diff --git a/Gopkg.lock b/Gopkg.lock index 98d6a1c52..cc4724f02 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -10,20 +10,20 @@ [[projects]] name = "cloud.google.com/go" packages = ["compute/metadata"] - revision = "a5913b3f7deecba45e98ff33cefbac4fd204ddd7" - version = "v0.10.0" + revision = "f6de2c509ed9d2af648c3c147207eaaf97149aed" + version = "v0.14.0" [[projects]] name = "github.com/Azure/azure-sdk-for-go" packages = ["storage"] - revision = "5b6066bbd213e47c49a5fa2be2b29529bbcb6704" - version = "v10.1.1-beta" + revision = "2592daf71ab6b95dcfc7f7437ecc1afb9ddb7360" + version = "v11.0.0-beta" [[projects]] name = "github.com/Azure/go-autorest" packages = ["autorest","autorest/adal","autorest/azure","autorest/date"] - revision = "10791a4516e77c53ab10f198f144804cca3d5b43" - version = "v8.1.0" + revision = "f6be1abbb5abd0517522f850dd785990d373da7e" + version = "v8.4.0" [[projects]] branch = "master" @@ -35,31 +35,31 @@ branch = "master" name = "github.com/VividCortex/ewma" packages = ["."] - revision = "4cc8cc5a2a44f01d31b303a7280e20e00a6eafdb" + revision = "43880d236f695d39c62cf7aa4ebd4508c258e6c0" [[projects]] branch = "master" name = "github.com/a8m/tree" packages = ["."] - revision = "fb478f41c87d959e328f2eac0c1b40f17a2f3e00" + revision = "4b871cd428eeab064e45ff2bf65054bb7eb10d6c" [[projects]] branch = "master" name = "github.com/aws/aws-sdk-go" packages = ["aws","aws/awserr","aws/awsutil","aws/client","aws/client/metadata","aws/corehandlers","aws/credentials","aws/credentials/ec2rolecreds","aws/credentials/endpointcreds","aws/credentials/stscreds","aws/defaults","aws/ec2metadata","aws/endpoints","aws/request","aws/session","aws/signer/v4","internal/shareddefaults","private/protocol","private/protocol/query","private/protocol/query/queryutil","private/protocol/rest","private/protocol/restxml","private/protocol/xml/xmlutil","service/s3","service/s3/s3iface","service/s3/s3manager","service/sts"] - revision = "bd544a64249f735bcf394ab0c4fa8bec9b31f221" + revision = "5a2026bfb28e86839f9fcc46523850319399006c" [[projects]] name = "github.com/billziss-gh/cgofuse" packages = ["fuse"] - revision = "35bcf037030dcadcd247618c75c00c6cd17482d7" - version = "v1.0.2" + revision = "3a24389863c5bf906de391226ee8c4ec2c925bfe" + version = "v1.0.3" [[projects]] name = "github.com/cpuguy83/go-md2man" packages = ["md2man"] - revision = "a65d4d2de4d5f7c74868dfa9b202a3c8be315aaa" - version = "v1.0.6" + revision = "1d903dcb749992f3741d744c0f8376b4bd7eb3e1" + version = "v1.0.7" [[projects]] name = "github.com/davecgh/go-spew" @@ -82,14 +82,14 @@ [[projects]] name = "github.com/go-ini/ini" packages = ["."] - revision = "d3de07a94d22b4a0972deb4b96d790c2c0ce8333" - version = "v1.28.0" + revision = "20b96f641a5ea98f2f8619ff4f3e061cff4833bd" + version = "v1.28.2" [[projects]] branch = "master" name = "github.com/golang/protobuf" packages = ["proto"] - revision = "0a4f71a498b7c4812f64969510bcb4eca251e33a" + revision = "130e6b02ab059e7b717a096f397c5b60111cae74" [[projects]] branch = "master" @@ -98,22 +98,21 @@ revision = "53e6ce116135b80d037921a7fdd5138cf32d7a8a" [[projects]] - branch = "master" name = "github.com/inconshreveable/mousetrap" packages = ["."] revision = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75" + version = "v1.0" [[projects]] branch = "master" name = "github.com/jlaffaye/ftp" packages = ["."] - revision = "769512c448b98e9efa243279a7e281248332aa98" + revision = "299b7ff5b6096588cceca2edc1fc9f557002fb85" [[projects]] name = "github.com/jmespath/go-jmespath" packages = ["."] - revision = "3433f3ea46d9f8019119e7dd41274e112a2359a9" - version = "0.2.2" + revision = "0b12d6b5" [[projects]] branch = "master" @@ -137,7 +136,7 @@ branch = "master" name = "github.com/ncw/swift" packages = ["."] - revision = "5068c3506cf003c630c94b92a64e978115394f26" + revision = "9d3f812e23d270d1c66a9a01e20af1005061cdc4" [[projects]] branch = "master" @@ -155,13 +154,13 @@ branch = "master" name = "github.com/pkg/errors" packages = ["."] - revision = "c605e284fe17294bda444b34710735b29d1a9d90" + revision = "2b3a18b5f0fb6b4f9190549597d3f962c02bc5eb" [[projects]] - branch = "master" name = "github.com/pkg/sftp" packages = ["."] - revision = "4f3e725e885c021085d2fb8a9cc26e30ea1a992f" + revision = "98203f5a8333288eb3163b7c667d4260fe1333e9" + version = "1.0.0" [[projects]] name = "github.com/pmezard/go-difflib" @@ -173,13 +172,13 @@ branch = "master" name = "github.com/rfjakob/eme" packages = ["."] - revision = "da627cc50b6fb2eb623eaffe91fb29d7eddfd06a" + revision = "7c8316a9cb0a6af865265f899f5de6aadb31a24b" [[projects]] name = "github.com/russross/blackfriday" packages = ["."] - revision = "0b647d0506a698cca42caca173e55559b12a69f2" - version = "v1.4" + revision = "4048872b16cc0fc2c5fd9eacf0ed2c2fedaa0c8c" + version = "v1.5" [[projects]] name = "github.com/satori/uuid" @@ -187,17 +186,11 @@ revision = "879c5887cd475cd7864858769793b2ceb0d44feb" version = "v1.1.0" -[[projects]] - branch = "master" - name = "github.com/shurcooL/sanitized_anchor_name" - packages = ["."] - revision = "541ff5ee47f1dddf6a5281af78307d921524bcb5" - [[projects]] name = "github.com/sirupsen/logrus" packages = ["."] - revision = "a3f95b5c423586578a4e099b11a46c2479628cac" - version = "1.0.2" + revision = "f006c2ac4710855cf0f916dd6b77acf6b048dc6e" + version = "v1.0.3" [[projects]] branch = "master" @@ -209,7 +202,7 @@ branch = "master" name = "github.com/spf13/cobra" packages = [".","doc"] - revision = "2df9a531813370438a4d79bfc33e21f58063ed87" + revision = "e5f66de850af3302fbe378c8acded2b0fa55472c" [[projects]] branch = "master" @@ -221,7 +214,7 @@ branch = "master" name = "github.com/stretchr/testify" packages = ["assert","require"] - revision = "05e8a0eda380579888eb53c394909df027f06991" + revision = "890a5c3458b43e6104ff5da8dfa139d013d77544" [[projects]] branch = "master" @@ -233,49 +226,49 @@ branch = "master" name = "github.com/yunify/qingstor-sdk-go" packages = [".","config","logger","request","request/builder","request/data","request/errors","request/signer","request/unpacker","service","utils"] - revision = "4749bc5ebe4857b353e55b49ebe91eed9a7f6cda" + revision = "088fbd27bd49adf215d02a05c36c5ac2d243d1f1" [[projects]] branch = "master" name = "golang.org/x/crypto" packages = ["curve25519","ed25519","ed25519/internal/edwards25519","nacl/secretbox","pbkdf2","poly1305","salsa20/salsa","scrypt","ssh","ssh/agent","ssh/terminal"] - revision = "6914964337150723782436d56b3f21610a74ce7b" + revision = "76eec36fa14229c4b25bb894c2d0e591527af429" [[projects]] branch = "master" name = "golang.org/x/net" packages = ["context","context/ctxhttp","html","html/atom"] - revision = "ab5485076ff3407ad2d02db054635913f017b0ed" + revision = "0a9397675ba34b2845f758fe3cd68828369c6517" [[projects]] branch = "master" name = "golang.org/x/oauth2" packages = [".","google","internal","jws","jwt"] - revision = "b53b38ad8a6435bd399ea76d0fa74f23149cca4e" + revision = "bb50c06baba3d0c76f9d125c0719093e315b5b44" [[projects]] branch = "master" name = "golang.org/x/sys" - packages = ["unix"] - revision = "02a66801d979d706a4b445e24e03916eeaa2a404" + packages = ["unix","windows"] + revision = "314a259e304ff91bd6985da2a7149bbf91237993" [[projects]] branch = "master" name = "golang.org/x/text" packages = ["internal/gen","internal/triegen","internal/ucd","transform","unicode/cldr","unicode/norm"] - revision = "836efe42bb4aa16aaa17b9c155d8813d336ed720" + revision = "1cbadb444a806fd9430d14ad08967ed91da4fa0a" [[projects]] branch = "master" name = "golang.org/x/time" packages = ["rate"] - revision = "8be79e1e0910c292df4e79c241bb7e8f7e725959" + revision = "6dc17368e09b0e8634d71cac8168d853e869a0c7" [[projects]] branch = "master" name = "google.golang.org/api" packages = ["drive/v2","gensupport","googleapi","googleapi/internal/uritemplates","storage/v1"] - revision = "295e4bb0ade057ae2cfb9876ab0b54635dbfcea4" + revision = "906273f42cdebd65de3a53f30dd9e23de1b55ba9" [[projects]] name = "google.golang.org/appengine" @@ -287,7 +280,7 @@ branch = "v2" name = "gopkg.in/yaml.v2" packages = ["."] - revision = "25c4ec802a7d637f88d584ab26798e94ad14c13b" + revision = "eb3733d160e74a9c7e442f435eb3bea458e1d19f" [solve-meta] analyzer-name = "dep" diff --git a/vendor/cloud.google.com/go/MIGRATION.md b/vendor/cloud.google.com/go/MIGRATION.md new file mode 100644 index 000000000..791210de1 --- /dev/null +++ b/vendor/cloud.google.com/go/MIGRATION.md @@ -0,0 +1,54 @@ +# Code Changes + +## v0.10.0 + +- pubsub: Replace + + ``` + sub.ModifyPushConfig(ctx, pubsub.PushConfig{Endpoint: "https://example.com/push"}) + ``` + + with + + ``` + sub.Update(ctx, pubsub.SubscriptionConfigToUpdate{ + PushConfig: &pubsub.PushConfig{Endpoint: "https://example.com/push"}, + }) + ``` + +- trace: traceGRPCServerInterceptor will be provided from *trace.Client. +Given an initialized `*trace.Client` named `tc`, instead of + + ``` + s := grpc.NewServer(grpc.UnaryInterceptor(trace.GRPCServerInterceptor(tc))) + ``` + + write + + ``` + s := grpc.NewServer(grpc.UnaryInterceptor(tc.GRPCServerInterceptor())) + ``` + +- trace trace.GRPCClientInterceptor will also provided from *trace.Client. +Instead of + + ``` + conn, err := grpc.Dial(srv.Addr, grpc.WithUnaryInterceptor(trace.GRPCClientInterceptor())) + ``` + + write + + ``` + conn, err := grpc.Dial(srv.Addr, grpc.WithUnaryInterceptor(tc.GRPCClientInterceptor())) + ``` + +- trace: We removed the deprecated `trace.EnableGRPCTracing`. Use the gRPC +interceptor as a dial option as shown below when initializing Cloud package +clients: + + ``` + c, err := pubsub.NewClient(ctx, "project-id", option.WithGRPCDialOption(grpc.WithUnaryInterceptor(tc.GRPCClientInterceptor()))) + if err != nil { + ... + } + ``` diff --git a/vendor/cloud.google.com/go/README.md b/vendor/cloud.google.com/go/README.md index adc54a23d..4927e83f8 100644 --- a/vendor/cloud.google.com/go/README.md +++ b/vendor/cloud.google.com/go/README.md @@ -33,21 +33,110 @@ make backwards-incompatible changes. ## News -_March 17, 2017_ +_September 28, 2017_ -Breaking Pubsub changes. -* Publish is now asynchronous -([announcement](https://groups.google.com/d/topic/google-api-go-announce/aaqRDIQ3rvU/discussion)). -* Subscription.Pull replaced by Subscription.Receive, which takes a callback ([announcement](https://groups.google.com/d/topic/google-api-go-announce/8pt6oetAdKc/discussion)). -* Message.Done replaced with Message.Ack and Message.Nack. +*v0.14.0* -_February 14, 2017_ +- bigquery BREAKING CHANGES: + - Standard SQL is the default for queries and views. + - `Table.Create` takes `TableMetadata` as a second argument, instead of + options. + - `Dataset.Create` takes `DatasetMetadata` as a second argument. + - `DatasetMetadata` field `ID` renamed to `FullID` + - `TableMetadata` field `ID` renamed to `FullID` -Release of a client library for Spanner. See -the -[blog post](https://cloudplatform.googleblog.com/2017/02/introducing-Cloud-Spanner-a-global-database-service-for-mission-critical-applications.html). +- Other bigquery changes: + - The client will append a random suffix to a provided job ID if you set + `AddJobIDSuffix` to true in a job config. + - Listing jobs is supported. + - Better retry logic. -Note that although the Spanner service is beta, the Go client library is alpha. +- vision, language, speech: clients are now stable + +- monitoring: client is now beta + +- profiler: + - Rename InstanceName to Instance, ZoneName to Zone + - Auto-detect service name and version on AppEngine. + +_September 8, 2017_ + +*v0.13.0* + +- bigquery: UseLegacySQL options for CreateTable and QueryConfig. Use these + options to continue using Legacy SQL after the client switches its default + to Standard SQL. + +- bigquery: Support for updating dataset labels. + +- bigquery: Set DatasetIterator.ProjectID to list datasets in a project other + than the client's. DatasetsInProject is no longer needed and is deprecated. + +- bigtable: Fail ListInstances when any zones fail. + +- spanner: support decoding of slices of basic types (e.g. []string, []int64, + etc.) + +- logging/logadmin: UpdateSink no longer creates a sink if it is missing + (actually a change to the underlying service, not the client) + +- profiler: Service and ServiceVersion replace Target in Config. + +_August 22, 2017_ + +*v0.12.0* + +- pubsub: Subscription.Receive now uses streaming pull. + +- pubsub: add Client.TopicInProject to access topics in a different project + than the client. + +- errors: renamed errorreporting. The errors package will be removed shortly. + +- datastore: improved retry behavior. + +- bigquery: support updates to dataset metadata, with etags. + +- bigquery: add etag support to Table.Update (BREAKING: etag argument added). + +- bigquery: generate all job IDs on the client. + +- storage: support bucket lifecycle configurations. + + +_July 31, 2017_ + +*v0.11.0* + +- Clients for spanner, pubsub and video are now in beta. + +- New client for DLP. + +- spanner: performance and testing improvements. + +- storage: requester-pays buckets are supported. + +- storage, profiler, bigtable, bigquery: bug fixes and other minor improvements. + +- pubsub: bug fixes and other minor improvements + +_June 17, 2017_ + + +*v0.10.0* + +- pubsub: Subscription.ModifyPushConfig replaced with Subscription.Update. + +- pubsub: Subscription.Receive now runs concurrently for higher throughput. + +- vision: cloud.google.com/go/vision is deprecated. Use +cloud.google.com/go/vision/apiv1 instead. + +- translation: now stable. + +- trace: several changes to the surface. See the link below. + +[Code changes required from v0.9.0.](https://github.com/GoogleCloudPlatform/google-cloud-go/blob/master/MIGRATION.md) [Older news](https://github.com/GoogleCloudPlatform/google-cloud-go/blob/master/old-news.md) @@ -61,16 +150,16 @@ Google API | Status | Package [Bigtable][cloud-bigtable] | beta | [`cloud.google.com/go/bigtable`][cloud-bigtable-ref] [BigQuery][cloud-bigquery] | beta | [`cloud.google.com/go/bigquery`][cloud-bigquery-ref] [Logging][cloud-logging] | stable | [`cloud.google.com/go/logging`][cloud-logging-ref] -[Monitoring][cloud-monitoring] | alpha | [`cloud.google.com/go/monitoring/apiv3`][cloud-monitoring-ref] -[Pub/Sub][cloud-pubsub] | alpha | [`cloud.google.com/go/pubsub`][cloud-pubsub-ref] -[Vision][cloud-vision] | beta | [`cloud.google.com/go/vision/apiv1`][cloud-vision-ref] -[Language][cloud-language] | beta | [`cloud.google.com/go/language/apiv1`][cloud-language-ref] -[Speech][cloud-speech] | beta | [`cloud.google.com/go/speech/apiv1`][cloud-speech-ref] -[Spanner][cloud-spanner] | alpha | [`cloud.google.com/go/spanner`][cloud-spanner-ref] +[Monitoring][cloud-monitoring] | beta | [`cloud.google.com/go/monitoring/apiv3`][cloud-monitoring-ref] +[Pub/Sub][cloud-pubsub] | beta | [`cloud.google.com/go/pubsub`][cloud-pubsub-ref] +[Vision][cloud-vision] | stable | [`cloud.google.com/go/vision/apiv1`][cloud-vision-ref] +[Language][cloud-language] | stable | [`cloud.google.com/go/language/apiv1`][cloud-language-ref] +[Speech][cloud-speech] | stable | [`cloud.google.com/go/speech/apiv1`][cloud-speech-ref] +[Spanner][cloud-spanner] | beta | [`cloud.google.com/go/spanner`][cloud-spanner-ref] [Translation][cloud-translation] | stable | [`cloud.google.com/go/translate`][cloud-translation-ref] [Trace][cloud-trace] | alpha | [`cloud.google.com/go/trace`][cloud-trace-ref] -[Video Intelligence][cloud-video]| alpha | [`cloud.google.com/go/videointelligence/apiv1beta1`][cloud-video-ref] -[ErrorReporting][cloud-errors] | alpha | [`cloud.google.com/go/errors`][cloud-errors-ref] +[Video Intelligence][cloud-video]| beta | [`cloud.google.com/go/videointelligence/apiv1beta1`][cloud-video-ref] +[ErrorReporting][cloud-errors] | alpha | [`cloud.google.com/go/errorreporting`][cloud-errors-ref] > **Alpha status**: the API is still being actively developed. As a @@ -437,6 +526,6 @@ for more information. [cloud-video-ref]: https://godoc.org/cloud.google.com/go/videointelligence/apiv1beta1 [cloud-errors]: https://cloud.google.com/error-reporting/ -[cloud-errors-ref]: https://godoc.org/cloud.google.com/go/errors +[cloud-errors-ref]: https://godoc.org/cloud.google.com/go/errorreporting [default-creds]: https://developers.google.com/identity/protocols/application-default-credentials diff --git a/vendor/cloud.google.com/go/bigquery/bigquery.go b/vendor/cloud.google.com/go/bigquery/bigquery.go index 6eb3fc7a4..a33127b83 100644 --- a/vendor/cloud.google.com/go/bigquery/bigquery.go +++ b/vendor/cloud.google.com/go/bigquery/bigquery.go @@ -20,7 +20,7 @@ import ( "fmt" "google.golang.org/api/option" - "google.golang.org/api/transport" + htransport "google.golang.org/api/transport/http" "golang.org/x/net/context" bq "google.golang.org/api/bigquery/v2" @@ -51,7 +51,7 @@ func NewClient(ctx context.Context, projectID string, opts ...option.ClientOptio option.WithUserAgent(userAgent), } o = append(o, opts...) - httpClient, endpoint, err := transport.NewHTTPClient(ctx, o...) + httpClient, endpoint, err := htransport.NewClient(ctx, o...) if err != nil { return nil, fmt.Errorf("dialing: %v", err) } diff --git a/vendor/cloud.google.com/go/bigquery/copy.go b/vendor/cloud.google.com/go/bigquery/copy.go index 726999f69..b0de61b7f 100644 --- a/vendor/cloud.google.com/go/bigquery/copy.go +++ b/vendor/cloud.google.com/go/bigquery/copy.go @@ -21,9 +21,12 @@ import ( // CopyConfig holds the configuration for a copy job. type CopyConfig struct { - // JobID is the ID to use for the copy job. If unset, a job ID will be automatically created. + // JobID is the ID to use for the job. If empty, a random job ID will be generated. JobID string + // If AddJobIDSuffix is true, then a random string will be appended to JobID. + AddJobIDSuffix bool + // Srcs are the tables from which data will be copied. Srcs []*Table @@ -68,7 +71,9 @@ func (c *Copier) Run(ctx context.Context) (*Job, error) { for _, t := range c.Srcs { conf.SourceTables = append(conf.SourceTables, t.tableRefProto()) } - job := &bq.Job{Configuration: &bq.JobConfiguration{Copy: conf}} - setJobRef(job, c.JobID, c.c.projectID) + job := &bq.Job{ + JobReference: createJobRef(c.JobID, c.AddJobIDSuffix, c.c.projectID), + Configuration: &bq.JobConfiguration{Copy: conf}, + } return c.c.insertJob(ctx, &insertJobConf{job: job}) } diff --git a/vendor/cloud.google.com/go/bigquery/copy_test.go b/vendor/cloud.google.com/go/bigquery/copy_test.go index f55ce28aa..3ba4192c0 100644 --- a/vendor/cloud.google.com/go/bigquery/copy_test.go +++ b/vendor/cloud.google.com/go/bigquery/copy_test.go @@ -15,7 +15,6 @@ package bigquery import ( - "reflect" "testing" "golang.org/x/net/context" @@ -24,6 +23,7 @@ import ( func defaultCopyJob() *bq.Job { return &bq.Job{ + JobReference: &bq.JobReference{JobId: "RANDOM", ProjectId: "client-project-id"}, Configuration: &bq.JobConfiguration{ Copy: &bq.JobConfigurationTableCopy{ DestinationTable: &bq.TableReference{ @@ -44,6 +44,7 @@ func defaultCopyJob() *bq.Job { } func TestCopy(t *testing.T) { + defer fixRandomJobID("RANDOM")() testCases := []struct { dst *Table srcs []*Table @@ -105,16 +106,13 @@ func TestCopy(t *testing.T) { config: CopyConfig{JobID: "job-id"}, want: func() *bq.Job { j := defaultCopyJob() - j.JobReference = &bq.JobReference{ - JobId: "job-id", - ProjectId: "client-project-id", - } + j.JobReference.JobId = "job-id" return j }(), }, } - for _, tc := range testCases { + for i, tc := range testCases { s := &testService{} c := &Client{ service: s, @@ -126,11 +124,9 @@ func TestCopy(t *testing.T) { tc.config.Dst = tc.dst copier.CopyConfig = tc.config if _, err := copier.Run(context.Background()); err != nil { - t.Errorf("err calling Run: %v", err) + t.Errorf("#%d: err calling Run: %v", i, err) continue } - if !reflect.DeepEqual(s.Job, tc.want) { - t.Errorf("copying: got:\n%v\nwant:\n%v", s.Job, tc.want) - } + checkJob(t, i, s.Job, tc.want) } } diff --git a/vendor/cloud.google.com/go/bigquery/create_table_test.go b/vendor/cloud.google.com/go/bigquery/create_table_test.go deleted file mode 100644 index 2a7d9d10f..000000000 --- a/vendor/cloud.google.com/go/bigquery/create_table_test.go +++ /dev/null @@ -1,103 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package bigquery - -import ( - "reflect" - "testing" - "time" - - "golang.org/x/net/context" - bq "google.golang.org/api/bigquery/v2" -) - -type createTableRecorder struct { - conf *createTableConf - service -} - -func (rec *createTableRecorder) createTable(ctx context.Context, conf *createTableConf) error { - rec.conf = conf - return nil -} - -func TestCreateTableOptions(t *testing.T) { - s := &createTableRecorder{} - c := &Client{ - projectID: "p", - service: s, - } - ds := c.Dataset("d") - table := ds.Table("t") - exp := time.Now() - q := "query" - if err := table.Create(context.Background(), TableExpiration(exp), ViewQuery(q), UseStandardSQL()); err != nil { - t.Fatalf("err calling Table.Create: %v", err) - } - want := createTableConf{ - projectID: "p", - datasetID: "d", - tableID: "t", - expiration: exp, - viewQuery: q, - useStandardSQL: true, - } - if !reflect.DeepEqual(*s.conf, want) { - t.Errorf("createTableConf: got:\n%v\nwant:\n%v", *s.conf, want) - } - - sc := Schema{fieldSchema("desc", "name", "STRING", false, true)} - if err := table.Create(context.Background(), TableExpiration(exp), sc); err != nil { - t.Fatalf("err calling Table.Create: %v", err) - } - want = createTableConf{ - projectID: "p", - datasetID: "d", - tableID: "t", - expiration: exp, - // No need for an elaborate schema, that is tested in schema_test.go. - schema: &bq.TableSchema{ - Fields: []*bq.TableFieldSchema{ - bqTableFieldSchema("desc", "name", "STRING", "REQUIRED"), - }, - }, - } - if !reflect.DeepEqual(*s.conf, want) { - t.Errorf("createTableConf: got:\n%v\nwant:\n%v", *s.conf, want) - } - - partitionCases := []struct { - timePartitioning TimePartitioning - expectedExpiration time.Duration - }{ - {TimePartitioning{}, time.Duration(0)}, - {TimePartitioning{time.Second}, time.Second}, - } - - for _, c := range partitionCases { - if err := table.Create(context.Background(), c.timePartitioning); err != nil { - t.Fatalf("err calling Table.Create: %v", err) - } - want = createTableConf{ - projectID: "p", - datasetID: "d", - tableID: "t", - timePartitioning: &TimePartitioning{c.expectedExpiration}, - } - if !reflect.DeepEqual(*s.conf, want) { - t.Errorf("createTableConf: got:\n%v\nwant:\n%v", *s.conf, want) - } - } -} diff --git a/vendor/cloud.google.com/go/bigquery/dataset.go b/vendor/cloud.google.com/go/bigquery/dataset.go index 80eacf659..843595ab2 100644 --- a/vendor/cloud.google.com/go/bigquery/dataset.go +++ b/vendor/cloud.google.com/go/bigquery/dataset.go @@ -17,6 +17,8 @@ package bigquery import ( "time" + "cloud.google.com/go/internal/optional" + "golang.org/x/net/context" "google.golang.org/api/iterator" ) @@ -28,18 +30,57 @@ type Dataset struct { c *Client } +// DatasetMetadata contains information about a BigQuery dataset. type DatasetMetadata struct { - CreationTime time.Time - LastModifiedTime time.Time // When the dataset or any of its tables were modified. - DefaultTableExpiration time.Duration - Description string // The user-friendly description of this table. - Name string // The user-friendly name for this table. - ID string + // These fields can be set when creating a dataset. + Name string // The user-friendly name for this dataset. + Description string // The user-friendly description of this dataset. Location string // The geo location of the dataset. + DefaultTableExpiration time.Duration // The default expiration time for new tables. Labels map[string]string // User-provided labels. + + // These fields are read-only. + CreationTime time.Time + LastModifiedTime time.Time // When the dataset or any of its tables were modified. + FullID string // The full dataset ID in the form projectID:datasetID. + + // ETag is the ETag obtained when reading metadata. Pass it to Dataset.Update to + // ensure that the metadata hasn't changed since it was read. + ETag string // TODO(jba): access rules } +// DatasetMetadataToUpdate is used when updating a dataset's metadata. +// Only non-nil fields will be updated. +type DatasetMetadataToUpdate struct { + Description optional.String // The user-friendly description of this table. + Name optional.String // The user-friendly name for this dataset. + // DefaultTableExpiration is the the default expiration time for new tables. + // If set to time.Duration(0), new tables never expire. + DefaultTableExpiration optional.Duration + + setLabels map[string]string + deleteLabels map[string]bool +} + +// SetLabel causes a label to be added or modified when dm is used +// in a call to Dataset.Update. +func (dm *DatasetMetadataToUpdate) SetLabel(name, value string) { + if dm.setLabels == nil { + dm.setLabels = map[string]string{} + } + dm.setLabels[name] = value +} + +// DeleteLabel causes a label to be deleted when dm is used in a +// call to Dataset.Update. +func (dm *DatasetMetadataToUpdate) DeleteLabel(name string) { + if dm.deleteLabels == nil { + dm.deleteLabels = map[string]bool{} + } + dm.deleteLabels[name] = true +} + // Dataset creates a handle to a BigQuery dataset in the client's project. func (c *Client) Dataset(id string) *Dataset { return c.DatasetInProject(c.projectID, id) @@ -54,10 +95,10 @@ func (c *Client) DatasetInProject(projectID, datasetID string) *Dataset { } } -// Create creates a dataset in the BigQuery service. An error will be returned -// if the dataset already exists. -func (d *Dataset) Create(ctx context.Context) error { - return d.c.service.insertDataset(ctx, d.DatasetID, d.ProjectID) +// Create creates a dataset in the BigQuery service. An error will be returned if the +// dataset already exists. Pass in a DatasetMetadata value to configure the dataset. +func (d *Dataset) Create(ctx context.Context, md *DatasetMetadata) error { + return d.c.service.insertDataset(ctx, d.DatasetID, d.ProjectID, md) } // Delete deletes the dataset. @@ -70,6 +111,14 @@ func (d *Dataset) Metadata(ctx context.Context) (*DatasetMetadata, error) { return d.c.service.getDatasetMetadata(ctx, d.ProjectID, d.DatasetID) } +// Update modifies specific Dataset metadata fields. +// To perform a read-modify-write that protects against intervening reads, +// set the etag argument to the DatasetMetadata.ETag field from the read. +// Pass the empty string for etag for a "blind write" that will always succeed. +func (d *Dataset) Update(ctx context.Context, dm DatasetMetadataToUpdate, etag string) (*DatasetMetadata, error) { + return d.c.service.patchDataset(ctx, d.ProjectID, d.DatasetID, &dm, etag) +} + // Table creates a handle to a BigQuery table in the dataset. // To determine if a table exists, call Table.Metadata. // If the table does not already exist, use Table.Create to create it. @@ -126,17 +175,21 @@ func (it *TableIterator) fetch(pageSize int, pageToken string) (string, error) { return tok, nil } -// Datasets returns an iterator over the datasets in the Client's project. +// Datasets returns an iterator over the datasets in a project. +// The Client's project is used by default, but that can be +// changed by setting ProjectID on the returned iterator before calling Next. func (c *Client) Datasets(ctx context.Context) *DatasetIterator { return c.DatasetsInProject(ctx, c.projectID) } // DatasetsInProject returns an iterator over the datasets in the provided project. +// +// Deprecated: call Client.Datasets, then set ProjectID on the returned iterator. func (c *Client) DatasetsInProject(ctx context.Context, projectID string) *DatasetIterator { it := &DatasetIterator{ ctx: ctx, c: c, - projectID: projectID, + ProjectID: projectID, } it.pageInfo, it.nextFunc = iterator.NewPageInfo( it.fetch, @@ -148,18 +201,23 @@ func (c *Client) DatasetsInProject(ctx context.Context, projectID string) *Datas // DatasetIterator iterates over the datasets in a project. type DatasetIterator struct { // ListHidden causes hidden datasets to be listed when set to true. + // Set before the first call to Next. ListHidden bool // Filter restricts the datasets returned by label. The filter syntax is described in // https://cloud.google.com/bigquery/docs/labeling-datasets#filtering_datasets_using_labels + // Set before the first call to Next. Filter string - ctx context.Context - projectID string - c *Client - pageInfo *iterator.PageInfo - nextFunc func() error - items []*Dataset + // The project ID of the listed datasets. + // Set before the first call to Next. + ProjectID string + + ctx context.Context + c *Client + pageInfo *iterator.PageInfo + nextFunc func() error + items []*Dataset } // PageInfo supports pagination. See the google.golang.org/api/iterator package for details. @@ -175,7 +233,7 @@ func (it *DatasetIterator) Next() (*Dataset, error) { } func (it *DatasetIterator) fetch(pageSize int, pageToken string) (string, error) { - datasets, nextPageToken, err := it.c.service.listDatasets(it.ctx, it.projectID, + datasets, nextPageToken, err := it.c.service.listDatasets(it.ctx, it.ProjectID, pageSize, pageToken, it.ListHidden, it.Filter) if err != nil { return "", err diff --git a/vendor/cloud.google.com/go/bigquery/error_test.go b/vendor/cloud.google.com/go/bigquery/error_test.go index c0f40bae6..9a518784d 100644 --- a/vendor/cloud.google.com/go/bigquery/error_test.go +++ b/vendor/cloud.google.com/go/bigquery/error_test.go @@ -16,10 +16,11 @@ package bigquery import ( "errors" - "reflect" "strings" "testing" + "cloud.google.com/go/internal/testutil" + bq "google.golang.org/api/bigquery/v2" ) @@ -94,7 +95,7 @@ func TestErrorFromErrorProto(t *testing.T) { want: &Error{Location: "L", Message: "M", Reason: "R"}, }, } { - if got := errorFromErrorProto(test.in); !reflect.DeepEqual(got, test.want) { + if got := errorFromErrorProto(test.in); !testutil.Equal(got, test.want) { t.Errorf("%v: got %v, want %v", test.in, got, test.want) } } diff --git a/vendor/cloud.google.com/go/bigquery/examples_test.go b/vendor/cloud.google.com/go/bigquery/examples_test.go index 5ceafff71..81cd76c21 100644 --- a/vendor/cloud.google.com/go/bigquery/examples_test.go +++ b/vendor/cloud.google.com/go/bigquery/examples_test.go @@ -17,6 +17,7 @@ package bigquery_test import ( "fmt" "os" + "time" "cloud.google.com/go/bigquery" "golang.org/x/net/context" @@ -233,7 +234,8 @@ func ExampleDataset_Create() { if err != nil { // TODO: Handle error. } - if err := client.Dataset("my_dataset").Create(ctx); err != nil { + ds := client.Dataset("my_dataset") + if err := ds.Create(ctx, &bigquery.DatasetMetadata{Location: "EU"}); err != nil { // TODO: Handle error. } } @@ -262,6 +264,44 @@ func ExampleDataset_Metadata() { fmt.Println(md) } +// This example illustrates how to perform a read-modify-write sequence on dataset +// metadata. Passing the metadata's ETag to the Update call ensures that the call +// will fail if the metadata was changed since the read. +func ExampleDataset_Update_readModifyWrite() { + ctx := context.Background() + client, err := bigquery.NewClient(ctx, "project-id") + if err != nil { + // TODO: Handle error. + } + ds := client.Dataset("my_dataset") + md, err := ds.Metadata(ctx) + if err != nil { + // TODO: Handle error. + } + md2, err := ds.Update(ctx, + bigquery.DatasetMetadataToUpdate{Name: "new " + md.Name}, + md.ETag) + if err != nil { + // TODO: Handle error. + } + fmt.Println(md2) +} + +// To perform a blind write, ignoring the existing state (and possibly overwriting +// other updates), pass the empty string as the etag. +func ExampleDataset_Update_blindWrite() { + ctx := context.Background() + client, err := bigquery.NewClient(ctx, "project-id") + if err != nil { + // TODO: Handle error. + } + md, err := client.Dataset("my_dataset").Update(ctx, bigquery.DatasetMetadataToUpdate{Name: "blind"}, "") + if err != nil { + // TODO: Handle error. + } + fmt.Println(md) +} + func ExampleDataset_Table() { ctx := context.Background() client, err := bigquery.NewClient(ctx, "project-id") @@ -351,12 +391,13 @@ func ExampleTable_Create() { // TODO: Handle error. } t := client.Dataset("my_dataset").Table("new-table") - if err := t.Create(ctx); err != nil { + if err := t.Create(ctx, nil); err != nil { // TODO: Handle error. } } -func ExampleTable_Create_schema() { +// Initialize a new table by passing TableMetadata to Table.Create. +func ExampleTable_Create_initialize() { ctx := context.Background() // Infer table schema from a Go type. schema, err := bigquery.InferSchema(Item{}) @@ -368,7 +409,12 @@ func ExampleTable_Create_schema() { // TODO: Handle error. } t := client.Dataset("my_dataset").Table("new-table") - if err := t.Create(ctx, schema); err != nil { + if err := t.Create(ctx, + &bigquery.TableMetadata{ + Name: "My New Table", + Schema: schema, + ExpirationTime: time.Now().Add(24 * time.Hour), + }); err != nil { // TODO: Handle error. } } @@ -476,6 +522,8 @@ func ExampleTable_LoaderFrom() { } gcsRef := bigquery.NewGCSReference("gs://my-bucket/my-object") gcsRef.AllowJaggedRows = true + gcsRef.MaxBadRecords = 5 + gcsRef.Schema = schema // TODO: set other options on the GCSReference. ds := client.Dataset("my_dataset") loader := ds.Table("my_table").LoaderFrom(gcsRef) @@ -506,6 +554,8 @@ func ExampleTable_LoaderFrom_reader() { } rs := bigquery.NewReaderSource(f) rs.AllowJaggedRows = true + rs.MaxBadRecords = 5 + rs.Schema = schema // TODO: set other options on the GCSReference. ds := client.Dataset("my_dataset") loader := ds.Table("my_table").LoaderFrom(rs) @@ -534,7 +584,32 @@ func ExampleTable_Read() { _ = it // TODO: iterate using Next or iterator.Pager. } -func ExampleTable_Update() { +// This example illustrates how to perform a read-modify-write sequence on table +// metadata. Passing the metadata's ETag to the Update call ensures that the call +// will fail if the metadata was changed since the read. +func ExampleTable_Update_readModifyWrite() { + ctx := context.Background() + client, err := bigquery.NewClient(ctx, "project-id") + if err != nil { + // TODO: Handle error. + } + t := client.Dataset("my_dataset").Table("my_table") + md, err := t.Metadata(ctx) + if err != nil { + // TODO: Handle error. + } + md2, err := t.Update(ctx, + bigquery.TableMetadataToUpdate{Name: "new " + md.Name}, + md.ETag) + if err != nil { + // TODO: Handle error. + } + fmt.Println(md2) +} + +// To perform a blind write, ignoring the existing state (and possibly overwriting +// other updates), pass the empty string as the etag. +func ExampleTable_Update_blindWrite() { ctx := context.Background() client, err := bigquery.NewClient(ctx, "project-id") if err != nil { @@ -543,7 +618,7 @@ func ExampleTable_Update() { t := client.Dataset("my_dataset").Table("my_table") tm, err := t.Update(ctx, bigquery.TableMetadataToUpdate{ Description: "my favorite table", - }) + }, "") if err != nil { // TODO: Handle error. } diff --git a/vendor/cloud.google.com/go/bigquery/extract.go b/vendor/cloud.google.com/go/bigquery/extract.go index d4086396b..87dc96317 100644 --- a/vendor/cloud.google.com/go/bigquery/extract.go +++ b/vendor/cloud.google.com/go/bigquery/extract.go @@ -21,9 +21,12 @@ import ( // ExtractConfig holds the configuration for an extract job. type ExtractConfig struct { - // JobID is the ID to use for the extract job. If empty, a job ID will be automatically created. + // JobID is the ID to use for the job. If empty, a random job ID will be generated. JobID string + // If AddJobIDSuffix is true, then a random string will be appended to JobID. + AddJobIDSuffix bool + // Src is the table from which data will be extracted. Src *Table @@ -55,22 +58,23 @@ func (t *Table) ExtractorTo(dst *GCSReference) *Extractor { // Run initiates an extract job. func (e *Extractor) Run(ctx context.Context) (*Job, error) { - conf := &bq.JobConfigurationExtract{} - job := &bq.Job{Configuration: &bq.JobConfiguration{Extract: conf}} - - setJobRef(job, e.JobID, e.c.projectID) - - conf.DestinationUris = append([]string{}, e.Dst.uris...) - conf.Compression = string(e.Dst.Compression) - conf.DestinationFormat = string(e.Dst.DestinationFormat) - conf.FieldDelimiter = e.Dst.FieldDelimiter - - conf.SourceTable = e.Src.tableRefProto() - + var printHeader *bool if e.DisableHeader { f := false - conf.PrintHeader = &f + printHeader = &f + } + job := &bq.Job{ + JobReference: createJobRef(e.JobID, e.AddJobIDSuffix, e.c.projectID), + Configuration: &bq.JobConfiguration{ + Extract: &bq.JobConfigurationExtract{ + DestinationUris: append([]string{}, e.Dst.uris...), + Compression: string(e.Dst.Compression), + DestinationFormat: string(e.Dst.DestinationFormat), + FieldDelimiter: e.Dst.FieldDelimiter, + SourceTable: e.Src.tableRefProto(), + PrintHeader: printHeader, + }, + }, } - return e.c.insertJob(ctx, &insertJobConf{job: job}) } diff --git a/vendor/cloud.google.com/go/bigquery/extract_test.go b/vendor/cloud.google.com/go/bigquery/extract_test.go index 8079b1829..696a258d9 100644 --- a/vendor/cloud.google.com/go/bigquery/extract_test.go +++ b/vendor/cloud.google.com/go/bigquery/extract_test.go @@ -15,7 +15,6 @@ package bigquery import ( - "reflect" "testing" "golang.org/x/net/context" @@ -25,10 +24,11 @@ import ( func defaultExtractJob() *bq.Job { return &bq.Job{ + JobReference: &bq.JobReference{JobId: "RANDOM", ProjectId: "client-project-id"}, Configuration: &bq.JobConfiguration{ Extract: &bq.JobConfigurationExtract{ SourceTable: &bq.TableReference{ - ProjectId: "project-id", + ProjectId: "client-project-id", DatasetId: "dataset-id", TableId: "table-id", }, @@ -39,10 +39,11 @@ func defaultExtractJob() *bq.Job { } func TestExtract(t *testing.T) { + defer fixRandomJobID("RANDOM")() s := &testService{} c := &Client{ service: s, - projectID: "project-id", + projectID: "client-project-id", } testCases := []struct { @@ -86,17 +87,15 @@ func TestExtract(t *testing.T) { }, } - for _, tc := range testCases { + for i, tc := range testCases { ext := tc.src.ExtractorTo(tc.dst) tc.config.Src = ext.Src tc.config.Dst = ext.Dst ext.ExtractConfig = tc.config if _, err := ext.Run(context.Background()); err != nil { - t.Errorf("err calling extract: %v", err) + t.Errorf("#%d: err calling extract: %v", i, err) continue } - if !reflect.DeepEqual(s.Job, tc.want) { - t.Errorf("extracting: got:\n%v\nwant:\n%v", s.Job, tc.want) - } + checkJob(t, i, s.Job, tc.want) } } diff --git a/vendor/cloud.google.com/go/bigquery/file_test.go b/vendor/cloud.google.com/go/bigquery/file_test.go index eb13303ae..6844953a2 100644 --- a/vendor/cloud.google.com/go/bigquery/file_test.go +++ b/vendor/cloud.google.com/go/bigquery/file_test.go @@ -15,10 +15,10 @@ package bigquery import ( - "reflect" "testing" "cloud.google.com/go/internal/pretty" + "cloud.google.com/go/internal/testutil" bq "google.golang.org/api/bigquery/v2" ) @@ -84,7 +84,7 @@ func TestPopulateLoadConfig(t *testing.T) { } got := &bq.JobConfigurationLoad{} fc.populateLoadConfig(got) - if !reflect.DeepEqual(got, want) { + if !testutil.Equal(got, want) { t.Errorf("got:\n%v\nwant:\n%v", pretty.Value(got), pretty.Value(want)) } } diff --git a/vendor/cloud.google.com/go/bigquery/integration_test.go b/vendor/cloud.google.com/go/bigquery/integration_test.go index 491515281..876eb4c03 100644 --- a/vendor/cloud.google.com/go/bigquery/integration_test.go +++ b/vendor/cloud.google.com/go/bigquery/integration_test.go @@ -21,7 +21,6 @@ import ( "log" "net/http" "os" - "reflect" "sort" "strings" "testing" @@ -44,9 +43,13 @@ var ( dataset *Dataset schema = Schema{ {Name: "name", Type: StringFieldType}, - {Name: "num", Type: IntegerFieldType}, + {Name: "nums", Type: IntegerFieldType, Repeated: true}, + {Name: "rec", Type: RecordFieldType, Schema: Schema{ + {Name: "bool", Type: BooleanFieldType}, + }}, } testTableExpiration time.Time + datasetIDs = testutil.NewUIDSpace("dataset") ) func TestMain(m *testing.M) { @@ -80,13 +83,13 @@ func initIntegrationTest() { log.Fatalf("NewClient: %v", err) } dataset = client.Dataset("bigquery_integration_test") - if err := dataset.Create(ctx); err != nil && !hasStatusCode(err, http.StatusConflict) { // AlreadyExists is 409 + if err := dataset.Create(ctx, nil); err != nil && !hasStatusCode(err, http.StatusConflict) { // AlreadyExists is 409 log.Fatalf("creating dataset: %v", err) } testTableExpiration = time.Now().Add(10 * time.Minute).Round(time.Second) } -func TestIntegration_Create(t *testing.T) { +func TestIntegration_TableCreate(t *testing.T) { // Check that creating a record field with an empty schema is an error. if client == nil { t.Skip("Integration tests skipped") @@ -95,7 +98,10 @@ func TestIntegration_Create(t *testing.T) { schema := Schema{ {Name: "rec", Type: RecordFieldType, Schema: Schema{}}, } - err := table.Create(context.Background(), schema, TableExpiration(time.Now().Add(5*time.Minute))) + err := table.Create(context.Background(), &TableMetadata{ + Schema: schema, + ExpirationTime: time.Now().Add(5 * time.Minute), + }) if err == nil { t.Fatal("want error, got nil") } @@ -104,7 +110,7 @@ func TestIntegration_Create(t *testing.T) { } } -func TestIntegration_CreateView(t *testing.T) { +func TestIntegration_TableCreateView(t *testing.T) { if client == nil { t.Skip("Integration tests skipped") } @@ -114,8 +120,12 @@ func TestIntegration_CreateView(t *testing.T) { // Test that standard SQL views work. view := dataset.Table("t_view_standardsql") - query := ViewQuery(fmt.Sprintf("SELECT APPROX_COUNT_DISTINCT(name) FROM `%s.%s.%s`", dataset.ProjectID, dataset.DatasetID, table.TableID)) - err := view.Create(context.Background(), UseStandardSQL(), query) + query := fmt.Sprintf("SELECT APPROX_COUNT_DISTINCT(name) FROM `%s.%s.%s`", + dataset.ProjectID, dataset.DatasetID, table.TableID) + err := view.Create(context.Background(), &TableMetadata{ + ViewQuery: query, + UseStandardSQL: true, + }) if err != nil { t.Fatalf("table.create: Did not expect an error, got: %v", err) } @@ -135,8 +145,8 @@ func TestIntegration_TableMetadata(t *testing.T) { t.Fatal(err) } // TODO(jba): check md more thorougly. - if got, want := md.ID, fmt.Sprintf("%s:%s.%s", dataset.ProjectID, dataset.DatasetID, table.TableID); got != want { - t.Errorf("metadata.ID: got %q, want %q", got, want) + if got, want := md.FullID, fmt.Sprintf("%s:%s.%s", dataset.ProjectID, dataset.DatasetID, table.TableID); got != want { + t.Errorf("metadata.FullID: got %q, want %q", got, want) } if got, want := md.Type, RegularTable; got != want { t.Errorf("metadata.Type: got %v, want %v", got, want) @@ -160,7 +170,11 @@ func TestIntegration_TableMetadata(t *testing.T) { } for i, c := range partitionCases { table := dataset.Table(fmt.Sprintf("t_metadata_partition_%v", i)) - err = table.Create(context.Background(), schema, c.timePartitioning, TableExpiration(time.Now().Add(5*time.Minute))) + err = table.Create(context.Background(), &TableMetadata{ + Schema: schema, + TimePartitioning: &c.timePartitioning, + ExpirationTime: time.Now().Add(5 * time.Minute), + }) if err != nil { t.Fatal(err) } @@ -172,12 +186,39 @@ func TestIntegration_TableMetadata(t *testing.T) { got := md.TimePartitioning want := &TimePartitioning{c.expectedExpiration} - if !reflect.DeepEqual(got, want) { + if !testutil.Equal(got, want) { t.Errorf("metadata.TimePartitioning: got %v, want %v", got, want) } } } +func TestIntegration_DatasetCreate(t *testing.T) { + if client == nil { + t.Skip("Integration tests skipped") + } + ctx := context.Background() + uid := strings.Replace(datasetIDs.New(), "-", "_", -1) + ds := client.Dataset(uid) + wmd := &DatasetMetadata{Name: "name", Location: "EU"} + err := ds.Create(ctx, wmd) + if err != nil { + t.Fatal(err) + } + gmd, err := ds.Metadata(ctx) + if err != nil { + t.Fatal(err) + } + if got, want := gmd.Name, wmd.Name; got != want { + t.Errorf("name: got %q, want %q", got, want) + } + if got, want := gmd.Location, wmd.Location; got != want { + t.Errorf("location: got %q, want %q", got, want) + } + if err := ds.Delete(ctx); err != nil { + t.Fatalf("deleting dataset %s: %v", ds, err) + } +} + func TestIntegration_DatasetMetadata(t *testing.T) { if client == nil { t.Skip("Integration tests skipped") @@ -187,8 +228,8 @@ func TestIntegration_DatasetMetadata(t *testing.T) { if err != nil { t.Fatal(err) } - if got, want := md.ID, fmt.Sprintf("%s:%s", dataset.ProjectID, dataset.DatasetID); got != want { - t.Errorf("ID: got %q, want %q", got, want) + if got, want := md.FullID, fmt.Sprintf("%s:%s", dataset.ProjectID, dataset.DatasetID); got != want { + t.Errorf("FullID: got %q, want %q", got, want) } jan2016 := time.Date(2016, 1, 1, 0, 0, 0, 0, time.UTC) if md.CreationTime.Before(jan2016) { @@ -211,7 +252,7 @@ func TestIntegration_DatasetDelete(t *testing.T) { } ctx := context.Background() ds := client.Dataset("delete_test") - if err := ds.Create(ctx); err != nil && !hasStatusCode(err, http.StatusConflict) { // AlreadyExists is 409 + if err := ds.Create(ctx, nil); err != nil && !hasStatusCode(err, http.StatusConflict) { // AlreadyExists is 409 t.Fatalf("creating dataset %s: %v", ds, err) } if err := ds.Delete(ctx); err != nil { @@ -219,6 +260,117 @@ func TestIntegration_DatasetDelete(t *testing.T) { } } +func TestIntegration_DatasetUpdateETags(t *testing.T) { + if client == nil { + t.Skip("Integration tests skipped") + } + + check := func(md *DatasetMetadata, wantDesc, wantName string) { + if md.Description != wantDesc { + t.Errorf("description: got %q, want %q", md.Description, wantDesc) + } + if md.Name != wantName { + t.Errorf("name: got %q, want %q", md.Name, wantName) + } + } + + ctx := context.Background() + md, err := dataset.Metadata(ctx) + if err != nil { + t.Fatal(err) + } + if md.ETag == "" { + t.Fatal("empty ETag") + } + // Write without ETag succeeds. + desc := md.Description + "d2" + name := md.Name + "n2" + md2, err := dataset.Update(ctx, DatasetMetadataToUpdate{Description: desc, Name: name}, "") + if err != nil { + t.Fatal(err) + } + check(md2, desc, name) + + // Write with original ETag fails because of intervening write. + _, err = dataset.Update(ctx, DatasetMetadataToUpdate{Description: "d", Name: "n"}, md.ETag) + if err == nil { + t.Fatal("got nil, want error") + } + + // Write with most recent ETag succeeds. + md3, err := dataset.Update(ctx, DatasetMetadataToUpdate{Description: "", Name: ""}, md2.ETag) + if err != nil { + t.Fatal(err) + } + check(md3, "", "") +} + +func TestIntegration_DatasetUpdateDefaultExpiration(t *testing.T) { + if client == nil { + t.Skip("Integration tests skipped") + } + ctx := context.Background() + md, err := dataset.Metadata(ctx) + if err != nil { + t.Fatal(err) + } + // Set the default expiration time. + md, err = dataset.Update(ctx, DatasetMetadataToUpdate{DefaultTableExpiration: time.Hour}, "") + if err != nil { + t.Fatal(err) + } + if md.DefaultTableExpiration != time.Hour { + t.Fatalf("got %s, want 1h", md.DefaultTableExpiration) + } + // Omitting DefaultTableExpiration doesn't change it. + md, err = dataset.Update(ctx, DatasetMetadataToUpdate{Name: "xyz"}, "") + if err != nil { + t.Fatal(err) + } + if md.DefaultTableExpiration != time.Hour { + t.Fatalf("got %s, want 1h", md.DefaultTableExpiration) + } + // Setting it to 0 deletes it (which looks like a 0 duration). + md, err = dataset.Update(ctx, DatasetMetadataToUpdate{DefaultTableExpiration: time.Duration(0)}, "") + if err != nil { + t.Fatal(err) + } + if md.DefaultTableExpiration != 0 { + t.Fatalf("got %s, want 0", md.DefaultTableExpiration) + } +} + +func TestIntegration_DatasetUpdateLabels(t *testing.T) { + if client == nil { + t.Skip("Integration tests skipped") + } + ctx := context.Background() + md, err := dataset.Metadata(ctx) + if err != nil { + t.Fatal(err) + } + // TODO(jba): use a separate dataset for each test run so + // tests don't interfere with each other. + var dm DatasetMetadataToUpdate + dm.SetLabel("label", "value") + md, err = dataset.Update(ctx, dm, "") + if err != nil { + t.Fatal(err) + } + if got, want := md.Labels["label"], "value"; got != want { + t.Errorf("got %q, want %q", got, want) + } + dm = DatasetMetadataToUpdate{} + dm.DeleteLabel("label") + md, err = dataset.Update(ctx, dm, "") + if err != nil { + t.Fatal(err) + } + if _, ok := md.Labels["label"]; ok { + t.Error("label still present after deletion") + } +} + func TestIntegration_Tables(t *testing.T) { if client == nil { t.Skip("Integration tests skipped") @@ -275,7 +427,7 @@ func TestIntegration_UploadAndRead(t *testing.T) { saverRows []*ValuesSaver ) for i, name := range []string{"a", "b", "c"} { - row := []Value{name, int64(i)} + row := []Value{name, []Value{int64(i)}, []Value{true}} wantRows = append(wantRows, row) saverRows = append(saverRows, &ValuesSaver{ Schema: schema, @@ -297,7 +449,8 @@ func TestIntegration_UploadAndRead(t *testing.T) { checkRead(t, "upload", table.Read(ctx), wantRows) // Query the table. - q := client.Query(fmt.Sprintf("select name, num from %s", table.TableID)) + q := client.Query(fmt.Sprintf("select name, nums, rec from %s", table.TableID)) + q.UseStandardSQL = true q.DefaultProjectID = dataset.ProjectID q.DefaultDatasetID = dataset.DatasetID @@ -347,7 +500,7 @@ func TestIntegration_UploadAndRead(t *testing.T) { t.Fatal(err) } want := []Value(vl) - if !reflect.DeepEqual(got, want) { + if !testutil.Equal(got, want) { t.Errorf("%d: got %v, want %v", i, got, want) } } @@ -362,9 +515,11 @@ func TestIntegration_UploadAndRead(t *testing.T) { if got, want := len(vm), len(vl); got != want { t.Fatalf("valueMap len: got %d, want %d", got, want) } + // With maps, structs become nested maps. + vl[2] = map[string]Value{"bool": vl[2].([]Value)[0]} for i, v := range vl { - if got, want := vm[schema[i].Name], v; got != want { - t.Errorf("%d, name=%s: got %v, want %v", + if got, want := vm[schema[i].Name], v; !testutil.Equal(got, want) { + t.Errorf("%d, name=%s: got %#v, want %#v", i, schema[i].Name, got, want) } } @@ -509,7 +664,7 @@ func TestIntegration_UploadAndReadStructs(t *testing.T) { for i, g := range got { if i >= len(want) { t.Errorf("%d: got %v, past end of want", i, pretty.Value(g)) - } else if w := want[i]; !reflect.DeepEqual(g, w) { + } else if w := want[i]; !testutil.Equal(g, w) { t.Errorf("%d: got %v, want %v", i, pretty.Value(g), pretty.Value(w)) } } @@ -521,7 +676,7 @@ func (b byName) Len() int { return len(b) } func (b byName) Swap(i, j int) { b[i], b[j] = b[j], b[i] } func (b byName) Less(i, j int) bool { return b[i].Name < b[j].Name } -func TestIntegration_Update(t *testing.T) { +func TestIntegration_TableUpdate(t *testing.T) { if client == nil { t.Skip("Integration tests skipped") } @@ -536,10 +691,12 @@ func TestIntegration_Update(t *testing.T) { } wantDescription := tm.Description + "more" wantName := tm.Name + "more" + wantExpiration := tm.ExpirationTime.Add(time.Hour * 24) got, err := table.Update(ctx, TableMetadataToUpdate{ - Description: wantDescription, - Name: wantName, - }) + Description: wantDescription, + Name: wantName, + ExpirationTime: wantExpiration, + }, tm.ETag) if err != nil { t.Fatal(err) } @@ -549,10 +706,24 @@ func TestIntegration_Update(t *testing.T) { if got.Name != wantName { t.Errorf("Name: got %q, want %q", got.Name, wantName) } - if !reflect.DeepEqual(got.Schema, schema) { + if got.ExpirationTime != wantExpiration { + t.Errorf("ExpirationTime: got %q, want %q", got.ExpirationTime, wantExpiration) + } + if !testutil.Equal(got.Schema, schema) { t.Errorf("Schema: got %v, want %v", pretty.Value(got.Schema), pretty.Value(schema)) } + // Blind write succeeds. + _, err = table.Update(ctx, TableMetadataToUpdate{Name: "x"}, "") + if err != nil { + t.Fatal(err) + } + // Write with old etag fails. + _, err = table.Update(ctx, TableMetadataToUpdate{Name: "y"}, got.ETag) + if err == nil { + t.Fatal("Update with old ETag succeeded, wanted failure") + } + // Test schema update. // Columns can be added. schema2 is the same as schema, except for the // added column in the middle. @@ -562,63 +733,57 @@ func TestIntegration_Update(t *testing.T) { } schema2 := Schema{ schema[0], - {Name: "rec", Type: RecordFieldType, Schema: nested}, + {Name: "rec2", Type: RecordFieldType, Schema: nested}, schema[1], + schema[2], } - got, err = table.Update(ctx, TableMetadataToUpdate{Schema: schema2}) + got, err = table.Update(ctx, TableMetadataToUpdate{Schema: schema2}, "") if err != nil { t.Fatal(err) } // Wherever you add the column, it appears at the end. - schema3 := Schema{schema2[0], schema2[2], schema2[1]} - if !reflect.DeepEqual(got.Schema, schema3) { + schema3 := Schema{schema2[0], schema2[2], schema2[3], schema2[1]} + if !testutil.Equal(got.Schema, schema3) { t.Errorf("add field:\ngot %v\nwant %v", pretty.Value(got.Schema), pretty.Value(schema3)) } // Updating with the empty schema succeeds, but is a no-op. - got, err = table.Update(ctx, TableMetadataToUpdate{Schema: Schema{}}) + got, err = table.Update(ctx, TableMetadataToUpdate{Schema: Schema{}}, "") if err != nil { t.Fatal(err) } - if !reflect.DeepEqual(got.Schema, schema3) { + if !testutil.Equal(got.Schema, schema3) { t.Errorf("empty schema:\ngot %v\nwant %v", pretty.Value(got.Schema), pretty.Value(schema3)) } - // Error cases. + // Error cases when updating schema. for _, test := range []struct { desc string fields []*FieldSchema }{ {"change from optional to required", []*FieldSchema{ - schema3[0], - {Name: "num", Type: IntegerFieldType, Required: true}, + {Name: "name", Type: StringFieldType, Required: true}, + schema3[1], schema3[2], + schema3[3], }}, {"add a required field", []*FieldSchema{ - schema3[0], schema3[1], schema3[2], + schema3[0], schema3[1], schema3[2], schema3[3], {Name: "req", Type: StringFieldType, Required: true}, }}, - {"remove a field", []*FieldSchema{schema3[0], schema3[1]}}, + {"remove a field", []*FieldSchema{schema3[0], schema3[1], schema3[2]}}, {"remove a nested field", []*FieldSchema{ - schema3[0], schema3[1], - {Name: "rec", Type: RecordFieldType, Schema: Schema{nested[0]}}}}, + schema3[0], schema3[1], schema3[2], + {Name: "rec2", Type: RecordFieldType, Schema: Schema{nested[0]}}}}, {"remove all nested fields", []*FieldSchema{ - schema3[0], schema3[1], - {Name: "rec", Type: RecordFieldType, Schema: Schema{}}}}, + schema3[0], schema3[1], schema3[2], + {Name: "rec2", Type: RecordFieldType, Schema: Schema{}}}}, } { - for { - _, err = table.Update(ctx, TableMetadataToUpdate{Schema: Schema(test.fields)}) - if !hasStatusCode(err, 403) { - break - } - // We've hit the rate limit for updates. Wait a bit and retry. - t.Logf("%s: retrying after getting %v", test.desc, err) - time.Sleep(4 * time.Second) - } + _, err = table.Update(ctx, TableMetadataToUpdate{Schema: Schema(test.fields)}, "") if err == nil { t.Errorf("%s: want error, got nil", test.desc) } else if !hasStatusCode(err, 400) { @@ -632,7 +797,11 @@ func TestIntegration_Load(t *testing.T) { t.Skip("Integration tests skipped") } ctx := context.Background() - table := newTable(t, schema) + // CSV data can't be loaded into a repeated field, so we use a different schema. + table := newTable(t, Schema{ + {Name: "name", Type: StringFieldType}, + {Name: "nums", Type: IntegerFieldType}, + }) defer table.Delete(ctx) // Load the table from a reader. @@ -667,20 +836,24 @@ func TestIntegration_DML(t *testing.T) { // Use DML to insert. wantRows := [][]Value{ - []Value{"a", int64(0)}, - []Value{"b", int64(1)}, - []Value{"c", int64(2)}, + []Value{"a", []Value{int64(0)}, []Value{true}}, + []Value{"b", []Value{int64(1)}, []Value{false}}, + []Value{"c", []Value{int64(2)}, []Value{true}}, } - query := fmt.Sprintf("INSERT bigquery_integration_test.%s (name, num) "+ - "VALUES ('a', 0), ('b', 1), ('c', 2)", + query := fmt.Sprintf("INSERT bigquery_integration_test.%s (name, nums, rec) "+ + "VALUES ('a', [0], STRUCT(TRUE)), ('b', [1], STRUCT(FALSE)), ('c', [2], STRUCT(TRUE))", table.TableID) q := client.Query(query) q.UseStandardSQL = true // necessary for DML job, err := q.Run(ctx) if err != nil { + if e, ok := err.(*googleapi.Error); ok && e.Code < 500 { + return true, err // fail on 4xx + } return false, err } if err := wait(ctx, job); err != nil { + fmt.Printf("wait: %v\n", err) return false, err } if msg, ok := compareRead(table.Read(ctx), wantRows); !ok { @@ -819,6 +992,7 @@ func TestIntegration_LegacyQuery(t *testing.T) { } for _, c := range testCases { q := client.Query(c.query) + q.UseLegacySQL = true it, err := q.Read(ctx) if err != nil { t.Fatal(err) @@ -891,7 +1065,7 @@ func TestIntegration_ReadNullIntoStruct(t *testing.T) { upl := table.Uploader() row := &ValuesSaver{ Schema: schema, - Row: []Value{"name", nil}, + Row: []Value{nil, []Value{}, []Value{nil}}, } if err := upl.Put(ctx, []*ValuesSaver{row}); err != nil { t.Fatal(putError(err)) @@ -900,25 +1074,128 @@ func TestIntegration_ReadNullIntoStruct(t *testing.T) { t.Fatal(err) } - q := client.Query(fmt.Sprintf("select name, num from %s", table.TableID)) + q := client.Query(fmt.Sprintf("select name from %s", table.TableID)) q.DefaultProjectID = dataset.ProjectID q.DefaultDatasetID = dataset.DatasetID it, err := q.Read(ctx) if err != nil { t.Fatal(err) } - type S struct{ Num int64 } + type S struct{ Name string } var s S if err := it.Next(&s); err == nil { t.Fatal("got nil, want error") } } +const ( + stdName = "`bigquery-public-data.samples.shakespeare`" + legacyName = "[bigquery-public-data:samples.shakespeare]" +) + +// These tests exploit the fact that the two SQL versions have different syntaxes for +// fully-qualified table names. +var useLegacySqlTests = []struct { + t string // name of table + std, legacy bool // use standard/legacy SQL + err bool // do we expect an error? +}{ + {t: legacyName, std: false, legacy: true, err: false}, + {t: legacyName, std: true, legacy: false, err: true}, + {t: legacyName, std: false, legacy: false, err: true}, // standard SQL is default + {t: legacyName, std: true, legacy: true, err: true}, + {t: stdName, std: false, legacy: true, err: true}, + {t: stdName, std: true, legacy: false, err: false}, + {t: stdName, std: false, legacy: false, err: false}, // standard SQL is default + {t: stdName, std: true, legacy: true, err: true}, +} + +func TestIntegration_QueryUseLegacySQL(t *testing.T) { + // Test the UseLegacySQL and UseStandardSQL options for queries. + if client == nil { + t.Skip("Integration tests skipped") + } + ctx := context.Background() + for _, test := range useLegacySqlTests { + q := client.Query(fmt.Sprintf("select word from %s limit 1", test.t)) + q.UseStandardSQL = test.std + q.UseLegacySQL = test.legacy + _, err := q.Read(ctx) + gotErr := err != nil + if gotErr && !test.err { + t.Errorf("%+v:\nunexpected error: %v", test, err) + } else if !gotErr && test.err { + t.Errorf("%+v:\nsucceeded, but want error", test) + } + } +} + +func TestIntegration_TableUseLegacySQL(t *testing.T) { + // Test UseLegacySQL and UseStandardSQL for Table.Create. + if client == nil { + t.Skip("Integration tests skipped") + } + ctx := context.Background() + table := newTable(t, schema) + defer table.Delete(ctx) + for i, test := range useLegacySqlTests { + view := dataset.Table(fmt.Sprintf("t_view_%d", i)) + tm := &TableMetadata{ + ViewQuery: fmt.Sprintf("SELECT word from %s", test.t), + UseStandardSQL: test.std, + UseLegacySQL: test.legacy, + } + err := view.Create(ctx, tm) + gotErr := err != nil + if gotErr && !test.err { + t.Errorf("%+v:\nunexpected error: %v", test, err) + } else if !gotErr && test.err { + t.Errorf("%+v:\nsucceeded, but want error", test) + } + view.Delete(ctx) + } +} + +func TestIntegration_ListJobs(t *testing.T) { + // It's difficult to test the list of jobs, because we can't easily + // control what's in it. Also, there are many jobs in the test project, + // and it takes considerable time to list them all. + if client == nil { + t.Skip("Integration tests skipped") + } + ctx := context.Background() + + // About all we can do is list a few jobs. + const max = 20 + var jis []JobInfo + it := client.Jobs(ctx) + for { + ji, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + t.Fatal(err) + } + jis = append(jis, ji) + if len(jis) >= max { + break + } + } + // We expect that there is at least one job in the last few months. + if len(jis) == 0 { + t.Fatal("did not get any jobs") + } +} + // Creates a new, temporary table with a unique name and the given schema. func newTable(t *testing.T, s Schema) *Table { name := fmt.Sprintf("t%d", time.Now().UnixNano()) table := dataset.Table(name) - err := table.Create(context.Background(), s, TableExpiration(testTableExpiration)) + err := table.Create(context.Background(), &TableMetadata{ + Schema: s, + ExpirationTime: testTableExpiration, + }) if err != nil { t.Fatal(err) } @@ -943,8 +1220,8 @@ func compareRead(it *RowIterator, want [][]Value) (msg string, ok bool) { for i, r := range got { gotRow := []Value(r) wantRow := want[i] - if !reflect.DeepEqual(gotRow, wantRow) { - return fmt.Sprintf("#%d: got %v, want %v", i, gotRow, wantRow), false + if !testutil.Equal(gotRow, wantRow) { + return fmt.Sprintf("#%d: got %#v, want %#v", i, gotRow, wantRow), false } } return "", true diff --git a/vendor/cloud.google.com/go/bigquery/iterator.go b/vendor/cloud.google.com/go/bigquery/iterator.go index e36149d68..4c2987371 100644 --- a/vendor/cloud.google.com/go/bigquery/iterator.go +++ b/vendor/cloud.google.com/go/bigquery/iterator.go @@ -70,7 +70,7 @@ type RowIterator struct { // // If dst is a *map[string]Value, a new map will be created if dst is nil. Then // for each schema column name, the map key of that name will be set to the column's -// value. +// value. STRUCT types (RECORD types or nested schemas) become nested maps. // // If dst is pointer to a struct, each column in the schema will be matched // with an exported field of the struct that has the same name, ignoring case. @@ -89,8 +89,8 @@ type RowIterator struct { // TIME civil.Time // DATETIME civil.DateTime // -// A repeated field corresponds to a slice or array of the element type. -// A RECORD type (nested schema) corresponds to a nested struct or struct pointer. +// A repeated field corresponds to a slice or array of the element type. A STRUCT +// type (RECORD or nested schema) corresponds to a nested struct or struct pointer. // All calls to Next on the same iterator must use the same struct type. // // It is an error to attempt to read a BigQuery NULL value into a struct field. diff --git a/vendor/cloud.google.com/go/bigquery/iterator_test.go b/vendor/cloud.google.com/go/bigquery/iterator_test.go index 18bc7294a..c940d446a 100644 --- a/vendor/cloud.google.com/go/bigquery/iterator_test.go +++ b/vendor/cloud.google.com/go/bigquery/iterator_test.go @@ -17,9 +17,10 @@ package bigquery import ( "errors" "fmt" - "reflect" "testing" + "cloud.google.com/go/internal/testutil" + "golang.org/x/net/context" "google.golang.org/api/iterator" ) @@ -246,10 +247,10 @@ func TestIterator(t *testing.T) { if err != tc.wantErr { t.Fatalf("%s: got %v, want %v", tc.desc, err, tc.wantErr) } - if (len(values) != 0 || len(tc.want) != 0) && !reflect.DeepEqual(values, tc.want) { + if (len(values) != 0 || len(tc.want) != 0) && !testutil.Equal(values, tc.want) { t.Errorf("%s: values:\ngot: %v\nwant:%v", tc.desc, values, tc.want) } - if (len(schema) != 0 || len(tc.wantSchema) != 0) && !reflect.DeepEqual(schema, tc.wantSchema) { + if (len(schema) != 0 || len(tc.wantSchema) != 0) && !testutil.Equal(schema, tc.wantSchema) { t.Errorf("%s: iterator.Schema:\ngot: %v\nwant: %v", tc.desc, schema, tc.wantSchema) } } @@ -339,7 +340,7 @@ func TestNextAfterFinished(t *testing.T) { if err != nil { t.Fatal(err) } - if (len(values) != 0 || len(tc.want) != 0) && !reflect.DeepEqual(values, tc.want) { + if (len(values) != 0 || len(tc.want) != 0) && !testutil.Equal(values, tc.want) { t.Errorf("values: got:\n%v\nwant:\n%v", values, tc.want) } // Try calling Get again. diff --git a/vendor/cloud.google.com/go/bigquery/job.go b/vendor/cloud.google.com/go/bigquery/job.go index 89954a2d0..dffaf45e7 100644 --- a/vendor/cloud.google.com/go/bigquery/job.go +++ b/vendor/cloud.google.com/go/bigquery/job.go @@ -16,12 +16,17 @@ package bigquery import ( "errors" + "fmt" + "math/rand" + "os" + "sync" "time" "cloud.google.com/go/internal" gax "github.com/googleapis/gax-go" "golang.org/x/net/context" bq "google.golang.org/api/bigquery/v2" + "google.golang.org/api/iterator" ) // A Job represents an operation which has been submitted to BigQuery for processing. @@ -46,6 +51,7 @@ func (c *Client) JobFromID(ctx context.Context, id string) (*Job, error) { return job, nil } +// ID returns the job's ID. func (j *Job) ID() string { return j.jobID } @@ -54,7 +60,8 @@ func (j *Job) ID() string { type State int const ( - Pending State = iota + StateUnspecified State = iota // used only as a default in JobIterator + Pending Running Done ) @@ -73,21 +80,43 @@ type JobStatus struct { Statistics *JobStatistics } -// setJobRef initializes job's JobReference if given a non-empty jobID. +// createJobRef creates a JobReference. // projectID must be non-empty. -func setJobRef(job *bq.Job, jobID, projectID string) { +func createJobRef(jobID string, addJobIDSuffix bool, projectID string) *bq.JobReference { if jobID == "" { - return + jobID = randomJobIDFn() + } else if addJobIDSuffix { + jobID += "-" + randomJobIDFn() } // We don't check whether projectID is empty; the server will return an // error when it encounters the resulting JobReference. - - job.JobReference = &bq.JobReference{ + return &bq.JobReference{ JobId: jobID, ProjectId: projectID, } } +const alphanum = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" + +var ( + rngMu sync.Mutex + rng = rand.New(rand.NewSource(time.Now().UnixNano() ^ int64(os.Getpid()))) +) + +// For testing. +var randomJobIDFn = randomJobID + +func randomJobID() string { + // As of August 2017, the BigQuery service uses 27 alphanumeric characters for suffixes. + var b [27]byte + rngMu.Lock() + for i := 0; i < len(b); i++ { + b[i] = alphanum[rng.Intn(len(alphanum))] + } + rngMu.Unlock() + return string(b[:]) +} + // Done reports whether the job has completed. // After Done returns true, the Err method will return an error if the job completed unsuccesfully. func (s *JobStatus) Done() bool { @@ -99,20 +128,25 @@ func (s *JobStatus) Err() error { return s.err } +// Fill in the client field of Tables in the statistics. +func (s *JobStatus) setClient(c *Client) { + if s.Statistics == nil { + return + } + if qs, ok := s.Statistics.Details.(*QueryStatistics); ok { + for _, t := range qs.ReferencedTables { + t.c = c + } + } +} + // Status returns the current status of the job. It fails if the Status could not be determined. func (j *Job) Status(ctx context.Context) (*JobStatus, error) { js, err := j.c.service.jobStatus(ctx, j.projectID, j.jobID) if err != nil { return nil, err } - // Fill in the client field of Tables in the statistics. - if js.Statistics != nil { - if qs, ok := js.Statistics.Details.(*QueryStatistics); ok { - for _, t := range qs.ReferencedTables { - t.c = j.c - } - } - } + js.setClient(j.c) return js, nil } @@ -324,3 +358,73 @@ type ExplainQueryStep struct { func (*ExtractStatistics) implementsStatistics() {} func (*LoadStatistics) implementsStatistics() {} func (*QueryStatistics) implementsStatistics() {} + +// Jobs lists jobs within a project. +func (c *Client) Jobs(ctx context.Context) *JobIterator { + it := &JobIterator{ + ctx: ctx, + c: c, + ProjectID: c.projectID, + } + it.pageInfo, it.nextFunc = iterator.NewPageInfo( + it.fetch, + func() int { return len(it.items) }, + func() interface{} { b := it.items; it.items = nil; return b }) + return it +} + +// A JobInfo consists of a Job and a JobStatus. +type JobInfo struct { + Job *Job + Status *JobStatus +} + +// JobIterator iterates over jobs in a project. +type JobIterator struct { + ProjectID string // Project ID of the jobs to list. Default is the client's project. + AllUsers bool // Whether to list jobs owned by all users in the project, or just the current caller. + State State // List only jobs in the given state. Defaults to all states. + + ctx context.Context + c *Client + pageInfo *iterator.PageInfo + nextFunc func() error + items []JobInfo +} + +func (it *JobIterator) PageInfo() *iterator.PageInfo { return it.pageInfo } + +func (it *JobIterator) Next() (JobInfo, error) { + if err := it.nextFunc(); err != nil { + return JobInfo{}, err + } + item := it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *JobIterator) fetch(pageSize int, pageToken string) (string, error) { + var st string + switch it.State { + case StateUnspecified: + st = "" + case Pending: + st = "pending" + case Running: + st = "running" + case Done: + st = "done" + default: + return "", fmt.Errorf("bigquery: invalid value for JobIterator.State: %d", it.State) + } + jobInfos, nextPageToken, err := it.c.service.listJobs(it.ctx, it.ProjectID, pageSize, pageToken, it.AllUsers, st) + if err != nil { + return "", err + } + for _, ji := range jobInfos { + ji.Job.c = it.c + ji.Status.setClient(it.c) + it.items = append(it.items, ji) + } + return nextPageToken, nil +} diff --git a/vendor/cloud.google.com/go/bigquery/job_test.go b/vendor/cloud.google.com/go/bigquery/job_test.go new file mode 100644 index 000000000..79e9a6004 --- /dev/null +++ b/vendor/cloud.google.com/go/bigquery/job_test.go @@ -0,0 +1,95 @@ +// Copyright 2017 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package bigquery + +import ( + "testing" + + "cloud.google.com/go/internal/testutil" + "golang.org/x/net/context" + bq "google.golang.org/api/bigquery/v2" +) + +func TestCreateJobRef(t *testing.T) { + defer fixRandomJobID("RANDOM")() + for _, test := range []struct { + jobID string + addJobIDSuffix bool + want string + }{ + { + jobID: "foo", + addJobIDSuffix: false, + want: "foo", + }, + { + jobID: "", + addJobIDSuffix: false, + want: "RANDOM", + }, + { + jobID: "", + addJobIDSuffix: true, // irrelevant + want: "RANDOM", + }, + { + jobID: "foo", + addJobIDSuffix: true, + want: "foo-RANDOM", + }, + } { + jr := createJobRef(test.jobID, test.addJobIDSuffix, "projectID") + got := jr.JobId + if got != test.want { + t.Errorf("%q, %t: got %q, want %q", test.jobID, test.addJobIDSuffix, got, test.want) + } + } +} + +func fixRandomJobID(s string) func() { + prev := randomJobIDFn + randomJobIDFn = func() string { return s } + return func() { randomJobIDFn = prev } +} + +func checkJob(t *testing.T, i int, got, want *bq.Job) { + if got.JobReference == nil { + t.Errorf("#%d: empty job reference", i) + return + } + if got.JobReference.JobId == "" { + t.Errorf("#%d: empty job ID", i) + return + } + d := testutil.Diff(got, want) + if d != "" { + t.Errorf("#%d: (got=-, want=+) %s", i, d) + } +} + +type testService struct { + *bq.Job + + service +} + +func (s *testService) insertJob(ctx context.Context, projectID string, conf *insertJobConf) (*Job, error) { + s.Job = conf.job + return &Job{}, nil +} + +func (s *testService) jobStatus(ctx context.Context, projectID, jobID string) (*JobStatus, error) { + return &JobStatus{State: Done}, nil +} diff --git a/vendor/cloud.google.com/go/bigquery/load.go b/vendor/cloud.google.com/go/bigquery/load.go index 5edf31ca6..b5685cc7c 100644 --- a/vendor/cloud.google.com/go/bigquery/load.go +++ b/vendor/cloud.google.com/go/bigquery/load.go @@ -21,9 +21,12 @@ import ( // LoadConfig holds the configuration for a load job. type LoadConfig struct { - // JobID is the ID to use for the load job. If unset, a job ID will be automatically created. + // JobID is the ID to use for the job. If empty, a random job ID will be generated. JobID string + // If AddJobIDSuffix is true, then a random string will be appended to JobID. + AddJobIDSuffix bool + // Src is the source from which data will be loaded. Src LoadSource @@ -56,6 +59,8 @@ type LoadSource interface { // LoaderFrom returns a Loader which can be used to load data into a BigQuery table. // The returned Loader may optionally be further configured before its Run method is called. +// See GCSReference and ReaderSource for additional configuration options that +// affect loading. func (t *Table) LoaderFrom(src LoadSource) *Loader { return &Loader{ c: t.c, @@ -69,6 +74,7 @@ func (t *Table) LoaderFrom(src LoadSource) *Loader { // Run initiates a load job. func (l *Loader) Run(ctx context.Context) (*Job, error) { job := &bq.Job{ + JobReference: createJobRef(l.JobID, l.AddJobIDSuffix, l.c.projectID), Configuration: &bq.JobConfiguration{ Load: &bq.JobConfigurationLoad{ CreateDisposition: string(l.CreateDisposition), @@ -78,9 +84,6 @@ func (l *Loader) Run(ctx context.Context) (*Job, error) { } conf := &insertJobConf{job: job} l.Src.populateInsertJobConfForLoad(conf) - setJobRef(job, l.JobID, l.c.projectID) - job.Configuration.Load.DestinationTable = l.Dst.tableRefProto() - return l.c.insertJob(ctx, conf) } diff --git a/vendor/cloud.google.com/go/bigquery/load_test.go b/vendor/cloud.google.com/go/bigquery/load_test.go index acb62bc48..d4d254407 100644 --- a/vendor/cloud.google.com/go/bigquery/load_test.go +++ b/vendor/cloud.google.com/go/bigquery/load_test.go @@ -15,22 +15,21 @@ package bigquery import ( - "reflect" "strings" "testing" "golang.org/x/net/context" - "cloud.google.com/go/internal/pretty" bq "google.golang.org/api/bigquery/v2" ) func defaultLoadJob() *bq.Job { return &bq.Job{ + JobReference: &bq.JobReference{JobId: "RANDOM", ProjectId: "client-project-id"}, Configuration: &bq.JobConfiguration{ Load: &bq.JobConfigurationLoad{ DestinationTable: &bq.TableReference{ - ProjectId: "project-id", + ProjectId: "client-project-id", DatasetId: "dataset-id", TableId: "table-id", }, @@ -68,7 +67,8 @@ func bqNestedFieldSchema() *bq.TableFieldSchema { } func TestLoad(t *testing.T) { - c := &Client{projectID: "project-id"} + defer fixRandomJobID("RANDOM")() + c := &Client{projectID: "client-project-id"} testCases := []struct { dst *Table @@ -95,7 +95,7 @@ func TestLoad(t *testing.T) { j.Configuration.Load.WriteDisposition = "WRITE_TRUNCATE" j.JobReference = &bq.JobReference{ JobId: "ajob", - ProjectId: "project-id", + ProjectId: "client-project-id", } return j }(), @@ -218,12 +218,9 @@ func TestLoad(t *testing.T) { tc.config.Dst = tc.dst loader.LoadConfig = tc.config if _, err := loader.Run(context.Background()); err != nil { - t.Errorf("%d: err calling Loader.Run: %v", i, err) + t.Errorf("#%d: err calling Loader.Run: %v", i, err) continue } - if !reflect.DeepEqual(s.Job, tc.want) { - t.Errorf("loading %d: got:\n%v\nwant:\n%v", - i, pretty.Value(s.Job), pretty.Value(tc.want)) - } + checkJob(t, i, s.Job, tc.want) } } diff --git a/vendor/cloud.google.com/go/bigquery/params_test.go b/vendor/cloud.google.com/go/bigquery/params_test.go index 10da87100..9687a83d7 100644 --- a/vendor/cloud.google.com/go/bigquery/params_test.go +++ b/vendor/cloud.google.com/go/bigquery/params_test.go @@ -21,7 +21,10 @@ import ( "testing" "time" + "github.com/google/go-cmp/cmp" + "cloud.google.com/go/civil" + "cloud.google.com/go/internal/testutil" "golang.org/x/net/context" bq "google.golang.org/api/bigquery/v2" ) @@ -74,7 +77,7 @@ func TestParamValueScalar(t *testing.T) { continue } want := sval(test.want) - if !reflect.DeepEqual(got, want) { + if !testutil.Equal(got, want) { t.Errorf("%v:\ngot %+v\nwant %+v", test.val, got, want) } } @@ -99,7 +102,7 @@ func TestParamValueArray(t *testing.T) { if err != nil { t.Fatal(err) } - if !reflect.DeepEqual(got, test.want) { + if !testutil.Equal(got, test.want) { t.Errorf("%#v:\ngot %+v\nwant %+v", test.val, got, test.want) } } @@ -121,7 +124,7 @@ func TestParamValueStruct(t *testing.T) { "C": sval("true"), }, } - if !reflect.DeepEqual(got, want) { + if !testutil.Equal(got, want) { t.Errorf("got %+v\nwant %+v", got, want) } } @@ -172,7 +175,7 @@ func TestParamType(t *testing.T) { if err != nil { t.Fatal(err) } - if !reflect.DeepEqual(got, test.want) { + if !testutil.Equal(got, test.want) { t.Errorf("%v (%T): got %v, want %v", test.val, test.val, got, test.want) } } @@ -196,7 +199,9 @@ func TestIntegration_ScalarParam(t *testing.T) { if err != nil { t.Fatal(err) } - if !equal(got, test.val) { + if !testutil.Equal(got, test.val, cmp.Comparer(func(t1, t2 time.Time) bool { + return t1.Round(time.Microsecond).Equal(t2.Round(time.Microsecond)) + })) { t.Errorf("\ngot %#v (%T)\nwant %#v (%T)", got, got, test.val, test.val) } } @@ -219,7 +224,7 @@ func TestIntegration_OtherParam(t *testing.T) { if err != nil { t.Fatal(err) } - if !equal(got, test.want) { + if !testutil.Equal(got, test.want) { t.Errorf("\ngot %#v (%T)\nwant %#v (%T)", got, got, test.want, test.want) } } @@ -242,21 +247,3 @@ func paramRoundTrip(c *Client, x interface{}) (Value, error) { } return val[0], nil } - -func equal(x1, x2 interface{}) bool { - if reflect.TypeOf(x1) != reflect.TypeOf(x2) { - return false - } - switch x1 := x1.(type) { - case float64: - if math.IsNaN(x1) { - return math.IsNaN(x2.(float64)) - } - return x1 == x2 - case time.Time: - // BigQuery is only accurate to the microsecond. - return x1.Round(time.Microsecond).Equal(x2.(time.Time).Round(time.Microsecond)) - default: - return reflect.DeepEqual(x1, x2) - } -} diff --git a/vendor/cloud.google.com/go/bigquery/query.go b/vendor/cloud.google.com/go/bigquery/query.go index d9b63a7df..efc038aee 100644 --- a/vendor/cloud.google.com/go/bigquery/query.go +++ b/vendor/cloud.google.com/go/bigquery/query.go @@ -15,16 +15,20 @@ package bigquery import ( + "errors" + "golang.org/x/net/context" bq "google.golang.org/api/bigquery/v2" ) // QueryConfig holds the configuration for a query job. type QueryConfig struct { - // JobID is the ID to use for the query job. If this field is empty, a job ID - // will be automatically created. + // JobID is the ID to use for the job. If empty, a random job ID will be generated. JobID string + // If AddJobIDSuffix is true, then a random string will be appended to JobID. + AddJobIDSuffix bool + // Dst is the table into which the results of the query will be written. // If this field is nil, a temporary table will be created. Dst *Table @@ -85,10 +89,12 @@ type QueryConfig struct { // used. MaxBytesBilled int64 - // UseStandardSQL causes the query to use standard SQL. - // The default is false (using legacy SQL). + // UseStandardSQL causes the query to use standard SQL. The default. UseStandardSQL bool + // UseLegacySQL causes the query to use legacy SQL. + UseLegacySQL bool + // Parameters is a list of query parameters. The presence of parameters // implies the use of standard SQL. // If the query uses positional syntax ("?"), then no parameter may have a name. @@ -123,12 +129,11 @@ func (c *Client) Query(q string) *Query { // Run initiates a query job. func (q *Query) Run(ctx context.Context) (*Job, error) { job := &bq.Job{ + JobReference: createJobRef(q.JobID, q.AddJobIDSuffix, q.client.projectID), Configuration: &bq.JobConfiguration{ Query: &bq.JobConfigurationQuery{}, }, } - setJobRef(job, q.JobID, q.client.projectID) - if err := q.QueryConfig.populateJobQueryConfig(job.Configuration.Query); err != nil { return nil, err } @@ -177,11 +182,18 @@ func (q *QueryConfig) populateJobQueryConfig(conf *bq.JobConfigurationQuery) err if q.MaxBytesBilled >= 1 { conf.MaximumBytesBilled = q.MaxBytesBilled } - if q.UseStandardSQL || len(q.Parameters) > 0 { + if q.UseStandardSQL && q.UseLegacySQL { + return errors.New("bigquery: cannot provide both UseStandardSQL and UseLegacySQL") + } + if len(q.Parameters) > 0 && q.UseLegacySQL { + return errors.New("bigquery: cannot provide both Parameters (implying standard SQL) and UseLegacySQL") + } + if q.UseLegacySQL { + conf.UseLegacySql = true + } else { conf.UseLegacySql = false conf.ForceSendFields = append(conf.ForceSendFields, "UseLegacySql") } - if q.Dst != nil && !q.Dst.implicitTable() { conf.DestinationTable = q.Dst.tableRefProto() } diff --git a/vendor/cloud.google.com/go/bigquery/query_test.go b/vendor/cloud.google.com/go/bigquery/query_test.go index 1715d888e..985b63d47 100644 --- a/vendor/cloud.google.com/go/bigquery/query_test.go +++ b/vendor/cloud.google.com/go/bigquery/query_test.go @@ -15,9 +15,10 @@ package bigquery import ( - "reflect" "testing" + "cloud.google.com/go/internal/testutil" + "golang.org/x/net/context" bq "google.golang.org/api/bigquery/v2" @@ -25,10 +26,11 @@ import ( func defaultQueryJob() *bq.Job { return &bq.Job{ + JobReference: &bq.JobReference{JobId: "RANDOM", ProjectId: "client-project-id"}, Configuration: &bq.JobConfiguration{ Query: &bq.JobConfigurationQuery{ DestinationTable: &bq.TableReference{ - ProjectId: "project-id", + ProjectId: "client-project-id", DatasetId: "dataset-id", TableId: "table-id", }, @@ -37,14 +39,17 @@ func defaultQueryJob() *bq.Job { ProjectId: "def-project-id", DatasetId: "def-dataset-id", }, + UseLegacySql: false, + ForceSendFields: []string{"UseLegacySql"}, }, }, } } func TestQuery(t *testing.T) { + defer fixRandomJobID("RANDOM")() c := &Client{ - projectID: "project-id", + projectID: "client-project-id", } testCases := []struct { dst *Table @@ -67,6 +72,20 @@ func TestQuery(t *testing.T) { return j }(), }, + { + dst: c.Dataset("dataset-id").Table("table-id"), + src: &QueryConfig{ + Q: "query string", + JobID: "jobID", + AddJobIDSuffix: true, + }, + want: func() *bq.Job { + j := defaultQueryJob() + j.Configuration.Query.DefaultDataset = nil + j.JobReference.JobId = "jobID-RANDOM" + return j + }(), + }, { dst: &Table{}, src: defaultQuery, @@ -143,6 +162,7 @@ func TestQuery(t *testing.T) { }, want: func() *bq.Job { j := defaultQueryJob() + j.Configuration.Query.DestinationTable.ProjectId = "project-id" j.Configuration.Query.WriteDisposition = "WRITE_TRUNCATE" j.Configuration.Query.CreateDisposition = "CREATE_NEVER" return j @@ -242,27 +262,35 @@ func TestQuery(t *testing.T) { DefaultDatasetID: "def-dataset-id", UseStandardSQL: true, }, + want: defaultQueryJob(), + }, + { + dst: c.Dataset("dataset-id").Table("table-id"), + src: &QueryConfig{ + Q: "query string", + DefaultProjectID: "def-project-id", + DefaultDatasetID: "def-dataset-id", + UseLegacySQL: true, + }, want: func() *bq.Job { j := defaultQueryJob() - j.Configuration.Query.UseLegacySql = false - j.Configuration.Query.ForceSendFields = []string{"UseLegacySql"} + j.Configuration.Query.UseLegacySql = true + j.Configuration.Query.ForceSendFields = nil return j }(), }, } - for _, tc := range testCases { + for i, tc := range testCases { s := &testService{} c.service = s query := c.Query("") query.QueryConfig = *tc.src query.Dst = tc.dst if _, err := query.Run(context.Background()); err != nil { - t.Errorf("err calling query: %v", err) + t.Errorf("#%d: err calling query: %v", i, err) continue } - if !reflect.DeepEqual(s.Job, tc.want) { - t.Errorf("querying: got:\n%v\nwant:\n%v", s.Job, tc.want) - } + checkJob(t, i, s.Job, tc.want) } } @@ -288,6 +316,8 @@ func TestConfiguringQuery(t *testing.T) { ProjectId: "def-project-id", DatasetId: "def-dataset-id", }, + UseLegacySql: false, + ForceSendFields: []string{"UseLegacySql"}, }, }, JobReference: &bq.JobReference{ @@ -299,7 +329,28 @@ func TestConfiguringQuery(t *testing.T) { if _, err := query.Run(context.Background()); err != nil { t.Fatalf("err calling Query.Run: %v", err) } - if !reflect.DeepEqual(s.Job, want) { - t.Errorf("querying: got:\n%v\nwant:\n%v", s.Job, want) + if diff := testutil.Diff(s.Job, want); diff != "" { + t.Errorf("querying: -got +want:\n%s", diff) + } +} + +func TestQueryLegacySQL(t *testing.T) { + c := &Client{ + projectID: "project-id", + service: &testService{}, + } + q := c.Query("q") + q.UseStandardSQL = true + q.UseLegacySQL = true + _, err := q.Run(context.Background()) + if err == nil { + t.Error("UseStandardSQL and UseLegacySQL: got nil, want error") + } + q = c.Query("q") + q.Parameters = []QueryParameter{{Name: "p", Value: 3}} + q.UseLegacySQL = true + _, err = q.Run(context.Background()) + if err == nil { + t.Error("Parameters and UseLegacySQL: got nil, want error") } } diff --git a/vendor/cloud.google.com/go/bigquery/read_test.go b/vendor/cloud.google.com/go/bigquery/read_test.go index b378d7d2b..c2765d342 100644 --- a/vendor/cloud.google.com/go/bigquery/read_test.go +++ b/vendor/cloud.google.com/go/bigquery/read_test.go @@ -16,9 +16,12 @@ package bigquery import ( "errors" - "reflect" "testing" + "github.com/google/go-cmp/cmp" + + "cloud.google.com/go/internal/testutil" + "golang.org/x/net/context" bq "google.golang.org/api/bigquery/v2" "google.golang.org/api/iterator" @@ -113,7 +116,7 @@ func TestRead(t *testing.T) { service.values = tc.data service.pageTokens = tc.pageTokens if got, ok := collectValues(t, readFunc()); ok { - if !reflect.DeepEqual(got, tc.want) { + if !testutil.Equal(got, tc.want) { t.Errorf("reading: got:\n%v\nwant:\n%v", got, tc.want) } } @@ -210,7 +213,7 @@ func TestReadTabledataOptions(t *testing.T) { tok: "", }} - if !reflect.DeepEqual(s.readTabledataCalls, want) { + if !testutil.Equal(s.readTabledataCalls, want, cmp.AllowUnexported(readTabledataArgs{}, readTableConf{}, pagingConf{})) { t.Errorf("reading: got:\n%v\nwant:\n%v", s.readTabledataCalls, want) } } @@ -254,7 +257,7 @@ func TestReadQueryOptions(t *testing.T) { tok: "", }} - if !reflect.DeepEqual(s.readTabledataCalls, want) { + if !testutil.Equal(s.readTabledataCalls, want, cmp.AllowUnexported(readTabledataArgs{}, readTableConf{}, pagingConf{})) { t.Errorf("reading: got:\n%v\nwant:\n%v", s.readTabledataCalls, want) } } diff --git a/vendor/cloud.google.com/go/bigquery/schema.go b/vendor/cloud.google.com/go/bigquery/schema.go index 0c8f46422..b8674ead8 100644 --- a/vendor/cloud.google.com/go/bigquery/schema.go +++ b/vendor/cloud.google.com/go/bigquery/schema.go @@ -77,11 +77,6 @@ func (s Schema) asTableSchema() *bq.TableSchema { return &bq.TableSchema{Fields: fields} } -// customizeCreateTable allows a Schema to be used directly as an option to CreateTable. -func (s Schema) customizeCreateTable(conf *createTableConf) { - conf.schema = s.asTableSchema() -} - func convertTableFieldSchema(tfs *bq.TableFieldSchema) *FieldSchema { fs := &FieldSchema{ Description: tfs.Description, diff --git a/vendor/cloud.google.com/go/bigquery/schema_test.go b/vendor/cloud.google.com/go/bigquery/schema_test.go index 9eaaae99f..b642e836d 100644 --- a/vendor/cloud.google.com/go/bigquery/schema_test.go +++ b/vendor/cloud.google.com/go/bigquery/schema_test.go @@ -22,6 +22,7 @@ import ( "cloud.google.com/go/civil" "cloud.google.com/go/internal/pretty" + "cloud.google.com/go/internal/testutil" bq "google.golang.org/api/bigquery/v2" ) @@ -192,12 +193,12 @@ func TestSchemaConversion(t *testing.T) { for _, tc := range testCases { bqSchema := tc.schema.asTableSchema() - if !reflect.DeepEqual(bqSchema, tc.bqSchema) { + if !testutil.Equal(bqSchema, tc.bqSchema) { t.Errorf("converting to TableSchema: got:\n%v\nwant:\n%v", pretty.Value(bqSchema), pretty.Value(tc.bqSchema)) } schema := convertTableSchema(tc.bqSchema) - if !reflect.DeepEqual(schema, tc.schema) { + if !testutil.Equal(schema, tc.schema) { t.Errorf("converting to Schema: got:\n%v\nwant:\n%v", schema, tc.schema) } } @@ -311,7 +312,7 @@ func TestSimpleInference(t *testing.T) { if err != nil { t.Fatalf("%T: error inferring TableSchema: %v", tc.in, err) } - if !reflect.DeepEqual(got, tc.want) { + if !testutil.Equal(got, tc.want) { t.Errorf("%T: inferring TableSchema: got:\n%#v\nwant:\n%#v", tc.in, pretty.Value(got), pretty.Value(tc.want)) } @@ -414,7 +415,7 @@ func TestNestedInference(t *testing.T) { if err != nil { t.Fatalf("%T: error inferring TableSchema: %v", tc.in, err) } - if !reflect.DeepEqual(got, tc.want) { + if !testutil.Equal(got, tc.want) { t.Errorf("%T: inferring TableSchema: got:\n%#v\nwant:\n%#v", tc.in, pretty.Value(got), pretty.Value(tc.want)) } @@ -483,7 +484,7 @@ func TestRepeatedInference(t *testing.T) { if err != nil { t.Fatalf("%d: error inferring TableSchema: %v", i, err) } - if !reflect.DeepEqual(got, tc.want) { + if !testutil.Equal(got, tc.want) { t.Errorf("%d: inferring TableSchema: got:\n%#v\nwant:\n%#v", i, pretty.Value(got), pretty.Value(tc.want)) } @@ -512,7 +513,7 @@ func TestEmbeddedInference(t *testing.T) { reqField("Embedded", "INTEGER"), reqField("Embedded2", "INTEGER"), } - if !reflect.DeepEqual(got, want) { + if !testutil.Equal(got, want) { t.Errorf("got %v, want %v", pretty.Value(got), pretty.Value(want)) } } @@ -617,7 +618,7 @@ func TestTagInference(t *testing.T) { if err != nil { t.Fatalf("%d: error inferring TableSchema: %v", i, err) } - if !reflect.DeepEqual(got, tc.want) { + if !testutil.Equal(got, tc.want) { t.Errorf("%d: inferring TableSchema: got:\n%#v\nwant:\n%#v", i, pretty.Value(got), pretty.Value(tc.want)) } @@ -675,7 +676,7 @@ func TestTagInferenceErrors(t *testing.T) { for i, tc := range testCases { want := tc.err _, got := InferSchema(tc.in) - if !reflect.DeepEqual(got, want) { + if got != want { t.Errorf("%d: inferring TableSchema: got:\n%#v\nwant:\n%#v", i, got, want) } } @@ -746,7 +747,7 @@ func TestSchemaErrors(t *testing.T) { for _, tc := range testCases { want := tc.err _, got := InferSchema(tc.in) - if !reflect.DeepEqual(got, want) { + if got != want { t.Errorf("%#v: got:\n%#v\nwant:\n%#v", tc.in, got, want) } } diff --git a/vendor/cloud.google.com/go/bigquery/service.go b/vendor/cloud.google.com/go/bigquery/service.go index cadd7b4c2..122acd84b 100644 --- a/vendor/cloud.google.com/go/bigquery/service.go +++ b/vendor/cloud.google.com/go/bigquery/service.go @@ -15,13 +15,14 @@ package bigquery import ( + "errors" "fmt" "io" "net/http" - "sync" "time" "cloud.google.com/go/internal" + "cloud.google.com/go/internal/optional" "cloud.google.com/go/internal/version" gax "github.com/googleapis/gax-go" @@ -40,24 +41,26 @@ type service interface { getJob(ctx context.Context, projectId, jobID string) (*Job, error) jobCancel(ctx context.Context, projectId, jobID string) error jobStatus(ctx context.Context, projectId, jobID string) (*JobStatus, error) + listJobs(ctx context.Context, projectId string, maxResults int, pageToken string, all bool, state string) ([]JobInfo, string, error) // Tables - createTable(ctx context.Context, conf *createTableConf) error + createTable(ctx context.Context, projectID, datasetID, tableID string, tm *TableMetadata) error getTableMetadata(ctx context.Context, projectID, datasetID, tableID string) (*TableMetadata, error) deleteTable(ctx context.Context, projectID, datasetID, tableID string) error // listTables returns a page of Tables and a next page token. Note: the Tables do not have their c field populated. listTables(ctx context.Context, projectID, datasetID string, pageSize int, pageToken string) ([]*Table, string, error) - patchTable(ctx context.Context, projectID, datasetID, tableID string, conf *patchTableConf) (*TableMetadata, error) + patchTable(ctx context.Context, projectID, datasetID, tableID string, conf *patchTableConf, etag string) (*TableMetadata, error) // Table data readTabledata(ctx context.Context, conf *readTableConf, pageToken string) (*readDataResult, error) insertRows(ctx context.Context, projectID, datasetID, tableID string, rows []*insertionRow, conf *insertRowsConf) error // Datasets - insertDataset(ctx context.Context, datasetID, projectID string) error + insertDataset(ctx context.Context, datasetID, projectID string, dm *DatasetMetadata) error deleteDataset(ctx context.Context, datasetID, projectID string) error getDatasetMetadata(ctx context.Context, projectID, datasetID string) (*DatasetMetadata, error) + patchDataset(ctx context.Context, projectID, datasetID string, dm *DatasetMetadataToUpdate, etag string) (*DatasetMetadata, error) // Misc @@ -177,7 +180,6 @@ func (s *bigqueryService) readTabledata(ctx context.Context, conf *readTableConf // Prepare request to fetch one page of table data. req := s.s.Tabledata.List(conf.projectID, conf.datasetID, conf.tableID) setClientHeader(req.Header()) - if pageToken != "" { req.PageToken(pageToken) } else { @@ -189,33 +191,37 @@ func (s *bigqueryService) readTabledata(ctx context.Context, conf *readTableConf } // Fetch the table schema in the background, if necessary. - var schemaErr error - var schemaFetch sync.WaitGroup - if conf.schema == nil { - schemaFetch.Add(1) + errc := make(chan error, 1) + if conf.schema != nil { + errc <- nil + } else { go func() { - defer schemaFetch.Done() var t *bq.Table - t, schemaErr = s.s.Tables.Get(conf.projectID, conf.datasetID, conf.tableID). - Fields("schema"). - Context(ctx). - Do() - if schemaErr == nil && t.Schema != nil { + err := runWithRetry(ctx, func() (err error) { + t, err = s.s.Tables.Get(conf.projectID, conf.datasetID, conf.tableID). + Fields("schema"). + Context(ctx). + Do() + return err + }) + if err == nil && t.Schema != nil { conf.schema = convertTableSchema(t.Schema) } + errc <- err }() } - - res, err := req.Context(ctx).Do() + var res *bq.TableDataList + err := runWithRetry(ctx, func() (err error) { + res, err = req.Context(ctx).Do() + return err + }) if err != nil { return nil, err } - - schemaFetch.Wait() - if schemaErr != nil { - return nil, schemaErr + err = <-errc + if err != nil { + return nil, err } - result := &readDataResult{ pageToken: res.PageToken, totalRows: uint64(res.TotalRows), @@ -276,12 +282,11 @@ func (s *bigqueryService) insertRows(ctx context.Context, projectID, datasetID, Json: m, }) } + call := s.s.Tabledata.InsertAll(projectID, datasetID, tableID, req).Context(ctx) + setClientHeader(call.Header()) var res *bq.TableDataInsertAllResponse - err := runWithRetry(ctx, func() error { - var err error - req := s.s.Tabledata.InsertAll(projectID, datasetID, tableID, req).Context(ctx) - setClientHeader(req.Header()) - res, err = req.Do() + err := runWithRetry(ctx, func() (err error) { + res, err = call.Do() return err }) if err != nil { @@ -309,25 +314,41 @@ func (s *bigqueryService) insertRows(ctx context.Context, projectID, datasetID, } func (s *bigqueryService) getJob(ctx context.Context, projectID, jobID string) (*Job, error) { - res, err := s.s.Jobs.Get(projectID, jobID). - Fields("configuration"). - Context(ctx). - Do() + bqjob, err := s.getJobInternal(ctx, projectID, jobID, "configuration", "jobReference") if err != nil { return nil, err } - var isQuery bool - var dest *bq.TableReference - if res.Configuration.Query != nil { - isQuery = true - dest = res.Configuration.Query.DestinationTable + return jobFromProtos(bqjob.JobReference, bqjob.Configuration), nil +} + +func (s *bigqueryService) jobStatus(ctx context.Context, projectID, jobID string) (*JobStatus, error) { + job, err := s.getJobInternal(ctx, projectID, jobID, "status", "statistics") + if err != nil { + return nil, err } - return &Job{ - projectID: projectID, - jobID: jobID, - isQuery: isQuery, - destinationTable: dest, - }, nil + st, err := jobStatusFromProto(job.Status) + if err != nil { + return nil, err + } + st.Statistics = jobStatisticsFromProto(job.Statistics) + return st, nil +} + +func (s *bigqueryService) getJobInternal(ctx context.Context, projectID, jobID string, fields ...googleapi.Field) (*bq.Job, error) { + var job *bq.Job + call := s.s.Jobs.Get(projectID, jobID).Context(ctx) + if len(fields) > 0 { + call = call.Fields(fields...) + } + setClientHeader(call.Header()) + err := runWithRetry(ctx, func() (err error) { + job, err = call.Do() + return err + }) + if err != nil { + return nil, err + } + return job, nil } func (s *bigqueryService) jobCancel(ctx context.Context, projectID, jobID string) error { @@ -336,27 +357,29 @@ func (s *bigqueryService) jobCancel(ctx context.Context, projectID, jobID string // docs: "This call will return immediately, and the client will need // to poll for the job status to see if the cancel completed // successfully". So it would be misleading to return a status. - _, err := s.s.Jobs.Cancel(projectID, jobID). + call := s.s.Jobs.Cancel(projectID, jobID). Fields(). // We don't need any of the response data. - Context(ctx). - Do() - return err + Context(ctx) + setClientHeader(call.Header()) + return runWithRetry(ctx, func() error { + _, err := call.Do() + return err + }) } -func (s *bigqueryService) jobStatus(ctx context.Context, projectID, jobID string) (*JobStatus, error) { - res, err := s.s.Jobs.Get(projectID, jobID). - Fields("status", "statistics"). // Only fetch what we need. - Context(ctx). - Do() - if err != nil { - return nil, err +func jobFromProtos(jr *bq.JobReference, config *bq.JobConfiguration) *Job { + var isQuery bool + var dest *bq.TableReference + if config.Query != nil { + isQuery = true + dest = config.Query.DestinationTable } - st, err := jobStatusFromProto(res.Status) - if err != nil { - return nil, err + return &Job{ + projectID: jr.ProjectId, + jobID: jr.JobId, + isQuery: isQuery, + destinationTable: dest, } - st.Statistics = jobStatisticsFromProto(res.Statistics) - return st, nil } var stateMap = map[string]State{"PENDING": Pending, "RUNNING": Running, "DONE": Done} @@ -465,7 +488,11 @@ func (s *bigqueryService) listTables(ctx context.Context, projectID, datasetID s if pageSize > 0 { req.MaxResults(int64(pageSize)) } - res, err := req.Do() + var res *bq.TableList + err := runWithRetry(ctx, func() (err error) { + res, err = req.Do() + return err + }) if err != nil { return nil, "", err } @@ -475,61 +502,98 @@ func (s *bigqueryService) listTables(ctx context.Context, projectID, datasetID s return tables, res.NextPageToken, nil } -type createTableConf struct { - projectID, datasetID, tableID string - expiration time.Time - viewQuery string - schema *bq.TableSchema - useStandardSQL bool - timePartitioning *TimePartitioning -} - // createTable creates a table in the BigQuery service. -// expiration is an optional time after which the table will be deleted and its storage reclaimed. -// If viewQuery is non-empty, the created table will be of type VIEW. +// If tm.ViewQuery is non-empty, the created table will be of type VIEW. // Note: expiration can only be set during table creation. // Note: after table creation, a view can be modified only if its table was initially created with a view. -func (s *bigqueryService) createTable(ctx context.Context, conf *createTableConf) error { - table := &bq.Table{ - TableReference: &bq.TableReference{ - ProjectId: conf.projectID, - DatasetId: conf.datasetID, - TableId: conf.tableID, - }, +func (s *bigqueryService) createTable(ctx context.Context, projectID, datasetID, tableID string, tm *TableMetadata) error { + table, err := bqTableFromMetadata(tm) + if err != nil { + return err } - if !conf.expiration.IsZero() { - table.ExpirationTime = conf.expiration.UnixNano() / 1e6 + table.TableReference = &bq.TableReference{ + ProjectId: projectID, + DatasetId: datasetID, + TableId: tableID, } - // TODO(jba): make it impossible to provide both a view query and a schema. - if conf.viewQuery != "" { - table.View = &bq.ViewDefinition{ - Query: conf.viewQuery, + req := s.s.Tables.Insert(projectID, datasetID, table).Context(ctx) + setClientHeader(req.Header()) + _, err = req.Do() + return err +} + +func bqTableFromMetadata(tm *TableMetadata) (*bq.Table, error) { + t := &bq.Table{} + if tm == nil { + return t, nil + } + if tm.Schema != nil && tm.ViewQuery != "" { + return nil, errors.New("bigquery: provide Schema or ViewQuery, not both") + } + t.FriendlyName = tm.Name + t.Description = tm.Description + if tm.Schema != nil { + t.Schema = tm.Schema.asTableSchema() + } + if tm.ViewQuery != "" { + if tm.UseStandardSQL && tm.UseLegacySQL { + return nil, errors.New("bigquery: cannot provide both UseStandardSQL and UseLegacySQL") } - if conf.useStandardSQL { - table.View.UseLegacySql = false - table.View.ForceSendFields = append(table.View.ForceSendFields, "UseLegacySql") + t.View = &bq.ViewDefinition{Query: tm.ViewQuery} + if tm.UseLegacySQL { + t.View.UseLegacySql = true + } else { + t.View.UseLegacySql = false + t.View.ForceSendFields = append(t.View.ForceSendFields, "UseLegacySql") } + } else if tm.UseLegacySQL || tm.UseStandardSQL { + return nil, errors.New("bigquery: UseLegacy/StandardSQL requires ViewQuery") } - if conf.schema != nil { - table.Schema = conf.schema - } - if conf.timePartitioning != nil { - table.TimePartitioning = &bq.TimePartitioning{ + if tm.TimePartitioning != nil { + t.TimePartitioning = &bq.TimePartitioning{ Type: "DAY", - ExpirationMs: int64(conf.timePartitioning.Expiration.Seconds() * 1000), + ExpirationMs: int64(tm.TimePartitioning.Expiration / time.Millisecond), } } + if !tm.ExpirationTime.IsZero() { + t.ExpirationTime = tm.ExpirationTime.UnixNano() / 1e6 + } - req := s.s.Tables.Insert(conf.projectID, conf.datasetID, table).Context(ctx) - setClientHeader(req.Header()) - _, err := req.Do() - return err + if tm.FullID != "" { + return nil, errors.New("cannot set FullID on create") + } + if tm.Type != "" { + return nil, errors.New("cannot set Type on create") + } + if !tm.CreationTime.IsZero() { + return nil, errors.New("cannot set CreationTime on create") + } + if !tm.LastModifiedTime.IsZero() { + return nil, errors.New("cannot set LastModifiedTime on create") + } + if tm.NumBytes != 0 { + return nil, errors.New("cannot set NumBytes on create") + } + if tm.NumRows != 0 { + return nil, errors.New("cannot set NumRows on create") + } + if tm.StreamingBuffer != nil { + return nil, errors.New("cannot set StreamingBuffer on create") + } + if tm.ETag != "" { + return nil, errors.New("cannot set ETag on create") + } + return t, nil } func (s *bigqueryService) getTableMetadata(ctx context.Context, projectID, datasetID, tableID string) (*TableMetadata, error) { req := s.s.Tables.Get(projectID, datasetID, tableID).Context(ctx) setClientHeader(req.Header()) - table, err := req.Do() + var table *bq.Table + err := runWithRetry(ctx, func() (err error) { + table, err = req.Do() + return err + }) if err != nil { return nil, err } @@ -539,7 +603,7 @@ func (s *bigqueryService) getTableMetadata(ctx context.Context, projectID, datas func (s *bigqueryService) deleteTable(ctx context.Context, projectID, datasetID, tableID string) error { req := s.s.Tables.Delete(projectID, datasetID, tableID).Context(ctx) setClientHeader(req.Header()) - return req.Do() + return runWithRetry(ctx, func() error { return req.Do() }) } func bqTableToMetadata(t *bq.Table) *TableMetadata { @@ -547,18 +611,20 @@ func bqTableToMetadata(t *bq.Table) *TableMetadata { Description: t.Description, Name: t.FriendlyName, Type: TableType(t.Type), - ID: t.Id, + FullID: t.Id, NumBytes: t.NumBytes, NumRows: t.NumRows, ExpirationTime: unixMillisToTime(t.ExpirationTime), CreationTime: unixMillisToTime(t.CreationTime), LastModifiedTime: unixMillisToTime(int64(t.LastModifiedTime)), + ETag: t.Etag, } if t.Schema != nil { md.Schema = convertTableSchema(t.Schema) } if t.View != nil { - md.View = t.View.Query + md.ViewQuery = t.View.Query + md.UseLegacySQL = t.View.UseLegacySql } if t.TimePartitioning != nil { md.TimePartitioning = &TimePartitioning{ @@ -583,9 +649,10 @@ func bqDatasetToMetadata(d *bq.Dataset) *DatasetMetadata { DefaultTableExpiration: time.Duration(d.DefaultTableExpirationMs) * time.Millisecond, Description: d.Description, Name: d.FriendlyName, - ID: d.Id, + FullID: d.Id, Location: d.Location, Labels: d.Labels, + ETag: d.Etag, } } @@ -610,12 +677,13 @@ func convertTableReference(tr *bq.TableReference) *Table { // patchTableConf contains fields to be patched. type patchTableConf struct { // These fields are omitted from the patch operation if nil. - Description *string - Name *string - Schema Schema + Description *string + Name *string + Schema Schema + ExpirationTime time.Time } -func (s *bigqueryService) patchTable(ctx context.Context, projectID, datasetID, tableID string, conf *patchTableConf) (*TableMetadata, error) { +func (s *bigqueryService) patchTable(ctx context.Context, projectID, datasetID, tableID string, conf *patchTableConf, etag string) (*TableMetadata, error) { t := &bq.Table{} forceSend := func(field string) { t.ForceSendFields = append(t.ForceSendFields, field) @@ -633,39 +701,135 @@ func (s *bigqueryService) patchTable(ctx context.Context, projectID, datasetID, t.Schema = conf.Schema.asTableSchema() forceSend("Schema") } - table, err := s.s.Tables.Patch(projectID, datasetID, tableID, t). - Context(ctx). - Do() - if err != nil { + if !conf.ExpirationTime.IsZero() { + t.ExpirationTime = conf.ExpirationTime.UnixNano() / 1e6 + forceSend("ExpirationTime") + } + call := s.s.Tables.Patch(projectID, datasetID, tableID, t).Context(ctx) + setClientHeader(call.Header()) + if etag != "" { + call.Header().Set("If-Match", etag) + } + var table *bq.Table + if err := runWithRetry(ctx, func() (err error) { + table, err = call.Do() + return err + }); err != nil { return nil, err } return bqTableToMetadata(table), nil } -func (s *bigqueryService) insertDataset(ctx context.Context, datasetID, projectID string) error { - ds := &bq.Dataset{ - DatasetReference: &bq.DatasetReference{DatasetId: datasetID}, +func (s *bigqueryService) insertDataset(ctx context.Context, datasetID, projectID string, dm *DatasetMetadata) error { + // TODO(jba): retry? + ds, err := bqDatasetFromMetadata(dm) + if err != nil { + return err } + ds.DatasetReference = &bq.DatasetReference{DatasetId: datasetID} req := s.s.Datasets.Insert(projectID, ds).Context(ctx) setClientHeader(req.Header()) - _, err := req.Do() + _, err = req.Do() return err } +func (s *bigqueryService) patchDataset(ctx context.Context, projectID, datasetID string, dm *DatasetMetadataToUpdate, etag string) (*DatasetMetadata, error) { + ds := bqDatasetFromUpdateMetadata(dm) + call := s.s.Datasets.Patch(projectID, datasetID, ds).Context(ctx) + setClientHeader(call.Header()) + if etag != "" { + call.Header().Set("If-Match", etag) + } + var ds2 *bq.Dataset + if err := runWithRetry(ctx, func() (err error) { + ds2, err = call.Do() + return err + }); err != nil { + return nil, err + } + return bqDatasetToMetadata(ds2), nil +} + +func bqDatasetFromMetadata(dm *DatasetMetadata) (*bq.Dataset, error) { + ds := &bq.Dataset{} + if dm == nil { + return ds, nil + } + ds.FriendlyName = dm.Name + ds.Description = dm.Description + ds.Location = dm.Location + ds.DefaultTableExpirationMs = int64(dm.DefaultTableExpiration / time.Millisecond) + ds.Labels = dm.Labels + if !dm.CreationTime.IsZero() { + return nil, errors.New("bigquery: Dataset.CreationTime is not writable") + } + if !dm.LastModifiedTime.IsZero() { + return nil, errors.New("bigquery: Dataset.LastModifiedTime is not writable") + } + if dm.FullID != "" { + return nil, errors.New("bigquery: Dataset.FullID is not writable") + } + if dm.ETag != "" { + return nil, errors.New("bigquery: Dataset.ETag is not writable") + } + return ds, nil +} + +func bqDatasetFromUpdateMetadata(dm *DatasetMetadataToUpdate) *bq.Dataset { + ds := &bq.Dataset{} + forceSend := func(field string) { + ds.ForceSendFields = append(ds.ForceSendFields, field) + } + + if dm.Description != nil { + ds.Description = optional.ToString(dm.Description) + forceSend("Description") + } + if dm.Name != nil { + ds.FriendlyName = optional.ToString(dm.Name) + forceSend("FriendlyName") + } + if dm.DefaultTableExpiration != nil { + dur := optional.ToDuration(dm.DefaultTableExpiration) + if dur == 0 { + // Send a null to delete the field. + ds.NullFields = append(ds.NullFields, "DefaultTableExpirationMs") + } else { + ds.DefaultTableExpirationMs = int64(dur / time.Millisecond) + } + } + if dm.setLabels != nil || dm.deleteLabels != nil { + ds.Labels = map[string]string{} + for k, v := range dm.setLabels { + ds.Labels[k] = v + } + if len(ds.Labels) == 0 && len(dm.deleteLabels) > 0 { + forceSend("Labels") + } + for l := range dm.deleteLabels { + ds.NullFields = append(ds.NullFields, "Labels."+l) + } + } + return ds +} + func (s *bigqueryService) deleteDataset(ctx context.Context, datasetID, projectID string) error { req := s.s.Datasets.Delete(projectID, datasetID).Context(ctx) setClientHeader(req.Header()) - return req.Do() + return runWithRetry(ctx, func() error { return req.Do() }) } func (s *bigqueryService) getDatasetMetadata(ctx context.Context, projectID, datasetID string) (*DatasetMetadata, error) { req := s.s.Datasets.Get(projectID, datasetID).Context(ctx) setClientHeader(req.Header()) - table, err := req.Do() - if err != nil { + var ds *bq.Dataset + if err := runWithRetry(ctx, func() (err error) { + ds, err = req.Do() + return err + }); err != nil { return nil, err } - return bqDatasetToMetadata(table), nil + return bqDatasetToMetadata(ds), nil } func (s *bigqueryService) listDatasets(ctx context.Context, projectID string, maxResults int, pageToken string, all bool, filter string) ([]*Dataset, string, error) { @@ -680,7 +844,11 @@ func (s *bigqueryService) listDatasets(ctx context.Context, projectID string, ma if filter != "" { req.Filter(filter) } - res, err := req.Do() + var res *bq.DatasetList + err := runWithRetry(ctx, func() (err error) { + res, err = req.Do() + return err + }) if err != nil { return nil, "", err } @@ -698,13 +866,54 @@ func (s *bigqueryService) convertListedDataset(d *bq.DatasetListDatasets) *Datas } } +func (s *bigqueryService) listJobs(ctx context.Context, projectID string, maxResults int, pageToken string, all bool, state string) ([]JobInfo, string, error) { + req := s.s.Jobs.List(projectID). + Context(ctx). + PageToken(pageToken). + Projection("full"). + AllUsers(all) + if state != "" { + req.StateFilter(state) + } + setClientHeader(req.Header()) + if maxResults > 0 { + req.MaxResults(int64(maxResults)) + } + res, err := req.Do() + if err != nil { + return nil, "", err + } + var jobInfos []JobInfo + for _, j := range res.Jobs { + ji, err := s.convertListedJob(j) + if err != nil { + return nil, "", err + } + jobInfos = append(jobInfos, ji) + } + return jobInfos, res.NextPageToken, nil +} + +func (s *bigqueryService) convertListedJob(j *bq.JobListJobs) (JobInfo, error) { + st, err := jobStatusFromProto(j.Status) + if err != nil { + return JobInfo{}, err + } + st.Statistics = jobStatisticsFromProto(j.Statistics) + return JobInfo{ + Job: jobFromProtos(j.JobReference, j.Configuration), + Status: st, + }, nil +} + // runWithRetry calls the function until it returns nil or a non-retryable error, or // the context is done. // See the similar function in ../storage/invoke.go. The main difference is the // reason for retrying. func runWithRetry(ctx context.Context, call func() error) error { + // These parameters match the suggestions in https://cloud.google.com/bigquery/sla. backoff := gax.Backoff{ - Initial: 2 * time.Second, + Initial: 1 * time.Second, Max: 32 * time.Second, Multiplier: 2, } @@ -717,7 +926,7 @@ func runWithRetry(ctx context.Context, call func() error) error { }) } -// Use the criteria in https://cloud.google.com/bigquery/troubleshooting-errors. +// This is the correct definition of retryable according to the BigQuery team. func retryableError(err error) bool { e, ok := err.(*googleapi.Error) if !ok { @@ -727,5 +936,5 @@ func retryableError(err error) bool { if len(e.Errors) > 0 { reason = e.Errors[0].Reason } - return reason == "backendError" && (e.Code == 500 || e.Code == 503) + return reason == "backendError" || reason == "rateLimitExceeded" } diff --git a/vendor/cloud.google.com/go/bigquery/service_test.go b/vendor/cloud.google.com/go/bigquery/service_test.go index 65db4d711..ffb192c8c 100644 --- a/vendor/cloud.google.com/go/bigquery/service_test.go +++ b/vendor/cloud.google.com/go/bigquery/service_test.go @@ -15,10 +15,11 @@ package bigquery import ( - "reflect" "testing" "time" + "cloud.google.com/go/internal/testutil" + bq "google.golang.org/api/bigquery/v2" ) @@ -58,26 +59,193 @@ func TestBQTableToMetadata(t *testing.T) { &TableMetadata{ Description: "desc", Name: "fname", - View: "view-query", - ID: "id", + ViewQuery: "view-query", + FullID: "id", Type: ExternalTable, ExpirationTime: aTime.Truncate(time.Millisecond), CreationTime: aTime.Truncate(time.Millisecond), LastModifiedTime: aTime.Truncate(time.Millisecond), NumBytes: 123, NumRows: 7, - TimePartitioning: &TimePartitioning{Expiration: time.Duration(7890) * time.Millisecond}, + TimePartitioning: &TimePartitioning{Expiration: 7890 * time.Millisecond}, StreamingBuffer: &StreamingBuffer{ EstimatedBytes: 11, EstimatedRows: 3, OldestEntryTime: aTime, }, + ETag: "etag", }, }, } { got := bqTableToMetadata(test.in) - if !reflect.DeepEqual(got, test.want) { - t.Errorf("%v:\ngot %+v\nwant %+v", test.in, got, test.want) + if diff := testutil.Diff(got, test.want); diff != "" { + t.Errorf("%+v:\n, -got, +want:\n%s", test.in, diff) } } } + +func TestBQTableFromMetadata(t *testing.T) { + aTime := time.Date(2017, 1, 26, 0, 0, 0, 0, time.Local) + aTimeMillis := aTime.UnixNano() / 1e6 + sc := Schema{fieldSchema("desc", "name", "STRING", false, true)} + + for _, test := range []struct { + in *TableMetadata + want *bq.Table + }{ + {nil, &bq.Table{}}, + {&TableMetadata{}, &bq.Table{}}, + { + &TableMetadata{ + Name: "n", + Description: "d", + Schema: sc, + ExpirationTime: aTime, + }, + &bq.Table{ + FriendlyName: "n", + Description: "d", + Schema: &bq.TableSchema{ + Fields: []*bq.TableFieldSchema{ + bqTableFieldSchema("desc", "name", "STRING", "REQUIRED"), + }, + }, + ExpirationTime: aTimeMillis, + }, + }, + { + &TableMetadata{ViewQuery: "q"}, + &bq.Table{ + View: &bq.ViewDefinition{ + Query: "q", + UseLegacySql: false, + ForceSendFields: []string{"UseLegacySql"}, + }, + }, + }, + { + &TableMetadata{ + ViewQuery: "q", + UseLegacySQL: true, + TimePartitioning: &TimePartitioning{}, + }, + &bq.Table{ + View: &bq.ViewDefinition{ + Query: "q", + UseLegacySql: true, + }, + TimePartitioning: &bq.TimePartitioning{ + Type: "DAY", + ExpirationMs: 0, + }, + }, + }, + { + &TableMetadata{ + ViewQuery: "q", + UseStandardSQL: true, + TimePartitioning: &TimePartitioning{time.Second}, + }, + &bq.Table{ + View: &bq.ViewDefinition{ + Query: "q", + UseLegacySql: false, + ForceSendFields: []string{"UseLegacySql"}, + }, + TimePartitioning: &bq.TimePartitioning{ + Type: "DAY", + ExpirationMs: 1000, + }, + }, + }, + } { + got, err := bqTableFromMetadata(test.in) + if err != nil { + t.Fatalf("%+v: %v", test.in, err) + } + if diff := testutil.Diff(got, test.want); diff != "" { + t.Errorf("%+v:\n-got, +want:\n%s", test.in, diff) + } + } + + // Errors + for _, in := range []*TableMetadata{ + {Schema: sc, ViewQuery: "q"}, // can't have both schema and query + {UseLegacySQL: true}, // UseLegacySQL without query + {UseStandardSQL: true}, // UseStandardSQL without query + // read-only fields + {FullID: "x"}, + {Type: "x"}, + {CreationTime: aTime}, + {LastModifiedTime: aTime}, + {NumBytes: 1}, + {NumRows: 1}, + {StreamingBuffer: &StreamingBuffer{}}, + {ETag: "x"}, + } { + _, err := bqTableFromMetadata(in) + if err == nil { + t.Errorf("%+v: got nil, want error", in) + } + } +} + +func TestBQDatasetFromMetadata(t *testing.T) { + for _, test := range []struct { + in *DatasetMetadata + want *bq.Dataset + }{ + {nil, &bq.Dataset{}}, + {&DatasetMetadata{Name: "name"}, &bq.Dataset{FriendlyName: "name"}}, + {&DatasetMetadata{ + Name: "name", + Description: "desc", + DefaultTableExpiration: time.Hour, + Location: "EU", + Labels: map[string]string{"x": "y"}, + }, &bq.Dataset{ + FriendlyName: "name", + Description: "desc", + DefaultTableExpirationMs: 60 * 60 * 1000, + Location: "EU", + Labels: map[string]string{"x": "y"}, + }}, + } { + got, err := bqDatasetFromMetadata(test.in) + if err != nil { + t.Fatal(err) + } + if !testutil.Equal(got, test.want) { + t.Errorf("%v:\ngot %+v\nwant %+v", test.in, got, test.want) + } + } + + // Check that non-writeable fields are unset. + _, err := bqDatasetFromMetadata(&DatasetMetadata{FullID: "x"}) + if err == nil { + t.Error("got nil, want error") + } +} + +func TestBQDatasetFromUpdateMetadata(t *testing.T) { + dm := DatasetMetadataToUpdate{ + Description: "desc", + Name: "name", + DefaultTableExpiration: time.Hour, + } + dm.SetLabel("label", "value") + dm.DeleteLabel("del") + + got := bqDatasetFromUpdateMetadata(&dm) + want := &bq.Dataset{ + Description: "desc", + FriendlyName: "name", + DefaultTableExpirationMs: 60 * 60 * 1000, + Labels: map[string]string{"label": "value"}, + ForceSendFields: []string{"Description", "FriendlyName"}, + NullFields: []string{"Labels.del"}, + } + if diff := testutil.Diff(got, want); diff != "" { + t.Errorf("-got, +want:\n%s", diff) + } +} diff --git a/vendor/cloud.google.com/go/bigquery/table.go b/vendor/cloud.google.com/go/bigquery/table.go index ffd40bf05..3a62dbb60 100644 --- a/vendor/cloud.google.com/go/bigquery/table.go +++ b/vendor/cloud.google.com/go/bigquery/table.go @@ -39,18 +39,39 @@ type Table struct { // TableMetadata contains information about a BigQuery table. type TableMetadata struct { - Description string // The user-friendly description of this table. - Name string // The user-friendly name for this table. - Schema Schema - View string + // The following fields can be set when creating a table. - ID string // An opaque ID uniquely identifying the table. - Type TableType + // The user-friendly name for the table. + Name string + + // The user-friendly description of the table. + Description string + + // The table schema. If provided on create, ViewQuery must be empty. + Schema Schema + + // The query to use for a view. If provided on create, Schema must be nil. + ViewQuery string + + // Use Legacy SQL for the view query. + // At most one of UseLegacySQL and UseStandardSQL can be true. + UseLegacySQL bool + + // Use Legacy SQL for the view query. The default. + // At most one of UseLegacySQL and UseStandardSQL can be true. + UseStandardSQL bool + + // If non-nil, the table is partitioned by time. + TimePartitioning *TimePartitioning // The time when this table expires. If not set, the table will persist // indefinitely. Expired tables will be deleted and their storage reclaimed. ExpirationTime time.Time + // All the fields below are read-only. + + FullID string // An opaque ID uniquely identifying the table. + Type TableType CreationTime time.Time LastModifiedTime time.Time @@ -62,13 +83,14 @@ type TableMetadata struct { // This does not include data that is being buffered during a streaming insert. NumRows uint64 - // The time-based partitioning settings for this table. - TimePartitioning *TimePartitioning - // Contains information regarding this table's streaming buffer, if one is // present. This field will be nil if the table is not being streamed to or if // there is no data in the streaming buffer. StreamingBuffer *StreamingBuffer + + // ETag is the ETag obtained when reading metadata. Pass it to Table.Update to + // ensure that the metadata hasn't changed since it was read. + ETag string } // TableCreateDisposition specifies the circumstances under which destination table will be created. @@ -111,6 +133,14 @@ const ( ExternalTable TableType = "EXTERNAL" ) +// TimePartitioning describes the time-based date partitioning on a table. +// For more information see: https://cloud.google.com/bigquery/docs/creating-partitioned-tables. +type TimePartitioning struct { + // The amount of time to keep the storage for a partition. + // If the duration is empty (0), the data in the partitions do not expire. + Expiration time.Duration +} + // StreamingBuffer holds information about the streaming buffer. type StreamingBuffer struct { // A lower-bound estimate of the number of bytes currently in the streaming @@ -144,16 +174,9 @@ func (t *Table) implicitTable() bool { } // Create creates a table in the BigQuery service. -func (t *Table) Create(ctx context.Context, options ...CreateTableOption) error { - conf := &createTableConf{ - projectID: t.ProjectID, - datasetID: t.DatasetID, - tableID: t.TableID, - } - for _, o := range options { - o.customizeCreateTable(conf) - } - return t.c.service.createTable(ctx, conf) +// Pass in a TableMetadata value to configure the dataset. +func (t *Table) Create(ctx context.Context, tm *TableMetadata) error { + return t.c.service.createTable(ctx, t.ProjectID, t.DatasetID, t.TableID, tm) } // Metadata fetches the metadata for the table. @@ -166,53 +189,6 @@ func (t *Table) Delete(ctx context.Context) error { return t.c.service.deleteTable(ctx, t.ProjectID, t.DatasetID, t.TableID) } -// A CreateTableOption is an optional argument to CreateTable. -type CreateTableOption interface { - customizeCreateTable(*createTableConf) -} - -type tableExpiration time.Time - -// TableExpiration returns a CreateTableOption that will cause the created table to be deleted after the expiration time. -func TableExpiration(exp time.Time) CreateTableOption { return tableExpiration(exp) } - -func (opt tableExpiration) customizeCreateTable(conf *createTableConf) { - conf.expiration = time.Time(opt) -} - -type viewQuery string - -// ViewQuery returns a CreateTableOption that causes the created table to be a virtual table defined by the supplied query. -// For more information see: https://cloud.google.com/bigquery/querying-data#views -func ViewQuery(query string) CreateTableOption { return viewQuery(query) } - -func (opt viewQuery) customizeCreateTable(conf *createTableConf) { - conf.viewQuery = string(opt) -} - -type useStandardSQL struct{} - -// UseStandardSQL returns a CreateTableOption to set the table to use standard SQL. -// The default setting is false (using legacy SQL). -func UseStandardSQL() CreateTableOption { return useStandardSQL{} } - -func (opt useStandardSQL) customizeCreateTable(conf *createTableConf) { - conf.useStandardSQL = true -} - -// TimePartitioning is a CreateTableOption that can be used to set time-based -// date partitioning on a table. -// For more information see: https://cloud.google.com/bigquery/docs/creating-partitioned-tables -type TimePartitioning struct { - // (Optional) The amount of time to keep the storage for a partition. - // If the duration is empty (0), the data in the partitions do not expire. - Expiration time.Duration -} - -func (opt TimePartitioning) customizeCreateTable(conf *createTableConf) { - conf.timePartitioning = &opt -} - // Read fetches the contents of the table. func (t *Table) Read(ctx context.Context) *RowIterator { return newRowIterator(ctx, t.c.service, &readTableConf{ @@ -223,7 +199,7 @@ func (t *Table) Read(ctx context.Context) *RowIterator { } // Update modifies specific Table metadata fields. -func (t *Table) Update(ctx context.Context, tm TableMetadataToUpdate) (*TableMetadata, error) { +func (t *Table) Update(ctx context.Context, tm TableMetadataToUpdate, etag string) (*TableMetadata, error) { var conf patchTableConf if tm.Description != nil { s := optional.ToString(tm.Description) @@ -234,7 +210,8 @@ func (t *Table) Update(ctx context.Context, tm TableMetadataToUpdate) (*TableMet conf.Name = &s } conf.Schema = tm.Schema - return t.c.service.patchTable(ctx, t.ProjectID, t.DatasetID, t.TableID, &conf) + conf.ExpirationTime = tm.ExpirationTime + return t.c.service.patchTable(ctx, t.ProjectID, t.DatasetID, t.TableID, &conf, etag) } // TableMetadataToUpdate is used when updating a table's metadata. @@ -250,4 +227,7 @@ type TableMetadataToUpdate struct { // When updating a schema, you can add columns but not remove them. Schema Schema // TODO(jba): support updating the view + + // ExpirationTime is the time when this table expires. + ExpirationTime time.Time } diff --git a/vendor/cloud.google.com/go/bigquery/uploader_test.go b/vendor/cloud.google.com/go/bigquery/uploader_test.go index 6d6745f98..41f8d812b 100644 --- a/vendor/cloud.google.com/go/bigquery/uploader_test.go +++ b/vendor/cloud.google.com/go/bigquery/uploader_test.go @@ -15,10 +15,12 @@ package bigquery import ( - "reflect" "testing" + "github.com/google/go-cmp/cmp" + "cloud.google.com/go/internal/pretty" + "cloud.google.com/go/internal/testutil" "golang.org/x/net/context" ) @@ -133,7 +135,7 @@ func TestInsertsData(t *testing.T) { t.Errorf("expected successful Put of ValueSaver; got: %v", err) } } - if got, want := irr.rowBatches, tc.data; !reflect.DeepEqual(got, want) { + if got, want := irr.rowBatches, tc.data; !testutil.Equal(got, want) { t.Errorf("got: %v, want: %v", got, want) } } @@ -265,7 +267,7 @@ func TestValueSavers(t *testing.T) { if err != nil { t.Fatal(err) } - if !reflect.DeepEqual(got, test.want) { + if !testutil.Equal(got, test.want, cmp.AllowUnexported(testSaver{})) { t.Errorf("%+v: got %v, want %v", test.in, pretty.Value(got), pretty.Value(test.want)) } // Make sure Save is successful. diff --git a/vendor/cloud.google.com/go/bigquery/utils_test.go b/vendor/cloud.google.com/go/bigquery/utils_test.go index c781f9c3f..85eece8a1 100644 --- a/vendor/cloud.google.com/go/bigquery/utils_test.go +++ b/vendor/cloud.google.com/go/bigquery/utils_test.go @@ -14,11 +14,6 @@ package bigquery -import ( - "golang.org/x/net/context" - bq "google.golang.org/api/bigquery/v2" -) - func defaultGCS() *GCSReference { return &GCSReference{ uris: []string{"uri"}, @@ -30,18 +25,3 @@ var defaultQuery = &QueryConfig{ DefaultProjectID: "def-project-id", DefaultDatasetID: "def-dataset-id", } - -type testService struct { - *bq.Job - - service -} - -func (s *testService) insertJob(ctx context.Context, projectID string, conf *insertJobConf) (*Job, error) { - s.Job = conf.job - return &Job{}, nil -} - -func (s *testService) jobStatus(ctx context.Context, projectID, jobID string) (*JobStatus, error) { - return &JobStatus{State: Done}, nil -} diff --git a/vendor/cloud.google.com/go/bigquery/value_test.go b/vendor/cloud.google.com/go/bigquery/value_test.go index 01accd226..0e1be1729 100644 --- a/vendor/cloud.google.com/go/bigquery/value_test.go +++ b/vendor/cloud.google.com/go/bigquery/value_test.go @@ -18,12 +18,14 @@ import ( "encoding/base64" "fmt" "math" - "reflect" "testing" "time" + "github.com/google/go-cmp/cmp" + "cloud.google.com/go/civil" "cloud.google.com/go/internal/pretty" + "cloud.google.com/go/internal/testutil" bq "google.golang.org/api/bigquery/v2" ) @@ -50,7 +52,7 @@ func TestConvertBasicValues(t *testing.T) { t.Fatalf("error converting: %v", err) } want := []Value{"a", int64(1), 1.2, true, []byte("foo")} - if !reflect.DeepEqual(got, want) { + if !testutil.Equal(got, want) { t.Errorf("converting basic values: got:\n%v\nwant:\n%v", got, want) } } @@ -92,7 +94,7 @@ func TestConvertNullValues(t *testing.T) { t.Fatalf("error converting: %v", err) } want := []Value{nil} - if !reflect.DeepEqual(got, want) { + if !testutil.Equal(got, want) { t.Errorf("converting null values: got:\n%v\nwant:\n%v", got, want) } } @@ -123,7 +125,7 @@ func TestBasicRepetition(t *testing.T) { t.Fatalf("error converting: %v", err) } want := []Value{[]Value{int64(1), int64(2), int64(3)}} - if !reflect.DeepEqual(got, want) { + if !testutil.Equal(got, want) { t.Errorf("converting basic repeated values: got:\n%v\nwant:\n%v", got, want) } } @@ -160,7 +162,7 @@ func TestNestedRecordContainingRepetition(t *testing.T) { t.Fatalf("error converting: %v", err) } want := []Value{[]Value{[]Value{int64(1), int64(2), int64(3)}}} - if !reflect.DeepEqual(got, want) { + if !testutil.Equal(got, want) { t.Errorf("converting basic repeated values: got:\n%v\nwant:\n%v", got, want) } } @@ -234,7 +236,7 @@ func TestRepeatedRecordContainingRepetition(t *testing.T) { }, }, } - if !reflect.DeepEqual(got, want) { + if !testutil.Equal(got, want) { t.Errorf("converting repeated records with repeated values: got:\n%v\nwant:\n%v", got, want) } } @@ -330,7 +332,7 @@ func TestRepeatedRecordContainingRecord(t *testing.T) { }, }, } - if !reflect.DeepEqual(got, want) { + if !testutil.Equal(got, want) { t.Errorf("converting repeated records containing record : got:\n%v\nwant:\n%v", got, want) } } @@ -417,7 +419,7 @@ func TestValuesSaverConvertsToMap(t *testing.T) { t.Errorf("Expected successful save; got: %v", err) } got := &insertionRow{insertID, data} - if !reflect.DeepEqual(got, tc.want) { + if !testutil.Equal(got, tc.want) { t.Errorf("saving ValuesSaver:\ngot:\n%+v\nwant:\n%+v", got, tc.want) } } @@ -458,7 +460,7 @@ func TestStructSaver(t *testing.T) { if wantIID := "iid"; gotIID != wantIID { t.Errorf("%s: InsertID: got %q, want %q", msg, gotIID, wantIID) } - if !reflect.DeepEqual(got, want) { + if !testutil.Equal(got, want) { t.Errorf("%s:\ngot\n%#v\nwant\n%#v", msg, got, want) } } @@ -523,7 +525,7 @@ func TestConvertRows(t *testing.T) { if err != nil { t.Fatalf("got %v, want nil", err) } - if !reflect.DeepEqual(got, want) { + if !testutil.Equal(got, want) { t.Errorf("\ngot %v\nwant %v", got, want) } } @@ -542,7 +544,7 @@ func TestValueList(t *testing.T) { t.Fatal(err) } - if !reflect.DeepEqual(got, want) { + if !testutil.Equal(got, want) { t.Errorf("got %+v, want %+v", got, want) } @@ -551,7 +553,7 @@ func TestValueList(t *testing.T) { if err := vl.Load(want, schema); err != nil { t.Fatal(err) } - if !reflect.DeepEqual(got, want) { + if !testutil.Equal(got, want) { t.Errorf("got %+v, want %+v", got, want) } } @@ -588,7 +590,7 @@ func TestValueMap(t *testing.T) { map[string]Value{"x": 5, "y": 6}, }, } - if !reflect.DeepEqual(vm, valueMap(want)) { + if !testutil.Equal(vm, valueMap(want)) { t.Errorf("got\n%+v\nwant\n%+v", vm, want) } @@ -669,7 +671,7 @@ func TestStructLoader(t *testing.T) { Nested: nested{NestS: "nested", NestI: 17}, Tagged: "z", } - if !reflect.DeepEqual(&ts1, want) { + if !testutil.Equal(&ts1, want, cmp.AllowUnexported(testStruct1{})) { t.Errorf("got %+v, want %+v", pretty.Value(ts1), pretty.Value(*want)) d, _, err := pretty.Diff(*want, ts1) if err == nil { @@ -684,7 +686,7 @@ func TestStructLoader(t *testing.T) { t.Fatal(err) } want2 := &nestedPtr{Nested: &nested{NestS: "nested", NestI: 17}} - if !reflect.DeepEqual(&np, want2) { + if !testutil.Equal(&np, want2) { t.Errorf("got %+v, want %+v", pretty.Value(np), pretty.Value(*want2)) } @@ -694,7 +696,7 @@ func TestStructLoader(t *testing.T) { if err := load(&np, schema2, testValues); err != nil { t.Fatal(err) } - if !reflect.DeepEqual(&np, want2) { + if !testutil.Equal(&np, want2) { t.Errorf("got %+v, want %+v", pretty.Value(np), pretty.Value(*want2)) } if np.Nested != nst { @@ -739,7 +741,7 @@ func TestStructLoaderRepeated(t *testing.T) { LongNums: [...]int{1, 2, 3, 0, 0}, Nested: []*nested{{"x", 1}, {"y", 2}}, } - if !reflect.DeepEqual(r1, want) { + if !testutil.Equal(r1, want) { t.Errorf("got %+v, want %+v", pretty.Value(r1), pretty.Value(want)) } @@ -750,7 +752,7 @@ func TestStructLoaderRepeated(t *testing.T) { if err := load(&r2, repSchema, repValues); err != nil { t.Fatal(err) } - if !reflect.DeepEqual(r2, want) { + if !testutil.Equal(r2, want) { t.Errorf("got %+v, want %+v", pretty.Value(r2), pretty.Value(want)) } if got, want := cap(r2.Nums), 5; got != want { @@ -762,7 +764,7 @@ func TestStructLoaderRepeated(t *testing.T) { if err := load(&r3, repSchema, repValues); err != nil { t.Fatal(err) } - if !reflect.DeepEqual(r3, want) { + if !testutil.Equal(r3, want) { t.Errorf("got %+v, want %+v", pretty.Value(r3), pretty.Value(want)) } if got, want := cap(r3.Nums), 3; got != want { @@ -801,7 +803,7 @@ func TestStructLoaderFieldOverlap(t *testing.T) { t.Fatal(err) } want1 := S1{I: 7} - if !reflect.DeepEqual(s1, want1) { + if !testutil.Equal(s1, want1) { t.Errorf("got %+v, want %+v", pretty.Value(s1), pretty.Value(want1)) } @@ -813,7 +815,7 @@ func TestStructLoaderFieldOverlap(t *testing.T) { t.Fatal(err) } want2 := S2{} - if !reflect.DeepEqual(s2, want2) { + if !testutil.Equal(s2, want2) { t.Errorf("got %+v, want %+v", pretty.Value(s2), pretty.Value(want2)) } } diff --git a/vendor/cloud.google.com/go/bigtable/admin.go b/vendor/cloud.google.com/go/bigtable/admin.go index a1f5f01c0..cfc9106dc 100644 --- a/vendor/cloud.google.com/go/bigtable/admin.go +++ b/vendor/cloud.google.com/go/bigtable/admin.go @@ -26,10 +26,12 @@ import ( lroauto "cloud.google.com/go/longrunning/autogen" "golang.org/x/net/context" "google.golang.org/api/option" - "google.golang.org/api/transport" + gtransport "google.golang.org/api/transport/grpc" btapb "google.golang.org/genproto/googleapis/bigtable/admin/v2" "google.golang.org/grpc" "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/grpc/codes" ) const adminAddr = "bigtableadmin.googleapis.com:443" @@ -52,7 +54,7 @@ func NewAdminClient(ctx context.Context, project, instance string, opts ...optio return nil, err } o = append(o, opts...) - conn, err := transport.DialGRPC(ctx, o...) + conn, err := gtransport.Dial(ctx, o...) if err != nil { return nil, fmt.Errorf("dialing: %v", err) } @@ -92,17 +94,18 @@ func (ac *AdminClient) Tables(ctx context.Context) ([]string, error) { return names, nil } +// TableConf contains all of the information necessary to create a table with column families. +type TableConf struct { + TableID string + SplitKeys []string + // Families is a map from family name to GCPolicy + Families map[string]GCPolicy +} + // CreateTable creates a new table in the instance. // This method may return before the table's creation is complete. func (ac *AdminClient) CreateTable(ctx context.Context, table string) error { - ctx = mergeOutgoingMetadata(ctx, ac.md) - prefix := ac.instancePrefix() - req := &btapb.CreateTableRequest{ - Parent: prefix, - TableId: table, - } - _, err := ac.tClient.CreateTable(ctx, req) - return err + return ac.CreateTableFromConf(ctx, &TableConf{TableID: table}) } // CreatePresplitTable creates a new table in the instance. @@ -110,16 +113,29 @@ func (ac *AdminClient) CreateTable(ctx context.Context, table string) error { // Given two split keys, "s1" and "s2", three tablets will be created, // spanning the key ranges: [, s1), [s1, s2), [s2, ). // This method may return before the table's creation is complete. -func (ac *AdminClient) CreatePresplitTable(ctx context.Context, table string, split_keys []string) error { +func (ac *AdminClient) CreatePresplitTable(ctx context.Context, table string, splitKeys []string) error { + return ac.CreateTableFromConf(ctx, &TableConf{TableID: table, SplitKeys: splitKeys}) +} + +// CreateTableFromConf creates a new table in the instance from the given configuration. +func (ac *AdminClient) CreateTableFromConf(ctx context.Context, conf *TableConf) error { + ctx = mergeOutgoingMetadata(ctx, ac.md) var req_splits []*btapb.CreateTableRequest_Split - for _, split := range split_keys { + for _, split := range conf.SplitKeys { req_splits = append(req_splits, &btapb.CreateTableRequest_Split{[]byte(split)}) } - ctx = mergeOutgoingMetadata(ctx, ac.md) + var tbl btapb.Table + if conf.Families != nil { + tbl.ColumnFamilies = make(map[string]*btapb.ColumnFamily) + for fam, policy := range conf.Families { + tbl.ColumnFamilies[fam] = &btapb.ColumnFamily{policy.proto()} + } + } prefix := ac.instancePrefix() req := &btapb.CreateTableRequest{ Parent: prefix, - TableId: table, + TableId: conf.TableID, + Table: &tbl, InitialSplits: req_splits, } _, err := ac.tClient.CreateTable(ctx, req) @@ -171,13 +187,13 @@ func (ac *AdminClient) DeleteColumnFamily(ctx context.Context, table, family str // TableInfo represents information about a table. type TableInfo struct { // DEPRECATED - This field is deprecated. Please use FamilyInfos instead. - Families []string + Families []string FamilyInfos []FamilyInfo } // FamilyInfo represents information about a column family. type FamilyInfo struct { - Name string + Name string GCPolicy string } @@ -251,7 +267,7 @@ func NewInstanceAdminClient(ctx context.Context, project string, opts ...option. return nil, err } o = append(o, opts...) - conn, err := transport.DialGRPC(ctx, o...) + conn, err := gtransport.Dial(ctx, o...) if err != nil { return nil, fmt.Errorf("dialing: %v", err) } @@ -297,6 +313,14 @@ func (st StorageType) proto() btapb.StorageType { return btapb.StorageType_SSD } +// InstanceType is the type of the instance +type InstanceType int32 + +const ( + PRODUCTION InstanceType = InstanceType(btapb.Instance_PRODUCTION) + DEVELOPMENT = InstanceType(btapb.Instance_DEVELOPMENT) +) + // InstanceInfo represents information about an instance type InstanceInfo struct { Name string // name of the instance @@ -306,8 +330,10 @@ type InstanceInfo struct { // InstanceConf contains the information necessary to create an Instance type InstanceConf struct { InstanceId, DisplayName, ClusterId, Zone string - NumNodes int32 - StorageType StorageType + // NumNodes must not be specified for DEVELOPMENT instance types + NumNodes int32 + StorageType StorageType + InstanceType InstanceType } var instanceNameRegexp = regexp.MustCompile(`^projects/([^/]+)/instances/([a-z][-a-z0-9]*)$`) @@ -319,7 +345,7 @@ func (iac *InstanceAdminClient) CreateInstance(ctx context.Context, conf *Instan req := &btapb.CreateInstanceRequest{ Parent: "projects/" + iac.project, InstanceId: conf.InstanceId, - Instance: &btapb.Instance{DisplayName: conf.DisplayName}, + Instance: &btapb.Instance{DisplayName: conf.DisplayName, Type: btapb.Instance_Type(conf.InstanceType)}, Clusters: map[string]*btapb.Cluster{ conf.ClusterId: { ServeNodes: conf.NumNodes, @@ -355,6 +381,11 @@ func (iac *InstanceAdminClient) Instances(ctx context.Context) ([]*InstanceInfo, if err != nil { return nil, err } + if len(res.FailedLocations) > 0 { + // We don't have a good way to return a partial result in the face of some zones being unavailable. + // Fail the entire request. + return nil, status.Errorf(codes.Unavailable, "Failed locations: %v", res.FailedLocations) + } var is []*InstanceInfo for _, i := range res.Instances { diff --git a/vendor/cloud.google.com/go/bigtable/admin_test.go b/vendor/cloud.google.com/go/bigtable/admin_test.go index 73cf98d2f..2f0268f08 100644 --- a/vendor/cloud.google.com/go/bigtable/admin_test.go +++ b/vendor/cloud.google.com/go/bigtable/admin_test.go @@ -21,6 +21,7 @@ import ( "fmt" "golang.org/x/net/context" + "reflect" "strings" ) @@ -107,6 +108,28 @@ func TestAdminIntegration(t *testing.T) { t.Errorf("adminClient.Tables return %#v. unwanted %#v", got, unwanted) } + tblConf := TableConf{ + TableID: "conftable", + Families: map[string]GCPolicy{ + "fam1": MaxVersionsPolicy(1), + "fam2": MaxVersionsPolicy(2), + }, + } + if err := adminClient.CreateTableFromConf(ctx, &tblConf); err != nil { + t.Fatalf("Creating table from TableConf: %v", err) + } + defer adminClient.DeleteTable(ctx, tblConf.TableID) + + tblInfo, err := adminClient.TableInfo(ctx, tblConf.TableID) + if err != nil { + t.Fatalf("Getting table info: %v", err) + } + sort.Strings(tblInfo.Families) + wantFams := []string{"fam1", "fam2"} + if !reflect.DeepEqual(tblInfo.Families, wantFams) { + t.Errorf("Column family mismatch, got %v, want %v", tblInfo.Families, wantFams) + } + // Populate mytable and drop row ranges if err = adminClient.CreateColumnFamily(ctx, "mytable", "cf"); err != nil { t.Fatalf("Creating column family: %v", err) diff --git a/vendor/cloud.google.com/go/bigtable/bigtable.go b/vendor/cloud.google.com/go/bigtable/bigtable.go index 316e3d3c0..df83b0012 100644 --- a/vendor/cloud.google.com/go/bigtable/bigtable.go +++ b/vendor/cloud.google.com/go/bigtable/bigtable.go @@ -28,7 +28,7 @@ import ( "github.com/golang/protobuf/proto" "golang.org/x/net/context" "google.golang.org/api/option" - "google.golang.org/api/transport" + gtransport "google.golang.org/api/transport/grpc" btpb "google.golang.org/genproto/googleapis/bigtable/v2" "google.golang.org/grpc" "google.golang.org/grpc/codes" @@ -53,9 +53,15 @@ func NewClient(ctx context.Context, project, instance string, opts ...option.Cli return nil, err } // Default to a small connection pool that can be overridden. - o = append(o, option.WithGRPCConnectionPool(4)) + o = append(o, + option.WithGRPCConnectionPool(4), + // Set the max size to correspond to server-side limits. + option.WithGRPCDialOption(grpc.WithDefaultCallOptions(grpc.MaxCallSendMsgSize(100<<20), grpc.MaxCallRecvMsgSize(100<<20))), + // TODO(grpc/grpc-go#1388) using connection pool without WithBlock + // can cause RPCs to fail randomly. We can delete this after the issue is fixed. + option.WithGRPCDialOption(grpc.WithBlock())) o = append(o, opts...) - conn, err := transport.DialGRPC(ctx, o...) + conn, err := gtransport.Dial(ctx, o...) if err != nil { return nil, fmt.Errorf("dialing: %v", err) } @@ -211,6 +217,7 @@ func decodeFamilyProto(r Row, row string, f *btpb.Family) { } // RowSet is a set of rows to be read. It is satisfied by RowList, RowRange and RowRangeList. +// The serialized size of the RowSet must be no larger than 1MiB. type RowSet interface { proto() *btpb.RowSet @@ -391,6 +398,9 @@ type ReadOption interface { } // RowFilter returns a ReadOption that applies f to the contents of read rows. +// +// If multiple RowFilters are provided, only the last is used. To combine filters, +// use ChainFilters or InterleaveFilters instead. func RowFilter(f Filter) ReadOption { return rowFilter{f} } type rowFilter struct{ f Filter } @@ -571,7 +581,7 @@ type entryErr struct { Err error } -// ApplyBulk applies multiple Mutations. +// ApplyBulk applies multiple Mutations, up to a maximum of 100,000. // Each mutation is individually applied atomically, // but the set of mutations may be applied in any order. // diff --git a/vendor/cloud.google.com/go/bigtable/bigtable_test.go b/vendor/cloud.google.com/go/bigtable/bigtable_test.go index 9c0cd455e..3cee24d80 100644 --- a/vendor/cloud.google.com/go/bigtable/bigtable_test.go +++ b/vendor/cloud.google.com/go/bigtable/bigtable_test.go @@ -448,6 +448,24 @@ func TestClientIntegration(t *testing.T) { t.Fatalf("After %s,\n got %v\nwant %v", step.desc, row, wantRow) } } + + // Check for google-cloud-go/issues/723. RMWs that insert new rows should keep row order sorted in the emulator. + row, err = tbl.ApplyReadModifyWrite(ctx, "issue-723-2", appendRMW([]byte{0})) + if err != nil { + t.Fatalf("ApplyReadModifyWrite null string: %v", err) + } + row, err = tbl.ApplyReadModifyWrite(ctx, "issue-723-1", appendRMW([]byte{0})) + if err != nil { + t.Fatalf("ApplyReadModifyWrite null string: %v", err) + } + // Get only the correct row back on read. + r, err := tbl.ReadRow(ctx, "issue-723-1") + if err != nil { + t.Fatalf("Reading row: %v", err) + } + if r.Key() != "issue-723-1" { + t.Errorf("ApplyReadModifyWrite: incorrect read after RMW,\n got %v\nwant %v", r.Key(), "issue-723-1") + } checkpoint("tested ReadModifyWrite") // Test arbitrary timestamps more thoroughly. @@ -460,11 +478,12 @@ func TestClientIntegration(t *testing.T) { // Timestamps are used in thousands because the server // only permits that granularity. mut.Set("ts", "col", Timestamp(i*1000), []byte(fmt.Sprintf("val-%d", i))) + mut.Set("ts", "col2", Timestamp(i*1000), []byte(fmt.Sprintf("val-%d", i))) } if err := tbl.Apply(ctx, "testrow", mut); err != nil { t.Fatalf("Mutating row: %v", err) } - r, err := tbl.ReadRow(ctx, "testrow") + r, err = tbl.ReadRow(ctx, "testrow") if err != nil { t.Fatalf("Reading row: %v", err) } @@ -474,6 +493,10 @@ func TestClientIntegration(t *testing.T) { {Row: "testrow", Column: "ts:col", Timestamp: 2000, Value: []byte("val-2")}, {Row: "testrow", Column: "ts:col", Timestamp: 1000, Value: []byte("val-1")}, {Row: "testrow", Column: "ts:col", Timestamp: 0, Value: []byte("val-0")}, + {Row: "testrow", Column: "ts:col2", Timestamp: 3000, Value: []byte("val-3")}, + {Row: "testrow", Column: "ts:col2", Timestamp: 2000, Value: []byte("val-2")}, + {Row: "testrow", Column: "ts:col2", Timestamp: 1000, Value: []byte("val-1")}, + {Row: "testrow", Column: "ts:col2", Timestamp: 0, Value: []byte("val-0")}, }} if !reflect.DeepEqual(r, wantRow) { t.Errorf("Cell with multiple versions,\n got %v\nwant %v", r, wantRow) @@ -486,10 +509,39 @@ func TestClientIntegration(t *testing.T) { wantRow = Row{"ts": []ReadItem{ {Row: "testrow", Column: "ts:col", Timestamp: 3000, Value: []byte("val-3")}, {Row: "testrow", Column: "ts:col", Timestamp: 2000, Value: []byte("val-2")}, + {Row: "testrow", Column: "ts:col2", Timestamp: 3000, Value: []byte("val-3")}, + {Row: "testrow", Column: "ts:col2", Timestamp: 2000, Value: []byte("val-2")}, }} if !reflect.DeepEqual(r, wantRow) { t.Errorf("Cell with multiple versions and LatestNFilter(2),\n got %v\nwant %v", r, wantRow) } + // Check cell offset / limit + r, err = tbl.ReadRow(ctx, "testrow", RowFilter(CellsPerRowLimitFilter(3))) + if err != nil { + t.Fatalf("Reading row: %v", err) + } + wantRow = Row{"ts": []ReadItem{ + {Row: "testrow", Column: "ts:col", Timestamp: 3000, Value: []byte("val-3")}, + {Row: "testrow", Column: "ts:col", Timestamp: 2000, Value: []byte("val-2")}, + {Row: "testrow", Column: "ts:col", Timestamp: 1000, Value: []byte("val-1")}, + }} + if !reflect.DeepEqual(r, wantRow) { + t.Errorf("Cell with multiple versions and CellsPerRowLimitFilter(3),\n got %v\nwant %v", r, wantRow) + } + r, err = tbl.ReadRow(ctx, "testrow", RowFilter(CellsPerRowOffsetFilter(3))) + if err != nil { + t.Fatalf("Reading row: %v", err) + } + wantRow = Row{"ts": []ReadItem{ + {Row: "testrow", Column: "ts:col", Timestamp: 0, Value: []byte("val-0")}, + {Row: "testrow", Column: "ts:col2", Timestamp: 3000, Value: []byte("val-3")}, + {Row: "testrow", Column: "ts:col2", Timestamp: 2000, Value: []byte("val-2")}, + {Row: "testrow", Column: "ts:col2", Timestamp: 1000, Value: []byte("val-1")}, + {Row: "testrow", Column: "ts:col2", Timestamp: 0, Value: []byte("val-0")}, + }} + if !reflect.DeepEqual(r, wantRow) { + t.Errorf("Cell with multiple versions and CellsPerRowOffsetFilter(3),\n got %v\nwant %v", r, wantRow) + } // Check timestamp range filtering (with truncation) r, err = tbl.ReadRow(ctx, "testrow", RowFilter(TimestampRangeFilterMicros(1001, 3000))) if err != nil { @@ -498,6 +550,8 @@ func TestClientIntegration(t *testing.T) { wantRow = Row{"ts": []ReadItem{ {Row: "testrow", Column: "ts:col", Timestamp: 2000, Value: []byte("val-2")}, {Row: "testrow", Column: "ts:col", Timestamp: 1000, Value: []byte("val-1")}, + {Row: "testrow", Column: "ts:col2", Timestamp: 2000, Value: []byte("val-2")}, + {Row: "testrow", Column: "ts:col2", Timestamp: 1000, Value: []byte("val-1")}, }} if !reflect.DeepEqual(r, wantRow) { t.Errorf("Cell with multiple versions and TimestampRangeFilter(1000, 3000),\n got %v\nwant %v", r, wantRow) @@ -510,6 +564,9 @@ func TestClientIntegration(t *testing.T) { {Row: "testrow", Column: "ts:col", Timestamp: 3000, Value: []byte("val-3")}, {Row: "testrow", Column: "ts:col", Timestamp: 2000, Value: []byte("val-2")}, {Row: "testrow", Column: "ts:col", Timestamp: 1000, Value: []byte("val-1")}, + {Row: "testrow", Column: "ts:col2", Timestamp: 3000, Value: []byte("val-3")}, + {Row: "testrow", Column: "ts:col2", Timestamp: 2000, Value: []byte("val-2")}, + {Row: "testrow", Column: "ts:col2", Timestamp: 1000, Value: []byte("val-1")}, }} if !reflect.DeepEqual(r, wantRow) { t.Errorf("Cell with multiple versions and TimestampRangeFilter(1000, 0),\n got %v\nwant %v", r, wantRow) @@ -559,6 +616,8 @@ func TestClientIntegration(t *testing.T) { wantRow = Row{"ts": []ReadItem{ {Row: "testrow", Column: "ts:col", Timestamp: 3000, Value: []byte("val-3")}, {Row: "testrow", Column: "ts:col", Timestamp: 1000, Value: []byte("val-1")}, + {Row: "testrow", Column: "ts:col2", Timestamp: 3000, Value: []byte("val-3")}, + {Row: "testrow", Column: "ts:col2", Timestamp: 2000, Value: []byte("val-2")}, }} if !reflect.DeepEqual(r, wantRow) { t.Errorf("Cell with multiple versions and LatestNFilter(2), after deleting timestamp 2000,\n got %v\nwant %v", r, wantRow) @@ -717,7 +776,7 @@ func TestClientIntegration(t *testing.T) { checkpoint("tested high concurrency") // Large reads, writes and scans. - bigBytes := make([]byte, 3<<20) // 3 MB is large, but less than current gRPC max of 4 MB. + bigBytes := make([]byte, 5<<20) // 5 MB is larger than current default gRPC max of 4 MB, but less than the max we set. nonsense := []byte("lorem ipsum dolor sit amet, ") fill(bigBytes, nonsense) mut = NewMutation() diff --git a/vendor/cloud.google.com/go/bigtable/bttest/inmem.go b/vendor/cloud.google.com/go/bigtable/bttest/inmem.go index 796f46b6c..6472ad182 100644 --- a/vendor/cloud.google.com/go/bigtable/bttest/inmem.go +++ b/vendor/cloud.google.com/go/bigtable/bttest/inmem.go @@ -277,7 +277,6 @@ func (s *server) ReadRows(req *btpb.ReadRowsRequest, stream btpb.Bigtable_ReadRo // Rows to read can be specified by a set of row keys and/or a set of row ranges. // Output is a stream of sorted, de-duped rows. tbl.mu.RLock() - rowSet := make(map[string]*row) if req.Rows != nil { // Add the explicitly given keys @@ -459,6 +458,38 @@ func filterRow(f *btpb.RowFilter, r *row) bool { if !rx.MatchString(r.key) { return false } + case *btpb.RowFilter_CellsPerRowLimitFilter: + // Grab the first n cells in the row. + lim := int(f.CellsPerRowLimitFilter) + for _, fam := range r.families { + for _, col := range fam.colNames { + cs := fam.cells[col] + if len(cs) > lim { + fam.cells[col] = cs[:lim] + lim = 0 + } else { + lim -= len(cs) + } + } + } + return true + case *btpb.RowFilter_CellsPerRowOffsetFilter: + // Skip the first n cells in the row. + offset := int(f.CellsPerRowOffsetFilter) + for _, fam := range r.families { + for _, col := range fam.colNames { + cs := fam.cells[col] + if len(cs) > offset { + fam.cells[col] = cs[offset:] + offset = 0 + return true + } else { + fam.cells[col] = cs[:0] + offset -= len(cs) + } + } + } + return true } // Any other case, operate on a per-cell basis. @@ -592,9 +623,8 @@ func (s *server) MutateRow(ctx context.Context, req *btpb.MutateRowRequest) (*bt if !ok { return nil, grpc.Errorf(codes.NotFound, "table %q not found", req.TableName) } - fs := tbl.columnFamilies() - r := tbl.mutableRow(string(req.RowKey)) + r, _ := tbl.mutableRow(string(req.RowKey)) r.mu.Lock() defer tbl.resortRowIndex() // Make sure the row lock is released before this grabs the table lock defer r.mu.Unlock() @@ -611,14 +641,13 @@ func (s *server) MutateRows(req *btpb.MutateRowsRequest, stream btpb.Bigtable_Mu if !ok { return grpc.Errorf(codes.NotFound, "table %q not found", req.TableName) } - res := &btpb.MutateRowsResponse{Entries: make([]*btpb.MutateRowsResponse_Entry, len(req.Entries))} fs := tbl.columnFamilies() defer tbl.resortRowIndex() for i, entry := range req.Entries { - r := tbl.mutableRow(string(entry.RowKey)) + r, _ := tbl.mutableRow(string(entry.RowKey)) r.mu.Lock() code, msg := int32(codes.OK), "" if err := applyMutations(tbl, r, entry.Mutations, fs); err != nil { @@ -642,12 +671,11 @@ func (s *server) CheckAndMutateRow(ctx context.Context, req *btpb.CheckAndMutate if !ok { return nil, grpc.Errorf(codes.NotFound, "table %q not found", req.TableName) } - res := &btpb.CheckAndMutateRowResponse{} fs := tbl.columnFamilies() - r := tbl.mutableRow(string(req.RowKey)) + r, _ := tbl.mutableRow(string(req.RowKey)) r.mu.Lock() defer r.mu.Unlock() @@ -798,12 +826,16 @@ func (s *server) ReadModifyWriteRow(ctx context.Context, req *btpb.ReadModifyWri if !ok { return nil, grpc.Errorf(codes.NotFound, "table %q not found", req.TableName) } - updates := make(map[string]cell) // copy of updated cells; keyed by full column name fs := tbl.columnFamilies() - r := tbl.mutableRow(string(req.RowKey)) + rowKey := string(req.RowKey) + r, isNewRow := tbl.mutableRow(rowKey) + // This must be done before the row lock, acquired below, is released. + if isNewRow { + defer tbl.resortRowIndex() + } r.mu.Lock() defer r.mu.Unlock() // Assume all mutations apply to the most recent version of the cell. @@ -993,13 +1025,13 @@ func (t *table) columnFamilies() map[string]*columnFamily { return cp } -func (t *table) mutableRow(row string) *row { +func (t *table) mutableRow(row string) (mutRow *row, isNewRow bool) { // Try fast path first. t.mu.RLock() r := t.rowIndex[row] t.mu.RUnlock() if r != nil { - return r + return r, false } // We probably need to create the row. @@ -1011,7 +1043,7 @@ func (t *table) mutableRow(row string) *row { t.rows = append(t.rows, r) } t.mu.Unlock() - return r + return r, true } func (t *table) resortRowIndex() { diff --git a/vendor/cloud.google.com/go/bigtable/cmd/loadtest/loadtest.go b/vendor/cloud.google.com/go/bigtable/cmd/loadtest/loadtest.go index c0d980ae1..158f912d8 100644 --- a/vendor/cloud.google.com/go/bigtable/cmd/loadtest/loadtest.go +++ b/vendor/cloud.google.com/go/bigtable/cmd/loadtest/loadtest.go @@ -36,6 +36,7 @@ import ( "cloud.google.com/go/bigtable/internal/stat" "golang.org/x/net/context" "google.golang.org/api/option" + "google.golang.org/grpc" ) var ( @@ -74,7 +75,12 @@ func main() { var options []option.ClientOption if *poolSize > 1 { - options = append(options, option.WithGRPCConnectionPool(*poolSize)) + options = append(options, + option.WithGRPCConnectionPool(*poolSize), + + // TODO(grpc/grpc-go#1388) using connection pool without WithBlock + // can cause RPCs to fail randomly. We can delete this after the issue is fixed. + option.WithGRPCDialOption(grpc.WithBlock())) } var csvFile *os.File diff --git a/vendor/cloud.google.com/go/bigtable/export_test.go b/vendor/cloud.google.com/go/bigtable/export_test.go index 156aed484..dee3740ca 100644 --- a/vendor/cloud.google.com/go/bigtable/export_test.go +++ b/vendor/cloud.google.com/go/bigtable/export_test.go @@ -98,7 +98,7 @@ type EmulatedEnv struct { // NewEmulatedEnv builds and starts the emulator based environment func NewEmulatedEnv(config IntegrationTestConfig) (*EmulatedEnv, error) { - srv, err := bttest.NewServer("127.0.0.1:0") + srv, err := bttest.NewServer("127.0.0.1:0", grpc.MaxRecvMsgSize(200<<20), grpc.MaxSendMsgSize(100<<20)) if err != nil { return nil, err } @@ -152,7 +152,7 @@ func (e *EmulatedEnv) NewInstanceAdminClient() (*InstanceAdminClient, error) { func (e *EmulatedEnv) NewClient() (*Client, error) { timeout := 20 * time.Second ctx, _ := context.WithTimeout(context.Background(), timeout) - conn, err := grpc.Dial(e.server.Addr, grpc.WithInsecure()) + conn, err := grpc.Dial(e.server.Addr, grpc.WithInsecure(), grpc.WithDefaultCallOptions(grpc.MaxCallSendMsgSize(100<<20), grpc.MaxCallRecvMsgSize(100<<20))) if err != nil { return nil, err } diff --git a/vendor/cloud.google.com/go/bigtable/filter.go b/vendor/cloud.google.com/go/bigtable/filter.go index a1cf748ad..f9d5cee34 100644 --- a/vendor/cloud.google.com/go/bigtable/filter.go +++ b/vendor/cloud.google.com/go/bigtable/filter.go @@ -285,4 +285,34 @@ func (cf conditionFilter) proto() *btpb.RowFilter { }}} } +// CellsPerRowOffsetFilter returns a filter that skips the first N cells of each row, matching all subsequent cells. +func CellsPerRowOffsetFilter(n int) Filter { + return cellsPerRowOffsetFilter(n) +} + +type cellsPerRowOffsetFilter int32 + +func (cof cellsPerRowOffsetFilter) String() string { + return fmt.Sprintf("cells_per_row_offset(%d)", cof) +} + +func (cof cellsPerRowOffsetFilter) proto() *btpb.RowFilter { + return &btpb.RowFilter{Filter: &btpb.RowFilter_CellsPerRowOffsetFilter{int32(cof)}} +} + +// CellsPerRowLimitFilter returns a filter that matches only the first N cells of each row. +func CellsPerRowLimitFilter(n int) Filter { + return cellsPerRowLimitFilter(n) +} + +type cellsPerRowLimitFilter int32 + +func (clf cellsPerRowLimitFilter) String() string { + return fmt.Sprintf("cells_per_row_limit(%d)", clf) +} + +func (clf cellsPerRowLimitFilter) proto() *btpb.RowFilter { + return &btpb.RowFilter{Filter: &btpb.RowFilter_CellsPerRowLimitFilter{int32(clf)}} +} + // TODO(dsymonds): More filters: sampling diff --git a/vendor/cloud.google.com/go/civil/civil_test.go b/vendor/cloud.google.com/go/civil/civil_test.go index e3b76a703..f50899c92 100644 --- a/vendor/cloud.google.com/go/civil/civil_test.go +++ b/vendor/cloud.google.com/go/civil/civil_test.go @@ -16,9 +16,10 @@ package civil import ( "encoding/json" - "reflect" "testing" "time" + + "github.com/google/go-cmp/cmp" ) func TestDates(t *testing.T) { @@ -418,7 +419,7 @@ func TestUnmarshalJSON(t *testing.T) { if err := json.Unmarshal([]byte(test.data), test.ptr); err != nil { t.Fatalf("%s: %v", test.data, err) } - if !reflect.DeepEqual(test.ptr, test.want) { + if !cmp.Equal(test.ptr, test.want) { t.Errorf("%s: got %#v, want %#v", test.data, test.ptr, test.want) } } diff --git a/vendor/cloud.google.com/go/cmd/go-cloud-debug-agent/debuglet.go b/vendor/cloud.google.com/go/cmd/go-cloud-debug-agent/debuglet.go index 6a8702c77..cbed2bece 100644 --- a/vendor/cloud.google.com/go/cmd/go-cloud-debug-agent/debuglet.go +++ b/vendor/cloud.google.com/go/cmd/go-cloud-debug-agent/debuglet.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// +build linux +// +build linux,go1.7 package main diff --git a/vendor/cloud.google.com/go/cmd/go-cloud-debug-agent/internal/controller/client.go b/vendor/cloud.google.com/go/cmd/go-cloud-debug-agent/internal/controller/client.go index 87d283546..25715838b 100644 --- a/vendor/cloud.google.com/go/cmd/go-cloud-debug-agent/internal/controller/client.go +++ b/vendor/cloud.google.com/go/cmd/go-cloud-debug-agent/internal/controller/client.go @@ -28,7 +28,7 @@ import ( cd "google.golang.org/api/clouddebugger/v2" "google.golang.org/api/googleapi" "google.golang.org/api/option" - "google.golang.org/api/transport" + htransport "google.golang.org/api/transport/http" ) const ( @@ -92,7 +92,7 @@ type serviceInterface interface { } var newService = func(ctx context.Context, tokenSource oauth2.TokenSource) (serviceInterface, error) { - httpClient, endpoint, err := transport.NewHTTPClient(ctx, option.WithTokenSource(tokenSource)) + httpClient, endpoint, err := htransport.NewClient(ctx, option.WithTokenSource(tokenSource)) if err != nil { return nil, err } diff --git a/vendor/cloud.google.com/go/container/container.go b/vendor/cloud.google.com/go/container/container.go index 3f5952775..9d4074e90 100644 --- a/vendor/cloud.google.com/go/container/container.go +++ b/vendor/cloud.google.com/go/container/container.go @@ -25,7 +25,7 @@ import ( "golang.org/x/net/context" raw "google.golang.org/api/container/v1" "google.golang.org/api/option" - "google.golang.org/api/transport" + htransport "google.golang.org/api/transport/http" ) type Type string @@ -64,7 +64,7 @@ func NewClient(ctx context.Context, projectID string, opts ...option.ClientOptio option.WithUserAgent(userAgent), } o = append(o, opts...) - httpClient, endpoint, err := transport.NewHTTPClient(ctx, o...) + httpClient, endpoint, err := htransport.NewClient(ctx, o...) if err != nil { return nil, fmt.Errorf("dialing: %v", err) } diff --git a/vendor/cloud.google.com/go/datastore/client.go b/vendor/cloud.google.com/go/datastore/client.go new file mode 100644 index 000000000..940bfec83 --- /dev/null +++ b/vendor/cloud.google.com/go/datastore/client.go @@ -0,0 +1,118 @@ +// Copyright 2017 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package datastore + +import ( + "fmt" + + gax "github.com/googleapis/gax-go" + + "cloud.google.com/go/internal" + "cloud.google.com/go/internal/version" + "golang.org/x/net/context" + pb "google.golang.org/genproto/googleapis/datastore/v1" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" +) + +// datastoreClient is a wrapper for the pb.DatastoreClient that includes gRPC +// metadata to be sent in each request for server-side traffic management. +type datastoreClient struct { + // Embed so we still implement the DatastoreClient interface, + // if the interface adds more methods. + pb.DatastoreClient + + c pb.DatastoreClient + md metadata.MD +} + +func newDatastoreClient(conn *grpc.ClientConn, projectID string) pb.DatastoreClient { + return &datastoreClient{ + c: pb.NewDatastoreClient(conn), + md: metadata.Pairs( + resourcePrefixHeader, "projects/"+projectID, + "x-goog-api-client", fmt.Sprintf("gl-go/%s gccl/%s grpc/", version.Go(), version.Repo)), + } +} + +func (dc *datastoreClient) Lookup(ctx context.Context, in *pb.LookupRequest, opts ...grpc.CallOption) (res *pb.LookupResponse, err error) { + err = dc.invoke(ctx, func(ctx context.Context) error { + res, err = dc.c.Lookup(ctx, in, opts...) + return err + }) + return res, err +} + +func (dc *datastoreClient) RunQuery(ctx context.Context, in *pb.RunQueryRequest, opts ...grpc.CallOption) (res *pb.RunQueryResponse, err error) { + err = dc.invoke(ctx, func(ctx context.Context) error { + res, err = dc.c.RunQuery(ctx, in, opts...) + return err + }) + return res, err +} + +func (dc *datastoreClient) BeginTransaction(ctx context.Context, in *pb.BeginTransactionRequest, opts ...grpc.CallOption) (res *pb.BeginTransactionResponse, err error) { + err = dc.invoke(ctx, func(ctx context.Context) error { + res, err = dc.c.BeginTransaction(ctx, in, opts...) + return err + }) + return res, err +} + +func (dc *datastoreClient) Commit(ctx context.Context, in *pb.CommitRequest, opts ...grpc.CallOption) (res *pb.CommitResponse, err error) { + err = dc.invoke(ctx, func(ctx context.Context) error { + res, err = dc.c.Commit(ctx, in, opts...) + return err + }) + return res, err +} + +func (dc *datastoreClient) Rollback(ctx context.Context, in *pb.RollbackRequest, opts ...grpc.CallOption) (res *pb.RollbackResponse, err error) { + err = dc.invoke(ctx, func(ctx context.Context) error { + res, err = dc.c.Rollback(ctx, in, opts...) + return err + }) + return res, err +} + +func (dc *datastoreClient) AllocateIds(ctx context.Context, in *pb.AllocateIdsRequest, opts ...grpc.CallOption) (res *pb.AllocateIdsResponse, err error) { + err = dc.invoke(ctx, func(ctx context.Context) error { + res, err = dc.c.AllocateIds(ctx, in, opts...) + return err + }) + return res, err +} + +func (dc *datastoreClient) invoke(ctx context.Context, f func(ctx context.Context) error) error { + ctx = metadata.NewOutgoingContext(ctx, dc.md) + return internal.Retry(ctx, gax.Backoff{}, func() (stop bool, err error) { + err = f(ctx) + return !shouldRetry(err), err + }) +} + +func shouldRetry(err error) bool { + if err == nil { + return false + } + s, ok := status.FromError(err) + if !ok { + return false + } + // See https://cloud.google.com/datastore/docs/concepts/errors. + return s.Code() == codes.Unavailable || s.Code() == codes.DeadlineExceeded +} diff --git a/vendor/cloud.google.com/go/datastore/datastore.go b/vendor/cloud.google.com/go/datastore/datastore.go index e9ffbfab7..b35db8718 100644 --- a/vendor/cloud.google.com/go/datastore/datastore.go +++ b/vendor/cloud.google.com/go/datastore/datastore.go @@ -21,15 +21,11 @@ import ( "os" "reflect" - "cloud.google.com/go/internal/version" - - "github.com/golang/protobuf/proto" "golang.org/x/net/context" "google.golang.org/api/option" - "google.golang.org/api/transport" + gtransport "google.golang.org/api/transport/grpc" pb "google.golang.org/genproto/googleapis/datastore/v1" "google.golang.org/grpc" - "google.golang.org/grpc/metadata" ) const ( @@ -44,56 +40,6 @@ const ScopeDatastore = "https://www.googleapis.com/auth/datastore" // the resource being operated on. const resourcePrefixHeader = "google-cloud-resource-prefix" -// protoClient is an interface for *transport.ProtoClient to support injecting -// fake clients in tests. -type protoClient interface { - Call(context.Context, string, proto.Message, proto.Message) error -} - -// datastoreClient is a wrapper for the pb.DatastoreClient that includes gRPC -// metadata to be sent in each request for server-side traffic management. -type datastoreClient struct { - // Embed so we still implement the DatastoreClient interface, - // if the interface adds more methods. - pb.DatastoreClient - - c pb.DatastoreClient - md metadata.MD -} - -func newDatastoreClient(conn *grpc.ClientConn, projectID string) pb.DatastoreClient { - return &datastoreClient{ - c: pb.NewDatastoreClient(conn), - md: metadata.Pairs( - resourcePrefixHeader, "projects/"+projectID, - "x-goog-api-client", fmt.Sprintf("gl-go/%s gccl/%s grpc/", version.Go(), version.Repo)), - } -} - -func (dc *datastoreClient) Lookup(ctx context.Context, in *pb.LookupRequest, opts ...grpc.CallOption) (*pb.LookupResponse, error) { - return dc.c.Lookup(metadata.NewOutgoingContext(ctx, dc.md), in, opts...) -} - -func (dc *datastoreClient) RunQuery(ctx context.Context, in *pb.RunQueryRequest, opts ...grpc.CallOption) (*pb.RunQueryResponse, error) { - return dc.c.RunQuery(metadata.NewOutgoingContext(ctx, dc.md), in, opts...) -} - -func (dc *datastoreClient) BeginTransaction(ctx context.Context, in *pb.BeginTransactionRequest, opts ...grpc.CallOption) (*pb.BeginTransactionResponse, error) { - return dc.c.BeginTransaction(metadata.NewOutgoingContext(ctx, dc.md), in, opts...) -} - -func (dc *datastoreClient) Commit(ctx context.Context, in *pb.CommitRequest, opts ...grpc.CallOption) (*pb.CommitResponse, error) { - return dc.c.Commit(metadata.NewOutgoingContext(ctx, dc.md), in, opts...) -} - -func (dc *datastoreClient) Rollback(ctx context.Context, in *pb.RollbackRequest, opts ...grpc.CallOption) (*pb.RollbackResponse, error) { - return dc.c.Rollback(metadata.NewOutgoingContext(ctx, dc.md), in, opts...) -} - -func (dc *datastoreClient) AllocateIds(ctx context.Context, in *pb.AllocateIdsRequest, opts ...grpc.CallOption) (*pb.AllocateIdsResponse, error) { - return dc.c.AllocateIds(metadata.NewOutgoingContext(ctx, dc.md), in, opts...) -} - // Client is a client for reading and writing data in a datastore dataset. type Client struct { conn *grpc.ClientConn @@ -138,7 +84,7 @@ func NewClient(ctx context.Context, projectID string, opts ...option.ClientOptio return nil, errors.New("datastore: missing project/dataset id") } o = append(o, opts...) - conn, err := transport.DialGRPC(ctx, o...) + conn, err := gtransport.Dial(ctx, o...) if err != nil { return nil, fmt.Errorf("dialing: %v", err) } @@ -201,7 +147,6 @@ func keyToProto(k *Key) *pb.Key { return nil } - // TODO(jbd): Eliminate unrequired allocations. var path []*pb.Key_PathElement for { el := &pb.Key_PathElement{Kind: k.Kind} @@ -210,12 +155,19 @@ func keyToProto(k *Key) *pb.Key { } else if k.Name != "" { el.IdType = &pb.Key_PathElement_Name{Name: k.Name} } - path = append([]*pb.Key_PathElement{el}, path...) + path = append(path, el) if k.Parent == nil { break } k = k.Parent } + + // The path should be in order [grandparent, parent, child] + // We did it backward above, so reverse back. + for i := 0; i < len(path)/2; i++ { + path[i], path[len(path)-i-1] = path[len(path)-i-1], path[i] + } + key := &pb.Key{Path: path} if k.Namespace != "" { key.PartitionId = &pb.PartitionId{ @@ -390,17 +342,21 @@ func (c *Client) get(ctx context.Context, keys []*Key, dst interface{}, opts *pb return nil } - // Go through keys, validate them, serialize then, and create a dict mapping them to their index + // Go through keys, validate them, serialize then, and create a dict mapping them to their indices. + // Equal keys are deduped. multiErr, any := make(MultiError, len(keys)), false - keyMap := make(map[string]int) - pbKeys := make([]*pb.Key, len(keys)) + keyMap := make(map[string][]int, len(keys)) + pbKeys := make([]*pb.Key, 0, len(keys)) for i, k := range keys { if !k.valid() { multiErr[i] = ErrInvalidKey any = true } else { - keyMap[k.String()] = i - pbKeys[i] = keyToProto(k) + ks := k.String() + if _, ok := keyMap[ks]; !ok { + pbKeys = append(pbKeys, keyToProto(k)) + } + keyMap[ks] = append(keyMap[ks], i) } } if any { @@ -434,25 +390,26 @@ func (c *Client) get(ctx context.Context, keys []*Key, dst interface{}, opts *pb found = append(found, resp.Found...) missing = append(missing, resp.Missing...) } - if len(keys) != len(found)+len(missing) { - return errors.New("datastore: internal error: server returned the wrong number of entities") - } + + filled := 0 for _, e := range found { k, err := protoToKey(e.Entity.Key) if err != nil { return errors.New("datastore: internal error: server returned an invalid key") } - index := keyMap[k.String()] - elem := v.Index(index) - if multiArgType == multiArgTypePropertyLoadSaver || multiArgType == multiArgTypeStruct { - elem = elem.Addr() - } - if multiArgType == multiArgTypeStructPtr && elem.IsNil() { - elem.Set(reflect.New(elem.Type().Elem())) - } - if err := loadEntityProto(elem.Interface(), e.Entity); err != nil { - multiErr[index] = err - any = true + filled += len(keyMap[k.String()]) + for _, index := range keyMap[k.String()] { + elem := v.Index(index) + if multiArgType == multiArgTypePropertyLoadSaver || multiArgType == multiArgTypeStruct { + elem = elem.Addr() + } + if multiArgType == multiArgTypeStructPtr && elem.IsNil() { + elem.Set(reflect.New(elem.Type().Elem())) + } + if err := loadEntityProto(elem.Interface(), e.Entity); err != nil { + multiErr[index] = err + any = true + } } } for _, e := range missing { @@ -460,9 +417,17 @@ func (c *Client) get(ctx context.Context, keys []*Key, dst interface{}, opts *pb if err != nil { return errors.New("datastore: internal error: server returned an invalid key") } - multiErr[keyMap[k.String()]] = ErrNoSuchEntity + filled += len(keyMap[k.String()]) + for _, index := range keyMap[k.String()] { + multiErr[index] = ErrNoSuchEntity + } any = true } + + if filled != len(keys) { + return errors.New("datastore: internal error: server returned the wrong number of entities") + } + if any { return multiErr } @@ -592,13 +557,18 @@ func (c *Client) DeleteMulti(ctx context.Context, keys []*Key) error { func deleteMutations(keys []*Key) ([]*pb.Mutation, error) { mutations := make([]*pb.Mutation, 0, len(keys)) + set := make(map[string]bool, len(keys)) for _, k := range keys { if k.Incomplete() { return nil, fmt.Errorf("datastore: can't delete the incomplete key: %v", k) } - mutations = append(mutations, &pb.Mutation{ - Operation: &pb.Mutation_Delete{Delete: keyToProto(k)}, - }) + ks := k.String() + if !set[ks] { + mutations = append(mutations, &pb.Mutation{ + Operation: &pb.Mutation_Delete{Delete: keyToProto(k)}, + }) + } + set[ks] = true } return mutations, nil } diff --git a/vendor/cloud.google.com/go/datastore/integration_test.go b/vendor/cloud.google.com/go/datastore/integration_test.go index 5170206f8..460bc779d 100644 --- a/vendor/cloud.google.com/go/datastore/integration_test.go +++ b/vendor/cloud.google.com/go/datastore/integration_test.go @@ -170,6 +170,7 @@ func TestGetMulti(t *testing.T) { {key: NameKey("X", "item1", p), put: true}, {key: NameKey("X", "item2", p), put: false}, {key: NameKey("X", "item3", p), put: false}, + {key: NameKey("X", "item3", p), put: false}, {key: NameKey("X", "item4", p), put: true}, } @@ -1003,6 +1004,8 @@ func TestNilPointers(t *testing.T) { t.Errorf("Get: err %v; want %v", err, want) } + // Test that deleting with duplicate keys work. + keys = append(keys, keys...) if err := client.DeleteMulti(ctx, keys); err != nil { t.Errorf("Delete: %v", err) } diff --git a/vendor/cloud.google.com/go/debugger/apiv2/controller2_client.go b/vendor/cloud.google.com/go/debugger/apiv2/controller2_client.go index 041f99fda..5c07d5664 100644 --- a/vendor/cloud.google.com/go/debugger/apiv2/controller2_client.go +++ b/vendor/cloud.google.com/go/debugger/apiv2/controller2_client.go @@ -88,10 +88,10 @@ type Controller2Client struct { // // The debugger agents register with the Controller to identify the application // being debugged, the Debuggee. All agents that register with the same data, -// represent the same Debuggee, and are assigned the same `debuggee_id`. +// represent the same Debuggee, and are assigned the same debuggee_id. // // The debugger agents call the Controller to retrieve the list of active -// Breakpoints. Agents with the same `debuggee_id` get the same breakpoints +// Breakpoints. Agents with the same debuggee_id get the same breakpoints // list. An agent that can fulfill the breakpoint request updates the // Controller with the breakpoint result. The controller selects the first // result received and discards the rest of the results. @@ -139,14 +139,14 @@ func (c *Controller2Client) SetGoogleClientInfo(keyval ...string) { // RegisterDebuggee registers the debuggee with the controller service. // -// All agents attached to the same application should call this method with -// the same request content to get back the same stable `debuggee_id`. Agents -// should call this method again whenever `google.rpc.Code.NOT_FOUND` is -// returned from any controller method. +// All agents attached to the same application must call this method with +// exactly the same request content to get back the same stable debuggee_id. +// Agents should call this method again whenever google.rpc.Code.NOT_FOUND +// is returned from any controller method. // -// This allows the controller service to disable the agent or recover from any -// data loss. If the debuggee is disabled by the server, the response will -// have `is_disabled` set to `true`. +// This protocol allows the controller service to disable debuggees, recover +// from data loss, or change the debuggee_id format. Agents must handle +// debuggee_id value changing upon re-registration. func (c *Controller2Client) RegisterDebuggee(ctx context.Context, req *clouddebuggerpb.RegisterDebuggeeRequest, opts ...gax.CallOption) (*clouddebuggerpb.RegisterDebuggeeResponse, error) { ctx = insertXGoog(ctx, c.xGoogHeader) opts = append(c.CallOptions.RegisterDebuggee[0:len(c.CallOptions.RegisterDebuggee):len(c.CallOptions.RegisterDebuggee)], opts...) @@ -164,7 +164,7 @@ func (c *Controller2Client) RegisterDebuggee(ctx context.Context, req *clouddebu // ListActiveBreakpoints returns the list of all active breakpoints for the debuggee. // -// The breakpoint specification (location, condition, and expression +// The breakpoint specification (location, condition, and expressions // fields) is semantically immutable, although the field values may // change. For example, an agent may update the location line number // to reflect the actual line where the breakpoint was set, but this @@ -191,12 +191,11 @@ func (c *Controller2Client) ListActiveBreakpoints(ctx context.Context, req *clou } // UpdateActiveBreakpoint updates the breakpoint state or mutable fields. -// The entire Breakpoint message must be sent back to the controller -// service. +// The entire Breakpoint message must be sent back to the controller service. // // Updates to active breakpoint fields are only allowed if the new value -// does not change the breakpoint specification. Updates to the `location`, -// `condition` and `expression` fields should not alter the breakpoint +// does not change the breakpoint specification. Updates to the location, +// condition and expressions fields should not alter the breakpoint // semantics. These may only make changes such as canonicalizing a value // or snapping the location to the correct line of code. func (c *Controller2Client) UpdateActiveBreakpoint(ctx context.Context, req *clouddebuggerpb.UpdateActiveBreakpointRequest, opts ...gax.CallOption) (*clouddebuggerpb.UpdateActiveBreakpointResponse, error) { diff --git a/vendor/cloud.google.com/go/debugger/apiv2/debugger2_client.go b/vendor/cloud.google.com/go/debugger/apiv2/debugger2_client.go index b50aa2ae2..a726f1f93 100644 --- a/vendor/cloud.google.com/go/debugger/apiv2/debugger2_client.go +++ b/vendor/cloud.google.com/go/debugger/apiv2/debugger2_client.go @@ -91,9 +91,9 @@ type Debugger2Client struct { // and without modifying its state. An application may include one or // more replicated processes performing the same work. // -// The application is represented using the Debuggee concept. The Debugger -// service provides a way to query for available Debuggees, but does not -// provide a way to create one. A debuggee is created using the Controller +// A debugged application is represented using the Debuggee concept. The +// Debugger service provides a way to query for available debuggees, but does +// not provide a way to create one. A debuggee is created using the Controller // service, usually by running a debugger agent with the application. // // The Debugger service enables the client to set one or more Breakpoints on a @@ -193,7 +193,7 @@ func (c *Debugger2Client) ListBreakpoints(ctx context.Context, req *clouddebugge return resp, nil } -// ListDebuggees lists all the debuggees that the user can set breakpoints to. +// ListDebuggees lists all the debuggees that the user has access to. func (c *Debugger2Client) ListDebuggees(ctx context.Context, req *clouddebuggerpb.ListDebuggeesRequest, opts ...gax.CallOption) (*clouddebuggerpb.ListDebuggeesResponse, error) { ctx = insertXGoog(ctx, c.xGoogHeader) opts = append(c.CallOptions.ListDebuggees[0:len(c.CallOptions.ListDebuggees):len(c.CallOptions.ListDebuggees)], opts...) diff --git a/vendor/cloud.google.com/go/debugger/apiv2/doc.go b/vendor/cloud.google.com/go/debugger/apiv2/doc.go index f0b10caa3..94d9f2b6c 100644 --- a/vendor/cloud.google.com/go/debugger/apiv2/doc.go +++ b/vendor/cloud.google.com/go/debugger/apiv2/doc.go @@ -35,8 +35,7 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } -// DefaultAuthScopes reports the authentication scopes required -// by this package. +// DefaultAuthScopes reports the default set of authentication scopes to use with this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/vendor/cloud.google.com/go/dlp/apiv2beta1/InspectContent_smoke_test.go b/vendor/cloud.google.com/go/dlp/apiv2beta1/InspectContent_smoke_test.go new file mode 100644 index 000000000..3edf4bd60 --- /dev/null +++ b/vendor/cloud.google.com/go/dlp/apiv2beta1/InspectContent_smoke_test.go @@ -0,0 +1,77 @@ +// Copyright 2017, Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// AUTO-GENERATED CODE. DO NOT EDIT. + +package dlp + +import ( + dlppb "google.golang.org/genproto/googleapis/privacy/dlp/v2beta1" +) + +import ( + "strconv" + "testing" + "time" + + "cloud.google.com/go/internal/testutil" + "golang.org/x/net/context" + "google.golang.org/api/iterator" + "google.golang.org/api/option" +) + +var _ = iterator.Done +var _ = strconv.FormatUint +var _ = time.Now + +func TestDlpServiceSmoke(t *testing.T) { + if testing.Short() { + t.Skip("skipping smoke test in short mode") + } + ctx := context.Background() + ts := testutil.TokenSource(ctx, DefaultAuthScopes()...) + if ts == nil { + t.Skip("Integration tests skipped. See CONTRIBUTING.md for details") + } + + projectId := testutil.ProjID() + _ = projectId + + c, err := NewClient(ctx, option.WithTokenSource(ts)) + if err != nil { + t.Fatal(err) + } + + var minLikelihood dlppb.Likelihood = dlppb.Likelihood_POSSIBLE + var inspectConfig = &dlppb.InspectConfig{ + MinLikelihood: minLikelihood, + } + var type_ string = "text/plain" + var value string = "my phone number is 215-512-1212" + var itemsElement = &dlppb.ContentItem{ + Type: type_, + DataItem: &dlppb.ContentItem_Value{ + Value: value, + }, + } + var items = []*dlppb.ContentItem{itemsElement} + var request = &dlppb.InspectContentRequest{ + InspectConfig: inspectConfig, + Items: items, + } + + if _, err := c.InspectContent(ctx, request); err != nil { + t.Error(err) + } +} diff --git a/vendor/cloud.google.com/go/dlp/apiv2beta1/dlp_client.go b/vendor/cloud.google.com/go/dlp/apiv2beta1/dlp_client.go new file mode 100644 index 000000000..4a6f80b28 --- /dev/null +++ b/vendor/cloud.google.com/go/dlp/apiv2beta1/dlp_client.go @@ -0,0 +1,327 @@ +// Copyright 2017, Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// AUTO-GENERATED CODE. DO NOT EDIT. + +package dlp + +import ( + "time" + + "cloud.google.com/go/internal/version" + "cloud.google.com/go/longrunning" + lroauto "cloud.google.com/go/longrunning/autogen" + gax "github.com/googleapis/gax-go" + "golang.org/x/net/context" + "google.golang.org/api/option" + "google.golang.org/api/transport" + longrunningpb "google.golang.org/genproto/googleapis/longrunning" + dlppb "google.golang.org/genproto/googleapis/privacy/dlp/v2beta1" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" +) + +// CallOptions contains the retry settings for each method of Client. +type CallOptions struct { + InspectContent []gax.CallOption + RedactContent []gax.CallOption + CreateInspectOperation []gax.CallOption + ListInspectFindings []gax.CallOption + ListInfoTypes []gax.CallOption + ListRootCategories []gax.CallOption +} + +func defaultClientOptions() []option.ClientOption { + return []option.ClientOption{ + option.WithEndpoint("dlp.googleapis.com:443"), + option.WithScopes(DefaultAuthScopes()...), + } +} + +func defaultCallOptions() *CallOptions { + retry := map[[2]string][]gax.CallOption{ + {"default", "idempotent"}: { + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.3, + }) + }), + }, + } + return &CallOptions{ + InspectContent: retry[[2]string{"default", "non_idempotent"}], + RedactContent: retry[[2]string{"default", "non_idempotent"}], + CreateInspectOperation: retry[[2]string{"default", "non_idempotent"}], + ListInspectFindings: retry[[2]string{"default", "idempotent"}], + ListInfoTypes: retry[[2]string{"default", "idempotent"}], + ListRootCategories: retry[[2]string{"default", "idempotent"}], + } +} + +// Client is a client for interacting with DLP API. +type Client struct { + // The connection to the service. + conn *grpc.ClientConn + + // The gRPC API client. + client dlppb.DlpServiceClient + + // LROClient is used internally to handle longrunning operations. + // It is exposed so that its CallOptions can be modified if required. + // Users should not Close this client. + LROClient *lroauto.OperationsClient + + // The call options for this service. + CallOptions *CallOptions + + // The metadata to be sent with each request. + xGoogHeader []string +} + +// NewClient creates a new dlp service client. +// +// The DLP API is a service that allows clients +// to detect the presence of Personally Identifiable Information (PII) and other +// privacy-sensitive data in user-supplied, unstructured data streams, like text +// blocks or images. +// The service also includes methods for sensitive data redaction and +// scheduling of data scans on Google Cloud Platform based data sets. +func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error) { + conn, err := transport.DialGRPC(ctx, append(defaultClientOptions(), opts...)...) + if err != nil { + return nil, err + } + c := &Client{ + conn: conn, + CallOptions: defaultCallOptions(), + + client: dlppb.NewDlpServiceClient(conn), + } + c.setGoogleClientInfo() + + c.LROClient, err = lroauto.NewOperationsClient(ctx, option.WithGRPCConn(conn)) + if err != nil { + // This error "should not happen", since we are just reusing old connection + // and never actually need to dial. + // If this does happen, we could leak conn. However, we cannot close conn: + // If the user invoked the function with option.WithGRPCConn, + // we would close a connection that's still in use. + // TODO(pongad): investigate error conditions. + return nil, err + } + return c, nil +} + +// Connection returns the client's connection to the API service. +func (c *Client) Connection() *grpc.ClientConn { + return c.conn +} + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *Client) Close() error { + return c.conn.Close() +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *Client) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", version.Go()}, keyval...) + kv = append(kv, "gapic", version.Repo, "gax", gax.Version, "grpc", grpc.Version) + c.xGoogHeader = []string{gax.XGoogHeader(kv...)} +} + +// ResultPath returns the path for the result resource. +func ResultPath(result string) string { + return "" + + "inspect/results/" + + result + + "" +} + +// InspectContent finds potentially sensitive info in a list of strings. +// This method has limits on input size, processing time, and output size. +func (c *Client) InspectContent(ctx context.Context, req *dlppb.InspectContentRequest, opts ...gax.CallOption) (*dlppb.InspectContentResponse, error) { + ctx = insertXGoog(ctx, c.xGoogHeader) + opts = append(c.CallOptions.InspectContent[0:len(c.CallOptions.InspectContent):len(c.CallOptions.InspectContent)], opts...) + var resp *dlppb.InspectContentResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.InspectContent(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +// RedactContent redacts potentially sensitive info from a list of strings. +// This method has limits on input size, processing time, and output size. +func (c *Client) RedactContent(ctx context.Context, req *dlppb.RedactContentRequest, opts ...gax.CallOption) (*dlppb.RedactContentResponse, error) { + ctx = insertXGoog(ctx, c.xGoogHeader) + opts = append(c.CallOptions.RedactContent[0:len(c.CallOptions.RedactContent):len(c.CallOptions.RedactContent)], opts...) + var resp *dlppb.RedactContentResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.RedactContent(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +// CreateInspectOperation schedules a job scanning content in a Google Cloud Platform data +// repository. +func (c *Client) CreateInspectOperation(ctx context.Context, req *dlppb.CreateInspectOperationRequest, opts ...gax.CallOption) (*CreateInspectOperationHandle, error) { + ctx = insertXGoog(ctx, c.xGoogHeader) + opts = append(c.CallOptions.CreateInspectOperation[0:len(c.CallOptions.CreateInspectOperation):len(c.CallOptions.CreateInspectOperation)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.CreateInspectOperation(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &CreateInspectOperationHandle{ + lro: longrunning.InternalNewOperation(c.LROClient, resp), + }, nil +} + +// ListInspectFindings returns list of results for given inspect operation result set id. +func (c *Client) ListInspectFindings(ctx context.Context, req *dlppb.ListInspectFindingsRequest, opts ...gax.CallOption) (*dlppb.ListInspectFindingsResponse, error) { + ctx = insertXGoog(ctx, c.xGoogHeader) + opts = append(c.CallOptions.ListInspectFindings[0:len(c.CallOptions.ListInspectFindings):len(c.CallOptions.ListInspectFindings)], opts...) + var resp *dlppb.ListInspectFindingsResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.ListInspectFindings(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +// ListInfoTypes returns sensitive information types for given category. +func (c *Client) ListInfoTypes(ctx context.Context, req *dlppb.ListInfoTypesRequest, opts ...gax.CallOption) (*dlppb.ListInfoTypesResponse, error) { + ctx = insertXGoog(ctx, c.xGoogHeader) + opts = append(c.CallOptions.ListInfoTypes[0:len(c.CallOptions.ListInfoTypes):len(c.CallOptions.ListInfoTypes)], opts...) + var resp *dlppb.ListInfoTypesResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.ListInfoTypes(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +// ListRootCategories returns the list of root categories of sensitive information. +func (c *Client) ListRootCategories(ctx context.Context, req *dlppb.ListRootCategoriesRequest, opts ...gax.CallOption) (*dlppb.ListRootCategoriesResponse, error) { + ctx = insertXGoog(ctx, c.xGoogHeader) + opts = append(c.CallOptions.ListRootCategories[0:len(c.CallOptions.ListRootCategories):len(c.CallOptions.ListRootCategories)], opts...) + var resp *dlppb.ListRootCategoriesResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.ListRootCategories(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +// CreateInspectOperationHandle manages a long-running operation from CreateInspectOperation. +type CreateInspectOperationHandle struct { + lro *longrunning.Operation +} + +// CreateInspectOperationHandle returns a new CreateInspectOperationHandle from a given name. +// The name must be that of a previously created CreateInspectOperationHandle, possibly from a different process. +func (c *Client) CreateInspectOperationHandle(name string) *CreateInspectOperationHandle { + return &CreateInspectOperationHandle{ + lro: longrunning.InternalNewOperation(c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *CreateInspectOperationHandle) Wait(ctx context.Context, opts ...gax.CallOption) (*dlppb.InspectOperationResult, error) { + var resp dlppb.InspectOperationResult + if err := op.lro.WaitWithInterval(ctx, &resp, 45000*time.Millisecond, opts...); err != nil { + return nil, err + } + return &resp, nil +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *CreateInspectOperationHandle) Poll(ctx context.Context, opts ...gax.CallOption) (*dlppb.InspectOperationResult, error) { + var resp dlppb.InspectOperationResult + if err := op.lro.Poll(ctx, &resp, opts...); err != nil { + return nil, err + } + if !op.Done() { + return nil, nil + } + return &resp, nil +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *CreateInspectOperationHandle) Metadata() (*dlppb.InspectOperationMetadata, error) { + var meta dlppb.InspectOperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *CreateInspectOperationHandle) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *CreateInspectOperationHandle) Name() string { + return op.lro.Name() +} diff --git a/vendor/cloud.google.com/go/dlp/apiv2beta1/dlp_client_example_test.go b/vendor/cloud.google.com/go/dlp/apiv2beta1/dlp_client_example_test.go new file mode 100644 index 000000000..714ae5b72 --- /dev/null +++ b/vendor/cloud.google.com/go/dlp/apiv2beta1/dlp_client_example_test.go @@ -0,0 +1,146 @@ +// Copyright 2017, Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// AUTO-GENERATED CODE. DO NOT EDIT. + +package dlp_test + +import ( + "cloud.google.com/go/dlp/apiv2beta1" + "golang.org/x/net/context" + dlppb "google.golang.org/genproto/googleapis/privacy/dlp/v2beta1" +) + +func ExampleNewClient() { + ctx := context.Background() + c, err := dlp.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use client. + _ = c +} + +func ExampleClient_InspectContent() { + ctx := context.Background() + c, err := dlp.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + + req := &dlppb.InspectContentRequest{ + // TODO: Fill request struct fields. + } + resp, err := c.InspectContent(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_RedactContent() { + ctx := context.Background() + c, err := dlp.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + + req := &dlppb.RedactContentRequest{ + // TODO: Fill request struct fields. + } + resp, err := c.RedactContent(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_CreateInspectOperation() { + ctx := context.Background() + c, err := dlp.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + + req := &dlppb.CreateInspectOperationRequest{ + // TODO: Fill request struct fields. + } + op, err := c.CreateInspectOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_ListInspectFindings() { + ctx := context.Background() + c, err := dlp.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + + req := &dlppb.ListInspectFindingsRequest{ + // TODO: Fill request struct fields. + } + resp, err := c.ListInspectFindings(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_ListInfoTypes() { + ctx := context.Background() + c, err := dlp.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + + req := &dlppb.ListInfoTypesRequest{ + // TODO: Fill request struct fields. + } + resp, err := c.ListInfoTypes(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_ListRootCategories() { + ctx := context.Background() + c, err := dlp.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + + req := &dlppb.ListRootCategoriesRequest{ + // TODO: Fill request struct fields. + } + resp, err := c.ListRootCategories(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} diff --git a/vendor/cloud.google.com/go/dlp/apiv2beta1/doc.go b/vendor/cloud.google.com/go/dlp/apiv2beta1/doc.go new file mode 100644 index 000000000..af6e0d9b2 --- /dev/null +++ b/vendor/cloud.google.com/go/dlp/apiv2beta1/doc.go @@ -0,0 +1,42 @@ +// Copyright 2017, Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// AUTO-GENERATED CODE. DO NOT EDIT. + +// Package dlp is an experimental, auto-generated package for the +// DLP API. +// +// The Google Data Loss Prevention API provides methods for detection of +// privacy-sensitive fragments in text, images, and Google Cloud Platform +// storage repositories. +package dlp // import "cloud.google.com/go/dlp/apiv2beta1" + +import ( + "golang.org/x/net/context" + "google.golang.org/grpc/metadata" +) + +func insertXGoog(ctx context.Context, val []string) context.Context { + md, _ := metadata.FromOutgoingContext(ctx) + md = md.Copy() + md["x-goog-api-client"] = val + return metadata.NewOutgoingContext(ctx, md) +} + +// DefaultAuthScopes reports the default set of authentication scopes to use with this package. +func DefaultAuthScopes() []string { + return []string{ + "https://www.googleapis.com/auth/cloud-platform", + } +} diff --git a/vendor/cloud.google.com/go/dlp/apiv2beta1/mock_test.go b/vendor/cloud.google.com/go/dlp/apiv2beta1/mock_test.go new file mode 100644 index 000000000..45d4c4f58 --- /dev/null +++ b/vendor/cloud.google.com/go/dlp/apiv2beta1/mock_test.go @@ -0,0 +1,556 @@ +// Copyright 2017, Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// AUTO-GENERATED CODE. DO NOT EDIT. + +package dlp + +import ( + longrunningpb "google.golang.org/genproto/googleapis/longrunning" + dlppb "google.golang.org/genproto/googleapis/privacy/dlp/v2beta1" +) + +import ( + "flag" + "fmt" + "io" + "log" + "net" + "os" + "strings" + "testing" + + "github.com/golang/protobuf/proto" + "github.com/golang/protobuf/ptypes" + "golang.org/x/net/context" + "google.golang.org/api/option" + status "google.golang.org/genproto/googleapis/rpc/status" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/metadata" + gstatus "google.golang.org/grpc/status" +) + +var _ = io.EOF +var _ = ptypes.MarshalAny +var _ status.Status + +type mockDlpServer struct { + // Embed for forward compatibility. + // Tests will keep working if more methods are added + // in the future. + dlppb.DlpServiceServer + + reqs []proto.Message + + // If set, all calls return this error. + err error + + // responses to return if err == nil + resps []proto.Message +} + +func (s *mockDlpServer) InspectContent(ctx context.Context, req *dlppb.InspectContentRequest) (*dlppb.InspectContentResponse, error) { + md, _ := metadata.FromIncomingContext(ctx) + if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { + return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) + } + s.reqs = append(s.reqs, req) + if s.err != nil { + return nil, s.err + } + return s.resps[0].(*dlppb.InspectContentResponse), nil +} + +func (s *mockDlpServer) RedactContent(ctx context.Context, req *dlppb.RedactContentRequest) (*dlppb.RedactContentResponse, error) { + md, _ := metadata.FromIncomingContext(ctx) + if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { + return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) + } + s.reqs = append(s.reqs, req) + if s.err != nil { + return nil, s.err + } + return s.resps[0].(*dlppb.RedactContentResponse), nil +} + +func (s *mockDlpServer) CreateInspectOperation(ctx context.Context, req *dlppb.CreateInspectOperationRequest) (*longrunningpb.Operation, error) { + md, _ := metadata.FromIncomingContext(ctx) + if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { + return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) + } + s.reqs = append(s.reqs, req) + if s.err != nil { + return nil, s.err + } + return s.resps[0].(*longrunningpb.Operation), nil +} + +func (s *mockDlpServer) ListInspectFindings(ctx context.Context, req *dlppb.ListInspectFindingsRequest) (*dlppb.ListInspectFindingsResponse, error) { + md, _ := metadata.FromIncomingContext(ctx) + if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { + return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) + } + s.reqs = append(s.reqs, req) + if s.err != nil { + return nil, s.err + } + return s.resps[0].(*dlppb.ListInspectFindingsResponse), nil +} + +func (s *mockDlpServer) ListInfoTypes(ctx context.Context, req *dlppb.ListInfoTypesRequest) (*dlppb.ListInfoTypesResponse, error) { + md, _ := metadata.FromIncomingContext(ctx) + if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { + return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) + } + s.reqs = append(s.reqs, req) + if s.err != nil { + return nil, s.err + } + return s.resps[0].(*dlppb.ListInfoTypesResponse), nil +} + +func (s *mockDlpServer) ListRootCategories(ctx context.Context, req *dlppb.ListRootCategoriesRequest) (*dlppb.ListRootCategoriesResponse, error) { + md, _ := metadata.FromIncomingContext(ctx) + if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { + return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) + } + s.reqs = append(s.reqs, req) + if s.err != nil { + return nil, s.err + } + return s.resps[0].(*dlppb.ListRootCategoriesResponse), nil +} + +// clientOpt is the option tests should use to connect to the test server. +// It is initialized by TestMain. +var clientOpt option.ClientOption + +var ( + mockDlp mockDlpServer +) + +func TestMain(m *testing.M) { + flag.Parse() + + serv := grpc.NewServer() + dlppb.RegisterDlpServiceServer(serv, &mockDlp) + + lis, err := net.Listen("tcp", "localhost:0") + if err != nil { + log.Fatal(err) + } + go serv.Serve(lis) + + conn, err := grpc.Dial(lis.Addr().String(), grpc.WithInsecure()) + if err != nil { + log.Fatal(err) + } + clientOpt = option.WithGRPCConn(conn) + + os.Exit(m.Run()) +} + +func TestDlpServiceInspectContent(t *testing.T) { + var expectedResponse *dlppb.InspectContentResponse = &dlppb.InspectContentResponse{} + + mockDlp.err = nil + mockDlp.reqs = nil + + mockDlp.resps = append(mockDlp.resps[:0], expectedResponse) + + var inspectConfig *dlppb.InspectConfig = &dlppb.InspectConfig{} + var items []*dlppb.ContentItem = nil + var request = &dlppb.InspectContentRequest{ + InspectConfig: inspectConfig, + Items: items, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.InspectContent(context.Background(), request) + + if err != nil { + t.Fatal(err) + } + + if want, got := request, mockDlp.reqs[0]; !proto.Equal(want, got) { + t.Errorf("wrong request %q, want %q", got, want) + } + + if want, got := expectedResponse, resp; !proto.Equal(want, got) { + t.Errorf("wrong response %q, want %q)", got, want) + } +} + +func TestDlpServiceInspectContentError(t *testing.T) { + errCode := codes.PermissionDenied + mockDlp.err = gstatus.Error(errCode, "test error") + + var inspectConfig *dlppb.InspectConfig = &dlppb.InspectConfig{} + var items []*dlppb.ContentItem = nil + var request = &dlppb.InspectContentRequest{ + InspectConfig: inspectConfig, + Items: items, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.InspectContent(context.Background(), request) + + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { + t.Errorf("got error code %q, want %q", c, errCode) + } + _ = resp +} +func TestDlpServiceRedactContent(t *testing.T) { + var expectedResponse *dlppb.RedactContentResponse = &dlppb.RedactContentResponse{} + + mockDlp.err = nil + mockDlp.reqs = nil + + mockDlp.resps = append(mockDlp.resps[:0], expectedResponse) + + var inspectConfig *dlppb.InspectConfig = &dlppb.InspectConfig{} + var items []*dlppb.ContentItem = nil + var replaceConfigs []*dlppb.RedactContentRequest_ReplaceConfig = nil + var request = &dlppb.RedactContentRequest{ + InspectConfig: inspectConfig, + Items: items, + ReplaceConfigs: replaceConfigs, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.RedactContent(context.Background(), request) + + if err != nil { + t.Fatal(err) + } + + if want, got := request, mockDlp.reqs[0]; !proto.Equal(want, got) { + t.Errorf("wrong request %q, want %q", got, want) + } + + if want, got := expectedResponse, resp; !proto.Equal(want, got) { + t.Errorf("wrong response %q, want %q)", got, want) + } +} + +func TestDlpServiceRedactContentError(t *testing.T) { + errCode := codes.PermissionDenied + mockDlp.err = gstatus.Error(errCode, "test error") + + var inspectConfig *dlppb.InspectConfig = &dlppb.InspectConfig{} + var items []*dlppb.ContentItem = nil + var replaceConfigs []*dlppb.RedactContentRequest_ReplaceConfig = nil + var request = &dlppb.RedactContentRequest{ + InspectConfig: inspectConfig, + Items: items, + ReplaceConfigs: replaceConfigs, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.RedactContent(context.Background(), request) + + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { + t.Errorf("got error code %q, want %q", c, errCode) + } + _ = resp +} +func TestDlpServiceCreateInspectOperation(t *testing.T) { + var name string = "name3373707" + var expectedResponse = &dlppb.InspectOperationResult{ + Name: name, + } + + mockDlp.err = nil + mockDlp.reqs = nil + + any, err := ptypes.MarshalAny(expectedResponse) + if err != nil { + t.Fatal(err) + } + mockDlp.resps = append(mockDlp.resps[:0], &longrunningpb.Operation{ + Name: "longrunning-test", + Done: true, + Result: &longrunningpb.Operation_Response{Response: any}, + }) + + var inspectConfig *dlppb.InspectConfig = &dlppb.InspectConfig{} + var storageConfig *dlppb.StorageConfig = &dlppb.StorageConfig{} + var outputConfig *dlppb.OutputStorageConfig = &dlppb.OutputStorageConfig{} + var request = &dlppb.CreateInspectOperationRequest{ + InspectConfig: inspectConfig, + StorageConfig: storageConfig, + OutputConfig: outputConfig, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + respLRO, err := c.CreateInspectOperation(context.Background(), request) + if err != nil { + t.Fatal(err) + } + resp, err := respLRO.Wait(context.Background()) + + if err != nil { + t.Fatal(err) + } + + if want, got := request, mockDlp.reqs[0]; !proto.Equal(want, got) { + t.Errorf("wrong request %q, want %q", got, want) + } + + if want, got := expectedResponse, resp; !proto.Equal(want, got) { + t.Errorf("wrong response %q, want %q)", got, want) + } +} + +func TestDlpServiceCreateInspectOperationError(t *testing.T) { + errCode := codes.PermissionDenied + mockDlp.err = nil + mockDlp.resps = append(mockDlp.resps[:0], &longrunningpb.Operation{ + Name: "longrunning-test", + Done: true, + Result: &longrunningpb.Operation_Error{ + Error: &status.Status{ + Code: int32(errCode), + Message: "test error", + }, + }, + }) + + var inspectConfig *dlppb.InspectConfig = &dlppb.InspectConfig{} + var storageConfig *dlppb.StorageConfig = &dlppb.StorageConfig{} + var outputConfig *dlppb.OutputStorageConfig = &dlppb.OutputStorageConfig{} + var request = &dlppb.CreateInspectOperationRequest{ + InspectConfig: inspectConfig, + StorageConfig: storageConfig, + OutputConfig: outputConfig, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + respLRO, err := c.CreateInspectOperation(context.Background(), request) + if err != nil { + t.Fatal(err) + } + resp, err := respLRO.Wait(context.Background()) + + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { + t.Errorf("got error code %q, want %q", c, errCode) + } + _ = resp +} +func TestDlpServiceListInspectFindings(t *testing.T) { + var nextPageToken string = "nextPageToken-1530815211" + var expectedResponse = &dlppb.ListInspectFindingsResponse{ + NextPageToken: nextPageToken, + } + + mockDlp.err = nil + mockDlp.reqs = nil + + mockDlp.resps = append(mockDlp.resps[:0], expectedResponse) + + var formattedName string = ResultPath("[RESULT]") + var request = &dlppb.ListInspectFindingsRequest{ + Name: formattedName, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.ListInspectFindings(context.Background(), request) + + if err != nil { + t.Fatal(err) + } + + if want, got := request, mockDlp.reqs[0]; !proto.Equal(want, got) { + t.Errorf("wrong request %q, want %q", got, want) + } + + if want, got := expectedResponse, resp; !proto.Equal(want, got) { + t.Errorf("wrong response %q, want %q)", got, want) + } +} + +func TestDlpServiceListInspectFindingsError(t *testing.T) { + errCode := codes.PermissionDenied + mockDlp.err = gstatus.Error(errCode, "test error") + + var formattedName string = ResultPath("[RESULT]") + var request = &dlppb.ListInspectFindingsRequest{ + Name: formattedName, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.ListInspectFindings(context.Background(), request) + + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { + t.Errorf("got error code %q, want %q", c, errCode) + } + _ = resp +} +func TestDlpServiceListInfoTypes(t *testing.T) { + var expectedResponse *dlppb.ListInfoTypesResponse = &dlppb.ListInfoTypesResponse{} + + mockDlp.err = nil + mockDlp.reqs = nil + + mockDlp.resps = append(mockDlp.resps[:0], expectedResponse) + + var category string = "category50511102" + var languageCode string = "languageCode-412800396" + var request = &dlppb.ListInfoTypesRequest{ + Category: category, + LanguageCode: languageCode, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.ListInfoTypes(context.Background(), request) + + if err != nil { + t.Fatal(err) + } + + if want, got := request, mockDlp.reqs[0]; !proto.Equal(want, got) { + t.Errorf("wrong request %q, want %q", got, want) + } + + if want, got := expectedResponse, resp; !proto.Equal(want, got) { + t.Errorf("wrong response %q, want %q)", got, want) + } +} + +func TestDlpServiceListInfoTypesError(t *testing.T) { + errCode := codes.PermissionDenied + mockDlp.err = gstatus.Error(errCode, "test error") + + var category string = "category50511102" + var languageCode string = "languageCode-412800396" + var request = &dlppb.ListInfoTypesRequest{ + Category: category, + LanguageCode: languageCode, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.ListInfoTypes(context.Background(), request) + + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { + t.Errorf("got error code %q, want %q", c, errCode) + } + _ = resp +} +func TestDlpServiceListRootCategories(t *testing.T) { + var expectedResponse *dlppb.ListRootCategoriesResponse = &dlppb.ListRootCategoriesResponse{} + + mockDlp.err = nil + mockDlp.reqs = nil + + mockDlp.resps = append(mockDlp.resps[:0], expectedResponse) + + var languageCode string = "languageCode-412800396" + var request = &dlppb.ListRootCategoriesRequest{ + LanguageCode: languageCode, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.ListRootCategories(context.Background(), request) + + if err != nil { + t.Fatal(err) + } + + if want, got := request, mockDlp.reqs[0]; !proto.Equal(want, got) { + t.Errorf("wrong request %q, want %q", got, want) + } + + if want, got := expectedResponse, resp; !proto.Equal(want, got) { + t.Errorf("wrong response %q, want %q)", got, want) + } +} + +func TestDlpServiceListRootCategoriesError(t *testing.T) { + errCode := codes.PermissionDenied + mockDlp.err = gstatus.Error(errCode, "test error") + + var languageCode string = "languageCode-412800396" + var request = &dlppb.ListRootCategoriesRequest{ + LanguageCode: languageCode, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.ListRootCategories(context.Background(), request) + + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { + t.Errorf("got error code %q, want %q", c, errCode) + } + _ = resp +} diff --git a/vendor/cloud.google.com/go/errorreporting/apiv1beta1/doc.go b/vendor/cloud.google.com/go/errorreporting/apiv1beta1/doc.go index 351bf6fa5..5f9412466 100644 --- a/vendor/cloud.google.com/go/errorreporting/apiv1beta1/doc.go +++ b/vendor/cloud.google.com/go/errorreporting/apiv1beta1/doc.go @@ -20,6 +20,8 @@ // Stackdriver Error Reporting groups and counts similar errors from cloud // services. The Stackdriver Error Reporting API provides a way to report new // errors and read access to error groups and their associated errors. +// +// Use the client at cloud.google.com/go/errorreporting in preference to this. package errorreporting // import "cloud.google.com/go/errorreporting/apiv1beta1" import ( @@ -34,8 +36,7 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } -// DefaultAuthScopes reports the authentication scopes required -// by this package. +// DefaultAuthScopes reports the default set of authentication scopes to use with this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/vendor/cloud.google.com/go/errorreporting/apiv1beta1/error_group_client.go b/vendor/cloud.google.com/go/errorreporting/apiv1beta1/error_group_client.go index 3c09c324a..f2d2194b5 100644 --- a/vendor/cloud.google.com/go/errorreporting/apiv1beta1/error_group_client.go +++ b/vendor/cloud.google.com/go/errorreporting/apiv1beta1/error_group_client.go @@ -29,10 +29,6 @@ import ( "google.golang.org/grpc/codes" ) -var ( - errorGroupGroupPathTemplate = gax.MustCompilePathTemplate("projects/{project}/groups/{group}") -) - // ErrorGroupCallOptions contains the retry settings for each method of ErrorGroupClient. type ErrorGroupCallOptions struct { GetGroup []gax.CallOption @@ -122,14 +118,12 @@ func (c *ErrorGroupClient) SetGoogleClientInfo(keyval ...string) { // ErrorGroupGroupPath returns the path for the group resource. func ErrorGroupGroupPath(project, group string) string { - path, err := errorGroupGroupPathTemplate.Render(map[string]string{ - "project": project, - "group": group, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "/groups/" + + group + + "" } // GetGroup get the specified group. diff --git a/vendor/cloud.google.com/go/errorreporting/apiv1beta1/error_stats_client.go b/vendor/cloud.google.com/go/errorreporting/apiv1beta1/error_stats_client.go index 88f3a53a5..e9150a006 100644 --- a/vendor/cloud.google.com/go/errorreporting/apiv1beta1/error_stats_client.go +++ b/vendor/cloud.google.com/go/errorreporting/apiv1beta1/error_stats_client.go @@ -31,10 +31,6 @@ import ( "google.golang.org/grpc/codes" ) -var ( - errorStatsProjectPathTemplate = gax.MustCompilePathTemplate("projects/{project}") -) - // ErrorStatsCallOptions contains the retry settings for each method of ErrorStatsClient. type ErrorStatsCallOptions struct { ListGroupStats []gax.CallOption @@ -127,13 +123,10 @@ func (c *ErrorStatsClient) SetGoogleClientInfo(keyval ...string) { // ErrorStatsProjectPath returns the path for the project resource. func ErrorStatsProjectPath(project string) string { - path, err := errorStatsProjectPathTemplate.Render(map[string]string{ - "project": project, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "" } // ListGroupStats lists the specified groups. diff --git a/vendor/cloud.google.com/go/errorreporting/apiv1beta1/report_errors_client.go b/vendor/cloud.google.com/go/errorreporting/apiv1beta1/report_errors_client.go index 189b85e46..bf8f98cc5 100644 --- a/vendor/cloud.google.com/go/errorreporting/apiv1beta1/report_errors_client.go +++ b/vendor/cloud.google.com/go/errorreporting/apiv1beta1/report_errors_client.go @@ -26,10 +26,6 @@ import ( "google.golang.org/grpc" ) -var ( - reportErrorsProjectPathTemplate = gax.MustCompilePathTemplate("projects/{project}") -) - // ReportErrorsCallOptions contains the retry settings for each method of ReportErrorsClient. type ReportErrorsCallOptions struct { ReportErrorEvent []gax.CallOption @@ -104,13 +100,10 @@ func (c *ReportErrorsClient) SetGoogleClientInfo(keyval ...string) { // ReportErrorsProjectPath returns the path for the project resource. func ReportErrorsProjectPath(project string) string { - path, err := reportErrorsProjectPathTemplate.Render(map[string]string{ - "project": project, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "" } // ReportErrorEvent report an individual error event. @@ -119,8 +112,7 @@ func ReportErrorsProjectPath(project string) string { // or an // API key // for authentication. To use an API key, append it to the URL as the value of -// a `key` parameter. For example: -//
POST https://clouderrorreporting.googleapis.com/v1beta1/projects/example-project/events:report?key=123ABC456
+// a key parameter. For example:
POST https://clouderrorreporting.googleapis.com/v1beta1/projects/example-project/events:report?key=123ABC456
func (c *ReportErrorsClient) ReportErrorEvent(ctx context.Context, req *clouderrorreportingpb.ReportErrorEventRequest, opts ...gax.CallOption) (*clouderrorreportingpb.ReportErrorEventResponse, error) { ctx = insertXGoog(ctx, c.xGoogHeader) opts = append(c.CallOptions.ReportErrorEvent[0:len(c.CallOptions.ReportErrorEvent):len(c.CallOptions.ReportErrorEvent)], opts...) diff --git a/vendor/cloud.google.com/go/errorreporting/error_logging_test.go b/vendor/cloud.google.com/go/errorreporting/error_logging_test.go new file mode 100644 index 000000000..ba1a3c987 --- /dev/null +++ b/vendor/cloud.google.com/go/errorreporting/error_logging_test.go @@ -0,0 +1,215 @@ +// Copyright 2016 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package errorreporting + +import ( + "bytes" + "errors" + "log" + "strings" + "testing" + + "cloud.google.com/go/logging" + "golang.org/x/net/context" + "google.golang.org/api/option" +) + +type fakeLogger struct { + entry *logging.Entry + fail bool +} + +func (c *fakeLogger) LogSync(ctx context.Context, e logging.Entry) error { + if c.fail { + return errors.New("request failed") + } + c.entry = &e + return nil +} + +func (c *fakeLogger) Close() error { + return nil +} + +func newTestClientUsingLogging(c *fakeLogger) *Client { + newLoggerInterface = func(ctx context.Context, project string, opts ...option.ClientOption) (loggerInterface, error) { + return c, nil + } + t, err := NewClient(context.Background(), testProjectID, "myservice", "v1.000", true) + if err != nil { + panic(err) + } + t.RepanicDefault = false + return t +} + +func TestCatchNothingUsingLogging(t *testing.T) { + fl := &fakeLogger{} + c := newTestClientUsingLogging(fl) + defer func() { + e := fl.entry + if e != nil { + t.Errorf("got error report, expected none") + } + }() + defer c.Catch(ctx) +} + +func entryMessage(e *logging.Entry) string { + return e.Payload.(map[string]interface{})["message"].(string) +} + +func commonLoggingChecks(t *testing.T, e *logging.Entry, panickingFunction string) { + if e.Payload.(map[string]interface{})["serviceContext"].(map[string]string)["service"] != "myservice" { + t.Errorf("error report didn't contain service name") + } + if e.Payload.(map[string]interface{})["serviceContext"].(map[string]string)["version"] != "v1.000" { + t.Errorf("error report didn't contain version name") + } + if !strings.Contains(entryMessage(e), "hello, error") { + t.Errorf("error report didn't contain message") + } + if !strings.Contains(entryMessage(e), panickingFunction) { + t.Errorf("error report didn't contain stack trace") + } +} + +func TestCatchPanicUsingLogging(t *testing.T) { + fl := &fakeLogger{} + c := newTestClientUsingLogging(fl) + defer func() { + e := fl.entry + if e == nil { + t.Fatalf("got no error report, expected one") + } + commonLoggingChecks(t, e, "TestCatchPanic") + if !strings.Contains(entryMessage(e), "divide by zero") { + t.Errorf("error report didn't contain recovered value") + } + }() + defer c.Catch(ctx, WithMessage("hello, error")) + var x int + x = x / x +} + +func TestCatchPanicNilClientUsingLogging(t *testing.T) { + buf := new(bytes.Buffer) + log.SetOutput(buf) + defer func() { + recover() + body := buf.String() + if !strings.Contains(body, "divide by zero") { + t.Errorf("error report didn't contain recovered value") + } + if !strings.Contains(body, "hello, error") { + t.Errorf("error report didn't contain message") + } + if !strings.Contains(body, "TestCatchPanicNilClient") { + t.Errorf("error report didn't contain recovered value") + } + }() + var c *Client + defer c.Catch(ctx, WithMessage("hello, error")) + var x int + x = x / x +} + +func TestLogFailedReportsUsingLogging(t *testing.T) { + fl := &fakeLogger{fail: true} + c := newTestClientUsingLogging(fl) + buf := new(bytes.Buffer) + log.SetOutput(buf) + defer func() { + recover() + body := buf.String() + if !strings.Contains(body, "hello, error") { + t.Errorf("error report didn't contain message") + } + if !strings.Contains(body, "errorreporting.TestLogFailedReports") { + t.Errorf("error report didn't contain stack trace") + } + if !strings.Contains(body, "divide by zero") { + t.Errorf("error report didn't contain recovered value") + } + }() + defer c.Catch(ctx, WithMessage("hello, error")) + var x int + x = x / x +} + +func TestCatchNilPanicUsingLogging(t *testing.T) { + fl := &fakeLogger{} + c := newTestClientUsingLogging(fl) + defer func() { + e := fl.entry + if e == nil { + t.Fatalf("got no error report, expected one") + } + commonLoggingChecks(t, e, "TestCatchNilPanic") + if !strings.Contains(entryMessage(e), "nil") { + t.Errorf("error report didn't contain recovered value") + } + }() + b := true + defer c.Catch(ctx, WithMessage("hello, error"), PanicFlag(&b)) + panic(nil) +} + +func TestNotCatchNilPanicUsingLogging(t *testing.T) { + fl := &fakeLogger{} + c := newTestClientUsingLogging(fl) + defer func() { + e := fl.entry + if e != nil { + t.Errorf("got error report, expected none") + } + }() + defer c.Catch(ctx, WithMessage("hello, error")) + panic(nil) +} + +func TestReportUsingLogging(t *testing.T) { + fl := &fakeLogger{} + c := newTestClientUsingLogging(fl) + c.Report(ctx, nil, "hello, ", "error") + e := fl.entry + if e == nil { + t.Fatalf("got no error report, expected one") + } + commonLoggingChecks(t, e, "TestReport") +} + +func TestReportfUsingLogging(t *testing.T) { + fl := &fakeLogger{} + c := newTestClientUsingLogging(fl) + c.Reportf(ctx, nil, "hello, error 2+%d=%d", 2, 2+2) + e := fl.entry + if e == nil { + t.Fatalf("got no error report, expected one") + } + commonLoggingChecks(t, e, "TestReportf") + if !strings.Contains(entryMessage(e), "2+2=4") { + t.Errorf("error report didn't contain formatted message") + } +} + +func TestCloseUsingLogging(t *testing.T) { + fl := &fakeLogger{} + c := newTestClientUsingLogging(fl) + err := c.Close() + if err != nil { + t.Fatal(err) + } +} diff --git a/vendor/cloud.google.com/go/errorreporting/errors.go b/vendor/cloud.google.com/go/errorreporting/errors.go new file mode 100644 index 000000000..dee600733 --- /dev/null +++ b/vendor/cloud.google.com/go/errorreporting/errors.go @@ -0,0 +1,456 @@ +// Copyright 2016 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package errorreporting is a Google Stackdriver Error Reporting library. +// +// This package is still experimental and subject to change. +// +// See https://cloud.google.com/error-reporting/ for more information. +// +// To initialize a client, use the NewClient function. +// +// import "cloud.google.com/go/errorreporting" +// ... +// errorsClient, err = errorreporting.NewClient(ctx, projectID, "myservice", "v1.0", true) +// +// The client can recover panics in your program and report them as errors. +// To use this functionality, defer its Catch method, as you would any other +// function for recovering panics. +// +// func foo(ctx context.Context, ...) { +// defer errorsClient.Catch(ctx) +// ... +// } +// +// Catch writes an error report containing the recovered value and a stack trace +// to Stackdriver Error Reporting. +// +// There are various options you can add to the call to Catch that modify how +// panics are handled. +// +// WithMessage and WithMessagef add a custom message after the recovered value, +// using fmt.Sprint and fmt.Sprintf respectively. +// +// defer errorsClient.Catch(ctx, errorreporting.WithMessagef("x=%d", x)) +// +// WithRequest fills in various fields in the error report with information +// about an http.Request that's being handled. +// +// defer errorsClient.Catch(ctx, errorreporting.WithRequest(httpReq)) +// +// By default, after recovering a panic, Catch will panic again with the +// recovered value. You can turn off this behavior with the Repanic option. +// +// defer errorsClient.Catch(ctx, errorreporting.Repanic(false)) +// +// You can also change the default behavior for the client by changing the +// RepanicDefault field. +// +// errorsClient.RepanicDefault = false +// +// It is also possible to write an error report directly without recovering a +// panic, using Report or Reportf. +// +// if err != nil { +// errorsClient.Reportf(ctx, r, "unexpected error %v", err) +// } +// +// If you try to write an error report with a nil client, or if the client +// fails to write the report to the server, the error report is logged using +// log.Println. +package errorreporting // import "cloud.google.com/go/errorreporting" + +import ( + "bytes" + "fmt" + "log" + "net/http" + "runtime" + "strings" + "time" + + api "cloud.google.com/go/errorreporting/apiv1beta1" + "cloud.google.com/go/internal/version" + "cloud.google.com/go/logging" + "github.com/golang/protobuf/ptypes/timestamp" + gax "github.com/googleapis/gax-go" + "golang.org/x/net/context" + "google.golang.org/api/option" + erpb "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1" +) + +const ( + userAgent = `gcloud-golang-errorreporting/20160701` +) + +type apiInterface interface { + ReportErrorEvent(ctx context.Context, req *erpb.ReportErrorEventRequest, opts ...gax.CallOption) (*erpb.ReportErrorEventResponse, error) + Close() error +} + +var newApiInterface = func(ctx context.Context, opts ...option.ClientOption) (apiInterface, error) { + client, err := api.NewReportErrorsClient(ctx, opts...) + if err != nil { + return nil, err + } + client.SetGoogleClientInfo("gccl", version.Repo) + return client, nil +} + +type loggerInterface interface { + LogSync(ctx context.Context, e logging.Entry) error + Close() error +} + +type logger struct { + *logging.Logger + c *logging.Client +} + +func (l logger) Close() error { + return l.c.Close() +} + +var newLoggerInterface = func(ctx context.Context, projectID string, opts ...option.ClientOption) (loggerInterface, error) { + lc, err := logging.NewClient(ctx, projectID, opts...) + if err != nil { + return nil, fmt.Errorf("creating Logging client: %v", err) + } + l := lc.Logger("errorreports") + return logger{l, lc}, nil +} + +type sender interface { + send(ctx context.Context, r *http.Request, message string) + close() error +} + +// errorApiSender sends error reports using the Stackdriver Error Reporting API. +type errorApiSender struct { + apiClient apiInterface + projectID string + serviceContext erpb.ServiceContext +} + +// loggingSender sends error reports using the Stackdriver Logging API. +type loggingSender struct { + logger loggerInterface + projectID string + serviceContext map[string]string +} + +// Client represents a Google Cloud Error Reporting client. +type Client struct { + sender + // RepanicDefault determines whether Catch will re-panic after recovering a + // panic. This behavior can be overridden for an individual call to Catch using + // the Repanic option. + RepanicDefault bool +} + +// NewClient returns a new error reporting client. Generally you will want +// to create a client on program initialization and use it through the lifetime +// of the process. +// +// The service name and version string identify the running program, and are +// included in error reports. The version string can be left empty. +// +// Set useLogging to report errors also using Stackdriver Logging, +// which will result in errors appearing in both the logs and the error +// dashboard. This is useful if you are already a user of Stackdriver Logging. +func NewClient(ctx context.Context, projectID, serviceName, serviceVersion string, useLogging bool, opts ...option.ClientOption) (*Client, error) { + if useLogging { + l, err := newLoggerInterface(ctx, projectID, opts...) + if err != nil { + return nil, fmt.Errorf("creating Logging client: %v", err) + } + sender := &loggingSender{ + logger: l, + projectID: projectID, + serviceContext: map[string]string{ + "service": serviceName, + }, + } + if serviceVersion != "" { + sender.serviceContext["version"] = serviceVersion + } + c := &Client{ + sender: sender, + RepanicDefault: true, + } + return c, nil + } else { + a, err := newApiInterface(ctx, opts...) + if err != nil { + return nil, fmt.Errorf("creating Error Reporting client: %v", err) + } + c := &Client{ + sender: &errorApiSender{ + apiClient: a, + projectID: "projects/" + projectID, + serviceContext: erpb.ServiceContext{ + Service: serviceName, + Version: serviceVersion, + }, + }, + RepanicDefault: true, + } + return c, nil + } +} + +// Close closes any resources held by the client. +// Close should be called when the client is no longer needed. +// It need not be called at program exit. +func (c *Client) Close() error { + err := c.sender.close() + c.sender = nil + return err +} + +// An Option is an optional argument to Catch. +type Option interface { + isOption() +} + +// PanicFlag returns an Option that can inform Catch that a panic has occurred. +// If *p is true when Catch is called, an error report is made even if recover +// returns nil. This allows Catch to report an error for panic(nil). +// If p is nil, the option is ignored. +// +// Here is an example of how to use PanicFlag: +// +// func foo(ctx context.Context, ...) { +// hasPanicked := true +// defer errorsClient.Catch(ctx, errorreporting.PanicFlag(&hasPanicked)) +// ... +// ... +// // We have reached the end of the function, so we're not panicking. +// hasPanicked = false +// } +func PanicFlag(p *bool) Option { return panicFlag{p} } + +type panicFlag struct { + *bool +} + +func (h panicFlag) isOption() {} + +// Repanic returns an Option that determines whether Catch will re-panic after +// it reports an error. This overrides the default in the client. +func Repanic(r bool) Option { return repanic(r) } + +type repanic bool + +func (r repanic) isOption() {} + +// WithRequest returns an Option that informs Catch or Report of an http.Request +// that is being handled. Information from the Request is included in the error +// report, if one is made. +func WithRequest(r *http.Request) Option { return withRequest{r} } + +type withRequest struct { + *http.Request +} + +func (w withRequest) isOption() {} + +// WithMessage returns an Option that sets a message to be included in the error +// report, if one is made. v is converted to a string with fmt.Sprint. +func WithMessage(v ...interface{}) Option { return message(v) } + +type message []interface{} + +func (m message) isOption() {} + +// WithMessagef returns an Option that sets a message to be included in the error +// report, if one is made. format and v are converted to a string with fmt.Sprintf. +func WithMessagef(format string, v ...interface{}) Option { return messagef{format, v} } + +type messagef struct { + format string + v []interface{} +} + +func (m messagef) isOption() {} + +// Catch tries to recover a panic; if it succeeds, it writes an error report. +// It should be called by deferring it, like any other function for recovering +// panics. +// +// Catch can be called concurrently with other calls to Catch, Report or Reportf. +func (c *Client) Catch(ctx context.Context, opt ...Option) { + panicked := false + for _, o := range opt { + switch o := o.(type) { + case panicFlag: + panicked = panicked || o.bool != nil && *o.bool + } + } + x := recover() + if x == nil && !panicked { + return + } + var ( + r *http.Request + shouldRepanic = true + messages = []string{fmt.Sprint(x)} + ) + if c != nil { + shouldRepanic = c.RepanicDefault + } + for _, o := range opt { + switch o := o.(type) { + case repanic: + shouldRepanic = bool(o) + case withRequest: + r = o.Request + case message: + messages = append(messages, fmt.Sprint(o...)) + case messagef: + messages = append(messages, fmt.Sprintf(o.format, o.v...)) + } + } + c.logInternal(ctx, r, true, strings.Join(messages, " ")) + if shouldRepanic { + panic(x) + } +} + +// Report writes an error report unconditionally, instead of only when a panic +// occurs. +// If r is non-nil, information from the Request is included in the error report. +// +// Report can be called concurrently with other calls to Catch, Report or Reportf. +func (c *Client) Report(ctx context.Context, r *http.Request, v ...interface{}) { + c.logInternal(ctx, r, false, fmt.Sprint(v...)) +} + +// Reportf writes an error report unconditionally, instead of only when a panic +// occurs. +// If r is non-nil, information from the Request is included in the error report. +// +// Reportf can be called concurrently with other calls to Catch, Report or Reportf. +func (c *Client) Reportf(ctx context.Context, r *http.Request, format string, v ...interface{}) { + c.logInternal(ctx, r, false, fmt.Sprintf(format, v...)) +} + +func (c *Client) logInternal(ctx context.Context, r *http.Request, isPanic bool, msg string) { + // limit the stack trace to 16k. + var buf [16384]byte + stack := buf[0:runtime.Stack(buf[:], false)] + message := msg + "\n" + chopStack(stack, isPanic) + if c == nil { + log.Println("Error report used nil client:", message) + return + } + c.send(ctx, r, message) +} + +func (s *loggingSender) send(ctx context.Context, r *http.Request, message string) { + payload := map[string]interface{}{ + "eventTime": time.Now().In(time.UTC).Format(time.RFC3339Nano), + "message": message, + "serviceContext": s.serviceContext, + } + if r != nil { + payload["context"] = map[string]interface{}{ + "httpRequest": map[string]interface{}{ + "method": r.Method, + "url": r.Host + r.RequestURI, + "userAgent": r.UserAgent(), + "referrer": r.Referer(), + "remoteIp": r.RemoteAddr, + }, + } + } + e := logging.Entry{ + Severity: logging.Error, + Payload: payload, + } + err := s.logger.LogSync(ctx, e) + if err != nil { + log.Println("Error writing error report:", err, "report:", payload) + } +} + +func (s *loggingSender) close() error { + return s.logger.Close() +} + +func (s *errorApiSender) send(ctx context.Context, r *http.Request, message string) { + time := time.Now() + var errorContext *erpb.ErrorContext + if r != nil { + errorContext = &erpb.ErrorContext{ + HttpRequest: &erpb.HttpRequestContext{ + Method: r.Method, + Url: r.Host + r.RequestURI, + UserAgent: r.UserAgent(), + Referrer: r.Referer(), + RemoteIp: r.RemoteAddr, + }, + } + } + req := erpb.ReportErrorEventRequest{ + ProjectName: s.projectID, + Event: &erpb.ReportedErrorEvent{ + EventTime: ×tamp.Timestamp{ + Seconds: time.Unix(), + Nanos: int32(time.Nanosecond()), + }, + ServiceContext: &s.serviceContext, + Message: message, + Context: errorContext, + }, + } + _, err := s.apiClient.ReportErrorEvent(ctx, &req) + if err != nil { + log.Println("Error writing error report:", err, "report:", message) + } +} + +func (s *errorApiSender) close() error { + return s.apiClient.Close() +} + +// chopStack trims a stack trace so that the function which panics or calls +// Report is first. +func chopStack(s []byte, isPanic bool) string { + var f []byte + if isPanic { + f = []byte("panic(") + } else { + f = []byte("cloud.google.com/go/errorreporting.(*Client).Report") + } + + lfFirst := bytes.IndexByte(s, '\n') + if lfFirst == -1 { + return string(s) + } + stack := s[lfFirst:] + panicLine := bytes.Index(stack, f) + if panicLine == -1 { + return string(s) + } + stack = stack[panicLine+1:] + for i := 0; i < 2; i++ { + nextLine := bytes.IndexByte(stack, '\n') + if nextLine == -1 { + return string(s) + } + stack = stack[nextLine+1:] + } + return string(s[:lfFirst+1]) + string(stack) +} diff --git a/vendor/cloud.google.com/go/errorreporting/errors_test.go b/vendor/cloud.google.com/go/errorreporting/errors_test.go new file mode 100644 index 000000000..c5cda8815 --- /dev/null +++ b/vendor/cloud.google.com/go/errorreporting/errors_test.go @@ -0,0 +1,212 @@ +// Copyright 2016 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package errorreporting + +import ( + "bytes" + "errors" + "log" + "strings" + "testing" + + gax "github.com/googleapis/gax-go" + + "golang.org/x/net/context" + "google.golang.org/api/option" + erpb "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1" +) + +const testProjectID = "testproject" + +type fakeReportErrorsClient struct { + req *erpb.ReportErrorEventRequest + fail bool +} + +func (c *fakeReportErrorsClient) ReportErrorEvent(ctx context.Context, req *erpb.ReportErrorEventRequest, _ ...gax.CallOption) (*erpb.ReportErrorEventResponse, error) { + if c.fail { + return nil, errors.New("request failed") + } + c.req = req + return &erpb.ReportErrorEventResponse{}, nil +} + +func (c *fakeReportErrorsClient) Close() error { + return nil +} + +func newTestClient(c *fakeReportErrorsClient) *Client { + newApiInterface = func(ctx context.Context, opts ...option.ClientOption) (apiInterface, error) { + return c, nil + } + t, err := NewClient(context.Background(), testProjectID, "myservice", "v1.000", false) + if err != nil { + panic(err) + } + t.RepanicDefault = false + return t +} + +var ctx context.Context + +func init() { + ctx = context.Background() +} + +func TestCatchNothing(t *testing.T) { + fc := &fakeReportErrorsClient{} + c := newTestClient(fc) + defer func() { + r := fc.req + if r != nil { + t.Errorf("got error report, expected none") + } + }() + defer c.Catch(ctx) +} + +func commonChecks(t *testing.T, req *erpb.ReportErrorEventRequest, panickingFunction string) { + if req.Event.ServiceContext.Service != "myservice" { + t.Errorf("error report didn't contain service name") + } + if req.Event.ServiceContext.Version != "v1.000" { + t.Errorf("error report didn't contain version name") + } + if !strings.Contains(req.Event.Message, "hello, error") { + t.Errorf("error report didn't contain message") + } + if !strings.Contains(req.Event.Message, panickingFunction) { + t.Errorf("error report didn't contain stack trace") + } +} + +func TestCatchPanic(t *testing.T) { + fc := &fakeReportErrorsClient{} + c := newTestClient(fc) + defer func() { + r := fc.req + if r == nil { + t.Fatalf("got no error report, expected one") + } + commonChecks(t, r, "errorreporting.TestCatchPanic") + if !strings.Contains(r.Event.Message, "divide by zero") { + t.Errorf("error report didn't contain recovered value") + } + }() + defer c.Catch(ctx, WithMessage("hello, error")) + var x int + x = x / x +} + +func TestCatchPanicNilClient(t *testing.T) { + buf := new(bytes.Buffer) + log.SetOutput(buf) + defer func() { + recover() + body := buf.String() + if !strings.Contains(body, "divide by zero") { + t.Errorf("error report didn't contain recovered value") + } + if !strings.Contains(body, "hello, error") { + t.Errorf("error report didn't contain message") + } + if !strings.Contains(body, "TestCatchPanicNilClient") { + t.Errorf("error report didn't contain recovered value") + } + }() + var c *Client + defer c.Catch(ctx, WithMessage("hello, error")) + var x int + x = x / x +} + +func TestLogFailedReports(t *testing.T) { + fc := &fakeReportErrorsClient{fail: true} + c := newTestClient(fc) + buf := new(bytes.Buffer) + log.SetOutput(buf) + defer func() { + recover() + body := buf.String() + if !strings.Contains(body, "hello, error") { + t.Errorf("error report didn't contain message") + } + if !strings.Contains(body, "errorreporting.TestLogFailedReports") { + t.Errorf("error report didn't contain stack trace") + } + if !strings.Contains(body, "divide by zero") { + t.Errorf("error report didn't contain recovered value") + } + }() + defer c.Catch(ctx, WithMessage("hello, error")) + var x int + x = x / x +} + +func TestCatchNilPanic(t *testing.T) { + fc := &fakeReportErrorsClient{} + c := newTestClient(fc) + defer func() { + r := fc.req + if r == nil { + t.Fatalf("got no error report, expected one") + } + commonChecks(t, r, "errorreporting.TestCatchNilPanic") + if !strings.Contains(r.Event.Message, "nil") { + t.Errorf("error report didn't contain recovered value") + } + }() + b := true + defer c.Catch(ctx, WithMessage("hello, error"), PanicFlag(&b)) + panic(nil) +} + +func TestNotCatchNilPanic(t *testing.T) { + fc := &fakeReportErrorsClient{} + c := newTestClient(fc) + defer func() { + r := fc.req + if r != nil { + t.Errorf("got error report, expected none") + } + }() + defer c.Catch(ctx, WithMessage("hello, error")) + panic(nil) +} + +func TestReport(t *testing.T) { + fc := &fakeReportErrorsClient{} + c := newTestClient(fc) + c.Report(ctx, nil, "hello, ", "error") + r := fc.req + if r == nil { + t.Fatalf("got no error report, expected one") + } + commonChecks(t, r, "errorreporting.TestReport") +} + +func TestReportf(t *testing.T) { + fc := &fakeReportErrorsClient{} + c := newTestClient(fc) + c.Reportf(ctx, nil, "hello, error 2+%d=%d", 2, 2+2) + r := fc.req + if r == nil { + t.Fatalf("got no error report, expected one") + } + commonChecks(t, r, "errorreporting.TestReportf") + if !strings.Contains(r.Event.Message, "2+2=4") { + t.Errorf("error report didn't contain formatted message") + } +} diff --git a/vendor/cloud.google.com/go/errorreporting/stack_test.go b/vendor/cloud.google.com/go/errorreporting/stack_test.go new file mode 100644 index 000000000..950534f25 --- /dev/null +++ b/vendor/cloud.google.com/go/errorreporting/stack_test.go @@ -0,0 +1,118 @@ +// Copyright 2016 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package errorreporting + +import "testing" + +func TestChopStack(t *testing.T) { + for _, test := range []struct { + name string + in []byte + expected string + isPanic bool + }{ + { + name: "Catch", + in: []byte(`goroutine 20 [running]: +runtime/debug.Stack() + /gopath/src/runtime/debug/stack.go:24 +0x79 +cloud.google.com/go/errorreporting.(*Client).logInternal() + /gopath/src/cloud.google.com/go/errorreporting/errors.go:259 +0x18b +cloud.google.com/go/errorreporting.(*Client).Catch() + /gopath/src/cloud.google.com/go/errorreporting/errors.go:219 +0x6ed +panic() + /gopath/src/runtime/panic.go:458 +0x243 +cloud.google.com/go/errorreporting.TestCatchPanic() + /gopath/src/cloud.google.com/go/errorreporting/errors_test.go:93 +0x171 +testing.tRunner() + /gopath/src/testing/testing.go:610 +0x81 +created by testing.(*T).Run + /gopath/src/testing/testing.go:646 +0x2ec +`), + expected: `goroutine 20 [running]: +cloud.google.com/go/errorreporting.TestCatchPanic() + /gopath/src/cloud.google.com/go/errorreporting/errors_test.go:93 +0x171 +testing.tRunner() + /gopath/src/testing/testing.go:610 +0x81 +created by testing.(*T).Run + /gopath/src/testing/testing.go:646 +0x2ec +`, + isPanic: true, + }, + { + name: "function not found", + in: []byte(`goroutine 20 [running]: +runtime/debug.Stack() + /gopath/src/runtime/debug/stack.go:24 +0x79 +cloud.google.com/go/errorreporting.(*Client).logInternal() + /gopath/src/cloud.google.com/go/errorreporting/errors.go:259 +0x18b +cloud.google.com/go/errorreporting.(*Client).Catch() + /gopath/src/cloud.google.com/go/errorreporting/errors.go:219 +0x6ed +cloud.google.com/go/errorreporting.TestCatchPanic() + /gopath/src/cloud.google.com/go/errorreporting/errors_test.go:93 +0x171 +testing.tRunner() + /gopath/src/testing/testing.go:610 +0x81 +created by testing.(*T).Run + /gopath/src/testing/testing.go:646 +0x2ec +`), + expected: `goroutine 20 [running]: +runtime/debug.Stack() + /gopath/src/runtime/debug/stack.go:24 +0x79 +cloud.google.com/go/errorreporting.(*Client).logInternal() + /gopath/src/cloud.google.com/go/errorreporting/errors.go:259 +0x18b +cloud.google.com/go/errorreporting.(*Client).Catch() + /gopath/src/cloud.google.com/go/errorreporting/errors.go:219 +0x6ed +cloud.google.com/go/errorreporting.TestCatchPanic() + /gopath/src/cloud.google.com/go/errorreporting/errors_test.go:93 +0x171 +testing.tRunner() + /gopath/src/testing/testing.go:610 +0x81 +created by testing.(*T).Run + /gopath/src/testing/testing.go:646 +0x2ec +`, + isPanic: true, + }, + { + name: "Report", + in: []byte(` goroutine 39 [running]: +runtime/debug.Stack() + /gopath/runtime/debug/stack.go:24 +0x79 +cloud.google.com/go/errorreporting.(*Client).logInternal() + /gopath/cloud.google.com/go/errorreporting/errors.go:259 +0x18b +cloud.google.com/go/errorreporting.(*Client).Report() + /gopath/cloud.google.com/go/errorreporting/errors.go:248 +0x4ed +cloud.google.com/go/errorreporting.TestReport() + /gopath/cloud.google.com/go/errorreporting/errors_test.go:137 +0x2a1 +testing.tRunner() + /gopath/testing/testing.go:610 +0x81 +created by testing.(*T).Run + /gopath/testing/testing.go:646 +0x2ec +`), + expected: ` goroutine 39 [running]: +cloud.google.com/go/errorreporting.TestReport() + /gopath/cloud.google.com/go/errorreporting/errors_test.go:137 +0x2a1 +testing.tRunner() + /gopath/testing/testing.go:610 +0x81 +created by testing.(*T).Run + /gopath/testing/testing.go:646 +0x2ec +`, + isPanic: false, + }, + } { + out := chopStack(test.in, test.isPanic) + if out != test.expected { + t.Errorf("case %q: chopStack(%q, %t): got %q want %q", test.name, test.in, test.isPanic, out, test.expected) + } + } +} diff --git a/vendor/cloud.google.com/go/errors/error_logging_test.go b/vendor/cloud.google.com/go/errors/error_logging_test.go index 559613652..cead5a4d5 100644 --- a/vendor/cloud.google.com/go/errors/error_logging_test.go +++ b/vendor/cloud.google.com/go/errors/error_logging_test.go @@ -204,3 +204,12 @@ func TestReportfUsingLogging(t *testing.T) { t.Errorf("error report didn't contain formatted message") } } + +func TestCloseUsingLogging(t *testing.T) { + fl := &fakeLogger{} + c := newTestClientUsingLogging(fl) + err := c.Close() + if err != nil { + t.Fatal(err) + } +} diff --git a/vendor/cloud.google.com/go/errors/errors.go b/vendor/cloud.google.com/go/errors/errors.go index d5e78b8f4..a4c836403 100644 --- a/vendor/cloud.google.com/go/errors/errors.go +++ b/vendor/cloud.google.com/go/errors/errors.go @@ -18,14 +18,7 @@ // // See https://cloud.google.com/error-reporting/ for more information. // -// To initialize a client, use the NewClient function. Generally you will want -// to do this on program initialization. The NewClient function takes as -// arguments a context, the project name, a service name, and a version string. -// The service name and version string identify the running program, and are -// included in error reports. The version string can be left empty. NewClient -// also takes a bool that indicates whether to report errors using Stackdriver -// Logging, which will result in errors appearing in both the logs and the error -// dashboard. This is useful if you are already a user of Stackdriver Logging. +// To initialize a client, use the NewClient function. // // import "cloud.google.com/go/errors" // ... @@ -76,6 +69,8 @@ // If you try to write an error report with a nil client, or if the client // fails to write the report to the server, the error report is logged using // log.Println. +// +// Deprecated: Use cloud.google.com/go/errorreporting instead. package errors // import "cloud.google.com/go/errors" import ( @@ -155,9 +150,9 @@ type loggingSender struct { logger loggerInterface projectID string serviceContext map[string]string - client *logging.Client } +// Client represents a Google Cloud Error Reporting client. type Client struct { sender // RepanicDefault determines whether Catch will re-panic after recovering a @@ -166,6 +161,16 @@ type Client struct { RepanicDefault bool } +// NewClient returns a new error reporting client. Generally you will want +// to create a client on program initialization and use it through the lifetime +// of the process. +// +// The service name and version string identify the running program, and are +// included in error reports. The version string can be left empty. +// +// Set useLogging to report errors also using Stackdriver Logging, +// which will result in errors appearing in both the logs and the error +// dashboard. This is useful if you are already a user of Stackdriver Logging. func NewClient(ctx context.Context, projectID, serviceName, serviceVersion string, useLogging bool, opts ...option.ClientOption) (*Client, error) { if useLogging { l, err := newLoggerInterface(ctx, projectID, opts...) @@ -383,7 +388,7 @@ func (s *loggingSender) send(ctx context.Context, r *http.Request, message strin } func (s *loggingSender) close() error { - return s.client.Close() + return s.logger.Close() } func (s *errorApiSender) send(ctx context.Context, r *http.Request, message string) { diff --git a/vendor/cloud.google.com/go/iam/admin/apiv1/doc.go b/vendor/cloud.google.com/go/iam/admin/apiv1/doc.go index 825facddf..e366fedf6 100644 --- a/vendor/cloud.google.com/go/iam/admin/apiv1/doc.go +++ b/vendor/cloud.google.com/go/iam/admin/apiv1/doc.go @@ -34,8 +34,7 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } -// DefaultAuthScopes reports the authentication scopes required -// by this package. +// DefaultAuthScopes reports the default set of authentication scopes to use with this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/vendor/cloud.google.com/go/iam/admin/apiv1/iam_client.go b/vendor/cloud.google.com/go/iam/admin/apiv1/iam_client.go index 89dff8e99..32ca067eb 100644 --- a/vendor/cloud.google.com/go/iam/admin/apiv1/iam_client.go +++ b/vendor/cloud.google.com/go/iam/admin/apiv1/iam_client.go @@ -32,12 +32,6 @@ import ( "google.golang.org/grpc/codes" ) -var ( - iamProjectPathTemplate = gax.MustCompilePathTemplate("projects/{project}") - iamServiceAccountPathTemplate = gax.MustCompilePathTemplate("projects/{project}/serviceAccounts/{service_account}") - iamKeyPathTemplate = gax.MustCompilePathTemplate("projects/{project}/serviceAccounts/{service_account}/keys/{key}") -) - // IamCallOptions contains the retry settings for each method of IamClient. type IamCallOptions struct { ListServiceAccounts []gax.CallOption @@ -119,16 +113,16 @@ type IamClient struct { // of to an individual end user. It is used to authenticate calls // to a Google API. // -// To create a service account, specify the `project_id` and `account_id` -// for the account. The `account_id` is unique within the project, and used +// To create a service account, specify the project_id and account_id +// for the account. The account_id is unique within the project, and used // to generate the service account email address and a stable -// `unique_id`. +// unique_id. // // All other methods can identify accounts using the format -// `projects/{project}/serviceAccounts/{account}`. -// Using `-` as a wildcard for the project will infer the project from -// the account. The `account` value can be the `email` address or the -// `unique_id` of the service account. +// projects/{project}/serviceAccounts/{account}. +// Using - as a wildcard for the project will infer the project from +// the account. The account value can be the email address or the +// unique_id of the service account. func NewIamClient(ctx context.Context, opts ...option.ClientOption) (*IamClient, error) { conn, err := transport.DialGRPC(ctx, append(defaultIamClientOptions(), opts...)...) if err != nil { @@ -140,7 +134,7 @@ func NewIamClient(ctx context.Context, opts ...option.ClientOption) (*IamClient, iamClient: adminpb.NewIAMClient(conn), } - c.SetGoogleClientInfo() + c.setGoogleClientInfo() return c, nil } @@ -155,10 +149,10 @@ func (c *IamClient) Close() error { return c.conn.Close() } -// SetGoogleClientInfo sets the name and version of the application in +// setGoogleClientInfo sets the name and version of the application in // the `x-goog-api-client` header passed on each request. Intended for // use by Google-written clients. -func (c *IamClient) SetGoogleClientInfo(keyval ...string) { +func (c *IamClient) setGoogleClientInfo(keyval ...string) { kv := append([]string{"gl-go", version.Go()}, keyval...) kv = append(kv, "gapic", version.Repo, "gax", gax.Version, "grpc", grpc.Version) c.xGoogHeader = []string{gax.XGoogHeader(kv...)} @@ -166,38 +160,32 @@ func (c *IamClient) SetGoogleClientInfo(keyval ...string) { // IamProjectPath returns the path for the project resource. func IamProjectPath(project string) string { - path, err := iamProjectPathTemplate.Render(map[string]string{ - "project": project, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "" } // IamServiceAccountPath returns the path for the service account resource. func IamServiceAccountPath(project, serviceAccount string) string { - path, err := iamServiceAccountPathTemplate.Render(map[string]string{ - "project": project, - "service_account": serviceAccount, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "/serviceAccounts/" + + serviceAccount + + "" } // IamKeyPath returns the path for the key resource. func IamKeyPath(project, serviceAccount, key string) string { - path, err := iamKeyPathTemplate.Render(map[string]string{ - "project": project, - "service_account": serviceAccount, - "key": key, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "/serviceAccounts/" + + serviceAccount + + "/keys/" + + key + + "" } // ListServiceAccounts lists [ServiceAccounts][google.iam.admin.v1.ServiceAccount] for a project. @@ -271,8 +259,8 @@ func (c *IamClient) CreateServiceAccount(ctx context.Context, req *adminpb.Creat // UpdateServiceAccount updates a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. // // Currently, only the following fields are updatable: -// `display_name` . -// The `etag` is mandatory. +// display_name . +// The etag is mandatory. func (c *IamClient) UpdateServiceAccount(ctx context.Context, req *adminpb.ServiceAccount, opts ...gax.CallOption) (*adminpb.ServiceAccount, error) { ctx = insertXGoog(ctx, c.xGoogHeader) opts = append(c.CallOptions.UpdateServiceAccount[0:len(c.CallOptions.UpdateServiceAccount):len(c.CallOptions.UpdateServiceAccount)], opts...) diff --git a/vendor/cloud.google.com/go/iam/iam_test.go b/vendor/cloud.google.com/go/iam/iam_test.go index c78142fa5..f29caa882 100644 --- a/vendor/cloud.google.com/go/iam/iam_test.go +++ b/vendor/cloud.google.com/go/iam/iam_test.go @@ -16,9 +16,10 @@ package iam import ( "fmt" - "reflect" "sort" "testing" + + "cloud.google.com/go/internal/testutil" ) func TestPolicy(t *testing.T) { @@ -65,7 +66,7 @@ func TestPolicy(t *testing.T) { if msg, ok := checkMembers(p, Owner, nil); !ok { t.Fatal(msg) } - if got, want := p.Roles(), []RoleName(nil); !reflect.DeepEqual(got, want) { + if got, want := p.Roles(), []RoleName(nil); !testutil.Equal(got, want) { t.Fatalf("roles: got %v, want %v", got, want) } } @@ -74,7 +75,7 @@ func checkMembers(p *Policy, role RoleName, wantMembers []string) (string, bool) gotMembers := p.Members(role) sort.Strings(gotMembers) sort.Strings(wantMembers) - if !reflect.DeepEqual(gotMembers, wantMembers) { + if !testutil.Equal(gotMembers, wantMembers) { return fmt.Sprintf("got %v, want %v", gotMembers, wantMembers), false } for _, m := range wantMembers { diff --git a/vendor/cloud.google.com/go/internal/fields/fields_test.go b/vendor/cloud.google.com/go/internal/fields/fields_test.go index 904d8b855..b36f83cd2 100644 --- a/vendor/cloud.google.com/go/internal/fields/fields_test.go +++ b/vendor/cloud.google.com/go/internal/fields/fields_test.go @@ -22,6 +22,10 @@ import ( "strings" "testing" "time" + + "github.com/google/go-cmp/cmp" + + "cloud.google.com/go/internal/testutil" ) type embed1 struct { @@ -142,7 +146,8 @@ func TestAgainstJSONEncodingNoTags(t *testing.T) { t.Fatal(err) } setFields(fields, &got, s1) - if !reflect.DeepEqual(got, want) { + if !testutil.Equal(got, want, + cmp.AllowUnexported(S1{}, embed1{}, embed2{}, embed3{}, embed4{}, embed5{})) { t.Errorf("got\n%+v\nwant\n%+v", got, want) } } @@ -166,7 +171,7 @@ func TestAgainstJSONEncodingEmbeddedTime(t *testing.T) { t.Fatal(err) } setFields(fields, &got, myt) - if !reflect.DeepEqual(got, want) { + if !testutil.Equal(got, want) { t.Errorf("got\n%+v\nwant\n%+v", got, want) } } @@ -269,7 +274,7 @@ func TestAgainstJSONEncodingWithTags(t *testing.T) { t.Fatal(err) } setFields(fields, &got, s2) - if !reflect.DeepEqual(got, want) { + if !testutil.Equal(got, want, cmp.AllowUnexported(S2{})) { t.Errorf("got\n%+v\nwant\n%+v", got, want) } } @@ -410,7 +415,7 @@ func compareFields(got []Field, want []*Field) (msg string, ok bool) { } // Need this because Field contains a function, which cannot be compared even -// by reflect.DeepEqual. +// by testutil.Equal. func fieldsEqual(f1, f2 *Field) bool { if f1 == nil || f2 == nil { return f1 == f2 @@ -418,7 +423,7 @@ func fieldsEqual(f1, f2 *Field) bool { return f1.Name == f2.Name && f1.NameFromTag == f2.NameFromTag && f1.Type == f2.Type && - reflect.DeepEqual(f1.ParsedTag, f2.ParsedTag) + testutil.Equal(f1.ParsedTag, f2.ParsedTag) } // Set the fields of dst from those of src. diff --git a/vendor/cloud.google.com/go/internal/kokoro/build.sh b/vendor/cloud.google.com/go/internal/kokoro/build.sh index 0d20d3199..869be0d8d 100755 --- a/vendor/cloud.google.com/go/internal/kokoro/build.sh +++ b/vendor/cloud.google.com/go/internal/kokoro/build.sh @@ -38,7 +38,7 @@ go get -v ./... # cd $GOCLOUD_HOME # Run tests and tee output to log file, to be pushed to GCS as artifact. -go test -race -v -short ./... 2>&1 | tee $KOKORO_ARTIFACTS_DIR/$KOKORO_GERRIT_REVISION.log +go test -race -v -short ./... 2>&1 | tee $KOKORO_ARTIFACTS_DIR/$KOKORO_GERRIT_CHANGE_NUMBER.txt # Make sure README.md is up to date. make -C internal/readme test diff diff --git a/vendor/cloud.google.com/go/internal/optional/optional.go b/vendor/cloud.google.com/go/internal/optional/optional.go index f9102f365..4c15410aa 100644 --- a/vendor/cloud.google.com/go/internal/optional/optional.go +++ b/vendor/cloud.google.com/go/internal/optional/optional.go @@ -20,6 +20,7 @@ package optional import ( "fmt" "strings" + "time" ) type ( @@ -37,6 +38,9 @@ type ( // Float64 is either a float64 or nil. Float64 interface{} + + // Duration is either a time.Duration or nil. + Duration interface{} ) // ToBool returns its argument as a bool. @@ -89,6 +93,16 @@ func ToFloat64(v Float64) float64 { return x } +// ToDuration returns its argument as a time.Duration. +// It panics if its argument is nil or not a time.Duration. +func ToDuration(v Duration) time.Duration { + x, ok := v.(time.Duration) + if !ok { + doPanic("Duration", v) + } + return x +} + func doPanic(capType string, v interface{}) { panic(fmt.Sprintf("optional.%s value should be %s, got %T", capType, strings.ToLower(capType), v)) } diff --git a/vendor/cloud.google.com/go/internal/rpcreplay/rpcreplay.go b/vendor/cloud.google.com/go/internal/rpcreplay/rpcreplay.go index 57630f4ea..b3823dc31 100644 --- a/vendor/cloud.google.com/go/internal/rpcreplay/rpcreplay.go +++ b/vendor/cloud.google.com/go/internal/rpcreplay/rpcreplay.go @@ -20,6 +20,7 @@ import ( "errors" "fmt" "io" + "log" "os" "sync" @@ -227,8 +228,9 @@ type Replayer struct { initial []byte // initial state log func(format string, v ...interface{}) // for debugging - mu sync.Mutex - calls []*call + mu sync.Mutex + calls []*call + streams []*stream } // A call represents a unary RPC, with a request and response (or error). @@ -238,6 +240,16 @@ type call struct { response message } +// A stream represents a gRPC stream, with an initial create-stream call, followed by +// zero or more sends and/or receives. +type stream struct { + method string + createIndex int + createErr error // error from create call + sends []message + recvs []message +} + // NewReplayer creates a Replayer that reads from filename. func NewReplayer(filename string) (*Replayer, error) { f, err := os.Open(filename) @@ -271,6 +283,7 @@ func (rep *Replayer) read(r io.Reader) error { rep.initial = bytes callsByIndex := map[int]*call{} + streamsByIndex := map[int]*stream{} for i := 1; ; i++ { e, err := readEntry(r) if err != nil { @@ -295,6 +308,26 @@ func (rep *Replayer) read(r io.Reader) error { call.response = e.msg rep.calls = append(rep.calls, call) + case pb.Entry_CREATE_STREAM: + s := &stream{method: e.method, createIndex: i} + s.createErr = e.msg.err + streamsByIndex[i] = s + rep.streams = append(rep.streams, s) + + case pb.Entry_SEND: + s := streamsByIndex[e.refIndex] + if s == nil { + return fmt.Errorf("replayer: no stream for send #%d", i) + } + s.sends = append(s.sends, e.msg) + + case pb.Entry_RECV: + s := streamsByIndex[e.refIndex] + if s == nil { + return fmt.Errorf("replayer: no stream for recv #%d", i) + } + s.recvs = append(s.recvs, e.msg) + default: return fmt.Errorf("replayer: unknown kind %s", e.kind) } @@ -314,6 +347,7 @@ func (r *Replayer) DialOptions() []grpc.DialOption { // fixes that. grpc.WithBlock(), grpc.WithUnaryInterceptor(r.interceptUnary), + grpc.WithStreamInterceptor(r.interceptStream), } } @@ -346,6 +380,64 @@ func (r *Replayer) interceptUnary(_ context.Context, method string, req, res int return nil } +func (r *Replayer) interceptStream(ctx context.Context, _ *grpc.StreamDesc, _ *grpc.ClientConn, method string, _ grpc.Streamer, _ ...grpc.CallOption) (grpc.ClientStream, error) { + r.log("create-stream %s", method) + str := r.extractStream(method) + if str == nil { + return nil, fmt.Errorf("replayer: stream not found for method %s", method) + } + if str.createErr != nil { + return nil, str.createErr + } + return &repClientStream{ctx: ctx, str: str}, nil +} + +type repClientStream struct { + ctx context.Context + str *stream +} + +func (rcs *repClientStream) Context() context.Context { return rcs.ctx } + +func (rcs *repClientStream) SendMsg(m interface{}) error { + if len(rcs.str.sends) == 0 { + return fmt.Errorf("replayer: no more sends for stream %s, created at index %d", + rcs.str.method, rcs.str.createIndex) + } + // TODO(jba): Do not assume that the sends happen in the same order on replay. + msg := rcs.str.sends[0] + rcs.str.sends = rcs.str.sends[1:] + return msg.err +} + +func (rcs *repClientStream) RecvMsg(m interface{}) error { + if len(rcs.str.recvs) == 0 { + return fmt.Errorf("replayer: no more receives for stream %s, created at index %d", + rcs.str.method, rcs.str.createIndex) + } + msg := rcs.str.recvs[0] + rcs.str.recvs = rcs.str.recvs[1:] + if msg.err != nil { + return msg.err + } + proto.Merge(m.(proto.Message), msg.msg) // copy msg into m + return nil +} + +func (rcs *repClientStream) Header() (metadata.MD, error) { + log.Printf("replay: stream metadata not supported") + return nil, nil +} + +func (rcs *repClientStream) Trailer() metadata.MD { + log.Printf("replay: stream metadata not supported") + return nil +} + +func (rcs *repClientStream) CloseSend() error { + return nil +} + // extractCall finds the first call in the list with the same method // and request. It returns nil if it can't find such a call. func (r *Replayer) extractCall(method string, req proto.Message) *call { @@ -363,6 +455,21 @@ func (r *Replayer) extractCall(method string, req proto.Message) *call { return nil } +func (r *Replayer) extractStream(method string) *stream { + r.mu.Lock() + defer r.mu.Unlock() + for i, stream := range r.streams { + if stream == nil { + continue + } + if method == stream.method { + r.streams[i] = nil + return stream + } + } + return nil +} + // Fprint reads the entries from filename and writes them to w in human-readable form. // It is intended for debugging. func Fprint(w io.Writer, filename string) error { diff --git a/vendor/cloud.google.com/go/internal/rpcreplay/rpcreplay_test.go b/vendor/cloud.google.com/go/internal/rpcreplay/rpcreplay_test.go index faacedfa3..516fec577 100644 --- a/vendor/cloud.google.com/go/internal/rpcreplay/rpcreplay_test.go +++ b/vendor/cloud.google.com/go/internal/rpcreplay/rpcreplay_test.go @@ -17,11 +17,11 @@ package rpcreplay import ( "bytes" "io" - "reflect" "testing" ipb "cloud.google.com/go/internal/rpcreplay/proto/intstore" rpb "cloud.google.com/go/internal/rpcreplay/proto/rpcreplay" + "cloud.google.com/go/internal/testutil" "github.com/golang/protobuf/proto" "golang.org/x/net/context" "google.golang.org/grpc" @@ -54,7 +54,7 @@ func TestHeaderIO(t *testing.T) { if err != nil { t.Fatal(err) } - if !reflect.DeepEqual(got, want) { + if !testutil.Equal(got, want) { t.Errorf("got %v, want %v", got, want) } @@ -112,7 +112,7 @@ func TestRecord(t *testing.T) { if err != nil { t.Fatal(err) } - if !reflect.DeepEqual(gotIstate, initialState) { + if !testutil.Equal(gotIstate, initialState) { t.Fatalf("got %v, want %v", gotIstate, initialState) } item := &ipb.Item{Name: "a", Value: 1} @@ -239,21 +239,21 @@ func TestRecord(t *testing.T) { } } -// func TestReplay(t *testing.T) { -// srv := newIntStoreServer() -// defer srv.stop() +func TestReplay(t *testing.T) { + srv := newIntStoreServer() + defer srv.stop() -// buf := record(t, srv) -// rep, err := NewReplayerReader(buf) -// if err != nil { -// t.Fatal(err) -// } -// if got, want := rep.Initial(), initialState; !reflect.DeepEqual(got, want) { -// t.Fatalf("got %v, want %v", got, want) -// } -// // Replay the test. -// testService(t, srv.Addr, rep.DialOptions()) -// } + buf := record(t, srv) + rep, err := NewReplayerReader(buf) + if err != nil { + t.Fatal(err) + } + if got, want := rep.Initial(), initialState; !testutil.Equal(got, want) { + t.Fatalf("got %v, want %v", got, want) + } + // Replay the test. + testService(t, srv.Addr, rep.DialOptions()) +} func record(t *testing.T, srv *intStoreServer) *bytes.Buffer { buf := &bytes.Buffer{} diff --git a/vendor/cloud.google.com/go/internal/testutil/cmp.go b/vendor/cloud.google.com/go/internal/testutil/cmp.go new file mode 100644 index 000000000..376f05ecc --- /dev/null +++ b/vendor/cloud.google.com/go/internal/testutil/cmp.go @@ -0,0 +1,99 @@ +// Copyright 2017 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package testutil + +import ( + "fmt" + "math" + "reflect" + "unicode" + "unicode/utf8" + + "github.com/golang/protobuf/proto" + "github.com/google/go-cmp/cmp" +) + +var ( + alwaysEqual = cmp.Comparer(func(_, _ interface{}) bool { return true }) + + defaultCmpOptions = []cmp.Option{ + // Use proto.Equal for protobufs + cmp.Comparer(proto.Equal), + // NaNs compare equal + cmp.FilterValues(func(x, y float64) bool { + return math.IsNaN(x) && math.IsNaN(y) + }, alwaysEqual), + cmp.FilterValues(func(x, y float32) bool { + return math.IsNaN(float64(x)) && math.IsNaN(float64(y)) + }, alwaysEqual), + } +) + +// Equal tests two values for equality. +func Equal(x, y interface{}, opts ...cmp.Option) bool { + // Put default options at the end. Order doesn't matter. + opts = append(opts[:len(opts):len(opts)], defaultCmpOptions...) + return cmp.Equal(x, y, opts...) +} + +// Diff reports the differences between two values. +// Diff(x, y) == "" iff Equal(x, y). +func Diff(x, y interface{}, opts ...cmp.Option) string { + // Put default options at the end. Order doesn't matter. + opts = append(opts[:len(opts):len(opts)], defaultCmpOptions...) + return cmp.Diff(x, y, opts...) +} + +// TODO(jba): remove the code below when cmpopts becomes available. + +// IgnoreUnexported returns an Option that only ignores the immediate unexported +// fields of a struct, including anonymous fields of unexported types. +// In particular, unexported fields within the struct's exported fields +// of struct types, including anonymous fields, will not be ignored unless the +// type of the field itself is also passed to IgnoreUnexported. +func IgnoreUnexported(typs ...interface{}) cmp.Option { + ux := newUnexportedFilter(typs...) + return cmp.FilterPath(ux.filter, cmp.Ignore()) +} + +type unexportedFilter struct{ m map[reflect.Type]bool } + +func newUnexportedFilter(typs ...interface{}) unexportedFilter { + ux := unexportedFilter{m: make(map[reflect.Type]bool)} + for _, typ := range typs { + t := reflect.TypeOf(typ) + if t == nil || t.Kind() != reflect.Struct { + panic(fmt.Sprintf("invalid struct type: %T", typ)) + } + ux.m[t] = true + } + return ux +} +func (xf unexportedFilter) filter(p cmp.Path) bool { + if len(p) < 2 { + return false + } + sf, ok := p[len(p)-1].(cmp.StructField) + if !ok { + return false + } + return xf.m[p[len(p)-2].Type()] && !isExported(sf.Name()) +} + +// isExported reports whether the identifier is exported. +func isExported(id string) bool { + r, _ := utf8.DecodeRuneInString(id) + return unicode.IsUpper(r) +} diff --git a/vendor/cloud.google.com/go/internal/tracecontext/tracecontext_test.go b/vendor/cloud.google.com/go/internal/tracecontext/tracecontext_test.go index 09aff7809..95d3b88da 100644 --- a/vendor/cloud.google.com/go/internal/tracecontext/tracecontext_test.go +++ b/vendor/cloud.google.com/go/internal/tracecontext/tracecontext_test.go @@ -15,8 +15,9 @@ package tracecontext import ( - "reflect" "testing" + + "cloud.google.com/go/internal/testutil" ) var validData = []byte{0, 0, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 1, 97, 98, 99, 100, 101, 102, 103, 104, 2, 1} @@ -65,7 +66,7 @@ func TestDecode(t *testing.T) { } for _, tt := range tests { gotTraceID, gotSpanID, gotOpts, gotOk := Decode(tt.data) - if !reflect.DeepEqual(gotTraceID, tt.wantTraceID) { + if !testutil.Equal(gotTraceID, tt.wantTraceID) { t.Errorf("%s: Decode() gotTraceID = %v, want %v", tt.name, gotTraceID, tt.wantTraceID) } if gotSpanID != tt.wantSpanID { @@ -114,7 +115,7 @@ func TestEncode(t *testing.T) { if gotN != tt.wantN { t.Errorf("%s: n = %v, want %v", tt.name, gotN, tt.wantN) } - if gotData := tt.dst; !reflect.DeepEqual(gotData, tt.wantData) { + if gotData := tt.dst; !testutil.Equal(gotData, tt.wantData) { t.Errorf("%s: dst = %v, want %v", tt.name, gotData, tt.wantData) } } diff --git a/vendor/cloud.google.com/go/internal/version/version.go b/vendor/cloud.google.com/go/internal/version/version.go index 5eb06bac5..513afa460 100644 --- a/vendor/cloud.google.com/go/internal/version/version.go +++ b/vendor/cloud.google.com/go/internal/version/version.go @@ -26,7 +26,7 @@ import ( // Repo is the current version of the client libraries in this // repo. It should be a date in YYYYMMDD format. -const Repo = "20170621" +const Repo = "20170928" // Go returns the Go runtime version. The returned string // has no whitespace. diff --git a/vendor/cloud.google.com/go/language/apiv1/AnalyzeSentiment_smoke_test.go b/vendor/cloud.google.com/go/language/apiv1/AnalyzeSentiment_smoke_test.go new file mode 100644 index 000000000..84d55c7e3 --- /dev/null +++ b/vendor/cloud.google.com/go/language/apiv1/AnalyzeSentiment_smoke_test.go @@ -0,0 +1,71 @@ +// Copyright 2017, Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// AUTO-GENERATED CODE. DO NOT EDIT. + +package language + +import ( + languagepb "google.golang.org/genproto/googleapis/cloud/language/v1" +) + +import ( + "strconv" + "testing" + "time" + + "cloud.google.com/go/internal/testutil" + "golang.org/x/net/context" + "google.golang.org/api/iterator" + "google.golang.org/api/option" +) + +var _ = iterator.Done +var _ = strconv.FormatUint +var _ = time.Now + +func TestLanguageServiceSmoke(t *testing.T) { + if testing.Short() { + t.Skip("skipping smoke test in short mode") + } + ctx := context.Background() + ts := testutil.TokenSource(ctx, DefaultAuthScopes()...) + if ts == nil { + t.Skip("Integration tests skipped. See CONTRIBUTING.md for details") + } + + projectId := testutil.ProjID() + _ = projectId + + c, err := NewClient(ctx, option.WithTokenSource(ts)) + if err != nil { + t.Fatal(err) + } + + var content string = "Hello, world!" + var type_ languagepb.Document_Type = languagepb.Document_PLAIN_TEXT + var document = &languagepb.Document{ + Source: &languagepb.Document_Content{ + Content: content, + }, + Type: type_, + } + var request = &languagepb.AnalyzeSentimentRequest{ + Document: document, + } + + if _, err := c.AnalyzeSentiment(ctx, request); err != nil { + t.Error(err) + } +} diff --git a/vendor/cloud.google.com/go/language/apiv1/doc.go b/vendor/cloud.google.com/go/language/apiv1/doc.go index 34d357e23..eaf731a4e 100644 --- a/vendor/cloud.google.com/go/language/apiv1/doc.go +++ b/vendor/cloud.google.com/go/language/apiv1/doc.go @@ -14,7 +14,7 @@ // AUTO-GENERATED CODE. DO NOT EDIT. -// Package language is an experimental, auto-generated package for the +// Package language is an auto-generated package for the // Google Cloud Natural Language API. // // Google Cloud Natural Language API provides natural language understanding @@ -34,8 +34,7 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } -// DefaultAuthScopes reports the authentication scopes required -// by this package. +// DefaultAuthScopes reports the default set of authentication scopes to use with this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/vendor/cloud.google.com/go/language/apiv1/language_client.go b/vendor/cloud.google.com/go/language/apiv1/language_client.go index d1cfdc4ca..2af9d2085 100644 --- a/vendor/cloud.google.com/go/language/apiv1/language_client.go +++ b/vendor/cloud.google.com/go/language/apiv1/language_client.go @@ -31,10 +31,11 @@ import ( // CallOptions contains the retry settings for each method of Client. type CallOptions struct { - AnalyzeSentiment []gax.CallOption - AnalyzeEntities []gax.CallOption - AnalyzeSyntax []gax.CallOption - AnnotateText []gax.CallOption + AnalyzeSentiment []gax.CallOption + AnalyzeEntities []gax.CallOption + AnalyzeEntitySentiment []gax.CallOption + AnalyzeSyntax []gax.CallOption + AnnotateText []gax.CallOption } func defaultClientOptions() []option.ClientOption { @@ -60,10 +61,11 @@ func defaultCallOptions() *CallOptions { }, } return &CallOptions{ - AnalyzeSentiment: retry[[2]string{"default", "idempotent"}], - AnalyzeEntities: retry[[2]string{"default", "idempotent"}], - AnalyzeSyntax: retry[[2]string{"default", "idempotent"}], - AnnotateText: retry[[2]string{"default", "idempotent"}], + AnalyzeSentiment: retry[[2]string{"default", "idempotent"}], + AnalyzeEntities: retry[[2]string{"default", "idempotent"}], + AnalyzeEntitySentiment: retry[[2]string{"default", "idempotent"}], + AnalyzeSyntax: retry[[2]string{"default", "idempotent"}], + AnnotateText: retry[[2]string{"default", "idempotent"}], } } @@ -97,7 +99,7 @@ func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error client: languagepb.NewLanguageServiceClient(conn), } - c.SetGoogleClientInfo() + c.setGoogleClientInfo() return c, nil } @@ -112,10 +114,10 @@ func (c *Client) Close() error { return c.conn.Close() } -// SetGoogleClientInfo sets the name and version of the application in +// setGoogleClientInfo sets the name and version of the application in // the `x-goog-api-client` header passed on each request. Intended for // use by Google-written clients. -func (c *Client) SetGoogleClientInfo(keyval ...string) { +func (c *Client) setGoogleClientInfo(keyval ...string) { kv := append([]string{"gl-go", version.Go()}, keyval...) kv = append(kv, "gapic", version.Repo, "gax", gax.Version, "grpc", grpc.Version) c.xGoogHeader = []string{gax.XGoogHeader(kv...)} @@ -155,6 +157,23 @@ func (c *Client) AnalyzeEntities(ctx context.Context, req *languagepb.AnalyzeEnt return resp, nil } +// AnalyzeEntitySentiment finds entities, similar to [AnalyzeEntities][google.cloud.language.v1.LanguageService.AnalyzeEntities] in the text and analyzes +// sentiment associated with each entity and its mentions. +func (c *Client) AnalyzeEntitySentiment(ctx context.Context, req *languagepb.AnalyzeEntitySentimentRequest, opts ...gax.CallOption) (*languagepb.AnalyzeEntitySentimentResponse, error) { + ctx = insertXGoog(ctx, c.xGoogHeader) + opts = append(c.CallOptions.AnalyzeEntitySentiment[0:len(c.CallOptions.AnalyzeEntitySentiment):len(c.CallOptions.AnalyzeEntitySentiment)], opts...) + var resp *languagepb.AnalyzeEntitySentimentResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.AnalyzeEntitySentiment(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + // AnalyzeSyntax analyzes the syntax of the text and provides sentence boundaries and // tokenization along with part of speech tags, dependency trees, and other // properties. diff --git a/vendor/cloud.google.com/go/language/apiv1/language_client_example_test.go b/vendor/cloud.google.com/go/language/apiv1/language_client_example_test.go index f1fcf1476..3da8d3f08 100644 --- a/vendor/cloud.google.com/go/language/apiv1/language_client_example_test.go +++ b/vendor/cloud.google.com/go/language/apiv1/language_client_example_test.go @@ -68,6 +68,24 @@ func ExampleClient_AnalyzeEntities() { _ = resp } +func ExampleClient_AnalyzeEntitySentiment() { + ctx := context.Background() + c, err := language.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + + req := &languagepb.AnalyzeEntitySentimentRequest{ + // TODO: Fill request struct fields. + } + resp, err := c.AnalyzeEntitySentiment(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + func ExampleClient_AnalyzeSyntax() { ctx := context.Background() c, err := language.NewClient(ctx) diff --git a/vendor/cloud.google.com/go/language/apiv1/mock_test.go b/vendor/cloud.google.com/go/language/apiv1/mock_test.go index 2c214792a..8a808ef48 100644 --- a/vendor/cloud.google.com/go/language/apiv1/mock_test.go +++ b/vendor/cloud.google.com/go/language/apiv1/mock_test.go @@ -84,6 +84,18 @@ func (s *mockLanguageServer) AnalyzeEntities(ctx context.Context, req *languagep return s.resps[0].(*languagepb.AnalyzeEntitiesResponse), nil } +func (s *mockLanguageServer) AnalyzeEntitySentiment(ctx context.Context, req *languagepb.AnalyzeEntitySentimentRequest) (*languagepb.AnalyzeEntitySentimentResponse, error) { + md, _ := metadata.FromIncomingContext(ctx) + if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { + return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) + } + s.reqs = append(s.reqs, req) + if s.err != nil { + return nil, s.err + } + return s.resps[0].(*languagepb.AnalyzeEntitySentimentResponse), nil +} + func (s *mockLanguageServer) AnalyzeSyntax(ctx context.Context, req *languagepb.AnalyzeSyntaxRequest) (*languagepb.AnalyzeSyntaxResponse, error) { md, _ := metadata.FromIncomingContext(ctx) if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { @@ -208,10 +220,8 @@ func TestLanguageServiceAnalyzeEntities(t *testing.T) { mockLanguage.resps = append(mockLanguage.resps[:0], expectedResponse) var document *languagepb.Document = &languagepb.Document{} - var encodingType languagepb.EncodingType = languagepb.EncodingType_NONE var request = &languagepb.AnalyzeEntitiesRequest{ - Document: document, - EncodingType: encodingType, + Document: document, } c, err := NewClient(context.Background(), clientOpt) @@ -239,10 +249,8 @@ func TestLanguageServiceAnalyzeEntitiesError(t *testing.T) { mockLanguage.err = gstatus.Error(errCode, "test error") var document *languagepb.Document = &languagepb.Document{} - var encodingType languagepb.EncodingType = languagepb.EncodingType_NONE var request = &languagepb.AnalyzeEntitiesRequest{ - Document: document, - EncodingType: encodingType, + Document: document, } c, err := NewClient(context.Background(), clientOpt) @@ -259,6 +267,65 @@ func TestLanguageServiceAnalyzeEntitiesError(t *testing.T) { } _ = resp } +func TestLanguageServiceAnalyzeEntitySentiment(t *testing.T) { + var language string = "language-1613589672" + var expectedResponse = &languagepb.AnalyzeEntitySentimentResponse{ + Language: language, + } + + mockLanguage.err = nil + mockLanguage.reqs = nil + + mockLanguage.resps = append(mockLanguage.resps[:0], expectedResponse) + + var document *languagepb.Document = &languagepb.Document{} + var request = &languagepb.AnalyzeEntitySentimentRequest{ + Document: document, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.AnalyzeEntitySentiment(context.Background(), request) + + if err != nil { + t.Fatal(err) + } + + if want, got := request, mockLanguage.reqs[0]; !proto.Equal(want, got) { + t.Errorf("wrong request %q, want %q", got, want) + } + + if want, got := expectedResponse, resp; !proto.Equal(want, got) { + t.Errorf("wrong response %q, want %q)", got, want) + } +} + +func TestLanguageServiceAnalyzeEntitySentimentError(t *testing.T) { + errCode := codes.PermissionDenied + mockLanguage.err = gstatus.Error(errCode, "test error") + + var document *languagepb.Document = &languagepb.Document{} + var request = &languagepb.AnalyzeEntitySentimentRequest{ + Document: document, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.AnalyzeEntitySentiment(context.Background(), request) + + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { + t.Errorf("got error code %q, want %q", c, errCode) + } + _ = resp +} func TestLanguageServiceAnalyzeSyntax(t *testing.T) { var language string = "language-1613589672" var expectedResponse = &languagepb.AnalyzeSyntaxResponse{ @@ -271,10 +338,8 @@ func TestLanguageServiceAnalyzeSyntax(t *testing.T) { mockLanguage.resps = append(mockLanguage.resps[:0], expectedResponse) var document *languagepb.Document = &languagepb.Document{} - var encodingType languagepb.EncodingType = languagepb.EncodingType_NONE var request = &languagepb.AnalyzeSyntaxRequest{ - Document: document, - EncodingType: encodingType, + Document: document, } c, err := NewClient(context.Background(), clientOpt) @@ -302,10 +367,8 @@ func TestLanguageServiceAnalyzeSyntaxError(t *testing.T) { mockLanguage.err = gstatus.Error(errCode, "test error") var document *languagepb.Document = &languagepb.Document{} - var encodingType languagepb.EncodingType = languagepb.EncodingType_NONE var request = &languagepb.AnalyzeSyntaxRequest{ - Document: document, - EncodingType: encodingType, + Document: document, } c, err := NewClient(context.Background(), clientOpt) @@ -335,11 +398,9 @@ func TestLanguageServiceAnnotateText(t *testing.T) { var document *languagepb.Document = &languagepb.Document{} var features *languagepb.AnnotateTextRequest_Features = &languagepb.AnnotateTextRequest_Features{} - var encodingType languagepb.EncodingType = languagepb.EncodingType_NONE var request = &languagepb.AnnotateTextRequest{ - Document: document, - Features: features, - EncodingType: encodingType, + Document: document, + Features: features, } c, err := NewClient(context.Background(), clientOpt) @@ -368,11 +429,9 @@ func TestLanguageServiceAnnotateTextError(t *testing.T) { var document *languagepb.Document = &languagepb.Document{} var features *languagepb.AnnotateTextRequest_Features = &languagepb.AnnotateTextRequest_Features{} - var encodingType languagepb.EncodingType = languagepb.EncodingType_NONE var request = &languagepb.AnnotateTextRequest{ - Document: document, - Features: features, - EncodingType: encodingType, + Document: document, + Features: features, } c, err := NewClient(context.Background(), clientOpt) diff --git a/vendor/cloud.google.com/go/language/apiv1beta2/AnalyzeSentiment_smoke_test.go b/vendor/cloud.google.com/go/language/apiv1beta2/AnalyzeSentiment_smoke_test.go new file mode 100644 index 000000000..48709198d --- /dev/null +++ b/vendor/cloud.google.com/go/language/apiv1beta2/AnalyzeSentiment_smoke_test.go @@ -0,0 +1,71 @@ +// Copyright 2017, Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// AUTO-GENERATED CODE. DO NOT EDIT. + +package language + +import ( + languagepb "google.golang.org/genproto/googleapis/cloud/language/v1beta2" +) + +import ( + "strconv" + "testing" + "time" + + "cloud.google.com/go/internal/testutil" + "golang.org/x/net/context" + "google.golang.org/api/iterator" + "google.golang.org/api/option" +) + +var _ = iterator.Done +var _ = strconv.FormatUint +var _ = time.Now + +func TestLanguageServiceSmoke(t *testing.T) { + if testing.Short() { + t.Skip("skipping smoke test in short mode") + } + ctx := context.Background() + ts := testutil.TokenSource(ctx, DefaultAuthScopes()...) + if ts == nil { + t.Skip("Integration tests skipped. See CONTRIBUTING.md for details") + } + + projectId := testutil.ProjID() + _ = projectId + + c, err := NewClient(ctx, option.WithTokenSource(ts)) + if err != nil { + t.Fatal(err) + } + + var content string = "Hello, world!" + var type_ languagepb.Document_Type = languagepb.Document_PLAIN_TEXT + var document = &languagepb.Document{ + Source: &languagepb.Document_Content{ + Content: content, + }, + Type: type_, + } + var request = &languagepb.AnalyzeSentimentRequest{ + Document: document, + } + + if _, err := c.AnalyzeSentiment(ctx, request); err != nil { + t.Error(err) + } +} diff --git a/vendor/cloud.google.com/go/language/apiv1beta2/doc.go b/vendor/cloud.google.com/go/language/apiv1beta2/doc.go index e43233faa..42dc1e51c 100644 --- a/vendor/cloud.google.com/go/language/apiv1beta2/doc.go +++ b/vendor/cloud.google.com/go/language/apiv1beta2/doc.go @@ -34,8 +34,7 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } -// DefaultAuthScopes reports the authentication scopes required -// by this package. +// DefaultAuthScopes reports the default set of authentication scopes to use with this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/vendor/cloud.google.com/go/language/apiv1beta2/language_client.go b/vendor/cloud.google.com/go/language/apiv1beta2/language_client.go index 6b234e457..ab541ffd6 100644 --- a/vendor/cloud.google.com/go/language/apiv1beta2/language_client.go +++ b/vendor/cloud.google.com/go/language/apiv1beta2/language_client.go @@ -35,6 +35,7 @@ type CallOptions struct { AnalyzeEntities []gax.CallOption AnalyzeEntitySentiment []gax.CallOption AnalyzeSyntax []gax.CallOption + ClassifyText []gax.CallOption AnnotateText []gax.CallOption } @@ -65,6 +66,7 @@ func defaultCallOptions() *CallOptions { AnalyzeEntities: retry[[2]string{"default", "idempotent"}], AnalyzeEntitySentiment: retry[[2]string{"default", "idempotent"}], AnalyzeSyntax: retry[[2]string{"default", "idempotent"}], + ClassifyText: retry[[2]string{"default", "idempotent"}], AnnotateText: retry[[2]string{"default", "idempotent"}], } } @@ -99,7 +101,7 @@ func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error client: languagepb.NewLanguageServiceClient(conn), } - c.SetGoogleClientInfo() + c.setGoogleClientInfo() return c, nil } @@ -114,10 +116,10 @@ func (c *Client) Close() error { return c.conn.Close() } -// SetGoogleClientInfo sets the name and version of the application in +// setGoogleClientInfo sets the name and version of the application in // the `x-goog-api-client` header passed on each request. Intended for // use by Google-written clients. -func (c *Client) SetGoogleClientInfo(keyval ...string) { +func (c *Client) setGoogleClientInfo(keyval ...string) { kv := append([]string{"gl-go", version.Go()}, keyval...) kv = append(kv, "gapic", version.Repo, "gax", gax.Version, "grpc", grpc.Version) c.xGoogHeader = []string{gax.XGoogHeader(kv...)} @@ -192,8 +194,24 @@ func (c *Client) AnalyzeSyntax(ctx context.Context, req *languagepb.AnalyzeSynta return resp, nil } -// AnnotateText a convenience method that provides all syntax, sentiment, and entity -// features in one call. +// ClassifyText classifies a document into categories. +func (c *Client) ClassifyText(ctx context.Context, req *languagepb.ClassifyTextRequest, opts ...gax.CallOption) (*languagepb.ClassifyTextResponse, error) { + ctx = insertXGoog(ctx, c.xGoogHeader) + opts = append(c.CallOptions.ClassifyText[0:len(c.CallOptions.ClassifyText):len(c.CallOptions.ClassifyText)], opts...) + var resp *languagepb.ClassifyTextResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.ClassifyText(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +// AnnotateText a convenience method that provides all syntax, sentiment, entity, and +// classification features in one call. func (c *Client) AnnotateText(ctx context.Context, req *languagepb.AnnotateTextRequest, opts ...gax.CallOption) (*languagepb.AnnotateTextResponse, error) { ctx = insertXGoog(ctx, c.xGoogHeader) opts = append(c.CallOptions.AnnotateText[0:len(c.CallOptions.AnnotateText):len(c.CallOptions.AnnotateText)], opts...) diff --git a/vendor/cloud.google.com/go/language/apiv1beta2/language_client_example_test.go b/vendor/cloud.google.com/go/language/apiv1beta2/language_client_example_test.go index ddb44af63..348214775 100644 --- a/vendor/cloud.google.com/go/language/apiv1beta2/language_client_example_test.go +++ b/vendor/cloud.google.com/go/language/apiv1beta2/language_client_example_test.go @@ -104,6 +104,24 @@ func ExampleClient_AnalyzeSyntax() { _ = resp } +func ExampleClient_ClassifyText() { + ctx := context.Background() + c, err := language.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + + req := &languagepb.ClassifyTextRequest{ + // TODO: Fill request struct fields. + } + resp, err := c.ClassifyText(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + func ExampleClient_AnnotateText() { ctx := context.Background() c, err := language.NewClient(ctx) diff --git a/vendor/cloud.google.com/go/language/apiv1beta2/mock_test.go b/vendor/cloud.google.com/go/language/apiv1beta2/mock_test.go index 33972a8bf..ccc09520f 100644 --- a/vendor/cloud.google.com/go/language/apiv1beta2/mock_test.go +++ b/vendor/cloud.google.com/go/language/apiv1beta2/mock_test.go @@ -108,6 +108,18 @@ func (s *mockLanguageServer) AnalyzeSyntax(ctx context.Context, req *languagepb. return s.resps[0].(*languagepb.AnalyzeSyntaxResponse), nil } +func (s *mockLanguageServer) ClassifyText(ctx context.Context, req *languagepb.ClassifyTextRequest) (*languagepb.ClassifyTextResponse, error) { + md, _ := metadata.FromIncomingContext(ctx) + if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { + return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) + } + s.reqs = append(s.reqs, req) + if s.err != nil { + return nil, s.err + } + return s.resps[0].(*languagepb.ClassifyTextResponse), nil +} + func (s *mockLanguageServer) AnnotateText(ctx context.Context, req *languagepb.AnnotateTextRequest) (*languagepb.AnnotateTextResponse, error) { md, _ := metadata.FromIncomingContext(ctx) if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { @@ -220,10 +232,8 @@ func TestLanguageServiceAnalyzeEntities(t *testing.T) { mockLanguage.resps = append(mockLanguage.resps[:0], expectedResponse) var document *languagepb.Document = &languagepb.Document{} - var encodingType languagepb.EncodingType = languagepb.EncodingType_NONE var request = &languagepb.AnalyzeEntitiesRequest{ - Document: document, - EncodingType: encodingType, + Document: document, } c, err := NewClient(context.Background(), clientOpt) @@ -251,10 +261,8 @@ func TestLanguageServiceAnalyzeEntitiesError(t *testing.T) { mockLanguage.err = gstatus.Error(errCode, "test error") var document *languagepb.Document = &languagepb.Document{} - var encodingType languagepb.EncodingType = languagepb.EncodingType_NONE var request = &languagepb.AnalyzeEntitiesRequest{ - Document: document, - EncodingType: encodingType, + Document: document, } c, err := NewClient(context.Background(), clientOpt) @@ -283,10 +291,8 @@ func TestLanguageServiceAnalyzeEntitySentiment(t *testing.T) { mockLanguage.resps = append(mockLanguage.resps[:0], expectedResponse) var document *languagepb.Document = &languagepb.Document{} - var encodingType languagepb.EncodingType = languagepb.EncodingType_NONE var request = &languagepb.AnalyzeEntitySentimentRequest{ - Document: document, - EncodingType: encodingType, + Document: document, } c, err := NewClient(context.Background(), clientOpt) @@ -314,10 +320,8 @@ func TestLanguageServiceAnalyzeEntitySentimentError(t *testing.T) { mockLanguage.err = gstatus.Error(errCode, "test error") var document *languagepb.Document = &languagepb.Document{} - var encodingType languagepb.EncodingType = languagepb.EncodingType_NONE var request = &languagepb.AnalyzeEntitySentimentRequest{ - Document: document, - EncodingType: encodingType, + Document: document, } c, err := NewClient(context.Background(), clientOpt) @@ -346,10 +350,8 @@ func TestLanguageServiceAnalyzeSyntax(t *testing.T) { mockLanguage.resps = append(mockLanguage.resps[:0], expectedResponse) var document *languagepb.Document = &languagepb.Document{} - var encodingType languagepb.EncodingType = languagepb.EncodingType_NONE var request = &languagepb.AnalyzeSyntaxRequest{ - Document: document, - EncodingType: encodingType, + Document: document, } c, err := NewClient(context.Background(), clientOpt) @@ -377,10 +379,8 @@ func TestLanguageServiceAnalyzeSyntaxError(t *testing.T) { mockLanguage.err = gstatus.Error(errCode, "test error") var document *languagepb.Document = &languagepb.Document{} - var encodingType languagepb.EncodingType = languagepb.EncodingType_NONE var request = &languagepb.AnalyzeSyntaxRequest{ - Document: document, - EncodingType: encodingType, + Document: document, } c, err := NewClient(context.Background(), clientOpt) @@ -397,6 +397,62 @@ func TestLanguageServiceAnalyzeSyntaxError(t *testing.T) { } _ = resp } +func TestLanguageServiceClassifyText(t *testing.T) { + var expectedResponse *languagepb.ClassifyTextResponse = &languagepb.ClassifyTextResponse{} + + mockLanguage.err = nil + mockLanguage.reqs = nil + + mockLanguage.resps = append(mockLanguage.resps[:0], expectedResponse) + + var document *languagepb.Document = &languagepb.Document{} + var request = &languagepb.ClassifyTextRequest{ + Document: document, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.ClassifyText(context.Background(), request) + + if err != nil { + t.Fatal(err) + } + + if want, got := request, mockLanguage.reqs[0]; !proto.Equal(want, got) { + t.Errorf("wrong request %q, want %q", got, want) + } + + if want, got := expectedResponse, resp; !proto.Equal(want, got) { + t.Errorf("wrong response %q, want %q)", got, want) + } +} + +func TestLanguageServiceClassifyTextError(t *testing.T) { + errCode := codes.PermissionDenied + mockLanguage.err = gstatus.Error(errCode, "test error") + + var document *languagepb.Document = &languagepb.Document{} + var request = &languagepb.ClassifyTextRequest{ + Document: document, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.ClassifyText(context.Background(), request) + + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { + t.Errorf("got error code %q, want %q", c, errCode) + } + _ = resp +} func TestLanguageServiceAnnotateText(t *testing.T) { var language string = "language-1613589672" var expectedResponse = &languagepb.AnnotateTextResponse{ @@ -410,11 +466,9 @@ func TestLanguageServiceAnnotateText(t *testing.T) { var document *languagepb.Document = &languagepb.Document{} var features *languagepb.AnnotateTextRequest_Features = &languagepb.AnnotateTextRequest_Features{} - var encodingType languagepb.EncodingType = languagepb.EncodingType_NONE var request = &languagepb.AnnotateTextRequest{ - Document: document, - Features: features, - EncodingType: encodingType, + Document: document, + Features: features, } c, err := NewClient(context.Background(), clientOpt) @@ -443,11 +497,9 @@ func TestLanguageServiceAnnotateTextError(t *testing.T) { var document *languagepb.Document = &languagepb.Document{} var features *languagepb.AnnotateTextRequest_Features = &languagepb.AnnotateTextRequest_Features{} - var encodingType languagepb.EncodingType = languagepb.EncodingType_NONE var request = &languagepb.AnnotateTextRequest{ - Document: document, - Features: features, - EncodingType: encodingType, + Document: document, + Features: features, } c, err := NewClient(context.Background(), clientOpt) diff --git a/vendor/cloud.google.com/go/logging/apiv2/config_client.go b/vendor/cloud.google.com/go/logging/apiv2/config_client.go index c8e171ccd..3df8653ca 100644 --- a/vendor/cloud.google.com/go/logging/apiv2/config_client.go +++ b/vendor/cloud.google.com/go/logging/apiv2/config_client.go @@ -31,11 +31,6 @@ import ( "google.golang.org/grpc/codes" ) -var ( - configProjectPathTemplate = gax.MustCompilePathTemplate("projects/{project}") - configSinkPathTemplate = gax.MustCompilePathTemplate("projects/{project}/sinks/{sink}") -) - // ConfigCallOptions contains the retry settings for each method of ConfigClient. type ConfigCallOptions struct { ListSinks []gax.CallOption @@ -133,25 +128,20 @@ func (c *ConfigClient) SetGoogleClientInfo(keyval ...string) { // ConfigProjectPath returns the path for the project resource. func ConfigProjectPath(project string) string { - path, err := configProjectPathTemplate.Render(map[string]string{ - "project": project, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "" } // ConfigSinkPath returns the path for the sink resource. func ConfigSinkPath(project, sink string) string { - path, err := configSinkPathTemplate.Render(map[string]string{ - "project": project, - "sink": sink, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "/sinks/" + + sink + + "" } // ListSinks lists sinks. @@ -208,7 +198,7 @@ func (c *ConfigClient) GetSink(ctx context.Context, req *loggingpb.GetSinkReques // CreateSink creates a sink that exports specified log entries to a destination. The // export of newly-ingested log entries begins immediately, unless the current // time is outside the sink's start and end times or the sink's -// `writer_identity` is not permitted to write to the destination. A sink can +// writer_identity is not permitted to write to the destination. A sink can // export log entries only from the resource owning the sink. func (c *ConfigClient) CreateSink(ctx context.Context, req *loggingpb.CreateSinkRequest, opts ...gax.CallOption) (*loggingpb.LogSink, error) { ctx = insertXGoog(ctx, c.xGoogHeader) @@ -227,12 +217,12 @@ func (c *ConfigClient) CreateSink(ctx context.Context, req *loggingpb.CreateSink // UpdateSink updates a sink. If the named sink doesn't exist, then this method is // identical to -// [sinks.create](/logging/docs/api/reference/rest/v2/projects.sinks/create). +// sinks.create (at /logging/docs/api/reference/rest/v2/projects.sinks/create). // If the named sink does exist, then this method replaces the following -// fields in the existing sink with values from the new sink: `destination`, -// `filter`, `output_version_format`, `start_time`, and `end_time`. -// The updated filter might also have a new `writer_identity`; see the -// `unique_writer_identity` field. +// fields in the existing sink with values from the new sink: destination, +// filter, output_version_format, start_time, and end_time. +// The updated filter might also have a new writer_identity; see the +// unique_writer_identity field. func (c *ConfigClient) UpdateSink(ctx context.Context, req *loggingpb.UpdateSinkRequest, opts ...gax.CallOption) (*loggingpb.LogSink, error) { ctx = insertXGoog(ctx, c.xGoogHeader) opts = append(c.CallOptions.UpdateSink[0:len(c.CallOptions.UpdateSink):len(c.CallOptions.UpdateSink)], opts...) @@ -248,7 +238,7 @@ func (c *ConfigClient) UpdateSink(ctx context.Context, req *loggingpb.UpdateSink return resp, nil } -// DeleteSink deletes a sink. If the sink has a unique `writer_identity`, then that +// DeleteSink deletes a sink. If the sink has a unique writer_identity, then that // service account is also deleted. func (c *ConfigClient) DeleteSink(ctx context.Context, req *loggingpb.DeleteSinkRequest, opts ...gax.CallOption) error { ctx = insertXGoog(ctx, c.xGoogHeader) diff --git a/vendor/cloud.google.com/go/logging/apiv2/doc.go b/vendor/cloud.google.com/go/logging/apiv2/doc.go index 0398913a1..77c43c7d4 100644 --- a/vendor/cloud.google.com/go/logging/apiv2/doc.go +++ b/vendor/cloud.google.com/go/logging/apiv2/doc.go @@ -35,8 +35,7 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } -// DefaultAuthScopes reports the authentication scopes required -// by this package. +// DefaultAuthScopes reports the default set of authentication scopes to use with this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/vendor/cloud.google.com/go/logging/apiv2/logging_client.go b/vendor/cloud.google.com/go/logging/apiv2/logging_client.go index 9458ed4dc..4f64ff0c9 100644 --- a/vendor/cloud.google.com/go/logging/apiv2/logging_client.go +++ b/vendor/cloud.google.com/go/logging/apiv2/logging_client.go @@ -32,11 +32,6 @@ import ( "google.golang.org/grpc/codes" ) -var ( - loggingProjectPathTemplate = gax.MustCompilePathTemplate("projects/{project}") - loggingLogPathTemplate = gax.MustCompilePathTemplate("projects/{project}/logs/{log}") -) - // CallOptions contains the retry settings for each method of Client. type CallOptions struct { DeleteLog []gax.CallOption @@ -146,25 +141,20 @@ func (c *Client) SetGoogleClientInfo(keyval ...string) { // ProjectPath returns the path for the project resource. func ProjectPath(project string) string { - path, err := loggingProjectPathTemplate.Render(map[string]string{ - "project": project, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "" } // LogPath returns the path for the log resource. func LogPath(project, log string) string { - path, err := loggingLogPathTemplate.Render(map[string]string{ - "project": project, - "log": log, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "/logs/" + + log + + "" } // DeleteLog deletes all the log entries in a log. @@ -200,7 +190,7 @@ func (c *Client) WriteLogEntries(ctx context.Context, req *loggingpb.WriteLogEnt // ListLogEntries lists log entries. Use this method to retrieve log entries from // Stackdriver Logging. For ways to export log entries, see -// [Exporting Logs](/logging/docs/export). +// Exporting Logs (at /logging/docs/export). func (c *Client) ListLogEntries(ctx context.Context, req *loggingpb.ListLogEntriesRequest, opts ...gax.CallOption) *LogEntryIterator { ctx = insertXGoog(ctx, c.xGoogHeader) opts = append(c.CallOptions.ListLogEntries[0:len(c.CallOptions.ListLogEntries):len(c.CallOptions.ListLogEntries)], opts...) diff --git a/vendor/cloud.google.com/go/logging/apiv2/metrics_client.go b/vendor/cloud.google.com/go/logging/apiv2/metrics_client.go index 62ec7e766..e4cc57f32 100644 --- a/vendor/cloud.google.com/go/logging/apiv2/metrics_client.go +++ b/vendor/cloud.google.com/go/logging/apiv2/metrics_client.go @@ -31,11 +31,6 @@ import ( "google.golang.org/grpc/codes" ) -var ( - metricsProjectPathTemplate = gax.MustCompilePathTemplate("projects/{project}") - metricsMetricPathTemplate = gax.MustCompilePathTemplate("projects/{project}/metrics/{metric}") -) - // MetricsCallOptions contains the retry settings for each method of MetricsClient. type MetricsCallOptions struct { ListLogMetrics []gax.CallOption @@ -132,25 +127,20 @@ func (c *MetricsClient) SetGoogleClientInfo(keyval ...string) { // MetricsProjectPath returns the path for the project resource. func MetricsProjectPath(project string) string { - path, err := metricsProjectPathTemplate.Render(map[string]string{ - "project": project, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "" } // MetricsMetricPath returns the path for the metric resource. func MetricsMetricPath(project, metric string) string { - path, err := metricsMetricPathTemplate.Render(map[string]string{ - "project": project, - "metric": metric, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "/metrics/" + + metric + + "" } // ListLogMetrics lists logs-based metrics. diff --git a/vendor/cloud.google.com/go/logging/logadmin/logadmin.go b/vendor/cloud.google.com/go/logging/logadmin/logadmin.go index 9ea728c8b..4097ea78e 100644 --- a/vendor/cloud.google.com/go/logging/logadmin/logadmin.go +++ b/vendor/cloud.google.com/go/logging/logadmin/logadmin.go @@ -46,7 +46,9 @@ import ( logtypepb "google.golang.org/genproto/googleapis/logging/type" logpb "google.golang.org/genproto/googleapis/logging/v2" "google.golang.org/grpc/codes" + // Import the following so EntryIterator can unmarshal log protos. + _ "google.golang.org/genproto/googleapis/appengine/logging/v1" _ "google.golang.org/genproto/googleapis/cloud/audit" ) diff --git a/vendor/cloud.google.com/go/logging/logadmin/logadmin_test.go b/vendor/cloud.google.com/go/logging/logadmin/logadmin_test.go index 1753f84f6..112448500 100644 --- a/vendor/cloud.google.com/go/logging/logadmin/logadmin_test.go +++ b/vendor/cloud.google.com/go/logging/logadmin/logadmin_test.go @@ -22,7 +22,6 @@ import ( "net/http" "net/url" "os" - "reflect" "testing" "time" @@ -184,16 +183,8 @@ func TestFromLogEntry(t *testing.T) { if err != nil { t.Fatal(err) } - // Test sub-values separately because %+v and %#v do not follow pointers. - // TODO(jba): use a differ or pretty-printer. - if !reflect.DeepEqual(got.HTTPRequest.Request, want.HTTPRequest.Request) { - t.Fatalf("HTTPRequest.Request:\ngot %+v\nwant %+v", got.HTTPRequest.Request, want.HTTPRequest.Request) - } - if !reflect.DeepEqual(got.HTTPRequest, want.HTTPRequest) { - t.Fatalf("HTTPRequest:\ngot %+v\nwant %+v", got.HTTPRequest, want.HTTPRequest) - } - if !reflect.DeepEqual(got, want) { - t.Errorf("FullEntry:\ngot %+v\nwant %+v", got, want) + if diff := testutil.Diff(got, want, testutil.IgnoreUnexported(http.Request{})); diff != "" { + t.Errorf("FullEntry:\n%s", diff) } // Proto payload. diff --git a/vendor/cloud.google.com/go/logging/logadmin/metrics_test.go b/vendor/cloud.google.com/go/logging/logadmin/metrics_test.go index f3f148e1b..3a7035841 100644 --- a/vendor/cloud.google.com/go/logging/logadmin/metrics_test.go +++ b/vendor/cloud.google.com/go/logging/logadmin/metrics_test.go @@ -16,7 +16,6 @@ package logadmin import ( "log" - "reflect" "testing" "time" @@ -64,7 +63,7 @@ func TestCreateDeleteMetric(t *testing.T) { if err != nil { t.Fatal(err) } - if want := metric; !reflect.DeepEqual(got, want) { + if want := metric; !testutil.Equal(got, want) { t.Errorf("got %+v, want %+v", got, want) } @@ -94,7 +93,7 @@ func TestUpdateMetric(t *testing.T) { if err != nil { t.Fatal(err) } - if want := metric; !reflect.DeepEqual(got, want) { + if want := metric; !testutil.Equal(got, want) { t.Errorf("got %+v, want %+v", got, want) } @@ -107,7 +106,7 @@ func TestUpdateMetric(t *testing.T) { if err != nil { t.Fatal(err) } - if want := metric; !reflect.DeepEqual(got, want) { + if want := metric; !testutil.Equal(got, want) { t.Errorf("got %+v, want %+v", got, want) } } @@ -149,7 +148,7 @@ func TestListMetrics(t *testing.T) { got[m.ID] = m } } - if !reflect.DeepEqual(got, want) { + if !testutil.Equal(got, want) { t.Errorf("got %+v, want %+v", got, want) } } diff --git a/vendor/cloud.google.com/go/logging/logadmin/sinks.go b/vendor/cloud.google.com/go/logging/logadmin/sinks.go index 588c7afd3..12aa54c1e 100644 --- a/vendor/cloud.google.com/go/logging/logadmin/sinks.go +++ b/vendor/cloud.google.com/go/logging/logadmin/sinks.go @@ -87,8 +87,7 @@ func (c *Client) Sink(ctx context.Context, sinkID string) (*Sink, error) { return fromLogSink(ls), nil } -// UpdateSink updates an existing Sink, or creates a new one if the Sink doesn't exist. -// Requires AdminScope. +// UpdateSink updates an existing Sink. Requires AdminScope. func (c *Client) UpdateSink(ctx context.Context, sink *Sink) (*Sink, error) { ls, err := c.sClient.UpdateSink(ctx, &logpb.UpdateSinkRequest{ SinkName: c.sinkPath(sink.ID), diff --git a/vendor/cloud.google.com/go/logging/logadmin/sinks_test.go b/vendor/cloud.google.com/go/logging/logadmin/sinks_test.go index a75125303..20f4b7c46 100644 --- a/vendor/cloud.google.com/go/logging/logadmin/sinks_test.go +++ b/vendor/cloud.google.com/go/logging/logadmin/sinks_test.go @@ -20,7 +20,6 @@ package logadmin import ( "log" - "reflect" "testing" "time" @@ -125,14 +124,14 @@ func TestCreateDeleteSink(t *testing.T) { t.Fatal(err) } defer client.DeleteSink(ctx, sink.ID) - if want := sink; !reflect.DeepEqual(got, want) { + if want := sink; !testutil.Equal(got, want) { t.Errorf("got %+v, want %+v", got, want) } got, err = client.Sink(ctx, sink.ID) if err != nil { t.Fatal(err) } - if want := sink; !reflect.DeepEqual(got, want) { + if want := sink; !testutil.Equal(got, want) { t.Errorf("got %+v, want %+v", got, want) } @@ -153,20 +152,22 @@ func TestUpdateSink(t *testing.T) { Filter: testFilter, } - // Updating a non-existent sink creates a new one. + if _, err := client.CreateSink(ctx, sink); err != nil { + t.Fatal(err) + } got, err := client.UpdateSink(ctx, sink) if err != nil { t.Fatal(err) } defer client.DeleteSink(ctx, sink.ID) - if want := sink; !reflect.DeepEqual(got, want) { + if want := sink; !testutil.Equal(got, want) { t.Errorf("got %+v, want %+v", got, want) } got, err = client.Sink(ctx, sink.ID) if err != nil { t.Fatal(err) } - if want := sink; !reflect.DeepEqual(got, want) { + if want := sink; !testutil.Equal(got, want) { t.Errorf("got %+v, want %+v", got, want) } @@ -179,7 +180,7 @@ func TestUpdateSink(t *testing.T) { if err != nil { t.Fatal(err) } - if want := sink; !reflect.DeepEqual(got, want) { + if want := sink; !testutil.Equal(got, want) { t.Errorf("got %+v, want %+v", got, want) } } @@ -220,7 +221,7 @@ func TestListSinks(t *testing.T) { got[s.ID] = s } } - if !reflect.DeepEqual(got, want) { + if !testutil.Equal(got, want) { t.Errorf("got %+v, want %+v", got, want) } } diff --git a/vendor/cloud.google.com/go/logging/logging.go b/vendor/cloud.google.com/go/logging/logging.go index 46d06dd8c..5738adcf4 100644 --- a/vendor/cloud.google.com/go/logging/logging.go +++ b/vendor/cloud.google.com/go/logging/logging.go @@ -86,7 +86,11 @@ var now = time.Now // ErrOverflow signals that the number of buffered entries for a Logger // exceeds its BufferLimit. -var ErrOverflow = errors.New("logging: log entry overflowed buffer limits") +var ErrOverflow = bundler.ErrOverflow + +// ErrOversizedEntry signals that an entry's size exceeds the maximum number of +// bytes that will be sent in a single call to the logging service. +var ErrOversizedEntry = bundler.ErrOversizedItem // Client is a Logging client. A Client is associated with a single Cloud project. type Client struct { @@ -331,10 +335,10 @@ type entryByteThreshold int func (e entryByteThreshold) set(l *Logger) { l.bundler.BundleByteThreshold = int(e) } // EntryByteLimit is the maximum number of bytes of entries that will be sent -// in a single call to the logging service. This option limits the size of a -// single RPC payload, to account for network or service issues with large -// RPCs. If EntryByteLimit is smaller than EntryByteThreshold, the latter has -// no effect. +// in a single call to the logging service. ErrOversizedEntry is returned if an +// entry exceeds EntryByteLimit. This option limits the size of a single RPC +// payload, to account for network or service issues with large RPCs. If +// EntryByteLimit is smaller than EntryByteThreshold, the latter has no effect. // The default is zero, meaning there is no limit. func EntryByteLimit(n int) LoggerOption { return entryByteLimit(n) } diff --git a/vendor/cloud.google.com/go/logging/logging_test.go b/vendor/cloud.google.com/go/logging/logging_test.go index c9869d849..da59a9d38 100644 --- a/vendor/cloud.google.com/go/logging/logging_test.go +++ b/vendor/cloud.google.com/go/logging/logging_test.go @@ -21,7 +21,6 @@ import ( "fmt" "log" "os" - "reflect" "strings" "testing" "time" @@ -250,7 +249,7 @@ func compareEntry(got, want *logging.Entry) bool { if !ltesting.PayloadEqual(got.Payload, want.Payload) { return false } - if !reflect.DeepEqual(got.Labels, want.Labels) { + if !testutil.Equal(got.Labels, want.Labels) { return false } diff --git a/vendor/cloud.google.com/go/logging/logging_unexported_test.go b/vendor/cloud.google.com/go/logging/logging_unexported_test.go index cd4b6ebce..9be566e06 100644 --- a/vendor/cloud.google.com/go/logging/logging_unexported_test.go +++ b/vendor/cloud.google.com/go/logging/logging_unexported_test.go @@ -19,10 +19,11 @@ package logging import ( "net/http" "net/url" - "reflect" "testing" "time" + "cloud.google.com/go/internal/testutil" + "github.com/golang/protobuf/proto" durpb "github.com/golang/protobuf/ptypes/duration" structpb "github.com/golang/protobuf/ptypes/struct" @@ -98,7 +99,7 @@ func TestLoggerCreation(t *testing.T) { if got, want := gotLogger.commonResource, test.wantLogger.commonResource; !test.defaultResource && !proto.Equal(got, want) { t.Errorf("%v: resource: got %v, want %v", test.options, got, want) } - if got, want := gotLogger.commonLabels, test.wantLogger.commonLabels; !reflect.DeepEqual(got, want) { + if got, want := gotLogger.commonLabels, test.wantLogger.commonLabels; !testutil.Equal(got, want) { t.Errorf("%v: commonLabels: got %v, want %v", test.options, got, want) } if got, want := gotLogger.bundler.DelayThreshold, test.wantBundler.DelayThreshold; got != want { diff --git a/vendor/cloud.google.com/go/longrunning/autogen/doc.go b/vendor/cloud.google.com/go/longrunning/autogen/doc.go index 21968062a..495818443 100644 --- a/vendor/cloud.google.com/go/longrunning/autogen/doc.go +++ b/vendor/cloud.google.com/go/longrunning/autogen/doc.go @@ -33,8 +33,7 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } -// DefaultAuthScopes reports the authentication scopes required -// by this package. +// DefaultAuthScopes reports the default set of authentication scopes to use with this package. func DefaultAuthScopes() []string { return []string{} } diff --git a/vendor/cloud.google.com/go/longrunning/autogen/operations_client.go b/vendor/cloud.google.com/go/longrunning/autogen/operations_client.go index dc012f05a..80cedf63d 100644 --- a/vendor/cloud.google.com/go/longrunning/autogen/operations_client.go +++ b/vendor/cloud.google.com/go/longrunning/autogen/operations_client.go @@ -93,7 +93,7 @@ type OperationsClient struct { // interface to receive the real response asynchronously by polling the // operation resource, or pass the operation resource to another API (such as // Google Cloud Pub/Sub API) to receive the response. Any API service that -// returns long-running operations should implement the `Operations` interface +// returns long-running operations should implement the Operations interface // so developers can have a consistent client experience. func NewOperationsClient(ctx context.Context, opts ...option.ClientOption) (*OperationsClient, error) { conn, err := transport.DialGRPC(ctx, append(defaultOperationsClientOptions(), opts...)...) @@ -149,10 +149,10 @@ func (c *OperationsClient) GetOperation(ctx context.Context, req *longrunningpb. } // ListOperations lists operations that match the specified filter in the request. If the -// server doesn't support this method, it returns `UNIMPLEMENTED`. +// server doesn't support this method, it returns UNIMPLEMENTED. // -// NOTE: the `name` binding below allows API services to override the binding -// to use different resource name schemes, such as `users/*/operations`. +// NOTE: the name binding below allows API services to override the binding +// to use different resource name schemes, such as users/*/operations. func (c *OperationsClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { ctx = insertXGoog(ctx, c.xGoogHeader) opts = append(c.CallOptions.ListOperations[0:len(c.CallOptions.ListOperations):len(c.CallOptions.ListOperations)], opts...) @@ -190,13 +190,13 @@ func (c *OperationsClient) ListOperations(ctx context.Context, req *longrunningp // CancelOperation starts asynchronous cancellation on a long-running operation. The server // makes a best effort to cancel the operation, but success is not // guaranteed. If the server doesn't support this method, it returns -// `google.rpc.Code.UNIMPLEMENTED`. Clients can use +// google.rpc.Code.UNIMPLEMENTED. Clients can use // [Operations.GetOperation][google.longrunning.Operations.GetOperation] or // other methods to check whether the cancellation succeeded or whether the // operation completed despite cancellation. On successful cancellation, // the operation is not deleted; instead, it becomes an operation with // an [Operation.error][google.longrunning.Operation.error] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, -// corresponding to `Code.CANCELLED`. +// corresponding to Code.CANCELLED. func (c *OperationsClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { ctx = insertXGoog(ctx, c.xGoogHeader) opts = append(c.CallOptions.CancelOperation[0:len(c.CallOptions.CancelOperation):len(c.CallOptions.CancelOperation)], opts...) @@ -211,7 +211,7 @@ func (c *OperationsClient) CancelOperation(ctx context.Context, req *longrunning // DeleteOperation deletes a long-running operation. This method indicates that the client is // no longer interested in the operation result. It does not cancel the // operation. If the server doesn't support this method, it returns -// `google.rpc.Code.UNIMPLEMENTED`. +// google.rpc.Code.UNIMPLEMENTED. func (c *OperationsClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { ctx = insertXGoog(ctx, c.xGoogHeader) opts = append(c.CallOptions.DeleteOperation[0:len(c.CallOptions.DeleteOperation):len(c.CallOptions.DeleteOperation)], opts...) diff --git a/vendor/cloud.google.com/go/longrunning/longrunning.go b/vendor/cloud.google.com/go/longrunning/longrunning.go index 81bac6e0c..3054d2305 100644 --- a/vendor/cloud.google.com/go/longrunning/longrunning.go +++ b/vendor/cloud.google.com/go/longrunning/longrunning.go @@ -119,14 +119,27 @@ func (op *Operation) Poll(ctx context.Context, resp proto.Message, opts ...gax.C } } -// Wait blocks until the operation is completed. +// DefaultWaitInterval is the polling interval used by Operation.Wait. +const DefaultWaitInterval = 60 * time.Second + +// Wait is equivalent to WaitWithInterval using DefaultWaitInterval. +func (op *Operation) Wait(ctx context.Context, resp proto.Message, opts ...gax.CallOption) error { + return op.WaitWithInterval(ctx, resp, DefaultWaitInterval, opts...) +} + +// WaitWithInterval blocks until the operation is completed. // If resp != nil, Wait stores the response in resp. +// WaitWithInterval polls every interval, except initially +// when it polls using exponential backoff. // // See documentation of Poll for error-handling information. -func (op *Operation) Wait(ctx context.Context, resp proto.Message, opts ...gax.CallOption) error { +func (op *Operation) WaitWithInterval(ctx context.Context, resp proto.Message, interval time.Duration, opts ...gax.CallOption) error { bo := gax.Backoff{ - Initial: 100 * time.Millisecond, - Max: 10 * time.Second, + Initial: 1 * time.Second, + Max: interval, + } + if bo.Max < bo.Initial { + bo.Max = bo.Initial } return op.wait(ctx, resp, &bo, gax.Sleep, opts...) } diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/doc.go b/vendor/cloud.google.com/go/monitoring/apiv3/doc.go index ca72c8e50..426f6a501 100644 --- a/vendor/cloud.google.com/go/monitoring/apiv3/doc.go +++ b/vendor/cloud.google.com/go/monitoring/apiv3/doc.go @@ -34,8 +34,7 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } -// DefaultAuthScopes reports the authentication scopes required -// by this package. +// DefaultAuthScopes reports the default set of authentication scopes to use with this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/group_client.go b/vendor/cloud.google.com/go/monitoring/apiv3/group_client.go index e861d7dfd..d235c85ec 100644 --- a/vendor/cloud.google.com/go/monitoring/apiv3/group_client.go +++ b/vendor/cloud.google.com/go/monitoring/apiv3/group_client.go @@ -32,11 +32,6 @@ import ( "google.golang.org/grpc/codes" ) -var ( - groupProjectPathTemplate = gax.MustCompilePathTemplate("projects/{project}") - groupGroupPathTemplate = gax.MustCompilePathTemplate("projects/{project}/groups/{group}") -) - // GroupCallOptions contains the retry settings for each method of GroupClient. type GroupCallOptions struct { ListGroups []gax.CallOption @@ -97,7 +92,7 @@ type GroupClient struct { // NewGroupClient creates a new group service client. // // The Group API lets you inspect and manage your -// [groups](google.monitoring.v3.Group). +// groups (at google.monitoring.v3.Group). // // A group is a named filter that is used to identify // a collection of monitored resources. Groups are typically used to @@ -119,7 +114,7 @@ func NewGroupClient(ctx context.Context, opts ...option.ClientOption) (*GroupCli groupClient: monitoringpb.NewGroupServiceClient(conn), } - c.SetGoogleClientInfo() + c.setGoogleClientInfo() return c, nil } @@ -134,10 +129,10 @@ func (c *GroupClient) Close() error { return c.conn.Close() } -// SetGoogleClientInfo sets the name and version of the application in +// setGoogleClientInfo sets the name and version of the application in // the `x-goog-api-client` header passed on each request. Intended for // use by Google-written clients. -func (c *GroupClient) SetGoogleClientInfo(keyval ...string) { +func (c *GroupClient) setGoogleClientInfo(keyval ...string) { kv := append([]string{"gl-go", version.Go()}, keyval...) kv = append(kv, "gapic", version.Repo, "gax", gax.Version, "grpc", grpc.Version) c.xGoogHeader = []string{gax.XGoogHeader(kv...)} @@ -145,25 +140,20 @@ func (c *GroupClient) SetGoogleClientInfo(keyval ...string) { // GroupProjectPath returns the path for the project resource. func GroupProjectPath(project string) string { - path, err := groupProjectPathTemplate.Render(map[string]string{ - "project": project, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "" } // GroupGroupPath returns the path for the group resource. func GroupGroupPath(project, group string) string { - path, err := groupGroupPathTemplate.Render(map[string]string{ - "project": project, - "group": group, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "/groups/" + + group + + "" } // ListGroups lists the existing groups. @@ -234,7 +224,7 @@ func (c *GroupClient) CreateGroup(ctx context.Context, req *monitoringpb.CreateG } // UpdateGroup updates an existing group. -// You can change any group attributes except `name`. +// You can change any group attributes except name. func (c *GroupClient) UpdateGroup(ctx context.Context, req *monitoringpb.UpdateGroupRequest, opts ...gax.CallOption) (*monitoringpb.Group, error) { ctx = insertXGoog(ctx, c.xGoogHeader) opts = append(c.CallOptions.UpdateGroup[0:len(c.CallOptions.UpdateGroup):len(c.CallOptions.UpdateGroup)], opts...) diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/metric_client.go b/vendor/cloud.google.com/go/monitoring/apiv3/metric_client.go index 4b24b6d6c..8b35ce721 100644 --- a/vendor/cloud.google.com/go/monitoring/apiv3/metric_client.go +++ b/vendor/cloud.google.com/go/monitoring/apiv3/metric_client.go @@ -33,12 +33,6 @@ import ( "google.golang.org/grpc/codes" ) -var ( - metricProjectPathTemplate = gax.MustCompilePathTemplate("projects/{project}") - metricMetricDescriptorPathTemplate = gax.MustCompilePathTemplate("projects/{project}/metricDescriptors/{metric_descriptor=**}") - metricMonitoredResourceDescriptorPathTemplate = gax.MustCompilePathTemplate("projects/{project}/monitoredResourceDescriptors/{monitored_resource_descriptor}") -) - // MetricCallOptions contains the retry settings for each method of MetricClient. type MetricCallOptions struct { ListMonitoredResourceDescriptors []gax.CallOption @@ -115,7 +109,7 @@ func NewMetricClient(ctx context.Context, opts ...option.ClientOption) (*MetricC metricClient: monitoringpb.NewMetricServiceClient(conn), } - c.SetGoogleClientInfo() + c.setGoogleClientInfo() return c, nil } @@ -130,10 +124,10 @@ func (c *MetricClient) Close() error { return c.conn.Close() } -// SetGoogleClientInfo sets the name and version of the application in +// setGoogleClientInfo sets the name and version of the application in // the `x-goog-api-client` header passed on each request. Intended for // use by Google-written clients. -func (c *MetricClient) SetGoogleClientInfo(keyval ...string) { +func (c *MetricClient) setGoogleClientInfo(keyval ...string) { kv := append([]string{"gl-go", version.Go()}, keyval...) kv = append(kv, "gapic", version.Repo, "gax", gax.Version, "grpc", grpc.Version) c.xGoogHeader = []string{gax.XGoogHeader(kv...)} @@ -141,37 +135,30 @@ func (c *MetricClient) SetGoogleClientInfo(keyval ...string) { // MetricProjectPath returns the path for the project resource. func MetricProjectPath(project string) string { - path, err := metricProjectPathTemplate.Render(map[string]string{ - "project": project, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "" } // MetricMetricDescriptorPath returns the path for the metric descriptor resource. func MetricMetricDescriptorPath(project, metricDescriptor string) string { - path, err := metricMetricDescriptorPathTemplate.Render(map[string]string{ - "project": project, - "metric_descriptor": metricDescriptor, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "/metricDescriptors/" + + metricDescriptor + + "" } // MetricMonitoredResourceDescriptorPath returns the path for the monitored resource descriptor resource. func MetricMonitoredResourceDescriptorPath(project, monitoredResourceDescriptor string) string { - path, err := metricMonitoredResourceDescriptorPathTemplate.Render(map[string]string{ - "project": project, - "monitored_resource_descriptor": monitoredResourceDescriptor, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "/monitoredResourceDescriptors/" + + monitoredResourceDescriptor + + "" } // ListMonitoredResourceDescriptors lists monitored resource descriptors that match a filter. This method does not require a Stackdriver account. @@ -278,7 +265,7 @@ func (c *MetricClient) GetMetricDescriptor(ctx context.Context, req *monitoringp // CreateMetricDescriptor creates a new metric descriptor. // User-created metric descriptors define -// [custom metrics](/monitoring/custom-metrics). +// custom metrics (at /monitoring/custom-metrics). func (c *MetricClient) CreateMetricDescriptor(ctx context.Context, req *monitoringpb.CreateMetricDescriptorRequest, opts ...gax.CallOption) (*metricpb.MetricDescriptor, error) { ctx = insertXGoog(ctx, c.xGoogHeader) opts = append(c.CallOptions.CreateMetricDescriptor[0:len(c.CallOptions.CreateMetricDescriptor):len(c.CallOptions.CreateMetricDescriptor)], opts...) @@ -295,7 +282,7 @@ func (c *MetricClient) CreateMetricDescriptor(ctx context.Context, req *monitori } // DeleteMetricDescriptor deletes a metric descriptor. Only user-created -// [custom metrics](/monitoring/custom-metrics) can be deleted. +// custom metrics (at /monitoring/custom-metrics) can be deleted. func (c *MetricClient) DeleteMetricDescriptor(ctx context.Context, req *monitoringpb.DeleteMetricDescriptorRequest, opts ...gax.CallOption) error { ctx = insertXGoog(ctx, c.xGoogHeader) opts = append(c.CallOptions.DeleteMetricDescriptor[0:len(c.CallOptions.DeleteMetricDescriptor):len(c.CallOptions.DeleteMetricDescriptor)], opts...) diff --git a/vendor/cloud.google.com/go/old-news.md b/vendor/cloud.google.com/go/old-news.md index 6a4402a87..7b3ee4448 100644 --- a/vendor/cloud.google.com/go/old-news.md +++ b/vendor/cloud.google.com/go/old-news.md @@ -1,3 +1,19 @@ +_March 17, 2017_ + +Breaking Pubsub changes. +* Publish is now asynchronous +([announcement](https://groups.google.com/d/topic/google-api-go-announce/aaqRDIQ3rvU/discussion)). +* Subscription.Pull replaced by Subscription.Receive, which takes a callback ([announcement](https://groups.google.com/d/topic/google-api-go-announce/8pt6oetAdKc/discussion)). +* Message.Done replaced with Message.Ack and Message.Nack. + +_February 14, 2017_ + +Release of a client library for Spanner. See +the +[blog post](https://cloudplatform.googleblog.com/2017/02/introducing-Cloud-Spanner-a-global-database-service-for-mission-critical-applications.html). + +Note that although the Spanner service is beta, the Go client library is alpha. + _December 12, 2016_ Beta release of BigQuery, DataStore, Logging and Storage. See the diff --git a/vendor/cloud.google.com/go/profiler/profiler.go b/vendor/cloud.google.com/go/profiler/profiler.go index 16306dce4..c642495f3 100644 --- a/vendor/cloud.google.com/go/profiler/profiler.go +++ b/vendor/cloud.google.com/go/profiler/profiler.go @@ -16,19 +16,21 @@ // // This package is still experimental and subject to change. // +// Usage example: +// +// import "cloud.google.com/go/profiler" +// ... +// err := profiler.Start(profiler.Config{Service: "my-service"}) +// if err != nil { +// // TODO: Handle error. +// } +// // Calling Start will start a goroutine to collect profiles and // upload to Cloud Profiler server, at the rhythm specified by // the server. // -// The caller should provide the target string in the config so Cloud -// Profiler knows how to group the profile data. Otherwise the target -// string is set to "unknown". -// -// Optionally DebugLogging can be set in the config to enable detailed -// logging from profiler. -// -// Start should only be called once. The first call will start -// the profiling goroutine. Any additional calls will be ignored. +// The caller must provide the service string in the config, and +// may provide other information as well. See Config for details. package profiler import ( @@ -36,9 +38,8 @@ import ( "errors" "fmt" "log" + "os" "runtime/pprof" - "sort" - "strings" "sync" "time" @@ -48,10 +49,8 @@ import ( "github.com/golang/protobuf/ptypes" gax "github.com/googleapis/gax-go" "golang.org/x/net/context" - "golang.org/x/oauth2" - "golang.org/x/oauth2/google" "google.golang.org/api/option" - "google.golang.org/api/transport" + gtransport "google.golang.org/api/transport/grpc" pb "google.golang.org/genproto/googleapis/devtools/cloudprofiler/v2" edpb "google.golang.org/genproto/googleapis/rpc/errdetails" "google.golang.org/grpc" @@ -61,10 +60,9 @@ import ( ) var ( - config = &Config{} + config Config startOnce sync.Once - // getProjectID, getInstanceName, getZone, startCPUProfile, stopCPUProfile, - // writeHeapProfile and sleep are overrideable for testing. + // The functions below are stubbed to be overrideable for testing. getProjectID = gcemd.ProjectID getInstanceName = gcemd.InstanceName getZone = gcemd.Zone @@ -72,15 +70,17 @@ var ( stopCPUProfile = pprof.StopCPUProfile writeHeapProfile = pprof.WriteHeapProfile sleep = gax.Sleep + dialGRPC = gtransport.Dial + onGCE = gcemd.OnGCE ) const ( - apiAddress = "cloudprofiler.googleapis.com:443" - xGoogAPIMetadata = "x-goog-api-client" - deploymentKeyMetadata = "x-profiler-deployment-key-bin" - zoneNameLabel = "zone" - instanceLabel = "instance" - scope = "https://www.googleapis.com/auth/monitoring.write" + apiAddress = "cloudprofiler.googleapis.com:443" + xGoogAPIMetadata = "x-goog-api-client" + zoneNameLabel = "zone" + versionLabel = "version" + instanceLabel = "instance" + scope = "https://www.googleapis.com/auth/monitoring.write" initialBackoff = time.Second // Ensure the agent will recover within 1 hour. @@ -91,66 +91,84 @@ const ( // Config is the profiler configuration. type Config struct { - // Target groups related deployments together, defaults to "unknown". - Target string - // DebugLogging enables detailed debug logging from profiler. + // Service (or deprecated Target) must be provided to start the profiler. + // It specifies the name of the service under which the profiled data + // will be recorded and exposed at the Cloud Profiler UI for the project. + // You can specify an arbitrary string, but see Deployment.target at + // https://github.com/googleapis/googleapis/blob/master/google/devtools/cloudprofiler/v2/profiler.proto + // for restrictions. + // NOTE: The string should be the same across different replicas of + // your service so that the globally constant profiling rate is + // maintained. Do not put things like PID or unique pod ID in the name. + Service string + + // ServiceVersion is an optional field specifying the version of the + // service. It can be an arbitrary string. Cloud Profiler profiles + // once per minute for each version of each service in each zone. + // ServiceVersion defaults to an empty string. + ServiceVersion string + + // DebugLogging enables detailed debug logging from profiler. It + // defaults to false. DebugLogging bool - // ProjectID is the ID of the cloud project to use instead of - // the one read from the VM metadata server. Typically for testing. + + // ProjectID is the Cloud Console project ID to use instead of + // the one read from the VM metadata server. + // + // Set this if you are running the agent in your local environment + // or anywhere else outside of Google Cloud Platform. ProjectID string - // InstanceName is the name of the VM instance to use instead of - // the one read from the VM metadata server. Typically for testing. - InstanceName string - // ZoneName is the name of the zone to use instead of - // the one read from the VM metadata server. Typically for testing. - ZoneName string + // APIAddr is the HTTP endpoint to use to connect to the profiler // agent API. Defaults to the production environment, overridable // for testing. APIAddr string + + // Target is deprecated, use Service instead. + Target string + + instance string + zone string } -// Start starts a goroutine to collect and upload profiles. -// See package level documentation for details. -func Start(cfg *Config) error { - var err error +// startError represents the error occured during the +// initializating and starting of the agent. +var startError error + +// Start starts a goroutine to collect and upload profiles. The +// caller must provide the service string in the config. See +// Config for details. Start should only be called once. Any +// additional calls will be ignored. +func Start(cfg Config, options ...option.ClientOption) error { startOnce.Do(func() { - initializeConfig(cfg) - - ctx := context.Background() - - var ts oauth2.TokenSource - ts, err = google.DefaultTokenSource(ctx, scope) - if err != nil { - debugLog("failed to get application default credentials: %v", err) - return - } - - opts := []option.ClientOption{ - option.WithEndpoint(config.APIAddr), - option.WithTokenSource(ts), - option.WithScopes(scope), - } - - var conn *grpc.ClientConn - conn, err = transport.DialGRPC(ctx, opts...) - if err != nil { - debugLog("failed to dial GRPC: %v", err) - return - } - - var d *pb.Deployment - d, err = initializeDeployment() - if err != nil { - debugLog("failed to initialize deployment: %v", err) - return - } - - a, ctx := initializeResources(ctx, conn, d) - go pollProfilerService(ctx, a) + startError = start(cfg, options...) }) + return startError +} - return err +func start(cfg Config, options ...option.ClientOption) error { + if err := initializeConfig(cfg); err != nil { + debugLog("failed to initialize config: %v", err) + return err + } + + ctx := context.Background() + + opts := []option.ClientOption{ + option.WithEndpoint(config.APIAddr), + option.WithScopes(scope), + } + opts = append(opts, options...) + + conn, err := dialGRPC(ctx, opts...) + if err != nil { + debugLog("failed to dial GRPC: %v", err) + return err + } + + a := initializeAgent(pb.NewProfilerServiceClient(conn)) + go pollProfilerService(withXGoogHeader(ctx), a) + return nil } func debugLog(format string, e ...interface{}) { @@ -162,9 +180,9 @@ func debugLog(format string, e ...interface{}) { // agent polls Cloud Profiler server for instructions on behalf of // a task, and collects and uploads profiles as requested. type agent struct { - client *client - deployment *pb.Deployment - creationErrorCount int64 + client pb.ProfilerServiceClient + deployment *pb.Deployment + profileLabels map[string]string } // abortedBackoffDuration retrieves the retry duration from gRPC trailing @@ -220,7 +238,7 @@ func (a *agent) createProfile(ctx context.Context) *pb.Profile { gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - p, err = a.client.client.CreateProfile(ctx, &req, grpc.Trailer(&md)) + p, err = a.client.CreateProfile(ctx, &req, grpc.Trailer(&md)) return err }, gax.WithRetry(func() gax.Retryer { return &retryer{ @@ -233,6 +251,7 @@ func (a *agent) createProfile(ctx context.Context) *pb.Profile { } })) + debugLog("successfully created profile %v", p.GetProfileType()) return p } @@ -263,124 +282,110 @@ func (a *agent) profileAndUpload(ctx context.Context, p *pb.Profile) { return } + // Starting Go 1.9 the profiles are symbolized by runtime/pprof. + // TODO(jianqiaoli): Remove the symbolization code when we decide to + // stop supporting Go 1.8. + if !shouldAssumeSymbolized { + if err := parseAndSymbolize(&prof); err != nil { + debugLog("failed to symbolize profile: %v", err) + } + } + p.ProfileBytes = prof.Bytes() - p.Labels = a.deployment.Labels + p.Labels = a.profileLabels req := pb.UpdateProfileRequest{Profile: p} // Upload profile, discard profile in case of error. - _, err := a.client.client.UpdateProfile(ctx, &req) - if err != nil { + debugLog("start uploading profile") + if _, err := a.client.UpdateProfile(ctx, &req); err != nil { debugLog("failed to upload profile: %v", err) } } -// client is a client for interacting with Cloud Profiler API. -type client struct { - // gRPC API client. - client pb.ProfilerServiceClient - - // Metadata for google API to be sent with each request. - xGoogHeader []string - - // Metadata for Cloud Profiler API to be sent with each request. - profilerHeader []string -} - -// setProfilerHeader sets the unique key string for a deployment target in -// the `x-profiler-deployment-key-bin` header passed on each request. -// Intended for use by Cloud Profiler agents. -func (c *client) setProfilerHeader(d *pb.Deployment) { - labels := make([]string, 0, len(d.Labels)) - for k, v := range d.Labels { - labels = append(labels, fmt.Sprintf("%s|%s", k, v)) - } - sort.Strings(labels) - key := d.ProjectId + "##" + d.Target + "##" + strings.Join(labels, "#") - c.profilerHeader = []string{key} -} - -// setXGoogHeader sets the name and version of the application in +// withXGoogHeader sets the name and version of the application in // the `x-goog-api-client` header passed on each request. Intended for // use by Google-written clients. -func (c *client) setXGoogHeader(keyval ...string) { +func withXGoogHeader(ctx context.Context, keyval ...string) context.Context { kv := append([]string{"gl-go", version.Go(), "gccl", version.Repo}, keyval...) kv = append(kv, "gax", gax.Version, "grpc", grpc.Version) - c.xGoogHeader = []string{gax.XGoogHeader(kv...)} -} -func (c *client) insertMetadata(ctx context.Context) context.Context { md, _ := grpcmd.FromOutgoingContext(ctx) md = md.Copy() - md[xGoogAPIMetadata] = c.xGoogHeader - md[deploymentKeyMetadata] = c.profilerHeader + md[xGoogAPIMetadata] = []string{gax.XGoogHeader(kv...)} return grpcmd.NewOutgoingContext(ctx, md) } -func initializeDeployment() (*pb.Deployment, error) { - var projectID, instance, zone string - var err error - - if config.ProjectID != "" { - projectID = config.ProjectID - } else { - projectID, err = getProjectID() - if err != nil { - return nil, err - } +func initializeAgent(c pb.ProfilerServiceClient) *agent { + labels := map[string]string{} + if config.zone != "" { + labels[zoneNameLabel] = config.zone } - - if config.InstanceName != "" { - instance = config.InstanceName - } else { - instance, err = getInstanceName() - if err != nil { - return nil, err - } + if config.ServiceVersion != "" { + labels[versionLabel] = config.ServiceVersion } - - if config.ZoneName != "" { - zone = config.ZoneName - } else { - zone, err = getZone() - if err != nil { - return nil, err - } - } - - labels := make(map[string]string) - labels[zoneNameLabel] = zone - labels[instanceLabel] = instance - - return &pb.Deployment{ - ProjectId: projectID, + d := &pb.Deployment{ + ProjectId: config.ProjectID, Target: config.Target, Labels: labels, - }, nil -} - -func initializeResources(ctx context.Context, conn *grpc.ClientConn, d *pb.Deployment) (*agent, context.Context) { - c := &client{ - client: pb.NewProfilerServiceClient(conn), } - c.setXGoogHeader() - c.setProfilerHeader(d) - ctx = c.insertMetadata(ctx) + profileLabels := map[string]string{} + + if config.instance != "" { + profileLabels[instanceLabel] = config.instance + } + return &agent{ - client: c, - deployment: d, - }, ctx + client: c, + deployment: d, + profileLabels: profileLabels, + } } -func initializeConfig(cfg *Config) { - *config = *cfg +func initializeConfig(cfg Config) error { + config = cfg + + switch { + case config.Service != "": + config.Target = config.Service + case config.Target == "": + config.Target = os.Getenv("GAE_SERVICE") + } if config.Target == "" { - config.Target = "unknown" + return errors.New("service name must be specified in the configuration") } + + if config.ServiceVersion == "" { + config.ServiceVersion = os.Getenv("GAE_VERSION") + } + + if onGCE() { + var err error + if config.ProjectID == "" { + if config.ProjectID, err = getProjectID(); err != nil { + return fmt.Errorf("failed to get the project ID from Compute Engine: %v", err) + } + } + + if config.zone, err = getZone(); err != nil { + return fmt.Errorf("failed to get zone from Compute Engine: %v", err) + } + + if config.instance, err = getInstanceName(); err != nil { + return fmt.Errorf("failed to get instance from Compute Engine: %v", err) + } + + } else { + if config.ProjectID == "" { + return fmt.Errorf("project ID must be specified in the configuration if running outside of GCP") + } + } + if config.APIAddr == "" { config.APIAddr = apiAddress } + return nil } // pollProfilerService starts an endless loop to poll Cloud Profiler diff --git a/vendor/cloud.google.com/go/profiler/profiler_example_test.go b/vendor/cloud.google.com/go/profiler/profiler_example_test.go index f683fb16d..8e3277626 100644 --- a/vendor/cloud.google.com/go/profiler/profiler_example_test.go +++ b/vendor/cloud.google.com/go/profiler/profiler_example_test.go @@ -19,13 +19,7 @@ import ( ) func ExampleStart() { - // The caller should provide the target string in the config so Cloud - // Profiler knows how to group the profile data. Otherwise the target - // string is set to "unknown". - // - // Optionally DebugLogging can be set in the config to enable detailed - // logging from profiler. - err := profiler.Start(&profiler.Config{Target: "my-target"}) + err := profiler.Start(profiler.Config{Service: "my-service", ServiceVersion: "v1"}) if err != nil { //TODO: Handle error. } diff --git a/vendor/cloud.google.com/go/profiler/profiler_test.go b/vendor/cloud.google.com/go/profiler/profiler_test.go index 6e76f74e4..c18e28234 100644 --- a/vendor/cloud.google.com/go/profiler/profiler_test.go +++ b/vendor/cloud.google.com/go/profiler/profiler_test.go @@ -15,19 +15,27 @@ package profiler import ( + "bytes" + "compress/gzip" "errors" + "fmt" "io" - "reflect" + "log" + "math/rand" + "os" "strings" "testing" "time" + "cloud.google.com/go/internal/testutil" "cloud.google.com/go/profiler/mocks" "github.com/golang/mock/gomock" "github.com/golang/protobuf/proto" "github.com/golang/protobuf/ptypes" + "github.com/google/pprof/profile" gax "github.com/googleapis/gax-go" "golang.org/x/net/context" + gtransport "google.golang.org/api/transport/grpc" pb "google.golang.org/genproto/googleapis/devtools/cloudprofiler/v2" edpb "google.golang.org/genproto/googleapis/rpc/errdetails" "google.golang.org/grpc/codes" @@ -36,30 +44,35 @@ import ( ) const ( - testProjectID = "test-project-ID" - testInstanceName = "test-instance-name" - testZoneName = "test-zone-name" - testTarget = "test-target" + testProjectID = "test-project-ID" + testInstance = "test-instance" + testZone = "test-zone" + testTarget = "test-target" + testService = "test-service" + testSvcVersion = "test-service-version" + testProfileDuration = time.Second * 10 + testServerTimeout = time.Second * 15 + wantFunctionName = "profilee" ) func createTestDeployment() *pb.Deployment { - labels := make(map[string]string) - labels[zoneNameLabel] = testZoneName - labels[instanceLabel] = testInstanceName + labels := map[string]string{ + zoneNameLabel: testZone, + versionLabel: testSvcVersion, + } return &pb.Deployment{ ProjectId: testProjectID, - Target: testTarget, + Target: testService, Labels: labels, } } func createTestAgent(psc pb.ProfilerServiceClient) *agent { - c := &client{client: psc} - a := &agent{ - client: c, - deployment: createTestDeployment(), + return &agent{ + client: psc, + deployment: createTestDeployment(), + profileLabels: map[string]string{instanceLabel: testInstance}, } - return a } func createTrailers(dur time.Duration) map[string]string { @@ -87,12 +100,17 @@ func TestCreateProfile(t *testing.T) { gotP := a.createProfile(ctx) - if !reflect.DeepEqual(gotP, p) { + if !testutil.Equal(gotP, p) { t.Errorf("CreateProfile() got wrong profile, got %v, want %v", gotP, p) } } func TestProfileAndUpload(t *testing.T) { + oldStartCPUProfile, oldStopCPUProfile, oldWriteHeapProfile, oldSleep := startCPUProfile, stopCPUProfile, writeHeapProfile, sleep + defer func() { + startCPUProfile, stopCPUProfile, writeHeapProfile, sleep = oldStartCPUProfile, oldStopCPUProfile, oldWriteHeapProfile, oldSleep + }() + ctx := context.Background() ctrl := gomock.NewController(t) defer ctrl.Finish() @@ -188,14 +206,13 @@ func TestProfileAndUpload(t *testing.T) { if tt.duration != nil { p.Duration = ptypes.DurationProto(*tt.duration) } - if tt.wantBytes != nil { wantProfile := &pb.Profile{ - ProfileType: p.ProfileType, - Duration: p.Duration, + ProfileType: p.ProfileType, + Duration: p.Duration, + ProfileBytes: tt.wantBytes, + Labels: a.profileLabels, } - wantProfile.Labels = a.deployment.Labels - wantProfile.ProfileBytes = tt.wantBytes wantRequest := pb.UpdateProfileRequest{ Profile: wantProfile, } @@ -295,67 +312,396 @@ func TestRetry(t *testing.T) { } } -func TestInitializeResources(t *testing.T) { - d := createTestDeployment() - ctx := context.Background() - - a, ctx := initializeResources(ctx, nil, d) - - if xg := a.client.xGoogHeader; len(xg) == 0 { - t.Errorf("initializeResources() sets empty xGoogHeader") - } else { - if !strings.Contains(xg[0], "gl-go/") { - t.Errorf("initializeResources() sets wrong xGoogHeader, got: %v, want gl-go key", xg[0]) - } - if !strings.Contains(xg[0], "gccl/") { - t.Errorf("initializeResources() sets wrong xGoogHeader, got: %v, want gccl key", xg[0]) - } - if !strings.Contains(xg[0], "gax/") { - t.Errorf("initializeResources() sets wrong xGoogHeader, got: %v, want gax key", xg[0]) - } - if !strings.Contains(xg[0], "grpc/") { - t.Errorf("initializeResources() sets wrong xGoogHeader, got: %v, want grpc key", xg[0]) - } - } - - wantPH := "test-project-ID##test-target##instance|test-instance-name#zone|test-zone-name" - if ph := a.client.profilerHeader; len(ph) == 0 { - t.Errorf("initializeResources() sets empty profilerHeader") - } else if ph[0] != wantPH { - t.Errorf("initializeResources() sets wrong profilerHeader, got: %v, want: %v", ph[0], wantPH) - } - +func TestWithXGoogHeader(t *testing.T) { + ctx := withXGoogHeader(context.Background()) md, _ := grpcmd.FromOutgoingContext(ctx) - if !reflect.DeepEqual(md[xGoogAPIMetadata], a.client.xGoogHeader) { - t.Errorf("md[%v] = %v, want equal xGoogHeader = %v", xGoogAPIMetadata, md[xGoogAPIMetadata], a.client.xGoogHeader) - } - if !reflect.DeepEqual(md[deploymentKeyMetadata], a.client.profilerHeader) { - t.Errorf("md[%v] = %v, want equal profilerHeader = %v", deploymentKeyMetadata, md[deploymentKeyMetadata], a.client.profilerHeader) + if xg := md[xGoogAPIMetadata]; len(xg) == 0 { + t.Errorf("withXGoogHeader() sets empty xGoogHeader") + } else { + if !strings.Contains(xg[0], "gl-go/") { + t.Errorf("withXGoogHeader() got: %v, want gl-go key", xg[0]) + } + if !strings.Contains(xg[0], "gccl/") { + t.Errorf("withXGoogHeader() got: %v, want gccl key", xg[0]) + } + if !strings.Contains(xg[0], "gax/") { + t.Errorf("withXGoogHeader() got: %v, want gax key", xg[0]) + } + if !strings.Contains(xg[0], "grpc/") { + t.Errorf("withXGoogHeader() got: %v, want grpc key", xg[0]) + } } } -func TestInitializeDeployment(t *testing.T) { - getProjectID = func() (string, error) { - return testProjectID, nil +func TestInitializeAgent(t *testing.T) { + oldConfig := config + defer func() { + config = oldConfig + }() + + for _, tt := range []struct { + config Config + wantDeploymentLabels map[string]string + wantProfileLabels map[string]string + }{ + { + config: Config{ServiceVersion: testSvcVersion, zone: testZone}, + wantDeploymentLabels: map[string]string{zoneNameLabel: testZone, versionLabel: testSvcVersion}, + wantProfileLabels: map[string]string{}, + }, + { + config: Config{zone: testZone}, + wantDeploymentLabels: map[string]string{zoneNameLabel: testZone}, + wantProfileLabels: map[string]string{}, + }, + { + config: Config{ServiceVersion: testSvcVersion}, + wantDeploymentLabels: map[string]string{versionLabel: testSvcVersion}, + wantProfileLabels: map[string]string{}, + }, + { + config: Config{instance: testInstance}, + wantDeploymentLabels: map[string]string{}, + wantProfileLabels: map[string]string{instanceLabel: testInstance}, + }, + } { + + config = tt.config + config.ProjectID = testProjectID + config.Target = testTarget + a := initializeAgent(nil) + + wantDeployment := &pb.Deployment{ + ProjectId: testProjectID, + Target: testTarget, + Labels: tt.wantDeploymentLabels, + } + if !testutil.Equal(a.deployment, wantDeployment) { + t.Errorf("initializeResources() got deployment: %v, want %v", a.deployment, wantDeployment) + } + + if !testutil.Equal(a.profileLabels, tt.wantProfileLabels) { + t.Errorf("initializeResources() got profile labels: %v, want %v", a.profileLabels, tt.wantProfileLabels) + } } - getInstanceName = func() (string, error) { - return testInstanceName, nil - } - getZone = func() (string, error) { - return testZoneName, nil +} + +func TestInitializeConfig(t *testing.T) { + oldConfig, oldService, oldVersion, oldGetProjectID, oldGetInstanceName, oldGetZone, oldOnGCE := config, os.Getenv("GAE_SERVICE"), os.Getenv("GAE_VERSION"), getProjectID, getInstanceName, getZone, onGCE + defer func() { + config, getProjectID, getInstanceName, getZone, onGCE = oldConfig, oldGetProjectID, oldGetInstanceName, oldGetZone, oldOnGCE + if err := os.Setenv("GAE_SERVICE", oldService); err != nil { + t.Fatal(err) + } + if err := os.Setenv("GAE_VERSION", oldVersion); err != nil { + t.Fatal(err) + } + }() + testGAEService := "test-gae-service" + testGAEVersion := "test-gae-version" + testGCEProjectID := "test-gce-project-id" + for _, tt := range []struct { + config Config + wantConfig Config + wantErrorString string + onGAE bool + onGCE bool + }{ + { + Config{Service: testService}, + Config{Target: testService, ProjectID: testGCEProjectID, zone: testZone, instance: testInstance}, + "", + false, + true, + }, + { + Config{Target: testTarget}, + Config{Target: testTarget, ProjectID: testGCEProjectID, zone: testZone, instance: testInstance}, + "", + false, + true, + }, + { + Config{}, + Config{}, + "service name must be specified in the configuration", + false, + true, + }, + { + Config{Service: testService}, + Config{Target: testService, ServiceVersion: testGAEVersion, ProjectID: testGCEProjectID, zone: testZone, instance: testInstance}, + "", + true, + true, + }, + { + Config{Target: testTarget}, + Config{Target: testTarget, ServiceVersion: testGAEVersion, ProjectID: testGCEProjectID, zone: testZone, instance: testInstance}, + "", + true, + true, + }, + { + Config{}, + Config{Target: testGAEService, ServiceVersion: testGAEVersion, ProjectID: testGCEProjectID, zone: testZone, instance: testInstance}, + "", + true, + true, + }, + { + Config{Service: testService, ServiceVersion: testSvcVersion}, + Config{Target: testService, ServiceVersion: testSvcVersion, ProjectID: testGCEProjectID, zone: testZone, instance: testInstance}, + "", + false, + true, + }, + { + Config{Service: testService, ServiceVersion: testSvcVersion}, + Config{Target: testService, ServiceVersion: testSvcVersion, ProjectID: testGCEProjectID, zone: testZone, instance: testInstance}, + "", + true, + true, + }, + { + Config{Service: testService, ProjectID: testProjectID}, + Config{Target: testService, ProjectID: testProjectID, zone: testZone, instance: testInstance}, + "", + false, + true, + }, + { + Config{Service: testService}, + Config{Target: testService}, + "project ID must be specified in the configuration if running outside of GCP", + false, + false, + }, + } { + envService, envVersion := "", "" + if tt.onGAE { + envService, envVersion = testGAEService, testGAEVersion + } + if err := os.Setenv("GAE_SERVICE", envService); err != nil { + t.Fatal(err) + } + if err := os.Setenv("GAE_VERSION", envVersion); err != nil { + t.Fatal(err) + } + if tt.onGCE { + onGCE = func() bool { return true } + getProjectID = func() (string, error) { return testGCEProjectID, nil } + getZone = func() (string, error) { return testZone, nil } + getInstanceName = func() (string, error) { return testInstance, nil } + } else { + onGCE = func() bool { return false } + getProjectID = func() (string, error) { return "", fmt.Errorf("test get project id error") } + getZone = func() (string, error) { return "", fmt.Errorf("test get zone error") } + getInstanceName = func() (string, error) { return "", fmt.Errorf("test get instance error") } + } + + errorString := "" + if err := initializeConfig(tt.config); err != nil { + errorString = err.Error() + } + + if !strings.Contains(errorString, tt.wantErrorString) { + t.Errorf("initializeConfig(%v) got error: %v, want contain %v", tt.config, errorString, tt.wantErrorString) + } + + if tt.wantErrorString == "" { + tt.wantConfig.APIAddr = apiAddress + } + tt.wantConfig.Service = tt.config.Service + if config != tt.wantConfig { + t.Errorf("initializeConfig(%v) got: %v, want %v", tt.config, config, tt.wantConfig) + } } - config = &Config{Target: testTarget} - d, err := initializeDeployment() + for _, tt := range []struct { + wantErrorString string + getProjectIDError bool + getZoneError bool + getInstanceError bool + }{ + { + wantErrorString: "failed to get the project ID from Compute Engine:", + getProjectIDError: true, + }, + { + wantErrorString: "failed to get zone from Compute Engine:", + getZoneError: true, + }, + { + wantErrorString: "failed to get instance from Compute Engine:", + getInstanceError: true, + }, + } { + onGCE = func() bool { return true } + if tt.getProjectIDError { + getProjectID = func() (string, error) { return "", fmt.Errorf("test get project ID error") } + } else { + getProjectID = func() (string, error) { return testGCEProjectID, nil } + } + if tt.getZoneError { + getZone = func() (string, error) { return "", fmt.Errorf("test get zone error") } + } else { + getZone = func() (string, error) { return testZone, nil } + } + + if tt.getInstanceError { + getInstanceName = func() (string, error) { return "", fmt.Errorf("test get instance error") } + } else { + getInstanceName = func() (string, error) { return testInstance, nil } + } + errorString := "" + if err := initializeConfig(Config{Service: testService}); err != nil { + errorString = err.Error() + } + + if !strings.Contains(errorString, tt.wantErrorString) { + t.Errorf("initializeConfig() got error: %v, want contain %v", errorString, tt.wantErrorString) + } + } +} + +type fakeProfilerServer struct { + pb.ProfilerServiceServer + count int + gotCPUProfile []byte + gotHeapProfile []byte + done chan bool +} + +func (fs *fakeProfilerServer) CreateProfile(ctx context.Context, in *pb.CreateProfileRequest) (*pb.Profile, error) { + fs.count++ + switch fs.count { + case 1: + return &pb.Profile{Name: "testCPU", ProfileType: pb.ProfileType_CPU, Duration: ptypes.DurationProto(testProfileDuration)}, nil + case 2: + return &pb.Profile{Name: "testHeap", ProfileType: pb.ProfileType_HEAP}, nil + default: + select {} + } +} + +func (fs *fakeProfilerServer) UpdateProfile(ctx context.Context, in *pb.UpdateProfileRequest) (*pb.Profile, error) { + switch in.Profile.ProfileType { + case pb.ProfileType_CPU: + fs.gotCPUProfile = in.Profile.ProfileBytes + case pb.ProfileType_HEAP: + fs.gotHeapProfile = in.Profile.ProfileBytes + fs.done <- true + } + + return in.Profile, nil +} + +func profileeLoop(quit chan bool) { + for { + select { + case <-quit: + return + default: + profileeWork() + } + } +} + +func profileeWork() { + data := make([]byte, 1024*1024) + rand.Read(data) + + var b bytes.Buffer + gz := gzip.NewWriter(&b) + if _, err := gz.Write(data); err != nil { + log.Printf("failed to write to gzip stream", err) + return + } + if err := gz.Flush(); err != nil { + log.Printf("failed to flush to gzip stream", err) + return + } + if err := gz.Close(); err != nil { + log.Printf("failed to close gzip stream", err) + } +} + +func checkSymbolization(p *profile.Profile) error { + for _, l := range p.Location { + if len(l.Line) > 0 && l.Line[0].Function != nil && strings.Contains(l.Line[0].Function.Name, wantFunctionName) { + return nil + } + } + return fmt.Errorf("want function name %v not found in profile", wantFunctionName) +} + +func validateProfile(rawData []byte) error { + p, err := profile.ParseData(rawData) if err != nil { - t.Errorf("initializeDeployment() got error: %v, want no error", err) + return fmt.Errorf("ParseData failed: %v", err) } - want := createTestDeployment() + if len(p.Sample) == 0 { + return fmt.Errorf("profile contains zero samples: %v", p) + } - if !reflect.DeepEqual(d, want) { - t.Errorf("initializeDeployment() got wrong deployment, got: %v, want %v", d, want) + if len(p.Location) == 0 { + return fmt.Errorf("profile contains zero locations: %v", p) + } + + if len(p.Function) == 0 { + return fmt.Errorf("profile contains zero functions: %v", p) + } + + if err := checkSymbolization(p); err != nil { + return fmt.Errorf("checkSymbolization failed: %v for %v", err, p) + } + return nil +} + +func TestAgentWithServer(t *testing.T) { + oldDialGRPC, oldConfig := dialGRPC, config + defer func() { + dialGRPC, config = oldDialGRPC, oldConfig + }() + + srv, err := testutil.NewServer() + if err != nil { + t.Fatalf("testutil.NewServer(): %v", err) + } + fakeServer := &fakeProfilerServer{done: make(chan bool)} + pb.RegisterProfilerServiceServer(srv.Gsrv, fakeServer) + + srv.Start() + + dialGRPC = gtransport.DialInsecure + if err := Start(Config{ + Target: testTarget, + ProjectID: testProjectID, + APIAddr: srv.Addr, + instance: testInstance, + zone: testZone, + }); err != nil { + t.Fatalf("Start(): %v", err) + } + + quitProfilee := make(chan bool) + go profileeLoop(quitProfilee) + + select { + case <-fakeServer.done: + case <-time.After(testServerTimeout): + t.Errorf("got timeout after %v, want fake server done", testServerTimeout) + } + quitProfilee <- true + + if err := validateProfile(fakeServer.gotCPUProfile); err != nil { + t.Errorf("validateProfile(gotCPUProfile): %v", err) + } + if err := validateProfile(fakeServer.gotHeapProfile); err != nil { + t.Errorf("validateProfile(gotHeapProfile): %v", err) } } diff --git a/vendor/cloud.google.com/go/profiler/symbolizer.go b/vendor/cloud.google.com/go/profiler/symbolizer.go new file mode 100644 index 000000000..15e0b4533 --- /dev/null +++ b/vendor/cloud.google.com/go/profiler/symbolizer.go @@ -0,0 +1,143 @@ +// Copyright 2017 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package profiler + +import ( + "bytes" + "regexp" + "runtime" + "strings" + + "github.com/google/pprof/profile" +) + +var shouldAssumeSymbolized = isSymbolizedGoVersion(runtime.Version()) + +type function interface { + Name() string + FileLine(pc uintptr) (string, int) +} + +// funcForPC is a wrapper for runtime.FuncForPC. Defined as var for testing. +var funcForPC = func(pc uintptr) function { + if f := runtime.FuncForPC(pc); f != nil { + return f + } + return nil +} + +// parseAndSymbolize parses a profile from a buffer, symbolizes it +// if it's not yet symbolized, and writes the profile back as a +// gzip-compressed marshaled protobuf. +func parseAndSymbolize(data *bytes.Buffer) error { + p, err := profile.ParseData(data.Bytes()) + if err != nil { + return err + } + + // Do nothing if the profile is already symbolized. + if symbolized(p) { + return nil + } + // Clear the profile functions to avoid creating duplicates. + p.Function = nil + symbolize(p) + data.Reset() + return p.Write(data) +} + +// isSymbolizedGoVersion returns true if Go version equals to or is +// higher than Go 1.9. Starting Go 1.9 the profiles are symbolized +// by runtime/pprof. +func isSymbolizedGoVersion(goVersion string) bool { + r, err := regexp.Compile(`go(1\.9|1\.[1-9][0-9]|[2-9]).*`) + if err == nil && r.MatchString(goVersion) { + return true + } + return false +} + +// symbolized checks if all locations have symbolized function +// information. +func symbolized(p *profile.Profile) bool { + for _, l := range p.Location { + if len(l.Line) == 0 || l.Line[0].Function == nil { + return false + } + } + return true +} + +func symbolize(p *profile.Profile) { + fns := profileFunctionMap{} + for _, l := range p.Location { + pc := uintptr(l.Address) + f := funcForPC(pc) + if f == nil { + continue + } + file, lineno := f.FileLine(pc) + l.Line = []profile.Line{ + { + Function: fns.findOrAddFunction(f.Name(), file, p), + Line: int64(lineno), + }, + } + } + // Trim runtime functions. Always hide runtime.goexit. Other runtime + // functions are only hidden for heap profile when they appear at the beginning. + isHeapProfile := p.PeriodType != nil && p.PeriodType.Type == "space" + for _, s := range p.Sample { + show := !isHeapProfile + var i int + for _, l := range s.Location { + if len(l.Line) > 0 && l.Line[0].Function != nil { + name := l.Line[0].Function.Name + if name == "runtime.goexit" || !show && strings.HasPrefix(name, "runtime.") { + continue + } + } + show = true + s.Location[i] = l + i++ + } + // If all locations of a sample are trimmed, keep the root location. + if i == 0 && len(s.Location) > 0 { + s.Location[0] = s.Location[len(s.Location)-1] + i = 1 + } + s.Location = s.Location[:i] + } +} + +type profileFunctionMap map[profile.Function]*profile.Function + +func (fns profileFunctionMap) findOrAddFunction(name, filename string, p *profile.Profile) *profile.Function { + f := profile.Function{ + Name: name, + SystemName: name, + Filename: filename, + } + if fp := fns[f]; fp != nil { + return fp + } + fp := new(profile.Function) + fns[f] = fp + + *fp = f + fp.ID = uint64(len(p.Function) + 1) + p.Function = append(p.Function, fp) + return fp +} diff --git a/vendor/cloud.google.com/go/profiler/symbolizer_test.go b/vendor/cloud.google.com/go/profiler/symbolizer_test.go new file mode 100644 index 000000000..b923f8f8e --- /dev/null +++ b/vendor/cloud.google.com/go/profiler/symbolizer_test.go @@ -0,0 +1,225 @@ +// Copyright 2017 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package profiler + +import ( + "bytes" + "reflect" + "testing" + + "github.com/google/pprof/profile" +) + +type fakeFunc struct { + name string + file string + lineno int +} + +func (f *fakeFunc) Name() string { + return f.name +} +func (f *fakeFunc) FileLine(_ uintptr) (string, int) { + return f.file, f.lineno +} + +// TestRuntimeFunctionTrimming tests if symbolize trims runtime functions as intended. +func TestRuntimeFunctionTrimming(t *testing.T) { + fakeFuncMap := map[uintptr]*fakeFunc{ + 0x10: &fakeFunc{"runtime.goexit", "runtime.go", 10}, + 0x20: &fakeFunc{"runtime.other", "runtime.go", 20}, + 0x30: &fakeFunc{"foo", "foo.go", 30}, + 0x40: &fakeFunc{"bar", "bar.go", 40}, + } + backupFuncForPC := funcForPC + funcForPC = func(pc uintptr) function { + return fakeFuncMap[pc] + } + defer func() { + funcForPC = backupFuncForPC + }() + testLoc := []*profile.Location{ + {ID: 1, Address: 0x10}, + {ID: 2, Address: 0x20}, + {ID: 3, Address: 0x30}, + {ID: 4, Address: 0x40}, + } + testProfile := &profile.Profile{ + Sample: []*profile.Sample{ + {Location: []*profile.Location{testLoc[0], testLoc[1], testLoc[3], testLoc[2]}}, + {Location: []*profile.Location{testLoc[1], testLoc[3], testLoc[2]}}, + {Location: []*profile.Location{testLoc[3], testLoc[2], testLoc[1]}}, + {Location: []*profile.Location{testLoc[3], testLoc[2], testLoc[0]}}, + {Location: []*profile.Location{testLoc[0], testLoc[1], testLoc[3], testLoc[0]}}, + {Location: []*profile.Location{testLoc[1], testLoc[0]}}, + }, + Location: testLoc, + } + testProfiles := make([]*profile.Profile, 2) + testProfiles[0] = testProfile.Copy() + testProfiles[1] = testProfile.Copy() + // Test case for CPU profile. + testProfiles[0].PeriodType = &profile.ValueType{Type: "cpu", Unit: "nanoseconds"} + // Test case for heap profile. + testProfiles[1].PeriodType = &profile.ValueType{Type: "space", Unit: "bytes"} + wantFunc := []*profile.Function{ + {ID: 1, Name: "runtime.goexit", SystemName: "runtime.goexit", Filename: "runtime.go"}, + {ID: 2, Name: "runtime.other", SystemName: "runtime.other", Filename: "runtime.go"}, + {ID: 3, Name: "foo", SystemName: "foo", Filename: "foo.go"}, + {ID: 4, Name: "bar", SystemName: "bar", Filename: "bar.go"}, + } + wantLoc := []*profile.Location{ + {ID: 1, Address: 0x10, Line: []profile.Line{{Function: wantFunc[0], Line: 10}}}, + {ID: 2, Address: 0x20, Line: []profile.Line{{Function: wantFunc[1], Line: 20}}}, + {ID: 3, Address: 0x30, Line: []profile.Line{{Function: wantFunc[2], Line: 30}}}, + {ID: 4, Address: 0x40, Line: []profile.Line{{Function: wantFunc[3], Line: 40}}}, + } + wantProfiles := []*profile.Profile{ + { + PeriodType: &profile.ValueType{Type: "cpu", Unit: "nanoseconds"}, + Sample: []*profile.Sample{ + {Location: []*profile.Location{wantLoc[1], wantLoc[3], wantLoc[2]}}, + {Location: []*profile.Location{wantLoc[1], wantLoc[3], wantLoc[2]}}, + {Location: []*profile.Location{wantLoc[3], wantLoc[2], wantLoc[1]}}, + {Location: []*profile.Location{wantLoc[3], wantLoc[2]}}, + {Location: []*profile.Location{wantLoc[1], wantLoc[3]}}, + {Location: []*profile.Location{wantLoc[1]}}, + }, + Location: wantLoc, + Function: wantFunc, + }, + { + PeriodType: &profile.ValueType{Type: "space", Unit: "bytes"}, + Sample: []*profile.Sample{ + {Location: []*profile.Location{wantLoc[3], wantLoc[2]}}, + {Location: []*profile.Location{wantLoc[3], wantLoc[2]}}, + {Location: []*profile.Location{wantLoc[3], wantLoc[2], wantLoc[1]}}, + {Location: []*profile.Location{wantLoc[3], wantLoc[2]}}, + {Location: []*profile.Location{wantLoc[3]}}, + {Location: []*profile.Location{wantLoc[0]}}, + }, + Location: wantLoc, + Function: wantFunc, + }, + } + for i := 0; i < 2; i++ { + symbolize(testProfiles[i]) + if !reflect.DeepEqual(testProfiles[i], wantProfiles[i]) { + t.Errorf("incorrect trimming (testcase = %d): got {%v}, want {%v}", i, testProfiles[i], wantProfiles[i]) + } + } +} + +// TestParseAndSymbolize tests if parseAndSymbolize parses and symbolizes +// profiles as intended. +func TestParseAndSymbolize(t *testing.T) { + fakeFuncMap := map[uintptr]*fakeFunc{ + 0x10: &fakeFunc{"foo", "foo.go", 10}, + 0x20: &fakeFunc{"bar", "bar.go", 20}, + } + backupFuncForPC := funcForPC + funcForPC = func(pc uintptr) function { + return fakeFuncMap[pc] + } + defer func() { + funcForPC = backupFuncForPC + }() + + testLoc := []*profile.Location{ + {ID: 1, Address: 0x10}, + {ID: 2, Address: 0x20}, + } + testProfile := &profile.Profile{ + SampleType: []*profile.ValueType{ + &profile.ValueType{Type: "cpu", Unit: "nanoseconds"}, + }, + PeriodType: &profile.ValueType{Type: "cpu", Unit: "nanoseconds"}, + Sample: []*profile.Sample{ + {Location: []*profile.Location{testLoc[0], testLoc[1]}, Value: []int64{1}}, + {Location: []*profile.Location{testLoc[1]}, Value: []int64{1}}, + }, + Location: testLoc, + } + testProfiles := make([]*profile.Profile, 2) + testProfiles[0] = testProfile.Copy() + testProfiles[1] = testProfile.Copy() + + wantFunc := []*profile.Function{ + {ID: 1, Name: "foo", SystemName: "foo", Filename: "foo.go"}, + {ID: 2, Name: "bar", SystemName: "bar", Filename: "bar.go"}, + } + wantLoc := []*profile.Location{ + {ID: 1, Address: 0x10, Line: []profile.Line{{Function: wantFunc[0], Line: 10}}}, + {ID: 2, Address: 0x20, Line: []profile.Line{{Function: wantFunc[1], Line: 20}}}, + } + wantProfile := &profile.Profile{ + SampleType: []*profile.ValueType{ + &profile.ValueType{Type: "cpu", Unit: "nanoseconds"}, + }, + PeriodType: &profile.ValueType{Type: "cpu", Unit: "nanoseconds"}, + Sample: []*profile.Sample{ + {Location: []*profile.Location{wantLoc[0], wantLoc[1]}, Value: []int64{1}}, + {Location: []*profile.Location{wantLoc[1]}, Value: []int64{1}}, + }, + Location: wantLoc, + Function: wantFunc, + } + + // Profile already symbolized. + testProfiles[1].Location = []*profile.Location{ + {ID: 1, Address: 0x10, Line: []profile.Line{{Function: wantFunc[0], Line: 10}}}, + {ID: 2, Address: 0x20, Line: []profile.Line{{Function: wantFunc[1], Line: 20}}}, + } + testProfiles[1].Function = []*profile.Function{ + {ID: 1, Name: "foo", SystemName: "foo", Filename: "foo.go"}, + {ID: 2, Name: "bar", SystemName: "bar", Filename: "bar.go"}, + } + for i := 0; i < 2; i++ { + var prof bytes.Buffer + testProfiles[i].Write(&prof) + + parseAndSymbolize(&prof) + gotProfile, err := profile.ParseData(prof.Bytes()) + if err != nil { + t.Errorf("parsing symbolized profile (testcase = %d) got err: %v, want no error", i, err) + } + if !reflect.DeepEqual(gotProfile, wantProfile) { + t.Errorf("incorrect symbolization (testcase = %d): got {%v}, want {%v}", i, gotProfile, wantProfile) + } + } +} + +func TestIsSymbolizedGoVersion(t *testing.T) { + for _, tc := range []struct { + input string + want bool + }{ + {"go1.9beta2", true}, + {"go1.9", true}, + {"go1.9.1", true}, + {"go1.10", true}, + {"go1.10.1", true}, + {"go2.0", true}, + {"go3.1", true}, + {"go1.8", false}, + {"go1.8.1", false}, + {"go1.7", false}, + {"devel ", false}, + } { + if got := isSymbolizedGoVersion(tc.input); got != tc.want { + t.Errorf("isSymbolizedGoVersion(%v) got %v, want %v", tc.input, got, tc.want) + } + } +} diff --git a/vendor/cloud.google.com/go/pubsub/acker.go b/vendor/cloud.google.com/go/pubsub/acker.go deleted file mode 100644 index 088ed79cf..000000000 --- a/vendor/cloud.google.com/go/pubsub/acker.go +++ /dev/null @@ -1,159 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package pubsub - -import ( - "sync" - "time" - - "golang.org/x/net/context" -) - -// ackBuffer stores the pending ack IDs and notifies the Dirty channel when it becomes non-empty. -type ackBuffer struct { - Dirty chan struct{} - // Close done when ackBuffer is no longer needed. - Done chan struct{} - - mu sync.Mutex - pending []string - send bool -} - -// Add adds ackID to the buffer. -func (buf *ackBuffer) Add(ackID string) { - buf.mu.Lock() - defer buf.mu.Unlock() - buf.pending = append(buf.pending, ackID) - - // If we are transitioning into a non-empty notification state. - if buf.send && len(buf.pending) == 1 { - buf.notify() - } -} - -// RemoveAll removes all ackIDs from the buffer and returns them. -func (buf *ackBuffer) RemoveAll() []string { - buf.mu.Lock() - defer buf.mu.Unlock() - - ret := buf.pending - buf.pending = nil - return ret -} - -// SendNotifications enables sending dirty notification on empty -> non-empty transitions. -// If the buffer is already non-empty, a notification will be sent immediately. -func (buf *ackBuffer) SendNotifications() { - buf.mu.Lock() - defer buf.mu.Unlock() - - buf.send = true - // If we are transitioning into a non-empty notification state. - if len(buf.pending) > 0 { - buf.notify() - } -} - -func (buf *ackBuffer) notify() { - go func() { - select { - case buf.Dirty <- struct{}{}: - case <-buf.Done: - } - }() -} - -// acker acks messages in batches. -type acker struct { - s service - Ctx context.Context // The context to use when acknowledging messages. - Sub string // The full name of the subscription. - AckTick <-chan time.Time // AckTick supplies the frequency with which to make ack requests. - - // Notify is called with an ack ID after the message with that ack ID - // has been processed. An ackID is considered to have been processed - // if at least one attempt has been made to acknowledge it. - Notify func(string) - - ackBuffer - - wg sync.WaitGroup - done chan struct{} -} - -// Start intiates processing of ackIDs which are added via Add. -// Notify is called with each ackID once it has been processed. -func (a *acker) Start() { - a.done = make(chan struct{}) - a.ackBuffer.Dirty = make(chan struct{}) - a.ackBuffer.Done = a.done - - a.wg.Add(1) - go func() { - defer a.wg.Done() - for { - select { - case <-a.ackBuffer.Dirty: - a.ack(a.ackBuffer.RemoveAll()) - case <-a.AckTick: - a.ack(a.ackBuffer.RemoveAll()) - case <-a.done: - return - } - } - - }() -} - -// Ack adds an ack id to be acked in the next batch. -func (a *acker) Ack(ackID string) { - a.ackBuffer.Add(ackID) -} - -// FastMode switches acker into a mode which acks messages as they arrive, rather than waiting -// for a.AckTick. -func (a *acker) FastMode() { - a.ackBuffer.SendNotifications() -} - -// Stop drops all pending messages, and releases resources before returning. -func (a *acker) Stop() { - close(a.done) - a.wg.Wait() -} - -const maxAckAttempts = 2 - -// ack acknowledges the supplied ackIDs. -// After the acknowledgement request has completed (regardless of its success -// or failure), ids will be passed to a.Notify. -func (a *acker) ack(ids []string) { - head, tail := a.s.splitAckIDs(ids) - for len(head) > 0 { - for i := 0; i < maxAckAttempts; i++ { - if a.s.acknowledge(a.Ctx, a.Sub, head) == nil { - break - } - } - // NOTE: if retry gives up and returns an error, we simply drop - // those ack IDs. The messages will be redelivered and this is - // a documented behaviour of the API. - head, tail = a.s.splitAckIDs(tail) - } - for _, id := range ids { - a.Notify(id) - } -} diff --git a/vendor/cloud.google.com/go/pubsub/acker_test.go b/vendor/cloud.google.com/go/pubsub/acker_test.go deleted file mode 100644 index 9e283bafc..000000000 --- a/vendor/cloud.google.com/go/pubsub/acker_test.go +++ /dev/null @@ -1,262 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package pubsub - -import ( - "errors" - "reflect" - "sort" - "testing" - "time" - - "golang.org/x/net/context" -) - -func TestAcker(t *testing.T) { - tick := make(chan time.Time) - s := &testService{acknowledgeCalled: make(chan acknowledgeCall)} - - processed := make(chan string, 10) - acker := &acker{ - s: s, - Ctx: context.Background(), - Sub: "subname", - AckTick: tick, - Notify: func(ackID string) { processed <- ackID }, - } - acker.Start() - - checkAckProcessed := func(ackIDs []string) { - got := <-s.acknowledgeCalled - sort.Strings(got.ackIDs) - - want := acknowledgeCall{ - subName: "subname", - ackIDs: ackIDs, - } - - if !reflect.DeepEqual(got, want) { - t.Errorf("acknowledge: got:\n%v\nwant:\n%v", got, want) - } - } - - acker.Ack("a") - acker.Ack("b") - tick <- time.Time{} - checkAckProcessed([]string{"a", "b"}) - acker.Ack("c") - tick <- time.Time{} - checkAckProcessed([]string{"c"}) - acker.Stop() - - // all IDS should have been sent to processed. - close(processed) - processedIDs := []string{} - for id := range processed { - processedIDs = append(processedIDs, id) - } - sort.Strings(processedIDs) - want := []string{"a", "b", "c"} - if !reflect.DeepEqual(processedIDs, want) { - t.Errorf("acker processed: got:\n%v\nwant:\n%v", processedIDs, want) - } -} - -func TestAckerFastMode(t *testing.T) { - tick := make(chan time.Time) - s := &testService{acknowledgeCalled: make(chan acknowledgeCall)} - - processed := make(chan string, 10) - acker := &acker{ - s: s, - Ctx: context.Background(), - Sub: "subname", - AckTick: tick, - Notify: func(ackID string) { processed <- ackID }, - } - acker.Start() - - checkAckProcessed := func(ackIDs []string) { - got := <-s.acknowledgeCalled - sort.Strings(got.ackIDs) - - want := acknowledgeCall{ - subName: "subname", - ackIDs: ackIDs, - } - - if !reflect.DeepEqual(got, want) { - t.Errorf("acknowledge: got:\n%v\nwant:\n%v", got, want) - } - } - // No ticks are sent; fast mode doesn't need them. - acker.Ack("a") - acker.Ack("b") - acker.FastMode() - checkAckProcessed([]string{"a", "b"}) - acker.Ack("c") - checkAckProcessed([]string{"c"}) - acker.Stop() - - // all IDS should have been sent to processed. - close(processed) - processedIDs := []string{} - for id := range processed { - processedIDs = append(processedIDs, id) - } - sort.Strings(processedIDs) - want := []string{"a", "b", "c"} - if !reflect.DeepEqual(processedIDs, want) { - t.Errorf("acker processed: got:\n%v\nwant:\n%v", processedIDs, want) - } -} - -// TestAckerStop checks that Stop returns immediately. -func TestAckerStop(t *testing.T) { - tick := make(chan time.Time) - s := &testService{acknowledgeCalled: make(chan acknowledgeCall, 10)} - - processed := make(chan string) - acker := &acker{ - s: s, - Ctx: context.Background(), - Sub: "subname", - AckTick: tick, - Notify: func(ackID string) { processed <- ackID }, - } - - acker.Start() - - stopped := make(chan struct{}) - - acker.Ack("a") - - go func() { - acker.Stop() - stopped <- struct{}{} - }() - - // Stopped should have been written to by the time this sleep completes. - time.Sleep(time.Millisecond) - - // Receiving from processed should cause Stop to subsequently return, - // so it should never be possible to read from stopped before - // processed. - select { - case <-stopped: - case <-processed: - t.Errorf("acker.Stop processed an ack id before returning") - case <-time.After(time.Millisecond): - t.Errorf("acker.Stop never returned") - } -} - -type ackCallResult struct { - ackIDs []string - err error -} - -type ackService struct { - service - - calls []ackCallResult - - t *testing.T // used for error logging. -} - -func (as *ackService) acknowledge(ctx context.Context, subName string, ackIDs []string) error { - if len(as.calls) == 0 { - as.t.Fatalf("unexpected call to acknowledge: ackIDs: %v", ackIDs) - } - call := as.calls[0] - as.calls = as.calls[1:] - - if got, want := ackIDs, call.ackIDs; !reflect.DeepEqual(got, want) { - as.t.Errorf("unexpected arguments to acknowledge: got: %v ; want: %v", got, want) - } - return call.err -} - -// Test implementation returns the first 2 elements as head, and the rest as tail. -func (as *ackService) splitAckIDs(ids []string) ([]string, []string) { - if len(ids) < 2 { - return ids, nil - } - return ids[:2], ids[2:] -} - -func TestAckerSplitsBatches(t *testing.T) { - type testCase struct { - calls []ackCallResult - } - for _, tc := range []testCase{ - { - calls: []ackCallResult{ - { - ackIDs: []string{"a", "b"}, - }, - { - ackIDs: []string{"c", "d"}, - }, - { - ackIDs: []string{"e", "f"}, - }, - }, - }, - { - calls: []ackCallResult{ - { - ackIDs: []string{"a", "b"}, - err: errors.New("bang"), - }, - // On error we retry once. - { - ackIDs: []string{"a", "b"}, - err: errors.New("bang"), - }, - // We give up after failing twice, so we move on to the next set, "c" and "d" - { - ackIDs: []string{"c", "d"}, - err: errors.New("bang"), - }, - // Again, we retry once. - { - ackIDs: []string{"c", "d"}, - }, - { - ackIDs: []string{"e", "f"}, - }, - }, - }, - } { - s := &ackService{ - t: t, - calls: tc.calls, - } - - acker := &acker{ - s: s, - Ctx: context.Background(), - Sub: "subname", - Notify: func(string) {}, - } - - acker.ack([]string{"a", "b", "c", "d", "e", "f"}) - - if len(s.calls) != 0 { - t.Errorf("expected ack calls did not occur: %v", s.calls) - } - } -} diff --git a/vendor/cloud.google.com/go/pubsub/apiv1/doc.go b/vendor/cloud.google.com/go/pubsub/apiv1/doc.go index 6a4addcb1..c15769b7c 100644 --- a/vendor/cloud.google.com/go/pubsub/apiv1/doc.go +++ b/vendor/cloud.google.com/go/pubsub/apiv1/doc.go @@ -35,8 +35,7 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } -// DefaultAuthScopes reports the authentication scopes required -// by this package. +// DefaultAuthScopes reports the default set of authentication scopes to use with this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/vendor/cloud.google.com/go/pubsub/apiv1/mock_test.go b/vendor/cloud.google.com/go/pubsub/apiv1/mock_test.go index eddd8e5b0..01bb5fcb7 100644 --- a/vendor/cloud.google.com/go/pubsub/apiv1/mock_test.go +++ b/vendor/cloud.google.com/go/pubsub/apiv1/mock_test.go @@ -75,6 +75,18 @@ func (s *mockPublisherServer) CreateTopic(ctx context.Context, req *pubsubpb.Top return s.resps[0].(*pubsubpb.Topic), nil } +func (s *mockPublisherServer) UpdateTopic(ctx context.Context, req *pubsubpb.UpdateTopicRequest) (*pubsubpb.Topic, error) { + md, _ := metadata.FromIncomingContext(ctx) + if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { + return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) + } + s.reqs = append(s.reqs, req) + if s.err != nil { + return nil, s.err + } + return s.resps[0].(*pubsubpb.Topic), nil +} + func (s *mockPublisherServer) Publish(ctx context.Context, req *pubsubpb.PublishRequest) (*pubsubpb.PublishResponse, error) { md, _ := metadata.FromIncomingContext(ctx) if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { @@ -358,6 +370,18 @@ func (s *mockSubscriberServer) CreateSnapshot(ctx context.Context, req *pubsubpb return s.resps[0].(*pubsubpb.Snapshot), nil } +func (s *mockSubscriberServer) UpdateSnapshot(ctx context.Context, req *pubsubpb.UpdateSnapshotRequest) (*pubsubpb.Snapshot, error) { + md, _ := metadata.FromIncomingContext(ctx) + if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { + return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) + } + s.reqs = append(s.reqs, req) + if s.err != nil { + return nil, s.err + } + return s.resps[0].(*pubsubpb.Snapshot), nil +} + func (s *mockSubscriberServer) DeleteSnapshot(ctx context.Context, req *pubsubpb.DeleteSnapshotRequest) (*emptypb.Empty, error) { md, _ := metadata.FromIncomingContext(ctx) if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { @@ -474,6 +498,69 @@ func TestPublisherCreateTopicError(t *testing.T) { } _ = resp } +func TestPublisherUpdateTopic(t *testing.T) { + var name string = "name3373707" + var expectedResponse = &pubsubpb.Topic{ + Name: name, + } + + mockPublisher.err = nil + mockPublisher.reqs = nil + + mockPublisher.resps = append(mockPublisher.resps[:0], expectedResponse) + + var topic *pubsubpb.Topic = &pubsubpb.Topic{} + var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{} + var request = &pubsubpb.UpdateTopicRequest{ + Topic: topic, + UpdateMask: updateMask, + } + + c, err := NewPublisherClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.UpdateTopic(context.Background(), request) + + if err != nil { + t.Fatal(err) + } + + if want, got := request, mockPublisher.reqs[0]; !proto.Equal(want, got) { + t.Errorf("wrong request %q, want %q", got, want) + } + + if want, got := expectedResponse, resp; !proto.Equal(want, got) { + t.Errorf("wrong response %q, want %q)", got, want) + } +} + +func TestPublisherUpdateTopicError(t *testing.T) { + errCode := codes.PermissionDenied + mockPublisher.err = gstatus.Error(errCode, "test error") + + var topic *pubsubpb.Topic = &pubsubpb.Topic{} + var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{} + var request = &pubsubpb.UpdateTopicRequest{ + Topic: topic, + UpdateMask: updateMask, + } + + c, err := NewPublisherClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.UpdateTopic(context.Background(), request) + + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { + t.Errorf("got error code %q, want %q", c, errCode) + } + _ = resp +} func TestPublisherPublish(t *testing.T) { var messageIdsElement string = "messageIdsElement-744837059" var messageIds = []string{messageIdsElement} @@ -1581,6 +1668,71 @@ func TestSubscriberCreateSnapshotError(t *testing.T) { } _ = resp } +func TestSubscriberUpdateSnapshot(t *testing.T) { + var name string = "name3373707" + var topic string = "topic110546223" + var expectedResponse = &pubsubpb.Snapshot{ + Name: name, + Topic: topic, + } + + mockSubscriber.err = nil + mockSubscriber.reqs = nil + + mockSubscriber.resps = append(mockSubscriber.resps[:0], expectedResponse) + + var snapshot *pubsubpb.Snapshot = &pubsubpb.Snapshot{} + var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{} + var request = &pubsubpb.UpdateSnapshotRequest{ + Snapshot: snapshot, + UpdateMask: updateMask, + } + + c, err := NewSubscriberClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.UpdateSnapshot(context.Background(), request) + + if err != nil { + t.Fatal(err) + } + + if want, got := request, mockSubscriber.reqs[0]; !proto.Equal(want, got) { + t.Errorf("wrong request %q, want %q", got, want) + } + + if want, got := expectedResponse, resp; !proto.Equal(want, got) { + t.Errorf("wrong response %q, want %q)", got, want) + } +} + +func TestSubscriberUpdateSnapshotError(t *testing.T) { + errCode := codes.PermissionDenied + mockSubscriber.err = gstatus.Error(errCode, "test error") + + var snapshot *pubsubpb.Snapshot = &pubsubpb.Snapshot{} + var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{} + var request = &pubsubpb.UpdateSnapshotRequest{ + Snapshot: snapshot, + UpdateMask: updateMask, + } + + c, err := NewSubscriberClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.UpdateSnapshot(context.Background(), request) + + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { + t.Errorf("got error code %q, want %q", c, errCode) + } + _ = resp +} func TestSubscriberDeleteSnapshot(t *testing.T) { var expectedResponse *emptypb.Empty = &emptypb.Empty{} diff --git a/vendor/cloud.google.com/go/pubsub/apiv1/publisher_client.go b/vendor/cloud.google.com/go/pubsub/apiv1/publisher_client.go index b5bc84856..eab21d8f4 100644 --- a/vendor/cloud.google.com/go/pubsub/apiv1/publisher_client.go +++ b/vendor/cloud.google.com/go/pubsub/apiv1/publisher_client.go @@ -32,14 +32,10 @@ import ( "google.golang.org/grpc/codes" ) -var ( - publisherProjectPathTemplate = gax.MustCompilePathTemplate("projects/{project}") - publisherTopicPathTemplate = gax.MustCompilePathTemplate("projects/{project}/topics/{topic}") -) - // PublisherCallOptions contains the retry settings for each method of PublisherClient. type PublisherCallOptions struct { CreateTopic []gax.CallOption + UpdateTopic []gax.CallOption Publish []gax.CallOption GetTopic []gax.CallOption ListTopics []gax.CallOption @@ -88,6 +84,7 @@ func defaultPublisherCallOptions() *PublisherCallOptions { } return &PublisherCallOptions{ CreateTopic: retry[[2]string{"default", "idempotent"}], + UpdateTopic: retry[[2]string{"default", "idempotent"}], Publish: retry[[2]string{"messaging", "one_plus_delivery"}], GetTopic: retry[[2]string{"default", "idempotent"}], ListTopics: retry[[2]string{"default", "idempotent"}], @@ -152,25 +149,20 @@ func (c *PublisherClient) SetGoogleClientInfo(keyval ...string) { // PublisherProjectPath returns the path for the project resource. func PublisherProjectPath(project string) string { - path, err := publisherProjectPathTemplate.Render(map[string]string{ - "project": project, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "" } // PublisherTopicPath returns the path for the topic resource. func PublisherTopicPath(project, topic string) string { - path, err := publisherTopicPathTemplate.Render(map[string]string{ - "project": project, - "topic": topic, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "/topics/" + + topic + + "" } func (c *PublisherClient) SubscriptionIAM(subscription *pubsubpb.Subscription) *iam.Handle { @@ -197,9 +189,30 @@ func (c *PublisherClient) CreateTopic(ctx context.Context, req *pubsubpb.Topic, return resp, nil } -// Publish adds one or more messages to the topic. Returns `NOT_FOUND` if the topic +// UpdateTopic updates an existing topic. Note that certain properties of a topic are not +// modifiable. Options settings follow the style guide: +// NOTE: The style guide requires body: "topic" instead of body: "*". +// Keeping the latter for internal consistency in V1, however it should be +// corrected in V2. See +// https://cloud.google.com/apis/design/standard_methods#update for details. +func (c *PublisherClient) UpdateTopic(ctx context.Context, req *pubsubpb.UpdateTopicRequest, opts ...gax.CallOption) (*pubsubpb.Topic, error) { + ctx = insertXGoog(ctx, c.xGoogHeader) + opts = append(c.CallOptions.UpdateTopic[0:len(c.CallOptions.UpdateTopic):len(c.CallOptions.UpdateTopic)], opts...) + var resp *pubsubpb.Topic + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.publisherClient.UpdateTopic(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +// Publish adds one or more messages to the topic. Returns NOT_FOUND if the topic // does not exist. The message payload must not be empty; it must contain -// either a non-empty data field, or at least one attribute. +// either a non-empty data field, or at least one attribute. func (c *PublisherClient) Publish(ctx context.Context, req *pubsubpb.PublishRequest, opts ...gax.CallOption) (*pubsubpb.PublishResponse, error) { ctx = insertXGoog(ctx, c.xGoogHeader) opts = append(c.CallOptions.Publish[0:len(c.CallOptions.Publish):len(c.CallOptions.Publish)], opts...) @@ -301,11 +314,11 @@ func (c *PublisherClient) ListTopicSubscriptions(ctx context.Context, req *pubsu return it } -// DeleteTopic deletes the topic with the given name. Returns `NOT_FOUND` if the topic +// DeleteTopic deletes the topic with the given name. Returns NOT_FOUND if the topic // does not exist. After a topic is deleted, a new topic may be created with // the same name; this is an entirely new topic with none of the old // configuration or subscriptions. Existing subscriptions to this topic are -// not deleted, but their `topic` field is set to `_deleted-topic_`. +// not deleted, but their topic field is set to _deleted-topic_. func (c *PublisherClient) DeleteTopic(ctx context.Context, req *pubsubpb.DeleteTopicRequest, opts ...gax.CallOption) error { ctx = insertXGoog(ctx, c.xGoogHeader) opts = append(c.CallOptions.DeleteTopic[0:len(c.CallOptions.DeleteTopic):len(c.CallOptions.DeleteTopic)], opts...) diff --git a/vendor/cloud.google.com/go/pubsub/apiv1/publisher_client_example_test.go b/vendor/cloud.google.com/go/pubsub/apiv1/publisher_client_example_test.go index ad77ce842..996652571 100644 --- a/vendor/cloud.google.com/go/pubsub/apiv1/publisher_client_example_test.go +++ b/vendor/cloud.google.com/go/pubsub/apiv1/publisher_client_example_test.go @@ -85,6 +85,24 @@ func ExamplePublisherClient_CreateTopic() { _ = resp } +func ExamplePublisherClient_UpdateTopic() { + ctx := context.Background() + c, err := pubsub.NewPublisherClient(ctx) + if err != nil { + // TODO: Handle error. + } + + req := &pubsubpb.UpdateTopicRequest{ + // TODO: Fill request struct fields. + } + resp, err := c.UpdateTopic(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + func ExamplePublisherClient_Publish() { ctx := context.Background() c, err := pubsub.NewPublisherClient(ctx) diff --git a/vendor/cloud.google.com/go/pubsub/apiv1/subscriber_client.go b/vendor/cloud.google.com/go/pubsub/apiv1/subscriber_client.go index 29fc43936..eb6f3803a 100644 --- a/vendor/cloud.google.com/go/pubsub/apiv1/subscriber_client.go +++ b/vendor/cloud.google.com/go/pubsub/apiv1/subscriber_client.go @@ -32,13 +32,6 @@ import ( "google.golang.org/grpc/codes" ) -var ( - subscriberProjectPathTemplate = gax.MustCompilePathTemplate("projects/{project}") - subscriberSnapshotPathTemplate = gax.MustCompilePathTemplate("projects/{project}/snapshots/{snapshot}") - subscriberSubscriptionPathTemplate = gax.MustCompilePathTemplate("projects/{project}/subscriptions/{subscription}") - subscriberTopicPathTemplate = gax.MustCompilePathTemplate("projects/{project}/topics/{topic}") -) - // SubscriberCallOptions contains the retry settings for each method of SubscriberClient. type SubscriberCallOptions struct { CreateSubscription []gax.CallOption @@ -53,6 +46,7 @@ type SubscriberCallOptions struct { ModifyPushConfig []gax.CallOption ListSnapshots []gax.CallOption CreateSnapshot []gax.CallOption + UpdateSnapshot []gax.CallOption DeleteSnapshot []gax.CallOption Seek []gax.CallOption } @@ -93,6 +87,21 @@ func defaultSubscriberCallOptions() *SubscriberCallOptions { }) }), }, + {"streaming_messaging", "pull"}: { + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.Canceled, + codes.DeadlineExceeded, + codes.ResourceExhausted, + codes.Internal, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.3, + }) + }), + }, } return &SubscriberCallOptions{ CreateSubscription: retry[[2]string{"default", "idempotent"}], @@ -103,10 +112,11 @@ func defaultSubscriberCallOptions() *SubscriberCallOptions { ModifyAckDeadline: retry[[2]string{"default", "non_idempotent"}], Acknowledge: retry[[2]string{"messaging", "non_idempotent"}], Pull: retry[[2]string{"messaging", "pull"}], - StreamingPull: retry[[2]string{"messaging", "pull"}], + StreamingPull: retry[[2]string{"streaming_messaging", "pull"}], ModifyPushConfig: retry[[2]string{"default", "non_idempotent"}], ListSnapshots: retry[[2]string{"default", "idempotent"}], CreateSnapshot: retry[[2]string{"default", "idempotent"}], + UpdateSnapshot: retry[[2]string{"default", "idempotent"}], DeleteSnapshot: retry[[2]string{"default", "idempotent"}], Seek: retry[[2]string{"default", "non_idempotent"}], } @@ -130,7 +140,7 @@ type SubscriberClient struct { // NewSubscriberClient creates a new subscriber client. // // The service that an application uses to manipulate subscriptions and to -// consume messages from a subscription via the `Pull` method. +// consume messages from a subscription via the Pull method. func NewSubscriberClient(ctx context.Context, opts ...option.ClientOption) (*SubscriberClient, error) { conn, err := transport.DialGRPC(ctx, append(defaultSubscriberClientOptions(), opts...)...) if err != nil { @@ -168,49 +178,40 @@ func (c *SubscriberClient) SetGoogleClientInfo(keyval ...string) { // SubscriberProjectPath returns the path for the project resource. func SubscriberProjectPath(project string) string { - path, err := subscriberProjectPathTemplate.Render(map[string]string{ - "project": project, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "" } // SubscriberSnapshotPath returns the path for the snapshot resource. func SubscriberSnapshotPath(project, snapshot string) string { - path, err := subscriberSnapshotPathTemplate.Render(map[string]string{ - "project": project, - "snapshot": snapshot, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "/snapshots/" + + snapshot + + "" } // SubscriberSubscriptionPath returns the path for the subscription resource. func SubscriberSubscriptionPath(project, subscription string) string { - path, err := subscriberSubscriptionPathTemplate.Render(map[string]string{ - "project": project, - "subscription": subscription, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "/subscriptions/" + + subscription + + "" } // SubscriberTopicPath returns the path for the topic resource. func SubscriberTopicPath(project, topic string) string { - path, err := subscriberTopicPathTemplate.Render(map[string]string{ - "project": project, - "topic": topic, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "/topics/" + + topic + + "" } func (c *SubscriberClient) SubscriptionIAM(subscription *pubsubpb.Subscription) *iam.Handle { @@ -222,13 +223,13 @@ func (c *SubscriberClient) TopicIAM(topic *pubsubpb.Topic) *iam.Handle { } // CreateSubscription creates a subscription to a given topic. -// If the subscription already exists, returns `ALREADY_EXISTS`. -// If the corresponding topic doesn't exist, returns `NOT_FOUND`. +// If the subscription already exists, returns ALREADY_EXISTS. +// If the corresponding topic doesn't exist, returns NOT_FOUND. // // If the name is not provided in the request, the server will assign a random // name for this subscription on the same project as the topic, conforming // to the -// [resource name format](https://cloud.google.com/pubsub/docs/overview#names). +// resource name format (at https://cloud.google.com/pubsub/docs/overview#names). // The generated name is populated in the returned Subscription object. // Note that for REST API requests, you must specify a name in the request. func (c *SubscriberClient) CreateSubscription(ctx context.Context, req *pubsubpb.Subscription, opts ...gax.CallOption) (*pubsubpb.Subscription, error) { @@ -264,6 +265,10 @@ func (c *SubscriberClient) GetSubscription(ctx context.Context, req *pubsubpb.Ge // UpdateSubscription updates an existing subscription. Note that certain properties of a // subscription, such as its topic, are not modifiable. +// NOTE: The style guide requires body: "subscription" instead of body: "*". +// Keeping the latter for internal consistency in V1, however it should be +// corrected in V2. See +// https://cloud.google.com/apis/design/standard_methods#update for details. func (c *SubscriberClient) UpdateSubscription(ctx context.Context, req *pubsubpb.UpdateSubscriptionRequest, opts ...gax.CallOption) (*pubsubpb.Subscription, error) { ctx = insertXGoog(ctx, c.xGoogHeader) opts = append(c.CallOptions.UpdateSubscription[0:len(c.CallOptions.UpdateSubscription):len(c.CallOptions.UpdateSubscription)], opts...) @@ -315,8 +320,8 @@ func (c *SubscriberClient) ListSubscriptions(ctx context.Context, req *pubsubpb. } // DeleteSubscription deletes an existing subscription. All messages retained in the subscription -// are immediately dropped. Calls to `Pull` after deletion will return -// `NOT_FOUND`. After a subscription is deleted, a new one may be created with +// are immediately dropped. Calls to Pull after deletion will return +// NOT_FOUND. After a subscription is deleted, a new one may be created with // the same name, but the new one has no association with the old // subscription or its topic unless the same topic is specified. func (c *SubscriberClient) DeleteSubscription(ctx context.Context, req *pubsubpb.DeleteSubscriptionRequest, opts ...gax.CallOption) error { @@ -334,7 +339,7 @@ func (c *SubscriberClient) DeleteSubscription(ctx context.Context, req *pubsubpb // to indicate that more time is needed to process a message by the // subscriber, or to make the message available for redelivery if the // processing was interrupted. Note that this does not modify the -// subscription-level `ackDeadlineSeconds` used for subsequent messages. +// subscription-level ackDeadlineSeconds used for subsequent messages. func (c *SubscriberClient) ModifyAckDeadline(ctx context.Context, req *pubsubpb.ModifyAckDeadlineRequest, opts ...gax.CallOption) error { ctx = insertXGoog(ctx, c.xGoogHeader) opts = append(c.CallOptions.ModifyAckDeadline[0:len(c.CallOptions.ModifyAckDeadline):len(c.CallOptions.ModifyAckDeadline)], opts...) @@ -346,8 +351,8 @@ func (c *SubscriberClient) ModifyAckDeadline(ctx context.Context, req *pubsubpb. return err } -// Acknowledge acknowledges the messages associated with the `ack_ids` in the -// `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages +// Acknowledge acknowledges the messages associated with the ack_ids in the +// AcknowledgeRequest. The Pub/Sub system can remove the relevant messages // from the subscription. // // Acknowledging a message whose ack deadline has expired may succeed, @@ -365,7 +370,7 @@ func (c *SubscriberClient) Acknowledge(ctx context.Context, req *pubsubpb.Acknow } // Pull pulls messages from the server. Returns an empty list if there are no -// messages available in the backlog. The server may return `UNAVAILABLE` if +// messages available in the backlog. The server may return UNAVAILABLE if // there are too many concurrent pull requests pending for the given // subscription. func (c *SubscriberClient) Pull(ctx context.Context, req *pubsubpb.PullRequest, opts ...gax.CallOption) (*pubsubpb.PullResponse, error) { @@ -390,9 +395,9 @@ func (c *SubscriberClient) Pull(ctx context.Context, req *pubsubpb.PullRequest, // Establishes a stream with the server, which sends messages down to the // client. The client streams acknowledgements and ack deadline modifications // back to the server. The server will close the stream and return the status -// on any error. The server may close the stream with status `OK` to reassign +// on any error. The server may close the stream with status OK to reassign // server-side resources, in which case, the client should re-establish the -// stream. `UNAVAILABLE` may also be returned in the case of a transient error +// stream. UNAVAILABLE may also be returned in the case of a transient error // (e.g., a server restart). These should also be retried by the client. Flow // control can be achieved by configuring the underlying RPC channel. func (c *SubscriberClient) StreamingPull(ctx context.Context, opts ...gax.CallOption) (pubsubpb.Subscriber_StreamingPullClient, error) { @@ -410,12 +415,12 @@ func (c *SubscriberClient) StreamingPull(ctx context.Context, opts ...gax.CallOp return resp, nil } -// ModifyPushConfig modifies the `PushConfig` for a specified subscription. +// ModifyPushConfig modifies the PushConfig for a specified subscription. // // This may be used to change a push subscription to a pull one (signified by -// an empty `PushConfig`) or vice versa, or change the endpoint URL and other +// an empty PushConfig) or vice versa, or change the endpoint URL and other // attributes of a push subscription. Messages will accumulate for delivery -// continuously through the call regardless of changes to the `PushConfig`. +// continuously through the call regardless of changes to the PushConfig. func (c *SubscriberClient) ModifyPushConfig(ctx context.Context, req *pubsubpb.ModifyPushConfigRequest, opts ...gax.CallOption) error { ctx = insertXGoog(ctx, c.xGoogHeader) opts = append(c.CallOptions.ModifyPushConfig[0:len(c.CallOptions.ModifyPushConfig):len(c.CallOptions.ModifyPushConfig)], opts...) @@ -463,13 +468,13 @@ func (c *SubscriberClient) ListSnapshots(ctx context.Context, req *pubsubpb.List } // CreateSnapshot creates a snapshot from the requested subscription. -// If the snapshot already exists, returns `ALREADY_EXISTS`. -// If the requested subscription doesn't exist, returns `NOT_FOUND`. +// If the snapshot already exists, returns ALREADY_EXISTS. +// If the requested subscription doesn't exist, returns NOT_FOUND. // // If the name is not provided in the request, the server will assign a random // name for this snapshot on the same project as the subscription, conforming // to the -// [resource name format](https://cloud.google.com/pubsub/docs/overview#names). +// resource name format (at https://cloud.google.com/pubsub/docs/overview#names). // The generated name is populated in the returned Snapshot object. // Note that for REST API requests, you must specify a name in the request. func (c *SubscriberClient) CreateSnapshot(ctx context.Context, req *pubsubpb.CreateSnapshotRequest, opts ...gax.CallOption) (*pubsubpb.Snapshot, error) { @@ -487,6 +492,27 @@ func (c *SubscriberClient) CreateSnapshot(ctx context.Context, req *pubsubpb.Cre return resp, nil } +// UpdateSnapshot updates an existing snapshot. Note that certain properties of a snapshot +// are not modifiable. +// NOTE: The style guide requires body: "snapshot" instead of body: "*". +// Keeping the latter for internal consistency in V1, however it should be +// corrected in V2. See +// https://cloud.google.com/apis/design/standard_methods#update for details. +func (c *SubscriberClient) UpdateSnapshot(ctx context.Context, req *pubsubpb.UpdateSnapshotRequest, opts ...gax.CallOption) (*pubsubpb.Snapshot, error) { + ctx = insertXGoog(ctx, c.xGoogHeader) + opts = append(c.CallOptions.UpdateSnapshot[0:len(c.CallOptions.UpdateSnapshot):len(c.CallOptions.UpdateSnapshot)], opts...) + var resp *pubsubpb.Snapshot + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.subscriberClient.UpdateSnapshot(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + // DeleteSnapshot removes an existing snapshot. All messages retained in the snapshot // are immediately dropped. After a snapshot is deleted, a new one may be // created with the same name, but the new one has no association with the old diff --git a/vendor/cloud.google.com/go/pubsub/apiv1/subscriber_client_example_test.go b/vendor/cloud.google.com/go/pubsub/apiv1/subscriber_client_example_test.go index 066fca13f..cce5e743e 100644 --- a/vendor/cloud.google.com/go/pubsub/apiv1/subscriber_client_example_test.go +++ b/vendor/cloud.google.com/go/pubsub/apiv1/subscriber_client_example_test.go @@ -305,6 +305,24 @@ func ExampleSubscriberClient_CreateSnapshot() { _ = resp } +func ExampleSubscriberClient_UpdateSnapshot() { + ctx := context.Background() + c, err := pubsub.NewSubscriberClient(ctx) + if err != nil { + // TODO: Handle error. + } + + req := &pubsubpb.UpdateSnapshotRequest{ + // TODO: Fill request struct fields. + } + resp, err := c.UpdateSnapshot(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + func ExampleSubscriberClient_DeleteSnapshot() { ctx := context.Background() c, err := pubsub.NewSubscriberClient(ctx) diff --git a/vendor/cloud.google.com/go/pubsub/doc.go b/vendor/cloud.google.com/go/pubsub/doc.go index 480449587..b00f36416 100644 --- a/vendor/cloud.google.com/go/pubsub/doc.go +++ b/vendor/cloud.google.com/go/pubsub/doc.go @@ -18,7 +18,7 @@ messages, hiding the the details of the underlying server RPCs. Google Cloud Pub/Sub is a many-to-many, asynchronous messaging system that decouples senders and receivers. -Note: This package is experimental and may make backwards-incompatible changes. +Note: This package is in beta. Some backwards-incompatible changes may occur. More information about Google Cloud Pub/Sub is available at https://cloud.google.com/pubsub/docs @@ -54,7 +54,8 @@ that is published to the topic will be delivered to all of its subscriptions. Subsciptions may be created like so: - sub, err := pubsubClient.CreateSubscription(context.Background(), "sub-name", topic, 0, nil) + sub, err := pubsubClient.CreateSubscription(context.Background(), "sub-name", + pubsub.SubscriptionConfig{Topic: topic}) Messages are then consumed from a subscription via callback. diff --git a/vendor/cloud.google.com/go/pubsub/example_test.go b/vendor/cloud.google.com/go/pubsub/example_test.go index 1747080a0..4e8e1a5a2 100644 --- a/vendor/cloud.google.com/go/pubsub/example_test.go +++ b/vendor/cloud.google.com/go/pubsub/example_test.go @@ -49,6 +49,18 @@ func ExampleClient_CreateTopic() { _ = topic // TODO: use the topic. } +// Use TopicInProject to refer to a topic that is not in the client's project, such +// as a public topic. +func ExampleClient_TopicInProject() { + ctx := context.Background() + client, err := pubsub.NewClient(ctx, "project-id") + if err != nil { + // TODO: Handle error. + } + topic := client.TopicInProject("topicName", "another-project-id") + _ = topic // TODO: use the topic. +} + func ExampleClient_CreateSubscription() { ctx := context.Background() client, err := pubsub.NewClient(ctx, "project-id") diff --git a/vendor/cloud.google.com/go/pubsub/fake_test.go b/vendor/cloud.google.com/go/pubsub/fake_test.go index 76c63cbcc..693b1510a 100644 --- a/vendor/cloud.google.com/go/pubsub/fake_test.go +++ b/vendor/cloud.google.com/go/pubsub/fake_test.go @@ -76,15 +76,8 @@ func (s *fakeServer) wait() { } func (s *fakeServer) StreamingPull(stream pb.Subscriber_StreamingPullServer) error { - // Receive initial request. - _, err := stream.Recv() - if err == io.EOF { - return nil - } - if err != nil { - return err - } - // Consume and ignore subsequent requests. + s.wg.Add(1) + defer s.wg.Done() errc := make(chan error, 1) s.wg.Add(1) go func() { @@ -124,7 +117,7 @@ func (s *fakeServer) StreamingPull(stream pb.Subscriber_StreamingPullServer) err // Add a slight delay to ensure the server receives any // messages en route from the client before shutting down the stream. // This reduces flakiness of tests involving retry. - time.Sleep(100 * time.Millisecond) + time.Sleep(200 * time.Millisecond) } if pr.err == io.EOF { return nil diff --git a/vendor/cloud.google.com/go/pubsub/integration_test.go b/vendor/cloud.google.com/go/pubsub/integration_test.go index 07d11b632..13f2e4b42 100644 --- a/vendor/cloud.google.com/go/pubsub/integration_test.go +++ b/vendor/cloud.google.com/go/pubsub/integration_test.go @@ -31,6 +31,11 @@ import ( "google.golang.org/api/option" ) +var ( + topicIDs = testutil.NewUIDSpace("topic") + subIDs = testutil.NewUIDSpace("sub") +) + // messageData is used to hold the contents of a message so that it can be compared against the contents // of another message without regard to irrelevant fields. type messageData struct { @@ -47,8 +52,7 @@ func extractMessageData(m *Message) *messageData { } } -func TestAll(t *testing.T) { - t.Parallel() +func integrationTestClient(t *testing.T, ctx context.Context) *Client { if testing.Short() { t.Skip("Integration tests skipped in short mode") } @@ -56,30 +60,31 @@ func TestAll(t *testing.T) { if projID == "" { t.Skip("Integration tests skipped. See CONTRIBUTING.md for details") } - ctx := context.Background() ts := testutil.TokenSource(ctx, ScopePubSub, ScopeCloudPlatform) if ts == nil { t.Skip("Integration tests skipped. See CONTRIBUTING.md for details") } - - now := time.Now() - topicName := fmt.Sprintf("topic-%d", now.Unix()) - subName := fmt.Sprintf("subscription-%d", now.Unix()) - client, err := NewClient(ctx, projID, option.WithTokenSource(ts)) if err != nil { t.Fatalf("Creating client error: %v", err) } + return client +} + +func TestAll(t *testing.T) { + t.Parallel() + ctx := context.Background() + client := integrationTestClient(t, ctx) defer client.Close() - var topic *Topic - if topic, err = client.CreateTopic(ctx, topicName); err != nil { + topic, err := client.CreateTopic(ctx, topicIDs.New()) + if err != nil { t.Errorf("CreateTopic error: %v", err) } defer topic.Stop() var sub *Subscription - if sub, err = client.CreateSubscription(ctx, subName, SubscriptionConfig{Topic: topic}); err != nil { + if sub, err = client.CreateSubscription(ctx, subIDs.New(), SubscriptionConfig{Topic: topic}); err != nil { t.Errorf("CreateSub error: %v", err) } @@ -88,7 +93,7 @@ func TestAll(t *testing.T) { t.Fatalf("TopicExists error: %v", err) } if !exists { - t.Errorf("topic %s should exist, but it doesn't", topic) + t.Errorf("topic %v should exist, but it doesn't", topic) } exists, err = sub.Exists(ctx) @@ -96,10 +101,10 @@ func TestAll(t *testing.T) { t.Fatalf("SubExists error: %v", err) } if !exists { - t.Errorf("subscription %s should exist, but it doesn't", subName) + t.Errorf("subscription %s should exist, but it doesn't", sub.ID()) } - msgs := []*Message{} + var msgs []*Message for i := 0; i < 10; i++ { text := fmt.Sprintf("a message with an index %d", i) attrs := make(map[string]string) @@ -275,37 +280,18 @@ func testIAM(ctx context.Context, h *iam.Handle, permission string) (msg string, func TestSubscriptionUpdate(t *testing.T) { t.Parallel() ctx := context.Background() - if testing.Short() { - t.Skip("Integration tests skipped in short mode") - } - projID := testutil.ProjID() - if projID == "" { - t.Skip("Integration tests skipped. See CONTRIBUTING.md for details.") - } - ts := testutil.TokenSource(ctx, ScopePubSub, ScopeCloudPlatform) - if ts == nil { - t.Skip("Integration tests skipped. See CONTRIBUTING.md for details") - } - - now := time.Now() - topicName := fmt.Sprintf("topic-modify-%d", now.Unix()) - subName := fmt.Sprintf("subscription-modify-%d", now.Unix()) - - client, err := NewClient(ctx, projID, option.WithTokenSource(ts)) - if err != nil { - t.Fatalf("Creating client error: %v", err) - } + client := integrationTestClient(t, ctx) defer client.Close() - var topic *Topic - if topic, err = client.CreateTopic(ctx, topicName); err != nil { + topic, err := client.CreateTopic(ctx, topicIDs.New()) + if err != nil { t.Fatalf("CreateTopic error: %v", err) } defer topic.Stop() defer topic.Delete(ctx) var sub *Subscription - if sub, err = client.CreateSubscription(ctx, subName, SubscriptionConfig{Topic: topic}); err != nil { + if sub, err = client.CreateSubscription(ctx, subIDs.New(), SubscriptionConfig{Topic: topic}); err != nil { t.Fatalf("CreateSub error: %v", err) } defer sub.Delete(ctx) @@ -318,6 +304,7 @@ func TestSubscriptionUpdate(t *testing.T) { t.Fatalf("got %+v, want empty PushConfig") } // Add a PushConfig. + projID := testutil.ProjID() pc := PushConfig{ Endpoint: "https://" + projID + ".appspot.com/_ah/push-handlers/push", Attributes: map[string]string{"x-goog-version": "v1"}, @@ -349,3 +336,28 @@ func TestSubscriptionUpdate(t *testing.T) { t.Fatal("got nil, wanted error") } } + +func TestPublicTopic(t *testing.T) { + t.Parallel() + ctx := context.Background() + client := integrationTestClient(t, ctx) + defer client.Close() + + sub, err := client.CreateSubscription(ctx, subIDs.New(), SubscriptionConfig{ + Topic: client.TopicInProject("taxirides-realtime", "pubsub-public-data"), + }) + if err != nil { + t.Fatal(err) + } + defer sub.Delete(ctx) + // Confirm that Receive works. It doesn't matter if we actually get any + // messages. + ctxt, cancel := context.WithTimeout(ctx, 5*time.Second) + err = sub.Receive(ctxt, func(_ context.Context, msg *Message) { + msg.Ack() + cancel() + }) + if err != nil { + t.Fatal(err) + } +} diff --git a/vendor/cloud.google.com/go/pubsub/iterator.go b/vendor/cloud.google.com/go/pubsub/iterator.go index 1709c4093..12d1f0752 100644 --- a/vendor/cloud.google.com/go/pubsub/iterator.go +++ b/vendor/cloud.google.com/go/pubsub/iterator.go @@ -15,203 +15,21 @@ package pubsub import ( - "log" "sync" "time" "golang.org/x/net/context" - "google.golang.org/api/iterator" - "google.golang.org/api/support/bundler" pb "google.golang.org/genproto/googleapis/pubsub/v1" - "google.golang.org/grpc" - "google.golang.org/grpc/codes" ) -type messageIterator struct { - impl interface { - next() (*Message, error) - stop() - } -} - -type pollingMessageIterator struct { - // kaTicker controls how often we send an ack deadline extension request. - kaTicker *time.Ticker - // ackTicker controls how often we acknowledge a batch of messages. - ackTicker *time.Ticker - - ka *keepAlive - acker *acker - nacker *bundler.Bundler - puller *puller - - // mu ensures that cleanup only happens once, and concurrent Stop - // invocations block until cleanup completes. - mu sync.Mutex - - // closed is used to signal that Stop has been called. - closed chan struct{} -} - -var useStreamingPull = false - -// newMessageIterator starts a new messageIterator. Stop must be called on the messageIterator +// newMessageIterator starts a new streamingMessageIterator. Stop must be called on the messageIterator // when it is no longer needed. // subName is the full name of the subscription to pull messages from. // ctx is the context to use for acking messages and extending message deadlines. -func newMessageIterator(ctx context.Context, s service, subName string, po *pullOptions) *messageIterator { - if !useStreamingPull { - return &messageIterator{ - impl: newPollingMessageIterator(ctx, s, subName, po), - } - } +func newMessageIterator(ctx context.Context, s service, subName string, po *pullOptions) *streamingMessageIterator { sp := s.newStreamingPuller(ctx, subName, int32(po.ackDeadline.Seconds())) - err := sp.open() - if grpc.Code(err) == codes.Unimplemented { - log.Println("pubsub: streaming pull unimplemented; falling back to legacy pull") - return &messageIterator{ - impl: newPollingMessageIterator(ctx, s, subName, po), - } - } - // TODO(jba): handle other non-nil error? - log.Println("using streaming pull") - return &messageIterator{ - impl: newStreamingMessageIterator(ctx, sp, po), - } -} - -func newPollingMessageIterator(ctx context.Context, s service, subName string, po *pullOptions) *pollingMessageIterator { - // TODO: make kaTicker frequency more configurable. - // (ackDeadline - 5s) is a reasonable default for now, because the minimum ack period is 10s. This gives us 5s grace. - keepAlivePeriod := po.ackDeadline - 5*time.Second - kaTicker := time.NewTicker(keepAlivePeriod) // Stopped in it.Stop - - // TODO: make ackTicker more configurable. Something less than - // kaTicker is a reasonable default (there's no point extending - // messages when they could be acked instead). - ackTicker := time.NewTicker(keepAlivePeriod / 2) // Stopped in it.Stop - ka := &keepAlive{ - s: s, - Ctx: ctx, - Sub: subName, - ExtensionTick: kaTicker.C, - Deadline: po.ackDeadline, - MaxExtension: po.maxExtension, - } - - ack := &acker{ - s: s, - Ctx: ctx, - Sub: subName, - AckTick: ackTicker.C, - Notify: ka.Remove, - } - - nacker := bundler.NewBundler("", func(ackIDs interface{}) { - // NACK by setting the ack deadline to zero, to make the message - // immediately available for redelivery. - // - // If the RPC fails, nothing we can do about it. In the worst case, the - // deadline for these messages will expire and they will still get - // redelivered. - _ = s.modifyAckDeadline(ctx, subName, 0, ackIDs.([]string)) - }) - nacker.DelayThreshold = keepAlivePeriod / 10 // nack promptly - nacker.BundleCountThreshold = 10 - - pull := newPuller(s, subName, ctx, po.maxPrefetch, ka.Add, ka.Remove) - - ka.Start() - ack.Start() - return &pollingMessageIterator{ - kaTicker: kaTicker, - ackTicker: ackTicker, - ka: ka, - acker: ack, - nacker: nacker, - puller: pull, - closed: make(chan struct{}), - } -} - -// Next returns the next Message to be processed. The caller must call -// Message.Done when finished with it. -// Once Stop has been called, calls to Next will return iterator.Done. -func (it *messageIterator) Next() (*Message, error) { - return it.impl.next() -} - -func (it *pollingMessageIterator) next() (*Message, error) { - m, err := it.puller.Next() - if err == nil { - m.doneFunc = it.done - return m, nil - } - - select { - // If Stop has been called, we return Done regardless the value of err. - case <-it.closed: - return nil, iterator.Done - default: - return nil, err - } -} - -// Client code must call Stop on a messageIterator when finished with it. -// Stop will block until Done has been called on all Messages that have been -// returned by Next, or until the context with which the messageIterator was created -// is cancelled or exceeds its deadline. -// Stop need only be called once, but may be called multiple times from -// multiple goroutines. -func (it *messageIterator) Stop() { - it.impl.stop() -} - -func (it *pollingMessageIterator) stop() { - it.mu.Lock() - defer it.mu.Unlock() - - select { - case <-it.closed: - // Cleanup has already been performed. - return - default: - } - - // We close this channel before calling it.puller.Stop to ensure that we - // reliably return iterator.Done from Next. - close(it.closed) - - // Stop the puller. Once this completes, no more messages will be added - // to it.ka. - it.puller.Stop() - - // Start acking messages as they arrive, ignoring ackTicker. This will - // result in it.ka.Stop, below, returning as soon as possible. - it.acker.FastMode() - - // This will block until - // (a) it.ka.Ctx is done, or - // (b) all messages have been removed from keepAlive. - // (b) will happen once all outstanding messages have been either ACKed or NACKed. - it.ka.Stop() - - // There are no more live messages, so kill off the acker. - it.acker.Stop() - it.nacker.Flush() - it.kaTicker.Stop() - it.ackTicker.Stop() -} - -func (it *pollingMessageIterator) done(ackID string, ack bool) { - if ack { - it.acker.Ack(ackID) - // There's no need to call it.ka.Remove here, as acker will - // call it via its Notify function. - } else { - it.ka.Remove(ackID) - _ = it.nacker.Add(ackID, len(ackID)) // ignore error; this is just an optimization - } + _ = sp.open() // error stored in sp + return newStreamingMessageIterator(ctx, sp, po) } type streamingMessageIterator struct { @@ -224,7 +42,6 @@ type streamingMessageIterator struct { failed chan struct{} // closed on stream error stopped chan struct{} // closed when Stop is called drained chan struct{} // closed when stopped && no more pending messages - msgc chan *Message wg sync.WaitGroup mu sync.Mutex @@ -240,110 +57,40 @@ func newStreamingMessageIterator(ctx context.Context, sp *streamingPuller, po *p keepAlivePeriod := po.ackDeadline - 5*time.Second kaTicker := time.NewTicker(keepAlivePeriod) - // TODO: make ackTicker more configurable. Something less than - // kaTicker is a reasonable default (there's no point extending - // messages when they could be acked instead). - ackTicker := time.NewTicker(keepAlivePeriod / 2) - nackTicker := time.NewTicker(keepAlivePeriod / 10) + // Ack promptly so users don't lose work if client crashes. + ackTicker := time.NewTicker(100 * time.Millisecond) + nackTicker := time.NewTicker(100 * time.Millisecond) it := &streamingMessageIterator{ - ctx: ctx, - sp: sp, - po: po, - kaTicker: kaTicker, - ackTicker: ackTicker, - nackTicker: nackTicker, - failed: make(chan struct{}), - stopped: make(chan struct{}), - drained: make(chan struct{}), - // use maxPrefetch as the channel's buffer size. - msgc: make(chan *Message, po.maxPrefetch), + ctx: ctx, + sp: sp, + po: po, + kaTicker: kaTicker, + ackTicker: ackTicker, + nackTicker: nackTicker, + failed: make(chan struct{}), + stopped: make(chan struct{}), + drained: make(chan struct{}), keepAliveDeadlines: map[string]time.Time{}, pendingReq: &pb.StreamingPullRequest{}, } - it.wg.Add(2) - go it.receiver() + it.wg.Add(1) go it.sender() return it } -func (it *streamingMessageIterator) next() (*Message, error) { - // If ctx has been cancelled or the iterator is done, return straight - // away (even if there are buffered messages available). - select { - case <-it.ctx.Done(): - return nil, it.ctx.Err() - - case <-it.failed: - break - - case <-it.stopped: - break - - default: - // Wait for a message, but also for one of the above conditions. - select { - case msg := <-it.msgc: - // Since active select cases are chosen at random, this can return - // nil (from the channel close) even if it.failed or it.stopped is - // closed. - if msg == nil { - break - } - msg.doneFunc = it.done - return msg, nil - - case <-it.ctx.Done(): - return nil, it.ctx.Err() - - case <-it.failed: - break - - case <-it.stopped: - break - } - } - // Here if the iterator is done. - it.mu.Lock() - defer it.mu.Unlock() - return nil, it.err -} - +// Subscription.receive will call stop on its messageIterator when finished with it. +// Stop will block until Done has been called on all Messages that have been +// returned by Next, or until the context with which the messageIterator was created +// is cancelled or exceeds its deadline. func (it *streamingMessageIterator) stop() { it.mu.Lock() select { case <-it.stopped: - it.mu.Unlock() - it.wg.Wait() - return default: close(it.stopped) } - if it.err == nil { - it.err = iterator.Done - } - // Before reading from the channel, see if we're already drained. it.checkDrained() it.mu.Unlock() - // Nack all the pending messages. - // Grab the lock separately for each message to allow the receiver - // and sender goroutines to make progress. - // Why this will eventually terminate: - // - If the receiver is not blocked on a stream Recv, then - // it will write all the messages it has received to the channel, - // then exit, closing the channel. - // - If the receiver is blocked, then this loop will eventually - // nack all the messages in the channel. Once done is called - // on the remaining messages, the iterator will be marked as drained, - // which will trigger the sender to terminate. When it does, it - // performs a CloseSend on the stream, which will result in the blocked - // stream Recv returning. - for m := range it.msgc { - it.mu.Lock() - delete(it.keepAliveDeadlines, m.ackID) - it.addDeadlineMod(m.ackID, 0) - it.checkDrained() - it.mu.Unlock() - } it.wg.Wait() } @@ -398,52 +145,40 @@ func (it *streamingMessageIterator) fail(err error) { it.mu.Unlock() } -// receiver runs in a goroutine and handles all receives from the stream. -func (it *streamingMessageIterator) receiver() { - defer it.wg.Done() - defer close(it.msgc) - for { - // Stop retrieving messages if the context is done, the stream - // failed, or the iterator's Stop method was called. - select { - case <-it.ctx.Done(): - return - case <-it.failed: - return - case <-it.stopped: - return - default: - } - // Receive messages from stream. This may block indefinitely. - msgs, err := it.sp.fetchMessages() - - // The streamingPuller handles retries, so any error here - // is fatal to the iterator. - if err != nil { - it.fail(err) - return - } - // We received some messages. Remember them so we can - // keep them alive. - deadline := time.Now().Add(it.po.maxExtension) - it.mu.Lock() - for _, m := range msgs { - it.keepAliveDeadlines[m.ackID] = deadline - } - it.mu.Unlock() - // Deliver the messages to the channel. - for _, m := range msgs { - select { - case <-it.ctx.Done(): - return - case <-it.failed: - return - // Don't return if stopped. We want to send the remaining - // messages on the channel, where they will be nacked. - case it.msgc <- m: - } - } +// receive makes a call to the stream's Recv method and returns +// its messages. +func (it *streamingMessageIterator) receive() ([]*Message, error) { + // Stop retrieving messages if the context is done, the stream + // failed, or the iterator's Stop method was called. + select { + case <-it.ctx.Done(): + return nil, it.ctx.Err() + default: } + it.mu.Lock() + err := it.err + it.mu.Unlock() + if err != nil { + return nil, err + } + // Receive messages from stream. This may block indefinitely. + msgs, err := it.sp.fetchMessages() + // The streamingPuller handles retries, so any error here + // is fatal. + if err != nil { + it.fail(err) + return nil, err + } + // We received some messages. Remember them so we can + // keep them alive. + deadline := time.Now().Add(it.po.maxExtension) + it.mu.Lock() + for _, m := range msgs { + m.doneFunc = it.done + it.keepAliveDeadlines[m.ackID] = deadline + } + it.mu.Unlock() + return msgs, nil } // sender runs in a goroutine and handles all sends to the stream. @@ -522,3 +257,15 @@ func (it *streamingMessageIterator) handleKeepAlives() bool { it.checkDrained() return len(live) > 0 } + +func getKeepAliveAckIDs(items map[string]time.Time) (live, expired []string) { + now := time.Now() + for id, expiry := range items { + if expiry.Before(now) { + expired = append(expired, id) + } else { + live = append(live, id) + } + } + return live, expired +} diff --git a/vendor/cloud.google.com/go/pubsub/iterator_test.go b/vendor/cloud.google.com/go/pubsub/iterator_test.go deleted file mode 100644 index 2955eb767..000000000 --- a/vendor/cloud.google.com/go/pubsub/iterator_test.go +++ /dev/null @@ -1,338 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package pubsub - -import ( - "fmt" - "reflect" - "testing" - "time" - - "golang.org/x/net/context" - - "google.golang.org/api/iterator" -) - -func TestReturnsDoneOnStop(t *testing.T) { - if useStreamingPull { - t.Skip("iterator tests are for polling pull only") - } - type testCase struct { - abort func(*messageIterator, context.CancelFunc) - want error - } - - for _, tc := range []testCase{ - { - abort: func(it *messageIterator, cancel context.CancelFunc) { - it.Stop() - }, - want: iterator.Done, - }, - { - abort: func(it *messageIterator, cancel context.CancelFunc) { - cancel() - }, - want: context.Canceled, - }, - { - abort: func(it *messageIterator, cancel context.CancelFunc) { - it.Stop() - cancel() - }, - want: iterator.Done, - }, - { - abort: func(it *messageIterator, cancel context.CancelFunc) { - cancel() - it.Stop() - }, - want: iterator.Done, - }, - } { - s := &blockingFetch{} - ctx, cancel := context.WithCancel(context.Background()) - it := newMessageIterator(ctx, s, "subname", &pullOptions{ackDeadline: time.Second * 10, maxExtension: time.Hour}) - defer it.Stop() - tc.abort(it, cancel) - - _, err := it.Next() - if err != tc.want { - t.Errorf("iterator Next error after abort: got:\n%v\nwant:\n%v", err, tc.want) - } - } -} - -// blockingFetch implements message fetching by not returning until its context is cancelled. -type blockingFetch struct { - service -} - -func (s *blockingFetch) fetchMessages(ctx context.Context, subName string, maxMessages int32) ([]*Message, error) { - <-ctx.Done() - return nil, ctx.Err() -} - -func (s *blockingFetch) newStreamingPuller(ctx context.Context, subName string, ackDeadline int32) *streamingPuller { - return nil -} - -// justInTimeFetch simulates the situation where the iterator is aborted just after the fetch RPC -// succeeds, so the rest of puller.Next will continue to execute and return sucessfully. -type justInTimeFetch struct { - service -} - -func (s *justInTimeFetch) fetchMessages(ctx context.Context, subName string, maxMessages int32) ([]*Message, error) { - <-ctx.Done() - // The context was cancelled, but let's pretend that this happend just after our RPC returned. - - var result []*Message - for i := 0; i < int(maxMessages); i++ { - val := fmt.Sprintf("msg%v", i) - result = append(result, &Message{Data: []byte(val), ackID: val}) - } - return result, nil -} - -func (s *justInTimeFetch) splitAckIDs(ids []string) ([]string, []string) { - return nil, nil -} - -func (s *justInTimeFetch) modifyAckDeadline(ctx context.Context, subName string, deadline time.Duration, ackIDs []string) error { - return nil -} - -func (s *justInTimeFetch) newStreamingPuller(ctx context.Context, subName string, ackDeadline int32) *streamingPuller { - return nil -} - -func TestAfterAbortReturnsNoMoreThanOneMessage(t *testing.T) { - // Each test case is excercised by making two concurrent blocking calls on a - // messageIterator, and then aborting the iterator. - // The result should be one call to Next returning a message, and the other returning an error. - t.Skip(`This test has subtle timing dependencies, making it flaky. -It is not worth fixing because iterators will be removed shortly.`) - type testCase struct { - abort func(*messageIterator, context.CancelFunc) - // want is the error that should be returned from one Next invocation. - want error - } - for n := 1; n < 3; n++ { - for _, tc := range []testCase{ - { - abort: func(it *messageIterator, cancel context.CancelFunc) { - it.Stop() - }, - want: iterator.Done, - }, - { - abort: func(it *messageIterator, cancel context.CancelFunc) { - cancel() - }, - want: context.Canceled, - }, - { - abort: func(it *messageIterator, cancel context.CancelFunc) { - it.Stop() - cancel() - }, - want: iterator.Done, - }, - { - abort: func(it *messageIterator, cancel context.CancelFunc) { - cancel() - it.Stop() - }, - want: iterator.Done, - }, - } { - s := &justInTimeFetch{} - ctx, cancel := context.WithCancel(context.Background()) - - // if maxPrefetch == 1, there will be no messages in the puller buffer when Next is invoked the second time. - // if maxPrefetch == 2, there will be 1 message in the puller buffer when Next is invoked the second time. - po := &pullOptions{ - ackDeadline: time.Second * 10, - maxExtension: time.Hour, - maxPrefetch: int32(n), - } - it := newMessageIterator(ctx, s, "subname", po) - defer it.Stop() - - type result struct { - m *Message - err error - } - results := make(chan *result, 2) - - for i := 0; i < 2; i++ { - go func() { - m, err := it.Next() - results <- &result{m, err} - if err == nil { - m.Nack() - } - }() - } - // Wait for goroutines to block on it.Next(). - time.Sleep(50 * time.Millisecond) - tc.abort(it, cancel) - - result1 := <-results - result2 := <-results - - // There should be one error result, and one non-error result. - // Make result1 be the non-error result. - if result1.err != nil { - result1, result2 = result2, result1 - } - - if string(result1.m.Data) != "msg0" { - t.Errorf("After abort, got message: %v, want %v", result1.m.Data, "msg0") - } - if result1.err != nil { - t.Errorf("After abort, got : %v, want nil", result1.err) - } - if result2.m != nil { - t.Errorf("After abort, got message: %v, want nil", result2.m) - } - if result2.err != tc.want { - t.Errorf("After abort, got err: %v, want %v", result2.err, tc.want) - } - } - } -} - -type fetcherServiceWithModifyAckDeadline struct { - fetcherService - events chan string -} - -func (f *fetcherServiceWithModifyAckDeadline) modifyAckDeadline(_ context.Context, _ string, d time.Duration, ids []string) error { - // Different versions of Go use different representations for time.Duration(0). - var ds string - if d == 0 { - ds = "0s" - } else { - ds = d.String() - } - f.events <- fmt.Sprintf("modAck(%v, %s)", ids, ds) - return nil -} - -func (f *fetcherServiceWithModifyAckDeadline) splitAckIDs(ackIDs []string) ([]string, []string) { - return ackIDs, nil -} - -func (f *fetcherServiceWithModifyAckDeadline) newStreamingPuller(ctx context.Context, subName string, ackDeadline int32) *streamingPuller { - return nil -} - -func TestMultipleStopCallsBlockUntilMessageDone(t *testing.T) { - t.Skip(`This test has subtle timing dependencies, making it flaky. -It is not worth fixing because iterators will be removed shortly.`) - events := make(chan string, 3) - s := &fetcherServiceWithModifyAckDeadline{ - fetcherService{ - results: []fetchResult{ - { - msgs: []*Message{{ackID: "a"}, {ackID: "b"}}, - }, - }, - }, - events, - } - - ctx := context.Background() - it := newMessageIterator(ctx, s, "subname", &pullOptions{ackDeadline: time.Second * 10, maxExtension: 0}) - - m, err := it.Next() - if err != nil { - t.Errorf("error calling Next: %v", err) - } - - go func() { - it.Stop() - events <- "stopped" - }() - go func() { - it.Stop() - events <- "stopped" - }() - - select { - case <-events: - t.Fatal("Stop is not blocked") - case <-time.After(100 * time.Millisecond): - } - m.Nack() - - got := []string{<-events, <-events, <-events} - want := []string{"modAck([a], 0s)", "stopped", "stopped"} - if !reflect.DeepEqual(got, want) { - t.Errorf("stopping iterator, got: %v ; want: %v", got, want) - } - - // The iterator is stopped, so should not return another message. - m, err = it.Next() - if m != nil { - t.Errorf("message got: %v ; want: nil", m) - } - if err != iterator.Done { - t.Errorf("err got: %v ; want: %v", err, iterator.Done) - } -} - -func TestFastNack(t *testing.T) { - if useStreamingPull { - t.Skip("iterator tests are for polling pull only") - } - events := make(chan string, 3) - s := &fetcherServiceWithModifyAckDeadline{ - fetcherService{ - results: []fetchResult{ - { - msgs: []*Message{{ackID: "a"}, {ackID: "b"}}, - }, - }, - }, - events, - } - - ctx := context.Background() - it := newMessageIterator(ctx, s, "subname", &pullOptions{ - ackDeadline: time.Second * 6, - maxExtension: time.Second * 10, - }) - // Get both messages. - _, err := it.Next() - if err != nil { - t.Errorf("error calling Next: %v", err) - } - m2, err := it.Next() - if err != nil { - t.Errorf("error calling Next: %v", err) - } - // Ignore the first, nack the second. - m2.Nack() - - got := []string{<-events, <-events} - // The nack should happen before the deadline extension. - want := []string{"modAck([b], 0s)", "modAck([a], 6s)"} - if !reflect.DeepEqual(got, want) { - t.Errorf("got: %v ; want: %v", got, want) - } -} diff --git a/vendor/cloud.google.com/go/pubsub/keepalive.go b/vendor/cloud.google.com/go/pubsub/keepalive.go deleted file mode 100644 index f57c3831c..000000000 --- a/vendor/cloud.google.com/go/pubsub/keepalive.go +++ /dev/null @@ -1,182 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package pubsub - -import ( - "sync" - "time" - - "golang.org/x/net/context" -) - -// keepAlive keeps track of which Messages need to have their deadline extended, and -// periodically extends them. -// Messages are tracked by Ack ID. -type keepAlive struct { - s service - Ctx context.Context // The context to use when extending deadlines. - Sub string // The full name of the subscription. - ExtensionTick <-chan time.Time // ExtensionTick supplies the frequency with which to make extension requests. - Deadline time.Duration // How long to extend messages for each time they are extended. Should be greater than ExtensionTick frequency. - MaxExtension time.Duration // How long to keep extending each message's ack deadline before automatically removing it. - - mu sync.Mutex - // key: ackID; value: time at which ack deadline extension should cease. - items map[string]time.Time - dr drain - - wg sync.WaitGroup -} - -// Start initiates the deadline extension loop. Stop must be called once keepAlive is no longer needed. -func (ka *keepAlive) Start() { - ka.items = make(map[string]time.Time) - ka.dr = drain{Drained: make(chan struct{})} - ka.wg.Add(1) - go func() { - defer ka.wg.Done() - for { - select { - case <-ka.Ctx.Done(): - // Don't bother waiting for items to be removed: we can't extend them any more. - return - case <-ka.dr.Drained: - return - case <-ka.ExtensionTick: - live, expired := ka.getAckIDs() - ka.wg.Add(1) - go func() { - defer ka.wg.Done() - ka.extendDeadlines(live) - }() - - for _, id := range expired { - ka.Remove(id) - } - } - } - }() -} - -// Add adds an ack id to be kept alive. -// It should not be called after Stop. -func (ka *keepAlive) Add(ackID string) { - ka.mu.Lock() - defer ka.mu.Unlock() - - ka.items[ackID] = time.Now().Add(ka.MaxExtension) - ka.dr.SetPending(true) -} - -// Remove removes ackID from the list to be kept alive. -func (ka *keepAlive) Remove(ackID string) { - ka.mu.Lock() - defer ka.mu.Unlock() - - // Note: If users NACKs a message after it has been removed due to - // expiring, Remove will be called twice with same ack id. This is OK. - delete(ka.items, ackID) - ka.dr.SetPending(len(ka.items) != 0) -} - -// Stop waits until all added ackIDs have been removed, and cleans up resources. -// Stop may only be called once. -func (ka *keepAlive) Stop() { - ka.mu.Lock() - ka.dr.Drain() - ka.mu.Unlock() - - ka.wg.Wait() -} - -// getAckIDs returns the set of ackIDs that are being kept alive. -// The set is divided into two lists: one with IDs that should continue to be kept alive, -// and the other with IDs that should be dropped. -func (ka *keepAlive) getAckIDs() (live, expired []string) { - ka.mu.Lock() - defer ka.mu.Unlock() - return getKeepAliveAckIDs(ka.items) -} - -func getKeepAliveAckIDs(items map[string]time.Time) (live, expired []string) { - now := time.Now() - for id, expiry := range items { - if expiry.Before(now) { - expired = append(expired, id) - } else { - live = append(live, id) - } - } - return live, expired -} - -const maxExtensionAttempts = 2 - -func (ka *keepAlive) extendDeadlines(ackIDs []string) { - head, tail := ka.s.splitAckIDs(ackIDs) - for len(head) > 0 { - for i := 0; i < maxExtensionAttempts; i++ { - if ka.s.modifyAckDeadline(ka.Ctx, ka.Sub, ka.Deadline, head) == nil { - break - } - } - // NOTE: Messages whose deadlines we fail to extend will - // eventually be redelivered and this is a documented behaviour - // of the API. - // - // NOTE: If we fail to extend deadlines here, this - // implementation will continue to attempt extending the - // deadlines for those ack IDs the next time the extension - // ticker ticks. By then the deadline will have expired. - // Re-extending them is harmless, however. - // - // TODO: call Remove for ids which fail to be extended. - - head, tail = ka.s.splitAckIDs(tail) - } -} - -// A drain (once started) indicates via a channel when there is no work pending. -type drain struct { - started bool - pending bool - - // Drained is closed once there are no items outstanding if Drain has been called. - Drained chan struct{} -} - -// Drain starts the drain process. This cannot be undone. -func (d *drain) Drain() { - d.started = true - d.closeIfDrained() -} - -// SetPending sets whether there is work pending or not. It may be called multiple times before or after Drain. -func (d *drain) SetPending(pending bool) { - d.pending = pending - d.closeIfDrained() -} - -func (d *drain) closeIfDrained() { - if !d.pending && d.started { - // Check to see if d.Drained is closed before closing it. - // This allows SetPending(false) to be safely called multiple times. - select { - case <-d.Drained: - default: - close(d.Drained) - } - } -} diff --git a/vendor/cloud.google.com/go/pubsub/keepalive_test.go b/vendor/cloud.google.com/go/pubsub/keepalive_test.go deleted file mode 100644 index 0128afe64..000000000 --- a/vendor/cloud.google.com/go/pubsub/keepalive_test.go +++ /dev/null @@ -1,319 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package pubsub - -import ( - "errors" - "reflect" - "sort" - "testing" - "time" - - "golang.org/x/net/context" -) - -func TestKeepAliveExtendsDeadline(t *testing.T) { - ticker := make(chan time.Time) - deadline := time.Nanosecond * 15 - s := &testService{modDeadlineCalled: make(chan modDeadlineCall)} - - checkModDeadlineCall := func(ackIDs []string) { - got := <-s.modDeadlineCalled - sort.Strings(got.ackIDs) - - want := modDeadlineCall{ - subName: "subname", - deadline: deadline, - ackIDs: ackIDs, - } - - if !reflect.DeepEqual(got, want) { - t.Errorf("keepalive: got:\n%v\nwant:\n%v", got, want) - } - } - - ka := &keepAlive{ - s: s, - Ctx: context.Background(), - Sub: "subname", - ExtensionTick: ticker, - Deadline: deadline, - MaxExtension: time.Hour, - } - ka.Start() - - ka.Add("a") - ka.Add("b") - ticker <- time.Time{} - checkModDeadlineCall([]string{"a", "b"}) - ka.Add("c") - ka.Remove("b") - ticker <- time.Time{} - checkModDeadlineCall([]string{"a", "c"}) - ka.Remove("a") - ka.Remove("c") - ka.Add("d") - ticker <- time.Time{} - checkModDeadlineCall([]string{"d"}) - - ka.Remove("d") - ka.Stop() -} - -func TestKeepAliveStopsWhenNoItem(t *testing.T) { - ticker := make(chan time.Time) - stopped := make(chan bool) - s := &testService{modDeadlineCalled: make(chan modDeadlineCall, 3)} - ka := &keepAlive{ - s: s, - Ctx: context.Background(), - ExtensionTick: ticker, - } - - ka.Start() - - // There should be no call to modifyAckDeadline since there is no item. - ticker <- time.Time{} - - go func() { - ka.Stop() // No items; should not block - if len(s.modDeadlineCalled) > 0 { - t.Errorf("unexpected extension to non-existent items: %v", <-s.modDeadlineCalled) - } - close(stopped) - }() - - select { - case <-stopped: - case <-time.After(time.Second): - t.Errorf("keepAlive timed out waiting for stop") - } -} - -func TestKeepAliveStopsWhenItemsExpired(t *testing.T) { - ticker := make(chan time.Time) - stopped := make(chan bool) - s := &testService{modDeadlineCalled: make(chan modDeadlineCall, 2)} - ka := &keepAlive{ - s: s, - Ctx: context.Background(), - ExtensionTick: ticker, - MaxExtension: time.Duration(0), // Should expire items at the first tick. - } - - ka.Start() - ka.Add("a") - ka.Add("b") - - // Wait until the clock advances. Without this loop, this test fails on - // Windows because the clock doesn't advance at all between ka.Add and the - // expiration check after the tick is received. - begin := time.Now() - for time.Now().Equal(begin) { - time.Sleep(time.Millisecond) - } - - // There should be no call to modifyAckDeadline since both items are expired. - ticker <- time.Time{} - - go func() { - ka.Stop() // No live items; should not block. - if len(s.modDeadlineCalled) > 0 { - t.Errorf("unexpected extension to expired items") - } - close(stopped) - }() - - select { - case <-stopped: - case <-time.After(time.Second): - t.Errorf("timed out waiting for stop") - } -} - -func TestKeepAliveBlocksUntilAllItemsRemoved(t *testing.T) { - ticker := make(chan time.Time) - eventc := make(chan string, 3) - s := &testService{modDeadlineCalled: make(chan modDeadlineCall)} - ka := &keepAlive{ - s: s, - Ctx: context.Background(), - ExtensionTick: ticker, - MaxExtension: time.Hour, // Should not expire. - } - - ka.Start() - ka.Add("a") - ka.Add("b") - - go func() { - ticker <- time.Time{} - - // We expect a call since both items should be extended. - select { - case args := <-s.modDeadlineCalled: - sort.Strings(args.ackIDs) - got := args.ackIDs - want := []string{"a", "b"} - if !reflect.DeepEqual(got, want) { - t.Errorf("mismatching IDs:\ngot %v\nwant %v", got, want) - } - case <-time.After(time.Second): - t.Errorf("timed out waiting for deadline extend call") - } - - time.Sleep(10 * time.Millisecond) - - eventc <- "pre-remove-b" - // Remove one item, Stop should still be waiting. - ka.Remove("b") - - ticker <- time.Time{} - - // We expect a call since the item is still alive. - select { - case args := <-s.modDeadlineCalled: - got := args.ackIDs - want := []string{"a"} - if !reflect.DeepEqual(got, want) { - t.Errorf("mismatching IDs:\ngot %v\nwant %v", got, want) - } - case <-time.After(time.Second): - t.Errorf("timed out waiting for deadline extend call") - } - - time.Sleep(10 * time.Millisecond) - - eventc <- "pre-remove-a" - // Remove the last item so that Stop can proceed. - ka.Remove("a") - }() - - go func() { - ka.Stop() // Should block all item are removed. - eventc <- "post-stop" - }() - - for i, want := range []string{"pre-remove-b", "pre-remove-a", "post-stop"} { - select { - case got := <-eventc: - if got != want { - t.Errorf("event #%d:\ngot %v\nwant %v", i, got, want) - } - case <-time.After(time.Second): - t.Errorf("time out waiting for #%d event: want %v", i, want) - } - } -} - -// extendCallResult contains a list of ackIDs which are expected in an ackID -// extension request, along with the result that should be returned. -type extendCallResult struct { - ackIDs []string - err error -} - -// extendService implements modifyAckDeadline using a hard-coded list of extendCallResults. -type extendService struct { - service - - calls []extendCallResult - - t *testing.T // used for error logging. -} - -func (es *extendService) modifyAckDeadline(ctx context.Context, subName string, deadline time.Duration, ackIDs []string) error { - if len(es.calls) == 0 { - es.t.Fatalf("unexpected call to modifyAckDeadline: ackIDs: %v", ackIDs) - } - call := es.calls[0] - es.calls = es.calls[1:] - - if got, want := ackIDs, call.ackIDs; !reflect.DeepEqual(got, want) { - es.t.Errorf("unexpected arguments to modifyAckDeadline: got: %v ; want: %v", got, want) - } - return call.err -} - -// Test implementation returns the first 2 elements as head, and the rest as tail. -func (es *extendService) splitAckIDs(ids []string) ([]string, []string) { - if len(ids) < 2 { - return ids, nil - } - return ids[:2], ids[2:] -} - -func TestKeepAliveSplitsBatches(t *testing.T) { - type testCase struct { - calls []extendCallResult - } - for _, tc := range []testCase{ - { - calls: []extendCallResult{ - { - ackIDs: []string{"a", "b"}, - }, - { - ackIDs: []string{"c", "d"}, - }, - { - ackIDs: []string{"e", "f"}, - }, - }, - }, - { - calls: []extendCallResult{ - { - ackIDs: []string{"a", "b"}, - err: errors.New("bang"), - }, - // On error we retry once. - { - ackIDs: []string{"a", "b"}, - err: errors.New("bang"), - }, - // We give up after failing twice, so we move on to the next set, "c" and "d". - { - ackIDs: []string{"c", "d"}, - err: errors.New("bang"), - }, - // Again, we retry once. - { - ackIDs: []string{"c", "d"}, - }, - { - ackIDs: []string{"e", "f"}, - }, - }, - }, - } { - s := &extendService{ - t: t, - calls: tc.calls, - } - - ka := &keepAlive{ - s: s, - Ctx: context.Background(), - Sub: "subname", - } - - ka.extendDeadlines([]string{"a", "b", "c", "d", "e", "f"}) - - if len(s.calls) != 0 { - t.Errorf("expected extend calls did not occur: %v", s.calls) - } - } -} diff --git a/vendor/cloud.google.com/go/pubsub/loadtest/benchmark_test.go b/vendor/cloud.google.com/go/pubsub/loadtest/benchmark_test.go index 1e2bdcebf..ff695ea78 100644 --- a/vendor/cloud.google.com/go/pubsub/loadtest/benchmark_test.go +++ b/vendor/cloud.google.com/go/pubsub/loadtest/benchmark_test.go @@ -31,7 +31,7 @@ import ( "cloud.google.com/go/internal/testutil" "cloud.google.com/go/pubsub" - "google.golang.org/api/transport" + gtransport "google.golang.org/api/transport/grpc" pb "google.golang.org/genproto/googleapis/pubsub/v1" ) @@ -100,9 +100,13 @@ func perfClient(pubDelay time.Duration, nConns int, f interface { if err != nil { f.Fatal(err) } - conn, err := transport.DialGRPCInsecure(ctx, + conn, err := gtransport.DialInsecure(ctx, option.WithEndpoint(srv.Addr), - option.WithGRPCConnectionPool(nConns)) + option.WithGRPCConnectionPool(nConns), + + // TODO(grpc/grpc-go#1388) using connection pool without WithBlock + // can cause RPCs to fail randomly. We can delete this after the issue is fixed. + option.WithGRPCDialOption(grpc.WithBlock())) if err != nil { f.Fatal(err) } diff --git a/vendor/cloud.google.com/go/pubsub/loadtest/loadtest.go b/vendor/cloud.google.com/go/pubsub/loadtest/loadtest.go index d4d8f5243..19a7a6087 100644 --- a/vendor/cloud.google.com/go/pubsub/loadtest/loadtest.go +++ b/vendor/cloud.google.com/go/pubsub/loadtest/loadtest.go @@ -22,6 +22,7 @@ import ( "bytes" "errors" "log" + "runtime" "strconv" "sync" "sync/atomic" @@ -150,6 +151,7 @@ func (s *SubServer) Start(ctx context.Context, req *pb.StartRequest) (*pb.StartR // Load test API doesn't define any way to stop right now. go func() { sub := c.Subscription(req.GetPubsubOptions().Subscription) + sub.ReceiveSettings.NumGoroutines = 10 * runtime.GOMAXPROCS(0) err := sub.Receive(context.Background(), s.callback) log.Fatal(err) }() diff --git a/vendor/cloud.google.com/go/pubsub/pubsub.go b/vendor/cloud.google.com/go/pubsub/pubsub.go index b7063edd7..137d7a1ce 100644 --- a/vendor/cloud.google.com/go/pubsub/pubsub.go +++ b/vendor/cloud.google.com/go/pubsub/pubsub.go @@ -18,10 +18,12 @@ import ( "fmt" "os" "runtime" + "time" "google.golang.org/api/iterator" "google.golang.org/api/option" "google.golang.org/grpc" + "google.golang.org/grpc/keepalive" "golang.org/x/net/context" ) @@ -62,6 +64,14 @@ func NewClient(ctx context.Context, projectID string, opts ...option.ClientOptio o = []option.ClientOption{ // Create multiple connections to increase throughput. option.WithGRPCConnectionPool(runtime.GOMAXPROCS(0)), + + // TODO(grpc/grpc-go#1388) using connection pool without WithBlock + // can cause RPCs to fail randomly. We can delete this after the issue is fixed. + option.WithGRPCDialOption(grpc.WithBlock()), + + option.WithGRPCDialOption(grpc.WithKeepaliveParams(keepalive.ClientParameters{ + Time: 5 * time.Minute, + })), } } o = append(o, opts...) diff --git a/vendor/cloud.google.com/go/pubsub/puller.go b/vendor/cloud.google.com/go/pubsub/puller.go deleted file mode 100644 index f3ffa3e18..000000000 --- a/vendor/cloud.google.com/go/pubsub/puller.go +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package pubsub - -import ( - "sync" - - "golang.org/x/net/context" -) - -// puller fetches messages from the server in a batch. -type puller struct { - ctx context.Context - cancel context.CancelFunc - - // keepAlive takes ownership of the lifetime of the message identified - // by ackID, ensuring that its ack deadline does not expire. It should - // be called each time a new message is fetched from the server, even - // if it is not yet returned from Next. - keepAlive func(ackID string) - - // abandon should be called for each message which has previously been - // passed to keepAlive, but will never be returned by Next. - abandon func(ackID string) - - // fetch fetches a batch of messages from the server. - fetch func() ([]*Message, error) - - mu sync.Mutex - buf []*Message -} - -// newPuller constructs a new puller. -// batchSize is the maximum number of messages to fetch at once. -// No more than batchSize messages will be outstanding at any time. -func newPuller(s service, subName string, ctx context.Context, batchSize int32, keepAlive, abandon func(ackID string)) *puller { - ctx, cancel := context.WithCancel(ctx) - return &puller{ - cancel: cancel, - keepAlive: keepAlive, - abandon: abandon, - ctx: ctx, - fetch: func() ([]*Message, error) { return s.fetchMessages(ctx, subName, batchSize) }, - } -} - -const maxPullAttempts = 2 - -// Next returns the next message from the server, fetching a new batch if necessary. -// keepAlive is called with the ackIDs of newly fetched messages. -// If p.Ctx has already been cancelled before Next is called, no new messages -// will be fetched. -func (p *puller) Next() (*Message, error) { - p.mu.Lock() - defer p.mu.Unlock() - - // If ctx has been cancelled, return straight away (even if there are buffered messages available). - select { - case <-p.ctx.Done(): - return nil, p.ctx.Err() - default: - } - - for len(p.buf) == 0 { - var buf []*Message - var err error - - for i := 0; i < maxPullAttempts; i++ { - // Once Stop has completed, all future calls to Next will immediately fail at this point. - buf, err = p.fetch() - if err == nil || err == context.Canceled || err == context.DeadlineExceeded { - break - } - } - if err != nil { - return nil, err - } - - for _, m := range buf { - p.keepAlive(m.ackID) - } - p.buf = buf - } - - m := p.buf[0] - p.buf = p.buf[1:] - return m, nil -} - -// Stop aborts any pending calls to Next, and prevents any future ones from succeeding. -// Stop also abandons any messages that have been pre-fetched. -// Once Stop completes, no calls to Next will succeed. -func (p *puller) Stop() { - // Next may be executing in another goroutine. Cancel it, and then wait until it terminates. - p.cancel() - p.mu.Lock() - defer p.mu.Unlock() - - for _, m := range p.buf { - p.abandon(m.ackID) - } - p.buf = nil -} diff --git a/vendor/cloud.google.com/go/pubsub/puller_test.go b/vendor/cloud.google.com/go/pubsub/puller_test.go deleted file mode 100644 index 2cc9ce03e..000000000 --- a/vendor/cloud.google.com/go/pubsub/puller_test.go +++ /dev/null @@ -1,154 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package pubsub - -import ( - "errors" - "reflect" - "testing" - - "golang.org/x/net/context" -) - -type fetchResult struct { - msgs []*Message - err error -} - -type fetcherService struct { - service - results []fetchResult - unexpectedCall bool -} - -func (s *fetcherService) fetchMessages(ctx context.Context, subName string, maxMessages int32) ([]*Message, error) { - if len(s.results) == 0 { - s.unexpectedCall = true - return nil, errors.New("bang") - } - ret := s.results[0] - s.results = s.results[1:] - return ret.msgs, ret.err -} - -func TestPuller(t *testing.T) { - s := &fetcherService{ - results: []fetchResult{ - { - msgs: []*Message{{ackID: "a"}, {ackID: "b"}}, - }, - {}, - { - msgs: []*Message{{ackID: "c"}, {ackID: "d"}}, - }, - { - msgs: []*Message{{ackID: "e"}}, - }, - }, - } - - pulled := make(chan string, 10) - - pull := newPuller(s, "subname", context.Background(), 2, func(ackID string) { pulled <- ackID }, func(string) {}) - - got := []string{} - for i := 0; i < 5; i++ { - m, err := pull.Next() - got = append(got, m.ackID) - if err != nil { - t.Errorf("unexpected err from pull.Next: %v", err) - } - } - _, err := pull.Next() - if err == nil { - t.Errorf("unexpected err from pull.Next: %v", err) - } - - want := []string{"a", "b", "c", "d", "e"} - if !reflect.DeepEqual(got, want) { - t.Errorf("pulled ack ids: got: %v ; want: %v", got, want) - } -} - -func TestPullerAddsToKeepAlive(t *testing.T) { - s := &fetcherService{ - results: []fetchResult{ - { - msgs: []*Message{{ackID: "a"}, {ackID: "b"}}, - }, - { - msgs: []*Message{{ackID: "c"}, {ackID: "d"}}, - }, - }, - } - - pulled := make(chan string, 10) - - pull := newPuller(s, "subname", context.Background(), 2, func(ackID string) { pulled <- ackID }, func(string) {}) - - got := []string{} - for i := 0; i < 3; i++ { - m, err := pull.Next() - got = append(got, m.ackID) - if err != nil { - t.Errorf("unexpected err from pull.Next: %v", err) - } - } - - want := []string{"a", "b", "c"} - if !reflect.DeepEqual(got, want) { - t.Errorf("pulled ack ids: got: %v ; want: %v", got, want) - } - - close(pulled) - // We should have seen "d" written to the channel too, even though it hasn't been returned yet. - pulledIDs := []string{} - for id := range pulled { - pulledIDs = append(pulledIDs, id) - } - - want = append(want, "d") - if !reflect.DeepEqual(pulledIDs, want) { - t.Errorf("pulled ack ids: got: %v ; want: %v", pulledIDs, want) - } -} - -func TestPullerRetriesOnce(t *testing.T) { - bang := errors.New("bang") - s := &fetcherService{ - results: []fetchResult{ - { - err: bang, - }, - { - err: bang, - }, - }, - } - - pull := newPuller(s, "subname", context.Background(), 2, func(string) {}, func(string) {}) - - _, err := pull.Next() - if err != bang { - t.Errorf("pull.Next err got: %v, want: %v", err, bang) - } - - if s.unexpectedCall { - t.Errorf("unexpected retry") - } - if len(s.results) != 0 { - t.Errorf("outstanding calls: got: %v, want: 0", len(s.results)) - } -} diff --git a/vendor/cloud.google.com/go/pubsub/service.go b/vendor/cloud.google.com/go/pubsub/service.go index 05953dfa5..4d57d1be5 100644 --- a/vendor/cloud.google.com/go/pubsub/service.go +++ b/vendor/cloud.google.com/go/pubsub/service.go @@ -384,8 +384,9 @@ func (p *streamingPuller) openLocked() { return } // No opens in flight; start one. + // Keep the lock held, to avoid a race where we + // close the old stream while opening a new one. p.inFlight = true - p.c.L.Unlock() spc, err := p.subc.StreamingPull(p.ctx, gax.WithGRPCOptions(grpc.MaxCallRecvMsgSize(maxSendRecvBytes))) if err == nil { err = spc.Send(&pb.StreamingPullRequest{ @@ -393,7 +394,6 @@ func (p *streamingPuller) openLocked() { StreamAckDeadlineSeconds: p.ackDeadlineSecs, }) } - p.c.L.Lock() p.spc = spc p.err = err p.inFlight = false diff --git a/vendor/cloud.google.com/go/pubsub/streaming_pull_test.go b/vendor/cloud.google.com/go/pubsub/streaming_pull_test.go index 65f311e3f..7a09f9f18 100644 --- a/vendor/cloud.google.com/go/pubsub/streaming_pull_test.go +++ b/vendor/cloud.google.com/go/pubsub/streaming_pull_test.go @@ -58,9 +58,6 @@ func TestStreamingPullMultipleFetches(t *testing.T) { } func testStreamingPullIteration(t *testing.T, client *Client, server *fakeServer, msgs []*pb.ReceivedMessage) { - if !useStreamingPull { - t.SkipNow() - } sub := client.Subscription("s") gotMsgs, err := pullN(context.Background(), sub, len(msgs), func(_ context.Context, m *Message) { id, err := strconv.Atoi(m.ackID) @@ -116,13 +113,13 @@ func TestStreamingPullError(t *testing.T) { // If an RPC to the service returns a non-retryable error, Pull should // return after all callbacks return, without waiting for messages to be // acked. - if !useStreamingPull { - t.SkipNow() - } client, server := newFake(t) server.addStreamingPullMessages(testMessages[:1]) - server.addStreamingPullError(grpc.Errorf(codes.Internal, "")) + server.addStreamingPullError(grpc.Errorf(codes.Unknown, "")) sub := client.Subscription("s") + // Use only one goroutine, since the fake server is configured to + // return only one error. + sub.ReceiveSettings.NumGoroutines = 1 callbackDone := make(chan struct{}) ctx, _ := context.WithTimeout(context.Background(), time.Second) err := sub.Receive(ctx, func(ctx context.Context, m *Message) { @@ -137,7 +134,7 @@ func TestStreamingPullError(t *testing.T) { default: t.Fatal("Receive returned but callback was not done") } - if want := codes.Internal; grpc.Code(err) != want { + if want := codes.Unknown; grpc.Code(err) != want { t.Fatalf("got <%v>, want code %v", err, want) } } @@ -145,9 +142,6 @@ func TestStreamingPullError(t *testing.T) { func TestStreamingPullCancel(t *testing.T) { // If Receive's context is canceled, it should return after all callbacks // return and all messages have been acked. - if !useStreamingPull { - t.SkipNow() - } client, server := newFake(t) server.addStreamingPullMessages(testMessages) sub := client.Subscription("s") @@ -157,6 +151,7 @@ func TestStreamingPullCancel(t *testing.T) { atomic.AddInt32(&n, 1) defer atomic.AddInt32(&n, -1) cancel() + m.Ack() }) if got := atomic.LoadInt32(&n); got != 0 { t.Errorf("Receive returned with %d callbacks still running", got) @@ -167,9 +162,6 @@ func TestStreamingPullCancel(t *testing.T) { } func TestStreamingPullRetry(t *testing.T) { - if !useStreamingPull { - t.SkipNow() - } // Check that we retry on io.EOF or Unavailable. client, server := newFake(t) server.addStreamingPullMessages(testMessages[:1]) @@ -185,9 +177,6 @@ func TestStreamingPullRetry(t *testing.T) { func TestStreamingPullOneActive(t *testing.T) { // Only one call to Pull can be active at a time. - if !useStreamingPull { - t.SkipNow() - } client, srv := newFake(t) srv.addStreamingPullMessages(testMessages[:1]) sub := client.Subscription("s") @@ -206,9 +195,6 @@ func TestStreamingPullOneActive(t *testing.T) { } func TestStreamingPullConcurrent(t *testing.T) { - if !useStreamingPull { - t.SkipNow() - } newMsg := func(i int) *pb.ReceivedMessage { return &pb.ReceivedMessage{ AckId: strconv.Itoa(i), @@ -245,9 +231,6 @@ func TestStreamingPullConcurrent(t *testing.T) { func TestStreamingPullFlowControl(t *testing.T) { // Callback invocations should not occur if flow control limits are exceeded. - if !useStreamingPull { - t.SkipNow() - } client, server := newFake(t) server.addStreamingPullMessages(testMessages) sub := client.Subscription("s") diff --git a/vendor/cloud.google.com/go/pubsub/subscription.go b/vendor/cloud.google.com/go/pubsub/subscription.go index 6b8c3af3e..2144125da 100644 --- a/vendor/cloud.google.com/go/pubsub/subscription.go +++ b/vendor/cloud.google.com/go/pubsub/subscription.go @@ -17,7 +17,7 @@ package pubsub import ( "errors" "fmt" - "runtime" + "io" "strings" "sync" "time" @@ -25,7 +25,6 @@ import ( "cloud.google.com/go/iam" "golang.org/x/net/context" "golang.org/x/sync/errgroup" - "google.golang.org/api/iterator" "google.golang.org/grpc" "google.golang.org/grpc/codes" ) @@ -153,6 +152,12 @@ type ReceiveSettings struct { // NumGoroutines is the number of goroutines Receive will spawn to pull // messages concurrently. If NumGoroutines is less than 1, it will be treated // as if it were DefaultReceiveSettings.NumGoroutines. + // + // NumGoroutines does not limit the number of messages that can be processed + // concurrently. Even with one goroutine, many messages might be processed at + // once, because that goroutine may continually receive messages and invoke the + // function passed to Receive on them. To limit the number of messages being + // processed concurrently, set MaxOutstandingMessages. NumGoroutines int } @@ -161,7 +166,7 @@ var DefaultReceiveSettings = ReceiveSettings{ MaxExtension: 10 * time.Minute, MaxOutstandingMessages: 1000, MaxOutstandingBytes: 1e9, // 1G - NumGoroutines: 10 * runtime.GOMAXPROCS(0), + NumGoroutines: 1, } // Delete deletes the subscription. @@ -262,7 +267,7 @@ var errReceiveInProgress = errors.New("pubsub: Receive already in progress for t // // If the service returns a non-retryable error, Receive returns that error after // all of the outstanding calls to f have returned. If ctx is done, Receive -// returns either nil after all of the outstanding calls to f have returned and +// returns nil after all of the outstanding calls to f have returned and // all messages have been acknowledged or have expired. // // Receive calls f concurrently from multiple goroutines. It is encouraged to @@ -326,13 +331,13 @@ func (s *Subscription) Receive(ctx context.Context, f func(context.Context, *Mes group, gctx := errgroup.WithContext(ctx) for i := 0; i < numGoroutines; i++ { group.Go(func() error { - return s.receive(gctx, group, po, fc, f) + return s.receive(gctx, po, fc, f) }) } return group.Wait() } -func (s *Subscription) receive(ctx context.Context, group *errgroup.Group, po *pullOptions, fc *flowController, f func(context.Context, *Message)) error { +func (s *Subscription) receive(ctx context.Context, po *pullOptions, fc *flowController, f func(context.Context, *Message)) error { // Cancel a sub-context when we return, to kick the context-aware callbacks // and the goroutine below. ctx2, cancel := context.WithCancel(ctx) @@ -343,34 +348,50 @@ func (s *Subscription) receive(ctx context.Context, group *errgroup.Group, po *p // that context would immediately stop the iterator without waiting for unacked // messages. iter := newMessageIterator(context.Background(), s.s, s.name, po) - group.Go(func() error { + + // We cannot use errgroup from Receive here. Receive might already be calling group.Wait, + // and group.Wait cannot be called concurrently with group.Go. We give each receive() its + // own WaitGroup instead. + // Since wg.Add is only called from the main goroutine, wg.Wait is guaranteed + // to be called after all Adds. + var wg sync.WaitGroup + wg.Add(1) + go func() { <-ctx2.Done() - iter.Stop() - return nil - }) + iter.stop() + wg.Done() + }() + defer wg.Wait() + defer cancel() for { - msg, err := iter.Next() - if err == iterator.Done { + msgs, err := iter.receive() + if err == io.EOF { return nil } if err != nil { return err } - // TODO(jba): call acquire closer to when the message is allocated. - if err := fc.acquire(ctx, len(msg.Data)); err != nil { - // TODO(jba): test that this "orphaned" message is nacked immediately when ctx is done. - msg.Nack() - return nil + for i, msg := range msgs { + msg := msg + // TODO(jba): call acquire closer to when the message is allocated. + if err := fc.acquire(ctx, len(msg.Data)); err != nil { + // TODO(jba): test that these "orphaned" messages are nacked immediately when ctx is done. + for _, m := range msgs[i:] { + m.Nack() + } + return nil + } + wg.Add(1) + go func() { + // TODO(jba): call release when the message is available for GC. + // This considers the message to be released when + // f is finished, but f may ack early or not at all. + defer wg.Done() + defer fc.release(len(msg.Data)) + f(ctx2, msg) + }() } - group.Go(func() error { - // TODO(jba): call release when the message is available for GC. - // This considers the message to be released when - // f is finished, but f may ack early or not at all. - defer fc.release(len(msg.Data)) - f(ctx2, msg) - return nil - }) } } diff --git a/vendor/cloud.google.com/go/pubsub/topic.go b/vendor/cloud.google.com/go/pubsub/topic.go index 9e3c2afff..274f54de2 100644 --- a/vendor/cloud.google.com/go/pubsub/topic.go +++ b/vendor/cloud.google.com/go/pubsub/topic.go @@ -106,14 +106,24 @@ func (c *Client) CreateTopic(ctx context.Context, id string) (*Topic, error) { return t, err } -// Topic creates a reference to a topic. +// Topic creates a reference to a topic in the client's project. // // If a Topic's Publish method is called, it has background goroutines // associated with it. Clean them up by calling Topic.Stop. // // Avoid creating many Topic instances if you use them to publish. func (c *Client) Topic(id string) *Topic { - return newTopic(c.s, fmt.Sprintf("projects/%s/topics/%s", c.projectID, id)) + return c.TopicInProject(id, c.projectID) +} + +// TopicInProject creates a reference to a topic in the given project. +// +// If a Topic's Publish method is called, it has background goroutines +// associated with it. Clean them up by calling Topic.Stop. +// +// Avoid creating many Topic instances if you use them to publish. +func (c *Client) TopicInProject(id, projectID string) *Topic { + return newTopic(c.s, fmt.Sprintf("projects/%s/topics/%s", projectID, id)) } func newTopic(s service, name string) *Topic { diff --git a/vendor/cloud.google.com/go/run-tests.sh b/vendor/cloud.google.com/go/run-tests.sh index ac0b66a7a..f47ff50a5 100755 --- a/vendor/cloud.google.com/go/run-tests.sh +++ b/vendor/cloud.google.com/go/run-tests.sh @@ -83,4 +83,6 @@ for pkg in $(go list $prefix/...); do # for each package in the repo fi done run go test -race -v -short $shorts -run go test -race -v $fulls +if [[ $fulls != "" ]]; then + run go test -race -v $fulls +fi diff --git a/vendor/cloud.google.com/go/spanner/admin/database/apiv1/database_admin_client.go b/vendor/cloud.google.com/go/spanner/admin/database/apiv1/database_admin_client.go index 65506b633..b256ebc73 100644 --- a/vendor/cloud.google.com/go/spanner/admin/database/apiv1/database_admin_client.go +++ b/vendor/cloud.google.com/go/spanner/admin/database/apiv1/database_admin_client.go @@ -35,11 +35,6 @@ import ( "google.golang.org/grpc/codes" ) -var ( - databaseAdminInstancePathTemplate = gax.MustCompilePathTemplate("projects/{project}/instances/{instance}") - databaseAdminDatabasePathTemplate = gax.MustCompilePathTemplate("projects/{project}/instances/{instance}/databases/{database}") -) - // DatabaseAdminCallOptions contains the retry settings for each method of DatabaseAdminClient. type DatabaseAdminCallOptions struct { ListDatabases []gax.CallOption @@ -126,7 +121,7 @@ func NewDatabaseAdminClient(ctx context.Context, opts ...option.ClientOption) (* databaseAdminClient: databasepb.NewDatabaseAdminClient(conn), } - c.SetGoogleClientInfo() + c.setGoogleClientInfo() c.LROClient, err = lroauto.NewOperationsClient(ctx, option.WithGRPCConn(conn)) if err != nil { @@ -152,10 +147,10 @@ func (c *DatabaseAdminClient) Close() error { return c.conn.Close() } -// SetGoogleClientInfo sets the name and version of the application in +// setGoogleClientInfo sets the name and version of the application in // the `x-goog-api-client` header passed on each request. Intended for // use by Google-written clients. -func (c *DatabaseAdminClient) SetGoogleClientInfo(keyval ...string) { +func (c *DatabaseAdminClient) setGoogleClientInfo(keyval ...string) { kv := append([]string{"gl-go", version.Go()}, keyval...) kv = append(kv, "gapic", version.Repo, "gax", gax.Version, "grpc", grpc.Version) c.xGoogHeader = []string{gax.XGoogHeader(kv...)} @@ -163,27 +158,24 @@ func (c *DatabaseAdminClient) SetGoogleClientInfo(keyval ...string) { // DatabaseAdminInstancePath returns the path for the instance resource. func DatabaseAdminInstancePath(project, instance string) string { - path, err := databaseAdminInstancePathTemplate.Render(map[string]string{ - "project": project, - "instance": instance, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "/instances/" + + instance + + "" } // DatabaseAdminDatabasePath returns the path for the database resource. func DatabaseAdminDatabasePath(project, instance, database string) string { - path, err := databaseAdminDatabasePathTemplate.Render(map[string]string{ - "project": project, - "instance": instance, - "database": database, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "/instances/" + + instance + + "/databases/" + + database + + "" } // ListDatabases lists Cloud Spanner databases. @@ -223,7 +215,7 @@ func (c *DatabaseAdminClient) ListDatabases(ctx context.Context, req *databasepb // CreateDatabase creates a new Cloud Spanner database and starts to prepare it for serving. // The returned [long-running operation][google.longrunning.Operation] will -// have a name of the format `/operations/` and +// have a name of the format /operations/ and // can be used to track preparation of the database. The // [metadata][google.longrunning.Operation.metadata] field type is // [CreateDatabaseMetadata][google.spanner.admin.database.v1.CreateDatabaseMetadata]. The @@ -265,7 +257,7 @@ func (c *DatabaseAdminClient) GetDatabase(ctx context.Context, req *databasepb.G // UpdateDatabaseDdl updates the schema of a Cloud Spanner database by // creating/altering/dropping tables, columns, indexes, etc. The returned // [long-running operation][google.longrunning.Operation] will have a name of -// the format `/operations/` and can be used to +// the format /operations/ and can be used to // track execution of the schema change(s). The // [metadata][google.longrunning.Operation.metadata] field type is // [UpdateDatabaseDdlMetadata][google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata]. The operation has no response. @@ -319,7 +311,7 @@ func (c *DatabaseAdminClient) GetDatabaseDdl(ctx context.Context, req *databasep // SetIamPolicy sets the access control policy on a database resource. Replaces any // existing policy. // -// Authorization requires `spanner.databases.setIamPolicy` permission on +// Authorization requires spanner.databases.setIamPolicy permission on // [resource][google.iam.v1.SetIamPolicyRequest.resource]. func (c *DatabaseAdminClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { ctx = insertXGoog(ctx, c.xGoogHeader) @@ -339,7 +331,7 @@ func (c *DatabaseAdminClient) SetIamPolicy(ctx context.Context, req *iampb.SetIa // GetIamPolicy gets the access control policy for a database resource. Returns an empty // policy if a database exists but does not have a policy set. // -// Authorization requires `spanner.databases.getIamPolicy` permission on +// Authorization requires spanner.databases.getIamPolicy permission on // [resource][google.iam.v1.GetIamPolicyRequest.resource]. func (c *DatabaseAdminClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { ctx = insertXGoog(ctx, c.xGoogHeader) @@ -359,7 +351,7 @@ func (c *DatabaseAdminClient) GetIamPolicy(ctx context.Context, req *iampb.GetIa // TestIamPermissions returns permissions that the caller has on the specified database resource. // // Attempting this RPC on a non-existent Cloud Spanner database will result in -// a NOT_FOUND error if the user has `spanner.databases.list` permission on +// a NOT_FOUND error if the user has spanner.databases.list permission on // the containing Cloud Spanner instance. Otherwise returns an empty set of // permissions. func (c *DatabaseAdminClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) { @@ -437,7 +429,7 @@ func (c *DatabaseAdminClient) CreateDatabaseOperation(name string) *CreateDataba // See documentation of Poll for error-handling information. func (op *CreateDatabaseOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*databasepb.Database, error) { var resp databasepb.Database - if err := op.lro.Wait(ctx, &resp, opts...); err != nil { + if err := op.lro.WaitWithInterval(ctx, &resp, 45000*time.Millisecond, opts...); err != nil { return nil, err } return &resp, nil @@ -505,7 +497,7 @@ func (c *DatabaseAdminClient) UpdateDatabaseDdlOperation(name string) *UpdateDat // // See documentation of Poll for error-handling information. func (op *UpdateDatabaseDdlOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { - return op.lro.Wait(ctx, nil, opts...) + return op.lro.WaitWithInterval(ctx, nil, 45000*time.Millisecond, opts...) } // Poll fetches the latest state of the long-running operation. diff --git a/vendor/cloud.google.com/go/spanner/admin/database/apiv1/doc.go b/vendor/cloud.google.com/go/spanner/admin/database/apiv1/doc.go index 03ee1441d..9c56f1e6b 100644 --- a/vendor/cloud.google.com/go/spanner/admin/database/apiv1/doc.go +++ b/vendor/cloud.google.com/go/spanner/admin/database/apiv1/doc.go @@ -31,8 +31,7 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } -// DefaultAuthScopes reports the authentication scopes required -// by this package. +// DefaultAuthScopes reports the default set of authentication scopes to use with this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/vendor/cloud.google.com/go/spanner/admin/instance/apiv1/doc.go b/vendor/cloud.google.com/go/spanner/admin/instance/apiv1/doc.go index dd4ea6841..332b69506 100644 --- a/vendor/cloud.google.com/go/spanner/admin/instance/apiv1/doc.go +++ b/vendor/cloud.google.com/go/spanner/admin/instance/apiv1/doc.go @@ -31,8 +31,7 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } -// DefaultAuthScopes reports the authentication scopes required -// by this package. +// DefaultAuthScopes reports the default set of authentication scopes to use with this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/vendor/cloud.google.com/go/spanner/admin/instance/apiv1/instance_admin_client.go b/vendor/cloud.google.com/go/spanner/admin/instance/apiv1/instance_admin_client.go index 281433d28..125fc3565 100644 --- a/vendor/cloud.google.com/go/spanner/admin/instance/apiv1/instance_admin_client.go +++ b/vendor/cloud.google.com/go/spanner/admin/instance/apiv1/instance_admin_client.go @@ -35,12 +35,6 @@ import ( "google.golang.org/grpc/codes" ) -var ( - instanceAdminProjectPathTemplate = gax.MustCompilePathTemplate("projects/{project}") - instanceAdminInstanceConfigPathTemplate = gax.MustCompilePathTemplate("projects/{project}/instanceConfigs/{instance_config}") - instanceAdminInstancePathTemplate = gax.MustCompilePathTemplate("projects/{project}/instances/{instance}") -) - // InstanceAdminCallOptions contains the retry settings for each method of InstanceAdminClient. type InstanceAdminCallOptions struct { ListInstanceConfigs []gax.CallOption @@ -145,7 +139,7 @@ func NewInstanceAdminClient(ctx context.Context, opts ...option.ClientOption) (* instanceAdminClient: instancepb.NewInstanceAdminClient(conn), } - c.SetGoogleClientInfo() + c.setGoogleClientInfo() c.LROClient, err = lroauto.NewOperationsClient(ctx, option.WithGRPCConn(conn)) if err != nil { @@ -171,10 +165,10 @@ func (c *InstanceAdminClient) Close() error { return c.conn.Close() } -// SetGoogleClientInfo sets the name and version of the application in +// setGoogleClientInfo sets the name and version of the application in // the `x-goog-api-client` header passed on each request. Intended for // use by Google-written clients. -func (c *InstanceAdminClient) SetGoogleClientInfo(keyval ...string) { +func (c *InstanceAdminClient) setGoogleClientInfo(keyval ...string) { kv := append([]string{"gl-go", version.Go()}, keyval...) kv = append(kv, "gapic", version.Repo, "gax", gax.Version, "grpc", grpc.Version) c.xGoogHeader = []string{gax.XGoogHeader(kv...)} @@ -182,37 +176,30 @@ func (c *InstanceAdminClient) SetGoogleClientInfo(keyval ...string) { // InstanceAdminProjectPath returns the path for the project resource. func InstanceAdminProjectPath(project string) string { - path, err := instanceAdminProjectPathTemplate.Render(map[string]string{ - "project": project, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "" } // InstanceAdminInstanceConfigPath returns the path for the instance config resource. func InstanceAdminInstanceConfigPath(project, instanceConfig string) string { - path, err := instanceAdminInstanceConfigPathTemplate.Render(map[string]string{ - "project": project, - "instance_config": instanceConfig, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "/instanceConfigs/" + + instanceConfig + + "" } // InstanceAdminInstancePath returns the path for the instance resource. func InstanceAdminInstancePath(project, instance string) string { - path, err := instanceAdminInstancePathTemplate.Render(map[string]string{ - "project": project, - "instance": instance, - }) - if err != nil { - panic(err) - } - return path + return "" + + "projects/" + + project + + "/instances/" + + instance + + "" } // ListInstanceConfigs lists the supported instance configurations for a given project. @@ -321,31 +308,36 @@ func (c *InstanceAdminClient) GetInstance(ctx context.Context, req *instancepb.G // returned [long-running operation][google.longrunning.Operation] // can be used to track the progress of preparing the new // instance. The instance name is assigned by the caller. If the -// named instance already exists, `CreateInstance` returns -// `ALREADY_EXISTS`. +// named instance already exists, CreateInstance returns +// ALREADY_EXISTS. // // Immediately upon completion of this request: // -// * The instance is readable via the API, with all requested attributes -// but no allocated resources. Its state is `CREATING`. +// The instance is readable via the API, with all requested attributes +// but no allocated resources. Its state is CREATING. // // Until completion of the returned operation: // -// * Cancelling the operation renders the instance immediately unreadable -// via the API. -// * The instance can be deleted. -// * All other attempts to modify the instance are rejected. +// Cancelling the operation renders the instance immediately unreadable +// via the API. +// +// The instance can be deleted. +// +// All other attempts to modify the instance are rejected. // // Upon completion of the returned operation: // -// * Billing for all successfully-allocated resources begins (some types -// may have lower than the requested levels). -// * Databases can be created in the instance. -// * The instance's allocated resource levels are readable via the API. -// * The instance's state becomes `READY`. +// Billing for all successfully-allocated resources begins (some types +// may have lower than the requested levels). +// +// Databases can be created in the instance. +// +// The instance's allocated resource levels are readable via the API. +// +// The instance's state becomes READY. // // The returned [long-running operation][google.longrunning.Operation] will -// have a name of the format `/operations/` and +// have a name of the format /operations/ and // can be used to track creation of the instance. The // [metadata][google.longrunning.Operation.metadata] field type is // [CreateInstanceMetadata][google.spanner.admin.instance.v1.CreateInstanceMetadata]. @@ -372,41 +364,45 @@ func (c *InstanceAdminClient) CreateInstance(ctx context.Context, req *instancep // as requested. The returned [long-running // operation][google.longrunning.Operation] can be used to track the // progress of updating the instance. If the named instance does not -// exist, returns `NOT_FOUND`. +// exist, returns NOT_FOUND. // // Immediately upon completion of this request: // -// * For resource types for which a decrease in the instance's allocation -// has been requested, billing is based on the newly-requested level. +// For resource types for which a decrease in the instance's allocation +// has been requested, billing is based on the newly-requested level. // // Until completion of the returned operation: // -// * Cancelling the operation sets its metadata's -// [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceMetadata.cancel_time], and begins -// restoring resources to their pre-request values. The operation -// is guaranteed to succeed at undoing all resource changes, -// after which point it terminates with a `CANCELLED` status. -// * All other attempts to modify the instance are rejected. -// * Reading the instance via the API continues to give the pre-request -// resource levels. +// Cancelling the operation sets its metadata's +// [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceMetadata.cancel_time], and begins +// restoring resources to their pre-request values. The operation +// is guaranteed to succeed at undoing all resource changes, +// after which point it terminates with a CANCELLED status. +// +// All other attempts to modify the instance are rejected. +// +// Reading the instance via the API continues to give the pre-request +// resource levels. // // Upon completion of the returned operation: // -// * Billing begins for all successfully-allocated resources (some types -// may have lower than the requested levels). -// * All newly-reserved resources are available for serving the instance's -// tables. -// * The instance's new resource levels are readable via the API. +// Billing begins for all successfully-allocated resources (some types +// may have lower than the requested levels). +// +// All newly-reserved resources are available for serving the instance's +// tables. +// +// The instance's new resource levels are readable via the API. // // The returned [long-running operation][google.longrunning.Operation] will -// have a name of the format `/operations/` and +// have a name of the format /operations/ and // can be used to track the instance modification. The // [metadata][google.longrunning.Operation.metadata] field type is // [UpdateInstanceMetadata][google.spanner.admin.instance.v1.UpdateInstanceMetadata]. // The [response][google.longrunning.Operation.response] field type is // [Instance][google.spanner.admin.instance.v1.Instance], if successful. // -// Authorization requires `spanner.instances.update` permission on +// Authorization requires spanner.instances.update permission on // resource [name][google.spanner.admin.instance.v1.Instance.name]. func (c *InstanceAdminClient) UpdateInstance(ctx context.Context, req *instancepb.UpdateInstanceRequest, opts ...gax.CallOption) (*UpdateInstanceOperation, error) { ctx = insertXGoog(ctx, c.xGoogHeader) @@ -429,13 +425,13 @@ func (c *InstanceAdminClient) UpdateInstance(ctx context.Context, req *instancep // // Immediately upon completion of the request: // -// * Billing ceases for all of the instance's reserved resources. +// Billing ceases for all of the instance's reserved resources. // // Soon afterward: // -// * The instance and *all of its databases* immediately and -// irrevocably disappear from the API. All data in the databases -// is permanently deleted. +// The instance and all of its databases immediately and +// irrevocably disappear from the API. All data in the databases +// is permanently deleted. func (c *InstanceAdminClient) DeleteInstance(ctx context.Context, req *instancepb.DeleteInstanceRequest, opts ...gax.CallOption) error { ctx = insertXGoog(ctx, c.xGoogHeader) opts = append(c.CallOptions.DeleteInstance[0:len(c.CallOptions.DeleteInstance):len(c.CallOptions.DeleteInstance)], opts...) @@ -450,7 +446,7 @@ func (c *InstanceAdminClient) DeleteInstance(ctx context.Context, req *instancep // SetIamPolicy sets the access control policy on an instance resource. Replaces any // existing policy. // -// Authorization requires `spanner.instances.setIamPolicy` on +// Authorization requires spanner.instances.setIamPolicy on // [resource][google.iam.v1.SetIamPolicyRequest.resource]. func (c *InstanceAdminClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { ctx = insertXGoog(ctx, c.xGoogHeader) @@ -470,7 +466,7 @@ func (c *InstanceAdminClient) SetIamPolicy(ctx context.Context, req *iampb.SetIa // GetIamPolicy gets the access control policy for an instance resource. Returns an empty // policy if an instance exists but does not have a policy set. // -// Authorization requires `spanner.instances.getIamPolicy` on +// Authorization requires spanner.instances.getIamPolicy on // [resource][google.iam.v1.GetIamPolicyRequest.resource]. func (c *InstanceAdminClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { ctx = insertXGoog(ctx, c.xGoogHeader) @@ -490,7 +486,7 @@ func (c *InstanceAdminClient) GetIamPolicy(ctx context.Context, req *iampb.GetIa // TestIamPermissions returns permissions that the caller has on the specified instance resource. // // Attempting this RPC on a non-existent Cloud Spanner instance resource will -// result in a NOT_FOUND error if the user has `spanner.instances.list` +// result in a NOT_FOUND error if the user has spanner.instances.list // permission on the containing Google Cloud Project. Otherwise returns an // empty set of permissions. func (c *InstanceAdminClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) { @@ -610,7 +606,7 @@ func (c *InstanceAdminClient) CreateInstanceOperation(name string) *CreateInstan // See documentation of Poll for error-handling information. func (op *CreateInstanceOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*instancepb.Instance, error) { var resp instancepb.Instance - if err := op.lro.Wait(ctx, &resp, opts...); err != nil { + if err := op.lro.WaitWithInterval(ctx, &resp, 45000*time.Millisecond, opts...); err != nil { return nil, err } return &resp, nil @@ -679,7 +675,7 @@ func (c *InstanceAdminClient) UpdateInstanceOperation(name string) *UpdateInstan // See documentation of Poll for error-handling information. func (op *UpdateInstanceOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*instancepb.Instance, error) { var resp instancepb.Instance - if err := op.lro.Wait(ctx, &resp, opts...); err != nil { + if err := op.lro.WaitWithInterval(ctx, &resp, 45000*time.Millisecond, opts...); err != nil { return nil, err } return &resp, nil diff --git a/vendor/cloud.google.com/go/spanner/apiv1/doc.go b/vendor/cloud.google.com/go/spanner/apiv1/doc.go new file mode 100644 index 000000000..d6bf75402 --- /dev/null +++ b/vendor/cloud.google.com/go/spanner/apiv1/doc.go @@ -0,0 +1,44 @@ +// Copyright 2017, Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// AUTO-GENERATED CODE. DO NOT EDIT. + +// Package spanner is an experimental, auto-generated package for the +// Cloud Spanner API. +// +// Cloud Spanner is a managed, mission-critical, globally consistent and +// scalable relational database service. +// +// Use the client at cloud.google.com/go/spanner in preference to this. +package spanner // import "cloud.google.com/go/spanner/apiv1" + +import ( + "golang.org/x/net/context" + "google.golang.org/grpc/metadata" +) + +func insertXGoog(ctx context.Context, val []string) context.Context { + md, _ := metadata.FromOutgoingContext(ctx) + md = md.Copy() + md["x-goog-api-client"] = val + return metadata.NewOutgoingContext(ctx, md) +} + +// DefaultAuthScopes reports the default set of authentication scopes to use with this package. +func DefaultAuthScopes() []string { + return []string{ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.data", + } +} diff --git a/vendor/cloud.google.com/go/spanner/apiv1/mock_test.go b/vendor/cloud.google.com/go/spanner/apiv1/mock_test.go new file mode 100644 index 000000000..dd8a546a7 --- /dev/null +++ b/vendor/cloud.google.com/go/spanner/apiv1/mock_test.go @@ -0,0 +1,853 @@ +// Copyright 2017, Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// AUTO-GENERATED CODE. DO NOT EDIT. + +package spanner + +import ( + emptypb "github.com/golang/protobuf/ptypes/empty" + spannerpb "google.golang.org/genproto/googleapis/spanner/v1" +) + +import ( + "flag" + "fmt" + "io" + "log" + "net" + "os" + "strings" + "testing" + + "github.com/golang/protobuf/proto" + "github.com/golang/protobuf/ptypes" + "golang.org/x/net/context" + "google.golang.org/api/option" + status "google.golang.org/genproto/googleapis/rpc/status" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/metadata" + gstatus "google.golang.org/grpc/status" +) + +var _ = io.EOF +var _ = ptypes.MarshalAny +var _ status.Status + +type mockSpannerServer struct { + // Embed for forward compatibility. + // Tests will keep working if more methods are added + // in the future. + spannerpb.SpannerServer + + reqs []proto.Message + + // If set, all calls return this error. + err error + + // responses to return if err == nil + resps []proto.Message +} + +func (s *mockSpannerServer) CreateSession(ctx context.Context, req *spannerpb.CreateSessionRequest) (*spannerpb.Session, error) { + md, _ := metadata.FromIncomingContext(ctx) + if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { + return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) + } + s.reqs = append(s.reqs, req) + if s.err != nil { + return nil, s.err + } + return s.resps[0].(*spannerpb.Session), nil +} + +func (s *mockSpannerServer) GetSession(ctx context.Context, req *spannerpb.GetSessionRequest) (*spannerpb.Session, error) { + md, _ := metadata.FromIncomingContext(ctx) + if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { + return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) + } + s.reqs = append(s.reqs, req) + if s.err != nil { + return nil, s.err + } + return s.resps[0].(*spannerpb.Session), nil +} + +func (s *mockSpannerServer) DeleteSession(ctx context.Context, req *spannerpb.DeleteSessionRequest) (*emptypb.Empty, error) { + md, _ := metadata.FromIncomingContext(ctx) + if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { + return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) + } + s.reqs = append(s.reqs, req) + if s.err != nil { + return nil, s.err + } + return s.resps[0].(*emptypb.Empty), nil +} + +func (s *mockSpannerServer) ExecuteSql(ctx context.Context, req *spannerpb.ExecuteSqlRequest) (*spannerpb.ResultSet, error) { + md, _ := metadata.FromIncomingContext(ctx) + if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { + return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) + } + s.reqs = append(s.reqs, req) + if s.err != nil { + return nil, s.err + } + return s.resps[0].(*spannerpb.ResultSet), nil +} + +func (s *mockSpannerServer) ExecuteStreamingSql(req *spannerpb.ExecuteSqlRequest, stream spannerpb.Spanner_ExecuteStreamingSqlServer) error { + md, _ := metadata.FromIncomingContext(stream.Context()) + if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { + return fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) + } + s.reqs = append(s.reqs, req) + if s.err != nil { + return s.err + } + for _, v := range s.resps { + if err := stream.Send(v.(*spannerpb.PartialResultSet)); err != nil { + return err + } + } + return nil +} + +func (s *mockSpannerServer) Read(ctx context.Context, req *spannerpb.ReadRequest) (*spannerpb.ResultSet, error) { + md, _ := metadata.FromIncomingContext(ctx) + if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { + return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) + } + s.reqs = append(s.reqs, req) + if s.err != nil { + return nil, s.err + } + return s.resps[0].(*spannerpb.ResultSet), nil +} + +func (s *mockSpannerServer) StreamingRead(req *spannerpb.ReadRequest, stream spannerpb.Spanner_StreamingReadServer) error { + md, _ := metadata.FromIncomingContext(stream.Context()) + if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { + return fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) + } + s.reqs = append(s.reqs, req) + if s.err != nil { + return s.err + } + for _, v := range s.resps { + if err := stream.Send(v.(*spannerpb.PartialResultSet)); err != nil { + return err + } + } + return nil +} + +func (s *mockSpannerServer) BeginTransaction(ctx context.Context, req *spannerpb.BeginTransactionRequest) (*spannerpb.Transaction, error) { + md, _ := metadata.FromIncomingContext(ctx) + if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { + return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) + } + s.reqs = append(s.reqs, req) + if s.err != nil { + return nil, s.err + } + return s.resps[0].(*spannerpb.Transaction), nil +} + +func (s *mockSpannerServer) Commit(ctx context.Context, req *spannerpb.CommitRequest) (*spannerpb.CommitResponse, error) { + md, _ := metadata.FromIncomingContext(ctx) + if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { + return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) + } + s.reqs = append(s.reqs, req) + if s.err != nil { + return nil, s.err + } + return s.resps[0].(*spannerpb.CommitResponse), nil +} + +func (s *mockSpannerServer) Rollback(ctx context.Context, req *spannerpb.RollbackRequest) (*emptypb.Empty, error) { + md, _ := metadata.FromIncomingContext(ctx) + if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { + return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) + } + s.reqs = append(s.reqs, req) + if s.err != nil { + return nil, s.err + } + return s.resps[0].(*emptypb.Empty), nil +} + +// clientOpt is the option tests should use to connect to the test server. +// It is initialized by TestMain. +var clientOpt option.ClientOption + +var ( + mockSpanner mockSpannerServer +) + +func TestMain(m *testing.M) { + flag.Parse() + + serv := grpc.NewServer() + spannerpb.RegisterSpannerServer(serv, &mockSpanner) + + lis, err := net.Listen("tcp", "localhost:0") + if err != nil { + log.Fatal(err) + } + go serv.Serve(lis) + + conn, err := grpc.Dial(lis.Addr().String(), grpc.WithInsecure()) + if err != nil { + log.Fatal(err) + } + clientOpt = option.WithGRPCConn(conn) + + os.Exit(m.Run()) +} + +func TestSpannerCreateSession(t *testing.T) { + var name string = "name3373707" + var expectedResponse = &spannerpb.Session{ + Name: name, + } + + mockSpanner.err = nil + mockSpanner.reqs = nil + + mockSpanner.resps = append(mockSpanner.resps[:0], expectedResponse) + + var formattedDatabase string = DatabasePath("[PROJECT]", "[INSTANCE]", "[DATABASE]") + var request = &spannerpb.CreateSessionRequest{ + Database: formattedDatabase, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.CreateSession(context.Background(), request) + + if err != nil { + t.Fatal(err) + } + + if want, got := request, mockSpanner.reqs[0]; !proto.Equal(want, got) { + t.Errorf("wrong request %q, want %q", got, want) + } + + if want, got := expectedResponse, resp; !proto.Equal(want, got) { + t.Errorf("wrong response %q, want %q)", got, want) + } +} + +func TestSpannerCreateSessionError(t *testing.T) { + errCode := codes.PermissionDenied + mockSpanner.err = gstatus.Error(errCode, "test error") + + var formattedDatabase string = DatabasePath("[PROJECT]", "[INSTANCE]", "[DATABASE]") + var request = &spannerpb.CreateSessionRequest{ + Database: formattedDatabase, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.CreateSession(context.Background(), request) + + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { + t.Errorf("got error code %q, want %q", c, errCode) + } + _ = resp +} +func TestSpannerGetSession(t *testing.T) { + var name2 string = "name2-1052831874" + var expectedResponse = &spannerpb.Session{ + Name: name2, + } + + mockSpanner.err = nil + mockSpanner.reqs = nil + + mockSpanner.resps = append(mockSpanner.resps[:0], expectedResponse) + + var formattedName string = SessionPath("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]") + var request = &spannerpb.GetSessionRequest{ + Name: formattedName, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.GetSession(context.Background(), request) + + if err != nil { + t.Fatal(err) + } + + if want, got := request, mockSpanner.reqs[0]; !proto.Equal(want, got) { + t.Errorf("wrong request %q, want %q", got, want) + } + + if want, got := expectedResponse, resp; !proto.Equal(want, got) { + t.Errorf("wrong response %q, want %q)", got, want) + } +} + +func TestSpannerGetSessionError(t *testing.T) { + errCode := codes.PermissionDenied + mockSpanner.err = gstatus.Error(errCode, "test error") + + var formattedName string = SessionPath("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]") + var request = &spannerpb.GetSessionRequest{ + Name: formattedName, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.GetSession(context.Background(), request) + + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { + t.Errorf("got error code %q, want %q", c, errCode) + } + _ = resp +} +func TestSpannerDeleteSession(t *testing.T) { + var expectedResponse *emptypb.Empty = &emptypb.Empty{} + + mockSpanner.err = nil + mockSpanner.reqs = nil + + mockSpanner.resps = append(mockSpanner.resps[:0], expectedResponse) + + var formattedName string = SessionPath("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]") + var request = &spannerpb.DeleteSessionRequest{ + Name: formattedName, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + err = c.DeleteSession(context.Background(), request) + + if err != nil { + t.Fatal(err) + } + + if want, got := request, mockSpanner.reqs[0]; !proto.Equal(want, got) { + t.Errorf("wrong request %q, want %q", got, want) + } + +} + +func TestSpannerDeleteSessionError(t *testing.T) { + errCode := codes.PermissionDenied + mockSpanner.err = gstatus.Error(errCode, "test error") + + var formattedName string = SessionPath("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]") + var request = &spannerpb.DeleteSessionRequest{ + Name: formattedName, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + err = c.DeleteSession(context.Background(), request) + + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { + t.Errorf("got error code %q, want %q", c, errCode) + } +} +func TestSpannerExecuteSql(t *testing.T) { + var expectedResponse *spannerpb.ResultSet = &spannerpb.ResultSet{} + + mockSpanner.err = nil + mockSpanner.reqs = nil + + mockSpanner.resps = append(mockSpanner.resps[:0], expectedResponse) + + var formattedSession string = SessionPath("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]") + var sql string = "sql114126" + var request = &spannerpb.ExecuteSqlRequest{ + Session: formattedSession, + Sql: sql, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.ExecuteSql(context.Background(), request) + + if err != nil { + t.Fatal(err) + } + + if want, got := request, mockSpanner.reqs[0]; !proto.Equal(want, got) { + t.Errorf("wrong request %q, want %q", got, want) + } + + if want, got := expectedResponse, resp; !proto.Equal(want, got) { + t.Errorf("wrong response %q, want %q)", got, want) + } +} + +func TestSpannerExecuteSqlError(t *testing.T) { + errCode := codes.PermissionDenied + mockSpanner.err = gstatus.Error(errCode, "test error") + + var formattedSession string = SessionPath("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]") + var sql string = "sql114126" + var request = &spannerpb.ExecuteSqlRequest{ + Session: formattedSession, + Sql: sql, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.ExecuteSql(context.Background(), request) + + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { + t.Errorf("got error code %q, want %q", c, errCode) + } + _ = resp +} +func TestSpannerExecuteStreamingSql(t *testing.T) { + var chunkedValue bool = true + var resumeToken []byte = []byte("103") + var expectedResponse = &spannerpb.PartialResultSet{ + ChunkedValue: chunkedValue, + ResumeToken: resumeToken, + } + + mockSpanner.err = nil + mockSpanner.reqs = nil + + mockSpanner.resps = append(mockSpanner.resps[:0], expectedResponse) + + var formattedSession string = SessionPath("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]") + var sql string = "sql114126" + var request = &spannerpb.ExecuteSqlRequest{ + Session: formattedSession, + Sql: sql, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + stream, err := c.ExecuteStreamingSql(context.Background(), request) + if err != nil { + t.Fatal(err) + } + resp, err := stream.Recv() + + if err != nil { + t.Fatal(err) + } + + if want, got := request, mockSpanner.reqs[0]; !proto.Equal(want, got) { + t.Errorf("wrong request %q, want %q", got, want) + } + + if want, got := expectedResponse, resp; !proto.Equal(want, got) { + t.Errorf("wrong response %q, want %q)", got, want) + } +} + +func TestSpannerExecuteStreamingSqlError(t *testing.T) { + errCode := codes.PermissionDenied + mockSpanner.err = gstatus.Error(errCode, "test error") + + var formattedSession string = SessionPath("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]") + var sql string = "sql114126" + var request = &spannerpb.ExecuteSqlRequest{ + Session: formattedSession, + Sql: sql, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + stream, err := c.ExecuteStreamingSql(context.Background(), request) + if err != nil { + t.Fatal(err) + } + resp, err := stream.Recv() + + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { + t.Errorf("got error code %q, want %q", c, errCode) + } + _ = resp +} +func TestSpannerRead(t *testing.T) { + var expectedResponse *spannerpb.ResultSet = &spannerpb.ResultSet{} + + mockSpanner.err = nil + mockSpanner.reqs = nil + + mockSpanner.resps = append(mockSpanner.resps[:0], expectedResponse) + + var formattedSession string = SessionPath("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]") + var table string = "table110115790" + var columns []string = nil + var keySet *spannerpb.KeySet = &spannerpb.KeySet{} + var request = &spannerpb.ReadRequest{ + Session: formattedSession, + Table: table, + Columns: columns, + KeySet: keySet, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.Read(context.Background(), request) + + if err != nil { + t.Fatal(err) + } + + if want, got := request, mockSpanner.reqs[0]; !proto.Equal(want, got) { + t.Errorf("wrong request %q, want %q", got, want) + } + + if want, got := expectedResponse, resp; !proto.Equal(want, got) { + t.Errorf("wrong response %q, want %q)", got, want) + } +} + +func TestSpannerReadError(t *testing.T) { + errCode := codes.PermissionDenied + mockSpanner.err = gstatus.Error(errCode, "test error") + + var formattedSession string = SessionPath("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]") + var table string = "table110115790" + var columns []string = nil + var keySet *spannerpb.KeySet = &spannerpb.KeySet{} + var request = &spannerpb.ReadRequest{ + Session: formattedSession, + Table: table, + Columns: columns, + KeySet: keySet, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.Read(context.Background(), request) + + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { + t.Errorf("got error code %q, want %q", c, errCode) + } + _ = resp +} +func TestSpannerStreamingRead(t *testing.T) { + var chunkedValue bool = true + var resumeToken []byte = []byte("103") + var expectedResponse = &spannerpb.PartialResultSet{ + ChunkedValue: chunkedValue, + ResumeToken: resumeToken, + } + + mockSpanner.err = nil + mockSpanner.reqs = nil + + mockSpanner.resps = append(mockSpanner.resps[:0], expectedResponse) + + var formattedSession string = SessionPath("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]") + var table string = "table110115790" + var columns []string = nil + var keySet *spannerpb.KeySet = &spannerpb.KeySet{} + var request = &spannerpb.ReadRequest{ + Session: formattedSession, + Table: table, + Columns: columns, + KeySet: keySet, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + stream, err := c.StreamingRead(context.Background(), request) + if err != nil { + t.Fatal(err) + } + resp, err := stream.Recv() + + if err != nil { + t.Fatal(err) + } + + if want, got := request, mockSpanner.reqs[0]; !proto.Equal(want, got) { + t.Errorf("wrong request %q, want %q", got, want) + } + + if want, got := expectedResponse, resp; !proto.Equal(want, got) { + t.Errorf("wrong response %q, want %q)", got, want) + } +} + +func TestSpannerStreamingReadError(t *testing.T) { + errCode := codes.PermissionDenied + mockSpanner.err = gstatus.Error(errCode, "test error") + + var formattedSession string = SessionPath("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]") + var table string = "table110115790" + var columns []string = nil + var keySet *spannerpb.KeySet = &spannerpb.KeySet{} + var request = &spannerpb.ReadRequest{ + Session: formattedSession, + Table: table, + Columns: columns, + KeySet: keySet, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + stream, err := c.StreamingRead(context.Background(), request) + if err != nil { + t.Fatal(err) + } + resp, err := stream.Recv() + + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { + t.Errorf("got error code %q, want %q", c, errCode) + } + _ = resp +} +func TestSpannerBeginTransaction(t *testing.T) { + var id []byte = []byte("27") + var expectedResponse = &spannerpb.Transaction{ + Id: id, + } + + mockSpanner.err = nil + mockSpanner.reqs = nil + + mockSpanner.resps = append(mockSpanner.resps[:0], expectedResponse) + + var formattedSession string = SessionPath("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]") + var options *spannerpb.TransactionOptions = &spannerpb.TransactionOptions{} + var request = &spannerpb.BeginTransactionRequest{ + Session: formattedSession, + Options: options, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.BeginTransaction(context.Background(), request) + + if err != nil { + t.Fatal(err) + } + + if want, got := request, mockSpanner.reqs[0]; !proto.Equal(want, got) { + t.Errorf("wrong request %q, want %q", got, want) + } + + if want, got := expectedResponse, resp; !proto.Equal(want, got) { + t.Errorf("wrong response %q, want %q)", got, want) + } +} + +func TestSpannerBeginTransactionError(t *testing.T) { + errCode := codes.PermissionDenied + mockSpanner.err = gstatus.Error(errCode, "test error") + + var formattedSession string = SessionPath("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]") + var options *spannerpb.TransactionOptions = &spannerpb.TransactionOptions{} + var request = &spannerpb.BeginTransactionRequest{ + Session: formattedSession, + Options: options, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.BeginTransaction(context.Background(), request) + + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { + t.Errorf("got error code %q, want %q", c, errCode) + } + _ = resp +} +func TestSpannerCommit(t *testing.T) { + var expectedResponse *spannerpb.CommitResponse = &spannerpb.CommitResponse{} + + mockSpanner.err = nil + mockSpanner.reqs = nil + + mockSpanner.resps = append(mockSpanner.resps[:0], expectedResponse) + + var formattedSession string = SessionPath("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]") + var mutations []*spannerpb.Mutation = nil + var request = &spannerpb.CommitRequest{ + Session: formattedSession, + Mutations: mutations, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.Commit(context.Background(), request) + + if err != nil { + t.Fatal(err) + } + + if want, got := request, mockSpanner.reqs[0]; !proto.Equal(want, got) { + t.Errorf("wrong request %q, want %q", got, want) + } + + if want, got := expectedResponse, resp; !proto.Equal(want, got) { + t.Errorf("wrong response %q, want %q)", got, want) + } +} + +func TestSpannerCommitError(t *testing.T) { + errCode := codes.PermissionDenied + mockSpanner.err = gstatus.Error(errCode, "test error") + + var formattedSession string = SessionPath("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]") + var mutations []*spannerpb.Mutation = nil + var request = &spannerpb.CommitRequest{ + Session: formattedSession, + Mutations: mutations, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + resp, err := c.Commit(context.Background(), request) + + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { + t.Errorf("got error code %q, want %q", c, errCode) + } + _ = resp +} +func TestSpannerRollback(t *testing.T) { + var expectedResponse *emptypb.Empty = &emptypb.Empty{} + + mockSpanner.err = nil + mockSpanner.reqs = nil + + mockSpanner.resps = append(mockSpanner.resps[:0], expectedResponse) + + var formattedSession string = SessionPath("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]") + var transactionId []byte = []byte("28") + var request = &spannerpb.RollbackRequest{ + Session: formattedSession, + TransactionId: transactionId, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + err = c.Rollback(context.Background(), request) + + if err != nil { + t.Fatal(err) + } + + if want, got := request, mockSpanner.reqs[0]; !proto.Equal(want, got) { + t.Errorf("wrong request %q, want %q", got, want) + } + +} + +func TestSpannerRollbackError(t *testing.T) { + errCode := codes.PermissionDenied + mockSpanner.err = gstatus.Error(errCode, "test error") + + var formattedSession string = SessionPath("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]") + var transactionId []byte = []byte("28") + var request = &spannerpb.RollbackRequest{ + Session: formattedSession, + TransactionId: transactionId, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + err = c.Rollback(context.Background(), request) + + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { + t.Errorf("got error code %q, want %q", c, errCode) + } +} diff --git a/vendor/cloud.google.com/go/spanner/apiv1/spanner_client.go b/vendor/cloud.google.com/go/spanner/apiv1/spanner_client.go new file mode 100644 index 000000000..d20a93d99 --- /dev/null +++ b/vendor/cloud.google.com/go/spanner/apiv1/spanner_client.go @@ -0,0 +1,392 @@ +// Copyright 2017, Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// AUTO-GENERATED CODE. DO NOT EDIT. + +package spanner + +import ( + "time" + + "cloud.google.com/go/internal/version" + gax "github.com/googleapis/gax-go" + "golang.org/x/net/context" + "google.golang.org/api/option" + "google.golang.org/api/transport" + spannerpb "google.golang.org/genproto/googleapis/spanner/v1" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" +) + +// CallOptions contains the retry settings for each method of Client. +type CallOptions struct { + CreateSession []gax.CallOption + GetSession []gax.CallOption + DeleteSession []gax.CallOption + ExecuteSql []gax.CallOption + ExecuteStreamingSql []gax.CallOption + Read []gax.CallOption + StreamingRead []gax.CallOption + BeginTransaction []gax.CallOption + Commit []gax.CallOption + Rollback []gax.CallOption +} + +func defaultClientOptions() []option.ClientOption { + return []option.ClientOption{ + option.WithEndpoint("spanner.googleapis.com:443"), + option.WithScopes(DefaultAuthScopes()...), + } +} + +func defaultCallOptions() *CallOptions { + retry := map[[2]string][]gax.CallOption{ + {"default", "idempotent"}: { + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 32000 * time.Millisecond, + Multiplier: 1.3, + }) + }), + }, + {"long_running", "long_running"}: { + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.Unavailable, + }, gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 32000 * time.Millisecond, + Multiplier: 1.3, + }) + }), + }, + } + return &CallOptions{ + CreateSession: retry[[2]string{"default", "idempotent"}], + GetSession: retry[[2]string{"default", "idempotent"}], + DeleteSession: retry[[2]string{"default", "idempotent"}], + ExecuteSql: retry[[2]string{"default", "idempotent"}], + ExecuteStreamingSql: retry[[2]string{"default", "non_idempotent"}], + Read: retry[[2]string{"default", "idempotent"}], + StreamingRead: retry[[2]string{"default", "non_idempotent"}], + BeginTransaction: retry[[2]string{"default", "idempotent"}], + Commit: retry[[2]string{"long_running", "long_running"}], + Rollback: retry[[2]string{"default", "idempotent"}], + } +} + +// Client is a client for interacting with Cloud Spanner API. +type Client struct { + // The connection to the service. + conn *grpc.ClientConn + + // The gRPC API client. + client spannerpb.SpannerClient + + // The call options for this service. + CallOptions *CallOptions + + // The metadata to be sent with each request. + xGoogHeader []string +} + +// NewClient creates a new spanner client. +// +// Cloud Spanner API +// +// The Cloud Spanner API can be used to manage sessions and execute +// transactions on data stored in Cloud Spanner databases. +func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error) { + conn, err := transport.DialGRPC(ctx, append(defaultClientOptions(), opts...)...) + if err != nil { + return nil, err + } + c := &Client{ + conn: conn, + CallOptions: defaultCallOptions(), + + client: spannerpb.NewSpannerClient(conn), + } + c.SetGoogleClientInfo() + return c, nil +} + +// Connection returns the client's connection to the API service. +func (c *Client) Connection() *grpc.ClientConn { + return c.conn +} + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *Client) Close() error { + return c.conn.Close() +} + +// SetGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *Client) SetGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", version.Go()}, keyval...) + kv = append(kv, "gapic", version.Repo, "gax", gax.Version, "grpc", grpc.Version) + c.xGoogHeader = []string{gax.XGoogHeader(kv...)} +} + +// DatabasePath returns the path for the database resource. +func DatabasePath(project, instance, database string) string { + return "" + + "projects/" + + project + + "/instances/" + + instance + + "/databases/" + + database + + "" +} + +// SessionPath returns the path for the session resource. +func SessionPath(project, instance, database, session string) string { + return "" + + "projects/" + + project + + "/instances/" + + instance + + "/databases/" + + database + + "/sessions/" + + session + + "" +} + +// CreateSession creates a new session. A session can be used to perform +// transactions that read and/or modify data in a Cloud Spanner database. +// Sessions are meant to be reused for many consecutive +// transactions. +// +// Sessions can only execute one transaction at a time. To execute +// multiple concurrent read-write/write-only transactions, create +// multiple sessions. Note that standalone reads and queries use a +// transaction internally, and count toward the one transaction +// limit. +// +// Cloud Spanner limits the number of sessions that can exist at any given +// time; thus, it is a good idea to delete idle and/or unneeded sessions. +// Aside from explicit deletes, Cloud Spanner can delete sessions for which no +// operations are sent for more than an hour. If a session is deleted, +// requests to it return NOT_FOUND. +// +// Idle sessions can be kept alive by sending a trivial SQL query +// periodically, e.g., "SELECT 1". +func (c *Client) CreateSession(ctx context.Context, req *spannerpb.CreateSessionRequest, opts ...gax.CallOption) (*spannerpb.Session, error) { + ctx = insertXGoog(ctx, c.xGoogHeader) + opts = append(c.CallOptions.CreateSession[0:len(c.CallOptions.CreateSession):len(c.CallOptions.CreateSession)], opts...) + var resp *spannerpb.Session + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.CreateSession(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +// GetSession gets a session. Returns NOT_FOUND if the session does not exist. +// This is mainly useful for determining whether a session is still +// alive. +func (c *Client) GetSession(ctx context.Context, req *spannerpb.GetSessionRequest, opts ...gax.CallOption) (*spannerpb.Session, error) { + ctx = insertXGoog(ctx, c.xGoogHeader) + opts = append(c.CallOptions.GetSession[0:len(c.CallOptions.GetSession):len(c.CallOptions.GetSession)], opts...) + var resp *spannerpb.Session + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.GetSession(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +// DeleteSession ends a session, releasing server resources associated with it. +func (c *Client) DeleteSession(ctx context.Context, req *spannerpb.DeleteSessionRequest, opts ...gax.CallOption) error { + ctx = insertXGoog(ctx, c.xGoogHeader) + opts = append(c.CallOptions.DeleteSession[0:len(c.CallOptions.DeleteSession):len(c.CallOptions.DeleteSession)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = c.client.DeleteSession(ctx, req, settings.GRPC...) + return err + }, opts...) + return err +} + +// ExecuteSql executes an SQL query, returning all rows in a single reply. This +// method cannot be used to return a result set larger than 10 MiB; +// if the query yields more data than that, the query fails with +// a FAILED_PRECONDITION error. +// +// Queries inside read-write transactions might return ABORTED. If +// this occurs, the application should restart the transaction from +// the beginning. See [Transaction][google.spanner.v1.Transaction] for more details. +// +// Larger result sets can be fetched in streaming fashion by calling +// [ExecuteStreamingSql][google.spanner.v1.Spanner.ExecuteStreamingSql] instead. +func (c *Client) ExecuteSql(ctx context.Context, req *spannerpb.ExecuteSqlRequest, opts ...gax.CallOption) (*spannerpb.ResultSet, error) { + ctx = insertXGoog(ctx, c.xGoogHeader) + opts = append(c.CallOptions.ExecuteSql[0:len(c.CallOptions.ExecuteSql):len(c.CallOptions.ExecuteSql)], opts...) + var resp *spannerpb.ResultSet + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.ExecuteSql(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +// ExecuteStreamingSql like [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql], except returns the result +// set as a stream. Unlike [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql], there +// is no limit on the size of the returned result set. However, no +// individual row in the result set can exceed 100 MiB, and no +// column value can exceed 10 MiB. +func (c *Client) ExecuteStreamingSql(ctx context.Context, req *spannerpb.ExecuteSqlRequest, opts ...gax.CallOption) (spannerpb.Spanner_ExecuteStreamingSqlClient, error) { + ctx = insertXGoog(ctx, c.xGoogHeader) + opts = append(c.CallOptions.ExecuteStreamingSql[0:len(c.CallOptions.ExecuteStreamingSql):len(c.CallOptions.ExecuteStreamingSql)], opts...) + var resp spannerpb.Spanner_ExecuteStreamingSqlClient + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.ExecuteStreamingSql(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +// Read reads rows from the database using key lookups and scans, as a +// simple key/value style alternative to +// [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql]. This method cannot be used to +// return a result set larger than 10 MiB; if the read matches more +// data than that, the read fails with a FAILED_PRECONDITION +// error. +// +// Reads inside read-write transactions might return ABORTED. If +// this occurs, the application should restart the transaction from +// the beginning. See [Transaction][google.spanner.v1.Transaction] for more details. +// +// Larger result sets can be yielded in streaming fashion by calling +// [StreamingRead][google.spanner.v1.Spanner.StreamingRead] instead. +func (c *Client) Read(ctx context.Context, req *spannerpb.ReadRequest, opts ...gax.CallOption) (*spannerpb.ResultSet, error) { + ctx = insertXGoog(ctx, c.xGoogHeader) + opts = append(c.CallOptions.Read[0:len(c.CallOptions.Read):len(c.CallOptions.Read)], opts...) + var resp *spannerpb.ResultSet + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.Read(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +// StreamingRead like [Read][google.spanner.v1.Spanner.Read], except returns the result set as a +// stream. Unlike [Read][google.spanner.v1.Spanner.Read], there is no limit on the +// size of the returned result set. However, no individual row in +// the result set can exceed 100 MiB, and no column value can exceed +// 10 MiB. +func (c *Client) StreamingRead(ctx context.Context, req *spannerpb.ReadRequest, opts ...gax.CallOption) (spannerpb.Spanner_StreamingReadClient, error) { + ctx = insertXGoog(ctx, c.xGoogHeader) + opts = append(c.CallOptions.StreamingRead[0:len(c.CallOptions.StreamingRead):len(c.CallOptions.StreamingRead)], opts...) + var resp spannerpb.Spanner_StreamingReadClient + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.StreamingRead(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +// BeginTransaction begins a new transaction. This step can often be skipped: +// [Read][google.spanner.v1.Spanner.Read], [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql] and +// [Commit][google.spanner.v1.Spanner.Commit] can begin a new transaction as a +// side-effect. +func (c *Client) BeginTransaction(ctx context.Context, req *spannerpb.BeginTransactionRequest, opts ...gax.CallOption) (*spannerpb.Transaction, error) { + ctx = insertXGoog(ctx, c.xGoogHeader) + opts = append(c.CallOptions.BeginTransaction[0:len(c.CallOptions.BeginTransaction):len(c.CallOptions.BeginTransaction)], opts...) + var resp *spannerpb.Transaction + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.BeginTransaction(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +// Commit commits a transaction. The request includes the mutations to be +// applied to rows in the database. +// +// Commit might return an ABORTED error. This can occur at any time; +// commonly, the cause is conflicts with concurrent +// transactions. However, it can also happen for a variety of other +// reasons. If Commit returns ABORTED, the caller should re-attempt +// the transaction from the beginning, re-using the same session. +func (c *Client) Commit(ctx context.Context, req *spannerpb.CommitRequest, opts ...gax.CallOption) (*spannerpb.CommitResponse, error) { + ctx = insertXGoog(ctx, c.xGoogHeader) + opts = append(c.CallOptions.Commit[0:len(c.CallOptions.Commit):len(c.CallOptions.Commit)], opts...) + var resp *spannerpb.CommitResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.Commit(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +// Rollback rolls back a transaction, releasing any locks it holds. It is a good +// idea to call this for any transaction that includes one or more +// [Read][google.spanner.v1.Spanner.Read] or [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql] requests and +// ultimately decides not to commit. +// +// Rollback returns OK if it successfully aborts the transaction, the +// transaction was already aborted, or the transaction is not +// found. Rollback never returns ABORTED. +func (c *Client) Rollback(ctx context.Context, req *spannerpb.RollbackRequest, opts ...gax.CallOption) error { + ctx = insertXGoog(ctx, c.xGoogHeader) + opts = append(c.CallOptions.Rollback[0:len(c.CallOptions.Rollback):len(c.CallOptions.Rollback)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = c.client.Rollback(ctx, req, settings.GRPC...) + return err + }, opts...) + return err +} diff --git a/vendor/cloud.google.com/go/spanner/apiv1/spanner_client_example_test.go b/vendor/cloud.google.com/go/spanner/apiv1/spanner_client_example_test.go new file mode 100644 index 000000000..55ee8d104 --- /dev/null +++ b/vendor/cloud.google.com/go/spanner/apiv1/spanner_client_example_test.go @@ -0,0 +1,229 @@ +// Copyright 2017, Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// AUTO-GENERATED CODE. DO NOT EDIT. + +package spanner_test + +import ( + "io" + + "cloud.google.com/go/spanner/apiv1" + "golang.org/x/net/context" + spannerpb "google.golang.org/genproto/googleapis/spanner/v1" +) + +func ExampleNewClient() { + ctx := context.Background() + c, err := spanner.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use client. + _ = c +} + +func ExampleClient_CreateSession() { + ctx := context.Background() + c, err := spanner.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + + req := &spannerpb.CreateSessionRequest{ + // TODO: Fill request struct fields. + } + resp, err := c.CreateSession(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GetSession() { + ctx := context.Background() + c, err := spanner.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + + req := &spannerpb.GetSessionRequest{ + // TODO: Fill request struct fields. + } + resp, err := c.GetSession(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_DeleteSession() { + ctx := context.Background() + c, err := spanner.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + + req := &spannerpb.DeleteSessionRequest{ + // TODO: Fill request struct fields. + } + err = c.DeleteSession(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleClient_ExecuteSql() { + ctx := context.Background() + c, err := spanner.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + + req := &spannerpb.ExecuteSqlRequest{ + // TODO: Fill request struct fields. + } + resp, err := c.ExecuteSql(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_ExecuteStreamingSql() { + ctx := context.Background() + c, err := spanner.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + + req := &spannerpb.ExecuteSqlRequest{ + // TODO: Fill request struct fields. + } + stream, err := c.ExecuteStreamingSql(ctx, req) + if err != nil { + // TODO: Handle error. + } + for { + resp, err := stream.Recv() + if err == io.EOF { + break + } + if err != nil { + // TODO: handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_Read() { + ctx := context.Background() + c, err := spanner.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + + req := &spannerpb.ReadRequest{ + // TODO: Fill request struct fields. + } + resp, err := c.Read(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_StreamingRead() { + ctx := context.Background() + c, err := spanner.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + + req := &spannerpb.ReadRequest{ + // TODO: Fill request struct fields. + } + stream, err := c.StreamingRead(ctx, req) + if err != nil { + // TODO: Handle error. + } + for { + resp, err := stream.Recv() + if err == io.EOF { + break + } + if err != nil { + // TODO: handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_BeginTransaction() { + ctx := context.Background() + c, err := spanner.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + + req := &spannerpb.BeginTransactionRequest{ + // TODO: Fill request struct fields. + } + resp, err := c.BeginTransaction(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_Commit() { + ctx := context.Background() + c, err := spanner.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + + req := &spannerpb.CommitRequest{ + // TODO: Fill request struct fields. + } + resp, err := c.Commit(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_Rollback() { + ctx := context.Background() + c, err := spanner.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + + req := &spannerpb.RollbackRequest{ + // TODO: Fill request struct fields. + } + err = c.Rollback(ctx, req) + if err != nil { + // TODO: Handle error. + } +} diff --git a/vendor/cloud.google.com/go/spanner/client.go b/vendor/cloud.google.com/go/spanner/client.go index 4ccc9333a..221e26130 100644 --- a/vendor/cloud.google.com/go/spanner/client.go +++ b/vendor/cloud.google.com/go/spanner/client.go @@ -25,7 +25,7 @@ import ( "cloud.google.com/go/internal/version" "golang.org/x/net/context" "google.golang.org/api/option" - "google.golang.org/api/transport" + gtransport "google.golang.org/api/transport/grpc" sppb "google.golang.org/genproto/googleapis/spanner/v1" "google.golang.org/grpc" "google.golang.org/grpc/codes" @@ -38,9 +38,9 @@ const ( // resourcePrefixHeader is the name of the metadata header used to indicate // the resource being operated on. resourcePrefixHeader = "google-cloud-resource-prefix" - // apiClientHeader is the name of the metadata header used to indicate client + // xGoogHeaderKey is the name of the metadata header used to indicate client // information. - apiClientHeader = "x-goog-api-client" + xGoogHeaderKey = "x-goog-api-client" // numChannels is the default value for NumChannels of client numChannels = 4 @@ -55,8 +55,8 @@ const ( ) var ( - validDBPattern = regexp.MustCompile("^projects/[^/]+/instances/[^/]+/databases/[^/]+$") - clientUserAgent = fmt.Sprintf("gl-go/%s gccl/%s grpc/%s", version.Go(), version.Repo, grpc.Version) + validDBPattern = regexp.MustCompile("^projects/[^/]+/instances/[^/]+/databases/[^/]+$") + xGoogHeaderVal = fmt.Sprintf("gl-go/%s gccl/%s grpc/%s", version.Go(), version.Repo, grpc.Version) ) func validDatabaseName(db string) error { @@ -123,9 +123,9 @@ func NewClientWithConfig(ctx context.Context, database string, config ClientConf database: database, md: metadata.Pairs( resourcePrefixHeader, database, - apiClientHeader, clientUserAgent), + xGoogHeaderKey, xGoogHeaderVal), } - allOpts := []option.ClientOption{option.WithEndpoint(prodAddr), option.WithScopes(Scope), option.WithUserAgent(clientUserAgent), option.WithGRPCDialOption(grpc.WithDefaultCallOptions(grpc.MaxCallSendMsgSize(100<<20), grpc.MaxCallRecvMsgSize(100<<20)))} + allOpts := []option.ClientOption{option.WithEndpoint(prodAddr), option.WithScopes(Scope), option.WithGRPCDialOption(grpc.WithDefaultCallOptions(grpc.MaxCallSendMsgSize(100<<20), grpc.MaxCallRecvMsgSize(100<<20)))} allOpts = append(allOpts, opts...) // Prepare gRPC channels. if config.NumChannels == 0 { @@ -138,8 +138,12 @@ func NewClientWithConfig(ctx context.Context, database string, config ClientConf if config.MaxBurst == 0 { config.MaxBurst = 10 } + // Default MaxSessionAge + if config.maxSessionAge == 0 { + config.maxSessionAge = time.Minute * 30 + } for i := 0; i < config.NumChannels; i++ { - conn, err := transport.DialGRPC(ctx, allOpts...) + conn, err := gtransport.Dial(ctx, allOpts...) if err != nil { return nil, errDial(i, err) } diff --git a/vendor/cloud.google.com/go/spanner/client_test.go b/vendor/cloud.google.com/go/spanner/client_test.go index 643f863b7..951d95876 100644 --- a/vendor/cloud.google.com/go/spanner/client_test.go +++ b/vendor/cloud.google.com/go/spanner/client_test.go @@ -23,7 +23,7 @@ import ( // Test validDatabaseName() func TestValidDatabaseName(t *testing.T) { - validDbUri := "projects/spanner-cloud-test/instances/foo/databases/foodb" + validDbURI := "projects/spanner-cloud-test/instances/foo/databases/foodb" invalidDbUris := []string{ // Completely wrong DB URI. "foobarDB", @@ -32,12 +32,12 @@ func TestValidDatabaseName(t *testing.T) { // No instance ID. "projects/spanner-cloud-test/instances//databases/foodb", } - if err := validDatabaseName(validDbUri); err != nil { - t.Errorf("validateDatabaseName(%q) = %v, want nil", validDbUri, err) + if err := validDatabaseName(validDbURI); err != nil { + t.Errorf("validateDatabaseName(%q) = %v, want nil", validDbURI, err) } for _, d := range invalidDbUris { if err, wantErr := validDatabaseName(d), "should conform to pattern"; !strings.Contains(err.Error(), wantErr) { - t.Errorf("validateDatabaseName(%q) = %q, want error pattern %q", validDbUri, err, wantErr) + t.Errorf("validateDatabaseName(%q) = %q, want error pattern %q", validDbURI, err, wantErr) } } } diff --git a/vendor/cloud.google.com/go/spanner/doc.go b/vendor/cloud.google.com/go/spanner/doc.go index 40f1fa20a..8219444ce 100644 --- a/vendor/cloud.google.com/go/spanner/doc.go +++ b/vendor/cloud.google.com/go/spanner/doc.go @@ -19,8 +19,7 @@ Package spanner provides a client for reading and writing to Cloud Spanner databases. See the packages under admin for clients that operate on databases and instances. -Note: This package is in alpha. Backwards-incompatible changes may occur -without notice. +Note: This package is in beta. Some backwards-incompatible changes may occur. See https://cloud.google.com/spanner/docs/getting-started/go/ for an introduction to Cloud Spanner and additional help on using this API. diff --git a/vendor/cloud.google.com/go/spanner/internal/testutil/mockclient.go b/vendor/cloud.google.com/go/spanner/internal/testutil/mockclient.go index f278c7cc6..9b41b810d 100644 --- a/vendor/cloud.google.com/go/spanner/internal/testutil/mockclient.go +++ b/vendor/cloud.google.com/go/spanner/internal/testutil/mockclient.go @@ -54,18 +54,23 @@ type MockCloudSpannerClient struct { sessions map[string]bool // Expected set of actions that will be executed by the client. actions []Action - // Session ping history + // Session ping history. pings []string - // Injected error, will be returned by all APIs + // Injected error, will be returned by all APIs. injErr map[string]error - // nice client will not fail on any request + // Client will not fail on any request. nice bool + // Client will stall on any requests. + freezed chan struct{} } // NewMockCloudSpannerClient creates new MockCloudSpannerClient instance. func NewMockCloudSpannerClient(t *testing.T, acts ...Action) *MockCloudSpannerClient { mc := &MockCloudSpannerClient{t: t, sessions: map[string]bool{}, injErr: map[string]error{}} mc.SetActions(acts...) + // Produce a closed channel, so the default action of ready is to not block. + mc.Freeze() + mc.Unfreeze() return mc } @@ -121,6 +126,7 @@ func (m *MockCloudSpannerClient) DumpSessions() map[string]bool { // CreateSession is a placeholder for SpannerClient.CreateSession. func (m *MockCloudSpannerClient) CreateSession(c context.Context, r *sppb.CreateSessionRequest, opts ...grpc.CallOption) (*sppb.Session, error) { + m.ready() m.mu.Lock() defer m.mu.Unlock() if err := m.injErr["CreateSession"]; err != nil { @@ -139,6 +145,7 @@ func (m *MockCloudSpannerClient) CreateSession(c context.Context, r *sppb.Create // GetSession is a placeholder for SpannerClient.GetSession. func (m *MockCloudSpannerClient) GetSession(c context.Context, r *sppb.GetSessionRequest, opts ...grpc.CallOption) (*sppb.Session, error) { + m.ready() m.mu.Lock() defer m.mu.Unlock() if err := m.injErr["GetSession"]; err != nil { @@ -153,6 +160,7 @@ func (m *MockCloudSpannerClient) GetSession(c context.Context, r *sppb.GetSessio // DeleteSession is a placeholder for SpannerClient.DeleteSession. func (m *MockCloudSpannerClient) DeleteSession(c context.Context, r *sppb.DeleteSessionRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + m.ready() m.mu.Lock() defer m.mu.Unlock() if err := m.injErr["DeleteSession"]; err != nil { @@ -169,11 +177,13 @@ func (m *MockCloudSpannerClient) DeleteSession(c context.Context, r *sppb.Delete // ExecuteSql is a placeholder for SpannerClient.ExecuteSql. func (m *MockCloudSpannerClient) ExecuteSql(c context.Context, r *sppb.ExecuteSqlRequest, opts ...grpc.CallOption) (*sppb.ResultSet, error) { + m.ready() return nil, errors.New("Unimplemented") } // ExecuteStreamingSql is a mock implementation of SpannerClient.ExecuteStreamingSql. func (m *MockCloudSpannerClient) ExecuteStreamingSql(c context.Context, r *sppb.ExecuteSqlRequest, opts ...grpc.CallOption) (sppb.Spanner_ExecuteStreamingSqlClient, error) { + m.ready() m.mu.Lock() defer m.mu.Unlock() if err := m.injErr["ExecuteStreamingSql"]; err != nil { @@ -220,12 +230,14 @@ func (m *MockCloudSpannerClient) ExecuteStreamingSql(c context.Context, r *sppb. // Read is a placeholder for SpannerClient.Read. func (m *MockCloudSpannerClient) Read(c context.Context, r *sppb.ReadRequest, opts ...grpc.CallOption) (*sppb.ResultSet, error) { + m.ready() m.t.Fatalf("Read is unimplemented") return nil, errors.New("Unimplemented") } // StreamingRead is a placeholder for SpannerClient.StreamingRead. func (m *MockCloudSpannerClient) StreamingRead(c context.Context, r *sppb.ReadRequest, opts ...grpc.CallOption) (sppb.Spanner_StreamingReadClient, error) { + m.ready() m.mu.Lock() defer m.mu.Unlock() if err := m.injErr["StreamingRead"]; err != nil { @@ -258,15 +270,15 @@ func (m *MockCloudSpannerClient) StreamingRead(c context.Context, r *sppb.ReadRe Table: "t_mock", Columns: []string{"col1", "col2"}, KeySet: &sppb.KeySet{ - []*proto3.ListValue{ + Keys: []*proto3.ListValue{ &proto3.ListValue{ Values: []*proto3.Value{ &proto3.Value{Kind: &proto3.Value_StringValue{StringValue: "foo"}}, }, }, }, - []*sppb.KeyRange{}, - false, + Ranges: []*sppb.KeyRange{}, + All: false, }, } if act.method == "StreamingIndexRead" { @@ -283,6 +295,7 @@ func (m *MockCloudSpannerClient) StreamingRead(c context.Context, r *sppb.ReadRe // BeginTransaction is a placeholder for SpannerClient.BeginTransaction. func (m *MockCloudSpannerClient) BeginTransaction(c context.Context, r *sppb.BeginTransactionRequest, opts ...grpc.CallOption) (*sppb.Transaction, error) { + m.ready() m.mu.Lock() defer m.mu.Unlock() if !m.nice { @@ -310,6 +323,7 @@ func (m *MockCloudSpannerClient) BeginTransaction(c context.Context, r *sppb.Beg // Commit is a placeholder for SpannerClient.Commit. func (m *MockCloudSpannerClient) Commit(c context.Context, r *sppb.CommitRequest, opts ...grpc.CallOption) (*sppb.CommitResponse, error) { + m.ready() m.mu.Lock() defer m.mu.Unlock() if !m.nice { @@ -333,6 +347,7 @@ func (m *MockCloudSpannerClient) Commit(c context.Context, r *sppb.CommitRequest // Rollback is a placeholder for SpannerClient.Rollback. func (m *MockCloudSpannerClient) Rollback(c context.Context, r *sppb.RollbackRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + m.ready() m.mu.Lock() defer m.mu.Unlock() if !m.nice { @@ -353,3 +368,20 @@ func (m *MockCloudSpannerClient) Rollback(c context.Context, r *sppb.RollbackReq } return nil, nil } + +// Freeze stalls all requests. +func (m *MockCloudSpannerClient) Freeze() { + m.freezed = make(chan struct{}) +} + +// Unfreeze restores processing requests. +func (m *MockCloudSpannerClient) Unfreeze() { + close(m.freezed) +} + +// ready checks conditions before executing requests +// TODO: also check injected errors, actions +func (m *MockCloudSpannerClient) ready() { + // check if client should be freezed + <-m.freezed +} diff --git a/vendor/cloud.google.com/go/spanner/key.go b/vendor/cloud.google.com/go/spanner/key.go index 1b780deff..5b332f4dc 100644 --- a/vendor/cloud.google.com/go/spanner/key.go +++ b/vendor/cloud.google.com/go/spanner/key.go @@ -155,10 +155,10 @@ func (key Key) String() string { } // AsPrefix returns a KeyRange for all keys where k is the prefix. -func (k Key) AsPrefix() KeyRange { +func (key Key) AsPrefix() KeyRange { return KeyRange{ - Start: k, - End: k, + Start: key, + End: key, Kind: ClosedClosed, } } diff --git a/vendor/cloud.google.com/go/spanner/key_test.go b/vendor/cloud.google.com/go/spanner/key_test.go index e552e8647..aee47f993 100644 --- a/vendor/cloud.google.com/go/spanner/key_test.go +++ b/vendor/cloud.google.com/go/spanner/key_test.go @@ -209,32 +209,32 @@ func TestKeyRange(t *testing.T) { { kr: KeyRange{Key{"A"}, Key{"D"}, OpenOpen}, wantProto: &sppb.KeyRange{ - &sppb.KeyRange_StartOpen{listValueProto(stringProto("A"))}, - &sppb.KeyRange_EndOpen{listValueProto(stringProto("D"))}, + StartKeyType: &sppb.KeyRange_StartOpen{StartOpen: listValueProto(stringProto("A"))}, + EndKeyType: &sppb.KeyRange_EndOpen{EndOpen: listValueProto(stringProto("D"))}, }, wantStr: `(("A"),("D"))`, }, { kr: KeyRange{Key{1}, Key{10}, OpenClosed}, wantProto: &sppb.KeyRange{ - &sppb.KeyRange_StartOpen{listValueProto(stringProto("1"))}, - &sppb.KeyRange_EndClosed{listValueProto(stringProto("10"))}, + StartKeyType: &sppb.KeyRange_StartOpen{StartOpen: listValueProto(stringProto("1"))}, + EndKeyType: &sppb.KeyRange_EndClosed{EndClosed: listValueProto(stringProto("10"))}, }, wantStr: "((1),(10)]", }, { kr: KeyRange{Key{1.5, 2.1, 0.2}, Key{1.9, 0.7}, ClosedOpen}, wantProto: &sppb.KeyRange{ - &sppb.KeyRange_StartClosed{listValueProto(floatProto(1.5), floatProto(2.1), floatProto(0.2))}, - &sppb.KeyRange_EndOpen{listValueProto(floatProto(1.9), floatProto(0.7))}, + StartKeyType: &sppb.KeyRange_StartClosed{StartClosed: listValueProto(floatProto(1.5), floatProto(2.1), floatProto(0.2))}, + EndKeyType: &sppb.KeyRange_EndOpen{EndOpen: listValueProto(floatProto(1.9), floatProto(0.7))}, }, wantStr: "[(1.5,2.1,0.2),(1.9,0.7))", }, { kr: KeyRange{Key{NullInt64{1, true}}, Key{10}, ClosedClosed}, wantProto: &sppb.KeyRange{ - &sppb.KeyRange_StartClosed{listValueProto(stringProto("1"))}, - &sppb.KeyRange_EndClosed{listValueProto(stringProto("10"))}, + StartKeyType: &sppb.KeyRange_StartClosed{StartClosed: listValueProto(stringProto("1"))}, + EndKeyType: &sppb.KeyRange_EndClosed{EndClosed: listValueProto(stringProto("10"))}, }, wantStr: "[(1),(10)]", }, @@ -296,8 +296,8 @@ func TestKeySets(t *testing.T) { KeyRange{Key{1}, Key{2}, ClosedOpen}, &sppb.KeySet{Ranges: []*sppb.KeyRange{ &sppb.KeyRange{ - &sppb.KeyRange_StartClosed{listValueProto(int1)}, - &sppb.KeyRange_EndOpen{listValueProto(int2)}, + StartKeyType: &sppb.KeyRange_StartClosed{StartClosed: listValueProto(int1)}, + EndKeyType: &sppb.KeyRange_EndOpen{EndOpen: listValueProto(int2)}, }, }}, }, @@ -305,8 +305,8 @@ func TestKeySets(t *testing.T) { Key{2}.AsPrefix(), &sppb.KeySet{Ranges: []*sppb.KeyRange{ &sppb.KeyRange{ - &sppb.KeyRange_StartClosed{listValueProto(int2)}, - &sppb.KeyRange_EndClosed{listValueProto(int2)}, + StartKeyType: &sppb.KeyRange_StartClosed{StartClosed: listValueProto(int2)}, + EndKeyType: &sppb.KeyRange_EndClosed{EndClosed: listValueProto(int2)}, }, }}, }, @@ -318,12 +318,12 @@ func TestKeySets(t *testing.T) { &sppb.KeySet{ Ranges: []*sppb.KeyRange{ &sppb.KeyRange{ - &sppb.KeyRange_StartClosed{listValueProto(int1)}, - &sppb.KeyRange_EndClosed{listValueProto(int2)}, + StartKeyType: &sppb.KeyRange_StartClosed{StartClosed: listValueProto(int1)}, + EndKeyType: &sppb.KeyRange_EndClosed{EndClosed: listValueProto(int2)}, }, &sppb.KeyRange{ - &sppb.KeyRange_StartOpen{listValueProto(int3)}, - &sppb.KeyRange_EndClosed{listValueProto(int4)}, + StartKeyType: &sppb.KeyRange_StartOpen{StartOpen: listValueProto(int3)}, + EndKeyType: &sppb.KeyRange_EndClosed{EndClosed: listValueProto(int4)}, }, }, }, @@ -342,12 +342,12 @@ func TestKeySets(t *testing.T) { }, Ranges: []*sppb.KeyRange{ &sppb.KeyRange{ - &sppb.KeyRange_StartClosed{listValueProto(int2)}, - &sppb.KeyRange_EndClosed{listValueProto(int3)}, + StartKeyType: &sppb.KeyRange_StartClosed{StartClosed: listValueProto(int2)}, + EndKeyType: &sppb.KeyRange_EndClosed{EndClosed: listValueProto(int3)}, }, &sppb.KeyRange{ - &sppb.KeyRange_StartOpen{listValueProto(int4)}, - &sppb.KeyRange_EndClosed{listValueProto(intProto(5))}, + StartKeyType: &sppb.KeyRange_StartOpen{StartOpen: listValueProto(int4)}, + EndKeyType: &sppb.KeyRange_EndClosed{EndClosed: listValueProto(intProto(5))}, }, }, }, diff --git a/vendor/cloud.google.com/go/spanner/mutation.go b/vendor/cloud.google.com/go/spanner/mutation.go index 81f25746d..4eac91568 100644 --- a/vendor/cloud.google.com/go/spanner/mutation.go +++ b/vendor/cloud.google.com/go/spanner/mutation.go @@ -126,7 +126,7 @@ type Mutation struct { // op is the operation type of the mutation. // See documentation for spanner.op for more details. op op - // Table is the name of the taget table to be modified. + // Table is the name of the target table to be modified. table string // keySet is a set of primary keys that names the rows // in a delete operation. diff --git a/vendor/cloud.google.com/go/spanner/protoutils.go b/vendor/cloud.google.com/go/spanner/protoutils.go index df12432d5..a6fcdd701 100644 --- a/vendor/cloud.google.com/go/spanner/protoutils.go +++ b/vendor/cloud.google.com/go/spanner/protoutils.go @@ -101,7 +101,7 @@ func listType(t *sppb.Type) *sppb.Type { } func mkField(n string, t *sppb.Type) *sppb.StructType_Field { - return &sppb.StructType_Field{n, t} + return &sppb.StructType_Field{Name: n, Type: t} } func structType(fields ...*sppb.StructType_Field) *sppb.Type { diff --git a/vendor/cloud.google.com/go/spanner/row.go b/vendor/cloud.google.com/go/spanner/row.go index 62f84397a..200fda55a 100644 --- a/vendor/cloud.google.com/go/spanner/row.go +++ b/vendor/cloud.google.com/go/spanner/row.go @@ -50,19 +50,19 @@ import ( // Supported types and their corresponding Cloud Spanner column type(s) are: // // *string(not NULL), *NullString - STRING -// *[]NullString - STRING ARRAY +// *[]string, *[]NullString - STRING ARRAY // *[]byte - BYTES // *[][]byte - BYTES ARRAY // *int64(not NULL), *NullInt64 - INT64 -// *[]NullInt64 - INT64 ARRAY +// *[]int64, *[]NullInt64 - INT64 ARRAY // *bool(not NULL), *NullBool - BOOL -// *[]NullBool - BOOL ARRAY +// *[]bool, *[]NullBool - BOOL ARRAY // *float64(not NULL), *NullFloat64 - FLOAT64 -// *[]NullFloat64 - FLOAT64 ARRAY +// *[]float64, *[]NullFloat64 - FLOAT64 ARRAY // *time.Time(not NULL), *NullTime - TIMESTAMP -// *[]NullTime - TIMESTAMP ARRAY +// *[]time.Time, *[]NullTime - TIMESTAMP ARRAY // *Date(not NULL), *NullDate - DATE -// *[]NullDate - DATE ARRAY +// *[]civil.Date, *[]NullDate - DATE ARRAY // *[]*some_go_struct, *[]NullRow - STRUCT ARRAY // *GenericColumnValue - any Cloud Spanner type // diff --git a/vendor/cloud.google.com/go/spanner/row_test.go b/vendor/cloud.google.com/go/spanner/row_test.go index 2120421ac..d5669557b 100644 --- a/vendor/cloud.google.com/go/spanner/row_test.go +++ b/vendor/cloud.google.com/go/spanner/row_test.go @@ -413,11 +413,11 @@ func TestColumnTypeErr(t *testing.T) { badDst := &struct{}{} for i, f := range row.fields { // For each of the columns, try to decode it into badDst. tc := f.Type.Code - isArray := strings.Contains(f.Name, "ARRAY") - if isArray { - tc = f.Type.ArrayElementType.Code + var etc sppb.TypeCode + if strings.Contains(f.Name, "ARRAY") { + etc = f.Type.ArrayElementType.Code } - wantErr := errDecodeColumn(i, errTypeMismatch(tc, isArray, badDst)) + wantErr := errDecodeColumn(i, errTypeMismatch(tc, etc, badDst)) if gotErr := row.Column(i, badDst); !reflect.DeepEqual(gotErr, wantErr) { t.Errorf("Column(%v): decoding into destination with wrong type %T returns error %v, want %v", i, badDst, gotErr, wantErr) @@ -427,7 +427,7 @@ func TestColumnTypeErr(t *testing.T) { f.Name, badDst, gotErr, wantErr) } } - wantErr := errDecodeColumn(1, errTypeMismatch(sppb.TypeCode_STRING, false, badDst)) + wantErr := errDecodeColumn(1, errTypeMismatch(sppb.TypeCode_STRING, sppb.TypeCode_TYPE_CODE_UNSPECIFIED, badDst)) // badDst is used to receive column 1. vals := []interface{}{nil, badDst} // Row.Column() is expected to fail at column 1. // Skip decoding the rest columns by providing nils as the destinations. @@ -571,7 +571,7 @@ func TestToStructInvalidDst(t *testing.T) { PK1 int64 `spanner:"STRING"` }{}, errDecodeStructField(&sppb.StructType{Fields: row.fields}, "STRING", - errTypeMismatch(sppb.TypeCode_STRING, false, proto.Int64(0))), + errTypeMismatch(sppb.TypeCode_STRING, sppb.TypeCode_TYPE_CODE_UNSPECIFIED, proto.Int64(0))), }, } { if gotErr := row.ToStruct(test.dst); !reflect.DeepEqual(gotErr, test.wantErr) { @@ -1773,3 +1773,12 @@ func TestNewRow(t *testing.T) { } } } + +func BenchmarkColumn(b *testing.B) { + var s string + for i := 0; i < b.N; i++ { + if err := row.Column(0, &s); err != nil { + b.Fatal(err) + } + } +} diff --git a/vendor/cloud.google.com/go/spanner/session.go b/vendor/cloud.google.com/go/spanner/session.go index 6930a3aba..ccd904a54 100644 --- a/vendor/cloud.google.com/go/spanner/session.go +++ b/vendor/cloud.google.com/go/spanner/session.go @@ -201,6 +201,7 @@ func (s *session) refreshIdle() bool { if s.valid && s.idleList != nil { // session is in idle list, refresh its session id. sid, s.id = s.id, sid + s.createTime = time.Now() if s.tx != nil { s.tx = nil s.pool.idleWriteList.Remove(s.idleList) @@ -351,17 +352,23 @@ type SessionPoolConfig struct { // to be broken, it will still be evicted from session pool, therefore it is // posssible that the number of opened sessions drops below MinOpened. MinOpened uint64 - // MaxSessionAge is the maximum duration that a session can be reused, zero + // maxSessionAge is the maximum duration that a session can be reused, zero // means session pool will never expire sessions. - MaxSessionAge time.Duration + maxSessionAge time.Duration + // MaxIdle is the maximum number of idle sessions, pool is allowed to keep. Defaults to 0. + MaxIdle uint64 // MaxBurst is the maximum number of concurrent session creation requests. Defaults to 10. MaxBurst uint64 // WriteSessions is the fraction of sessions we try to keep prepared for write. WriteSessions float64 // HealthCheckWorkers is number of workers used by health checker for this pool. HealthCheckWorkers int - // HealthCheckInterval is how often the health checker pings a session. + // HealthCheckInterval is how often the health checker pings a session. Defaults to 5 min. HealthCheckInterval time.Duration + // healthCheckMaintainerEnabled enables the session pool maintainer. + healthCheckMaintainerEnabled bool + // healthCheckSampleInterval is how often the health checker samples live session (for use in maintaining session pool size). Defaults to 1 min. + healthCheckSampleInterval time.Duration } // errNoRPCGetter returns error for SessionPoolConfig missing getRPCClient method. @@ -436,9 +443,13 @@ func newSessionPool(db string, config SessionPoolConfig, md metadata.MD) (*sessi if config.HealthCheckInterval == 0 { config.HealthCheckInterval = 5 * time.Minute } + if config.healthCheckSampleInterval == 0 { + config.healthCheckSampleInterval = time.Minute + } // On GCE VM, within the same region an healthcheck ping takes on average 10ms to finish, given a 5 minutes interval and // 10 healthcheck workers, a healthChecker can effectively mantain 100 checks_per_worker/sec * 10 workers * 300 seconds = 300K sessions. - pool.hc = newHealthChecker(config.HealthCheckInterval, config.HealthCheckWorkers, pool) + pool.hc = newHealthChecker(config.HealthCheckInterval, config.HealthCheckWorkers, config.healthCheckSampleInterval, pool) + close(pool.hc.ready) return pool, nil } @@ -666,15 +677,15 @@ func (p *sessionPool) recycle(s *session) bool { // Reject the session if session is invalid or pool itself is invalid. return false } - if p.MaxSessionAge != 0 && s.createTime.Add(p.MaxSessionAge).Before(time.Now()) && p.numOpened > p.MinOpened { - // session expires and number of opened sessions exceeds MinOpened, let the session destroy itself. + if p.maxSessionAge != 0 && s.createTime.Add(p.maxSessionAge).Before(time.Now()) && p.numOpened > p.MinOpened { + // session expires and number of opened sessions exceeds MinOpened, let the session itself. return false } - // Hot sessions will be converging at the front of the list, cold sessions will be evicted by healthcheck workers. + // Put session at the back of the list to round robin for load balancing across channels. if s.isWritePrepared() { - s.setIdleList(p.idleWriteList.PushFront(s)) + s.setIdleList(p.idleWriteList.PushBack(s)) } else { - s.setIdleList(p.idleList.PushFront(s)) + s.setIdleList(p.idleList.PushBack(s)) } // Broadcast that a session has been returned to idle list. close(p.mayGetSession) @@ -762,21 +773,34 @@ type healthChecker struct { waitWorkers sync.WaitGroup // pool is the underlying session pool. pool *sessionPool - // closed marks if a healthChecker has been closed. - closed bool + // sampleInterval is the interval of sampling by the maintainer. + sampleInterval time.Duration + // ready is used to signal that maintainer can start running. + ready chan struct{} + // done is used to signal that health checker should be closed. + done chan struct{} + // once is used for closing channel done only once. + once sync.Once } // newHealthChecker initializes new instance of healthChecker. -func newHealthChecker(interval time.Duration, workers int, pool *sessionPool) *healthChecker { +func newHealthChecker(interval time.Duration, workers int, sampleInterval time.Duration, pool *sessionPool) *healthChecker { if workers <= 0 { workers = 1 } hc := &healthChecker{ - interval: interval, - workers: workers, - pool: pool, + interval: interval, + workers: workers, + pool: pool, + sampleInterval: sampleInterval, + ready: make(chan struct{}), + done: make(chan struct{}), } - for i := 0; i < hc.workers; i++ { + if hc.pool.healthCheckMaintainerEnabled { + hc.waitWorkers.Add(1) + go hc.maintainer() + } + for i := 1; i <= hc.workers; i++ { hc.waitWorkers.Add(1) go hc.worker(i) } @@ -785,17 +809,18 @@ func newHealthChecker(interval time.Duration, workers int, pool *sessionPool) *h // close closes the healthChecker and waits for all healthcheck workers to exit. func (hc *healthChecker) close() { - hc.mu.Lock() - hc.closed = true - hc.mu.Unlock() + hc.once.Do(func() { close(hc.done) }) hc.waitWorkers.Wait() } // isClosing checks if a healthChecker is already closing. func (hc *healthChecker) isClosing() bool { - hc.mu.Lock() - defer hc.mu.Unlock() - return hc.closed + select { + case <-hc.done: + return true + default: + return false + } } // getInterval gets the healthcheck interval. @@ -856,7 +881,7 @@ func (hc *healthChecker) healthCheck(s *session) { s.destroy(false) return } - if s.pool.MaxSessionAge != 0 && s.createTime.Add(s.pool.MaxSessionAge).Before(time.Now()) { + if s.pool.maxSessionAge != 0 && s.createTime.Add(s.pool.maxSessionAge).Before(time.Now()) { // Session reaches its maximum age, retire it. Failing that try to refresh it. if s.destroy(true) || !s.refreshIdle() { return @@ -870,9 +895,6 @@ func (hc *healthChecker) healthCheck(s *session) { // worker performs the healthcheck on sessions in healthChecker's priority queue. func (hc *healthChecker) worker(i int) { - if log.V(2) { - log.Infof("Starting health check worker %v", i) - } // Returns a session which we should ping to keep it alive. getNextForPing := func() *session { hc.pool.mu.Lock() @@ -918,9 +940,6 @@ func (hc *healthChecker) worker(i int) { for { if hc.isClosing() { - if log.V(2) { - log.Infof("Closing health check worker %v", i) - } // Exit when the pool has been closed and all sessions have been destroyed // or when health checker has been closed. hc.waitWorkers.Done() @@ -929,8 +948,12 @@ func (hc *healthChecker) worker(i int) { ws := getNextForTx() if ws != nil { ctx, cancel := context.WithTimeout(context.Background(), time.Second) - defer cancel() - ws.prepareForWrite(contextWithOutgoingMetadata(ctx, hc.pool.md)) + err := ws.prepareForWrite(contextWithOutgoingMetadata(ctx, hc.pool.md)) + cancel() + if err != nil { + // TODO(dixiao): handle error properly + log.Errorf("prepareForWrite failed: %v", err) + } hc.pool.recycle(ws) hc.pool.mu.Lock() hc.pool.prepareReqs-- @@ -945,7 +968,13 @@ func (hc *healthChecker) worker(i int) { if pause > int64(hc.interval) { pause = int64(hc.interval) } - <-time.After(time.Duration(rand.Int63n(pause) + pause/2)) + select { + case <-time.After(time.Duration(rand.Int63n(pause) + pause/2)): + break + case <-hc.done: + break + } + } continue } @@ -953,6 +982,135 @@ func (hc *healthChecker) worker(i int) { } } +// maintainer maintains the maxSessionsInUse by a window of kWindowSize * sampleInterval. +// Based on this information, health checker will try to maintain the number of sessions by hc.. +func (hc *healthChecker) maintainer() { + // Wait so that pool is ready. + <-hc.ready + + var ( + windowSize uint64 = 10 + iteration uint64 + timeout <-chan time.Time + ) + + // replenishPool is run if numOpened is less than sessionsToKeep, timeouts on sampleInterval. + replenishPool := func(sessionsToKeep uint64) { + ctx, _ := context.WithTimeout(context.Background(), hc.sampleInterval) + for { + select { + case <-timeout: + return + default: + break + } + + p := hc.pool + p.mu.Lock() + // Take budget before the actual session creation. + if sessionsToKeep <= p.numOpened { + p.mu.Unlock() + break + } + p.numOpened++ + p.createReqs++ + shouldPrepareWrite := p.shouldPrepareWrite() + p.mu.Unlock() + var ( + s *session + err error + ) + if s, err = p.createSession(ctx); err != nil { + log.Warningf("Failed to create session, error: %v", toSpannerError(err)) + continue + } + if shouldPrepareWrite { + if err = s.prepareForWrite(ctx); err != nil { + log.Warningf("Failed to prepare session, error: %v", toSpannerError(err)) + continue + } + } + p.recycle(s) + } + } + + // shrinkPool, scales down the session pool. + shrinkPool := func(sessionsToKeep uint64) { + for { + select { + case <-timeout: + return + default: + break + } + + p := hc.pool + p.mu.Lock() + + if sessionsToKeep >= p.numOpened { + p.mu.Unlock() + break + } + + var s *session + if p.idleList.Len() > 0 { + s = p.idleList.Front().Value.(*session) + } else if p.idleWriteList.Len() > 0 { + s = p.idleWriteList.Front().Value.(*session) + } + p.mu.Unlock() + if s != nil { + // destroy session as expire. + s.destroy(true) + } else { + break + } + } + } + + for { + if hc.isClosing() { + hc.waitWorkers.Done() + return + } + + // maxSessionsInUse is the maximum number of sessions in use concurrently over a period of time. + var maxSessionsInUse uint64 + + // Updates metrics. + hc.pool.mu.Lock() + currSessionsInUse := hc.pool.numOpened - uint64(hc.pool.idleList.Len()) - uint64(hc.pool.idleWriteList.Len()) + currSessionsOpened := hc.pool.numOpened + hc.pool.mu.Unlock() + + hc.mu.Lock() + if iteration%windowSize == 0 || maxSessionsInUse < currSessionsInUse { + maxSessionsInUse = currSessionsInUse + } + sessionsToKeep := maxUint64(hc.pool.MinOpened, + minUint64(currSessionsOpened, hc.pool.MaxIdle+maxSessionsInUse)) + hc.mu.Unlock() + + timeout = time.After(hc.sampleInterval) + // Replenish or Shrink pool if needed. + // Note: we don't need to worry about pending create session requests, we only need to sample the current sessions in use. + // the routines will not try to create extra / delete creating sessions. + if sessionsToKeep > currSessionsOpened { + replenishPool(sessionsToKeep) + } else { + shrinkPool(sessionsToKeep) + } + + select { + case <-timeout: + break + case <-hc.done: + break + } + iteration++ + } +} + // shouldDropSession returns true if a particular error leads to the removal of a session func shouldDropSession(err error) bool { if err == nil { diff --git a/vendor/cloud.google.com/go/spanner/session_test.go b/vendor/cloud.google.com/go/spanner/session_test.go index 7c3d4f88e..3fc6fcc8c 100644 --- a/vendor/cloud.google.com/go/spanner/session_test.go +++ b/vendor/cloud.google.com/go/spanner/session_test.go @@ -38,7 +38,13 @@ func setup(t *testing.T, spc SessionPoolConfig) (sp *sessionPool, sc *testutil.M spc.getRPCClient = func() (sppb.SpannerClient, error) { return sc, nil } - spc.HealthCheckInterval = 50 * time.Millisecond + if spc.HealthCheckInterval == 0 { + spc.HealthCheckInterval = 50 * time.Millisecond + } + if spc.healthCheckSampleInterval == 0 { + spc.healthCheckSampleInterval = 10 * time.Millisecond + } + spc.healthCheckMaintainerEnabled = true sp, err := newSessionPool("mockdb", spc, nil) if err != nil { t.Fatalf("cannot create session pool: %v", err) @@ -51,6 +57,7 @@ func setup(t *testing.T, spc SessionPoolConfig) (sp *sessionPool, sc *testutil.M // TestSessionCreation tests session creation during sessionPool.Take(). func TestSessionCreation(t *testing.T) { + t.Parallel() sp, sc, cancel := setup(t, SessionPoolConfig{}) defer cancel() // Take three sessions from session pool, this should trigger session pool to create three new sessions. @@ -96,7 +103,8 @@ func TestSessionCreation(t *testing.T) { // TestTakeFromIdleList tests taking sessions from session pool's idle list. func TestTakeFromIdleList(t *testing.T) { - sp, sc, cancel := setup(t, SessionPoolConfig{}) + t.Parallel() + sp, sc, cancel := setup(t, SessionPoolConfig{MaxIdle: 10}) // make sure maintainer keeps the idle sessions defer cancel() // Take ten sessions from session pool and recycle them. shs := make([]*sessionHandle, 10) @@ -107,6 +115,8 @@ func TestTakeFromIdleList(t *testing.T) { t.Errorf("failed to get session(%v): %v", i, err) } } + // Make sure it's sampled once before recycling, otherwise it will be cleaned up. + <-time.After(sp.SessionPoolConfig.healthCheckSampleInterval) for i := 0; i < len(shs); i++ { shs[i].recycle() } @@ -131,7 +141,8 @@ func TestTakeFromIdleList(t *testing.T) { // TesttakeWriteSessionFromIdleList tests taking write sessions from session pool's idle list. func TestTakeWriteSessionFromIdleList(t *testing.T) { - sp, sc, cancel := setup(t, SessionPoolConfig{}) + t.Parallel() + sp, sc, cancel := setup(t, SessionPoolConfig{MaxIdle: 20}) // make sure maintainer keeps the idle sessions defer cancel() act := testutil.NewAction("Begin", nil) acts := make([]testutil.Action, 20) @@ -148,6 +159,8 @@ func TestTakeWriteSessionFromIdleList(t *testing.T) { t.Errorf("failed to get session(%v): %v", i, err) } } + // Make sure it's sampled once before recycling, otherwise it will be cleaned up. + <-time.After(sp.SessionPoolConfig.healthCheckSampleInterval) for i := 0; i < len(shs); i++ { shs[i].recycle() } @@ -172,10 +185,11 @@ func TestTakeWriteSessionFromIdleList(t *testing.T) { // TestTakeFromIdleListChecked tests taking sessions from session pool's idle list, but with a extra ping check. func TestTakeFromIdleListChecked(t *testing.T) { + t.Parallel() if testing.Short() { t.SkipNow() } - sp, sc, cancel := setup(t, SessionPoolConfig{}) + sp, sc, cancel := setup(t, SessionPoolConfig{MaxIdle: 1}) // make sure maintainer keeps the idle sessions defer cancel() // Stop healthcheck workers to simulate slow pings. sp.hc.close() @@ -184,6 +198,8 @@ func TestTakeFromIdleListChecked(t *testing.T) { if err != nil { t.Errorf("failed to get session: %v", err) } + // Make sure it's sampled once before recycling, otherwise it will be cleaned up. + <-time.After(sp.SessionPoolConfig.healthCheckSampleInterval) wantSid := sh.getID() sh.recycle() <-time.After(time.Second) @@ -225,10 +241,11 @@ func TestTakeFromIdleListChecked(t *testing.T) { // TestTakeFromIdleWriteListChecked tests taking sessions from session pool's idle list, but with a extra ping check. func TestTakeFromIdleWriteListChecked(t *testing.T) { + t.Parallel() if testing.Short() { t.SkipNow() } - sp, sc, cancel := setup(t, SessionPoolConfig{}) + sp, sc, cancel := setup(t, SessionPoolConfig{MaxIdle: 1}) // make sure maintainer keeps the idle sessions defer cancel() sc.MakeNice() // Stop healthcheck workers to simulate slow pings. @@ -239,6 +256,8 @@ func TestTakeFromIdleWriteListChecked(t *testing.T) { t.Errorf("failed to get session: %v", err) } wantSid := sh.getID() + // Make sure it's sampled once before recycling, otherwise it will be cleaned up. + <-time.After(sp.SessionPoolConfig.healthCheckSampleInterval) sh.recycle() <-time.After(time.Second) // Two back-to-back session requests, both of them should return the same session created before and @@ -279,6 +298,7 @@ func TestTakeFromIdleWriteListChecked(t *testing.T) { // TestMaxOpenedSessions tests max open sessions constraint. func TestMaxOpenedSessions(t *testing.T) { + t.Parallel() if testing.Short() { t.SkipNow() } @@ -337,12 +357,13 @@ func TestMinOpenedSessions(t *testing.T) { defer sp.mu.Unlock() // There should be still one session left in idle list due to the min open sessions constraint. if sp.idleList.Len() != 1 { - t.Errorf("got %v sessions in idle list, want 1", sp.idleList.Len()) + t.Errorf("got %v sessions in idle list, want 1 %d", sp.idleList.Len(), sp.numOpened) } } // TestMaxBurst tests max burst constraint. func TestMaxBurst(t *testing.T) { + t.Parallel() if testing.Short() { t.SkipNow() } @@ -385,13 +406,29 @@ func TestMaxBurst(t *testing.T) { // TestSessionrecycle tests recycling sessions. func TestSessionRecycle(t *testing.T) { + t.Parallel() if testing.Short() { t.SkipNow() } - sp, _, cancel := setup(t, SessionPoolConfig{MaxSessionAge: 100 * time.Millisecond, MinOpened: 1}) + sp, _, cancel := setup(t, SessionPoolConfig{maxSessionAge: 100 * time.Millisecond, MinOpened: 1, MaxIdle: 2}) + // Set MaxIdle to ensure shs[0] is not destroyed from scale down. // Healthcheck is explicitly turned off in this test because it might aggressively expire sessions in idle list. sp.hc.close() defer cancel() + + // Test session is correctly recycled and reused. + for i := 0; i < 20; i++ { + s, err := sp.take(context.Background()) + if err != nil { + t.Errorf("cannot get the session %v: %v", i, err) + } + s.recycle() + } + if sp.numOpened != 1 { + t.Errorf("Expect session pool size %d, got %d", 1, sp.numOpened) + } + + // Test recycling expired session. var ss []*session shs := make([]*sessionHandle, 2) for i := 0; i < len(shs); i++ { @@ -419,6 +456,7 @@ func TestSessionRecycle(t *testing.T) { // TestSessionDestroy tests destroying sessions. func TestSessionDestroy(t *testing.T) { + t.Parallel() sp, _, cancel := setup(t, SessionPoolConfig{MinOpened: 1}) defer cancel() sh, err := sp.take(context.Background()) @@ -471,6 +509,7 @@ func TestHcHeap(t *testing.T) { // TestHealthCheckScheduler tests if healthcheck workers can schedule and perform healthchecks properly. func TestHealthCheckScheduler(t *testing.T) { + t.Parallel() if testing.Short() { t.SkipNow() } @@ -506,7 +545,7 @@ func TestWriteSessionsPrepared(t *testing.T) { if testing.Short() { t.SkipNow() } - sp, sc, cancel := setup(t, SessionPoolConfig{WriteSessions: 0.5}) + sp, sc, cancel := setup(t, SessionPoolConfig{WriteSessions: 0.5, MaxIdle: 20}) sc.MakeNice() defer cancel() shs := make([]*sessionHandle, 10) @@ -557,10 +596,11 @@ func TestWriteSessionsPrepared(t *testing.T) { // TestTakeFromWriteQueue tests that sessionPool.take() returns write prepared sessions as well. func TestTakeFromWriteQueue(t *testing.T) { + t.Parallel() if testing.Short() { t.SkipNow() } - sp, sc, cancel := setup(t, SessionPoolConfig{MaxOpened: 1, WriteSessions: 1.0}) + sp, sc, cancel := setup(t, SessionPoolConfig{MaxOpened: 1, WriteSessions: 1.0, MaxIdle: 1}) sc.MakeNice() defer cancel() sh, err := sp.take(context.Background()) @@ -585,10 +625,11 @@ func TestTakeFromWriteQueue(t *testing.T) { // TestSessionHealthCheck tests healthchecking cases. func TestSessionHealthCheck(t *testing.T) { + t.Parallel() if testing.Short() { t.SkipNow() } - sp, sc, cancel := setup(t, SessionPoolConfig{MaxSessionAge: 2 * time.Second}) + sp, sc, cancel := setup(t, SessionPoolConfig{maxSessionAge: 2 * time.Second}) defer cancel() // Test pinging sessions. sh, err := sp.take(context.Background()) @@ -632,7 +673,7 @@ func TestSessionHealthCheck(t *testing.T) { // Test session id refresh. // Recreate the session pool with min open sessions constraint. sp, err = newSessionPool("mockdb", SessionPoolConfig{ - MaxSessionAge: time.Second, + maxSessionAge: time.Second, MinOpened: 1, getRPCClient: func() (sppb.SpannerClient, error) { return sc, nil @@ -667,21 +708,23 @@ func TestSessionHealthCheck(t *testing.T) { // During the test, it is expected that all sessions that are taken from session pool remains valid and // when all test workers and healthcheck workers exit, mockclient, session pool and healthchecker should be in consistent state. func TestStressSessionPool(t *testing.T) { + t.Parallel() // Use concurrent workers to test different session pool built from different configurations. if testing.Short() { t.SkipNow() } for ti, cfg := range []SessionPoolConfig{ SessionPoolConfig{}, - SessionPoolConfig{MaxSessionAge: 20 * time.Millisecond}, + SessionPoolConfig{maxSessionAge: 20 * time.Millisecond}, SessionPoolConfig{MinOpened: 10, MaxOpened: 100}, SessionPoolConfig{MaxBurst: 50}, - SessionPoolConfig{MaxSessionAge: 20 * time.Millisecond, MinOpened: 10, MaxOpened: 200, MaxBurst: 5}, - SessionPoolConfig{MaxSessionAge: 20 * time.Millisecond, MinOpened: 10, MaxOpened: 200, MaxBurst: 5, WriteSessions: 0.2}, + SessionPoolConfig{maxSessionAge: 20 * time.Millisecond, MinOpened: 10, MaxOpened: 200, MaxBurst: 5}, + SessionPoolConfig{maxSessionAge: 20 * time.Millisecond, MinOpened: 10, MaxOpened: 200, MaxBurst: 5, WriteSessions: 0.2}, } { var wg sync.WaitGroup // Create a more aggressive session healthchecker to increase test concurrency. cfg.HealthCheckInterval = 50 * time.Millisecond + cfg.healthCheckSampleInterval = 10 * time.Millisecond cfg.HealthCheckWorkers = 50 sc := testutil.NewMockCloudSpannerClient(t) sc.MakeNice() @@ -728,9 +771,9 @@ func TestStressSessionPool(t *testing.T) { if takeWrite && sh.getTransactionID() == nil { t.Errorf("%v.%v: pool.takeWriteSession returns session %v without transaction", ti, idx, sh.session) } - if int64(cfg.MaxSessionAge) > 0 && rand.Intn(100) < idx { + if int64(cfg.maxSessionAge) > 0 && rand.Intn(100) < idx { // Random sleep before destroying/recycling the session, to give healthcheck worker a chance to step in. - <-time.After(time.Duration(rand.Int63n(int64(cfg.MaxSessionAge)))) + <-time.After(time.Duration(rand.Int63n(int64(cfg.maxSessionAge)))) } if rand.Intn(100) < idx { // destroy the session. @@ -763,6 +806,7 @@ func TestStressSessionPool(t *testing.T) { } idleSessions[s.getID()] = true } + sp.mu.Lock() if int(sp.numOpened) != len(idleSessions) { t.Errorf("%v: number of opened sessions (%v) != number of idle sessions (%v)", ti, sp.numOpened, len(idleSessions)) } @@ -776,6 +820,8 @@ func TestStressSessionPool(t *testing.T) { } hcSessions[s.getID()] = true } + sp.mu.Unlock() + // Verify that idleSessions == hcSessions == mockSessions. if !reflect.DeepEqual(idleSessions, hcSessions) { t.Errorf("%v: sessions in idle list (%v) != sessions in healthcheck queue (%v)", ti, idleSessions, hcSessions) @@ -790,3 +836,66 @@ func TestStressSessionPool(t *testing.T) { } } } + +// TestMaintainer checks the session pool maintainer maintains the number of sessions in the following cases +// 1. On initialization of session pool, replenish session pool to meet MinOpened or MaxIdle. +// 2. On increased session usage, provision extra MaxIdle sessions. +// 3. After the surge passes, scale down the session pool accordingly. +func TestMaintainer(t *testing.T) { + t.Parallel() + if testing.Short() { + t.SkipNow() + } + var ( + minOpened uint64 = 5 + maxIdle uint64 = 4 + ) + sp, _, cancel := setup(t, SessionPoolConfig{MinOpened: minOpened, MaxIdle: maxIdle}) + sampleInterval := sp.SessionPoolConfig.healthCheckSampleInterval + hcInterval := sp.SessionPoolConfig.HealthCheckInterval + defer cancel() + + <-time.After(sampleInterval * 1) + sp.mu.Lock() + if sp.numOpened != 5 { + t.Errorf("Replenish. Expect %d open, got %d", sp.MinOpened, sp.numOpened) + } + sp.mu.Unlock() + + // To save test time, we are not creating many sessions, because the time to create sessions will have impact on the decision on sessionsToKeep. We also parallelize the take and recycle process. + shs := make([]*sessionHandle, 10) + for i := 0; i < len(shs); i++ { + var err error + shs[i], err = sp.take(context.Background()) + if err != nil { + t.Errorf("cannot get session from session pool: %v", err) + } + } + sp.mu.Lock() + if sp.numOpened != 10 { + t.Errorf("Scale out from normal use. Expect %d open, got %d", 10, sp.numOpened) + } + sp.mu.Unlock() + + <-time.After(sampleInterval) + for _, sh := range shs[:7] { + sh.recycle() + } + + <-time.After(sampleInterval * 2) + sp.mu.Lock() + if sp.numOpened != 7 { + t.Errorf("Keep extra MaxIdle sessions. Expect %d open, got %d", 7, sp.numOpened) + } + sp.mu.Unlock() + + for _, sh := range shs[7:] { + sh.recycle() + } + <-time.After(sampleInterval*10 + hcInterval) + sp.mu.Lock() + if sp.numOpened != minOpened { + t.Errorf("Scale down. Expect %d open, got %d", minOpened, sp.numOpened) + } + sp.mu.Unlock() +} diff --git a/vendor/cloud.google.com/go/spanner/spanner_test.go b/vendor/cloud.google.com/go/spanner/spanner_test.go index 631748394..0b14696a7 100644 --- a/vendor/cloud.google.com/go/spanner/spanner_test.go +++ b/vendor/cloud.google.com/go/spanner/spanner_test.go @@ -17,8 +17,12 @@ limitations under the License. package spanner import ( + "errors" + "flag" "fmt" + "log" "math" + "os" "reflect" "strings" "sync" @@ -43,14 +47,8 @@ var ( // testInstanceID specifies the Cloud Spanner instance used for testing. testInstanceID = "go-integration-test" - // client is a spanner.Client. - client *Client // admin is a spanner.DatabaseAdminClient. admin *database.DatabaseAdminClient - // db is the path of the testing database. - db string - // dbName is the short name of the testing database. - dbName string ) var ( @@ -99,29 +97,53 @@ var ( type testTableRow struct{ Key, StringValue string } -// prepare initializes Cloud Spanner testing DB and clients. -func prepare(ctx context.Context, t *testing.T, statements []string) error { +func TestMain(m *testing.M) { + initIntegrationTest() + os.Exit(m.Run()) +} + +func initIntegrationTest() { + flag.Parse() // needed for testing.Short() if testing.Short() { - t.Skip("Integration tests skipped in short mode") + return } if testProjectID == "" { - t.Skip("Integration tests skipped: GCLOUD_TESTS_GOLANG_PROJECT_ID is missing") + log.Print("Integration tests skipped: GCLOUD_TESTS_GOLANG_PROJECT_ID is missing") + return } + ctx := context.Background() ts := testutil.TokenSource(ctx, AdminScope, Scope) if ts == nil { - t.Skip("Integration test skipped: cannot get service account credential from environment variable %v", "GCLOUD_TESTS_GOLANG_KEY") + log.Print("Integration test skipped: cannot get service account credential from environment variable %v", "GCLOUD_TESTS_GOLANG_KEY") + return } var err error // Create Admin client and Data client. // TODO: Remove the EndPoint option once this is the default. admin, err = database.NewDatabaseAdminClient(ctx, option.WithTokenSource(ts), option.WithEndpoint("spanner.googleapis.com:443")) if err != nil { - t.Errorf("cannot create admin client: %v", err) - return err + log.Fatalf("cannot create admin client: %v", err) } - // Construct test DB name. - dbName = fmt.Sprintf("gotest_%v", time.Now().UnixNano()) - db = fmt.Sprintf("projects/%v/instances/%v/databases/%v", testProjectID, testInstanceID, dbName) +} + +var ( + mu sync.Mutex + count int + now = time.Now() +) + +// prepare initializes Cloud Spanner testing DB and clients. +func prepare(ctx context.Context, t *testing.T, statements []string) (client *Client, dbPath string, tearDown func()) { + if admin == nil { + t.Skip("Integration tests skipped") + } + // Construct a unique test DB name. + mu.Lock() + dbName := fmt.Sprintf("gotest_%d_%d", now.UnixNano(), count) + count++ + mu.Unlock() + + dbPath = fmt.Sprintf("projects/%v/instances/%v/databases/%v", testProjectID, testInstanceID, dbName) // Create database and tables. op, err := admin.CreateDatabase(ctx, &adminpb.CreateDatabaseRequest{ Parent: fmt.Sprintf("projects/%v/instances/%v", testProjectID, testInstanceID), @@ -129,53 +151,33 @@ func prepare(ctx context.Context, t *testing.T, statements []string) error { ExtraStatements: statements, }) if err != nil { - t.Errorf("cannot create testing DB %v: %v", db, err) - return err + t.Fatalf("cannot create testing DB %v: %v", dbPath, err) } if _, err := op.Wait(ctx); err != nil { - t.Errorf("cannot create testing DB %v: %v", db, err) - return err + t.Fatalf("cannot create testing DB %v: %v", dbPath, err) } - client, err = NewClientWithConfig(ctx, db, ClientConfig{ - SessionPoolConfig: SessionPoolConfig{ - WriteSessions: 0.2, - }, - }, option.WithTokenSource(ts)) + client, err = NewClientWithConfig(ctx, dbPath, ClientConfig{ + SessionPoolConfig: SessionPoolConfig{WriteSessions: 0.2}, + }, option.WithTokenSource(testutil.TokenSource(ctx, Scope))) if err != nil { - t.Errorf("cannot create data client on DB %v: %v", db, err) - return err + t.Fatalf("cannot create data client on DB %v: %v", dbPath, err) } - return nil -} - -// tearDown tears down the testing environment created by prepare(). -func tearDown(ctx context.Context, t *testing.T) { - if admin != nil { - if err := admin.DropDatabase(ctx, &adminpb.DropDatabaseRequest{db}); err != nil { - t.Logf("failed to drop testing database: %v, might need a manual removal", db) + return client, dbPath, func() { + if err := admin.DropDatabase(ctx, &adminpb.DropDatabaseRequest{dbPath}); err != nil { + t.Logf("failed to drop testing database: %v, might need a manual removal", dbPath) } - admin.Close() - } - if client != nil { client.Close() } - admin = nil - client = nil - db = "" } // Test SingleUse transaction. func TestSingleUse(t *testing.T) { - ctx, cancel := context.WithTimeout(context.Background(), 20*time.Second) + t.Parallel() + ctx, cancel := context.WithTimeout(context.Background(), 45*time.Second) defer cancel() // Set up testing environment. - if err := prepare(ctx, t, singerDBStatements); err != nil { - // If prepare() fails, tear down whatever that's already up. - tearDown(ctx, t) - t.Fatalf("cannot set up testing environment: %v", err) - } - // After all tests, tear down testing environment. - defer tearDown(ctx, t) + client, _, tearDown := prepare(ctx, t, singerDBStatements) + defer tearDown() writes := []struct { row []interface{} @@ -246,7 +248,7 @@ func TestSingleUse(t *testing.T) { ReadTimestamp(writes[2].ts), func(ts time.Time) error { if ts != writes[2].ts { - return fmt.Errorf("read got timestamp %v, expect %v", ts, writes[2].ts) + return fmt.Errorf("read got timestamp %v, want %v", ts, writes[2].ts) } return nil }, @@ -368,16 +370,12 @@ func TestSingleUse(t *testing.T) { // Test ReadOnlyTransaction. The testsuite is mostly like SingleUse, except it // also tests for a single timestamp across multiple reads. func TestReadOnlyTransaction(t *testing.T) { - ctx, cancel := context.WithTimeout(context.Background(), 20*time.Second) + t.Parallel() + ctx, cancel := context.WithTimeout(context.Background(), 45*time.Second) defer cancel() // Set up testing environment. - if err := prepare(ctx, t, singerDBStatements); err != nil { - // If prepare() fails, tear down whatever that's already up. - tearDown(ctx, t) - t.Fatalf("cannot set up testing environment: %v", err) - } - // After all tests, tear down testing environment. - defer tearDown(ctx, t) + client, _, tearDown := prepare(ctx, t, singerDBStatements) + defer tearDown() writes := []struct { row []interface{} @@ -554,16 +552,45 @@ func TestReadOnlyTransaction(t *testing.T) { } } +// Test ReadOnlyTransaction with different timestamp bound when there's an update at the same time. +func TestUpdateDuringRead(t *testing.T) { + t.Parallel() + ctx, cancel := context.WithTimeout(context.Background(), 45*time.Second) + defer cancel() + client, _, tearDown := prepare(ctx, t, singerDBStatements) + defer tearDown() + + for i, tb := range []TimestampBound{ + StrongRead(), + ReadTimestamp(time.Now().Add(-time.Minute * 30)), // version GC is 1 hour + ExactStaleness(time.Minute * 30), + } { + ro := client.ReadOnlyTransaction().WithTimestampBound(tb) + _, err := ro.ReadRow(ctx, "Singers", Key{i}, []string{"SingerId"}) + if ErrCode(err) != codes.NotFound { + t.Errorf("%d: ReadOnlyTransaction.ReadRow before write returns error: %v, want NotFound", i, err) + } + + m := InsertOrUpdate("Singers", []string{"SingerId"}, []interface{}{i}) + if _, err := client.Apply(ctx, []*Mutation{m}, ApplyAtLeastOnce()); err != nil { + t.Fatal(err) + } + + _, err = ro.ReadRow(ctx, "Singers", Key{i}, []string{"SingerId"}) + if ErrCode(err) != codes.NotFound { + t.Errorf("%d: ReadOnlyTransaction.ReadRow after write returns error: %v, want NotFound", i, err) + } + } +} + // Test ReadWriteTransaction. func TestReadWriteTransaction(t *testing.T) { + t.Parallel() // Give a longer deadline because of transaction backoffs. ctx, cancel := context.WithTimeout(context.Background(), 60*time.Second) defer cancel() - if err := prepare(ctx, t, singerDBStatements); err != nil { - tearDown(ctx, t) - t.Fatalf("cannot set up testing environment: %v", err) - } - defer tearDown(ctx, t) + client, _, tearDown := prepare(ctx, t, singerDBStatements) + defer tearDown() // Set up two accounts accounts := []*Mutation{ @@ -656,16 +683,12 @@ const ( var testTableColumns = []string{"Key", "StringValue"} func TestReads(t *testing.T) { - ctx, cancel := context.WithTimeout(context.Background(), 20*time.Second) + t.Parallel() + ctx, cancel := context.WithTimeout(context.Background(), 45*time.Second) defer cancel() // Set up testing environment. - if err := prepare(ctx, t, readDBStatements); err != nil { - // If prepare() fails, tear down whatever that's already up. - tearDown(ctx, t) - t.Fatalf("cannot set up testing environment: %v", err) - } - // After all tests, tear down testing environment. - defer tearDown(ctx, t) + client, _, tearDown := prepare(ctx, t, readDBStatements) + defer tearDown() // Includes k0..k14. Strings sort lexically, eg "k1" < "k10" < "k2". var ms []*Mutation @@ -720,11 +743,11 @@ func TestReads(t *testing.T) { // No index point read not found, because Go does not have ReadRowUsingIndex. - rangeReads(ctx, t) - indexRangeReads(ctx, t) + rangeReads(ctx, t, client) + indexRangeReads(ctx, t, client) } -func rangeReads(ctx context.Context, t *testing.T) { +func rangeReads(ctx context.Context, t *testing.T, client *Client) { checkRange := func(ks KeySet, wantNums ...int) { if msg, ok := compareRows(client.Single().Read(ctx, testTable, ks, testTableColumns), wantNums); !ok { t.Errorf("key set %+v: %s", ks, msg) @@ -757,7 +780,7 @@ func rangeReads(ctx context.Context, t *testing.T) { checkRange(AllKeys(), 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14) } -func indexRangeReads(ctx context.Context, t *testing.T) { +func indexRangeReads(ctx context.Context, t *testing.T, client *Client) { checkRange := func(ks KeySet, wantNums ...int) { if msg, ok := compareRows(client.Single().ReadUsingIndex(ctx, testTable, testTableIndex, ks, testTableColumns), wantNums); !ok { @@ -816,18 +839,14 @@ func compareRows(iter *RowIterator, wantNums []int) (string, bool) { } func TestEarlyTimestamp(t *testing.T) { + t.Parallel() // Test that we can get the timestamp from a read-only transaction as // soon as we have read at least one row. - ctx, cancel := context.WithTimeout(context.Background(), 20*time.Second) + ctx, cancel := context.WithTimeout(context.Background(), 45*time.Second) defer cancel() // Set up testing environment. - if err := prepare(ctx, t, readDBStatements); err != nil { - // If prepare() fails, tear down whatever that's already up. - tearDown(ctx, t) - t.Fatalf("cannot set up testing environment: %v", err) - } - // After all tests, tear down testing environment. - defer tearDown(ctx, t) + client, _, tearDown := prepare(ctx, t, readDBStatements) + defer tearDown() var ms []*Mutation for i := 0; i < 3; i++ { @@ -867,13 +886,11 @@ func TestEarlyTimestamp(t *testing.T) { } func TestNestedTransaction(t *testing.T) { + t.Parallel() // You cannot use a transaction from inside a read-write transaction. ctx := context.Background() - if err := prepare(ctx, t, singerDBStatements); err != nil { - tearDown(ctx, t) - t.Fatalf("cannot set up testing environment: %v", err) - } - defer tearDown(ctx, t) + client, _, tearDown := prepare(ctx, t, singerDBStatements) + defer tearDown() client.ReadWriteTransaction(ctx, func(ctx context.Context, tx *ReadWriteTransaction) error { _, err := client.ReadWriteTransaction(ctx, func(context.Context, *ReadWriteTransaction) error { return nil }) @@ -896,17 +913,15 @@ func TestNestedTransaction(t *testing.T) { // Test client recovery on database recreation. func TestDbRemovalRecovery(t *testing.T) { - ctx, cancel := context.WithTimeout(context.Background(), 20*time.Second) + t.Parallel() + ctx, cancel := context.WithTimeout(context.Background(), 45*time.Second) defer cancel() - if err := prepare(ctx, t, singerDBStatements); err != nil { - tearDown(ctx, t) - t.Fatalf("cannot set up testing environment: %v", err) - } - defer tearDown(ctx, t) + client, dbPath, tearDown := prepare(ctx, t, singerDBStatements) + defer tearDown() // Drop the testing database. - if err := admin.DropDatabase(ctx, &adminpb.DropDatabaseRequest{db}); err != nil { - t.Fatalf("failed to drop testing database %v: %v", db, err) + if err := admin.DropDatabase(ctx, &adminpb.DropDatabaseRequest{dbPath}); err != nil { + t.Fatalf("failed to drop testing database %v: %v", dbPath, err) } // Now, send the query. @@ -917,6 +932,7 @@ func TestDbRemovalRecovery(t *testing.T) { } // Recreate database and table. + dbName := dbPath[strings.LastIndex(dbPath, "/")+1:] op, err := admin.CreateDatabase(ctx, &adminpb.CreateDatabaseRequest{ Parent: fmt.Sprintf("projects/%v/instances/%v", testProjectID, testInstanceID), CreateStatement: "CREATE DATABASE " + dbName, @@ -930,7 +946,7 @@ func TestDbRemovalRecovery(t *testing.T) { }, }) if _, err := op.Wait(ctx); err != nil { - t.Errorf("cannot recreate testing DB %v: %v", db, err) + t.Errorf("cannot recreate testing DB %v: %v", dbPath, err) } // Now, send the query again. @@ -938,19 +954,17 @@ func TestDbRemovalRecovery(t *testing.T) { defer iter.Stop() _, err = iter.Next() if err != nil && err != iterator.Done { - t.Fatalf("failed to send query to database %v: %v", db, err) + t.Fatalf("failed to send query to database %v: %v", dbPath, err) } } // Test encoding/decoding non-struct Cloud Spanner types. func TestBasicTypes(t *testing.T) { - ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second) + t.Parallel() + ctx, cancel := context.WithTimeout(context.Background(), 45*time.Second) defer cancel() - if err := prepare(ctx, t, singerDBStatements); err != nil { - tearDown(ctx, t) - t.Fatalf("cannot set up testing environment: %v", err) - } - defer tearDown(ctx, t) + client, _, tearDown := prepare(ctx, t, singerDBStatements) + defer tearDown() t1, _ := time.Parse(time.RFC3339Nano, "2016-11-15T15:04:05.999999999Z") // Boundaries t2, _ := time.Parse(time.RFC3339Nano, "0001-01-01T00:00:00.000000000Z") @@ -1087,13 +1101,11 @@ func TestBasicTypes(t *testing.T) { // Test decoding Cloud Spanner STRUCT type. func TestStructTypes(t *testing.T) { - ctx, cancel := context.WithTimeout(context.Background(), 20*time.Second) + t.Parallel() + ctx, cancel := context.WithTimeout(context.Background(), 45*time.Second) defer cancel() - if err := prepare(ctx, t, singerDBStatements); err != nil { - tearDown(ctx, t) - t.Fatalf("cannot set up testing environment: %v", err) - } - defer tearDown(ctx, t) + client, _, tearDown := prepare(ctx, t, singerDBStatements) + defer tearDown() tests := []struct { q Statement @@ -1176,12 +1188,10 @@ func TestStructTypes(t *testing.T) { // Test queries of the form "SELECT expr". func TestQueryExpressions(t *testing.T) { + t.Parallel() ctx := context.Background() - if err := prepare(ctx, t, nil); err != nil { - tearDown(ctx, t) - t.Fatalf("cannot set up testing environment: %v", err) - } - defer tearDown(ctx, t) + client, _, tearDown := prepare(ctx, t, nil) + defer tearDown() newRow := func(vals []interface{}) *Row { row, err := NewRow(make([]string, len(vals)), vals) @@ -1240,6 +1250,7 @@ func isNaN(x interface{}) bool { } func TestInvalidDatabase(t *testing.T) { + t.Parallel() if testing.Short() { t.Skip("Integration tests skipped in short mode") } @@ -1264,14 +1275,12 @@ func TestInvalidDatabase(t *testing.T) { } func TestReadErrors(t *testing.T) { + t.Parallel() ctx := context.Background() - if err := prepare(ctx, t, readDBStatements); err != nil { - tearDown(ctx, t) - t.Fatalf("cannot set up testing environment: %v", err) - } - defer tearDown(ctx, t) + client, _, tearDown := prepare(ctx, t, readDBStatements) + defer tearDown() - // Read over invalid table fails + // Read over invalid table fails _, err := client.Single().ReadRow(ctx, "badTable", Key{1}, []string{"StringValue"}) if msg, ok := matchError(err, codes.NotFound, "badTable"); !ok { t.Error(msg) @@ -1282,7 +1291,7 @@ func TestReadErrors(t *testing.T) { t.Error(msg) } - // Invalid query fails + // Invalid query fails iter := client.Single().Query(ctx, Statement{SQL: "SELECT Apples AND Oranges"}) defer iter.Stop() _, err = iter.Next() @@ -1297,7 +1306,7 @@ func TestReadErrors(t *testing.T) { if msg, ok := matchError(err, codes.Canceled, ""); !ok { t.Error(msg) } - // Read should fail if deadline exceeded. + // Read should fail if deadline exceeded. dctx, _ := context.WithTimeout(ctx, time.Nanosecond) <-dctx.Done() _, err = client.Single().ReadRow(dctx, "TestTable", Key{1}, []string{"StringValue"}) @@ -1365,3 +1374,132 @@ func readAllTestTable(iter *RowIterator) ([]testTableRow, error) { vals = append(vals, ttr) } } + +// Test TransactionRunner. Test that transactions are aborted and retried as expected. +func TestTransactionRunner(t *testing.T) { + t.Parallel() + ctx, cancel := context.WithTimeout(context.Background(), 45*time.Second) + defer cancel() + client, _, tearDown := prepare(ctx, t, singerDBStatements) + defer tearDown() + + // Test 1: User error should abort the transaction. + _, _ = client.ReadWriteTransaction(ctx, func(ctx context.Context, tx *ReadWriteTransaction) error { + tx.BufferWrite([]*Mutation{ + Insert("Accounts", []string{"AccountId", "Nickname", "Balance"}, []interface{}{int64(1), "Foo", int64(50)})}) + return errors.New("user error") + }) + // Empty read. + rows, err := readAllTestTable(client.Single().Read(ctx, "Accounts", Key{1}, []string{"AccountId", "Nickname", "Balance"})) + if err != nil { + t.Fatal(err) + } + if got, want := len(rows), 0; got != want { + t.Errorf("Empty read, got %d, want %d.", got, want) + } + + // Test 2: Expect abort and retry. + // We run two ReadWriteTransactions concurrently and make txn1 abort txn2 by committing writes to the column txn2 have read, + // and expect the following read to abort and txn2 retries. + + // Set up two accounts + accounts := []*Mutation{ + Insert("Accounts", []string{"AccountId", "Balance"}, []interface{}{int64(1), int64(0)}), + Insert("Accounts", []string{"AccountId", "Balance"}, []interface{}{int64(2), int64(1)}), + } + if _, err := client.Apply(ctx, accounts, ApplyAtLeastOnce()); err != nil { + t.Fatal(err) + } + + var ( + cTxn1Start = make(chan struct{}) + cTxn1Commit = make(chan struct{}) + cTxn2Start = make(chan struct{}) + wg sync.WaitGroup + ) + + // read balance, check error if we don't expect abort. + readBalance := func(tx interface { + ReadRow(ctx context.Context, table string, key Key, columns []string) (*Row, error) + }, key int64, expectAbort bool) (int64, error) { + var b int64 + r, e := tx.ReadRow(ctx, "Accounts", Key{int64(key)}, []string{"Balance"}) + if e != nil { + if expectAbort && !isAbortErr(e) { + t.Errorf("ReadRow got %v, want Abort error.", e) + } + return b, e + } + if ce := r.Column(0, &b); ce != nil { + return b, ce + } + return b, nil + } + + wg.Add(2) + // Txn 1 + go func() { + defer wg.Done() + var once sync.Once + _, e := client.ReadWriteTransaction(ctx, func(ctx context.Context, tx *ReadWriteTransaction) error { + b, e := readBalance(tx, 1, false) + if e != nil { + return e + } + // txn 1 can abort, in that case we skip closing the channel on retry. + once.Do(func() { close(cTxn1Start) }) + tx.BufferWrite([]*Mutation{ + Update("Accounts", []string{"AccountId", "Balance"}, []interface{}{int64(1), int64(b + 1)})}) + // Wait for second transaction. + <-cTxn2Start + return nil + }) + close(cTxn1Commit) + if e != nil { + t.Errorf("Transaction 1 commit, got %v, want nil.", e) + } + }() + // Txn 2 + go func() { + // Wait until txn 1 starts. + <-cTxn1Start + defer wg.Done() + var ( + once sync.Once + b1 int64 + b2 int64 + e error + ) + _, e = client.ReadWriteTransaction(ctx, func(ctx context.Context, tx *ReadWriteTransaction) error { + if b1, e = readBalance(tx, 1, false); e != nil { + return e + } + // Skip closing channel on retry. + once.Do(func() { close(cTxn2Start) }) + // Wait until txn 1 successfully commits. + <-cTxn1Commit + // Txn1 has committed and written a balance to the account. + // Now this transaction (txn2) reads and re-writes the balance. + // The first time through, it will abort because it overlaps with txn1. + // Then it will retry after txn1 commits, and succeed. + if b2, e = readBalance(tx, 2, true); e != nil { + return e + } + tx.BufferWrite([]*Mutation{ + Update("Accounts", []string{"AccountId", "Balance"}, []interface{}{int64(2), int64(b1 + b2)})}) + return nil + }) + if e != nil { + t.Errorf("Transaction 2 commit, got %v, want nil.", e) + } + }() + wg.Wait() + // Check that both transactions' effects are visible. + for i := int64(1); i <= int64(2); i++ { + if b, e := readBalance(client.Single(), i, false); e != nil { + t.Fatalf("ReadBalance for key %d error %v.", i, e) + } else if b != i { + t.Errorf("Balance for key %d, got %d, want %d.", i, b, i) + } + } +} diff --git a/vendor/cloud.google.com/go/spanner/statement_test.go b/vendor/cloud.google.com/go/spanner/statement_test.go index 4607c80ac..afe070088 100644 --- a/vendor/cloud.google.com/go/spanner/statement_test.go +++ b/vendor/cloud.google.com/go/spanner/statement_test.go @@ -17,8 +17,12 @@ limitations under the License. package spanner import ( + "math" "reflect" "testing" + "time" + + "cloud.google.com/go/civil" "github.com/golang/protobuf/proto" proto3 "github.com/golang/protobuf/ptypes/struct" @@ -39,22 +43,101 @@ func TestBindParams(t *testing.T) { }, ParamTypes: map[string]*sppb.Type{"var": nil}, } + var ( + t1, _ = time.Parse(time.RFC3339Nano, "2016-11-15T15:04:05.999999999Z") + // Boundaries + t2, _ = time.Parse(time.RFC3339Nano, "0001-01-01T00:00:00.000000000Z") + t3, _ = time.Parse(time.RFC3339Nano, "9999-12-31T23:59:59.999999999Z") + d1, _ = civil.ParseDate("2016-11-15") + // Boundaries + d2, _ = civil.ParseDate("0001-01-01") + d3, _ = civil.ParseDate("9999-12-31") + ) for i, test := range []struct { val interface{} wantField *proto3.Value wantType *sppb.Type }{ - {"abc", stringProto("abc"), stringType()}, - {int64(1), intProto(1), intType()}, + // bool + {true, boolProto(true), boolType()}, + {NullBool{true, true}, boolProto(true), boolType()}, + {NullBool{true, false}, nullProto(), boolType()}, + {[]bool(nil), nullProto(), listType(boolType())}, + {[]bool{}, listProto(), listType(boolType())}, + {[]bool{true, false}, listProto(boolProto(true), boolProto(false)), listType(boolType())}, + {[]NullBool(nil), nullProto(), listType(boolType())}, + {[]NullBool{}, listProto(), listType(boolType())}, + {[]NullBool{{true, true}, {}}, listProto(boolProto(true), nullProto()), listType(boolType())}, + // int {int(1), intProto(1), intType()}, {[]int(nil), nullProto(), listType(intType())}, {[]int{}, listProto(), listType(intType())}, + {[]int{1, 2}, listProto(intProto(1), intProto(2)), listType(intType())}, + // int64 + {int64(1), intProto(1), intType()}, + {NullInt64{5, true}, intProto(5), intType()}, + {NullInt64{5, false}, nullProto(), intType()}, + {[]int64(nil), nullProto(), listType(intType())}, + {[]int64{}, listProto(), listType(intType())}, + {[]int64{1, 2}, listProto(intProto(1), intProto(2)), listType(intType())}, + {[]NullInt64(nil), nullProto(), listType(intType())}, + {[]NullInt64{}, listProto(), listType(intType())}, + {[]NullInt64{{1, true}, {}}, listProto(intProto(1), nullProto()), listType(intType())}, + // float64 + {0.0, floatProto(0.0), floatType()}, + {math.Inf(1), floatProto(math.Inf(1)), floatType()}, + {math.Inf(-1), floatProto(math.Inf(-1)), floatType()}, + {math.NaN(), floatProto(math.NaN()), floatType()}, + {NullFloat64{2.71, true}, floatProto(2.71), floatType()}, + {NullFloat64{1.41, false}, nullProto(), floatType()}, + {[]float64(nil), nullProto(), listType(floatType())}, + {[]float64{}, listProto(), listType(floatType())}, + {[]float64{2.72, math.Inf(1)}, listProto(floatProto(2.72), floatProto(math.Inf(1))), listType(floatType())}, + {[]NullFloat64(nil), nullProto(), listType(floatType())}, + {[]NullFloat64{}, listProto(), listType(floatType())}, + {[]NullFloat64{{2.72, true}, {}}, listProto(floatProto(2.72), nullProto()), listType(floatType())}, + // string + {"", stringProto(""), stringType()}, + {"foo", stringProto("foo"), stringType()}, + {NullString{"bar", true}, stringProto("bar"), stringType()}, + {NullString{"bar", false}, nullProto(), stringType()}, + {[]string(nil), nullProto(), listType(stringType())}, + {[]string{}, listProto(), listType(stringType())}, + {[]string{"foo", "bar"}, listProto(stringProto("foo"), stringProto("bar")), listType(stringType())}, + {[]NullString(nil), nullProto(), listType(stringType())}, + {[]NullString{}, listProto(), listType(stringType())}, + {[]NullString{{"foo", true}, {}}, listProto(stringProto("foo"), nullProto()), listType(stringType())}, + // bytes + {[]byte{}, bytesProto([]byte{}), bytesType()}, + {[]byte{1, 2, 3}, bytesProto([]byte{1, 2, 3}), bytesType()}, + {[]byte(nil), nullProto(), bytesType()}, + {[][]byte(nil), nullProto(), listType(bytesType())}, + {[][]byte{}, listProto(), listType(bytesType())}, + {[][]byte{[]byte{1}, []byte(nil)}, listProto(bytesProto([]byte{1}), nullProto()), listType(bytesType())}, + // date + {d1, dateProto(d1), dateType()}, + {NullDate{civil.Date{}, false}, nullProto(), dateType()}, + {[]civil.Date(nil), nullProto(), listType(dateType())}, + {[]civil.Date{}, listProto(), listType(dateType())}, + {[]civil.Date{d1, d2, d3}, listProto(dateProto(d1), dateProto(d2), dateProto(d3)), listType(dateType())}, + {[]NullDate{NullDate{d2, true}, NullDate{}}, listProto(dateProto(d2), nullProto()), listType(dateType())}, + // timestamp + {t1, timeProto(t1), timeType()}, + {NullTime{}, nullProto(), timeType()}, + {[]time.Time(nil), nullProto(), listType(timeType())}, + {[]time.Time{}, listProto(), listType(timeType())}, + {[]time.Time{t1, t2, t3}, listProto(timeProto(t1), timeProto(t2), timeProto(t3)), listType(timeType())}, + {[]NullTime{NullTime{t2, true}, NullTime{}}, listProto(timeProto(t2), nullProto()), listType(timeType())}, } { st.Params["var"] = test.val want.Params.Fields["var"] = test.wantField want.ParamTypes["var"] = test.wantType got := &sppb.ExecuteSqlRequest{} if err := st.bindParams(got); err != nil || !proto.Equal(got, want) { + // handle NaN + if test.wantType.Code == floatType().Code && proto.MarshalTextString(got) == proto.MarshalTextString(want) { + continue + } t.Errorf("#%d: bind result: \n(%v, %v)\nwant\n(%v, %v)\n", i, got, err, want, nil) } } diff --git a/vendor/cloud.google.com/go/spanner/transaction_test.go b/vendor/cloud.google.com/go/spanner/transaction_test.go new file mode 100644 index 000000000..fabc711fa --- /dev/null +++ b/vendor/cloud.google.com/go/spanner/transaction_test.go @@ -0,0 +1,209 @@ +/* +Copyright 2017 Google Inc. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package spanner + +import ( + "errors" + "reflect" + "sync" + "testing" + "time" + + "cloud.google.com/go/spanner/internal/testutil" + + "golang.org/x/net/context" + sppb "google.golang.org/genproto/googleapis/spanner/v1" + "google.golang.org/grpc/codes" +) + +var ( + errAbrt = spannerErrorf(codes.Aborted, "") + errUsr = errors.New("error") +) + +// setup sets up a Client using mockclient +func mockClient(t *testing.T) (*sessionPool, *testutil.MockCloudSpannerClient, *Client) { + var ( + mc = testutil.NewMockCloudSpannerClient(t) + spc = SessionPoolConfig{} + database = "mockdb" + ) + spc.getRPCClient = func() (sppb.SpannerClient, error) { + return mc, nil + } + sp, err := newSessionPool(database, spc, nil) + if err != nil { + t.Fatalf("cannot create session pool: %v", err) + } + return sp, mc, &Client{ + database: database, + idleSessions: sp, + } +} + +// TestReadOnlyAcquire tests acquire for ReadOnlyTransaction. +func TestReadOnlyAcquire(t *testing.T) { + t.Parallel() + _, mc, client := mockClient(t) + defer client.Close() + acts := []testutil.Action{ + testutil.NewAction("Begin", errUsr), + testutil.NewAction("Begin", nil), + testutil.NewAction("Begin", nil), + } + mc.SetActions(acts...) + // Singleuse should only be used once. + txn := client.Single() + defer txn.Close() + _, _, e := txn.acquire(context.Background()) + if e != nil { + t.Errorf("Acquire for single use, got %v, want nil.", e) + } + _, _, e = txn.acquire(context.Background()) + if wantErr := errTxClosed(); !reflect.DeepEqual(e, wantErr) { + t.Errorf("Second acquire for single use, got %v, want %v.", e, wantErr) + } + // Multiuse can recover from acquire failure. + txn = client.ReadOnlyTransaction() + _, _, e = txn.acquire(context.Background()) + if wantErr := toSpannerError(errUsr); !reflect.DeepEqual(e, wantErr) { + t.Errorf("Acquire for multi use, got %v, want %v.", e, wantErr) + } + _, _, e = txn.acquire(context.Background()) + if e != nil { + t.Errorf("Acquire for multi use, got %v, want nil.", e) + } + txn.Close() + // Multiuse can not be used after close. + _, _, e = txn.acquire(context.Background()) + if wantErr := errTxClosed(); !reflect.DeepEqual(e, wantErr) { + t.Errorf("Second acquire for multi use, got %v, want %v.", e, wantErr) + } + // Multiuse can be acquired concurrently. + txn = client.ReadOnlyTransaction() + defer txn.Close() + mc.Freeze() + var ( + sh1 *sessionHandle + sh2 *sessionHandle + ts1 *sppb.TransactionSelector + ts2 *sppb.TransactionSelector + wg = sync.WaitGroup{} + ) + acquire := func(sh **sessionHandle, ts **sppb.TransactionSelector) { + defer wg.Done() + var e error + *sh, *ts, e = txn.acquire(context.Background()) + if e != nil { + t.Errorf("Concurrent acquire for multiuse, got %v, expect nil.", e) + } + } + wg.Add(2) + go acquire(&sh1, &ts1) + go acquire(&sh2, &ts2) + <-time.After(100 * time.Millisecond) + mc.Unfreeze() + wg.Wait() + if !reflect.DeepEqual(sh1, sh2) { + t.Errorf("Expect acquire to get same session handle, got %v and %v.", sh1, sh2) + } + if !reflect.DeepEqual(ts1, ts2) { + t.Errorf("Expect acquire to get same transaction selector, got %v and %v.", ts1, ts2) + } +} + +// TestRetryOnAbort tests transaction retries on abort. +func TestRetryOnAbort(t *testing.T) { + t.Parallel() + _, mc, client := mockClient(t) + defer client.Close() + // commit in writeOnlyTransaction + acts := []testutil.Action{ + testutil.NewAction("Commit", errAbrt), // abort on first commit + testutil.NewAction("Commit", nil), + } + mc.SetActions(acts...) + ms := []*Mutation{ + Insert("Accounts", []string{"AccountId", "Nickname", "Balance"}, []interface{}{int64(1), "Foo", int64(50)}), + Insert("Accounts", []string{"AccountId", "Nickname", "Balance"}, []interface{}{int64(2), "Bar", int64(1)}), + } + if _, e := client.Apply(context.Background(), ms, ApplyAtLeastOnce()); e != nil { + t.Errorf("applyAtLeastOnce retry on abort, got %v, want nil.", e) + } + // begin and commit in ReadWriteTransaction + acts = []testutil.Action{ + testutil.NewAction("Begin", nil), // let takeWriteSession succeed and get a session handle + testutil.NewAction("Commit", errAbrt), // let first commit fail and retry will begin new transaction + testutil.NewAction("Begin", errAbrt), // this time we can fail the begin attempt + testutil.NewAction("Begin", nil), + testutil.NewAction("Commit", nil), + } + mc.SetActions(acts...) + if _, e := client.Apply(context.Background(), ms); e != nil { + t.Errorf("ReadWriteTransaction retry on abort, got %v, want nil.", e) + } +} + +// TestBadSession tests bad session (session not found error). +// TODO: session closed from transaction close +func TestBadSession(t *testing.T) { + t.Parallel() + ctx := context.Background() + sp, mc, client := mockClient(t) + defer client.Close() + var sid string + // Prepare a session, get the session id for use in testing. + if s, e := sp.take(ctx); e != nil { + t.Fatal("Prepare session failed.") + } else { + sid = s.getID() + s.recycle() + } + + wantErr := spannerErrorf(codes.NotFound, "Session not found: %v", sid) + // ReadOnlyTransaction + acts := []testutil.Action{ + testutil.NewAction("Begin", wantErr), + testutil.NewAction("Begin", wantErr), + testutil.NewAction("Begin", wantErr), + } + mc.SetActions(acts...) + txn := client.ReadOnlyTransaction() + defer txn.Close() + if _, _, got := txn.acquire(ctx); !reflect.DeepEqual(wantErr, got) { + t.Errorf("Expect acquire to fail, got %v, want %v.", got, wantErr) + } + // The failure should recycle the session, we expect it to be used in following requests. + if got := txn.Query(ctx, NewStatement("SELECT 1")); !reflect.DeepEqual(wantErr, got.err) { + t.Errorf("Expect Query to fail, got %v, want %v.", got.err, wantErr) + } + if got := txn.Read(ctx, "Users", KeySets(Key{"alice"}, Key{"bob"}), []string{"name", "email"}); !reflect.DeepEqual(wantErr, got.err) { + t.Errorf("Expect Read to fail, got %v, want %v.", got.err, wantErr) + } + // writeOnlyTransaction + ms := []*Mutation{ + Insert("Accounts", []string{"AccountId", "Nickname", "Balance"}, []interface{}{int64(1), "Foo", int64(50)}), + Insert("Accounts", []string{"AccountId", "Nickname", "Balance"}, []interface{}{int64(2), "Bar", int64(1)}), + } + acts = []testutil.Action{ + testutil.NewAction("Commit", wantErr), + } + mc.SetActions(acts...) + if _, got := client.Apply(context.Background(), ms, ApplyAtLeastOnce()); !reflect.DeepEqual(wantErr, got) { + t.Errorf("Expect applyAtLeastOnce to fail, got %v, want %v.", got, wantErr) + } +} diff --git a/vendor/cloud.google.com/go/spanner/util.go b/vendor/cloud.google.com/go/spanner/util.go new file mode 100644 index 000000000..d35fec291 --- /dev/null +++ b/vendor/cloud.google.com/go/spanner/util.go @@ -0,0 +1,33 @@ +/* +Copyright 2017 Google Inc. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package spanner + +// maxUint64 returns the maximum of two uint64 +func maxUint64(a, b uint64) uint64 { + if a > b { + return a + } + return b +} + +// minUint64 returns the minimum of two uint64 +func minUint64(a, b uint64) uint64 { + if a > b { + return b + } + return a +} diff --git a/vendor/cloud.google.com/go/spanner/value.go b/vendor/cloud.google.com/go/spanner/value.go index 41e5cda1f..86d9f71b2 100644 --- a/vendor/cloud.google.com/go/spanner/value.go +++ b/vendor/cloud.google.com/go/spanner/value.go @@ -128,6 +128,9 @@ type NullRow struct { // column. See google.spanner.v1.ResultSet proto for details. This can be // useful for proxying query results when the result types are not known in // advance. +// +// If you populate a GenericColumnValue from a row using Row.Column or related +// methods, do not modify the contents of Type and Value. type GenericColumnValue struct { Type *sppb.Type Value *proto3.Value @@ -151,12 +154,12 @@ func newGenericColumnValue(v interface{}) (*GenericColumnValue, error) { // errTypeMismatch returns error for destination not having a compatible type // with source Cloud Spanner type. -func errTypeMismatch(srcType sppb.TypeCode, isArray bool, dst interface{}) error { - usage := srcType.String() - if isArray { - usage = fmt.Sprintf("%v[%v]", sppb.TypeCode_ARRAY, srcType) +func errTypeMismatch(srcCode, elCode sppb.TypeCode, dst interface{}) error { + s := srcCode.String() + if srcCode == sppb.TypeCode_ARRAY { + s = fmt.Sprintf("%v[%v]", srcCode, elCode) } - return spannerErrorf(codes.InvalidArgument, "type %T cannot be used for decoding %v", dst, usage) + return spannerErrorf(codes.InvalidArgument, "type %T cannot be used for decoding %s", dst, s) } // errNilSpannerType returns error for nil Cloud Spanner type in decoding. @@ -196,7 +199,7 @@ func parseNullTime(v *proto3.Value, p *NullTime, code sppb.TypeCode, isNull bool return errNilDst(p) } if code != sppb.TypeCode_TIMESTAMP { - return errTypeMismatch(code, false, p) + return errTypeMismatch(code, sppb.TypeCode_TYPE_CODE_UNSPECIFIED, p) } if isNull { *p = NullTime{} @@ -232,11 +235,6 @@ func decodeValue(v *proto3.Value, t *sppb.Type, ptr interface{}) error { } acode = t.ArrayElementType.Code } - typeErr := errTypeMismatch(code, false, ptr) - if code == sppb.TypeCode_ARRAY { - typeErr = errTypeMismatch(acode, true, ptr) - } - nullErr := errDstNotForNull(ptr) _, isNull := v.Kind.(*proto3.Value_NullValue) // Do the decoding based on the type of ptr. @@ -248,10 +246,10 @@ func decodeValue(v *proto3.Value, t *sppb.Type, ptr interface{}) error { return errNilDst(p) } if code != sppb.TypeCode_STRING { - return typeErr + return errTypeMismatch(code, acode, ptr) } if isNull { - return nullErr + return errDstNotForNull(ptr) } x, err := getStringValue(v) if err != nil { @@ -263,7 +261,7 @@ func decodeValue(v *proto3.Value, t *sppb.Type, ptr interface{}) error { return errNilDst(p) } if code != sppb.TypeCode_STRING { - return typeErr + return errTypeMismatch(code, acode, ptr) } if isNull { *p = NullString{} @@ -280,7 +278,27 @@ func decodeValue(v *proto3.Value, t *sppb.Type, ptr interface{}) error { return errNilDst(p) } if acode != sppb.TypeCode_STRING { - return typeErr + return errTypeMismatch(code, acode, ptr) + } + if isNull { + *p = nil + break + } + x, err := getListValue(v) + if err != nil { + return err + } + y, err := decodeNullStringArray(x) + if err != nil { + return err + } + *p = y + case *[]string: + if p == nil { + return errNilDst(p) + } + if acode != sppb.TypeCode_STRING { + return errTypeMismatch(code, acode, ptr) } if isNull { *p = nil @@ -300,7 +318,7 @@ func decodeValue(v *proto3.Value, t *sppb.Type, ptr interface{}) error { return errNilDst(p) } if code != sppb.TypeCode_BYTES { - return typeErr + return errTypeMismatch(code, acode, ptr) } if isNull { *p = nil @@ -320,7 +338,7 @@ func decodeValue(v *proto3.Value, t *sppb.Type, ptr interface{}) error { return errNilDst(p) } if acode != sppb.TypeCode_BYTES { - return typeErr + return errTypeMismatch(code, acode, ptr) } if isNull { *p = nil @@ -340,10 +358,10 @@ func decodeValue(v *proto3.Value, t *sppb.Type, ptr interface{}) error { return errNilDst(p) } if code != sppb.TypeCode_INT64 { - return typeErr + return errTypeMismatch(code, acode, ptr) } if isNull { - return nullErr + return errDstNotForNull(ptr) } x, err := getStringValue(v) if err != nil { @@ -359,7 +377,7 @@ func decodeValue(v *proto3.Value, t *sppb.Type, ptr interface{}) error { return errNilDst(p) } if code != sppb.TypeCode_INT64 { - return typeErr + return errTypeMismatch(code, acode, ptr) } if isNull { *p = NullInt64{} @@ -380,7 +398,7 @@ func decodeValue(v *proto3.Value, t *sppb.Type, ptr interface{}) error { return errNilDst(p) } if acode != sppb.TypeCode_INT64 { - return typeErr + return errTypeMismatch(code, acode, ptr) } if isNull { *p = nil @@ -390,7 +408,27 @@ func decodeValue(v *proto3.Value, t *sppb.Type, ptr interface{}) error { if err != nil { return err } - y, err := decodeIntArray(x) + y, err := decodeNullInt64Array(x) + if err != nil { + return err + } + *p = y + case *[]int64: + if p == nil { + return errNilDst(p) + } + if acode != sppb.TypeCode_INT64 { + return errTypeMismatch(code, acode, ptr) + } + if isNull { + *p = nil + break + } + x, err := getListValue(v) + if err != nil { + return err + } + y, err := decodeInt64Array(x) if err != nil { return err } @@ -400,10 +438,10 @@ func decodeValue(v *proto3.Value, t *sppb.Type, ptr interface{}) error { return errNilDst(p) } if code != sppb.TypeCode_BOOL { - return typeErr + return errTypeMismatch(code, acode, ptr) } if isNull { - return nullErr + return errDstNotForNull(ptr) } x, err := getBoolValue(v) if err != nil { @@ -415,7 +453,7 @@ func decodeValue(v *proto3.Value, t *sppb.Type, ptr interface{}) error { return errNilDst(p) } if code != sppb.TypeCode_BOOL { - return typeErr + return errTypeMismatch(code, acode, ptr) } if isNull { *p = NullBool{} @@ -432,7 +470,27 @@ func decodeValue(v *proto3.Value, t *sppb.Type, ptr interface{}) error { return errNilDst(p) } if acode != sppb.TypeCode_BOOL { - return typeErr + return errTypeMismatch(code, acode, ptr) + } + if isNull { + *p = nil + break + } + x, err := getListValue(v) + if err != nil { + return err + } + y, err := decodeNullBoolArray(x) + if err != nil { + return err + } + *p = y + case *[]bool: + if p == nil { + return errNilDst(p) + } + if acode != sppb.TypeCode_BOOL { + return errTypeMismatch(code, acode, ptr) } if isNull { *p = nil @@ -452,10 +510,10 @@ func decodeValue(v *proto3.Value, t *sppb.Type, ptr interface{}) error { return errNilDst(p) } if code != sppb.TypeCode_FLOAT64 { - return typeErr + return errTypeMismatch(code, acode, ptr) } if isNull { - return nullErr + return errDstNotForNull(ptr) } x, err := getFloat64Value(v) if err != nil { @@ -467,7 +525,7 @@ func decodeValue(v *proto3.Value, t *sppb.Type, ptr interface{}) error { return errNilDst(p) } if code != sppb.TypeCode_FLOAT64 { - return typeErr + return errTypeMismatch(code, acode, ptr) } if isNull { *p = NullFloat64{} @@ -484,7 +542,27 @@ func decodeValue(v *proto3.Value, t *sppb.Type, ptr interface{}) error { return errNilDst(p) } if acode != sppb.TypeCode_FLOAT64 { - return typeErr + return errTypeMismatch(code, acode, ptr) + } + if isNull { + *p = nil + break + } + x, err := getListValue(v) + if err != nil { + return err + } + y, err := decodeNullFloat64Array(x) + if err != nil { + return err + } + *p = y + case *[]float64: + if p == nil { + return errNilDst(p) + } + if acode != sppb.TypeCode_FLOAT64 { + return errTypeMismatch(code, acode, ptr) } if isNull { *p = nil @@ -502,7 +580,7 @@ func decodeValue(v *proto3.Value, t *sppb.Type, ptr interface{}) error { case *time.Time: var nt NullTime if isNull { - return nullErr + return errDstNotForNull(ptr) } err := parseNullTime(v, &nt, code, isNull) if err != nil { @@ -519,7 +597,27 @@ func decodeValue(v *proto3.Value, t *sppb.Type, ptr interface{}) error { return errNilDst(p) } if acode != sppb.TypeCode_TIMESTAMP { - return typeErr + return errTypeMismatch(code, acode, ptr) + } + if isNull { + *p = nil + break + } + x, err := getListValue(v) + if err != nil { + return err + } + y, err := decodeNullTimeArray(x) + if err != nil { + return err + } + *p = y + case *[]time.Time: + if p == nil { + return errNilDst(p) + } + if acode != sppb.TypeCode_TIMESTAMP { + return errTypeMismatch(code, acode, ptr) } if isNull { *p = nil @@ -539,10 +637,10 @@ func decodeValue(v *proto3.Value, t *sppb.Type, ptr interface{}) error { return errNilDst(p) } if code != sppb.TypeCode_DATE { - return typeErr + return errTypeMismatch(code, acode, ptr) } if isNull { - return nullErr + return errDstNotForNull(ptr) } x, err := getStringValue(v) if err != nil { @@ -558,7 +656,7 @@ func decodeValue(v *proto3.Value, t *sppb.Type, ptr interface{}) error { return errNilDst(p) } if code != sppb.TypeCode_DATE { - return typeErr + return errTypeMismatch(code, acode, ptr) } if isNull { *p = NullDate{} @@ -579,7 +677,27 @@ func decodeValue(v *proto3.Value, t *sppb.Type, ptr interface{}) error { return errNilDst(p) } if acode != sppb.TypeCode_DATE { - return typeErr + return errTypeMismatch(code, acode, ptr) + } + if isNull { + *p = nil + break + } + x, err := getListValue(v) + if err != nil { + return err + } + y, err := decodeNullDateArray(x) + if err != nil { + return err + } + *p = y + case *[]civil.Date: + if p == nil { + return errNilDst(p) + } + if acode != sppb.TypeCode_DATE { + return errTypeMismatch(code, acode, ptr) } if isNull { *p = nil @@ -599,7 +717,7 @@ func decodeValue(v *proto3.Value, t *sppb.Type, ptr interface{}) error { return errNilDst(p) } if acode != sppb.TypeCode_STRUCT { - return typeErr + return errTypeMismatch(code, acode, ptr) } if isNull { *p = nil @@ -615,16 +733,11 @@ func decodeValue(v *proto3.Value, t *sppb.Type, ptr interface{}) error { } *p = y case *GenericColumnValue: - *p = GenericColumnValue{ - // Deep clone to ensure subsequent changes to t or v - // don't affect our decoded value. - Type: proto.Clone(t).(*sppb.Type), - Value: proto.Clone(v).(*proto3.Value), - } + *p = GenericColumnValue{Type: t, Value: v} default: // Check if the proto encoding is for an array of structs. if !(code == sppb.TypeCode_ARRAY && acode == sppb.TypeCode_STRUCT) { - return typeErr + return errTypeMismatch(code, acode, ptr) } vp := reflect.ValueOf(p) if !vp.IsValid() { @@ -632,7 +745,7 @@ func decodeValue(v *proto3.Value, t *sppb.Type, ptr interface{}) error { } if !isPtrStructPtrSlice(vp.Type()) { // The container is not a pointer to a struct pointer slice. - return typeErr + return errTypeMismatch(code, acode, ptr) } // Only use reflection for nil detection on slow path. // Also, IsNil panics on many types, so check it after the type check. @@ -739,8 +852,8 @@ func errDecodeArrayElement(i int, v proto.Message, sqlType string, err error) er return se } -// decodeStringArray decodes proto3.ListValue pb into a NullString slice. -func decodeStringArray(pb *proto3.ListValue) ([]NullString, error) { +// decodeNullStringArray decodes proto3.ListValue pb into a NullString slice. +func decodeNullStringArray(pb *proto3.ListValue) ([]NullString, error) { if pb == nil { return nil, errNilListValue("STRING") } @@ -753,8 +866,23 @@ func decodeStringArray(pb *proto3.ListValue) ([]NullString, error) { return a, nil } -// decodeIntArray decodes proto3.ListValue pb into a NullInt64 slice. -func decodeIntArray(pb *proto3.ListValue) ([]NullInt64, error) { +// decodeStringArray decodes proto3.ListValue pb into a string slice. +func decodeStringArray(pb *proto3.ListValue) ([]string, error) { + if pb == nil { + return nil, errNilListValue("STRING") + } + a := make([]string, len(pb.Values)) + st := stringType() + for i, v := range pb.Values { + if err := decodeValue(v, st, &a[i]); err != nil { + return nil, errDecodeArrayElement(i, v, "STRING", err) + } + } + return a, nil +} + +// decodeNullInt64Array decodes proto3.ListValue pb into a NullInt64 slice. +func decodeNullInt64Array(pb *proto3.ListValue) ([]NullInt64, error) { if pb == nil { return nil, errNilListValue("INT64") } @@ -767,8 +895,22 @@ func decodeIntArray(pb *proto3.ListValue) ([]NullInt64, error) { return a, nil } -// decodeBoolArray decodes proto3.ListValue pb into a NullBool slice. -func decodeBoolArray(pb *proto3.ListValue) ([]NullBool, error) { +// decodeInt64Array decodes proto3.ListValue pb into a int64 slice. +func decodeInt64Array(pb *proto3.ListValue) ([]int64, error) { + if pb == nil { + return nil, errNilListValue("INT64") + } + a := make([]int64, len(pb.Values)) + for i, v := range pb.Values { + if err := decodeValue(v, intType(), &a[i]); err != nil { + return nil, errDecodeArrayElement(i, v, "INT64", err) + } + } + return a, nil +} + +// decodeNullBoolArray decodes proto3.ListValue pb into a NullBool slice. +func decodeNullBoolArray(pb *proto3.ListValue) ([]NullBool, error) { if pb == nil { return nil, errNilListValue("BOOL") } @@ -781,8 +923,22 @@ func decodeBoolArray(pb *proto3.ListValue) ([]NullBool, error) { return a, nil } -// decodeFloat64Array decodes proto3.ListValue pb into a NullFloat64 slice. -func decodeFloat64Array(pb *proto3.ListValue) ([]NullFloat64, error) { +// decodeBoolArray decodes proto3.ListValue pb into a bool slice. +func decodeBoolArray(pb *proto3.ListValue) ([]bool, error) { + if pb == nil { + return nil, errNilListValue("BOOL") + } + a := make([]bool, len(pb.Values)) + for i, v := range pb.Values { + if err := decodeValue(v, boolType(), &a[i]); err != nil { + return nil, errDecodeArrayElement(i, v, "BOOL", err) + } + } + return a, nil +} + +// decodeNullFloat64Array decodes proto3.ListValue pb into a NullFloat64 slice. +func decodeNullFloat64Array(pb *proto3.ListValue) ([]NullFloat64, error) { if pb == nil { return nil, errNilListValue("FLOAT64") } @@ -795,6 +951,20 @@ func decodeFloat64Array(pb *proto3.ListValue) ([]NullFloat64, error) { return a, nil } +// decodeFloat64Array decodes proto3.ListValue pb into a float64 slice. +func decodeFloat64Array(pb *proto3.ListValue) ([]float64, error) { + if pb == nil { + return nil, errNilListValue("FLOAT64") + } + a := make([]float64, len(pb.Values)) + for i, v := range pb.Values { + if err := decodeValue(v, floatType(), &a[i]); err != nil { + return nil, errDecodeArrayElement(i, v, "FLOAT64", err) + } + } + return a, nil +} + // decodeByteArray decodes proto3.ListValue pb into a slice of byte slice. func decodeByteArray(pb *proto3.ListValue) ([][]byte, error) { if pb == nil { @@ -809,8 +979,8 @@ func decodeByteArray(pb *proto3.ListValue) ([][]byte, error) { return a, nil } -// decodeTimeArray decodes proto3.ListValue pb into a NullTime slice. -func decodeTimeArray(pb *proto3.ListValue) ([]NullTime, error) { +// decodeNullTimeArray decodes proto3.ListValue pb into a NullTime slice. +func decodeNullTimeArray(pb *proto3.ListValue) ([]NullTime, error) { if pb == nil { return nil, errNilListValue("TIMESTAMP") } @@ -823,8 +993,22 @@ func decodeTimeArray(pb *proto3.ListValue) ([]NullTime, error) { return a, nil } -// decodeDateArray decodes proto3.ListValue pb into a NullDate slice. -func decodeDateArray(pb *proto3.ListValue) ([]NullDate, error) { +// decodeTimeArray decodes proto3.ListValue pb into a time.Time slice. +func decodeTimeArray(pb *proto3.ListValue) ([]time.Time, error) { + if pb == nil { + return nil, errNilListValue("TIMESTAMP") + } + a := make([]time.Time, len(pb.Values)) + for i, v := range pb.Values { + if err := decodeValue(v, timeType(), &a[i]); err != nil { + return nil, errDecodeArrayElement(i, v, "TIMESTAMP", err) + } + } + return a, nil +} + +// decodeNullDateArray decodes proto3.ListValue pb into a NullDate slice. +func decodeNullDateArray(pb *proto3.ListValue) ([]NullDate, error) { if pb == nil { return nil, errNilListValue("DATE") } @@ -837,6 +1021,20 @@ func decodeDateArray(pb *proto3.ListValue) ([]NullDate, error) { return a, nil } +// decodeDateArray decodes proto3.ListValue pb into a civil.Date slice. +func decodeDateArray(pb *proto3.ListValue) ([]civil.Date, error) { + if pb == nil { + return nil, errNilListValue("DATE") + } + a := make([]civil.Date, len(pb.Values)) + for i, v := range pb.Values { + if err := decodeValue(v, dateType(), &a[i]); err != nil { + return nil, errDecodeArrayElement(i, v, "DATE", err) + } + } + return a, nil +} + func errNotStructElement(i int, v *proto3.Value) error { return errDecodeArrayElement(i, v, "STRUCT", spannerErrorf(codes.FailedPrecondition, "%v(type: %T) doesn't encode Cloud Spanner STRUCT", v, v)) diff --git a/vendor/cloud.google.com/go/spanner/value_benchmarks_test.go b/vendor/cloud.google.com/go/spanner/value_benchmarks_test.go new file mode 100644 index 000000000..0d95ab9de --- /dev/null +++ b/vendor/cloud.google.com/go/spanner/value_benchmarks_test.go @@ -0,0 +1,214 @@ +// Copyright 2017 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// +build go1.7 + +package spanner + +import ( + "reflect" + "strconv" + "testing" + + "cloud.google.com/go/civil" + proto3 "github.com/golang/protobuf/ptypes/struct" + sppb "google.golang.org/genproto/googleapis/spanner/v1" +) + +func BenchmarkEncodeIntArray(b *testing.B) { + for _, s := range []struct { + name string + f func(a []int) (*proto3.Value, *sppb.Type, error) + }{ + {"Orig", encodeIntArrayOrig}, + {"Func", encodeIntArrayFunc}, + {"Reflect", encodeIntArrayReflect}, + } { + b.Run(s.name, func(b *testing.B) { + for _, size := range []int{1, 10, 100, 1000} { + a := make([]int, size) + b.Run(strconv.Itoa(size), func(b *testing.B) { + for i := 0; i < b.N; i++ { + s.f(a) + } + }) + } + }) + } +} + +func encodeIntArrayOrig(a []int) (*proto3.Value, *sppb.Type, error) { + vs := make([]*proto3.Value, len(a)) + var err error + for i := range a { + vs[i], _, err = encodeValue(a[i]) + if err != nil { + return nil, nil, err + } + } + return listProto(vs...), listType(intType()), nil +} + +func encodeIntArrayFunc(a []int) (*proto3.Value, *sppb.Type, error) { + v, err := encodeArray(len(a), func(i int) interface{} { return a[i] }) + if err != nil { + return nil, nil, err + } + return v, listType(intType()), nil +} + +func encodeIntArrayReflect(a []int) (*proto3.Value, *sppb.Type, error) { + v, err := encodeArrayReflect(a) + if err != nil { + return nil, nil, err + } + return v, listType(intType()), nil +} + +func encodeArrayReflect(a interface{}) (*proto3.Value, error) { + va := reflect.ValueOf(a) + len := va.Len() + vs := make([]*proto3.Value, len) + var err error + for i := 0; i < len; i++ { + vs[i], _, err = encodeValue(va.Index(i).Interface()) + if err != nil { + return nil, err + } + } + return listProto(vs...), nil +} + +func BenchmarkDecodeGeneric(b *testing.B) { + v := stringProto("test") + t := stringType() + var g GenericColumnValue + b.ResetTimer() + for i := 0; i < b.N; i++ { + decodeValue(v, t, &g) + } +} + +func BenchmarkDecodeArray(b *testing.B) { + for _, size := range []int{1, 10, 100, 1000} { + vals := make([]*proto3.Value, size) + for i := 0; i < size; i++ { + vals[i] = dateProto(d1) + } + lv := &proto3.ListValue{Values: vals} + b.Run(strconv.Itoa(size), func(b *testing.B) { + for _, s := range []struct { + name string + decode func(*proto3.ListValue) + }{ + {"DateDirect", decodeArray_Date_direct}, + {"DateFunc", decodeArray_Date_func}, + {"DateReflect", decodeArray_Date_reflect}, + {"StringDecodeStringArray", decodeStringArrayWrap}, + {"StringDirect", decodeArray_String_direct}, + {"StringFunc", decodeArray_String_func}, + {"StringReflect", decodeArray_String_reflect}, + } { + b.Run(s.name, func(b *testing.B) { + for i := 0; i < b.N; i++ { + s.decode(lv) + } + }) + } + }) + + } +} + +func decodeArray_Date_direct(pb *proto3.ListValue) { + a := make([]civil.Date, len(pb.Values)) + t := dateType() + for i, v := range pb.Values { + if err := decodeValue(v, t, &a[i]); err != nil { + panic(err) + } + } +} + +func decodeArray_Date_func(pb *proto3.ListValue) { + a := make([]civil.Date, len(pb.Values)) + if err := decodeArray_func(pb, "DATE", dateType(), func(i int) interface{} { return &a[i] }); err != nil { + panic(err) + } +} + +func decodeArray_Date_reflect(pb *proto3.ListValue) { + var a []civil.Date + if err := decodeArray_reflect(pb, "DATE", dateType(), &a); err != nil { + panic(err) + } +} + +func decodeStringArrayWrap(pb *proto3.ListValue) { + if _, err := decodeStringArray(pb); err != nil { + panic(err) + } +} + +func decodeArray_String_direct(pb *proto3.ListValue) { + a := make([]string, len(pb.Values)) + t := stringType() + for i, v := range pb.Values { + if err := decodeValue(v, t, &a[i]); err != nil { + panic(err) + } + } +} + +func decodeArray_String_func(pb *proto3.ListValue) { + + a := make([]string, len(pb.Values)) + if err := decodeArray_func(pb, "STRING", stringType(), func(i int) interface{} { return &a[i] }); err != nil { + panic(err) + } +} + +func decodeArray_String_reflect(pb *proto3.ListValue) { + var a []string + if err := decodeArray_reflect(pb, "STRING", stringType(), &a); err != nil { + panic(err) + } +} + +func decodeArray_func(pb *proto3.ListValue, name string, typ *sppb.Type, elptr func(int) interface{}) error { + if pb == nil { + return errNilListValue(name) + } + for i, v := range pb.Values { + if err := decodeValue(v, typ, elptr(i)); err != nil { + return errDecodeArrayElement(i, v, name, err) + } + } + return nil +} + +func decodeArray_reflect(pb *proto3.ListValue, name string, typ *sppb.Type, aptr interface{}) error { + if pb == nil { + return errNilListValue(name) + } + av := reflect.ValueOf(aptr).Elem() + av.Set(reflect.MakeSlice(av.Type(), len(pb.Values), len(pb.Values))) + for i, v := range pb.Values { + if err := decodeValue(v, typ, av.Index(i).Addr().Interface()); err != nil { + av.Set(reflect.Zero(av.Type())) // reset slice to nil + return errDecodeArrayElement(i, v, name, err) + } + } + return nil +} diff --git a/vendor/cloud.google.com/go/spanner/value_test.go b/vendor/cloud.google.com/go/spanner/value_test.go index 6cdcecd5c..7fca3eb3f 100644 --- a/vendor/cloud.google.com/go/spanner/value_test.go +++ b/vendor/cloud.google.com/go/spanner/value_test.go @@ -23,7 +23,6 @@ import ( "time" "cloud.google.com/go/civil" - "github.com/golang/protobuf/proto" proto3 "github.com/golang/protobuf/ptypes/struct" sppb "google.golang.org/genproto/googleapis/spanner/v1" ) @@ -160,7 +159,7 @@ func TestDecodeValue(t *testing.T) { {nullProto(), stringType(), "abc", true}, {stringProto("abc"), stringType(), NullString{"abc", true}, false}, {nullProto(), stringType(), NullString{}, false}, - // STRING ARRAY + // STRING ARRAY with []NullString { listProto(stringProto("abc"), nullProto(), stringProto("bcd")), listType(stringType()), @@ -168,6 +167,13 @@ func TestDecodeValue(t *testing.T) { false, }, {nullProto(), listType(stringType()), []NullString(nil), false}, + // STRING ARRAY with []string + { + listProto(stringProto("abc"), stringProto("bcd")), + listType(stringType()), + []string{"abc", "bcd"}, + false, + }, // BYTES {bytesProto([]byte("ab")), bytesType(), []byte("ab"), false}, {nullProto(), bytesType(), []byte(nil), false}, @@ -179,23 +185,27 @@ func TestDecodeValue(t *testing.T) { {nullProto(), intType(), int64(0), true}, {intProto(15), intType(), NullInt64{15, true}, false}, {nullProto(), intType(), NullInt64{}, false}, - // INT64 ARRAY + // INT64 ARRAY with []NullInt64 {listProto(intProto(91), nullProto(), intProto(87)), listType(intType()), []NullInt64{{91, true}, {}, {87, true}}, false}, {nullProto(), listType(intType()), []NullInt64(nil), false}, + // INT64 ARRAY with []int64 + {listProto(intProto(91), intProto(87)), listType(intType()), []int64{91, 87}, false}, // BOOL {boolProto(true), boolType(), true, false}, {nullProto(), boolType(), true, true}, {boolProto(true), boolType(), NullBool{true, true}, false}, {nullProto(), boolType(), NullBool{}, false}, - // BOOL ARRAY + // BOOL ARRAY with []NullBool {listProto(boolProto(true), boolProto(false), nullProto()), listType(boolType()), []NullBool{{true, true}, {false, true}, {}}, false}, {nullProto(), listType(boolType()), []NullBool(nil), false}, + // BOOL ARRAY with []bool + {listProto(boolProto(true), boolProto(false)), listType(boolType()), []bool{true, false}, false}, // FLOAT64 {floatProto(3.14), floatType(), 3.14, false}, {nullProto(), floatType(), 0.00, true}, {floatProto(3.14), floatType(), NullFloat64{3.14, true}, false}, {nullProto(), floatType(), NullFloat64{}, false}, - // FLOAT64 ARRAY + // FLOAT64 ARRAY with []NullFloat64 { listProto(floatProto(math.Inf(1)), floatProto(math.Inf(-1)), nullProto(), floatProto(3.1)), listType(floatType()), @@ -203,20 +213,31 @@ func TestDecodeValue(t *testing.T) { false, }, {nullProto(), listType(floatType()), []NullFloat64(nil), false}, + // FLOAT64 ARRAY with []float64 + { + listProto(floatProto(math.Inf(1)), floatProto(math.Inf(-1)), floatProto(3.1)), + listType(floatType()), + []float64{math.Inf(1), math.Inf(-1), 3.1}, + false, + }, // TIMESTAMP {timeProto(t1), timeType(), t1, false}, {timeProto(t1), timeType(), NullTime{t1, true}, false}, {nullProto(), timeType(), NullTime{}, false}, - // TIMESTAMP ARRAY + // TIMESTAMP ARRAY with []NullTime {listProto(timeProto(t1), timeProto(t2), timeProto(t3), nullProto()), listType(timeType()), []NullTime{{t1, true}, {t2, true}, {t3, true}, {}}, false}, {nullProto(), listType(timeType()), []NullTime(nil), false}, + // TIMESTAMP ARRAY with []time.Time + {listProto(timeProto(t1), timeProto(t2), timeProto(t3)), listType(timeType()), []time.Time{t1, t2, t3}, false}, // DATE {dateProto(d1), dateType(), d1, false}, {dateProto(d1), dateType(), NullDate{d1, true}, false}, {nullProto(), dateType(), NullDate{}, false}, - // DATE ARRAY + // DATE ARRAY with []NullDate {listProto(dateProto(d1), dateProto(d2), nullProto()), listType(dateType()), []NullDate{{d1, true}, {d2, true}, {}}, false}, {nullProto(), listType(dateType()), []NullDate(nil), false}, + // DATE ARRAY with []civil.Date + {listProto(dateProto(d1), dateProto(d2)), listType(dateType()), []civil.Date{d1, d2}, false}, // STRUCT ARRAY // STRUCT schema is equal to the following Go struct: // type s struct { @@ -475,13 +496,8 @@ func TestGenericColumnValue(t *testing.T) { {GenericColumnValue{listType(intType()), listProto(intProto(91), nullProto(), intProto(87))}, []NullInt64{{91, true}, {}, {87, true}}, false}, {GenericColumnValue{intType(), intProto(42)}, GenericColumnValue{intType(), intProto(42)}, false}, // trippy! :-) } { - // We take a copy and mutate because we're paranoid about immutability. - inCopy := GenericColumnValue{ - Type: proto.Clone(test.in.Type).(*sppb.Type), - Value: proto.Clone(test.in.Value).(*proto3.Value), - } gotp := reflect.New(reflect.TypeOf(test.want)) - if err := inCopy.Decode(gotp.Interface()); err != nil { + if err := test.in.Decode(gotp.Interface()); err != nil { if !test.fail { t.Errorf("cannot decode %v to %v: %v", test.in, test.want, err) } @@ -490,13 +506,6 @@ func TestGenericColumnValue(t *testing.T) { if test.fail { t.Errorf("decoding %v to %v succeeds unexpectedly", test.in, test.want) } - // mutations to inCopy should be invisible to gotp. - inCopy.Type.Code = sppb.TypeCode_TIMESTAMP - inCopy.Value.Kind = &proto3.Value_NumberValue{NumberValue: 999} - got := reflect.Indirect(gotp).Interface() - if !reflect.DeepEqual(got, test.want) { - t.Errorf("unexpected decode result - got %v, want %v", got, test.want) - } // Test we can go backwards as well. v, err := newGenericColumnValue(test.want) @@ -507,111 +516,5 @@ func TestGenericColumnValue(t *testing.T) { if !reflect.DeepEqual(*v, test.in) { t.Errorf("unexpected encode result - got %v, want %v", v, test.in) } - // If want is a GenericColumnValue, mutate its underlying value to validate - // we have taken a deep copy. - if gcv, ok := test.want.(GenericColumnValue); ok { - gcv.Type.Code = sppb.TypeCode_TIMESTAMP - gcv.Value.Kind = &proto3.Value_NumberValue{NumberValue: 999} - if !reflect.DeepEqual(*v, test.in) { - t.Errorf("expected deep copy - got %v, want %v", v, test.in) - } - } } } - -func runBench(b *testing.B, size int, f func(a []int) (*proto3.Value, *sppb.Type, error)) { - a := make([]int, size) - for i := 0; i < b.N; i++ { - f(a) - } -} - -func BenchmarkEncodeIntArrayOrig1(b *testing.B) { - runBench(b, 1, encodeIntArrayOrig) -} - -func BenchmarkEncodeIntArrayOrig10(b *testing.B) { - runBench(b, 10, encodeIntArrayOrig) -} - -func BenchmarkEncodeIntArrayOrig100(b *testing.B) { - runBench(b, 100, encodeIntArrayOrig) -} - -func BenchmarkEncodeIntArrayOrig1000(b *testing.B) { - runBench(b, 1000, encodeIntArrayOrig) -} - -func BenchmarkEncodeIntArrayFunc1(b *testing.B) { - runBench(b, 1, encodeIntArrayFunc) -} - -func BenchmarkEncodeIntArrayFunc10(b *testing.B) { - runBench(b, 10, encodeIntArrayFunc) -} - -func BenchmarkEncodeIntArrayFunc100(b *testing.B) { - runBench(b, 100, encodeIntArrayFunc) -} - -func BenchmarkEncodeIntArrayFunc1000(b *testing.B) { - runBench(b, 1000, encodeIntArrayFunc) -} - -func BenchmarkEncodeIntArrayReflect1(b *testing.B) { - runBench(b, 1, encodeIntArrayReflect) -} - -func BenchmarkEncodeIntArrayReflect10(b *testing.B) { - runBench(b, 10, encodeIntArrayReflect) -} - -func BenchmarkEncodeIntArrayReflect100(b *testing.B) { - runBench(b, 100, encodeIntArrayReflect) -} - -func BenchmarkEncodeIntArrayReflect1000(b *testing.B) { - runBench(b, 1000, encodeIntArrayReflect) -} - -func encodeIntArrayOrig(a []int) (*proto3.Value, *sppb.Type, error) { - vs := make([]*proto3.Value, len(a)) - var err error - for i := range a { - vs[i], _, err = encodeValue(a[i]) - if err != nil { - return nil, nil, err - } - } - return listProto(vs...), listType(intType()), nil -} - -func encodeIntArrayFunc(a []int) (*proto3.Value, *sppb.Type, error) { - v, err := encodeArray(len(a), func(i int) interface{} { return a[i] }) - if err != nil { - return nil, nil, err - } - return v, listType(intType()), nil -} - -func encodeIntArrayReflect(a []int) (*proto3.Value, *sppb.Type, error) { - v, err := encodeArrayReflect(a) - if err != nil { - return nil, nil, err - } - return v, listType(intType()), nil -} - -func encodeArrayReflect(a interface{}) (*proto3.Value, error) { - va := reflect.ValueOf(a) - len := va.Len() - vs := make([]*proto3.Value, len) - var err error - for i := 0; i < len; i++ { - vs[i], _, err = encodeValue(va.Index(i).Interface()) - if err != nil { - return nil, err - } - } - return listProto(vs...), nil -} diff --git a/vendor/cloud.google.com/go/speech/apiv1/Recognize_smoke_test.go b/vendor/cloud.google.com/go/speech/apiv1/Recognize_smoke_test.go new file mode 100644 index 000000000..fcc448dc6 --- /dev/null +++ b/vendor/cloud.google.com/go/speech/apiv1/Recognize_smoke_test.go @@ -0,0 +1,78 @@ +// Copyright 2017, Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// AUTO-GENERATED CODE. DO NOT EDIT. + +package speech + +import ( + speechpb "google.golang.org/genproto/googleapis/cloud/speech/v1" +) + +import ( + "strconv" + "testing" + "time" + + "cloud.google.com/go/internal/testutil" + "golang.org/x/net/context" + "google.golang.org/api/iterator" + "google.golang.org/api/option" +) + +var _ = iterator.Done +var _ = strconv.FormatUint +var _ = time.Now + +func TestSpeechSmoke(t *testing.T) { + if testing.Short() { + t.Skip("skipping smoke test in short mode") + } + ctx := context.Background() + ts := testutil.TokenSource(ctx, DefaultAuthScopes()...) + if ts == nil { + t.Skip("Integration tests skipped. See CONTRIBUTING.md for details") + } + + projectId := testutil.ProjID() + _ = projectId + + c, err := NewClient(ctx, option.WithTokenSource(ts)) + if err != nil { + t.Fatal(err) + } + + var languageCode string = "en-US" + var sampleRateHertz int32 = 44100 + var encoding speechpb.RecognitionConfig_AudioEncoding = speechpb.RecognitionConfig_FLAC + var config = &speechpb.RecognitionConfig{ + LanguageCode: languageCode, + SampleRateHertz: sampleRateHertz, + Encoding: encoding, + } + var uri string = "gs://gapic-toolkit/hello.flac" + var audio = &speechpb.RecognitionAudio{ + AudioSource: &speechpb.RecognitionAudio_Uri{ + Uri: uri, + }, + } + var request = &speechpb.RecognizeRequest{ + Config: config, + Audio: audio, + } + + if _, err := c.Recognize(ctx, request); err != nil { + t.Error(err) + } +} diff --git a/vendor/cloud.google.com/go/speech/apiv1/doc.go b/vendor/cloud.google.com/go/speech/apiv1/doc.go index c884fa9f1..ceea385f6 100644 --- a/vendor/cloud.google.com/go/speech/apiv1/doc.go +++ b/vendor/cloud.google.com/go/speech/apiv1/doc.go @@ -14,7 +14,7 @@ // AUTO-GENERATED CODE. DO NOT EDIT. -// Package speech is an experimental, auto-generated package for the +// Package speech is an auto-generated package for the // Google Cloud Speech API. // // Google Cloud Speech API. @@ -32,8 +32,7 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } -// DefaultAuthScopes reports the authentication scopes required -// by this package. +// DefaultAuthScopes reports the default set of authentication scopes to use with this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/vendor/cloud.google.com/go/speech/apiv1/speech_client.go b/vendor/cloud.google.com/go/speech/apiv1/speech_client.go index fa6eedcdf..0f618efe0 100644 --- a/vendor/cloud.google.com/go/speech/apiv1/speech_client.go +++ b/vendor/cloud.google.com/go/speech/apiv1/speech_client.go @@ -102,7 +102,7 @@ func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error client: speechpb.NewSpeechClient(conn), } - c.SetGoogleClientInfo() + c.setGoogleClientInfo() c.LROClient, err = lroauto.NewOperationsClient(ctx, option.WithGRPCConn(conn)) if err != nil { @@ -128,10 +128,10 @@ func (c *Client) Close() error { return c.conn.Close() } -// SetGoogleClientInfo sets the name and version of the application in +// setGoogleClientInfo sets the name and version of the application in // the `x-goog-api-client` header passed on each request. Intended for // use by Google-written clients. -func (c *Client) SetGoogleClientInfo(keyval ...string) { +func (c *Client) setGoogleClientInfo(keyval ...string) { kv := append([]string{"gl-go", version.Go()}, keyval...) kv = append(kv, "gapic", version.Repo, "gax", gax.Version, "grpc", grpc.Version) c.xGoogHeader = []string{gax.XGoogHeader(kv...)} @@ -156,8 +156,8 @@ func (c *Client) Recognize(ctx context.Context, req *speechpb.RecognizeRequest, // LongRunningRecognize performs asynchronous speech recognition: receive results via the // google.longrunning.Operations interface. Returns either an -// `Operation.error` or an `Operation.response` which contains -// a `LongRunningRecognizeResponse` message. +// Operation.error or an Operation.response which contains +// a LongRunningRecognizeResponse message. func (c *Client) LongRunningRecognize(ctx context.Context, req *speechpb.LongRunningRecognizeRequest, opts ...gax.CallOption) (*LongRunningRecognizeOperation, error) { ctx = insertXGoog(ctx, c.xGoogHeader) opts = append(c.CallOptions.LongRunningRecognize[0:len(c.CallOptions.LongRunningRecognize):len(c.CallOptions.LongRunningRecognize)], opts...) @@ -210,7 +210,7 @@ func (c *Client) LongRunningRecognizeOperation(name string) *LongRunningRecogniz // See documentation of Poll for error-handling information. func (op *LongRunningRecognizeOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*speechpb.LongRunningRecognizeResponse, error) { var resp speechpb.LongRunningRecognizeResponse - if err := op.lro.Wait(ctx, &resp, opts...); err != nil { + if err := op.lro.WaitWithInterval(ctx, &resp, 45000*time.Millisecond, opts...); err != nil { return nil, err } return &resp, nil diff --git a/vendor/cloud.google.com/go/speech/apiv1beta1/doc.go b/vendor/cloud.google.com/go/speech/apiv1beta1/doc.go index 1bd791110..83ba2658d 100644 --- a/vendor/cloud.google.com/go/speech/apiv1beta1/doc.go +++ b/vendor/cloud.google.com/go/speech/apiv1beta1/doc.go @@ -32,8 +32,7 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } -// DefaultAuthScopes reports the authentication scopes required -// by this package. +// DefaultAuthScopes reports the default set of authentication scopes to use with this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/vendor/cloud.google.com/go/speech/apiv1beta1/speech_client.go b/vendor/cloud.google.com/go/speech/apiv1beta1/speech_client.go index 609d7b281..d5e7603f3 100644 --- a/vendor/cloud.google.com/go/speech/apiv1beta1/speech_client.go +++ b/vendor/cloud.google.com/go/speech/apiv1beta1/speech_client.go @@ -102,7 +102,7 @@ func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error client: speechpb.NewSpeechClient(conn), } - c.SetGoogleClientInfo() + c.setGoogleClientInfo() c.LROClient, err = lroauto.NewOperationsClient(ctx, option.WithGRPCConn(conn)) if err != nil { @@ -128,10 +128,10 @@ func (c *Client) Close() error { return c.conn.Close() } -// SetGoogleClientInfo sets the name and version of the application in +// setGoogleClientInfo sets the name and version of the application in // the `x-goog-api-client` header passed on each request. Intended for // use by Google-written clients. -func (c *Client) SetGoogleClientInfo(keyval ...string) { +func (c *Client) setGoogleClientInfo(keyval ...string) { kv := append([]string{"gl-go", version.Go()}, keyval...) kv = append(kv, "gapic", version.Repo, "gax", gax.Version, "grpc", grpc.Version) c.xGoogHeader = []string{gax.XGoogHeader(kv...)} @@ -158,8 +158,8 @@ func (c *Client) SyncRecognize(ctx context.Context, req *speechpb.SyncRecognizeR // [google.longrunning.Operations] // (/speech/reference/rest/v1beta1/operations#Operation) // interface. Returns either an -// `Operation.error` or an `Operation.response` which contains -// an `AsyncRecognizeResponse` message. +// Operation.error or an Operation.response which contains +// an AsyncRecognizeResponse message. func (c *Client) AsyncRecognize(ctx context.Context, req *speechpb.AsyncRecognizeRequest, opts ...gax.CallOption) (*AsyncRecognizeOperation, error) { ctx = insertXGoog(ctx, c.xGoogHeader) opts = append(c.CallOptions.AsyncRecognize[0:len(c.CallOptions.AsyncRecognize):len(c.CallOptions.AsyncRecognize)], opts...) @@ -212,7 +212,7 @@ func (c *Client) AsyncRecognizeOperation(name string) *AsyncRecognizeOperation { // See documentation of Poll for error-handling information. func (op *AsyncRecognizeOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*speechpb.AsyncRecognizeResponse, error) { var resp speechpb.AsyncRecognizeResponse - if err := op.lro.Wait(ctx, &resp, opts...); err != nil { + if err := op.lro.WaitWithInterval(ctx, &resp, 45000*time.Millisecond, opts...); err != nil { return nil, err } return &resp, nil diff --git a/vendor/cloud.google.com/go/storage/acl.go b/vendor/cloud.google.com/go/storage/acl.go index 041e54132..a1b2b6d3d 100644 --- a/vendor/cloud.google.com/go/storage/acl.go +++ b/vendor/cloud.google.com/go/storage/acl.go @@ -16,8 +16,11 @@ package storage import ( "fmt" + "net/http" + "reflect" "golang.org/x/net/context" + "google.golang.org/api/googleapi" raw "google.golang.org/api/storage/v1" ) @@ -53,10 +56,11 @@ type ACLRule struct { // ACLHandle provides operations on an access control list for a Google Cloud Storage bucket or object. type ACLHandle struct { - c *Client - bucket string - object string - isDefault bool + c *Client + bucket string + object string + isDefault bool + userProject string // for requester-pays buckets } // Delete permanently deletes the ACL entry for the given entity. @@ -73,10 +77,10 @@ func (a *ACLHandle) Delete(ctx context.Context, entity ACLEntity) error { // Set sets the permission level for the given entity. func (a *ACLHandle) Set(ctx context.Context, entity ACLEntity, role ACLRole) error { if a.object != "" { - return a.objectSet(ctx, entity, role) + return a.objectSet(ctx, entity, role, false) } if a.isDefault { - return a.bucketDefaultSet(ctx, entity, role) + return a.objectSet(ctx, entity, role, true) } return a.bucketSet(ctx, entity, role) } @@ -96,8 +100,8 @@ func (a *ACLHandle) bucketDefaultList(ctx context.Context) ([]ACLRule, error) { var acls *raw.ObjectAccessControls var err error err = runWithRetry(ctx, func() error { - req := a.c.raw.DefaultObjectAccessControls.List(a.bucket).Context(ctx) - setClientHeader(req.Header()) + req := a.c.raw.DefaultObjectAccessControls.List(a.bucket) + a.configureCall(req, ctx) acls, err = req.Do() return err }) @@ -107,28 +111,10 @@ func (a *ACLHandle) bucketDefaultList(ctx context.Context) ([]ACLRule, error) { return toACLRules(acls.Items), nil } -func (a *ACLHandle) bucketDefaultSet(ctx context.Context, entity ACLEntity, role ACLRole) error { - acl := &raw.ObjectAccessControl{ - Bucket: a.bucket, - Entity: string(entity), - Role: string(role), - } - err := runWithRetry(ctx, func() error { - req := a.c.raw.DefaultObjectAccessControls.Update(a.bucket, string(entity), acl).Context(ctx) - setClientHeader(req.Header()) - _, err := req.Do() - return err - }) - if err != nil { - return fmt.Errorf("storage: error updating default ACL entry for bucket %q, entity %q: %v", a.bucket, entity, err) - } - return nil -} - func (a *ACLHandle) bucketDefaultDelete(ctx context.Context, entity ACLEntity) error { err := runWithRetry(ctx, func() error { - req := a.c.raw.DefaultObjectAccessControls.Delete(a.bucket, string(entity)).Context(ctx) - setClientHeader(req.Header()) + req := a.c.raw.DefaultObjectAccessControls.Delete(a.bucket, string(entity)) + a.configureCall(req, ctx) return req.Do() }) if err != nil { @@ -141,8 +127,8 @@ func (a *ACLHandle) bucketList(ctx context.Context) ([]ACLRule, error) { var acls *raw.BucketAccessControls var err error err = runWithRetry(ctx, func() error { - req := a.c.raw.BucketAccessControls.List(a.bucket).Context(ctx) - setClientHeader(req.Header()) + req := a.c.raw.BucketAccessControls.List(a.bucket) + a.configureCall(req, ctx) acls, err = req.Do() return err }) @@ -164,8 +150,8 @@ func (a *ACLHandle) bucketSet(ctx context.Context, entity ACLEntity, role ACLRol Role: string(role), } err := runWithRetry(ctx, func() error { - req := a.c.raw.BucketAccessControls.Update(a.bucket, string(entity), acl).Context(ctx) - setClientHeader(req.Header()) + req := a.c.raw.BucketAccessControls.Update(a.bucket, string(entity), acl) + a.configureCall(req, ctx) _, err := req.Do() return err }) @@ -177,8 +163,8 @@ func (a *ACLHandle) bucketSet(ctx context.Context, entity ACLEntity, role ACLRol func (a *ACLHandle) bucketDelete(ctx context.Context, entity ACLEntity) error { err := runWithRetry(ctx, func() error { - req := a.c.raw.BucketAccessControls.Delete(a.bucket, string(entity)).Context(ctx) - setClientHeader(req.Header()) + req := a.c.raw.BucketAccessControls.Delete(a.bucket, string(entity)) + a.configureCall(req, ctx) return req.Do() }) if err != nil { @@ -191,8 +177,8 @@ func (a *ACLHandle) objectList(ctx context.Context) ([]ACLRule, error) { var acls *raw.ObjectAccessControls var err error err = runWithRetry(ctx, func() error { - req := a.c.raw.ObjectAccessControls.List(a.bucket, a.object).Context(ctx) - setClientHeader(req.Header()) + req := a.c.raw.ObjectAccessControls.List(a.bucket, a.object) + a.configureCall(req, ctx) acls, err = req.Do() return err }) @@ -202,28 +188,42 @@ func (a *ACLHandle) objectList(ctx context.Context) ([]ACLRule, error) { return toACLRules(acls.Items), nil } -func (a *ACLHandle) objectSet(ctx context.Context, entity ACLEntity, role ACLRole) error { +func (a *ACLHandle) objectSet(ctx context.Context, entity ACLEntity, role ACLRole, isBucketDefault bool) error { + type setRequest interface { + Do(opts ...googleapi.CallOption) (*raw.ObjectAccessControl, error) + Header() http.Header + } + acl := &raw.ObjectAccessControl{ Bucket: a.bucket, Entity: string(entity), Role: string(role), } + var req setRequest + if isBucketDefault { + req = a.c.raw.DefaultObjectAccessControls.Update(a.bucket, string(entity), acl) + } else { + req = a.c.raw.ObjectAccessControls.Update(a.bucket, a.object, string(entity), acl) + } + a.configureCall(req, ctx) err := runWithRetry(ctx, func() error { - req := a.c.raw.ObjectAccessControls.Update(a.bucket, a.object, string(entity), acl).Context(ctx) - setClientHeader(req.Header()) _, err := req.Do() return err }) if err != nil { - return fmt.Errorf("storage: error updating object ACL entry for bucket %q, file %q, entity %q: %v", a.bucket, a.object, entity, err) + if isBucketDefault { + return fmt.Errorf("storage: error updating default ACL entry for bucket %q, entity %q: %v", a.bucket, entity, err) + } else { + return fmt.Errorf("storage: error updating object ACL entry for bucket %q, object %q, entity %q: %v", a.bucket, a.object, entity, err) + } } return nil } func (a *ACLHandle) objectDelete(ctx context.Context, entity ACLEntity) error { err := runWithRetry(ctx, func() error { - req := a.c.raw.ObjectAccessControls.Delete(a.bucket, a.object, string(entity)).Context(ctx) - setClientHeader(req.Header()) + req := a.c.raw.ObjectAccessControls.Delete(a.bucket, a.object, string(entity)) + a.configureCall(req, ctx) return req.Do() }) if err != nil { @@ -232,6 +232,17 @@ func (a *ACLHandle) objectDelete(ctx context.Context, entity ACLEntity) error { return nil } +func (a *ACLHandle) configureCall(call interface { + Header() http.Header +}, ctx context.Context) { + vc := reflect.ValueOf(call) + vc.MethodByName("Context").Call([]reflect.Value{reflect.ValueOf(ctx)}) + if a.userProject != "" { + vc.MethodByName("UserProject").Call([]reflect.Value{reflect.ValueOf(a.userProject)}) + } + setClientHeader(call.Header()) +} + func toACLRules(items []*raw.ObjectAccessControl) []ACLRule { r := make([]ACLRule, 0, len(items)) for _, item := range items { diff --git a/vendor/cloud.google.com/go/storage/bucket.go b/vendor/cloud.google.com/go/storage/bucket.go index 6918dc863..07852a507 100644 --- a/vendor/cloud.google.com/go/storage/bucket.go +++ b/vendor/cloud.google.com/go/storage/bucket.go @@ -1,4 +1,4 @@ -// Copyright 2014 Google Inc. All Rights Reserved. +// Copyright 2014 Google Inc. LiveAndArchived Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -35,6 +35,7 @@ type BucketHandle struct { acl ACLHandle defaultObjectACL ACLHandle conds *BucketConditions + userProject string // project for requester-pays buckets } // Bucket returns a BucketHandle, which provides operations on the named bucket. @@ -70,6 +71,11 @@ func (b *BucketHandle) Create(ctx context.Context, projectID string, attrs *Buck bkt = &raw.Bucket{} } bkt.Name = b.name + // If there is lifecycle information but no location, explicitly set + // the location. This is a GCS quirk/bug. + if bkt.Location == "" && bkt.Lifecycle != nil { + bkt.Location = "US" + } req := b.c.raw.Buckets.Insert(projectID, bkt) setClientHeader(req.Header()) return runWithRetry(ctx, func() error { _, err := req.Context(ctx).Do(); return err }) @@ -90,6 +96,9 @@ func (b *BucketHandle) newDeleteCall() (*raw.BucketsDeleteCall, error) { if err := applyBucketConds("BucketHandle.Delete", b.conds, req); err != nil { return nil, err } + if b.userProject != "" { + req.UserProject(b.userProject) + } return req, nil } @@ -119,11 +128,13 @@ func (b *BucketHandle) Object(name string) *ObjectHandle { bucket: b.name, object: name, acl: ACLHandle{ - c: b.c, - bucket: b.name, - object: name, + c: b.c, + bucket: b.name, + object: name, + userProject: b.userProject, }, - gen: -1, + gen: -1, + userProject: b.userProject, } } @@ -153,6 +164,9 @@ func (b *BucketHandle) newGetCall() (*raw.BucketsGetCall, error) { if err := applyBucketConds("BucketHandle.Attrs", b.conds, req); err != nil { return nil, err } + if b.userProject != "" { + req.UserProject(b.userProject) + } return req, nil } @@ -176,12 +190,17 @@ func (b *BucketHandle) newPatchCall(uattrs *BucketAttrsToUpdate) (*raw.BucketsPa if err := applyBucketConds("BucketHandle.Update", b.conds, req); err != nil { return nil, err } + if b.userProject != "" { + req.UserProject(b.userProject) + } return req, nil } // BucketAttrs represents the metadata for a Google Cloud Storage bucket. +// Read-only fields are ignored by BucketHandle.Create. type BucketAttrs struct { // Name is the name of the bucket. + // This field is read-only. Name string // ACL is the list of access control rules on the bucket. @@ -195,6 +214,7 @@ type BucketAttrs struct { Location string // MetaGeneration is the metadata generation of the bucket. + // This field is read-only. MetaGeneration int64 // StorageClass is the default storage class of the bucket. This defines @@ -207,14 +227,109 @@ type BucketAttrs struct { StorageClass string // Created is the creation time of the bucket. + // This field is read-only. Created time.Time // VersioningEnabled reports whether this bucket has versioning enabled. - // This field is read-only. VersioningEnabled bool // Labels are the bucket's labels. Labels map[string]string + + // RequesterPays reports whether the bucket is a Requester Pays bucket. + RequesterPays bool + // Lifecycle is the lifecycle configuration for objects in the bucket. + Lifecycle Lifecycle +} + +// Lifecycle is the lifecycle configuration for objects in the bucket. +type Lifecycle struct { + Rules []LifecycleRule +} + +const ( + // RFC3339 date with only the date segment, used for CreatedBefore in LifecycleRule. + rfc3339Date = "2006-01-02" + + // DeleteAction is a lifecycle action that deletes a live and/or archived + // objects. Takes precendence over SetStorageClass actions. + DeleteAction = "Delete" + + // SetStorageClassAction changes the storage class of live and/or archived + // objects. + SetStorageClassAction = "SetStorageClass" +) + +// LifecycleRule is a lifecycle configuration rule. +// +// When all the configured conditions are met by an object in the bucket, the +// configured action will automatically be taken on that object. +type LifecycleRule struct { + // Action is the action to take when all of the associated conditions are + // met. + Action LifecycleAction + + // Condition is the set of conditions that must be met for the associated + // action to be taken. + Condition LifecycleCondition +} + +// LifecycleAction is a lifecycle configuration action. +type LifecycleAction struct { + // Type is the type of action to take on matching objects. + // + // Acceptable values are "Delete" to delete matching objects and + // "SetStorageClass" to set the storage class defined in StorageClass on + // matching objects. + Type string + + // StorageClass is the storage class to set on matching objects if the Action + // is "SetStorageClass". + StorageClass string +} + +// Liveness specifies whether the object is live or not. +type Liveness int + +const ( + // LiveAndArchived includes both live and archived objects. + LiveAndArchived Liveness = iota + // Live specifies that the object is still live. + Live + // Archived specifies that the object is archived. + Archived +) + +// LifecycleCondition is a set of conditions used to match objects and take an +// action automatically. +// +// All configured conditions must be met for the associated action to be taken. +type LifecycleCondition struct { + // AgeInDays is the age of the object in days. + AgeInDays int64 + + // CreatedBefore is the time the object was created. + // + // This condition is satisfied when an object is created before midnight of + // the specified date in UTC. + CreatedBefore time.Time + + // Liveness specifies the object's liveness. Relevant only for versioned objects + Liveness Liveness + + // MatchesStorageClasses is the condition matching the object's storage + // class. + // + // Values include "MULTI_REGIONAL", "REGIONAL", "NEARLINE", "COLDLINE", + // "STANDARD", and "DURABLE_REDUCED_AVAILABILITY". + MatchesStorageClasses []string + + // NumNewerVersions is the condition matching objects with a number of newer versions. + // + // If the value is N, this condition is satisfied when there are at least N + // versions (including the live version) newer than this version of the + // object. + NumNewerVersions int64 } func newBucket(b *raw.Bucket) *BucketAttrs { @@ -229,6 +344,8 @@ func newBucket(b *raw.Bucket) *BucketAttrs { Created: convertTime(b.TimeCreated), VersioningEnabled: b.Versioning != nil && b.Versioning.Enabled, Labels: b.Labels, + RequesterPays: b.Billing != nil && b.Billing.RequesterPays, + Lifecycle: toLifecycle(b.Lifecycle), } acl := make([]ACLRule, len(b.Acl)) for i, rule := range b.Acl { @@ -277,6 +394,10 @@ func (b *BucketAttrs) toRawBucket() *raw.Bucket { if b.VersioningEnabled { v = &raw.BucketVersioning{Enabled: true} } + var bb *raw.BucketBilling + if b.RequesterPays { + bb = &raw.BucketBilling{RequesterPays: true} + } return &raw.Bucket{ Name: b.Name, DefaultObjectAcl: dACL, @@ -285,6 +406,8 @@ func (b *BucketAttrs) toRawBucket() *raw.Bucket { Acl: acl, Versioning: v, Labels: labels, + Billing: bb, + Lifecycle: toRawLifecycle(b.Lifecycle), } } @@ -292,6 +415,9 @@ type BucketAttrsToUpdate struct { // VersioningEnabled, if set, updates whether the bucket uses versioning. VersioningEnabled optional.Bool + // RequesterPays, if set, updates whether the bucket is a Requester Pays bucket. + RequesterPays optional.Bool + setLabels map[string]string deleteLabels map[string]bool } @@ -322,6 +448,12 @@ func (ua *BucketAttrsToUpdate) toRawBucket() *raw.Bucket { ForceSendFields: []string{"Enabled"}, } } + if ua.RequesterPays != nil { + rb.Billing = &raw.BucketBilling{ + RequesterPays: optional.ToBool(ua.RequesterPays), + ForceSendFields: []string{"RequesterPays"}, + } + } if ua.setLabels != nil || ua.deleteLabels != nil { rb.Labels = map[string]string{} for k, v := range ua.setLabels { @@ -373,6 +505,17 @@ func (c *BucketConditions) validate(method string) error { return nil } +// UserProject returns a new BucketHandle that passes the project ID as the user +// project for all subsequent calls. A user project is required for all operations +// on requester-pays buckets. +func (b *BucketHandle) UserProject(projectID string) *BucketHandle { + b2 := *b + b2.userProject = projectID + b2.acl.userProject = projectID + b2.defaultObjectACL.userProject = projectID + return &b2 +} + // applyBucketConds modifies the provided call using the conditions in conds. // call is something that quacks like a *raw.WhateverCall. func applyBucketConds(method string, conds *BucketConditions, call interface{}) error { @@ -396,6 +539,75 @@ func applyBucketConds(method string, conds *BucketConditions, call interface{}) return nil } +func toRawLifecycle(l Lifecycle) *raw.BucketLifecycle { + var rl raw.BucketLifecycle + if len(l.Rules) == 0 { + return nil + } + for _, r := range l.Rules { + rr := &raw.BucketLifecycleRule{ + Action: &raw.BucketLifecycleRuleAction{ + Type: r.Action.Type, + StorageClass: r.Action.StorageClass, + }, + Condition: &raw.BucketLifecycleRuleCondition{ + Age: r.Condition.AgeInDays, + MatchesStorageClass: r.Condition.MatchesStorageClasses, + NumNewerVersions: r.Condition.NumNewerVersions, + }, + } + + switch r.Condition.Liveness { + case LiveAndArchived: + rr.Condition.IsLive = nil + case Live: + rr.Condition.IsLive = googleapi.Bool(true) + case Archived: + rr.Condition.IsLive = googleapi.Bool(false) + } + + if !r.Condition.CreatedBefore.IsZero() { + rr.Condition.CreatedBefore = r.Condition.CreatedBefore.Format(rfc3339Date) + } + rl.Rule = append(rl.Rule, rr) + } + return &rl +} + +func toLifecycle(rl *raw.BucketLifecycle) Lifecycle { + var l Lifecycle + if rl == nil { + return l + } + for _, rr := range rl.Rule { + r := LifecycleRule{ + Action: LifecycleAction{ + Type: rr.Action.Type, + StorageClass: rr.Action.StorageClass, + }, + Condition: LifecycleCondition{ + AgeInDays: rr.Condition.Age, + MatchesStorageClasses: rr.Condition.MatchesStorageClass, + NumNewerVersions: rr.Condition.NumNewerVersions, + }, + } + + switch { + case rr.Condition.IsLive == nil: + r.Condition.Liveness = LiveAndArchived + case *rr.Condition.IsLive == true: + r.Condition.Liveness = Live + case *rr.Condition.IsLive == false: + r.Condition.Liveness = Archived + } + + if rr.Condition.CreatedBefore != "" { + r.Condition.CreatedBefore, _ = time.Parse(rfc3339Date, rr.Condition.CreatedBefore) + } + } + return l +} + // Objects returns an iterator over the objects in the bucket that match the Query q. // If q is nil, no filtering is done. func (b *BucketHandle) Objects(ctx context.Context, q *Query) *ObjectIterator { @@ -450,6 +662,9 @@ func (it *ObjectIterator) fetch(pageSize int, pageToken string) (string, error) req.Prefix(it.query.Prefix) req.Versions(it.query.Versions) req.PageToken(pageToken) + if it.bucket.userProject != "" { + req.UserProject(it.bucket.userProject) + } if pageSize > 0 { req.MaxResults(int64(pageSize)) } diff --git a/vendor/cloud.google.com/go/storage/bucket_test.go b/vendor/cloud.google.com/go/storage/bucket_test.go index e9ef12df3..3aea5a8ba 100644 --- a/vendor/cloud.google.com/go/storage/bucket_test.go +++ b/vendor/cloud.google.com/go/storage/bucket_test.go @@ -20,7 +20,10 @@ import ( "testing" "time" + "github.com/google/go-cmp/cmp" + "cloud.google.com/go/internal/pretty" + "cloud.google.com/go/internal/testutil" raw "google.golang.org/api/storage/v1" ) @@ -61,8 +64,10 @@ func TestBucketAttrsToRawBucket(t *testing.T) { } attrs.VersioningEnabled = true + attrs.RequesterPays = true got = attrs.toRawBucket() want.Versioning = &raw.BucketVersioning{Enabled: true} + want.Billing = &raw.BucketBilling{RequesterPays: true} msg, ok, err = pretty.Diff(want, got) if err != nil { t.Fatal(err) @@ -74,7 +79,10 @@ func TestBucketAttrsToRawBucket(t *testing.T) { func TestBucketAttrsToUpdateToRawBucket(t *testing.T) { t.Parallel() - au := &BucketAttrsToUpdate{VersioningEnabled: false} + au := &BucketAttrsToUpdate{ + VersioningEnabled: false, + RequesterPays: false, + } au.SetLabel("a", "foo") au.DeleteLabel("b") au.SetLabel("c", "") @@ -88,6 +96,10 @@ func TestBucketAttrsToUpdateToRawBucket(t *testing.T) { "a": "foo", "c": "", }, + Billing: &raw.BucketBilling{ + RequesterPays: false, + ForceSendFields: []string{"RequesterPays"}, + }, NullFields: []string{"Labels.b"}, } msg, ok, err := pretty.Diff(want, got) @@ -125,7 +137,20 @@ func TestCallBuilders(t *testing.T) { const metagen = 17 b := c.Bucket("name") - bm := b.If(BucketConditions{MetagenerationMatch: metagen}) + bm := b.If(BucketConditions{MetagenerationMatch: metagen}).UserProject("p") + + equal := func(x, y interface{}) bool { + return testutil.Equal(x, y, + cmp.AllowUnexported( + raw.BucketsGetCall{}, + raw.BucketsDeleteCall{}, + raw.BucketsPatchCall{}, + ), + cmp.FilterPath(func(p cmp.Path) bool { + return p[len(p)-1].Type() == reflect.TypeOf(&raw.Service{}) + }, cmp.Ignore()), + ) + } for i, test := range []struct { callFunc func(*BucketHandle) (interface{}, error) @@ -137,12 +162,12 @@ func TestCallBuilders(t *testing.T) { { func(b *BucketHandle) (interface{}, error) { return b.newGetCall() }, rc.Buckets.Get("name").Projection("full"), - func(req interface{}) { req.(*raw.BucketsGetCall).IfMetagenerationMatch(metagen) }, + func(req interface{}) { req.(*raw.BucketsGetCall).IfMetagenerationMatch(metagen).UserProject("p") }, }, { func(b *BucketHandle) (interface{}, error) { return b.newDeleteCall() }, rc.Buckets.Delete("name"), - func(req interface{}) { req.(*raw.BucketsDeleteCall).IfMetagenerationMatch(metagen) }, + func(req interface{}) { req.(*raw.BucketsDeleteCall).IfMetagenerationMatch(metagen).UserProject("p") }, }, { func(b *BucketHandle) (interface{}, error) { @@ -151,7 +176,7 @@ func TestCallBuilders(t *testing.T) { rc.Buckets.Patch("name", &raw.Bucket{ Versioning: &raw.BucketVersioning{Enabled: false, ForceSendFields: []string{"Enabled"}}, }).Projection("full"), - func(req interface{}) { req.(*raw.BucketsPatchCall).IfMetagenerationMatch(metagen) }, + func(req interface{}) { req.(*raw.BucketsPatchCall).IfMetagenerationMatch(metagen).UserProject("p") }, }, } { got, err := test.callFunc(b) @@ -159,17 +184,16 @@ func TestCallBuilders(t *testing.T) { t.Fatal(err) } setClientHeader(test.want.Header()) - if !reflect.DeepEqual(got, test.want) { + if !equal(got, test.want) { t.Errorf("#%d: got %#v, want %#v", i, got, test.want) } - got, err = test.callFunc(bm) if err != nil { t.Fatal(err) } test.metagenFunc(test.want) - if !reflect.DeepEqual(got, test.want) { - t.Errorf("#%d: got %#v, want %#v", i, got, test.want) + if !equal(got, test.want) { + t.Errorf("#%d:\ngot %#v\nwant %#v", i, got, test.want) } } diff --git a/vendor/cloud.google.com/go/storage/copy.go b/vendor/cloud.google.com/go/storage/copy.go index 331e09b5b..d0a999c1b 100644 --- a/vendor/cloud.google.com/go/storage/copy.go +++ b/vendor/cloud.google.com/go/storage/copy.go @@ -25,6 +25,9 @@ import ( // CopierFrom creates a Copier that can copy src to dst. // You can immediately call Run on the returned Copier, or // you can configure it first. +// +// For Requester Pays buckets, the user project of dst is billed, unless it is empty, +// in which case the user project of src is billed. func (dst *ObjectHandle) CopierFrom(src *ObjectHandle) *Copier { return &Copier{dst: dst, src: src} } @@ -73,7 +76,7 @@ func (c *Copier) Run(ctx context.Context) (*ObjectAttrs, error) { // does not cause any problems. rawObject := c.ObjectAttrs.toRawObject("") for { - res, err := c.callRewrite(ctx, c.src, rawObject) + res, err := c.callRewrite(ctx, rawObject) if err != nil { return nil, err } @@ -86,8 +89,8 @@ func (c *Copier) Run(ctx context.Context) (*ObjectAttrs, error) { } } -func (c *Copier) callRewrite(ctx context.Context, src *ObjectHandle, rawObj *raw.Object) (*raw.RewriteResponse, error) { - call := c.dst.c.raw.Objects.Rewrite(src.bucket, src.object, c.dst.bucket, c.dst.object, rawObj) +func (c *Copier) callRewrite(ctx context.Context, rawObj *raw.Object) (*raw.RewriteResponse, error) { + call := c.dst.c.raw.Objects.Rewrite(c.src.bucket, c.src.object, c.dst.bucket, c.dst.object, rawObj) call.Context(ctx).Projection("full") if c.RewriteToken != "" { @@ -96,6 +99,11 @@ func (c *Copier) callRewrite(ctx context.Context, src *ObjectHandle, rawObj *raw if err := applyConds("Copy destination", c.dst.gen, c.dst.conds, call); err != nil { return nil, err } + if c.dst.userProject != "" { + call.UserProject(c.dst.userProject) + } else if c.src.userProject != "" { + call.UserProject(c.src.userProject) + } if err := applySourceConds(c.src.gen, c.src.conds, call); err != nil { return nil, err } @@ -128,6 +136,8 @@ func (dst *ObjectHandle) ComposerFrom(srcs ...*ObjectHandle) *Composer { } // A Composer composes source objects into a destination object. +// +// For Requester Pays buckets, the user project of dst is billed. type Composer struct { // ObjectAttrs are optional attributes to set on the destination object. // Any attributes must be initialized before any calls on the Composer. Nil @@ -174,6 +184,9 @@ func (c *Composer) Run(ctx context.Context) (*ObjectAttrs, error) { if err := applyConds("ComposeFrom destination", c.dst.gen, c.dst.conds, call); err != nil { return nil, err } + if c.dst.userProject != "" { + call.UserProject(c.dst.userProject) + } if err := setEncryptionHeaders(call.Header(), c.dst.encryptionKey, false); err != nil { return nil, err } diff --git a/vendor/cloud.google.com/go/storage/example_test.go b/vendor/cloud.google.com/go/storage/example_test.go index d8ec8ff6d..3eec674b9 100644 --- a/vendor/cloud.google.com/go/storage/example_test.go +++ b/vendor/cloud.google.com/go/storage/example_test.go @@ -16,6 +16,7 @@ package storage_test import ( "fmt" + "hash/crc32" "io" "io/ioutil" "log" @@ -321,6 +322,31 @@ func ExampleWriter_Write() { wc.ACL = []storage.ACLRule{{storage.AllUsers, storage.RoleReader}} if _, err := wc.Write([]byte("hello world")); err != nil { // TODO: handle error. + // Note that Write may return nil in some error situations, + // so always check the error from Close. + } + if err := wc.Close(); err != nil { + // TODO: handle error. + } + fmt.Println("updated object:", wc.Attrs()) +} + +// To make sure the data you write is uncorrupted, use an MD5 or CRC32c +// checksum. This example illustrates CRC32c. +func ExampleWriter_Write_checksum() { + ctx := context.Background() + client, err := storage.NewClient(ctx) + if err != nil { + // TODO: handle error. + } + data := []byte("verify me") + wc := client.Bucket("bucketname").Object("filename1").NewWriter(ctx) + wc.CRC32C = crc32.Checksum(data, crc32.MakeTable(crc32.Castagnoli)) + wc.SendCRC32C = true + if _, err := wc.Write([]byte("hello world")); err != nil { + // TODO: handle error. + // Note that Write may return nil in some error situations, + // so always check the error from Close. } if err := wc.Close(); err != nil { // TODO: handle error. diff --git a/vendor/cloud.google.com/go/vision/geometry.go b/vendor/cloud.google.com/go/storage/go110.go similarity index 56% rename from vendor/cloud.google.com/go/vision/geometry.go rename to vendor/cloud.google.com/go/storage/go110.go index 35f90b8ee..b85e8c3b9 100644 --- a/vendor/cloud.google.com/go/vision/geometry.go +++ b/vendor/cloud.google.com/go/storage/go110.go @@ -1,4 +1,4 @@ -// Copyright 2016 Google Inc. All Rights Reserved. +// Copyright 2017 Google Inc. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -12,25 +12,19 @@ // See the License for the specific language governing permissions and // limitations under the License. -package vision +// +build go1.10 -import ( - "image" +package storage - pb "google.golang.org/genproto/googleapis/cloud/vision/v1" -) +import "google.golang.org/api/googleapi" -func pointFromProto(v *pb.Vertex) image.Point { - return image.Point{X: int(v.X), Y: int(v.Y)} -} - -func boundingPolyFromProto(b *pb.BoundingPoly) []image.Point { - if b == nil { - return nil +func shouldRetry(err error) bool { + switch e := err.(type) { + case *googleapi.Error: + // Retry on 429 and 5xx, according to + // https://cloud.google.com/storage/docs/exponential-backoff. + return e.Code == 429 || (e.Code >= 500 && e.Code < 600) + default: + return false } - var ps []image.Point - for _, v := range b.Vertices { - ps = append(ps, pointFromProto(v)) - } - return ps } diff --git a/vendor/cloud.google.com/go/storage/integration_test.go b/vendor/cloud.google.com/go/storage/integration_test.go index 922194d5b..9b8f8228e 100644 --- a/vendor/cloud.google.com/go/storage/integration_test.go +++ b/vendor/cloud.google.com/go/storage/integration_test.go @@ -29,7 +29,6 @@ import ( "math/rand" "net/http" "os" - "reflect" "sort" "strconv" "strings" @@ -46,7 +45,7 @@ import ( "google.golang.org/api/option" ) -const testPrefix = "-go-cloud-storage-test" +const testPrefix = "-go-test" // suffix is a timestamp-based suffix which is added to all buckets created by // tests. This reduces flakiness when the tests are run in parallel and allows @@ -125,7 +124,7 @@ func TestBucketMethods(t *testing.T) { b := client.Bucket(newBucket) // Test Create and Delete. if err := b.Create(ctx, projectID, nil); err != nil { - t.Errorf("Bucket(%v).Create(%v, %v) failed: %v", newBucket, projectID, nil, err) + t.Fatalf("Bucket(%v).Create(%v, %v) failed: %v", newBucket, projectID, nil, err) } attrs, err := b.Attrs(ctx) if err != nil { @@ -154,9 +153,35 @@ func TestBucketMethods(t *testing.T) { StorageClass: "NEARLINE", VersioningEnabled: true, Labels: labels, + Lifecycle: Lifecycle{ + Rules: []LifecycleRule{{ + Action: LifecycleAction{ + Type: SetStorageClassAction, + StorageClass: "NEARLINE", + }, + Condition: LifecycleCondition{ + AgeInDays: 10, + Liveness: Archived, + CreatedBefore: time.Date(2017, 1, 1, 0, 0, 0, 0, time.UTC), + MatchesStorageClasses: []string{"MULTI_REGIONAL", "STANDARD"}, + NumNewerVersions: 3, + }, + }, { + Action: LifecycleAction{ + Type: DeleteAction, + }, + Condition: LifecycleCondition{ + AgeInDays: 30, + Liveness: Live, + CreatedBefore: time.Date(2017, 1, 1, 0, 0, 0, 0, time.UTC), + MatchesStorageClasses: []string{"NEARLINE"}, + NumNewerVersions: 10, + }, + }}, + }, } if err := client.Bucket(newBucket).Create(ctx, projectID, attrs); err != nil { - t.Errorf("Bucket(%v).Create(%v, %v) failed: %v", newBucket, projectID, attrs, err) + t.Fatalf("Bucket(%v).Create(%v, %+v) failed: %v", newBucket, projectID, attrs, err) } attrs, err = b.Attrs(ctx) if err != nil { @@ -171,7 +196,7 @@ func TestBucketMethods(t *testing.T) { if !attrs.VersioningEnabled { t.Error("got versioning disabled, wanted it enabled") } - if got, want := attrs.Labels, labels; !reflect.DeepEqual(got, want) { + if got, want := attrs.Labels, labels; !testutil.Equal(got, want) { t.Errorf("labels: got %v, want %v", got, want) } } @@ -224,7 +249,7 @@ func TestIntegration_BucketUpdate(t *testing.T) { "l1": "v1", "empty": "", } - if !reflect.DeepEqual(attrs.Labels, wantLabels) { + if !testutil.Equal(attrs.Labels, wantLabels) { t.Fatalf("got %v, want %v", attrs.Labels, wantLabels) } @@ -245,7 +270,7 @@ func TestIntegration_BucketUpdate(t *testing.T) { "l1": "v2", "new": "new", } - if !reflect.DeepEqual(attrs.Labels, wantLabels) { + if !testutil.Equal(attrs.Labels, wantLabels) { t.Fatalf("got %v, want %v", attrs.Labels, wantLabels) } } @@ -339,6 +364,9 @@ func TestObjects(t *testing.T) { if got, want := rc.ContentType(), "text/plain"; got != want { t.Errorf("ContentType (%q) = %q; want %q", obj, got, want) } + if got, want := rc.CacheControl(), "public, max-age=60"; got != want { + t.Errorf("CacheControl (%q) = %q; want %q", obj, got, want) + } rc.Close() // Check early close. @@ -543,7 +571,7 @@ func TestObjects(t *testing.T) { if got, want := updated.ContentLanguage, "en"; got != want { t.Errorf("updated.ContentLanguage == %q; want %q", updated.ContentLanguage, want) } - if got, want := updated.Metadata, metadata; !reflect.DeepEqual(got, want) { + if got, want := updated.Metadata, metadata; !testutil.Equal(got, want) { t.Errorf("updated.Metadata == %+v; want %+v", updated.Metadata, want) } if got, want := updated.Created, created; got != want { @@ -912,7 +940,7 @@ func TestZeroSizedObject(t *testing.T) { func TestIntegration_Encryption(t *testing.T) { // This function tests customer-supplied encryption keys for all operations // involving objects. Bucket and ACL operations aren't tested because they - // aren't affected customer encryption. + // aren't affected by customer encryption. Neither is deletion. ctx := context.Background() client, bucket := testConfig(ctx, t) defer client.Close() @@ -1157,7 +1185,7 @@ func TestIntegration_BucketInCopyAttrs(t *testing.T) { } copier := obj.CopierFrom(obj) rawObject := copier.ObjectAttrs.toRawObject(bucket) - _, err := copier.callRewrite(ctx, obj, rawObject) + _, err := copier.callRewrite(ctx, rawObject) if err == nil { t.Errorf("got nil, want error") } @@ -1299,14 +1327,131 @@ func TestIntegration_BucketIAM(t *testing.T) { } sort.Strings(perms) sort.Strings(got) - if !reflect.DeepEqual(got, perms) { + if !testutil.Equal(got, perms) { t.Errorf("got %v, want %v", got, perms) } } +func TestIntegration_RequesterPays(t *testing.T) { + ctx := context.Background() + client, bucketName := testConfig(ctx, t) + defer client.Close() + b := client.Bucket(bucketName + "-rp") + projID := testutil.ProjID() + + // Extract the error code from err if it's a googleapi.Error. + errCode := func(err error) int { + if err == nil { + return 0 + } + if err, ok := err.(*googleapi.Error); ok { + return err.Code + } + return -1 + } + + // Call f twice on b, first without and then with a user project. + call := func(msg string, f func(b *BucketHandle) error) { + if err := f(b); err == nil { + if got, want := errCode(err), 400; got != want { + t.Errorf("%s: got error code %d, want %d", msg, got, want) + } + } + if err := f(b.UserProject(projID)); err != nil { + t.Errorf("%s: got %v, want nil", msg, err) + } + } + + // Create a requester-pays bucket. + err := b.Create(ctx, projID, &BucketAttrs{RequesterPays: true}) + if err != nil { + t.Fatal(err) + } + // Getting its attributes requires a user project. + var attrs *BucketAttrs + call("Bucket attrs", func(b *BucketHandle) (err error) { + attrs, err = b.Attrs(ctx) + return err + }) + if got, want := attrs.RequesterPays, true; got != want { + t.Fatalf("attr.RequesterPays = %b, want %b", got, want) + } + + // Object operations. + call("write object", func(b *BucketHandle) error { + return writeObject(ctx, b.Object("foo"), "text/plain", []byte("hello")) + }) + // // TODO(jba): add read test when XML API has requester-pays support. + // callObject("object attrs", o, func(o *ObjectHandle) error { + // _, err := o.Attrs(ctx) + // return err + // }) + call("update object", func(b *BucketHandle) error { + _, err := b.Object("foo").Update(ctx, ObjectAttrsToUpdate{ContentLanguage: "en"}) + return err + }) + + // ACL operations. + entity := ACLEntity("domain-google.com") + call("bucket acl set", func(b *BucketHandle) error { + return b.ACL().Set(ctx, entity, RoleReader) + }) + call("bucket acl list", func(b *BucketHandle) error { + _, err := b.ACL().List(ctx) + return err + }) + call("bucket acl delete", func(b *BucketHandle) error { + return b.ACL().Delete(ctx, entity) + }) + call("default object acl set", func(b *BucketHandle) error { + return b.DefaultObjectACL().Set(ctx, entity, RoleReader) + }) + call("default object acl list", func(b *BucketHandle) error { + _, err := b.DefaultObjectACL().List(ctx) + return err + }) + call("default object acl delete", func(b *BucketHandle) error { + return b.DefaultObjectACL().Delete(ctx, entity) + }) + call("object acl set", func(b *BucketHandle) error { + return b.Object("foo").ACL().Set(ctx, entity, RoleReader) + }) + call("object acl list", func(b *BucketHandle) error { + _, err := b.Object("foo").ACL().List(ctx) + return err + }) + call("object acl delete", func(b *BucketHandle) error { + return b.Object("foo").ACL().Delete(ctx, entity) + }) + + // Copy and compose. + call("copy", func(b *BucketHandle) error { + _, err := b.Object("copy").CopierFrom(b.Object("foo")).Run(ctx) + return err + }) + call("compose", func(b *BucketHandle) error { + _, err := b.Object("compose").ComposerFrom(b.Object("foo"), b.Object("copy")).Run(ctx) + return err + }) + + // Deletion. + call("delete object", func(b *BucketHandle) error { + return b.Object("foo").Delete(ctx) + }) + for _, obj := range []string{"copy", "compose"} { + if err := b.UserProject(projID).Object(obj).Delete(ctx); err != nil { + t.Fatalf("could not delete %q: %v", obj, err) + } + } + call("delete bucket", func(b *BucketHandle) error { + return b.Delete(ctx) + }) +} + func writeObject(ctx context.Context, obj *ObjectHandle, contentType string, contents []byte) error { w := obj.NewWriter(ctx) w.ContentType = contentType + w.CacheControl = "public, max-age=60" if contents != nil { if _, err := w.Write(contents); err != nil { _ = w.Close() diff --git a/vendor/cloud.google.com/go/storage/invoke.go b/vendor/cloud.google.com/go/storage/invoke.go index e8fc924ea..46423a8b2 100644 --- a/vendor/cloud.google.com/go/storage/invoke.go +++ b/vendor/cloud.google.com/go/storage/invoke.go @@ -18,7 +18,6 @@ import ( "cloud.google.com/go/internal" gax "github.com/googleapis/gax-go" "golang.org/x/net/context" - "google.golang.org/api/googleapi" ) // runWithRetry calls the function until it returns nil or a non-retryable error, or @@ -29,13 +28,7 @@ func runWithRetry(ctx context.Context, call func() error) error { if err == nil { return true, nil } - e, ok := err.(*googleapi.Error) - if !ok { - return true, err - } - // Retry on 429 and 5xx, according to - // https://cloud.google.com/storage/docs/exponential-backoff. - if e.Code == 429 || (e.Code >= 500 && e.Code < 600) { + if shouldRetry(err) { return false, nil } return true, err diff --git a/vendor/cloud.google.com/go/storage/not_go110.go b/vendor/cloud.google.com/go/storage/not_go110.go new file mode 100644 index 000000000..c354e74bf --- /dev/null +++ b/vendor/cloud.google.com/go/storage/not_go110.go @@ -0,0 +1,40 @@ +// Copyright 2017 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// +build !go1.10 + +package storage + +import ( + "net/url" + "strings" + + "google.golang.org/api/googleapi" +) + +func shouldRetry(err error) bool { + switch e := err.(type) { + case *googleapi.Error: + // Retry on 429 and 5xx, according to + // https://cloud.google.com/storage/docs/exponential-backoff. + return e.Code == 429 || (e.Code >= 500 && e.Code < 600) + case *url.Error: + // Retry on REFUSED_STREAM. + // Unfortunately the error type is unexported, so we resort to string + // matching. + return strings.Contains(e.Error(), "REFUSED_STREAM") + default: + return false + } +} diff --git a/vendor/cloud.google.com/go/storage/reader.go b/vendor/cloud.google.com/go/storage/reader.go index aa103c175..c96ca8ae4 100644 --- a/vendor/cloud.google.com/go/storage/reader.go +++ b/vendor/cloud.google.com/go/storage/reader.go @@ -28,6 +28,7 @@ type Reader struct { body io.ReadCloser remain, size int64 contentType string + cacheControl string checkCRC bool // should we check the CRC? wantCRC uint32 // the CRC32c value the server sent in the header gotCRC uint32 // running crc @@ -72,3 +73,8 @@ func (r *Reader) Remain() int64 { func (r *Reader) ContentType() string { return r.contentType } + +// CacheControl returns the cache control of the object. +func (r *Reader) CacheControl() string { + return r.cacheControl +} diff --git a/vendor/cloud.google.com/go/storage/storage.go b/vendor/cloud.google.com/go/storage/storage.go index f5012fb10..84a7ea3b0 100644 --- a/vendor/cloud.google.com/go/storage/storage.go +++ b/vendor/cloud.google.com/go/storage/storage.go @@ -36,7 +36,7 @@ import ( "unicode/utf8" "google.golang.org/api/option" - "google.golang.org/api/transport" + htransport "google.golang.org/api/transport/http" "cloud.google.com/go/internal/optional" "cloud.google.com/go/internal/version" @@ -89,7 +89,7 @@ func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error option.WithUserAgent(userAgent), } opts = append(o, opts...) - hc, ep, err := transport.NewHTTPClient(ctx, opts...) + hc, ep, err := htransport.NewClient(ctx, opts...) if err != nil { return nil, fmt.Errorf("dialing: %v", err) } @@ -110,7 +110,10 @@ func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error // // Close need not be called at program exit. func (c *Client) Close() error { + // Set fields to nil so that subsequent uses + // will panic. c.hc = nil + c.raw = nil return nil } @@ -262,6 +265,7 @@ type ObjectHandle struct { gen int64 // a negative value indicates latest conds *Conditions encryptionKey []byte // AES-256 key + userProject string // for requester-pays buckets } // ACL provides access to the object's access control list. @@ -314,6 +318,9 @@ func (o *ObjectHandle) Attrs(ctx context.Context) (*ObjectAttrs, error) { if err := applyConds("Attrs", o.gen, o.conds, call); err != nil { return nil, err } + if o.userProject != "" { + call.UserProject(o.userProject) + } if err := setEncryptionHeaders(call.Header(), o.encryptionKey, false); err != nil { return nil, err } @@ -342,11 +349,17 @@ func (o *ObjectHandle) Update(ctx context.Context, uattrs ObjectAttrsToUpdate) ( var forceSendFields, nullFields []string if uattrs.ContentType != nil { attrs.ContentType = optional.ToString(uattrs.ContentType) - forceSendFields = append(forceSendFields, "ContentType") + // For ContentType, sending the empty string is a no-op. + // Instead we send a null. + if attrs.ContentType == "" { + nullFields = append(nullFields, "ContentType") + } else { + forceSendFields = append(forceSendFields, "ContentType") + } } if uattrs.ContentLanguage != nil { attrs.ContentLanguage = optional.ToString(uattrs.ContentLanguage) - // For ContentLanguage It's an error to send the empty string. + // For ContentLanguage it's an error to send the empty string. // Instead we send a null. if attrs.ContentLanguage == "" { nullFields = append(nullFields, "ContentLanguage") @@ -356,7 +369,7 @@ func (o *ObjectHandle) Update(ctx context.Context, uattrs ObjectAttrsToUpdate) ( } if uattrs.ContentEncoding != nil { attrs.ContentEncoding = optional.ToString(uattrs.ContentEncoding) - forceSendFields = append(forceSendFields, "ContentType") + forceSendFields = append(forceSendFields, "ContentEncoding") } if uattrs.ContentDisposition != nil { attrs.ContentDisposition = optional.ToString(uattrs.ContentDisposition) @@ -388,6 +401,9 @@ func (o *ObjectHandle) Update(ctx context.Context, uattrs ObjectAttrsToUpdate) ( if err := applyConds("Update", o.gen, o.conds, call); err != nil { return nil, err } + if o.userProject != "" { + call.UserProject(o.userProject) + } if err := setEncryptionHeaders(call.Header(), o.encryptionKey, false); err != nil { return nil, err } @@ -434,6 +450,10 @@ func (o *ObjectHandle) Delete(ctx context.Context) error { if err := applyConds("Delete", o.gen, o.conds, call); err != nil { return err } + if o.userProject != "" { + call.UserProject(o.userProject) + } + // Encryption doesn't apply to Delete. setClientHeader(call.Header()) err := runWithRetry(ctx, func() error { return call.Do() }) switch e := err.(type) { @@ -491,6 +511,9 @@ func (o *ObjectHandle) NewRangeReader(ctx context.Context, offset, length int64) } else if length > 0 { req.Header.Set("Range", fmt.Sprintf("bytes=%d-%d", offset, offset+length-1)) } + if o.userProject != "" { + req.Header.Set("X-Goog-User-Project", o.userProject) + } if err := setEncryptionHeaders(req.Header, o.encryptionKey, false); err != nil { return nil, err } @@ -553,12 +576,13 @@ func (o *ObjectHandle) NewRangeReader(ctx context.Context, offset, length int64) crc, checkCRC = parseCRC32c(res) } return &Reader{ - body: body, - size: size, - remain: remain, - contentType: res.Header.Get("Content-Type"), - wantCRC: crc, - checkCRC: checkCRC, + body: body, + size: size, + remain: remain, + contentType: res.Header.Get("Content-Type"), + cacheControl: res.Header.Get("Cache-Control"), + wantCRC: crc, + checkCRC: checkCRC, }, nil } @@ -706,11 +730,16 @@ type ObjectAttrs struct { // sent in the response headers. ContentDisposition string - // MD5 is the MD5 hash of the object's content. This field is read-only. + // MD5 is the MD5 hash of the object's content. This field is read-only, + // except when used from a Writer. If set on a Writer, the uploaded + // data is rejected if its MD5 hash does not match this field. MD5 []byte // CRC32C is the CRC32 checksum of the object's content using - // the Castagnoli93 polynomial. This field is read-only. + // the Castagnoli93 polynomial. This field is read-only, except when + // used from a Writer. If set on a Writer and Writer.SendCRC32C + // is true, the uploaded data is rejected if its CRC32c hash does not + // match this field. CRC32C uint32 // MediaLink is an URL to the object's content. This field is read-only. @@ -798,26 +827,27 @@ func newObject(o *raw.Object) *ObjectAttrs { sha256 = o.CustomerEncryption.KeySha256 } return &ObjectAttrs{ - Bucket: o.Bucket, - Name: o.Name, - ContentType: o.ContentType, - ContentLanguage: o.ContentLanguage, - CacheControl: o.CacheControl, - ACL: acl, - Owner: owner, - ContentEncoding: o.ContentEncoding, - Size: int64(o.Size), - MD5: md5, - CRC32C: crc32c, - MediaLink: o.MediaLink, - Metadata: o.Metadata, - Generation: o.Generation, - Metageneration: o.Metageneration, - StorageClass: o.StorageClass, - CustomerKeySHA256: sha256, - Created: convertTime(o.TimeCreated), - Deleted: convertTime(o.TimeDeleted), - Updated: convertTime(o.Updated), + Bucket: o.Bucket, + Name: o.Name, + ContentType: o.ContentType, + ContentLanguage: o.ContentLanguage, + CacheControl: o.CacheControl, + ACL: acl, + Owner: owner, + ContentEncoding: o.ContentEncoding, + ContentDisposition: o.ContentDisposition, + Size: int64(o.Size), + MD5: md5, + CRC32C: crc32c, + MediaLink: o.MediaLink, + Metadata: o.Metadata, + Generation: o.Generation, + Metageneration: o.Metageneration, + StorageClass: o.StorageClass, + CustomerKeySHA256: sha256, + Created: convertTime(o.TimeCreated), + Deleted: convertTime(o.TimeDeleted), + Updated: convertTime(o.Updated), } } diff --git a/vendor/cloud.google.com/go/storage/storage_test.go b/vendor/cloud.google.com/go/storage/storage_test.go index 47f17e753..b60af9254 100644 --- a/vendor/cloud.google.com/go/storage/storage_test.go +++ b/vendor/cloud.google.com/go/storage/storage_test.go @@ -24,12 +24,14 @@ import ( "net" "net/http" "net/http/httptest" - "reflect" "strings" "testing" "time" + "cloud.google.com/go/internal/testutil" + "golang.org/x/net/context" + "google.golang.org/api/googleapi" "google.golang.org/api/iterator" "google.golang.org/api/option" raw "google.golang.org/api/storage/v1" @@ -620,7 +622,7 @@ func TestObjectCompose(t *testing.T) { if err := json.Unmarshal(body, &req); err != nil { t.Errorf("%s: json.Unmarshal %v (body %s)", tt.desc, err, body) } - if !reflect.DeepEqual(req, tt.wantReq) { + if !testutil.Equal(req, tt.wantReq) { // Print to JSON. wantReq, _ := json.Marshal(tt.wantReq) t.Errorf("%s: request body\ngot %s\nwant %s", tt.desc, body, wantReq) @@ -685,6 +687,88 @@ func TestCodecUint32(t *testing.T) { } } +func TestBucketAttrs(t *testing.T) { + for _, c := range []struct { + attrs BucketAttrs + raw raw.Bucket + }{{ + attrs: BucketAttrs{ + Lifecycle: Lifecycle{ + Rules: []LifecycleRule{{ + Action: LifecycleAction{ + Type: SetStorageClassAction, + StorageClass: "NEARLINE", + }, + Condition: LifecycleCondition{ + AgeInDays: 10, + Liveness: Live, + CreatedBefore: time.Date(2017, 1, 2, 3, 4, 5, 6, time.UTC), + MatchesStorageClasses: []string{"MULTI_REGIONAL", "REGIONAL", "STANDARD"}, + NumNewerVersions: 3, + }, + }, { + Action: LifecycleAction{ + Type: DeleteAction, + }, + Condition: LifecycleCondition{ + AgeInDays: 30, + Liveness: Live, + CreatedBefore: time.Date(2017, 1, 2, 3, 4, 5, 6, time.UTC), + MatchesStorageClasses: []string{"NEARLINE"}, + NumNewerVersions: 10, + }, + }, { + Action: LifecycleAction{ + Type: DeleteAction, + }, + Condition: LifecycleCondition{ + Liveness: Archived, + }, + }}, + }, + }, + raw: raw.Bucket{ + Lifecycle: &raw.BucketLifecycle{ + Rule: []*raw.BucketLifecycleRule{{ + Action: &raw.BucketLifecycleRuleAction{ + Type: SetStorageClassAction, + StorageClass: "NEARLINE", + }, + Condition: &raw.BucketLifecycleRuleCondition{ + Age: 10, + IsLive: googleapi.Bool(true), + CreatedBefore: "2017-01-02", + MatchesStorageClass: []string{"MULTI_REGIONAL", "REGIONAL", "STANDARD"}, + NumNewerVersions: 3, + }, + }, { + Action: &raw.BucketLifecycleRuleAction{ + Type: DeleteAction, + }, + Condition: &raw.BucketLifecycleRuleCondition{ + Age: 30, + IsLive: googleapi.Bool(true), + CreatedBefore: "2017-01-02", + MatchesStorageClass: []string{"NEARLINE"}, + NumNewerVersions: 10, + }, + }, { + Action: &raw.BucketLifecycleRuleAction{ + Type: DeleteAction, + }, + Condition: &raw.BucketLifecycleRuleCondition{ + IsLive: googleapi.Bool(false), + }, + }}, + }, + }, + }} { + if got := c.attrs.toRawBucket(); !testutil.Equal(*got, c.raw) { + t.Errorf("toRawBucket: got %v, want %v", *got, c.raw) + } + } +} + func newTestServer(handler func(w http.ResponseWriter, r *http.Request)) (*http.Client, func()) { ts := httptest.NewTLSServer(http.HandlerFunc(handler)) tlsConf := &tls.Config{InsecureSkipVerify: true} diff --git a/vendor/cloud.google.com/go/storage/writer.go b/vendor/cloud.google.com/go/storage/writer.go index 809dfb1bd..28eb74afd 100644 --- a/vendor/cloud.google.com/go/storage/writer.go +++ b/vendor/cloud.google.com/go/storage/writer.go @@ -36,6 +36,8 @@ type Writer struct { // SendCRC specifies whether to transmit a CRC32C field. It should be set // to true in addition to setting the Writer's CRC32C field, because zero // is a valid CRC and normally a zero would not be transmitted. + // If a CRC32C is sent, and the data written does not match the checksum, + // the write will be rejected. SendCRC32C bool // ChunkSize controls the maximum number of bytes of the object that the @@ -85,7 +87,7 @@ func (w *Writer) open() error { w.opened = true if w.ChunkSize < 0 { - return errors.New("storage: Writer.ChunkSize must non-negative") + return errors.New("storage: Writer.ChunkSize must be non-negative") } mediaOpts := []googleapi.MediaOption{ googleapi.ChunkSize(w.ChunkSize), @@ -119,15 +121,25 @@ func (w *Writer) open() error { var resp *raw.Object err := applyConds("NewWriter", w.o.gen, w.o.conds, call) if err == nil { + if w.o.userProject != "" { + call.UserProject(w.o.userProject) + } setClientHeader(call.Header()) - // We will only retry here if the initial POST, which obtains a URI for - // the resumable upload, fails with a retryable error. The upload itself - // has its own retry logic. - err = runWithRetry(w.ctx, func() error { - var err2 error - resp, err2 = call.Do() - return err2 - }) + // If the chunk size is zero, then no chunking is done on the Reader, + // which means we cannot retry: the first call will read the data, and if + // it fails, there is no way to re-read. + if w.ChunkSize == 0 { + resp, err = call.Do() + } else { + // We will only retry here if the initial POST, which obtains a URI for + // the resumable upload, fails with a retryable error. The upload itself + // has its own retry logic. + err = runWithRetry(w.ctx, func() error { + var err2 error + resp, err2 = call.Do() + return err2 + }) + } } if err != nil { w.err = err diff --git a/vendor/cloud.google.com/go/storage/writer_test.go b/vendor/cloud.google.com/go/storage/writer_test.go index 87b6adaf8..c04b4a5b3 100644 --- a/vendor/cloud.google.com/go/storage/writer_test.go +++ b/vendor/cloud.google.com/go/storage/writer_test.go @@ -21,10 +21,11 @@ import ( "fmt" "io/ioutil" "net/http" - "reflect" "strings" "testing" + "cloud.google.com/go/internal/testutil" + "golang.org/x/net/context" "google.golang.org/api/option" @@ -32,6 +33,7 @@ import ( type fakeTransport struct { gotReq *http.Request + gotBody []byte results []transportResult } @@ -46,6 +48,14 @@ func (t *fakeTransport) addResult(res *http.Response, err error) { func (t *fakeTransport) RoundTrip(req *http.Request) (*http.Response, error) { t.gotReq = req + t.gotBody = nil + if req.Body != nil { + bytes, err := ioutil.ReadAll(req.Body) + if err != nil { + return nil, err + } + t.gotBody = bytes + } if len(t.results) == 0 { return nil, fmt.Errorf("error handling request") } @@ -57,6 +67,7 @@ func (t *fakeTransport) RoundTrip(req *http.Request) (*http.Response, error) { func TestErrorOnObjectsInsertCall(t *testing.T) { t.Parallel() ctx := context.Background() + const contents = "hello world" doWrite := func(hc *http.Client) *Writer { client, err := NewClient(ctx, option.WithHTTPClient(hc)) @@ -68,7 +79,7 @@ func TestErrorOnObjectsInsertCall(t *testing.T) { // We can't check that the Write fails, since it depends on the write to the // underling fakeTransport failing which is racy. - wc.Write([]byte("hello world")) + wc.Write([]byte(contents)) return wc } @@ -93,6 +104,10 @@ func TestErrorOnObjectsInsertCall(t *testing.T) { if err := wc.Close(); err != nil { t.Errorf("got %v, want nil", err) } + got := string(ft.gotBody) + if !strings.Contains(got, contents) { + t.Errorf("got body %q, which does not contain %q", got, contents) + } } func TestEncryption(t *testing.T) { @@ -117,7 +132,7 @@ func TestEncryption(t *testing.T) { if err != nil { t.Fatalf("decoding key: %v", err) } - if !reflect.DeepEqual(gotKey, key) { + if !testutil.Equal(gotKey, key) { t.Errorf("key: got %v, want %v", gotKey, key) } wantHash := sha256.Sum256(key) @@ -125,7 +140,7 @@ func TestEncryption(t *testing.T) { if err != nil { t.Fatalf("decoding hash: %v", err) } - if !reflect.DeepEqual(gotHash, wantHash[:]) { // wantHash is an array + if !testutil.Equal(gotHash, wantHash[:]) { // wantHash is an array t.Errorf("hash: got\n%v, want\n%v", gotHash, wantHash) } } diff --git a/vendor/cloud.google.com/go/trace/apiv1/doc.go b/vendor/cloud.google.com/go/trace/apiv1/doc.go index b5878cafe..4aeb77908 100644 --- a/vendor/cloud.google.com/go/trace/apiv1/doc.go +++ b/vendor/cloud.google.com/go/trace/apiv1/doc.go @@ -37,8 +37,7 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } -// DefaultAuthScopes reports the authentication scopes required -// by this package. +// DefaultAuthScopes reports the default set of authentication scopes to use with this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/vendor/cloud.google.com/go/trace/grpc.go b/vendor/cloud.google.com/go/trace/grpc.go index ca7b46436..e78f4a217 100644 --- a/vendor/cloud.google.com/go/trace/grpc.go +++ b/vendor/cloud.google.com/go/trace/grpc.go @@ -29,10 +29,16 @@ const grpcMetadataKey = "grpc-trace-bin" // GRPCClientInterceptor returns a grpc.UnaryClientInterceptor that traces all outgoing requests from a gRPC client. // The calling context should already have a *trace.Span; a child span will be // created for the outgoing gRPC call. If the calling context doesn't have a span, -// the call will not be traced. +// the call will not be traced. If the client is nil, then the interceptor just +// passes through the request. // // The functionality in gRPC that this feature relies on is currently experimental. func (c *Client) GRPCClientInterceptor() grpc.UnaryClientInterceptor { + if c == nil { + return func(ctx context.Context, method string, req, reply interface{}, cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption) error { + return invoker(ctx, method, req, reply, cc, opts...) + } + } return grpc.UnaryClientInterceptor(c.grpcUnaryInterceptor) } @@ -75,8 +81,15 @@ func (c *Client) grpcUnaryInterceptor(ctx context.Context, method string, req, r // // span := trace.FromContext(ctx) // +// If the client is nil, then the interceptor just invokes the handler. +// // The functionality in gRPC that this feature relies on is currently experimental. func (c *Client) GRPCServerInterceptor() grpc.UnaryServerInterceptor { + if c == nil { + return func(ctx context.Context, req interface{}, _ *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error) { + return handler(ctx, req) + } + } return func(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (resp interface{}, err error) { md, _ := metadata.FromIncomingContext(ctx) var traceHeader string diff --git a/vendor/cloud.google.com/go/trace/http.go b/vendor/cloud.google.com/go/trace/http.go index e06fb5781..290d13960 100644 --- a/vendor/cloud.google.com/go/trace/http.go +++ b/vendor/cloud.google.com/go/trace/http.go @@ -69,6 +69,9 @@ func (t Transport) base() http.RoundTripper { // // The span will be auto finished by the handler. func (c *Client) HTTPHandler(h http.Handler) http.Handler { + if c == nil { + return h + } return &handler{traceClient: c, handler: h} } @@ -101,5 +104,4 @@ func (h *handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { w.Header().Set(httpHeader, spanHeader(traceID, parentSpanID, span.trace.localOptions)) } h.handler.ServeHTTP(w, r) - } diff --git a/vendor/cloud.google.com/go/trace/trace.go b/vendor/cloud.google.com/go/trace/trace.go index 9d4ab1dcb..dab494d98 100644 --- a/vendor/cloud.google.com/go/trace/trace.go +++ b/vendor/cloud.google.com/go/trace/trace.go @@ -113,7 +113,7 @@ // ... // childSpan.Finish(trace.WithResponse(resp)) // -// When a span created by SpanFromRequest or SpamFromHeader is finished, the +// When a span created by SpanFromRequest or SpanFromHeader is finished, the // finished spans in the corresponding trace -- the span itself and its // descendants -- are uploaded to the Stackdriver Trace server using the // *Client that created the span. Finish returns immediately, and uploading @@ -164,7 +164,7 @@ import ( "google.golang.org/api/gensupport" "google.golang.org/api/option" "google.golang.org/api/support/bundler" - "google.golang.org/api/transport" + htransport "google.golang.org/api/transport/http" ) const ( @@ -254,7 +254,8 @@ func nextTraceID() string { return fmt.Sprintf("%016x%016x", id1, id2) } -// Client is a client for uploading traces to the Google Stackdriver Trace server. +// Client is a client for uploading traces to the Google Stackdriver Trace service. +// A nil Client will no-op for all of its methods. type Client struct { service *api.Service projectID string @@ -269,7 +270,7 @@ func NewClient(ctx context.Context, projectID string, opts ...option.ClientOptio option.WithUserAgent(userAgent), } o = append(o, opts...) - hc, basePath, err := transport.NewHTTPClient(ctx, o...) + hc, basePath, err := htransport.NewClient(ctx, o...) if err != nil { return nil, fmt.Errorf("creating HTTP client for Google Stackdriver Trace API: %v", err) } @@ -310,13 +311,13 @@ func (c *Client) SetSamplingPolicy(p SamplingPolicy) { } } -// SpanFromHeader returns a new trace span, based on a provided request header -// value. See https://cloud.google.com/trace/docs/faq. -// -// It returns nil iff the client is nil. +// SpanFromHeader returns a new trace span based on a provided request header +// value or nil iff the client is nil. // // The trace information and identifiers will be read from the header value. // Otherwise, a new trace ID is made and the parent span ID is zero. +// For the exact format of the header value, see +// https://cloud.google.com/trace/docs/support#how_do_i_force_a_request_to_be_traced // // The name of the new span is provided as an argument. // @@ -352,9 +353,8 @@ func (c *Client) SpanFromHeader(name string, header string) *Span { return span } -// SpanFromRequest returns a new trace span for an HTTP request. -// -// It returns nil iff the client is nil. +// SpanFromRequest returns a new trace span for an HTTP request or nil +// iff the client is nil. // // If the incoming HTTP request contains a trace context header, the trace ID, // parent span ID, and tracing options will be read from that header. @@ -390,7 +390,8 @@ func (c *Client) SpanFromRequest(r *http.Request) *Span { return span } -// NewSpan returns a new trace span with the given name. +// NewSpan returns a new trace span with the given name or nil iff the +// client is nil. // // A new trace and span ID is generated to trace the span. // Returned span need to be finished by calling Finish or FinishWait. diff --git a/vendor/cloud.google.com/go/trace/trace_test.go b/vendor/cloud.google.com/go/trace/trace_test.go index 70de65c67..4fb286330 100644 --- a/vendor/cloud.google.com/go/trace/trace_test.go +++ b/vendor/cloud.google.com/go/trace/trace_test.go @@ -21,7 +21,6 @@ import ( "io/ioutil" "math/rand" "net/http" - "reflect" "regexp" "strings" "sync" @@ -457,7 +456,7 @@ func TestNewSpan(t *testing.T) { s.SpanId = 0 s.StartTime = "" } - if !reflect.DeepEqual(patch, expected) { + if !testutil.Equal(patch, expected) { got, _ := json.Marshal(patch) want, _ := json.Marshal(expected) t.Errorf("PatchTraces request: got %s want %s", got, want) @@ -620,7 +619,7 @@ func testTrace(t *testing.T, synchronous bool, fromRequest bool) { s.SpanId = 0 s.StartTime = "" } - if !reflect.DeepEqual(patch, expected) { + if !testutil.Equal(patch, expected) { got, _ := json.Marshal(patch) want, _ := json.Marshal(expected) t.Errorf("PatchTraces request: got %s \n\n want %s", got, want) diff --git a/vendor/cloud.google.com/go/translate/translate.go b/vendor/cloud.google.com/go/translate/translate.go index fc5353ad7..69928cf2f 100644 --- a/vendor/cloud.google.com/go/translate/translate.go +++ b/vendor/cloud.google.com/go/translate/translate.go @@ -21,7 +21,7 @@ import ( "net/http" "google.golang.org/api/option" - "google.golang.org/api/transport" + htransport "google.golang.org/api/transport/http" "cloud.google.com/go/internal/version" raw "cloud.google.com/go/translate/internal/translate/v2" @@ -52,7 +52,7 @@ func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error option.WithUserAgent(userAgent), } o = append(o, opts...) - httpClient, endpoint, err := transport.NewHTTPClient(ctx, o...) + httpClient, endpoint, err := htransport.NewClient(ctx, o...) if err != nil { return nil, fmt.Errorf("dialing: %v", err) } diff --git a/vendor/cloud.google.com/go/translate/translate_test.go b/vendor/cloud.google.com/go/translate/translate_test.go index 74b44f72d..737b2fdba 100644 --- a/vendor/cloud.google.com/go/translate/translate_test.go +++ b/vendor/cloud.google.com/go/translate/translate_test.go @@ -21,7 +21,6 @@ import ( "net/http" "net/url" "os" - "reflect" "strings" "sync" "testing" @@ -127,7 +126,7 @@ func TestTranslateURL(t *testing.T) { } got := ft.req.URL.Query() test.want.Add("alt", "json") - if !reflect.DeepEqual(got, test.want) { + if !testutil.Equal(got, test.want) { t.Errorf("Translate(%s, %v, %+v):\ngot %s\nwant %s", test.target, test.inputs, test.opts, got, test.want) } diff --git a/vendor/cloud.google.com/go/videointelligence/apiv1beta1/doc.go b/vendor/cloud.google.com/go/videointelligence/apiv1beta1/doc.go index 0240b18a7..726458fe6 100644 --- a/vendor/cloud.google.com/go/videointelligence/apiv1beta1/doc.go +++ b/vendor/cloud.google.com/go/videointelligence/apiv1beta1/doc.go @@ -18,8 +18,6 @@ // Google Cloud Video Intelligence API. // // Google Cloud Video Intelligence API. -// -// Use the client at cloud.google.com/go/videointelligence in preference to this. package videointelligence // import "cloud.google.com/go/videointelligence/apiv1beta1" import ( @@ -34,8 +32,7 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } -// DefaultAuthScopes reports the authentication scopes required -// by this package. +// DefaultAuthScopes reports the default set of authentication scopes to use with this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/vendor/cloud.google.com/go/videointelligence/apiv1beta1/video_intelligence_client.go b/vendor/cloud.google.com/go/videointelligence/apiv1beta1/video_intelligence_client.go index 13cfbba10..552e936a1 100644 --- a/vendor/cloud.google.com/go/videointelligence/apiv1beta1/video_intelligence_client.go +++ b/vendor/cloud.google.com/go/videointelligence/apiv1beta1/video_intelligence_client.go @@ -98,7 +98,7 @@ func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error client: videointelligencepb.NewVideoIntelligenceServiceClient(conn), } - c.SetGoogleClientInfo() + c.setGoogleClientInfo() c.LROClient, err = lroauto.NewOperationsClient(ctx, option.WithGRPCConn(conn)) if err != nil { @@ -124,19 +124,19 @@ func (c *Client) Close() error { return c.conn.Close() } -// SetGoogleClientInfo sets the name and version of the application in +// setGoogleClientInfo sets the name and version of the application in // the `x-goog-api-client` header passed on each request. Intended for // use by Google-written clients. -func (c *Client) SetGoogleClientInfo(keyval ...string) { +func (c *Client) setGoogleClientInfo(keyval ...string) { kv := append([]string{"gl-go", version.Go()}, keyval...) kv = append(kv, "gapic", version.Repo, "gax", gax.Version, "grpc", grpc.Version) c.xGoogHeader = []string{gax.XGoogHeader(kv...)} } // AnnotateVideo performs asynchronous video annotation. Progress and results can be -// retrieved through the `google.longrunning.Operations` interface. -// `Operation.metadata` contains `AnnotateVideoProgress` (progress). -// `Operation.response` contains `AnnotateVideoResponse` (results). +// retrieved through the google.longrunning.Operations interface. +// Operation.metadata contains AnnotateVideoProgress (progress). +// Operation.response contains AnnotateVideoResponse (results). func (c *Client) AnnotateVideo(ctx context.Context, req *videointelligencepb.AnnotateVideoRequest, opts ...gax.CallOption) (*AnnotateVideoOperation, error) { ctx = insertXGoog(ctx, c.xGoogHeader) opts = append(c.CallOptions.AnnotateVideo[0:len(c.CallOptions.AnnotateVideo):len(c.CallOptions.AnnotateVideo)], opts...) @@ -172,7 +172,7 @@ func (c *Client) AnnotateVideoOperation(name string) *AnnotateVideoOperation { // See documentation of Poll for error-handling information. func (op *AnnotateVideoOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*videointelligencepb.AnnotateVideoResponse, error) { var resp videointelligencepb.AnnotateVideoResponse - if err := op.lro.Wait(ctx, &resp, opts...); err != nil { + if err := op.lro.WaitWithInterval(ctx, &resp, 45000*time.Millisecond, opts...); err != nil { return nil, err } return &resp, nil diff --git a/vendor/cloud.google.com/go/videointelligence/apiv1beta2/doc.go b/vendor/cloud.google.com/go/videointelligence/apiv1beta2/doc.go new file mode 100644 index 000000000..b214286b2 --- /dev/null +++ b/vendor/cloud.google.com/go/videointelligence/apiv1beta2/doc.go @@ -0,0 +1,40 @@ +// Copyright 2017, Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// AUTO-GENERATED CODE. DO NOT EDIT. + +// Package videointelligence is an experimental, auto-generated package for the +// Google Cloud Video Intelligence API. +// +// Google Cloud Video Intelligence API. +package videointelligence // import "cloud.google.com/go/videointelligence/apiv1beta2" + +import ( + "golang.org/x/net/context" + "google.golang.org/grpc/metadata" +) + +func insertXGoog(ctx context.Context, val []string) context.Context { + md, _ := metadata.FromOutgoingContext(ctx) + md = md.Copy() + md["x-goog-api-client"] = val + return metadata.NewOutgoingContext(ctx, md) +} + +// DefaultAuthScopes reports the default set of authentication scopes to use with this package. +func DefaultAuthScopes() []string { + return []string{ + "https://www.googleapis.com/auth/cloud-platform", + } +} diff --git a/vendor/cloud.google.com/go/videointelligence/apiv1beta2/mock_test.go b/vendor/cloud.google.com/go/videointelligence/apiv1beta2/mock_test.go new file mode 100644 index 000000000..fa6e84ca8 --- /dev/null +++ b/vendor/cloud.google.com/go/videointelligence/apiv1beta2/mock_test.go @@ -0,0 +1,190 @@ +// Copyright 2017, Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// AUTO-GENERATED CODE. DO NOT EDIT. + +package videointelligence + +import ( + videointelligencepb "google.golang.org/genproto/googleapis/cloud/videointelligence/v1beta2" + longrunningpb "google.golang.org/genproto/googleapis/longrunning" +) + +import ( + "flag" + "fmt" + "io" + "log" + "net" + "os" + "strings" + "testing" + + "github.com/golang/protobuf/proto" + "github.com/golang/protobuf/ptypes" + "golang.org/x/net/context" + "google.golang.org/api/option" + status "google.golang.org/genproto/googleapis/rpc/status" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/metadata" + gstatus "google.golang.org/grpc/status" +) + +var _ = io.EOF +var _ = ptypes.MarshalAny +var _ status.Status + +type mockVideoIntelligenceServer struct { + // Embed for forward compatibility. + // Tests will keep working if more methods are added + // in the future. + videointelligencepb.VideoIntelligenceServiceServer + + reqs []proto.Message + + // If set, all calls return this error. + err error + + // responses to return if err == nil + resps []proto.Message +} + +func (s *mockVideoIntelligenceServer) AnnotateVideo(ctx context.Context, req *videointelligencepb.AnnotateVideoRequest) (*longrunningpb.Operation, error) { + md, _ := metadata.FromIncomingContext(ctx) + if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { + return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) + } + s.reqs = append(s.reqs, req) + if s.err != nil { + return nil, s.err + } + return s.resps[0].(*longrunningpb.Operation), nil +} + +// clientOpt is the option tests should use to connect to the test server. +// It is initialized by TestMain. +var clientOpt option.ClientOption + +var ( + mockVideoIntelligence mockVideoIntelligenceServer +) + +func TestMain(m *testing.M) { + flag.Parse() + + serv := grpc.NewServer() + videointelligencepb.RegisterVideoIntelligenceServiceServer(serv, &mockVideoIntelligence) + + lis, err := net.Listen("tcp", "localhost:0") + if err != nil { + log.Fatal(err) + } + go serv.Serve(lis) + + conn, err := grpc.Dial(lis.Addr().String(), grpc.WithInsecure()) + if err != nil { + log.Fatal(err) + } + clientOpt = option.WithGRPCConn(conn) + + os.Exit(m.Run()) +} + +func TestVideoIntelligenceServiceAnnotateVideo(t *testing.T) { + var expectedResponse *videointelligencepb.AnnotateVideoResponse = &videointelligencepb.AnnotateVideoResponse{} + + mockVideoIntelligence.err = nil + mockVideoIntelligence.reqs = nil + + any, err := ptypes.MarshalAny(expectedResponse) + if err != nil { + t.Fatal(err) + } + mockVideoIntelligence.resps = append(mockVideoIntelligence.resps[:0], &longrunningpb.Operation{ + Name: "longrunning-test", + Done: true, + Result: &longrunningpb.Operation_Response{Response: any}, + }) + + var inputUri string = "inputUri1707300727" + var features []videointelligencepb.Feature = nil + var request = &videointelligencepb.AnnotateVideoRequest{ + InputUri: inputUri, + Features: features, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + respLRO, err := c.AnnotateVideo(context.Background(), request) + if err != nil { + t.Fatal(err) + } + resp, err := respLRO.Wait(context.Background()) + + if err != nil { + t.Fatal(err) + } + + if want, got := request, mockVideoIntelligence.reqs[0]; !proto.Equal(want, got) { + t.Errorf("wrong request %q, want %q", got, want) + } + + if want, got := expectedResponse, resp; !proto.Equal(want, got) { + t.Errorf("wrong response %q, want %q)", got, want) + } +} + +func TestVideoIntelligenceServiceAnnotateVideoError(t *testing.T) { + errCode := codes.PermissionDenied + mockVideoIntelligence.err = nil + mockVideoIntelligence.resps = append(mockVideoIntelligence.resps[:0], &longrunningpb.Operation{ + Name: "longrunning-test", + Done: true, + Result: &longrunningpb.Operation_Error{ + Error: &status.Status{ + Code: int32(errCode), + Message: "test error", + }, + }, + }) + + var inputUri string = "inputUri1707300727" + var features []videointelligencepb.Feature = nil + var request = &videointelligencepb.AnnotateVideoRequest{ + InputUri: inputUri, + Features: features, + } + + c, err := NewClient(context.Background(), clientOpt) + if err != nil { + t.Fatal(err) + } + + respLRO, err := c.AnnotateVideo(context.Background(), request) + if err != nil { + t.Fatal(err) + } + resp, err := respLRO.Wait(context.Background()) + + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { + t.Errorf("got error code %q, want %q", c, errCode) + } + _ = resp +} diff --git a/vendor/cloud.google.com/go/videointelligence/apiv1beta2/video_intelligence_client.go b/vendor/cloud.google.com/go/videointelligence/apiv1beta2/video_intelligence_client.go new file mode 100644 index 000000000..4dd4fef36 --- /dev/null +++ b/vendor/cloud.google.com/go/videointelligence/apiv1beta2/video_intelligence_client.go @@ -0,0 +1,224 @@ +// Copyright 2017, Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// AUTO-GENERATED CODE. DO NOT EDIT. + +package videointelligence + +import ( + "time" + + "cloud.google.com/go/internal/version" + "cloud.google.com/go/longrunning" + lroauto "cloud.google.com/go/longrunning/autogen" + gax "github.com/googleapis/gax-go" + "golang.org/x/net/context" + "google.golang.org/api/option" + "google.golang.org/api/transport" + videointelligencepb "google.golang.org/genproto/googleapis/cloud/videointelligence/v1beta2" + longrunningpb "google.golang.org/genproto/googleapis/longrunning" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" +) + +// CallOptions contains the retry settings for each method of Client. +type CallOptions struct { + AnnotateVideo []gax.CallOption +} + +func defaultClientOptions() []option.ClientOption { + return []option.ClientOption{ + option.WithEndpoint("videointelligence.googleapis.com:443"), + option.WithScopes(DefaultAuthScopes()...), + } +} + +func defaultCallOptions() *CallOptions { + retry := map[[2]string][]gax.CallOption{ + {"default", "idempotent"}: { + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 120000 * time.Millisecond, + Multiplier: 2.5, + }) + }), + }, + } + return &CallOptions{ + AnnotateVideo: retry[[2]string{"default", "idempotent"}], + } +} + +// Client is a client for interacting with Google Cloud Video Intelligence API. +type Client struct { + // The connection to the service. + conn *grpc.ClientConn + + // The gRPC API client. + client videointelligencepb.VideoIntelligenceServiceClient + + // LROClient is used internally to handle longrunning operations. + // It is exposed so that its CallOptions can be modified if required. + // Users should not Close this client. + LROClient *lroauto.OperationsClient + + // The call options for this service. + CallOptions *CallOptions + + // The metadata to be sent with each request. + xGoogHeader []string +} + +// NewClient creates a new video intelligence service client. +// +// Service that implements Google Cloud Video Intelligence API. +func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error) { + conn, err := transport.DialGRPC(ctx, append(defaultClientOptions(), opts...)...) + if err != nil { + return nil, err + } + c := &Client{ + conn: conn, + CallOptions: defaultCallOptions(), + + client: videointelligencepb.NewVideoIntelligenceServiceClient(conn), + } + c.setGoogleClientInfo() + + c.LROClient, err = lroauto.NewOperationsClient(ctx, option.WithGRPCConn(conn)) + if err != nil { + // This error "should not happen", since we are just reusing old connection + // and never actually need to dial. + // If this does happen, we could leak conn. However, we cannot close conn: + // If the user invoked the function with option.WithGRPCConn, + // we would close a connection that's still in use. + // TODO(pongad): investigate error conditions. + return nil, err + } + return c, nil +} + +// Connection returns the client's connection to the API service. +func (c *Client) Connection() *grpc.ClientConn { + return c.conn +} + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *Client) Close() error { + return c.conn.Close() +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *Client) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", version.Go()}, keyval...) + kv = append(kv, "gapic", version.Repo, "gax", gax.Version, "grpc", grpc.Version) + c.xGoogHeader = []string{gax.XGoogHeader(kv...)} +} + +// AnnotateVideo performs asynchronous video annotation. Progress and results can be +// retrieved through the google.longrunning.Operations interface. +// Operation.metadata contains AnnotateVideoProgress (progress). +// Operation.response contains AnnotateVideoResponse (results). +func (c *Client) AnnotateVideo(ctx context.Context, req *videointelligencepb.AnnotateVideoRequest, opts ...gax.CallOption) (*AnnotateVideoOperation, error) { + ctx = insertXGoog(ctx, c.xGoogHeader) + opts = append(c.CallOptions.AnnotateVideo[0:len(c.CallOptions.AnnotateVideo):len(c.CallOptions.AnnotateVideo)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.AnnotateVideo(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &AnnotateVideoOperation{ + lro: longrunning.InternalNewOperation(c.LROClient, resp), + }, nil +} + +// AnnotateVideoOperation manages a long-running operation from AnnotateVideo. +type AnnotateVideoOperation struct { + lro *longrunning.Operation +} + +// AnnotateVideoOperation returns a new AnnotateVideoOperation from a given name. +// The name must be that of a previously created AnnotateVideoOperation, possibly from a different process. +func (c *Client) AnnotateVideoOperation(name string) *AnnotateVideoOperation { + return &AnnotateVideoOperation{ + lro: longrunning.InternalNewOperation(c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *AnnotateVideoOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*videointelligencepb.AnnotateVideoResponse, error) { + var resp videointelligencepb.AnnotateVideoResponse + if err := op.lro.WaitWithInterval(ctx, &resp, 45000*time.Millisecond, opts...); err != nil { + return nil, err + } + return &resp, nil +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *AnnotateVideoOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*videointelligencepb.AnnotateVideoResponse, error) { + var resp videointelligencepb.AnnotateVideoResponse + if err := op.lro.Poll(ctx, &resp, opts...); err != nil { + return nil, err + } + if !op.Done() { + return nil, nil + } + return &resp, nil +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *AnnotateVideoOperation) Metadata() (*videointelligencepb.AnnotateVideoProgress, error) { + var meta videointelligencepb.AnnotateVideoProgress + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *AnnotateVideoOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *AnnotateVideoOperation) Name() string { + return op.lro.Name() +} diff --git a/vendor/cloud.google.com/go/videointelligence/apiv1beta2/video_intelligence_client_example_test.go b/vendor/cloud.google.com/go/videointelligence/apiv1beta2/video_intelligence_client_example_test.go new file mode 100644 index 000000000..1dd4917ef --- /dev/null +++ b/vendor/cloud.google.com/go/videointelligence/apiv1beta2/video_intelligence_client_example_test.go @@ -0,0 +1,56 @@ +// Copyright 2017, Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// AUTO-GENERATED CODE. DO NOT EDIT. + +package videointelligence_test + +import ( + "cloud.google.com/go/videointelligence/apiv1beta2" + "golang.org/x/net/context" + videointelligencepb "google.golang.org/genproto/googleapis/cloud/videointelligence/v1beta2" +) + +func ExampleNewClient() { + ctx := context.Background() + c, err := videointelligence.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use client. + _ = c +} + +func ExampleClient_AnnotateVideo() { + ctx := context.Background() + c, err := videointelligence.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + + req := &videointelligencepb.AnnotateVideoRequest{ + // TODO: Fill request struct fields. + } + op, err := c.AnnotateVideo(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} diff --git a/vendor/cloud.google.com/go/videointelligence/apiv1beta2/whitelist.go b/vendor/cloud.google.com/go/videointelligence/apiv1beta2/whitelist.go new file mode 100644 index 000000000..d0e057e70 --- /dev/null +++ b/vendor/cloud.google.com/go/videointelligence/apiv1beta2/whitelist.go @@ -0,0 +1,16 @@ +// Copyright 2017, Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// THIS API IS CURRENTLY UNDER WHITELIST. +package videointelligence diff --git a/vendor/cloud.google.com/go/vision/annotations.go b/vendor/cloud.google.com/go/vision/annotations.go deleted file mode 100644 index f38c0f836..000000000 --- a/vendor/cloud.google.com/go/vision/annotations.go +++ /dev/null @@ -1,689 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package vision - -import ( - "image" - - "golang.org/x/text/language" - pb "google.golang.org/genproto/googleapis/cloud/vision/v1" - "google.golang.org/grpc" - "google.golang.org/grpc/codes" -) - -// Annotations contains all the annotations performed by the API on a single image. -// A nil field indicates either that the corresponding feature was not requested, -// or that annotation failed for that feature. -type Annotations struct { - // Faces holds the results of face detection. - Faces []*FaceAnnotation - // Landmarks holds the results of landmark detection. - Landmarks []*EntityAnnotation - // Logos holds the results of logo detection. - Logos []*EntityAnnotation - // Labels holds the results of label detection. - Labels []*EntityAnnotation - // Texts holds the results of text detection. - Texts []*EntityAnnotation - // FullText holds the results of full text (OCR) detection. - FullText *TextAnnotation - // SafeSearch holds the results of safe-search detection. - SafeSearch *SafeSearchAnnotation - // ImageProps contains properties of the annotated image. - ImageProps *ImageProps - // Web contains web annotations for the image. - Web *WebDetection - // CropHints contains crop hints for the image. - CropHints []*CropHint - - // If non-nil, then one or more of the attempted annotations failed. - // Non-nil annotations are guaranteed to be correct, even if Error is - // non-nil. - Error error -} - -func annotationsFromProto(res *pb.AnnotateImageResponse) *Annotations { - as := &Annotations{} - for _, a := range res.FaceAnnotations { - as.Faces = append(as.Faces, faceAnnotationFromProto(a)) - } - for _, a := range res.LandmarkAnnotations { - as.Landmarks = append(as.Landmarks, entityAnnotationFromProto(a)) - } - for _, a := range res.LogoAnnotations { - as.Logos = append(as.Logos, entityAnnotationFromProto(a)) - } - for _, a := range res.LabelAnnotations { - as.Labels = append(as.Labels, entityAnnotationFromProto(a)) - } - for _, a := range res.TextAnnotations { - as.Texts = append(as.Texts, entityAnnotationFromProto(a)) - } - as.FullText = textAnnotationFromProto(res.FullTextAnnotation) - as.SafeSearch = safeSearchAnnotationFromProto(res.SafeSearchAnnotation) - as.ImageProps = imagePropertiesFromProto(res.ImagePropertiesAnnotation) - as.Web = webDetectionFromProto(res.WebDetection) - as.CropHints = cropHintsFromProto(res.CropHintsAnnotation) - if res.Error != nil { - // res.Error is a google.rpc.Status. Convert to a Go error. Use a gRPC - // error because it preserves the code as a separate field. - // TODO(jba): preserve the details field. - as.Error = grpc.Errorf(codes.Code(res.Error.Code), "%s", res.Error.Message) - } - return as -} - -// A FaceAnnotation describes the results of face detection on an image. -type FaceAnnotation struct { - // BoundingPoly is the bounding polygon around the face. The coordinates of - // the bounding box are in the original image's scale, as returned in - // ImageParams. The bounding box is computed to "frame" the face in - // accordance with human expectations. It is based on the landmarker - // results. Note that one or more x and/or y coordinates may not be - // generated in the BoundingPoly (the polygon will be unbounded) if only a - // partial face appears in the image to be annotated. - BoundingPoly []image.Point - - // FDBoundingPoly is tighter than BoundingPoly, and - // encloses only the skin part of the face. Typically, it is used to - // eliminate the face from any image analysis that detects the "amount of - // skin" visible in an image. It is not based on the landmarker results, only - // on the initial face detection, hence the fd (face detection) prefix. - FDBoundingPoly []image.Point - - // Landmarks are detected face landmarks. - Face FaceLandmarks - - // RollAngle indicates the amount of clockwise/anti-clockwise rotation of - // the face relative to the image vertical, about the axis perpendicular to - // the face. Range [-180,180]. - RollAngle float32 - - // PanAngle is the yaw angle: the leftward/rightward angle that the face is - // pointing, relative to the vertical plane perpendicular to the image. Range - // [-180,180]. - PanAngle float32 - - // TiltAngle is the pitch angle: the upwards/downwards angle that the face is - // pointing relative to the image's horizontal plane. Range [-180,180]. - TiltAngle float32 - - // DetectionConfidence is the detection confidence. The range is [0, 1]. - DetectionConfidence float32 - - // LandmarkingConfidence is the face landmarking confidence. The range is [0, 1]. - LandmarkingConfidence float32 - - // Likelihoods expresses the likelihood of various aspects of the face. - Likelihoods *FaceLikelihoods -} - -func faceAnnotationFromProto(pfa *pb.FaceAnnotation) *FaceAnnotation { - fa := &FaceAnnotation{ - BoundingPoly: boundingPolyFromProto(pfa.BoundingPoly), - FDBoundingPoly: boundingPolyFromProto(pfa.FdBoundingPoly), - RollAngle: pfa.RollAngle, - PanAngle: pfa.PanAngle, - TiltAngle: pfa.TiltAngle, - DetectionConfidence: pfa.DetectionConfidence, - LandmarkingConfidence: pfa.LandmarkingConfidence, - Likelihoods: &FaceLikelihoods{ - Joy: Likelihood(pfa.JoyLikelihood), - Sorrow: Likelihood(pfa.SorrowLikelihood), - Anger: Likelihood(pfa.AngerLikelihood), - Surprise: Likelihood(pfa.SurpriseLikelihood), - UnderExposed: Likelihood(pfa.UnderExposedLikelihood), - Blurred: Likelihood(pfa.BlurredLikelihood), - Headwear: Likelihood(pfa.HeadwearLikelihood), - }, - } - populateFaceLandmarks(pfa.Landmarks, &fa.Face) - return fa -} - -// An EntityAnnotation describes the results of a landmark, label, logo or text -// detection on an image. -type EntityAnnotation struct { - // ID is an opaque entity ID. Some IDs might be available in Knowledge Graph(KG). - // For more details on KG please see: - // https://developers.google.com/knowledge-graph/ - ID string - - // Locale is the language code for the locale in which the entity textual - // description (next field) is expressed. - Locale string - - // Description is the entity textual description, expressed in the language of Locale. - Description string - - // Score is the overall score of the result. Range [0, 1]. - Score float32 - - // Confidence is the accuracy of the entity detection in an image. - // For example, for an image containing the Eiffel Tower, this field represents - // the confidence that there is a tower in the query image. Range [0, 1]. - Confidence float32 - - // Topicality is the relevancy of the ICA (Image Content Annotation) label to the - // image. For example, the relevancy of 'tower' to an image containing - // 'Eiffel Tower' is likely higher than an image containing a distant towering - // building, though the confidence that there is a tower may be the same. - // Range [0, 1]. - Topicality float32 - - // BoundingPoly is the image region to which this entity belongs. Not filled currently - // for label detection. For text detection, BoundingPolys - // are produced for the entire text detected in an image region, followed by - // BoundingPolys for each word within the detected text. - BoundingPoly []image.Point - - // Locations contains the location information for the detected entity. - // Multiple LatLng structs can be present since one location may indicate the - // location of the scene in the query image, and another the location of the - // place where the query image was taken. Location information is usually - // present for landmarks. - Locations []LatLng - - // Properties are additional optional Property fields. - // For example a different kind of score or string that qualifies the entity. - Properties []Property -} - -func entityAnnotationFromProto(e *pb.EntityAnnotation) *EntityAnnotation { - var locs []LatLng - for _, li := range e.Locations { - locs = append(locs, latLngFromProto(li.LatLng)) - } - var props []Property - for _, p := range e.Properties { - props = append(props, propertyFromProto(p)) - } - return &EntityAnnotation{ - ID: e.Mid, - Locale: e.Locale, - Description: e.Description, - Score: e.Score, - Confidence: e.Confidence, - Topicality: e.Topicality, - BoundingPoly: boundingPolyFromProto(e.BoundingPoly), - Locations: locs, - Properties: props, - } -} - -// TextAnnotation contains a structured representation of OCR extracted text. -// The hierarchy of an OCR extracted text structure looks like: -// TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol -// Each structural component, starting from Page, may further have its own -// properties. Properties describe detected languages, breaks etc. -type TextAnnotation struct { - // List of pages detected by OCR. - Pages []*Page - // UTF-8 text detected on the pages. - Text string -} - -func textAnnotationFromProto(pta *pb.TextAnnotation) *TextAnnotation { - if pta == nil { - return nil - } - var pages []*Page - for _, p := range pta.Pages { - pages = append(pages, pageFromProto(p)) - } - return &TextAnnotation{ - Pages: pages, - Text: pta.Text, - } -} - -// A Page is a page of text detected from OCR. -type Page struct { - // Additional information detected on the page. - Properties *TextProperties - // Page width in pixels. - Width int32 - // Page height in pixels. - Height int32 - // List of blocks of text, images etc on this page. - Blocks []*Block -} - -func pageFromProto(p *pb.Page) *Page { - if p == nil { - return nil - } - var blocks []*Block - for _, b := range p.Blocks { - blocks = append(blocks, blockFromProto(b)) - } - return &Page{ - Properties: textPropertiesFromProto(p.Property), - Width: p.Width, - Height: p.Height, - Blocks: blocks, - } -} - -// A Block is a logical element on the page. -type Block struct { - // Additional information detected for the block. - Properties *TextProperties - // The bounding box for the block. - // The vertices are in the order of top-left, top-right, bottom-right, - // bottom-left. When a rotation of the bounding box is detected the rotation - // is represented as around the top-left corner as defined when the text is - // read in the 'natural' orientation. - // For example: - // * when the text is horizontal it might look like: - // 0----1 - // | | - // 3----2 - // * when it's rotated 180 degrees around the top-left corner it becomes: - // 2----3 - // | | - // 1----0 - // and the vertice order will still be (0, 1, 2, 3). - BoundingBox []image.Point - // List of paragraphs in this block (if this blocks is of type text). - Paragraphs []*Paragraph - // Detected block type (text, image etc) for this block. - BlockType BlockType -} - -// A BlockType represents the kind of Block (text, image, etc.) -type BlockType int - -const ( - // Unknown block type. - UnknownBlock BlockType = BlockType(pb.Block_UNKNOWN) - // Regular text block. - TextBlock BlockType = BlockType(pb.Block_TEXT) - // Table block. - TableBlock BlockType = BlockType(pb.Block_TABLE) - // Image block. - PictureBlock BlockType = BlockType(pb.Block_PICTURE) - // Horizontal/vertical line box. - RulerBlock BlockType = BlockType(pb.Block_RULER) - // Barcode block. - BarcodeBlock BlockType = BlockType(pb.Block_BARCODE) -) - -func blockFromProto(p *pb.Block) *Block { - if p == nil { - return nil - } - var paras []*Paragraph - for _, pa := range p.Paragraphs { - paras = append(paras, paragraphFromProto(pa)) - } - return &Block{ - Properties: textPropertiesFromProto(p.Property), - BoundingBox: boundingPolyFromProto(p.BoundingBox), - Paragraphs: paras, - BlockType: BlockType(p.BlockType), - } -} - -// A Paragraph is a structural unit of text representing a number of words in -// certain order. -type Paragraph struct { - // Additional information detected for the paragraph. - Properties *TextProperties - // The bounding box for the paragraph. - // The vertices are in the order of top-left, top-right, bottom-right, - // bottom-left. When a rotation of the bounding box is detected the rotation - // is represented as around the top-left corner as defined when the text is - // read in the 'natural' orientation. - // For example: - // * when the text is horizontal it might look like: - // 0----1 - // | | - // 3----2 - // * when it's rotated 180 degrees around the top-left corner it becomes: - // 2----3 - // | | - // 1----0 - // and the vertice order will still be (0, 1, 2, 3). - BoundingBox []image.Point - // List of words in this paragraph. - Words []*Word -} - -func paragraphFromProto(p *pb.Paragraph) *Paragraph { - if p == nil { - return nil - } - var words []*Word - for _, w := range p.Words { - words = append(words, wordFromProto(w)) - } - return &Paragraph{ - Properties: textPropertiesFromProto(p.Property), - BoundingBox: boundingPolyFromProto(p.BoundingBox), - Words: words, - } -} - -// A Word is a word in a text document. -type Word struct { - // Additional information detected for the word. - Properties *TextProperties - // The bounding box for the word. - // The vertices are in the order of top-left, top-right, bottom-right, - // bottom-left. When a rotation of the bounding box is detected the rotation - // is represented as around the top-left corner as defined when the text is - // read in the 'natural' orientation. - // For example: - // * when the text is horizontal it might look like: - // 0----1 - // | | - // 3----2 - // * when it's rotated 180 degrees around the top-left corner it becomes: - // 2----3 - // | | - // 1----0 - // and the vertice order will still be (0, 1, 2, 3). - BoundingBox []image.Point - // List of symbols in the word. - // The order of the symbols follows the natural reading order. - Symbols []*Symbol -} - -func wordFromProto(p *pb.Word) *Word { - if p == nil { - return nil - } - var syms []*Symbol - for _, s := range p.Symbols { - syms = append(syms, symbolFromProto(s)) - } - return &Word{ - Properties: textPropertiesFromProto(p.Property), - BoundingBox: boundingPolyFromProto(p.BoundingBox), - Symbols: syms, - } -} - -// A Symbol is a symbol in a text document. -type Symbol struct { - // Additional information detected for the symbol. - Properties *TextProperties - // The bounding box for the symbol. - // The vertices are in the order of top-left, top-right, bottom-right, - // bottom-left. When a rotation of the bounding box is detected the rotation - // is represented as around the top-left corner as defined when the text is - // read in the 'natural' orientation. - // For example: - // * when the text is horizontal it might look like: - // 0----1 - // | | - // 3----2 - // * when it's rotated 180 degrees around the top-left corner it becomes: - // 2----3 - // | | - // 1----0 - // and the vertice order will still be (0, 1, 2, 3). - BoundingBox []image.Point - // The actual UTF-8 representation of the symbol. - Text string -} - -func symbolFromProto(p *pb.Symbol) *Symbol { - if p == nil { - return nil - } - return &Symbol{ - Properties: textPropertiesFromProto(p.Property), - BoundingBox: boundingPolyFromProto(p.BoundingBox), - Text: p.Text, - } -} - -// TextProperties contains additional information about an OCR structural component. -type TextProperties struct { - // A list of detected languages together with confidence. - DetectedLanguages []*DetectedLanguage - // Detected start or end of a text segment. - DetectedBreak *DetectedBreak -} - -// Detected language for a structural component. -type DetectedLanguage struct { - // The BCP-47 language code, such as "en-US" or "sr-Latn". - Code language.Tag - // The confidence of the detected language, in the range [0, 1]. - Confidence float32 -} - -// DetectedBreak is the detected start or end of a structural component. -type DetectedBreak struct { - // The type of break. - Type DetectedBreakType - // True if break prepends the element. - IsPrefix bool -} - -type DetectedBreakType int - -const ( - // Unknown break label type. - UnknownBreak = DetectedBreakType(pb.TextAnnotation_DetectedBreak_UNKNOWN) - // Regular space. - SpaceBreak = DetectedBreakType(pb.TextAnnotation_DetectedBreak_SPACE) - // Sure space (very wide). - SureSpaceBreak = DetectedBreakType(pb.TextAnnotation_DetectedBreak_SURE_SPACE) - // Line-wrapping break. - EOLSureSpaceBreak = DetectedBreakType(pb.TextAnnotation_DetectedBreak_EOL_SURE_SPACE) - // End-line hyphen that is not present in text; does not co-occur with SPACE, LEADER_SPACE, or LINE_BREAK. - HyphenBreak = DetectedBreakType(pb.TextAnnotation_DetectedBreak_HYPHEN) - // Line break that ends a paragraph. - LineBreak = DetectedBreakType(pb.TextAnnotation_DetectedBreak_LINE_BREAK) -) - -func textPropertiesFromProto(p *pb.TextAnnotation_TextProperty) *TextProperties { - var dls []*DetectedLanguage - for _, dl := range p.DetectedLanguages { - tag, _ := language.Parse(dl.LanguageCode) - // Ignore error. If err != nil the returned tag will not be garbage, - // but a best-effort attempt at a parse. At worst it will be - // language.Und, the documented "undefined" Tag. - dls = append(dls, &DetectedLanguage{Code: tag, Confidence: dl.Confidence}) - } - var db *DetectedBreak - if p.DetectedBreak != nil { - db = &DetectedBreak{ - Type: DetectedBreakType(p.DetectedBreak.Type), - IsPrefix: p.DetectedBreak.IsPrefix, - } - } - return &TextProperties{ - DetectedLanguages: dls, - DetectedBreak: db, - } -} - -// SafeSearchAnnotation describes the results of a SafeSearch detection on an image. -type SafeSearchAnnotation struct { - // Adult is the likelihood that the image contains adult content. - Adult Likelihood - - // Spoof is the likelihood that an obvious modification was made to the - // image's canonical version to make it appear funny or offensive. - Spoof Likelihood - - // Medical is the likelihood that this is a medical image. - Medical Likelihood - - // Violence is the likelihood that this image represents violence. - Violence Likelihood -} - -func safeSearchAnnotationFromProto(s *pb.SafeSearchAnnotation) *SafeSearchAnnotation { - if s == nil { - return nil - } - return &SafeSearchAnnotation{ - Adult: Likelihood(s.Adult), - Spoof: Likelihood(s.Spoof), - Medical: Likelihood(s.Medical), - Violence: Likelihood(s.Violence), - } -} - -// ImageProps describes properties of the image itself, like the dominant colors. -type ImageProps struct { - // DominantColors describes the dominant colors of the image. - DominantColors []*ColorInfo -} - -func imagePropertiesFromProto(ip *pb.ImageProperties) *ImageProps { - if ip == nil || ip.DominantColors == nil { - return nil - } - var cinfos []*ColorInfo - for _, ci := range ip.DominantColors.Colors { - cinfos = append(cinfos, colorInfoFromProto(ci)) - } - return &ImageProps{DominantColors: cinfos} -} - -// WebDetection contains relevant information for the image from the Internet. -type WebDetection struct { - // Deduced entities from similar images on the Internet. - WebEntities []*WebEntity - // Fully matching images from the Internet. - // They're definite neardups and most often a copy of the query image with - // merely a size change. - FullMatchingImages []*WebImage - // Partial matching images from the Internet. - // Those images are similar enough to share some key-point features. For - // example an original image will likely have partial matching for its crops. - PartialMatchingImages []*WebImage - // Web pages containing the matching images from the Internet. - PagesWithMatchingImages []*WebPage -} - -func webDetectionFromProto(p *pb.WebDetection) *WebDetection { - if p == nil { - return nil - } - var ( - wes []*WebEntity - fmis, pmis []*WebImage - wps []*WebPage - ) - for _, e := range p.WebEntities { - wes = append(wes, webEntityFromProto(e)) - } - for _, m := range p.FullMatchingImages { - fmis = append(fmis, webImageFromProto(m)) - } - for _, m := range p.PartialMatchingImages { - pmis = append(fmis, webImageFromProto(m)) - } - for _, g := range p.PagesWithMatchingImages { - wps = append(wps, webPageFromProto(g)) - } - return &WebDetection{ - WebEntities: wes, - FullMatchingImages: fmis, - PartialMatchingImages: pmis, - PagesWithMatchingImages: wps, - } -} - -// A WebEntity is an entity deduced from similar images on the Internet. -type WebEntity struct { - // Opaque entity ID. - ID string - // Overall relevancy score for the entity. - // Not normalized and not comparable across different image queries. - Score float32 - // Canonical description of the entity, in English. - Description string -} - -func webEntityFromProto(p *pb.WebDetection_WebEntity) *WebEntity { - return &WebEntity{ - ID: p.EntityId, - Score: p.Score, - Description: p.Description, - } -} - -// WebImage contains metadata for online images. -type WebImage struct { - // The result image URL. - URL string - // Overall relevancy score for the image. - // Not normalized and not comparable across different image queries. - Score float32 -} - -func webImageFromProto(p *pb.WebDetection_WebImage) *WebImage { - return &WebImage{ - URL: p.Url, - Score: p.Score, - } -} - -// A WebPage contains metadata for web pages. -type WebPage struct { - // The result web page URL. - URL string - // Overall relevancy score for the web page. - // Not normalized and not comparable across different image queries. - Score float32 -} - -func webPageFromProto(p *pb.WebDetection_WebPage) *WebPage { - return &WebPage{ - URL: p.Url, - Score: p.Score, - } -} - -// CropHint is a single crop hint that is used to generate a new crop when -// serving an image. -type CropHint struct { - // The bounding polygon for the crop region. The coordinates of the bounding - // box are in the original image's scale, as returned in `ImageParams`. - BoundingPoly []image.Point - // Confidence of this being a salient region. Range [0, 1]. - Confidence float32 - // Fraction of importance of this salient region with respect to the original - // image. - ImportanceFraction float32 -} - -func cropHintsFromProto(p *pb.CropHintsAnnotation) []*CropHint { - if p == nil { - return nil - } - var chs []*CropHint - for _, pch := range p.CropHints { - chs = append(chs, cropHintFromProto(pch)) - } - return chs -} - -func cropHintFromProto(pch *pb.CropHint) *CropHint { - return &CropHint{ - BoundingPoly: boundingPolyFromProto(pch.BoundingPoly), - Confidence: pch.Confidence, - ImportanceFraction: pch.ImportanceFraction, - } -} diff --git a/vendor/cloud.google.com/go/vision/apiv1/doc.go b/vendor/cloud.google.com/go/vision/apiv1/doc.go index b86cca35c..ba3c99fb0 100644 --- a/vendor/cloud.google.com/go/vision/apiv1/doc.go +++ b/vendor/cloud.google.com/go/vision/apiv1/doc.go @@ -14,14 +14,12 @@ // AUTO-GENERATED CODE. DO NOT EDIT. -// Package vision is an experimental, auto-generated package for the +// Package vision is an auto-generated package for the // Google Cloud Vision API. // // Integrates Google Vision features, including image labeling, face, logo, // and landmark detection, optical character recognition (OCR), and detection // of explicit content, into applications. -// -// Use the client at cloud.google.com/go/vision in preference to this. package vision // import "cloud.google.com/go/vision/apiv1" import ( @@ -36,8 +34,7 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } -// DefaultAuthScopes reports the authentication scopes required -// by this package. +// DefaultAuthScopes reports the default set of authentication scopes to use with this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/vendor/cloud.google.com/go/vision/apiv1/image_annotator_client.go b/vendor/cloud.google.com/go/vision/apiv1/image_annotator_client.go index b02e6d79d..a7aebd584 100644 --- a/vendor/cloud.google.com/go/vision/apiv1/image_annotator_client.go +++ b/vendor/cloud.google.com/go/vision/apiv1/image_annotator_client.go @@ -92,7 +92,7 @@ func NewImageAnnotatorClient(ctx context.Context, opts ...option.ClientOption) ( imageAnnotatorClient: visionpb.NewImageAnnotatorClient(conn), } - c.SetGoogleClientInfo() + c.setGoogleClientInfo() return c, nil } @@ -107,10 +107,10 @@ func (c *ImageAnnotatorClient) Close() error { return c.conn.Close() } -// SetGoogleClientInfo sets the name and version of the application in +// setGoogleClientInfo sets the name and version of the application in // the `x-goog-api-client` header passed on each request. Intended for // use by Google-written clients. -func (c *ImageAnnotatorClient) SetGoogleClientInfo(keyval ...string) { +func (c *ImageAnnotatorClient) setGoogleClientInfo(keyval ...string) { kv := append([]string{"gl-go", version.Go()}, keyval...) kv = append(kv, "gapic", version.Repo, "gax", gax.Version, "grpc", grpc.Version) c.xGoogHeader = []string{gax.XGoogHeader(kv...)} diff --git a/vendor/cloud.google.com/go/vision/doc.go b/vendor/cloud.google.com/go/vision/doc.go deleted file mode 100644 index 5121a9888..000000000 --- a/vendor/cloud.google.com/go/vision/doc.go +++ /dev/null @@ -1,105 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/* -NOTE: This package is deprecated. Use cloud.google.com/go/vision/apiv1 instead. - - -Package vision provides a client for the Google Cloud Vision API. - -Google Cloud Vision allows easy integration of vision detection features -into developer applications, including image labeling, face and landmark -detection, optical character recognition (OCR), and tagging of explicit -content. For more information about Cloud Vision, read the Google Cloud Vision API -Documentation at https://cloud.google.com/vision/docs. - -Note: This package is in beta. Some backwards-incompatible changes may occur. - -Creating Images - -The Cloud Vision API supports a variety of image file formats, including JPEG, -PNG8, PNG24, Animated GIF (first frame only), and RAW. See -https://cloud.google.com/vision/docs/image-best-practices#image_types for the -complete list of formats. Be aware that Cloud Vision sets upper limits on file -size as well as on the total combined size of all images in a request. Reducing -your file size can significantly improve throughput; however, be careful not to -reduce image quality in the process. See -https://cloud.google.com/vision/docs/image-best-practices#image_sizing for -current file size limits. - -Creating an Image instance does not perform an API request. - -Use NewImageFromReader to obtain an image from any io.Reader, such as an open file: - - f, err := os.Open("path/to/image.jpg") - if err != nil { ... } - defer f.Close() - img, err := vision.NewImageFromReader(f) - if err != nil { ... } - -Use NewImageFromURI to refer to an image in Google Cloud Storage or a public URL: - - img := vision.NewImageFromURI("gs://my-bucket/my-image.png") - -Annotating Images - -Client.Annotate is the most general method in the package. It can run multiple -detections on multiple images with a single API call. - -To describe the detections you want to perform on an image, create an -AnnotateRequest and specify the maximum number of results to return for each -detection of interest. The exceptions are safe search and image properties, -where a boolean is used instead. - - resultSlice, err := client.Annotate(ctx, &vision.AnnotateRequest{ - Image: img, - MaxLogos: 5, - MaxTexts: 100, - SafeSearch: true, - }) - if err != nil { ... } - -You can pass as many AnnotateRequests as desired to client.Annotate. The return -value is a slice of an Annotations. Each Annotations value may contain an Error -along with one or more successful results. The failed detections will have a nil annotation. - - result := resultSlice[0] - if result.Error != nil { ... } // some detections failed - for _, logo := range result.Logos { ... } - for _, text := range result.Texts { ... } - if result.SafeSearch != nil { ... } - -Other methods on Client run a single detection on a single image. For instance, -Client.DetectFaces will run face detection on the provided Image. These methods -return a single annotation of the appropriate type (for example, DetectFaces -returns a FaceAnnotation). The error return value incorporates both API call -errors and the detection errors stored in Annotations.Error, simplifying your -logic. - - faces, err := client.DetectFaces(ctx, 10) // maximum of 10 faces - if err != nil { ... } - -Here faces is a slice of FaceAnnotations. The Face field of each FaceAnnotation -provides easy access to the positions of facial features: - - fmt.Println(faces[0].Face.Nose.Tip) - fmt.Println(faces[0].Face.Eyes.Left.Pupil) - - -Authentication - -See examples of authorization and authentication at -https://godoc.org/cloud.google.com/go#pkg-examples. -*/ -package vision // import "cloud.google.com/go/vision" diff --git a/vendor/cloud.google.com/go/vision/examples_test.go b/vendor/cloud.google.com/go/vision/examples_test.go deleted file mode 100644 index a63d6368f..000000000 --- a/vendor/cloud.google.com/go/vision/examples_test.go +++ /dev/null @@ -1,99 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package vision_test - -import ( - "fmt" - "os" - - "cloud.google.com/go/vision" - "golang.org/x/net/context" -) - -func ExampleNewClient() { - ctx := context.Background() - client, err := vision.NewClient(ctx) - if err != nil { - // TODO: handle error. - } - // Use the client. - - // Close the client when finished. - if err := client.Close(); err != nil { - // TODO: handle error. - } -} - -func Example_NewImageFromReader() { - f, err := os.Open("path/to/image.jpg") - if err != nil { - // TODO: handle error. - } - img, err := vision.NewImageFromReader(f) - if err != nil { - // TODO: handle error. - } - fmt.Println(img) -} - -func Example_NewImageFromURI() { - img := vision.NewImageFromURI("gs://my-bucket/my-image.png") - fmt.Println(img) -} - -func ExampleClient_Annotate_oneImage() { - ctx := context.Background() - client, err := vision.NewClient(ctx) - if err != nil { - // TODO: handle error. - } - annsSlice, err := client.Annotate(ctx, &vision.AnnotateRequest{ - Image: vision.NewImageFromURI("gs://my-bucket/my-image.png"), - MaxLogos: 100, - MaxTexts: 100, - SafeSearch: true, - }) - if err != nil { - // TODO: handle error. - } - anns := annsSlice[0] - if anns.Logos != nil { - fmt.Println(anns.Logos) - } - if anns.Texts != nil { - fmt.Println(anns.Texts) - } - if anns.SafeSearch != nil { - fmt.Println(anns.SafeSearch) - } - if anns.Error != nil { - fmt.Printf("at least one of the features failed: %v", anns.Error) - } -} - -func ExampleClient_DetectFaces() { - ctx := context.Background() - client, err := vision.NewClient(ctx) - if err != nil { - // TODO: handle error. - } - img := vision.NewImageFromURI("gs://my-bucket/my-image.png") - faces, err := client.DetectFaces(ctx, img, 10) - if err != nil { - // TODO: handle error. - } - fmt.Println(faces[0].Face.Nose.Tip) - fmt.Println(faces[0].Face.Eyes.Left.Pupil) -} diff --git a/vendor/cloud.google.com/go/vision/face.go b/vendor/cloud.google.com/go/vision/face.go deleted file mode 100644 index a7de3e5c6..000000000 --- a/vendor/cloud.google.com/go/vision/face.go +++ /dev/null @@ -1,172 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package vision - -import ( - "log" - - "github.com/golang/geo/r3" - pb "google.golang.org/genproto/googleapis/cloud/vision/v1" -) - -// FaceLandmarks contains the positions of facial features detected by the service. -// TODO(jba): write doc for all -type FaceLandmarks struct { - Eyebrows Eyebrows - Eyes Eyes - Ears Ears - Nose Nose - Mouth Mouth - Chin Chin - Forehead *r3.Vector -} - -type Eyebrows struct { - Left, Right Eyebrow -} - -type Eyebrow struct { - Top, Left, Right *r3.Vector -} - -type Eyes struct { - Left, Right Eye -} - -type Eye struct { - Left, Right, Top, Bottom, Center, Pupil *r3.Vector -} - -type Ears struct { - Left, Right *r3.Vector -} - -type Nose struct { - Left, Right, Top, Bottom, Tip *r3.Vector -} - -type Mouth struct { - Left, Center, Right, UpperLip, LowerLip *r3.Vector -} - -type Chin struct { - Left, Center, Right *r3.Vector -} - -// FaceLikelihoods expresses the likelihood of various aspects of a face. -type FaceLikelihoods struct { - // Joy is the likelihood that the face expresses joy. - Joy Likelihood - - // Sorrow is the likelihood that the face expresses sorrow. - Sorrow Likelihood - - // Anger is the likelihood that the face expresses anger. - Anger Likelihood - - // Surprise is the likelihood that the face expresses surprise. - Surprise Likelihood - - // UnderExposed is the likelihood that the face is under-exposed. - UnderExposed Likelihood - - // Blurred is the likelihood that the face is blurred. - Blurred Likelihood - - // Headwear is the likelihood that the face has headwear. - Headwear Likelihood -} - -func populateFaceLandmarks(landmarks []*pb.FaceAnnotation_Landmark, face *FaceLandmarks) { - for _, lm := range landmarks { - pos := &r3.Vector{ - X: float64(lm.Position.X), - Y: float64(lm.Position.Y), - Z: float64(lm.Position.Z), - } - switch lm.Type { - case pb.FaceAnnotation_Landmark_LEFT_OF_LEFT_EYEBROW: - face.Eyebrows.Left.Left = pos - case pb.FaceAnnotation_Landmark_RIGHT_OF_LEFT_EYEBROW: - face.Eyebrows.Left.Right = pos - case pb.FaceAnnotation_Landmark_LEFT_OF_RIGHT_EYEBROW: - face.Eyebrows.Right.Left = pos - case pb.FaceAnnotation_Landmark_RIGHT_OF_RIGHT_EYEBROW: - face.Eyebrows.Right.Right = pos - case pb.FaceAnnotation_Landmark_LEFT_EYEBROW_UPPER_MIDPOINT: - face.Eyebrows.Left.Top = pos - case pb.FaceAnnotation_Landmark_RIGHT_EYEBROW_UPPER_MIDPOINT: - face.Eyebrows.Right.Top = pos - case pb.FaceAnnotation_Landmark_MIDPOINT_BETWEEN_EYES: - face.Nose.Top = pos - case pb.FaceAnnotation_Landmark_NOSE_TIP: - face.Nose.Tip = pos - case pb.FaceAnnotation_Landmark_UPPER_LIP: - face.Mouth.UpperLip = pos - case pb.FaceAnnotation_Landmark_LOWER_LIP: - face.Mouth.LowerLip = pos - case pb.FaceAnnotation_Landmark_MOUTH_LEFT: - face.Mouth.Left = pos - case pb.FaceAnnotation_Landmark_MOUTH_RIGHT: - face.Mouth.Right = pos - case pb.FaceAnnotation_Landmark_MOUTH_CENTER: - face.Mouth.Center = pos - case pb.FaceAnnotation_Landmark_NOSE_BOTTOM_RIGHT: - face.Nose.Right = pos - case pb.FaceAnnotation_Landmark_NOSE_BOTTOM_LEFT: - face.Nose.Left = pos - case pb.FaceAnnotation_Landmark_NOSE_BOTTOM_CENTER: - face.Nose.Bottom = pos - case pb.FaceAnnotation_Landmark_LEFT_EYE: - face.Eyes.Left.Center = pos - case pb.FaceAnnotation_Landmark_RIGHT_EYE: - face.Eyes.Right.Center = pos - case pb.FaceAnnotation_Landmark_LEFT_EYE_TOP_BOUNDARY: - face.Eyes.Left.Top = pos - case pb.FaceAnnotation_Landmark_LEFT_EYE_RIGHT_CORNER: - face.Eyes.Left.Right = pos - case pb.FaceAnnotation_Landmark_LEFT_EYE_BOTTOM_BOUNDARY: - face.Eyes.Left.Bottom = pos - case pb.FaceAnnotation_Landmark_LEFT_EYE_LEFT_CORNER: - face.Eyes.Left.Left = pos - case pb.FaceAnnotation_Landmark_RIGHT_EYE_TOP_BOUNDARY: - face.Eyes.Right.Top = pos - case pb.FaceAnnotation_Landmark_RIGHT_EYE_RIGHT_CORNER: - face.Eyes.Right.Right = pos - case pb.FaceAnnotation_Landmark_RIGHT_EYE_BOTTOM_BOUNDARY: - face.Eyes.Right.Bottom = pos - case pb.FaceAnnotation_Landmark_RIGHT_EYE_LEFT_CORNER: - face.Eyes.Right.Left = pos - case pb.FaceAnnotation_Landmark_LEFT_EYE_PUPIL: - face.Eyes.Left.Pupil = pos - case pb.FaceAnnotation_Landmark_RIGHT_EYE_PUPIL: - face.Eyes.Right.Pupil = pos - case pb.FaceAnnotation_Landmark_LEFT_EAR_TRAGION: - face.Ears.Left = pos - case pb.FaceAnnotation_Landmark_RIGHT_EAR_TRAGION: - face.Ears.Right = pos - case pb.FaceAnnotation_Landmark_FOREHEAD_GLABELLA: - face.Forehead = pos - case pb.FaceAnnotation_Landmark_CHIN_GNATHION: - face.Chin.Center = pos - case pb.FaceAnnotation_Landmark_CHIN_LEFT_GONION: - face.Chin.Left = pos - case pb.FaceAnnotation_Landmark_CHIN_RIGHT_GONION: - face.Chin.Right = pos - default: - log.Printf("vision: ignoring unknown face annotation landmark %s", lm.Type) - } - } -} diff --git a/vendor/cloud.google.com/go/vision/image.go b/vendor/cloud.google.com/go/vision/image.go deleted file mode 100644 index 03bf579fc..000000000 --- a/vendor/cloud.google.com/go/vision/image.go +++ /dev/null @@ -1,91 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package vision - -import ( - "io" - "io/ioutil" - - pb "google.golang.org/genproto/googleapis/cloud/vision/v1" -) - -// An Image represents the contents of an image to run detection algorithms on, -// along with metadata. Images may be described by their raw bytes, or by a -// reference to a a Google Cloude Storage (GCS) object. -type Image struct { - // Exactly one of content and gcsURI will be non-zero. - content []byte // raw image bytes - uri string // URI of the form "gs://BUCKET/OBJECT", or public URL - - // Rect is a rectangle on the Earth's surface represented by the - // image. It is optional. - Rect *LatLngRect - - // LanguageHints is a list of languages to use for text detection. In most - // cases, leaving this field nil yields the best results since it enables - // automatic language detection. For languages based on the Latin alphabet, - // setting LanguageHints is not needed. In rare cases, when the language of - // the text in the image is known, setting a hint will help get better - // results (although it will be a significant hindrance if the hint is - // wrong). Text detection returns an error if one or more of the specified - // languages is not one of the supported languages (See - // https://cloud.google.com/translate/v2/translate-reference#supported_languages). - LanguageHints []string -} - -// NewImageFromReader reads the bytes of an image from rc, then closes rc. -// -// You may optionally set Rect and LanguageHints on the returned Image before -// using it. -func NewImageFromReader(r io.ReadCloser) (*Image, error) { - bytes, err := ioutil.ReadAll(r) - if err != nil { - return nil, err - } - if err := r.Close(); err != nil { - return nil, err - } - return &Image{content: bytes}, nil -} - -// NewImageFromURI returns an image that refers to an object in Google Cloud Storage -// (when the uri is of the form "gs://BUCKET/OBJECT") or at a public URL. -// -// You may optionally set Rect and LanguageHints on the returned Image before -// using it. -func NewImageFromURI(uri string) *Image { - return &Image{uri: uri} -} - -// toProtos converts the Image to the two underlying API protos it represents, -// pb.Image and pb.ImageContext. -func (img *Image) toProtos() (*pb.Image, *pb.ImageContext) { - var pimg *pb.Image - switch { - case img.content != nil: - pimg = &pb.Image{Content: img.content} - case img.uri != "": - pimg = &pb.Image{Source: &pb.ImageSource{ImageUri: img.uri}} - } - - var pctx *pb.ImageContext - if img.Rect != nil || len(img.LanguageHints) > 0 { - pctx = &pb.ImageContext{ - LatLongRect: img.Rect.toProto(), - LanguageHints: img.LanguageHints, - } - } - return pimg, pctx -} diff --git a/vendor/cloud.google.com/go/vision/image_test.go b/vendor/cloud.google.com/go/vision/image_test.go deleted file mode 100644 index 0aa554d12..000000000 --- a/vendor/cloud.google.com/go/vision/image_test.go +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package vision - -import ( - "reflect" - "testing" - - pb "google.golang.org/genproto/googleapis/cloud/vision/v1" -) - -func TestImageToProtos(t *testing.T) { - const url = "https://www.example.com/test.jpg" - langHints := []string{"en", "fr"} - img := NewImageFromURI("https://www.example.com/test.jpg") - img.LanguageHints = langHints - - goti, gotc := img.toProtos() - wanti := &pb.Image{Source: &pb.ImageSource{ImageUri: url}} - if !reflect.DeepEqual(goti, wanti) { - t.Errorf("got %+v, want %+v", goti, wanti) - } - wantc := &pb.ImageContext{ - LanguageHints: langHints, - } - if !reflect.DeepEqual(gotc, wantc) { - t.Errorf("got %+v, want %+v", gotc, wantc) - } -} diff --git a/vendor/cloud.google.com/go/vision/latlng.go b/vendor/cloud.google.com/go/vision/latlng.go deleted file mode 100644 index d553a3694..000000000 --- a/vendor/cloud.google.com/go/vision/latlng.go +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package vision - -import ( - pb "google.golang.org/genproto/googleapis/cloud/vision/v1" - llpb "google.golang.org/genproto/googleapis/type/latlng" -) - -// A LatLng is a point on the Earth's surface, represented with a latitude and longitude. -type LatLng struct { - // Lat is the latitude in degrees. It must be in the range [-90.0, +90.0]. - Lat float64 - // Lng is the longitude in degrees. It must be in the range [-180.0, +180.0]. - Lng float64 -} - -func (l LatLng) toProto() *llpb.LatLng { - return &llpb.LatLng{ - Latitude: l.Lat, - Longitude: l.Lng, - } -} - -func latLngFromProto(ll *llpb.LatLng) LatLng { - return LatLng{ - Lat: ll.Latitude, - Lng: ll.Longitude, - } -} - -// A LatLngRect is a rectangular area on the Earth's surface, represented by a -// minimum and maximum latitude and longitude. -type LatLngRect struct { - Min, Max LatLng -} - -func (r *LatLngRect) toProto() *pb.LatLongRect { - if r == nil { - return nil - } - return &pb.LatLongRect{ - MinLatLng: r.Min.toProto(), - MaxLatLng: r.Max.toProto(), - } -} diff --git a/vendor/cloud.google.com/go/vision/testdata/README.md b/vendor/cloud.google.com/go/vision/testdata/README.md deleted file mode 100644 index fd3ea341d..000000000 --- a/vendor/cloud.google.com/go/vision/testdata/README.md +++ /dev/null @@ -1,16 +0,0 @@ -The following files were copied from https://github.com/GoogleCloudPlatform/cloud-vision/tree/master/data: -cat.jpg -face.jpg -faulkner.jpg -mountain.jpg -no-text.jpg - -eiffel-tower.jpg is from -https://commons.wikimedia.org/wiki/File:Tour_Eiffel_Wikimedia_Commons_(cropped).jpg. - -google.png is from the Google home page: -https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png. - - - - diff --git a/vendor/cloud.google.com/go/vision/testdata/cat.jpg b/vendor/cloud.google.com/go/vision/testdata/cat.jpg deleted file mode 100644 index 76af906f0..000000000 Binary files a/vendor/cloud.google.com/go/vision/testdata/cat.jpg and /dev/null differ diff --git a/vendor/cloud.google.com/go/vision/testdata/eiffel-tower.jpg b/vendor/cloud.google.com/go/vision/testdata/eiffel-tower.jpg deleted file mode 100644 index 9c32b85af..000000000 Binary files a/vendor/cloud.google.com/go/vision/testdata/eiffel-tower.jpg and /dev/null differ diff --git a/vendor/cloud.google.com/go/vision/testdata/face.jpg b/vendor/cloud.google.com/go/vision/testdata/face.jpg deleted file mode 100644 index c0ee5580b..000000000 Binary files a/vendor/cloud.google.com/go/vision/testdata/face.jpg and /dev/null differ diff --git a/vendor/cloud.google.com/go/vision/testdata/faulkner.jpg b/vendor/cloud.google.com/go/vision/testdata/faulkner.jpg deleted file mode 100644 index 93b8ac3ad..000000000 Binary files a/vendor/cloud.google.com/go/vision/testdata/faulkner.jpg and /dev/null differ diff --git a/vendor/cloud.google.com/go/vision/testdata/google.png b/vendor/cloud.google.com/go/vision/testdata/google.png deleted file mode 100644 index 333bda937..000000000 Binary files a/vendor/cloud.google.com/go/vision/testdata/google.png and /dev/null differ diff --git a/vendor/cloud.google.com/go/vision/testdata/mountain.jpg b/vendor/cloud.google.com/go/vision/testdata/mountain.jpg deleted file mode 100644 index f9505df38..000000000 Binary files a/vendor/cloud.google.com/go/vision/testdata/mountain.jpg and /dev/null differ diff --git a/vendor/cloud.google.com/go/vision/testdata/no-text.jpg b/vendor/cloud.google.com/go/vision/testdata/no-text.jpg deleted file mode 100644 index 8b77575de..000000000 Binary files a/vendor/cloud.google.com/go/vision/testdata/no-text.jpg and /dev/null differ diff --git a/vendor/cloud.google.com/go/vision/vision.go b/vendor/cloud.google.com/go/vision/vision.go deleted file mode 100644 index 6aaabed83..000000000 --- a/vendor/cloud.google.com/go/vision/vision.go +++ /dev/null @@ -1,356 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package vision - -import ( - "image/color" - "math" - - "cloud.google.com/go/internal/version" - vkit "cloud.google.com/go/vision/apiv1" - "golang.org/x/net/context" - "google.golang.org/api/option" - pb "google.golang.org/genproto/googleapis/cloud/vision/v1" - cpb "google.golang.org/genproto/googleapis/type/color" -) - -// Scope is the OAuth2 scope required by the Google Cloud Vision API. -const Scope = "https://www.googleapis.com/auth/cloud-platform" - -// Client is a Google Cloud Vision API client. -type Client struct { - client *vkit.ImageAnnotatorClient -} - -// NewClient creates a new vision client. -// -// Deprecated: Use NewImageAnnotatorClient from cloud.google.com/go/vision/apiv1 instead. -func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error) { - c, err := vkit.NewImageAnnotatorClient(ctx, opts...) - if err != nil { - return nil, err - } - c.SetGoogleClientInfo("gccl", version.Repo) - return &Client{client: c}, nil -} - -// Close closes the client. -func (c *Client) Close() error { - return c.client.Close() -} - -// Annotate annotates multiple images, each with a potentially different set -// of features. -func (c *Client) Annotate(ctx context.Context, requests ...*AnnotateRequest) ([]*Annotations, error) { - var reqs []*pb.AnnotateImageRequest - for _, r := range requests { - reqs = append(reqs, r.toProto()) - } - res, err := c.client.BatchAnnotateImages(ctx, &pb.BatchAnnotateImagesRequest{Requests: reqs}) - if err != nil { - return nil, err - } - var results []*Annotations - for _, res := range res.Responses { - results = append(results, annotationsFromProto(res)) - } - return results, nil -} - -// An AnnotateRequest specifies an image to annotate and the features to look for in that image. -type AnnotateRequest struct { - // Image is the image to annotate. - Image *Image - // MaxFaces is the maximum number of faces to detect in the image. - // Specifying a number greater than zero enables face detection. - MaxFaces int - // MaxLandmarks is the maximum number of landmarks to detect in the image. - // Specifying a number greater than zero enables landmark detection. - MaxLandmarks int - // MaxLogos is the maximum number of logos to detect in the image. - // Specifying a number greater than zero enables logo detection. - MaxLogos int - // MaxLabels is the maximum number of labels to detect in the image. - // Specifying a number greater than zero enables labels detection. - MaxLabels int - // MaxTexts is the maximum number of separate pieces of text to detect in the - // image. Specifying a number greater than zero enables text detection. - MaxTexts int - // DocumentText specifies whether a dense text document OCR should be run - // on the image. When true, takes precedence over MaxTexts. - DocumentText bool - // SafeSearch specifies whether a safe-search detection should be run on the image. - SafeSearch bool - // ImageProps specifies whether image properties should be obtained for the image. - ImageProps bool - // Web specifies whether web annotations should be obtained for the image. - Web bool - // CropHints specifies whether crop hints should be computed for the image. - CropHints *CropHintsParams -} - -func (ar *AnnotateRequest) toProto() *pb.AnnotateImageRequest { - img, ictx := ar.Image.toProtos() - var features []*pb.Feature - add := func(typ pb.Feature_Type, max int) { - var mr int32 - if max > math.MaxInt32 { - mr = math.MaxInt32 - } else { - mr = int32(max) - } - features = append(features, &pb.Feature{Type: typ, MaxResults: mr}) - } - if ar.MaxFaces > 0 { - add(pb.Feature_FACE_DETECTION, ar.MaxFaces) - } - if ar.MaxLandmarks > 0 { - add(pb.Feature_LANDMARK_DETECTION, ar.MaxLandmarks) - } - if ar.MaxLogos > 0 { - add(pb.Feature_LOGO_DETECTION, ar.MaxLogos) - } - if ar.MaxLabels > 0 { - add(pb.Feature_LABEL_DETECTION, ar.MaxLabels) - } - if ar.MaxTexts > 0 { - add(pb.Feature_TEXT_DETECTION, ar.MaxTexts) - } - if ar.DocumentText { - add(pb.Feature_DOCUMENT_TEXT_DETECTION, 0) - } - if ar.SafeSearch { - add(pb.Feature_SAFE_SEARCH_DETECTION, 0) - } - if ar.ImageProps { - add(pb.Feature_IMAGE_PROPERTIES, 0) - } - if ar.Web { - add(pb.Feature_WEB_DETECTION, 0) - } - if ar.CropHints != nil { - add(pb.Feature_CROP_HINTS, 0) - if ictx == nil { - ictx = &pb.ImageContext{} - } - ictx.CropHintsParams = &pb.CropHintsParams{ - AspectRatios: ar.CropHints.AspectRatios, - } - } - return &pb.AnnotateImageRequest{ - Image: img, - Features: features, - ImageContext: ictx, - } -} - -// CropHintsParams are parameters for a request for crop hints. -type CropHintsParams struct { - // Aspect ratios for desired crop hints, representing the ratio of the - // width to the height of the image. For example, if the desired aspect - // ratio is 4:3, the corresponding float value should be 1.33333. If not - // specified, the best possible crop is returned. The number of provided - // aspect ratios is limited to a maximum of 16; any aspect ratios provided - // after the 16th are ignored. - AspectRatios []float32 -} - -// Called for a single image and a single feature. -func (c *Client) annotateOne(ctx context.Context, req *AnnotateRequest) (*Annotations, error) { - annsSlice, err := c.Annotate(ctx, req) - if err != nil { - return nil, err - } - anns := annsSlice[0] - // When there is only one image and one feature, the Annotations.Error field is - // unambiguously about that one detection, so we "promote" it to the error return value. - return anns, anns.Error -} - -// TODO(jba): add examples for all single-feature functions (below). - -// DetectFaces performs face detection on the image. -// At most maxResults results are returned. -func (c *Client) DetectFaces(ctx context.Context, img *Image, maxResults int) ([]*FaceAnnotation, error) { - anns, err := c.annotateOne(ctx, &AnnotateRequest{Image: img, MaxFaces: maxResults}) - if err != nil { - return nil, err - } - return anns.Faces, nil -} - -// DetectLandmarks performs landmark detection on the image. -// At most maxResults results are returned. -func (c *Client) DetectLandmarks(ctx context.Context, img *Image, maxResults int) ([]*EntityAnnotation, error) { - anns, err := c.annotateOne(ctx, &AnnotateRequest{Image: img, MaxLandmarks: maxResults}) - if err != nil { - return nil, err - } - return anns.Landmarks, nil -} - -// DetectLogos performs logo detection on the image. -// At most maxResults results are returned. -func (c *Client) DetectLogos(ctx context.Context, img *Image, maxResults int) ([]*EntityAnnotation, error) { - anns, err := c.annotateOne(ctx, &AnnotateRequest{Image: img, MaxLogos: maxResults}) - if err != nil { - return nil, err - } - return anns.Logos, nil -} - -// DetectLabels performs label detection on the image. -// At most maxResults results are returned. -func (c *Client) DetectLabels(ctx context.Context, img *Image, maxResults int) ([]*EntityAnnotation, error) { - anns, err := c.annotateOne(ctx, &AnnotateRequest{Image: img, MaxLabels: maxResults}) - if err != nil { - return nil, err - } - return anns.Labels, nil -} - -// DetectTexts performs text detection on the image. -// At most maxResults results are returned. -func (c *Client) DetectTexts(ctx context.Context, img *Image, maxResults int) ([]*EntityAnnotation, error) { - anns, err := c.annotateOne(ctx, &AnnotateRequest{Image: img, MaxTexts: maxResults}) - if err != nil { - return nil, err - } - return anns.Texts, nil -} - -// DetectDocumentText performs full text (OCR) detection on the image. -func (c *Client) DetectDocumentText(ctx context.Context, img *Image) (*TextAnnotation, error) { - anns, err := c.annotateOne(ctx, &AnnotateRequest{Image: img, DocumentText: true}) - if err != nil { - return nil, err - } - return anns.FullText, nil -} - -// DetectSafeSearch performs safe-search detection on the image. -func (c *Client) DetectSafeSearch(ctx context.Context, img *Image) (*SafeSearchAnnotation, error) { - anns, err := c.annotateOne(ctx, &AnnotateRequest{Image: img, SafeSearch: true}) - if err != nil { - return nil, err - } - return anns.SafeSearch, nil -} - -// DetectImageProps computes properties of the image. -func (c *Client) DetectImageProps(ctx context.Context, img *Image) (*ImageProps, error) { - anns, err := c.annotateOne(ctx, &AnnotateRequest{Image: img, ImageProps: true}) - if err != nil { - return nil, err - } - return anns.ImageProps, nil -} - -// DetectWeb computes a web annotation on the image. -func (c *Client) DetectWeb(ctx context.Context, img *Image) (*WebDetection, error) { - anns, err := c.annotateOne(ctx, &AnnotateRequest{Image: img, Web: true}) - if err != nil { - return nil, err - } - return anns.Web, nil -} - -// CropHints computes crop hints for the image. -func (c *Client) CropHints(ctx context.Context, img *Image, params *CropHintsParams) ([]*CropHint, error) { - // A nil AnnotateRequest.CropHints means do not perform CropHints. But - // here the user is explicitly asking for CropHints, so treat nil as - // an empty CropHintsParams. - if params == nil { - params = &CropHintsParams{} - } - anns, err := c.annotateOne(ctx, &AnnotateRequest{Image: img, CropHints: params}) - if err != nil { - return nil, err - } - return anns.CropHints, nil -} - -// A Likelihood is an approximate representation of a probability. -type Likelihood int - -const ( - // LikelihoodUnknown means the likelihood is unknown. - LikelihoodUnknown = Likelihood(pb.Likelihood_UNKNOWN) - - // VeryUnlikely means the image is very unlikely to belong to the feature specified. - VeryUnlikely = Likelihood(pb.Likelihood_VERY_UNLIKELY) - - // Unlikely means the image is unlikely to belong to the feature specified. - Unlikely = Likelihood(pb.Likelihood_UNLIKELY) - - // Possible means the image possibly belongs to the feature specified. - Possible = Likelihood(pb.Likelihood_POSSIBLE) - - // Likely means the image is likely to belong to the feature specified. - Likely = Likelihood(pb.Likelihood_LIKELY) - - // VeryLikely means the image is very likely to belong to the feature specified. - VeryLikely = Likelihood(pb.Likelihood_VERY_LIKELY) -) - -// A Property is an arbitrary name-value pair. -type Property struct { - Name string - Value string -} - -func propertyFromProto(p *pb.Property) Property { - return Property{Name: p.Name, Value: p.Value} -} - -// ColorInfo consists of RGB channels, score and fraction of -// image the color occupies in the image. -type ColorInfo struct { - // RGB components of the color. - Color color.NRGBA64 - - // Score is the image-specific score for this color, in the range [0, 1]. - Score float32 - - // PixelFraction is the fraction of pixels the color occupies in the image, - // in the range [0, 1]. - PixelFraction float32 -} - -func colorInfoFromProto(ci *pb.ColorInfo) *ColorInfo { - return &ColorInfo{ - Color: colorFromProto(ci.Color), - Score: ci.Score, - PixelFraction: ci.PixelFraction, - } -} - -// Should this go into protobuf/ptypes? The color proto is in google/types, so -// not specific to this API. -func colorFromProto(c *cpb.Color) color.NRGBA64 { - // Convert a color component from [0.0, 1.0] to a uint16. - cvt := func(f float32) uint16 { return uint16(f*math.MaxUint16 + 0.5) } - - var alpha float32 = 1 - if c.Alpha != nil { - alpha = c.Alpha.Value - } - return color.NRGBA64{ - R: cvt(c.Red), - G: cvt(c.Green), - B: cvt(c.Blue), - A: cvt(alpha), - } -} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/.travis.yml b/vendor/github.com/Azure/azure-sdk-for-go/.travis.yml index 0496bef54..33ec1e653 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/.travis.yml +++ b/vendor/github.com/Azure/azure-sdk-for-go/.travis.yml @@ -1,10 +1,9 @@ sudo: false language: go - go: - - 1.7 - 1.8 + - 1.9 install: - go get -u github.com/golang/lint/golint @@ -16,21 +15,30 @@ install: script: - bash rungas.sh + - grep -L -r --include *.go --exclude-dir vendor -P "Copyright (\d{4}|\(c\)) Microsoft" ./ | tee /dev/stderr | test -z "$(< /dev/stdin)" - test -z "$(gofmt -s -l $(find ./arm/* -type d -print) | tee /dev/stderr)" - test -z "$(gofmt -s -l -w management | tee /dev/stderr)" - test -z "$(gofmt -s -l -w storage | tee /dev/stderr)" - test -z "$(gofmt -s -l -w Gododir | tee /dev/stderr)" + - test -z "$(gofmt -s -l -w $(find ./datalake-store/* -type d -print) | tee /dev/stderr)" + # - test -z "$(gofmt -s -l -w $(find ./dataplane/* -type d -print) | tee /dev/stderr)" - test -z "$(go build $(find ./* -type d -print | grep -v '^./vendor$' | grep -v '^./storage$') | tee /dev/stderr)" - test -z "$(go vet $(find ./arm/* -type d -print) | tee /dev/stderr)" - test -z "$(golint ./arm/... | tee /dev/stderr)" - go build ./arm/examples/... - go test -v ./management/... + - go test -v ./arm/... - go test -v ./storage/... + - go test -v ./datalake-store/... + - go test -v ./dataplane/... - test -z "$(golint ./management/... | grep -v 'should have comment' | grep -v 'stutters' | tee /dev/stderr)" - test -z "$(golint ./storage/... | tee /dev/stderr)" + # - test -z "$(golint ./datalake-store/... | tee /dev/stderr)" + # - test -z "$(golint ./dataplane/... | tee /dev/stderr)" - go vet ./management/... - go vet ./storage/... + - go vet ./datalake-store/... + - go vet ./dataplane/... - test -z "$(golint ./Gododir/... | tee /dev/stderr)" - go vet ./Gododir/... - - bash buildTerraform.sh - \ No newline at end of file + diff --git a/vendor/github.com/Azure/azure-sdk-for-go/CHANGELOG.md b/vendor/github.com/Azure/azure-sdk-for-go/CHANGELOG.md index aa253feea..f0753307c 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/CHANGELOG.md +++ b/vendor/github.com/Azure/azure-sdk-for-go/CHANGELOG.md @@ -1,10 +1,106 @@ # CHANGELOG -## `v10.1.0-beta` +## `v11.0.0-beta` + ### ARM | api | version | note | |:------------------------------------|:-------------------|:------------------------------------| +| arm/analysisservices | 2017-08-01-beta | update | +| arm/batch | 2017-05-01 | update | +| arm/cdn | 2017-04-02 | update | +| arm/cognitiveservices | 2017-04-18 | update | +| arm/compute | multiple | update | +| arm/containerregistry | 2017-10-01 | update | +| arm/customerinsights | 2017-04-26 | update | +| arm/eventgrid | 2017-09-15-preview | update | +| arm/eventhub | 2017-04-01 | update | +| arm/graphrbac | 1.6 | update | +| arm/iothub | 2017-07-01 | update | +| arm/keyvault | 2016-10-01 | update | +| arm/marketplaceordering | 2015-06-01 | new | +| arm/opertionalinsights | multiple | update | +| arm/operationsmanagement | 2015-11-01-preview | new | +| arm/recoveryservices | multiple | update | +| arm/recoveryservicesbackup | multiple | update | +| arm/redis | 2017-02-01 | update | +| arm/relay | 2017-04-01 | update | +| arm/resourcehealth | 017-07-01 | update | +| arm/resources/resources | 2017-05-10 | update | +| arm/servicebus | 2017-04-01 | update | +| arm/storage | 2017-06-01 | update | +| arm/streamanalytics | 2016-03-01 | update | +| arm/trafficmanager | 2017-09-01-preview | update | +| arm/visualstudio | 2014-04-01-preview | update | + +### Data plane + +| dataplane/cognitiveservices/face | 1.0 | new | +| dataplane/cognitiveservices/textanalytics | v2.0 | new | + +### Storage + +- Support for queue SAS. +- Refactored GetSASURI blob operation to be more complete. +- Added a SAS client for some operations (`container.Exists()`, and `container.ListBlobs()`) + +- [Azure REST API specs](https://github.com/Azure/azure-rest-api-specs) commit: 0c2a12b50d8598f68d6715b507f7dd53e163407e +- [AutoRest Go Generator](https://github.com/Azure/autorest.go) commit: 678110f012c7cde6528a1e61d125bdc7ea636b7f + +## `v10.3.1-beta` +- Added Apache notice file. + +### ARM +- Fixed package name on some `version.go` files. + +### Storage +- Fixed bug related to SAS URI generation and storage emulator support. + +### Generated code notes +- [Azure REST API specs](https://github.com/Azure/azure-rest-api-specs) commit: ad55af74f3f0e2b390a4306532528168ba742fef +- [AutoRest Go extension](https://github.com/Azure/autorest.go) commit: 28a531c59c82cf67bc90c87095c1d34a936461b4 + +## `v10.3.0-beta` +### ARM + +| api | version | note | +|:------------------------------------|:-------------------|:------------------------------------| +| arm/containerinstance | 2017-08-01-preview | new | +| arm/eventgrid | 2017-06-15-preview | new | + +### ASM +- Marked as in mainteinance mode. +- Added Go 1.7 build tags. + +### Storage +- Support for Go 1.7 and Go 1.6 (except table batch operation tests). + +### Generated code notes +- [Azure REST API specs](https://github.com/Azure/azure-rest-api-specs) commit: ad55af74f3f0e2b390a4306532528168ba742fef +- [AutoRest](https://github.com/Azure/autorest) commit: cfb296f153f948f85afab637f7212fcfdc4a8bbb + +## `v10.2.1-beta` +- Fixes polymorphic structs in `mysql` and `postgresql` packages. + +## `v10.2.0-beta` +### ARM + +| api | version | note | +|:------------------------------------|:-------------------|:------------------------------------| +| arm/cosmos-db | 2015-04-08 | new | +| arm/mysql | 2017-04-30-preview | new | +| arm/postgresql | 2017-04-30-preview | new | + +### Storage +- Bug fixes. + +### Generated code notes +- [Azure REST API specs](https://github.com/Azure/azure-rest-api-specs) commit: 485ded7560c6309efb2f795ec6e46b7436dc6fdb +- [AutoRest](https://github.com/Azure/autorest) commit: c180952b850e677a8624655abeaded307d95cae3 + +## `v10.1.0-beta` +### ARM + | arm/recoveryservicessiterecovery | 2016-08-10 | new | | arm/managedapplications | 2016-09-01-preview | new | | arm/storsimple8000series | 2017-06-01 | new | diff --git a/vendor/github.com/Azure/azure-sdk-for-go/Gododir/gen.go b/vendor/github.com/Azure/azure-sdk-for-go/Gododir/gen.go index d6839cfe8..bd92b5b01 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/Gododir/gen.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/Gododir/gen.go @@ -1,5 +1,19 @@ package main +// Copyright 2017 Microsoft Corporation +// +// 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. + // To run this package... // go run gen.go -- --sdk 3.14.16 @@ -11,527 +25,294 @@ import ( "os/exec" "path/filepath" "strings" + "sync" + "time" do "gopkg.in/godo.v2" ) type service struct { - Name string - Fullname string - Namespace string - Packages []string - TaskName string - Version string - Input string - Output string - Swagger string - SubServices []service - Modeler modeler - Extension extension + Name string + Fullname string + Namespace string + TaskName string + Tag string + Input string + Output string } -type modeler string - -const ( - swagger modeler = "Swagger" - compSwagger modeler = "CompositeSwagger" -) - -type extension string - -const ( - md extension = "md" - json extension = "json" -) - const ( testsSubDir = "tests" ) type mapping struct { - Plane string - InputPrefix string + PlaneInput string + PlaneOutput string Services []service } +type failList []string + +type failLocker struct { + sync.Mutex + failList +} + var ( + start time.Time gopath = os.Getenv("GOPATH") sdkVersion string autorestDir string swaggersDir string testGen bool - deps do.S + deps do.P services = []*service{} servicesMapping = []mapping{ { - Plane: "arm", - InputPrefix: "arm-", + PlaneOutput: "arm", + PlaneInput: "resource-manager", Services: []service{ + {Name: "advisor"}, + {Name: "analysisservices"}, + // { + // Autorest Bug, duplicate files + // Name: "apimanagement", + // }, + {Name: "appinsights"}, + {Name: "authorization"}, + {Name: "automation"}, + // { + // Name: "commerce", + // Input: "azsadmin/resource-manager/commerce", + // Output: "azsadmin/commerce", + // }, + // { + // Name: "fabric", + // Input: "azsadmin/resource-manager/fabric", + // Output: "azsadmin/fabric", + // }, + // { + // Name: "infrastructureinsights", + // Input: "azsadmin/resource-manager/InfrastructureInsights", + // Output: "azsadmin/infrastructureinsights", + // }, + {Name: "batch"}, + {Name: "billing"}, + {Name: "cdn"}, + {Name: "cognitiveservices"}, + {Name: "commerce"}, + {Name: "compute"}, { - Name: "advisor", - Version: "2017-04-19", + Name: "containerservice", + Input: "compute/resource-manager", + Tag: "package-container-service-2017-01", + }, + {Name: "consumption"}, + {Name: "containerinstance"}, + {Name: "containerregistry"}, + {Name: "cosmos-db"}, + {Name: "customer-insights"}, + { + Name: "account", + Input: "datalake-analytics/resource-manager", + Output: "datalake-analytics/account", }, { - Name: "analysisservices", - Version: "2016-05-16", + Name: "account", + Input: "datalake-store/resource-manager", + Output: "datalake-store/account", + }, + {Name: "devtestlabs"}, + {Name: "dns"}, + {Name: "eventgrid"}, + {Name: "eventhub"}, + {Name: "hdinsight"}, + {Name: "intune"}, + {Name: "iothub"}, + {Name: "keyvault"}, + {Name: "logic"}, + { + Name: "commitmentplans", + Input: "machinelearning/resource-manager", + Output: "machinelearning/commitmentplans", + Tag: "package-commitmentPlans-2016-05-preview", }, { - Name: "apimanagement", - Swagger: "compositeApiManagementClient", - Modeler: compSwagger, + Name: "webservices", + Input: "machinelearning/resource-manager", + Output: "machinelearning/webservices", + Tag: "package-webservices-2017-01", + }, + {Name: "marketplaceordering"}, + {Name: "mediaservices"}, + {Name: "mobileengagement"}, + {Name: "monitor"}, + {Name: "mysql"}, + {Name: "network"}, + {Name: "notificationhubs"}, + {Name: "operationalinsights"}, + {Name: "operationsmanagement"}, + {Name: "postgresql"}, + {Name: "powerbiembedded"}, + {Name: "recoveryservices"}, + {Name: "recoveryservicesbackup"}, + {Name: "recoveryservicessiterecovery"}, + { + Name: "redis", + Tag: "package-2016-04", + }, + {Name: "relay"}, + {Name: "resourcehealth"}, + { + Name: "features", + Input: "resources/resource-manager", + Output: "resources/features", + Tag: "package-features-2015-12", }, { - Name: "appinsights", - Swagger: "compositeAppInsightsManagementClient", - Modeler: compSwagger, + Name: "links", + Input: "resources/resource-manager", + Output: "resources/links", + Tag: "package-links-2016-09", }, { - Name: "authorization", - Version: "2015-07-01", + Name: "locks", + Input: "resources/resource-manager", + Output: "resources/locks", + Tag: "package-locks-2016-09", }, { - Name: "automation", - Swagger: "compositeAutomation", - Modeler: compSwagger, + Name: "managedapplications", + Input: "resources/resource-manager", + Output: "resources/managedapplications", + Tag: "package-managedapplications-2016-09", }, { - Name: "batch", - Version: "2017-01-01", - Swagger: "BatchManagement", + Name: "policy", + Input: "resources/resource-manager", + Output: "resources/policy", + Tag: "package-policy-2016-12", }, { - Name: "billing", - Version: "2017-04-24-preview", + Name: "resources", + Input: "resources/resource-manager", + Output: "resources/resources", + Tag: "package-resources-2017-05", }, { - Name: "cdn", - Version: "2016-10-02", - }, - { - // bug in AutoRest (duplicated files) - Name: "cognitiveservices", - // Version: "2017-04-18", - Version: "2016-02-01-preview", - }, - { - Name: "commerce", - Version: "2015-06-01-preview", - }, - { - Name: "compute", - Version: "2016-04-30-preview", - }, - { - Name: "containerservice", - Version: "2017-01-31", - Swagger: "containerService", - Input: "compute", - }, - { - Name: "consumption", - Version: "2017-04-24-preview", - }, - { - Name: "containerregistry", - Version: "2017-03-01", - }, - { - Name: "customer-insights", - Version: "2017-01-01", - }, - { - Name: "datalake-analytics", - SubServices: []service{ - { - Name: "account", - Version: "2016-11-01", - }, - }, - }, - { - Name: "datalake-store", - SubServices: []service{ - { - Name: "account", - Version: "2016-11-01", - }, - }, - }, - { - Name: "devtestlabs", - Version: "2016-05-15", - Swagger: "DTL", - }, - { - Name: "disk", - Version: "2016-04-30-preview", - Swagger: "disk", - Input: "compute", - }, - { - Name: "dns", - Version: "2016-04-01", - }, - { - Name: "documentdb", - Version: "2015-04-08", - }, - { - Name: "eventhub", - Version: "2015-08-01", - Swagger: "EventHub", - }, - { - Name: "graphrbac", - Swagger: "compositeGraphRbacManagementClient", - Modeler: compSwagger, - }, - { - Name: "hdinsight", - Swagger: "compositeHDInsight", - Modeler: compSwagger, - }, - { - Name: "insights", - Swagger: "compositeInsightsManagementClient", - Modeler: compSwagger, - }, - { - Name: "intune", - Version: "2015-01-14-preview", - }, - { - Name: "iothub", - Version: "2016-02-03", - }, - { - Name: "keyvault", - Version: "2015-06-01", - }, - { - Name: "logic", - Version: "2016-06-01", - }, - { - Name: "machinelearning", - SubServices: []service{ - { - Name: "commitmentplans", - Version: "2016-05-01-preview", - Swagger: "commitmentPlans", - Input: "machinelearning", - }, - { - Name: "webservices", - Version: "2017-01-01", - Input: "machinelearning", - }, - }, - }, - { - Name: "mediaservices", - Version: "2015-10-01", - Swagger: "media", - }, - { - Name: "mobileengagement", - Version: "2014-12-01", - Swagger: "mobile-engagement", - }, - { - Name: "monitor", - Swagger: "compositeMonitorManagementClient", - Modeler: compSwagger, - }, - { - Name: "network", - Swagger: "compositeNetworkClient", - Modeler: compSwagger, - }, - { - Name: "notificationhubs", - Version: "2017-04-01", - }, - { - // bug in the Go generator https://github.com/Azure/autorest/issues/2219 - Name: "operationalinsights", - // Swagger: "compositeOperationalInsights", - // Modeler: compSwagger, - Version: "2015-11-01-preview", - }, - { - Name: "powerbiembedded", - Version: "2016-01-29", - }, - { - // bug in the go generator - Name: "recoveryservices", - // Swagger: "compositeRecoveryServicesClient", - // Modeler: compSwagger, - Version: "2016-06-01", - Swagger: "vaults", - }, - { - // When using the readme.md, there is an exception in the modeler - Name: "recoveryservicesbackup", - Version: "2016-12-01", - // Swagger: "readme", - // Extension: md, - Swagger: "backupManagement", - }, - { - Name: "recoveryservicessiterecovery", - Version: "2016-08-10", - Swagger: "service", - }, - { - Name: "redis", - Version: "2016-04-01", - }, - { - Name: "relay", - Version: "2016-07-01", - }, - { - Name: "resourcehealth", - Version: "2015-01-01", - }, - { - Name: "resources", - SubServices: []service{ - { - Name: "features", - Version: "2015-12-01", - }, - { - Name: "links", - Version: "2016-09-01", - }, - { - Name: "locks", - Version: "2016-09-01", - }, - { - Name: "managedapplications", - Version: "2016-09-01-preview", - }, - { - Name: "policy", - Version: "2016-12-01", - }, - { - Name: "resources", - Version: "2016-09-01", - // Version: "2017-05-10", - }, - { - Name: "subscriptions", - Version: "2016-06-01", - }, - }, - }, - { - Name: "scheduler", - Version: "2016-03-01", - }, - { - Name: "search", - Version: "2015-08-19", - }, - { - Name: "servermanagement", - Version: "2016-07-01-preview", - }, - { - Name: "service-map", - Version: "2015-11-01-preview", - Swagger: "arm-service-map", - }, - { - Name: "servicebus", - Version: "2015-08-01", - }, - { - Name: "servicefabric", - Version: "2016-09-01", - }, - { - Name: "sql", - Swagger: "compositeSql", - Modeler: compSwagger, - }, - { - Name: "storage", - Version: "2016-12-01", - }, - { - Name: "storageimportexport", - Version: "2016-11-01", - }, - { - Name: "storsimple8000series", - Version: "2017-06-01", - Swagger: "storsimple", - }, - { - Name: "streamanalytics", - Swagger: "compositeStreamAnalytics", - Modeler: compSwagger, + Name: "subscriptions", + Input: "resources/resource-manager", + Output: "resources/subscriptions", + Tag: "package-subscriptions-2016-06", }, + {Name: "scheduler"}, + {Name: "search"}, + {Name: "servermanagement"}, + {Name: "service-map"}, + {Name: "servicebus"}, + {Name: "servicefabric"}, + {Name: "sql"}, + {Name: "storage"}, + {Name: "storageimportexport"}, + {Name: "storsimple8000series"}, + {Name: "streamanalytics"}, // { // error in the modeler - // Name: "timeseriesinsights", - // Version: "2017-02-28-preview", + // https://github.com/Azure/autorest/issues/2579 + // Name: "timeseriesinsights", // }, + {Name: "trafficmanager"}, + {Name: "visualstudio"}, + {Name: "web"}, + }, + }, + { + PlaneOutput: "dataplane", + PlaneInput: "data-plane", + Services: []service{ + {Name: "keyvault"}, { - Name: "trafficmanager", - Version: "2015-11-01", + Name: "face", + Input: "cognitiveservices/data-plane/Face", + Output: "cognitiveservices/face", }, { - Name: "web", - Swagger: "compositeWebAppClient", - Modeler: compSwagger, + Name: "textanalytics", + Input: "cognitiveservices/data-plane/TextAnalytics", + Output: "cognitiveservices/textanalytics", }, }, }, { - Plane: "dataplane", - InputPrefix: "", + PlaneInput: "data-plane", Services: []service{ - // { - // Name: "batch", - // Version: "2017-01-01.4.0", - // Swagger: "BatchService", - // }, - // { - // Name: "insights", - // Swagger: "compositeInsightsClient", - // Modeler: compSwagger, - // }, { - Name: "keyvault", - Version: "2016-10-01", + Name: "filesystem", + Input: "datalake-store/data-plane", + Output: "datalake-store/filesystem", }, - // { - // Name: "monitor", - // Swagger: "compositeMonitorClient", - // Modeler: compSwagger, - // }, - // { - // Name: "search", - // SubServices: []service{ - // { - // Name: "searchindex", - // Version: "2016-09-01", - // Input: "search", - // }, - // { - // Name: "searchservice", - // Version: "2016-09-01", - // Input: "search", - // }, - // }, - // }, - // { - // Name: "servicefabric", - // Version: "2016-01-28", - // }, }, }, { - Plane: "", - InputPrefix: "arm-", + PlaneOutput: "arm", + PlaneInput: "data-plane", Services: []service{ - { - Name: "datalake-store", - SubServices: []service{ - { - Name: "filesystem", - Version: "2016-11-01", - }, - }, - }, - // { - // Name: "datalake-analytics", - // SubServices: []service{ - // { - // Name: "catalog", - // Version: "2016-11-01", - // }, - // { - // Name: "job", - // Version: "2016-11-01", - // }, - // }, - // }, + {Name: "graphrbac"}, }, }, } + fails = failLocker{} ) -func main() { +func init() { + start = time.Now() for _, swaggerGroup := range servicesMapping { swg := swaggerGroup for _, service := range swg.Services { s := service - initAndAddService(&s, swg.InputPrefix, swg.Plane) + initAndAddService(&s, swg.PlaneInput, swg.PlaneOutput) } } +} + +func main() { do.Godo(tasks) } -func initAndAddService(service *service, inputPrefix, plane string) { - if service.Swagger == "" { - service.Swagger = service.Name +func initAndAddService(service *service, planeInput, planeOutput string) { + if service.Input == "" { + service.Input = service.Name } - if service.Extension == "" { - service.Extension = json + path := []string{service.Input} + if service.Input == service.Name { + path = append(path, planeInput) } - packages := append(service.Packages, service.Name) - service.TaskName = fmt.Sprintf("%s>%s", plane, strings.Join(packages, ">")) - service.Fullname = filepath.Join(plane, strings.Join(packages, string(os.PathSeparator))) - if service.Modeler == compSwagger { - service.Input = filepath.Join(inputPrefix+strings.Join(packages, string(os.PathSeparator)), service.Swagger) - } else { - input := []string{} - if service.Input == "" { - input = append(input, inputPrefix+strings.Join(packages, string(os.PathSeparator))) - } else { - input = append(input, inputPrefix+service.Input) - } - input = append(input, service.Version) - if service.Extension == json { - input = append(input, "swagger") - } - input = append(input, service.Swagger) - service.Input = filepath.Join(input...) - service.Modeler = swagger + path = append(path, "readme.md") + service.Input = filepath.Join(path...) + + if service.Output == "" { + service.Output = service.Name } + service.TaskName = fmt.Sprintf("%s>%s", planeOutput, strings.Join(strings.Split(service.Output, "/"), ">")) + service.Fullname = filepath.Join(planeOutput, service.Output) service.Namespace = filepath.Join("github.com", "Azure", "azure-sdk-for-go", service.Fullname) service.Output = filepath.Join(gopath, "src", service.Namespace) - if service.SubServices != nil { - for _, subs := range service.SubServices { - ss := subs - ss.Packages = append(ss.Packages, service.Name) - initAndAddService(&ss, inputPrefix, plane) - } - } else { - services = append(services, service) - deps = append(deps, service.TaskName) - } + services = append(services, service) + deps = append(deps, service.TaskName) } func tasks(p *do.Project) { - p.Task("default", do.S{"setvars", "generate:all", "management"}, nil) + p.Task("default", do.S{"setvars", "generate:all", "management", "report"}, nil) p.Task("setvars", nil, setVars) p.Use("generate", generateTasks) p.Use("gofmt", formatTasks) p.Use("gobuild", buildTasks) p.Use("golint", lintTasks) p.Use("govet", vetTasks) - p.Use("delete", deleteTasks) p.Task("management", do.S{"setvars"}, managementVersion) + p.Task("addVersion", nil, addVersion) + p.Task("report", nil, report) } func setVars(c *do.Context) { @@ -541,7 +322,7 @@ func setVars(c *do.Context) { sdkVersion = c.Args.MustString("s", "sdk", "version") autorestDir = c.Args.MayString("", "a", "ar", "autorest") - swaggersDir = c.Args.MayString("C:/", "w", "sw", "swagger") + swaggersDir = c.Args.MayString("", "w", "sw", "swagger") testGen = c.Args.MayBool(false, "t", "testgen") } @@ -550,47 +331,52 @@ func generateTasks(p *do.Project) { } func generate(service *service) { - codegen := "Go" + codegen := "--go" if testGen { - codegen = "Go.TestGen" + codegen = "--go.testgen" service.Fullname = strings.Join([]string{service.Fullname, testsSubDir}, string(os.PathSeparator)) service.Output = filepath.Join(service.Output, testsSubDir) } fmt.Printf("Generating %s...\n\n", service.Fullname) - delete(service) + fullInput := "" + if swaggersDir == "" { + fullInput = fmt.Sprintf("https://raw.githubusercontent.com/Azure/azure-rest-api-specs/current/specification/%s", service.Input) + } else { + fullInput = filepath.Join(swaggersDir, "azure-rest-api-specs", "specification", service.Input) + } execCommand := "autorest" commandArgs := []string{ - "-Input", filepath.Join(swaggersDir, "azure-rest-api-specs", service.Input+"."+string(service.Extension)), - "-CodeGenerator", codegen, - "-Header", "MICROSOFT_APACHE", - "-Namespace", service.Name, - "-OutputDirectory", service.Output, - "-Modeler", string(service.Modeler), - "-PackageVersion", sdkVersion, + fullInput, + codegen, + "--license-header=MICROSOFT_APACHE_NO_VERSION", + fmt.Sprintf("--namespace=%s", service.Name), + fmt.Sprintf("--output-folder=%s", service.Output), + fmt.Sprintf("--package-version=%s", sdkVersion), + "--clear-output-folder", + "--can-clear-output-folder", + } + if service.Tag != "" { + commandArgs = append(commandArgs, fmt.Sprintf("--tag=%s", service.Tag)) } if testGen { commandArgs = append([]string{"-LEGACY"}, commandArgs...) } - // default to the current directory - workingDir := "" - if autorestDir != "" { // if an AutoRest directory was specified then assume // the caller wants to use a locally-built version. - execCommand = "gulp" - commandArgs = append([]string{"autorest"}, commandArgs...) - workingDir = filepath.Join(autorestDir, "autorest") + commandArgs = append(commandArgs, fmt.Sprintf("--use=%s", autorestDir)) } autorest := exec.Command(execCommand, commandArgs...) - autorest.Dir = workingDir - if err := runner(autorest); err != nil { - panic(fmt.Errorf("Autorest error: %s", err)) + fmt.Println(commandArgs) + + if _, stderr, err := runner(autorest); err != nil { + fails.Add(fmt.Sprintf("%s: autorest error: %s: %s", service.Fullname, err, stderr)) } format(service) @@ -599,18 +385,6 @@ func generate(service *service) { vet(service) } -func deleteTasks(p *do.Project) { - addTasks(format, p) -} - -func delete(service *service) { - fmt.Printf("Deleting %s...\n\n", service.Fullname) - err := os.RemoveAll(service.Output) - if err != nil { - panic(fmt.Sprintf("Error deleting %s : %s\n", service.Output, err)) - } -} - func formatTasks(p *do.Project) { addTasks(format, p) } @@ -618,9 +392,9 @@ func formatTasks(p *do.Project) { func format(service *service) { fmt.Printf("Formatting %s...\n\n", service.Fullname) gofmt := exec.Command("gofmt", "-w", service.Output) - err := runner(gofmt) + _, stderr, err := runner(gofmt) if err != nil { - panic(fmt.Errorf("gofmt error: %s", err)) + fails.Add(fmt.Sprintf("%s: gofmt error:%s: %s", service.Fullname, err, stderr)) } } @@ -631,9 +405,9 @@ func buildTasks(p *do.Project) { func build(service *service) { fmt.Printf("Building %s...\n\n", service.Fullname) gobuild := exec.Command("go", "build", service.Namespace) - err := runner(gobuild) + _, stderr, err := runner(gobuild) if err != nil { - panic(fmt.Errorf("go build error: %s", err)) + fails.Add(fmt.Sprintf("%s: build error: %s: %s", service.Fullname, err, stderr)) } } @@ -644,9 +418,9 @@ func lintTasks(p *do.Project) { func lint(service *service) { fmt.Printf("Linting %s...\n\n", service.Fullname) golint := exec.Command(filepath.Join(gopath, "bin", "golint"), service.Namespace) - err := runner(golint) + _, stderr, err := runner(golint) if err != nil { - panic(fmt.Errorf("golint error: %s", err)) + fails.Add(fmt.Sprintf("%s: golint error: %s: %s", service.Fullname, err, stderr)) } } @@ -657,9 +431,28 @@ func vetTasks(p *do.Project) { func vet(service *service) { fmt.Printf("Vetting %s...\n\n", service.Fullname) govet := exec.Command("go", "vet", service.Namespace) - err := runner(govet) + _, stderr, err := runner(govet) if err != nil { - panic(fmt.Errorf("go vet error: %s", err)) + fails.Add(fmt.Sprintf("%s: go vet error: %s: %s", service.Fullname, err, stderr)) + } +} + +func addVersion(c *do.Context) { + gitStatus := exec.Command("git", "status", "-s") + out, _, err := runner(gitStatus) + if err != nil { + panic(fmt.Errorf("Git error: %s", err)) + } + files := strings.Split(out, "\n") + + for _, f := range files { + if strings.HasPrefix(f, " M ") && strings.HasSuffix(f, "version.go") { + gitAdd := exec.Command("git", "add", f[3:]) + _, _, err := runner(gitAdd) + if err != nil { + panic(fmt.Errorf("Git error: %s", err)) + } + } } } @@ -670,7 +463,23 @@ func managementVersion(c *do.Context) { func version(packageName string) { versionFile := filepath.Join(packageName, "version.go") os.Remove(versionFile) - template := `package %s + template := `// +build go1.7 + +package %s + +// Copyright 2017 Microsoft Corporation +// +// 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. var ( sdkVersion = "%s" @@ -690,7 +499,7 @@ func addTasks(fn func(*service), p *do.Project) { p.Task("all", deps, nil) } -func runner(cmd *exec.Cmd) error { +func runner(cmd *exec.Cmd) (string, string, error) { var stdout, stderr bytes.Buffer cmd.Stdout, cmd.Stderr = &stdout, &stderr err := cmd.Run() @@ -700,5 +509,19 @@ func runner(cmd *exec.Cmd) error { if stderr.Len() > 0 { fmt.Println(stderr.String()) } - return err + return stdout.String(), stderr.String(), err +} + +func (fl *failLocker) Add(fail string) { + fl.Lock() + defer fl.Unlock() + fl.failList = append(fl.failList, fail) +} + +func report(c *do.Context) { + fmt.Printf("Script ran for %s\n", time.Since(start)) + for _, f := range fails.failList { + fmt.Println(f) + fmt.Println("==========") + } } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/NOTICE b/vendor/github.com/Azure/azure-sdk-for-go/NOTICE new file mode 100644 index 000000000..2d1d72608 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/NOTICE @@ -0,0 +1,5 @@ +Microsoft Azure-SDK-for-Go +Copyright 2014-2017 Microsoft + +This product includes software developed at +the Microsoft Corporation (https://www.microsoft.com). diff --git a/vendor/github.com/Azure/azure-sdk-for-go/README.md b/vendor/github.com/Azure/azure-sdk-for-go/README.md index a95cd5be7..c2ac320eb 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/README.md +++ b/vendor/github.com/Azure/azure-sdk-for-go/README.md @@ -15,7 +15,7 @@ dependencies is always a good idea, but it is doubly important if you're consumi - Go get the SDK: ``` -$ go get -u github.com/Azure/azure-sdk-for-go +$ go get -u github.com/Azure/azure-sdk-for-go/... ``` > **IMPORTANT:** We highly suggest vendoring Azure SDK for Go as a dependency. For vendoring dependencies, Azure SDK diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/advisor/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/advisor/client.go index eccfe2c63..8f48db366 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/advisor/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/advisor/client.go @@ -1,5 +1,4 @@ -// Package advisor implements the Azure ARM Advisor service API version -// 2017-04-19. +// Package advisor implements the Azure ARM Advisor service API version 2017-04-19. // // REST APIs for Azure Advisor package advisor @@ -18,9 +17,8 @@ package advisor // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/advisor/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/advisor/models.go index 9b861c068..2fb71f19e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/advisor/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/advisor/models.go @@ -14,15 +14,14 @@ package advisor // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/date" "github.com/Azure/go-autorest/autorest/to" - "github.com/satori/uuid" + uuid "github.com/satori/go.uuid" "net/http" ) @@ -152,8 +151,8 @@ type ShortDescription struct { Solution *string `json:"solution,omitempty"` } -// SuppressionContract is the details of the snoozed or dismissed rule; for -// example, the duration, name, and GUID associated with the rule. +// SuppressionContract is the details of the snoozed or dismissed rule; for example, the duration, name, and GUID +// associated with the rule. type SuppressionContract struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/advisor/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/advisor/operations.go index 611dafec8..148467dac 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/advisor/operations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/advisor/operations.go @@ -14,9 +14,8 @@ package advisor // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,7 +23,7 @@ import ( "net/http" ) -// OperationsClient is the rEST APIs for Azure Advisor +// OperationsClient is the REST APIs for Azure Advisor type OperationsClient struct { ManagementClient } @@ -34,8 +33,7 @@ func NewOperationsClient(subscriptionID string) OperationsClient { return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewOperationsClientWithBaseURI creates an instance of the OperationsClient -// client. +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} } @@ -120,3 +118,48 @@ func (client OperationsClient) ListNextResults(lastResults OperationEntityListRe return } + +// ListComplete gets all elements from the list without paging. +func (client OperationsClient) ListComplete(cancel <-chan struct{}) (<-chan OperationEntity, <-chan error) { + resultChan := make(chan OperationEntity) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/advisor/recommendations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/advisor/recommendations.go index beaa8e74c..5eaa2cbae 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/advisor/recommendations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/advisor/recommendations.go @@ -14,37 +14,33 @@ package advisor // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/azure" - "github.com/satori/uuid" + uuid "github.com/satori/go.uuid" "net/http" ) -// RecommendationsClient is the rEST APIs for Azure Advisor +// RecommendationsClient is the REST APIs for Azure Advisor type RecommendationsClient struct { ManagementClient } -// NewRecommendationsClient creates an instance of the RecommendationsClient -// client. +// NewRecommendationsClient creates an instance of the RecommendationsClient client. func NewRecommendationsClient(subscriptionID string) RecommendationsClient { return NewRecommendationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewRecommendationsClientWithBaseURI creates an instance of the -// RecommendationsClient client. +// NewRecommendationsClientWithBaseURI creates an instance of the RecommendationsClient client. func NewRecommendationsClientWithBaseURI(baseURI string, subscriptionID string) RecommendationsClient { return RecommendationsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Generate initiates the recommendation generation or computation process for -// a subscription. This operation is asynchronous. The generated -// recommendations are stored in a cache in the Advisor service. +// Generate initiates the recommendation generation or computation process for a subscription. This operation is +// asynchronous. The generated recommendations are stored in a cache in the Advisor service. func (client RecommendationsClient) Generate() (result autorest.Response, err error) { req, err := client.GeneratePreparer() if err != nil { @@ -106,9 +102,8 @@ func (client RecommendationsClient) GenerateResponder(resp *http.Response) (resu // Get obtains details of a cached recommendation. // -// resourceURI is the fully qualified Azure Resource Manager identifier of the -// resource to which the recommendation applies. recommendationID is the -// recommendation ID. +// resourceURI is the fully qualified Azure Resource Manager identifier of the resource to which the recommendation +// applies. recommendationID is the recommendation ID. func (client RecommendationsClient) Get(resourceURI string, recommendationID string) (result ResourceRecommendationBase, err error) { req, err := client.GetPreparer(resourceURI, recommendationID) if err != nil { @@ -170,13 +165,12 @@ func (client RecommendationsClient) GetResponder(resp *http.Response) (result Re return } -// GetGenerateStatus retrieves the status of the recommendation computation or -// generation process. Invoke this API after calling the generation -// recommendation. The URI of this API is returned in the Location field of the -// response header. +// GetGenerateStatus retrieves the status of the recommendation computation or generation process. Invoke this API +// after calling the generation recommendation. The URI of this API is returned in the Location field of the response +// header. // -// operationID is the operation ID, which can be found from the Location field -// in the generate recommendation response header. +// operationID is the operation ID, which can be found from the Location field in the generate recommendation response +// header. func (client RecommendationsClient) GetGenerateStatus(operationID uuid.UUID) (result autorest.Response, err error) { req, err := client.GetGenerateStatusPreparer(operationID) if err != nil { @@ -237,13 +231,11 @@ func (client RecommendationsClient) GetGenerateStatusResponder(resp *http.Respon return } -// List obtains cached recommendations for a subscription. The recommendations -// are generated or computed by invoking generateRecommendations. +// List obtains cached recommendations for a subscription. The recommendations are generated or computed by invoking +// generateRecommendations. // -// filter is the filter to apply to the recommendations. top is the number of -// recommendations per page if a paged version of this API is being used. -// skipToken is the page-continuation token to use with a paged version of this -// API. +// filter is the filter to apply to the recommendations. top is the number of recommendations per page if a paged +// version of this API is being used. skipToken is the page-continuation token to use with a paged version of this API. func (client RecommendationsClient) List(filter string, top *int32, skipToken string) (result ResourceRecommendationBaseListResult, err error) { req, err := client.ListPreparer(filter, top, skipToken) if err != nil { @@ -336,3 +328,48 @@ func (client RecommendationsClient) ListNextResults(lastResults ResourceRecommen return } + +// ListComplete gets all elements from the list without paging. +func (client RecommendationsClient) ListComplete(filter string, top *int32, skipToken string, cancel <-chan struct{}) (<-chan ResourceRecommendationBase, <-chan error) { + resultChan := make(chan ResourceRecommendationBase) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(filter, top, skipToken) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/advisor/suppressions.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/advisor/suppressions.go index ec0c6c494..f3770948b 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/advisor/suppressions.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/advisor/suppressions.go @@ -14,9 +14,8 @@ package advisor // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,7 +23,7 @@ import ( "net/http" ) -// SuppressionsClient is the rEST APIs for Azure Advisor +// SuppressionsClient is the REST APIs for Azure Advisor type SuppressionsClient struct { ManagementClient } @@ -34,20 +33,17 @@ func NewSuppressionsClient(subscriptionID string) SuppressionsClient { return NewSuppressionsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewSuppressionsClientWithBaseURI creates an instance of the -// SuppressionsClient client. +// NewSuppressionsClientWithBaseURI creates an instance of the SuppressionsClient client. func NewSuppressionsClientWithBaseURI(baseURI string, subscriptionID string) SuppressionsClient { return SuppressionsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Create enables the snoozed or dismissed attribute of a recommendation. The -// snoozed or dismissed attribute is referred to as a suppression. Use this API -// to create or update the snoozed or dismissed status of a recommendation. +// Create enables the snoozed or dismissed attribute of a recommendation. The snoozed or dismissed attribute is +// referred to as a suppression. Use this API to create or update the snoozed or dismissed status of a recommendation. // -// resourceURI is the fully qualified Azure Resource Manager identifier of the -// resource to which the recommendation applies. recommendationID is the -// recommendation ID. name is the name of the suppression. suppressionContract -// is the snoozed or dismissed attribute; for example, the snooze duration. +// resourceURI is the fully qualified Azure Resource Manager identifier of the resource to which the recommendation +// applies. recommendationID is the recommendation ID. name is the name of the suppression. suppressionContract is the +// snoozed or dismissed attribute; for example, the snooze duration. func (client SuppressionsClient) Create(resourceURI string, recommendationID string, name string, suppressionContract SuppressionContract) (result SuppressionContract, err error) { req, err := client.CreatePreparer(resourceURI, recommendationID, name, suppressionContract) if err != nil { @@ -112,13 +108,11 @@ func (client SuppressionsClient) CreateResponder(resp *http.Response) (result Su return } -// Delete enables the activation of a snoozed or dismissed recommendation. The -// snoozed or dismissed attribute of a recommendation is referred to as a -// suppression. +// Delete enables the activation of a snoozed or dismissed recommendation. The snoozed or dismissed attribute of a +// recommendation is referred to as a suppression. // -// resourceURI is the fully qualified Azure Resource Manager identifier of the -// resource to which the recommendation applies. recommendationID is the -// recommendation ID. name is the name of the suppression. +// resourceURI is the fully qualified Azure Resource Manager identifier of the resource to which the recommendation +// applies. recommendationID is the recommendation ID. name is the name of the suppression. func (client SuppressionsClient) Delete(resourceURI string, recommendationID string, name string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceURI, recommendationID, name) if err != nil { @@ -182,9 +176,8 @@ func (client SuppressionsClient) DeleteResponder(resp *http.Response) (result au // Get obtains the details of a suppression. // -// resourceURI is the fully qualified Azure Resource Manager identifier of the -// resource to which the recommendation applies. recommendationID is the -// recommendation ID. name is the name of the suppression. +// resourceURI is the fully qualified Azure Resource Manager identifier of the resource to which the recommendation +// applies. recommendationID is the recommendation ID. name is the name of the suppression. func (client SuppressionsClient) Get(resourceURI string, recommendationID string, name string) (result SuppressionContract, err error) { req, err := client.GetPreparer(resourceURI, recommendationID, name) if err != nil { @@ -247,13 +240,11 @@ func (client SuppressionsClient) GetResponder(resp *http.Response) (result Suppr return } -// List retrieves the list of snoozed or dismissed suppressions for a -// subscription. The snoozed or dismissed attribute of a recommendation is -// referred to as a suppression. +// List retrieves the list of snoozed or dismissed suppressions for a subscription. The snoozed or dismissed attribute +// of a recommendation is referred to as a suppression. // -// top is the number of suppressions per page if a paged version of this API is -// being used. skipToken is the page-continuation token to use with a paged -// version of this API. +// top is the number of suppressions per page if a paged version of this API is being used. skipToken is the +// page-continuation token to use with a paged version of this API. func (client SuppressionsClient) List(top *int32, skipToken string) (result SuppressionContractListResult, err error) { req, err := client.ListPreparer(top, skipToken) if err != nil { @@ -343,3 +334,48 @@ func (client SuppressionsClient) ListNextResults(lastResults SuppressionContract return } + +// ListComplete gets all elements from the list without paging. +func (client SuppressionsClient) ListComplete(top *int32, skipToken string, cancel <-chan struct{}) (<-chan SuppressionContract, <-chan error) { + resultChan := make(chan SuppressionContract) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(top, skipToken) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/advisor/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/advisor/version.go index 9c375771f..a56a4f736 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/advisor/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/advisor/version.go @@ -14,16 +14,15 @@ package advisor // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-advisor/2017-04-19" + return "Azure-SDK-For-Go/v11.0.0-beta arm-advisor/2017-04-19" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/analysisservices/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/analysisservices/client.go index 22fc2bd29..75e61bd27 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/analysisservices/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/analysisservices/client.go @@ -1,9 +1,7 @@ -// Package analysisservices implements the Azure ARM Analysisservices service -// API version 2016-05-16. +// Package analysisservices implements the Azure ARM Analysisservices service API version 2017-08-01-beta. // -// The Azure Analysis Services Web API provides a RESTful set of web services -// that enables users to create, retrieve, update, and delete Analysis Services -// servers +// The Azure Analysis Services Web API provides a RESTful set of web services that enables users to create, retrieve, +// update, and delete Analysis Services servers package analysisservices // Copyright (c) Microsoft and contributors. All rights reserved. @@ -20,9 +18,8 @@ package analysisservices // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/analysisservices/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/analysisservices/models.go index 96fb36496..f9641ed39 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/analysisservices/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/analysisservices/models.go @@ -14,12 +14,23 @@ package analysisservices // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/to" + "net/http" +) + +// ConnectionMode enumerates the values for connection mode. +type ConnectionMode string + +const ( + // All specifies the all state for connection mode. + All ConnectionMode = "All" + // ReadOnly specifies the read only state for connection mode. + ReadOnly ConnectionMode = "ReadOnly" ) // ProvisioningState enumerates the values for provisioning state. @@ -52,26 +63,6 @@ const ( Updating ProvisioningState = "Updating" ) -// SkuName enumerates the values for sku name. -type SkuName string - -const ( - // B1 specifies the b1 state for sku name. - B1 SkuName = "B1" - // B2 specifies the b2 state for sku name. - B2 SkuName = "B2" - // D1 specifies the d1 state for sku name. - D1 SkuName = "D1" - // S0 specifies the s0 state for sku name. - S0 SkuName = "S0" - // S1 specifies the s1 state for sku name. - S1 SkuName = "S1" - // S2 specifies the s2 state for sku name. - S2 SkuName = "S2" - // S4 specifies the s4 state for sku name. - S4 SkuName = "S4" -) - // SkuTier enumerates the values for sku tier. type SkuTier string @@ -114,11 +105,88 @@ const ( StateUpdating State = "Updating" ) -// BackupConfiguration is an object that represents backup configurations -type BackupConfiguration struct { - StorageAccount *string `json:"storageAccount,omitempty"` - BlobContainer *string `json:"blobContainer,omitempty"` - AccessKey *string `json:"accessKey,omitempty"` +// Status enumerates the values for status. +type Status string + +const ( + // Live specifies the live state for status. + Live Status = "Live" +) + +// ErrorResponse is describes the format of Error response. +type ErrorResponse struct { + Code *string `json:"code,omitempty"` + Message *string `json:"message,omitempty"` +} + +// GatewayDetails is the gateway details. +type GatewayDetails struct { + GatewayResourceID *string `json:"gatewayResourceId,omitempty"` + GatewayObjectID *string `json:"gatewayObjectId,omitempty"` + DmtsClusterURI *string `json:"dmtsClusterUri,omitempty"` +} + +// GatewayError is detail of gateway errors. +type GatewayError struct { + Code *string `json:"code,omitempty"` + Message *string `json:"message,omitempty"` +} + +// GatewayListStatusError is status of gateway is error. +type GatewayListStatusError struct { + Error *GatewayError `json:"error,omitempty"` +} + +// GatewayListStatusLive is status of gateway is live. +type GatewayListStatusLive struct { + autorest.Response `json:"-"` + Status Status `json:"status,omitempty"` +} + +// IPv4FirewallRule is the detail of firewall rule. +type IPv4FirewallRule struct { + FirewallRuleName *string `json:"firewallRuleName,omitempty"` + RangeStart *string `json:"rangeStart,omitempty"` + RangeEnd *string `json:"rangeEnd,omitempty"` +} + +// IPv4FirewallSettings is an array of firewall rules. +type IPv4FirewallSettings struct { + FirewallRules *[]IPv4FirewallRule `json:"firewallRules,omitempty"` + EnablePowerBIService *string `json:"enablePowerBIService,omitempty"` +} + +// Operation is a Consumption REST API operation. +type Operation struct { + Name *string `json:"name,omitempty"` + Display *OperationDisplay `json:"display,omitempty"` +} + +// OperationDisplay is the object that represents the operation. +type OperationDisplay struct { + Provider *string `json:"provider,omitempty"` + Resource *string `json:"resource,omitempty"` + Operation *string `json:"operation,omitempty"` +} + +// OperationListResult is result of listing consumption operations. It contains a list of operations and a URL link to +// get the next set of results. +type OperationListResult struct { + autorest.Response `json:"-"` + Value *[]Operation `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// OperationListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client OperationListResult) OperationListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) } // Resource is represents an instance of an Analysis Services resource. @@ -131,11 +199,11 @@ type Resource struct { Tags *map[string]*string `json:"tags,omitempty"` } -// ResourceSku is represents the SKU name and Azure pricing tier for Analysis -// Services resource. +// ResourceSku is represents the SKU name and Azure pricing tier for Analysis Services resource. type ResourceSku struct { - Name SkuName `json:"name,omitempty"` - Tier SkuTier `json:"tier,omitempty"` + Name *string `json:"name,omitempty"` + Tier SkuTier `json:"tier,omitempty"` + Capacity *int32 `json:"capacity,omitempty"` } // Server is represents an instance of an Analysis Services resource. @@ -150,25 +218,30 @@ type Server struct { *ServerProperties `json:"properties,omitempty"` } -// ServerAdministrators is an array of administrator user identities +// ServerAdministrators is an array of administrator user identities. type ServerAdministrators struct { Members *[]string `json:"members,omitempty"` } -// ServerMutableProperties is an object that represents a set of mutable -// Analysis Services resource properties. +// ServerMutableProperties is an object that represents a set of mutable Analysis Services resource properties. type ServerMutableProperties struct { - AsAdministrators *ServerAdministrators `json:"asAdministrators,omitempty"` - BackupConfiguration *BackupConfiguration `json:"backupConfiguration,omitempty"` + AsAdministrators *ServerAdministrators `json:"asAdministrators,omitempty"` + BackupBlobContainerURI *string `json:"backupBlobContainerUri,omitempty"` + GatewayDetails *GatewayDetails `json:"gatewayDetails,omitempty"` + IPV4FirewallSettings *IPv4FirewallSettings `json:"ipV4FirewallSettings,omitempty"` + QuerypoolConnectionMode ConnectionMode `json:"querypoolConnectionMode,omitempty"` } // ServerProperties is properties of Analysis Services resource. type ServerProperties struct { - AsAdministrators *ServerAdministrators `json:"asAdministrators,omitempty"` - BackupConfiguration *BackupConfiguration `json:"backupConfiguration,omitempty"` - State State `json:"state,omitempty"` - ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` - ServerFullName *string `json:"serverFullName,omitempty"` + AsAdministrators *ServerAdministrators `json:"asAdministrators,omitempty"` + BackupBlobContainerURI *string `json:"backupBlobContainerUri,omitempty"` + GatewayDetails *GatewayDetails `json:"gatewayDetails,omitempty"` + IPV4FirewallSettings *IPv4FirewallSettings `json:"ipV4FirewallSettings,omitempty"` + QuerypoolConnectionMode ConnectionMode `json:"querypoolConnectionMode,omitempty"` + State State `json:"state,omitempty"` + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + ServerFullName *string `json:"serverFullName,omitempty"` } // Servers is an array of Analysis Services resources. @@ -183,3 +256,20 @@ type ServerUpdateParameters struct { Tags *map[string]*string `json:"tags,omitempty"` *ServerMutableProperties `json:"properties,omitempty"` } + +// SkuDetailsForExistingResource is an object that represents SKU details for existing resources. +type SkuDetailsForExistingResource struct { + Sku *ResourceSku `json:"sku,omitempty"` +} + +// SkuEnumerationForExistingResourceResult is an object that represents enumerating SKUs for existing resources. +type SkuEnumerationForExistingResourceResult struct { + autorest.Response `json:"-"` + Value *[]SkuDetailsForExistingResource `json:"value,omitempty"` +} + +// SkuEnumerationForNewResourceResult is an object that represents enumerating SKUs for new resources. +type SkuEnumerationForNewResourceResult struct { + autorest.Response `json:"-"` + Value *[]ResourceSku `json:"value,omitempty"` +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/analysisservices/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/analysisservices/operations.go new file mode 100644 index 000000000..8eefcbb1d --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/analysisservices/operations.go @@ -0,0 +1,166 @@ +package analysisservices + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// OperationsClient is the the Azure Analysis Services Web API provides a RESTful set of web services that enables +// users to create, retrieve, update, and delete Analysis Services servers +type OperationsClient struct { + ManagementClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List lists all of the available consumption REST API operations. +func (client OperationsClient) List() (result OperationListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "analysisservices.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "analysisservices.OperationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "analysisservices.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer() (*http.Request, error) { + const APIVersion = "2017-08-01-beta" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.AnalysisServices/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client OperationsClient) ListNextResults(lastResults OperationListResult) (result OperationListResult, err error) { + req, err := lastResults.OperationListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "analysisservices.OperationsClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "analysisservices.OperationsClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "analysisservices.OperationsClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client OperationsClient) ListComplete(cancel <-chan struct{}) (<-chan Operation, <-chan error) { + resultChan := make(chan Operation) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/analysisservices/servers.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/analysisservices/servers.go index 70e0e448b..fc8e06c5b 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/analysisservices/servers.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/analysisservices/servers.go @@ -14,9 +14,8 @@ package analysisservices // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,9 +24,8 @@ import ( "net/http" ) -// ServersClient is the the Azure Analysis Services Web API provides a RESTful -// set of web services that enables users to create, retrieve, update, and -// delete Analysis Services servers +// ServersClient is the the Azure Analysis Services Web API provides a RESTful set of web services that enables users +// to create, retrieve, update, and delete Analysis Services servers type ServersClient struct { ManagementClient } @@ -42,17 +40,14 @@ func NewServersClientWithBaseURI(baseURI string, subscriptionID string) ServersC return ServersClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Create provisions the specified Analysis Services server based on the -// configuration specified in the request. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// Create provisions the specified Analysis Services server based on the configuration specified in the request. This +// method may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be +// used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the Azure Resource group of which a given -// Analysis Services server is part. This name must be at least 1 character in -// length, and no more than 90. serverName is the name of the Analysis Services -// server. It must be a minimum of 3 characters, and a maximum of 63. -// serverParameters is contains the information used to provision the Analysis -// Services server. +// resourceGroupName is the name of the Azure Resource group of which a given Analysis Services server is part. This +// name must be at least 1 character in length, and no more than 90. serverName is the name of the Analysis Services +// server. It must be a minimum of 3 characters, and a maximum of 63. serverParameters is contains the information used +// to provision the Analysis Services server. func (client ServersClient) Create(resourceGroupName string, serverName string, serverParameters Server, cancel <-chan struct{}) (<-chan Server, <-chan error) { resultChan := make(chan Server, 1) errChan := make(chan error, 1) @@ -75,8 +70,10 @@ func (client ServersClient) Create(resourceGroupName string, serverName string, var err error var result Server defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -109,7 +106,7 @@ func (client ServersClient) CreatePreparer(resourceGroupName string, serverName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-05-16" + const APIVersion = "2017-08-01-beta" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -145,14 +142,12 @@ func (client ServersClient) CreateResponder(resp *http.Response) (result Server, return } -// Delete deletes the specified Analysis Services server. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// Delete deletes the specified Analysis Services server. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the Azure Resource group of which a given -// Analysis Services server is part. This name must be at least 1 character in -// length, and no more than 90. serverName is the name of the Analysis Services +// resourceGroupName is the name of the Azure Resource group of which a given Analysis Services server is part. This +// name must be at least 1 character in length, and no more than 90. serverName is the name of the Analysis Services // server. It must be at least 3 characters in length, and no more than 63. func (client ServersClient) Delete(resourceGroupName string, serverName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) @@ -176,8 +171,10 @@ func (client ServersClient) Delete(resourceGroupName string, serverName string, var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -210,7 +207,7 @@ func (client ServersClient) DeletePreparer(resourceGroupName string, serverName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-05-16" + const APIVersion = "2017-08-01-beta" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -243,11 +240,88 @@ func (client ServersClient) DeleteResponder(resp *http.Response) (result autores return } +// DissociateGateway dissociates a Unified Gateway associated with the server. +// +// resourceGroupName is the name of the Azure Resource group of which a given Analysis Services server is part. This +// name must be at least 1 character in length, and no more than 90. serverName is the name of the Analysis Services +// server. It must be at least 3 characters in length, and no more than 63. +func (client ServersClient) DissociateGateway(resourceGroupName string, serverName string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: serverName, + Constraints: []validation.Constraint{{Target: "serverName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "serverName", Name: validation.MinLength, Rule: 3, Chain: nil}, + {Target: "serverName", Name: validation.Pattern, Rule: `^[a-z][a-z0-9]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "analysisservices.ServersClient", "DissociateGateway") + } + + req, err := client.DissociateGatewayPreparer(resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "analysisservices.ServersClient", "DissociateGateway", nil, "Failure preparing request") + return + } + + resp, err := client.DissociateGatewaySender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "analysisservices.ServersClient", "DissociateGateway", resp, "Failure sending request") + return + } + + result, err = client.DissociateGatewayResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "analysisservices.ServersClient", "DissociateGateway", resp, "Failure responding to request") + } + + return +} + +// DissociateGatewayPreparer prepares the DissociateGateway request. +func (client ServersClient) DissociateGatewayPreparer(resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-08-01-beta" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/dissociateGateway", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DissociateGatewaySender sends the DissociateGateway request. The method will close the +// http.Response Body if it receives an error. +func (client ServersClient) DissociateGatewaySender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DissociateGatewayResponder handles the response to the DissociateGateway request. The method always +// closes the http.Response Body. +func (client ServersClient) DissociateGatewayResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + // GetDetails gets details about the specified Analysis Services server. // -// resourceGroupName is the name of the Azure Resource group of which a given -// Analysis Services server is part. This name must be at least 1 character in -// length, and no more than 90. serverName is the name of the Analysis Services +// resourceGroupName is the name of the Azure Resource group of which a given Analysis Services server is part. This +// name must be at least 1 character in length, and no more than 90. serverName is the name of the Analysis Services // server. It must be a minimum of 3 characters, and a maximum of 63. func (client ServersClient) GetDetails(resourceGroupName string, serverName string) (result Server, err error) { if err := validation.Validate([]validation.Validation{ @@ -291,7 +365,7 @@ func (client ServersClient) GetDetailsPreparer(resourceGroupName string, serverN "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-05-16" + const APIVersion = "2017-08-01-beta" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -352,7 +426,7 @@ func (client ServersClient) ListPreparer() (*http.Request, error) { "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-05-16" + const APIVersion = "2017-08-01-beta" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -384,12 +458,10 @@ func (client ServersClient) ListResponder(resp *http.Response) (result Servers, return } -// ListByResourceGroup gets all the Analysis Services servers for the given -// resource group. +// ListByResourceGroup gets all the Analysis Services servers for the given resource group. // -// resourceGroupName is the name of the Azure Resource group of which a given -// Analysis Services server is part. This name must be at least 1 character in -// length, and no more than 90. +// resourceGroupName is the name of the Azure Resource group of which a given Analysis Services server is part. This +// name must be at least 1 character in length, and no more than 90. func (client ServersClient) ListByResourceGroup(resourceGroupName string) (result Servers, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -427,7 +499,7 @@ func (client ServersClient) ListByResourceGroupPreparer(resourceGroupName string "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-05-16" + const APIVersion = "2017-08-01-beta" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -459,14 +531,231 @@ func (client ServersClient) ListByResourceGroupResponder(resp *http.Response) (r return } -// Resume resumes operation of the specified Analysis Services server instance. -// This method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// ListGatewayStatus return the gateway status of the specified Analysis Services server instance. +// +// resourceGroupName is the name of the Azure Resource group of which a given Analysis Services server is part. This +// name must be at least 1 character in length, and no more than 90. serverName is the name of the Analysis Services +// server. +func (client ServersClient) ListGatewayStatus(resourceGroupName string, serverName string) (result GatewayListStatusLive, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: serverName, + Constraints: []validation.Constraint{{Target: "serverName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "serverName", Name: validation.MinLength, Rule: 3, Chain: nil}, + {Target: "serverName", Name: validation.Pattern, Rule: `^[a-z][a-z0-9]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "analysisservices.ServersClient", "ListGatewayStatus") + } + + req, err := client.ListGatewayStatusPreparer(resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "analysisservices.ServersClient", "ListGatewayStatus", nil, "Failure preparing request") + return + } + + resp, err := client.ListGatewayStatusSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "analysisservices.ServersClient", "ListGatewayStatus", resp, "Failure sending request") + return + } + + result, err = client.ListGatewayStatusResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "analysisservices.ServersClient", "ListGatewayStatus", resp, "Failure responding to request") + } + + return +} + +// ListGatewayStatusPreparer prepares the ListGatewayStatus request. +func (client ServersClient) ListGatewayStatusPreparer(resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-08-01-beta" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/listGatewayStatus", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListGatewayStatusSender sends the ListGatewayStatus request. The method will close the +// http.Response Body if it receives an error. +func (client ServersClient) ListGatewayStatusSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListGatewayStatusResponder handles the response to the ListGatewayStatus request. The method always +// closes the http.Response Body. +func (client ServersClient) ListGatewayStatusResponder(resp *http.Response) (result GatewayListStatusLive, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListSkusForExisting lists eligible SKUs for an Analysis Services resource. +// +// resourceGroupName is the name of the Azure Resource group of which a given Analysis Services server is part. This +// name must be at least 1 character in length, and no more than 90. serverName is the name of the Analysis Services +// server. It must be at least 3 characters in length, and no more than 63. +func (client ServersClient) ListSkusForExisting(resourceGroupName string, serverName string) (result SkuEnumerationForExistingResourceResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: serverName, + Constraints: []validation.Constraint{{Target: "serverName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "serverName", Name: validation.MinLength, Rule: 3, Chain: nil}, + {Target: "serverName", Name: validation.Pattern, Rule: `^[a-z][a-z0-9]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "analysisservices.ServersClient", "ListSkusForExisting") + } + + req, err := client.ListSkusForExistingPreparer(resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "analysisservices.ServersClient", "ListSkusForExisting", nil, "Failure preparing request") + return + } + + resp, err := client.ListSkusForExistingSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "analysisservices.ServersClient", "ListSkusForExisting", resp, "Failure sending request") + return + } + + result, err = client.ListSkusForExistingResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "analysisservices.ServersClient", "ListSkusForExisting", resp, "Failure responding to request") + } + + return +} + +// ListSkusForExistingPreparer prepares the ListSkusForExisting request. +func (client ServersClient) ListSkusForExistingPreparer(resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-08-01-beta" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/skus", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSkusForExistingSender sends the ListSkusForExisting request. The method will close the +// http.Response Body if it receives an error. +func (client ServersClient) ListSkusForExistingSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListSkusForExistingResponder handles the response to the ListSkusForExisting request. The method always +// closes the http.Response Body. +func (client ServersClient) ListSkusForExistingResponder(resp *http.Response) (result SkuEnumerationForExistingResourceResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListSkusForNew lists eligible SKUs for Analysis Services resource provider. +func (client ServersClient) ListSkusForNew() (result SkuEnumerationForNewResourceResult, err error) { + req, err := client.ListSkusForNewPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "analysisservices.ServersClient", "ListSkusForNew", nil, "Failure preparing request") + return + } + + resp, err := client.ListSkusForNewSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "analysisservices.ServersClient", "ListSkusForNew", resp, "Failure sending request") + return + } + + result, err = client.ListSkusForNewResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "analysisservices.ServersClient", "ListSkusForNew", resp, "Failure responding to request") + } + + return +} + +// ListSkusForNewPreparer prepares the ListSkusForNew request. +func (client ServersClient) ListSkusForNewPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-08-01-beta" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/skus", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSkusForNewSender sends the ListSkusForNew request. The method will close the +// http.Response Body if it receives an error. +func (client ServersClient) ListSkusForNewSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListSkusForNewResponder handles the response to the ListSkusForNew request. The method always +// closes the http.Response Body. +func (client ServersClient) ListSkusForNewResponder(resp *http.Response) (result SkuEnumerationForNewResourceResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Resume resumes operation of the specified Analysis Services server instance. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is the name of the Azure Resource group of which a given -// Analysis Services server is part. This name must be at least 1 character in -// length, and no more than 90. serverName is the name of the Analysis Services +// resourceGroupName is the name of the Azure Resource group of which a given Analysis Services server is part. This +// name must be at least 1 character in length, and no more than 90. serverName is the name of the Analysis Services // server. It must be at least 3 characters in length, and no more than 63. func (client ServersClient) Resume(resourceGroupName string, serverName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) @@ -490,8 +779,10 @@ func (client ServersClient) Resume(resourceGroupName string, serverName string, var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -524,7 +815,7 @@ func (client ServersClient) ResumePreparer(resourceGroupName string, serverName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-05-16" + const APIVersion = "2017-08-01-beta" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -557,14 +848,12 @@ func (client ServersClient) ResumeResponder(resp *http.Response) (result autores return } -// Suspend supends operation of the specified Analysis Services server -// instance. This method may poll for completion. Polling can be canceled by -// passing the cancel channel argument. The channel will be used to cancel -// polling and any outstanding HTTP requests. +// Suspend supends operation of the specified Analysis Services server instance. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. // -// resourceGroupName is the name of the Azure Resource group of which a given -// Analysis Services server is part. This name must be at least 1 character in -// length, and no more than 90. serverName is the name of the Analysis Services +// resourceGroupName is the name of the Azure Resource group of which a given Analysis Services server is part. This +// name must be at least 1 character in length, and no more than 90. serverName is the name of the Analysis Services // server. It must be at least 3 characters in length, and no more than 63. func (client ServersClient) Suspend(resourceGroupName string, serverName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) @@ -588,8 +877,10 @@ func (client ServersClient) Suspend(resourceGroupName string, serverName string, var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -622,7 +913,7 @@ func (client ServersClient) SuspendPreparer(resourceGroupName string, serverName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-05-16" + const APIVersion = "2017-08-01-beta" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -655,15 +946,17 @@ func (client ServersClient) SuspendResponder(resp *http.Response) (result autore return } -// Update updates the current state of the specified Analysis Services server. +// Update updates the current state of the specified Analysis Services server. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. // -// resourceGroupName is the name of the Azure Resource group of which a given -// Analysis Services server is part. This name must be at least 1 character in -// length, and no more than 90. serverName is the name of the Analysis Services -// server. It must be at least 3 characters in length, and no more than 63. -// serverUpdateParameters is request object that contains the updated -// information for the server. -func (client ServersClient) Update(resourceGroupName string, serverName string, serverUpdateParameters ServerUpdateParameters) (result Server, err error) { +// resourceGroupName is the name of the Azure Resource group of which a given Analysis Services server is part. This +// name must be at least 1 character in length, and no more than 90. serverName is the name of the Analysis Services +// server. It must be at least 3 characters in length, and no more than 63. serverUpdateParameters is request object +// that contains the updated information for the server. +func (client ServersClient) Update(resourceGroupName string, serverName string, serverUpdateParameters ServerUpdateParameters, cancel <-chan struct{}) (<-chan Server, <-chan error) { + resultChan := make(chan Server, 1) + errChan := make(chan error, 1) if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -673,39 +966,53 @@ func (client ServersClient) Update(resourceGroupName string, serverName string, Constraints: []validation.Constraint{{Target: "serverName", Name: validation.MaxLength, Rule: 63, Chain: nil}, {Target: "serverName", Name: validation.MinLength, Rule: 3, Chain: nil}, {Target: "serverName", Name: validation.Pattern, Rule: `^[a-z][a-z0-9]*$`, Chain: nil}}}}); err != nil { - return result, validation.NewErrorWithValidationError(err, "analysisservices.ServersClient", "Update") + errChan <- validation.NewErrorWithValidationError(err, "analysisservices.ServersClient", "Update") + close(errChan) + close(resultChan) + return resultChan, errChan } - req, err := client.UpdatePreparer(resourceGroupName, serverName, serverUpdateParameters) - if err != nil { - err = autorest.NewErrorWithError(err, "analysisservices.ServersClient", "Update", nil, "Failure preparing request") - return - } + go func() { + var err error + var result Server + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.UpdatePreparer(resourceGroupName, serverName, serverUpdateParameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "analysisservices.ServersClient", "Update", nil, "Failure preparing request") + return + } - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "analysisservices.ServersClient", "Update", resp, "Failure sending request") - return - } + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "analysisservices.ServersClient", "Update", resp, "Failure sending request") + return + } - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "analysisservices.ServersClient", "Update", resp, "Failure responding to request") - } - - return + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "analysisservices.ServersClient", "Update", resp, "Failure responding to request") + } + }() + return resultChan, errChan } // UpdatePreparer prepares the Update request. -func (client ServersClient) UpdatePreparer(resourceGroupName string, serverName string, serverUpdateParameters ServerUpdateParameters) (*http.Request, error) { +func (client ServersClient) UpdatePreparer(resourceGroupName string, serverName string, serverUpdateParameters ServerUpdateParameters, cancel <-chan struct{}) (*http.Request, error) { pathParameters := map[string]interface{}{ "resourceGroupName": autorest.Encode("path", resourceGroupName), "serverName": autorest.Encode("path", serverName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-05-16" + const APIVersion = "2017-08-01-beta" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -717,13 +1024,15 @@ func (client ServersClient) UpdatePreparer(resourceGroupName string, serverName autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}", pathParameters), autorest.WithJSON(serverUpdateParameters), autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) + return preparer.Prepare(&http.Request{Cancel: cancel}) } // UpdateSender sends the Update request. The method will close the // http.Response Body if it receives an error. func (client ServersClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) } // UpdateResponder handles the response to the Update request. The method always @@ -732,7 +1041,7 @@ func (client ServersClient) UpdateResponder(resp *http.Response) (result Server, err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/analysisservices/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/analysisservices/version.go index c8f01a613..51aea6e5c 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/analysisservices/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/analysisservices/version.go @@ -14,16 +14,15 @@ package analysisservices // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-analysisservices/2016-05-16" + return "Azure-SDK-For-Go/v11.0.0-beta arm-analysisservices/2017-08-01-beta" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/apimanagement/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/apimanagement/version.go index e788b7134..242e13897 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/apimanagement/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/apimanagement/version.go @@ -14,16 +14,15 @@ package apimanagement // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-apimanagement/" + return "Azure-SDK-For-Go/v10.2.0-beta arm-apimanagement/" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v10.2.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/appinsights/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/appinsights/client.go index e00640451..57277c329 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/appinsights/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/appinsights/client.go @@ -1,5 +1,4 @@ -// Package appinsights implements the Azure ARM Appinsights service API version -// . +// Package appinsights implements the Azure ARM Appinsights service API version 2015-05-01. // // Composite Swagger for Application Insights Management Client package appinsights @@ -18,9 +17,8 @@ package appinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/appinsights/components.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/appinsights/components.go index 45c5c8282..20fbda276 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/appinsights/components.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/appinsights/components.go @@ -14,9 +14,8 @@ package appinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// ComponentsClient is the composite Swagger for Application Insights -// Management Client +// ComponentsClient is the composite Swagger for Application Insights Management Client type ComponentsClient struct { ManagementClient } @@ -36,20 +34,16 @@ func NewComponentsClient(subscriptionID string) ComponentsClient { return NewComponentsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewComponentsClientWithBaseURI creates an instance of the ComponentsClient -// client. +// NewComponentsClientWithBaseURI creates an instance of the ComponentsClient client. func NewComponentsClientWithBaseURI(baseURI string, subscriptionID string) ComponentsClient { return ComponentsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates (or updates) an Application Insights component. Note: -// You cannot specify a different value for InstrumentationKey nor AppId in the -// Put operation. +// CreateOrUpdate creates (or updates) an Application Insights component. Note: You cannot specify a different value +// for InstrumentationKey nor AppId in the Put operation. // -// resourceGroupName is the name of the resource group. resourceName is the -// name of the Application Insights component resource. insightProperties is -// properties that need to be specified to create an Application Insights -// component. +// resourceGroupName is the name of the resource group. resourceName is the name of the Application Insights component +// resource. insightProperties is properties that need to be specified to create an Application Insights component. func (client ComponentsClient) CreateOrUpdate(resourceGroupName string, resourceName string, insightProperties ApplicationInsightsComponent) (result ApplicationInsightsComponent, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: insightProperties, @@ -122,8 +116,8 @@ func (client ComponentsClient) CreateOrUpdateResponder(resp *http.Response) (res // Delete deletes an Application Insights component. // -// resourceGroupName is the name of the resource group. resourceName is the -// name of the Application Insights component resource. +// resourceGroupName is the name of the resource group. resourceName is the name of the Application Insights component +// resource. func (client ComponentsClient) Delete(resourceGroupName string, resourceName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, resourceName) if err != nil { @@ -187,8 +181,8 @@ func (client ComponentsClient) DeleteResponder(resp *http.Response) (result auto // Get returns an Application Insights component. // -// resourceGroupName is the name of the resource group. resourceName is the -// name of the Application Insights component resource. +// resourceGroupName is the name of the resource group. resourceName is the name of the Application Insights component +// resource. func (client ComponentsClient) Get(resourceGroupName string, resourceName string) (result ApplicationInsightsComponent, err error) { req, err := client.GetPreparer(resourceGroupName, resourceName) if err != nil { @@ -251,8 +245,7 @@ func (client ComponentsClient) GetResponder(resp *http.Response) (result Applica return } -// List gets a list of all Application Insights components within a -// subscription. +// List gets a list of all Application Insights components within a subscription. func (client ComponentsClient) List() (result ApplicationInsightsComponentListResult, err error) { req, err := client.ListPreparer() if err != nil { @@ -337,8 +330,52 @@ func (client ComponentsClient) ListNextResults(lastResults ApplicationInsightsCo return } -// ListByResourceGroup gets a list of Application Insights components within a -// resource group. +// ListComplete gets all elements from the list without paging. +func (client ComponentsClient) ListComplete(cancel <-chan struct{}) (<-chan ApplicationInsightsComponent, <-chan error) { + resultChan := make(chan ApplicationInsightsComponent) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListByResourceGroup gets a list of Application Insights components within a resource group. // // resourceGroupName is the name of the resource group. func (client ComponentsClient) ListByResourceGroup(resourceGroupName string) (result ApplicationInsightsComponentListResult, err error) { @@ -426,12 +463,55 @@ func (client ComponentsClient) ListByResourceGroupNextResults(lastResults Applic return } -// UpdateTags updates an existing component's tags. To update other fields use -// the CreateOrUpdate method. +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client ComponentsClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan ApplicationInsightsComponent, <-chan error) { + resultChan := make(chan ApplicationInsightsComponent) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// UpdateTags updates an existing component's tags. To update other fields use the CreateOrUpdate method. // -// resourceGroupName is the name of the resource group. resourceName is the -// name of the Application Insights component resource. componentTags is -// updated tag information to set into the component instance. +// resourceGroupName is the name of the resource group. resourceName is the name of the Application Insights component +// resource. componentTags is updated tag information to set into the component instance. func (client ComponentsClient) UpdateTags(resourceGroupName string, resourceName string, componentTags TagsResource) (result ApplicationInsightsComponent, err error) { req, err := client.UpdateTagsPreparer(resourceGroupName, resourceName, componentTags) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/appinsights/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/appinsights/models.go index 0cf0bb0ad..6adccd0f3 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/appinsights/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/appinsights/models.go @@ -14,9 +14,8 @@ package appinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -61,8 +60,7 @@ const ( Ping WebTestKind = "ping" ) -// ApplicationInsightsComponent is an Application Insights component -// definition. +// ApplicationInsightsComponent is an Application Insights component definition. type ApplicationInsightsComponent struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -74,8 +72,7 @@ type ApplicationInsightsComponent struct { *ApplicationInsightsComponentProperties `json:"properties,omitempty"` } -// ApplicationInsightsComponentListResult is describes the list of Application -// Insights Resources. +// ApplicationInsightsComponentListResult is describes the list of Application Insights Resources. type ApplicationInsightsComponentListResult struct { autorest.Response `json:"-"` Value *[]ApplicationInsightsComponent `json:"value,omitempty"` @@ -94,8 +91,7 @@ func (client ApplicationInsightsComponentListResult) ApplicationInsightsComponen autorest.WithBaseURL(to.String(client.NextLink))) } -// ApplicationInsightsComponentProperties is properties that define an -// Application Insights component resource. +// ApplicationInsightsComponentProperties is properties that define an Application Insights component resource. type ApplicationInsightsComponentProperties struct { ApplicationID *string `json:"ApplicationId,omitempty"` AppID *string `json:"AppId,omitempty"` @@ -111,14 +107,14 @@ type ApplicationInsightsComponentProperties struct { SamplingPercentage *float64 `json:"SamplingPercentage,omitempty"` } -// ErrorResponse is error reponse indicates Insights service is not able to -// process the incoming request. The reason is provided in the error message. +// ErrorResponse is error reponse indicates Insights service is not able to process the incoming request. The reason is +// provided in the error message. type ErrorResponse struct { Code *string `json:"code,omitempty"` Message *string `json:"message,omitempty"` } -// Operation is cDN REST API operation +// Operation is CDN REST API operation type Operation struct { Name *string `json:"name,omitempty"` Display *OperationDisplay `json:"display,omitempty"` @@ -131,8 +127,8 @@ type OperationDisplay struct { Operation *string `json:"operation,omitempty"` } -// OperationListResult is result of the request to list CDN operations. It -// contains a list of operations and a URL link to get the next set of results. +// OperationListResult is result of the request to list CDN operations. It contains a list of operations and a URL link +// to get the next set of results. type OperationListResult struct { autorest.Response `json:"-"` Value *[]Operation `json:"value,omitempty"` @@ -160,8 +156,8 @@ type Resource struct { Tags *map[string]*string `json:"tags,omitempty"` } -// TagsResource is a container holding only the Tags for a resource, allowing -// the user to update the tags on a WebTest instance. +// TagsResource is a container holding only the Tags for a resource, allowing the user to update the tags on a WebTest +// instance. type TagsResource struct { Tags *map[string]*string `json:"tags,omitempty"` } @@ -178,14 +174,13 @@ type WebTest struct { *WebTestProperties `json:"properties,omitempty"` } -// WebTestGeolocation is geo-physical location to run a web test from. You must -// specify one or more locations for the test to run from. +// WebTestGeolocation is geo-physical location to run a web test from. You must specify one or more locations for the +// test to run from. type WebTestGeolocation struct { Location *string `json:"Id,omitempty"` } -// WebTestListResult is a list of 0 or more Application Insights web test -// definitions. +// WebTestListResult is a list of 0 or more Application Insights web test definitions. type WebTestListResult struct { autorest.Response `json:"-"` Value *[]WebTest `json:"value,omitempty"` @@ -219,8 +214,7 @@ type WebTestProperties struct { ProvisioningState *string `json:"provisioningState,omitempty"` } -// WebTestPropertiesConfiguration is an XML configuration specification for a -// WebTest. +// WebTestPropertiesConfiguration is an XML configuration specification for a WebTest. type WebTestPropertiesConfiguration struct { WebTest *string `json:"WebTest,omitempty"` } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/appinsights/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/appinsights/operations.go index 37e9fd47c..0c431b949 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/appinsights/operations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/appinsights/operations.go @@ -14,9 +14,8 @@ package appinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,8 +23,7 @@ import ( "net/http" ) -// OperationsClient is the composite Swagger for Application Insights -// Management Client +// OperationsClient is the composite Swagger for Application Insights Management Client type OperationsClient struct { ManagementClient } @@ -35,8 +33,7 @@ func NewOperationsClient(subscriptionID string) OperationsClient { return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewOperationsClientWithBaseURI creates an instance of the OperationsClient -// client. +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} } @@ -121,3 +118,48 @@ func (client OperationsClient) ListNextResults(lastResults OperationListResult) return } + +// ListComplete gets all elements from the list without paging. +func (client OperationsClient) ListComplete(cancel <-chan struct{}) (<-chan Operation, <-chan error) { + resultChan := make(chan Operation) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/appinsights/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/appinsights/version.go index 312b5345e..c9fee01ba 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/appinsights/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/appinsights/version.go @@ -14,16 +14,15 @@ package appinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-appinsights/" + return "Azure-SDK-For-Go/v11.0.0-beta arm-appinsights/2015-05-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/appinsights/webtests.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/appinsights/webtests.go index 509dfe804..77a0dafd4 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/appinsights/webtests.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/appinsights/webtests.go @@ -14,9 +14,8 @@ package appinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// WebTestsClient is the composite Swagger for Application Insights Management -// Client +// WebTestsClient is the composite Swagger for Application Insights Management Client type WebTestsClient struct { ManagementClient } @@ -36,19 +34,16 @@ func NewWebTestsClient(subscriptionID string) WebTestsClient { return NewWebTestsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewWebTestsClientWithBaseURI creates an instance of the WebTestsClient -// client. +// NewWebTestsClientWithBaseURI creates an instance of the WebTestsClient client. func NewWebTestsClientWithBaseURI(baseURI string, subscriptionID string) WebTestsClient { return WebTestsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates an Application Insights web test -// definition. +// CreateOrUpdate creates or updates an Application Insights web test definition. // -// resourceGroupName is the name of the resource group. webTestName is the name -// of the Application Insights webtest resource. webTestDefinition is -// properties that need to be specified to create or update an Application -// Insights web test definition. +// resourceGroupName is the name of the resource group. webTestName is the name of the Application Insights webtest +// resource. webTestDefinition is properties that need to be specified to create or update an Application Insights web +// test definition. func (client WebTestsClient) CreateOrUpdate(resourceGroupName string, webTestName string, webTestDefinition WebTest) (result WebTest, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: webTestDefinition, @@ -125,8 +120,8 @@ func (client WebTestsClient) CreateOrUpdateResponder(resp *http.Response) (resul // Delete deletes an Application Insights web test. // -// resourceGroupName is the name of the resource group. webTestName is the name -// of the Application Insights webtest resource. +// resourceGroupName is the name of the resource group. webTestName is the name of the Application Insights webtest +// resource. func (client WebTestsClient) Delete(resourceGroupName string, webTestName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, webTestName) if err != nil { @@ -190,8 +185,8 @@ func (client WebTestsClient) DeleteResponder(resp *http.Response) (result autore // Get get a specific Application Insights web test definition. // -// resourceGroupName is the name of the resource group. webTestName is the name -// of the Application Insights webtest resource. +// resourceGroupName is the name of the resource group. webTestName is the name of the Application Insights webtest +// resource. func (client WebTestsClient) Get(resourceGroupName string, webTestName string) (result WebTest, err error) { req, err := client.GetPreparer(resourceGroupName, webTestName) if err != nil { @@ -254,8 +249,7 @@ func (client WebTestsClient) GetResponder(resp *http.Response) (result WebTest, return } -// List get all Application Insights web test alerts definitioned within a -// subscription. +// List get all Application Insights web test alerts definitioned within a subscription. func (client WebTestsClient) List() (result WebTestListResult, err error) { req, err := client.ListPreparer() if err != nil { @@ -340,8 +334,52 @@ func (client WebTestsClient) ListNextResults(lastResults WebTestListResult) (res return } -// ListByResourceGroup get all Application Insights web tests defined within a -// specified resource group. +// ListComplete gets all elements from the list without paging. +func (client WebTestsClient) ListComplete(cancel <-chan struct{}) (<-chan WebTest, <-chan error) { + resultChan := make(chan WebTest) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListByResourceGroup get all Application Insights web tests defined within a specified resource group. // // resourceGroupName is the name of the resource group. func (client WebTestsClient) ListByResourceGroup(resourceGroupName string) (result WebTestListResult, err error) { @@ -429,11 +467,55 @@ func (client WebTestsClient) ListByResourceGroupNextResults(lastResults WebTestL return } +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client WebTestsClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan WebTest, <-chan error) { + resultChan := make(chan WebTest) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // UpdateTags creates or updates an Application Insights web test definition. // -// resourceGroupName is the name of the resource group. webTestName is the name -// of the Application Insights webtest resource. webTestTags is updated tag -// information to set into the web test instance. +// resourceGroupName is the name of the resource group. webTestName is the name of the Application Insights webtest +// resource. webTestTags is updated tag information to set into the web test instance. func (client WebTestsClient) UpdateTags(resourceGroupName string, webTestName string, webTestTags TagsResource) (result WebTest, err error) { req, err := client.UpdateTagsPreparer(resourceGroupName, webTestName, webTestTags) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/classicadministrators.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/classicadministrators.go index 50824a38a..34a4dd694 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/classicadministrators.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/classicadministrators.go @@ -14,9 +14,8 @@ package authorization // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,30 +23,25 @@ import ( "net/http" ) -// ClassicAdministratorsClient is the role based access control provides you a -// way to apply granular level policy administration down to individual -// resources or resource groups. These operations enable you to manage role -// definitions and role assignments. A role definition describes the set of -// actions that can be performed on resources. A role assignment grants access -// to Azure Active Directory users. +// ClassicAdministratorsClient is the role based access control provides you a way to apply granular level policy +// administration down to individual resources or resource groups. These operations enable you to manage role +// definitions and role assignments. A role definition describes the set of actions that can be performed on resources. +// A role assignment grants access to Azure Active Directory users. type ClassicAdministratorsClient struct { ManagementClient } -// NewClassicAdministratorsClient creates an instance of the -// ClassicAdministratorsClient client. +// NewClassicAdministratorsClient creates an instance of the ClassicAdministratorsClient client. func NewClassicAdministratorsClient(subscriptionID string) ClassicAdministratorsClient { return NewClassicAdministratorsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewClassicAdministratorsClientWithBaseURI creates an instance of the -// ClassicAdministratorsClient client. +// NewClassicAdministratorsClientWithBaseURI creates an instance of the ClassicAdministratorsClient client. func NewClassicAdministratorsClientWithBaseURI(baseURI string, subscriptionID string) ClassicAdministratorsClient { return ClassicAdministratorsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// List gets service administrator, account administrator, and -// co-administrators for the subscription. +// List gets service administrator, account administrator, and co-administrators for the subscription. func (client ClassicAdministratorsClient) List() (result ClassicAdministratorListResult, err error) { req, err := client.ListPreparer() if err != nil { @@ -131,3 +125,48 @@ func (client ClassicAdministratorsClient) ListNextResults(lastResults ClassicAdm return } + +// ListComplete gets all elements from the list without paging. +func (client ClassicAdministratorsClient) ListComplete(cancel <-chan struct{}) (<-chan ClassicAdministrator, <-chan error) { + resultChan := make(chan ClassicAdministrator) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/client.go index 5330315d2..79e308c09 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/client.go @@ -1,11 +1,9 @@ -// Package authorization implements the Azure ARM Authorization service API -// version 2015-07-01. +// Package authorization implements the Azure ARM Authorization service API version 2015-07-01. // -// Role based access control provides you a way to apply granular level policy -// administration down to individual resources or resource groups. These -// operations enable you to manage role definitions and role assignments. A -// role definition describes the set of actions that can be performed on -// resources. A role assignment grants access to Azure Active Directory users. +// Role based access control provides you a way to apply granular level policy administration down to individual +// resources or resource groups. These operations enable you to manage role definitions and role assignments. A role +// definition describes the set of actions that can be performed on resources. A role assignment grants access to Azure +// Active Directory users. package authorization // Copyright (c) Microsoft and contributors. All rights reserved. @@ -22,9 +20,8 @@ package authorization // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/models.go index b615a2c3e..bf6ea05f0 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/models.go @@ -14,9 +14,8 @@ package authorization // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -32,8 +31,7 @@ type ClassicAdministrator struct { Properties *ClassicAdministratorProperties `json:"properties,omitempty"` } -// ClassicAdministratorListResult is classicAdministrator list result -// information. +// ClassicAdministratorListResult is classicAdministrator list result information. type ClassicAdministratorListResult struct { autorest.Response `json:"-"` Value *[]ClassicAdministrator `json:"value,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/permissions.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/permissions.go index 36abbb9c2..4080bc871 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/permissions.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/permissions.go @@ -14,9 +14,8 @@ package authorization // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,12 +23,10 @@ import ( "net/http" ) -// PermissionsClient is the role based access control provides you a way to -// apply granular level policy administration down to individual resources or -// resource groups. These operations enable you to manage role definitions and -// role assignments. A role definition describes the set of actions that can be -// performed on resources. A role assignment grants access to Azure Active -// Directory users. +// PermissionsClient is the role based access control provides you a way to apply granular level policy administration +// down to individual resources or resource groups. These operations enable you to manage role definitions and role +// assignments. A role definition describes the set of actions that can be performed on resources. A role assignment +// grants access to Azure Active Directory users. type PermissionsClient struct { ManagementClient } @@ -39,19 +36,17 @@ func NewPermissionsClient(subscriptionID string) PermissionsClient { return NewPermissionsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewPermissionsClientWithBaseURI creates an instance of the PermissionsClient -// client. +// NewPermissionsClientWithBaseURI creates an instance of the PermissionsClient client. func NewPermissionsClientWithBaseURI(baseURI string, subscriptionID string) PermissionsClient { return PermissionsClient{NewWithBaseURI(baseURI, subscriptionID)} } // ListForResource gets all permissions the caller has for a resource. // -// resourceGroupName is the name of the resource group containing the resource. -// The name is case insensitive. resourceProviderNamespace is the namespace of -// the resource provider. parentResourcePath is the parent resource identity. -// resourceType is the resource type of the resource. resourceName is the name -// of the resource to get the permissions for. +// resourceGroupName is the name of the resource group containing the resource. The name is case insensitive. +// resourceProviderNamespace is the namespace of the resource provider. parentResourcePath is the parent resource +// identity. resourceType is the resource type of the resource. resourceName is the name of the resource to get the +// permissions for. func (client PermissionsClient) ListForResource(resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string) (result PermissionGetResult, err error) { req, err := client.ListForResourcePreparer(resourceGroupName, resourceProviderNamespace, parentResourcePath, resourceType, resourceName) if err != nil { @@ -141,11 +136,54 @@ func (client PermissionsClient) ListForResourceNextResults(lastResults Permissio return } -// ListForResourceGroup gets all permissions the caller has for a resource -// group. +// ListForResourceComplete gets all elements from the list without paging. +func (client PermissionsClient) ListForResourceComplete(resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string, cancel <-chan struct{}) (<-chan Permission, <-chan error) { + resultChan := make(chan Permission) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListForResource(resourceGroupName, resourceProviderNamespace, parentResourcePath, resourceType, resourceName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListForResourceNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListForResourceGroup gets all permissions the caller has for a resource group. // -// resourceGroupName is the name of the resource group to get the permissions -// for. The name is case insensitive. +// resourceGroupName is the name of the resource group to get the permissions for. The name is case insensitive. func (client PermissionsClient) ListForResourceGroup(resourceGroupName string) (result PermissionGetResult, err error) { req, err := client.ListForResourceGroupPreparer(resourceGroupName) if err != nil { @@ -230,3 +268,48 @@ func (client PermissionsClient) ListForResourceGroupNextResults(lastResults Perm return } + +// ListForResourceGroupComplete gets all elements from the list without paging. +func (client PermissionsClient) ListForResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan Permission, <-chan error) { + resultChan := make(chan Permission) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListForResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListForResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/provideroperationsmetadata.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/provideroperationsmetadata.go index 5208637b5..9a8b85b3a 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/provideroperationsmetadata.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/provideroperationsmetadata.go @@ -14,9 +14,8 @@ package authorization // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,32 +23,28 @@ import ( "net/http" ) -// ProviderOperationsMetadataClient is the role based access control provides -// you a way to apply granular level policy administration down to individual -// resources or resource groups. These operations enable you to manage role -// definitions and role assignments. A role definition describes the set of -// actions that can be performed on resources. A role assignment grants access -// to Azure Active Directory users. +// ProviderOperationsMetadataClient is the role based access control provides you a way to apply granular level policy +// administration down to individual resources or resource groups. These operations enable you to manage role +// definitions and role assignments. A role definition describes the set of actions that can be performed on resources. +// A role assignment grants access to Azure Active Directory users. type ProviderOperationsMetadataClient struct { ManagementClient } -// NewProviderOperationsMetadataClient creates an instance of the -// ProviderOperationsMetadataClient client. +// NewProviderOperationsMetadataClient creates an instance of the ProviderOperationsMetadataClient client. func NewProviderOperationsMetadataClient(subscriptionID string) ProviderOperationsMetadataClient { return NewProviderOperationsMetadataClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewProviderOperationsMetadataClientWithBaseURI creates an instance of the -// ProviderOperationsMetadataClient client. +// NewProviderOperationsMetadataClientWithBaseURI creates an instance of the ProviderOperationsMetadataClient client. func NewProviderOperationsMetadataClientWithBaseURI(baseURI string, subscriptionID string) ProviderOperationsMetadataClient { return ProviderOperationsMetadataClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get gets provider operations metadata for the specified resource provider. // -// resourceProviderNamespace is the namespace of the resource provider. expand -// is specifies whether to expand the values. +// resourceProviderNamespace is the namespace of the resource provider. expand is specifies whether to expand the +// values. func (client ProviderOperationsMetadataClient) Get(resourceProviderNamespace string, expand string) (result ProviderOperationsMetadata, err error) { req, err := client.GetPreparer(resourceProviderNamespace, expand) if err != nil { @@ -198,3 +193,48 @@ func (client ProviderOperationsMetadataClient) ListNextResults(lastResults Provi return } + +// ListComplete gets all elements from the list without paging. +func (client ProviderOperationsMetadataClient) ListComplete(expand string, cancel <-chan struct{}) (<-chan ProviderOperationsMetadata, <-chan error) { + resultChan := make(chan ProviderOperationsMetadata) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(expand) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/roleassignments.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/roleassignments.go index 6f02c9550..6306b0e53 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/roleassignments.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/roleassignments.go @@ -14,9 +14,8 @@ package authorization // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,39 +23,32 @@ import ( "net/http" ) -// RoleAssignmentsClient is the role based access control provides you a way to -// apply granular level policy administration down to individual resources or -// resource groups. These operations enable you to manage role definitions and -// role assignments. A role definition describes the set of actions that can be -// performed on resources. A role assignment grants access to Azure Active -// Directory users. +// RoleAssignmentsClient is the role based access control provides you a way to apply granular level policy +// administration down to individual resources or resource groups. These operations enable you to manage role +// definitions and role assignments. A role definition describes the set of actions that can be performed on resources. +// A role assignment grants access to Azure Active Directory users. type RoleAssignmentsClient struct { ManagementClient } -// NewRoleAssignmentsClient creates an instance of the RoleAssignmentsClient -// client. +// NewRoleAssignmentsClient creates an instance of the RoleAssignmentsClient client. func NewRoleAssignmentsClient(subscriptionID string) RoleAssignmentsClient { return NewRoleAssignmentsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewRoleAssignmentsClientWithBaseURI creates an instance of the -// RoleAssignmentsClient client. +// NewRoleAssignmentsClientWithBaseURI creates an instance of the RoleAssignmentsClient client. func NewRoleAssignmentsClientWithBaseURI(baseURI string, subscriptionID string) RoleAssignmentsClient { return RoleAssignmentsClient{NewWithBaseURI(baseURI, subscriptionID)} } // Create creates a role assignment. // -// scope is the scope of the role assignment to create. The scope can be any -// REST resource instance. For example, use '/subscriptions/{subscription-id}/' -// for a subscription, -// '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for -// a resource group, and +// scope is the scope of the role assignment to create. The scope can be any REST resource instance. For example, use +// '/subscriptions/{subscription-id}/' for a subscription, +// '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and // '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' -// for a resource. roleAssignmentName is the name of the role assignment to -// create. It can be any valid GUID. parameters is parameters for the role -// assignment. +// for a resource. roleAssignmentName is the name of the role assignment to create. It can be any valid GUID. +// parameters is parameters for the role assignment. func (client RoleAssignmentsClient) Create(scope string, roleAssignmentName string, parameters RoleAssignmentCreateParameters) (result RoleAssignment, err error) { req, err := client.CreatePreparer(scope, roleAssignmentName, parameters) if err != nil { @@ -122,8 +114,7 @@ func (client RoleAssignmentsClient) CreateResponder(resp *http.Response) (result // CreateByID creates a role assignment by ID. // -// roleAssignmentID is the ID of the role assignment to create. parameters is -// parameters for the role assignment. +// roleAssignmentID is the ID of the role assignment to create. parameters is parameters for the role assignment. func (client RoleAssignmentsClient) CreateByID(roleAssignmentID string, parameters RoleAssignmentCreateParameters) (result RoleAssignment, err error) { req, err := client.CreateByIDPreparer(roleAssignmentID, parameters) if err != nil { @@ -188,8 +179,8 @@ func (client RoleAssignmentsClient) CreateByIDResponder(resp *http.Response) (re // Delete deletes a role assignment. // -// scope is the scope of the role assignment to delete. roleAssignmentName is -// the name of the role assignment to delete. +// scope is the scope of the role assignment to delete. roleAssignmentName is the name of the role assignment to +// delete. func (client RoleAssignmentsClient) Delete(scope string, roleAssignmentName string) (result RoleAssignment, err error) { req, err := client.DeletePreparer(scope, roleAssignmentName) if err != nil { @@ -316,8 +307,7 @@ func (client RoleAssignmentsClient) DeleteByIDResponder(resp *http.Response) (re // Get get the specified role assignment. // -// scope is the scope of the role assignment. roleAssignmentName is the name of -// the role assignment to get. +// scope is the scope of the role assignment. roleAssignmentName is the name of the role assignment to get. func (client RoleAssignmentsClient) Get(scope string, roleAssignmentName string) (result RoleAssignment, err error) { req, err := client.GetPreparer(scope, roleAssignmentName) if err != nil { @@ -444,10 +434,9 @@ func (client RoleAssignmentsClient) GetByIDResponder(resp *http.Response) (resul // List gets all role assignments for the subscription. // -// filter is the filter to apply on the operation. Use $filter=atScope() to -// return all role assignments at or above the scope. Use $filter=principalId -// eq {id} to return all role assignments at, above or below the scope for the -// specified principal. +// filter is the filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the +// scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified +// principal. func (client RoleAssignmentsClient) List(filter string) (result RoleAssignmentListResult, err error) { req, err := client.ListPreparer(filter) if err != nil { @@ -535,16 +524,58 @@ func (client RoleAssignmentsClient) ListNextResults(lastResults RoleAssignmentLi return } +// ListComplete gets all elements from the list without paging. +func (client RoleAssignmentsClient) ListComplete(filter string, cancel <-chan struct{}) (<-chan RoleAssignment, <-chan error) { + resultChan := make(chan RoleAssignment) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListForResource gets role assignments for a resource. // -// resourceGroupName is the name of the resource group. -// resourceProviderNamespace is the namespace of the resource provider. -// parentResourcePath is the parent resource identity. resourceType is the -// resource type of the resource. resourceName is the name of the resource to -// get role assignments for. filter is the filter to apply on the operation. -// Use $filter=atScope() to return all role assignments at or above the scope. -// Use $filter=principalId eq {id} to return all role assignments at, above or -// below the scope for the specified principal. +// resourceGroupName is the name of the resource group. resourceProviderNamespace is the namespace of the resource +// provider. parentResourcePath is the parent resource identity. resourceType is the resource type of the resource. +// resourceName is the name of the resource to get role assignments for. filter is the filter to apply on the +// operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq +// {id} to return all role assignments at, above or below the scope for the specified principal. func (client RoleAssignmentsClient) ListForResource(resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string, filter string) (result RoleAssignmentListResult, err error) { req, err := client.ListForResourcePreparer(resourceGroupName, resourceProviderNamespace, parentResourcePath, resourceType, resourceName, filter) if err != nil { @@ -637,12 +668,56 @@ func (client RoleAssignmentsClient) ListForResourceNextResults(lastResults RoleA return } +// ListForResourceComplete gets all elements from the list without paging. +func (client RoleAssignmentsClient) ListForResourceComplete(resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string, filter string, cancel <-chan struct{}) (<-chan RoleAssignment, <-chan error) { + resultChan := make(chan RoleAssignment) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListForResource(resourceGroupName, resourceProviderNamespace, parentResourcePath, resourceType, resourceName, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListForResourceNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListForResourceGroup gets role assignments for a resource group. // -// resourceGroupName is the name of the resource group. filter is the filter to -// apply on the operation. Use $filter=atScope() to return all role assignments -// at or above the scope. Use $filter=principalId eq {id} to return all role -// assignments at, above or below the scope for the specified principal. +// resourceGroupName is the name of the resource group. filter is the filter to apply on the operation. Use +// $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return +// all role assignments at, above or below the scope for the specified principal. func (client RoleAssignmentsClient) ListForResourceGroup(resourceGroupName string, filter string) (result RoleAssignmentListResult, err error) { req, err := client.ListForResourceGroupPreparer(resourceGroupName, filter) if err != nil { @@ -731,12 +806,56 @@ func (client RoleAssignmentsClient) ListForResourceGroupNextResults(lastResults return } +// ListForResourceGroupComplete gets all elements from the list without paging. +func (client RoleAssignmentsClient) ListForResourceGroupComplete(resourceGroupName string, filter string, cancel <-chan struct{}) (<-chan RoleAssignment, <-chan error) { + resultChan := make(chan RoleAssignment) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListForResourceGroup(resourceGroupName, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListForResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListForScope gets role assignments for a scope. // -// scope is the scope of the role assignments. filter is the filter to apply on -// the operation. Use $filter=atScope() to return all role assignments at or -// above the scope. Use $filter=principalId eq {id} to return all role -// assignments at, above or below the scope for the specified principal. +// scope is the scope of the role assignments. filter is the filter to apply on the operation. Use $filter=atScope() to +// return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments +// at, above or below the scope for the specified principal. func (client RoleAssignmentsClient) ListForScope(scope string, filter string) (result RoleAssignmentListResult, err error) { req, err := client.ListForScopePreparer(scope, filter) if err != nil { @@ -823,3 +942,48 @@ func (client RoleAssignmentsClient) ListForScopeNextResults(lastResults RoleAssi return } + +// ListForScopeComplete gets all elements from the list without paging. +func (client RoleAssignmentsClient) ListForScopeComplete(scope string, filter string, cancel <-chan struct{}) (<-chan RoleAssignment, <-chan error) { + resultChan := make(chan RoleAssignment) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListForScope(scope, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListForScopeNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/roledefinitions.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/roledefinitions.go index cdd9efc22..2e48fdbe6 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/roledefinitions.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/roledefinitions.go @@ -14,9 +14,8 @@ package authorization // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,32 +23,28 @@ import ( "net/http" ) -// RoleDefinitionsClient is the role based access control provides you a way to -// apply granular level policy administration down to individual resources or -// resource groups. These operations enable you to manage role definitions and -// role assignments. A role definition describes the set of actions that can be -// performed on resources. A role assignment grants access to Azure Active -// Directory users. +// RoleDefinitionsClient is the role based access control provides you a way to apply granular level policy +// administration down to individual resources or resource groups. These operations enable you to manage role +// definitions and role assignments. A role definition describes the set of actions that can be performed on resources. +// A role assignment grants access to Azure Active Directory users. type RoleDefinitionsClient struct { ManagementClient } -// NewRoleDefinitionsClient creates an instance of the RoleDefinitionsClient -// client. +// NewRoleDefinitionsClient creates an instance of the RoleDefinitionsClient client. func NewRoleDefinitionsClient(subscriptionID string) RoleDefinitionsClient { return NewRoleDefinitionsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewRoleDefinitionsClientWithBaseURI creates an instance of the -// RoleDefinitionsClient client. +// NewRoleDefinitionsClientWithBaseURI creates an instance of the RoleDefinitionsClient client. func NewRoleDefinitionsClientWithBaseURI(baseURI string, subscriptionID string) RoleDefinitionsClient { return RoleDefinitionsClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate creates or updates a role definition. // -// scope is the scope of the role definition. roleDefinitionID is the ID of the -// role definition. roleDefinition is the values for the role definition. +// scope is the scope of the role definition. roleDefinitionID is the ID of the role definition. roleDefinition is the +// values for the role definition. func (client RoleDefinitionsClient) CreateOrUpdate(scope string, roleDefinitionID string, roleDefinition RoleDefinition) (result RoleDefinition, err error) { req, err := client.CreateOrUpdatePreparer(scope, roleDefinitionID, roleDefinition) if err != nil { @@ -115,8 +110,7 @@ func (client RoleDefinitionsClient) CreateOrUpdateResponder(resp *http.Response) // Delete deletes a role definition. // -// scope is the scope of the role definition. roleDefinitionID is the ID of the -// role definition to delete. +// scope is the scope of the role definition. roleDefinitionID is the ID of the role definition to delete. func (client RoleDefinitionsClient) Delete(scope string, roleDefinitionID string) (result RoleDefinition, err error) { req, err := client.DeletePreparer(scope, roleDefinitionID) if err != nil { @@ -180,8 +174,7 @@ func (client RoleDefinitionsClient) DeleteResponder(resp *http.Response) (result // Get get role definition by name (GUID). // -// scope is the scope of the role definition. roleDefinitionID is the ID of the -// role definition. +// scope is the scope of the role definition. roleDefinitionID is the ID of the role definition. func (client RoleDefinitionsClient) Get(scope string, roleDefinitionID string) (result RoleDefinition, err error) { req, err := client.GetPreparer(scope, roleDefinitionID) if err != nil { @@ -308,9 +301,8 @@ func (client RoleDefinitionsClient) GetByIDResponder(resp *http.Response) (resul // List get all role definitions that are applicable at scope and above. // -// scope is the scope of the role definition. filter is the filter to apply on -// the operation. Use atScopeAndBelow filter to search below the given scope as -// well. +// scope is the scope of the role definition. filter is the filter to apply on the operation. Use atScopeAndBelow +// filter to search below the given scope as well. func (client RoleDefinitionsClient) List(scope string, filter string) (result RoleDefinitionListResult, err error) { req, err := client.ListPreparer(scope, filter) if err != nil { @@ -397,3 +389,48 @@ func (client RoleDefinitionsClient) ListNextResults(lastResults RoleDefinitionLi return } + +// ListComplete gets all elements from the list without paging. +func (client RoleDefinitionsClient) ListComplete(scope string, filter string, cancel <-chan struct{}) (<-chan RoleDefinition, <-chan error) { + resultChan := make(chan RoleDefinition) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(scope, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/version.go index dad681833..e41d47609 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/authorization/version.go @@ -14,16 +14,15 @@ package authorization // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-authorization/2015-07-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-authorization/2015-07-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/account.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/account.go index e651973d5..9441db5b4 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/account.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/account.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// AccountClient is the composite Swagger json for Azure Automation Client +// AccountClient is the automation Client type AccountClient struct { ManagementClient } @@ -42,9 +41,8 @@ func NewAccountClientWithBaseURI(baseURI string, subscriptionID string) AccountC // CreateOrUpdate create or update automation account. // -// resourceGroupName is the resource group name. automationAccountName is -// parameters supplied to the create or update automation account. parameters -// is parameters supplied to the create or update automation account. +// resourceGroupName is the resource group name. automationAccountName is parameters supplied to the create or update +// automation account. parameters is parameters supplied to the create or update automation account. func (client AccountClient) CreateOrUpdate(resourceGroupName string, automationAccountName string, parameters AccountCreateOrUpdateParameters) (result Account, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -117,8 +115,7 @@ func (client AccountClient) CreateOrUpdateResponder(resp *http.Response) (result // Delete delete an automation account. // -// resourceGroupName is the resource group name. automationAccountName is -// automation account name. +// resourceGroupName is the resource group name. automationAccountName is automation account name. func (client AccountClient) Delete(resourceGroupName string, automationAccountName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -188,8 +185,7 @@ func (client AccountClient) DeleteResponder(resp *http.Response) (result autores // Get get information about an Automation Account. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. func (client AccountClient) Get(resourceGroupName string, automationAccountName string) (result Account, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -343,8 +339,52 @@ func (client AccountClient) ListNextResults(lastResults AccountListResult) (resu return } -// ListByResourceGroup retrieve a list of accounts within a given resource -// group. +// ListComplete gets all elements from the list without paging. +func (client AccountClient) ListComplete(cancel <-chan struct{}) (<-chan Account, <-chan error) { + resultChan := make(chan Account) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListByResourceGroup retrieve a list of accounts within a given resource group. // // resourceGroupName is the resource group name. func (client AccountClient) ListByResourceGroup(resourceGroupName string) (result AccountListResult, err error) { @@ -438,11 +478,55 @@ func (client AccountClient) ListByResourceGroupNextResults(lastResults AccountLi return } +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client AccountClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan Account, <-chan error) { + resultChan := make(chan Account) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update update an automation account. // -// resourceGroupName is the resource group name. automationAccountName is -// automation account name. parameters is parameters supplied to the update -// automation account. +// resourceGroupName is the resource group name. automationAccountName is automation account name. parameters is +// parameters supplied to the update automation account. func (client AccountClient) Update(resourceGroupName string, automationAccountName string, parameters AccountUpdateParameters) (result Account, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/activity.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/activity.go index a103e5544..4e865773d 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/activity.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/activity.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// ActivityClient is the composite Swagger json for Azure Automation Client +// ActivityClient is the automation Client type ActivityClient struct { ManagementClient } @@ -35,18 +34,15 @@ func NewActivityClient(subscriptionID string) ActivityClient { return NewActivityClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewActivityClientWithBaseURI creates an instance of the ActivityClient -// client. +// NewActivityClientWithBaseURI creates an instance of the ActivityClient client. func NewActivityClientWithBaseURI(baseURI string, subscriptionID string) ActivityClient { return ActivityClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Get retrieve the activity in the module identified by module name and -// activity name. +// Get retrieve the activity in the module identified by module name and activity name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. moduleName is the name of module. activityName is -// the name of activity. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. moduleName is +// the name of module. activityName is the name of activity. func (client ActivityClient) Get(resourceGroupName string, automationAccountName string, moduleName string, activityName string) (result Activity, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -117,11 +113,10 @@ func (client ActivityClient) GetResponder(resp *http.Response) (result Activity, return } -// ListByModule retrieve a list of activities in the module identified by -// module name. +// ListByModule retrieve a list of activities in the module identified by module name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. moduleName is the name of module. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. moduleName is +// the name of module. func (client ActivityClient) ListByModule(resourceGroupName string, automationAccountName string, moduleName string) (result ActivityListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -214,3 +209,48 @@ func (client ActivityClient) ListByModuleNextResults(lastResults ActivityListRes return } + +// ListByModuleComplete gets all elements from the list without paging. +func (client ActivityClient) ListByModuleComplete(resourceGroupName string, automationAccountName string, moduleName string, cancel <-chan struct{}) (<-chan Activity, <-chan error) { + resultChan := make(chan Activity) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByModule(resourceGroupName, automationAccountName, moduleName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByModuleNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/agentregistrationinformation.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/agentregistrationinformation.go index 02d16325c..996d67d7b 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/agentregistrationinformation.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/agentregistrationinformation.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,28 +24,25 @@ import ( "net/http" ) -// AgentRegistrationInformationClient is the composite Swagger json for Azure -// Automation Client +// AgentRegistrationInformationClient is the automation Client type AgentRegistrationInformationClient struct { ManagementClient } -// NewAgentRegistrationInformationClient creates an instance of the -// AgentRegistrationInformationClient client. +// NewAgentRegistrationInformationClient creates an instance of the AgentRegistrationInformationClient client. func NewAgentRegistrationInformationClient(subscriptionID string) AgentRegistrationInformationClient { return NewAgentRegistrationInformationClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewAgentRegistrationInformationClientWithBaseURI creates an instance of the -// AgentRegistrationInformationClient client. +// NewAgentRegistrationInformationClientWithBaseURI creates an instance of the AgentRegistrationInformationClient +// client. func NewAgentRegistrationInformationClientWithBaseURI(baseURI string, subscriptionID string) AgentRegistrationInformationClient { return AgentRegistrationInformationClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get retrieve the automation agent registration information. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. func (client AgentRegistrationInformationClient) Get(resourceGroupName string, automationAccountName string) (result AgentRegistration, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -117,9 +113,8 @@ func (client AgentRegistrationInformationClient) GetResponder(resp *http.Respons // RegenerateKey regenerate a primary or secondary agent registration key // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. parameters is the name of the agent registration -// key to be regenerated +// resourceGroupName is the resource group name. automationAccountName is the automation account name. parameters is +// the name of the agent registration key to be regenerated func (client AgentRegistrationInformationClient) RegenerateKey(resourceGroupName string, automationAccountName string, parameters AgentRegistrationRegenerateKeyParameter) (result AgentRegistration, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/certificate.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/certificate.go index 368c73d49..db2055ad6 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/certificate.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/certificate.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// CertificateClient is the composite Swagger json for Azure Automation Client +// CertificateClient is the automation Client type CertificateClient struct { ManagementClient } @@ -35,18 +34,16 @@ func NewCertificateClient(subscriptionID string) CertificateClient { return NewCertificateClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewCertificateClientWithBaseURI creates an instance of the CertificateClient -// client. +// NewCertificateClientWithBaseURI creates an instance of the CertificateClient client. func NewCertificateClientWithBaseURI(baseURI string, subscriptionID string) CertificateClient { return CertificateClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate create a certificate. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. certificateName is the parameters supplied to the -// create or update certificate operation. parameters is the parameters -// supplied to the create or update certificate operation. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. certificateName +// is the parameters supplied to the create or update certificate operation. parameters is the parameters supplied to +// the create or update certificate operation. func (client CertificateClient) CreateOrUpdate(resourceGroupName string, automationAccountName string, certificateName string, parameters CertificateCreateOrUpdateParameters) (result Certificate, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -124,8 +121,8 @@ func (client CertificateClient) CreateOrUpdateResponder(resp *http.Response) (re // Delete delete the certificate. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. certificateName is the name of certificate. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. certificateName +// is the name of certificate. func (client CertificateClient) Delete(resourceGroupName string, automationAccountName string, certificateName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -196,8 +193,8 @@ func (client CertificateClient) DeleteResponder(resp *http.Response) (result aut // Get retrieve the certificate identified by certificate name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. certificateName is the name of certificate. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. certificateName +// is the name of certificate. func (client CertificateClient) Get(resourceGroupName string, automationAccountName string, certificateName string) (result Certificate, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -269,8 +266,7 @@ func (client CertificateClient) GetResponder(resp *http.Response) (result Certif // ListByAutomationAccount retrieve a list of certificates. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. func (client CertificateClient) ListByAutomationAccount(resourceGroupName string, automationAccountName string) (result CertificateListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -363,12 +359,56 @@ func (client CertificateClient) ListByAutomationAccountNextResults(lastResults C return } +// ListByAutomationAccountComplete gets all elements from the list without paging. +func (client CertificateClient) ListByAutomationAccountComplete(resourceGroupName string, automationAccountName string, cancel <-chan struct{}) (<-chan Certificate, <-chan error) { + resultChan := make(chan Certificate) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByAutomationAccount(resourceGroupName, automationAccountName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByAutomationAccountNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update update a certificate. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. certificateName is the parameters supplied to the -// update certificate operation. parameters is the parameters supplied to the -// update certificate operation. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. certificateName +// is the parameters supplied to the update certificate operation. parameters is the parameters supplied to the update +// certificate operation. func (client CertificateClient) Update(resourceGroupName string, automationAccountName string, certificateName string, parameters CertificateUpdateParameters) (result Certificate, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/client.go index 4d2bf5c16..4628235a2 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/client.go @@ -1,6 +1,6 @@ -// Package automation implements the Azure ARM Automation service API version . +// Package automation implements the Azure ARM Automation service API version 2015-10-31. // -// Composite Swagger json for Azure Automation Client +// Automation Client package automation // Copyright (c) Microsoft and contributors. All rights reserved. @@ -17,9 +17,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/connection.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/connection.go index 7d3300e5d..8b97ce82a 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/connection.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/connection.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// ConnectionClient is the composite Swagger json for Azure Automation Client +// ConnectionClient is the automation Client type ConnectionClient struct { ManagementClient } @@ -35,18 +34,16 @@ func NewConnectionClient(subscriptionID string) ConnectionClient { return NewConnectionClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewConnectionClientWithBaseURI creates an instance of the ConnectionClient -// client. +// NewConnectionClientWithBaseURI creates an instance of the ConnectionClient client. func NewConnectionClientWithBaseURI(baseURI string, subscriptionID string) ConnectionClient { return ConnectionClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate create or update a connection. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. connectionName is the parameters supplied to the -// create or update connection operation. parameters is the parameters supplied -// to the create or update connection operation. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. connectionName +// is the parameters supplied to the create or update connection operation. parameters is the parameters supplied to +// the create or update connection operation. func (client ConnectionClient) CreateOrUpdate(resourceGroupName string, automationAccountName string, connectionName string, parameters ConnectionCreateOrUpdateParameters) (result Connection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -124,8 +121,8 @@ func (client ConnectionClient) CreateOrUpdateResponder(resp *http.Response) (res // Delete delete the connection. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. connectionName is the name of connection. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. connectionName +// is the name of connection. func (client ConnectionClient) Delete(resourceGroupName string, automationAccountName string, connectionName string) (result Connection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -197,8 +194,8 @@ func (client ConnectionClient) DeleteResponder(resp *http.Response) (result Conn // Get retrieve the connection identified by connection name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. connectionName is the name of connection. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. connectionName +// is the name of connection. func (client ConnectionClient) Get(resourceGroupName string, automationAccountName string, connectionName string) (result Connection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -270,8 +267,7 @@ func (client ConnectionClient) GetResponder(resp *http.Response) (result Connect // ListByAutomationAccount retrieve a list of connections. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. func (client ConnectionClient) ListByAutomationAccount(resourceGroupName string, automationAccountName string) (result ConnectionListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -364,12 +360,56 @@ func (client ConnectionClient) ListByAutomationAccountNextResults(lastResults Co return } +// ListByAutomationAccountComplete gets all elements from the list without paging. +func (client ConnectionClient) ListByAutomationAccountComplete(resourceGroupName string, automationAccountName string, cancel <-chan struct{}) (<-chan Connection, <-chan error) { + resultChan := make(chan Connection) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByAutomationAccount(resourceGroupName, automationAccountName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByAutomationAccountNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update update a connection. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. connectionName is the parameters supplied to the -// update a connection operation. parameters is the parameters supplied to the -// update a connection operation. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. connectionName +// is the parameters supplied to the update a connection operation. parameters is the parameters supplied to the update +// a connection operation. func (client ConnectionClient) Update(resourceGroupName string, automationAccountName string, connectionName string, parameters ConnectionUpdateParameters) (result Connection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/connectiontype.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/connectiontype.go index 5e2effaf2..94e88e98b 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/connectiontype.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/connectiontype.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,30 +24,26 @@ import ( "net/http" ) -// ConnectionTypeClient is the composite Swagger json for Azure Automation -// Client +// ConnectionTypeClient is the automation Client type ConnectionTypeClient struct { ManagementClient } -// NewConnectionTypeClient creates an instance of the ConnectionTypeClient -// client. +// NewConnectionTypeClient creates an instance of the ConnectionTypeClient client. func NewConnectionTypeClient(subscriptionID string) ConnectionTypeClient { return NewConnectionTypeClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewConnectionTypeClientWithBaseURI creates an instance of the -// ConnectionTypeClient client. +// NewConnectionTypeClientWithBaseURI creates an instance of the ConnectionTypeClient client. func NewConnectionTypeClientWithBaseURI(baseURI string, subscriptionID string) ConnectionTypeClient { return ConnectionTypeClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate create a connectiontype. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. connectionTypeName is the parameters supplied to -// the create or update connectiontype operation. parameters is the parameters -// supplied to the create or update connectiontype operation. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. +// connectionTypeName is the parameters supplied to the create or update connectiontype operation. parameters is the +// parameters supplied to the create or update connectiontype operation. func (client ConnectionTypeClient) CreateOrUpdate(resourceGroupName string, automationAccountName string, connectionTypeName string, parameters ConnectionTypeCreateOrUpdateParameters) (result ConnectionType, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -126,8 +121,8 @@ func (client ConnectionTypeClient) CreateOrUpdateResponder(resp *http.Response) // Delete delete the connectiontype. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. connectionTypeName is the name of connectiontype. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. +// connectionTypeName is the name of connectiontype. func (client ConnectionTypeClient) Delete(resourceGroupName string, automationAccountName string, connectionTypeName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -198,8 +193,8 @@ func (client ConnectionTypeClient) DeleteResponder(resp *http.Response) (result // Get retrieve the connectiontype identified by connectiontype name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. connectionTypeName is the name of connectiontype. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. +// connectionTypeName is the name of connectiontype. func (client ConnectionTypeClient) Get(resourceGroupName string, automationAccountName string, connectionTypeName string) (result ConnectionType, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -271,8 +266,7 @@ func (client ConnectionTypeClient) GetResponder(resp *http.Response) (result Con // ListByAutomationAccount retrieve a list of connectiontypes. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. func (client ConnectionTypeClient) ListByAutomationAccount(resourceGroupName string, automationAccountName string) (result ConnectionTypeListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -364,3 +358,48 @@ func (client ConnectionTypeClient) ListByAutomationAccountNextResults(lastResult return } + +// ListByAutomationAccountComplete gets all elements from the list without paging. +func (client ConnectionTypeClient) ListByAutomationAccountComplete(resourceGroupName string, automationAccountName string, cancel <-chan struct{}) (<-chan ConnectionType, <-chan error) { + resultChan := make(chan ConnectionType) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByAutomationAccount(resourceGroupName, automationAccountName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByAutomationAccountNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/credential.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/credential.go index 5834f6ac0..60acf2320 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/credential.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/credential.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// CredentialClient is the composite Swagger json for Azure Automation Client +// CredentialClient is the automation Client type CredentialClient struct { ManagementClient } @@ -35,18 +34,16 @@ func NewCredentialClient(subscriptionID string) CredentialClient { return NewCredentialClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewCredentialClientWithBaseURI creates an instance of the CredentialClient -// client. +// NewCredentialClientWithBaseURI creates an instance of the CredentialClient client. func NewCredentialClientWithBaseURI(baseURI string, subscriptionID string) CredentialClient { return CredentialClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate create a credential. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. credentialName is the parameters supplied to the -// create or update credential operation. parameters is the parameters supplied -// to the create or update credential operation. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. credentialName +// is the parameters supplied to the create or update credential operation. parameters is the parameters supplied to +// the create or update credential operation. func (client CredentialClient) CreateOrUpdate(resourceGroupName string, automationAccountName string, credentialName string, parameters CredentialCreateOrUpdateParameters) (result Credential, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -126,8 +123,8 @@ func (client CredentialClient) CreateOrUpdateResponder(resp *http.Response) (res // Delete delete the credential. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. credentialName is the name of credential. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. credentialName +// is the name of credential. func (client CredentialClient) Delete(resourceGroupName string, automationAccountName string, credentialName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -198,8 +195,8 @@ func (client CredentialClient) DeleteResponder(resp *http.Response) (result auto // Get retrieve the credential identified by credential name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. credentialName is the name of credential. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. credentialName +// is the name of credential. func (client CredentialClient) Get(resourceGroupName string, automationAccountName string, credentialName string) (result Credential, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -271,8 +268,7 @@ func (client CredentialClient) GetResponder(resp *http.Response) (result Credent // ListByAutomationAccount retrieve a list of credentials. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. func (client CredentialClient) ListByAutomationAccount(resourceGroupName string, automationAccountName string) (result CredentialListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -365,12 +361,56 @@ func (client CredentialClient) ListByAutomationAccountNextResults(lastResults Cr return } +// ListByAutomationAccountComplete gets all elements from the list without paging. +func (client CredentialClient) ListByAutomationAccountComplete(resourceGroupName string, automationAccountName string, cancel <-chan struct{}) (<-chan Credential, <-chan error) { + resultChan := make(chan Credential) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByAutomationAccount(resourceGroupName, automationAccountName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByAutomationAccountNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update update a credential. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. credentialName is the parameters supplied to the -// Update credential operation. parameters is the parameters supplied to the -// Update credential operation. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. credentialName +// is the parameters supplied to the Update credential operation. parameters is the parameters supplied to the Update +// credential operation. func (client CredentialClient) Update(resourceGroupName string, automationAccountName string, credentialName string, parameters CredentialUpdateParameters) (result Credential, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/dsccompilationjob.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/dsccompilationjob.go index 15fe2346d..67bd24f73 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/dsccompilationjob.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/dsccompilationjob.go @@ -14,42 +14,36 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/azure" "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/uuid" + uuid "github.com/satori/go.uuid" "net/http" ) -// DscCompilationJobClient is the composite Swagger json for Azure Automation -// Client +// DscCompilationJobClient is the automation Client type DscCompilationJobClient struct { ManagementClient } -// NewDscCompilationJobClient creates an instance of the -// DscCompilationJobClient client. +// NewDscCompilationJobClient creates an instance of the DscCompilationJobClient client. func NewDscCompilationJobClient(subscriptionID string) DscCompilationJobClient { return NewDscCompilationJobClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewDscCompilationJobClientWithBaseURI creates an instance of the -// DscCompilationJobClient client. +// NewDscCompilationJobClientWithBaseURI creates an instance of the DscCompilationJobClient client. func NewDscCompilationJobClientWithBaseURI(baseURI string, subscriptionID string) DscCompilationJobClient { return DscCompilationJobClient{NewWithBaseURI(baseURI, subscriptionID)} } // Create creates the Dsc compilation job of the configuration. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. compilationJobID is the the DSC configuration Id. -// parameters is the parameters supplied to the create compilation job -// operation. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. compilationJobID +// is the the DSC configuration Id. parameters is the parameters supplied to the create compilation job operation. func (client DscCompilationJobClient) Create(resourceGroupName string, automationAccountName string, compilationJobID uuid.UUID, parameters DscCompilationJobCreateParameters) (result DscCompilationJob, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -126,9 +120,8 @@ func (client DscCompilationJobClient) CreateResponder(resp *http.Response) (resu // Get retrieve the Dsc configuration compilation job identified by job id. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. compilationJobID is the Dsc configuration -// compilation job id. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. compilationJobID +// is the Dsc configuration compilation job id. func (client DscCompilationJobClient) Get(resourceGroupName string, automationAccountName string, compilationJobID uuid.UUID) (result DscCompilationJob, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -200,9 +193,8 @@ func (client DscCompilationJobClient) GetResponder(resp *http.Response) (result // GetStream retrieve the job stream identified by job stream id. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. jobID is the job id. jobStreamID is the job stream -// id. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. jobID is the job +// id. jobStreamID is the job stream id. func (client DscCompilationJobClient) GetStream(resourceGroupName string, automationAccountName string, jobID uuid.UUID, jobStreamID string) (result JobStream, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -275,8 +267,8 @@ func (client DscCompilationJobClient) GetStreamResponder(resp *http.Response) (r // ListByAutomationAccount retrieve a list of dsc compilation jobs. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. filter is the filter to apply on the operation. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. filter is the +// filter to apply on the operation. func (client DscCompilationJobClient) ListByAutomationAccount(resourceGroupName string, automationAccountName string, filter string) (result DscCompilationJobListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -371,3 +363,48 @@ func (client DscCompilationJobClient) ListByAutomationAccountNextResults(lastRes return } + +// ListByAutomationAccountComplete gets all elements from the list without paging. +func (client DscCompilationJobClient) ListByAutomationAccountComplete(resourceGroupName string, automationAccountName string, filter string, cancel <-chan struct{}) (<-chan DscCompilationJob, <-chan error) { + resultChan := make(chan DscCompilationJob) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByAutomationAccount(resourceGroupName, automationAccountName, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByAutomationAccountNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/dscconfiguration.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/dscconfiguration.go index 88a8fd845..c3af83ba2 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/dscconfiguration.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/dscconfiguration.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,30 +24,26 @@ import ( "net/http" ) -// DscConfigurationClient is the composite Swagger json for Azure Automation -// Client +// DscConfigurationClient is the automation Client type DscConfigurationClient struct { ManagementClient } -// NewDscConfigurationClient creates an instance of the DscConfigurationClient -// client. +// NewDscConfigurationClient creates an instance of the DscConfigurationClient client. func NewDscConfigurationClient(subscriptionID string) DscConfigurationClient { return NewDscConfigurationClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewDscConfigurationClientWithBaseURI creates an instance of the -// DscConfigurationClient client. +// NewDscConfigurationClientWithBaseURI creates an instance of the DscConfigurationClient client. func NewDscConfigurationClientWithBaseURI(baseURI string, subscriptionID string) DscConfigurationClient { return DscConfigurationClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate create the configuration identified by configuration name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. configurationName is the create or update -// parameters for configuration. parameters is the create or update parameters -// for configuration. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. +// configurationName is the create or update parameters for configuration. parameters is the create or update +// parameters for configuration. func (client DscConfigurationClient) CreateOrUpdate(resourceGroupName string, automationAccountName string, configurationName string, parameters DscConfigurationCreateOrUpdateParameters) (result DscConfiguration, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -131,8 +126,8 @@ func (client DscConfigurationClient) CreateOrUpdateResponder(resp *http.Response // Delete delete the dsc configuration identified by configuration name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. configurationName is the configuration name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. +// configurationName is the configuration name. func (client DscConfigurationClient) Delete(resourceGroupName string, automationAccountName string, configurationName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -203,8 +198,8 @@ func (client DscConfigurationClient) DeleteResponder(resp *http.Response) (resul // Get retrieve the configuration identified by configuration name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. configurationName is the configuration name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. +// configurationName is the configuration name. func (client DscConfigurationClient) Get(resourceGroupName string, automationAccountName string, configurationName string) (result DscConfiguration, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -274,11 +269,10 @@ func (client DscConfigurationClient) GetResponder(resp *http.Response) (result D return } -// GetContent retrieve the configuration script identified by configuration -// name. +// GetContent retrieve the configuration script identified by configuration name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. configurationName is the configuration name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. +// configurationName is the configuration name. func (client DscConfigurationClient) GetContent(resourceGroupName string, automationAccountName string, configurationName string) (result ReadCloser, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -349,8 +343,7 @@ func (client DscConfigurationClient) GetContentResponder(resp *http.Response) (r // ListByAutomationAccount retrieve a list of configurations. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. func (client DscConfigurationClient) ListByAutomationAccount(resourceGroupName string, automationAccountName string) (result DscConfigurationListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -442,3 +435,48 @@ func (client DscConfigurationClient) ListByAutomationAccountNextResults(lastResu return } + +// ListByAutomationAccountComplete gets all elements from the list without paging. +func (client DscConfigurationClient) ListByAutomationAccountComplete(resourceGroupName string, automationAccountName string, cancel <-chan struct{}) (<-chan DscConfiguration, <-chan error) { + resultChan := make(chan DscConfiguration) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByAutomationAccount(resourceGroupName, automationAccountName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByAutomationAccountNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/dscnode.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/dscnode.go index fbeb848b1..36aca87a9 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/dscnode.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/dscnode.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// DscNodeClient is the composite Swagger json for Azure Automation Client +// DscNodeClient is the automation Client type DscNodeClient struct { ManagementClient } @@ -42,8 +41,8 @@ func NewDscNodeClientWithBaseURI(baseURI string, subscriptionID string) DscNodeC // Delete delete the dsc node identified by node id. // -// resourceGroupName is the resource group name. automationAccountName is -// automation account name. nodeID is the node id. +// resourceGroupName is the resource group name. automationAccountName is automation account name. nodeID is the node +// id. func (client DscNodeClient) Delete(resourceGroupName string, automationAccountName string, nodeID string) (result DscNode, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -115,8 +114,8 @@ func (client DscNodeClient) DeleteResponder(resp *http.Response) (result DscNode // Get retrieve the dsc node identified by node id. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. nodeID is the node id. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. nodeID is the +// node id. func (client DscNodeClient) Get(resourceGroupName string, automationAccountName string, nodeID string) (result DscNode, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -188,8 +187,8 @@ func (client DscNodeClient) GetResponder(resp *http.Response) (result DscNode, e // ListByAutomationAccount retrieve a list of dsc nodes. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. filter is the filter to apply on the operation. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. filter is the +// filter to apply on the operation. func (client DscNodeClient) ListByAutomationAccount(resourceGroupName string, automationAccountName string, filter string) (result DscNodeListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -285,11 +284,55 @@ func (client DscNodeClient) ListByAutomationAccountNextResults(lastResults DscNo return } +// ListByAutomationAccountComplete gets all elements from the list without paging. +func (client DscNodeClient) ListByAutomationAccountComplete(resourceGroupName string, automationAccountName string, filter string, cancel <-chan struct{}) (<-chan DscNode, <-chan error) { + resultChan := make(chan DscNode) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByAutomationAccount(resourceGroupName, automationAccountName, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByAutomationAccountNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update update the dsc node. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. nodeID is parameters supplied to the update dsc -// node. parameters is parameters supplied to the update dsc node. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. nodeID is +// parameters supplied to the update dsc node. parameters is parameters supplied to the update dsc node. func (client DscNodeClient) Update(resourceGroupName string, automationAccountName string, nodeID string, parameters DscNodeUpdateParameters) (result DscNode, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/dscnodeconfiguration.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/dscnodeconfiguration.go index 32c31ea07..02449cd41 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/dscnodeconfiguration.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/dscnodeconfiguration.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,31 +24,26 @@ import ( "net/http" ) -// DscNodeConfigurationClient is the composite Swagger json for Azure -// Automation Client +// DscNodeConfigurationClient is the automation Client type DscNodeConfigurationClient struct { ManagementClient } -// NewDscNodeConfigurationClient creates an instance of the -// DscNodeConfigurationClient client. +// NewDscNodeConfigurationClient creates an instance of the DscNodeConfigurationClient client. func NewDscNodeConfigurationClient(subscriptionID string) DscNodeConfigurationClient { return NewDscNodeConfigurationClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewDscNodeConfigurationClientWithBaseURI creates an instance of the -// DscNodeConfigurationClient client. +// NewDscNodeConfigurationClientWithBaseURI creates an instance of the DscNodeConfigurationClient client. func NewDscNodeConfigurationClientWithBaseURI(baseURI string, subscriptionID string) DscNodeConfigurationClient { return DscNodeConfigurationClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate create the node configuration identified by node -// configuration name. +// CreateOrUpdate create the node configuration identified by node configuration name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. nodeConfigurationName is the create or update -// parameters for configuration. parameters is the create or update parameters -// for configuration. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. +// nodeConfigurationName is the create or update parameters for configuration. parameters is the create or update +// parameters for configuration. func (client DscNodeConfigurationClient) CreateOrUpdate(resourceGroupName string, automationAccountName string, nodeConfigurationName string, parameters DscNodeConfigurationCreateOrUpdateParameters) (result DscNodeConfiguration, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -132,9 +126,8 @@ func (client DscNodeConfigurationClient) CreateOrUpdateResponder(resp *http.Resp // Delete delete the Dsc node configurations by node configuration. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. nodeConfigurationName is the Dsc node configuration -// name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. +// nodeConfigurationName is the Dsc node configuration name. func (client DscNodeConfigurationClient) Delete(resourceGroupName string, automationAccountName string, nodeConfigurationName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -205,9 +198,8 @@ func (client DscNodeConfigurationClient) DeleteResponder(resp *http.Response) (r // Get retrieve the Dsc node configurations by node configuration. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. nodeConfigurationName is the Dsc node configuration -// name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. +// nodeConfigurationName is the Dsc node configuration name. func (client DscNodeConfigurationClient) Get(resourceGroupName string, automationAccountName string, nodeConfigurationName string) (result DscNodeConfiguration, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -279,8 +271,8 @@ func (client DscNodeConfigurationClient) GetResponder(resp *http.Response) (resu // ListByAutomationAccount retrieve a list of dsc node configurations. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. filter is the filter to apply on the operation. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. filter is the +// filter to apply on the operation. func (client DscNodeConfigurationClient) ListByAutomationAccount(resourceGroupName string, automationAccountName string, filter string) (result DscNodeConfigurationListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -375,3 +367,48 @@ func (client DscNodeConfigurationClient) ListByAutomationAccountNextResults(last return } + +// ListByAutomationAccountComplete gets all elements from the list without paging. +func (client DscNodeConfigurationClient) ListByAutomationAccountComplete(resourceGroupName string, automationAccountName string, filter string, cancel <-chan struct{}) (<-chan DscNodeConfiguration, <-chan error) { + resultChan := make(chan DscNodeConfiguration) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByAutomationAccount(resourceGroupName, automationAccountName, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByAutomationAccountNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/fields.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/fields.go index ef597c0fb..a8ac3c060 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/fields.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/fields.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// FieldsClient is the composite Swagger json for Azure Automation Client +// FieldsClient is the automation Client type FieldsClient struct { ManagementClient } @@ -40,12 +39,10 @@ func NewFieldsClientWithBaseURI(baseURI string, subscriptionID string) FieldsCli return FieldsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// ListByType retrieve a list of fields of a given type identified by module -// name. +// ListByType retrieve a list of fields of a given type identified by module name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. moduleName is the name of module. typeName is the -// name of type. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. moduleName is +// the name of module. typeName is the name of type. func (client FieldsClient) ListByType(resourceGroupName string, automationAccountName string, moduleName string, typeName string) (result TypeFieldListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/hybridrunbookworkergroup.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/hybridrunbookworkergroup.go index b36eb3b68..b3701a1ed 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/hybridrunbookworkergroup.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/hybridrunbookworkergroup.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,29 +24,25 @@ import ( "net/http" ) -// HybridRunbookWorkerGroupClient is the composite Swagger json for Azure -// Automation Client +// HybridRunbookWorkerGroupClient is the automation Client type HybridRunbookWorkerGroupClient struct { ManagementClient } -// NewHybridRunbookWorkerGroupClient creates an instance of the -// HybridRunbookWorkerGroupClient client. +// NewHybridRunbookWorkerGroupClient creates an instance of the HybridRunbookWorkerGroupClient client. func NewHybridRunbookWorkerGroupClient(subscriptionID string) HybridRunbookWorkerGroupClient { return NewHybridRunbookWorkerGroupClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewHybridRunbookWorkerGroupClientWithBaseURI creates an instance of the -// HybridRunbookWorkerGroupClient client. +// NewHybridRunbookWorkerGroupClientWithBaseURI creates an instance of the HybridRunbookWorkerGroupClient client. func NewHybridRunbookWorkerGroupClientWithBaseURI(baseURI string, subscriptionID string) HybridRunbookWorkerGroupClient { return HybridRunbookWorkerGroupClient{NewWithBaseURI(baseURI, subscriptionID)} } // Delete delete a hybrid runbook worker group. // -// resourceGroupName is the resource group name. automationAccountName is -// automation account name. hybridRunbookWorkerGroupName is the hybrid runbook -// worker group name +// resourceGroupName is the resource group name. automationAccountName is automation account name. +// hybridRunbookWorkerGroupName is the hybrid runbook worker group name func (client HybridRunbookWorkerGroupClient) Delete(resourceGroupName string, automationAccountName string, hybridRunbookWorkerGroupName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -118,9 +113,8 @@ func (client HybridRunbookWorkerGroupClient) DeleteResponder(resp *http.Response // Get retrieve a hybrid runbook worker group. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. hybridRunbookWorkerGroupName is the hybrid runbook -// worker group name +// resourceGroupName is the resource group name. automationAccountName is the automation account name. +// hybridRunbookWorkerGroupName is the hybrid runbook worker group name func (client HybridRunbookWorkerGroupClient) Get(resourceGroupName string, automationAccountName string, hybridRunbookWorkerGroupName string) (result HybridRunbookWorkerGroup, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -192,8 +186,7 @@ func (client HybridRunbookWorkerGroupClient) GetResponder(resp *http.Response) ( // ListByAutomationAccount retrieve a list of hybrid runbook worker groups. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. func (client HybridRunbookWorkerGroupClient) ListByAutomationAccount(resourceGroupName string, automationAccountName string) (result HybridRunbookWorkerGroupsListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -286,11 +279,55 @@ func (client HybridRunbookWorkerGroupClient) ListByAutomationAccountNextResults( return } +// ListByAutomationAccountComplete gets all elements from the list without paging. +func (client HybridRunbookWorkerGroupClient) ListByAutomationAccountComplete(resourceGroupName string, automationAccountName string, cancel <-chan struct{}) (<-chan HybridRunbookWorkerGroup, <-chan error) { + resultChan := make(chan HybridRunbookWorkerGroup) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByAutomationAccount(resourceGroupName, automationAccountName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByAutomationAccountNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update update a hybrid runbook worker group. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. hybridRunbookWorkerGroupName is the hybrid runbook -// worker group name parameters is the hybrid runbook worker group +// resourceGroupName is the resource group name. automationAccountName is the automation account name. +// hybridRunbookWorkerGroupName is the hybrid runbook worker group name parameters is the hybrid runbook worker group func (client HybridRunbookWorkerGroupClient) Update(resourceGroupName string, automationAccountName string, hybridRunbookWorkerGroupName string, parameters HybridRunbookWorkerGroupUpdateParameters) (result HybridRunbookWorkerGroup, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/job.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/job.go index d1257ab97..b99b38396 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/job.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/job.go @@ -14,19 +14,18 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/azure" "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/uuid" + uuid "github.com/satori/go.uuid" "net/http" ) -// JobClient is the composite Swagger json for Azure Automation Client +// JobClient is the automation Client type JobClient struct { ManagementClient } @@ -43,9 +42,8 @@ func NewJobClientWithBaseURI(baseURI string, subscriptionID string) JobClient { // Create create a job of the runbook. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. jobID is the job id. parameters is the parameters -// supplied to the create job operation. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. jobID is the job +// id. parameters is the parameters supplied to the create job operation. func (client JobClient) Create(resourceGroupName string, automationAccountName string, jobID uuid.UUID, parameters JobCreateParameters) (result Job, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -122,8 +120,8 @@ func (client JobClient) CreateResponder(resp *http.Response) (result Job, err er // Get retrieve the job identified by job id. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. jobID is the job id. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. jobID is the job +// id. func (client JobClient) Get(resourceGroupName string, automationAccountName string, jobID uuid.UUID) (result Job, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -195,8 +193,8 @@ func (client JobClient) GetResponder(resp *http.Response) (result Job, err error // GetOutput retrieve the job output identified by job id. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. jobID is the job id. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. jobID is the job +// id. func (client JobClient) GetOutput(resourceGroupName string, automationAccountName string, jobID string) (result ReadCloser, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -265,11 +263,10 @@ func (client JobClient) GetOutputResponder(resp *http.Response) (result ReadClos return } -// GetRunbookContent retrieve the runbook content of the job identified by job -// id. +// GetRunbookContent retrieve the runbook content of the job identified by job id. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. jobID is the job id. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. jobID is the job +// id. func (client JobClient) GetRunbookContent(resourceGroupName string, automationAccountName string, jobID string) (result ReadCloser, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -340,8 +337,8 @@ func (client JobClient) GetRunbookContentResponder(resp *http.Response) (result // ListByAutomationAccount retrieve a list of jobs. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. filter is the filter to apply on the operation. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. filter is the +// filter to apply on the operation. func (client JobClient) ListByAutomationAccount(resourceGroupName string, automationAccountName string, filter string) (result JobListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -437,10 +434,55 @@ func (client JobClient) ListByAutomationAccountNextResults(lastResults JobListRe return } +// ListByAutomationAccountComplete gets all elements from the list without paging. +func (client JobClient) ListByAutomationAccountComplete(resourceGroupName string, automationAccountName string, filter string, cancel <-chan struct{}) (<-chan Job, <-chan error) { + resultChan := make(chan Job) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByAutomationAccount(resourceGroupName, automationAccountName, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByAutomationAccountNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Resume resume the job identified by jobId. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. jobID is the job id. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. jobID is the job +// id. func (client JobClient) Resume(resourceGroupName string, automationAccountName string, jobID uuid.UUID) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -511,8 +553,8 @@ func (client JobClient) ResumeResponder(resp *http.Response) (result autorest.Re // Stop stop the job identified by jobId. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. jobID is the job id. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. jobID is the job +// id. func (client JobClient) Stop(resourceGroupName string, automationAccountName string, jobID uuid.UUID) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -583,8 +625,8 @@ func (client JobClient) StopResponder(resp *http.Response) (result autorest.Resp // Suspend suspend the job identified by jobId. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. jobID is the job id. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. jobID is the job +// id. func (client JobClient) Suspend(resourceGroupName string, automationAccountName string, jobID uuid.UUID) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/jobschedule.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/jobschedule.go index a10ec7dba..519223f97 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/jobschedule.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/jobschedule.go @@ -14,19 +14,18 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/azure" "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/uuid" + uuid "github.com/satori/go.uuid" "net/http" ) -// JobScheduleClient is the composite Swagger json for Azure Automation Client +// JobScheduleClient is the automation Client type JobScheduleClient struct { ManagementClient } @@ -36,17 +35,15 @@ func NewJobScheduleClient(subscriptionID string) JobScheduleClient { return NewJobScheduleClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewJobScheduleClientWithBaseURI creates an instance of the JobScheduleClient -// client. +// NewJobScheduleClientWithBaseURI creates an instance of the JobScheduleClient client. func NewJobScheduleClientWithBaseURI(baseURI string, subscriptionID string) JobScheduleClient { return JobScheduleClient{NewWithBaseURI(baseURI, subscriptionID)} } // Create create a job schedule. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. jobScheduleID is the job schedule name. parameters -// is the parameters supplied to the create job schedule operation. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. jobScheduleID is +// the job schedule name. parameters is the parameters supplied to the create job schedule operation. func (client JobScheduleClient) Create(resourceGroupName string, automationAccountName string, jobScheduleID uuid.UUID, parameters JobScheduleCreateParameters) (result JobSchedule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -125,8 +122,8 @@ func (client JobScheduleClient) CreateResponder(resp *http.Response) (result Job // Delete delete the job schedule identified by job schedule name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. jobScheduleID is the job schedule name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. jobScheduleID is +// the job schedule name. func (client JobScheduleClient) Delete(resourceGroupName string, automationAccountName string, jobScheduleID uuid.UUID) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -197,8 +194,8 @@ func (client JobScheduleClient) DeleteResponder(resp *http.Response) (result aut // Get retrieve the job schedule identified by job schedule name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. jobScheduleID is the job schedule name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. jobScheduleID is +// the job schedule name. func (client JobScheduleClient) Get(resourceGroupName string, automationAccountName string, jobScheduleID uuid.UUID) (result JobSchedule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -270,8 +267,7 @@ func (client JobScheduleClient) GetResponder(resp *http.Response) (result JobSch // ListByAutomationAccount retrieve a list of job schedules. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. func (client JobScheduleClient) ListByAutomationAccount(resourceGroupName string, automationAccountName string) (result JobScheduleListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -363,3 +359,48 @@ func (client JobScheduleClient) ListByAutomationAccountNextResults(lastResults J return } + +// ListByAutomationAccountComplete gets all elements from the list without paging. +func (client JobScheduleClient) ListByAutomationAccountComplete(resourceGroupName string, automationAccountName string, cancel <-chan struct{}) (<-chan JobSchedule, <-chan error) { + resultChan := make(chan JobSchedule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByAutomationAccount(resourceGroupName, automationAccountName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByAutomationAccountNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/jobstream.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/jobstream.go index 95b497598..641c7558d 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/jobstream.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/jobstream.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// JobStreamClient is the composite Swagger json for Azure Automation Client +// JobStreamClient is the automation Client type JobStreamClient struct { ManagementClient } @@ -35,17 +34,15 @@ func NewJobStreamClient(subscriptionID string) JobStreamClient { return NewJobStreamClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewJobStreamClientWithBaseURI creates an instance of the JobStreamClient -// client. +// NewJobStreamClientWithBaseURI creates an instance of the JobStreamClient client. func NewJobStreamClientWithBaseURI(baseURI string, subscriptionID string) JobStreamClient { return JobStreamClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get retrieve the job stream identified by job stream id. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. jobID is the job id. jobStreamID is the job stream -// id. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. jobID is the job +// id. jobStreamID is the job stream id. func (client JobStreamClient) Get(resourceGroupName string, automationAccountName string, jobID string, jobStreamID string) (result JobStream, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -118,9 +115,8 @@ func (client JobStreamClient) GetResponder(resp *http.Response) (result JobStrea // ListByJob retrieve a list of jobs streams identified by job id. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. jobID is the job Id. filter is the filter to apply -// on the operation. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. jobID is the job +// Id. filter is the filter to apply on the operation. func (client JobStreamClient) ListByJob(resourceGroupName string, automationAccountName string, jobID string, filter string) (result JobStreamListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -216,3 +212,48 @@ func (client JobStreamClient) ListByJobNextResults(lastResults JobStreamListResu return } + +// ListByJobComplete gets all elements from the list without paging. +func (client JobStreamClient) ListByJobComplete(resourceGroupName string, automationAccountName string, jobID string, filter string, cancel <-chan struct{}) (<-chan JobStream, <-chan error) { + resultChan := make(chan JobStream) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByJob(resourceGroupName, automationAccountName, jobID, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByJobNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/models.go index 9bba30646..ed9cbb998 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/models.go @@ -14,15 +14,14 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/date" "github.com/Azure/go-autorest/autorest/to" - "github.com/satori/uuid" + uuid "github.com/satori/go.uuid" "io" "net/http" ) @@ -39,8 +38,7 @@ const ( Unavailable AccountState = "Unavailable" ) -// AgentRegistrationKeyName enumerates the values for agent registration key -// name. +// AgentRegistrationKeyName enumerates the values for agent registration key name. type AgentRegistrationKeyName string const ( @@ -54,20 +52,17 @@ const ( type ContentSourceType string const ( - // EmbeddedContent specifies the embedded content state for content source - // type. + // EmbeddedContent specifies the embedded content state for content source type. EmbeddedContent ContentSourceType = "embeddedContent" // URI specifies the uri state for content source type. URI ContentSourceType = "uri" ) -// DscConfigurationProvisioningState enumerates the values for dsc -// configuration provisioning state. +// DscConfigurationProvisioningState enumerates the values for dsc configuration provisioning state. type DscConfigurationProvisioningState string const ( - // Succeeded specifies the succeeded state for dsc configuration - // provisioning state. + // Succeeded specifies the succeeded state for dsc configuration provisioning state. Succeeded DscConfigurationProvisioningState = "Succeeded" ) @@ -75,14 +70,11 @@ const ( type DscConfigurationState string const ( - // DscConfigurationStateEdit specifies the dsc configuration state edit - // state for dsc configuration state. + // DscConfigurationStateEdit specifies the dsc configuration state edit state for dsc configuration state. DscConfigurationStateEdit DscConfigurationState = "Edit" - // DscConfigurationStateNew specifies the dsc configuration state new state - // for dsc configuration state. + // DscConfigurationStateNew specifies the dsc configuration state new state for dsc configuration state. DscConfigurationStateNew DscConfigurationState = "New" - // DscConfigurationStatePublished specifies the dsc configuration state - // published state for dsc configuration state. + // DscConfigurationStatePublished specifies the dsc configuration state published state for dsc configuration state. DscConfigurationStatePublished DscConfigurationState = "Published" ) @@ -104,8 +96,7 @@ const ( Continue HTTPStatusCode = "Continue" // Created specifies the created state for http status code. Created HTTPStatusCode = "Created" - // ExpectationFailed specifies the expectation failed state for http status - // code. + // ExpectationFailed specifies the expectation failed state for http status code. ExpectationFailed HTTPStatusCode = "ExpectationFailed" // Forbidden specifies the forbidden state for http status code. Forbidden HTTPStatusCode = "Forbidden" @@ -115,29 +106,23 @@ const ( GatewayTimeout HTTPStatusCode = "GatewayTimeout" // Gone specifies the gone state for http status code. Gone HTTPStatusCode = "Gone" - // HTTPVersionNotSupported specifies the http version not supported state - // for http status code. + // HTTPVersionNotSupported specifies the http version not supported state for http status code. HTTPVersionNotSupported HTTPStatusCode = "HttpVersionNotSupported" - // InternalServerError specifies the internal server error state for http - // status code. + // InternalServerError specifies the internal server error state for http status code. InternalServerError HTTPStatusCode = "InternalServerError" // LengthRequired specifies the length required state for http status code. LengthRequired HTTPStatusCode = "LengthRequired" - // MethodNotAllowed specifies the method not allowed state for http status - // code. + // MethodNotAllowed specifies the method not allowed state for http status code. MethodNotAllowed HTTPStatusCode = "MethodNotAllowed" // Moved specifies the moved state for http status code. Moved HTTPStatusCode = "Moved" - // MovedPermanently specifies the moved permanently state for http status - // code. + // MovedPermanently specifies the moved permanently state for http status code. MovedPermanently HTTPStatusCode = "MovedPermanently" - // MultipleChoices specifies the multiple choices state for http status - // code. + // MultipleChoices specifies the multiple choices state for http status code. MultipleChoices HTTPStatusCode = "MultipleChoices" // NoContent specifies the no content state for http status code. NoContent HTTPStatusCode = "NoContent" - // NonAuthoritativeInformation specifies the non authoritative information - // state for http status code. + // NonAuthoritativeInformation specifies the non authoritative information state for http status code. NonAuthoritativeInformation HTTPStatusCode = "NonAuthoritativeInformation" // NotAcceptable specifies the not acceptable state for http status code. NotAcceptable HTTPStatusCode = "NotAcceptable" @@ -151,55 +136,43 @@ const ( OK HTTPStatusCode = "OK" // PartialContent specifies the partial content state for http status code. PartialContent HTTPStatusCode = "PartialContent" - // PaymentRequired specifies the payment required state for http status - // code. + // PaymentRequired specifies the payment required state for http status code. PaymentRequired HTTPStatusCode = "PaymentRequired" - // PreconditionFailed specifies the precondition failed state for http - // status code. + // PreconditionFailed specifies the precondition failed state for http status code. PreconditionFailed HTTPStatusCode = "PreconditionFailed" - // ProxyAuthenticationRequired specifies the proxy authentication required - // state for http status code. + // ProxyAuthenticationRequired specifies the proxy authentication required state for http status code. ProxyAuthenticationRequired HTTPStatusCode = "ProxyAuthenticationRequired" // Redirect specifies the redirect state for http status code. Redirect HTTPStatusCode = "Redirect" - // RedirectKeepVerb specifies the redirect keep verb state for http status - // code. + // RedirectKeepVerb specifies the redirect keep verb state for http status code. RedirectKeepVerb HTTPStatusCode = "RedirectKeepVerb" // RedirectMethod specifies the redirect method state for http status code. RedirectMethod HTTPStatusCode = "RedirectMethod" - // RequestedRangeNotSatisfiable specifies the requested range not - // satisfiable state for http status code. + // RequestedRangeNotSatisfiable specifies the requested range not satisfiable state for http status code. RequestedRangeNotSatisfiable HTTPStatusCode = "RequestedRangeNotSatisfiable" - // RequestEntityTooLarge specifies the request entity too large state for - // http status code. + // RequestEntityTooLarge specifies the request entity too large state for http status code. RequestEntityTooLarge HTTPStatusCode = "RequestEntityTooLarge" // RequestTimeout specifies the request timeout state for http status code. RequestTimeout HTTPStatusCode = "RequestTimeout" - // RequestURITooLong specifies the request uri too long state for http - // status code. + // RequestURITooLong specifies the request uri too long state for http status code. RequestURITooLong HTTPStatusCode = "RequestUriTooLong" // ResetContent specifies the reset content state for http status code. ResetContent HTTPStatusCode = "ResetContent" // SeeOther specifies the see other state for http status code. SeeOther HTTPStatusCode = "SeeOther" - // ServiceUnavailable specifies the service unavailable state for http - // status code. + // ServiceUnavailable specifies the service unavailable state for http status code. ServiceUnavailable HTTPStatusCode = "ServiceUnavailable" - // SwitchingProtocols specifies the switching protocols state for http - // status code. + // SwitchingProtocols specifies the switching protocols state for http status code. SwitchingProtocols HTTPStatusCode = "SwitchingProtocols" - // TemporaryRedirect specifies the temporary redirect state for http status - // code. + // TemporaryRedirect specifies the temporary redirect state for http status code. TemporaryRedirect HTTPStatusCode = "TemporaryRedirect" // Unauthorized specifies the unauthorized state for http status code. Unauthorized HTTPStatusCode = "Unauthorized" - // UnsupportedMediaType specifies the unsupported media type state for http - // status code. + // UnsupportedMediaType specifies the unsupported media type state for http status code. UnsupportedMediaType HTTPStatusCode = "UnsupportedMediaType" // Unused specifies the unused state for http status code. Unused HTTPStatusCode = "Unused" - // UpgradeRequired specifies the upgrade required state for http status - // code. + // UpgradeRequired specifies the upgrade required state for http status code. UpgradeRequired HTTPStatusCode = "UpgradeRequired" // UseProxy specifies the use proxy state for http status code. UseProxy HTTPStatusCode = "UseProxy" @@ -209,39 +182,31 @@ const ( type JobStatus string const ( - // JobStatusActivating specifies the job status activating state for job - // status. + // JobStatusActivating specifies the job status activating state for job status. JobStatusActivating JobStatus = "Activating" // JobStatusBlocked specifies the job status blocked state for job status. JobStatusBlocked JobStatus = "Blocked" - // JobStatusCompleted specifies the job status completed state for job - // status. + // JobStatusCompleted specifies the job status completed state for job status. JobStatusCompleted JobStatus = "Completed" - // JobStatusDisconnected specifies the job status disconnected state for - // job status. + // JobStatusDisconnected specifies the job status disconnected state for job status. JobStatusDisconnected JobStatus = "Disconnected" // JobStatusFailed specifies the job status failed state for job status. JobStatusFailed JobStatus = "Failed" // JobStatusNew specifies the job status new state for job status. JobStatusNew JobStatus = "New" - // JobStatusRemoving specifies the job status removing state for job - // status. + // JobStatusRemoving specifies the job status removing state for job status. JobStatusRemoving JobStatus = "Removing" - // JobStatusResuming specifies the job status resuming state for job - // status. + // JobStatusResuming specifies the job status resuming state for job status. JobStatusResuming JobStatus = "Resuming" // JobStatusRunning specifies the job status running state for job status. JobStatusRunning JobStatus = "Running" // JobStatusStopped specifies the job status stopped state for job status. JobStatusStopped JobStatus = "Stopped" - // JobStatusStopping specifies the job status stopping state for job - // status. + // JobStatusStopping specifies the job status stopping state for job status. JobStatusStopping JobStatus = "Stopping" - // JobStatusSuspended specifies the job status suspended state for job - // status. + // JobStatusSuspended specifies the job status suspended state for job status. JobStatusSuspended JobStatus = "Suspended" - // JobStatusSuspending specifies the job status suspending state for job - // status. + // JobStatusSuspending specifies the job status suspending state for job status. JobStatusSuspending JobStatus = "Suspending" ) @@ -269,72 +234,60 @@ const ( type ModuleProvisioningState string const ( - // ModuleProvisioningStateActivitiesStored specifies the module - // provisioning state activities stored state for module provisioning - // state. + // ModuleProvisioningStateActivitiesStored specifies the module provisioning state activities stored state for module + // provisioning state. ModuleProvisioningStateActivitiesStored ModuleProvisioningState = "ActivitiesStored" - // ModuleProvisioningStateCancelled specifies the module provisioning state - // cancelled state for module provisioning state. + // ModuleProvisioningStateCancelled specifies the module provisioning state cancelled state for module provisioning + // state. ModuleProvisioningStateCancelled ModuleProvisioningState = "Cancelled" - // ModuleProvisioningStateConnectionTypeImported specifies the module - // provisioning state connection type imported state for module - // provisioning state. + // ModuleProvisioningStateConnectionTypeImported specifies the module provisioning state connection type imported state + // for module provisioning state. ModuleProvisioningStateConnectionTypeImported ModuleProvisioningState = "ConnectionTypeImported" - // ModuleProvisioningStateContentDownloaded specifies the module - // provisioning state content downloaded state for module provisioning - // state. + // ModuleProvisioningStateContentDownloaded specifies the module provisioning state content downloaded state for module + // provisioning state. ModuleProvisioningStateContentDownloaded ModuleProvisioningState = "ContentDownloaded" - // ModuleProvisioningStateContentRetrieved specifies the module - // provisioning state content retrieved state for module provisioning - // state. + // ModuleProvisioningStateContentRetrieved specifies the module provisioning state content retrieved state for module + // provisioning state. ModuleProvisioningStateContentRetrieved ModuleProvisioningState = "ContentRetrieved" - // ModuleProvisioningStateContentStored specifies the module provisioning - // state content stored state for module provisioning state. + // ModuleProvisioningStateContentStored specifies the module provisioning state content stored state for module + // provisioning state. ModuleProvisioningStateContentStored ModuleProvisioningState = "ContentStored" - // ModuleProvisioningStateContentValidated specifies the module - // provisioning state content validated state for module provisioning - // state. + // ModuleProvisioningStateContentValidated specifies the module provisioning state content validated state for module + // provisioning state. ModuleProvisioningStateContentValidated ModuleProvisioningState = "ContentValidated" - // ModuleProvisioningStateCreated specifies the module provisioning state - // created state for module provisioning state. + // ModuleProvisioningStateCreated specifies the module provisioning state created state for module provisioning state. ModuleProvisioningStateCreated ModuleProvisioningState = "Created" - // ModuleProvisioningStateCreating specifies the module provisioning state - // creating state for module provisioning state. - ModuleProvisioningStateCreating ModuleProvisioningState = "Creating" - // ModuleProvisioningStateFailed specifies the module provisioning state - // failed state for module provisioning state. - ModuleProvisioningStateFailed ModuleProvisioningState = "Failed" - // ModuleProvisioningStateModuleDataStored specifies the module - // provisioning state module data stored state for module provisioning + // ModuleProvisioningStateCreating specifies the module provisioning state creating state for module provisioning // state. + ModuleProvisioningStateCreating ModuleProvisioningState = "Creating" + // ModuleProvisioningStateFailed specifies the module provisioning state failed state for module provisioning state. + ModuleProvisioningStateFailed ModuleProvisioningState = "Failed" + // ModuleProvisioningStateModuleDataStored specifies the module provisioning state module data stored state for module + // provisioning state. ModuleProvisioningStateModuleDataStored ModuleProvisioningState = "ModuleDataStored" - // ModuleProvisioningStateModuleImportRunbookComplete specifies the module - // provisioning state module import runbook complete state for module - // provisioning state. + // ModuleProvisioningStateModuleImportRunbookComplete specifies the module provisioning state module import runbook + // complete state for module provisioning state. ModuleProvisioningStateModuleImportRunbookComplete ModuleProvisioningState = "ModuleImportRunbookComplete" - // ModuleProvisioningStateRunningImportModuleRunbook specifies the module - // provisioning state running import module runbook state for module - // provisioning state. + // ModuleProvisioningStateRunningImportModuleRunbook specifies the module provisioning state running import module + // runbook state for module provisioning state. ModuleProvisioningStateRunningImportModuleRunbook ModuleProvisioningState = "RunningImportModuleRunbook" - // ModuleProvisioningStateStartingImportModuleRunbook specifies the module - // provisioning state starting import module runbook state for module - // provisioning state. + // ModuleProvisioningStateStartingImportModuleRunbook specifies the module provisioning state starting import module + // runbook state for module provisioning state. ModuleProvisioningStateStartingImportModuleRunbook ModuleProvisioningState = "StartingImportModuleRunbook" - // ModuleProvisioningStateSucceeded specifies the module provisioning state - // succeeded state for module provisioning state. + // ModuleProvisioningStateSucceeded specifies the module provisioning state succeeded state for module provisioning + // state. ModuleProvisioningStateSucceeded ModuleProvisioningState = "Succeeded" - // ModuleProvisioningStateUpdating specifies the module provisioning state - // updating state for module provisioning state. + // ModuleProvisioningStateUpdating specifies the module provisioning state updating state for module provisioning + // state. ModuleProvisioningStateUpdating ModuleProvisioningState = "Updating" ) -// RunbookProvisioningState enumerates the values for runbook provisioning -// state. +// RunbookProvisioningState enumerates the values for runbook provisioning state. type RunbookProvisioningState string const ( - // RunbookProvisioningStateSucceeded specifies the runbook provisioning - // state succeeded state for runbook provisioning state. + // RunbookProvisioningStateSucceeded specifies the runbook provisioning state succeeded state for runbook provisioning + // state. RunbookProvisioningStateSucceeded RunbookProvisioningState = "Succeeded" ) @@ -342,13 +295,11 @@ const ( type RunbookState string const ( - // RunbookStateEdit specifies the runbook state edit state for runbook - // state. + // RunbookStateEdit specifies the runbook state edit state for runbook state. RunbookStateEdit RunbookState = "Edit" // RunbookStateNew specifies the runbook state new state for runbook state. RunbookStateNew RunbookState = "New" - // RunbookStatePublished specifies the runbook state published state for - // runbook state. + // RunbookStatePublished specifies the runbook state published state for runbook state. RunbookStatePublished RunbookState = "Published" ) @@ -358,16 +309,13 @@ type RunbookTypeEnum string const ( // Graph specifies the graph state for runbook type enum. Graph RunbookTypeEnum = "Graph" - // GraphPowerShell specifies the graph power shell state for runbook type - // enum. + // GraphPowerShell specifies the graph power shell state for runbook type enum. GraphPowerShell RunbookTypeEnum = "GraphPowerShell" - // GraphPowerShellWorkflow specifies the graph power shell workflow state - // for runbook type enum. + // GraphPowerShellWorkflow specifies the graph power shell workflow state for runbook type enum. GraphPowerShellWorkflow RunbookTypeEnum = "GraphPowerShellWorkflow" // PowerShell specifies the power shell state for runbook type enum. PowerShell RunbookTypeEnum = "PowerShell" - // PowerShellWorkflow specifies the power shell workflow state for runbook - // type enum. + // PowerShellWorkflow specifies the power shell workflow state for runbook type enum. PowerShellWorkflow RunbookTypeEnum = "PowerShellWorkflow" // Script specifies the script state for runbook type enum. Script RunbookTypeEnum = "Script" @@ -431,8 +379,7 @@ type Account struct { Etag *string `json:"etag,omitempty"` } -// AccountCreateOrUpdateParameters is the parameters supplied to the create or -// update automation account operation. +// AccountCreateOrUpdateParameters is the parameters supplied to the create or update automation account operation. type AccountCreateOrUpdateParameters struct { *AccountCreateOrUpdateProperties `json:"properties,omitempty"` Name *string `json:"name,omitempty"` @@ -440,8 +387,7 @@ type AccountCreateOrUpdateParameters struct { Tags *map[string]*string `json:"tags,omitempty"` } -// AccountCreateOrUpdateProperties is the parameters supplied to the create or -// update account properties. +// AccountCreateOrUpdateProperties is the parameters supplied to the create or update account properties. type AccountCreateOrUpdateProperties struct { Sku *Sku `json:"sku,omitempty"` } @@ -475,8 +421,7 @@ type AccountProperties struct { Description *string `json:"description,omitempty"` } -// AccountUpdateParameters is the parameters supplied to the update automation -// account operation. +// AccountUpdateParameters is the parameters supplied to the update automation account operation. type AccountUpdateParameters struct { *AccountUpdateProperties `json:"properties,omitempty"` Name *string `json:"name,omitempty"` @@ -484,8 +429,7 @@ type AccountUpdateParameters struct { Tags *map[string]*string `json:"tags,omitempty"` } -// AccountUpdateProperties is the parameters supplied to the update account -// properties. +// AccountUpdateProperties is the parameters supplied to the update account properties. type AccountUpdateProperties struct { Sku *Sku `json:"sku,omitempty"` } @@ -558,8 +502,7 @@ type AdvancedSchedule struct { MonthlyOccurrences *[]AdvancedScheduleMonthlyOccurrence `json:"monthlyOccurrences,omitempty"` } -// AdvancedScheduleMonthlyOccurrence is the properties of the create advanced -// schedule monthly occurrence. +// AdvancedScheduleMonthlyOccurrence is the properties of the create advanced schedule monthly occurrence. type AdvancedScheduleMonthlyOccurrence struct { Occurrence *int32 `json:"occurrence,omitempty"` Day ScheduleDay `json:"day,omitempty"` @@ -580,8 +523,7 @@ type AgentRegistrationKeys struct { Secondary *string `json:"secondary,omitempty"` } -// AgentRegistrationRegenerateKeyParameter is the parameters supplied to the -// regenerate keys operation. +// AgentRegistrationRegenerateKeyParameter is the parameters supplied to the regenerate keys operation. type AgentRegistrationRegenerateKeyParameter struct { KeyName AgentRegistrationKeyName `json:"keyName,omitempty"` Name *string `json:"name,omitempty"` @@ -597,15 +539,14 @@ type Certificate struct { *CertificateProperties `json:"properties,omitempty"` } -// CertificateCreateOrUpdateParameters is the parameters supplied to the create -// or update or replace certificate operation. +// CertificateCreateOrUpdateParameters is the parameters supplied to the create or update or replace certificate +// operation. type CertificateCreateOrUpdateParameters struct { Name *string `json:"name,omitempty"` *CertificateCreateOrUpdateProperties `json:"properties,omitempty"` } -// CertificateCreateOrUpdateProperties is the properties of the create -// certificate operation. +// CertificateCreateOrUpdateProperties is the properties of the create certificate operation. type CertificateCreateOrUpdateProperties struct { Base64Value *string `json:"base64Value,omitempty"` Description *string `json:"description,omitempty"` @@ -613,8 +554,7 @@ type CertificateCreateOrUpdateProperties struct { IsExportable *bool `json:"isExportable,omitempty"` } -// CertificateListResult is the response model for the list certificate -// operation. +// CertificateListResult is the response model for the list certificate operation. type CertificateListResult struct { autorest.Response `json:"-"` Value *[]Certificate `json:"value,omitempty"` @@ -643,15 +583,13 @@ type CertificateProperties struct { Description *string `json:"description,omitempty"` } -// CertificateUpdateParameters is the parameters supplied to the update -// certificate operation. +// CertificateUpdateParameters is the parameters supplied to the update certificate operation. type CertificateUpdateParameters struct { Name *string `json:"name,omitempty"` *CertificateUpdateProperties `json:"properties,omitempty"` } -// CertificateUpdateProperties is the properties of the update certificate -// operation +// CertificateUpdateProperties is the properties of the update certificate operation type CertificateUpdateProperties struct { Description *string `json:"description,omitempty"` } @@ -664,23 +602,20 @@ type Connection struct { *ConnectionProperties `json:"properties,omitempty"` } -// ConnectionCreateOrUpdateParameters is the parameters supplied to the create -// or update connection operation. +// ConnectionCreateOrUpdateParameters is the parameters supplied to the create or update connection operation. type ConnectionCreateOrUpdateParameters struct { Name *string `json:"name,omitempty"` *ConnectionCreateOrUpdateProperties `json:"properties,omitempty"` } -// ConnectionCreateOrUpdateProperties is the properties of the create -// connection properties +// ConnectionCreateOrUpdateProperties is the properties of the create connection properties type ConnectionCreateOrUpdateProperties struct { Description *string `json:"description,omitempty"` ConnectionType *ConnectionTypeAssociationProperty `json:"connectionType,omitempty"` FieldDefinitionValues *map[string]*string `json:"fieldDefinitionValues,omitempty"` } -// ConnectionListResult is the response model for the list connection -// operation. +// ConnectionListResult is the response model for the list connection operation. type ConnectionListResult struct { autorest.Response `json:"-"` Value *[]Connection `json:"value,omitempty"` @@ -716,28 +651,24 @@ type ConnectionType struct { *ConnectionTypeProperties `json:"properties,omitempty"` } -// ConnectionTypeAssociationProperty is the connection type property associated -// with the entity. +// ConnectionTypeAssociationProperty is the connection type property associated with the entity. type ConnectionTypeAssociationProperty struct { Name *string `json:"name,omitempty"` } -// ConnectionTypeCreateOrUpdateParameters is the parameters supplied to the -// create or update connection type operation. +// ConnectionTypeCreateOrUpdateParameters is the parameters supplied to the create or update connection type operation. type ConnectionTypeCreateOrUpdateParameters struct { Name *string `json:"name,omitempty"` *ConnectionTypeCreateOrUpdateProperties `json:"properties,omitempty"` } -// ConnectionTypeCreateOrUpdateProperties is the properties of the create -// connection type. +// ConnectionTypeCreateOrUpdateProperties is the properties of the create connection type. type ConnectionTypeCreateOrUpdateProperties struct { IsGlobal *bool `json:"isGlobal,omitempty"` FieldDefinitions *map[string]*FieldDefinition `json:"fieldDefinitions,omitempty"` } -// ConnectionTypeListResult is the response model for the list connection type -// operation. +// ConnectionTypeListResult is the response model for the list connection type operation. type ConnectionTypeListResult struct { autorest.Response `json:"-"` Value *[]ConnectionType `json:"value,omitempty"` @@ -765,15 +696,13 @@ type ConnectionTypeProperties struct { Description *string `json:"description,omitempty"` } -// ConnectionUpdateParameters is the parameters supplied to the update -// connection operation. +// ConnectionUpdateParameters is the parameters supplied to the update connection operation. type ConnectionUpdateParameters struct { Name *string `json:"name,omitempty"` *ConnectionUpdateProperties `json:"properties,omitempty"` } -// ConnectionUpdateProperties is the properties of the update connection -// operation. +// ConnectionUpdateProperties is the properties of the update connection operation. type ConnectionUpdateProperties struct { Description *string `json:"description,omitempty"` FieldDefinitionValues *map[string]*string `json:"fieldDefinitionValues,omitempty"` @@ -808,23 +737,20 @@ type Credential struct { *CredentialProperties `json:"properties,omitempty"` } -// CredentialCreateOrUpdateParameters is the parameters supplied to the create -// or update credential operation. +// CredentialCreateOrUpdateParameters is the parameters supplied to the create or update credential operation. type CredentialCreateOrUpdateParameters struct { Name *string `json:"name,omitempty"` *CredentialCreateOrUpdateProperties `json:"properties,omitempty"` } -// CredentialCreateOrUpdateProperties is the properties of the create -// cerdential operation. +// CredentialCreateOrUpdateProperties is the properties of the create cerdential operation. type CredentialCreateOrUpdateProperties struct { UserName *string `json:"userName,omitempty"` Password *string `json:"password,omitempty"` Description *string `json:"description,omitempty"` } -// CredentialListResult is the response model for the list credential -// operation. +// CredentialListResult is the response model for the list credential operation. type CredentialListResult struct { autorest.Response `json:"-"` Value *[]Credential `json:"value,omitempty"` @@ -851,8 +777,7 @@ type CredentialProperties struct { Description *string `json:"description,omitempty"` } -// CredentialUpdateParameters is the parameters supplied to the Update -// credential operation. +// CredentialUpdateParameters is the parameters supplied to the Update credential operation. type CredentialUpdateParameters struct { Name *string `json:"name,omitempty"` *CredentialUpdateProperties `json:"properties,omitempty"` @@ -872,8 +797,7 @@ type DscCompilationJob struct { *DscCompilationJobProperties `json:"properties,omitempty"` } -// DscCompilationJobCreateParameters is the parameters supplied to the create -// compilation job operation. +// DscCompilationJobCreateParameters is the parameters supplied to the create compilation job operation. type DscCompilationJobCreateParameters struct { *DscCompilationJobCreateProperties `json:"properties,omitempty"` Name *string `json:"name,omitempty"` @@ -881,15 +805,13 @@ type DscCompilationJobCreateParameters struct { Tags *map[string]*string `json:"tags,omitempty"` } -// DscCompilationJobCreateProperties is the parameters supplied to the create -// compilation job operation. +// DscCompilationJobCreateProperties is the parameters supplied to the create compilation job operation. type DscCompilationJobCreateProperties struct { Configuration *DscConfigurationAssociationProperty `json:"configuration,omitempty"` Parameters *map[string]*string `json:"parameters,omitempty"` } -// DscCompilationJobListResult is the response model for the list job -// operation. +// DscCompilationJobListResult is the response model for the list job operation. type DscCompilationJobListResult struct { autorest.Response `json:"-"` Value *[]DscCompilationJob `json:"value,omitempty"` @@ -936,14 +858,12 @@ type DscConfiguration struct { Etag *string `json:"etag,omitempty"` } -// DscConfigurationAssociationProperty is the Dsc configuration property -// associated with the entity. +// DscConfigurationAssociationProperty is the Dsc configuration property associated with the entity. type DscConfigurationAssociationProperty struct { Name *string `json:"name,omitempty"` } -// DscConfigurationCreateOrUpdateParameters is the parameters supplied to the -// create or update configuration operation. +// DscConfigurationCreateOrUpdateParameters is the parameters supplied to the create or update configuration operation. type DscConfigurationCreateOrUpdateParameters struct { *DscConfigurationCreateOrUpdateProperties `json:"properties,omitempty"` Name *string `json:"name,omitempty"` @@ -951,8 +871,7 @@ type DscConfigurationCreateOrUpdateParameters struct { Tags *map[string]*string `json:"tags,omitempty"` } -// DscConfigurationCreateOrUpdateProperties is the properties to create or -// update configuration. +// DscConfigurationCreateOrUpdateProperties is the properties to create or update configuration. type DscConfigurationCreateOrUpdateProperties struct { LogVerbose *bool `json:"logVerbose,omitempty"` LogProgress *bool `json:"logProgress,omitempty"` @@ -961,8 +880,7 @@ type DscConfigurationCreateOrUpdateProperties struct { Description *string `json:"description,omitempty"` } -// DscConfigurationListResult is the response model for the list configuration -// operation. +// DscConfigurationListResult is the response model for the list configuration operation. type DscConfigurationListResult struct { autorest.Response `json:"-"` Value *[]DscConfiguration `json:"value,omitempty"` @@ -1041,22 +959,20 @@ type DscNodeConfiguration struct { ID *string `json:"id,omitempty"` } -// DscNodeConfigurationAssociationProperty is the dsc nodeconfiguration -// property associated with the entity. +// DscNodeConfigurationAssociationProperty is the dsc nodeconfiguration property associated with the entity. type DscNodeConfigurationAssociationProperty struct { Name *string `json:"name,omitempty"` } -// DscNodeConfigurationCreateOrUpdateParameters is the parameters supplied to -// the create or update node configuration operation. +// DscNodeConfigurationCreateOrUpdateParameters is the parameters supplied to the create or update node configuration +// operation. type DscNodeConfigurationCreateOrUpdateParameters struct { Source *ContentSource `json:"source,omitempty"` Name *string `json:"name,omitempty"` Configuration *DscConfigurationAssociationProperty `json:"configuration,omitempty"` } -// DscNodeConfigurationListResult is the response model for the list job -// operation. +// DscNodeConfigurationListResult is the response model for the list job operation. type DscNodeConfigurationListResult struct { autorest.Response `json:"-"` Value *[]DscNodeConfiguration `json:"value,omitempty"` @@ -1118,8 +1034,7 @@ type DscNodeReport struct { RawErrors *string `json:"rawErrors,omitempty"` } -// DscNodeReportListResult is the response model for the list dsc nodes -// operation. +// DscNodeReportListResult is the response model for the list dsc nodes operation. type DscNodeReportListResult struct { autorest.Response `json:"-"` Value *[]DscNodeReport `json:"value,omitempty"` @@ -1138,8 +1053,7 @@ func (client DscNodeReportListResult) DscNodeReportListResultPreparer() (*http.R autorest.WithBaseURL(to.String(client.NextLink))) } -// DscNodeUpdateParameters is the parameters supplied to the update dsc node -// operation. +// DscNodeUpdateParameters is the parameters supplied to the update dsc node operation. type DscNodeUpdateParameters struct { NodeID *string `json:"nodeId,omitempty"` NodeConfiguration *DscNodeConfigurationAssociationProperty `json:"nodeConfiguration,omitempty"` @@ -1203,8 +1117,7 @@ type HybridRunbookWorkerGroup struct { Credential *RunAsCredentialAssociationProperty `json:"credential,omitempty"` } -// HybridRunbookWorkerGroupsListResult is the response model for the list -// hybrid runbook worker groups. +// HybridRunbookWorkerGroupsListResult is the response model for the list hybrid runbook worker groups. type HybridRunbookWorkerGroupsListResult struct { autorest.Response `json:"-"` Value *[]HybridRunbookWorkerGroup `json:"value,omitempty"` @@ -1223,8 +1136,7 @@ func (client HybridRunbookWorkerGroupsListResult) HybridRunbookWorkerGroupsListR autorest.WithBaseURL(to.String(client.NextLink))) } -// HybridRunbookWorkerGroupUpdateParameters is parameters supplied to the -// update operation. +// HybridRunbookWorkerGroupUpdateParameters is parameters supplied to the update operation. type HybridRunbookWorkerGroupUpdateParameters struct { Credential *RunAsCredentialAssociationProperty `json:"credential,omitempty"` } @@ -1294,14 +1206,12 @@ type JobSchedule struct { *JobScheduleProperties `json:"properties,omitempty"` } -// JobScheduleCreateParameters is the parameters supplied to the create job -// schedule operation. +// JobScheduleCreateParameters is the parameters supplied to the create job schedule operation. type JobScheduleCreateParameters struct { *JobScheduleCreateProperties `json:"properties,omitempty"` } -// JobScheduleCreateProperties is the parameters supplied to the create job -// schedule operation. +// JobScheduleCreateProperties is the parameters supplied to the create job schedule operation. type JobScheduleCreateProperties struct { Schedule *ScheduleAssociationProperty `json:"schedule,omitempty"` Runbook *RunbookAssociationProperty `json:"runbook,omitempty"` @@ -1309,8 +1219,7 @@ type JobScheduleCreateProperties struct { Parameters *map[string]*string `json:"parameters,omitempty"` } -// JobScheduleListResult is the response model for the list job schedule -// operation. +// JobScheduleListResult is the response model for the list job schedule operation. type JobScheduleListResult struct { autorest.Response `json:"-"` Value *[]JobSchedule `json:"value,omitempty"` @@ -1386,8 +1295,7 @@ type Module struct { Etag *string `json:"etag,omitempty"` } -// ModuleCreateOrUpdateParameters is the parameters supplied to the create or -// update module operation. +// ModuleCreateOrUpdateParameters is the parameters supplied to the create or update module operation. type ModuleCreateOrUpdateParameters struct { *ModuleCreateOrUpdateProperties `json:"properties,omitempty"` Name *string `json:"name,omitempty"` @@ -1395,8 +1303,7 @@ type ModuleCreateOrUpdateParameters struct { Tags *map[string]*string `json:"tags,omitempty"` } -// ModuleCreateOrUpdateProperties is the parameters supplied to the create or -// update module properties. +// ModuleCreateOrUpdateProperties is the parameters supplied to the create or update module properties. type ModuleCreateOrUpdateProperties struct { ContentLink *ContentLink `json:"contentLink,omitempty"` } @@ -1440,8 +1347,7 @@ type ModuleProperties struct { Description *string `json:"description,omitempty"` } -// ModuleUpdateParameters is the parameters supplied to the update module -// operation. +// ModuleUpdateParameters is the parameters supplied to the update module operation. type ModuleUpdateParameters struct { *ModuleUpdateProperties `json:"properties,omitempty"` Name *string `json:"name,omitempty"` @@ -1467,8 +1373,7 @@ type OperationDisplay struct { Operation *string `json:"operation,omitempty"` } -// OperationListResult is the response model for the list of Automation -// operations +// OperationListResult is the response model for the list of Automation operations type OperationListResult struct { autorest.Response `json:"-"` Value *[]Operation `json:"value,omitempty"` @@ -1489,8 +1394,7 @@ type Resource struct { Tags *map[string]*string `json:"tags,omitempty"` } -// RunAsCredentialAssociationProperty is definition of runas credential to use -// for hybrid worker. +// RunAsCredentialAssociationProperty is definition of runas credential to use for hybrid worker. type RunAsCredentialAssociationProperty struct { Name *string `json:"name,omitempty"` } @@ -1507,14 +1411,27 @@ type Runbook struct { Etag *string `json:"etag,omitempty"` } -// RunbookAssociationProperty is the runbook property associated with the -// entity. +// RunbookAssociationProperty is the runbook property associated with the entity. type RunbookAssociationProperty struct { Name *string `json:"name,omitempty"` } -// RunbookCreateOrUpdateParameters is the parameters supplied to the create or -// update runbook operation. +// RunbookCreateOrUpdateDraftParameters is the parameters supplied to the create or update runbook operation. +type RunbookCreateOrUpdateDraftParameters struct { + RunbookContent *string `json:"runbookContent,omitempty"` +} + +// RunbookCreateOrUpdateDraftProperties is the parameters supplied to the create or update dratft runbook properties. +type RunbookCreateOrUpdateDraftProperties struct { + LogVerbose *bool `json:"logVerbose,omitempty"` + LogProgress *bool `json:"logProgress,omitempty"` + RunbookType RunbookTypeEnum `json:"runbookType,omitempty"` + Draft *RunbookDraft `json:"draft,omitempty"` + Description *string `json:"description,omitempty"` + LogActivityTrace *int32 `json:"logActivityTrace,omitempty"` +} + +// RunbookCreateOrUpdateParameters is the parameters supplied to the create or update runbook operation. type RunbookCreateOrUpdateParameters struct { *RunbookCreateOrUpdateProperties `json:"properties,omitempty"` Name *string `json:"name,omitempty"` @@ -1522,8 +1439,7 @@ type RunbookCreateOrUpdateParameters struct { Tags *map[string]*string `json:"tags,omitempty"` } -// RunbookCreateOrUpdateProperties is the parameters supplied to the create or -// update runbook properties. +// RunbookCreateOrUpdateProperties is the parameters supplied to the create or update runbook properties. type RunbookCreateOrUpdateProperties struct { LogVerbose *bool `json:"logVerbose,omitempty"` LogProgress *bool `json:"logProgress,omitempty"` @@ -1545,8 +1461,7 @@ type RunbookDraft struct { OutputTypes *[]string `json:"outputTypes,omitempty"` } -// RunbookDraftUndoEditResult is the response model for the undoedit runbook -// operation. +// RunbookDraftUndoEditResult is the response model for the undoedit runbook operation. type RunbookDraftUndoEditResult struct { autorest.Response `json:"-"` StatusCode HTTPStatusCode `json:"statusCode,omitempty"` @@ -1599,8 +1514,7 @@ type RunbookProperties struct { Description *string `json:"description,omitempty"` } -// RunbookUpdateParameters is the parameters supplied to the update runbook -// operation. +// RunbookUpdateParameters is the parameters supplied to the update runbook operation. type RunbookUpdateParameters struct { *RunbookUpdateProperties `json:"properties,omitempty"` Name *string `json:"name,omitempty"` @@ -1608,8 +1522,7 @@ type RunbookUpdateParameters struct { Tags *map[string]*string `json:"tags,omitempty"` } -// RunbookUpdateProperties is the parameters supplied to the update runbook -// properties. +// RunbookUpdateProperties is the parameters supplied to the update runbook properties. type RunbookUpdateProperties struct { Description *string `json:"description,omitempty"` LogVerbose *bool `json:"logVerbose,omitempty"` @@ -1625,21 +1538,18 @@ type Schedule struct { *ScheduleProperties `json:"properties,omitempty"` } -// ScheduleAssociationProperty is the schedule property associated with the -// entity. +// ScheduleAssociationProperty is the schedule property associated with the entity. type ScheduleAssociationProperty struct { Name *string `json:"name,omitempty"` } -// ScheduleCreateOrUpdateParameters is the parameters supplied to the create or -// update schedule operation. +// ScheduleCreateOrUpdateParameters is the parameters supplied to the create or update schedule operation. type ScheduleCreateOrUpdateParameters struct { Name *string `json:"name,omitempty"` *ScheduleCreateOrUpdateProperties `json:"properties,omitempty"` } -// ScheduleCreateOrUpdateProperties is the parameters supplied to the create or -// update schedule operation. +// ScheduleCreateOrUpdateProperties is the parameters supplied to the create or update schedule operation. type ScheduleCreateOrUpdateProperties struct { Description *string `json:"description,omitempty"` StartTime *date.Time `json:"startTime,omitempty"` @@ -1687,15 +1597,13 @@ type ScheduleProperties struct { Description *string `json:"description,omitempty"` } -// ScheduleUpdateParameters is the parameters supplied to the update schedule -// operation. +// ScheduleUpdateParameters is the parameters supplied to the update schedule operation. type ScheduleUpdateParameters struct { Name *string `json:"name,omitempty"` *ScheduleUpdateProperties `json:"properties,omitempty"` } -// ScheduleUpdateProperties is the parameters supplied to the update schedule -// operation. +// ScheduleUpdateProperties is the parameters supplied to the update schedule operation. type ScheduleUpdateProperties struct { Description *string `json:"description,omitempty"` IsEnabled *bool `json:"isEnabled,omitempty"` @@ -1717,8 +1625,7 @@ type Statistics struct { ID *string `json:"id,omitempty"` } -// StatisticsListResult is the response model for the list statistics -// operation. +// StatisticsListResult is the response model for the list statistics operation. type StatisticsListResult struct { autorest.Response `json:"-"` Value *[]Statistics `json:"value,omitempty"` @@ -1730,6 +1637,11 @@ type String struct { Value *string `json:"value,omitempty"` } +// SubResource is the Sub Resource definition. +type SubResource struct { + ID *string `json:"id,omitempty"` +} + // TestJob is definition of the test job. type TestJob struct { autorest.Response `json:"-"` @@ -1745,8 +1657,7 @@ type TestJob struct { Parameters *map[string]*string `json:"parameters,omitempty"` } -// TestJobCreateParameters is the parameters supplied to the create test job -// operation. +// TestJobCreateParameters is the parameters supplied to the create test job operation. type TestJobCreateParameters struct { RunbookName *string `json:"runbookName,omitempty"` Parameters *map[string]*string `json:"parameters,omitempty"` @@ -1795,15 +1706,13 @@ type Variable struct { *VariableProperties `json:"properties,omitempty"` } -// VariableCreateOrUpdateParameters is the parameters supplied to the create or -// update variable operation. +// VariableCreateOrUpdateParameters is the parameters supplied to the create or update variable operation. type VariableCreateOrUpdateParameters struct { Name *string `json:"name,omitempty"` *VariableCreateOrUpdateProperties `json:"properties,omitempty"` } -// VariableCreateOrUpdateProperties is the properties of the create variable -// operation. +// VariableCreateOrUpdateProperties is the properties of the create variable operation. type VariableCreateOrUpdateProperties struct { Value *string `json:"value,omitempty"` Description *string `json:"description,omitempty"` @@ -1838,8 +1747,7 @@ type VariableProperties struct { Description *string `json:"description,omitempty"` } -// VariableUpdateParameters is the parameters supplied to the update variable -// operation. +// VariableUpdateParameters is the parameters supplied to the update variable operation. type VariableUpdateParameters struct { Name *string `json:"name,omitempty"` *VariableUpdateProperties `json:"properties,omitempty"` @@ -1859,15 +1767,13 @@ type Webhook struct { *WebhookProperties `json:"properties,omitempty"` } -// WebhookCreateOrUpdateParameters is the parameters supplied to the create or -// update webhook operation. +// WebhookCreateOrUpdateParameters is the parameters supplied to the create or update webhook operation. type WebhookCreateOrUpdateParameters struct { Name *string `json:"name,omitempty"` *WebhookCreateOrUpdateProperties `json:"properties,omitempty"` } -// WebhookCreateOrUpdateProperties is the properties of the create webhook -// operation. +// WebhookCreateOrUpdateProperties is the properties of the create webhook operation. type WebhookCreateOrUpdateProperties struct { IsEnabled *bool `json:"isEnabled,omitempty"` URI *string `json:"uri,omitempty"` @@ -1910,8 +1816,7 @@ type WebhookProperties struct { Description *string `json:"description,omitempty"` } -// WebhookUpdateParameters is the parameters supplied to the update webhook -// operation. +// WebhookUpdateParameters is the parameters supplied to the update webhook operation. type WebhookUpdateParameters struct { Name *string `json:"name,omitempty"` *WebhookUpdateProperties `json:"properties,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/module.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/module.go index 225b0a495..138c94c4a 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/module.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/module.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// ModuleClient is the composite Swagger json for Azure Automation Client +// ModuleClient is the automation Client type ModuleClient struct { ManagementClient } @@ -42,9 +41,8 @@ func NewModuleClientWithBaseURI(baseURI string, subscriptionID string) ModuleCli // CreateOrUpdate create or Update the module identified by module name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. moduleName is the name of module. parameters is the -// create or update parameters for module. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. moduleName is +// the name of module. parameters is the create or update parameters for module. func (client ModuleClient) CreateOrUpdate(resourceGroupName string, automationAccountName string, moduleName string, parameters ModuleCreateOrUpdateParameters) (result Module, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -127,8 +125,8 @@ func (client ModuleClient) CreateOrUpdateResponder(resp *http.Response) (result // Delete delete the module by name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. moduleName is the module name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. moduleName is +// the module name. func (client ModuleClient) Delete(resourceGroupName string, automationAccountName string, moduleName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -199,8 +197,8 @@ func (client ModuleClient) DeleteResponder(resp *http.Response) (result autorest // Get retrieve the module identified by module name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. moduleName is the module name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. moduleName is +// the module name. func (client ModuleClient) Get(resourceGroupName string, automationAccountName string, moduleName string) (result Module, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -272,8 +270,7 @@ func (client ModuleClient) GetResponder(resp *http.Response) (result Module, err // ListByAutomationAccount retrieve a list of modules. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. func (client ModuleClient) ListByAutomationAccount(resourceGroupName string, automationAccountName string) (result ModuleListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -366,11 +363,55 @@ func (client ModuleClient) ListByAutomationAccountNextResults(lastResults Module return } +// ListByAutomationAccountComplete gets all elements from the list without paging. +func (client ModuleClient) ListByAutomationAccountComplete(resourceGroupName string, automationAccountName string, cancel <-chan struct{}) (<-chan Module, <-chan error) { + resultChan := make(chan Module) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByAutomationAccount(resourceGroupName, automationAccountName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByAutomationAccountNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update update the module identified by module name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. moduleName is the name of module. parameters is the -// update parameters for module. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. moduleName is +// the name of module. parameters is the update parameters for module. func (client ModuleClient) Update(resourceGroupName string, automationAccountName string, moduleName string, parameters ModuleUpdateParameters) (result Module, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/nodereports.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/nodereports.go index ad9f6acb3..bafb26dc9 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/nodereports.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/nodereports.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// NodeReportsClient is the composite Swagger json for Azure Automation Client +// NodeReportsClient is the automation Client type NodeReportsClient struct { ManagementClient } @@ -35,17 +34,15 @@ func NewNodeReportsClient(subscriptionID string) NodeReportsClient { return NewNodeReportsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewNodeReportsClientWithBaseURI creates an instance of the NodeReportsClient -// client. +// NewNodeReportsClientWithBaseURI creates an instance of the NodeReportsClient client. func NewNodeReportsClientWithBaseURI(baseURI string, subscriptionID string) NodeReportsClient { return NodeReportsClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get retrieve the Dsc node report data by node id and report id. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. nodeID is the Dsc node id. reportID is the report -// id. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. nodeID is the +// Dsc node id. reportID is the report id. func (client NodeReportsClient) Get(resourceGroupName string, automationAccountName string, nodeID string, reportID string) (result DscNodeReport, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -118,9 +115,8 @@ func (client NodeReportsClient) GetResponder(resp *http.Response) (result DscNod // GetContent retrieve the Dsc node reports by node id and report id. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. nodeID is the Dsc node id. reportID is the report -// id. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. nodeID is the +// Dsc node id. reportID is the report id. func (client NodeReportsClient) GetContent(resourceGroupName string, automationAccountName string, nodeID string, reportID string) (result ReadCloser, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -192,9 +188,8 @@ func (client NodeReportsClient) GetContentResponder(resp *http.Response) (result // ListByNode retrieve the Dsc node report list by node id. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. nodeID is the parameters supplied to the list -// operation. filter is the filter to apply on the operation. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. nodeID is the +// parameters supplied to the list operation. filter is the filter to apply on the operation. func (client NodeReportsClient) ListByNode(resourceGroupName string, automationAccountName string, nodeID string, filter string) (result DscNodeReportListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -290,3 +285,48 @@ func (client NodeReportsClient) ListByNodeNextResults(lastResults DscNodeReportL return } + +// ListByNodeComplete gets all elements from the list without paging. +func (client NodeReportsClient) ListByNodeComplete(resourceGroupName string, automationAccountName string, nodeID string, filter string, cancel <-chan struct{}) (<-chan DscNodeReport, <-chan error) { + resultChan := make(chan DscNodeReport) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByNode(resourceGroupName, automationAccountName, nodeID, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByNodeNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/objectdatatypes.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/objectdatatypes.go index 0a0952fb2..f5aed0ba9 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/objectdatatypes.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/objectdatatypes.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,30 +24,25 @@ import ( "net/http" ) -// ObjectDataTypesClient is the composite Swagger json for Azure Automation -// Client +// ObjectDataTypesClient is the automation Client type ObjectDataTypesClient struct { ManagementClient } -// NewObjectDataTypesClient creates an instance of the ObjectDataTypesClient -// client. +// NewObjectDataTypesClient creates an instance of the ObjectDataTypesClient client. func NewObjectDataTypesClient(subscriptionID string) ObjectDataTypesClient { return NewObjectDataTypesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewObjectDataTypesClientWithBaseURI creates an instance of the -// ObjectDataTypesClient client. +// NewObjectDataTypesClientWithBaseURI creates an instance of the ObjectDataTypesClient client. func NewObjectDataTypesClientWithBaseURI(baseURI string, subscriptionID string) ObjectDataTypesClient { return ObjectDataTypesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// ListFieldsByModuleAndType retrieve a list of fields of a given type -// identified by module name. +// ListFieldsByModuleAndType retrieve a list of fields of a given type identified by module name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. moduleName is the name of module. typeName is the -// name of type. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. moduleName is +// the name of module. typeName is the name of type. func (client ObjectDataTypesClient) ListFieldsByModuleAndType(resourceGroupName string, automationAccountName string, moduleName string, typeName string) (result TypeFieldListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -119,11 +113,10 @@ func (client ObjectDataTypesClient) ListFieldsByModuleAndTypeResponder(resp *htt return } -// ListFieldsByType retrieve a list of fields of a given type across all -// accessible modules. +// ListFieldsByType retrieve a list of fields of a given type across all accessible modules. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. typeName is the name of type. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. typeName is the +// name of type. func (client ObjectDataTypesClient) ListFieldsByType(resourceGroupName string, automationAccountName string, typeName string) (result TypeFieldListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/operations.go index a70339b7a..4537d2d88 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/operations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/operations.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,7 +23,7 @@ import ( "net/http" ) -// OperationsClient is the composite Swagger json for Azure Automation Client +// OperationsClient is the automation Client type OperationsClient struct { ManagementClient } @@ -34,8 +33,7 @@ func NewOperationsClient(subscriptionID string) OperationsClient { return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewOperationsClientWithBaseURI creates an instance of the OperationsClient -// client. +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/runbook.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/runbook.go index 52a522bea..19e55f848 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/runbook.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/runbook.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// RunbookClient is the composite Swagger json for Azure Automation Client +// RunbookClient is the automation Client type RunbookClient struct { ManagementClient } @@ -42,9 +41,8 @@ func NewRunbookClientWithBaseURI(baseURI string, subscriptionID string) RunbookC // CreateOrUpdate create the runbook identified by runbook name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. runbookName is the runbook name. parameters is the -// create or update parameters for runbook. Provide either content link for a +// resourceGroupName is the resource group name. automationAccountName is the automation account name. runbookName is +// the runbook name. parameters is the create or update parameters for runbook. Provide either content link for a // published runbook or draft, not both. func (client RunbookClient) CreateOrUpdate(resourceGroupName string, automationAccountName string, runbookName string, parameters RunbookCreateOrUpdateParameters) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ @@ -135,8 +133,8 @@ func (client RunbookClient) CreateOrUpdateResponder(resp *http.Response) (result // Delete delete the runbook by name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. runbookName is the runbook name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. runbookName is +// the runbook name. func (client RunbookClient) Delete(resourceGroupName string, automationAccountName string, runbookName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -207,8 +205,8 @@ func (client RunbookClient) DeleteResponder(resp *http.Response) (result autores // Get retrieve the runbook identified by runbook name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. runbookName is the runbook name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. runbookName is +// the runbook name. func (client RunbookClient) Get(resourceGroupName string, automationAccountName string, runbookName string) (result Runbook, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -280,8 +278,8 @@ func (client RunbookClient) GetResponder(resp *http.Response) (result Runbook, e // GetContent retrieve the content of runbook identified by runbook name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. runbookName is the runbook name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. runbookName is +// the runbook name. func (client RunbookClient) GetContent(resourceGroupName string, automationAccountName string, runbookName string) (result ReadCloser, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -352,8 +350,7 @@ func (client RunbookClient) GetContentResponder(resp *http.Response) (result Rea // ListByAutomationAccount retrieve a list of runbooks. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. func (client RunbookClient) ListByAutomationAccount(resourceGroupName string, automationAccountName string) (result RunbookListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -446,11 +443,55 @@ func (client RunbookClient) ListByAutomationAccountNextResults(lastResults Runbo return } +// ListByAutomationAccountComplete gets all elements from the list without paging. +func (client RunbookClient) ListByAutomationAccountComplete(resourceGroupName string, automationAccountName string, cancel <-chan struct{}) (<-chan Runbook, <-chan error) { + resultChan := make(chan Runbook) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByAutomationAccount(resourceGroupName, automationAccountName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByAutomationAccountNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update update the runbook identified by runbook name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. runbookName is the runbook name. parameters is the -// update parameters for runbook. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. runbookName is +// the runbook name. parameters is the update parameters for runbook. func (client RunbookClient) Update(resourceGroupName string, automationAccountName string, runbookName string, parameters RunbookUpdateParameters) (result Runbook, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/runbookdraft.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/runbookdraft.go index d3679ee43..5235164b5 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/runbookdraft.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/runbookdraft.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -26,7 +25,7 @@ import ( "net/http" ) -// RunbookDraftClient is the composite Swagger json for Azure Automation Client +// RunbookDraftClient is the automation Client type RunbookDraftClient struct { ManagementClient } @@ -36,21 +35,18 @@ func NewRunbookDraftClient(subscriptionID string) RunbookDraftClient { return NewRunbookDraftClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewRunbookDraftClientWithBaseURI creates an instance of the -// RunbookDraftClient client. +// NewRunbookDraftClientWithBaseURI creates an instance of the RunbookDraftClient client. func NewRunbookDraftClientWithBaseURI(baseURI string, subscriptionID string) RunbookDraftClient { return RunbookDraftClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate updates the runbook draft with runbookStream as its content. -// This method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// CreateOrUpdate updates the runbook draft with runbookStream as its content. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. runbookName is the runbook name. runbookContent is -// the runbook draft content. runbookContent will be closed upon successful -// return. Callers should ensure closure when receiving an error. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. runbookName is +// the runbook name. runbookContent is the runbook draft content. runbookContent will be closed upon successful return. +// Callers should ensure closure when receiving an error. func (client RunbookDraftClient) CreateOrUpdate(resourceGroupName string, automationAccountName string, runbookName string, runbookContent io.ReadCloser, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -67,8 +63,10 @@ func (client RunbookDraftClient) CreateOrUpdate(resourceGroupName string, automa var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -138,8 +136,8 @@ func (client RunbookDraftClient) CreateOrUpdateResponder(resp *http.Response) (r // Get retrieve the runbook draft identified by runbook name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. runbookName is the runbook name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. runbookName is +// the runbook name. func (client RunbookDraftClient) Get(resourceGroupName string, automationAccountName string, runbookName string) (result RunbookDraft, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -211,8 +209,8 @@ func (client RunbookDraftClient) GetResponder(resp *http.Response) (result Runbo // GetContent retrieve the content of runbook draft identified by runbook name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. runbookName is the runbook name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. runbookName is +// the runbook name. func (client RunbookDraftClient) GetContent(resourceGroupName string, automationAccountName string, runbookName string) (result ReadCloser, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -281,13 +279,11 @@ func (client RunbookDraftClient) GetContentResponder(resp *http.Response) (resul return } -// Publish publish runbook draft. This method may poll for completion. Polling -// can be canceled by passing the cancel channel argument. The channel will be -// used to cancel polling and any outstanding HTTP requests. +// Publish publish runbook draft. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. runbookName is the parameters supplied to the -// publish runbook operation. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. runbookName is +// the parameters supplied to the publish runbook operation. func (client RunbookDraftClient) Publish(resourceGroupName string, automationAccountName string, runbookName string, cancel <-chan struct{}) (<-chan Runbook, <-chan error) { resultChan := make(chan Runbook, 1) errChan := make(chan error, 1) @@ -304,8 +300,10 @@ func (client RunbookDraftClient) Publish(resourceGroupName string, automationAcc var err error var result Runbook defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -375,8 +373,8 @@ func (client RunbookDraftClient) PublishResponder(resp *http.Response) (result R // UndoEdit retrieve the runbook identified by runbook name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. runbookName is the runbook name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. runbookName is +// the runbook name. func (client RunbookDraftClient) UndoEdit(resourceGroupName string, automationAccountName string, runbookName string) (result RunbookDraftUndoEditResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/schedule.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/schedule.go index 9a98147d6..a0b8a29f7 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/schedule.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/schedule.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// ScheduleClient is the composite Swagger json for Azure Automation Client +// ScheduleClient is the automation Client type ScheduleClient struct { ManagementClient } @@ -35,17 +34,15 @@ func NewScheduleClient(subscriptionID string) ScheduleClient { return NewScheduleClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewScheduleClientWithBaseURI creates an instance of the ScheduleClient -// client. +// NewScheduleClientWithBaseURI creates an instance of the ScheduleClient client. func NewScheduleClientWithBaseURI(baseURI string, subscriptionID string) ScheduleClient { return ScheduleClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate create a schedule. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. scheduleName is the schedule name. parameters is -// the parameters supplied to the create or update schedule operation. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. scheduleName is +// the schedule name. parameters is the parameters supplied to the create or update schedule operation. func (client ScheduleClient) CreateOrUpdate(resourceGroupName string, automationAccountName string, scheduleName string, parameters ScheduleCreateOrUpdateParameters) (result Schedule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -123,8 +120,8 @@ func (client ScheduleClient) CreateOrUpdateResponder(resp *http.Response) (resul // Delete delete the schedule identified by schedule name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. scheduleName is the schedule name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. scheduleName is +// the schedule name. func (client ScheduleClient) Delete(resourceGroupName string, automationAccountName string, scheduleName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -195,8 +192,8 @@ func (client ScheduleClient) DeleteResponder(resp *http.Response) (result autore // Get retrieve the schedule identified by schedule name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. scheduleName is the schedule name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. scheduleName is +// the schedule name. func (client ScheduleClient) Get(resourceGroupName string, automationAccountName string, scheduleName string) (result Schedule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -268,8 +265,7 @@ func (client ScheduleClient) GetResponder(resp *http.Response) (result Schedule, // ListByAutomationAccount retrieve a list of schedules. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. func (client ScheduleClient) ListByAutomationAccount(resourceGroupName string, automationAccountName string) (result ScheduleListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -362,11 +358,55 @@ func (client ScheduleClient) ListByAutomationAccountNextResults(lastResults Sche return } +// ListByAutomationAccountComplete gets all elements from the list without paging. +func (client ScheduleClient) ListByAutomationAccountComplete(resourceGroupName string, automationAccountName string, cancel <-chan struct{}) (<-chan Schedule, <-chan error) { + resultChan := make(chan Schedule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByAutomationAccount(resourceGroupName, automationAccountName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByAutomationAccountNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update update the schedule identified by schedule name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. scheduleName is the schedule name. parameters is -// the parameters supplied to the update schedule operation. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. scheduleName is +// the schedule name. parameters is the parameters supplied to the update schedule operation. func (client ScheduleClient) Update(resourceGroupName string, automationAccountName string, scheduleName string, parameters ScheduleUpdateParameters) (result Schedule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/statistics.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/statistics.go index 74d027ebe..2176811ad 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/statistics.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/statistics.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// StatisticsClient is the composite Swagger json for Azure Automation Client +// StatisticsClient is the automation Client type StatisticsClient struct { ManagementClient } @@ -35,16 +34,15 @@ func NewStatisticsClient(subscriptionID string) StatisticsClient { return NewStatisticsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewStatisticsClientWithBaseURI creates an instance of the StatisticsClient -// client. +// NewStatisticsClientWithBaseURI creates an instance of the StatisticsClient client. func NewStatisticsClientWithBaseURI(baseURI string, subscriptionID string) StatisticsClient { return StatisticsClient{NewWithBaseURI(baseURI, subscriptionID)} } // ListByAutomationAccount retrieve the statistics for the account. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. filter is the filter to apply on the operation. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. filter is the +// filter to apply on the operation. func (client StatisticsClient) ListByAutomationAccount(resourceGroupName string, automationAccountName string, filter string) (result StatisticsListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/testjobs.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/testjobs.go index 55a39599a..e22e3d026 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/testjobs.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/testjobs.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// TestJobsClient is the composite Swagger json for Azure Automation Client +// TestJobsClient is the automation Client type TestJobsClient struct { ManagementClient } @@ -35,18 +34,16 @@ func NewTestJobsClient(subscriptionID string) TestJobsClient { return NewTestJobsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewTestJobsClientWithBaseURI creates an instance of the TestJobsClient -// client. +// NewTestJobsClientWithBaseURI creates an instance of the TestJobsClient client. func NewTestJobsClientWithBaseURI(baseURI string, subscriptionID string) TestJobsClient { return TestJobsClient{NewWithBaseURI(baseURI, subscriptionID)} } // Create create a test job of the runbook. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. runbookName is the parameters supplied to the -// create test job operation. parameters is the parameters supplied to the -// create test job operation. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. runbookName is +// the parameters supplied to the create test job operation. parameters is the parameters supplied to the create test +// job operation. func (client TestJobsClient) Create(resourceGroupName string, automationAccountName string, runbookName string, parameters TestJobCreateParameters) (result TestJob, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -122,8 +119,8 @@ func (client TestJobsClient) CreateResponder(resp *http.Response) (result TestJo // Get retrieve the test job for the specified runbook. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. runbookName is the runbook name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. runbookName is +// the runbook name. func (client TestJobsClient) Get(resourceGroupName string, automationAccountName string, runbookName string) (result TestJob, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -195,8 +192,8 @@ func (client TestJobsClient) GetResponder(resp *http.Response) (result TestJob, // Resume resume the test job. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. runbookName is the runbook name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. runbookName is +// the runbook name. func (client TestJobsClient) Resume(resourceGroupName string, automationAccountName string, runbookName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -267,8 +264,8 @@ func (client TestJobsClient) ResumeResponder(resp *http.Response) (result autore // Stop stop the test job. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. runbookName is the runbook name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. runbookName is +// the runbook name. func (client TestJobsClient) Stop(resourceGroupName string, automationAccountName string, runbookName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -339,8 +336,8 @@ func (client TestJobsClient) StopResponder(resp *http.Response) (result autorest // Suspend suspend the test job. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. runbookName is the runbook name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. runbookName is +// the runbook name. func (client TestJobsClient) Suspend(resourceGroupName string, automationAccountName string, runbookName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/testjobstreams.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/testjobstreams.go index f5f608457..c557bd075 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/testjobstreams.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/testjobstreams.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,29 +24,25 @@ import ( "net/http" ) -// TestJobStreamsClient is the composite Swagger json for Azure Automation -// Client +// TestJobStreamsClient is the automation Client type TestJobStreamsClient struct { ManagementClient } -// NewTestJobStreamsClient creates an instance of the TestJobStreamsClient -// client. +// NewTestJobStreamsClient creates an instance of the TestJobStreamsClient client. func NewTestJobStreamsClient(subscriptionID string) TestJobStreamsClient { return NewTestJobStreamsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewTestJobStreamsClientWithBaseURI creates an instance of the -// TestJobStreamsClient client. +// NewTestJobStreamsClientWithBaseURI creates an instance of the TestJobStreamsClient client. func NewTestJobStreamsClientWithBaseURI(baseURI string, subscriptionID string) TestJobStreamsClient { return TestJobStreamsClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get retrieve a test job streams identified by runbook name and stream id. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. runbookName is the runbook name. jobStreamID is the -// job stream id. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. runbookName is +// the runbook name. jobStreamID is the job stream id. func (client TestJobStreamsClient) Get(resourceGroupName string, automationAccountName string, runbookName string, jobStreamID string) (result JobStream, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -118,12 +113,10 @@ func (client TestJobStreamsClient) GetResponder(resp *http.Response) (result Job return } -// ListByTestJob retrieve a list of test job streams identified by runbook -// name. +// ListByTestJob retrieve a list of test job streams identified by runbook name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. runbookName is the runbook name. filter is the -// filter to apply on the operation. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. runbookName is +// the runbook name. filter is the filter to apply on the operation. func (client TestJobStreamsClient) ListByTestJob(resourceGroupName string, automationAccountName string, runbookName string, filter string) (result JobStreamListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -219,3 +212,48 @@ func (client TestJobStreamsClient) ListByTestJobNextResults(lastResults JobStrea return } + +// ListByTestJobComplete gets all elements from the list without paging. +func (client TestJobStreamsClient) ListByTestJobComplete(resourceGroupName string, automationAccountName string, runbookName string, filter string, cancel <-chan struct{}) (<-chan JobStream, <-chan error) { + resultChan := make(chan JobStream) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByTestJob(resourceGroupName, automationAccountName, runbookName, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByTestJobNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/usages.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/usages.go index 63057beba..874520248 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/usages.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/usages.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// UsagesClient is the composite Swagger json for Azure Automation Client +// UsagesClient is the automation Client type UsagesClient struct { ManagementClient } @@ -42,8 +41,7 @@ func NewUsagesClientWithBaseURI(baseURI string, subscriptionID string) UsagesCli // ListByAutomationAccount retrieve the usage for the account id. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. func (client UsagesClient) ListByAutomationAccount(resourceGroupName string, automationAccountName string) (result UsageListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/variable.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/variable.go index 22da1431d..d6cffd3f4 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/variable.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/variable.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// VariableClient is the composite Swagger json for Azure Automation Client +// VariableClient is the automation Client type VariableClient struct { ManagementClient } @@ -35,17 +34,15 @@ func NewVariableClient(subscriptionID string) VariableClient { return NewVariableClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewVariableClientWithBaseURI creates an instance of the VariableClient -// client. +// NewVariableClientWithBaseURI creates an instance of the VariableClient client. func NewVariableClientWithBaseURI(baseURI string, subscriptionID string) VariableClient { return VariableClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate create a variable. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. variableName is the variable name. parameters is -// the parameters supplied to the create or update variable operation. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. variableName is +// the variable name. parameters is the parameters supplied to the create or update variable operation. func (client VariableClient) CreateOrUpdate(resourceGroupName string, automationAccountName string, variableName string, parameters VariableCreateOrUpdateParameters) (result Variable, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -122,8 +119,8 @@ func (client VariableClient) CreateOrUpdateResponder(resp *http.Response) (resul // Delete delete the variable. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. variableName is the name of variable. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. variableName is +// the name of variable. func (client VariableClient) Delete(resourceGroupName string, automationAccountName string, variableName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -194,8 +191,8 @@ func (client VariableClient) DeleteResponder(resp *http.Response) (result autore // Get retrieve the variable identified by variable name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. variableName is the name of variable. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. variableName is +// the name of variable. func (client VariableClient) Get(resourceGroupName string, automationAccountName string, variableName string) (result Variable, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -267,8 +264,7 @@ func (client VariableClient) GetResponder(resp *http.Response) (result Variable, // ListByAutomationAccount retrieve a list of variables. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. func (client VariableClient) ListByAutomationAccount(resourceGroupName string, automationAccountName string) (result VariableListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -361,11 +357,55 @@ func (client VariableClient) ListByAutomationAccountNextResults(lastResults Vari return } +// ListByAutomationAccountComplete gets all elements from the list without paging. +func (client VariableClient) ListByAutomationAccountComplete(resourceGroupName string, automationAccountName string, cancel <-chan struct{}) (<-chan Variable, <-chan error) { + resultChan := make(chan Variable) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByAutomationAccount(resourceGroupName, automationAccountName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByAutomationAccountNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update update a variable. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. variableName is the variable name. parameters is -// the parameters supplied to the update variable operation. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. variableName is +// the variable name. parameters is the parameters supplied to the update variable operation. func (client VariableClient) Update(resourceGroupName string, automationAccountName string, variableName string, parameters VariableUpdateParameters) (result Variable, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/version.go index 5369eb959..f95f64497 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/version.go @@ -14,16 +14,15 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-automation/" + return "Azure-SDK-For-Go/v11.0.0-beta arm-automation/2015-10-31" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/webhook.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/webhook.go index 8b172c072..432c682bb 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/webhook.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/automation/webhook.go @@ -14,9 +14,8 @@ package automation // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// WebhookClient is the composite Swagger json for Azure Automation Client +// WebhookClient is the automation Client type WebhookClient struct { ManagementClient } @@ -42,9 +41,8 @@ func NewWebhookClientWithBaseURI(baseURI string, subscriptionID string) WebhookC // CreateOrUpdate create the webhook identified by webhook name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. webhookName is the webhook name. parameters is the -// create or update parameters for webhook. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. webhookName is +// the webhook name. parameters is the create or update parameters for webhook. func (client WebhookClient) CreateOrUpdate(resourceGroupName string, automationAccountName string, webhookName string, parameters WebhookCreateOrUpdateParameters) (result Webhook, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -121,8 +119,8 @@ func (client WebhookClient) CreateOrUpdateResponder(resp *http.Response) (result // Delete delete the webhook by name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. webhookName is the webhook name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. webhookName is +// the webhook name. func (client WebhookClient) Delete(resourceGroupName string, automationAccountName string, webhookName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -193,8 +191,7 @@ func (client WebhookClient) DeleteResponder(resp *http.Response) (result autores // GenerateURI generates a Uri for use in creating a webhook. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. func (client WebhookClient) GenerateURI(resourceGroupName string, automationAccountName string) (result String, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -265,8 +262,8 @@ func (client WebhookClient) GenerateURIResponder(resp *http.Response) (result St // Get retrieve the webhook identified by webhook name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. webhookName is the webhook name. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. webhookName is +// the webhook name. func (client WebhookClient) Get(resourceGroupName string, automationAccountName string, webhookName string) (result Webhook, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -338,8 +335,8 @@ func (client WebhookClient) GetResponder(resp *http.Response) (result Webhook, e // ListByAutomationAccount retrieve a list of webhooks. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. filter is the filter to apply on the operation. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. filter is the +// filter to apply on the operation. func (client WebhookClient) ListByAutomationAccount(resourceGroupName string, automationAccountName string, filter string) (result WebhookListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -435,11 +432,55 @@ func (client WebhookClient) ListByAutomationAccountNextResults(lastResults Webho return } +// ListByAutomationAccountComplete gets all elements from the list without paging. +func (client WebhookClient) ListByAutomationAccountComplete(resourceGroupName string, automationAccountName string, filter string, cancel <-chan struct{}) (<-chan Webhook, <-chan error) { + resultChan := make(chan Webhook) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByAutomationAccount(resourceGroupName, automationAccountName, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByAutomationAccountNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update update the webhook identified by webhook name. // -// resourceGroupName is the resource group name. automationAccountName is the -// automation account name. webhookName is the webhook name. parameters is the -// update parameters for webhook. +// resourceGroupName is the resource group name. automationAccountName is the automation account name. webhookName is +// the webhook name. parameters is the update parameters for webhook. func (client WebhookClient) Update(resourceGroupName string, automationAccountName string, webhookName string, parameters WebhookUpdateParameters) (result Webhook, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/account.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/account.go index 9b8ad8a48..a2ff8f00e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/account.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/account.go @@ -14,9 +14,8 @@ package batch // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -40,20 +39,16 @@ func NewAccountClientWithBaseURI(baseURI string, subscriptionID string) AccountC return AccountClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Create creates a new Batch account with the specified parameters. Existing -// accounts cannot be updated with this API and should instead be updated with -// the Update Batch Account API. This method may poll for completion. Polling -// can be canceled by passing the cancel channel argument. The channel will be -// used to cancel polling and any outstanding HTTP requests. +// Create creates a new Batch account with the specified parameters. Existing accounts cannot be updated with this API +// and should instead be updated with the Update Batch Account API. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group that contains the new -// Batch account. accountName is a name for the Batch account which must be -// unique within the region. Batch account names must be between 3 and 24 -// characters in length and must use only numbers and lowercase letters. This -// name is used as part of the DNS name that is used to access the Batch -// service in the region in which the account is created. For example: -// http://accountname.region.batch.azure.com/. parameters is additional -// parameters for account creation. +// resourceGroupName is the name of the resource group that contains the Batch account. accountName is a name for the +// Batch account which must be unique within the region. Batch account names must be between 3 and 24 characters in +// length and must use only numbers and lowercase letters. This name is used as part of the DNS name that is used to +// access the Batch service in the region in which the account is created. For example: +// http://accountname.region.batch.azure.com/. parameters is additional parameters for account creation. func (client AccountClient) Create(resourceGroupName string, accountName string, parameters AccountCreateParameters, cancel <-chan struct{}) (<-chan Account, <-chan error) { resultChan := make(chan Account, 1) errChan := make(chan error, 1) @@ -66,12 +61,12 @@ func (client AccountClient) Create(resourceGroupName string, accountName string, {Target: "accountName", Name: validation.Pattern, Rule: `^[-\w\._]+$`, Chain: nil}}}, {TargetValue: parameters, Constraints: []validation.Constraint{{Target: "parameters.Location", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.AccountBaseProperties", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.AccountBaseProperties.AutoStorage", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.AccountBaseProperties.AutoStorage.StorageAccountID", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "parameters.AccountBaseProperties.KeyVaultReference", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.AccountBaseProperties.KeyVaultReference.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.AccountBaseProperties.KeyVaultReference.URL", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.AccountCreateProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.AccountCreateProperties.AutoStorage", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.AccountCreateProperties.AutoStorage.StorageAccountID", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.AccountCreateProperties.KeyVaultReference", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.AccountCreateProperties.KeyVaultReference.ID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.AccountCreateProperties.KeyVaultReference.URL", Name: validation.Null, Rule: true, Chain: nil}, }}, }}}}}); err != nil { errChan <- validation.NewErrorWithValidationError(err, "batch.AccountClient", "Create") @@ -84,8 +79,10 @@ func (client AccountClient) Create(resourceGroupName string, accountName string, var err error var result Account defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -118,7 +115,7 @@ func (client AccountClient) CreatePreparer(resourceGroupName string, accountName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-05-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -154,13 +151,11 @@ func (client AccountClient) CreateResponder(resp *http.Response) (result Account return } -// Delete deletes the specified Batch account. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete deletes the specified Batch account. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group that contains the Batch -// account to be deleted. accountName is the name of the account to be deleted. +// resourceGroupName is the name of the resource group that contains the Batch account. accountName is the name of the +// Batch account. func (client AccountClient) Delete(resourceGroupName string, accountName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -181,8 +176,10 @@ func (client AccountClient) Delete(resourceGroupName string, accountName string, var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -215,7 +212,7 @@ func (client AccountClient) DeletePreparer(resourceGroupName string, accountName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-05-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -242,7 +239,7 @@ func (client AccountClient) DeleteResponder(resp *http.Response) (result autores err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), autorest.ByClosing()) result.Response = resp return @@ -250,8 +247,8 @@ func (client AccountClient) DeleteResponder(resp *http.Response) (result autores // Get gets information about the specified Batch account. // -// resourceGroupName is the name of the resource group that contains the Batch -// account. accountName is the name of the account. +// resourceGroupName is the name of the resource group that contains the Batch account. accountName is the name of the +// Batch account. func (client AccountClient) Get(resourceGroupName string, accountName string) (result Account, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -292,7 +289,7 @@ func (client AccountClient) GetPreparer(resourceGroupName string, accountName st "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-05-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -324,14 +321,12 @@ func (client AccountClient) GetResponder(resp *http.Response) (result Account, e return } -// GetKeys this operation applies only to Batch accounts created with a -// poolAllocationMode of 'BatchService'. If the Batch account was created with -// a poolAllocationMode of 'UserSubscription', clients cannot use access to -// keys to authenticate, and must use Azure Active Directory instead. In this -// case, getting the keys will fail. +// GetKeys this operation applies only to Batch accounts created with a poolAllocationMode of 'BatchService'. If the +// Batch account was created with a poolAllocationMode of 'UserSubscription', clients cannot use access to keys to +// authenticate, and must use Azure Active Directory instead. In this case, getting the keys will fail. // -// resourceGroupName is the name of the resource group that contains the Batch -// account. accountName is the name of the account. +// resourceGroupName is the name of the resource group that contains the Batch account. accountName is the name of the +// Batch account. func (client AccountClient) GetKeys(resourceGroupName string, accountName string) (result AccountKeys, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -372,7 +367,7 @@ func (client AccountClient) GetKeysPreparer(resourceGroupName string, accountNam "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-05-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -404,8 +399,7 @@ func (client AccountClient) GetKeysResponder(resp *http.Response) (result Accoun return } -// List gets information about the Batch accounts associated with the -// subscription. +// List gets information about the Batch accounts associated with the subscription. func (client AccountClient) List() (result AccountListResult, err error) { req, err := client.ListPreparer() if err != nil { @@ -434,7 +428,7 @@ func (client AccountClient) ListPreparer() (*http.Request, error) { "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-05-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -490,11 +484,54 @@ func (client AccountClient) ListNextResults(lastResults AccountListResult) (resu return } -// ListByResourceGroup gets information about the Batch accounts associated -// within the specified resource group. +// ListComplete gets all elements from the list without paging. +func (client AccountClient) ListComplete(cancel <-chan struct{}) (<-chan Account, <-chan error) { + resultChan := make(chan Account) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListByResourceGroup gets information about the Batch accounts associated with the specified resource group. // -// resourceGroupName is the name of the resource group whose Batch accounts to -// list. +// resourceGroupName is the name of the resource group that contains the Batch account. func (client AccountClient) ListByResourceGroup(resourceGroupName string) (result AccountListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -530,7 +567,7 @@ func (client AccountClient) ListByResourceGroupPreparer(resourceGroupName string "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-05-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -586,11 +623,55 @@ func (client AccountClient) ListByResourceGroupNextResults(lastResults AccountLi return } +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client AccountClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan Account, <-chan error) { + resultChan := make(chan Account) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // RegenerateKey regenerates the specified account key for the Batch account. // -// resourceGroupName is the name of the resource group that contains the Batch -// account. accountName is the name of the account. parameters is the type of -// key to regenerate. +// resourceGroupName is the name of the resource group that contains the Batch account. accountName is the name of the +// Batch account. parameters is the type of key to regenerate. func (client AccountClient) RegenerateKey(resourceGroupName string, accountName string, parameters AccountRegenerateKeyParameters) (result AccountKeys, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -631,7 +712,7 @@ func (client AccountClient) RegenerateKeyPreparer(resourceGroupName string, acco "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-05-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -665,11 +746,11 @@ func (client AccountClient) RegenerateKeyResponder(resp *http.Response) (result return } -// SynchronizeAutoStorageKeys synchronizes access keys for the auto storage -// account configured for the specified Batch account. +// SynchronizeAutoStorageKeys synchronizes access keys for the auto-storage account configured for the specified Batch +// account. // -// resourceGroupName is the name of the resource group that contains the Batch -// account. accountName is the name of the Batch account. +// resourceGroupName is the name of the resource group that contains the Batch account. accountName is the name of the +// Batch account. func (client AccountClient) SynchronizeAutoStorageKeys(resourceGroupName string, accountName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -710,7 +791,7 @@ func (client AccountClient) SynchronizeAutoStorageKeysPreparer(resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-05-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -743,9 +824,8 @@ func (client AccountClient) SynchronizeAutoStorageKeysResponder(resp *http.Respo // Update updates the properties of an existing Batch account. // -// resourceGroupName is the name of the resource group that contains the Batch -// account. accountName is the name of the account. parameters is additional -// parameters for account update. +// resourceGroupName is the name of the resource group that contains the Batch account. accountName is the name of the +// Batch account. parameters is additional parameters for account update. func (client AccountClient) Update(resourceGroupName string, accountName string, parameters AccountUpdateParameters) (result Account, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -786,7 +866,7 @@ func (client AccountClient) UpdatePreparer(resourceGroupName string, accountName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-05-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/application.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/application.go index 1701b2912..832710fa4 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/application.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/application.go @@ -14,9 +14,8 @@ package batch // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// ApplicationClient is the client for the Application methods of the Batch -// service. +// ApplicationClient is the client for the Application methods of the Batch service. type ApplicationClient struct { ManagementClient } @@ -36,18 +34,16 @@ func NewApplicationClient(subscriptionID string) ApplicationClient { return NewApplicationClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewApplicationClientWithBaseURI creates an instance of the ApplicationClient -// client. +// NewApplicationClientWithBaseURI creates an instance of the ApplicationClient client. func NewApplicationClientWithBaseURI(baseURI string, subscriptionID string) ApplicationClient { return ApplicationClient{NewWithBaseURI(baseURI, subscriptionID)} } // Create adds an application to the specified Batch account. // -// resourceGroupName is the name of the resource group that contains the Batch -// account. accountName is the name of the Batch account. applicationID is the -// ID of the application. parameters is the parameters for the request. -func (client ApplicationClient) Create(resourceGroupName string, accountName string, applicationID string, parameters *AddApplicationParameters) (result Application, err error) { +// resourceGroupName is the name of the resource group that contains the Batch account. accountName is the name of the +// Batch account. applicationID is the ID of the application. parameters is the parameters for the request. +func (client ApplicationClient) Create(resourceGroupName string, accountName string, applicationID string, parameters *ApplicationCreateParameters) (result Application, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._]+$`, Chain: nil}}}, @@ -80,7 +76,7 @@ func (client ApplicationClient) Create(resourceGroupName string, accountName str } // CreatePreparer prepares the Create request. -func (client ApplicationClient) CreatePreparer(resourceGroupName string, accountName string, applicationID string, parameters *AddApplicationParameters) (*http.Request, error) { +func (client ApplicationClient) CreatePreparer(resourceGroupName string, accountName string, applicationID string, parameters *ApplicationCreateParameters) (*http.Request, error) { pathParameters := map[string]interface{}{ "accountName": autorest.Encode("path", accountName), "applicationId": autorest.Encode("path", applicationID), @@ -88,7 +84,7 @@ func (client ApplicationClient) CreatePreparer(resourceGroupName string, account "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-05-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -127,9 +123,8 @@ func (client ApplicationClient) CreateResponder(resp *http.Response) (result App // Delete deletes an application. // -// resourceGroupName is the name of the resource group that contains the Batch -// account. accountName is the name of the Batch account. applicationID is the -// ID of the application. +// resourceGroupName is the name of the resource group that contains the Batch account. accountName is the name of the +// Batch account. applicationID is the ID of the application. func (client ApplicationClient) Delete(resourceGroupName string, accountName string, applicationID string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -171,7 +166,7 @@ func (client ApplicationClient) DeletePreparer(resourceGroupName string, account "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-05-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -204,9 +199,8 @@ func (client ApplicationClient) DeleteResponder(resp *http.Response) (result aut // Get gets information about the specified application. // -// resourceGroupName is the name of the resource group that contains the Batch -// account. accountName is the name of the Batch account. applicationID is the -// ID of the application. +// resourceGroupName is the name of the resource group that contains the Batch account. accountName is the name of the +// Batch account. applicationID is the ID of the application. func (client ApplicationClient) Get(resourceGroupName string, accountName string, applicationID string) (result Application, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -248,7 +242,7 @@ func (client ApplicationClient) GetPreparer(resourceGroupName string, accountNam "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-05-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -282,9 +276,8 @@ func (client ApplicationClient) GetResponder(resp *http.Response) (result Applic // List lists all of the applications in the specified account. // -// resourceGroupName is the name of the resource group that contains the Batch -// account. accountName is the name of the Batch account. maxresults is the -// maximum number of items to return in the response. +// resourceGroupName is the name of the resource group that contains the Batch account. accountName is the name of the +// Batch account. maxresults is the maximum number of items to return in the response. func (client ApplicationClient) List(resourceGroupName string, accountName string, maxresults *int32) (result ListApplicationsResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -325,7 +318,7 @@ func (client ApplicationClient) ListPreparer(resourceGroupName string, accountNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-05-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -384,12 +377,56 @@ func (client ApplicationClient) ListNextResults(lastResults ListApplicationsResu return } +// ListComplete gets all elements from the list without paging. +func (client ApplicationClient) ListComplete(resourceGroupName string, accountName string, maxresults *int32, cancel <-chan struct{}) (<-chan Application, <-chan error) { + resultChan := make(chan Application) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, accountName, maxresults) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update updates settings for the specified application. // -// resourceGroupName is the name of the resource group that contains the Batch -// account. accountName is the name of the Batch account. applicationID is the -// ID of the application. parameters is the parameters for the request. -func (client ApplicationClient) Update(resourceGroupName string, accountName string, applicationID string, parameters UpdateApplicationParameters) (result autorest.Response, err error) { +// resourceGroupName is the name of the resource group that contains the Batch account. accountName is the name of the +// Batch account. applicationID is the ID of the application. parameters is the parameters for the request. +func (client ApplicationClient) Update(resourceGroupName string, accountName string, applicationID string, parameters ApplicationUpdateParameters) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._]+$`, Chain: nil}}}, @@ -422,7 +459,7 @@ func (client ApplicationClient) Update(resourceGroupName string, accountName str } // UpdatePreparer prepares the Update request. -func (client ApplicationClient) UpdatePreparer(resourceGroupName string, accountName string, applicationID string, parameters UpdateApplicationParameters) (*http.Request, error) { +func (client ApplicationClient) UpdatePreparer(resourceGroupName string, accountName string, applicationID string, parameters ApplicationUpdateParameters) (*http.Request, error) { pathParameters := map[string]interface{}{ "accountName": autorest.Encode("path", accountName), "applicationId": autorest.Encode("path", applicationID), @@ -430,7 +467,7 @@ func (client ApplicationClient) UpdatePreparer(resourceGroupName string, account "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-05-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/applicationpackage.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/applicationpackage.go index 0fe441880..69b6ee4a2 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/applicationpackage.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/applicationpackage.go @@ -14,9 +14,8 @@ package batch // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,30 +24,26 @@ import ( "net/http" ) -// ApplicationPackageClient is the client for the ApplicationPackage methods of -// the Batch service. +// ApplicationPackageClient is the client for the ApplicationPackage methods of the Batch service. type ApplicationPackageClient struct { ManagementClient } -// NewApplicationPackageClient creates an instance of the -// ApplicationPackageClient client. +// NewApplicationPackageClient creates an instance of the ApplicationPackageClient client. func NewApplicationPackageClient(subscriptionID string) ApplicationPackageClient { return NewApplicationPackageClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewApplicationPackageClientWithBaseURI creates an instance of the -// ApplicationPackageClient client. +// NewApplicationPackageClientWithBaseURI creates an instance of the ApplicationPackageClient client. func NewApplicationPackageClientWithBaseURI(baseURI string, subscriptionID string) ApplicationPackageClient { return ApplicationPackageClient{NewWithBaseURI(baseURI, subscriptionID)} } // Activate activates the specified application package. // -// resourceGroupName is the name of the resource group that contains the Batch -// account. accountName is the name of the Batch account. applicationID is the -// ID of the application. version is the version of the application to -// activate. parameters is the parameters for the request. +// resourceGroupName is the name of the resource group that contains the Batch account. accountName is the name of the +// Batch account. applicationID is the ID of the application. version is the version of the application to activate. +// parameters is the parameters for the request. func (client ApplicationPackageClient) Activate(resourceGroupName string, accountName string, applicationID string, version string, parameters ActivateApplicationPackageParameters) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -93,7 +88,7 @@ func (client ApplicationPackageClient) ActivatePreparer(resourceGroupName string "version": autorest.Encode("path", version), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-05-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -128,9 +123,8 @@ func (client ApplicationPackageClient) ActivateResponder(resp *http.Response) (r // Create creates an application package record. // -// resourceGroupName is the name of the resource group that contains the Batch -// account. accountName is the name of the Batch account. applicationID is the -// ID of the application. version is the version of the application. +// resourceGroupName is the name of the resource group that contains the Batch account. accountName is the name of the +// Batch account. applicationID is the ID of the application. version is the version of the application. func (client ApplicationPackageClient) Create(resourceGroupName string, accountName string, applicationID string, version string) (result ApplicationPackage, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -173,7 +167,7 @@ func (client ApplicationPackageClient) CreatePreparer(resourceGroupName string, "version": autorest.Encode("path", version), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-05-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -207,9 +201,8 @@ func (client ApplicationPackageClient) CreateResponder(resp *http.Response) (res // Delete deletes an application package record and its associated binary file. // -// resourceGroupName is the name of the resource group that contains the Batch -// account. accountName is the name of the Batch account. applicationID is the -// ID of the application. version is the version of the application to delete. +// resourceGroupName is the name of the resource group that contains the Batch account. accountName is the name of the +// Batch account. applicationID is the ID of the application. version is the version of the application to delete. func (client ApplicationPackageClient) Delete(resourceGroupName string, accountName string, applicationID string, version string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -252,7 +245,7 @@ func (client ApplicationPackageClient) DeletePreparer(resourceGroupName string, "version": autorest.Encode("path", version), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-05-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -285,9 +278,8 @@ func (client ApplicationPackageClient) DeleteResponder(resp *http.Response) (res // Get gets information about the specified application package. // -// resourceGroupName is the name of the resource group that contains the Batch -// account. accountName is the name of the Batch account. applicationID is the -// ID of the application. version is the version of the application. +// resourceGroupName is the name of the resource group that contains the Batch account. accountName is the name of the +// Batch account. applicationID is the ID of the application. version is the version of the application. func (client ApplicationPackageClient) Get(resourceGroupName string, accountName string, applicationID string, version string) (result ApplicationPackage, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -330,7 +322,7 @@ func (client ApplicationPackageClient) GetPreparer(resourceGroupName string, acc "version": autorest.Encode("path", version), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-05-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/client.go index e5e5c9d8e..2051127c3 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/client.go @@ -1,4 +1,4 @@ -// Package batch implements the Azure ARM Batch service API version 2017-01-01. +// Package batch implements the Azure ARM Batch service API version 2017-05-01. // // package batch @@ -17,9 +17,8 @@ package batch // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/location.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/location.go index 7ee2e0c72..2951b91e6 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/location.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/location.go @@ -14,13 +14,13 @@ package batch // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" "net/http" ) @@ -34,16 +34,88 @@ func NewLocationClient(subscriptionID string) LocationClient { return NewLocationClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewLocationClientWithBaseURI creates an instance of the LocationClient -// client. +// NewLocationClientWithBaseURI creates an instance of the LocationClient client. func NewLocationClientWithBaseURI(baseURI string, subscriptionID string) LocationClient { return LocationClient{NewWithBaseURI(baseURI, subscriptionID)} } -// GetQuotas gets the Batch service quotas for the specified subscription at -// the given location. +// CheckNameAvailability checks whether the Batch account name is available in the specified region. // -// locationName is the desired region for the quotas. +// locationName is the desired region for the name check. parameters is properties needed to check the availability of +// a name. +func (client LocationClient) CheckNameAvailability(locationName string, parameters CheckNameAvailabilityParameters) (result CheckNameAvailabilityResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Name", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.Type", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "batch.LocationClient", "CheckNameAvailability") + } + + req, err := client.CheckNameAvailabilityPreparer(locationName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "batch.LocationClient", "CheckNameAvailability", nil, "Failure preparing request") + return + } + + resp, err := client.CheckNameAvailabilitySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "batch.LocationClient", "CheckNameAvailability", resp, "Failure sending request") + return + } + + result, err = client.CheckNameAvailabilityResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "batch.LocationClient", "CheckNameAvailability", resp, "Failure responding to request") + } + + return +} + +// CheckNameAvailabilityPreparer prepares the CheckNameAvailability request. +func (client LocationClient) CheckNameAvailabilityPreparer(locationName string, parameters CheckNameAvailabilityParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "locationName": autorest.Encode("path", locationName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/checkNameAvailability", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CheckNameAvailabilitySender sends the CheckNameAvailability request. The method will close the +// http.Response Body if it receives an error. +func (client LocationClient) CheckNameAvailabilitySender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CheckNameAvailabilityResponder handles the response to the CheckNameAvailability request. The method always +// closes the http.Response Body. +func (client LocationClient) CheckNameAvailabilityResponder(resp *http.Response) (result CheckNameAvailabilityResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetQuotas gets the Batch service quotas for the specified subscription at the given location. +// +// locationName is the region for which to retrieve Batch service quotas. func (client LocationClient) GetQuotas(locationName string) (result LocationQuota, err error) { req, err := client.GetQuotasPreparer(locationName) if err != nil { @@ -73,7 +145,7 @@ func (client LocationClient) GetQuotasPreparer(locationName string) (*http.Reque "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-05-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/models.go index 8573f5005..ba85dd4e2 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/models.go @@ -14,9 +14,8 @@ package batch // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -35,6 +34,16 @@ const ( Secondary AccountKeyType = "Secondary" ) +// NameAvailabilityReason enumerates the values for name availability reason. +type NameAvailabilityReason string + +const ( + // AlreadyExists specifies the already exists state for name availability reason. + AlreadyExists NameAvailabilityReason = "AlreadyExists" + // Invalid specifies the invalid state for name availability reason. + Invalid NameAvailabilityReason = "Invalid" +) + // PackageState enumerates the values for package state. type PackageState string @@ -53,8 +62,7 @@ type PoolAllocationMode string const ( // BatchService specifies the batch service state for pool allocation mode. BatchService PoolAllocationMode = "BatchService" - // UserSubscription specifies the user subscription state for pool - // allocation mode. + // UserSubscription specifies the user subscription state for pool allocation mode. UserSubscription PoolAllocationMode = "UserSubscription" ) @@ -62,18 +70,18 @@ const ( type ProvisioningState string const ( - // Cancelled specifies the cancelled state for provisioning state. - Cancelled ProvisioningState = "Cancelled" - // Creating specifies the creating state for provisioning state. - Creating ProvisioningState = "Creating" - // Deleting specifies the deleting state for provisioning state. - Deleting ProvisioningState = "Deleting" - // Failed specifies the failed state for provisioning state. - Failed ProvisioningState = "Failed" - // Invalid specifies the invalid state for provisioning state. - Invalid ProvisioningState = "Invalid" - // Succeeded specifies the succeeded state for provisioning state. - Succeeded ProvisioningState = "Succeeded" + // ProvisioningStateCancelled specifies the provisioning state cancelled state for provisioning state. + ProvisioningStateCancelled ProvisioningState = "Cancelled" + // ProvisioningStateCreating specifies the provisioning state creating state for provisioning state. + ProvisioningStateCreating ProvisioningState = "Creating" + // ProvisioningStateDeleting specifies the provisioning state deleting state for provisioning state. + ProvisioningStateDeleting ProvisioningState = "Deleting" + // ProvisioningStateFailed specifies the provisioning state failed state for provisioning state. + ProvisioningStateFailed ProvisioningState = "Failed" + // ProvisioningStateInvalid specifies the provisioning state invalid state for provisioning state. + ProvisioningStateInvalid ProvisioningState = "Invalid" + // ProvisioningStateSucceeded specifies the provisioning state succeeded state for provisioning state. + ProvisioningStateSucceeded ProvisioningState = "Succeeded" ) // Account is contains information about an Azure Batch account. @@ -87,23 +95,24 @@ type Account struct { *AccountProperties `json:"properties,omitempty"` } -// AccountBaseProperties is the properties of a Batch account. -type AccountBaseProperties struct { +// AccountCreateParameters is parameters supplied to the Create operation. +type AccountCreateParameters struct { + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + *AccountCreateProperties `json:"properties,omitempty"` +} + +// AccountCreateProperties is the properties of a Batch account. +type AccountCreateProperties struct { AutoStorage *AutoStorageBaseProperties `json:"autoStorage,omitempty"` PoolAllocationMode PoolAllocationMode `json:"poolAllocationMode,omitempty"` KeyVaultReference *KeyVaultReference `json:"keyVaultReference,omitempty"` } -// AccountCreateParameters is parameters supplied to the Create operation. -type AccountCreateParameters struct { - Location *string `json:"location,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` - *AccountBaseProperties `json:"properties,omitempty"` -} - // AccountKeys is a set of Azure Batch account keys. type AccountKeys struct { autorest.Response `json:"-"` + AccountName *string `json:"accountName,omitempty"` Primary *string `json:"primary,omitempty"` Secondary *string `json:"secondary,omitempty"` } @@ -134,41 +143,33 @@ type AccountProperties struct { PoolAllocationMode PoolAllocationMode `json:"poolAllocationMode,omitempty"` KeyVaultReference *KeyVaultReference `json:"keyVaultReference,omitempty"` AutoStorage *AutoStorageProperties `json:"autoStorage,omitempty"` - CoreQuota *int32 `json:"coreQuota,omitempty"` + DedicatedCoreQuota *int32 `json:"dedicatedCoreQuota,omitempty"` + LowPriorityCoreQuota *int32 `json:"lowPriorityCoreQuota,omitempty"` PoolQuota *int32 `json:"poolQuota,omitempty"` ActiveJobAndJobScheduleQuota *int32 `json:"activeJobAndJobScheduleQuota,omitempty"` } -// AccountRegenerateKeyParameters is parameters supplied to the RegenerateKey -// operation. +// AccountRegenerateKeyParameters is parameters supplied to the RegenerateKey operation. type AccountRegenerateKeyParameters struct { KeyName AccountKeyType `json:"keyName,omitempty"` } -// AccountUpdateBaseProperties is the properties for a Batch account update. -type AccountUpdateBaseProperties struct { +// AccountUpdateParameters is parameters for updating an Azure Batch account. +type AccountUpdateParameters struct { + Tags *map[string]*string `json:"tags,omitempty"` + *AccountUpdateProperties `json:"properties,omitempty"` +} + +// AccountUpdateProperties is the properties of a Batch account. +type AccountUpdateProperties struct { AutoStorage *AutoStorageBaseProperties `json:"autoStorage,omitempty"` } -// AccountUpdateParameters is parameters supplied to the Update operation. -type AccountUpdateParameters struct { - Tags *map[string]*string `json:"tags,omitempty"` - *AccountUpdateBaseProperties `json:"properties,omitempty"` -} - -// ActivateApplicationPackageParameters is parameters for an -// ApplicationOperations.ActivateApplicationPackage request. +// ActivateApplicationPackageParameters is parameters for an activating an application package. type ActivateApplicationPackageParameters struct { Format *string `json:"format,omitempty"` } -// AddApplicationParameters is parameters for an -// ApplicationOperations.AddApplication request. -type AddApplicationParameters struct { - AllowUpdates *bool `json:"allowUpdates,omitempty"` - DisplayName *string `json:"displayName,omitempty"` -} - // Application is contains information about an application in a Batch account. type Application struct { autorest.Response `json:"-"` @@ -179,8 +180,13 @@ type Application struct { DefaultVersion *string `json:"defaultVersion,omitempty"` } -// ApplicationPackage is an application package which represents a particular -// version of an application. +// ApplicationCreateParameters is parameters for adding an Application. +type ApplicationCreateParameters struct { + AllowUpdates *bool `json:"allowUpdates,omitempty"` + DisplayName *string `json:"displayName,omitempty"` +} + +// ApplicationPackage is an application package which represents a particular version of an application. type ApplicationPackage struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -192,35 +198,58 @@ type ApplicationPackage struct { LastActivationTime *date.Time `json:"lastActivationTime,omitempty"` } -// AutoStorageBaseProperties is the properties related to auto storage account. +// ApplicationUpdateParameters is parameters for an update application request. +type ApplicationUpdateParameters struct { + AllowUpdates *bool `json:"allowUpdates,omitempty"` + DefaultVersion *string `json:"defaultVersion,omitempty"` + DisplayName *string `json:"displayName,omitempty"` +} + +// AutoStorageBaseProperties is the properties related to the auto-storage account. type AutoStorageBaseProperties struct { StorageAccountID *string `json:"storageAccountId,omitempty"` } -// AutoStorageProperties is contains information about the auto storage account -// associated with a Batch account. +// AutoStorageProperties is contains information about the auto-storage account associated with a Batch account. type AutoStorageProperties struct { StorageAccountID *string `json:"storageAccountId,omitempty"` LastKeySync *date.Time `json:"lastKeySync,omitempty"` } -// CloudError is an error response from the Batch service. -type CloudError struct { - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - Target *string `json:"target,omitempty"` - Details *[]CloudError `json:"details,omitempty"` +// CheckNameAvailabilityParameters is parameters for a check name availability request. +type CheckNameAvailabilityParameters struct { + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` } -// KeyVaultReference is identifies the Azure key vault associated with a Batch -// account. +// CheckNameAvailabilityResult is the CheckNameAvailability operation response. +type CheckNameAvailabilityResult struct { + autorest.Response `json:"-"` + NameAvailable *bool `json:"nameAvailable,omitempty"` + Reason NameAvailabilityReason `json:"reason,omitempty"` + Message *string `json:"message,omitempty"` +} + +// CloudError is an error response from the Batch service. +type CloudError struct { + Error *CloudErrorBody `json:"error,omitempty"` +} + +// CloudErrorBody is an error response from the Batch service. +type CloudErrorBody struct { + Code *string `json:"code,omitempty"` + Message *string `json:"message,omitempty"` + Target *string `json:"target,omitempty"` + Details *[]CloudErrorBody `json:"details,omitempty"` +} + +// KeyVaultReference is identifies the Azure key vault associated with a Batch account. type KeyVaultReference struct { ID *string `json:"id,omitempty"` URL *string `json:"url,omitempty"` } -// ListApplicationsResult is response to an -// ApplicationOperations.ListApplications request. +// ListApplicationsResult is the result of performing list applications. type ListApplicationsResult struct { autorest.Response `json:"-"` Value *[]Application `json:"value,omitempty"` @@ -239,13 +268,47 @@ func (client ListApplicationsResult) ListApplicationsResultPreparer() (*http.Req autorest.WithBaseURL(to.String(client.NextLink))) } -// LocationQuota is quotas associated with a Batch region for a particular -// subscription. +// LocationQuota is quotas associated with a Batch region for a particular subscription. type LocationQuota struct { autorest.Response `json:"-"` AccountQuota *int32 `json:"accountQuota,omitempty"` } +// Operation is +type Operation struct { + Name *string `json:"name,omitempty"` + Display *OperationDisplay `json:"display,omitempty"` + Origin *string `json:"origin,omitempty"` + Properties *map[string]interface{} `json:"properties,omitempty"` +} + +// OperationDisplay is +type OperationDisplay struct { + Provider *string `json:"provider,omitempty"` + Operation *string `json:"operation,omitempty"` + Resource *string `json:"resource,omitempty"` + Description *string `json:"description,omitempty"` +} + +// OperationListResult is +type OperationListResult struct { + autorest.Response `json:"-"` + Value *[]Operation `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// OperationListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client OperationListResult) OperationListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + // Resource is a definition of an Azure resource. type Resource struct { ID *string `json:"id,omitempty"` @@ -254,11 +317,3 @@ type Resource struct { Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` } - -// UpdateApplicationParameters is parameters for an -// ApplicationOperations.UpdateApplication request. -type UpdateApplicationParameters struct { - AllowUpdates *bool `json:"allowUpdates,omitempty"` - DefaultVersion *string `json:"defaultVersion,omitempty"` - DisplayName *string `json:"displayName,omitempty"` -} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/operations.go new file mode 100644 index 000000000..b8b1fdd27 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/operations.go @@ -0,0 +1,165 @@ +package batch + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// OperationsClient is the client for the Operations methods of the Batch service. +type OperationsClient struct { + ManagementClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List lists available operations for the Microsoft.Batch provider +func (client OperationsClient) List() (result OperationListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "batch.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "batch.OperationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "batch.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer() (*http.Request, error) { + const APIVersion = "2017-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Batch/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client OperationsClient) ListNextResults(lastResults OperationListResult) (result OperationListResult, err error) { + req, err := lastResults.OperationListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "batch.OperationsClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "batch.OperationsClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "batch.OperationsClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client OperationsClient) ListComplete(cancel <-chan struct{}) (<-chan Operation, <-chan error) { + resultChan := make(chan Operation) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/version.go index b921dd799..82d68b35e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/batch/version.go @@ -14,16 +14,15 @@ package batch // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-batch/2017-01-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-batch/2017-05-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/billing/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/billing/client.go index 9b65a1cac..f861852cf 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/billing/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/billing/client.go @@ -1,9 +1,7 @@ -// Package billing implements the Azure ARM Billing service API version -// 2017-04-24-preview. +// Package billing implements the Azure ARM Billing service API version 2017-04-24-preview. // -// Billing client provides access to billing resources for Azure Web-Direct -// subscriptions. Other subscription types which were not purchased directly -// through the Azure web portal are not supported through this preview API. +// Billing client provides access to billing resources for Azure Web-Direct subscriptions. Other subscription types +// which were not purchased directly through the Azure web portal are not supported through this preview API. package billing // Copyright (c) Microsoft and contributors. All rights reserved. @@ -20,9 +18,8 @@ package billing // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/billing/invoices.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/billing/invoices.go index 25c6fa2d7..5d9cf9a20 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/billing/invoices.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/billing/invoices.go @@ -14,9 +14,8 @@ package billing // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,10 +24,9 @@ import ( "net/http" ) -// InvoicesClient is the billing client provides access to billing resources -// for Azure Web-Direct subscriptions. Other subscription types which were not -// purchased directly through the Azure web portal are not supported through -// this preview API. +// InvoicesClient is the billing client provides access to billing resources for Azure Web-Direct subscriptions. Other +// subscription types which were not purchased directly through the Azure web portal are not supported through this +// preview API. type InvoicesClient struct { ManagementClient } @@ -38,14 +36,13 @@ func NewInvoicesClient(subscriptionID string) InvoicesClient { return NewInvoicesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewInvoicesClientWithBaseURI creates an instance of the InvoicesClient -// client. +// NewInvoicesClientWithBaseURI creates an instance of the InvoicesClient client. func NewInvoicesClientWithBaseURI(baseURI string, subscriptionID string) InvoicesClient { return InvoicesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Get gets a named invoice resource. When getting a single invoice, the -// downloadUrl property is expanded automatically. +// Get gets a named invoice resource. When getting a single invoice, the downloadUrl property is expanded +// automatically. // // invoiceName is the name of an invoice resource. func (client InvoicesClient) Get(invoiceName string) (result Invoice, err error) { @@ -109,8 +106,8 @@ func (client InvoicesClient) GetResponder(resp *http.Response) (result Invoice, return } -// GetLatest gets the most recent invoice. When getting a single invoice, the -// downloadUrl property is expanded automatically. +// GetLatest gets the most recent invoice. When getting a single invoice, the downloadUrl property is expanded +// automatically. func (client InvoicesClient) GetLatest() (result Invoice, err error) { req, err := client.GetLatestPreparer() if err != nil { @@ -171,22 +168,17 @@ func (client InvoicesClient) GetLatestResponder(resp *http.Response) (result Inv return } -// List lists the available invoices for a subscription in reverse -// chronological order beginning with the most recent invoice. In preview, -// invoices are available via this API only for invoice periods which end -// December 1, 2016 or later. +// List lists the available invoices for a subscription in reverse chronological order beginning with the most recent +// invoice. In preview, invoices are available via this API only for invoice periods which end December 1, 2016 or +// later. // -// expand is may be used to expand the downloadUrl property within a list of -// invoices. This enables download links to be generated for multiple invoices -// at once. By default, downloadURLs are not included when listing invoices. -// filter is may be used to filter invoices by invoicePeriodEndDate. The filter -// supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently -// support 'ne', 'or', or 'not'. skiptoken is skiptoken is only used if a -// previous operation returned a partial result. If a previous response -// contains a nextLink element, the value of the nextLink element will include -// a skiptoken parameter that specifies a starting point to use for subsequent -// calls. top is may be used to limit the number of results to the most recent -// N invoices. +// expand is may be used to expand the downloadUrl property within a list of invoices. This enables download links to +// be generated for multiple invoices at once. By default, downloadURLs are not included when listing invoices. filter +// is may be used to filter invoices by invoicePeriodEndDate. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and +// 'and'. It does not currently support 'ne', 'or', or 'not'. skiptoken is skiptoken is only used if a previous +// operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink +// element will include a skiptoken parameter that specifies a starting point to use for subsequent calls. top is may +// be used to limit the number of results to the most recent N invoices. func (client InvoicesClient) List(expand string, filter string, skiptoken string, top *int32) (result InvoicesListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: top, @@ -291,3 +283,48 @@ func (client InvoicesClient) ListNextResults(lastResults InvoicesListResult) (re return } + +// ListComplete gets all elements from the list without paging. +func (client InvoicesClient) ListComplete(expand string, filter string, skiptoken string, top *int32, cancel <-chan struct{}) (<-chan Invoice, <-chan error) { + resultChan := make(chan Invoice) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(expand, filter, skiptoken, top) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/billing/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/billing/models.go index 03c32d20c..43c914b6a 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/billing/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/billing/models.go @@ -14,9 +14,8 @@ package billing // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// DownloadURL is a secure URL that can be used to download a PDF invoice until -// the URL expires. +// DownloadURL is a secure URL that can be used to download a PDF invoice until the URL expires. type DownloadURL struct { ExpiryTime *date.Time `json:"expiryTime,omitempty"` URL *string `json:"url,omitempty"` @@ -39,14 +37,13 @@ type ErrorDetails struct { Target *string `json:"target,omitempty"` } -// ErrorResponse is error response indicates that the service is not able to -// process the incoming request. The reason is provided in the error message. +// ErrorResponse is error response indicates that the service is not able to process the incoming request. The reason +// is provided in the error message. type ErrorResponse struct { Error *ErrorDetails `json:"error,omitempty"` } -// Invoice is an invoice resource can be used download a PDF version of an -// invoice. +// Invoice is an invoice resource can be used download a PDF version of an invoice. type Invoice struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -63,8 +60,8 @@ type InvoiceProperties struct { BillingPeriodIds *[]string `json:"billingPeriodIds,omitempty"` } -// InvoicesListResult is result of listing invoices. It contains a list of -// available invoices in reverse chronological order. +// InvoicesListResult is result of listing invoices. It contains a list of available invoices in reverse chronological +// order. type InvoicesListResult struct { autorest.Response `json:"-"` Value *[]Invoice `json:"value,omitempty"` @@ -96,8 +93,8 @@ type OperationDisplay struct { Operation *string `json:"operation,omitempty"` } -// OperationListResult is result listing billing operations. It contains a list -// of operations and a URL link to get the next set of results. +// OperationListResult is result listing billing operations. It contains a list of operations and a URL link to get the +// next set of results. type OperationListResult struct { autorest.Response `json:"-"` Value *[]Operation `json:"value,omitempty"` @@ -132,8 +129,8 @@ type PeriodProperties struct { InvoiceIds *[]string `json:"invoiceIds,omitempty"` } -// PeriodsListResult is result of listing billing periods. It contains a list -// of available billing periods in reverse chronological order. +// PeriodsListResult is result of listing billing periods. It contains a list of available billing periods in reverse +// chronological order. type PeriodsListResult struct { autorest.Response `json:"-"` Value *[]Period `json:"value,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/billing/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/billing/operations.go index 32baa3a54..7478c831b 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/billing/operations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/billing/operations.go @@ -14,9 +14,8 @@ package billing // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,9 +23,8 @@ import ( "net/http" ) -// OperationsClient is the billing client provides access to billing resources -// for Azure Web-Direct subscriptions. Other subscription types which were not -// purchased directly through the Azure web portal are not supported through +// OperationsClient is the billing client provides access to billing resources for Azure Web-Direct subscriptions. +// Other subscription types which were not purchased directly through the Azure web portal are not supported through // this preview API. type OperationsClient struct { ManagementClient @@ -37,8 +35,7 @@ func NewOperationsClient(subscriptionID string) OperationsClient { return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewOperationsClientWithBaseURI creates an instance of the OperationsClient -// client. +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} } @@ -123,3 +120,48 @@ func (client OperationsClient) ListNextResults(lastResults OperationListResult) return } + +// ListComplete gets all elements from the list without paging. +func (client OperationsClient) ListComplete(cancel <-chan struct{}) (<-chan Operation, <-chan error) { + resultChan := make(chan Operation) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/billing/periods.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/billing/periods.go index 3178c9828..0d292fc4a 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/billing/periods.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/billing/periods.go @@ -14,9 +14,8 @@ package billing // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,10 +24,9 @@ import ( "net/http" ) -// PeriodsClient is the billing client provides access to billing resources for -// Azure Web-Direct subscriptions. Other subscription types which were not -// purchased directly through the Azure web portal are not supported through -// this preview API. +// PeriodsClient is the billing client provides access to billing resources for Azure Web-Direct subscriptions. Other +// subscription types which were not purchased directly through the Azure web portal are not supported through this +// preview API. type PeriodsClient struct { ManagementClient } @@ -107,17 +105,13 @@ func (client PeriodsClient) GetResponder(resp *http.Response) (result Period, er return } -// List lists the available billing periods for a subscription in reverse -// chronological order. +// List lists the available billing periods for a subscription in reverse chronological order. // -// filter is may be used to filter billing periods by billingPeriodEndDate. The -// filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not -// currently support 'ne', 'or', or 'not'. skiptoken is skiptoken is only used -// if a previous operation returned a partial result. If a previous response -// contains a nextLink element, the value of the nextLink element will include -// a skiptoken parameter that specifies a starting point to use for subsequent -// calls. top is may be used to limit the number of results to the most recent -// N billing periods. +// filter is may be used to filter billing periods by billingPeriodEndDate. The filter supports 'eq', 'lt', 'gt', 'le', +// 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. skiptoken is skiptoken is only used if a +// previous operation returned a partial result. If a previous response contains a nextLink element, the value of the +// nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls. top +// is may be used to limit the number of results to the most recent N billing periods. func (client PeriodsClient) List(filter string, skiptoken string, top *int32) (result PeriodsListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: top, @@ -219,3 +213,48 @@ func (client PeriodsClient) ListNextResults(lastResults PeriodsListResult) (resu return } + +// ListComplete gets all elements from the list without paging. +func (client PeriodsClient) ListComplete(filter string, skiptoken string, top *int32, cancel <-chan struct{}) (<-chan Period, <-chan error) { + resultChan := make(chan Period) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(filter, skiptoken, top) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/billing/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/billing/version.go index 5394ea3ee..0418e6c44 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/billing/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/billing/version.go @@ -14,16 +14,15 @@ package billing // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-billing/2017-04-24-preview" + return "Azure-SDK-For-Go/v11.0.0-beta arm-billing/2017-04-24-preview" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/client.go index bd5ca9d8b..695d08375 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/client.go @@ -1,8 +1,7 @@ -// Package cdn implements the Azure ARM Cdn service API version 2016-10-02. +// Package cdn implements the Azure ARM Cdn service API version 2017-04-02. // -// Use these APIs to manage Azure CDN resources through the Azure Resource -// Manager. You must make sure that requests made to these resources are -// secure. +// Use these APIs to manage Azure CDN resources through the Azure Resource Manager. You must make sure that requests +// made to these resources are secure. package cdn // Copyright (c) Microsoft and contributors. All rights reserved. @@ -19,9 +18,8 @@ package cdn // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -56,8 +54,8 @@ func NewWithBaseURI(baseURI string, subscriptionID string) ManagementClient { } } -// CheckNameAvailability check the availability of a resource name. This is -// needed for resources where name is globally unique, such as a CDN endpoint. +// CheckNameAvailability check the availability of a resource name. This is needed for resources where name is globally +// unique, such as a CDN endpoint. // // checkNameAvailabilityInput is input to check. func (client ManagementClient) CheckNameAvailability(checkNameAvailabilityInput CheckNameAvailabilityInput) (result CheckNameAvailabilityOutput, err error) { @@ -91,7 +89,7 @@ func (client ManagementClient) CheckNameAvailability(checkNameAvailabilityInput // CheckNameAvailabilityPreparer prepares the CheckNameAvailability request. func (client ManagementClient) CheckNameAvailabilityPreparer(checkNameAvailabilityInput CheckNameAvailabilityInput) (*http.Request, error) { - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -125,139 +123,69 @@ func (client ManagementClient) CheckNameAvailabilityResponder(resp *http.Respons return } -// ListOperations lists all of the available CDN REST API operations. -func (client ManagementClient) ListOperations() (result OperationListResult, err error) { - req, err := client.ListOperationsPreparer() +// ValidateProbe check if the probe path is a valid path and the file can be accessed. Probe path is the path to a file +// hosted on the origin server to help accelerate the delivery of dynamic content via the CDN endpoint. This path is +// relative to the origin path specified in the endpoint configuration. +// +// validateProbeInput is input to check. +func (client ManagementClient) ValidateProbe(validateProbeInput ValidateProbeInput) (result ValidateProbeOutput, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: validateProbeInput, + Constraints: []validation.Constraint{{Target: "validateProbeInput.ProbeURL", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "cdn.ManagementClient", "ValidateProbe") + } + + req, err := client.ValidateProbePreparer(validateProbeInput) if err != nil { - err = autorest.NewErrorWithError(err, "cdn.ManagementClient", "ListOperations", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "cdn.ManagementClient", "ValidateProbe", nil, "Failure preparing request") return } - resp, err := client.ListOperationsSender(req) + resp, err := client.ValidateProbeSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "cdn.ManagementClient", "ListOperations", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "cdn.ManagementClient", "ValidateProbe", resp, "Failure sending request") return } - result, err = client.ListOperationsResponder(resp) + result, err = client.ValidateProbeResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "cdn.ManagementClient", "ListOperations", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "cdn.ManagementClient", "ValidateProbe", resp, "Failure responding to request") } return } -// ListOperationsPreparer prepares the ListOperations request. -func (client ManagementClient) ListOperationsPreparer() (*http.Request, error) { - const APIVersion = "2016-10-02" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/providers/Microsoft.Cdn/operations"), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// ListOperationsSender sends the ListOperations request. The method will close the -// http.Response Body if it receives an error. -func (client ManagementClient) ListOperationsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// ListOperationsResponder handles the response to the ListOperations request. The method always -// closes the http.Response Body. -func (client ManagementClient) ListOperationsResponder(resp *http.Response) (result OperationListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListOperationsNextResults retrieves the next set of results, if any. -func (client ManagementClient) ListOperationsNextResults(lastResults OperationListResult) (result OperationListResult, err error) { - req, err := lastResults.OperationListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "cdn.ManagementClient", "ListOperations", nil, "Failure preparing next results request") - } - if req == nil { - return - } - - resp, err := client.ListOperationsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "cdn.ManagementClient", "ListOperations", resp, "Failure sending next results request") - } - - result, err = client.ListOperationsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "cdn.ManagementClient", "ListOperations", resp, "Failure responding to next results request") - } - - return -} - -// ListResourceUsage check the quota and actual usage of the CDN profiles under -// the given subscription. -func (client ManagementClient) ListResourceUsage() (result ResourceUsageListResult, err error) { - req, err := client.ListResourceUsagePreparer() - if err != nil { - err = autorest.NewErrorWithError(err, "cdn.ManagementClient", "ListResourceUsage", nil, "Failure preparing request") - return - } - - resp, err := client.ListResourceUsageSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "cdn.ManagementClient", "ListResourceUsage", resp, "Failure sending request") - return - } - - result, err = client.ListResourceUsageResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "cdn.ManagementClient", "ListResourceUsage", resp, "Failure responding to request") - } - - return -} - -// ListResourceUsagePreparer prepares the ListResourceUsage request. -func (client ManagementClient) ListResourceUsagePreparer() (*http.Request, error) { +// ValidateProbePreparer prepares the ValidateProbe request. +func (client ManagementClient) ValidateProbePreparer(validateProbeInput ValidateProbeInput) (*http.Request, error) { pathParameters := map[string]interface{}{ "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } preparer := autorest.CreatePreparer( + autorest.AsJSON(), autorest.AsPost(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkResourceUsage", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/validateProbe", pathParameters), + autorest.WithJSON(validateProbeInput), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } -// ListResourceUsageSender sends the ListResourceUsage request. The method will close the +// ValidateProbeSender sends the ValidateProbe request. The method will close the // http.Response Body if it receives an error. -func (client ManagementClient) ListResourceUsageSender(req *http.Request) (*http.Response, error) { +func (client ManagementClient) ValidateProbeSender(req *http.Request) (*http.Response, error) { return autorest.SendWithSender(client, req) } -// ListResourceUsageResponder handles the response to the ListResourceUsage request. The method always +// ValidateProbeResponder handles the response to the ValidateProbe request. The method always // closes the http.Response Body. -func (client ManagementClient) ListResourceUsageResponder(resp *http.Response) (result ResourceUsageListResult, err error) { +func (client ManagementClient) ValidateProbeResponder(resp *http.Response) (result ValidateProbeOutput, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -267,27 +195,3 @@ func (client ManagementClient) ListResourceUsageResponder(resp *http.Response) ( result.Response = autorest.Response{Response: resp} return } - -// ListResourceUsageNextResults retrieves the next set of results, if any. -func (client ManagementClient) ListResourceUsageNextResults(lastResults ResourceUsageListResult) (result ResourceUsageListResult, err error) { - req, err := lastResults.ResourceUsageListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "cdn.ManagementClient", "ListResourceUsage", nil, "Failure preparing next results request") - } - if req == nil { - return - } - - resp, err := client.ListResourceUsageSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "cdn.ManagementClient", "ListResourceUsage", resp, "Failure sending next results request") - } - - result, err = client.ListResourceUsageResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "cdn.ManagementClient", "ListResourceUsage", resp, "Failure responding to next results request") - } - - return -} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/customdomains.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/customdomains.go index 688927217..5eef2abaf 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/customdomains.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/customdomains.go @@ -14,9 +14,8 @@ package cdn // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,36 +24,30 @@ import ( "net/http" ) -// CustomDomainsClient is the use these APIs to manage Azure CDN resources -// through the Azure Resource Manager. You must make sure that requests made to -// these resources are secure. +// CustomDomainsClient is the use these APIs to manage Azure CDN resources through the Azure Resource Manager. You must +// make sure that requests made to these resources are secure. type CustomDomainsClient struct { ManagementClient } -// NewCustomDomainsClient creates an instance of the CustomDomainsClient -// client. +// NewCustomDomainsClient creates an instance of the CustomDomainsClient client. func NewCustomDomainsClient(subscriptionID string) CustomDomainsClient { return NewCustomDomainsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewCustomDomainsClientWithBaseURI creates an instance of the -// CustomDomainsClient client. +// NewCustomDomainsClientWithBaseURI creates an instance of the CustomDomainsClient client. func NewCustomDomainsClientWithBaseURI(baseURI string, subscriptionID string) CustomDomainsClient { return CustomDomainsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Create creates a new custom domain within an endpoint. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// Create creates a new custom domain within an endpoint. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. endpointName is name of the endpoint under the profile -// which is unique globally. customDomainName is name of the custom domain -// within an endpoint. customDomainProperties is properties required to create -// a new custom domain. +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. endpointName is name of the endpoint under the profile which is +// unique globally. customDomainName is name of the custom domain within an endpoint. customDomainProperties is +// properties required to create a new custom domain. func (client CustomDomainsClient) Create(resourceGroupName string, profileName string, endpointName string, customDomainName string, customDomainProperties CustomDomainParameters, cancel <-chan struct{}) (<-chan CustomDomain, <-chan error) { resultChan := make(chan CustomDomain, 1) errChan := make(chan error, 1) @@ -76,8 +69,10 @@ func (client CustomDomainsClient) Create(resourceGroupName string, profileName s var err error var result CustomDomain defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -112,7 +107,7 @@ func (client CustomDomainsClient) CreatePreparer(resourceGroupName string, profi "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -148,16 +143,13 @@ func (client CustomDomainsClient) CreateResponder(resp *http.Response) (result C return } -// Delete deletes an existing custom domain within an endpoint. This method may -// poll for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// Delete deletes an existing custom domain within an endpoint. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. endpointName is name of the endpoint under the profile -// which is unique globally. customDomainName is name of the custom domain -// within an endpoint. +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. endpointName is name of the endpoint under the profile which is +// unique globally. customDomainName is name of the custom domain within an endpoint. func (client CustomDomainsClient) Delete(resourceGroupName string, profileName string, endpointName string, customDomainName string, cancel <-chan struct{}) (<-chan CustomDomain, <-chan error) { resultChan := make(chan CustomDomain, 1) errChan := make(chan error, 1) @@ -176,8 +168,10 @@ func (client CustomDomainsClient) Delete(resourceGroupName string, profileName s var err error var result CustomDomain defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -212,7 +206,7 @@ func (client CustomDomainsClient) DeletePreparer(resourceGroupName string, profi "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -248,11 +242,9 @@ func (client CustomDomainsClient) DeleteResponder(resp *http.Response) (result C // DisableCustomHTTPS disable https delivery of the custom domain. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. endpointName is name of the endpoint under the profile -// which is unique globally. customDomainName is name of the custom domain -// within an endpoint. +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. endpointName is name of the endpoint under the profile which is +// unique globally. customDomainName is name of the custom domain within an endpoint. func (client CustomDomainsClient) DisableCustomHTTPS(resourceGroupName string, profileName string, endpointName string, customDomainName string) (result CustomDomain, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -293,7 +285,7 @@ func (client CustomDomainsClient) DisableCustomHTTPSPreparer(resourceGroupName s "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -318,7 +310,7 @@ func (client CustomDomainsClient) DisableCustomHTTPSResponder(resp *http.Respons err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusAccepted, http.StatusOK), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} @@ -327,11 +319,9 @@ func (client CustomDomainsClient) DisableCustomHTTPSResponder(resp *http.Respons // EnableCustomHTTPS enable https delivery of the custom domain. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. endpointName is name of the endpoint under the profile -// which is unique globally. customDomainName is name of the custom domain -// within an endpoint. +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. endpointName is name of the endpoint under the profile which is +// unique globally. customDomainName is name of the custom domain within an endpoint. func (client CustomDomainsClient) EnableCustomHTTPS(resourceGroupName string, profileName string, endpointName string, customDomainName string) (result CustomDomain, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -372,7 +362,7 @@ func (client CustomDomainsClient) EnableCustomHTTPSPreparer(resourceGroupName st "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -397,7 +387,7 @@ func (client CustomDomainsClient) EnableCustomHTTPSResponder(resp *http.Response err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusAccepted, http.StatusOK), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} @@ -406,11 +396,9 @@ func (client CustomDomainsClient) EnableCustomHTTPSResponder(resp *http.Response // Get gets an exisitng custom domain within an endpoint. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. endpointName is name of the endpoint under the profile -// which is unique globally. customDomainName is name of the custom domain -// within an endpoint. +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. endpointName is name of the endpoint under the profile which is +// unique globally. customDomainName is name of the custom domain within an endpoint. func (client CustomDomainsClient) Get(resourceGroupName string, profileName string, endpointName string, customDomainName string) (result CustomDomain, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -451,7 +439,7 @@ func (client CustomDomainsClient) GetPreparer(resourceGroupName string, profileN "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -485,10 +473,9 @@ func (client CustomDomainsClient) GetResponder(resp *http.Response) (result Cust // ListByEndpoint lists all of the existing custom domains within an endpoint. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. endpointName is name of the endpoint under the profile -// which is unique globally. +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. endpointName is name of the endpoint under the profile which is +// unique globally. func (client CustomDomainsClient) ListByEndpoint(resourceGroupName string, profileName string, endpointName string) (result CustomDomainListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -528,7 +515,7 @@ func (client CustomDomainsClient) ListByEndpointPreparer(resourceGroupName strin "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -583,3 +570,48 @@ func (client CustomDomainsClient) ListByEndpointNextResults(lastResults CustomDo return } + +// ListByEndpointComplete gets all elements from the list without paging. +func (client CustomDomainsClient) ListByEndpointComplete(resourceGroupName string, profileName string, endpointName string, cancel <-chan struct{}) (<-chan CustomDomain, <-chan error) { + resultChan := make(chan CustomDomain) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByEndpoint(resourceGroupName, profileName, endpointName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByEndpointNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/edgenodes.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/edgenodes.go index a68b5c189..731084150 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/edgenodes.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/edgenodes.go @@ -14,9 +14,8 @@ package cdn // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,9 +23,8 @@ import ( "net/http" ) -// EdgeNodesClient is the use these APIs to manage Azure CDN resources through -// the Azure Resource Manager. You must make sure that requests made to these -// resources are secure. +// EdgeNodesClient is the use these APIs to manage Azure CDN resources through the Azure Resource Manager. You must +// make sure that requests made to these resources are secure. type EdgeNodesClient struct { ManagementClient } @@ -36,13 +34,12 @@ func NewEdgeNodesClient(subscriptionID string) EdgeNodesClient { return NewEdgeNodesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewEdgeNodesClientWithBaseURI creates an instance of the EdgeNodesClient -// client. +// NewEdgeNodesClientWithBaseURI creates an instance of the EdgeNodesClient client. func NewEdgeNodesClientWithBaseURI(baseURI string, subscriptionID string) EdgeNodesClient { return EdgeNodesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// List lists all the edge nodes of a CDN service. +// List edgenodes are the global Point of Presence (POP) locations used to deliver CDN content to end users. func (client EdgeNodesClient) List() (result EdgenodeResult, err error) { req, err := client.ListPreparer() if err != nil { @@ -67,7 +64,7 @@ func (client EdgeNodesClient) List() (result EdgenodeResult, err error) { // ListPreparer prepares the List request. func (client EdgeNodesClient) ListPreparer() (*http.Request, error) { - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -122,3 +119,48 @@ func (client EdgeNodesClient) ListNextResults(lastResults EdgenodeResult) (resul return } + +// ListComplete gets all elements from the list without paging. +func (client EdgeNodesClient) ListComplete(cancel <-chan struct{}) (<-chan EdgeNode, <-chan error) { + resultChan := make(chan EdgeNode) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/endpoints.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/endpoints.go index dcc411e05..f53025c60 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/endpoints.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/endpoints.go @@ -14,9 +14,8 @@ package cdn // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,9 +24,8 @@ import ( "net/http" ) -// EndpointsClient is the use these APIs to manage Azure CDN resources through -// the Azure Resource Manager. You must make sure that requests made to these -// resources are secure. +// EndpointsClient is the use these APIs to manage Azure CDN resources through the Azure Resource Manager. You must +// make sure that requests made to these resources are secure. type EndpointsClient struct { ManagementClient } @@ -37,22 +35,18 @@ func NewEndpointsClient(subscriptionID string) EndpointsClient { return NewEndpointsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewEndpointsClientWithBaseURI creates an instance of the EndpointsClient -// client. +// NewEndpointsClientWithBaseURI creates an instance of the EndpointsClient client. func NewEndpointsClientWithBaseURI(baseURI string, subscriptionID string) EndpointsClient { return EndpointsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Create creates a new CDN endpoint with the specified endpoint name under the -// specified subscription, resource group and profile. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Create creates a new CDN endpoint with the specified endpoint name under the specified subscription, resource group +// and profile. This method may poll for completion. Polling can be canceled by passing the cancel channel argument. +// The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. endpointName is name of the endpoint under the profile -// which is unique globally. endpoint is endpoint properties +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. endpointName is name of the endpoint under the profile which is +// unique globally. endpoint is endpoint properties func (client EndpointsClient) Create(resourceGroupName string, profileName string, endpointName string, endpoint Endpoint, cancel <-chan struct{}) (<-chan Endpoint, <-chan error) { resultChan := make(chan Endpoint, 1) errChan := make(chan error, 1) @@ -74,8 +68,10 @@ func (client EndpointsClient) Create(resourceGroupName string, profileName strin var err error var result Endpoint defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -109,7 +105,7 @@ func (client EndpointsClient) CreatePreparer(resourceGroupName string, profileNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -145,16 +141,13 @@ func (client EndpointsClient) CreateResponder(resp *http.Response) (result Endpo return } -// Delete deletes an existing CDN endpoint with the specified endpoint name -// under the specified subscription, resource group and profile. This method -// may poll for completion. Polling can be canceled by passing the cancel -// channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// Delete deletes an existing CDN endpoint with the specified endpoint name under the specified subscription, resource +// group and profile. This method may poll for completion. Polling can be canceled by passing the cancel channel +// argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. endpointName is name of the endpoint under the profile -// which is unique globally. +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. endpointName is name of the endpoint under the profile which is +// unique globally. func (client EndpointsClient) Delete(resourceGroupName string, profileName string, endpointName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -173,8 +166,10 @@ func (client EndpointsClient) Delete(resourceGroupName string, profileName strin var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -208,7 +203,7 @@ func (client EndpointsClient) DeletePreparer(resourceGroupName string, profileNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -241,13 +236,12 @@ func (client EndpointsClient) DeleteResponder(resp *http.Response) (result autor return } -// Get gets an existing CDN endpoint with the specified endpoint name under the -// specified subscription, resource group and profile. +// Get gets an existing CDN endpoint with the specified endpoint name under the specified subscription, resource group +// and profile. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. endpointName is name of the endpoint under the profile -// which is unique globally. +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. endpointName is name of the endpoint under the profile which is +// unique globally. func (client EndpointsClient) Get(resourceGroupName string, profileName string, endpointName string) (result Endpoint, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -287,7 +281,7 @@ func (client EndpointsClient) GetPreparer(resourceGroupName string, profileName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -321,9 +315,8 @@ func (client EndpointsClient) GetResponder(resp *http.Response) (result Endpoint // ListByProfile lists existing CDN endpoints. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. func (client EndpointsClient) ListByProfile(resourceGroupName string, profileName string) (result EndpointListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -362,7 +355,7 @@ func (client EndpointsClient) ListByProfilePreparer(resourceGroupName string, pr "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -418,13 +411,56 @@ func (client EndpointsClient) ListByProfileNextResults(lastResults EndpointListR return } -// ListResourceUsage checks the quota and usage of geo filters and custom -// domains under the given endpoint. +// ListByProfileComplete gets all elements from the list without paging. +func (client EndpointsClient) ListByProfileComplete(resourceGroupName string, profileName string, cancel <-chan struct{}) (<-chan Endpoint, <-chan error) { + resultChan := make(chan Endpoint) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByProfile(resourceGroupName, profileName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByProfileNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListResourceUsage checks the quota and usage of geo filters and custom domains under the given endpoint. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. endpointName is name of the endpoint under the profile -// which is unique globally. +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. endpointName is name of the endpoint under the profile which is +// unique globally. func (client EndpointsClient) ListResourceUsage(resourceGroupName string, profileName string, endpointName string) (result ResourceUsageListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -464,7 +500,7 @@ func (client EndpointsClient) ListResourceUsagePreparer(resourceGroupName string "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -520,17 +556,59 @@ func (client EndpointsClient) ListResourceUsageNextResults(lastResults ResourceU return } -// LoadContent pre-loads a content to CDN. Available for Verizon Profiles. This -// method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// ListResourceUsageComplete gets all elements from the list without paging. +func (client EndpointsClient) ListResourceUsageComplete(resourceGroupName string, profileName string, endpointName string, cancel <-chan struct{}) (<-chan ResourceUsage, <-chan error) { + resultChan := make(chan ResourceUsage) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListResourceUsage(resourceGroupName, profileName, endpointName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListResourceUsageNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// LoadContent pre-loads a content to CDN. Available for Verizon Profiles. This method may poll for completion. Polling +// can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. endpointName is name of the endpoint under the profile -// which is unique globally. contentFilePaths is the path to the content to be -// loaded. Path should be a full URL, e.g. ‘/pictires/city.png' which loads a -// single file +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. endpointName is name of the endpoint under the profile which is +// unique globally. contentFilePaths is the path to the content to be loaded. Path should be a full URL, e.g. +// ‘/pictires/city.png' which loads a single file func (client EndpointsClient) LoadContent(resourceGroupName string, profileName string, endpointName string, contentFilePaths LoadParameters, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -551,8 +629,10 @@ func (client EndpointsClient) LoadContent(resourceGroupName string, profileName var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -586,7 +666,7 @@ func (client EndpointsClient) LoadContentPreparer(resourceGroupName string, prof "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -621,18 +701,14 @@ func (client EndpointsClient) LoadContentResponder(resp *http.Response) (result return } -// PurgeContent removes a content from CDN. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// PurgeContent removes a content from CDN. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. endpointName is name of the endpoint under the profile -// which is unique globally. contentFilePaths is the path to the content to be -// purged. Path can be a full URL, e.g. '/pictures/city.png' which removes a -// single file, or a directory with a wildcard, e.g. '/pictures/*' which -// removes all folders and files in the directory. +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. endpointName is name of the endpoint under the profile which is +// unique globally. contentFilePaths is the path to the content to be purged. Path can be a full URL, e.g. +// '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g. '/pictures/*' which removes +// all folders and files in the directory. func (client EndpointsClient) PurgeContent(resourceGroupName string, profileName string, endpointName string, contentFilePaths PurgeParameters, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -653,8 +729,10 @@ func (client EndpointsClient) PurgeContent(resourceGroupName string, profileName var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -688,7 +766,7 @@ func (client EndpointsClient) PurgeContentPreparer(resourceGroupName string, pro "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -723,15 +801,13 @@ func (client EndpointsClient) PurgeContentResponder(resp *http.Response) (result return } -// Start starts an existing CDN endpoint that is on a stopped state. This -// method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// Start starts an existing CDN endpoint that is on a stopped state. This method may poll for completion. Polling can +// be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding +// HTTP requests. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. endpointName is name of the endpoint under the profile -// which is unique globally. +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. endpointName is name of the endpoint under the profile which is +// unique globally. func (client EndpointsClient) Start(resourceGroupName string, profileName string, endpointName string, cancel <-chan struct{}) (<-chan Endpoint, <-chan error) { resultChan := make(chan Endpoint, 1) errChan := make(chan error, 1) @@ -750,8 +826,10 @@ func (client EndpointsClient) Start(resourceGroupName string, profileName string var err error var result Endpoint defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -785,7 +863,7 @@ func (client EndpointsClient) StartPreparer(resourceGroupName string, profileNam "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -819,15 +897,12 @@ func (client EndpointsClient) StartResponder(resp *http.Response) (result Endpoi return } -// Stop stops an existing running CDN endpoint. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Stop stops an existing running CDN endpoint. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. endpointName is name of the endpoint under the profile -// which is unique globally. +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. endpointName is name of the endpoint under the profile which is +// unique globally. func (client EndpointsClient) Stop(resourceGroupName string, profileName string, endpointName string, cancel <-chan struct{}) (<-chan Endpoint, <-chan error) { resultChan := make(chan Endpoint, 1) errChan := make(chan error, 1) @@ -846,8 +921,10 @@ func (client EndpointsClient) Stop(resourceGroupName string, profileName string, var err error var result Endpoint defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -881,7 +958,7 @@ func (client EndpointsClient) StopPreparer(resourceGroupName string, profileName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -915,19 +992,15 @@ func (client EndpointsClient) StopResponder(resp *http.Response) (result Endpoin return } -// Update updates an existing CDN endpoint with the specified endpoint name -// under the specified subscription, resource group and profile. Only tags and -// Origin HostHeader can be updated after creating an endpoint. To update -// origins, use the Update Origin operation. To update custom domains, use the -// Update Custom Domain operation. This method may poll for completion. Polling -// can be canceled by passing the cancel channel argument. The channel will be -// used to cancel polling and any outstanding HTTP requests. +// Update updates an existing CDN endpoint with the specified endpoint name under the specified subscription, resource +// group and profile. Only tags and Origin HostHeader can be updated after creating an endpoint. To update origins, use +// the Update Origin operation. To update custom domains, use the Update Custom Domain operation. This method may poll +// for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. endpointName is name of the endpoint under the profile -// which is unique globally. endpointUpdateProperties is endpoint update -// properties +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. endpointName is name of the endpoint under the profile which is +// unique globally. endpointUpdateProperties is endpoint update properties func (client EndpointsClient) Update(resourceGroupName string, profileName string, endpointName string, endpointUpdateProperties EndpointUpdateParameters, cancel <-chan struct{}) (<-chan Endpoint, <-chan error) { resultChan := make(chan Endpoint, 1) errChan := make(chan error, 1) @@ -946,8 +1019,10 @@ func (client EndpointsClient) Update(resourceGroupName string, profileName strin var err error var result Endpoint defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -981,7 +1056,7 @@ func (client EndpointsClient) UpdatePreparer(resourceGroupName string, profileNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1017,14 +1092,11 @@ func (client EndpointsClient) UpdateResponder(resp *http.Response) (result Endpo return } -// ValidateCustomDomain validates the custom domain mapping to ensure it maps -// to the correct CDN endpoint in DNS. +// ValidateCustomDomain validates the custom domain mapping to ensure it maps to the correct CDN endpoint in DNS. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. endpointName is name of the endpoint under the profile -// which is unique globally. customDomainProperties is custom domain to be -// validated. +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. endpointName is name of the endpoint under the profile which is +// unique globally. customDomainProperties is custom domain to be validated. func (client EndpointsClient) ValidateCustomDomain(resourceGroupName string, profileName string, endpointName string, customDomainProperties ValidateCustomDomainInput) (result ValidateCustomDomainOutput, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1066,7 +1138,7 @@ func (client EndpointsClient) ValidateCustomDomainPreparer(resourceGroupName str "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/models.go index f291f8c52..fa0665246 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/models.go @@ -14,9 +14,8 @@ package cdn // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,8 +23,7 @@ import ( "net/http" ) -// CustomDomainResourceState enumerates the values for custom domain resource -// state. +// CustomDomainResourceState enumerates the values for custom domain resource state. type CustomDomainResourceState string const ( @@ -37,47 +35,68 @@ const ( Deleting CustomDomainResourceState = "Deleting" ) -// CustomHTTPSProvisioningState enumerates the values for custom https -// provisioning state. +// CustomHTTPSProvisioningState enumerates the values for custom https provisioning state. type CustomHTTPSProvisioningState string const ( - // Disabled specifies the disabled state for custom https provisioning - // state. + // Disabled specifies the disabled state for custom https provisioning state. Disabled CustomHTTPSProvisioningState = "Disabled" - // Disabling specifies the disabling state for custom https provisioning - // state. + // Disabling specifies the disabling state for custom https provisioning state. Disabling CustomHTTPSProvisioningState = "Disabling" // Enabled specifies the enabled state for custom https provisioning state. Enabled CustomHTTPSProvisioningState = "Enabled" - // Enabling specifies the enabling state for custom https provisioning - // state. + // Enabling specifies the enabling state for custom https provisioning state. Enabling CustomHTTPSProvisioningState = "Enabling" // Failed specifies the failed state for custom https provisioning state. Failed CustomHTTPSProvisioningState = "Failed" ) +// CustomHTTPSProvisioningSubstate enumerates the values for custom https provisioning substate. +type CustomHTTPSProvisioningSubstate string + +const ( + // CertificateDeleted specifies the certificate deleted state for custom https provisioning substate. + CertificateDeleted CustomHTTPSProvisioningSubstate = "CertificateDeleted" + // CertificateDeployed specifies the certificate deployed state for custom https provisioning substate. + CertificateDeployed CustomHTTPSProvisioningSubstate = "CertificateDeployed" + // DeletingCertificate specifies the deleting certificate state for custom https provisioning substate. + DeletingCertificate CustomHTTPSProvisioningSubstate = "DeletingCertificate" + // DeployingCertificate specifies the deploying certificate state for custom https provisioning substate. + DeployingCertificate CustomHTTPSProvisioningSubstate = "DeployingCertificate" + // DomainControlValidationRequestApproved specifies the domain control validation request approved state for custom + // https provisioning substate. + DomainControlValidationRequestApproved CustomHTTPSProvisioningSubstate = "DomainControlValidationRequestApproved" + // DomainControlValidationRequestRejected specifies the domain control validation request rejected state for custom + // https provisioning substate. + DomainControlValidationRequestRejected CustomHTTPSProvisioningSubstate = "DomainControlValidationRequestRejected" + // DomainControlValidationRequestTimedOut specifies the domain control validation request timed out state for custom + // https provisioning substate. + DomainControlValidationRequestTimedOut CustomHTTPSProvisioningSubstate = "DomainControlValidationRequestTimedOut" + // IssuingCertificate specifies the issuing certificate state for custom https provisioning substate. + IssuingCertificate CustomHTTPSProvisioningSubstate = "IssuingCertificate" + // PendingDomainControlValidationREquestApproval specifies the pending domain control validation r equest approval + // state for custom https provisioning substate. + PendingDomainControlValidationREquestApproval CustomHTTPSProvisioningSubstate = "PendingDomainControlValidationREquestApproval" + // SubmittingDomainControlValidationRequest specifies the submitting domain control validation request state for custom + // https provisioning substate. + SubmittingDomainControlValidationRequest CustomHTTPSProvisioningSubstate = "SubmittingDomainControlValidationRequest" +) + // EndpointResourceState enumerates the values for endpoint resource state. type EndpointResourceState string const ( - // EndpointResourceStateCreating specifies the endpoint resource state - // creating state for endpoint resource state. + // EndpointResourceStateCreating specifies the endpoint resource state creating state for endpoint resource state. EndpointResourceStateCreating EndpointResourceState = "Creating" - // EndpointResourceStateDeleting specifies the endpoint resource state - // deleting state for endpoint resource state. + // EndpointResourceStateDeleting specifies the endpoint resource state deleting state for endpoint resource state. EndpointResourceStateDeleting EndpointResourceState = "Deleting" - // EndpointResourceStateRunning specifies the endpoint resource state - // running state for endpoint resource state. + // EndpointResourceStateRunning specifies the endpoint resource state running state for endpoint resource state. EndpointResourceStateRunning EndpointResourceState = "Running" - // EndpointResourceStateStarting specifies the endpoint resource state - // starting state for endpoint resource state. + // EndpointResourceStateStarting specifies the endpoint resource state starting state for endpoint resource state. EndpointResourceStateStarting EndpointResourceState = "Starting" - // EndpointResourceStateStopped specifies the endpoint resource state - // stopped state for endpoint resource state. + // EndpointResourceStateStopped specifies the endpoint resource state stopped state for endpoint resource state. EndpointResourceStateStopped EndpointResourceState = "Stopped" - // EndpointResourceStateStopping specifies the endpoint resource state - // stopping state for endpoint resource state. + // EndpointResourceStateStopping specifies the endpoint resource state stopping state for endpoint resource state. EndpointResourceStateStopping EndpointResourceState = "Stopping" ) @@ -91,18 +110,31 @@ const ( Block GeoFilterActions = "Block" ) +// OptimizationType enumerates the values for optimization type. +type OptimizationType string + +const ( + // DynamicSiteAcceleration specifies the dynamic site acceleration state for optimization type. + DynamicSiteAcceleration OptimizationType = "DynamicSiteAcceleration" + // GeneralMediaStreaming specifies the general media streaming state for optimization type. + GeneralMediaStreaming OptimizationType = "GeneralMediaStreaming" + // GeneralWebDelivery specifies the general web delivery state for optimization type. + GeneralWebDelivery OptimizationType = "GeneralWebDelivery" + // LargeFileDownload specifies the large file download state for optimization type. + LargeFileDownload OptimizationType = "LargeFileDownload" + // VideoOnDemandMediaStreaming specifies the video on demand media streaming state for optimization type. + VideoOnDemandMediaStreaming OptimizationType = "VideoOnDemandMediaStreaming" +) + // OriginResourceState enumerates the values for origin resource state. type OriginResourceState string const ( - // OriginResourceStateActive specifies the origin resource state active - // state for origin resource state. + // OriginResourceStateActive specifies the origin resource state active state for origin resource state. OriginResourceStateActive OriginResourceState = "Active" - // OriginResourceStateCreating specifies the origin resource state creating - // state for origin resource state. + // OriginResourceStateCreating specifies the origin resource state creating state for origin resource state. OriginResourceStateCreating OriginResourceState = "Creating" - // OriginResourceStateDeleting specifies the origin resource state deleting - // state for origin resource state. + // OriginResourceStateDeleting specifies the origin resource state deleting state for origin resource state. OriginResourceStateDeleting OriginResourceState = "Deleting" ) @@ -110,35 +142,27 @@ const ( type ProfileResourceState string const ( - // ProfileResourceStateActive specifies the profile resource state active - // state for profile resource state. + // ProfileResourceStateActive specifies the profile resource state active state for profile resource state. ProfileResourceStateActive ProfileResourceState = "Active" - // ProfileResourceStateCreating specifies the profile resource state - // creating state for profile resource state. + // ProfileResourceStateCreating specifies the profile resource state creating state for profile resource state. ProfileResourceStateCreating ProfileResourceState = "Creating" - // ProfileResourceStateDeleting specifies the profile resource state - // deleting state for profile resource state. + // ProfileResourceStateDeleting specifies the profile resource state deleting state for profile resource state. ProfileResourceStateDeleting ProfileResourceState = "Deleting" - // ProfileResourceStateDisabled specifies the profile resource state - // disabled state for profile resource state. + // ProfileResourceStateDisabled specifies the profile resource state disabled state for profile resource state. ProfileResourceStateDisabled ProfileResourceState = "Disabled" ) -// QueryStringCachingBehavior enumerates the values for query string caching -// behavior. +// QueryStringCachingBehavior enumerates the values for query string caching behavior. type QueryStringCachingBehavior string const ( - // BypassCaching specifies the bypass caching state for query string - // caching behavior. + // BypassCaching specifies the bypass caching state for query string caching behavior. BypassCaching QueryStringCachingBehavior = "BypassCaching" - // IgnoreQueryString specifies the ignore query string state for query - // string caching behavior. + // IgnoreQueryString specifies the ignore query string state for query string caching behavior. IgnoreQueryString QueryStringCachingBehavior = "IgnoreQueryString" // NotSet specifies the not set state for query string caching behavior. NotSet QueryStringCachingBehavior = "NotSet" - // UseQueryString specifies the use query string state for query string - // caching behavior. + // UseQueryString specifies the use query string state for query string caching behavior. UseQueryString QueryStringCachingBehavior = "UseQueryString" ) @@ -146,8 +170,7 @@ const ( type ResourceType string const ( - // MicrosoftCdnProfilesEndpoints specifies the microsoft cdn profiles - // endpoints state for resource type. + // MicrosoftCdnProfilesEndpoints specifies the microsoft cdn profiles endpoints state for resource type. MicrosoftCdnProfilesEndpoints ResourceType = "Microsoft.Cdn/Profiles/Endpoints" ) @@ -181,14 +204,14 @@ type CheckNameAvailabilityOutput struct { Message *string `json:"message,omitempty"` } -// CidrIPAddress is cIDR Ip address +// CidrIPAddress is CIDR Ip address type CidrIPAddress struct { BaseIPAddress *string `json:"baseIpAddress,omitempty"` PrefixLength *int32 `json:"prefixLength,omitempty"` } -// CustomDomain is customer provided domain for branding purposes, e.g. -// www.consoto.com. +// CustomDomain is friendly domain name mapping to the endpoint hostname that the customer provides for branding +// purposes, e.g. www.consoto.com. type CustomDomain struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -199,9 +222,8 @@ type CustomDomain struct { *CustomDomainProperties `json:"properties,omitempty"` } -// CustomDomainListResult is result of the request to list custom domains. It -// contains a list of custom domain objects and a URL link to get the next set -// of results. +// CustomDomainListResult is result of the request to list custom domains. It contains a list of custom domain objects +// and a URL link to get the next set of results. type CustomDomainListResult struct { autorest.Response `json:"-"` Value *[]CustomDomain `json:"value,omitempty"` @@ -220,43 +242,40 @@ func (client CustomDomainListResult) CustomDomainListResultPreparer() (*http.Req autorest.WithBaseURL(to.String(client.NextLink))) } -// CustomDomainParameters is the customDomain JSON object required for custom -// domain creation or update. +// CustomDomainParameters is the customDomain JSON object required for custom domain creation or update. type CustomDomainParameters struct { *CustomDomainPropertiesParameters `json:"properties,omitempty"` } -// CustomDomainProperties is the JSON object that contains the properties of -// the custom domain to create. +// CustomDomainProperties is the JSON object that contains the properties of the custom domain to create. type CustomDomainProperties struct { - HostName *string `json:"hostName,omitempty"` - ResourceState CustomDomainResourceState `json:"resourceState,omitempty"` - CustomHTTPSProvisioningState CustomHTTPSProvisioningState `json:"customHttpsProvisioningState,omitempty"` - ValidationData *string `json:"validationData,omitempty"` - ProvisioningState *string `json:"provisioningState,omitempty"` + HostName *string `json:"hostName,omitempty"` + ResourceState CustomDomainResourceState `json:"resourceState,omitempty"` + CustomHTTPSProvisioningState CustomHTTPSProvisioningState `json:"customHttpsProvisioningState,omitempty"` + CustomHTTPSProvisioningSubstate CustomHTTPSProvisioningSubstate `json:"customHttpsProvisioningSubstate,omitempty"` + ValidationData *string `json:"validationData,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` } -// CustomDomainPropertiesParameters is the JSON object that contains the -// properties of the custom domain to create. +// CustomDomainPropertiesParameters is the JSON object that contains the properties of the custom domain to create. type CustomDomainPropertiesParameters struct { HostName *string `json:"hostName,omitempty"` } -// DeepCreatedOrigin is origin to be added when creating a CDN endpoint. +// DeepCreatedOrigin is the main origin of CDN content which is added when creating a CDN endpoint. type DeepCreatedOrigin struct { Name *string `json:"name,omitempty"` *DeepCreatedOriginProperties `json:"properties,omitempty"` } -// DeepCreatedOriginProperties is properties of origin Properties of the origin -// created on the CDN endpoint. +// DeepCreatedOriginProperties is properties of the origin created on the CDN endpoint. type DeepCreatedOriginProperties struct { HostName *string `json:"hostName,omitempty"` HTTPPort *int32 `json:"httpPort,omitempty"` HTTPSPort *int32 `json:"httpsPort,omitempty"` } -// EdgeNode is edge node of CDN service. +// EdgeNode is edgenode is a global Point of Presence (POP) location used to deliver CDN content to end users. type EdgeNode struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` @@ -266,14 +285,13 @@ type EdgeNode struct { *EdgeNodeProperties `json:"properties,omitempty"` } -// EdgeNodeProperties is the JSON object that contains the properties required -// to create an edgenode. +// EdgeNodeProperties is the JSON object that contains the properties required to create an edgenode. type EdgeNodeProperties struct { IPAddressGroups *[]IPAddressGroup `json:"ipAddressGroups,omitempty"` } -// EdgenodeResult is result of the request to list CDN edgenodes. It contains a -// list of ip address group and a URL link to get the next set of results. +// EdgenodeResult is result of the request to list CDN edgenodes. It contains a list of ip address group and a URL link +// to get the next set of results. type EdgenodeResult struct { autorest.Response `json:"-"` Value *[]EdgeNode `json:"value,omitempty"` @@ -292,10 +310,8 @@ func (client EdgenodeResult) EdgenodeResultPreparer() (*http.Request, error) { autorest.WithBaseURL(to.String(client.NextLink))) } -// Endpoint is cDN endpoint is the entity within a CDN profile containing -// configuration information such as origin, protocol, content caching and -// delivery behavior. The CDN endpoint uses the URL format -// .azureedge.net. +// Endpoint is CDN endpoint is the entity within a CDN profile containing configuration information such as origin, +// protocol, content caching and delivery behavior. The CDN endpoint uses the URL format .azureedge.net. type Endpoint struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -306,8 +322,8 @@ type Endpoint struct { *EndpointProperties `json:"properties,omitempty"` } -// EndpointListResult is result of the request to list endpoints. It contains a -// list of endpoint objects and a URL link to get the the next set of results. +// EndpointListResult is result of the request to list endpoints. It contains a list of endpoint objects and a URL link +// to get the the next set of results. type EndpointListResult struct { autorest.Response `json:"-"` Value *[]Endpoint `json:"value,omitempty"` @@ -326,8 +342,7 @@ func (client EndpointListResult) EndpointListResultPreparer() (*http.Request, er autorest.WithBaseURL(to.String(client.NextLink))) } -// EndpointProperties is the JSON object that contains the properties required -// to create an endpoint. +// EndpointProperties is the JSON object that contains the properties required to create an endpoint. type EndpointProperties struct { OriginHostHeader *string `json:"originHostHeader,omitempty"` OriginPath *string `json:"originPath,omitempty"` @@ -336,7 +351,8 @@ type EndpointProperties struct { IsHTTPAllowed *bool `json:"isHttpAllowed,omitempty"` IsHTTPSAllowed *bool `json:"isHttpsAllowed,omitempty"` QueryStringCachingBehavior QueryStringCachingBehavior `json:"queryStringCachingBehavior,omitempty"` - OptimizationType *string `json:"optimizationType,omitempty"` + OptimizationType OptimizationType `json:"optimizationType,omitempty"` + ProbePath *string `json:"probePath,omitempty"` GeoFilters *[]GeoFilter `json:"geoFilters,omitempty"` HostName *string `json:"hostName,omitempty"` Origins *[]DeepCreatedOrigin `json:"origins,omitempty"` @@ -344,9 +360,7 @@ type EndpointProperties struct { ProvisioningState *string `json:"provisioningState,omitempty"` } -// EndpointPropertiesUpdateParameters is result of the request to list -// endpoints. It contains a list of endpoints and a URL link to get the next -// set of results. +// EndpointPropertiesUpdateParameters is the JSON object containing endpoint update parameters. type EndpointPropertiesUpdateParameters struct { OriginHostHeader *string `json:"originHostHeader,omitempty"` OriginPath *string `json:"originPath,omitempty"` @@ -355,31 +369,32 @@ type EndpointPropertiesUpdateParameters struct { IsHTTPAllowed *bool `json:"isHttpAllowed,omitempty"` IsHTTPSAllowed *bool `json:"isHttpsAllowed,omitempty"` QueryStringCachingBehavior QueryStringCachingBehavior `json:"queryStringCachingBehavior,omitempty"` - OptimizationType *string `json:"optimizationType,omitempty"` + OptimizationType OptimizationType `json:"optimizationType,omitempty"` + ProbePath *string `json:"probePath,omitempty"` GeoFilters *[]GeoFilter `json:"geoFilters,omitempty"` } -// EndpointUpdateParameters is properties required to create a new endpoint. +// EndpointUpdateParameters is properties required to create or update an endpoint. type EndpointUpdateParameters struct { Tags *map[string]*string `json:"tags,omitempty"` *EndpointPropertiesUpdateParameters `json:"properties,omitempty"` } -// ErrorResponse is error reponse indicates CDN service is not able to process -// the incoming request. The reason is provided in the error message. +// ErrorResponse is error reponse indicates CDN service is not able to process the incoming request. The reason is +// provided in the error message. type ErrorResponse struct { Code *string `json:"code,omitempty"` Message *string `json:"message,omitempty"` } -// GeoFilter is rules defining user geo access within a CDN endpoint. +// GeoFilter is rules defining user's geo access within a CDN endpoint. type GeoFilter struct { RelativePath *string `json:"relativePath,omitempty"` Action GeoFilterActions `json:"action,omitempty"` CountryCodes *[]string `json:"countryCodes,omitempty"` } -// IPAddressGroup is cDN Ip address group +// IPAddressGroup is CDN Ip address group type IPAddressGroup struct { DeliveryRegion *string `json:"deliveryRegion,omitempty"` Ipv4Addresses *[]CidrIPAddress `json:"ipv4Addresses,omitempty"` @@ -391,7 +406,7 @@ type LoadParameters struct { ContentPaths *[]string `json:"contentPaths,omitempty"` } -// Operation is cDN REST API operation +// Operation is CDN REST API operation type Operation struct { Name *string `json:"name,omitempty"` Display *OperationDisplay `json:"display,omitempty"` @@ -404,17 +419,17 @@ type OperationDisplay struct { Operation *string `json:"operation,omitempty"` } -// OperationListResult is result of the request to list CDN operations. It -// contains a list of operations and a URL link to get the next set of results. -type OperationListResult struct { +// OperationsListResult is result of the request to list CDN operations. It contains a list of operations and a URL +// link to get the next set of results. +type OperationsListResult struct { autorest.Response `json:"-"` Value *[]Operation `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } -// OperationListResultPreparer prepares a request to retrieve the next set of results. It returns +// OperationsListResultPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. -func (client OperationListResult) OperationListResultPreparer() (*http.Request, error) { +func (client OperationsListResult) OperationsListResultPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } @@ -424,9 +439,8 @@ func (client OperationListResult) OperationListResultPreparer() (*http.Request, autorest.WithBaseURL(to.String(client.NextLink))) } -// Origin is cDN origin is the source of the content being delivered via CDN. -// When the edge nodes represented by an endpoint do not have the requested -// content cached, they attempt to fetch it from one or more of the configured +// Origin is CDN origin is the source of the content being delivered via CDN. When the edge nodes represented by an +// endpoint do not have the requested content cached, they attempt to fetch it from one or more of the configured // origins. type Origin struct { autorest.Response `json:"-"` @@ -438,8 +452,8 @@ type Origin struct { *OriginProperties `json:"properties,omitempty"` } -// OriginListResult is result of the request to list origins. It contains a -// list of origin objects and a URL link to get the next set of results. +// OriginListResult is result of the request to list origins. It contains a list of origin objects and a URL link to +// get the next set of results. type OriginListResult struct { autorest.Response `json:"-"` Value *[]Origin `json:"value,omitempty"` @@ -458,8 +472,7 @@ func (client OriginListResult) OriginListResultPreparer() (*http.Request, error) autorest.WithBaseURL(to.String(client.NextLink))) } -// OriginProperties is the JSON object that contains the properties of the -// origin to create. +// OriginProperties is the JSON object that contains the properties of the origin. type OriginProperties struct { HostName *string `json:"hostName,omitempty"` HTTPPort *int32 `json:"httpPort,omitempty"` @@ -468,24 +481,20 @@ type OriginProperties struct { ProvisioningState *string `json:"provisioningState,omitempty"` } -// OriginPropertiesParameters is the JSON object that contains the properties -// of the origin to create. +// OriginPropertiesParameters is the JSON object that contains the properties of the origin. type OriginPropertiesParameters struct { HostName *string `json:"hostName,omitempty"` HTTPPort *int32 `json:"httpPort,omitempty"` HTTPSPort *int32 `json:"httpsPort,omitempty"` } -// OriginUpdateParameters is origin properties needed for origin creation or -// update. +// OriginUpdateParameters is origin properties needed for origin creation or update. type OriginUpdateParameters struct { *OriginPropertiesParameters `json:"properties,omitempty"` } -// Profile is cDN profile represents the top level resource and the entry point -// into the CDN API. This allows users to set up a logical grouping of -// endpoints in addition to creating shared configuration settings and -// selecting pricing tiers and providers. +// Profile is CDN profile is a logical grouping of endpoints that share the same settings, such as CDN provider and +// pricing tier. type Profile struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -497,8 +506,8 @@ type Profile struct { *ProfileProperties `json:"properties,omitempty"` } -// ProfileListResult is result of the request to list profiles. It contains a -// list of profile objects and a URL link to get the the next set of results. +// ProfileListResult is result of the request to list profiles. It contains a list of profile objects and a URL link to +// get the the next set of results. type ProfileListResult struct { autorest.Response `json:"-"` Value *[]Profile `json:"value,omitempty"` @@ -517,8 +526,7 @@ func (client ProfileListResult) ProfileListResultPreparer() (*http.Request, erro autorest.WithBaseURL(to.String(client.NextLink))) } -// ProfileProperties is the JSON object that contains the properties required -// to create a profile. +// ProfileProperties is the JSON object that contains the properties required to create a profile. type ProfileProperties struct { ResourceState ProfileResourceState `json:"resourceState,omitempty"` ProvisioningState *string `json:"provisioningState,omitempty"` @@ -570,20 +578,24 @@ func (client ResourceUsageListResult) ResourceUsageListResultPreparer() (*http.R autorest.WithBaseURL(to.String(client.NextLink))) } -// Sku is the pricing tier (defines a CDN provider, feature list and rate) of -// the CDN profile. +// Sku is the pricing tier (defines a CDN provider, feature list and rate) of the CDN profile. type Sku struct { Name SkuName `json:"name,omitempty"` } -// SsoURI is sSO URI required to login to the supplemental portal. +// SsoURI is the URI required to login to the supplemental portal from the Azure portal. type SsoURI struct { autorest.Response `json:"-"` SsoURIValue *string `json:"ssoUriValue,omitempty"` } -// ValidateCustomDomainInput is input of the custom domain to be validated for -// DNS mapping. +// SupportedOptimizationTypesListResult is the result of the GetSupportedOptimizationTypes API +type SupportedOptimizationTypesListResult struct { + autorest.Response `json:"-"` + SupportedOptimizationTypes *[]OptimizationType `json:"supportedOptimizationTypes,omitempty"` +} + +// ValidateCustomDomainInput is input of the custom domain to be validated for DNS mapping. type ValidateCustomDomainInput struct { HostName *string `json:"hostName,omitempty"` } @@ -595,3 +607,16 @@ type ValidateCustomDomainOutput struct { Reason *string `json:"reason,omitempty"` Message *string `json:"message,omitempty"` } + +// ValidateProbeInput is input of the validate probe API. +type ValidateProbeInput struct { + ProbeURL *string `json:"probeURL,omitempty"` +} + +// ValidateProbeOutput is output of the validate probe API. +type ValidateProbeOutput struct { + autorest.Response `json:"-"` + IsValid *bool `json:"isValid,omitempty"` + ErrorCode *string `json:"errorCode,omitempty"` + Message *string `json:"message,omitempty"` +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/operations.go new file mode 100644 index 000000000..3f67f31ff --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/operations.go @@ -0,0 +1,166 @@ +package cdn + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// OperationsClient is the use these APIs to manage Azure CDN resources through the Azure Resource Manager. You must +// make sure that requests made to these resources are secure. +type OperationsClient struct { + ManagementClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List lists all of the available CDN REST API operations. +func (client OperationsClient) List() (result OperationsListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "cdn.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "cdn.OperationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "cdn.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer() (*http.Request, error) { + const APIVersion = "2017-04-02" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Cdn/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client OperationsClient) ListNextResults(lastResults OperationsListResult) (result OperationsListResult, err error) { + req, err := lastResults.OperationsListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "cdn.OperationsClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "cdn.OperationsClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "cdn.OperationsClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client OperationsClient) ListComplete(cancel <-chan struct{}) (<-chan Operation, <-chan error) { + resultChan := make(chan Operation) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/origins.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/origins.go index f9fa1ff5c..5e2c16511 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/origins.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/origins.go @@ -14,9 +14,8 @@ package cdn // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,9 +24,8 @@ import ( "net/http" ) -// OriginsClient is the use these APIs to manage Azure CDN resources through -// the Azure Resource Manager. You must make sure that requests made to these -// resources are secure. +// OriginsClient is the use these APIs to manage Azure CDN resources through the Azure Resource Manager. You must make +// sure that requests made to these resources are secure. type OriginsClient struct { ManagementClient } @@ -44,11 +42,9 @@ func NewOriginsClientWithBaseURI(baseURI string, subscriptionID string) OriginsC // Get gets an existing origin within an endpoint. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. endpointName is name of the endpoint under the profile -// which is unique globally. originName is name of the origin which is unique -// within the endpoint. +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. endpointName is name of the endpoint under the profile which is +// unique globally. originName is name of the origin which is unique within the endpoint. func (client OriginsClient) Get(resourceGroupName string, profileName string, endpointName string, originName string) (result Origin, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -89,7 +85,7 @@ func (client OriginsClient) GetPreparer(resourceGroupName string, profileName st "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -123,10 +119,9 @@ func (client OriginsClient) GetResponder(resp *http.Response) (result Origin, er // ListByEndpoint lists all of the existing origins within an endpoint. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. endpointName is name of the endpoint under the profile -// which is unique globally. +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. endpointName is name of the endpoint under the profile which is +// unique globally. func (client OriginsClient) ListByEndpoint(resourceGroupName string, profileName string, endpointName string) (result OriginListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -166,7 +161,7 @@ func (client OriginsClient) ListByEndpointPreparer(resourceGroupName string, pro "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -222,16 +217,59 @@ func (client OriginsClient) ListByEndpointNextResults(lastResults OriginListResu return } -// Update updates an existing origin within an endpoint. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// ListByEndpointComplete gets all elements from the list without paging. +func (client OriginsClient) ListByEndpointComplete(resourceGroupName string, profileName string, endpointName string, cancel <-chan struct{}) (<-chan Origin, <-chan error) { + resultChan := make(chan Origin) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByEndpoint(resourceGroupName, profileName, endpointName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByEndpointNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// Update updates an existing origin within an endpoint. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. endpointName is name of the endpoint under the profile -// which is unique globally. originName is name of the origin which is unique -// within the endpoint. originUpdateProperties is origin properties +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. endpointName is name of the endpoint under the profile which is +// unique globally. originName is name of the origin which is unique within the endpoint. originUpdateProperties is +// origin properties func (client OriginsClient) Update(resourceGroupName string, profileName string, endpointName string, originName string, originUpdateProperties OriginUpdateParameters, cancel <-chan struct{}) (<-chan Origin, <-chan error) { resultChan := make(chan Origin, 1) errChan := make(chan error, 1) @@ -250,8 +288,10 @@ func (client OriginsClient) Update(resourceGroupName string, profileName string, var err error var result Origin defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -286,7 +326,7 @@ func (client OriginsClient) UpdatePreparer(resourceGroupName string, profileName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/profiles.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/profiles.go index c166a1b73..9c8929759 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/profiles.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/profiles.go @@ -14,9 +14,8 @@ package cdn // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,9 +24,8 @@ import ( "net/http" ) -// ProfilesClient is the use these APIs to manage Azure CDN resources through -// the Azure Resource Manager. You must make sure that requests made to these -// resources are secure. +// ProfilesClient is the use these APIs to manage Azure CDN resources through the Azure Resource Manager. You must make +// sure that requests made to these resources are secure. type ProfilesClient struct { ManagementClient } @@ -37,21 +35,17 @@ func NewProfilesClient(subscriptionID string) ProfilesClient { return NewProfilesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewProfilesClientWithBaseURI creates an instance of the ProfilesClient -// client. +// NewProfilesClientWithBaseURI creates an instance of the ProfilesClient client. func NewProfilesClientWithBaseURI(baseURI string, subscriptionID string) ProfilesClient { return ProfilesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Create creates a new CDN profile with a profile name under the specified -// subscription and resource group. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// Create creates a new CDN profile with a profile name under the specified subscription and resource group. This +// method may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be +// used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. profile is profile properties needed to create a new -// profile. +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. profile is profile properties needed to create a new profile. func (client ProfilesClient) Create(resourceGroupName string, profileName string, profile Profile, cancel <-chan struct{}) (<-chan Profile, <-chan error) { resultChan := make(chan Profile, 1) errChan := make(chan error, 1) @@ -72,8 +66,10 @@ func (client ProfilesClient) Create(resourceGroupName string, profileName string var err error var result Profile defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -106,7 +102,7 @@ func (client ProfilesClient) CreatePreparer(resourceGroupName string, profileNam "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -142,16 +138,13 @@ func (client ProfilesClient) CreateResponder(resp *http.Response) (result Profil return } -// Delete deletes an existing CDN profile with the specified parameters. -// Deleting a profile will result in the deletion of all of the sub-resources -// including endpoints, origins and custom domains. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete deletes an existing CDN profile with the specified parameters. Deleting a profile will result in the deletion +// of all of the sub-resources including endpoints, origins and custom domains. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. func (client ProfilesClient) Delete(resourceGroupName string, profileName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -170,8 +163,10 @@ func (client ProfilesClient) Delete(resourceGroupName string, profileName string var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -204,7 +199,7 @@ func (client ProfilesClient) DeletePreparer(resourceGroupName string, profileNam "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -237,16 +232,13 @@ func (client ProfilesClient) DeleteResponder(resp *http.Response) (result autore return } -// GenerateSsoURI generates a dynamic SSO URI used to sign in to the CDN -// supplemental portal. Supplemnetal portal is used to configure advanced -// feature capabilities that are not yet available in the Azure portal, such as -// core reports in a standard profile; rules engine, advanced HTTP reports, and -// real-time stats and alerts in a premium profile. The SSO URI changes -// approximately every 10 minutes. +// GenerateSsoURI generates a dynamic SSO URI used to sign in to the CDN supplemental portal. Supplemnetal portal is +// used to configure advanced feature capabilities that are not yet available in the Azure portal, such as core reports +// in a standard profile; rules engine, advanced HTTP reports, and real-time stats and alerts in a premium profile. The +// SSO URI changes approximately every 10 minutes. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. func (client ProfilesClient) GenerateSsoURI(resourceGroupName string, profileName string) (result SsoURI, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -285,7 +277,7 @@ func (client ProfilesClient) GenerateSsoURIPreparer(resourceGroupName string, pr "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -317,12 +309,10 @@ func (client ProfilesClient) GenerateSsoURIResponder(resp *http.Response) (resul return } -// Get gets a CDN profile with the specified profile name under the specified -// subscription and resource group. +// Get gets a CDN profile with the specified profile name under the specified subscription and resource group. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. func (client ProfilesClient) Get(resourceGroupName string, profileName string) (result Profile, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -361,7 +351,7 @@ func (client ProfilesClient) GetPreparer(resourceGroupName string, profileName s "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -422,7 +412,7 @@ func (client ProfilesClient) ListPreparer() (*http.Request, error) { "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -478,10 +468,54 @@ func (client ProfilesClient) ListNextResults(lastResults ProfileListResult) (res return } +// ListComplete gets all elements from the list without paging. +func (client ProfilesClient) ListComplete(cancel <-chan struct{}) (<-chan Profile, <-chan error) { + resultChan := make(chan Profile) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListByResourceGroup lists all of the CDN profiles within a resource group. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. +// resourceGroupName is name of the Resource group within the Azure subscription. func (client ProfilesClient) ListByResourceGroup(resourceGroupName string) (result ProfileListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -519,7 +553,7 @@ func (client ProfilesClient) ListByResourceGroupPreparer(resourceGroupName strin "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -575,12 +609,55 @@ func (client ProfilesClient) ListByResourceGroupNextResults(lastResults ProfileL return } -// ListResourceUsage checks the quota and actual usage of endpoints under the -// given CDN profile. +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client ProfilesClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan Profile, <-chan error) { + resultChan := make(chan Profile) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListResourceUsage checks the quota and actual usage of endpoints under the given CDN profile. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. func (client ProfilesClient) ListResourceUsage(resourceGroupName string, profileName string) (result ResourceUsageListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -619,7 +696,7 @@ func (client ProfilesClient) ListResourceUsagePreparer(resourceGroupName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -675,16 +752,133 @@ func (client ProfilesClient) ListResourceUsageNextResults(lastResults ResourceUs return } -// Update updates an existing CDN profile with the specified profile name under -// the specified subscription and resource group. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// ListResourceUsageComplete gets all elements from the list without paging. +func (client ProfilesClient) ListResourceUsageComplete(resourceGroupName string, profileName string, cancel <-chan struct{}) (<-chan ResourceUsage, <-chan error) { + resultChan := make(chan ResourceUsage) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListResourceUsage(resourceGroupName, profileName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListResourceUsageNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListSupportedOptimizationTypes gets the supported optimization types for the current profile. A user can create an +// endpoint with an optimization type from the listed values. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. profileName is name of the CDN profile which is unique within -// the resource group. profileUpdateParameters is profile properties needed to -// update an existing profile. +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. +func (client ProfilesClient) ListSupportedOptimizationTypes(resourceGroupName string, profileName string) (result SupportedOptimizationTypesListResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "cdn.ProfilesClient", "ListSupportedOptimizationTypes") + } + + req, err := client.ListSupportedOptimizationTypesPreparer(resourceGroupName, profileName) + if err != nil { + err = autorest.NewErrorWithError(err, "cdn.ProfilesClient", "ListSupportedOptimizationTypes", nil, "Failure preparing request") + return + } + + resp, err := client.ListSupportedOptimizationTypesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "cdn.ProfilesClient", "ListSupportedOptimizationTypes", resp, "Failure sending request") + return + } + + result, err = client.ListSupportedOptimizationTypesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "cdn.ProfilesClient", "ListSupportedOptimizationTypes", resp, "Failure responding to request") + } + + return +} + +// ListSupportedOptimizationTypesPreparer prepares the ListSupportedOptimizationTypes request. +func (client ProfilesClient) ListSupportedOptimizationTypesPreparer(resourceGroupName string, profileName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "profileName": autorest.Encode("path", profileName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-02" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getSupportedOptimizationTypes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSupportedOptimizationTypesSender sends the ListSupportedOptimizationTypes request. The method will close the +// http.Response Body if it receives an error. +func (client ProfilesClient) ListSupportedOptimizationTypesSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListSupportedOptimizationTypesResponder handles the response to the ListSupportedOptimizationTypes request. The method always +// closes the http.Response Body. +func (client ProfilesClient) ListSupportedOptimizationTypesResponder(resp *http.Response) (result SupportedOptimizationTypesListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update updates an existing CDN profile with the specified profile name under the specified subscription and resource +// group. This method may poll for completion. Polling can be canceled by passing the cancel channel argument. The +// channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is name of the Resource group within the Azure subscription. profileName is name of the CDN +// profile which is unique within the resource group. profileUpdateParameters is profile properties needed to update an +// existing profile. func (client ProfilesClient) Update(resourceGroupName string, profileName string, profileUpdateParameters ProfileUpdateParameters, cancel <-chan struct{}) (<-chan Profile, <-chan error) { resultChan := make(chan Profile, 1) errChan := make(chan error, 1) @@ -703,8 +897,10 @@ func (client ProfilesClient) Update(resourceGroupName string, profileName string var err error var result Profile defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -737,7 +933,7 @@ func (client ProfilesClient) UpdatePreparer(resourceGroupName string, profileNam "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-10-02" + const APIVersion = "2017-04-02" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/resourceusage.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/resourceusage.go new file mode 100644 index 000000000..0a2868ea3 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/resourceusage.go @@ -0,0 +1,170 @@ +package cdn + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// ResourceUsageClient is the use these APIs to manage Azure CDN resources through the Azure Resource Manager. You must +// make sure that requests made to these resources are secure. +type ResourceUsageClient struct { + ManagementClient +} + +// NewResourceUsageClient creates an instance of the ResourceUsageClient client. +func NewResourceUsageClient(subscriptionID string) ResourceUsageClient { + return NewResourceUsageClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewResourceUsageClientWithBaseURI creates an instance of the ResourceUsageClient client. +func NewResourceUsageClientWithBaseURI(baseURI string, subscriptionID string) ResourceUsageClient { + return ResourceUsageClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List check the quota and actual usage of the CDN profiles under the given subscription. +func (client ResourceUsageClient) List() (result ResourceUsageListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "cdn.ResourceUsageClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "cdn.ResourceUsageClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "cdn.ResourceUsageClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ResourceUsageClient) ListPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-02" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkResourceUsage", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ResourceUsageClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ResourceUsageClient) ListResponder(resp *http.Response) (result ResourceUsageListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client ResourceUsageClient) ListNextResults(lastResults ResourceUsageListResult) (result ResourceUsageListResult, err error) { + req, err := lastResults.ResourceUsageListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "cdn.ResourceUsageClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "cdn.ResourceUsageClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "cdn.ResourceUsageClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client ResourceUsageClient) ListComplete(cancel <-chan struct{}) (<-chan ResourceUsage, <-chan error) { + resultChan := make(chan ResourceUsage) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/version.go index 20a61d9c5..dd6377c93 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/cdn/version.go @@ -14,16 +14,15 @@ package cdn // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-cdn/2016-10-02" + return "Azure-SDK-For-Go/v11.0.0-beta arm-cdn/2017-04-02" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/cognitiveservices/accounts.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/cognitiveservices/accounts.go index 76cb1d4f9..b518029fa 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/cognitiveservices/accounts.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/cognitiveservices/accounts.go @@ -14,9 +14,8 @@ package cognitiveservices // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -35,27 +34,21 @@ func NewAccountsClient(subscriptionID string) AccountsClient { return NewAccountsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewAccountsClientWithBaseURI creates an instance of the AccountsClient -// client. +// NewAccountsClientWithBaseURI creates an instance of the AccountsClient client. func NewAccountsClientWithBaseURI(baseURI string, subscriptionID string) AccountsClient { return AccountsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Create create Cognitive Services Account. Accounts is a resource group wide -// resource type. It holds the keys for developer to access intelligent APIs. -// It's also the resource type for billing. +// Create create Cognitive Services Account. Accounts is a resource group wide resource type. It holds the keys for +// developer to access intelligent APIs. It's also the resource type for billing. // -// resourceGroupName is the name of the resource group within the user's -// subscription. accountName is the name of the cognitive services account -// within the specified resource group. Cognitive Services account names must -// be between 3 and 24 characters in length and use numbers and lower-case -// letters only. parameters is the parameters to provide for the created -// account. +// resourceGroupName is the name of the resource group within the user's subscription. accountName is the name of +// Cognitive Services account. parameters is the parameters to provide for the created account. func (client AccountsClient) Create(resourceGroupName string, accountName string, parameters AccountCreateParameters) (result Account, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: accountName, - Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 24, Chain: nil}, - {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}, + Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "accountName", Name: validation.MinLength, Rule: 2, Chain: nil}, {Target: "accountName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9][a-zA-Z0-9_.-]*$`, Chain: nil}}}, {TargetValue: parameters, Constraints: []validation.Constraint{{Target: "parameters.Sku", Name: validation.Null, Rule: true, Chain: nil}, @@ -93,7 +86,7 @@ func (client AccountsClient) CreatePreparer(resourceGroupName string, accountNam "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-01-preview" + const APIVersion = "2017-04-18" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -129,16 +122,13 @@ func (client AccountsClient) CreateResponder(resp *http.Response) (result Accoun // Delete deletes a Cognitive Services account from the resource group. // -// resourceGroupName is the name of the resource group within the user's -// subscription. accountName is the name of the cognitive services account -// within the specified resource group. Cognitive Services account names must -// be between 3 and 24 characters in length and use numbers and lower-case -// letters only. +// resourceGroupName is the name of the resource group within the user's subscription. accountName is the name of +// Cognitive Services account. func (client AccountsClient) Delete(resourceGroupName string, accountName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: accountName, - Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 24, Chain: nil}, - {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}, + Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "accountName", Name: validation.MinLength, Rule: 2, Chain: nil}, {Target: "accountName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9][a-zA-Z0-9_.-]*$`, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "cognitiveservices.AccountsClient", "Delete") } @@ -172,7 +162,7 @@ func (client AccountsClient) DeletePreparer(resourceGroupName string, accountNam "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-01-preview" + const APIVersion = "2017-04-18" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -203,19 +193,15 @@ func (client AccountsClient) DeleteResponder(resp *http.Response) (result autore return } -// GetProperties returns a Cognitive Services account specified by the -// parameters. +// GetProperties returns a Cognitive Services account specified by the parameters. // -// resourceGroupName is the name of the resource group within the user's -// subscription. accountName is the name of the cognitive services account -// within the specified resource group. Cognitive Services account names must -// be between 3 and 24 characters in length and use numbers and lower-case -// letters only. +// resourceGroupName is the name of the resource group within the user's subscription. accountName is the name of +// Cognitive Services account. func (client AccountsClient) GetProperties(resourceGroupName string, accountName string) (result Account, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: accountName, - Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 24, Chain: nil}, - {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}, + Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "accountName", Name: validation.MinLength, Rule: 2, Chain: nil}, {Target: "accountName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9][a-zA-Z0-9_.-]*$`, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "cognitiveservices.AccountsClient", "GetProperties") } @@ -249,7 +235,7 @@ func (client AccountsClient) GetPropertiesPreparer(resourceGroupName string, acc "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-01-preview" + const APIVersion = "2017-04-18" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -281,8 +267,7 @@ func (client AccountsClient) GetPropertiesResponder(resp *http.Response) (result return } -// List returns all the resources of a particular type belonging to a -// subscription. +// List returns all the resources of a particular type belonging to a subscription. func (client AccountsClient) List() (result AccountListResult, err error) { req, err := client.ListPreparer() if err != nil { @@ -311,7 +296,7 @@ func (client AccountsClient) ListPreparer() (*http.Request, error) { "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-01-preview" + const APIVersion = "2017-04-18" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -343,11 +328,78 @@ func (client AccountsClient) ListResponder(resp *http.Response) (result AccountL return } -// ListByResourceGroup returns all the resources of a particular type belonging -// to a resource group +// ListNextResults retrieves the next set of results, if any. +func (client AccountsClient) ListNextResults(lastResults AccountListResult) (result AccountListResult, err error) { + req, err := lastResults.AccountListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "cognitiveservices.AccountsClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "cognitiveservices.AccountsClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "cognitiveservices.AccountsClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client AccountsClient) ListComplete(cancel <-chan struct{}) (<-chan Account, <-chan error) { + resultChan := make(chan Account) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListByResourceGroup returns all the resources of a particular type belonging to a resource group // -// resourceGroupName is the name of the resource group within the user's -// subscription. +// resourceGroupName is the name of the resource group within the user's subscription. func (client AccountsClient) ListByResourceGroup(resourceGroupName string) (result AccountListResult, err error) { req, err := client.ListByResourceGroupPreparer(resourceGroupName) if err != nil { @@ -377,7 +429,7 @@ func (client AccountsClient) ListByResourceGroupPreparer(resourceGroupName strin "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-01-preview" + const APIVersion = "2017-04-18" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -409,19 +461,84 @@ func (client AccountsClient) ListByResourceGroupResponder(resp *http.Response) ( return } -// ListKeys lists the account keys for the specified Cognitive Services -// account. +// ListByResourceGroupNextResults retrieves the next set of results, if any. +func (client AccountsClient) ListByResourceGroupNextResults(lastResults AccountListResult) (result AccountListResult, err error) { + req, err := lastResults.AccountListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "cognitiveservices.AccountsClient", "ListByResourceGroup", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "cognitiveservices.AccountsClient", "ListByResourceGroup", resp, "Failure sending next results request") + } + + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "cognitiveservices.AccountsClient", "ListByResourceGroup", resp, "Failure responding to next results request") + } + + return +} + +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client AccountsClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan Account, <-chan error) { + resultChan := make(chan Account) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListKeys lists the account keys for the specified Cognitive Services account. // -// resourceGroupName is the name of the resource group within the user's -// subscription. accountName is the name of the cognitive services account -// within the specified resource group. Congitive Services account names must -// be between 3 and 24 characters in length and use numbers and lower-case -// letters only. +// resourceGroupName is the name of the resource group within the user's subscription. accountName is the name of +// Cognitive Services account. func (client AccountsClient) ListKeys(resourceGroupName string, accountName string) (result AccountKeys, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: accountName, - Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 24, Chain: nil}, - {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}, + Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "accountName", Name: validation.MinLength, Rule: 2, Chain: nil}, {Target: "accountName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9][a-zA-Z0-9_.-]*$`, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "cognitiveservices.AccountsClient", "ListKeys") } @@ -455,7 +572,7 @@ func (client AccountsClient) ListKeysPreparer(resourceGroupName string, accountN "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-01-preview" + const APIVersion = "2017-04-18" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -489,16 +606,13 @@ func (client AccountsClient) ListKeysResponder(resp *http.Response) (result Acco // ListSkus list available SKUs for the requested Cognitive Services account // -// resourceGroupName is the name of the resource group within the user's -// subscription. accountName is the name of the cognitive services account -// within the specified resource group. Cognitive Services account names must -// be between 3 and 24 characters in length and use numbers and lower-case -// letters only. +// resourceGroupName is the name of the resource group within the user's subscription. accountName is the name of +// Cognitive Services account. func (client AccountsClient) ListSkus(resourceGroupName string, accountName string) (result AccountEnumerateSkusResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: accountName, - Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 24, Chain: nil}, - {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}, + Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "accountName", Name: validation.MinLength, Rule: 2, Chain: nil}, {Target: "accountName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9][a-zA-Z0-9_.-]*$`, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "cognitiveservices.AccountsClient", "ListSkus") } @@ -532,7 +646,7 @@ func (client AccountsClient) ListSkusPreparer(resourceGroupName string, accountN "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-01-preview" + const APIVersion = "2017-04-18" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -564,24 +678,20 @@ func (client AccountsClient) ListSkusResponder(resp *http.Response) (result Acco return } -// RegenerateKey regenerates the specified account key for the specified -// Cognitive Services account. +// RegenerateKey regenerates the specified account key for the specified Cognitive Services account. // -// resourceGroupName is the name of the resource group within the user's -// subscription. accountName is the name of the cognitive services account -// within the specified resource group. Cognitive Services account names must -// be between 3 and 24 characters in length and use numbers and lower-case -// letters only. body is regenerate key parameters. -func (client AccountsClient) RegenerateKey(resourceGroupName string, accountName string, body RegenerateKeyParameters) (result AccountKeys, err error) { +// resourceGroupName is the name of the resource group within the user's subscription. accountName is the name of +// Cognitive Services account. parameters is regenerate key parameters. +func (client AccountsClient) RegenerateKey(resourceGroupName string, accountName string, parameters RegenerateKeyParameters) (result AccountKeys, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: accountName, - Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 24, Chain: nil}, - {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}, + Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "accountName", Name: validation.MinLength, Rule: 2, Chain: nil}, {Target: "accountName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9][a-zA-Z0-9_.-]*$`, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "cognitiveservices.AccountsClient", "RegenerateKey") } - req, err := client.RegenerateKeyPreparer(resourceGroupName, accountName, body) + req, err := client.RegenerateKeyPreparer(resourceGroupName, accountName, parameters) if err != nil { err = autorest.NewErrorWithError(err, "cognitiveservices.AccountsClient", "RegenerateKey", nil, "Failure preparing request") return @@ -603,14 +713,14 @@ func (client AccountsClient) RegenerateKey(resourceGroupName string, accountName } // RegenerateKeyPreparer prepares the RegenerateKey request. -func (client AccountsClient) RegenerateKeyPreparer(resourceGroupName string, accountName string, body RegenerateKeyParameters) (*http.Request, error) { +func (client AccountsClient) RegenerateKeyPreparer(resourceGroupName string, accountName string, parameters RegenerateKeyParameters) (*http.Request, error) { pathParameters := map[string]interface{}{ "accountName": autorest.Encode("path", accountName), "resourceGroupName": autorest.Encode("path", resourceGroupName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-01-preview" + const APIVersion = "2017-04-18" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -620,7 +730,7 @@ func (client AccountsClient) RegenerateKeyPreparer(resourceGroupName string, acc autorest.AsPost(), autorest.WithBaseURL(client.BaseURI), autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/regenerateKey", pathParameters), - autorest.WithJSON(body), + autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -646,21 +756,18 @@ func (client AccountsClient) RegenerateKeyResponder(resp *http.Response) (result // Update updates a Cognitive Services account // -// resourceGroupName is the name of the resource group within the user's -// subscription. accountName is the name of the cognitive services account -// within the specified resource group. Cognitive Services account names must -// be between 3 and 24 characters in length and use numbers and lower-case -// letters only. body is the parameters to provide for the created account. -func (client AccountsClient) Update(resourceGroupName string, accountName string, body AccountUpdateParameters) (result Account, err error) { +// resourceGroupName is the name of the resource group within the user's subscription. accountName is the name of +// Cognitive Services account. parameters is the parameters to provide for the created account. +func (client AccountsClient) Update(resourceGroupName string, accountName string, parameters AccountUpdateParameters) (result Account, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: accountName, - Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 24, Chain: nil}, - {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}, + Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "accountName", Name: validation.MinLength, Rule: 2, Chain: nil}, {Target: "accountName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9][a-zA-Z0-9_.-]*$`, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "cognitiveservices.AccountsClient", "Update") } - req, err := client.UpdatePreparer(resourceGroupName, accountName, body) + req, err := client.UpdatePreparer(resourceGroupName, accountName, parameters) if err != nil { err = autorest.NewErrorWithError(err, "cognitiveservices.AccountsClient", "Update", nil, "Failure preparing request") return @@ -682,14 +789,14 @@ func (client AccountsClient) Update(resourceGroupName string, accountName string } // UpdatePreparer prepares the Update request. -func (client AccountsClient) UpdatePreparer(resourceGroupName string, accountName string, body AccountUpdateParameters) (*http.Request, error) { +func (client AccountsClient) UpdatePreparer(resourceGroupName string, accountName string, parameters AccountUpdateParameters) (*http.Request, error) { pathParameters := map[string]interface{}{ "accountName": autorest.Encode("path", accountName), "resourceGroupName": autorest.Encode("path", resourceGroupName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-01-preview" + const APIVersion = "2017-04-18" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -699,7 +806,7 @@ func (client AccountsClient) UpdatePreparer(resourceGroupName string, accountNam autorest.AsPatch(), autorest.WithBaseURL(client.BaseURI), autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}", pathParameters), - autorest.WithJSON(body), + autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/cognitiveservices/checkskuavailability.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/cognitiveservices/checkskuavailability.go new file mode 100644 index 000000000..3be83d969 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/cognitiveservices/checkskuavailability.go @@ -0,0 +1,113 @@ +package cognitiveservices + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// CheckSkuAvailabilityClient is the cognitive Services Management Client +type CheckSkuAvailabilityClient struct { + ManagementClient +} + +// NewCheckSkuAvailabilityClient creates an instance of the CheckSkuAvailabilityClient client. +func NewCheckSkuAvailabilityClient(subscriptionID string) CheckSkuAvailabilityClient { + return NewCheckSkuAvailabilityClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewCheckSkuAvailabilityClientWithBaseURI creates an instance of the CheckSkuAvailabilityClient client. +func NewCheckSkuAvailabilityClientWithBaseURI(baseURI string, subscriptionID string) CheckSkuAvailabilityClient { + return CheckSkuAvailabilityClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List check available SKUs. +// +// location is resource location. parameters is check SKU Availablity POST body. +func (client CheckSkuAvailabilityClient) List(location string, parameters CheckSkuAvailabilityParameter) (result CheckSkuAvailabilityResultList, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Skus", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.Type", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "cognitiveservices.CheckSkuAvailabilityClient", "List") + } + + req, err := client.ListPreparer(location, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "cognitiveservices.CheckSkuAvailabilityClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "cognitiveservices.CheckSkuAvailabilityClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "cognitiveservices.CheckSkuAvailabilityClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client CheckSkuAvailabilityClient) ListPreparer(location string, parameters CheckSkuAvailabilityParameter) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-18" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/checkSkuAvailability", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client CheckSkuAvailabilityClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client CheckSkuAvailabilityClient) ListResponder(resp *http.Response) (result CheckSkuAvailabilityResultList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/cognitiveservices/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/cognitiveservices/client.go index ba9db9424..fc51c8b2f 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/cognitiveservices/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/cognitiveservices/client.go @@ -1,5 +1,4 @@ -// Package cognitiveservices implements the Azure ARM Cognitiveservices service -// API version 2016-02-01-preview. +// Package cognitiveservices implements the Azure ARM Cognitiveservices service API version 2017-04-18. // // Cognitive Services Management Client package cognitiveservices @@ -18,9 +17,8 @@ package cognitiveservices // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/cognitiveservices/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/cognitiveservices/models.go index e4ba9e691..b42642591 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/cognitiveservices/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/cognitiveservices/models.go @@ -14,12 +14,13 @@ package cognitiveservices // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/to" + "net/http" ) // KeyName enumerates the values for key name. @@ -50,6 +51,8 @@ const ( ComputerVision Kind = "ComputerVision" // ContentModerator specifies the content moderator state for kind. ContentModerator Kind = "ContentModerator" + // CustomSpeech specifies the custom speech state for kind. + CustomSpeech Kind = "CustomSpeech" // Emotion specifies the emotion state for kind. Emotion Kind = "Emotion" // Face specifies the face state for kind. @@ -126,8 +129,8 @@ const ( Standard SkuTier = "Standard" ) -// Account is cognitive Services Account is an Azure resource representing the -// provisioned account, its type, location and SKU. +// Account is cognitive Services Account is an Azure resource representing the provisioned account, its type, location +// and SKU. type Account struct { autorest.Response `json:"-"` Etag *string `json:"etag,omitempty"` @@ -150,8 +153,7 @@ type AccountCreateParameters struct { Properties *map[string]interface{} `json:"properties,omitempty"` } -// AccountEnumerateSkusResult is the list of cognitive services accounts -// operation response. +// AccountEnumerateSkusResult is the list of cognitive services accounts operation response. type AccountEnumerateSkusResult struct { autorest.Response `json:"-"` Value *[]ResourceAndSku `json:"value,omitempty"` @@ -164,17 +166,30 @@ type AccountKeys struct { Key2 *string `json:"key2,omitempty"` } -// AccountListResult is the list of cognitive services accounts operation -// response. +// AccountListResult is the list of cognitive services accounts operation response. type AccountListResult struct { autorest.Response `json:"-"` + NextLink *string `json:"nextLink,omitempty"` Value *[]Account `json:"value,omitempty"` } -// AccountProperties is +// AccountListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client AccountListResult) AccountListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// AccountProperties is properties of Cognitive Services account. type AccountProperties struct { ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` Endpoint *string `json:"endpoint,omitempty"` + InternalID *string `json:"internalId,omitempty"` } // AccountUpdateParameters is the parameters to provide for the account. @@ -183,23 +198,81 @@ type AccountUpdateParameters struct { Tags *map[string]*string `json:"tags,omitempty"` } -// Error is +// CheckSkuAvailabilityParameter is check SKU availability parameter. +type CheckSkuAvailabilityParameter struct { + Skus *[]SkuName `json:"skus,omitempty"` + Kind Kind `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` +} + +// CheckSkuAvailabilityResult is check SKU availability result. +type CheckSkuAvailabilityResult struct { + Kind Kind `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` + SkuName SkuName `json:"skuName,omitempty"` + SkuAvailable *bool `json:"skuAvailable,omitempty"` + Reason *string `json:"reason,omitempty"` + Message *string `json:"message,omitempty"` +} + +// CheckSkuAvailabilityResultList is check SKU availability result list. +type CheckSkuAvailabilityResultList struct { + autorest.Response `json:"-"` + Value *[]CheckSkuAvailabilityResult `json:"value,omitempty"` +} + +// Error is cognitive Services error object. type Error struct { Error *ErrorBody `json:"error,omitempty"` } -// ErrorBody is +// ErrorBody is cognitive Services error body. type ErrorBody struct { Code *string `json:"code,omitempty"` Message *string `json:"message,omitempty"` } +// OperationDisplayInfo is the operation supported by Cognitive Services. +type OperationDisplayInfo struct { + Description *string `json:"description,omitempty"` + Operation *string `json:"operation,omitempty"` + Provider *string `json:"provider,omitempty"` + Resource *string `json:"resource,omitempty"` +} + +// OperationEntity is the operation supported by Cognitive Services. +type OperationEntity struct { + Name *string `json:"name,omitempty"` + Display *OperationDisplayInfo `json:"display,omitempty"` + Origin *string `json:"origin,omitempty"` + Properties *map[string]interface{} `json:"properties,omitempty"` +} + +// OperationEntityListResult is the list of cognitive services accounts operation response. +type OperationEntityListResult struct { + autorest.Response `json:"-"` + NextLink *string `json:"nextLink,omitempty"` + Value *[]OperationEntity `json:"value,omitempty"` +} + +// OperationEntityListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client OperationEntityListResult) OperationEntityListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + // RegenerateKeyParameters is regenerate key parameters. type RegenerateKeyParameters struct { KeyName KeyName `json:"keyName,omitempty"` } -// ResourceAndSku is +// ResourceAndSku is cognitive Services resource type and SKU. type ResourceAndSku struct { ResourceType *string `json:"resourceType,omitempty"` Sku *Sku `json:"sku,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/cognitiveservices/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/cognitiveservices/operations.go new file mode 100644 index 000000000..758d2c061 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/cognitiveservices/operations.go @@ -0,0 +1,165 @@ +package cognitiveservices + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// OperationsClient is the cognitive Services Management Client +type OperationsClient struct { + ManagementClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List lists all the available Cognitive Services account operations. +func (client OperationsClient) List() (result OperationEntityListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "cognitiveservices.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "cognitiveservices.OperationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "cognitiveservices.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer() (*http.Request, error) { + const APIVersion = "2017-04-18" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.CognitiveServices/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationEntityListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client OperationsClient) ListNextResults(lastResults OperationEntityListResult) (result OperationEntityListResult, err error) { + req, err := lastResults.OperationEntityListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "cognitiveservices.OperationsClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "cognitiveservices.OperationsClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "cognitiveservices.OperationsClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client OperationsClient) ListComplete(cancel <-chan struct{}) (<-chan OperationEntity, <-chan error) { + resultChan := make(chan OperationEntity) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/cognitiveservices/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/cognitiveservices/version.go index cb67a2f9e..258a75512 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/cognitiveservices/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/cognitiveservices/version.go @@ -14,16 +14,15 @@ package cognitiveservices // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-cognitiveservices/2016-02-01-preview" + return "Azure-SDK-For-Go/v11.0.0-beta arm-cognitiveservices/2017-04-18" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/commerce/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/commerce/client.go index 289d50cfe..e5ffe869c 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/commerce/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/commerce/client.go @@ -1,5 +1,4 @@ -// Package commerce implements the Azure ARM Commerce service API version -// 2015-06-01-preview. +// Package commerce implements the Azure ARM Commerce service API version 2015-06-01-preview. // // package commerce @@ -18,9 +17,8 @@ package commerce // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/commerce/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/commerce/models.go index 1497c45d8..f59ff9aa2 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/commerce/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/commerce/models.go @@ -14,15 +14,16 @@ package commerce // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( + "encoding/json" + "errors" "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/date" "github.com/Azure/go-autorest/autorest/to" - "github.com/satori/uuid" + uuid "github.com/satori/go.uuid" "github.com/shopspring/decimal" "net/http" ) @@ -37,6 +38,18 @@ const ( Hourly AggregationGranularity = "Hourly" ) +// Name enumerates the values for name. +type Name string + +const ( + // NameMonetaryCommitment specifies the name monetary commitment state for name. + NameMonetaryCommitment Name = "Monetary Commitment" + // NameMonetaryCredit specifies the name monetary credit state for name. + NameMonetaryCredit Name = "Monetary Credit" + // NameRecurringCharge specifies the name recurring charge state for name. + NameRecurringCharge Name = "Recurring Charge" +) + // ErrorResponse is describes the format of Error response. type ErrorResponse struct { Code *string `json:"code,omitempty"` @@ -62,28 +75,126 @@ type MeterInfo struct { IncludedQuantity *float64 `json:"IncludedQuantity,omitempty"` } -// MonetaryCommitment is indicates that a monetary commitment is required for -// this offer +// MonetaryCommitment is indicates that a monetary commitment is required for this offer type MonetaryCommitment struct { EffectiveDate *date.Time `json:"EffectiveDate,omitempty"` + Name Name `json:"Name,omitempty"` TieredDiscount *map[string]*decimal.Decimal `json:"TieredDiscount,omitempty"` ExcludedMeterIds *[]uuid.UUID `json:"ExcludedMeterIds,omitempty"` } +// MarshalJSON is the custom marshaler for MonetaryCommitment. +func (mc MonetaryCommitment) MarshalJSON() ([]byte, error) { + mc.Name = NameMonetaryCommitment + type Alias MonetaryCommitment + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(mc), + }) +} + +// AsMonetaryCredit is the OfferTermInfo implementation for MonetaryCommitment. +func (mc MonetaryCommitment) AsMonetaryCredit() (*MonetaryCredit, bool) { + return nil, false +} + +// AsMonetaryCommitment is the OfferTermInfo implementation for MonetaryCommitment. +func (mc MonetaryCommitment) AsMonetaryCommitment() (*MonetaryCommitment, bool) { + return &mc, true +} + +// AsRecurringCharge is the OfferTermInfo implementation for MonetaryCommitment. +func (mc MonetaryCommitment) AsRecurringCharge() (*RecurringCharge, bool) { + return nil, false +} + // MonetaryCredit is indicates that this is a monetary credit offer. type MonetaryCredit struct { EffectiveDate *date.Time `json:"EffectiveDate,omitempty"` + Name Name `json:"Name,omitempty"` Credit *decimal.Decimal `json:"Credit,omitempty"` ExcludedMeterIds *[]uuid.UUID `json:"ExcludedMeterIds,omitempty"` } -// OfferTermInfo is describes the offer term. -type OfferTermInfo struct { - EffectiveDate *date.Time `json:"EffectiveDate,omitempty"` +// MarshalJSON is the custom marshaler for MonetaryCredit. +func (mc MonetaryCredit) MarshalJSON() ([]byte, error) { + mc.Name = NameMonetaryCredit + type Alias MonetaryCredit + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(mc), + }) } -// RateCardQueryParameters is parameters that are used in the odata $filter -// query parameter for providing RateCard information. +// AsMonetaryCredit is the OfferTermInfo implementation for MonetaryCredit. +func (mc MonetaryCredit) AsMonetaryCredit() (*MonetaryCredit, bool) { + return &mc, true +} + +// AsMonetaryCommitment is the OfferTermInfo implementation for MonetaryCredit. +func (mc MonetaryCredit) AsMonetaryCommitment() (*MonetaryCommitment, bool) { + return nil, false +} + +// AsRecurringCharge is the OfferTermInfo implementation for MonetaryCredit. +func (mc MonetaryCredit) AsRecurringCharge() (*RecurringCharge, bool) { + return nil, false +} + +// OfferTermInfo is describes the offer term. +type OfferTermInfo interface { + AsMonetaryCredit() (*MonetaryCredit, bool) + AsMonetaryCommitment() (*MonetaryCommitment, bool) + AsRecurringCharge() (*RecurringCharge, bool) +} + +func unmarshalOfferTermInfo(body []byte) (OfferTermInfo, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["Name"] { + case string(NameMonetaryCredit): + var mc MonetaryCredit + err := json.Unmarshal(body, &mc) + return mc, err + case string(NameMonetaryCommitment): + var mc MonetaryCommitment + err := json.Unmarshal(body, &mc) + return mc, err + case string(NameRecurringCharge): + var rc RecurringCharge + err := json.Unmarshal(body, &rc) + return rc, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalOfferTermInfoArray(body []byte) ([]OfferTermInfo, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + otiArray := make([]OfferTermInfo, len(rawMessages)) + + for index, rawMessage := range rawMessages { + oti, err := unmarshalOfferTermInfo(*rawMessage) + if err != nil { + return nil, err + } + otiArray[index] = oti + } + return otiArray, nil +} + +// RateCardQueryParameters is parameters that are used in the odata $filter query parameter for providing RateCard +// information. type RateCardQueryParameters struct { OfferDurableID *string `json:"OfferDurableId,omitempty"` Currency *string `json:"Currency,omitempty"` @@ -94,9 +205,36 @@ type RateCardQueryParameters struct { // RecurringCharge is indicates a recurring charge is present for this offer. type RecurringCharge struct { EffectiveDate *date.Time `json:"EffectiveDate,omitempty"` + Name Name `json:"Name,omitempty"` RecurringCharge *int32 `json:"RecurringCharge,omitempty"` } +// MarshalJSON is the custom marshaler for RecurringCharge. +func (rc RecurringCharge) MarshalJSON() ([]byte, error) { + rc.Name = NameRecurringCharge + type Alias RecurringCharge + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(rc), + }) +} + +// AsMonetaryCredit is the OfferTermInfo implementation for RecurringCharge. +func (rc RecurringCharge) AsMonetaryCredit() (*MonetaryCredit, bool) { + return nil, false +} + +// AsMonetaryCommitment is the OfferTermInfo implementation for RecurringCharge. +func (rc RecurringCharge) AsMonetaryCommitment() (*MonetaryCommitment, bool) { + return nil, false +} + +// AsRecurringCharge is the OfferTermInfo implementation for RecurringCharge. +func (rc RecurringCharge) AsRecurringCharge() (*RecurringCharge, bool) { + return &rc, true +} + // ResourceRateCardInfo is price and Metadata information for resources type ResourceRateCardInfo struct { autorest.Response `json:"-"` @@ -107,6 +245,67 @@ type ResourceRateCardInfo struct { Meters *[]MeterInfo `json:"Meters,omitempty"` } +// UnmarshalJSON is the custom unmarshaler for ResourceRateCardInfo struct. +func (rrci *ResourceRateCardInfo) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["Currency"] + if v != nil { + var currency string + err = json.Unmarshal(*m["Currency"], ¤cy) + if err != nil { + return err + } + rrci.Currency = ¤cy + } + + v = m["Locale"] + if v != nil { + var locale string + err = json.Unmarshal(*m["Locale"], &locale) + if err != nil { + return err + } + rrci.Locale = &locale + } + + v = m["IsTaxIncluded"] + if v != nil { + var isTaxIncluded bool + err = json.Unmarshal(*m["IsTaxIncluded"], &isTaxIncluded) + if err != nil { + return err + } + rrci.IsTaxIncluded = &isTaxIncluded + } + + v = m["OfferTerms"] + if v != nil { + offerTerms, err := unmarshalOfferTermInfoArray(*m["OfferTerms"]) + if err != nil { + return err + } + rrci.OfferTerms = &offerTerms + } + + v = m["Meters"] + if v != nil { + var meters []MeterInfo + err = json.Unmarshal(*m["Meters"], &meters) + if err != nil { + return err + } + rrci.Meters = &meters + } + + return nil +} + // UsageAggregation is describes the usageAggregation. type UsageAggregation struct { ID *string `json:"id,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/commerce/ratecard.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/commerce/ratecard.go index 2550c64ef..9696562d0 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/commerce/ratecard.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/commerce/ratecard.go @@ -14,9 +14,8 @@ package commerce // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,8 +23,7 @@ import ( "net/http" ) -// RateCardClient is the client for the RateCard methods of the Commerce -// service. +// RateCardClient is the client for the RateCard methods of the Commerce service. type RateCardClient struct { ManagementClient } @@ -35,26 +33,21 @@ func NewRateCardClient(subscriptionID string) RateCardClient { return NewRateCardClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewRateCardClientWithBaseURI creates an instance of the RateCardClient -// client. +// NewRateCardClientWithBaseURI creates an instance of the RateCardClient client. func NewRateCardClientWithBaseURI(baseURI string, subscriptionID string) RateCardClient { return RateCardClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Get enables you to query for the resource/meter metadata and related prices -// used in a given subscription by Offer ID, Currency, Locale and Region. The -// metadata associated with the billing meters, including but not limited to -// service names, types, resources, units of measure, and regions, is subject -// to change at any time and without notice. If you intend to use this billing -// data in an automated fashion, please use the billing meter GUID to uniquely -// identify each billable item. If the billing meter GUID is scheduled to -// change due to a new billing model, you will be notified in advance of the -// change. +// Get enables you to query for the resource/meter metadata and related prices used in a given subscription by Offer +// ID, Currency, Locale and Region. The metadata associated with the billing meters, including but not limited to +// service names, types, resources, units of measure, and regions, is subject to change at any time and without notice. +// If you intend to use this billing data in an automated fashion, please use the billing meter GUID to uniquely +// identify each billable item. If the billing meter GUID is scheduled to change due to a new billing model, you will +// be notified in advance of the change. // -// filter is the filter to apply on the operation. It ONLY supports the 'eq' -// and 'and' logical operators at this time. All the 4 query parameters -// 'OfferDurableId', 'Currency', 'Locale', 'Region' are required to be a part -// of the $filter. +// filter is the filter to apply on the operation. It ONLY supports the 'eq' and 'and' logical operators at this time. +// All the 4 query parameters 'OfferDurableId', 'Currency', 'Locale', 'Region' are required to be a part of the +// $filter. func (client RateCardClient) Get(filter string) (result ResourceRateCardInfo, err error) { req, err := client.GetPreparer(filter) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/commerce/usageaggregates.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/commerce/usageaggregates.go index 4fe228405..d2e15184d 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/commerce/usageaggregates.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/commerce/usageaggregates.go @@ -14,9 +14,8 @@ package commerce // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,40 +24,32 @@ import ( "net/http" ) -// UsageAggregatesClient is the client for the UsageAggregates methods of the -// Commerce service. +// UsageAggregatesClient is the client for the UsageAggregates methods of the Commerce service. type UsageAggregatesClient struct { ManagementClient } -// NewUsageAggregatesClient creates an instance of the UsageAggregatesClient -// client. +// NewUsageAggregatesClient creates an instance of the UsageAggregatesClient client. func NewUsageAggregatesClient(subscriptionID string) UsageAggregatesClient { return NewUsageAggregatesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewUsageAggregatesClientWithBaseURI creates an instance of the -// UsageAggregatesClient client. +// NewUsageAggregatesClientWithBaseURI creates an instance of the UsageAggregatesClient client. func NewUsageAggregatesClientWithBaseURI(baseURI string, subscriptionID string) UsageAggregatesClient { return UsageAggregatesClient{NewWithBaseURI(baseURI, subscriptionID)} } // List query aggregated Azure subscription consumption data for a date range. // -// reportedStartTime is the start of the time range to retrieve data for. -// reportedEndTime is the end of the time range to retrieve data for. -// showDetails is `True` returns usage data in instance-level detail, `false` -// causes server-side aggregation with fewer details. For example, if you have -// 3 website instances, by default you will get 3 line items for website -// consumption. If you specify showDetails = false, the data will be aggregated -// as a single line item for website consumption within the time period (for -// the given subscriptionId, meterId, usageStartTime and usageEndTime). -// aggregationGranularity is `Daily` (default) returns the data in daily -// granularity, `Hourly` returns the data in hourly granularity. -// continuationToken is used when a continuation token string is provided in -// the response body of the previous call, enabling paging through a large -// result set. If not present, the data is retrieved from the beginning of the -// day/hour (based on the granularity) passed in. +// reportedStartTime is the start of the time range to retrieve data for. reportedEndTime is the end of the time range +// to retrieve data for. showDetails is `True` returns usage data in instance-level detail, `false` causes server-side +// aggregation with fewer details. For example, if you have 3 website instances, by default you will get 3 line items +// for website consumption. If you specify showDetails = false, the data will be aggregated as a single line item for +// website consumption within the time period (for the given subscriptionId, meterId, usageStartTime and usageEndTime). +// aggregationGranularity is `Daily` (default) returns the data in daily granularity, `Hourly` returns the data in +// hourly granularity. continuationToken is used when a continuation token string is provided in the response body of +// the previous call, enabling paging through a large result set. If not present, the data is retrieved from the +// beginning of the day/hour (based on the granularity) passed in. func (client UsageAggregatesClient) List(reportedStartTime date.Time, reportedEndTime date.Time, showDetails *bool, aggregationGranularity AggregationGranularity, continuationToken string) (result UsageAggregationListResult, err error) { req, err := client.ListPreparer(reportedStartTime, reportedEndTime, showDetails, aggregationGranularity, continuationToken) if err != nil { @@ -153,3 +144,48 @@ func (client UsageAggregatesClient) ListNextResults(lastResults UsageAggregation return } + +// ListComplete gets all elements from the list without paging. +func (client UsageAggregatesClient) ListComplete(reportedStartTime date.Time, reportedEndTime date.Time, showDetails *bool, aggregationGranularity AggregationGranularity, continuationToken string, cancel <-chan struct{}) (<-chan UsageAggregation, <-chan error) { + resultChan := make(chan UsageAggregation) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(reportedStartTime, reportedEndTime, showDetails, aggregationGranularity, continuationToken) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/commerce/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/commerce/version.go index 071a3609c..068fbd78a 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/commerce/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/commerce/version.go @@ -14,16 +14,15 @@ package commerce // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-commerce/2015-06-01-preview" + return "Azure-SDK-For-Go/v11.0.0-beta arm-commerce/2015-06-01-preview" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/availabilitysets.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/availabilitysets.go index 738c2c61e..bf1a8fc34 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/availabilitysets.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/availabilitysets.go @@ -14,9 +14,8 @@ package compute // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,30 +23,27 @@ import ( "net/http" ) -// AvailabilitySetsClient is the the Compute Management Client. +// AvailabilitySetsClient is the compute Client type AvailabilitySetsClient struct { ManagementClient } -// NewAvailabilitySetsClient creates an instance of the AvailabilitySetsClient -// client. +// NewAvailabilitySetsClient creates an instance of the AvailabilitySetsClient client. func NewAvailabilitySetsClient(subscriptionID string) AvailabilitySetsClient { return NewAvailabilitySetsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewAvailabilitySetsClientWithBaseURI creates an instance of the -// AvailabilitySetsClient client. +// NewAvailabilitySetsClientWithBaseURI creates an instance of the AvailabilitySetsClient client. func NewAvailabilitySetsClientWithBaseURI(baseURI string, subscriptionID string) AvailabilitySetsClient { return AvailabilitySetsClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate create or update an availability set. // -// resourceGroupName is the name of the resource group. name is the name of the -// availability set. parameters is parameters supplied to the Create -// Availability Set operation. -func (client AvailabilitySetsClient) CreateOrUpdate(resourceGroupName string, name string, parameters AvailabilitySet) (result AvailabilitySet, err error) { - req, err := client.CreateOrUpdatePreparer(resourceGroupName, name, parameters) +// resourceGroupName is the name of the resource group. availabilitySetName is the name of the availability set. +// parameters is parameters supplied to the Create Availability Set operation. +func (client AvailabilitySetsClient) CreateOrUpdate(resourceGroupName string, availabilitySetName string, parameters AvailabilitySet) (result AvailabilitySet, err error) { + req, err := client.CreateOrUpdatePreparer(resourceGroupName, availabilitySetName, parameters) if err != nil { err = autorest.NewErrorWithError(err, "compute.AvailabilitySetsClient", "CreateOrUpdate", nil, "Failure preparing request") return @@ -69,14 +65,14 @@ func (client AvailabilitySetsClient) CreateOrUpdate(resourceGroupName string, na } // CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client AvailabilitySetsClient) CreateOrUpdatePreparer(resourceGroupName string, name string, parameters AvailabilitySet) (*http.Request, error) { +func (client AvailabilitySetsClient) CreateOrUpdatePreparer(resourceGroupName string, availabilitySetName string, parameters AvailabilitySet) (*http.Request, error) { pathParameters := map[string]interface{}{ - "name": autorest.Encode("path", name), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "availabilitySetName": autorest.Encode("path", availabilitySetName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -85,7 +81,7 @@ func (client AvailabilitySetsClient) CreateOrUpdatePreparer(resourceGroupName st autorest.AsJSON(), autorest.AsPut(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{name}", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}", pathParameters), autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) @@ -112,8 +108,7 @@ func (client AvailabilitySetsClient) CreateOrUpdateResponder(resp *http.Response // Delete delete an availability set. // -// resourceGroupName is the name of the resource group. availabilitySetName is -// the name of the availability set. +// resourceGroupName is the name of the resource group. availabilitySetName is the name of the availability set. func (client AvailabilitySetsClient) Delete(resourceGroupName string, availabilitySetName string) (result OperationStatusResponse, err error) { req, err := client.DeletePreparer(resourceGroupName, availabilitySetName) if err != nil { @@ -144,7 +139,7 @@ func (client AvailabilitySetsClient) DeletePreparer(resourceGroupName string, av "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -178,8 +173,7 @@ func (client AvailabilitySetsClient) DeleteResponder(resp *http.Response) (resul // Get retrieves information about an availability set. // -// resourceGroupName is the name of the resource group. availabilitySetName is -// the name of the availability set. +// resourceGroupName is the name of the resource group. availabilitySetName is the name of the availability set. func (client AvailabilitySetsClient) Get(resourceGroupName string, availabilitySetName string) (result AvailabilitySet, err error) { req, err := client.GetPreparer(resourceGroupName, availabilitySetName) if err != nil { @@ -210,7 +204,7 @@ func (client AvailabilitySetsClient) GetPreparer(resourceGroupName string, avail "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -274,7 +268,7 @@ func (client AvailabilitySetsClient) ListPreparer(resourceGroupName string) (*ht "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -306,11 +300,10 @@ func (client AvailabilitySetsClient) ListResponder(resp *http.Response) (result return } -// ListAvailableSizes lists all available virtual machine sizes that can be -// used to create a new virtual machine in an existing availability set. +// ListAvailableSizes lists all available virtual machine sizes that can be used to create a new virtual machine in an +// existing availability set. // -// resourceGroupName is the name of the resource group. availabilitySetName is -// the name of the availability set. +// resourceGroupName is the name of the resource group. availabilitySetName is the name of the availability set. func (client AvailabilitySetsClient) ListAvailableSizes(resourceGroupName string, availabilitySetName string) (result VirtualMachineSizeListResult, err error) { req, err := client.ListAvailableSizesPreparer(resourceGroupName, availabilitySetName) if err != nil { @@ -341,7 +334,7 @@ func (client AvailabilitySetsClient) ListAvailableSizesPreparer(resourceGroupNam "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/client.go index c60452b9d..98b1c0dad 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/client.go @@ -1,7 +1,6 @@ -// Package compute implements the Azure ARM Compute service API version -// 2016-04-30-preview. +// Package compute implements the Azure ARM Compute service API version . // -// The Compute Management Client. +// Compute Client package compute // Copyright (c) Microsoft and contributors. All rights reserved. @@ -18,9 +17,8 @@ package compute // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/containerservices.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/containerservices.go new file mode 100644 index 000000000..98c1706ee --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/containerservices.go @@ -0,0 +1,579 @@ +package compute + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// ContainerServicesClient is the compute Client +type ContainerServicesClient struct { + ManagementClient +} + +// NewContainerServicesClient creates an instance of the ContainerServicesClient client. +func NewContainerServicesClient(subscriptionID string) ContainerServicesClient { + return NewContainerServicesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewContainerServicesClientWithBaseURI creates an instance of the ContainerServicesClient client. +func NewContainerServicesClientWithBaseURI(baseURI string, subscriptionID string) ContainerServicesClient { + return ContainerServicesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a container service with the specified configuration of orchestrator, masters, and +// agents. This method may poll for completion. Polling can be canceled by passing the cancel channel argument. The +// channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group. containerServiceName is the name of the container service in +// the specified subscription and resource group. parameters is parameters supplied to the Create or Update a Container +// Service operation. +func (client ContainerServicesClient) CreateOrUpdate(resourceGroupName string, containerServiceName string, parameters ContainerService, cancel <-chan struct{}) (<-chan ContainerService, <-chan error) { + resultChan := make(chan ContainerService, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.ContainerServiceProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ContainerServiceProperties.CustomProfile", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ContainerServiceProperties.CustomProfile.Orchestrator", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.ContainerServiceProperties.ServicePrincipalProfile", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ContainerServiceProperties.ServicePrincipalProfile.ClientID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ContainerServiceProperties.ServicePrincipalProfile.Secret", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "parameters.ContainerServiceProperties.MasterProfile", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.ContainerServiceProperties.MasterProfile.DNSPrefix", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.ContainerServiceProperties.AgentPoolProfiles", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ContainerServiceProperties.WindowsProfile", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ContainerServiceProperties.WindowsProfile.AdminUsername", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.ContainerServiceProperties.WindowsProfile.AdminUsername", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$`, Chain: nil}}}, + {Target: "parameters.ContainerServiceProperties.WindowsProfile.AdminPassword", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.ContainerServiceProperties.WindowsProfile.AdminPassword", Name: validation.Pattern, Rule: `^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\^&\*\(\)])[a-zA-Z\d!@#$%\^&\*\(\)]{12,123}$`, Chain: nil}}}, + }}, + {Target: "parameters.ContainerServiceProperties.LinuxProfile", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.ContainerServiceProperties.LinuxProfile.AdminUsername", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.ContainerServiceProperties.LinuxProfile.AdminUsername", Name: validation.Pattern, Rule: `^[a-z][a-z0-9_-]*$`, Chain: nil}}}, + {Target: "parameters.ContainerServiceProperties.LinuxProfile.SSH", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.ContainerServiceProperties.LinuxProfile.SSH.PublicKeys", Name: validation.Null, Rule: true, Chain: nil}}}, + }}, + {Target: "parameters.ContainerServiceProperties.DiagnosticsProfile", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ContainerServiceProperties.DiagnosticsProfile.VMDiagnostics", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.ContainerServiceProperties.DiagnosticsProfile.VMDiagnostics.Enabled", Name: validation.Null, Rule: true, Chain: nil}}}, + }}, + }}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "compute.ContainerServicesClient", "CreateOrUpdate") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result ContainerService + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, containerServiceName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.ContainerServicesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.ContainerServicesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.ContainerServicesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ContainerServicesClient) CreateOrUpdatePreparer(resourceGroupName string, containerServiceName string, parameters ContainerService, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "containerServiceName": autorest.Encode("path", containerServiceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-01-31" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ContainerServicesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ContainerServicesClient) CreateOrUpdateResponder(resp *http.Response) (result ContainerService, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified container service in the specified subscription and resource group. The operation does +// not delete other resources created as part of creating a container service, including storage accounts, VMs, and +// availability sets. All the other resources created with the container service are part of the same resource group +// and can be deleted individually. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group. containerServiceName is the name of the container service in +// the specified subscription and resource group. +func (client ContainerServicesClient) Delete(resourceGroupName string, containerServiceName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, containerServiceName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.ContainerServicesClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "compute.ContainerServicesClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.ContainerServicesClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// DeletePreparer prepares the Delete request. +func (client ContainerServicesClient) DeletePreparer(resourceGroupName string, containerServiceName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "containerServiceName": autorest.Encode("path", containerServiceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-01-31" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ContainerServicesClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ContainerServicesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the properties of the specified container service in the specified subscription and resource group. The +// operation returns the properties including state, orchestrator, number of masters and agents, and FQDNs of masters +// and agents. +// +// resourceGroupName is the name of the resource group. containerServiceName is the name of the container service in +// the specified subscription and resource group. +func (client ContainerServicesClient) Get(resourceGroupName string, containerServiceName string) (result ContainerService, err error) { + req, err := client.GetPreparer(resourceGroupName, containerServiceName) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.ContainerServicesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.ContainerServicesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.ContainerServicesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ContainerServicesClient) GetPreparer(resourceGroupName string, containerServiceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "containerServiceName": autorest.Encode("path", containerServiceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-01-31" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ContainerServicesClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ContainerServicesClient) GetResponder(resp *http.Response) (result ContainerService, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets a list of container services in the specified subscription. The operation returns properties of each +// container service including state, orchestrator, number of masters and agents, and FQDNs of masters and agents. +func (client ContainerServicesClient) List() (result ContainerServiceListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "compute.ContainerServicesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.ContainerServicesClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.ContainerServicesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ContainerServicesClient) ListPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-01-31" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/containerServices", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ContainerServicesClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ContainerServicesClient) ListResponder(resp *http.Response) (result ContainerServiceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client ContainerServicesClient) ListNextResults(lastResults ContainerServiceListResult) (result ContainerServiceListResult, err error) { + req, err := lastResults.ContainerServiceListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "compute.ContainerServicesClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "compute.ContainerServicesClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.ContainerServicesClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client ContainerServicesClient) ListComplete(cancel <-chan struct{}) (<-chan ContainerService, <-chan error) { + resultChan := make(chan ContainerService) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListByResourceGroup gets a list of container services in the specified subscription and resource group. The +// operation returns properties of each container service including state, orchestrator, number of masters and agents, +// and FQDNs of masters and agents. +// +// resourceGroupName is the name of the resource group. +func (client ContainerServicesClient) ListByResourceGroup(resourceGroupName string) (result ContainerServiceListResult, err error) { + req, err := client.ListByResourceGroupPreparer(resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.ContainerServicesClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.ContainerServicesClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.ContainerServicesClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ContainerServicesClient) ListByResourceGroupPreparer(resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-01-31" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ContainerServicesClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ContainerServicesClient) ListByResourceGroupResponder(resp *http.Response) (result ContainerServiceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroupNextResults retrieves the next set of results, if any. +func (client ContainerServicesClient) ListByResourceGroupNextResults(lastResults ContainerServiceListResult) (result ContainerServiceListResult, err error) { + req, err := lastResults.ContainerServiceListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "compute.ContainerServicesClient", "ListByResourceGroup", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "compute.ContainerServicesClient", "ListByResourceGroup", resp, "Failure sending next results request") + } + + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.ContainerServicesClient", "ListByResourceGroup", resp, "Failure responding to next results request") + } + + return +} + +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client ContainerServicesClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan ContainerService, <-chan error) { + resultChan := make(chan ContainerService) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/disks.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/disks.go new file mode 100644 index 000000000..47e9e4029 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/disks.go @@ -0,0 +1,818 @@ +package compute + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// DisksClient is the compute Client +type DisksClient struct { + ManagementClient +} + +// NewDisksClient creates an instance of the DisksClient client. +func NewDisksClient(subscriptionID string) DisksClient { + return NewDisksClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDisksClientWithBaseURI creates an instance of the DisksClient client. +func NewDisksClientWithBaseURI(baseURI string, subscriptionID string) DisksClient { + return DisksClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a disk. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group. diskName is the name of the disk within the given subscription +// and resource group. disk is disk object supplied in the body of the Put disk operation. +func (client DisksClient) CreateOrUpdate(resourceGroupName string, diskName string, disk Disk, cancel <-chan struct{}) (<-chan Disk, <-chan error) { + resultChan := make(chan Disk, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: disk, + Constraints: []validation.Constraint{{Target: "disk.DiskProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "disk.DiskProperties.CreationData", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "disk.DiskProperties.CreationData.ImageReference", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "disk.DiskProperties.CreationData.ImageReference.ID", Name: validation.Null, Rule: true, Chain: nil}}}, + }}, + {Target: "disk.DiskProperties.EncryptionSettings", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "disk.DiskProperties.EncryptionSettings.DiskEncryptionKey", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "disk.DiskProperties.EncryptionSettings.DiskEncryptionKey.SourceVault", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "disk.DiskProperties.EncryptionSettings.DiskEncryptionKey.SecretURL", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "disk.DiskProperties.EncryptionSettings.KeyEncryptionKey", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "disk.DiskProperties.EncryptionSettings.KeyEncryptionKey.SourceVault", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "disk.DiskProperties.EncryptionSettings.KeyEncryptionKey.KeyURL", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}, + }}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "compute.DisksClient", "CreateOrUpdate") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result Disk + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, diskName, disk, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.DisksClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.DisksClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.DisksClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DisksClient) CreateOrUpdatePreparer(resourceGroupName string, diskName string, disk Disk, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "diskName": autorest.Encode("path", diskName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}", pathParameters), + autorest.WithJSON(disk), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DisksClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DisksClient) CreateOrUpdateResponder(resp *http.Response) (result Disk, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a disk. This method may poll for completion. Polling can be canceled by passing the cancel channel +// argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group. diskName is the name of the disk within the given subscription +// and resource group. +func (client DisksClient) Delete(resourceGroupName string, diskName string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { + resultChan := make(chan OperationStatusResponse, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result OperationStatusResponse + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, diskName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.DisksClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.DisksClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.DisksClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// DeletePreparer prepares the Delete request. +func (client DisksClient) DeletePreparer(resourceGroupName string, diskName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "diskName": autorest.Encode("path", diskName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client DisksClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client DisksClient) DeleteResponder(resp *http.Response) (result OperationStatusResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets information about a disk. +// +// resourceGroupName is the name of the resource group. diskName is the name of the disk within the given subscription +// and resource group. +func (client DisksClient) Get(resourceGroupName string, diskName string) (result Disk, err error) { + req, err := client.GetPreparer(resourceGroupName, diskName) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.DisksClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.DisksClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.DisksClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DisksClient) GetPreparer(resourceGroupName string, diskName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "diskName": autorest.Encode("path", diskName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DisksClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DisksClient) GetResponder(resp *http.Response) (result Disk, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GrantAccess grants access to a disk. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group. diskName is the name of the disk within the given subscription +// and resource group. grantAccessData is access data object supplied in the body of the get disk access operation. +func (client DisksClient) GrantAccess(resourceGroupName string, diskName string, grantAccessData GrantAccessData, cancel <-chan struct{}) (<-chan AccessURI, <-chan error) { + resultChan := make(chan AccessURI, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: grantAccessData, + Constraints: []validation.Constraint{{Target: "grantAccessData.DurationInSeconds", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "compute.DisksClient", "GrantAccess") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result AccessURI + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.GrantAccessPreparer(resourceGroupName, diskName, grantAccessData, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.DisksClient", "GrantAccess", nil, "Failure preparing request") + return + } + + resp, err := client.GrantAccessSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.DisksClient", "GrantAccess", resp, "Failure sending request") + return + } + + result, err = client.GrantAccessResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.DisksClient", "GrantAccess", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// GrantAccessPreparer prepares the GrantAccess request. +func (client DisksClient) GrantAccessPreparer(resourceGroupName string, diskName string, grantAccessData GrantAccessData, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "diskName": autorest.Encode("path", diskName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/beginGetAccess", pathParameters), + autorest.WithJSON(grantAccessData), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// GrantAccessSender sends the GrantAccess request. The method will close the +// http.Response Body if it receives an error. +func (client DisksClient) GrantAccessSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// GrantAccessResponder handles the response to the GrantAccess request. The method always +// closes the http.Response Body. +func (client DisksClient) GrantAccessResponder(resp *http.Response) (result AccessURI, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all the disks under a subscription. +func (client DisksClient) List() (result DiskList, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "compute.DisksClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.DisksClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.DisksClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client DisksClient) ListPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client DisksClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client DisksClient) ListResponder(resp *http.Response) (result DiskList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client DisksClient) ListNextResults(lastResults DiskList) (result DiskList, err error) { + req, err := lastResults.DiskListPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "compute.DisksClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "compute.DisksClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.DisksClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client DisksClient) ListComplete(cancel <-chan struct{}) (<-chan Disk, <-chan error) { + resultChan := make(chan Disk) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListByResourceGroup lists all the disks under a resource group. +// +// resourceGroupName is the name of the resource group. +func (client DisksClient) ListByResourceGroup(resourceGroupName string) (result DiskList, err error) { + req, err := client.ListByResourceGroupPreparer(resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.DisksClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.DisksClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.DisksClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client DisksClient) ListByResourceGroupPreparer(resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client DisksClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client DisksClient) ListByResourceGroupResponder(resp *http.Response) (result DiskList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroupNextResults retrieves the next set of results, if any. +func (client DisksClient) ListByResourceGroupNextResults(lastResults DiskList) (result DiskList, err error) { + req, err := lastResults.DiskListPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "compute.DisksClient", "ListByResourceGroup", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "compute.DisksClient", "ListByResourceGroup", resp, "Failure sending next results request") + } + + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.DisksClient", "ListByResourceGroup", resp, "Failure responding to next results request") + } + + return +} + +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client DisksClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan Disk, <-chan error) { + resultChan := make(chan Disk) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// RevokeAccess revokes access to a disk. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group. diskName is the name of the disk within the given subscription +// and resource group. +func (client DisksClient) RevokeAccess(resourceGroupName string, diskName string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { + resultChan := make(chan OperationStatusResponse, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result OperationStatusResponse + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.RevokeAccessPreparer(resourceGroupName, diskName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.DisksClient", "RevokeAccess", nil, "Failure preparing request") + return + } + + resp, err := client.RevokeAccessSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.DisksClient", "RevokeAccess", resp, "Failure sending request") + return + } + + result, err = client.RevokeAccessResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.DisksClient", "RevokeAccess", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// RevokeAccessPreparer prepares the RevokeAccess request. +func (client DisksClient) RevokeAccessPreparer(resourceGroupName string, diskName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "diskName": autorest.Encode("path", diskName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/endGetAccess", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// RevokeAccessSender sends the RevokeAccess request. The method will close the +// http.Response Body if it receives an error. +func (client DisksClient) RevokeAccessSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// RevokeAccessResponder handles the response to the RevokeAccess request. The method always +// closes the http.Response Body. +func (client DisksClient) RevokeAccessResponder(resp *http.Response) (result OperationStatusResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update updates (patches) a disk. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group. diskName is the name of the disk within the given subscription +// and resource group. disk is disk object supplied in the body of the Patch disk operation. +func (client DisksClient) Update(resourceGroupName string, diskName string, disk DiskUpdate, cancel <-chan struct{}) (<-chan Disk, <-chan error) { + resultChan := make(chan Disk, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result Disk + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.UpdatePreparer(resourceGroupName, diskName, disk, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.DisksClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.DisksClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.DisksClient", "Update", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// UpdatePreparer prepares the Update request. +func (client DisksClient) UpdatePreparer(resourceGroupName string, diskName string, disk DiskUpdate, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "diskName": autorest.Encode("path", diskName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}", pathParameters), + autorest.WithJSON(disk), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client DisksClient) UpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client DisksClient) UpdateResponder(resp *http.Response) (result Disk, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/images.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/images.go index 64f14dd08..bbde2bc7f 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/images.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/images.go @@ -14,9 +14,8 @@ package compute // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// ImagesClient is the the Compute Management Client. +// ImagesClient is the compute Client type ImagesClient struct { ManagementClient } @@ -40,14 +39,11 @@ func NewImagesClientWithBaseURI(baseURI string, subscriptionID string) ImagesCli return ImagesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate create or update an image. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// CreateOrUpdate create or update an image. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. imageName is the name -// of the image. parameters is parameters supplied to the Create Image -// operation. +// resourceGroupName is the name of the resource group. imageName is the name of the image. parameters is parameters +// supplied to the Create Image operation. func (client ImagesClient) CreateOrUpdate(resourceGroupName string, imageName string, parameters Image, cancel <-chan struct{}) (<-chan Image, <-chan error) { resultChan := make(chan Image, 1) errChan := make(chan error, 1) @@ -67,8 +63,10 @@ func (client ImagesClient) CreateOrUpdate(resourceGroupName string, imageName st var err error var result Image defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -101,7 +99,7 @@ func (client ImagesClient) CreateOrUpdatePreparer(resourceGroupName string, imag "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -137,12 +135,10 @@ func (client ImagesClient) CreateOrUpdateResponder(resp *http.Response) (result return } -// Delete deletes an Image. This method may poll for completion. Polling can be -// canceled by passing the cancel channel argument. The channel will be used to -// cancel polling and any outstanding HTTP requests. +// Delete deletes an Image. This method may poll for completion. Polling can be canceled by passing the cancel channel +// argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. imageName is the name -// of the image. +// resourceGroupName is the name of the resource group. imageName is the name of the image. func (client ImagesClient) Delete(resourceGroupName string, imageName string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { resultChan := make(chan OperationStatusResponse, 1) errChan := make(chan error, 1) @@ -150,8 +146,10 @@ func (client ImagesClient) Delete(resourceGroupName string, imageName string, ca var err error var result OperationStatusResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -184,7 +182,7 @@ func (client ImagesClient) DeletePreparer(resourceGroupName string, imageName st "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -220,8 +218,8 @@ func (client ImagesClient) DeleteResponder(resp *http.Response) (result Operatio // Get gets an image. // -// resourceGroupName is the name of the resource group. imageName is the name -// of the image. expand is the expand expression to apply on the operation. +// resourceGroupName is the name of the resource group. imageName is the name of the image. expand is the expand +// expression to apply on the operation. func (client ImagesClient) Get(resourceGroupName string, imageName string, expand string) (result Image, err error) { req, err := client.GetPreparer(resourceGroupName, imageName, expand) if err != nil { @@ -252,7 +250,7 @@ func (client ImagesClient) GetPreparer(resourceGroupName string, imageName strin "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -287,9 +285,8 @@ func (client ImagesClient) GetResponder(resp *http.Response) (result Image, err return } -// List gets the list of Images in the subscription. Use nextLink property in -// the response to get the next page of Images. Do this till nextLink is not -// null to fetch all the Images. +// List gets the list of Images in the subscription. Use nextLink property in the response to get the next page of +// Images. Do this till nextLink is not null to fetch all the Images. func (client ImagesClient) List() (result ImageListResult, err error) { req, err := client.ListPreparer() if err != nil { @@ -318,7 +315,7 @@ func (client ImagesClient) ListPreparer() (*http.Request, error) { "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -374,6 +371,51 @@ func (client ImagesClient) ListNextResults(lastResults ImageListResult) (result return } +// ListComplete gets all elements from the list without paging. +func (client ImagesClient) ListComplete(cancel <-chan struct{}) (<-chan Image, <-chan error) { + resultChan := make(chan Image) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListByResourceGroup gets the list of images under a resource group. // // resourceGroupName is the name of the resource group. @@ -406,7 +448,7 @@ func (client ImagesClient) ListByResourceGroupPreparer(resourceGroupName string) "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -461,3 +503,48 @@ func (client ImagesClient) ListByResourceGroupNextResults(lastResults ImageListR return } + +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client ImagesClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan Image, <-chan error) { + resultChan := make(chan Image) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/models.go index a9524daef..bae95ca25 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/models.go @@ -14,9 +14,8 @@ package compute // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,37 +24,176 @@ import ( "net/http" ) +// AccessLevel enumerates the values for access level. +type AccessLevel string + +const ( + // None specifies the none state for access level. + None AccessLevel = "None" + // Read specifies the read state for access level. + Read AccessLevel = "Read" +) + // CachingTypes enumerates the values for caching types. type CachingTypes string const ( - // None specifies the none state for caching types. - None CachingTypes = "None" - // ReadOnly specifies the read only state for caching types. - ReadOnly CachingTypes = "ReadOnly" - // ReadWrite specifies the read write state for caching types. - ReadWrite CachingTypes = "ReadWrite" + // CachingTypesNone specifies the caching types none state for caching types. + CachingTypesNone CachingTypes = "None" + // CachingTypesReadOnly specifies the caching types read only state for caching types. + CachingTypesReadOnly CachingTypes = "ReadOnly" + // CachingTypesReadWrite specifies the caching types read write state for caching types. + CachingTypesReadWrite CachingTypes = "ReadWrite" ) // ComponentNames enumerates the values for component names. type ComponentNames string const ( - // MicrosoftWindowsShellSetup specifies the microsoft windows shell setup - // state for component names. + // MicrosoftWindowsShellSetup specifies the microsoft windows shell setup state for component names. MicrosoftWindowsShellSetup ComponentNames = "Microsoft-Windows-Shell-Setup" ) +// ContainerServiceOrchestratorTypes enumerates the values for container service orchestrator types. +type ContainerServiceOrchestratorTypes string + +const ( + // Custom specifies the custom state for container service orchestrator types. + Custom ContainerServiceOrchestratorTypes = "Custom" + // DCOS specifies the dcos state for container service orchestrator types. + DCOS ContainerServiceOrchestratorTypes = "DCOS" + // Kubernetes specifies the kubernetes state for container service orchestrator types. + Kubernetes ContainerServiceOrchestratorTypes = "Kubernetes" + // Swarm specifies the swarm state for container service orchestrator types. + Swarm ContainerServiceOrchestratorTypes = "Swarm" +) + +// ContainerServiceVMSizeTypes enumerates the values for container service vm size types. +type ContainerServiceVMSizeTypes string + +const ( + // StandardA0 specifies the standard a0 state for container service vm size types. + StandardA0 ContainerServiceVMSizeTypes = "Standard_A0" + // StandardA1 specifies the standard a1 state for container service vm size types. + StandardA1 ContainerServiceVMSizeTypes = "Standard_A1" + // StandardA10 specifies the standard a10 state for container service vm size types. + StandardA10 ContainerServiceVMSizeTypes = "Standard_A10" + // StandardA11 specifies the standard a11 state for container service vm size types. + StandardA11 ContainerServiceVMSizeTypes = "Standard_A11" + // StandardA2 specifies the standard a2 state for container service vm size types. + StandardA2 ContainerServiceVMSizeTypes = "Standard_A2" + // StandardA3 specifies the standard a3 state for container service vm size types. + StandardA3 ContainerServiceVMSizeTypes = "Standard_A3" + // StandardA4 specifies the standard a4 state for container service vm size types. + StandardA4 ContainerServiceVMSizeTypes = "Standard_A4" + // StandardA5 specifies the standard a5 state for container service vm size types. + StandardA5 ContainerServiceVMSizeTypes = "Standard_A5" + // StandardA6 specifies the standard a6 state for container service vm size types. + StandardA6 ContainerServiceVMSizeTypes = "Standard_A6" + // StandardA7 specifies the standard a7 state for container service vm size types. + StandardA7 ContainerServiceVMSizeTypes = "Standard_A7" + // StandardA8 specifies the standard a8 state for container service vm size types. + StandardA8 ContainerServiceVMSizeTypes = "Standard_A8" + // StandardA9 specifies the standard a9 state for container service vm size types. + StandardA9 ContainerServiceVMSizeTypes = "Standard_A9" + // StandardD1 specifies the standard d1 state for container service vm size types. + StandardD1 ContainerServiceVMSizeTypes = "Standard_D1" + // StandardD11 specifies the standard d11 state for container service vm size types. + StandardD11 ContainerServiceVMSizeTypes = "Standard_D11" + // StandardD11V2 specifies the standard d11v2 state for container service vm size types. + StandardD11V2 ContainerServiceVMSizeTypes = "Standard_D11_v2" + // StandardD12 specifies the standard d12 state for container service vm size types. + StandardD12 ContainerServiceVMSizeTypes = "Standard_D12" + // StandardD12V2 specifies the standard d12v2 state for container service vm size types. + StandardD12V2 ContainerServiceVMSizeTypes = "Standard_D12_v2" + // StandardD13 specifies the standard d13 state for container service vm size types. + StandardD13 ContainerServiceVMSizeTypes = "Standard_D13" + // StandardD13V2 specifies the standard d13v2 state for container service vm size types. + StandardD13V2 ContainerServiceVMSizeTypes = "Standard_D13_v2" + // StandardD14 specifies the standard d14 state for container service vm size types. + StandardD14 ContainerServiceVMSizeTypes = "Standard_D14" + // StandardD14V2 specifies the standard d14v2 state for container service vm size types. + StandardD14V2 ContainerServiceVMSizeTypes = "Standard_D14_v2" + // StandardD1V2 specifies the standard d1v2 state for container service vm size types. + StandardD1V2 ContainerServiceVMSizeTypes = "Standard_D1_v2" + // StandardD2 specifies the standard d2 state for container service vm size types. + StandardD2 ContainerServiceVMSizeTypes = "Standard_D2" + // StandardD2V2 specifies the standard d2v2 state for container service vm size types. + StandardD2V2 ContainerServiceVMSizeTypes = "Standard_D2_v2" + // StandardD3 specifies the standard d3 state for container service vm size types. + StandardD3 ContainerServiceVMSizeTypes = "Standard_D3" + // StandardD3V2 specifies the standard d3v2 state for container service vm size types. + StandardD3V2 ContainerServiceVMSizeTypes = "Standard_D3_v2" + // StandardD4 specifies the standard d4 state for container service vm size types. + StandardD4 ContainerServiceVMSizeTypes = "Standard_D4" + // StandardD4V2 specifies the standard d4v2 state for container service vm size types. + StandardD4V2 ContainerServiceVMSizeTypes = "Standard_D4_v2" + // StandardD5V2 specifies the standard d5v2 state for container service vm size types. + StandardD5V2 ContainerServiceVMSizeTypes = "Standard_D5_v2" + // StandardDS1 specifies the standard ds1 state for container service vm size types. + StandardDS1 ContainerServiceVMSizeTypes = "Standard_DS1" + // StandardDS11 specifies the standard ds11 state for container service vm size types. + StandardDS11 ContainerServiceVMSizeTypes = "Standard_DS11" + // StandardDS12 specifies the standard ds12 state for container service vm size types. + StandardDS12 ContainerServiceVMSizeTypes = "Standard_DS12" + // StandardDS13 specifies the standard ds13 state for container service vm size types. + StandardDS13 ContainerServiceVMSizeTypes = "Standard_DS13" + // StandardDS14 specifies the standard ds14 state for container service vm size types. + StandardDS14 ContainerServiceVMSizeTypes = "Standard_DS14" + // StandardDS2 specifies the standard ds2 state for container service vm size types. + StandardDS2 ContainerServiceVMSizeTypes = "Standard_DS2" + // StandardDS3 specifies the standard ds3 state for container service vm size types. + StandardDS3 ContainerServiceVMSizeTypes = "Standard_DS3" + // StandardDS4 specifies the standard ds4 state for container service vm size types. + StandardDS4 ContainerServiceVMSizeTypes = "Standard_DS4" + // StandardG1 specifies the standard g1 state for container service vm size types. + StandardG1 ContainerServiceVMSizeTypes = "Standard_G1" + // StandardG2 specifies the standard g2 state for container service vm size types. + StandardG2 ContainerServiceVMSizeTypes = "Standard_G2" + // StandardG3 specifies the standard g3 state for container service vm size types. + StandardG3 ContainerServiceVMSizeTypes = "Standard_G3" + // StandardG4 specifies the standard g4 state for container service vm size types. + StandardG4 ContainerServiceVMSizeTypes = "Standard_G4" + // StandardG5 specifies the standard g5 state for container service vm size types. + StandardG5 ContainerServiceVMSizeTypes = "Standard_G5" + // StandardGS1 specifies the standard gs1 state for container service vm size types. + StandardGS1 ContainerServiceVMSizeTypes = "Standard_GS1" + // StandardGS2 specifies the standard gs2 state for container service vm size types. + StandardGS2 ContainerServiceVMSizeTypes = "Standard_GS2" + // StandardGS3 specifies the standard gs3 state for container service vm size types. + StandardGS3 ContainerServiceVMSizeTypes = "Standard_GS3" + // StandardGS4 specifies the standard gs4 state for container service vm size types. + StandardGS4 ContainerServiceVMSizeTypes = "Standard_GS4" + // StandardGS5 specifies the standard gs5 state for container service vm size types. + StandardGS5 ContainerServiceVMSizeTypes = "Standard_GS5" +) + +// DiskCreateOption enumerates the values for disk create option. +type DiskCreateOption string + +const ( + // Attach specifies the attach state for disk create option. + Attach DiskCreateOption = "Attach" + // Copy specifies the copy state for disk create option. + Copy DiskCreateOption = "Copy" + // Empty specifies the empty state for disk create option. + Empty DiskCreateOption = "Empty" + // FromImage specifies the from image state for disk create option. + FromImage DiskCreateOption = "FromImage" + // Import specifies the import state for disk create option. + Import DiskCreateOption = "Import" +) + // DiskCreateOptionTypes enumerates the values for disk create option types. type DiskCreateOptionTypes string const ( - // Attach specifies the attach state for disk create option types. - Attach DiskCreateOptionTypes = "attach" - // Empty specifies the empty state for disk create option types. - Empty DiskCreateOptionTypes = "empty" - // FromImage specifies the from image state for disk create option types. - FromImage DiskCreateOptionTypes = "fromImage" + // DiskCreateOptionTypesAttach specifies the disk create option types attach state for disk create option types. + DiskCreateOptionTypesAttach DiskCreateOptionTypes = "Attach" + // DiskCreateOptionTypesEmpty specifies the disk create option types empty state for disk create option types. + DiskCreateOptionTypesEmpty DiskCreateOptionTypes = "Empty" + // DiskCreateOptionTypesFromImage specifies the disk create option types from image state for disk create option types. + DiskCreateOptionTypesFromImage DiskCreateOptionTypes = "FromImage" ) // InstanceViewTypes enumerates the values for instance view types. @@ -66,16 +204,41 @@ const ( InstanceView InstanceViewTypes = "instanceView" ) -// OperatingSystemStateTypes enumerates the values for operating system state -// types. +// IPVersion enumerates the values for ip version. +type IPVersion string + +const ( + // IPv4 specifies the i pv 4 state for ip version. + IPv4 IPVersion = "IPv4" + // IPv6 specifies the i pv 6 state for ip version. + IPv6 IPVersion = "IPv6" +) + +// MaintenanceOperationResultCodeTypes enumerates the values for maintenance operation result code types. +type MaintenanceOperationResultCodeTypes string + +const ( + // MaintenanceOperationResultCodeTypesMaintenanceAborted specifies the maintenance operation result code types + // maintenance aborted state for maintenance operation result code types. + MaintenanceOperationResultCodeTypesMaintenanceAborted MaintenanceOperationResultCodeTypes = "MaintenanceAborted" + // MaintenanceOperationResultCodeTypesMaintenanceCompleted specifies the maintenance operation result code types + // maintenance completed state for maintenance operation result code types. + MaintenanceOperationResultCodeTypesMaintenanceCompleted MaintenanceOperationResultCodeTypes = "MaintenanceCompleted" + // MaintenanceOperationResultCodeTypesNone specifies the maintenance operation result code types none state for + // maintenance operation result code types. + MaintenanceOperationResultCodeTypesNone MaintenanceOperationResultCodeTypes = "None" + // MaintenanceOperationResultCodeTypesRetryLater specifies the maintenance operation result code types retry later + // state for maintenance operation result code types. + MaintenanceOperationResultCodeTypesRetryLater MaintenanceOperationResultCodeTypes = "RetryLater" +) + +// OperatingSystemStateTypes enumerates the values for operating system state types. type OperatingSystemStateTypes string const ( - // Generalized specifies the generalized state for operating system state - // types. + // Generalized specifies the generalized state for operating system state types. Generalized OperatingSystemStateTypes = "Generalized" - // Specialized specifies the specialized state for operating system state - // types. + // Specialized specifies the specialized state for operating system state types. Specialized OperatingSystemStateTypes = "Specialized" ) @@ -94,7 +257,7 @@ type PassNames string const ( // OobeSystem specifies the oobe system state for pass names. - OobeSystem PassNames = "oobeSystem" + OobeSystem PassNames = "OobeSystem" ) // ProtocolTypes enumerates the values for protocol types. @@ -111,19 +274,75 @@ const ( type ResourceIdentityType string const ( - // SystemAssigned specifies the system assigned state for resource identity - // type. + // SystemAssigned specifies the system assigned state for resource identity type. SystemAssigned ResourceIdentityType = "SystemAssigned" ) +// ResourceSkuCapacityScaleType enumerates the values for resource sku capacity scale type. +type ResourceSkuCapacityScaleType string + +const ( + // ResourceSkuCapacityScaleTypeAutomatic specifies the resource sku capacity scale type automatic state for resource + // sku capacity scale type. + ResourceSkuCapacityScaleTypeAutomatic ResourceSkuCapacityScaleType = "Automatic" + // ResourceSkuCapacityScaleTypeManual specifies the resource sku capacity scale type manual state for resource sku + // capacity scale type. + ResourceSkuCapacityScaleTypeManual ResourceSkuCapacityScaleType = "Manual" + // ResourceSkuCapacityScaleTypeNone specifies the resource sku capacity scale type none state for resource sku capacity + // scale type. + ResourceSkuCapacityScaleTypeNone ResourceSkuCapacityScaleType = "None" +) + +// ResourceSkuRestrictionsReasonCode enumerates the values for resource sku restrictions reason code. +type ResourceSkuRestrictionsReasonCode string + +const ( + // NotAvailableForSubscription specifies the not available for subscription state for resource sku restrictions reason + // code. + NotAvailableForSubscription ResourceSkuRestrictionsReasonCode = "NotAvailableForSubscription" + // QuotaID specifies the quota id state for resource sku restrictions reason code. + QuotaID ResourceSkuRestrictionsReasonCode = "QuotaId" +) + +// ResourceSkuRestrictionsType enumerates the values for resource sku restrictions type. +type ResourceSkuRestrictionsType string + +const ( + // Location specifies the location state for resource sku restrictions type. + Location ResourceSkuRestrictionsType = "Location" +) + +// RollingUpgradeActionType enumerates the values for rolling upgrade action type. +type RollingUpgradeActionType string + +const ( + // Cancel specifies the cancel state for rolling upgrade action type. + Cancel RollingUpgradeActionType = "Cancel" + // Start specifies the start state for rolling upgrade action type. + Start RollingUpgradeActionType = "Start" +) + +// RollingUpgradeStatusCode enumerates the values for rolling upgrade status code. +type RollingUpgradeStatusCode string + +const ( + // Cancelled specifies the cancelled state for rolling upgrade status code. + Cancelled RollingUpgradeStatusCode = "Cancelled" + // Completed specifies the completed state for rolling upgrade status code. + Completed RollingUpgradeStatusCode = "Completed" + // Faulted specifies the faulted state for rolling upgrade status code. + Faulted RollingUpgradeStatusCode = "Faulted" + // RollingForward specifies the rolling forward state for rolling upgrade status code. + RollingForward RollingUpgradeStatusCode = "RollingForward" +) + // SettingNames enumerates the values for setting names. type SettingNames string const ( // AutoLogon specifies the auto logon state for setting names. AutoLogon SettingNames = "AutoLogon" - // FirstLogonCommands specifies the first logon commands state for setting - // names. + // FirstLogonCommands specifies the first logon commands state for setting names. FirstLogonCommands SettingNames = "FirstLogonCommands" ) @@ -157,218 +376,338 @@ const ( Automatic UpgradeMode = "Automatic" // Manual specifies the manual state for upgrade mode. Manual UpgradeMode = "Manual" + // Rolling specifies the rolling state for upgrade mode. + Rolling UpgradeMode = "Rolling" ) -// VirtualMachineScaleSetSkuScaleType enumerates the values for virtual machine -// scale set sku scale type. +// VirtualMachineScaleSetSkuScaleType enumerates the values for virtual machine scale set sku scale type. type VirtualMachineScaleSetSkuScaleType string const ( - // VirtualMachineScaleSetSkuScaleTypeAutomatic specifies the virtual - // machine scale set sku scale type automatic state for virtual machine - // scale set sku scale type. + // VirtualMachineScaleSetSkuScaleTypeAutomatic specifies the virtual machine scale set sku scale type automatic state + // for virtual machine scale set sku scale type. VirtualMachineScaleSetSkuScaleTypeAutomatic VirtualMachineScaleSetSkuScaleType = "Automatic" - // VirtualMachineScaleSetSkuScaleTypeNone specifies the virtual machine - // scale set sku scale type none state for virtual machine scale set sku - // scale type. + // VirtualMachineScaleSetSkuScaleTypeNone specifies the virtual machine scale set sku scale type none state for virtual + // machine scale set sku scale type. VirtualMachineScaleSetSkuScaleTypeNone VirtualMachineScaleSetSkuScaleType = "None" ) -// VirtualMachineSizeTypes enumerates the values for virtual machine size -// types. +// VirtualMachineSizeTypes enumerates the values for virtual machine size types. type VirtualMachineSizeTypes string const ( - // BasicA0 specifies the basic a0 state for virtual machine size types. - BasicA0 VirtualMachineSizeTypes = "Basic_A0" - // BasicA1 specifies the basic a1 state for virtual machine size types. - BasicA1 VirtualMachineSizeTypes = "Basic_A1" - // BasicA2 specifies the basic a2 state for virtual machine size types. - BasicA2 VirtualMachineSizeTypes = "Basic_A2" - // BasicA3 specifies the basic a3 state for virtual machine size types. - BasicA3 VirtualMachineSizeTypes = "Basic_A3" - // BasicA4 specifies the basic a4 state for virtual machine size types. - BasicA4 VirtualMachineSizeTypes = "Basic_A4" - // StandardA0 specifies the standard a0 state for virtual machine size + // VirtualMachineSizeTypesBasicA0 specifies the virtual machine size types basic a0 state for virtual machine size // types. - StandardA0 VirtualMachineSizeTypes = "Standard_A0" - // StandardA1 specifies the standard a1 state for virtual machine size + VirtualMachineSizeTypesBasicA0 VirtualMachineSizeTypes = "Basic_A0" + // VirtualMachineSizeTypesBasicA1 specifies the virtual machine size types basic a1 state for virtual machine size // types. - StandardA1 VirtualMachineSizeTypes = "Standard_A1" - // StandardA10 specifies the standard a10 state for virtual machine size + VirtualMachineSizeTypesBasicA1 VirtualMachineSizeTypes = "Basic_A1" + // VirtualMachineSizeTypesBasicA2 specifies the virtual machine size types basic a2 state for virtual machine size // types. - StandardA10 VirtualMachineSizeTypes = "Standard_A10" - // StandardA11 specifies the standard a11 state for virtual machine size + VirtualMachineSizeTypesBasicA2 VirtualMachineSizeTypes = "Basic_A2" + // VirtualMachineSizeTypesBasicA3 specifies the virtual machine size types basic a3 state for virtual machine size // types. - StandardA11 VirtualMachineSizeTypes = "Standard_A11" - // StandardA2 specifies the standard a2 state for virtual machine size + VirtualMachineSizeTypesBasicA3 VirtualMachineSizeTypes = "Basic_A3" + // VirtualMachineSizeTypesBasicA4 specifies the virtual machine size types basic a4 state for virtual machine size // types. - StandardA2 VirtualMachineSizeTypes = "Standard_A2" - // StandardA3 specifies the standard a3 state for virtual machine size - // types. - StandardA3 VirtualMachineSizeTypes = "Standard_A3" - // StandardA4 specifies the standard a4 state for virtual machine size - // types. - StandardA4 VirtualMachineSizeTypes = "Standard_A4" - // StandardA5 specifies the standard a5 state for virtual machine size - // types. - StandardA5 VirtualMachineSizeTypes = "Standard_A5" - // StandardA6 specifies the standard a6 state for virtual machine size - // types. - StandardA6 VirtualMachineSizeTypes = "Standard_A6" - // StandardA7 specifies the standard a7 state for virtual machine size - // types. - StandardA7 VirtualMachineSizeTypes = "Standard_A7" - // StandardA8 specifies the standard a8 state for virtual machine size - // types. - StandardA8 VirtualMachineSizeTypes = "Standard_A8" - // StandardA9 specifies the standard a9 state for virtual machine size - // types. - StandardA9 VirtualMachineSizeTypes = "Standard_A9" - // StandardD1 specifies the standard d1 state for virtual machine size - // types. - StandardD1 VirtualMachineSizeTypes = "Standard_D1" - // StandardD11 specifies the standard d11 state for virtual machine size - // types. - StandardD11 VirtualMachineSizeTypes = "Standard_D11" - // StandardD11V2 specifies the standard d11v2 state for virtual machine + VirtualMachineSizeTypesBasicA4 VirtualMachineSizeTypes = "Basic_A4" + // VirtualMachineSizeTypesStandardA0 specifies the virtual machine size types standard a0 state for virtual machine // size types. - StandardD11V2 VirtualMachineSizeTypes = "Standard_D11_v2" - // StandardD12 specifies the standard d12 state for virtual machine size - // types. - StandardD12 VirtualMachineSizeTypes = "Standard_D12" - // StandardD12V2 specifies the standard d12v2 state for virtual machine + VirtualMachineSizeTypesStandardA0 VirtualMachineSizeTypes = "Standard_A0" + // VirtualMachineSizeTypesStandardA1 specifies the virtual machine size types standard a1 state for virtual machine // size types. - StandardD12V2 VirtualMachineSizeTypes = "Standard_D12_v2" - // StandardD13 specifies the standard d13 state for virtual machine size - // types. - StandardD13 VirtualMachineSizeTypes = "Standard_D13" - // StandardD13V2 specifies the standard d13v2 state for virtual machine + VirtualMachineSizeTypesStandardA1 VirtualMachineSizeTypes = "Standard_A1" + // VirtualMachineSizeTypesStandardA10 specifies the virtual machine size types standard a10 state for virtual machine // size types. - StandardD13V2 VirtualMachineSizeTypes = "Standard_D13_v2" - // StandardD14 specifies the standard d14 state for virtual machine size - // types. - StandardD14 VirtualMachineSizeTypes = "Standard_D14" - // StandardD14V2 specifies the standard d14v2 state for virtual machine + VirtualMachineSizeTypesStandardA10 VirtualMachineSizeTypes = "Standard_A10" + // VirtualMachineSizeTypesStandardA11 specifies the virtual machine size types standard a11 state for virtual machine // size types. - StandardD14V2 VirtualMachineSizeTypes = "Standard_D14_v2" - // StandardD15V2 specifies the standard d15v2 state for virtual machine + VirtualMachineSizeTypesStandardA11 VirtualMachineSizeTypes = "Standard_A11" + // VirtualMachineSizeTypesStandardA1V2 specifies the virtual machine size types standard a1v2 state for virtual machine // size types. - StandardD15V2 VirtualMachineSizeTypes = "Standard_D15_v2" - // StandardD1V2 specifies the standard d1v2 state for virtual machine size - // types. - StandardD1V2 VirtualMachineSizeTypes = "Standard_D1_v2" - // StandardD2 specifies the standard d2 state for virtual machine size - // types. - StandardD2 VirtualMachineSizeTypes = "Standard_D2" - // StandardD2V2 specifies the standard d2v2 state for virtual machine size - // types. - StandardD2V2 VirtualMachineSizeTypes = "Standard_D2_v2" - // StandardD3 specifies the standard d3 state for virtual machine size - // types. - StandardD3 VirtualMachineSizeTypes = "Standard_D3" - // StandardD3V2 specifies the standard d3v2 state for virtual machine size - // types. - StandardD3V2 VirtualMachineSizeTypes = "Standard_D3_v2" - // StandardD4 specifies the standard d4 state for virtual machine size - // types. - StandardD4 VirtualMachineSizeTypes = "Standard_D4" - // StandardD4V2 specifies the standard d4v2 state for virtual machine size - // types. - StandardD4V2 VirtualMachineSizeTypes = "Standard_D4_v2" - // StandardD5V2 specifies the standard d5v2 state for virtual machine size - // types. - StandardD5V2 VirtualMachineSizeTypes = "Standard_D5_v2" - // StandardDS1 specifies the standard ds1 state for virtual machine size - // types. - StandardDS1 VirtualMachineSizeTypes = "Standard_DS1" - // StandardDS11 specifies the standard ds11 state for virtual machine size - // types. - StandardDS11 VirtualMachineSizeTypes = "Standard_DS11" - // StandardDS11V2 specifies the standard ds11v2 state for virtual machine + VirtualMachineSizeTypesStandardA1V2 VirtualMachineSizeTypes = "Standard_A1_v2" + // VirtualMachineSizeTypesStandardA2 specifies the virtual machine size types standard a2 state for virtual machine // size types. - StandardDS11V2 VirtualMachineSizeTypes = "Standard_DS11_v2" - // StandardDS12 specifies the standard ds12 state for virtual machine size - // types. - StandardDS12 VirtualMachineSizeTypes = "Standard_DS12" - // StandardDS12V2 specifies the standard ds12v2 state for virtual machine + VirtualMachineSizeTypesStandardA2 VirtualMachineSizeTypes = "Standard_A2" + // VirtualMachineSizeTypesStandardA2mV2 specifies the virtual machine size types standard a2mv2 state for virtual + // machine size types. + VirtualMachineSizeTypesStandardA2mV2 VirtualMachineSizeTypes = "Standard_A2m_v2" + // VirtualMachineSizeTypesStandardA2V2 specifies the virtual machine size types standard a2v2 state for virtual machine // size types. - StandardDS12V2 VirtualMachineSizeTypes = "Standard_DS12_v2" - // StandardDS13 specifies the standard ds13 state for virtual machine size - // types. - StandardDS13 VirtualMachineSizeTypes = "Standard_DS13" - // StandardDS13V2 specifies the standard ds13v2 state for virtual machine + VirtualMachineSizeTypesStandardA2V2 VirtualMachineSizeTypes = "Standard_A2_v2" + // VirtualMachineSizeTypesStandardA3 specifies the virtual machine size types standard a3 state for virtual machine // size types. - StandardDS13V2 VirtualMachineSizeTypes = "Standard_DS13_v2" - // StandardDS14 specifies the standard ds14 state for virtual machine size - // types. - StandardDS14 VirtualMachineSizeTypes = "Standard_DS14" - // StandardDS14V2 specifies the standard ds14v2 state for virtual machine + VirtualMachineSizeTypesStandardA3 VirtualMachineSizeTypes = "Standard_A3" + // VirtualMachineSizeTypesStandardA4 specifies the virtual machine size types standard a4 state for virtual machine // size types. - StandardDS14V2 VirtualMachineSizeTypes = "Standard_DS14_v2" - // StandardDS15V2 specifies the standard ds15v2 state for virtual machine + VirtualMachineSizeTypesStandardA4 VirtualMachineSizeTypes = "Standard_A4" + // VirtualMachineSizeTypesStandardA4mV2 specifies the virtual machine size types standard a4mv2 state for virtual + // machine size types. + VirtualMachineSizeTypesStandardA4mV2 VirtualMachineSizeTypes = "Standard_A4m_v2" + // VirtualMachineSizeTypesStandardA4V2 specifies the virtual machine size types standard a4v2 state for virtual machine // size types. - StandardDS15V2 VirtualMachineSizeTypes = "Standard_DS15_v2" - // StandardDS1V2 specifies the standard ds1v2 state for virtual machine + VirtualMachineSizeTypesStandardA4V2 VirtualMachineSizeTypes = "Standard_A4_v2" + // VirtualMachineSizeTypesStandardA5 specifies the virtual machine size types standard a5 state for virtual machine // size types. - StandardDS1V2 VirtualMachineSizeTypes = "Standard_DS1_v2" - // StandardDS2 specifies the standard ds2 state for virtual machine size - // types. - StandardDS2 VirtualMachineSizeTypes = "Standard_DS2" - // StandardDS2V2 specifies the standard ds2v2 state for virtual machine + VirtualMachineSizeTypesStandardA5 VirtualMachineSizeTypes = "Standard_A5" + // VirtualMachineSizeTypesStandardA6 specifies the virtual machine size types standard a6 state for virtual machine // size types. - StandardDS2V2 VirtualMachineSizeTypes = "Standard_DS2_v2" - // StandardDS3 specifies the standard ds3 state for virtual machine size - // types. - StandardDS3 VirtualMachineSizeTypes = "Standard_DS3" - // StandardDS3V2 specifies the standard ds3v2 state for virtual machine + VirtualMachineSizeTypesStandardA6 VirtualMachineSizeTypes = "Standard_A6" + // VirtualMachineSizeTypesStandardA7 specifies the virtual machine size types standard a7 state for virtual machine // size types. - StandardDS3V2 VirtualMachineSizeTypes = "Standard_DS3_v2" - // StandardDS4 specifies the standard ds4 state for virtual machine size - // types. - StandardDS4 VirtualMachineSizeTypes = "Standard_DS4" - // StandardDS4V2 specifies the standard ds4v2 state for virtual machine + VirtualMachineSizeTypesStandardA7 VirtualMachineSizeTypes = "Standard_A7" + // VirtualMachineSizeTypesStandardA8 specifies the virtual machine size types standard a8 state for virtual machine // size types. - StandardDS4V2 VirtualMachineSizeTypes = "Standard_DS4_v2" - // StandardDS5V2 specifies the standard ds5v2 state for virtual machine + VirtualMachineSizeTypesStandardA8 VirtualMachineSizeTypes = "Standard_A8" + // VirtualMachineSizeTypesStandardA8mV2 specifies the virtual machine size types standard a8mv2 state for virtual + // machine size types. + VirtualMachineSizeTypesStandardA8mV2 VirtualMachineSizeTypes = "Standard_A8m_v2" + // VirtualMachineSizeTypesStandardA8V2 specifies the virtual machine size types standard a8v2 state for virtual machine // size types. - StandardDS5V2 VirtualMachineSizeTypes = "Standard_DS5_v2" - // StandardG1 specifies the standard g1 state for virtual machine size - // types. - StandardG1 VirtualMachineSizeTypes = "Standard_G1" - // StandardG2 specifies the standard g2 state for virtual machine size - // types. - StandardG2 VirtualMachineSizeTypes = "Standard_G2" - // StandardG3 specifies the standard g3 state for virtual machine size - // types. - StandardG3 VirtualMachineSizeTypes = "Standard_G3" - // StandardG4 specifies the standard g4 state for virtual machine size - // types. - StandardG4 VirtualMachineSizeTypes = "Standard_G4" - // StandardG5 specifies the standard g5 state for virtual machine size - // types. - StandardG5 VirtualMachineSizeTypes = "Standard_G5" - // StandardGS1 specifies the standard gs1 state for virtual machine size - // types. - StandardGS1 VirtualMachineSizeTypes = "Standard_GS1" - // StandardGS2 specifies the standard gs2 state for virtual machine size - // types. - StandardGS2 VirtualMachineSizeTypes = "Standard_GS2" - // StandardGS3 specifies the standard gs3 state for virtual machine size - // types. - StandardGS3 VirtualMachineSizeTypes = "Standard_GS3" - // StandardGS4 specifies the standard gs4 state for virtual machine size - // types. - StandardGS4 VirtualMachineSizeTypes = "Standard_GS4" - // StandardGS5 specifies the standard gs5 state for virtual machine size - // types. - StandardGS5 VirtualMachineSizeTypes = "Standard_GS5" + VirtualMachineSizeTypesStandardA8V2 VirtualMachineSizeTypes = "Standard_A8_v2" + // VirtualMachineSizeTypesStandardA9 specifies the virtual machine size types standard a9 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardA9 VirtualMachineSizeTypes = "Standard_A9" + // VirtualMachineSizeTypesStandardD1 specifies the virtual machine size types standard d1 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardD1 VirtualMachineSizeTypes = "Standard_D1" + // VirtualMachineSizeTypesStandardD11 specifies the virtual machine size types standard d11 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardD11 VirtualMachineSizeTypes = "Standard_D11" + // VirtualMachineSizeTypesStandardD11V2 specifies the virtual machine size types standard d11v2 state for virtual + // machine size types. + VirtualMachineSizeTypesStandardD11V2 VirtualMachineSizeTypes = "Standard_D11_v2" + // VirtualMachineSizeTypesStandardD12 specifies the virtual machine size types standard d12 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardD12 VirtualMachineSizeTypes = "Standard_D12" + // VirtualMachineSizeTypesStandardD12V2 specifies the virtual machine size types standard d12v2 state for virtual + // machine size types. + VirtualMachineSizeTypesStandardD12V2 VirtualMachineSizeTypes = "Standard_D12_v2" + // VirtualMachineSizeTypesStandardD13 specifies the virtual machine size types standard d13 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardD13 VirtualMachineSizeTypes = "Standard_D13" + // VirtualMachineSizeTypesStandardD13V2 specifies the virtual machine size types standard d13v2 state for virtual + // machine size types. + VirtualMachineSizeTypesStandardD13V2 VirtualMachineSizeTypes = "Standard_D13_v2" + // VirtualMachineSizeTypesStandardD14 specifies the virtual machine size types standard d14 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardD14 VirtualMachineSizeTypes = "Standard_D14" + // VirtualMachineSizeTypesStandardD14V2 specifies the virtual machine size types standard d14v2 state for virtual + // machine size types. + VirtualMachineSizeTypesStandardD14V2 VirtualMachineSizeTypes = "Standard_D14_v2" + // VirtualMachineSizeTypesStandardD15V2 specifies the virtual machine size types standard d15v2 state for virtual + // machine size types. + VirtualMachineSizeTypesStandardD15V2 VirtualMachineSizeTypes = "Standard_D15_v2" + // VirtualMachineSizeTypesStandardD1V2 specifies the virtual machine size types standard d1v2 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardD1V2 VirtualMachineSizeTypes = "Standard_D1_v2" + // VirtualMachineSizeTypesStandardD2 specifies the virtual machine size types standard d2 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardD2 VirtualMachineSizeTypes = "Standard_D2" + // VirtualMachineSizeTypesStandardD2V2 specifies the virtual machine size types standard d2v2 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardD2V2 VirtualMachineSizeTypes = "Standard_D2_v2" + // VirtualMachineSizeTypesStandardD3 specifies the virtual machine size types standard d3 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardD3 VirtualMachineSizeTypes = "Standard_D3" + // VirtualMachineSizeTypesStandardD3V2 specifies the virtual machine size types standard d3v2 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardD3V2 VirtualMachineSizeTypes = "Standard_D3_v2" + // VirtualMachineSizeTypesStandardD4 specifies the virtual machine size types standard d4 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardD4 VirtualMachineSizeTypes = "Standard_D4" + // VirtualMachineSizeTypesStandardD4V2 specifies the virtual machine size types standard d4v2 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardD4V2 VirtualMachineSizeTypes = "Standard_D4_v2" + // VirtualMachineSizeTypesStandardD5V2 specifies the virtual machine size types standard d5v2 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardD5V2 VirtualMachineSizeTypes = "Standard_D5_v2" + // VirtualMachineSizeTypesStandardDS1 specifies the virtual machine size types standard ds1 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardDS1 VirtualMachineSizeTypes = "Standard_DS1" + // VirtualMachineSizeTypesStandardDS11 specifies the virtual machine size types standard ds11 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardDS11 VirtualMachineSizeTypes = "Standard_DS11" + // VirtualMachineSizeTypesStandardDS11V2 specifies the virtual machine size types standard ds11v2 state for virtual + // machine size types. + VirtualMachineSizeTypesStandardDS11V2 VirtualMachineSizeTypes = "Standard_DS11_v2" + // VirtualMachineSizeTypesStandardDS12 specifies the virtual machine size types standard ds12 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardDS12 VirtualMachineSizeTypes = "Standard_DS12" + // VirtualMachineSizeTypesStandardDS12V2 specifies the virtual machine size types standard ds12v2 state for virtual + // machine size types. + VirtualMachineSizeTypesStandardDS12V2 VirtualMachineSizeTypes = "Standard_DS12_v2" + // VirtualMachineSizeTypesStandardDS13 specifies the virtual machine size types standard ds13 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardDS13 VirtualMachineSizeTypes = "Standard_DS13" + // VirtualMachineSizeTypesStandardDS13V2 specifies the virtual machine size types standard ds13v2 state for virtual + // machine size types. + VirtualMachineSizeTypesStandardDS13V2 VirtualMachineSizeTypes = "Standard_DS13_v2" + // VirtualMachineSizeTypesStandardDS14 specifies the virtual machine size types standard ds14 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardDS14 VirtualMachineSizeTypes = "Standard_DS14" + // VirtualMachineSizeTypesStandardDS14V2 specifies the virtual machine size types standard ds14v2 state for virtual + // machine size types. + VirtualMachineSizeTypesStandardDS14V2 VirtualMachineSizeTypes = "Standard_DS14_v2" + // VirtualMachineSizeTypesStandardDS15V2 specifies the virtual machine size types standard ds15v2 state for virtual + // machine size types. + VirtualMachineSizeTypesStandardDS15V2 VirtualMachineSizeTypes = "Standard_DS15_v2" + // VirtualMachineSizeTypesStandardDS1V2 specifies the virtual machine size types standard ds1v2 state for virtual + // machine size types. + VirtualMachineSizeTypesStandardDS1V2 VirtualMachineSizeTypes = "Standard_DS1_v2" + // VirtualMachineSizeTypesStandardDS2 specifies the virtual machine size types standard ds2 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardDS2 VirtualMachineSizeTypes = "Standard_DS2" + // VirtualMachineSizeTypesStandardDS2V2 specifies the virtual machine size types standard ds2v2 state for virtual + // machine size types. + VirtualMachineSizeTypesStandardDS2V2 VirtualMachineSizeTypes = "Standard_DS2_v2" + // VirtualMachineSizeTypesStandardDS3 specifies the virtual machine size types standard ds3 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardDS3 VirtualMachineSizeTypes = "Standard_DS3" + // VirtualMachineSizeTypesStandardDS3V2 specifies the virtual machine size types standard ds3v2 state for virtual + // machine size types. + VirtualMachineSizeTypesStandardDS3V2 VirtualMachineSizeTypes = "Standard_DS3_v2" + // VirtualMachineSizeTypesStandardDS4 specifies the virtual machine size types standard ds4 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardDS4 VirtualMachineSizeTypes = "Standard_DS4" + // VirtualMachineSizeTypesStandardDS4V2 specifies the virtual machine size types standard ds4v2 state for virtual + // machine size types. + VirtualMachineSizeTypesStandardDS4V2 VirtualMachineSizeTypes = "Standard_DS4_v2" + // VirtualMachineSizeTypesStandardDS5V2 specifies the virtual machine size types standard ds5v2 state for virtual + // machine size types. + VirtualMachineSizeTypesStandardDS5V2 VirtualMachineSizeTypes = "Standard_DS5_v2" + // VirtualMachineSizeTypesStandardF1 specifies the virtual machine size types standard f1 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardF1 VirtualMachineSizeTypes = "Standard_F1" + // VirtualMachineSizeTypesStandardF16 specifies the virtual machine size types standard f16 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardF16 VirtualMachineSizeTypes = "Standard_F16" + // VirtualMachineSizeTypesStandardF16s specifies the virtual machine size types standard f16s state for virtual machine + // size types. + VirtualMachineSizeTypesStandardF16s VirtualMachineSizeTypes = "Standard_F16s" + // VirtualMachineSizeTypesStandardF1s specifies the virtual machine size types standard f1s state for virtual machine + // size types. + VirtualMachineSizeTypesStandardF1s VirtualMachineSizeTypes = "Standard_F1s" + // VirtualMachineSizeTypesStandardF2 specifies the virtual machine size types standard f2 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardF2 VirtualMachineSizeTypes = "Standard_F2" + // VirtualMachineSizeTypesStandardF2s specifies the virtual machine size types standard f2s state for virtual machine + // size types. + VirtualMachineSizeTypesStandardF2s VirtualMachineSizeTypes = "Standard_F2s" + // VirtualMachineSizeTypesStandardF4 specifies the virtual machine size types standard f4 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardF4 VirtualMachineSizeTypes = "Standard_F4" + // VirtualMachineSizeTypesStandardF4s specifies the virtual machine size types standard f4s state for virtual machine + // size types. + VirtualMachineSizeTypesStandardF4s VirtualMachineSizeTypes = "Standard_F4s" + // VirtualMachineSizeTypesStandardF8 specifies the virtual machine size types standard f8 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardF8 VirtualMachineSizeTypes = "Standard_F8" + // VirtualMachineSizeTypesStandardF8s specifies the virtual machine size types standard f8s state for virtual machine + // size types. + VirtualMachineSizeTypesStandardF8s VirtualMachineSizeTypes = "Standard_F8s" + // VirtualMachineSizeTypesStandardG1 specifies the virtual machine size types standard g1 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardG1 VirtualMachineSizeTypes = "Standard_G1" + // VirtualMachineSizeTypesStandardG2 specifies the virtual machine size types standard g2 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardG2 VirtualMachineSizeTypes = "Standard_G2" + // VirtualMachineSizeTypesStandardG3 specifies the virtual machine size types standard g3 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardG3 VirtualMachineSizeTypes = "Standard_G3" + // VirtualMachineSizeTypesStandardG4 specifies the virtual machine size types standard g4 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardG4 VirtualMachineSizeTypes = "Standard_G4" + // VirtualMachineSizeTypesStandardG5 specifies the virtual machine size types standard g5 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardG5 VirtualMachineSizeTypes = "Standard_G5" + // VirtualMachineSizeTypesStandardGS1 specifies the virtual machine size types standard gs1 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardGS1 VirtualMachineSizeTypes = "Standard_GS1" + // VirtualMachineSizeTypesStandardGS2 specifies the virtual machine size types standard gs2 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardGS2 VirtualMachineSizeTypes = "Standard_GS2" + // VirtualMachineSizeTypesStandardGS3 specifies the virtual machine size types standard gs3 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardGS3 VirtualMachineSizeTypes = "Standard_GS3" + // VirtualMachineSizeTypesStandardGS4 specifies the virtual machine size types standard gs4 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardGS4 VirtualMachineSizeTypes = "Standard_GS4" + // VirtualMachineSizeTypesStandardGS5 specifies the virtual machine size types standard gs5 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardGS5 VirtualMachineSizeTypes = "Standard_GS5" + // VirtualMachineSizeTypesStandardH16 specifies the virtual machine size types standard h16 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardH16 VirtualMachineSizeTypes = "Standard_H16" + // VirtualMachineSizeTypesStandardH16m specifies the virtual machine size types standard h16m state for virtual machine + // size types. + VirtualMachineSizeTypesStandardH16m VirtualMachineSizeTypes = "Standard_H16m" + // VirtualMachineSizeTypesStandardH16mr specifies the virtual machine size types standard h16mr state for virtual + // machine size types. + VirtualMachineSizeTypesStandardH16mr VirtualMachineSizeTypes = "Standard_H16mr" + // VirtualMachineSizeTypesStandardH16r specifies the virtual machine size types standard h16r state for virtual machine + // size types. + VirtualMachineSizeTypesStandardH16r VirtualMachineSizeTypes = "Standard_H16r" + // VirtualMachineSizeTypesStandardH8 specifies the virtual machine size types standard h8 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardH8 VirtualMachineSizeTypes = "Standard_H8" + // VirtualMachineSizeTypesStandardH8m specifies the virtual machine size types standard h8m state for virtual machine + // size types. + VirtualMachineSizeTypesStandardH8m VirtualMachineSizeTypes = "Standard_H8m" + // VirtualMachineSizeTypesStandardL16s specifies the virtual machine size types standard l16s state for virtual machine + // size types. + VirtualMachineSizeTypesStandardL16s VirtualMachineSizeTypes = "Standard_L16s" + // VirtualMachineSizeTypesStandardL32s specifies the virtual machine size types standard l32s state for virtual machine + // size types. + VirtualMachineSizeTypesStandardL32s VirtualMachineSizeTypes = "Standard_L32s" + // VirtualMachineSizeTypesStandardL4s specifies the virtual machine size types standard l4s state for virtual machine + // size types. + VirtualMachineSizeTypesStandardL4s VirtualMachineSizeTypes = "Standard_L4s" + // VirtualMachineSizeTypesStandardL8s specifies the virtual machine size types standard l8s state for virtual machine + // size types. + VirtualMachineSizeTypesStandardL8s VirtualMachineSizeTypes = "Standard_L8s" + // VirtualMachineSizeTypesStandardNC12 specifies the virtual machine size types standard nc12 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardNC12 VirtualMachineSizeTypes = "Standard_NC12" + // VirtualMachineSizeTypesStandardNC24 specifies the virtual machine size types standard nc24 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardNC24 VirtualMachineSizeTypes = "Standard_NC24" + // VirtualMachineSizeTypesStandardNC24r specifies the virtual machine size types standard nc24r state for virtual + // machine size types. + VirtualMachineSizeTypesStandardNC24r VirtualMachineSizeTypes = "Standard_NC24r" + // VirtualMachineSizeTypesStandardNC6 specifies the virtual machine size types standard nc6 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardNC6 VirtualMachineSizeTypes = "Standard_NC6" + // VirtualMachineSizeTypesStandardNV12 specifies the virtual machine size types standard nv12 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardNV12 VirtualMachineSizeTypes = "Standard_NV12" + // VirtualMachineSizeTypesStandardNV24 specifies the virtual machine size types standard nv24 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardNV24 VirtualMachineSizeTypes = "Standard_NV24" + // VirtualMachineSizeTypesStandardNV6 specifies the virtual machine size types standard nv6 state for virtual machine + // size types. + VirtualMachineSizeTypesStandardNV6 VirtualMachineSizeTypes = "Standard_NV6" ) -// AdditionalUnattendContent is additional XML formatted information that can -// be included in the Unattend.xml file, which is used by Windows Setup. -// Contents are defined by setting name, component name, and the pass in which -// the content is a applied. +// AccessURI is a disk access SAS uri. +type AccessURI struct { + autorest.Response `json:"-"` + *AccessURIOutput `json:"properties,omitempty"` +} + +// AccessURIOutput is azure properties, including output. +type AccessURIOutput struct { + *AccessURIRaw `json:"output,omitempty"` +} + +// AccessURIRaw is this object gets 'bubbled up' through flattening. +type AccessURIRaw struct { + AccessSAS *string `json:"accessSAS,omitempty"` +} + +// AdditionalUnattendContent is specifies additional XML formatted information that can be included in the Unattend.xml +// file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which +// the content is applied. type AdditionalUnattendContent struct { PassName PassNames `json:"passName,omitempty"` ComponentName ComponentNames `json:"componentName,omitempty"` @@ -397,7 +736,14 @@ type APIErrorBase struct { Message *string `json:"message,omitempty"` } -// AvailabilitySet is create or update availability set parameters. +// AvailabilitySet is specifies information about the availability set that the virtual machine should be assigned to. +// Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. +// For more information about availability sets, see [Manage the availability of virtual +// machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). +//

For more information on Azure planned maintainance, see [Planned maintenance for virtual machines in +// Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json) +//

Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to +// an availability set. type AvailabilitySet struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -421,22 +767,141 @@ type AvailabilitySetProperties struct { PlatformFaultDomainCount *int32 `json:"platformFaultDomainCount,omitempty"` VirtualMachines *[]SubResource `json:"virtualMachines,omitempty"` Statuses *[]InstanceViewStatus `json:"statuses,omitempty"` - Managed *bool `json:"managed,omitempty"` } -// BootDiagnostics is describes Boot Diagnostics. +// BootDiagnostics is boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to +// diagnose VM status.

For Linux Virtual Machines, you can easily view the output of your console log. +//

For both Windows and Linux virtual machines, Azure also enables you to see a screenshot of the VM from the +// hypervisor. type BootDiagnostics struct { Enabled *bool `json:"enabled,omitempty"` StorageURI *string `json:"storageUri,omitempty"` } -// BootDiagnosticsInstanceView is the instance view of a virtual machine boot -// diagnostics. +// BootDiagnosticsInstanceView is the instance view of a virtual machine boot diagnostics. type BootDiagnosticsInstanceView struct { ConsoleScreenshotBlobURI *string `json:"consoleScreenshotBlobUri,omitempty"` SerialConsoleLogBlobURI *string `json:"serialConsoleLogBlobUri,omitempty"` } +// ContainerService is container service. +type ContainerService struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + *ContainerServiceProperties `json:"properties,omitempty"` +} + +// ContainerServiceAgentPoolProfile is profile for the container service agent pool. +type ContainerServiceAgentPoolProfile struct { + Name *string `json:"name,omitempty"` + Count *int32 `json:"count,omitempty"` + VMSize ContainerServiceVMSizeTypes `json:"vmSize,omitempty"` + DNSPrefix *string `json:"dnsPrefix,omitempty"` + Fqdn *string `json:"fqdn,omitempty"` +} + +// ContainerServiceCustomProfile is properties to configure a custom container service cluster. +type ContainerServiceCustomProfile struct { + Orchestrator *string `json:"orchestrator,omitempty"` +} + +// ContainerServiceDiagnosticsProfile is +type ContainerServiceDiagnosticsProfile struct { + VMDiagnostics *ContainerServiceVMDiagnostics `json:"vmDiagnostics,omitempty"` +} + +// ContainerServiceLinuxProfile is profile for Linux VMs in the container service cluster. +type ContainerServiceLinuxProfile struct { + AdminUsername *string `json:"adminUsername,omitempty"` + SSH *ContainerServiceSSHConfiguration `json:"ssh,omitempty"` +} + +// ContainerServiceListResult is the response from the List Container Services operation. +type ContainerServiceListResult struct { + autorest.Response `json:"-"` + Value *[]ContainerService `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// ContainerServiceListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client ContainerServiceListResult) ContainerServiceListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// ContainerServiceMasterProfile is profile for the container service master. +type ContainerServiceMasterProfile struct { + Count *int32 `json:"count,omitempty"` + DNSPrefix *string `json:"dnsPrefix,omitempty"` + Fqdn *string `json:"fqdn,omitempty"` +} + +// ContainerServiceOrchestratorProfile is profile for the container service orchestrator. +type ContainerServiceOrchestratorProfile struct { + OrchestratorType ContainerServiceOrchestratorTypes `json:"orchestratorType,omitempty"` +} + +// ContainerServiceProperties is properties of the container service. +type ContainerServiceProperties struct { + ProvisioningState *string `json:"provisioningState,omitempty"` + OrchestratorProfile *ContainerServiceOrchestratorProfile `json:"orchestratorProfile,omitempty"` + CustomProfile *ContainerServiceCustomProfile `json:"customProfile,omitempty"` + ServicePrincipalProfile *ContainerServiceServicePrincipalProfile `json:"servicePrincipalProfile,omitempty"` + MasterProfile *ContainerServiceMasterProfile `json:"masterProfile,omitempty"` + AgentPoolProfiles *[]ContainerServiceAgentPoolProfile `json:"agentPoolProfiles,omitempty"` + WindowsProfile *ContainerServiceWindowsProfile `json:"windowsProfile,omitempty"` + LinuxProfile *ContainerServiceLinuxProfile `json:"linuxProfile,omitempty"` + DiagnosticsProfile *ContainerServiceDiagnosticsProfile `json:"diagnosticsProfile,omitempty"` +} + +// ContainerServiceServicePrincipalProfile is information about a service principal identity for the cluster to use for +// manipulating Azure APIs. +type ContainerServiceServicePrincipalProfile struct { + ClientID *string `json:"clientId,omitempty"` + Secret *string `json:"secret,omitempty"` +} + +// ContainerServiceSSHConfiguration is SSH configuration for Linux-based VMs running on Azure. +type ContainerServiceSSHConfiguration struct { + PublicKeys *[]ContainerServiceSSHPublicKey `json:"publicKeys,omitempty"` +} + +// ContainerServiceSSHPublicKey is contains information about SSH certificate public key data. +type ContainerServiceSSHPublicKey struct { + KeyData *string `json:"keyData,omitempty"` +} + +// ContainerServiceVMDiagnostics is profile for diagnostics on the container service VMs. +type ContainerServiceVMDiagnostics struct { + Enabled *bool `json:"enabled,omitempty"` + StorageURI *string `json:"storageUri,omitempty"` +} + +// ContainerServiceWindowsProfile is profile for Windows VMs in the container service cluster. +type ContainerServiceWindowsProfile struct { + AdminUsername *string `json:"adminUsername,omitempty"` + AdminPassword *string `json:"adminPassword,omitempty"` +} + +// CreationData is data used when creating a disk. +type CreationData struct { + CreateOption DiskCreateOption `json:"createOption,omitempty"` + StorageAccountID *string `json:"storageAccountId,omitempty"` + ImageReference *ImageDiskReference `json:"imageReference,omitempty"` + SourceURI *string `json:"sourceUri,omitempty"` + SourceResourceID *string `json:"sourceResourceId,omitempty"` +} + // DataDisk is describes a data disk. type DataDisk struct { Lun *int32 `json:"lun,omitempty"` @@ -454,11 +919,25 @@ type DataDiskImage struct { Lun *int32 `json:"lun,omitempty"` } -// DiagnosticsProfile is describes a diagnostics profile. +// DiagnosticsProfile is specifies the boot diagnostic settings state.

Minimum api-version: 2015-06-15. type DiagnosticsProfile struct { BootDiagnostics *BootDiagnostics `json:"bootDiagnostics,omitempty"` } +// Disk is disk resource. +type Disk struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + ManagedBy *string `json:"managedBy,omitempty"` + Sku *DiskSku `json:"sku,omitempty"` + Zones *[]string `json:"zones,omitempty"` + *DiskProperties `json:"properties,omitempty"` +} + // DiskEncryptionSettings is describes a Encryption Settings for a Disk type DiskEncryptionSettings struct { DiskEncryptionKey *KeyVaultSecretReference `json:"diskEncryptionKey,omitempty"` @@ -468,16 +947,80 @@ type DiskEncryptionSettings struct { // DiskInstanceView is the instance view of the disk. type DiskInstanceView struct { - Name *string `json:"name,omitempty"` - Statuses *[]InstanceViewStatus `json:"statuses,omitempty"` + Name *string `json:"name,omitempty"` + EncryptionSettings *[]DiskEncryptionSettings `json:"encryptionSettings,omitempty"` + Statuses *[]InstanceViewStatus `json:"statuses,omitempty"` } -// HardwareProfile is describes a hardware profile. +// DiskList is the List Disks operation response. +type DiskList struct { + autorest.Response `json:"-"` + Value *[]Disk `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// DiskListPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client DiskList) DiskListPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// DiskProperties is disk resource properties. +type DiskProperties struct { + TimeCreated *date.Time `json:"timeCreated,omitempty"` + OsType OperatingSystemTypes `json:"osType,omitempty"` + CreationData *CreationData `json:"creationData,omitempty"` + DiskSizeGB *int32 `json:"diskSizeGB,omitempty"` + EncryptionSettings *EncryptionSettings `json:"encryptionSettings,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` +} + +// DiskSku is the disks and snapshots sku name. Can be Standard_LRS or Premium_LRS. +type DiskSku struct { + Name StorageAccountTypes `json:"name,omitempty"` + Tier *string `json:"tier,omitempty"` +} + +// DiskUpdate is disk update resource. +type DiskUpdate struct { + Tags *map[string]*string `json:"tags,omitempty"` + Sku *DiskSku `json:"sku,omitempty"` + *DiskUpdateProperties `json:"properties,omitempty"` +} + +// DiskUpdateProperties is disk resource update properties. +type DiskUpdateProperties struct { + OsType OperatingSystemTypes `json:"osType,omitempty"` + DiskSizeGB *int32 `json:"diskSizeGB,omitempty"` + EncryptionSettings *EncryptionSettings `json:"encryptionSettings,omitempty"` +} + +// EncryptionSettings is encryption settings for disk or snapshot +type EncryptionSettings struct { + Enabled *bool `json:"enabled,omitempty"` + DiskEncryptionKey *KeyVaultAndSecretReference `json:"diskEncryptionKey,omitempty"` + KeyEncryptionKey *KeyVaultAndKeyReference `json:"keyEncryptionKey,omitempty"` +} + +// GrantAccessData is data used for requesting a SAS. +type GrantAccessData struct { + Access AccessLevel `json:"access,omitempty"` + DurationInSeconds *int32 `json:"durationInSeconds,omitempty"` +} + +// HardwareProfile is specifies the hardware settings for the virtual machine. type HardwareProfile struct { VMSize VirtualMachineSizeTypes `json:"vmSize,omitempty"` } -// Image is describes an Image. +// Image is the source user image virtual hard disk. The virtual hard disk will be copied before being attached to the +// virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist. type Image struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -490,12 +1033,19 @@ type Image struct { // ImageDataDisk is describes a data disk. type ImageDataDisk struct { - Lun *int32 `json:"lun,omitempty"` - Snapshot *SubResource `json:"snapshot,omitempty"` - ManagedDisk *SubResource `json:"managedDisk,omitempty"` - BlobURI *string `json:"blobUri,omitempty"` - Caching CachingTypes `json:"caching,omitempty"` - DiskSizeGB *int32 `json:"diskSizeGB,omitempty"` + Lun *int32 `json:"lun,omitempty"` + Snapshot *SubResource `json:"snapshot,omitempty"` + ManagedDisk *SubResource `json:"managedDisk,omitempty"` + BlobURI *string `json:"blobUri,omitempty"` + Caching CachingTypes `json:"caching,omitempty"` + DiskSizeGB *int32 `json:"diskSizeGB,omitempty"` + StorageAccountType StorageAccountTypes `json:"storageAccountType,omitempty"` +} + +// ImageDiskReference is the source image used for creating the disk. +type ImageDiskReference struct { + ID *string `json:"id,omitempty"` + Lun *int32 `json:"lun,omitempty"` } // ImageListResult is the List Image operation response. @@ -519,13 +1069,14 @@ func (client ImageListResult) ImageListResultPreparer() (*http.Request, error) { // ImageOSDisk is describes an Operating System disk. type ImageOSDisk struct { - OsType OperatingSystemTypes `json:"osType,omitempty"` - OsState OperatingSystemStateTypes `json:"osState,omitempty"` - Snapshot *SubResource `json:"snapshot,omitempty"` - ManagedDisk *SubResource `json:"managedDisk,omitempty"` - BlobURI *string `json:"blobUri,omitempty"` - Caching CachingTypes `json:"caching,omitempty"` - DiskSizeGB *int32 `json:"diskSizeGB,omitempty"` + OsType OperatingSystemTypes `json:"osType,omitempty"` + OsState OperatingSystemStateTypes `json:"osState,omitempty"` + Snapshot *SubResource `json:"snapshot,omitempty"` + ManagedDisk *SubResource `json:"managedDisk,omitempty"` + BlobURI *string `json:"blobUri,omitempty"` + Caching CachingTypes `json:"caching,omitempty"` + DiskSizeGB *int32 `json:"diskSizeGB,omitempty"` + StorageAccountType StorageAccountTypes `json:"storageAccountType,omitempty"` } // ImageProperties is describes the properties of an Image. @@ -535,7 +1086,9 @@ type ImageProperties struct { ProvisioningState *string `json:"provisioningState,omitempty"` } -// ImageReference is the image reference. +// ImageReference is specifies information about the image to use. You can specify information about platform images, +// marketplace images, or virtual machine images. This element is required when you want to use a platform image, +// marketplace image, or virtual machine image, but is not used in other creation operations. type ImageReference struct { ID *string `json:"id,omitempty"` Publisher *string `json:"publisher,omitempty"` @@ -565,6 +1118,19 @@ type InstanceViewStatus struct { Time *date.Time `json:"time,omitempty"` } +// KeyVaultAndKeyReference is key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to +// unwrap the encryptionKey +type KeyVaultAndKeyReference struct { + SourceVault *SourceVault `json:"sourceVault,omitempty"` + KeyURL *string `json:"keyUrl,omitempty"` +} + +// KeyVaultAndSecretReference is key Vault Secret Url and vault id of the encryption key +type KeyVaultAndSecretReference struct { + SourceVault *SourceVault `json:"sourceVault,omitempty"` + SecretURL *string `json:"secretUrl,omitempty"` +} + // KeyVaultKeyReference is describes a reference to Key Vault Key type KeyVaultKeyReference struct { KeyURL *string `json:"keyUrl,omitempty"` @@ -577,7 +1143,11 @@ type KeyVaultSecretReference struct { SourceVault *SubResource `json:"sourceVault,omitempty"` } -// LinuxConfiguration is describes Windows configuration of the OS Profile. +// LinuxConfiguration is specifies the Linux operating system settings on the virtual machine.

For a list of +// supported Linux distributions, see [Linux on Azure-Endorsed +// Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) +//

For running non-endorsed distributions, see [Information for Non-Endorsed +// Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json). type LinuxConfiguration struct { DisablePasswordAuthentication *bool `json:"disablePasswordAuthentication,omitempty"` SSH *SSHConfiguration `json:"ssh,omitempty"` @@ -614,12 +1184,22 @@ type ListVirtualMachineImageResource struct { Value *[]VirtualMachineImageResource `json:"value,omitempty"` } -// LongRunningOperationProperties is compute-specific operation properties, -// including output +// LongRunningOperationProperties is compute-specific operation properties, including output type LongRunningOperationProperties struct { Output *map[string]interface{} `json:"output,omitempty"` } +// MaintenanceRedeployStatus is maintenance Operation Status. +type MaintenanceRedeployStatus struct { + IsCustomerInitiatedMaintenanceAllowed *bool `json:"isCustomerInitiatedMaintenanceAllowed,omitempty"` + PreMaintenanceWindowStartTime *date.Time `json:"preMaintenanceWindowStartTime,omitempty"` + PreMaintenanceWindowEndTime *date.Time `json:"preMaintenanceWindowEndTime,omitempty"` + MaintenanceWindowStartTime *date.Time `json:"maintenanceWindowStartTime,omitempty"` + MaintenanceWindowEndTime *date.Time `json:"maintenanceWindowEndTime,omitempty"` + LastOperationResultCode MaintenanceOperationResultCodeTypes `json:"lastOperationResultCode,omitempty"` + LastOperationMessage *string `json:"lastOperationMessage,omitempty"` +} + // ManagedDiskParameters is the parameters of a managed disk. type ManagedDiskParameters struct { ID *string `json:"id,omitempty"` @@ -632,13 +1212,12 @@ type NetworkInterfaceReference struct { *NetworkInterfaceReferenceProperties `json:"properties,omitempty"` } -// NetworkInterfaceReferenceProperties is describes a network interface -// reference properties. +// NetworkInterfaceReferenceProperties is describes a network interface reference properties. type NetworkInterfaceReferenceProperties struct { Primary *bool `json:"primary,omitempty"` } -// NetworkProfile is describes a network profile. +// NetworkProfile is specifies the network interfaces of the virtual machine. type NetworkProfile struct { NetworkInterfaces *[]NetworkInterfaceReference `json:"networkInterfaces,omitempty"` } @@ -653,7 +1232,9 @@ type OperationStatusResponse struct { Error *APIError `json:"error,omitempty"` } -// OSDisk is describes an Operating System disk. +// OSDisk is specifies information about the operating system disk used by the virtual machine.

For more +// information about disks, see [About disks and VHDs for Azure virtual +// machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json). type OSDisk struct { OsType OperatingSystemTypes `json:"osType,omitempty"` EncryptionSettings *DiskEncryptionSettings `json:"encryptionSettings,omitempty"` @@ -671,7 +1252,7 @@ type OSDiskImage struct { OperatingSystem OperatingSystemTypes `json:"operatingSystem,omitempty"` } -// OSProfile is describes an OS profile. +// OSProfile is specifies the operating system settings for the virtual machine. type OSProfile struct { ComputerName *string `json:"computerName,omitempty"` AdminUsername *string `json:"adminUsername,omitempty"` @@ -682,7 +1263,10 @@ type OSProfile struct { Secrets *[]VaultSecretGroup `json:"secrets,omitempty"` } -// Plan is plan for the resource. +// Plan is specifies information about the marketplace image used to create the virtual machine. This element is only +// used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for +// programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to +// deploy programmatically, Get Started ->**. Enter any required information and then click **Save**. type Plan struct { Name *string `json:"name,omitempty"` Publisher *string `json:"publisher,omitempty"` @@ -690,8 +1274,7 @@ type Plan struct { PromotionCode *string `json:"promotionCode,omitempty"` } -// PurchasePlan is used for establishing the purchase context of any 3rd Party -// artifact through MarketPlace. +// PurchasePlan is used for establishing the purchase context of any 3rd Party artifact through MarketPlace. type PurchasePlan struct { Publisher *string `json:"publisher,omitempty"` Name *string `json:"name,omitempty"` @@ -707,6 +1290,195 @@ type Resource struct { Tags *map[string]*string `json:"tags,omitempty"` } +// ResourceSku is describes an available Compute SKU. +type ResourceSku struct { + ResourceType *string `json:"resourceType,omitempty"` + Name *string `json:"name,omitempty"` + Tier *string `json:"tier,omitempty"` + Size *string `json:"size,omitempty"` + Family *string `json:"family,omitempty"` + Kind *string `json:"kind,omitempty"` + Capacity *ResourceSkuCapacity `json:"capacity,omitempty"` + Locations *[]string `json:"locations,omitempty"` + APIVersions *[]string `json:"apiVersions,omitempty"` + Costs *[]ResourceSkuCosts `json:"costs,omitempty"` + Capabilities *[]ResourceSkuCapabilities `json:"capabilities,omitempty"` + Restrictions *[]ResourceSkuRestrictions `json:"restrictions,omitempty"` +} + +// ResourceSkuCapabilities is describes The SKU capabilites object. +type ResourceSkuCapabilities struct { + Name *string `json:"name,omitempty"` + Value *string `json:"value,omitempty"` +} + +// ResourceSkuCapacity is describes scaling information of a SKU. +type ResourceSkuCapacity struct { + Minimum *int64 `json:"minimum,omitempty"` + Maximum *int64 `json:"maximum,omitempty"` + Default *int64 `json:"default,omitempty"` + ScaleType ResourceSkuCapacityScaleType `json:"scaleType,omitempty"` +} + +// ResourceSkuCosts is describes metadata for retrieving price info. +type ResourceSkuCosts struct { + MeterID *string `json:"meterID,omitempty"` + Quantity *int64 `json:"quantity,omitempty"` + ExtendedUnit *string `json:"extendedUnit,omitempty"` +} + +// ResourceSkuRestrictions is describes scaling information of a SKU. +type ResourceSkuRestrictions struct { + Type ResourceSkuRestrictionsType `json:"type,omitempty"` + Values *[]string `json:"values,omitempty"` + ReasonCode ResourceSkuRestrictionsReasonCode `json:"reasonCode,omitempty"` +} + +// ResourceSkusResult is the Compute List Skus operation response. +type ResourceSkusResult struct { + autorest.Response `json:"-"` + Value *[]ResourceSku `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// ResourceSkusResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client ResourceSkusResult) ResourceSkusResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// ResourceUpdate is the Resource model definition. +type ResourceUpdate struct { + Tags *map[string]*string `json:"tags,omitempty"` + Sku *DiskSku `json:"sku,omitempty"` +} + +// RollingUpgradePolicy is the configuration parameters used while performing a rolling upgrade. +type RollingUpgradePolicy struct { + MaxBatchInstancePercent *int32 `json:"maxBatchInstancePercent,omitempty"` + MaxUnhealthyInstancePercent *int32 `json:"maxUnhealthyInstancePercent,omitempty"` + MaxUnhealthyUpgradedInstancePercent *int32 `json:"maxUnhealthyUpgradedInstancePercent,omitempty"` + PauseTimeBetweenBatches *string `json:"pauseTimeBetweenBatches,omitempty"` +} + +// RollingUpgradeProgressInfo is information about the number of virtual machine instances in each upgrade state. +type RollingUpgradeProgressInfo struct { + SuccessfulInstanceCount *int32 `json:"successfulInstanceCount,omitempty"` + FailedInstanceCount *int32 `json:"failedInstanceCount,omitempty"` + InProgressInstanceCount *int32 `json:"inProgressInstanceCount,omitempty"` + PendingInstanceCount *int32 `json:"pendingInstanceCount,omitempty"` +} + +// RollingUpgradeRunningStatus is information about the current running state of the overall upgrade. +type RollingUpgradeRunningStatus struct { + Code RollingUpgradeStatusCode `json:"code,omitempty"` + StartTime *date.Time `json:"startTime,omitempty"` + LastAction RollingUpgradeActionType `json:"lastAction,omitempty"` + LastActionTime *date.Time `json:"lastActionTime,omitempty"` +} + +// RollingUpgradeStatusInfo is the status of the latest virtual machine scale set rolling upgrade. +type RollingUpgradeStatusInfo struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + *RollingUpgradeStatusInfoProperties `json:"properties,omitempty"` +} + +// RollingUpgradeStatusInfoProperties is the status of the latest virtual machine scale set rolling upgrade. +type RollingUpgradeStatusInfoProperties struct { + Policy *RollingUpgradePolicy `json:"policy,omitempty"` + RunningStatus *RollingUpgradeRunningStatus `json:"runningStatus,omitempty"` + Progress *RollingUpgradeProgressInfo `json:"progress,omitempty"` + Error *APIError `json:"error,omitempty"` +} + +// RunCommandDocument is describes the properties of a Run Command. +type RunCommandDocument struct { + autorest.Response `json:"-"` + Schema *string `json:"$schema,omitempty"` + ID *string `json:"id,omitempty"` + OsType OperatingSystemTypes `json:"osType,omitempty"` + Label *string `json:"label,omitempty"` + Description *string `json:"description,omitempty"` + Script *[]string `json:"script,omitempty"` + Parameters *[]RunCommandParameterDefinition `json:"parameters,omitempty"` +} + +// RunCommandDocumentBase is describes the properties of a Run Command metadata. +type RunCommandDocumentBase struct { + Schema *string `json:"$schema,omitempty"` + ID *string `json:"id,omitempty"` + OsType OperatingSystemTypes `json:"osType,omitempty"` + Label *string `json:"label,omitempty"` + Description *string `json:"description,omitempty"` +} + +// RunCommandInput is capture Virtual Machine parameters. +type RunCommandInput struct { + CommandID *string `json:"commandId,omitempty"` + Script *[]string `json:"script,omitempty"` + Parameters *[]RunCommandInputParameter `json:"parameters,omitempty"` +} + +// RunCommandInputParameter is describes the properties of a run command parameter. +type RunCommandInputParameter struct { + Name *string `json:"name,omitempty"` + Value *string `json:"value,omitempty"` +} + +// RunCommandListResult is the List Virtual Machine operation response. +type RunCommandListResult struct { + autorest.Response `json:"-"` + Value *[]RunCommandDocumentBase `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// RunCommandListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client RunCommandListResult) RunCommandListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// RunCommandParameterDefinition is describes the properties of a run command parameter. +type RunCommandParameterDefinition struct { + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + DefaultValue *string `json:"defaultValue,omitempty"` + Required *bool `json:"required,omitempty"` +} + +// RunCommandResult is run command operation response. +type RunCommandResult struct { + autorest.Response `json:"-"` + Name *string `json:"name,omitempty"` + Status *string `json:"status,omitempty"` + StartTime *date.Time `json:"startTime,omitempty"` + EndTime *date.Time `json:"endTime,omitempty"` + Error *APIError `json:"error,omitempty"` + *RunCommandResultProperties `json:"properties,omitempty"` +} + +// RunCommandResultProperties is compute-specific operation properties, including output +type RunCommandResultProperties struct { + Output *map[string]interface{} `json:"output,omitempty"` +} + // Sku is describes a virtual machine scale set sku. type Sku struct { Name *string `json:"name,omitempty"` @@ -714,19 +1486,64 @@ type Sku struct { Capacity *int64 `json:"capacity,omitempty"` } -// SSHConfiguration is sSH configuration for Linux based VMs running on Azure +// Snapshot is snapshot resource. +type Snapshot struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + ManagedBy *string `json:"managedBy,omitempty"` + Sku *DiskSku `json:"sku,omitempty"` + *DiskProperties `json:"properties,omitempty"` +} + +// SnapshotList is the List Snapshots operation response. +type SnapshotList struct { + autorest.Response `json:"-"` + Value *[]Snapshot `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// SnapshotListPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client SnapshotList) SnapshotListPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// SnapshotUpdate is snapshot update resource. +type SnapshotUpdate struct { + Tags *map[string]*string `json:"tags,omitempty"` + Sku *DiskSku `json:"sku,omitempty"` + *DiskUpdateProperties `json:"properties,omitempty"` +} + +// SourceVault is the vault id is an Azure Resource Manager Resoure id in the form +// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} +type SourceVault struct { + ID *string `json:"id,omitempty"` +} + +// SSHConfiguration is SSH configuration for Linux based VMs running on Azure type SSHConfiguration struct { PublicKeys *[]SSHPublicKey `json:"publicKeys,omitempty"` } -// SSHPublicKey is contains information about SSH certificate public key and -// the path on the Linux VM where the public key is placed. +// SSHPublicKey is contains information about SSH certificate public key and the path on the Linux VM where the public +// key is placed. type SSHPublicKey struct { Path *string `json:"path,omitempty"` KeyData *string `json:"keyData,omitempty"` } -// StorageProfile is describes a storage profile. +// StorageProfile is specifies the storage settings for the virtual machine disks. type StorageProfile struct { ImageReference *ImageReference `json:"imageReference,omitempty"` OsDisk *OSDisk `json:"osDisk,omitempty"` @@ -743,9 +1560,16 @@ type SubResourceReadOnly struct { ID *string `json:"id,omitempty"` } -// UpgradePolicy is describes an upgrade policy - automatic or manual. +// UpdateResource is the Update Resource model definition. +type UpdateResource struct { + Tags *map[string]*string `json:"tags,omitempty"` +} + +// UpgradePolicy is describes an upgrade policy - automatic, manual, or rolling. type UpgradePolicy struct { - Mode UpgradeMode `json:"mode,omitempty"` + Mode UpgradeMode `json:"mode,omitempty"` + RollingUpgradePolicy *RollingUpgradePolicy `json:"rollingUpgradePolicy,omitempty"` + AutomaticOSUpgrade *bool `json:"automaticOSUpgrade,omitempty"` } // Usage is describes Compute Resource Usage. @@ -762,15 +1586,14 @@ type UsageName struct { LocalizedValue *string `json:"localizedValue,omitempty"` } -// VaultCertificate is describes a single certificate reference in a Key Vault, -// and where the certificate should reside on the VM. +// VaultCertificate is describes a single certificate reference in a Key Vault, and where the certificate should reside +// on the VM. type VaultCertificate struct { CertificateURL *string `json:"certificateUrl,omitempty"` CertificateStore *string `json:"certificateStore,omitempty"` } -// VaultSecretGroup is describes a set of certificates which are all in the -// same Key Vault. +// VaultSecretGroup is describes a set of certificates which are all in the same Key Vault. type VaultSecretGroup struct { SourceVault *SubResource `json:"sourceVault,omitempty"` VaultCertificates *[]VaultCertificate `json:"vaultCertificates,omitempty"` @@ -793,10 +1616,10 @@ type VirtualMachine struct { *VirtualMachineProperties `json:"properties,omitempty"` Resources *[]VirtualMachineExtension `json:"resources,omitempty"` Identity *VirtualMachineIdentity `json:"identity,omitempty"` + Zones *[]string `json:"zones,omitempty"` } -// VirtualMachineAgentInstanceView is the instance view of the VM Agent running -// on the virtual machine. +// VirtualMachineAgentInstanceView is the instance view of the VM Agent running on the virtual machine. type VirtualMachineAgentInstanceView struct { VMAgentVersion *string `json:"vmAgentVersion,omitempty"` ExtensionHandlers *[]VirtualMachineExtensionHandlerInstanceView `json:"extensionHandlers,omitempty"` @@ -817,8 +1640,7 @@ type VirtualMachineCaptureResult struct { *VirtualMachineCaptureResultProperties `json:"properties,omitempty"` } -// VirtualMachineCaptureResultProperties is compute-specific operation -// properties, including output +// VirtualMachineCaptureResultProperties is compute-specific operation properties, including output type VirtualMachineCaptureResultProperties struct { Output *map[string]interface{} `json:"output,omitempty"` } @@ -834,8 +1656,7 @@ type VirtualMachineExtension struct { *VirtualMachineExtensionProperties `json:"properties,omitempty"` } -// VirtualMachineExtensionHandlerInstanceView is the instance view of a virtual -// machine extension handler. +// VirtualMachineExtensionHandlerInstanceView is the instance view of a virtual machine extension handler. type VirtualMachineExtensionHandlerInstanceView struct { Type *string `json:"type,omitempty"` TypeHandlerVersion *string `json:"typeHandlerVersion,omitempty"` @@ -853,8 +1674,7 @@ type VirtualMachineExtensionImage struct { *VirtualMachineExtensionImageProperties `json:"properties,omitempty"` } -// VirtualMachineExtensionImageProperties is describes the properties of a -// Virtual Machine Extension Image. +// VirtualMachineExtensionImageProperties is describes the properties of a Virtual Machine Extension Image. type VirtualMachineExtensionImageProperties struct { OperatingSystem *string `json:"operatingSystem,omitempty"` ComputeRole *string `json:"computeRole,omitempty"` @@ -863,8 +1683,7 @@ type VirtualMachineExtensionImageProperties struct { SupportsMultipleExtensions *bool `json:"supportsMultipleExtensions,omitempty"` } -// VirtualMachineExtensionInstanceView is the instance view of a virtual -// machine extension. +// VirtualMachineExtensionInstanceView is the instance view of a virtual machine extension. type VirtualMachineExtensionInstanceView struct { Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` @@ -873,8 +1692,7 @@ type VirtualMachineExtensionInstanceView struct { Statuses *[]InstanceViewStatus `json:"statuses,omitempty"` } -// VirtualMachineExtensionProperties is describes the properties of a Virtual -// Machine Extension. +// VirtualMachineExtensionProperties is describes the properties of a Virtual Machine Extension. type VirtualMachineExtensionProperties struct { ForceUpdateTag *string `json:"forceUpdateTag,omitempty"` Publisher *string `json:"publisher,omitempty"` @@ -887,6 +1705,11 @@ type VirtualMachineExtensionProperties struct { InstanceView *VirtualMachineExtensionInstanceView `json:"instanceView,omitempty"` } +// VirtualMachineHealthStatus is the health status of the VM. +type VirtualMachineHealthStatus struct { + Status *InstanceViewStatus `json:"status,omitempty"` +} + // VirtualMachineIdentity is identity for the virtual machine. type VirtualMachineIdentity struct { PrincipalID *string `json:"principalId,omitempty"` @@ -904,8 +1727,7 @@ type VirtualMachineImage struct { *VirtualMachineImageProperties `json:"properties,omitempty"` } -// VirtualMachineImageProperties is describes the properties of a Virtual -// Machine Image. +// VirtualMachineImageProperties is describes the properties of a Virtual Machine Image. type VirtualMachineImageProperties struct { Plan *PurchasePlan `json:"plan,omitempty"` OsDiskImage *OSDiskImage `json:"osDiskImage,omitempty"` @@ -922,14 +1744,16 @@ type VirtualMachineImageResource struct { // VirtualMachineInstanceView is the instance view of a virtual machine. type VirtualMachineInstanceView struct { - PlatformUpdateDomain *int32 `json:"platformUpdateDomain,omitempty"` - PlatformFaultDomain *int32 `json:"platformFaultDomain,omitempty"` - RdpThumbPrint *string `json:"rdpThumbPrint,omitempty"` - VMAgent *VirtualMachineAgentInstanceView `json:"vmAgent,omitempty"` - Disks *[]DiskInstanceView `json:"disks,omitempty"` - Extensions *[]VirtualMachineExtensionInstanceView `json:"extensions,omitempty"` - BootDiagnostics *BootDiagnosticsInstanceView `json:"bootDiagnostics,omitempty"` - Statuses *[]InstanceViewStatus `json:"statuses,omitempty"` + autorest.Response `json:"-"` + PlatformUpdateDomain *int32 `json:"platformUpdateDomain,omitempty"` + PlatformFaultDomain *int32 `json:"platformFaultDomain,omitempty"` + RdpThumbPrint *string `json:"rdpThumbPrint,omitempty"` + VMAgent *VirtualMachineAgentInstanceView `json:"vmAgent,omitempty"` + MaintenanceRedeployStatus *MaintenanceRedeployStatus `json:"maintenanceRedeployStatus,omitempty"` + Disks *[]DiskInstanceView `json:"disks,omitempty"` + Extensions *[]VirtualMachineExtensionInstanceView `json:"extensions,omitempty"` + BootDiagnostics *BootDiagnosticsInstanceView `json:"bootDiagnostics,omitempty"` + Statuses *[]InstanceViewStatus `json:"statuses,omitempty"` } // VirtualMachineListResult is the List Virtual Machine operation response. @@ -977,10 +1801,10 @@ type VirtualMachineScaleSet struct { Plan *Plan `json:"plan,omitempty"` *VirtualMachineScaleSetProperties `json:"properties,omitempty"` Identity *VirtualMachineScaleSetIdentity `json:"identity,omitempty"` + Zones *[]string `json:"zones,omitempty"` } -// VirtualMachineScaleSetDataDisk is describes a virtual machine scale set data -// disk. +// VirtualMachineScaleSetDataDisk is describes a virtual machine scale set data disk. type VirtualMachineScaleSetDataDisk struct { Name *string `json:"name,omitempty"` Lun *int32 `json:"lun,omitempty"` @@ -990,23 +1814,41 @@ type VirtualMachineScaleSetDataDisk struct { ManagedDisk *VirtualMachineScaleSetManagedDiskParameters `json:"managedDisk,omitempty"` } -// VirtualMachineScaleSetExtension is describes a Virtual Machine Scale Set -// Extension. +// VirtualMachineScaleSetExtension is describes a Virtual Machine Scale Set Extension. type VirtualMachineScaleSetExtension struct { + autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` *VirtualMachineScaleSetExtensionProperties `json:"properties,omitempty"` } -// VirtualMachineScaleSetExtensionProfile is describes a virtual machine scale -// set extension profile. +// VirtualMachineScaleSetExtensionListResult is the List VM scale set extension operation response. +type VirtualMachineScaleSetExtensionListResult struct { + autorest.Response `json:"-"` + Value *[]VirtualMachineScaleSetExtension `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// VirtualMachineScaleSetExtensionListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client VirtualMachineScaleSetExtensionListResult) VirtualMachineScaleSetExtensionListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// VirtualMachineScaleSetExtensionProfile is describes a virtual machine scale set extension profile. type VirtualMachineScaleSetExtensionProfile struct { Extensions *[]VirtualMachineScaleSetExtension `json:"extensions,omitempty"` } -// VirtualMachineScaleSetExtensionProperties is describes the properties of a -// Virtual Machine Scale Set Extension. +// VirtualMachineScaleSetExtensionProperties is describes the properties of a Virtual Machine Scale Set Extension. type VirtualMachineScaleSetExtensionProperties struct { + ForceUpdateTag *string `json:"forceUpdateTag,omitempty"` Publisher *string `json:"publisher,omitempty"` Type *string `json:"type,omitempty"` TypeHandlerVersion *string `json:"typeHandlerVersion,omitempty"` @@ -1016,16 +1858,14 @@ type VirtualMachineScaleSetExtensionProperties struct { ProvisioningState *string `json:"provisioningState,omitempty"` } -// VirtualMachineScaleSetIdentity is identity for the virtual machine scale -// set. +// VirtualMachineScaleSetIdentity is identity for the virtual machine scale set. type VirtualMachineScaleSetIdentity struct { PrincipalID *string `json:"principalId,omitempty"` TenantID *string `json:"tenantId,omitempty"` Type ResourceIdentityType `json:"type,omitempty"` } -// VirtualMachineScaleSetInstanceView is the instance view of a virtual machine -// scale set. +// VirtualMachineScaleSetInstanceView is the instance view of a virtual machine scale set. type VirtualMachineScaleSetInstanceView struct { autorest.Response `json:"-"` VirtualMachine *VirtualMachineScaleSetInstanceViewStatusesSummary `json:"virtualMachine,omitempty"` @@ -1033,31 +1873,32 @@ type VirtualMachineScaleSetInstanceView struct { Statuses *[]InstanceViewStatus `json:"statuses,omitempty"` } -// VirtualMachineScaleSetInstanceViewStatusesSummary is instance view statuses -// summary for virtual machines of a virtual machine scale set. +// VirtualMachineScaleSetInstanceViewStatusesSummary is instance view statuses summary for virtual machines of a +// virtual machine scale set. type VirtualMachineScaleSetInstanceViewStatusesSummary struct { StatusesSummary *[]VirtualMachineStatusCodeCount `json:"statusesSummary,omitempty"` } -// VirtualMachineScaleSetIPConfiguration is describes a virtual machine scale -// set network profile's IP configuration. +// VirtualMachineScaleSetIPConfiguration is describes a virtual machine scale set network profile's IP configuration. type VirtualMachineScaleSetIPConfiguration struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` *VirtualMachineScaleSetIPConfigurationProperties `json:"properties,omitempty"` } -// VirtualMachineScaleSetIPConfigurationProperties is describes a virtual -// machine scale set network profile's IP configuration properties. +// VirtualMachineScaleSetIPConfigurationProperties is describes a virtual machine scale set network profile's IP +// configuration properties. type VirtualMachineScaleSetIPConfigurationProperties struct { - Subnet *APIEntityReference `json:"subnet,omitempty"` - ApplicationGatewayBackendAddressPools *[]SubResource `json:"applicationGatewayBackendAddressPools,omitempty"` - LoadBalancerBackendAddressPools *[]SubResource `json:"loadBalancerBackendAddressPools,omitempty"` - LoadBalancerInboundNatPools *[]SubResource `json:"loadBalancerInboundNatPools,omitempty"` + Subnet *APIEntityReference `json:"subnet,omitempty"` + Primary *bool `json:"primary,omitempty"` + PublicIPAddressConfiguration *VirtualMachineScaleSetPublicIPAddressConfiguration `json:"publicIPAddressConfiguration,omitempty"` + PrivateIPAddressVersion IPVersion `json:"privateIPAddressVersion,omitempty"` + ApplicationGatewayBackendAddressPools *[]SubResource `json:"applicationGatewayBackendAddressPools,omitempty"` + LoadBalancerBackendAddressPools *[]SubResource `json:"loadBalancerBackendAddressPools,omitempty"` + LoadBalancerInboundNatPools *[]SubResource `json:"loadBalancerInboundNatPools,omitempty"` } -// VirtualMachineScaleSetListResult is the List Virtual Machine operation -// response. +// VirtualMachineScaleSetListResult is the List Virtual Machine operation response. type VirtualMachineScaleSetListResult struct { autorest.Response `json:"-"` Value *[]VirtualMachineScaleSet `json:"value,omitempty"` @@ -1076,8 +1917,7 @@ func (client VirtualMachineScaleSetListResult) VirtualMachineScaleSetListResultP autorest.WithBaseURL(to.String(client.NextLink))) } -// VirtualMachineScaleSetListSkusResult is the Virtual Machine Scale Set List -// Skus operation response. +// VirtualMachineScaleSetListSkusResult is the Virtual Machine Scale Set List Skus operation response. type VirtualMachineScaleSetListSkusResult struct { autorest.Response `json:"-"` Value *[]VirtualMachineScaleSetSku `json:"value,omitempty"` @@ -1096,8 +1936,7 @@ func (client VirtualMachineScaleSetListSkusResult) VirtualMachineScaleSetListSku autorest.WithBaseURL(to.String(client.NextLink))) } -// VirtualMachineScaleSetListWithLinkResult is the List Virtual Machine -// operation response. +// VirtualMachineScaleSetListWithLinkResult is the List Virtual Machine operation response. type VirtualMachineScaleSetListWithLinkResult struct { autorest.Response `json:"-"` Value *[]VirtualMachineScaleSet `json:"value,omitempty"` @@ -1116,35 +1955,42 @@ func (client VirtualMachineScaleSetListWithLinkResult) VirtualMachineScaleSetLis autorest.WithBaseURL(to.String(client.NextLink))) } -// VirtualMachineScaleSetManagedDiskParameters is describes the parameters of a -// ScaleSet managed disk. +// VirtualMachineScaleSetManagedDiskParameters is describes the parameters of a ScaleSet managed disk. type VirtualMachineScaleSetManagedDiskParameters struct { StorageAccountType StorageAccountTypes `json:"storageAccountType,omitempty"` } -// VirtualMachineScaleSetNetworkConfiguration is describes a virtual machine -// scale set network profile's network configurations. +// VirtualMachineScaleSetNetworkConfiguration is describes a virtual machine scale set network profile's network +// configurations. type VirtualMachineScaleSetNetworkConfiguration struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` *VirtualMachineScaleSetNetworkConfigurationProperties `json:"properties,omitempty"` } -// VirtualMachineScaleSetNetworkConfigurationProperties is describes a virtual -// machine scale set network profile's IP configuration. -type VirtualMachineScaleSetNetworkConfigurationProperties struct { - Primary *bool `json:"primary,omitempty"` - IPConfigurations *[]VirtualMachineScaleSetIPConfiguration `json:"ipConfigurations,omitempty"` +// VirtualMachineScaleSetNetworkConfigurationDNSSettings is describes a virtual machines scale sets network +// configuration's DNS settings. +type VirtualMachineScaleSetNetworkConfigurationDNSSettings struct { + DNSServers *[]string `json:"dnsServers,omitempty"` } -// VirtualMachineScaleSetNetworkProfile is describes a virtual machine scale -// set network profile. +// VirtualMachineScaleSetNetworkConfigurationProperties is describes a virtual machine scale set network profile's IP +// configuration. +type VirtualMachineScaleSetNetworkConfigurationProperties struct { + Primary *bool `json:"primary,omitempty"` + EnableAcceleratedNetworking *bool `json:"enableAcceleratedNetworking,omitempty"` + NetworkSecurityGroup *SubResource `json:"networkSecurityGroup,omitempty"` + DNSSettings *VirtualMachineScaleSetNetworkConfigurationDNSSettings `json:"dnsSettings,omitempty"` + IPConfigurations *[]VirtualMachineScaleSetIPConfiguration `json:"ipConfigurations,omitempty"` +} + +// VirtualMachineScaleSetNetworkProfile is describes a virtual machine scale set network profile. type VirtualMachineScaleSetNetworkProfile struct { + HealthProbe *APIEntityReference `json:"healthProbe,omitempty"` NetworkInterfaceConfigurations *[]VirtualMachineScaleSetNetworkConfiguration `json:"networkInterfaceConfigurations,omitempty"` } -// VirtualMachineScaleSetOSDisk is describes a virtual machine scale set -// operating system disk. +// VirtualMachineScaleSetOSDisk is describes a virtual machine scale set operating system disk. type VirtualMachineScaleSetOSDisk struct { Name *string `json:"name,omitempty"` Caching CachingTypes `json:"caching,omitempty"` @@ -1155,8 +2001,7 @@ type VirtualMachineScaleSetOSDisk struct { ManagedDisk *VirtualMachineScaleSetManagedDiskParameters `json:"managedDisk,omitempty"` } -// VirtualMachineScaleSetOSProfile is describes a virtual machine scale set OS -// profile. +// VirtualMachineScaleSetOSProfile is describes a virtual machine scale set OS profile. type VirtualMachineScaleSetOSProfile struct { ComputerNamePrefix *string `json:"computerNamePrefix,omitempty"` AdminUsername *string `json:"adminUsername,omitempty"` @@ -1167,18 +2012,37 @@ type VirtualMachineScaleSetOSProfile struct { Secrets *[]VaultSecretGroup `json:"secrets,omitempty"` } -// VirtualMachineScaleSetProperties is describes the properties of a Virtual -// Machine Scale Set. +// VirtualMachineScaleSetProperties is describes the properties of a Virtual Machine Scale Set. type VirtualMachineScaleSetProperties struct { UpgradePolicy *UpgradePolicy `json:"upgradePolicy,omitempty"` VirtualMachineProfile *VirtualMachineScaleSetVMProfile `json:"virtualMachineProfile,omitempty"` ProvisioningState *string `json:"provisioningState,omitempty"` Overprovision *bool `json:"overprovision,omitempty"` + UniqueID *string `json:"uniqueId,omitempty"` SinglePlacementGroup *bool `json:"singlePlacementGroup,omitempty"` } -// VirtualMachineScaleSetSku is describes an available virtual machine scale -// set sku. +// VirtualMachineScaleSetPublicIPAddressConfiguration is describes a virtual machines scale set IP Configuration's +// PublicIPAddress configuration +type VirtualMachineScaleSetPublicIPAddressConfiguration struct { + Name *string `json:"name,omitempty"` + *VirtualMachineScaleSetPublicIPAddressConfigurationProperties `json:"properties,omitempty"` +} + +// VirtualMachineScaleSetPublicIPAddressConfigurationDNSSettings is describes a virtual machines scale sets network +// configuration's DNS settings. +type VirtualMachineScaleSetPublicIPAddressConfigurationDNSSettings struct { + DomainNameLabel *string `json:"domainNameLabel,omitempty"` +} + +// VirtualMachineScaleSetPublicIPAddressConfigurationProperties is describes a virtual machines scale set IP +// Configuration's PublicIPAddress configuration +type VirtualMachineScaleSetPublicIPAddressConfigurationProperties struct { + IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` + DNSSettings *VirtualMachineScaleSetPublicIPAddressConfigurationDNSSettings `json:"dnsSettings,omitempty"` +} + +// VirtualMachineScaleSetSku is describes an available virtual machine scale set sku. type VirtualMachineScaleSetSku struct { ResourceType *string `json:"resourceType,omitempty"` Sku *Sku `json:"sku,omitempty"` @@ -1193,16 +2057,122 @@ type VirtualMachineScaleSetSkuCapacity struct { ScaleType VirtualMachineScaleSetSkuScaleType `json:"scaleType,omitempty"` } -// VirtualMachineScaleSetStorageProfile is describes a virtual machine scale -// set storage profile. +// VirtualMachineScaleSetStorageProfile is describes a virtual machine scale set storage profile. type VirtualMachineScaleSetStorageProfile struct { ImageReference *ImageReference `json:"imageReference,omitempty"` OsDisk *VirtualMachineScaleSetOSDisk `json:"osDisk,omitempty"` DataDisks *[]VirtualMachineScaleSetDataDisk `json:"dataDisks,omitempty"` } -// VirtualMachineScaleSetVM is describes a virtual machine scale set virtual -// machine. +// VirtualMachineScaleSetUpdate is describes a Virtual Machine Scale Set. +type VirtualMachineScaleSetUpdate struct { + Tags *map[string]*string `json:"tags,omitempty"` + Sku *Sku `json:"sku,omitempty"` + Plan *Plan `json:"plan,omitempty"` + *VirtualMachineScaleSetUpdateProperties `json:"properties,omitempty"` + Identity *VirtualMachineScaleSetIdentity `json:"identity,omitempty"` +} + +// VirtualMachineScaleSetUpdateIPConfiguration is describes a virtual machine scale set network profile's IP +// configuration. +type VirtualMachineScaleSetUpdateIPConfiguration struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + *VirtualMachineScaleSetUpdateIPConfigurationProperties `json:"properties,omitempty"` +} + +// VirtualMachineScaleSetUpdateIPConfigurationProperties is describes a virtual machine scale set network profile's IP +// configuration properties. +type VirtualMachineScaleSetUpdateIPConfigurationProperties struct { + Subnet *APIEntityReference `json:"subnet,omitempty"` + Primary *bool `json:"primary,omitempty"` + PublicIPAddressConfiguration *VirtualMachineScaleSetUpdatePublicIPAddressConfiguration `json:"publicIPAddressConfiguration,omitempty"` + PrivateIPAddressVersion IPVersion `json:"privateIPAddressVersion,omitempty"` + ApplicationGatewayBackendAddressPools *[]SubResource `json:"applicationGatewayBackendAddressPools,omitempty"` + LoadBalancerBackendAddressPools *[]SubResource `json:"loadBalancerBackendAddressPools,omitempty"` + LoadBalancerInboundNatPools *[]SubResource `json:"loadBalancerInboundNatPools,omitempty"` +} + +// VirtualMachineScaleSetUpdateNetworkConfiguration is describes a virtual machine scale set network profile's network +// configurations. +type VirtualMachineScaleSetUpdateNetworkConfiguration struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + *VirtualMachineScaleSetUpdateNetworkConfigurationProperties `json:"properties,omitempty"` +} + +// VirtualMachineScaleSetUpdateNetworkConfigurationProperties is describes a virtual machine scale set updatable +// network profile's IP configuration.Use this object for updating network profile's IP Configuration. +type VirtualMachineScaleSetUpdateNetworkConfigurationProperties struct { + Primary *bool `json:"primary,omitempty"` + EnableAcceleratedNetworking *bool `json:"enableAcceleratedNetworking,omitempty"` + NetworkSecurityGroup *SubResource `json:"networkSecurityGroup,omitempty"` + DNSSettings *VirtualMachineScaleSetNetworkConfigurationDNSSettings `json:"dnsSettings,omitempty"` + IPConfigurations *[]VirtualMachineScaleSetUpdateIPConfiguration `json:"ipConfigurations,omitempty"` +} + +// VirtualMachineScaleSetUpdateNetworkProfile is describes a virtual machine scale set network profile. +type VirtualMachineScaleSetUpdateNetworkProfile struct { + NetworkInterfaceConfigurations *[]VirtualMachineScaleSetUpdateNetworkConfiguration `json:"networkInterfaceConfigurations,omitempty"` +} + +// VirtualMachineScaleSetUpdateOSDisk is describes virtual machine scale set operating system disk Update Object. This +// should be used for Updating VMSS OS Disk. +type VirtualMachineScaleSetUpdateOSDisk struct { + Caching CachingTypes `json:"caching,omitempty"` + Image *VirtualHardDisk `json:"image,omitempty"` + VhdContainers *[]string `json:"vhdContainers,omitempty"` + ManagedDisk *VirtualMachineScaleSetManagedDiskParameters `json:"managedDisk,omitempty"` +} + +// VirtualMachineScaleSetUpdateOSProfile is describes a virtual machine scale set OS profile. +type VirtualMachineScaleSetUpdateOSProfile struct { + CustomData *string `json:"customData,omitempty"` + WindowsConfiguration *WindowsConfiguration `json:"windowsConfiguration,omitempty"` + LinuxConfiguration *LinuxConfiguration `json:"linuxConfiguration,omitempty"` + Secrets *[]VaultSecretGroup `json:"secrets,omitempty"` +} + +// VirtualMachineScaleSetUpdateProperties is describes the properties of a Virtual Machine Scale Set. +type VirtualMachineScaleSetUpdateProperties struct { + UpgradePolicy *UpgradePolicy `json:"upgradePolicy,omitempty"` + VirtualMachineProfile *VirtualMachineScaleSetUpdateVMProfile `json:"virtualMachineProfile,omitempty"` + Overprovision *bool `json:"overprovision,omitempty"` + SinglePlacementGroup *bool `json:"singlePlacementGroup,omitempty"` +} + +// VirtualMachineScaleSetUpdatePublicIPAddressConfiguration is describes a virtual machines scale set IP +// Configuration's PublicIPAddress configuration +type VirtualMachineScaleSetUpdatePublicIPAddressConfiguration struct { + Name *string `json:"name,omitempty"` + *VirtualMachineScaleSetUpdatePublicIPAddressConfigurationProperties `json:"properties,omitempty"` +} + +// VirtualMachineScaleSetUpdatePublicIPAddressConfigurationProperties is describes a virtual machines scale set IP +// Configuration's PublicIPAddress configuration +type VirtualMachineScaleSetUpdatePublicIPAddressConfigurationProperties struct { + IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` + DNSSettings *VirtualMachineScaleSetPublicIPAddressConfigurationDNSSettings `json:"dnsSettings,omitempty"` +} + +// VirtualMachineScaleSetUpdateStorageProfile is describes a virtual machine scale set storage profile. +type VirtualMachineScaleSetUpdateStorageProfile struct { + ImageReference *ImageReference `json:"imageReference,omitempty"` + OsDisk *VirtualMachineScaleSetUpdateOSDisk `json:"osDisk,omitempty"` + DataDisks *[]VirtualMachineScaleSetDataDisk `json:"dataDisks,omitempty"` +} + +// VirtualMachineScaleSetUpdateVMProfile is describes a virtual machine scale set virtual machine profile. +type VirtualMachineScaleSetUpdateVMProfile struct { + OsProfile *VirtualMachineScaleSetUpdateOSProfile `json:"osProfile,omitempty"` + StorageProfile *VirtualMachineScaleSetUpdateStorageProfile `json:"storageProfile,omitempty"` + NetworkProfile *VirtualMachineScaleSetUpdateNetworkProfile `json:"networkProfile,omitempty"` + DiagnosticsProfile *DiagnosticsProfile `json:"diagnosticsProfile,omitempty"` + ExtensionProfile *VirtualMachineScaleSetExtensionProfile `json:"extensionProfile,omitempty"` + LicenseType *string `json:"licenseType,omitempty"` +} + +// VirtualMachineScaleSetVM is describes a virtual machine scale set virtual machine. type VirtualMachineScaleSetVM struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -1217,27 +2187,24 @@ type VirtualMachineScaleSetVM struct { Resources *[]VirtualMachineExtension `json:"resources,omitempty"` } -// VirtualMachineScaleSetVMExtensionsSummary is extensions summary for virtual -// machines of a virtual machine scale set. +// VirtualMachineScaleSetVMExtensionsSummary is extensions summary for virtual machines of a virtual machine scale set. type VirtualMachineScaleSetVMExtensionsSummary struct { Name *string `json:"name,omitempty"` StatusesSummary *[]VirtualMachineStatusCodeCount `json:"statusesSummary,omitempty"` } -// VirtualMachineScaleSetVMInstanceIDs is specifies a list of virtual machine -// instance IDs from the VM scale set. +// VirtualMachineScaleSetVMInstanceIDs is specifies a list of virtual machine instance IDs from the VM scale set. type VirtualMachineScaleSetVMInstanceIDs struct { InstanceIds *[]string `json:"instanceIds,omitempty"` } -// VirtualMachineScaleSetVMInstanceRequiredIDs is specifies a list of virtual -// machine instance IDs from the VM scale set. +// VirtualMachineScaleSetVMInstanceRequiredIDs is specifies a list of virtual machine instance IDs from the VM scale +// set. type VirtualMachineScaleSetVMInstanceRequiredIDs struct { InstanceIds *[]string `json:"instanceIds,omitempty"` } -// VirtualMachineScaleSetVMInstanceView is the instance view of a virtual -// machine scale set VM. +// VirtualMachineScaleSetVMInstanceView is the instance view of a virtual machine scale set VM. type VirtualMachineScaleSetVMInstanceView struct { autorest.Response `json:"-"` PlatformUpdateDomain *int32 `json:"platformUpdateDomain,omitempty"` @@ -1246,13 +2213,13 @@ type VirtualMachineScaleSetVMInstanceView struct { VMAgent *VirtualMachineAgentInstanceView `json:"vmAgent,omitempty"` Disks *[]DiskInstanceView `json:"disks,omitempty"` Extensions *[]VirtualMachineExtensionInstanceView `json:"extensions,omitempty"` + VMHealth *VirtualMachineHealthStatus `json:"vmHealth,omitempty"` BootDiagnostics *BootDiagnosticsInstanceView `json:"bootDiagnostics,omitempty"` Statuses *[]InstanceViewStatus `json:"statuses,omitempty"` PlacementGroupID *string `json:"placementGroupId,omitempty"` } -// VirtualMachineScaleSetVMListResult is the List Virtual Machine Scale Set VMs -// operation response. +// VirtualMachineScaleSetVMListResult is the List Virtual Machine Scale Set VMs operation response. type VirtualMachineScaleSetVMListResult struct { autorest.Response `json:"-"` Value *[]VirtualMachineScaleSetVM `json:"value,omitempty"` @@ -1271,17 +2238,17 @@ func (client VirtualMachineScaleSetVMListResult) VirtualMachineScaleSetVMListRes autorest.WithBaseURL(to.String(client.NextLink))) } -// VirtualMachineScaleSetVMProfile is describes a virtual machine scale set -// virtual machine profile. +// VirtualMachineScaleSetVMProfile is describes a virtual machine scale set virtual machine profile. type VirtualMachineScaleSetVMProfile struct { - OsProfile *VirtualMachineScaleSetOSProfile `json:"osProfile,omitempty"` - StorageProfile *VirtualMachineScaleSetStorageProfile `json:"storageProfile,omitempty"` - NetworkProfile *VirtualMachineScaleSetNetworkProfile `json:"networkProfile,omitempty"` - ExtensionProfile *VirtualMachineScaleSetExtensionProfile `json:"extensionProfile,omitempty"` + OsProfile *VirtualMachineScaleSetOSProfile `json:"osProfile,omitempty"` + StorageProfile *VirtualMachineScaleSetStorageProfile `json:"storageProfile,omitempty"` + NetworkProfile *VirtualMachineScaleSetNetworkProfile `json:"networkProfile,omitempty"` + DiagnosticsProfile *DiagnosticsProfile `json:"diagnosticsProfile,omitempty"` + ExtensionProfile *VirtualMachineScaleSetExtensionProfile `json:"extensionProfile,omitempty"` + LicenseType *string `json:"licenseType,omitempty"` } -// VirtualMachineScaleSetVMProperties is describes the properties of a virtual -// machine scale set virtual machine. +// VirtualMachineScaleSetVMProperties is describes the properties of a virtual machine scale set virtual machine. type VirtualMachineScaleSetVMProperties struct { LatestModelApplied *bool `json:"latestModelApplied,omitempty"` VMID *string `json:"vmId,omitempty"` @@ -1312,14 +2279,14 @@ type VirtualMachineSizeListResult struct { Value *[]VirtualMachineSize `json:"value,omitempty"` } -// VirtualMachineStatusCodeCount is the status code and count of the virtual -// machine scale set instance view status summary. +// VirtualMachineStatusCodeCount is the status code and count of the virtual machine scale set instance view status +// summary. type VirtualMachineStatusCodeCount struct { Code *string `json:"code,omitempty"` Count *int32 `json:"count,omitempty"` } -// WindowsConfiguration is describes Windows Configuration of the OS Profile. +// WindowsConfiguration is specifies Windows operating system settings on the virtual machine. type WindowsConfiguration struct { ProvisionVMAgent *bool `json:"provisionVMAgent,omitempty"` EnableAutomaticUpdates *bool `json:"enableAutomaticUpdates,omitempty"` @@ -1328,14 +2295,12 @@ type WindowsConfiguration struct { WinRM *WinRMConfiguration `json:"winRM,omitempty"` } -// WinRMConfiguration is describes Windows Remote Management configuration of -// the VM +// WinRMConfiguration is describes Windows Remote Management configuration of the VM type WinRMConfiguration struct { Listeners *[]WinRMListener `json:"listeners,omitempty"` } -// WinRMListener is describes Protocol and thumbprint of Windows Remote -// Management listener +// WinRMListener is describes Protocol and thumbprint of Windows Remote Management listener type WinRMListener struct { Protocol ProtocolTypes `json:"protocol,omitempty"` CertificateURL *string `json:"certificateUrl,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/resourceskus.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/resourceskus.go new file mode 100644 index 000000000..9dd7fffa8 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/resourceskus.go @@ -0,0 +1,169 @@ +package compute + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// ResourceSkusClient is the compute Client +type ResourceSkusClient struct { + ManagementClient +} + +// NewResourceSkusClient creates an instance of the ResourceSkusClient client. +func NewResourceSkusClient(subscriptionID string) ResourceSkusClient { + return NewResourceSkusClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewResourceSkusClientWithBaseURI creates an instance of the ResourceSkusClient client. +func NewResourceSkusClientWithBaseURI(baseURI string, subscriptionID string) ResourceSkusClient { + return ResourceSkusClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets the list of Microsoft.Compute SKUs available for your Subscription. +func (client ResourceSkusClient) List() (result ResourceSkusResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "compute.ResourceSkusClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.ResourceSkusClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.ResourceSkusClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ResourceSkusClient) ListPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/skus", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ResourceSkusClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ResourceSkusClient) ListResponder(resp *http.Response) (result ResourceSkusResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client ResourceSkusClient) ListNextResults(lastResults ResourceSkusResult) (result ResourceSkusResult, err error) { + req, err := lastResults.ResourceSkusResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "compute.ResourceSkusClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "compute.ResourceSkusClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.ResourceSkusClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client ResourceSkusClient) ListComplete(cancel <-chan struct{}) (<-chan ResourceSku, <-chan error) { + resultChan := make(chan ResourceSku) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/snapshots.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/snapshots.go new file mode 100644 index 000000000..2c7135292 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/snapshots.go @@ -0,0 +1,819 @@ +package compute + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// SnapshotsClient is the compute Client +type SnapshotsClient struct { + ManagementClient +} + +// NewSnapshotsClient creates an instance of the SnapshotsClient client. +func NewSnapshotsClient(subscriptionID string) SnapshotsClient { + return NewSnapshotsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewSnapshotsClientWithBaseURI creates an instance of the SnapshotsClient client. +func NewSnapshotsClientWithBaseURI(baseURI string, subscriptionID string) SnapshotsClient { + return SnapshotsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a snapshot. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group. snapshotName is the name of the snapshot within the given +// subscription and resource group. snapshot is snapshot object supplied in the body of the Put disk operation. +func (client SnapshotsClient) CreateOrUpdate(resourceGroupName string, snapshotName string, snapshot Snapshot, cancel <-chan struct{}) (<-chan Snapshot, <-chan error) { + resultChan := make(chan Snapshot, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: snapshot, + Constraints: []validation.Constraint{{Target: "snapshot.DiskProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "snapshot.DiskProperties.CreationData", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "snapshot.DiskProperties.CreationData.ImageReference", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "snapshot.DiskProperties.CreationData.ImageReference.ID", Name: validation.Null, Rule: true, Chain: nil}}}, + }}, + {Target: "snapshot.DiskProperties.EncryptionSettings", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "snapshot.DiskProperties.EncryptionSettings.DiskEncryptionKey", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "snapshot.DiskProperties.EncryptionSettings.DiskEncryptionKey.SourceVault", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "snapshot.DiskProperties.EncryptionSettings.DiskEncryptionKey.SecretURL", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "snapshot.DiskProperties.EncryptionSettings.KeyEncryptionKey", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "snapshot.DiskProperties.EncryptionSettings.KeyEncryptionKey.SourceVault", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "snapshot.DiskProperties.EncryptionSettings.KeyEncryptionKey.KeyURL", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}, + }}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "compute.SnapshotsClient", "CreateOrUpdate") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result Snapshot + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, snapshotName, snapshot, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client SnapshotsClient) CreateOrUpdatePreparer(resourceGroupName string, snapshotName string, snapshot Snapshot, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "snapshotName": autorest.Encode("path", snapshotName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}", pathParameters), + autorest.WithJSON(snapshot), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client SnapshotsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client SnapshotsClient) CreateOrUpdateResponder(resp *http.Response) (result Snapshot, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a snapshot. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group. snapshotName is the name of the snapshot within the given +// subscription and resource group. +func (client SnapshotsClient) Delete(resourceGroupName string, snapshotName string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { + resultChan := make(chan OperationStatusResponse, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result OperationStatusResponse + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, snapshotName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// DeletePreparer prepares the Delete request. +func (client SnapshotsClient) DeletePreparer(resourceGroupName string, snapshotName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "snapshotName": autorest.Encode("path", snapshotName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client SnapshotsClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client SnapshotsClient) DeleteResponder(resp *http.Response) (result OperationStatusResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets information about a snapshot. +// +// resourceGroupName is the name of the resource group. snapshotName is the name of the snapshot within the given +// subscription and resource group. +func (client SnapshotsClient) Get(resourceGroupName string, snapshotName string) (result Snapshot, err error) { + req, err := client.GetPreparer(resourceGroupName, snapshotName) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client SnapshotsClient) GetPreparer(resourceGroupName string, snapshotName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "snapshotName": autorest.Encode("path", snapshotName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client SnapshotsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client SnapshotsClient) GetResponder(resp *http.Response) (result Snapshot, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GrantAccess grants access to a snapshot. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group. snapshotName is the name of the snapshot within the given +// subscription and resource group. grantAccessData is access data object supplied in the body of the get snapshot +// access operation. +func (client SnapshotsClient) GrantAccess(resourceGroupName string, snapshotName string, grantAccessData GrantAccessData, cancel <-chan struct{}) (<-chan AccessURI, <-chan error) { + resultChan := make(chan AccessURI, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: grantAccessData, + Constraints: []validation.Constraint{{Target: "grantAccessData.DurationInSeconds", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "compute.SnapshotsClient", "GrantAccess") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result AccessURI + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.GrantAccessPreparer(resourceGroupName, snapshotName, grantAccessData, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "GrantAccess", nil, "Failure preparing request") + return + } + + resp, err := client.GrantAccessSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "GrantAccess", resp, "Failure sending request") + return + } + + result, err = client.GrantAccessResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "GrantAccess", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// GrantAccessPreparer prepares the GrantAccess request. +func (client SnapshotsClient) GrantAccessPreparer(resourceGroupName string, snapshotName string, grantAccessData GrantAccessData, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "snapshotName": autorest.Encode("path", snapshotName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/beginGetAccess", pathParameters), + autorest.WithJSON(grantAccessData), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// GrantAccessSender sends the GrantAccess request. The method will close the +// http.Response Body if it receives an error. +func (client SnapshotsClient) GrantAccessSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// GrantAccessResponder handles the response to the GrantAccess request. The method always +// closes the http.Response Body. +func (client SnapshotsClient) GrantAccessResponder(resp *http.Response) (result AccessURI, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists snapshots under a subscription. +func (client SnapshotsClient) List() (result SnapshotList, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client SnapshotsClient) ListPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/snapshots", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client SnapshotsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client SnapshotsClient) ListResponder(resp *http.Response) (result SnapshotList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client SnapshotsClient) ListNextResults(lastResults SnapshotList) (result SnapshotList, err error) { + req, err := lastResults.SnapshotListPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "compute.SnapshotsClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "compute.SnapshotsClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client SnapshotsClient) ListComplete(cancel <-chan struct{}) (<-chan Snapshot, <-chan error) { + resultChan := make(chan Snapshot) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListByResourceGroup lists snapshots under a resource group. +// +// resourceGroupName is the name of the resource group. +func (client SnapshotsClient) ListByResourceGroup(resourceGroupName string) (result SnapshotList, err error) { + req, err := client.ListByResourceGroupPreparer(resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client SnapshotsClient) ListByResourceGroupPreparer(resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client SnapshotsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client SnapshotsClient) ListByResourceGroupResponder(resp *http.Response) (result SnapshotList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroupNextResults retrieves the next set of results, if any. +func (client SnapshotsClient) ListByResourceGroupNextResults(lastResults SnapshotList) (result SnapshotList, err error) { + req, err := lastResults.SnapshotListPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "compute.SnapshotsClient", "ListByResourceGroup", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "compute.SnapshotsClient", "ListByResourceGroup", resp, "Failure sending next results request") + } + + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "ListByResourceGroup", resp, "Failure responding to next results request") + } + + return +} + +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client SnapshotsClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan Snapshot, <-chan error) { + resultChan := make(chan Snapshot) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// RevokeAccess revokes access to a snapshot. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group. snapshotName is the name of the snapshot within the given +// subscription and resource group. +func (client SnapshotsClient) RevokeAccess(resourceGroupName string, snapshotName string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { + resultChan := make(chan OperationStatusResponse, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result OperationStatusResponse + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.RevokeAccessPreparer(resourceGroupName, snapshotName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "RevokeAccess", nil, "Failure preparing request") + return + } + + resp, err := client.RevokeAccessSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "RevokeAccess", resp, "Failure sending request") + return + } + + result, err = client.RevokeAccessResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "RevokeAccess", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// RevokeAccessPreparer prepares the RevokeAccess request. +func (client SnapshotsClient) RevokeAccessPreparer(resourceGroupName string, snapshotName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "snapshotName": autorest.Encode("path", snapshotName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/endGetAccess", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// RevokeAccessSender sends the RevokeAccess request. The method will close the +// http.Response Body if it receives an error. +func (client SnapshotsClient) RevokeAccessSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// RevokeAccessResponder handles the response to the RevokeAccess request. The method always +// closes the http.Response Body. +func (client SnapshotsClient) RevokeAccessResponder(resp *http.Response) (result OperationStatusResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update updates (patches) a snapshot. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group. snapshotName is the name of the snapshot within the given +// subscription and resource group. snapshot is snapshot object supplied in the body of the Patch snapshot operation. +func (client SnapshotsClient) Update(resourceGroupName string, snapshotName string, snapshot SnapshotUpdate, cancel <-chan struct{}) (<-chan Snapshot, <-chan error) { + resultChan := make(chan Snapshot, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result Snapshot + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.UpdatePreparer(resourceGroupName, snapshotName, snapshot, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.SnapshotsClient", "Update", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// UpdatePreparer prepares the Update request. +func (client SnapshotsClient) UpdatePreparer(resourceGroupName string, snapshotName string, snapshot SnapshotUpdate, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "snapshotName": autorest.Encode("path", snapshotName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}", pathParameters), + autorest.WithJSON(snapshot), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client SnapshotsClient) UpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client SnapshotsClient) UpdateResponder(resp *http.Response) (result Snapshot, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/usage.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/usage.go index 97c53e0ef..86e9ebabf 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/usage.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/usage.go @@ -14,9 +14,8 @@ package compute // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// UsageClient is the the Compute Management Client. +// UsageClient is the compute Client type UsageClient struct { ManagementClient } @@ -40,9 +39,8 @@ func NewUsageClientWithBaseURI(baseURI string, subscriptionID string) UsageClien return UsageClient{NewWithBaseURI(baseURI, subscriptionID)} } -// List gets, for the specified location, the current compute resource usage -// information as well as the limits for compute resources under the -// subscription. +// List gets, for the specified location, the current compute resource usage information as well as the limits for +// compute resources under the subscription. // // location is the location for which resource usage is queried. func (client UsageClient) List(location string) (result ListUsagesResult, err error) { @@ -80,7 +78,7 @@ func (client UsageClient) ListPreparer(location string) (*http.Request, error) { "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -135,3 +133,48 @@ func (client UsageClient) ListNextResults(lastResults ListUsagesResult) (result return } + +// ListComplete gets all elements from the list without paging. +func (client UsageClient) ListComplete(location string, cancel <-chan struct{}) (<-chan Usage, <-chan error) { + resultChan := make(chan Usage) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(location) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/version.go index b109440fe..2f9cac6f3 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/version.go @@ -14,16 +14,15 @@ package compute // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-compute/2016-04-30-preview" + return "Azure-SDK-For-Go/v11.0.0-beta arm-compute/" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachineextensionimages.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachineextensionimages.go index fcd122704..c486f63ce 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachineextensionimages.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachineextensionimages.go @@ -14,9 +14,8 @@ package compute // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,25 +23,25 @@ import ( "net/http" ) -// VirtualMachineExtensionImagesClient is the the Compute Management Client. +// VirtualMachineExtensionImagesClient is the compute Client type VirtualMachineExtensionImagesClient struct { ManagementClient } -// NewVirtualMachineExtensionImagesClient creates an instance of the -// VirtualMachineExtensionImagesClient client. +// NewVirtualMachineExtensionImagesClient creates an instance of the VirtualMachineExtensionImagesClient client. func NewVirtualMachineExtensionImagesClient(subscriptionID string) VirtualMachineExtensionImagesClient { return NewVirtualMachineExtensionImagesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewVirtualMachineExtensionImagesClientWithBaseURI creates an instance of the -// VirtualMachineExtensionImagesClient client. +// NewVirtualMachineExtensionImagesClientWithBaseURI creates an instance of the VirtualMachineExtensionImagesClient +// client. func NewVirtualMachineExtensionImagesClientWithBaseURI(baseURI string, subscriptionID string) VirtualMachineExtensionImagesClient { return VirtualMachineExtensionImagesClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get gets a virtual machine extension image. // +// location is the name of a supported Azure region. func (client VirtualMachineExtensionImagesClient) Get(location string, publisherName string, typeParameter string, version string) (result VirtualMachineExtensionImage, err error) { req, err := client.GetPreparer(location, publisherName, typeParameter, version) if err != nil { @@ -75,7 +74,7 @@ func (client VirtualMachineExtensionImagesClient) GetPreparer(location string, p "version": autorest.Encode("path", version), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -109,6 +108,7 @@ func (client VirtualMachineExtensionImagesClient) GetResponder(resp *http.Respon // ListTypes gets a list of virtual machine extension image types. // +// location is the name of a supported Azure region. func (client VirtualMachineExtensionImagesClient) ListTypes(location string, publisherName string) (result ListVirtualMachineExtensionImage, err error) { req, err := client.ListTypesPreparer(location, publisherName) if err != nil { @@ -139,7 +139,7 @@ func (client VirtualMachineExtensionImagesClient) ListTypesPreparer(location str "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -173,7 +173,7 @@ func (client VirtualMachineExtensionImagesClient) ListTypesResponder(resp *http. // ListVersions gets a list of virtual machine extension image versions. // -// filter is the filter to apply on the operation. +// location is the name of a supported Azure region. filter is the filter to apply on the operation. func (client VirtualMachineExtensionImagesClient) ListVersions(location string, publisherName string, typeParameter string, filter string, top *int32, orderby string) (result ListVirtualMachineExtensionImage, err error) { req, err := client.ListVersionsPreparer(location, publisherName, typeParameter, filter, top, orderby) if err != nil { @@ -205,7 +205,7 @@ func (client VirtualMachineExtensionImagesClient) ListVersionsPreparer(location "type": autorest.Encode("path", typeParameter), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachineextensions.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachineextensions.go index 7a876cfef..e8f0b27f1 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachineextensions.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachineextensions.go @@ -14,9 +14,8 @@ package compute // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,33 +23,28 @@ import ( "net/http" ) -// VirtualMachineExtensionsClient is the the Compute Management Client. +// VirtualMachineExtensionsClient is the compute Client type VirtualMachineExtensionsClient struct { ManagementClient } -// NewVirtualMachineExtensionsClient creates an instance of the -// VirtualMachineExtensionsClient client. +// NewVirtualMachineExtensionsClient creates an instance of the VirtualMachineExtensionsClient client. func NewVirtualMachineExtensionsClient(subscriptionID string) VirtualMachineExtensionsClient { return NewVirtualMachineExtensionsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewVirtualMachineExtensionsClientWithBaseURI creates an instance of the -// VirtualMachineExtensionsClient client. +// NewVirtualMachineExtensionsClientWithBaseURI creates an instance of the VirtualMachineExtensionsClient client. func NewVirtualMachineExtensionsClientWithBaseURI(baseURI string, subscriptionID string) VirtualMachineExtensionsClient { return VirtualMachineExtensionsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate the operation to create or update the extension. This method -// may poll for completion. Polling can be canceled by passing the cancel -// channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// CreateOrUpdate the operation to create or update the extension. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group. VMName is the name of -// the virtual machine where the extension should be create or updated. -// VMExtensionName is the name of the virtual machine extension. -// extensionParameters is parameters supplied to the Create Virtual Machine -// Extension operation. +// resourceGroupName is the name of the resource group. VMName is the name of the virtual machine where the extension +// should be create or updated. VMExtensionName is the name of the virtual machine extension. extensionParameters is +// parameters supplied to the Create Virtual Machine Extension operation. func (client VirtualMachineExtensionsClient) CreateOrUpdate(resourceGroupName string, VMName string, VMExtensionName string, extensionParameters VirtualMachineExtension, cancel <-chan struct{}) (<-chan VirtualMachineExtension, <-chan error) { resultChan := make(chan VirtualMachineExtension, 1) errChan := make(chan error, 1) @@ -58,8 +52,10 @@ func (client VirtualMachineExtensionsClient) CreateOrUpdate(resourceGroupName st var err error var result VirtualMachineExtension defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -93,7 +89,7 @@ func (client VirtualMachineExtensionsClient) CreateOrUpdatePreparer(resourceGrou "vmName": autorest.Encode("path", VMName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -129,14 +125,11 @@ func (client VirtualMachineExtensionsClient) CreateOrUpdateResponder(resp *http. return } -// Delete the operation to delete the extension. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete the operation to delete the extension. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. VMName is the name of -// the virtual machine where the extension should be deleted. VMExtensionName -// is the name of the virtual machine extension. +// resourceGroupName is the name of the resource group. VMName is the name of the virtual machine where the extension +// should be deleted. VMExtensionName is the name of the virtual machine extension. func (client VirtualMachineExtensionsClient) Delete(resourceGroupName string, VMName string, VMExtensionName string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { resultChan := make(chan OperationStatusResponse, 1) errChan := make(chan error, 1) @@ -144,8 +137,10 @@ func (client VirtualMachineExtensionsClient) Delete(resourceGroupName string, VM var err error var result OperationStatusResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -179,7 +174,7 @@ func (client VirtualMachineExtensionsClient) DeletePreparer(resourceGroupName st "vmName": autorest.Encode("path", VMName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -215,9 +210,8 @@ func (client VirtualMachineExtensionsClient) DeleteResponder(resp *http.Response // Get the operation to get the extension. // -// resourceGroupName is the name of the resource group. VMName is the name of -// the virtual machine containing the extension. VMExtensionName is the name of -// the virtual machine extension. expand is the expand expression to apply on +// resourceGroupName is the name of the resource group. VMName is the name of the virtual machine containing the +// extension. VMExtensionName is the name of the virtual machine extension. expand is the expand expression to apply on // the operation. func (client VirtualMachineExtensionsClient) Get(resourceGroupName string, VMName string, VMExtensionName string, expand string) (result VirtualMachineExtension, err error) { req, err := client.GetPreparer(resourceGroupName, VMName, VMExtensionName, expand) @@ -250,7 +244,7 @@ func (client VirtualMachineExtensionsClient) GetPreparer(resourceGroupName strin "vmName": autorest.Encode("path", VMName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachineimages.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachineimages.go index 6c090568f..9eda416e9 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachineimages.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachineimages.go @@ -14,9 +14,8 @@ package compute // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,28 +23,25 @@ import ( "net/http" ) -// VirtualMachineImagesClient is the the Compute Management Client. +// VirtualMachineImagesClient is the compute Client type VirtualMachineImagesClient struct { ManagementClient } -// NewVirtualMachineImagesClient creates an instance of the -// VirtualMachineImagesClient client. +// NewVirtualMachineImagesClient creates an instance of the VirtualMachineImagesClient client. func NewVirtualMachineImagesClient(subscriptionID string) VirtualMachineImagesClient { return NewVirtualMachineImagesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewVirtualMachineImagesClientWithBaseURI creates an instance of the -// VirtualMachineImagesClient client. +// NewVirtualMachineImagesClientWithBaseURI creates an instance of the VirtualMachineImagesClient client. func NewVirtualMachineImagesClientWithBaseURI(baseURI string, subscriptionID string) VirtualMachineImagesClient { return VirtualMachineImagesClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get gets a virtual machine image. // -// location is the name of a supported Azure region. publisherName is a valid -// image publisher. offer is a valid image publisher offer. skus is a valid -// image SKU. version is a valid image SKU version. +// location is the name of a supported Azure region. publisherName is a valid image publisher. offer is a valid image +// publisher offer. skus is a valid image SKU. version is a valid image SKU version. func (client VirtualMachineImagesClient) Get(location string, publisherName string, offer string, skus string, version string) (result VirtualMachineImage, err error) { req, err := client.GetPreparer(location, publisherName, offer, skus, version) if err != nil { @@ -79,7 +75,7 @@ func (client VirtualMachineImagesClient) GetPreparer(location string, publisherN "version": autorest.Encode("path", version), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -111,12 +107,10 @@ func (client VirtualMachineImagesClient) GetResponder(resp *http.Response) (resu return } -// List gets a list of all virtual machine image versions for the specified -// location, publisher, offer, and SKU. +// List gets a list of all virtual machine image versions for the specified location, publisher, offer, and SKU. // -// location is the name of a supported Azure region. publisherName is a valid -// image publisher. offer is a valid image publisher offer. skus is a valid -// image SKU. filter is the filter to apply on the operation. +// location is the name of a supported Azure region. publisherName is a valid image publisher. offer is a valid image +// publisher offer. skus is a valid image SKU. filter is the filter to apply on the operation. func (client VirtualMachineImagesClient) List(location string, publisherName string, offer string, skus string, filter string, top *int32, orderby string) (result ListVirtualMachineImageResource, err error) { req, err := client.ListPreparer(location, publisherName, offer, skus, filter, top, orderby) if err != nil { @@ -149,7 +143,7 @@ func (client VirtualMachineImagesClient) ListPreparer(location string, publisher "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -190,11 +184,9 @@ func (client VirtualMachineImagesClient) ListResponder(resp *http.Response) (res return } -// ListOffers gets a list of virtual machine image offers for the specified -// location and publisher. +// ListOffers gets a list of virtual machine image offers for the specified location and publisher. // -// location is the name of a supported Azure region. publisherName is a valid -// image publisher. +// location is the name of a supported Azure region. publisherName is a valid image publisher. func (client VirtualMachineImagesClient) ListOffers(location string, publisherName string) (result ListVirtualMachineImageResource, err error) { req, err := client.ListOffersPreparer(location, publisherName) if err != nil { @@ -225,7 +217,7 @@ func (client VirtualMachineImagesClient) ListOffersPreparer(location string, pub "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -257,8 +249,7 @@ func (client VirtualMachineImagesClient) ListOffersResponder(resp *http.Response return } -// ListPublishers gets a list of virtual machine image publishers for the -// specified Azure location. +// ListPublishers gets a list of virtual machine image publishers for the specified Azure location. // // location is the name of a supported Azure region. func (client VirtualMachineImagesClient) ListPublishers(location string) (result ListVirtualMachineImageResource, err error) { @@ -290,7 +281,7 @@ func (client VirtualMachineImagesClient) ListPublishersPreparer(location string) "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -322,11 +313,10 @@ func (client VirtualMachineImagesClient) ListPublishersResponder(resp *http.Resp return } -// ListSkus gets a list of virtual machine image SKUs for the specified -// location, publisher, and offer. +// ListSkus gets a list of virtual machine image SKUs for the specified location, publisher, and offer. // -// location is the name of a supported Azure region. publisherName is a valid -// image publisher. offer is a valid image publisher offer. +// location is the name of a supported Azure region. publisherName is a valid image publisher. offer is a valid image +// publisher offer. func (client VirtualMachineImagesClient) ListSkus(location string, publisherName string, offer string) (result ListVirtualMachineImageResource, err error) { req, err := client.ListSkusPreparer(location, publisherName, offer) if err != nil { @@ -358,7 +348,7 @@ func (client VirtualMachineImagesClient) ListSkusPreparer(location string, publi "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachineruncommands.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachineruncommands.go new file mode 100644 index 000000000..f422c92f5 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachineruncommands.go @@ -0,0 +1,250 @@ +package compute + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// VirtualMachineRunCommandsClient is the compute Client +type VirtualMachineRunCommandsClient struct { + ManagementClient +} + +// NewVirtualMachineRunCommandsClient creates an instance of the VirtualMachineRunCommandsClient client. +func NewVirtualMachineRunCommandsClient(subscriptionID string) VirtualMachineRunCommandsClient { + return NewVirtualMachineRunCommandsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVirtualMachineRunCommandsClientWithBaseURI creates an instance of the VirtualMachineRunCommandsClient client. +func NewVirtualMachineRunCommandsClientWithBaseURI(baseURI string, subscriptionID string) VirtualMachineRunCommandsClient { + return VirtualMachineRunCommandsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets specific run command for a subscription in a location. +// +// location is the location upon which run commands is queried. commandID is the command id. +func (client VirtualMachineRunCommandsClient) Get(location string, commandID string) (result RunCommandDocument, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: location, + Constraints: []validation.Constraint{{Target: "location", Name: validation.Pattern, Rule: `^[-\w\._]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "compute.VirtualMachineRunCommandsClient", "Get") + } + + req, err := client.GetPreparer(location, commandID) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachineRunCommandsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.VirtualMachineRunCommandsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachineRunCommandsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VirtualMachineRunCommandsClient) GetPreparer(location string, commandID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "commandId": autorest.Encode("path", commandID), + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands/{commandId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualMachineRunCommandsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VirtualMachineRunCommandsClient) GetResponder(resp *http.Response) (result RunCommandDocument, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all available run commands for a subscription in a location. +// +// location is the location upon which run commands is queried. +func (client VirtualMachineRunCommandsClient) List(location string) (result RunCommandListResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: location, + Constraints: []validation.Constraint{{Target: "location", Name: validation.Pattern, Rule: `^[-\w\._]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "compute.VirtualMachineRunCommandsClient", "List") + } + + req, err := client.ListPreparer(location) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachineRunCommandsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.VirtualMachineRunCommandsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachineRunCommandsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client VirtualMachineRunCommandsClient) ListPreparer(location string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualMachineRunCommandsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client VirtualMachineRunCommandsClient) ListResponder(resp *http.Response) (result RunCommandListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client VirtualMachineRunCommandsClient) ListNextResults(lastResults RunCommandListResult) (result RunCommandListResult, err error) { + req, err := lastResults.RunCommandListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "compute.VirtualMachineRunCommandsClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "compute.VirtualMachineRunCommandsClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachineRunCommandsClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client VirtualMachineRunCommandsClient) ListComplete(location string, cancel <-chan struct{}) (<-chan RunCommandDocumentBase, <-chan error) { + resultChan := make(chan RunCommandDocumentBase) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(location) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachines.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachines.go index 686b7ace2..ad1d829d1 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachines.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachines.go @@ -14,9 +14,8 @@ package compute // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,32 +24,27 @@ import ( "net/http" ) -// VirtualMachinesClient is the the Compute Management Client. +// VirtualMachinesClient is the compute Client type VirtualMachinesClient struct { ManagementClient } -// NewVirtualMachinesClient creates an instance of the VirtualMachinesClient -// client. +// NewVirtualMachinesClient creates an instance of the VirtualMachinesClient client. func NewVirtualMachinesClient(subscriptionID string) VirtualMachinesClient { return NewVirtualMachinesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewVirtualMachinesClientWithBaseURI creates an instance of the -// VirtualMachinesClient client. +// NewVirtualMachinesClientWithBaseURI creates an instance of the VirtualMachinesClient client. func NewVirtualMachinesClientWithBaseURI(baseURI string, subscriptionID string) VirtualMachinesClient { return VirtualMachinesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Capture captures the VM by copying virtual hard disks of the VM and outputs -// a template that can be used to create similar VMs. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Capture captures the VM by copying virtual hard disks of the VM and outputs a template that can be used to create +// similar VMs. This method may poll for completion. Polling can be canceled by passing the cancel channel argument. +// The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. VMName is the name of -// the virtual machine. parameters is parameters supplied to the Capture -// Virtual Machine operation. +// resourceGroupName is the name of the resource group. VMName is the name of the virtual machine. parameters is +// parameters supplied to the Capture Virtual Machine operation. func (client VirtualMachinesClient) Capture(resourceGroupName string, VMName string, parameters VirtualMachineCaptureParameters, cancel <-chan struct{}) (<-chan VirtualMachineCaptureResult, <-chan error) { resultChan := make(chan VirtualMachineCaptureResult, 1) errChan := make(chan error, 1) @@ -69,8 +63,10 @@ func (client VirtualMachinesClient) Capture(resourceGroupName string, VMName str var err error var result VirtualMachineCaptureResult defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -103,7 +99,7 @@ func (client VirtualMachinesClient) CapturePreparer(resourceGroupName string, VM "vmName": autorest.Encode("path", VMName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -139,14 +135,11 @@ func (client VirtualMachinesClient) CaptureResponder(resp *http.Response) (resul return } -// ConvertToManagedDisks converts virtual machine disks from blob-based to -// managed disks. Virtual machine must be stop-deallocated before invoking this -// operation. This method may poll for completion. Polling can be canceled by -// passing the cancel channel argument. The channel will be used to cancel -// polling and any outstanding HTTP requests. +// ConvertToManagedDisks converts virtual machine disks from blob-based to managed disks. Virtual machine must be +// stop-deallocated before invoking this operation. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. VMName is the name of -// the virtual machine. +// resourceGroupName is the name of the resource group. VMName is the name of the virtual machine. func (client VirtualMachinesClient) ConvertToManagedDisks(resourceGroupName string, VMName string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { resultChan := make(chan OperationStatusResponse, 1) errChan := make(chan error, 1) @@ -154,8 +147,10 @@ func (client VirtualMachinesClient) ConvertToManagedDisks(resourceGroupName stri var err error var result OperationStatusResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -188,7 +183,7 @@ func (client VirtualMachinesClient) ConvertToManagedDisksPreparer(resourceGroupN "vmName": autorest.Encode("path", VMName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -222,14 +217,12 @@ func (client VirtualMachinesClient) ConvertToManagedDisksResponder(resp *http.Re return } -// CreateOrUpdate the operation to create or update a virtual machine. This -// method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// CreateOrUpdate the operation to create or update a virtual machine. This method may poll for completion. Polling can +// be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding +// HTTP requests. // -// resourceGroupName is the name of the resource group. VMName is the name of -// the virtual machine. parameters is parameters supplied to the Create Virtual -// Machine operation. +// resourceGroupName is the name of the resource group. VMName is the name of the virtual machine. parameters is +// parameters supplied to the Create Virtual Machine operation. func (client VirtualMachinesClient) CreateOrUpdate(resourceGroupName string, VMName string, parameters VirtualMachine, cancel <-chan struct{}) (<-chan VirtualMachine, <-chan error) { resultChan := make(chan VirtualMachine, 1) errChan := make(chan error, 1) @@ -261,8 +254,10 @@ func (client VirtualMachinesClient) CreateOrUpdate(resourceGroupName string, VMN var err error var result VirtualMachine defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -295,7 +290,7 @@ func (client VirtualMachinesClient) CreateOrUpdatePreparer(resourceGroupName str "vmName": autorest.Encode("path", VMName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -331,14 +326,11 @@ func (client VirtualMachinesClient) CreateOrUpdateResponder(resp *http.Response) return } -// Deallocate shuts down the virtual machine and releases the compute -// resources. You are not billed for the compute resources that this virtual -// machine uses. This method may poll for completion. Polling can be canceled -// by passing the cancel channel argument. The channel will be used to cancel -// polling and any outstanding HTTP requests. +// Deallocate shuts down the virtual machine and releases the compute resources. You are not billed for the compute +// resources that this virtual machine uses. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. VMName is the name of -// the virtual machine. +// resourceGroupName is the name of the resource group. VMName is the name of the virtual machine. func (client VirtualMachinesClient) Deallocate(resourceGroupName string, VMName string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { resultChan := make(chan OperationStatusResponse, 1) errChan := make(chan error, 1) @@ -346,8 +338,10 @@ func (client VirtualMachinesClient) Deallocate(resourceGroupName string, VMName var err error var result OperationStatusResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -380,7 +374,7 @@ func (client VirtualMachinesClient) DeallocatePreparer(resourceGroupName string, "vmName": autorest.Encode("path", VMName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -414,13 +408,10 @@ func (client VirtualMachinesClient) DeallocateResponder(resp *http.Response) (re return } -// Delete the operation to delete a virtual machine. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete the operation to delete a virtual machine. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. VMName is the name of -// the virtual machine. +// resourceGroupName is the name of the resource group. VMName is the name of the virtual machine. func (client VirtualMachinesClient) Delete(resourceGroupName string, VMName string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { resultChan := make(chan OperationStatusResponse, 1) errChan := make(chan error, 1) @@ -428,8 +419,10 @@ func (client VirtualMachinesClient) Delete(resourceGroupName string, VMName stri var err error var result OperationStatusResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -462,7 +455,7 @@ func (client VirtualMachinesClient) DeletePreparer(resourceGroupName string, VMN "vmName": autorest.Encode("path", VMName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -498,8 +491,7 @@ func (client VirtualMachinesClient) DeleteResponder(resp *http.Response) (result // Generalize sets the state of the virtual machine to generalized. // -// resourceGroupName is the name of the resource group. VMName is the name of -// the virtual machine. +// resourceGroupName is the name of the resource group. VMName is the name of the virtual machine. func (client VirtualMachinesClient) Generalize(resourceGroupName string, VMName string) (result OperationStatusResponse, err error) { req, err := client.GeneralizePreparer(resourceGroupName, VMName) if err != nil { @@ -530,7 +522,7 @@ func (client VirtualMachinesClient) GeneralizePreparer(resourceGroupName string, "vmName": autorest.Encode("path", VMName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -562,12 +554,10 @@ func (client VirtualMachinesClient) GeneralizeResponder(resp *http.Response) (re return } -// Get retrieves information about the model view or the instance view of a -// virtual machine. +// Get retrieves information about the model view or the instance view of a virtual machine. // -// resourceGroupName is the name of the resource group. VMName is the name of -// the virtual machine. expand is the expand expression to apply on the -// operation. +// resourceGroupName is the name of the resource group. VMName is the name of the virtual machine. expand is the expand +// expression to apply on the operation. func (client VirtualMachinesClient) Get(resourceGroupName string, VMName string, expand InstanceViewTypes) (result VirtualMachine, err error) { req, err := client.GetPreparer(resourceGroupName, VMName, expand) if err != nil { @@ -598,7 +588,7 @@ func (client VirtualMachinesClient) GetPreparer(resourceGroupName string, VMName "vmName": autorest.Encode("path", VMName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -633,9 +623,73 @@ func (client VirtualMachinesClient) GetResponder(resp *http.Response) (result Vi return } -// List lists all of the virtual machines in the specified resource group. Use -// the nextLink property in the response to get the next page of virtual -// machines. +// InstanceView retrieves information about the run-time state of a virtual machine. +// +// resourceGroupName is the name of the resource group. VMName is the name of the virtual machine. +func (client VirtualMachinesClient) InstanceView(resourceGroupName string, VMName string) (result VirtualMachineInstanceView, err error) { + req, err := client.InstanceViewPreparer(resourceGroupName, VMName) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachinesClient", "InstanceView", nil, "Failure preparing request") + return + } + + resp, err := client.InstanceViewSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.VirtualMachinesClient", "InstanceView", resp, "Failure sending request") + return + } + + result, err = client.InstanceViewResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachinesClient", "InstanceView", resp, "Failure responding to request") + } + + return +} + +// InstanceViewPreparer prepares the InstanceView request. +func (client VirtualMachinesClient) InstanceViewPreparer(resourceGroupName string, VMName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vmName": autorest.Encode("path", VMName), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/instanceView", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// InstanceViewSender sends the InstanceView request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualMachinesClient) InstanceViewSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// InstanceViewResponder handles the response to the InstanceView request. The method always +// closes the http.Response Body. +func (client VirtualMachinesClient) InstanceViewResponder(resp *http.Response) (result VirtualMachineInstanceView, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all of the virtual machines in the specified resource group. Use the nextLink property in the response to +// get the next page of virtual machines. // // resourceGroupName is the name of the resource group. func (client VirtualMachinesClient) List(resourceGroupName string) (result VirtualMachineListResult, err error) { @@ -667,7 +721,7 @@ func (client VirtualMachinesClient) ListPreparer(resourceGroupName string) (*htt "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -723,9 +777,53 @@ func (client VirtualMachinesClient) ListNextResults(lastResults VirtualMachineLi return } -// ListAll lists all of the virtual machines in the specified subscription. Use -// the nextLink property in the response to get the next page of virtual -// machines. +// ListComplete gets all elements from the list without paging. +func (client VirtualMachinesClient) ListComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan VirtualMachine, <-chan error) { + resultChan := make(chan VirtualMachine) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListAll lists all of the virtual machines in the specified subscription. Use the nextLink property in the response +// to get the next page of virtual machines. func (client VirtualMachinesClient) ListAll() (result VirtualMachineListResult, err error) { req, err := client.ListAllPreparer() if err != nil { @@ -754,7 +852,7 @@ func (client VirtualMachinesClient) ListAllPreparer() (*http.Request, error) { "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -810,11 +908,54 @@ func (client VirtualMachinesClient) ListAllNextResults(lastResults VirtualMachin return } -// ListAvailableSizes lists all available virtual machine sizes to which the -// specified virtual machine can be resized. +// ListAllComplete gets all elements from the list without paging. +func (client VirtualMachinesClient) ListAllComplete(cancel <-chan struct{}) (<-chan VirtualMachine, <-chan error) { + resultChan := make(chan VirtualMachine) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAll() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAllNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListAvailableSizes lists all available virtual machine sizes to which the specified virtual machine can be resized. // -// resourceGroupName is the name of the resource group. VMName is the name of -// the virtual machine. +// resourceGroupName is the name of the resource group. VMName is the name of the virtual machine. func (client VirtualMachinesClient) ListAvailableSizes(resourceGroupName string, VMName string) (result VirtualMachineSizeListResult, err error) { req, err := client.ListAvailableSizesPreparer(resourceGroupName, VMName) if err != nil { @@ -845,7 +986,7 @@ func (client VirtualMachinesClient) ListAvailableSizesPreparer(resourceGroupName "vmName": autorest.Encode("path", VMName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -877,14 +1018,94 @@ func (client VirtualMachinesClient) ListAvailableSizesResponder(resp *http.Respo return } -// PowerOff the operation to power off (stop) a virtual machine. The virtual -// machine can be restarted with the same provisioned resources. You are still -// charged for this virtual machine. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// PerformMaintenance the operation to perform maintenance on a virtual machine. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. VMName is the name of -// the virtual machine. +// resourceGroupName is the name of the resource group. VMName is the name of the virtual machine. +func (client VirtualMachinesClient) PerformMaintenance(resourceGroupName string, VMName string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { + resultChan := make(chan OperationStatusResponse, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result OperationStatusResponse + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.PerformMaintenancePreparer(resourceGroupName, VMName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachinesClient", "PerformMaintenance", nil, "Failure preparing request") + return + } + + resp, err := client.PerformMaintenanceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.VirtualMachinesClient", "PerformMaintenance", resp, "Failure sending request") + return + } + + result, err = client.PerformMaintenanceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachinesClient", "PerformMaintenance", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// PerformMaintenancePreparer prepares the PerformMaintenance request. +func (client VirtualMachinesClient) PerformMaintenancePreparer(resourceGroupName string, VMName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vmName": autorest.Encode("path", VMName), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/performMaintenance", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// PerformMaintenanceSender sends the PerformMaintenance request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualMachinesClient) PerformMaintenanceSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// PerformMaintenanceResponder handles the response to the PerformMaintenance request. The method always +// closes the http.Response Body. +func (client VirtualMachinesClient) PerformMaintenanceResponder(resp *http.Response) (result OperationStatusResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// PowerOff the operation to power off (stop) a virtual machine. The virtual machine can be restarted with the same +// provisioned resources. You are still charged for this virtual machine. This method may poll for completion. Polling +// can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group. VMName is the name of the virtual machine. func (client VirtualMachinesClient) PowerOff(resourceGroupName string, VMName string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { resultChan := make(chan OperationStatusResponse, 1) errChan := make(chan error, 1) @@ -892,8 +1113,10 @@ func (client VirtualMachinesClient) PowerOff(resourceGroupName string, VMName st var err error var result OperationStatusResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -926,7 +1149,7 @@ func (client VirtualMachinesClient) PowerOffPreparer(resourceGroupName string, V "vmName": autorest.Encode("path", VMName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -960,13 +1183,11 @@ func (client VirtualMachinesClient) PowerOffResponder(resp *http.Response) (resu return } -// Redeploy the operation to redeploy a virtual machine. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// Redeploy the operation to redeploy a virtual machine. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group. VMName is the name of -// the virtual machine. +// resourceGroupName is the name of the resource group. VMName is the name of the virtual machine. func (client VirtualMachinesClient) Redeploy(resourceGroupName string, VMName string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { resultChan := make(chan OperationStatusResponse, 1) errChan := make(chan error, 1) @@ -974,8 +1195,10 @@ func (client VirtualMachinesClient) Redeploy(resourceGroupName string, VMName st var err error var result OperationStatusResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -1008,7 +1231,7 @@ func (client VirtualMachinesClient) RedeployPreparer(resourceGroupName string, V "vmName": autorest.Encode("path", VMName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1042,13 +1265,10 @@ func (client VirtualMachinesClient) RedeployResponder(resp *http.Response) (resu return } -// Restart the operation to restart a virtual machine. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Restart the operation to restart a virtual machine. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. VMName is the name of -// the virtual machine. +// resourceGroupName is the name of the resource group. VMName is the name of the virtual machine. func (client VirtualMachinesClient) Restart(resourceGroupName string, VMName string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { resultChan := make(chan OperationStatusResponse, 1) errChan := make(chan error, 1) @@ -1056,8 +1276,10 @@ func (client VirtualMachinesClient) Restart(resourceGroupName string, VMName str var err error var result OperationStatusResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -1090,7 +1312,7 @@ func (client VirtualMachinesClient) RestartPreparer(resourceGroupName string, VM "vmName": autorest.Encode("path", VMName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1124,13 +1346,103 @@ func (client VirtualMachinesClient) RestartResponder(resp *http.Response) (resul return } -// Start the operation to start a virtual machine. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// RunCommand run command on the VM. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. VMName is the name of -// the virtual machine. +// resourceGroupName is the name of the resource group. VMName is the name of the virtual machine. parameters is +// parameters supplied to the Run command operation. +func (client VirtualMachinesClient) RunCommand(resourceGroupName string, VMName string, parameters RunCommandInput, cancel <-chan struct{}) (<-chan RunCommandResult, <-chan error) { + resultChan := make(chan RunCommandResult, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.CommandID", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "compute.VirtualMachinesClient", "RunCommand") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result RunCommandResult + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.RunCommandPreparer(resourceGroupName, VMName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachinesClient", "RunCommand", nil, "Failure preparing request") + return + } + + resp, err := client.RunCommandSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.VirtualMachinesClient", "RunCommand", resp, "Failure sending request") + return + } + + result, err = client.RunCommandResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachinesClient", "RunCommand", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// RunCommandPreparer prepares the RunCommand request. +func (client VirtualMachinesClient) RunCommandPreparer(resourceGroupName string, VMName string, parameters RunCommandInput, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vmName": autorest.Encode("path", VMName), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommand", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// RunCommandSender sends the RunCommand request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualMachinesClient) RunCommandSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// RunCommandResponder handles the response to the RunCommand request. The method always +// closes the http.Response Body. +func (client VirtualMachinesClient) RunCommandResponder(resp *http.Response) (result RunCommandResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Start the operation to start a virtual machine. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group. VMName is the name of the virtual machine. func (client VirtualMachinesClient) Start(resourceGroupName string, VMName string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { resultChan := make(chan OperationStatusResponse, 1) errChan := make(chan error, 1) @@ -1138,8 +1450,10 @@ func (client VirtualMachinesClient) Start(resourceGroupName string, VMName strin var err error var result OperationStatusResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -1172,7 +1486,7 @@ func (client VirtualMachinesClient) StartPreparer(resourceGroupName string, VMNa "vmName": autorest.Encode("path", VMName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachinescalesetextensions.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachinescalesetextensions.go new file mode 100644 index 000000000..9a198f148 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachinescalesetextensions.go @@ -0,0 +1,416 @@ +package compute + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// VirtualMachineScaleSetExtensionsClient is the compute Client +type VirtualMachineScaleSetExtensionsClient struct { + ManagementClient +} + +// NewVirtualMachineScaleSetExtensionsClient creates an instance of the VirtualMachineScaleSetExtensionsClient client. +func NewVirtualMachineScaleSetExtensionsClient(subscriptionID string) VirtualMachineScaleSetExtensionsClient { + return NewVirtualMachineScaleSetExtensionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVirtualMachineScaleSetExtensionsClientWithBaseURI creates an instance of the +// VirtualMachineScaleSetExtensionsClient client. +func NewVirtualMachineScaleSetExtensionsClientWithBaseURI(baseURI string, subscriptionID string) VirtualMachineScaleSetExtensionsClient { + return VirtualMachineScaleSetExtensionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate the operation to create or update an extension. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. +// +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set where the +// extension should be create or updated. vmssExtensionName is the name of the VM scale set extension. +// extensionParameters is parameters supplied to the Create VM scale set Extension operation. +func (client VirtualMachineScaleSetExtensionsClient) CreateOrUpdate(resourceGroupName string, VMScaleSetName string, vmssExtensionName string, extensionParameters VirtualMachineScaleSetExtension, cancel <-chan struct{}) (<-chan VirtualMachineScaleSetExtension, <-chan error) { + resultChan := make(chan VirtualMachineScaleSetExtension, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result VirtualMachineScaleSetExtension + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, VMScaleSetName, vmssExtensionName, extensionParameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetExtensionsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetExtensionsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetExtensionsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VirtualMachineScaleSetExtensionsClient) CreateOrUpdatePreparer(resourceGroupName string, VMScaleSetName string, vmssExtensionName string, extensionParameters VirtualMachineScaleSetExtension, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vmScaleSetName": autorest.Encode("path", VMScaleSetName), + "vmssExtensionName": autorest.Encode("path", vmssExtensionName), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions/{vmssExtensionName}", pathParameters), + autorest.WithJSON(extensionParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualMachineScaleSetExtensionsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VirtualMachineScaleSetExtensionsClient) CreateOrUpdateResponder(resp *http.Response) (result VirtualMachineScaleSetExtension, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete the operation to delete the extension. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set where the +// extension should be deleted. vmssExtensionName is the name of the VM scale set extension. +func (client VirtualMachineScaleSetExtensionsClient) Delete(resourceGroupName string, VMScaleSetName string, vmssExtensionName string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { + resultChan := make(chan OperationStatusResponse, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result OperationStatusResponse + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, VMScaleSetName, vmssExtensionName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetExtensionsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetExtensionsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetExtensionsClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// DeletePreparer prepares the Delete request. +func (client VirtualMachineScaleSetExtensionsClient) DeletePreparer(resourceGroupName string, VMScaleSetName string, vmssExtensionName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vmScaleSetName": autorest.Encode("path", VMScaleSetName), + "vmssExtensionName": autorest.Encode("path", vmssExtensionName), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions/{vmssExtensionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualMachineScaleSetExtensionsClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VirtualMachineScaleSetExtensionsClient) DeleteResponder(resp *http.Response) (result OperationStatusResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get the operation to get the extension. +// +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set containing the +// extension. vmssExtensionName is the name of the VM scale set extension. expand is the expand expression to apply on +// the operation. +func (client VirtualMachineScaleSetExtensionsClient) Get(resourceGroupName string, VMScaleSetName string, vmssExtensionName string, expand string) (result VirtualMachineScaleSetExtension, err error) { + req, err := client.GetPreparer(resourceGroupName, VMScaleSetName, vmssExtensionName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetExtensionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetExtensionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetExtensionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VirtualMachineScaleSetExtensionsClient) GetPreparer(resourceGroupName string, VMScaleSetName string, vmssExtensionName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vmScaleSetName": autorest.Encode("path", VMScaleSetName), + "vmssExtensionName": autorest.Encode("path", vmssExtensionName), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions/{vmssExtensionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualMachineScaleSetExtensionsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VirtualMachineScaleSetExtensionsClient) GetResponder(resp *http.Response) (result VirtualMachineScaleSetExtension, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets a list of all extensions in a VM scale set. +// +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set containing the +// extension. +func (client VirtualMachineScaleSetExtensionsClient) List(resourceGroupName string, VMScaleSetName string) (result VirtualMachineScaleSetExtensionListResult, err error) { + req, err := client.ListPreparer(resourceGroupName, VMScaleSetName) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetExtensionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetExtensionsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetExtensionsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client VirtualMachineScaleSetExtensionsClient) ListPreparer(resourceGroupName string, VMScaleSetName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vmScaleSetName": autorest.Encode("path", VMScaleSetName), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualMachineScaleSetExtensionsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client VirtualMachineScaleSetExtensionsClient) ListResponder(resp *http.Response) (result VirtualMachineScaleSetExtensionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client VirtualMachineScaleSetExtensionsClient) ListNextResults(lastResults VirtualMachineScaleSetExtensionListResult) (result VirtualMachineScaleSetExtensionListResult, err error) { + req, err := lastResults.VirtualMachineScaleSetExtensionListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetExtensionsClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetExtensionsClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetExtensionsClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client VirtualMachineScaleSetExtensionsClient) ListComplete(resourceGroupName string, VMScaleSetName string, cancel <-chan struct{}) (<-chan VirtualMachineScaleSetExtension, <-chan error) { + resultChan := make(chan VirtualMachineScaleSetExtension) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, VMScaleSetName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachinescalesetrollingupgrades.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachinescalesetrollingupgrades.go new file mode 100644 index 000000000..45cc6e5c5 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachinescalesetrollingupgrades.go @@ -0,0 +1,271 @@ +package compute + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// VirtualMachineScaleSetRollingUpgradesClient is the compute Client +type VirtualMachineScaleSetRollingUpgradesClient struct { + ManagementClient +} + +// NewVirtualMachineScaleSetRollingUpgradesClient creates an instance of the +// VirtualMachineScaleSetRollingUpgradesClient client. +func NewVirtualMachineScaleSetRollingUpgradesClient(subscriptionID string) VirtualMachineScaleSetRollingUpgradesClient { + return NewVirtualMachineScaleSetRollingUpgradesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVirtualMachineScaleSetRollingUpgradesClientWithBaseURI creates an instance of the +// VirtualMachineScaleSetRollingUpgradesClient client. +func NewVirtualMachineScaleSetRollingUpgradesClientWithBaseURI(baseURI string, subscriptionID string) VirtualMachineScaleSetRollingUpgradesClient { + return VirtualMachineScaleSetRollingUpgradesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Cancel cancels the current virtual machine scale set rolling upgrade. This method may poll for completion. Polling +// can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set. +func (client VirtualMachineScaleSetRollingUpgradesClient) Cancel(resourceGroupName string, VMScaleSetName string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { + resultChan := make(chan OperationStatusResponse, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result OperationStatusResponse + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CancelPreparer(resourceGroupName, VMScaleSetName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetRollingUpgradesClient", "Cancel", nil, "Failure preparing request") + return + } + + resp, err := client.CancelSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetRollingUpgradesClient", "Cancel", resp, "Failure sending request") + return + } + + result, err = client.CancelResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetRollingUpgradesClient", "Cancel", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CancelPreparer prepares the Cancel request. +func (client VirtualMachineScaleSetRollingUpgradesClient) CancelPreparer(resourceGroupName string, VMScaleSetName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vmScaleSetName": autorest.Encode("path", VMScaleSetName), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/cancel", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CancelSender sends the Cancel request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualMachineScaleSetRollingUpgradesClient) CancelSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CancelResponder handles the response to the Cancel request. The method always +// closes the http.Response Body. +func (client VirtualMachineScaleSetRollingUpgradesClient) CancelResponder(resp *http.Response) (result OperationStatusResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetLatest gets the status of the latest virtual machine scale set rolling upgrade. +// +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set. +func (client VirtualMachineScaleSetRollingUpgradesClient) GetLatest(resourceGroupName string, VMScaleSetName string) (result RollingUpgradeStatusInfo, err error) { + req, err := client.GetLatestPreparer(resourceGroupName, VMScaleSetName) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetRollingUpgradesClient", "GetLatest", nil, "Failure preparing request") + return + } + + resp, err := client.GetLatestSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetRollingUpgradesClient", "GetLatest", resp, "Failure sending request") + return + } + + result, err = client.GetLatestResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetRollingUpgradesClient", "GetLatest", resp, "Failure responding to request") + } + + return +} + +// GetLatestPreparer prepares the GetLatest request. +func (client VirtualMachineScaleSetRollingUpgradesClient) GetLatestPreparer(resourceGroupName string, VMScaleSetName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vmScaleSetName": autorest.Encode("path", VMScaleSetName), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/latest", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetLatestSender sends the GetLatest request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualMachineScaleSetRollingUpgradesClient) GetLatestSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetLatestResponder handles the response to the GetLatest request. The method always +// closes the http.Response Body. +func (client VirtualMachineScaleSetRollingUpgradesClient) GetLatestResponder(resp *http.Response) (result RollingUpgradeStatusInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// StartOSUpgrade starts a rolling upgrade to move all virtual machine scale set instances to the latest available +// Platform Image OS version. Instances which are already running the latest available OS version are not affected. +// This method may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel +// will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set. +func (client VirtualMachineScaleSetRollingUpgradesClient) StartOSUpgrade(resourceGroupName string, VMScaleSetName string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { + resultChan := make(chan OperationStatusResponse, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result OperationStatusResponse + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.StartOSUpgradePreparer(resourceGroupName, VMScaleSetName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetRollingUpgradesClient", "StartOSUpgrade", nil, "Failure preparing request") + return + } + + resp, err := client.StartOSUpgradeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetRollingUpgradesClient", "StartOSUpgrade", resp, "Failure sending request") + return + } + + result, err = client.StartOSUpgradeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetRollingUpgradesClient", "StartOSUpgrade", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// StartOSUpgradePreparer prepares the StartOSUpgrade request. +func (client VirtualMachineScaleSetRollingUpgradesClient) StartOSUpgradePreparer(resourceGroupName string, VMScaleSetName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vmScaleSetName": autorest.Encode("path", VMScaleSetName), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osRollingUpgrade", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// StartOSUpgradeSender sends the StartOSUpgrade request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualMachineScaleSetRollingUpgradesClient) StartOSUpgradeSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// StartOSUpgradeResponder handles the response to the StartOSUpgrade request. The method always +// closes the http.Response Body. +func (client VirtualMachineScaleSetRollingUpgradesClient) StartOSUpgradeResponder(resp *http.Response) (result OperationStatusResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachinescalesets.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachinescalesets.go index 53700c8dd..72a868579 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachinescalesets.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachinescalesets.go @@ -14,9 +14,8 @@ package compute // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,43 +24,67 @@ import ( "net/http" ) -// VirtualMachineScaleSetsClient is the the Compute Management Client. +// VirtualMachineScaleSetsClient is the compute Client type VirtualMachineScaleSetsClient struct { ManagementClient } -// NewVirtualMachineScaleSetsClient creates an instance of the -// VirtualMachineScaleSetsClient client. +// NewVirtualMachineScaleSetsClient creates an instance of the VirtualMachineScaleSetsClient client. func NewVirtualMachineScaleSetsClient(subscriptionID string) VirtualMachineScaleSetsClient { return NewVirtualMachineScaleSetsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewVirtualMachineScaleSetsClientWithBaseURI creates an instance of the -// VirtualMachineScaleSetsClient client. +// NewVirtualMachineScaleSetsClientWithBaseURI creates an instance of the VirtualMachineScaleSetsClient client. func NewVirtualMachineScaleSetsClientWithBaseURI(baseURI string, subscriptionID string) VirtualMachineScaleSetsClient { return VirtualMachineScaleSetsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate create or update a VM scale set. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// CreateOrUpdate create or update a VM scale set. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. name is the name of the -// VM scale set to create or update. parameters is the scale set object. -func (client VirtualMachineScaleSetsClient) CreateOrUpdate(resourceGroupName string, name string, parameters VirtualMachineScaleSet, cancel <-chan struct{}) (<-chan VirtualMachineScaleSet, <-chan error) { +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set to create or +// update. parameters is the scale set object. +func (client VirtualMachineScaleSetsClient) CreateOrUpdate(resourceGroupName string, VMScaleSetName string, parameters VirtualMachineScaleSet, cancel <-chan struct{}) (<-chan VirtualMachineScaleSet, <-chan error) { resultChan := make(chan VirtualMachineScaleSet, 1) errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.VirtualMachineScaleSetProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualMachineScaleSetProperties.UpgradePolicy", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualMachineScaleSetProperties.UpgradePolicy.RollingUpgradePolicy", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualMachineScaleSetProperties.UpgradePolicy.RollingUpgradePolicy.MaxBatchInstancePercent", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualMachineScaleSetProperties.UpgradePolicy.RollingUpgradePolicy.MaxBatchInstancePercent", Name: validation.InclusiveMaximum, Rule: 100, Chain: nil}, + {Target: "parameters.VirtualMachineScaleSetProperties.UpgradePolicy.RollingUpgradePolicy.MaxBatchInstancePercent", Name: validation.InclusiveMinimum, Rule: 5, Chain: nil}, + }}, + {Target: "parameters.VirtualMachineScaleSetProperties.UpgradePolicy.RollingUpgradePolicy.MaxUnhealthyInstancePercent", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualMachineScaleSetProperties.UpgradePolicy.RollingUpgradePolicy.MaxUnhealthyInstancePercent", Name: validation.InclusiveMaximum, Rule: 100, Chain: nil}, + {Target: "parameters.VirtualMachineScaleSetProperties.UpgradePolicy.RollingUpgradePolicy.MaxUnhealthyInstancePercent", Name: validation.InclusiveMinimum, Rule: 5, Chain: nil}, + }}, + {Target: "parameters.VirtualMachineScaleSetProperties.UpgradePolicy.RollingUpgradePolicy.MaxUnhealthyUpgradedInstancePercent", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualMachineScaleSetProperties.UpgradePolicy.RollingUpgradePolicy.MaxUnhealthyUpgradedInstancePercent", Name: validation.InclusiveMaximum, Rule: 100, Chain: nil}, + {Target: "parameters.VirtualMachineScaleSetProperties.UpgradePolicy.RollingUpgradePolicy.MaxUnhealthyUpgradedInstancePercent", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}, + }}, + }}, + }}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "compute.VirtualMachineScaleSetsClient", "CreateOrUpdate") + close(errChan) + close(resultChan) + return resultChan, errChan + } + go func() { var err error var result VirtualMachineScaleSet defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() - req, err := client.CreateOrUpdatePreparer(resourceGroupName, name, parameters, cancel) + req, err := client.CreateOrUpdatePreparer(resourceGroupName, VMScaleSetName, parameters, cancel) if err != nil { err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetsClient", "CreateOrUpdate", nil, "Failure preparing request") return @@ -83,14 +106,14 @@ func (client VirtualMachineScaleSetsClient) CreateOrUpdate(resourceGroupName str } // CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client VirtualMachineScaleSetsClient) CreateOrUpdatePreparer(resourceGroupName string, name string, parameters VirtualMachineScaleSet, cancel <-chan struct{}) (*http.Request, error) { +func (client VirtualMachineScaleSetsClient) CreateOrUpdatePreparer(resourceGroupName string, VMScaleSetName string, parameters VirtualMachineScaleSet, cancel <-chan struct{}) (*http.Request, error) { pathParameters := map[string]interface{}{ - "name": autorest.Encode("path", name), "resourceGroupName": autorest.Encode("path", resourceGroupName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vmScaleSetName": autorest.Encode("path", VMScaleSetName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -99,7 +122,7 @@ func (client VirtualMachineScaleSetsClient) CreateOrUpdatePreparer(resourceGroup autorest.AsJSON(), autorest.AsPut(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{name}", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}", pathParameters), autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{Cancel: cancel}) @@ -126,16 +149,13 @@ func (client VirtualMachineScaleSetsClient) CreateOrUpdateResponder(resp *http.R return } -// Deallocate deallocates specific virtual machines in a VM scale set. Shuts -// down the virtual machines and releases the compute resources. You are not -// billed for the compute resources that this virtual machine scale set -// deallocates. This method may poll for completion. Polling can be canceled by -// passing the cancel channel argument. The channel will be used to cancel -// polling and any outstanding HTTP requests. +// Deallocate deallocates specific virtual machines in a VM scale set. Shuts down the virtual machines and releases the +// compute resources. You are not billed for the compute resources that this virtual machine scale set deallocates. +// This method may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel +// will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. VMScaleSetName is the -// name of the VM scale set. VMInstanceIDs is a list of virtual machine -// instance IDs from the VM scale set. +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set. VMInstanceIDs +// is a list of virtual machine instance IDs from the VM scale set. func (client VirtualMachineScaleSetsClient) Deallocate(resourceGroupName string, VMScaleSetName string, VMInstanceIDs *VirtualMachineScaleSetVMInstanceIDs, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { resultChan := make(chan OperationStatusResponse, 1) errChan := make(chan error, 1) @@ -143,8 +163,10 @@ func (client VirtualMachineScaleSetsClient) Deallocate(resourceGroupName string, var err error var result OperationStatusResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -177,7 +199,7 @@ func (client VirtualMachineScaleSetsClient) DeallocatePreparer(resourceGroupName "vmScaleSetName": autorest.Encode("path", VMScaleSetName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -216,12 +238,10 @@ func (client VirtualMachineScaleSetsClient) DeallocateResponder(resp *http.Respo return } -// Delete deletes a VM scale set. This method may poll for completion. Polling -// can be canceled by passing the cancel channel argument. The channel will be -// used to cancel polling and any outstanding HTTP requests. +// Delete deletes a VM scale set. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. VMScaleSetName is the -// name of the VM scale set. +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set. func (client VirtualMachineScaleSetsClient) Delete(resourceGroupName string, VMScaleSetName string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { resultChan := make(chan OperationStatusResponse, 1) errChan := make(chan error, 1) @@ -229,8 +249,10 @@ func (client VirtualMachineScaleSetsClient) Delete(resourceGroupName string, VMS var err error var result OperationStatusResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -263,7 +285,7 @@ func (client VirtualMachineScaleSetsClient) DeletePreparer(resourceGroupName str "vmScaleSetName": autorest.Encode("path", VMScaleSetName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -297,14 +319,12 @@ func (client VirtualMachineScaleSetsClient) DeleteResponder(resp *http.Response) return } -// DeleteInstances deletes virtual machines in a VM scale set. This method may -// poll for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// DeleteInstances deletes virtual machines in a VM scale set. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group. VMScaleSetName is the -// name of the VM scale set. VMInstanceIDs is a list of virtual machine -// instance IDs from the VM scale set. +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set. VMInstanceIDs +// is a list of virtual machine instance IDs from the VM scale set. func (client VirtualMachineScaleSetsClient) DeleteInstances(resourceGroupName string, VMScaleSetName string, VMInstanceIDs VirtualMachineScaleSetVMInstanceRequiredIDs, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { resultChan := make(chan OperationStatusResponse, 1) errChan := make(chan error, 1) @@ -321,8 +341,10 @@ func (client VirtualMachineScaleSetsClient) DeleteInstances(resourceGroupName st var err error var result OperationStatusResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -355,7 +377,7 @@ func (client VirtualMachineScaleSetsClient) DeleteInstancesPreparer(resourceGrou "vmScaleSetName": autorest.Encode("path", VMScaleSetName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -393,8 +415,7 @@ func (client VirtualMachineScaleSetsClient) DeleteInstancesResponder(resp *http. // Get display information about a virtual machine scale set. // -// resourceGroupName is the name of the resource group. VMScaleSetName is the -// name of the VM scale set. +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set. func (client VirtualMachineScaleSetsClient) Get(resourceGroupName string, VMScaleSetName string) (result VirtualMachineScaleSet, err error) { req, err := client.GetPreparer(resourceGroupName, VMScaleSetName) if err != nil { @@ -425,7 +446,7 @@ func (client VirtualMachineScaleSetsClient) GetPreparer(resourceGroupName string "vmScaleSetName": autorest.Encode("path", VMScaleSetName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -459,8 +480,7 @@ func (client VirtualMachineScaleSetsClient) GetResponder(resp *http.Response) (r // GetInstanceView gets the status of a VM scale set instance. // -// resourceGroupName is the name of the resource group. VMScaleSetName is the -// name of the VM scale set. +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set. func (client VirtualMachineScaleSetsClient) GetInstanceView(resourceGroupName string, VMScaleSetName string) (result VirtualMachineScaleSetInstanceView, err error) { req, err := client.GetInstanceViewPreparer(resourceGroupName, VMScaleSetName) if err != nil { @@ -491,7 +511,7 @@ func (client VirtualMachineScaleSetsClient) GetInstanceViewPreparer(resourceGrou "vmScaleSetName": autorest.Encode("path", VMScaleSetName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -555,7 +575,7 @@ func (client VirtualMachineScaleSetsClient) ListPreparer(resourceGroupName strin "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -611,9 +631,53 @@ func (client VirtualMachineScaleSetsClient) ListNextResults(lastResults VirtualM return } -// ListAll gets a list of all VM Scale Sets in the subscription, regardless of -// the associated resource group. Use nextLink property in the response to get -// the next page of VM Scale Sets. Do this till nextLink is not null to fetch +// ListComplete gets all elements from the list without paging. +func (client VirtualMachineScaleSetsClient) ListComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan VirtualMachineScaleSet, <-chan error) { + resultChan := make(chan VirtualMachineScaleSet) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListAll gets a list of all VM Scale Sets in the subscription, regardless of the associated resource group. Use +// nextLink property in the response to get the next page of VM Scale Sets. Do this till nextLink is not null to fetch // all the VM Scale Sets. func (client VirtualMachineScaleSetsClient) ListAll() (result VirtualMachineScaleSetListWithLinkResult, err error) { req, err := client.ListAllPreparer() @@ -643,7 +707,7 @@ func (client VirtualMachineScaleSetsClient) ListAllPreparer() (*http.Request, er "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -699,11 +763,55 @@ func (client VirtualMachineScaleSetsClient) ListAllNextResults(lastResults Virtu return } -// ListSkus gets a list of SKUs available for your VM scale set, including the -// minimum and maximum VM instances allowed for each SKU. +// ListAllComplete gets all elements from the list without paging. +func (client VirtualMachineScaleSetsClient) ListAllComplete(cancel <-chan struct{}) (<-chan VirtualMachineScaleSet, <-chan error) { + resultChan := make(chan VirtualMachineScaleSet) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAll() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAllNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListSkus gets a list of SKUs available for your VM scale set, including the minimum and maximum VM instances allowed +// for each SKU. // -// resourceGroupName is the name of the resource group. VMScaleSetName is the -// name of the VM scale set. +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set. func (client VirtualMachineScaleSetsClient) ListSkus(resourceGroupName string, VMScaleSetName string) (result VirtualMachineScaleSetListSkusResult, err error) { req, err := client.ListSkusPreparer(resourceGroupName, VMScaleSetName) if err != nil { @@ -734,7 +842,7 @@ func (client VirtualMachineScaleSetsClient) ListSkusPreparer(resourceGroupName s "vmScaleSetName": autorest.Encode("path", VMScaleSetName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -790,16 +898,58 @@ func (client VirtualMachineScaleSetsClient) ListSkusNextResults(lastResults Virt return } -// PowerOff power off (stop) one or more virtual machines in a VM scale set. -// Note that resources are still attached and you are getting charged for the -// resources. Instead, use deallocate to release resources and avoid charges. -// This method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// ListSkusComplete gets all elements from the list without paging. +func (client VirtualMachineScaleSetsClient) ListSkusComplete(resourceGroupName string, VMScaleSetName string, cancel <-chan struct{}) (<-chan VirtualMachineScaleSetSku, <-chan error) { + resultChan := make(chan VirtualMachineScaleSetSku) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListSkus(resourceGroupName, VMScaleSetName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListSkusNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// PowerOff power off (stop) one or more virtual machines in a VM scale set. Note that resources are still attached and +// you are getting charged for the resources. Instead, use deallocate to release resources and avoid charges. This +// method may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be +// used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. VMScaleSetName is the -// name of the VM scale set. VMInstanceIDs is a list of virtual machine -// instance IDs from the VM scale set. +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set. VMInstanceIDs +// is a list of virtual machine instance IDs from the VM scale set. func (client VirtualMachineScaleSetsClient) PowerOff(resourceGroupName string, VMScaleSetName string, VMInstanceIDs *VirtualMachineScaleSetVMInstanceIDs, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { resultChan := make(chan OperationStatusResponse, 1) errChan := make(chan error, 1) @@ -807,8 +957,10 @@ func (client VirtualMachineScaleSetsClient) PowerOff(resourceGroupName string, V var err error var result OperationStatusResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -841,7 +993,7 @@ func (client VirtualMachineScaleSetsClient) PowerOffPreparer(resourceGroupName s "vmScaleSetName": autorest.Encode("path", VMScaleSetName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -880,26 +1032,27 @@ func (client VirtualMachineScaleSetsClient) PowerOffResponder(resp *http.Respons return } -// Reimage reimages (upgrade the operating system) one or more virtual machines -// in a VM scale set. This method may poll for completion. Polling can be -// canceled by passing the cancel channel argument. The channel will be used to -// cancel polling and any outstanding HTTP requests. +// Reimage reimages (upgrade the operating system) one or more virtual machines in a VM scale set. This method may poll +// for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. VMScaleSetName is the -// name of the VM scale set. -func (client VirtualMachineScaleSetsClient) Reimage(resourceGroupName string, VMScaleSetName string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set. VMInstanceIDs +// is a list of virtual machine instance IDs from the VM scale set. +func (client VirtualMachineScaleSetsClient) Reimage(resourceGroupName string, VMScaleSetName string, VMInstanceIDs *VirtualMachineScaleSetVMInstanceIDs, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { resultChan := make(chan OperationStatusResponse, 1) errChan := make(chan error, 1) go func() { var err error var result OperationStatusResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() - req, err := client.ReimagePreparer(resourceGroupName, VMScaleSetName, cancel) + req, err := client.ReimagePreparer(resourceGroupName, VMScaleSetName, VMInstanceIDs, cancel) if err != nil { err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetsClient", "Reimage", nil, "Failure preparing request") return @@ -921,23 +1074,28 @@ func (client VirtualMachineScaleSetsClient) Reimage(resourceGroupName string, VM } // ReimagePreparer prepares the Reimage request. -func (client VirtualMachineScaleSetsClient) ReimagePreparer(resourceGroupName string, VMScaleSetName string, cancel <-chan struct{}) (*http.Request, error) { +func (client VirtualMachineScaleSetsClient) ReimagePreparer(resourceGroupName string, VMScaleSetName string, VMInstanceIDs *VirtualMachineScaleSetVMInstanceIDs, cancel <-chan struct{}) (*http.Request, error) { pathParameters := map[string]interface{}{ "resourceGroupName": autorest.Encode("path", resourceGroupName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), "vmScaleSetName": autorest.Encode("path", VMScaleSetName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } preparer := autorest.CreatePreparer( + autorest.AsJSON(), autorest.AsPost(), autorest.WithBaseURL(client.BaseURI), autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimage", pathParameters), autorest.WithQueryParameters(queryParameters)) + if VMInstanceIDs != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(VMInstanceIDs)) + } return preparer.Prepare(&http.Request{Cancel: cancel}) } @@ -962,27 +1120,27 @@ func (client VirtualMachineScaleSetsClient) ReimageResponder(resp *http.Response return } -// ReimageAll reimages all the disks ( including data disks ) in the virtual -// machines in a virtual machine scale set. This operation is only supported -// for managed disks. This method may poll for completion. Polling can be -// canceled by passing the cancel channel argument. The channel will be used to -// cancel polling and any outstanding HTTP requests. +// ReimageAll reimages all the disks ( including data disks ) in the virtual machines in a VM scale set. This operation +// is only supported for managed disks. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. VMScaleSetName is the -// name of the VM scale set. -func (client VirtualMachineScaleSetsClient) ReimageAll(resourceGroupName string, VMScaleSetName string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set. VMInstanceIDs +// is a list of virtual machine instance IDs from the VM scale set. +func (client VirtualMachineScaleSetsClient) ReimageAll(resourceGroupName string, VMScaleSetName string, VMInstanceIDs *VirtualMachineScaleSetVMInstanceIDs, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { resultChan := make(chan OperationStatusResponse, 1) errChan := make(chan error, 1) go func() { var err error var result OperationStatusResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() - req, err := client.ReimageAllPreparer(resourceGroupName, VMScaleSetName, cancel) + req, err := client.ReimageAllPreparer(resourceGroupName, VMScaleSetName, VMInstanceIDs, cancel) if err != nil { err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetsClient", "ReimageAll", nil, "Failure preparing request") return @@ -1004,23 +1162,28 @@ func (client VirtualMachineScaleSetsClient) ReimageAll(resourceGroupName string, } // ReimageAllPreparer prepares the ReimageAll request. -func (client VirtualMachineScaleSetsClient) ReimageAllPreparer(resourceGroupName string, VMScaleSetName string, cancel <-chan struct{}) (*http.Request, error) { +func (client VirtualMachineScaleSetsClient) ReimageAllPreparer(resourceGroupName string, VMScaleSetName string, VMInstanceIDs *VirtualMachineScaleSetVMInstanceIDs, cancel <-chan struct{}) (*http.Request, error) { pathParameters := map[string]interface{}{ "resourceGroupName": autorest.Encode("path", resourceGroupName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), "vmScaleSetName": autorest.Encode("path", VMScaleSetName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } preparer := autorest.CreatePreparer( + autorest.AsJSON(), autorest.AsPost(), autorest.WithBaseURL(client.BaseURI), autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimageall", pathParameters), autorest.WithQueryParameters(queryParameters)) + if VMInstanceIDs != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(VMInstanceIDs)) + } return preparer.Prepare(&http.Request{Cancel: cancel}) } @@ -1045,14 +1208,12 @@ func (client VirtualMachineScaleSetsClient) ReimageAllResponder(resp *http.Respo return } -// Restart restarts one or more virtual machines in a VM scale set. This method -// may poll for completion. Polling can be canceled by passing the cancel -// channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// Restart restarts one or more virtual machines in a VM scale set. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group. VMScaleSetName is the -// name of the VM scale set. VMInstanceIDs is a list of virtual machine -// instance IDs from the VM scale set. +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set. VMInstanceIDs +// is a list of virtual machine instance IDs from the VM scale set. func (client VirtualMachineScaleSetsClient) Restart(resourceGroupName string, VMScaleSetName string, VMInstanceIDs *VirtualMachineScaleSetVMInstanceIDs, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { resultChan := make(chan OperationStatusResponse, 1) errChan := make(chan error, 1) @@ -1060,8 +1221,10 @@ func (client VirtualMachineScaleSetsClient) Restart(resourceGroupName string, VM var err error var result OperationStatusResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -1094,7 +1257,7 @@ func (client VirtualMachineScaleSetsClient) RestartPreparer(resourceGroupName st "vmScaleSetName": autorest.Encode("path", VMScaleSetName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1133,14 +1296,12 @@ func (client VirtualMachineScaleSetsClient) RestartResponder(resp *http.Response return } -// Start starts one or more virtual machines in a VM scale set. This method may -// poll for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// Start starts one or more virtual machines in a VM scale set. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group. VMScaleSetName is the -// name of the VM scale set. VMInstanceIDs is a list of virtual machine -// instance IDs from the VM scale set. +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set. VMInstanceIDs +// is a list of virtual machine instance IDs from the VM scale set. func (client VirtualMachineScaleSetsClient) Start(resourceGroupName string, VMScaleSetName string, VMInstanceIDs *VirtualMachineScaleSetVMInstanceIDs, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { resultChan := make(chan OperationStatusResponse, 1) errChan := make(chan error, 1) @@ -1148,8 +1309,10 @@ func (client VirtualMachineScaleSetsClient) Start(resourceGroupName string, VMSc var err error var result OperationStatusResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -1182,7 +1345,7 @@ func (client VirtualMachineScaleSetsClient) StartPreparer(resourceGroupName stri "vmScaleSetName": autorest.Encode("path", VMScaleSetName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1221,14 +1384,96 @@ func (client VirtualMachineScaleSetsClient) StartResponder(resp *http.Response) return } -// UpdateInstances upgrades one or more virtual machines to the latest SKU set -// in the VM scale set model. This method may poll for completion. Polling can -// be canceled by passing the cancel channel argument. The channel will be used -// to cancel polling and any outstanding HTTP requests. +// Update update a VM scale set. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. VMScaleSetName is the -// name of the VM scale set. VMInstanceIDs is a list of virtual machine -// instance IDs from the VM scale set. +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set to create or +// update. parameters is the scale set object. +func (client VirtualMachineScaleSetsClient) Update(resourceGroupName string, VMScaleSetName string, parameters VirtualMachineScaleSetUpdate, cancel <-chan struct{}) (<-chan VirtualMachineScaleSet, <-chan error) { + resultChan := make(chan VirtualMachineScaleSet, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result VirtualMachineScaleSet + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.UpdatePreparer(resourceGroupName, VMScaleSetName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetsClient", "Update", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// UpdatePreparer prepares the Update request. +func (client VirtualMachineScaleSetsClient) UpdatePreparer(resourceGroupName string, VMScaleSetName string, parameters VirtualMachineScaleSetUpdate, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vmScaleSetName": autorest.Encode("path", VMScaleSetName), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualMachineScaleSetsClient) UpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client VirtualMachineScaleSetsClient) UpdateResponder(resp *http.Response) (result VirtualMachineScaleSet, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateInstances upgrades one or more virtual machines to the latest SKU set in the VM scale set model. This method +// may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to +// cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set. VMInstanceIDs +// is a list of virtual machine instance IDs from the VM scale set. func (client VirtualMachineScaleSetsClient) UpdateInstances(resourceGroupName string, VMScaleSetName string, VMInstanceIDs VirtualMachineScaleSetVMInstanceRequiredIDs, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { resultChan := make(chan OperationStatusResponse, 1) errChan := make(chan error, 1) @@ -1245,8 +1490,10 @@ func (client VirtualMachineScaleSetsClient) UpdateInstances(resourceGroupName st var err error var result OperationStatusResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -1279,7 +1526,7 @@ func (client VirtualMachineScaleSetsClient) UpdateInstancesPreparer(resourceGrou "vmScaleSetName": autorest.Encode("path", VMScaleSetName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachinescalesetvms.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachinescalesetvms.go index 34e0934dc..5a15edae9 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachinescalesetvms.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachinescalesetvms.go @@ -14,9 +14,8 @@ package compute // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,33 +23,28 @@ import ( "net/http" ) -// VirtualMachineScaleSetVMsClient is the the Compute Management Client. +// VirtualMachineScaleSetVMsClient is the compute Client type VirtualMachineScaleSetVMsClient struct { ManagementClient } -// NewVirtualMachineScaleSetVMsClient creates an instance of the -// VirtualMachineScaleSetVMsClient client. +// NewVirtualMachineScaleSetVMsClient creates an instance of the VirtualMachineScaleSetVMsClient client. func NewVirtualMachineScaleSetVMsClient(subscriptionID string) VirtualMachineScaleSetVMsClient { return NewVirtualMachineScaleSetVMsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewVirtualMachineScaleSetVMsClientWithBaseURI creates an instance of the -// VirtualMachineScaleSetVMsClient client. +// NewVirtualMachineScaleSetVMsClientWithBaseURI creates an instance of the VirtualMachineScaleSetVMsClient client. func NewVirtualMachineScaleSetVMsClientWithBaseURI(baseURI string, subscriptionID string) VirtualMachineScaleSetVMsClient { return VirtualMachineScaleSetVMsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Deallocate deallocates a specific virtual machine in a VM scale set. Shuts -// down the virtual machine and releases the compute resources it uses. You are -// not billed for the compute resources of this virtual machine once it is -// deallocated. This method may poll for completion. Polling can be canceled by -// passing the cancel channel argument. The channel will be used to cancel -// polling and any outstanding HTTP requests. +// Deallocate deallocates a specific virtual machine in a VM scale set. Shuts down the virtual machine and releases the +// compute resources it uses. You are not billed for the compute resources of this virtual machine once it is +// deallocated. This method may poll for completion. Polling can be canceled by passing the cancel channel argument. +// The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. VMScaleSetName is the -// name of the VM scale set. instanceID is the instance ID of the virtual -// machine. +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set. instanceID is +// the instance ID of the virtual machine. func (client VirtualMachineScaleSetVMsClient) Deallocate(resourceGroupName string, VMScaleSetName string, instanceID string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { resultChan := make(chan OperationStatusResponse, 1) errChan := make(chan error, 1) @@ -58,8 +52,10 @@ func (client VirtualMachineScaleSetVMsClient) Deallocate(resourceGroupName strin var err error var result OperationStatusResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -93,7 +89,7 @@ func (client VirtualMachineScaleSetVMsClient) DeallocatePreparer(resourceGroupNa "vmScaleSetName": autorest.Encode("path", VMScaleSetName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -127,14 +123,12 @@ func (client VirtualMachineScaleSetVMsClient) DeallocateResponder(resp *http.Res return } -// Delete deletes a virtual machine from a VM scale set. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// Delete deletes a virtual machine from a VM scale set. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group. VMScaleSetName is the -// name of the VM scale set. instanceID is the instance ID of the virtual -// machine. +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set. instanceID is +// the instance ID of the virtual machine. func (client VirtualMachineScaleSetVMsClient) Delete(resourceGroupName string, VMScaleSetName string, instanceID string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { resultChan := make(chan OperationStatusResponse, 1) errChan := make(chan error, 1) @@ -142,8 +136,10 @@ func (client VirtualMachineScaleSetVMsClient) Delete(resourceGroupName string, V var err error var result OperationStatusResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -177,7 +173,7 @@ func (client VirtualMachineScaleSetVMsClient) DeletePreparer(resourceGroupName s "vmScaleSetName": autorest.Encode("path", VMScaleSetName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -213,9 +209,8 @@ func (client VirtualMachineScaleSetVMsClient) DeleteResponder(resp *http.Respons // Get gets a virtual machine from a VM scale set. // -// resourceGroupName is the name of the resource group. VMScaleSetName is the -// name of the VM scale set. instanceID is the instance ID of the virtual -// machine. +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set. instanceID is +// the instance ID of the virtual machine. func (client VirtualMachineScaleSetVMsClient) Get(resourceGroupName string, VMScaleSetName string, instanceID string) (result VirtualMachineScaleSetVM, err error) { req, err := client.GetPreparer(resourceGroupName, VMScaleSetName, instanceID) if err != nil { @@ -247,7 +242,7 @@ func (client VirtualMachineScaleSetVMsClient) GetPreparer(resourceGroupName stri "vmScaleSetName": autorest.Encode("path", VMScaleSetName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -281,9 +276,8 @@ func (client VirtualMachineScaleSetVMsClient) GetResponder(resp *http.Response) // GetInstanceView gets the status of a virtual machine from a VM scale set. // -// resourceGroupName is the name of the resource group. VMScaleSetName is the -// name of the VM scale set. instanceID is the instance ID of the virtual -// machine. +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set. instanceID is +// the instance ID of the virtual machine. func (client VirtualMachineScaleSetVMsClient) GetInstanceView(resourceGroupName string, VMScaleSetName string, instanceID string) (result VirtualMachineScaleSetVMInstanceView, err error) { req, err := client.GetInstanceViewPreparer(resourceGroupName, VMScaleSetName, instanceID) if err != nil { @@ -315,7 +309,7 @@ func (client VirtualMachineScaleSetVMsClient) GetInstanceViewPreparer(resourceGr "vmScaleSetName": autorest.Encode("path", VMScaleSetName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -349,10 +343,9 @@ func (client VirtualMachineScaleSetVMsClient) GetInstanceViewResponder(resp *htt // List gets a list of all virtual machines in a VM scale sets. // -// resourceGroupName is the name of the resource group. -// virtualMachineScaleSetName is the name of the VM scale set. filter is the -// filter to apply to the operation. selectParameter is the list parameters. -// expand is the expand expression to apply to the operation. +// resourceGroupName is the name of the resource group. virtualMachineScaleSetName is the name of the VM scale set. +// filter is the filter to apply to the operation. selectParameter is the list parameters. expand is the expand +// expression to apply to the operation. func (client VirtualMachineScaleSetVMsClient) List(resourceGroupName string, virtualMachineScaleSetName string, filter string, selectParameter string, expand string) (result VirtualMachineScaleSetVMListResult, err error) { req, err := client.ListPreparer(resourceGroupName, virtualMachineScaleSetName, filter, selectParameter, expand) if err != nil { @@ -383,7 +376,7 @@ func (client VirtualMachineScaleSetVMsClient) ListPreparer(resourceGroupName str "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -448,16 +441,58 @@ func (client VirtualMachineScaleSetVMsClient) ListNextResults(lastResults Virtua return } -// PowerOff power off (stop) a virtual machine in a VM scale set. Note that -// resources are still attached and you are getting charged for the resources. -// Instead, use deallocate to release resources and avoid charges. This method -// may poll for completion. Polling can be canceled by passing the cancel -// channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// ListComplete gets all elements from the list without paging. +func (client VirtualMachineScaleSetVMsClient) ListComplete(resourceGroupName string, virtualMachineScaleSetName string, filter string, selectParameter string, expand string, cancel <-chan struct{}) (<-chan VirtualMachineScaleSetVM, <-chan error) { + resultChan := make(chan VirtualMachineScaleSetVM) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, virtualMachineScaleSetName, filter, selectParameter, expand) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// PowerOff power off (stop) a virtual machine in a VM scale set. Note that resources are still attached and you are +// getting charged for the resources. Instead, use deallocate to release resources and avoid charges. This method may +// poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to +// cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. VMScaleSetName is the -// name of the VM scale set. instanceID is the instance ID of the virtual -// machine. +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set. instanceID is +// the instance ID of the virtual machine. func (client VirtualMachineScaleSetVMsClient) PowerOff(resourceGroupName string, VMScaleSetName string, instanceID string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { resultChan := make(chan OperationStatusResponse, 1) errChan := make(chan error, 1) @@ -465,8 +500,10 @@ func (client VirtualMachineScaleSetVMsClient) PowerOff(resourceGroupName string, var err error var result OperationStatusResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -500,7 +537,7 @@ func (client VirtualMachineScaleSetVMsClient) PowerOffPreparer(resourceGroupName "vmScaleSetName": autorest.Encode("path", VMScaleSetName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -534,14 +571,12 @@ func (client VirtualMachineScaleSetVMsClient) PowerOffResponder(resp *http.Respo return } -// Reimage reimages (upgrade the operating system) a specific virtual machine -// in a VM scale set. This method may poll for completion. Polling can be -// canceled by passing the cancel channel argument. The channel will be used to -// cancel polling and any outstanding HTTP requests. +// Reimage reimages (upgrade the operating system) a specific virtual machine in a VM scale set. This method may poll +// for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. VMScaleSetName is the -// name of the VM scale set. instanceID is the instance ID of the virtual -// machine. +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set. instanceID is +// the instance ID of the virtual machine. func (client VirtualMachineScaleSetVMsClient) Reimage(resourceGroupName string, VMScaleSetName string, instanceID string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { resultChan := make(chan OperationStatusResponse, 1) errChan := make(chan error, 1) @@ -549,8 +584,10 @@ func (client VirtualMachineScaleSetVMsClient) Reimage(resourceGroupName string, var err error var result OperationStatusResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -584,7 +621,7 @@ func (client VirtualMachineScaleSetVMsClient) ReimagePreparer(resourceGroupName "vmScaleSetName": autorest.Encode("path", VMScaleSetName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -618,15 +655,12 @@ func (client VirtualMachineScaleSetVMsClient) ReimageResponder(resp *http.Respon return } -// ReimageAll allows you to re-image all the disks ( including data disks ) in -// the a virtual machine scale set instance. This operation is only supported -// for managed disks. This method may poll for completion. Polling can be -// canceled by passing the cancel channel argument. The channel will be used to -// cancel polling and any outstanding HTTP requests. +// ReimageAll allows you to re-image all the disks ( including data disks ) in the a VM scale set instance. This +// operation is only supported for managed disks. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. VMScaleSetName is the -// name of the VM scale set. instanceID is the instance ID of the virtual -// machine. +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set. instanceID is +// the instance ID of the virtual machine. func (client VirtualMachineScaleSetVMsClient) ReimageAll(resourceGroupName string, VMScaleSetName string, instanceID string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { resultChan := make(chan OperationStatusResponse, 1) errChan := make(chan error, 1) @@ -634,8 +668,10 @@ func (client VirtualMachineScaleSetVMsClient) ReimageAll(resourceGroupName strin var err error var result OperationStatusResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -669,7 +705,7 @@ func (client VirtualMachineScaleSetVMsClient) ReimageAllPreparer(resourceGroupNa "vmScaleSetName": autorest.Encode("path", VMScaleSetName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -703,14 +739,12 @@ func (client VirtualMachineScaleSetVMsClient) ReimageAllResponder(resp *http.Res return } -// Restart restarts a virtual machine in a VM scale set. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// Restart restarts a virtual machine in a VM scale set. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group. VMScaleSetName is the -// name of the VM scale set. instanceID is the instance ID of the virtual -// machine. +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set. instanceID is +// the instance ID of the virtual machine. func (client VirtualMachineScaleSetVMsClient) Restart(resourceGroupName string, VMScaleSetName string, instanceID string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { resultChan := make(chan OperationStatusResponse, 1) errChan := make(chan error, 1) @@ -718,8 +752,10 @@ func (client VirtualMachineScaleSetVMsClient) Restart(resourceGroupName string, var err error var result OperationStatusResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -753,7 +789,7 @@ func (client VirtualMachineScaleSetVMsClient) RestartPreparer(resourceGroupName "vmScaleSetName": autorest.Encode("path", VMScaleSetName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -787,14 +823,11 @@ func (client VirtualMachineScaleSetVMsClient) RestartResponder(resp *http.Respon return } -// Start starts a virtual machine in a VM scale set. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Start starts a virtual machine in a VM scale set. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. VMScaleSetName is the -// name of the VM scale set. instanceID is the instance ID of the virtual -// machine. +// resourceGroupName is the name of the resource group. VMScaleSetName is the name of the VM scale set. instanceID is +// the instance ID of the virtual machine. func (client VirtualMachineScaleSetVMsClient) Start(resourceGroupName string, VMScaleSetName string, instanceID string, cancel <-chan struct{}) (<-chan OperationStatusResponse, <-chan error) { resultChan := make(chan OperationStatusResponse, 1) errChan := make(chan error, 1) @@ -802,8 +835,10 @@ func (client VirtualMachineScaleSetVMsClient) Start(resourceGroupName string, VM var err error var result OperationStatusResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -837,7 +872,7 @@ func (client VirtualMachineScaleSetVMsClient) StartPreparer(resourceGroupName st "vmScaleSetName": autorest.Encode("path", VMScaleSetName), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachinesizes.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachinesizes.go index c76b203e7..dc2f2778b 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachinesizes.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/virtualmachinesizes.go @@ -14,9 +14,8 @@ package compute // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,25 +24,22 @@ import ( "net/http" ) -// VirtualMachineSizesClient is the the Compute Management Client. +// VirtualMachineSizesClient is the compute Client type VirtualMachineSizesClient struct { ManagementClient } -// NewVirtualMachineSizesClient creates an instance of the -// VirtualMachineSizesClient client. +// NewVirtualMachineSizesClient creates an instance of the VirtualMachineSizesClient client. func NewVirtualMachineSizesClient(subscriptionID string) VirtualMachineSizesClient { return NewVirtualMachineSizesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewVirtualMachineSizesClientWithBaseURI creates an instance of the -// VirtualMachineSizesClient client. +// NewVirtualMachineSizesClientWithBaseURI creates an instance of the VirtualMachineSizesClient client. func NewVirtualMachineSizesClientWithBaseURI(baseURI string, subscriptionID string) VirtualMachineSizesClient { return VirtualMachineSizesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// List lists all available virtual machine sizes for a subscription in a -// location. +// List lists all available virtual machine sizes for a subscription in a location. // // location is the location upon which virtual-machine-sizes is queried. func (client VirtualMachineSizesClient) List(location string) (result VirtualMachineSizeListResult, err error) { @@ -81,7 +77,7 @@ func (client VirtualMachineSizesClient) ListPreparer(location string) (*http.Req "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-04-30-preview" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/consumption/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/consumption/client.go index 54adcbaf1..f8bb59837 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/consumption/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/consumption/client.go @@ -1,10 +1,8 @@ -// Package consumption implements the Azure ARM Consumption service API version -// 2017-04-24-preview. +// Package consumption implements the Azure ARM Consumption service API version 2017-04-24-preview. // -// Consumption management client provides access to consumption resources for -// Azure Web-Direct subscriptions. Other subscription types which were not -// purchased directly through the Azure web portal are not supported through -// this preview API. +// Consumption management client provides access to consumption resources for Azure Web-Direct subscriptions. Other +// subscription types which were not purchased directly through the Azure web portal are not supported through this +// preview API. package consumption // Copyright (c) Microsoft and contributors. All rights reserved. @@ -21,9 +19,8 @@ package consumption // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/consumption/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/consumption/models.go index 49e06fe8c..da3086956 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/consumption/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/consumption/models.go @@ -14,9 +14,8 @@ package consumption // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -33,8 +32,8 @@ type ErrorDetails struct { Target *string `json:"target,omitempty"` } -// ErrorResponse is error response indicates that the service is not able to -// process the incoming request. The reason is provided in the error message. +// ErrorResponse is error response indicates that the service is not able to process the incoming request. The reason +// is provided in the error message. type ErrorResponse struct { Error *ErrorDetails `json:"error,omitempty"` } @@ -63,8 +62,8 @@ type OperationDisplay struct { Operation *string `json:"operation,omitempty"` } -// OperationListResult is result of listing consumption operations. It contains -// a list of operations and a URL link to get the next set of results. +// OperationListResult is result of listing consumption operations. It contains a list of operations and a URL link to +// get the next set of results. type OperationListResult struct { autorest.Response `json:"-"` Value *[]Operation `json:"value,omitempty"` @@ -119,9 +118,8 @@ type UsageDetailProperties struct { AdditionalProperties *map[string]*string `json:"additionalProperties,omitempty"` } -// UsageDetailsListResult is result of listing usage details. It contains a -// list of available usage details in reverse chronological order by billing -// period. +// UsageDetailsListResult is result of listing usage details. It contains a list of available usage details in reverse +// chronological order by billing period. type UsageDetailsListResult struct { autorest.Response `json:"-"` Value *[]UsageDetail `json:"value,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/consumption/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/consumption/operations.go index d4d0b313d..bb8b20593 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/consumption/operations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/consumption/operations.go @@ -14,9 +14,8 @@ package consumption // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,9 +23,8 @@ import ( "net/http" ) -// OperationsClient is the consumption management client provides access to -// consumption resources for Azure Web-Direct subscriptions. Other subscription -// types which were not purchased directly through the Azure web portal are not +// OperationsClient is the consumption management client provides access to consumption resources for Azure Web-Direct +// subscriptions. Other subscription types which were not purchased directly through the Azure web portal are not // supported through this preview API. type OperationsClient struct { ManagementClient @@ -37,8 +35,7 @@ func NewOperationsClient(subscriptionID string) OperationsClient { return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewOperationsClientWithBaseURI creates an instance of the OperationsClient -// client. +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} } @@ -123,3 +120,48 @@ func (client OperationsClient) ListNextResults(lastResults OperationListResult) return } + +// ListComplete gets all elements from the list without paging. +func (client OperationsClient) ListComplete(cancel <-chan struct{}) (<-chan Operation, <-chan error) { + resultChan := make(chan Operation) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/consumption/usagedetails.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/consumption/usagedetails.go index f60768e73..1cdb5c0b9 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/consumption/usagedetails.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/consumption/usagedetails.go @@ -14,9 +14,8 @@ package consumption // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,10 +24,9 @@ import ( "net/http" ) -// UsageDetailsClient is the consumption management client provides access to -// consumption resources for Azure Web-Direct subscriptions. Other subscription -// types which were not purchased directly through the Azure web portal are not -// supported through this preview API. +// UsageDetailsClient is the consumption management client provides access to consumption resources for Azure +// Web-Direct subscriptions. Other subscription types which were not purchased directly through the Azure web portal +// are not supported through this preview API. type UsageDetailsClient struct { ManagementClient } @@ -38,32 +36,24 @@ func NewUsageDetailsClient(subscriptionID string) UsageDetailsClient { return NewUsageDetailsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewUsageDetailsClientWithBaseURI creates an instance of the -// UsageDetailsClient client. +// NewUsageDetailsClientWithBaseURI creates an instance of the UsageDetailsClient client. func NewUsageDetailsClientWithBaseURI(baseURI string, subscriptionID string) UsageDetailsClient { return UsageDetailsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// List lists the usage details for a scope in reverse chronological order by -// billing period. Usage details are available via this API only for January 1, -// 2017 or later. +// List lists the usage details for a scope in reverse chronological order by billing period. Usage details are +// available via this API only for January 1, 2017 or later. // -// scope is the scope of the usage details. The scope can be -// '/subscriptions/{subscriptionId}/' for a subscription, or -// '/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices/{invoiceName}' -// for an invoice or -// '/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}' -// for a billing perdiod. expand is may be used to expand the -// additionalProperties or meterDetails property within a list of usage -// details. By default, these fields are not included when listing usage -// details. filter is may be used to filter usageDetails by usageEnd (Utc -// time). The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does -// not currently support 'ne', 'or', or 'not'. skiptoken is skiptoken is only -// used if a previous operation returned a partial result. If a previous -// response contains a nextLink element, the value of the nextLink element will -// include a skiptoken parameter that specifies a starting point to use for -// subsequent calls. top is may be used to limit the number of results to the -// most recent N usageDetails. +// scope is the scope of the usage details. The scope can be '/subscriptions/{subscriptionId}' for a subscription, or +// '/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices/{invoiceName}' for an invoice or +// '/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}' for a billing +// perdiod. expand is may be used to expand the additionalProperties or meterDetails property within a list of usage +// details. By default, these fields are not included when listing usage details. filter is may be used to filter +// usageDetails by usageEnd (Utc time). The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not +// currently support 'ne', 'or', or 'not'. skiptoken is skiptoken is only used if a previous operation returned a +// partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a +// skiptoken parameter that specifies a starting point to use for subsequent calls. top is may be used to limit the +// number of results to the most recent N usageDetails. func (client UsageDetailsClient) List(scope string, expand string, filter string, skiptoken string, top *int32) (result UsageDetailsListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: top, @@ -98,7 +88,7 @@ func (client UsageDetailsClient) List(scope string, expand string, filter string // ListPreparer prepares the List request. func (client UsageDetailsClient) ListPreparer(scope string, expand string, filter string, skiptoken string, top *int32) (*http.Request, error) { pathParameters := map[string]interface{}{ - "scope": autorest.Encode("path", scope), + "scope": scope, } const APIVersion = "2017-04-24-preview" @@ -168,3 +158,48 @@ func (client UsageDetailsClient) ListNextResults(lastResults UsageDetailsListRes return } + +// ListComplete gets all elements from the list without paging. +func (client UsageDetailsClient) ListComplete(scope string, expand string, filter string, skiptoken string, top *int32, cancel <-chan struct{}) (<-chan UsageDetail, <-chan error) { + resultChan := make(chan UsageDetail) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(scope, expand, filter, skiptoken, top) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/consumption/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/consumption/version.go index eea4583ea..69fac76f9 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/consumption/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/consumption/version.go @@ -14,16 +14,15 @@ package consumption // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-consumption/2017-04-24-preview" + return "Azure-SDK-For-Go/v11.0.0-beta arm-consumption/2017-04-24-preview" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/containerinstance/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerinstance/client.go new file mode 100644 index 000000000..2cb55471a --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerinstance/client.go @@ -0,0 +1,51 @@ +// Package containerinstance implements the Azure ARM Containerinstance service API version 2017-08-01-preview. +// +// +package containerinstance + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +const ( + // DefaultBaseURI is the default URI used for the service Containerinstance + DefaultBaseURI = "https://management.azure.com" +) + +// ManagementClient is the base client for Containerinstance. +type ManagementClient struct { + autorest.Client + BaseURI string + SubscriptionID string +} + +// New creates an instance of the ManagementClient client. +func New(subscriptionID string) ManagementClient { + return NewWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWithBaseURI creates an instance of the ManagementClient client. +func NewWithBaseURI(baseURI string, subscriptionID string) ManagementClient { + return ManagementClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + SubscriptionID: subscriptionID, + } +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/containerinstance/containergroups.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerinstance/containergroups.go new file mode 100644 index 000000000..14c243329 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerinstance/containergroups.go @@ -0,0 +1,522 @@ +package containerinstance + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// ContainerGroupsClient is the client for the ContainerGroups methods of the Containerinstance service. +type ContainerGroupsClient struct { + ManagementClient +} + +// NewContainerGroupsClient creates an instance of the ContainerGroupsClient client. +func NewContainerGroupsClient(subscriptionID string) ContainerGroupsClient { + return NewContainerGroupsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewContainerGroupsClientWithBaseURI creates an instance of the ContainerGroupsClient client. +func NewContainerGroupsClientWithBaseURI(baseURI string, subscriptionID string) ContainerGroupsClient { + return ContainerGroupsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate create or update container groups with specified configurations. +// +// resourceGroupName is the name of the resource group to contain the container group to be created or updated. +// containerGroupName is the name of the container group to be created or updated. containerGroup is the properties of +// the container group to be created or updated. +func (client ContainerGroupsClient) CreateOrUpdate(resourceGroupName string, containerGroupName string, containerGroup ContainerGroup) (result ContainerGroup, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: containerGroup, + Constraints: []validation.Constraint{{Target: "containerGroup.ContainerGroupProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "containerGroup.ContainerGroupProperties.IPAddress", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "containerGroup.ContainerGroupProperties.IPAddress.Ports", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "containerGroup.ContainerGroupProperties.IPAddress.Type", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "containerinstance.ContainerGroupsClient", "CreateOrUpdate") + } + + req, err := client.CreateOrUpdatePreparer(resourceGroupName, containerGroupName, containerGroup) + if err != nil { + err = autorest.NewErrorWithError(err, "containerinstance.ContainerGroupsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerinstance.ContainerGroupsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerinstance.ContainerGroupsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ContainerGroupsClient) CreateOrUpdatePreparer(resourceGroupName string, containerGroupName string, containerGroup ContainerGroup) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "containerGroupName": autorest.Encode("path", containerGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-08-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}", pathParameters), + autorest.WithJSON(containerGroup), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ContainerGroupsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ContainerGroupsClient) CreateOrUpdateResponder(resp *http.Response) (result ContainerGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete delete the specified container group in the specified subscription and resource group. The operation does not +// delete other resources provided by the user, such as volumes. +// +// resourceGroupName is the name of the resource group that contains the container group. containerGroupName is the +// name of the container group to be deleted. +func (client ContainerGroupsClient) Delete(resourceGroupName string, containerGroupName string) (result ContainerGroup, err error) { + req, err := client.DeletePreparer(resourceGroupName, containerGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerinstance.ContainerGroupsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerinstance.ContainerGroupsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerinstance.ContainerGroupsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ContainerGroupsClient) DeletePreparer(resourceGroupName string, containerGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "containerGroupName": autorest.Encode("path", containerGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-08-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ContainerGroupsClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ContainerGroupsClient) DeleteResponder(resp *http.Response) (result ContainerGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets the properties of the specified container group in the specified subscription and resource group. The +// operation returns the properties of each container group including containers, image registry credentials, restart +// policy, IP address type, OS type, state, and volumes. +// +// resourceGroupName is the name of the resource group that contains the container group. containerGroupName is the +// name of the container group. +func (client ContainerGroupsClient) Get(resourceGroupName string, containerGroupName string) (result ContainerGroup, err error) { + req, err := client.GetPreparer(resourceGroupName, containerGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerinstance.ContainerGroupsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerinstance.ContainerGroupsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerinstance.ContainerGroupsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ContainerGroupsClient) GetPreparer(resourceGroupName string, containerGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "containerGroupName": autorest.Encode("path", containerGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-08-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ContainerGroupsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ContainerGroupsClient) GetResponder(resp *http.Response) (result ContainerGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List get a list of container groups in the specified subscription. This operation returns properties of each +// container group including containers, image registry credentials, restart policy, IP address type, OS type, state, +// and volumes. +func (client ContainerGroupsClient) List() (result ContainerGroupListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "containerinstance.ContainerGroupsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerinstance.ContainerGroupsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerinstance.ContainerGroupsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ContainerGroupsClient) ListPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-08-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/containerGroups", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ContainerGroupsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ContainerGroupsClient) ListResponder(resp *http.Response) (result ContainerGroupListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client ContainerGroupsClient) ListNextResults(lastResults ContainerGroupListResult) (result ContainerGroupListResult, err error) { + req, err := lastResults.ContainerGroupListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "containerinstance.ContainerGroupsClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "containerinstance.ContainerGroupsClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerinstance.ContainerGroupsClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client ContainerGroupsClient) ListComplete(cancel <-chan struct{}) (<-chan ContainerGroup, <-chan error) { + resultChan := make(chan ContainerGroup) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListByResourceGroup get a list of container groups in a specified subscription and resource group. This operation +// returns properties of each container group including containers, image registry credentials, restart policy, IP +// address type, OS type, state, and volumes. +// +// resourceGroupName is the name of the resource group that contains the container group. +func (client ContainerGroupsClient) ListByResourceGroup(resourceGroupName string) (result ContainerGroupListResult, err error) { + req, err := client.ListByResourceGroupPreparer(resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerinstance.ContainerGroupsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerinstance.ContainerGroupsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerinstance.ContainerGroupsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ContainerGroupsClient) ListByResourceGroupPreparer(resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-08-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ContainerGroupsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ContainerGroupsClient) ListByResourceGroupResponder(resp *http.Response) (result ContainerGroupListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroupNextResults retrieves the next set of results, if any. +func (client ContainerGroupsClient) ListByResourceGroupNextResults(lastResults ContainerGroupListResult) (result ContainerGroupListResult, err error) { + req, err := lastResults.ContainerGroupListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "containerinstance.ContainerGroupsClient", "ListByResourceGroup", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "containerinstance.ContainerGroupsClient", "ListByResourceGroup", resp, "Failure sending next results request") + } + + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerinstance.ContainerGroupsClient", "ListByResourceGroup", resp, "Failure responding to next results request") + } + + return +} + +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client ContainerGroupsClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan ContainerGroup, <-chan error) { + resultChan := make(chan ContainerGroup) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/containerinstance/containerlogs.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerinstance/containerlogs.go new file mode 100644 index 000000000..9f742dd79 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerinstance/containerlogs.go @@ -0,0 +1,111 @@ +package containerinstance + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// ContainerLogsClient is the client for the ContainerLogs methods of the Containerinstance service. +type ContainerLogsClient struct { + ManagementClient +} + +// NewContainerLogsClient creates an instance of the ContainerLogsClient client. +func NewContainerLogsClient(subscriptionID string) ContainerLogsClient { + return NewContainerLogsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewContainerLogsClientWithBaseURI creates an instance of the ContainerLogsClient client. +func NewContainerLogsClientWithBaseURI(baseURI string, subscriptionID string) ContainerLogsClient { + return ContainerLogsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List get the logs for a specified container instance in a specified resource group and container group. +// +// resourceGroupName is the name of the resource group that contains the container instance. containerName is the name +// of the container instance. containerGroupName is the name of the container group the container instance belongs to. +// tail is the number of lines to show from the tail of the container instance log. If not provided, all available logs +// are shown up to 4mb. +func (client ContainerLogsClient) List(resourceGroupName string, containerName string, containerGroupName string, tail *int32) (result Logs, err error) { + req, err := client.ListPreparer(resourceGroupName, containerName, containerGroupName, tail) + if err != nil { + err = autorest.NewErrorWithError(err, "containerinstance.ContainerLogsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerinstance.ContainerLogsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerinstance.ContainerLogsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ContainerLogsClient) ListPreparer(resourceGroupName string, containerName string, containerGroupName string, tail *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "containerGroupName": autorest.Encode("path", containerGroupName), + "containerName": autorest.Encode("path", containerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-08-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if tail != nil { + queryParameters["tail"] = autorest.Encode("query", *tail) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/logs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ContainerLogsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ContainerLogsClient) ListResponder(resp *http.Response) (result Logs, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/containerinstance/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerinstance/models.go new file mode 100644 index 000000000..f04bedfcf --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerinstance/models.go @@ -0,0 +1,223 @@ +package containerinstance + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/date" + "github.com/Azure/go-autorest/autorest/to" + "net/http" +) + +// ContainerGroupNetworkProtocol enumerates the values for container group network protocol. +type ContainerGroupNetworkProtocol string + +const ( + // TCP specifies the tcp state for container group network protocol. + TCP ContainerGroupNetworkProtocol = "TCP" + // UDP specifies the udp state for container group network protocol. + UDP ContainerGroupNetworkProtocol = "UDP" +) + +// ContainerRestartPolicy enumerates the values for container restart policy. +type ContainerRestartPolicy string + +const ( + // Always specifies the always state for container restart policy. + Always ContainerRestartPolicy = "always" +) + +// OperatingSystemTypes enumerates the values for operating system types. +type OperatingSystemTypes string + +const ( + // Linux specifies the linux state for operating system types. + Linux OperatingSystemTypes = "Linux" + // Windows specifies the windows state for operating system types. + Windows OperatingSystemTypes = "Windows" +) + +// AzureFileVolume is the properties of the Azure File volume. Azure File shares are mounted as volumes. +type AzureFileVolume struct { + ShareName *string `json:"shareName,omitempty"` + ReadOnly *bool `json:"readOnly,omitempty"` + StorageAccountName *string `json:"storageAccountName,omitempty"` + StorageAccountKey *string `json:"storageAccountKey,omitempty"` +} + +// Container is a container instance. +type Container struct { + Name *string `json:"name,omitempty"` + *ContainerProperties `json:"properties,omitempty"` +} + +// ContainerEvent is a container instance event. +type ContainerEvent struct { + Count *int32 `json:"count,omitempty"` + FirstTimestamp *date.Time `json:"firstTimestamp,omitempty"` + LastTimestamp *date.Time `json:"lastTimestamp,omitempty"` + Message *string `json:"message,omitempty"` + Type *string `json:"type,omitempty"` +} + +// ContainerGroup is a container group. +type ContainerGroup struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + *ContainerGroupProperties `json:"properties,omitempty"` +} + +// ContainerGroupProperties is +type ContainerGroupProperties struct { + ProvisioningState *string `json:"provisioningState,omitempty"` + Containers *[]Container `json:"containers,omitempty"` + ImageRegistryCredentials *[]ImageRegistryCredential `json:"imageRegistryCredentials,omitempty"` + RestartPolicy ContainerRestartPolicy `json:"restartPolicy,omitempty"` + IPAddress *IPAddress `json:"ipAddress,omitempty"` + OsType OperatingSystemTypes `json:"osType,omitempty"` + State *string `json:"state,omitempty"` + Volumes *[]Volume `json:"volumes,omitempty"` +} + +// ContainerGroupListResult is the container group list response that contains the container group properties. +type ContainerGroupListResult struct { + autorest.Response `json:"-"` + Value *[]ContainerGroup `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// ContainerGroupListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client ContainerGroupListResult) ContainerGroupListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// ContainerPort is the port exposed on the container instance. +type ContainerPort struct { + Port *int32 `json:"port,omitempty"` +} + +// ContainerProperties is the container instance properties. +type ContainerProperties struct { + Image *string `json:"image,omitempty"` + Command *[]string `json:"command,omitempty"` + Ports *[]ContainerPort `json:"ports,omitempty"` + EnvironmentVariables *[]EnvironmentVariable `json:"environmentVariables,omitempty"` + InstanceView *ContainerPropertiesInstanceView `json:"instanceView,omitempty"` + Resources *ResourceRequirements `json:"resources,omitempty"` + VolumeMounts *[]VolumeMount `json:"volumeMounts,omitempty"` +} + +// ContainerPropertiesInstanceView is the instance view of the container instance. Only valid in response. +type ContainerPropertiesInstanceView struct { + RestartCount *int32 `json:"restartCount,omitempty"` + CurrentState *ContainerState `json:"currentState,omitempty"` + PreviousState *ContainerState `json:"previousState,omitempty"` + Events *[]ContainerEvent `json:"events,omitempty"` +} + +// ContainerState is the container instance state. +type ContainerState struct { + State *string `json:"state,omitempty"` + StartTime *date.Time `json:"startTime,omitempty"` + ExitCode *int32 `json:"exitCode,omitempty"` + FinishTime *date.Time `json:"finishTime,omitempty"` + DetailStatus *string `json:"detailStatus,omitempty"` +} + +// EnvironmentVariable is the environment variable to set within the container instance. +type EnvironmentVariable struct { + Name *string `json:"name,omitempty"` + Value *string `json:"value,omitempty"` +} + +// ImageRegistryCredential is image registry credential. +type ImageRegistryCredential struct { + Server *string `json:"server,omitempty"` + Username *string `json:"username,omitempty"` + Password *string `json:"password,omitempty"` +} + +// IPAddress is IP address for the container group. +type IPAddress struct { + Ports *[]Port `json:"ports,omitempty"` + Type *string `json:"type,omitempty"` + IP *string `json:"ip,omitempty"` +} + +// Logs is the logs. +type Logs struct { + autorest.Response `json:"-"` + Content *string `json:"content,omitempty"` +} + +// Port is the port exposed on the container group. +type Port struct { + Protocol ContainerGroupNetworkProtocol `json:"protocol,omitempty"` + Port *int32 `json:"port,omitempty"` +} + +// Resource is the Resource model definition. +type Resource struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` +} + +// ResourceLimits is the resource limits. +type ResourceLimits struct { + MemoryInGB *float64 `json:"memoryInGB,omitempty"` + CPU *float64 `json:"cpu,omitempty"` +} + +// ResourceRequests is the resource requests. +type ResourceRequests struct { + MemoryInGB *float64 `json:"memoryInGB,omitempty"` + CPU *float64 `json:"cpu,omitempty"` +} + +// ResourceRequirements is the resource requirements. +type ResourceRequirements struct { + Requests *ResourceRequests `json:"requests,omitempty"` + Limits *ResourceLimits `json:"limits,omitempty"` +} + +// Volume is the properties of the volume. +type Volume struct { + Name *string `json:"name,omitempty"` + AzureFile *AzureFileVolume `json:"azureFile,omitempty"` +} + +// VolumeMount is the properties of the volume mount. +type VolumeMount struct { + Name *string `json:"name,omitempty"` + MountPath *string `json:"mountPath,omitempty"` + ReadOnly *bool `json:"readOnly,omitempty"` +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/containerinstance/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerinstance/version.go new file mode 100644 index 000000000..86834aed5 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerinstance/version.go @@ -0,0 +1,28 @@ +package containerinstance + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/v11.0.0-beta arm-containerinstance/2017-08-01-preview" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return "v11.0.0-beta" +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/client.go index e5e99db67..b3eea6cb2 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/client.go @@ -1,5 +1,4 @@ -// Package containerregistry implements the Azure ARM Containerregistry service -// API version 2017-03-01. +// Package containerregistry implements the Azure ARM Containerregistry service API version 2017-10-01. // // package containerregistry @@ -18,9 +17,8 @@ package containerregistry // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/models.go index 66edd68c5..b717f5708 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/models.go @@ -14,9 +14,8 @@ package containerregistry // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -39,28 +38,155 @@ const ( type ProvisioningState string const ( + // Canceled specifies the canceled state for provisioning state. + Canceled ProvisioningState = "Canceled" // Creating specifies the creating state for provisioning state. Creating ProvisioningState = "Creating" + // Deleting specifies the deleting state for provisioning state. + Deleting ProvisioningState = "Deleting" + // Failed specifies the failed state for provisioning state. + Failed ProvisioningState = "Failed" // Succeeded specifies the succeeded state for provisioning state. Succeeded ProvisioningState = "Succeeded" + // Updating specifies the updating state for provisioning state. + Updating ProvisioningState = "Updating" +) + +// RegistryUsageUnit enumerates the values for registry usage unit. +type RegistryUsageUnit string + +const ( + // Bytes specifies the bytes state for registry usage unit. + Bytes RegistryUsageUnit = "Bytes" + // Count specifies the count state for registry usage unit. + Count RegistryUsageUnit = "Count" +) + +// SkuName enumerates the values for sku name. +type SkuName string + +const ( + // Classic specifies the classic state for sku name. + Classic SkuName = "Classic" + // ManagedBasic specifies the managed basic state for sku name. + ManagedBasic SkuName = "Managed_Basic" + // ManagedPremium specifies the managed premium state for sku name. + ManagedPremium SkuName = "Managed_Premium" + // ManagedStandard specifies the managed standard state for sku name. + ManagedStandard SkuName = "Managed_Standard" ) // SkuTier enumerates the values for sku tier. type SkuTier string const ( - // Basic specifies the basic state for sku tier. - Basic SkuTier = "Basic" + // SkuTierClassic specifies the sku tier classic state for sku tier. + SkuTierClassic SkuTier = "Classic" + // SkuTierManaged specifies the sku tier managed state for sku tier. + SkuTierManaged SkuTier = "Managed" ) +// WebhookAction enumerates the values for webhook action. +type WebhookAction string + +const ( + // Delete specifies the delete state for webhook action. + Delete WebhookAction = "delete" + // Push specifies the push state for webhook action. + Push WebhookAction = "push" +) + +// WebhookStatus enumerates the values for webhook status. +type WebhookStatus string + +const ( + // Disabled specifies the disabled state for webhook status. + Disabled WebhookStatus = "disabled" + // Enabled specifies the enabled state for webhook status. + Enabled WebhookStatus = "enabled" +) + +// Actor is the agent that initiated the event. For most situations, this could be from the authorization context of +// the request. +type Actor struct { + Name *string `json:"name,omitempty"` +} + +// CallbackConfig is the configuration of service URI and custom headers for the webhook. +type CallbackConfig struct { + autorest.Response `json:"-"` + ServiceURI *string `json:"serviceUri,omitempty"` + CustomHeaders *map[string]*string `json:"customHeaders,omitempty"` +} + +// Event is the event for a webhook. +type Event struct { + ID *string `json:"id,omitempty"` + EventRequestMessage *EventRequestMessage `json:"eventRequestMessage,omitempty"` + EventResponseMessage *EventResponseMessage `json:"eventResponseMessage,omitempty"` +} + +// EventContent is the content of the event request message. +type EventContent struct { + ID *string `json:"id,omitempty"` + Timestamp *date.Time `json:"timestamp,omitempty"` + Action *string `json:"action,omitempty"` + Target *Target `json:"target,omitempty"` + Request *Request `json:"request,omitempty"` + Actor *Actor `json:"actor,omitempty"` + Source *Source `json:"source,omitempty"` +} + +// EventInfo is the basic information of an event. +type EventInfo struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` +} + +// EventListResult is the result of a request to list events for a webhook. +type EventListResult struct { + autorest.Response `json:"-"` + Value *[]Event `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// EventListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client EventListResult) EventListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// EventRequestMessage is the event request message sent to the service URI. +type EventRequestMessage struct { + Content *EventContent `json:"content,omitempty"` + Headers *map[string]*string `json:"headers,omitempty"` + Method *string `json:"method,omitempty"` + RequestURI *string `json:"requestUri,omitempty"` + Version *string `json:"version,omitempty"` +} + +// EventResponseMessage is the event response message received from the service URI. +type EventResponseMessage struct { + Content *string `json:"content,omitempty"` + Headers *map[string]*string `json:"headers,omitempty"` + ReasonPhrase *string `json:"reasonPhrase,omitempty"` + StatusCode *string `json:"statusCode,omitempty"` + Version *string `json:"version,omitempty"` +} + // OperationDefinition is the definition of a container registry operation. type OperationDefinition struct { Name *string `json:"name,omitempty"` Display *OperationDisplayDefinition `json:"display,omitempty"` } -// OperationDisplayDefinition is the display information for a container -// registry operation. +// OperationDisplayDefinition is the display information for a container registry operation. type OperationDisplayDefinition struct { Provider *string `json:"provider,omitempty"` Resource *string `json:"resource,omitempty"` @@ -68,8 +194,7 @@ type OperationDisplayDefinition struct { Description *string `json:"description,omitempty"` } -// OperationListResult is the result of a request to list container registry -// operations. +// OperationListResult is the result of a request to list container registry operations. type OperationListResult struct { autorest.Response `json:"-"` Value *[]OperationDefinition `json:"value,omitempty"` @@ -88,8 +213,7 @@ func (client OperationListResult) OperationListResultPreparer() (*http.Request, autorest.WithBaseURL(to.String(client.NextLink))) } -// RegenerateCredentialParameters is the parameters used to regenerate the -// login credential. +// RegenerateCredentialParameters is the parameters used to regenerate the login credential. type RegenerateCredentialParameters struct { Name PasswordName `json:"name,omitempty"` } @@ -106,17 +230,7 @@ type Registry struct { *RegistryProperties `json:"properties,omitempty"` } -// RegistryCreateParameters is the parameters for creating a container -// registry. -type RegistryCreateParameters struct { - Tags *map[string]*string `json:"tags,omitempty"` - Location *string `json:"location,omitempty"` - Sku *Sku `json:"sku,omitempty"` - *RegistryPropertiesCreateParameters `json:"properties,omitempty"` -} - -// RegistryListCredentialsResult is the response from the ListCredentials -// operation. +// RegistryListCredentialsResult is the response from the ListCredentials operation. type RegistryListCredentialsResult struct { autorest.Response `json:"-"` Username *string `json:"username,omitempty"` @@ -142,15 +256,13 @@ func (client RegistryListResult) RegistryListResultPreparer() (*http.Request, er autorest.WithBaseURL(to.String(client.NextLink))) } -// RegistryNameCheckRequest is a request to check whether a container registry -// name is available. +// RegistryNameCheckRequest is a request to check whether a container registry name is available. type RegistryNameCheckRequest struct { Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` } -// RegistryNameStatus is the result of a request to check the availability of a -// container registry name. +// RegistryNameStatus is the result of a request to check the availability of a container registry name. type RegistryNameStatus struct { autorest.Response `json:"-"` NameAvailable *bool `json:"nameAvailable,omitempty"` @@ -169,31 +281,88 @@ type RegistryProperties struct { LoginServer *string `json:"loginServer,omitempty"` CreationDate *date.Time `json:"creationDate,omitempty"` ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + Status *Status `json:"status,omitempty"` AdminUserEnabled *bool `json:"adminUserEnabled,omitempty"` StorageAccount *StorageAccountProperties `json:"storageAccount,omitempty"` } -// RegistryPropertiesCreateParameters is the parameters for creating the -// properties of a container registry. -type RegistryPropertiesCreateParameters struct { - AdminUserEnabled *bool `json:"adminUserEnabled,omitempty"` - StorageAccount *StorageAccountParameters `json:"storageAccount,omitempty"` -} - -// RegistryPropertiesUpdateParameters is the parameters for updating the -// properties of a container registry. +// RegistryPropertiesUpdateParameters is the parameters for updating the properties of a container registry. type RegistryPropertiesUpdateParameters struct { AdminUserEnabled *bool `json:"adminUserEnabled,omitempty"` - StorageAccount *StorageAccountParameters `json:"storageAccount,omitempty"` + StorageAccount *StorageAccountProperties `json:"storageAccount,omitempty"` } -// RegistryUpdateParameters is the parameters for updating a container -// registry. +// RegistryUpdateParameters is the parameters for updating a container registry. type RegistryUpdateParameters struct { Tags *map[string]*string `json:"tags,omitempty"` + Sku *Sku `json:"sku,omitempty"` *RegistryPropertiesUpdateParameters `json:"properties,omitempty"` } +// RegistryUsage is the quota usage for a container registry. +type RegistryUsage struct { + Name *string `json:"name,omitempty"` + Limit *int64 `json:"limit,omitempty"` + CurrentValue *int64 `json:"currentValue,omitempty"` + Unit RegistryUsageUnit `json:"unit,omitempty"` +} + +// RegistryUsageListResult is the result of a request to get container registry quota usages. +type RegistryUsageListResult struct { + autorest.Response `json:"-"` + Value *[]RegistryUsage `json:"value,omitempty"` +} + +// Replication is an object that represents a replication for a container registry. +type Replication struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + *ReplicationProperties `json:"properties,omitempty"` +} + +// ReplicationListResult is the result of a request to list replications for a container registry. +type ReplicationListResult struct { + autorest.Response `json:"-"` + Value *[]Replication `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// ReplicationListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client ReplicationListResult) ReplicationListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// ReplicationProperties is the properties of a replication. +type ReplicationProperties struct { + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + Status *Status `json:"status,omitempty"` +} + +// ReplicationUpdateParameters is the parameters for updating a replication. +type ReplicationUpdateParameters struct { + Tags *map[string]*string `json:"tags,omitempty"` +} + +// Request is the request that generated the event. +type Request struct { + ID *string `json:"id,omitempty"` + Addr *string `json:"addr,omitempty"` + Host *string `json:"host,omitempty"` + Method *string `json:"method,omitempty"` + Useragent *string `json:"useragent,omitempty"` +} + // Resource is an Azure resource. type Resource struct { ID *string `json:"id,omitempty"` @@ -205,19 +374,106 @@ type Resource struct { // Sku is the SKU of a container registry. type Sku struct { - Name *string `json:"name,omitempty"` + Name SkuName `json:"name,omitempty"` Tier SkuTier `json:"tier,omitempty"` } -// StorageAccountParameters is the parameters of a storage account for a -// container registry. -type StorageAccountParameters struct { - Name *string `json:"name,omitempty"` - AccessKey *string `json:"accessKey,omitempty"` +// Source is the registry node that generated the event. Put differently, while the actor initiates the event, the +// source generates it. +type Source struct { + Addr *string `json:"addr,omitempty"` + InstanceID *string `json:"instanceID,omitempty"` } -// StorageAccountProperties is the properties of a storage account for a -// container registry. -type StorageAccountProperties struct { - Name *string `json:"name,omitempty"` +// Status is the status of an Azure resource at the time the operation was called. +type Status struct { + DisplayStatus *string `json:"displayStatus,omitempty"` + Message *string `json:"message,omitempty"` + Timestamp *date.Time `json:"timestamp,omitempty"` +} + +// StorageAccountProperties is the properties of a storage account for a container registry. Only applicable to Classic +// SKU. +type StorageAccountProperties struct { + ID *string `json:"id,omitempty"` +} + +// Target is the target of the event. +type Target struct { + MediaType *string `json:"mediaType,omitempty"` + Size *int64 `json:"size,omitempty"` + Digest *string `json:"digest,omitempty"` + Length *int64 `json:"length,omitempty"` + Repository *string `json:"repository,omitempty"` + URL *string `json:"url,omitempty"` + Tag *string `json:"tag,omitempty"` +} + +// Webhook is an object that represents a webhook for a container registry. +type Webhook struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + *WebhookProperties `json:"properties,omitempty"` +} + +// WebhookCreateParameters is the parameters for creating a webhook. +type WebhookCreateParameters struct { + Tags *map[string]*string `json:"tags,omitempty"` + Location *string `json:"location,omitempty"` + *WebhookPropertiesCreateParameters `json:"properties,omitempty"` +} + +// WebhookListResult is the result of a request to list webhooks for a container registry. +type WebhookListResult struct { + autorest.Response `json:"-"` + Value *[]Webhook `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// WebhookListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client WebhookListResult) WebhookListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// WebhookProperties is the properties of a webhook. +type WebhookProperties struct { + Status WebhookStatus `json:"status,omitempty"` + Scope *string `json:"scope,omitempty"` + Actions *[]WebhookAction `json:"actions,omitempty"` + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// WebhookPropertiesCreateParameters is the parameters for creating the properties of a webhook. +type WebhookPropertiesCreateParameters struct { + ServiceURI *string `json:"serviceUri,omitempty"` + CustomHeaders *map[string]*string `json:"customHeaders,omitempty"` + Status WebhookStatus `json:"status,omitempty"` + Scope *string `json:"scope,omitempty"` + Actions *[]WebhookAction `json:"actions,omitempty"` +} + +// WebhookPropertiesUpdateParameters is the parameters for updating the properties of a webhook. +type WebhookPropertiesUpdateParameters struct { + ServiceURI *string `json:"serviceUri,omitempty"` + CustomHeaders *map[string]*string `json:"customHeaders,omitempty"` + Status WebhookStatus `json:"status,omitempty"` + Scope *string `json:"scope,omitempty"` + Actions *[]WebhookAction `json:"actions,omitempty"` +} + +// WebhookUpdateParameters is the parameters for updating a webhook. +type WebhookUpdateParameters struct { + Tags *map[string]*string `json:"tags,omitempty"` + *WebhookPropertiesUpdateParameters `json:"properties,omitempty"` } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/operations.go index a1694180c..a9143e739 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/operations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/operations.go @@ -14,9 +14,8 @@ package containerregistry // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,8 +23,7 @@ import ( "net/http" ) -// OperationsClient is the client for the Operations methods of the -// Containerregistry service. +// OperationsClient is the client for the Operations methods of the Containerregistry service. type OperationsClient struct { ManagementClient } @@ -35,14 +33,12 @@ func NewOperationsClient(subscriptionID string) OperationsClient { return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewOperationsClientWithBaseURI creates an instance of the OperationsClient -// client. +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// List lists all of the available Azure Container Registry REST API -// operations. +// List lists all of the available Azure Container Registry REST API operations. func (client OperationsClient) List() (result OperationListResult, err error) { req, err := client.ListPreparer() if err != nil { @@ -67,7 +63,7 @@ func (client OperationsClient) List() (result OperationListResult, err error) { // ListPreparer prepares the List request. func (client OperationsClient) ListPreparer() (*http.Request, error) { - const APIVersion = "2017-03-01" + const APIVersion = "2017-10-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -122,3 +118,48 @@ func (client OperationsClient) ListNextResults(lastResults OperationListResult) return } + +// ListComplete gets all elements from the list without paging. +func (client OperationsClient) ListComplete(cancel <-chan struct{}) (<-chan OperationDefinition, <-chan error) { + resultChan := make(chan OperationDefinition) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/registries.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/registries.go index fe03ba338..c1c9af59e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/registries.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/registries.go @@ -14,9 +14,8 @@ package containerregistry // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// RegistriesClient is the client for the Registries methods of the -// Containerregistry service. +// RegistriesClient is the client for the Registries methods of the Containerregistry service. type RegistriesClient struct { ManagementClient } @@ -36,18 +34,15 @@ func NewRegistriesClient(subscriptionID string) RegistriesClient { return NewRegistriesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewRegistriesClientWithBaseURI creates an instance of the RegistriesClient -// client. +// NewRegistriesClientWithBaseURI creates an instance of the RegistriesClient client. func NewRegistriesClientWithBaseURI(baseURI string, subscriptionID string) RegistriesClient { return RegistriesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CheckNameAvailability checks whether the container registry name is -// available for use. The name must contain only alphanumeric characters, be -// globally unique, and between 5 and 60 characters in length. +// CheckNameAvailability checks whether the container registry name is available for use. The name must contain only +// alphanumeric characters, be globally unique, and between 5 and 50 characters in length. // -// registryNameCheckRequest is the object containing information for the -// availability request. +// registryNameCheckRequest is the object containing information for the availability request. func (client RegistriesClient) CheckNameAvailability(registryNameCheckRequest RegistryNameCheckRequest) (result RegistryNameStatus, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: registryNameCheckRequest, @@ -87,7 +82,7 @@ func (client RegistriesClient) CheckNameAvailabilityPreparer(registryNameCheckRe "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-10-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -121,16 +116,13 @@ func (client RegistriesClient) CheckNameAvailabilityResponder(resp *http.Respons return } -// Create creates a container registry with the specified parameters. This -// method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// Create creates a container registry with the specified parameters. This method may poll for completion. Polling can +// be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding +// HTTP requests. // -// resourceGroupName is the name of the resource group to which the container -// registry belongs. registryName is the name of the container registry. -// registryCreateParameters is the parameters for creating a container -// registry. -func (client RegistriesClient) Create(resourceGroupName string, registryName string, registryCreateParameters RegistryCreateParameters, cancel <-chan struct{}) (<-chan Registry, <-chan error) { +// resourceGroupName is the name of the resource group to which the container registry belongs. registryName is the +// name of the container registry. registry is the parameters for creating a container registry. +func (client RegistriesClient) Create(resourceGroupName string, registryName string, registry Registry, cancel <-chan struct{}) (<-chan Registry, <-chan error) { resultChan := make(chan Registry, 1) errChan := make(chan error, 1) if err := validation.Validate([]validation.Validation{ @@ -138,15 +130,11 @@ func (client RegistriesClient) Create(resourceGroupName string, registryName str Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}, - {TargetValue: registryCreateParameters, - Constraints: []validation.Constraint{{Target: "registryCreateParameters.Location", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "registryCreateParameters.Sku", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "registryCreateParameters.Sku.Name", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "registryCreateParameters.RegistryPropertiesCreateParameters", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "registryCreateParameters.RegistryPropertiesCreateParameters.StorageAccount", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "registryCreateParameters.RegistryPropertiesCreateParameters.StorageAccount.Name", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "registryCreateParameters.RegistryPropertiesCreateParameters.StorageAccount.AccessKey", Name: validation.Null, Rule: true, Chain: nil}, - }}, + {TargetValue: registry, + Constraints: []validation.Constraint{{Target: "registry.Sku", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "registry.RegistryProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "registry.RegistryProperties.StorageAccount", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "registry.RegistryProperties.StorageAccount.ID", Name: validation.Null, Rule: true, Chain: nil}}}, }}}}}); err != nil { errChan <- validation.NewErrorWithValidationError(err, "containerregistry.RegistriesClient", "Create") close(errChan) @@ -158,12 +146,14 @@ func (client RegistriesClient) Create(resourceGroupName string, registryName str var err error var result Registry defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() - req, err := client.CreatePreparer(resourceGroupName, registryName, registryCreateParameters, cancel) + req, err := client.CreatePreparer(resourceGroupName, registryName, registry, cancel) if err != nil { err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "Create", nil, "Failure preparing request") return @@ -185,14 +175,14 @@ func (client RegistriesClient) Create(resourceGroupName string, registryName str } // CreatePreparer prepares the Create request. -func (client RegistriesClient) CreatePreparer(resourceGroupName string, registryName string, registryCreateParameters RegistryCreateParameters, cancel <-chan struct{}) (*http.Request, error) { +func (client RegistriesClient) CreatePreparer(resourceGroupName string, registryName string, registry Registry, cancel <-chan struct{}) (*http.Request, error) { pathParameters := map[string]interface{}{ "registryName": autorest.Encode("path", registryName), "resourceGroupName": autorest.Encode("path", resourceGroupName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-10-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -202,7 +192,7 @@ func (client RegistriesClient) CreatePreparer(resourceGroupName string, registry autorest.AsPut(), autorest.WithBaseURL(client.BaseURI), autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}", pathParameters), - autorest.WithJSON(registryCreateParameters), + autorest.WithJSON(registry), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{Cancel: cancel}) } @@ -221,56 +211,73 @@ func (client RegistriesClient) CreateResponder(resp *http.Response) (result Regi err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// Delete deletes a container registry. +// Delete deletes a container registry. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group to which the container -// registry belongs. registryName is the name of the container registry. -func (client RegistriesClient) Delete(resourceGroupName string, registryName string) (result autorest.Response, err error) { +// resourceGroupName is the name of the resource group to which the container registry belongs. registryName is the +// name of the container registry. +func (client RegistriesClient) Delete(resourceGroupName string, registryName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) if err := validation.Validate([]validation.Validation{ {TargetValue: registryName, Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}}); err != nil { - return result, validation.NewErrorWithValidationError(err, "containerregistry.RegistriesClient", "Delete") + errChan <- validation.NewErrorWithValidationError(err, "containerregistry.RegistriesClient", "Delete") + close(errChan) + close(resultChan) + return resultChan, errChan } - req, err := client.DeletePreparer(resourceGroupName, registryName) - if err != nil { - err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "Delete", nil, "Failure preparing request") - return - } + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, registryName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "Delete", nil, "Failure preparing request") + return + } - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "Delete", resp, "Failure sending request") - return - } + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "Delete", resp, "Failure sending request") + return + } - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "Delete", resp, "Failure responding to request") - } - - return + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan } // DeletePreparer prepares the Delete request. -func (client RegistriesClient) DeletePreparer(resourceGroupName string, registryName string) (*http.Request, error) { +func (client RegistriesClient) DeletePreparer(resourceGroupName string, registryName string, cancel <-chan struct{}) (*http.Request, error) { pathParameters := map[string]interface{}{ "registryName": autorest.Encode("path", registryName), "resourceGroupName": autorest.Encode("path", resourceGroupName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-10-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -280,13 +287,15 @@ func (client RegistriesClient) DeletePreparer(resourceGroupName string, registry autorest.WithBaseURL(client.BaseURI), autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}", pathParameters), autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) + return preparer.Prepare(&http.Request{Cancel: cancel}) } // DeleteSender sends the Delete request. The method will close the // http.Response Body if it receives an error. func (client RegistriesClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) } // DeleteResponder handles the response to the Delete request. The method always @@ -295,7 +304,7 @@ func (client RegistriesClient) DeleteResponder(resp *http.Response) (result auto err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), autorest.ByClosing()) result.Response = resp return @@ -303,8 +312,8 @@ func (client RegistriesClient) DeleteResponder(resp *http.Response) (result auto // Get gets the properties of the specified container registry. // -// resourceGroupName is the name of the resource group to which the container -// registry belongs. registryName is the name of the container registry. +// resourceGroupName is the name of the resource group to which the container registry belongs. registryName is the +// name of the container registry. func (client RegistriesClient) Get(resourceGroupName string, registryName string) (result Registry, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: registryName, @@ -343,7 +352,7 @@ func (client RegistriesClient) GetPreparer(resourceGroupName string, registryNam "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-10-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -404,7 +413,7 @@ func (client RegistriesClient) ListPreparer() (*http.Request, error) { "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-10-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -460,11 +469,54 @@ func (client RegistriesClient) ListNextResults(lastResults RegistryListResult) ( return } -// ListByResourceGroup lists all the container registries under the specified -// resource group. +// ListComplete gets all elements from the list without paging. +func (client RegistriesClient) ListComplete(cancel <-chan struct{}) (<-chan Registry, <-chan error) { + resultChan := make(chan Registry) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListByResourceGroup lists all the container registries under the specified resource group. // -// resourceGroupName is the name of the resource group to which the container -// registry belongs. +// resourceGroupName is the name of the resource group to which the container registry belongs. func (client RegistriesClient) ListByResourceGroup(resourceGroupName string) (result RegistryListResult, err error) { req, err := client.ListByResourceGroupPreparer(resourceGroupName) if err != nil { @@ -494,7 +546,7 @@ func (client RegistriesClient) ListByResourceGroupPreparer(resourceGroupName str "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-10-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -550,11 +602,55 @@ func (client RegistriesClient) ListByResourceGroupNextResults(lastResults Regist return } -// ListCredentials lists the login credentials for the specified container -// registry. +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client RegistriesClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan Registry, <-chan error) { + resultChan := make(chan Registry) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListCredentials lists the login credentials for the specified container registry. // -// resourceGroupName is the name of the resource group to which the container -// registry belongs. registryName is the name of the container registry. +// resourceGroupName is the name of the resource group to which the container registry belongs. registryName is the +// name of the container registry. func (client RegistriesClient) ListCredentials(resourceGroupName string, registryName string) (result RegistryListCredentialsResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: registryName, @@ -593,7 +689,7 @@ func (client RegistriesClient) ListCredentialsPreparer(resourceGroupName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-10-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -625,13 +721,85 @@ func (client RegistriesClient) ListCredentialsResponder(resp *http.Response) (re return } -// RegenerateCredential regenerates one of the login credentials for the -// specified container registry. +// ListUsages gets the quota usages for the specified container registry. // -// resourceGroupName is the name of the resource group to which the container -// registry belongs. registryName is the name of the container registry. -// regenerateCredentialParameters is specifies name of the password which -// should be regenerated -- password or password2. +// resourceGroupName is the name of the resource group to which the container registry belongs. registryName is the +// name of the container registry. +func (client RegistriesClient) ListUsages(resourceGroupName string, registryName string) (result RegistryUsageListResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "containerregistry.RegistriesClient", "ListUsages") + } + + req, err := client.ListUsagesPreparer(resourceGroupName, registryName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "ListUsages", nil, "Failure preparing request") + return + } + + resp, err := client.ListUsagesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "ListUsages", resp, "Failure sending request") + return + } + + result, err = client.ListUsagesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "ListUsages", resp, "Failure responding to request") + } + + return +} + +// ListUsagesPreparer prepares the ListUsages request. +func (client RegistriesClient) ListUsagesPreparer(resourceGroupName string, registryName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listUsages", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListUsagesSender sends the ListUsages request. The method will close the +// http.Response Body if it receives an error. +func (client RegistriesClient) ListUsagesSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListUsagesResponder handles the response to the ListUsages request. The method always +// closes the http.Response Body. +func (client RegistriesClient) ListUsagesResponder(resp *http.Response) (result RegistryUsageListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// RegenerateCredential regenerates one of the login credentials for the specified container registry. +// +// resourceGroupName is the name of the resource group to which the container registry belongs. registryName is the +// name of the container registry. regenerateCredentialParameters is specifies name of the password which should be +// regenerated -- password or password2. func (client RegistriesClient) RegenerateCredential(resourceGroupName string, registryName string, regenerateCredentialParameters RegenerateCredentialParameters) (result RegistryListCredentialsResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: registryName, @@ -670,7 +838,7 @@ func (client RegistriesClient) RegenerateCredentialPreparer(resourceGroupName st "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-10-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -704,51 +872,67 @@ func (client RegistriesClient) RegenerateCredentialResponder(resp *http.Response return } -// Update updates a container registry with the specified parameters. +// Update updates a container registry with the specified parameters. This method may poll for completion. Polling can +// be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding +// HTTP requests. // -// resourceGroupName is the name of the resource group to which the container -// registry belongs. registryName is the name of the container registry. -// registryUpdateParameters is the parameters for updating a container -// registry. -func (client RegistriesClient) Update(resourceGroupName string, registryName string, registryUpdateParameters RegistryUpdateParameters) (result Registry, err error) { +// resourceGroupName is the name of the resource group to which the container registry belongs. registryName is the +// name of the container registry. registryUpdateParameters is the parameters for updating a container registry. +func (client RegistriesClient) Update(resourceGroupName string, registryName string, registryUpdateParameters RegistryUpdateParameters, cancel <-chan struct{}) (<-chan Registry, <-chan error) { + resultChan := make(chan Registry, 1) + errChan := make(chan error, 1) if err := validation.Validate([]validation.Validation{ {TargetValue: registryName, Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}}); err != nil { - return result, validation.NewErrorWithValidationError(err, "containerregistry.RegistriesClient", "Update") + errChan <- validation.NewErrorWithValidationError(err, "containerregistry.RegistriesClient", "Update") + close(errChan) + close(resultChan) + return resultChan, errChan } - req, err := client.UpdatePreparer(resourceGroupName, registryName, registryUpdateParameters) - if err != nil { - err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "Update", nil, "Failure preparing request") - return - } + go func() { + var err error + var result Registry + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.UpdatePreparer(resourceGroupName, registryName, registryUpdateParameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "Update", nil, "Failure preparing request") + return + } - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "Update", resp, "Failure sending request") - return - } + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "Update", resp, "Failure sending request") + return + } - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "Update", resp, "Failure responding to request") - } - - return + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "Update", resp, "Failure responding to request") + } + }() + return resultChan, errChan } // UpdatePreparer prepares the Update request. -func (client RegistriesClient) UpdatePreparer(resourceGroupName string, registryName string, registryUpdateParameters RegistryUpdateParameters) (*http.Request, error) { +func (client RegistriesClient) UpdatePreparer(resourceGroupName string, registryName string, registryUpdateParameters RegistryUpdateParameters, cancel <-chan struct{}) (*http.Request, error) { pathParameters := map[string]interface{}{ "registryName": autorest.Encode("path", registryName), "resourceGroupName": autorest.Encode("path", resourceGroupName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-10-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -760,13 +944,15 @@ func (client RegistriesClient) UpdatePreparer(resourceGroupName string, registry autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}", pathParameters), autorest.WithJSON(registryUpdateParameters), autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) + return preparer.Prepare(&http.Request{Cancel: cancel}) } // UpdateSender sends the Update request. The method will close the // http.Response Body if it receives an error. func (client RegistriesClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) } // UpdateResponder handles the response to the Update request. The method always @@ -775,7 +961,7 @@ func (client RegistriesClient) UpdateResponder(resp *http.Response) (result Regi err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/replications.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/replications.go new file mode 100644 index 000000000..79fce2d21 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/replications.go @@ -0,0 +1,564 @@ +package containerregistry + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// ReplicationsClient is the client for the Replications methods of the Containerregistry service. +type ReplicationsClient struct { + ManagementClient +} + +// NewReplicationsClient creates an instance of the ReplicationsClient client. +func NewReplicationsClient(subscriptionID string) ReplicationsClient { + return NewReplicationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewReplicationsClientWithBaseURI creates an instance of the ReplicationsClient client. +func NewReplicationsClientWithBaseURI(baseURI string, subscriptionID string) ReplicationsClient { + return ReplicationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Create creates a replication for a container registry with the specified parameters. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group to which the container registry belongs. registryName is the +// name of the container registry. replicationName is the name of the replication. replication is the parameters for +// creating a replication. +func (client ReplicationsClient) Create(resourceGroupName string, registryName string, replicationName string, replication Replication, cancel <-chan struct{}) (<-chan Replication, <-chan error) { + resultChan := make(chan Replication, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}, + {TargetValue: replicationName, + Constraints: []validation.Constraint{{Target: "replicationName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "replicationName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "replicationName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "containerregistry.ReplicationsClient", "Create") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result Replication + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreatePreparer(resourceGroupName, registryName, replicationName, replication, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ReplicationsClient", "Create", nil, "Failure preparing request") + return + } + + resp, err := client.CreateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerregistry.ReplicationsClient", "Create", resp, "Failure sending request") + return + } + + result, err = client.CreateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ReplicationsClient", "Create", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreatePreparer prepares the Create request. +func (client ReplicationsClient) CreatePreparer(resourceGroupName string, registryName string, replicationName string, replication Replication, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "replicationName": autorest.Encode("path", replicationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName}", pathParameters), + autorest.WithJSON(replication), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client ReplicationsClient) CreateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client ReplicationsClient) CreateResponder(resp *http.Response) (result Replication, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a replication from a container registry. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. +// +// resourceGroupName is the name of the resource group to which the container registry belongs. registryName is the +// name of the container registry. replicationName is the name of the replication. +func (client ReplicationsClient) Delete(resourceGroupName string, registryName string, replicationName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}, + {TargetValue: replicationName, + Constraints: []validation.Constraint{{Target: "replicationName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "replicationName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "replicationName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "containerregistry.ReplicationsClient", "Delete") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, registryName, replicationName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ReplicationsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "containerregistry.ReplicationsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ReplicationsClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// DeletePreparer prepares the Delete request. +func (client ReplicationsClient) DeletePreparer(resourceGroupName string, registryName string, replicationName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "replicationName": autorest.Encode("path", replicationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ReplicationsClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ReplicationsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the properties of the specified replication. +// +// resourceGroupName is the name of the resource group to which the container registry belongs. registryName is the +// name of the container registry. replicationName is the name of the replication. +func (client ReplicationsClient) Get(resourceGroupName string, registryName string, replicationName string) (result Replication, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}, + {TargetValue: replicationName, + Constraints: []validation.Constraint{{Target: "replicationName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "replicationName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "replicationName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "containerregistry.ReplicationsClient", "Get") + } + + req, err := client.GetPreparer(resourceGroupName, registryName, replicationName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ReplicationsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerregistry.ReplicationsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ReplicationsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ReplicationsClient) GetPreparer(resourceGroupName string, registryName string, replicationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "replicationName": autorest.Encode("path", replicationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ReplicationsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ReplicationsClient) GetResponder(resp *http.Response) (result Replication, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all the replications for the specified container registry. +// +// resourceGroupName is the name of the resource group to which the container registry belongs. registryName is the +// name of the container registry. +func (client ReplicationsClient) List(resourceGroupName string, registryName string) (result ReplicationListResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "containerregistry.ReplicationsClient", "List") + } + + req, err := client.ListPreparer(resourceGroupName, registryName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ReplicationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerregistry.ReplicationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ReplicationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ReplicationsClient) ListPreparer(resourceGroupName string, registryName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ReplicationsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ReplicationsClient) ListResponder(resp *http.Response) (result ReplicationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client ReplicationsClient) ListNextResults(lastResults ReplicationListResult) (result ReplicationListResult, err error) { + req, err := lastResults.ReplicationListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "containerregistry.ReplicationsClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "containerregistry.ReplicationsClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ReplicationsClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client ReplicationsClient) ListComplete(resourceGroupName string, registryName string, cancel <-chan struct{}) (<-chan Replication, <-chan error) { + resultChan := make(chan Replication) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, registryName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// Update updates a replication for a container registry with the specified parameters. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group to which the container registry belongs. registryName is the +// name of the container registry. replicationName is the name of the replication. replicationUpdateParameters is the +// parameters for updating a replication. +func (client ReplicationsClient) Update(resourceGroupName string, registryName string, replicationName string, replicationUpdateParameters ReplicationUpdateParameters, cancel <-chan struct{}) (<-chan Replication, <-chan error) { + resultChan := make(chan Replication, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}, + {TargetValue: replicationName, + Constraints: []validation.Constraint{{Target: "replicationName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "replicationName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "replicationName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "containerregistry.ReplicationsClient", "Update") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result Replication + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.UpdatePreparer(resourceGroupName, registryName, replicationName, replicationUpdateParameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ReplicationsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerregistry.ReplicationsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ReplicationsClient", "Update", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// UpdatePreparer prepares the Update request. +func (client ReplicationsClient) UpdatePreparer(resourceGroupName string, registryName string, replicationName string, replicationUpdateParameters ReplicationUpdateParameters, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "replicationName": autorest.Encode("path", replicationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName}", pathParameters), + autorest.WithJSON(replicationUpdateParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client ReplicationsClient) UpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client ReplicationsClient) UpdateResponder(resp *http.Response) (result Replication, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/version.go index 88072968b..ab34e4801 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/version.go @@ -14,16 +14,15 @@ package containerregistry // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-containerregistry/2017-03-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-containerregistry/2017-10-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/webhooks.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/webhooks.go new file mode 100644 index 000000000..ff5f9ce78 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerregistry/webhooks.go @@ -0,0 +1,875 @@ +package containerregistry + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// WebhooksClient is the client for the Webhooks methods of the Containerregistry service. +type WebhooksClient struct { + ManagementClient +} + +// NewWebhooksClient creates an instance of the WebhooksClient client. +func NewWebhooksClient(subscriptionID string) WebhooksClient { + return NewWebhooksClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWebhooksClientWithBaseURI creates an instance of the WebhooksClient client. +func NewWebhooksClientWithBaseURI(baseURI string, subscriptionID string) WebhooksClient { + return WebhooksClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Create creates a webhook for a container registry with the specified parameters. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group to which the container registry belongs. registryName is the +// name of the container registry. webhookName is the name of the webhook. webhookCreateParameters is the parameters +// for creating a webhook. +func (client WebhooksClient) Create(resourceGroupName string, registryName string, webhookName string, webhookCreateParameters WebhookCreateParameters, cancel <-chan struct{}) (<-chan Webhook, <-chan error) { + resultChan := make(chan Webhook, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}, + {TargetValue: webhookName, + Constraints: []validation.Constraint{{Target: "webhookName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "webhookName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "webhookName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}, + {TargetValue: webhookCreateParameters, + Constraints: []validation.Constraint{{Target: "webhookCreateParameters.Location", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "webhookCreateParameters.WebhookPropertiesCreateParameters", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "webhookCreateParameters.WebhookPropertiesCreateParameters.ServiceURI", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "webhookCreateParameters.WebhookPropertiesCreateParameters.Actions", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "containerregistry.WebhooksClient", "Create") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result Webhook + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreatePreparer(resourceGroupName, registryName, webhookName, webhookCreateParameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "Create", nil, "Failure preparing request") + return + } + + resp, err := client.CreateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "Create", resp, "Failure sending request") + return + } + + result, err = client.CreateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "Create", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreatePreparer prepares the Create request. +func (client WebhooksClient) CreatePreparer(resourceGroupName string, registryName string, webhookName string, webhookCreateParameters WebhookCreateParameters, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webhookName": autorest.Encode("path", webhookName), + } + + const APIVersion = "2017-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}", pathParameters), + autorest.WithJSON(webhookCreateParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client WebhooksClient) CreateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client WebhooksClient) CreateResponder(resp *http.Response) (result Webhook, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a webhook from a container registry. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group to which the container registry belongs. registryName is the +// name of the container registry. webhookName is the name of the webhook. +func (client WebhooksClient) Delete(resourceGroupName string, registryName string, webhookName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}, + {TargetValue: webhookName, + Constraints: []validation.Constraint{{Target: "webhookName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "webhookName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "webhookName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "containerregistry.WebhooksClient", "Delete") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, registryName, webhookName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// DeletePreparer prepares the Delete request. +func (client WebhooksClient) DeletePreparer(resourceGroupName string, registryName string, webhookName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webhookName": autorest.Encode("path", webhookName), + } + + const APIVersion = "2017-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client WebhooksClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client WebhooksClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the properties of the specified webhook. +// +// resourceGroupName is the name of the resource group to which the container registry belongs. registryName is the +// name of the container registry. webhookName is the name of the webhook. +func (client WebhooksClient) Get(resourceGroupName string, registryName string, webhookName string) (result Webhook, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}, + {TargetValue: webhookName, + Constraints: []validation.Constraint{{Target: "webhookName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "webhookName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "webhookName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "containerregistry.WebhooksClient", "Get") + } + + req, err := client.GetPreparer(resourceGroupName, registryName, webhookName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client WebhooksClient) GetPreparer(resourceGroupName string, registryName string, webhookName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webhookName": autorest.Encode("path", webhookName), + } + + const APIVersion = "2017-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client WebhooksClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client WebhooksClient) GetResponder(resp *http.Response) (result Webhook, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetCallbackConfig gets the configuration of service URI and custom headers for the webhook. +// +// resourceGroupName is the name of the resource group to which the container registry belongs. registryName is the +// name of the container registry. webhookName is the name of the webhook. +func (client WebhooksClient) GetCallbackConfig(resourceGroupName string, registryName string, webhookName string) (result CallbackConfig, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}, + {TargetValue: webhookName, + Constraints: []validation.Constraint{{Target: "webhookName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "webhookName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "webhookName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "containerregistry.WebhooksClient", "GetCallbackConfig") + } + + req, err := client.GetCallbackConfigPreparer(resourceGroupName, registryName, webhookName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "GetCallbackConfig", nil, "Failure preparing request") + return + } + + resp, err := client.GetCallbackConfigSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "GetCallbackConfig", resp, "Failure sending request") + return + } + + result, err = client.GetCallbackConfigResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "GetCallbackConfig", resp, "Failure responding to request") + } + + return +} + +// GetCallbackConfigPreparer prepares the GetCallbackConfig request. +func (client WebhooksClient) GetCallbackConfigPreparer(resourceGroupName string, registryName string, webhookName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webhookName": autorest.Encode("path", webhookName), + } + + const APIVersion = "2017-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/getCallbackConfig", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetCallbackConfigSender sends the GetCallbackConfig request. The method will close the +// http.Response Body if it receives an error. +func (client WebhooksClient) GetCallbackConfigSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetCallbackConfigResponder handles the response to the GetCallbackConfig request. The method always +// closes the http.Response Body. +func (client WebhooksClient) GetCallbackConfigResponder(resp *http.Response) (result CallbackConfig, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all the webhooks for the specified container registry. +// +// resourceGroupName is the name of the resource group to which the container registry belongs. registryName is the +// name of the container registry. +func (client WebhooksClient) List(resourceGroupName string, registryName string) (result WebhookListResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "containerregistry.WebhooksClient", "List") + } + + req, err := client.ListPreparer(resourceGroupName, registryName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client WebhooksClient) ListPreparer(resourceGroupName string, registryName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client WebhooksClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client WebhooksClient) ListResponder(resp *http.Response) (result WebhookListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client WebhooksClient) ListNextResults(lastResults WebhookListResult) (result WebhookListResult, err error) { + req, err := lastResults.WebhookListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client WebhooksClient) ListComplete(resourceGroupName string, registryName string, cancel <-chan struct{}) (<-chan Webhook, <-chan error) { + resultChan := make(chan Webhook) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, registryName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListEvents lists recent events for the specified webhook. +// +// resourceGroupName is the name of the resource group to which the container registry belongs. registryName is the +// name of the container registry. webhookName is the name of the webhook. +func (client WebhooksClient) ListEvents(resourceGroupName string, registryName string, webhookName string) (result EventListResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}, + {TargetValue: webhookName, + Constraints: []validation.Constraint{{Target: "webhookName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "webhookName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "webhookName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "containerregistry.WebhooksClient", "ListEvents") + } + + req, err := client.ListEventsPreparer(resourceGroupName, registryName, webhookName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "ListEvents", nil, "Failure preparing request") + return + } + + resp, err := client.ListEventsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "ListEvents", resp, "Failure sending request") + return + } + + result, err = client.ListEventsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "ListEvents", resp, "Failure responding to request") + } + + return +} + +// ListEventsPreparer prepares the ListEvents request. +func (client WebhooksClient) ListEventsPreparer(resourceGroupName string, registryName string, webhookName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webhookName": autorest.Encode("path", webhookName), + } + + const APIVersion = "2017-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/listEvents", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListEventsSender sends the ListEvents request. The method will close the +// http.Response Body if it receives an error. +func (client WebhooksClient) ListEventsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListEventsResponder handles the response to the ListEvents request. The method always +// closes the http.Response Body. +func (client WebhooksClient) ListEventsResponder(resp *http.Response) (result EventListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListEventsNextResults retrieves the next set of results, if any. +func (client WebhooksClient) ListEventsNextResults(lastResults EventListResult) (result EventListResult, err error) { + req, err := lastResults.EventListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "ListEvents", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListEventsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "ListEvents", resp, "Failure sending next results request") + } + + result, err = client.ListEventsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "ListEvents", resp, "Failure responding to next results request") + } + + return +} + +// ListEventsComplete gets all elements from the list without paging. +func (client WebhooksClient) ListEventsComplete(resourceGroupName string, registryName string, webhookName string, cancel <-chan struct{}) (<-chan Event, <-chan error) { + resultChan := make(chan Event) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListEvents(resourceGroupName, registryName, webhookName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListEventsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// Ping triggers a ping event to be sent to the webhook. +// +// resourceGroupName is the name of the resource group to which the container registry belongs. registryName is the +// name of the container registry. webhookName is the name of the webhook. +func (client WebhooksClient) Ping(resourceGroupName string, registryName string, webhookName string) (result EventInfo, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}, + {TargetValue: webhookName, + Constraints: []validation.Constraint{{Target: "webhookName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "webhookName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "webhookName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "containerregistry.WebhooksClient", "Ping") + } + + req, err := client.PingPreparer(resourceGroupName, registryName, webhookName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "Ping", nil, "Failure preparing request") + return + } + + resp, err := client.PingSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "Ping", resp, "Failure sending request") + return + } + + result, err = client.PingResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "Ping", resp, "Failure responding to request") + } + + return +} + +// PingPreparer prepares the Ping request. +func (client WebhooksClient) PingPreparer(resourceGroupName string, registryName string, webhookName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webhookName": autorest.Encode("path", webhookName), + } + + const APIVersion = "2017-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/ping", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// PingSender sends the Ping request. The method will close the +// http.Response Body if it receives an error. +func (client WebhooksClient) PingSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// PingResponder handles the response to the Ping request. The method always +// closes the http.Response Body. +func (client WebhooksClient) PingResponder(resp *http.Response) (result EventInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update updates a webhook with the specified parameters. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. +// +// resourceGroupName is the name of the resource group to which the container registry belongs. registryName is the +// name of the container registry. webhookName is the name of the webhook. webhookUpdateParameters is the parameters +// for updating a webhook. +func (client WebhooksClient) Update(resourceGroupName string, registryName string, webhookName string, webhookUpdateParameters WebhookUpdateParameters, cancel <-chan struct{}) (<-chan Webhook, <-chan error) { + resultChan := make(chan Webhook, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}, + {TargetValue: webhookName, + Constraints: []validation.Constraint{{Target: "webhookName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "webhookName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "webhookName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "containerregistry.WebhooksClient", "Update") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result Webhook + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.UpdatePreparer(resourceGroupName, registryName, webhookName, webhookUpdateParameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.WebhooksClient", "Update", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// UpdatePreparer prepares the Update request. +func (client WebhooksClient) UpdatePreparer(resourceGroupName string, registryName string, webhookName string, webhookUpdateParameters WebhookUpdateParameters, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webhookName": autorest.Encode("path", webhookName), + } + + const APIVersion = "2017-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}", pathParameters), + autorest.WithJSON(webhookUpdateParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client WebhooksClient) UpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client WebhooksClient) UpdateResponder(resp *http.Response) (result Webhook, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/containerservice/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerservice/client.go index 7aefda8a8..8133d6e50 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/containerservice/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerservice/client.go @@ -1,7 +1,6 @@ -// Package containerservice implements the Azure ARM Containerservice service -// API version 2017-01-31. +// Package containerservice implements the Azure ARM Containerservice service API version 2017-01-31. // -// The Container Service Client. +// Compute Client package containerservice // Copyright (c) Microsoft and contributors. All rights reserved. @@ -18,9 +17,8 @@ package containerservice // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/containerservice/containerservices.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerservice/containerservices.go index 6fca953c8..e5c67e5f5 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/containerservice/containerservices.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerservice/containerservices.go @@ -14,9 +14,8 @@ package containerservice // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,32 +24,27 @@ import ( "net/http" ) -// ContainerServicesClient is the the Container Service Client. +// ContainerServicesClient is the compute Client type ContainerServicesClient struct { ManagementClient } -// NewContainerServicesClient creates an instance of the -// ContainerServicesClient client. +// NewContainerServicesClient creates an instance of the ContainerServicesClient client. func NewContainerServicesClient(subscriptionID string) ContainerServicesClient { return NewContainerServicesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewContainerServicesClientWithBaseURI creates an instance of the -// ContainerServicesClient client. +// NewContainerServicesClientWithBaseURI creates an instance of the ContainerServicesClient client. func NewContainerServicesClientWithBaseURI(baseURI string, subscriptionID string) ContainerServicesClient { return ContainerServicesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates a container service with the specified -// configuration of orchestrator, masters, and agents. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// CreateOrUpdate creates or updates a container service with the specified configuration of orchestrator, masters, and +// agents. This method may poll for completion. Polling can be canceled by passing the cancel channel argument. The +// channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. containerServiceName is -// the name of the container service in the specified subscription and resource -// group. parameters is parameters supplied to the Create or Update a Container +// resourceGroupName is the name of the resource group. containerServiceName is the name of the container service in +// the specified subscription and resource group. parameters is parameters supplied to the Create or Update a Container // Service operation. func (client ContainerServicesClient) CreateOrUpdate(resourceGroupName string, containerServiceName string, parameters ContainerService, cancel <-chan struct{}) (<-chan ContainerService, <-chan error) { resultChan := make(chan ContainerService, 1) @@ -94,8 +88,10 @@ func (client ContainerServicesClient) CreateOrUpdate(resourceGroupName string, c var err error var result ContainerService defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -164,18 +160,14 @@ func (client ContainerServicesClient) CreateOrUpdateResponder(resp *http.Respons return } -// Delete deletes the specified container service in the specified subscription -// and resource group. The operation does not delete other resources created as -// part of creating a container service, including storage accounts, VMs, and -// availability sets. All the other resources created with the container -// service are part of the same resource group and can be deleted individually. -// This method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// Delete deletes the specified container service in the specified subscription and resource group. The operation does +// not delete other resources created as part of creating a container service, including storage accounts, VMs, and +// availability sets. All the other resources created with the container service are part of the same resource group +// and can be deleted individually. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. containerServiceName is -// the name of the container service in the specified subscription and resource -// group. +// resourceGroupName is the name of the resource group. containerServiceName is the name of the container service in +// the specified subscription and resource group. func (client ContainerServicesClient) Delete(resourceGroupName string, containerServiceName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -183,8 +175,10 @@ func (client ContainerServicesClient) Delete(resourceGroupName string, container var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -250,14 +244,12 @@ func (client ContainerServicesClient) DeleteResponder(resp *http.Response) (resu return } -// Get gets the properties of the specified container service in the specified -// subscription and resource group. The operation returns the properties -// including state, orchestrator, number of masters and agents, and FQDNs of -// masters and agents. +// Get gets the properties of the specified container service in the specified subscription and resource group. The +// operation returns the properties including state, orchestrator, number of masters and agents, and FQDNs of masters +// and agents. // -// resourceGroupName is the name of the resource group. containerServiceName is -// the name of the container service in the specified subscription and resource -// group. +// resourceGroupName is the name of the resource group. containerServiceName is the name of the container service in +// the specified subscription and resource group. func (client ContainerServicesClient) Get(resourceGroupName string, containerServiceName string) (result ContainerService, err error) { req, err := client.GetPreparer(resourceGroupName, containerServiceName) if err != nil { @@ -320,9 +312,8 @@ func (client ContainerServicesClient) GetResponder(resp *http.Response) (result return } -// List gets a list of container services in the specified subscription. The -// operation returns properties of each container service including state, -// orchestrator, number of masters and agents, and FQDNs of masters and agents. +// List gets a list of container services in the specified subscription. The operation returns properties of each +// container service including state, orchestrator, number of masters and agents, and FQDNs of masters and agents. func (client ContainerServicesClient) List() (result ListResult, err error) { req, err := client.ListPreparer() if err != nil { @@ -407,10 +398,54 @@ func (client ContainerServicesClient) ListNextResults(lastResults ListResult) (r return } -// ListByResourceGroup gets a list of container services in the specified -// subscription and resource group. The operation returns properties of each -// container service including state, orchestrator, number of masters and -// agents, and FQDNs of masters and agents. +// ListComplete gets all elements from the list without paging. +func (client ContainerServicesClient) ListComplete(cancel <-chan struct{}) (<-chan ContainerService, <-chan error) { + resultChan := make(chan ContainerService) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListByResourceGroup gets a list of container services in the specified subscription and resource group. The +// operation returns properties of each container service including state, orchestrator, number of masters and agents, +// and FQDNs of masters and agents. // // resourceGroupName is the name of the resource group. func (client ContainerServicesClient) ListByResourceGroup(resourceGroupName string) (result ListResult, err error) { @@ -497,3 +532,48 @@ func (client ContainerServicesClient) ListByResourceGroupNextResults(lastResults return } + +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client ContainerServicesClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan ContainerService, <-chan error) { + resultChan := make(chan ContainerService) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/containerservice/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerservice/models.go index 852420c66..a46a87d4b 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/containerservice/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerservice/models.go @@ -14,9 +14,8 @@ package containerservice // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,18 +23,18 @@ import ( "net/http" ) -// OchestratorTypes enumerates the values for ochestrator types. -type OchestratorTypes string +// OrchestratorTypes enumerates the values for orchestrator types. +type OrchestratorTypes string const ( - // Custom specifies the custom state for ochestrator types. - Custom OchestratorTypes = "Custom" - // DCOS specifies the dcos state for ochestrator types. - DCOS OchestratorTypes = "DCOS" - // Kubernetes specifies the kubernetes state for ochestrator types. - Kubernetes OchestratorTypes = "Kubernetes" - // Swarm specifies the swarm state for ochestrator types. - Swarm OchestratorTypes = "Swarm" + // Custom specifies the custom state for orchestrator types. + Custom OrchestratorTypes = "Custom" + // DCOS specifies the dcos state for orchestrator types. + DCOS OrchestratorTypes = "DCOS" + // Kubernetes specifies the kubernetes state for orchestrator types. + Kubernetes OrchestratorTypes = "Kubernetes" + // Swarm specifies the swarm state for orchestrator types. + Swarm OrchestratorTypes = "Swarm" ) // VMSizeTypes enumerates the values for vm size types. @@ -202,7 +201,7 @@ type MasterProfile struct { // OrchestratorProfile is profile for the container service orchestrator. type OrchestratorProfile struct { - OrchestratorType OchestratorTypes `json:"orchestratorType,omitempty"` + OrchestratorType OrchestratorTypes `json:"orchestratorType,omitempty"` } // Properties is properties of the container service. @@ -227,14 +226,14 @@ type Resource struct { Tags *map[string]*string `json:"tags,omitempty"` } -// ServicePrincipalProfile is information about a service principal identity -// for the cluster to use for manipulating Azure APIs. +// ServicePrincipalProfile is information about a service principal identity for the cluster to use for manipulating +// Azure APIs. type ServicePrincipalProfile struct { ClientID *string `json:"clientId,omitempty"` Secret *string `json:"secret,omitempty"` } -// SSHConfiguration is sSH configuration for Linux-based VMs running on Azure. +// SSHConfiguration is SSH configuration for Linux-based VMs running on Azure. type SSHConfiguration struct { PublicKeys *[]SSHPublicKey `json:"publicKeys,omitempty"` } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/containerservice/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerservice/version.go index b20ab1d6b..d926c410a 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/containerservice/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/containerservice/version.go @@ -14,16 +14,15 @@ package containerservice // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-containerservice/2017-01-31" + return "Azure-SDK-For-Go/v11.0.0-beta arm-containerservice/2017-01-31" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/cosmos-db/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/cosmos-db/client.go new file mode 100644 index 000000000..a5d9da5db --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/cosmos-db/client.go @@ -0,0 +1,51 @@ +// Package cosmosdb implements the Azure ARM Cosmosdb service API version 2015-04-08. +// +// Azure Cosmos DB Database Service Resource Provider REST API +package cosmosdb + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +const ( + // DefaultBaseURI is the default URI used for the service Cosmosdb + DefaultBaseURI = "https://management.azure.com" +) + +// ManagementClient is the base client for Cosmosdb. +type ManagementClient struct { + autorest.Client + BaseURI string + SubscriptionID string +} + +// New creates an instance of the ManagementClient client. +func New(subscriptionID string) ManagementClient { + return NewWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWithBaseURI creates an instance of the ManagementClient client. +func NewWithBaseURI(baseURI string, subscriptionID string) ManagementClient { + return ManagementClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + SubscriptionID: subscriptionID, + } +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/cosmos-db/databaseaccounts.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/cosmos-db/databaseaccounts.go new file mode 100644 index 000000000..8bbfc52ca --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/cosmos-db/databaseaccounts.go @@ -0,0 +1,1053 @@ +package cosmosdb + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// DatabaseAccountsClient is the azure Cosmos DB Database Service Resource Provider REST API +type DatabaseAccountsClient struct { + ManagementClient +} + +// NewDatabaseAccountsClient creates an instance of the DatabaseAccountsClient client. +func NewDatabaseAccountsClient(subscriptionID string) DatabaseAccountsClient { + return NewDatabaseAccountsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDatabaseAccountsClientWithBaseURI creates an instance of the DatabaseAccountsClient client. +func NewDatabaseAccountsClientWithBaseURI(baseURI string, subscriptionID string) DatabaseAccountsClient { + return DatabaseAccountsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CheckNameExists checks that the Azure Cosmos DB account name already exists. A valid account name may contain only +// lowercase letters, numbers, and the '-' character, and must be between 3 and 50 characters. +// +// accountName is cosmos DB database account name. +func (client DatabaseAccountsClient) CheckNameExists(accountName string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: accountName, + Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "cosmosdb.DatabaseAccountsClient", "CheckNameExists") + } + + req, err := client.CheckNameExistsPreparer(accountName) + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "CheckNameExists", nil, "Failure preparing request") + return + } + + resp, err := client.CheckNameExistsSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "CheckNameExists", resp, "Failure sending request") + return + } + + result, err = client.CheckNameExistsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "CheckNameExists", resp, "Failure responding to request") + } + + return +} + +// CheckNameExistsPreparer prepares the CheckNameExists request. +func (client DatabaseAccountsClient) CheckNameExistsPreparer(accountName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + } + + const APIVersion = "2015-04-08" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsHead(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.DocumentDB/databaseAccountNames/{accountName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CheckNameExistsSender sends the CheckNameExists request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseAccountsClient) CheckNameExistsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CheckNameExistsResponder handles the response to the CheckNameExists request. The method always +// closes the http.Response Body. +func (client DatabaseAccountsClient) CheckNameExistsResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// CreateOrUpdate creates or updates an Azure Cosmos DB database account. This method may poll for completion. Polling +// can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. +// +// resourceGroupName is name of an Azure resource group. accountName is cosmos DB database account name. +// createUpdateParameters is the parameters to provide for the current database account. +func (client DatabaseAccountsClient) CreateOrUpdate(resourceGroupName string, accountName string, createUpdateParameters DatabaseAccountCreateUpdateParameters, cancel <-chan struct{}) (<-chan DatabaseAccount, <-chan error) { + resultChan := make(chan DatabaseAccount, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: accountName, + Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}}}, + {TargetValue: createUpdateParameters, + Constraints: []validation.Constraint{{Target: "createUpdateParameters.DatabaseAccountCreateUpdateProperties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "createUpdateParameters.DatabaseAccountCreateUpdateProperties.ConsistencyPolicy", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "createUpdateParameters.DatabaseAccountCreateUpdateProperties.ConsistencyPolicy.MaxStalenessPrefix", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "createUpdateParameters.DatabaseAccountCreateUpdateProperties.ConsistencyPolicy.MaxStalenessPrefix", Name: validation.InclusiveMaximum, Rule: 2147483647, Chain: nil}, + {Target: "createUpdateParameters.DatabaseAccountCreateUpdateProperties.ConsistencyPolicy.MaxStalenessPrefix", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}, + {Target: "createUpdateParameters.DatabaseAccountCreateUpdateProperties.ConsistencyPolicy.MaxIntervalInSeconds", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "createUpdateParameters.DatabaseAccountCreateUpdateProperties.ConsistencyPolicy.MaxIntervalInSeconds", Name: validation.InclusiveMaximum, Rule: 100, Chain: nil}, + {Target: "createUpdateParameters.DatabaseAccountCreateUpdateProperties.ConsistencyPolicy.MaxIntervalInSeconds", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}, + }}, + {Target: "createUpdateParameters.DatabaseAccountCreateUpdateProperties.Locations", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "createUpdateParameters.DatabaseAccountCreateUpdateProperties.DatabaseAccountOfferType", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "cosmosdb.DatabaseAccountsClient", "CreateOrUpdate") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result DatabaseAccount + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, accountName, createUpdateParameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DatabaseAccountsClient) CreateOrUpdatePreparer(resourceGroupName string, accountName string, createUpdateParameters DatabaseAccountCreateUpdateParameters, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-04-08" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}", pathParameters), + autorest.WithJSON(createUpdateParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseAccountsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DatabaseAccountsClient) CreateOrUpdateResponder(resp *http.Response) (result DatabaseAccount, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes an existing Azure Cosmos DB database account. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. +// +// resourceGroupName is name of an Azure resource group. accountName is cosmos DB database account name. +func (client DatabaseAccountsClient) Delete(resourceGroupName string, accountName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: accountName, + Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "cosmosdb.DatabaseAccountsClient", "Delete") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, accountName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// DeletePreparer prepares the Delete request. +func (client DatabaseAccountsClient) DeletePreparer(resourceGroupName string, accountName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-04-08" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseAccountsClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client DatabaseAccountsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// FailoverPriorityChange changes the failover priority for the Azure Cosmos DB database account. A failover priority +// of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover +// priority values must be unique for each of the regions in which the database account exists. This method may poll +// for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. +// +// resourceGroupName is name of an Azure resource group. accountName is cosmos DB database account name. +// failoverParameters is the new failover policies for the database account. +func (client DatabaseAccountsClient) FailoverPriorityChange(resourceGroupName string, accountName string, failoverParameters FailoverPolicies, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: accountName, + Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "cosmosdb.DatabaseAccountsClient", "FailoverPriorityChange") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.FailoverPriorityChangePreparer(resourceGroupName, accountName, failoverParameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "FailoverPriorityChange", nil, "Failure preparing request") + return + } + + resp, err := client.FailoverPriorityChangeSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "FailoverPriorityChange", resp, "Failure sending request") + return + } + + result, err = client.FailoverPriorityChangeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "FailoverPriorityChange", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// FailoverPriorityChangePreparer prepares the FailoverPriorityChange request. +func (client DatabaseAccountsClient) FailoverPriorityChangePreparer(resourceGroupName string, accountName string, failoverParameters FailoverPolicies, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-04-08" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange", pathParameters), + autorest.WithJSON(failoverParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// FailoverPriorityChangeSender sends the FailoverPriorityChange request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseAccountsClient) FailoverPriorityChangeSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// FailoverPriorityChangeResponder handles the response to the FailoverPriorityChange request. The method always +// closes the http.Response Body. +func (client DatabaseAccountsClient) FailoverPriorityChangeResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get retrieves the properties of an existing Azure Cosmos DB database account. +// +// resourceGroupName is name of an Azure resource group. accountName is cosmos DB database account name. +func (client DatabaseAccountsClient) Get(resourceGroupName string, accountName string) (result DatabaseAccount, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: accountName, + Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "cosmosdb.DatabaseAccountsClient", "Get") + } + + req, err := client.GetPreparer(resourceGroupName, accountName) + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DatabaseAccountsClient) GetPreparer(resourceGroupName string, accountName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-04-08" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseAccountsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DatabaseAccountsClient) GetResponder(resp *http.Response) (result DatabaseAccount, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all the Azure Cosmos DB database accounts available under the subscription. +func (client DatabaseAccountsClient) List() (result DatabaseAccountsListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client DatabaseAccountsClient) ListPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-04-08" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/databaseAccounts", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseAccountsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client DatabaseAccountsClient) ListResponder(resp *http.Response) (result DatabaseAccountsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroup lists all the Azure Cosmos DB database accounts available under the given resource group. +// +// resourceGroupName is name of an Azure resource group. +func (client DatabaseAccountsClient) ListByResourceGroup(resourceGroupName string) (result DatabaseAccountsListResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "cosmosdb.DatabaseAccountsClient", "ListByResourceGroup") + } + + req, err := client.ListByResourceGroupPreparer(resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client DatabaseAccountsClient) ListByResourceGroupPreparer(resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-04-08" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseAccountsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client DatabaseAccountsClient) ListByResourceGroupResponder(resp *http.Response) (result DatabaseAccountsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListConnectionStrings lists the connection strings for the specified Azure Cosmos DB database account. +// +// resourceGroupName is name of an Azure resource group. accountName is cosmos DB database account name. +func (client DatabaseAccountsClient) ListConnectionStrings(resourceGroupName string, accountName string) (result DatabaseAccountListConnectionStringsResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: accountName, + Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "cosmosdb.DatabaseAccountsClient", "ListConnectionStrings") + } + + req, err := client.ListConnectionStringsPreparer(resourceGroupName, accountName) + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "ListConnectionStrings", nil, "Failure preparing request") + return + } + + resp, err := client.ListConnectionStringsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "ListConnectionStrings", resp, "Failure sending request") + return + } + + result, err = client.ListConnectionStringsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "ListConnectionStrings", resp, "Failure responding to request") + } + + return +} + +// ListConnectionStringsPreparer prepares the ListConnectionStrings request. +func (client DatabaseAccountsClient) ListConnectionStringsPreparer(resourceGroupName string, accountName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-04-08" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listConnectionStrings", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListConnectionStringsSender sends the ListConnectionStrings request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseAccountsClient) ListConnectionStringsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListConnectionStringsResponder handles the response to the ListConnectionStrings request. The method always +// closes the http.Response Body. +func (client DatabaseAccountsClient) ListConnectionStringsResponder(resp *http.Response) (result DatabaseAccountListConnectionStringsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListKeys lists the access keys for the specified Azure Cosmos DB database account. +// +// resourceGroupName is name of an Azure resource group. accountName is cosmos DB database account name. +func (client DatabaseAccountsClient) ListKeys(resourceGroupName string, accountName string) (result DatabaseAccountListKeysResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: accountName, + Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "cosmosdb.DatabaseAccountsClient", "ListKeys") + } + + req, err := client.ListKeysPreparer(resourceGroupName, accountName) + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "ListKeys", nil, "Failure preparing request") + return + } + + resp, err := client.ListKeysSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "ListKeys", resp, "Failure sending request") + return + } + + result, err = client.ListKeysResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "ListKeys", resp, "Failure responding to request") + } + + return +} + +// ListKeysPreparer prepares the ListKeys request. +func (client DatabaseAccountsClient) ListKeysPreparer(resourceGroupName string, accountName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-04-08" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listKeys", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListKeysSender sends the ListKeys request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseAccountsClient) ListKeysSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListKeysResponder handles the response to the ListKeys request. The method always +// closes the http.Response Body. +func (client DatabaseAccountsClient) ListKeysResponder(resp *http.Response) (result DatabaseAccountListKeysResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListReadOnlyKeys lists the read-only access keys for the specified Azure Cosmos DB database account. +// +// resourceGroupName is name of an Azure resource group. accountName is cosmos DB database account name. +func (client DatabaseAccountsClient) ListReadOnlyKeys(resourceGroupName string, accountName string) (result DatabaseAccountListReadOnlyKeysResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: accountName, + Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "cosmosdb.DatabaseAccountsClient", "ListReadOnlyKeys") + } + + req, err := client.ListReadOnlyKeysPreparer(resourceGroupName, accountName) + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "ListReadOnlyKeys", nil, "Failure preparing request") + return + } + + resp, err := client.ListReadOnlyKeysSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "ListReadOnlyKeys", resp, "Failure sending request") + return + } + + result, err = client.ListReadOnlyKeysResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "ListReadOnlyKeys", resp, "Failure responding to request") + } + + return +} + +// ListReadOnlyKeysPreparer prepares the ListReadOnlyKeys request. +func (client DatabaseAccountsClient) ListReadOnlyKeysPreparer(resourceGroupName string, accountName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-04-08" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListReadOnlyKeysSender sends the ListReadOnlyKeys request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseAccountsClient) ListReadOnlyKeysSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListReadOnlyKeysResponder handles the response to the ListReadOnlyKeys request. The method always +// closes the http.Response Body. +func (client DatabaseAccountsClient) ListReadOnlyKeysResponder(resp *http.Response) (result DatabaseAccountListReadOnlyKeysResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Patch patches the properties of an existing Azure Cosmos DB database account. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. +// +// resourceGroupName is name of an Azure resource group. accountName is cosmos DB database account name. +// updateParameters is the tags parameter to patch for the current database account. +func (client DatabaseAccountsClient) Patch(resourceGroupName string, accountName string, updateParameters DatabaseAccountPatchParameters, cancel <-chan struct{}) (<-chan DatabaseAccount, <-chan error) { + resultChan := make(chan DatabaseAccount, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: accountName, + Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "cosmosdb.DatabaseAccountsClient", "Patch") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result DatabaseAccount + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.PatchPreparer(resourceGroupName, accountName, updateParameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "Patch", nil, "Failure preparing request") + return + } + + resp, err := client.PatchSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "Patch", resp, "Failure sending request") + return + } + + result, err = client.PatchResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "Patch", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// PatchPreparer prepares the Patch request. +func (client DatabaseAccountsClient) PatchPreparer(resourceGroupName string, accountName string, updateParameters DatabaseAccountPatchParameters, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-04-08" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}", pathParameters), + autorest.WithJSON(updateParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// PatchSender sends the Patch request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseAccountsClient) PatchSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// PatchResponder handles the response to the Patch request. The method always +// closes the http.Response Body. +func (client DatabaseAccountsClient) PatchResponder(resp *http.Response) (result DatabaseAccount, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// RegenerateKey regenerates an access key for the specified Azure Cosmos DB database account. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. +// +// resourceGroupName is name of an Azure resource group. accountName is cosmos DB database account name. +// keyToRegenerate is the name of the key to regenerate. +func (client DatabaseAccountsClient) RegenerateKey(resourceGroupName string, accountName string, keyToRegenerate DatabaseAccountRegenerateKeyParameters, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: accountName, + Constraints: []validation.Constraint{{Target: "accountName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "cosmosdb.DatabaseAccountsClient", "RegenerateKey") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.RegenerateKeyPreparer(resourceGroupName, accountName, keyToRegenerate, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "RegenerateKey", nil, "Failure preparing request") + return + } + + resp, err := client.RegenerateKeySender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "RegenerateKey", resp, "Failure sending request") + return + } + + result, err = client.RegenerateKeyResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.DatabaseAccountsClient", "RegenerateKey", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// RegenerateKeyPreparer prepares the RegenerateKey request. +func (client DatabaseAccountsClient) RegenerateKeyPreparer(resourceGroupName string, accountName string, keyToRegenerate DatabaseAccountRegenerateKeyParameters, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-04-08" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey", pathParameters), + autorest.WithJSON(keyToRegenerate), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// RegenerateKeySender sends the RegenerateKey request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseAccountsClient) RegenerateKeySender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// RegenerateKeyResponder handles the response to the RegenerateKey request. The method always +// closes the http.Response Body. +func (client DatabaseAccountsClient) RegenerateKeyResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/cosmos-db/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/cosmos-db/models.go new file mode 100644 index 000000000..45b45dd36 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/cosmos-db/models.go @@ -0,0 +1,233 @@ +package cosmosdb + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/to" + "net/http" +) + +// DatabaseAccountKind enumerates the values for database account kind. +type DatabaseAccountKind string + +const ( + // GlobalDocumentDB specifies the global document db state for database account kind. + GlobalDocumentDB DatabaseAccountKind = "GlobalDocumentDB" + // MongoDB specifies the mongo db state for database account kind. + MongoDB DatabaseAccountKind = "MongoDB" + // Parse specifies the parse state for database account kind. + Parse DatabaseAccountKind = "Parse" +) + +// DatabaseAccountOfferType enumerates the values for database account offer type. +type DatabaseAccountOfferType string + +const ( + // Standard specifies the standard state for database account offer type. + Standard DatabaseAccountOfferType = "Standard" +) + +// DefaultConsistencyLevel enumerates the values for default consistency level. +type DefaultConsistencyLevel string + +const ( + // BoundedStaleness specifies the bounded staleness state for default consistency level. + BoundedStaleness DefaultConsistencyLevel = "BoundedStaleness" + // ConsistentPrefix specifies the consistent prefix state for default consistency level. + ConsistentPrefix DefaultConsistencyLevel = "ConsistentPrefix" + // Eventual specifies the eventual state for default consistency level. + Eventual DefaultConsistencyLevel = "Eventual" + // Session specifies the session state for default consistency level. + Session DefaultConsistencyLevel = "Session" + // Strong specifies the strong state for default consistency level. + Strong DefaultConsistencyLevel = "Strong" +) + +// KeyKind enumerates the values for key kind. +type KeyKind string + +const ( + // Primary specifies the primary state for key kind. + Primary KeyKind = "primary" + // PrimaryReadonly specifies the primary readonly state for key kind. + PrimaryReadonly KeyKind = "primaryReadonly" + // Secondary specifies the secondary state for key kind. + Secondary KeyKind = "secondary" + // SecondaryReadonly specifies the secondary readonly state for key kind. + SecondaryReadonly KeyKind = "secondaryReadonly" +) + +// ConsistencyPolicy is the consistency policy for the Cosmos DB database account. +type ConsistencyPolicy struct { + DefaultConsistencyLevel DefaultConsistencyLevel `json:"defaultConsistencyLevel,omitempty"` + MaxStalenessPrefix *int64 `json:"maxStalenessPrefix,omitempty"` + MaxIntervalInSeconds *int32 `json:"maxIntervalInSeconds,omitempty"` +} + +// DatabaseAccount is an Azure Cosmos DB database account. +type DatabaseAccount struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + Kind DatabaseAccountKind `json:"kind,omitempty"` + *DatabaseAccountProperties `json:"properties,omitempty"` +} + +// DatabaseAccountConnectionString is connection string for the Cosmos DB account +type DatabaseAccountConnectionString struct { + ConnectionString *string `json:"connectionString,omitempty"` + Description *string `json:"description,omitempty"` +} + +// DatabaseAccountCreateUpdateParameters is parameters to create and update Cosmos DB database accounts. +type DatabaseAccountCreateUpdateParameters struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + Kind DatabaseAccountKind `json:"kind,omitempty"` + *DatabaseAccountCreateUpdateProperties `json:"properties,omitempty"` +} + +// DatabaseAccountCreateUpdateProperties is properties to create and update Azure Cosmos DB database accounts. +type DatabaseAccountCreateUpdateProperties struct { + ConsistencyPolicy *ConsistencyPolicy `json:"consistencyPolicy,omitempty"` + Locations *[]Location `json:"locations,omitempty"` + DatabaseAccountOfferType *string `json:"databaseAccountOfferType,omitempty"` + IPRangeFilter *string `json:"ipRangeFilter,omitempty"` + EnableAutomaticFailover *bool `json:"enableAutomaticFailover,omitempty"` +} + +// DatabaseAccountListConnectionStringsResult is the connection strings for the given database account. +type DatabaseAccountListConnectionStringsResult struct { + autorest.Response `json:"-"` + ConnectionStrings *[]DatabaseAccountConnectionString `json:"connectionStrings,omitempty"` +} + +// DatabaseAccountListKeysResult is the access keys for the given database account. +type DatabaseAccountListKeysResult struct { + autorest.Response `json:"-"` + PrimaryMasterKey *string `json:"primaryMasterKey,omitempty"` + SecondaryMasterKey *string `json:"secondaryMasterKey,omitempty"` + *DatabaseAccountListReadOnlyKeysResult `json:"properties,omitempty"` +} + +// DatabaseAccountListReadOnlyKeysResult is the read-only access keys for the given database account. +type DatabaseAccountListReadOnlyKeysResult struct { + autorest.Response `json:"-"` + PrimaryReadonlyMasterKey *string `json:"primaryReadonlyMasterKey,omitempty"` + SecondaryReadonlyMasterKey *string `json:"secondaryReadonlyMasterKey,omitempty"` +} + +// DatabaseAccountPatchParameters is parameters for patching Azure Cosmos DB database account properties. +type DatabaseAccountPatchParameters struct { + Tags *map[string]*string `json:"tags,omitempty"` +} + +// DatabaseAccountProperties is properties for the database account. +type DatabaseAccountProperties struct { + ProvisioningState *string `json:"provisioningState,omitempty"` + DocumentEndpoint *string `json:"documentEndpoint,omitempty"` + DatabaseAccountOfferType DatabaseAccountOfferType `json:"databaseAccountOfferType,omitempty"` + IPRangeFilter *string `json:"ipRangeFilter,omitempty"` + EnableAutomaticFailover *bool `json:"enableAutomaticFailover,omitempty"` + ConsistencyPolicy *ConsistencyPolicy `json:"consistencyPolicy,omitempty"` + WriteLocations *[]Location `json:"writeLocations,omitempty"` + ReadLocations *[]Location `json:"readLocations,omitempty"` + FailoverPolicies *[]FailoverPolicy `json:"failoverPolicies,omitempty"` +} + +// DatabaseAccountRegenerateKeyParameters is parameters to regenerate the keys within the database account. +type DatabaseAccountRegenerateKeyParameters struct { + KeyKind KeyKind `json:"keyKind,omitempty"` +} + +// DatabaseAccountsListResult is the List operation response, that contains the database accounts and their properties. +type DatabaseAccountsListResult struct { + autorest.Response `json:"-"` + Value *[]DatabaseAccount `json:"value,omitempty"` +} + +// FailoverPolicies is the list of new failover policies for the failover priority change. +type FailoverPolicies struct { + FailoverPolicies *[]FailoverPolicy `json:"failoverPolicies,omitempty"` +} + +// FailoverPolicy is the failover policy for a given region of a database account. +type FailoverPolicy struct { + ID *string `json:"id,omitempty"` + LocationName *string `json:"locationName,omitempty"` + FailoverPriority *int32 `json:"failoverPriority,omitempty"` +} + +// Location is a region in which the Azure Cosmos DB database account is deployed. +type Location struct { + ID *string `json:"id,omitempty"` + LocationName *string `json:"locationName,omitempty"` + DocumentEndpoint *string `json:"documentEndpoint,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + FailoverPriority *int32 `json:"failoverPriority,omitempty"` +} + +// Operation is REST API operation +type Operation struct { + Name *string `json:"name,omitempty"` + Display *OperationDisplay `json:"display,omitempty"` +} + +// OperationDisplay is the object that represents the operation. +type OperationDisplay struct { + Provider *string `json:"Provider,omitempty"` + Resource *string `json:"Resource,omitempty"` + Operation *string `json:"Operation,omitempty"` + Description *string `json:"Description,omitempty"` +} + +// OperationListResult is result of the request to list Resource Provider operations. It contains a list of operations +// and a URL link to get the next set of results. +type OperationListResult struct { + autorest.Response `json:"-"` + Value *[]Operation `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// OperationListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client OperationListResult) OperationListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// Resource is a database account resource. +type Resource struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/cosmos-db/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/cosmos-db/operations.go new file mode 100644 index 000000000..305a47122 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/cosmos-db/operations.go @@ -0,0 +1,165 @@ +package cosmosdb + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// OperationsClient is the azure Cosmos DB Database Service Resource Provider REST API +type OperationsClient struct { + ManagementClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List lists all of the available Cosmos DB Resource Provider operations. +func (client OperationsClient) List() (result OperationListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "cosmosdb.OperationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer() (*http.Request, error) { + const APIVersion = "2015-04-08" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.DocumentDB/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client OperationsClient) ListNextResults(lastResults OperationListResult) (result OperationListResult, err error) { + req, err := lastResults.OperationListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "cosmosdb.OperationsClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "cosmosdb.OperationsClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "cosmosdb.OperationsClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client OperationsClient) ListComplete(cancel <-chan struct{}) (<-chan Operation, <-chan error) { + resultChan := make(chan Operation) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/cosmos-db/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/cosmos-db/version.go new file mode 100644 index 000000000..fa55b1042 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/cosmos-db/version.go @@ -0,0 +1,28 @@ +package cosmosdb + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/v11.0.0-beta arm-cosmosdb/2015-04-08" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return "v11.0.0-beta" +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/authorizationpolicies.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/authorizationpolicies.go index fb08c5a4d..507d85763 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/authorizationpolicies.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/authorizationpolicies.go @@ -14,9 +14,8 @@ package customerinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,33 +24,27 @@ import ( "net/http" ) -// AuthorizationPoliciesClient is the the Azure Customer Insights management -// API provides a RESTful set of web services that interact with Azure Customer -// Insights service to manage your resources. The API has entities that capture -// the relationship between an end user and the Azure Customer Insights -// service. +// AuthorizationPoliciesClient is the the Azure Customer Insights management API provides a RESTful set of web services +// that interact with Azure Customer Insights service to manage your resources. The API has entities that capture the +// relationship between an end user and the Azure Customer Insights service. type AuthorizationPoliciesClient struct { ManagementClient } -// NewAuthorizationPoliciesClient creates an instance of the -// AuthorizationPoliciesClient client. +// NewAuthorizationPoliciesClient creates an instance of the AuthorizationPoliciesClient client. func NewAuthorizationPoliciesClient(subscriptionID string) AuthorizationPoliciesClient { return NewAuthorizationPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewAuthorizationPoliciesClientWithBaseURI creates an instance of the -// AuthorizationPoliciesClient client. +// NewAuthorizationPoliciesClientWithBaseURI creates an instance of the AuthorizationPoliciesClient client. func NewAuthorizationPoliciesClientWithBaseURI(baseURI string, subscriptionID string) AuthorizationPoliciesClient { return AuthorizationPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates an authorization policy or updates an existing -// authorization policy. +// CreateOrUpdate creates an authorization policy or updates an existing authorization policy. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. authorizationPolicyName is the name of the policy. parameters is -// parameters supplied to the CreateOrUpdate authorization policy operation. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. authorizationPolicyName is the +// name of the policy. parameters is parameters supplied to the CreateOrUpdate authorization policy operation. func (client AuthorizationPoliciesClient) CreateOrUpdate(resourceGroupName string, hubName string, authorizationPolicyName string, parameters AuthorizationPolicyResourceFormat) (result AuthorizationPolicyResourceFormat, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: authorizationPolicyName, @@ -96,7 +89,7 @@ func (client AuthorizationPoliciesClient) CreateOrUpdatePreparer(resourceGroupNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -132,8 +125,8 @@ func (client AuthorizationPoliciesClient) CreateOrUpdateResponder(resp *http.Res // Get gets an authorization policy in the hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. authorizationPolicyName is the name of the policy. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. authorizationPolicyName is the +// name of the policy. func (client AuthorizationPoliciesClient) Get(resourceGroupName string, hubName string, authorizationPolicyName string) (result AuthorizationPolicyResourceFormat, err error) { req, err := client.GetPreparer(resourceGroupName, hubName, authorizationPolicyName) if err != nil { @@ -165,7 +158,7 @@ func (client AuthorizationPoliciesClient) GetPreparer(resourceGroupName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -199,8 +192,7 @@ func (client AuthorizationPoliciesClient) GetResponder(resp *http.Response) (res // ListByHub gets all the authorization policies in a specified hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. func (client AuthorizationPoliciesClient) ListByHub(resourceGroupName string, hubName string) (result AuthorizationPolicyListResult, err error) { req, err := client.ListByHubPreparer(resourceGroupName, hubName) if err != nil { @@ -231,7 +223,7 @@ func (client AuthorizationPoliciesClient) ListByHubPreparer(resourceGroupName st "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -287,11 +279,55 @@ func (client AuthorizationPoliciesClient) ListByHubNextResults(lastResults Autho return } -// RegeneratePrimaryKey regenerates the primary policy key of the specified -// authorization policy. +// ListByHubComplete gets all elements from the list without paging. +func (client AuthorizationPoliciesClient) ListByHubComplete(resourceGroupName string, hubName string, cancel <-chan struct{}) (<-chan AuthorizationPolicyResourceFormat, <-chan error) { + resultChan := make(chan AuthorizationPolicyResourceFormat) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByHub(resourceGroupName, hubName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByHubNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// RegeneratePrimaryKey regenerates the primary policy key of the specified authorization policy. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. authorizationPolicyName is the name of the policy. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. authorizationPolicyName is the +// name of the policy. func (client AuthorizationPoliciesClient) RegeneratePrimaryKey(resourceGroupName string, hubName string, authorizationPolicyName string) (result AuthorizationPolicy, err error) { req, err := client.RegeneratePrimaryKeyPreparer(resourceGroupName, hubName, authorizationPolicyName) if err != nil { @@ -323,7 +359,7 @@ func (client AuthorizationPoliciesClient) RegeneratePrimaryKeyPreparer(resourceG "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -355,11 +391,10 @@ func (client AuthorizationPoliciesClient) RegeneratePrimaryKeyResponder(resp *ht return } -// RegenerateSecondaryKey regenerates the secondary policy key of the specified -// authorization policy. +// RegenerateSecondaryKey regenerates the secondary policy key of the specified authorization policy. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. authorizationPolicyName is the name of the policy. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. authorizationPolicyName is the +// name of the policy. func (client AuthorizationPoliciesClient) RegenerateSecondaryKey(resourceGroupName string, hubName string, authorizationPolicyName string) (result AuthorizationPolicy, err error) { req, err := client.RegenerateSecondaryKeyPreparer(resourceGroupName, hubName, authorizationPolicyName) if err != nil { @@ -391,7 +426,7 @@ func (client AuthorizationPoliciesClient) RegenerateSecondaryKeyPreparer(resourc "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/client.go index 7161204a7..33c0a820d 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/client.go @@ -1,10 +1,8 @@ -// Package customerinsights implements the Azure ARM Customerinsights service -// API version 2017-01-01. +// Package customerinsights implements the Azure ARM Customerinsights service API version 2017-04-26. // -// The Azure Customer Insights management API provides a RESTful set of web -// services that interact with Azure Customer Insights service to manage your -// resources. The API has entities that capture the relationship between an end -// user and the Azure Customer Insights service. +// The Azure Customer Insights management API provides a RESTful set of web services that interact with Azure Customer +// Insights service to manage your resources. The API has entities that capture the relationship between an end user +// and the Azure Customer Insights service. package customerinsights // Copyright (c) Microsoft and contributors. All rights reserved. @@ -21,9 +19,8 @@ package customerinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/connectormappings.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/connectormappings.go index fd13b7d69..43c968d4d 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/connectormappings.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/connectormappings.go @@ -14,9 +14,8 @@ package customerinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,33 +24,27 @@ import ( "net/http" ) -// ConnectorMappingsClient is the the Azure Customer Insights management API -// provides a RESTful set of web services that interact with Azure Customer -// Insights service to manage your resources. The API has entities that capture -// the relationship between an end user and the Azure Customer Insights -// service. +// ConnectorMappingsClient is the the Azure Customer Insights management API provides a RESTful set of web services +// that interact with Azure Customer Insights service to manage your resources. The API has entities that capture the +// relationship between an end user and the Azure Customer Insights service. type ConnectorMappingsClient struct { ManagementClient } -// NewConnectorMappingsClient creates an instance of the -// ConnectorMappingsClient client. +// NewConnectorMappingsClient creates an instance of the ConnectorMappingsClient client. func NewConnectorMappingsClient(subscriptionID string) ConnectorMappingsClient { return NewConnectorMappingsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewConnectorMappingsClientWithBaseURI creates an instance of the -// ConnectorMappingsClient client. +// NewConnectorMappingsClientWithBaseURI creates an instance of the ConnectorMappingsClient client. func NewConnectorMappingsClientWithBaseURI(baseURI string, subscriptionID string) ConnectorMappingsClient { return ConnectorMappingsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates a connector mapping or updates an existing connector -// mapping in the connector. +// CreateOrUpdate creates a connector mapping or updates an existing connector mapping in the connector. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. connectorName is the name of the connector. mappingName is the name -// of the connector mapping. parameters is parameters supplied to the +// resourceGroupName is the name of the resource group. hubName is the name of the hub. connectorName is the name of +// the connector. mappingName is the name of the connector mapping. parameters is parameters supplied to the // CreateOrUpdate Connector Mapping operation. func (client ConnectorMappingsClient) CreateOrUpdate(resourceGroupName string, hubName string, connectorName string, mappingName string, parameters ConnectorMappingResourceFormat) (result ConnectorMappingResourceFormat, err error) { if err := validation.Validate([]validation.Validation{ @@ -106,7 +99,7 @@ func (client ConnectorMappingsClient) CreateOrUpdatePreparer(resourceGroupName s "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -142,9 +135,8 @@ func (client ConnectorMappingsClient) CreateOrUpdateResponder(resp *http.Respons // Delete deletes a connector mapping in the connector. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. connectorName is the name of the connector. mappingName is the name -// of the connector mapping. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. connectorName is the name of +// the connector. mappingName is the name of the connector mapping. func (client ConnectorMappingsClient) Delete(resourceGroupName string, hubName string, connectorName string, mappingName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, hubName, connectorName, mappingName) if err != nil { @@ -177,7 +169,7 @@ func (client ConnectorMappingsClient) DeletePreparer(resourceGroupName string, h "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -210,9 +202,8 @@ func (client ConnectorMappingsClient) DeleteResponder(resp *http.Response) (resu // Get gets a connector mapping in the connector. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. connectorName is the name of the connector. mappingName is the name -// of the connector mapping. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. connectorName is the name of +// the connector. mappingName is the name of the connector mapping. func (client ConnectorMappingsClient) Get(resourceGroupName string, hubName string, connectorName string, mappingName string) (result ConnectorMappingResourceFormat, err error) { req, err := client.GetPreparer(resourceGroupName, hubName, connectorName, mappingName) if err != nil { @@ -245,7 +236,7 @@ func (client ConnectorMappingsClient) GetPreparer(resourceGroupName string, hubN "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -279,8 +270,8 @@ func (client ConnectorMappingsClient) GetResponder(resp *http.Response) (result // ListByConnector gets all the connector mappings in the specified connector. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. connectorName is the name of the connector. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. connectorName is the name of +// the connector. func (client ConnectorMappingsClient) ListByConnector(resourceGroupName string, hubName string, connectorName string) (result ConnectorMappingListResult, err error) { req, err := client.ListByConnectorPreparer(resourceGroupName, hubName, connectorName) if err != nil { @@ -312,7 +303,7 @@ func (client ConnectorMappingsClient) ListByConnectorPreparer(resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -367,3 +358,48 @@ func (client ConnectorMappingsClient) ListByConnectorNextResults(lastResults Con return } + +// ListByConnectorComplete gets all elements from the list without paging. +func (client ConnectorMappingsClient) ListByConnectorComplete(resourceGroupName string, hubName string, connectorName string, cancel <-chan struct{}) (<-chan ConnectorMappingResourceFormat, <-chan error) { + resultChan := make(chan ConnectorMappingResourceFormat) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByConnector(resourceGroupName, hubName, connectorName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByConnectorNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/connectors.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/connectors.go index de3ff1d82..3386c6930 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/connectors.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/connectors.go @@ -14,9 +14,8 @@ package customerinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,9 +24,8 @@ import ( "net/http" ) -// ConnectorsClient is the the Azure Customer Insights management API provides -// a RESTful set of web services that interact with Azure Customer Insights -// service to manage your resources. The API has entities that capture the +// ConnectorsClient is the the Azure Customer Insights management API provides a RESTful set of web services that +// interact with Azure Customer Insights service to manage your resources. The API has entities that capture the // relationship between an end user and the Azure Customer Insights service. type ConnectorsClient struct { ManagementClient @@ -38,20 +36,17 @@ func NewConnectorsClient(subscriptionID string) ConnectorsClient { return NewConnectorsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewConnectorsClientWithBaseURI creates an instance of the ConnectorsClient -// client. +// NewConnectorsClientWithBaseURI creates an instance of the ConnectorsClient client. func NewConnectorsClientWithBaseURI(baseURI string, subscriptionID string) ConnectorsClient { return ConnectorsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates a connector or updates an existing connector in the -// hub. This method may poll for completion. Polling can be canceled by passing -// the cancel channel argument. The channel will be used to cancel polling and -// any outstanding HTTP requests. +// CreateOrUpdate creates a connector or updates an existing connector in the hub. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. connectorName is the name of the connector. parameters is -// parameters supplied to the CreateOrUpdate Connector operation. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. connectorName is the name of +// the connector. parameters is parameters supplied to the CreateOrUpdate Connector operation. func (client ConnectorsClient) CreateOrUpdate(resourceGroupName string, hubName string, connectorName string, parameters ConnectorResourceFormat, cancel <-chan struct{}) (<-chan ConnectorResourceFormat, <-chan error) { resultChan := make(chan ConnectorResourceFormat, 1) errChan := make(chan error, 1) @@ -73,8 +68,10 @@ func (client ConnectorsClient) CreateOrUpdate(resourceGroupName string, hubName var err error var result ConnectorResourceFormat defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -108,7 +105,7 @@ func (client ConnectorsClient) CreateOrUpdatePreparer(resourceGroupName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -144,12 +141,11 @@ func (client ConnectorsClient) CreateOrUpdateResponder(resp *http.Response) (res return } -// Delete deletes a connector in the hub. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// Delete deletes a connector in the hub. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. connectorName is the name of the connector. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. connectorName is the name of +// the connector. func (client ConnectorsClient) Delete(resourceGroupName string, hubName string, connectorName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -157,8 +153,10 @@ func (client ConnectorsClient) Delete(resourceGroupName string, hubName string, var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -192,7 +190,7 @@ func (client ConnectorsClient) DeletePreparer(resourceGroupName string, hubName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -227,8 +225,8 @@ func (client ConnectorsClient) DeleteResponder(resp *http.Response) (result auto // Get gets a connector in the hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. connectorName is the name of the connector. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. connectorName is the name of +// the connector. func (client ConnectorsClient) Get(resourceGroupName string, hubName string, connectorName string) (result ConnectorResourceFormat, err error) { req, err := client.GetPreparer(resourceGroupName, hubName, connectorName) if err != nil { @@ -260,7 +258,7 @@ func (client ConnectorsClient) GetPreparer(resourceGroupName string, hubName str "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -294,8 +292,7 @@ func (client ConnectorsClient) GetResponder(resp *http.Response) (result Connect // ListByHub gets all the connectors in the specified hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. func (client ConnectorsClient) ListByHub(resourceGroupName string, hubName string) (result ConnectorListResult, err error) { req, err := client.ListByHubPreparer(resourceGroupName, hubName) if err != nil { @@ -326,7 +323,7 @@ func (client ConnectorsClient) ListByHubPreparer(resourceGroupName string, hubNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -381,3 +378,48 @@ func (client ConnectorsClient) ListByHubNextResults(lastResults ConnectorListRes return } + +// ListByHubComplete gets all elements from the list without paging. +func (client ConnectorsClient) ListByHubComplete(resourceGroupName string, hubName string, cancel <-chan struct{}) (<-chan ConnectorResourceFormat, <-chan error) { + resultChan := make(chan ConnectorResourceFormat) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByHub(resourceGroupName, hubName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByHubNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/hubs.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/hubs.go index 42becee80..f21cf2716 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/hubs.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/hubs.go @@ -14,9 +14,8 @@ package customerinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,10 +24,9 @@ import ( "net/http" ) -// HubsClient is the the Azure Customer Insights management API provides a -// RESTful set of web services that interact with Azure Customer Insights -// service to manage your resources. The API has entities that capture the -// relationship between an end user and the Azure Customer Insights service. +// HubsClient is the the Azure Customer Insights management API provides a RESTful set of web services that interact +// with Azure Customer Insights service to manage your resources. The API has entities that capture the relationship +// between an end user and the Azure Customer Insights service. type HubsClient struct { ManagementClient } @@ -45,9 +43,8 @@ func NewHubsClientWithBaseURI(baseURI string, subscriptionID string) HubsClient // CreateOrUpdate creates a hub, or updates an existing hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the Hub. parameters is parameters supplied to the CreateOrUpdate Hub -// operation. +// resourceGroupName is the name of the resource group. hubName is the name of the Hub. parameters is parameters +// supplied to the CreateOrUpdate Hub operation. func (client HubsClient) CreateOrUpdate(resourceGroupName string, hubName string, parameters Hub) (result Hub, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: hubName, @@ -99,7 +96,7 @@ func (client HubsClient) CreateOrUpdatePreparer(resourceGroupName string, hubNam "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -133,12 +130,10 @@ func (client HubsClient) CreateOrUpdateResponder(resp *http.Response) (result Hu return } -// Delete deletes the specified hub. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// Delete deletes the specified hub. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. func (client HubsClient) Delete(resourceGroupName string, hubName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -146,8 +141,10 @@ func (client HubsClient) Delete(resourceGroupName string, hubName string, cancel var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -180,7 +177,7 @@ func (client HubsClient) DeletePreparer(resourceGroupName string, hubName string "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -215,8 +212,7 @@ func (client HubsClient) DeleteResponder(resp *http.Response) (result autorest.R // Get gets information about the specified hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. func (client HubsClient) Get(resourceGroupName string, hubName string) (result Hub, err error) { req, err := client.GetPreparer(resourceGroupName, hubName) if err != nil { @@ -247,7 +243,7 @@ func (client HubsClient) GetPreparer(resourceGroupName string, hubName string) ( "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -308,7 +304,7 @@ func (client HubsClient) ListPreparer() (*http.Request, error) { "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -364,6 +360,51 @@ func (client HubsClient) ListNextResults(lastResults HubListResult) (result HubL return } +// ListComplete gets all elements from the list without paging. +func (client HubsClient) ListComplete(cancel <-chan struct{}) (<-chan Hub, <-chan error) { + resultChan := make(chan Hub) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListByResourceGroup gets all the hubs in a resource group. // // resourceGroupName is the name of the resource group. @@ -396,7 +437,7 @@ func (client HubsClient) ListByResourceGroupPreparer(resourceGroupName string) ( "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -452,10 +493,55 @@ func (client HubsClient) ListByResourceGroupNextResults(lastResults HubListResul return } +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client HubsClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan Hub, <-chan error) { + resultChan := make(chan Hub) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update updates a Hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the Hub. parameters is parameters supplied to the Update Hub operation. +// resourceGroupName is the name of the resource group. hubName is the name of the Hub. parameters is parameters +// supplied to the Update Hub operation. func (client HubsClient) Update(resourceGroupName string, hubName string, parameters Hub) (result Hub, err error) { req, err := client.UpdatePreparer(resourceGroupName, hubName, parameters) if err != nil { @@ -486,7 +572,7 @@ func (client HubsClient) UpdatePreparer(resourceGroupName string, hubName string "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/images.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/images.go index c77ace5a9..645f9a23e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/images.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/images.go @@ -14,9 +14,8 @@ package customerinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,10 +23,9 @@ import ( "net/http" ) -// ImagesClient is the the Azure Customer Insights management API provides a -// RESTful set of web services that interact with Azure Customer Insights -// service to manage your resources. The API has entities that capture the -// relationship between an end user and the Azure Customer Insights service. +// ImagesClient is the the Azure Customer Insights management API provides a RESTful set of web services that interact +// with Azure Customer Insights service to manage your resources. The API has entities that capture the relationship +// between an end user and the Azure Customer Insights service. type ImagesClient struct { ManagementClient } @@ -44,9 +42,8 @@ func NewImagesClientWithBaseURI(baseURI string, subscriptionID string) ImagesCli // GetUploadURLForData gets data image upload URL. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. parameters is parameters supplied to the GetUploadUrlForData -// operation. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. parameters is parameters +// supplied to the GetUploadUrlForData operation. func (client ImagesClient) GetUploadURLForData(resourceGroupName string, hubName string, parameters GetImageUploadURLInput) (result ImageDefinition, err error) { req, err := client.GetUploadURLForDataPreparer(resourceGroupName, hubName, parameters) if err != nil { @@ -77,7 +74,7 @@ func (client ImagesClient) GetUploadURLForDataPreparer(resourceGroupName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -111,12 +108,10 @@ func (client ImagesClient) GetUploadURLForDataResponder(resp *http.Response) (re return } -// GetUploadURLForEntityType gets entity type (profile or interaction) image -// upload URL. +// GetUploadURLForEntityType gets entity type (profile or interaction) image upload URL. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. parameters is parameters supplied to the GetUploadUrlForEntityType -// operation. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. parameters is parameters +// supplied to the GetUploadUrlForEntityType operation. func (client ImagesClient) GetUploadURLForEntityType(resourceGroupName string, hubName string, parameters GetImageUploadURLInput) (result ImageDefinition, err error) { req, err := client.GetUploadURLForEntityTypePreparer(resourceGroupName, hubName, parameters) if err != nil { @@ -147,7 +142,7 @@ func (client ImagesClient) GetUploadURLForEntityTypePreparer(resourceGroupName s "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/interactions.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/interactions.go index 1999cf078..a9b9a0fe8 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/interactions.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/interactions.go @@ -14,9 +14,8 @@ package customerinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,11 +24,9 @@ import ( "net/http" ) -// InteractionsClient is the the Azure Customer Insights management API -// provides a RESTful set of web services that interact with Azure Customer -// Insights service to manage your resources. The API has entities that capture -// the relationship between an end user and the Azure Customer Insights -// service. +// InteractionsClient is the the Azure Customer Insights management API provides a RESTful set of web services that +// interact with Azure Customer Insights service to manage your resources. The API has entities that capture the +// relationship between an end user and the Azure Customer Insights service. type InteractionsClient struct { ManagementClient } @@ -39,20 +36,17 @@ func NewInteractionsClient(subscriptionID string) InteractionsClient { return NewInteractionsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewInteractionsClientWithBaseURI creates an instance of the -// InteractionsClient client. +// NewInteractionsClientWithBaseURI creates an instance of the InteractionsClient client. func NewInteractionsClientWithBaseURI(baseURI string, subscriptionID string) InteractionsClient { return InteractionsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates an interaction or updates an existing interaction -// within a hub. This method may poll for completion. Polling can be canceled -// by passing the cancel channel argument. The channel will be used to cancel +// CreateOrUpdate creates an interaction or updates an existing interaction within a hub. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel // polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. interactionName is the name of the interaction. parameters is -// parameters supplied to the CreateOrUpdate Interaction operation. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. interactionName is the name of +// the interaction. parameters is parameters supplied to the CreateOrUpdate Interaction operation. func (client InteractionsClient) CreateOrUpdate(resourceGroupName string, hubName string, interactionName string, parameters InteractionResourceFormat, cancel <-chan struct{}) (<-chan InteractionResourceFormat, <-chan error) { resultChan := make(chan InteractionResourceFormat, 1) errChan := make(chan error, 1) @@ -71,8 +65,10 @@ func (client InteractionsClient) CreateOrUpdate(resourceGroupName string, hubNam var err error var result InteractionResourceFormat defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -106,7 +102,7 @@ func (client InteractionsClient) CreateOrUpdatePreparer(resourceGroupName string "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -144,9 +140,8 @@ func (client InteractionsClient) CreateOrUpdateResponder(resp *http.Response) (r // Get gets information about the specified interaction. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. interactionName is the name of the interaction. localeCode is -// locale of interaction to retrieve, default is en-us. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. interactionName is the name of +// the interaction. localeCode is locale of interaction to retrieve, default is en-us. func (client InteractionsClient) Get(resourceGroupName string, hubName string, interactionName string, localeCode string) (result InteractionResourceFormat, err error) { req, err := client.GetPreparer(resourceGroupName, hubName, interactionName, localeCode) if err != nil { @@ -178,7 +173,7 @@ func (client InteractionsClient) GetPreparer(resourceGroupName string, hubName s "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -215,8 +210,8 @@ func (client InteractionsClient) GetResponder(resp *http.Response) (result Inter // ListByHub gets all interactions in the hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. localeCode is locale of interaction to retrieve, default is en-us. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. localeCode is locale of +// interaction to retrieve, default is en-us. func (client InteractionsClient) ListByHub(resourceGroupName string, hubName string, localeCode string) (result InteractionListResult, err error) { req, err := client.ListByHubPreparer(resourceGroupName, hubName, localeCode) if err != nil { @@ -247,7 +242,7 @@ func (client InteractionsClient) ListByHubPreparer(resourceGroupName string, hub "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -306,11 +301,55 @@ func (client InteractionsClient) ListByHubNextResults(lastResults InteractionLis return } -// SuggestRelationshipLinks suggests relationships to create relationship -// links. +// ListByHubComplete gets all elements from the list without paging. +func (client InteractionsClient) ListByHubComplete(resourceGroupName string, hubName string, localeCode string, cancel <-chan struct{}) (<-chan InteractionResourceFormat, <-chan error) { + resultChan := make(chan InteractionResourceFormat) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByHub(resourceGroupName, hubName, localeCode) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByHubNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// SuggestRelationshipLinks suggests relationships to create relationship links. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. interactionName is the name of the interaction. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. interactionName is the name of +// the interaction. func (client InteractionsClient) SuggestRelationshipLinks(resourceGroupName string, hubName string, interactionName string) (result SuggestRelationshipLinksResponse, err error) { req, err := client.SuggestRelationshipLinksPreparer(resourceGroupName, hubName, interactionName) if err != nil { @@ -342,7 +381,7 @@ func (client InteractionsClient) SuggestRelationshipLinksPreparer(resourceGroupN "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/kpi.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/kpi.go index 7110ba198..90ea88cb6 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/kpi.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/kpi.go @@ -14,9 +14,8 @@ package customerinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,10 +24,9 @@ import ( "net/http" ) -// KpiClient is the the Azure Customer Insights management API provides a -// RESTful set of web services that interact with Azure Customer Insights -// service to manage your resources. The API has entities that capture the -// relationship between an end user and the Azure Customer Insights service. +// KpiClient is the the Azure Customer Insights management API provides a RESTful set of web services that interact +// with Azure Customer Insights service to manage your resources. The API has entities that capture the relationship +// between an end user and the Azure Customer Insights service. type KpiClient struct { ManagementClient } @@ -43,14 +41,12 @@ func NewKpiClientWithBaseURI(baseURI string, subscriptionID string) KpiClient { return KpiClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates a KPI or updates an existing KPI in the hub. This -// method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// CreateOrUpdate creates a KPI or updates an existing KPI in the hub. This method may poll for completion. Polling can +// be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding +// HTTP requests. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. kpiName is the name of the KPI. parameters is parameters supplied -// to the create/update KPI operation. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. kpiName is the name of the KPI. +// parameters is parameters supplied to the create/update KPI operation. func (client KpiClient) CreateOrUpdate(resourceGroupName string, hubName string, kpiName string, parameters KpiResourceFormat, cancel <-chan struct{}) (<-chan KpiResourceFormat, <-chan error) { resultChan := make(chan KpiResourceFormat, 1) errChan := make(chan error, 1) @@ -79,8 +75,10 @@ func (client KpiClient) CreateOrUpdate(resourceGroupName string, hubName string, var err error var result KpiResourceFormat defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -114,7 +112,7 @@ func (client KpiClient) CreateOrUpdatePreparer(resourceGroupName string, hubName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -150,12 +148,10 @@ func (client KpiClient) CreateOrUpdateResponder(resp *http.Response) (result Kpi return } -// Delete deletes a KPI in the hub. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// Delete deletes a KPI in the hub. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. kpiName is the name of the KPI. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. kpiName is the name of the KPI. func (client KpiClient) Delete(resourceGroupName string, hubName string, kpiName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -163,8 +159,10 @@ func (client KpiClient) Delete(resourceGroupName string, hubName string, kpiName var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -198,7 +196,7 @@ func (client KpiClient) DeletePreparer(resourceGroupName string, hubName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -233,8 +231,7 @@ func (client KpiClient) DeleteResponder(resp *http.Response) (result autorest.Re // Get gets a KPI in the hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. kpiName is the name of the KPI. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. kpiName is the name of the KPI. func (client KpiClient) Get(resourceGroupName string, hubName string, kpiName string) (result KpiResourceFormat, err error) { req, err := client.GetPreparer(resourceGroupName, hubName, kpiName) if err != nil { @@ -266,7 +263,7 @@ func (client KpiClient) GetPreparer(resourceGroupName string, hubName string, kp "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -300,8 +297,7 @@ func (client KpiClient) GetResponder(resp *http.Response) (result KpiResourceFor // ListByHub gets all the KPIs in the specified hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. func (client KpiClient) ListByHub(resourceGroupName string, hubName string) (result KpiListResult, err error) { req, err := client.ListByHubPreparer(resourceGroupName, hubName) if err != nil { @@ -332,7 +328,7 @@ func (client KpiClient) ListByHubPreparer(resourceGroupName string, hubName stri "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -388,10 +384,54 @@ func (client KpiClient) ListByHubNextResults(lastResults KpiListResult) (result return } +// ListByHubComplete gets all elements from the list without paging. +func (client KpiClient) ListByHubComplete(resourceGroupName string, hubName string, cancel <-chan struct{}) (<-chan KpiResourceFormat, <-chan error) { + resultChan := make(chan KpiResourceFormat) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByHub(resourceGroupName, hubName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByHubNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Reprocess reprocesses the Kpi values of the specified KPI. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. kpiName is the name of the KPI. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. kpiName is the name of the KPI. func (client KpiClient) Reprocess(resourceGroupName string, hubName string, kpiName string) (result autorest.Response, err error) { req, err := client.ReprocessPreparer(resourceGroupName, hubName, kpiName) if err != nil { @@ -423,7 +463,7 @@ func (client KpiClient) ReprocessPreparer(resourceGroupName string, hubName stri "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/links.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/links.go index dcae7fcd1..1b52e68a5 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/links.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/links.go @@ -14,9 +14,8 @@ package customerinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,10 +24,9 @@ import ( "net/http" ) -// LinksClient is the the Azure Customer Insights management API provides a -// RESTful set of web services that interact with Azure Customer Insights -// service to manage your resources. The API has entities that capture the -// relationship between an end user and the Azure Customer Insights service. +// LinksClient is the the Azure Customer Insights management API provides a RESTful set of web services that interact +// with Azure Customer Insights service to manage your resources. The API has entities that capture the relationship +// between an end user and the Azure Customer Insights service. type LinksClient struct { ManagementClient } @@ -43,14 +41,12 @@ func NewLinksClientWithBaseURI(baseURI string, subscriptionID string) LinksClien return LinksClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates a link or updates an existing link in the hub. This -// method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// CreateOrUpdate creates a link or updates an existing link in the hub. This method may poll for completion. Polling +// can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. linkName is the name of the link. parameters is parameters supplied -// to the CreateOrUpdate Link operation. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. linkName is the name of the +// link. parameters is parameters supplied to the CreateOrUpdate Link operation. func (client LinksClient) CreateOrUpdate(resourceGroupName string, hubName string, linkName string, parameters LinkResourceFormat, cancel <-chan struct{}) (<-chan LinkResourceFormat, <-chan error) { resultChan := make(chan LinkResourceFormat, 1) errChan := make(chan error, 1) @@ -61,8 +57,8 @@ func (client LinksClient) CreateOrUpdate(resourceGroupName string, hubName strin {Target: "linkName", Name: validation.Pattern, Rule: `^[a-zA-Z][a-zA-Z0-9_]+$`, Chain: nil}}}, {TargetValue: parameters, Constraints: []validation.Constraint{{Target: "parameters.LinkDefinition", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.LinkDefinition.SourceInteractionType", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.LinkDefinition.TargetProfileType", Name: validation.Null, Rule: true, Chain: nil}, + Chain: []validation.Constraint{{Target: "parameters.LinkDefinition.SourceEntityTypeName", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.LinkDefinition.TargetEntityTypeName", Name: validation.Null, Rule: true, Chain: nil}, {Target: "parameters.LinkDefinition.ParticipantPropertyReferences", Name: validation.Null, Rule: true, Chain: nil}, }}}}}); err != nil { errChan <- validation.NewErrorWithValidationError(err, "customerinsights.LinksClient", "CreateOrUpdate") @@ -75,8 +71,10 @@ func (client LinksClient) CreateOrUpdate(resourceGroupName string, hubName strin var err error var result LinkResourceFormat defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -110,7 +108,7 @@ func (client LinksClient) CreateOrUpdatePreparer(resourceGroupName string, hubNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -148,8 +146,8 @@ func (client LinksClient) CreateOrUpdateResponder(resp *http.Response) (result L // Delete deletes a link in the hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. linkName is the name of the link. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. linkName is the name of the +// link. func (client LinksClient) Delete(resourceGroupName string, hubName string, linkName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, hubName, linkName) if err != nil { @@ -181,7 +179,7 @@ func (client LinksClient) DeletePreparer(resourceGroupName string, hubName strin "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -214,8 +212,8 @@ func (client LinksClient) DeleteResponder(resp *http.Response) (result autorest. // Get gets a link in the hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. linkName is the name of the link. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. linkName is the name of the +// link. func (client LinksClient) Get(resourceGroupName string, hubName string, linkName string) (result LinkResourceFormat, err error) { req, err := client.GetPreparer(resourceGroupName, hubName, linkName) if err != nil { @@ -247,7 +245,7 @@ func (client LinksClient) GetPreparer(resourceGroupName string, hubName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -281,8 +279,7 @@ func (client LinksClient) GetResponder(resp *http.Response) (result LinkResource // ListByHub gets all the links in the specified hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. func (client LinksClient) ListByHub(resourceGroupName string, hubName string) (result LinkListResult, err error) { req, err := client.ListByHubPreparer(resourceGroupName, hubName) if err != nil { @@ -313,7 +310,7 @@ func (client LinksClient) ListByHubPreparer(resourceGroupName string, hubName st "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -368,3 +365,48 @@ func (client LinksClient) ListByHubNextResults(lastResults LinkListResult) (resu return } + +// ListByHubComplete gets all elements from the list without paging. +func (client LinksClient) ListByHubComplete(resourceGroupName string, hubName string, cancel <-chan struct{}) (<-chan LinkResourceFormat, <-chan error) { + resultChan := make(chan LinkResourceFormat) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByHub(resourceGroupName, hubName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByHubNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/models.go index 8458d73cc..37e6ed139 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/models.go @@ -14,9 +14,8 @@ package customerinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -42,6 +41,20 @@ const ( Week CalculationWindowTypes = "Week" ) +// CanonicalPropertyValueType enumerates the values for canonical property value type. +type CanonicalPropertyValueType string + +const ( + // Categorical specifies the categorical state for canonical property value type. + Categorical CanonicalPropertyValueType = "Categorical" + // DerivedCategorical specifies the derived categorical state for canonical property value type. + DerivedCategorical CanonicalPropertyValueType = "DerivedCategorical" + // DerivedNumeric specifies the derived numeric state for canonical property value type. + DerivedNumeric CanonicalPropertyValueType = "DerivedNumeric" + // Numeric specifies the numeric state for canonical property value type. + Numeric CanonicalPropertyValueType = "Numeric" +) + // CardinalityTypes enumerates the values for cardinality types. type CardinalityTypes string @@ -54,13 +67,11 @@ const ( OneToOne CardinalityTypes = "OneToOne" ) -// CompletionOperationTypes enumerates the values for completion operation -// types. +// CompletionOperationTypes enumerates the values for completion operation types. type CompletionOperationTypes string const ( - // DeleteFile specifies the delete file state for completion operation - // types. + // DeleteFile specifies the delete file state for completion operation types. DeleteFile CompletionOperationTypes = "DeleteFile" // DoNothing specifies the do nothing state for completion operation types. DoNothing CompletionOperationTypes = "DoNothing" @@ -92,23 +103,17 @@ const ( type ConnectorStates string const ( - // ConnectorStatesCreated specifies the connector states created state for - // connector states. + // ConnectorStatesCreated specifies the connector states created state for connector states. ConnectorStatesCreated ConnectorStates = "Created" - // ConnectorStatesCreating specifies the connector states creating state - // for connector states. + // ConnectorStatesCreating specifies the connector states creating state for connector states. ConnectorStatesCreating ConnectorStates = "Creating" - // ConnectorStatesDeleting specifies the connector states deleting state - // for connector states. + // ConnectorStatesDeleting specifies the connector states deleting state for connector states. ConnectorStatesDeleting ConnectorStates = "Deleting" - // ConnectorStatesExpiring specifies the connector states expiring state - // for connector states. + // ConnectorStatesExpiring specifies the connector states expiring state for connector states. ConnectorStatesExpiring ConnectorStates = "Expiring" - // ConnectorStatesFailed specifies the connector states failed state for - // connector states. + // ConnectorStatesFailed specifies the connector states failed state for connector states. ConnectorStatesFailed ConnectorStates = "Failed" - // ConnectorStatesReady specifies the connector states ready state for - // connector states. + // ConnectorStatesReady specifies the connector states ready state for connector states. ConnectorStatesReady ConnectorStates = "Ready" ) @@ -134,31 +139,39 @@ const ( type DataSourceType string const ( - // DataSourceTypeConnectorMapping specifies the data source type connector - // mapping state for data source type. - DataSourceTypeConnectorMapping DataSourceType = "ConnectorMapping" - // DataSourceTypeLinkInteraction specifies the data source type link - // interaction state for data source type. + // DataSourceTypeConnector specifies the data source type connector state for data source type. + DataSourceTypeConnector DataSourceType = "Connector" + // DataSourceTypeLinkInteraction specifies the data source type link interaction state for data source type. DataSourceTypeLinkInteraction DataSourceType = "LinkInteraction" - // DataSourceTypeSystemDefault specifies the data source type system - // default state for data source type. + // DataSourceTypeSystemDefault specifies the data source type system default state for data source type. DataSourceTypeSystemDefault DataSourceType = "SystemDefault" ) +// EntityType enumerates the values for entity type. +type EntityType string + +const ( + // EntityTypeInteraction specifies the entity type interaction state for entity type. + EntityTypeInteraction EntityType = "Interaction" + // EntityTypeNone specifies the entity type none state for entity type. + EntityTypeNone EntityType = "None" + // EntityTypeProfile specifies the entity type profile state for entity type. + EntityTypeProfile EntityType = "Profile" + // EntityTypeRelationship specifies the entity type relationship state for entity type. + EntityTypeRelationship EntityType = "Relationship" +) + // EntityTypes enumerates the values for entity types. type EntityTypes string const ( - // EntityTypesInteraction specifies the entity types interaction state for - // entity types. + // EntityTypesInteraction specifies the entity types interaction state for entity types. EntityTypesInteraction EntityTypes = "Interaction" // EntityTypesNone specifies the entity types none state for entity types. EntityTypesNone EntityTypes = "None" - // EntityTypesProfile specifies the entity types profile state for entity - // types. + // EntityTypesProfile specifies the entity types profile state for entity types. EntityTypesProfile EntityTypes = "Profile" - // EntityTypesRelationship specifies the entity types relationship state - // for entity types. + // EntityTypesRelationship specifies the entity types relationship state for entity types. EntityTypesRelationship EntityTypes = "Relationship" ) @@ -166,11 +179,9 @@ const ( type ErrorManagementTypes string const ( - // RejectAndContinue specifies the reject and continue state for error - // management types. + // RejectAndContinue specifies the reject and continue state for error management types. RejectAndContinue ErrorManagementTypes = "RejectAndContinue" - // RejectUntilLimit specifies the reject until limit state for error - // management types. + // RejectUntilLimit specifies the reject until limit state for error management types. RejectUntilLimit ErrorManagementTypes = "RejectUntilLimit" // StopImport specifies the stop import state for error management types. StopImport ErrorManagementTypes = "StopImport" @@ -180,20 +191,15 @@ const ( type FrequencyTypes string const ( - // FrequencyTypesDay specifies the frequency types day state for frequency - // types. + // FrequencyTypesDay specifies the frequency types day state for frequency types. FrequencyTypesDay FrequencyTypes = "Day" - // FrequencyTypesHour specifies the frequency types hour state for - // frequency types. + // FrequencyTypesHour specifies the frequency types hour state for frequency types. FrequencyTypesHour FrequencyTypes = "Hour" - // FrequencyTypesMinute specifies the frequency types minute state for - // frequency types. + // FrequencyTypesMinute specifies the frequency types minute state for frequency types. FrequencyTypesMinute FrequencyTypes = "Minute" - // FrequencyTypesMonth specifies the frequency types month state for - // frequency types. + // FrequencyTypesMonth specifies the frequency types month state for frequency types. FrequencyTypesMonth FrequencyTypes = "Month" - // FrequencyTypesWeek specifies the frequency types week state for - // frequency types. + // FrequencyTypesWeek specifies the frequency types week state for frequency types. FrequencyTypesWeek FrequencyTypes = "Week" ) @@ -213,21 +219,17 @@ type KpiFunctions string const ( // KpiFunctionsAvg specifies the kpi functions avg state for kpi functions. KpiFunctionsAvg KpiFunctions = "Avg" - // KpiFunctionsCount specifies the kpi functions count state for kpi - // functions. + // KpiFunctionsCount specifies the kpi functions count state for kpi functions. KpiFunctionsCount KpiFunctions = "Count" - // KpiFunctionsCountDistinct specifies the kpi functions count distinct - // state for kpi functions. + // KpiFunctionsCountDistinct specifies the kpi functions count distinct state for kpi functions. KpiFunctionsCountDistinct KpiFunctions = "CountDistinct" - // KpiFunctionsLast specifies the kpi functions last state for kpi - // functions. + // KpiFunctionsLast specifies the kpi functions last state for kpi functions. KpiFunctionsLast KpiFunctions = "Last" // KpiFunctionsMax specifies the kpi functions max state for kpi functions. KpiFunctionsMax KpiFunctions = "Max" // KpiFunctionsMin specifies the kpi functions min state for kpi functions. KpiFunctionsMin KpiFunctions = "Min" - // KpiFunctionsNone specifies the kpi functions none state for kpi - // functions. + // KpiFunctionsNone specifies the kpi functions none state for kpi functions. KpiFunctionsNone KpiFunctions = "None" // KpiFunctionsSum specifies the kpi functions sum state for kpi functions. KpiFunctionsSum KpiFunctions = "Sum" @@ -255,27 +257,81 @@ const ( Write PermissionTypes = "Write" ) +// PredictionModelLifeCycle enumerates the values for prediction model life cycle. +type PredictionModelLifeCycle string + +const ( + // PredictionModelLifeCycleActive specifies the prediction model life cycle active state for prediction model life + // cycle. + PredictionModelLifeCycleActive PredictionModelLifeCycle = "Active" + // PredictionModelLifeCycleDeleted specifies the prediction model life cycle deleted state for prediction model life + // cycle. + PredictionModelLifeCycleDeleted PredictionModelLifeCycle = "Deleted" + // PredictionModelLifeCycleDiscovering specifies the prediction model life cycle discovering state for prediction model + // life cycle. + PredictionModelLifeCycleDiscovering PredictionModelLifeCycle = "Discovering" + // PredictionModelLifeCycleEvaluating specifies the prediction model life cycle evaluating state for prediction model + // life cycle. + PredictionModelLifeCycleEvaluating PredictionModelLifeCycle = "Evaluating" + // PredictionModelLifeCycleEvaluatingFailed specifies the prediction model life cycle evaluating failed state for + // prediction model life cycle. + PredictionModelLifeCycleEvaluatingFailed PredictionModelLifeCycle = "EvaluatingFailed" + // PredictionModelLifeCycleFailed specifies the prediction model life cycle failed state for prediction model life + // cycle. + PredictionModelLifeCycleFailed PredictionModelLifeCycle = "Failed" + // PredictionModelLifeCycleFeaturing specifies the prediction model life cycle featuring state for prediction model + // life cycle. + PredictionModelLifeCycleFeaturing PredictionModelLifeCycle = "Featuring" + // PredictionModelLifeCycleFeaturingFailed specifies the prediction model life cycle featuring failed state for + // prediction model life cycle. + PredictionModelLifeCycleFeaturingFailed PredictionModelLifeCycle = "FeaturingFailed" + // PredictionModelLifeCycleHumanIntervention specifies the prediction model life cycle human intervention state for + // prediction model life cycle. + PredictionModelLifeCycleHumanIntervention PredictionModelLifeCycle = "HumanIntervention" + // PredictionModelLifeCycleNew specifies the prediction model life cycle new state for prediction model life cycle. + PredictionModelLifeCycleNew PredictionModelLifeCycle = "New" + // PredictionModelLifeCyclePendingDiscovering specifies the prediction model life cycle pending discovering state for + // prediction model life cycle. + PredictionModelLifeCyclePendingDiscovering PredictionModelLifeCycle = "PendingDiscovering" + // PredictionModelLifeCyclePendingFeaturing specifies the prediction model life cycle pending featuring state for + // prediction model life cycle. + PredictionModelLifeCyclePendingFeaturing PredictionModelLifeCycle = "PendingFeaturing" + // PredictionModelLifeCyclePendingModelConfirmation specifies the prediction model life cycle pending model + // confirmation state for prediction model life cycle. + PredictionModelLifeCyclePendingModelConfirmation PredictionModelLifeCycle = "PendingModelConfirmation" + // PredictionModelLifeCyclePendingTraining specifies the prediction model life cycle pending training state for + // prediction model life cycle. + PredictionModelLifeCyclePendingTraining PredictionModelLifeCycle = "PendingTraining" + // PredictionModelLifeCycleProvisioning specifies the prediction model life cycle provisioning state for prediction + // model life cycle. + PredictionModelLifeCycleProvisioning PredictionModelLifeCycle = "Provisioning" + // PredictionModelLifeCycleProvisioningFailed specifies the prediction model life cycle provisioning failed state for + // prediction model life cycle. + PredictionModelLifeCycleProvisioningFailed PredictionModelLifeCycle = "ProvisioningFailed" + // PredictionModelLifeCycleTraining specifies the prediction model life cycle training state for prediction model life + // cycle. + PredictionModelLifeCycleTraining PredictionModelLifeCycle = "Training" + // PredictionModelLifeCycleTrainingFailed specifies the prediction model life cycle training failed state for + // prediction model life cycle. + PredictionModelLifeCycleTrainingFailed PredictionModelLifeCycle = "TrainingFailed" +) + // ProvisioningStates enumerates the values for provisioning states. type ProvisioningStates string const ( - // ProvisioningStatesDeleting specifies the provisioning states deleting - // state for provisioning states. + // ProvisioningStatesDeleting specifies the provisioning states deleting state for provisioning states. ProvisioningStatesDeleting ProvisioningStates = "Deleting" - // ProvisioningStatesExpiring specifies the provisioning states expiring - // state for provisioning states. + // ProvisioningStatesExpiring specifies the provisioning states expiring state for provisioning states. ProvisioningStatesExpiring ProvisioningStates = "Expiring" - // ProvisioningStatesFailed specifies the provisioning states failed state - // for provisioning states. + // ProvisioningStatesFailed specifies the provisioning states failed state for provisioning states. ProvisioningStatesFailed ProvisioningStates = "Failed" - // ProvisioningStatesHumanIntervention specifies the provisioning states - // human intervention state for provisioning states. + // ProvisioningStatesHumanIntervention specifies the provisioning states human intervention state for provisioning + // states. ProvisioningStatesHumanIntervention ProvisioningStates = "HumanIntervention" - // ProvisioningStatesProvisioning specifies the provisioning states - // provisioning state for provisioning states. + // ProvisioningStatesProvisioning specifies the provisioning states provisioning state for provisioning states. ProvisioningStatesProvisioning ProvisioningStates = "Provisioning" - // ProvisioningStatesSucceeded specifies the provisioning states succeeded - // state for provisioning states. + // ProvisioningStatesSucceeded specifies the provisioning states succeeded state for provisioning states. ProvisioningStatesSucceeded ProvisioningStates = "Succeeded" ) @@ -297,6 +353,18 @@ const ( Reader RoleTypes = "Reader" ) +// Status enumerates the values for status. +type Status string + +const ( + // StatusActive specifies the status active state for status. + StatusActive Status = "Active" + // StatusDeleted specifies the status deleted state for status. + StatusDeleted Status = "Deleted" + // StatusNone specifies the status none state for status. + StatusNone Status = "None" +) + // AssignmentPrincipal is the AssignmentPrincipal type AssignmentPrincipal struct { PrincipalID *string `json:"principalId,omitempty"` @@ -313,8 +381,7 @@ type AuthorizationPolicy struct { SecondaryKey *string `json:"secondaryKey,omitempty"` } -// AuthorizationPolicyListResult is the response of list authorization policy -// operation. +// AuthorizationPolicyListResult is the response of list authorization policy operation. type AuthorizationPolicyListResult struct { autorest.Response `json:"-"` Value *[]AuthorizationPolicyResourceFormat `json:"value,omitempty"` @@ -333,8 +400,7 @@ func (client AuthorizationPolicyListResult) AuthorizationPolicyListResultPrepare autorest.WithBaseURL(to.String(client.NextLink))) } -// AuthorizationPolicyResourceFormat is the authorization policy resource -// format. +// AuthorizationPolicyResourceFormat is the authorization policy resource format. type AuthorizationPolicyResourceFormat struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -348,6 +414,21 @@ type AzureBlobConnectorProperties struct { ConnectionKeyVaultURL *string `json:"connectionKeyVaultUrl,omitempty"` } +// CanonicalProfileDefinition is definition of canonical profile. +type CanonicalProfileDefinition struct { + CanonicalProfileID *int32 `json:"canonicalProfileId,omitempty"` + Properties *[]CanonicalProfileDefinitionPropertiesItem `json:"properties,omitempty"` +} + +// CanonicalProfileDefinitionPropertiesItem is the definition of a canonical profile property. +type CanonicalProfileDefinitionPropertiesItem struct { + ProfileName *string `json:"profileName,omitempty"` + ProfilePropertyName *string `json:"profilePropertyName,omitempty"` + Rank *int32 `json:"rank,omitempty"` + Type CanonicalPropertyValueType `json:"type,omitempty"` + Value *string `json:"value,omitempty"` +} + // Connector is properties of connector. type Connector struct { ConnectorID *int32 `json:"connectorId,omitempty"` @@ -429,8 +510,7 @@ type ConnectorMappingFormat struct { ArraySeparator *string `json:"arraySeparator,omitempty"` } -// ConnectorMappingListResult is the response of list connector mapping -// operation. +// ConnectorMappingListResult is the response of list connector mapping operation. type ConnectorMappingListResult struct { autorest.Response `json:"-"` Value *[]ConnectorMappingResourceFormat `json:"value,omitempty"` @@ -503,14 +583,20 @@ type CrmConnectorProperties struct { AccessToken *string `json:"accessToken,omitempty"` } -// DataSource is data Source is a way for us to know the source of instances. A -// single type can have data coming in from multiple places. In activities we -// use this to determine precedence rules. +// DataSource is data Source is a way for us to know the source of instances. A single type can have data coming in +// from multiple places. In activities we use this to determine precedence rules. type DataSource struct { - DataSourceType DataSourceType `json:"dataSourceType,omitempty"` - ID *string `json:"id,omitempty"` - LinkID *string `json:"linkId,omitempty"` - ConnectorMappingID *string `json:"connectorMappingId,omitempty"` + Name *string `json:"name,omitempty"` + DataSourceType DataSourceType `json:"dataSourceType,omitempty"` + Status Status `json:"status,omitempty"` + ID *int32 `json:"id,omitempty"` + DataSourceReferenceID *string `json:"dataSourceReferenceId,omitempty"` +} + +// DataSourcePrecedence is the data source precedence is a way to know the precedence of each data source. +type DataSourcePrecedence struct { + *DataSource `json:"dataSource,omitempty"` + Precedence *int32 `json:"precedence,omitempty"` } // EnrichingKpi is the enriching KPI definition. @@ -668,9 +754,9 @@ type InteractionTypeDefinition struct { IDPropertyNames *[]string `json:"idPropertyNames,omitempty"` ParticipantProfiles *[]Participant `json:"participantProfiles,omitempty"` PrimaryParticipantProfilePropertyName *string `json:"primaryParticipantProfilePropertyName,omitempty"` - DataSources *[]DataSource `json:"dataSources,omitempty"` - DefaultDataSourceID *string `json:"defaultDataSourceId,omitempty"` - IsActivity *bool `json:"isActivity,omitempty"` + DataSourcePrecedenceRules *[]DataSourcePrecedence `json:"dataSourcePrecedenceRules,omitempty"` + *DataSource `json:"defaultDataSource,omitempty"` + IsActivity *bool `json:"isActivity,omitempty"` } // KpiAlias is the KPI alias. @@ -759,8 +845,10 @@ type KpiThresholds struct { type LinkDefinition struct { TenantID *string `json:"tenantId,omitempty"` LinkName *string `json:"linkName,omitempty"` - SourceInteractionType *string `json:"sourceInteractionType,omitempty"` - TargetProfileType *string `json:"targetProfileType,omitempty"` + SourceEntityType EntityType `json:"sourceEntityType,omitempty"` + TargetEntityType EntityType `json:"targetEntityType,omitempty"` + SourceEntityTypeName *string `json:"sourceEntityTypeName,omitempty"` + TargetEntityTypeName *string `json:"targetEntityTypeName,omitempty"` DisplayName *map[string]*string `json:"displayName,omitempty"` Description *map[string]*string `json:"description,omitempty"` Mappings *[]TypePropertiesMapping `json:"mappings,omitempty"` @@ -825,14 +913,131 @@ type Participant struct { Role *string `json:"role,omitempty"` } -// ParticipantPropertyReference is the participant property reference. -type ParticipantPropertyReference struct { +// ParticipantProfilePropertyReference is the participant profile property reference. +type ParticipantProfilePropertyReference struct { InteractionPropertyName *string `json:"interactionPropertyName,omitempty"` ProfilePropertyName *string `json:"profilePropertyName,omitempty"` } -// ProfileEnumValidValuesFormat is valid enum values in case of an enum -// property. +// ParticipantPropertyReference is the participant property reference. +type ParticipantPropertyReference struct { + SourcePropertyName *string `json:"sourcePropertyName,omitempty"` + TargetPropertyName *string `json:"targetPropertyName,omitempty"` +} + +// Prediction is the prediction definition. +type Prediction struct { + Description *map[string]*string `json:"description,omitempty"` + DisplayName *map[string]*string `json:"displayName,omitempty"` + InvolvedInteractionTypes *[]string `json:"involvedInteractionTypes,omitempty"` + InvolvedKpiTypes *[]string `json:"involvedKpiTypes,omitempty"` + InvolvedRelationships *[]string `json:"involvedRelationships,omitempty"` + NegativeOutcomeExpression *string `json:"negativeOutcomeExpression,omitempty"` + PositiveOutcomeExpression *string `json:"positiveOutcomeExpression,omitempty"` + PrimaryProfileType *string `json:"primaryProfileType,omitempty"` + ProvisioningState ProvisioningStates `json:"provisioningState,omitempty"` + PredictionName *string `json:"predictionName,omitempty"` + ScopeExpression *string `json:"scopeExpression,omitempty"` + TenantID *string `json:"tenantId,omitempty"` + AutoAnalyze *bool `json:"autoAnalyze,omitempty"` + Mappings *PredictionMappings `json:"mappings,omitempty"` + ScoreLabel *string `json:"scoreLabel,omitempty"` + Grades *[]PredictionGradesItem `json:"grades,omitempty"` + SystemGeneratedEntities *PredictionSystemGeneratedEntities `json:"systemGeneratedEntities,omitempty"` +} + +// PredictionGradesItem is the definition of a prediction grade. +type PredictionGradesItem struct { + GradeName *string `json:"gradeName,omitempty"` + MinScoreThreshold *int32 `json:"minScoreThreshold,omitempty"` + MaxScoreThreshold *int32 `json:"maxScoreThreshold,omitempty"` +} + +// PredictionMappings is definition of the link mapping of prediction. +type PredictionMappings struct { + Score *string `json:"score,omitempty"` + Grade *string `json:"grade,omitempty"` + Reason *string `json:"reason,omitempty"` +} + +// PredictionSystemGeneratedEntities is system generated entities. +type PredictionSystemGeneratedEntities struct { + GeneratedInteractionTypes *[]string `json:"generatedInteractionTypes,omitempty"` + GeneratedLinks *[]string `json:"generatedLinks,omitempty"` + GeneratedKpis *map[string]*string `json:"generatedKpis,omitempty"` +} + +// PredictionDistributionDefinition is the definition of the prediction distribution. +type PredictionDistributionDefinition struct { + TotalPositives *int64 `json:"totalPositives,omitempty"` + TotalNegatives *int64 `json:"totalNegatives,omitempty"` + Distributions *[]PredictionDistributionDefinitionDistributionsItem `json:"distributions,omitempty"` +} + +// PredictionDistributionDefinitionDistributionsItem is the definition of a prediction distribution. +type PredictionDistributionDefinitionDistributionsItem struct { + ScoreThreshold *int32 `json:"scoreThreshold,omitempty"` + Positives *int64 `json:"positives,omitempty"` + Negatives *int64 `json:"negatives,omitempty"` + PositivesAboveThreshold *int64 `json:"positivesAboveThreshold,omitempty"` + NegativesAboveThreshold *int64 `json:"negativesAboveThreshold,omitempty"` +} + +// PredictionListResult is the response of list predictions operation. +type PredictionListResult struct { + autorest.Response `json:"-"` + Value *[]PredictionResourceFormat `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// PredictionListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client PredictionListResult) PredictionListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// PredictionModelStatus is the prediction model status. +type PredictionModelStatus struct { + autorest.Response `json:"-"` + TenantID *string `json:"tenantId,omitempty"` + PredictionName *string `json:"predictionName,omitempty"` + PredictionGUIDID *string `json:"predictionGuidId,omitempty"` + Status PredictionModelLifeCycle `json:"status,omitempty"` + Message *string `json:"message,omitempty"` + TrainingSetCount *int32 `json:"trainingSetCount,omitempty"` + TestSetCount *int32 `json:"testSetCount,omitempty"` + ValidationSetCount *int32 `json:"validationSetCount,omitempty"` + TrainingAccuracy *int32 `json:"trainingAccuracy,omitempty"` + SignalsUsed *int32 `json:"signalsUsed,omitempty"` + ModelVersion *string `json:"modelVersion,omitempty"` +} + +// PredictionResourceFormat is the prediction resource format. +type PredictionResourceFormat struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *Prediction `json:"properties,omitempty"` +} + +// PredictionTrainingResults is the training results of the prediction. +type PredictionTrainingResults struct { + autorest.Response `json:"-"` + TenantID *string `json:"tenantId,omitempty"` + ScoreName *string `json:"scoreName,omitempty"` + PredictionDistribution *PredictionDistributionDefinition `json:"predictionDistribution,omitempty"` + CanonicalProfiles *[]CanonicalProfileDefinition `json:"canonicalProfiles,omitempty"` + PrimaryProfileInstanceCount *int64 `json:"primaryProfileInstanceCount,omitempty"` +} + +// ProfileEnumValidValuesFormat is valid enum values in case of an enum property. type ProfileEnumValidValuesFormat struct { Value *int32 `json:"value,omitempty"` LocalizedValueNames *map[string]*string `json:"localizedValueNames,omitempty"` @@ -890,21 +1095,22 @@ type ProfileTypeDefinition struct { // PropertyDefinition is property definition. type PropertyDefinition struct { - ArrayValueSeparator *string `json:"arrayValueSeparator,omitempty"` - EnumValidValues *[]ProfileEnumValidValuesFormat `json:"enumValidValues,omitempty"` - FieldName *string `json:"fieldName,omitempty"` - FieldType *string `json:"fieldType,omitempty"` - IsArray *bool `json:"isArray,omitempty"` - IsEnum *bool `json:"isEnum,omitempty"` - IsFlagEnum *bool `json:"isFlagEnum,omitempty"` - IsImage *bool `json:"isImage,omitempty"` - IsLocalizedString *bool `json:"isLocalizedString,omitempty"` - IsName *bool `json:"isName,omitempty"` - IsRequired *bool `json:"isRequired,omitempty"` - PropertyID *string `json:"propertyId,omitempty"` - SchemaItemPropLink *string `json:"schemaItemPropLink,omitempty"` - MaxLength *int32 `json:"maxLength,omitempty"` - IsAvailableInGraph *bool `json:"isAvailableInGraph,omitempty"` + ArrayValueSeparator *string `json:"arrayValueSeparator,omitempty"` + EnumValidValues *[]ProfileEnumValidValuesFormat `json:"enumValidValues,omitempty"` + FieldName *string `json:"fieldName,omitempty"` + FieldType *string `json:"fieldType,omitempty"` + IsArray *bool `json:"isArray,omitempty"` + IsEnum *bool `json:"isEnum,omitempty"` + IsFlagEnum *bool `json:"isFlagEnum,omitempty"` + IsImage *bool `json:"isImage,omitempty"` + IsLocalizedString *bool `json:"isLocalizedString,omitempty"` + IsName *bool `json:"isName,omitempty"` + IsRequired *bool `json:"isRequired,omitempty"` + PropertyID *string `json:"propertyId,omitempty"` + SchemaItemPropLink *string `json:"schemaItemPropLink,omitempty"` + MaxLength *int32 `json:"maxLength,omitempty"` + IsAvailableInGraph *bool `json:"isAvailableInGraph,omitempty"` + DataSourcePrecedenceRules *[]DataSourcePrecedence `json:"dataSourcePrecedenceRules,omitempty"` } // ProxyResource is common properties of proxy resource. @@ -932,17 +1138,17 @@ type RelationshipDefinition struct { // RelationshipLinkDefinition is the definition of relationship link. type RelationshipLinkDefinition struct { - DisplayName *map[string]*string `json:"displayName,omitempty"` - Description *map[string]*string `json:"description,omitempty"` - InteractionType *string `json:"interactionType,omitempty"` - LinkName *string `json:"linkName,omitempty"` - Mappings *[]RelationshipLinkFieldMapping `json:"mappings,omitempty"` - ProfilePropertyReferences *[]ParticipantPropertyReference `json:"profilePropertyReferences,omitempty"` - ProvisioningState ProvisioningStates `json:"provisioningState,omitempty"` - RelatedProfilePropertyReferences *[]ParticipantPropertyReference `json:"relatedProfilePropertyReferences,omitempty"` - RelationshipName *string `json:"relationshipName,omitempty"` - RelationshipGUIDID *string `json:"relationshipGuidId,omitempty"` - TenantID *string `json:"tenantId,omitempty"` + DisplayName *map[string]*string `json:"displayName,omitempty"` + Description *map[string]*string `json:"description,omitempty"` + InteractionType *string `json:"interactionType,omitempty"` + LinkName *string `json:"linkName,omitempty"` + Mappings *[]RelationshipLinkFieldMapping `json:"mappings,omitempty"` + ProfilePropertyReferences *[]ParticipantProfilePropertyReference `json:"profilePropertyReferences,omitempty"` + ProvisioningState ProvisioningStates `json:"provisioningState,omitempty"` + RelatedProfilePropertyReferences *[]ParticipantProfilePropertyReference `json:"relatedProfilePropertyReferences,omitempty"` + RelationshipName *string `json:"relationshipName,omitempty"` + RelationshipGUIDID *string `json:"relationshipGuidId,omitempty"` + TenantID *string `json:"tenantId,omitempty"` } // RelationshipLinkFieldMapping is the fields mapping for Relationships. @@ -952,8 +1158,7 @@ type RelationshipLinkFieldMapping struct { RelationshipFieldName *string `json:"relationshipFieldName,omitempty"` } -// RelationshipLinkListResult is the response of list relationship link -// operation. +// RelationshipLinkListResult is the response of list relationship link operation. type RelationshipLinkListResult struct { autorest.Response `json:"-"` Value *[]RelationshipLinkResourceFormat `json:"value,omitempty"` @@ -1009,25 +1214,22 @@ type RelationshipResourceFormat struct { *RelationshipDefinition `json:"properties,omitempty"` } -// RelationshipsLookup is the definition of suggested relationship for the -// type. +// RelationshipsLookup is the definition of suggested relationship for the type. type RelationshipsLookup struct { - ProfileName *string `json:"profileName,omitempty"` - ProfilePropertyReferences *[]ParticipantPropertyReference `json:"profilePropertyReferences,omitempty"` - RelatedProfileName *string `json:"relatedProfileName,omitempty"` - RelatedProfilePropertyReferences *[]ParticipantPropertyReference `json:"relatedProfilePropertyReferences,omitempty"` - ExistingRelationshipName *string `json:"existingRelationshipName,omitempty"` + ProfileName *string `json:"profileName,omitempty"` + ProfilePropertyReferences *[]ParticipantProfilePropertyReference `json:"profilePropertyReferences,omitempty"` + RelatedProfileName *string `json:"relatedProfileName,omitempty"` + RelatedProfilePropertyReferences *[]ParticipantProfilePropertyReference `json:"relatedProfilePropertyReferences,omitempty"` + ExistingRelationshipName *string `json:"existingRelationshipName,omitempty"` } -// RelationshipTypeFieldMapping is map a field of profile to its corresponding -// StrongId in Related Profile. +// RelationshipTypeFieldMapping is map a field of profile to its corresponding StrongId in Related Profile. type RelationshipTypeFieldMapping struct { ProfileFieldName *string `json:"profileFieldName,omitempty"` RelatedProfileKeyProperty *string `json:"relatedProfileKeyProperty,omitempty"` } -// RelationshipTypeMapping is maps fields in Profile to their corresponding -// StrongIds in Related Profile. +// RelationshipTypeMapping is maps fields in Profile to their corresponding StrongIds in Related Profile. type RelationshipTypeMapping struct { FieldMappings *[]RelationshipTypeFieldMapping `json:"fieldMappings,omitempty"` } @@ -1160,8 +1362,7 @@ type StrongID struct { Description *map[string]*string `json:"description,omitempty"` } -// SuggestRelationshipLinksResponse is the response of suggest relationship -// links operation. +// SuggestRelationshipLinksResponse is the response of suggest relationship links operation. type SuggestRelationshipLinksResponse struct { autorest.Response `json:"-"` InteractionName *string `json:"interactionName,omitempty"` @@ -1170,10 +1371,9 @@ type SuggestRelationshipLinksResponse struct { // TypePropertiesMapping is metadata for a Link's property mapping. type TypePropertiesMapping struct { - InteractionTypePropertyName *string `json:"interactionTypePropertyName,omitempty"` - ProfileTypePropertyName *string `json:"profileTypePropertyName,omitempty"` - IsProfileTypeID *bool `json:"isProfileTypeId,omitempty"` - LinkType LinkTypes `json:"linkType,omitempty"` + SourcePropertyName *string `json:"sourcePropertyName,omitempty"` + TargetPropertyName *string `json:"targetPropertyName,omitempty"` + LinkType LinkTypes `json:"linkType,omitempty"` } // View is the view in Customer 360 web application. diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/predictions.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/predictions.go new file mode 100644 index 000000000..11956e6d0 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/predictions.go @@ -0,0 +1,633 @@ +package customerinsights + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// PredictionsClient is the the Azure Customer Insights management API provides a RESTful set of web services that +// interact with Azure Customer Insights service to manage your resources. The API has entities that capture the +// relationship between an end user and the Azure Customer Insights service. +type PredictionsClient struct { + ManagementClient +} + +// NewPredictionsClient creates an instance of the PredictionsClient client. +func NewPredictionsClient(subscriptionID string) PredictionsClient { + return NewPredictionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewPredictionsClientWithBaseURI creates an instance of the PredictionsClient client. +func NewPredictionsClientWithBaseURI(baseURI string, subscriptionID string) PredictionsClient { + return PredictionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a Prediction or updates an existing Prediction in the hub. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group. hubName is the name of the hub. predictionName is the name of +// the Prediction. parameters is parameters supplied to the create/update Prediction operation. +func (client PredictionsClient) CreateOrUpdate(resourceGroupName string, hubName string, predictionName string, parameters PredictionResourceFormat, cancel <-chan struct{}) (<-chan PredictionResourceFormat, <-chan error) { + resultChan := make(chan PredictionResourceFormat, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: predictionName, + Constraints: []validation.Constraint{{Target: "predictionName", Name: validation.MaxLength, Rule: 512, Chain: nil}, + {Target: "predictionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Prediction", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Prediction.NegativeOutcomeExpression", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.Prediction.PositiveOutcomeExpression", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.Prediction.PrimaryProfileType", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.Prediction.ScopeExpression", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.Prediction.AutoAnalyze", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.Prediction.Mappings", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.Prediction.ScoreLabel", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "customerinsights.PredictionsClient", "CreateOrUpdate") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result PredictionResourceFormat + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, hubName, predictionName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "customerinsights.PredictionsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "customerinsights.PredictionsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "customerinsights.PredictionsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client PredictionsClient) CreateOrUpdatePreparer(resourceGroupName string, hubName string, predictionName string, parameters PredictionResourceFormat, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "hubName": autorest.Encode("path", hubName), + "predictionName": autorest.Encode("path", predictionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-26" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client PredictionsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client PredictionsClient) CreateOrUpdateResponder(resp *http.Response) (result PredictionResourceFormat, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a Prediction in the hub. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group. hubName is the name of the hub. predictionName is the name of +// the Prediction. +func (client PredictionsClient) Delete(resourceGroupName string, hubName string, predictionName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, hubName, predictionName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "customerinsights.PredictionsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "customerinsights.PredictionsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "customerinsights.PredictionsClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// DeletePreparer prepares the Delete request. +func (client PredictionsClient) DeletePreparer(resourceGroupName string, hubName string, predictionName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "hubName": autorest.Encode("path", hubName), + "predictionName": autorest.Encode("path", predictionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-26" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client PredictionsClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client PredictionsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a Prediction in the hub. +// +// resourceGroupName is the name of the resource group. hubName is the name of the hub. predictionName is the name of +// the Prediction. +func (client PredictionsClient) Get(resourceGroupName string, hubName string, predictionName string) (result PredictionResourceFormat, err error) { + req, err := client.GetPreparer(resourceGroupName, hubName, predictionName) + if err != nil { + err = autorest.NewErrorWithError(err, "customerinsights.PredictionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "customerinsights.PredictionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "customerinsights.PredictionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client PredictionsClient) GetPreparer(resourceGroupName string, hubName string, predictionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "hubName": autorest.Encode("path", hubName), + "predictionName": autorest.Encode("path", predictionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-26" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client PredictionsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client PredictionsClient) GetResponder(resp *http.Response) (result PredictionResourceFormat, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetModelStatus gets model status of the prediction. +// +// resourceGroupName is the name of the resource group. hubName is the name of the hub. predictionName is the name of +// the Prediction. +func (client PredictionsClient) GetModelStatus(resourceGroupName string, hubName string, predictionName string) (result PredictionModelStatus, err error) { + req, err := client.GetModelStatusPreparer(resourceGroupName, hubName, predictionName) + if err != nil { + err = autorest.NewErrorWithError(err, "customerinsights.PredictionsClient", "GetModelStatus", nil, "Failure preparing request") + return + } + + resp, err := client.GetModelStatusSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "customerinsights.PredictionsClient", "GetModelStatus", resp, "Failure sending request") + return + } + + result, err = client.GetModelStatusResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "customerinsights.PredictionsClient", "GetModelStatus", resp, "Failure responding to request") + } + + return +} + +// GetModelStatusPreparer prepares the GetModelStatus request. +func (client PredictionsClient) GetModelStatusPreparer(resourceGroupName string, hubName string, predictionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "hubName": autorest.Encode("path", hubName), + "predictionName": autorest.Encode("path", predictionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-26" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}/getModelStatus", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetModelStatusSender sends the GetModelStatus request. The method will close the +// http.Response Body if it receives an error. +func (client PredictionsClient) GetModelStatusSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetModelStatusResponder handles the response to the GetModelStatus request. The method always +// closes the http.Response Body. +func (client PredictionsClient) GetModelStatusResponder(resp *http.Response) (result PredictionModelStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetTrainingResults gets training results. +// +// resourceGroupName is the name of the resource group. hubName is the name of the hub. predictionName is the name of +// the Prediction. +func (client PredictionsClient) GetTrainingResults(resourceGroupName string, hubName string, predictionName string) (result PredictionTrainingResults, err error) { + req, err := client.GetTrainingResultsPreparer(resourceGroupName, hubName, predictionName) + if err != nil { + err = autorest.NewErrorWithError(err, "customerinsights.PredictionsClient", "GetTrainingResults", nil, "Failure preparing request") + return + } + + resp, err := client.GetTrainingResultsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "customerinsights.PredictionsClient", "GetTrainingResults", resp, "Failure sending request") + return + } + + result, err = client.GetTrainingResultsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "customerinsights.PredictionsClient", "GetTrainingResults", resp, "Failure responding to request") + } + + return +} + +// GetTrainingResultsPreparer prepares the GetTrainingResults request. +func (client PredictionsClient) GetTrainingResultsPreparer(resourceGroupName string, hubName string, predictionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "hubName": autorest.Encode("path", hubName), + "predictionName": autorest.Encode("path", predictionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-26" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}/getTrainingResults", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetTrainingResultsSender sends the GetTrainingResults request. The method will close the +// http.Response Body if it receives an error. +func (client PredictionsClient) GetTrainingResultsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetTrainingResultsResponder handles the response to the GetTrainingResults request. The method always +// closes the http.Response Body. +func (client PredictionsClient) GetTrainingResultsResponder(resp *http.Response) (result PredictionTrainingResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByHub gets all the predictions in the specified hub. +// +// resourceGroupName is the name of the resource group. hubName is the name of the hub. +func (client PredictionsClient) ListByHub(resourceGroupName string, hubName string) (result PredictionListResult, err error) { + req, err := client.ListByHubPreparer(resourceGroupName, hubName) + if err != nil { + err = autorest.NewErrorWithError(err, "customerinsights.PredictionsClient", "ListByHub", nil, "Failure preparing request") + return + } + + resp, err := client.ListByHubSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "customerinsights.PredictionsClient", "ListByHub", resp, "Failure sending request") + return + } + + result, err = client.ListByHubResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "customerinsights.PredictionsClient", "ListByHub", resp, "Failure responding to request") + } + + return +} + +// ListByHubPreparer prepares the ListByHub request. +func (client PredictionsClient) ListByHubPreparer(resourceGroupName string, hubName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "hubName": autorest.Encode("path", hubName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-26" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByHubSender sends the ListByHub request. The method will close the +// http.Response Body if it receives an error. +func (client PredictionsClient) ListByHubSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByHubResponder handles the response to the ListByHub request. The method always +// closes the http.Response Body. +func (client PredictionsClient) ListByHubResponder(resp *http.Response) (result PredictionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByHubNextResults retrieves the next set of results, if any. +func (client PredictionsClient) ListByHubNextResults(lastResults PredictionListResult) (result PredictionListResult, err error) { + req, err := lastResults.PredictionListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "customerinsights.PredictionsClient", "ListByHub", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListByHubSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "customerinsights.PredictionsClient", "ListByHub", resp, "Failure sending next results request") + } + + result, err = client.ListByHubResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "customerinsights.PredictionsClient", "ListByHub", resp, "Failure responding to next results request") + } + + return +} + +// ListByHubComplete gets all elements from the list without paging. +func (client PredictionsClient) ListByHubComplete(resourceGroupName string, hubName string, cancel <-chan struct{}) (<-chan PredictionResourceFormat, <-chan error) { + resultChan := make(chan PredictionResourceFormat) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByHub(resourceGroupName, hubName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByHubNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ModelStatus creates or updates the model status of prediction. +// +// resourceGroupName is the name of the resource group. hubName is the name of the hub. predictionName is the name of +// the Prediction. parameters is parameters supplied to the create/update prediction model status operation. +func (client PredictionsClient) ModelStatus(resourceGroupName string, hubName string, predictionName string, parameters PredictionModelStatus) (result autorest.Response, err error) { + req, err := client.ModelStatusPreparer(resourceGroupName, hubName, predictionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "customerinsights.PredictionsClient", "ModelStatus", nil, "Failure preparing request") + return + } + + resp, err := client.ModelStatusSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "customerinsights.PredictionsClient", "ModelStatus", resp, "Failure sending request") + return + } + + result, err = client.ModelStatusResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "customerinsights.PredictionsClient", "ModelStatus", resp, "Failure responding to request") + } + + return +} + +// ModelStatusPreparer prepares the ModelStatus request. +func (client PredictionsClient) ModelStatusPreparer(resourceGroupName string, hubName string, predictionName string, parameters PredictionModelStatus) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "hubName": autorest.Encode("path", hubName), + "predictionName": autorest.Encode("path", predictionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-26" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}/modelStatus", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ModelStatusSender sends the ModelStatus request. The method will close the +// http.Response Body if it receives an error. +func (client PredictionsClient) ModelStatusSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ModelStatusResponder handles the response to the ModelStatus request. The method always +// closes the http.Response Body. +func (client PredictionsClient) ModelStatusResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/profiles.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/profiles.go index c323e8179..1f412d31f 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/profiles.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/profiles.go @@ -14,9 +14,8 @@ package customerinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,9 +24,8 @@ import ( "net/http" ) -// ProfilesClient is the the Azure Customer Insights management API provides a -// RESTful set of web services that interact with Azure Customer Insights -// service to manage your resources. The API has entities that capture the +// ProfilesClient is the the Azure Customer Insights management API provides a RESTful set of web services that +// interact with Azure Customer Insights service to manage your resources. The API has entities that capture the // relationship between an end user and the Azure Customer Insights service. type ProfilesClient struct { ManagementClient @@ -38,20 +36,17 @@ func NewProfilesClient(subscriptionID string) ProfilesClient { return NewProfilesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewProfilesClientWithBaseURI creates an instance of the ProfilesClient -// client. +// NewProfilesClientWithBaseURI creates an instance of the ProfilesClient client. func NewProfilesClientWithBaseURI(baseURI string, subscriptionID string) ProfilesClient { return ProfilesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates a profile within a Hub, or updates an existing -// profile. This method may poll for completion. Polling can be canceled by -// passing the cancel channel argument. The channel will be used to cancel -// polling and any outstanding HTTP requests. +// CreateOrUpdate creates a profile within a Hub, or updates an existing profile. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. profileName is the name of the profile. parameters is parameters -// supplied to the create/delete Profile type operation +// resourceGroupName is the name of the resource group. hubName is the name of the hub. profileName is the name of the +// profile. parameters is parameters supplied to the create/delete Profile type operation func (client ProfilesClient) CreateOrUpdate(resourceGroupName string, hubName string, profileName string, parameters ProfileResourceFormat, cancel <-chan struct{}) (<-chan ProfileResourceFormat, <-chan error) { resultChan := make(chan ProfileResourceFormat, 1) errChan := make(chan error, 1) @@ -70,8 +65,10 @@ func (client ProfilesClient) CreateOrUpdate(resourceGroupName string, hubName st var err error var result ProfileResourceFormat defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -105,7 +102,7 @@ func (client ProfilesClient) CreateOrUpdatePreparer(resourceGroupName string, hu "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -141,13 +138,11 @@ func (client ProfilesClient) CreateOrUpdateResponder(resp *http.Response) (resul return } -// Delete deletes a profile within a hub This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// Delete deletes a profile within a hub This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. profileName is the name of the profile. localeCode is locale of -// profile to retrieve, default is en-us. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. profileName is the name of the +// profile. localeCode is locale of profile to retrieve, default is en-us. func (client ProfilesClient) Delete(resourceGroupName string, hubName string, profileName string, localeCode string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -155,8 +150,10 @@ func (client ProfilesClient) Delete(resourceGroupName string, hubName string, pr var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -190,7 +187,7 @@ func (client ProfilesClient) DeletePreparer(resourceGroupName string, hubName st "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -228,9 +225,8 @@ func (client ProfilesClient) DeleteResponder(resp *http.Response) (result autore // Get gets information about the specified profile. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. profileName is the name of the profile. localeCode is locale of -// profile to retrieve, default is en-us. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. profileName is the name of the +// profile. localeCode is locale of profile to retrieve, default is en-us. func (client ProfilesClient) Get(resourceGroupName string, hubName string, profileName string, localeCode string) (result ProfileResourceFormat, err error) { req, err := client.GetPreparer(resourceGroupName, hubName, profileName, localeCode) if err != nil { @@ -262,7 +258,7 @@ func (client ProfilesClient) GetPreparer(resourceGroupName string, hubName strin "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -297,13 +293,11 @@ func (client ProfilesClient) GetResponder(resp *http.Response) (result ProfileRe return } -// GetEnrichingKpis gets the KPIs that enrich the profile Type identified by -// the supplied name. Enrichment happens through participants of the -// Interaction on an Interaction KPI and through Relationships for Profile -// KPIs. +// GetEnrichingKpis gets the KPIs that enrich the profile Type identified by the supplied name. Enrichment happens +// through participants of the Interaction on an Interaction KPI and through Relationships for Profile KPIs. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. profileName is the name of the profile. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. profileName is the name of the +// profile. func (client ProfilesClient) GetEnrichingKpis(resourceGroupName string, hubName string, profileName string) (result ListKpiDefinition, err error) { req, err := client.GetEnrichingKpisPreparer(resourceGroupName, hubName, profileName) if err != nil { @@ -335,7 +329,7 @@ func (client ProfilesClient) GetEnrichingKpisPreparer(resourceGroupName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -369,8 +363,8 @@ func (client ProfilesClient) GetEnrichingKpisResponder(resp *http.Response) (res // ListByHub gets all profile in the hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. localeCode is locale of profile to retrieve, default is en-us. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. localeCode is locale of profile +// to retrieve, default is en-us. func (client ProfilesClient) ListByHub(resourceGroupName string, hubName string, localeCode string) (result ProfileListResult, err error) { req, err := client.ListByHubPreparer(resourceGroupName, hubName, localeCode) if err != nil { @@ -401,7 +395,7 @@ func (client ProfilesClient) ListByHubPreparer(resourceGroupName string, hubName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -459,3 +453,48 @@ func (client ProfilesClient) ListByHubNextResults(lastResults ProfileListResult) return } + +// ListByHubComplete gets all elements from the list without paging. +func (client ProfilesClient) ListByHubComplete(resourceGroupName string, hubName string, localeCode string, cancel <-chan struct{}) (<-chan ProfileResourceFormat, <-chan error) { + resultChan := make(chan ProfileResourceFormat) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByHub(resourceGroupName, hubName, localeCode) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByHubNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/relationshiplinks.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/relationshiplinks.go index 6cac63649..f04b806bf 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/relationshiplinks.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/relationshiplinks.go @@ -14,9 +14,8 @@ package customerinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,36 +24,29 @@ import ( "net/http" ) -// RelationshipLinksClient is the the Azure Customer Insights management API -// provides a RESTful set of web services that interact with Azure Customer -// Insights service to manage your resources. The API has entities that capture -// the relationship between an end user and the Azure Customer Insights -// service. +// RelationshipLinksClient is the the Azure Customer Insights management API provides a RESTful set of web services +// that interact with Azure Customer Insights service to manage your resources. The API has entities that capture the +// relationship between an end user and the Azure Customer Insights service. type RelationshipLinksClient struct { ManagementClient } -// NewRelationshipLinksClient creates an instance of the -// RelationshipLinksClient client. +// NewRelationshipLinksClient creates an instance of the RelationshipLinksClient client. func NewRelationshipLinksClient(subscriptionID string) RelationshipLinksClient { return NewRelationshipLinksClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewRelationshipLinksClientWithBaseURI creates an instance of the -// RelationshipLinksClient client. +// NewRelationshipLinksClientWithBaseURI creates an instance of the RelationshipLinksClient client. func NewRelationshipLinksClientWithBaseURI(baseURI string, subscriptionID string) RelationshipLinksClient { return RelationshipLinksClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates a relationship link or updates an existing -// relationship link within a hub. This method may poll for completion. Polling -// can be canceled by passing the cancel channel argument. The channel will be -// used to cancel polling and any outstanding HTTP requests. +// CreateOrUpdate creates a relationship link or updates an existing relationship link within a hub. This method may +// poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to +// cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. relationshipLinkName is the name of the relationship link. -// parameters is parameters supplied to the CreateOrUpdate relationship link -// operation. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. relationshipLinkName is the +// name of the relationship link. parameters is parameters supplied to the CreateOrUpdate relationship link operation. func (client RelationshipLinksClient) CreateOrUpdate(resourceGroupName string, hubName string, relationshipLinkName string, parameters RelationshipLinkResourceFormat, cancel <-chan struct{}) (<-chan RelationshipLinkResourceFormat, <-chan error) { resultChan := make(chan RelationshipLinkResourceFormat, 1) errChan := make(chan error, 1) @@ -80,8 +72,10 @@ func (client RelationshipLinksClient) CreateOrUpdate(resourceGroupName string, h var err error var result RelationshipLinkResourceFormat defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -115,7 +109,7 @@ func (client RelationshipLinksClient) CreateOrUpdatePreparer(resourceGroupName s "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -151,13 +145,11 @@ func (client RelationshipLinksClient) CreateOrUpdateResponder(resp *http.Respons return } -// Delete deletes a relationship link within a hub. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete deletes a relationship link within a hub. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. relationshipLinkName is the name of the relationship. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. relationshipLinkName is the +// name of the relationship. func (client RelationshipLinksClient) Delete(resourceGroupName string, hubName string, relationshipLinkName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -165,8 +157,10 @@ func (client RelationshipLinksClient) Delete(resourceGroupName string, hubName s var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -200,7 +194,7 @@ func (client RelationshipLinksClient) DeletePreparer(resourceGroupName string, h "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -235,8 +229,8 @@ func (client RelationshipLinksClient) DeleteResponder(resp *http.Response) (resu // Get gets information about the specified relationship Link. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. relationshipLinkName is the name of the relationship link. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. relationshipLinkName is the +// name of the relationship link. func (client RelationshipLinksClient) Get(resourceGroupName string, hubName string, relationshipLinkName string) (result RelationshipLinkResourceFormat, err error) { req, err := client.GetPreparer(resourceGroupName, hubName, relationshipLinkName) if err != nil { @@ -268,7 +262,7 @@ func (client RelationshipLinksClient) GetPreparer(resourceGroupName string, hubN "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -302,8 +296,7 @@ func (client RelationshipLinksClient) GetResponder(resp *http.Response) (result // ListByHub gets all relationship links in the hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. func (client RelationshipLinksClient) ListByHub(resourceGroupName string, hubName string) (result RelationshipLinkListResult, err error) { req, err := client.ListByHubPreparer(resourceGroupName, hubName) if err != nil { @@ -334,7 +327,7 @@ func (client RelationshipLinksClient) ListByHubPreparer(resourceGroupName string "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -389,3 +382,48 @@ func (client RelationshipLinksClient) ListByHubNextResults(lastResults Relations return } + +// ListByHubComplete gets all elements from the list without paging. +func (client RelationshipLinksClient) ListByHubComplete(resourceGroupName string, hubName string, cancel <-chan struct{}) (<-chan RelationshipLinkResourceFormat, <-chan error) { + resultChan := make(chan RelationshipLinkResourceFormat) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByHub(resourceGroupName, hubName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByHubNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/relationships.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/relationships.go index 297835f2d..e4be35815 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/relationships.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/relationships.go @@ -14,9 +14,8 @@ package customerinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,35 +24,29 @@ import ( "net/http" ) -// RelationshipsClient is the the Azure Customer Insights management API -// provides a RESTful set of web services that interact with Azure Customer -// Insights service to manage your resources. The API has entities that capture -// the relationship between an end user and the Azure Customer Insights -// service. +// RelationshipsClient is the the Azure Customer Insights management API provides a RESTful set of web services that +// interact with Azure Customer Insights service to manage your resources. The API has entities that capture the +// relationship between an end user and the Azure Customer Insights service. type RelationshipsClient struct { ManagementClient } -// NewRelationshipsClient creates an instance of the RelationshipsClient -// client. +// NewRelationshipsClient creates an instance of the RelationshipsClient client. func NewRelationshipsClient(subscriptionID string) RelationshipsClient { return NewRelationshipsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewRelationshipsClientWithBaseURI creates an instance of the -// RelationshipsClient client. +// NewRelationshipsClientWithBaseURI creates an instance of the RelationshipsClient client. func NewRelationshipsClientWithBaseURI(baseURI string, subscriptionID string) RelationshipsClient { return RelationshipsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates a relationship or updates an existing relationship -// within a hub. This method may poll for completion. Polling can be canceled -// by passing the cancel channel argument. The channel will be used to cancel +// CreateOrUpdate creates a relationship or updates an existing relationship within a hub. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel // polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. relationshipName is the name of the Relationship. parameters is -// parameters supplied to the CreateOrUpdate Relationship operation. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. relationshipName is the name of +// the Relationship. parameters is parameters supplied to the CreateOrUpdate Relationship operation. func (client RelationshipsClient) CreateOrUpdate(resourceGroupName string, hubName string, relationshipName string, parameters RelationshipResourceFormat, cancel <-chan struct{}) (<-chan RelationshipResourceFormat, <-chan error) { resultChan := make(chan RelationshipResourceFormat, 1) errChan := make(chan error, 1) @@ -77,8 +70,10 @@ func (client RelationshipsClient) CreateOrUpdate(resourceGroupName string, hubNa var err error var result RelationshipResourceFormat defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -112,7 +107,7 @@ func (client RelationshipsClient) CreateOrUpdatePreparer(resourceGroupName strin "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -148,13 +143,11 @@ func (client RelationshipsClient) CreateOrUpdateResponder(resp *http.Response) ( return } -// Delete deletes a relationship within a hub. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete deletes a relationship within a hub. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. relationshipName is the name of the relationship. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. relationshipName is the name of +// the relationship. func (client RelationshipsClient) Delete(resourceGroupName string, hubName string, relationshipName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -162,8 +155,10 @@ func (client RelationshipsClient) Delete(resourceGroupName string, hubName strin var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -197,7 +192,7 @@ func (client RelationshipsClient) DeletePreparer(resourceGroupName string, hubNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -232,8 +227,8 @@ func (client RelationshipsClient) DeleteResponder(resp *http.Response) (result a // Get gets information about the specified relationship. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. relationshipName is the name of the relationship. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. relationshipName is the name of +// the relationship. func (client RelationshipsClient) Get(resourceGroupName string, hubName string, relationshipName string) (result RelationshipResourceFormat, err error) { req, err := client.GetPreparer(resourceGroupName, hubName, relationshipName) if err != nil { @@ -265,7 +260,7 @@ func (client RelationshipsClient) GetPreparer(resourceGroupName string, hubName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -299,8 +294,7 @@ func (client RelationshipsClient) GetResponder(resp *http.Response) (result Rela // ListByHub gets all relationships in the hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. func (client RelationshipsClient) ListByHub(resourceGroupName string, hubName string) (result RelationshipListResult, err error) { req, err := client.ListByHubPreparer(resourceGroupName, hubName) if err != nil { @@ -331,7 +325,7 @@ func (client RelationshipsClient) ListByHubPreparer(resourceGroupName string, hu "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -386,3 +380,48 @@ func (client RelationshipsClient) ListByHubNextResults(lastResults RelationshipL return } + +// ListByHubComplete gets all elements from the list without paging. +func (client RelationshipsClient) ListByHubComplete(resourceGroupName string, hubName string, cancel <-chan struct{}) (<-chan RelationshipResourceFormat, <-chan error) { + resultChan := make(chan RelationshipResourceFormat) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByHub(resourceGroupName, hubName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByHubNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/roleassignments.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/roleassignments.go index 22b898812..75abcc698 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/roleassignments.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/roleassignments.go @@ -14,9 +14,8 @@ package customerinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,35 +24,29 @@ import ( "net/http" ) -// RoleAssignmentsClient is the the Azure Customer Insights management API -// provides a RESTful set of web services that interact with Azure Customer -// Insights service to manage your resources. The API has entities that capture -// the relationship between an end user and the Azure Customer Insights -// service. +// RoleAssignmentsClient is the the Azure Customer Insights management API provides a RESTful set of web services that +// interact with Azure Customer Insights service to manage your resources. The API has entities that capture the +// relationship between an end user and the Azure Customer Insights service. type RoleAssignmentsClient struct { ManagementClient } -// NewRoleAssignmentsClient creates an instance of the RoleAssignmentsClient -// client. +// NewRoleAssignmentsClient creates an instance of the RoleAssignmentsClient client. func NewRoleAssignmentsClient(subscriptionID string) RoleAssignmentsClient { return NewRoleAssignmentsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewRoleAssignmentsClientWithBaseURI creates an instance of the -// RoleAssignmentsClient client. +// NewRoleAssignmentsClientWithBaseURI creates an instance of the RoleAssignmentsClient client. func NewRoleAssignmentsClientWithBaseURI(baseURI string, subscriptionID string) RoleAssignmentsClient { return RoleAssignmentsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates a role assignment in the hub. This method -// may poll for completion. Polling can be canceled by passing the cancel -// channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// CreateOrUpdate creates or updates a role assignment in the hub. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. assignmentName is the assignment name parameters is parameters -// supplied to the CreateOrUpdate RoleAssignment operation. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. assignmentName is the +// assignment name parameters is parameters supplied to the CreateOrUpdate RoleAssignment operation. func (client RoleAssignmentsClient) CreateOrUpdate(resourceGroupName string, hubName string, assignmentName string, parameters RoleAssignmentResourceFormat, cancel <-chan struct{}) (<-chan RoleAssignmentResourceFormat, <-chan error) { resultChan := make(chan RoleAssignmentResourceFormat, 1) errChan := make(chan error, 1) @@ -75,8 +68,10 @@ func (client RoleAssignmentsClient) CreateOrUpdate(resourceGroupName string, hub var err error var result RoleAssignmentResourceFormat defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -110,7 +105,7 @@ func (client RoleAssignmentsClient) CreateOrUpdatePreparer(resourceGroupName str "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -148,8 +143,8 @@ func (client RoleAssignmentsClient) CreateOrUpdateResponder(resp *http.Response) // Delete deletes the role assignment in the hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. assignmentName is the name of the role assignment. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. assignmentName is the name of +// the role assignment. func (client RoleAssignmentsClient) Delete(resourceGroupName string, hubName string, assignmentName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, hubName, assignmentName) if err != nil { @@ -181,7 +176,7 @@ func (client RoleAssignmentsClient) DeletePreparer(resourceGroupName string, hub "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -214,8 +209,8 @@ func (client RoleAssignmentsClient) DeleteResponder(resp *http.Response) (result // Get gets the role assignment in the hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. assignmentName is the name of the role assignment. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. assignmentName is the name of +// the role assignment. func (client RoleAssignmentsClient) Get(resourceGroupName string, hubName string, assignmentName string) (result RoleAssignmentResourceFormat, err error) { req, err := client.GetPreparer(resourceGroupName, hubName, assignmentName) if err != nil { @@ -247,7 +242,7 @@ func (client RoleAssignmentsClient) GetPreparer(resourceGroupName string, hubNam "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -281,8 +276,7 @@ func (client RoleAssignmentsClient) GetResponder(resp *http.Response) (result Ro // ListByHub gets all the role assignments for the specified hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. func (client RoleAssignmentsClient) ListByHub(resourceGroupName string, hubName string) (result RoleAssignmentListResult, err error) { req, err := client.ListByHubPreparer(resourceGroupName, hubName) if err != nil { @@ -313,7 +307,7 @@ func (client RoleAssignmentsClient) ListByHubPreparer(resourceGroupName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -368,3 +362,48 @@ func (client RoleAssignmentsClient) ListByHubNextResults(lastResults RoleAssignm return } + +// ListByHubComplete gets all elements from the list without paging. +func (client RoleAssignmentsClient) ListByHubComplete(resourceGroupName string, hubName string, cancel <-chan struct{}) (<-chan RoleAssignmentResourceFormat, <-chan error) { + resultChan := make(chan RoleAssignmentResourceFormat) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByHub(resourceGroupName, hubName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByHubNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/roles.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/roles.go index 6f0bc7e77..a7abf091e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/roles.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/roles.go @@ -14,9 +14,8 @@ package customerinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,10 +23,9 @@ import ( "net/http" ) -// RolesClient is the the Azure Customer Insights management API provides a -// RESTful set of web services that interact with Azure Customer Insights -// service to manage your resources. The API has entities that capture the -// relationship between an end user and the Azure Customer Insights service. +// RolesClient is the the Azure Customer Insights management API provides a RESTful set of web services that interact +// with Azure Customer Insights service to manage your resources. The API has entities that capture the relationship +// between an end user and the Azure Customer Insights service. type RolesClient struct { ManagementClient } @@ -44,8 +42,7 @@ func NewRolesClientWithBaseURI(baseURI string, subscriptionID string) RolesClien // ListByHub gets all the roles for the hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. func (client RolesClient) ListByHub(resourceGroupName string, hubName string) (result RoleListResult, err error) { req, err := client.ListByHubPreparer(resourceGroupName, hubName) if err != nil { @@ -76,7 +73,7 @@ func (client RolesClient) ListByHubPreparer(resourceGroupName string, hubName st "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -131,3 +128,48 @@ func (client RolesClient) ListByHubNextResults(lastResults RoleListResult) (resu return } + +// ListByHubComplete gets all elements from the list without paging. +func (client RolesClient) ListByHubComplete(resourceGroupName string, hubName string, cancel <-chan struct{}) (<-chan RoleResourceFormat, <-chan error) { + resultChan := make(chan RoleResourceFormat) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByHub(resourceGroupName, hubName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByHubNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/version.go index e520b3c01..0f52997bc 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/version.go @@ -14,16 +14,15 @@ package customerinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-customerinsights/2017-01-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-customerinsights/2017-04-26" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/views.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/views.go index 6eaba3d70..e79a68b90 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/views.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/views.go @@ -14,9 +14,8 @@ package customerinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,10 +24,9 @@ import ( "net/http" ) -// ViewsClient is the the Azure Customer Insights management API provides a -// RESTful set of web services that interact with Azure Customer Insights -// service to manage your resources. The API has entities that capture the -// relationship between an end user and the Azure Customer Insights service. +// ViewsClient is the the Azure Customer Insights management API provides a RESTful set of web services that interact +// with Azure Customer Insights service to manage your resources. The API has entities that capture the relationship +// between an end user and the Azure Customer Insights service. type ViewsClient struct { ManagementClient } @@ -45,9 +43,8 @@ func NewViewsClientWithBaseURI(baseURI string, subscriptionID string) ViewsClien // CreateOrUpdate creates a view or updates an exisiting view in the hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. viewName is the name of the view. parameters is parameters supplied -// to the CreateOrUpdate View operation. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. viewName is the name of the +// view. parameters is parameters supplied to the CreateOrUpdate View operation. func (client ViewsClient) CreateOrUpdate(resourceGroupName string, hubName string, viewName string, parameters ViewResourceFormat) (result ViewResourceFormat, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: viewName, @@ -89,7 +86,7 @@ func (client ViewsClient) CreateOrUpdatePreparer(resourceGroupName string, hubNa "viewName": autorest.Encode("path", viewName), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -125,9 +122,8 @@ func (client ViewsClient) CreateOrUpdateResponder(resp *http.Response) (result V // Delete deletes a view in the specified hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. viewName is the name of the view. userID is the user ID. Use * to -// retreive hub level view. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. viewName is the name of the +// view. userID is the user ID. Use * to retreive hub level view. func (client ViewsClient) Delete(resourceGroupName string, hubName string, viewName string, userID string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, hubName, viewName, userID) if err != nil { @@ -159,7 +155,7 @@ func (client ViewsClient) DeletePreparer(resourceGroupName string, hubName strin "viewName": autorest.Encode("path", viewName), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, "userId": autorest.Encode("query", userID), @@ -193,9 +189,8 @@ func (client ViewsClient) DeleteResponder(resp *http.Response) (result autorest. // Get gets a view in the hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. viewName is the name of the view. userID is the user ID. Use * to -// retreive hub level view. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. viewName is the name of the +// view. userID is the user ID. Use * to retreive hub level view. func (client ViewsClient) Get(resourceGroupName string, hubName string, viewName string, userID string) (result ViewResourceFormat, err error) { req, err := client.GetPreparer(resourceGroupName, hubName, viewName, userID) if err != nil { @@ -227,7 +222,7 @@ func (client ViewsClient) GetPreparer(resourceGroupName string, hubName string, "viewName": autorest.Encode("path", viewName), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, "userId": autorest.Encode("query", userID), @@ -262,8 +257,8 @@ func (client ViewsClient) GetResponder(resp *http.Response) (result ViewResource // ListByHub gets all available views for given user in the specified hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. userID is the user ID. Use * to retreive hub level views. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. userID is the user ID. Use * to +// retreive hub level views. func (client ViewsClient) ListByHub(resourceGroupName string, hubName string, userID string) (result ViewListResult, err error) { req, err := client.ListByHubPreparer(resourceGroupName, hubName, userID) if err != nil { @@ -294,7 +289,7 @@ func (client ViewsClient) ListByHubPreparer(resourceGroupName string, hubName st "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, "userId": autorest.Encode("query", userID), @@ -350,3 +345,48 @@ func (client ViewsClient) ListByHubNextResults(lastResults ViewListResult) (resu return } + +// ListByHubComplete gets all elements from the list without paging. +func (client ViewsClient) ListByHubComplete(resourceGroupName string, hubName string, userID string, cancel <-chan struct{}) (<-chan ViewResourceFormat, <-chan error) { + resultChan := make(chan ViewResourceFormat) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByHub(resourceGroupName, hubName, userID) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByHubNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/widgettypes.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/widgettypes.go index 120d613fb..03c65cc46 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/widgettypes.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/customer-insights/widgettypes.go @@ -14,9 +14,8 @@ package customerinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,9 +23,8 @@ import ( "net/http" ) -// WidgetTypesClient is the the Azure Customer Insights management API provides -// a RESTful set of web services that interact with Azure Customer Insights -// service to manage your resources. The API has entities that capture the +// WidgetTypesClient is the the Azure Customer Insights management API provides a RESTful set of web services that +// interact with Azure Customer Insights service to manage your resources. The API has entities that capture the // relationship between an end user and the Azure Customer Insights service. type WidgetTypesClient struct { ManagementClient @@ -37,16 +35,15 @@ func NewWidgetTypesClient(subscriptionID string) WidgetTypesClient { return NewWidgetTypesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewWidgetTypesClientWithBaseURI creates an instance of the WidgetTypesClient -// client. +// NewWidgetTypesClientWithBaseURI creates an instance of the WidgetTypesClient client. func NewWidgetTypesClientWithBaseURI(baseURI string, subscriptionID string) WidgetTypesClient { return WidgetTypesClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get gets a widget type in the specified hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. widgetTypeName is the name of the widget type. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. widgetTypeName is the name of +// the widget type. func (client WidgetTypesClient) Get(resourceGroupName string, hubName string, widgetTypeName string) (result WidgetTypeResourceFormat, err error) { req, err := client.GetPreparer(resourceGroupName, hubName, widgetTypeName) if err != nil { @@ -78,7 +75,7 @@ func (client WidgetTypesClient) GetPreparer(resourceGroupName string, hubName st "widgetTypeName": autorest.Encode("path", widgetTypeName), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -112,8 +109,7 @@ func (client WidgetTypesClient) GetResponder(resp *http.Response) (result Widget // ListByHub gets all available widget types in the specified hub. // -// resourceGroupName is the name of the resource group. hubName is the name of -// the hub. +// resourceGroupName is the name of the resource group. hubName is the name of the hub. func (client WidgetTypesClient) ListByHub(resourceGroupName string, hubName string) (result WidgetTypeListResult, err error) { req, err := client.ListByHubPreparer(resourceGroupName, hubName) if err != nil { @@ -144,7 +140,7 @@ func (client WidgetTypesClient) ListByHubPreparer(resourceGroupName string, hubN "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-01-01" + const APIVersion = "2017-04-26" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -199,3 +195,48 @@ func (client WidgetTypesClient) ListByHubNextResults(lastResults WidgetTypeListR return } + +// ListByHubComplete gets all elements from the list without paging. +func (client WidgetTypesClient) ListByHubComplete(resourceGroupName string, hubName string, cancel <-chan struct{}) (<-chan WidgetTypeResourceFormat, <-chan error) { + resultChan := make(chan WidgetTypeResourceFormat) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByHub(resourceGroupName, hubName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByHubNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/client.go index 41f91ac70..659d40438 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/client.go @@ -1,5 +1,4 @@ -// Package account implements the Azure ARM Account service API version -// 2016-11-01. +// Package account implements the Azure ARM Account service API version 2016-11-01. // // Creates an Azure Data Lake Analytics account management client. package account @@ -18,9 +17,8 @@ package account // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/computepolicies.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/computepolicies.go new file mode 100644 index 000000000..f3a2b2aa0 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/computepolicies.go @@ -0,0 +1,468 @@ +package account + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// ComputePoliciesClient is the creates an Azure Data Lake Analytics account management client. +type ComputePoliciesClient struct { + ManagementClient +} + +// NewComputePoliciesClient creates an instance of the ComputePoliciesClient client. +func NewComputePoliciesClient(subscriptionID string) ComputePoliciesClient { + return NewComputePoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewComputePoliciesClientWithBaseURI creates an instance of the ComputePoliciesClient client. +func NewComputePoliciesClientWithBaseURI(baseURI string, subscriptionID string) ComputePoliciesClient { + return ComputePoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates the specified compute policy. During update, the compute policy with the specified +// name will be replaced with this new compute policy. An account supports, at most, 50 policies +// +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. accountName +// is the name of the Data Lake Analytics account to add or replace the compute policy. computePolicyName is the name +// of the compute policy to create or update. parameters is parameters supplied to create or update the compute policy. +// The max degree of parallelism per job property, min priority per job property, or both must be present. +func (client ComputePoliciesClient) CreateOrUpdate(resourceGroupName string, accountName string, computePolicyName string, parameters ComputePolicyCreateOrUpdateParameters) (result ComputePolicy, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.ComputePolicyPropertiesCreateParameters", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.ComputePolicyPropertiesCreateParameters.ObjectID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ComputePolicyPropertiesCreateParameters.MaxDegreeOfParallelismPerJob", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ComputePolicyPropertiesCreateParameters.MaxDegreeOfParallelismPerJob", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}}}, + {Target: "parameters.ComputePolicyPropertiesCreateParameters.MinPriorityPerJob", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ComputePolicyPropertiesCreateParameters.MinPriorityPerJob", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "account.ComputePoliciesClient", "CreateOrUpdate") + } + + req, err := client.CreateOrUpdatePreparer(resourceGroupName, accountName, computePolicyName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "account.ComputePoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "account.ComputePoliciesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "account.ComputePoliciesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ComputePoliciesClient) CreateOrUpdatePreparer(resourceGroupName string, accountName string, computePolicyName string, parameters ComputePolicyCreateOrUpdateParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "computePolicyName": autorest.Encode("path", computePolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-11-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies/{computePolicyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ComputePoliciesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ComputePoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result ComputePolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified compute policy from the specified Data Lake Analytics account +// +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. accountName +// is the name of the Data Lake Analytics account from which to delete the compute policy. computePolicyName is the +// name of the compute policy to delete. +func (client ComputePoliciesClient) Delete(resourceGroupName string, accountName string, computePolicyName string) (result autorest.Response, err error) { + req, err := client.DeletePreparer(resourceGroupName, accountName, computePolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "account.ComputePoliciesClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "account.ComputePoliciesClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "account.ComputePoliciesClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ComputePoliciesClient) DeletePreparer(resourceGroupName string, accountName string, computePolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "computePolicyName": autorest.Encode("path", computePolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-11-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies/{computePolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ComputePoliciesClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ComputePoliciesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified Data Lake Analytics compute policy. +// +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. accountName +// is the name of the Data Lake Analytics account from which to get the compute policy. computePolicyName is the name +// of the compute policy to retrieve. +func (client ComputePoliciesClient) Get(resourceGroupName string, accountName string, computePolicyName string) (result ComputePolicy, err error) { + req, err := client.GetPreparer(resourceGroupName, accountName, computePolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "account.ComputePoliciesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "account.ComputePoliciesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "account.ComputePoliciesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ComputePoliciesClient) GetPreparer(resourceGroupName string, accountName string, computePolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "computePolicyName": autorest.Encode("path", computePolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-11-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies/{computePolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ComputePoliciesClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ComputePoliciesClient) GetResponder(resp *http.Response) (result ComputePolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByAccount lists the Data Lake Analytics compute policies within the specified Data Lake Analytics account. An +// account supports, at most, 50 policies +// +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. accountName +// is the name of the Data Lake Analytics account from which to get the compute policies. +func (client ComputePoliciesClient) ListByAccount(resourceGroupName string, accountName string) (result ComputePolicyListResult, err error) { + req, err := client.ListByAccountPreparer(resourceGroupName, accountName) + if err != nil { + err = autorest.NewErrorWithError(err, "account.ComputePoliciesClient", "ListByAccount", nil, "Failure preparing request") + return + } + + resp, err := client.ListByAccountSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "account.ComputePoliciesClient", "ListByAccount", resp, "Failure sending request") + return + } + + result, err = client.ListByAccountResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "account.ComputePoliciesClient", "ListByAccount", resp, "Failure responding to request") + } + + return +} + +// ListByAccountPreparer prepares the ListByAccount request. +func (client ComputePoliciesClient) ListByAccountPreparer(resourceGroupName string, accountName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-11-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByAccountSender sends the ListByAccount request. The method will close the +// http.Response Body if it receives an error. +func (client ComputePoliciesClient) ListByAccountSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByAccountResponder handles the response to the ListByAccount request. The method always +// closes the http.Response Body. +func (client ComputePoliciesClient) ListByAccountResponder(resp *http.Response) (result ComputePolicyListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByAccountNextResults retrieves the next set of results, if any. +func (client ComputePoliciesClient) ListByAccountNextResults(lastResults ComputePolicyListResult) (result ComputePolicyListResult, err error) { + req, err := lastResults.ComputePolicyListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "account.ComputePoliciesClient", "ListByAccount", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListByAccountSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "account.ComputePoliciesClient", "ListByAccount", resp, "Failure sending next results request") + } + + result, err = client.ListByAccountResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "account.ComputePoliciesClient", "ListByAccount", resp, "Failure responding to next results request") + } + + return +} + +// ListByAccountComplete gets all elements from the list without paging. +func (client ComputePoliciesClient) ListByAccountComplete(resourceGroupName string, accountName string, cancel <-chan struct{}) (<-chan ComputePolicy, <-chan error) { + resultChan := make(chan ComputePolicy) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByAccount(resourceGroupName, accountName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByAccountNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// Update updates the specified compute policy. +// +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. accountName +// is the name of the Data Lake Analytics account to which to update the compute policy. computePolicyName is the name +// of the compute policy to update. parameters is parameters supplied to update the compute policy. +func (client ComputePoliciesClient) Update(resourceGroupName string, accountName string, computePolicyName string, parameters *ComputePolicy) (result ComputePolicy, err error) { + req, err := client.UpdatePreparer(resourceGroupName, accountName, computePolicyName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "account.ComputePoliciesClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "account.ComputePoliciesClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "account.ComputePoliciesClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client ComputePoliciesClient) UpdatePreparer(resourceGroupName string, accountName string, computePolicyName string, parameters *ComputePolicy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "computePolicyName": autorest.Encode("path", computePolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-11-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies/{computePolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if parameters != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(parameters)) + } + return preparer.Prepare(&http.Request{}) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client ComputePoliciesClient) UpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client ComputePoliciesClient) UpdateResponder(resp *http.Response) (result ComputePolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/datalakestoreaccounts.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/datalakestoreaccounts.go index 81bfb4243..f20823ddd 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/datalakestoreaccounts.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/datalakestoreaccounts.go @@ -14,9 +14,8 @@ package account // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,32 +24,26 @@ import ( "net/http" ) -// DataLakeStoreAccountsClient is the creates an Azure Data Lake Analytics -// account management client. +// DataLakeStoreAccountsClient is the creates an Azure Data Lake Analytics account management client. type DataLakeStoreAccountsClient struct { ManagementClient } -// NewDataLakeStoreAccountsClient creates an instance of the -// DataLakeStoreAccountsClient client. +// NewDataLakeStoreAccountsClient creates an instance of the DataLakeStoreAccountsClient client. func NewDataLakeStoreAccountsClient(subscriptionID string) DataLakeStoreAccountsClient { return NewDataLakeStoreAccountsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewDataLakeStoreAccountsClientWithBaseURI creates an instance of the -// DataLakeStoreAccountsClient client. +// NewDataLakeStoreAccountsClientWithBaseURI creates an instance of the DataLakeStoreAccountsClient client. func NewDataLakeStoreAccountsClientWithBaseURI(baseURI string, subscriptionID string) DataLakeStoreAccountsClient { return DataLakeStoreAccountsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Add updates the specified Data Lake Analytics account to include the -// additional Data Lake Store account. +// Add updates the specified Data Lake Analytics account to include the additional Data Lake Store account. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Analytics account. accountName is the name of the Data Lake -// Analytics account to which to add the Data Lake Store account. -// dataLakeStoreAccountName is the name of the Data Lake Store account to add. -// parameters is the details of the Data Lake Store account. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. accountName +// is the name of the Data Lake Analytics account to which to add the Data Lake Store account. dataLakeStoreAccountName +// is the name of the Data Lake Store account to add. parameters is the details of the Data Lake Store account. func (client DataLakeStoreAccountsClient) Add(resourceGroupName string, accountName string, dataLakeStoreAccountName string, parameters *AddDataLakeStoreParameters) (result autorest.Response, err error) { req, err := client.AddPreparer(resourceGroupName, accountName, dataLakeStoreAccountName, parameters) if err != nil { @@ -118,14 +111,11 @@ func (client DataLakeStoreAccountsClient) AddResponder(resp *http.Response) (res return } -// Delete updates the Data Lake Analytics account specified to remove the -// specified Data Lake Store account. +// Delete updates the Data Lake Analytics account specified to remove the specified Data Lake Store account. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Analytics account. accountName is the name of the Data Lake -// Analytics account from which to remove the Data Lake Store account. -// dataLakeStoreAccountName is the name of the Data Lake Store account to -// remove +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. accountName +// is the name of the Data Lake Analytics account from which to remove the Data Lake Store account. +// dataLakeStoreAccountName is the name of the Data Lake Store account to remove func (client DataLakeStoreAccountsClient) Delete(resourceGroupName string, accountName string, dataLakeStoreAccountName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, accountName, dataLakeStoreAccountName) if err != nil { @@ -188,14 +178,11 @@ func (client DataLakeStoreAccountsClient) DeleteResponder(resp *http.Response) ( return } -// Get gets the specified Data Lake Store account details in the specified Data -// Lake Analytics account. +// Get gets the specified Data Lake Store account details in the specified Data Lake Analytics account. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Analytics account. accountName is the name of the Data Lake -// Analytics account from which to retrieve the Data Lake Store account -// details. dataLakeStoreAccountName is the name of the Data Lake Store account -// to retrieve +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. accountName +// is the name of the Data Lake Analytics account from which to retrieve the Data Lake Store account details. +// dataLakeStoreAccountName is the name of the Data Lake Store account to retrieve func (client DataLakeStoreAccountsClient) Get(resourceGroupName string, accountName string, dataLakeStoreAccountName string) (result DataLakeStoreAccountInfo, err error) { req, err := client.GetPreparer(resourceGroupName, accountName, dataLakeStoreAccountName) if err != nil { @@ -259,23 +246,18 @@ func (client DataLakeStoreAccountsClient) GetResponder(resp *http.Response) (res return } -// ListByAccount gets the first page of Data Lake Store accounts linked to the -// specified Data Lake Analytics account. The response includes a link to the -// next page, if any. +// ListByAccount gets the first page of Data Lake Store accounts linked to the specified Data Lake Analytics account. +// The response includes a link to the next page, if any. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Analytics account. accountName is the name of the Data Lake -// Analytics account for which to list Data Lake Store accounts. filter is -// oData filter. Optional. top is the number of items to return. Optional. skip -// is the number of items to skip over before returning elements. Optional. -// selectParameter is oData Select statement. Limits the properties on each -// entry to just those requested, e.g. -// Categories?$select=CategoryName,Description. Optional. orderby is orderBy -// clause. One or more comma-separated expressions with an optional "asc" (the -// default) or "desc" depending on the order you'd like the values sorted, e.g. -// Categories?$orderby=CategoryName desc. Optional. count is the Boolean value -// of true or false to request a count of the matching resources included with -// the resources in the response, e.g. Categories?$count=true. Optional. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. accountName +// is the name of the Data Lake Analytics account for which to list Data Lake Store accounts. filter is oData filter. +// Optional. top is the number of items to return. Optional. skip is the number of items to skip over before returning +// elements. Optional. selectParameter is oData Select statement. Limits the properties on each entry to just those +// requested, e.g. Categories?$select=CategoryName,Description. Optional. orderby is orderBy clause. One or more +// comma-separated expressions with an optional "asc" (the default) or "desc" depending on the order you'd like the +// values sorted, e.g. Categories?$orderby=CategoryName desc. Optional. count is the Boolean value of true or false to +// request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true. +// Optional. func (client DataLakeStoreAccountsClient) ListByAccount(resourceGroupName string, accountName string, filter string, top *int32, skip *int32, selectParameter string, orderby string, count *bool) (result DataLakeAnalyticsAccountListDataLakeStoreResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: top, @@ -389,3 +371,48 @@ func (client DataLakeStoreAccountsClient) ListByAccountNextResults(lastResults D return } + +// ListByAccountComplete gets all elements from the list without paging. +func (client DataLakeStoreAccountsClient) ListByAccountComplete(resourceGroupName string, accountName string, filter string, top *int32, skip *int32, selectParameter string, orderby string, count *bool, cancel <-chan struct{}) (<-chan DataLakeStoreAccountInfo, <-chan error) { + resultChan := make(chan DataLakeStoreAccountInfo) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByAccount(resourceGroupName, accountName, filter, top, skip, selectParameter, orderby, count) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByAccountNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/firewallrules.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/firewallrules.go index deeb03252..a799dcb0c 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/firewallrules.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/firewallrules.go @@ -14,9 +14,8 @@ package account // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,33 +24,27 @@ import ( "net/http" ) -// FirewallRulesClient is the creates an Azure Data Lake Analytics account -// management client. +// FirewallRulesClient is the creates an Azure Data Lake Analytics account management client. type FirewallRulesClient struct { ManagementClient } -// NewFirewallRulesClient creates an instance of the FirewallRulesClient -// client. +// NewFirewallRulesClient creates an instance of the FirewallRulesClient client. func NewFirewallRulesClient(subscriptionID string) FirewallRulesClient { return NewFirewallRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewFirewallRulesClientWithBaseURI creates an instance of the -// FirewallRulesClient client. +// NewFirewallRulesClientWithBaseURI creates an instance of the FirewallRulesClient client. func NewFirewallRulesClientWithBaseURI(baseURI string, subscriptionID string) FirewallRulesClient { return FirewallRulesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates the specified firewall rule. During -// update, the firewall rule with the specified name will be replaced with this -// new firewall rule. +// CreateOrUpdate creates or updates the specified firewall rule. During update, the firewall rule with the specified +// name will be replaced with this new firewall rule. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Analytics account. accountName is the name of the Data Lake -// Analytics account to add or replace the firewall rule. firewallRuleName is -// the name of the firewall rule to create or update. parameters is parameters -// supplied to create or update the firewall rule. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. accountName +// is the name of the Data Lake Analytics account to add or replace the firewall rule. firewallRuleName is the name of +// the firewall rule to create or update. parameters is parameters supplied to create or update the firewall rule. func (client FirewallRulesClient) CreateOrUpdate(resourceGroupName string, accountName string, firewallRuleName string, parameters FirewallRule) (result FirewallRule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -126,13 +119,11 @@ func (client FirewallRulesClient) CreateOrUpdateResponder(resp *http.Response) ( return } -// Delete deletes the specified firewall rule from the specified Data Lake -// Analytics account +// Delete deletes the specified firewall rule from the specified Data Lake Analytics account // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Analytics account. accountName is the name of the Data Lake -// Analytics account from which to delete the firewall rule. firewallRuleName -// is the name of the firewall rule to delete. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. accountName +// is the name of the Data Lake Analytics account from which to delete the firewall rule. firewallRuleName is the name +// of the firewall rule to delete. func (client FirewallRulesClient) Delete(resourceGroupName string, accountName string, firewallRuleName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, accountName, firewallRuleName) if err != nil { @@ -197,10 +188,9 @@ func (client FirewallRulesClient) DeleteResponder(resp *http.Response) (result a // Get gets the specified Data Lake Analytics firewall rule. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Analytics account. accountName is the name of the Data Lake -// Analytics account from which to get the firewall rule. firewallRuleName is -// the name of the firewall rule to retrieve. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. accountName +// is the name of the Data Lake Analytics account from which to get the firewall rule. firewallRuleName is the name of +// the firewall rule to retrieve. func (client FirewallRulesClient) Get(resourceGroupName string, accountName string, firewallRuleName string) (result FirewallRule, err error) { req, err := client.GetPreparer(resourceGroupName, accountName, firewallRuleName) if err != nil { @@ -264,12 +254,10 @@ func (client FirewallRulesClient) GetResponder(resp *http.Response) (result Fire return } -// ListByAccount lists the Data Lake Analytics firewall rules within the -// specified Data Lake Analytics account. +// ListByAccount lists the Data Lake Analytics firewall rules within the specified Data Lake Analytics account. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Analytics account. accountName is the name of the Data Lake -// Analytics account from which to get the firewall rules. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. accountName +// is the name of the Data Lake Analytics account from which to get the firewall rules. func (client FirewallRulesClient) ListByAccount(resourceGroupName string, accountName string) (result DataLakeAnalyticsFirewallRuleListResult, err error) { req, err := client.ListByAccountPreparer(resourceGroupName, accountName) if err != nil { @@ -356,13 +344,56 @@ func (client FirewallRulesClient) ListByAccountNextResults(lastResults DataLakeA return } +// ListByAccountComplete gets all elements from the list without paging. +func (client FirewallRulesClient) ListByAccountComplete(resourceGroupName string, accountName string, cancel <-chan struct{}) (<-chan FirewallRule, <-chan error) { + resultChan := make(chan FirewallRule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByAccount(resourceGroupName, accountName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByAccountNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update updates the specified firewall rule. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Analytics account. accountName is the name of the Data Lake -// Analytics account to which to update the firewall rule. firewallRuleName is -// the name of the firewall rule to update. parameters is parameters supplied -// to update the firewall rule. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. accountName +// is the name of the Data Lake Analytics account to which to update the firewall rule. firewallRuleName is the name of +// the firewall rule to update. parameters is parameters supplied to update the firewall rule. func (client FirewallRulesClient) Update(resourceGroupName string, accountName string, firewallRuleName string, parameters *UpdateFirewallRuleParameters) (result FirewallRule, err error) { req, err := client.UpdatePreparer(resourceGroupName, accountName, firewallRuleName, parameters) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/accountgroup.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/group.go old mode 100755 new mode 100644 similarity index 79% rename from vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/accountgroup.go rename to vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/group.go index e1791b1da..553040198 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/accountgroup.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/group.go @@ -14,9 +14,8 @@ package account // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// GroupClient is the creates an Azure Data Lake Analytics account management -// client. +// GroupClient is the creates an Azure Data Lake Analytics account management client. type GroupClient struct { ManagementClient } @@ -41,15 +39,12 @@ func NewGroupClientWithBaseURI(baseURI string, subscriptionID string) GroupClien return GroupClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Create creates the specified Data Lake Analytics account. This supplies the -// user with computation services for Data Lake Analytics workloads This method -// may poll for completion. Polling can be canceled by passing the cancel -// channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// Create creates the specified Data Lake Analytics account. This supplies the user with computation services for Data +// Lake Analytics workloads This method may poll for completion. Polling can be canceled by passing the cancel channel +// argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Analytics account.the account will be associated with. accountName -// is the name of the Data Lake Analytics account to create. parameters is +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account.the account +// will be associated with. accountName is the name of the Data Lake Analytics account to create. parameters is // parameters supplied to the create Data Lake Analytics account operation. func (client GroupClient) Create(resourceGroupName string, accountName string, parameters DataLakeAnalyticsAccount, cancel <-chan struct{}) (<-chan DataLakeAnalyticsAccount, <-chan error) { resultChan := make(chan DataLakeAnalyticsAccount, 1) @@ -67,6 +62,10 @@ func (client GroupClient) Create(resourceGroupName string, accountName string, p {Target: "parameters.DataLakeAnalyticsAccountProperties.MaxJobCount", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "parameters.DataLakeAnalyticsAccountProperties.MaxJobCount", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}}}, {Target: "parameters.DataLakeAnalyticsAccountProperties.DataLakeStoreAccounts", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.DataLakeAnalyticsAccountProperties.MaxDegreeOfParallelismPerJob", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.DataLakeAnalyticsAccountProperties.MaxDegreeOfParallelismPerJob", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}}}, + {Target: "parameters.DataLakeAnalyticsAccountProperties.MinPriorityPerJob", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.DataLakeAnalyticsAccountProperties.MinPriorityPerJob", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}}}, }}}}}); err != nil { errChan <- validation.NewErrorWithValidationError(err, "account.GroupClient", "Create") close(errChan) @@ -78,8 +77,10 @@ func (client GroupClient) Create(resourceGroupName string, accountName string, p var err error var result DataLakeAnalyticsAccount defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -141,21 +142,19 @@ func (client GroupClient) CreateResponder(resp *http.Response) (result DataLakeA err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusCreated, http.StatusOK), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// Delete begins the delete delete process for the Data Lake Analytics account -// object specified by the account name. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// Delete begins the delete process for the Data Lake Analytics account object specified by the account name. This +// method may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be +// used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Analytics account. accountName is the name of the Data Lake -// Analytics account to delete +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. accountName +// is the name of the Data Lake Analytics account to delete func (client GroupClient) Delete(resourceGroupName string, accountName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -163,8 +162,10 @@ func (client GroupClient) Delete(resourceGroupName string, accountName string, c var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -232,9 +233,8 @@ func (client GroupClient) DeleteResponder(resp *http.Response) (result autorest. // Get gets details of the specified Data Lake Analytics account. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Analytics account. accountName is the name of the Data Lake -// Analytics account to retrieve. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. accountName +// is the name of the Data Lake Analytics account to retrieve. func (client GroupClient) Get(resourceGroupName string, accountName string) (result DataLakeAnalyticsAccount, err error) { req, err := client.GetPreparer(resourceGroupName, accountName) if err != nil { @@ -297,19 +297,16 @@ func (client GroupClient) GetResponder(resp *http.Response) (result DataLakeAnal return } -// List gets the first page of Data Lake Analytics accounts, if any, within the -// current subscription. This includes a link to the next page, if any. +// List gets the first page of Data Lake Analytics accounts, if any, within the current subscription. This includes a +// link to the next page, if any. // -// filter is oData filter. Optional. top is the number of items to return. -// Optional. skip is the number of items to skip over before returning -// elements. Optional. selectParameter is oData Select statement. Limits the -// properties on each entry to just those requested, e.g. -// Categories?$select=CategoryName,Description. Optional. orderby is orderBy -// clause. One or more comma-separated expressions with an optional "asc" (the -// default) or "desc" depending on the order you'd like the values sorted, e.g. -// Categories?$orderby=CategoryName desc. Optional. count is the Boolean value -// of true or false to request a count of the matching resources included with -// the resources in the response, e.g. Categories?$count=true. Optional. +// filter is oData filter. Optional. top is the number of items to return. Optional. skip is the number of items to +// skip over before returning elements. Optional. selectParameter is oData Select statement. Limits the properties on +// each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional. orderby is orderBy +// clause. One or more comma-separated expressions with an optional "asc" (the default) or "desc" depending on the +// order you'd like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional. count is the Boolean value +// of true or false to request a count of the matching resources included with the resources in the response, e.g. +// Categories?$count=true. Optional. func (client GroupClient) List(filter string, top *int32, skip *int32, selectParameter string, orderby string, count *bool) (result DataLakeAnalyticsAccountListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: top, @@ -422,21 +419,62 @@ func (client GroupClient) ListNextResults(lastResults DataLakeAnalyticsAccountLi return } -// ListByResourceGroup gets the first page of Data Lake Analytics accounts, if -// any, within a specific resource group. This includes a link to the next -// page, if any. +// ListComplete gets all elements from the list without paging. +func (client GroupClient) ListComplete(filter string, top *int32, skip *int32, selectParameter string, orderby string, count *bool, cancel <-chan struct{}) (<-chan DataLakeAnalyticsAccountBasic, <-chan error) { + resultChan := make(chan DataLakeAnalyticsAccountBasic) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(filter, top, skip, selectParameter, orderby, count) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListByResourceGroup gets the first page of Data Lake Analytics accounts, if any, within a specific resource group. +// This includes a link to the next page, if any. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Analytics account. filter is oData filter. Optional. top is the -// number of items to return. Optional. skip is the number of items to skip -// over before returning elements. Optional. selectParameter is oData Select -// statement. Limits the properties on each entry to just those requested, e.g. -// Categories?$select=CategoryName,Description. Optional. orderby is orderBy -// clause. One or more comma-separated expressions with an optional "asc" (the -// default) or "desc" depending on the order you'd like the values sorted, e.g. -// Categories?$orderby=CategoryName desc. Optional. count is the Boolean value -// of true or false to request a count of the matching resources included with -// the resources in the response, e.g. Categories?$count=true. Optional. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. filter is +// oData filter. Optional. top is the number of items to return. Optional. skip is the number of items to skip over +// before returning elements. Optional. selectParameter is oData Select statement. Limits the properties on each entry +// to just those requested, e.g. Categories?$select=CategoryName,Description. Optional. orderby is orderBy clause. One +// or more comma-separated expressions with an optional "asc" (the default) or "desc" depending on the order you'd like +// the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional. count is the Boolean value of true or false +// to request a count of the matching resources included with the resources in the response, e.g. +// Categories?$count=true. Optional. func (client GroupClient) ListByResourceGroup(resourceGroupName string, filter string, top *int32, skip *int32, selectParameter string, orderby string, count *bool) (result DataLakeAnalyticsAccountListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: top, @@ -550,16 +588,58 @@ func (client GroupClient) ListByResourceGroupNextResults(lastResults DataLakeAna return } -// Update updates the Data Lake Analytics account object specified by the -// accountName with the contents of the account object. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client GroupClient) ListByResourceGroupComplete(resourceGroupName string, filter string, top *int32, skip *int32, selectParameter string, orderby string, count *bool, cancel <-chan struct{}) (<-chan DataLakeAnalyticsAccountBasic, <-chan error) { + resultChan := make(chan DataLakeAnalyticsAccountBasic) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName, filter, top, skip, selectParameter, orderby, count) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// Update updates the Data Lake Analytics account object specified by the accountName with the contents of the account +// object. This method may poll for completion. Polling can be canceled by passing the cancel channel argument. The +// channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Analytics account. accountName is the name of the Data Lake -// Analytics account to update. parameters is parameters supplied to the update -// Data Lake Analytics account operation. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. accountName +// is the name of the Data Lake Analytics account to update. parameters is parameters supplied to the update Data Lake +// Analytics account operation. func (client GroupClient) Update(resourceGroupName string, accountName string, parameters *DataLakeAnalyticsAccountUpdateParameters, cancel <-chan struct{}) (<-chan DataLakeAnalyticsAccount, <-chan error) { resultChan := make(chan DataLakeAnalyticsAccount, 1) errChan := make(chan error, 1) @@ -567,8 +647,10 @@ func (client GroupClient) Update(resourceGroupName string, accountName string, p var err error var result DataLakeAnalyticsAccount defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/models.go index 8ca7a8d2a..b05516f36 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/models.go @@ -14,70 +14,68 @@ package account // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/date" "github.com/Azure/go-autorest/autorest/to" + uuid "github.com/satori/go.uuid" "net/http" ) -// DataLakeAnalyticsAccountState enumerates the values for data lake analytics -// account state. +// AADObjectType enumerates the values for aad object type. +type AADObjectType string + +const ( + // Group specifies the group state for aad object type. + Group AADObjectType = "Group" + // ServicePrincipal specifies the service principal state for aad object type. + ServicePrincipal AADObjectType = "ServicePrincipal" + // User specifies the user state for aad object type. + User AADObjectType = "User" +) + +// DataLakeAnalyticsAccountState enumerates the values for data lake analytics account state. type DataLakeAnalyticsAccountState string const ( // Active specifies the active state for data lake analytics account state. Active DataLakeAnalyticsAccountState = "Active" - // Suspended specifies the suspended state for data lake analytics account - // state. + // Suspended specifies the suspended state for data lake analytics account state. Suspended DataLakeAnalyticsAccountState = "Suspended" ) -// DataLakeAnalyticsAccountStatus enumerates the values for data lake analytics -// account status. +// DataLakeAnalyticsAccountStatus enumerates the values for data lake analytics account status. type DataLakeAnalyticsAccountStatus string const ( - // Creating specifies the creating state for data lake analytics account - // status. + // Creating specifies the creating state for data lake analytics account status. Creating DataLakeAnalyticsAccountStatus = "Creating" - // Deleted specifies the deleted state for data lake analytics account - // status. + // Deleted specifies the deleted state for data lake analytics account status. Deleted DataLakeAnalyticsAccountStatus = "Deleted" - // Deleting specifies the deleting state for data lake analytics account - // status. + // Deleting specifies the deleting state for data lake analytics account status. Deleting DataLakeAnalyticsAccountStatus = "Deleting" - // Failed specifies the failed state for data lake analytics account - // status. + // Failed specifies the failed state for data lake analytics account status. Failed DataLakeAnalyticsAccountStatus = "Failed" - // Patching specifies the patching state for data lake analytics account - // status. + // Patching specifies the patching state for data lake analytics account status. Patching DataLakeAnalyticsAccountStatus = "Patching" - // Resuming specifies the resuming state for data lake analytics account - // status. + // Resuming specifies the resuming state for data lake analytics account status. Resuming DataLakeAnalyticsAccountStatus = "Resuming" - // Running specifies the running state for data lake analytics account - // status. + // Running specifies the running state for data lake analytics account status. Running DataLakeAnalyticsAccountStatus = "Running" - // Succeeded specifies the succeeded state for data lake analytics account - // status. + // Succeeded specifies the succeeded state for data lake analytics account status. Succeeded DataLakeAnalyticsAccountStatus = "Succeeded" - // Suspending specifies the suspending state for data lake analytics - // account status. + // Suspending specifies the suspending state for data lake analytics account status. Suspending DataLakeAnalyticsAccountStatus = "Suspending" ) -// FirewallAllowAzureIpsState enumerates the values for firewall allow azure -// ips state. +// FirewallAllowAzureIpsState enumerates the values for firewall allow azure ips state. type FirewallAllowAzureIpsState string const ( - // Disabled specifies the disabled state for firewall allow azure ips - // state. + // Disabled specifies the disabled state for firewall allow azure ips state. Disabled FirewallAllowAzureIpsState = "Disabled" // Enabled specifies the enabled state for firewall allow azure ips state. Enabled FirewallAllowAzureIpsState = "Enabled" @@ -87,11 +85,9 @@ const ( type FirewallState string const ( - // FirewallStateDisabled specifies the firewall state disabled state for - // firewall state. + // FirewallStateDisabled specifies the firewall state disabled state for firewall state. FirewallStateDisabled FirewallState = "Disabled" - // FirewallStateEnabled specifies the firewall state enabled state for - // firewall state. + // FirewallStateEnabled specifies the firewall state enabled state for firewall state. FirewallStateEnabled FirewallState = "Enabled" ) @@ -99,29 +95,21 @@ const ( type TierType string const ( - // Commitment100000AUHours specifies the commitment 100000au hours state - // for tier type. + // Commitment100000AUHours specifies the commitment 100000au hours state for tier type. Commitment100000AUHours TierType = "Commitment_100000AUHours" - // Commitment10000AUHours specifies the commitment 10000au hours state for - // tier type. + // Commitment10000AUHours specifies the commitment 10000au hours state for tier type. Commitment10000AUHours TierType = "Commitment_10000AUHours" - // Commitment1000AUHours specifies the commitment 1000au hours state for - // tier type. + // Commitment1000AUHours specifies the commitment 1000au hours state for tier type. Commitment1000AUHours TierType = "Commitment_1000AUHours" - // Commitment100AUHours specifies the commitment 100au hours state for tier - // type. + // Commitment100AUHours specifies the commitment 100au hours state for tier type. Commitment100AUHours TierType = "Commitment_100AUHours" - // Commitment500000AUHours specifies the commitment 500000au hours state - // for tier type. + // Commitment500000AUHours specifies the commitment 500000au hours state for tier type. Commitment500000AUHours TierType = "Commitment_500000AUHours" - // Commitment50000AUHours specifies the commitment 50000au hours state for - // tier type. + // Commitment50000AUHours specifies the commitment 50000au hours state for tier type. Commitment50000AUHours TierType = "Commitment_50000AUHours" - // Commitment5000AUHours specifies the commitment 5000au hours state for - // tier type. + // Commitment5000AUHours specifies the commitment 5000au hours state for tier type. Commitment5000AUHours TierType = "Commitment_5000AUHours" - // Commitment500AUHours specifies the commitment 500au hours state for tier - // type. + // Commitment500AUHours specifies the commitment 500au hours state for tier type. Commitment500AUHours TierType = "Commitment_500AUHours" // Consumption specifies the consumption state for tier type. Consumption TierType = "Consumption" @@ -132,14 +120,67 @@ type AddDataLakeStoreParameters struct { *DataLakeStoreAccountInfoProperties `json:"properties,omitempty"` } -// AddStorageAccountParameters is storage account parameters for a storage -// account being added to a Data Lake Analytics account. +// AddStorageAccountParameters is storage account parameters for a storage account being added to a Data Lake Analytics +// account. type AddStorageAccountParameters struct { *StorageAccountProperties `json:"properties,omitempty"` } -// DataLakeAnalyticsAccount is a Data Lake Analytics account object, containing -// all information associated with the named Data Lake Analytics account. +// ComputePolicy is the parameters used to create a new compute policy. +type ComputePolicy struct { + autorest.Response `json:"-"` + Name *string `json:"name,omitempty"` + *ComputePolicyProperties `json:"properties,omitempty"` +} + +// ComputePolicyAccountCreateParameters is the parameters used to create a new compute policy. +type ComputePolicyAccountCreateParameters struct { + Name *string `json:"name,omitempty"` + *ComputePolicyPropertiesCreateParameters `json:"properties,omitempty"` +} + +// ComputePolicyCreateOrUpdateParameters is the parameters used to create a new compute policy. +type ComputePolicyCreateOrUpdateParameters struct { + *ComputePolicyPropertiesCreateParameters `json:"properties,omitempty"` +} + +// ComputePolicyListResult is the list of compute policies in the account. +type ComputePolicyListResult struct { + autorest.Response `json:"-"` + Value *[]ComputePolicy `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// ComputePolicyListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client ComputePolicyListResult) ComputePolicyListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// ComputePolicyProperties is the compute policy properties to use when creating a new compute policy +type ComputePolicyProperties struct { + ObjectID *uuid.UUID `json:"objectId,omitempty"` + ObjectType AADObjectType `json:"objectType,omitempty"` + MaxDegreeOfParallelismPerJob *int32 `json:"maxDegreeOfParallelismPerJob,omitempty"` + MinPriorityPerJob *int32 `json:"minPriorityPerJob,omitempty"` +} + +// ComputePolicyPropertiesCreateParameters is the compute policy properties to use when creating a new compute policy +type ComputePolicyPropertiesCreateParameters struct { + ObjectID *uuid.UUID `json:"objectId,omitempty"` + ObjectType AADObjectType `json:"objectType,omitempty"` + MaxDegreeOfParallelismPerJob *int32 `json:"maxDegreeOfParallelismPerJob,omitempty"` + MinPriorityPerJob *int32 `json:"minPriorityPerJob,omitempty"` +} + +// DataLakeAnalyticsAccount is a Data Lake Analytics account object, containing all information associated with the +// named Data Lake Analytics account. type DataLakeAnalyticsAccount struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -150,8 +191,18 @@ type DataLakeAnalyticsAccount struct { *DataLakeAnalyticsAccountProperties `json:"properties,omitempty"` } -// DataLakeAnalyticsAccountListDataLakeStoreResult is data Lake Account list -// information. +// DataLakeAnalyticsAccountBasic is a Data Lake Analytics account object, containing all information associated with +// the named Data Lake Analytics account. +type DataLakeAnalyticsAccountBasic struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + *DataLakeAnalyticsAccountPropertiesBasic `json:"properties,omitempty"` +} + +// DataLakeAnalyticsAccountListDataLakeStoreResult is data Lake Account list information. type DataLakeAnalyticsAccountListDataLakeStoreResult struct { autorest.Response `json:"-"` Value *[]DataLakeStoreAccountInfo `json:"value,omitempty"` @@ -170,12 +221,11 @@ func (client DataLakeAnalyticsAccountListDataLakeStoreResult) DataLakeAnalyticsA autorest.WithBaseURL(to.String(client.NextLink))) } -// DataLakeAnalyticsAccountListResult is dataLakeAnalytics Account list -// information. +// DataLakeAnalyticsAccountListResult is dataLakeAnalytics Account list information. type DataLakeAnalyticsAccountListResult struct { autorest.Response `json:"-"` - Value *[]DataLakeAnalyticsAccount `json:"value,omitempty"` - NextLink *string `json:"nextLink,omitempty"` + Value *[]DataLakeAnalyticsAccountBasic `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` } // DataLakeAnalyticsAccountListResultPreparer prepares a request to retrieve the next set of results. It returns @@ -190,8 +240,7 @@ func (client DataLakeAnalyticsAccountListResult) DataLakeAnalyticsAccountListRes autorest.WithBaseURL(to.String(client.NextLink))) } -// DataLakeAnalyticsAccountListStorageAccountsResult is azure Storage Account -// list information. +// DataLakeAnalyticsAccountListStorageAccountsResult is azure Storage Account list information. type DataLakeAnalyticsAccountListStorageAccountsResult struct { autorest.Response `json:"-"` Value *[]StorageAccountInfo `json:"value,omitempty"` @@ -210,38 +259,52 @@ func (client DataLakeAnalyticsAccountListStorageAccountsResult) DataLakeAnalytic autorest.WithBaseURL(to.String(client.NextLink))) } -// DataLakeAnalyticsAccountProperties is the account specific properties that -// are associated with an underlying Data Lake Analytics account. +// DataLakeAnalyticsAccountProperties is the account specific properties that are associated with an underlying Data +// Lake Analytics account. Returned only when retrieving a specific account. type DataLakeAnalyticsAccountProperties struct { - ProvisioningState DataLakeAnalyticsAccountStatus `json:"provisioningState,omitempty"` - State DataLakeAnalyticsAccountState `json:"state,omitempty"` - DefaultDataLakeStoreAccount *string `json:"defaultDataLakeStoreAccount,omitempty"` - MaxDegreeOfParallelism *int32 `json:"maxDegreeOfParallelism,omitempty"` - QueryStoreRetention *int32 `json:"queryStoreRetention,omitempty"` - MaxJobCount *int32 `json:"maxJobCount,omitempty"` - SystemMaxDegreeOfParallelism *int32 `json:"systemMaxDegreeOfParallelism,omitempty"` - SystemMaxJobCount *int32 `json:"systemMaxJobCount,omitempty"` - DataLakeStoreAccounts *[]DataLakeStoreAccountInfo `json:"dataLakeStoreAccounts,omitempty"` - StorageAccounts *[]StorageAccountInfo `json:"storageAccounts,omitempty"` - CreationTime *date.Time `json:"creationTime,omitempty"` - LastModifiedTime *date.Time `json:"lastModifiedTime,omitempty"` - Endpoint *string `json:"endpoint,omitempty"` - NewTier TierType `json:"newTier,omitempty"` - CurrentTier TierType `json:"currentTier,omitempty"` - FirewallState FirewallState `json:"firewallState,omitempty"` - FirewallAllowAzureIps FirewallAllowAzureIpsState `json:"firewallAllowAzureIps,omitempty"` - FirewallRules *[]FirewallRule `json:"firewallRules,omitempty"` + ProvisioningState DataLakeAnalyticsAccountStatus `json:"provisioningState,omitempty"` + State DataLakeAnalyticsAccountState `json:"state,omitempty"` + CreationTime *date.Time `json:"creationTime,omitempty"` + LastModifiedTime *date.Time `json:"lastModifiedTime,omitempty"` + Endpoint *string `json:"endpoint,omitempty"` + AccountID *uuid.UUID `json:"accountId,omitempty"` + DefaultDataLakeStoreAccount *string `json:"defaultDataLakeStoreAccount,omitempty"` + MaxDegreeOfParallelism *int32 `json:"maxDegreeOfParallelism,omitempty"` + QueryStoreRetention *int32 `json:"queryStoreRetention,omitempty"` + MaxJobCount *int32 `json:"maxJobCount,omitempty"` + SystemMaxDegreeOfParallelism *int32 `json:"systemMaxDegreeOfParallelism,omitempty"` + SystemMaxJobCount *int32 `json:"systemMaxJobCount,omitempty"` + DataLakeStoreAccounts *[]DataLakeStoreAccountInfo `json:"dataLakeStoreAccounts,omitempty"` + StorageAccounts *[]StorageAccountInfo `json:"storageAccounts,omitempty"` + NewTier TierType `json:"newTier,omitempty"` + CurrentTier TierType `json:"currentTier,omitempty"` + FirewallState FirewallState `json:"firewallState,omitempty"` + FirewallAllowAzureIps FirewallAllowAzureIpsState `json:"firewallAllowAzureIps,omitempty"` + FirewallRules *[]FirewallRule `json:"firewallRules,omitempty"` + MaxDegreeOfParallelismPerJob *int32 `json:"maxDegreeOfParallelismPerJob,omitempty"` + MinPriorityPerJob *int32 `json:"minPriorityPerJob,omitempty"` + ComputePolicies *[]ComputePolicyAccountCreateParameters `json:"computePolicies,omitempty"` } -// DataLakeAnalyticsAccountUpdateParameters is the parameters that can be used -// to update an existing Data Lake Analytics account. +// DataLakeAnalyticsAccountPropertiesBasic is the basic account specific properties that are associated with an +// underlying Data Lake Analytics account. +type DataLakeAnalyticsAccountPropertiesBasic struct { + ProvisioningState DataLakeAnalyticsAccountStatus `json:"provisioningState,omitempty"` + State DataLakeAnalyticsAccountState `json:"state,omitempty"` + CreationTime *date.Time `json:"creationTime,omitempty"` + LastModifiedTime *date.Time `json:"lastModifiedTime,omitempty"` + Endpoint *string `json:"endpoint,omitempty"` + AccountID *uuid.UUID `json:"accountId,omitempty"` +} + +// DataLakeAnalyticsAccountUpdateParameters is the parameters that can be used to update an existing Data Lake +// Analytics account. type DataLakeAnalyticsAccountUpdateParameters struct { Tags *map[string]*string `json:"tags,omitempty"` *UpdateDataLakeAnalyticsAccountProperties `json:"properties,omitempty"` } -// DataLakeAnalyticsFirewallRuleListResult is data Lake Analytics firewall rule -// list information. +// DataLakeAnalyticsFirewallRuleListResult is data Lake Analytics firewall rule list information. type DataLakeAnalyticsFirewallRuleListResult struct { autorest.Response `json:"-"` Value *[]FirewallRule `json:"value,omitempty"` @@ -269,8 +332,7 @@ type DataLakeStoreAccountInfo struct { *DataLakeStoreAccountInfoProperties `json:"properties,omitempty"` } -// DataLakeStoreAccountInfoProperties is data Lake Store account properties -// information. +// DataLakeStoreAccountInfoProperties is data Lake Store account properties information. type DataLakeStoreAccountInfoProperties struct { Suffix *string `json:"suffix,omitempty"` } @@ -284,15 +346,14 @@ type FirewallRule struct { *FirewallRuleProperties `json:"properties,omitempty"` } -// FirewallRuleProperties is data Lake Analytics firewall rule properties -// information +// FirewallRuleProperties is data Lake Analytics firewall rule properties information type FirewallRuleProperties struct { StartIPAddress *string `json:"startIpAddress,omitempty"` EndIPAddress *string `json:"endIpAddress,omitempty"` } -// ListSasTokensResult is the SAS response that contains the storage account, -// container and associated SAS token for connection use. +// ListSasTokensResult is the SAS response that contains the storage account, container and associated SAS token for +// connection use. type ListSasTokensResult struct { autorest.Response `json:"-"` Value *[]SasTokenInfo `json:"value,omitempty"` @@ -311,8 +372,8 @@ func (client ListSasTokensResult) ListSasTokensResultPreparer() (*http.Request, autorest.WithBaseURL(to.String(client.NextLink))) } -// ListStorageContainersResult is the list of blob containers associated with -// the storage account attached to the Data Lake Analytics account. +// ListStorageContainersResult is the list of blob containers associated with the storage account attached to the Data +// Lake Analytics account. type ListStorageContainersResult struct { autorest.Response `json:"-"` Value *[]StorageContainer `json:"value,omitempty"` @@ -331,8 +392,7 @@ func (client ListStorageContainersResult) ListStorageContainersResultPreparer() autorest.WithBaseURL(to.String(client.NextLink))) } -// OptionalSubResource is the Resource model definition for a nested resource -// with no required properties. +// OptionalSubResource is the Resource model definition for a nested resource with no required properties. type OptionalSubResource struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` @@ -348,7 +408,7 @@ type Resource struct { Tags *map[string]*string `json:"tags,omitempty"` } -// SasTokenInfo is sAS token information. +// SasTokenInfo is SAS token information. type SasTokenInfo struct { AccessToken *string `json:"accessToken,omitempty"` } @@ -371,14 +431,13 @@ type StorageAccountProperties struct { // StorageContainer is azure Storage blob container information. type StorageContainer struct { autorest.Response `json:"-"` - Name *string `json:"name,omitempty"` ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` *StorageContainerProperties `json:"properties,omitempty"` } -// StorageContainerProperties is azure Storage blob container properties -// information. +// StorageContainerProperties is azure Storage blob container properties information. type StorageContainerProperties struct { LastModifiedTime *date.Time `json:"lastModifiedTime,omitempty"` } @@ -390,39 +449,39 @@ type SubResource struct { Type *string `json:"type,omitempty"` } -// UpdateDataLakeAnalyticsAccountProperties is the properties to update that -// are associated with an underlying Data Lake Analytics account to. +// UpdateDataLakeAnalyticsAccountProperties is the properties to update that are associated with an underlying Data +// Lake Analytics account to. type UpdateDataLakeAnalyticsAccountProperties struct { - MaxDegreeOfParallelism *int32 `json:"maxDegreeOfParallelism,omitempty"` - QueryStoreRetention *int32 `json:"queryStoreRetention,omitempty"` - MaxJobCount *int32 `json:"maxJobCount,omitempty"` - NewTier TierType `json:"newTier,omitempty"` - FirewallState FirewallState `json:"firewallState,omitempty"` - FirewallAllowAzureIps FirewallAllowAzureIpsState `json:"firewallAllowAzureIps,omitempty"` - FirewallRules *[]FirewallRule `json:"firewallRules,omitempty"` + MaxDegreeOfParallelism *int32 `json:"maxDegreeOfParallelism,omitempty"` + QueryStoreRetention *int32 `json:"queryStoreRetention,omitempty"` + MaxJobCount *int32 `json:"maxJobCount,omitempty"` + NewTier TierType `json:"newTier,omitempty"` + FirewallState FirewallState `json:"firewallState,omitempty"` + FirewallAllowAzureIps FirewallAllowAzureIpsState `json:"firewallAllowAzureIps,omitempty"` + FirewallRules *[]FirewallRule `json:"firewallRules,omitempty"` + MaxDegreeOfParallelismPerJob *int32 `json:"maxDegreeOfParallelismPerJob,omitempty"` + MinPriorityPerJob *int32 `json:"minPriorityPerJob,omitempty"` + ComputePolicies *[]ComputePolicy `json:"computePolicies,omitempty"` } -// UpdateFirewallRuleParameters is data Lake Analytics firewall rule update -// parameters +// UpdateFirewallRuleParameters is data Lake Analytics firewall rule update parameters type UpdateFirewallRuleParameters struct { *UpdateFirewallRuleProperties `json:"properties,omitempty"` } -// UpdateFirewallRuleProperties is data Lake Analytics firewall rule properties -// information +// UpdateFirewallRuleProperties is data Lake Analytics firewall rule properties information type UpdateFirewallRuleProperties struct { StartIPAddress *string `json:"startIpAddress,omitempty"` EndIPAddress *string `json:"endIpAddress,omitempty"` } -// UpdateStorageAccountParameters is storage account parameters for a storage -// account being updated in a Data Lake Analytics account. +// UpdateStorageAccountParameters is storage account parameters for a storage account being updated in a Data Lake +// Analytics account. type UpdateStorageAccountParameters struct { *UpdateStorageAccountProperties `json:"properties,omitempty"` } -// UpdateStorageAccountProperties is azure Storage account properties -// information to update. +// UpdateStorageAccountProperties is azure Storage account properties information to update. type UpdateStorageAccountProperties struct { AccessKey *string `json:"accessKey,omitempty"` Suffix *string `json:"suffix,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/storageaccounts.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/storageaccounts.go index d0f823938..388368f20 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/storageaccounts.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/storageaccounts.go @@ -14,9 +14,8 @@ package account // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,32 +24,26 @@ import ( "net/http" ) -// StorageAccountsClient is the creates an Azure Data Lake Analytics account -// management client. +// StorageAccountsClient is the creates an Azure Data Lake Analytics account management client. type StorageAccountsClient struct { ManagementClient } -// NewStorageAccountsClient creates an instance of the StorageAccountsClient -// client. +// NewStorageAccountsClient creates an instance of the StorageAccountsClient client. func NewStorageAccountsClient(subscriptionID string) StorageAccountsClient { return NewStorageAccountsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewStorageAccountsClientWithBaseURI creates an instance of the -// StorageAccountsClient client. +// NewStorageAccountsClientWithBaseURI creates an instance of the StorageAccountsClient client. func NewStorageAccountsClientWithBaseURI(baseURI string, subscriptionID string) StorageAccountsClient { return StorageAccountsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Add updates the specified Data Lake Analytics account to add an Azure -// Storage account. +// Add updates the specified Data Lake Analytics account to add an Azure Storage account. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Analytics account. accountName is the name of the Data Lake -// Analytics account to which to add the Azure Storage account. -// storageAccountName is the name of the Azure Storage account to add -// parameters is the parameters containing the access key and optional suffix +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. accountName +// is the name of the Data Lake Analytics account to which to add the Azure Storage account. storageAccountName is the +// name of the Azure Storage account to add parameters is the parameters containing the access key and optional suffix // for the Azure Storage Account. func (client StorageAccountsClient) Add(resourceGroupName string, accountName string, storageAccountName string, parameters AddStorageAccountParameters) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ @@ -123,13 +116,11 @@ func (client StorageAccountsClient) AddResponder(resp *http.Response) (result au return } -// Delete updates the specified Data Lake Analytics account to remove an Azure -// Storage account. +// Delete updates the specified Data Lake Analytics account to remove an Azure Storage account. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Analytics account. accountName is the name of the Data Lake -// Analytics account from which to remove the Azure Storage account. -// storageAccountName is the name of the Azure Storage account to remove +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. accountName +// is the name of the Data Lake Analytics account from which to remove the Azure Storage account. storageAccountName is +// the name of the Azure Storage account to remove func (client StorageAccountsClient) Delete(resourceGroupName string, accountName string, storageAccountName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, accountName, storageAccountName) if err != nil { @@ -192,14 +183,11 @@ func (client StorageAccountsClient) DeleteResponder(resp *http.Response) (result return } -// Get gets the specified Azure Storage account linked to the given Data Lake -// Analytics account. +// Get gets the specified Azure Storage account linked to the given Data Lake Analytics account. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Analytics account. accountName is the name of the Data Lake -// Analytics account from which to retrieve Azure storage account details. -// storageAccountName is the name of the Azure Storage account for which to -// retrieve the details. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. accountName +// is the name of the Data Lake Analytics account from which to retrieve Azure storage account details. +// storageAccountName is the name of the Azure Storage account for which to retrieve the details. func (client StorageAccountsClient) Get(resourceGroupName string, accountName string, storageAccountName string) (result StorageAccountInfo, err error) { req, err := client.GetPreparer(resourceGroupName, accountName, storageAccountName) if err != nil { @@ -263,15 +251,13 @@ func (client StorageAccountsClient) GetResponder(resp *http.Response) (result St return } -// GetStorageContainer gets the specified Azure Storage container associated -// with the given Data Lake Analytics and Azure Storage accounts. +// GetStorageContainer gets the specified Azure Storage container associated with the given Data Lake Analytics and +// Azure Storage accounts. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Analytics account. accountName is the name of the Data Lake -// Analytics account for which to retrieve blob container. storageAccountName -// is the name of the Azure storage account from which to retrieve the blob -// container. containerName is the name of the Azure storage container to -// retrieve +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. accountName +// is the name of the Data Lake Analytics account for which to retrieve blob container. storageAccountName is the name +// of the Azure storage account from which to retrieve the blob container. containerName is the name of the Azure +// storage container to retrieve func (client StorageAccountsClient) GetStorageContainer(resourceGroupName string, accountName string, storageAccountName string, containerName string) (result StorageContainer, err error) { req, err := client.GetStorageContainerPreparer(resourceGroupName, accountName, storageAccountName, containerName) if err != nil { @@ -336,23 +322,18 @@ func (client StorageAccountsClient) GetStorageContainerResponder(resp *http.Resp return } -// ListByAccount gets the first page of Azure Storage accounts, if any, linked -// to the specified Data Lake Analytics account. The response includes a link -// to the next page, if any. +// ListByAccount gets the first page of Azure Storage accounts, if any, linked to the specified Data Lake Analytics +// account. The response includes a link to the next page, if any. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Analytics account. accountName is the name of the Data Lake -// Analytics account for which to list Azure Storage accounts. filter is the -// OData filter. Optional. top is the number of items to return. Optional. skip -// is the number of items to skip over before returning elements. Optional. -// selectParameter is oData Select statement. Limits the properties on each -// entry to just those requested, e.g. -// Categories?$select=CategoryName,Description. Optional. orderby is orderBy -// clause. One or more comma-separated expressions with an optional "asc" (the -// default) or "desc" depending on the order you'd like the values sorted, e.g. -// Categories?$orderby=CategoryName desc. Optional. count is the Boolean value -// of true or false to request a count of the matching resources included with -// the resources in the response, e.g. Categories?$count=true. Optional. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. accountName +// is the name of the Data Lake Analytics account for which to list Azure Storage accounts. filter is the OData filter. +// Optional. top is the number of items to return. Optional. skip is the number of items to skip over before returning +// elements. Optional. selectParameter is oData Select statement. Limits the properties on each entry to just those +// requested, e.g. Categories?$select=CategoryName,Description. Optional. orderby is orderBy clause. One or more +// comma-separated expressions with an optional "asc" (the default) or "desc" depending on the order you'd like the +// values sorted, e.g. Categories?$orderby=CategoryName desc. Optional. count is the Boolean value of true or false to +// request a count of the matching resources included with the resources in the response, e.g. Categories?$count=true. +// Optional. func (client StorageAccountsClient) ListByAccount(resourceGroupName string, accountName string, filter string, top *int32, skip *int32, selectParameter string, orderby string, count *bool) (result DataLakeAnalyticsAccountListStorageAccountsResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: top, @@ -467,15 +448,58 @@ func (client StorageAccountsClient) ListByAccountNextResults(lastResults DataLak return } -// ListSasTokens gets the SAS token associated with the specified Data Lake -// Analytics and Azure Storage account and container combination. +// ListByAccountComplete gets all elements from the list without paging. +func (client StorageAccountsClient) ListByAccountComplete(resourceGroupName string, accountName string, filter string, top *int32, skip *int32, selectParameter string, orderby string, count *bool, cancel <-chan struct{}) (<-chan StorageAccountInfo, <-chan error) { + resultChan := make(chan StorageAccountInfo) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByAccount(resourceGroupName, accountName, filter, top, skip, selectParameter, orderby, count) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByAccountNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListSasTokens gets the SAS token associated with the specified Data Lake Analytics and Azure Storage account and +// container combination. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Analytics account. accountName is the name of the Data Lake -// Analytics account from which an Azure Storage account's SAS token is being -// requested. storageAccountName is the name of the Azure storage account for -// which the SAS token is being requested. containerName is the name of the -// Azure storage container for which the SAS token is being requested. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. accountName +// is the name of the Data Lake Analytics account from which an Azure Storage account's SAS token is being requested. +// storageAccountName is the name of the Azure storage account for which the SAS token is being requested. +// containerName is the name of the Azure storage container for which the SAS token is being requested. func (client StorageAccountsClient) ListSasTokens(resourceGroupName string, accountName string, storageAccountName string, containerName string) (result ListSasTokensResult, err error) { req, err := client.ListSasTokensPreparer(resourceGroupName, accountName, storageAccountName, containerName) if err != nil { @@ -564,16 +588,57 @@ func (client StorageAccountsClient) ListSasTokensNextResults(lastResults ListSas return } -// ListStorageContainers lists the Azure Storage containers, if any, associated -// with the specified Data Lake Analytics and Azure Storage account -// combination. The response includes a link to the next page of results, if -// any. +// ListSasTokensComplete gets all elements from the list without paging. +func (client StorageAccountsClient) ListSasTokensComplete(resourceGroupName string, accountName string, storageAccountName string, containerName string, cancel <-chan struct{}) (<-chan SasTokenInfo, <-chan error) { + resultChan := make(chan SasTokenInfo) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListSasTokens(resourceGroupName, accountName, storageAccountName, containerName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListSasTokensNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListStorageContainers lists the Azure Storage containers, if any, associated with the specified Data Lake Analytics +// and Azure Storage account combination. The response includes a link to the next page of results, if any. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Analytics account. accountName is the name of the Data Lake -// Analytics account for which to list Azure Storage blob containers. -// storageAccountName is the name of the Azure storage account from which to -// list blob containers. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. accountName +// is the name of the Data Lake Analytics account for which to list Azure Storage blob containers. storageAccountName +// is the name of the Azure storage account from which to list blob containers. func (client StorageAccountsClient) ListStorageContainers(resourceGroupName string, accountName string, storageAccountName string) (result ListStorageContainersResult, err error) { req, err := client.ListStorageContainersPreparer(resourceGroupName, accountName, storageAccountName) if err != nil { @@ -661,15 +726,58 @@ func (client StorageAccountsClient) ListStorageContainersNextResults(lastResults return } -// Update updates the Data Lake Analytics account to replace Azure Storage blob -// account details, such as the access key and/or suffix. +// ListStorageContainersComplete gets all elements from the list without paging. +func (client StorageAccountsClient) ListStorageContainersComplete(resourceGroupName string, accountName string, storageAccountName string, cancel <-chan struct{}) (<-chan StorageContainer, <-chan error) { + resultChan := make(chan StorageContainer) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListStorageContainers(resourceGroupName, accountName, storageAccountName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListStorageContainersNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// Update updates the Data Lake Analytics account to replace Azure Storage blob account details, such as the access key +// and/or suffix. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Analytics account. accountName is the name of the Data Lake -// Analytics account to modify storage accounts in storageAccountName is the -// Azure Storage account to modify parameters is the parameters containing the -// access key and suffix to update the storage account with, if any. Passing -// nothing results in no change. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Analytics account. accountName +// is the name of the Data Lake Analytics account to modify storage accounts in storageAccountName is the Azure Storage +// account to modify parameters is the parameters containing the access key and suffix to update the storage account +// with, if any. Passing nothing results in no change. func (client StorageAccountsClient) Update(resourceGroupName string, accountName string, storageAccountName string, parameters *UpdateStorageAccountParameters) (result autorest.Response, err error) { req, err := client.UpdatePreparer(resourceGroupName, accountName, storageAccountName, parameters) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/version.go index 5fd97ef7b..b6ccc9741 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-analytics/account/version.go @@ -14,16 +14,15 @@ package account // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-account/2016-11-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-account/2016-11-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/client.go index b48c790c3..63e0e7f5f 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/client.go @@ -1,5 +1,4 @@ -// Package account implements the Azure ARM Account service API version -// 2016-11-01. +// Package account implements the Azure ARM Account service API version 2016-11-01. // // Creates an Azure Data Lake Store account management client. package account @@ -18,9 +17,8 @@ package account // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/firewallrules.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/firewallrules.go index cd27b5ee1..4e2998723 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/firewallrules.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/firewallrules.go @@ -14,9 +14,8 @@ package account // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,33 +24,27 @@ import ( "net/http" ) -// FirewallRulesClient is the creates an Azure Data Lake Store account -// management client. +// FirewallRulesClient is the creates an Azure Data Lake Store account management client. type FirewallRulesClient struct { ManagementClient } -// NewFirewallRulesClient creates an instance of the FirewallRulesClient -// client. +// NewFirewallRulesClient creates an instance of the FirewallRulesClient client. func NewFirewallRulesClient(subscriptionID string) FirewallRulesClient { return NewFirewallRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewFirewallRulesClientWithBaseURI creates an instance of the -// FirewallRulesClient client. +// NewFirewallRulesClientWithBaseURI creates an instance of the FirewallRulesClient client. func NewFirewallRulesClientWithBaseURI(baseURI string, subscriptionID string) FirewallRulesClient { return FirewallRulesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates the specified firewall rule. During -// update, the firewall rule with the specified name will be replaced with this -// new firewall rule. +// CreateOrUpdate creates or updates the specified firewall rule. During update, the firewall rule with the specified +// name will be replaced with this new firewall rule. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Store account. accountName is the name of the Data Lake Store -// account to add or replace the firewall rule. firewallRuleName is the name of -// the firewall rule to create or update. parameters is parameters supplied to -// create or update the firewall rule. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Store account. accountName is +// the name of the Data Lake Store account to add or replace the firewall rule. firewallRuleName is the name of the +// firewall rule to create or update. parameters is parameters supplied to create or update the firewall rule. func (client FirewallRulesClient) CreateOrUpdate(resourceGroupName string, accountName string, firewallRuleName string, parameters FirewallRule) (result FirewallRule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -126,13 +119,11 @@ func (client FirewallRulesClient) CreateOrUpdateResponder(resp *http.Response) ( return } -// Delete deletes the specified firewall rule from the specified Data Lake -// Store account +// Delete deletes the specified firewall rule from the specified Data Lake Store account // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Store account. accountName is the name of the Data Lake Store -// account from which to delete the firewall rule. firewallRuleName is the name -// of the firewall rule to delete. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Store account. accountName is +// the name of the Data Lake Store account from which to delete the firewall rule. firewallRuleName is the name of the +// firewall rule to delete. func (client FirewallRulesClient) Delete(resourceGroupName string, accountName string, firewallRuleName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, accountName, firewallRuleName) if err != nil { @@ -197,10 +188,9 @@ func (client FirewallRulesClient) DeleteResponder(resp *http.Response) (result a // Get gets the specified Data Lake Store firewall rule. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Store account. accountName is the name of the Data Lake Store -// account from which to get the firewall rule. firewallRuleName is the name of -// the firewall rule to retrieve. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Store account. accountName is +// the name of the Data Lake Store account from which to get the firewall rule. firewallRuleName is the name of the +// firewall rule to retrieve. func (client FirewallRulesClient) Get(resourceGroupName string, accountName string, firewallRuleName string) (result FirewallRule, err error) { req, err := client.GetPreparer(resourceGroupName, accountName, firewallRuleName) if err != nil { @@ -264,12 +254,10 @@ func (client FirewallRulesClient) GetResponder(resp *http.Response) (result Fire return } -// ListByAccount lists the Data Lake Store firewall rules within the specified -// Data Lake Store account. +// ListByAccount lists the Data Lake Store firewall rules within the specified Data Lake Store account. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Store account. accountName is the name of the Data Lake Store -// account from which to get the firewall rules. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Store account. accountName is +// the name of the Data Lake Store account from which to get the firewall rules. func (client FirewallRulesClient) ListByAccount(resourceGroupName string, accountName string) (result DataLakeStoreFirewallRuleListResult, err error) { req, err := client.ListByAccountPreparer(resourceGroupName, accountName) if err != nil { @@ -356,13 +344,56 @@ func (client FirewallRulesClient) ListByAccountNextResults(lastResults DataLakeS return } +// ListByAccountComplete gets all elements from the list without paging. +func (client FirewallRulesClient) ListByAccountComplete(resourceGroupName string, accountName string, cancel <-chan struct{}) (<-chan FirewallRule, <-chan error) { + resultChan := make(chan FirewallRule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByAccount(resourceGroupName, accountName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByAccountNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update updates the specified firewall rule. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Store account. accountName is the name of the Data Lake Store -// account to which to update the firewall rule. firewallRuleName is the name -// of the firewall rule to update. parameters is parameters supplied to update -// the firewall rule. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Store account. accountName is +// the name of the Data Lake Store account to which to update the firewall rule. firewallRuleName is the name of the +// firewall rule to update. parameters is parameters supplied to update the firewall rule. func (client FirewallRulesClient) Update(resourceGroupName string, accountName string, firewallRuleName string, parameters *UpdateFirewallRuleParameters) (result FirewallRule, err error) { req, err := client.UpdatePreparer(resourceGroupName, accountName, firewallRuleName, parameters) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/accountgroup.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/group.go old mode 100755 new mode 100644 similarity index 82% rename from vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/accountgroup.go rename to vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/group.go index 50042ad67..8f7a5c02d --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/accountgroup.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/group.go @@ -14,9 +14,8 @@ package account // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// GroupClient is the creates an Azure Data Lake Store account management -// client. +// GroupClient is the creates an Azure Data Lake Store account management client. type GroupClient struct { ManagementClient } @@ -41,14 +39,12 @@ func NewGroupClientWithBaseURI(baseURI string, subscriptionID string) GroupClien return GroupClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Create creates the specified Data Lake Store account. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// Create creates the specified Data Lake Store account. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Store account. name is the name of the Data Lake Store account to -// create. parameters is parameters supplied to create the Data Lake Store +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Store account. name is the +// name of the Data Lake Store account to create. parameters is parameters supplied to create the Data Lake Store // account. func (client GroupClient) Create(resourceGroupName string, name string, parameters DataLakeStoreAccount, cancel <-chan struct{}) (<-chan DataLakeStoreAccount, <-chan error) { resultChan := make(chan DataLakeStoreAccount, 1) @@ -76,8 +72,10 @@ func (client GroupClient) Create(resourceGroupName string, name string, paramete var err error var result DataLakeStoreAccount defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -139,21 +137,19 @@ func (client GroupClient) CreateResponder(resp *http.Response) (result DataLakeS err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusCreated, http.StatusOK), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// Delete deletes the specified Data Lake Store account. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// Delete deletes the specified Data Lake Store account. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Store account. name is the name of the Data Lake Store account to -// delete. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Store account. name is the +// name of the Data Lake Store account to delete. func (client GroupClient) Delete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -161,8 +157,10 @@ func (client GroupClient) Delete(resourceGroupName string, name string, cancel < var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -228,12 +226,10 @@ func (client GroupClient) DeleteResponder(resp *http.Response) (result autorest. return } -// EnableKeyVault attempts to enable a user managed key vault for encryption of -// the specified Data Lake Store account. +// EnableKeyVault attempts to enable a user managed Key Vault for encryption of the specified Data Lake Store account. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Store account. accountName is the name of the Data Lake Store -// account to attempt to enable the Key Vault for. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Store account. accountName is +// the name of the Data Lake Store account to attempt to enable the Key Vault for. func (client GroupClient) EnableKeyVault(resourceGroupName string, accountName string) (result autorest.Response, err error) { req, err := client.EnableKeyVaultPreparer(resourceGroupName, accountName) if err != nil { @@ -297,9 +293,8 @@ func (client GroupClient) EnableKeyVaultResponder(resp *http.Response) (result a // Get gets the specified Data Lake Store account. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Store account. name is the name of the Data Lake Store account to -// retrieve. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Store account. name is the +// name of the Data Lake Store account to retrieve. func (client GroupClient) Get(resourceGroupName string, name string) (result DataLakeStoreAccount, err error) { req, err := client.GetPreparer(resourceGroupName, name) if err != nil { @@ -362,19 +357,16 @@ func (client GroupClient) GetResponder(resp *http.Response) (result DataLakeStor return } -// List lists the Data Lake Store accounts within the subscription. The -// response includes a link to the next page of results, if any. +// List lists the Data Lake Store accounts within the subscription. The response includes a link to the next page of +// results, if any. // -// filter is oData filter. Optional. top is the number of items to return. -// Optional. skip is the number of items to skip over before returning -// elements. Optional. selectParameter is oData Select statement. Limits the -// properties on each entry to just those requested, e.g. -// Categories?$select=CategoryName,Description. Optional. orderby is orderBy -// clause. One or more comma-separated expressions with an optional "asc" (the -// default) or "desc" depending on the order you'd like the values sorted, e.g. -// Categories?$orderby=CategoryName desc. Optional. count is the Boolean value -// of true or false to request a count of the matching resources included with -// the resources in the response, e.g. Categories?$count=true. Optional. +// filter is oData filter. Optional. top is the number of items to return. Optional. skip is the number of items to +// skip over before returning elements. Optional. selectParameter is oData Select statement. Limits the properties on +// each entry to just those requested, e.g. Categories?$select=CategoryName,Description. Optional. orderby is orderBy +// clause. One or more comma-separated expressions with an optional "asc" (the default) or "desc" depending on the +// order you'd like the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional. count is the Boolean value +// of true or false to request a count of the matching resources included with the resources in the response, e.g. +// Categories?$count=true. Optional. func (client GroupClient) List(filter string, top *int32, skip *int32, selectParameter string, orderby string, count *bool) (result DataLakeStoreAccountListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: top, @@ -487,21 +479,62 @@ func (client GroupClient) ListNextResults(lastResults DataLakeStoreAccountListRe return } -// ListByResourceGroup lists the Data Lake Store accounts within a specific -// resource group. The response includes a link to the next page of results, if -// any. +// ListComplete gets all elements from the list without paging. +func (client GroupClient) ListComplete(filter string, top *int32, skip *int32, selectParameter string, orderby string, count *bool, cancel <-chan struct{}) (<-chan DataLakeStoreAccountBasic, <-chan error) { + resultChan := make(chan DataLakeStoreAccountBasic) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(filter, top, skip, selectParameter, orderby, count) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListByResourceGroup lists the Data Lake Store accounts within a specific resource group. The response includes a +// link to the next page of results, if any. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Store account(s). filter is oData filter. Optional. top is the -// number of items to return. Optional. skip is the number of items to skip -// over before returning elements. Optional. selectParameter is oData Select -// statement. Limits the properties on each entry to just those requested, e.g. -// Categories?$select=CategoryName,Description. Optional. orderby is orderBy -// clause. One or more comma-separated expressions with an optional "asc" (the -// default) or "desc" depending on the order you'd like the values sorted, e.g. -// Categories?$orderby=CategoryName desc. Optional. count is a Boolean value of -// true or false to request a count of the matching resources included with the -// resources in the response, e.g. Categories?$count=true. Optional. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Store account(s). filter is +// oData filter. Optional. top is the number of items to return. Optional. skip is the number of items to skip over +// before returning elements. Optional. selectParameter is oData Select statement. Limits the properties on each entry +// to just those requested, e.g. Categories?$select=CategoryName,Description. Optional. orderby is orderBy clause. One +// or more comma-separated expressions with an optional "asc" (the default) or "desc" depending on the order you'd like +// the values sorted, e.g. Categories?$orderby=CategoryName desc. Optional. count is a Boolean value of true or false +// to request a count of the matching resources included with the resources in the response, e.g. +// Categories?$count=true. Optional. func (client GroupClient) ListByResourceGroup(resourceGroupName string, filter string, top *int32, skip *int32, selectParameter string, orderby string, count *bool) (result DataLakeStoreAccountListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: top, @@ -615,14 +648,57 @@ func (client GroupClient) ListByResourceGroupNextResults(lastResults DataLakeSto return } -// Update updates the specified Data Lake Store account information. This -// method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client GroupClient) ListByResourceGroupComplete(resourceGroupName string, filter string, top *int32, skip *int32, selectParameter string, orderby string, count *bool, cancel <-chan struct{}) (<-chan DataLakeStoreAccountBasic, <-chan error) { + resultChan := make(chan DataLakeStoreAccountBasic) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName, filter, top, skip, selectParameter, orderby, count) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// Update updates the specified Data Lake Store account information. This method may poll for completion. Polling can +// be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding +// HTTP requests. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Store account. name is the name of the Data Lake Store account to -// update. parameters is parameters supplied to update the Data Lake Store +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Store account. name is the +// name of the Data Lake Store account to update. parameters is parameters supplied to update the Data Lake Store // account. func (client GroupClient) Update(resourceGroupName string, name string, parameters DataLakeStoreAccountUpdateParameters, cancel <-chan struct{}) (<-chan DataLakeStoreAccount, <-chan error) { resultChan := make(chan DataLakeStoreAccount, 1) @@ -631,8 +707,10 @@ func (client GroupClient) Update(resourceGroupName string, name string, paramete var err error var result DataLakeStoreAccount defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/models.go index c70781ff1..78273a087 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/models.go @@ -14,58 +14,48 @@ package account // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/date" "github.com/Azure/go-autorest/autorest/to" - "github.com/satori/uuid" + uuid "github.com/satori/go.uuid" "net/http" ) -// DataLakeStoreAccountState enumerates the values for data lake store account -// state. +// DataLakeStoreAccountState enumerates the values for data lake store account state. type DataLakeStoreAccountState string const ( // Active specifies the active state for data lake store account state. Active DataLakeStoreAccountState = "Active" - // Suspended specifies the suspended state for data lake store account - // state. + // Suspended specifies the suspended state for data lake store account state. Suspended DataLakeStoreAccountState = "Suspended" ) -// DataLakeStoreAccountStatus enumerates the values for data lake store account -// status. +// DataLakeStoreAccountStatus enumerates the values for data lake store account status. type DataLakeStoreAccountStatus string const ( - // Creating specifies the creating state for data lake store account - // status. + // Creating specifies the creating state for data lake store account status. Creating DataLakeStoreAccountStatus = "Creating" // Deleted specifies the deleted state for data lake store account status. Deleted DataLakeStoreAccountStatus = "Deleted" - // Deleting specifies the deleting state for data lake store account - // status. + // Deleting specifies the deleting state for data lake store account status. Deleting DataLakeStoreAccountStatus = "Deleting" // Failed specifies the failed state for data lake store account status. Failed DataLakeStoreAccountStatus = "Failed" - // Patching specifies the patching state for data lake store account - // status. + // Patching specifies the patching state for data lake store account status. Patching DataLakeStoreAccountStatus = "Patching" - // Resuming specifies the resuming state for data lake store account - // status. + // Resuming specifies the resuming state for data lake store account status. Resuming DataLakeStoreAccountStatus = "Resuming" // Running specifies the running state for data lake store account status. Running DataLakeStoreAccountStatus = "Running" - // Succeeded specifies the succeeded state for data lake store account - // status. + // Succeeded specifies the succeeded state for data lake store account status. Succeeded DataLakeStoreAccountStatus = "Succeeded" - // Suspending specifies the suspending state for data lake store account - // status. + // Suspending specifies the suspending state for data lake store account status. Suspending DataLakeStoreAccountStatus = "Suspending" ) @@ -73,23 +63,21 @@ const ( type EncryptionConfigType string const ( - // ServiceManaged specifies the service managed state for encryption config - // type. + // ServiceManaged specifies the service managed state for encryption config type. ServiceManaged EncryptionConfigType = "ServiceManaged" // UserManaged specifies the user managed state for encryption config type. UserManaged EncryptionConfigType = "UserManaged" ) -// EncryptionProvisioningState enumerates the values for encryption -// provisioning state. +// EncryptionProvisioningState enumerates the values for encryption provisioning state. type EncryptionProvisioningState string const ( - // EncryptionProvisioningStateCreating specifies the encryption - // provisioning state creating state for encryption provisioning state. + // EncryptionProvisioningStateCreating specifies the encryption provisioning state creating state for encryption + // provisioning state. EncryptionProvisioningStateCreating EncryptionProvisioningState = "Creating" - // EncryptionProvisioningStateSucceeded specifies the encryption - // provisioning state succeeded state for encryption provisioning state. + // EncryptionProvisioningStateSucceeded specifies the encryption provisioning state succeeded state for encryption + // provisioning state. EncryptionProvisioningStateSucceeded EncryptionProvisioningState = "Succeeded" ) @@ -103,16 +91,15 @@ const ( Enabled EncryptionState = "Enabled" ) -// FirewallAllowAzureIpsState enumerates the values for firewall allow azure -// ips state. +// FirewallAllowAzureIpsState enumerates the values for firewall allow azure ips state. type FirewallAllowAzureIpsState string const ( - // FirewallAllowAzureIpsStateDisabled specifies the firewall allow azure - // ips state disabled state for firewall allow azure ips state. + // FirewallAllowAzureIpsStateDisabled specifies the firewall allow azure ips state disabled state for firewall allow + // azure ips state. FirewallAllowAzureIpsStateDisabled FirewallAllowAzureIpsState = "Disabled" - // FirewallAllowAzureIpsStateEnabled specifies the firewall allow azure ips - // state enabled state for firewall allow azure ips state. + // FirewallAllowAzureIpsStateEnabled specifies the firewall allow azure ips state enabled state for firewall allow + // azure ips state. FirewallAllowAzureIpsStateEnabled FirewallAllowAzureIpsState = "Enabled" ) @@ -120,11 +107,9 @@ const ( type FirewallState string const ( - // FirewallStateDisabled specifies the firewall state disabled state for - // firewall state. + // FirewallStateDisabled specifies the firewall state disabled state for firewall state. FirewallStateDisabled FirewallState = "Disabled" - // FirewallStateEnabled specifies the firewall state enabled state for - // firewall state. + // FirewallStateEnabled specifies the firewall state enabled state for firewall state. FirewallStateEnabled FirewallState = "Enabled" ) @@ -152,11 +137,9 @@ const ( type TrustedIDProviderState string const ( - // TrustedIDProviderStateDisabled specifies the trusted id provider state - // disabled state for trusted id provider state. + // TrustedIDProviderStateDisabled specifies the trusted id provider state disabled state for trusted id provider state. TrustedIDProviderStateDisabled TrustedIDProviderState = "Disabled" - // TrustedIDProviderStateEnabled specifies the trusted id provider state - // enabled state for trusted id provider state. + // TrustedIDProviderStateEnabled specifies the trusted id provider state enabled state for trusted id provider state. TrustedIDProviderStateEnabled TrustedIDProviderState = "Enabled" ) @@ -172,12 +155,21 @@ type DataLakeStoreAccount struct { *DataLakeStoreAccountProperties `json:"properties,omitempty"` } -// DataLakeStoreAccountListResult is data Lake Store account list information -// response. +// DataLakeStoreAccountBasic is basic Data Lake Store account information, returned on list calls. +type DataLakeStoreAccountBasic struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + *DataLakeStoreAccountPropertiesBasic `json:"properties,omitempty"` +} + +// DataLakeStoreAccountListResult is data Lake Store account list information response. type DataLakeStoreAccountListResult struct { autorest.Response `json:"-"` - Value *[]DataLakeStoreAccount `json:"value,omitempty"` - NextLink *string `json:"nextLink,omitempty"` + Value *[]DataLakeStoreAccountBasic `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` } // DataLakeStoreAccountListResultPreparer prepares a request to retrieve the next set of results. It returns @@ -192,12 +184,14 @@ func (client DataLakeStoreAccountListResult) DataLakeStoreAccountListResultPrepa autorest.WithBaseURL(to.String(client.NextLink))) } -// DataLakeStoreAccountProperties is data Lake Store account properties -// information +// DataLakeStoreAccountProperties is data Lake Store account properties information type DataLakeStoreAccountProperties struct { ProvisioningState DataLakeStoreAccountStatus `json:"provisioningState,omitempty"` State DataLakeStoreAccountState `json:"state,omitempty"` CreationTime *date.Time `json:"creationTime,omitempty"` + LastModifiedTime *date.Time `json:"lastModifiedTime,omitempty"` + Endpoint *string `json:"endpoint,omitempty"` + AccountID *uuid.UUID `json:"accountId,omitempty"` EncryptionState EncryptionState `json:"encryptionState,omitempty"` EncryptionProvisioningState EncryptionProvisioningState `json:"encryptionProvisioningState,omitempty"` EncryptionConfig *EncryptionConfig `json:"encryptionConfig,omitempty"` @@ -205,23 +199,30 @@ type DataLakeStoreAccountProperties struct { FirewallRules *[]FirewallRule `json:"firewallRules,omitempty"` TrustedIDProviderState TrustedIDProviderState `json:"trustedIdProviderState,omitempty"` TrustedIDProviders *[]TrustedIDProvider `json:"trustedIdProviders,omitempty"` - LastModifiedTime *date.Time `json:"lastModifiedTime,omitempty"` - Endpoint *string `json:"endpoint,omitempty"` DefaultGroup *string `json:"defaultGroup,omitempty"` NewTier TierType `json:"newTier,omitempty"` CurrentTier TierType `json:"currentTier,omitempty"` FirewallAllowAzureIps FirewallAllowAzureIpsState `json:"firewallAllowAzureIps,omitempty"` } -// DataLakeStoreAccountUpdateParameters is data Lake Store account information -// to update +// DataLakeStoreAccountPropertiesBasic is the basic account specific properties that are associated with an underlying +// Data Lake Store account. +type DataLakeStoreAccountPropertiesBasic struct { + ProvisioningState DataLakeStoreAccountStatus `json:"provisioningState,omitempty"` + State DataLakeStoreAccountState `json:"state,omitempty"` + CreationTime *date.Time `json:"creationTime,omitempty"` + LastModifiedTime *date.Time `json:"lastModifiedTime,omitempty"` + Endpoint *string `json:"endpoint,omitempty"` + AccountID *uuid.UUID `json:"accountId,omitempty"` +} + +// DataLakeStoreAccountUpdateParameters is data Lake Store account information to update type DataLakeStoreAccountUpdateParameters struct { Tags *map[string]*string `json:"tags,omitempty"` *UpdateDataLakeStoreAccountProperties `json:"properties,omitempty"` } -// DataLakeStoreFirewallRuleListResult is data Lake Store firewall rule list -// information. +// DataLakeStoreFirewallRuleListResult is data Lake Store firewall rule list information. type DataLakeStoreFirewallRuleListResult struct { autorest.Response `json:"-"` Value *[]FirewallRule `json:"value,omitempty"` @@ -240,8 +241,7 @@ func (client DataLakeStoreFirewallRuleListResult) DataLakeStoreFirewallRuleListR autorest.WithBaseURL(to.String(client.NextLink))) } -// DataLakeStoreTrustedIDProviderListResult is data Lake Store trusted identity -// provider list information. +// DataLakeStoreTrustedIDProviderListResult is data Lake Store trusted identity provider list information. type DataLakeStoreTrustedIDProviderListResult struct { autorest.Response `json:"-"` Value *[]TrustedIDProvider `json:"value,omitempty"` @@ -289,8 +289,7 @@ type FirewallRule struct { *FirewallRuleProperties `json:"properties,omitempty"` } -// FirewallRuleProperties is data Lake Store firewall rule properties -// information +// FirewallRuleProperties is data Lake Store firewall rule properties information type FirewallRuleProperties struct { StartIPAddress *string `json:"startIpAddress,omitempty"` EndIPAddress *string `json:"endIpAddress,omitempty"` @@ -328,43 +327,48 @@ type TrustedIDProvider struct { *TrustedIDProviderProperties `json:"properties,omitempty"` } -// TrustedIDProviderProperties is data Lake Store trusted identity provider -// properties information +// TrustedIDProviderProperties is data Lake Store trusted identity provider properties information type TrustedIDProviderProperties struct { IDProvider *string `json:"idProvider,omitempty"` } -// UpdateDataLakeStoreAccountProperties is data Lake Store account properties -// information to be updated. +// UpdateDataLakeStoreAccountProperties is data Lake Store account properties information to be updated. type UpdateDataLakeStoreAccountProperties struct { FirewallState FirewallState `json:"firewallState,omitempty"` TrustedIDProviderState TrustedIDProviderState `json:"trustedIdProviderState,omitempty"` DefaultGroup *string `json:"defaultGroup,omitempty"` NewTier TierType `json:"newTier,omitempty"` FirewallAllowAzureIps FirewallAllowAzureIpsState `json:"firewallAllowAzureIps,omitempty"` + EncryptionConfig *UpdateEncryptionConfig `json:"encryptionConfig,omitempty"` } -// UpdateFirewallRuleParameters is data Lake Analytics firewall rule update -// parameters +// UpdateEncryptionConfig is the encryption configuration used to update a user managed Key Vault key. +type UpdateEncryptionConfig struct { + KeyVaultMetaInfo *UpdateKeyVaultMetaInfo `json:"keyVaultMetaInfo,omitempty"` +} + +// UpdateFirewallRuleParameters is data Lake Analytics firewall rule update parameters type UpdateFirewallRuleParameters struct { *UpdateFirewallRuleProperties `json:"properties,omitempty"` } -// UpdateFirewallRuleProperties is data Lake Analytics firewall rule properties -// information +// UpdateFirewallRuleProperties is data Lake Analytics firewall rule properties information type UpdateFirewallRuleProperties struct { StartIPAddress *string `json:"startIpAddress,omitempty"` EndIPAddress *string `json:"endIpAddress,omitempty"` } -// UpdateTrustedIDProviderParameters is data Lake Store Trusted Identity -// Provider update parameters +// UpdateKeyVaultMetaInfo is the Key Vault update information used for user managed key rotation. +type UpdateKeyVaultMetaInfo struct { + EncryptionKeyVersion *string `json:"encryptionKeyVersion,omitempty"` +} + +// UpdateTrustedIDProviderParameters is data Lake Store Trusted Identity Provider update parameters type UpdateTrustedIDProviderParameters struct { *UpdateTrustedIDProviderProperties `json:"properties,omitempty"` } -// UpdateTrustedIDProviderProperties is data Lake Store trusted identity -// provider property update information +// UpdateTrustedIDProviderProperties is data Lake Store trusted identity provider property update information type UpdateTrustedIDProviderProperties struct { IDProvider *string `json:"idProvider,omitempty"` } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/trustedidproviders.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/trustedidproviders.go index 9411268b3..d82091ee9 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/trustedidproviders.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/trustedidproviders.go @@ -14,9 +14,8 @@ package account // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,34 +24,28 @@ import ( "net/http" ) -// TrustedIDProvidersClient is the creates an Azure Data Lake Store account -// management client. +// TrustedIDProvidersClient is the creates an Azure Data Lake Store account management client. type TrustedIDProvidersClient struct { ManagementClient } -// NewTrustedIDProvidersClient creates an instance of the -// TrustedIDProvidersClient client. +// NewTrustedIDProvidersClient creates an instance of the TrustedIDProvidersClient client. func NewTrustedIDProvidersClient(subscriptionID string) TrustedIDProvidersClient { return NewTrustedIDProvidersClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewTrustedIDProvidersClientWithBaseURI creates an instance of the -// TrustedIDProvidersClient client. +// NewTrustedIDProvidersClientWithBaseURI creates an instance of the TrustedIDProvidersClient client. func NewTrustedIDProvidersClientWithBaseURI(baseURI string, subscriptionID string) TrustedIDProvidersClient { return TrustedIDProvidersClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates the specified trusted identity provider. -// During update, the trusted identity provider with the specified name will be -// replaced with this new provider +// CreateOrUpdate creates or updates the specified trusted identity provider. During update, the trusted identity +// provider with the specified name will be replaced with this new provider // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Store account. accountName is the name of the Data Lake Store -// account to add or replace the trusted identity provider. -// trustedIDProviderName is the name of the trusted identity provider. This is -// used for differentiation of providers in the account. parameters is -// parameters supplied to create or replace the trusted identity provider. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Store account. accountName is +// the name of the Data Lake Store account to add or replace the trusted identity provider. trustedIDProviderName is +// the name of the trusted identity provider. This is used for differentiation of providers in the account. parameters +// is parameters supplied to create or replace the trusted identity provider. func (client TrustedIDProvidersClient) CreateOrUpdate(resourceGroupName string, accountName string, trustedIDProviderName string, parameters TrustedIDProvider) (result TrustedIDProvider, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -125,14 +118,11 @@ func (client TrustedIDProvidersClient) CreateOrUpdateResponder(resp *http.Respon return } -// Delete deletes the specified trusted identity provider from the specified -// Data Lake Store account +// Delete deletes the specified trusted identity provider from the specified Data Lake Store account // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Store account. accountName is the name of the Data Lake Store -// account from which to delete the trusted identity provider. -// trustedIDProviderName is the name of the trusted identity provider to -// delete. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Store account. accountName is +// the name of the Data Lake Store account from which to delete the trusted identity provider. trustedIDProviderName is +// the name of the trusted identity provider to delete. func (client TrustedIDProvidersClient) Delete(resourceGroupName string, accountName string, trustedIDProviderName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, accountName, trustedIDProviderName) if err != nil { @@ -197,11 +187,9 @@ func (client TrustedIDProvidersClient) DeleteResponder(resp *http.Response) (res // Get gets the specified Data Lake Store trusted identity provider. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Store account. accountName is the name of the Data Lake Store -// account from which to get the trusted identity provider. -// trustedIDProviderName is the name of the trusted identity provider to -// retrieve. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Store account. accountName is +// the name of the Data Lake Store account from which to get the trusted identity provider. trustedIDProviderName is +// the name of the trusted identity provider to retrieve. func (client TrustedIDProvidersClient) Get(resourceGroupName string, accountName string, trustedIDProviderName string) (result TrustedIDProvider, err error) { req, err := client.GetPreparer(resourceGroupName, accountName, trustedIDProviderName) if err != nil { @@ -265,12 +253,10 @@ func (client TrustedIDProvidersClient) GetResponder(resp *http.Response) (result return } -// ListByAccount lists the Data Lake Store trusted identity providers within -// the specified Data Lake Store account. +// ListByAccount lists the Data Lake Store trusted identity providers within the specified Data Lake Store account. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Store account. accountName is the name of the Data Lake Store -// account from which to get the trusted identity providers. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Store account. accountName is +// the name of the Data Lake Store account from which to get the trusted identity providers. func (client TrustedIDProvidersClient) ListByAccount(resourceGroupName string, accountName string) (result DataLakeStoreTrustedIDProviderListResult, err error) { req, err := client.ListByAccountPreparer(resourceGroupName, accountName) if err != nil { @@ -357,14 +343,57 @@ func (client TrustedIDProvidersClient) ListByAccountNextResults(lastResults Data return } +// ListByAccountComplete gets all elements from the list without paging. +func (client TrustedIDProvidersClient) ListByAccountComplete(resourceGroupName string, accountName string, cancel <-chan struct{}) (<-chan TrustedIDProvider, <-chan error) { + resultChan := make(chan TrustedIDProvider) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByAccount(resourceGroupName, accountName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByAccountNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update updates the specified trusted identity provider. // -// resourceGroupName is the name of the Azure resource group that contains the -// Data Lake Store account. accountName is the name of the Data Lake Store -// account to which to update the trusted identity provider. -// trustedIDProviderName is the name of the trusted identity provider. This is -// used for differentiation of providers in the account. parameters is -// parameters supplied to update the trusted identity provider. +// resourceGroupName is the name of the Azure resource group that contains the Data Lake Store account. accountName is +// the name of the Data Lake Store account to which to update the trusted identity provider. trustedIDProviderName is +// the name of the trusted identity provider. This is used for differentiation of providers in the account. parameters +// is parameters supplied to update the trusted identity provider. func (client TrustedIDProvidersClient) Update(resourceGroupName string, accountName string, trustedIDProviderName string, parameters *UpdateTrustedIDProviderParameters) (result TrustedIDProvider, err error) { req, err := client.UpdatePreparer(resourceGroupName, accountName, trustedIDProviderName, parameters) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/version.go index 5fd97ef7b..b6ccc9741 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/datalake-store/account/version.go @@ -14,16 +14,15 @@ package account // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-account/2016-11-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-account/2016-11-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/deployment/deployment.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/deployment/deployment.go new file mode 100644 index 000000000..89315f77a --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/deployment/deployment.go @@ -0,0 +1,63 @@ +package deployment + +// Copyright 2017 Microsoft Corporation +// +// 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. + +import ( + "encoding/json" + "io/ioutil" + + "github.com/Azure/azure-sdk-for-go/arm/resources/resources" +) + +// Build is a helper that creates a resources.Deployment, which can +// be used as a parameter for a CreateOrUpdate deployment operation. +// templateFile is a local Azure template. +// See https://github.com/Azure-Samples/resource-manager-go-template-deployment +func Build(mode resources.DeploymentMode, templateFile string, parameters map[string]interface{}) (deployment resources.Deployment, err error) { + template, err := parseJSONFromFile(templateFile) + if err != nil { + return + } + + finalParameters := map[string]interface{}{} + for k, v := range parameters { + addElementToMap(&finalParameters, k, v) + } + + deployment.Properties = &resources.DeploymentProperties{ + Mode: mode, + Template: template, + Parameters: &finalParameters, + } + return +} + +func parseJSONFromFile(filePath string) (*map[string]interface{}, error) { + text, err := ioutil.ReadFile(filePath) + if err != nil { + return nil, err + } + fileMap := map[string]interface{}{} + if err = json.Unmarshal(text, &fileMap); err != nil { + return nil, err + } + return &fileMap, err +} + +func addElementToMap(parameter *map[string]interface{}, key string, value interface{}) { + (*parameter)[key] = map[string]interface{}{ + "value": value, + } +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/armtemplates.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/armtemplates.go index 1e017dc10..1be31e058 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/armtemplates.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/armtemplates.go @@ -14,9 +14,8 @@ package devtestlabs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -34,17 +33,15 @@ func NewArmTemplatesClient(subscriptionID string) ArmTemplatesClient { return NewArmTemplatesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewArmTemplatesClientWithBaseURI creates an instance of the -// ArmTemplatesClient client. +// NewArmTemplatesClientWithBaseURI creates an instance of the ArmTemplatesClient client. func NewArmTemplatesClientWithBaseURI(baseURI string, subscriptionID string) ArmTemplatesClient { return ArmTemplatesClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get get azure resource manager template. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. artifactSourceName is the name of the artifact source. name is the -// name of the azure Resource Manager template. expand is specify the $expand +// resourceGroupName is the name of the resource group. labName is the name of the lab. artifactSourceName is the name +// of the artifact source. name is the name of the azure Resource Manager template. expand is specify the $expand // query. Example: 'properties($select=displayName)' func (client ArmTemplatesClient) Get(resourceGroupName string, labName string, artifactSourceName string, name string, expand string) (result ArmTemplate, err error) { req, err := client.GetPreparer(resourceGroupName, labName, artifactSourceName, name, expand) @@ -115,12 +112,10 @@ func (client ArmTemplatesClient) GetResponder(resp *http.Response) (result ArmTe // List list azure resource manager templates in a given artifact source. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. artifactSourceName is the name of the artifact source. expand is -// specify the $expand query. Example: 'properties($select=displayName)' filter -// is the filter to apply to the operation. top is the maximum number of -// resources to return from the operation. orderby is the ordering expression -// for the results, using OData notation. +// resourceGroupName is the name of the resource group. labName is the name of the lab. artifactSourceName is the name +// of the artifact source. expand is specify the $expand query. Example: 'properties($select=displayName)' filter is +// the filter to apply to the operation. top is the maximum number of resources to return from the operation. orderby +// is the ordering expression for the results, using OData notation. func (client ArmTemplatesClient) List(resourceGroupName string, labName string, artifactSourceName string, expand string, filter string, top *int32, orderby string) (result ResponseWithContinuationArmTemplate, err error) { req, err := client.ListPreparer(resourceGroupName, labName, artifactSourceName, expand, filter, top, orderby) if err != nil { @@ -219,3 +214,48 @@ func (client ArmTemplatesClient) ListNextResults(lastResults ResponseWithContinu return } + +// ListComplete gets all elements from the list without paging. +func (client ArmTemplatesClient) ListComplete(resourceGroupName string, labName string, artifactSourceName string, expand string, filter string, top *int32, orderby string, cancel <-chan struct{}) (<-chan ArmTemplate, <-chan error) { + resultChan := make(chan ArmTemplate) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, labName, artifactSourceName, expand, filter, top, orderby) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/artifacts.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/artifacts.go index eaed0a1aa..419555bcb 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/artifacts.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/artifacts.go @@ -14,9 +14,8 @@ package devtestlabs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -34,20 +33,17 @@ func NewArtifactsClient(subscriptionID string) ArtifactsClient { return NewArtifactsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewArtifactsClientWithBaseURI creates an instance of the ArtifactsClient -// client. +// NewArtifactsClientWithBaseURI creates an instance of the ArtifactsClient client. func NewArtifactsClientWithBaseURI(baseURI string, subscriptionID string) ArtifactsClient { return ArtifactsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// GenerateArmTemplate generates an ARM template for the given artifact, -// uploads the required files to a storage account, and validates the generated -// artifact. +// GenerateArmTemplate generates an ARM template for the given artifact, uploads the required files to a storage +// account, and validates the generated artifact. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. artifactSourceName is the name of the artifact source. name is the -// name of the artifact. generateArmTemplateRequest is parameters for -// generating an ARM template for deploying artifacts. +// resourceGroupName is the name of the resource group. labName is the name of the lab. artifactSourceName is the name +// of the artifact source. name is the name of the artifact. generateArmTemplateRequest is parameters for generating an +// ARM template for deploying artifacts. func (client ArtifactsClient) GenerateArmTemplate(resourceGroupName string, labName string, artifactSourceName string, name string, generateArmTemplateRequest GenerateArmTemplateRequest) (result ArmTemplateInfo, err error) { req, err := client.GenerateArmTemplatePreparer(resourceGroupName, labName, artifactSourceName, name, generateArmTemplateRequest) if err != nil { @@ -116,9 +112,8 @@ func (client ArtifactsClient) GenerateArmTemplateResponder(resp *http.Response) // Get get artifact. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. artifactSourceName is the name of the artifact source. name is the -// name of the artifact. expand is specify the $expand query. Example: +// resourceGroupName is the name of the resource group. labName is the name of the lab. artifactSourceName is the name +// of the artifact source. name is the name of the artifact. expand is specify the $expand query. Example: // 'properties($select=title)' func (client ArtifactsClient) Get(resourceGroupName string, labName string, artifactSourceName string, name string, expand string) (result Artifact, err error) { req, err := client.GetPreparer(resourceGroupName, labName, artifactSourceName, name, expand) @@ -189,12 +184,10 @@ func (client ArtifactsClient) GetResponder(resp *http.Response) (result Artifact // List list artifacts in a given artifact source. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. artifactSourceName is the name of the artifact source. expand is -// specify the $expand query. Example: 'properties($select=title)' filter is -// the filter to apply to the operation. top is the maximum number of resources -// to return from the operation. orderby is the ordering expression for the -// results, using OData notation. +// resourceGroupName is the name of the resource group. labName is the name of the lab. artifactSourceName is the name +// of the artifact source. expand is specify the $expand query. Example: 'properties($select=title)' filter is the +// filter to apply to the operation. top is the maximum number of resources to return from the operation. orderby is +// the ordering expression for the results, using OData notation. func (client ArtifactsClient) List(resourceGroupName string, labName string, artifactSourceName string, expand string, filter string, top *int32, orderby string) (result ResponseWithContinuationArtifact, err error) { req, err := client.ListPreparer(resourceGroupName, labName, artifactSourceName, expand, filter, top, orderby) if err != nil { @@ -293,3 +286,48 @@ func (client ArtifactsClient) ListNextResults(lastResults ResponseWithContinuati return } + +// ListComplete gets all elements from the list without paging. +func (client ArtifactsClient) ListComplete(resourceGroupName string, labName string, artifactSourceName string, expand string, filter string, top *int32, orderby string, cancel <-chan struct{}) (<-chan Artifact, <-chan error) { + resultChan := make(chan Artifact) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, labName, artifactSourceName, expand, filter, top, orderby) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/artifactsources.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/artifactsources.go index 20b7306a4..ba551f55d 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/artifactsources.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/artifactsources.go @@ -14,9 +14,8 @@ package devtestlabs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -30,23 +29,20 @@ type ArtifactSourcesClient struct { ManagementClient } -// NewArtifactSourcesClient creates an instance of the ArtifactSourcesClient -// client. +// NewArtifactSourcesClient creates an instance of the ArtifactSourcesClient client. func NewArtifactSourcesClient(subscriptionID string) ArtifactSourcesClient { return NewArtifactSourcesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewArtifactSourcesClientWithBaseURI creates an instance of the -// ArtifactSourcesClient client. +// NewArtifactSourcesClientWithBaseURI creates an instance of the ArtifactSourcesClient client. func NewArtifactSourcesClientWithBaseURI(baseURI string, subscriptionID string) ArtifactSourcesClient { return ArtifactSourcesClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate create or replace an existing artifact source. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the artifact source. artifactSource is -// properties of an artifact source. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the +// artifact source. artifactSource is properties of an artifact source. func (client ArtifactSourcesClient) CreateOrUpdate(resourceGroupName string, labName string, name string, artifactSource ArtifactSource) (result ArtifactSource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: artifactSource, @@ -120,8 +116,8 @@ func (client ArtifactSourcesClient) CreateOrUpdateResponder(resp *http.Response) // Delete delete artifact source. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the artifact source. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the +// artifact source. func (client ArtifactSourcesClient) Delete(resourceGroupName string, labName string, name string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, labName, name) if err != nil { @@ -186,9 +182,8 @@ func (client ArtifactSourcesClient) DeleteResponder(resp *http.Response) (result // Get get artifact source. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the artifact source. expand is specify the -// $expand query. Example: 'properties($select=displayName)' +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the +// artifact source. expand is specify the $expand query. Example: 'properties($select=displayName)' func (client ArtifactSourcesClient) Get(resourceGroupName string, labName string, name string, expand string) (result ArtifactSource, err error) { req, err := client.GetPreparer(resourceGroupName, labName, name, expand) if err != nil { @@ -257,11 +252,9 @@ func (client ArtifactSourcesClient) GetResponder(resp *http.Response) (result Ar // List list artifact sources in a given lab. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. expand is specify the $expand query. Example: -// 'properties($select=displayName)' filter is the filter to apply to the -// operation. top is the maximum number of resources to return from the -// operation. orderby is the ordering expression for the results, using OData +// resourceGroupName is the name of the resource group. labName is the name of the lab. expand is specify the $expand +// query. Example: 'properties($select=displayName)' filter is the filter to apply to the operation. top is the maximum +// number of resources to return from the operation. orderby is the ordering expression for the results, using OData // notation. func (client ArtifactSourcesClient) List(resourceGroupName string, labName string, expand string, filter string, top *int32, orderby string) (result ResponseWithContinuationArtifactSource, err error) { req, err := client.ListPreparer(resourceGroupName, labName, expand, filter, top, orderby) @@ -361,11 +354,55 @@ func (client ArtifactSourcesClient) ListNextResults(lastResults ResponseWithCont return } +// ListComplete gets all elements from the list without paging. +func (client ArtifactSourcesClient) ListComplete(resourceGroupName string, labName string, expand string, filter string, top *int32, orderby string, cancel <-chan struct{}) (<-chan ArtifactSource, <-chan error) { + resultChan := make(chan ArtifactSource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, labName, expand, filter, top, orderby) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update modify properties of artifact sources. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the artifact source. artifactSource is -// properties of an artifact source. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the +// artifact source. artifactSource is properties of an artifact source. func (client ArtifactSourcesClient) Update(resourceGroupName string, labName string, name string, artifactSource ArtifactSourceFragment) (result ArtifactSource, err error) { req, err := client.UpdatePreparer(resourceGroupName, labName, name, artifactSource) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/client.go index 65e59fad0..c7c47c5f8 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/client.go @@ -1,5 +1,4 @@ -// Package devtestlabs implements the Azure ARM Devtestlabs service API version -// 2016-05-15. +// Package devtestlabs implements the Azure ARM Devtestlabs service API version 2016-05-15. // // The DevTest Labs Client. package devtestlabs @@ -18,9 +17,8 @@ package devtestlabs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/costs.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/costs.go index 0e4dcc256..8d9bfc9d3 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/costs.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/costs.go @@ -14,9 +14,8 @@ package devtestlabs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -42,8 +41,8 @@ func NewCostsClientWithBaseURI(baseURI string, subscriptionID string) CostsClien // CreateOrUpdate create or replace an existing cost. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the cost. labCost is a cost item. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the cost. +// labCost is a cost item. func (client CostsClient) CreateOrUpdate(resourceGroupName string, labName string, name string, labCost LabCost) (result LabCost, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: labCost, @@ -117,9 +116,8 @@ func (client CostsClient) CreateOrUpdateResponder(resp *http.Response) (result L // Get get cost. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the cost. expand is specify the $expand query. -// Example: 'properties($expand=labCostDetails)' +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the cost. +// expand is specify the $expand query. Example: 'properties($expand=labCostDetails)' func (client CostsClient) Get(resourceGroupName string, labName string, name string, expand string) (result LabCost, err error) { req, err := client.GetPreparer(resourceGroupName, labName, name, expand) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/customimages.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/customimages.go index 7cfdd5715..d45cab2fb 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/customimages.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/customimages.go @@ -14,9 +14,8 @@ package devtestlabs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -35,20 +34,17 @@ func NewCustomImagesClient(subscriptionID string) CustomImagesClient { return NewCustomImagesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewCustomImagesClientWithBaseURI creates an instance of the -// CustomImagesClient client. +// NewCustomImagesClientWithBaseURI creates an instance of the CustomImagesClient client. func NewCustomImagesClientWithBaseURI(baseURI string, subscriptionID string) CustomImagesClient { return CustomImagesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate create or replace an existing custom image. This operation -// can take a while to complete. This method may poll for completion. Polling -// can be canceled by passing the cancel channel argument. The channel will be -// used to cancel polling and any outstanding HTTP requests. +// CreateOrUpdate create or replace an existing custom image. This operation can take a while to complete. This method +// may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to +// cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the custom image. customImage is a custom -// image. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the custom +// image. customImage is a custom image. func (client CustomImagesClient) CreateOrUpdate(resourceGroupName string, labName string, name string, customImage CustomImage, cancel <-chan struct{}) (<-chan CustomImage, <-chan error) { resultChan := make(chan CustomImage, 1) errChan := make(chan error, 1) @@ -65,8 +61,10 @@ func (client CustomImagesClient) CreateOrUpdate(resourceGroupName string, labNam var err error var result CustomImage defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -136,13 +134,12 @@ func (client CustomImagesClient) CreateOrUpdateResponder(resp *http.Response) (r return } -// Delete delete custom image. This operation can take a while to complete. -// This method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// Delete delete custom image. This operation can take a while to complete. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the custom image. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the custom +// image. func (client CustomImagesClient) Delete(resourceGroupName string, labName string, name string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -150,8 +147,10 @@ func (client CustomImagesClient) Delete(resourceGroupName string, labName string var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -220,9 +219,8 @@ func (client CustomImagesClient) DeleteResponder(resp *http.Response) (result au // Get get custom image. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the custom image. expand is specify the $expand -// query. Example: 'properties($select=vm)' +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the custom +// image. expand is specify the $expand query. Example: 'properties($select=vm)' func (client CustomImagesClient) Get(resourceGroupName string, labName string, name string, expand string) (result CustomImage, err error) { req, err := client.GetPreparer(resourceGroupName, labName, name, expand) if err != nil { @@ -291,11 +289,9 @@ func (client CustomImagesClient) GetResponder(resp *http.Response) (result Custo // List list custom images in a given lab. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. expand is specify the $expand query. Example: -// 'properties($select=vm)' filter is the filter to apply to the operation. top -// is the maximum number of resources to return from the operation. orderby is -// the ordering expression for the results, using OData notation. +// resourceGroupName is the name of the resource group. labName is the name of the lab. expand is specify the $expand +// query. Example: 'properties($select=vm)' filter is the filter to apply to the operation. top is the maximum number +// of resources to return from the operation. orderby is the ordering expression for the results, using OData notation. func (client CustomImagesClient) List(resourceGroupName string, labName string, expand string, filter string, top *int32, orderby string) (result ResponseWithContinuationCustomImage, err error) { req, err := client.ListPreparer(resourceGroupName, labName, expand, filter, top, orderby) if err != nil { @@ -393,3 +389,48 @@ func (client CustomImagesClient) ListNextResults(lastResults ResponseWithContinu return } + +// ListComplete gets all elements from the list without paging. +func (client CustomImagesClient) ListComplete(resourceGroupName string, labName string, expand string, filter string, top *int32, orderby string, cancel <-chan struct{}) (<-chan CustomImage, <-chan error) { + resultChan := make(chan CustomImage) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, labName, expand, filter, top, orderby) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/disks.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/disks.go index 6cf380933..a418157a1 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/disks.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/disks.go @@ -14,9 +14,8 @@ package devtestlabs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -40,14 +39,12 @@ func NewDisksClientWithBaseURI(baseURI string, subscriptionID string) DisksClien return DisksClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Attach attach and create the lease of the disk to the virtual machine. This -// operation can take a while to complete. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel +// Attach attach and create the lease of the disk to the virtual machine. This operation can take a while to complete. +// This method may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel // will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. userName is the name of the user profile. name is the name of the -// disk. attachDiskProperties is properties of the disk to attach. +// resourceGroupName is the name of the resource group. labName is the name of the lab. userName is the name of the +// user profile. name is the name of the disk. attachDiskProperties is properties of the disk to attach. func (client DisksClient) Attach(resourceGroupName string, labName string, userName string, name string, attachDiskProperties AttachDiskProperties, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -55,8 +52,10 @@ func (client DisksClient) Attach(resourceGroupName string, labName string, userN var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -126,14 +125,12 @@ func (client DisksClient) AttachResponder(resp *http.Response) (result autorest. return } -// CreateOrUpdate create or replace an existing disk. This operation can take a -// while to complete. This method may poll for completion. Polling can be -// canceled by passing the cancel channel argument. The channel will be used to -// cancel polling and any outstanding HTTP requests. +// CreateOrUpdate create or replace an existing disk. This operation can take a while to complete. This method may poll +// for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. userName is the name of the user profile. name is the name of the -// disk. disk is a Disk. +// resourceGroupName is the name of the resource group. labName is the name of the lab. userName is the name of the +// user profile. name is the name of the disk. disk is a Disk. func (client DisksClient) CreateOrUpdate(resourceGroupName string, labName string, userName string, name string, disk Disk, cancel <-chan struct{}) (<-chan Disk, <-chan error) { resultChan := make(chan Disk, 1) errChan := make(chan error, 1) @@ -150,8 +147,10 @@ func (client DisksClient) CreateOrUpdate(resourceGroupName string, labName strin var err error var result Disk defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -222,14 +221,12 @@ func (client DisksClient) CreateOrUpdateResponder(resp *http.Response) (result D return } -// Delete delete disk. This operation can take a while to complete. This method -// may poll for completion. Polling can be canceled by passing the cancel -// channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// Delete delete disk. This operation can take a while to complete. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. userName is the name of the user profile. name is the name of the -// disk. +// resourceGroupName is the name of the resource group. labName is the name of the lab. userName is the name of the +// user profile. name is the name of the disk. func (client DisksClient) Delete(resourceGroupName string, labName string, userName string, name string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -237,8 +234,10 @@ func (client DisksClient) Delete(resourceGroupName string, labName string, userN var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -306,15 +305,12 @@ func (client DisksClient) DeleteResponder(resp *http.Response) (result autorest. return } -// Detach detach and break the lease of the disk attached to the virtual -// machine. This operation can take a while to complete. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// Detach detach and break the lease of the disk attached to the virtual machine. This operation can take a while to +// complete. This method may poll for completion. Polling can be canceled by passing the cancel channel argument. The +// channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. userName is the name of the user profile. name is the name of the -// disk. detachDiskProperties is properties of the disk to detach. +// resourceGroupName is the name of the resource group. labName is the name of the lab. userName is the name of the +// user profile. name is the name of the disk. detachDiskProperties is properties of the disk to detach. func (client DisksClient) Detach(resourceGroupName string, labName string, userName string, name string, detachDiskProperties DetachDiskProperties, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -322,8 +318,10 @@ func (client DisksClient) Detach(resourceGroupName string, labName string, userN var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -395,9 +393,8 @@ func (client DisksClient) DetachResponder(resp *http.Response) (result autorest. // Get get disk. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. userName is the name of the user profile. name is the name of the -// disk. expand is specify the $expand query. Example: +// resourceGroupName is the name of the resource group. labName is the name of the lab. userName is the name of the +// user profile. name is the name of the disk. expand is specify the $expand query. Example: // 'properties($select=diskType)' func (client DisksClient) Get(resourceGroupName string, labName string, userName string, name string, expand string) (result Disk, err error) { req, err := client.GetPreparer(resourceGroupName, labName, userName, name, expand) @@ -468,12 +465,10 @@ func (client DisksClient) GetResponder(resp *http.Response) (result Disk, err er // List list disks in a given user profile. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. userName is the name of the user profile. expand is specify the -// $expand query. Example: 'properties($select=diskType)' filter is the filter -// to apply to the operation. top is the maximum number of resources to return -// from the operation. orderby is the ordering expression for the results, -// using OData notation. +// resourceGroupName is the name of the resource group. labName is the name of the lab. userName is the name of the +// user profile. expand is specify the $expand query. Example: 'properties($select=diskType)' filter is the filter to +// apply to the operation. top is the maximum number of resources to return from the operation. orderby is the ordering +// expression for the results, using OData notation. func (client DisksClient) List(resourceGroupName string, labName string, userName string, expand string, filter string, top *int32, orderby string) (result ResponseWithContinuationDisk, err error) { req, err := client.ListPreparer(resourceGroupName, labName, userName, expand, filter, top, orderby) if err != nil { @@ -572,3 +567,48 @@ func (client DisksClient) ListNextResults(lastResults ResponseWithContinuationDi return } + +// ListComplete gets all elements from the list without paging. +func (client DisksClient) ListComplete(resourceGroupName string, labName string, userName string, expand string, filter string, top *int32, orderby string, cancel <-chan struct{}) (<-chan Disk, <-chan error) { + resultChan := make(chan Disk) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, labName, userName, expand, filter, top, orderby) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/environments.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/environments.go index ee5f41fe7..b7cf950ed 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/environments.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/environments.go @@ -14,9 +14,8 @@ package devtestlabs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -35,20 +34,17 @@ func NewEnvironmentsClient(subscriptionID string) EnvironmentsClient { return NewEnvironmentsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewEnvironmentsClientWithBaseURI creates an instance of the -// EnvironmentsClient client. +// NewEnvironmentsClientWithBaseURI creates an instance of the EnvironmentsClient client. func NewEnvironmentsClientWithBaseURI(baseURI string, subscriptionID string) EnvironmentsClient { return EnvironmentsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate create or replace an existing environment. This operation can -// take a while to complete. This method may poll for completion. Polling can -// be canceled by passing the cancel channel argument. The channel will be used -// to cancel polling and any outstanding HTTP requests. +// CreateOrUpdate create or replace an existing environment. This operation can take a while to complete. This method +// may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to +// cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. userName is the name of the user profile. name is the name of the -// environment. dtlEnvironment is an environment, which is essentially an ARM +// resourceGroupName is the name of the resource group. labName is the name of the lab. userName is the name of the +// user profile. name is the name of the environment. dtlEnvironment is an environment, which is essentially an ARM // template deployment. func (client EnvironmentsClient) CreateOrUpdate(resourceGroupName string, labName string, userName string, name string, dtlEnvironment DtlEnvironment, cancel <-chan struct{}) (<-chan DtlEnvironment, <-chan error) { resultChan := make(chan DtlEnvironment, 1) @@ -66,8 +62,10 @@ func (client EnvironmentsClient) CreateOrUpdate(resourceGroupName string, labNam var err error var result DtlEnvironment defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -138,14 +136,12 @@ func (client EnvironmentsClient) CreateOrUpdateResponder(resp *http.Response) (r return } -// Delete delete environment. This operation can take a while to complete. This -// method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// Delete delete environment. This operation can take a while to complete. This method may poll for completion. Polling +// can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. userName is the name of the user profile. name is the name of the -// environment. +// resourceGroupName is the name of the resource group. labName is the name of the lab. userName is the name of the +// user profile. name is the name of the environment. func (client EnvironmentsClient) Delete(resourceGroupName string, labName string, userName string, name string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -153,8 +149,10 @@ func (client EnvironmentsClient) Delete(resourceGroupName string, labName string var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -224,9 +222,8 @@ func (client EnvironmentsClient) DeleteResponder(resp *http.Response) (result au // Get get environment. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. userName is the name of the user profile. name is the name of the -// environment. expand is specify the $expand query. Example: +// resourceGroupName is the name of the resource group. labName is the name of the lab. userName is the name of the +// user profile. name is the name of the environment. expand is specify the $expand query. Example: // 'properties($select=deploymentProperties)' func (client EnvironmentsClient) Get(resourceGroupName string, labName string, userName string, name string, expand string) (result DtlEnvironment, err error) { req, err := client.GetPreparer(resourceGroupName, labName, userName, name, expand) @@ -297,12 +294,10 @@ func (client EnvironmentsClient) GetResponder(resp *http.Response) (result DtlEn // List list environments in a given user profile. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. userName is the name of the user profile. expand is specify the -// $expand query. Example: 'properties($select=deploymentProperties)' filter is -// the filter to apply to the operation. top is the maximum number of resources -// to return from the operation. orderby is the ordering expression for the -// results, using OData notation. +// resourceGroupName is the name of the resource group. labName is the name of the lab. userName is the name of the +// user profile. expand is specify the $expand query. Example: 'properties($select=deploymentProperties)' filter is the +// filter to apply to the operation. top is the maximum number of resources to return from the operation. orderby is +// the ordering expression for the results, using OData notation. func (client EnvironmentsClient) List(resourceGroupName string, labName string, userName string, expand string, filter string, top *int32, orderby string) (result ResponseWithContinuationDtlEnvironment, err error) { req, err := client.ListPreparer(resourceGroupName, labName, userName, expand, filter, top, orderby) if err != nil { @@ -401,3 +396,48 @@ func (client EnvironmentsClient) ListNextResults(lastResults ResponseWithContinu return } + +// ListComplete gets all elements from the list without paging. +func (client EnvironmentsClient) ListComplete(resourceGroupName string, labName string, userName string, expand string, filter string, top *int32, orderby string, cancel <-chan struct{}) (<-chan DtlEnvironment, <-chan error) { + resultChan := make(chan DtlEnvironment) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, labName, userName, expand, filter, top, orderby) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/formulas.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/formulas.go index 9c8572921..c3b684d2b 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/formulas.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/formulas.go @@ -14,9 +14,8 @@ package devtestlabs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -35,20 +34,17 @@ func NewFormulasClient(subscriptionID string) FormulasClient { return NewFormulasClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewFormulasClientWithBaseURI creates an instance of the FormulasClient -// client. +// NewFormulasClientWithBaseURI creates an instance of the FormulasClient client. func NewFormulasClientWithBaseURI(baseURI string, subscriptionID string) FormulasClient { return FormulasClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate create or replace an existing Formula. This operation can -// take a while to complete. This method may poll for completion. Polling can -// be canceled by passing the cancel channel argument. The channel will be used -// to cancel polling and any outstanding HTTP requests. +// CreateOrUpdate create or replace an existing Formula. This operation can take a while to complete. This method may +// poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to +// cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the formula. formula is a formula for creating -// a VM, specifying an image base and other parameters +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the +// formula. formula is a formula for creating a VM, specifying an image base and other parameters func (client FormulasClient) CreateOrUpdate(resourceGroupName string, labName string, name string, formula Formula, cancel <-chan struct{}) (<-chan Formula, <-chan error) { resultChan := make(chan Formula, 1) errChan := make(chan error, 1) @@ -78,8 +74,10 @@ func (client FormulasClient) CreateOrUpdate(resourceGroupName string, labName st var err error var result Formula defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -151,8 +149,8 @@ func (client FormulasClient) CreateOrUpdateResponder(resp *http.Response) (resul // Delete delete formula. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the formula. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the +// formula. func (client FormulasClient) Delete(resourceGroupName string, labName string, name string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, labName, name) if err != nil { @@ -217,9 +215,8 @@ func (client FormulasClient) DeleteResponder(resp *http.Response) (result autore // Get get formula. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the formula. expand is specify the $expand -// query. Example: 'properties($select=description)' +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the +// formula. expand is specify the $expand query. Example: 'properties($select=description)' func (client FormulasClient) Get(resourceGroupName string, labName string, name string, expand string) (result Formula, err error) { req, err := client.GetPreparer(resourceGroupName, labName, name, expand) if err != nil { @@ -288,11 +285,9 @@ func (client FormulasClient) GetResponder(resp *http.Response) (result Formula, // List list formulas in a given lab. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. expand is specify the $expand query. Example: -// 'properties($select=description)' filter is the filter to apply to the -// operation. top is the maximum number of resources to return from the -// operation. orderby is the ordering expression for the results, using OData +// resourceGroupName is the name of the resource group. labName is the name of the lab. expand is specify the $expand +// query. Example: 'properties($select=description)' filter is the filter to apply to the operation. top is the maximum +// number of resources to return from the operation. orderby is the ordering expression for the results, using OData // notation. func (client FormulasClient) List(resourceGroupName string, labName string, expand string, filter string, top *int32, orderby string) (result ResponseWithContinuationFormula, err error) { req, err := client.ListPreparer(resourceGroupName, labName, expand, filter, top, orderby) @@ -391,3 +386,48 @@ func (client FormulasClient) ListNextResults(lastResults ResponseWithContinuatio return } + +// ListComplete gets all elements from the list without paging. +func (client FormulasClient) ListComplete(resourceGroupName string, labName string, expand string, filter string, top *int32, orderby string, cancel <-chan struct{}) (<-chan Formula, <-chan error) { + resultChan := make(chan Formula) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, labName, expand, filter, top, orderby) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/galleryimages.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/galleryimages.go index 16df40fb4..d55a281c4 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/galleryimages.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/galleryimages.go @@ -14,9 +14,8 @@ package devtestlabs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -29,25 +28,22 @@ type GalleryImagesClient struct { ManagementClient } -// NewGalleryImagesClient creates an instance of the GalleryImagesClient -// client. +// NewGalleryImagesClient creates an instance of the GalleryImagesClient client. func NewGalleryImagesClient(subscriptionID string) GalleryImagesClient { return NewGalleryImagesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewGalleryImagesClientWithBaseURI creates an instance of the -// GalleryImagesClient client. +// NewGalleryImagesClientWithBaseURI creates an instance of the GalleryImagesClient client. func NewGalleryImagesClientWithBaseURI(baseURI string, subscriptionID string) GalleryImagesClient { return GalleryImagesClient{NewWithBaseURI(baseURI, subscriptionID)} } // List list gallery images in a given lab. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. expand is specify the $expand query. Example: -// 'properties($select=author)' filter is the filter to apply to the operation. -// top is the maximum number of resources to return from the operation. orderby -// is the ordering expression for the results, using OData notation. +// resourceGroupName is the name of the resource group. labName is the name of the lab. expand is specify the $expand +// query. Example: 'properties($select=author)' filter is the filter to apply to the operation. top is the maximum +// number of resources to return from the operation. orderby is the ordering expression for the results, using OData +// notation. func (client GalleryImagesClient) List(resourceGroupName string, labName string, expand string, filter string, top *int32, orderby string) (result ResponseWithContinuationGalleryImage, err error) { req, err := client.ListPreparer(resourceGroupName, labName, expand, filter, top, orderby) if err != nil { @@ -145,3 +141,48 @@ func (client GalleryImagesClient) ListNextResults(lastResults ResponseWithContin return } + +// ListComplete gets all elements from the list without paging. +func (client GalleryImagesClient) ListComplete(resourceGroupName string, labName string, expand string, filter string, top *int32, orderby string, cancel <-chan struct{}) (<-chan GalleryImage, <-chan error) { + resultChan := make(chan GalleryImage) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, labName, expand, filter, top, orderby) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/globalschedules.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/globalschedules.go index 8c5b5d076..394a454db 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/globalschedules.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/globalschedules.go @@ -14,9 +14,8 @@ package devtestlabs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -30,22 +29,19 @@ type GlobalSchedulesClient struct { ManagementClient } -// NewGlobalSchedulesClient creates an instance of the GlobalSchedulesClient -// client. +// NewGlobalSchedulesClient creates an instance of the GlobalSchedulesClient client. func NewGlobalSchedulesClient(subscriptionID string) GlobalSchedulesClient { return NewGlobalSchedulesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewGlobalSchedulesClientWithBaseURI creates an instance of the -// GlobalSchedulesClient client. +// NewGlobalSchedulesClientWithBaseURI creates an instance of the GlobalSchedulesClient client. func NewGlobalSchedulesClientWithBaseURI(baseURI string, subscriptionID string) GlobalSchedulesClient { return GlobalSchedulesClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate create or replace an existing schedule. // -// resourceGroupName is the name of the resource group. name is the name of the -// schedule. schedule is a schedule. +// resourceGroupName is the name of the resource group. name is the name of the schedule. schedule is a schedule. func (client GlobalSchedulesClient) CreateOrUpdate(resourceGroupName string, name string, schedule Schedule) (result Schedule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: schedule, @@ -118,8 +114,7 @@ func (client GlobalSchedulesClient) CreateOrUpdateResponder(resp *http.Response) // Delete delete schedule. // -// resourceGroupName is the name of the resource group. name is the name of the -// schedule. +// resourceGroupName is the name of the resource group. name is the name of the schedule. func (client GlobalSchedulesClient) Delete(resourceGroupName string, name string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, name) if err != nil { @@ -181,13 +176,11 @@ func (client GlobalSchedulesClient) DeleteResponder(resp *http.Response) (result return } -// Execute execute a schedule. This operation can take a while to complete. -// This method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// Execute execute a schedule. This operation can take a while to complete. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. name is the name of the -// schedule. +// resourceGroupName is the name of the resource group. name is the name of the schedule. func (client GlobalSchedulesClient) Execute(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -195,8 +188,10 @@ func (client GlobalSchedulesClient) Execute(resourceGroupName string, name strin var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -264,9 +259,8 @@ func (client GlobalSchedulesClient) ExecuteResponder(resp *http.Response) (resul // Get get schedule. // -// resourceGroupName is the name of the resource group. name is the name of the -// schedule. expand is specify the $expand query. Example: -// 'properties($select=status)' +// resourceGroupName is the name of the resource group. name is the name of the schedule. expand is specify the $expand +// query. Example: 'properties($select=status)' func (client GlobalSchedulesClient) Get(resourceGroupName string, name string, expand string) (result Schedule, err error) { req, err := client.GetPreparer(resourceGroupName, name, expand) if err != nil { @@ -334,11 +328,9 @@ func (client GlobalSchedulesClient) GetResponder(resp *http.Response) (result Sc // ListByResourceGroup list schedules in a resource group. // -// resourceGroupName is the name of the resource group. expand is specify the -// $expand query. Example: 'properties($select=status)' filter is the filter to -// apply to the operation. top is the maximum number of resources to return -// from the operation. orderby is the ordering expression for the results, -// using OData notation. +// resourceGroupName is the name of the resource group. expand is specify the $expand query. Example: +// 'properties($select=status)' filter is the filter to apply to the operation. top is the maximum number of resources +// to return from the operation. orderby is the ordering expression for the results, using OData notation. func (client GlobalSchedulesClient) ListByResourceGroup(resourceGroupName string, expand string, filter string, top *int32, orderby string) (result ResponseWithContinuationSchedule, err error) { req, err := client.ListByResourceGroupPreparer(resourceGroupName, expand, filter, top, orderby) if err != nil { @@ -436,11 +428,55 @@ func (client GlobalSchedulesClient) ListByResourceGroupNextResults(lastResults R return } +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client GlobalSchedulesClient) ListByResourceGroupComplete(resourceGroupName string, expand string, filter string, top *int32, orderby string, cancel <-chan struct{}) (<-chan Schedule, <-chan error) { + resultChan := make(chan Schedule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName, expand, filter, top, orderby) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListBySubscription list schedules in a subscription. // -// expand is specify the $expand query. Example: 'properties($select=status)' -// filter is the filter to apply to the operation. top is the maximum number of -// resources to return from the operation. orderby is the ordering expression +// expand is specify the $expand query. Example: 'properties($select=status)' filter is the filter to apply to the +// operation. top is the maximum number of resources to return from the operation. orderby is the ordering expression // for the results, using OData notation. func (client GlobalSchedulesClient) ListBySubscription(expand string, filter string, top *int32, orderby string) (result ResponseWithContinuationSchedule, err error) { req, err := client.ListBySubscriptionPreparer(expand, filter, top, orderby) @@ -538,14 +574,57 @@ func (client GlobalSchedulesClient) ListBySubscriptionNextResults(lastResults Re return } -// Retarget updates a schedule's target resource Id. This operation can take a -// while to complete. This method may poll for completion. Polling can be -// canceled by passing the cancel channel argument. The channel will be used to -// cancel polling and any outstanding HTTP requests. +// ListBySubscriptionComplete gets all elements from the list without paging. +func (client GlobalSchedulesClient) ListBySubscriptionComplete(expand string, filter string, top *int32, orderby string, cancel <-chan struct{}) (<-chan Schedule, <-chan error) { + resultChan := make(chan Schedule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListBySubscription(expand, filter, top, orderby) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListBySubscriptionNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// Retarget updates a schedule's target resource Id. This operation can take a while to complete. This method may poll +// for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. name is the name of the -// schedule. retargetScheduleProperties is properties for retargeting a virtual -// machine schedule. +// resourceGroupName is the name of the resource group. name is the name of the schedule. retargetScheduleProperties is +// properties for retargeting a virtual machine schedule. func (client GlobalSchedulesClient) Retarget(resourceGroupName string, name string, retargetScheduleProperties RetargetScheduleProperties, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -553,8 +632,10 @@ func (client GlobalSchedulesClient) Retarget(resourceGroupName string, name stri var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -624,8 +705,7 @@ func (client GlobalSchedulesClient) RetargetResponder(resp *http.Response) (resu // Update modify properties of schedules. // -// resourceGroupName is the name of the resource group. name is the name of the -// schedule. schedule is a schedule. +// resourceGroupName is the name of the resource group. name is the name of the schedule. schedule is a schedule. func (client GlobalSchedulesClient) Update(resourceGroupName string, name string, schedule ScheduleFragment) (result Schedule, err error) { req, err := client.UpdatePreparer(resourceGroupName, name, schedule) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/labs.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/labs.go index 0ed14dabb..edf0645c0 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/labs.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/labs.go @@ -14,9 +14,8 @@ package devtestlabs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -40,13 +39,11 @@ func NewLabsClientWithBaseURI(baseURI string, subscriptionID string) LabsClient return LabsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// ClaimAnyVM claim a random claimable virtual machine in the lab. This -// operation can take a while to complete. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// ClaimAnyVM claim a random claimable virtual machine in the lab. This operation can take a while to complete. This +// method may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be +// used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. name is the name of the -// lab. +// resourceGroupName is the name of the resource group. name is the name of the lab. func (client LabsClient) ClaimAnyVM(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -54,8 +51,10 @@ func (client LabsClient) ClaimAnyVM(resourceGroupName string, name string, cance var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -121,14 +120,12 @@ func (client LabsClient) ClaimAnyVMResponder(resp *http.Response) (result autore return } -// CreateEnvironment create virtual machines in a lab. This operation can take -// a while to complete. This method may poll for completion. Polling can be -// canceled by passing the cancel channel argument. The channel will be used to +// CreateEnvironment create virtual machines in a lab. This operation can take a while to complete. This method may +// poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to // cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. name is the name of the -// lab. labVirtualMachineCreationParameter is properties for creating a virtual -// machine. +// resourceGroupName is the name of the resource group. name is the name of the lab. labVirtualMachineCreationParameter +// is properties for creating a virtual machine. func (client LabsClient) CreateEnvironment(resourceGroupName string, name string, labVirtualMachineCreationParameter LabVirtualMachineCreationParameter, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -154,8 +151,10 @@ func (client LabsClient) CreateEnvironment(resourceGroupName string, name string var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -223,13 +222,11 @@ func (client LabsClient) CreateEnvironmentResponder(resp *http.Response) (result return } -// CreateOrUpdate create or replace an existing lab. This operation can take a -// while to complete. This method may poll for completion. Polling can be -// canceled by passing the cancel channel argument. The channel will be used to -// cancel polling and any outstanding HTTP requests. +// CreateOrUpdate create or replace an existing lab. This operation can take a while to complete. This method may poll +// for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. name is the name of the -// lab. lab is a lab. +// resourceGroupName is the name of the resource group. name is the name of the lab. lab is a lab. func (client LabsClient) CreateOrUpdate(resourceGroupName string, name string, lab Lab, cancel <-chan struct{}) (<-chan Lab, <-chan error) { resultChan := make(chan Lab, 1) errChan := make(chan error, 1) @@ -237,8 +234,10 @@ func (client LabsClient) CreateOrUpdate(resourceGroupName string, name string, l var err error var result Lab defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -307,13 +306,11 @@ func (client LabsClient) CreateOrUpdateResponder(resp *http.Response) (result La return } -// Delete delete lab. This operation can take a while to complete. This method -// may poll for completion. Polling can be canceled by passing the cancel -// channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// Delete delete lab. This operation can take a while to complete. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group. name is the name of the -// lab. +// resourceGroupName is the name of the resource group. name is the name of the lab. func (client LabsClient) Delete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -321,8 +318,10 @@ func (client LabsClient) Delete(resourceGroupName string, name string, cancel <- var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -388,15 +387,12 @@ func (client LabsClient) DeleteResponder(resp *http.Response) (result autorest.R return } -// ExportResourceUsage exports the lab resource usage into a storage account -// This operation can take a while to complete. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// ExportResourceUsage exports the lab resource usage into a storage account This operation can take a while to +// complete. This method may poll for completion. Polling can be canceled by passing the cancel channel argument. The +// channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. name is the name of the -// lab. exportResourceUsageParameters is the parameters of the export -// operation. +// resourceGroupName is the name of the resource group. name is the name of the lab. exportResourceUsageParameters is +// the parameters of the export operation. func (client LabsClient) ExportResourceUsage(resourceGroupName string, name string, exportResourceUsageParameters ExportResourceUsageParameters, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -404,8 +400,10 @@ func (client LabsClient) ExportResourceUsage(resourceGroupName string, name stri var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -475,8 +473,8 @@ func (client LabsClient) ExportResourceUsageResponder(resp *http.Response) (resu // GenerateUploadURI generate a URI for uploading custom disk images to a Lab. // -// resourceGroupName is the name of the resource group. name is the name of the -// lab. generateUploadURIParameter is properties for generating an upload URI. +// resourceGroupName is the name of the resource group. name is the name of the lab. generateUploadURIParameter is +// properties for generating an upload URI. func (client LabsClient) GenerateUploadURI(resourceGroupName string, name string, generateUploadURIParameter GenerateUploadURIParameter) (result GenerateUploadURIResponse, err error) { req, err := client.GenerateUploadURIPreparer(resourceGroupName, name, generateUploadURIParameter) if err != nil { @@ -543,9 +541,8 @@ func (client LabsClient) GenerateUploadURIResponder(resp *http.Response) (result // Get get lab. // -// resourceGroupName is the name of the resource group. name is the name of the -// lab. expand is specify the $expand query. Example: -// 'properties($select=defaultStorageAccount)' +// resourceGroupName is the name of the resource group. name is the name of the lab. expand is specify the $expand +// query. Example: 'properties($select=defaultStorageAccount)' func (client LabsClient) Get(resourceGroupName string, name string, expand string) (result Lab, err error) { req, err := client.GetPreparer(resourceGroupName, name, expand) if err != nil { @@ -613,11 +610,10 @@ func (client LabsClient) GetResponder(resp *http.Response) (result Lab, err erro // ListByResourceGroup list labs in a resource group. // -// resourceGroupName is the name of the resource group. expand is specify the -// $expand query. Example: 'properties($select=defaultStorageAccount)' filter -// is the filter to apply to the operation. top is the maximum number of -// resources to return from the operation. orderby is the ordering expression -// for the results, using OData notation. +// resourceGroupName is the name of the resource group. expand is specify the $expand query. Example: +// 'properties($select=defaultStorageAccount)' filter is the filter to apply to the operation. top is the maximum +// number of resources to return from the operation. orderby is the ordering expression for the results, using OData +// notation. func (client LabsClient) ListByResourceGroup(resourceGroupName string, expand string, filter string, top *int32, orderby string) (result ResponseWithContinuationLab, err error) { req, err := client.ListByResourceGroupPreparer(resourceGroupName, expand, filter, top, orderby) if err != nil { @@ -715,13 +711,56 @@ func (client LabsClient) ListByResourceGroupNextResults(lastResults ResponseWith return } +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client LabsClient) ListByResourceGroupComplete(resourceGroupName string, expand string, filter string, top *int32, orderby string, cancel <-chan struct{}) (<-chan Lab, <-chan error) { + resultChan := make(chan Lab) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName, expand, filter, top, orderby) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListBySubscription list labs in a subscription. // -// expand is specify the $expand query. Example: -// 'properties($select=defaultStorageAccount)' filter is the filter to apply to -// the operation. top is the maximum number of resources to return from the -// operation. orderby is the ordering expression for the results, using OData -// notation. +// expand is specify the $expand query. Example: 'properties($select=defaultStorageAccount)' filter is the filter to +// apply to the operation. top is the maximum number of resources to return from the operation. orderby is the ordering +// expression for the results, using OData notation. func (client LabsClient) ListBySubscription(expand string, filter string, top *int32, orderby string) (result ResponseWithContinuationLab, err error) { req, err := client.ListBySubscriptionPreparer(expand, filter, top, orderby) if err != nil { @@ -818,10 +857,54 @@ func (client LabsClient) ListBySubscriptionNextResults(lastResults ResponseWithC return } +// ListBySubscriptionComplete gets all elements from the list without paging. +func (client LabsClient) ListBySubscriptionComplete(expand string, filter string, top *int32, orderby string, cancel <-chan struct{}) (<-chan Lab, <-chan error) { + resultChan := make(chan Lab) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListBySubscription(expand, filter, top, orderby) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListBySubscriptionNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListVhds list disk images available for custom image creation. // -// resourceGroupName is the name of the resource group. name is the name of the -// lab. +// resourceGroupName is the name of the resource group. name is the name of the lab. func (client LabsClient) ListVhds(resourceGroupName string, name string) (result ResponseWithContinuationLabVhd, err error) { req, err := client.ListVhdsPreparer(resourceGroupName, name) if err != nil { @@ -908,10 +991,54 @@ func (client LabsClient) ListVhdsNextResults(lastResults ResponseWithContinuatio return } +// ListVhdsComplete gets all elements from the list without paging. +func (client LabsClient) ListVhdsComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan LabVhd, <-chan error) { + resultChan := make(chan LabVhd) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListVhds(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListVhdsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update modify properties of labs. // -// resourceGroupName is the name of the resource group. name is the name of the -// lab. lab is a lab. +// resourceGroupName is the name of the resource group. name is the name of the lab. lab is a lab. func (client LabsClient) Update(resourceGroupName string, name string, lab LabFragment) (result Lab, err error) { req, err := client.UpdatePreparer(resourceGroupName, name, lab) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/models.go index 5525e7f01..fc5e3112f 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/models.go @@ -14,9 +14,8 @@ package devtestlabs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -63,11 +62,9 @@ const ( type EnableStatus string const ( - // EnableStatusDisabled specifies the enable status disabled state for - // enable status. + // EnableStatusDisabled specifies the enable status disabled state for enable status. EnableStatusDisabled EnableStatus = "Disabled" - // EnableStatusEnabled specifies the enable status enabled state for enable - // status. + // EnableStatusEnabled specifies the enable status enabled state for enable status. EnableStatusEnabled EnableStatus = "Enabled" ) @@ -75,12 +72,10 @@ const ( type FileUploadOptions string const ( - // FileUploadOptionsNone specifies the file upload options none state for - // file upload options. + // FileUploadOptionsNone specifies the file upload options none state for file upload options. FileUploadOptionsNone FileUploadOptions = "None" - // FileUploadOptionsUploadFilesAndGenerateSasTokens specifies the file - // upload options upload files and generate sas tokens state for file - // upload options. + // FileUploadOptionsUploadFilesAndGenerateSasTokens specifies the file upload options upload files and generate sas + // tokens state for file upload options. FileUploadOptionsUploadFilesAndGenerateSasTokens FileUploadOptions = "UploadFilesAndGenerateSasTokens" ) @@ -88,14 +83,11 @@ const ( type HostCachingOptions string const ( - // HostCachingOptionsNone specifies the host caching options none state for - // host caching options. + // HostCachingOptionsNone specifies the host caching options none state for host caching options. HostCachingOptionsNone HostCachingOptions = "None" - // HostCachingOptionsReadOnly specifies the host caching options read only - // state for host caching options. + // HostCachingOptionsReadOnly specifies the host caching options read only state for host caching options. HostCachingOptionsReadOnly HostCachingOptions = "ReadOnly" - // HostCachingOptionsReadWrite specifies the host caching options read - // write state for host caching options. + // HostCachingOptionsReadWrite specifies the host caching options read write state for host caching options. HostCachingOptionsReadWrite HostCachingOptions = "ReadWrite" ) @@ -103,24 +95,19 @@ const ( type LinuxOsState string const ( - // DeprovisionApplied specifies the deprovision applied state for linux os - // state. + // DeprovisionApplied specifies the deprovision applied state for linux os state. DeprovisionApplied LinuxOsState = "DeprovisionApplied" - // DeprovisionRequested specifies the deprovision requested state for linux - // os state. + // DeprovisionRequested specifies the deprovision requested state for linux os state. DeprovisionRequested LinuxOsState = "DeprovisionRequested" - // NonDeprovisioned specifies the non deprovisioned state for linux os - // state. + // NonDeprovisioned specifies the non deprovisioned state for linux os state. NonDeprovisioned LinuxOsState = "NonDeprovisioned" ) -// NotificationChannelEventType enumerates the values for notification channel -// event type. +// NotificationChannelEventType enumerates the values for notification channel event type. type NotificationChannelEventType string const ( - // AutoShutdown specifies the auto shutdown state for notification channel - // event type. + // AutoShutdown specifies the auto shutdown state for notification channel event type. AutoShutdown NotificationChannelEventType = "AutoShutdown" // Cost specifies the cost state for notification channel event type. Cost NotificationChannelEventType = "Cost" @@ -130,11 +117,9 @@ const ( type NotificationStatus string const ( - // NotificationStatusDisabled specifies the notification status disabled - // state for notification status. + // NotificationStatusDisabled specifies the notification status disabled state for notification status. NotificationStatusDisabled NotificationStatus = "Disabled" - // NotificationStatusEnabled specifies the notification status enabled - // state for notification status. + // NotificationStatusEnabled specifies the notification status enabled state for notification status. NotificationStatusEnabled NotificationStatus = "Enabled" ) @@ -142,11 +127,9 @@ const ( type PolicyEvaluatorType string const ( - // AllowedValuesPolicy specifies the allowed values policy state for policy - // evaluator type. + // AllowedValuesPolicy specifies the allowed values policy state for policy evaluator type. AllowedValuesPolicy PolicyEvaluatorType = "AllowedValuesPolicy" - // MaxValuePolicy specifies the max value policy state for policy evaluator - // type. + // MaxValuePolicy specifies the max value policy state for policy evaluator type. MaxValuePolicy PolicyEvaluatorType = "MaxValuePolicy" ) @@ -154,29 +137,23 @@ const ( type PolicyFactName string const ( - // PolicyFactNameGalleryImage specifies the policy fact name gallery image - // state for policy fact name. + // PolicyFactNameGalleryImage specifies the policy fact name gallery image state for policy fact name. PolicyFactNameGalleryImage PolicyFactName = "GalleryImage" - // PolicyFactNameLabPremiumVMCount specifies the policy fact name lab - // premium vm count state for policy fact name. + // PolicyFactNameLabPremiumVMCount specifies the policy fact name lab premium vm count state for policy fact name. PolicyFactNameLabPremiumVMCount PolicyFactName = "LabPremiumVmCount" - // PolicyFactNameLabTargetCost specifies the policy fact name lab target - // cost state for policy fact name. + // PolicyFactNameLabTargetCost specifies the policy fact name lab target cost state for policy fact name. PolicyFactNameLabTargetCost PolicyFactName = "LabTargetCost" - // PolicyFactNameLabVMCount specifies the policy fact name lab vm count - // state for policy fact name. + // PolicyFactNameLabVMCount specifies the policy fact name lab vm count state for policy fact name. PolicyFactNameLabVMCount PolicyFactName = "LabVmCount" - // PolicyFactNameLabVMSize specifies the policy fact name lab vm size state - // for policy fact name. + // PolicyFactNameLabVMSize specifies the policy fact name lab vm size state for policy fact name. PolicyFactNameLabVMSize PolicyFactName = "LabVmSize" - // PolicyFactNameUserOwnedLabPremiumVMCount specifies the policy fact name - // user owned lab premium vm count state for policy fact name. + // PolicyFactNameUserOwnedLabPremiumVMCount specifies the policy fact name user owned lab premium vm count state for + // policy fact name. PolicyFactNameUserOwnedLabPremiumVMCount PolicyFactName = "UserOwnedLabPremiumVmCount" - // PolicyFactNameUserOwnedLabVMCount specifies the policy fact name user - // owned lab vm count state for policy fact name. + // PolicyFactNameUserOwnedLabVMCount specifies the policy fact name user owned lab vm count state for policy fact name. PolicyFactNameUserOwnedLabVMCount PolicyFactName = "UserOwnedLabVmCount" - // PolicyFactNameUserOwnedLabVMCountInSubnet specifies the policy fact name - // user owned lab vm count in subnet state for policy fact name. + // PolicyFactNameUserOwnedLabVMCountInSubnet specifies the policy fact name user owned lab vm count in subnet state for + // policy fact name. PolicyFactNameUserOwnedLabVMCountInSubnet PolicyFactName = "UserOwnedLabVmCountInSubnet" ) @@ -184,11 +161,9 @@ const ( type PolicyStatus string const ( - // PolicyStatusDisabled specifies the policy status disabled state for - // policy status. + // PolicyStatusDisabled specifies the policy status disabled state for policy status. PolicyStatusDisabled PolicyStatus = "Disabled" - // PolicyStatusEnabled specifies the policy status enabled state for policy - // status. + // PolicyStatusEnabled specifies the policy status enabled state for policy status. PolicyStatusEnabled PolicyStatus = "Enabled" ) @@ -196,11 +171,9 @@ const ( type PremiumDataDisk string const ( - // PremiumDataDiskDisabled specifies the premium data disk disabled state - // for premium data disk. + // PremiumDataDiskDisabled specifies the premium data disk disabled state for premium data disk. PremiumDataDiskDisabled PremiumDataDisk = "Disabled" - // PremiumDataDiskEnabled specifies the premium data disk enabled state for - // premium data disk. + // PremiumDataDiskEnabled specifies the premium data disk enabled state for premium data disk. PremiumDataDiskEnabled PremiumDataDisk = "Enabled" ) @@ -208,8 +181,7 @@ const ( type ReportingCycleType string const ( - // CalendarMonth specifies the calendar month state for reporting cycle - // type. + // CalendarMonth specifies the calendar month state for reporting cycle type. CalendarMonth ReportingCycleType = "CalendarMonth" // Custom specifies the custom state for reporting cycle type. Custom ReportingCycleType = "Custom" @@ -239,11 +211,9 @@ const ( type TargetCostStatus string const ( - // TargetCostStatusDisabled specifies the target cost status disabled state - // for target cost status. + // TargetCostStatusDisabled specifies the target cost status disabled state for target cost status. TargetCostStatusDisabled TargetCostStatus = "Disabled" - // TargetCostStatusEnabled specifies the target cost status enabled state - // for target cost status. + // TargetCostStatusEnabled specifies the target cost status enabled state for target cost status. TargetCostStatusEnabled TargetCostStatus = "Enabled" ) @@ -269,16 +239,13 @@ const ( Deny UsagePermissionType = "Deny" ) -// VirtualMachineCreationSource enumerates the values for virtual machine -// creation source. +// VirtualMachineCreationSource enumerates the values for virtual machine creation source. type VirtualMachineCreationSource string const ( - // FromCustomImage specifies the from custom image state for virtual - // machine creation source. + // FromCustomImage specifies the from custom image state for virtual machine creation source. FromCustomImage VirtualMachineCreationSource = "FromCustomImage" - // FromGalleryImage specifies the from gallery image state for virtual - // machine creation source. + // FromGalleryImage specifies the from gallery image state for virtual machine creation source. FromGalleryImage VirtualMachineCreationSource = "FromGalleryImage" ) @@ -290,13 +257,12 @@ const ( NonSysprepped WindowsOsState = "NonSysprepped" // SysprepApplied specifies the sysprep applied state for windows os state. SysprepApplied WindowsOsState = "SysprepApplied" - // SysprepRequested specifies the sysprep requested state for windows os - // state. + // SysprepRequested specifies the sysprep requested state for windows os state. SysprepRequested WindowsOsState = "SysprepRequested" ) -// ApplicableSchedule is schedules applicable to a virtual machine. The -// schedules may have been defined on a VM or on lab level. +// ApplicableSchedule is schedules applicable to a virtual machine. The schedules may have been defined on a VM or on +// lab level. type ApplicableSchedule struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -307,8 +273,8 @@ type ApplicableSchedule struct { *ApplicableScheduleProperties `json:"properties,omitempty"` } -// ApplicableScheduleFragment is schedules applicable to a virtual machine. The -// schedules may have been defined on a VM or on lab level. +// ApplicableScheduleFragment is schedules applicable to a virtual machine. The schedules may have been defined on a VM +// or on lab level. type ApplicableScheduleFragment struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` @@ -318,22 +284,19 @@ type ApplicableScheduleFragment struct { *ApplicableSchedulePropertiesFragment `json:"properties,omitempty"` } -// ApplicableScheduleProperties is properties of a schedules applicable to a -// virtual machine. +// ApplicableScheduleProperties is properties of a schedules applicable to a virtual machine. type ApplicableScheduleProperties struct { LabVmsShutdown *Schedule `json:"labVmsShutdown,omitempty"` LabVmsStartup *Schedule `json:"labVmsStartup,omitempty"` } -// ApplicableSchedulePropertiesFragment is properties of a schedules applicable -// to a virtual machine. +// ApplicableSchedulePropertiesFragment is properties of a schedules applicable to a virtual machine. type ApplicableSchedulePropertiesFragment struct { LabVmsShutdown *ScheduleFragment `json:"labVmsShutdown,omitempty"` LabVmsStartup *ScheduleFragment `json:"labVmsStartup,omitempty"` } -// ApplyArtifactsRequest is request body for applying artifacts to a virtual -// machine. +// ApplyArtifactsRequest is request body for applying artifacts to a virtual machine. type ApplyArtifactsRequest struct { Artifacts *[]ArtifactInstallProperties `json:"artifacts,omitempty"` } @@ -356,8 +319,7 @@ type ArmTemplateInfo struct { Parameters *map[string]interface{} `json:"parameters,omitempty"` } -// ArmTemplateParameterProperties is properties of an Azure Resource Manager -// template parameter. +// ArmTemplateParameterProperties is properties of an Azure Resource Manager template parameter. type ArmTemplateParameterProperties struct { Name *string `json:"name,omitempty"` Value *string `json:"value,omitempty"` @@ -392,8 +354,7 @@ type ArtifactDeploymentStatusProperties struct { TotalArtifacts *int32 `json:"totalArtifacts,omitempty"` } -// ArtifactDeploymentStatusPropertiesFragment is properties of an artifact -// deployment. +// ArtifactDeploymentStatusPropertiesFragment is properties of an artifact deployment. type ArtifactDeploymentStatusPropertiesFragment struct { DeploymentStatus *string `json:"deploymentStatus,omitempty"` ArtifactsApplied *int32 `json:"artifactsApplied,omitempty"` @@ -499,16 +460,14 @@ type AttachDiskProperties struct { LeasedByLabVMID *string `json:"leasedByLabVmId,omitempty"` } -// AttachNewDataDiskOptions is properties to attach new disk to the Virtual -// Machine. +// AttachNewDataDiskOptions is properties to attach new disk to the Virtual Machine. type AttachNewDataDiskOptions struct { DiskSizeGiB *int32 `json:"diskSizeGiB,omitempty"` DiskName *string `json:"diskName,omitempty"` DiskType StorageType `json:"diskType,omitempty"` } -// BulkCreationParameters is parameters for creating multiple virtual machines -// as a single action. +// BulkCreationParameters is parameters for creating multiple virtual machines as a single action. type BulkCreationParameters struct { InstanceCount *int32 `json:"instanceCount,omitempty"` } @@ -549,16 +508,14 @@ type ComputeVMInstanceViewStatus struct { Message *string `json:"message,omitempty"` } -// ComputeVMInstanceViewStatusFragment is status information about a virtual -// machine. +// ComputeVMInstanceViewStatusFragment is status information about a virtual machine. type ComputeVMInstanceViewStatusFragment struct { Code *string `json:"code,omitempty"` DisplayStatus *string `json:"displayStatus,omitempty"` Message *string `json:"message,omitempty"` } -// ComputeVMProperties is properties of a virtual machine returned by the -// Microsoft.Compute API. +// ComputeVMProperties is properties of a virtual machine returned by the Microsoft.Compute API. type ComputeVMProperties struct { Statuses *[]ComputeVMInstanceViewStatus `json:"statuses,omitempty"` OsType *string `json:"osType,omitempty"` @@ -569,8 +526,7 @@ type ComputeVMProperties struct { DataDisks *[]ComputeDataDisk `json:"dataDisks,omitempty"` } -// ComputeVMPropertiesFragment is properties of a virtual machine returned by -// the Microsoft.Compute API. +// ComputeVMPropertiesFragment is properties of a virtual machine returned by the Microsoft.Compute API. type ComputeVMPropertiesFragment struct { Statuses *[]ComputeVMInstanceViewStatusFragment `json:"statuses,omitempty"` OsType *string `json:"osType,omitempty"` @@ -613,24 +569,21 @@ type CustomImageProperties struct { UniqueIdentifier *string `json:"uniqueIdentifier,omitempty"` } -// CustomImagePropertiesCustom is properties for creating a custom image from a -// VHD. +// CustomImagePropertiesCustom is properties for creating a custom image from a VHD. type CustomImagePropertiesCustom struct { ImageName *string `json:"imageName,omitempty"` SysPrep *bool `json:"sysPrep,omitempty"` OsType CustomImageOsType `json:"osType,omitempty"` } -// CustomImagePropertiesFromVM is properties for creating a custom image from a -// virtual machine. +// CustomImagePropertiesFromVM is properties for creating a custom image from a virtual machine. type CustomImagePropertiesFromVM struct { SourceVMID *string `json:"sourceVmId,omitempty"` WindowsOsInfo *WindowsOsInfo `json:"windowsOsInfo,omitempty"` LinuxOsInfo *LinuxOsInfo `json:"linuxOsInfo,omitempty"` } -// DataDiskProperties is request body for adding a new or existing data disk to -// a virtual machine. +// DataDiskProperties is request body for adding a new or existing data disk to a virtual machine. type DataDiskProperties struct { AttachNewDataDiskOptions *AttachNewDataDiskOptions `json:"attachNewDataDiskOptions,omitempty"` ExistingLabDiskID *string `json:"existingLabDiskId,omitempty"` @@ -647,8 +600,7 @@ type DayDetailsFragment struct { Time *string `json:"time,omitempty"` } -// DetachDataDiskProperties is request body for detaching data disk from a -// virtual machine. +// DetachDataDiskProperties is request body for detaching data disk from a virtual machine. type DetachDataDiskProperties struct { ExistingLabDiskID *string `json:"existingLabDiskId,omitempty"` } @@ -683,8 +635,7 @@ type DiskProperties struct { UniqueIdentifier *string `json:"uniqueIdentifier,omitempty"` } -// DtlEnvironment is an environment, which is essentially an ARM template -// deployment. +// DtlEnvironment is an environment, which is essentially an ARM template deployment. type DtlEnvironment struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -745,22 +696,19 @@ type ExportResourceUsageParameters struct { UsageStartDate *date.Time `json:"usageStartDate,omitempty"` } -// ExternalSubnet is subnet information as returned by the Microsoft.Network -// API. +// ExternalSubnet is subnet information as returned by the Microsoft.Network API. type ExternalSubnet struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` } -// ExternalSubnetFragment is subnet information as returned by the -// Microsoft.Network API. +// ExternalSubnetFragment is subnet information as returned by the Microsoft.Network API. type ExternalSubnetFragment struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` } -// Formula is a formula for creating a VM, specifying an image base and other -// parameters +// Formula is a formula for creating a VM, specifying an image base and other parameters type Formula struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -783,8 +731,7 @@ type FormulaProperties struct { UniqueIdentifier *string `json:"uniqueIdentifier,omitempty"` } -// FormulaPropertiesFromVM is information about a VM from which a formula is to -// be created. +// FormulaPropertiesFromVM is information about a VM from which a formula is to be created. type FormulaPropertiesFromVM struct { LabVMID *string `json:"labVmId,omitempty"` } @@ -809,8 +756,7 @@ type GalleryImageProperties struct { Enabled *bool `json:"enabled,omitempty"` } -// GalleryImageReference is the reference information for an Azure Marketplace -// image. +// GalleryImageReference is the reference information for an Azure Marketplace image. type GalleryImageReference struct { Offer *string `json:"offer,omitempty"` Publisher *string `json:"publisher,omitempty"` @@ -819,8 +765,7 @@ type GalleryImageReference struct { Version *string `json:"version,omitempty"` } -// GalleryImageReferenceFragment is the reference information for an Azure -// Marketplace image. +// GalleryImageReferenceFragment is the reference information for an Azure Marketplace image. type GalleryImageReferenceFragment struct { Offer *string `json:"offer,omitempty"` Publisher *string `json:"publisher,omitempty"` @@ -829,8 +774,7 @@ type GalleryImageReferenceFragment struct { Version *string `json:"version,omitempty"` } -// GenerateArmTemplateRequest is parameters for generating an ARM template for -// deploying artifacts. +// GenerateArmTemplateRequest is parameters for generating an ARM template for deploying artifacts. type GenerateArmTemplateRequest struct { VirtualMachineName *string `json:"virtualMachineName,omitempty"` Parameters *[]ParameterInfo `json:"parameters,omitempty"` @@ -867,16 +811,16 @@ type IdentityProperties struct { ClientSecretURL *string `json:"clientSecretUrl,omitempty"` } -// InboundNatRule is a rule for NAT - exposing a VM's port (backendPort) on the -// public IP address using a load balancer. +// InboundNatRule is a rule for NAT - exposing a VM's port (backendPort) on the public IP address using a load +// balancer. type InboundNatRule struct { TransportProtocol TransportProtocol `json:"transportProtocol,omitempty"` FrontendPort *int32 `json:"frontendPort,omitempty"` BackendPort *int32 `json:"backendPort,omitempty"` } -// InboundNatRuleFragment is a rule for NAT - exposing a VM's port -// (backendPort) on the public IP address using a load balancer. +// InboundNatRuleFragment is a rule for NAT - exposing a VM's port (backendPort) on the public IP address using a load +// balancer. type InboundNatRuleFragment struct { TransportProtocol TransportProtocol `json:"transportProtocol,omitempty"` FrontendPort *int32 `json:"frontendPort,omitempty"` @@ -992,8 +936,7 @@ type LabVirtualMachine struct { *LabVirtualMachineProperties `json:"properties,omitempty"` } -// LabVirtualMachineCreationParameter is properties for creating a virtual -// machine. +// LabVirtualMachineCreationParameter is properties for creating a virtual machine. type LabVirtualMachineCreationParameter struct { *LabVirtualMachineCreationParameterProperties `json:"properties,omitempty"` Name *string `json:"name,omitempty"` @@ -1001,8 +944,7 @@ type LabVirtualMachineCreationParameter struct { Tags *map[string]*string `json:"tags,omitempty"` } -// LabVirtualMachineCreationParameterProperties is properties for virtual -// machine creation. +// LabVirtualMachineCreationParameterProperties is properties for virtual machine creation. type LabVirtualMachineCreationParameterProperties struct { BulkCreationParameters *BulkCreationParameters `json:"bulkCreationParameters,omitempty"` Notes *string `json:"notes,omitempty"` @@ -1213,15 +1155,13 @@ type ParameterInfo struct { Value *string `json:"value,omitempty"` } -// ParametersValueFileInfo is a file containing a set of parameter values for -// an ARM template. +// ParametersValueFileInfo is a file containing a set of parameter values for an ARM template. type ParametersValueFileInfo struct { FileName *string `json:"fileName,omitempty"` ParametersValueInfo *map[string]interface{} `json:"parametersValueInfo,omitempty"` } -// PercentageCostThresholdProperties is properties of a percentage cost -// threshold. +// PercentageCostThresholdProperties is properties of a percentage cost threshold. type PercentageCostThresholdProperties struct { ThresholdValue *float64 `json:"thresholdValue,omitempty"` } @@ -1495,8 +1435,7 @@ func (client ResponseWithContinuationLabVhd) ResponseWithContinuationLabVhdPrepa autorest.WithBaseURL(to.String(client.NextLink))) } -// ResponseWithContinuationLabVirtualMachine is the response of a list -// operation. +// ResponseWithContinuationLabVirtualMachine is the response of a list operation. type ResponseWithContinuationLabVirtualMachine struct { autorest.Response `json:"-"` Value *[]LabVirtualMachine `json:"value,omitempty"` @@ -1515,8 +1454,7 @@ func (client ResponseWithContinuationLabVirtualMachine) ResponseWithContinuation autorest.WithBaseURL(to.String(client.NextLink))) } -// ResponseWithContinuationNotificationChannel is the response of a list -// operation. +// ResponseWithContinuationNotificationChannel is the response of a list operation. type ResponseWithContinuationNotificationChannel struct { autorest.Response `json:"-"` Value *[]NotificationChannel `json:"value,omitempty"` @@ -1649,8 +1587,7 @@ func (client ResponseWithContinuationVirtualNetwork) ResponseWithContinuationVir autorest.WithBaseURL(to.String(client.NextLink))) } -// RetargetScheduleProperties is properties for retargeting a virtual machine -// schedule. +// RetargetScheduleProperties is properties for retargeting a virtual machine schedule. type RetargetScheduleProperties struct { CurrentResourceID *string `json:"currentResourceId,omitempty"` TargetResourceID *string `json:"targetResourceId,omitempty"` @@ -1724,8 +1661,7 @@ type SecretProperties struct { UniqueIdentifier *string `json:"uniqueIdentifier,omitempty"` } -// ServiceRunner is a container for a managed identity to execute DevTest lab -// services. +// ServiceRunner is a container for a managed identity to execute DevTest lab services. type ServiceRunner struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -1736,21 +1672,20 @@ type ServiceRunner struct { Identity *IdentityProperties `json:"identity,omitempty"` } -// SharedPublicIPAddressConfiguration is properties of a virtual machine that -// determine how it is connected to a load balancer. +// SharedPublicIPAddressConfiguration is properties of a virtual machine that determine how it is connected to a load +// balancer. type SharedPublicIPAddressConfiguration struct { InboundNatRules *[]InboundNatRule `json:"inboundNatRules,omitempty"` } -// SharedPublicIPAddressConfigurationFragment is properties of a virtual -// machine that determine how it is connected to a load balancer. +// SharedPublicIPAddressConfigurationFragment is properties of a virtual machine that determine how it is connected to +// a load balancer. type SharedPublicIPAddressConfigurationFragment struct { InboundNatRules *[]InboundNatRuleFragment `json:"inboundNatRules,omitempty"` } -// ShutdownNotificationContent is the contents of a shutdown notification. -// Webhooks can use this type to deserialize the request body when they get -// notified of an imminent shutdown. +// ShutdownNotificationContent is the contents of a shutdown notification. Webhooks can use this type to deserialize +// the request body when they get notified of an imminent shutdown. type ShutdownNotificationContent struct { SkipURL *string `json:"skipUrl,omitempty"` DelayURL60 *string `json:"delayUrl60,omitempty"` @@ -1789,8 +1724,7 @@ type SubnetOverride struct { VirtualNetworkPoolName *string `json:"virtualNetworkPoolName,omitempty"` } -// SubnetOverrideFragment is property overrides on a subnet of a virtual -// network. +// SubnetOverrideFragment is property overrides on a subnet of a virtual network. type SubnetOverrideFragment struct { ResourceID *string `json:"resourceId,omitempty"` LabSubnetName *string `json:"labSubnetName,omitempty"` @@ -1800,14 +1734,12 @@ type SubnetOverrideFragment struct { VirtualNetworkPoolName *string `json:"virtualNetworkPoolName,omitempty"` } -// SubnetSharedPublicIPAddressConfiguration is configuration for public IP -// address sharing. +// SubnetSharedPublicIPAddressConfiguration is configuration for public IP address sharing. type SubnetSharedPublicIPAddressConfiguration struct { AllowedPorts *[]Port `json:"allowedPorts,omitempty"` } -// SubnetSharedPublicIPAddressConfigurationFragment is configuration for public -// IP address sharing. +// SubnetSharedPublicIPAddressConfigurationFragment is configuration for public IP address sharing. type SubnetSharedPublicIPAddressConfigurationFragment struct { AllowedPorts *[]PortFragment `json:"allowedPorts,omitempty"` } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/notificationchannels.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/notificationchannels.go index f9acf5b38..d39a8f872 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/notificationchannels.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/notificationchannels.go @@ -14,9 +14,8 @@ package devtestlabs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -30,23 +29,20 @@ type NotificationChannelsClient struct { ManagementClient } -// NewNotificationChannelsClient creates an instance of the -// NotificationChannelsClient client. +// NewNotificationChannelsClient creates an instance of the NotificationChannelsClient client. func NewNotificationChannelsClient(subscriptionID string) NotificationChannelsClient { return NewNotificationChannelsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewNotificationChannelsClientWithBaseURI creates an instance of the -// NotificationChannelsClient client. +// NewNotificationChannelsClientWithBaseURI creates an instance of the NotificationChannelsClient client. func NewNotificationChannelsClientWithBaseURI(baseURI string, subscriptionID string) NotificationChannelsClient { return NotificationChannelsClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate create or replace an existing notificationChannel. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the notificationChannel. notificationChannel is -// a notification. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the +// notificationChannel. notificationChannel is a notification. func (client NotificationChannelsClient) CreateOrUpdate(resourceGroupName string, labName string, name string, notificationChannel NotificationChannel) (result NotificationChannel, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: notificationChannel, @@ -120,8 +116,8 @@ func (client NotificationChannelsClient) CreateOrUpdateResponder(resp *http.Resp // Delete delete notificationchannel. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the notificationChannel. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the +// notificationChannel. func (client NotificationChannelsClient) Delete(resourceGroupName string, labName string, name string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, labName, name) if err != nil { @@ -186,9 +182,8 @@ func (client NotificationChannelsClient) DeleteResponder(resp *http.Response) (r // Get get notificationchannel. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the notificationChannel. expand is specify the -// $expand query. Example: 'properties($select=webHookUrl)' +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the +// notificationChannel. expand is specify the $expand query. Example: 'properties($select=webHookUrl)' func (client NotificationChannelsClient) Get(resourceGroupName string, labName string, name string, expand string) (result NotificationChannel, err error) { req, err := client.GetPreparer(resourceGroupName, labName, name, expand) if err != nil { @@ -257,11 +252,9 @@ func (client NotificationChannelsClient) GetResponder(resp *http.Response) (resu // List list notificationchannels in a given lab. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. expand is specify the $expand query. Example: -// 'properties($select=webHookUrl)' filter is the filter to apply to the -// operation. top is the maximum number of resources to return from the -// operation. orderby is the ordering expression for the results, using OData +// resourceGroupName is the name of the resource group. labName is the name of the lab. expand is specify the $expand +// query. Example: 'properties($select=webHookUrl)' filter is the filter to apply to the operation. top is the maximum +// number of resources to return from the operation. orderby is the ordering expression for the results, using OData // notation. func (client NotificationChannelsClient) List(resourceGroupName string, labName string, expand string, filter string, top *int32, orderby string) (result ResponseWithContinuationNotificationChannel, err error) { req, err := client.ListPreparer(resourceGroupName, labName, expand, filter, top, orderby) @@ -361,11 +354,55 @@ func (client NotificationChannelsClient) ListNextResults(lastResults ResponseWit return } +// ListComplete gets all elements from the list without paging. +func (client NotificationChannelsClient) ListComplete(resourceGroupName string, labName string, expand string, filter string, top *int32, orderby string, cancel <-chan struct{}) (<-chan NotificationChannel, <-chan error) { + resultChan := make(chan NotificationChannel) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, labName, expand, filter, top, orderby) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Notify send notification to provided channel. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the notificationChannel. notifyParameters is -// properties for generating a Notification. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the +// notificationChannel. notifyParameters is properties for generating a Notification. func (client NotificationChannelsClient) Notify(resourceGroupName string, labName string, name string, notifyParameters NotifyParameters) (result autorest.Response, err error) { req, err := client.NotifyPreparer(resourceGroupName, labName, name, notifyParameters) if err != nil { @@ -432,9 +469,8 @@ func (client NotificationChannelsClient) NotifyResponder(resp *http.Response) (r // Update modify properties of notificationchannels. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the notificationChannel. notificationChannel is -// a notification. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the +// notificationChannel. notificationChannel is a notification. func (client NotificationChannelsClient) Update(resourceGroupName string, labName string, name string, notificationChannel NotificationChannelFragment) (result NotificationChannel, err error) { req, err := client.UpdatePreparer(resourceGroupName, labName, name, notificationChannel) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/policies.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/policies.go index 7405b86e1..2bd717770 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/policies.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/policies.go @@ -14,9 +14,8 @@ package devtestlabs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -35,17 +34,15 @@ func NewPoliciesClient(subscriptionID string) PoliciesClient { return NewPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewPoliciesClientWithBaseURI creates an instance of the PoliciesClient -// client. +// NewPoliciesClientWithBaseURI creates an instance of the PoliciesClient client. func NewPoliciesClientWithBaseURI(baseURI string, subscriptionID string) PoliciesClient { return PoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate create or replace an existing policy. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. policySetName is the name of the policy set. name is the name of -// the policy. policy is a Policy. +// resourceGroupName is the name of the resource group. labName is the name of the lab. policySetName is the name of +// the policy set. name is the name of the policy. policy is a Policy. func (client PoliciesClient) CreateOrUpdate(resourceGroupName string, labName string, policySetName string, name string, policy Policy) (result Policy, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: policy, @@ -120,9 +117,8 @@ func (client PoliciesClient) CreateOrUpdateResponder(resp *http.Response) (resul // Delete delete policy. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. policySetName is the name of the policy set. name is the name of -// the policy. +// resourceGroupName is the name of the resource group. labName is the name of the lab. policySetName is the name of +// the policy set. name is the name of the policy. func (client PoliciesClient) Delete(resourceGroupName string, labName string, policySetName string, name string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, labName, policySetName, name) if err != nil { @@ -188,9 +184,8 @@ func (client PoliciesClient) DeleteResponder(resp *http.Response) (result autore // Get get policy. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. policySetName is the name of the policy set. name is the name of -// the policy. expand is specify the $expand query. Example: +// resourceGroupName is the name of the resource group. labName is the name of the lab. policySetName is the name of +// the policy set. name is the name of the policy. expand is specify the $expand query. Example: // 'properties($select=description)' func (client PoliciesClient) Get(resourceGroupName string, labName string, policySetName string, name string, expand string) (result Policy, err error) { req, err := client.GetPreparer(resourceGroupName, labName, policySetName, name, expand) @@ -261,12 +256,10 @@ func (client PoliciesClient) GetResponder(resp *http.Response) (result Policy, e // List list policies in a given policy set. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. policySetName is the name of the policy set. expand is specify the -// $expand query. Example: 'properties($select=description)' filter is the -// filter to apply to the operation. top is the maximum number of resources to -// return from the operation. orderby is the ordering expression for the -// results, using OData notation. +// resourceGroupName is the name of the resource group. labName is the name of the lab. policySetName is the name of +// the policy set. expand is specify the $expand query. Example: 'properties($select=description)' filter is the filter +// to apply to the operation. top is the maximum number of resources to return from the operation. orderby is the +// ordering expression for the results, using OData notation. func (client PoliciesClient) List(resourceGroupName string, labName string, policySetName string, expand string, filter string, top *int32, orderby string) (result ResponseWithContinuationPolicy, err error) { req, err := client.ListPreparer(resourceGroupName, labName, policySetName, expand, filter, top, orderby) if err != nil { @@ -366,11 +359,55 @@ func (client PoliciesClient) ListNextResults(lastResults ResponseWithContinuatio return } +// ListComplete gets all elements from the list without paging. +func (client PoliciesClient) ListComplete(resourceGroupName string, labName string, policySetName string, expand string, filter string, top *int32, orderby string, cancel <-chan struct{}) (<-chan Policy, <-chan error) { + resultChan := make(chan Policy) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, labName, policySetName, expand, filter, top, orderby) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update modify properties of policies. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. policySetName is the name of the policy set. name is the name of -// the policy. policy is a Policy. +// resourceGroupName is the name of the resource group. labName is the name of the lab. policySetName is the name of +// the policy set. name is the name of the policy. policy is a Policy. func (client PoliciesClient) Update(resourceGroupName string, labName string, policySetName string, name string, policy PolicyFragment) (result Policy, err error) { req, err := client.UpdatePreparer(resourceGroupName, labName, policySetName, name, policy) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/policysets.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/policysets.go index d61065502..4fe929881 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/policysets.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/policysets.go @@ -14,9 +14,8 @@ package devtestlabs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -34,17 +33,15 @@ func NewPolicySetsClient(subscriptionID string) PolicySetsClient { return NewPolicySetsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewPolicySetsClientWithBaseURI creates an instance of the PolicySetsClient -// client. +// NewPolicySetsClientWithBaseURI creates an instance of the PolicySetsClient client. func NewPolicySetsClientWithBaseURI(baseURI string, subscriptionID string) PolicySetsClient { return PolicySetsClient{NewWithBaseURI(baseURI, subscriptionID)} } // EvaluatePolicies evaluates lab policy. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the policy set. evaluatePoliciesRequest is -// request body for evaluating a policy set. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the policy +// set. evaluatePoliciesRequest is request body for evaluating a policy set. func (client PolicySetsClient) EvaluatePolicies(resourceGroupName string, labName string, name string, evaluatePoliciesRequest EvaluatePoliciesRequest) (result EvaluatePoliciesResponse, err error) { req, err := client.EvaluatePoliciesPreparer(resourceGroupName, labName, name, evaluatePoliciesRequest) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/schedules.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/schedules.go index 2a8ab3335..9cf35cff5 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/schedules.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/schedules.go @@ -14,9 +14,8 @@ package devtestlabs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -35,16 +34,15 @@ func NewSchedulesClient(subscriptionID string) SchedulesClient { return NewSchedulesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewSchedulesClientWithBaseURI creates an instance of the SchedulesClient -// client. +// NewSchedulesClientWithBaseURI creates an instance of the SchedulesClient client. func NewSchedulesClientWithBaseURI(baseURI string, subscriptionID string) SchedulesClient { return SchedulesClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate create or replace an existing schedule. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the schedule. schedule is a schedule. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the +// schedule. schedule is a schedule. func (client SchedulesClient) CreateOrUpdate(resourceGroupName string, labName string, name string, schedule Schedule) (result Schedule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: schedule, @@ -118,8 +116,8 @@ func (client SchedulesClient) CreateOrUpdateResponder(resp *http.Response) (resu // Delete delete schedule. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the schedule. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the +// schedule. func (client SchedulesClient) Delete(resourceGroupName string, labName string, name string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, labName, name) if err != nil { @@ -182,13 +180,12 @@ func (client SchedulesClient) DeleteResponder(resp *http.Response) (result autor return } -// Execute execute a schedule. This operation can take a while to complete. -// This method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// Execute execute a schedule. This operation can take a while to complete. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the schedule. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the +// schedule. func (client SchedulesClient) Execute(resourceGroupName string, labName string, name string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -196,8 +193,10 @@ func (client SchedulesClient) Execute(resourceGroupName string, labName string, var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -266,9 +265,8 @@ func (client SchedulesClient) ExecuteResponder(resp *http.Response) (result auto // Get get schedule. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the schedule. expand is specify the $expand -// query. Example: 'properties($select=status)' +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the +// schedule. expand is specify the $expand query. Example: 'properties($select=status)' func (client SchedulesClient) Get(resourceGroupName string, labName string, name string, expand string) (result Schedule, err error) { req, err := client.GetPreparer(resourceGroupName, labName, name, expand) if err != nil { @@ -337,11 +335,10 @@ func (client SchedulesClient) GetResponder(resp *http.Response) (result Schedule // List list schedules in a given lab. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. expand is specify the $expand query. Example: -// 'properties($select=status)' filter is the filter to apply to the operation. -// top is the maximum number of resources to return from the operation. orderby -// is the ordering expression for the results, using OData notation. +// resourceGroupName is the name of the resource group. labName is the name of the lab. expand is specify the $expand +// query. Example: 'properties($select=status)' filter is the filter to apply to the operation. top is the maximum +// number of resources to return from the operation. orderby is the ordering expression for the results, using OData +// notation. func (client SchedulesClient) List(resourceGroupName string, labName string, expand string, filter string, top *int32, orderby string) (result ResponseWithContinuationSchedule, err error) { req, err := client.ListPreparer(resourceGroupName, labName, expand, filter, top, orderby) if err != nil { @@ -440,10 +437,55 @@ func (client SchedulesClient) ListNextResults(lastResults ResponseWithContinuati return } +// ListComplete gets all elements from the list without paging. +func (client SchedulesClient) ListComplete(resourceGroupName string, labName string, expand string, filter string, top *int32, orderby string, cancel <-chan struct{}) (<-chan Schedule, <-chan error) { + resultChan := make(chan Schedule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, labName, expand, filter, top, orderby) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListApplicable lists all applicable schedules // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the schedule. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the +// schedule. func (client SchedulesClient) ListApplicable(resourceGroupName string, labName string, name string) (result ResponseWithContinuationSchedule, err error) { req, err := client.ListApplicablePreparer(resourceGroupName, labName, name) if err != nil { @@ -531,10 +573,55 @@ func (client SchedulesClient) ListApplicableNextResults(lastResults ResponseWith return } +// ListApplicableComplete gets all elements from the list without paging. +func (client SchedulesClient) ListApplicableComplete(resourceGroupName string, labName string, name string, cancel <-chan struct{}) (<-chan Schedule, <-chan error) { + resultChan := make(chan Schedule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListApplicable(resourceGroupName, labName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListApplicableNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update modify properties of schedules. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the schedule. schedule is a schedule. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the +// schedule. schedule is a schedule. func (client SchedulesClient) Update(resourceGroupName string, labName string, name string, schedule ScheduleFragment) (result Schedule, err error) { req, err := client.UpdatePreparer(resourceGroupName, labName, name, schedule) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/secrets.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/secrets.go index 598a7d065..78effb2d0 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/secrets.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/secrets.go @@ -14,9 +14,8 @@ package devtestlabs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -42,9 +41,8 @@ func NewSecretsClientWithBaseURI(baseURI string, subscriptionID string) SecretsC // CreateOrUpdate create or replace an existing secret. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. userName is the name of the user profile. name is the name of the -// secret. secret is a secret. +// resourceGroupName is the name of the resource group. labName is the name of the lab. userName is the name of the +// user profile. name is the name of the secret. secret is a secret. func (client SecretsClient) CreateOrUpdate(resourceGroupName string, labName string, userName string, name string, secret Secret) (result Secret, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: secret, @@ -119,9 +117,8 @@ func (client SecretsClient) CreateOrUpdateResponder(resp *http.Response) (result // Delete delete secret. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. userName is the name of the user profile. name is the name of the -// secret. +// resourceGroupName is the name of the resource group. labName is the name of the lab. userName is the name of the +// user profile. name is the name of the secret. func (client SecretsClient) Delete(resourceGroupName string, labName string, userName string, name string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, labName, userName, name) if err != nil { @@ -187,9 +184,8 @@ func (client SecretsClient) DeleteResponder(resp *http.Response) (result autores // Get get secret. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. userName is the name of the user profile. name is the name of the -// secret. expand is specify the $expand query. Example: +// resourceGroupName is the name of the resource group. labName is the name of the lab. userName is the name of the +// user profile. name is the name of the secret. expand is specify the $expand query. Example: // 'properties($select=value)' func (client SecretsClient) Get(resourceGroupName string, labName string, userName string, name string, expand string) (result Secret, err error) { req, err := client.GetPreparer(resourceGroupName, labName, userName, name, expand) @@ -260,12 +256,10 @@ func (client SecretsClient) GetResponder(resp *http.Response) (result Secret, er // List list secrets in a given user profile. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. userName is the name of the user profile. expand is specify the -// $expand query. Example: 'properties($select=value)' filter is the filter to -// apply to the operation. top is the maximum number of resources to return -// from the operation. orderby is the ordering expression for the results, -// using OData notation. +// resourceGroupName is the name of the resource group. labName is the name of the lab. userName is the name of the +// user profile. expand is specify the $expand query. Example: 'properties($select=value)' filter is the filter to +// apply to the operation. top is the maximum number of resources to return from the operation. orderby is the ordering +// expression for the results, using OData notation. func (client SecretsClient) List(resourceGroupName string, labName string, userName string, expand string, filter string, top *int32, orderby string) (result ResponseWithContinuationSecret, err error) { req, err := client.ListPreparer(resourceGroupName, labName, userName, expand, filter, top, orderby) if err != nil { @@ -364,3 +358,48 @@ func (client SecretsClient) ListNextResults(lastResults ResponseWithContinuation return } + +// ListComplete gets all elements from the list without paging. +func (client SecretsClient) ListComplete(resourceGroupName string, labName string, userName string, expand string, filter string, top *int32, orderby string, cancel <-chan struct{}) (<-chan Secret, <-chan error) { + resultChan := make(chan Secret) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, labName, userName, expand, filter, top, orderby) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/servicerunners.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/servicerunners.go index 5f473b636..06606bc72 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/servicerunners.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/servicerunners.go @@ -14,9 +14,8 @@ package devtestlabs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -29,23 +28,20 @@ type ServiceRunnersClient struct { ManagementClient } -// NewServiceRunnersClient creates an instance of the ServiceRunnersClient -// client. +// NewServiceRunnersClient creates an instance of the ServiceRunnersClient client. func NewServiceRunnersClient(subscriptionID string) ServiceRunnersClient { return NewServiceRunnersClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewServiceRunnersClientWithBaseURI creates an instance of the -// ServiceRunnersClient client. +// NewServiceRunnersClientWithBaseURI creates an instance of the ServiceRunnersClient client. func NewServiceRunnersClientWithBaseURI(baseURI string, subscriptionID string) ServiceRunnersClient { return ServiceRunnersClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate create or replace an existing Service runner. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the service runner. serviceRunner is a -// container for a managed identity to execute DevTest lab services. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the service +// runner. serviceRunner is a container for a managed identity to execute DevTest lab services. func (client ServiceRunnersClient) CreateOrUpdate(resourceGroupName string, labName string, name string, serviceRunner ServiceRunner) (result ServiceRunner, err error) { req, err := client.CreateOrUpdatePreparer(resourceGroupName, labName, name, serviceRunner) if err != nil { @@ -113,8 +109,8 @@ func (client ServiceRunnersClient) CreateOrUpdateResponder(resp *http.Response) // Delete delete service runner. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the service runner. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the service +// runner. func (client ServiceRunnersClient) Delete(resourceGroupName string, labName string, name string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, labName, name) if err != nil { @@ -179,8 +175,8 @@ func (client ServiceRunnersClient) DeleteResponder(resp *http.Response) (result // Get get service runner. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the service runner. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the service +// runner. func (client ServiceRunnersClient) Get(resourceGroupName string, labName string, name string) (result ServiceRunner, err error) { req, err := client.GetPreparer(resourceGroupName, labName, name) if err != nil { @@ -246,9 +242,8 @@ func (client ServiceRunnersClient) GetResponder(resp *http.Response) (result Ser // List list service runners in a given lab. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. filter is the filter to apply to the operation. top is the maximum -// number of resources to return from the operation. orderby is the ordering +// resourceGroupName is the name of the resource group. labName is the name of the lab. filter is the filter to apply +// to the operation. top is the maximum number of resources to return from the operation. orderby is the ordering // expression for the results, using OData notation. func (client ServiceRunnersClient) List(resourceGroupName string, labName string, filter string, top *int32, orderby string) (result ResponseWithContinuationServiceRunner, err error) { req, err := client.ListPreparer(resourceGroupName, labName, filter, top, orderby) @@ -344,3 +339,48 @@ func (client ServiceRunnersClient) ListNextResults(lastResults ResponseWithConti return } + +// ListComplete gets all elements from the list without paging. +func (client ServiceRunnersClient) ListComplete(resourceGroupName string, labName string, filter string, top *int32, orderby string, cancel <-chan struct{}) (<-chan ServiceRunner, <-chan error) { + resultChan := make(chan ServiceRunner) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, labName, filter, top, orderby) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/users.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/users.go index 86c22e8de..67d5bae1c 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/users.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/users.go @@ -14,9 +14,8 @@ package devtestlabs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -41,9 +40,8 @@ func NewUsersClientWithBaseURI(baseURI string, subscriptionID string) UsersClien // CreateOrUpdate create or replace an existing user profile. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the user profile. userParameter is profile of a -// lab user. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the user +// profile. userParameter is profile of a lab user. func (client UsersClient) CreateOrUpdate(resourceGroupName string, labName string, name string, userParameter User) (result User, err error) { req, err := client.CreateOrUpdatePreparer(resourceGroupName, labName, name, userParameter) if err != nil { @@ -109,13 +107,12 @@ func (client UsersClient) CreateOrUpdateResponder(resp *http.Response) (result U return } -// Delete delete user profile. This operation can take a while to complete. -// This method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// Delete delete user profile. This operation can take a while to complete. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the user profile. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the user +// profile. func (client UsersClient) Delete(resourceGroupName string, labName string, name string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -123,8 +120,10 @@ func (client UsersClient) Delete(resourceGroupName string, labName string, name var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -193,9 +192,8 @@ func (client UsersClient) DeleteResponder(resp *http.Response) (result autorest. // Get get user profile. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the user profile. expand is specify the $expand -// query. Example: 'properties($select=identity)' +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the user +// profile. expand is specify the $expand query. Example: 'properties($select=identity)' func (client UsersClient) Get(resourceGroupName string, labName string, name string, expand string) (result User, err error) { req, err := client.GetPreparer(resourceGroupName, labName, name, expand) if err != nil { @@ -264,11 +262,9 @@ func (client UsersClient) GetResponder(resp *http.Response) (result User, err er // List list user profiles in a given lab. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. expand is specify the $expand query. Example: -// 'properties($select=identity)' filter is the filter to apply to the -// operation. top is the maximum number of resources to return from the -// operation. orderby is the ordering expression for the results, using OData +// resourceGroupName is the name of the resource group. labName is the name of the lab. expand is specify the $expand +// query. Example: 'properties($select=identity)' filter is the filter to apply to the operation. top is the maximum +// number of resources to return from the operation. orderby is the ordering expression for the results, using OData // notation. func (client UsersClient) List(resourceGroupName string, labName string, expand string, filter string, top *int32, orderby string) (result ResponseWithContinuationUser, err error) { req, err := client.ListPreparer(resourceGroupName, labName, expand, filter, top, orderby) @@ -368,11 +364,55 @@ func (client UsersClient) ListNextResults(lastResults ResponseWithContinuationUs return } +// ListComplete gets all elements from the list without paging. +func (client UsersClient) ListComplete(resourceGroupName string, labName string, expand string, filter string, top *int32, orderby string, cancel <-chan struct{}) (<-chan User, <-chan error) { + resultChan := make(chan User) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, labName, expand, filter, top, orderby) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update modify properties of user profiles. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the user profile. userParameter is profile of a -// lab user. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the user +// profile. userParameter is profile of a lab user. func (client UsersClient) Update(resourceGroupName string, labName string, name string, userParameter UserFragment) (result User, err error) { req, err := client.UpdatePreparer(resourceGroupName, labName, name, userParameter) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/version.go index e5eeeb84a..31692b041 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/version.go @@ -14,16 +14,15 @@ package devtestlabs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-devtestlabs/2016-05-15" + return "Azure-SDK-For-Go/v11.0.0-beta arm-devtestlabs/2016-05-15" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/virtualmachines.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/virtualmachines.go index bcd1f5194..c84fa7db1 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/virtualmachines.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/virtualmachines.go @@ -14,9 +14,8 @@ package devtestlabs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -30,26 +29,22 @@ type VirtualMachinesClient struct { ManagementClient } -// NewVirtualMachinesClient creates an instance of the VirtualMachinesClient -// client. +// NewVirtualMachinesClient creates an instance of the VirtualMachinesClient client. func NewVirtualMachinesClient(subscriptionID string) VirtualMachinesClient { return NewVirtualMachinesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewVirtualMachinesClientWithBaseURI creates an instance of the -// VirtualMachinesClient client. +// NewVirtualMachinesClientWithBaseURI creates an instance of the VirtualMachinesClient client. func NewVirtualMachinesClientWithBaseURI(baseURI string, subscriptionID string) VirtualMachinesClient { return VirtualMachinesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// AddDataDisk attach a new or existing data disk to virtual machine. This -// operation can take a while to complete. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// AddDataDisk attach a new or existing data disk to virtual machine. This operation can take a while to complete. This +// method may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be +// used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the virtual machine. dataDiskProperties is -// request body for adding a new or existing data disk to a virtual machine. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the virtual +// machine. dataDiskProperties is request body for adding a new or existing data disk to a virtual machine. func (client VirtualMachinesClient) AddDataDisk(resourceGroupName string, labName string, name string, dataDiskProperties DataDiskProperties, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -57,8 +52,10 @@ func (client VirtualMachinesClient) AddDataDisk(resourceGroupName string, labNam var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -127,14 +124,12 @@ func (client VirtualMachinesClient) AddDataDiskResponder(resp *http.Response) (r return } -// ApplyArtifacts apply artifacts to virtual machine. This operation can take a -// while to complete. This method may poll for completion. Polling can be -// canceled by passing the cancel channel argument. The channel will be used to -// cancel polling and any outstanding HTTP requests. +// ApplyArtifacts apply artifacts to virtual machine. This operation can take a while to complete. This method may poll +// for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the virtual machine. applyArtifactsRequest is -// request body for applying artifacts to a virtual machine. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the virtual +// machine. applyArtifactsRequest is request body for applying artifacts to a virtual machine. func (client VirtualMachinesClient) ApplyArtifacts(resourceGroupName string, labName string, name string, applyArtifactsRequest ApplyArtifactsRequest, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -142,8 +137,10 @@ func (client VirtualMachinesClient) ApplyArtifacts(resourceGroupName string, lab var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -212,13 +209,12 @@ func (client VirtualMachinesClient) ApplyArtifactsResponder(resp *http.Response) return } -// Claim take ownership of an existing virtual machine This operation can take -// a while to complete. This method may poll for completion. Polling can be -// canceled by passing the cancel channel argument. The channel will be used to +// Claim take ownership of an existing virtual machine This operation can take a while to complete. This method may +// poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to // cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the virtual machine. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the virtual +// machine. func (client VirtualMachinesClient) Claim(resourceGroupName string, labName string, name string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -226,8 +222,10 @@ func (client VirtualMachinesClient) Claim(resourceGroupName string, labName stri var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -294,14 +292,12 @@ func (client VirtualMachinesClient) ClaimResponder(resp *http.Response) (result return } -// CreateOrUpdate create or replace an existing Virtual machine. This operation -// can take a while to complete. This method may poll for completion. Polling -// can be canceled by passing the cancel channel argument. The channel will be +// CreateOrUpdate create or replace an existing Virtual machine. This operation can take a while to complete. This +// method may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be // used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the virtual machine. labVirtualMachine is a -// virtual machine. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the virtual +// machine. labVirtualMachine is a virtual machine. func (client VirtualMachinesClient) CreateOrUpdate(resourceGroupName string, labName string, name string, labVirtualMachine LabVirtualMachine, cancel <-chan struct{}) (<-chan LabVirtualMachine, <-chan error) { resultChan := make(chan LabVirtualMachine, 1) errChan := make(chan error, 1) @@ -327,8 +323,10 @@ func (client VirtualMachinesClient) CreateOrUpdate(resourceGroupName string, lab var err error var result LabVirtualMachine defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -398,13 +396,12 @@ func (client VirtualMachinesClient) CreateOrUpdateResponder(resp *http.Response) return } -// Delete delete virtual machine. This operation can take a while to complete. -// This method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// Delete delete virtual machine. This operation can take a while to complete. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the virtual machine. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the virtual +// machine. func (client VirtualMachinesClient) Delete(resourceGroupName string, labName string, name string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -412,8 +409,10 @@ func (client VirtualMachinesClient) Delete(resourceGroupName string, labName str var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -480,14 +479,12 @@ func (client VirtualMachinesClient) DeleteResponder(resp *http.Response) (result return } -// DetachDataDisk detach the specified disk from the virtual machine. This -// operation can take a while to complete. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// DetachDataDisk detach the specified disk from the virtual machine. This operation can take a while to complete. This +// method may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be +// used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the virtual machine. detachDataDiskProperties -// is request body for detaching data disk from a virtual machine. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the virtual +// machine. detachDataDiskProperties is request body for detaching data disk from a virtual machine. func (client VirtualMachinesClient) DetachDataDisk(resourceGroupName string, labName string, name string, detachDataDiskProperties DetachDataDiskProperties, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -495,8 +492,10 @@ func (client VirtualMachinesClient) DetachDataDisk(resourceGroupName string, lab var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -567,9 +566,8 @@ func (client VirtualMachinesClient) DetachDataDiskResponder(resp *http.Response) // Get get virtual machine. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the virtual machine. expand is specify the -// $expand query. Example: +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the virtual +// machine. expand is specify the $expand query. Example: // 'properties($expand=artifacts,computeVm,networkInterface,applicableSchedule)' func (client VirtualMachinesClient) Get(resourceGroupName string, labName string, name string, expand string) (result LabVirtualMachine, err error) { req, err := client.GetPreparer(resourceGroupName, labName, name, expand) @@ -639,12 +637,10 @@ func (client VirtualMachinesClient) GetResponder(resp *http.Response) (result La // List list virtual machines in a given lab. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. expand is specify the $expand query. Example: -// 'properties($expand=artifacts,computeVm,networkInterface,applicableSchedule)' -// filter is the filter to apply to the operation. top is the maximum number of -// resources to return from the operation. orderby is the ordering expression -// for the results, using OData notation. +// resourceGroupName is the name of the resource group. labName is the name of the lab. expand is specify the $expand +// query. Example: 'properties($expand=artifacts,computeVm,networkInterface,applicableSchedule)' filter is the filter +// to apply to the operation. top is the maximum number of resources to return from the operation. orderby is the +// ordering expression for the results, using OData notation. func (client VirtualMachinesClient) List(resourceGroupName string, labName string, expand string, filter string, top *int32, orderby string) (result ResponseWithContinuationLabVirtualMachine, err error) { req, err := client.ListPreparer(resourceGroupName, labName, expand, filter, top, orderby) if err != nil { @@ -743,10 +739,55 @@ func (client VirtualMachinesClient) ListNextResults(lastResults ResponseWithCont return } +// ListComplete gets all elements from the list without paging. +func (client VirtualMachinesClient) ListComplete(resourceGroupName string, labName string, expand string, filter string, top *int32, orderby string, cancel <-chan struct{}) (<-chan LabVirtualMachine, <-chan error) { + resultChan := make(chan LabVirtualMachine) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, labName, expand, filter, top, orderby) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListApplicableSchedules lists all applicable schedules // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the virtual machine. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the virtual +// machine. func (client VirtualMachinesClient) ListApplicableSchedules(resourceGroupName string, labName string, name string) (result ApplicableSchedule, err error) { req, err := client.ListApplicableSchedulesPreparer(resourceGroupName, labName, name) if err != nil { @@ -810,13 +851,12 @@ func (client VirtualMachinesClient) ListApplicableSchedulesResponder(resp *http. return } -// Start start a virtual machine. This operation can take a while to complete. -// This method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// Start start a virtual machine. This operation can take a while to complete. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the virtual machine. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the virtual +// machine. func (client VirtualMachinesClient) Start(resourceGroupName string, labName string, name string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -824,8 +864,10 @@ func (client VirtualMachinesClient) Start(resourceGroupName string, labName stri var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -892,13 +934,12 @@ func (client VirtualMachinesClient) StartResponder(resp *http.Response) (result return } -// Stop stop a virtual machine This operation can take a while to complete. -// This method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// Stop stop a virtual machine This operation can take a while to complete. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the virtual machine. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the virtual +// machine. func (client VirtualMachinesClient) Stop(resourceGroupName string, labName string, name string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -906,8 +947,10 @@ func (client VirtualMachinesClient) Stop(resourceGroupName string, labName strin var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -976,9 +1019,8 @@ func (client VirtualMachinesClient) StopResponder(resp *http.Response) (result a // Update modify properties of virtual machines. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the virtual machine. labVirtualMachine is a -// virtual machine. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the virtual +// machine. labVirtualMachine is a virtual machine. func (client VirtualMachinesClient) Update(resourceGroupName string, labName string, name string, labVirtualMachine LabVirtualMachineFragment) (result LabVirtualMachine, err error) { req, err := client.UpdatePreparer(resourceGroupName, labName, name, labVirtualMachine) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/virtualmachineschedules.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/virtualmachineschedules.go index 509d9d03d..6367b0c2c 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/virtualmachineschedules.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/virtualmachineschedules.go @@ -14,9 +14,8 @@ package devtestlabs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -30,23 +29,20 @@ type VirtualMachineSchedulesClient struct { ManagementClient } -// NewVirtualMachineSchedulesClient creates an instance of the -// VirtualMachineSchedulesClient client. +// NewVirtualMachineSchedulesClient creates an instance of the VirtualMachineSchedulesClient client. func NewVirtualMachineSchedulesClient(subscriptionID string) VirtualMachineSchedulesClient { return NewVirtualMachineSchedulesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewVirtualMachineSchedulesClientWithBaseURI creates an instance of the -// VirtualMachineSchedulesClient client. +// NewVirtualMachineSchedulesClientWithBaseURI creates an instance of the VirtualMachineSchedulesClient client. func NewVirtualMachineSchedulesClientWithBaseURI(baseURI string, subscriptionID string) VirtualMachineSchedulesClient { return VirtualMachineSchedulesClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate create or replace an existing schedule. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. virtualMachineName is the name of the virtual machine. name is the -// name of the schedule. schedule is a schedule. +// resourceGroupName is the name of the resource group. labName is the name of the lab. virtualMachineName is the name +// of the virtual machine. name is the name of the schedule. schedule is a schedule. func (client VirtualMachineSchedulesClient) CreateOrUpdate(resourceGroupName string, labName string, virtualMachineName string, name string, schedule Schedule) (result Schedule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: schedule, @@ -121,9 +117,8 @@ func (client VirtualMachineSchedulesClient) CreateOrUpdateResponder(resp *http.R // Delete delete schedule. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. virtualMachineName is the name of the virtual machine. name is the -// name of the schedule. +// resourceGroupName is the name of the resource group. labName is the name of the lab. virtualMachineName is the name +// of the virtual machine. name is the name of the schedule. func (client VirtualMachineSchedulesClient) Delete(resourceGroupName string, labName string, virtualMachineName string, name string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, labName, virtualMachineName, name) if err != nil { @@ -187,14 +182,12 @@ func (client VirtualMachineSchedulesClient) DeleteResponder(resp *http.Response) return } -// Execute execute a schedule. This operation can take a while to complete. -// This method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// Execute execute a schedule. This operation can take a while to complete. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. virtualMachineName is the name of the virtual machine. name is the -// name of the schedule. +// resourceGroupName is the name of the resource group. labName is the name of the lab. virtualMachineName is the name +// of the virtual machine. name is the name of the schedule. func (client VirtualMachineSchedulesClient) Execute(resourceGroupName string, labName string, virtualMachineName string, name string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -202,8 +195,10 @@ func (client VirtualMachineSchedulesClient) Execute(resourceGroupName string, la var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -273,9 +268,8 @@ func (client VirtualMachineSchedulesClient) ExecuteResponder(resp *http.Response // Get get schedule. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. virtualMachineName is the name of the virtual machine. name is the -// name of the schedule. expand is specify the $expand query. Example: +// resourceGroupName is the name of the resource group. labName is the name of the lab. virtualMachineName is the name +// of the virtual machine. name is the name of the schedule. expand is specify the $expand query. Example: // 'properties($select=status)' func (client VirtualMachineSchedulesClient) Get(resourceGroupName string, labName string, virtualMachineName string, name string, expand string) (result Schedule, err error) { req, err := client.GetPreparer(resourceGroupName, labName, virtualMachineName, name, expand) @@ -346,12 +340,10 @@ func (client VirtualMachineSchedulesClient) GetResponder(resp *http.Response) (r // List list schedules in a given virtual machine. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. virtualMachineName is the name of the virtual machine. expand is -// specify the $expand query. Example: 'properties($select=status)' filter is -// the filter to apply to the operation. top is the maximum number of resources -// to return from the operation. orderby is the ordering expression for the -// results, using OData notation. +// resourceGroupName is the name of the resource group. labName is the name of the lab. virtualMachineName is the name +// of the virtual machine. expand is specify the $expand query. Example: 'properties($select=status)' filter is the +// filter to apply to the operation. top is the maximum number of resources to return from the operation. orderby is +// the ordering expression for the results, using OData notation. func (client VirtualMachineSchedulesClient) List(resourceGroupName string, labName string, virtualMachineName string, expand string, filter string, top *int32, orderby string) (result ResponseWithContinuationSchedule, err error) { req, err := client.ListPreparer(resourceGroupName, labName, virtualMachineName, expand, filter, top, orderby) if err != nil { @@ -451,11 +443,55 @@ func (client VirtualMachineSchedulesClient) ListNextResults(lastResults Response return } +// ListComplete gets all elements from the list without paging. +func (client VirtualMachineSchedulesClient) ListComplete(resourceGroupName string, labName string, virtualMachineName string, expand string, filter string, top *int32, orderby string, cancel <-chan struct{}) (<-chan Schedule, <-chan error) { + resultChan := make(chan Schedule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, labName, virtualMachineName, expand, filter, top, orderby) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update modify properties of schedules. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. virtualMachineName is the name of the virtual machine. name is the -// name of the schedule. schedule is a schedule. +// resourceGroupName is the name of the resource group. labName is the name of the lab. virtualMachineName is the name +// of the virtual machine. name is the name of the schedule. schedule is a schedule. func (client VirtualMachineSchedulesClient) Update(resourceGroupName string, labName string, virtualMachineName string, name string, schedule ScheduleFragment) (result Schedule, err error) { req, err := client.UpdatePreparer(resourceGroupName, labName, virtualMachineName, name, schedule) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/virtualnetworks.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/virtualnetworks.go index 148411c28..03ed7a2bd 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/virtualnetworks.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/devtestlabs/virtualnetworks.go @@ -14,9 +14,8 @@ package devtestlabs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -29,26 +28,22 @@ type VirtualNetworksClient struct { ManagementClient } -// NewVirtualNetworksClient creates an instance of the VirtualNetworksClient -// client. +// NewVirtualNetworksClient creates an instance of the VirtualNetworksClient client. func NewVirtualNetworksClient(subscriptionID string) VirtualNetworksClient { return NewVirtualNetworksClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewVirtualNetworksClientWithBaseURI creates an instance of the -// VirtualNetworksClient client. +// NewVirtualNetworksClientWithBaseURI creates an instance of the VirtualNetworksClient client. func NewVirtualNetworksClientWithBaseURI(baseURI string, subscriptionID string) VirtualNetworksClient { return VirtualNetworksClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate create or replace an existing virtual network. This operation -// can take a while to complete. This method may poll for completion. Polling -// can be canceled by passing the cancel channel argument. The channel will be +// CreateOrUpdate create or replace an existing virtual network. This operation can take a while to complete. This +// method may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be // used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the virtual network. virtualNetwork is a -// virtual network. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the virtual +// network. virtualNetwork is a virtual network. func (client VirtualNetworksClient) CreateOrUpdate(resourceGroupName string, labName string, name string, virtualNetwork VirtualNetwork, cancel <-chan struct{}) (<-chan VirtualNetwork, <-chan error) { resultChan := make(chan VirtualNetwork, 1) errChan := make(chan error, 1) @@ -56,8 +51,10 @@ func (client VirtualNetworksClient) CreateOrUpdate(resourceGroupName string, lab var err error var result VirtualNetwork defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -127,13 +124,12 @@ func (client VirtualNetworksClient) CreateOrUpdateResponder(resp *http.Response) return } -// Delete delete virtual network. This operation can take a while to complete. -// This method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// Delete delete virtual network. This operation can take a while to complete. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the virtual network. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the virtual +// network. func (client VirtualNetworksClient) Delete(resourceGroupName string, labName string, name string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -141,8 +137,10 @@ func (client VirtualNetworksClient) Delete(resourceGroupName string, labName str var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -211,9 +209,8 @@ func (client VirtualNetworksClient) DeleteResponder(resp *http.Response) (result // Get get virtual network. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the virtual network. expand is specify the -// $expand query. Example: 'properties($expand=externalSubnets)' +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the virtual +// network. expand is specify the $expand query. Example: 'properties($expand=externalSubnets)' func (client VirtualNetworksClient) Get(resourceGroupName string, labName string, name string, expand string) (result VirtualNetwork, err error) { req, err := client.GetPreparer(resourceGroupName, labName, name, expand) if err != nil { @@ -282,12 +279,10 @@ func (client VirtualNetworksClient) GetResponder(resp *http.Response) (result Vi // List list virtual networks in a given lab. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. expand is specify the $expand query. Example: -// 'properties($expand=externalSubnets)' filter is the filter to apply to the -// operation. top is the maximum number of resources to return from the -// operation. orderby is the ordering expression for the results, using OData -// notation. +// resourceGroupName is the name of the resource group. labName is the name of the lab. expand is specify the $expand +// query. Example: 'properties($expand=externalSubnets)' filter is the filter to apply to the operation. top is the +// maximum number of resources to return from the operation. orderby is the ordering expression for the results, using +// OData notation. func (client VirtualNetworksClient) List(resourceGroupName string, labName string, expand string, filter string, top *int32, orderby string) (result ResponseWithContinuationVirtualNetwork, err error) { req, err := client.ListPreparer(resourceGroupName, labName, expand, filter, top, orderby) if err != nil { @@ -386,11 +381,55 @@ func (client VirtualNetworksClient) ListNextResults(lastResults ResponseWithCont return } +// ListComplete gets all elements from the list without paging. +func (client VirtualNetworksClient) ListComplete(resourceGroupName string, labName string, expand string, filter string, top *int32, orderby string, cancel <-chan struct{}) (<-chan VirtualNetwork, <-chan error) { + resultChan := make(chan VirtualNetwork) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, labName, expand, filter, top, orderby) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update modify properties of virtual networks. // -// resourceGroupName is the name of the resource group. labName is the name of -// the lab. name is the name of the virtual network. virtualNetwork is a -// virtual network. +// resourceGroupName is the name of the resource group. labName is the name of the lab. name is the name of the virtual +// network. virtualNetwork is a virtual network. func (client VirtualNetworksClient) Update(resourceGroupName string, labName string, name string, virtualNetwork VirtualNetworkFragment) (result VirtualNetwork, err error) { req, err := client.UpdatePreparer(resourceGroupName, labName, name, virtualNetwork) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/disk/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/disk/version.go index 07ff63ca7..11c4a35ee 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/disk/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/disk/version.go @@ -14,16 +14,15 @@ package disk // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-disk/2016-04-30-preview" + return "Azure-SDK-For-Go/v10.2.0-beta arm-disk/2016-04-30-preview" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v10.2.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/dns/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/dns/client.go index 05ef36995..714b698b5 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/dns/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/dns/client.go @@ -17,9 +17,8 @@ package dns // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/dns/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/dns/models.go index a95db4a29..a81f49b8e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/dns/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/dns/models.go @@ -14,9 +14,8 @@ package dns // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -42,8 +41,7 @@ const ( Continue HTTPStatusCode = "Continue" // Created specifies the created state for http status code. Created HTTPStatusCode = "Created" - // ExpectationFailed specifies the expectation failed state for http status - // code. + // ExpectationFailed specifies the expectation failed state for http status code. ExpectationFailed HTTPStatusCode = "ExpectationFailed" // Forbidden specifies the forbidden state for http status code. Forbidden HTTPStatusCode = "Forbidden" @@ -53,29 +51,23 @@ const ( GatewayTimeout HTTPStatusCode = "GatewayTimeout" // Gone specifies the gone state for http status code. Gone HTTPStatusCode = "Gone" - // HTTPVersionNotSupported specifies the http version not supported state - // for http status code. + // HTTPVersionNotSupported specifies the http version not supported state for http status code. HTTPVersionNotSupported HTTPStatusCode = "HttpVersionNotSupported" - // InternalServerError specifies the internal server error state for http - // status code. + // InternalServerError specifies the internal server error state for http status code. InternalServerError HTTPStatusCode = "InternalServerError" // LengthRequired specifies the length required state for http status code. LengthRequired HTTPStatusCode = "LengthRequired" - // MethodNotAllowed specifies the method not allowed state for http status - // code. + // MethodNotAllowed specifies the method not allowed state for http status code. MethodNotAllowed HTTPStatusCode = "MethodNotAllowed" // Moved specifies the moved state for http status code. Moved HTTPStatusCode = "Moved" - // MovedPermanently specifies the moved permanently state for http status - // code. + // MovedPermanently specifies the moved permanently state for http status code. MovedPermanently HTTPStatusCode = "MovedPermanently" - // MultipleChoices specifies the multiple choices state for http status - // code. + // MultipleChoices specifies the multiple choices state for http status code. MultipleChoices HTTPStatusCode = "MultipleChoices" // NoContent specifies the no content state for http status code. NoContent HTTPStatusCode = "NoContent" - // NonAuthoritativeInformation specifies the non authoritative information - // state for http status code. + // NonAuthoritativeInformation specifies the non authoritative information state for http status code. NonAuthoritativeInformation HTTPStatusCode = "NonAuthoritativeInformation" // NotAcceptable specifies the not acceptable state for http status code. NotAcceptable HTTPStatusCode = "NotAcceptable" @@ -89,55 +81,43 @@ const ( OK HTTPStatusCode = "OK" // PartialContent specifies the partial content state for http status code. PartialContent HTTPStatusCode = "PartialContent" - // PaymentRequired specifies the payment required state for http status - // code. + // PaymentRequired specifies the payment required state for http status code. PaymentRequired HTTPStatusCode = "PaymentRequired" - // PreconditionFailed specifies the precondition failed state for http - // status code. + // PreconditionFailed specifies the precondition failed state for http status code. PreconditionFailed HTTPStatusCode = "PreconditionFailed" - // ProxyAuthenticationRequired specifies the proxy authentication required - // state for http status code. + // ProxyAuthenticationRequired specifies the proxy authentication required state for http status code. ProxyAuthenticationRequired HTTPStatusCode = "ProxyAuthenticationRequired" // Redirect specifies the redirect state for http status code. Redirect HTTPStatusCode = "Redirect" - // RedirectKeepVerb specifies the redirect keep verb state for http status - // code. + // RedirectKeepVerb specifies the redirect keep verb state for http status code. RedirectKeepVerb HTTPStatusCode = "RedirectKeepVerb" // RedirectMethod specifies the redirect method state for http status code. RedirectMethod HTTPStatusCode = "RedirectMethod" - // RequestedRangeNotSatisfiable specifies the requested range not - // satisfiable state for http status code. + // RequestedRangeNotSatisfiable specifies the requested range not satisfiable state for http status code. RequestedRangeNotSatisfiable HTTPStatusCode = "RequestedRangeNotSatisfiable" - // RequestEntityTooLarge specifies the request entity too large state for - // http status code. + // RequestEntityTooLarge specifies the request entity too large state for http status code. RequestEntityTooLarge HTTPStatusCode = "RequestEntityTooLarge" // RequestTimeout specifies the request timeout state for http status code. RequestTimeout HTTPStatusCode = "RequestTimeout" - // RequestURITooLong specifies the request uri too long state for http - // status code. + // RequestURITooLong specifies the request uri too long state for http status code. RequestURITooLong HTTPStatusCode = "RequestUriTooLong" // ResetContent specifies the reset content state for http status code. ResetContent HTTPStatusCode = "ResetContent" // SeeOther specifies the see other state for http status code. SeeOther HTTPStatusCode = "SeeOther" - // ServiceUnavailable specifies the service unavailable state for http - // status code. + // ServiceUnavailable specifies the service unavailable state for http status code. ServiceUnavailable HTTPStatusCode = "ServiceUnavailable" - // SwitchingProtocols specifies the switching protocols state for http - // status code. + // SwitchingProtocols specifies the switching protocols state for http status code. SwitchingProtocols HTTPStatusCode = "SwitchingProtocols" - // TemporaryRedirect specifies the temporary redirect state for http status - // code. + // TemporaryRedirect specifies the temporary redirect state for http status code. TemporaryRedirect HTTPStatusCode = "TemporaryRedirect" // Unauthorized specifies the unauthorized state for http status code. Unauthorized HTTPStatusCode = "Unauthorized" - // UnsupportedMediaType specifies the unsupported media type state for http - // status code. + // UnsupportedMediaType specifies the unsupported media type state for http status code. UnsupportedMediaType HTTPStatusCode = "UnsupportedMediaType" // Unused specifies the unused state for http status code. Unused HTTPStatusCode = "Unused" - // UpgradeRequired specifies the upgrade required state for http status - // code. + // UpgradeRequired specifies the upgrade required state for http status code. UpgradeRequired HTTPStatusCode = "UpgradeRequired" // UseProxy specifies the use proxy state for http status code. UseProxy HTTPStatusCode = "UseProxy" @@ -223,8 +203,7 @@ type PtrRecord struct { Ptrdname *string `json:"ptrdname,omitempty"` } -// RecordSet is describes a DNS record set (a collection of DNS records with -// the same name and type). +// RecordSet is describes a DNS record set (a collection of DNS records with the same name and type). type RecordSet struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -253,8 +232,7 @@ func (client RecordSetListResult) RecordSetListResultPreparer() (*http.Request, autorest.WithBaseURL(to.String(client.NextLink))) } -// RecordSetProperties is represents the properties of the records in the -// record set. +// RecordSetProperties is represents the properties of the records in the record set. type RecordSetProperties struct { Metadata *map[string]*string `json:"metadata,omitempty"` TTL *int64 `json:"TTL,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/dns/recordsets.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/dns/recordsets.go index 8d3992dd6..8d59929f7 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/dns/recordsets.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/dns/recordsets.go @@ -14,9 +14,8 @@ package dns // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -34,25 +33,20 @@ func NewRecordSetsClient(subscriptionID string) RecordSetsClient { return NewRecordSetsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewRecordSetsClientWithBaseURI creates an instance of the RecordSetsClient -// client. +// NewRecordSetsClientWithBaseURI creates an instance of the RecordSetsClient client. func NewRecordSetsClientWithBaseURI(baseURI string, subscriptionID string) RecordSetsClient { return RecordSetsClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate creates or updates a record set within a DNS zone. // -// resourceGroupName is the name of the resource group. zoneName is the name of -// the DNS zone (without a terminating dot). relativeRecordSetName is the name -// of the record set, relative to the name of the zone. recordType is the type -// of DNS record in this record set. Record sets of type SOA can be updated but -// not created (they are created when the DNS zone is created). parameters is -// parameters supplied to the CreateOrUpdate operation. ifMatch is the etag of -// the record set. Omit this value to always overwrite the current record set. -// Specify the last-seen etag value to prevent accidentally overwritting any -// concurrent changes. ifNoneMatch is set to '*' to allow a new record set to -// be created, but to prevent updating an existing record set. Other values -// will be ignored. +// resourceGroupName is the name of the resource group. zoneName is the name of the DNS zone (without a terminating +// dot). relativeRecordSetName is the name of the record set, relative to the name of the zone. recordType is the type +// of DNS record in this record set. Record sets of type SOA can be updated but not created (they are created when the +// DNS zone is created). parameters is parameters supplied to the CreateOrUpdate operation. ifMatch is the etag of the +// record set. Omit this value to always overwrite the current record set. Specify the last-seen etag value to prevent +// accidentally overwritting any concurrent changes. ifNoneMatch is set to '*' to allow a new record set to be created, +// but to prevent updating an existing record set. Other values will be ignored. func (client RecordSetsClient) CreateOrUpdate(resourceGroupName string, zoneName string, relativeRecordSetName string, recordType RecordType, parameters RecordSet, ifMatch string, ifNoneMatch string) (result RecordSet, err error) { req, err := client.CreateOrUpdatePreparer(resourceGroupName, zoneName, relativeRecordSetName, recordType, parameters, ifMatch, ifNoneMatch) if err != nil { @@ -127,17 +121,13 @@ func (client RecordSetsClient) CreateOrUpdateResponder(resp *http.Response) (res return } -// Delete deletes a record set from a DNS zone. This operation cannot be -// undone. +// Delete deletes a record set from a DNS zone. This operation cannot be undone. // -// resourceGroupName is the name of the resource group. zoneName is the name of -// the DNS zone (without a terminating dot). relativeRecordSetName is the name -// of the record set, relative to the name of the zone. recordType is the type -// of DNS record in this record set. Record sets of type SOA cannot be deleted -// (they are deleted when the DNS zone is deleted). ifMatch is the etag of the -// record set. Omit this value to always delete the current record set. Specify -// the last-seen etag value to prevent accidentally deleting any concurrent -// changes. +// resourceGroupName is the name of the resource group. zoneName is the name of the DNS zone (without a terminating +// dot). relativeRecordSetName is the name of the record set, relative to the name of the zone. recordType is the type +// of DNS record in this record set. Record sets of type SOA cannot be deleted (they are deleted when the DNS zone is +// deleted). ifMatch is the etag of the record set. Omit this value to always delete the current record set. Specify +// the last-seen etag value to prevent accidentally deleting any concurrent changes. func (client RecordSetsClient) Delete(resourceGroupName string, zoneName string, relativeRecordSetName string, recordType RecordType, ifMatch string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, zoneName, relativeRecordSetName, recordType, ifMatch) if err != nil { @@ -207,9 +197,8 @@ func (client RecordSetsClient) DeleteResponder(resp *http.Response) (result auto // Get gets a record set. // -// resourceGroupName is the name of the resource group. zoneName is the name of -// the DNS zone (without a terminating dot). relativeRecordSetName is the name -// of the record set, relative to the name of the zone. recordType is the type +// resourceGroupName is the name of the resource group. zoneName is the name of the DNS zone (without a terminating +// dot). relativeRecordSetName is the name of the record set, relative to the name of the zone. recordType is the type // of DNS record in this record set. func (client RecordSetsClient) Get(resourceGroupName string, zoneName string, relativeRecordSetName string, recordType RecordType) (result RecordSet, err error) { req, err := client.GetPreparer(resourceGroupName, zoneName, relativeRecordSetName, recordType) @@ -277,11 +266,13 @@ func (client RecordSetsClient) GetResponder(resp *http.Response) (result RecordS // ListByDNSZone lists all record sets in a DNS zone. // -// resourceGroupName is the name of the resource group. zoneName is the name of -// the DNS zone (without a terminating dot). top is the maximum number of -// record sets to return. If not specified, returns up to 100 record sets. -func (client RecordSetsClient) ListByDNSZone(resourceGroupName string, zoneName string, top *int32) (result RecordSetListResult, err error) { - req, err := client.ListByDNSZonePreparer(resourceGroupName, zoneName, top) +// resourceGroupName is the name of the resource group. zoneName is the name of the DNS zone (without a terminating +// dot). top is the maximum number of record sets to return. If not specified, returns up to 100 record sets. +// recordsetnamesuffix is the suffix label of the record set name that has to be used to filter the record set +// enumerations. If this parameter is specified, Enumeration will return only records that end with +// . +func (client RecordSetsClient) ListByDNSZone(resourceGroupName string, zoneName string, top *int32, recordsetnamesuffix string) (result RecordSetListResult, err error) { + req, err := client.ListByDNSZonePreparer(resourceGroupName, zoneName, top, recordsetnamesuffix) if err != nil { err = autorest.NewErrorWithError(err, "dns.RecordSetsClient", "ListByDNSZone", nil, "Failure preparing request") return @@ -303,7 +294,7 @@ func (client RecordSetsClient) ListByDNSZone(resourceGroupName string, zoneName } // ListByDNSZonePreparer prepares the ListByDNSZone request. -func (client RecordSetsClient) ListByDNSZonePreparer(resourceGroupName string, zoneName string, top *int32) (*http.Request, error) { +func (client RecordSetsClient) ListByDNSZonePreparer(resourceGroupName string, zoneName string, top *int32, recordsetnamesuffix string) (*http.Request, error) { pathParameters := map[string]interface{}{ "resourceGroupName": autorest.Encode("path", resourceGroupName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), @@ -317,6 +308,9 @@ func (client RecordSetsClient) ListByDNSZonePreparer(resourceGroupName string, z if top != nil { queryParameters["$top"] = autorest.Encode("query", *top) } + if len(recordsetnamesuffix) > 0 { + queryParameters["$recordsetnamesuffix"] = autorest.Encode("query", recordsetnamesuffix) + } preparer := autorest.CreatePreparer( autorest.AsGet(), @@ -369,14 +363,60 @@ func (client RecordSetsClient) ListByDNSZoneNextResults(lastResults RecordSetLis return } +// ListByDNSZoneComplete gets all elements from the list without paging. +func (client RecordSetsClient) ListByDNSZoneComplete(resourceGroupName string, zoneName string, top *int32, recordsetnamesuffix string, cancel <-chan struct{}) (<-chan RecordSet, <-chan error) { + resultChan := make(chan RecordSet) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByDNSZone(resourceGroupName, zoneName, top, recordsetnamesuffix) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByDNSZoneNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListByType lists the record sets of a specified type in a DNS zone. // -// resourceGroupName is the name of the resource group. zoneName is the name of -// the DNS zone (without a terminating dot). recordType is the type of record -// sets to enumerate. top is the maximum number of record sets to return. If -// not specified, returns up to 100 record sets. -func (client RecordSetsClient) ListByType(resourceGroupName string, zoneName string, recordType RecordType, top *int32) (result RecordSetListResult, err error) { - req, err := client.ListByTypePreparer(resourceGroupName, zoneName, recordType, top) +// resourceGroupName is the name of the resource group. zoneName is the name of the DNS zone (without a terminating +// dot). recordType is the type of record sets to enumerate. top is the maximum number of record sets to return. If not +// specified, returns up to 100 record sets. recordsetnamesuffix is the suffix label of the record set name that has to +// be used to filter the record set enumerations. If this parameter is specified, Enumeration will return only records +// that end with . +func (client RecordSetsClient) ListByType(resourceGroupName string, zoneName string, recordType RecordType, top *int32, recordsetnamesuffix string) (result RecordSetListResult, err error) { + req, err := client.ListByTypePreparer(resourceGroupName, zoneName, recordType, top, recordsetnamesuffix) if err != nil { err = autorest.NewErrorWithError(err, "dns.RecordSetsClient", "ListByType", nil, "Failure preparing request") return @@ -398,7 +438,7 @@ func (client RecordSetsClient) ListByType(resourceGroupName string, zoneName str } // ListByTypePreparer prepares the ListByType request. -func (client RecordSetsClient) ListByTypePreparer(resourceGroupName string, zoneName string, recordType RecordType, top *int32) (*http.Request, error) { +func (client RecordSetsClient) ListByTypePreparer(resourceGroupName string, zoneName string, recordType RecordType, top *int32, recordsetnamesuffix string) (*http.Request, error) { pathParameters := map[string]interface{}{ "recordType": autorest.Encode("path", recordType), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -413,6 +453,9 @@ func (client RecordSetsClient) ListByTypePreparer(resourceGroupName string, zone if top != nil { queryParameters["$top"] = autorest.Encode("query", *top) } + if len(recordsetnamesuffix) > 0 { + queryParameters["$recordsetnamesuffix"] = autorest.Encode("query", recordsetnamesuffix) + } preparer := autorest.CreatePreparer( autorest.AsGet(), @@ -465,14 +508,57 @@ func (client RecordSetsClient) ListByTypeNextResults(lastResults RecordSetListRe return } +// ListByTypeComplete gets all elements from the list without paging. +func (client RecordSetsClient) ListByTypeComplete(resourceGroupName string, zoneName string, recordType RecordType, top *int32, recordsetnamesuffix string, cancel <-chan struct{}) (<-chan RecordSet, <-chan error) { + resultChan := make(chan RecordSet) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByType(resourceGroupName, zoneName, recordType, top, recordsetnamesuffix) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByTypeNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update updates a record set within a DNS zone. // -// resourceGroupName is the name of the resource group. zoneName is the name of -// the DNS zone (without a terminating dot). relativeRecordSetName is the name -// of the record set, relative to the name of the zone. recordType is the type -// of DNS record in this record set. parameters is parameters supplied to the -// Update operation. ifMatch is the etag of the record set. Omit this value to -// always overwrite the current record set. Specify the last-seen etag value to +// resourceGroupName is the name of the resource group. zoneName is the name of the DNS zone (without a terminating +// dot). relativeRecordSetName is the name of the record set, relative to the name of the zone. recordType is the type +// of DNS record in this record set. parameters is parameters supplied to the Update operation. ifMatch is the etag of +// the record set. Omit this value to always overwrite the current record set. Specify the last-seen etag value to // prevent accidentally overwritting concurrent changes. func (client RecordSetsClient) Update(resourceGroupName string, zoneName string, relativeRecordSetName string, recordType RecordType, parameters RecordSet, ifMatch string) (result RecordSet, err error) { req, err := client.UpdatePreparer(resourceGroupName, zoneName, relativeRecordSetName, recordType, parameters, ifMatch) diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/dns/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/dns/version.go index 2ce2f8cfb..d5ade9afd 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/dns/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/dns/version.go @@ -14,16 +14,15 @@ package dns // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-dns/2016-04-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-dns/2016-04-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/dns/zones.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/dns/zones.go index 31ad0ba36..33b230b03 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/dns/zones.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/dns/zones.go @@ -14,9 +14,8 @@ package dns // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -39,16 +38,13 @@ func NewZonesClientWithBaseURI(baseURI string, subscriptionID string) ZonesClien return ZonesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates a DNS zone. Does not modify DNS records -// within the zone. +// CreateOrUpdate creates or updates a DNS zone. Does not modify DNS records within the zone. // -// resourceGroupName is the name of the resource group. zoneName is the name of -// the DNS zone (without a terminating dot). parameters is parameters supplied -// to the CreateOrUpdate operation. ifMatch is the etag of the DNS zone. Omit -// this value to always overwrite the current zone. Specify the last-seen etag -// value to prevent accidentally overwritting any concurrent changes. -// ifNoneMatch is set to '*' to allow a new DNS zone to be created, but to -// prevent updating an existing zone. Other values will be ignored. +// resourceGroupName is the name of the resource group. zoneName is the name of the DNS zone (without a terminating +// dot). parameters is parameters supplied to the CreateOrUpdate operation. ifMatch is the etag of the DNS zone. Omit +// this value to always overwrite the current zone. Specify the last-seen etag value to prevent accidentally +// overwritting any concurrent changes. ifNoneMatch is set to '*' to allow a new DNS zone to be created, but to prevent +// updating an existing zone. Other values will be ignored. func (client ZonesClient) CreateOrUpdate(resourceGroupName string, zoneName string, parameters Zone, ifMatch string, ifNoneMatch string) (result Zone, err error) { req, err := client.CreateOrUpdatePreparer(resourceGroupName, zoneName, parameters, ifMatch, ifNoneMatch) if err != nil { @@ -121,17 +117,13 @@ func (client ZonesClient) CreateOrUpdateResponder(resp *http.Response) (result Z return } -// Delete deletes a DNS zone. WARNING: All DNS records in the zone will also be -// deleted. This operation cannot be undone. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete deletes a DNS zone. WARNING: All DNS records in the zone will also be deleted. This operation cannot be +// undone. This method may poll for completion. Polling can be canceled by passing the cancel channel argument. The +// channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. zoneName is the name of -// the DNS zone (without a terminating dot). ifMatch is the etag of the DNS -// zone. Omit this value to always delete the current zone. Specify the -// last-seen etag value to prevent accidentally deleting any concurrent -// changes. +// resourceGroupName is the name of the resource group. zoneName is the name of the DNS zone (without a terminating +// dot). ifMatch is the etag of the DNS zone. Omit this value to always delete the current zone. Specify the last-seen +// etag value to prevent accidentally deleting any concurrent changes. func (client ZonesClient) Delete(resourceGroupName string, zoneName string, ifMatch string, cancel <-chan struct{}) (<-chan ZoneDeleteResult, <-chan error) { resultChan := make(chan ZoneDeleteResult, 1) errChan := make(chan error, 1) @@ -139,8 +131,10 @@ func (client ZonesClient) Delete(resourceGroupName string, zoneName string, ifMa var err error var result ZoneDeleteResult defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -211,11 +205,10 @@ func (client ZonesClient) DeleteResponder(resp *http.Response) (result ZoneDelet return } -// Get gets a DNS zone. Retrieves the zone properties, but not the record sets -// within the zone. +// Get gets a DNS zone. Retrieves the zone properties, but not the record sets within the zone. // -// resourceGroupName is the name of the resource group. zoneName is the name of -// the DNS zone (without a terminating dot). +// resourceGroupName is the name of the resource group. zoneName is the name of the DNS zone (without a terminating +// dot). func (client ZonesClient) Get(resourceGroupName string, zoneName string) (result Zone, err error) { req, err := client.GetPreparer(resourceGroupName, zoneName) if err != nil { @@ -280,8 +273,7 @@ func (client ZonesClient) GetResponder(resp *http.Response) (result Zone, err er // List lists the DNS zones in all resource groups in a subscription. // -// top is the maximum number of DNS zones to return. If not specified, returns -// up to 100 zones. +// top is the maximum number of DNS zones to return. If not specified, returns up to 100 zones. func (client ZonesClient) List(top *int32) (result ZoneListResult, err error) { req, err := client.ListPreparer(top) if err != nil { @@ -369,11 +361,55 @@ func (client ZonesClient) ListNextResults(lastResults ZoneListResult) (result Zo return } +// ListComplete gets all elements from the list without paging. +func (client ZonesClient) ListComplete(top *int32, cancel <-chan struct{}) (<-chan Zone, <-chan error) { + resultChan := make(chan Zone) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(top) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListByResourceGroup lists the DNS zones within a resource group. // -// resourceGroupName is the name of the resource group. top is the maximum -// number of record sets to return. If not specified, returns up to 100 record -// sets. +// resourceGroupName is the name of the resource group. top is the maximum number of record sets to return. If not +// specified, returns up to 100 record sets. func (client ZonesClient) ListByResourceGroup(resourceGroupName string, top *int32) (result ZoneListResult, err error) { req, err := client.ListByResourceGroupPreparer(resourceGroupName, top) if err != nil { @@ -461,3 +497,48 @@ func (client ZonesClient) ListByResourceGroupNextResults(lastResults ZoneListRes return } + +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client ZonesClient) ListByResourceGroupComplete(resourceGroupName string, top *int32, cancel <-chan struct{}) (<-chan Zone, <-chan error) { + resultChan := make(chan Zone) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName, top) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/documentdb/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/documentdb/version.go index 08bed111f..149f82054 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/documentdb/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/documentdb/version.go @@ -20,10 +20,10 @@ package documentdb // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-documentdb/2015-04-08" + return "Azure-SDK-For-Go/v10.2.0-beta arm-documentdb/2015-04-08" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v10.2.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/eventgrid/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventgrid/client.go new file mode 100644 index 000000000..82fa46570 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventgrid/client.go @@ -0,0 +1,51 @@ +// Package eventgrid implements the Azure ARM Eventgrid service API version 2017-09-15-preview. +// +// Azure EventGrid Management Client +package eventgrid + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +const ( + // DefaultBaseURI is the default URI used for the service Eventgrid + DefaultBaseURI = "https://management.azure.com" +) + +// ManagementClient is the base client for Eventgrid. +type ManagementClient struct { + autorest.Client + BaseURI string + SubscriptionID string +} + +// New creates an instance of the ManagementClient client. +func New(subscriptionID string) ManagementClient { + return NewWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWithBaseURI creates an instance of the ManagementClient client. +func NewWithBaseURI(baseURI string, subscriptionID string) ManagementClient { + return ManagementClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + SubscriptionID: subscriptionID, + } +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/eventgrid/eventsubscriptions.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventgrid/eventsubscriptions.go new file mode 100644 index 000000000..5f7152014 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventgrid/eventsubscriptions.go @@ -0,0 +1,1040 @@ +package eventgrid + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// EventSubscriptionsClient is the azure EventGrid Management Client +type EventSubscriptionsClient struct { + ManagementClient +} + +// NewEventSubscriptionsClient creates an instance of the EventSubscriptionsClient client. +func NewEventSubscriptionsClient(subscriptionID string) EventSubscriptionsClient { + return NewEventSubscriptionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewEventSubscriptionsClientWithBaseURI creates an instance of the EventSubscriptionsClient client. +func NewEventSubscriptionsClientWithBaseURI(baseURI string, subscriptionID string) EventSubscriptionsClient { + return EventSubscriptionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Create asynchronously creates a new event subscription to the specified scope. Existing event subscriptions cannot +// be updated with this API and should instead use the Update event subscription API. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. +// +// scope is the scope of the resource to which the event subscription needs to be created. The scope can be a +// subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an +// EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' +// for a resource, and +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' +// for an EventGrid topic. eventSubscriptionName is name of the event subscription to be created. Event subscription +// names must be between 3 and 64 characters in length and use alphanumeric letters only. eventSubscriptionInfo is +// event subscription properties containing the destination and filter information +func (client EventSubscriptionsClient) Create(scope string, eventSubscriptionName string, eventSubscriptionInfo EventSubscription, cancel <-chan struct{}) (<-chan EventSubscription, <-chan error) { + resultChan := make(chan EventSubscription, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result EventSubscription + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreatePreparer(scope, eventSubscriptionName, eventSubscriptionInfo, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "Create", nil, "Failure preparing request") + return + } + + resp, err := client.CreateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "Create", resp, "Failure sending request") + return + } + + result, err = client.CreateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "Create", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreatePreparer prepares the Create request. +func (client EventSubscriptionsClient) CreatePreparer(scope string, eventSubscriptionName string, eventSubscriptionInfo EventSubscription, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "eventSubscriptionName": autorest.Encode("path", eventSubscriptionName), + "scope": scope, + } + + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}", pathParameters), + autorest.WithJSON(eventSubscriptionInfo), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client EventSubscriptionsClient) CreateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client EventSubscriptionsClient) CreateResponder(resp *http.Response) (result EventSubscription, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete delete an existing event subscription This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// scope is the scope of the event subscription. The scope can be a subscription, or a resource group, or a top level +// resource belonging to a resource provider namespace, or an EventGrid topic. For example, use +// '/subscriptions/{subscriptionId}/' for a subscription, +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' +// for a resource, and +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' +// for an EventGrid topic. eventSubscriptionName is name of the event subscription +func (client EventSubscriptionsClient) Delete(scope string, eventSubscriptionName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(scope, eventSubscriptionName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// DeletePreparer prepares the Delete request. +func (client EventSubscriptionsClient) DeletePreparer(scope string, eventSubscriptionName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "eventSubscriptionName": autorest.Encode("path", eventSubscriptionName), + "scope": scope, + } + + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client EventSubscriptionsClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client EventSubscriptionsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get properties of an event subscription +// +// scope is the scope of the event subscription. The scope can be a subscription, or a resource group, or a top level +// resource belonging to a resource provider namespace, or an EventGrid topic. For example, use +// '/subscriptions/{subscriptionId}/' for a subscription, +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' +// for a resource, and +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' +// for an EventGrid topic. eventSubscriptionName is name of the event subscription +func (client EventSubscriptionsClient) Get(scope string, eventSubscriptionName string) (result EventSubscription, err error) { + req, err := client.GetPreparer(scope, eventSubscriptionName) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client EventSubscriptionsClient) GetPreparer(scope string, eventSubscriptionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "eventSubscriptionName": autorest.Encode("path", eventSubscriptionName), + "scope": scope, + } + + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client EventSubscriptionsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client EventSubscriptionsClient) GetResponder(resp *http.Response) (result EventSubscription, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetFullURL get the full endpoint URL for an event subscription +// +// scope is the scope of the event subscription. The scope can be a subscription, or a resource group, or a top level +// resource belonging to a resource provider namespace, or an EventGrid topic. For example, use +// '/subscriptions/{subscriptionId}/' for a subscription, +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' +// for a resource, and +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' +// for an EventGrid topic. eventSubscriptionName is name of the event subscription +func (client EventSubscriptionsClient) GetFullURL(scope string, eventSubscriptionName string) (result EventSubscriptionFullURL, err error) { + req, err := client.GetFullURLPreparer(scope, eventSubscriptionName) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "GetFullURL", nil, "Failure preparing request") + return + } + + resp, err := client.GetFullURLSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "GetFullURL", resp, "Failure sending request") + return + } + + result, err = client.GetFullURLResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "GetFullURL", resp, "Failure responding to request") + } + + return +} + +// GetFullURLPreparer prepares the GetFullURL request. +func (client EventSubscriptionsClient) GetFullURLPreparer(scope string, eventSubscriptionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "eventSubscriptionName": autorest.Encode("path", eventSubscriptionName), + "scope": scope, + } + + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}/getFullUrl", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetFullURLSender sends the GetFullURL request. The method will close the +// http.Response Body if it receives an error. +func (client EventSubscriptionsClient) GetFullURLSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetFullURLResponder handles the response to the GetFullURL request. The method always +// closes the http.Response Body. +func (client EventSubscriptionsClient) GetFullURLResponder(resp *http.Response) (result EventSubscriptionFullURL, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResource list all event subscriptions that have been created for a specific topic +// +// resourceGroupName is the name of the resource group within the user's subscription. providerNamespace is namespace +// of the provider of the topic resourceTypeName is name of the resource type resourceName is name of the resource +func (client EventSubscriptionsClient) ListByResource(resourceGroupName string, providerNamespace string, resourceTypeName string, resourceName string) (result EventSubscriptionsListResult, err error) { + req, err := client.ListByResourcePreparer(resourceGroupName, providerNamespace, resourceTypeName, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListByResource", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListByResource", resp, "Failure sending request") + return + } + + result, err = client.ListByResourceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListByResource", resp, "Failure responding to request") + } + + return +} + +// ListByResourcePreparer prepares the ListByResource request. +func (client EventSubscriptionsClient) ListByResourcePreparer(resourceGroupName string, providerNamespace string, resourceTypeName string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "providerNamespace": autorest.Encode("path", providerNamespace), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "resourceTypeName": autorest.Encode("path", resourceTypeName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventSubscriptions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByResourceSender sends the ListByResource request. The method will close the +// http.Response Body if it receives an error. +func (client EventSubscriptionsClient) ListByResourceSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByResourceResponder handles the response to the ListByResource request. The method always +// closes the http.Response Body. +func (client EventSubscriptionsClient) ListByResourceResponder(resp *http.Response) (result EventSubscriptionsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListGlobalByResourceGroup list all global event subscriptions under a specific Azure subscription and resource group +// +// resourceGroupName is the name of the resource group within the user's subscription. +func (client EventSubscriptionsClient) ListGlobalByResourceGroup(resourceGroupName string) (result EventSubscriptionsListResult, err error) { + req, err := client.ListGlobalByResourceGroupPreparer(resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListGlobalByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListGlobalByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListGlobalByResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ListGlobalByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListGlobalByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListGlobalByResourceGroupPreparer prepares the ListGlobalByResourceGroup request. +func (client EventSubscriptionsClient) ListGlobalByResourceGroupPreparer(resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/eventSubscriptions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListGlobalByResourceGroupSender sends the ListGlobalByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client EventSubscriptionsClient) ListGlobalByResourceGroupSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListGlobalByResourceGroupResponder handles the response to the ListGlobalByResourceGroup request. The method always +// closes the http.Response Body. +func (client EventSubscriptionsClient) ListGlobalByResourceGroupResponder(resp *http.Response) (result EventSubscriptionsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListGlobalByResourceGroupForTopicType list all global event subscriptions under a resource group for a specific +// topic type. +// +// resourceGroupName is the name of the resource group within the user's subscription. topicTypeName is name of the +// topic type +func (client EventSubscriptionsClient) ListGlobalByResourceGroupForTopicType(resourceGroupName string, topicTypeName string) (result EventSubscriptionsListResult, err error) { + req, err := client.ListGlobalByResourceGroupForTopicTypePreparer(resourceGroupName, topicTypeName) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListGlobalByResourceGroupForTopicType", nil, "Failure preparing request") + return + } + + resp, err := client.ListGlobalByResourceGroupForTopicTypeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListGlobalByResourceGroupForTopicType", resp, "Failure sending request") + return + } + + result, err = client.ListGlobalByResourceGroupForTopicTypeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListGlobalByResourceGroupForTopicType", resp, "Failure responding to request") + } + + return +} + +// ListGlobalByResourceGroupForTopicTypePreparer prepares the ListGlobalByResourceGroupForTopicType request. +func (client EventSubscriptionsClient) ListGlobalByResourceGroupForTopicTypePreparer(resourceGroupName string, topicTypeName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "topicTypeName": autorest.Encode("path", topicTypeName), + } + + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListGlobalByResourceGroupForTopicTypeSender sends the ListGlobalByResourceGroupForTopicType request. The method will close the +// http.Response Body if it receives an error. +func (client EventSubscriptionsClient) ListGlobalByResourceGroupForTopicTypeSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListGlobalByResourceGroupForTopicTypeResponder handles the response to the ListGlobalByResourceGroupForTopicType request. The method always +// closes the http.Response Body. +func (client EventSubscriptionsClient) ListGlobalByResourceGroupForTopicTypeResponder(resp *http.Response) (result EventSubscriptionsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListGlobalBySubscription list all aggregated global event subscriptions under a specific Azure subscription +func (client EventSubscriptionsClient) ListGlobalBySubscription() (result EventSubscriptionsListResult, err error) { + req, err := client.ListGlobalBySubscriptionPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListGlobalBySubscription", nil, "Failure preparing request") + return + } + + resp, err := client.ListGlobalBySubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListGlobalBySubscription", resp, "Failure sending request") + return + } + + result, err = client.ListGlobalBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListGlobalBySubscription", resp, "Failure responding to request") + } + + return +} + +// ListGlobalBySubscriptionPreparer prepares the ListGlobalBySubscription request. +func (client EventSubscriptionsClient) ListGlobalBySubscriptionPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/eventSubscriptions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListGlobalBySubscriptionSender sends the ListGlobalBySubscription request. The method will close the +// http.Response Body if it receives an error. +func (client EventSubscriptionsClient) ListGlobalBySubscriptionSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListGlobalBySubscriptionResponder handles the response to the ListGlobalBySubscription request. The method always +// closes the http.Response Body. +func (client EventSubscriptionsClient) ListGlobalBySubscriptionResponder(resp *http.Response) (result EventSubscriptionsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListGlobalBySubscriptionForTopicType list all global event subscriptions under an Azure subscription for a topic +// type. +// +// topicTypeName is name of the topic type +func (client EventSubscriptionsClient) ListGlobalBySubscriptionForTopicType(topicTypeName string) (result EventSubscriptionsListResult, err error) { + req, err := client.ListGlobalBySubscriptionForTopicTypePreparer(topicTypeName) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListGlobalBySubscriptionForTopicType", nil, "Failure preparing request") + return + } + + resp, err := client.ListGlobalBySubscriptionForTopicTypeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListGlobalBySubscriptionForTopicType", resp, "Failure sending request") + return + } + + result, err = client.ListGlobalBySubscriptionForTopicTypeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListGlobalBySubscriptionForTopicType", resp, "Failure responding to request") + } + + return +} + +// ListGlobalBySubscriptionForTopicTypePreparer prepares the ListGlobalBySubscriptionForTopicType request. +func (client EventSubscriptionsClient) ListGlobalBySubscriptionForTopicTypePreparer(topicTypeName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "topicTypeName": autorest.Encode("path", topicTypeName), + } + + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListGlobalBySubscriptionForTopicTypeSender sends the ListGlobalBySubscriptionForTopicType request. The method will close the +// http.Response Body if it receives an error. +func (client EventSubscriptionsClient) ListGlobalBySubscriptionForTopicTypeSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListGlobalBySubscriptionForTopicTypeResponder handles the response to the ListGlobalBySubscriptionForTopicType request. The method always +// closes the http.Response Body. +func (client EventSubscriptionsClient) ListGlobalBySubscriptionForTopicTypeResponder(resp *http.Response) (result EventSubscriptionsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListRegionalByResourceGroup list all event subscriptions from the given location under a specific Azure subscription +// and resource group +// +// resourceGroupName is the name of the resource group within the user's subscription. location is name of the location +func (client EventSubscriptionsClient) ListRegionalByResourceGroup(resourceGroupName string, location string) (result EventSubscriptionsListResult, err error) { + req, err := client.ListRegionalByResourceGroupPreparer(resourceGroupName, location) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListRegionalByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListRegionalByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListRegionalByResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ListRegionalByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListRegionalByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListRegionalByResourceGroupPreparer prepares the ListRegionalByResourceGroup request. +func (client EventSubscriptionsClient) ListRegionalByResourceGroupPreparer(resourceGroupName string, location string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListRegionalByResourceGroupSender sends the ListRegionalByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client EventSubscriptionsClient) ListRegionalByResourceGroupSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListRegionalByResourceGroupResponder handles the response to the ListRegionalByResourceGroup request. The method always +// closes the http.Response Body. +func (client EventSubscriptionsClient) ListRegionalByResourceGroupResponder(resp *http.Response) (result EventSubscriptionsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListRegionalByResourceGroupForTopicType list all event subscriptions from the given location under a specific Azure +// subscription and resource group and topic type +// +// resourceGroupName is the name of the resource group within the user's subscription. location is name of the location +// topicTypeName is name of the topic type +func (client EventSubscriptionsClient) ListRegionalByResourceGroupForTopicType(resourceGroupName string, location string, topicTypeName string) (result EventSubscriptionsListResult, err error) { + req, err := client.ListRegionalByResourceGroupForTopicTypePreparer(resourceGroupName, location, topicTypeName) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListRegionalByResourceGroupForTopicType", nil, "Failure preparing request") + return + } + + resp, err := client.ListRegionalByResourceGroupForTopicTypeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListRegionalByResourceGroupForTopicType", resp, "Failure sending request") + return + } + + result, err = client.ListRegionalByResourceGroupForTopicTypeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListRegionalByResourceGroupForTopicType", resp, "Failure responding to request") + } + + return +} + +// ListRegionalByResourceGroupForTopicTypePreparer prepares the ListRegionalByResourceGroupForTopicType request. +func (client EventSubscriptionsClient) ListRegionalByResourceGroupForTopicTypePreparer(resourceGroupName string, location string, topicTypeName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "topicTypeName": autorest.Encode("path", topicTypeName), + } + + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListRegionalByResourceGroupForTopicTypeSender sends the ListRegionalByResourceGroupForTopicType request. The method will close the +// http.Response Body if it receives an error. +func (client EventSubscriptionsClient) ListRegionalByResourceGroupForTopicTypeSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListRegionalByResourceGroupForTopicTypeResponder handles the response to the ListRegionalByResourceGroupForTopicType request. The method always +// closes the http.Response Body. +func (client EventSubscriptionsClient) ListRegionalByResourceGroupForTopicTypeResponder(resp *http.Response) (result EventSubscriptionsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListRegionalBySubscription list all event subscriptions from the given location under a specific Azure subscription +// +// location is name of the location +func (client EventSubscriptionsClient) ListRegionalBySubscription(location string) (result EventSubscriptionsListResult, err error) { + req, err := client.ListRegionalBySubscriptionPreparer(location) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListRegionalBySubscription", nil, "Failure preparing request") + return + } + + resp, err := client.ListRegionalBySubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListRegionalBySubscription", resp, "Failure sending request") + return + } + + result, err = client.ListRegionalBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListRegionalBySubscription", resp, "Failure responding to request") + } + + return +} + +// ListRegionalBySubscriptionPreparer prepares the ListRegionalBySubscription request. +func (client EventSubscriptionsClient) ListRegionalBySubscriptionPreparer(location string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListRegionalBySubscriptionSender sends the ListRegionalBySubscription request. The method will close the +// http.Response Body if it receives an error. +func (client EventSubscriptionsClient) ListRegionalBySubscriptionSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListRegionalBySubscriptionResponder handles the response to the ListRegionalBySubscription request. The method always +// closes the http.Response Body. +func (client EventSubscriptionsClient) ListRegionalBySubscriptionResponder(resp *http.Response) (result EventSubscriptionsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListRegionalBySubscriptionForTopicType list all event subscriptions from the given location under a specific Azure +// subscription and topic type. +// +// location is name of the location topicTypeName is name of the topic type +func (client EventSubscriptionsClient) ListRegionalBySubscriptionForTopicType(location string, topicTypeName string) (result EventSubscriptionsListResult, err error) { + req, err := client.ListRegionalBySubscriptionForTopicTypePreparer(location, topicTypeName) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListRegionalBySubscriptionForTopicType", nil, "Failure preparing request") + return + } + + resp, err := client.ListRegionalBySubscriptionForTopicTypeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListRegionalBySubscriptionForTopicType", resp, "Failure sending request") + return + } + + result, err = client.ListRegionalBySubscriptionForTopicTypeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "ListRegionalBySubscriptionForTopicType", resp, "Failure responding to request") + } + + return +} + +// ListRegionalBySubscriptionForTopicTypePreparer prepares the ListRegionalBySubscriptionForTopicType request. +func (client EventSubscriptionsClient) ListRegionalBySubscriptionForTopicTypePreparer(location string, topicTypeName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "topicTypeName": autorest.Encode("path", topicTypeName), + } + + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListRegionalBySubscriptionForTopicTypeSender sends the ListRegionalBySubscriptionForTopicType request. The method will close the +// http.Response Body if it receives an error. +func (client EventSubscriptionsClient) ListRegionalBySubscriptionForTopicTypeSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListRegionalBySubscriptionForTopicTypeResponder handles the response to the ListRegionalBySubscriptionForTopicType request. The method always +// closes the http.Response Body. +func (client EventSubscriptionsClient) ListRegionalBySubscriptionForTopicTypeResponder(resp *http.Response) (result EventSubscriptionsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update asynchronously updates an existing event subscription. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. +// +// scope is the scope of existing event subscription. The scope can be a subscription, or a resource group, or a top +// level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use +// '/subscriptions/{subscriptionId}/' for a subscription, +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' +// for a resource, and +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' +// for an EventGrid topic. eventSubscriptionName is name of the event subscription to be created +// eventSubscriptionUpdateParameters is updated event subscription information +func (client EventSubscriptionsClient) Update(scope string, eventSubscriptionName string, eventSubscriptionUpdateParameters EventSubscriptionUpdateParameters, cancel <-chan struct{}) (<-chan EventSubscription, <-chan error) { + resultChan := make(chan EventSubscription, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result EventSubscription + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.UpdatePreparer(scope, eventSubscriptionName, eventSubscriptionUpdateParameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.EventSubscriptionsClient", "Update", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// UpdatePreparer prepares the Update request. +func (client EventSubscriptionsClient) UpdatePreparer(scope string, eventSubscriptionName string, eventSubscriptionUpdateParameters EventSubscriptionUpdateParameters, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "eventSubscriptionName": autorest.Encode("path", eventSubscriptionName), + "scope": scope, + } + + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}", pathParameters), + autorest.WithJSON(eventSubscriptionUpdateParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client EventSubscriptionsClient) UpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client EventSubscriptionsClient) UpdateResponder(resp *http.Response) (result EventSubscription, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/eventgrid/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventgrid/models.go new file mode 100644 index 000000000..9ca6d16b7 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventgrid/models.go @@ -0,0 +1,493 @@ +package eventgrid + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "encoding/json" + "errors" + "github.com/Azure/go-autorest/autorest" +) + +// EndpointType enumerates the values for endpoint type. +type EndpointType string + +const ( + // EndpointTypeEventHub specifies the endpoint type event hub state for endpoint type. + EndpointTypeEventHub EndpointType = "EventHub" + // EndpointTypeWebHook specifies the endpoint type web hook state for endpoint type. + EndpointTypeWebHook EndpointType = "WebHook" +) + +// EventSubscriptionProvisioningState enumerates the values for event subscription provisioning state. +type EventSubscriptionProvisioningState string + +const ( + // Canceled specifies the canceled state for event subscription provisioning state. + Canceled EventSubscriptionProvisioningState = "Canceled" + // Creating specifies the creating state for event subscription provisioning state. + Creating EventSubscriptionProvisioningState = "Creating" + // Deleting specifies the deleting state for event subscription provisioning state. + Deleting EventSubscriptionProvisioningState = "Deleting" + // Failed specifies the failed state for event subscription provisioning state. + Failed EventSubscriptionProvisioningState = "Failed" + // Succeeded specifies the succeeded state for event subscription provisioning state. + Succeeded EventSubscriptionProvisioningState = "Succeeded" + // Updating specifies the updating state for event subscription provisioning state. + Updating EventSubscriptionProvisioningState = "Updating" +) + +// OperationOrigin enumerates the values for operation origin. +type OperationOrigin string + +const ( + // System specifies the system state for operation origin. + System OperationOrigin = "System" + // User specifies the user state for operation origin. + User OperationOrigin = "User" + // UserAndSystem specifies the user and system state for operation origin. + UserAndSystem OperationOrigin = "UserAndSystem" +) + +// ResourceRegionType enumerates the values for resource region type. +type ResourceRegionType string + +const ( + // GlobalResource specifies the global resource state for resource region type. + GlobalResource ResourceRegionType = "GlobalResource" + // RegionalResource specifies the regional resource state for resource region type. + RegionalResource ResourceRegionType = "RegionalResource" +) + +// TopicProvisioningState enumerates the values for topic provisioning state. +type TopicProvisioningState string + +const ( + // TopicProvisioningStateCanceled specifies the topic provisioning state canceled state for topic provisioning state. + TopicProvisioningStateCanceled TopicProvisioningState = "Canceled" + // TopicProvisioningStateCreating specifies the topic provisioning state creating state for topic provisioning state. + TopicProvisioningStateCreating TopicProvisioningState = "Creating" + // TopicProvisioningStateDeleting specifies the topic provisioning state deleting state for topic provisioning state. + TopicProvisioningStateDeleting TopicProvisioningState = "Deleting" + // TopicProvisioningStateFailed specifies the topic provisioning state failed state for topic provisioning state. + TopicProvisioningStateFailed TopicProvisioningState = "Failed" + // TopicProvisioningStateSucceeded specifies the topic provisioning state succeeded state for topic provisioning state. + TopicProvisioningStateSucceeded TopicProvisioningState = "Succeeded" + // TopicProvisioningStateUpdating specifies the topic provisioning state updating state for topic provisioning state. + TopicProvisioningStateUpdating TopicProvisioningState = "Updating" +) + +// TopicTypeProvisioningState enumerates the values for topic type provisioning state. +type TopicTypeProvisioningState string + +const ( + // TopicTypeProvisioningStateCanceled specifies the topic type provisioning state canceled state for topic type + // provisioning state. + TopicTypeProvisioningStateCanceled TopicTypeProvisioningState = "Canceled" + // TopicTypeProvisioningStateCreating specifies the topic type provisioning state creating state for topic type + // provisioning state. + TopicTypeProvisioningStateCreating TopicTypeProvisioningState = "Creating" + // TopicTypeProvisioningStateDeleting specifies the topic type provisioning state deleting state for topic type + // provisioning state. + TopicTypeProvisioningStateDeleting TopicTypeProvisioningState = "Deleting" + // TopicTypeProvisioningStateFailed specifies the topic type provisioning state failed state for topic type + // provisioning state. + TopicTypeProvisioningStateFailed TopicTypeProvisioningState = "Failed" + // TopicTypeProvisioningStateSucceeded specifies the topic type provisioning state succeeded state for topic type + // provisioning state. + TopicTypeProvisioningStateSucceeded TopicTypeProvisioningState = "Succeeded" + // TopicTypeProvisioningStateUpdating specifies the topic type provisioning state updating state for topic type + // provisioning state. + TopicTypeProvisioningStateUpdating TopicTypeProvisioningState = "Updating" +) + +// EventHubEventSubscriptionDestination is information about the event hub destination for an event subscription +type EventHubEventSubscriptionDestination struct { + EndpointType EndpointType `json:"endpointType,omitempty"` + *EventHubEventSubscriptionDestinationProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for EventHubEventSubscriptionDestination. +func (ehesd EventHubEventSubscriptionDestination) MarshalJSON() ([]byte, error) { + ehesd.EndpointType = EndpointTypeEventHub + type Alias EventHubEventSubscriptionDestination + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ehesd), + }) +} + +// AsWebHookEventSubscriptionDestination is the EventSubscriptionDestination implementation for EventHubEventSubscriptionDestination. +func (ehesd EventHubEventSubscriptionDestination) AsWebHookEventSubscriptionDestination() (*WebHookEventSubscriptionDestination, bool) { + return nil, false +} + +// AsEventHubEventSubscriptionDestination is the EventSubscriptionDestination implementation for EventHubEventSubscriptionDestination. +func (ehesd EventHubEventSubscriptionDestination) AsEventHubEventSubscriptionDestination() (*EventHubEventSubscriptionDestination, bool) { + return &ehesd, true +} + +// EventHubEventSubscriptionDestinationProperties is the properties for a event hub destination. +type EventHubEventSubscriptionDestinationProperties struct { + ResourceID *string `json:"resourceId,omitempty"` +} + +// EventSubscription is event Subscription +type EventSubscription struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *EventSubscriptionProperties `json:"properties,omitempty"` +} + +// EventSubscriptionDestination is information about the destination for an event subscription +type EventSubscriptionDestination interface { + AsWebHookEventSubscriptionDestination() (*WebHookEventSubscriptionDestination, bool) + AsEventHubEventSubscriptionDestination() (*EventHubEventSubscriptionDestination, bool) +} + +func unmarshalEventSubscriptionDestination(body []byte) (EventSubscriptionDestination, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["endpointType"] { + case string(EndpointTypeWebHook): + var whesd WebHookEventSubscriptionDestination + err := json.Unmarshal(body, &whesd) + return whesd, err + case string(EndpointTypeEventHub): + var ehesd EventHubEventSubscriptionDestination + err := json.Unmarshal(body, &ehesd) + return ehesd, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalEventSubscriptionDestinationArray(body []byte) ([]EventSubscriptionDestination, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + esdArray := make([]EventSubscriptionDestination, len(rawMessages)) + + for index, rawMessage := range rawMessages { + esd, err := unmarshalEventSubscriptionDestination(*rawMessage) + if err != nil { + return nil, err + } + esdArray[index] = esd + } + return esdArray, nil +} + +// EventSubscriptionFilter is filter for the Event Subscription +type EventSubscriptionFilter struct { + SubjectBeginsWith *string `json:"subjectBeginsWith,omitempty"` + SubjectEndsWith *string `json:"subjectEndsWith,omitempty"` + IncludedEventTypes *[]string `json:"includedEventTypes,omitempty"` + IsSubjectCaseSensitive *bool `json:"isSubjectCaseSensitive,omitempty"` +} + +// EventSubscriptionFullURL is full endpoint url of an event subscription +type EventSubscriptionFullURL struct { + autorest.Response `json:"-"` + EndpointURL *string `json:"endpointUrl,omitempty"` +} + +// EventSubscriptionProperties is properties of the Event Subscription +type EventSubscriptionProperties struct { + Topic *string `json:"topic,omitempty"` + ProvisioningState EventSubscriptionProvisioningState `json:"provisioningState,omitempty"` + Destination EventSubscriptionDestination `json:"destination,omitempty"` + Filter *EventSubscriptionFilter `json:"filter,omitempty"` + Labels *[]string `json:"labels,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for EventSubscriptionProperties struct. +func (esp *EventSubscriptionProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["topic"] + if v != nil { + var topic string + err = json.Unmarshal(*m["topic"], &topic) + if err != nil { + return err + } + esp.Topic = &topic + } + + v = m["provisioningState"] + if v != nil { + var provisioningState EventSubscriptionProvisioningState + err = json.Unmarshal(*m["provisioningState"], &provisioningState) + if err != nil { + return err + } + esp.ProvisioningState = provisioningState + } + + v = m["destination"] + if v != nil { + destination, err := unmarshalEventSubscriptionDestination(*m["destination"]) + if err != nil { + return err + } + esp.Destination = destination + } + + v = m["filter"] + if v != nil { + var filter EventSubscriptionFilter + err = json.Unmarshal(*m["filter"], &filter) + if err != nil { + return err + } + esp.Filter = &filter + } + + v = m["labels"] + if v != nil { + var labels []string + err = json.Unmarshal(*m["labels"], &labels) + if err != nil { + return err + } + esp.Labels = &labels + } + + return nil +} + +// EventSubscriptionsListResult is result of the List EventSubscriptions operation +type EventSubscriptionsListResult struct { + autorest.Response `json:"-"` + Value *[]EventSubscription `json:"value,omitempty"` +} + +// EventSubscriptionUpdateParameters is properties of the Event Subscription update +type EventSubscriptionUpdateParameters struct { + Destination EventSubscriptionDestination `json:"destination,omitempty"` + Filter *EventSubscriptionFilter `json:"filter,omitempty"` + Labels *[]string `json:"labels,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for EventSubscriptionUpdateParameters struct. +func (esup *EventSubscriptionUpdateParameters) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["destination"] + if v != nil { + destination, err := unmarshalEventSubscriptionDestination(*m["destination"]) + if err != nil { + return err + } + esup.Destination = destination + } + + v = m["filter"] + if v != nil { + var filter EventSubscriptionFilter + err = json.Unmarshal(*m["filter"], &filter) + if err != nil { + return err + } + esup.Filter = &filter + } + + v = m["labels"] + if v != nil { + var labels []string + err = json.Unmarshal(*m["labels"], &labels) + if err != nil { + return err + } + esup.Labels = &labels + } + + return nil +} + +// EventType is event Type for a subject under a topic +type EventType struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *EventTypeProperties `json:"properties,omitempty"` +} + +// EventTypeProperties is properties of the event type +type EventTypeProperties struct { + DisplayName *string `json:"displayName,omitempty"` + Description *string `json:"description,omitempty"` + SchemaURL *string `json:"schemaUrl,omitempty"` +} + +// EventTypesListResult is result of the List Event Types operation +type EventTypesListResult struct { + autorest.Response `json:"-"` + Value *[]EventType `json:"value,omitempty"` +} + +// Operation is represents an operation returned by the GetOperations request +type Operation struct { + Name *string `json:"name,omitempty"` + Display *OperationInfo `json:"display,omitempty"` + Origin OperationOrigin `json:"origin,omitempty"` + Properties *map[string]interface{} `json:"properties,omitempty"` +} + +// OperationInfo is information about an operation +type OperationInfo struct { + Provider *string `json:"provider,omitempty"` + Resource *string `json:"resource,omitempty"` + Operation *string `json:"operation,omitempty"` + Description *string `json:"description,omitempty"` +} + +// OperationsListResult is result of the List Operations operation +type OperationsListResult struct { + autorest.Response `json:"-"` + Value *[]Operation `json:"value,omitempty"` +} + +// Resource is definition of a Resource +type Resource struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` +} + +// Topic is eventGrid Topic +type Topic struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + *TopicProperties `json:"properties,omitempty"` +} + +// TopicProperties is properties of the Topic +type TopicProperties struct { + ProvisioningState TopicProvisioningState `json:"provisioningState,omitempty"` + Endpoint *string `json:"endpoint,omitempty"` +} + +// TopicRegenerateKeyRequest is topic regenerate share access key key request +type TopicRegenerateKeyRequest struct { + KeyName *string `json:"keyName,omitempty"` +} + +// TopicSharedAccessKeys is shared access keys of the Topic +type TopicSharedAccessKeys struct { + autorest.Response `json:"-"` + Key1 *string `json:"key1,omitempty"` + Key2 *string `json:"key2,omitempty"` +} + +// TopicsListResult is result of the List Topics operation +type TopicsListResult struct { + autorest.Response `json:"-"` + Value *[]Topic `json:"value,omitempty"` +} + +// TopicTypeInfo is properties of a topic type info. +type TopicTypeInfo struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *TopicTypeProperties `json:"properties,omitempty"` +} + +// TopicTypeProperties is properties of a topic type. +type TopicTypeProperties struct { + Provider *string `json:"provider,omitempty"` + DisplayName *string `json:"displayName,omitempty"` + Description *string `json:"description,omitempty"` + ResourceRegionType ResourceRegionType `json:"resourceRegionType,omitempty"` + ProvisioningState TopicTypeProvisioningState `json:"provisioningState,omitempty"` + SupportedLocations *[]string `json:"supportedLocations,omitempty"` +} + +// TopicTypesListResult is result of the List Topic Types operation +type TopicTypesListResult struct { + autorest.Response `json:"-"` + Value *[]TopicTypeInfo `json:"value,omitempty"` +} + +// TrackedResource is definition of a Tracked Resource +type TrackedResource struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` +} + +// WebHookEventSubscriptionDestination is information about the webhook destination for an event subscription +type WebHookEventSubscriptionDestination struct { + EndpointType EndpointType `json:"endpointType,omitempty"` + *WebHookEventSubscriptionDestinationProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for WebHookEventSubscriptionDestination. +func (whesd WebHookEventSubscriptionDestination) MarshalJSON() ([]byte, error) { + whesd.EndpointType = EndpointTypeWebHook + type Alias WebHookEventSubscriptionDestination + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(whesd), + }) +} + +// AsWebHookEventSubscriptionDestination is the EventSubscriptionDestination implementation for WebHookEventSubscriptionDestination. +func (whesd WebHookEventSubscriptionDestination) AsWebHookEventSubscriptionDestination() (*WebHookEventSubscriptionDestination, bool) { + return &whesd, true +} + +// AsEventHubEventSubscriptionDestination is the EventSubscriptionDestination implementation for WebHookEventSubscriptionDestination. +func (whesd WebHookEventSubscriptionDestination) AsEventHubEventSubscriptionDestination() (*EventHubEventSubscriptionDestination, bool) { + return nil, false +} + +// WebHookEventSubscriptionDestinationProperties is information about the webhook destination properties for an event +// subscription +type WebHookEventSubscriptionDestinationProperties struct { + EndpointURL *string `json:"endpointUrl,omitempty"` + EndpointBaseURL *string `json:"endpointBaseUrl,omitempty"` +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/eventgrid/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventgrid/operations.go new file mode 100644 index 000000000..915992d07 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventgrid/operations.go @@ -0,0 +1,96 @@ +package eventgrid + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// OperationsClient is the azure EventGrid Management Client +type OperationsClient struct { + ManagementClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List list the available operations supported by the Microsoft.EventGrid resource provider +func (client OperationsClient) List() (result OperationsListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventgrid.OperationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer() (*http.Request, error) { + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.EventGrid/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/eventgrid/topics.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventgrid/topics.go new file mode 100644 index 000000000..8e3920bc7 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventgrid/topics.go @@ -0,0 +1,602 @@ +package eventgrid + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// TopicsClient is the azure EventGrid Management Client +type TopicsClient struct { + ManagementClient +} + +// NewTopicsClient creates an instance of the TopicsClient client. +func NewTopicsClient(subscriptionID string) TopicsClient { + return NewTopicsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewTopicsClientWithBaseURI creates an instance of the TopicsClient client. +func NewTopicsClientWithBaseURI(baseURI string, subscriptionID string) TopicsClient { + return TopicsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate asynchronously creates a new topic with the specified parameters. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group within the user's subscription. topicName is name of the topic +// topicInfo is topic information +func (client TopicsClient) CreateOrUpdate(resourceGroupName string, topicName string, topicInfo Topic, cancel <-chan struct{}) (<-chan Topic, <-chan error) { + resultChan := make(chan Topic, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result Topic + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, topicName, topicInfo, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.TopicsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventgrid.TopicsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.TopicsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client TopicsClient) CreateOrUpdatePreparer(resourceGroupName string, topicName string, topicInfo Topic, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "topicName": autorest.Encode("path", topicName), + } + + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}", pathParameters), + autorest.WithJSON(topicInfo), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client TopicsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client TopicsClient) CreateOrUpdateResponder(resp *http.Response) (result Topic, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete delete existing topic This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group within the user's subscription. topicName is name of the topic +func (client TopicsClient) Delete(resourceGroupName string, topicName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, topicName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.TopicsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "eventgrid.TopicsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.TopicsClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// DeletePreparer prepares the Delete request. +func (client TopicsClient) DeletePreparer(resourceGroupName string, topicName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "topicName": autorest.Encode("path", topicName), + } + + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client TopicsClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client TopicsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get properties of a topic +// +// resourceGroupName is the name of the resource group within the user's subscription. topicName is name of the topic +func (client TopicsClient) Get(resourceGroupName string, topicName string) (result Topic, err error) { + req, err := client.GetPreparer(resourceGroupName, topicName) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.TopicsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventgrid.TopicsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.TopicsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client TopicsClient) GetPreparer(resourceGroupName string, topicName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "topicName": autorest.Encode("path", topicName), + } + + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client TopicsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client TopicsClient) GetResponder(resp *http.Response) (result Topic, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroup list all the topics under a resource group +// +// resourceGroupName is the name of the resource group within the user's subscription. +func (client TopicsClient) ListByResourceGroup(resourceGroupName string) (result TopicsListResult, err error) { + req, err := client.ListByResourceGroupPreparer(resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.TopicsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventgrid.TopicsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.TopicsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client TopicsClient) ListByResourceGroupPreparer(resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client TopicsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client TopicsClient) ListByResourceGroupResponder(resp *http.Response) (result TopicsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListBySubscription list all the topics under an Azure subscription +func (client TopicsClient) ListBySubscription() (result TopicsListResult, err error) { + req, err := client.ListBySubscriptionPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.TopicsClient", "ListBySubscription", nil, "Failure preparing request") + return + } + + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventgrid.TopicsClient", "ListBySubscription", resp, "Failure sending request") + return + } + + result, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.TopicsClient", "ListBySubscription", resp, "Failure responding to request") + } + + return +} + +// ListBySubscriptionPreparer prepares the ListBySubscription request. +func (client TopicsClient) ListBySubscriptionPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topics", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListBySubscriptionSender sends the ListBySubscription request. The method will close the +// http.Response Body if it receives an error. +func (client TopicsClient) ListBySubscriptionSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListBySubscriptionResponder handles the response to the ListBySubscription request. The method always +// closes the http.Response Body. +func (client TopicsClient) ListBySubscriptionResponder(resp *http.Response) (result TopicsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListEventTypes list event types for a topic +// +// resourceGroupName is the name of the resource group within the user's subscription. providerNamespace is namespace +// of the provider of the topic resourceTypeName is name of the topic type resourceName is name of the topic +func (client TopicsClient) ListEventTypes(resourceGroupName string, providerNamespace string, resourceTypeName string, resourceName string) (result EventTypesListResult, err error) { + req, err := client.ListEventTypesPreparer(resourceGroupName, providerNamespace, resourceTypeName, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.TopicsClient", "ListEventTypes", nil, "Failure preparing request") + return + } + + resp, err := client.ListEventTypesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventgrid.TopicsClient", "ListEventTypes", resp, "Failure sending request") + return + } + + result, err = client.ListEventTypesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.TopicsClient", "ListEventTypes", resp, "Failure responding to request") + } + + return +} + +// ListEventTypesPreparer prepares the ListEventTypes request. +func (client TopicsClient) ListEventTypesPreparer(resourceGroupName string, providerNamespace string, resourceTypeName string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "providerNamespace": autorest.Encode("path", providerNamespace), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "resourceTypeName": autorest.Encode("path", resourceTypeName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventTypes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListEventTypesSender sends the ListEventTypes request. The method will close the +// http.Response Body if it receives an error. +func (client TopicsClient) ListEventTypesSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListEventTypesResponder handles the response to the ListEventTypes request. The method always +// closes the http.Response Body. +func (client TopicsClient) ListEventTypesResponder(resp *http.Response) (result EventTypesListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListSharedAccessKeys list the two keys used to publish to a topic +// +// resourceGroupName is the name of the resource group within the user's subscription. topicName is name of the topic +func (client TopicsClient) ListSharedAccessKeys(resourceGroupName string, topicName string) (result TopicSharedAccessKeys, err error) { + req, err := client.ListSharedAccessKeysPreparer(resourceGroupName, topicName) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.TopicsClient", "ListSharedAccessKeys", nil, "Failure preparing request") + return + } + + resp, err := client.ListSharedAccessKeysSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventgrid.TopicsClient", "ListSharedAccessKeys", resp, "Failure sending request") + return + } + + result, err = client.ListSharedAccessKeysResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.TopicsClient", "ListSharedAccessKeys", resp, "Failure responding to request") + } + + return +} + +// ListSharedAccessKeysPreparer prepares the ListSharedAccessKeys request. +func (client TopicsClient) ListSharedAccessKeysPreparer(resourceGroupName string, topicName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "topicName": autorest.Encode("path", topicName), + } + + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/listKeys", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSharedAccessKeysSender sends the ListSharedAccessKeys request. The method will close the +// http.Response Body if it receives an error. +func (client TopicsClient) ListSharedAccessKeysSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListSharedAccessKeysResponder handles the response to the ListSharedAccessKeys request. The method always +// closes the http.Response Body. +func (client TopicsClient) ListSharedAccessKeysResponder(resp *http.Response) (result TopicSharedAccessKeys, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// RegenerateKey regenerate a shared access key for a topic +// +// resourceGroupName is the name of the resource group within the user's subscription. topicName is name of the topic +// regenerateKeyRequest is request body to regenerate key +func (client TopicsClient) RegenerateKey(resourceGroupName string, topicName string, regenerateKeyRequest TopicRegenerateKeyRequest) (result TopicSharedAccessKeys, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: regenerateKeyRequest, + Constraints: []validation.Constraint{{Target: "regenerateKeyRequest.KeyName", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "eventgrid.TopicsClient", "RegenerateKey") + } + + req, err := client.RegenerateKeyPreparer(resourceGroupName, topicName, regenerateKeyRequest) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.TopicsClient", "RegenerateKey", nil, "Failure preparing request") + return + } + + resp, err := client.RegenerateKeySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventgrid.TopicsClient", "RegenerateKey", resp, "Failure sending request") + return + } + + result, err = client.RegenerateKeyResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.TopicsClient", "RegenerateKey", resp, "Failure responding to request") + } + + return +} + +// RegenerateKeyPreparer prepares the RegenerateKey request. +func (client TopicsClient) RegenerateKeyPreparer(resourceGroupName string, topicName string, regenerateKeyRequest TopicRegenerateKeyRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "topicName": autorest.Encode("path", topicName), + } + + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/regenerateKey", pathParameters), + autorest.WithJSON(regenerateKeyRequest), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// RegenerateKeySender sends the RegenerateKey request. The method will close the +// http.Response Body if it receives an error. +func (client TopicsClient) RegenerateKeySender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// RegenerateKeyResponder handles the response to the RegenerateKey request. The method always +// closes the http.Response Body. +func (client TopicsClient) RegenerateKeyResponder(resp *http.Response) (result TopicSharedAccessKeys, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/eventgrid/topictypes.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventgrid/topictypes.go new file mode 100644 index 000000000..3f4e39990 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventgrid/topictypes.go @@ -0,0 +1,222 @@ +package eventgrid + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// TopicTypesClient is the azure EventGrid Management Client +type TopicTypesClient struct { + ManagementClient +} + +// NewTopicTypesClient creates an instance of the TopicTypesClient client. +func NewTopicTypesClient(subscriptionID string) TopicTypesClient { + return NewTopicTypesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewTopicTypesClientWithBaseURI creates an instance of the TopicTypesClient client. +func NewTopicTypesClientWithBaseURI(baseURI string, subscriptionID string) TopicTypesClient { + return TopicTypesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get get information about a topic type +// +// topicTypeName is name of the topic type +func (client TopicTypesClient) Get(topicTypeName string) (result TopicTypeInfo, err error) { + req, err := client.GetPreparer(topicTypeName) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.TopicTypesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventgrid.TopicTypesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.TopicTypesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client TopicTypesClient) GetPreparer(topicTypeName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "topicTypeName": autorest.Encode("path", topicTypeName), + } + + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client TopicTypesClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client TopicTypesClient) GetResponder(resp *http.Response) (result TopicTypeInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List list all registered topic types +func (client TopicTypesClient) List() (result TopicTypesListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.TopicTypesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventgrid.TopicTypesClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.TopicTypesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client TopicTypesClient) ListPreparer() (*http.Request, error) { + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.EventGrid/topicTypes"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client TopicTypesClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client TopicTypesClient) ListResponder(resp *http.Response) (result TopicTypesListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListEventTypes list event types for a topic type +// +// topicTypeName is name of the topic type +func (client TopicTypesClient) ListEventTypes(topicTypeName string) (result EventTypesListResult, err error) { + req, err := client.ListEventTypesPreparer(topicTypeName) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.TopicTypesClient", "ListEventTypes", nil, "Failure preparing request") + return + } + + resp, err := client.ListEventTypesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventgrid.TopicTypesClient", "ListEventTypes", resp, "Failure sending request") + return + } + + result, err = client.ListEventTypesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventgrid.TopicTypesClient", "ListEventTypes", resp, "Failure responding to request") + } + + return +} + +// ListEventTypesPreparer prepares the ListEventTypes request. +func (client TopicTypesClient) ListEventTypesPreparer(topicTypeName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "topicTypeName": autorest.Encode("path", topicTypeName), + } + + const APIVersion = "2017-09-15-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventTypes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListEventTypesSender sends the ListEventTypes request. The method will close the +// http.Response Body if it receives an error. +func (client TopicTypesClient) ListEventTypesSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListEventTypesResponder handles the response to the ListEventTypes request. The method always +// closes the http.Response Body. +func (client TopicTypesClient) ListEventTypesResponder(resp *http.Response) (result EventTypesListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/eventgrid/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventgrid/version.go new file mode 100644 index 000000000..741dabd27 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventgrid/version.go @@ -0,0 +1,28 @@ +package eventgrid + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/v11.0.0-beta arm-eventgrid/2017-09-15-preview" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return "v11.0.0-beta" +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/client.go index 204ad6729..a9ae459d9 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/client.go @@ -1,5 +1,4 @@ -// Package eventhub implements the Azure ARM Eventhub service API version -// 2015-08-01. +// Package eventhub implements the Azure ARM Eventhub service API version 2017-04-01. // // Azure Event Hubs client package eventhub @@ -18,9 +17,8 @@ package eventhub // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/consumergroups.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/consumergroups.go index e9a194ba9..eebbc20c9 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/consumergroups.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/consumergroups.go @@ -14,9 +14,8 @@ package eventhub // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -30,26 +29,22 @@ type ConsumerGroupsClient struct { ManagementClient } -// NewConsumerGroupsClient creates an instance of the ConsumerGroupsClient -// client. +// NewConsumerGroupsClient creates an instance of the ConsumerGroupsClient client. func NewConsumerGroupsClient(subscriptionID string) ConsumerGroupsClient { return NewConsumerGroupsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewConsumerGroupsClientWithBaseURI creates an instance of the -// ConsumerGroupsClient client. +// NewConsumerGroupsClientWithBaseURI creates an instance of the ConsumerGroupsClient client. func NewConsumerGroupsClientWithBaseURI(baseURI string, subscriptionID string) ConsumerGroupsClient { return ConsumerGroupsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates an Event Hubs consumer group as a nested -// resource within a Namespace. +// CreateOrUpdate creates or updates an Event Hubs consumer group as a nested resource within a Namespace. // -// resourceGroupName is name of the resource group within the azure -// subscription. namespaceName is the Namespace name eventHubName is the Event -// Hub name consumerGroupName is the consumer group name parameters is -// parameters supplied to create or update a consumer group resource. -func (client ConsumerGroupsClient) CreateOrUpdate(resourceGroupName string, namespaceName string, eventHubName string, consumerGroupName string, parameters ConsumerGroupCreateOrUpdateParameters) (result ConsumerGroupResource, err error) { +// resourceGroupName is name of the resource group within the azure subscription. namespaceName is the Namespace name +// eventHubName is the Event Hub name consumerGroupName is the consumer group name parameters is parameters supplied to +// create or update a consumer group resource. +func (client ConsumerGroupsClient) CreateOrUpdate(resourceGroupName string, namespaceName string, eventHubName string, consumerGroupName string, parameters ConsumerGroup) (result ConsumerGroup, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -58,13 +53,9 @@ func (client ConsumerGroupsClient) CreateOrUpdate(resourceGroupName string, name Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: eventHubName, - Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: consumerGroupName, - Constraints: []validation.Constraint{{Target: "consumerGroupName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "consumerGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.Location", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "consumerGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "eventhub.ConsumerGroupsClient", "CreateOrUpdate") } @@ -90,7 +81,7 @@ func (client ConsumerGroupsClient) CreateOrUpdate(resourceGroupName string, name } // CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client ConsumerGroupsClient) CreateOrUpdatePreparer(resourceGroupName string, namespaceName string, eventHubName string, consumerGroupName string, parameters ConsumerGroupCreateOrUpdateParameters) (*http.Request, error) { +func (client ConsumerGroupsClient) CreateOrUpdatePreparer(resourceGroupName string, namespaceName string, eventHubName string, consumerGroupName string, parameters ConsumerGroup) (*http.Request, error) { pathParameters := map[string]interface{}{ "consumerGroupName": autorest.Encode("path", consumerGroupName), "eventHubName": autorest.Encode("path", eventHubName), @@ -99,7 +90,7 @@ func (client ConsumerGroupsClient) CreateOrUpdatePreparer(resourceGroupName stri "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -122,7 +113,7 @@ func (client ConsumerGroupsClient) CreateOrUpdateSender(req *http.Request) (*htt // CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always // closes the http.Response Body. -func (client ConsumerGroupsClient) CreateOrUpdateResponder(resp *http.Response) (result ConsumerGroupResource, err error) { +func (client ConsumerGroupsClient) CreateOrUpdateResponder(resp *http.Response) (result ConsumerGroup, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -133,12 +124,10 @@ func (client ConsumerGroupsClient) CreateOrUpdateResponder(resp *http.Response) return } -// Delete deletes a consumer group from the specified Event Hub and resource -// group. +// Delete deletes a consumer group from the specified Event Hub and resource group. // -// resourceGroupName is name of the resource group within the azure -// subscription. namespaceName is the Namespace name eventHubName is the Event -// Hub name consumerGroupName is the consumer group name +// resourceGroupName is name of the resource group within the azure subscription. namespaceName is the Namespace name +// eventHubName is the Event Hub name consumerGroupName is the consumer group name func (client ConsumerGroupsClient) Delete(resourceGroupName string, namespaceName string, eventHubName string, consumerGroupName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -148,11 +137,9 @@ func (client ConsumerGroupsClient) Delete(resourceGroupName string, namespaceNam Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: eventHubName, - Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: consumerGroupName, - Constraints: []validation.Constraint{{Target: "consumerGroupName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "consumerGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "consumerGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "eventhub.ConsumerGroupsClient", "Delete") } @@ -187,7 +174,7 @@ func (client ConsumerGroupsClient) DeletePreparer(resourceGroupName string, name "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -220,10 +207,9 @@ func (client ConsumerGroupsClient) DeleteResponder(resp *http.Response) (result // Get gets a description for the specified consumer group. // -// resourceGroupName is name of the resource group within the azure -// subscription. namespaceName is the Namespace name eventHubName is the Event -// Hub name consumerGroupName is the consumer group name -func (client ConsumerGroupsClient) Get(resourceGroupName string, namespaceName string, eventHubName string, consumerGroupName string) (result ConsumerGroupResource, err error) { +// resourceGroupName is name of the resource group within the azure subscription. namespaceName is the Namespace name +// eventHubName is the Event Hub name consumerGroupName is the consumer group name +func (client ConsumerGroupsClient) Get(resourceGroupName string, namespaceName string, eventHubName string, consumerGroupName string) (result ConsumerGroup, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -232,11 +218,9 @@ func (client ConsumerGroupsClient) Get(resourceGroupName string, namespaceName s Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: eventHubName, - Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: consumerGroupName, - Constraints: []validation.Constraint{{Target: "consumerGroupName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "consumerGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "consumerGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "eventhub.ConsumerGroupsClient", "Get") } @@ -271,7 +255,7 @@ func (client ConsumerGroupsClient) GetPreparer(resourceGroupName string, namespa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -292,7 +276,7 @@ func (client ConsumerGroupsClient) GetSender(req *http.Request) (*http.Response, // GetResponder handles the response to the Get request. The method always // closes the http.Response Body. -func (client ConsumerGroupsClient) GetResponder(resp *http.Response) (result ConsumerGroupResource, err error) { +func (client ConsumerGroupsClient) GetResponder(resp *http.Response) (result ConsumerGroup, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -303,13 +287,12 @@ func (client ConsumerGroupsClient) GetResponder(resp *http.Response) (result Con return } -// ListAll gets all the consumer groups in a Namespace. An empty feed is -// returned if no consumer group exists in the Namespace. +// ListByEventHub gets all the consumer groups in a Namespace. An empty feed is returned if no consumer group exists in +// the Namespace. // -// resourceGroupName is name of the resource group within the azure -// subscription. namespaceName is the Namespace name eventHubName is the Event -// Hub name -func (client ConsumerGroupsClient) ListAll(resourceGroupName string, namespaceName string, eventHubName string) (result ConsumerGroupListResult, err error) { +// resourceGroupName is name of the resource group within the azure subscription. namespaceName is the Namespace name +// eventHubName is the Event Hub name +func (client ConsumerGroupsClient) ListByEventHub(resourceGroupName string, namespaceName string, eventHubName string) (result ConsumerGroupListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -318,34 +301,33 @@ func (client ConsumerGroupsClient) ListAll(resourceGroupName string, namespaceNa Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: eventHubName, - Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { - return result, validation.NewErrorWithValidationError(err, "eventhub.ConsumerGroupsClient", "ListAll") + Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "eventhub.ConsumerGroupsClient", "ListByEventHub") } - req, err := client.ListAllPreparer(resourceGroupName, namespaceName, eventHubName) + req, err := client.ListByEventHubPreparer(resourceGroupName, namespaceName, eventHubName) if err != nil { - err = autorest.NewErrorWithError(err, "eventhub.ConsumerGroupsClient", "ListAll", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "eventhub.ConsumerGroupsClient", "ListByEventHub", nil, "Failure preparing request") return } - resp, err := client.ListAllSender(req) + resp, err := client.ListByEventHubSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "eventhub.ConsumerGroupsClient", "ListAll", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "eventhub.ConsumerGroupsClient", "ListByEventHub", resp, "Failure sending request") return } - result, err = client.ListAllResponder(resp) + result, err = client.ListByEventHubResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "eventhub.ConsumerGroupsClient", "ListAll", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "eventhub.ConsumerGroupsClient", "ListByEventHub", resp, "Failure responding to request") } return } -// ListAllPreparer prepares the ListAll request. -func (client ConsumerGroupsClient) ListAllPreparer(resourceGroupName string, namespaceName string, eventHubName string) (*http.Request, error) { +// ListByEventHubPreparer prepares the ListByEventHub request. +func (client ConsumerGroupsClient) ListByEventHubPreparer(resourceGroupName string, namespaceName string, eventHubName string) (*http.Request, error) { pathParameters := map[string]interface{}{ "eventHubName": autorest.Encode("path", eventHubName), "namespaceName": autorest.Encode("path", namespaceName), @@ -353,7 +335,7 @@ func (client ConsumerGroupsClient) ListAllPreparer(resourceGroupName string, nam "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -366,15 +348,15 @@ func (client ConsumerGroupsClient) ListAllPreparer(resourceGroupName string, nam return preparer.Prepare(&http.Request{}) } -// ListAllSender sends the ListAll request. The method will close the +// ListByEventHubSender sends the ListByEventHub request. The method will close the // http.Response Body if it receives an error. -func (client ConsumerGroupsClient) ListAllSender(req *http.Request) (*http.Response, error) { +func (client ConsumerGroupsClient) ListByEventHubSender(req *http.Request) (*http.Response, error) { return autorest.SendWithSender(client, req) } -// ListAllResponder handles the response to the ListAll request. The method always +// ListByEventHubResponder handles the response to the ListByEventHub request. The method always // closes the http.Response Body. -func (client ConsumerGroupsClient) ListAllResponder(resp *http.Response) (result ConsumerGroupListResult, err error) { +func (client ConsumerGroupsClient) ListByEventHubResponder(resp *http.Response) (result ConsumerGroupListResult, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -385,26 +367,71 @@ func (client ConsumerGroupsClient) ListAllResponder(resp *http.Response) (result return } -// ListAllNextResults retrieves the next set of results, if any. -func (client ConsumerGroupsClient) ListAllNextResults(lastResults ConsumerGroupListResult) (result ConsumerGroupListResult, err error) { +// ListByEventHubNextResults retrieves the next set of results, if any. +func (client ConsumerGroupsClient) ListByEventHubNextResults(lastResults ConsumerGroupListResult) (result ConsumerGroupListResult, err error) { req, err := lastResults.ConsumerGroupListResultPreparer() if err != nil { - return result, autorest.NewErrorWithError(err, "eventhub.ConsumerGroupsClient", "ListAll", nil, "Failure preparing next results request") + return result, autorest.NewErrorWithError(err, "eventhub.ConsumerGroupsClient", "ListByEventHub", nil, "Failure preparing next results request") } if req == nil { return } - resp, err := client.ListAllSender(req) + resp, err := client.ListByEventHubSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "eventhub.ConsumerGroupsClient", "ListAll", resp, "Failure sending next results request") + return result, autorest.NewErrorWithError(err, "eventhub.ConsumerGroupsClient", "ListByEventHub", resp, "Failure sending next results request") } - result, err = client.ListAllResponder(resp) + result, err = client.ListByEventHubResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "eventhub.ConsumerGroupsClient", "ListAll", resp, "Failure responding to next results request") + err = autorest.NewErrorWithError(err, "eventhub.ConsumerGroupsClient", "ListByEventHub", resp, "Failure responding to next results request") } return } + +// ListByEventHubComplete gets all elements from the list without paging. +func (client ConsumerGroupsClient) ListByEventHubComplete(resourceGroupName string, namespaceName string, eventHubName string, cancel <-chan struct{}) (<-chan ConsumerGroup, <-chan error) { + resultChan := make(chan ConsumerGroup) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByEventHub(resourceGroupName, namespaceName, eventHubName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByEventHubNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/eventhubs.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/eventhubs.go index 359e0da10..c0236fe54 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/eventhubs.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/eventhubs.go @@ -14,9 +14,8 @@ package eventhub // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -35,19 +34,16 @@ func NewEventHubsClient(subscriptionID string) EventHubsClient { return NewEventHubsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewEventHubsClientWithBaseURI creates an instance of the EventHubsClient -// client. +// NewEventHubsClientWithBaseURI creates an instance of the EventHubsClient client. func NewEventHubsClientWithBaseURI(baseURI string, subscriptionID string) EventHubsClient { return EventHubsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates a new Event Hub as a nested resource -// within a Namespace. +// CreateOrUpdate creates or updates a new Event Hub as a nested resource within a Namespace. // -// resourceGroupName is name of the resource group within the azure -// subscription. namespaceName is the Namespace name eventHubName is the Event -// Hub name parameters is parameters supplied to create an Event Hub resource. -func (client EventHubsClient) CreateOrUpdate(resourceGroupName string, namespaceName string, eventHubName string, parameters CreateOrUpdateParameters) (result ResourceType, err error) { +// resourceGroupName is name of the resource group within the azure subscription. namespaceName is the Namespace name +// eventHubName is the Event Hub name parameters is parameters supplied to create an Event Hub resource. +func (client EventHubsClient) CreateOrUpdate(resourceGroupName string, namespaceName string, eventHubName string, parameters Model) (result Model, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -56,10 +52,28 @@ func (client EventHubsClient) CreateOrUpdate(resourceGroupName string, namespace Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: eventHubName, - Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.Location", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "parameters.Properties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.MessageRetentionInDays", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.MessageRetentionInDays", Name: validation.InclusiveMaximum, Rule: 7, Chain: nil}, + {Target: "parameters.Properties.MessageRetentionInDays", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}, + {Target: "parameters.Properties.PartitionCount", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.PartitionCount", Name: validation.InclusiveMaximum, Rule: 32, Chain: nil}, + {Target: "parameters.Properties.PartitionCount", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}, + {Target: "parameters.Properties.CaptureDescription", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.CaptureDescription.IntervalInSeconds", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.CaptureDescription.IntervalInSeconds", Name: validation.InclusiveMaximum, Rule: 900, Chain: nil}, + {Target: "parameters.Properties.CaptureDescription.IntervalInSeconds", Name: validation.InclusiveMinimum, Rule: 60, Chain: nil}, + }}, + {Target: "parameters.Properties.CaptureDescription.SizeLimitInBytes", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.CaptureDescription.SizeLimitInBytes", Name: validation.InclusiveMaximum, Rule: 524288000, Chain: nil}, + {Target: "parameters.Properties.CaptureDescription.SizeLimitInBytes", Name: validation.InclusiveMinimum, Rule: 10485760, Chain: nil}, + }}, + }}, + }}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "eventhub.EventHubsClient", "CreateOrUpdate") } @@ -85,7 +99,7 @@ func (client EventHubsClient) CreateOrUpdate(resourceGroupName string, namespace } // CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client EventHubsClient) CreateOrUpdatePreparer(resourceGroupName string, namespaceName string, eventHubName string, parameters CreateOrUpdateParameters) (*http.Request, error) { +func (client EventHubsClient) CreateOrUpdatePreparer(resourceGroupName string, namespaceName string, eventHubName string, parameters Model) (*http.Request, error) { pathParameters := map[string]interface{}{ "eventHubName": autorest.Encode("path", eventHubName), "namespaceName": autorest.Encode("path", namespaceName), @@ -93,7 +107,7 @@ func (client EventHubsClient) CreateOrUpdatePreparer(resourceGroupName string, n "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -116,7 +130,7 @@ func (client EventHubsClient) CreateOrUpdateSender(req *http.Request) (*http.Res // CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always // closes the http.Response Body. -func (client EventHubsClient) CreateOrUpdateResponder(resp *http.Response) (result ResourceType, err error) { +func (client EventHubsClient) CreateOrUpdateResponder(resp *http.Response) (result Model, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -127,14 +141,12 @@ func (client EventHubsClient) CreateOrUpdateResponder(resp *http.Response) (resu return } -// CreateOrUpdateAuthorizationRule creates or updates an AuthorizationRule for -// the specified Event Hub. +// CreateOrUpdateAuthorizationRule creates or updates an AuthorizationRule for the specified Event Hub. // -// resourceGroupName is name of the resource group within the azure -// subscription. namespaceName is the Namespace name eventHubName is the Event -// Hub name authorizationRuleName is the authorization rule name. parameters is -// the shared access AuthorizationRule. -func (client EventHubsClient) CreateOrUpdateAuthorizationRule(resourceGroupName string, namespaceName string, eventHubName string, authorizationRuleName string, parameters SharedAccessAuthorizationRuleCreateOrUpdateParameters) (result SharedAccessAuthorizationRuleResource, err error) { +// resourceGroupName is name of the resource group within the azure subscription. namespaceName is the Namespace name +// eventHubName is the Event Hub name authorizationRuleName is the authorization rule name. parameters is the shared +// access AuthorizationRule. +func (client EventHubsClient) CreateOrUpdateAuthorizationRule(resourceGroupName string, namespaceName string, eventHubName string, authorizationRuleName string, parameters AuthorizationRule) (result AuthorizationRule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -143,14 +155,9 @@ func (client EventHubsClient) CreateOrUpdateAuthorizationRule(resourceGroupName Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: eventHubName, - Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.SharedAccessAuthorizationRuleProperties", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.SharedAccessAuthorizationRuleProperties.Rights", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "eventhub.EventHubsClient", "CreateOrUpdateAuthorizationRule") } @@ -176,7 +183,7 @@ func (client EventHubsClient) CreateOrUpdateAuthorizationRule(resourceGroupName } // CreateOrUpdateAuthorizationRulePreparer prepares the CreateOrUpdateAuthorizationRule request. -func (client EventHubsClient) CreateOrUpdateAuthorizationRulePreparer(resourceGroupName string, namespaceName string, eventHubName string, authorizationRuleName string, parameters SharedAccessAuthorizationRuleCreateOrUpdateParameters) (*http.Request, error) { +func (client EventHubsClient) CreateOrUpdateAuthorizationRulePreparer(resourceGroupName string, namespaceName string, eventHubName string, authorizationRuleName string, parameters AuthorizationRule) (*http.Request, error) { pathParameters := map[string]interface{}{ "authorizationRuleName": autorest.Encode("path", authorizationRuleName), "eventHubName": autorest.Encode("path", eventHubName), @@ -185,7 +192,7 @@ func (client EventHubsClient) CreateOrUpdateAuthorizationRulePreparer(resourceGr "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -208,7 +215,7 @@ func (client EventHubsClient) CreateOrUpdateAuthorizationRuleSender(req *http.Re // CreateOrUpdateAuthorizationRuleResponder handles the response to the CreateOrUpdateAuthorizationRule request. The method always // closes the http.Response Body. -func (client EventHubsClient) CreateOrUpdateAuthorizationRuleResponder(resp *http.Response) (result SharedAccessAuthorizationRuleResource, err error) { +func (client EventHubsClient) CreateOrUpdateAuthorizationRuleResponder(resp *http.Response) (result AuthorizationRule, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -221,9 +228,8 @@ func (client EventHubsClient) CreateOrUpdateAuthorizationRuleResponder(resp *htt // Delete deletes an Event Hub from the specified Namespace and resource group. // -// resourceGroupName is name of the resource group within the azure -// subscription. namespaceName is the Namespace name eventHubName is the Event -// Hub name +// resourceGroupName is name of the resource group within the azure subscription. namespaceName is the Namespace name +// eventHubName is the Event Hub name func (client EventHubsClient) Delete(resourceGroupName string, namespaceName string, eventHubName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -233,8 +239,7 @@ func (client EventHubsClient) Delete(resourceGroupName string, namespaceName str Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: eventHubName, - Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "eventhub.EventHubsClient", "Delete") } @@ -268,7 +273,7 @@ func (client EventHubsClient) DeletePreparer(resourceGroupName string, namespace "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -301,9 +306,8 @@ func (client EventHubsClient) DeleteResponder(resp *http.Response) (result autor // DeleteAuthorizationRule deletes an Event Hub AuthorizationRule. // -// resourceGroupName is name of the resource group within the azure -// subscription. namespaceName is the Namespace name eventHubName is the Event -// Hub name authorizationRuleName is the authorization rule name. +// resourceGroupName is name of the resource group within the azure subscription. namespaceName is the Namespace name +// eventHubName is the Event Hub name authorizationRuleName is the authorization rule name. func (client EventHubsClient) DeleteAuthorizationRule(resourceGroupName string, namespaceName string, eventHubName string, authorizationRuleName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -313,11 +317,9 @@ func (client EventHubsClient) DeleteAuthorizationRule(resourceGroupName string, Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: eventHubName, - Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "eventhub.EventHubsClient", "DeleteAuthorizationRule") } @@ -352,7 +354,7 @@ func (client EventHubsClient) DeleteAuthorizationRulePreparer(resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -385,10 +387,9 @@ func (client EventHubsClient) DeleteAuthorizationRuleResponder(resp *http.Respon // Get gets an Event Hubs description for the specified Event Hub. // -// resourceGroupName is name of the resource group within the azure -// subscription. namespaceName is the Namespace name eventHubName is the Event -// Hub name -func (client EventHubsClient) Get(resourceGroupName string, namespaceName string, eventHubName string) (result ResourceType, err error) { +// resourceGroupName is name of the resource group within the azure subscription. namespaceName is the Namespace name +// eventHubName is the Event Hub name +func (client EventHubsClient) Get(resourceGroupName string, namespaceName string, eventHubName string) (result Model, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -397,8 +398,7 @@ func (client EventHubsClient) Get(resourceGroupName string, namespaceName string Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: eventHubName, - Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "eventhub.EventHubsClient", "Get") } @@ -432,7 +432,7 @@ func (client EventHubsClient) GetPreparer(resourceGroupName string, namespaceNam "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -453,7 +453,7 @@ func (client EventHubsClient) GetSender(req *http.Request) (*http.Response, erro // GetResponder handles the response to the Get request. The method always // closes the http.Response Body. -func (client EventHubsClient) GetResponder(resp *http.Response) (result ResourceType, err error) { +func (client EventHubsClient) GetResponder(resp *http.Response) (result Model, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -464,13 +464,11 @@ func (client EventHubsClient) GetResponder(resp *http.Response) (result Resource return } -// GetAuthorizationRule gets an AuthorizationRule for an Event Hub by rule -// name. +// GetAuthorizationRule gets an AuthorizationRule for an Event Hub by rule name. // -// resourceGroupName is name of the resource group within the azure -// subscription. namespaceName is the Namespace name eventHubName is the Event -// Hub name authorizationRuleName is the authorization rule name. -func (client EventHubsClient) GetAuthorizationRule(resourceGroupName string, namespaceName string, eventHubName string, authorizationRuleName string) (result SharedAccessAuthorizationRuleResource, err error) { +// resourceGroupName is name of the resource group within the azure subscription. namespaceName is the Namespace name +// eventHubName is the Event Hub name authorizationRuleName is the authorization rule name. +func (client EventHubsClient) GetAuthorizationRule(resourceGroupName string, namespaceName string, eventHubName string, authorizationRuleName string) (result AuthorizationRule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -479,11 +477,9 @@ func (client EventHubsClient) GetAuthorizationRule(resourceGroupName string, nam Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: eventHubName, - Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "eventhub.EventHubsClient", "GetAuthorizationRule") } @@ -518,7 +514,7 @@ func (client EventHubsClient) GetAuthorizationRulePreparer(resourceGroupName str "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -539,7 +535,7 @@ func (client EventHubsClient) GetAuthorizationRuleSender(req *http.Request) (*ht // GetAuthorizationRuleResponder handles the response to the GetAuthorizationRule request. The method always // closes the http.Response Body. -func (client EventHubsClient) GetAuthorizationRuleResponder(resp *http.Response) (result SharedAccessAuthorizationRuleResource, err error) { +func (client EventHubsClient) GetAuthorizationRuleResponder(resp *http.Response) (result AuthorizationRule, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -550,112 +546,11 @@ func (client EventHubsClient) GetAuthorizationRuleResponder(resp *http.Response) return } -// ListAll gets all the Event Hubs in a Namespace. -// -// resourceGroupName is name of the resource group within the azure -// subscription. namespaceName is the Namespace name -func (client EventHubsClient) ListAll(resourceGroupName string, namespaceName string) (result ListResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, - {TargetValue: namespaceName, - Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}}); err != nil { - return result, validation.NewErrorWithValidationError(err, "eventhub.EventHubsClient", "ListAll") - } - - req, err := client.ListAllPreparer(resourceGroupName, namespaceName) - if err != nil { - err = autorest.NewErrorWithError(err, "eventhub.EventHubsClient", "ListAll", nil, "Failure preparing request") - return - } - - resp, err := client.ListAllSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "eventhub.EventHubsClient", "ListAll", resp, "Failure sending request") - return - } - - result, err = client.ListAllResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "eventhub.EventHubsClient", "ListAll", resp, "Failure responding to request") - } - - return -} - -// ListAllPreparer prepares the ListAll request. -func (client EventHubsClient) ListAllPreparer(resourceGroupName string, namespaceName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "namespaceName": autorest.Encode("path", namespaceName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2015-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// ListAllSender sends the ListAll request. The method will close the -// http.Response Body if it receives an error. -func (client EventHubsClient) ListAllSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// ListAllResponder handles the response to the ListAll request. The method always -// closes the http.Response Body. -func (client EventHubsClient) ListAllResponder(resp *http.Response) (result ListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListAllNextResults retrieves the next set of results, if any. -func (client EventHubsClient) ListAllNextResults(lastResults ListResult) (result ListResult, err error) { - req, err := lastResults.ListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "eventhub.EventHubsClient", "ListAll", nil, "Failure preparing next results request") - } - if req == nil { - return - } - - resp, err := client.ListAllSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "eventhub.EventHubsClient", "ListAll", resp, "Failure sending next results request") - } - - result, err = client.ListAllResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "eventhub.EventHubsClient", "ListAll", resp, "Failure responding to next results request") - } - - return -} - // ListAuthorizationRules gets the authorization rules for an Event Hub. // -// resourceGroupName is name of the resource group within the azure -// subscription. namespaceName is the Namespace name eventHubName is the Event -// Hub name -func (client EventHubsClient) ListAuthorizationRules(resourceGroupName string, namespaceName string, eventHubName string) (result SharedAccessAuthorizationRuleListResult, err error) { +// resourceGroupName is name of the resource group within the azure subscription. namespaceName is the Namespace name +// eventHubName is the Event Hub name +func (client EventHubsClient) ListAuthorizationRules(resourceGroupName string, namespaceName string, eventHubName string) (result AuthorizationRuleListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -664,8 +559,7 @@ func (client EventHubsClient) ListAuthorizationRules(resourceGroupName string, n Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: eventHubName, - Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "eventhub.EventHubsClient", "ListAuthorizationRules") } @@ -699,7 +593,7 @@ func (client EventHubsClient) ListAuthorizationRulesPreparer(resourceGroupName s "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -720,7 +614,7 @@ func (client EventHubsClient) ListAuthorizationRulesSender(req *http.Request) (* // ListAuthorizationRulesResponder handles the response to the ListAuthorizationRules request. The method always // closes the http.Response Body. -func (client EventHubsClient) ListAuthorizationRulesResponder(resp *http.Response) (result SharedAccessAuthorizationRuleListResult, err error) { +func (client EventHubsClient) ListAuthorizationRulesResponder(resp *http.Response) (result AuthorizationRuleListResult, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -732,8 +626,8 @@ func (client EventHubsClient) ListAuthorizationRulesResponder(resp *http.Respons } // ListAuthorizationRulesNextResults retrieves the next set of results, if any. -func (client EventHubsClient) ListAuthorizationRulesNextResults(lastResults SharedAccessAuthorizationRuleListResult) (result SharedAccessAuthorizationRuleListResult, err error) { - req, err := lastResults.SharedAccessAuthorizationRuleListResultPreparer() +func (client EventHubsClient) ListAuthorizationRulesNextResults(lastResults AuthorizationRuleListResult) (result AuthorizationRuleListResult, err error) { + req, err := lastResults.AuthorizationRuleListResultPreparer() if err != nil { return result, autorest.NewErrorWithError(err, "eventhub.EventHubsClient", "ListAuthorizationRules", nil, "Failure preparing next results request") } @@ -755,12 +649,200 @@ func (client EventHubsClient) ListAuthorizationRulesNextResults(lastResults Shar return } +// ListAuthorizationRulesComplete gets all elements from the list without paging. +func (client EventHubsClient) ListAuthorizationRulesComplete(resourceGroupName string, namespaceName string, eventHubName string, cancel <-chan struct{}) (<-chan AuthorizationRule, <-chan error) { + resultChan := make(chan AuthorizationRule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAuthorizationRules(resourceGroupName, namespaceName, eventHubName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAuthorizationRulesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListByNamespace gets all the Event Hubs in a Namespace. +// +// resourceGroupName is name of the resource group within the azure subscription. namespaceName is the Namespace name +func (client EventHubsClient) ListByNamespace(resourceGroupName string, namespaceName string) (result ListResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: namespaceName, + Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "eventhub.EventHubsClient", "ListByNamespace") + } + + req, err := client.ListByNamespacePreparer(resourceGroupName, namespaceName) + if err != nil { + err = autorest.NewErrorWithError(err, "eventhub.EventHubsClient", "ListByNamespace", nil, "Failure preparing request") + return + } + + resp, err := client.ListByNamespaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventhub.EventHubsClient", "ListByNamespace", resp, "Failure sending request") + return + } + + result, err = client.ListByNamespaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventhub.EventHubsClient", "ListByNamespace", resp, "Failure responding to request") + } + + return +} + +// ListByNamespacePreparer prepares the ListByNamespace request. +func (client EventHubsClient) ListByNamespacePreparer(resourceGroupName string, namespaceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "namespaceName": autorest.Encode("path", namespaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByNamespaceSender sends the ListByNamespace request. The method will close the +// http.Response Body if it receives an error. +func (client EventHubsClient) ListByNamespaceSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByNamespaceResponder handles the response to the ListByNamespace request. The method always +// closes the http.Response Body. +func (client EventHubsClient) ListByNamespaceResponder(resp *http.Response) (result ListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByNamespaceNextResults retrieves the next set of results, if any. +func (client EventHubsClient) ListByNamespaceNextResults(lastResults ListResult) (result ListResult, err error) { + req, err := lastResults.ListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "eventhub.EventHubsClient", "ListByNamespace", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListByNamespaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "eventhub.EventHubsClient", "ListByNamespace", resp, "Failure sending next results request") + } + + result, err = client.ListByNamespaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventhub.EventHubsClient", "ListByNamespace", resp, "Failure responding to next results request") + } + + return +} + +// ListByNamespaceComplete gets all elements from the list without paging. +func (client EventHubsClient) ListByNamespaceComplete(resourceGroupName string, namespaceName string, cancel <-chan struct{}) (<-chan Model, <-chan error) { + resultChan := make(chan Model) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByNamespace(resourceGroupName, namespaceName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByNamespaceNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListKeys gets the ACS and SAS connection strings for the Event Hub. // -// resourceGroupName is name of the resource group within the azure -// subscription. namespaceName is the Namespace name eventHubName is the Event -// Hub name authorizationRuleName is the authorization rule name. -func (client EventHubsClient) ListKeys(resourceGroupName string, namespaceName string, eventHubName string, authorizationRuleName string) (result ResourceListKeys, err error) { +// resourceGroupName is name of the resource group within the azure subscription. namespaceName is the Namespace name +// eventHubName is the Event Hub name authorizationRuleName is the authorization rule name. +func (client EventHubsClient) ListKeys(resourceGroupName string, namespaceName string, eventHubName string, authorizationRuleName string) (result AccessKeys, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -769,11 +851,9 @@ func (client EventHubsClient) ListKeys(resourceGroupName string, namespaceName s Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: eventHubName, - Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "eventhub.EventHubsClient", "ListKeys") } @@ -808,7 +888,7 @@ func (client EventHubsClient) ListKeysPreparer(resourceGroupName string, namespa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -829,7 +909,7 @@ func (client EventHubsClient) ListKeysSender(req *http.Request) (*http.Response, // ListKeysResponder handles the response to the ListKeys request. The method always // closes the http.Response Body. -func (client EventHubsClient) ListKeysResponder(resp *http.Response) (result ResourceListKeys, err error) { +func (client EventHubsClient) ListKeysResponder(resp *http.Response) (result AccessKeys, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -840,15 +920,12 @@ func (client EventHubsClient) ListKeysResponder(resp *http.Response) (result Res return } -// RegenerateKeys regenerates the ACS and SAS connection strings for the Event -// Hub. +// RegenerateKeys regenerates the ACS and SAS connection strings for the Event Hub. // -// resourceGroupName is name of the resource group within the azure -// subscription. namespaceName is the Namespace name eventHubName is the Event -// Hub name authorizationRuleName is the authorization rule name. parameters is -// parameters supplied to regenerate the AuthorizationRule Keys -// (PrimaryKey/SecondaryKey). -func (client EventHubsClient) RegenerateKeys(resourceGroupName string, namespaceName string, eventHubName string, authorizationRuleName string, parameters RegenerateKeysParameters) (result ResourceListKeys, err error) { +// resourceGroupName is name of the resource group within the azure subscription. namespaceName is the Namespace name +// eventHubName is the Event Hub name authorizationRuleName is the authorization rule name. parameters is parameters +// supplied to regenerate the AuthorizationRule Keys (PrimaryKey/SecondaryKey). +func (client EventHubsClient) RegenerateKeys(resourceGroupName string, namespaceName string, eventHubName string, authorizationRuleName string, parameters RegenerateAccessKeyParameters) (result AccessKeys, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -857,11 +934,9 @@ func (client EventHubsClient) RegenerateKeys(resourceGroupName string, namespace Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: eventHubName, - Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "eventHubName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "eventhub.EventHubsClient", "RegenerateKeys") } @@ -887,7 +962,7 @@ func (client EventHubsClient) RegenerateKeys(resourceGroupName string, namespace } // RegenerateKeysPreparer prepares the RegenerateKeys request. -func (client EventHubsClient) RegenerateKeysPreparer(resourceGroupName string, namespaceName string, eventHubName string, authorizationRuleName string, parameters RegenerateKeysParameters) (*http.Request, error) { +func (client EventHubsClient) RegenerateKeysPreparer(resourceGroupName string, namespaceName string, eventHubName string, authorizationRuleName string, parameters RegenerateAccessKeyParameters) (*http.Request, error) { pathParameters := map[string]interface{}{ "authorizationRuleName": autorest.Encode("path", authorizationRuleName), "eventHubName": autorest.Encode("path", eventHubName), @@ -896,7 +971,7 @@ func (client EventHubsClient) RegenerateKeysPreparer(resourceGroupName string, n "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -919,7 +994,7 @@ func (client EventHubsClient) RegenerateKeysSender(req *http.Request) (*http.Res // RegenerateKeysResponder handles the response to the RegenerateKeys request. The method always // closes the http.Response Body. -func (client EventHubsClient) RegenerateKeysResponder(resp *http.Response) (result ResourceListKeys, err error) { +func (client EventHubsClient) RegenerateKeysResponder(resp *http.Response) (result AccessKeys, err error) { err = autorest.Respond( resp, client.ByInspecting(), diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/models.go index 299bb5e87..afef330a0 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/models.go @@ -14,9 +14,8 @@ package eventhub // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -37,6 +36,16 @@ const ( Send AccessRights = "Send" ) +// EncodingCaptureDescription enumerates the values for encoding capture description. +type EncodingCaptureDescription string + +const ( + // Avro specifies the avro state for encoding capture description. + Avro EncodingCaptureDescription = "Avro" + // AvroDeflate specifies the avro deflate state for encoding capture description. + AvroDeflate EncodingCaptureDescription = "AvroDeflate" +) + // EntityStatus enumerates the values for entity status. type EntityStatus string @@ -61,59 +70,14 @@ const ( Unknown EntityStatus = "Unknown" ) -// NamespaceState enumerates the values for namespace state. -type NamespaceState string +// KeyType enumerates the values for key type. +type KeyType string const ( - // NamespaceStateActivating specifies the namespace state activating state - // for namespace state. - NamespaceStateActivating NamespaceState = "Activating" - // NamespaceStateActive specifies the namespace state active state for - // namespace state. - NamespaceStateActive NamespaceState = "Active" - // NamespaceStateCreated specifies the namespace state created state for - // namespace state. - NamespaceStateCreated NamespaceState = "Created" - // NamespaceStateCreating specifies the namespace state creating state for - // namespace state. - NamespaceStateCreating NamespaceState = "Creating" - // NamespaceStateDisabled specifies the namespace state disabled state for - // namespace state. - NamespaceStateDisabled NamespaceState = "Disabled" - // NamespaceStateDisabling specifies the namespace state disabling state - // for namespace state. - NamespaceStateDisabling NamespaceState = "Disabling" - // NamespaceStateEnabling specifies the namespace state enabling state for - // namespace state. - NamespaceStateEnabling NamespaceState = "Enabling" - // NamespaceStateFailed specifies the namespace state failed state for - // namespace state. - NamespaceStateFailed NamespaceState = "Failed" - // NamespaceStateRemoved specifies the namespace state removed state for - // namespace state. - NamespaceStateRemoved NamespaceState = "Removed" - // NamespaceStateRemoving specifies the namespace state removing state for - // namespace state. - NamespaceStateRemoving NamespaceState = "Removing" - // NamespaceStateSoftDeleted specifies the namespace state soft deleted - // state for namespace state. - NamespaceStateSoftDeleted NamespaceState = "SoftDeleted" - // NamespaceStateSoftDeleting specifies the namespace state soft deleting - // state for namespace state. - NamespaceStateSoftDeleting NamespaceState = "SoftDeleting" - // NamespaceStateUnknown specifies the namespace state unknown state for - // namespace state. - NamespaceStateUnknown NamespaceState = "Unknown" -) - -// Policykey enumerates the values for policykey. -type Policykey string - -const ( - // PrimaryKey specifies the primary key state for policykey. - PrimaryKey Policykey = "PrimaryKey" - // SecondaryKey specifies the secondary key state for policykey. - SecondaryKey Policykey = "SecondaryKey" + // PrimaryKey specifies the primary key state for key type. + PrimaryKey KeyType = "PrimaryKey" + // SecondaryKey specifies the secondary key state for key type. + SecondaryKey KeyType = "SecondaryKey" ) // SkuName enumerates the values for sku name. @@ -132,8 +96,6 @@ type SkuTier string const ( // SkuTierBasic specifies the sku tier basic state for sku tier. SkuTierBasic SkuTier = "Basic" - // SkuTierPremium specifies the sku tier premium state for sku tier. - SkuTierPremium SkuTier = "Premium" // SkuTierStandard specifies the sku tier standard state for sku tier. SkuTierStandard SkuTier = "Standard" ) @@ -144,50 +106,105 @@ type UnavailableReason string const ( // InvalidName specifies the invalid name state for unavailable reason. InvalidName UnavailableReason = "InvalidName" - // NameInLockdown specifies the name in lockdown state for unavailable - // reason. + // NameInLockdown specifies the name in lockdown state for unavailable reason. NameInLockdown UnavailableReason = "NameInLockdown" // NameInUse specifies the name in use state for unavailable reason. NameInUse UnavailableReason = "NameInUse" // None specifies the none state for unavailable reason. None UnavailableReason = "None" - // SubscriptionIsDisabled specifies the subscription is disabled state for - // unavailable reason. + // SubscriptionIsDisabled specifies the subscription is disabled state for unavailable reason. SubscriptionIsDisabled UnavailableReason = "SubscriptionIsDisabled" - // TooManyNamespaceInCurrentSubscription specifies the too many namespace - // in current subscription state for unavailable reason. + // TooManyNamespaceInCurrentSubscription specifies the too many namespace in current subscription state for unavailable + // reason. TooManyNamespaceInCurrentSubscription UnavailableReason = "TooManyNamespaceInCurrentSubscription" ) -// CheckNameAvailabilityParameter is parameter supplied to check Namespace name -// availability operation +// AccessKeys is namespace/EventHub Connection String +type AccessKeys struct { + autorest.Response `json:"-"` + PrimaryConnectionString *string `json:"primaryConnectionString,omitempty"` + SecondaryConnectionString *string `json:"secondaryConnectionString,omitempty"` + PrimaryKey *string `json:"primaryKey,omitempty"` + SecondaryKey *string `json:"secondaryKey,omitempty"` + KeyName *string `json:"keyName,omitempty"` +} + +// AuthorizationRule is single item in a List or Get AuthorizationRule operation +type AuthorizationRule struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *AuthorizationRuleProperties `json:"properties,omitempty"` +} + +// AuthorizationRuleProperties is properties supplied to create or update AuthorizationRule +type AuthorizationRuleProperties struct { + Rights *[]AccessRights `json:"rights,omitempty"` +} + +// AuthorizationRuleListResult is the response from the List namespace operation. +type AuthorizationRuleListResult struct { + autorest.Response `json:"-"` + Value *[]AuthorizationRule `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// AuthorizationRuleListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client AuthorizationRuleListResult) AuthorizationRuleListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// CaptureDescription is properties to configure capture description for eventhub +type CaptureDescription struct { + Enabled *bool `json:"enabled,omitempty"` + Encoding EncodingCaptureDescription `json:"encoding,omitempty"` + IntervalInSeconds *int32 `json:"intervalInSeconds,omitempty"` + SizeLimitInBytes *int32 `json:"sizeLimitInBytes,omitempty"` + Destination *Destination `json:"destination,omitempty"` +} + +// CheckNameAvailabilityParameter is parameter supplied to check Namespace name availability operation type CheckNameAvailabilityParameter struct { Name *string `json:"name,omitempty"` } -// CheckNameAvailabilityResult is the Result of the CheckNameAvailability -// operation +// CheckNameAvailabilityResult is the Result of the CheckNameAvailability operation type CheckNameAvailabilityResult struct { autorest.Response `json:"-"` + Message *string `json:"message,omitempty"` NameAvailable *bool `json:"nameAvailable,omitempty"` Reason UnavailableReason `json:"reason,omitempty"` - Message *string `json:"message,omitempty"` } -// ConsumerGroupCreateOrUpdateParameters is parameters supplied to the Create -// Or Update Consumer Group operation. -type ConsumerGroupCreateOrUpdateParameters struct { - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` +// ConsumerGroup is single item in List or Get Consumer group operation +type ConsumerGroup struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` *ConsumerGroupProperties `json:"properties,omitempty"` } +// ConsumerGroupProperties is single item in List or Get Consumer group operation +type ConsumerGroupProperties struct { + CreatedAt *date.Time `json:"createdAt,omitempty"` + UpdatedAt *date.Time `json:"updatedAt,omitempty"` + UserMetadata *string `json:"userMetadata,omitempty"` +} + // ConsumerGroupListResult is the result to the List Consumer Group operation. type ConsumerGroupListResult struct { autorest.Response `json:"-"` - Value *[]ConsumerGroupResource `json:"value,omitempty"` - NextLink *string `json:"nextLink,omitempty"` + Value *[]ConsumerGroup `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` } // ConsumerGroupListResultPreparer prepares a request to retrieve the next set of results. It returns @@ -202,39 +219,74 @@ func (client ConsumerGroupListResult) ConsumerGroupListResultPreparer() (*http.R autorest.WithBaseURL(to.String(client.NextLink))) } -// ConsumerGroupProperties is properties supplied to the Create Or Update -// Consumer Group operation. -type ConsumerGroupProperties struct { - CreatedAt *date.Time `json:"createdAt,omitempty"` - EventHubPath *string `json:"eventHubPath,omitempty"` - UpdatedAt *date.Time `json:"updatedAt,omitempty"` - UserMetadata *string `json:"userMetadata,omitempty"` +// Destination is capture storage details for capture description +type Destination struct { + Name *string `json:"name,omitempty"` + *DestinationProperties `json:"properties,omitempty"` } -// ConsumerGroupResource is single item in List or Get Consumer group operation -type ConsumerGroupResource struct { - autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - *ConsumerGroupProperties `json:"properties,omitempty"` +// DestinationProperties is properties describing the storage account, blob container and acrchive anme format for +// capture destination +type DestinationProperties struct { + StorageAccountResourceID *string `json:"storageAccountResourceId,omitempty"` + BlobContainer *string `json:"blobContainer,omitempty"` + ArchiveNameFormat *string `json:"archiveNameFormat,omitempty"` } -// CreateOrUpdateParameters is parameters supplied to the Create Or Update -// Event Hub operation. -type CreateOrUpdateParameters struct { - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Name *string `json:"name,omitempty"` - *Properties `json:"properties,omitempty"` +// EHNamespace is single Namespace item in List or Get Operation +type EHNamespace struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + Sku *Sku `json:"sku,omitempty"` + *EHNamespaceProperties `json:"properties,omitempty"` +} + +// EHNamespaceProperties is namespace properties supplied for create namespace operation. +type EHNamespaceProperties struct { + ProvisioningState *string `json:"provisioningState,omitempty"` + CreatedAt *date.Time `json:"createdAt,omitempty"` + UpdatedAt *date.Time `json:"updatedAt,omitempty"` + ServiceBusEndpoint *string `json:"serviceBusEndpoint,omitempty"` + MetricID *string `json:"metricId,omitempty"` + IsAutoInflateEnabled *bool `json:"isAutoInflateEnabled,omitempty"` + MaximumThroughputUnits *int32 `json:"maximumThroughputUnits,omitempty"` +} + +// EHNamespaceListResult is the response of the List Namespace operation +type EHNamespaceListResult struct { + autorest.Response `json:"-"` + Value *[]EHNamespace `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// EHNamespaceListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client EHNamespaceListResult) EHNamespaceListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// ErrorResponse is error reponse indicates EventHub service is not able to process the incoming request. The reason is +// provided in the error message. +type ErrorResponse struct { + Code *string `json:"code,omitempty"` + Message *string `json:"message,omitempty"` } // ListResult is the result of the List EventHubs operation. type ListResult struct { autorest.Response `json:"-"` - Value *[]ResourceType `json:"value,omitempty"` - NextLink *string `json:"nextLink,omitempty"` + Value *[]Model `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` } // ListResultPreparer prepares a request to retrieve the next set of results. It returns @@ -249,63 +301,13 @@ func (client ListResult) ListResultPreparer() (*http.Request, error) { autorest.WithBaseURL(to.String(client.NextLink))) } -// NamespaceCreateOrUpdateParameters is parameters supplied to the Create Or -// Update Namespace operation. -type NamespaceCreateOrUpdateParameters struct { - Location *string `json:"location,omitempty"` - Sku *Sku `json:"sku,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` - *NamespaceProperties `json:"properties,omitempty"` -} - -// NamespaceListResult is the response of the List Namespace operation. -type NamespaceListResult struct { +// Model is single item in List or Get Event Hub operation +type Model struct { autorest.Response `json:"-"` - Value *[]NamespaceResource `json:"value,omitempty"` - NextLink *string `json:"nextLink,omitempty"` -} - -// NamespaceListResultPreparer prepares a request to retrieve the next set of results. It returns -// nil if no more results exist. -func (client NamespaceListResult) NamespaceListResultPreparer() (*http.Request, error) { - if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(client.NextLink))) -} - -// NamespaceProperties is properties of the Namespace supplied for create or -// update Namespace operation -type NamespaceProperties struct { - Status NamespaceState `json:"status,omitempty"` - ProvisioningState *string `json:"provisioningState,omitempty"` - CreatedAt *date.Time `json:"createdAt,omitempty"` - UpdatedAt *date.Time `json:"updatedAt,omitempty"` - ServiceBusEndpoint *string `json:"serviceBusEndpoint,omitempty"` - MetricID *string `json:"metricId,omitempty"` - Enabled *bool `json:"enabled,omitempty"` -} - -// NamespaceResource is single Namespace item in List or Get Operation -type NamespaceResource struct { - autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` - Sku *Sku `json:"sku,omitempty"` - *NamespaceProperties `json:"properties,omitempty"` -} - -// NamespaceUpdateParameter is parameters supplied to the Patch/update -// Namespace operation. -type NamespaceUpdateParameter struct { - Tags *map[string]*string `json:"tags,omitempty"` - Sku *Sku `json:"sku,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *Properties `json:"properties,omitempty"` } // Operation is a Event Hub REST API operation @@ -321,9 +323,8 @@ type OperationDisplay struct { Operation *string `json:"operation,omitempty"` } -// OperationListResult is result of the request to list Event Hub operations. -// It contains a list of operations and a URL link to get the next set of -// results. +// OperationListResult is result of the request to list Event Hub operations. It contains a list of operations and a +// URL link to get the next set of results. type OperationListResult struct { autorest.Response `json:"-"` Value *[]Operation `json:"value,omitempty"` @@ -342,97 +343,32 @@ func (client OperationListResult) OperationListResultPreparer() (*http.Request, autorest.WithBaseURL(to.String(client.NextLink))) } -// Properties is properties supplied to the Create Or Update Event Hub -// operation. +// Properties is properties supplied to the Create Or Update Event Hub operation. type Properties struct { - CreatedAt *date.Time `json:"createdAt,omitempty"` - MessageRetentionInDays *int64 `json:"messageRetentionInDays,omitempty"` - PartitionCount *int64 `json:"partitionCount,omitempty"` - PartitionIds *[]string `json:"partitionIds,omitempty"` - Status EntityStatus `json:"status,omitempty"` - UpdatedAt *date.Time `json:"updatedAt,omitempty"` + PartitionIds *[]string `json:"partitionIds,omitempty"` + CreatedAt *date.Time `json:"createdAt,omitempty"` + UpdatedAt *date.Time `json:"updatedAt,omitempty"` + MessageRetentionInDays *int64 `json:"messageRetentionInDays,omitempty"` + PartitionCount *int64 `json:"partitionCount,omitempty"` + Status EntityStatus `json:"status,omitempty"` + CaptureDescription *CaptureDescription `json:"captureDescription,omitempty"` } -// RegenerateKeysParameters is parameters supplied to the Regenerate -// Authorization Rule keys operation. -type RegenerateKeysParameters struct { - Policykey Policykey `json:"policykey,omitempty"` +// RegenerateAccessKeyParameters is parameters supplied to the Regenerate Authorization Rule operation, specifies which +// key neeeds to be reset. +type RegenerateAccessKeyParameters struct { + KeyType KeyType `json:"keyType,omitempty"` + Key *string `json:"key,omitempty"` } // Resource is the Resource definition type Resource struct { - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` } -// ResourceListKeys is namespace/EventHub Connection String -type ResourceListKeys struct { - autorest.Response `json:"-"` - PrimaryConnectionString *string `json:"primaryConnectionString,omitempty"` - SecondaryConnectionString *string `json:"secondaryConnectionString,omitempty"` - PrimaryKey *string `json:"primaryKey,omitempty"` - SecondaryKey *string `json:"secondaryKey,omitempty"` - KeyName *string `json:"keyName,omitempty"` -} - -// ResourceType is single item in List or Get Event Hub operation -type ResourceType struct { - autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - *Properties `json:"properties,omitempty"` -} - -// SharedAccessAuthorizationRuleCreateOrUpdateParameters is parameters supplied -// to the Create Or Update Authorization Rules operation. -type SharedAccessAuthorizationRuleCreateOrUpdateParameters struct { - Location *string `json:"location,omitempty"` - Name *string `json:"name,omitempty"` - *SharedAccessAuthorizationRuleProperties `json:"properties,omitempty"` -} - -// SharedAccessAuthorizationRuleListResult is the response from the List -// Namespace operation. -type SharedAccessAuthorizationRuleListResult struct { - autorest.Response `json:"-"` - Value *[]SharedAccessAuthorizationRuleResource `json:"value,omitempty"` - NextLink *string `json:"nextLink,omitempty"` -} - -// SharedAccessAuthorizationRuleListResultPreparer prepares a request to retrieve the next set of results. It returns -// nil if no more results exist. -func (client SharedAccessAuthorizationRuleListResult) SharedAccessAuthorizationRuleListResultPreparer() (*http.Request, error) { - if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(client.NextLink))) -} - -// SharedAccessAuthorizationRuleProperties is properties supplied to create or -// update SharedAccessAuthorizationRule -type SharedAccessAuthorizationRuleProperties struct { - Rights *[]AccessRights `json:"rights,omitempty"` -} - -// SharedAccessAuthorizationRuleResource is single item in a List or Get -// AuthorizationRule operation -type SharedAccessAuthorizationRuleResource struct { - autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - *SharedAccessAuthorizationRuleProperties `json:"properties,omitempty"` -} - -// Sku is sKU parameters supplied to the create Namespace operation +// Sku is SKU parameters supplied to the create namespace operation type Sku struct { Name SkuName `json:"name,omitempty"` Tier SkuTier `json:"tier,omitempty"` @@ -443,7 +379,7 @@ type Sku struct { type TrackedResource struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` - Location *string `json:"location,omitempty"` Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/namespaces.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/namespaces.go index 2f1f3bcbb..90a80c39c 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/namespaces.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/namespaces.go @@ -14,9 +14,8 @@ package eventhub // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -35,8 +34,7 @@ func NewNamespacesClient(subscriptionID string) NamespacesClient { return NewNamespacesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewNamespacesClientWithBaseURI creates an instance of the NamespacesClient -// client. +// NewNamespacesClientWithBaseURI creates an instance of the NamespacesClient client. func NewNamespacesClientWithBaseURI(baseURI string, subscriptionID string) NamespacesClient { return NamespacesClient{NewWithBaseURI(baseURI, subscriptionID)} } @@ -78,7 +76,7 @@ func (client NamespacesClient) CheckNameAvailabilityPreparer(parameters CheckNam "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -112,17 +110,14 @@ func (client NamespacesClient) CheckNameAvailabilityResponder(resp *http.Respons return } -// CreateOrUpdate creates or updates a namespace. Once created, this -// namespace's resource manifest is immutable. This operation is idempotent. -// This method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// CreateOrUpdate creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This +// operation is idempotent. This method may poll for completion. Polling can be canceled by passing the cancel channel +// argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is name of the resource group within the azure -// subscription. namespaceName is the Namespace name parameters is parameters -// for creating a namespace resource. -func (client NamespacesClient) CreateOrUpdate(resourceGroupName string, namespaceName string, parameters NamespaceCreateOrUpdateParameters, cancel <-chan struct{}) (<-chan NamespaceResource, <-chan error) { - resultChan := make(chan NamespaceResource, 1) +// resourceGroupName is name of the resource group within the azure subscription. namespaceName is the Namespace name +// parameters is parameters for creating a namespace resource. +func (client NamespacesClient) CreateOrUpdate(resourceGroupName string, namespaceName string, parameters EHNamespace, cancel <-chan struct{}) (<-chan EHNamespace, <-chan error) { + resultChan := make(chan EHNamespace, 1) errChan := make(chan error, 1) if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -132,7 +127,18 @@ func (client NamespacesClient) CreateOrUpdate(resourceGroupName string, namespac Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.Location", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "parameters.Sku", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Sku.Capacity", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Sku.Capacity", Name: validation.InclusiveMaximum, Rule: 20, Chain: nil}, + {Target: "parameters.Sku.Capacity", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}, + }}, + {Target: "parameters.EHNamespaceProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.EHNamespaceProperties.MaximumThroughputUnits", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.EHNamespaceProperties.MaximumThroughputUnits", Name: validation.InclusiveMaximum, Rule: 20, Chain: nil}, + {Target: "parameters.EHNamespaceProperties.MaximumThroughputUnits", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}, + }}}}}); err != nil { errChan <- validation.NewErrorWithValidationError(err, "eventhub.NamespacesClient", "CreateOrUpdate") close(errChan) close(resultChan) @@ -141,10 +147,12 @@ func (client NamespacesClient) CreateOrUpdate(resourceGroupName string, namespac go func() { var err error - var result NamespaceResource + var result EHNamespace defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -170,14 +178,14 @@ func (client NamespacesClient) CreateOrUpdate(resourceGroupName string, namespac } // CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client NamespacesClient) CreateOrUpdatePreparer(resourceGroupName string, namespaceName string, parameters NamespaceCreateOrUpdateParameters, cancel <-chan struct{}) (*http.Request, error) { +func (client NamespacesClient) CreateOrUpdatePreparer(resourceGroupName string, namespaceName string, parameters EHNamespace, cancel <-chan struct{}) (*http.Request, error) { pathParameters := map[string]interface{}{ "namespaceName": autorest.Encode("path", namespaceName), "resourceGroupName": autorest.Encode("path", resourceGroupName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -202,7 +210,7 @@ func (client NamespacesClient) CreateOrUpdateSender(req *http.Request) (*http.Re // CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always // closes the http.Response Body. -func (client NamespacesClient) CreateOrUpdateResponder(resp *http.Response) (result NamespaceResource, err error) { +func (client NamespacesClient) CreateOrUpdateResponder(resp *http.Response) (result EHNamespace, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -213,14 +221,11 @@ func (client NamespacesClient) CreateOrUpdateResponder(resp *http.Response) (res return } -// CreateOrUpdateAuthorizationRule creates or updates an AuthorizationRule for -// a Namespace. +// CreateOrUpdateAuthorizationRule creates or updates an AuthorizationRule for a Namespace. // -// resourceGroupName is name of the resource group within the azure -// subscription. namespaceName is the Namespace name authorizationRuleName is -// the authorization rule name. parameters is the shared access -// AuthorizationRule. -func (client NamespacesClient) CreateOrUpdateAuthorizationRule(resourceGroupName string, namespaceName string, authorizationRuleName string, parameters SharedAccessAuthorizationRuleCreateOrUpdateParameters) (result SharedAccessAuthorizationRuleResource, err error) { +// resourceGroupName is name of the resource group within the azure subscription. namespaceName is the Namespace name +// authorizationRuleName is the authorization rule name. parameters is the shared access AuthorizationRule. +func (client NamespacesClient) CreateOrUpdateAuthorizationRule(resourceGroupName string, namespaceName string, authorizationRuleName string, parameters AuthorizationRule) (result AuthorizationRule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -229,11 +234,7 @@ func (client NamespacesClient) CreateOrUpdateAuthorizationRule(resourceGroupName Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.SharedAccessAuthorizationRuleProperties", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.SharedAccessAuthorizationRuleProperties.Rights", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "eventhub.NamespacesClient", "CreateOrUpdateAuthorizationRule") } @@ -259,7 +260,7 @@ func (client NamespacesClient) CreateOrUpdateAuthorizationRule(resourceGroupName } // CreateOrUpdateAuthorizationRulePreparer prepares the CreateOrUpdateAuthorizationRule request. -func (client NamespacesClient) CreateOrUpdateAuthorizationRulePreparer(resourceGroupName string, namespaceName string, authorizationRuleName string, parameters SharedAccessAuthorizationRuleCreateOrUpdateParameters) (*http.Request, error) { +func (client NamespacesClient) CreateOrUpdateAuthorizationRulePreparer(resourceGroupName string, namespaceName string, authorizationRuleName string, parameters AuthorizationRule) (*http.Request, error) { pathParameters := map[string]interface{}{ "authorizationRuleName": autorest.Encode("path", authorizationRuleName), "namespaceName": autorest.Encode("path", namespaceName), @@ -267,7 +268,7 @@ func (client NamespacesClient) CreateOrUpdateAuthorizationRulePreparer(resourceG "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -290,7 +291,7 @@ func (client NamespacesClient) CreateOrUpdateAuthorizationRuleSender(req *http.R // CreateOrUpdateAuthorizationRuleResponder handles the response to the CreateOrUpdateAuthorizationRule request. The method always // closes the http.Response Body. -func (client NamespacesClient) CreateOrUpdateAuthorizationRuleResponder(resp *http.Response) (result SharedAccessAuthorizationRuleResource, err error) { +func (client NamespacesClient) CreateOrUpdateAuthorizationRuleResponder(resp *http.Response) (result AuthorizationRule, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -301,14 +302,11 @@ func (client NamespacesClient) CreateOrUpdateAuthorizationRuleResponder(resp *ht return } -// Delete deletes an existing namespace. This operation also removes all -// associated resources under the namespace. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete deletes an existing namespace. This operation also removes all associated resources under the namespace. This +// method may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be +// used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is name of the resource group within the azure -// subscription. namespaceName is the Namespace name +// resourceGroupName is name of the resource group within the azure subscription. namespaceName is the Namespace name func (client NamespacesClient) Delete(resourceGroupName string, namespaceName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -329,8 +327,10 @@ func (client NamespacesClient) Delete(resourceGroupName string, namespaceName st var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -363,7 +363,7 @@ func (client NamespacesClient) DeletePreparer(resourceGroupName string, namespac "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -398,9 +398,8 @@ func (client NamespacesClient) DeleteResponder(resp *http.Response) (result auto // DeleteAuthorizationRule deletes an AuthorizationRule for a Namespace. // -// resourceGroupName is name of the resource group within the azure -// subscription. namespaceName is the Namespace name authorizationRuleName is -// the authorization rule name. +// resourceGroupName is name of the resource group within the azure subscription. namespaceName is the Namespace name +// authorizationRuleName is the authorization rule name. func (client NamespacesClient) DeleteAuthorizationRule(resourceGroupName string, namespaceName string, authorizationRuleName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -410,8 +409,7 @@ func (client NamespacesClient) DeleteAuthorizationRule(resourceGroupName string, Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "eventhub.NamespacesClient", "DeleteAuthorizationRule") } @@ -445,7 +443,7 @@ func (client NamespacesClient) DeleteAuthorizationRulePreparer(resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -478,9 +476,8 @@ func (client NamespacesClient) DeleteAuthorizationRuleResponder(resp *http.Respo // Get gets the description of the specified namespace. // -// resourceGroupName is name of the resource group within the azure -// subscription. namespaceName is the Namespace name -func (client NamespacesClient) Get(resourceGroupName string, namespaceName string) (result NamespaceResource, err error) { +// resourceGroupName is name of the resource group within the azure subscription. namespaceName is the Namespace name +func (client NamespacesClient) Get(resourceGroupName string, namespaceName string) (result EHNamespace, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -520,7 +517,7 @@ func (client NamespacesClient) GetPreparer(resourceGroupName string, namespaceNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -541,7 +538,7 @@ func (client NamespacesClient) GetSender(req *http.Request) (*http.Response, err // GetResponder handles the response to the Get request. The method always // closes the http.Response Body. -func (client NamespacesClient) GetResponder(resp *http.Response) (result NamespaceResource, err error) { +func (client NamespacesClient) GetResponder(resp *http.Response) (result EHNamespace, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -554,10 +551,9 @@ func (client NamespacesClient) GetResponder(resp *http.Response) (result Namespa // GetAuthorizationRule gets an AuthorizationRule for a Namespace by rule name. // -// resourceGroupName is name of the resource group within the azure -// subscription. namespaceName is the Namespace name authorizationRuleName is -// the authorization rule name. -func (client NamespacesClient) GetAuthorizationRule(resourceGroupName string, namespaceName string, authorizationRuleName string) (result SharedAccessAuthorizationRuleResource, err error) { +// resourceGroupName is name of the resource group within the azure subscription. namespaceName is the Namespace name +// authorizationRuleName is the authorization rule name. +func (client NamespacesClient) GetAuthorizationRule(resourceGroupName string, namespaceName string, authorizationRuleName string) (result AuthorizationRule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -566,8 +562,7 @@ func (client NamespacesClient) GetAuthorizationRule(resourceGroupName string, na Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "eventhub.NamespacesClient", "GetAuthorizationRule") } @@ -601,7 +596,7 @@ func (client NamespacesClient) GetAuthorizationRulePreparer(resourceGroupName st "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -622,7 +617,7 @@ func (client NamespacesClient) GetAuthorizationRuleSender(req *http.Request) (*h // GetAuthorizationRuleResponder handles the response to the GetAuthorizationRule request. The method always // closes the http.Response Body. -func (client NamespacesClient) GetAuthorizationRuleResponder(resp *http.Response) (result SharedAccessAuthorizationRuleResource, err error) { +func (client NamespacesClient) GetAuthorizationRuleResponder(resp *http.Response) (result AuthorizationRule, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -633,11 +628,140 @@ func (client NamespacesClient) GetAuthorizationRuleResponder(resp *http.Response return } +// List lists all the available Namespaces within a subscription, irrespective of the resource groups. +func (client NamespacesClient) List() (result EHNamespaceListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "eventhub.NamespacesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventhub.NamespacesClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventhub.NamespacesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client NamespacesClient) ListPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/namespaces", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client NamespacesClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client NamespacesClient) ListResponder(resp *http.Response) (result EHNamespaceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client NamespacesClient) ListNextResults(lastResults EHNamespaceListResult) (result EHNamespaceListResult, err error) { + req, err := lastResults.EHNamespaceListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "eventhub.NamespacesClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "eventhub.NamespacesClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventhub.NamespacesClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client NamespacesClient) ListComplete(cancel <-chan struct{}) (<-chan EHNamespace, <-chan error) { + resultChan := make(chan EHNamespace) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListAuthorizationRules gets a list of authorization rules for a Namespace. // -// resourceGroupName is name of the resource group within the azure -// subscription. namespaceName is the Namespace name -func (client NamespacesClient) ListAuthorizationRules(resourceGroupName string, namespaceName string) (result SharedAccessAuthorizationRuleListResult, err error) { +// resourceGroupName is name of the resource group within the azure subscription. namespaceName is the Namespace name +func (client NamespacesClient) ListAuthorizationRules(resourceGroupName string, namespaceName string) (result AuthorizationRuleListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -677,7 +801,7 @@ func (client NamespacesClient) ListAuthorizationRulesPreparer(resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -698,7 +822,7 @@ func (client NamespacesClient) ListAuthorizationRulesSender(req *http.Request) ( // ListAuthorizationRulesResponder handles the response to the ListAuthorizationRules request. The method always // closes the http.Response Body. -func (client NamespacesClient) ListAuthorizationRulesResponder(resp *http.Response) (result SharedAccessAuthorizationRuleListResult, err error) { +func (client NamespacesClient) ListAuthorizationRulesResponder(resp *http.Response) (result AuthorizationRuleListResult, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -710,8 +834,8 @@ func (client NamespacesClient) ListAuthorizationRulesResponder(resp *http.Respon } // ListAuthorizationRulesNextResults retrieves the next set of results, if any. -func (client NamespacesClient) ListAuthorizationRulesNextResults(lastResults SharedAccessAuthorizationRuleListResult) (result SharedAccessAuthorizationRuleListResult, err error) { - req, err := lastResults.SharedAccessAuthorizationRuleListResultPreparer() +func (client NamespacesClient) ListAuthorizationRulesNextResults(lastResults AuthorizationRuleListResult) (result AuthorizationRuleListResult, err error) { + req, err := lastResults.AuthorizationRuleListResultPreparer() if err != nil { return result, autorest.NewErrorWithError(err, "eventhub.NamespacesClient", "ListAuthorizationRules", nil, "Failure preparing next results request") } @@ -733,11 +857,55 @@ func (client NamespacesClient) ListAuthorizationRulesNextResults(lastResults Sha return } +// ListAuthorizationRulesComplete gets all elements from the list without paging. +func (client NamespacesClient) ListAuthorizationRulesComplete(resourceGroupName string, namespaceName string, cancel <-chan struct{}) (<-chan AuthorizationRule, <-chan error) { + resultChan := make(chan AuthorizationRule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAuthorizationRules(resourceGroupName, namespaceName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAuthorizationRulesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListByResourceGroup lists the available Namespaces within a resource group. // -// resourceGroupName is name of the resource group within the azure -// subscription. -func (client NamespacesClient) ListByResourceGroup(resourceGroupName string) (result NamespaceListResult, err error) { +// resourceGroupName is name of the resource group within the azure subscription. +func (client NamespacesClient) ListByResourceGroup(resourceGroupName string) (result EHNamespaceListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -773,7 +941,7 @@ func (client NamespacesClient) ListByResourceGroupPreparer(resourceGroupName str "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -794,7 +962,7 @@ func (client NamespacesClient) ListByResourceGroupSender(req *http.Request) (*ht // ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always // closes the http.Response Body. -func (client NamespacesClient) ListByResourceGroupResponder(resp *http.Response) (result NamespaceListResult, err error) { +func (client NamespacesClient) ListByResourceGroupResponder(resp *http.Response) (result EHNamespaceListResult, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -806,8 +974,8 @@ func (client NamespacesClient) ListByResourceGroupResponder(resp *http.Response) } // ListByResourceGroupNextResults retrieves the next set of results, if any. -func (client NamespacesClient) ListByResourceGroupNextResults(lastResults NamespaceListResult) (result NamespaceListResult, err error) { - req, err := lastResults.NamespaceListResultPreparer() +func (client NamespacesClient) ListByResourceGroupNextResults(lastResults EHNamespaceListResult) (result EHNamespaceListResult, err error) { + req, err := lastResults.EHNamespaceListResultPreparer() if err != nil { return result, autorest.NewErrorWithError(err, "eventhub.NamespacesClient", "ListByResourceGroup", nil, "Failure preparing next results request") } @@ -829,99 +997,56 @@ func (client NamespacesClient) ListByResourceGroupNextResults(lastResults Namesp return } -// ListBySubscription lists all the available Namespaces within a subscription, -// irrespective of the resource groups. -func (client NamespacesClient) ListBySubscription() (result NamespaceListResult, err error) { - req, err := client.ListBySubscriptionPreparer() - if err != nil { - err = autorest.NewErrorWithError(err, "eventhub.NamespacesClient", "ListBySubscription", nil, "Failure preparing request") - return - } - - resp, err := client.ListBySubscriptionSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "eventhub.NamespacesClient", "ListBySubscription", resp, "Failure sending request") - return - } - - result, err = client.ListBySubscriptionResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "eventhub.NamespacesClient", "ListBySubscription", resp, "Failure responding to request") - } - - return +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client NamespacesClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan EHNamespace, <-chan error) { + resultChan := make(chan EHNamespace) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan } -// ListBySubscriptionPreparer prepares the ListBySubscription request. -func (client NamespacesClient) ListBySubscriptionPreparer() (*http.Request, error) { - pathParameters := map[string]interface{}{ - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2015-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/namespaces", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// ListBySubscriptionSender sends the ListBySubscription request. The method will close the -// http.Response Body if it receives an error. -func (client NamespacesClient) ListBySubscriptionSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// ListBySubscriptionResponder handles the response to the ListBySubscription request. The method always -// closes the http.Response Body. -func (client NamespacesClient) ListBySubscriptionResponder(resp *http.Response) (result NamespaceListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListBySubscriptionNextResults retrieves the next set of results, if any. -func (client NamespacesClient) ListBySubscriptionNextResults(lastResults NamespaceListResult) (result NamespaceListResult, err error) { - req, err := lastResults.NamespaceListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "eventhub.NamespacesClient", "ListBySubscription", nil, "Failure preparing next results request") - } - if req == nil { - return - } - - resp, err := client.ListBySubscriptionSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "eventhub.NamespacesClient", "ListBySubscription", resp, "Failure sending next results request") - } - - result, err = client.ListBySubscriptionResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "eventhub.NamespacesClient", "ListBySubscription", resp, "Failure responding to next results request") - } - - return -} - -// ListKeys gets the primary and secondary connection strings for the -// Namespace. +// ListKeys gets the primary and secondary connection strings for the Namespace. // -// resourceGroupName is name of the resource group within the azure -// subscription. namespaceName is the Namespace name authorizationRuleName is -// the authorization rule name. -func (client NamespacesClient) ListKeys(resourceGroupName string, namespaceName string, authorizationRuleName string) (result ResourceListKeys, err error) { +// resourceGroupName is name of the resource group within the azure subscription. namespaceName is the Namespace name +// authorizationRuleName is the authorization rule name. +func (client NamespacesClient) ListKeys(resourceGroupName string, namespaceName string, authorizationRuleName string) (result AccessKeys, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -930,8 +1055,7 @@ func (client NamespacesClient) ListKeys(resourceGroupName string, namespaceName Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "eventhub.NamespacesClient", "ListKeys") } @@ -965,7 +1089,7 @@ func (client NamespacesClient) ListKeysPreparer(resourceGroupName string, namesp "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -986,7 +1110,7 @@ func (client NamespacesClient) ListKeysSender(req *http.Request) (*http.Response // ListKeysResponder handles the response to the ListKeys request. The method always // closes the http.Response Body. -func (client NamespacesClient) ListKeysResponder(resp *http.Response) (result ResourceListKeys, err error) { +func (client NamespacesClient) ListKeysResponder(resp *http.Response) (result AccessKeys, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -997,14 +1121,12 @@ func (client NamespacesClient) ListKeysResponder(resp *http.Response) (result Re return } -// RegenerateKeys regenerates the primary or secondary connection strings for -// the specified Namespace. +// RegenerateKeys regenerates the primary or secondary connection strings for the specified Namespace. // -// resourceGroupName is name of the resource group within the azure -// subscription. namespaceName is the Namespace name authorizationRuleName is -// the authorization rule name. parameters is parameters required to regenerate -// the connection string. -func (client NamespacesClient) RegenerateKeys(resourceGroupName string, namespaceName string, authorizationRuleName string, parameters RegenerateKeysParameters) (result ResourceListKeys, err error) { +// resourceGroupName is name of the resource group within the azure subscription. namespaceName is the Namespace name +// authorizationRuleName is the authorization rule name. parameters is parameters required to regenerate the connection +// string. +func (client NamespacesClient) RegenerateKeys(resourceGroupName string, namespaceName string, authorizationRuleName string, parameters RegenerateAccessKeyParameters) (result AccessKeys, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -1013,8 +1135,7 @@ func (client NamespacesClient) RegenerateKeys(resourceGroupName string, namespac Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "eventhub.NamespacesClient", "RegenerateKeys") } @@ -1040,7 +1161,7 @@ func (client NamespacesClient) RegenerateKeys(resourceGroupName string, namespac } // RegenerateKeysPreparer prepares the RegenerateKeys request. -func (client NamespacesClient) RegenerateKeysPreparer(resourceGroupName string, namespaceName string, authorizationRuleName string, parameters RegenerateKeysParameters) (*http.Request, error) { +func (client NamespacesClient) RegenerateKeysPreparer(resourceGroupName string, namespaceName string, authorizationRuleName string, parameters RegenerateAccessKeyParameters) (*http.Request, error) { pathParameters := map[string]interface{}{ "authorizationRuleName": autorest.Encode("path", authorizationRuleName), "namespaceName": autorest.Encode("path", namespaceName), @@ -1048,7 +1169,7 @@ func (client NamespacesClient) RegenerateKeysPreparer(resourceGroupName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1071,7 +1192,7 @@ func (client NamespacesClient) RegenerateKeysSender(req *http.Request) (*http.Re // RegenerateKeysResponder handles the response to the RegenerateKeys request. The method always // closes the http.Response Body. -func (client NamespacesClient) RegenerateKeysResponder(resp *http.Response) (result ResourceListKeys, err error) { +func (client NamespacesClient) RegenerateKeysResponder(resp *http.Response) (result AccessKeys, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -1082,13 +1203,12 @@ func (client NamespacesClient) RegenerateKeysResponder(resp *http.Response) (res return } -// Update creates or updates a namespace. Once created, this namespace's -// resource manifest is immutable. This operation is idempotent. +// Update creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This operation +// is idempotent. // -// resourceGroupName is name of the resource group within the azure -// subscription. namespaceName is the Namespace name parameters is parameters -// for updating a namespace resource. -func (client NamespacesClient) Update(resourceGroupName string, namespaceName string, parameters NamespaceUpdateParameter) (result NamespaceResource, err error) { +// resourceGroupName is name of the resource group within the azure subscription. namespaceName is the Namespace name +// parameters is parameters for updating a namespace resource. +func (client NamespacesClient) Update(resourceGroupName string, namespaceName string, parameters EHNamespace) (result EHNamespace, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -1121,14 +1241,14 @@ func (client NamespacesClient) Update(resourceGroupName string, namespaceName st } // UpdatePreparer prepares the Update request. -func (client NamespacesClient) UpdatePreparer(resourceGroupName string, namespaceName string, parameters NamespaceUpdateParameter) (*http.Request, error) { +func (client NamespacesClient) UpdatePreparer(resourceGroupName string, namespaceName string, parameters EHNamespace) (*http.Request, error) { pathParameters := map[string]interface{}{ "namespaceName": autorest.Encode("path", namespaceName), "resourceGroupName": autorest.Encode("path", resourceGroupName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1151,7 +1271,7 @@ func (client NamespacesClient) UpdateSender(req *http.Request) (*http.Response, // UpdateResponder handles the response to the Update request. The method always // closes the http.Response Body. -func (client NamespacesClient) UpdateResponder(resp *http.Response) (result NamespaceResource, err error) { +func (client NamespacesClient) UpdateResponder(resp *http.Response) (result EHNamespace, err error) { err = autorest.Respond( resp, client.ByInspecting(), diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/operations.go index c86a01619..6f3ea2c8a 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/operations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/operations.go @@ -14,9 +14,8 @@ package eventhub // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -34,8 +33,7 @@ func NewOperationsClient(subscriptionID string) OperationsClient { return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewOperationsClientWithBaseURI creates an instance of the OperationsClient -// client. +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} } @@ -65,7 +63,7 @@ func (client OperationsClient) List() (result OperationListResult, err error) { // ListPreparer prepares the List request. func (client OperationsClient) ListPreparer() (*http.Request, error) { - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -120,3 +118,48 @@ func (client OperationsClient) ListNextResults(lastResults OperationListResult) return } + +// ListComplete gets all elements from the list without paging. +func (client OperationsClient) ListComplete(cancel <-chan struct{}) (<-chan Operation, <-chan error) { + resultChan := make(chan Operation) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/version.go index 866564951..45040aed7 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/eventhub/version.go @@ -14,16 +14,15 @@ package eventhub // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-eventhub/2015-08-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-eventhub/2017-04-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/examples/check/check.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/examples/check/check.go index 762e8c3d4..c876931d2 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/examples/check/check.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/examples/check/check.go @@ -1,5 +1,19 @@ package main +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "fmt" "log" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/examples/create/create.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/examples/create/create.go index 48ef886fd..0a520b9a3 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/examples/create/create.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/examples/create/create.go @@ -1,5 +1,19 @@ package main +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "fmt" "log" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/examples/dns/create.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/examples/dns/create.go index d8c9effe2..1a9bd5d58 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/examples/dns/create.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/examples/dns/create.go @@ -1,5 +1,19 @@ package main +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "fmt" "log" @@ -107,7 +121,7 @@ func main() { var top int32 top = 10 - rrsets, err := rc.ListByDNSZone(resourceGroup, newZoneName, &top) + rrsets, err := rc.ListByDNSZone(resourceGroup, newZoneName, &top, "") if err != nil { log.Fatalf("Error: %v", err) return diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/examples/dns/paging/paging.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/examples/dns/paging/paging.go index 7d5744864..c7a86c4c4 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/examples/dns/paging/paging.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/examples/dns/paging/paging.go @@ -1,5 +1,19 @@ package main +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "fmt" "log" @@ -95,7 +109,7 @@ func main() { top = 10 page := 0 rrsets := make([]dns.RecordSet, 0) - result, err := rc.ListByDNSZone(resourceGroup, newZoneName, &top) + result, err := rc.ListByDNSZone(resourceGroup, newZoneName, &top, "") if err != nil { log.Fatalf("Error: %v", err) return diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/examples/helpers/helpers.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/examples/helpers/helpers.go index f883215ef..de9d55166 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/examples/helpers/helpers.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/examples/helpers/helpers.go @@ -1,8 +1,23 @@ package helpers +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/json" "fmt" + "github.com/Azure/go-autorest/autorest/adal" "github.com/Azure/go-autorest/autorest/azure" ) diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/applications.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/applications.go index cb0fad4d5..7c43c4a20 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/applications.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/applications.go @@ -14,9 +14,8 @@ package graphrbac // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// ApplicationsClient is the composite Swagger specification for Azure Active -// Directory Graph RBAC management client. +// ApplicationsClient is the the Graph RBAC Management Client type ApplicationsClient struct { ManagementClient } @@ -36,8 +34,7 @@ func NewApplicationsClient(tenantID string) ApplicationsClient { return NewApplicationsClientWithBaseURI(DefaultBaseURI, tenantID) } -// NewApplicationsClientWithBaseURI creates an instance of the -// ApplicationsClient client. +// NewApplicationsClientWithBaseURI creates an instance of the ApplicationsClient client. func NewApplicationsClientWithBaseURI(baseURI string, tenantID string) ApplicationsClient { return ApplicationsClient{NewWithBaseURI(baseURI, tenantID)} } @@ -308,6 +305,51 @@ func (client ApplicationsClient) ListResponder(resp *http.Response) (result Appl return } +// ListComplete gets all elements from the list without paging. +func (client ApplicationsClient) ListComplete(filter string, cancel <-chan struct{}) (<-chan Application, <-chan error) { + resultChan := make(chan Application) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.OdataNextLink != nil { + list, err = client.ListNext(*list.OdataNextLink) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListKeyCredentials get the keyCredentials associated with an application. // // applicationObjectID is application object ID. @@ -436,8 +478,7 @@ func (client ApplicationsClient) ListNextResponder(resp *http.Response) (result return } -// ListPasswordCredentials get the passwordCredentials associated with an -// application. +// ListPasswordCredentials get the passwordCredentials associated with an application. // // applicationObjectID is application object ID. func (client ApplicationsClient) ListPasswordCredentials(applicationObjectID string) (result PasswordCredentialListResult, err error) { @@ -503,8 +544,7 @@ func (client ApplicationsClient) ListPasswordCredentialsResponder(resp *http.Res // Patch update an existing application. // -// applicationObjectID is application object ID. parameters is parameters to -// update an existing application. +// applicationObjectID is application object ID. parameters is parameters to update an existing application. func (client ApplicationsClient) Patch(applicationObjectID string, parameters ApplicationUpdateParameters) (result autorest.Response, err error) { req, err := client.PatchPreparer(applicationObjectID, parameters) if err != nil { @@ -567,11 +607,10 @@ func (client ApplicationsClient) PatchResponder(resp *http.Response) (result aut return } -// UpdateKeyCredentials update the keyCredentials associated with an -// application. +// UpdateKeyCredentials update the keyCredentials associated with an application. // -// applicationObjectID is application object ID. parameters is parameters to -// update the keyCredentials of an existing application. +// applicationObjectID is application object ID. parameters is parameters to update the keyCredentials of an existing +// application. func (client ApplicationsClient) UpdateKeyCredentials(applicationObjectID string, parameters KeyCredentialsUpdateParameters) (result autorest.Response, err error) { req, err := client.UpdateKeyCredentialsPreparer(applicationObjectID, parameters) if err != nil { @@ -634,11 +673,10 @@ func (client ApplicationsClient) UpdateKeyCredentialsResponder(resp *http.Respon return } -// UpdatePasswordCredentials update passwordCredentials associated with an -// application. +// UpdatePasswordCredentials update passwordCredentials associated with an application. // -// applicationObjectID is application object ID. parameters is parameters to -// update passwordCredentials of an existing application. +// applicationObjectID is application object ID. parameters is parameters to update passwordCredentials of an existing +// application. func (client ApplicationsClient) UpdatePasswordCredentials(applicationObjectID string, parameters PasswordCredentialsUpdateParameters) (result autorest.Response, err error) { req, err := client.UpdatePasswordCredentialsPreparer(applicationObjectID, parameters) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/client.go index 282c2af0d..627cc0254 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/client.go @@ -1,7 +1,6 @@ -// Package graphrbac implements the Azure ARM Graphrbac service API version . +// Package graphrbac implements the Azure ARM Graphrbac service API version 1.6. // -// Composite Swagger specification for Azure Active Directory Graph RBAC -// management client. +// The Graph RBAC Management Client package graphrbac // Copyright (c) Microsoft and contributors. All rights reserved. @@ -18,9 +17,8 @@ package graphrbac // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/domains.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/domains.go new file mode 100644 index 000000000..78a34dcc7 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/domains.go @@ -0,0 +1,169 @@ +package graphrbac + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// DomainsClient is the the Graph RBAC Management Client +type DomainsClient struct { + ManagementClient +} + +// NewDomainsClient creates an instance of the DomainsClient client. +func NewDomainsClient(tenantID string) DomainsClient { + return NewDomainsClientWithBaseURI(DefaultBaseURI, tenantID) +} + +// NewDomainsClientWithBaseURI creates an instance of the DomainsClient client. +func NewDomainsClientWithBaseURI(baseURI string, tenantID string) DomainsClient { + return DomainsClient{NewWithBaseURI(baseURI, tenantID)} +} + +// Get gets a specific domain in the current tenant. +// +// domainName is name of the domain. +func (client DomainsClient) Get(domainName string) (result Domain, err error) { + req, err := client.GetPreparer(domainName) + if err != nil { + err = autorest.NewErrorWithError(err, "graphrbac.DomainsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "graphrbac.DomainsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "graphrbac.DomainsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DomainsClient) GetPreparer(domainName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "domainName": autorest.Encode("path", domainName), + "tenantID": autorest.Encode("path", client.TenantID), + } + + const APIVersion = "1.6" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{tenantID}/domains/{domainName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DomainsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DomainsClient) GetResponder(resp *http.Response) (result Domain, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets a list of domains for the current tenant. +// +// filter is the filter to apply to the operation. +func (client DomainsClient) List(filter string) (result DomainListResult, err error) { + req, err := client.ListPreparer(filter) + if err != nil { + err = autorest.NewErrorWithError(err, "graphrbac.DomainsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "graphrbac.DomainsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "graphrbac.DomainsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client DomainsClient) ListPreparer(filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "tenantID": autorest.Encode("path", client.TenantID), + } + + const APIVersion = "1.6" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{tenantID}/domains", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client DomainsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client DomainsClient) ListResponder(resp *http.Response) (result DomainListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/groups.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/groups.go index 6c26e0805..2a450837e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/groups.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/groups.go @@ -14,9 +14,8 @@ package graphrbac // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// GroupsClient is the composite Swagger specification for Azure Active -// Directory Graph RBAC management client. +// GroupsClient is the the Graph RBAC Management Client type GroupsClient struct { ManagementClient } @@ -43,8 +41,8 @@ func NewGroupsClientWithBaseURI(baseURI string, tenantID string) GroupsClient { // AddMember add a member to a group. // -// groupObjectID is the object ID of the group to which to add the member. -// parameters is the URL of the member object, such as +// groupObjectID is the object ID of the group to which to add the member. parameters is the URL of the member object, +// such as // https://graph.windows.net/0b1f9851-1bf0-433f-aec3-cb9272f093dc/directoryObjects/f260bbc4-c254-447b-94cf-293b5ec434dd. func (client GroupsClient) AddMember(groupObjectID string, parameters GroupAddMemberParameters) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ @@ -379,6 +377,51 @@ func (client GroupsClient) GetGroupMembersResponder(resp *http.Response) (result return } +// GetGroupMembersComplete gets all elements from the list without paging. +func (client GroupsClient) GetGroupMembersComplete(objectID string, cancel <-chan struct{}) (<-chan AADObject, <-chan error) { + resultChan := make(chan AADObject) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetGroupMembers(objectID) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.OdataNextLink != nil { + list, err = client.GetGroupMembersNext(*list.OdataNextLink) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // GetGroupMembersNext gets the members of a group. // // nextLink is next link for the list operation. @@ -443,11 +486,9 @@ func (client GroupsClient) GetGroupMembersNextResponder(resp *http.Response) (re return } -// GetMemberGroups gets a collection of object IDs of groups of which the -// specified group is a member. +// GetMemberGroups gets a collection of object IDs of groups of which the specified group is a member. // -// objectID is the object ID of the group for which to get group membership. -// parameters is group filtering parameters. +// objectID is the object ID of the group for which to get group membership. parameters is group filtering parameters. func (client GroupsClient) GetMemberGroups(objectID string, parameters GroupGetMemberGroupsParameters) (result GroupGetMemberGroupsResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -517,8 +558,8 @@ func (client GroupsClient) GetMemberGroupsResponder(resp *http.Response) (result return } -// IsMemberOf checks whether the specified user, group, contact, or service -// principal is a direct or transitive member of the specified group. +// IsMemberOf checks whether the specified user, group, contact, or service principal is a direct or transitive member +// of the specified group. // // parameters is the check group membership parameters. func (client GroupsClient) IsMemberOf(parameters CheckGroupMembershipParameters) (result CheckGroupMembershipResult, err error) { @@ -656,6 +697,51 @@ func (client GroupsClient) ListResponder(resp *http.Response) (result GroupListR return } +// ListComplete gets all elements from the list without paging. +func (client GroupsClient) ListComplete(filter string, cancel <-chan struct{}) (<-chan ADGroup, <-chan error) { + resultChan := make(chan ADGroup) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.OdataNextLink != nil { + list, err = client.ListNext(*list.OdataNextLink) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListNext gets a list of groups for the current tenant. // // nextLink is next link for the list operation. @@ -722,8 +808,7 @@ func (client GroupsClient) ListNextResponder(resp *http.Response) (result GroupL // RemoveMember remove a member from a group. // -// groupObjectID is the object ID of the group from which to remove the member. -// memberObjectID is member object id +// groupObjectID is the object ID of the group from which to remove the member. memberObjectID is member object id func (client GroupsClient) RemoveMember(groupObjectID string, memberObjectID string) (result autorest.Response, err error) { req, err := client.RemoveMemberPreparer(groupObjectID, memberObjectID) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/models.go index ab8775a72..490d1f32e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/models.go @@ -14,28 +14,45 @@ package graphrbac // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/date" ) +// UserType enumerates the values for user type. +type UserType string + +const ( + // Guest specifies the guest state for user type. + Guest UserType = "Guest" + // Member specifies the member state for user type. + Member UserType = "Member" +) + // AADObject is the properties of an Active Directory object. type AADObject struct { - autorest.Response `json:"-"` - ObjectID *string `json:"objectId,omitempty"` - ObjectType *string `json:"objectType,omitempty"` - DisplayName *string `json:"displayName,omitempty"` - UserPrincipalName *string `json:"userPrincipalName,omitempty"` - Mail *string `json:"mail,omitempty"` - MailEnabled *bool `json:"mailEnabled,omitempty"` - SecurityEnabled *bool `json:"securityEnabled,omitempty"` - SignInName *string `json:"signInName,omitempty"` - ServicePrincipalNames *[]string `json:"servicePrincipalNames,omitempty"` - UserType *string `json:"userType,omitempty"` + autorest.Response `json:"-"` + ObjectID *string `json:"objectId,omitempty"` + ObjectType *string `json:"objectType,omitempty"` + DisplayName *string `json:"displayName,omitempty"` + UserPrincipalName *string `json:"userPrincipalName,omitempty"` + Mail *string `json:"mail,omitempty"` + MailEnabled *bool `json:"mailEnabled,omitempty"` + MailNickname *string `json:"mailNickname,omitempty"` + SecurityEnabled *bool `json:"securityEnabled,omitempty"` + SignInName *string `json:"signInName,omitempty"` + ServicePrincipalNames *[]string `json:"servicePrincipalNames,omitempty"` + UserType *string `json:"userType,omitempty"` + UsageLocation *string `json:"usageLocation,omitempty"` + AppID *string `json:"appId,omitempty"` + AppPermissions *[]string `json:"appPermissions,omitempty"` + AvailableToOtherTenants *bool `json:"availableToOtherTenants,omitempty"` + IdentifierUris *[]string `json:"identifierUris,omitempty"` + ReplyUrls *[]string `json:"replyUrls,omitempty"` + Homepage *string `json:"homepage,omitempty"` } // ADGroup is active Directory group information. @@ -60,18 +77,20 @@ type Application struct { IdentifierUris *[]string `json:"identifierUris,omitempty"` ReplyUrls *[]string `json:"replyUrls,omitempty"` Homepage *string `json:"homepage,omitempty"` + Oauth2AllowImplicitFlow *bool `json:"oauth2AllowImplicitFlow,omitempty"` } -// ApplicationCreateParameters is request parameters for creating a new -// application. +// ApplicationCreateParameters is request parameters for creating a new application. type ApplicationCreateParameters struct { - AvailableToOtherTenants *bool `json:"availableToOtherTenants,omitempty"` - DisplayName *string `json:"displayName,omitempty"` - Homepage *string `json:"homepage,omitempty"` - IdentifierUris *[]string `json:"identifierUris,omitempty"` - ReplyUrls *[]string `json:"replyUrls,omitempty"` - KeyCredentials *[]KeyCredential `json:"keyCredentials,omitempty"` - PasswordCredentials *[]PasswordCredential `json:"passwordCredentials,omitempty"` + AvailableToOtherTenants *bool `json:"availableToOtherTenants,omitempty"` + DisplayName *string `json:"displayName,omitempty"` + Homepage *string `json:"homepage,omitempty"` + IdentifierUris *[]string `json:"identifierUris,omitempty"` + ReplyUrls *[]string `json:"replyUrls,omitempty"` + KeyCredentials *[]KeyCredential `json:"keyCredentials,omitempty"` + PasswordCredentials *[]PasswordCredential `json:"passwordCredentials,omitempty"` + Oauth2AllowImplicitFlow *bool `json:"oauth2AllowImplicitFlow,omitempty"` + RequiredResourceAccess *[]RequiredResourceAccess `json:"requiredResourceAccess,omitempty"` } // ApplicationListResult is application list operation result. @@ -81,20 +100,20 @@ type ApplicationListResult struct { OdataNextLink *string `json:"odata.nextLink,omitempty"` } -// ApplicationUpdateParameters is request parameters for updating an existing -// application. +// ApplicationUpdateParameters is request parameters for updating an existing application. type ApplicationUpdateParameters struct { - AvailableToOtherTenants *bool `json:"availableToOtherTenants,omitempty"` - DisplayName *string `json:"displayName,omitempty"` - Homepage *string `json:"homepage,omitempty"` - IdentifierUris *[]string `json:"identifierUris,omitempty"` - ReplyUrls *[]string `json:"replyUrls,omitempty"` - KeyCredentials *[]KeyCredential `json:"keyCredentials,omitempty"` - PasswordCredentials *[]PasswordCredential `json:"passwordCredentials,omitempty"` + AvailableToOtherTenants *bool `json:"availableToOtherTenants,omitempty"` + DisplayName *string `json:"displayName,omitempty"` + Homepage *string `json:"homepage,omitempty"` + IdentifierUris *[]string `json:"identifierUris,omitempty"` + ReplyUrls *[]string `json:"replyUrls,omitempty"` + KeyCredentials *[]KeyCredential `json:"keyCredentials,omitempty"` + PasswordCredentials *[]PasswordCredential `json:"passwordCredentials,omitempty"` + Oauth2AllowImplicitFlow *bool `json:"oauth2AllowImplicitFlow,omitempty"` + RequiredResourceAccess *[]RequiredResourceAccess `json:"requiredResourceAccess,omitempty"` } -// CheckGroupMembershipParameters is request parameters for IsMemberOf API -// call. +// CheckGroupMembershipParameters is request parameters for IsMemberOf API call. type CheckGroupMembershipParameters struct { GroupID *string `json:"groupId,omitempty"` MemberID *string `json:"memberId,omitempty"` @@ -106,21 +125,34 @@ type CheckGroupMembershipResult struct { Value *bool `json:"value,omitempty"` } +// Domain is active Directory Domain information. +type Domain struct { + autorest.Response `json:"-"` + AuthenticationType *string `json:"authenticationType,omitempty"` + IsDefault *bool `json:"isDefault,omitempty"` + IsVerified *bool `json:"isVerified,omitempty"` + Name *string `json:"name,omitempty"` +} + +// DomainListResult is server response for Get tenant domains API call. +type DomainListResult struct { + autorest.Response `json:"-"` + Value *[]Domain `json:"value,omitempty"` +} + // ErrorMessage is active Directory error message. type ErrorMessage struct { Message *string `json:"value,omitempty"` } -// GetObjectsParameters is request parameters for the GetObjectsByObjectIds -// API. +// GetObjectsParameters is request parameters for the GetObjectsByObjectIds API. type GetObjectsParameters struct { ObjectIds *[]string `json:"objectIds,omitempty"` Types *[]string `json:"types,omitempty"` IncludeDirectoryObjectReferences *bool `json:"includeDirectoryObjectReferences,omitempty"` } -// GetObjectsResult is the response to an Active Directory object inquiry API -// request. +// GetObjectsResult is the response to an Active Directory object inquiry API request. type GetObjectsResult struct { autorest.Response `json:"-"` Value *[]AADObject `json:"value,omitempty"` @@ -132,8 +164,7 @@ type GraphError struct { *OdataError `json:"odata.error,omitempty"` } -// GroupAddMemberParameters is request parameters for adding a member to a -// group. +// GroupAddMemberParameters is request parameters for adding a member to a group. type GroupAddMemberParameters struct { URL *string `json:"url,omitempty"` } @@ -146,8 +177,7 @@ type GroupCreateParameters struct { SecurityEnabled *bool `json:"securityEnabled,omitempty"` } -// GroupGetMemberGroupsParameters is request parameters for GetMemberGroups API -// call. +// GroupGetMemberGroupsParameters is request parameters for GetMemberGroups API call. type GroupGetMemberGroupsParameters struct { SecurityEnabledOnly *bool `json:"securityEnabledOnly,omitempty"` } @@ -181,8 +211,7 @@ type KeyCredentialListResult struct { Value *[]KeyCredential `json:"value,omitempty"` } -// KeyCredentialsUpdateParameters is request parameters for a KeyCredentials -// update operation +// KeyCredentialsUpdateParameters is request parameters for a KeyCredentials update operation type KeyCredentialsUpdateParameters struct { Value *[]KeyCredential `json:"value,omitempty"` } @@ -207,8 +236,7 @@ type PasswordCredentialListResult struct { Value *[]PasswordCredential `json:"value,omitempty"` } -// PasswordCredentialsUpdateParameters is request parameters for a -// PasswordCredentials update operation. +// PasswordCredentialsUpdateParameters is request parameters for a PasswordCredentials update operation. type PasswordCredentialsUpdateParameters struct { Value *[]PasswordCredential `json:"value,omitempty"` } @@ -219,6 +247,22 @@ type PasswordProfile struct { ForceChangePasswordNextLogin *bool `json:"forceChangePasswordNextLogin,omitempty"` } +// RequiredResourceAccess is specifies the set of OAuth 2.0 permission scopes and app roles under the specified +// resource that an application requires access to. The specified OAuth 2.0 permission scopes may be requested by +// client applications (through the requiredResourceAccess collection) when calling a resource application. The +// requiredResourceAccess property of the Application entity is a collection of ReqiredResourceAccess. +type RequiredResourceAccess struct { + ResourceAccess *[]ResourceAccess `json:"resourceAccess,omitempty"` + ResourceAppID *string `json:"resourceAppId,omitempty"` +} + +// ResourceAccess is specifies an OAuth 2.0 permission scope or an app role that an application requires. The +// resourceAccess property of the RequiredResourceAccess type is a collection of ResourceAccess. +type ResourceAccess struct { + ID *string `json:"id,omitempty"` + Type *string `json:"type,omitempty"` +} + // ServicePrincipal is active Directory service principal information. type ServicePrincipal struct { autorest.Response `json:"-"` @@ -229,8 +273,7 @@ type ServicePrincipal struct { ServicePrincipalNames *[]string `json:"servicePrincipalNames,omitempty"` } -// ServicePrincipalCreateParameters is request parameters for creating a new -// service principal. +// ServicePrincipalCreateParameters is request parameters for creating a new service principal. type ServicePrincipalCreateParameters struct { AppID *string `json:"appId,omitempty"` AccountEnabled *bool `json:"accountEnabled,omitempty"` @@ -238,39 +281,63 @@ type ServicePrincipalCreateParameters struct { PasswordCredentials *[]PasswordCredential `json:"passwordCredentials,omitempty"` } -// ServicePrincipalListResult is server response for get tenant service -// principals API call. +// ServicePrincipalListResult is server response for get tenant service principals API call. type ServicePrincipalListResult struct { autorest.Response `json:"-"` Value *[]ServicePrincipal `json:"value,omitempty"` OdataNextLink *string `json:"odata.nextLink,omitempty"` } +// SignInName is contains information about a sign-in name of a local account user in an Azure Active Directory B2C +// tenant. +type SignInName struct { + Type *string `json:"type,omitempty"` + Value *string `json:"value,omitempty"` +} + // User is active Directory user information. type User struct { autorest.Response `json:"-"` - ObjectID *string `json:"objectId,omitempty"` - ObjectType *string `json:"objectType,omitempty"` - UserPrincipalName *string `json:"userPrincipalName,omitempty"` - DisplayName *string `json:"displayName,omitempty"` - SignInName *string `json:"signInName,omitempty"` - Mail *string `json:"mail,omitempty"` - MailNickname *string `json:"mailNickname,omitempty"` + ImmutableID *string `json:"immutableId,omitempty"` + UsageLocation *string `json:"usageLocation,omitempty"` + GivenName *string `json:"givenName,omitempty"` + Surname *string `json:"surname,omitempty"` + UserType UserType `json:"userType,omitempty"` + AccountEnabled *bool `json:"accountEnabled,omitempty"` + DisplayName *string `json:"displayName,omitempty"` + UserPrincipalName *string `json:"userPrincipalName,omitempty"` + MailNickname *string `json:"mailNickname,omitempty"` + Mail *string `json:"mail,omitempty"` + ObjectID *string `json:"objectId,omitempty"` + ObjectType *string `json:"objectType,omitempty"` + SignInNames *[]SignInName `json:"signInNames,omitempty"` } -// UserCreateParameters is request parameters for creating a new work or school -// account user. +// UserBase is +type UserBase struct { + ImmutableID *string `json:"immutableId,omitempty"` + UsageLocation *string `json:"usageLocation,omitempty"` + GivenName *string `json:"givenName,omitempty"` + Surname *string `json:"surname,omitempty"` + UserType UserType `json:"userType,omitempty"` +} + +// UserCreateParameters is request parameters for creating a new work or school account user. type UserCreateParameters struct { + ImmutableID *string `json:"immutableId,omitempty"` + UsageLocation *string `json:"usageLocation,omitempty"` + GivenName *string `json:"givenName,omitempty"` + Surname *string `json:"surname,omitempty"` + UserType UserType `json:"userType,omitempty"` AccountEnabled *bool `json:"accountEnabled,omitempty"` DisplayName *string `json:"displayName,omitempty"` PasswordProfile *PasswordProfile `json:"passwordProfile,omitempty"` UserPrincipalName *string `json:"userPrincipalName,omitempty"` MailNickname *string `json:"mailNickname,omitempty"` - ImmutableID *string `json:"immutableId,omitempty"` + Mail *string `json:"mail,omitempty"` } -// UserGetMemberGroupsParameters is request parameters for GetMemberGroups API -// call. +// UserGetMemberGroupsParameters is request parameters for GetMemberGroups API call. type UserGetMemberGroupsParameters struct { SecurityEnabledOnly *bool `json:"securityEnabledOnly,omitempty"` } @@ -288,11 +355,16 @@ type UserListResult struct { OdataNextLink *string `json:"odata.nextLink,omitempty"` } -// UserUpdateParameters is request parameters for updating an existing work or -// school account user. +// UserUpdateParameters is request parameters for updating an existing work or school account user. type UserUpdateParameters struct { - AccountEnabled *bool `json:"accountEnabled,omitempty"` - DisplayName *string `json:"displayName,omitempty"` - PasswordProfile *PasswordProfile `json:"passwordProfile,omitempty"` - MailNickname *string `json:"mailNickname,omitempty"` + ImmutableID *string `json:"immutableId,omitempty"` + UsageLocation *string `json:"usageLocation,omitempty"` + GivenName *string `json:"givenName,omitempty"` + Surname *string `json:"surname,omitempty"` + UserType UserType `json:"userType,omitempty"` + AccountEnabled *bool `json:"accountEnabled,omitempty"` + DisplayName *string `json:"displayName,omitempty"` + PasswordProfile *PasswordProfile `json:"passwordProfile,omitempty"` + UserPrincipalName *string `json:"userPrincipalName,omitempty"` + MailNickname *string `json:"mailNickname,omitempty"` } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/objects.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/objects.go index b0a7e94da..4d6c6f1d8 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/objects.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/objects.go @@ -14,9 +14,8 @@ package graphrbac // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// ObjectsClient is the composite Swagger specification for Azure Active -// Directory Graph RBAC management client. +// ObjectsClient is the the Graph RBAC Management Client type ObjectsClient struct { ManagementClient } @@ -102,8 +100,7 @@ func (client ObjectsClient) GetCurrentUserResponder(resp *http.Response) (result return } -// GetObjectsByObjectIds gets AD group membership for the specified AD object -// IDs. +// GetObjectsByObjectIds gets AD group membership for the specified AD object IDs. // // parameters is objects filtering parameters. func (client ObjectsClient) GetObjectsByObjectIds(parameters GetObjectsParameters) (result GetObjectsResult, err error) { @@ -174,8 +171,52 @@ func (client ObjectsClient) GetObjectsByObjectIdsResponder(resp *http.Response) return } -// GetObjectsByObjectIdsNext gets AD group membership for the specified AD -// object IDs. +// GetObjectsByObjectIdsComplete gets all elements from the list without paging. +func (client ObjectsClient) GetObjectsByObjectIdsComplete(parameters GetObjectsParameters, cancel <-chan struct{}) (<-chan AADObject, <-chan error) { + resultChan := make(chan AADObject) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetObjectsByObjectIds(parameters) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.OdataNextLink != nil { + list, err = client.GetObjectsByObjectIdsNext(*list.OdataNextLink) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// GetObjectsByObjectIdsNext gets AD group membership for the specified AD object IDs. // // nextLink is next link for the list operation. func (client ObjectsClient) GetObjectsByObjectIdsNext(nextLink string) (result GetObjectsResult, err error) { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/serviceprincipals.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/serviceprincipals.go index 57a173968..215f8f96c 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/serviceprincipals.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/serviceprincipals.go @@ -14,9 +14,8 @@ package graphrbac // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,20 +24,17 @@ import ( "net/http" ) -// ServicePrincipalsClient is the composite Swagger specification for Azure -// Active Directory Graph RBAC management client. +// ServicePrincipalsClient is the the Graph RBAC Management Client type ServicePrincipalsClient struct { ManagementClient } -// NewServicePrincipalsClient creates an instance of the -// ServicePrincipalsClient client. +// NewServicePrincipalsClient creates an instance of the ServicePrincipalsClient client. func NewServicePrincipalsClient(tenantID string) ServicePrincipalsClient { return NewServicePrincipalsClientWithBaseURI(DefaultBaseURI, tenantID) } -// NewServicePrincipalsClientWithBaseURI creates an instance of the -// ServicePrincipalsClient client. +// NewServicePrincipalsClientWithBaseURI creates an instance of the ServicePrincipalsClient client. func NewServicePrincipalsClientWithBaseURI(baseURI string, tenantID string) ServicePrincipalsClient { return ServicePrincipalsClient{NewWithBaseURI(baseURI, tenantID)} } @@ -308,11 +304,54 @@ func (client ServicePrincipalsClient) ListResponder(resp *http.Response) (result return } -// ListKeyCredentials get the keyCredentials associated with the specified -// service principal. +// ListComplete gets all elements from the list without paging. +func (client ServicePrincipalsClient) ListComplete(filter string, cancel <-chan struct{}) (<-chan ServicePrincipal, <-chan error) { + resultChan := make(chan ServicePrincipal) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.OdataNextLink != nil { + list, err = client.ListNext(*list.OdataNextLink) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListKeyCredentials get the keyCredentials associated with the specified service principal. // -// objectID is the object ID of the service principal for which to get -// keyCredentials. +// objectID is the object ID of the service principal for which to get keyCredentials. func (client ServicePrincipalsClient) ListKeyCredentials(objectID string) (result KeyCredentialListResult, err error) { req, err := client.ListKeyCredentialsPreparer(objectID) if err != nil { @@ -438,8 +477,7 @@ func (client ServicePrincipalsClient) ListNextResponder(resp *http.Response) (re return } -// ListPasswordCredentials gets the passwordCredentials associated with a -// service principal. +// ListPasswordCredentials gets the passwordCredentials associated with a service principal. // // objectID is the object ID of the service principal. func (client ServicePrincipalsClient) ListPasswordCredentials(objectID string) (result PasswordCredentialListResult, err error) { @@ -503,12 +541,10 @@ func (client ServicePrincipalsClient) ListPasswordCredentialsResponder(resp *htt return } -// UpdateKeyCredentials update the keyCredentials associated with a service -// principal. +// UpdateKeyCredentials update the keyCredentials associated with a service principal. // -// objectID is the object ID for which to get service principal information. -// parameters is parameters to update the keyCredentials of an existing service -// principal. +// objectID is the object ID for which to get service principal information. parameters is parameters to update the +// keyCredentials of an existing service principal. func (client ServicePrincipalsClient) UpdateKeyCredentials(objectID string, parameters KeyCredentialsUpdateParameters) (result autorest.Response, err error) { req, err := client.UpdateKeyCredentialsPreparer(objectID, parameters) if err != nil { @@ -571,11 +607,10 @@ func (client ServicePrincipalsClient) UpdateKeyCredentialsResponder(resp *http.R return } -// UpdatePasswordCredentials updates the passwordCredentials associated with a -// service principal. +// UpdatePasswordCredentials updates the passwordCredentials associated with a service principal. // -// objectID is the object ID of the service principal. parameters is parameters -// to update the passwordCredentials of an existing service principal. +// objectID is the object ID of the service principal. parameters is parameters to update the passwordCredentials of an +// existing service principal. func (client ServicePrincipalsClient) UpdatePasswordCredentials(objectID string, parameters PasswordCredentialsUpdateParameters) (result autorest.Response, err error) { req, err := client.UpdatePasswordCredentialsPreparer(objectID, parameters) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/users.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/users.go index 5722cb92a..242dc7354 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/users.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/users.go @@ -14,9 +14,8 @@ package graphrbac // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// UsersClient is the composite Swagger specification for Azure Active -// Directory Graph RBAC management client. +// UsersClient is the the Graph RBAC Management Client type UsersClient struct { ManagementClient } @@ -182,8 +180,7 @@ func (client UsersClient) DeleteResponder(resp *http.Response) (result autorest. // Get gets user information from the directory. // -// upnOrObjectID is the object ID or principal name of the user for which to -// get information. +// upnOrObjectID is the object ID or principal name of the user for which to get information. func (client UsersClient) Get(upnOrObjectID string) (result User, err error) { req, err := client.GetPreparer(upnOrObjectID) if err != nil { @@ -245,11 +242,9 @@ func (client UsersClient) GetResponder(resp *http.Response) (result User, err er return } -// GetMemberGroups gets a collection that contains the object IDs of the groups -// of which the user is a member. +// GetMemberGroups gets a collection that contains the object IDs of the groups of which the user is a member. // -// objectID is the object ID of the user for which to get group membership. -// parameters is user filtering parameters. +// objectID is the object ID of the user for which to get group membership. parameters is user filtering parameters. func (client UsersClient) GetMemberGroups(objectID string, parameters UserGetMemberGroupsParameters) (result UserGetMemberGroupsResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -385,6 +380,51 @@ func (client UsersClient) ListResponder(resp *http.Response) (result UserListRes return } +// ListComplete gets all elements from the list without paging. +func (client UsersClient) ListComplete(filter string, cancel <-chan struct{}) (<-chan User, <-chan error) { + resultChan := make(chan User) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.OdataNextLink != nil { + list, err = client.ListNext(*list.OdataNextLink) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListNext gets a list of users for the current tenant. // // nextLink is next link for the list operation. @@ -451,8 +491,8 @@ func (client UsersClient) ListNextResponder(resp *http.Response) (result UserLis // Update updates a user. // -// upnOrObjectID is the object ID or principal name of the user to update. -// parameters is parameters to update an existing user. +// upnOrObjectID is the object ID or principal name of the user to update. parameters is parameters to update an +// existing user. func (client UsersClient) Update(upnOrObjectID string, parameters UserUpdateParameters) (result autorest.Response, err error) { req, err := client.UpdatePreparer(upnOrObjectID, parameters) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/version.go index 3133880f2..84c93105b 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/graphrbac/version.go @@ -14,16 +14,15 @@ package graphrbac // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-graphrbac/" + return "Azure-SDK-For-Go/v11.0.0-beta arm-graphrbac/1.6" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/applications.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/applications.go index c3a5cddc5..d5407807e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/applications.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/applications.go @@ -14,9 +14,8 @@ package hdinsight // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,7 +23,7 @@ import ( "net/http" ) -// ApplicationsClient is the the HDInsight Management Client. +// ApplicationsClient is the hDInsight Management Client type ApplicationsClient struct { ManagementClient } @@ -34,17 +33,15 @@ func NewApplicationsClient(subscriptionID string) ApplicationsClient { return NewApplicationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewApplicationsClientWithBaseURI creates an instance of the -// ApplicationsClient client. +// NewApplicationsClientWithBaseURI creates an instance of the ApplicationsClient client. func NewApplicationsClientWithBaseURI(baseURI string, subscriptionID string) ApplicationsClient { return ApplicationsClient{NewWithBaseURI(baseURI, subscriptionID)} } // Create the operation creates applications for the HDInsight cluster. // -// resourceGroupName is the name of the resource group. clusterName is the name -// of the cluster. applicationName is the constant value for the -// applicationName parameters is the application create request. +// resourceGroupName is the name of the resource group. clusterName is the name of the cluster. applicationName is the +// constant value for the applicationName parameters is the application create request. func (client ApplicationsClient) Create(resourceGroupName string, clusterName string, applicationName string, parameters ApplicationGetProperties) (result Application, err error) { req, err := client.CreatePreparer(resourceGroupName, clusterName, applicationName, parameters) if err != nil { @@ -110,14 +107,12 @@ func (client ApplicationsClient) CreateResponder(resp *http.Response) (result Ap return } -// Delete lists all of the applications HDInsight cluster. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// Delete lists all of the applications HDInsight cluster. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group. clusterName is the name -// of the cluster. applicationName is the constant value for the -// applicationName. +// resourceGroupName is the name of the resource group. clusterName is the name of the cluster. applicationName is the +// constant value for the applicationName. func (client ApplicationsClient) Delete(resourceGroupName string, clusterName string, applicationName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -125,8 +120,10 @@ func (client ApplicationsClient) Delete(resourceGroupName string, clusterName st var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -195,10 +192,9 @@ func (client ApplicationsClient) DeleteResponder(resp *http.Response) (result au // Get lists properties of the application. // -// resourceGroupName is the name of the resource group. clusterName is the name -// of the cluster. applicationName is the constant value for the -// applicationName -func (client ApplicationsClient) Get(resourceGroupName string, clusterName string, applicationName string) (result Application, err error) { +// resourceGroupName is the name of the resource group. clusterName is the name of the cluster. applicationName is the +// constant value for the applicationName +func (client ApplicationsClient) Get(resourceGroupName string, clusterName string, applicationName ApplicationName) (result Application, err error) { req, err := client.GetPreparer(resourceGroupName, clusterName, applicationName) if err != nil { err = autorest.NewErrorWithError(err, "hdinsight.ApplicationsClient", "Get", nil, "Failure preparing request") @@ -221,7 +217,7 @@ func (client ApplicationsClient) Get(resourceGroupName string, clusterName strin } // GetPreparer prepares the Get request. -func (client ApplicationsClient) GetPreparer(resourceGroupName string, clusterName string, applicationName string) (*http.Request, error) { +func (client ApplicationsClient) GetPreparer(resourceGroupName string, clusterName string, applicationName ApplicationName) (*http.Request, error) { pathParameters := map[string]interface{}{ "applicationName": autorest.Encode("path", applicationName), "clusterName": autorest.Encode("path", clusterName), @@ -263,8 +259,7 @@ func (client ApplicationsClient) GetResponder(resp *http.Response) (result Appli // List lists all of the applications HDInsight cluster. // -// resourceGroupName is the name of the resource group. clusterName is the name -// of the cluster. +// resourceGroupName is the name of the resource group. clusterName is the name of the cluster. func (client ApplicationsClient) List(resourceGroupName string, clusterName string) (result ApplicationListResult, err error) { req, err := client.ListPreparer(resourceGroupName, clusterName) if err != nil { @@ -350,3 +345,48 @@ func (client ApplicationsClient) ListNextResults(lastResults ApplicationListResu return } + +// ListComplete gets all elements from the list without paging. +func (client ApplicationsClient) ListComplete(resourceGroupName string, clusterName string, cancel <-chan struct{}) (<-chan Application, <-chan error) { + resultChan := make(chan Application) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, clusterName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/client.go index f057af2d5..2edfb3bbd 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/client.go @@ -1,6 +1,6 @@ -// Package hdinsight implements the Azure ARM Hdinsight service API version . +// Package hdinsight implements the Azure ARM Hdinsight service API version 2015-03-01-preview. // -// The HDInsight Management Client. +// HDInsight Management Client package hdinsight // Copyright (c) Microsoft and contributors. All rights reserved. @@ -17,9 +17,8 @@ package hdinsight // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/clusters.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/clusters.go index 69ec386f6..d56e7be01 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/clusters.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/clusters.go @@ -14,9 +14,8 @@ package hdinsight // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// ClustersClient is the the HDInsight Management Client. +// ClustersClient is the hDInsight Management Client type ClustersClient struct { ManagementClient } @@ -35,19 +34,17 @@ func NewClustersClient(subscriptionID string) ClustersClient { return NewClustersClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewClustersClientWithBaseURI creates an instance of the ClustersClient -// client. +// NewClustersClientWithBaseURI creates an instance of the ClustersClient client. func NewClustersClientWithBaseURI(baseURI string, subscriptionID string) ClustersClient { return ClustersClient{NewWithBaseURI(baseURI, subscriptionID)} } -// ChangeRdpSettings begins changing the RDP settings on the specified cluster. -// This method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// ChangeRdpSettings begins changing the RDP settings on the specified cluster. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. clusterName is the name -// of the cluster. parameters is the OS profile for RDP. +// resourceGroupName is the name of the resource group. clusterName is the name of the cluster. parameters is the OS +// profile for RDP. func (client ClustersClient) ChangeRdpSettings(resourceGroupName string, clusterName string, parameters RDPSettingsParameters, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -66,8 +63,10 @@ func (client ClustersClient) ChangeRdpSettings(resourceGroupName string, cluster var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -135,13 +134,12 @@ func (client ClustersClient) ChangeRdpSettingsResponder(resp *http.Response) (re return } -// Create begins creating a new HDInsight cluster with the specified -// parameters. This method may poll for completion. Polling can be canceled by -// passing the cancel channel argument. The channel will be used to cancel -// polling and any outstanding HTTP requests. +// Create begins creating a new HDInsight cluster with the specified parameters. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. clusterName is the name -// of the cluster. parameters is the cluster create request. +// resourceGroupName is the name of the resource group. clusterName is the name of the cluster. parameters is the +// cluster create request. func (client ClustersClient) Create(resourceGroupName string, clusterName string, parameters ClusterCreateParametersExtended, cancel <-chan struct{}) (<-chan Cluster, <-chan error) { resultChan := make(chan Cluster, 1) errChan := make(chan error, 1) @@ -149,8 +147,10 @@ func (client ClustersClient) Create(resourceGroupName string, clusterName string var err error var result Cluster defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -219,13 +219,11 @@ func (client ClustersClient) CreateResponder(resp *http.Response) (result Cluste return } -// Delete begins deleting the specified HDInsight cluster. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// Delete begins deleting the specified HDInsight cluster. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group. clusterName is the name -// of the cluster. +// resourceGroupName is the name of the resource group. clusterName is the name of the cluster. func (client ClustersClient) Delete(resourceGroupName string, clusterName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -233,8 +231,10 @@ func (client ClustersClient) Delete(resourceGroupName string, clusterName string var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -300,13 +300,12 @@ func (client ClustersClient) DeleteResponder(resp *http.Response) (result autore return } -// ExecuteScriptActions begins executing script actions on the specified -// HDInsight cluster. This method may poll for completion. Polling can be -// canceled by passing the cancel channel argument. The channel will be used to -// cancel polling and any outstanding HTTP requests. +// ExecuteScriptActions begins executing script actions on the specified HDInsight cluster. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. clusterName is the name -// of the cluster. parameters is the parameters for executing script actions. +// resourceGroupName is the name of the resource group. clusterName is the name of the cluster. parameters is the +// parameters for executing script actions. func (client ClustersClient) ExecuteScriptActions(resourceGroupName string, clusterName string, parameters ExecuteScriptActionParameters, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -323,8 +322,10 @@ func (client ClustersClient) ExecuteScriptActions(resourceGroupName string, clus var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -394,8 +395,7 @@ func (client ClustersClient) ExecuteScriptActionsResponder(resp *http.Response) // Get gets the specified cluster. // -// resourceGroupName is the name of the resource group. clusterName is the name -// of the cluster. +// resourceGroupName is the name of the resource group. clusterName is the name of the cluster. func (client ClustersClient) Get(resourceGroupName string, clusterName string) (result Cluster, err error) { req, err := client.GetPreparer(resourceGroupName, clusterName) if err != nil { @@ -543,6 +543,51 @@ func (client ClustersClient) ListNextResults(lastResults ClusterListResult) (res return } +// ListComplete gets all elements from the list without paging. +func (client ClustersClient) ListComplete(cancel <-chan struct{}) (<-chan Cluster, <-chan error) { + resultChan := make(chan Cluster) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListByResourceGroup list the HDInsight clusters in a resource group. // // resourceGroupName is the name of the resource group. @@ -631,14 +676,57 @@ func (client ClustersClient) ListByResourceGroupNextResults(lastResults ClusterL return } -// Resize begins a resize operation on the specified HDInsight cluster. This -// method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client ClustersClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan Cluster, <-chan error) { + resultChan := make(chan Cluster) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// Resize begins a resize operation on the specified HDInsight cluster. This method may poll for completion. Polling +// can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. clusterName is the name -// of the cluster. roleName is the constant value for the roleName parameters -// is the parameters for the resize operation. +// resourceGroupName is the name of the resource group. clusterName is the name of the cluster. roleName is the +// constant value for the roleName parameters is the parameters for the resize operation. func (client ClustersClient) Resize(resourceGroupName string, clusterName string, roleName string, parameters ClusterResizeParameters, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -646,8 +734,10 @@ func (client ClustersClient) Resize(resourceGroupName string, clusterName string var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -718,8 +808,8 @@ func (client ClustersClient) ResizeResponder(resp *http.Response) (result autore // Update patch HDInsight cluster with the specified parameters. // -// resourceGroupName is the name of the resource group. clusterName is the name -// of the cluster. parameters is the cluster patch request. +// resourceGroupName is the name of the resource group. clusterName is the name of the cluster. parameters is the +// cluster patch request. func (client ClustersClient) Update(resourceGroupName string, clusterName string, parameters ClusterPatchParameters) (result Cluster, err error) { req, err := client.UpdatePreparer(resourceGroupName, clusterName, parameters) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/configurations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/configurations.go index a1d3ee221..2f34c1695 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/configurations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/configurations.go @@ -14,9 +14,8 @@ package hdinsight // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,28 +23,25 @@ import ( "net/http" ) -// ConfigurationsClient is the the HDInsight Management Client. +// ConfigurationsClient is the hDInsight Management Client type ConfigurationsClient struct { ManagementClient } -// NewConfigurationsClient creates an instance of the ConfigurationsClient -// client. +// NewConfigurationsClient creates an instance of the ConfigurationsClient client. func NewConfigurationsClient(subscriptionID string) ConfigurationsClient { return NewConfigurationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewConfigurationsClientWithBaseURI creates an instance of the -// ConfigurationsClient client. +// NewConfigurationsClientWithBaseURI creates an instance of the ConfigurationsClient client. func NewConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) ConfigurationsClient { return ConfigurationsClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get the configuration object for the specified cluster. // -// resourceGroupName is the name of the resource group. clusterName is the name -// of the cluster. configurationName is the constant for configuration type of -// gateway. +// resourceGroupName is the name of the resource group. clusterName is the name of the cluster. configurationName is +// the constant for configuration type of gateway. func (client ConfigurationsClient) Get(resourceGroupName string, clusterName string, configurationName Configurationname) (result HTTPConnectivitySettings, err error) { req, err := client.GetPreparer(resourceGroupName, clusterName, configurationName) if err != nil { @@ -109,14 +105,12 @@ func (client ConfigurationsClient) GetResponder(resp *http.Response) (result HTT return } -// UpdateHTTPSettings begins configuring the HTTP settings on the specified -// cluster. This method may poll for completion. Polling can be canceled by -// passing the cancel channel argument. The channel will be used to cancel +// UpdateHTTPSettings begins configuring the HTTP settings on the specified cluster. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel // polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. clusterName is the name -// of the cluster. configurationName is the constant for configuration type of -// gateway. parameters is the name of the resource group. +// resourceGroupName is the name of the resource group. clusterName is the name of the cluster. configurationName is +// the constant for configuration type of gateway. parameters is the name of the resource group. func (client ConfigurationsClient) UpdateHTTPSettings(resourceGroupName string, clusterName string, configurationName string, parameters HTTPConnectivitySettings, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -124,8 +118,10 @@ func (client ConfigurationsClient) UpdateHTTPSettings(resourceGroupName string, var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/extension.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/extension.go index 348ef8368..843284652 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/extension.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/extension.go @@ -14,9 +14,8 @@ package hdinsight // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,7 +23,7 @@ import ( "net/http" ) -// ExtensionClient is the the HDInsight Management Client. +// ExtensionClient is the hDInsight Management Client type ExtensionClient struct { ManagementClient } @@ -34,17 +33,15 @@ func NewExtensionClient(subscriptionID string) ExtensionClient { return NewExtensionClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewExtensionClientWithBaseURI creates an instance of the ExtensionClient -// client. +// NewExtensionClientWithBaseURI creates an instance of the ExtensionClient client. func NewExtensionClientWithBaseURI(baseURI string, subscriptionID string) ExtensionClient { return ExtensionClient{NewWithBaseURI(baseURI, subscriptionID)} } // Create create HDInsight cluster extension. // -// resourceGroupName is the name of the resource group. clusterName is the name -// of the cluster. parameters is the cluster extensions create request. -// extensionName is the name of the cluster extension. +// resourceGroupName is the name of the resource group. clusterName is the name of the cluster. parameters is the +// cluster extensions create request. extensionName is the name of the cluster extension. func (client ExtensionClient) Create(resourceGroupName string, clusterName string, parameters Extension, extensionName string) (result autorest.Response, err error) { req, err := client.CreatePreparer(resourceGroupName, clusterName, parameters, extensionName) if err != nil { @@ -111,8 +108,8 @@ func (client ExtensionClient) CreateResponder(resp *http.Response) (result autor // Delete delete extension for HDInsight cluster. // -// resourceGroupName is the name of the resource group. clusterName is the name -// of the cluster. extensionName is the name of the cluster extension. +// resourceGroupName is the name of the resource group. clusterName is the name of the cluster. extensionName is the +// name of the cluster extension. func (client ExtensionClient) Delete(resourceGroupName string, clusterName string, extensionName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, clusterName, extensionName) if err != nil { @@ -177,8 +174,8 @@ func (client ExtensionClient) DeleteResponder(resp *http.Response) (result autor // Get get extension properties for HDInsight cluster extension. // -// resourceGroupName is the name of the resource group. clusterName is the name -// of the cluster. extensionName is the name of the cluster extension. +// resourceGroupName is the name of the resource group. clusterName is the name of the cluster. extensionName is the +// name of the cluster extension. func (client ExtensionClient) Get(resourceGroupName string, clusterName string, extensionName string) (result Extension, err error) { req, err := client.GetPreparer(resourceGroupName, clusterName, extensionName) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/location.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/location.go index 8a94df775..a70564aca 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/location.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/location.go @@ -14,9 +14,8 @@ package hdinsight // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,7 +23,7 @@ import ( "net/http" ) -// LocationClient is the the HDInsight Management Client. +// LocationClient is the hDInsight Management Client type LocationClient struct { ManagementClient } @@ -34,8 +33,7 @@ func NewLocationClient(subscriptionID string) LocationClient { return NewLocationClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewLocationClientWithBaseURI creates an instance of the LocationClient -// client. +// NewLocationClientWithBaseURI creates an instance of the LocationClient client. func NewLocationClientWithBaseURI(baseURI string, subscriptionID string) LocationClient { return LocationClient{NewWithBaseURI(baseURI, subscriptionID)} } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/models.go index f151cb7d5..0b42cd264 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/models.go @@ -14,9 +14,8 @@ package hdinsight // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,6 +24,9 @@ import ( "net/http" ) +// ApplicationName enumerates the values for application name. +type ApplicationName string + // AsyncOperationState enumerates the values for async operation state. type AsyncOperationState string @@ -37,25 +39,23 @@ const ( Succeeded AsyncOperationState = "Succeeded" ) -// ClusterProvisioningState enumerates the values for cluster provisioning -// state. +// ClusterProvisioningState enumerates the values for cluster provisioning state. type ClusterProvisioningState string const ( - // ClusterProvisioningStateCanceled specifies the cluster provisioning - // state canceled state for cluster provisioning state. + // ClusterProvisioningStateCanceled specifies the cluster provisioning state canceled state for cluster provisioning + // state. ClusterProvisioningStateCanceled ClusterProvisioningState = "Canceled" - // ClusterProvisioningStateDeleting specifies the cluster provisioning - // state deleting state for cluster provisioning state. + // ClusterProvisioningStateDeleting specifies the cluster provisioning state deleting state for cluster provisioning + // state. ClusterProvisioningStateDeleting ClusterProvisioningState = "Deleting" - // ClusterProvisioningStateFailed specifies the cluster provisioning state - // failed state for cluster provisioning state. + // ClusterProvisioningStateFailed specifies the cluster provisioning state failed state for cluster provisioning state. ClusterProvisioningStateFailed ClusterProvisioningState = "Failed" - // ClusterProvisioningStateInProgress specifies the cluster provisioning - // state in progress state for cluster provisioning state. + // ClusterProvisioningStateInProgress specifies the cluster provisioning state in progress state for cluster + // provisioning state. ClusterProvisioningStateInProgress ClusterProvisioningState = "InProgress" - // ClusterProvisioningStateSucceeded specifies the cluster provisioning - // state succeeded state for cluster provisioning state. + // ClusterProvisioningStateSucceeded specifies the cluster provisioning state succeeded state for cluster provisioning + // state. ClusterProvisioningStateSucceeded ClusterProvisioningState = "Succeeded" ) @@ -140,9 +140,8 @@ type ApplicationGetProperties struct { AdditionalProperties *string `json:"additionalProperties,omitempty"` } -// ApplicationListResult is result of the request to list cluster Applications. -// It contains a list of operations and a URL link to get the next set of -// results. +// ApplicationListResult is result of the request to list cluster Applications. It contains a list of operations and a +// URL link to get the next set of results. type ApplicationListResult struct { autorest.Response `json:"-"` Value *[]Application `json:"value,omitempty"` @@ -226,8 +225,7 @@ type ClusterGetProperties struct { ConnectivityEndpoints *[]ConnectivityEndpoint `json:"connectivityEndpoints,omitempty"` } -// ClusterListPersistedScriptActionsResult is list PersistedScriptActions -// operations response. +// ClusterListPersistedScriptActionsResult is list PersistedScriptActions operations response. type ClusterListPersistedScriptActionsResult struct { Value *[]RuntimeScriptAction `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` @@ -252,8 +250,7 @@ func (client ClusterListResult) ClusterListResultPreparer() (*http.Request, erro autorest.WithBaseURL(to.String(client.NextLink))) } -// ClusterListRuntimeScriptActionDetailResult is the ListScriptExecutionHistory -// response. +// ClusterListRuntimeScriptActionDetailResult is the ListScriptExecutionHistory response. type ClusterListRuntimeScriptActionDetailResult struct { Value *[]RuntimeScriptActionDetail `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` @@ -288,8 +285,7 @@ type Errors struct { Message *string `json:"message,omitempty"` } -// ExecuteScriptActionParameters is describes the script actions on a running -// cluster. +// ExecuteScriptActionParameters is describes the script actions on a running cluster. type ExecuteScriptActionParameters struct { ScriptActions *[]RuntimeScriptAction `json:"scriptActions,omitempty"` PersistOnSuccess *string `json:"persistOnSuccess,omitempty"` @@ -307,8 +303,7 @@ type HardwareProfile struct { VMSize *string `json:"vmSize,omitempty"` } -// HTTPConnectivitySettings is the payload for a Configure HTTP settings -// request. +// HTTPConnectivitySettings is the payload for a Configure HTTP settings request. type HTTPConnectivitySettings struct { autorest.Response `json:"-"` EnabledCredential *string `json:"restAuthCredential.isEnabled,omitempty"` @@ -318,13 +313,12 @@ type HTTPConnectivitySettings struct { // HTTPSettingsParameters is the payload for a Configure HTTP settings request. type HTTPSettingsParameters struct { - RestAuthCredentialisEnabled *string `json:"restAuthCredential.isEnabled,omitempty"` - RestAuthCredentialusername *string `json:"restAuthCredential.username,omitempty"` - RestAuthCredentialpassword *string `json:"restAuthCredential.password,omitempty"` + RestAuthCredentialIsEnabled *string `json:"restAuthCredential.isEnabled,omitempty"` + RestAuthCredentialUsername *string `json:"restAuthCredential.username,omitempty"` + RestAuthCredentialPassword *string `json:"restAuthCredential.password,omitempty"` } -// LinuxOperatingSystemProfile is the ssh username, password, and ssh public -// key. +// LinuxOperatingSystemProfile is the ssh username, password, and ssh public key. type LinuxOperatingSystemProfile struct { Username *string `json:"username,omitempty"` Password *string `json:"password,omitempty"` @@ -344,9 +338,8 @@ type OperationDisplay struct { Operation *string `json:"operation,omitempty"` } -// OperationListResult is result of the request to list HDInsight operations. -// It contains a list of operations and a URL link to get the next set of -// results. +// OperationListResult is result of the request to list HDInsight operations. It contains a list of operations and a +// URL link to get the next set of results. type OperationListResult struct { autorest.Response `json:"-"` Value *[]Operation `json:"value,omitempty"` @@ -371,8 +364,7 @@ type OperationResource struct { Error *Errors `json:"error,omitempty"` } -// OsProfile is the Windows operation systems profile, and configure remote -// desktop settings. +// OsProfile is the Windows operation systems profile, and configure remote desktop settings. type OsProfile struct { WindowsOperatingSystemProfile *WindowsOperatingSystemProfile `json:"windowsOperatingSystemProfile,omitempty"` LinuxOperatingSystemProfile *LinuxOperatingSystemProfile `json:"linuxOperatingSystemProfile,omitempty"` @@ -395,8 +387,7 @@ type RdpSettings struct { ExpiryDate *date.Date `json:"expiryDate,omitempty"` } -// RDPSettingsParameters is parameters specifying the data factory gateway -// definition for a create or update operation. +// RDPSettingsParameters is parameters specifying the data factory gateway definition for a create or update operation. type RDPSettingsParameters struct { OsProfile *OsProfile `json:"osProfile,omitempty"` } @@ -442,8 +433,7 @@ type RuntimeScriptAction struct { ApplicationName *string `json:"applicationName,omitempty"` } -// RuntimeScriptActionDetail is describes the execution details of a script -// action. +// RuntimeScriptActionDetail is describes the execution details of a script action. type RuntimeScriptActionDetail struct { autorest.Response `json:"-"` ScriptExecutionID *int64 `json:"scriptExecutionId,omitempty"` @@ -486,15 +476,13 @@ func (client ScriptActionExecutionHistoryList) ScriptActionExecutionHistoryListP autorest.WithBaseURL(to.String(client.NextLink))) } -// ScriptActionExecutionSummary is describes the execution summary of a script -// action. +// ScriptActionExecutionSummary is describes the execution summary of a script action. type ScriptActionExecutionSummary struct { Status *string `json:"status,omitempty"` InstanceCount *int32 `json:"instanceCount,omitempty"` } -// ScriptActionPersistedGetResponseSpec is the persisted script action for -// cluster +// ScriptActionPersistedGetResponseSpec is the persisted script action for cluster type ScriptActionPersistedGetResponseSpec struct { Name *string `json:"name,omitempty"` URI *string `json:"uri,omitempty"` @@ -522,8 +510,7 @@ func (client ScriptActionsList) ScriptActionsListPreparer() (*http.Request, erro autorest.WithBaseURL(to.String(client.NextLink))) } -// SecurityProfile is the security profile which contains Ssh public key for -// the HDInsight cluster. +// SecurityProfile is the security profile which contains Ssh public key for the HDInsight cluster. type SecurityProfile struct { DirectoryType DirectoryType `json:"directoryType,omitempty"` Domain *string `json:"domain,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/operations.go index ee3e33792..3b2805163 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/operations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/operations.go @@ -14,9 +14,8 @@ package hdinsight // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,7 +23,7 @@ import ( "net/http" ) -// OperationsClient is the the HDInsight Management Client. +// OperationsClient is the hDInsight Management Client type OperationsClient struct { ManagementClient } @@ -34,8 +33,7 @@ func NewOperationsClient(subscriptionID string) OperationsClient { return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewOperationsClientWithBaseURI creates an instance of the OperationsClient -// client. +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} } @@ -120,3 +118,48 @@ func (client OperationsClient) ListNextResults(lastResults OperationListResult) return } + +// ListComplete gets all elements from the list without paging. +func (client OperationsClient) ListComplete(cancel <-chan struct{}) (<-chan Operation, <-chan error) { + resultChan := make(chan Operation) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/scriptactions.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/scriptactions.go index 9b5917edf..d0b79a297 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/scriptactions.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/scriptactions.go @@ -14,9 +14,8 @@ package hdinsight // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,27 +23,25 @@ import ( "net/http" ) -// ScriptActionsClient is the the HDInsight Management Client. +// ScriptActionsClient is the hDInsight Management Client type ScriptActionsClient struct { ManagementClient } -// NewScriptActionsClient creates an instance of the ScriptActionsClient -// client. +// NewScriptActionsClient creates an instance of the ScriptActionsClient client. func NewScriptActionsClient(subscriptionID string) ScriptActionsClient { return NewScriptActionsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewScriptActionsClientWithBaseURI creates an instance of the -// ScriptActionsClient client. +// NewScriptActionsClientWithBaseURI creates an instance of the ScriptActionsClient client. func NewScriptActionsClientWithBaseURI(baseURI string, subscriptionID string) ScriptActionsClient { return ScriptActionsClient{NewWithBaseURI(baseURI, subscriptionID)} } // Delete deletes a given persisted script action of the cluster. // -// resourceGroupName is the name of the resource group. clusterName is the name -// of the cluster. scriptName is the name of the script. +// resourceGroupName is the name of the resource group. clusterName is the name of the cluster. scriptName is the name +// of the script. func (client ScriptActionsClient) Delete(resourceGroupName string, clusterName string, scriptName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, clusterName, scriptName) if err != nil { @@ -109,8 +106,7 @@ func (client ScriptActionsClient) DeleteResponder(resp *http.Response) (result a // List lists all persisted script actions for the given cluster. // -// resourceGroupName is the name of the resource group. clusterName is the name -// of the cluster. +// resourceGroupName is the name of the resource group. clusterName is the name of the cluster. func (client ScriptActionsClient) List(resourceGroupName string, clusterName string) (result ScriptActionsList, err error) { req, err := client.ListPreparer(resourceGroupName, clusterName) if err != nil { @@ -196,3 +192,48 @@ func (client ScriptActionsClient) ListNextResults(lastResults ScriptActionsList) return } + +// ListComplete gets all elements from the list without paging. +func (client ScriptActionsClient) ListComplete(resourceGroupName string, clusterName string, cancel <-chan struct{}) (<-chan RuntimeScriptActionDetail, <-chan error) { + resultChan := make(chan RuntimeScriptActionDetail) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, clusterName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/scriptexecutionhistory.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/scriptexecutionhistory.go index dd06c170c..2db571913 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/scriptexecutionhistory.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/scriptexecutionhistory.go @@ -14,9 +14,8 @@ package hdinsight // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,27 +23,25 @@ import ( "net/http" ) -// ScriptExecutionHistoryClient is the the HDInsight Management Client. +// ScriptExecutionHistoryClient is the hDInsight Management Client type ScriptExecutionHistoryClient struct { ManagementClient } -// NewScriptExecutionHistoryClient creates an instance of the -// ScriptExecutionHistoryClient client. +// NewScriptExecutionHistoryClient creates an instance of the ScriptExecutionHistoryClient client. func NewScriptExecutionHistoryClient(subscriptionID string) ScriptExecutionHistoryClient { return NewScriptExecutionHistoryClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewScriptExecutionHistoryClientWithBaseURI creates an instance of the -// ScriptExecutionHistoryClient client. +// NewScriptExecutionHistoryClientWithBaseURI creates an instance of the ScriptExecutionHistoryClient client. func NewScriptExecutionHistoryClientWithBaseURI(baseURI string, subscriptionID string) ScriptExecutionHistoryClient { return ScriptExecutionHistoryClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get gets the script execution detail for the given script execution id. // -// resourceGroupName is the name of the resource group. clusterName is the name -// of the cluster. scriptExecutionID is the script execution Id +// resourceGroupName is the name of the resource group. clusterName is the name of the cluster. scriptExecutionID is +// the script execution Id func (client ScriptExecutionHistoryClient) Get(resourceGroupName string, clusterName string, scriptExecutionID string) (result RuntimeScriptActionDetail, err error) { req, err := client.GetPreparer(resourceGroupName, clusterName, scriptExecutionID) if err != nil { @@ -110,8 +107,7 @@ func (client ScriptExecutionHistoryClient) GetResponder(resp *http.Response) (re // List lists all scripts execution history for the given cluster. // -// resourceGroupName is the name of the resource group. clusterName is the name -// of the cluster. +// resourceGroupName is the name of the resource group. clusterName is the name of the cluster. func (client ScriptExecutionHistoryClient) List(resourceGroupName string, clusterName string) (result ScriptActionExecutionHistoryList, err error) { req, err := client.ListPreparer(resourceGroupName, clusterName) if err != nil { @@ -198,10 +194,55 @@ func (client ScriptExecutionHistoryClient) ListNextResults(lastResults ScriptAct return } +// ListComplete gets all elements from the list without paging. +func (client ScriptExecutionHistoryClient) ListComplete(resourceGroupName string, clusterName string, cancel <-chan struct{}) (<-chan RuntimeScriptActionDetail, <-chan error) { + resultChan := make(chan RuntimeScriptActionDetail) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, clusterName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Promote promote ad-hoc script execution to a persisted script. // -// resourceGroupName is the name of the resource group. clusterName is the name -// of the cluster. scriptExecutionID is the script execution Id +// resourceGroupName is the name of the resource group. clusterName is the name of the cluster. scriptExecutionID is +// the script execution Id func (client ScriptExecutionHistoryClient) Promote(resourceGroupName string, clusterName string, scriptExecutionID int64) (result autorest.Response, err error) { req, err := client.PromotePreparer(resourceGroupName, clusterName, scriptExecutionID) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/version.go index 57271c4c2..c77786bc1 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/hdinsight/version.go @@ -14,16 +14,15 @@ package hdinsight // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-hdinsight/" + return "Azure-SDK-For-Go/v11.0.0-beta arm-hdinsight/2015-03-01-preview" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/insights/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/insights/version.go index 2978f2dd0..db406e42c 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/insights/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/insights/version.go @@ -14,16 +14,15 @@ package insights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-insights/" + return "Azure-SDK-For-Go/v10.2.0-beta arm-insights/" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v10.2.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/intune/android.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/intune/android.go index c9813666a..b803b2bab 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/intune/android.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/intune/android.go @@ -14,9 +14,8 @@ package intune // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// AndroidClient is the microsoft.Intune Resource provider Api features in the -// swagger-2.0 specification +// AndroidClient is the microsoft.Intune Resource provider Api features in the swagger-2.0 specification type AndroidClient struct { ManagementClient } @@ -43,9 +41,8 @@ func NewAndroidClientWithBaseURI(baseURI string) AndroidClient { // AddAppForMAMPolicy add app to an AndroidMAMPolicy. // -// hostName is location hostName for the tenant policyName is unique name for -// the policy appName is application unique Name parameters is parameters -// supplied to the Create or update app to an android policy operation. +// hostName is location hostName for the tenant policyName is unique name for the policy appName is application unique +// Name parameters is parameters supplied to the Create or update app to an android policy operation. func (client AndroidClient) AddAppForMAMPolicy(hostName string, policyName string, appName string, parameters MAMPolicyAppIDOrGroupIDPayload) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -118,9 +115,8 @@ func (client AndroidClient) AddAppForMAMPolicyResponder(resp *http.Response) (re // AddGroupForMAMPolicy add group to an AndroidMAMPolicy. // -// hostName is location hostName for the tenant policyName is unique name for -// the policy groupID is group Id parameters is parameters supplied to the -// Create or update app to an android policy operation. +// hostName is location hostName for the tenant policyName is unique name for the policy groupID is group Id parameters +// is parameters supplied to the Create or update app to an android policy operation. func (client AndroidClient) AddGroupForMAMPolicy(hostName string, policyName string, groupID string, parameters MAMPolicyAppIDOrGroupIDPayload) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -193,9 +189,8 @@ func (client AndroidClient) AddGroupForMAMPolicyResponder(resp *http.Response) ( // CreateOrUpdateMAMPolicy creates or updates AndroidMAMPolicy. // -// hostName is location hostName for the tenant policyName is unique name for -// the policy parameters is parameters supplied to the Create or update an -// android policy operation. +// hostName is location hostName for the tenant policyName is unique name for the policy parameters is parameters +// supplied to the Create or update an android policy operation. func (client AndroidClient) CreateOrUpdateMAMPolicy(hostName string, policyName string, parameters AndroidMAMPolicy) (result AndroidMAMPolicy, err error) { req, err := client.CreateOrUpdateMAMPolicyPreparer(hostName, policyName, parameters) if err != nil { @@ -261,8 +256,8 @@ func (client AndroidClient) CreateOrUpdateMAMPolicyResponder(resp *http.Response // DeleteAppForMAMPolicy delete App for Android Policy // -// hostName is location hostName for the tenant policyName is unique name for -// the policy appName is application unique Name +// hostName is location hostName for the tenant policyName is unique name for the policy appName is application unique +// Name func (client AndroidClient) DeleteAppForMAMPolicy(hostName string, policyName string, appName string) (result autorest.Response, err error) { req, err := client.DeleteAppForMAMPolicyPreparer(hostName, policyName, appName) if err != nil { @@ -326,8 +321,8 @@ func (client AndroidClient) DeleteAppForMAMPolicyResponder(resp *http.Response) // DeleteGroupForMAMPolicy delete Group for Android Policy // -// hostName is location hostName for the tenant policyName is unique name for -// the policy groupID is application unique Name +// hostName is location hostName for the tenant policyName is unique name for the policy groupID is application unique +// Name func (client AndroidClient) DeleteGroupForMAMPolicy(hostName string, policyName string, groupID string) (result autorest.Response, err error) { req, err := client.DeleteGroupForMAMPolicyPreparer(hostName, policyName, groupID) if err != nil { @@ -391,8 +386,7 @@ func (client AndroidClient) DeleteGroupForMAMPolicyResponder(resp *http.Response // DeleteMAMPolicy delete Android Policy // -// hostName is location hostName for the tenant policyName is unique name for -// the policy +// hostName is location hostName for the tenant policyName is unique name for the policy func (client AndroidClient) DeleteMAMPolicy(hostName string, policyName string) (result autorest.Response, err error) { req, err := client.DeleteMAMPolicyPreparer(hostName, policyName) if err != nil { @@ -455,9 +449,8 @@ func (client AndroidClient) DeleteMAMPolicyResponder(resp *http.Response) (resul // GetAppForMAMPolicy get apps for an AndroidMAMPolicy. // -// hostName is location hostName for the tenant policyName is unique name for -// the policy filter is the filter to apply on the operation. selectParameter -// is select specific fields in entity. +// hostName is location hostName for the tenant policyName is unique name for the policy filter is the filter to apply +// on the operation. selectParameter is select specific fields in entity. func (client AndroidClient) GetAppForMAMPolicy(hostName string, policyName string, filter string, top *int32, selectParameter string) (result ApplicationCollection, err error) { req, err := client.GetAppForMAMPolicyPreparer(hostName, policyName, filter, top, selectParameter) if err != nil { @@ -552,10 +545,54 @@ func (client AndroidClient) GetAppForMAMPolicyNextResults(lastResults Applicatio return } +// GetAppForMAMPolicyComplete gets all elements from the list without paging. +func (client AndroidClient) GetAppForMAMPolicyComplete(hostName string, policyName string, filter string, top *int32, selectParameter string, cancel <-chan struct{}) (<-chan Application, <-chan error) { + resultChan := make(chan Application) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetAppForMAMPolicy(hostName, policyName, filter, top, selectParameter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.Nextlink != nil { + list, err = client.GetAppForMAMPolicyNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // GetGroupsForMAMPolicy returns groups for a given AndroidMAMPolicy. // -// hostName is location hostName for the tenant policyName is policy name for -// the tenant +// hostName is location hostName for the tenant policyName is policy name for the tenant func (client AndroidClient) GetGroupsForMAMPolicy(hostName string, policyName string) (result GroupsCollection, err error) { req, err := client.GetGroupsForMAMPolicyPreparer(hostName, policyName) if err != nil { @@ -641,10 +678,55 @@ func (client AndroidClient) GetGroupsForMAMPolicyNextResults(lastResults GroupsC return } +// GetGroupsForMAMPolicyComplete gets all elements from the list without paging. +func (client AndroidClient) GetGroupsForMAMPolicyComplete(hostName string, policyName string, cancel <-chan struct{}) (<-chan GroupItem, <-chan error) { + resultChan := make(chan GroupItem) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetGroupsForMAMPolicy(hostName, policyName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.Nextlink != nil { + list, err = client.GetGroupsForMAMPolicyNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // GetMAMPolicies returns Intune Android policies. // -// hostName is location hostName for the tenant filter is the filter to apply -// on the operation. selectParameter is select specific fields in entity. +// hostName is location hostName for the tenant filter is the filter to apply on the operation. selectParameter is +// select specific fields in entity. func (client AndroidClient) GetMAMPolicies(hostName string, filter string, top *int32, selectParameter string) (result AndroidMAMPolicyCollection, err error) { req, err := client.GetMAMPoliciesPreparer(hostName, filter, top, selectParameter) if err != nil { @@ -738,10 +820,55 @@ func (client AndroidClient) GetMAMPoliciesNextResults(lastResults AndroidMAMPoli return } +// GetMAMPoliciesComplete gets all elements from the list without paging. +func (client AndroidClient) GetMAMPoliciesComplete(hostName string, filter string, top *int32, selectParameter string, cancel <-chan struct{}) (<-chan AndroidMAMPolicy, <-chan error) { + resultChan := make(chan AndroidMAMPolicy) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetMAMPolicies(hostName, filter, top, selectParameter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.Nextlink != nil { + list, err = client.GetMAMPoliciesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // GetMAMPolicyByName returns AndroidMAMPolicy with given name. // -// hostName is location hostName for the tenant policyName is unique name for -// the policy selectParameter is select specific fields in entity. +// hostName is location hostName for the tenant policyName is unique name for the policy selectParameter is select +// specific fields in entity. func (client AndroidClient) GetMAMPolicyByName(hostName string, policyName string, selectParameter string) (result AndroidMAMPolicy, err error) { req, err := client.GetMAMPolicyByNamePreparer(hostName, policyName, selectParameter) if err != nil { @@ -808,9 +935,8 @@ func (client AndroidClient) GetMAMPolicyByNameResponder(resp *http.Response) (re // PatchMAMPolicy patch AndroidMAMPolicy. // -// hostName is location hostName for the tenant policyName is unique name for -// the policy parameters is parameters supplied to the Create or update an -// android policy operation. +// hostName is location hostName for the tenant policyName is unique name for the policy parameters is parameters +// supplied to the Create or update an android policy operation. func (client AndroidClient) PatchMAMPolicy(hostName string, policyName string, parameters AndroidMAMPolicy) (result AndroidMAMPolicy, err error) { req, err := client.PatchMAMPolicyPreparer(hostName, policyName, parameters) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/intune/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/intune/client.go index c5b0a0837..ac192e2ad 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/intune/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/intune/client.go @@ -1,8 +1,6 @@ -// Package intune implements the Azure ARM Intune service API version -// 2015-01-14-preview. +// Package intune implements the Azure ARM Intune service API version 2015-01-14-preview. // -// Microsoft.Intune Resource provider Api features in the swagger-2.0 -// specification +// Microsoft.Intune Resource provider Api features in the swagger-2.0 specification package intune // Copyright (c) Microsoft and contributors. All rights reserved. @@ -19,9 +17,8 @@ package intune // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -55,8 +52,8 @@ func NewWithBaseURI(baseURI string) ManagementClient { // GetApps returns Intune Manageable apps. // -// hostName is location hostName for the tenant filter is the filter to apply -// on the operation. selectParameter is select specific fields in entity. +// hostName is location hostName for the tenant filter is the filter to apply on the operation. selectParameter is +// select specific fields in entity. func (client ManagementClient) GetApps(hostName string, filter string, top *int32, selectParameter string) (result ApplicationCollection, err error) { req, err := client.GetAppsPreparer(hostName, filter, top, selectParameter) if err != nil { @@ -150,6 +147,51 @@ func (client ManagementClient) GetAppsNextResults(lastResults ApplicationCollect return } +// GetAppsComplete gets all elements from the list without paging. +func (client ManagementClient) GetAppsComplete(hostName string, filter string, top *int32, selectParameter string, cancel <-chan struct{}) (<-chan Application, <-chan error) { + resultChan := make(chan Application) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetApps(hostName, filter, top, selectParameter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.Nextlink != nil { + list, err = client.GetAppsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // GetLocationByHostName returns location for given tenant. func (client ManagementClient) GetLocationByHostName() (result Location, err error) { req, err := client.GetLocationByHostNamePreparer() @@ -288,10 +330,55 @@ func (client ManagementClient) GetLocationsNextResults(lastResults LocationColle return } +// GetLocationsComplete gets all elements from the list without paging. +func (client ManagementClient) GetLocationsComplete(cancel <-chan struct{}) (<-chan Location, <-chan error) { + resultChan := make(chan Location) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetLocations() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.Nextlink != nil { + list, err = client.GetLocationsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // GetMAMFlaggedUserByName returns Intune flagged user details // -// hostName is location hostName for the tenant userName is flagged userName -// selectParameter is select specific fields in entity. +// hostName is location hostName for the tenant userName is flagged userName selectParameter is select specific fields +// in entity. func (client ManagementClient) GetMAMFlaggedUserByName(hostName string, userName string, selectParameter string) (result FlaggedUser, err error) { req, err := client.GetMAMFlaggedUserByNamePreparer(hostName, userName, selectParameter) if err != nil { @@ -358,8 +445,8 @@ func (client ManagementClient) GetMAMFlaggedUserByNameResponder(resp *http.Respo // GetMAMFlaggedUsers returns Intune flagged user collection // -// hostName is location hostName for the tenant filter is the filter to apply -// on the operation. selectParameter is select specific fields in entity. +// hostName is location hostName for the tenant filter is the filter to apply on the operation. selectParameter is +// select specific fields in entity. func (client ManagementClient) GetMAMFlaggedUsers(hostName string, filter string, top *int32, selectParameter string) (result FlaggedUserCollection, err error) { req, err := client.GetMAMFlaggedUsersPreparer(hostName, filter, top, selectParameter) if err != nil { @@ -453,6 +540,51 @@ func (client ManagementClient) GetMAMFlaggedUsersNextResults(lastResults Flagged return } +// GetMAMFlaggedUsersComplete gets all elements from the list without paging. +func (client ManagementClient) GetMAMFlaggedUsersComplete(hostName string, filter string, top *int32, selectParameter string, cancel <-chan struct{}) (<-chan FlaggedUser, <-chan error) { + resultChan := make(chan FlaggedUser) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetMAMFlaggedUsers(hostName, filter, top, selectParameter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.Nextlink != nil { + list, err = client.GetMAMFlaggedUsersNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // GetMAMStatuses returns Intune Tenant level statuses. // // hostName is location hostName for the tenant @@ -542,9 +674,8 @@ func (client ManagementClient) GetMAMStatusesNextResults(lastResults StatusesDef // GetMAMUserDeviceByDeviceName get a unique device for a user. // -// hostName is location hostName for the tenant userName is unique user name -// deviceName is device name selectParameter is select specific fields in -// entity. +// hostName is location hostName for the tenant userName is unique user name deviceName is device name selectParameter +// is select specific fields in entity. func (client ManagementClient) GetMAMUserDeviceByDeviceName(hostName string, userName string, deviceName string, selectParameter string) (result Device, err error) { req, err := client.GetMAMUserDeviceByDeviceNamePreparer(hostName, userName, deviceName, selectParameter) if err != nil { @@ -612,9 +743,8 @@ func (client ManagementClient) GetMAMUserDeviceByDeviceNameResponder(resp *http. // GetMAMUserDevices get devices for a user. // -// hostName is location hostName for the tenant userName is user unique Name -// filter is the filter to apply on the operation. selectParameter is select -// specific fields in entity. +// hostName is location hostName for the tenant userName is user unique Name filter is the filter to apply on the +// operation. selectParameter is select specific fields in entity. func (client ManagementClient) GetMAMUserDevices(hostName string, userName string, filter string, top *int32, selectParameter string) (result DeviceCollection, err error) { req, err := client.GetMAMUserDevicesPreparer(hostName, userName, filter, top, selectParameter) if err != nil { @@ -709,12 +839,55 @@ func (client ManagementClient) GetMAMUserDevicesNextResults(lastResults DeviceCo return } -// GetMAMUserFlaggedEnrolledApps returns Intune flagged enrolled app collection -// for the User +// GetMAMUserDevicesComplete gets all elements from the list without paging. +func (client ManagementClient) GetMAMUserDevicesComplete(hostName string, userName string, filter string, top *int32, selectParameter string, cancel <-chan struct{}) (<-chan Device, <-chan error) { + resultChan := make(chan Device) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetMAMUserDevices(hostName, userName, filter, top, selectParameter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.Nextlink != nil { + list, err = client.GetMAMUserDevicesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// GetMAMUserFlaggedEnrolledApps returns Intune flagged enrolled app collection for the User // -// hostName is location hostName for the tenant userName is user name for the -// tenant filter is the filter to apply on the operation. selectParameter is -// select specific fields in entity. +// hostName is location hostName for the tenant userName is user name for the tenant filter is the filter to apply on +// the operation. selectParameter is select specific fields in entity. func (client ManagementClient) GetMAMUserFlaggedEnrolledApps(hostName string, userName string, filter string, top *int32, selectParameter string) (result FlaggedEnrolledAppCollection, err error) { req, err := client.GetMAMUserFlaggedEnrolledAppsPreparer(hostName, userName, filter, top, selectParameter) if err != nil { @@ -809,10 +982,55 @@ func (client ManagementClient) GetMAMUserFlaggedEnrolledAppsNextResults(lastResu return } +// GetMAMUserFlaggedEnrolledAppsComplete gets all elements from the list without paging. +func (client ManagementClient) GetMAMUserFlaggedEnrolledAppsComplete(hostName string, userName string, filter string, top *int32, selectParameter string, cancel <-chan struct{}) (<-chan FlaggedEnrolledApp, <-chan error) { + resultChan := make(chan FlaggedEnrolledApp) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetMAMUserFlaggedEnrolledApps(hostName, userName, filter, top, selectParameter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.Nextlink != nil { + list, err = client.GetMAMUserFlaggedEnrolledAppsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // GetOperationResults returns operationResults. // -// hostName is location hostName for the tenant filter is the filter to apply -// on the operation. selectParameter is select specific fields in entity. +// hostName is location hostName for the tenant filter is the filter to apply on the operation. selectParameter is +// select specific fields in entity. func (client ManagementClient) GetOperationResults(hostName string, filter string, top *int32, selectParameter string) (result OperationResultCollection, err error) { req, err := client.GetOperationResultsPreparer(hostName, filter, top, selectParameter) if err != nil { @@ -906,10 +1124,54 @@ func (client ManagementClient) GetOperationResultsNextResults(lastResults Operat return } +// GetOperationResultsComplete gets all elements from the list without paging. +func (client ManagementClient) GetOperationResultsComplete(hostName string, filter string, top *int32, selectParameter string, cancel <-chan struct{}) (<-chan OperationResult, <-chan error) { + resultChan := make(chan OperationResult) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetOperationResults(hostName, filter, top, selectParameter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.Nextlink != nil { + list, err = client.GetOperationResultsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // WipeMAMUserDevice wipe a device for a user. // -// hostName is location hostName for the tenant userName is unique user name -// deviceName is device name +// hostName is location hostName for the tenant userName is unique user name deviceName is device name func (client ManagementClient) WipeMAMUserDevice(hostName string, userName string, deviceName string) (result WipeDeviceOperationResult, err error) { req, err := client.WipeMAMUserDevicePreparer(hostName, userName, deviceName) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/intune/ios.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/intune/ios.go index bcd4edd66..0ef1eeced 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/intune/ios.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/intune/ios.go @@ -14,9 +14,8 @@ package intune // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// IosClient is the microsoft.Intune Resource provider Api features in the -// swagger-2.0 specification +// IosClient is the microsoft.Intune Resource provider Api features in the swagger-2.0 specification type IosClient struct { ManagementClient } @@ -43,9 +41,8 @@ func NewIosClientWithBaseURI(baseURI string) IosClient { // AddAppForMAMPolicy add app to an iOSMAMPolicy. // -// hostName is location hostName for the tenant policyName is unique name for -// the policy appName is application unique Name parameters is parameters -// supplied to add an app to an ios policy. +// hostName is location hostName for the tenant policyName is unique name for the policy appName is application unique +// Name parameters is parameters supplied to add an app to an ios policy. func (client IosClient) AddAppForMAMPolicy(hostName string, policyName string, appName string, parameters MAMPolicyAppIDOrGroupIDPayload) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -118,9 +115,8 @@ func (client IosClient) AddAppForMAMPolicyResponder(resp *http.Response) (result // AddGroupForMAMPolicy add group to an iOSMAMPolicy. // -// hostName is location hostName for the tenant policyName is unique name for -// the policy groupID is group Id parameters is parameters supplied to the -// Create or update app to an android policy operation. +// hostName is location hostName for the tenant policyName is unique name for the policy groupID is group Id parameters +// is parameters supplied to the Create or update app to an android policy operation. func (client IosClient) AddGroupForMAMPolicy(hostName string, policyName string, groupID string, parameters MAMPolicyAppIDOrGroupIDPayload) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -193,9 +189,8 @@ func (client IosClient) AddGroupForMAMPolicyResponder(resp *http.Response) (resu // CreateOrUpdateMAMPolicy creates or updates iOSMAMPolicy. // -// hostName is location hostName for the tenant policyName is unique name for -// the policy parameters is parameters supplied to the Create or update an -// android policy operation. +// hostName is location hostName for the tenant policyName is unique name for the policy parameters is parameters +// supplied to the Create or update an android policy operation. func (client IosClient) CreateOrUpdateMAMPolicy(hostName string, policyName string, parameters IOSMAMPolicy) (result IOSMAMPolicy, err error) { req, err := client.CreateOrUpdateMAMPolicyPreparer(hostName, policyName, parameters) if err != nil { @@ -261,8 +256,8 @@ func (client IosClient) CreateOrUpdateMAMPolicyResponder(resp *http.Response) (r // DeleteAppForMAMPolicy delete App for Ios Policy // -// hostName is location hostName for the tenant policyName is unique name for -// the policy appName is application unique Name +// hostName is location hostName for the tenant policyName is unique name for the policy appName is application unique +// Name func (client IosClient) DeleteAppForMAMPolicy(hostName string, policyName string, appName string) (result autorest.Response, err error) { req, err := client.DeleteAppForMAMPolicyPreparer(hostName, policyName, appName) if err != nil { @@ -326,8 +321,8 @@ func (client IosClient) DeleteAppForMAMPolicyResponder(resp *http.Response) (res // DeleteGroupForMAMPolicy delete Group for iOS Policy // -// hostName is location hostName for the tenant policyName is unique name for -// the policy groupID is application unique Name +// hostName is location hostName for the tenant policyName is unique name for the policy groupID is application unique +// Name func (client IosClient) DeleteGroupForMAMPolicy(hostName string, policyName string, groupID string) (result autorest.Response, err error) { req, err := client.DeleteGroupForMAMPolicyPreparer(hostName, policyName, groupID) if err != nil { @@ -391,8 +386,7 @@ func (client IosClient) DeleteGroupForMAMPolicyResponder(resp *http.Response) (r // DeleteMAMPolicy delete Ios Policy // -// hostName is location hostName for the tenant policyName is unique name for -// the policy +// hostName is location hostName for the tenant policyName is unique name for the policy func (client IosClient) DeleteMAMPolicy(hostName string, policyName string) (result autorest.Response, err error) { req, err := client.DeleteMAMPolicyPreparer(hostName, policyName) if err != nil { @@ -455,9 +449,8 @@ func (client IosClient) DeleteMAMPolicyResponder(resp *http.Response) (result au // GetAppForMAMPolicy get apps for an iOSMAMPolicy. // -// hostName is location hostName for the tenant policyName is unique name for -// the policy filter is the filter to apply on the operation. selectParameter -// is select specific fields in entity. +// hostName is location hostName for the tenant policyName is unique name for the policy filter is the filter to apply +// on the operation. selectParameter is select specific fields in entity. func (client IosClient) GetAppForMAMPolicy(hostName string, policyName string, filter string, top *int32, selectParameter string) (result ApplicationCollection, err error) { req, err := client.GetAppForMAMPolicyPreparer(hostName, policyName, filter, top, selectParameter) if err != nil { @@ -552,10 +545,54 @@ func (client IosClient) GetAppForMAMPolicyNextResults(lastResults ApplicationCol return } +// GetAppForMAMPolicyComplete gets all elements from the list without paging. +func (client IosClient) GetAppForMAMPolicyComplete(hostName string, policyName string, filter string, top *int32, selectParameter string, cancel <-chan struct{}) (<-chan Application, <-chan error) { + resultChan := make(chan Application) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetAppForMAMPolicy(hostName, policyName, filter, top, selectParameter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.Nextlink != nil { + list, err = client.GetAppForMAMPolicyNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // GetGroupsForMAMPolicy returns groups for a given iOSMAMPolicy. // -// hostName is location hostName for the tenant policyName is policy name for -// the tenant +// hostName is location hostName for the tenant policyName is policy name for the tenant func (client IosClient) GetGroupsForMAMPolicy(hostName string, policyName string) (result GroupsCollection, err error) { req, err := client.GetGroupsForMAMPolicyPreparer(hostName, policyName) if err != nil { @@ -641,10 +678,55 @@ func (client IosClient) GetGroupsForMAMPolicyNextResults(lastResults GroupsColle return } +// GetGroupsForMAMPolicyComplete gets all elements from the list without paging. +func (client IosClient) GetGroupsForMAMPolicyComplete(hostName string, policyName string, cancel <-chan struct{}) (<-chan GroupItem, <-chan error) { + resultChan := make(chan GroupItem) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetGroupsForMAMPolicy(hostName, policyName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.Nextlink != nil { + list, err = client.GetGroupsForMAMPolicyNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // GetMAMPolicies returns Intune iOSPolicies. // -// hostName is location hostName for the tenant filter is the filter to apply -// on the operation. selectParameter is select specific fields in entity. +// hostName is location hostName for the tenant filter is the filter to apply on the operation. selectParameter is +// select specific fields in entity. func (client IosClient) GetMAMPolicies(hostName string, filter string, top *int32, selectParameter string) (result IOSMAMPolicyCollection, err error) { req, err := client.GetMAMPoliciesPreparer(hostName, filter, top, selectParameter) if err != nil { @@ -738,10 +820,55 @@ func (client IosClient) GetMAMPoliciesNextResults(lastResults IOSMAMPolicyCollec return } +// GetMAMPoliciesComplete gets all elements from the list without paging. +func (client IosClient) GetMAMPoliciesComplete(hostName string, filter string, top *int32, selectParameter string, cancel <-chan struct{}) (<-chan IOSMAMPolicy, <-chan error) { + resultChan := make(chan IOSMAMPolicy) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetMAMPolicies(hostName, filter, top, selectParameter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.Nextlink != nil { + list, err = client.GetMAMPoliciesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // GetMAMPolicyByName returns Intune iOS policies. // -// hostName is location hostName for the tenant policyName is unique name for -// the policy selectParameter is select specific fields in entity. +// hostName is location hostName for the tenant policyName is unique name for the policy selectParameter is select +// specific fields in entity. func (client IosClient) GetMAMPolicyByName(hostName string, policyName string, selectParameter string) (result IOSMAMPolicy, err error) { req, err := client.GetMAMPolicyByNamePreparer(hostName, policyName, selectParameter) if err != nil { @@ -808,9 +935,8 @@ func (client IosClient) GetMAMPolicyByNameResponder(resp *http.Response) (result // PatchMAMPolicy patch an iOSMAMPolicy. // -// hostName is location hostName for the tenant policyName is unique name for -// the policy parameters is parameters supplied to the Create or update an -// android policy operation. +// hostName is location hostName for the tenant policyName is unique name for the policy parameters is parameters +// supplied to the Create or update an android policy operation. func (client IosClient) PatchMAMPolicy(hostName string, policyName string, parameters IOSMAMPolicy) (result IOSMAMPolicy, err error) { req, err := client.PatchMAMPolicyPreparer(hostName, policyName, parameters) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/intune/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/intune/models.go index b43970f62..a4f98c32d 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/intune/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/intune/models.go @@ -14,9 +14,8 @@ package intune // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -33,8 +32,7 @@ const ( AllApps AppSharingFromLevel = "allApps" // None specifies the none state for app sharing from level. None AppSharingFromLevel = "none" - // PolicyManagedApps specifies the policy managed apps state for app - // sharing from level. + // PolicyManagedApps specifies the policy managed apps state for app sharing from level. PolicyManagedApps AppSharingFromLevel = "policyManagedApps" ) @@ -42,14 +40,12 @@ const ( type AppSharingToLevel string const ( - // AppSharingToLevelAllApps specifies the app sharing to level all apps - // state for app sharing to level. + // AppSharingToLevelAllApps specifies the app sharing to level all apps state for app sharing to level. AppSharingToLevelAllApps AppSharingToLevel = "allApps" - // AppSharingToLevelNone specifies the app sharing to level none state for - // app sharing to level. + // AppSharingToLevelNone specifies the app sharing to level none state for app sharing to level. AppSharingToLevelNone AppSharingToLevel = "none" - // AppSharingToLevelPolicyManagedApps specifies the app sharing to level - // policy managed apps state for app sharing to level. + // AppSharingToLevelPolicyManagedApps specifies the app sharing to level policy managed apps state for app sharing to + // level. AppSharingToLevelPolicyManagedApps AppSharingToLevel = "policyManagedApps" ) @@ -67,18 +63,15 @@ const ( type ClipboardSharingLevel string const ( - // ClipboardSharingLevelAllApps specifies the clipboard sharing level all - // apps state for clipboard sharing level. + // ClipboardSharingLevelAllApps specifies the clipboard sharing level all apps state for clipboard sharing level. ClipboardSharingLevelAllApps ClipboardSharingLevel = "allApps" - // ClipboardSharingLevelBlocked specifies the clipboard sharing level - // blocked state for clipboard sharing level. + // ClipboardSharingLevelBlocked specifies the clipboard sharing level blocked state for clipboard sharing level. ClipboardSharingLevelBlocked ClipboardSharingLevel = "blocked" - // ClipboardSharingLevelPolicyManagedApps specifies the clipboard sharing - // level policy managed apps state for clipboard sharing level. + // ClipboardSharingLevelPolicyManagedApps specifies the clipboard sharing level policy managed apps state for clipboard + // sharing level. ClipboardSharingLevelPolicyManagedApps ClipboardSharingLevel = "policyManagedApps" - // ClipboardSharingLevelPolicyManagedAppsWithPasteIn specifies the - // clipboard sharing level policy managed apps with paste in state for - // clipboard sharing level. + // ClipboardSharingLevelPolicyManagedAppsWithPasteIn specifies the clipboard sharing level policy managed apps with + // paste in state for clipboard sharing level. ClipboardSharingLevelPolicyManagedAppsWithPasteIn ClipboardSharingLevel = "policyManagedAppsWithPasteIn" ) @@ -106,11 +99,9 @@ const ( type FileEncryption string const ( - // FileEncryptionNotRequired specifies the file encryption not required - // state for file encryption. + // FileEncryptionNotRequired specifies the file encryption not required state for file encryption. FileEncryptionNotRequired FileEncryption = "notRequired" - // FileEncryptionRequired specifies the file encryption required state for - // file encryption. + // FileEncryptionRequired specifies the file encryption required state for file encryption. FileEncryptionRequired FileEncryption = "required" ) @@ -118,17 +109,13 @@ const ( type FileEncryptionLevel string const ( - // AfterDeviceRestart specifies the after device restart state for file - // encryption level. + // AfterDeviceRestart specifies the after device restart state for file encryption level. AfterDeviceRestart FileEncryptionLevel = "afterDeviceRestart" - // DeviceLocked specifies the device locked state for file encryption - // level. + // DeviceLocked specifies the device locked state for file encryption level. DeviceLocked FileEncryptionLevel = "deviceLocked" - // DeviceLockedExceptFilesOpen specifies the device locked except files - // open state for file encryption level. + // DeviceLockedExceptFilesOpen specifies the device locked except files open state for file encryption level. DeviceLockedExceptFilesOpen FileEncryptionLevel = "deviceLockedExceptFilesOpen" - // UseDeviceSettings specifies the use device settings state for file - // encryption level. + // UseDeviceSettings specifies the use device settings state for file encryption level. UseDeviceSettings FileEncryptionLevel = "useDeviceSettings" ) @@ -136,11 +123,9 @@ const ( type FileSharingSaveAs string const ( - // FileSharingSaveAsAllow specifies the file sharing save as allow state - // for file sharing save as. + // FileSharingSaveAsAllow specifies the file sharing save as allow state for file sharing save as. FileSharingSaveAsAllow FileSharingSaveAs = "allow" - // FileSharingSaveAsBlock specifies the file sharing save as block state - // for file sharing save as. + // FileSharingSaveAsBlock specifies the file sharing save as block state for file sharing save as. FileSharingSaveAsBlock FileSharingSaveAs = "block" ) @@ -158,11 +143,9 @@ const ( type ManagedBrowser string const ( - // ManagedBrowserNotRequired specifies the managed browser not required - // state for managed browser. + // ManagedBrowserNotRequired specifies the managed browser not required state for managed browser. ManagedBrowserNotRequired ManagedBrowser = "notRequired" - // ManagedBrowserRequired specifies the managed browser required state for - // managed browser. + // ManagedBrowserRequired specifies the managed browser required state for managed browser. ManagedBrowserRequired ManagedBrowser = "required" ) @@ -192,11 +175,9 @@ const ( type ScreenCapture string const ( - // ScreenCaptureAllow specifies the screen capture allow state for screen - // capture. + // ScreenCaptureAllow specifies the screen capture allow state for screen capture. ScreenCaptureAllow ScreenCapture = "allow" - // ScreenCaptureBlock specifies the screen capture block state for screen - // capture. + // ScreenCaptureBlock specifies the screen capture block state for screen capture. ScreenCaptureBlock ScreenCapture = "block" ) @@ -355,8 +336,7 @@ type FlaggedEnrolledApp struct { *FlaggedEnrolledAppProperties `json:"properties,omitempty"` } -// FlaggedEnrolledAppCollection is flagged Enrolled App collection for the -// given tenant. +// FlaggedEnrolledAppCollection is flagged Enrolled App collection for the given tenant. type FlaggedEnrolledAppCollection struct { autorest.Response `json:"-"` Value *[]FlaggedEnrolledApp `json:"value,omitempty"` @@ -549,14 +529,12 @@ type LocationProperties struct { HostName *string `json:"hostName,omitempty"` } -// MAMPolicyAppIDOrGroupIDPayload is mAM Policy request body for properties -// Intune MAM. +// MAMPolicyAppIDOrGroupIDPayload is MAM Policy request body for properties Intune MAM. type MAMPolicyAppIDOrGroupIDPayload struct { Properties *MAMPolicyAppOrGroupIDProperties `json:"properties,omitempty"` } -// MAMPolicyAppOrGroupIDProperties is android Policy request body for Intune -// MAM. +// MAMPolicyAppOrGroupIDProperties is android Policy request body for Intune MAM. type MAMPolicyAppOrGroupIDProperties struct { URL *string `json:"url,omitempty"` } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/intune/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/intune/version.go index 35e164727..38e0192ba 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/intune/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/intune/version.go @@ -14,16 +14,15 @@ package intune // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-intune/2015-01-14-preview" + return "Azure-SDK-For-Go/v11.0.0-beta arm-intune/2015-01-14-preview" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/iothub/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/iothub/client.go index b54c132ee..f2461d01d 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/iothub/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/iothub/client.go @@ -1,7 +1,6 @@ -// Package iothub implements the Azure ARM Iothub service API version -// 2016-02-03. +// Package iothub implements the Azure ARM Iothub service API version 2017-07-01. // -// Use this API to manage the IoT hubs in your subscription. +// Use this API to manage the IoT hubs in your Azure subscription. package iothub // Copyright (c) Microsoft and contributors. All rights reserved. @@ -18,9 +17,8 @@ package iothub // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/iothub/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/iothub/models.go index 6fa4abb25..0fcfdf7fe 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/iothub/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/iothub/models.go @@ -14,9 +14,8 @@ package iothub // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -33,43 +32,36 @@ const ( DeviceConnect AccessRights = "DeviceConnect" // RegistryRead specifies the registry read state for access rights. RegistryRead AccessRights = "RegistryRead" - // RegistryReadDeviceConnect specifies the registry read device connect - // state for access rights. + // RegistryReadDeviceConnect specifies the registry read device connect state for access rights. RegistryReadDeviceConnect AccessRights = "RegistryRead, DeviceConnect" - // RegistryReadRegistryWrite specifies the registry read registry write - // state for access rights. + // RegistryReadRegistryWrite specifies the registry read registry write state for access rights. RegistryReadRegistryWrite AccessRights = "RegistryRead, RegistryWrite" - // RegistryReadRegistryWriteDeviceConnect specifies the registry read - // registry write device connect state for access rights. + // RegistryReadRegistryWriteDeviceConnect specifies the registry read registry write device connect state for access + // rights. RegistryReadRegistryWriteDeviceConnect AccessRights = "RegistryRead, RegistryWrite, DeviceConnect" - // RegistryReadRegistryWriteServiceConnect specifies the registry read - // registry write service connect state for access rights. + // RegistryReadRegistryWriteServiceConnect specifies the registry read registry write service connect state for access + // rights. RegistryReadRegistryWriteServiceConnect AccessRights = "RegistryRead, RegistryWrite, ServiceConnect" - // RegistryReadRegistryWriteServiceConnectDeviceConnect specifies the - // registry read registry write service connect device connect state for - // access rights. + // RegistryReadRegistryWriteServiceConnectDeviceConnect specifies the registry read registry write service connect + // device connect state for access rights. RegistryReadRegistryWriteServiceConnectDeviceConnect AccessRights = "RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect" - // RegistryReadServiceConnect specifies the registry read service connect - // state for access rights. + // RegistryReadServiceConnect specifies the registry read service connect state for access rights. RegistryReadServiceConnect AccessRights = "RegistryRead, ServiceConnect" - // RegistryReadServiceConnectDeviceConnect specifies the registry read - // service connect device connect state for access rights. + // RegistryReadServiceConnectDeviceConnect specifies the registry read service connect device connect state for access + // rights. RegistryReadServiceConnectDeviceConnect AccessRights = "RegistryRead, ServiceConnect, DeviceConnect" // RegistryWrite specifies the registry write state for access rights. RegistryWrite AccessRights = "RegistryWrite" - // RegistryWriteDeviceConnect specifies the registry write device connect - // state for access rights. + // RegistryWriteDeviceConnect specifies the registry write device connect state for access rights. RegistryWriteDeviceConnect AccessRights = "RegistryWrite, DeviceConnect" - // RegistryWriteServiceConnect specifies the registry write service connect - // state for access rights. + // RegistryWriteServiceConnect specifies the registry write service connect state for access rights. RegistryWriteServiceConnect AccessRights = "RegistryWrite, ServiceConnect" - // RegistryWriteServiceConnectDeviceConnect specifies the registry write - // service connect device connect state for access rights. + // RegistryWriteServiceConnectDeviceConnect specifies the registry write service connect device connect state for + // access rights. RegistryWriteServiceConnectDeviceConnect AccessRights = "RegistryWrite, ServiceConnect, DeviceConnect" // ServiceConnect specifies the service connect state for access rights. ServiceConnect AccessRights = "ServiceConnect" - // ServiceConnectDeviceConnect specifies the service connect device connect - // state for access rights. + // ServiceConnectDeviceConnect specifies the service connect device connect state for access rights. ServiceConnectDeviceConnect AccessRights = "ServiceConnect, DeviceConnect" ) @@ -119,67 +111,69 @@ const ( JobTypeBackup JobType = "backup" // JobTypeExport specifies the job type export state for job type. JobTypeExport JobType = "export" - // JobTypeFactoryResetDevice specifies the job type factory reset device - // state for job type. + // JobTypeFactoryResetDevice specifies the job type factory reset device state for job type. JobTypeFactoryResetDevice JobType = "factoryResetDevice" - // JobTypeFirmwareUpdate specifies the job type firmware update state for - // job type. + // JobTypeFirmwareUpdate specifies the job type firmware update state for job type. JobTypeFirmwareUpdate JobType = "firmwareUpdate" // JobTypeImport specifies the job type import state for job type. JobTypeImport JobType = "import" - // JobTypeReadDeviceProperties specifies the job type read device - // properties state for job type. + // JobTypeReadDeviceProperties specifies the job type read device properties state for job type. JobTypeReadDeviceProperties JobType = "readDeviceProperties" - // JobTypeRebootDevice specifies the job type reboot device state for job - // type. + // JobTypeRebootDevice specifies the job type reboot device state for job type. JobTypeRebootDevice JobType = "rebootDevice" // JobTypeUnknown specifies the job type unknown state for job type. JobTypeUnknown JobType = "unknown" - // JobTypeUpdateDeviceConfiguration specifies the job type update device - // configuration state for job type. + // JobTypeUpdateDeviceConfiguration specifies the job type update device configuration state for job type. JobTypeUpdateDeviceConfiguration JobType = "updateDeviceConfiguration" - // JobTypeWriteDeviceProperties specifies the job type write device - // properties state for job type. + // JobTypeWriteDeviceProperties specifies the job type write device properties state for job type. JobTypeWriteDeviceProperties JobType = "writeDeviceProperties" ) -// NameUnavailabilityReason enumerates the values for name unavailability -// reason. +// NameUnavailabilityReason enumerates the values for name unavailability reason. type NameUnavailabilityReason string const ( - // AlreadyExists specifies the already exists state for name unavailability - // reason. + // AlreadyExists specifies the already exists state for name unavailability reason. AlreadyExists NameUnavailabilityReason = "AlreadyExists" // Invalid specifies the invalid state for name unavailability reason. Invalid NameUnavailabilityReason = "Invalid" ) -// OperationMonitoringLevel enumerates the values for operation monitoring -// level. +// OperationMonitoringLevel enumerates the values for operation monitoring level. type OperationMonitoringLevel string const ( - // OperationMonitoringLevelError specifies the operation monitoring level - // error state for operation monitoring level. + // OperationMonitoringLevelError specifies the operation monitoring level error state for operation monitoring level. OperationMonitoringLevelError OperationMonitoringLevel = "Error" - // OperationMonitoringLevelErrorInformation specifies the operation - // monitoring level error information state for operation monitoring level. + // OperationMonitoringLevelErrorInformation specifies the operation monitoring level error information state for + // operation monitoring level. OperationMonitoringLevelErrorInformation OperationMonitoringLevel = "Error, Information" - // OperationMonitoringLevelInformation specifies the operation monitoring - // level information state for operation monitoring level. + // OperationMonitoringLevelInformation specifies the operation monitoring level information state for operation + // monitoring level. OperationMonitoringLevelInformation OperationMonitoringLevel = "Information" - // OperationMonitoringLevelNone specifies the operation monitoring level - // none state for operation monitoring level. + // OperationMonitoringLevelNone specifies the operation monitoring level none state for operation monitoring level. OperationMonitoringLevelNone OperationMonitoringLevel = "None" ) +// RoutingSource enumerates the values for routing source. +type RoutingSource string + +const ( + // DeviceJobLifecycleEvents specifies the device job lifecycle events state for routing source. + DeviceJobLifecycleEvents RoutingSource = "DeviceJobLifecycleEvents" + // DeviceLifecycleEvents specifies the device lifecycle events state for routing source. + DeviceLifecycleEvents RoutingSource = "DeviceLifecycleEvents" + // DeviceMessages specifies the device messages state for routing source. + DeviceMessages RoutingSource = "DeviceMessages" + // TwinChangeEvents specifies the twin change events state for routing source. + TwinChangeEvents RoutingSource = "TwinChangeEvents" +) + // ScaleType enumerates the values for scale type. type ScaleType string const ( - // ScaleTypeAutomatic specifies the scale type automatic state for scale - // type. + // ScaleTypeAutomatic specifies the scale type automatic state for scale type. ScaleTypeAutomatic ScaleType = "Automatic" // ScaleTypeManual specifies the scale type manual state for scale type. ScaleTypeManual ScaleType = "Manual" @@ -241,8 +235,7 @@ type Description struct { Sku *SkuInfo `json:"sku,omitempty"` } -// DescriptionListResult is the JSON-serialized array of IotHubDescription -// objects with a next link. +// DescriptionListResult is the JSON-serialized array of IotHubDescription objects with a next link. type DescriptionListResult struct { autorest.Response `json:"-"` Value *[]Description `json:"value,omitempty"` @@ -269,8 +262,7 @@ type ErrorDetails struct { Details *string `json:"Details,omitempty"` } -// EventHubConsumerGroupInfo is the properties of the EventHubConsumerGroupInfo -// object. +// EventHubConsumerGroupInfo is the properties of the EventHubConsumerGroupInfo object. type EventHubConsumerGroupInfo struct { autorest.Response `json:"-"` Tags *map[string]*string `json:"tags,omitempty"` @@ -278,8 +270,8 @@ type EventHubConsumerGroupInfo struct { Name *string `json:"name,omitempty"` } -// EventHubConsumerGroupsListResult is the JSON-serialized array of Event -// Hub-compatible consumer group names with a next link. +// EventHubConsumerGroupsListResult is the JSON-serialized array of Event Hub-compatible consumer group names with a +// next link. type EventHubConsumerGroupsListResult struct { autorest.Response `json:"-"` Value *[]string `json:"value,omitempty"` @@ -298,8 +290,7 @@ func (client EventHubConsumerGroupsListResult) EventHubConsumerGroupsListResultP autorest.WithBaseURL(to.String(client.NextLink))) } -// EventHubProperties is the properties of the provisioned Event Hub-compatible -// endpoint used by the IoT hub. +// EventHubProperties is the properties of the provisioned Event Hub-compatible endpoint used by the IoT hub. type EventHubProperties struct { RetentionTimeInDays *int64 `json:"retentionTimeInDays,omitempty"` PartitionCount *int32 `json:"partitionCount,omitempty"` @@ -308,23 +299,29 @@ type EventHubProperties struct { Endpoint *string `json:"endpoint,omitempty"` } -// ExportDevicesRequest is use to provide parameters when requesting an export -// of all devices in the IoT hub. +// ExportDevicesRequest is use to provide parameters when requesting an export of all devices in the IoT hub. type ExportDevicesRequest struct { ExportBlobContainerURI *string `json:"ExportBlobContainerUri,omitempty"` ExcludeKeys *bool `json:"ExcludeKeys,omitempty"` } -// FeedbackProperties is the properties of the feedback queue for -// cloud-to-device messages. +// FallbackRouteProperties is the properties of the fallback route. IoT Hub uses these properties when it routes +// messages to the fallback endpoint. +type FallbackRouteProperties struct { + Source *string `json:"source,omitempty"` + Condition *string `json:"condition,omitempty"` + EndpointNames *[]string `json:"endpointNames,omitempty"` + IsEnabled *bool `json:"isEnabled,omitempty"` +} + +// FeedbackProperties is the properties of the feedback queue for cloud-to-device messages. type FeedbackProperties struct { LockDurationAsIso8601 *string `json:"lockDurationAsIso8601,omitempty"` TTLAsIso8601 *string `json:"ttlAsIso8601,omitempty"` MaxDeliveryCount *int32 `json:"maxDeliveryCount,omitempty"` } -// ImportDevicesRequest is use to provide parameters when requesting an import -// of all devices in the hub. +// ImportDevicesRequest is use to provide parameters when requesting an import of all devices in the hub. type ImportDevicesRequest struct { InputBlobContainerURI *string `json:"InputBlobContainerUri,omitempty"` OutputBlobContainerURI *string `json:"OutputBlobContainerUri,omitempty"` @@ -350,8 +347,7 @@ type JobResponse struct { ParentJobID *string `json:"parentJobId,omitempty"` } -// JobResponseListResult is the JSON-serialized array of JobResponse objects -// with a next link. +// JobResponseListResult is the JSON-serialized array of JobResponse objects with a next link. type JobResponseListResult struct { autorest.Response `json:"-"` Value *[]JobResponse `json:"value,omitempty"` @@ -370,16 +366,14 @@ func (client JobResponseListResult) JobResponseListResultPreparer() (*http.Reque autorest.WithBaseURL(to.String(client.NextLink))) } -// MessagingEndpointProperties is the properties of the messaging endpoints -// used by this IoT hub. +// MessagingEndpointProperties is the properties of the messaging endpoints used by this IoT hub. type MessagingEndpointProperties struct { LockDurationAsIso8601 *string `json:"lockDurationAsIso8601,omitempty"` TTLAsIso8601 *string `json:"ttlAsIso8601,omitempty"` MaxDeliveryCount *int32 `json:"maxDeliveryCount,omitempty"` } -// NameAvailabilityInfo is the properties indicating whether a given IoT hub -// name is available. +// NameAvailabilityInfo is the properties indicating whether a given IoT hub name is available. type NameAvailabilityInfo struct { autorest.Response `json:"-"` NameAvailable *bool `json:"nameAvailable,omitempty"` @@ -387,15 +381,47 @@ type NameAvailabilityInfo struct { Message *string `json:"message,omitempty"` } +// Operation is ioT Hub REST API operation +type Operation struct { + Name *string `json:"name,omitempty"` + Display *OperationDisplay `json:"display,omitempty"` +} + +// OperationDisplay is the object that represents the operation. +type OperationDisplay struct { + Provider *string `json:"provider,omitempty"` + Resource *string `json:"resource,omitempty"` + Operation *string `json:"operation,omitempty"` +} + // OperationInputs is input values. type OperationInputs struct { Name *string `json:"Name,omitempty"` } -// OperationsMonitoringProperties is the operations monitoring properties for -// the IoT hub. The possible keys to the dictionary are Connections, -// DeviceTelemetry, C2DCommands, DeviceIdentityOperations, -// FileUploadOperations. +// OperationListResult is result of the request to list IoT Hub operations. It contains a list of operations and a URL +// link to get the next set of results. +type OperationListResult struct { + autorest.Response `json:"-"` + Value *[]Operation `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// OperationListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client OperationListResult) OperationListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// OperationsMonitoringProperties is the operations monitoring properties for the IoT hub. The possible keys to the +// dictionary are Connections, DeviceTelemetry, C2DCommands, DeviceIdentityOperations, FileUploadOperations, Routes, +// D2CTwinOperations, C2DTwinOperations, TwinQueries, JobsOperations, DirectMethods. type OperationsMonitoringProperties struct { Events *map[string]*OperationMonitoringLevel `json:"events,omitempty"` } @@ -407,6 +433,7 @@ type Properties struct { ProvisioningState *string `json:"provisioningState,omitempty"` HostName *string `json:"hostName,omitempty"` EventHubEndpoints *map[string]*EventHubProperties `json:"eventHubEndpoints,omitempty"` + Routing *RoutingProperties `json:"routing,omitempty"` StorageEndpoints *map[string]*StorageEndpointProperties `json:"storageEndpoints,omitempty"` MessagingEndpoints *map[string]*MessagingEndpointProperties `json:"messagingEndpoints,omitempty"` EnableFileUploadNotifications *bool `json:"enableFileUploadNotifications,omitempty"` @@ -423,8 +450,7 @@ type QuotaMetricInfo struct { MaxValue *int64 `json:"MaxValue,omitempty"` } -// QuotaMetricInfoListResult is the JSON-serialized array of -// IotHubQuotaMetricInfo objects with a next link. +// QuotaMetricInfoListResult is the JSON-serialized array of IotHubQuotaMetricInfo objects with a next link. type QuotaMetricInfoListResult struct { autorest.Response `json:"-"` Value *[]QuotaMetricInfo `json:"value,omitempty"` @@ -451,7 +477,7 @@ type RegistryStatistics struct { DisabledDeviceCount *int64 `json:"disabledDeviceCount,omitempty"` } -// Resource is +// Resource is the common properties of an Azure resource. type Resource struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` @@ -460,14 +486,77 @@ type Resource struct { Tags *map[string]*string `json:"tags,omitempty"` } +// RouteProperties is the properties of a routing rule that your IoT hub uses to route messages to endpoints. +type RouteProperties struct { + Name *string `json:"name,omitempty"` + Source RoutingSource `json:"source,omitempty"` + Condition *string `json:"condition,omitempty"` + EndpointNames *[]string `json:"endpointNames,omitempty"` + IsEnabled *bool `json:"isEnabled,omitempty"` +} + +// RoutingEndpoints is the properties related to the custom endpoints to which your IoT hub routes messages based on +// the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 +// custom endpoint is allowed across all endpoint types for free hubs. +type RoutingEndpoints struct { + ServiceBusQueues *[]RoutingServiceBusQueueEndpointProperties `json:"serviceBusQueues,omitempty"` + ServiceBusTopics *[]RoutingServiceBusTopicEndpointProperties `json:"serviceBusTopics,omitempty"` + EventHubs *[]RoutingEventHubProperties `json:"eventHubs,omitempty"` + StorageContainers *[]RoutingStorageContainerProperties `json:"storageContainers,omitempty"` +} + +// RoutingEventHubProperties is the properties related to an event hub endpoint. +type RoutingEventHubProperties struct { + ConnectionString *string `json:"connectionString,omitempty"` + Name *string `json:"name,omitempty"` + SubscriptionID *string `json:"subscriptionId,omitempty"` + ResourceGroup *string `json:"resourceGroup,omitempty"` +} + +// RoutingProperties is the routing related properties of the IoT hub. See: +// https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging +type RoutingProperties struct { + Endpoints *RoutingEndpoints `json:"endpoints,omitempty"` + Routes *[]RouteProperties `json:"routes,omitempty"` + FallbackRoute *FallbackRouteProperties `json:"fallbackRoute,omitempty"` +} + +// RoutingServiceBusQueueEndpointProperties is the properties related to service bus queue endpoint types. +type RoutingServiceBusQueueEndpointProperties struct { + ConnectionString *string `json:"connectionString,omitempty"` + Name *string `json:"name,omitempty"` + SubscriptionID *string `json:"subscriptionId,omitempty"` + ResourceGroup *string `json:"resourceGroup,omitempty"` +} + +// RoutingServiceBusTopicEndpointProperties is the properties related to service bus topic endpoint types. +type RoutingServiceBusTopicEndpointProperties struct { + ConnectionString *string `json:"connectionString,omitempty"` + Name *string `json:"name,omitempty"` + SubscriptionID *string `json:"subscriptionId,omitempty"` + ResourceGroup *string `json:"resourceGroup,omitempty"` +} + +// RoutingStorageContainerProperties is the properties related to a storage container endpoint. +type RoutingStorageContainerProperties struct { + ConnectionString *string `json:"connectionString,omitempty"` + Name *string `json:"name,omitempty"` + SubscriptionID *string `json:"subscriptionId,omitempty"` + ResourceGroup *string `json:"resourceGroup,omitempty"` + ContainerName *string `json:"containerName,omitempty"` + FileNameFormat *string `json:"fileNameFormat,omitempty"` + BatchFrequencyInSeconds *int32 `json:"batchFrequencyInSeconds,omitempty"` + MaxChunkSizeInBytes *int32 `json:"maxChunkSizeInBytes,omitempty"` + Encoding *string `json:"encoding,omitempty"` +} + // SetObject is type SetObject struct { autorest.Response `json:"-"` Value *map[string]interface{} `json:"value,omitempty"` } -// SharedAccessSignatureAuthorizationRule is the properties of an IoT hub -// shared access policy. +// SharedAccessSignatureAuthorizationRule is the properties of an IoT hub shared access policy. type SharedAccessSignatureAuthorizationRule struct { autorest.Response `json:"-"` KeyName *string `json:"keyName,omitempty"` @@ -476,8 +565,7 @@ type SharedAccessSignatureAuthorizationRule struct { Rights AccessRights `json:"rights,omitempty"` } -// SharedAccessSignatureAuthorizationRuleListResult is the list of shared -// access policies with a next link. +// SharedAccessSignatureAuthorizationRuleListResult is the list of shared access policies with a next link. type SharedAccessSignatureAuthorizationRuleListResult struct { autorest.Response `json:"-"` Value *[]SharedAccessSignatureAuthorizationRule `json:"value,omitempty"` @@ -496,15 +584,14 @@ func (client SharedAccessSignatureAuthorizationRuleListResult) SharedAccessSigna autorest.WithBaseURL(to.String(client.NextLink))) } -// SkuDescription is sKU properties. +// SkuDescription is SKU properties. type SkuDescription struct { ResourceType *string `json:"resourceType,omitempty"` Sku *SkuInfo `json:"sku,omitempty"` Capacity *Capacity `json:"capacity,omitempty"` } -// SkuDescriptionListResult is the JSON-serialized array of -// IotHubSkuDescription objects with a next link. +// SkuDescriptionListResult is the JSON-serialized array of IotHubSkuDescription objects with a next link. type SkuDescriptionListResult struct { autorest.Response `json:"-"` Value *[]SkuDescription `json:"value,omitempty"` @@ -530,8 +617,7 @@ type SkuInfo struct { Capacity *int64 `json:"capacity,omitempty"` } -// StorageEndpointProperties is the properties of the Azure Storage endpoint -// for file upload. +// StorageEndpointProperties is the properties of the Azure Storage endpoint for file upload. type StorageEndpointProperties struct { SasTTLAsIso8601 *string `json:"sasTtlAsIso8601,omitempty"` ConnectionString *string `json:"connectionString,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/iothub/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/iothub/operations.go new file mode 100644 index 000000000..ae4d1bf0c --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/iothub/operations.go @@ -0,0 +1,165 @@ +package iothub + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// OperationsClient is the use this API to manage the IoT hubs in your Azure subscription. +type OperationsClient struct { + ManagementClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List lists all of the available IoT Hub REST API operations. +func (client OperationsClient) List() (result OperationListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "iothub.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "iothub.OperationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "iothub.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer() (*http.Request, error) { + const APIVersion = "2017-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Devices/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client OperationsClient) ListNextResults(lastResults OperationListResult) (result OperationListResult, err error) { + req, err := lastResults.OperationListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "iothub.OperationsClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "iothub.OperationsClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "iothub.OperationsClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client OperationsClient) ListComplete(cancel <-chan struct{}) (<-chan Operation, <-chan error) { + resultChan := make(chan Operation) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/iothub/resource.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/iothub/resource.go index 83b970429..defcf9591 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/iothub/resource.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/iothub/resource.go @@ -14,9 +14,8 @@ package iothub // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// ResourceClient is the use this API to manage the IoT hubs in your -// subscription. +// ResourceClient is the use this API to manage the IoT hubs in your Azure subscription. type ResourceClient struct { ManagementClient } @@ -36,16 +34,14 @@ func NewResourceClient(subscriptionID string) ResourceClient { return NewResourceClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewResourceClientWithBaseURI creates an instance of the ResourceClient -// client. +// NewResourceClientWithBaseURI creates an instance of the ResourceClient client. func NewResourceClientWithBaseURI(baseURI string, subscriptionID string) ResourceClient { return ResourceClient{NewWithBaseURI(baseURI, subscriptionID)} } // CheckNameAvailability check if an IoT hub name is available. // -// operationInputs is set the name parameter in the OperationInputs structure -// to the name of the IoT hub to check. +// operationInputs is set the name parameter in the OperationInputs structure to the name of the IoT hub to check. func (client ResourceClient) CheckNameAvailability(operationInputs OperationInputs) (result NameAvailabilityInfo, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: operationInputs, @@ -80,7 +76,7 @@ func (client ResourceClient) CheckNameAvailabilityPreparer(operationInputs Opera "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-03" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -114,13 +110,11 @@ func (client ResourceClient) CheckNameAvailabilityResponder(resp *http.Response) return } -// CreateEventHubConsumerGroup add a consumer group to an Event Hub-compatible -// endpoint in an IoT hub. +// CreateEventHubConsumerGroup add a consumer group to an Event Hub-compatible endpoint in an IoT hub. // -// resourceGroupName is the name of the resource group that contains the IoT -// hub. resourceName is the name of the IoT hub. eventHubEndpointName is the -// name of the Event Hub-compatible endpoint in the IoT hub. name is the name -// of the consumer group to add. +// resourceGroupName is the name of the resource group that contains the IoT hub. resourceName is the name of the IoT +// hub. eventHubEndpointName is the name of the Event Hub-compatible endpoint in the IoT hub. name is the name of the +// consumer group to add. func (client ResourceClient) CreateEventHubConsumerGroup(resourceGroupName string, resourceName string, eventHubEndpointName string, name string) (result EventHubConsumerGroupInfo, err error) { req, err := client.CreateEventHubConsumerGroupPreparer(resourceGroupName, resourceName, eventHubEndpointName, name) if err != nil { @@ -153,7 +147,7 @@ func (client ResourceClient) CreateEventHubConsumerGroupPreparer(resourceGroupNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-03" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -185,16 +179,13 @@ func (client ResourceClient) CreateEventHubConsumerGroupResponder(resp *http.Res return } -// CreateOrUpdate create or update the metadata of an Iot hub. The usual -// pattern to modify a property is to retrieve the IoT hub metadata and -// security metadata, and then combine them with the modified values in a new -// body to update the IoT hub. This method may poll for completion. Polling can -// be canceled by passing the cancel channel argument. The channel will be used -// to cancel polling and any outstanding HTTP requests. +// CreateOrUpdate create or update the metadata of an Iot hub. The usual pattern to modify a property is to retrieve +// the IoT hub metadata and security metadata, and then combine them with the modified values in a new body to update +// the IoT hub. This method may poll for completion. Polling can be canceled by passing the cancel channel argument. +// The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group that contains the IoT -// hub. resourceName is the name of the IoT hub to create or update. -// iotHubDescription is the IoT hub metadata and security metadata. +// resourceGroupName is the name of the resource group that contains the IoT hub. resourceName is the name of the IoT +// hub to create or update. iotHubDescription is the IoT hub metadata and security metadata. func (client ResourceClient) CreateOrUpdate(resourceGroupName string, resourceName string, iotHubDescription Description, cancel <-chan struct{}) (<-chan Description, <-chan error) { resultChan := make(chan Description, 1) errChan := make(chan error, 1) @@ -203,18 +194,28 @@ func (client ResourceClient) CreateOrUpdate(resourceGroupName string, resourceNa Constraints: []validation.Constraint{{Target: "iotHubDescription.Subscriptionid", Name: validation.Null, Rule: true, Chain: nil}, {Target: "iotHubDescription.Resourcegroup", Name: validation.Null, Rule: true, Chain: nil}, {Target: "iotHubDescription.Properties", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "iotHubDescription.Properties.CloudToDevice", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "iotHubDescription.Properties.CloudToDevice.MaxDeliveryCount", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "iotHubDescription.Properties.CloudToDevice.MaxDeliveryCount", Name: validation.InclusiveMaximum, Rule: 100, Chain: nil}, - {Target: "iotHubDescription.Properties.CloudToDevice.MaxDeliveryCount", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}, - {Target: "iotHubDescription.Properties.CloudToDevice.Feedback", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "iotHubDescription.Properties.CloudToDevice.Feedback.MaxDeliveryCount", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "iotHubDescription.Properties.CloudToDevice.Feedback.MaxDeliveryCount", Name: validation.InclusiveMaximum, Rule: 100, Chain: nil}, - {Target: "iotHubDescription.Properties.CloudToDevice.Feedback.MaxDeliveryCount", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + Chain: []validation.Constraint{{Target: "iotHubDescription.Properties.Routing", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "iotHubDescription.Properties.Routing.FallbackRoute", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "iotHubDescription.Properties.Routing.FallbackRoute.Source", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "iotHubDescription.Properties.Routing.FallbackRoute.EndpointNames", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "iotHubDescription.Properties.Routing.FallbackRoute.EndpointNames", Name: validation.MaxItems, Rule: 1, Chain: nil}, + {Target: "iotHubDescription.Properties.Routing.FallbackRoute.EndpointNames", Name: validation.MinItems, Rule: 1, Chain: nil}, }}, - }}, + {Target: "iotHubDescription.Properties.Routing.FallbackRoute.IsEnabled", Name: validation.Null, Rule: true, Chain: nil}, + }}, }}, + {Target: "iotHubDescription.Properties.CloudToDevice", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "iotHubDescription.Properties.CloudToDevice.MaxDeliveryCount", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "iotHubDescription.Properties.CloudToDevice.MaxDeliveryCount", Name: validation.InclusiveMaximum, Rule: 100, Chain: nil}, + {Target: "iotHubDescription.Properties.CloudToDevice.MaxDeliveryCount", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}, + {Target: "iotHubDescription.Properties.CloudToDevice.Feedback", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "iotHubDescription.Properties.CloudToDevice.Feedback.MaxDeliveryCount", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "iotHubDescription.Properties.CloudToDevice.Feedback.MaxDeliveryCount", Name: validation.InclusiveMaximum, Rule: 100, Chain: nil}, + {Target: "iotHubDescription.Properties.CloudToDevice.Feedback.MaxDeliveryCount", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}, + }}, + }}, }}, {Target: "iotHubDescription.Sku", Name: validation.Null, Rule: true, Chain: []validation.Constraint{{Target: "iotHubDescription.Sku.Capacity", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { @@ -228,8 +229,10 @@ func (client ResourceClient) CreateOrUpdate(resourceGroupName string, resourceNa var err error var result Description defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -262,7 +265,7 @@ func (client ResourceClient) CreateOrUpdatePreparer(resourceGroupName string, re "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-03" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -298,12 +301,11 @@ func (client ResourceClient) CreateOrUpdateResponder(resp *http.Response) (resul return } -// Delete delete an IoT hub. This method may poll for completion. Polling can -// be canceled by passing the cancel channel argument. The channel will be used -// to cancel polling and any outstanding HTTP requests. +// Delete delete an IoT hub. This method may poll for completion. Polling can be canceled by passing the cancel channel +// argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group that contains the IoT -// hub. resourceName is the name of the IoT hub to delete. +// resourceGroupName is the name of the resource group that contains the IoT hub. resourceName is the name of the IoT +// hub to delete. func (client ResourceClient) Delete(resourceGroupName string, resourceName string, cancel <-chan struct{}) (<-chan SetObject, <-chan error) { resultChan := make(chan SetObject, 1) errChan := make(chan error, 1) @@ -311,8 +313,10 @@ func (client ResourceClient) Delete(resourceGroupName string, resourceName strin var err error var result SetObject defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -345,7 +349,7 @@ func (client ResourceClient) DeletePreparer(resourceGroupName string, resourceNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-03" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -379,13 +383,11 @@ func (client ResourceClient) DeleteResponder(resp *http.Response) (result SetObj return } -// DeleteEventHubConsumerGroup delete a consumer group from an Event -// Hub-compatible endpoint in an IoT hub. +// DeleteEventHubConsumerGroup delete a consumer group from an Event Hub-compatible endpoint in an IoT hub. // -// resourceGroupName is the name of the resource group that contains the IoT -// hub. resourceName is the name of the IoT hub. eventHubEndpointName is the -// name of the Event Hub-compatible endpoint in the IoT hub. name is the name -// of the consumer group to delete. +// resourceGroupName is the name of the resource group that contains the IoT hub. resourceName is the name of the IoT +// hub. eventHubEndpointName is the name of the Event Hub-compatible endpoint in the IoT hub. name is the name of the +// consumer group to delete. func (client ResourceClient) DeleteEventHubConsumerGroup(resourceGroupName string, resourceName string, eventHubEndpointName string, name string) (result autorest.Response, err error) { req, err := client.DeleteEventHubConsumerGroupPreparer(resourceGroupName, resourceName, eventHubEndpointName, name) if err != nil { @@ -418,7 +420,7 @@ func (client ResourceClient) DeleteEventHubConsumerGroupPreparer(resourceGroupNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-03" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -449,13 +451,12 @@ func (client ResourceClient) DeleteEventHubConsumerGroupResponder(resp *http.Res return } -// ExportDevices exports all the device identities in the IoT hub identity -// registry to an Azure Storage blob container. For more information, see: +// ExportDevices exports all the device identities in the IoT hub identity registry to an Azure Storage blob container. +// For more information, see: // https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities. // -// resourceGroupName is the name of the resource group that contains the IoT -// hub. resourceName is the name of the IoT hub. exportDevicesParameters is the -// parameters that specify the export devices operation. +// resourceGroupName is the name of the resource group that contains the IoT hub. resourceName is the name of the IoT +// hub. exportDevicesParameters is the parameters that specify the export devices operation. func (client ResourceClient) ExportDevices(resourceGroupName string, resourceName string, exportDevicesParameters ExportDevicesRequest) (result JobResponse, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: exportDevicesParameters, @@ -493,7 +494,7 @@ func (client ResourceClient) ExportDevicesPreparer(resourceGroupName string, res "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-03" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -529,8 +530,8 @@ func (client ResourceClient) ExportDevicesResponder(resp *http.Response) (result // Get get the non-security related metadata of an IoT hub. // -// resourceGroupName is the name of the resource group that contains the IoT -// hub. resourceName is the name of the IoT hub. +// resourceGroupName is the name of the resource group that contains the IoT hub. resourceName is the name of the IoT +// hub. func (client ResourceClient) Get(resourceGroupName string, resourceName string) (result Description, err error) { req, err := client.GetPreparer(resourceGroupName, resourceName) if err != nil { @@ -561,7 +562,7 @@ func (client ResourceClient) GetPreparer(resourceGroupName string, resourceName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-03" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -593,13 +594,11 @@ func (client ResourceClient) GetResponder(resp *http.Response) (result Descripti return } -// GetEventHubConsumerGroup get a consumer group from the Event Hub-compatible -// device-to-cloud endpoint for an IoT hub. +// GetEventHubConsumerGroup get a consumer group from the Event Hub-compatible device-to-cloud endpoint for an IoT hub. // -// resourceGroupName is the name of the resource group that contains the IoT -// hub. resourceName is the name of the IoT hub. eventHubEndpointName is the -// name of the Event Hub-compatible endpoint in the IoT hub. name is the name -// of the consumer group to retrieve. +// resourceGroupName is the name of the resource group that contains the IoT hub. resourceName is the name of the IoT +// hub. eventHubEndpointName is the name of the Event Hub-compatible endpoint in the IoT hub. name is the name of the +// consumer group to retrieve. func (client ResourceClient) GetEventHubConsumerGroup(resourceGroupName string, resourceName string, eventHubEndpointName string, name string) (result EventHubConsumerGroupInfo, err error) { req, err := client.GetEventHubConsumerGroupPreparer(resourceGroupName, resourceName, eventHubEndpointName, name) if err != nil { @@ -632,7 +631,7 @@ func (client ResourceClient) GetEventHubConsumerGroupPreparer(resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-03" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -667,8 +666,8 @@ func (client ResourceClient) GetEventHubConsumerGroupResponder(resp *http.Respon // GetJob get the details of a job from an IoT hub. For more information, see: // https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry. // -// resourceGroupName is the name of the resource group that contains the IoT -// hub. resourceName is the name of the IoT hub. jobID is the job identifier. +// resourceGroupName is the name of the resource group that contains the IoT hub. resourceName is the name of the IoT +// hub. jobID is the job identifier. func (client ResourceClient) GetJob(resourceGroupName string, resourceName string, jobID string) (result JobResponse, err error) { req, err := client.GetJobPreparer(resourceGroupName, resourceName, jobID) if err != nil { @@ -700,7 +699,7 @@ func (client ResourceClient) GetJobPreparer(resourceGroupName string, resourceNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-03" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -732,13 +731,11 @@ func (client ResourceClient) GetJobResponder(resp *http.Response) (result JobRes return } -// GetKeysForKeyName get a shared access policy by name from an IoT hub. For -// more information, see: +// GetKeysForKeyName get a shared access policy by name from an IoT hub. For more information, see: // https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security. // -// resourceGroupName is the name of the resource group that contains the IoT -// hub. resourceName is the name of the IoT hub. keyName is the name of the -// shared access policy. +// resourceGroupName is the name of the resource group that contains the IoT hub. resourceName is the name of the IoT +// hub. keyName is the name of the shared access policy. func (client ResourceClient) GetKeysForKeyName(resourceGroupName string, resourceName string, keyName string) (result SharedAccessSignatureAuthorizationRule, err error) { req, err := client.GetKeysForKeyNamePreparer(resourceGroupName, resourceName, keyName) if err != nil { @@ -770,7 +767,7 @@ func (client ResourceClient) GetKeysForKeyNamePreparer(resourceGroupName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-03" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -804,8 +801,8 @@ func (client ResourceClient) GetKeysForKeyNameResponder(resp *http.Response) (re // GetQuotaMetrics get the quota metrics for an IoT hub. // -// resourceGroupName is the name of the resource group that contains the IoT -// hub. resourceName is the name of the IoT hub. +// resourceGroupName is the name of the resource group that contains the IoT hub. resourceName is the name of the IoT +// hub. func (client ResourceClient) GetQuotaMetrics(resourceGroupName string, resourceName string) (result QuotaMetricInfoListResult, err error) { req, err := client.GetQuotaMetricsPreparer(resourceGroupName, resourceName) if err != nil { @@ -836,7 +833,7 @@ func (client ResourceClient) GetQuotaMetricsPreparer(resourceGroupName string, r "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-03" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -892,10 +889,55 @@ func (client ResourceClient) GetQuotaMetricsNextResults(lastResults QuotaMetricI return } +// GetQuotaMetricsComplete gets all elements from the list without paging. +func (client ResourceClient) GetQuotaMetricsComplete(resourceGroupName string, resourceName string, cancel <-chan struct{}) (<-chan QuotaMetricInfo, <-chan error) { + resultChan := make(chan QuotaMetricInfo) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetQuotaMetrics(resourceGroupName, resourceName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.GetQuotaMetricsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // GetStats get the statistics from an IoT hub. // -// resourceGroupName is the name of the resource group that contains the IoT -// hub. resourceName is the name of the IoT hub. +// resourceGroupName is the name of the resource group that contains the IoT hub. resourceName is the name of the IoT +// hub. func (client ResourceClient) GetStats(resourceGroupName string, resourceName string) (result RegistryStatistics, err error) { req, err := client.GetStatsPreparer(resourceGroupName, resourceName) if err != nil { @@ -926,7 +968,7 @@ func (client ResourceClient) GetStatsPreparer(resourceGroupName string, resource "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-03" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -960,8 +1002,8 @@ func (client ResourceClient) GetStatsResponder(resp *http.Response) (result Regi // GetValidSkus get the list of valid SKUs for an IoT hub. // -// resourceGroupName is the name of the resource group that contains the IoT -// hub. resourceName is the name of the IoT hub. +// resourceGroupName is the name of the resource group that contains the IoT hub. resourceName is the name of the IoT +// hub. func (client ResourceClient) GetValidSkus(resourceGroupName string, resourceName string) (result SkuDescriptionListResult, err error) { req, err := client.GetValidSkusPreparer(resourceGroupName, resourceName) if err != nil { @@ -992,7 +1034,7 @@ func (client ResourceClient) GetValidSkusPreparer(resourceGroupName string, reso "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-03" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1048,13 +1090,57 @@ func (client ResourceClient) GetValidSkusNextResults(lastResults SkuDescriptionL return } -// ImportDevices import, update, or delete device identities in the IoT hub -// identity registry from a blob. For more information, see: +// GetValidSkusComplete gets all elements from the list without paging. +func (client ResourceClient) GetValidSkusComplete(resourceGroupName string, resourceName string, cancel <-chan struct{}) (<-chan SkuDescription, <-chan error) { + resultChan := make(chan SkuDescription) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetValidSkus(resourceGroupName, resourceName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.GetValidSkusNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ImportDevices import, update, or delete device identities in the IoT hub identity registry from a blob. For more +// information, see: // https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities. // -// resourceGroupName is the name of the resource group that contains the IoT -// hub. resourceName is the name of the IoT hub. importDevicesParameters is the -// parameters that specify the import devices operation. +// resourceGroupName is the name of the resource group that contains the IoT hub. resourceName is the name of the IoT +// hub. importDevicesParameters is the parameters that specify the import devices operation. func (client ResourceClient) ImportDevices(resourceGroupName string, resourceName string, importDevicesParameters ImportDevicesRequest) (result JobResponse, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: importDevicesParameters, @@ -1092,7 +1178,7 @@ func (client ResourceClient) ImportDevicesPreparer(resourceGroupName string, res "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-03" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1128,8 +1214,7 @@ func (client ResourceClient) ImportDevicesResponder(resp *http.Response) (result // ListByResourceGroup get all the IoT hubs in a resource group. // -// resourceGroupName is the name of the resource group that contains the IoT -// hubs. +// resourceGroupName is the name of the resource group that contains the IoT hubs. func (client ResourceClient) ListByResourceGroup(resourceGroupName string) (result DescriptionListResult, err error) { req, err := client.ListByResourceGroupPreparer(resourceGroupName) if err != nil { @@ -1159,7 +1244,7 @@ func (client ResourceClient) ListByResourceGroupPreparer(resourceGroupName strin "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-03" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1215,6 +1300,51 @@ func (client ResourceClient) ListByResourceGroupNextResults(lastResults Descript return } +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client ResourceClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan Description, <-chan error) { + resultChan := make(chan Description) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListBySubscription get all the IoT hubs in a subscription. func (client ResourceClient) ListBySubscription() (result DescriptionListResult, err error) { req, err := client.ListBySubscriptionPreparer() @@ -1244,7 +1374,7 @@ func (client ResourceClient) ListBySubscriptionPreparer() (*http.Request, error) "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-03" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1300,12 +1430,56 @@ func (client ResourceClient) ListBySubscriptionNextResults(lastResults Descripti return } -// ListEventHubConsumerGroups get a list of the consumer groups in the Event -// Hub-compatible device-to-cloud endpoint in an IoT hub. +// ListBySubscriptionComplete gets all elements from the list without paging. +func (client ResourceClient) ListBySubscriptionComplete(cancel <-chan struct{}) (<-chan Description, <-chan error) { + resultChan := make(chan Description) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListBySubscription() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListBySubscriptionNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListEventHubConsumerGroups get a list of the consumer groups in the Event Hub-compatible device-to-cloud endpoint in +// an IoT hub. // -// resourceGroupName is the name of the resource group that contains the IoT -// hub. resourceName is the name of the IoT hub. eventHubEndpointName is the -// name of the Event Hub-compatible endpoint. +// resourceGroupName is the name of the resource group that contains the IoT hub. resourceName is the name of the IoT +// hub. eventHubEndpointName is the name of the Event Hub-compatible endpoint. func (client ResourceClient) ListEventHubConsumerGroups(resourceGroupName string, resourceName string, eventHubEndpointName string) (result EventHubConsumerGroupsListResult, err error) { req, err := client.ListEventHubConsumerGroupsPreparer(resourceGroupName, resourceName, eventHubEndpointName) if err != nil { @@ -1337,7 +1511,7 @@ func (client ResourceClient) ListEventHubConsumerGroupsPreparer(resourceGroupNam "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-03" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1393,12 +1567,56 @@ func (client ResourceClient) ListEventHubConsumerGroupsNextResults(lastResults E return } -// ListJobs get a list of all the jobs in an IoT hub. For more information, -// see: +// ListEventHubConsumerGroupsComplete gets all elements from the list without paging. +func (client ResourceClient) ListEventHubConsumerGroupsComplete(resourceGroupName string, resourceName string, eventHubEndpointName string, cancel <-chan struct{}) (<-chan string, <-chan error) { + resultChan := make(chan string) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListEventHubConsumerGroups(resourceGroupName, resourceName, eventHubEndpointName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListEventHubConsumerGroupsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListJobs get a list of all the jobs in an IoT hub. For more information, see: // https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry. // -// resourceGroupName is the name of the resource group that contains the IoT -// hub. resourceName is the name of the IoT hub. +// resourceGroupName is the name of the resource group that contains the IoT hub. resourceName is the name of the IoT +// hub. func (client ResourceClient) ListJobs(resourceGroupName string, resourceName string) (result JobResponseListResult, err error) { req, err := client.ListJobsPreparer(resourceGroupName, resourceName) if err != nil { @@ -1429,7 +1647,7 @@ func (client ResourceClient) ListJobsPreparer(resourceGroupName string, resource "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-03" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1485,11 +1703,56 @@ func (client ResourceClient) ListJobsNextResults(lastResults JobResponseListResu return } -// ListKeys get the security metadata for an IoT hub. For more information, -// see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security. +// ListJobsComplete gets all elements from the list without paging. +func (client ResourceClient) ListJobsComplete(resourceGroupName string, resourceName string, cancel <-chan struct{}) (<-chan JobResponse, <-chan error) { + resultChan := make(chan JobResponse) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListJobs(resourceGroupName, resourceName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListJobsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListKeys get the security metadata for an IoT hub. For more information, see: +// https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security. // -// resourceGroupName is the name of the resource group that contains the IoT -// hub. resourceName is the name of the IoT hub. +// resourceGroupName is the name of the resource group that contains the IoT hub. resourceName is the name of the IoT +// hub. func (client ResourceClient) ListKeys(resourceGroupName string, resourceName string) (result SharedAccessSignatureAuthorizationRuleListResult, err error) { req, err := client.ListKeysPreparer(resourceGroupName, resourceName) if err != nil { @@ -1520,7 +1783,7 @@ func (client ResourceClient) ListKeysPreparer(resourceGroupName string, resource "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-02-03" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1575,3 +1838,48 @@ func (client ResourceClient) ListKeysNextResults(lastResults SharedAccessSignatu return } + +// ListKeysComplete gets all elements from the list without paging. +func (client ResourceClient) ListKeysComplete(resourceGroupName string, resourceName string, cancel <-chan struct{}) (<-chan SharedAccessSignatureAuthorizationRule, <-chan error) { + resultChan := make(chan SharedAccessSignatureAuthorizationRule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListKeys(resourceGroupName, resourceName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListKeysNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/iothub/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/iothub/version.go index 569f19b63..71c1b6e27 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/iothub/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/iothub/version.go @@ -14,16 +14,15 @@ package iothub // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-iothub/2016-02-03" + return "Azure-SDK-For-Go/v11.0.0-beta arm-iothub/2017-07-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/keyvault/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/keyvault/client.go index 7bca66be4..4cbb7dce6 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/keyvault/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/keyvault/client.go @@ -1,8 +1,6 @@ -// Package keyvault implements the Azure ARM Keyvault service API version -// 2015-06-01. +// Package keyvault implements the Azure ARM Keyvault service API version 2016-10-01. // -// The Azure management API provides a RESTful set of web services that -// interact with Azure Key Vault. +// The Azure management API provides a RESTful set of web services that interact with Azure Key Vault. package keyvault // Copyright (c) Microsoft and contributors. All rights reserved. @@ -19,9 +17,8 @@ package keyvault // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/keyvault/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/keyvault/models.go index b0162c4b1..c0b4bee56 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/keyvault/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/keyvault/models.go @@ -14,14 +14,14 @@ package keyvault // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/date" "github.com/Azure/go-autorest/autorest/to" - "github.com/satori/uuid" + uuid "github.com/satori/go.uuid" "net/http" ) @@ -29,14 +29,11 @@ import ( type CertificatePermissions string const ( - // All specifies the all state for certificate permissions. - All CertificatePermissions = "all" // Create specifies the create state for certificate permissions. Create CertificatePermissions = "create" // Delete specifies the delete state for certificate permissions. Delete CertificatePermissions = "delete" - // Deleteissuers specifies the deleteissuers state for certificate - // permissions. + // Deleteissuers specifies the deleteissuers state for certificate permissions. Deleteissuers CertificatePermissions = "deleteissuers" // Get specifies the get state for certificate permissions. Get CertificatePermissions = "get" @@ -48,66 +45,65 @@ const ( List CertificatePermissions = "list" // Listissuers specifies the listissuers state for certificate permissions. Listissuers CertificatePermissions = "listissuers" - // Managecontacts specifies the managecontacts state for certificate - // permissions. + // Managecontacts specifies the managecontacts state for certificate permissions. Managecontacts CertificatePermissions = "managecontacts" - // Manageissuers specifies the manageissuers state for certificate - // permissions. + // Manageissuers specifies the manageissuers state for certificate permissions. Manageissuers CertificatePermissions = "manageissuers" + // Purge specifies the purge state for certificate permissions. + Purge CertificatePermissions = "purge" + // Recover specifies the recover state for certificate permissions. + Recover CertificatePermissions = "recover" // Setissuers specifies the setissuers state for certificate permissions. Setissuers CertificatePermissions = "setissuers" // Update specifies the update state for certificate permissions. Update CertificatePermissions = "update" ) +// CreateMode enumerates the values for create mode. +type CreateMode string + +const ( + // CreateModeDefault specifies the create mode default state for create mode. + CreateModeDefault CreateMode = "default" + // CreateModeRecover specifies the create mode recover state for create mode. + CreateModeRecover CreateMode = "recover" +) + // KeyPermissions enumerates the values for key permissions. type KeyPermissions string const ( - // KeyPermissionsAll specifies the key permissions all state for key - // permissions. - KeyPermissionsAll KeyPermissions = "all" - // KeyPermissionsBackup specifies the key permissions backup state for key - // permissions. + // KeyPermissionsBackup specifies the key permissions backup state for key permissions. KeyPermissionsBackup KeyPermissions = "backup" - // KeyPermissionsCreate specifies the key permissions create state for key - // permissions. + // KeyPermissionsCreate specifies the key permissions create state for key permissions. KeyPermissionsCreate KeyPermissions = "create" - // KeyPermissionsDecrypt specifies the key permissions decrypt state for - // key permissions. + // KeyPermissionsDecrypt specifies the key permissions decrypt state for key permissions. KeyPermissionsDecrypt KeyPermissions = "decrypt" - // KeyPermissionsDelete specifies the key permissions delete state for key - // permissions. + // KeyPermissionsDelete specifies the key permissions delete state for key permissions. KeyPermissionsDelete KeyPermissions = "delete" - // KeyPermissionsEncrypt specifies the key permissions encrypt state for - // key permissions. + // KeyPermissionsEncrypt specifies the key permissions encrypt state for key permissions. KeyPermissionsEncrypt KeyPermissions = "encrypt" - // KeyPermissionsGet specifies the key permissions get state for key - // permissions. + // KeyPermissionsGet specifies the key permissions get state for key permissions. KeyPermissionsGet KeyPermissions = "get" - // KeyPermissionsImport specifies the key permissions import state for key - // permissions. + // KeyPermissionsImport specifies the key permissions import state for key permissions. KeyPermissionsImport KeyPermissions = "import" - // KeyPermissionsList specifies the key permissions list state for key - // permissions. + // KeyPermissionsList specifies the key permissions list state for key permissions. KeyPermissionsList KeyPermissions = "list" - // KeyPermissionsRestore specifies the key permissions restore state for - // key permissions. + // KeyPermissionsPurge specifies the key permissions purge state for key permissions. + KeyPermissionsPurge KeyPermissions = "purge" + // KeyPermissionsRecover specifies the key permissions recover state for key permissions. + KeyPermissionsRecover KeyPermissions = "recover" + // KeyPermissionsRestore specifies the key permissions restore state for key permissions. KeyPermissionsRestore KeyPermissions = "restore" - // KeyPermissionsSign specifies the key permissions sign state for key - // permissions. + // KeyPermissionsSign specifies the key permissions sign state for key permissions. KeyPermissionsSign KeyPermissions = "sign" - // KeyPermissionsUnwrapKey specifies the key permissions unwrap key state - // for key permissions. + // KeyPermissionsUnwrapKey specifies the key permissions unwrap key state for key permissions. KeyPermissionsUnwrapKey KeyPermissions = "unwrapKey" - // KeyPermissionsUpdate specifies the key permissions update state for key - // permissions. + // KeyPermissionsUpdate specifies the key permissions update state for key permissions. KeyPermissionsUpdate KeyPermissions = "update" - // KeyPermissionsVerify specifies the key permissions verify state for key - // permissions. + // KeyPermissionsVerify specifies the key permissions verify state for key permissions. KeyPermissionsVerify KeyPermissions = "verify" - // KeyPermissionsWrapKey specifies the key permissions wrap key state for - // key permissions. + // KeyPermissionsWrapKey specifies the key permissions wrap key state for key permissions. KeyPermissionsWrapKey KeyPermissions = "wrapKey" ) @@ -115,20 +111,21 @@ const ( type SecretPermissions string const ( - // SecretPermissionsAll specifies the secret permissions all state for - // secret permissions. - SecretPermissionsAll SecretPermissions = "all" - // SecretPermissionsDelete specifies the secret permissions delete state - // for secret permissions. + // SecretPermissionsBackup specifies the secret permissions backup state for secret permissions. + SecretPermissionsBackup SecretPermissions = "backup" + // SecretPermissionsDelete specifies the secret permissions delete state for secret permissions. SecretPermissionsDelete SecretPermissions = "delete" - // SecretPermissionsGet specifies the secret permissions get state for - // secret permissions. + // SecretPermissionsGet specifies the secret permissions get state for secret permissions. SecretPermissionsGet SecretPermissions = "get" - // SecretPermissionsList specifies the secret permissions list state for - // secret permissions. + // SecretPermissionsList specifies the secret permissions list state for secret permissions. SecretPermissionsList SecretPermissions = "list" - // SecretPermissionsSet specifies the secret permissions set state for - // secret permissions. + // SecretPermissionsPurge specifies the secret permissions purge state for secret permissions. + SecretPermissionsPurge SecretPermissions = "purge" + // SecretPermissionsRecover specifies the secret permissions recover state for secret permissions. + SecretPermissionsRecover SecretPermissions = "recover" + // SecretPermissionsRestore specifies the secret permissions restore state for secret permissions. + SecretPermissionsRestore SecretPermissions = "restore" + // SecretPermissionsSet specifies the secret permissions set state for secret permissions. SecretPermissionsSet SecretPermissions = "set" ) @@ -142,9 +139,34 @@ const ( Standard SkuName = "standard" ) -// AccessPolicyEntry is an identity that have access to the key vault. All -// identities in the array must use the same tenant ID as the key vault's -// tenant ID. +// StoragePermissions enumerates the values for storage permissions. +type StoragePermissions string + +const ( + // StoragePermissionsDelete specifies the storage permissions delete state for storage permissions. + StoragePermissionsDelete StoragePermissions = "delete" + // StoragePermissionsDeletesas specifies the storage permissions deletesas state for storage permissions. + StoragePermissionsDeletesas StoragePermissions = "deletesas" + // StoragePermissionsGet specifies the storage permissions get state for storage permissions. + StoragePermissionsGet StoragePermissions = "get" + // StoragePermissionsGetsas specifies the storage permissions getsas state for storage permissions. + StoragePermissionsGetsas StoragePermissions = "getsas" + // StoragePermissionsList specifies the storage permissions list state for storage permissions. + StoragePermissionsList StoragePermissions = "list" + // StoragePermissionsListsas specifies the storage permissions listsas state for storage permissions. + StoragePermissionsListsas StoragePermissions = "listsas" + // StoragePermissionsRegeneratekey specifies the storage permissions regeneratekey state for storage permissions. + StoragePermissionsRegeneratekey StoragePermissions = "regeneratekey" + // StoragePermissionsSet specifies the storage permissions set state for storage permissions. + StoragePermissionsSet StoragePermissions = "set" + // StoragePermissionsSetsas specifies the storage permissions setsas state for storage permissions. + StoragePermissionsSetsas StoragePermissions = "setsas" + // StoragePermissionsUpdate specifies the storage permissions update state for storage permissions. + StoragePermissionsUpdate StoragePermissions = "update" +) + +// AccessPolicyEntry is an identity that have access to the key vault. All identities in the array must use the same +// tenant ID as the key vault's tenant ID. type AccessPolicyEntry struct { TenantID *uuid.UUID `json:"tenantId,omitempty"` ObjectID *string `json:"objectId,omitempty"` @@ -152,12 +174,49 @@ type AccessPolicyEntry struct { Permissions *Permissions `json:"permissions,omitempty"` } -// Permissions is permissions the identity has for keys, secrets and -// certificates. +// DeletedVault is deleted vault information with extended details. +type DeletedVault struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Properties *DeletedVaultProperties `json:"properties,omitempty"` +} + +// DeletedVaultListResult is list of vaults +type DeletedVaultListResult struct { + autorest.Response `json:"-"` + Value *[]DeletedVault `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// DeletedVaultListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client DeletedVaultListResult) DeletedVaultListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// DeletedVaultProperties is properties of the deleted vault. +type DeletedVaultProperties struct { + VaultID *string `json:"vaultId,omitempty"` + Location *string `json:"location,omitempty"` + DeletionDate *date.Time `json:"deletionDate,omitempty"` + ScheduledPurgeDate *date.Time `json:"scheduledPurgeDate,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` +} + +// Permissions is permissions the identity has for keys, secrets, certificates and storage. type Permissions struct { Keys *[]KeyPermissions `json:"keys,omitempty"` Secrets *[]SecretPermissions `json:"secrets,omitempty"` Certificates *[]CertificatePermissions `json:"certificates,omitempty"` + Storage *[]StoragePermissions `json:"storage,omitempty"` } // Resource is key Vault resource @@ -188,7 +247,7 @@ func (client ResourceListResult) ResourceListResultPreparer() (*http.Request, er autorest.WithBaseURL(to.String(client.NextLink))) } -// Sku is sKU details +// Sku is SKU details type Sku struct { Family *string `json:"family,omitempty"` Name SkuName `json:"name,omitempty"` @@ -233,11 +292,13 @@ func (client VaultListResult) VaultListResultPreparer() (*http.Request, error) { // VaultProperties is properties of the vault type VaultProperties struct { - VaultURI *string `json:"vaultUri,omitempty"` TenantID *uuid.UUID `json:"tenantId,omitempty"` Sku *Sku `json:"sku,omitempty"` AccessPolicies *[]AccessPolicyEntry `json:"accessPolicies,omitempty"` + VaultURI *string `json:"vaultUri,omitempty"` EnabledForDeployment *bool `json:"enabledForDeployment,omitempty"` EnabledForDiskEncryption *bool `json:"enabledForDiskEncryption,omitempty"` EnabledForTemplateDeployment *bool `json:"enabledForTemplateDeployment,omitempty"` + EnableSoftDelete *bool `json:"enableSoftDelete,omitempty"` + CreateMode CreateMode `json:"createMode,omitempty"` } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/keyvault/vaults.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/keyvault/vaults.go index 5b8c021ed..47638d206 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/keyvault/vaults.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/keyvault/vaults.go @@ -14,9 +14,8 @@ package keyvault // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,8 @@ import ( "net/http" ) -// VaultsClient is the the Azure management API provides a RESTful set of web -// services that interact with Azure Key Vault. +// VaultsClient is the the Azure management API provides a RESTful set of web services that interact with Azure Key +// Vault. type VaultsClient struct { ManagementClient } @@ -43,9 +42,8 @@ func NewVaultsClientWithBaseURI(baseURI string, subscriptionID string) VaultsCli // CreateOrUpdate create or update a key vault in the specified subscription. // -// resourceGroupName is the name of the Resource Group to which the server -// belongs. vaultName is name of the vault parameters is parameters to create -// or update the vault +// resourceGroupName is the name of the Resource Group to which the server belongs. vaultName is name of the vault +// parameters is parameters to create or update the vault func (client VaultsClient) CreateOrUpdate(resourceGroupName string, vaultName string, parameters VaultCreateOrUpdateParameters) (result Vault, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: vaultName, @@ -56,7 +54,7 @@ func (client VaultsClient) CreateOrUpdate(resourceGroupName string, vaultName st Chain: []validation.Constraint{{Target: "parameters.Properties.TenantID", Name: validation.Null, Rule: true, Chain: nil}, {Target: "parameters.Properties.Sku", Name: validation.Null, Rule: true, Chain: []validation.Constraint{{Target: "parameters.Properties.Sku.Family", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "parameters.Properties.AccessPolicies", Name: validation.Null, Rule: true, + {Target: "parameters.Properties.AccessPolicies", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "parameters.Properties.AccessPolicies", Name: validation.MaxItems, Rule: 16, Chain: nil}}}, }}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "keyvault.VaultsClient", "CreateOrUpdate") @@ -91,7 +89,7 @@ func (client VaultsClient) CreateOrUpdatePreparer(resourceGroupName string, vaul "vaultName": autorest.Encode("path", vaultName), } - const APIVersion = "2015-06-01" + const APIVersion = "2016-10-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -127,8 +125,8 @@ func (client VaultsClient) CreateOrUpdateResponder(resp *http.Response) (result // Delete deletes the specified Azure key vault. // -// resourceGroupName is the name of the Resource Group to which the vault -// belongs. vaultName is the name of the vault to delete +// resourceGroupName is the name of the Resource Group to which the vault belongs. vaultName is the name of the vault +// to delete func (client VaultsClient) Delete(resourceGroupName string, vaultName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, vaultName) if err != nil { @@ -159,7 +157,7 @@ func (client VaultsClient) DeletePreparer(resourceGroupName string, vaultName st "vaultName": autorest.Encode("path", vaultName), } - const APIVersion = "2015-06-01" + const APIVersion = "2016-10-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -192,8 +190,7 @@ func (client VaultsClient) DeleteResponder(resp *http.Response) (result autorest // Get gets the specified Azure key vault. // -// resourceGroupName is the name of the Resource Group to which the vault -// belongs. vaultName is the name of the vault. +// resourceGroupName is the name of the Resource Group to which the vault belongs. vaultName is the name of the vault. func (client VaultsClient) Get(resourceGroupName string, vaultName string) (result Vault, err error) { req, err := client.GetPreparer(resourceGroupName, vaultName) if err != nil { @@ -224,7 +221,7 @@ func (client VaultsClient) GetPreparer(resourceGroupName string, vaultName strin "vaultName": autorest.Encode("path", vaultName), } - const APIVersion = "2015-06-01" + const APIVersion = "2016-10-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -256,11 +253,74 @@ func (client VaultsClient) GetResponder(resp *http.Response) (result Vault, err return } -// List the List operation gets information about the vaults associated with -// the subscription. +// GetDeleted gets the deleted Azure key vault. // -// filter is the filter to apply on the operation. top is maximum number of -// results to return. +// vaultName is the name of the vault. location is the location of the deleted vault. +func (client VaultsClient) GetDeleted(vaultName string, location string) (result DeletedVault, err error) { + req, err := client.GetDeletedPreparer(vaultName, location) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.VaultsClient", "GetDeleted", nil, "Failure preparing request") + return + } + + resp, err := client.GetDeletedSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.VaultsClient", "GetDeleted", resp, "Failure sending request") + return + } + + result, err = client.GetDeletedResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.VaultsClient", "GetDeleted", resp, "Failure responding to request") + } + + return +} + +// GetDeletedPreparer prepares the GetDeleted request. +func (client VaultsClient) GetDeletedPreparer(vaultName string, location string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vaultName": autorest.Encode("path", vaultName), + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetDeletedSender sends the GetDeleted request. The method will close the +// http.Response Body if it receives an error. +func (client VaultsClient) GetDeletedSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetDeletedResponder handles the response to the GetDeleted request. The method always +// closes the http.Response Body. +func (client VaultsClient) GetDeletedResponder(resp *http.Response) (result DeletedVault, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List the List operation gets information about the vaults associated with the subscription. +// +// filter is the filter to apply on the operation. top is maximum number of results to return. func (client VaultsClient) List(filter string, top *int32) (result ResourceListResult, err error) { req, err := client.ListPreparer(filter, top) if err != nil { @@ -349,11 +409,56 @@ func (client VaultsClient) ListNextResults(lastResults ResourceListResult) (resu return } -// ListByResourceGroup the List operation gets information about the vaults -// associated with the subscription and within the specified resource group. +// ListComplete gets all elements from the list without paging. +func (client VaultsClient) ListComplete(filter string, top *int32, cancel <-chan struct{}) (<-chan Resource, <-chan error) { + resultChan := make(chan Resource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(filter, top) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListByResourceGroup the List operation gets information about the vaults associated with the subscription and within +// the specified resource group. // -// resourceGroupName is the name of the Resource Group to which the vault -// belongs. top is maximum number of results to return. +// resourceGroupName is the name of the Resource Group to which the vault belongs. top is maximum number of results to +// return. func (client VaultsClient) ListByResourceGroup(resourceGroupName string, top *int32) (result VaultListResult, err error) { req, err := client.ListByResourceGroupPreparer(resourceGroupName, top) if err != nil { @@ -383,7 +488,7 @@ func (client VaultsClient) ListByResourceGroupPreparer(resourceGroupName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-06-01" + const APIVersion = "2016-10-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -441,3 +546,259 @@ func (client VaultsClient) ListByResourceGroupNextResults(lastResults VaultListR return } + +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client VaultsClient) ListByResourceGroupComplete(resourceGroupName string, top *int32, cancel <-chan struct{}) (<-chan Vault, <-chan error) { + resultChan := make(chan Vault) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName, top) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListDeleted gets information about the deleted vaults in a subscription. +func (client VaultsClient) ListDeleted() (result DeletedVaultListResult, err error) { + req, err := client.ListDeletedPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.VaultsClient", "ListDeleted", nil, "Failure preparing request") + return + } + + resp, err := client.ListDeletedSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.VaultsClient", "ListDeleted", resp, "Failure sending request") + return + } + + result, err = client.ListDeletedResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.VaultsClient", "ListDeleted", resp, "Failure responding to request") + } + + return +} + +// ListDeletedPreparer prepares the ListDeleted request. +func (client VaultsClient) ListDeletedPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/deletedVaults", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListDeletedSender sends the ListDeleted request. The method will close the +// http.Response Body if it receives an error. +func (client VaultsClient) ListDeletedSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListDeletedResponder handles the response to the ListDeleted request. The method always +// closes the http.Response Body. +func (client VaultsClient) ListDeletedResponder(resp *http.Response) (result DeletedVaultListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListDeletedNextResults retrieves the next set of results, if any. +func (client VaultsClient) ListDeletedNextResults(lastResults DeletedVaultListResult) (result DeletedVaultListResult, err error) { + req, err := lastResults.DeletedVaultListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "keyvault.VaultsClient", "ListDeleted", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListDeletedSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "keyvault.VaultsClient", "ListDeleted", resp, "Failure sending next results request") + } + + result, err = client.ListDeletedResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.VaultsClient", "ListDeleted", resp, "Failure responding to next results request") + } + + return +} + +// ListDeletedComplete gets all elements from the list without paging. +func (client VaultsClient) ListDeletedComplete(cancel <-chan struct{}) (<-chan DeletedVault, <-chan error) { + resultChan := make(chan DeletedVault) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListDeleted() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListDeletedNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// PurgeDeleted permanently deletes the specified vault. aka Purges the deleted Azure key vault. This method may poll +// for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. +// +// vaultName is the name of the soft-deleted vault. location is the location of the soft-deleted vault. +func (client VaultsClient) PurgeDeleted(vaultName string, location string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.PurgeDeletedPreparer(vaultName, location, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.VaultsClient", "PurgeDeleted", nil, "Failure preparing request") + return + } + + resp, err := client.PurgeDeletedSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "keyvault.VaultsClient", "PurgeDeleted", resp, "Failure sending request") + return + } + + result, err = client.PurgeDeletedResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.VaultsClient", "PurgeDeleted", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// PurgeDeletedPreparer prepares the PurgeDeleted request. +func (client VaultsClient) PurgeDeletedPreparer(vaultName string, location string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vaultName": autorest.Encode("path", vaultName), + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}/purge", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// PurgeDeletedSender sends the PurgeDeleted request. The method will close the +// http.Response Body if it receives an error. +func (client VaultsClient) PurgeDeletedSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// PurgeDeletedResponder handles the response to the PurgeDeleted request. The method always +// closes the http.Response Body. +func (client VaultsClient) PurgeDeletedResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/keyvault/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/keyvault/version.go index 70f5ddb89..64ff8541e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/keyvault/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/keyvault/version.go @@ -14,16 +14,15 @@ package keyvault // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-keyvault/2015-06-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-keyvault/2016-10-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/agreements.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/agreements.go index 20a2bd1b9..6845db82e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/agreements.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/agreements.go @@ -14,9 +14,8 @@ package logic // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// AgreementsClient is the rEST API for Azure Logic Apps. +// AgreementsClient is the REST API for Azure Logic Apps. type AgreementsClient struct { ManagementClient } @@ -35,17 +34,15 @@ func NewAgreementsClient(subscriptionID string) AgreementsClient { return NewAgreementsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewAgreementsClientWithBaseURI creates an instance of the AgreementsClient -// client. +// NewAgreementsClientWithBaseURI creates an instance of the AgreementsClient client. func NewAgreementsClientWithBaseURI(baseURI string, subscriptionID string) AgreementsClient { return AgreementsClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate creates or updates an integration account agreement. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. agreementName is the integration account agreement -// name. agreement is the integration account agreement. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. agreementName +// is the integration account agreement name. agreement is the integration account agreement. func (client AgreementsClient) CreateOrUpdate(resourceGroupName string, integrationAccountName string, agreementName string, agreement IntegrationAccountAgreement) (result IntegrationAccountAgreement, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: agreement, @@ -548,9 +545,8 @@ func (client AgreementsClient) CreateOrUpdateResponder(resp *http.Response) (res // Delete deletes an integration account agreement. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. agreementName is the integration account agreement -// name. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. agreementName +// is the integration account agreement name. func (client AgreementsClient) Delete(resourceGroupName string, integrationAccountName string, agreementName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, integrationAccountName, agreementName) if err != nil { @@ -615,9 +611,8 @@ func (client AgreementsClient) DeleteResponder(resp *http.Response) (result auto // Get gets an integration account agreement. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. agreementName is the integration account agreement -// name. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. agreementName +// is the integration account agreement name. func (client AgreementsClient) Get(resourceGroupName string, integrationAccountName string, agreementName string) (result IntegrationAccountAgreement, err error) { req, err := client.GetPreparer(resourceGroupName, integrationAccountName, agreementName) if err != nil { @@ -683,9 +678,8 @@ func (client AgreementsClient) GetResponder(resp *http.Response) (result Integra // ListByIntegrationAccounts gets a list of integration account agreements. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. top is the number of items to be included in the -// result. filter is the filter to apply on the operation. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. top is the +// number of items to be included in the result. filter is the filter to apply on the operation. func (client AgreementsClient) ListByIntegrationAccounts(resourceGroupName string, integrationAccountName string, top *int32, filter string) (result IntegrationAccountAgreementListResult, err error) { req, err := client.ListByIntegrationAccountsPreparer(resourceGroupName, integrationAccountName, top, filter) if err != nil { @@ -777,3 +771,48 @@ func (client AgreementsClient) ListByIntegrationAccountsNextResults(lastResults return } + +// ListByIntegrationAccountsComplete gets all elements from the list without paging. +func (client AgreementsClient) ListByIntegrationAccountsComplete(resourceGroupName string, integrationAccountName string, top *int32, filter string, cancel <-chan struct{}) (<-chan IntegrationAccountAgreement, <-chan error) { + resultChan := make(chan IntegrationAccountAgreement) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByIntegrationAccounts(resourceGroupName, integrationAccountName, top, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByIntegrationAccountsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/certificates.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/certificates.go index 04f3e7596..175ccbae3 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/certificates.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/certificates.go @@ -14,9 +14,8 @@ package logic // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// CertificatesClient is the rEST API for Azure Logic Apps. +// CertificatesClient is the REST API for Azure Logic Apps. type CertificatesClient struct { ManagementClient } @@ -35,17 +34,15 @@ func NewCertificatesClient(subscriptionID string) CertificatesClient { return NewCertificatesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewCertificatesClientWithBaseURI creates an instance of the -// CertificatesClient client. +// NewCertificatesClientWithBaseURI creates an instance of the CertificatesClient client. func NewCertificatesClientWithBaseURI(baseURI string, subscriptionID string) CertificatesClient { return CertificatesClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate creates or updates an integration account certificate. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. certificateName is the integration account -// certificate name. certificate is the integration account certificate. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. +// certificateName is the integration account certificate name. certificate is the integration account certificate. func (client CertificatesClient) CreateOrUpdate(resourceGroupName string, integrationAccountName string, certificateName string, certificate IntegrationAccountCertificate) (result IntegrationAccountCertificate, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: certificate, @@ -124,9 +121,8 @@ func (client CertificatesClient) CreateOrUpdateResponder(resp *http.Response) (r // Delete deletes an integration account certificate. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. certificateName is the integration account -// certificate name. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. +// certificateName is the integration account certificate name. func (client CertificatesClient) Delete(resourceGroupName string, integrationAccountName string, certificateName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, integrationAccountName, certificateName) if err != nil { @@ -191,9 +187,8 @@ func (client CertificatesClient) DeleteResponder(resp *http.Response) (result au // Get gets an integration account certificate. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. certificateName is the integration account -// certificate name. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. +// certificateName is the integration account certificate name. func (client CertificatesClient) Get(resourceGroupName string, integrationAccountName string, certificateName string) (result IntegrationAccountCertificate, err error) { req, err := client.GetPreparer(resourceGroupName, integrationAccountName, certificateName) if err != nil { @@ -259,9 +254,8 @@ func (client CertificatesClient) GetResponder(resp *http.Response) (result Integ // ListByIntegrationAccounts gets a list of integration account certificates. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. top is the number of items to be included in the -// result. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. top is the +// number of items to be included in the result. func (client CertificatesClient) ListByIntegrationAccounts(resourceGroupName string, integrationAccountName string, top *int32) (result IntegrationAccountCertificateListResult, err error) { req, err := client.ListByIntegrationAccountsPreparer(resourceGroupName, integrationAccountName, top) if err != nil { @@ -350,3 +344,48 @@ func (client CertificatesClient) ListByIntegrationAccountsNextResults(lastResult return } + +// ListByIntegrationAccountsComplete gets all elements from the list without paging. +func (client CertificatesClient) ListByIntegrationAccountsComplete(resourceGroupName string, integrationAccountName string, top *int32, cancel <-chan struct{}) (<-chan IntegrationAccountCertificate, <-chan error) { + resultChan := make(chan IntegrationAccountCertificate) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByIntegrationAccounts(resourceGroupName, integrationAccountName, top) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByIntegrationAccountsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/client.go index 673d79956..5f1a079fe 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/client.go @@ -17,9 +17,8 @@ package logic // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -133,3 +132,48 @@ func (client ManagementClient) ListOperationsNextResults(lastResults OperationLi return } + +// ListOperationsComplete gets all elements from the list without paging. +func (client ManagementClient) ListOperationsComplete(cancel <-chan struct{}) (<-chan Operation, <-chan error) { + resultChan := make(chan Operation) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListOperations() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListOperationsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/integrationaccounts.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/integrationaccounts.go index 9de0b8072..f9fa29791 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/integrationaccounts.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/integrationaccounts.go @@ -14,9 +14,8 @@ package logic // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,27 +23,25 @@ import ( "net/http" ) -// IntegrationAccountsClient is the rEST API for Azure Logic Apps. +// IntegrationAccountsClient is the REST API for Azure Logic Apps. type IntegrationAccountsClient struct { ManagementClient } -// NewIntegrationAccountsClient creates an instance of the -// IntegrationAccountsClient client. +// NewIntegrationAccountsClient creates an instance of the IntegrationAccountsClient client. func NewIntegrationAccountsClient(subscriptionID string) IntegrationAccountsClient { return NewIntegrationAccountsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewIntegrationAccountsClientWithBaseURI creates an instance of the -// IntegrationAccountsClient client. +// NewIntegrationAccountsClientWithBaseURI creates an instance of the IntegrationAccountsClient client. func NewIntegrationAccountsClientWithBaseURI(baseURI string, subscriptionID string) IntegrationAccountsClient { return IntegrationAccountsClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate creates or updates an integration account. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. integrationAccount is the integration account. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. +// integrationAccount is the integration account. func (client IntegrationAccountsClient) CreateOrUpdate(resourceGroupName string, integrationAccountName string, integrationAccount IntegrationAccount) (result IntegrationAccount, err error) { req, err := client.CreateOrUpdatePreparer(resourceGroupName, integrationAccountName, integrationAccount) if err != nil { @@ -111,8 +108,7 @@ func (client IntegrationAccountsClient) CreateOrUpdateResponder(resp *http.Respo // Delete deletes an integration account. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. func (client IntegrationAccountsClient) Delete(resourceGroupName string, integrationAccountName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, integrationAccountName) if err != nil { @@ -176,8 +172,7 @@ func (client IntegrationAccountsClient) DeleteResponder(resp *http.Response) (re // Get gets an integration account. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. func (client IntegrationAccountsClient) Get(resourceGroupName string, integrationAccountName string) (result IntegrationAccount, err error) { req, err := client.GetPreparer(resourceGroupName, integrationAccountName) if err != nil { @@ -242,8 +237,8 @@ func (client IntegrationAccountsClient) GetResponder(resp *http.Response) (resul // GetCallbackURL gets the integration account callback URL. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. parameters is the callback URL parameters. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. parameters is +// the callback URL parameters. func (client IntegrationAccountsClient) GetCallbackURL(resourceGroupName string, integrationAccountName string, parameters GetCallbackURLParameters) (result CallbackURL, err error) { req, err := client.GetCallbackURLPreparer(resourceGroupName, integrationAccountName, parameters) if err != nil { @@ -310,8 +305,7 @@ func (client IntegrationAccountsClient) GetCallbackURLResponder(resp *http.Respo // ListByResourceGroup gets a list of integration accounts by resource group. // -// resourceGroupName is the resource group name. top is the number of items to -// be included in the result. +// resourceGroupName is the resource group name. top is the number of items to be included in the result. func (client IntegrationAccountsClient) ListByResourceGroup(resourceGroupName string, top *int32) (result IntegrationAccountListResult, err error) { req, err := client.ListByResourceGroupPreparer(resourceGroupName, top) if err != nil { @@ -400,6 +394,51 @@ func (client IntegrationAccountsClient) ListByResourceGroupNextResults(lastResul return } +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client IntegrationAccountsClient) ListByResourceGroupComplete(resourceGroupName string, top *int32, cancel <-chan struct{}) (<-chan IntegrationAccount, <-chan error) { + resultChan := make(chan IntegrationAccount) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName, top) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListBySubscription gets a list of integration accounts by subscription. // // top is the number of items to be included in the result. @@ -490,10 +529,55 @@ func (client IntegrationAccountsClient) ListBySubscriptionNextResults(lastResult return } +// ListBySubscriptionComplete gets all elements from the list without paging. +func (client IntegrationAccountsClient) ListBySubscriptionComplete(top *int32, cancel <-chan struct{}) (<-chan IntegrationAccount, <-chan error) { + resultChan := make(chan IntegrationAccount) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListBySubscription(top) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListBySubscriptionNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update updates an integration account. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. integrationAccount is the integration account. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. +// integrationAccount is the integration account. func (client IntegrationAccountsClient) Update(resourceGroupName string, integrationAccountName string, integrationAccount IntegrationAccount) (result IntegrationAccount, err error) { req, err := client.UpdatePreparer(resourceGroupName, integrationAccountName, integrationAccount) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/maps.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/maps.go index 40ca83df4..9dfa5dcb4 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/maps.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/maps.go @@ -14,9 +14,8 @@ package logic // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// MapsClient is the rEST API for Azure Logic Apps. +// MapsClient is the REST API for Azure Logic Apps. type MapsClient struct { ManagementClient } @@ -42,9 +41,8 @@ func NewMapsClientWithBaseURI(baseURI string, subscriptionID string) MapsClient // CreateOrUpdate creates or updates an integration account map. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. mapName is the integration account map name. -// mapParameter is the integration account map. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. mapName is the +// integration account map name. mapParameter is the integration account map. func (client MapsClient) CreateOrUpdate(resourceGroupName string, integrationAccountName string, mapName string, mapParameter IntegrationAccountMap) (result IntegrationAccountMap, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: mapParameter, @@ -118,8 +116,8 @@ func (client MapsClient) CreateOrUpdateResponder(resp *http.Response) (result In // Delete deletes an integration account map. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. mapName is the integration account map name. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. mapName is the +// integration account map name. func (client MapsClient) Delete(resourceGroupName string, integrationAccountName string, mapName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, integrationAccountName, mapName) if err != nil { @@ -184,8 +182,8 @@ func (client MapsClient) DeleteResponder(resp *http.Response) (result autorest.R // Get gets an integration account map. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. mapName is the integration account map name. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. mapName is the +// integration account map name. func (client MapsClient) Get(resourceGroupName string, integrationAccountName string, mapName string) (result IntegrationAccountMap, err error) { req, err := client.GetPreparer(resourceGroupName, integrationAccountName, mapName) if err != nil { @@ -251,9 +249,8 @@ func (client MapsClient) GetResponder(resp *http.Response) (result IntegrationAc // ListByIntegrationAccounts gets a list of integration account maps. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. top is the number of items to be included in the -// result. filter is the filter to apply on the operation. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. top is the +// number of items to be included in the result. filter is the filter to apply on the operation. func (client MapsClient) ListByIntegrationAccounts(resourceGroupName string, integrationAccountName string, top *int32, filter string) (result IntegrationAccountMapListResult, err error) { req, err := client.ListByIntegrationAccountsPreparer(resourceGroupName, integrationAccountName, top, filter) if err != nil { @@ -345,3 +342,48 @@ func (client MapsClient) ListByIntegrationAccountsNextResults(lastResults Integr return } + +// ListByIntegrationAccountsComplete gets all elements from the list without paging. +func (client MapsClient) ListByIntegrationAccountsComplete(resourceGroupName string, integrationAccountName string, top *int32, filter string, cancel <-chan struct{}) (<-chan IntegrationAccountMap, <-chan error) { + resultChan := make(chan IntegrationAccountMap) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByIntegrationAccounts(resourceGroupName, integrationAccountName, top, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByIntegrationAccountsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/models.go index 159cda6dc..80b94db41 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/models.go @@ -14,9 +14,8 @@ package logic // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -63,26 +62,19 @@ const ( type DaysOfWeek string const ( - // DaysOfWeekFriday specifies the days of week friday state for days of - // week. + // DaysOfWeekFriday specifies the days of week friday state for days of week. DaysOfWeekFriday DaysOfWeek = "Friday" - // DaysOfWeekMonday specifies the days of week monday state for days of - // week. + // DaysOfWeekMonday specifies the days of week monday state for days of week. DaysOfWeekMonday DaysOfWeek = "Monday" - // DaysOfWeekSaturday specifies the days of week saturday state for days of - // week. + // DaysOfWeekSaturday specifies the days of week saturday state for days of week. DaysOfWeekSaturday DaysOfWeek = "Saturday" - // DaysOfWeekSunday specifies the days of week sunday state for days of - // week. + // DaysOfWeekSunday specifies the days of week sunday state for days of week. DaysOfWeekSunday DaysOfWeek = "Sunday" - // DaysOfWeekThursday specifies the days of week thursday state for days of - // week. + // DaysOfWeekThursday specifies the days of week thursday state for days of week. DaysOfWeekThursday DaysOfWeek = "Thursday" - // DaysOfWeekTuesday specifies the days of week tuesday state for days of - // week. + // DaysOfWeekTuesday specifies the days of week tuesday state for days of week. DaysOfWeekTuesday DaysOfWeek = "Tuesday" - // DaysOfWeekWednesday specifies the days of week wednesday state for days - // of week. + // DaysOfWeekWednesday specifies the days of week wednesday state for days of week. DaysOfWeekWednesday DaysOfWeek = "Wednesday" ) @@ -90,50 +82,35 @@ const ( type EdifactCharacterSet string const ( - // EdifactCharacterSetKECA specifies the edifact character set keca state - // for edifact character set. + // EdifactCharacterSetKECA specifies the edifact character set keca state for edifact character set. EdifactCharacterSetKECA EdifactCharacterSet = "KECA" - // EdifactCharacterSetNotSpecified specifies the edifact character set not - // specified state for edifact character set. + // EdifactCharacterSetNotSpecified specifies the edifact character set not specified state for edifact character set. EdifactCharacterSetNotSpecified EdifactCharacterSet = "NotSpecified" - // EdifactCharacterSetUNOA specifies the edifact character set unoa state - // for edifact character set. + // EdifactCharacterSetUNOA specifies the edifact character set unoa state for edifact character set. EdifactCharacterSetUNOA EdifactCharacterSet = "UNOA" - // EdifactCharacterSetUNOB specifies the edifact character set unob state - // for edifact character set. + // EdifactCharacterSetUNOB specifies the edifact character set unob state for edifact character set. EdifactCharacterSetUNOB EdifactCharacterSet = "UNOB" - // EdifactCharacterSetUNOC specifies the edifact character set unoc state - // for edifact character set. + // EdifactCharacterSetUNOC specifies the edifact character set unoc state for edifact character set. EdifactCharacterSetUNOC EdifactCharacterSet = "UNOC" - // EdifactCharacterSetUNOD specifies the edifact character set unod state - // for edifact character set. + // EdifactCharacterSetUNOD specifies the edifact character set unod state for edifact character set. EdifactCharacterSetUNOD EdifactCharacterSet = "UNOD" - // EdifactCharacterSetUNOE specifies the edifact character set unoe state - // for edifact character set. + // EdifactCharacterSetUNOE specifies the edifact character set unoe state for edifact character set. EdifactCharacterSetUNOE EdifactCharacterSet = "UNOE" - // EdifactCharacterSetUNOF specifies the edifact character set unof state - // for edifact character set. + // EdifactCharacterSetUNOF specifies the edifact character set unof state for edifact character set. EdifactCharacterSetUNOF EdifactCharacterSet = "UNOF" - // EdifactCharacterSetUNOG specifies the edifact character set unog state - // for edifact character set. + // EdifactCharacterSetUNOG specifies the edifact character set unog state for edifact character set. EdifactCharacterSetUNOG EdifactCharacterSet = "UNOG" - // EdifactCharacterSetUNOH specifies the edifact character set unoh state - // for edifact character set. + // EdifactCharacterSetUNOH specifies the edifact character set unoh state for edifact character set. EdifactCharacterSetUNOH EdifactCharacterSet = "UNOH" - // EdifactCharacterSetUNOI specifies the edifact character set unoi state - // for edifact character set. + // EdifactCharacterSetUNOI specifies the edifact character set unoi state for edifact character set. EdifactCharacterSetUNOI EdifactCharacterSet = "UNOI" - // EdifactCharacterSetUNOJ specifies the edifact character set unoj state - // for edifact character set. + // EdifactCharacterSetUNOJ specifies the edifact character set unoj state for edifact character set. EdifactCharacterSetUNOJ EdifactCharacterSet = "UNOJ" - // EdifactCharacterSetUNOK specifies the edifact character set unok state - // for edifact character set. + // EdifactCharacterSetUNOK specifies the edifact character set unok state for edifact character set. EdifactCharacterSetUNOK EdifactCharacterSet = "UNOK" - // EdifactCharacterSetUNOX specifies the edifact character set unox state - // for edifact character set. + // EdifactCharacterSetUNOX specifies the edifact character set unox state for edifact character set. EdifactCharacterSetUNOX EdifactCharacterSet = "UNOX" - // EdifactCharacterSetUNOY specifies the edifact character set unoy state - // for edifact character set. + // EdifactCharacterSetUNOY specifies the edifact character set unoy state for edifact character set. EdifactCharacterSetUNOY EdifactCharacterSet = "UNOY" ) @@ -141,14 +118,12 @@ const ( type EdifactDecimalIndicator string const ( - // EdifactDecimalIndicatorComma specifies the edifact decimal indicator - // comma state for edifact decimal indicator. + // EdifactDecimalIndicatorComma specifies the edifact decimal indicator comma state for edifact decimal indicator. EdifactDecimalIndicatorComma EdifactDecimalIndicator = "Comma" - // EdifactDecimalIndicatorDecimal specifies the edifact decimal indicator - // decimal state for edifact decimal indicator. + // EdifactDecimalIndicatorDecimal specifies the edifact decimal indicator decimal state for edifact decimal indicator. EdifactDecimalIndicatorDecimal EdifactDecimalIndicator = "Decimal" - // EdifactDecimalIndicatorNotSpecified specifies the edifact decimal - // indicator not specified state for edifact decimal indicator. + // EdifactDecimalIndicatorNotSpecified specifies the edifact decimal indicator not specified state for edifact decimal + // indicator. EdifactDecimalIndicatorNotSpecified EdifactDecimalIndicator = "NotSpecified" ) @@ -156,26 +131,19 @@ const ( type EncryptionAlgorithm string const ( - // EncryptionAlgorithmAES128 specifies the encryption algorithm aes128 - // state for encryption algorithm. + // EncryptionAlgorithmAES128 specifies the encryption algorithm aes128 state for encryption algorithm. EncryptionAlgorithmAES128 EncryptionAlgorithm = "AES128" - // EncryptionAlgorithmAES192 specifies the encryption algorithm aes192 - // state for encryption algorithm. + // EncryptionAlgorithmAES192 specifies the encryption algorithm aes192 state for encryption algorithm. EncryptionAlgorithmAES192 EncryptionAlgorithm = "AES192" - // EncryptionAlgorithmAES256 specifies the encryption algorithm aes256 - // state for encryption algorithm. + // EncryptionAlgorithmAES256 specifies the encryption algorithm aes256 state for encryption algorithm. EncryptionAlgorithmAES256 EncryptionAlgorithm = "AES256" - // EncryptionAlgorithmDES3 specifies the encryption algorithm des3 state - // for encryption algorithm. + // EncryptionAlgorithmDES3 specifies the encryption algorithm des3 state for encryption algorithm. EncryptionAlgorithmDES3 EncryptionAlgorithm = "DES3" - // EncryptionAlgorithmNone specifies the encryption algorithm none state - // for encryption algorithm. + // EncryptionAlgorithmNone specifies the encryption algorithm none state for encryption algorithm. EncryptionAlgorithmNone EncryptionAlgorithm = "None" - // EncryptionAlgorithmNotSpecified specifies the encryption algorithm not - // specified state for encryption algorithm. + // EncryptionAlgorithmNotSpecified specifies the encryption algorithm not specified state for encryption algorithm. EncryptionAlgorithmNotSpecified EncryptionAlgorithm = "NotSpecified" - // EncryptionAlgorithmRC2 specifies the encryption algorithm rc2 state for - // encryption algorithm. + // EncryptionAlgorithmRC2 specifies the encryption algorithm rc2 state for encryption algorithm. EncryptionAlgorithmRC2 EncryptionAlgorithm = "RC2" ) @@ -183,42 +151,34 @@ const ( type HashingAlgorithm string const ( - // HashingAlgorithmMD5 specifies the hashing algorithm md5 state for - // hashing algorithm. + // HashingAlgorithmMD5 specifies the hashing algorithm md5 state for hashing algorithm. HashingAlgorithmMD5 HashingAlgorithm = "MD5" - // HashingAlgorithmNone specifies the hashing algorithm none state for - // hashing algorithm. + // HashingAlgorithmNone specifies the hashing algorithm none state for hashing algorithm. HashingAlgorithmNone HashingAlgorithm = "None" - // HashingAlgorithmNotSpecified specifies the hashing algorithm not - // specified state for hashing algorithm. + // HashingAlgorithmNotSpecified specifies the hashing algorithm not specified state for hashing algorithm. HashingAlgorithmNotSpecified HashingAlgorithm = "NotSpecified" - // HashingAlgorithmSHA1 specifies the hashing algorithm sha1 state for - // hashing algorithm. + // HashingAlgorithmSHA1 specifies the hashing algorithm sha1 state for hashing algorithm. HashingAlgorithmSHA1 HashingAlgorithm = "SHA1" - // HashingAlgorithmSHA2256 specifies the hashing algorithm sha2256 state - // for hashing algorithm. + // HashingAlgorithmSHA2256 specifies the hashing algorithm sha2256 state for hashing algorithm. HashingAlgorithmSHA2256 HashingAlgorithm = "SHA2256" - // HashingAlgorithmSHA2384 specifies the hashing algorithm sha2384 state - // for hashing algorithm. + // HashingAlgorithmSHA2384 specifies the hashing algorithm sha2384 state for hashing algorithm. HashingAlgorithmSHA2384 HashingAlgorithm = "SHA2384" - // HashingAlgorithmSHA2512 specifies the hashing algorithm sha2512 state - // for hashing algorithm. + // HashingAlgorithmSHA2512 specifies the hashing algorithm sha2512 state for hashing algorithm. HashingAlgorithmSHA2512 HashingAlgorithm = "SHA2512" ) -// IntegrationAccountSkuName enumerates the values for integration account sku -// name. +// IntegrationAccountSkuName enumerates the values for integration account sku name. type IntegrationAccountSkuName string const ( - // IntegrationAccountSkuNameFree specifies the integration account sku name - // free state for integration account sku name. + // IntegrationAccountSkuNameFree specifies the integration account sku name free state for integration account sku + // name. IntegrationAccountSkuNameFree IntegrationAccountSkuName = "Free" - // IntegrationAccountSkuNameNotSpecified specifies the integration account - // sku name not specified state for integration account sku name. + // IntegrationAccountSkuNameNotSpecified specifies the integration account sku name not specified state for integration + // account sku name. IntegrationAccountSkuNameNotSpecified IntegrationAccountSkuName = "NotSpecified" - // IntegrationAccountSkuNameStandard specifies the integration account sku - // name standard state for integration account sku name. + // IntegrationAccountSkuNameStandard specifies the integration account sku name standard state for integration account + // sku name. IntegrationAccountSkuNameStandard IntegrationAccountSkuName = "Standard" ) @@ -226,8 +186,7 @@ const ( type KeyType string const ( - // KeyTypeNotSpecified specifies the key type not specified state for key - // type. + // KeyTypeNotSpecified specifies the key type not specified state for key type. KeyTypeNotSpecified KeyType = "NotSpecified" // KeyTypePrimary specifies the key type primary state for key type. KeyTypePrimary KeyType = "Primary" @@ -239,8 +198,7 @@ const ( type MapType string const ( - // MapTypeNotSpecified specifies the map type not specified state for map - // type. + // MapTypeNotSpecified specifies the map type not specified state for map type. MapTypeNotSpecified MapType = "NotSpecified" // MapTypeXslt specifies the map type xslt state for map type. MapTypeXslt MapType = "Xslt" @@ -250,14 +208,11 @@ const ( type MessageFilterType string const ( - // MessageFilterTypeExclude specifies the message filter type exclude state - // for message filter type. + // MessageFilterTypeExclude specifies the message filter type exclude state for message filter type. MessageFilterTypeExclude MessageFilterType = "Exclude" - // MessageFilterTypeInclude specifies the message filter type include state - // for message filter type. + // MessageFilterTypeInclude specifies the message filter type include state for message filter type. MessageFilterTypeInclude MessageFilterType = "Include" - // MessageFilterTypeNotSpecified specifies the message filter type not - // specified state for message filter type. + // MessageFilterTypeNotSpecified specifies the message filter type not specified state for message filter type. MessageFilterTypeNotSpecified MessageFilterType = "NotSpecified" ) @@ -265,32 +220,23 @@ const ( type ParameterType string const ( - // ParameterTypeArray specifies the parameter type array state for - // parameter type. + // ParameterTypeArray specifies the parameter type array state for parameter type. ParameterTypeArray ParameterType = "Array" - // ParameterTypeBool specifies the parameter type bool state for parameter - // type. + // ParameterTypeBool specifies the parameter type bool state for parameter type. ParameterTypeBool ParameterType = "Bool" - // ParameterTypeFloat specifies the parameter type float state for - // parameter type. + // ParameterTypeFloat specifies the parameter type float state for parameter type. ParameterTypeFloat ParameterType = "Float" - // ParameterTypeInt specifies the parameter type int state for parameter - // type. + // ParameterTypeInt specifies the parameter type int state for parameter type. ParameterTypeInt ParameterType = "Int" - // ParameterTypeNotSpecified specifies the parameter type not specified - // state for parameter type. + // ParameterTypeNotSpecified specifies the parameter type not specified state for parameter type. ParameterTypeNotSpecified ParameterType = "NotSpecified" - // ParameterTypeObject specifies the parameter type object state for - // parameter type. + // ParameterTypeObject specifies the parameter type object state for parameter type. ParameterTypeObject ParameterType = "Object" - // ParameterTypeSecureObject specifies the parameter type secure object - // state for parameter type. + // ParameterTypeSecureObject specifies the parameter type secure object state for parameter type. ParameterTypeSecureObject ParameterType = "SecureObject" - // ParameterTypeSecureString specifies the parameter type secure string - // state for parameter type. + // ParameterTypeSecureString specifies the parameter type secure string state for parameter type. ParameterTypeSecureString ParameterType = "SecureString" - // ParameterTypeString specifies the parameter type string state for - // parameter type. + // ParameterTypeString specifies the parameter type string state for parameter type. ParameterTypeString ParameterType = "String" ) @@ -300,8 +246,7 @@ type PartnerType string const ( // PartnerTypeB2B specifies the partner type b2b state for partner type. PartnerTypeB2B PartnerType = "B2B" - // PartnerTypeNotSpecified specifies the partner type not specified state - // for partner type. + // PartnerTypeNotSpecified specifies the partner type not specified state for partner type. PartnerTypeNotSpecified PartnerType = "NotSpecified" ) @@ -309,29 +254,21 @@ const ( type RecurrenceFrequency string const ( - // RecurrenceFrequencyDay specifies the recurrence frequency day state for - // recurrence frequency. + // RecurrenceFrequencyDay specifies the recurrence frequency day state for recurrence frequency. RecurrenceFrequencyDay RecurrenceFrequency = "Day" - // RecurrenceFrequencyHour specifies the recurrence frequency hour state - // for recurrence frequency. + // RecurrenceFrequencyHour specifies the recurrence frequency hour state for recurrence frequency. RecurrenceFrequencyHour RecurrenceFrequency = "Hour" - // RecurrenceFrequencyMinute specifies the recurrence frequency minute - // state for recurrence frequency. + // RecurrenceFrequencyMinute specifies the recurrence frequency minute state for recurrence frequency. RecurrenceFrequencyMinute RecurrenceFrequency = "Minute" - // RecurrenceFrequencyMonth specifies the recurrence frequency month state - // for recurrence frequency. + // RecurrenceFrequencyMonth specifies the recurrence frequency month state for recurrence frequency. RecurrenceFrequencyMonth RecurrenceFrequency = "Month" - // RecurrenceFrequencyNotSpecified specifies the recurrence frequency not - // specified state for recurrence frequency. + // RecurrenceFrequencyNotSpecified specifies the recurrence frequency not specified state for recurrence frequency. RecurrenceFrequencyNotSpecified RecurrenceFrequency = "NotSpecified" - // RecurrenceFrequencySecond specifies the recurrence frequency second - // state for recurrence frequency. + // RecurrenceFrequencySecond specifies the recurrence frequency second state for recurrence frequency. RecurrenceFrequencySecond RecurrenceFrequency = "Second" - // RecurrenceFrequencyWeek specifies the recurrence frequency week state - // for recurrence frequency. + // RecurrenceFrequencyWeek specifies the recurrence frequency week state for recurrence frequency. RecurrenceFrequencyWeek RecurrenceFrequency = "Week" - // RecurrenceFrequencyYear specifies the recurrence frequency year state - // for recurrence frequency. + // RecurrenceFrequencyYear specifies the recurrence frequency year state for recurrence frequency. RecurrenceFrequencyYear RecurrenceFrequency = "Year" ) @@ -339,8 +276,7 @@ const ( type SchemaType string const ( - // SchemaTypeNotSpecified specifies the schema type not specified state for - // schema type. + // SchemaTypeNotSpecified specifies the schema type not specified state for schema type. SchemaTypeNotSpecified SchemaType = "NotSpecified" // SchemaTypeXML specifies the schema type xml state for schema type. SchemaTypeXML SchemaType = "Xml" @@ -350,20 +286,16 @@ const ( type SegmentTerminatorSuffix string const ( - // SegmentTerminatorSuffixCR specifies the segment terminator suffix cr - // state for segment terminator suffix. + // SegmentTerminatorSuffixCR specifies the segment terminator suffix cr state for segment terminator suffix. SegmentTerminatorSuffixCR SegmentTerminatorSuffix = "CR" - // SegmentTerminatorSuffixCRLF specifies the segment terminator suffix crlf - // state for segment terminator suffix. + // SegmentTerminatorSuffixCRLF specifies the segment terminator suffix crlf state for segment terminator suffix. SegmentTerminatorSuffixCRLF SegmentTerminatorSuffix = "CRLF" - // SegmentTerminatorSuffixLF specifies the segment terminator suffix lf - // state for segment terminator suffix. + // SegmentTerminatorSuffixLF specifies the segment terminator suffix lf state for segment terminator suffix. SegmentTerminatorSuffixLF SegmentTerminatorSuffix = "LF" - // SegmentTerminatorSuffixNone specifies the segment terminator suffix none - // state for segment terminator suffix. + // SegmentTerminatorSuffixNone specifies the segment terminator suffix none state for segment terminator suffix. SegmentTerminatorSuffixNone SegmentTerminatorSuffix = "None" - // SegmentTerminatorSuffixNotSpecified specifies the segment terminator - // suffix not specified state for segment terminator suffix. + // SegmentTerminatorSuffixNotSpecified specifies the segment terminator suffix not specified state for segment + // terminator suffix. SegmentTerminatorSuffixNotSpecified SegmentTerminatorSuffix = "NotSpecified" ) @@ -371,23 +303,17 @@ const ( type SigningAlgorithm string const ( - // SigningAlgorithmDefault specifies the signing algorithm default state - // for signing algorithm. + // SigningAlgorithmDefault specifies the signing algorithm default state for signing algorithm. SigningAlgorithmDefault SigningAlgorithm = "Default" - // SigningAlgorithmNotSpecified specifies the signing algorithm not - // specified state for signing algorithm. + // SigningAlgorithmNotSpecified specifies the signing algorithm not specified state for signing algorithm. SigningAlgorithmNotSpecified SigningAlgorithm = "NotSpecified" - // SigningAlgorithmSHA1 specifies the signing algorithm sha1 state for - // signing algorithm. + // SigningAlgorithmSHA1 specifies the signing algorithm sha1 state for signing algorithm. SigningAlgorithmSHA1 SigningAlgorithm = "SHA1" - // SigningAlgorithmSHA2256 specifies the signing algorithm sha2256 state - // for signing algorithm. + // SigningAlgorithmSHA2256 specifies the signing algorithm sha2256 state for signing algorithm. SigningAlgorithmSHA2256 SigningAlgorithm = "SHA2256" - // SigningAlgorithmSHA2384 specifies the signing algorithm sha2384 state - // for signing algorithm. + // SigningAlgorithmSHA2384 specifies the signing algorithm sha2384 state for signing algorithm. SigningAlgorithmSHA2384 SigningAlgorithm = "SHA2384" - // SigningAlgorithmSHA2512 specifies the signing algorithm sha2512 state - // for signing algorithm. + // SigningAlgorithmSHA2512 specifies the signing algorithm sha2512 state for signing algorithm. SigningAlgorithmSHA2512 SigningAlgorithm = "SHA2512" ) @@ -399,8 +325,7 @@ const ( SkuNameBasic SkuName = "Basic" // SkuNameFree specifies the sku name free state for sku name. SkuNameFree SkuName = "Free" - // SkuNameNotSpecified specifies the sku name not specified state for sku - // name. + // SkuNameNotSpecified specifies the sku name not specified state for sku name. SkuNameNotSpecified SkuName = "NotSpecified" // SkuNamePremium specifies the sku name premium state for sku name. SkuNamePremium SkuName = "Premium" @@ -414,17 +339,17 @@ const ( type TrailingSeparatorPolicy string const ( - // TrailingSeparatorPolicyMandatory specifies the trailing separator policy - // mandatory state for trailing separator policy. + // TrailingSeparatorPolicyMandatory specifies the trailing separator policy mandatory state for trailing separator + // policy. TrailingSeparatorPolicyMandatory TrailingSeparatorPolicy = "Mandatory" - // TrailingSeparatorPolicyNotAllowed specifies the trailing separator - // policy not allowed state for trailing separator policy. + // TrailingSeparatorPolicyNotAllowed specifies the trailing separator policy not allowed state for trailing separator + // policy. TrailingSeparatorPolicyNotAllowed TrailingSeparatorPolicy = "NotAllowed" - // TrailingSeparatorPolicyNotSpecified specifies the trailing separator - // policy not specified state for trailing separator policy. + // TrailingSeparatorPolicyNotSpecified specifies the trailing separator policy not specified state for trailing + // separator policy. TrailingSeparatorPolicyNotSpecified TrailingSeparatorPolicy = "NotSpecified" - // TrailingSeparatorPolicyOptional specifies the trailing separator policy - // optional state for trailing separator policy. + // TrailingSeparatorPolicyOptional specifies the trailing separator policy optional state for trailing separator + // policy. TrailingSeparatorPolicyOptional TrailingSeparatorPolicy = "Optional" ) @@ -432,78 +357,73 @@ const ( type UsageIndicator string const ( - // UsageIndicatorInformation specifies the usage indicator information - // state for usage indicator. + // UsageIndicatorInformation specifies the usage indicator information state for usage indicator. UsageIndicatorInformation UsageIndicator = "Information" - // UsageIndicatorNotSpecified specifies the usage indicator not specified - // state for usage indicator. + // UsageIndicatorNotSpecified specifies the usage indicator not specified state for usage indicator. UsageIndicatorNotSpecified UsageIndicator = "NotSpecified" - // UsageIndicatorProduction specifies the usage indicator production state - // for usage indicator. + // UsageIndicatorProduction specifies the usage indicator production state for usage indicator. UsageIndicatorProduction UsageIndicator = "Production" - // UsageIndicatorTest specifies the usage indicator test state for usage - // indicator. + // UsageIndicatorTest specifies the usage indicator test state for usage indicator. UsageIndicatorTest UsageIndicator = "Test" ) -// WorkflowProvisioningState enumerates the values for workflow provisioning -// state. +// WorkflowProvisioningState enumerates the values for workflow provisioning state. type WorkflowProvisioningState string const ( - // WorkflowProvisioningStateAccepted specifies the workflow provisioning - // state accepted state for workflow provisioning state. + // WorkflowProvisioningStateAccepted specifies the workflow provisioning state accepted state for workflow provisioning + // state. WorkflowProvisioningStateAccepted WorkflowProvisioningState = "Accepted" - // WorkflowProvisioningStateCanceled specifies the workflow provisioning - // state canceled state for workflow provisioning state. + // WorkflowProvisioningStateCanceled specifies the workflow provisioning state canceled state for workflow provisioning + // state. WorkflowProvisioningStateCanceled WorkflowProvisioningState = "Canceled" - // WorkflowProvisioningStateCompleted specifies the workflow provisioning - // state completed state for workflow provisioning state. + // WorkflowProvisioningStateCompleted specifies the workflow provisioning state completed state for workflow + // provisioning state. WorkflowProvisioningStateCompleted WorkflowProvisioningState = "Completed" - // WorkflowProvisioningStateCreated specifies the workflow provisioning - // state created state for workflow provisioning state. + // WorkflowProvisioningStateCreated specifies the workflow provisioning state created state for workflow provisioning + // state. WorkflowProvisioningStateCreated WorkflowProvisioningState = "Created" - // WorkflowProvisioningStateCreating specifies the workflow provisioning - // state creating state for workflow provisioning state. + // WorkflowProvisioningStateCreating specifies the workflow provisioning state creating state for workflow provisioning + // state. WorkflowProvisioningStateCreating WorkflowProvisioningState = "Creating" - // WorkflowProvisioningStateDeleted specifies the workflow provisioning - // state deleted state for workflow provisioning state. + // WorkflowProvisioningStateDeleted specifies the workflow provisioning state deleted state for workflow provisioning + // state. WorkflowProvisioningStateDeleted WorkflowProvisioningState = "Deleted" - // WorkflowProvisioningStateDeleting specifies the workflow provisioning - // state deleting state for workflow provisioning state. + // WorkflowProvisioningStateDeleting specifies the workflow provisioning state deleting state for workflow provisioning + // state. WorkflowProvisioningStateDeleting WorkflowProvisioningState = "Deleting" - // WorkflowProvisioningStateFailed specifies the workflow provisioning - // state failed state for workflow provisioning state. + // WorkflowProvisioningStateFailed specifies the workflow provisioning state failed state for workflow provisioning + // state. WorkflowProvisioningStateFailed WorkflowProvisioningState = "Failed" - // WorkflowProvisioningStateMoving specifies the workflow provisioning - // state moving state for workflow provisioning state. + // WorkflowProvisioningStateMoving specifies the workflow provisioning state moving state for workflow provisioning + // state. WorkflowProvisioningStateMoving WorkflowProvisioningState = "Moving" - // WorkflowProvisioningStateNotSpecified specifies the workflow - // provisioning state not specified state for workflow provisioning state. + // WorkflowProvisioningStateNotSpecified specifies the workflow provisioning state not specified state for workflow + // provisioning state. WorkflowProvisioningStateNotSpecified WorkflowProvisioningState = "NotSpecified" - // WorkflowProvisioningStateReady specifies the workflow provisioning state - // ready state for workflow provisioning state. + // WorkflowProvisioningStateReady specifies the workflow provisioning state ready state for workflow provisioning + // state. WorkflowProvisioningStateReady WorkflowProvisioningState = "Ready" - // WorkflowProvisioningStateRegistered specifies the workflow provisioning - // state registered state for workflow provisioning state. + // WorkflowProvisioningStateRegistered specifies the workflow provisioning state registered state for workflow + // provisioning state. WorkflowProvisioningStateRegistered WorkflowProvisioningState = "Registered" - // WorkflowProvisioningStateRegistering specifies the workflow provisioning - // state registering state for workflow provisioning state. + // WorkflowProvisioningStateRegistering specifies the workflow provisioning state registering state for workflow + // provisioning state. WorkflowProvisioningStateRegistering WorkflowProvisioningState = "Registering" - // WorkflowProvisioningStateRunning specifies the workflow provisioning - // state running state for workflow provisioning state. + // WorkflowProvisioningStateRunning specifies the workflow provisioning state running state for workflow provisioning + // state. WorkflowProvisioningStateRunning WorkflowProvisioningState = "Running" - // WorkflowProvisioningStateSucceeded specifies the workflow provisioning - // state succeeded state for workflow provisioning state. + // WorkflowProvisioningStateSucceeded specifies the workflow provisioning state succeeded state for workflow + // provisioning state. WorkflowProvisioningStateSucceeded WorkflowProvisioningState = "Succeeded" - // WorkflowProvisioningStateUnregistered specifies the workflow - // provisioning state unregistered state for workflow provisioning state. + // WorkflowProvisioningStateUnregistered specifies the workflow provisioning state unregistered state for workflow + // provisioning state. WorkflowProvisioningStateUnregistered WorkflowProvisioningState = "Unregistered" - // WorkflowProvisioningStateUnregistering specifies the workflow - // provisioning state unregistering state for workflow provisioning state. + // WorkflowProvisioningStateUnregistering specifies the workflow provisioning state unregistering state for workflow + // provisioning state. WorkflowProvisioningStateUnregistering WorkflowProvisioningState = "Unregistering" - // WorkflowProvisioningStateUpdating specifies the workflow provisioning - // state updating state for workflow provisioning state. + // WorkflowProvisioningStateUpdating specifies the workflow provisioning state updating state for workflow provisioning + // state. WorkflowProvisioningStateUpdating WorkflowProvisioningState = "Updating" ) @@ -511,23 +431,17 @@ const ( type WorkflowState string const ( - // WorkflowStateCompleted specifies the workflow state completed state for - // workflow state. + // WorkflowStateCompleted specifies the workflow state completed state for workflow state. WorkflowStateCompleted WorkflowState = "Completed" - // WorkflowStateDeleted specifies the workflow state deleted state for - // workflow state. + // WorkflowStateDeleted specifies the workflow state deleted state for workflow state. WorkflowStateDeleted WorkflowState = "Deleted" - // WorkflowStateDisabled specifies the workflow state disabled state for - // workflow state. + // WorkflowStateDisabled specifies the workflow state disabled state for workflow state. WorkflowStateDisabled WorkflowState = "Disabled" - // WorkflowStateEnabled specifies the workflow state enabled state for - // workflow state. + // WorkflowStateEnabled specifies the workflow state enabled state for workflow state. WorkflowStateEnabled WorkflowState = "Enabled" - // WorkflowStateNotSpecified specifies the workflow state not specified - // state for workflow state. + // WorkflowStateNotSpecified specifies the workflow state not specified state for workflow state. WorkflowStateNotSpecified WorkflowState = "NotSpecified" - // WorkflowStateSuspended specifies the workflow state suspended state for - // workflow state. + // WorkflowStateSuspended specifies the workflow state suspended state for workflow state. WorkflowStateSuspended WorkflowState = "Suspended" ) @@ -535,120 +449,91 @@ const ( type WorkflowStatus string const ( - // WorkflowStatusAborted specifies the workflow status aborted state for - // workflow status. + // WorkflowStatusAborted specifies the workflow status aborted state for workflow status. WorkflowStatusAborted WorkflowStatus = "Aborted" - // WorkflowStatusCancelled specifies the workflow status cancelled state - // for workflow status. + // WorkflowStatusCancelled specifies the workflow status cancelled state for workflow status. WorkflowStatusCancelled WorkflowStatus = "Cancelled" - // WorkflowStatusFailed specifies the workflow status failed state for - // workflow status. + // WorkflowStatusFailed specifies the workflow status failed state for workflow status. WorkflowStatusFailed WorkflowStatus = "Failed" - // WorkflowStatusFaulted specifies the workflow status faulted state for - // workflow status. + // WorkflowStatusFaulted specifies the workflow status faulted state for workflow status. WorkflowStatusFaulted WorkflowStatus = "Faulted" - // WorkflowStatusIgnored specifies the workflow status ignored state for - // workflow status. + // WorkflowStatusIgnored specifies the workflow status ignored state for workflow status. WorkflowStatusIgnored WorkflowStatus = "Ignored" - // WorkflowStatusNotSpecified specifies the workflow status not specified - // state for workflow status. + // WorkflowStatusNotSpecified specifies the workflow status not specified state for workflow status. WorkflowStatusNotSpecified WorkflowStatus = "NotSpecified" - // WorkflowStatusPaused specifies the workflow status paused state for - // workflow status. + // WorkflowStatusPaused specifies the workflow status paused state for workflow status. WorkflowStatusPaused WorkflowStatus = "Paused" - // WorkflowStatusRunning specifies the workflow status running state for - // workflow status. + // WorkflowStatusRunning specifies the workflow status running state for workflow status. WorkflowStatusRunning WorkflowStatus = "Running" - // WorkflowStatusSkipped specifies the workflow status skipped state for - // workflow status. + // WorkflowStatusSkipped specifies the workflow status skipped state for workflow status. WorkflowStatusSkipped WorkflowStatus = "Skipped" - // WorkflowStatusSucceeded specifies the workflow status succeeded state - // for workflow status. + // WorkflowStatusSucceeded specifies the workflow status succeeded state for workflow status. WorkflowStatusSucceeded WorkflowStatus = "Succeeded" - // WorkflowStatusSuspended specifies the workflow status suspended state - // for workflow status. + // WorkflowStatusSuspended specifies the workflow status suspended state for workflow status. WorkflowStatusSuspended WorkflowStatus = "Suspended" - // WorkflowStatusTimedOut specifies the workflow status timed out state for - // workflow status. + // WorkflowStatusTimedOut specifies the workflow status timed out state for workflow status. WorkflowStatusTimedOut WorkflowStatus = "TimedOut" - // WorkflowStatusWaiting specifies the workflow status waiting state for - // workflow status. + // WorkflowStatusWaiting specifies the workflow status waiting state for workflow status. WorkflowStatusWaiting WorkflowStatus = "Waiting" ) -// WorkflowTriggerProvisioningState enumerates the values for workflow trigger -// provisioning state. +// WorkflowTriggerProvisioningState enumerates the values for workflow trigger provisioning state. type WorkflowTriggerProvisioningState string const ( - // WorkflowTriggerProvisioningStateAccepted specifies the workflow trigger - // provisioning state accepted state for workflow trigger provisioning - // state. + // WorkflowTriggerProvisioningStateAccepted specifies the workflow trigger provisioning state accepted state for + // workflow trigger provisioning state. WorkflowTriggerProvisioningStateAccepted WorkflowTriggerProvisioningState = "Accepted" - // WorkflowTriggerProvisioningStateCanceled specifies the workflow trigger - // provisioning state canceled state for workflow trigger provisioning - // state. + // WorkflowTriggerProvisioningStateCanceled specifies the workflow trigger provisioning state canceled state for + // workflow trigger provisioning state. WorkflowTriggerProvisioningStateCanceled WorkflowTriggerProvisioningState = "Canceled" - // WorkflowTriggerProvisioningStateCompleted specifies the workflow trigger - // provisioning state completed state for workflow trigger provisioning - // state. + // WorkflowTriggerProvisioningStateCompleted specifies the workflow trigger provisioning state completed state for + // workflow trigger provisioning state. WorkflowTriggerProvisioningStateCompleted WorkflowTriggerProvisioningState = "Completed" - // WorkflowTriggerProvisioningStateCreated specifies the workflow trigger - // provisioning state created state for workflow trigger provisioning - // state. + // WorkflowTriggerProvisioningStateCreated specifies the workflow trigger provisioning state created state for workflow + // trigger provisioning state. WorkflowTriggerProvisioningStateCreated WorkflowTriggerProvisioningState = "Created" - // WorkflowTriggerProvisioningStateCreating specifies the workflow trigger - // provisioning state creating state for workflow trigger provisioning - // state. + // WorkflowTriggerProvisioningStateCreating specifies the workflow trigger provisioning state creating state for + // workflow trigger provisioning state. WorkflowTriggerProvisioningStateCreating WorkflowTriggerProvisioningState = "Creating" - // WorkflowTriggerProvisioningStateDeleted specifies the workflow trigger - // provisioning state deleted state for workflow trigger provisioning - // state. + // WorkflowTriggerProvisioningStateDeleted specifies the workflow trigger provisioning state deleted state for workflow + // trigger provisioning state. WorkflowTriggerProvisioningStateDeleted WorkflowTriggerProvisioningState = "Deleted" - // WorkflowTriggerProvisioningStateDeleting specifies the workflow trigger - // provisioning state deleting state for workflow trigger provisioning - // state. + // WorkflowTriggerProvisioningStateDeleting specifies the workflow trigger provisioning state deleting state for + // workflow trigger provisioning state. WorkflowTriggerProvisioningStateDeleting WorkflowTriggerProvisioningState = "Deleting" - // WorkflowTriggerProvisioningStateFailed specifies the workflow trigger - // provisioning state failed state for workflow trigger provisioning state. + // WorkflowTriggerProvisioningStateFailed specifies the workflow trigger provisioning state failed state for workflow + // trigger provisioning state. WorkflowTriggerProvisioningStateFailed WorkflowTriggerProvisioningState = "Failed" - // WorkflowTriggerProvisioningStateMoving specifies the workflow trigger - // provisioning state moving state for workflow trigger provisioning state. + // WorkflowTriggerProvisioningStateMoving specifies the workflow trigger provisioning state moving state for workflow + // trigger provisioning state. WorkflowTriggerProvisioningStateMoving WorkflowTriggerProvisioningState = "Moving" - // WorkflowTriggerProvisioningStateNotSpecified specifies the workflow - // trigger provisioning state not specified state for workflow trigger - // provisioning state. + // WorkflowTriggerProvisioningStateNotSpecified specifies the workflow trigger provisioning state not specified state + // for workflow trigger provisioning state. WorkflowTriggerProvisioningStateNotSpecified WorkflowTriggerProvisioningState = "NotSpecified" - // WorkflowTriggerProvisioningStateReady specifies the workflow trigger - // provisioning state ready state for workflow trigger provisioning state. + // WorkflowTriggerProvisioningStateReady specifies the workflow trigger provisioning state ready state for workflow + // trigger provisioning state. WorkflowTriggerProvisioningStateReady WorkflowTriggerProvisioningState = "Ready" - // WorkflowTriggerProvisioningStateRegistered specifies the workflow - // trigger provisioning state registered state for workflow trigger - // provisioning state. + // WorkflowTriggerProvisioningStateRegistered specifies the workflow trigger provisioning state registered state for + // workflow trigger provisioning state. WorkflowTriggerProvisioningStateRegistered WorkflowTriggerProvisioningState = "Registered" - // WorkflowTriggerProvisioningStateRegistering specifies the workflow - // trigger provisioning state registering state for workflow trigger - // provisioning state. + // WorkflowTriggerProvisioningStateRegistering specifies the workflow trigger provisioning state registering state for + // workflow trigger provisioning state. WorkflowTriggerProvisioningStateRegistering WorkflowTriggerProvisioningState = "Registering" - // WorkflowTriggerProvisioningStateRunning specifies the workflow trigger - // provisioning state running state for workflow trigger provisioning - // state. + // WorkflowTriggerProvisioningStateRunning specifies the workflow trigger provisioning state running state for workflow + // trigger provisioning state. WorkflowTriggerProvisioningStateRunning WorkflowTriggerProvisioningState = "Running" - // WorkflowTriggerProvisioningStateSucceeded specifies the workflow trigger - // provisioning state succeeded state for workflow trigger provisioning - // state. + // WorkflowTriggerProvisioningStateSucceeded specifies the workflow trigger provisioning state succeeded state for + // workflow trigger provisioning state. WorkflowTriggerProvisioningStateSucceeded WorkflowTriggerProvisioningState = "Succeeded" - // WorkflowTriggerProvisioningStateUnregistered specifies the workflow - // trigger provisioning state unregistered state for workflow trigger - // provisioning state. + // WorkflowTriggerProvisioningStateUnregistered specifies the workflow trigger provisioning state unregistered state + // for workflow trigger provisioning state. WorkflowTriggerProvisioningStateUnregistered WorkflowTriggerProvisioningState = "Unregistered" - // WorkflowTriggerProvisioningStateUnregistering specifies the workflow - // trigger provisioning state unregistering state for workflow trigger - // provisioning state. + // WorkflowTriggerProvisioningStateUnregistering specifies the workflow trigger provisioning state unregistering state + // for workflow trigger provisioning state. WorkflowTriggerProvisioningStateUnregistering WorkflowTriggerProvisioningState = "Unregistering" - // WorkflowTriggerProvisioningStateUpdating specifies the workflow trigger - // provisioning state updating state for workflow trigger provisioning - // state. + // WorkflowTriggerProvisioningStateUpdating specifies the workflow trigger provisioning state updating state for + // workflow trigger provisioning state. WorkflowTriggerProvisioningStateUpdating WorkflowTriggerProvisioningState = "Updating" ) @@ -656,17 +541,13 @@ const ( type X12CharacterSet string const ( - // X12CharacterSetBasic specifies the x12 character set basic state for x12 - // character set. + // X12CharacterSetBasic specifies the x12 character set basic state for x12 character set. X12CharacterSetBasic X12CharacterSet = "Basic" - // X12CharacterSetExtended specifies the x12 character set extended state - // for x12 character set. + // X12CharacterSetExtended specifies the x12 character set extended state for x12 character set. X12CharacterSetExtended X12CharacterSet = "Extended" - // X12CharacterSetNotSpecified specifies the x12 character set not - // specified state for x12 character set. + // X12CharacterSetNotSpecified specifies the x12 character set not specified state for x12 character set. X12CharacterSetNotSpecified X12CharacterSet = "NotSpecified" - // X12CharacterSetUTF8 specifies the x12 character set utf8 state for x12 - // character set. + // X12CharacterSetUTF8 specifies the x12 character set utf8 state for x12 character set. X12CharacterSetUTF8 X12CharacterSet = "UTF8" ) @@ -674,14 +555,11 @@ const ( type X12DateFormat string const ( - // X12DateFormatCCYYMMDD specifies the x12 date format ccyymmdd state for - // x12 date format. + // X12DateFormatCCYYMMDD specifies the x12 date format ccyymmdd state for x12 date format. X12DateFormatCCYYMMDD X12DateFormat = "CCYYMMDD" - // X12DateFormatNotSpecified specifies the x12 date format not specified - // state for x12 date format. + // X12DateFormatNotSpecified specifies the x12 date format not specified state for x12 date format. X12DateFormatNotSpecified X12DateFormat = "NotSpecified" - // X12DateFormatYYMMDD specifies the x12 date format yymmdd state for x12 - // date format. + // X12DateFormatYYMMDD specifies the x12 date format yymmdd state for x12 date format. X12DateFormatYYMMDD X12DateFormat = "YYMMDD" ) @@ -689,20 +567,15 @@ const ( type X12TimeFormat string const ( - // X12TimeFormatHHMM specifies the x12 time format hhmm state for x12 time - // format. + // X12TimeFormatHHMM specifies the x12 time format hhmm state for x12 time format. X12TimeFormatHHMM X12TimeFormat = "HHMM" - // X12TimeFormatHHMMSS specifies the x12 time format hhmmss state for x12 - // time format. + // X12TimeFormatHHMMSS specifies the x12 time format hhmmss state for x12 time format. X12TimeFormatHHMMSS X12TimeFormat = "HHMMSS" - // X12TimeFormatHHMMSSd specifies the x12 time format hhmms sd state for - // x12 time format. + // X12TimeFormatHHMMSSd specifies the x12 time format hhmms sd state for x12 time format. X12TimeFormatHHMMSSd X12TimeFormat = "HHMMSSd" - // X12TimeFormatHHMMSSdd specifies the x12 time format hhmms sdd state for - // x12 time format. + // X12TimeFormatHHMMSSdd specifies the x12 time format hhmms sdd state for x12 time format. X12TimeFormatHHMMSSdd X12TimeFormat = "HHMMSSdd" - // X12TimeFormatNotSpecified specifies the x12 time format not specified - // state for x12 time format. + // X12TimeFormatNotSpecified specifies the x12 time format not specified state for x12 time format. X12TimeFormatNotSpecified X12TimeFormat = "NotSpecified" ) @@ -713,8 +586,7 @@ type AgreementContent struct { Edifact *EdifactAgreementContent `json:"edifact,omitempty"` } -// AS2AcknowledgementConnectionSettings is the AS2 agreement acknowledegment -// connection settings. +// AS2AcknowledgementConnectionSettings is the AS2 agreement acknowledegment connection settings. type AS2AcknowledgementConnectionSettings struct { IgnoreCertificateNameMismatch *bool `json:"ignoreCertificateNameMismatch,omitempty"` SupportHTTPStatusCodeContinue *bool `json:"supportHttpStatusCodeContinue,omitempty"` @@ -756,8 +628,7 @@ type AS2MdnSettings struct { MicHashingAlgorithm HashingAlgorithm `json:"micHashingAlgorithm,omitempty"` } -// AS2MessageConnectionSettings is the AS2 agreement message connection -// settings. +// AS2MessageConnectionSettings is the AS2 agreement message connection settings. type AS2MessageConnectionSettings struct { IgnoreCertificateNameMismatch *bool `json:"ignoreCertificateNameMismatch,omitempty"` SupportHTTPStatusCodeContinue *bool `json:"supportHttpStatusCodeContinue,omitempty"` @@ -848,8 +719,7 @@ type Correlation struct { ClientTrackingID *string `json:"clientTrackingId,omitempty"` } -// EdifactAcknowledgementSettings is the Edifact agreement acknowledgement -// settings. +// EdifactAcknowledgementSettings is the Edifact agreement acknowledgement settings. type EdifactAcknowledgementSettings struct { NeedTechnicalAcknowledgement *bool `json:"needTechnicalAcknowledgement,omitempty"` BatchTechnicalAcknowledgements *bool `json:"batchTechnicalAcknowledgements,omitempty"` @@ -1042,22 +912,20 @@ type EdifactValidationSettings struct { TrailingSeparatorPolicy TrailingSeparatorPolicy `json:"trailingSeparatorPolicy,omitempty"` } -// ErrorProperties is error properties indicate why the Logic service was not -// able to process the incoming request. The reason is provided in the error -// message. +// ErrorProperties is error properties indicate why the Logic service was not able to process the incoming request. The +// reason is provided in the error message. type ErrorProperties struct { Code *string `json:"code,omitempty"` Message *string `json:"message,omitempty"` } -// ErrorResponse is error reponse indicates Logic service is not able to -// process the incoming request. The error property contains the error details. +// ErrorResponse is error reponse indicates Logic service is not able to process the incoming request. The error +// property contains the error details. type ErrorResponse struct { Error *ErrorProperties `json:"error,omitempty"` } -// GenerateUpgradedDefinitionParameters is the parameters to generate upgraded -// definition. +// GenerateUpgradedDefinitionParameters is the parameters to generate upgraded definition. type GenerateUpgradedDefinitionParameters struct { TargetSchemaVersion *string `json:"targetSchemaVersion,omitempty"` } @@ -1091,14 +959,12 @@ type IntegrationAccountAgreement struct { *IntegrationAccountAgreementProperties `json:"properties,omitempty"` } -// IntegrationAccountAgreementFilter is the integration account agreement -// filter for odata query. +// IntegrationAccountAgreementFilter is the integration account agreement filter for odata query. type IntegrationAccountAgreementFilter struct { AgreementType AgreementType `json:"agreementType,omitempty"` } -// IntegrationAccountAgreementListResult is the list of integration account -// agreements. +// IntegrationAccountAgreementListResult is the list of integration account agreements. type IntegrationAccountAgreementListResult struct { autorest.Response `json:"-"` Value *[]IntegrationAccountAgreement `json:"value,omitempty"` @@ -1117,8 +983,7 @@ func (client IntegrationAccountAgreementListResult) IntegrationAccountAgreementL autorest.WithBaseURL(to.String(client.NextLink))) } -// IntegrationAccountAgreementProperties is the integration account agreement -// properties. +// IntegrationAccountAgreementProperties is the integration account agreement properties. type IntegrationAccountAgreementProperties struct { CreatedTime *date.Time `json:"createdTime,omitempty"` ChangedTime *date.Time `json:"changedTime,omitempty"` @@ -1142,8 +1007,7 @@ type IntegrationAccountCertificate struct { *IntegrationAccountCertificateProperties `json:"properties,omitempty"` } -// IntegrationAccountCertificateListResult is the list of integration account -// certificates. +// IntegrationAccountCertificateListResult is the list of integration account certificates. type IntegrationAccountCertificateListResult struct { autorest.Response `json:"-"` Value *[]IntegrationAccountCertificate `json:"value,omitempty"` @@ -1162,8 +1026,7 @@ func (client IntegrationAccountCertificateListResult) IntegrationAccountCertific autorest.WithBaseURL(to.String(client.NextLink))) } -// IntegrationAccountCertificateProperties is the integration account -// certificate properties. +// IntegrationAccountCertificateProperties is the integration account certificate properties. type IntegrationAccountCertificateProperties struct { CreatedTime *date.Time `json:"createdTime,omitempty"` ChangedTime *date.Time `json:"changedTime,omitempty"` @@ -1202,8 +1065,7 @@ type IntegrationAccountMap struct { *IntegrationAccountMapProperties `json:"properties,omitempty"` } -// IntegrationAccountMapFilter is the integration account map filter for odata -// query. +// IntegrationAccountMapFilter is the integration account map filter for odata query. type IntegrationAccountMapFilter struct { MapType MapType `json:"mapType,omitempty"` } @@ -1239,8 +1101,7 @@ type IntegrationAccountMapProperties struct { Metadata *map[string]interface{} `json:"metadata,omitempty"` } -// IntegrationAccountMapPropertiesParametersSchema is the parameters schema of -// integration account map. +// IntegrationAccountMapPropertiesParametersSchema is the parameters schema of integration account map. type IntegrationAccountMapPropertiesParametersSchema struct { Ref *string `json:"ref,omitempty"` } @@ -1256,14 +1117,12 @@ type IntegrationAccountPartner struct { *IntegrationAccountPartnerProperties `json:"properties,omitempty"` } -// IntegrationAccountPartnerFilter is the integration account partner filter -// for odata query. +// IntegrationAccountPartnerFilter is the integration account partner filter for odata query. type IntegrationAccountPartnerFilter struct { PartnerType PartnerType `json:"partnerType,omitempty"` } -// IntegrationAccountPartnerListResult is the list of integration account -// partners. +// IntegrationAccountPartnerListResult is the list of integration account partners. type IntegrationAccountPartnerListResult struct { autorest.Response `json:"-"` Value *[]IntegrationAccountPartner `json:"value,omitempty"` @@ -1282,8 +1141,7 @@ func (client IntegrationAccountPartnerListResult) IntegrationAccountPartnerListR autorest.WithBaseURL(to.String(client.NextLink))) } -// IntegrationAccountPartnerProperties is the integration account partner -// properties. +// IntegrationAccountPartnerProperties is the integration account partner properties. type IntegrationAccountPartnerProperties struct { PartnerType PartnerType `json:"partnerType,omitempty"` CreatedTime *date.Time `json:"createdTime,omitempty"` @@ -1303,14 +1161,12 @@ type IntegrationAccountSchema struct { *IntegrationAccountSchemaProperties `json:"properties,omitempty"` } -// IntegrationAccountSchemaFilter is the integration account schema filter for -// odata query. +// IntegrationAccountSchemaFilter is the integration account schema filter for odata query. type IntegrationAccountSchemaFilter struct { SchemaType SchemaType `json:"schemaType,omitempty"` } -// IntegrationAccountSchemaListResult is the list of integration account -// schemas. +// IntegrationAccountSchemaListResult is the list of integration account schemas. type IntegrationAccountSchemaListResult struct { autorest.Response `json:"-"` Value *[]IntegrationAccountSchema `json:"value,omitempty"` @@ -1329,8 +1185,7 @@ func (client IntegrationAccountSchemaListResult) IntegrationAccountSchemaListRes autorest.WithBaseURL(to.String(client.NextLink))) } -// IntegrationAccountSchemaProperties is the integration account schema -// properties. +// IntegrationAccountSchemaProperties is the integration account schema properties. type IntegrationAccountSchemaProperties struct { SchemaType SchemaType `json:"schemaType,omitempty"` TargetNamespace *string `json:"targetNamespace,omitempty"` @@ -1360,8 +1215,7 @@ type IntegrationAccountSessionFilter struct { ChangedTime *date.Time `json:"changedTime,omitempty"` } -// IntegrationAccountSessionListResult is the list of integration account -// sessions. +// IntegrationAccountSessionListResult is the list of integration account sessions. type IntegrationAccountSessionListResult struct { autorest.Response `json:"-"` Value *[]IntegrationAccountSession `json:"value,omitempty"` @@ -1380,8 +1234,7 @@ func (client IntegrationAccountSessionListResult) IntegrationAccountSessionListR autorest.WithBaseURL(to.String(client.NextLink))) } -// IntegrationAccountSessionProperties is the integration account session -// properties. +// IntegrationAccountSessionProperties is the integration account session properties. type IntegrationAccountSessionProperties struct { CreatedTime *date.Time `json:"createdTime,omitempty"` ChangedTime *date.Time `json:"changedTime,omitempty"` @@ -1420,8 +1273,8 @@ type OperationDisplay struct { Operation *string `json:"operation,omitempty"` } -// OperationListResult is result of the request to list Logic operations. It -// contains a list of operations and a URL link to get the next set of results. +// OperationListResult is result of the request to list Logic operations. It contains a list of operations and a URL +// link to get the next set of results. type OperationListResult struct { autorest.Response `json:"-"` Value *[]Operation `json:"value,omitempty"` @@ -1760,8 +1613,7 @@ type WorkflowTriggerHistoryProperties struct { Run *ResourceReference `json:"run,omitempty"` } -// WorkflowTriggerListCallbackURLQueries is gets the workflow trigger callback -// URL query parameters. +// WorkflowTriggerListCallbackURLQueries is gets the workflow trigger callback URL query parameters. type WorkflowTriggerListCallbackURLQueries struct { APIVersion *string `json:"api-version,omitempty"` Sp *string `json:"sp,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/partners.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/partners.go index f361cd261..40ed304dd 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/partners.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/partners.go @@ -14,9 +14,8 @@ package logic // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// PartnersClient is the rEST API for Azure Logic Apps. +// PartnersClient is the REST API for Azure Logic Apps. type PartnersClient struct { ManagementClient } @@ -35,17 +34,15 @@ func NewPartnersClient(subscriptionID string) PartnersClient { return NewPartnersClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewPartnersClientWithBaseURI creates an instance of the PartnersClient -// client. +// NewPartnersClientWithBaseURI creates an instance of the PartnersClient client. func NewPartnersClientWithBaseURI(baseURI string, subscriptionID string) PartnersClient { return PartnersClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate creates or updates an integration account partner. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. partnerName is the integration account partner -// name. partner is the integration account partner. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. partnerName is +// the integration account partner name. partner is the integration account partner. func (client PartnersClient) CreateOrUpdate(resourceGroupName string, integrationAccountName string, partnerName string, partner IntegrationAccountPartner) (result IntegrationAccountPartner, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: partner, @@ -120,9 +117,8 @@ func (client PartnersClient) CreateOrUpdateResponder(resp *http.Response) (resul // Delete deletes an integration account partner. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. partnerName is the integration account partner -// name. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. partnerName is +// the integration account partner name. func (client PartnersClient) Delete(resourceGroupName string, integrationAccountName string, partnerName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, integrationAccountName, partnerName) if err != nil { @@ -187,9 +183,8 @@ func (client PartnersClient) DeleteResponder(resp *http.Response) (result autore // Get gets an integration account partner. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. partnerName is the integration account partner -// name. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. partnerName is +// the integration account partner name. func (client PartnersClient) Get(resourceGroupName string, integrationAccountName string, partnerName string) (result IntegrationAccountPartner, err error) { req, err := client.GetPreparer(resourceGroupName, integrationAccountName, partnerName) if err != nil { @@ -255,9 +250,8 @@ func (client PartnersClient) GetResponder(resp *http.Response) (result Integrati // ListByIntegrationAccounts gets a list of integration account partners. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. top is the number of items to be included in the -// result. filter is the filter to apply on the operation. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. top is the +// number of items to be included in the result. filter is the filter to apply on the operation. func (client PartnersClient) ListByIntegrationAccounts(resourceGroupName string, integrationAccountName string, top *int32, filter string) (result IntegrationAccountPartnerListResult, err error) { req, err := client.ListByIntegrationAccountsPreparer(resourceGroupName, integrationAccountName, top, filter) if err != nil { @@ -349,3 +343,48 @@ func (client PartnersClient) ListByIntegrationAccountsNextResults(lastResults In return } + +// ListByIntegrationAccountsComplete gets all elements from the list without paging. +func (client PartnersClient) ListByIntegrationAccountsComplete(resourceGroupName string, integrationAccountName string, top *int32, filter string, cancel <-chan struct{}) (<-chan IntegrationAccountPartner, <-chan error) { + resultChan := make(chan IntegrationAccountPartner) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByIntegrationAccounts(resourceGroupName, integrationAccountName, top, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByIntegrationAccountsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/schemas.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/schemas.go index a5ad456b7..557644ae0 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/schemas.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/schemas.go @@ -14,9 +14,8 @@ package logic // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// SchemasClient is the rEST API for Azure Logic Apps. +// SchemasClient is the REST API for Azure Logic Apps. type SchemasClient struct { ManagementClient } @@ -42,9 +41,8 @@ func NewSchemasClientWithBaseURI(baseURI string, subscriptionID string) SchemasC // CreateOrUpdate creates or updates an integration account schema. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. schemaName is the integration account schema name. -// schema is the integration account schema. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. schemaName is +// the integration account schema name. schema is the integration account schema. func (client SchemasClient) CreateOrUpdate(resourceGroupName string, integrationAccountName string, schemaName string, schema IntegrationAccountSchema) (result IntegrationAccountSchema, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: schema, @@ -118,8 +116,8 @@ func (client SchemasClient) CreateOrUpdateResponder(resp *http.Response) (result // Delete deletes an integration account schema. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. schemaName is the integration account schema name. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. schemaName is +// the integration account schema name. func (client SchemasClient) Delete(resourceGroupName string, integrationAccountName string, schemaName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, integrationAccountName, schemaName) if err != nil { @@ -184,8 +182,8 @@ func (client SchemasClient) DeleteResponder(resp *http.Response) (result autores // Get gets an integration account schema. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. schemaName is the integration account schema name. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. schemaName is +// the integration account schema name. func (client SchemasClient) Get(resourceGroupName string, integrationAccountName string, schemaName string) (result IntegrationAccountSchema, err error) { req, err := client.GetPreparer(resourceGroupName, integrationAccountName, schemaName) if err != nil { @@ -251,9 +249,8 @@ func (client SchemasClient) GetResponder(resp *http.Response) (result Integratio // ListByIntegrationAccounts gets a list of integration account schemas. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. top is the number of items to be included in the -// result. filter is the filter to apply on the operation. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. top is the +// number of items to be included in the result. filter is the filter to apply on the operation. func (client SchemasClient) ListByIntegrationAccounts(resourceGroupName string, integrationAccountName string, top *int32, filter string) (result IntegrationAccountSchemaListResult, err error) { req, err := client.ListByIntegrationAccountsPreparer(resourceGroupName, integrationAccountName, top, filter) if err != nil { @@ -345,3 +342,48 @@ func (client SchemasClient) ListByIntegrationAccountsNextResults(lastResults Int return } + +// ListByIntegrationAccountsComplete gets all elements from the list without paging. +func (client SchemasClient) ListByIntegrationAccountsComplete(resourceGroupName string, integrationAccountName string, top *int32, filter string, cancel <-chan struct{}) (<-chan IntegrationAccountSchema, <-chan error) { + resultChan := make(chan IntegrationAccountSchema) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByIntegrationAccounts(resourceGroupName, integrationAccountName, top, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByIntegrationAccountsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/sessions.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/sessions.go index aa7cf6012..d00cff216 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/sessions.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/sessions.go @@ -14,9 +14,8 @@ package logic // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// SessionsClient is the rEST API for Azure Logic Apps. +// SessionsClient is the REST API for Azure Logic Apps. type SessionsClient struct { ManagementClient } @@ -35,17 +34,15 @@ func NewSessionsClient(subscriptionID string) SessionsClient { return NewSessionsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewSessionsClientWithBaseURI creates an instance of the SessionsClient -// client. +// NewSessionsClientWithBaseURI creates an instance of the SessionsClient client. func NewSessionsClientWithBaseURI(baseURI string, subscriptionID string) SessionsClient { return SessionsClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate creates or updates an integration account session. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. sessionName is the integration account session -// name. session is the integration account session. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. sessionName is +// the integration account session name. session is the integration account session. func (client SessionsClient) CreateOrUpdate(resourceGroupName string, integrationAccountName string, sessionName string, session IntegrationAccountSession) (result IntegrationAccountSession, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: session, @@ -119,9 +116,8 @@ func (client SessionsClient) CreateOrUpdateResponder(resp *http.Response) (resul // Delete deletes an integration account session. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. sessionName is the integration account session -// name. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. sessionName is +// the integration account session name. func (client SessionsClient) Delete(resourceGroupName string, integrationAccountName string, sessionName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, integrationAccountName, sessionName) if err != nil { @@ -186,9 +182,8 @@ func (client SessionsClient) DeleteResponder(resp *http.Response) (result autore // Get gets an integration account session. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. sessionName is the integration account session -// name. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. sessionName is +// the integration account session name. func (client SessionsClient) Get(resourceGroupName string, integrationAccountName string, sessionName string) (result IntegrationAccountSession, err error) { req, err := client.GetPreparer(resourceGroupName, integrationAccountName, sessionName) if err != nil { @@ -254,9 +249,8 @@ func (client SessionsClient) GetResponder(resp *http.Response) (result Integrati // ListByIntegrationAccounts gets a list of integration account sessions. // -// resourceGroupName is the resource group name. integrationAccountName is the -// integration account name. top is the number of items to be included in the -// result. filter is the filter to apply on the operation. +// resourceGroupName is the resource group name. integrationAccountName is the integration account name. top is the +// number of items to be included in the result. filter is the filter to apply on the operation. func (client SessionsClient) ListByIntegrationAccounts(resourceGroupName string, integrationAccountName string, top *int32, filter string) (result IntegrationAccountSessionListResult, err error) { req, err := client.ListByIntegrationAccountsPreparer(resourceGroupName, integrationAccountName, top, filter) if err != nil { @@ -348,3 +342,48 @@ func (client SessionsClient) ListByIntegrationAccountsNextResults(lastResults In return } + +// ListByIntegrationAccountsComplete gets all elements from the list without paging. +func (client SessionsClient) ListByIntegrationAccountsComplete(resourceGroupName string, integrationAccountName string, top *int32, filter string, cancel <-chan struct{}) (<-chan IntegrationAccountSession, <-chan error) { + resultChan := make(chan IntegrationAccountSession) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByIntegrationAccounts(resourceGroupName, integrationAccountName, top, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByIntegrationAccountsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/version.go index 26bc655a4..1fdbbd72e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/version.go @@ -14,16 +14,15 @@ package logic // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-logic/2016-06-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-logic/2016-06-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/workflowrunactions.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/workflowrunactions.go index e89d7c7f3..7a89c2aac 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/workflowrunactions.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/workflowrunactions.go @@ -14,9 +14,8 @@ package logic // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,28 +23,25 @@ import ( "net/http" ) -// WorkflowRunActionsClient is the rEST API for Azure Logic Apps. +// WorkflowRunActionsClient is the REST API for Azure Logic Apps. type WorkflowRunActionsClient struct { ManagementClient } -// NewWorkflowRunActionsClient creates an instance of the -// WorkflowRunActionsClient client. +// NewWorkflowRunActionsClient creates an instance of the WorkflowRunActionsClient client. func NewWorkflowRunActionsClient(subscriptionID string) WorkflowRunActionsClient { return NewWorkflowRunActionsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewWorkflowRunActionsClientWithBaseURI creates an instance of the -// WorkflowRunActionsClient client. +// NewWorkflowRunActionsClientWithBaseURI creates an instance of the WorkflowRunActionsClient client. func NewWorkflowRunActionsClientWithBaseURI(baseURI string, subscriptionID string) WorkflowRunActionsClient { return WorkflowRunActionsClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get gets a workflow run action. // -// resourceGroupName is the resource group name. workflowName is the workflow -// name. runName is the workflow run name. actionName is the workflow action -// name. +// resourceGroupName is the resource group name. workflowName is the workflow name. runName is the workflow run name. +// actionName is the workflow action name. func (client WorkflowRunActionsClient) Get(resourceGroupName string, workflowName string, runName string, actionName string) (result WorkflowRunAction, err error) { req, err := client.GetPreparer(resourceGroupName, workflowName, runName, actionName) if err != nil { @@ -112,9 +108,8 @@ func (client WorkflowRunActionsClient) GetResponder(resp *http.Response) (result // List gets a list of workflow run actions. // -// resourceGroupName is the resource group name. workflowName is the workflow -// name. runName is the workflow run name. top is the number of items to be -// included in the result. filter is the filter to apply on the operation. +// resourceGroupName is the resource group name. workflowName is the workflow name. runName is the workflow run name. +// top is the number of items to be included in the result. filter is the filter to apply on the operation. func (client WorkflowRunActionsClient) List(resourceGroupName string, workflowName string, runName string, top *int32, filter string) (result WorkflowRunActionListResult, err error) { req, err := client.ListPreparer(resourceGroupName, workflowName, runName, top, filter) if err != nil { @@ -207,3 +202,48 @@ func (client WorkflowRunActionsClient) ListNextResults(lastResults WorkflowRunAc return } + +// ListComplete gets all elements from the list without paging. +func (client WorkflowRunActionsClient) ListComplete(resourceGroupName string, workflowName string, runName string, top *int32, filter string, cancel <-chan struct{}) (<-chan WorkflowRunAction, <-chan error) { + resultChan := make(chan WorkflowRunAction) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, workflowName, runName, top, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/workflowruns.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/workflowruns.go index 57b8959c8..4e82f6b20 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/workflowruns.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/workflowruns.go @@ -14,9 +14,8 @@ package logic // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,7 +23,7 @@ import ( "net/http" ) -// WorkflowRunsClient is the rEST API for Azure Logic Apps. +// WorkflowRunsClient is the REST API for Azure Logic Apps. type WorkflowRunsClient struct { ManagementClient } @@ -34,16 +33,14 @@ func NewWorkflowRunsClient(subscriptionID string) WorkflowRunsClient { return NewWorkflowRunsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewWorkflowRunsClientWithBaseURI creates an instance of the -// WorkflowRunsClient client. +// NewWorkflowRunsClientWithBaseURI creates an instance of the WorkflowRunsClient client. func NewWorkflowRunsClientWithBaseURI(baseURI string, subscriptionID string) WorkflowRunsClient { return WorkflowRunsClient{NewWithBaseURI(baseURI, subscriptionID)} } // Cancel cancels a workflow run. // -// resourceGroupName is the resource group name. workflowName is the workflow -// name. runName is the workflow run name. +// resourceGroupName is the resource group name. workflowName is the workflow name. runName is the workflow run name. func (client WorkflowRunsClient) Cancel(resourceGroupName string, workflowName string, runName string) (result autorest.Response, err error) { req, err := client.CancelPreparer(resourceGroupName, workflowName, runName) if err != nil { @@ -108,8 +105,7 @@ func (client WorkflowRunsClient) CancelResponder(resp *http.Response) (result au // Get gets a workflow run. // -// resourceGroupName is the resource group name. workflowName is the workflow -// name. runName is the workflow run name. +// resourceGroupName is the resource group name. workflowName is the workflow name. runName is the workflow run name. func (client WorkflowRunsClient) Get(resourceGroupName string, workflowName string, runName string) (result WorkflowRun, err error) { req, err := client.GetPreparer(resourceGroupName, workflowName, runName) if err != nil { @@ -175,9 +171,8 @@ func (client WorkflowRunsClient) GetResponder(resp *http.Response) (result Workf // List gets a list of workflow runs. // -// resourceGroupName is the resource group name. workflowName is the workflow -// name. top is the number of items to be included in the result. filter is the -// filter to apply on the operation. +// resourceGroupName is the resource group name. workflowName is the workflow name. top is the number of items to be +// included in the result. filter is the filter to apply on the operation. func (client WorkflowRunsClient) List(resourceGroupName string, workflowName string, top *int32, filter string) (result WorkflowRunListResult, err error) { req, err := client.ListPreparer(resourceGroupName, workflowName, top, filter) if err != nil { @@ -269,3 +264,48 @@ func (client WorkflowRunsClient) ListNextResults(lastResults WorkflowRunListResu return } + +// ListComplete gets all elements from the list without paging. +func (client WorkflowRunsClient) ListComplete(resourceGroupName string, workflowName string, top *int32, filter string, cancel <-chan struct{}) (<-chan WorkflowRun, <-chan error) { + resultChan := make(chan WorkflowRun) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, workflowName, top, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/workflows.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/workflows.go index 521a2d458..7732f185f 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/workflows.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/workflows.go @@ -14,9 +14,8 @@ package logic // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,7 +23,7 @@ import ( "net/http" ) -// WorkflowsClient is the rEST API for Azure Logic Apps. +// WorkflowsClient is the REST API for Azure Logic Apps. type WorkflowsClient struct { ManagementClient } @@ -34,16 +33,14 @@ func NewWorkflowsClient(subscriptionID string) WorkflowsClient { return NewWorkflowsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewWorkflowsClientWithBaseURI creates an instance of the WorkflowsClient -// client. +// NewWorkflowsClientWithBaseURI creates an instance of the WorkflowsClient client. func NewWorkflowsClientWithBaseURI(baseURI string, subscriptionID string) WorkflowsClient { return WorkflowsClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate creates or updates a workflow. // -// resourceGroupName is the resource group name. workflowName is the workflow -// name. workflow is the workflow. +// resourceGroupName is the resource group name. workflowName is the workflow name. workflow is the workflow. func (client WorkflowsClient) CreateOrUpdate(resourceGroupName string, workflowName string, workflow Workflow) (result Workflow, err error) { req, err := client.CreateOrUpdatePreparer(resourceGroupName, workflowName, workflow) if err != nil { @@ -110,8 +107,7 @@ func (client WorkflowsClient) CreateOrUpdateResponder(resp *http.Response) (resu // Delete deletes a workflow. // -// resourceGroupName is the resource group name. workflowName is the workflow -// name. +// resourceGroupName is the resource group name. workflowName is the workflow name. func (client WorkflowsClient) Delete(resourceGroupName string, workflowName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, workflowName) if err != nil { @@ -175,8 +171,7 @@ func (client WorkflowsClient) DeleteResponder(resp *http.Response) (result autor // Disable disables a workflow. // -// resourceGroupName is the resource group name. workflowName is the workflow -// name. +// resourceGroupName is the resource group name. workflowName is the workflow name. func (client WorkflowsClient) Disable(resourceGroupName string, workflowName string) (result autorest.Response, err error) { req, err := client.DisablePreparer(resourceGroupName, workflowName) if err != nil { @@ -240,8 +235,7 @@ func (client WorkflowsClient) DisableResponder(resp *http.Response) (result auto // Enable enables a workflow. // -// resourceGroupName is the resource group name. workflowName is the workflow -// name. +// resourceGroupName is the resource group name. workflowName is the workflow name. func (client WorkflowsClient) Enable(resourceGroupName string, workflowName string) (result autorest.Response, err error) { req, err := client.EnablePreparer(resourceGroupName, workflowName) if err != nil { @@ -305,8 +299,8 @@ func (client WorkflowsClient) EnableResponder(resp *http.Response) (result autor // GenerateUpgradedDefinition generates the upgraded definition for a workflow. // -// resourceGroupName is the resource group name. workflowName is the workflow -// name. parameters is parameters for generating an upgraded definition. +// resourceGroupName is the resource group name. workflowName is the workflow name. parameters is parameters for +// generating an upgraded definition. func (client WorkflowsClient) GenerateUpgradedDefinition(resourceGroupName string, workflowName string, parameters GenerateUpgradedDefinitionParameters) (result SetObject, err error) { req, err := client.GenerateUpgradedDefinitionPreparer(resourceGroupName, workflowName, parameters) if err != nil { @@ -373,8 +367,7 @@ func (client WorkflowsClient) GenerateUpgradedDefinitionResponder(resp *http.Res // Get gets a workflow. // -// resourceGroupName is the resource group name. workflowName is the workflow -// name. +// resourceGroupName is the resource group name. workflowName is the workflow name. func (client WorkflowsClient) Get(resourceGroupName string, workflowName string) (result Workflow, err error) { req, err := client.GetPreparer(resourceGroupName, workflowName) if err != nil { @@ -439,8 +432,8 @@ func (client WorkflowsClient) GetResponder(resp *http.Response) (result Workflow // ListByResourceGroup gets a list of workflows by resource group. // -// resourceGroupName is the resource group name. top is the number of items to -// be included in the result. filter is the filter to apply on the operation. +// resourceGroupName is the resource group name. top is the number of items to be included in the result. filter is the +// filter to apply on the operation. func (client WorkflowsClient) ListByResourceGroup(resourceGroupName string, top *int32, filter string) (result WorkflowListResult, err error) { req, err := client.ListByResourceGroupPreparer(resourceGroupName, top, filter) if err != nil { @@ -532,10 +525,54 @@ func (client WorkflowsClient) ListByResourceGroupNextResults(lastResults Workflo return } +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client WorkflowsClient) ListByResourceGroupComplete(resourceGroupName string, top *int32, filter string, cancel <-chan struct{}) (<-chan Workflow, <-chan error) { + resultChan := make(chan Workflow) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName, top, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListBySubscription gets a list of workflows by subscription. // -// top is the number of items to be included in the result. filter is the -// filter to apply on the operation. +// top is the number of items to be included in the result. filter is the filter to apply on the operation. func (client WorkflowsClient) ListBySubscription(top *int32, filter string) (result WorkflowListResult, err error) { req, err := client.ListBySubscriptionPreparer(top, filter) if err != nil { @@ -626,10 +663,54 @@ func (client WorkflowsClient) ListBySubscriptionNextResults(lastResults Workflow return } +// ListBySubscriptionComplete gets all elements from the list without paging. +func (client WorkflowsClient) ListBySubscriptionComplete(top *int32, filter string, cancel <-chan struct{}) (<-chan Workflow, <-chan error) { + resultChan := make(chan Workflow) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListBySubscription(top, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListBySubscriptionNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListSwagger gets an OpenAPI definition for the workflow. // -// resourceGroupName is the resource group name. workflowName is the workflow -// name. +// resourceGroupName is the resource group name. workflowName is the workflow name. func (client WorkflowsClient) ListSwagger(resourceGroupName string, workflowName string) (result SetObject, err error) { req, err := client.ListSwaggerPreparer(resourceGroupName, workflowName) if err != nil { @@ -692,11 +773,9 @@ func (client WorkflowsClient) ListSwaggerResponder(resp *http.Response) (result return } -// RegenerateAccessKey regenerates the callback URL access key for request -// triggers. +// RegenerateAccessKey regenerates the callback URL access key for request triggers. // -// resourceGroupName is the resource group name. workflowName is the workflow -// name. keyType is the access key type. +// resourceGroupName is the resource group name. workflowName is the workflow name. keyType is the access key type. func (client WorkflowsClient) RegenerateAccessKey(resourceGroupName string, workflowName string, keyType RegenerateActionParameter) (result autorest.Response, err error) { req, err := client.RegenerateAccessKeyPreparer(resourceGroupName, workflowName, keyType) if err != nil { @@ -762,8 +841,7 @@ func (client WorkflowsClient) RegenerateAccessKeyResponder(resp *http.Response) // Update updates a workflow. // -// resourceGroupName is the resource group name. workflowName is the workflow -// name. workflow is the workflow. +// resourceGroupName is the resource group name. workflowName is the workflow name. workflow is the workflow. func (client WorkflowsClient) Update(resourceGroupName string, workflowName string, workflow Workflow) (result Workflow, err error) { req, err := client.UpdatePreparer(resourceGroupName, workflowName, workflow) if err != nil { @@ -830,9 +908,8 @@ func (client WorkflowsClient) UpdateResponder(resp *http.Response) (result Workf // Validate validates the workflow definition. // -// resourceGroupName is the resource group name. location is the workflow -// location. workflowName is the workflow name. workflow is the workflow -// definition. +// resourceGroupName is the resource group name. location is the workflow location. workflowName is the workflow name. +// workflow is the workflow definition. func (client WorkflowsClient) Validate(resourceGroupName string, location string, workflowName string, workflow Workflow) (result autorest.Response, err error) { req, err := client.ValidatePreparer(resourceGroupName, location, workflowName, workflow) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/workflowtriggerhistories.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/workflowtriggerhistories.go index f83cf395e..4867f152e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/workflowtriggerhistories.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/workflowtriggerhistories.go @@ -14,9 +14,8 @@ package logic // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,29 +23,26 @@ import ( "net/http" ) -// WorkflowTriggerHistoriesClient is the rEST API for Azure Logic Apps. +// WorkflowTriggerHistoriesClient is the REST API for Azure Logic Apps. type WorkflowTriggerHistoriesClient struct { ManagementClient } -// NewWorkflowTriggerHistoriesClient creates an instance of the -// WorkflowTriggerHistoriesClient client. +// NewWorkflowTriggerHistoriesClient creates an instance of the WorkflowTriggerHistoriesClient client. func NewWorkflowTriggerHistoriesClient(subscriptionID string) WorkflowTriggerHistoriesClient { return NewWorkflowTriggerHistoriesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewWorkflowTriggerHistoriesClientWithBaseURI creates an instance of the -// WorkflowTriggerHistoriesClient client. +// NewWorkflowTriggerHistoriesClientWithBaseURI creates an instance of the WorkflowTriggerHistoriesClient client. func NewWorkflowTriggerHistoriesClientWithBaseURI(baseURI string, subscriptionID string) WorkflowTriggerHistoriesClient { return WorkflowTriggerHistoriesClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get gets a workflow trigger history. // -// resourceGroupName is the resource group name. workflowName is the workflow -// name. triggerName is the workflow trigger name. historyName is the workflow -// trigger history name. Corresponds to the run name for triggers that resulted -// in a run. +// resourceGroupName is the resource group name. workflowName is the workflow name. triggerName is the workflow trigger +// name. historyName is the workflow trigger history name. Corresponds to the run name for triggers that resulted in a +// run. func (client WorkflowTriggerHistoriesClient) Get(resourceGroupName string, workflowName string, triggerName string, historyName string) (result WorkflowTriggerHistory, err error) { req, err := client.GetPreparer(resourceGroupName, workflowName, triggerName, historyName) if err != nil { @@ -113,10 +109,8 @@ func (client WorkflowTriggerHistoriesClient) GetResponder(resp *http.Response) ( // List gets a list of workflow trigger histories. // -// resourceGroupName is the resource group name. workflowName is the workflow -// name. triggerName is the workflow trigger name. top is the number of items -// to be included in the result. filter is the filter to apply on the -// operation. +// resourceGroupName is the resource group name. workflowName is the workflow name. triggerName is the workflow trigger +// name. top is the number of items to be included in the result. filter is the filter to apply on the operation. func (client WorkflowTriggerHistoriesClient) List(resourceGroupName string, workflowName string, triggerName string, top *int32, filter string) (result WorkflowTriggerHistoryListResult, err error) { req, err := client.ListPreparer(resourceGroupName, workflowName, triggerName, top, filter) if err != nil { @@ -210,12 +204,56 @@ func (client WorkflowTriggerHistoriesClient) ListNextResults(lastResults Workflo return } +// ListComplete gets all elements from the list without paging. +func (client WorkflowTriggerHistoriesClient) ListComplete(resourceGroupName string, workflowName string, triggerName string, top *int32, filter string, cancel <-chan struct{}) (<-chan WorkflowTriggerHistory, <-chan error) { + resultChan := make(chan WorkflowTriggerHistory) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, workflowName, triggerName, top, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Resubmit resubmits a workflow run based on the trigger history. // -// resourceGroupName is the resource group name. workflowName is the workflow -// name. triggerName is the workflow trigger name. historyName is the workflow -// trigger history name. Corresponds to the run name for triggers that resulted -// in a run. +// resourceGroupName is the resource group name. workflowName is the workflow name. triggerName is the workflow trigger +// name. historyName is the workflow trigger history name. Corresponds to the run name for triggers that resulted in a +// run. func (client WorkflowTriggerHistoriesClient) Resubmit(resourceGroupName string, workflowName string, triggerName string, historyName string) (result autorest.Response, err error) { req, err := client.ResubmitPreparer(resourceGroupName, workflowName, triggerName, historyName) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/workflowtriggers.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/workflowtriggers.go index e374b14e9..669e02455 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/workflowtriggers.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/workflowtriggers.go @@ -14,9 +14,8 @@ package logic // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,27 +23,25 @@ import ( "net/http" ) -// WorkflowTriggersClient is the rEST API for Azure Logic Apps. +// WorkflowTriggersClient is the REST API for Azure Logic Apps. type WorkflowTriggersClient struct { ManagementClient } -// NewWorkflowTriggersClient creates an instance of the WorkflowTriggersClient -// client. +// NewWorkflowTriggersClient creates an instance of the WorkflowTriggersClient client. func NewWorkflowTriggersClient(subscriptionID string) WorkflowTriggersClient { return NewWorkflowTriggersClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewWorkflowTriggersClientWithBaseURI creates an instance of the -// WorkflowTriggersClient client. +// NewWorkflowTriggersClientWithBaseURI creates an instance of the WorkflowTriggersClient client. func NewWorkflowTriggersClientWithBaseURI(baseURI string, subscriptionID string) WorkflowTriggersClient { return WorkflowTriggersClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get gets a workflow trigger. // -// resourceGroupName is the resource group name. workflowName is the workflow -// name. triggerName is the workflow trigger name. +// resourceGroupName is the resource group name. workflowName is the workflow name. triggerName is the workflow trigger +// name. func (client WorkflowTriggersClient) Get(resourceGroupName string, workflowName string, triggerName string) (result WorkflowTrigger, err error) { req, err := client.GetPreparer(resourceGroupName, workflowName, triggerName) if err != nil { @@ -110,9 +107,8 @@ func (client WorkflowTriggersClient) GetResponder(resp *http.Response) (result W // List gets a list of workflow triggers. // -// resourceGroupName is the resource group name. workflowName is the workflow -// name. top is the number of items to be included in the result. filter is the -// filter to apply on the operation. +// resourceGroupName is the resource group name. workflowName is the workflow name. top is the number of items to be +// included in the result. filter is the filter to apply on the operation. func (client WorkflowTriggersClient) List(resourceGroupName string, workflowName string, top *int32, filter string) (result WorkflowTriggerListResult, err error) { req, err := client.ListPreparer(resourceGroupName, workflowName, top, filter) if err != nil { @@ -205,10 +201,55 @@ func (client WorkflowTriggersClient) ListNextResults(lastResults WorkflowTrigger return } +// ListComplete gets all elements from the list without paging. +func (client WorkflowTriggersClient) ListComplete(resourceGroupName string, workflowName string, top *int32, filter string, cancel <-chan struct{}) (<-chan WorkflowTrigger, <-chan error) { + resultChan := make(chan WorkflowTrigger) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, workflowName, top, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListCallbackURL gets the callback URL for a workflow trigger. // -// resourceGroupName is the resource group name. workflowName is the workflow -// name. triggerName is the workflow trigger name. +// resourceGroupName is the resource group name. workflowName is the workflow name. triggerName is the workflow trigger +// name. func (client WorkflowTriggersClient) ListCallbackURL(resourceGroupName string, workflowName string, triggerName string) (result WorkflowTriggerCallbackURL, err error) { req, err := client.ListCallbackURLPreparer(resourceGroupName, workflowName, triggerName) if err != nil { @@ -274,8 +315,8 @@ func (client WorkflowTriggersClient) ListCallbackURLResponder(resp *http.Respons // Run runs a workflow trigger. // -// resourceGroupName is the resource group name. workflowName is the workflow -// name. triggerName is the workflow trigger name. +// resourceGroupName is the resource group name. workflowName is the workflow name. triggerName is the workflow trigger +// name. func (client WorkflowTriggersClient) Run(resourceGroupName string, workflowName string, triggerName string) (result SetObject, err error) { req, err := client.RunPreparer(resourceGroupName, workflowName, triggerName) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/workflowversions.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/workflowversions.go index 9db33e9b4..69d79b507 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/workflowversions.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/logic/workflowversions.go @@ -14,9 +14,8 @@ package logic // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,27 +23,25 @@ import ( "net/http" ) -// WorkflowVersionsClient is the rEST API for Azure Logic Apps. +// WorkflowVersionsClient is the REST API for Azure Logic Apps. type WorkflowVersionsClient struct { ManagementClient } -// NewWorkflowVersionsClient creates an instance of the WorkflowVersionsClient -// client. +// NewWorkflowVersionsClient creates an instance of the WorkflowVersionsClient client. func NewWorkflowVersionsClient(subscriptionID string) WorkflowVersionsClient { return NewWorkflowVersionsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewWorkflowVersionsClientWithBaseURI creates an instance of the -// WorkflowVersionsClient client. +// NewWorkflowVersionsClientWithBaseURI creates an instance of the WorkflowVersionsClient client. func NewWorkflowVersionsClientWithBaseURI(baseURI string, subscriptionID string) WorkflowVersionsClient { return WorkflowVersionsClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get gets a workflow version. // -// resourceGroupName is the resource group name. workflowName is the workflow -// name. versionID is the workflow versionId. +// resourceGroupName is the resource group name. workflowName is the workflow name. versionID is the workflow +// versionId. func (client WorkflowVersionsClient) Get(resourceGroupName string, workflowName string, versionID string) (result WorkflowVersion, err error) { req, err := client.GetPreparer(resourceGroupName, workflowName, versionID) if err != nil { @@ -110,8 +107,8 @@ func (client WorkflowVersionsClient) GetResponder(resp *http.Response) (result W // List gets a list of workflow versions. // -// resourceGroupName is the resource group name. workflowName is the workflow -// name. top is the number of items to be included in the result. +// resourceGroupName is the resource group name. workflowName is the workflow name. top is the number of items to be +// included in the result. func (client WorkflowVersionsClient) List(resourceGroupName string, workflowName string, top *int32) (result WorkflowVersionListResult, err error) { req, err := client.ListPreparer(resourceGroupName, workflowName, top) if err != nil { @@ -201,11 +198,55 @@ func (client WorkflowVersionsClient) ListNextResults(lastResults WorkflowVersion return } +// ListComplete gets all elements from the list without paging. +func (client WorkflowVersionsClient) ListComplete(resourceGroupName string, workflowName string, top *int32, cancel <-chan struct{}) (<-chan WorkflowVersion, <-chan error) { + resultChan := make(chan WorkflowVersion) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, workflowName, top) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListCallbackURL lists the callback URL for a trigger of a workflow version. // -// resourceGroupName is the resource group name. workflowName is the workflow -// name. versionID is the workflow versionId. triggerName is the workflow -// trigger name. parameters is the callback URL parameters. +// resourceGroupName is the resource group name. workflowName is the workflow name. versionID is the workflow +// versionId. triggerName is the workflow trigger name. parameters is the callback URL parameters. func (client WorkflowVersionsClient) ListCallbackURL(resourceGroupName string, workflowName string, versionID string, triggerName string, parameters *GetCallbackURLParameters) (result WorkflowTriggerCallbackURL, err error) { req, err := client.ListCallbackURLPreparer(resourceGroupName, workflowName, versionID, triggerName, parameters) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/client.go index c4d5300c8..1c1f4e903 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/client.go @@ -1,11 +1,9 @@ -// Package commitmentplans implements the Azure ARM Commitmentplans service API -// version 2016-05-01-preview. +// Package commitmentplans implements the Azure ARM Commitmentplans service API version 2016-05-01-preview. // -// These APIs allow end users to operate on Azure Machine Learning Commitment -// Plans resources and their child Commitment Association resources. They -// support CRUD operations for commitment plans, get and list operations for -// commitment associations, moving commitment associations between commitment -// plans, and retrieving commitment plan usage history. +// These APIs allow end users to operate on Azure Machine Learning Commitment Plans resources and their child +// Commitment Association resources. They support CRUD operations for commitment plans, get and list operations for +// commitment associations, moving commitment associations between commitment plans, and retrieving commitment plan +// usage history. package commitmentplans // Copyright (c) Microsoft and contributors. All rights reserved. @@ -22,9 +20,8 @@ package commitmentplans // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/commitmentassociations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/commitmentassociations.go index 7e72a6103..e3bcd4466 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/commitmentassociations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/commitmentassociations.go @@ -14,9 +14,8 @@ package commitmentplans // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,33 +23,28 @@ import ( "net/http" ) -// CommitmentAssociationsClient is the these APIs allow end users to operate on -// Azure Machine Learning Commitment Plans resources and their child Commitment -// Association resources. They support CRUD operations for commitment plans, -// get and list operations for commitment associations, moving commitment -// associations between commitment plans, and retrieving commitment plan usage -// history. +// CommitmentAssociationsClient is the these APIs allow end users to operate on Azure Machine Learning Commitment Plans +// resources and their child Commitment Association resources. They support CRUD operations for commitment plans, get +// and list operations for commitment associations, moving commitment associations between commitment plans, and +// retrieving commitment plan usage history. type CommitmentAssociationsClient struct { ManagementClient } -// NewCommitmentAssociationsClient creates an instance of the -// CommitmentAssociationsClient client. +// NewCommitmentAssociationsClient creates an instance of the CommitmentAssociationsClient client. func NewCommitmentAssociationsClient(subscriptionID string) CommitmentAssociationsClient { return NewCommitmentAssociationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewCommitmentAssociationsClientWithBaseURI creates an instance of the -// CommitmentAssociationsClient client. +// NewCommitmentAssociationsClientWithBaseURI creates an instance of the CommitmentAssociationsClient client. func NewCommitmentAssociationsClientWithBaseURI(baseURI string, subscriptionID string) CommitmentAssociationsClient { return CommitmentAssociationsClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get get a commitment association. // -// resourceGroupName is the resource group name. commitmentPlanName is the -// Azure ML commitment plan name. commitmentAssociationName is the commitment -// association name. +// resourceGroupName is the resource group name. commitmentPlanName is the Azure ML commitment plan name. +// commitmentAssociationName is the commitment association name. func (client CommitmentAssociationsClient) Get(resourceGroupName string, commitmentPlanName string, commitmentAssociationName string) (result CommitmentAssociation, err error) { req, err := client.GetPreparer(resourceGroupName, commitmentPlanName, commitmentAssociationName) if err != nil { @@ -116,9 +110,8 @@ func (client CommitmentAssociationsClient) GetResponder(resp *http.Response) (re // List get all commitment associations for a parent commitment plan. // -// resourceGroupName is the resource group name. commitmentPlanName is the -// Azure ML commitment plan name. skipToken is continuation token for -// pagination. +// resourceGroupName is the resource group name. commitmentPlanName is the Azure ML commitment plan name. skipToken is +// continuation token for pagination. func (client CommitmentAssociationsClient) List(resourceGroupName string, commitmentPlanName string, skipToken string) (result CommitmentAssociationListResult, err error) { req, err := client.ListPreparer(resourceGroupName, commitmentPlanName, skipToken) if err != nil { @@ -208,11 +201,55 @@ func (client CommitmentAssociationsClient) ListNextResults(lastResults Commitmen return } +// ListComplete gets all elements from the list without paging. +func (client CommitmentAssociationsClient) ListComplete(resourceGroupName string, commitmentPlanName string, skipToken string, cancel <-chan struct{}) (<-chan CommitmentAssociation, <-chan error) { + resultChan := make(chan CommitmentAssociation) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, commitmentPlanName, skipToken) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Move re-parent a commitment association from one commitment plan to another. // -// resourceGroupName is the resource group name. commitmentPlanName is the -// Azure ML commitment plan name. commitmentAssociationName is the commitment -// association name. movePayload is the move request payload. +// resourceGroupName is the resource group name. commitmentPlanName is the Azure ML commitment plan name. +// commitmentAssociationName is the commitment association name. movePayload is the move request payload. func (client CommitmentAssociationsClient) Move(resourceGroupName string, commitmentPlanName string, commitmentAssociationName string, movePayload MoveCommitmentAssociationRequest) (result CommitmentAssociation, err error) { req, err := client.MovePreparer(resourceGroupName, commitmentPlanName, commitmentAssociationName, movePayload) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/commitmentplansgroup.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/group.go old mode 100755 new mode 100644 similarity index 86% rename from vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/commitmentplansgroup.go rename to vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/group.go index d3ab0eb88..cb76baa83 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/commitmentplansgroup.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/group.go @@ -14,9 +14,8 @@ package commitmentplans // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,11 +23,10 @@ import ( "net/http" ) -// GroupClient is the these APIs allow end users to operate on Azure Machine -// Learning Commitment Plans resources and their child Commitment Association -// resources. They support CRUD operations for commitment plans, get and list -// operations for commitment associations, moving commitment associations -// between commitment plans, and retrieving commitment plan usage history. +// GroupClient is the these APIs allow end users to operate on Azure Machine Learning Commitment Plans resources and +// their child Commitment Association resources. They support CRUD operations for commitment plans, get and list +// operations for commitment associations, moving commitment associations between commitment plans, and retrieving +// commitment plan usage history. type GroupClient struct { ManagementClient } @@ -43,12 +41,10 @@ func NewGroupClientWithBaseURI(baseURI string, subscriptionID string) GroupClien return GroupClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate create a new Azure ML commitment plan resource or updates an -// existing one. +// CreateOrUpdate create a new Azure ML commitment plan resource or updates an existing one. // -// createOrUpdatePayload is the payload to create or update the Azure ML -// commitment plan. resourceGroupName is the resource group name. -// commitmentPlanName is the Azure ML commitment plan name. +// createOrUpdatePayload is the payload to create or update the Azure ML commitment plan. resourceGroupName is the +// resource group name. commitmentPlanName is the Azure ML commitment plan name. func (client GroupClient) CreateOrUpdate(createOrUpdatePayload CommitmentPlan, resourceGroupName string, commitmentPlanName string) (result CommitmentPlan, err error) { req, err := client.CreateOrUpdatePreparer(createOrUpdatePayload, resourceGroupName, commitmentPlanName) if err != nil { @@ -113,11 +109,9 @@ func (client GroupClient) CreateOrUpdateResponder(resp *http.Response) (result C return } -// Get retrieve an Azure ML commitment plan by its subscription, resource group -// and name. +// Get retrieve an Azure ML commitment plan by its subscription, resource group and name. // -// resourceGroupName is the resource group name. commitmentPlanName is the -// Azure ML commitment plan name. +// resourceGroupName is the resource group name. commitmentPlanName is the Azure ML commitment plan name. func (client GroupClient) Get(resourceGroupName string, commitmentPlanName string) (result CommitmentPlan, err error) { req, err := client.GetPreparer(resourceGroupName, commitmentPlanName) if err != nil { @@ -270,11 +264,54 @@ func (client GroupClient) ListNextResults(lastResults ListResult) (result ListRe return } -// ListInResourceGroup retrieve all Azure ML commitment plans in a resource -// group. +// ListComplete gets all elements from the list without paging. +func (client GroupClient) ListComplete(skipToken string, cancel <-chan struct{}) (<-chan CommitmentPlan, <-chan error) { + resultChan := make(chan CommitmentPlan) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(skipToken) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListInResourceGroup retrieve all Azure ML commitment plans in a resource group. // -// resourceGroupName is the resource group name. skipToken is continuation -// token for pagination. +// resourceGroupName is the resource group name. skipToken is continuation token for pagination. func (client GroupClient) ListInResourceGroup(resourceGroupName string, skipToken string) (result ListResult, err error) { req, err := client.ListInResourceGroupPreparer(resourceGroupName, skipToken) if err != nil { @@ -363,12 +400,56 @@ func (client GroupClient) ListInResourceGroupNextResults(lastResults ListResult) return } +// ListInResourceGroupComplete gets all elements from the list without paging. +func (client GroupClient) ListInResourceGroupComplete(resourceGroupName string, skipToken string, cancel <-chan struct{}) (<-chan CommitmentPlan, <-chan error) { + resultChan := make(chan CommitmentPlan) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListInResourceGroup(resourceGroupName, skipToken) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListInResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Patch patch an existing Azure ML commitment plan resource. // -// patchPayload is the payload to use to patch the Azure ML commitment plan. -// Only tags and SKU may be modified on an existing commitment plan. -// resourceGroupName is the resource group name. commitmentPlanName is the -// Azure ML commitment plan name. +// patchPayload is the payload to use to patch the Azure ML commitment plan. Only tags and SKU may be modified on an +// existing commitment plan. resourceGroupName is the resource group name. commitmentPlanName is the Azure ML +// commitment plan name. func (client GroupClient) Patch(patchPayload PatchPayload, resourceGroupName string, commitmentPlanName string) (result CommitmentPlan, err error) { req, err := client.PatchPreparer(patchPayload, resourceGroupName, commitmentPlanName) if err != nil { @@ -435,8 +516,7 @@ func (client GroupClient) PatchResponder(resp *http.Response) (result Commitment // Remove remove an existing Azure ML commitment plan. // -// resourceGroupName is the resource group name. commitmentPlanName is the -// Azure ML commitment plan name. +// resourceGroupName is the resource group name. commitmentPlanName is the Azure ML commitment plan name. func (client GroupClient) Remove(resourceGroupName string, commitmentPlanName string) (result autorest.Response, err error) { req, err := client.RemovePreparer(resourceGroupName, commitmentPlanName) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/models.go index dc12d0ad6..24433df30 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/models.go @@ -14,9 +14,8 @@ package commitmentplans // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,8 @@ import ( "net/http" ) -// CommitmentAssociation is represents the association between a commitment -// plan and some other resource, such as a Machine Learning web service. +// CommitmentAssociation is represents the association between a commitment plan and some other resource, such as a +// Machine Learning web service. type CommitmentAssociation struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -38,8 +37,7 @@ type CommitmentAssociation struct { Properties *CommitmentAssociationProperties `json:"properties,omitempty"` } -// CommitmentAssociationListResult is a page of commitment association -// resources. +// CommitmentAssociationListResult is a page of commitment association resources. type CommitmentAssociationListResult struct { autorest.Response `json:"-"` NextLink *string `json:"nextLink,omitempty"` @@ -58,8 +56,7 @@ func (client CommitmentAssociationListResult) CommitmentAssociationListResultPre autorest.WithBaseURL(to.String(client.NextLink))) } -// CommitmentAssociationProperties is properties of an Azure ML commitment -// association. +// CommitmentAssociationProperties is properties of an Azure ML commitment association. type CommitmentAssociationProperties struct { AssociatedResourceID *string `json:"associatedResourceId,omitempty"` CommitmentPlanID *string `json:"commitmentPlanId,omitempty"` @@ -98,21 +95,18 @@ func (client ListResult) ListResultPreparer() (*http.Request, error) { autorest.WithBaseURL(to.String(client.NextLink))) } -// MoveCommitmentAssociationRequest is specifies the destination Azure ML -// commitment plan for a move operation. +// MoveCommitmentAssociationRequest is specifies the destination Azure ML commitment plan for a move operation. type MoveCommitmentAssociationRequest struct { DestinationPlanID *string `json:"destinationPlanId,omitempty"` } -// PatchPayload is the properties of a commitment plan which may be updated via -// PATCH. +// PatchPayload is the properties of a commitment plan which may be updated via PATCH. type PatchPayload struct { Tags *map[string]*string `json:"tags,omitempty"` Sku *ResourceSku `json:"sku,omitempty"` } -// PlanQuantity is represents the quantity a commitment plan provides of a -// metered resource. +// PlanQuantity is represents the quantity a commitment plan provides of a metered resource. type PlanQuantity struct { Allowance *float64 `json:"allowance,omitempty"` Amount *float64 `json:"amount,omitempty"` @@ -120,8 +114,8 @@ type PlanQuantity struct { OverageMeter *string `json:"overageMeter,omitempty"` } -// PlanUsageHistory is represents historical information about usage of the -// Azure resources associated with a commitment plan. +// PlanUsageHistory is represents historical information about usage of the Azure resources associated with a +// commitment plan. type PlanUsageHistory struct { PlanDeletionOverage *map[string]*float64 `json:"planDeletionOverage,omitempty"` PlanMigrationOverage *map[string]*float64 `json:"planMigrationOverage,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/usagehistory.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/usagehistory.go index 3fa496d08..ca3ce5d15 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/usagehistory.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/usagehistory.go @@ -14,9 +14,8 @@ package commitmentplans // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,12 +23,10 @@ import ( "net/http" ) -// UsageHistoryClient is the these APIs allow end users to operate on Azure -// Machine Learning Commitment Plans resources and their child Commitment -// Association resources. They support CRUD operations for commitment plans, -// get and list operations for commitment associations, moving commitment -// associations between commitment plans, and retrieving commitment plan usage -// history. +// UsageHistoryClient is the these APIs allow end users to operate on Azure Machine Learning Commitment Plans resources +// and their child Commitment Association resources. They support CRUD operations for commitment plans, get and list +// operations for commitment associations, moving commitment associations between commitment plans, and retrieving +// commitment plan usage history. type UsageHistoryClient struct { ManagementClient } @@ -39,17 +36,15 @@ func NewUsageHistoryClient(subscriptionID string) UsageHistoryClient { return NewUsageHistoryClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewUsageHistoryClientWithBaseURI creates an instance of the -// UsageHistoryClient client. +// NewUsageHistoryClientWithBaseURI creates an instance of the UsageHistoryClient client. func NewUsageHistoryClientWithBaseURI(baseURI string, subscriptionID string) UsageHistoryClient { return UsageHistoryClient{NewWithBaseURI(baseURI, subscriptionID)} } // List retrieve the usage history for an Azure ML commitment plan. // -// resourceGroupName is the resource group name. commitmentPlanName is the -// Azure ML commitment plan name. skipToken is continuation token for -// pagination. +// resourceGroupName is the resource group name. commitmentPlanName is the Azure ML commitment plan name. skipToken is +// continuation token for pagination. func (client UsageHistoryClient) List(resourceGroupName string, commitmentPlanName string, skipToken string) (result PlanUsageHistoryListResult, err error) { req, err := client.ListPreparer(resourceGroupName, commitmentPlanName, skipToken) if err != nil { @@ -138,3 +133,48 @@ func (client UsageHistoryClient) ListNextResults(lastResults PlanUsageHistoryLis return } + +// ListComplete gets all elements from the list without paging. +func (client UsageHistoryClient) ListComplete(resourceGroupName string, commitmentPlanName string, skipToken string, cancel <-chan struct{}) (<-chan PlanUsageHistory, <-chan error) { + resultChan := make(chan PlanUsageHistory) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, commitmentPlanName, skipToken) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/version.go index 54647fb16..877f776aa 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/commitmentplans/version.go @@ -14,16 +14,15 @@ package commitmentplans // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-commitmentplans/2016-05-01-preview" + return "Azure-SDK-For-Go/v11.0.0-beta arm-commitmentplans/2016-05-01-preview" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/webservices/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/webservices/client.go index 24c7399fd..5a6437139 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/webservices/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/webservices/client.go @@ -1,12 +1,9 @@ -// Package webservices implements the Azure ARM Webservices service API version -// 2017-01-01. +// Package webservices implements the Azure ARM Webservices service API version 2017-01-01. // -// These APIs allow end users to operate on Azure Machine Learning Web Services -// resources. They support the following operations:
  • Create or update a -// web service
  • Get a web service
  • Patch a web -// service
  • Delete a web service
  • Get All Web Services in a -// Resource Group
  • Get All Web Services in a Subscription
  • Get -// Web Services Keys
+// These APIs allow end users to operate on Azure Machine Learning Web Services resources. They support the following +// operations:
  • Create or update a web service
  • Get a web service
  • Patch a web +// service
  • Delete a web service
  • Get All Web Services in a Resource Group
  • Get All Web Services +// in a Subscription
  • Get Web Services Keys
package webservices // Copyright (c) Microsoft and contributors. All rights reserved. @@ -23,9 +20,8 @@ package webservices // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/webservices/webservicesgroup.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/webservices/group.go old mode 100755 new mode 100644 similarity index 85% rename from vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/webservices/webservicesgroup.go rename to vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/webservices/group.go index 642b37e45..c465aba92 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/webservices/webservicesgroup.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/webservices/group.go @@ -14,9 +14,8 @@ package webservices // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,12 +24,10 @@ import ( "net/http" ) -// GroupClient is the these APIs allow end users to operate on Azure Machine -// Learning Web Services resources. They support the following -// operations:
  • Create or update a web service
  • Get a web -// service
  • Patch a web service
  • Delete a web service
  • Get -// All Web Services in a Resource Group
  • Get All Web Services in a -// Subscription
  • Get Web Services Keys
+// GroupClient is the these APIs allow end users to operate on Azure Machine Learning Web Services resources. They +// support the following operations:
  • Create or update a web service
  • Get a web service
  • Patch a +// web service
  • Delete a web service
  • Get All Web Services in a Resource Group
  • Get All Web +// Services in a Subscription
  • Get Web Services Keys
type GroupClient struct { ManagementClient } @@ -45,18 +42,14 @@ func NewGroupClientWithBaseURI(baseURI string, subscriptionID string) GroupClien return GroupClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate create or update a web service. This call will overwrite an -// existing web service. Note that there is no warning or confirmation. This is -// a nonrecoverable operation. If your intent is to create a new web service, -// call the Get operation first to verify that it does not exist. This method -// may poll for completion. Polling can be canceled by passing the cancel -// channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// CreateOrUpdate create or update a web service. This call will overwrite an existing web service. Note that there is +// no warning or confirmation. This is a nonrecoverable operation. If your intent is to create a new web service, call +// the Get operation first to verify that it does not exist. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is name of the resource group in which the web service is -// located. webServiceName is the name of the web service. -// createOrUpdatePayload is the payload that is used to create or update the -// web service. +// resourceGroupName is name of the resource group in which the web service is located. webServiceName is the name of +// the web service. createOrUpdatePayload is the payload that is used to create or update the web service. func (client GroupClient) CreateOrUpdate(resourceGroupName string, webServiceName string, createOrUpdatePayload WebService, cancel <-chan struct{}) (<-chan WebService, <-chan error) { resultChan := make(chan WebService, 1) errChan := make(chan error, 1) @@ -94,8 +87,10 @@ func (client GroupClient) CreateOrUpdate(resourceGroupName string, webServiceNam var err error var result WebService defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -164,18 +159,15 @@ func (client GroupClient) CreateOrUpdateResponder(resp *http.Response) (result W return } -// CreateRegionalProperties creates an encrypted credentials parameter blob for -// the specified region. To get the web service from a region other than the -// region in which it has been created, you must first call Create Regional Web -// Services Properties to create a copy of the encrypted credential parameter -// blob in that region. You only need to do this before the first time that you -// get the web service in the new region. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// CreateRegionalProperties creates an encrypted credentials parameter blob for the specified region. To get the web +// service from a region other than the region in which it has been created, you must first call Create Regional Web +// Services Properties to create a copy of the encrypted credential parameter blob in that region. You only need to do +// this before the first time that you get the web service in the new region. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. // -// resourceGroupName is name of the resource group in which the web service is -// located. webServiceName is the name of the web service. region is the region -// for which encrypted credential parameters are created. +// resourceGroupName is name of the resource group in which the web service is located. webServiceName is the name of +// the web service. region is the region for which encrypted credential parameters are created. func (client GroupClient) CreateRegionalProperties(resourceGroupName string, webServiceName string, region string, cancel <-chan struct{}) (<-chan AsyncOperationStatus, <-chan error) { resultChan := make(chan AsyncOperationStatus, 1) errChan := make(chan error, 1) @@ -183,8 +175,10 @@ func (client GroupClient) CreateRegionalProperties(resourceGroupName string, web var err error var result AsyncOperationStatus defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -252,14 +246,11 @@ func (client GroupClient) CreateRegionalPropertiesResponder(resp *http.Response) return } -// Get gets the Web Service Definition as specified by a subscription, resource -// group, and name. Note that the storage credentials and web service keys are -// not returned by this call. To get the web service access keys, call List -// Keys. +// Get gets the Web Service Definition as specified by a subscription, resource group, and name. Note that the storage +// credentials and web service keys are not returned by this call. To get the web service access keys, call List Keys. // -// resourceGroupName is name of the resource group in which the web service is -// located. webServiceName is the name of the web service. region is the region -// for which encrypted credential parameters are valid. +// resourceGroupName is name of the resource group in which the web service is located. webServiceName is the name of +// the web service. region is the region for which encrypted credential parameters are valid. func (client GroupClient) Get(resourceGroupName string, webServiceName string, region string) (result WebService, err error) { req, err := client.GetPreparer(resourceGroupName, webServiceName, region) if err != nil { @@ -327,8 +318,8 @@ func (client GroupClient) GetResponder(resp *http.Response) (result WebService, // ListByResourceGroup gets the web services in the specified resource group. // -// resourceGroupName is name of the resource group in which the web service is -// located. skiptoken is continuation token for pagination. +// resourceGroupName is name of the resource group in which the web service is located. skiptoken is continuation token +// for pagination. func (client GroupClient) ListByResourceGroup(resourceGroupName string, skiptoken string) (result PaginatedWebServicesList, err error) { req, err := client.ListByResourceGroupPreparer(resourceGroupName, skiptoken) if err != nil { @@ -417,6 +408,51 @@ func (client GroupClient) ListByResourceGroupNextResults(lastResults PaginatedWe return } +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client GroupClient) ListByResourceGroupComplete(resourceGroupName string, skiptoken string, cancel <-chan struct{}) (<-chan WebService, <-chan error) { + resultChan := make(chan WebService) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName, skiptoken) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListBySubscriptionID gets the web services in the specified subscription. // // skiptoken is continuation token for pagination. @@ -507,10 +543,55 @@ func (client GroupClient) ListBySubscriptionIDNextResults(lastResults PaginatedW return } +// ListBySubscriptionIDComplete gets all elements from the list without paging. +func (client GroupClient) ListBySubscriptionIDComplete(skiptoken string, cancel <-chan struct{}) (<-chan WebService, <-chan error) { + resultChan := make(chan WebService) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListBySubscriptionID(skiptoken) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListBySubscriptionIDNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListKeys gets the access keys for the specified web service. // -// resourceGroupName is name of the resource group in which the web service is -// located. webServiceName is the name of the web service. +// resourceGroupName is name of the resource group in which the web service is located. webServiceName is the name of +// the web service. func (client GroupClient) ListKeys(resourceGroupName string, webServiceName string) (result Keys, err error) { req, err := client.ListKeysPreparer(resourceGroupName, webServiceName) if err != nil { @@ -573,15 +654,13 @@ func (client GroupClient) ListKeysResponder(resp *http.Response) (result Keys, e return } -// Patch modifies an existing web service resource. The PATCH API call is an -// asynchronous operation. To determine whether it has completed successfully, -// you must perform a Get operation. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// Patch modifies an existing web service resource. The PATCH API call is an asynchronous operation. To determine +// whether it has completed successfully, you must perform a Get operation. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. // -// resourceGroupName is name of the resource group in which the web service is -// located. webServiceName is the name of the web service. patchPayload is the -// payload to use to patch the web service. +// resourceGroupName is name of the resource group in which the web service is located. webServiceName is the name of +// the web service. patchPayload is the payload to use to patch the web service. func (client GroupClient) Patch(resourceGroupName string, webServiceName string, patchPayload WebService, cancel <-chan struct{}) (<-chan WebService, <-chan error) { resultChan := make(chan WebService, 1) errChan := make(chan error, 1) @@ -589,8 +668,10 @@ func (client GroupClient) Patch(resourceGroupName string, webServiceName string, var err error var result WebService defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -659,13 +740,11 @@ func (client GroupClient) PatchResponder(resp *http.Response) (result WebService return } -// Remove deletes the specified web service. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Remove deletes the specified web service. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is name of the resource group in which the web service is -// located. webServiceName is the name of the web service. +// resourceGroupName is name of the resource group in which the web service is located. webServiceName is the name of +// the web service. func (client GroupClient) Remove(resourceGroupName string, webServiceName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -673,8 +752,10 @@ func (client GroupClient) Remove(resourceGroupName string, webServiceName string var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/webservices/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/webservices/models.go index c7235051d..1f7a0e6cc 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/webservices/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/webservices/models.go @@ -14,11 +14,12 @@ package webservices // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( + "encoding/json" + "errors" "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/date" "github.com/Azure/go-autorest/autorest/to" @@ -31,8 +32,7 @@ type AssetType string const ( // AssetTypeModule specifies the asset type module state for asset type. AssetTypeModule AssetType = "Module" - // AssetTypeResource specifies the asset type resource state for asset - // type. + // AssetTypeResource specifies the asset type resource state for asset type. AssetTypeResource AssetType = "Resource" ) @@ -114,50 +114,45 @@ const ( type OutputPortType string const ( - // OutputPortTypeDataset specifies the output port type dataset state for - // output port type. + // OutputPortTypeDataset specifies the output port type dataset state for output port type. OutputPortTypeDataset OutputPortType = "Dataset" ) +// PackageType enumerates the values for package type. +type PackageType string + +const ( + // PackageTypeGraph specifies the package type graph state for package type. + PackageTypeGraph PackageType = "Graph" +) + // ParameterType enumerates the values for parameter type. type ParameterType string const ( - // ParameterTypeBoolean specifies the parameter type boolean state for - // parameter type. + // ParameterTypeBoolean specifies the parameter type boolean state for parameter type. ParameterTypeBoolean ParameterType = "Boolean" - // ParameterTypeColumnPicker specifies the parameter type column picker - // state for parameter type. + // ParameterTypeColumnPicker specifies the parameter type column picker state for parameter type. ParameterTypeColumnPicker ParameterType = "ColumnPicker" - // ParameterTypeCredential specifies the parameter type credential state - // for parameter type. + // ParameterTypeCredential specifies the parameter type credential state for parameter type. ParameterTypeCredential ParameterType = "Credential" - // ParameterTypeDataGatewayName specifies the parameter type data gateway - // name state for parameter type. + // ParameterTypeDataGatewayName specifies the parameter type data gateway name state for parameter type. ParameterTypeDataGatewayName ParameterType = "DataGatewayName" - // ParameterTypeDouble specifies the parameter type double state for - // parameter type. + // ParameterTypeDouble specifies the parameter type double state for parameter type. ParameterTypeDouble ParameterType = "Double" - // ParameterTypeEnumerated specifies the parameter type enumerated state - // for parameter type. + // ParameterTypeEnumerated specifies the parameter type enumerated state for parameter type. ParameterTypeEnumerated ParameterType = "Enumerated" - // ParameterTypeFloat specifies the parameter type float state for - // parameter type. + // ParameterTypeFloat specifies the parameter type float state for parameter type. ParameterTypeFloat ParameterType = "Float" - // ParameterTypeInt specifies the parameter type int state for parameter - // type. + // ParameterTypeInt specifies the parameter type int state for parameter type. ParameterTypeInt ParameterType = "Int" - // ParameterTypeMode specifies the parameter type mode state for parameter - // type. + // ParameterTypeMode specifies the parameter type mode state for parameter type. ParameterTypeMode ParameterType = "Mode" - // ParameterTypeParameterRange specifies the parameter type parameter range - // state for parameter type. + // ParameterTypeParameterRange specifies the parameter type parameter range state for parameter type. ParameterTypeParameterRange ParameterType = "ParameterRange" - // ParameterTypeScript specifies the parameter type script state for - // parameter type. + // ParameterTypeScript specifies the parameter type script state for parameter type. ParameterTypeScript ParameterType = "Script" - // ParameterTypeString specifies the parameter type string state for - // parameter type. + // ParameterTypeString specifies the parameter type string state for parameter type. ParameterTypeString ParameterType = "String" ) @@ -213,9 +208,8 @@ type BlobLocation struct { Credentials *string `json:"credentials,omitempty"` } -// ColumnSpecification is swagger 2.0 schema for a column within the data table -// representing a web service input or output. See Swagger specification: -// http://swagger.io/specification/ +// ColumnSpecification is swagger 2.0 schema for a column within the data table representing a web service input or +// output. See Swagger specification: http://swagger.io/specification/ type ColumnSpecification struct { Type ColumnType `json:"type,omitempty"` Format ColumnFormat `json:"format,omitempty"` @@ -224,14 +218,12 @@ type ColumnSpecification struct { XMsIsordered *bool `json:"x-ms-isordered,omitempty"` } -// CommitmentPlan is information about the machine learning commitment plan -// associated with the web service. +// CommitmentPlan is information about the machine learning commitment plan associated with the web service. type CommitmentPlan struct { ID *string `json:"id,omitempty"` } -// DiagnosticsConfiguration is diagnostics settings for an Azure ML web -// service. +// DiagnosticsConfiguration is diagnostics settings for an Azure ML web service. type DiagnosticsConfiguration struct { Level DiagnosticsLevel `json:"level,omitempty"` Expiry *date.Time `json:"expiry,omitempty"` @@ -251,9 +243,8 @@ type GraphEdge struct { TargetPortID *string `json:"targetPortId,omitempty"` } -// GraphNode is specifies a node in the web service graph. The node can either -// be an input, output or asset node, so only one of the corresponding id -// properties is populated at any given time. +// GraphNode is specifies a node in the web service graph. The node can either be an input, output or asset node, so +// only one of the corresponding id properties is populated at any given time. type GraphNode struct { AssetID *string `json:"assetId,omitempty"` InputID *string `json:"inputId,omitempty"` @@ -261,8 +252,7 @@ type GraphNode struct { Parameters *map[string]*Parameter `json:"parameters,omitempty"` } -// GraphPackage is defines the graph of modules making up the machine learning -// solution. +// GraphPackage is defines the graph of modules making up the machine learning solution. type GraphPackage struct { Nodes *map[string]*GraphNode `json:"nodes,omitempty"` Edges *[]GraphEdge `json:"edges,omitempty"` @@ -276,8 +266,7 @@ type GraphParameter struct { Links *[]GraphParameterLink `json:"links,omitempty"` } -// GraphParameterLink is association link for a graph global parameter to a -// node in the graph. +// GraphParameterLink is association link for a graph global parameter to a node in the graph. type GraphParameterLink struct { NodeID *string `json:"nodeId,omitempty"` ParameterKey *string `json:"parameterKey,omitempty"` @@ -295,8 +284,8 @@ type Keys struct { Secondary *string `json:"secondary,omitempty"` } -// MachineLearningWorkspace is information about the machine learning workspace -// containing the experiment that is source for the web service. +// MachineLearningWorkspace is information about the machine learning workspace containing the experiment that is +// source for the web service. type MachineLearningWorkspace struct { ID *string `json:"id,omitempty"` } @@ -344,30 +333,44 @@ type Parameter struct { CertificateThumbprint *string `json:"certificateThumbprint,omitempty"` } -// Properties is the set of properties specific to the Azure ML web service -// resource. -type Properties struct { - Title *string `json:"title,omitempty"` - Description *string `json:"description,omitempty"` - CreatedOn *date.Time `json:"createdOn,omitempty"` - ModifiedOn *date.Time `json:"modifiedOn,omitempty"` - ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` - Keys *Keys `json:"keys,omitempty"` - ReadOnly *bool `json:"readOnly,omitempty"` - SwaggerLocation *string `json:"swaggerLocation,omitempty"` - ExposeSampleData *bool `json:"exposeSampleData,omitempty"` - RealtimeConfiguration *RealtimeConfiguration `json:"realtimeConfiguration,omitempty"` - Diagnostics *DiagnosticsConfiguration `json:"diagnostics,omitempty"` - StorageAccount *StorageAccount `json:"storageAccount,omitempty"` - MachineLearningWorkspace *MachineLearningWorkspace `json:"machineLearningWorkspace,omitempty"` - CommitmentPlan *CommitmentPlan `json:"commitmentPlan,omitempty"` - Input *ServiceInputOutputSpecification `json:"input,omitempty"` - Output *ServiceInputOutputSpecification `json:"output,omitempty"` - ExampleRequest *ExampleRequest `json:"exampleRequest,omitempty"` - Assets *map[string]*AssetItem `json:"assets,omitempty"` - Parameters *map[string]*Parameter `json:"parameters,omitempty"` - PayloadsInBlobStorage *bool `json:"payloadsInBlobStorage,omitempty"` - PayloadsLocation *BlobLocation `json:"payloadsLocation,omitempty"` +// Properties is the set of properties specific to the Azure ML web service resource. +type Properties interface { + AsPropertiesForGraph() (*PropertiesForGraph, bool) +} + +func unmarshalProperties(body []byte) (Properties, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["packageType"] { + case string(PackageTypeGraph): + var pfg PropertiesForGraph + err := json.Unmarshal(body, &pfg) + return pfg, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalPropertiesArray(body []byte) ([]Properties, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + pArray := make([]Properties, len(rawMessages)) + + for index, rawMessage := range rawMessages { + p, err := unmarshalProperties(*rawMessage) + if err != nil { + return nil, err + } + pArray[index] = p + } + return pArray, nil } // PropertiesForGraph is properties specific to a Graph based web service. @@ -393,11 +396,27 @@ type PropertiesForGraph struct { Parameters *map[string]*Parameter `json:"parameters,omitempty"` PayloadsInBlobStorage *bool `json:"payloadsInBlobStorage,omitempty"` PayloadsLocation *BlobLocation `json:"payloadsLocation,omitempty"` + PackageType PackageType `json:"packageType,omitempty"` Package *GraphPackage `json:"package,omitempty"` } -// RealtimeConfiguration is holds the available configuration options for an -// Azure ML web service endpoint. +// MarshalJSON is the custom marshaler for PropertiesForGraph. +func (pfg PropertiesForGraph) MarshalJSON() ([]byte, error) { + pfg.PackageType = PackageTypeGraph + type Alias PropertiesForGraph + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(pfg), + }) +} + +// AsPropertiesForGraph is the Properties implementation for PropertiesForGraph. +func (pfg PropertiesForGraph) AsPropertiesForGraph() (*PropertiesForGraph, bool) { + return &pfg, true +} + +// RealtimeConfiguration is holds the available configuration options for an Azure ML web service endpoint. type RealtimeConfiguration struct { MaxConcurrentCalls *int32 `json:"maxConcurrentCalls,omitempty"` } @@ -411,9 +430,8 @@ type Resource struct { Tags *map[string]*string `json:"tags,omitempty"` } -// ServiceInputOutputSpecification is the swagger 2.0 schema describing the -// service's inputs or outputs. See Swagger specification: -// http://swagger.io/specification/ +// ServiceInputOutputSpecification is the swagger 2.0 schema describing the service's inputs or outputs. See Swagger +// specification: http://swagger.io/specification/ type ServiceInputOutputSpecification struct { Title *string `json:"title,omitempty"` Description *string `json:"description,omitempty"` @@ -427,8 +445,8 @@ type StorageAccount struct { Key *string `json:"key,omitempty"` } -// TableSpecification is the swagger 2.0 schema describing a single service -// input or output. See Swagger specification: http://swagger.io/specification/ +// TableSpecification is the swagger 2.0 schema describing a single service input or output. See Swagger specification: +// http://swagger.io/specification/ type TableSpecification struct { Title *string `json:"title,omitempty"` Description *string `json:"description,omitempty"` @@ -445,5 +463,76 @@ type WebService struct { Location *string `json:"location,omitempty"` Type *string `json:"type,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` - Properties *Properties `json:"properties,omitempty"` + Properties Properties `json:"properties,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for WebService struct. +func (ws *WebService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["properties"] + if v != nil { + properties, err := unmarshalProperties(*m["properties"]) + if err != nil { + return err + } + ws.Properties = properties + } + + v = m["id"] + if v != nil { + var ID string + err = json.Unmarshal(*m["id"], &ID) + if err != nil { + return err + } + ws.ID = &ID + } + + v = m["name"] + if v != nil { + var name string + err = json.Unmarshal(*m["name"], &name) + if err != nil { + return err + } + ws.Name = &name + } + + v = m["location"] + if v != nil { + var location string + err = json.Unmarshal(*m["location"], &location) + if err != nil { + return err + } + ws.Location = &location + } + + v = m["type"] + if v != nil { + var typeVar string + err = json.Unmarshal(*m["type"], &typeVar) + if err != nil { + return err + } + ws.Type = &typeVar + } + + v = m["tags"] + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*m["tags"], &tags) + if err != nil { + return err + } + ws.Tags = &tags + } + + return nil } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/webservices/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/webservices/version.go index 431da2ea7..1c29f5baa 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/webservices/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/machinelearning/webservices/version.go @@ -14,16 +14,15 @@ package webservices // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-webservices/2017-01-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-webservices/2017-01-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/marketplaceordering/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/marketplaceordering/client.go new file mode 100644 index 000000000..a7a7bec06 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/marketplaceordering/client.go @@ -0,0 +1,51 @@ +// Package marketplaceordering implements the Azure ARM Marketplaceordering service API version 2015-06-01. +// +// REST API for MarketplaceOrdering Agreements. +package marketplaceordering + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +const ( + // DefaultBaseURI is the default URI used for the service Marketplaceordering + DefaultBaseURI = "https://management.azure.com" +) + +// ManagementClient is the base client for Marketplaceordering. +type ManagementClient struct { + autorest.Client + BaseURI string + SubscriptionID string +} + +// New creates an instance of the ManagementClient client. +func New(subscriptionID string) ManagementClient { + return NewWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWithBaseURI creates an instance of the ManagementClient client. +func NewWithBaseURI(baseURI string, subscriptionID string) ManagementClient { + return ManagementClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + SubscriptionID: subscriptionID, + } +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/marketplaceordering/marketplaceagreements.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/marketplaceordering/marketplaceagreements.go new file mode 100644 index 000000000..24583e234 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/marketplaceordering/marketplaceagreements.go @@ -0,0 +1,179 @@ +package marketplaceordering + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// MarketplaceAgreementsClient is the REST API for MarketplaceOrdering Agreements. +type MarketplaceAgreementsClient struct { + ManagementClient +} + +// NewMarketplaceAgreementsClient creates an instance of the MarketplaceAgreementsClient client. +func NewMarketplaceAgreementsClient(subscriptionID string) MarketplaceAgreementsClient { + return NewMarketplaceAgreementsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewMarketplaceAgreementsClientWithBaseURI creates an instance of the MarketplaceAgreementsClient client. +func NewMarketplaceAgreementsClientWithBaseURI(baseURI string, subscriptionID string) MarketplaceAgreementsClient { + return MarketplaceAgreementsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Create save marketplace terms. +// +// offerType is offer Type, currently only virtualmachine type is supported. publisherID is publisher identifier string +// of image being deployed. offerID is offer identifier string of image being deployed. planID is plan identifier +// string of image being deployed. parameters is parameters supplied to the Create Marketplace Terms operation. +func (client MarketplaceAgreementsClient) Create(offerType string, publisherID string, offerID string, planID string, parameters AgreementTerms) (result AgreementTerms, err error) { + req, err := client.CreatePreparer(offerType, publisherID, offerID, planID, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "marketplaceordering.MarketplaceAgreementsClient", "Create", nil, "Failure preparing request") + return + } + + resp, err := client.CreateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "marketplaceordering.MarketplaceAgreementsClient", "Create", resp, "Failure sending request") + return + } + + result, err = client.CreateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "marketplaceordering.MarketplaceAgreementsClient", "Create", resp, "Failure responding to request") + } + + return +} + +// CreatePreparer prepares the Create request. +func (client MarketplaceAgreementsClient) CreatePreparer(offerType string, publisherID string, offerID string, planID string, parameters AgreementTerms) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "offerId": autorest.Encode("path", offerID), + "offerType": autorest.Encode("path", offerType), + "planId": autorest.Encode("path", planID), + "publisherId": autorest.Encode("path", publisherID), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/offerTypes/{offerType}/publishers/{publisherId}/offers/{offerId}/plans/{planId}/agreements/current", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client MarketplaceAgreementsClient) CreateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client MarketplaceAgreementsClient) CreateResponder(resp *http.Response) (result AgreementTerms, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get get marketplace terms. +// +// offerType is offer Type, currently only virtualmachine type is supported. publisherID is publisher identifier string +// of image being deployed. offerID is offer identifier string of image being deployed. planID is plan identifier +// string of image being deployed. +func (client MarketplaceAgreementsClient) Get(offerType string, publisherID string, offerID string, planID string) (result AgreementTerms, err error) { + req, err := client.GetPreparer(offerType, publisherID, offerID, planID) + if err != nil { + err = autorest.NewErrorWithError(err, "marketplaceordering.MarketplaceAgreementsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "marketplaceordering.MarketplaceAgreementsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "marketplaceordering.MarketplaceAgreementsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client MarketplaceAgreementsClient) GetPreparer(offerType string, publisherID string, offerID string, planID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "offerId": autorest.Encode("path", offerID), + "offerType": autorest.Encode("path", offerType), + "planId": autorest.Encode("path", planID), + "publisherId": autorest.Encode("path", publisherID), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/offerTypes/{offerType}/publishers/{publisherId}/offers/{offerId}/plans/{planId}/agreements/current", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client MarketplaceAgreementsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client MarketplaceAgreementsClient) GetResponder(resp *http.Response) (result AgreementTerms, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/marketplaceordering/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/marketplaceordering/models.go new file mode 100644 index 000000000..e04bb4345 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/marketplaceordering/models.go @@ -0,0 +1,98 @@ +package marketplaceordering + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/date" + "github.com/Azure/go-autorest/autorest/to" + "net/http" +) + +// AgreementProperties is agreement Terms definition +type AgreementProperties struct { + Publisher *string `json:"publisher,omitempty"` + Product *string `json:"product,omitempty"` + Plan *string `json:"plan,omitempty"` + LicenseTextLink *string `json:"licenseTextLink,omitempty"` + PrivacyPolicyLink *string `json:"privacyPolicyLink,omitempty"` + RetrieveDatetime *date.Time `json:"retrieveDatetime,omitempty"` + Signature *string `json:"signature,omitempty"` + Accepted *bool `json:"accepted,omitempty"` +} + +// AgreementTerms is terms properties for provided Publisher/Offer/Plan tuple +type AgreementTerms struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *AgreementProperties `json:"properties,omitempty"` +} + +// ErrorResponse is error reponse indicates Microsoft.MarketplaceOrdering service is not able to process the incoming +// request. The reason is provided in the error message. +type ErrorResponse struct { + Error *ErrorResponseError `json:"error,omitempty"` +} + +// ErrorResponseError is the details of the error. +type ErrorResponseError struct { + Code *string `json:"code,omitempty"` + Message *string `json:"message,omitempty"` +} + +// Operation is microsoft.MarketplaceOrdering REST API operation +type Operation struct { + Name *string `json:"name,omitempty"` + Display *OperationDisplay `json:"display,omitempty"` +} + +// OperationDisplay is the object that represents the operation. +type OperationDisplay struct { + Provider *string `json:"provider,omitempty"` + Resource *string `json:"resource,omitempty"` + Operation *string `json:"operation,omitempty"` +} + +// OperationListResult is result of the request to list MarketplaceOrdering operations. It contains a list of +// operations and a URL link to get the next set of results. +type OperationListResult struct { + autorest.Response `json:"-"` + Value *[]Operation `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// OperationListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client OperationListResult) OperationListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// Resource is ARM resource. +type Resource struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/marketplaceordering/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/marketplaceordering/operations.go new file mode 100644 index 000000000..9cdd6ebb4 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/marketplaceordering/operations.go @@ -0,0 +1,165 @@ +package marketplaceordering + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// OperationsClient is the REST API for MarketplaceOrdering Agreements. +type OperationsClient struct { + ManagementClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List lists all of the available Microsoft.MarketplaceOrdering REST API operations. +func (client OperationsClient) List() (result OperationListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "marketplaceordering.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "marketplaceordering.OperationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "marketplaceordering.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer() (*http.Request, error) { + const APIVersion = "2015-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.MarketplaceOrdering/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client OperationsClient) ListNextResults(lastResults OperationListResult) (result OperationListResult, err error) { + req, err := lastResults.OperationListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "marketplaceordering.OperationsClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "marketplaceordering.OperationsClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "marketplaceordering.OperationsClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client OperationsClient) ListComplete(cancel <-chan struct{}) (<-chan Operation, <-chan error) { + resultChan := make(chan Operation) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/marketplaceordering/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/marketplaceordering/version.go new file mode 100644 index 000000000..ee158688c --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/marketplaceordering/version.go @@ -0,0 +1,28 @@ +package marketplaceordering + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/v11.0.0-beta arm-marketplaceordering/2015-06-01" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return "v11.0.0-beta" +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/mediaservices/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/mediaservices/client.go index b67e498ad..2711f6fe3 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/mediaservices/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/mediaservices/client.go @@ -1,5 +1,4 @@ -// Package mediaservices implements the Azure ARM Mediaservices service API -// version 2015-10-01. +// Package mediaservices implements the Azure ARM Mediaservices service API version 2015-10-01. // // Media Services resource management APIs. package mediaservices @@ -18,9 +17,8 @@ package mediaservices // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/mediaservices/mediaservice.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/mediaservices/mediaservice.go index ab632e05b..5a13c7ed4 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/mediaservices/mediaservice.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/mediaservices/mediaservice.go @@ -14,9 +14,8 @@ package mediaservices // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -40,24 +39,22 @@ func NewClientWithBaseURI(baseURI string, subscriptionID string) Client { return Client{NewWithBaseURI(baseURI, subscriptionID)} } -// CheckNameAvailability checks whether the Media Service resource name is -// available. The name must be globally unique. +// CheckNameAvailability checks whether the Media Service resource name is available. The name must be globally unique. // -// checkNameAvailabilityInput is properties needed to check the availability of -// a name. -func (client Client) CheckNameAvailability(checkNameAvailabilityInput CheckNameAvailabilityInput) (result CheckNameAvailabilityOutput, err error) { +// parameters is properties needed to check the availability of a name. +func (client Client) CheckNameAvailability(parameters CheckNameAvailabilityInput) (result CheckNameAvailabilityOutput, err error) { if err := validation.Validate([]validation.Validation{ - {TargetValue: checkNameAvailabilityInput, - Constraints: []validation.Constraint{{Target: "checkNameAvailabilityInput.Name", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "checkNameAvailabilityInput.Name", Name: validation.MaxLength, Rule: 24, Chain: nil}, - {Target: "checkNameAvailabilityInput.Name", Name: validation.MinLength, Rule: 3, Chain: nil}, - {Target: "checkNameAvailabilityInput.Name", Name: validation.Pattern, Rule: `^[a-z0-9]`, Chain: nil}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Name", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.Name", Name: validation.MaxLength, Rule: 24, Chain: nil}, + {Target: "parameters.Name", Name: validation.MinLength, Rule: 3, Chain: nil}, + {Target: "parameters.Name", Name: validation.Pattern, Rule: `^[a-z0-9]{3,24}$`, Chain: nil}, }}, - {Target: "checkNameAvailabilityInput.Type", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + {Target: "parameters.Type", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "mediaservices.Client", "CheckNameAvailability") } - req, err := client.CheckNameAvailabilityPreparer(checkNameAvailabilityInput) + req, err := client.CheckNameAvailabilityPreparer(parameters) if err != nil { err = autorest.NewErrorWithError(err, "mediaservices.Client", "CheckNameAvailability", nil, "Failure preparing request") return @@ -79,7 +76,7 @@ func (client Client) CheckNameAvailability(checkNameAvailabilityInput CheckNameA } // CheckNameAvailabilityPreparer prepares the CheckNameAvailability request. -func (client Client) CheckNameAvailabilityPreparer(checkNameAvailabilityInput CheckNameAvailabilityInput) (*http.Request, error) { +func (client Client) CheckNameAvailabilityPreparer(parameters CheckNameAvailabilityInput) (*http.Request, error) { pathParameters := map[string]interface{}{ "subscriptionId": autorest.Encode("path", client.SubscriptionID), } @@ -94,7 +91,7 @@ func (client Client) CheckNameAvailabilityPreparer(checkNameAvailabilityInput Ch autorest.AsPost(), autorest.WithBaseURL(client.BaseURI), autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Media/CheckNameAvailability", pathParameters), - autorest.WithJSON(checkNameAvailabilityInput), + autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -120,19 +117,18 @@ func (client Client) CheckNameAvailabilityResponder(resp *http.Response) (result // Create creates a Media Service. // -// resourceGroupName is name of the resource group within the Azure -// subscription. mediaServiceName is name of the Media Service. mediaService is -// media Service properties needed for creation. -func (client Client) Create(resourceGroupName string, mediaServiceName string, mediaService MediaService) (result MediaService, err error) { +// resourceGroupName is name of the resource group within the Azure subscription. mediaServiceName is name of the Media +// Service. parameters is media Service properties needed for creation. +func (client Client) Create(resourceGroupName string, mediaServiceName string, parameters MediaService) (result MediaService, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: mediaServiceName, Constraints: []validation.Constraint{{Target: "mediaServiceName", Name: validation.MaxLength, Rule: 24, Chain: nil}, {Target: "mediaServiceName", Name: validation.MinLength, Rule: 3, Chain: nil}, - {Target: "mediaServiceName", Name: validation.Pattern, Rule: `^[a-z0-9]`, Chain: nil}}}}); err != nil { + {Target: "mediaServiceName", Name: validation.Pattern, Rule: `^[a-z0-9]{3,24}$`, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "mediaservices.Client", "Create") } - req, err := client.CreatePreparer(resourceGroupName, mediaServiceName, mediaService) + req, err := client.CreatePreparer(resourceGroupName, mediaServiceName, parameters) if err != nil { err = autorest.NewErrorWithError(err, "mediaservices.Client", "Create", nil, "Failure preparing request") return @@ -154,7 +150,7 @@ func (client Client) Create(resourceGroupName string, mediaServiceName string, m } // CreatePreparer prepares the Create request. -func (client Client) CreatePreparer(resourceGroupName string, mediaServiceName string, mediaService MediaService) (*http.Request, error) { +func (client Client) CreatePreparer(resourceGroupName string, mediaServiceName string, parameters MediaService) (*http.Request, error) { pathParameters := map[string]interface{}{ "mediaServiceName": autorest.Encode("path", mediaServiceName), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -171,7 +167,7 @@ func (client Client) CreatePreparer(resourceGroupName string, mediaServiceName s autorest.AsPut(), autorest.WithBaseURL(client.BaseURI), autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}", pathParameters), - autorest.WithJSON(mediaService), + autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -197,14 +193,14 @@ func (client Client) CreateResponder(resp *http.Response) (result MediaService, // Delete deletes a Media Service. // -// resourceGroupName is name of the resource group within the Azure -// subscription. mediaServiceName is name of the Media Service. +// resourceGroupName is name of the resource group within the Azure subscription. mediaServiceName is name of the Media +// Service. func (client Client) Delete(resourceGroupName string, mediaServiceName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: mediaServiceName, Constraints: []validation.Constraint{{Target: "mediaServiceName", Name: validation.MaxLength, Rule: 24, Chain: nil}, {Target: "mediaServiceName", Name: validation.MinLength, Rule: 3, Chain: nil}, - {Target: "mediaServiceName", Name: validation.Pattern, Rule: `^[a-z0-9]`, Chain: nil}}}}); err != nil { + {Target: "mediaServiceName", Name: validation.Pattern, Rule: `^[a-z0-9]{3,24}$`, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "mediaservices.Client", "Delete") } @@ -270,14 +266,14 @@ func (client Client) DeleteResponder(resp *http.Response) (result autorest.Respo // Get gets a Media Service. // -// resourceGroupName is name of the resource group within the Azure -// subscription. mediaServiceName is name of the Media Service. +// resourceGroupName is name of the resource group within the Azure subscription. mediaServiceName is name of the Media +// Service. func (client Client) Get(resourceGroupName string, mediaServiceName string) (result MediaService, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: mediaServiceName, Constraints: []validation.Constraint{{Target: "mediaServiceName", Name: validation.MaxLength, Rule: 24, Chain: nil}, {Target: "mediaServiceName", Name: validation.MinLength, Rule: 3, Chain: nil}, - {Target: "mediaServiceName", Name: validation.Pattern, Rule: `^[a-z0-9]`, Chain: nil}}}}); err != nil { + {Target: "mediaServiceName", Name: validation.Pattern, Rule: `^[a-z0-9]{3,24}$`, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "mediaservices.Client", "Get") } @@ -344,8 +340,7 @@ func (client Client) GetResponder(resp *http.Response) (result MediaService, err // ListByResourceGroup lists all of the Media Services in a resource group. // -// resourceGroupName is name of the resource group within the Azure -// subscription. +// resourceGroupName is name of the resource group within the Azure subscription. func (client Client) ListByResourceGroup(resourceGroupName string) (result Collection, err error) { req, err := client.ListByResourceGroupPreparer(resourceGroupName) if err != nil { @@ -409,14 +404,14 @@ func (client Client) ListByResourceGroupResponder(resp *http.Response) (result C // ListKeys lists the keys for a Media Service. // -// resourceGroupName is name of the resource group within the Azure -// subscription. mediaServiceName is name of the Media Service. +// resourceGroupName is name of the resource group within the Azure subscription. mediaServiceName is name of the Media +// Service. func (client Client) ListKeys(resourceGroupName string, mediaServiceName string) (result ServiceKeys, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: mediaServiceName, Constraints: []validation.Constraint{{Target: "mediaServiceName", Name: validation.MaxLength, Rule: 24, Chain: nil}, {Target: "mediaServiceName", Name: validation.MinLength, Rule: 3, Chain: nil}, - {Target: "mediaServiceName", Name: validation.Pattern, Rule: `^[a-z0-9]`, Chain: nil}}}}); err != nil { + {Target: "mediaServiceName", Name: validation.Pattern, Rule: `^[a-z0-9]{3,24}$`, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "mediaservices.Client", "ListKeys") } @@ -483,19 +478,18 @@ func (client Client) ListKeysResponder(resp *http.Response) (result ServiceKeys, // RegenerateKey regenerates a primary or secondary key for a Media Service. // -// resourceGroupName is name of the resource group within the Azure -// subscription. mediaServiceName is name of the Media Service. -// regenerateKeyInput is properties needed to regenerate the Media Service key. -func (client Client) RegenerateKey(resourceGroupName string, mediaServiceName string, regenerateKeyInput RegenerateKeyInput) (result RegenerateKeyOutput, err error) { +// resourceGroupName is name of the resource group within the Azure subscription. mediaServiceName is name of the Media +// Service. parameters is properties needed to regenerate the Media Service key. +func (client Client) RegenerateKey(resourceGroupName string, mediaServiceName string, parameters RegenerateKeyInput) (result RegenerateKeyOutput, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: mediaServiceName, Constraints: []validation.Constraint{{Target: "mediaServiceName", Name: validation.MaxLength, Rule: 24, Chain: nil}, {Target: "mediaServiceName", Name: validation.MinLength, Rule: 3, Chain: nil}, - {Target: "mediaServiceName", Name: validation.Pattern, Rule: `^[a-z0-9]`, Chain: nil}}}}); err != nil { + {Target: "mediaServiceName", Name: validation.Pattern, Rule: `^[a-z0-9]{3,24}$`, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "mediaservices.Client", "RegenerateKey") } - req, err := client.RegenerateKeyPreparer(resourceGroupName, mediaServiceName, regenerateKeyInput) + req, err := client.RegenerateKeyPreparer(resourceGroupName, mediaServiceName, parameters) if err != nil { err = autorest.NewErrorWithError(err, "mediaservices.Client", "RegenerateKey", nil, "Failure preparing request") return @@ -517,7 +511,7 @@ func (client Client) RegenerateKey(resourceGroupName string, mediaServiceName st } // RegenerateKeyPreparer prepares the RegenerateKey request. -func (client Client) RegenerateKeyPreparer(resourceGroupName string, mediaServiceName string, regenerateKeyInput RegenerateKeyInput) (*http.Request, error) { +func (client Client) RegenerateKeyPreparer(resourceGroupName string, mediaServiceName string, parameters RegenerateKeyInput) (*http.Request, error) { pathParameters := map[string]interface{}{ "mediaServiceName": autorest.Encode("path", mediaServiceName), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -534,7 +528,7 @@ func (client Client) RegenerateKeyPreparer(resourceGroupName string, mediaServic autorest.AsPost(), autorest.WithBaseURL(client.BaseURI), autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}/regenerateKey", pathParameters), - autorest.WithJSON(regenerateKeyInput), + autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -558,25 +552,22 @@ func (client Client) RegenerateKeyResponder(resp *http.Response) (result Regener return } -// SyncStorageKeys synchronizes storage account keys for a storage account -// associated with the Media Service account. +// SyncStorageKeys synchronizes storage account keys for a storage account associated with the Media Service account. // -// resourceGroupName is name of the resource group within the Azure -// subscription. mediaServiceName is name of the Media Service. -// syncStorageKeysInput is properties needed to synchronize the keys for a -// storage account to the Media Service. -func (client Client) SyncStorageKeys(resourceGroupName string, mediaServiceName string, syncStorageKeysInput SyncStorageKeysInput) (result autorest.Response, err error) { +// resourceGroupName is name of the resource group within the Azure subscription. mediaServiceName is name of the Media +// Service. parameters is properties needed to synchronize the keys for a storage account to the Media Service. +func (client Client) SyncStorageKeys(resourceGroupName string, mediaServiceName string, parameters SyncStorageKeysInput) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: mediaServiceName, Constraints: []validation.Constraint{{Target: "mediaServiceName", Name: validation.MaxLength, Rule: 24, Chain: nil}, {Target: "mediaServiceName", Name: validation.MinLength, Rule: 3, Chain: nil}, - {Target: "mediaServiceName", Name: validation.Pattern, Rule: `^[a-z0-9]`, Chain: nil}}}, - {TargetValue: syncStorageKeysInput, - Constraints: []validation.Constraint{{Target: "syncStorageKeysInput.ID", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + {Target: "mediaServiceName", Name: validation.Pattern, Rule: `^[a-z0-9]{3,24}$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.ID", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "mediaservices.Client", "SyncStorageKeys") } - req, err := client.SyncStorageKeysPreparer(resourceGroupName, mediaServiceName, syncStorageKeysInput) + req, err := client.SyncStorageKeysPreparer(resourceGroupName, mediaServiceName, parameters) if err != nil { err = autorest.NewErrorWithError(err, "mediaservices.Client", "SyncStorageKeys", nil, "Failure preparing request") return @@ -598,7 +589,7 @@ func (client Client) SyncStorageKeys(resourceGroupName string, mediaServiceName } // SyncStorageKeysPreparer prepares the SyncStorageKeys request. -func (client Client) SyncStorageKeysPreparer(resourceGroupName string, mediaServiceName string, syncStorageKeysInput SyncStorageKeysInput) (*http.Request, error) { +func (client Client) SyncStorageKeysPreparer(resourceGroupName string, mediaServiceName string, parameters SyncStorageKeysInput) (*http.Request, error) { pathParameters := map[string]interface{}{ "mediaServiceName": autorest.Encode("path", mediaServiceName), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -615,7 +606,7 @@ func (client Client) SyncStorageKeysPreparer(resourceGroupName string, mediaServ autorest.AsPost(), autorest.WithBaseURL(client.BaseURI), autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}/syncStorageKeys", pathParameters), - autorest.WithJSON(syncStorageKeysInput), + autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -640,19 +631,18 @@ func (client Client) SyncStorageKeysResponder(resp *http.Response) (result autor // Update updates a Media Service. // -// resourceGroupName is name of the resource group within the Azure -// subscription. mediaServiceName is name of the Media Service. mediaService is -// media Service properties needed for update. -func (client Client) Update(resourceGroupName string, mediaServiceName string, mediaService MediaService) (result MediaService, err error) { +// resourceGroupName is name of the resource group within the Azure subscription. mediaServiceName is name of the Media +// Service. parameters is media Service properties needed for update. +func (client Client) Update(resourceGroupName string, mediaServiceName string, parameters MediaService) (result MediaService, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: mediaServiceName, Constraints: []validation.Constraint{{Target: "mediaServiceName", Name: validation.MaxLength, Rule: 24, Chain: nil}, {Target: "mediaServiceName", Name: validation.MinLength, Rule: 3, Chain: nil}, - {Target: "mediaServiceName", Name: validation.Pattern, Rule: `^[a-z0-9]`, Chain: nil}}}}); err != nil { + {Target: "mediaServiceName", Name: validation.Pattern, Rule: `^[a-z0-9]{3,24}$`, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "mediaservices.Client", "Update") } - req, err := client.UpdatePreparer(resourceGroupName, mediaServiceName, mediaService) + req, err := client.UpdatePreparer(resourceGroupName, mediaServiceName, parameters) if err != nil { err = autorest.NewErrorWithError(err, "mediaservices.Client", "Update", nil, "Failure preparing request") return @@ -674,7 +664,7 @@ func (client Client) Update(resourceGroupName string, mediaServiceName string, m } // UpdatePreparer prepares the Update request. -func (client Client) UpdatePreparer(resourceGroupName string, mediaServiceName string, mediaService MediaService) (*http.Request, error) { +func (client Client) UpdatePreparer(resourceGroupName string, mediaServiceName string, parameters MediaService) (*http.Request, error) { pathParameters := map[string]interface{}{ "mediaServiceName": autorest.Encode("path", mediaServiceName), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -691,7 +681,7 @@ func (client Client) UpdatePreparer(resourceGroupName string, mediaServiceName s autorest.AsPatch(), autorest.WithBaseURL(client.BaseURI), autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}", pathParameters), - autorest.WithJSON(mediaService), + autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/mediaservices/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/mediaservices/models.go index d8fa72549..552061d08 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/mediaservices/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/mediaservices/models.go @@ -14,24 +14,20 @@ package mediaservices // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" ) -// EntityNameUnavailabilityReason enumerates the values for entity name -// unavailability reason. +// EntityNameUnavailabilityReason enumerates the values for entity name unavailability reason. type EntityNameUnavailabilityReason string const ( - // AlreadyExists specifies the already exists state for entity name - // unavailability reason. + // AlreadyExists specifies the already exists state for entity name unavailability reason. AlreadyExists EntityNameUnavailabilityReason = "AlreadyExists" - // Invalid specifies the invalid state for entity name unavailability - // reason. + // Invalid specifies the invalid state for entity name unavailability reason. Invalid EntityNameUnavailabilityReason = "Invalid" // None specifies the none state for entity name unavailability reason. None EntityNameUnavailabilityReason = "None" @@ -67,20 +63,18 @@ type APIError struct { Message *string `json:"message,omitempty"` } -// CheckNameAvailabilityInput is the request body for CheckNameAvailability -// API. +// CheckNameAvailabilityInput is the request body for CheckNameAvailability API. type CheckNameAvailabilityInput struct { Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` } -// CheckNameAvailabilityOutput is the response body for CheckNameAvailability -// API. +// CheckNameAvailabilityOutput is the response body for CheckNameAvailability API. type CheckNameAvailabilityOutput struct { autorest.Response `json:"-"` - NameAvailable *bool `json:"NameAvailable,omitempty"` - Reason EntityNameUnavailabilityReason `json:"Reason,omitempty"` - Message *string `json:"Message,omitempty"` + NameAvailable *bool `json:"nameAvailable,omitempty"` + Reason EntityNameUnavailabilityReason `json:"reason,omitempty"` + Message *string `json:"message,omitempty"` } // Collection is the collection of Media Service resources. @@ -100,6 +94,26 @@ type MediaService struct { *Properties `json:"properties,omitempty"` } +// Operation is a Media Services REST API operation +type Operation struct { + Name *string `json:"name,omitempty"` + Display *OperationDisplay `json:"display,omitempty"` +} + +// OperationDisplay is the object that represents the operation. +type OperationDisplay struct { + Provider *string `json:"provider,omitempty"` + Resource *string `json:"resource,omitempty"` + Operation *string `json:"operation,omitempty"` +} + +// OperationListResult is result of the request to list Media Services operations. +type OperationListResult struct { + autorest.Response `json:"-"` + Value *[]Operation `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + // Properties is the additional properties of a Media Service resource. type Properties struct { APIEndpoints *[]APIEndpoint `json:"apiEndpoints,omitempty"` @@ -136,8 +150,7 @@ type ServiceKeys struct { Scope *string `json:"scope,omitempty"` } -// StorageAccount is the properties of a storage account associated with this -// resource. +// StorageAccount is the properties of a storage account associated with this resource. type StorageAccount struct { ID *string `json:"id,omitempty"` IsPrimary *bool `json:"isPrimary,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/mediaservices/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/mediaservices/operations.go new file mode 100644 index 000000000..d96a84270 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/mediaservices/operations.go @@ -0,0 +1,96 @@ +package mediaservices + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// OperationsClient is the media Services resource management APIs. +type OperationsClient struct { + ManagementClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List lists all of the available Media Services REST API operations. +func (client OperationsClient) List() (result OperationListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "mediaservices.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "mediaservices.OperationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "mediaservices.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer() (*http.Request, error) { + const APIVersion = "2015-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Media/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/mediaservices/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/mediaservices/version.go index dfafa114f..19656b211 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/mediaservices/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/mediaservices/version.go @@ -14,16 +14,15 @@ package mediaservices // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-mediaservices/2015-10-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-mediaservices/2015-10-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/appcollections.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/appcollections.go index 5c91b67e2..33c462616 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/appcollections.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/appcollections.go @@ -14,9 +14,8 @@ package mobileengagement // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -29,20 +28,17 @@ type AppCollectionsClient struct { ManagementClient } -// NewAppCollectionsClient creates an instance of the AppCollectionsClient -// client. +// NewAppCollectionsClient creates an instance of the AppCollectionsClient client. func NewAppCollectionsClient(subscriptionID string) AppCollectionsClient { return NewAppCollectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewAppCollectionsClientWithBaseURI creates an instance of the -// AppCollectionsClient client. +// NewAppCollectionsClientWithBaseURI creates an instance of the AppCollectionsClient client. func NewAppCollectionsClientWithBaseURI(baseURI string, subscriptionID string) AppCollectionsClient { return AppCollectionsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CheckNameAvailability checks availability of an app collection name in the -// Engagement domain. +// CheckNameAvailability checks availability of an app collection name in the Engagement domain. // func (client AppCollectionsClient) CheckNameAvailability(parameters AppCollectionNameAvailability) (result AppCollectionNameAvailability, err error) { req, err := client.CheckNameAvailabilityPreparer(parameters) @@ -190,3 +186,48 @@ func (client AppCollectionsClient) ListNextResults(lastResults AppCollectionList return } + +// ListComplete gets all elements from the list without paging. +func (client AppCollectionsClient) ListComplete(cancel <-chan struct{}) (<-chan AppCollection, <-chan error) { + resultChan := make(chan AppCollection) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/apps.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/apps.go index ddc0c7549..613336a4c 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/apps.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/apps.go @@ -14,9 +14,8 @@ package mobileengagement // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -41,8 +40,7 @@ func NewAppsClientWithBaseURI(baseURI string, subscriptionID string) AppsClient // List lists apps in an appCollection. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. +// resourceGroupName is the name of the resource group. appCollection is application collection. func (client AppsClient) List(resourceGroupName string, appCollection string) (result AppListResult, err error) { req, err := client.ListPreparer(resourceGroupName, appCollection) if err != nil { @@ -128,3 +126,48 @@ func (client AppsClient) ListNextResults(lastResults AppListResult) (result AppL return } + +// ListComplete gets all elements from the list without paging. +func (client AppsClient) ListComplete(resourceGroupName string, appCollection string, cancel <-chan struct{}) (<-chan App, <-chan error) { + resultChan := make(chan App) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, appCollection) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/campaigns.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/campaigns.go index d1da83e0b..ccb120e96 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/campaigns.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/campaigns.go @@ -14,9 +14,8 @@ package mobileengagement // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -35,18 +34,15 @@ func NewCampaignsClient(subscriptionID string) CampaignsClient { return NewCampaignsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewCampaignsClientWithBaseURI creates an instance of the CampaignsClient -// client. +// NewCampaignsClientWithBaseURI creates an instance of the CampaignsClient client. func NewCampaignsClientWithBaseURI(baseURI string, subscriptionID string) CampaignsClient { return CampaignsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Activate activate a campaign previously created by a call to Create -// campaign. +// Activate activate a campaign previously created by a call to Create campaign. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. kind is -// campaign kind. ID is campaign identifier. +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. kind is campaign kind. ID is campaign identifier. func (client CampaignsClient) Activate(resourceGroupName string, appCollection string, appName string, kind CampaignKinds, ID int32) (result CampaignStateResult, err error) { req, err := client.ActivatePreparer(resourceGroupName, appCollection, appName, kind, ID) if err != nil { @@ -112,13 +108,10 @@ func (client CampaignsClient) ActivateResponder(resp *http.Response) (result Cam return } -// Create create a push campaign (announcement, poll, data push or native -// push). +// Create create a push campaign (announcement, poll, data push or native push). // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. kind is -// campaign kind. parameters is parameters supplied to the Update Campaign -// operation. +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. kind is campaign kind. parameters is parameters supplied to the Update Campaign operation. func (client CampaignsClient) Create(resourceGroupName string, appCollection string, appName string, kind CampaignKinds, parameters Campaign) (result CampaignStateResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -196,9 +189,8 @@ func (client CampaignsClient) CreateResponder(resp *http.Response) (result Campa // Delete delete a campaign previously created by a call to Create campaign. // -// kind is campaign kind. ID is campaign identifier. resourceGroupName is the -// name of the resource group. appCollection is application collection. appName -// is application resource name. +// kind is campaign kind. ID is campaign identifier. resourceGroupName is the name of the resource group. appCollection +// is application collection. appName is application resource name. func (client CampaignsClient) Delete(kind CampaignKinds, ID int32, resourceGroupName string, appCollection string, appName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(kind, ID, resourceGroupName, appCollection, appName) if err != nil { @@ -263,12 +255,10 @@ func (client CampaignsClient) DeleteResponder(resp *http.Response) (result autor return } -// Finish finish a push campaign previously activated by a call to Activate -// campaign. +// Finish finish a push campaign previously activated by a call to Activate campaign. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. kind is -// campaign kind. ID is campaign identifier. +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. kind is campaign kind. ID is campaign identifier. func (client CampaignsClient) Finish(resourceGroupName string, appCollection string, appName string, kind CampaignKinds, ID int32) (result CampaignStateResult, err error) { req, err := client.FinishPreparer(resourceGroupName, appCollection, appName, kind, ID) if err != nil { @@ -334,12 +324,10 @@ func (client CampaignsClient) FinishResponder(resp *http.Response) (result Campa return } -// Get the Get campaign operation retrieves information about a previously -// created campaign. +// Get the Get campaign operation retrieves information about a previously created campaign. // -// kind is campaign kind. ID is campaign identifier. resourceGroupName is the -// name of the resource group. appCollection is application collection. appName -// is application resource name. +// kind is campaign kind. ID is campaign identifier. resourceGroupName is the name of the resource group. appCollection +// is application collection. appName is application resource name. func (client CampaignsClient) Get(kind CampaignKinds, ID int32, resourceGroupName string, appCollection string, appName string) (result CampaignResult, err error) { req, err := client.GetPreparer(kind, ID, resourceGroupName, appCollection, appName) if err != nil { @@ -405,12 +393,10 @@ func (client CampaignsClient) GetResponder(resp *http.Response) (result Campaign return } -// GetByName the Get campaign operation retrieves information about a -// previously created campaign. +// GetByName the Get campaign operation retrieves information about a previously created campaign. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. kind is -// campaign kind. name is campaign name. +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. kind is campaign kind. name is campaign name. func (client CampaignsClient) GetByName(resourceGroupName string, appCollection string, appName string, kind CampaignKinds, name string) (result CampaignResult, err error) { req, err := client.GetByNamePreparer(resourceGroupName, appCollection, appName, kind, name) if err != nil { @@ -478,9 +464,8 @@ func (client CampaignsClient) GetByNameResponder(resp *http.Response) (result Ca // GetStatistics get all the campaign statistics. // -// kind is campaign kind. ID is campaign identifier. resourceGroupName is the -// name of the resource group. appCollection is application collection. appName -// is application resource name. +// kind is campaign kind. ID is campaign identifier. resourceGroupName is the name of the resource group. appCollection +// is application collection. appName is application resource name. func (client CampaignsClient) GetStatistics(kind CampaignKinds, ID int32, resourceGroupName string, appCollection string, appName string) (result CampaignStatisticsResult, err error) { req, err := client.GetStatisticsPreparer(kind, ID, resourceGroupName, appCollection, appName) if err != nil { @@ -548,27 +533,20 @@ func (client CampaignsClient) GetStatisticsResponder(resp *http.Response) (resul // List get the list of campaigns. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. kind is -// campaign kind. skip is control paging of campaigns, start results at the -// given offset, defaults to 0 (1st page of data). top is control paging of -// campaigns, number of campaigns to return with each call. It returns all -// campaigns by default. When specifying $top parameter, the response contains -// a `nextLink` property describing the path to get the next page if there are -// more results. filter is filter can be used to restrict the results to -// campaigns matching a specific state. The syntax is `$filter=state eq -// 'draft'`. Valid state values are: draft, scheduled, in-progress, and -// finished. Only the eq operator and the state property are supported. orderby -// is sort results by an expression which looks like `$orderby=id asc` (this -// example is actually the default behavior). The syntax is orderby={property} -// {direction} or just orderby={property}. The available sorting properties are -// id, name, state, activatedDate, and finishedDate. The available directions -// are asc (for ascending order) and desc (for descending order). When not -// specified the asc direction is used. Only one property at a time can be used -// for sorting. search is restrict results to campaigns matching the optional -// `search` expression. This currently performs the search based on the name on -// the campaign only, case insensitive. If the campaign contains the value of -// the `search` parameter anywhere in the name, it matches. +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. kind is campaign kind. skip is control paging of campaigns, start results at the given offset, +// defaults to 0 (1st page of data). top is control paging of campaigns, number of campaigns to return with each call. +// It returns all campaigns by default. When specifying $top parameter, the response contains a `nextLink` property +// describing the path to get the next page if there are more results. filter is filter can be used to restrict the +// results to campaigns matching a specific state. The syntax is `$filter=state eq 'draft'`. Valid state values are: +// draft, scheduled, in-progress, and finished. Only the eq operator and the state property are supported. orderby is +// sort results by an expression which looks like `$orderby=id asc` (this example is actually the default behavior). +// The syntax is orderby={property} {direction} or just orderby={property}. The available sorting properties are id, +// name, state, activatedDate, and finishedDate. The available directions are asc (for ascending order) and desc (for +// descending order). When not specified the asc direction is used. Only one property at a time can be used for +// sorting. search is restrict results to campaigns matching the optional `search` expression. This currently performs +// the search based on the name on the campaign only, case insensitive. If the campaign contains the value of the +// `search` parameter anywhere in the name, it matches. func (client CampaignsClient) List(resourceGroupName string, appCollection string, appName string, kind CampaignKinds, skip *int32, top *int32, filter string, orderby string, search string) (result CampaignsListResult, err error) { req, err := client.ListPreparer(resourceGroupName, appCollection, appName, kind, skip, top, filter, orderby, search) if err != nil { @@ -672,13 +650,56 @@ func (client CampaignsClient) ListNextResults(lastResults CampaignsListResult) ( return } -// Push push a previously saved campaign (created with Create campaign) to a -// set of devices. +// ListComplete gets all elements from the list without paging. +func (client CampaignsClient) ListComplete(resourceGroupName string, appCollection string, appName string, kind CampaignKinds, skip *int32, top *int32, filter string, orderby string, search string, cancel <-chan struct{}) (<-chan CampaignListResult, <-chan error) { + resultChan := make(chan CampaignListResult) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, appCollection, appName, kind, skip, top, filter, orderby, search) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// Push push a previously saved campaign (created with Create campaign) to a set of devices. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. kind is -// campaign kind. ID is campaign identifier. parameters is parameters supplied -// to the Push Campaign operation. +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. kind is campaign kind. ID is campaign identifier. parameters is parameters supplied to the Push +// Campaign operation. func (client CampaignsClient) Push(resourceGroupName string, appCollection string, appName string, kind CampaignKinds, ID int32, parameters CampaignPushParameters) (result CampaignPushResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -758,12 +779,10 @@ func (client CampaignsClient) PushResponder(resp *http.Response) (result Campaig return } -// Suspend suspend a push campaign previously activated by a call to Activate -// campaign. +// Suspend suspend a push campaign previously activated by a call to Activate campaign. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. kind is -// campaign kind. ID is campaign identifier. +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. kind is campaign kind. ID is campaign identifier. func (client CampaignsClient) Suspend(resourceGroupName string, appCollection string, appName string, kind CampaignKinds, ID int32) (result CampaignStateResult, err error) { req, err := client.SuspendPreparer(resourceGroupName, appCollection, appName, kind, ID) if err != nil { @@ -831,10 +850,8 @@ func (client CampaignsClient) SuspendResponder(resp *http.Response) (result Camp // TestNew test a new campaign on a set of devices. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. kind is -// campaign kind. parameters is parameters supplied to the Test Campaign -// operation. +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. kind is campaign kind. parameters is parameters supplied to the Test Campaign operation. func (client CampaignsClient) TestNew(resourceGroupName string, appCollection string, appName string, kind CampaignKinds, parameters CampaignTestNewParameters) (result CampaignState, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -912,13 +929,11 @@ func (client CampaignsClient) TestNewResponder(resp *http.Response) (result Camp return } -// TestSaved test an existing campaign (created with Create campaign) on a set -// of devices. +// TestSaved test an existing campaign (created with Create campaign) on a set of devices. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. kind is -// campaign kind. ID is campaign identifier. parameters is parameters supplied -// to the Test Campaign operation. +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. kind is campaign kind. ID is campaign identifier. parameters is parameters supplied to the Test +// Campaign operation. func (client CampaignsClient) TestSaved(resourceGroupName string, appCollection string, appName string, kind CampaignKinds, ID int32, parameters CampaignTestSavedParameters) (result CampaignStateResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -992,12 +1007,10 @@ func (client CampaignsClient) TestSavedResponder(resp *http.Response) (result Ca return } -// Update update an existing push campaign (announcement, poll, data push or -// native push). +// Update update an existing push campaign (announcement, poll, data push or native push). // -// kind is campaign kind. ID is campaign identifier. parameters is parameters -// supplied to the Update Campaign operation. resourceGroupName is the name of -// the resource group. appCollection is application collection. appName is +// kind is campaign kind. ID is campaign identifier. parameters is parameters supplied to the Update Campaign +// operation. resourceGroupName is the name of the resource group. appCollection is application collection. appName is // application resource name. func (client CampaignsClient) Update(kind CampaignKinds, ID int32, parameters Campaign, resourceGroupName string, appCollection string, appName string) (result CampaignStateResult, err error) { if err := validation.Validate([]validation.Validation{ diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/client.go index c80e35de9..eeed41fdd 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/client.go @@ -1,5 +1,4 @@ -// Package mobileengagement implements the Azure ARM Mobileengagement service -// API version 2014-12-01. +// Package mobileengagement implements the Azure ARM Mobileengagement service API version 2014-12-01. // // Microsoft Azure Mobile Engagement REST APIs. package mobileengagement @@ -18,9 +17,8 @@ package mobileengagement // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/devices.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/devices.go index 2a221be15..ef4978c30 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/devices.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/devices.go @@ -14,9 +14,8 @@ package mobileengagement // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -40,12 +39,10 @@ func NewDevicesClientWithBaseURI(baseURI string, subscriptionID string) DevicesC return DevicesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// GetByDeviceID get the information associated to a device running an -// application. +// GetByDeviceID get the information associated to a device running an application. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. deviceID is -// device identifier. +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. deviceID is device identifier. func (client DevicesClient) GetByDeviceID(resourceGroupName string, appCollection string, appName string, deviceID string) (result Device, err error) { req, err := client.GetByDeviceIDPreparer(resourceGroupName, appCollection, appName, deviceID) if err != nil { @@ -110,12 +107,10 @@ func (client DevicesClient) GetByDeviceIDResponder(resp *http.Response) (result return } -// GetByUserID get the information associated to a device running an -// application using the user identifier. +// GetByUserID get the information associated to a device running an application using the user identifier. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. userID is user -// identifier. +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. userID is user identifier. func (client DevicesClient) GetByUserID(resourceGroupName string, appCollection string, appName string, userID string) (result Device, err error) { req, err := client.GetByUserIDPreparer(resourceGroupName, appCollection, appName, userID) if err != nil { @@ -182,47 +177,32 @@ func (client DevicesClient) GetByUserIDResponder(resp *http.Response) (result De // List query the information associated to the devices running an application. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. top is number -// of devices to return with each call. Defaults to 100 and cannot return more. -// Passing a greater value is ignored. The response contains a `nextLink` -// property describing the URI path to get the next page of results if not all -// results could be returned at once. selectParameter is by default all `meta` -// and `appInfo` properties are returned, this property is used to restrict the -// output to the desired properties. It also excludes all devices from the -// output that have none of the selected properties. In other terms, only -// devices having at least one of the selected property being set is part of -// the results. Examples: - `$select=appInfo` : select all devices having at -// least 1 appInfo, return them all and don’t return any meta property. - -// `$select=meta` : return only meta properties in the output. - -// `$select=appInfo,meta/firstSeen,meta/lastSeen` : return all `appInfo`, plus -// meta object containing only firstSeen and lastSeen properties. The format is -// thus a comma separated list of properties to select. Use `appInfo` to select -// all appInfo properties, `meta` to select all meta properties. Use -// `appInfo/{key}` and `meta/{key}` to select specific appInfo and meta -// properties. filter is filter can be used to reduce the number of results. -// Filter is a boolean expression that can look like the following examples: * -// `$filter=deviceId gt 'abcdef0123456789abcdef0123456789'` * -// `$filter=lastModified le 1447284263690L` * `$filter=(deviceId ge -// 'abcdef0123456789abcdef0123456789') and (deviceId lt -// 'bacdef0123456789abcdef0123456789') and (lastModified gt 1447284263690L)` -// The first example is used automatically for paging when returning the -// `nextLink` property. The filter expression is a combination of checks on -// some properties that can be compared to their value. The available operators -// are: * `gt` : greater than * `ge` : greater than or equals * `lt` : less -// than * `le` : less than or equals * `and` : to add multiple checks (all -// checks must pass), optional parentheses can be used. The properties that can -// be used in the expression are the following: * `deviceId {operator} -// '{deviceIdValue}'` : a lexicographical comparison is made on the deviceId -// value, use single quotes for the value. * `lastModified {operator} -// {number}L` : returns only meta properties or appInfo properties whose last -// value modification timestamp compared to the specified value is matching -// (value is milliseconds since January 1st, 1970 UTC). Please note the `L` -// character after the number of milliseconds, its required when the number of -// milliseconds exceeds `2^31 - 1` (which is always the case for recent -// timestamps). Using `lastModified` excludes all devices from the output that -// have no property matching the timestamp criteria, like `$select`. Please -// note that the internal value of `lastModified` timestamp for a given +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. top is number of devices to return with each call. Defaults to 100 and cannot return more. Passing a +// greater value is ignored. The response contains a `nextLink` property describing the URI path to get the next page +// of results if not all results could be returned at once. selectParameter is by default all `meta` and `appInfo` +// properties are returned, this property is used to restrict the output to the desired properties. It also excludes +// all devices from the output that have none of the selected properties. In other terms, only devices having at least +// one of the selected property being set is part of the results. Examples: - `$select=appInfo` : select all devices +// having at least 1 appInfo, return them all and don’t return any meta property. - `$select=meta` : return only meta +// properties in the output. - `$select=appInfo,meta/firstSeen,meta/lastSeen` : return all `appInfo`, plus meta object +// containing only firstSeen and lastSeen properties. The format is thus a comma separated list of properties to +// select. Use `appInfo` to select all appInfo properties, `meta` to select all meta properties. Use `appInfo/{key}` +// and `meta/{key}` to select specific appInfo and meta properties. filter is filter can be used to reduce the number +// of results. Filter is a boolean expression that can look like the following examples: * `$filter=deviceId gt +// 'abcdef0123456789abcdef0123456789'` * `$filter=lastModified le 1447284263690L` * `$filter=(deviceId ge +// 'abcdef0123456789abcdef0123456789') and (deviceId lt 'bacdef0123456789abcdef0123456789') and (lastModified gt +// 1447284263690L)` The first example is used automatically for paging when returning the `nextLink` property. The +// filter expression is a combination of checks on some properties that can be compared to their value. The available +// operators are: * `gt` : greater than * `ge` : greater than or equals * `lt` : less than * `le` : less than or +// equals * `and` : to add multiple checks (all checks must pass), optional parentheses can be used. The properties +// that can be used in the expression are the following: * `deviceId {operator} '{deviceIdValue}'` : a lexicographical +// comparison is made on the deviceId value, use single quotes for the value. * `lastModified {operator} {number}L` : +// returns only meta properties or appInfo properties whose last value modification timestamp compared to the specified +// value is matching (value is milliseconds since January 1st, 1970 UTC). Please note the `L` character after the +// number of milliseconds, its required when the number of milliseconds exceeds `2^31 - 1` (which is always the case +// for recent timestamps). Using `lastModified` excludes all devices from the output that have no property matching the +// timestamp criteria, like `$select`. Please note that the internal value of `lastModified` timestamp for a given // property is never part of the results. func (client DevicesClient) List(resourceGroupName string, appCollection string, appName string, top *int32, selectParameter string, filter string) (result DevicesQueryResult, err error) { req, err := client.ListPreparer(resourceGroupName, appCollection, appName, top, selectParameter, filter) @@ -320,13 +300,57 @@ func (client DevicesClient) ListNextResults(lastResults DevicesQueryResult) (res return } -// TagByDeviceID update the tags registered for a set of devices running an -// application. Updates are performed asynchronously, meaning that a few -// seconds are needed before the modifications appear in the results of the Get +// ListComplete gets all elements from the list without paging. +func (client DevicesClient) ListComplete(resourceGroupName string, appCollection string, appName string, top *int32, selectParameter string, filter string, cancel <-chan struct{}) (<-chan DeviceQueryResult, <-chan error) { + resultChan := make(chan DeviceQueryResult) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, appCollection, appName, top, selectParameter, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// TagByDeviceID update the tags registered for a set of devices running an application. Updates are performed +// asynchronously, meaning that a few seconds are needed before the modifications appear in the results of the Get // device command. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. func (client DevicesClient) TagByDeviceID(resourceGroupName string, appCollection string, appName string, parameters DeviceTagsParameters) (result DeviceTagsResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -398,13 +422,12 @@ func (client DevicesClient) TagByDeviceIDResponder(resp *http.Response) (result return } -// TagByUserID update the tags registered for a set of users running an -// application. Updates are performed asynchronously, meaning that a few -// seconds are needed before the modifications appear in the results of the Get +// TagByUserID update the tags registered for a set of users running an application. Updates are performed +// asynchronously, meaning that a few seconds are needed before the modifications appear in the results of the Get // device command. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. func (client DevicesClient) TagByUserID(resourceGroupName string, appCollection string, appName string, parameters DeviceTagsParameters) (result DeviceTagsResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/exporttasks.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/exporttasks.go index 8b7ab443d..f83ea7b6b 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/exporttasks.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/exporttasks.go @@ -14,9 +14,8 @@ package mobileengagement // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -35,16 +34,15 @@ func NewExportTasksClient(subscriptionID string) ExportTasksClient { return NewExportTasksClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewExportTasksClientWithBaseURI creates an instance of the ExportTasksClient -// client. +// NewExportTasksClientWithBaseURI creates an instance of the ExportTasksClient client. func NewExportTasksClientWithBaseURI(baseURI string, subscriptionID string) ExportTasksClient { return ExportTasksClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateActivitiesTask creates a task to export activities. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. func (client ExportTasksClient) CreateActivitiesTask(resourceGroupName string, appCollection string, appName string, parameters DateRangeExportTaskParameter) (result ExportTaskResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -120,8 +118,8 @@ func (client ExportTasksClient) CreateActivitiesTaskResponder(resp *http.Respons // CreateCrashesTask creates a task to export crashes. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. func (client ExportTasksClient) CreateCrashesTask(resourceGroupName string, appCollection string, appName string, parameters DateRangeExportTaskParameter) (result ExportTaskResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -197,8 +195,8 @@ func (client ExportTasksClient) CreateCrashesTaskResponder(resp *http.Response) // CreateErrorsTask creates a task to export errors. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. func (client ExportTasksClient) CreateErrorsTask(resourceGroupName string, appCollection string, appName string, parameters DateRangeExportTaskParameter) (result ExportTaskResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -274,8 +272,8 @@ func (client ExportTasksClient) CreateErrorsTaskResponder(resp *http.Response) ( // CreateEventsTask creates a task to export events. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. func (client ExportTasksClient) CreateEventsTask(resourceGroupName string, appCollection string, appName string, parameters DateRangeExportTaskParameter) (result ExportTaskResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -349,11 +347,10 @@ func (client ExportTasksClient) CreateEventsTaskResponder(resp *http.Response) ( return } -// CreateFeedbackTaskByCampaign creates a task to export push campaign data for -// a set of campaigns. +// CreateFeedbackTaskByCampaign creates a task to export push campaign data for a set of campaigns. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. func (client ExportTasksClient) CreateFeedbackTaskByCampaign(resourceGroupName string, appCollection string, appName string, parameters FeedbackByCampaignParameter) (result ExportTaskResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -427,11 +424,10 @@ func (client ExportTasksClient) CreateFeedbackTaskByCampaignResponder(resp *http return } -// CreateFeedbackTaskByDateRange creates a task to export push campaign data -// for a date range. +// CreateFeedbackTaskByDateRange creates a task to export push campaign data for a date range. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. func (client ExportTasksClient) CreateFeedbackTaskByDateRange(resourceGroupName string, appCollection string, appName string, parameters FeedbackByDateRangeParameter) (result ExportTaskResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -507,8 +503,8 @@ func (client ExportTasksClient) CreateFeedbackTaskByDateRangeResponder(resp *htt // CreateJobsTask creates a task to export jobs. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. func (client ExportTasksClient) CreateJobsTask(resourceGroupName string, appCollection string, appName string, parameters DateRangeExportTaskParameter) (result ExportTaskResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -584,8 +580,8 @@ func (client ExportTasksClient) CreateJobsTaskResponder(resp *http.Response) (re // CreateSessionsTask creates a task to export sessions. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. func (client ExportTasksClient) CreateSessionsTask(resourceGroupName string, appCollection string, appName string, parameters DateRangeExportTaskParameter) (result ExportTaskResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -661,8 +657,8 @@ func (client ExportTasksClient) CreateSessionsTaskResponder(resp *http.Response) // CreateTagsTask creates a task to export tags. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. func (client ExportTasksClient) CreateTagsTask(resourceGroupName string, appCollection string, appName string, parameters ExportTaskParameter) (result ExportTaskResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -736,8 +732,8 @@ func (client ExportTasksClient) CreateTagsTaskResponder(resp *http.Response) (re // CreateTokensTask creates a task to export tags. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. func (client ExportTasksClient) CreateTokensTask(resourceGroupName string, appCollection string, appName string, parameters ExportTaskParameter) (result ExportTaskResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -811,9 +807,8 @@ func (client ExportTasksClient) CreateTokensTaskResponder(resp *http.Response) ( // Get retrieves information about a previously created export task. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. ID is export -// task identifier. +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. ID is export task identifier. func (client ExportTasksClient) Get(resourceGroupName string, appCollection string, appName string, ID string) (result ExportTaskResult, err error) { req, err := client.GetPreparer(resourceGroupName, appCollection, appName, ID) if err != nil { @@ -880,22 +875,16 @@ func (client ExportTasksClient) GetResponder(resp *http.Response) (result Export // List get the list of export tasks. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. skip is -// control paging of export tasks, start results at the given offset, defaults -// to 0 (1st page of data). top is control paging of export tasks, number of -// export tasks to return with each call. By default, it returns all export -// tasks with a default paging of 20. -// The response contains a `nextLink` property describing the path to get the -// next page if there are more results. -// The maximum paging limit for $top is 40. orderby is sort results by an -// expression which looks like `$orderby=taskId asc` (default when not -// specified). +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. skip is control paging of export tasks, start results at the given offset, defaults to 0 (1st page of +// data). top is control paging of export tasks, number of export tasks to return with each call. By default, it +// returns all export tasks with a default paging of 20. +// The response contains a `nextLink` property describing the path to get the next page if there are more results. +// The maximum paging limit for $top is 40. orderby is sort results by an expression which looks like `$orderby=taskId +// asc` (default when not specified). // The syntax is orderby={property} {direction} or just orderby={property}. -// Properties that can be specified for sorting: taskId, errorDetails, -// dateCreated, taskStatus, and dateCreated. -// The available directions are asc (for ascending order) and desc (for -// descending order). +// Properties that can be specified for sorting: taskId, errorDetails, dateCreated, taskStatus, and dateCreated. +// The available directions are asc (for ascending order) and desc (for descending order). // When not specified the asc direction is used. // Only one orderby property can be specified. func (client ExportTasksClient) List(resourceGroupName string, appCollection string, appName string, skip *int32, top *int32, orderby string) (result ExportTaskListResult, err error) { @@ -1005,3 +994,48 @@ func (client ExportTasksClient) ListNextResults(lastResults ExportTaskListResult return } + +// ListComplete gets all elements from the list without paging. +func (client ExportTasksClient) ListComplete(resourceGroupName string, appCollection string, appName string, skip *int32, top *int32, orderby string, cancel <-chan struct{}) (<-chan ExportTaskResult, <-chan error) { + resultChan := make(chan ExportTaskResult) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, appCollection, appName, skip, top, orderby) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/importtasks.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/importtasks.go index 2fae682c8..983e4655c 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/importtasks.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/importtasks.go @@ -14,9 +14,8 @@ package mobileengagement // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -35,16 +34,15 @@ func NewImportTasksClient(subscriptionID string) ImportTasksClient { return NewImportTasksClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewImportTasksClientWithBaseURI creates an instance of the ImportTasksClient -// client. +// NewImportTasksClientWithBaseURI creates an instance of the ImportTasksClient client. func NewImportTasksClientWithBaseURI(baseURI string, subscriptionID string) ImportTasksClient { return ImportTasksClient{NewWithBaseURI(baseURI, subscriptionID)} } // Create creates a job to import the specified data to a storageUrl. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. func (client ImportTasksClient) Create(resourceGroupName string, appCollection string, appName string, parameters ImportTask) (result ImportTaskResult, err error) { req, err := client.CreatePreparer(resourceGroupName, appCollection, appName, parameters) if err != nil { @@ -110,12 +108,10 @@ func (client ImportTasksClient) CreateResponder(resp *http.Response) (result Imp return } -// Get the Get import job operation retrieves information about a previously -// created import job. +// Get the Get import job operation retrieves information about a previously created import job. // -// ID is import job identifier. resourceGroupName is the name of the resource -// group. appCollection is application collection. appName is application -// resource name. +// ID is import job identifier. resourceGroupName is the name of the resource group. appCollection is application +// collection. appName is application resource name. func (client ImportTasksClient) Get(ID string, resourceGroupName string, appCollection string, appName string) (result ImportTaskResult, err error) { req, err := client.GetPreparer(ID, resourceGroupName, appCollection, appName) if err != nil { @@ -182,22 +178,16 @@ func (client ImportTasksClient) GetResponder(resp *http.Response) (result Import // List get the list of import jobs. // -// resourceGroupName is the name of the resource group. appCollection is -// application collection. appName is application resource name. skip is -// control paging of import jobs, start results at the given offset, defaults -// to 0 (1st page of data). top is control paging of import jobs, number of -// import jobs to return with each call. By default, it returns all import jobs -// with a default paging of 20. -// The response contains a `nextLink` property describing the path to get the -// next page if there are more results. -// The maximum paging limit for $top is 40. orderby is sort results by an -// expression which looks like `$orderby=jobId asc` (default when not -// specified). +// resourceGroupName is the name of the resource group. appCollection is application collection. appName is application +// resource name. skip is control paging of import jobs, start results at the given offset, defaults to 0 (1st page of +// data). top is control paging of import jobs, number of import jobs to return with each call. By default, it returns +// all import jobs with a default paging of 20. +// The response contains a `nextLink` property describing the path to get the next page if there are more results. +// The maximum paging limit for $top is 40. orderby is sort results by an expression which looks like `$orderby=jobId +// asc` (default when not specified). // The syntax is orderby={property} {direction} or just orderby={property}. -// Properties that can be specified for sorting: jobId, errorDetails, -// dateCreated, jobStatus, and dateCreated. -// The available directions are asc (for ascending order) and desc (for -// descending order). +// Properties that can be specified for sorting: jobId, errorDetails, dateCreated, jobStatus, and dateCreated. +// The available directions are asc (for ascending order) and desc (for descending order). // When not specified the asc direction is used. // Only one orderby property can be specified. func (client ImportTasksClient) List(resourceGroupName string, appCollection string, appName string, skip *int32, top *int32, orderby string) (result ImportTaskListResult, err error) { @@ -307,3 +297,48 @@ func (client ImportTasksClient) ListNextResults(lastResults ImportTaskListResult return } + +// ListComplete gets all elements from the list without paging. +func (client ImportTasksClient) ListComplete(resourceGroupName string, appCollection string, appName string, skip *int32, top *int32, orderby string, cancel <-chan struct{}) (<-chan ImportTaskResult, <-chan error) { + resultChan := make(chan ImportTaskResult) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, appCollection, appName, skip, top, orderby) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/models.go index 92b9ad725..1e3c177e7 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/models.go @@ -14,11 +14,12 @@ package mobileengagement // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( + "encoding/json" + "errors" "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/date" "github.com/Azure/go-autorest/autorest/to" @@ -139,17 +140,13 @@ const ( type ExportState string const ( - // ExportStateFailed specifies the export state failed state for export - // state. + // ExportStateFailed specifies the export state failed state for export state. ExportStateFailed ExportState = "Failed" - // ExportStateQueued specifies the export state queued state for export - // state. + // ExportStateQueued specifies the export state queued state for export state. ExportStateQueued ExportState = "Queued" - // ExportStateStarted specifies the export state started state for export - // state. + // ExportStateStarted specifies the export state started state for export state. ExportStateStarted ExportState = "Started" - // ExportStateSucceeded specifies the export state succeeded state for - // export state. + // ExportStateSucceeded specifies the export state succeeded state for export state. ExportStateSucceeded ExportState = "Succeeded" ) @@ -157,8 +154,7 @@ const ( type ExportType string const ( - // ExportTypeActivity specifies the export type activity state for export - // type. + // ExportTypeActivity specifies the export type activity state for export type. ExportTypeActivity ExportType = "Activity" // ExportTypeCrash specifies the export type crash state for export type. ExportTypeCrash ExportType = "Crash" @@ -170,8 +166,7 @@ const ( ExportTypeJob ExportType = "Job" // ExportTypePush specifies the export type push state for export type. ExportTypePush ExportType = "Push" - // ExportTypeSession specifies the export type session state for export - // type. + // ExportTypeSession specifies the export type session state for export type. ExportTypeSession ExportType = "Session" // ExportTypeTag specifies the export type tag state for export type. ExportTypeTag ExportType = "Tag" @@ -189,8 +184,7 @@ const ( JobStatesQueued JobStates = "Queued" // JobStatesStarted specifies the job states started state for job states. JobStatesStarted JobStates = "Started" - // JobStatesSucceeded specifies the job states succeeded state for job - // states. + // JobStatesSucceeded specifies the job states succeeded state for job states. JobStatesSucceeded JobStates = "Succeeded" ) @@ -226,13 +220,192 @@ const ( RealTime PushModes = "real-time" ) -// AnnouncementFeedbackCriterion is used to target devices who received an -// announcement. +// Type enumerates the values for type. +type Type string + +const ( + // TypeAnnouncementFeedback specifies the type announcement feedback state for type. + TypeAnnouncementFeedback Type = "announcement-feedback" + // TypeApplicationVersion specifies the type application version state for type. + TypeApplicationVersion Type = "application-version" + // TypeBooleanTag specifies the type boolean tag state for type. + TypeBooleanTag Type = "boolean-tag" + // TypeCarrierCountry specifies the type carrier country state for type. + TypeCarrierCountry Type = "carrier-country" + // TypeCarrierName specifies the type carrier name state for type. + TypeCarrierName Type = "carrier-name" + // TypeDatapushFeedback specifies the type datapush feedback state for type. + TypeDatapushFeedback Type = "datapush-feedback" + // TypeDateTag specifies the type date tag state for type. + TypeDateTag Type = "date-tag" + // TypeDeviceManufacturer specifies the type device manufacturer state for type. + TypeDeviceManufacturer Type = "device-manufacturer" + // TypeDeviceModel specifies the type device model state for type. + TypeDeviceModel Type = "device-model" + // TypeFirmwareVersion specifies the type firmware version state for type. + TypeFirmwareVersion Type = "firmware-version" + // TypeGeoFencing specifies the type geo fencing state for type. + TypeGeoFencing Type = "geo-fencing" + // TypeIntegerTag specifies the type integer tag state for type. + TypeIntegerTag Type = "integer-tag" + // TypeLanguage specifies the type language state for type. + TypeLanguage Type = "language" + // TypeLocation specifies the type location state for type. + TypeLocation Type = "location" + // TypeNetworkType specifies the type network type state for type. + TypeNetworkType Type = "network-type" + // TypePollAnswerFeedback specifies the type poll answer feedback state for type. + TypePollAnswerFeedback Type = "poll-answer-feedback" + // TypePollFeedback specifies the type poll feedback state for type. + TypePollFeedback Type = "poll-feedback" + // TypeScreenSize specifies the type screen size state for type. + TypeScreenSize Type = "screen-size" + // TypeSegment specifies the type segment state for type. + TypeSegment Type = "segment" + // TypeStringTag specifies the type string tag state for type. + TypeStringTag Type = "string-tag" +) + +// TypeFilter enumerates the values for type filter. +type TypeFilter string + +const ( + // TypeAppInfo specifies the type app info state for type filter. + TypeAppInfo TypeFilter = "app-info" + // TypeEngageActiveUsers specifies the type engage active users state for type filter. + TypeEngageActiveUsers TypeFilter = "engage-active-users" + // TypeEngageIdleUsers specifies the type engage idle users state for type filter. + TypeEngageIdleUsers TypeFilter = "engage-idle-users" + // TypeEngageNewUsers specifies the type engage new users state for type filter. + TypeEngageNewUsers TypeFilter = "engage-new-users" + // TypeEngageOldUsers specifies the type engage old users state for type filter. + TypeEngageOldUsers TypeFilter = "engage-old-users" + // TypeEngageSubset specifies the type engage subset state for type filter. + TypeEngageSubset TypeFilter = "engage-subset" + // TypeNativePushEnabled specifies the type native push enabled state for type filter. + TypeNativePushEnabled TypeFilter = "native-push-enabled" + // TypePushQuota specifies the type push quota state for type filter. + TypePushQuota TypeFilter = "push-quota" +) + +// AnnouncementFeedbackCriterion is used to target devices who received an announcement. type AnnouncementFeedbackCriterion struct { + Type Type `json:"type,omitempty"` ContentID *int32 `json:"content-id,omitempty"` Action CampaignFeedbacks `json:"action,omitempty"` } +// MarshalJSON is the custom marshaler for AnnouncementFeedbackCriterion. +func (afc AnnouncementFeedbackCriterion) MarshalJSON() ([]byte, error) { + afc.Type = TypeAnnouncementFeedback + type Alias AnnouncementFeedbackCriterion + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(afc), + }) +} + +// AsCarrierNameCriterion is the Criterion implementation for AnnouncementFeedbackCriterion. +func (afc AnnouncementFeedbackCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { + return nil, false +} + +// AsCarrierCountryCriterion is the Criterion implementation for AnnouncementFeedbackCriterion. +func (afc AnnouncementFeedbackCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { + return nil, false +} + +// AsFirmwareVersionCriterion is the Criterion implementation for AnnouncementFeedbackCriterion. +func (afc AnnouncementFeedbackCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { + return nil, false +} + +// AsDeviceManufacturerCriterion is the Criterion implementation for AnnouncementFeedbackCriterion. +func (afc AnnouncementFeedbackCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { + return nil, false +} + +// AsDeviceModelCriterion is the Criterion implementation for AnnouncementFeedbackCriterion. +func (afc AnnouncementFeedbackCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { + return nil, false +} + +// AsApplicationVersionCriterion is the Criterion implementation for AnnouncementFeedbackCriterion. +func (afc AnnouncementFeedbackCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { + return nil, false +} + +// AsNetworkTypeCriterion is the Criterion implementation for AnnouncementFeedbackCriterion. +func (afc AnnouncementFeedbackCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { + return nil, false +} + +// AsLanguageCriterion is the Criterion implementation for AnnouncementFeedbackCriterion. +func (afc AnnouncementFeedbackCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { + return nil, false +} + +// AsScreenSizeCriterion is the Criterion implementation for AnnouncementFeedbackCriterion. +func (afc AnnouncementFeedbackCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { + return nil, false +} + +// AsLocationCriterion is the Criterion implementation for AnnouncementFeedbackCriterion. +func (afc AnnouncementFeedbackCriterion) AsLocationCriterion() (*LocationCriterion, bool) { + return nil, false +} + +// AsGeoFencingCriterion is the Criterion implementation for AnnouncementFeedbackCriterion. +func (afc AnnouncementFeedbackCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { + return nil, false +} + +// AsAnnouncementFeedbackCriterion is the Criterion implementation for AnnouncementFeedbackCriterion. +func (afc AnnouncementFeedbackCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { + return &afc, true +} + +// AsPollFeedbackCriterion is the Criterion implementation for AnnouncementFeedbackCriterion. +func (afc AnnouncementFeedbackCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { + return nil, false +} + +// AsPollAnswerFeedbackCriterion is the Criterion implementation for AnnouncementFeedbackCriterion. +func (afc AnnouncementFeedbackCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { + return nil, false +} + +// AsDatapushFeedbackCriterion is the Criterion implementation for AnnouncementFeedbackCriterion. +func (afc AnnouncementFeedbackCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { + return nil, false +} + +// AsSegmentCriterion is the Criterion implementation for AnnouncementFeedbackCriterion. +func (afc AnnouncementFeedbackCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { + return nil, false +} + +// AsStringTagCriterion is the Criterion implementation for AnnouncementFeedbackCriterion. +func (afc AnnouncementFeedbackCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { + return nil, false +} + +// AsDateTagCriterion is the Criterion implementation for AnnouncementFeedbackCriterion. +func (afc AnnouncementFeedbackCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { + return nil, false +} + +// AsIntegerTagCriterion is the Criterion implementation for AnnouncementFeedbackCriterion. +func (afc AnnouncementFeedbackCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { + return nil, false +} + +// AsBooleanTagCriterion is the Criterion implementation for AnnouncementFeedbackCriterion. +func (afc AnnouncementFeedbackCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { + return nil, false +} + // APIError is type APIError struct { Error *APIErrorError `json:"error,omitempty"` @@ -296,20 +469,182 @@ type AppCollectionProperties struct { ProvisioningState ProvisioningStates `json:"provisioningState,omitempty"` } -// AppInfoFilter is send only to users who have some app info set. This is a -// special filter that is automatically added if your campaign contains appInfo -// parameters. It is not intended to be public and should not be used as it -// could be removed or replaced by the API. +// AppInfoFilter is send only to users who have some app info set. This is a special filter that is automatically added +// if your campaign contains appInfo parameters. It is not intended to be public and should not be used as it could be +// removed or replaced by the API. type AppInfoFilter struct { - AppInfo *[]string `json:"appInfo,omitempty"` + Type TypeFilter `json:"type,omitempty"` + AppInfo *[]string `json:"appInfo,omitempty"` } -// ApplicationVersionCriterion is used to target devices based on the version -// of the application they are using. +// MarshalJSON is the custom marshaler for AppInfoFilter. +func (aif AppInfoFilter) MarshalJSON() ([]byte, error) { + aif.Type = TypeAppInfo + type Alias AppInfoFilter + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(aif), + }) +} + +// AsEngageSubsetFilter is the Filter implementation for AppInfoFilter. +func (aif AppInfoFilter) AsEngageSubsetFilter() (*EngageSubsetFilter, bool) { + return nil, false +} + +// AsEngageOldUsersFilter is the Filter implementation for AppInfoFilter. +func (aif AppInfoFilter) AsEngageOldUsersFilter() (*EngageOldUsersFilter, bool) { + return nil, false +} + +// AsEngageNewUsersFilter is the Filter implementation for AppInfoFilter. +func (aif AppInfoFilter) AsEngageNewUsersFilter() (*EngageNewUsersFilter, bool) { + return nil, false +} + +// AsEngageActiveUsersFilter is the Filter implementation for AppInfoFilter. +func (aif AppInfoFilter) AsEngageActiveUsersFilter() (*EngageActiveUsersFilter, bool) { + return nil, false +} + +// AsEngageIdleUsersFilter is the Filter implementation for AppInfoFilter. +func (aif AppInfoFilter) AsEngageIdleUsersFilter() (*EngageIdleUsersFilter, bool) { + return nil, false +} + +// AsNativePushEnabledFilter is the Filter implementation for AppInfoFilter. +func (aif AppInfoFilter) AsNativePushEnabledFilter() (*NativePushEnabledFilter, bool) { + return nil, false +} + +// AsPushQuotaFilter is the Filter implementation for AppInfoFilter. +func (aif AppInfoFilter) AsPushQuotaFilter() (*PushQuotaFilter, bool) { + return nil, false +} + +// AsAppInfoFilter is the Filter implementation for AppInfoFilter. +func (aif AppInfoFilter) AsAppInfoFilter() (*AppInfoFilter, bool) { + return &aif, true +} + +// ApplicationVersionCriterion is used to target devices based on the version of the application they are using. type ApplicationVersionCriterion struct { + Type Type `json:"type,omitempty"` Name *string `json:"name,omitempty"` } +// MarshalJSON is the custom marshaler for ApplicationVersionCriterion. +func (avc ApplicationVersionCriterion) MarshalJSON() ([]byte, error) { + avc.Type = TypeApplicationVersion + type Alias ApplicationVersionCriterion + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(avc), + }) +} + +// AsCarrierNameCriterion is the Criterion implementation for ApplicationVersionCriterion. +func (avc ApplicationVersionCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { + return nil, false +} + +// AsCarrierCountryCriterion is the Criterion implementation for ApplicationVersionCriterion. +func (avc ApplicationVersionCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { + return nil, false +} + +// AsFirmwareVersionCriterion is the Criterion implementation for ApplicationVersionCriterion. +func (avc ApplicationVersionCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { + return nil, false +} + +// AsDeviceManufacturerCriterion is the Criterion implementation for ApplicationVersionCriterion. +func (avc ApplicationVersionCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { + return nil, false +} + +// AsDeviceModelCriterion is the Criterion implementation for ApplicationVersionCriterion. +func (avc ApplicationVersionCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { + return nil, false +} + +// AsApplicationVersionCriterion is the Criterion implementation for ApplicationVersionCriterion. +func (avc ApplicationVersionCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { + return &avc, true +} + +// AsNetworkTypeCriterion is the Criterion implementation for ApplicationVersionCriterion. +func (avc ApplicationVersionCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { + return nil, false +} + +// AsLanguageCriterion is the Criterion implementation for ApplicationVersionCriterion. +func (avc ApplicationVersionCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { + return nil, false +} + +// AsScreenSizeCriterion is the Criterion implementation for ApplicationVersionCriterion. +func (avc ApplicationVersionCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { + return nil, false +} + +// AsLocationCriterion is the Criterion implementation for ApplicationVersionCriterion. +func (avc ApplicationVersionCriterion) AsLocationCriterion() (*LocationCriterion, bool) { + return nil, false +} + +// AsGeoFencingCriterion is the Criterion implementation for ApplicationVersionCriterion. +func (avc ApplicationVersionCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { + return nil, false +} + +// AsAnnouncementFeedbackCriterion is the Criterion implementation for ApplicationVersionCriterion. +func (avc ApplicationVersionCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { + return nil, false +} + +// AsPollFeedbackCriterion is the Criterion implementation for ApplicationVersionCriterion. +func (avc ApplicationVersionCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { + return nil, false +} + +// AsPollAnswerFeedbackCriterion is the Criterion implementation for ApplicationVersionCriterion. +func (avc ApplicationVersionCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { + return nil, false +} + +// AsDatapushFeedbackCriterion is the Criterion implementation for ApplicationVersionCriterion. +func (avc ApplicationVersionCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { + return nil, false +} + +// AsSegmentCriterion is the Criterion implementation for ApplicationVersionCriterion. +func (avc ApplicationVersionCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { + return nil, false +} + +// AsStringTagCriterion is the Criterion implementation for ApplicationVersionCriterion. +func (avc ApplicationVersionCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { + return nil, false +} + +// AsDateTagCriterion is the Criterion implementation for ApplicationVersionCriterion. +func (avc ApplicationVersionCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { + return nil, false +} + +// AsIntegerTagCriterion is the Criterion implementation for ApplicationVersionCriterion. +func (avc ApplicationVersionCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { + return nil, false +} + +// AsBooleanTagCriterion is the Criterion implementation for ApplicationVersionCriterion. +func (avc ApplicationVersionCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { + return nil, false +} + // AppListResult is the list Apps operation response. type AppListResult struct { autorest.Response `json:"-"` @@ -338,10 +673,122 @@ type AppProperties struct { // BooleanTagCriterion is target devices based on a boolean tag value. type BooleanTagCriterion struct { + Type Type `json:"type,omitempty"` Name *string `json:"name,omitempty"` Value *bool `json:"value,omitempty"` } +// MarshalJSON is the custom marshaler for BooleanTagCriterion. +func (btc BooleanTagCriterion) MarshalJSON() ([]byte, error) { + btc.Type = TypeBooleanTag + type Alias BooleanTagCriterion + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(btc), + }) +} + +// AsCarrierNameCriterion is the Criterion implementation for BooleanTagCriterion. +func (btc BooleanTagCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { + return nil, false +} + +// AsCarrierCountryCriterion is the Criterion implementation for BooleanTagCriterion. +func (btc BooleanTagCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { + return nil, false +} + +// AsFirmwareVersionCriterion is the Criterion implementation for BooleanTagCriterion. +func (btc BooleanTagCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { + return nil, false +} + +// AsDeviceManufacturerCriterion is the Criterion implementation for BooleanTagCriterion. +func (btc BooleanTagCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { + return nil, false +} + +// AsDeviceModelCriterion is the Criterion implementation for BooleanTagCriterion. +func (btc BooleanTagCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { + return nil, false +} + +// AsApplicationVersionCriterion is the Criterion implementation for BooleanTagCriterion. +func (btc BooleanTagCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { + return nil, false +} + +// AsNetworkTypeCriterion is the Criterion implementation for BooleanTagCriterion. +func (btc BooleanTagCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { + return nil, false +} + +// AsLanguageCriterion is the Criterion implementation for BooleanTagCriterion. +func (btc BooleanTagCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { + return nil, false +} + +// AsScreenSizeCriterion is the Criterion implementation for BooleanTagCriterion. +func (btc BooleanTagCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { + return nil, false +} + +// AsLocationCriterion is the Criterion implementation for BooleanTagCriterion. +func (btc BooleanTagCriterion) AsLocationCriterion() (*LocationCriterion, bool) { + return nil, false +} + +// AsGeoFencingCriterion is the Criterion implementation for BooleanTagCriterion. +func (btc BooleanTagCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { + return nil, false +} + +// AsAnnouncementFeedbackCriterion is the Criterion implementation for BooleanTagCriterion. +func (btc BooleanTagCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { + return nil, false +} + +// AsPollFeedbackCriterion is the Criterion implementation for BooleanTagCriterion. +func (btc BooleanTagCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { + return nil, false +} + +// AsPollAnswerFeedbackCriterion is the Criterion implementation for BooleanTagCriterion. +func (btc BooleanTagCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { + return nil, false +} + +// AsDatapushFeedbackCriterion is the Criterion implementation for BooleanTagCriterion. +func (btc BooleanTagCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { + return nil, false +} + +// AsSegmentCriterion is the Criterion implementation for BooleanTagCriterion. +func (btc BooleanTagCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { + return nil, false +} + +// AsStringTagCriterion is the Criterion implementation for BooleanTagCriterion. +func (btc BooleanTagCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { + return nil, false +} + +// AsDateTagCriterion is the Criterion implementation for BooleanTagCriterion. +func (btc BooleanTagCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { + return nil, false +} + +// AsIntegerTagCriterion is the Criterion implementation for BooleanTagCriterion. +func (btc BooleanTagCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { + return nil, false +} + +// AsBooleanTagCriterion is the Criterion implementation for BooleanTagCriterion. +func (btc BooleanTagCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { + return &btc, true +} + // Campaign is type Campaign struct { NotificationTitle *string `json:"notificationTitle,omitempty"` @@ -374,18 +821,57 @@ type Campaign struct { Questions *[]PollQuestion `json:"questions,omitempty"` } -// CampaignAudience is specify which users will be targeted by this campaign. -// By default, all users will be targeted. If you set `pushMode` property to -// `manual`, the only thing you can specify in the audience is the push quota -// filter. An audience is a boolean expression made of criteria (variables) -// operators (`not`, `and` or `or`) and parenthesis. Additionally, a set of -// filters can be added to an audience. 65535 bytes max as per JSON encoding. +// CampaignAudience is specify which users will be targeted by this campaign. By default, all users will be targeted. +// If you set `pushMode` property to `manual`, the only thing you can specify in the audience is the push quota filter. +// An audience is a boolean expression made of criteria (variables) operators (`not`, `and` or `or`) and parenthesis. +// Additionally, a set of filters can be added to an audience. 65535 bytes max as per JSON encoding. type CampaignAudience struct { Expression *string `json:"expression,omitempty"` Criteria *map[string]*Criterion `json:"criteria,omitempty"` Filters *[]Filter `json:"filters,omitempty"` } +// UnmarshalJSON is the custom unmarshaler for CampaignAudience struct. +func (c *CampaignAudience) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["expression"] + if v != nil { + var expression string + err = json.Unmarshal(*m["expression"], &expression) + if err != nil { + return err + } + c.Expression = &expression + } + + v = m["criteria"] + if v != nil { + var criteria map[string]*Criterion + err = json.Unmarshal(*m["criteria"], &criteria) + if err != nil { + return err + } + c.Criteria = &criteria + } + + v = m["filters"] + if v != nil { + filters, err := unmarshalFilterArray(*m["filters"]) + if err != nil { + return err + } + c.Filters = &filters + } + + return nil +} + // CampaignListResult is type CampaignListResult struct { State CampaignStates `json:"state,omitempty"` @@ -528,28 +1014,493 @@ type CampaignTestSavedParameters struct { Lang *string `json:"lang,omitempty"` } -// CarrierCountryCriterion is used to target devices based on their carrier -// country. +// CarrierCountryCriterion is used to target devices based on their carrier country. type CarrierCountryCriterion struct { + Type Type `json:"type,omitempty"` Name *string `json:"name,omitempty"` } +// MarshalJSON is the custom marshaler for CarrierCountryCriterion. +func (ccc CarrierCountryCriterion) MarshalJSON() ([]byte, error) { + ccc.Type = TypeCarrierCountry + type Alias CarrierCountryCriterion + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ccc), + }) +} + +// AsCarrierNameCriterion is the Criterion implementation for CarrierCountryCriterion. +func (ccc CarrierCountryCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { + return nil, false +} + +// AsCarrierCountryCriterion is the Criterion implementation for CarrierCountryCriterion. +func (ccc CarrierCountryCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { + return &ccc, true +} + +// AsFirmwareVersionCriterion is the Criterion implementation for CarrierCountryCriterion. +func (ccc CarrierCountryCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { + return nil, false +} + +// AsDeviceManufacturerCriterion is the Criterion implementation for CarrierCountryCriterion. +func (ccc CarrierCountryCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { + return nil, false +} + +// AsDeviceModelCriterion is the Criterion implementation for CarrierCountryCriterion. +func (ccc CarrierCountryCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { + return nil, false +} + +// AsApplicationVersionCriterion is the Criterion implementation for CarrierCountryCriterion. +func (ccc CarrierCountryCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { + return nil, false +} + +// AsNetworkTypeCriterion is the Criterion implementation for CarrierCountryCriterion. +func (ccc CarrierCountryCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { + return nil, false +} + +// AsLanguageCriterion is the Criterion implementation for CarrierCountryCriterion. +func (ccc CarrierCountryCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { + return nil, false +} + +// AsScreenSizeCriterion is the Criterion implementation for CarrierCountryCriterion. +func (ccc CarrierCountryCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { + return nil, false +} + +// AsLocationCriterion is the Criterion implementation for CarrierCountryCriterion. +func (ccc CarrierCountryCriterion) AsLocationCriterion() (*LocationCriterion, bool) { + return nil, false +} + +// AsGeoFencingCriterion is the Criterion implementation for CarrierCountryCriterion. +func (ccc CarrierCountryCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { + return nil, false +} + +// AsAnnouncementFeedbackCriterion is the Criterion implementation for CarrierCountryCriterion. +func (ccc CarrierCountryCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { + return nil, false +} + +// AsPollFeedbackCriterion is the Criterion implementation for CarrierCountryCriterion. +func (ccc CarrierCountryCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { + return nil, false +} + +// AsPollAnswerFeedbackCriterion is the Criterion implementation for CarrierCountryCriterion. +func (ccc CarrierCountryCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { + return nil, false +} + +// AsDatapushFeedbackCriterion is the Criterion implementation for CarrierCountryCriterion. +func (ccc CarrierCountryCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { + return nil, false +} + +// AsSegmentCriterion is the Criterion implementation for CarrierCountryCriterion. +func (ccc CarrierCountryCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { + return nil, false +} + +// AsStringTagCriterion is the Criterion implementation for CarrierCountryCriterion. +func (ccc CarrierCountryCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { + return nil, false +} + +// AsDateTagCriterion is the Criterion implementation for CarrierCountryCriterion. +func (ccc CarrierCountryCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { + return nil, false +} + +// AsIntegerTagCriterion is the Criterion implementation for CarrierCountryCriterion. +func (ccc CarrierCountryCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { + return nil, false +} + +// AsBooleanTagCriterion is the Criterion implementation for CarrierCountryCriterion. +func (ccc CarrierCountryCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { + return nil, false +} + // CarrierNameCriterion is used to target devices based on their carrier name. type CarrierNameCriterion struct { + Type Type `json:"type,omitempty"` Name *string `json:"name,omitempty"` } -// Criterion is -type Criterion struct { +// MarshalJSON is the custom marshaler for CarrierNameCriterion. +func (cnc CarrierNameCriterion) MarshalJSON() ([]byte, error) { + cnc.Type = TypeCarrierName + type Alias CarrierNameCriterion + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(cnc), + }) } -// DatapushFeedbackCriterion is used to target devices who received a data -// push. +// AsCarrierNameCriterion is the Criterion implementation for CarrierNameCriterion. +func (cnc CarrierNameCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { + return &cnc, true +} + +// AsCarrierCountryCriterion is the Criterion implementation for CarrierNameCriterion. +func (cnc CarrierNameCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { + return nil, false +} + +// AsFirmwareVersionCriterion is the Criterion implementation for CarrierNameCriterion. +func (cnc CarrierNameCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { + return nil, false +} + +// AsDeviceManufacturerCriterion is the Criterion implementation for CarrierNameCriterion. +func (cnc CarrierNameCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { + return nil, false +} + +// AsDeviceModelCriterion is the Criterion implementation for CarrierNameCriterion. +func (cnc CarrierNameCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { + return nil, false +} + +// AsApplicationVersionCriterion is the Criterion implementation for CarrierNameCriterion. +func (cnc CarrierNameCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { + return nil, false +} + +// AsNetworkTypeCriterion is the Criterion implementation for CarrierNameCriterion. +func (cnc CarrierNameCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { + return nil, false +} + +// AsLanguageCriterion is the Criterion implementation for CarrierNameCriterion. +func (cnc CarrierNameCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { + return nil, false +} + +// AsScreenSizeCriterion is the Criterion implementation for CarrierNameCriterion. +func (cnc CarrierNameCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { + return nil, false +} + +// AsLocationCriterion is the Criterion implementation for CarrierNameCriterion. +func (cnc CarrierNameCriterion) AsLocationCriterion() (*LocationCriterion, bool) { + return nil, false +} + +// AsGeoFencingCriterion is the Criterion implementation for CarrierNameCriterion. +func (cnc CarrierNameCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { + return nil, false +} + +// AsAnnouncementFeedbackCriterion is the Criterion implementation for CarrierNameCriterion. +func (cnc CarrierNameCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { + return nil, false +} + +// AsPollFeedbackCriterion is the Criterion implementation for CarrierNameCriterion. +func (cnc CarrierNameCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { + return nil, false +} + +// AsPollAnswerFeedbackCriterion is the Criterion implementation for CarrierNameCriterion. +func (cnc CarrierNameCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { + return nil, false +} + +// AsDatapushFeedbackCriterion is the Criterion implementation for CarrierNameCriterion. +func (cnc CarrierNameCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { + return nil, false +} + +// AsSegmentCriterion is the Criterion implementation for CarrierNameCriterion. +func (cnc CarrierNameCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { + return nil, false +} + +// AsStringTagCriterion is the Criterion implementation for CarrierNameCriterion. +func (cnc CarrierNameCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { + return nil, false +} + +// AsDateTagCriterion is the Criterion implementation for CarrierNameCriterion. +func (cnc CarrierNameCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { + return nil, false +} + +// AsIntegerTagCriterion is the Criterion implementation for CarrierNameCriterion. +func (cnc CarrierNameCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { + return nil, false +} + +// AsBooleanTagCriterion is the Criterion implementation for CarrierNameCriterion. +func (cnc CarrierNameCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { + return nil, false +} + +// Criterion is +type Criterion interface { + AsCarrierNameCriterion() (*CarrierNameCriterion, bool) + AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) + AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) + AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) + AsDeviceModelCriterion() (*DeviceModelCriterion, bool) + AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) + AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) + AsLanguageCriterion() (*LanguageCriterion, bool) + AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) + AsLocationCriterion() (*LocationCriterion, bool) + AsGeoFencingCriterion() (*GeoFencingCriterion, bool) + AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) + AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) + AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) + AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) + AsSegmentCriterion() (*SegmentCriterion, bool) + AsStringTagCriterion() (*StringTagCriterion, bool) + AsDateTagCriterion() (*DateTagCriterion, bool) + AsIntegerTagCriterion() (*IntegerTagCriterion, bool) + AsBooleanTagCriterion() (*BooleanTagCriterion, bool) +} + +func unmarshalCriterion(body []byte) (Criterion, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeCarrierName): + var cnc CarrierNameCriterion + err := json.Unmarshal(body, &cnc) + return cnc, err + case string(TypeCarrierCountry): + var ccc CarrierCountryCriterion + err := json.Unmarshal(body, &ccc) + return ccc, err + case string(TypeFirmwareVersion): + var fvc FirmwareVersionCriterion + err := json.Unmarshal(body, &fvc) + return fvc, err + case string(TypeDeviceManufacturer): + var dmc DeviceManufacturerCriterion + err := json.Unmarshal(body, &dmc) + return dmc, err + case string(TypeDeviceModel): + var dmc DeviceModelCriterion + err := json.Unmarshal(body, &dmc) + return dmc, err + case string(TypeApplicationVersion): + var avc ApplicationVersionCriterion + err := json.Unmarshal(body, &avc) + return avc, err + case string(TypeNetworkType): + var ntc NetworkTypeCriterion + err := json.Unmarshal(body, &ntc) + return ntc, err + case string(TypeLanguage): + var lc LanguageCriterion + err := json.Unmarshal(body, &lc) + return lc, err + case string(TypeScreenSize): + var ssc ScreenSizeCriterion + err := json.Unmarshal(body, &ssc) + return ssc, err + case string(TypeLocation): + var lc LocationCriterion + err := json.Unmarshal(body, &lc) + return lc, err + case string(TypeGeoFencing): + var gfc GeoFencingCriterion + err := json.Unmarshal(body, &gfc) + return gfc, err + case string(TypeAnnouncementFeedback): + var afc AnnouncementFeedbackCriterion + err := json.Unmarshal(body, &afc) + return afc, err + case string(TypePollFeedback): + var pfc PollFeedbackCriterion + err := json.Unmarshal(body, &pfc) + return pfc, err + case string(TypePollAnswerFeedback): + var pafc PollAnswerFeedbackCriterion + err := json.Unmarshal(body, &pafc) + return pafc, err + case string(TypeDatapushFeedback): + var dfc DatapushFeedbackCriterion + err := json.Unmarshal(body, &dfc) + return dfc, err + case string(TypeSegment): + var sc SegmentCriterion + err := json.Unmarshal(body, &sc) + return sc, err + case string(TypeStringTag): + var stc StringTagCriterion + err := json.Unmarshal(body, &stc) + return stc, err + case string(TypeDateTag): + var dtc DateTagCriterion + err := json.Unmarshal(body, &dtc) + return dtc, err + case string(TypeIntegerTag): + var itc IntegerTagCriterion + err := json.Unmarshal(body, &itc) + return itc, err + case string(TypeBooleanTag): + var btc BooleanTagCriterion + err := json.Unmarshal(body, &btc) + return btc, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalCriterionArray(body []byte) ([]Criterion, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + cArray := make([]Criterion, len(rawMessages)) + + for index, rawMessage := range rawMessages { + c, err := unmarshalCriterion(*rawMessage) + if err != nil { + return nil, err + } + cArray[index] = c + } + return cArray, nil +} + +// DatapushFeedbackCriterion is used to target devices who received a data push. type DatapushFeedbackCriterion struct { + Type Type `json:"type,omitempty"` ContentID *int32 `json:"content-id,omitempty"` Action CampaignFeedbacks `json:"action,omitempty"` } +// MarshalJSON is the custom marshaler for DatapushFeedbackCriterion. +func (dfc DatapushFeedbackCriterion) MarshalJSON() ([]byte, error) { + dfc.Type = TypeDatapushFeedback + type Alias DatapushFeedbackCriterion + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(dfc), + }) +} + +// AsCarrierNameCriterion is the Criterion implementation for DatapushFeedbackCriterion. +func (dfc DatapushFeedbackCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { + return nil, false +} + +// AsCarrierCountryCriterion is the Criterion implementation for DatapushFeedbackCriterion. +func (dfc DatapushFeedbackCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { + return nil, false +} + +// AsFirmwareVersionCriterion is the Criterion implementation for DatapushFeedbackCriterion. +func (dfc DatapushFeedbackCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { + return nil, false +} + +// AsDeviceManufacturerCriterion is the Criterion implementation for DatapushFeedbackCriterion. +func (dfc DatapushFeedbackCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { + return nil, false +} + +// AsDeviceModelCriterion is the Criterion implementation for DatapushFeedbackCriterion. +func (dfc DatapushFeedbackCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { + return nil, false +} + +// AsApplicationVersionCriterion is the Criterion implementation for DatapushFeedbackCriterion. +func (dfc DatapushFeedbackCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { + return nil, false +} + +// AsNetworkTypeCriterion is the Criterion implementation for DatapushFeedbackCriterion. +func (dfc DatapushFeedbackCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { + return nil, false +} + +// AsLanguageCriterion is the Criterion implementation for DatapushFeedbackCriterion. +func (dfc DatapushFeedbackCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { + return nil, false +} + +// AsScreenSizeCriterion is the Criterion implementation for DatapushFeedbackCriterion. +func (dfc DatapushFeedbackCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { + return nil, false +} + +// AsLocationCriterion is the Criterion implementation for DatapushFeedbackCriterion. +func (dfc DatapushFeedbackCriterion) AsLocationCriterion() (*LocationCriterion, bool) { + return nil, false +} + +// AsGeoFencingCriterion is the Criterion implementation for DatapushFeedbackCriterion. +func (dfc DatapushFeedbackCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { + return nil, false +} + +// AsAnnouncementFeedbackCriterion is the Criterion implementation for DatapushFeedbackCriterion. +func (dfc DatapushFeedbackCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { + return nil, false +} + +// AsPollFeedbackCriterion is the Criterion implementation for DatapushFeedbackCriterion. +func (dfc DatapushFeedbackCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { + return nil, false +} + +// AsPollAnswerFeedbackCriterion is the Criterion implementation for DatapushFeedbackCriterion. +func (dfc DatapushFeedbackCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { + return nil, false +} + +// AsDatapushFeedbackCriterion is the Criterion implementation for DatapushFeedbackCriterion. +func (dfc DatapushFeedbackCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { + return &dfc, true +} + +// AsSegmentCriterion is the Criterion implementation for DatapushFeedbackCriterion. +func (dfc DatapushFeedbackCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { + return nil, false +} + +// AsStringTagCriterion is the Criterion implementation for DatapushFeedbackCriterion. +func (dfc DatapushFeedbackCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { + return nil, false +} + +// AsDateTagCriterion is the Criterion implementation for DatapushFeedbackCriterion. +func (dfc DatapushFeedbackCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { + return nil, false +} + +// AsIntegerTagCriterion is the Criterion implementation for DatapushFeedbackCriterion. +func (dfc DatapushFeedbackCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { + return nil, false +} + +// AsBooleanTagCriterion is the Criterion implementation for DatapushFeedbackCriterion. +func (dfc DatapushFeedbackCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { + return nil, false +} + // DateRangeExportTaskParameter is type DateRangeExportTaskParameter struct { ContainerURL *string `json:"containerUrl,omitempty"` @@ -561,11 +1512,123 @@ type DateRangeExportTaskParameter struct { // DateTagCriterion is target devices based on a date tag value. type DateTagCriterion struct { + Type Type `json:"type,omitempty"` Name *string `json:"name,omitempty"` Value *date.Date `json:"value,omitempty"` Op AudienceOperators `json:"op,omitempty"` } +// MarshalJSON is the custom marshaler for DateTagCriterion. +func (dtc DateTagCriterion) MarshalJSON() ([]byte, error) { + dtc.Type = TypeDateTag + type Alias DateTagCriterion + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(dtc), + }) +} + +// AsCarrierNameCriterion is the Criterion implementation for DateTagCriterion. +func (dtc DateTagCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { + return nil, false +} + +// AsCarrierCountryCriterion is the Criterion implementation for DateTagCriterion. +func (dtc DateTagCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { + return nil, false +} + +// AsFirmwareVersionCriterion is the Criterion implementation for DateTagCriterion. +func (dtc DateTagCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { + return nil, false +} + +// AsDeviceManufacturerCriterion is the Criterion implementation for DateTagCriterion. +func (dtc DateTagCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { + return nil, false +} + +// AsDeviceModelCriterion is the Criterion implementation for DateTagCriterion. +func (dtc DateTagCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { + return nil, false +} + +// AsApplicationVersionCriterion is the Criterion implementation for DateTagCriterion. +func (dtc DateTagCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { + return nil, false +} + +// AsNetworkTypeCriterion is the Criterion implementation for DateTagCriterion. +func (dtc DateTagCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { + return nil, false +} + +// AsLanguageCriterion is the Criterion implementation for DateTagCriterion. +func (dtc DateTagCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { + return nil, false +} + +// AsScreenSizeCriterion is the Criterion implementation for DateTagCriterion. +func (dtc DateTagCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { + return nil, false +} + +// AsLocationCriterion is the Criterion implementation for DateTagCriterion. +func (dtc DateTagCriterion) AsLocationCriterion() (*LocationCriterion, bool) { + return nil, false +} + +// AsGeoFencingCriterion is the Criterion implementation for DateTagCriterion. +func (dtc DateTagCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { + return nil, false +} + +// AsAnnouncementFeedbackCriterion is the Criterion implementation for DateTagCriterion. +func (dtc DateTagCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { + return nil, false +} + +// AsPollFeedbackCriterion is the Criterion implementation for DateTagCriterion. +func (dtc DateTagCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { + return nil, false +} + +// AsPollAnswerFeedbackCriterion is the Criterion implementation for DateTagCriterion. +func (dtc DateTagCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { + return nil, false +} + +// AsDatapushFeedbackCriterion is the Criterion implementation for DateTagCriterion. +func (dtc DateTagCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { + return nil, false +} + +// AsSegmentCriterion is the Criterion implementation for DateTagCriterion. +func (dtc DateTagCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { + return nil, false +} + +// AsStringTagCriterion is the Criterion implementation for DateTagCriterion. +func (dtc DateTagCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { + return nil, false +} + +// AsDateTagCriterion is the Criterion implementation for DateTagCriterion. +func (dtc DateTagCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { + return &dtc, true +} + +// AsIntegerTagCriterion is the Criterion implementation for DateTagCriterion. +func (dtc DateTagCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { + return nil, false +} + +// AsBooleanTagCriterion is the Criterion implementation for DateTagCriterion. +func (dtc DateTagCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { + return nil, false +} + // Device is type Device struct { autorest.Response `json:"-"` @@ -601,12 +1664,123 @@ type DeviceLocation struct { Locality *string `json:"locality,omitempty"` } -// DeviceManufacturerCriterion is used to target devices based on the device -// manufacturer. +// DeviceManufacturerCriterion is used to target devices based on the device manufacturer. type DeviceManufacturerCriterion struct { + Type Type `json:"type,omitempty"` Name *string `json:"name,omitempty"` } +// MarshalJSON is the custom marshaler for DeviceManufacturerCriterion. +func (dmc DeviceManufacturerCriterion) MarshalJSON() ([]byte, error) { + dmc.Type = TypeDeviceManufacturer + type Alias DeviceManufacturerCriterion + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(dmc), + }) +} + +// AsCarrierNameCriterion is the Criterion implementation for DeviceManufacturerCriterion. +func (dmc DeviceManufacturerCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { + return nil, false +} + +// AsCarrierCountryCriterion is the Criterion implementation for DeviceManufacturerCriterion. +func (dmc DeviceManufacturerCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { + return nil, false +} + +// AsFirmwareVersionCriterion is the Criterion implementation for DeviceManufacturerCriterion. +func (dmc DeviceManufacturerCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { + return nil, false +} + +// AsDeviceManufacturerCriterion is the Criterion implementation for DeviceManufacturerCriterion. +func (dmc DeviceManufacturerCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { + return &dmc, true +} + +// AsDeviceModelCriterion is the Criterion implementation for DeviceManufacturerCriterion. +func (dmc DeviceManufacturerCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { + return nil, false +} + +// AsApplicationVersionCriterion is the Criterion implementation for DeviceManufacturerCriterion. +func (dmc DeviceManufacturerCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { + return nil, false +} + +// AsNetworkTypeCriterion is the Criterion implementation for DeviceManufacturerCriterion. +func (dmc DeviceManufacturerCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { + return nil, false +} + +// AsLanguageCriterion is the Criterion implementation for DeviceManufacturerCriterion. +func (dmc DeviceManufacturerCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { + return nil, false +} + +// AsScreenSizeCriterion is the Criterion implementation for DeviceManufacturerCriterion. +func (dmc DeviceManufacturerCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { + return nil, false +} + +// AsLocationCriterion is the Criterion implementation for DeviceManufacturerCriterion. +func (dmc DeviceManufacturerCriterion) AsLocationCriterion() (*LocationCriterion, bool) { + return nil, false +} + +// AsGeoFencingCriterion is the Criterion implementation for DeviceManufacturerCriterion. +func (dmc DeviceManufacturerCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { + return nil, false +} + +// AsAnnouncementFeedbackCriterion is the Criterion implementation for DeviceManufacturerCriterion. +func (dmc DeviceManufacturerCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { + return nil, false +} + +// AsPollFeedbackCriterion is the Criterion implementation for DeviceManufacturerCriterion. +func (dmc DeviceManufacturerCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { + return nil, false +} + +// AsPollAnswerFeedbackCriterion is the Criterion implementation for DeviceManufacturerCriterion. +func (dmc DeviceManufacturerCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { + return nil, false +} + +// AsDatapushFeedbackCriterion is the Criterion implementation for DeviceManufacturerCriterion. +func (dmc DeviceManufacturerCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { + return nil, false +} + +// AsSegmentCriterion is the Criterion implementation for DeviceManufacturerCriterion. +func (dmc DeviceManufacturerCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { + return nil, false +} + +// AsStringTagCriterion is the Criterion implementation for DeviceManufacturerCriterion. +func (dmc DeviceManufacturerCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { + return nil, false +} + +// AsDateTagCriterion is the Criterion implementation for DeviceManufacturerCriterion. +func (dmc DeviceManufacturerCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { + return nil, false +} + +// AsIntegerTagCriterion is the Criterion implementation for DeviceManufacturerCriterion. +func (dmc DeviceManufacturerCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { + return nil, false +} + +// AsBooleanTagCriterion is the Criterion implementation for DeviceManufacturerCriterion. +func (dmc DeviceManufacturerCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { + return nil, false +} + // DeviceMeta is type DeviceMeta struct { FirstSeen *int64 `json:"firstSeen,omitempty"` @@ -618,9 +1792,121 @@ type DeviceMeta struct { // DeviceModelCriterion is used to target devices based on the device model. type DeviceModelCriterion struct { + Type Type `json:"type,omitempty"` Name *string `json:"name,omitempty"` } +// MarshalJSON is the custom marshaler for DeviceModelCriterion. +func (dmc DeviceModelCriterion) MarshalJSON() ([]byte, error) { + dmc.Type = TypeDeviceModel + type Alias DeviceModelCriterion + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(dmc), + }) +} + +// AsCarrierNameCriterion is the Criterion implementation for DeviceModelCriterion. +func (dmc DeviceModelCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { + return nil, false +} + +// AsCarrierCountryCriterion is the Criterion implementation for DeviceModelCriterion. +func (dmc DeviceModelCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { + return nil, false +} + +// AsFirmwareVersionCriterion is the Criterion implementation for DeviceModelCriterion. +func (dmc DeviceModelCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { + return nil, false +} + +// AsDeviceManufacturerCriterion is the Criterion implementation for DeviceModelCriterion. +func (dmc DeviceModelCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { + return nil, false +} + +// AsDeviceModelCriterion is the Criterion implementation for DeviceModelCriterion. +func (dmc DeviceModelCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { + return &dmc, true +} + +// AsApplicationVersionCriterion is the Criterion implementation for DeviceModelCriterion. +func (dmc DeviceModelCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { + return nil, false +} + +// AsNetworkTypeCriterion is the Criterion implementation for DeviceModelCriterion. +func (dmc DeviceModelCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { + return nil, false +} + +// AsLanguageCriterion is the Criterion implementation for DeviceModelCriterion. +func (dmc DeviceModelCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { + return nil, false +} + +// AsScreenSizeCriterion is the Criterion implementation for DeviceModelCriterion. +func (dmc DeviceModelCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { + return nil, false +} + +// AsLocationCriterion is the Criterion implementation for DeviceModelCriterion. +func (dmc DeviceModelCriterion) AsLocationCriterion() (*LocationCriterion, bool) { + return nil, false +} + +// AsGeoFencingCriterion is the Criterion implementation for DeviceModelCriterion. +func (dmc DeviceModelCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { + return nil, false +} + +// AsAnnouncementFeedbackCriterion is the Criterion implementation for DeviceModelCriterion. +func (dmc DeviceModelCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { + return nil, false +} + +// AsPollFeedbackCriterion is the Criterion implementation for DeviceModelCriterion. +func (dmc DeviceModelCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { + return nil, false +} + +// AsPollAnswerFeedbackCriterion is the Criterion implementation for DeviceModelCriterion. +func (dmc DeviceModelCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { + return nil, false +} + +// AsDatapushFeedbackCriterion is the Criterion implementation for DeviceModelCriterion. +func (dmc DeviceModelCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { + return nil, false +} + +// AsSegmentCriterion is the Criterion implementation for DeviceModelCriterion. +func (dmc DeviceModelCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { + return nil, false +} + +// AsStringTagCriterion is the Criterion implementation for DeviceModelCriterion. +func (dmc DeviceModelCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { + return nil, false +} + +// AsDateTagCriterion is the Criterion implementation for DeviceModelCriterion. +func (dmc DeviceModelCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { + return nil, false +} + +// AsIntegerTagCriterion is the Criterion implementation for DeviceModelCriterion. +func (dmc DeviceModelCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { + return nil, false +} + +// AsBooleanTagCriterion is the Criterion implementation for DeviceModelCriterion. +func (dmc DeviceModelCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { + return nil, false +} + // DeviceQueryResult is type DeviceQueryResult struct { DeviceID *string `json:"deviceId,omitempty"` @@ -659,33 +1945,289 @@ type DeviceTagsResult struct { InvalidIds *[]string `json:"invalidIds,omitempty"` } -// EngageActiveUsersFilter is send only to users who have used the app in the -// last {threshold} days. +// EngageActiveUsersFilter is send only to users who have used the app in the last {threshold} days. type EngageActiveUsersFilter struct { - Threshold *int32 `json:"threshold,omitempty"` + Type TypeFilter `json:"type,omitempty"` + Threshold *int32 `json:"threshold,omitempty"` } -// EngageIdleUsersFilter is send only to users who haven't used the app in the -// last {threshold} days. +// MarshalJSON is the custom marshaler for EngageActiveUsersFilter. +func (eauf EngageActiveUsersFilter) MarshalJSON() ([]byte, error) { + eauf.Type = TypeEngageActiveUsers + type Alias EngageActiveUsersFilter + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(eauf), + }) +} + +// AsEngageSubsetFilter is the Filter implementation for EngageActiveUsersFilter. +func (eauf EngageActiveUsersFilter) AsEngageSubsetFilter() (*EngageSubsetFilter, bool) { + return nil, false +} + +// AsEngageOldUsersFilter is the Filter implementation for EngageActiveUsersFilter. +func (eauf EngageActiveUsersFilter) AsEngageOldUsersFilter() (*EngageOldUsersFilter, bool) { + return nil, false +} + +// AsEngageNewUsersFilter is the Filter implementation for EngageActiveUsersFilter. +func (eauf EngageActiveUsersFilter) AsEngageNewUsersFilter() (*EngageNewUsersFilter, bool) { + return nil, false +} + +// AsEngageActiveUsersFilter is the Filter implementation for EngageActiveUsersFilter. +func (eauf EngageActiveUsersFilter) AsEngageActiveUsersFilter() (*EngageActiveUsersFilter, bool) { + return &eauf, true +} + +// AsEngageIdleUsersFilter is the Filter implementation for EngageActiveUsersFilter. +func (eauf EngageActiveUsersFilter) AsEngageIdleUsersFilter() (*EngageIdleUsersFilter, bool) { + return nil, false +} + +// AsNativePushEnabledFilter is the Filter implementation for EngageActiveUsersFilter. +func (eauf EngageActiveUsersFilter) AsNativePushEnabledFilter() (*NativePushEnabledFilter, bool) { + return nil, false +} + +// AsPushQuotaFilter is the Filter implementation for EngageActiveUsersFilter. +func (eauf EngageActiveUsersFilter) AsPushQuotaFilter() (*PushQuotaFilter, bool) { + return nil, false +} + +// AsAppInfoFilter is the Filter implementation for EngageActiveUsersFilter. +func (eauf EngageActiveUsersFilter) AsAppInfoFilter() (*AppInfoFilter, bool) { + return nil, false +} + +// EngageIdleUsersFilter is send only to users who haven't used the app in the last {threshold} days. type EngageIdleUsersFilter struct { - Threshold *int32 `json:"threshold,omitempty"` + Type TypeFilter `json:"type,omitempty"` + Threshold *int32 `json:"threshold,omitempty"` } -// EngageNewUsersFilter is send only to users whose first app use is less than -// {threshold} days old. +// MarshalJSON is the custom marshaler for EngageIdleUsersFilter. +func (eiuf EngageIdleUsersFilter) MarshalJSON() ([]byte, error) { + eiuf.Type = TypeEngageIdleUsers + type Alias EngageIdleUsersFilter + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(eiuf), + }) +} + +// AsEngageSubsetFilter is the Filter implementation for EngageIdleUsersFilter. +func (eiuf EngageIdleUsersFilter) AsEngageSubsetFilter() (*EngageSubsetFilter, bool) { + return nil, false +} + +// AsEngageOldUsersFilter is the Filter implementation for EngageIdleUsersFilter. +func (eiuf EngageIdleUsersFilter) AsEngageOldUsersFilter() (*EngageOldUsersFilter, bool) { + return nil, false +} + +// AsEngageNewUsersFilter is the Filter implementation for EngageIdleUsersFilter. +func (eiuf EngageIdleUsersFilter) AsEngageNewUsersFilter() (*EngageNewUsersFilter, bool) { + return nil, false +} + +// AsEngageActiveUsersFilter is the Filter implementation for EngageIdleUsersFilter. +func (eiuf EngageIdleUsersFilter) AsEngageActiveUsersFilter() (*EngageActiveUsersFilter, bool) { + return nil, false +} + +// AsEngageIdleUsersFilter is the Filter implementation for EngageIdleUsersFilter. +func (eiuf EngageIdleUsersFilter) AsEngageIdleUsersFilter() (*EngageIdleUsersFilter, bool) { + return &eiuf, true +} + +// AsNativePushEnabledFilter is the Filter implementation for EngageIdleUsersFilter. +func (eiuf EngageIdleUsersFilter) AsNativePushEnabledFilter() (*NativePushEnabledFilter, bool) { + return nil, false +} + +// AsPushQuotaFilter is the Filter implementation for EngageIdleUsersFilter. +func (eiuf EngageIdleUsersFilter) AsPushQuotaFilter() (*PushQuotaFilter, bool) { + return nil, false +} + +// AsAppInfoFilter is the Filter implementation for EngageIdleUsersFilter. +func (eiuf EngageIdleUsersFilter) AsAppInfoFilter() (*AppInfoFilter, bool) { + return nil, false +} + +// EngageNewUsersFilter is send only to users whose first app use is less than {threshold} days old. type EngageNewUsersFilter struct { - Threshold *int32 `json:"threshold,omitempty"` + Type TypeFilter `json:"type,omitempty"` + Threshold *int32 `json:"threshold,omitempty"` } -// EngageOldUsersFilter is send only to users whose first app use is more than -// {threshold} days old. +// MarshalJSON is the custom marshaler for EngageNewUsersFilter. +func (enuf EngageNewUsersFilter) MarshalJSON() ([]byte, error) { + enuf.Type = TypeEngageNewUsers + type Alias EngageNewUsersFilter + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(enuf), + }) +} + +// AsEngageSubsetFilter is the Filter implementation for EngageNewUsersFilter. +func (enuf EngageNewUsersFilter) AsEngageSubsetFilter() (*EngageSubsetFilter, bool) { + return nil, false +} + +// AsEngageOldUsersFilter is the Filter implementation for EngageNewUsersFilter. +func (enuf EngageNewUsersFilter) AsEngageOldUsersFilter() (*EngageOldUsersFilter, bool) { + return nil, false +} + +// AsEngageNewUsersFilter is the Filter implementation for EngageNewUsersFilter. +func (enuf EngageNewUsersFilter) AsEngageNewUsersFilter() (*EngageNewUsersFilter, bool) { + return &enuf, true +} + +// AsEngageActiveUsersFilter is the Filter implementation for EngageNewUsersFilter. +func (enuf EngageNewUsersFilter) AsEngageActiveUsersFilter() (*EngageActiveUsersFilter, bool) { + return nil, false +} + +// AsEngageIdleUsersFilter is the Filter implementation for EngageNewUsersFilter. +func (enuf EngageNewUsersFilter) AsEngageIdleUsersFilter() (*EngageIdleUsersFilter, bool) { + return nil, false +} + +// AsNativePushEnabledFilter is the Filter implementation for EngageNewUsersFilter. +func (enuf EngageNewUsersFilter) AsNativePushEnabledFilter() (*NativePushEnabledFilter, bool) { + return nil, false +} + +// AsPushQuotaFilter is the Filter implementation for EngageNewUsersFilter. +func (enuf EngageNewUsersFilter) AsPushQuotaFilter() (*PushQuotaFilter, bool) { + return nil, false +} + +// AsAppInfoFilter is the Filter implementation for EngageNewUsersFilter. +func (enuf EngageNewUsersFilter) AsAppInfoFilter() (*AppInfoFilter, bool) { + return nil, false +} + +// EngageOldUsersFilter is send only to users whose first app use is more than {threshold} days old. type EngageOldUsersFilter struct { - Threshold *int32 `json:"threshold,omitempty"` + Type TypeFilter `json:"type,omitempty"` + Threshold *int32 `json:"threshold,omitempty"` +} + +// MarshalJSON is the custom marshaler for EngageOldUsersFilter. +func (eouf EngageOldUsersFilter) MarshalJSON() ([]byte, error) { + eouf.Type = TypeEngageOldUsers + type Alias EngageOldUsersFilter + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(eouf), + }) +} + +// AsEngageSubsetFilter is the Filter implementation for EngageOldUsersFilter. +func (eouf EngageOldUsersFilter) AsEngageSubsetFilter() (*EngageSubsetFilter, bool) { + return nil, false +} + +// AsEngageOldUsersFilter is the Filter implementation for EngageOldUsersFilter. +func (eouf EngageOldUsersFilter) AsEngageOldUsersFilter() (*EngageOldUsersFilter, bool) { + return &eouf, true +} + +// AsEngageNewUsersFilter is the Filter implementation for EngageOldUsersFilter. +func (eouf EngageOldUsersFilter) AsEngageNewUsersFilter() (*EngageNewUsersFilter, bool) { + return nil, false +} + +// AsEngageActiveUsersFilter is the Filter implementation for EngageOldUsersFilter. +func (eouf EngageOldUsersFilter) AsEngageActiveUsersFilter() (*EngageActiveUsersFilter, bool) { + return nil, false +} + +// AsEngageIdleUsersFilter is the Filter implementation for EngageOldUsersFilter. +func (eouf EngageOldUsersFilter) AsEngageIdleUsersFilter() (*EngageIdleUsersFilter, bool) { + return nil, false +} + +// AsNativePushEnabledFilter is the Filter implementation for EngageOldUsersFilter. +func (eouf EngageOldUsersFilter) AsNativePushEnabledFilter() (*NativePushEnabledFilter, bool) { + return nil, false +} + +// AsPushQuotaFilter is the Filter implementation for EngageOldUsersFilter. +func (eouf EngageOldUsersFilter) AsPushQuotaFilter() (*PushQuotaFilter, bool) { + return nil, false +} + +// AsAppInfoFilter is the Filter implementation for EngageOldUsersFilter. +func (eouf EngageOldUsersFilter) AsAppInfoFilter() (*AppInfoFilter, bool) { + return nil, false } // EngageSubsetFilter is send only to a maximum of max users. type EngageSubsetFilter struct { - Max *int32 `json:"max,omitempty"` + Type TypeFilter `json:"type,omitempty"` + Max *int32 `json:"max,omitempty"` +} + +// MarshalJSON is the custom marshaler for EngageSubsetFilter. +func (esf EngageSubsetFilter) MarshalJSON() ([]byte, error) { + esf.Type = TypeEngageSubset + type Alias EngageSubsetFilter + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(esf), + }) +} + +// AsEngageSubsetFilter is the Filter implementation for EngageSubsetFilter. +func (esf EngageSubsetFilter) AsEngageSubsetFilter() (*EngageSubsetFilter, bool) { + return &esf, true +} + +// AsEngageOldUsersFilter is the Filter implementation for EngageSubsetFilter. +func (esf EngageSubsetFilter) AsEngageOldUsersFilter() (*EngageOldUsersFilter, bool) { + return nil, false +} + +// AsEngageNewUsersFilter is the Filter implementation for EngageSubsetFilter. +func (esf EngageSubsetFilter) AsEngageNewUsersFilter() (*EngageNewUsersFilter, bool) { + return nil, false +} + +// AsEngageActiveUsersFilter is the Filter implementation for EngageSubsetFilter. +func (esf EngageSubsetFilter) AsEngageActiveUsersFilter() (*EngageActiveUsersFilter, bool) { + return nil, false +} + +// AsEngageIdleUsersFilter is the Filter implementation for EngageSubsetFilter. +func (esf EngageSubsetFilter) AsEngageIdleUsersFilter() (*EngageIdleUsersFilter, bool) { + return nil, false +} + +// AsNativePushEnabledFilter is the Filter implementation for EngageSubsetFilter. +func (esf EngageSubsetFilter) AsNativePushEnabledFilter() (*NativePushEnabledFilter, bool) { + return nil, false +} + +// AsPushQuotaFilter is the Filter implementation for EngageSubsetFilter. +func (esf EngageSubsetFilter) AsPushQuotaFilter() (*PushQuotaFilter, bool) { + return nil, false +} + +// AsAppInfoFilter is the Filter implementation for EngageSubsetFilter. +func (esf EngageSubsetFilter) AsAppInfoFilter() (*AppInfoFilter, bool) { + return nil, false } // ExportOptions is options to control export generation. @@ -751,26 +2293,319 @@ type FeedbackByDateRangeParameter struct { } // Filter is -type Filter struct { +type Filter interface { + AsEngageSubsetFilter() (*EngageSubsetFilter, bool) + AsEngageOldUsersFilter() (*EngageOldUsersFilter, bool) + AsEngageNewUsersFilter() (*EngageNewUsersFilter, bool) + AsEngageActiveUsersFilter() (*EngageActiveUsersFilter, bool) + AsEngageIdleUsersFilter() (*EngageIdleUsersFilter, bool) + AsNativePushEnabledFilter() (*NativePushEnabledFilter, bool) + AsPushQuotaFilter() (*PushQuotaFilter, bool) + AsAppInfoFilter() (*AppInfoFilter, bool) } -// FirmwareVersionCriterion is used to target devices based on their firmware -// version. +func unmarshalFilter(body []byte) (Filter, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeEngageSubset): + var esf EngageSubsetFilter + err := json.Unmarshal(body, &esf) + return esf, err + case string(TypeEngageOldUsers): + var eouf EngageOldUsersFilter + err := json.Unmarshal(body, &eouf) + return eouf, err + case string(TypeEngageNewUsers): + var enuf EngageNewUsersFilter + err := json.Unmarshal(body, &enuf) + return enuf, err + case string(TypeEngageActiveUsers): + var eauf EngageActiveUsersFilter + err := json.Unmarshal(body, &eauf) + return eauf, err + case string(TypeEngageIdleUsers): + var eiuf EngageIdleUsersFilter + err := json.Unmarshal(body, &eiuf) + return eiuf, err + case string(TypeNativePushEnabled): + var npef NativePushEnabledFilter + err := json.Unmarshal(body, &npef) + return npef, err + case string(TypePushQuota): + var pqf PushQuotaFilter + err := json.Unmarshal(body, &pqf) + return pqf, err + case string(TypeAppInfo): + var aif AppInfoFilter + err := json.Unmarshal(body, &aif) + return aif, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalFilterArray(body []byte) ([]Filter, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + fArray := make([]Filter, len(rawMessages)) + + for index, rawMessage := range rawMessages { + f, err := unmarshalFilter(*rawMessage) + if err != nil { + return nil, err + } + fArray[index] = f + } + return fArray, nil +} + +// FirmwareVersionCriterion is used to target devices based on their firmware version. type FirmwareVersionCriterion struct { + Type Type `json:"type,omitempty"` Name *string `json:"name,omitempty"` } -// GeoFencingCriterion is used to target devices based on a specific region. A -// center point (defined by a latitude and longitude) and a radius form the -// boundary for the region. This criterion will be met when the user crosses -// the boundaries of the region. +// MarshalJSON is the custom marshaler for FirmwareVersionCriterion. +func (fvc FirmwareVersionCriterion) MarshalJSON() ([]byte, error) { + fvc.Type = TypeFirmwareVersion + type Alias FirmwareVersionCriterion + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(fvc), + }) +} + +// AsCarrierNameCriterion is the Criterion implementation for FirmwareVersionCriterion. +func (fvc FirmwareVersionCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { + return nil, false +} + +// AsCarrierCountryCriterion is the Criterion implementation for FirmwareVersionCriterion. +func (fvc FirmwareVersionCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { + return nil, false +} + +// AsFirmwareVersionCriterion is the Criterion implementation for FirmwareVersionCriterion. +func (fvc FirmwareVersionCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { + return &fvc, true +} + +// AsDeviceManufacturerCriterion is the Criterion implementation for FirmwareVersionCriterion. +func (fvc FirmwareVersionCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { + return nil, false +} + +// AsDeviceModelCriterion is the Criterion implementation for FirmwareVersionCriterion. +func (fvc FirmwareVersionCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { + return nil, false +} + +// AsApplicationVersionCriterion is the Criterion implementation for FirmwareVersionCriterion. +func (fvc FirmwareVersionCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { + return nil, false +} + +// AsNetworkTypeCriterion is the Criterion implementation for FirmwareVersionCriterion. +func (fvc FirmwareVersionCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { + return nil, false +} + +// AsLanguageCriterion is the Criterion implementation for FirmwareVersionCriterion. +func (fvc FirmwareVersionCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { + return nil, false +} + +// AsScreenSizeCriterion is the Criterion implementation for FirmwareVersionCriterion. +func (fvc FirmwareVersionCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { + return nil, false +} + +// AsLocationCriterion is the Criterion implementation for FirmwareVersionCriterion. +func (fvc FirmwareVersionCriterion) AsLocationCriterion() (*LocationCriterion, bool) { + return nil, false +} + +// AsGeoFencingCriterion is the Criterion implementation for FirmwareVersionCriterion. +func (fvc FirmwareVersionCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { + return nil, false +} + +// AsAnnouncementFeedbackCriterion is the Criterion implementation for FirmwareVersionCriterion. +func (fvc FirmwareVersionCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { + return nil, false +} + +// AsPollFeedbackCriterion is the Criterion implementation for FirmwareVersionCriterion. +func (fvc FirmwareVersionCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { + return nil, false +} + +// AsPollAnswerFeedbackCriterion is the Criterion implementation for FirmwareVersionCriterion. +func (fvc FirmwareVersionCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { + return nil, false +} + +// AsDatapushFeedbackCriterion is the Criterion implementation for FirmwareVersionCriterion. +func (fvc FirmwareVersionCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { + return nil, false +} + +// AsSegmentCriterion is the Criterion implementation for FirmwareVersionCriterion. +func (fvc FirmwareVersionCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { + return nil, false +} + +// AsStringTagCriterion is the Criterion implementation for FirmwareVersionCriterion. +func (fvc FirmwareVersionCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { + return nil, false +} + +// AsDateTagCriterion is the Criterion implementation for FirmwareVersionCriterion. +func (fvc FirmwareVersionCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { + return nil, false +} + +// AsIntegerTagCriterion is the Criterion implementation for FirmwareVersionCriterion. +func (fvc FirmwareVersionCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { + return nil, false +} + +// AsBooleanTagCriterion is the Criterion implementation for FirmwareVersionCriterion. +func (fvc FirmwareVersionCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { + return nil, false +} + +// GeoFencingCriterion is used to target devices based on a specific region. A center point (defined by a latitude and +// longitude) and a radius form the boundary for the region. This criterion will be met when the user crosses the +// boundaries of the region. type GeoFencingCriterion struct { + Type Type `json:"type,omitempty"` Lat *float64 `json:"lat,omitempty"` Lon *float64 `json:"lon,omitempty"` Radius *int32 `json:"radius,omitempty"` Expiration *int32 `json:"expiration,omitempty"` } +// MarshalJSON is the custom marshaler for GeoFencingCriterion. +func (gfc GeoFencingCriterion) MarshalJSON() ([]byte, error) { + gfc.Type = TypeGeoFencing + type Alias GeoFencingCriterion + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(gfc), + }) +} + +// AsCarrierNameCriterion is the Criterion implementation for GeoFencingCriterion. +func (gfc GeoFencingCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { + return nil, false +} + +// AsCarrierCountryCriterion is the Criterion implementation for GeoFencingCriterion. +func (gfc GeoFencingCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { + return nil, false +} + +// AsFirmwareVersionCriterion is the Criterion implementation for GeoFencingCriterion. +func (gfc GeoFencingCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { + return nil, false +} + +// AsDeviceManufacturerCriterion is the Criterion implementation for GeoFencingCriterion. +func (gfc GeoFencingCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { + return nil, false +} + +// AsDeviceModelCriterion is the Criterion implementation for GeoFencingCriterion. +func (gfc GeoFencingCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { + return nil, false +} + +// AsApplicationVersionCriterion is the Criterion implementation for GeoFencingCriterion. +func (gfc GeoFencingCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { + return nil, false +} + +// AsNetworkTypeCriterion is the Criterion implementation for GeoFencingCriterion. +func (gfc GeoFencingCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { + return nil, false +} + +// AsLanguageCriterion is the Criterion implementation for GeoFencingCriterion. +func (gfc GeoFencingCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { + return nil, false +} + +// AsScreenSizeCriterion is the Criterion implementation for GeoFencingCriterion. +func (gfc GeoFencingCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { + return nil, false +} + +// AsLocationCriterion is the Criterion implementation for GeoFencingCriterion. +func (gfc GeoFencingCriterion) AsLocationCriterion() (*LocationCriterion, bool) { + return nil, false +} + +// AsGeoFencingCriterion is the Criterion implementation for GeoFencingCriterion. +func (gfc GeoFencingCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { + return &gfc, true +} + +// AsAnnouncementFeedbackCriterion is the Criterion implementation for GeoFencingCriterion. +func (gfc GeoFencingCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { + return nil, false +} + +// AsPollFeedbackCriterion is the Criterion implementation for GeoFencingCriterion. +func (gfc GeoFencingCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { + return nil, false +} + +// AsPollAnswerFeedbackCriterion is the Criterion implementation for GeoFencingCriterion. +func (gfc GeoFencingCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { + return nil, false +} + +// AsDatapushFeedbackCriterion is the Criterion implementation for GeoFencingCriterion. +func (gfc GeoFencingCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { + return nil, false +} + +// AsSegmentCriterion is the Criterion implementation for GeoFencingCriterion. +func (gfc GeoFencingCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { + return nil, false +} + +// AsStringTagCriterion is the Criterion implementation for GeoFencingCriterion. +func (gfc GeoFencingCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { + return nil, false +} + +// AsDateTagCriterion is the Criterion implementation for GeoFencingCriterion. +func (gfc GeoFencingCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { + return nil, false +} + +// AsIntegerTagCriterion is the Criterion implementation for GeoFencingCriterion. +func (gfc GeoFencingCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { + return nil, false +} + +// AsBooleanTagCriterion is the Criterion implementation for GeoFencingCriterion. +func (gfc GeoFencingCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { + return nil, false +} + // ImportTask is type ImportTask struct { StorageURL *string `json:"storageUrl,omitempty"` @@ -808,33 +2643,532 @@ type ImportTaskResult struct { // IntegerTagCriterion is target devices based on an integer tag value. type IntegerTagCriterion struct { + Type Type `json:"type,omitempty"` Name *string `json:"name,omitempty"` Value *int32 `json:"value,omitempty"` Op AudienceOperators `json:"op,omitempty"` } -// LanguageCriterion is used to target devices based on the language of their -// device. +// MarshalJSON is the custom marshaler for IntegerTagCriterion. +func (itc IntegerTagCriterion) MarshalJSON() ([]byte, error) { + itc.Type = TypeIntegerTag + type Alias IntegerTagCriterion + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(itc), + }) +} + +// AsCarrierNameCriterion is the Criterion implementation for IntegerTagCriterion. +func (itc IntegerTagCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { + return nil, false +} + +// AsCarrierCountryCriterion is the Criterion implementation for IntegerTagCriterion. +func (itc IntegerTagCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { + return nil, false +} + +// AsFirmwareVersionCriterion is the Criterion implementation for IntegerTagCriterion. +func (itc IntegerTagCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { + return nil, false +} + +// AsDeviceManufacturerCriterion is the Criterion implementation for IntegerTagCriterion. +func (itc IntegerTagCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { + return nil, false +} + +// AsDeviceModelCriterion is the Criterion implementation for IntegerTagCriterion. +func (itc IntegerTagCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { + return nil, false +} + +// AsApplicationVersionCriterion is the Criterion implementation for IntegerTagCriterion. +func (itc IntegerTagCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { + return nil, false +} + +// AsNetworkTypeCriterion is the Criterion implementation for IntegerTagCriterion. +func (itc IntegerTagCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { + return nil, false +} + +// AsLanguageCriterion is the Criterion implementation for IntegerTagCriterion. +func (itc IntegerTagCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { + return nil, false +} + +// AsScreenSizeCriterion is the Criterion implementation for IntegerTagCriterion. +func (itc IntegerTagCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { + return nil, false +} + +// AsLocationCriterion is the Criterion implementation for IntegerTagCriterion. +func (itc IntegerTagCriterion) AsLocationCriterion() (*LocationCriterion, bool) { + return nil, false +} + +// AsGeoFencingCriterion is the Criterion implementation for IntegerTagCriterion. +func (itc IntegerTagCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { + return nil, false +} + +// AsAnnouncementFeedbackCriterion is the Criterion implementation for IntegerTagCriterion. +func (itc IntegerTagCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { + return nil, false +} + +// AsPollFeedbackCriterion is the Criterion implementation for IntegerTagCriterion. +func (itc IntegerTagCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { + return nil, false +} + +// AsPollAnswerFeedbackCriterion is the Criterion implementation for IntegerTagCriterion. +func (itc IntegerTagCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { + return nil, false +} + +// AsDatapushFeedbackCriterion is the Criterion implementation for IntegerTagCriterion. +func (itc IntegerTagCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { + return nil, false +} + +// AsSegmentCriterion is the Criterion implementation for IntegerTagCriterion. +func (itc IntegerTagCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { + return nil, false +} + +// AsStringTagCriterion is the Criterion implementation for IntegerTagCriterion. +func (itc IntegerTagCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { + return nil, false +} + +// AsDateTagCriterion is the Criterion implementation for IntegerTagCriterion. +func (itc IntegerTagCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { + return nil, false +} + +// AsIntegerTagCriterion is the Criterion implementation for IntegerTagCriterion. +func (itc IntegerTagCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { + return &itc, true +} + +// AsBooleanTagCriterion is the Criterion implementation for IntegerTagCriterion. +func (itc IntegerTagCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { + return nil, false +} + +// LanguageCriterion is used to target devices based on the language of their device. type LanguageCriterion struct { + Type Type `json:"type,omitempty"` Name *string `json:"name,omitempty"` } +// MarshalJSON is the custom marshaler for LanguageCriterion. +func (lc LanguageCriterion) MarshalJSON() ([]byte, error) { + lc.Type = TypeLanguage + type Alias LanguageCriterion + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(lc), + }) +} + +// AsCarrierNameCriterion is the Criterion implementation for LanguageCriterion. +func (lc LanguageCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { + return nil, false +} + +// AsCarrierCountryCriterion is the Criterion implementation for LanguageCriterion. +func (lc LanguageCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { + return nil, false +} + +// AsFirmwareVersionCriterion is the Criterion implementation for LanguageCriterion. +func (lc LanguageCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { + return nil, false +} + +// AsDeviceManufacturerCriterion is the Criterion implementation for LanguageCriterion. +func (lc LanguageCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { + return nil, false +} + +// AsDeviceModelCriterion is the Criterion implementation for LanguageCriterion. +func (lc LanguageCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { + return nil, false +} + +// AsApplicationVersionCriterion is the Criterion implementation for LanguageCriterion. +func (lc LanguageCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { + return nil, false +} + +// AsNetworkTypeCriterion is the Criterion implementation for LanguageCriterion. +func (lc LanguageCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { + return nil, false +} + +// AsLanguageCriterion is the Criterion implementation for LanguageCriterion. +func (lc LanguageCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { + return &lc, true +} + +// AsScreenSizeCriterion is the Criterion implementation for LanguageCriterion. +func (lc LanguageCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { + return nil, false +} + +// AsLocationCriterion is the Criterion implementation for LanguageCriterion. +func (lc LanguageCriterion) AsLocationCriterion() (*LocationCriterion, bool) { + return nil, false +} + +// AsGeoFencingCriterion is the Criterion implementation for LanguageCriterion. +func (lc LanguageCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { + return nil, false +} + +// AsAnnouncementFeedbackCriterion is the Criterion implementation for LanguageCriterion. +func (lc LanguageCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { + return nil, false +} + +// AsPollFeedbackCriterion is the Criterion implementation for LanguageCriterion. +func (lc LanguageCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { + return nil, false +} + +// AsPollAnswerFeedbackCriterion is the Criterion implementation for LanguageCriterion. +func (lc LanguageCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { + return nil, false +} + +// AsDatapushFeedbackCriterion is the Criterion implementation for LanguageCriterion. +func (lc LanguageCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { + return nil, false +} + +// AsSegmentCriterion is the Criterion implementation for LanguageCriterion. +func (lc LanguageCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { + return nil, false +} + +// AsStringTagCriterion is the Criterion implementation for LanguageCriterion. +func (lc LanguageCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { + return nil, false +} + +// AsDateTagCriterion is the Criterion implementation for LanguageCriterion. +func (lc LanguageCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { + return nil, false +} + +// AsIntegerTagCriterion is the Criterion implementation for LanguageCriterion. +func (lc LanguageCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { + return nil, false +} + +// AsBooleanTagCriterion is the Criterion implementation for LanguageCriterion. +func (lc LanguageCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { + return nil, false +} + // LocationCriterion is used to target devices based on their last know area. type LocationCriterion struct { + Type Type `json:"type,omitempty"` Country *string `json:"country,omitempty"` Region *string `json:"region,omitempty"` Locality *string `json:"locality,omitempty"` } +// MarshalJSON is the custom marshaler for LocationCriterion. +func (lc LocationCriterion) MarshalJSON() ([]byte, error) { + lc.Type = TypeLocation + type Alias LocationCriterion + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(lc), + }) +} + +// AsCarrierNameCriterion is the Criterion implementation for LocationCriterion. +func (lc LocationCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { + return nil, false +} + +// AsCarrierCountryCriterion is the Criterion implementation for LocationCriterion. +func (lc LocationCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { + return nil, false +} + +// AsFirmwareVersionCriterion is the Criterion implementation for LocationCriterion. +func (lc LocationCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { + return nil, false +} + +// AsDeviceManufacturerCriterion is the Criterion implementation for LocationCriterion. +func (lc LocationCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { + return nil, false +} + +// AsDeviceModelCriterion is the Criterion implementation for LocationCriterion. +func (lc LocationCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { + return nil, false +} + +// AsApplicationVersionCriterion is the Criterion implementation for LocationCriterion. +func (lc LocationCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { + return nil, false +} + +// AsNetworkTypeCriterion is the Criterion implementation for LocationCriterion. +func (lc LocationCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { + return nil, false +} + +// AsLanguageCriterion is the Criterion implementation for LocationCriterion. +func (lc LocationCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { + return nil, false +} + +// AsScreenSizeCriterion is the Criterion implementation for LocationCriterion. +func (lc LocationCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { + return nil, false +} + +// AsLocationCriterion is the Criterion implementation for LocationCriterion. +func (lc LocationCriterion) AsLocationCriterion() (*LocationCriterion, bool) { + return &lc, true +} + +// AsGeoFencingCriterion is the Criterion implementation for LocationCriterion. +func (lc LocationCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { + return nil, false +} + +// AsAnnouncementFeedbackCriterion is the Criterion implementation for LocationCriterion. +func (lc LocationCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { + return nil, false +} + +// AsPollFeedbackCriterion is the Criterion implementation for LocationCriterion. +func (lc LocationCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { + return nil, false +} + +// AsPollAnswerFeedbackCriterion is the Criterion implementation for LocationCriterion. +func (lc LocationCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { + return nil, false +} + +// AsDatapushFeedbackCriterion is the Criterion implementation for LocationCriterion. +func (lc LocationCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { + return nil, false +} + +// AsSegmentCriterion is the Criterion implementation for LocationCriterion. +func (lc LocationCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { + return nil, false +} + +// AsStringTagCriterion is the Criterion implementation for LocationCriterion. +func (lc LocationCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { + return nil, false +} + +// AsDateTagCriterion is the Criterion implementation for LocationCriterion. +func (lc LocationCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { + return nil, false +} + +// AsIntegerTagCriterion is the Criterion implementation for LocationCriterion. +func (lc LocationCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { + return nil, false +} + +// AsBooleanTagCriterion is the Criterion implementation for LocationCriterion. +func (lc LocationCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { + return nil, false +} + // NativePushEnabledFilter is engage only users with native push enabled. type NativePushEnabledFilter struct { + Type TypeFilter `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for NativePushEnabledFilter. +func (npef NativePushEnabledFilter) MarshalJSON() ([]byte, error) { + npef.Type = TypeNativePushEnabled + type Alias NativePushEnabledFilter + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(npef), + }) +} + +// AsEngageSubsetFilter is the Filter implementation for NativePushEnabledFilter. +func (npef NativePushEnabledFilter) AsEngageSubsetFilter() (*EngageSubsetFilter, bool) { + return nil, false +} + +// AsEngageOldUsersFilter is the Filter implementation for NativePushEnabledFilter. +func (npef NativePushEnabledFilter) AsEngageOldUsersFilter() (*EngageOldUsersFilter, bool) { + return nil, false +} + +// AsEngageNewUsersFilter is the Filter implementation for NativePushEnabledFilter. +func (npef NativePushEnabledFilter) AsEngageNewUsersFilter() (*EngageNewUsersFilter, bool) { + return nil, false +} + +// AsEngageActiveUsersFilter is the Filter implementation for NativePushEnabledFilter. +func (npef NativePushEnabledFilter) AsEngageActiveUsersFilter() (*EngageActiveUsersFilter, bool) { + return nil, false +} + +// AsEngageIdleUsersFilter is the Filter implementation for NativePushEnabledFilter. +func (npef NativePushEnabledFilter) AsEngageIdleUsersFilter() (*EngageIdleUsersFilter, bool) { + return nil, false +} + +// AsNativePushEnabledFilter is the Filter implementation for NativePushEnabledFilter. +func (npef NativePushEnabledFilter) AsNativePushEnabledFilter() (*NativePushEnabledFilter, bool) { + return &npef, true +} + +// AsPushQuotaFilter is the Filter implementation for NativePushEnabledFilter. +func (npef NativePushEnabledFilter) AsPushQuotaFilter() (*PushQuotaFilter, bool) { + return nil, false +} + +// AsAppInfoFilter is the Filter implementation for NativePushEnabledFilter. +func (npef NativePushEnabledFilter) AsAppInfoFilter() (*AppInfoFilter, bool) { + return nil, false } // NetworkTypeCriterion is used to target devices based their network type. type NetworkTypeCriterion struct { + Type Type `json:"type,omitempty"` Name *string `json:"name,omitempty"` } +// MarshalJSON is the custom marshaler for NetworkTypeCriterion. +func (ntc NetworkTypeCriterion) MarshalJSON() ([]byte, error) { + ntc.Type = TypeNetworkType + type Alias NetworkTypeCriterion + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ntc), + }) +} + +// AsCarrierNameCriterion is the Criterion implementation for NetworkTypeCriterion. +func (ntc NetworkTypeCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { + return nil, false +} + +// AsCarrierCountryCriterion is the Criterion implementation for NetworkTypeCriterion. +func (ntc NetworkTypeCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { + return nil, false +} + +// AsFirmwareVersionCriterion is the Criterion implementation for NetworkTypeCriterion. +func (ntc NetworkTypeCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { + return nil, false +} + +// AsDeviceManufacturerCriterion is the Criterion implementation for NetworkTypeCriterion. +func (ntc NetworkTypeCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { + return nil, false +} + +// AsDeviceModelCriterion is the Criterion implementation for NetworkTypeCriterion. +func (ntc NetworkTypeCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { + return nil, false +} + +// AsApplicationVersionCriterion is the Criterion implementation for NetworkTypeCriterion. +func (ntc NetworkTypeCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { + return nil, false +} + +// AsNetworkTypeCriterion is the Criterion implementation for NetworkTypeCriterion. +func (ntc NetworkTypeCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { + return &ntc, true +} + +// AsLanguageCriterion is the Criterion implementation for NetworkTypeCriterion. +func (ntc NetworkTypeCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { + return nil, false +} + +// AsScreenSizeCriterion is the Criterion implementation for NetworkTypeCriterion. +func (ntc NetworkTypeCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { + return nil, false +} + +// AsLocationCriterion is the Criterion implementation for NetworkTypeCriterion. +func (ntc NetworkTypeCriterion) AsLocationCriterion() (*LocationCriterion, bool) { + return nil, false +} + +// AsGeoFencingCriterion is the Criterion implementation for NetworkTypeCriterion. +func (ntc NetworkTypeCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { + return nil, false +} + +// AsAnnouncementFeedbackCriterion is the Criterion implementation for NetworkTypeCriterion. +func (ntc NetworkTypeCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { + return nil, false +} + +// AsPollFeedbackCriterion is the Criterion implementation for NetworkTypeCriterion. +func (ntc NetworkTypeCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { + return nil, false +} + +// AsPollAnswerFeedbackCriterion is the Criterion implementation for NetworkTypeCriterion. +func (ntc NetworkTypeCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { + return nil, false +} + +// AsDatapushFeedbackCriterion is the Criterion implementation for NetworkTypeCriterion. +func (ntc NetworkTypeCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { + return nil, false +} + +// AsSegmentCriterion is the Criterion implementation for NetworkTypeCriterion. +func (ntc NetworkTypeCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { + return nil, false +} + +// AsStringTagCriterion is the Criterion implementation for NetworkTypeCriterion. +func (ntc NetworkTypeCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { + return nil, false +} + +// AsDateTagCriterion is the Criterion implementation for NetworkTypeCriterion. +func (ntc NetworkTypeCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { + return nil, false +} + +// AsIntegerTagCriterion is the Criterion implementation for NetworkTypeCriterion. +func (ntc NetworkTypeCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { + return nil, false +} + +// AsBooleanTagCriterion is the Criterion implementation for NetworkTypeCriterion. +func (ntc NetworkTypeCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { + return nil, false +} + // NotificationOptions is type NotificationOptions struct { BigText *string `json:"bigText,omitempty"` @@ -843,19 +3177,242 @@ type NotificationOptions struct { ActionText *string `json:"actionText,omitempty"` } -// PollAnswerFeedbackCriterion is used to target devices who answered X to a -// given question. +// PollAnswerFeedbackCriterion is used to target devices who answered X to a given question. type PollAnswerFeedbackCriterion struct { + Type Type `json:"type,omitempty"` ContentID *int32 `json:"content-id,omitempty"` ChoiceID *int32 `json:"choice-id,omitempty"` } +// MarshalJSON is the custom marshaler for PollAnswerFeedbackCriterion. +func (pafc PollAnswerFeedbackCriterion) MarshalJSON() ([]byte, error) { + pafc.Type = TypePollAnswerFeedback + type Alias PollAnswerFeedbackCriterion + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(pafc), + }) +} + +// AsCarrierNameCriterion is the Criterion implementation for PollAnswerFeedbackCriterion. +func (pafc PollAnswerFeedbackCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { + return nil, false +} + +// AsCarrierCountryCriterion is the Criterion implementation for PollAnswerFeedbackCriterion. +func (pafc PollAnswerFeedbackCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { + return nil, false +} + +// AsFirmwareVersionCriterion is the Criterion implementation for PollAnswerFeedbackCriterion. +func (pafc PollAnswerFeedbackCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { + return nil, false +} + +// AsDeviceManufacturerCriterion is the Criterion implementation for PollAnswerFeedbackCriterion. +func (pafc PollAnswerFeedbackCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { + return nil, false +} + +// AsDeviceModelCriterion is the Criterion implementation for PollAnswerFeedbackCriterion. +func (pafc PollAnswerFeedbackCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { + return nil, false +} + +// AsApplicationVersionCriterion is the Criterion implementation for PollAnswerFeedbackCriterion. +func (pafc PollAnswerFeedbackCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { + return nil, false +} + +// AsNetworkTypeCriterion is the Criterion implementation for PollAnswerFeedbackCriterion. +func (pafc PollAnswerFeedbackCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { + return nil, false +} + +// AsLanguageCriterion is the Criterion implementation for PollAnswerFeedbackCriterion. +func (pafc PollAnswerFeedbackCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { + return nil, false +} + +// AsScreenSizeCriterion is the Criterion implementation for PollAnswerFeedbackCriterion. +func (pafc PollAnswerFeedbackCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { + return nil, false +} + +// AsLocationCriterion is the Criterion implementation for PollAnswerFeedbackCriterion. +func (pafc PollAnswerFeedbackCriterion) AsLocationCriterion() (*LocationCriterion, bool) { + return nil, false +} + +// AsGeoFencingCriterion is the Criterion implementation for PollAnswerFeedbackCriterion. +func (pafc PollAnswerFeedbackCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { + return nil, false +} + +// AsAnnouncementFeedbackCriterion is the Criterion implementation for PollAnswerFeedbackCriterion. +func (pafc PollAnswerFeedbackCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { + return nil, false +} + +// AsPollFeedbackCriterion is the Criterion implementation for PollAnswerFeedbackCriterion. +func (pafc PollAnswerFeedbackCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { + return nil, false +} + +// AsPollAnswerFeedbackCriterion is the Criterion implementation for PollAnswerFeedbackCriterion. +func (pafc PollAnswerFeedbackCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { + return &pafc, true +} + +// AsDatapushFeedbackCriterion is the Criterion implementation for PollAnswerFeedbackCriterion. +func (pafc PollAnswerFeedbackCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { + return nil, false +} + +// AsSegmentCriterion is the Criterion implementation for PollAnswerFeedbackCriterion. +func (pafc PollAnswerFeedbackCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { + return nil, false +} + +// AsStringTagCriterion is the Criterion implementation for PollAnswerFeedbackCriterion. +func (pafc PollAnswerFeedbackCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { + return nil, false +} + +// AsDateTagCriterion is the Criterion implementation for PollAnswerFeedbackCriterion. +func (pafc PollAnswerFeedbackCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { + return nil, false +} + +// AsIntegerTagCriterion is the Criterion implementation for PollAnswerFeedbackCriterion. +func (pafc PollAnswerFeedbackCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { + return nil, false +} + +// AsBooleanTagCriterion is the Criterion implementation for PollAnswerFeedbackCriterion. +func (pafc PollAnswerFeedbackCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { + return nil, false +} + // PollFeedbackCriterion is used to target devices who received a poll. type PollFeedbackCriterion struct { + Type Type `json:"type,omitempty"` ContentID *int32 `json:"content-id,omitempty"` Action CampaignFeedbacks `json:"action,omitempty"` } +// MarshalJSON is the custom marshaler for PollFeedbackCriterion. +func (pfc PollFeedbackCriterion) MarshalJSON() ([]byte, error) { + pfc.Type = TypePollFeedback + type Alias PollFeedbackCriterion + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(pfc), + }) +} + +// AsCarrierNameCriterion is the Criterion implementation for PollFeedbackCriterion. +func (pfc PollFeedbackCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { + return nil, false +} + +// AsCarrierCountryCriterion is the Criterion implementation for PollFeedbackCriterion. +func (pfc PollFeedbackCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { + return nil, false +} + +// AsFirmwareVersionCriterion is the Criterion implementation for PollFeedbackCriterion. +func (pfc PollFeedbackCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { + return nil, false +} + +// AsDeviceManufacturerCriterion is the Criterion implementation for PollFeedbackCriterion. +func (pfc PollFeedbackCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { + return nil, false +} + +// AsDeviceModelCriterion is the Criterion implementation for PollFeedbackCriterion. +func (pfc PollFeedbackCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { + return nil, false +} + +// AsApplicationVersionCriterion is the Criterion implementation for PollFeedbackCriterion. +func (pfc PollFeedbackCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { + return nil, false +} + +// AsNetworkTypeCriterion is the Criterion implementation for PollFeedbackCriterion. +func (pfc PollFeedbackCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { + return nil, false +} + +// AsLanguageCriterion is the Criterion implementation for PollFeedbackCriterion. +func (pfc PollFeedbackCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { + return nil, false +} + +// AsScreenSizeCriterion is the Criterion implementation for PollFeedbackCriterion. +func (pfc PollFeedbackCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { + return nil, false +} + +// AsLocationCriterion is the Criterion implementation for PollFeedbackCriterion. +func (pfc PollFeedbackCriterion) AsLocationCriterion() (*LocationCriterion, bool) { + return nil, false +} + +// AsGeoFencingCriterion is the Criterion implementation for PollFeedbackCriterion. +func (pfc PollFeedbackCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { + return nil, false +} + +// AsAnnouncementFeedbackCriterion is the Criterion implementation for PollFeedbackCriterion. +func (pfc PollFeedbackCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { + return nil, false +} + +// AsPollFeedbackCriterion is the Criterion implementation for PollFeedbackCriterion. +func (pfc PollFeedbackCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { + return &pfc, true +} + +// AsPollAnswerFeedbackCriterion is the Criterion implementation for PollFeedbackCriterion. +func (pfc PollFeedbackCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { + return nil, false +} + +// AsDatapushFeedbackCriterion is the Criterion implementation for PollFeedbackCriterion. +func (pfc PollFeedbackCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { + return nil, false +} + +// AsSegmentCriterion is the Criterion implementation for PollFeedbackCriterion. +func (pfc PollFeedbackCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { + return nil, false +} + +// AsStringTagCriterion is the Criterion implementation for PollFeedbackCriterion. +func (pfc PollFeedbackCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { + return nil, false +} + +// AsDateTagCriterion is the Criterion implementation for PollFeedbackCriterion. +func (pfc PollFeedbackCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { + return nil, false +} + +// AsIntegerTagCriterion is the Criterion implementation for PollFeedbackCriterion. +func (pfc PollFeedbackCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { + return nil, false +} + +// AsBooleanTagCriterion is the Criterion implementation for PollFeedbackCriterion. +func (pfc PollFeedbackCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { + return nil, false +} + // PollQuestion is type PollQuestion struct { Title *string `json:"title,omitempty"` @@ -884,6 +3441,58 @@ type PollQuestionLocalization struct { // PushQuotaFilter is engage only users for whom the push quota is not reached. type PushQuotaFilter struct { + Type TypeFilter `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for PushQuotaFilter. +func (pqf PushQuotaFilter) MarshalJSON() ([]byte, error) { + pqf.Type = TypePushQuota + type Alias PushQuotaFilter + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(pqf), + }) +} + +// AsEngageSubsetFilter is the Filter implementation for PushQuotaFilter. +func (pqf PushQuotaFilter) AsEngageSubsetFilter() (*EngageSubsetFilter, bool) { + return nil, false +} + +// AsEngageOldUsersFilter is the Filter implementation for PushQuotaFilter. +func (pqf PushQuotaFilter) AsEngageOldUsersFilter() (*EngageOldUsersFilter, bool) { + return nil, false +} + +// AsEngageNewUsersFilter is the Filter implementation for PushQuotaFilter. +func (pqf PushQuotaFilter) AsEngageNewUsersFilter() (*EngageNewUsersFilter, bool) { + return nil, false +} + +// AsEngageActiveUsersFilter is the Filter implementation for PushQuotaFilter. +func (pqf PushQuotaFilter) AsEngageActiveUsersFilter() (*EngageActiveUsersFilter, bool) { + return nil, false +} + +// AsEngageIdleUsersFilter is the Filter implementation for PushQuotaFilter. +func (pqf PushQuotaFilter) AsEngageIdleUsersFilter() (*EngageIdleUsersFilter, bool) { + return nil, false +} + +// AsNativePushEnabledFilter is the Filter implementation for PushQuotaFilter. +func (pqf PushQuotaFilter) AsNativePushEnabledFilter() (*NativePushEnabledFilter, bool) { + return nil, false +} + +// AsPushQuotaFilter is the Filter implementation for PushQuotaFilter. +func (pqf PushQuotaFilter) AsPushQuotaFilter() (*PushQuotaFilter, bool) { + return &pqf, true +} + +// AsAppInfoFilter is the Filter implementation for PushQuotaFilter. +func (pqf PushQuotaFilter) AsAppInfoFilter() (*AppInfoFilter, bool) { + return nil, false } // Resource is @@ -895,24 +3504,359 @@ type Resource struct { Tags *map[string]*string `json:"tags,omitempty"` } -// ScreenSizeCriterion is used to target devices based on the screen resolution -// of their device. +// ScreenSizeCriterion is used to target devices based on the screen resolution of their device. type ScreenSizeCriterion struct { + Type Type `json:"type,omitempty"` Name *string `json:"name,omitempty"` } +// MarshalJSON is the custom marshaler for ScreenSizeCriterion. +func (ssc ScreenSizeCriterion) MarshalJSON() ([]byte, error) { + ssc.Type = TypeScreenSize + type Alias ScreenSizeCriterion + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ssc), + }) +} + +// AsCarrierNameCriterion is the Criterion implementation for ScreenSizeCriterion. +func (ssc ScreenSizeCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { + return nil, false +} + +// AsCarrierCountryCriterion is the Criterion implementation for ScreenSizeCriterion. +func (ssc ScreenSizeCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { + return nil, false +} + +// AsFirmwareVersionCriterion is the Criterion implementation for ScreenSizeCriterion. +func (ssc ScreenSizeCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { + return nil, false +} + +// AsDeviceManufacturerCriterion is the Criterion implementation for ScreenSizeCriterion. +func (ssc ScreenSizeCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { + return nil, false +} + +// AsDeviceModelCriterion is the Criterion implementation for ScreenSizeCriterion. +func (ssc ScreenSizeCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { + return nil, false +} + +// AsApplicationVersionCriterion is the Criterion implementation for ScreenSizeCriterion. +func (ssc ScreenSizeCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { + return nil, false +} + +// AsNetworkTypeCriterion is the Criterion implementation for ScreenSizeCriterion. +func (ssc ScreenSizeCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { + return nil, false +} + +// AsLanguageCriterion is the Criterion implementation for ScreenSizeCriterion. +func (ssc ScreenSizeCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { + return nil, false +} + +// AsScreenSizeCriterion is the Criterion implementation for ScreenSizeCriterion. +func (ssc ScreenSizeCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { + return &ssc, true +} + +// AsLocationCriterion is the Criterion implementation for ScreenSizeCriterion. +func (ssc ScreenSizeCriterion) AsLocationCriterion() (*LocationCriterion, bool) { + return nil, false +} + +// AsGeoFencingCriterion is the Criterion implementation for ScreenSizeCriterion. +func (ssc ScreenSizeCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { + return nil, false +} + +// AsAnnouncementFeedbackCriterion is the Criterion implementation for ScreenSizeCriterion. +func (ssc ScreenSizeCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { + return nil, false +} + +// AsPollFeedbackCriterion is the Criterion implementation for ScreenSizeCriterion. +func (ssc ScreenSizeCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { + return nil, false +} + +// AsPollAnswerFeedbackCriterion is the Criterion implementation for ScreenSizeCriterion. +func (ssc ScreenSizeCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { + return nil, false +} + +// AsDatapushFeedbackCriterion is the Criterion implementation for ScreenSizeCriterion. +func (ssc ScreenSizeCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { + return nil, false +} + +// AsSegmentCriterion is the Criterion implementation for ScreenSizeCriterion. +func (ssc ScreenSizeCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { + return nil, false +} + +// AsStringTagCriterion is the Criterion implementation for ScreenSizeCriterion. +func (ssc ScreenSizeCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { + return nil, false +} + +// AsDateTagCriterion is the Criterion implementation for ScreenSizeCriterion. +func (ssc ScreenSizeCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { + return nil, false +} + +// AsIntegerTagCriterion is the Criterion implementation for ScreenSizeCriterion. +func (ssc ScreenSizeCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { + return nil, false +} + +// AsBooleanTagCriterion is the Criterion implementation for ScreenSizeCriterion. +func (ssc ScreenSizeCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { + return nil, false +} + // SegmentCriterion is target devices based on an existing segment. type SegmentCriterion struct { + Type Type `json:"type,omitempty"` ID *int32 `json:"id,omitempty"` Exclude *bool `json:"exclude,omitempty"` } +// MarshalJSON is the custom marshaler for SegmentCriterion. +func (sc SegmentCriterion) MarshalJSON() ([]byte, error) { + sc.Type = TypeSegment + type Alias SegmentCriterion + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(sc), + }) +} + +// AsCarrierNameCriterion is the Criterion implementation for SegmentCriterion. +func (sc SegmentCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { + return nil, false +} + +// AsCarrierCountryCriterion is the Criterion implementation for SegmentCriterion. +func (sc SegmentCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { + return nil, false +} + +// AsFirmwareVersionCriterion is the Criterion implementation for SegmentCriterion. +func (sc SegmentCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { + return nil, false +} + +// AsDeviceManufacturerCriterion is the Criterion implementation for SegmentCriterion. +func (sc SegmentCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { + return nil, false +} + +// AsDeviceModelCriterion is the Criterion implementation for SegmentCriterion. +func (sc SegmentCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { + return nil, false +} + +// AsApplicationVersionCriterion is the Criterion implementation for SegmentCriterion. +func (sc SegmentCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { + return nil, false +} + +// AsNetworkTypeCriterion is the Criterion implementation for SegmentCriterion. +func (sc SegmentCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { + return nil, false +} + +// AsLanguageCriterion is the Criterion implementation for SegmentCriterion. +func (sc SegmentCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { + return nil, false +} + +// AsScreenSizeCriterion is the Criterion implementation for SegmentCriterion. +func (sc SegmentCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { + return nil, false +} + +// AsLocationCriterion is the Criterion implementation for SegmentCriterion. +func (sc SegmentCriterion) AsLocationCriterion() (*LocationCriterion, bool) { + return nil, false +} + +// AsGeoFencingCriterion is the Criterion implementation for SegmentCriterion. +func (sc SegmentCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { + return nil, false +} + +// AsAnnouncementFeedbackCriterion is the Criterion implementation for SegmentCriterion. +func (sc SegmentCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { + return nil, false +} + +// AsPollFeedbackCriterion is the Criterion implementation for SegmentCriterion. +func (sc SegmentCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { + return nil, false +} + +// AsPollAnswerFeedbackCriterion is the Criterion implementation for SegmentCriterion. +func (sc SegmentCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { + return nil, false +} + +// AsDatapushFeedbackCriterion is the Criterion implementation for SegmentCriterion. +func (sc SegmentCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { + return nil, false +} + +// AsSegmentCriterion is the Criterion implementation for SegmentCriterion. +func (sc SegmentCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { + return &sc, true +} + +// AsStringTagCriterion is the Criterion implementation for SegmentCriterion. +func (sc SegmentCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { + return nil, false +} + +// AsDateTagCriterion is the Criterion implementation for SegmentCriterion. +func (sc SegmentCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { + return nil, false +} + +// AsIntegerTagCriterion is the Criterion implementation for SegmentCriterion. +func (sc SegmentCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { + return nil, false +} + +// AsBooleanTagCriterion is the Criterion implementation for SegmentCriterion. +func (sc SegmentCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { + return nil, false +} + // StringTagCriterion is target devices based on a string tag value. type StringTagCriterion struct { + Type Type `json:"type,omitempty"` Name *string `json:"name,omitempty"` Value *string `json:"value,omitempty"` } +// MarshalJSON is the custom marshaler for StringTagCriterion. +func (stc StringTagCriterion) MarshalJSON() ([]byte, error) { + stc.Type = TypeStringTag + type Alias StringTagCriterion + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(stc), + }) +} + +// AsCarrierNameCriterion is the Criterion implementation for StringTagCriterion. +func (stc StringTagCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { + return nil, false +} + +// AsCarrierCountryCriterion is the Criterion implementation for StringTagCriterion. +func (stc StringTagCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { + return nil, false +} + +// AsFirmwareVersionCriterion is the Criterion implementation for StringTagCriterion. +func (stc StringTagCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { + return nil, false +} + +// AsDeviceManufacturerCriterion is the Criterion implementation for StringTagCriterion. +func (stc StringTagCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { + return nil, false +} + +// AsDeviceModelCriterion is the Criterion implementation for StringTagCriterion. +func (stc StringTagCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { + return nil, false +} + +// AsApplicationVersionCriterion is the Criterion implementation for StringTagCriterion. +func (stc StringTagCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { + return nil, false +} + +// AsNetworkTypeCriterion is the Criterion implementation for StringTagCriterion. +func (stc StringTagCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { + return nil, false +} + +// AsLanguageCriterion is the Criterion implementation for StringTagCriterion. +func (stc StringTagCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { + return nil, false +} + +// AsScreenSizeCriterion is the Criterion implementation for StringTagCriterion. +func (stc StringTagCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { + return nil, false +} + +// AsLocationCriterion is the Criterion implementation for StringTagCriterion. +func (stc StringTagCriterion) AsLocationCriterion() (*LocationCriterion, bool) { + return nil, false +} + +// AsGeoFencingCriterion is the Criterion implementation for StringTagCriterion. +func (stc StringTagCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { + return nil, false +} + +// AsAnnouncementFeedbackCriterion is the Criterion implementation for StringTagCriterion. +func (stc StringTagCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { + return nil, false +} + +// AsPollFeedbackCriterion is the Criterion implementation for StringTagCriterion. +func (stc StringTagCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { + return nil, false +} + +// AsPollAnswerFeedbackCriterion is the Criterion implementation for StringTagCriterion. +func (stc StringTagCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { + return nil, false +} + +// AsDatapushFeedbackCriterion is the Criterion implementation for StringTagCriterion. +func (stc StringTagCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { + return nil, false +} + +// AsSegmentCriterion is the Criterion implementation for StringTagCriterion. +func (stc StringTagCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { + return nil, false +} + +// AsStringTagCriterion is the Criterion implementation for StringTagCriterion. +func (stc StringTagCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { + return &stc, true +} + +// AsDateTagCriterion is the Criterion implementation for StringTagCriterion. +func (stc StringTagCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { + return nil, false +} + +// AsIntegerTagCriterion is the Criterion implementation for StringTagCriterion. +func (stc StringTagCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { + return nil, false +} + +// AsBooleanTagCriterion is the Criterion implementation for StringTagCriterion. +func (stc StringTagCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { + return nil, false +} + // SupportedPlatformsListResult is type SupportedPlatformsListResult struct { autorest.Response `json:"-"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/supportedplatforms.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/supportedplatforms.go index f34b1e6e6..3072edd41 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/supportedplatforms.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/supportedplatforms.go @@ -14,9 +14,8 @@ package mobileengagement // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -29,14 +28,12 @@ type SupportedPlatformsClient struct { ManagementClient } -// NewSupportedPlatformsClient creates an instance of the -// SupportedPlatformsClient client. +// NewSupportedPlatformsClient creates an instance of the SupportedPlatformsClient client. func NewSupportedPlatformsClient(subscriptionID string) SupportedPlatformsClient { return NewSupportedPlatformsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewSupportedPlatformsClientWithBaseURI creates an instance of the -// SupportedPlatformsClient client. +// NewSupportedPlatformsClientWithBaseURI creates an instance of the SupportedPlatformsClient client. func NewSupportedPlatformsClientWithBaseURI(baseURI string, subscriptionID string) SupportedPlatformsClient { return SupportedPlatformsClient{NewWithBaseURI(baseURI, subscriptionID)} } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/version.go index 3cb2c5aef..5407b1650 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/mobileengagement/version.go @@ -14,16 +14,15 @@ package mobileengagement // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-mobileengagement/2014-12-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-mobileengagement/2014-12-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/actiongroups.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/actiongroups.go new file mode 100644 index 000000000..9df12ff00 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/actiongroups.go @@ -0,0 +1,445 @@ +package monitor + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// ActionGroupsClient is the monitor Management Client +type ActionGroupsClient struct { + ManagementClient +} + +// NewActionGroupsClient creates an instance of the ActionGroupsClient client. +func NewActionGroupsClient(subscriptionID string) ActionGroupsClient { + return NewActionGroupsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewActionGroupsClientWithBaseURI creates an instance of the ActionGroupsClient client. +func NewActionGroupsClientWithBaseURI(baseURI string, subscriptionID string) ActionGroupsClient { + return ActionGroupsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate create a new action group or update an existing one. +// +// resourceGroupName is the name of the resource group. actionGroupName is the name of the action group. actionGroup is +// the action group to create or use for the update. +func (client ActionGroupsClient) CreateOrUpdate(resourceGroupName string, actionGroupName string, actionGroup ActionGroupResource) (result ActionGroupResource, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: actionGroup, + Constraints: []validation.Constraint{{Target: "actionGroup.ActionGroup", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "actionGroup.ActionGroup.GroupShortName", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "actionGroup.ActionGroup.GroupShortName", Name: validation.MaxLength, Rule: 15, Chain: nil}}}, + {Target: "actionGroup.ActionGroup.Enabled", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "monitor.ActionGroupsClient", "CreateOrUpdate") + } + + req, err := client.CreateOrUpdatePreparer(resourceGroupName, actionGroupName, actionGroup) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.ActionGroupsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "monitor.ActionGroupsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.ActionGroupsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ActionGroupsClient) CreateOrUpdatePreparer(resourceGroupName string, actionGroupName string, actionGroup ActionGroupResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "actionGroupName": autorest.Encode("path", actionGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}", pathParameters), + autorest.WithJSON(actionGroup), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ActionGroupsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ActionGroupsClient) CreateOrUpdateResponder(resp *http.Response) (result ActionGroupResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete delete an action group. +// +// resourceGroupName is the name of the resource group. actionGroupName is the name of the action group. +func (client ActionGroupsClient) Delete(resourceGroupName string, actionGroupName string) (result autorest.Response, err error) { + req, err := client.DeletePreparer(resourceGroupName, actionGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.ActionGroupsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "monitor.ActionGroupsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.ActionGroupsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ActionGroupsClient) DeletePreparer(resourceGroupName string, actionGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "actionGroupName": autorest.Encode("path", actionGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ActionGroupsClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ActionGroupsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// EnableReceiver enable a receiver in an action group. This changes the receiver's status from Disabled to Enabled. +// +// resourceGroupName is the name of the resource group. actionGroupName is the name of the action group. enableRequest +// is the receiver to re-enable. +func (client ActionGroupsClient) EnableReceiver(resourceGroupName string, actionGroupName string, enableRequest EnableRequest) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: enableRequest, + Constraints: []validation.Constraint{{Target: "enableRequest.ReceiverName", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "monitor.ActionGroupsClient", "EnableReceiver") + } + + req, err := client.EnableReceiverPreparer(resourceGroupName, actionGroupName, enableRequest) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.ActionGroupsClient", "EnableReceiver", nil, "Failure preparing request") + return + } + + resp, err := client.EnableReceiverSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "monitor.ActionGroupsClient", "EnableReceiver", resp, "Failure sending request") + return + } + + result, err = client.EnableReceiverResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.ActionGroupsClient", "EnableReceiver", resp, "Failure responding to request") + } + + return +} + +// EnableReceiverPreparer prepares the EnableReceiver request. +func (client ActionGroupsClient) EnableReceiverPreparer(resourceGroupName string, actionGroupName string, enableRequest EnableRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "actionGroupName": autorest.Encode("path", actionGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}/subscribe", pathParameters), + autorest.WithJSON(enableRequest), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// EnableReceiverSender sends the EnableReceiver request. The method will close the +// http.Response Body if it receives an error. +func (client ActionGroupsClient) EnableReceiverSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// EnableReceiverResponder handles the response to the EnableReceiver request. The method always +// closes the http.Response Body. +func (client ActionGroupsClient) EnableReceiverResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusConflict), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get an action group. +// +// resourceGroupName is the name of the resource group. actionGroupName is the name of the action group. +func (client ActionGroupsClient) Get(resourceGroupName string, actionGroupName string) (result ActionGroupResource, err error) { + req, err := client.GetPreparer(resourceGroupName, actionGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.ActionGroupsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "monitor.ActionGroupsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.ActionGroupsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ActionGroupsClient) GetPreparer(resourceGroupName string, actionGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "actionGroupName": autorest.Encode("path", actionGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ActionGroupsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ActionGroupsClient) GetResponder(resp *http.Response) (result ActionGroupResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroup get a list of all action groups in a resource group. +// +// resourceGroupName is the name of the resource group. +func (client ActionGroupsClient) ListByResourceGroup(resourceGroupName string) (result ActionGroupList, err error) { + req, err := client.ListByResourceGroupPreparer(resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.ActionGroupsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "monitor.ActionGroupsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.ActionGroupsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ActionGroupsClient) ListByResourceGroupPreparer(resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ActionGroupsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ActionGroupsClient) ListByResourceGroupResponder(resp *http.Response) (result ActionGroupList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListBySubscriptionID get a list of all action groups in a subscription. +func (client ActionGroupsClient) ListBySubscriptionID() (result ActionGroupList, err error) { + req, err := client.ListBySubscriptionIDPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.ActionGroupsClient", "ListBySubscriptionID", nil, "Failure preparing request") + return + } + + resp, err := client.ListBySubscriptionIDSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "monitor.ActionGroupsClient", "ListBySubscriptionID", resp, "Failure sending request") + return + } + + result, err = client.ListBySubscriptionIDResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.ActionGroupsClient", "ListBySubscriptionID", resp, "Failure responding to request") + } + + return +} + +// ListBySubscriptionIDPreparer prepares the ListBySubscriptionID request. +func (client ActionGroupsClient) ListBySubscriptionIDPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/microsoft.insights/actionGroups", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListBySubscriptionIDSender sends the ListBySubscriptionID request. The method will close the +// http.Response Body if it receives an error. +func (client ActionGroupsClient) ListBySubscriptionIDSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListBySubscriptionIDResponder handles the response to the ListBySubscriptionID request. The method always +// closes the http.Response Body. +func (client ActionGroupsClient) ListBySubscriptionIDResponder(resp *http.Response) (result ActionGroupList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/activitylogalerts.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/activitylogalerts.go index 10e802176..9801cbb00 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/activitylogalerts.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/activitylogalerts.go @@ -14,9 +14,8 @@ package monitor // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,29 +24,25 @@ import ( "net/http" ) -// ActivityLogAlertsClient is the composite Swagger for Monitor Management -// Client +// ActivityLogAlertsClient is the monitor Management Client type ActivityLogAlertsClient struct { ManagementClient } -// NewActivityLogAlertsClient creates an instance of the -// ActivityLogAlertsClient client. +// NewActivityLogAlertsClient creates an instance of the ActivityLogAlertsClient client. func NewActivityLogAlertsClient(subscriptionID string) ActivityLogAlertsClient { return NewActivityLogAlertsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewActivityLogAlertsClientWithBaseURI creates an instance of the -// ActivityLogAlertsClient client. +// NewActivityLogAlertsClientWithBaseURI creates an instance of the ActivityLogAlertsClient client. func NewActivityLogAlertsClientWithBaseURI(baseURI string, subscriptionID string) ActivityLogAlertsClient { return ActivityLogAlertsClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate create a new activity log alert or update an existing one. // -// resourceGroupName is the name of the resource group. activityLogAlertName is -// the name of the activity log alert. activityLogAlert is the activity log -// alert to create or use for the update. +// resourceGroupName is the name of the resource group. activityLogAlertName is the name of the activity log alert. +// activityLogAlert is the activity log alert to create or use for the update. func (client ActivityLogAlertsClient) CreateOrUpdate(resourceGroupName string, activityLogAlertName string, activityLogAlert ActivityLogAlertResource) (result ActivityLogAlertResource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: activityLogAlert, @@ -89,7 +84,7 @@ func (client ActivityLogAlertsClient) CreateOrUpdatePreparer(resourceGroupName s "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01-preview" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -125,8 +120,7 @@ func (client ActivityLogAlertsClient) CreateOrUpdateResponder(resp *http.Respons // Delete delete an activity log alert. // -// resourceGroupName is the name of the resource group. activityLogAlertName is -// the name of the activity log alert. +// resourceGroupName is the name of the resource group. activityLogAlertName is the name of the activity log alert. func (client ActivityLogAlertsClient) Delete(resourceGroupName string, activityLogAlertName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, activityLogAlertName) if err != nil { @@ -157,7 +151,7 @@ func (client ActivityLogAlertsClient) DeletePreparer(resourceGroupName string, a "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01-preview" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -190,8 +184,7 @@ func (client ActivityLogAlertsClient) DeleteResponder(resp *http.Response) (resu // Get get an activity log alert. // -// resourceGroupName is the name of the resource group. activityLogAlertName is -// the name of the activity log alert. +// resourceGroupName is the name of the resource group. activityLogAlertName is the name of the activity log alert. func (client ActivityLogAlertsClient) Get(resourceGroupName string, activityLogAlertName string) (result ActivityLogAlertResource, err error) { req, err := client.GetPreparer(resourceGroupName, activityLogAlertName) if err != nil { @@ -222,7 +215,7 @@ func (client ActivityLogAlertsClient) GetPreparer(resourceGroupName string, acti "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01-preview" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -254,8 +247,7 @@ func (client ActivityLogAlertsClient) GetResponder(resp *http.Response) (result return } -// ListByResourceGroup get a list of all activity log alerts in a resource -// group. +// ListByResourceGroup get a list of all activity log alerts in a resource group. // // resourceGroupName is the name of the resource group. func (client ActivityLogAlertsClient) ListByResourceGroup(resourceGroupName string) (result ActivityLogAlertList, err error) { @@ -287,7 +279,7 @@ func (client ActivityLogAlertsClient) ListByResourceGroupPreparer(resourceGroupN "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01-preview" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -319,8 +311,7 @@ func (client ActivityLogAlertsClient) ListByResourceGroupResponder(resp *http.Re return } -// ListBySubscriptionID get a list of all activity log alerts in a -// subscription. +// ListBySubscriptionID get a list of all activity log alerts in a subscription. func (client ActivityLogAlertsClient) ListBySubscriptionID() (result ActivityLogAlertList, err error) { req, err := client.ListBySubscriptionIDPreparer() if err != nil { @@ -349,7 +340,7 @@ func (client ActivityLogAlertsClient) ListBySubscriptionIDPreparer() (*http.Requ "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01-preview" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -381,13 +372,11 @@ func (client ActivityLogAlertsClient) ListBySubscriptionIDResponder(resp *http.R return } -// Update updates an existing ActivityLogAlertResource's tags. To update other -// fields use the CreateOrUpdate method. +// Update updates an existing ActivityLogAlertResource's tags. To update other fields use the CreateOrUpdate method. // -// resourceGroupName is the name of the resource group. activityLogAlertName is -// the name of the activity log alert. activityLogAlertPatch is parameters -// supplied to the operation. -func (client ActivityLogAlertsClient) Update(resourceGroupName string, activityLogAlertName string, activityLogAlertPatch ActivityLogAlertResourcePatch) (result ActivityLogAlertResource, err error) { +// resourceGroupName is the name of the resource group. activityLogAlertName is the name of the activity log alert. +// activityLogAlertPatch is parameters supplied to the operation. +func (client ActivityLogAlertsClient) Update(resourceGroupName string, activityLogAlertName string, activityLogAlertPatch ActivityLogAlertPatchBody) (result ActivityLogAlertResource, err error) { req, err := client.UpdatePreparer(resourceGroupName, activityLogAlertName, activityLogAlertPatch) if err != nil { err = autorest.NewErrorWithError(err, "monitor.ActivityLogAlertsClient", "Update", nil, "Failure preparing request") @@ -410,14 +399,14 @@ func (client ActivityLogAlertsClient) Update(resourceGroupName string, activityL } // UpdatePreparer prepares the Update request. -func (client ActivityLogAlertsClient) UpdatePreparer(resourceGroupName string, activityLogAlertName string, activityLogAlertPatch ActivityLogAlertResourcePatch) (*http.Request, error) { +func (client ActivityLogAlertsClient) UpdatePreparer(resourceGroupName string, activityLogAlertName string, activityLogAlertPatch ActivityLogAlertPatchBody) (*http.Request, error) { pathParameters := map[string]interface{}{ "activityLogAlertName": autorest.Encode("path", activityLogAlertName), "resourceGroupName": autorest.Encode("path", resourceGroupName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01-preview" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/alertruleincidents.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/alertruleincidents.go index 5874e190f..fafabe35c 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/alertruleincidents.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/alertruleincidents.go @@ -14,9 +14,8 @@ package monitor // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,28 +23,25 @@ import ( "net/http" ) -// AlertRuleIncidentsClient is the composite Swagger for Monitor Management -// Client +// AlertRuleIncidentsClient is the monitor Management Client type AlertRuleIncidentsClient struct { ManagementClient } -// NewAlertRuleIncidentsClient creates an instance of the -// AlertRuleIncidentsClient client. +// NewAlertRuleIncidentsClient creates an instance of the AlertRuleIncidentsClient client. func NewAlertRuleIncidentsClient(subscriptionID string) AlertRuleIncidentsClient { return NewAlertRuleIncidentsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewAlertRuleIncidentsClientWithBaseURI creates an instance of the -// AlertRuleIncidentsClient client. +// NewAlertRuleIncidentsClientWithBaseURI creates an instance of the AlertRuleIncidentsClient client. func NewAlertRuleIncidentsClientWithBaseURI(baseURI string, subscriptionID string) AlertRuleIncidentsClient { return AlertRuleIncidentsClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get gets an incident associated to an alert rule // -// resourceGroupName is the name of the resource group. ruleName is the name of -// the rule. incidentName is the name of the incident to retrieve. +// resourceGroupName is the name of the resource group. ruleName is the name of the rule. incidentName is the name of +// the incident to retrieve. func (client AlertRuleIncidentsClient) Get(resourceGroupName string, ruleName string, incidentName string) (result Incident, err error) { req, err := client.GetPreparer(resourceGroupName, ruleName, incidentName) if err != nil { @@ -111,8 +107,7 @@ func (client AlertRuleIncidentsClient) GetResponder(resp *http.Response) (result // ListByAlertRule gets a list of incidents associated to an alert rule // -// resourceGroupName is the name of the resource group. ruleName is the name of -// the rule. +// resourceGroupName is the name of the resource group. ruleName is the name of the rule. func (client AlertRuleIncidentsClient) ListByAlertRule(resourceGroupName string, ruleName string) (result IncidentListResult, err error) { req, err := client.ListByAlertRulePreparer(resourceGroupName, ruleName) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/alertrules.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/alertrules.go index 77771b880..f344ff54e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/alertrules.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/alertrules.go @@ -14,9 +14,8 @@ package monitor // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// AlertRulesClient is the composite Swagger for Monitor Management Client +// AlertRulesClient is the monitor Management Client type AlertRulesClient struct { ManagementClient } @@ -35,16 +34,15 @@ func NewAlertRulesClient(subscriptionID string) AlertRulesClient { return NewAlertRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewAlertRulesClientWithBaseURI creates an instance of the AlertRulesClient -// client. +// NewAlertRulesClientWithBaseURI creates an instance of the AlertRulesClient client. func NewAlertRulesClientWithBaseURI(baseURI string, subscriptionID string) AlertRulesClient { return AlertRulesClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate creates or updates an alert rule. // -// resourceGroupName is the name of the resource group. ruleName is the name of -// the rule. parameters is the parameters of the rule to create or update. +// resourceGroupName is the name of the resource group. ruleName is the name of the rule. parameters is the parameters +// of the rule to create or update. func (client AlertRulesClient) CreateOrUpdate(resourceGroupName string, ruleName string, parameters AlertRuleResource) (result AlertRuleResource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -121,8 +119,7 @@ func (client AlertRulesClient) CreateOrUpdateResponder(resp *http.Response) (res // Delete deletes an alert rule // -// resourceGroupName is the name of the resource group. ruleName is the name of -// the rule. +// resourceGroupName is the name of the resource group. ruleName is the name of the rule. func (client AlertRulesClient) Delete(resourceGroupName string, ruleName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, ruleName) if err != nil { @@ -186,8 +183,7 @@ func (client AlertRulesClient) DeleteResponder(resp *http.Response) (result auto // Get gets an alert rule // -// resourceGroupName is the name of the resource group. ruleName is the name of -// the rule. +// resourceGroupName is the name of the resource group. ruleName is the name of the rule. func (client AlertRulesClient) Get(resourceGroupName string, ruleName string) (result AlertRuleResource, err error) { req, err := client.GetPreparer(resourceGroupName, ruleName) if err != nil { @@ -313,3 +309,71 @@ func (client AlertRulesClient) ListByResourceGroupResponder(resp *http.Response) result.Response = autorest.Response{Response: resp} return } + +// Update updates an existing AlertRuleResource. To update other fields use the CreateOrUpdate method. +// +// resourceGroupName is the name of the resource group. ruleName is the name of the rule. alertRulesResource is +// parameters supplied to the operation. +func (client AlertRulesClient) Update(resourceGroupName string, ruleName string, alertRulesResource AlertRuleResourcePatch) (result AlertRuleResource, err error) { + req, err := client.UpdatePreparer(resourceGroupName, ruleName, alertRulesResource) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.AlertRulesClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "monitor.AlertRulesClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.AlertRulesClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client AlertRulesClient) UpdatePreparer(resourceGroupName string, ruleName string, alertRulesResource AlertRuleResourcePatch) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "ruleName": autorest.Encode("path", ruleName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-03-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}", pathParameters), + autorest.WithJSON(alertRulesResource), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client AlertRulesClient) UpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client AlertRulesClient) UpdateResponder(resp *http.Response) (result AlertRuleResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/autoscalesettings.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/autoscalesettings.go index 1dd707712..9f12f04bf 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/autoscalesettings.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/autoscalesettings.go @@ -14,9 +14,8 @@ package monitor // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,29 +24,25 @@ import ( "net/http" ) -// AutoscaleSettingsClient is the composite Swagger for Monitor Management -// Client +// AutoscaleSettingsClient is the monitor Management Client type AutoscaleSettingsClient struct { ManagementClient } -// NewAutoscaleSettingsClient creates an instance of the -// AutoscaleSettingsClient client. +// NewAutoscaleSettingsClient creates an instance of the AutoscaleSettingsClient client. func NewAutoscaleSettingsClient(subscriptionID string) AutoscaleSettingsClient { return NewAutoscaleSettingsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewAutoscaleSettingsClientWithBaseURI creates an instance of the -// AutoscaleSettingsClient client. +// NewAutoscaleSettingsClientWithBaseURI creates an instance of the AutoscaleSettingsClient client. func NewAutoscaleSettingsClientWithBaseURI(baseURI string, subscriptionID string) AutoscaleSettingsClient { return AutoscaleSettingsClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate creates or updates an autoscale setting. // -// resourceGroupName is the name of the resource group. autoscaleSettingName is -// the autoscale setting name. parameters is parameters supplied to the -// operation. +// resourceGroupName is the name of the resource group. autoscaleSettingName is the autoscale setting name. parameters +// is parameters supplied to the operation. func (client AutoscaleSettingsClient) CreateOrUpdate(resourceGroupName string, autoscaleSettingName string, parameters AutoscaleSettingResource) (result AutoscaleSettingResource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -123,8 +118,7 @@ func (client AutoscaleSettingsClient) CreateOrUpdateResponder(resp *http.Respons // Delete deletes and autoscale setting // -// resourceGroupName is the name of the resource group. autoscaleSettingName is -// the autoscale setting name. +// resourceGroupName is the name of the resource group. autoscaleSettingName is the autoscale setting name. func (client AutoscaleSettingsClient) Delete(resourceGroupName string, autoscaleSettingName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, autoscaleSettingName) if err != nil { @@ -188,8 +182,7 @@ func (client AutoscaleSettingsClient) DeleteResponder(resp *http.Response) (resu // Get gets an autoscale setting // -// resourceGroupName is the name of the resource group. autoscaleSettingName is -// the autoscale setting name. +// resourceGroupName is the name of the resource group. autoscaleSettingName is the autoscale setting name. func (client AutoscaleSettingsClient) Get(resourceGroupName string, autoscaleSettingName string) (result AutoscaleSettingResource, err error) { req, err := client.GetPreparer(resourceGroupName, autoscaleSettingName) if err != nil { @@ -339,3 +332,116 @@ func (client AutoscaleSettingsClient) ListByResourceGroupNextResults(lastResults return } + +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client AutoscaleSettingsClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan AutoscaleSettingResource, <-chan error) { + resultChan := make(chan AutoscaleSettingResource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// Update updates an existing AutoscaleSettingsResource. To update other fields use the CreateOrUpdate method. +// +// resourceGroupName is the name of the resource group. autoscaleSettingName is the autoscale setting name. +// autoscaleSettingResource is parameters supplied to the operation. +func (client AutoscaleSettingsClient) Update(resourceGroupName string, autoscaleSettingName string, autoscaleSettingResource AutoscaleSettingResourcePatch) (result AutoscaleSettingResource, err error) { + req, err := client.UpdatePreparer(resourceGroupName, autoscaleSettingName, autoscaleSettingResource) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.AutoscaleSettingsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "monitor.AutoscaleSettingsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.AutoscaleSettingsClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client AutoscaleSettingsClient) UpdatePreparer(resourceGroupName string, autoscaleSettingName string, autoscaleSettingResource AutoscaleSettingResourcePatch) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "autoscaleSettingName": autorest.Encode("path", autoscaleSettingName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/autoscalesettings/{autoscaleSettingName}", pathParameters), + autorest.WithJSON(autoscaleSettingResource), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client AutoscaleSettingsClient) UpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client AutoscaleSettingsClient) UpdateResponder(resp *http.Response) (result AutoscaleSettingResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/client.go index dc06b09f3..ef04adcb8 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/client.go @@ -1,6 +1,6 @@ // Package monitor implements the Azure ARM Monitor service API version . // -// Composite Swagger for Monitor Management Client +// Monitor Management Client package monitor // Copyright (c) Microsoft and contributors. All rights reserved. @@ -17,9 +17,8 @@ package monitor // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/diagnosticsettings.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/diagnosticsettings.go new file mode 100644 index 000000000..a0da9c77c --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/diagnosticsettings.go @@ -0,0 +1,296 @@ +package monitor + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// DiagnosticSettingsClient is the monitor Management Client +type DiagnosticSettingsClient struct { + ManagementClient +} + +// NewDiagnosticSettingsClient creates an instance of the DiagnosticSettingsClient client. +func NewDiagnosticSettingsClient(subscriptionID string) DiagnosticSettingsClient { + return NewDiagnosticSettingsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDiagnosticSettingsClientWithBaseURI creates an instance of the DiagnosticSettingsClient client. +func NewDiagnosticSettingsClientWithBaseURI(baseURI string, subscriptionID string) DiagnosticSettingsClient { + return DiagnosticSettingsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates diagnostic settings for the specified resource. +// +// resourceURI is the identifier of the resource. parameters is parameters supplied to the operation. name is the name +// of the diagnostic setting. +func (client DiagnosticSettingsClient) CreateOrUpdate(resourceURI string, parameters DiagnosticSettingsResource, name string) (result DiagnosticSettingsResource, err error) { + req, err := client.CreateOrUpdatePreparer(resourceURI, parameters, name) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.DiagnosticSettingsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "monitor.DiagnosticSettingsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.DiagnosticSettingsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DiagnosticSettingsClient) CreateOrUpdatePreparer(resourceURI string, parameters DiagnosticSettingsResource, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceUri": autorest.Encode("path", resourceURI), + } + + const APIVersion = "2017-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceUri}/providers/microsoft.insights/diagnosticSettings/{name}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticSettingsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DiagnosticSettingsClient) CreateOrUpdateResponder(resp *http.Response) (result DiagnosticSettingsResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes existing diagnostic settings for the specified resource. +// +// resourceURI is the identifier of the resource. name is the name of the diagnostic setting. +func (client DiagnosticSettingsClient) Delete(resourceURI string, name string) (result autorest.Response, err error) { + req, err := client.DeletePreparer(resourceURI, name) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.DiagnosticSettingsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "monitor.DiagnosticSettingsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.DiagnosticSettingsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client DiagnosticSettingsClient) DeletePreparer(resourceURI string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceUri": autorest.Encode("path", resourceURI), + } + + const APIVersion = "2017-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceUri}/providers/microsoft.insights/diagnosticSettings/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticSettingsClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client DiagnosticSettingsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the active diagnostic settings for the specified resource. +// +// resourceURI is the identifier of the resource. name is the name of the diagnostic setting. +func (client DiagnosticSettingsClient) Get(resourceURI string, name string) (result DiagnosticSettingsResource, err error) { + req, err := client.GetPreparer(resourceURI, name) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.DiagnosticSettingsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "monitor.DiagnosticSettingsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.DiagnosticSettingsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DiagnosticSettingsClient) GetPreparer(resourceURI string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceUri": autorest.Encode("path", resourceURI), + } + + const APIVersion = "2017-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceUri}/providers/microsoft.insights/diagnosticSettings/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticSettingsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DiagnosticSettingsClient) GetResponder(resp *http.Response) (result DiagnosticSettingsResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets the active diagnostic settings list for the specified resource. +// +// resourceURI is the identifier of the resource. +func (client DiagnosticSettingsClient) List(resourceURI string) (result DiagnosticSettingsResourceCollection, err error) { + req, err := client.ListPreparer(resourceURI) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.DiagnosticSettingsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "monitor.DiagnosticSettingsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.DiagnosticSettingsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client DiagnosticSettingsClient) ListPreparer(resourceURI string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceUri": autorest.Encode("path", resourceURI), + } + + const APIVersion = "2017-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceUri}/providers/microsoft.insights/diagnosticSettings", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticSettingsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client DiagnosticSettingsClient) ListResponder(resp *http.Response) (result DiagnosticSettingsResourceCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/diagnosticsettingscategory.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/diagnosticsettingscategory.go new file mode 100644 index 000000000..da7c096ae --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/diagnosticsettingscategory.go @@ -0,0 +1,166 @@ +package monitor + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// DiagnosticSettingsCategoryClient is the monitor Management Client +type DiagnosticSettingsCategoryClient struct { + ManagementClient +} + +// NewDiagnosticSettingsCategoryClient creates an instance of the DiagnosticSettingsCategoryClient client. +func NewDiagnosticSettingsCategoryClient(subscriptionID string) DiagnosticSettingsCategoryClient { + return NewDiagnosticSettingsCategoryClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDiagnosticSettingsCategoryClientWithBaseURI creates an instance of the DiagnosticSettingsCategoryClient client. +func NewDiagnosticSettingsCategoryClientWithBaseURI(baseURI string, subscriptionID string) DiagnosticSettingsCategoryClient { + return DiagnosticSettingsCategoryClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets the diagnostic settings category for the specified resource. +// +// resourceURI is the identifier of the resource. name is the name of the diagnostic setting. +func (client DiagnosticSettingsCategoryClient) Get(resourceURI string, name string) (result DiagnosticSettingsCategoryResource, err error) { + req, err := client.GetPreparer(resourceURI, name) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.DiagnosticSettingsCategoryClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "monitor.DiagnosticSettingsCategoryClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.DiagnosticSettingsCategoryClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DiagnosticSettingsCategoryClient) GetPreparer(resourceURI string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceUri": autorest.Encode("path", resourceURI), + } + + const APIVersion = "2017-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceUri}/providers/microsoft.insights/diagnosticSettingsCategories/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticSettingsCategoryClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DiagnosticSettingsCategoryClient) GetResponder(resp *http.Response) (result DiagnosticSettingsCategoryResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists the diagnostic settings categories for the specified resource. +// +// resourceURI is the identifier of the resource. +func (client DiagnosticSettingsCategoryClient) List(resourceURI string) (result DiagnosticSettingsCategoryResourceCollection, err error) { + req, err := client.ListPreparer(resourceURI) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.DiagnosticSettingsCategoryClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "monitor.DiagnosticSettingsCategoryClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.DiagnosticSettingsCategoryClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client DiagnosticSettingsCategoryClient) ListPreparer(resourceURI string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceUri": autorest.Encode("path", resourceURI), + } + + const APIVersion = "2017-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceUri}/providers/microsoft.insights/diagnosticSettingsCategories", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticSettingsCategoryClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client DiagnosticSettingsCategoryClient) ListResponder(resp *http.Response) (result DiagnosticSettingsCategoryResourceCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/logprofiles.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/logprofiles.go index 0ed8686f1..e7f8d7292 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/logprofiles.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/logprofiles.go @@ -14,9 +14,8 @@ package monitor // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// LogProfilesClient is the composite Swagger for Monitor Management Client +// LogProfilesClient is the monitor Management Client type LogProfilesClient struct { ManagementClient } @@ -35,16 +34,14 @@ func NewLogProfilesClient(subscriptionID string) LogProfilesClient { return NewLogProfilesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewLogProfilesClientWithBaseURI creates an instance of the LogProfilesClient -// client. +// NewLogProfilesClientWithBaseURI creates an instance of the LogProfilesClient client. func NewLogProfilesClientWithBaseURI(baseURI string, subscriptionID string) LogProfilesClient { return LogProfilesClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate create or update a log profile in Azure Monitoring REST API. // -// logProfileName is the name of the log profile. parameters is parameters -// supplied to the operation. +// logProfileName is the name of the log profile. parameters is parameters supplied to the operation. func (client LogProfilesClient) CreateOrUpdate(logProfileName string, parameters LogProfileResource) (result LogProfileResource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -309,3 +306,69 @@ func (client LogProfilesClient) ListResponder(resp *http.Response) (result LogPr result.Response = autorest.Response{Response: resp} return } + +// Update updates an existing LogProfilesResource. To update other fields use the CreateOrUpdate method. +// +// logProfileName is the name of the log profile. logProfilesResource is parameters supplied to the operation. +func (client LogProfilesClient) Update(logProfileName string, logProfilesResource LogProfileResourcePatch) (result LogProfileResource, err error) { + req, err := client.UpdatePreparer(logProfileName, logProfilesResource) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.LogProfilesClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "monitor.LogProfilesClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.LogProfilesClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client LogProfilesClient) UpdatePreparer(logProfileName string, logProfilesResource LogProfileResourcePatch) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "logProfileName": autorest.Encode("path", logProfileName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-03-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/microsoft.insights/logprofiles/{logProfileName}", pathParameters), + autorest.WithJSON(logProfilesResource), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client LogProfilesClient) UpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client LogProfilesClient) UpdateResponder(resp *http.Response) (result LogProfileResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/models.go index d10b4457a..272ae76bf 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/models.go @@ -14,33 +14,41 @@ package monitor // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( + "encoding/json" + "errors" "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/date" "github.com/Azure/go-autorest/autorest/to" "net/http" ) +// CategoryType enumerates the values for category type. +type CategoryType string + +const ( + // Logs specifies the logs state for category type. + Logs CategoryType = "Logs" + // Metrics specifies the metrics state for category type. + Metrics CategoryType = "Metrics" +) + // ComparisonOperationType enumerates the values for comparison operation type. type ComparisonOperationType string const ( // Equals specifies the equals state for comparison operation type. Equals ComparisonOperationType = "Equals" - // GreaterThan specifies the greater than state for comparison operation - // type. + // GreaterThan specifies the greater than state for comparison operation type. GreaterThan ComparisonOperationType = "GreaterThan" - // GreaterThanOrEqual specifies the greater than or equal state for - // comparison operation type. + // GreaterThanOrEqual specifies the greater than or equal state for comparison operation type. GreaterThanOrEqual ComparisonOperationType = "GreaterThanOrEqual" // LessThan specifies the less than state for comparison operation type. LessThan ComparisonOperationType = "LessThan" - // LessThanOrEqual specifies the less than or equal state for comparison - // operation type. + // LessThanOrEqual specifies the less than or equal state for comparison operation type. LessThanOrEqual ComparisonOperationType = "LessThanOrEqual" // NotEquals specifies the not equals state for comparison operation type. NotEquals ComparisonOperationType = "NotEquals" @@ -50,17 +58,14 @@ const ( type ConditionOperator string const ( - // ConditionOperatorGreaterThan specifies the condition operator greater - // than state for condition operator. + // ConditionOperatorGreaterThan specifies the condition operator greater than state for condition operator. ConditionOperatorGreaterThan ConditionOperator = "GreaterThan" - // ConditionOperatorGreaterThanOrEqual specifies the condition operator - // greater than or equal state for condition operator. + // ConditionOperatorGreaterThanOrEqual specifies the condition operator greater than or equal state for condition + // operator. ConditionOperatorGreaterThanOrEqual ConditionOperator = "GreaterThanOrEqual" - // ConditionOperatorLessThan specifies the condition operator less than - // state for condition operator. + // ConditionOperatorLessThan specifies the condition operator less than state for condition operator. ConditionOperatorLessThan ConditionOperator = "LessThan" - // ConditionOperatorLessThanOrEqual specifies the condition operator less - // than or equal state for condition operator. + // ConditionOperatorLessThanOrEqual specifies the condition operator less than or equal state for condition operator. ConditionOperatorLessThanOrEqual ConditionOperator = "LessThanOrEqual" ) @@ -78,6 +83,57 @@ const ( Sum MetricStatisticType = "Sum" ) +// OdataType enumerates the values for odata type. +type OdataType string + +const ( + // OdataTypeMicrosoftAzureManagementInsightsModelsRuleManagementEventDataSource specifies the odata type microsoft + // azure management insights models rule management event data source state for odata type. + OdataTypeMicrosoftAzureManagementInsightsModelsRuleManagementEventDataSource OdataType = "Microsoft.Azure.Management.Insights.Models.RuleManagementEventDataSource" + // OdataTypeMicrosoftAzureManagementInsightsModelsRuleMetricDataSource specifies the odata type microsoft azure + // management insights models rule metric data source state for odata type. + OdataTypeMicrosoftAzureManagementInsightsModelsRuleMetricDataSource OdataType = "Microsoft.Azure.Management.Insights.Models.RuleMetricDataSource" +) + +// OdataType1 enumerates the values for odata type 1. +type OdataType1 string + +const ( + // OdataTypeMicrosoftAzureManagementInsightsModelsLocationThresholdRuleCondition specifies the odata type microsoft + // azure management insights models location threshold rule condition state for odata type 1. + OdataTypeMicrosoftAzureManagementInsightsModelsLocationThresholdRuleCondition OdataType1 = "Microsoft.Azure.Management.Insights.Models.LocationThresholdRuleCondition" + // OdataTypeMicrosoftAzureManagementInsightsModelsManagementEventRuleCondition specifies the odata type microsoft azure + // management insights models management event rule condition state for odata type 1. + OdataTypeMicrosoftAzureManagementInsightsModelsManagementEventRuleCondition OdataType1 = "Microsoft.Azure.Management.Insights.Models.ManagementEventRuleCondition" + // OdataTypeMicrosoftAzureManagementInsightsModelsThresholdRuleCondition specifies the odata type microsoft azure + // management insights models threshold rule condition state for odata type 1. + OdataTypeMicrosoftAzureManagementInsightsModelsThresholdRuleCondition OdataType1 = "Microsoft.Azure.Management.Insights.Models.ThresholdRuleCondition" +) + +// OdataType2 enumerates the values for odata type 2. +type OdataType2 string + +const ( + // OdataTypeMicrosoftAzureManagementInsightsModelsRuleEmailAction specifies the odata type microsoft azure management + // insights models rule email action state for odata type 2. + OdataTypeMicrosoftAzureManagementInsightsModelsRuleEmailAction OdataType2 = "Microsoft.Azure.Management.Insights.Models.RuleEmailAction" + // OdataTypeMicrosoftAzureManagementInsightsModelsRuleWebhookAction specifies the odata type microsoft azure management + // insights models rule webhook action state for odata type 2. + OdataTypeMicrosoftAzureManagementInsightsModelsRuleWebhookAction OdataType2 = "Microsoft.Azure.Management.Insights.Models.RuleWebhookAction" +) + +// ReceiverStatus enumerates the values for receiver status. +type ReceiverStatus string + +const ( + // Disabled specifies the disabled state for receiver status. + Disabled ReceiverStatus = "Disabled" + // Enabled specifies the enabled state for receiver status. + Enabled ReceiverStatus = "Enabled" + // NotSpecified specifies the not specified state for receiver status. + NotSpecified ReceiverStatus = "NotSpecified" +) + // RecurrenceFrequency enumerates the values for recurrence frequency. type RecurrenceFrequency string @@ -104,14 +160,11 @@ const ( type ScaleDirection string const ( - // ScaleDirectionDecrease specifies the scale direction decrease state for - // scale direction. + // ScaleDirectionDecrease specifies the scale direction decrease state for scale direction. ScaleDirectionDecrease ScaleDirection = "Decrease" - // ScaleDirectionIncrease specifies the scale direction increase state for - // scale direction. + // ScaleDirectionIncrease specifies the scale direction increase state for scale direction. ScaleDirectionIncrease ScaleDirection = "Increase" - // ScaleDirectionNone specifies the scale direction none state for scale - // direction. + // ScaleDirectionNone specifies the scale direction none state for scale direction. ScaleDirectionNone ScaleDirection = "None" ) @@ -123,8 +176,7 @@ const ( ChangeCount ScaleType = "ChangeCount" // ExactCount specifies the exact count state for scale type. ExactCount ScaleType = "ExactCount" - // PercentChangeCount specifies the percent change count state for scale - // type. + // PercentChangeCount specifies the percent change count state for scale type. PercentChangeCount ScaleType = "PercentChangeCount" ) @@ -132,20 +184,15 @@ const ( type TimeAggregationOperator string const ( - // TimeAggregationOperatorAverage specifies the time aggregation operator - // average state for time aggregation operator. + // TimeAggregationOperatorAverage specifies the time aggregation operator average state for time aggregation operator. TimeAggregationOperatorAverage TimeAggregationOperator = "Average" - // TimeAggregationOperatorLast specifies the time aggregation operator last - // state for time aggregation operator. + // TimeAggregationOperatorLast specifies the time aggregation operator last state for time aggregation operator. TimeAggregationOperatorLast TimeAggregationOperator = "Last" - // TimeAggregationOperatorMaximum specifies the time aggregation operator - // maximum state for time aggregation operator. + // TimeAggregationOperatorMaximum specifies the time aggregation operator maximum state for time aggregation operator. TimeAggregationOperatorMaximum TimeAggregationOperator = "Maximum" - // TimeAggregationOperatorMinimum specifies the time aggregation operator - // minimum state for time aggregation operator. + // TimeAggregationOperatorMinimum specifies the time aggregation operator minimum state for time aggregation operator. TimeAggregationOperatorMinimum TimeAggregationOperator = "Minimum" - // TimeAggregationOperatorTotal specifies the time aggregation operator - // total state for time aggregation operator. + // TimeAggregationOperatorTotal specifies the time aggregation operator total state for time aggregation operator. TimeAggregationOperatorTotal TimeAggregationOperator = "Total" ) @@ -153,23 +200,45 @@ const ( type TimeAggregationType string const ( - // TimeAggregationTypeAverage specifies the time aggregation type average - // state for time aggregation type. + // TimeAggregationTypeAverage specifies the time aggregation type average state for time aggregation type. TimeAggregationTypeAverage TimeAggregationType = "Average" - // TimeAggregationTypeCount specifies the time aggregation type count state - // for time aggregation type. + // TimeAggregationTypeCount specifies the time aggregation type count state for time aggregation type. TimeAggregationTypeCount TimeAggregationType = "Count" - // TimeAggregationTypeMaximum specifies the time aggregation type maximum - // state for time aggregation type. + // TimeAggregationTypeMaximum specifies the time aggregation type maximum state for time aggregation type. TimeAggregationTypeMaximum TimeAggregationType = "Maximum" - // TimeAggregationTypeMinimum specifies the time aggregation type minimum - // state for time aggregation type. + // TimeAggregationTypeMinimum specifies the time aggregation type minimum state for time aggregation type. TimeAggregationTypeMinimum TimeAggregationType = "Minimum" - // TimeAggregationTypeTotal specifies the time aggregation type total state - // for time aggregation type. + // TimeAggregationTypeTotal specifies the time aggregation type total state for time aggregation type. TimeAggregationTypeTotal TimeAggregationType = "Total" ) +// ActionGroup is an Azure action group. +type ActionGroup struct { + GroupShortName *string `json:"groupShortName,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + EmailReceivers *[]EmailReceiver `json:"emailReceivers,omitempty"` + SmsReceivers *[]SmsReceiver `json:"smsReceivers,omitempty"` + WebhookReceivers *[]WebhookReceiver `json:"webhookReceivers,omitempty"` +} + +// ActionGroupList is a list of action groups. +type ActionGroupList struct { + autorest.Response `json:"-"` + Value *[]ActionGroupResource `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// ActionGroupResource is an action group resource. +type ActionGroupResource struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + *ActionGroup `json:"properties,omitempty"` +} + // ActivityLogAlert is an Azure activity log alert. type ActivityLogAlert struct { Scopes *[]string `json:"scopes,omitempty"` @@ -190,14 +259,14 @@ type ActivityLogAlertActionList struct { ActionGroups *[]ActivityLogAlertActionGroup `json:"actionGroups,omitempty"` } -// ActivityLogAlertAllOfCondition is an Activity Log alert condition that is -// met when all its member conditions are met. +// ActivityLogAlertAllOfCondition is an Activity Log alert condition that is met when all its member conditions are +// met. type ActivityLogAlertAllOfCondition struct { AllOf *[]ActivityLogAlertLeafCondition `json:"allOf,omitempty"` } -// ActivityLogAlertLeafCondition is an Activity Log alert condition that is met -// by comparing an activity log field and value. +// ActivityLogAlertLeafCondition is an Activity Log alert condition that is met by comparing an activity log field and +// value. type ActivityLogAlertLeafCondition struct { Field *string `json:"field,omitempty"` Equals *string `json:"equals,omitempty"` @@ -207,6 +276,7 @@ type ActivityLogAlertLeafCondition struct { type ActivityLogAlertList struct { autorest.Response `json:"-"` Value *[]ActivityLogAlertResource `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` } // ActivityLogAlertPatch is an Azure activity log alert for patch operations. @@ -214,6 +284,12 @@ type ActivityLogAlertPatch struct { Enabled *bool `json:"enabled,omitempty"` } +// ActivityLogAlertPatchBody is an activity log alert object for the body of patch operations. +type ActivityLogAlertPatchBody struct { + Tags *map[string]*string `json:"tags,omitempty"` + *ActivityLogAlertPatch `json:"properties,omitempty"` +} + // ActivityLogAlertResource is an activity log alert resource. type ActivityLogAlertResource struct { autorest.Response `json:"-"` @@ -225,25 +301,84 @@ type ActivityLogAlertResource struct { *ActivityLogAlert `json:"properties,omitempty"` } -// ActivityLogAlertResourcePatch is an activity log alert resource for patch -// operations. -type ActivityLogAlertResourcePatch struct { - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Type *string `json:"type,omitempty"` - Location *string `json:"location,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` - *ActivityLogAlertPatch `json:"properties,omitempty"` -} - // AlertRule is an alert rule. type AlertRule struct { - Name *string `json:"name,omitempty"` - Description *string `json:"description,omitempty"` - IsEnabled *bool `json:"isEnabled,omitempty"` - Condition *RuleCondition `json:"condition,omitempty"` - Actions *[]RuleAction `json:"actions,omitempty"` - LastUpdatedTime *date.Time `json:"lastUpdatedTime,omitempty"` + Name *string `json:"name,omitempty"` + Description *string `json:"description,omitempty"` + IsEnabled *bool `json:"isEnabled,omitempty"` + Condition RuleCondition `json:"condition,omitempty"` + Actions *[]RuleAction `json:"actions,omitempty"` + LastUpdatedTime *date.Time `json:"lastUpdatedTime,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for AlertRule struct. +func (ar *AlertRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["name"] + if v != nil { + var name string + err = json.Unmarshal(*m["name"], &name) + if err != nil { + return err + } + ar.Name = &name + } + + v = m["description"] + if v != nil { + var description string + err = json.Unmarshal(*m["description"], &description) + if err != nil { + return err + } + ar.Description = &description + } + + v = m["isEnabled"] + if v != nil { + var isEnabled bool + err = json.Unmarshal(*m["isEnabled"], &isEnabled) + if err != nil { + return err + } + ar.IsEnabled = &isEnabled + } + + v = m["condition"] + if v != nil { + condition, err := unmarshalRuleCondition(*m["condition"]) + if err != nil { + return err + } + ar.Condition = condition + } + + v = m["actions"] + if v != nil { + actions, err := unmarshalRuleActionArray(*m["actions"]) + if err != nil { + return err + } + ar.Actions = &actions + } + + v = m["lastUpdatedTime"] + if v != nil { + var lastUpdatedTime date.Time + err = json.Unmarshal(*m["lastUpdatedTime"], &lastUpdatedTime) + if err != nil { + return err + } + ar.LastUpdatedTime = &lastUpdatedTime + } + + return nil } // AlertRuleResource is the alert rule resource. @@ -257,13 +392,18 @@ type AlertRuleResource struct { *AlertRule `json:"properties,omitempty"` } -// AlertRuleResourceCollection is represents a collection of alert rule -// resources. +// AlertRuleResourceCollection is represents a collection of alert rule resources. type AlertRuleResourceCollection struct { autorest.Response `json:"-"` Value *[]AlertRuleResource `json:"value,omitempty"` } +// AlertRuleResourcePatch is the alert rule object for patch operations. +type AlertRuleResourcePatch struct { + Tags *map[string]*string `json:"tags,omitempty"` + *AlertRule `json:"properties,omitempty"` +} + // AutoscaleNotification is autoscale notification. type AutoscaleNotification struct { Operation *string `json:"operation,omitempty"` @@ -280,8 +420,7 @@ type AutoscaleProfile struct { Recurrence *Recurrence `json:"recurrence,omitempty"` } -// AutoscaleSetting is a setting that contains all of the configuration for the -// automatic scaling of a resource. +// AutoscaleSetting is a setting that contains all of the configuration for the automatic scaling of a resource. type AutoscaleSetting struct { Profiles *[]AutoscaleProfile `json:"profiles,omitempty"` Notifications *[]AutoscaleNotification `json:"notifications,omitempty"` @@ -301,8 +440,7 @@ type AutoscaleSettingResource struct { *AutoscaleSetting `json:"properties,omitempty"` } -// AutoscaleSettingResourceCollection is represents a collection of autoscale -// setting resources. +// AutoscaleSettingResourceCollection is represents a collection of autoscale setting resources. type AutoscaleSettingResourceCollection struct { autorest.Response `json:"-"` Value *[]AutoscaleSettingResource `json:"value,omitempty"` @@ -321,6 +459,57 @@ func (client AutoscaleSettingResourceCollection) AutoscaleSettingResourceCollect autorest.WithBaseURL(to.String(client.NextLink))) } +// AutoscaleSettingResourcePatch is the autoscale setting object for patch operations. +type AutoscaleSettingResourcePatch struct { + Tags *map[string]*string `json:"tags,omitempty"` + *AutoscaleSetting `json:"properties,omitempty"` +} + +// DiagnosticSettings is the diagnostic settings. +type DiagnosticSettings struct { + StorageAccountID *string `json:"storageAccountId,omitempty"` + EventHubAuthorizationRuleID *string `json:"eventHubAuthorizationRuleId,omitempty"` + EventHubName *string `json:"eventHubName,omitempty"` + Metrics *[]MetricSettings `json:"metrics,omitempty"` + Logs *[]LogSettings `json:"logs,omitempty"` + WorkspaceID *string `json:"workspaceId,omitempty"` +} + +// DiagnosticSettingsCategory is the diagnostic settings Category. +type DiagnosticSettingsCategory struct { + CategoryType CategoryType `json:"categoryType,omitempty"` +} + +// DiagnosticSettingsCategoryResource is the diagnostic settings category resource. +type DiagnosticSettingsCategoryResource struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *DiagnosticSettingsCategory `json:"properties,omitempty"` +} + +// DiagnosticSettingsCategoryResourceCollection is represents a collection of diagnostic setting category resources. +type DiagnosticSettingsCategoryResourceCollection struct { + autorest.Response `json:"-"` + Value *[]DiagnosticSettingsCategoryResource `json:"value,omitempty"` +} + +// DiagnosticSettingsResource is the diagnostic setting resource. +type DiagnosticSettingsResource struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *DiagnosticSettings `json:"properties,omitempty"` +} + +// DiagnosticSettingsResourceCollection is represents a collection of alert rule resources. +type DiagnosticSettingsResourceCollection struct { + autorest.Response `json:"-"` + Value *[]DiagnosticSettingsResource `json:"value,omitempty"` +} + // EmailNotification is email notification of an autoscale event. type EmailNotification struct { SendToSubscriptionAdministrator *bool `json:"sendToSubscriptionAdministrator,omitempty"` @@ -328,14 +517,25 @@ type EmailNotification struct { CustomEmails *[]string `json:"customEmails,omitempty"` } +// EmailReceiver is an email receiver. +type EmailReceiver struct { + Name *string `json:"name,omitempty"` + EmailAddress *string `json:"emailAddress,omitempty"` + Status ReceiverStatus `json:"status,omitempty"` +} + +// EnableRequest is describes a receiver that should be resubscribed. +type EnableRequest struct { + ReceiverName *string `json:"receiverName,omitempty"` +} + // ErrorResponse is describes the format of Error response. type ErrorResponse struct { Code *string `json:"code,omitempty"` Message *string `json:"message,omitempty"` } -// Incident is an alert incident indicates the activation status of an alert -// rule. +// Incident is an alert incident indicates the activation status of an alert rule. type Incident struct { autorest.Response `json:"-"` Name *string `json:"name,omitempty"` @@ -351,12 +551,89 @@ type IncidentListResult struct { Value *[]Incident `json:"value,omitempty"` } -// LocationThresholdRuleCondition is a rule condition based on a certain number -// of locations failing. +// LocationThresholdRuleCondition is a rule condition based on a certain number of locations failing. type LocationThresholdRuleCondition struct { - DataSource *RuleDataSource `json:"dataSource,omitempty"` - WindowSize *string `json:"windowSize,omitempty"` - FailedLocationCount *int32 `json:"failedLocationCount,omitempty"` + DataSource RuleDataSource `json:"dataSource,omitempty"` + OdataType OdataType1 `json:"odata.type,omitempty"` + WindowSize *string `json:"windowSize,omitempty"` + FailedLocationCount *int32 `json:"failedLocationCount,omitempty"` +} + +// MarshalJSON is the custom marshaler for LocationThresholdRuleCondition. +func (ltrc LocationThresholdRuleCondition) MarshalJSON() ([]byte, error) { + ltrc.OdataType = OdataTypeMicrosoftAzureManagementInsightsModelsLocationThresholdRuleCondition + type Alias LocationThresholdRuleCondition + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ltrc), + }) +} + +// AsThresholdRuleCondition is the RuleCondition implementation for LocationThresholdRuleCondition. +func (ltrc LocationThresholdRuleCondition) AsThresholdRuleCondition() (*ThresholdRuleCondition, bool) { + return nil, false +} + +// AsLocationThresholdRuleCondition is the RuleCondition implementation for LocationThresholdRuleCondition. +func (ltrc LocationThresholdRuleCondition) AsLocationThresholdRuleCondition() (*LocationThresholdRuleCondition, bool) { + return <rc, true +} + +// AsManagementEventRuleCondition is the RuleCondition implementation for LocationThresholdRuleCondition. +func (ltrc LocationThresholdRuleCondition) AsManagementEventRuleCondition() (*ManagementEventRuleCondition, bool) { + return nil, false +} + +// UnmarshalJSON is the custom unmarshaler for LocationThresholdRuleCondition struct. +func (ltrc *LocationThresholdRuleCondition) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["windowSize"] + if v != nil { + var windowSize string + err = json.Unmarshal(*m["windowSize"], &windowSize) + if err != nil { + return err + } + ltrc.WindowSize = &windowSize + } + + v = m["failedLocationCount"] + if v != nil { + var failedLocationCount int32 + err = json.Unmarshal(*m["failedLocationCount"], &failedLocationCount) + if err != nil { + return err + } + ltrc.FailedLocationCount = &failedLocationCount + } + + v = m["dataSource"] + if v != nil { + dataSource, err := unmarshalRuleDataSource(*m["dataSource"]) + if err != nil { + return err + } + ltrc.DataSource = dataSource + } + + v = m["odata.type"] + if v != nil { + var odatatype OdataType1 + err = json.Unmarshal(*m["odata.type"], &odatatype) + if err != nil { + return err + } + ltrc.OdataType = odatatype + } + + return nil } // LogProfileCollection is represents a collection of log profiles. @@ -385,16 +662,20 @@ type LogProfileResource struct { *LogProfileProperties `json:"properties,omitempty"` } -// LogSettings is part of MultiTenantDiagnosticSettings. Specifies the settings -// for a particular log. +// LogProfileResourcePatch is the log profile resource for patch operations. +type LogProfileResourcePatch struct { + Tags *map[string]*string `json:"tags,omitempty"` + *LogProfileProperties `json:"properties,omitempty"` +} + +// LogSettings is part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. type LogSettings struct { Category *string `json:"category,omitempty"` Enabled *bool `json:"enabled,omitempty"` RetentionPolicy *RetentionPolicy `json:"retentionPolicy,omitempty"` } -// ManagementEventAggregationCondition is how the data that is collected should -// be combined over time. +// ManagementEventAggregationCondition is how the data that is collected should be combined over time. type ManagementEventAggregationCondition struct { Operator ConditionOperator `json:"operator,omitempty"` Threshold *float64 `json:"threshold,omitempty"` @@ -403,14 +684,82 @@ type ManagementEventAggregationCondition struct { // ManagementEventRuleCondition is a management event rule condition. type ManagementEventRuleCondition struct { - DataSource *RuleDataSource `json:"dataSource,omitempty"` + DataSource RuleDataSource `json:"dataSource,omitempty"` + OdataType OdataType1 `json:"odata.type,omitempty"` Aggregation *ManagementEventAggregationCondition `json:"aggregation,omitempty"` } -// MetricSettings is part of MultiTenantDiagnosticSettings. Specifies the -// settings for a particular metric. +// MarshalJSON is the custom marshaler for ManagementEventRuleCondition. +func (merc ManagementEventRuleCondition) MarshalJSON() ([]byte, error) { + merc.OdataType = OdataTypeMicrosoftAzureManagementInsightsModelsManagementEventRuleCondition + type Alias ManagementEventRuleCondition + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(merc), + }) +} + +// AsThresholdRuleCondition is the RuleCondition implementation for ManagementEventRuleCondition. +func (merc ManagementEventRuleCondition) AsThresholdRuleCondition() (*ThresholdRuleCondition, bool) { + return nil, false +} + +// AsLocationThresholdRuleCondition is the RuleCondition implementation for ManagementEventRuleCondition. +func (merc ManagementEventRuleCondition) AsLocationThresholdRuleCondition() (*LocationThresholdRuleCondition, bool) { + return nil, false +} + +// AsManagementEventRuleCondition is the RuleCondition implementation for ManagementEventRuleCondition. +func (merc ManagementEventRuleCondition) AsManagementEventRuleCondition() (*ManagementEventRuleCondition, bool) { + return &merc, true +} + +// UnmarshalJSON is the custom unmarshaler for ManagementEventRuleCondition struct. +func (merc *ManagementEventRuleCondition) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["aggregation"] + if v != nil { + var aggregation ManagementEventAggregationCondition + err = json.Unmarshal(*m["aggregation"], &aggregation) + if err != nil { + return err + } + merc.Aggregation = &aggregation + } + + v = m["dataSource"] + if v != nil { + dataSource, err := unmarshalRuleDataSource(*m["dataSource"]) + if err != nil { + return err + } + merc.DataSource = dataSource + } + + v = m["odata.type"] + if v != nil { + var odatatype OdataType1 + err = json.Unmarshal(*m["odata.type"], &odatatype) + if err != nil { + return err + } + merc.OdataType = odatatype + } + + return nil +} + +// MetricSettings is part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. type MetricSettings struct { TimeGrain *string `json:"timeGrain,omitempty"` + Category *string `json:"category,omitempty"` Enabled *bool `json:"enabled,omitempty"` RetentionPolicy *RetentionPolicy `json:"retentionPolicy,omitempty"` } @@ -427,8 +776,36 @@ type MetricTrigger struct { Threshold *float64 `json:"threshold,omitempty"` } -// Recurrence is the repeating times at which this profile begins. This element -// is not used if the FixedDate element is used. +// Operation is microsoft Insights API operation definition. +type Operation struct { + Name *string `json:"name,omitempty"` + Display *OperationDisplay `json:"display,omitempty"` +} + +// OperationDisplay is display metadata associated with the operation. +type OperationDisplay struct { + Provider *string `json:"provider,omitempty"` + Resource *string `json:"resource,omitempty"` + Operation *string `json:"operation,omitempty"` +} + +// OperationListResult is result of the request to list Microsoft.Insights operations. It contains a list of operations +// and a URL link to get the next set of results. +type OperationListResult struct { + autorest.Response `json:"-"` + Value *[]Operation `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// ProxyOnlyResource is a proxy only azure resource object +type ProxyOnlyResource struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` +} + +// Recurrence is the repeating times at which this profile begins. This element is not used if the FixedDate element is +// used. type Recurrence struct { Frequency RecurrenceFrequency `json:"frequency,omitempty"` Schedule *RecurrentSchedule `json:"schedule,omitempty"` @@ -457,40 +834,186 @@ type RetentionPolicy struct { Days *int32 `json:"days,omitempty"` } -// RuleAction is the action that is performed when the alert rule becomes -// active, and when an alert condition is resolved. -type RuleAction struct { +// RuleAction is the action that is performed when the alert rule becomes active, and when an alert condition is +// resolved. +type RuleAction interface { + AsRuleEmailAction() (*RuleEmailAction, bool) + AsRuleWebhookAction() (*RuleWebhookAction, bool) } -// RuleCondition is the condition that results in the alert rule being -// activated. -type RuleCondition struct { - DataSource *RuleDataSource `json:"dataSource,omitempty"` +func unmarshalRuleAction(body []byte) (RuleAction, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["odata.type"] { + case string(OdataTypeMicrosoftAzureManagementInsightsModelsRuleEmailAction): + var rea RuleEmailAction + err := json.Unmarshal(body, &rea) + return rea, err + case string(OdataTypeMicrosoftAzureManagementInsightsModelsRuleWebhookAction): + var rwa RuleWebhookAction + err := json.Unmarshal(body, &rwa) + return rwa, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalRuleActionArray(body []byte) ([]RuleAction, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + raArray := make([]RuleAction, len(rawMessages)) + + for index, rawMessage := range rawMessages { + ra, err := unmarshalRuleAction(*rawMessage) + if err != nil { + return nil, err + } + raArray[index] = ra + } + return raArray, nil +} + +// RuleCondition is the condition that results in the alert rule being activated. +type RuleCondition interface { + AsThresholdRuleCondition() (*ThresholdRuleCondition, bool) + AsLocationThresholdRuleCondition() (*LocationThresholdRuleCondition, bool) + AsManagementEventRuleCondition() (*ManagementEventRuleCondition, bool) +} + +func unmarshalRuleCondition(body []byte) (RuleCondition, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["odata.type"] { + case string(OdataTypeMicrosoftAzureManagementInsightsModelsThresholdRuleCondition): + var trc ThresholdRuleCondition + err := json.Unmarshal(body, &trc) + return trc, err + case string(OdataTypeMicrosoftAzureManagementInsightsModelsLocationThresholdRuleCondition): + var ltrc LocationThresholdRuleCondition + err := json.Unmarshal(body, <rc) + return ltrc, err + case string(OdataTypeMicrosoftAzureManagementInsightsModelsManagementEventRuleCondition): + var merc ManagementEventRuleCondition + err := json.Unmarshal(body, &merc) + return merc, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalRuleConditionArray(body []byte) ([]RuleCondition, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + rcArray := make([]RuleCondition, len(rawMessages)) + + for index, rawMessage := range rawMessages { + rc, err := unmarshalRuleCondition(*rawMessage) + if err != nil { + return nil, err + } + rcArray[index] = rc + } + return rcArray, nil } // RuleDataSource is the resource from which the rule collects its data. -type RuleDataSource struct { - ResourceURI *string `json:"resourceUri,omitempty"` +type RuleDataSource interface { + AsRuleMetricDataSource() (*RuleMetricDataSource, bool) + AsRuleManagementEventDataSource() (*RuleManagementEventDataSource, bool) } -// RuleEmailAction is specifies the action to send email when the rule -// condition is evaluated. The discriminator is always RuleEmailAction in this -// case. +func unmarshalRuleDataSource(body []byte) (RuleDataSource, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["odata.type"] { + case string(OdataTypeMicrosoftAzureManagementInsightsModelsRuleMetricDataSource): + var rmds RuleMetricDataSource + err := json.Unmarshal(body, &rmds) + return rmds, err + case string(OdataTypeMicrosoftAzureManagementInsightsModelsRuleManagementEventDataSource): + var rmeds RuleManagementEventDataSource + err := json.Unmarshal(body, &rmeds) + return rmeds, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalRuleDataSourceArray(body []byte) ([]RuleDataSource, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + rdsArray := make([]RuleDataSource, len(rawMessages)) + + for index, rawMessage := range rawMessages { + rds, err := unmarshalRuleDataSource(*rawMessage) + if err != nil { + return nil, err + } + rdsArray[index] = rds + } + return rdsArray, nil +} + +// RuleEmailAction is specifies the action to send email when the rule condition is evaluated. The discriminator is +// always RuleEmailAction in this case. type RuleEmailAction struct { - SendToServiceOwners *bool `json:"sendToServiceOwners,omitempty"` - CustomEmails *[]string `json:"customEmails,omitempty"` + OdataType OdataType2 `json:"odata.type,omitempty"` + SendToServiceOwners *bool `json:"sendToServiceOwners,omitempty"` + CustomEmails *[]string `json:"customEmails,omitempty"` } -// RuleManagementEventClaimsDataSource is the claims for a rule management -// event data source. +// MarshalJSON is the custom marshaler for RuleEmailAction. +func (rea RuleEmailAction) MarshalJSON() ([]byte, error) { + rea.OdataType = OdataTypeMicrosoftAzureManagementInsightsModelsRuleEmailAction + type Alias RuleEmailAction + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(rea), + }) +} + +// AsRuleEmailAction is the RuleAction implementation for RuleEmailAction. +func (rea RuleEmailAction) AsRuleEmailAction() (*RuleEmailAction, bool) { + return &rea, true +} + +// AsRuleWebhookAction is the RuleAction implementation for RuleEmailAction. +func (rea RuleEmailAction) AsRuleWebhookAction() (*RuleWebhookAction, bool) { + return nil, false +} + +// RuleManagementEventClaimsDataSource is the claims for a rule management event data source. type RuleManagementEventClaimsDataSource struct { EmailAddress *string `json:"emailAddress,omitempty"` } -// RuleManagementEventDataSource is a rule management event data source. The -// discriminator fields is always RuleManagementEventDataSource in this case. +// RuleManagementEventDataSource is a rule management event data source. The discriminator fields is always +// RuleManagementEventDataSource in this case. type RuleManagementEventDataSource struct { ResourceURI *string `json:"resourceUri,omitempty"` + OdataType OdataType `json:"odata.type,omitempty"` EventName *string `json:"eventName,omitempty"` EventSource *string `json:"eventSource,omitempty"` Level *string `json:"level,omitempty"` @@ -502,21 +1025,85 @@ type RuleManagementEventDataSource struct { Claims *RuleManagementEventClaimsDataSource `json:"claims,omitempty"` } -// RuleMetricDataSource is a rule metric data source. The discriminator value -// is always RuleMetricDataSource in this case. -type RuleMetricDataSource struct { - ResourceURI *string `json:"resourceUri,omitempty"` - MetricName *string `json:"metricName,omitempty"` +// MarshalJSON is the custom marshaler for RuleManagementEventDataSource. +func (rmeds RuleManagementEventDataSource) MarshalJSON() ([]byte, error) { + rmeds.OdataType = OdataTypeMicrosoftAzureManagementInsightsModelsRuleManagementEventDataSource + type Alias RuleManagementEventDataSource + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(rmeds), + }) } -// RuleWebhookAction is specifies the action to post to service when the rule -// condition is evaluated. The discriminator is always RuleWebhookAction in -// this case. +// AsRuleMetricDataSource is the RuleDataSource implementation for RuleManagementEventDataSource. +func (rmeds RuleManagementEventDataSource) AsRuleMetricDataSource() (*RuleMetricDataSource, bool) { + return nil, false +} + +// AsRuleManagementEventDataSource is the RuleDataSource implementation for RuleManagementEventDataSource. +func (rmeds RuleManagementEventDataSource) AsRuleManagementEventDataSource() (*RuleManagementEventDataSource, bool) { + return &rmeds, true +} + +// RuleMetricDataSource is a rule metric data source. The discriminator value is always RuleMetricDataSource in this +// case. +type RuleMetricDataSource struct { + ResourceURI *string `json:"resourceUri,omitempty"` + OdataType OdataType `json:"odata.type,omitempty"` + MetricName *string `json:"metricName,omitempty"` +} + +// MarshalJSON is the custom marshaler for RuleMetricDataSource. +func (rmds RuleMetricDataSource) MarshalJSON() ([]byte, error) { + rmds.OdataType = OdataTypeMicrosoftAzureManagementInsightsModelsRuleMetricDataSource + type Alias RuleMetricDataSource + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(rmds), + }) +} + +// AsRuleMetricDataSource is the RuleDataSource implementation for RuleMetricDataSource. +func (rmds RuleMetricDataSource) AsRuleMetricDataSource() (*RuleMetricDataSource, bool) { + return &rmds, true +} + +// AsRuleManagementEventDataSource is the RuleDataSource implementation for RuleMetricDataSource. +func (rmds RuleMetricDataSource) AsRuleManagementEventDataSource() (*RuleManagementEventDataSource, bool) { + return nil, false +} + +// RuleWebhookAction is specifies the action to post to service when the rule condition is evaluated. The discriminator +// is always RuleWebhookAction in this case. type RuleWebhookAction struct { + OdataType OdataType2 `json:"odata.type,omitempty"` ServiceURI *string `json:"serviceUri,omitempty"` Properties *map[string]*string `json:"properties,omitempty"` } +// MarshalJSON is the custom marshaler for RuleWebhookAction. +func (rwa RuleWebhookAction) MarshalJSON() ([]byte, error) { + rwa.OdataType = OdataTypeMicrosoftAzureManagementInsightsModelsRuleWebhookAction + type Alias RuleWebhookAction + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(rwa), + }) +} + +// AsRuleEmailAction is the RuleAction implementation for RuleWebhookAction. +func (rwa RuleWebhookAction) AsRuleEmailAction() (*RuleEmailAction, bool) { + return nil, false +} + +// AsRuleWebhookAction is the RuleAction implementation for RuleWebhookAction. +func (rwa RuleWebhookAction) AsRuleWebhookAction() (*RuleWebhookAction, bool) { + return &rwa, true +} + // ScaleAction is the parameters for the scaling action. type ScaleAction struct { Direction ScaleDirection `json:"direction,omitempty"` @@ -525,53 +1112,134 @@ type ScaleAction struct { Cooldown *string `json:"cooldown,omitempty"` } -// ScaleCapacity is the number of instances that can be used during this -// profile. +// ScaleCapacity is the number of instances that can be used during this profile. type ScaleCapacity struct { Minimum *string `json:"minimum,omitempty"` Maximum *string `json:"maximum,omitempty"` Default *string `json:"default,omitempty"` } -// ScaleRule is a rule that provide the triggers and parameters for the scaling -// action. +// ScaleRule is a rule that provide the triggers and parameters for the scaling action. type ScaleRule struct { MetricTrigger *MetricTrigger `json:"metricTrigger,omitempty"` ScaleAction *ScaleAction `json:"scaleAction,omitempty"` } -// ServiceDiagnosticSettings is the diagnostic settings for service. -type ServiceDiagnosticSettings struct { - StorageAccountID *string `json:"storageAccountId,omitempty"` - ServiceBusRuleID *string `json:"serviceBusRuleId,omitempty"` - EventHubAuthorizationRuleID *string `json:"eventHubAuthorizationRuleId,omitempty"` - Metrics *[]MetricSettings `json:"metrics,omitempty"` - Logs *[]LogSettings `json:"logs,omitempty"` - WorkspaceID *string `json:"workspaceId,omitempty"` +// SmsReceiver is an SMS receiver. +type SmsReceiver struct { + Name *string `json:"name,omitempty"` + CountryCode *string `json:"countryCode,omitempty"` + PhoneNumber *string `json:"phoneNumber,omitempty"` + Status ReceiverStatus `json:"status,omitempty"` } -// ServiceDiagnosticSettingsResource is description of a service diagnostic -// setting -type ServiceDiagnosticSettingsResource struct { - autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Type *string `json:"type,omitempty"` - Location *string `json:"location,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` - *ServiceDiagnosticSettings `json:"properties,omitempty"` -} - -// ThresholdRuleCondition is a rule condition based on a metric crossing a -// threshold. +// ThresholdRuleCondition is a rule condition based on a metric crossing a threshold. type ThresholdRuleCondition struct { - DataSource *RuleDataSource `json:"dataSource,omitempty"` + DataSource RuleDataSource `json:"dataSource,omitempty"` + OdataType OdataType1 `json:"odata.type,omitempty"` Operator ConditionOperator `json:"operator,omitempty"` Threshold *float64 `json:"threshold,omitempty"` WindowSize *string `json:"windowSize,omitempty"` TimeAggregation TimeAggregationOperator `json:"timeAggregation,omitempty"` } +// MarshalJSON is the custom marshaler for ThresholdRuleCondition. +func (trc ThresholdRuleCondition) MarshalJSON() ([]byte, error) { + trc.OdataType = OdataTypeMicrosoftAzureManagementInsightsModelsThresholdRuleCondition + type Alias ThresholdRuleCondition + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(trc), + }) +} + +// AsThresholdRuleCondition is the RuleCondition implementation for ThresholdRuleCondition. +func (trc ThresholdRuleCondition) AsThresholdRuleCondition() (*ThresholdRuleCondition, bool) { + return &trc, true +} + +// AsLocationThresholdRuleCondition is the RuleCondition implementation for ThresholdRuleCondition. +func (trc ThresholdRuleCondition) AsLocationThresholdRuleCondition() (*LocationThresholdRuleCondition, bool) { + return nil, false +} + +// AsManagementEventRuleCondition is the RuleCondition implementation for ThresholdRuleCondition. +func (trc ThresholdRuleCondition) AsManagementEventRuleCondition() (*ManagementEventRuleCondition, bool) { + return nil, false +} + +// UnmarshalJSON is the custom unmarshaler for ThresholdRuleCondition struct. +func (trc *ThresholdRuleCondition) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["operator"] + if v != nil { + var operator ConditionOperator + err = json.Unmarshal(*m["operator"], &operator) + if err != nil { + return err + } + trc.Operator = operator + } + + v = m["threshold"] + if v != nil { + var threshold float64 + err = json.Unmarshal(*m["threshold"], &threshold) + if err != nil { + return err + } + trc.Threshold = &threshold + } + + v = m["windowSize"] + if v != nil { + var windowSize string + err = json.Unmarshal(*m["windowSize"], &windowSize) + if err != nil { + return err + } + trc.WindowSize = &windowSize + } + + v = m["timeAggregation"] + if v != nil { + var timeAggregation TimeAggregationOperator + err = json.Unmarshal(*m["timeAggregation"], &timeAggregation) + if err != nil { + return err + } + trc.TimeAggregation = timeAggregation + } + + v = m["dataSource"] + if v != nil { + dataSource, err := unmarshalRuleDataSource(*m["dataSource"]) + if err != nil { + return err + } + trc.DataSource = dataSource + } + + v = m["odata.type"] + if v != nil { + var odatatype OdataType1 + err = json.Unmarshal(*m["odata.type"], &odatatype) + if err != nil { + return err + } + trc.OdataType = odatatype + } + + return nil +} + // TimeWindow is a specific date-time for the profile. type TimeWindow struct { TimeZone *string `json:"timeZone,omitempty"` @@ -584,3 +1252,9 @@ type WebhookNotification struct { ServiceURI *string `json:"serviceUri,omitempty"` Properties *map[string]*string `json:"properties,omitempty"` } + +// WebhookReceiver is a webhook receiver. +type WebhookReceiver struct { + Name *string `json:"name,omitempty"` + ServiceURI *string `json:"serviceUri,omitempty"` +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/operations.go new file mode 100644 index 000000000..b825494ca --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/operations.go @@ -0,0 +1,96 @@ +package monitor + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// OperationsClient is the monitor Management Client +type OperationsClient struct { + ManagementClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List lists all of the available operations from Microsoft.Insights provider. +func (client OperationsClient) List() (result OperationListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "monitor.OperationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "monitor.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer() (*http.Request, error) { + const APIVersion = "2015-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/microsoft.insights/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/servicediagnosticsettings.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/servicediagnosticsettings.go deleted file mode 100755 index ead661a31..000000000 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/servicediagnosticsettings.go +++ /dev/null @@ -1,242 +0,0 @@ -package monitor - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. - -import ( - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "net/http" -) - -// ServiceDiagnosticSettingsClient is the composite Swagger for Monitor -// Management Client -type ServiceDiagnosticSettingsClient struct { - ManagementClient -} - -// NewServiceDiagnosticSettingsClient creates an instance of the -// ServiceDiagnosticSettingsClient client. -func NewServiceDiagnosticSettingsClient(subscriptionID string) ServiceDiagnosticSettingsClient { - return NewServiceDiagnosticSettingsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewServiceDiagnosticSettingsClientWithBaseURI creates an instance of the -// ServiceDiagnosticSettingsClient client. -func NewServiceDiagnosticSettingsClientWithBaseURI(baseURI string, subscriptionID string) ServiceDiagnosticSettingsClient { - return ServiceDiagnosticSettingsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// CreateOrUpdate create or update new diagnostic settings for the specified -// resource. **WARNING**: This method will be deprecated in future releases. -// -// resourceURI is the identifier of the resource. parameters is parameters -// supplied to the operation. -func (client ServiceDiagnosticSettingsClient) CreateOrUpdate(resourceURI string, parameters ServiceDiagnosticSettingsResource) (result ServiceDiagnosticSettingsResource, err error) { - req, err := client.CreateOrUpdatePreparer(resourceURI, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "monitor.ServiceDiagnosticSettingsClient", "CreateOrUpdate", nil, "Failure preparing request") - return - } - - resp, err := client.CreateOrUpdateSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "monitor.ServiceDiagnosticSettingsClient", "CreateOrUpdate", resp, "Failure sending request") - return - } - - result, err = client.CreateOrUpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "monitor.ServiceDiagnosticSettingsClient", "CreateOrUpdate", resp, "Failure responding to request") - } - - return -} - -// CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client ServiceDiagnosticSettingsClient) CreateOrUpdatePreparer(resourceURI string, parameters ServiceDiagnosticSettingsResource) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceUri": autorest.Encode("path", resourceURI), - } - - const APIVersion = "2016-09-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/{resourceUri}/providers/microsoft.insights/diagnosticSettings/service", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the -// http.Response Body if it receives an error. -func (client ServiceDiagnosticSettingsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always -// closes the http.Response Body. -func (client ServiceDiagnosticSettingsClient) CreateOrUpdateResponder(resp *http.Response) (result ServiceDiagnosticSettingsResource, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Get gets the active diagnostic settings for the specified resource. -// **WARNING**: This method will be deprecated in future releases. -// -// resourceURI is the identifier of the resource. -func (client ServiceDiagnosticSettingsClient) Get(resourceURI string) (result ServiceDiagnosticSettingsResource, err error) { - req, err := client.GetPreparer(resourceURI) - if err != nil { - err = autorest.NewErrorWithError(err, "monitor.ServiceDiagnosticSettingsClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "monitor.ServiceDiagnosticSettingsClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "monitor.ServiceDiagnosticSettingsClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ServiceDiagnosticSettingsClient) GetPreparer(resourceURI string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceUri": autorest.Encode("path", resourceURI), - } - - const APIVersion = "2016-09-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/{resourceUri}/providers/microsoft.insights/diagnosticSettings/service", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ServiceDiagnosticSettingsClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ServiceDiagnosticSettingsClient) GetResponder(resp *http.Response) (result ServiceDiagnosticSettingsResource, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Update updates an existing ServiceDiagnosticSettingsResource. To update -// other fields use the CreateOrUpdate method. **WARNING**: This method will be -// deprecated in future releases. -// -// resourceURI is the identifier of the resource. -// serviceDiagnosticSettingsResource is parameters supplied to the operation. -func (client ServiceDiagnosticSettingsClient) Update(resourceURI string, serviceDiagnosticSettingsResource ServiceDiagnosticSettingsResource) (result ServiceDiagnosticSettingsResource, err error) { - req, err := client.UpdatePreparer(resourceURI, serviceDiagnosticSettingsResource) - if err != nil { - err = autorest.NewErrorWithError(err, "monitor.ServiceDiagnosticSettingsClient", "Update", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "monitor.ServiceDiagnosticSettingsClient", "Update", resp, "Failure sending request") - return - } - - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "monitor.ServiceDiagnosticSettingsClient", "Update", resp, "Failure responding to request") - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client ServiceDiagnosticSettingsClient) UpdatePreparer(resourceURI string, serviceDiagnosticSettingsResource ServiceDiagnosticSettingsResource) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceUri": autorest.Encode("path", resourceURI), - } - - const APIVersion = "2016-09-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/{resourceUri}/providers/microsoft.insights/diagnosticSettings/service", pathParameters), - autorest.WithJSON(serviceDiagnosticSettingsResource), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client ServiceDiagnosticSettingsClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client ServiceDiagnosticSettingsClient) UpdateResponder(resp *http.Response) (result ServiceDiagnosticSettingsResource, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/version.go index 4f0588ae3..1500a1502 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/monitor/version.go @@ -14,16 +14,15 @@ package monitor // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-monitor/" + return "Azure-SDK-For-Go/v11.0.0-beta arm-monitor/" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/client.go new file mode 100644 index 000000000..ac960b12e --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/client.go @@ -0,0 +1,52 @@ +// Package mysql implements the Azure ARM Mysql service API version 2017-04-30-preview. +// +// The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MySQL resources +// including servers, databases, firewall rules, log files and configurations. +package mysql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +const ( + // DefaultBaseURI is the default URI used for the service Mysql + DefaultBaseURI = "https://management.azure.com" +) + +// ManagementClient is the base client for Mysql. +type ManagementClient struct { + autorest.Client + BaseURI string + SubscriptionID string +} + +// New creates an instance of the ManagementClient client. +func New(subscriptionID string) ManagementClient { + return NewWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWithBaseURI creates an instance of the ManagementClient client. +func NewWithBaseURI(baseURI string, subscriptionID string) ManagementClient { + return ManagementClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + SubscriptionID: subscriptionID, + } +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/configurations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/configurations.go new file mode 100644 index 000000000..216451e62 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/configurations.go @@ -0,0 +1,260 @@ +package mysql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// ConfigurationsClient is the the Microsoft Azure management API provides create, read, update, and delete +// functionality for Azure MySQL resources including servers, databases, firewall rules, log files and configurations. +type ConfigurationsClient struct { + ManagementClient +} + +// NewConfigurationsClient creates an instance of the ConfigurationsClient client. +func NewConfigurationsClient(subscriptionID string) ConfigurationsClient { + return NewConfigurationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewConfigurationsClientWithBaseURI creates an instance of the ConfigurationsClient client. +func NewConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) ConfigurationsClient { + return ConfigurationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate updates a configuration of a server. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. configurationName is the name of the +// server configuration. parameters is the required parameters for updating a server configuration. +func (client ConfigurationsClient) CreateOrUpdate(resourceGroupName string, serverName string, configurationName string, parameters Configuration, cancel <-chan struct{}) (<-chan Configuration, <-chan error) { + resultChan := make(chan Configuration, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result Configuration + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, configurationName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ConfigurationsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "mysql.ConfigurationsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ConfigurationsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ConfigurationsClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, configurationName string, parameters Configuration, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "configurationName": autorest.Encode("path", configurationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations/{configurationName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ConfigurationsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ConfigurationsClient) CreateOrUpdateResponder(resp *http.Response) (result Configuration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets information about a configuration of server. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. configurationName is the name of the +// server configuration. +func (client ConfigurationsClient) Get(resourceGroupName string, serverName string, configurationName string) (result Configuration, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, configurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ConfigurationsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "mysql.ConfigurationsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ConfigurationsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ConfigurationsClient) GetPreparer(resourceGroupName string, serverName string, configurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "configurationName": autorest.Encode("path", configurationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations/{configurationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ConfigurationsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ConfigurationsClient) GetResponder(resp *http.Response) (result Configuration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer list all the configurations in a given server. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. +func (client ConfigurationsClient) ListByServer(resourceGroupName string, serverName string) (result ConfigurationListResult, err error) { + req, err := client.ListByServerPreparer(resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ConfigurationsClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "mysql.ConfigurationsClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ConfigurationsClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client ConfigurationsClient) ListByServerPreparer(resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client ConfigurationsClient) ListByServerSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client ConfigurationsClient) ListByServerResponder(resp *http.Response) (result ConfigurationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/databases.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/databases.go new file mode 100644 index 000000000..864b6e4d1 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/databases.go @@ -0,0 +1,344 @@ +package mysql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// DatabasesClient is the the Microsoft Azure management API provides create, read, update, and delete functionality +// for Azure MySQL resources including servers, databases, firewall rules, log files and configurations. +type DatabasesClient struct { + ManagementClient +} + +// NewDatabasesClient creates an instance of the DatabasesClient client. +func NewDatabasesClient(subscriptionID string) DatabasesClient { + return NewDatabasesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDatabasesClientWithBaseURI creates an instance of the DatabasesClient client. +func NewDatabasesClientWithBaseURI(baseURI string, subscriptionID string) DatabasesClient { + return DatabasesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a new database or updates an existing database. This method may poll for completion. Polling +// can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database. parameters is the required parameters for creating or updating a database. +func (client DatabasesClient) CreateOrUpdate(resourceGroupName string, serverName string, databaseName string, parameters Database, cancel <-chan struct{}) (<-chan Database, <-chan error) { + resultChan := make(chan Database, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result Database + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, databaseName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.DatabasesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "mysql.DatabasesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.DatabasesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DatabasesClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, databaseName string, parameters Database, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases/{databaseName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DatabasesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DatabasesClient) CreateOrUpdateResponder(resp *http.Response) (result Database, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a database. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database. +func (client DatabasesClient) Delete(resourceGroupName string, serverName string, databaseName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, serverName, databaseName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.DatabasesClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "mysql.DatabasesClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.DatabasesClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// DeletePreparer prepares the Delete request. +func (client DatabasesClient) DeletePreparer(resourceGroupName string, serverName string, databaseName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases/{databaseName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client DatabasesClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client DatabasesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets information about a database. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database. +func (client DatabasesClient) Get(resourceGroupName string, serverName string, databaseName string) (result Database, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.DatabasesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "mysql.DatabasesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.DatabasesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DatabasesClient) GetPreparer(resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases/{databaseName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DatabasesClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DatabasesClient) GetResponder(resp *http.Response) (result Database, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer list all the databases in a given server. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. +func (client DatabasesClient) ListByServer(resourceGroupName string, serverName string) (result DatabaseListResult, err error) { + req, err := client.ListByServerPreparer(resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.DatabasesClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "mysql.DatabasesClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.DatabasesClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client DatabasesClient) ListByServerPreparer(resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client DatabasesClient) ListByServerSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client DatabasesClient) ListByServerResponder(resp *http.Response) (result DatabaseListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/firewallrules.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/firewallrules.go new file mode 100644 index 000000000..67c4b4733 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/firewallrules.go @@ -0,0 +1,359 @@ +package mysql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// FirewallRulesClient is the the Microsoft Azure management API provides create, read, update, and delete +// functionality for Azure MySQL resources including servers, databases, firewall rules, log files and configurations. +type FirewallRulesClient struct { + ManagementClient +} + +// NewFirewallRulesClient creates an instance of the FirewallRulesClient client. +func NewFirewallRulesClient(subscriptionID string) FirewallRulesClient { + return NewFirewallRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewFirewallRulesClientWithBaseURI creates an instance of the FirewallRulesClient client. +func NewFirewallRulesClientWithBaseURI(baseURI string, subscriptionID string) FirewallRulesClient { + return FirewallRulesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a new firewall rule or updates an existing firewall rule. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. firewallRuleName is the name of the +// server firewall rule. parameters is the required parameters for creating or updating a firewall rule. +func (client FirewallRulesClient) CreateOrUpdate(resourceGroupName string, serverName string, firewallRuleName string, parameters FirewallRule, cancel <-chan struct{}) (<-chan FirewallRule, <-chan error) { + resultChan := make(chan FirewallRule, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.FirewallRuleProperties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.FirewallRuleProperties.StartIPAddress", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.FirewallRuleProperties.StartIPAddress", Name: validation.Pattern, Rule: `^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$`, Chain: nil}}}, + {Target: "parameters.FirewallRuleProperties.EndIPAddress", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.FirewallRuleProperties.EndIPAddress", Name: validation.Pattern, Rule: `^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$`, Chain: nil}}}, + }}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "mysql.FirewallRulesClient", "CreateOrUpdate") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result FirewallRule + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, firewallRuleName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.FirewallRulesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "mysql.FirewallRulesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.FirewallRulesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client FirewallRulesClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, firewallRuleName string, parameters FirewallRule, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "firewallRuleName": autorest.Encode("path", firewallRuleName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules/{firewallRuleName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallRulesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client FirewallRulesClient) CreateOrUpdateResponder(resp *http.Response) (result FirewallRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a server firewall rule. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. firewallRuleName is the name of the +// server firewall rule. +func (client FirewallRulesClient) Delete(resourceGroupName string, serverName string, firewallRuleName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, serverName, firewallRuleName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.FirewallRulesClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "mysql.FirewallRulesClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.FirewallRulesClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// DeletePreparer prepares the Delete request. +func (client FirewallRulesClient) DeletePreparer(resourceGroupName string, serverName string, firewallRuleName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "firewallRuleName": autorest.Encode("path", firewallRuleName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules/{firewallRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallRulesClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client FirewallRulesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets information about a server firewall rule. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. firewallRuleName is the name of the +// server firewall rule. +func (client FirewallRulesClient) Get(resourceGroupName string, serverName string, firewallRuleName string) (result FirewallRule, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, firewallRuleName) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.FirewallRulesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "mysql.FirewallRulesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.FirewallRulesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client FirewallRulesClient) GetPreparer(resourceGroupName string, serverName string, firewallRuleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "firewallRuleName": autorest.Encode("path", firewallRuleName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules/{firewallRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallRulesClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client FirewallRulesClient) GetResponder(resp *http.Response) (result FirewallRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer list all the firewall rules in a given server. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. +func (client FirewallRulesClient) ListByServer(resourceGroupName string, serverName string) (result FirewallRuleListResult, err error) { + req, err := client.ListByServerPreparer(resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.FirewallRulesClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "mysql.FirewallRulesClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.FirewallRulesClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client FirewallRulesClient) ListByServerPreparer(resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallRulesClient) ListByServerSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client FirewallRulesClient) ListByServerResponder(resp *http.Response) (result FirewallRuleListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/logfiles.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/logfiles.go new file mode 100644 index 000000000..87eed6aca --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/logfiles.go @@ -0,0 +1,106 @@ +package mysql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// LogFilesClient is the the Microsoft Azure management API provides create, read, update, and delete functionality for +// Azure MySQL resources including servers, databases, firewall rules, log files and configurations. +type LogFilesClient struct { + ManagementClient +} + +// NewLogFilesClient creates an instance of the LogFilesClient client. +func NewLogFilesClient(subscriptionID string) LogFilesClient { + return NewLogFilesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewLogFilesClientWithBaseURI creates an instance of the LogFilesClient client. +func NewLogFilesClientWithBaseURI(baseURI string, subscriptionID string) LogFilesClient { + return LogFilesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListByServer list all the log files in a given server. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. +func (client LogFilesClient) ListByServer(resourceGroupName string, serverName string) (result LogFileListResult, err error) { + req, err := client.ListByServerPreparer(resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.LogFilesClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "mysql.LogFilesClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.LogFilesClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client LogFilesClient) ListByServerPreparer(resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/logFiles", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client LogFilesClient) ListByServerSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client LogFilesClient) ListByServerResponder(resp *http.Response) (result LogFileListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/models.go new file mode 100644 index 000000000..c8cdfedda --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/models.go @@ -0,0 +1,436 @@ +package mysql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "encoding/json" + "errors" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/date" +) + +// CreateMode enumerates the values for create mode. +type CreateMode string + +const ( + // CreateModeDefault specifies the create mode default state for create mode. + CreateModeDefault CreateMode = "Default" + // CreateModePointInTimeRestore specifies the create mode point in time restore state for create mode. + CreateModePointInTimeRestore CreateMode = "PointInTimeRestore" +) + +// OperationOrigin enumerates the values for operation origin. +type OperationOrigin string + +const ( + // NotSpecified specifies the not specified state for operation origin. + NotSpecified OperationOrigin = "NotSpecified" + // System specifies the system state for operation origin. + System OperationOrigin = "system" + // User specifies the user state for operation origin. + User OperationOrigin = "user" +) + +// ServerState enumerates the values for server state. +type ServerState string + +const ( + // Disabled specifies the disabled state for server state. + Disabled ServerState = "Disabled" + // Dropping specifies the dropping state for server state. + Dropping ServerState = "Dropping" + // Ready specifies the ready state for server state. + Ready ServerState = "Ready" +) + +// ServerVersion enumerates the values for server version. +type ServerVersion string + +const ( + // FiveFullStopSeven specifies the five full stop seven state for server version. + FiveFullStopSeven ServerVersion = "5.7" + // FiveFullStopSix specifies the five full stop six state for server version. + FiveFullStopSix ServerVersion = "5.6" +) + +// SkuTier enumerates the values for sku tier. +type SkuTier string + +const ( + // Basic specifies the basic state for sku tier. + Basic SkuTier = "Basic" + // Standard specifies the standard state for sku tier. + Standard SkuTier = "Standard" +) + +// SslEnforcementEnum enumerates the values for ssl enforcement enum. +type SslEnforcementEnum string + +const ( + // SslEnforcementEnumDisabled specifies the ssl enforcement enum disabled state for ssl enforcement enum. + SslEnforcementEnumDisabled SslEnforcementEnum = "Disabled" + // SslEnforcementEnumEnabled specifies the ssl enforcement enum enabled state for ssl enforcement enum. + SslEnforcementEnumEnabled SslEnforcementEnum = "Enabled" +) + +// Configuration is represents a Configuration. +type Configuration struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *ConfigurationProperties `json:"properties,omitempty"` +} + +// ConfigurationListResult is a list of server configurations. +type ConfigurationListResult struct { + autorest.Response `json:"-"` + Value *[]Configuration `json:"value,omitempty"` +} + +// ConfigurationProperties is the properties of a configuration. +type ConfigurationProperties struct { + Value *string `json:"value,omitempty"` + Description *string `json:"description,omitempty"` + DefaultValue *string `json:"defaultValue,omitempty"` + DataType *string `json:"dataType,omitempty"` + AllowedValues *string `json:"allowedValues,omitempty"` + Source *string `json:"source,omitempty"` +} + +// Database is represents a Database. +type Database struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *DatabaseProperties `json:"properties,omitempty"` +} + +// DatabaseListResult is a List of databases. +type DatabaseListResult struct { + autorest.Response `json:"-"` + Value *[]Database `json:"value,omitempty"` +} + +// DatabaseProperties is the properties of a database. +type DatabaseProperties struct { + Charset *string `json:"charset,omitempty"` + Collation *string `json:"collation,omitempty"` +} + +// FirewallRule is represents a server firewall rule. +type FirewallRule struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *FirewallRuleProperties `json:"properties,omitempty"` +} + +// FirewallRuleListResult is a list of firewall rules. +type FirewallRuleListResult struct { + autorest.Response `json:"-"` + Value *[]FirewallRule `json:"value,omitempty"` +} + +// FirewallRuleProperties is the properties of a server firewall rule. +type FirewallRuleProperties struct { + StartIPAddress *string `json:"startIpAddress,omitempty"` + EndIPAddress *string `json:"endIpAddress,omitempty"` +} + +// LogFile is represents a log file. +type LogFile struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *LogFileProperties `json:"properties,omitempty"` +} + +// LogFileListResult is a list of log files. +type LogFileListResult struct { + autorest.Response `json:"-"` + Value *[]LogFile `json:"value,omitempty"` +} + +// LogFileProperties is the properties of a log file. +type LogFileProperties struct { + Name *string `json:"name,omitempty"` + SizeInKB *int64 `json:"sizeInKB,omitempty"` + CreatedTime *date.Time `json:"createdTime,omitempty"` + LastModifiedTime *date.Time `json:"lastModifiedTime,omitempty"` + Type *string `json:"type,omitempty"` + URL *string `json:"url,omitempty"` +} + +// Operation is REST API operation definition. +type Operation struct { + Name *string `json:"name,omitempty"` + Display *OperationDisplay `json:"display,omitempty"` + Origin OperationOrigin `json:"origin,omitempty"` + Properties *map[string]*map[string]interface{} `json:"properties,omitempty"` +} + +// OperationDisplay is display metadata associated with the operation. +type OperationDisplay struct { + Provider *string `json:"provider,omitempty"` + Resource *string `json:"resource,omitempty"` + Operation *string `json:"operation,omitempty"` + Description *string `json:"description,omitempty"` +} + +// OperationListResult is a list of resource provider operations. +type OperationListResult struct { + autorest.Response `json:"-"` + Value *[]Operation `json:"value,omitempty"` +} + +// ProxyResource is resource properties. +type ProxyResource struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` +} + +// Server is represents a server. +type Server struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + Sku *Sku `json:"sku,omitempty"` + *ServerProperties `json:"properties,omitempty"` +} + +// ServerForCreate is represents a server to be created. +type ServerForCreate struct { + Sku *Sku `json:"sku,omitempty"` + Properties ServerPropertiesForCreate `json:"properties,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for ServerForCreate struct. +func (sfc *ServerForCreate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["sku"] + if v != nil { + var sku Sku + err = json.Unmarshal(*m["sku"], &sku) + if err != nil { + return err + } + sfc.Sku = &sku + } + + v = m["properties"] + if v != nil { + properties, err := unmarshalServerPropertiesForCreate(*m["properties"]) + if err != nil { + return err + } + sfc.Properties = properties + } + + v = m["location"] + if v != nil { + var location string + err = json.Unmarshal(*m["location"], &location) + if err != nil { + return err + } + sfc.Location = &location + } + + v = m["tags"] + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*m["tags"], &tags) + if err != nil { + return err + } + sfc.Tags = &tags + } + + return nil +} + +// ServerListResult is a list of servers. +type ServerListResult struct { + autorest.Response `json:"-"` + Value *[]Server `json:"value,omitempty"` +} + +// ServerProperties is the properties of a server. +type ServerProperties struct { + AdministratorLogin *string `json:"administratorLogin,omitempty"` + StorageMB *int64 `json:"storageMB,omitempty"` + Version ServerVersion `json:"version,omitempty"` + SslEnforcement SslEnforcementEnum `json:"sslEnforcement,omitempty"` + UserVisibleState ServerState `json:"userVisibleState,omitempty"` + FullyQualifiedDomainName *string `json:"fullyQualifiedDomainName,omitempty"` +} + +// ServerPropertiesForCreate is the properties used to create a new server. +type ServerPropertiesForCreate interface { + AsServerPropertiesForDefaultCreate() (*ServerPropertiesForDefaultCreate, bool) + AsServerPropertiesForRestore() (*ServerPropertiesForRestore, bool) +} + +func unmarshalServerPropertiesForCreate(body []byte) (ServerPropertiesForCreate, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["createMode"] { + case string(CreateModeDefault): + var spfdc ServerPropertiesForDefaultCreate + err := json.Unmarshal(body, &spfdc) + return spfdc, err + case string(CreateModePointInTimeRestore): + var spfr ServerPropertiesForRestore + err := json.Unmarshal(body, &spfr) + return spfr, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalServerPropertiesForCreateArray(body []byte) ([]ServerPropertiesForCreate, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + spfcArray := make([]ServerPropertiesForCreate, len(rawMessages)) + + for index, rawMessage := range rawMessages { + spfc, err := unmarshalServerPropertiesForCreate(*rawMessage) + if err != nil { + return nil, err + } + spfcArray[index] = spfc + } + return spfcArray, nil +} + +// ServerPropertiesForDefaultCreate is the properties used to create a new server. +type ServerPropertiesForDefaultCreate struct { + StorageMB *int64 `json:"storageMB,omitempty"` + Version ServerVersion `json:"version,omitempty"` + SslEnforcement SslEnforcementEnum `json:"sslEnforcement,omitempty"` + CreateMode CreateMode `json:"createMode,omitempty"` + AdministratorLogin *string `json:"administratorLogin,omitempty"` + AdministratorLoginPassword *string `json:"administratorLoginPassword,omitempty"` +} + +// MarshalJSON is the custom marshaler for ServerPropertiesForDefaultCreate. +func (spfdc ServerPropertiesForDefaultCreate) MarshalJSON() ([]byte, error) { + spfdc.CreateMode = CreateModeDefault + type Alias ServerPropertiesForDefaultCreate + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(spfdc), + }) +} + +// AsServerPropertiesForDefaultCreate is the ServerPropertiesForCreate implementation for ServerPropertiesForDefaultCreate. +func (spfdc ServerPropertiesForDefaultCreate) AsServerPropertiesForDefaultCreate() (*ServerPropertiesForDefaultCreate, bool) { + return &spfdc, true +} + +// AsServerPropertiesForRestore is the ServerPropertiesForCreate implementation for ServerPropertiesForDefaultCreate. +func (spfdc ServerPropertiesForDefaultCreate) AsServerPropertiesForRestore() (*ServerPropertiesForRestore, bool) { + return nil, false +} + +// ServerPropertiesForRestore is the properties to a new server by restoring from a backup. +type ServerPropertiesForRestore struct { + StorageMB *int64 `json:"storageMB,omitempty"` + Version ServerVersion `json:"version,omitempty"` + SslEnforcement SslEnforcementEnum `json:"sslEnforcement,omitempty"` + CreateMode CreateMode `json:"createMode,omitempty"` + SourceServerID *string `json:"sourceServerId,omitempty"` + RestorePointInTime *date.Time `json:"restorePointInTime,omitempty"` +} + +// MarshalJSON is the custom marshaler for ServerPropertiesForRestore. +func (spfr ServerPropertiesForRestore) MarshalJSON() ([]byte, error) { + spfr.CreateMode = CreateModePointInTimeRestore + type Alias ServerPropertiesForRestore + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(spfr), + }) +} + +// AsServerPropertiesForDefaultCreate is the ServerPropertiesForCreate implementation for ServerPropertiesForRestore. +func (spfr ServerPropertiesForRestore) AsServerPropertiesForDefaultCreate() (*ServerPropertiesForDefaultCreate, bool) { + return nil, false +} + +// AsServerPropertiesForRestore is the ServerPropertiesForCreate implementation for ServerPropertiesForRestore. +func (spfr ServerPropertiesForRestore) AsServerPropertiesForRestore() (*ServerPropertiesForRestore, bool) { + return &spfr, true +} + +// ServerUpdateParameters is parameters allowd to update for a server. +type ServerUpdateParameters struct { + Sku *Sku `json:"sku,omitempty"` + *ServerUpdateParametersProperties `json:"properties,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` +} + +// ServerUpdateParametersProperties is the properties that can be updated for a server. +type ServerUpdateParametersProperties struct { + StorageMB *int64 `json:"storageMB,omitempty"` + AdministratorLoginPassword *string `json:"administratorLoginPassword,omitempty"` + Version ServerVersion `json:"version,omitempty"` + SslEnforcement SslEnforcementEnum `json:"sslEnforcement,omitempty"` +} + +// Sku is billing information related properties of a server. +type Sku struct { + Name *string `json:"name,omitempty"` + Tier SkuTier `json:"tier,omitempty"` + Capacity *int32 `json:"capacity,omitempty"` + Size *string `json:"size,omitempty"` + Family *string `json:"family,omitempty"` +} + +// TrackedResource is resource properties including location and tags for track resources. +type TrackedResource struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/mysql_test.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/mysql_test.go new file mode 100644 index 000000000..889d113b6 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/mysql_test.go @@ -0,0 +1,82 @@ +package mysql + +// Copyright 2017 Microsoft Corporation +// +// 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. + +import ( + "encoding/json" + "testing" + + "github.com/Azure/go-autorest/autorest/to" + chk "gopkg.in/check.v1" +) + +// Hook up gocheck to testing +func Test(t *testing.T) { chk.TestingT(t) } + +type Suite struct{} + +var _ = chk.Suite(&Suite{}) + +var ( + body = `{ + "sku": { + "name": "SkuName", + "tier": "Basic", + "capacity": 100 + }, + "properties": { + "storageMB": 1024, + "sslEnforcement": "Enabled", + "createMode": "Default", + "administratorLogin": "cloudsa", + "administratorLoginPassword": "password" + }, + "location": "OneBox", + "tags": { + "ElasticServer": "1" + } +}` + sfc = ServerForCreate{ + Location: to.StringPtr("OneBox"), + Properties: ServerPropertiesForDefaultCreate{ + AdministratorLogin: to.StringPtr("cloudsa"), + AdministratorLoginPassword: to.StringPtr("password"), + StorageMB: to.Int64Ptr(1024), + SslEnforcement: SslEnforcementEnumEnabled, + CreateMode: CreateModeDefault, + }, + Sku: &Sku{ + Name: to.StringPtr("SkuName"), + Tier: Basic, + Capacity: to.Int32Ptr(100), + }, + Tags: &map[string]*string{ + "ElasticServer": to.StringPtr("1"), + }, + } +) + +func (s *Suite) TestUnmarshalServerForCreate(c *chk.C) { + var obtained ServerForCreate + err := json.Unmarshal([]byte(body), &obtained) + c.Assert(err, chk.IsNil) + c.Assert(obtained, chk.DeepEquals, sfc) +} + +func (s *Suite) TestMarshalServerForCreate(c *chk.C) { + b, err := json.MarshalIndent(sfc, "", " ") + c.Assert(err, chk.IsNil) + c.Assert(string(b), chk.Equals, body) +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/operations.go new file mode 100644 index 000000000..59946f8fe --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/operations.go @@ -0,0 +1,97 @@ +package mysql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// OperationsClient is the the Microsoft Azure management API provides create, read, update, and delete functionality +// for Azure MySQL resources including servers, databases, firewall rules, log files and configurations. +type OperationsClient struct { + ManagementClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List lists all of the available REST API operations. +func (client OperationsClient) List() (result OperationListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "mysql.OperationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer() (*http.Request, error) { + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.DBforMySQL/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/servers.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/servers.go new file mode 100644 index 000000000..ee01c0ae2 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/servers.go @@ -0,0 +1,503 @@ +package mysql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// ServersClient is the the Microsoft Azure management API provides create, read, update, and delete functionality for +// Azure MySQL resources including servers, databases, firewall rules, log files and configurations. +type ServersClient struct { + ManagementClient +} + +// NewServersClient creates an instance of the ServersClient client. +func NewServersClient(subscriptionID string) ServersClient { + return NewServersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServersClientWithBaseURI creates an instance of the ServersClient client. +func NewServersClientWithBaseURI(baseURI string, subscriptionID string) ServersClient { + return ServersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a new server or updates an existing server. The update action will overwrite the existing +// server. This method may poll for completion. Polling can be canceled by passing the cancel channel argument. The +// channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. parameters is the required +// parameters for creating or updating a server. +func (client ServersClient) CreateOrUpdate(resourceGroupName string, serverName string, parameters ServerForCreate, cancel <-chan struct{}) (<-chan Server, <-chan error) { + resultChan := make(chan Server, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Sku", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Sku.Capacity", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Sku.Capacity", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}, + }}, + {Target: "parameters.Properties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.Properties.StorageMB", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.StorageMB", Name: validation.InclusiveMinimum, Rule: 1024, Chain: nil}}}, + }}, + {Target: "parameters.Location", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "mysql.ServersClient", "CreateOrUpdate") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result Server + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ServersClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "mysql.ServersClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ServersClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ServersClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, parameters ServerForCreate, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ServersClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ServersClient) CreateOrUpdateResponder(resp *http.Response) (result Server, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a server. This method may poll for completion. Polling can be canceled by passing the cancel channel +// argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. +func (client ServersClient) Delete(resourceGroupName string, serverName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, serverName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ServersClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "mysql.ServersClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ServersClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// DeletePreparer prepares the Delete request. +func (client ServersClient) DeletePreparer(resourceGroupName string, serverName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ServersClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ServersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets information about a server. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. +func (client ServersClient) Get(resourceGroupName string, serverName string) (result Server, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ServersClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "mysql.ServersClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ServersClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServersClient) GetPreparer(resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServersClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServersClient) GetResponder(resp *http.Response) (result Server, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List list all the servers in a given subscription. +func (client ServersClient) List() (result ServerListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ServersClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "mysql.ServersClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ServersClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ServersClient) ListPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/servers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ServersClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ServersClient) ListResponder(resp *http.Response) (result ServerListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroup list all the servers in a given resource group. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. +func (client ServersClient) ListByResourceGroup(resourceGroupName string) (result ServerListResult, err error) { + req, err := client.ListByResourceGroupPreparer(resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ServersClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "mysql.ServersClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ServersClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ServersClient) ListByResourceGroupPreparer(resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ServersClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ServersClient) ListByResourceGroupResponder(resp *http.Response) (result ServerListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update updates an existing server. The request body can contain one to many of the properties present in the normal +// server definition. This method may poll for completion. Polling can be canceled by passing the cancel channel +// argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. parameters is the required +// parameters for updating a server. +func (client ServersClient) Update(resourceGroupName string, serverName string, parameters ServerUpdateParameters, cancel <-chan struct{}) (<-chan Server, <-chan error) { + resultChan := make(chan Server, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result Server + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.UpdatePreparer(resourceGroupName, serverName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ServersClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "mysql.ServersClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ServersClient", "Update", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// UpdatePreparer prepares the Update request. +func (client ServersClient) UpdatePreparer(resourceGroupName string, serverName string, parameters ServerUpdateParameters, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client ServersClient) UpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client ServersClient) UpdateResponder(resp *http.Response) (result Server, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/version.go new file mode 100644 index 000000000..d61968f2b --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/mysql/version.go @@ -0,0 +1,28 @@ +package mysql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/v11.0.0-beta arm-mysql/2017-04-30-preview" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return "v11.0.0-beta" +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/applicationgateways.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/applicationgateways.go index 4ab4e0734..c000be117 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/applicationgateways.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/applicationgateways.go @@ -14,9 +14,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,31 +24,27 @@ import ( "net/http" ) -// ApplicationGatewaysClient is the composite Swagger for Network Client +// ApplicationGatewaysClient is the network Client type ApplicationGatewaysClient struct { ManagementClient } -// NewApplicationGatewaysClient creates an instance of the -// ApplicationGatewaysClient client. +// NewApplicationGatewaysClient creates an instance of the ApplicationGatewaysClient client. func NewApplicationGatewaysClient(subscriptionID string) ApplicationGatewaysClient { return NewApplicationGatewaysClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewApplicationGatewaysClientWithBaseURI creates an instance of the -// ApplicationGatewaysClient client. +// NewApplicationGatewaysClientWithBaseURI creates an instance of the ApplicationGatewaysClient client. func NewApplicationGatewaysClientWithBaseURI(baseURI string, subscriptionID string) ApplicationGatewaysClient { return ApplicationGatewaysClient{NewWithBaseURI(baseURI, subscriptionID)} } -// BackendHealth gets the backend health of the specified application gateway -// in a resource group. This method may poll for completion. Polling can be -// canceled by passing the cancel channel argument. The channel will be used to -// cancel polling and any outstanding HTTP requests. +// BackendHealth gets the backend health of the specified application gateway in a resource group. This method may poll +// for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. applicationGatewayName -// is the name of the application gateway. expand is expands BackendAddressPool -// and BackendHttpSettings referenced in backend health. +// resourceGroupName is the name of the resource group. applicationGatewayName is the name of the application gateway. +// expand is expands BackendAddressPool and BackendHttpSettings referenced in backend health. func (client ApplicationGatewaysClient) BackendHealth(resourceGroupName string, applicationGatewayName string, expand string, cancel <-chan struct{}) (<-chan ApplicationGatewayBackendHealth, <-chan error) { resultChan := make(chan ApplicationGatewayBackendHealth, 1) errChan := make(chan error, 1) @@ -57,8 +52,10 @@ func (client ApplicationGatewaysClient) BackendHealth(resourceGroupName string, var err error var result ApplicationGatewayBackendHealth defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -91,7 +88,7 @@ func (client ApplicationGatewaysClient) BackendHealthPreparer(resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -128,14 +125,12 @@ func (client ApplicationGatewaysClient) BackendHealthResponder(resp *http.Respon return } -// CreateOrUpdate creates or updates the specified application gateway. This -// method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// CreateOrUpdate creates or updates the specified application gateway. This method may poll for completion. Polling +// can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. applicationGatewayName -// is the name of the application gateway. parameters is parameters supplied to -// the create or update application gateway operation. +// resourceGroupName is the name of the resource group. applicationGatewayName is the name of the application gateway. +// parameters is parameters supplied to the create or update application gateway operation. func (client ApplicationGatewaysClient) CreateOrUpdate(resourceGroupName string, applicationGatewayName string, parameters ApplicationGateway, cancel <-chan struct{}) (<-chan ApplicationGateway, <-chan error) { resultChan := make(chan ApplicationGateway, 1) errChan := make(chan error, 1) @@ -158,8 +153,10 @@ func (client ApplicationGatewaysClient) CreateOrUpdate(resourceGroupName string, var err error var result ApplicationGateway defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -192,7 +189,7 @@ func (client ApplicationGatewaysClient) CreateOrUpdatePreparer(resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -228,13 +225,10 @@ func (client ApplicationGatewaysClient) CreateOrUpdateResponder(resp *http.Respo return } -// Delete deletes the specified application gateway. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete deletes the specified application gateway. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. applicationGatewayName -// is the name of the application gateway. +// resourceGroupName is the name of the resource group. applicationGatewayName is the name of the application gateway. func (client ApplicationGatewaysClient) Delete(resourceGroupName string, applicationGatewayName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -242,8 +236,10 @@ func (client ApplicationGatewaysClient) Delete(resourceGroupName string, applica var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -276,7 +272,7 @@ func (client ApplicationGatewaysClient) DeletePreparer(resourceGroupName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -311,8 +307,7 @@ func (client ApplicationGatewaysClient) DeleteResponder(resp *http.Response) (re // Get gets the specified application gateway. // -// resourceGroupName is the name of the resource group. applicationGatewayName -// is the name of the application gateway. +// resourceGroupName is the name of the resource group. applicationGatewayName is the name of the application gateway. func (client ApplicationGatewaysClient) Get(resourceGroupName string, applicationGatewayName string) (result ApplicationGateway, err error) { req, err := client.GetPreparer(resourceGroupName, applicationGatewayName) if err != nil { @@ -343,7 +338,7 @@ func (client ApplicationGatewaysClient) GetPreparer(resourceGroupName string, ap "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -375,6 +370,70 @@ func (client ApplicationGatewaysClient) GetResponder(resp *http.Response) (resul return } +// GetSslPredefinedPolicy gets Ssl predefined policy with the specified policy name. +// +// predefinedPolicyName is name of Ssl predefined policy. +func (client ApplicationGatewaysClient) GetSslPredefinedPolicy(predefinedPolicyName string) (result ApplicationGatewaySslPredefinedPolicy, err error) { + req, err := client.GetSslPredefinedPolicyPreparer(predefinedPolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "GetSslPredefinedPolicy", nil, "Failure preparing request") + return + } + + resp, err := client.GetSslPredefinedPolicySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "GetSslPredefinedPolicy", resp, "Failure sending request") + return + } + + result, err = client.GetSslPredefinedPolicyResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "GetSslPredefinedPolicy", resp, "Failure responding to request") + } + + return +} + +// GetSslPredefinedPolicyPreparer prepares the GetSslPredefinedPolicy request. +func (client ApplicationGatewaysClient) GetSslPredefinedPolicyPreparer(predefinedPolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "predefinedPolicyName": autorest.Encode("path", predefinedPolicyName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/{predefinedPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSslPredefinedPolicySender sends the GetSslPredefinedPolicy request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) GetSslPredefinedPolicySender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetSslPredefinedPolicyResponder handles the response to the GetSslPredefinedPolicy request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) GetSslPredefinedPolicyResponder(resp *http.Response) (result ApplicationGatewaySslPredefinedPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // List lists all application gateways in a resource group. // // resourceGroupName is the name of the resource group. @@ -407,7 +466,7 @@ func (client ApplicationGatewaysClient) ListPreparer(resourceGroupName string) ( "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -463,6 +522,51 @@ func (client ApplicationGatewaysClient) ListNextResults(lastResults ApplicationG return } +// ListComplete gets all elements from the list without paging. +func (client ApplicationGatewaysClient) ListComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan ApplicationGateway, <-chan error) { + resultChan := make(chan ApplicationGateway) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListAll gets all the application gateways in a subscription. func (client ApplicationGatewaysClient) ListAll() (result ApplicationGatewayListResult, err error) { req, err := client.ListAllPreparer() @@ -492,7 +596,7 @@ func (client ApplicationGatewaysClient) ListAllPreparer() (*http.Request, error) "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -548,8 +652,243 @@ func (client ApplicationGatewaysClient) ListAllNextResults(lastResults Applicati return } -// ListAvailableWafRuleSets lists all available web application firewall rule -// sets. +// ListAllComplete gets all elements from the list without paging. +func (client ApplicationGatewaysClient) ListAllComplete(cancel <-chan struct{}) (<-chan ApplicationGateway, <-chan error) { + resultChan := make(chan ApplicationGateway) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAll() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAllNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListAvailableSslOptions lists available Ssl options for configuring Ssl policy. +func (client ApplicationGatewaysClient) ListAvailableSslOptions() (result ApplicationGatewayAvailableSslOptions, err error) { + req, err := client.ListAvailableSslOptionsPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableSslOptions", nil, "Failure preparing request") + return + } + + resp, err := client.ListAvailableSslOptionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableSslOptions", resp, "Failure sending request") + return + } + + result, err = client.ListAvailableSslOptionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableSslOptions", resp, "Failure responding to request") + } + + return +} + +// ListAvailableSslOptionsPreparer prepares the ListAvailableSslOptions request. +func (client ApplicationGatewaysClient) ListAvailableSslOptionsPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListAvailableSslOptionsSender sends the ListAvailableSslOptions request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) ListAvailableSslOptionsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListAvailableSslOptionsResponder handles the response to the ListAvailableSslOptions request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) ListAvailableSslOptionsResponder(resp *http.Response) (result ApplicationGatewayAvailableSslOptions, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListAvailableSslPredefinedPolicies lists all SSL predefined policies for configuring Ssl policy. +func (client ApplicationGatewaysClient) ListAvailableSslPredefinedPolicies() (result ApplicationGatewayAvailableSslPredefinedPolicies, err error) { + req, err := client.ListAvailableSslPredefinedPoliciesPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableSslPredefinedPolicies", nil, "Failure preparing request") + return + } + + resp, err := client.ListAvailableSslPredefinedPoliciesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableSslPredefinedPolicies", resp, "Failure sending request") + return + } + + result, err = client.ListAvailableSslPredefinedPoliciesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableSslPredefinedPolicies", resp, "Failure responding to request") + } + + return +} + +// ListAvailableSslPredefinedPoliciesPreparer prepares the ListAvailableSslPredefinedPolicies request. +func (client ApplicationGatewaysClient) ListAvailableSslPredefinedPoliciesPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListAvailableSslPredefinedPoliciesSender sends the ListAvailableSslPredefinedPolicies request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) ListAvailableSslPredefinedPoliciesSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListAvailableSslPredefinedPoliciesResponder handles the response to the ListAvailableSslPredefinedPolicies request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) ListAvailableSslPredefinedPoliciesResponder(resp *http.Response) (result ApplicationGatewayAvailableSslPredefinedPolicies, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListAvailableSslPredefinedPoliciesNextResults retrieves the next set of results, if any. +func (client ApplicationGatewaysClient) ListAvailableSslPredefinedPoliciesNextResults(lastResults ApplicationGatewayAvailableSslPredefinedPolicies) (result ApplicationGatewayAvailableSslPredefinedPolicies, err error) { + req, err := lastResults.ApplicationGatewayAvailableSslPredefinedPoliciesPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableSslPredefinedPolicies", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListAvailableSslPredefinedPoliciesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableSslPredefinedPolicies", resp, "Failure sending next results request") + } + + result, err = client.ListAvailableSslPredefinedPoliciesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableSslPredefinedPolicies", resp, "Failure responding to next results request") + } + + return +} + +// ListAvailableSslPredefinedPoliciesComplete gets all elements from the list without paging. +func (client ApplicationGatewaysClient) ListAvailableSslPredefinedPoliciesComplete(cancel <-chan struct{}) (<-chan ApplicationGatewaySslPredefinedPolicy, <-chan error) { + resultChan := make(chan ApplicationGatewaySslPredefinedPolicy) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAvailableSslPredefinedPolicies() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAvailableSslPredefinedPoliciesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListAvailableWafRuleSets lists all available web application firewall rule sets. func (client ApplicationGatewaysClient) ListAvailableWafRuleSets() (result ApplicationGatewayAvailableWafRuleSetsResult, err error) { req, err := client.ListAvailableWafRuleSetsPreparer() if err != nil { @@ -578,7 +917,7 @@ func (client ApplicationGatewaysClient) ListAvailableWafRuleSetsPreparer() (*htt "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -610,13 +949,10 @@ func (client ApplicationGatewaysClient) ListAvailableWafRuleSetsResponder(resp * return } -// Start starts the specified application gateway. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Start starts the specified application gateway. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. applicationGatewayName -// is the name of the application gateway. +// resourceGroupName is the name of the resource group. applicationGatewayName is the name of the application gateway. func (client ApplicationGatewaysClient) Start(resourceGroupName string, applicationGatewayName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -624,8 +960,10 @@ func (client ApplicationGatewaysClient) Start(resourceGroupName string, applicat var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -658,7 +996,7 @@ func (client ApplicationGatewaysClient) StartPreparer(resourceGroupName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -691,13 +1029,11 @@ func (client ApplicationGatewaysClient) StartResponder(resp *http.Response) (res return } -// Stop stops the specified application gateway in a resource group. This -// method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// Stop stops the specified application gateway in a resource group. This method may poll for completion. Polling can +// be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding +// HTTP requests. // -// resourceGroupName is the name of the resource group. applicationGatewayName -// is the name of the application gateway. +// resourceGroupName is the name of the resource group. applicationGatewayName is the name of the application gateway. func (client ApplicationGatewaysClient) Stop(resourceGroupName string, applicationGatewayName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -705,8 +1041,10 @@ func (client ApplicationGatewaysClient) Stop(resourceGroupName string, applicati var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -739,7 +1077,7 @@ func (client ApplicationGatewaysClient) StopPreparer(resourceGroupName string, a "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/applicationsecuritygroups.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/applicationsecuritygroups.go new file mode 100644 index 000000000..1e84e7064 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/applicationsecuritygroups.go @@ -0,0 +1,535 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// ApplicationSecurityGroupsClient is the network Client +type ApplicationSecurityGroupsClient struct { + ManagementClient +} + +// NewApplicationSecurityGroupsClient creates an instance of the ApplicationSecurityGroupsClient client. +func NewApplicationSecurityGroupsClient(subscriptionID string) ApplicationSecurityGroupsClient { + return NewApplicationSecurityGroupsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewApplicationSecurityGroupsClientWithBaseURI creates an instance of the ApplicationSecurityGroupsClient client. +func NewApplicationSecurityGroupsClientWithBaseURI(baseURI string, subscriptionID string) ApplicationSecurityGroupsClient { + return ApplicationSecurityGroupsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates an application security group. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. +// +// resourceGroupName is the name of the resource group. applicationSecurityGroupName is the name of the application +// security group. parameters is parameters supplied to the create or update ApplicationSecurityGroup operation. +func (client ApplicationSecurityGroupsClient) CreateOrUpdate(resourceGroupName string, applicationSecurityGroupName string, parameters ApplicationSecurityGroup, cancel <-chan struct{}) (<-chan ApplicationSecurityGroup, <-chan error) { + resultChan := make(chan ApplicationSecurityGroup, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result ApplicationSecurityGroup + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, applicationSecurityGroupName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ApplicationSecurityGroupsClient) CreateOrUpdatePreparer(resourceGroupName string, applicationSecurityGroupName string, parameters ApplicationSecurityGroup, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationSecurityGroupName": autorest.Encode("path", applicationSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationSecurityGroupsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ApplicationSecurityGroupsClient) CreateOrUpdateResponder(resp *http.Response) (result ApplicationSecurityGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusCreated, http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified application security group. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. +// +// resourceGroupName is the name of the resource group. applicationSecurityGroupName is the name of the application +// security group. +func (client ApplicationSecurityGroupsClient) Delete(resourceGroupName string, applicationSecurityGroupName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, applicationSecurityGroupName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// DeletePreparer prepares the Delete request. +func (client ApplicationSecurityGroupsClient) DeletePreparer(resourceGroupName string, applicationSecurityGroupName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationSecurityGroupName": autorest.Encode("path", applicationSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationSecurityGroupsClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ApplicationSecurityGroupsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusNoContent, http.StatusAccepted, http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets information about the specified application security group. +// +// resourceGroupName is the name of the resource group. applicationSecurityGroupName is the name of the application +// security group. +func (client ApplicationSecurityGroupsClient) Get(resourceGroupName string, applicationSecurityGroupName string) (result ApplicationSecurityGroup, err error) { + req, err := client.GetPreparer(resourceGroupName, applicationSecurityGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ApplicationSecurityGroupsClient) GetPreparer(resourceGroupName string, applicationSecurityGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationSecurityGroupName": autorest.Encode("path", applicationSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationSecurityGroupsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ApplicationSecurityGroupsClient) GetResponder(resp *http.Response) (result ApplicationSecurityGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the application security groups in a resource group. +// +// resourceGroupName is the name of the resource group. +func (client ApplicationSecurityGroupsClient) List(resourceGroupName string) (result ApplicationSecurityGroupListResult, err error) { + req, err := client.ListPreparer(resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ApplicationSecurityGroupsClient) ListPreparer(resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationSecurityGroupsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ApplicationSecurityGroupsClient) ListResponder(resp *http.Response) (result ApplicationSecurityGroupListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client ApplicationSecurityGroupsClient) ListNextResults(lastResults ApplicationSecurityGroupListResult) (result ApplicationSecurityGroupListResult, err error) { + req, err := lastResults.ApplicationSecurityGroupListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client ApplicationSecurityGroupsClient) ListComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan ApplicationSecurityGroup, <-chan error) { + resultChan := make(chan ApplicationSecurityGroup) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListAll gets all application security groups in a subscription. +func (client ApplicationSecurityGroupsClient) ListAll() (result ApplicationSecurityGroupListResult, err error) { + req, err := client.ListAllPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "ListAll", resp, "Failure sending request") + return + } + + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client ApplicationSecurityGroupsClient) ListAllPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationSecurityGroups", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationSecurityGroupsClient) ListAllSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client ApplicationSecurityGroupsClient) ListAllResponder(resp *http.Response) (result ApplicationSecurityGroupListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListAllNextResults retrieves the next set of results, if any. +func (client ApplicationSecurityGroupsClient) ListAllNextResults(lastResults ApplicationSecurityGroupListResult) (result ApplicationSecurityGroupListResult, err error) { + req, err := lastResults.ApplicationSecurityGroupListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "ListAll", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "ListAll", resp, "Failure sending next results request") + } + + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "ListAll", resp, "Failure responding to next results request") + } + + return +} + +// ListAllComplete gets all elements from the list without paging. +func (client ApplicationSecurityGroupsClient) ListAllComplete(cancel <-chan struct{}) (<-chan ApplicationSecurityGroup, <-chan error) { + resultChan := make(chan ApplicationSecurityGroup) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAll() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAllNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/availableendpointservices.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/availableendpointservices.go new file mode 100644 index 000000000..26bcaf8b6 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/availableendpointservices.go @@ -0,0 +1,172 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// AvailableEndpointServicesClient is the network Client +type AvailableEndpointServicesClient struct { + ManagementClient +} + +// NewAvailableEndpointServicesClient creates an instance of the AvailableEndpointServicesClient client. +func NewAvailableEndpointServicesClient(subscriptionID string) AvailableEndpointServicesClient { + return NewAvailableEndpointServicesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAvailableEndpointServicesClientWithBaseURI creates an instance of the AvailableEndpointServicesClient client. +func NewAvailableEndpointServicesClientWithBaseURI(baseURI string, subscriptionID string) AvailableEndpointServicesClient { + return AvailableEndpointServicesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List list what values of endpoint services are available for use. +// +// location is the location to check available endpoint services. +func (client AvailableEndpointServicesClient) List(location string) (result EndpointServicesListResult, err error) { + req, err := client.ListPreparer(location) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableEndpointServicesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.AvailableEndpointServicesClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableEndpointServicesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client AvailableEndpointServicesClient) ListPreparer(location string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/virtualNetworkAvailableEndpointServices", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client AvailableEndpointServicesClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client AvailableEndpointServicesClient) ListResponder(resp *http.Response) (result EndpointServicesListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client AvailableEndpointServicesClient) ListNextResults(lastResults EndpointServicesListResult) (result EndpointServicesListResult, err error) { + req, err := lastResults.EndpointServicesListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "network.AvailableEndpointServicesClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.AvailableEndpointServicesClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableEndpointServicesClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client AvailableEndpointServicesClient) ListComplete(location string, cancel <-chan struct{}) (<-chan EndpointServiceResult, <-chan error) { + resultChan := make(chan EndpointServiceResult) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(location) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/bgpservicecommunities.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/bgpservicecommunities.go index 5024f5164..10cfa2cdd 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/bgpservicecommunities.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/bgpservicecommunities.go @@ -14,9 +14,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,19 +23,17 @@ import ( "net/http" ) -// BgpServiceCommunitiesClient is the composite Swagger for Network Client +// BgpServiceCommunitiesClient is the network Client type BgpServiceCommunitiesClient struct { ManagementClient } -// NewBgpServiceCommunitiesClient creates an instance of the -// BgpServiceCommunitiesClient client. +// NewBgpServiceCommunitiesClient creates an instance of the BgpServiceCommunitiesClient client. func NewBgpServiceCommunitiesClient(subscriptionID string) BgpServiceCommunitiesClient { return NewBgpServiceCommunitiesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewBgpServiceCommunitiesClientWithBaseURI creates an instance of the -// BgpServiceCommunitiesClient client. +// NewBgpServiceCommunitiesClientWithBaseURI creates an instance of the BgpServiceCommunitiesClient client. func NewBgpServiceCommunitiesClientWithBaseURI(baseURI string, subscriptionID string) BgpServiceCommunitiesClient { return BgpServiceCommunitiesClient{NewWithBaseURI(baseURI, subscriptionID)} } @@ -70,7 +67,7 @@ func (client BgpServiceCommunitiesClient) ListPreparer() (*http.Request, error) "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -125,3 +122,48 @@ func (client BgpServiceCommunitiesClient) ListNextResults(lastResults BgpService return } + +// ListComplete gets all elements from the list without paging. +func (client BgpServiceCommunitiesClient) ListComplete(cancel <-chan struct{}) (<-chan BgpServiceCommunity, <-chan error) { + resultChan := make(chan BgpServiceCommunity) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/client.go index ec5bf7ced..a3576c393 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/client.go @@ -1,6 +1,6 @@ // Package network implements the Azure ARM Network service API version . // -// Composite Swagger for Network Client +// Network Client package network // Copyright (c) Microsoft and contributors. All rights reserved. @@ -17,9 +17,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -53,12 +52,10 @@ func NewWithBaseURI(baseURI string, subscriptionID string) ManagementClient { } } -// CheckDNSNameAvailability checks whether a domain name in the cloudapp.net -// zone is available for use. +// CheckDNSNameAvailability checks whether a domain name in the cloudapp.azure.com zone is available for use. // -// location is the location of the domain name. domainNameLabel is the domain -// name to be verified. It must conform to the following regular expression: -// ^[a-z][a-z0-9-]{1,61}[a-z0-9]$. +// location is the location of the domain name. domainNameLabel is the domain name to be verified. It must conform to +// the following regular expression: ^[a-z][a-z0-9-]{1,61}[a-z0-9]$. func (client ManagementClient) CheckDNSNameAvailability(location string, domainNameLabel string) (result DNSNameAvailabilityResult, err error) { req, err := client.CheckDNSNameAvailabilityPreparer(location, domainNameLabel) if err != nil { @@ -88,12 +85,10 @@ func (client ManagementClient) CheckDNSNameAvailabilityPreparer(location string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(domainNameLabel) > 0 { - queryParameters["domainNameLabel"] = autorest.Encode("query", domainNameLabel) + "api-version": APIVersion, + "domainNameLabel": autorest.Encode("query", domainNameLabel), } preparer := autorest.CreatePreparer( diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/defaultsecurityrules.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/defaultsecurityrules.go new file mode 100644 index 000000000..9a3ded19d --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/defaultsecurityrules.go @@ -0,0 +1,241 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// DefaultSecurityRulesClient is the network Client +type DefaultSecurityRulesClient struct { + ManagementClient +} + +// NewDefaultSecurityRulesClient creates an instance of the DefaultSecurityRulesClient client. +func NewDefaultSecurityRulesClient(subscriptionID string) DefaultSecurityRulesClient { + return NewDefaultSecurityRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDefaultSecurityRulesClientWithBaseURI creates an instance of the DefaultSecurityRulesClient client. +func NewDefaultSecurityRulesClientWithBaseURI(baseURI string, subscriptionID string) DefaultSecurityRulesClient { + return DefaultSecurityRulesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get get the specified default network security rule. +// +// resourceGroupName is the name of the resource group. networkSecurityGroupName is the name of the network security +// group. defaultSecurityRuleName is the name of the default security rule. +func (client DefaultSecurityRulesClient) Get(resourceGroupName string, networkSecurityGroupName string, defaultSecurityRuleName string) (result SecurityRule, err error) { + req, err := client.GetPreparer(resourceGroupName, networkSecurityGroupName, defaultSecurityRuleName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DefaultSecurityRulesClient) GetPreparer(resourceGroupName string, networkSecurityGroupName string, defaultSecurityRuleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "defaultSecurityRuleName": autorest.Encode("path", defaultSecurityRuleName), + "networkSecurityGroupName": autorest.Encode("path", networkSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules/{defaultSecurityRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DefaultSecurityRulesClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DefaultSecurityRulesClient) GetResponder(resp *http.Response) (result SecurityRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all default security rules in a network security group. +// +// resourceGroupName is the name of the resource group. networkSecurityGroupName is the name of the network security +// group. +func (client DefaultSecurityRulesClient) List(resourceGroupName string, networkSecurityGroupName string) (result SecurityRuleListResult, err error) { + req, err := client.ListPreparer(resourceGroupName, networkSecurityGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client DefaultSecurityRulesClient) ListPreparer(resourceGroupName string, networkSecurityGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkSecurityGroupName": autorest.Encode("path", networkSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client DefaultSecurityRulesClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client DefaultSecurityRulesClient) ListResponder(resp *http.Response) (result SecurityRuleListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client DefaultSecurityRulesClient) ListNextResults(lastResults SecurityRuleListResult) (result SecurityRuleListResult, err error) { + req, err := lastResults.SecurityRuleListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client DefaultSecurityRulesClient) ListComplete(resourceGroupName string, networkSecurityGroupName string, cancel <-chan struct{}) (<-chan SecurityRule, <-chan error) { + resultChan := make(chan SecurityRule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, networkSecurityGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/expressroutecircuitauthorizations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/expressroutecircuitauthorizations.go index feb974fb9..9b7fd524e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/expressroutecircuitauthorizations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/expressroutecircuitauthorizations.go @@ -14,9 +14,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,33 +23,30 @@ import ( "net/http" ) -// ExpressRouteCircuitAuthorizationsClient is the composite Swagger for Network -// Client +// ExpressRouteCircuitAuthorizationsClient is the network Client type ExpressRouteCircuitAuthorizationsClient struct { ManagementClient } -// NewExpressRouteCircuitAuthorizationsClient creates an instance of the -// ExpressRouteCircuitAuthorizationsClient client. +// NewExpressRouteCircuitAuthorizationsClient creates an instance of the ExpressRouteCircuitAuthorizationsClient +// client. func NewExpressRouteCircuitAuthorizationsClient(subscriptionID string) ExpressRouteCircuitAuthorizationsClient { return NewExpressRouteCircuitAuthorizationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewExpressRouteCircuitAuthorizationsClientWithBaseURI creates an instance of -// the ExpressRouteCircuitAuthorizationsClient client. +// NewExpressRouteCircuitAuthorizationsClientWithBaseURI creates an instance of the +// ExpressRouteCircuitAuthorizationsClient client. func NewExpressRouteCircuitAuthorizationsClientWithBaseURI(baseURI string, subscriptionID string) ExpressRouteCircuitAuthorizationsClient { return ExpressRouteCircuitAuthorizationsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates an authorization in the specified express -// route circuit. This method may poll for completion. Polling can be canceled -// by passing the cancel channel argument. The channel will be used to cancel +// CreateOrUpdate creates or updates an authorization in the specified express route circuit. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel // polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. circuitName is the name -// of the express route circuit. authorizationName is the name of the -// authorization. authorizationParameters is parameters supplied to the create -// or update express route circuit authorization operation. +// resourceGroupName is the name of the resource group. circuitName is the name of the express route circuit. +// authorizationName is the name of the authorization. authorizationParameters is parameters supplied to the create or +// update express route circuit authorization operation. func (client ExpressRouteCircuitAuthorizationsClient) CreateOrUpdate(resourceGroupName string, circuitName string, authorizationName string, authorizationParameters ExpressRouteCircuitAuthorization, cancel <-chan struct{}) (<-chan ExpressRouteCircuitAuthorization, <-chan error) { resultChan := make(chan ExpressRouteCircuitAuthorization, 1) errChan := make(chan error, 1) @@ -58,8 +54,10 @@ func (client ExpressRouteCircuitAuthorizationsClient) CreateOrUpdate(resourceGro var err error var result ExpressRouteCircuitAuthorization defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -93,7 +91,7 @@ func (client ExpressRouteCircuitAuthorizationsClient) CreateOrUpdatePreparer(res "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -129,14 +127,12 @@ func (client ExpressRouteCircuitAuthorizationsClient) CreateOrUpdateResponder(re return } -// Delete deletes the specified authorization from the specified express route -// circuit. This method may poll for completion. Polling can be canceled by -// passing the cancel channel argument. The channel will be used to cancel +// Delete deletes the specified authorization from the specified express route circuit. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel // polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. circuitName is the name -// of the express route circuit. authorizationName is the name of the -// authorization. +// resourceGroupName is the name of the resource group. circuitName is the name of the express route circuit. +// authorizationName is the name of the authorization. func (client ExpressRouteCircuitAuthorizationsClient) Delete(resourceGroupName string, circuitName string, authorizationName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -144,8 +140,10 @@ func (client ExpressRouteCircuitAuthorizationsClient) Delete(resourceGroupName s var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -179,7 +177,7 @@ func (client ExpressRouteCircuitAuthorizationsClient) DeletePreparer(resourceGro "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -212,12 +210,10 @@ func (client ExpressRouteCircuitAuthorizationsClient) DeleteResponder(resp *http return } -// Get gets the specified authorization from the specified express route -// circuit. +// Get gets the specified authorization from the specified express route circuit. // -// resourceGroupName is the name of the resource group. circuitName is the name -// of the express route circuit. authorizationName is the name of the -// authorization. +// resourceGroupName is the name of the resource group. circuitName is the name of the express route circuit. +// authorizationName is the name of the authorization. func (client ExpressRouteCircuitAuthorizationsClient) Get(resourceGroupName string, circuitName string, authorizationName string) (result ExpressRouteCircuitAuthorization, err error) { req, err := client.GetPreparer(resourceGroupName, circuitName, authorizationName) if err != nil { @@ -249,7 +245,7 @@ func (client ExpressRouteCircuitAuthorizationsClient) GetPreparer(resourceGroupN "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -283,8 +279,7 @@ func (client ExpressRouteCircuitAuthorizationsClient) GetResponder(resp *http.Re // List gets all authorizations in an express route circuit. // -// resourceGroupName is the name of the resource group. circuitName is the name -// of the circuit. +// resourceGroupName is the name of the resource group. circuitName is the name of the circuit. func (client ExpressRouteCircuitAuthorizationsClient) List(resourceGroupName string, circuitName string) (result AuthorizationListResult, err error) { req, err := client.ListPreparer(resourceGroupName, circuitName) if err != nil { @@ -315,7 +310,7 @@ func (client ExpressRouteCircuitAuthorizationsClient) ListPreparer(resourceGroup "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -370,3 +365,48 @@ func (client ExpressRouteCircuitAuthorizationsClient) ListNextResults(lastResult return } + +// ListComplete gets all elements from the list without paging. +func (client ExpressRouteCircuitAuthorizationsClient) ListComplete(resourceGroupName string, circuitName string, cancel <-chan struct{}) (<-chan ExpressRouteCircuitAuthorization, <-chan error) { + resultChan := make(chan ExpressRouteCircuitAuthorization) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, circuitName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/expressroutecircuitpeerings.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/expressroutecircuitpeerings.go index 28b926f24..af9fc67e0 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/expressroutecircuitpeerings.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/expressroutecircuitpeerings.go @@ -14,9 +14,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,32 +23,27 @@ import ( "net/http" ) -// ExpressRouteCircuitPeeringsClient is the composite Swagger for Network -// Client +// ExpressRouteCircuitPeeringsClient is the network Client type ExpressRouteCircuitPeeringsClient struct { ManagementClient } -// NewExpressRouteCircuitPeeringsClient creates an instance of the -// ExpressRouteCircuitPeeringsClient client. +// NewExpressRouteCircuitPeeringsClient creates an instance of the ExpressRouteCircuitPeeringsClient client. func NewExpressRouteCircuitPeeringsClient(subscriptionID string) ExpressRouteCircuitPeeringsClient { return NewExpressRouteCircuitPeeringsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewExpressRouteCircuitPeeringsClientWithBaseURI creates an instance of the -// ExpressRouteCircuitPeeringsClient client. +// NewExpressRouteCircuitPeeringsClientWithBaseURI creates an instance of the ExpressRouteCircuitPeeringsClient client. func NewExpressRouteCircuitPeeringsClientWithBaseURI(baseURI string, subscriptionID string) ExpressRouteCircuitPeeringsClient { return ExpressRouteCircuitPeeringsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates a peering in the specified express route -// circuits. This method may poll for completion. Polling can be canceled by -// passing the cancel channel argument. The channel will be used to cancel +// CreateOrUpdate creates or updates a peering in the specified express route circuits. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel // polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. circuitName is the name -// of the express route circuit. peeringName is the name of the peering. -// peeringParameters is parameters supplied to the create or update express +// resourceGroupName is the name of the resource group. circuitName is the name of the express route circuit. +// peeringName is the name of the peering. peeringParameters is parameters supplied to the create or update express // route circuit peering operation. func (client ExpressRouteCircuitPeeringsClient) CreateOrUpdate(resourceGroupName string, circuitName string, peeringName string, peeringParameters ExpressRouteCircuitPeering, cancel <-chan struct{}) (<-chan ExpressRouteCircuitPeering, <-chan error) { resultChan := make(chan ExpressRouteCircuitPeering, 1) @@ -58,8 +52,10 @@ func (client ExpressRouteCircuitPeeringsClient) CreateOrUpdate(resourceGroupName var err error var result ExpressRouteCircuitPeering defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -93,7 +89,7 @@ func (client ExpressRouteCircuitPeeringsClient) CreateOrUpdatePreparer(resourceG "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -129,13 +125,12 @@ func (client ExpressRouteCircuitPeeringsClient) CreateOrUpdateResponder(resp *ht return } -// Delete deletes the specified peering from the specified express route -// circuit. This method may poll for completion. Polling can be canceled by -// passing the cancel channel argument. The channel will be used to cancel -// polling and any outstanding HTTP requests. +// Delete deletes the specified peering from the specified express route circuit. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. circuitName is the name -// of the express route circuit. peeringName is the name of the peering. +// resourceGroupName is the name of the resource group. circuitName is the name of the express route circuit. +// peeringName is the name of the peering. func (client ExpressRouteCircuitPeeringsClient) Delete(resourceGroupName string, circuitName string, peeringName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -143,8 +138,10 @@ func (client ExpressRouteCircuitPeeringsClient) Delete(resourceGroupName string, var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -178,7 +175,7 @@ func (client ExpressRouteCircuitPeeringsClient) DeletePreparer(resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -211,11 +208,10 @@ func (client ExpressRouteCircuitPeeringsClient) DeleteResponder(resp *http.Respo return } -// Get gets the specified authorization from the specified express route -// circuit. +// Get gets the specified authorization from the specified express route circuit. // -// resourceGroupName is the name of the resource group. circuitName is the name -// of the express route circuit. peeringName is the name of the peering. +// resourceGroupName is the name of the resource group. circuitName is the name of the express route circuit. +// peeringName is the name of the peering. func (client ExpressRouteCircuitPeeringsClient) Get(resourceGroupName string, circuitName string, peeringName string) (result ExpressRouteCircuitPeering, err error) { req, err := client.GetPreparer(resourceGroupName, circuitName, peeringName) if err != nil { @@ -247,7 +243,7 @@ func (client ExpressRouteCircuitPeeringsClient) GetPreparer(resourceGroupName st "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -281,8 +277,7 @@ func (client ExpressRouteCircuitPeeringsClient) GetResponder(resp *http.Response // List gets all peerings in a specified express route circuit. // -// resourceGroupName is the name of the resource group. circuitName is the name -// of the express route circuit. +// resourceGroupName is the name of the resource group. circuitName is the name of the express route circuit. func (client ExpressRouteCircuitPeeringsClient) List(resourceGroupName string, circuitName string) (result ExpressRouteCircuitPeeringListResult, err error) { req, err := client.ListPreparer(resourceGroupName, circuitName) if err != nil { @@ -313,7 +308,7 @@ func (client ExpressRouteCircuitPeeringsClient) ListPreparer(resourceGroupName s "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -368,3 +363,48 @@ func (client ExpressRouteCircuitPeeringsClient) ListNextResults(lastResults Expr return } + +// ListComplete gets all elements from the list without paging. +func (client ExpressRouteCircuitPeeringsClient) ListComplete(resourceGroupName string, circuitName string, cancel <-chan struct{}) (<-chan ExpressRouteCircuitPeering, <-chan error) { + resultChan := make(chan ExpressRouteCircuitPeering) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, circuitName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/expressroutecircuits.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/expressroutecircuits.go index b60aa10a4..63cfeff9e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/expressroutecircuits.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/expressroutecircuits.go @@ -14,9 +14,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,31 +23,27 @@ import ( "net/http" ) -// ExpressRouteCircuitsClient is the composite Swagger for Network Client +// ExpressRouteCircuitsClient is the network Client type ExpressRouteCircuitsClient struct { ManagementClient } -// NewExpressRouteCircuitsClient creates an instance of the -// ExpressRouteCircuitsClient client. +// NewExpressRouteCircuitsClient creates an instance of the ExpressRouteCircuitsClient client. func NewExpressRouteCircuitsClient(subscriptionID string) ExpressRouteCircuitsClient { return NewExpressRouteCircuitsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewExpressRouteCircuitsClientWithBaseURI creates an instance of the -// ExpressRouteCircuitsClient client. +// NewExpressRouteCircuitsClientWithBaseURI creates an instance of the ExpressRouteCircuitsClient client. func NewExpressRouteCircuitsClientWithBaseURI(baseURI string, subscriptionID string) ExpressRouteCircuitsClient { return ExpressRouteCircuitsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates an express route circuit. This method may -// poll for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// CreateOrUpdate creates or updates an express route circuit. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group. circuitName is the name -// of the circuit. parameters is parameters supplied to the create or update -// express route circuit operation. +// resourceGroupName is the name of the resource group. circuitName is the name of the circuit. parameters is +// parameters supplied to the create or update express route circuit operation. func (client ExpressRouteCircuitsClient) CreateOrUpdate(resourceGroupName string, circuitName string, parameters ExpressRouteCircuit, cancel <-chan struct{}) (<-chan ExpressRouteCircuit, <-chan error) { resultChan := make(chan ExpressRouteCircuit, 1) errChan := make(chan error, 1) @@ -56,8 +51,10 @@ func (client ExpressRouteCircuitsClient) CreateOrUpdate(resourceGroupName string var err error var result ExpressRouteCircuit defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -90,7 +87,7 @@ func (client ExpressRouteCircuitsClient) CreateOrUpdatePreparer(resourceGroupNam "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -126,13 +123,10 @@ func (client ExpressRouteCircuitsClient) CreateOrUpdateResponder(resp *http.Resp return } -// Delete deletes the specified express route circuit. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete deletes the specified express route circuit. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. circuitName is the name -// of the express route circuit. +// resourceGroupName is the name of the resource group. circuitName is the name of the express route circuit. func (client ExpressRouteCircuitsClient) Delete(resourceGroupName string, circuitName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -140,8 +134,10 @@ func (client ExpressRouteCircuitsClient) Delete(resourceGroupName string, circui var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -174,7 +170,7 @@ func (client ExpressRouteCircuitsClient) DeletePreparer(resourceGroupName string "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -209,8 +205,7 @@ func (client ExpressRouteCircuitsClient) DeleteResponder(resp *http.Response) (r // Get gets information about the specified express route circuit. // -// resourceGroupName is the name of the resource group. circuitName is the name -// of express route circuit. +// resourceGroupName is the name of the resource group. circuitName is the name of express route circuit. func (client ExpressRouteCircuitsClient) Get(resourceGroupName string, circuitName string) (result ExpressRouteCircuit, err error) { req, err := client.GetPreparer(resourceGroupName, circuitName) if err != nil { @@ -241,7 +236,7 @@ func (client ExpressRouteCircuitsClient) GetPreparer(resourceGroupName string, c "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -273,11 +268,10 @@ func (client ExpressRouteCircuitsClient) GetResponder(resp *http.Response) (resu return } -// GetPeeringStats gets all stats from an express route circuit in a resource -// group. +// GetPeeringStats gets all stats from an express route circuit in a resource group. // -// resourceGroupName is the name of the resource group. circuitName is the name -// of the express route circuit. peeringName is the name of the peering. +// resourceGroupName is the name of the resource group. circuitName is the name of the express route circuit. +// peeringName is the name of the peering. func (client ExpressRouteCircuitsClient) GetPeeringStats(resourceGroupName string, circuitName string, peeringName string) (result ExpressRouteCircuitStats, err error) { req, err := client.GetPeeringStatsPreparer(resourceGroupName, circuitName, peeringName) if err != nil { @@ -309,7 +303,7 @@ func (client ExpressRouteCircuitsClient) GetPeeringStatsPreparer(resourceGroupNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -341,11 +335,9 @@ func (client ExpressRouteCircuitsClient) GetPeeringStatsResponder(resp *http.Res return } -// GetStats gets all the stats from an express route circuit in a resource -// group. +// GetStats gets all the stats from an express route circuit in a resource group. // -// resourceGroupName is the name of the resource group. circuitName is the name -// of the express route circuit. +// resourceGroupName is the name of the resource group. circuitName is the name of the express route circuit. func (client ExpressRouteCircuitsClient) GetStats(resourceGroupName string, circuitName string) (result ExpressRouteCircuitStats, err error) { req, err := client.GetStatsPreparer(resourceGroupName, circuitName) if err != nil { @@ -376,7 +368,7 @@ func (client ExpressRouteCircuitsClient) GetStatsPreparer(resourceGroupName stri "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -440,7 +432,7 @@ func (client ExpressRouteCircuitsClient) ListPreparer(resourceGroupName string) "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -496,6 +488,51 @@ func (client ExpressRouteCircuitsClient) ListNextResults(lastResults ExpressRout return } +// ListComplete gets all elements from the list without paging. +func (client ExpressRouteCircuitsClient) ListComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan ExpressRouteCircuit, <-chan error) { + resultChan := make(chan ExpressRouteCircuit) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListAll gets all the express route circuits in a subscription. func (client ExpressRouteCircuitsClient) ListAll() (result ExpressRouteCircuitListResult, err error) { req, err := client.ListAllPreparer() @@ -525,7 +562,7 @@ func (client ExpressRouteCircuitsClient) ListAllPreparer() (*http.Request, error "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -581,15 +618,57 @@ func (client ExpressRouteCircuitsClient) ListAllNextResults(lastResults ExpressR return } -// ListArpTable gets the currently advertised ARP table associated with the -// express route circuit in a resource group. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// ListAllComplete gets all elements from the list without paging. +func (client ExpressRouteCircuitsClient) ListAllComplete(cancel <-chan struct{}) (<-chan ExpressRouteCircuit, <-chan error) { + resultChan := make(chan ExpressRouteCircuit) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAll() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAllNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListArpTable gets the currently advertised ARP table associated with the express route circuit in a resource group. +// This method may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel +// will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. circuitName is the name -// of the express route circuit. peeringName is the name of the peering. -// devicePath is the path of the device. +// resourceGroupName is the name of the resource group. circuitName is the name of the express route circuit. +// peeringName is the name of the peering. devicePath is the path of the device. func (client ExpressRouteCircuitsClient) ListArpTable(resourceGroupName string, circuitName string, peeringName string, devicePath string, cancel <-chan struct{}) (<-chan ExpressRouteCircuitsArpTableListResult, <-chan error) { resultChan := make(chan ExpressRouteCircuitsArpTableListResult, 1) errChan := make(chan error, 1) @@ -597,8 +676,10 @@ func (client ExpressRouteCircuitsClient) ListArpTable(resourceGroupName string, var err error var result ExpressRouteCircuitsArpTableListResult defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -633,7 +714,7 @@ func (client ExpressRouteCircuitsClient) ListArpTablePreparer(resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -667,15 +748,12 @@ func (client ExpressRouteCircuitsClient) ListArpTableResponder(resp *http.Respon return } -// ListRoutesTable gets the currently advertised routes table associated with -// the express route circuit in a resource group. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// ListRoutesTable gets the currently advertised routes table associated with the express route circuit in a resource +// group. This method may poll for completion. Polling can be canceled by passing the cancel channel argument. The +// channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. circuitName is the name -// of the express route circuit. peeringName is the name of the peering. -// devicePath is the path of the device. +// resourceGroupName is the name of the resource group. circuitName is the name of the express route circuit. +// peeringName is the name of the peering. devicePath is the path of the device. func (client ExpressRouteCircuitsClient) ListRoutesTable(resourceGroupName string, circuitName string, peeringName string, devicePath string, cancel <-chan struct{}) (<-chan ExpressRouteCircuitsRoutesTableListResult, <-chan error) { resultChan := make(chan ExpressRouteCircuitsRoutesTableListResult, 1) errChan := make(chan error, 1) @@ -683,8 +761,10 @@ func (client ExpressRouteCircuitsClient) ListRoutesTable(resourceGroupName strin var err error var result ExpressRouteCircuitsRoutesTableListResult defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -719,7 +799,7 @@ func (client ExpressRouteCircuitsClient) ListRoutesTablePreparer(resourceGroupNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -753,15 +833,12 @@ func (client ExpressRouteCircuitsClient) ListRoutesTableResponder(resp *http.Res return } -// ListRoutesTableSummary gets the currently advertised routes table summary -// associated with the express route circuit in a resource group. This method -// may poll for completion. Polling can be canceled by passing the cancel -// channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// ListRoutesTableSummary gets the currently advertised routes table summary associated with the express route circuit +// in a resource group. This method may poll for completion. Polling can be canceled by passing the cancel channel +// argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. circuitName is the name -// of the express route circuit. peeringName is the name of the peering. -// devicePath is the path of the device. +// resourceGroupName is the name of the resource group. circuitName is the name of the express route circuit. +// peeringName is the name of the peering. devicePath is the path of the device. func (client ExpressRouteCircuitsClient) ListRoutesTableSummary(resourceGroupName string, circuitName string, peeringName string, devicePath string, cancel <-chan struct{}) (<-chan ExpressRouteCircuitsRoutesTableSummaryListResult, <-chan error) { resultChan := make(chan ExpressRouteCircuitsRoutesTableSummaryListResult, 1) errChan := make(chan error, 1) @@ -769,8 +846,10 @@ func (client ExpressRouteCircuitsClient) ListRoutesTableSummary(resourceGroupNam var err error var result ExpressRouteCircuitsRoutesTableSummaryListResult defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -805,7 +884,7 @@ func (client ExpressRouteCircuitsClient) ListRoutesTableSummaryPreparer(resource "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/expressrouteserviceproviders.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/expressrouteserviceproviders.go index 94db9a4f6..5e39087b2 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/expressrouteserviceproviders.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/expressrouteserviceproviders.go @@ -14,9 +14,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,20 +23,18 @@ import ( "net/http" ) -// ExpressRouteServiceProvidersClient is the composite Swagger for Network -// Client +// ExpressRouteServiceProvidersClient is the network Client type ExpressRouteServiceProvidersClient struct { ManagementClient } -// NewExpressRouteServiceProvidersClient creates an instance of the -// ExpressRouteServiceProvidersClient client. +// NewExpressRouteServiceProvidersClient creates an instance of the ExpressRouteServiceProvidersClient client. func NewExpressRouteServiceProvidersClient(subscriptionID string) ExpressRouteServiceProvidersClient { return NewExpressRouteServiceProvidersClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewExpressRouteServiceProvidersClientWithBaseURI creates an instance of the -// ExpressRouteServiceProvidersClient client. +// NewExpressRouteServiceProvidersClientWithBaseURI creates an instance of the ExpressRouteServiceProvidersClient +// client. func NewExpressRouteServiceProvidersClientWithBaseURI(baseURI string, subscriptionID string) ExpressRouteServiceProvidersClient { return ExpressRouteServiceProvidersClient{NewWithBaseURI(baseURI, subscriptionID)} } @@ -71,7 +68,7 @@ func (client ExpressRouteServiceProvidersClient) ListPreparer() (*http.Request, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -126,3 +123,48 @@ func (client ExpressRouteServiceProvidersClient) ListNextResults(lastResults Exp return } + +// ListComplete gets all elements from the list without paging. +func (client ExpressRouteServiceProvidersClient) ListComplete(cancel <-chan struct{}) (<-chan ExpressRouteServiceProvider, <-chan error) { + resultChan := make(chan ExpressRouteServiceProvider) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/inboundnatrules.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/inboundnatrules.go new file mode 100644 index 000000000..eab80ac57 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/inboundnatrules.go @@ -0,0 +1,436 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// InboundNatRulesClient is the network Client +type InboundNatRulesClient struct { + ManagementClient +} + +// NewInboundNatRulesClient creates an instance of the InboundNatRulesClient client. +func NewInboundNatRulesClient(subscriptionID string) InboundNatRulesClient { + return NewInboundNatRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewInboundNatRulesClientWithBaseURI creates an instance of the InboundNatRulesClient client. +func NewInboundNatRulesClientWithBaseURI(baseURI string, subscriptionID string) InboundNatRulesClient { + return InboundNatRulesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a load balancer inbound nat rule. This method may poll for completion. Polling can +// be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding +// HTTP requests. +// +// resourceGroupName is the name of the resource group. loadBalancerName is the name of the load balancer. +// inboundNatRuleName is the name of the inbound nat rule. inboundNatRuleParameters is parameters supplied to the +// create or update inbound nat rule operation. +func (client InboundNatRulesClient) CreateOrUpdate(resourceGroupName string, loadBalancerName string, inboundNatRuleName string, inboundNatRuleParameters InboundNatRule, cancel <-chan struct{}) (<-chan InboundNatRule, <-chan error) { + resultChan := make(chan InboundNatRule, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: inboundNatRuleParameters, + Constraints: []validation.Constraint{{Target: "inboundNatRuleParameters.InboundNatRulePropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "inboundNatRuleParameters.InboundNatRulePropertiesFormat.BackendIPConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "inboundNatRuleParameters.InboundNatRulePropertiesFormat.BackendIPConfiguration.InterfaceIPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "inboundNatRuleParameters.InboundNatRulePropertiesFormat.BackendIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "inboundNatRuleParameters.InboundNatRulePropertiesFormat.BackendIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "inboundNatRuleParameters.InboundNatRulePropertiesFormat.BackendIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "inboundNatRuleParameters.InboundNatRulePropertiesFormat.BackendIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "inboundNatRuleParameters.InboundNatRulePropertiesFormat.BackendIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, Chain: nil}}}, + }}, + }}, + }}, + }}, + }}, + }}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "network.InboundNatRulesClient", "CreateOrUpdate") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result InboundNatRule + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, loadBalancerName, inboundNatRuleName, inboundNatRuleParameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client InboundNatRulesClient) CreateOrUpdatePreparer(resourceGroupName string, loadBalancerName string, inboundNatRuleName string, inboundNatRuleParameters InboundNatRule, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "inboundNatRuleName": autorest.Encode("path", inboundNatRuleName), + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}", pathParameters), + autorest.WithJSON(inboundNatRuleParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client InboundNatRulesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client InboundNatRulesClient) CreateOrUpdateResponder(resp *http.Response) (result InboundNatRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusCreated, http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified load balancer inbound nat rule. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. +// +// resourceGroupName is the name of the resource group. loadBalancerName is the name of the load balancer. +// inboundNatRuleName is the name of the inbound nat rule. +func (client InboundNatRulesClient) Delete(resourceGroupName string, loadBalancerName string, inboundNatRuleName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, loadBalancerName, inboundNatRuleName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// DeletePreparer prepares the Delete request. +func (client InboundNatRulesClient) DeletePreparer(resourceGroupName string, loadBalancerName string, inboundNatRuleName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "inboundNatRuleName": autorest.Encode("path", inboundNatRuleName), + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client InboundNatRulesClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client InboundNatRulesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusNoContent, http.StatusAccepted, http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified load balancer inbound nat rule. +// +// resourceGroupName is the name of the resource group. loadBalancerName is the name of the load balancer. +// inboundNatRuleName is the name of the inbound nat rule. expand is expands referenced resources. +func (client InboundNatRulesClient) Get(resourceGroupName string, loadBalancerName string, inboundNatRuleName string, expand string) (result InboundNatRule, err error) { + req, err := client.GetPreparer(resourceGroupName, loadBalancerName, inboundNatRuleName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client InboundNatRulesClient) GetPreparer(resourceGroupName string, loadBalancerName string, inboundNatRuleName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "inboundNatRuleName": autorest.Encode("path", inboundNatRuleName), + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client InboundNatRulesClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client InboundNatRulesClient) GetResponder(resp *http.Response) (result InboundNatRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the inbound nat rules in a load balancer. +// +// resourceGroupName is the name of the resource group. loadBalancerName is the name of the load balancer. +func (client InboundNatRulesClient) List(resourceGroupName string, loadBalancerName string) (result InboundNatRuleListResult, err error) { + req, err := client.ListPreparer(resourceGroupName, loadBalancerName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client InboundNatRulesClient) ListPreparer(resourceGroupName string, loadBalancerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client InboundNatRulesClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client InboundNatRulesClient) ListResponder(resp *http.Response) (result InboundNatRuleListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client InboundNatRulesClient) ListNextResults(lastResults InboundNatRuleListResult) (result InboundNatRuleListResult, err error) { + req, err := lastResults.InboundNatRuleListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client InboundNatRulesClient) ListComplete(resourceGroupName string, loadBalancerName string, cancel <-chan struct{}) (<-chan InboundNatRule, <-chan error) { + resultChan := make(chan InboundNatRule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, loadBalancerName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/interfaceipconfigurations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/interfaceipconfigurations.go new file mode 100644 index 000000000..ca0359f09 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/interfaceipconfigurations.go @@ -0,0 +1,240 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// InterfaceIPConfigurationsClient is the network Client +type InterfaceIPConfigurationsClient struct { + ManagementClient +} + +// NewInterfaceIPConfigurationsClient creates an instance of the InterfaceIPConfigurationsClient client. +func NewInterfaceIPConfigurationsClient(subscriptionID string) InterfaceIPConfigurationsClient { + return NewInterfaceIPConfigurationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewInterfaceIPConfigurationsClientWithBaseURI creates an instance of the InterfaceIPConfigurationsClient client. +func NewInterfaceIPConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) InterfaceIPConfigurationsClient { + return InterfaceIPConfigurationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets the specified network interface ip configuration. +// +// resourceGroupName is the name of the resource group. networkInterfaceName is the name of the network interface. +// IPConfigurationName is the name of the ip configuration name. +func (client InterfaceIPConfigurationsClient) Get(resourceGroupName string, networkInterfaceName string, IPConfigurationName string) (result InterfaceIPConfiguration, err error) { + req, err := client.GetPreparer(resourceGroupName, networkInterfaceName, IPConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client InterfaceIPConfigurationsClient) GetPreparer(resourceGroupName string, networkInterfaceName string, IPConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ipConfigurationName": autorest.Encode("path", IPConfigurationName), + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client InterfaceIPConfigurationsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client InterfaceIPConfigurationsClient) GetResponder(resp *http.Response) (result InterfaceIPConfiguration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List get all ip configurations in a network interface +// +// resourceGroupName is the name of the resource group. networkInterfaceName is the name of the network interface. +func (client InterfaceIPConfigurationsClient) List(resourceGroupName string, networkInterfaceName string) (result InterfaceIPConfigurationListResult, err error) { + req, err := client.ListPreparer(resourceGroupName, networkInterfaceName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client InterfaceIPConfigurationsClient) ListPreparer(resourceGroupName string, networkInterfaceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client InterfaceIPConfigurationsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client InterfaceIPConfigurationsClient) ListResponder(resp *http.Response) (result InterfaceIPConfigurationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client InterfaceIPConfigurationsClient) ListNextResults(lastResults InterfaceIPConfigurationListResult) (result InterfaceIPConfigurationListResult, err error) { + req, err := lastResults.InterfaceIPConfigurationListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client InterfaceIPConfigurationsClient) ListComplete(resourceGroupName string, networkInterfaceName string, cancel <-chan struct{}) (<-chan InterfaceIPConfiguration, <-chan error) { + resultChan := make(chan InterfaceIPConfiguration) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, networkInterfaceName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/interfaceloadbalancers.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/interfaceloadbalancers.go new file mode 100644 index 000000000..c7b7d272f --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/interfaceloadbalancers.go @@ -0,0 +1,173 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// InterfaceLoadBalancersClient is the network Client +type InterfaceLoadBalancersClient struct { + ManagementClient +} + +// NewInterfaceLoadBalancersClient creates an instance of the InterfaceLoadBalancersClient client. +func NewInterfaceLoadBalancersClient(subscriptionID string) InterfaceLoadBalancersClient { + return NewInterfaceLoadBalancersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewInterfaceLoadBalancersClientWithBaseURI creates an instance of the InterfaceLoadBalancersClient client. +func NewInterfaceLoadBalancersClientWithBaseURI(baseURI string, subscriptionID string) InterfaceLoadBalancersClient { + return InterfaceLoadBalancersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List list all load balancers in a network interface. +// +// resourceGroupName is the name of the resource group. networkInterfaceName is the name of the network interface. +func (client InterfaceLoadBalancersClient) List(resourceGroupName string, networkInterfaceName string) (result InterfaceLoadBalancerListResult, err error) { + req, err := client.ListPreparer(resourceGroupName, networkInterfaceName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceLoadBalancersClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfaceLoadBalancersClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceLoadBalancersClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client InterfaceLoadBalancersClient) ListPreparer(resourceGroupName string, networkInterfaceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/loadBalancers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client InterfaceLoadBalancersClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client InterfaceLoadBalancersClient) ListResponder(resp *http.Response) (result InterfaceLoadBalancerListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client InterfaceLoadBalancersClient) ListNextResults(lastResults InterfaceLoadBalancerListResult) (result InterfaceLoadBalancerListResult, err error) { + req, err := lastResults.InterfaceLoadBalancerListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "network.InterfaceLoadBalancersClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.InterfaceLoadBalancersClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceLoadBalancersClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client InterfaceLoadBalancersClient) ListComplete(resourceGroupName string, networkInterfaceName string, cancel <-chan struct{}) (<-chan LoadBalancer, <-chan error) { + resultChan := make(chan LoadBalancer) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, networkInterfaceName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/interfaces.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/interfaces.go index 8918c08b4..c2fdb3e90 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/interfaces.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/interfaces.go @@ -14,9 +14,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,7 +23,7 @@ import ( "net/http" ) -// InterfacesClient is the composite Swagger for Network Client +// InterfacesClient is the network Client type InterfacesClient struct { ManagementClient } @@ -34,20 +33,17 @@ func NewInterfacesClient(subscriptionID string) InterfacesClient { return NewInterfacesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewInterfacesClientWithBaseURI creates an instance of the InterfacesClient -// client. +// NewInterfacesClientWithBaseURI creates an instance of the InterfacesClient client. func NewInterfacesClientWithBaseURI(baseURI string, subscriptionID string) InterfacesClient { return InterfacesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates a network interface. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// CreateOrUpdate creates or updates a network interface. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group. networkInterfaceName is -// the name of the network interface. parameters is parameters supplied to the -// create or update network interface operation. +// resourceGroupName is the name of the resource group. networkInterfaceName is the name of the network interface. +// parameters is parameters supplied to the create or update network interface operation. func (client InterfacesClient) CreateOrUpdate(resourceGroupName string, networkInterfaceName string, parameters Interface, cancel <-chan struct{}) (<-chan Interface, <-chan error) { resultChan := make(chan Interface, 1) errChan := make(chan error, 1) @@ -55,8 +51,10 @@ func (client InterfacesClient) CreateOrUpdate(resourceGroupName string, networkI var err error var result Interface defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -89,7 +87,7 @@ func (client InterfacesClient) CreateOrUpdatePreparer(resourceGroupName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -125,13 +123,10 @@ func (client InterfacesClient) CreateOrUpdateResponder(resp *http.Response) (res return } -// Delete deletes the specified network interface. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete deletes the specified network interface. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. networkInterfaceName is -// the name of the network interface. +// resourceGroupName is the name of the resource group. networkInterfaceName is the name of the network interface. func (client InterfacesClient) Delete(resourceGroupName string, networkInterfaceName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -139,8 +134,10 @@ func (client InterfacesClient) Delete(resourceGroupName string, networkInterface var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -173,7 +170,7 @@ func (client InterfacesClient) DeletePreparer(resourceGroupName string, networkI "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -208,8 +205,8 @@ func (client InterfacesClient) DeleteResponder(resp *http.Response) (result auto // Get gets information about the specified network interface. // -// resourceGroupName is the name of the resource group. networkInterfaceName is -// the name of the network interface. expand is expands referenced resources. +// resourceGroupName is the name of the resource group. networkInterfaceName is the name of the network interface. +// expand is expands referenced resources. func (client InterfacesClient) Get(resourceGroupName string, networkInterfaceName string, expand string) (result Interface, err error) { req, err := client.GetPreparer(resourceGroupName, networkInterfaceName, expand) if err != nil { @@ -240,7 +237,7 @@ func (client InterfacesClient) GetPreparer(resourceGroupName string, networkInte "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -275,13 +272,11 @@ func (client InterfacesClient) GetResponder(resp *http.Response) (result Interfa return } -// GetEffectiveRouteTable gets all route tables applied to a network interface. -// This method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// GetEffectiveRouteTable gets all route tables applied to a network interface. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. networkInterfaceName is -// the name of the network interface. +// resourceGroupName is the name of the resource group. networkInterfaceName is the name of the network interface. func (client InterfacesClient) GetEffectiveRouteTable(resourceGroupName string, networkInterfaceName string, cancel <-chan struct{}) (<-chan EffectiveRouteListResult, <-chan error) { resultChan := make(chan EffectiveRouteListResult, 1) errChan := make(chan error, 1) @@ -289,8 +284,10 @@ func (client InterfacesClient) GetEffectiveRouteTable(resourceGroupName string, var err error var result EffectiveRouteListResult defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -323,7 +320,7 @@ func (client InterfacesClient) GetEffectiveRouteTablePreparer(resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -357,13 +354,11 @@ func (client InterfacesClient) GetEffectiveRouteTableResponder(resp *http.Respon return } -// GetVirtualMachineScaleSetNetworkInterface get the specified network -// interface in a virtual machine scale set. +// GetVirtualMachineScaleSetNetworkInterface get the specified network interface in a virtual machine scale set. // -// resourceGroupName is the name of the resource group. -// virtualMachineScaleSetName is the name of the virtual machine scale set. -// virtualmachineIndex is the virtual machine index. networkInterfaceName is -// the name of the network interface. expand is expands referenced resources. +// resourceGroupName is the name of the resource group. virtualMachineScaleSetName is the name of the virtual machine +// scale set. virtualmachineIndex is the virtual machine index. networkInterfaceName is the name of the network +// interface. expand is expands referenced resources. func (client InterfacesClient) GetVirtualMachineScaleSetNetworkInterface(resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, expand string) (result Interface, err error) { req, err := client.GetVirtualMachineScaleSetNetworkInterfacePreparer(resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex, networkInterfaceName, expand) if err != nil { @@ -396,7 +391,7 @@ func (client InterfacesClient) GetVirtualMachineScaleSetNetworkInterfacePreparer "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -463,7 +458,7 @@ func (client InterfacesClient) ListPreparer(resourceGroupName string) (*http.Req "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -519,6 +514,51 @@ func (client InterfacesClient) ListNextResults(lastResults InterfaceListResult) return } +// ListComplete gets all elements from the list without paging. +func (client InterfacesClient) ListComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan Interface, <-chan error) { + resultChan := make(chan Interface) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListAll gets all network interfaces in a subscription. func (client InterfacesClient) ListAll() (result InterfaceListResult, err error) { req, err := client.ListAllPreparer() @@ -548,7 +588,7 @@ func (client InterfacesClient) ListAllPreparer() (*http.Request, error) { "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -604,13 +644,56 @@ func (client InterfacesClient) ListAllNextResults(lastResults InterfaceListResul return } -// ListEffectiveNetworkSecurityGroups gets all network security groups applied -// to a network interface. This method may poll for completion. Polling can be -// canceled by passing the cancel channel argument. The channel will be used to +// ListAllComplete gets all elements from the list without paging. +func (client InterfacesClient) ListAllComplete(cancel <-chan struct{}) (<-chan Interface, <-chan error) { + resultChan := make(chan Interface) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAll() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAllNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListEffectiveNetworkSecurityGroups gets all network security groups applied to a network interface. This method may +// poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to // cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. networkInterfaceName is -// the name of the network interface. +// resourceGroupName is the name of the resource group. networkInterfaceName is the name of the network interface. func (client InterfacesClient) ListEffectiveNetworkSecurityGroups(resourceGroupName string, networkInterfaceName string, cancel <-chan struct{}) (<-chan EffectiveNetworkSecurityGroupListResult, <-chan error) { resultChan := make(chan EffectiveNetworkSecurityGroupListResult, 1) errChan := make(chan error, 1) @@ -618,8 +701,10 @@ func (client InterfacesClient) ListEffectiveNetworkSecurityGroups(resourceGroupN var err error var result EffectiveNetworkSecurityGroupListResult defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -652,7 +737,7 @@ func (client InterfacesClient) ListEffectiveNetworkSecurityGroupsPreparer(resour "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -686,11 +771,10 @@ func (client InterfacesClient) ListEffectiveNetworkSecurityGroupsResponder(resp return } -// ListVirtualMachineScaleSetNetworkInterfaces gets all network interfaces in a -// virtual machine scale set. +// ListVirtualMachineScaleSetNetworkInterfaces gets all network interfaces in a virtual machine scale set. // -// resourceGroupName is the name of the resource group. -// virtualMachineScaleSetName is the name of the virtual machine scale set. +// resourceGroupName is the name of the resource group. virtualMachineScaleSetName is the name of the virtual machine +// scale set. func (client InterfacesClient) ListVirtualMachineScaleSetNetworkInterfaces(resourceGroupName string, virtualMachineScaleSetName string) (result InterfaceListResult, err error) { req, err := client.ListVirtualMachineScaleSetNetworkInterfacesPreparer(resourceGroupName, virtualMachineScaleSetName) if err != nil { @@ -721,7 +805,7 @@ func (client InterfacesClient) ListVirtualMachineScaleSetNetworkInterfacesPrepar "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -777,12 +861,56 @@ func (client InterfacesClient) ListVirtualMachineScaleSetNetworkInterfacesNextRe return } -// ListVirtualMachineScaleSetVMNetworkInterfaces gets information about all -// network interfaces in a virtual machine in a virtual machine scale set. +// ListVirtualMachineScaleSetNetworkInterfacesComplete gets all elements from the list without paging. +func (client InterfacesClient) ListVirtualMachineScaleSetNetworkInterfacesComplete(resourceGroupName string, virtualMachineScaleSetName string, cancel <-chan struct{}) (<-chan Interface, <-chan error) { + resultChan := make(chan Interface) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListVirtualMachineScaleSetNetworkInterfaces(resourceGroupName, virtualMachineScaleSetName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListVirtualMachineScaleSetNetworkInterfacesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListVirtualMachineScaleSetVMNetworkInterfaces gets information about all network interfaces in a virtual machine in +// a virtual machine scale set. // -// resourceGroupName is the name of the resource group. -// virtualMachineScaleSetName is the name of the virtual machine scale set. -// virtualmachineIndex is the virtual machine index. +// resourceGroupName is the name of the resource group. virtualMachineScaleSetName is the name of the virtual machine +// scale set. virtualmachineIndex is the virtual machine index. func (client InterfacesClient) ListVirtualMachineScaleSetVMNetworkInterfaces(resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string) (result InterfaceListResult, err error) { req, err := client.ListVirtualMachineScaleSetVMNetworkInterfacesPreparer(resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex) if err != nil { @@ -814,7 +942,7 @@ func (client InterfacesClient) ListVirtualMachineScaleSetVMNetworkInterfacesPrep "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-03-30" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -869,3 +997,48 @@ func (client InterfacesClient) ListVirtualMachineScaleSetVMNetworkInterfacesNext return } + +// ListVirtualMachineScaleSetVMNetworkInterfacesComplete gets all elements from the list without paging. +func (client InterfacesClient) ListVirtualMachineScaleSetVMNetworkInterfacesComplete(resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, cancel <-chan struct{}) (<-chan Interface, <-chan error) { + resultChan := make(chan Interface) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListVirtualMachineScaleSetVMNetworkInterfaces(resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListVirtualMachineScaleSetVMNetworkInterfacesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/loadbalancerbackendaddresspools.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/loadbalancerbackendaddresspools.go new file mode 100644 index 000000000..de14c3556 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/loadbalancerbackendaddresspools.go @@ -0,0 +1,241 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// LoadBalancerBackendAddressPoolsClient is the network Client +type LoadBalancerBackendAddressPoolsClient struct { + ManagementClient +} + +// NewLoadBalancerBackendAddressPoolsClient creates an instance of the LoadBalancerBackendAddressPoolsClient client. +func NewLoadBalancerBackendAddressPoolsClient(subscriptionID string) LoadBalancerBackendAddressPoolsClient { + return NewLoadBalancerBackendAddressPoolsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewLoadBalancerBackendAddressPoolsClientWithBaseURI creates an instance of the LoadBalancerBackendAddressPoolsClient +// client. +func NewLoadBalancerBackendAddressPoolsClientWithBaseURI(baseURI string, subscriptionID string) LoadBalancerBackendAddressPoolsClient { + return LoadBalancerBackendAddressPoolsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets load balancer backend address pool. +// +// resourceGroupName is the name of the resource group. loadBalancerName is the name of the load balancer. +// backendAddressPoolName is the name of the backend address pool. +func (client LoadBalancerBackendAddressPoolsClient) Get(resourceGroupName string, loadBalancerName string, backendAddressPoolName string) (result BackendAddressPool, err error) { + req, err := client.GetPreparer(resourceGroupName, loadBalancerName, backendAddressPoolName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client LoadBalancerBackendAddressPoolsClient) GetPreparer(resourceGroupName string, loadBalancerName string, backendAddressPoolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "backendAddressPoolName": autorest.Encode("path", backendAddressPoolName), + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerBackendAddressPoolsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client LoadBalancerBackendAddressPoolsClient) GetResponder(resp *http.Response) (result BackendAddressPool, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the load balancer backed address pools. +// +// resourceGroupName is the name of the resource group. loadBalancerName is the name of the load balancer. +func (client LoadBalancerBackendAddressPoolsClient) List(resourceGroupName string, loadBalancerName string) (result LoadBalancerBackendAddressPoolListResult, err error) { + req, err := client.ListPreparer(resourceGroupName, loadBalancerName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client LoadBalancerBackendAddressPoolsClient) ListPreparer(resourceGroupName string, loadBalancerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerBackendAddressPoolsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client LoadBalancerBackendAddressPoolsClient) ListResponder(resp *http.Response) (result LoadBalancerBackendAddressPoolListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client LoadBalancerBackendAddressPoolsClient) ListNextResults(lastResults LoadBalancerBackendAddressPoolListResult) (result LoadBalancerBackendAddressPoolListResult, err error) { + req, err := lastResults.LoadBalancerBackendAddressPoolListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client LoadBalancerBackendAddressPoolsClient) ListComplete(resourceGroupName string, loadBalancerName string, cancel <-chan struct{}) (<-chan BackendAddressPool, <-chan error) { + resultChan := make(chan BackendAddressPool) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, loadBalancerName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/loadbalancerfrontendipconfigurations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/loadbalancerfrontendipconfigurations.go new file mode 100644 index 000000000..515b875a1 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/loadbalancerfrontendipconfigurations.go @@ -0,0 +1,242 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// LoadBalancerFrontendIPConfigurationsClient is the network Client +type LoadBalancerFrontendIPConfigurationsClient struct { + ManagementClient +} + +// NewLoadBalancerFrontendIPConfigurationsClient creates an instance of the LoadBalancerFrontendIPConfigurationsClient +// client. +func NewLoadBalancerFrontendIPConfigurationsClient(subscriptionID string) LoadBalancerFrontendIPConfigurationsClient { + return NewLoadBalancerFrontendIPConfigurationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewLoadBalancerFrontendIPConfigurationsClientWithBaseURI creates an instance of the +// LoadBalancerFrontendIPConfigurationsClient client. +func NewLoadBalancerFrontendIPConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) LoadBalancerFrontendIPConfigurationsClient { + return LoadBalancerFrontendIPConfigurationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets load balancer frontend IP configuration. +// +// resourceGroupName is the name of the resource group. loadBalancerName is the name of the load balancer. +// frontendIPConfigurationName is the name of the frontend IP configuration. +func (client LoadBalancerFrontendIPConfigurationsClient) Get(resourceGroupName string, loadBalancerName string, frontendIPConfigurationName string) (result FrontendIPConfiguration, err error) { + req, err := client.GetPreparer(resourceGroupName, loadBalancerName, frontendIPConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client LoadBalancerFrontendIPConfigurationsClient) GetPreparer(resourceGroupName string, loadBalancerName string, frontendIPConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontendIPConfigurationName": autorest.Encode("path", frontendIPConfigurationName), + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations/{frontendIPConfigurationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerFrontendIPConfigurationsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client LoadBalancerFrontendIPConfigurationsClient) GetResponder(resp *http.Response) (result FrontendIPConfiguration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the load balancer frontend IP configurations. +// +// resourceGroupName is the name of the resource group. loadBalancerName is the name of the load balancer. +func (client LoadBalancerFrontendIPConfigurationsClient) List(resourceGroupName string, loadBalancerName string) (result LoadBalancerFrontendIPConfigurationListResult, err error) { + req, err := client.ListPreparer(resourceGroupName, loadBalancerName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client LoadBalancerFrontendIPConfigurationsClient) ListPreparer(resourceGroupName string, loadBalancerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerFrontendIPConfigurationsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client LoadBalancerFrontendIPConfigurationsClient) ListResponder(resp *http.Response) (result LoadBalancerFrontendIPConfigurationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client LoadBalancerFrontendIPConfigurationsClient) ListNextResults(lastResults LoadBalancerFrontendIPConfigurationListResult) (result LoadBalancerFrontendIPConfigurationListResult, err error) { + req, err := lastResults.LoadBalancerFrontendIPConfigurationListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client LoadBalancerFrontendIPConfigurationsClient) ListComplete(resourceGroupName string, loadBalancerName string, cancel <-chan struct{}) (<-chan FrontendIPConfiguration, <-chan error) { + resultChan := make(chan FrontendIPConfiguration) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, loadBalancerName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/loadbalancerloadbalancingrules.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/loadbalancerloadbalancingrules.go new file mode 100644 index 000000000..2ecd6be0d --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/loadbalancerloadbalancingrules.go @@ -0,0 +1,241 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// LoadBalancerLoadBalancingRulesClient is the network Client +type LoadBalancerLoadBalancingRulesClient struct { + ManagementClient +} + +// NewLoadBalancerLoadBalancingRulesClient creates an instance of the LoadBalancerLoadBalancingRulesClient client. +func NewLoadBalancerLoadBalancingRulesClient(subscriptionID string) LoadBalancerLoadBalancingRulesClient { + return NewLoadBalancerLoadBalancingRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewLoadBalancerLoadBalancingRulesClientWithBaseURI creates an instance of the LoadBalancerLoadBalancingRulesClient +// client. +func NewLoadBalancerLoadBalancingRulesClientWithBaseURI(baseURI string, subscriptionID string) LoadBalancerLoadBalancingRulesClient { + return LoadBalancerLoadBalancingRulesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets the specified load balancer load balancing rule. +// +// resourceGroupName is the name of the resource group. loadBalancerName is the name of the load balancer. +// loadBalancingRuleName is the name of the load balancing rule. +func (client LoadBalancerLoadBalancingRulesClient) Get(resourceGroupName string, loadBalancerName string, loadBalancingRuleName string) (result LoadBalancingRule, err error) { + req, err := client.GetPreparer(resourceGroupName, loadBalancerName, loadBalancingRuleName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client LoadBalancerLoadBalancingRulesClient) GetPreparer(resourceGroupName string, loadBalancerName string, loadBalancingRuleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "loadBalancingRuleName": autorest.Encode("path", loadBalancingRuleName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules/{loadBalancingRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerLoadBalancingRulesClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client LoadBalancerLoadBalancingRulesClient) GetResponder(resp *http.Response) (result LoadBalancingRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the load balancing rules in a load balancer. +// +// resourceGroupName is the name of the resource group. loadBalancerName is the name of the load balancer. +func (client LoadBalancerLoadBalancingRulesClient) List(resourceGroupName string, loadBalancerName string) (result LoadBalancerLoadBalancingRuleListResult, err error) { + req, err := client.ListPreparer(resourceGroupName, loadBalancerName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client LoadBalancerLoadBalancingRulesClient) ListPreparer(resourceGroupName string, loadBalancerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerLoadBalancingRulesClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client LoadBalancerLoadBalancingRulesClient) ListResponder(resp *http.Response) (result LoadBalancerLoadBalancingRuleListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client LoadBalancerLoadBalancingRulesClient) ListNextResults(lastResults LoadBalancerLoadBalancingRuleListResult) (result LoadBalancerLoadBalancingRuleListResult, err error) { + req, err := lastResults.LoadBalancerLoadBalancingRuleListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client LoadBalancerLoadBalancingRulesClient) ListComplete(resourceGroupName string, loadBalancerName string, cancel <-chan struct{}) (<-chan LoadBalancingRule, <-chan error) { + resultChan := make(chan LoadBalancingRule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, loadBalancerName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/loadbalancernetworkinterfaces.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/loadbalancernetworkinterfaces.go new file mode 100644 index 000000000..356503542 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/loadbalancernetworkinterfaces.go @@ -0,0 +1,174 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// LoadBalancerNetworkInterfacesClient is the network Client +type LoadBalancerNetworkInterfacesClient struct { + ManagementClient +} + +// NewLoadBalancerNetworkInterfacesClient creates an instance of the LoadBalancerNetworkInterfacesClient client. +func NewLoadBalancerNetworkInterfacesClient(subscriptionID string) LoadBalancerNetworkInterfacesClient { + return NewLoadBalancerNetworkInterfacesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewLoadBalancerNetworkInterfacesClientWithBaseURI creates an instance of the LoadBalancerNetworkInterfacesClient +// client. +func NewLoadBalancerNetworkInterfacesClientWithBaseURI(baseURI string, subscriptionID string) LoadBalancerNetworkInterfacesClient { + return LoadBalancerNetworkInterfacesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets associated load balancer network interfaces. +// +// resourceGroupName is the name of the resource group. loadBalancerName is the name of the load balancer. +func (client LoadBalancerNetworkInterfacesClient) List(resourceGroupName string, loadBalancerName string) (result InterfaceListResult, err error) { + req, err := client.ListPreparer(resourceGroupName, loadBalancerName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerNetworkInterfacesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerNetworkInterfacesClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerNetworkInterfacesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client LoadBalancerNetworkInterfacesClient) ListPreparer(resourceGroupName string, loadBalancerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/networkInterfaces", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerNetworkInterfacesClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client LoadBalancerNetworkInterfacesClient) ListResponder(resp *http.Response) (result InterfaceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client LoadBalancerNetworkInterfacesClient) ListNextResults(lastResults InterfaceListResult) (result InterfaceListResult, err error) { + req, err := lastResults.InterfaceListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "network.LoadBalancerNetworkInterfacesClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.LoadBalancerNetworkInterfacesClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerNetworkInterfacesClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client LoadBalancerNetworkInterfacesClient) ListComplete(resourceGroupName string, loadBalancerName string, cancel <-chan struct{}) (<-chan Interface, <-chan error) { + resultChan := make(chan Interface) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, loadBalancerName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/loadbalancerprobes.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/loadbalancerprobes.go new file mode 100644 index 000000000..daee51e0f --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/loadbalancerprobes.go @@ -0,0 +1,240 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// LoadBalancerProbesClient is the network Client +type LoadBalancerProbesClient struct { + ManagementClient +} + +// NewLoadBalancerProbesClient creates an instance of the LoadBalancerProbesClient client. +func NewLoadBalancerProbesClient(subscriptionID string) LoadBalancerProbesClient { + return NewLoadBalancerProbesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewLoadBalancerProbesClientWithBaseURI creates an instance of the LoadBalancerProbesClient client. +func NewLoadBalancerProbesClientWithBaseURI(baseURI string, subscriptionID string) LoadBalancerProbesClient { + return LoadBalancerProbesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets load balancer probe. +// +// resourceGroupName is the name of the resource group. loadBalancerName is the name of the load balancer. probeName is +// the name of the probe. +func (client LoadBalancerProbesClient) Get(resourceGroupName string, loadBalancerName string, probeName string) (result Probe, err error) { + req, err := client.GetPreparer(resourceGroupName, loadBalancerName, probeName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client LoadBalancerProbesClient) GetPreparer(resourceGroupName string, loadBalancerName string, probeName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "probeName": autorest.Encode("path", probeName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerProbesClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client LoadBalancerProbesClient) GetResponder(resp *http.Response) (result Probe, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the load balancer probes. +// +// resourceGroupName is the name of the resource group. loadBalancerName is the name of the load balancer. +func (client LoadBalancerProbesClient) List(resourceGroupName string, loadBalancerName string) (result LoadBalancerProbeListResult, err error) { + req, err := client.ListPreparer(resourceGroupName, loadBalancerName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client LoadBalancerProbesClient) ListPreparer(resourceGroupName string, loadBalancerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerProbesClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client LoadBalancerProbesClient) ListResponder(resp *http.Response) (result LoadBalancerProbeListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client LoadBalancerProbesClient) ListNextResults(lastResults LoadBalancerProbeListResult) (result LoadBalancerProbeListResult, err error) { + req, err := lastResults.LoadBalancerProbeListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client LoadBalancerProbesClient) ListComplete(resourceGroupName string, loadBalancerName string, cancel <-chan struct{}) (<-chan Probe, <-chan error) { + resultChan := make(chan Probe) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, loadBalancerName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/loadbalancers.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/loadbalancers.go index 11d649b27..3a2528d85 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/loadbalancers.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/loadbalancers.go @@ -14,9 +14,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,31 +23,26 @@ import ( "net/http" ) -// LoadBalancersClient is the composite Swagger for Network Client +// LoadBalancersClient is the network Client type LoadBalancersClient struct { ManagementClient } -// NewLoadBalancersClient creates an instance of the LoadBalancersClient -// client. +// NewLoadBalancersClient creates an instance of the LoadBalancersClient client. func NewLoadBalancersClient(subscriptionID string) LoadBalancersClient { return NewLoadBalancersClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewLoadBalancersClientWithBaseURI creates an instance of the -// LoadBalancersClient client. +// NewLoadBalancersClientWithBaseURI creates an instance of the LoadBalancersClient client. func NewLoadBalancersClientWithBaseURI(baseURI string, subscriptionID string) LoadBalancersClient { return LoadBalancersClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates a load balancer. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// CreateOrUpdate creates or updates a load balancer. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. loadBalancerName is the -// name of the load balancer. parameters is parameters supplied to the create -// or update load balancer operation. +// resourceGroupName is the name of the resource group. loadBalancerName is the name of the load balancer. parameters +// is parameters supplied to the create or update load balancer operation. func (client LoadBalancersClient) CreateOrUpdate(resourceGroupName string, loadBalancerName string, parameters LoadBalancer, cancel <-chan struct{}) (<-chan LoadBalancer, <-chan error) { resultChan := make(chan LoadBalancer, 1) errChan := make(chan error, 1) @@ -56,8 +50,10 @@ func (client LoadBalancersClient) CreateOrUpdate(resourceGroupName string, loadB var err error var result LoadBalancer defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -90,7 +86,7 @@ func (client LoadBalancersClient) CreateOrUpdatePreparer(resourceGroupName strin "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -126,13 +122,10 @@ func (client LoadBalancersClient) CreateOrUpdateResponder(resp *http.Response) ( return } -// Delete deletes the specified load balancer. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete deletes the specified load balancer. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. loadBalancerName is the -// name of the load balancer. +// resourceGroupName is the name of the resource group. loadBalancerName is the name of the load balancer. func (client LoadBalancersClient) Delete(resourceGroupName string, loadBalancerName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -140,8 +133,10 @@ func (client LoadBalancersClient) Delete(resourceGroupName string, loadBalancerN var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -174,7 +169,7 @@ func (client LoadBalancersClient) DeletePreparer(resourceGroupName string, loadB "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -209,8 +204,8 @@ func (client LoadBalancersClient) DeleteResponder(resp *http.Response) (result a // Get gets the specified load balancer. // -// resourceGroupName is the name of the resource group. loadBalancerName is the -// name of the load balancer. expand is expands referenced resources. +// resourceGroupName is the name of the resource group. loadBalancerName is the name of the load balancer. expand is +// expands referenced resources. func (client LoadBalancersClient) Get(resourceGroupName string, loadBalancerName string, expand string) (result LoadBalancer, err error) { req, err := client.GetPreparer(resourceGroupName, loadBalancerName, expand) if err != nil { @@ -241,7 +236,7 @@ func (client LoadBalancersClient) GetPreparer(resourceGroupName string, loadBala "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -308,7 +303,7 @@ func (client LoadBalancersClient) ListPreparer(resourceGroupName string) (*http. "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -364,6 +359,51 @@ func (client LoadBalancersClient) ListNextResults(lastResults LoadBalancerListRe return } +// ListComplete gets all elements from the list without paging. +func (client LoadBalancersClient) ListComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan LoadBalancer, <-chan error) { + resultChan := make(chan LoadBalancer) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListAll gets all the load balancers in a subscription. func (client LoadBalancersClient) ListAll() (result LoadBalancerListResult, err error) { req, err := client.ListAllPreparer() @@ -393,7 +433,7 @@ func (client LoadBalancersClient) ListAllPreparer() (*http.Request, error) { "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -448,3 +488,48 @@ func (client LoadBalancersClient) ListAllNextResults(lastResults LoadBalancerLis return } + +// ListAllComplete gets all elements from the list without paging. +func (client LoadBalancersClient) ListAllComplete(cancel <-chan struct{}) (<-chan LoadBalancer, <-chan error) { + resultChan := make(chan LoadBalancer) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAll() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAllNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/localnetworkgateways.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/localnetworkgateways.go index c1e66076e..64cdea20a 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/localnetworkgateways.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/localnetworkgateways.go @@ -14,9 +14,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,31 +24,27 @@ import ( "net/http" ) -// LocalNetworkGatewaysClient is the composite Swagger for Network Client +// LocalNetworkGatewaysClient is the network Client type LocalNetworkGatewaysClient struct { ManagementClient } -// NewLocalNetworkGatewaysClient creates an instance of the -// LocalNetworkGatewaysClient client. +// NewLocalNetworkGatewaysClient creates an instance of the LocalNetworkGatewaysClient client. func NewLocalNetworkGatewaysClient(subscriptionID string) LocalNetworkGatewaysClient { return NewLocalNetworkGatewaysClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewLocalNetworkGatewaysClientWithBaseURI creates an instance of the -// LocalNetworkGatewaysClient client. +// NewLocalNetworkGatewaysClientWithBaseURI creates an instance of the LocalNetworkGatewaysClient client. func NewLocalNetworkGatewaysClientWithBaseURI(baseURI string, subscriptionID string) LocalNetworkGatewaysClient { return LocalNetworkGatewaysClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates a local network gateway in the specified -// resource group. This method may poll for completion. Polling can be canceled -// by passing the cancel channel argument. The channel will be used to cancel +// CreateOrUpdate creates or updates a local network gateway in the specified resource group. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel // polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. localNetworkGatewayName -// is the name of the local network gateway. parameters is parameters supplied -// to the create or update local network gateway operation. +// resourceGroupName is the name of the resource group. localNetworkGatewayName is the name of the local network +// gateway. parameters is parameters supplied to the create or update local network gateway operation. func (client LocalNetworkGatewaysClient) CreateOrUpdate(resourceGroupName string, localNetworkGatewayName string, parameters LocalNetworkGateway, cancel <-chan struct{}) (<-chan LocalNetworkGateway, <-chan error) { resultChan := make(chan LocalNetworkGateway, 1) errChan := make(chan error, 1) @@ -68,8 +63,10 @@ func (client LocalNetworkGatewaysClient) CreateOrUpdate(resourceGroupName string var err error var result LocalNetworkGateway defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -102,7 +99,7 @@ func (client LocalNetworkGatewaysClient) CreateOrUpdatePreparer(resourceGroupNam "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -138,13 +135,11 @@ func (client LocalNetworkGatewaysClient) CreateOrUpdateResponder(resp *http.Resp return } -// Delete deletes the specified local network gateway. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete deletes the specified local network gateway. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. localNetworkGatewayName -// is the name of the local network gateway. +// resourceGroupName is the name of the resource group. localNetworkGatewayName is the name of the local network +// gateway. func (client LocalNetworkGatewaysClient) Delete(resourceGroupName string, localNetworkGatewayName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -161,8 +156,10 @@ func (client LocalNetworkGatewaysClient) Delete(resourceGroupName string, localN var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -195,7 +192,7 @@ func (client LocalNetworkGatewaysClient) DeletePreparer(resourceGroupName string "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -230,8 +227,8 @@ func (client LocalNetworkGatewaysClient) DeleteResponder(resp *http.Response) (r // Get gets the specified local network gateway in a resource group. // -// resourceGroupName is the name of the resource group. localNetworkGatewayName -// is the name of the local network gateway. +// resourceGroupName is the name of the resource group. localNetworkGatewayName is the name of the local network +// gateway. func (client LocalNetworkGatewaysClient) Get(resourceGroupName string, localNetworkGatewayName string) (result LocalNetworkGateway, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: localNetworkGatewayName, @@ -268,7 +265,7 @@ func (client LocalNetworkGatewaysClient) GetPreparer(resourceGroupName string, l "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -332,7 +329,7 @@ func (client LocalNetworkGatewaysClient) ListPreparer(resourceGroupName string) "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -387,3 +384,48 @@ func (client LocalNetworkGatewaysClient) ListNextResults(lastResults LocalNetwor return } + +// ListComplete gets all elements from the list without paging. +func (client LocalNetworkGatewaysClient) ListComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan LocalNetworkGateway, <-chan error) { + resultChan := make(chan LocalNetworkGateway) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/models.go index 505691db0..8e083f366 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/models.go @@ -14,9 +14,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -35,75 +34,58 @@ const ( Deny Access = "Deny" ) -// ApplicationGatewayBackendHealthServerHealth enumerates the values for -// application gateway backend health server health. +// ApplicationGatewayBackendHealthServerHealth enumerates the values for application gateway backend health server +// health. type ApplicationGatewayBackendHealthServerHealth string const ( - // Down specifies the down state for application gateway backend health - // server health. + // Down specifies the down state for application gateway backend health server health. Down ApplicationGatewayBackendHealthServerHealth = "Down" - // Draining specifies the draining state for application gateway backend - // health server health. + // Draining specifies the draining state for application gateway backend health server health. Draining ApplicationGatewayBackendHealthServerHealth = "Draining" - // Partial specifies the partial state for application gateway backend - // health server health. + // Partial specifies the partial state for application gateway backend health server health. Partial ApplicationGatewayBackendHealthServerHealth = "Partial" - // Unknown specifies the unknown state for application gateway backend - // health server health. + // Unknown specifies the unknown state for application gateway backend health server health. Unknown ApplicationGatewayBackendHealthServerHealth = "Unknown" - // Up specifies the up state for application gateway backend health server - // health. + // Up specifies the up state for application gateway backend health server health. Up ApplicationGatewayBackendHealthServerHealth = "Up" ) -// ApplicationGatewayCookieBasedAffinity enumerates the values for application -// gateway cookie based affinity. +// ApplicationGatewayCookieBasedAffinity enumerates the values for application gateway cookie based affinity. type ApplicationGatewayCookieBasedAffinity string const ( - // Disabled specifies the disabled state for application gateway cookie - // based affinity. + // Disabled specifies the disabled state for application gateway cookie based affinity. Disabled ApplicationGatewayCookieBasedAffinity = "Disabled" - // Enabled specifies the enabled state for application gateway cookie based - // affinity. + // Enabled specifies the enabled state for application gateway cookie based affinity. Enabled ApplicationGatewayCookieBasedAffinity = "Enabled" ) -// ApplicationGatewayFirewallMode enumerates the values for application gateway -// firewall mode. +// ApplicationGatewayFirewallMode enumerates the values for application gateway firewall mode. type ApplicationGatewayFirewallMode string const ( - // Detection specifies the detection state for application gateway firewall - // mode. + // Detection specifies the detection state for application gateway firewall mode. Detection ApplicationGatewayFirewallMode = "Detection" - // Prevention specifies the prevention state for application gateway - // firewall mode. + // Prevention specifies the prevention state for application gateway firewall mode. Prevention ApplicationGatewayFirewallMode = "Prevention" ) -// ApplicationGatewayOperationalState enumerates the values for application -// gateway operational state. +// ApplicationGatewayOperationalState enumerates the values for application gateway operational state. type ApplicationGatewayOperationalState string const ( - // Running specifies the running state for application gateway operational - // state. + // Running specifies the running state for application gateway operational state. Running ApplicationGatewayOperationalState = "Running" - // Starting specifies the starting state for application gateway - // operational state. + // Starting specifies the starting state for application gateway operational state. Starting ApplicationGatewayOperationalState = "Starting" - // Stopped specifies the stopped state for application gateway operational - // state. + // Stopped specifies the stopped state for application gateway operational state. Stopped ApplicationGatewayOperationalState = "Stopped" - // Stopping specifies the stopping state for application gateway - // operational state. + // Stopping specifies the stopping state for application gateway operational state. Stopping ApplicationGatewayOperationalState = "Stopping" ) -// ApplicationGatewayProtocol enumerates the values for application gateway -// protocol. +// ApplicationGatewayProtocol enumerates the values for application gateway protocol. type ApplicationGatewayProtocol string const ( @@ -113,53 +95,147 @@ const ( HTTPS ApplicationGatewayProtocol = "Https" ) -// ApplicationGatewayRequestRoutingRuleType enumerates the values for -// application gateway request routing rule type. +// ApplicationGatewayRedirectType enumerates the values for application gateway redirect type. +type ApplicationGatewayRedirectType string + +const ( + // Found specifies the found state for application gateway redirect type. + Found ApplicationGatewayRedirectType = "Found" + // Permanent specifies the permanent state for application gateway redirect type. + Permanent ApplicationGatewayRedirectType = "Permanent" + // SeeOther specifies the see other state for application gateway redirect type. + SeeOther ApplicationGatewayRedirectType = "SeeOther" + // Temporary specifies the temporary state for application gateway redirect type. + Temporary ApplicationGatewayRedirectType = "Temporary" +) + +// ApplicationGatewayRequestRoutingRuleType enumerates the values for application gateway request routing rule type. type ApplicationGatewayRequestRoutingRuleType string const ( - // Basic specifies the basic state for application gateway request routing - // rule type. + // Basic specifies the basic state for application gateway request routing rule type. Basic ApplicationGatewayRequestRoutingRuleType = "Basic" - // PathBasedRouting specifies the path based routing state for application - // gateway request routing rule type. + // PathBasedRouting specifies the path based routing state for application gateway request routing rule type. PathBasedRouting ApplicationGatewayRequestRoutingRuleType = "PathBasedRouting" ) -// ApplicationGatewaySkuName enumerates the values for application gateway sku -// name. +// ApplicationGatewaySkuName enumerates the values for application gateway sku name. type ApplicationGatewaySkuName string const ( - // StandardLarge specifies the standard large state for application gateway - // sku name. + // StandardLarge specifies the standard large state for application gateway sku name. StandardLarge ApplicationGatewaySkuName = "Standard_Large" - // StandardMedium specifies the standard medium state for application - // gateway sku name. + // StandardMedium specifies the standard medium state for application gateway sku name. StandardMedium ApplicationGatewaySkuName = "Standard_Medium" - // StandardSmall specifies the standard small state for application gateway - // sku name. + // StandardSmall specifies the standard small state for application gateway sku name. StandardSmall ApplicationGatewaySkuName = "Standard_Small" // WAFLarge specifies the waf large state for application gateway sku name. WAFLarge ApplicationGatewaySkuName = "WAF_Large" - // WAFMedium specifies the waf medium state for application gateway sku - // name. + // WAFMedium specifies the waf medium state for application gateway sku name. WAFMedium ApplicationGatewaySkuName = "WAF_Medium" ) -// ApplicationGatewaySslProtocol enumerates the values for application gateway -// ssl protocol. +// ApplicationGatewaySslCipherSuite enumerates the values for application gateway ssl cipher suite. +type ApplicationGatewaySslCipherSuite string + +const ( + // TLSDHEDSSWITHAES128CBCSHA specifies the tlsdhedsswithaes128cbcsha state for application gateway ssl cipher suite. + TLSDHEDSSWITHAES128CBCSHA ApplicationGatewaySslCipherSuite = "TLS_DHE_DSS_WITH_AES_128_CBC_SHA" + // TLSDHEDSSWITHAES128CBCSHA256 specifies the tlsdhedsswithaes128cbcsha256 state for application gateway ssl cipher + // suite. + TLSDHEDSSWITHAES128CBCSHA256 ApplicationGatewaySslCipherSuite = "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256" + // TLSDHEDSSWITHAES256CBCSHA specifies the tlsdhedsswithaes256cbcsha state for application gateway ssl cipher suite. + TLSDHEDSSWITHAES256CBCSHA ApplicationGatewaySslCipherSuite = "TLS_DHE_DSS_WITH_AES_256_CBC_SHA" + // TLSDHEDSSWITHAES256CBCSHA256 specifies the tlsdhedsswithaes256cbcsha256 state for application gateway ssl cipher + // suite. + TLSDHEDSSWITHAES256CBCSHA256 ApplicationGatewaySslCipherSuite = "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256" + // TLSDHERSAWITHAES128CBCSHA specifies the tlsdhersawithaes128cbcsha state for application gateway ssl cipher suite. + TLSDHERSAWITHAES128CBCSHA ApplicationGatewaySslCipherSuite = "TLS_DHE_RSA_WITH_AES_128_CBC_SHA" + // TLSDHERSAWITHAES128GCMSHA256 specifies the tlsdhersawithaes128gcmsha256 state for application gateway ssl cipher + // suite. + TLSDHERSAWITHAES128GCMSHA256 ApplicationGatewaySslCipherSuite = "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256" + // TLSDHERSAWITHAES256CBCSHA specifies the tlsdhersawithaes256cbcsha state for application gateway ssl cipher suite. + TLSDHERSAWITHAES256CBCSHA ApplicationGatewaySslCipherSuite = "TLS_DHE_RSA_WITH_AES_256_CBC_SHA" + // TLSDHERSAWITHAES256GCMSHA384 specifies the tlsdhersawithaes256gcmsha384 state for application gateway ssl cipher + // suite. + TLSDHERSAWITHAES256GCMSHA384 ApplicationGatewaySslCipherSuite = "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384" + // TLSECDHEECDSAWITHAES128CBCSHA specifies the tlsecdheecdsawithaes128cbcsha state for application gateway ssl cipher + // suite. + TLSECDHEECDSAWITHAES128CBCSHA ApplicationGatewaySslCipherSuite = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA" + // TLSECDHEECDSAWITHAES128CBCSHA256 specifies the tlsecdheecdsawithaes128cbcsha256 state for application gateway ssl + // cipher suite. + TLSECDHEECDSAWITHAES128CBCSHA256 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256" + // TLSECDHEECDSAWITHAES128GCMSHA256 specifies the tlsecdheecdsawithaes128gcmsha256 state for application gateway ssl + // cipher suite. + TLSECDHEECDSAWITHAES128GCMSHA256 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256" + // TLSECDHEECDSAWITHAES256CBCSHA specifies the tlsecdheecdsawithaes256cbcsha state for application gateway ssl cipher + // suite. + TLSECDHEECDSAWITHAES256CBCSHA ApplicationGatewaySslCipherSuite = "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA" + // TLSECDHEECDSAWITHAES256CBCSHA384 specifies the tlsecdheecdsawithaes256cbcsha384 state for application gateway ssl + // cipher suite. + TLSECDHEECDSAWITHAES256CBCSHA384 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384" + // TLSECDHEECDSAWITHAES256GCMSHA384 specifies the tlsecdheecdsawithaes256gcmsha384 state for application gateway ssl + // cipher suite. + TLSECDHEECDSAWITHAES256GCMSHA384 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384" + // TLSECDHERSAWITHAES128CBCSHA specifies the tlsecdhersawithaes128cbcsha state for application gateway ssl cipher + // suite. + TLSECDHERSAWITHAES128CBCSHA ApplicationGatewaySslCipherSuite = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA" + // TLSECDHERSAWITHAES128CBCSHA256 specifies the tlsecdhersawithaes128cbcsha256 state for application gateway ssl cipher + // suite. + TLSECDHERSAWITHAES128CBCSHA256 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" + // TLSECDHERSAWITHAES256CBCSHA specifies the tlsecdhersawithaes256cbcsha state for application gateway ssl cipher + // suite. + TLSECDHERSAWITHAES256CBCSHA ApplicationGatewaySslCipherSuite = "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA" + // TLSECDHERSAWITHAES256CBCSHA384 specifies the tlsecdhersawithaes256cbcsha384 state for application gateway ssl cipher + // suite. + TLSECDHERSAWITHAES256CBCSHA384 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384" + // TLSRSAWITH3DESEDECBCSHA specifies the tlsrsawith3desedecbcsha state for application gateway ssl cipher suite. + TLSRSAWITH3DESEDECBCSHA ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_3DES_EDE_CBC_SHA" + // TLSRSAWITHAES128CBCSHA specifies the tlsrsawithaes128cbcsha state for application gateway ssl cipher suite. + TLSRSAWITHAES128CBCSHA ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_AES_128_CBC_SHA" + // TLSRSAWITHAES128CBCSHA256 specifies the tlsrsawithaes128cbcsha256 state for application gateway ssl cipher suite. + TLSRSAWITHAES128CBCSHA256 ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_AES_128_CBC_SHA256" + // TLSRSAWITHAES128GCMSHA256 specifies the tlsrsawithaes128gcmsha256 state for application gateway ssl cipher suite. + TLSRSAWITHAES128GCMSHA256 ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_AES_128_GCM_SHA256" + // TLSRSAWITHAES256CBCSHA specifies the tlsrsawithaes256cbcsha state for application gateway ssl cipher suite. + TLSRSAWITHAES256CBCSHA ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_AES_256_CBC_SHA" + // TLSRSAWITHAES256CBCSHA256 specifies the tlsrsawithaes256cbcsha256 state for application gateway ssl cipher suite. + TLSRSAWITHAES256CBCSHA256 ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_AES_256_CBC_SHA256" + // TLSRSAWITHAES256GCMSHA384 specifies the tlsrsawithaes256gcmsha384 state for application gateway ssl cipher suite. + TLSRSAWITHAES256GCMSHA384 ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_AES_256_GCM_SHA384" +) + +// ApplicationGatewaySslPolicyName enumerates the values for application gateway ssl policy name. +type ApplicationGatewaySslPolicyName string + +const ( + // AppGwSslPolicy20150501 specifies the app gw ssl policy 20150501 state for application gateway ssl policy name. + AppGwSslPolicy20150501 ApplicationGatewaySslPolicyName = "AppGwSslPolicy20150501" + // AppGwSslPolicy20170401 specifies the app gw ssl policy 20170401 state for application gateway ssl policy name. + AppGwSslPolicy20170401 ApplicationGatewaySslPolicyName = "AppGwSslPolicy20170401" + // AppGwSslPolicy20170401S specifies the app gw ssl policy 20170401s state for application gateway ssl policy name. + AppGwSslPolicy20170401S ApplicationGatewaySslPolicyName = "AppGwSslPolicy20170401S" +) + +// ApplicationGatewaySslPolicyType enumerates the values for application gateway ssl policy type. +type ApplicationGatewaySslPolicyType string + +const ( + // Custom specifies the custom state for application gateway ssl policy type. + Custom ApplicationGatewaySslPolicyType = "Custom" + // Predefined specifies the predefined state for application gateway ssl policy type. + Predefined ApplicationGatewaySslPolicyType = "Predefined" +) + +// ApplicationGatewaySslProtocol enumerates the values for application gateway ssl protocol. type ApplicationGatewaySslProtocol string const ( - // TLSv10 specifies the tl sv 10 state for application gateway ssl - // protocol. + // TLSv10 specifies the tl sv 10 state for application gateway ssl protocol. TLSv10 ApplicationGatewaySslProtocol = "TLSv1_0" - // TLSv11 specifies the tl sv 11 state for application gateway ssl - // protocol. + // TLSv11 specifies the tl sv 11 state for application gateway ssl protocol. TLSv11 ApplicationGatewaySslProtocol = "TLSv1_1" - // TLSv12 specifies the tl sv 12 state for application gateway ssl - // protocol. + // TLSv12 specifies the tl sv 12 state for application gateway ssl protocol. TLSv12 ApplicationGatewaySslProtocol = "TLSv1_2" ) @@ -183,6 +259,16 @@ const ( Contains AssociationType = "Contains" ) +// AuthenticationMethod enumerates the values for authentication method. +type AuthenticationMethod string + +const ( + // EAPMSCHAPv2 specifies the eapmscha pv 2 state for authentication method. + EAPMSCHAPv2 AuthenticationMethod = "EAPMSCHAPv2" + // EAPTLS specifies the eaptls state for authentication method. + EAPTLS AuthenticationMethod = "EAPTLS" +) + // AuthorizationUseStatus enumerates the values for authorization use status. type AuthorizationUseStatus string @@ -197,23 +283,32 @@ const ( type BgpPeerState string const ( - // BgpPeerStateConnected specifies the bgp peer state connected state for - // bgp peer state. + // BgpPeerStateConnected specifies the bgp peer state connected state for bgp peer state. BgpPeerStateConnected BgpPeerState = "Connected" - // BgpPeerStateConnecting specifies the bgp peer state connecting state for - // bgp peer state. + // BgpPeerStateConnecting specifies the bgp peer state connecting state for bgp peer state. BgpPeerStateConnecting BgpPeerState = "Connecting" - // BgpPeerStateIdle specifies the bgp peer state idle state for bgp peer - // state. + // BgpPeerStateIdle specifies the bgp peer state idle state for bgp peer state. BgpPeerStateIdle BgpPeerState = "Idle" - // BgpPeerStateStopped specifies the bgp peer state stopped state for bgp - // peer state. + // BgpPeerStateStopped specifies the bgp peer state stopped state for bgp peer state. BgpPeerStateStopped BgpPeerState = "Stopped" - // BgpPeerStateUnknown specifies the bgp peer state unknown state for bgp - // peer state. + // BgpPeerStateUnknown specifies the bgp peer state unknown state for bgp peer state. BgpPeerStateUnknown BgpPeerState = "Unknown" ) +// ConnectionStatus enumerates the values for connection status. +type ConnectionStatus string + +const ( + // ConnectionStatusConnected specifies the connection status connected state for connection status. + ConnectionStatusConnected ConnectionStatus = "Connected" + // ConnectionStatusDegraded specifies the connection status degraded state for connection status. + ConnectionStatusDegraded ConnectionStatus = "Degraded" + // ConnectionStatusDisconnected specifies the connection status disconnected state for connection status. + ConnectionStatusDisconnected ConnectionStatus = "Disconnected" + // ConnectionStatusUnknown specifies the connection status unknown state for connection status. + ConnectionStatusUnknown ConnectionStatus = "Unknown" +) + // DhGroup enumerates the values for dh group. type DhGroup string @@ -250,17 +345,14 @@ const ( type EffectiveRouteSource string const ( - // EffectiveRouteSourceDefault specifies the effective route source default - // state for effective route source. + // EffectiveRouteSourceDefault specifies the effective route source default state for effective route source. EffectiveRouteSourceDefault EffectiveRouteSource = "Default" - // EffectiveRouteSourceUnknown specifies the effective route source unknown - // state for effective route source. + // EffectiveRouteSourceUnknown specifies the effective route source unknown state for effective route source. EffectiveRouteSourceUnknown EffectiveRouteSource = "Unknown" - // EffectiveRouteSourceUser specifies the effective route source user state - // for effective route source. + // EffectiveRouteSourceUser specifies the effective route source user state for effective route source. EffectiveRouteSourceUser EffectiveRouteSource = "User" - // EffectiveRouteSourceVirtualNetworkGateway specifies the effective route - // source virtual network gateway state for effective route source. + // EffectiveRouteSourceVirtualNetworkGateway specifies the effective route source virtual network gateway state for + // effective route source. EffectiveRouteSourceVirtualNetworkGateway EffectiveRouteSource = "VirtualNetworkGateway" ) @@ -274,79 +366,77 @@ const ( Invalid EffectiveRouteState = "Invalid" ) -// ExpressRouteCircuitPeeringAdvertisedPublicPrefixState enumerates the values -// for express route circuit peering advertised public prefix state. +// EffectiveSecurityRuleProtocol enumerates the values for effective security rule protocol. +type EffectiveSecurityRuleProtocol string + +const ( + // All specifies the all state for effective security rule protocol. + All EffectiveSecurityRuleProtocol = "All" + // TCP specifies the tcp state for effective security rule protocol. + TCP EffectiveSecurityRuleProtocol = "Tcp" + // UDP specifies the udp state for effective security rule protocol. + UDP EffectiveSecurityRuleProtocol = "Udp" +) + +// ExpressRouteCircuitPeeringAdvertisedPublicPrefixState enumerates the values for express route circuit peering +// advertised public prefix state. type ExpressRouteCircuitPeeringAdvertisedPublicPrefixState string const ( - // Configured specifies the configured state for express route circuit - // peering advertised public prefix state. + // Configured specifies the configured state for express route circuit peering advertised public prefix state. Configured ExpressRouteCircuitPeeringAdvertisedPublicPrefixState = "Configured" - // Configuring specifies the configuring state for express route circuit - // peering advertised public prefix state. + // Configuring specifies the configuring state for express route circuit peering advertised public prefix state. Configuring ExpressRouteCircuitPeeringAdvertisedPublicPrefixState = "Configuring" - // NotConfigured specifies the not configured state for express route - // circuit peering advertised public prefix state. + // NotConfigured specifies the not configured state for express route circuit peering advertised public prefix state. NotConfigured ExpressRouteCircuitPeeringAdvertisedPublicPrefixState = "NotConfigured" - // ValidationNeeded specifies the validation needed state for express route - // circuit peering advertised public prefix state. + // ValidationNeeded specifies the validation needed state for express route circuit peering advertised public prefix + // state. ValidationNeeded ExpressRouteCircuitPeeringAdvertisedPublicPrefixState = "ValidationNeeded" ) -// ExpressRouteCircuitPeeringState enumerates the values for express route -// circuit peering state. +// ExpressRouteCircuitPeeringState enumerates the values for express route circuit peering state. type ExpressRouteCircuitPeeringState string const ( - // ExpressRouteCircuitPeeringStateDisabled specifies the express route - // circuit peering state disabled state for express route circuit peering - // state. + // ExpressRouteCircuitPeeringStateDisabled specifies the express route circuit peering state disabled state for express + // route circuit peering state. ExpressRouteCircuitPeeringStateDisabled ExpressRouteCircuitPeeringState = "Disabled" - // ExpressRouteCircuitPeeringStateEnabled specifies the express route - // circuit peering state enabled state for express route circuit peering - // state. + // ExpressRouteCircuitPeeringStateEnabled specifies the express route circuit peering state enabled state for express + // route circuit peering state. ExpressRouteCircuitPeeringStateEnabled ExpressRouteCircuitPeeringState = "Enabled" ) -// ExpressRouteCircuitPeeringType enumerates the values for express route -// circuit peering type. +// ExpressRouteCircuitPeeringType enumerates the values for express route circuit peering type. type ExpressRouteCircuitPeeringType string const ( - // AzurePrivatePeering specifies the azure private peering state for - // express route circuit peering type. + // AzurePrivatePeering specifies the azure private peering state for express route circuit peering type. AzurePrivatePeering ExpressRouteCircuitPeeringType = "AzurePrivatePeering" - // AzurePublicPeering specifies the azure public peering state for express - // route circuit peering type. + // AzurePublicPeering specifies the azure public peering state for express route circuit peering type. AzurePublicPeering ExpressRouteCircuitPeeringType = "AzurePublicPeering" - // MicrosoftPeering specifies the microsoft peering state for express route - // circuit peering type. + // MicrosoftPeering specifies the microsoft peering state for express route circuit peering type. MicrosoftPeering ExpressRouteCircuitPeeringType = "MicrosoftPeering" ) -// ExpressRouteCircuitSkuFamily enumerates the values for express route circuit -// sku family. +// ExpressRouteCircuitSkuFamily enumerates the values for express route circuit sku family. type ExpressRouteCircuitSkuFamily string const ( - // MeteredData specifies the metered data state for express route circuit - // sku family. + // MeteredData specifies the metered data state for express route circuit sku family. MeteredData ExpressRouteCircuitSkuFamily = "MeteredData" - // UnlimitedData specifies the unlimited data state for express route - // circuit sku family. + // UnlimitedData specifies the unlimited data state for express route circuit sku family. UnlimitedData ExpressRouteCircuitSkuFamily = "UnlimitedData" ) -// ExpressRouteCircuitSkuTier enumerates the values for express route circuit -// sku tier. +// ExpressRouteCircuitSkuTier enumerates the values for express route circuit sku tier. type ExpressRouteCircuitSkuTier string const ( - // ExpressRouteCircuitSkuTierPremium specifies the express route circuit - // sku tier premium state for express route circuit sku tier. + // ExpressRouteCircuitSkuTierPremium specifies the express route circuit sku tier premium state for express route + // circuit sku tier. ExpressRouteCircuitSkuTierPremium ExpressRouteCircuitSkuTier = "Premium" - // ExpressRouteCircuitSkuTierStandard specifies the express route circuit - // sku tier standard state for express route circuit sku tier. + // ExpressRouteCircuitSkuTierStandard specifies the express route circuit sku tier standard state for express route + // circuit sku tier. ExpressRouteCircuitSkuTierStandard ExpressRouteCircuitSkuTier = "Standard" ) @@ -394,32 +484,23 @@ const ( type IpsecEncryption string const ( - // IpsecEncryptionAES128 specifies the ipsec encryption aes128 state for - // ipsec encryption. + // IpsecEncryptionAES128 specifies the ipsec encryption aes128 state for ipsec encryption. IpsecEncryptionAES128 IpsecEncryption = "AES128" - // IpsecEncryptionAES192 specifies the ipsec encryption aes192 state for - // ipsec encryption. + // IpsecEncryptionAES192 specifies the ipsec encryption aes192 state for ipsec encryption. IpsecEncryptionAES192 IpsecEncryption = "AES192" - // IpsecEncryptionAES256 specifies the ipsec encryption aes256 state for - // ipsec encryption. + // IpsecEncryptionAES256 specifies the ipsec encryption aes256 state for ipsec encryption. IpsecEncryptionAES256 IpsecEncryption = "AES256" - // IpsecEncryptionDES specifies the ipsec encryption des state for ipsec - // encryption. + // IpsecEncryptionDES specifies the ipsec encryption des state for ipsec encryption. IpsecEncryptionDES IpsecEncryption = "DES" - // IpsecEncryptionDES3 specifies the ipsec encryption des3 state for ipsec - // encryption. + // IpsecEncryptionDES3 specifies the ipsec encryption des3 state for ipsec encryption. IpsecEncryptionDES3 IpsecEncryption = "DES3" - // IpsecEncryptionGCMAES128 specifies the ipsec encryption gcmaes128 state - // for ipsec encryption. + // IpsecEncryptionGCMAES128 specifies the ipsec encryption gcmaes128 state for ipsec encryption. IpsecEncryptionGCMAES128 IpsecEncryption = "GCMAES128" - // IpsecEncryptionGCMAES192 specifies the ipsec encryption gcmaes192 state - // for ipsec encryption. + // IpsecEncryptionGCMAES192 specifies the ipsec encryption gcmaes192 state for ipsec encryption. IpsecEncryptionGCMAES192 IpsecEncryption = "GCMAES192" - // IpsecEncryptionGCMAES256 specifies the ipsec encryption gcmaes256 state - // for ipsec encryption. + // IpsecEncryptionGCMAES256 specifies the ipsec encryption gcmaes256 state for ipsec encryption. IpsecEncryptionGCMAES256 IpsecEncryption = "GCMAES256" - // IpsecEncryptionNone specifies the ipsec encryption none state for ipsec - // encryption. + // IpsecEncryptionNone specifies the ipsec encryption none state for ipsec encryption. IpsecEncryptionNone IpsecEncryption = "None" ) @@ -427,23 +508,17 @@ const ( type IpsecIntegrity string const ( - // IpsecIntegrityGCMAES128 specifies the ipsec integrity gcmaes128 state - // for ipsec integrity. + // IpsecIntegrityGCMAES128 specifies the ipsec integrity gcmaes128 state for ipsec integrity. IpsecIntegrityGCMAES128 IpsecIntegrity = "GCMAES128" - // IpsecIntegrityGCMAES192 specifies the ipsec integrity gcmaes192 state - // for ipsec integrity. + // IpsecIntegrityGCMAES192 specifies the ipsec integrity gcmaes192 state for ipsec integrity. IpsecIntegrityGCMAES192 IpsecIntegrity = "GCMAES192" - // IpsecIntegrityGCMAES256 specifies the ipsec integrity gcmaes256 state - // for ipsec integrity. + // IpsecIntegrityGCMAES256 specifies the ipsec integrity gcmaes256 state for ipsec integrity. IpsecIntegrityGCMAES256 IpsecIntegrity = "GCMAES256" - // IpsecIntegrityMD5 specifies the ipsec integrity md5 state for ipsec - // integrity. + // IpsecIntegrityMD5 specifies the ipsec integrity md5 state for ipsec integrity. IpsecIntegrityMD5 IpsecIntegrity = "MD5" - // IpsecIntegritySHA1 specifies the ipsec integrity sha1 state for ipsec - // integrity. + // IpsecIntegritySHA1 specifies the ipsec integrity sha1 state for ipsec integrity. IpsecIntegritySHA1 IpsecIntegrity = "SHA1" - // IpsecIntegritySHA256 specifies the ipsec integrity sha256 state for - // ipsec integrity. + // IpsecIntegritySHA256 specifies the ipsec integrity sha256 state for ipsec integrity. IpsecIntegritySHA256 IpsecIntegrity = "SHA256" ) @@ -457,6 +532,40 @@ const ( IPv6 IPVersion = "IPv6" ) +// IssueType enumerates the values for issue type. +type IssueType string + +const ( + // IssueTypeAgentStopped specifies the issue type agent stopped state for issue type. + IssueTypeAgentStopped IssueType = "AgentStopped" + // IssueTypeDNSResolution specifies the issue type dns resolution state for issue type. + IssueTypeDNSResolution IssueType = "DnsResolution" + // IssueTypeGuestFirewall specifies the issue type guest firewall state for issue type. + IssueTypeGuestFirewall IssueType = "GuestFirewall" + // IssueTypeNetworkSecurityRule specifies the issue type network security rule state for issue type. + IssueTypeNetworkSecurityRule IssueType = "NetworkSecurityRule" + // IssueTypePlatform specifies the issue type platform state for issue type. + IssueTypePlatform IssueType = "Platform" + // IssueTypePortThrottled specifies the issue type port throttled state for issue type. + IssueTypePortThrottled IssueType = "PortThrottled" + // IssueTypeSocketBind specifies the issue type socket bind state for issue type. + IssueTypeSocketBind IssueType = "SocketBind" + // IssueTypeUnknown specifies the issue type unknown state for issue type. + IssueTypeUnknown IssueType = "Unknown" + // IssueTypeUserDefinedRoute specifies the issue type user defined route state for issue type. + IssueTypeUserDefinedRoute IssueType = "UserDefinedRoute" +) + +// LoadBalancerSkuName enumerates the values for load balancer sku name. +type LoadBalancerSkuName string + +const ( + // LoadBalancerSkuNameBasic specifies the load balancer sku name basic state for load balancer sku name. + LoadBalancerSkuNameBasic LoadBalancerSkuName = "Basic" + // LoadBalancerSkuNameStandard specifies the load balancer sku name standard state for load balancer sku name. + LoadBalancerSkuNameStandard LoadBalancerSkuName = "Standard" +) + // LoadDistribution enumerates the values for load distribution. type LoadDistribution string @@ -465,8 +574,7 @@ const ( Default LoadDistribution = "Default" // SourceIP specifies the source ip state for load distribution. SourceIP LoadDistribution = "SourceIP" - // SourceIPProtocol specifies the source ip protocol state for load - // distribution. + // SourceIPProtocol specifies the source ip protocol state for load distribution. SourceIPProtocol LoadDistribution = "SourceIPProtocol" ) @@ -474,23 +582,17 @@ const ( type NextHopType string const ( - // NextHopTypeHyperNetGateway specifies the next hop type hyper net gateway - // state for next hop type. + // NextHopTypeHyperNetGateway specifies the next hop type hyper net gateway state for next hop type. NextHopTypeHyperNetGateway NextHopType = "HyperNetGateway" - // NextHopTypeInternet specifies the next hop type internet state for next - // hop type. + // NextHopTypeInternet specifies the next hop type internet state for next hop type. NextHopTypeInternet NextHopType = "Internet" - // NextHopTypeNone specifies the next hop type none state for next hop - // type. + // NextHopTypeNone specifies the next hop type none state for next hop type. NextHopTypeNone NextHopType = "None" - // NextHopTypeVirtualAppliance specifies the next hop type virtual - // appliance state for next hop type. + // NextHopTypeVirtualAppliance specifies the next hop type virtual appliance state for next hop type. NextHopTypeVirtualAppliance NextHopType = "VirtualAppliance" - // NextHopTypeVirtualNetworkGateway specifies the next hop type virtual - // network gateway state for next hop type. + // NextHopTypeVirtualNetworkGateway specifies the next hop type virtual network gateway state for next hop type. NextHopTypeVirtualNetworkGateway NextHopType = "VirtualNetworkGateway" - // NextHopTypeVnetLocal specifies the next hop type vnet local state for - // next hop type. + // NextHopTypeVnetLocal specifies the next hop type vnet local state for next hop type. NextHopTypeVnetLocal NextHopType = "VnetLocal" ) @@ -506,6 +608,18 @@ const ( Succeeded OperationStatus = "Succeeded" ) +// Origin enumerates the values for origin. +type Origin string + +const ( + // OriginInbound specifies the origin inbound state for origin. + OriginInbound Origin = "Inbound" + // OriginLocal specifies the origin local state for origin. + OriginLocal Origin = "Local" + // OriginOutbound specifies the origin outbound state for origin. + OriginOutbound Origin = "Outbound" +) + // PcError enumerates the values for pc error. type PcError string @@ -526,12 +640,12 @@ const ( type PcProtocol string const ( - // Any specifies the any state for pc protocol. - Any PcProtocol = "Any" - // TCP specifies the tcp state for pc protocol. - TCP PcProtocol = "TCP" - // UDP specifies the udp state for pc protocol. - UDP PcProtocol = "UDP" + // PcProtocolAny specifies the pc protocol any state for pc protocol. + PcProtocolAny PcProtocol = "Any" + // PcProtocolTCP specifies the pc protocol tcp state for pc protocol. + PcProtocolTCP PcProtocol = "TCP" + // PcProtocolUDP specifies the pc protocol udp state for pc protocol. + PcProtocolUDP PcProtocol = "UDP" ) // PcStatus enumerates the values for pc status. @@ -540,8 +654,7 @@ type PcStatus string const ( // PcStatusError specifies the pc status error state for pc status. PcStatusError PcStatus = "Error" - // PcStatusNotStarted specifies the pc status not started state for pc - // status. + // PcStatusNotStarted specifies the pc status not started state for pc status. PcStatusNotStarted PcStatus = "NotStarted" // PcStatusRunning specifies the pc status running state for pc status. PcStatusRunning PcStatus = "Running" @@ -575,11 +688,9 @@ const ( type ProbeProtocol string const ( - // ProbeProtocolHTTP specifies the probe protocol http state for probe - // protocol. + // ProbeProtocolHTTP specifies the probe protocol http state for probe protocol. ProbeProtocolHTTP ProbeProtocol = "Http" - // ProbeProtocolTCP specifies the probe protocol tcp state for probe - // protocol. + // ProbeProtocolTCP specifies the probe protocol tcp state for probe protocol. ProbeProtocolTCP ProbeProtocol = "Tcp" ) @@ -607,38 +718,41 @@ const ( type ProvisioningState string const ( - // ProvisioningStateDeleting specifies the provisioning state deleting - // state for provisioning state. + // ProvisioningStateDeleting specifies the provisioning state deleting state for provisioning state. ProvisioningStateDeleting ProvisioningState = "Deleting" - // ProvisioningStateFailed specifies the provisioning state failed state - // for provisioning state. + // ProvisioningStateFailed specifies the provisioning state failed state for provisioning state. ProvisioningStateFailed ProvisioningState = "Failed" - // ProvisioningStateSucceeded specifies the provisioning state succeeded - // state for provisioning state. + // ProvisioningStateSucceeded specifies the provisioning state succeeded state for provisioning state. ProvisioningStateSucceeded ProvisioningState = "Succeeded" - // ProvisioningStateUpdating specifies the provisioning state updating - // state for provisioning state. + // ProvisioningStateUpdating specifies the provisioning state updating state for provisioning state. ProvisioningStateUpdating ProvisioningState = "Updating" ) +// PublicIPAddressSkuName enumerates the values for public ip address sku name. +type PublicIPAddressSkuName string + +const ( + // PublicIPAddressSkuNameBasic specifies the public ip address sku name basic state for public ip address sku name. + PublicIPAddressSkuNameBasic PublicIPAddressSkuName = "Basic" + // PublicIPAddressSkuNameStandard specifies the public ip address sku name standard state for public ip address sku + // name. + PublicIPAddressSkuNameStandard PublicIPAddressSkuName = "Standard" +) + // RouteNextHopType enumerates the values for route next hop type. type RouteNextHopType string const ( - // RouteNextHopTypeInternet specifies the route next hop type internet - // state for route next hop type. + // RouteNextHopTypeInternet specifies the route next hop type internet state for route next hop type. RouteNextHopTypeInternet RouteNextHopType = "Internet" - // RouteNextHopTypeNone specifies the route next hop type none state for - // route next hop type. + // RouteNextHopTypeNone specifies the route next hop type none state for route next hop type. RouteNextHopTypeNone RouteNextHopType = "None" - // RouteNextHopTypeVirtualAppliance specifies the route next hop type - // virtual appliance state for route next hop type. + // RouteNextHopTypeVirtualAppliance specifies the route next hop type virtual appliance state for route next hop type. RouteNextHopTypeVirtualAppliance RouteNextHopType = "VirtualAppliance" - // RouteNextHopTypeVirtualNetworkGateway specifies the route next hop type - // virtual network gateway state for route next hop type. + // RouteNextHopTypeVirtualNetworkGateway specifies the route next hop type virtual network gateway state for route next + // hop type. RouteNextHopTypeVirtualNetworkGateway RouteNextHopType = "VirtualNetworkGateway" - // RouteNextHopTypeVnetLocal specifies the route next hop type vnet local - // state for route next hop type. + // RouteNextHopTypeVnetLocal specifies the route next hop type vnet local state for route next hop type. RouteNextHopTypeVnetLocal RouteNextHopType = "VnetLocal" ) @@ -646,11 +760,9 @@ const ( type SecurityRuleAccess string const ( - // SecurityRuleAccessAllow specifies the security rule access allow state - // for security rule access. + // SecurityRuleAccessAllow specifies the security rule access allow state for security rule access. SecurityRuleAccessAllow SecurityRuleAccess = "Allow" - // SecurityRuleAccessDeny specifies the security rule access deny state for - // security rule access. + // SecurityRuleAccessDeny specifies the security rule access deny state for security rule access. SecurityRuleAccessDeny SecurityRuleAccess = "Deny" ) @@ -658,11 +770,9 @@ const ( type SecurityRuleDirection string const ( - // SecurityRuleDirectionInbound specifies the security rule direction - // inbound state for security rule direction. + // SecurityRuleDirectionInbound specifies the security rule direction inbound state for security rule direction. SecurityRuleDirectionInbound SecurityRuleDirection = "Inbound" - // SecurityRuleDirectionOutbound specifies the security rule direction - // outbound state for security rule direction. + // SecurityRuleDirectionOutbound specifies the security rule direction outbound state for security rule direction. SecurityRuleDirectionOutbound SecurityRuleDirection = "Outbound" ) @@ -670,179 +780,169 @@ const ( type SecurityRuleProtocol string const ( - // SecurityRuleProtocolAsterisk specifies the security rule protocol - // asterisk state for security rule protocol. + // SecurityRuleProtocolAsterisk specifies the security rule protocol asterisk state for security rule protocol. SecurityRuleProtocolAsterisk SecurityRuleProtocol = "*" - // SecurityRuleProtocolTCP specifies the security rule protocol tcp state - // for security rule protocol. + // SecurityRuleProtocolTCP specifies the security rule protocol tcp state for security rule protocol. SecurityRuleProtocolTCP SecurityRuleProtocol = "Tcp" - // SecurityRuleProtocolUDP specifies the security rule protocol udp state - // for security rule protocol. + // SecurityRuleProtocolUDP specifies the security rule protocol udp state for security rule protocol. SecurityRuleProtocolUDP SecurityRuleProtocol = "Udp" ) -// ServiceProviderProvisioningState enumerates the values for service provider -// provisioning state. +// ServiceProviderProvisioningState enumerates the values for service provider provisioning state. type ServiceProviderProvisioningState string const ( - // Deprovisioning specifies the deprovisioning state for service provider - // provisioning state. + // Deprovisioning specifies the deprovisioning state for service provider provisioning state. Deprovisioning ServiceProviderProvisioningState = "Deprovisioning" - // NotProvisioned specifies the not provisioned state for service provider - // provisioning state. + // NotProvisioned specifies the not provisioned state for service provider provisioning state. NotProvisioned ServiceProviderProvisioningState = "NotProvisioned" - // Provisioned specifies the provisioned state for service provider - // provisioning state. + // Provisioned specifies the provisioned state for service provider provisioning state. Provisioned ServiceProviderProvisioningState = "Provisioned" - // Provisioning specifies the provisioning state for service provider - // provisioning state. + // Provisioning specifies the provisioning state for service provider provisioning state. Provisioning ServiceProviderProvisioningState = "Provisioning" ) +// Severity enumerates the values for severity. +type Severity string + +const ( + // SeverityError specifies the severity error state for severity. + SeverityError Severity = "Error" + // SeverityWarning specifies the severity warning state for severity. + SeverityWarning Severity = "Warning" +) + // TransportProtocol enumerates the values for transport protocol. type TransportProtocol string const ( - // TransportProtocolTCP specifies the transport protocol tcp state for - // transport protocol. + // TransportProtocolAll specifies the transport protocol all state for transport protocol. + TransportProtocolAll TransportProtocol = "All" + // TransportProtocolTCP specifies the transport protocol tcp state for transport protocol. TransportProtocolTCP TransportProtocol = "Tcp" - // TransportProtocolUDP specifies the transport protocol udp state for - // transport protocol. + // TransportProtocolUDP specifies the transport protocol udp state for transport protocol. TransportProtocolUDP TransportProtocol = "Udp" ) -// VirtualNetworkGatewayConnectionStatus enumerates the values for virtual -// network gateway connection status. +// VirtualNetworkGatewayConnectionStatus enumerates the values for virtual network gateway connection status. type VirtualNetworkGatewayConnectionStatus string const ( - // VirtualNetworkGatewayConnectionStatusConnected specifies the virtual - // network gateway connection status connected state for virtual network - // gateway connection status. + // VirtualNetworkGatewayConnectionStatusConnected specifies the virtual network gateway connection status connected + // state for virtual network gateway connection status. VirtualNetworkGatewayConnectionStatusConnected VirtualNetworkGatewayConnectionStatus = "Connected" - // VirtualNetworkGatewayConnectionStatusConnecting specifies the virtual - // network gateway connection status connecting state for virtual network - // gateway connection status. + // VirtualNetworkGatewayConnectionStatusConnecting specifies the virtual network gateway connection status connecting + // state for virtual network gateway connection status. VirtualNetworkGatewayConnectionStatusConnecting VirtualNetworkGatewayConnectionStatus = "Connecting" - // VirtualNetworkGatewayConnectionStatusNotConnected specifies the virtual - // network gateway connection status not connected state for virtual - // network gateway connection status. + // VirtualNetworkGatewayConnectionStatusNotConnected specifies the virtual network gateway connection status not + // connected state for virtual network gateway connection status. VirtualNetworkGatewayConnectionStatusNotConnected VirtualNetworkGatewayConnectionStatus = "NotConnected" - // VirtualNetworkGatewayConnectionStatusUnknown specifies the virtual - // network gateway connection status unknown state for virtual network - // gateway connection status. + // VirtualNetworkGatewayConnectionStatusUnknown specifies the virtual network gateway connection status unknown state + // for virtual network gateway connection status. VirtualNetworkGatewayConnectionStatusUnknown VirtualNetworkGatewayConnectionStatus = "Unknown" ) -// VirtualNetworkGatewayConnectionType enumerates the values for virtual -// network gateway connection type. +// VirtualNetworkGatewayConnectionType enumerates the values for virtual network gateway connection type. type VirtualNetworkGatewayConnectionType string const ( - // ExpressRoute specifies the express route state for virtual network - // gateway connection type. + // ExpressRoute specifies the express route state for virtual network gateway connection type. ExpressRoute VirtualNetworkGatewayConnectionType = "ExpressRoute" - // IPsec specifies the i psec state for virtual network gateway connection - // type. + // IPsec specifies the i psec state for virtual network gateway connection type. IPsec VirtualNetworkGatewayConnectionType = "IPsec" - // Vnet2Vnet specifies the vnet 2 vnet state for virtual network gateway - // connection type. + // Vnet2Vnet specifies the vnet 2 vnet state for virtual network gateway connection type. Vnet2Vnet VirtualNetworkGatewayConnectionType = "Vnet2Vnet" - // VPNClient specifies the vpn client state for virtual network gateway - // connection type. + // VPNClient specifies the vpn client state for virtual network gateway connection type. VPNClient VirtualNetworkGatewayConnectionType = "VPNClient" ) -// VirtualNetworkGatewaySkuName enumerates the values for virtual network -// gateway sku name. +// VirtualNetworkGatewaySkuName enumerates the values for virtual network gateway sku name. type VirtualNetworkGatewaySkuName string const ( - // VirtualNetworkGatewaySkuNameBasic specifies the virtual network gateway - // sku name basic state for virtual network gateway sku name. + // VirtualNetworkGatewaySkuNameBasic specifies the virtual network gateway sku name basic state for virtual network + // gateway sku name. VirtualNetworkGatewaySkuNameBasic VirtualNetworkGatewaySkuName = "Basic" - // VirtualNetworkGatewaySkuNameHighPerformance specifies the virtual - // network gateway sku name high performance state for virtual network - // gateway sku name. + // VirtualNetworkGatewaySkuNameHighPerformance specifies the virtual network gateway sku name high performance state + // for virtual network gateway sku name. VirtualNetworkGatewaySkuNameHighPerformance VirtualNetworkGatewaySkuName = "HighPerformance" - // VirtualNetworkGatewaySkuNameStandard specifies the virtual network - // gateway sku name standard state for virtual network gateway sku name. + // VirtualNetworkGatewaySkuNameStandard specifies the virtual network gateway sku name standard state for virtual + // network gateway sku name. VirtualNetworkGatewaySkuNameStandard VirtualNetworkGatewaySkuName = "Standard" - // VirtualNetworkGatewaySkuNameUltraPerformance specifies the virtual - // network gateway sku name ultra performance state for virtual network - // gateway sku name. + // VirtualNetworkGatewaySkuNameUltraPerformance specifies the virtual network gateway sku name ultra performance state + // for virtual network gateway sku name. VirtualNetworkGatewaySkuNameUltraPerformance VirtualNetworkGatewaySkuName = "UltraPerformance" - // VirtualNetworkGatewaySkuNameVpnGw1 specifies the virtual network gateway - // sku name vpn gw 1 state for virtual network gateway sku name. + // VirtualNetworkGatewaySkuNameVpnGw1 specifies the virtual network gateway sku name vpn gw 1 state for virtual network + // gateway sku name. VirtualNetworkGatewaySkuNameVpnGw1 VirtualNetworkGatewaySkuName = "VpnGw1" - // VirtualNetworkGatewaySkuNameVpnGw2 specifies the virtual network gateway - // sku name vpn gw 2 state for virtual network gateway sku name. + // VirtualNetworkGatewaySkuNameVpnGw2 specifies the virtual network gateway sku name vpn gw 2 state for virtual network + // gateway sku name. VirtualNetworkGatewaySkuNameVpnGw2 VirtualNetworkGatewaySkuName = "VpnGw2" - // VirtualNetworkGatewaySkuNameVpnGw3 specifies the virtual network gateway - // sku name vpn gw 3 state for virtual network gateway sku name. + // VirtualNetworkGatewaySkuNameVpnGw3 specifies the virtual network gateway sku name vpn gw 3 state for virtual network + // gateway sku name. VirtualNetworkGatewaySkuNameVpnGw3 VirtualNetworkGatewaySkuName = "VpnGw3" ) -// VirtualNetworkGatewaySkuTier enumerates the values for virtual network -// gateway sku tier. +// VirtualNetworkGatewaySkuTier enumerates the values for virtual network gateway sku tier. type VirtualNetworkGatewaySkuTier string const ( - // VirtualNetworkGatewaySkuTierBasic specifies the virtual network gateway - // sku tier basic state for virtual network gateway sku tier. + // VirtualNetworkGatewaySkuTierBasic specifies the virtual network gateway sku tier basic state for virtual network + // gateway sku tier. VirtualNetworkGatewaySkuTierBasic VirtualNetworkGatewaySkuTier = "Basic" - // VirtualNetworkGatewaySkuTierHighPerformance specifies the virtual - // network gateway sku tier high performance state for virtual network - // gateway sku tier. + // VirtualNetworkGatewaySkuTierHighPerformance specifies the virtual network gateway sku tier high performance state + // for virtual network gateway sku tier. VirtualNetworkGatewaySkuTierHighPerformance VirtualNetworkGatewaySkuTier = "HighPerformance" - // VirtualNetworkGatewaySkuTierStandard specifies the virtual network - // gateway sku tier standard state for virtual network gateway sku tier. + // VirtualNetworkGatewaySkuTierStandard specifies the virtual network gateway sku tier standard state for virtual + // network gateway sku tier. VirtualNetworkGatewaySkuTierStandard VirtualNetworkGatewaySkuTier = "Standard" - // VirtualNetworkGatewaySkuTierUltraPerformance specifies the virtual - // network gateway sku tier ultra performance state for virtual network - // gateway sku tier. + // VirtualNetworkGatewaySkuTierUltraPerformance specifies the virtual network gateway sku tier ultra performance state + // for virtual network gateway sku tier. VirtualNetworkGatewaySkuTierUltraPerformance VirtualNetworkGatewaySkuTier = "UltraPerformance" - // VirtualNetworkGatewaySkuTierVpnGw1 specifies the virtual network gateway - // sku tier vpn gw 1 state for virtual network gateway sku tier. + // VirtualNetworkGatewaySkuTierVpnGw1 specifies the virtual network gateway sku tier vpn gw 1 state for virtual network + // gateway sku tier. VirtualNetworkGatewaySkuTierVpnGw1 VirtualNetworkGatewaySkuTier = "VpnGw1" - // VirtualNetworkGatewaySkuTierVpnGw2 specifies the virtual network gateway - // sku tier vpn gw 2 state for virtual network gateway sku tier. + // VirtualNetworkGatewaySkuTierVpnGw2 specifies the virtual network gateway sku tier vpn gw 2 state for virtual network + // gateway sku tier. VirtualNetworkGatewaySkuTierVpnGw2 VirtualNetworkGatewaySkuTier = "VpnGw2" - // VirtualNetworkGatewaySkuTierVpnGw3 specifies the virtual network gateway - // sku tier vpn gw 3 state for virtual network gateway sku tier. + // VirtualNetworkGatewaySkuTierVpnGw3 specifies the virtual network gateway sku tier vpn gw 3 state for virtual network + // gateway sku tier. VirtualNetworkGatewaySkuTierVpnGw3 VirtualNetworkGatewaySkuTier = "VpnGw3" ) -// VirtualNetworkGatewayType enumerates the values for virtual network gateway -// type. +// VirtualNetworkGatewayType enumerates the values for virtual network gateway type. type VirtualNetworkGatewayType string const ( - // VirtualNetworkGatewayTypeExpressRoute specifies the virtual network - // gateway type express route state for virtual network gateway type. + // VirtualNetworkGatewayTypeExpressRoute specifies the virtual network gateway type express route state for virtual + // network gateway type. VirtualNetworkGatewayTypeExpressRoute VirtualNetworkGatewayType = "ExpressRoute" - // VirtualNetworkGatewayTypeVpn specifies the virtual network gateway type - // vpn state for virtual network gateway type. + // VirtualNetworkGatewayTypeVpn specifies the virtual network gateway type vpn state for virtual network gateway type. VirtualNetworkGatewayTypeVpn VirtualNetworkGatewayType = "Vpn" ) -// VirtualNetworkPeeringState enumerates the values for virtual network peering -// state. +// VirtualNetworkPeeringState enumerates the values for virtual network peering state. type VirtualNetworkPeeringState string const ( - // Connected specifies the connected state for virtual network peering - // state. + // Connected specifies the connected state for virtual network peering state. Connected VirtualNetworkPeeringState = "Connected" - // Disconnected specifies the disconnected state for virtual network - // peering state. + // Disconnected specifies the disconnected state for virtual network peering state. Disconnected VirtualNetworkPeeringState = "Disconnected" - // Initiated specifies the initiated state for virtual network peering - // state. + // Initiated specifies the initiated state for virtual network peering state. Initiated VirtualNetworkPeeringState = "Initiated" ) +// VpnClientProtocol enumerates the values for vpn client protocol. +type VpnClientProtocol string + +const ( + // IkeV2 specifies the ike v2 state for vpn client protocol. + IkeV2 VpnClientProtocol = "IkeV2" + // SSTP specifies the sstp state for vpn client protocol. + SSTP VpnClientProtocol = "SSTP" +) + // VpnType enumerates the values for vpn type. type VpnType string @@ -853,8 +953,8 @@ const ( RouteBased VpnType = "RouteBased" ) -// AddressSpace is addressSpace contains an array of IP address ranges that can -// be used by subnets of the virtual network. +// AddressSpace is addressSpace contains an array of IP address ranges that can be used by subnets of the virtual +// network. type AddressSpace struct { AddressPrefixes *[]string `json:"addressPrefixes,omitempty"` } @@ -871,114 +971,151 @@ type ApplicationGateway struct { Etag *string `json:"etag,omitempty"` } -// ApplicationGatewayAuthenticationCertificate is authentication certificates -// of an application gateway. +// ApplicationGatewayAuthenticationCertificate is authentication certificates of an application gateway. type ApplicationGatewayAuthenticationCertificate struct { ID *string `json:"id,omitempty"` *ApplicationGatewayAuthenticationCertificatePropertiesFormat `json:"properties,omitempty"` Name *string `json:"name,omitempty"` Etag *string `json:"etag,omitempty"` + Type *string `json:"type,omitempty"` } -// ApplicationGatewayAuthenticationCertificatePropertiesFormat is -// authentication certificates properties of an application gateway. +// ApplicationGatewayAuthenticationCertificatePropertiesFormat is authentication certificates properties of an +// application gateway. type ApplicationGatewayAuthenticationCertificatePropertiesFormat struct { Data *string `json:"data,omitempty"` ProvisioningState *string `json:"provisioningState,omitempty"` } -// ApplicationGatewayAvailableWafRuleSetsResult is response for -// ApplicationGatewayAvailableWafRuleSets API service call. +// ApplicationGatewayAvailableSslOptions is response for ApplicationGatewayAvailableSslOptions API service call. +type ApplicationGatewayAvailableSslOptions struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + *ApplicationGatewayAvailableSslOptionsPropertiesFormat `json:"properties,omitempty"` +} + +// ApplicationGatewayAvailableSslOptionsPropertiesFormat is properties of ApplicationGatewayAvailableSslOptions +type ApplicationGatewayAvailableSslOptionsPropertiesFormat struct { + PredefinedPolicies *[]SubResource `json:"predefinedPolicies,omitempty"` + DefaultPolicy ApplicationGatewaySslPolicyName `json:"defaultPolicy,omitempty"` + AvailableCipherSuites *[]ApplicationGatewaySslCipherSuite `json:"availableCipherSuites,omitempty"` + AvailableProtocols *[]ApplicationGatewaySslProtocol `json:"availableProtocols,omitempty"` +} + +// ApplicationGatewayAvailableSslPredefinedPolicies is response for ApplicationGatewayAvailableSslOptions API service +// call. +type ApplicationGatewayAvailableSslPredefinedPolicies struct { + autorest.Response `json:"-"` + Value *[]ApplicationGatewaySslPredefinedPolicy `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// ApplicationGatewayAvailableSslPredefinedPoliciesPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client ApplicationGatewayAvailableSslPredefinedPolicies) ApplicationGatewayAvailableSslPredefinedPoliciesPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// ApplicationGatewayAvailableWafRuleSetsResult is response for ApplicationGatewayAvailableWafRuleSets API service +// call. type ApplicationGatewayAvailableWafRuleSetsResult struct { autorest.Response `json:"-"` Value *[]ApplicationGatewayFirewallRuleSet `json:"value,omitempty"` } -// ApplicationGatewayBackendAddress is backend address of an application -// gateway. +// ApplicationGatewayBackendAddress is backend address of an application gateway. type ApplicationGatewayBackendAddress struct { Fqdn *string `json:"fqdn,omitempty"` IPAddress *string `json:"ipAddress,omitempty"` } -// ApplicationGatewayBackendAddressPool is backend Address Pool of an -// application gateway. +// ApplicationGatewayBackendAddressPool is backend Address Pool of an application gateway. type ApplicationGatewayBackendAddressPool struct { ID *string `json:"id,omitempty"` *ApplicationGatewayBackendAddressPoolPropertiesFormat `json:"properties,omitempty"` Name *string `json:"name,omitempty"` Etag *string `json:"etag,omitempty"` + Type *string `json:"type,omitempty"` } -// ApplicationGatewayBackendAddressPoolPropertiesFormat is properties of -// Backend Address Pool of an application gateway. +// ApplicationGatewayBackendAddressPoolPropertiesFormat is properties of Backend Address Pool of an application +// gateway. type ApplicationGatewayBackendAddressPoolPropertiesFormat struct { BackendIPConfigurations *[]InterfaceIPConfiguration `json:"backendIPConfigurations,omitempty"` BackendAddresses *[]ApplicationGatewayBackendAddress `json:"backendAddresses,omitempty"` ProvisioningState *string `json:"provisioningState,omitempty"` } -// ApplicationGatewayBackendHealth is list of -// ApplicationGatewayBackendHealthPool resources. +// ApplicationGatewayBackendHealth is list of ApplicationGatewayBackendHealthPool resources. type ApplicationGatewayBackendHealth struct { autorest.Response `json:"-"` BackendAddressPools *[]ApplicationGatewayBackendHealthPool `json:"backendAddressPools,omitempty"` } -// ApplicationGatewayBackendHealthHTTPSettings is application gateway -// BackendHealthHttp settings. +// ApplicationGatewayBackendHealthHTTPSettings is application gateway BackendHealthHttp settings. type ApplicationGatewayBackendHealthHTTPSettings struct { BackendHTTPSettings *ApplicationGatewayBackendHTTPSettings `json:"backendHttpSettings,omitempty"` Servers *[]ApplicationGatewayBackendHealthServer `json:"servers,omitempty"` } -// ApplicationGatewayBackendHealthPool is application gateway BackendHealth -// pool. +// ApplicationGatewayBackendHealthPool is application gateway BackendHealth pool. type ApplicationGatewayBackendHealthPool struct { BackendAddressPool *ApplicationGatewayBackendAddressPool `json:"backendAddressPool,omitempty"` BackendHTTPSettingsCollection *[]ApplicationGatewayBackendHealthHTTPSettings `json:"backendHttpSettingsCollection,omitempty"` } -// ApplicationGatewayBackendHealthServer is application gateway backendhealth -// http settings. +// ApplicationGatewayBackendHealthServer is application gateway backendhealth http settings. type ApplicationGatewayBackendHealthServer struct { Address *string `json:"address,omitempty"` - IPConfiguration *SubResource `json:"ipConfiguration,omitempty"` + IPConfiguration *InterfaceIPConfiguration `json:"ipConfiguration,omitempty"` Health ApplicationGatewayBackendHealthServerHealth `json:"health,omitempty"` } -// ApplicationGatewayBackendHTTPSettings is backend address pool settings of an -// application gateway. +// ApplicationGatewayBackendHTTPSettings is backend address pool settings of an application gateway. type ApplicationGatewayBackendHTTPSettings struct { ID *string `json:"id,omitempty"` *ApplicationGatewayBackendHTTPSettingsPropertiesFormat `json:"properties,omitempty"` Name *string `json:"name,omitempty"` Etag *string `json:"etag,omitempty"` + Type *string `json:"type,omitempty"` } -// ApplicationGatewayBackendHTTPSettingsPropertiesFormat is properties of -// Backend address pool settings of an application gateway. +// ApplicationGatewayBackendHTTPSettingsPropertiesFormat is properties of Backend address pool settings of an +// application gateway. type ApplicationGatewayBackendHTTPSettingsPropertiesFormat struct { - Port *int32 `json:"port,omitempty"` - Protocol ApplicationGatewayProtocol `json:"protocol,omitempty"` - CookieBasedAffinity ApplicationGatewayCookieBasedAffinity `json:"cookieBasedAffinity,omitempty"` - RequestTimeout *int32 `json:"requestTimeout,omitempty"` - Probe *SubResource `json:"probe,omitempty"` - AuthenticationCertificates *[]SubResource `json:"authenticationCertificates,omitempty"` - ProvisioningState *string `json:"provisioningState,omitempty"` - ConnectionDraining *ApplicationGatewayConnectionDraining `json:"connectionDraining,omitempty"` + Port *int32 `json:"port,omitempty"` + Protocol ApplicationGatewayProtocol `json:"protocol,omitempty"` + CookieBasedAffinity ApplicationGatewayCookieBasedAffinity `json:"cookieBasedAffinity,omitempty"` + RequestTimeout *int32 `json:"requestTimeout,omitempty"` + Probe *SubResource `json:"probe,omitempty"` + AuthenticationCertificates *[]SubResource `json:"authenticationCertificates,omitempty"` + ConnectionDraining *ApplicationGatewayConnectionDraining `json:"connectionDraining,omitempty"` + HostName *string `json:"hostName,omitempty"` + PickHostNameFromBackendAddress *bool `json:"pickHostNameFromBackendAddress,omitempty"` + AffinityCookieName *string `json:"affinityCookieName,omitempty"` + ProbeEnabled *bool `json:"probeEnabled,omitempty"` + Path *string `json:"path,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` } -// ApplicationGatewayConnectionDraining is connection draining allows open -// connections to a backend server to be active for a specified time after the -// backend server got removed from the configuration. +// ApplicationGatewayConnectionDraining is connection draining allows open connections to a backend server to be active +// for a specified time after the backend server got removed from the configuration. type ApplicationGatewayConnectionDraining struct { Enabled *bool `json:"enabled,omitempty"` DrainTimeoutInSec *int32 `json:"drainTimeoutInSec,omitempty"` } -// ApplicationGatewayFirewallDisabledRuleGroup is allows to disable rules -// within a rule group or an entire rule group. +// ApplicationGatewayFirewallDisabledRuleGroup is allows to disable rules within a rule group or an entire rule group. type ApplicationGatewayFirewallDisabledRuleGroup struct { RuleGroupName *string `json:"ruleGroupName,omitempty"` Rules *[]int32 `json:"rules,omitempty"` @@ -990,8 +1127,7 @@ type ApplicationGatewayFirewallRule struct { Description *string `json:"description,omitempty"` } -// ApplicationGatewayFirewallRuleGroup is a web application firewall rule -// group. +// ApplicationGatewayFirewallRuleGroup is a web application firewall rule group. type ApplicationGatewayFirewallRuleGroup struct { RuleGroupName *string `json:"ruleGroupName,omitempty"` Description *string `json:"description,omitempty"` @@ -1008,8 +1144,7 @@ type ApplicationGatewayFirewallRuleSet struct { *ApplicationGatewayFirewallRuleSetPropertiesFormat `json:"properties,omitempty"` } -// ApplicationGatewayFirewallRuleSetPropertiesFormat is properties of the web -// application firewall rule set. +// ApplicationGatewayFirewallRuleSetPropertiesFormat is properties of the web application firewall rule set. type ApplicationGatewayFirewallRuleSetPropertiesFormat struct { ProvisioningState *string `json:"provisioningState,omitempty"` RuleSetType *string `json:"ruleSetType,omitempty"` @@ -1017,17 +1152,17 @@ type ApplicationGatewayFirewallRuleSetPropertiesFormat struct { RuleGroups *[]ApplicationGatewayFirewallRuleGroup `json:"ruleGroups,omitempty"` } -// ApplicationGatewayFrontendIPConfiguration is frontend IP configuration of an -// application gateway. +// ApplicationGatewayFrontendIPConfiguration is frontend IP configuration of an application gateway. type ApplicationGatewayFrontendIPConfiguration struct { ID *string `json:"id,omitempty"` *ApplicationGatewayFrontendIPConfigurationPropertiesFormat `json:"properties,omitempty"` Name *string `json:"name,omitempty"` Etag *string `json:"etag,omitempty"` + Type *string `json:"type,omitempty"` } -// ApplicationGatewayFrontendIPConfigurationPropertiesFormat is properties of -// Frontend IP configuration of an application gateway. +// ApplicationGatewayFrontendIPConfigurationPropertiesFormat is properties of Frontend IP configuration of an +// application gateway. type ApplicationGatewayFrontendIPConfigurationPropertiesFormat struct { PrivateIPAddress *string `json:"privateIPAddress,omitempty"` PrivateIPAllocationMethod IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` @@ -1042,10 +1177,10 @@ type ApplicationGatewayFrontendPort struct { *ApplicationGatewayFrontendPortPropertiesFormat `json:"properties,omitempty"` Name *string `json:"name,omitempty"` Etag *string `json:"etag,omitempty"` + Type *string `json:"type,omitempty"` } -// ApplicationGatewayFrontendPortPropertiesFormat is properties of Frontend -// port of an application gateway. +// ApplicationGatewayFrontendPortPropertiesFormat is properties of Frontend port of an application gateway. type ApplicationGatewayFrontendPortPropertiesFormat struct { Port *int32 `json:"port,omitempty"` ProvisioningState *string `json:"provisioningState,omitempty"` @@ -1057,10 +1192,10 @@ type ApplicationGatewayHTTPListener struct { *ApplicationGatewayHTTPListenerPropertiesFormat `json:"properties,omitempty"` Name *string `json:"name,omitempty"` Etag *string `json:"etag,omitempty"` + Type *string `json:"type,omitempty"` } -// ApplicationGatewayHTTPListenerPropertiesFormat is properties of HTTP -// listener of an application gateway. +// ApplicationGatewayHTTPListenerPropertiesFormat is properties of HTTP listener of an application gateway. type ApplicationGatewayHTTPListenerPropertiesFormat struct { FrontendIPConfiguration *SubResource `json:"frontendIPConfiguration,omitempty"` FrontendPort *SubResource `json:"frontendPort,omitempty"` @@ -1071,24 +1206,23 @@ type ApplicationGatewayHTTPListenerPropertiesFormat struct { ProvisioningState *string `json:"provisioningState,omitempty"` } -// ApplicationGatewayIPConfiguration is iP configuration of an application -// gateway. Currently 1 public and 1 private IP configuration is allowed. +// ApplicationGatewayIPConfiguration is IP configuration of an application gateway. Currently 1 public and 1 private IP +// configuration is allowed. type ApplicationGatewayIPConfiguration struct { ID *string `json:"id,omitempty"` *ApplicationGatewayIPConfigurationPropertiesFormat `json:"properties,omitempty"` Name *string `json:"name,omitempty"` Etag *string `json:"etag,omitempty"` + Type *string `json:"type,omitempty"` } -// ApplicationGatewayIPConfigurationPropertiesFormat is properties of IP -// configuration of an application gateway. +// ApplicationGatewayIPConfigurationPropertiesFormat is properties of IP configuration of an application gateway. type ApplicationGatewayIPConfigurationPropertiesFormat struct { Subnet *SubResource `json:"subnet,omitempty"` ProvisioningState *string `json:"provisioningState,omitempty"` } -// ApplicationGatewayListResult is response for ListApplicationGateways API -// service call. +// ApplicationGatewayListResult is response for ListApplicationGateways API service call. type ApplicationGatewayListResult struct { autorest.Response `json:"-"` Value *[]ApplicationGateway `json:"value,omitempty"` @@ -1107,22 +1241,22 @@ func (client ApplicationGatewayListResult) ApplicationGatewayListResultPreparer( autorest.WithBaseURL(to.String(client.NextLink))) } -// ApplicationGatewayPathRule is path rule of URL path map of an application -// gateway. +// ApplicationGatewayPathRule is path rule of URL path map of an application gateway. type ApplicationGatewayPathRule struct { ID *string `json:"id,omitempty"` *ApplicationGatewayPathRulePropertiesFormat `json:"properties,omitempty"` Name *string `json:"name,omitempty"` Etag *string `json:"etag,omitempty"` + Type *string `json:"type,omitempty"` } -// ApplicationGatewayPathRulePropertiesFormat is properties of probe of an -// application gateway. +// ApplicationGatewayPathRulePropertiesFormat is properties of path rule of an application gateway. type ApplicationGatewayPathRulePropertiesFormat struct { - Paths *[]string `json:"paths,omitempty"` - BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` - BackendHTTPSettings *SubResource `json:"backendHttpSettings,omitempty"` - ProvisioningState *string `json:"provisioningState,omitempty"` + Paths *[]string `json:"paths,omitempty"` + BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` + BackendHTTPSettings *SubResource `json:"backendHttpSettings,omitempty"` + RedirectConfiguration *SubResource `json:"redirectConfiguration,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` } // ApplicationGatewayProbe is probe of the application gateway. @@ -1131,18 +1265,27 @@ type ApplicationGatewayProbe struct { *ApplicationGatewayProbePropertiesFormat `json:"properties,omitempty"` Name *string `json:"name,omitempty"` Etag *string `json:"etag,omitempty"` + Type *string `json:"type,omitempty"` } -// ApplicationGatewayProbePropertiesFormat is properties of probe of an -// application gateway. +// ApplicationGatewayProbeHealthResponseMatch is application gateway probe health response match +type ApplicationGatewayProbeHealthResponseMatch struct { + Body *string `json:"body,omitempty"` + StatusCodes *[]string `json:"statusCodes,omitempty"` +} + +// ApplicationGatewayProbePropertiesFormat is properties of probe of an application gateway. type ApplicationGatewayProbePropertiesFormat struct { - Protocol ApplicationGatewayProtocol `json:"protocol,omitempty"` - Host *string `json:"host,omitempty"` - Path *string `json:"path,omitempty"` - Interval *int32 `json:"interval,omitempty"` - Timeout *int32 `json:"timeout,omitempty"` - UnhealthyThreshold *int32 `json:"unhealthyThreshold,omitempty"` - ProvisioningState *string `json:"provisioningState,omitempty"` + Protocol ApplicationGatewayProtocol `json:"protocol,omitempty"` + Host *string `json:"host,omitempty"` + Path *string `json:"path,omitempty"` + Interval *int32 `json:"interval,omitempty"` + Timeout *int32 `json:"timeout,omitempty"` + UnhealthyThreshold *int32 `json:"unhealthyThreshold,omitempty"` + PickHostNameFromBackendHTTPSettings *bool `json:"pickHostNameFromBackendHttpSettings,omitempty"` + MinServers *int32 `json:"minServers,omitempty"` + Match *ApplicationGatewayProbeHealthResponseMatch `json:"match,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` } // ApplicationGatewayPropertiesFormat is properties of the application gateway. @@ -1161,49 +1304,72 @@ type ApplicationGatewayPropertiesFormat struct { HTTPListeners *[]ApplicationGatewayHTTPListener `json:"httpListeners,omitempty"` URLPathMaps *[]ApplicationGatewayURLPathMap `json:"urlPathMaps,omitempty"` RequestRoutingRules *[]ApplicationGatewayRequestRoutingRule `json:"requestRoutingRules,omitempty"` + RedirectConfigurations *[]ApplicationGatewayRedirectConfiguration `json:"redirectConfigurations,omitempty"` WebApplicationFirewallConfiguration *ApplicationGatewayWebApplicationFirewallConfiguration `json:"webApplicationFirewallConfiguration,omitempty"` ResourceGUID *string `json:"resourceGuid,omitempty"` ProvisioningState *string `json:"provisioningState,omitempty"` } -// ApplicationGatewayRequestRoutingRule is request routing rule of an -// application gateway. +// ApplicationGatewayRedirectConfiguration is redirect configuration of an application gateway. +type ApplicationGatewayRedirectConfiguration struct { + ID *string `json:"id,omitempty"` + *ApplicationGatewayRedirectConfigurationPropertiesFormat `json:"properties,omitempty"` + Name *string `json:"name,omitempty"` + Etag *string `json:"etag,omitempty"` + Type *string `json:"type,omitempty"` +} + +// ApplicationGatewayRedirectConfigurationPropertiesFormat is properties of redirect configuration of the application +// gateway. +type ApplicationGatewayRedirectConfigurationPropertiesFormat struct { + RedirectType ApplicationGatewayRedirectType `json:"redirectType,omitempty"` + TargetListener *SubResource `json:"targetListener,omitempty"` + TargetURL *string `json:"targetUrl,omitempty"` + IncludePath *bool `json:"includePath,omitempty"` + IncludeQueryString *bool `json:"includeQueryString,omitempty"` + RequestRoutingRules *[]SubResource `json:"requestRoutingRules,omitempty"` + URLPathMaps *[]SubResource `json:"urlPathMaps,omitempty"` + PathRules *[]SubResource `json:"pathRules,omitempty"` +} + +// ApplicationGatewayRequestRoutingRule is request routing rule of an application gateway. type ApplicationGatewayRequestRoutingRule struct { ID *string `json:"id,omitempty"` *ApplicationGatewayRequestRoutingRulePropertiesFormat `json:"properties,omitempty"` Name *string `json:"name,omitempty"` Etag *string `json:"etag,omitempty"` + Type *string `json:"type,omitempty"` } -// ApplicationGatewayRequestRoutingRulePropertiesFormat is properties of -// request routing rule of the application gateway. +// ApplicationGatewayRequestRoutingRulePropertiesFormat is properties of request routing rule of the application +// gateway. type ApplicationGatewayRequestRoutingRulePropertiesFormat struct { - RuleType ApplicationGatewayRequestRoutingRuleType `json:"ruleType,omitempty"` - BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` - BackendHTTPSettings *SubResource `json:"backendHttpSettings,omitempty"` - HTTPListener *SubResource `json:"httpListener,omitempty"` - URLPathMap *SubResource `json:"urlPathMap,omitempty"` - ProvisioningState *string `json:"provisioningState,omitempty"` + RuleType ApplicationGatewayRequestRoutingRuleType `json:"ruleType,omitempty"` + BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` + BackendHTTPSettings *SubResource `json:"backendHttpSettings,omitempty"` + HTTPListener *SubResource `json:"httpListener,omitempty"` + URLPathMap *SubResource `json:"urlPathMap,omitempty"` + RedirectConfiguration *SubResource `json:"redirectConfiguration,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` } -// ApplicationGatewaySku is sKU of an application gateway +// ApplicationGatewaySku is SKU of an application gateway type ApplicationGatewaySku struct { Name ApplicationGatewaySkuName `json:"name,omitempty"` Tier ApplicationGatewayTier `json:"tier,omitempty"` Capacity *int32 `json:"capacity,omitempty"` } -// ApplicationGatewaySslCertificate is sSL certificates of an application -// gateway. +// ApplicationGatewaySslCertificate is SSL certificates of an application gateway. type ApplicationGatewaySslCertificate struct { ID *string `json:"id,omitempty"` *ApplicationGatewaySslCertificatePropertiesFormat `json:"properties,omitempty"` Name *string `json:"name,omitempty"` Etag *string `json:"etag,omitempty"` + Type *string `json:"type,omitempty"` } -// ApplicationGatewaySslCertificatePropertiesFormat is properties of SSL -// certificates of an application gateway. +// ApplicationGatewaySslCertificatePropertiesFormat is properties of SSL certificates of an application gateway. type ApplicationGatewaySslCertificatePropertiesFormat struct { Data *string `json:"data,omitempty"` Password *string `json:"password,omitempty"` @@ -1211,31 +1377,48 @@ type ApplicationGatewaySslCertificatePropertiesFormat struct { ProvisioningState *string `json:"provisioningState,omitempty"` } -// ApplicationGatewaySslPolicy is application gateway SSL policy. +// ApplicationGatewaySslPolicy is application Gateway Ssl policy. type ApplicationGatewaySslPolicy struct { - DisabledSslProtocols *[]ApplicationGatewaySslProtocol `json:"disabledSslProtocols,omitempty"` + DisabledSslProtocols *[]ApplicationGatewaySslProtocol `json:"disabledSslProtocols,omitempty"` + PolicyType ApplicationGatewaySslPolicyType `json:"policyType,omitempty"` + PolicyName ApplicationGatewaySslPolicyName `json:"policyName,omitempty"` + CipherSuites *[]ApplicationGatewaySslCipherSuite `json:"cipherSuites,omitempty"` + MinProtocolVersion ApplicationGatewaySslProtocol `json:"minProtocolVersion,omitempty"` } -// ApplicationGatewayURLPathMap is urlPathMaps give a url path to the backend -// mapping information for PathBasedRouting. +// ApplicationGatewaySslPredefinedPolicy is an Ssl predefined policy +type ApplicationGatewaySslPredefinedPolicy struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + *ApplicationGatewaySslPredefinedPolicyPropertiesFormat `json:"properties,omitempty"` +} + +// ApplicationGatewaySslPredefinedPolicyPropertiesFormat is properties of ApplicationGatewaySslPredefinedPolicy +type ApplicationGatewaySslPredefinedPolicyPropertiesFormat struct { + CipherSuites *[]ApplicationGatewaySslCipherSuite `json:"cipherSuites,omitempty"` + MinProtocolVersion ApplicationGatewaySslProtocol `json:"minProtocolVersion,omitempty"` +} + +// ApplicationGatewayURLPathMap is urlPathMaps give a url path to the backend mapping information for PathBasedRouting. type ApplicationGatewayURLPathMap struct { ID *string `json:"id,omitempty"` *ApplicationGatewayURLPathMapPropertiesFormat `json:"properties,omitempty"` Name *string `json:"name,omitempty"` Etag *string `json:"etag,omitempty"` + Type *string `json:"type,omitempty"` } -// ApplicationGatewayURLPathMapPropertiesFormat is properties of UrlPathMap of -// the application gateway. +// ApplicationGatewayURLPathMapPropertiesFormat is properties of UrlPathMap of the application gateway. type ApplicationGatewayURLPathMapPropertiesFormat struct { - DefaultBackendAddressPool *SubResource `json:"defaultBackendAddressPool,omitempty"` - DefaultBackendHTTPSettings *SubResource `json:"defaultBackendHttpSettings,omitempty"` - PathRules *[]ApplicationGatewayPathRule `json:"pathRules,omitempty"` - ProvisioningState *string `json:"provisioningState,omitempty"` + DefaultBackendAddressPool *SubResource `json:"defaultBackendAddressPool,omitempty"` + DefaultBackendHTTPSettings *SubResource `json:"defaultBackendHttpSettings,omitempty"` + DefaultRedirectConfiguration *SubResource `json:"defaultRedirectConfiguration,omitempty"` + PathRules *[]ApplicationGatewayPathRule `json:"pathRules,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` } -// ApplicationGatewayWebApplicationFirewallConfiguration is application gateway -// web application firewall configuration. +// ApplicationGatewayWebApplicationFirewallConfiguration is application gateway web application firewall configuration. type ApplicationGatewayWebApplicationFirewallConfiguration struct { Enabled *bool `json:"enabled,omitempty"` FirewallMode ApplicationGatewayFirewallMode `json:"firewallMode,omitempty"` @@ -1244,8 +1427,45 @@ type ApplicationGatewayWebApplicationFirewallConfiguration struct { DisabledRuleGroups *[]ApplicationGatewayFirewallDisabledRuleGroup `json:"disabledRuleGroups,omitempty"` } -// AuthorizationListResult is response for ListAuthorizations API service call -// retrieves all authorizations that belongs to an ExpressRouteCircuit. +// ApplicationSecurityGroup is an application security group in a resource group. +type ApplicationSecurityGroup struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + *ApplicationSecurityGroupPropertiesFormat `json:"properties,omitempty"` + Etag *string `json:"etag,omitempty"` +} + +// ApplicationSecurityGroupListResult is a list of application security groups. +type ApplicationSecurityGroupListResult struct { + autorest.Response `json:"-"` + Value *[]ApplicationSecurityGroup `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// ApplicationSecurityGroupListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client ApplicationSecurityGroupListResult) ApplicationSecurityGroupListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// ApplicationSecurityGroupPropertiesFormat is application security group properties. +type ApplicationSecurityGroupPropertiesFormat struct { + ResourceGUID *string `json:"resourceGuid,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` +} + +// AuthorizationListResult is response for ListAuthorizations API service call retrieves all authorizations that +// belongs to an ExpressRouteCircuit. type AuthorizationListResult struct { autorest.Response `json:"-"` Value *[]ExpressRouteCircuitAuthorization `json:"value,omitempty"` @@ -1271,29 +1491,97 @@ type AuthorizationPropertiesFormat struct { ProvisioningState *string `json:"provisioningState,omitempty"` } -// AzureAsyncOperationResult is the response body contains the status of the -// specified asynchronous operation, indicating whether it has succeeded, is in -// progress, or has failed. Note that this status is distinct from the HTTP -// status code returned for the Get Operation Status operation itself. If the -// asynchronous operation succeeded, the response body includes the HTTP status -// code for the successful request. If the asynchronous operation failed, the -// response body includes the HTTP status code for the failed request and error -// information regarding the failure. +// AvailableProvidersList is list of available countries with details. +type AvailableProvidersList struct { + autorest.Response `json:"-"` + Countries *[]AvailableProvidersListCountry `json:"countries,omitempty"` +} + +// AvailableProvidersListCity is city or town details. +type AvailableProvidersListCity struct { + CityName *string `json:"cityName,omitempty"` + Providers *[]string `json:"providers,omitempty"` +} + +// AvailableProvidersListCountry is country details. +type AvailableProvidersListCountry struct { + CountryName *string `json:"countryName,omitempty"` + Providers *[]string `json:"providers,omitempty"` + States *[]AvailableProvidersListState `json:"states,omitempty"` +} + +// AvailableProvidersListParameters is constraints that determine the list of available Internet service providers. +type AvailableProvidersListParameters struct { + AzureLocations *[]string `json:"azureLocations,omitempty"` + Country *string `json:"country,omitempty"` + State *string `json:"state,omitempty"` + City *string `json:"city,omitempty"` +} + +// AvailableProvidersListState is state details. +type AvailableProvidersListState struct { + StateName *string `json:"stateName,omitempty"` + Providers *[]string `json:"providers,omitempty"` + Cities *[]AvailableProvidersListCity `json:"cities,omitempty"` +} + +// AzureAsyncOperationResult is the response body contains the status of the specified asynchronous operation, +// indicating whether it has succeeded, is in progress, or has failed. Note that this status is distinct from the HTTP +// status code returned for the Get Operation Status operation itself. If the asynchronous operation succeeded, the +// response body includes the HTTP status code for the successful request. If the asynchronous operation failed, the +// response body includes the HTTP status code for the failed request and error information regarding the failure. type AzureAsyncOperationResult struct { Status OperationStatus `json:"status,omitempty"` Error *Error `json:"error,omitempty"` } +// AzureReachabilityReport is azure reachability report details. +type AzureReachabilityReport struct { + autorest.Response `json:"-"` + AggregationLevel *string `json:"aggregationLevel,omitempty"` + ProviderLocation *AzureReachabilityReportLocation `json:"providerLocation,omitempty"` + ReachabilityReport *[]AzureReachabilityReportItem `json:"reachabilityReport,omitempty"` +} + +// AzureReachabilityReportItem is azure reachability report details for a given provider location. +type AzureReachabilityReportItem struct { + Provider *string `json:"provider,omitempty"` + AzureLocation *string `json:"azureLocation,omitempty"` + Latencies *[]AzureReachabilityReportLatencyInfo `json:"latencies,omitempty"` +} + +// AzureReachabilityReportLatencyInfo is details on latency for a time series. +type AzureReachabilityReportLatencyInfo struct { + TimeStamp *date.Time `json:"timeStamp,omitempty"` + Score *int32 `json:"score,omitempty"` +} + +// AzureReachabilityReportLocation is parameters that define a geographic location. +type AzureReachabilityReportLocation struct { + Country *string `json:"country,omitempty"` + State *string `json:"state,omitempty"` + City *string `json:"city,omitempty"` +} + +// AzureReachabilityReportParameters is geographic and time constraints for Azure reachability report. +type AzureReachabilityReportParameters struct { + ProviderLocation *AzureReachabilityReportLocation `json:"providerLocation,omitempty"` + Providers *[]string `json:"providers,omitempty"` + AzureLocations *[]string `json:"azureLocations,omitempty"` + StartTime *date.Time `json:"startTime,omitempty"` + EndTime *date.Time `json:"endTime,omitempty"` +} + // BackendAddressPool is pool of backend IP addresses. type BackendAddressPool struct { + autorest.Response `json:"-"` ID *string `json:"id,omitempty"` *BackendAddressPoolPropertiesFormat `json:"properties,omitempty"` Name *string `json:"name,omitempty"` Etag *string `json:"etag,omitempty"` } -// BackendAddressPoolPropertiesFormat is properties of the backend address -// pool. +// BackendAddressPoolPropertiesFormat is properties of the backend address pool. type BackendAddressPoolPropertiesFormat struct { BackendIPConfigurations *[]InterfaceIPConfiguration `json:"backendIPConfigurations,omitempty"` LoadBalancingRules *[]SubResource `json:"loadBalancingRules,omitempty"` @@ -1301,16 +1589,17 @@ type BackendAddressPoolPropertiesFormat struct { ProvisioningState *string `json:"provisioningState,omitempty"` } -// BGPCommunity is contains bgp community information offered in Service -// Community resources. +// BGPCommunity is contains bgp community information offered in Service Community resources. type BGPCommunity struct { ServiceSupportedRegion *string `json:"serviceSupportedRegion,omitempty"` CommunityName *string `json:"communityName,omitempty"` CommunityValue *string `json:"communityValue,omitempty"` CommunityPrefixes *[]string `json:"communityPrefixes,omitempty"` + IsAuthorizedToUse *bool `json:"isAuthorizedToUse,omitempty"` + ServiceGroup *string `json:"serviceGroup,omitempty"` } -// BgpPeerStatus is bGP peer status details +// BgpPeerStatus is BGP peer status details type BgpPeerStatus struct { LocalAddress *string `json:"localAddress,omitempty"` Neighbor *string `json:"neighbor,omitempty"` @@ -1322,8 +1611,7 @@ type BgpPeerStatus struct { MessagesReceived *int64 `json:"messagesReceived,omitempty"` } -// BgpPeerStatusListResult is response for list BGP peer status API service -// call +// BgpPeerStatusListResult is response for list BGP peer status API service call type BgpPeerStatusListResult struct { autorest.Response `json:"-"` Value *[]BgpPeerStatus `json:"value,omitempty"` @@ -1339,8 +1627,7 @@ type BgpServiceCommunity struct { *BgpServiceCommunityPropertiesFormat `json:"properties,omitempty"` } -// BgpServiceCommunityListResult is response for the ListServiceCommunity API -// service call. +// BgpServiceCommunityListResult is response for the ListServiceCommunity API service call. type BgpServiceCommunityListResult struct { autorest.Response `json:"-"` Value *[]BgpServiceCommunity `json:"value,omitempty"` @@ -1365,7 +1652,7 @@ type BgpServiceCommunityPropertiesFormat struct { BgpCommunities *[]BGPCommunity `json:"bgpCommunities,omitempty"` } -// BgpSettings is bGP settings details +// BgpSettings is BGP settings details type BgpSettings struct { Asn *int64 `json:"asn,omitempty"` BgpPeeringAddress *string `json:"bgpPeeringAddress,omitempty"` @@ -1384,15 +1671,62 @@ type ConnectionSharedKey struct { Value *string `json:"value,omitempty"` } -// DhcpOptions is dhcpOptions contains an array of DNS servers available to VMs -// deployed in the virtual network. Standard DHCP option for a subnet overrides -// VNET DHCP options. +// ConnectivityDestination is parameters that define destination of connection. +type ConnectivityDestination struct { + ResourceID *string `json:"resourceId,omitempty"` + Address *string `json:"address,omitempty"` + Port *int32 `json:"port,omitempty"` +} + +// ConnectivityHop is information about a hop between the source and the destination. +type ConnectivityHop struct { + Type *string `json:"type,omitempty"` + ID *string `json:"id,omitempty"` + Address *string `json:"address,omitempty"` + ResourceID *string `json:"resourceId,omitempty"` + NextHopIds *[]string `json:"nextHopIds,omitempty"` + Issues *[]ConnectivityIssue `json:"issues,omitempty"` +} + +// ConnectivityInformation is information on the connectivity status. +type ConnectivityInformation struct { + autorest.Response `json:"-"` + Hops *[]ConnectivityHop `json:"hops,omitempty"` + ConnectionStatus ConnectionStatus `json:"connectionStatus,omitempty"` + AvgLatencyInMs *int32 `json:"avgLatencyInMs,omitempty"` + MinLatencyInMs *int32 `json:"minLatencyInMs,omitempty"` + MaxLatencyInMs *int32 `json:"maxLatencyInMs,omitempty"` + ProbesSent *int32 `json:"probesSent,omitempty"` + ProbesFailed *int32 `json:"probesFailed,omitempty"` +} + +// ConnectivityIssue is information about an issue encountered in the process of checking for connectivity. +type ConnectivityIssue struct { + Origin Origin `json:"origin,omitempty"` + Severity Severity `json:"severity,omitempty"` + Type IssueType `json:"type,omitempty"` + Context *[]map[string]*string `json:"context,omitempty"` +} + +// ConnectivityParameters is parameters that determine how the connectivity check will be performed. +type ConnectivityParameters struct { + Source *ConnectivitySource `json:"source,omitempty"` + Destination *ConnectivityDestination `json:"destination,omitempty"` +} + +// ConnectivitySource is parameters that define the source of the connection. +type ConnectivitySource struct { + ResourceID *string `json:"resourceId,omitempty"` + Port *int32 `json:"port,omitempty"` +} + +// DhcpOptions is dhcpOptions contains an array of DNS servers available to VMs deployed in the virtual network. +// Standard DHCP option for a subnet overrides VNET DHCP options. type DhcpOptions struct { DNSServers *[]string `json:"dnsServers,omitempty"` } -// DNSNameAvailabilityResult is response for the CheckDnsNameAvailability API -// service call. +// DNSNameAvailabilityResult is response for the CheckDnsNameAvailability API service call. type DNSNameAvailabilityResult struct { autorest.Response `json:"-"` Available *bool `json:"available,omitempty"` @@ -1403,17 +1737,16 @@ type EffectiveNetworkSecurityGroup struct { NetworkSecurityGroup *SubResource `json:"networkSecurityGroup,omitempty"` Association *EffectiveNetworkSecurityGroupAssociation `json:"association,omitempty"` EffectiveSecurityRules *[]EffectiveNetworkSecurityRule `json:"effectiveSecurityRules,omitempty"` + TagMap *map[string][]string `json:"tagMap,omitempty"` } -// EffectiveNetworkSecurityGroupAssociation is the effective network security -// group association. +// EffectiveNetworkSecurityGroupAssociation is the effective network security group association. type EffectiveNetworkSecurityGroupAssociation struct { Subnet *SubResource `json:"subnet,omitempty"` NetworkInterface *SubResource `json:"networkInterface,omitempty"` } -// EffectiveNetworkSecurityGroupListResult is response for list effective -// network security groups API service call. +// EffectiveNetworkSecurityGroupListResult is response for list effective network security groups API service call. type EffectiveNetworkSecurityGroupListResult struct { autorest.Response `json:"-"` Value *[]EffectiveNetworkSecurityGroup `json:"value,omitempty"` @@ -1422,17 +1755,21 @@ type EffectiveNetworkSecurityGroupListResult struct { // EffectiveNetworkSecurityRule is effective network security rules. type EffectiveNetworkSecurityRule struct { - Name *string `json:"name,omitempty"` - Protocol SecurityRuleProtocol `json:"protocol,omitempty"` - SourcePortRange *string `json:"sourcePortRange,omitempty"` - DestinationPortRange *string `json:"destinationPortRange,omitempty"` - SourceAddressPrefix *string `json:"sourceAddressPrefix,omitempty"` - DestinationAddressPrefix *string `json:"destinationAddressPrefix,omitempty"` - ExpandedSourceAddressPrefix *[]string `json:"expandedSourceAddressPrefix,omitempty"` - ExpandedDestinationAddressPrefix *[]string `json:"expandedDestinationAddressPrefix,omitempty"` - Access SecurityRuleAccess `json:"access,omitempty"` - Priority *int32 `json:"priority,omitempty"` - Direction SecurityRuleDirection `json:"direction,omitempty"` + Name *string `json:"name,omitempty"` + Protocol EffectiveSecurityRuleProtocol `json:"protocol,omitempty"` + SourcePortRange *string `json:"sourcePortRange,omitempty"` + DestinationPortRange *string `json:"destinationPortRange,omitempty"` + SourcePortRanges *[]string `json:"sourcePortRanges,omitempty"` + DestinationPortRanges *[]string `json:"destinationPortRanges,omitempty"` + SourceAddressPrefix *string `json:"sourceAddressPrefix,omitempty"` + DestinationAddressPrefix *string `json:"destinationAddressPrefix,omitempty"` + SourceAddressPrefixes *[]string `json:"sourceAddressPrefixes,omitempty"` + DestinationAddressPrefixes *[]string `json:"destinationAddressPrefixes,omitempty"` + ExpandedSourceAddressPrefix *[]string `json:"expandedSourceAddressPrefix,omitempty"` + ExpandedDestinationAddressPrefix *[]string `json:"expandedDestinationAddressPrefix,omitempty"` + Access SecurityRuleAccess `json:"access,omitempty"` + Priority *int32 `json:"priority,omitempty"` + Direction SecurityRuleDirection `json:"direction,omitempty"` } // EffectiveRoute is effective Route @@ -1445,14 +1782,39 @@ type EffectiveRoute struct { NextHopType RouteNextHopType `json:"nextHopType,omitempty"` } -// EffectiveRouteListResult is response for list effective route API service -// call. +// EffectiveRouteListResult is response for list effective route API service call. type EffectiveRouteListResult struct { autorest.Response `json:"-"` Value *[]EffectiveRoute `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } +// EndpointServiceResult is endpoint service. +type EndpointServiceResult struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` +} + +// EndpointServicesListResult is response for the ListAvailableEndpointServices API service call. +type EndpointServicesListResult struct { + autorest.Response `json:"-"` + Value *[]EndpointServiceResult `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// EndpointServicesListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client EndpointServicesListResult) EndpointServicesListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + // Error is type Error struct { Code *string `json:"code,omitempty"` @@ -1482,8 +1844,7 @@ type ExpressRouteCircuit struct { Etag *string `json:"etag,omitempty"` } -// ExpressRouteCircuitArpTable is the ARP table associated with the -// ExpressRouteCircuit. +// ExpressRouteCircuitArpTable is the ARP table associated with the ExpressRouteCircuit. type ExpressRouteCircuitArpTable struct { Age *int32 `json:"age,omitempty"` Interface *string `json:"interface,omitempty"` @@ -1491,8 +1852,7 @@ type ExpressRouteCircuitArpTable struct { MacAddress *string `json:"macAddress,omitempty"` } -// ExpressRouteCircuitAuthorization is authorization in an ExpressRouteCircuit -// resource. +// ExpressRouteCircuitAuthorization is authorization in an ExpressRouteCircuit resource. type ExpressRouteCircuitAuthorization struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -1501,8 +1861,7 @@ type ExpressRouteCircuitAuthorization struct { Etag *string `json:"etag,omitempty"` } -// ExpressRouteCircuitListResult is response for ListExpressRouteCircuit API -// service call. +// ExpressRouteCircuitListResult is response for ListExpressRouteCircuit API service call. type ExpressRouteCircuitListResult struct { autorest.Response `json:"-"` Value *[]ExpressRouteCircuit `json:"value,omitempty"` @@ -1533,13 +1892,15 @@ type ExpressRouteCircuitPeering struct { // ExpressRouteCircuitPeeringConfig is specifies the peering configuration. type ExpressRouteCircuitPeeringConfig struct { AdvertisedPublicPrefixes *[]string `json:"advertisedPublicPrefixes,omitempty"` + AdvertisedCommunities *[]string `json:"advertisedCommunities,omitempty"` AdvertisedPublicPrefixesState ExpressRouteCircuitPeeringAdvertisedPublicPrefixState `json:"advertisedPublicPrefixesState,omitempty"` + LegacyMode *int32 `json:"legacyMode,omitempty"` CustomerASN *int32 `json:"customerASN,omitempty"` RoutingRegistryName *string `json:"routingRegistryName,omitempty"` } -// ExpressRouteCircuitPeeringListResult is response for ListPeering API service -// call retrieves all peerings that belong to an ExpressRouteCircuit. +// ExpressRouteCircuitPeeringListResult is response for ListPeering API service call retrieves all peerings that belong +// to an ExpressRouteCircuit. type ExpressRouteCircuitPeeringListResult struct { autorest.Response `json:"-"` Value *[]ExpressRouteCircuitPeering `json:"value,omitempty"` @@ -1560,22 +1921,23 @@ func (client ExpressRouteCircuitPeeringListResult) ExpressRouteCircuitPeeringLis // ExpressRouteCircuitPeeringPropertiesFormat is type ExpressRouteCircuitPeeringPropertiesFormat struct { - PeeringType ExpressRouteCircuitPeeringType `json:"peeringType,omitempty"` - State ExpressRouteCircuitPeeringState `json:"state,omitempty"` - AzureASN *int32 `json:"azureASN,omitempty"` - PeerASN *int32 `json:"peerASN,omitempty"` - PrimaryPeerAddressPrefix *string `json:"primaryPeerAddressPrefix,omitempty"` - SecondaryPeerAddressPrefix *string `json:"secondaryPeerAddressPrefix,omitempty"` - PrimaryAzurePort *string `json:"primaryAzurePort,omitempty"` - SecondaryAzurePort *string `json:"secondaryAzurePort,omitempty"` - SharedKey *string `json:"sharedKey,omitempty"` - VlanID *int32 `json:"vlanId,omitempty"` - MicrosoftPeeringConfig *ExpressRouteCircuitPeeringConfig `json:"microsoftPeeringConfig,omitempty"` - Stats *ExpressRouteCircuitStats `json:"stats,omitempty"` - ProvisioningState *string `json:"provisioningState,omitempty"` - GatewayManagerEtag *string `json:"gatewayManagerEtag,omitempty"` - LastModifiedBy *string `json:"lastModifiedBy,omitempty"` - RouteFilter *RouteFilter `json:"routeFilter,omitempty"` + PeeringType ExpressRouteCircuitPeeringType `json:"peeringType,omitempty"` + State ExpressRouteCircuitPeeringState `json:"state,omitempty"` + AzureASN *int32 `json:"azureASN,omitempty"` + PeerASN *int32 `json:"peerASN,omitempty"` + PrimaryPeerAddressPrefix *string `json:"primaryPeerAddressPrefix,omitempty"` + SecondaryPeerAddressPrefix *string `json:"secondaryPeerAddressPrefix,omitempty"` + PrimaryAzurePort *string `json:"primaryAzurePort,omitempty"` + SecondaryAzurePort *string `json:"secondaryAzurePort,omitempty"` + SharedKey *string `json:"sharedKey,omitempty"` + VlanID *int32 `json:"vlanId,omitempty"` + MicrosoftPeeringConfig *ExpressRouteCircuitPeeringConfig `json:"microsoftPeeringConfig,omitempty"` + Stats *ExpressRouteCircuitStats `json:"stats,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + GatewayManagerEtag *string `json:"gatewayManagerEtag,omitempty"` + LastModifiedBy *string `json:"lastModifiedBy,omitempty"` + RouteFilter *RouteFilter `json:"routeFilter,omitempty"` + Ipv6PeeringConfig *Ipv6ExpressRouteCircuitPeeringConfig `json:"ipv6PeeringConfig,omitempty"` } // ExpressRouteCircuitPropertiesFormat is properties of ExpressRouteCircuit. @@ -1592,8 +1954,7 @@ type ExpressRouteCircuitPropertiesFormat struct { GatewayManagerEtag *string `json:"gatewayManagerEtag,omitempty"` } -// ExpressRouteCircuitRoutesTable is the routes table associated with the -// ExpressRouteCircuit +// ExpressRouteCircuitRoutesTable is the routes table associated with the ExpressRouteCircuit type ExpressRouteCircuitRoutesTable struct { NetworkProperty *string `json:"network,omitempty"` NextHop *string `json:"nextHop,omitempty"` @@ -1602,8 +1963,7 @@ type ExpressRouteCircuitRoutesTable struct { Path *string `json:"path,omitempty"` } -// ExpressRouteCircuitRoutesTableSummary is the routes table associated with -// the ExpressRouteCircuit. +// ExpressRouteCircuitRoutesTableSummary is the routes table associated with the ExpressRouteCircuit. type ExpressRouteCircuitRoutesTableSummary struct { Neighbor *string `json:"neighbor,omitempty"` V *int32 `json:"v,omitempty"` @@ -1612,16 +1972,14 @@ type ExpressRouteCircuitRoutesTableSummary struct { StatePfxRcd *string `json:"statePfxRcd,omitempty"` } -// ExpressRouteCircuitsArpTableListResult is response for ListArpTable -// associated with the Express Route Circuits API. +// ExpressRouteCircuitsArpTableListResult is response for ListArpTable associated with the Express Route Circuits API. type ExpressRouteCircuitsArpTableListResult struct { autorest.Response `json:"-"` Value *[]ExpressRouteCircuitArpTable `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } -// ExpressRouteCircuitServiceProviderProperties is contains -// ServiceProviderProperties in an ExpressRouteCircuit. +// ExpressRouteCircuitServiceProviderProperties is contains ServiceProviderProperties in an ExpressRouteCircuit. type ExpressRouteCircuitServiceProviderProperties struct { ServiceProviderName *string `json:"serviceProviderName,omitempty"` PeeringLocation *string `json:"peeringLocation,omitempty"` @@ -1635,16 +1993,16 @@ type ExpressRouteCircuitSku struct { Family ExpressRouteCircuitSkuFamily `json:"family,omitempty"` } -// ExpressRouteCircuitsRoutesTableListResult is response for ListRoutesTable -// associated with the Express Route Circuits API. +// ExpressRouteCircuitsRoutesTableListResult is response for ListRoutesTable associated with the Express Route Circuits +// API. type ExpressRouteCircuitsRoutesTableListResult struct { autorest.Response `json:"-"` Value *[]ExpressRouteCircuitRoutesTable `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } -// ExpressRouteCircuitsRoutesTableSummaryListResult is response for -// ListRoutesTable associated with the Express Route Circuits API. +// ExpressRouteCircuitsRoutesTableSummaryListResult is response for ListRoutesTable associated with the Express Route +// Circuits API. type ExpressRouteCircuitsRoutesTableSummaryListResult struct { autorest.Response `json:"-"` Value *[]ExpressRouteCircuitRoutesTableSummary `json:"value,omitempty"` @@ -1670,15 +2028,14 @@ type ExpressRouteServiceProvider struct { *ExpressRouteServiceProviderPropertiesFormat `json:"properties,omitempty"` } -// ExpressRouteServiceProviderBandwidthsOffered is contains bandwidths offered -// in ExpressRouteServiceProvider resources. +// ExpressRouteServiceProviderBandwidthsOffered is contains bandwidths offered in ExpressRouteServiceProvider +// resources. type ExpressRouteServiceProviderBandwidthsOffered struct { OfferName *string `json:"offerName,omitempty"` ValueInMbps *int32 `json:"valueInMbps,omitempty"` } -// ExpressRouteServiceProviderListResult is response for the -// ListExpressRouteServiceProvider API service call. +// ExpressRouteServiceProviderListResult is response for the ListExpressRouteServiceProvider API service call. type ExpressRouteServiceProviderListResult struct { autorest.Response `json:"-"` Value *[]ExpressRouteServiceProvider `json:"value,omitempty"` @@ -1697,8 +2054,7 @@ func (client ExpressRouteServiceProviderListResult) ExpressRouteServiceProviderL autorest.WithBaseURL(to.String(client.NextLink))) } -// ExpressRouteServiceProviderPropertiesFormat is properties of -// ExpressRouteServiceProvider. +// ExpressRouteServiceProviderPropertiesFormat is properties of ExpressRouteServiceProvider. type ExpressRouteServiceProviderPropertiesFormat struct { PeeringLocations *[]string `json:"peeringLocations,omitempty"` BandwidthsOffered *[]ExpressRouteServiceProviderBandwidthsOffered `json:"bandwidthsOffered,omitempty"` @@ -1719,22 +2075,22 @@ type FlowLogProperties struct { RetentionPolicy *RetentionPolicyParameters `json:"retentionPolicy,omitempty"` } -// FlowLogStatusParameters is parameters that define a resource to query flow -// log status. +// FlowLogStatusParameters is parameters that define a resource to query flow log status. type FlowLogStatusParameters struct { TargetResourceID *string `json:"targetResourceId,omitempty"` } // FrontendIPConfiguration is frontend IP address of the load balancer. type FrontendIPConfiguration struct { + autorest.Response `json:"-"` ID *string `json:"id,omitempty"` *FrontendIPConfigurationPropertiesFormat `json:"properties,omitempty"` - Name *string `json:"name,omitempty"` - Etag *string `json:"etag,omitempty"` + Name *string `json:"name,omitempty"` + Etag *string `json:"etag,omitempty"` + Zones *[]string `json:"zones,omitempty"` } -// FrontendIPConfigurationPropertiesFormat is properties of Frontend IP -// Configuration of the load balancer. +// FrontendIPConfigurationPropertiesFormat is properties of Frontend IP Configuration of the load balancer. type FrontendIPConfigurationPropertiesFormat struct { InboundNatRules *[]SubResource `json:"inboundNatRules,omitempty"` InboundNatPools *[]SubResource `json:"inboundNatPools,omitempty"` @@ -1784,12 +2140,32 @@ type InboundNatPoolPropertiesFormat struct { // InboundNatRule is inbound NAT rule of the load balancer. type InboundNatRule struct { + autorest.Response `json:"-"` ID *string `json:"id,omitempty"` *InboundNatRulePropertiesFormat `json:"properties,omitempty"` Name *string `json:"name,omitempty"` Etag *string `json:"etag,omitempty"` } +// InboundNatRuleListResult is response for ListInboundNatRule API service call. +type InboundNatRuleListResult struct { + autorest.Response `json:"-"` + Value *[]InboundNatRule `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// InboundNatRuleListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client InboundNatRuleListResult) InboundNatRuleListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + // InboundNatRulePropertiesFormat is properties of the inbound NAT rule. type InboundNatRulePropertiesFormat struct { FrontendIPConfiguration *SubResource `json:"frontendIPConfiguration,omitempty"` @@ -1820,7 +2196,7 @@ type InterfaceAssociation struct { SecurityRules *[]SecurityRule `json:"securityRules,omitempty"` } -// InterfaceDNSSettings is dNS settings of a network interface. +// InterfaceDNSSettings is DNS settings of a network interface. type InterfaceDNSSettings struct { DNSServers *[]string `json:"dnsServers,omitempty"` AppliedDNSServers *[]string `json:"appliedDnsServers,omitempty"` @@ -1831,12 +2207,32 @@ type InterfaceDNSSettings struct { // InterfaceIPConfiguration is iPConfiguration in a network interface. type InterfaceIPConfiguration struct { + autorest.Response `json:"-"` ID *string `json:"id,omitempty"` *InterfaceIPConfigurationPropertiesFormat `json:"properties,omitempty"` Name *string `json:"name,omitempty"` Etag *string `json:"etag,omitempty"` } +// InterfaceIPConfigurationListResult is response for list ip configurations API service call. +type InterfaceIPConfigurationListResult struct { + autorest.Response `json:"-"` + Value *[]InterfaceIPConfiguration `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// InterfaceIPConfigurationListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client InterfaceIPConfigurationListResult) InterfaceIPConfigurationListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + // InterfaceIPConfigurationPropertiesFormat is properties of IP configuration. type InterfaceIPConfigurationPropertiesFormat struct { ApplicationGatewayBackendAddressPools *[]ApplicationGatewayBackendAddressPool `json:"applicationGatewayBackendAddressPools,omitempty"` @@ -1848,11 +2244,11 @@ type InterfaceIPConfigurationPropertiesFormat struct { Subnet *Subnet `json:"subnet,omitempty"` Primary *bool `json:"primary,omitempty"` PublicIPAddress *PublicIPAddress `json:"publicIPAddress,omitempty"` + ApplicationSecurityGroups *[]ApplicationSecurityGroup `json:"applicationSecurityGroups,omitempty"` ProvisioningState *string `json:"provisioningState,omitempty"` } -// InterfaceListResult is response for the ListNetworkInterface API service -// call. +// InterfaceListResult is response for the ListNetworkInterface API service call. type InterfaceListResult struct { autorest.Response `json:"-"` Value *[]Interface `json:"value,omitempty"` @@ -1871,6 +2267,25 @@ func (client InterfaceListResult) InterfaceListResultPreparer() (*http.Request, autorest.WithBaseURL(to.String(client.NextLink))) } +// InterfaceLoadBalancerListResult is response for list ip configurations API service call. +type InterfaceLoadBalancerListResult struct { + autorest.Response `json:"-"` + Value *[]LoadBalancer `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// InterfaceLoadBalancerListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client InterfaceLoadBalancerListResult) InterfaceLoadBalancerListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + // InterfacePropertiesFormat is networkInterface properties. type InterfacePropertiesFormat struct { VirtualMachine *SubResource `json:"virtualMachine,omitempty"` @@ -1885,15 +2300,14 @@ type InterfacePropertiesFormat struct { ProvisioningState *string `json:"provisioningState,omitempty"` } -// IPAddressAvailabilityResult is response for CheckIPAddressAvailability API -// service call +// IPAddressAvailabilityResult is response for CheckIPAddressAvailability API service call type IPAddressAvailabilityResult struct { autorest.Response `json:"-"` Available *bool `json:"available,omitempty"` AvailableIPAddresses *[]string `json:"availableIPAddresses,omitempty"` } -// IPConfiguration is iPConfiguration +// IPConfiguration is IP configuration type IPConfiguration struct { ID *string `json:"id,omitempty"` *IPConfigurationPropertiesFormat `json:"properties,omitempty"` @@ -1910,8 +2324,7 @@ type IPConfigurationPropertiesFormat struct { ProvisioningState *string `json:"provisioningState,omitempty"` } -// IpsecPolicy is an IPSec Policy configuration for a virtual network gateway -// connection +// IpsecPolicy is an IPSec Policy configuration for a virtual network gateway connection type IpsecPolicy struct { SaLifeTimeSeconds *int32 `json:"saLifeTimeSeconds,omitempty"` SaDataSizeKilobytes *int32 `json:"saDataSizeKilobytes,omitempty"` @@ -1923,6 +2336,15 @@ type IpsecPolicy struct { PfsGroup PfsGroup `json:"pfsGroup,omitempty"` } +// Ipv6ExpressRouteCircuitPeeringConfig is contains IPv6 peering config. +type Ipv6ExpressRouteCircuitPeeringConfig struct { + PrimaryPeerAddressPrefix *string `json:"primaryPeerAddressPrefix,omitempty"` + SecondaryPeerAddressPrefix *string `json:"secondaryPeerAddressPrefix,omitempty"` + MicrosoftPeeringConfig *ExpressRouteCircuitPeeringConfig `json:"microsoftPeeringConfig,omitempty"` + RouteFilter *RouteFilter `json:"routeFilter,omitempty"` + State ExpressRouteCircuitPeeringState `json:"state,omitempty"` +} + // LoadBalancer is loadBalancer resource type LoadBalancer struct { autorest.Response `json:"-"` @@ -1931,10 +2353,49 @@ type LoadBalancer struct { Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` + Sku *LoadBalancerSku `json:"sku,omitempty"` *LoadBalancerPropertiesFormat `json:"properties,omitempty"` Etag *string `json:"etag,omitempty"` } +// LoadBalancerBackendAddressPoolListResult is response for ListBackendAddressPool API service call. +type LoadBalancerBackendAddressPoolListResult struct { + autorest.Response `json:"-"` + Value *[]BackendAddressPool `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// LoadBalancerBackendAddressPoolListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client LoadBalancerBackendAddressPoolListResult) LoadBalancerBackendAddressPoolListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// LoadBalancerFrontendIPConfigurationListResult is response for ListFrontendIPConfiguration API service call. +type LoadBalancerFrontendIPConfigurationListResult struct { + autorest.Response `json:"-"` + Value *[]FrontendIPConfiguration `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// LoadBalancerFrontendIPConfigurationListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client LoadBalancerFrontendIPConfigurationListResult) LoadBalancerFrontendIPConfigurationListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + // LoadBalancerListResult is response for ListLoadBalancers API service call. type LoadBalancerListResult struct { autorest.Response `json:"-"` @@ -1954,6 +2415,44 @@ func (client LoadBalancerListResult) LoadBalancerListResultPreparer() (*http.Req autorest.WithBaseURL(to.String(client.NextLink))) } +// LoadBalancerLoadBalancingRuleListResult is response for ListLoadBalancingRule API service call. +type LoadBalancerLoadBalancingRuleListResult struct { + autorest.Response `json:"-"` + Value *[]LoadBalancingRule `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// LoadBalancerLoadBalancingRuleListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client LoadBalancerLoadBalancingRuleListResult) LoadBalancerLoadBalancingRuleListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// LoadBalancerProbeListResult is response for ListProbe API service call. +type LoadBalancerProbeListResult struct { + autorest.Response `json:"-"` + Value *[]Probe `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// LoadBalancerProbeListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client LoadBalancerProbeListResult) LoadBalancerProbeListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + // LoadBalancerPropertiesFormat is properties of the load balancer. type LoadBalancerPropertiesFormat struct { FrontendIPConfigurations *[]FrontendIPConfiguration `json:"frontendIPConfigurations,omitempty"` @@ -1967,8 +2466,14 @@ type LoadBalancerPropertiesFormat struct { ProvisioningState *string `json:"provisioningState,omitempty"` } -// LoadBalancingRule is a loag balancing rule for a load balancer. +// LoadBalancerSku is SKU of a load balancer +type LoadBalancerSku struct { + Name LoadBalancerSkuName `json:"name,omitempty"` +} + +// LoadBalancingRule is a load balancing rule for a load balancer. type LoadBalancingRule struct { + autorest.Response `json:"-"` ID *string `json:"id,omitempty"` *LoadBalancingRulePropertiesFormat `json:"properties,omitempty"` Name *string `json:"name,omitempty"` @@ -1986,6 +2491,7 @@ type LoadBalancingRulePropertiesFormat struct { BackendPort *int32 `json:"backendPort,omitempty"` IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` EnableFloatingIP *bool `json:"enableFloatingIP,omitempty"` + DisableOutboundSnat *bool `json:"disableOutboundSnat,omitempty"` ProvisioningState *string `json:"provisioningState,omitempty"` } @@ -2001,8 +2507,7 @@ type LocalNetworkGateway struct { Etag *string `json:"etag,omitempty"` } -// LocalNetworkGatewayListResult is response for ListLocalNetworkGateways API -// service call. +// LocalNetworkGatewayListResult is response for ListLocalNetworkGateways API service call. type LocalNetworkGatewayListResult struct { autorest.Response `json:"-"` Value *[]LocalNetworkGateway `json:"value,omitempty"` @@ -2030,8 +2535,7 @@ type LocalNetworkGatewayPropertiesFormat struct { ProvisioningState *string `json:"provisioningState,omitempty"` } -// NextHopParameters is parameters that define the source and destination -// endpoint. +// NextHopParameters is parameters that define the source and destination endpoint. type NextHopParameters struct { TargetResourceID *string `json:"targetResourceId,omitempty"` SourceIPAddress *string `json:"sourceIPAddress,omitempty"` @@ -2068,8 +2572,7 @@ type PacketCapture struct { *PacketCaptureParameters `json:"properties,omitempty"` } -// PacketCaptureFilter is filter that is applied to packet capture request. -// Multiple filters can be applied. +// PacketCaptureFilter is filter that is applied to packet capture request. Multiple filters can be applied. type PacketCaptureFilter struct { Protocol PcProtocol `json:"protocol,omitempty"` LocalIPAddress *string `json:"localIPAddress,omitempty"` @@ -2084,8 +2587,7 @@ type PacketCaptureListResult struct { Value *[]PacketCaptureResult `json:"value,omitempty"` } -// PacketCaptureParameters is parameters that define the create packet capture -// operation. +// PacketCaptureParameters is parameters that define the create packet capture operation. type PacketCaptureParameters struct { Target *string `json:"target,omitempty"` BytesToCapturePerPacket *int32 `json:"bytesToCapturePerPacket,omitempty"` @@ -2115,8 +2617,7 @@ type PacketCaptureResult struct { *PacketCaptureResultProperties `json:"properties,omitempty"` } -// PacketCaptureResultProperties is describes the properties of a packet -// capture session. +// PacketCaptureResultProperties is describes the properties of a packet capture session. type PacketCaptureResultProperties struct { Target *string `json:"target,omitempty"` BytesToCapturePerPacket *int32 `json:"bytesToCapturePerPacket,omitempty"` @@ -2127,8 +2628,7 @@ type PacketCaptureResultProperties struct { ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` } -// PacketCaptureStorageLocation is describes the storage location for a packet -// capture session. +// PacketCaptureStorageLocation is describes the storage location for a packet capture session. type PacketCaptureStorageLocation struct { StorageID *string `json:"storageId,omitempty"` StoragePath *string `json:"storagePath,omitempty"` @@ -2156,13 +2656,14 @@ type PatchRouteFilterRule struct { // Probe is a load balancer probe. type Probe struct { + autorest.Response `json:"-"` ID *string `json:"id,omitempty"` *ProbePropertiesFormat `json:"properties,omitempty"` Name *string `json:"name,omitempty"` Etag *string `json:"etag,omitempty"` } -// ProbePropertiesFormat is +// ProbePropertiesFormat is load balancer probe resource. type ProbePropertiesFormat struct { LoadBalancingRules *[]SubResource `json:"loadBalancingRules,omitempty"` Protocol ProbeProtocol `json:"protocol,omitempty"` @@ -2181,20 +2682,20 @@ type PublicIPAddress struct { Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` + Sku *PublicIPAddressSku `json:"sku,omitempty"` *PublicIPAddressPropertiesFormat `json:"properties,omitempty"` - Etag *string `json:"etag,omitempty"` + Etag *string `json:"etag,omitempty"` + Zones *[]string `json:"zones,omitempty"` } -// PublicIPAddressDNSSettings is contains FQDN of the DNS record associated -// with the public IP address +// PublicIPAddressDNSSettings is contains FQDN of the DNS record associated with the public IP address type PublicIPAddressDNSSettings struct { DomainNameLabel *string `json:"domainNameLabel,omitempty"` Fqdn *string `json:"fqdn,omitempty"` ReverseFqdn *string `json:"reverseFqdn,omitempty"` } -// PublicIPAddressListResult is response for ListPublicIpAddresses API service -// call. +// PublicIPAddressListResult is response for ListPublicIpAddresses API service call. type PublicIPAddressListResult struct { autorest.Response `json:"-"` Value *[]PublicIPAddress `json:"value,omitempty"` @@ -2225,13 +2726,17 @@ type PublicIPAddressPropertiesFormat struct { ProvisioningState *string `json:"provisioningState,omitempty"` } -// QueryTroubleshootingParameters is parameters that define the resource to -// query the troubleshooting result. +// PublicIPAddressSku is SKU of a public IP address +type PublicIPAddressSku struct { + Name PublicIPAddressSkuName `json:"name,omitempty"` +} + +// QueryTroubleshootingParameters is parameters that define the resource to query the troubleshooting result. type QueryTroubleshootingParameters struct { TargetResourceID *string `json:"targetResourceId,omitempty"` } -// Resource is +// Resource is common resource representation. type Resource struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` @@ -2255,8 +2760,7 @@ type ResourceNavigationLinkFormat struct { ProvisioningState *string `json:"provisioningState,omitempty"` } -// RetentionPolicyParameters is parameters that define the retention policy for -// flow log. +// RetentionPolicyParameters is parameters that define the retention policy for flow log. type RetentionPolicyParameters struct { Days *int32 `json:"days,omitempty"` Enabled *bool `json:"enabled,omitempty"` @@ -2320,8 +2824,7 @@ type RouteFilterRule struct { Tags *map[string]*string `json:"tags,omitempty"` } -// RouteFilterRuleListResult is response for the ListRouteFilterRules API -// service call +// RouteFilterRuleListResult is response for the ListRouteFilterRules API service call type RouteFilterRuleListResult struct { autorest.Response `json:"-"` Value *[]RouteFilterRule `json:"value,omitempty"` @@ -2425,8 +2928,7 @@ type SecurityGroup struct { Etag *string `json:"etag,omitempty"` } -// SecurityGroupListResult is response for ListNetworkSecurityGroups API -// service call. +// SecurityGroupListResult is response for ListNetworkSecurityGroups API service call. type SecurityGroupListResult struct { autorest.Response `json:"-"` Value *[]SecurityGroup `json:"value,omitempty"` @@ -2445,8 +2947,7 @@ func (client SecurityGroupListResult) SecurityGroupListResultPreparer() (*http.R autorest.WithBaseURL(to.String(client.NextLink))) } -// SecurityGroupNetworkInterface is network interface and all its associated -// security rules. +// SecurityGroupNetworkInterface is network interface and all its associated security rules. type SecurityGroupNetworkInterface struct { ID *string `json:"id,omitempty"` SecurityRuleAssociations *SecurityRuleAssociations `json:"securityRuleAssociations,omitempty"` @@ -2462,14 +2963,12 @@ type SecurityGroupPropertiesFormat struct { ProvisioningState *string `json:"provisioningState,omitempty"` } -// SecurityGroupViewParameters is parameters that define the VM to check -// security groups for. +// SecurityGroupViewParameters is parameters that define the VM to check security groups for. type SecurityGroupViewParameters struct { TargetResourceID *string `json:"targetResourceId,omitempty"` } -// SecurityGroupViewResult is the information about security rules applied to -// the specified VM. +// SecurityGroupViewResult is the information about security rules applied to the specified VM. type SecurityGroupViewResult struct { autorest.Response `json:"-"` NetworkInterfaces *[]SecurityGroupNetworkInterface `json:"networkInterfaces,omitempty"` @@ -2484,8 +2983,7 @@ type SecurityRule struct { Etag *string `json:"etag,omitempty"` } -// SecurityRuleAssociations is all security rules associated with the network -// interface. +// SecurityRuleAssociations is all security rules associated with the network interface. type SecurityRuleAssociations struct { NetworkInterfaceAssociation *InterfaceAssociation `json:"networkInterfaceAssociation,omitempty"` SubnetAssociation *SubnetAssociation `json:"subnetAssociation,omitempty"` @@ -2493,8 +2991,8 @@ type SecurityRuleAssociations struct { EffectiveSecurityRules *[]EffectiveNetworkSecurityRule `json:"effectiveSecurityRules,omitempty"` } -// SecurityRuleListResult is response for ListSecurityRule API service call. -// Retrieves all security rules that belongs to a network security group. +// SecurityRuleListResult is response for ListSecurityRule API service call. Retrieves all security rules that belongs +// to a network security group. type SecurityRuleListResult struct { autorest.Response `json:"-"` Value *[]SecurityRule `json:"value,omitempty"` @@ -2513,18 +3011,31 @@ func (client SecurityRuleListResult) SecurityRuleListResultPreparer() (*http.Req autorest.WithBaseURL(to.String(client.NextLink))) } -// SecurityRulePropertiesFormat is +// SecurityRulePropertiesFormat is security rule resource. type SecurityRulePropertiesFormat struct { - Description *string `json:"description,omitempty"` - Protocol SecurityRuleProtocol `json:"protocol,omitempty"` - SourcePortRange *string `json:"sourcePortRange,omitempty"` - DestinationPortRange *string `json:"destinationPortRange,omitempty"` - SourceAddressPrefix *string `json:"sourceAddressPrefix,omitempty"` - DestinationAddressPrefix *string `json:"destinationAddressPrefix,omitempty"` - Access SecurityRuleAccess `json:"access,omitempty"` - Priority *int32 `json:"priority,omitempty"` - Direction SecurityRuleDirection `json:"direction,omitempty"` - ProvisioningState *string `json:"provisioningState,omitempty"` + Description *string `json:"description,omitempty"` + Protocol SecurityRuleProtocol `json:"protocol,omitempty"` + SourcePortRange *string `json:"sourcePortRange,omitempty"` + DestinationPortRange *string `json:"destinationPortRange,omitempty"` + SourceAddressPrefix *string `json:"sourceAddressPrefix,omitempty"` + SourceAddressPrefixes *[]string `json:"sourceAddressPrefixes,omitempty"` + SourceApplicationSecurityGroups *[]ApplicationSecurityGroup `json:"sourceApplicationSecurityGroups,omitempty"` + DestinationAddressPrefix *string `json:"destinationAddressPrefix,omitempty"` + DestinationAddressPrefixes *[]string `json:"destinationAddressPrefixes,omitempty"` + DestinationApplicationSecurityGroups *[]ApplicationSecurityGroup `json:"destinationApplicationSecurityGroups,omitempty"` + SourcePortRanges *[]string `json:"sourcePortRanges,omitempty"` + DestinationPortRanges *[]string `json:"destinationPortRanges,omitempty"` + Access SecurityRuleAccess `json:"access,omitempty"` + Priority *int32 `json:"priority,omitempty"` + Direction SecurityRuleDirection `json:"direction,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` +} + +// ServiceEndpointPropertiesFormat is the service endpoint properties. +type ServiceEndpointPropertiesFormat struct { + Service *string `json:"service,omitempty"` + Locations *[]string `json:"locations,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` } // String is @@ -2548,8 +3059,7 @@ type SubnetAssociation struct { SecurityRules *[]SecurityRule `json:"securityRules,omitempty"` } -// SubnetListResult is response for ListSubnets API service callRetrieves all -// subnet that belongs to a virtual network +// SubnetListResult is response for ListSubnets API service callRetrieves all subnet that belongs to a virtual network type SubnetListResult struct { autorest.Response `json:"-"` Value *[]Subnet `json:"value,omitempty"` @@ -2568,17 +3078,18 @@ func (client SubnetListResult) SubnetListResultPreparer() (*http.Request, error) autorest.WithBaseURL(to.String(client.NextLink))) } -// SubnetPropertiesFormat is +// SubnetPropertiesFormat is properties of the subnet. type SubnetPropertiesFormat struct { - AddressPrefix *string `json:"addressPrefix,omitempty"` - NetworkSecurityGroup *SecurityGroup `json:"networkSecurityGroup,omitempty"` - RouteTable *RouteTable `json:"routeTable,omitempty"` - IPConfigurations *[]IPConfiguration `json:"ipConfigurations,omitempty"` - ResourceNavigationLinks *[]ResourceNavigationLink `json:"resourceNavigationLinks,omitempty"` - ProvisioningState *string `json:"provisioningState,omitempty"` + AddressPrefix *string `json:"addressPrefix,omitempty"` + NetworkSecurityGroup *SecurityGroup `json:"networkSecurityGroup,omitempty"` + RouteTable *RouteTable `json:"routeTable,omitempty"` + ServiceEndpoints *[]ServiceEndpointPropertiesFormat `json:"serviceEndpoints,omitempty"` + IPConfigurations *[]IPConfiguration `json:"ipConfigurations,omitempty"` + ResourceNavigationLinks *[]ResourceNavigationLink `json:"resourceNavigationLinks,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` } -// SubResource is +// SubResource is reference to another subresource. type SubResource struct { ID *string `json:"id,omitempty"` } @@ -2592,8 +3103,7 @@ type Topology struct { Resources *[]TopologyResource `json:"resources,omitempty"` } -// TopologyAssociation is resources that have an association with the parent -// resource. +// TopologyAssociation is resources that have an association with the parent resource. type TopologyAssociation struct { Name *string `json:"name,omitempty"` ResourceID *string `json:"resourceId,omitempty"` @@ -2605,8 +3115,7 @@ type TopologyParameters struct { TargetResourceGroupName *string `json:"targetResourceGroupName,omitempty"` } -// TopologyResource is the network resource topology information for the given -// resource group. +// TopologyResource is the network resource topology information for the given resource group. type TopologyResource struct { Name *string `json:"name,omitempty"` ID *string `json:"id,omitempty"` @@ -2614,8 +3123,7 @@ type TopologyResource struct { Associations *[]TopologyAssociation `json:"associations,omitempty"` } -// TroubleshootingDetails is information gained from troubleshooting of -// specified resource. +// TroubleshootingDetails is information gained from troubleshooting of specified resource. type TroubleshootingDetails struct { ID *string `json:"id,omitempty"` ReasonType *string `json:"reasonType,omitempty"` @@ -2624,8 +3132,7 @@ type TroubleshootingDetails struct { RecommendedActions *[]TroubleshootingRecommendedActions `json:"recommendedActions,omitempty"` } -// TroubleshootingParameters is parameters that define the resource to -// troubleshoot. +// TroubleshootingParameters is parameters that define the resource to troubleshoot. type TroubleshootingParameters struct { TargetResourceID *string `json:"targetResourceId,omitempty"` *TroubleshootingProperties `json:"properties,omitempty"` @@ -2637,8 +3144,7 @@ type TroubleshootingProperties struct { StoragePath *string `json:"storagePath,omitempty"` } -// TroubleshootingRecommendedActions is recommended actions based on discovered -// issues. +// TroubleshootingRecommendedActions is recommended actions based on discovered issues. type TroubleshootingRecommendedActions struct { ActionID *string `json:"actionId,omitempty"` ActionText *string `json:"actionText,omitempty"` @@ -2646,8 +3152,7 @@ type TroubleshootingRecommendedActions struct { ActionURIText *string `json:"actionUriText,omitempty"` } -// TroubleshootingResult is troubleshooting information gained from specified -// resource. +// TroubleshootingResult is troubleshooting information gained from specified resource. type TroubleshootingResult struct { autorest.Response `json:"-"` StartTime *date.Time `json:"startTime,omitempty"` @@ -2667,6 +3172,7 @@ type TunnelConnectionHealth struct { // Usage is describes network resource usage. type Usage struct { + ID *string `json:"id,omitempty"` Unit *string `json:"unit,omitempty"` CurrentValue *int64 `json:"currentValue,omitempty"` Limit *int64 `json:"limit,omitempty"` @@ -2698,8 +3204,7 @@ func (client UsagesListResult) UsagesListResultPreparer() (*http.Request, error) autorest.WithBaseURL(to.String(client.NextLink))) } -// VerificationIPFlowParameters is parameters that define the IP flow to be -// verified. +// VerificationIPFlowParameters is parameters that define the IP flow to be verified. type VerificationIPFlowParameters struct { TargetResourceID *string `json:"targetResourceId,omitempty"` Direction Direction `json:"direction,omitempty"` @@ -2711,8 +3216,7 @@ type VerificationIPFlowParameters struct { TargetNicResourceID *string `json:"targetNicResourceId,omitempty"` } -// VerificationIPFlowResult is results of IP flow verification on the target -// resource. +// VerificationIPFlowResult is results of IP flow verification on the target resource. type VerificationIPFlowResult struct { autorest.Response `json:"-"` Access Access `json:"access,omitempty"` @@ -2731,6 +3235,11 @@ type VirtualNetwork struct { Etag *string `json:"etag,omitempty"` } +// VirtualNetworkConnectionGatewayReference is a reference to VirtualNetworkGateway or LocalNetworkGateway resource. +type VirtualNetworkConnectionGatewayReference struct { + ID *string `json:"id,omitempty"` +} + // VirtualNetworkGateway is a common class for general resource information type VirtualNetworkGateway struct { autorest.Response `json:"-"` @@ -2743,8 +3252,7 @@ type VirtualNetworkGateway struct { Etag *string `json:"etag,omitempty"` } -// VirtualNetworkGatewayConnection is a common class for general resource -// information +// VirtualNetworkGatewayConnection is a common class for general resource information type VirtualNetworkGatewayConnection struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -2756,8 +3264,39 @@ type VirtualNetworkGatewayConnection struct { Etag *string `json:"etag,omitempty"` } -// VirtualNetworkGatewayConnectionListResult is response for the -// ListVirtualNetworkGatewayConnections API service call +// VirtualNetworkGatewayConnectionListEntity is a common class for general resource information +type VirtualNetworkGatewayConnectionListEntity struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + *VirtualNetworkGatewayConnectionListEntityPropertiesFormat `json:"properties,omitempty"` + Etag *string `json:"etag,omitempty"` +} + +// VirtualNetworkGatewayConnectionListEntityPropertiesFormat is virtualNetworkGatewayConnection properties +type VirtualNetworkGatewayConnectionListEntityPropertiesFormat struct { + AuthorizationKey *string `json:"authorizationKey,omitempty"` + VirtualNetworkGateway1 *VirtualNetworkConnectionGatewayReference `json:"virtualNetworkGateway1,omitempty"` + VirtualNetworkGateway2 *VirtualNetworkConnectionGatewayReference `json:"virtualNetworkGateway2,omitempty"` + LocalNetworkGateway2 *VirtualNetworkConnectionGatewayReference `json:"localNetworkGateway2,omitempty"` + ConnectionType VirtualNetworkGatewayConnectionType `json:"connectionType,omitempty"` + RoutingWeight *int32 `json:"routingWeight,omitempty"` + SharedKey *string `json:"sharedKey,omitempty"` + ConnectionStatus VirtualNetworkGatewayConnectionStatus `json:"connectionStatus,omitempty"` + TunnelConnectionStatus *[]TunnelConnectionHealth `json:"tunnelConnectionStatus,omitempty"` + EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty"` + IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty"` + Peer *SubResource `json:"peer,omitempty"` + EnableBgp *bool `json:"enableBgp,omitempty"` + UsePolicyBasedTrafficSelectors *bool `json:"usePolicyBasedTrafficSelectors,omitempty"` + IpsecPolicies *[]IpsecPolicy `json:"ipsecPolicies,omitempty"` + ResourceGUID *string `json:"resourceGuid,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` +} + +// VirtualNetworkGatewayConnectionListResult is response for the ListVirtualNetworkGatewayConnections API service call type VirtualNetworkGatewayConnectionListResult struct { autorest.Response `json:"-"` Value *[]VirtualNetworkGatewayConnection `json:"value,omitempty"` @@ -2776,8 +3315,7 @@ func (client VirtualNetworkGatewayConnectionListResult) VirtualNetworkGatewayCon autorest.WithBaseURL(to.String(client.NextLink))) } -// VirtualNetworkGatewayConnectionPropertiesFormat is -// virtualNetworkGatewayConnection properties +// VirtualNetworkGatewayConnectionPropertiesFormat is virtualNetworkGatewayConnection properties type VirtualNetworkGatewayConnectionPropertiesFormat struct { AuthorizationKey *string `json:"authorizationKey,omitempty"` VirtualNetworkGateway1 *VirtualNetworkGateway `json:"virtualNetworkGateway1,omitempty"` @@ -2798,8 +3336,7 @@ type VirtualNetworkGatewayConnectionPropertiesFormat struct { ProvisioningState *string `json:"provisioningState,omitempty"` } -// VirtualNetworkGatewayIPConfiguration is iP configuration for virtual network -// gateway +// VirtualNetworkGatewayIPConfiguration is IP configuration for virtual network gateway type VirtualNetworkGatewayIPConfiguration struct { ID *string `json:"id,omitempty"` *VirtualNetworkGatewayIPConfigurationPropertiesFormat `json:"properties,omitempty"` @@ -2807,8 +3344,7 @@ type VirtualNetworkGatewayIPConfiguration struct { Etag *string `json:"etag,omitempty"` } -// VirtualNetworkGatewayIPConfigurationPropertiesFormat is properties of -// VirtualNetworkGatewayIPConfiguration +// VirtualNetworkGatewayIPConfigurationPropertiesFormat is properties of VirtualNetworkGatewayIPConfiguration type VirtualNetworkGatewayIPConfigurationPropertiesFormat struct { PrivateIPAllocationMethod IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` Subnet *SubResource `json:"subnet,omitempty"` @@ -2816,8 +3352,26 @@ type VirtualNetworkGatewayIPConfigurationPropertiesFormat struct { ProvisioningState *string `json:"provisioningState,omitempty"` } -// VirtualNetworkGatewayListResult is response for the -// ListVirtualNetworkGateways API service call. +// VirtualNetworkGatewayListConnectionsResult is response for the VirtualNetworkGatewayListConnections API service call +type VirtualNetworkGatewayListConnectionsResult struct { + autorest.Response `json:"-"` + Value *[]VirtualNetworkGatewayConnectionListEntity `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// VirtualNetworkGatewayListConnectionsResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client VirtualNetworkGatewayListConnectionsResult) VirtualNetworkGatewayListConnectionsResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// VirtualNetworkGatewayListResult is response for the ListVirtualNetworkGateways API service call. type VirtualNetworkGatewayListResult struct { autorest.Response `json:"-"` Value *[]VirtualNetworkGateway `json:"value,omitempty"` @@ -2858,8 +3412,7 @@ type VirtualNetworkGatewaySku struct { Capacity *int32 `json:"capacity,omitempty"` } -// VirtualNetworkListResult is response for the ListVirtualNetworks API service -// call. +// VirtualNetworkListResult is response for the ListVirtualNetworks API service call. type VirtualNetworkListResult struct { autorest.Response `json:"-"` Value *[]VirtualNetwork `json:"value,omitempty"` @@ -2878,6 +3431,25 @@ func (client VirtualNetworkListResult) VirtualNetworkListResultPreparer() (*http autorest.WithBaseURL(to.String(client.NextLink))) } +// VirtualNetworkListUsageResult is response for the virtual networks GetUsage API service call. +type VirtualNetworkListUsageResult struct { + autorest.Response `json:"-"` + Value *[]VirtualNetworkUsage `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// VirtualNetworkListUsageResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client VirtualNetworkListUsageResult) VirtualNetworkListUsageResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + // VirtualNetworkPeering is peerings in a virtual network resource. type VirtualNetworkPeering struct { autorest.Response `json:"-"` @@ -2887,8 +3459,8 @@ type VirtualNetworkPeering struct { Etag *string `json:"etag,omitempty"` } -// VirtualNetworkPeeringListResult is response for ListSubnets API service -// call. Retrieves all subnets that belong to a virtual network. +// VirtualNetworkPeeringListResult is response for ListSubnets API service call. Retrieves all subnets that belong to a +// virtual network. type VirtualNetworkPeeringListResult struct { autorest.Response `json:"-"` Value *[]VirtualNetworkPeering `json:"value,omitempty"` @@ -2907,7 +3479,7 @@ func (client VirtualNetworkPeeringListResult) VirtualNetworkPeeringListResultPre autorest.WithBaseURL(to.String(client.NextLink))) } -// VirtualNetworkPeeringPropertiesFormat is +// VirtualNetworkPeeringPropertiesFormat is properties of the virtual network peering. type VirtualNetworkPeeringPropertiesFormat struct { AllowVirtualNetworkAccess *bool `json:"allowVirtualNetworkAccess,omitempty"` AllowForwardedTraffic *bool `json:"allowForwardedTraffic,omitempty"` @@ -2918,7 +3490,7 @@ type VirtualNetworkPeeringPropertiesFormat struct { ProvisioningState *string `json:"provisioningState,omitempty"` } -// VirtualNetworkPropertiesFormat is +// VirtualNetworkPropertiesFormat is properties of the virtual network. type VirtualNetworkPropertiesFormat struct { AddressSpace *AddressSpace `json:"addressSpace,omitempty"` DhcpOptions *DhcpOptions `json:"dhcpOptions,omitempty"` @@ -2926,6 +3498,23 @@ type VirtualNetworkPropertiesFormat struct { VirtualNetworkPeerings *[]VirtualNetworkPeering `json:"virtualNetworkPeerings,omitempty"` ResourceGUID *string `json:"resourceGuid,omitempty"` ProvisioningState *string `json:"provisioningState,omitempty"` + EnableDdosProtection *bool `json:"enableDdosProtection,omitempty"` + EnableVMProtection *bool `json:"enableVmProtection,omitempty"` +} + +// VirtualNetworkUsage is usage details for subnet. +type VirtualNetworkUsage struct { + CurrentValue *float64 `json:"currentValue,omitempty"` + ID *string `json:"id,omitempty"` + Limit *float64 `json:"limit,omitempty"` + Name *VirtualNetworkUsageName `json:"name,omitempty"` + Unit *string `json:"unit,omitempty"` +} + +// VirtualNetworkUsageName is usage strings container. +type VirtualNetworkUsageName struct { + LocalizedValue *string `json:"localizedValue,omitempty"` + Value *string `json:"value,omitempty"` } // VpnClientConfiguration is vpnClientConfiguration for P2S client. @@ -2933,15 +3522,20 @@ type VpnClientConfiguration struct { VpnClientAddressPool *AddressSpace `json:"vpnClientAddressPool,omitempty"` VpnClientRootCertificates *[]VpnClientRootCertificate `json:"vpnClientRootCertificates,omitempty"` VpnClientRevokedCertificates *[]VpnClientRevokedCertificate `json:"vpnClientRevokedCertificates,omitempty"` + VpnClientProtocols *[]VpnClientProtocol `json:"vpnClientProtocols,omitempty"` + RadiusServerAddress *string `json:"radiusServerAddress,omitempty"` + RadiusServerSecret *string `json:"radiusServerSecret,omitempty"` } // VpnClientParameters is vpn Client Parameters for package generation type VpnClientParameters struct { - ProcessorArchitecture ProcessorArchitecture `json:"processorArchitecture,omitempty"` + ProcessorArchitecture ProcessorArchitecture `json:"processorArchitecture,omitempty"` + AuthenticationMethod AuthenticationMethod `json:"authenticationMethod,omitempty"` + RadiusServerAuthCertificate *string `json:"radiusServerAuthCertificate,omitempty"` + ClientRootCertificates *[]string `json:"clientRootCertificates,omitempty"` } -// VpnClientRevokedCertificate is vPN client revoked certificate of virtual -// network gateway. +// VpnClientRevokedCertificate is VPN client revoked certificate of virtual network gateway. type VpnClientRevokedCertificate struct { ID *string `json:"id,omitempty"` *VpnClientRevokedCertificatePropertiesFormat `json:"properties,omitempty"` @@ -2949,15 +3543,14 @@ type VpnClientRevokedCertificate struct { Etag *string `json:"etag,omitempty"` } -// VpnClientRevokedCertificatePropertiesFormat is properties of the revoked VPN -// client certificate of virtual network gateway. +// VpnClientRevokedCertificatePropertiesFormat is properties of the revoked VPN client certificate of virtual network +// gateway. type VpnClientRevokedCertificatePropertiesFormat struct { Thumbprint *string `json:"thumbprint,omitempty"` ProvisioningState *string `json:"provisioningState,omitempty"` } -// VpnClientRootCertificate is vPN client root certificate of virtual network -// gateway +// VpnClientRootCertificate is VPN client root certificate of virtual network gateway type VpnClientRootCertificate struct { ID *string `json:"id,omitempty"` *VpnClientRootCertificatePropertiesFormat `json:"properties,omitempty"` @@ -2965,13 +3558,19 @@ type VpnClientRootCertificate struct { Etag *string `json:"etag,omitempty"` } -// VpnClientRootCertificatePropertiesFormat is properties of SSL certificates -// of application gateway +// VpnClientRootCertificatePropertiesFormat is properties of SSL certificates of application gateway type VpnClientRootCertificatePropertiesFormat struct { PublicCertData *string `json:"publicCertData,omitempty"` ProvisioningState *string `json:"provisioningState,omitempty"` } +// VpnDeviceScriptParameters is vpn device configuration script generation parameters +type VpnDeviceScriptParameters struct { + Vendor *string `json:"vendor,omitempty"` + DeviceFamily *string `json:"deviceFamily,omitempty"` + FirmwareVersion *string `json:"firmwareVersion,omitempty"` +} + // Watcher is network watcher in a resource group. type Watcher struct { autorest.Response `json:"-"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/packetcaptures.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/packetcaptures.go index fbeb0d9ef..1ad97a5e2 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/packetcaptures.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/packetcaptures.go @@ -14,9 +14,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,31 +24,27 @@ import ( "net/http" ) -// PacketCapturesClient is the composite Swagger for Network Client +// PacketCapturesClient is the network Client type PacketCapturesClient struct { ManagementClient } -// NewPacketCapturesClient creates an instance of the PacketCapturesClient -// client. +// NewPacketCapturesClient creates an instance of the PacketCapturesClient client. func NewPacketCapturesClient(subscriptionID string) PacketCapturesClient { return NewPacketCapturesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewPacketCapturesClientWithBaseURI creates an instance of the -// PacketCapturesClient client. +// NewPacketCapturesClientWithBaseURI creates an instance of the PacketCapturesClient client. func NewPacketCapturesClientWithBaseURI(baseURI string, subscriptionID string) PacketCapturesClient { return PacketCapturesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Create create and start a packet capture on the specified VM. This method -// may poll for completion. Polling can be canceled by passing the cancel -// channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// Create create and start a packet capture on the specified VM. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group. networkWatcherName is -// the name of the network watcher. packetCaptureName is the name of the packet -// capture session. parameters is parameters that define the create packet +// resourceGroupName is the name of the resource group. networkWatcherName is the name of the network watcher. +// packetCaptureName is the name of the packet capture session. parameters is parameters that define the create packet // capture operation. func (client PacketCapturesClient) Create(resourceGroupName string, networkWatcherName string, packetCaptureName string, parameters PacketCapture, cancel <-chan struct{}) (<-chan PacketCaptureResult, <-chan error) { resultChan := make(chan PacketCaptureResult, 1) @@ -70,8 +65,10 @@ func (client PacketCapturesClient) Create(resourceGroupName string, networkWatch var err error var result PacketCaptureResult defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -105,7 +102,7 @@ func (client PacketCapturesClient) CreatePreparer(resourceGroupName string, netw "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -141,14 +138,11 @@ func (client PacketCapturesClient) CreateResponder(resp *http.Response) (result return } -// Delete deletes the specified packet capture session. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// Delete deletes the specified packet capture session. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. networkWatcherName is -// the name of the network watcher. packetCaptureName is the name of the packet -// capture session. +// resourceGroupName is the name of the resource group. networkWatcherName is the name of the network watcher. +// packetCaptureName is the name of the packet capture session. func (client PacketCapturesClient) Delete(resourceGroupName string, networkWatcherName string, packetCaptureName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -156,8 +150,10 @@ func (client PacketCapturesClient) Delete(resourceGroupName string, networkWatch var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -191,7 +187,7 @@ func (client PacketCapturesClient) DeletePreparer(resourceGroupName string, netw "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -226,9 +222,8 @@ func (client PacketCapturesClient) DeleteResponder(resp *http.Response) (result // Get gets a packet capture session by name. // -// resourceGroupName is the name of the resource group. networkWatcherName is -// the name of the network watcher. packetCaptureName is the name of the packet -// capture session. +// resourceGroupName is the name of the resource group. networkWatcherName is the name of the network watcher. +// packetCaptureName is the name of the packet capture session. func (client PacketCapturesClient) Get(resourceGroupName string, networkWatcherName string, packetCaptureName string) (result PacketCaptureResult, err error) { req, err := client.GetPreparer(resourceGroupName, networkWatcherName, packetCaptureName) if err != nil { @@ -260,7 +255,7 @@ func (client PacketCapturesClient) GetPreparer(resourceGroupName string, network "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -292,14 +287,12 @@ func (client PacketCapturesClient) GetResponder(resp *http.Response) (result Pac return } -// GetStatus query the status of a running packet capture session. This method -// may poll for completion. Polling can be canceled by passing the cancel -// channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// GetStatus query the status of a running packet capture session. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group. networkWatcherName is -// the name of the Network Watcher resource. packetCaptureName is the name -// given to the packet capture session. +// resourceGroupName is the name of the resource group. networkWatcherName is the name of the Network Watcher resource. +// packetCaptureName is the name given to the packet capture session. func (client PacketCapturesClient) GetStatus(resourceGroupName string, networkWatcherName string, packetCaptureName string, cancel <-chan struct{}) (<-chan PacketCaptureQueryStatusResult, <-chan error) { resultChan := make(chan PacketCaptureQueryStatusResult, 1) errChan := make(chan error, 1) @@ -307,8 +300,10 @@ func (client PacketCapturesClient) GetStatus(resourceGroupName string, networkWa var err error var result PacketCaptureQueryStatusResult defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -342,7 +337,7 @@ func (client PacketCapturesClient) GetStatusPreparer(resourceGroupName string, n "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -378,8 +373,7 @@ func (client PacketCapturesClient) GetStatusResponder(resp *http.Response) (resu // List lists all packet capture sessions within the specified resource group. // -// resourceGroupName is the name of the resource group. networkWatcherName is -// the name of the Network Watcher resource. +// resourceGroupName is the name of the resource group. networkWatcherName is the name of the Network Watcher resource. func (client PacketCapturesClient) List(resourceGroupName string, networkWatcherName string) (result PacketCaptureListResult, err error) { req, err := client.ListPreparer(resourceGroupName, networkWatcherName) if err != nil { @@ -410,7 +404,7 @@ func (client PacketCapturesClient) ListPreparer(resourceGroupName string, networ "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -442,14 +436,11 @@ func (client PacketCapturesClient) ListResponder(resp *http.Response) (result Pa return } -// Stop stops a specified packet capture session. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Stop stops a specified packet capture session. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. networkWatcherName is -// the name of the network watcher. packetCaptureName is the name of the packet -// capture session. +// resourceGroupName is the name of the resource group. networkWatcherName is the name of the network watcher. +// packetCaptureName is the name of the packet capture session. func (client PacketCapturesClient) Stop(resourceGroupName string, networkWatcherName string, packetCaptureName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -457,8 +448,10 @@ func (client PacketCapturesClient) Stop(resourceGroupName string, networkWatcher var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -492,7 +485,7 @@ func (client PacketCapturesClient) StopPreparer(resourceGroupName string, networ "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/publicipaddresses.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/publicipaddresses.go index 896bc817d..af7e7ec85 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/publicipaddresses.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/publicipaddresses.go @@ -14,9 +14,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,31 +24,27 @@ import ( "net/http" ) -// PublicIPAddressesClient is the composite Swagger for Network Client +// PublicIPAddressesClient is the network Client type PublicIPAddressesClient struct { ManagementClient } -// NewPublicIPAddressesClient creates an instance of the -// PublicIPAddressesClient client. +// NewPublicIPAddressesClient creates an instance of the PublicIPAddressesClient client. func NewPublicIPAddressesClient(subscriptionID string) PublicIPAddressesClient { return NewPublicIPAddressesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewPublicIPAddressesClientWithBaseURI creates an instance of the -// PublicIPAddressesClient client. +// NewPublicIPAddressesClientWithBaseURI creates an instance of the PublicIPAddressesClient client. func NewPublicIPAddressesClientWithBaseURI(baseURI string, subscriptionID string) PublicIPAddressesClient { return PublicIPAddressesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates a static or dynamic public IP address. -// This method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// CreateOrUpdate creates or updates a static or dynamic public IP address. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. publicIPAddressName is -// the name of the public IP address. parameters is parameters supplied to the -// create or update public IP address operation. +// resourceGroupName is the name of the resource group. publicIPAddressName is the name of the public IP address. +// parameters is parameters supplied to the create or update public IP address operation. func (client PublicIPAddressesClient) CreateOrUpdate(resourceGroupName string, publicIPAddressName string, parameters PublicIPAddress, cancel <-chan struct{}) (<-chan PublicIPAddress, <-chan error) { resultChan := make(chan PublicIPAddress, 1) errChan := make(chan error, 1) @@ -71,8 +66,10 @@ func (client PublicIPAddressesClient) CreateOrUpdate(resourceGroupName string, p var err error var result PublicIPAddress defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -105,7 +102,7 @@ func (client PublicIPAddressesClient) CreateOrUpdatePreparer(resourceGroupName s "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -141,13 +138,10 @@ func (client PublicIPAddressesClient) CreateOrUpdateResponder(resp *http.Respons return } -// Delete deletes the specified public IP address. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete deletes the specified public IP address. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. publicIPAddressName is -// the name of the subnet. +// resourceGroupName is the name of the resource group. publicIPAddressName is the name of the subnet. func (client PublicIPAddressesClient) Delete(resourceGroupName string, publicIPAddressName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -155,8 +149,10 @@ func (client PublicIPAddressesClient) Delete(resourceGroupName string, publicIPA var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -189,7 +185,7 @@ func (client PublicIPAddressesClient) DeletePreparer(resourceGroupName string, p "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -224,8 +220,8 @@ func (client PublicIPAddressesClient) DeleteResponder(resp *http.Response) (resu // Get gets the specified public IP address in a specified resource group. // -// resourceGroupName is the name of the resource group. publicIPAddressName is -// the name of the subnet. expand is expands referenced resources. +// resourceGroupName is the name of the resource group. publicIPAddressName is the name of the subnet. expand is +// expands referenced resources. func (client PublicIPAddressesClient) Get(resourceGroupName string, publicIPAddressName string, expand string) (result PublicIPAddress, err error) { req, err := client.GetPreparer(resourceGroupName, publicIPAddressName, expand) if err != nil { @@ -256,7 +252,7 @@ func (client PublicIPAddressesClient) GetPreparer(resourceGroupName string, publ "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -291,6 +287,81 @@ func (client PublicIPAddressesClient) GetResponder(resp *http.Response) (result return } +// GetVirtualMachineScaleSetPublicIPAddress get the specified public IP address in a virtual machine scale set. +// +// resourceGroupName is the name of the resource group. virtualMachineScaleSetName is the name of the virtual machine +// scale set. virtualmachineIndex is the virtual machine index. networkInterfaceName is the name of the network +// interface. IPConfigurationName is the name of the IP configuration. publicIPAddressName is the name of the public IP +// Address. expand is expands referenced resources. +func (client PublicIPAddressesClient) GetVirtualMachineScaleSetPublicIPAddress(resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, IPConfigurationName string, publicIPAddressName string, expand string) (result PublicIPAddress, err error) { + req, err := client.GetVirtualMachineScaleSetPublicIPAddressPreparer(resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex, networkInterfaceName, IPConfigurationName, publicIPAddressName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "GetVirtualMachineScaleSetPublicIPAddress", nil, "Failure preparing request") + return + } + + resp, err := client.GetVirtualMachineScaleSetPublicIPAddressSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "GetVirtualMachineScaleSetPublicIPAddress", resp, "Failure sending request") + return + } + + result, err = client.GetVirtualMachineScaleSetPublicIPAddressResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "GetVirtualMachineScaleSetPublicIPAddress", resp, "Failure responding to request") + } + + return +} + +// GetVirtualMachineScaleSetPublicIPAddressPreparer prepares the GetVirtualMachineScaleSetPublicIPAddress request. +func (client PublicIPAddressesClient) GetVirtualMachineScaleSetPublicIPAddressPreparer(resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, IPConfigurationName string, publicIPAddressName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ipConfigurationName": autorest.Encode("path", IPConfigurationName), + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "publicIpAddressName": autorest.Encode("path", publicIPAddressName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualmachineIndex": autorest.Encode("path", virtualmachineIndex), + "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses/{publicIpAddressName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetVirtualMachineScaleSetPublicIPAddressSender sends the GetVirtualMachineScaleSetPublicIPAddress request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPAddressesClient) GetVirtualMachineScaleSetPublicIPAddressSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetVirtualMachineScaleSetPublicIPAddressResponder handles the response to the GetVirtualMachineScaleSetPublicIPAddress request. The method always +// closes the http.Response Body. +func (client PublicIPAddressesClient) GetVirtualMachineScaleSetPublicIPAddressResponder(resp *http.Response) (result PublicIPAddress, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // List gets all public IP addresses in a resource group. // // resourceGroupName is the name of the resource group. @@ -323,7 +394,7 @@ func (client PublicIPAddressesClient) ListPreparer(resourceGroupName string) (*h "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -379,6 +450,51 @@ func (client PublicIPAddressesClient) ListNextResults(lastResults PublicIPAddres return } +// ListComplete gets all elements from the list without paging. +func (client PublicIPAddressesClient) ListComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan PublicIPAddress, <-chan error) { + resultChan := make(chan PublicIPAddress) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListAll gets all the public IP addresses in a subscription. func (client PublicIPAddressesClient) ListAll() (result PublicIPAddressListResult, err error) { req, err := client.ListAllPreparer() @@ -408,7 +524,7 @@ func (client PublicIPAddressesClient) ListAllPreparer() (*http.Request, error) { "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -463,3 +579,324 @@ func (client PublicIPAddressesClient) ListAllNextResults(lastResults PublicIPAdd return } + +// ListAllComplete gets all elements from the list without paging. +func (client PublicIPAddressesClient) ListAllComplete(cancel <-chan struct{}) (<-chan PublicIPAddress, <-chan error) { + resultChan := make(chan PublicIPAddress) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAll() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAllNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListVirtualMachineScaleSetPublicIPAddresses gets information about all public IP addresses on a virtual machine +// scale set level. +// +// resourceGroupName is the name of the resource group. virtualMachineScaleSetName is the name of the virtual machine +// scale set. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetPublicIPAddresses(resourceGroupName string, virtualMachineScaleSetName string) (result PublicIPAddressListResult, err error) { + req, err := client.ListVirtualMachineScaleSetPublicIPAddressesPreparer(resourceGroupName, virtualMachineScaleSetName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListVirtualMachineScaleSetPublicIPAddresses", nil, "Failure preparing request") + return + } + + resp, err := client.ListVirtualMachineScaleSetPublicIPAddressesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListVirtualMachineScaleSetPublicIPAddresses", resp, "Failure sending request") + return + } + + result, err = client.ListVirtualMachineScaleSetPublicIPAddressesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListVirtualMachineScaleSetPublicIPAddresses", resp, "Failure responding to request") + } + + return +} + +// ListVirtualMachineScaleSetPublicIPAddressesPreparer prepares the ListVirtualMachineScaleSetPublicIPAddresses request. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetPublicIPAddressesPreparer(resourceGroupName string, virtualMachineScaleSetName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/publicipaddresses", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListVirtualMachineScaleSetPublicIPAddressesSender sends the ListVirtualMachineScaleSetPublicIPAddresses request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetPublicIPAddressesSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListVirtualMachineScaleSetPublicIPAddressesResponder handles the response to the ListVirtualMachineScaleSetPublicIPAddresses request. The method always +// closes the http.Response Body. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetPublicIPAddressesResponder(resp *http.Response) (result PublicIPAddressListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListVirtualMachineScaleSetPublicIPAddressesNextResults retrieves the next set of results, if any. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetPublicIPAddressesNextResults(lastResults PublicIPAddressListResult) (result PublicIPAddressListResult, err error) { + req, err := lastResults.PublicIPAddressListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListVirtualMachineScaleSetPublicIPAddresses", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListVirtualMachineScaleSetPublicIPAddressesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListVirtualMachineScaleSetPublicIPAddresses", resp, "Failure sending next results request") + } + + result, err = client.ListVirtualMachineScaleSetPublicIPAddressesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListVirtualMachineScaleSetPublicIPAddresses", resp, "Failure responding to next results request") + } + + return +} + +// ListVirtualMachineScaleSetPublicIPAddressesComplete gets all elements from the list without paging. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetPublicIPAddressesComplete(resourceGroupName string, virtualMachineScaleSetName string, cancel <-chan struct{}) (<-chan PublicIPAddress, <-chan error) { + resultChan := make(chan PublicIPAddress) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListVirtualMachineScaleSetPublicIPAddresses(resourceGroupName, virtualMachineScaleSetName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListVirtualMachineScaleSetPublicIPAddressesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListVirtualMachineScaleSetVMPublicIPAddresses gets information about all public IP addresses in a virtual machine IP +// configuration in a virtual machine scale set. +// +// resourceGroupName is the name of the resource group. virtualMachineScaleSetName is the name of the virtual machine +// scale set. virtualmachineIndex is the virtual machine index. networkInterfaceName is the network interface name. +// IPConfigurationName is the IP configuration name. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetVMPublicIPAddresses(resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, IPConfigurationName string) (result PublicIPAddressListResult, err error) { + req, err := client.ListVirtualMachineScaleSetVMPublicIPAddressesPreparer(resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex, networkInterfaceName, IPConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListVirtualMachineScaleSetVMPublicIPAddresses", nil, "Failure preparing request") + return + } + + resp, err := client.ListVirtualMachineScaleSetVMPublicIPAddressesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListVirtualMachineScaleSetVMPublicIPAddresses", resp, "Failure sending request") + return + } + + result, err = client.ListVirtualMachineScaleSetVMPublicIPAddressesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListVirtualMachineScaleSetVMPublicIPAddresses", resp, "Failure responding to request") + } + + return +} + +// ListVirtualMachineScaleSetVMPublicIPAddressesPreparer prepares the ListVirtualMachineScaleSetVMPublicIPAddresses request. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetVMPublicIPAddressesPreparer(resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, IPConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ipConfigurationName": autorest.Encode("path", IPConfigurationName), + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualmachineIndex": autorest.Encode("path", virtualmachineIndex), + "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), + } + + const APIVersion = "2017-03-30" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListVirtualMachineScaleSetVMPublicIPAddressesSender sends the ListVirtualMachineScaleSetVMPublicIPAddresses request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetVMPublicIPAddressesSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListVirtualMachineScaleSetVMPublicIPAddressesResponder handles the response to the ListVirtualMachineScaleSetVMPublicIPAddresses request. The method always +// closes the http.Response Body. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetVMPublicIPAddressesResponder(resp *http.Response) (result PublicIPAddressListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListVirtualMachineScaleSetVMPublicIPAddressesNextResults retrieves the next set of results, if any. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetVMPublicIPAddressesNextResults(lastResults PublicIPAddressListResult) (result PublicIPAddressListResult, err error) { + req, err := lastResults.PublicIPAddressListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListVirtualMachineScaleSetVMPublicIPAddresses", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListVirtualMachineScaleSetVMPublicIPAddressesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListVirtualMachineScaleSetVMPublicIPAddresses", resp, "Failure sending next results request") + } + + result, err = client.ListVirtualMachineScaleSetVMPublicIPAddressesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListVirtualMachineScaleSetVMPublicIPAddresses", resp, "Failure responding to next results request") + } + + return +} + +// ListVirtualMachineScaleSetVMPublicIPAddressesComplete gets all elements from the list without paging. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetVMPublicIPAddressesComplete(resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, IPConfigurationName string, cancel <-chan struct{}) (<-chan PublicIPAddress, <-chan error) { + resultChan := make(chan PublicIPAddress) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListVirtualMachineScaleSetVMPublicIPAddresses(resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex, networkInterfaceName, IPConfigurationName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListVirtualMachineScaleSetVMPublicIPAddressesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/routefilterrules.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/routefilterrules.go index 378a75bb2..7c0ab1790 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/routefilterrules.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/routefilterrules.go @@ -14,9 +14,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,32 +24,28 @@ import ( "net/http" ) -// RouteFilterRulesClient is the composite Swagger for Network Client +// RouteFilterRulesClient is the network Client type RouteFilterRulesClient struct { ManagementClient } -// NewRouteFilterRulesClient creates an instance of the RouteFilterRulesClient -// client. +// NewRouteFilterRulesClient creates an instance of the RouteFilterRulesClient client. func NewRouteFilterRulesClient(subscriptionID string) RouteFilterRulesClient { return NewRouteFilterRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewRouteFilterRulesClientWithBaseURI creates an instance of the -// RouteFilterRulesClient client. +// NewRouteFilterRulesClientWithBaseURI creates an instance of the RouteFilterRulesClient client. func NewRouteFilterRulesClientWithBaseURI(baseURI string, subscriptionID string) RouteFilterRulesClient { return RouteFilterRulesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates a route in the specified route filter. -// This method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// CreateOrUpdate creates or updates a route in the specified route filter. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. routeFilterName is the -// name of the route filter. ruleName is the name of the route filter rule. -// routeFilterRuleParameters is parameters supplied to the create or update -// route filter rule operation. +// resourceGroupName is the name of the resource group. routeFilterName is the name of the route filter. ruleName is +// the name of the route filter rule. routeFilterRuleParameters is parameters supplied to the create or update route +// filter rule operation. func (client RouteFilterRulesClient) CreateOrUpdate(resourceGroupName string, routeFilterName string, ruleName string, routeFilterRuleParameters RouteFilterRule, cancel <-chan struct{}) (<-chan RouteFilterRule, <-chan error) { resultChan := make(chan RouteFilterRule, 1) errChan := make(chan error, 1) @@ -70,8 +65,10 @@ func (client RouteFilterRulesClient) CreateOrUpdate(resourceGroupName string, ro var err error var result RouteFilterRule defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -105,7 +102,7 @@ func (client RouteFilterRulesClient) CreateOrUpdatePreparer(resourceGroupName st "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -141,13 +138,12 @@ func (client RouteFilterRulesClient) CreateOrUpdateResponder(resp *http.Response return } -// Delete deletes the specified rule from a route filter. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// Delete deletes the specified rule from a route filter. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group. routeFilterName is the -// name of the route filter. ruleName is the name of the rule. +// resourceGroupName is the name of the resource group. routeFilterName is the name of the route filter. ruleName is +// the name of the rule. func (client RouteFilterRulesClient) Delete(resourceGroupName string, routeFilterName string, ruleName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -155,8 +151,10 @@ func (client RouteFilterRulesClient) Delete(resourceGroupName string, routeFilte var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -190,7 +188,7 @@ func (client RouteFilterRulesClient) DeletePreparer(resourceGroupName string, ro "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -225,8 +223,8 @@ func (client RouteFilterRulesClient) DeleteResponder(resp *http.Response) (resul // Get gets the specified rule from a route filter. // -// resourceGroupName is the name of the resource group. routeFilterName is the -// name of the route filter. ruleName is the name of the rule. +// resourceGroupName is the name of the resource group. routeFilterName is the name of the route filter. ruleName is +// the name of the rule. func (client RouteFilterRulesClient) Get(resourceGroupName string, routeFilterName string, ruleName string) (result RouteFilterRule, err error) { req, err := client.GetPreparer(resourceGroupName, routeFilterName, ruleName) if err != nil { @@ -258,7 +256,7 @@ func (client RouteFilterRulesClient) GetPreparer(resourceGroupName string, route "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -292,8 +290,7 @@ func (client RouteFilterRulesClient) GetResponder(resp *http.Response) (result R // ListByRouteFilter gets all RouteFilterRules in a route filter. // -// resourceGroupName is the name of the resource group. routeFilterName is the -// name of the route filter. +// resourceGroupName is the name of the resource group. routeFilterName is the name of the route filter. func (client RouteFilterRulesClient) ListByRouteFilter(resourceGroupName string, routeFilterName string) (result RouteFilterRuleListResult, err error) { req, err := client.ListByRouteFilterPreparer(resourceGroupName, routeFilterName) if err != nil { @@ -324,7 +321,7 @@ func (client RouteFilterRulesClient) ListByRouteFilterPreparer(resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -380,15 +377,58 @@ func (client RouteFilterRulesClient) ListByRouteFilterNextResults(lastResults Ro return } -// Update updates a route in the specified route filter. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// ListByRouteFilterComplete gets all elements from the list without paging. +func (client RouteFilterRulesClient) ListByRouteFilterComplete(resourceGroupName string, routeFilterName string, cancel <-chan struct{}) (<-chan RouteFilterRule, <-chan error) { + resultChan := make(chan RouteFilterRule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByRouteFilter(resourceGroupName, routeFilterName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByRouteFilterNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// Update updates a route in the specified route filter. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group. routeFilterName is the -// name of the route filter. ruleName is the name of the route filter rule. -// routeFilterRuleParameters is parameters supplied to the update route filter -// rule operation. +// resourceGroupName is the name of the resource group. routeFilterName is the name of the route filter. ruleName is +// the name of the route filter rule. routeFilterRuleParameters is parameters supplied to the update route filter rule +// operation. func (client RouteFilterRulesClient) Update(resourceGroupName string, routeFilterName string, ruleName string, routeFilterRuleParameters PatchRouteFilterRule, cancel <-chan struct{}) (<-chan RouteFilterRule, <-chan error) { resultChan := make(chan RouteFilterRule, 1) errChan := make(chan error, 1) @@ -396,8 +436,10 @@ func (client RouteFilterRulesClient) Update(resourceGroupName string, routeFilte var err error var result RouteFilterRule defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -431,7 +473,7 @@ func (client RouteFilterRulesClient) UpdatePreparer(resourceGroupName string, ro "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/routefilters.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/routefilters.go index 860ccae5c..711e58fc9 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/routefilters.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/routefilters.go @@ -14,9 +14,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,7 +23,7 @@ import ( "net/http" ) -// RouteFiltersClient is the composite Swagger for Network Client +// RouteFiltersClient is the network Client type RouteFiltersClient struct { ManagementClient } @@ -34,20 +33,17 @@ func NewRouteFiltersClient(subscriptionID string) RouteFiltersClient { return NewRouteFiltersClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewRouteFiltersClientWithBaseURI creates an instance of the -// RouteFiltersClient client. +// NewRouteFiltersClientWithBaseURI creates an instance of the RouteFiltersClient client. func NewRouteFiltersClientWithBaseURI(baseURI string, subscriptionID string) RouteFiltersClient { return RouteFiltersClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates a route filter in a specified resource -// group. This method may poll for completion. Polling can be canceled by -// passing the cancel channel argument. The channel will be used to cancel -// polling and any outstanding HTTP requests. +// CreateOrUpdate creates or updates a route filter in a specified resource group. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. routeFilterName is the -// name of the route filter. routeFilterParameters is parameters supplied to -// the create or update route filter operation. +// resourceGroupName is the name of the resource group. routeFilterName is the name of the route filter. +// routeFilterParameters is parameters supplied to the create or update route filter operation. func (client RouteFiltersClient) CreateOrUpdate(resourceGroupName string, routeFilterName string, routeFilterParameters RouteFilter, cancel <-chan struct{}) (<-chan RouteFilter, <-chan error) { resultChan := make(chan RouteFilter, 1) errChan := make(chan error, 1) @@ -55,8 +51,10 @@ func (client RouteFiltersClient) CreateOrUpdate(resourceGroupName string, routeF var err error var result RouteFilter defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -89,7 +87,7 @@ func (client RouteFiltersClient) CreateOrUpdatePreparer(resourceGroupName string "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -125,13 +123,10 @@ func (client RouteFiltersClient) CreateOrUpdateResponder(resp *http.Response) (r return } -// Delete deletes the specified route filter. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete deletes the specified route filter. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. routeFilterName is the -// name of the route filter. +// resourceGroupName is the name of the resource group. routeFilterName is the name of the route filter. func (client RouteFiltersClient) Delete(resourceGroupName string, routeFilterName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -139,8 +134,10 @@ func (client RouteFiltersClient) Delete(resourceGroupName string, routeFilterNam var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -173,7 +170,7 @@ func (client RouteFiltersClient) DeletePreparer(resourceGroupName string, routeF "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -208,9 +205,8 @@ func (client RouteFiltersClient) DeleteResponder(resp *http.Response) (result au // Get gets the specified route filter. // -// resourceGroupName is the name of the resource group. routeFilterName is the -// name of the route filter. expand is expands referenced express route bgp -// peering resources. +// resourceGroupName is the name of the resource group. routeFilterName is the name of the route filter. expand is +// expands referenced express route bgp peering resources. func (client RouteFiltersClient) Get(resourceGroupName string, routeFilterName string, expand string) (result RouteFilter, err error) { req, err := client.GetPreparer(resourceGroupName, routeFilterName, expand) if err != nil { @@ -241,7 +237,7 @@ func (client RouteFiltersClient) GetPreparer(resourceGroupName string, routeFilt "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -305,7 +301,7 @@ func (client RouteFiltersClient) ListPreparer() (*http.Request, error) { "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -361,6 +357,51 @@ func (client RouteFiltersClient) ListNextResults(lastResults RouteFilterListResu return } +// ListComplete gets all elements from the list without paging. +func (client RouteFiltersClient) ListComplete(cancel <-chan struct{}) (<-chan RouteFilter, <-chan error) { + resultChan := make(chan RouteFilter) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListByResourceGroup gets all route filters in a resource group. // // resourceGroupName is the name of the resource group. @@ -393,7 +434,7 @@ func (client RouteFiltersClient) ListByResourceGroupPreparer(resourceGroupName s "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -449,14 +490,57 @@ func (client RouteFiltersClient) ListByResourceGroupNextResults(lastResults Rout return } -// Update updates a route filter in a specified resource group. This method may -// poll for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client RouteFiltersClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan RouteFilter, <-chan error) { + resultChan := make(chan RouteFilter) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// Update updates a route filter in a specified resource group. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group. routeFilterName is the -// name of the route filter. routeFilterParameters is parameters supplied to -// the update route filter operation. +// resourceGroupName is the name of the resource group. routeFilterName is the name of the route filter. +// routeFilterParameters is parameters supplied to the update route filter operation. func (client RouteFiltersClient) Update(resourceGroupName string, routeFilterName string, routeFilterParameters PatchRouteFilter, cancel <-chan struct{}) (<-chan RouteFilter, <-chan error) { resultChan := make(chan RouteFilter, 1) errChan := make(chan error, 1) @@ -464,8 +548,10 @@ func (client RouteFiltersClient) Update(resourceGroupName string, routeFilterNam var err error var result RouteFilter defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -498,7 +584,7 @@ func (client RouteFiltersClient) UpdatePreparer(resourceGroupName string, routeF "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/routes.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/routes.go index 1366d3c14..0dcde6fa0 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/routes.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/routes.go @@ -14,9 +14,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,7 +23,7 @@ import ( "net/http" ) -// RoutesClient is the composite Swagger for Network Client +// RoutesClient is the network Client type RoutesClient struct { ManagementClient } @@ -39,14 +38,12 @@ func NewRoutesClientWithBaseURI(baseURI string, subscriptionID string) RoutesCli return RoutesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates a route in the specified route table. This -// method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// CreateOrUpdate creates or updates a route in the specified route table. This method may poll for completion. Polling +// can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. routeTableName is the -// name of the route table. routeName is the name of the route. routeParameters -// is parameters supplied to the create or update route operation. +// resourceGroupName is the name of the resource group. routeTableName is the name of the route table. routeName is the +// name of the route. routeParameters is parameters supplied to the create or update route operation. func (client RoutesClient) CreateOrUpdate(resourceGroupName string, routeTableName string, routeName string, routeParameters Route, cancel <-chan struct{}) (<-chan Route, <-chan error) { resultChan := make(chan Route, 1) errChan := make(chan error, 1) @@ -54,8 +51,10 @@ func (client RoutesClient) CreateOrUpdate(resourceGroupName string, routeTableNa var err error var result Route defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -89,7 +88,7 @@ func (client RoutesClient) CreateOrUpdatePreparer(resourceGroupName string, rout "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -125,13 +124,12 @@ func (client RoutesClient) CreateOrUpdateResponder(resp *http.Response) (result return } -// Delete deletes the specified route from a route table. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// Delete deletes the specified route from a route table. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group. routeTableName is the -// name of the route table. routeName is the name of the route. +// resourceGroupName is the name of the resource group. routeTableName is the name of the route table. routeName is the +// name of the route. func (client RoutesClient) Delete(resourceGroupName string, routeTableName string, routeName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -139,8 +137,10 @@ func (client RoutesClient) Delete(resourceGroupName string, routeTableName strin var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -174,7 +174,7 @@ func (client RoutesClient) DeletePreparer(resourceGroupName string, routeTableNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -209,8 +209,8 @@ func (client RoutesClient) DeleteResponder(resp *http.Response) (result autorest // Get gets the specified route from a route table. // -// resourceGroupName is the name of the resource group. routeTableName is the -// name of the route table. routeName is the name of the route. +// resourceGroupName is the name of the resource group. routeTableName is the name of the route table. routeName is the +// name of the route. func (client RoutesClient) Get(resourceGroupName string, routeTableName string, routeName string) (result Route, err error) { req, err := client.GetPreparer(resourceGroupName, routeTableName, routeName) if err != nil { @@ -242,7 +242,7 @@ func (client RoutesClient) GetPreparer(resourceGroupName string, routeTableName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -276,8 +276,7 @@ func (client RoutesClient) GetResponder(resp *http.Response) (result Route, err // List gets all routes in a route table. // -// resourceGroupName is the name of the resource group. routeTableName is the -// name of the route table. +// resourceGroupName is the name of the resource group. routeTableName is the name of the route table. func (client RoutesClient) List(resourceGroupName string, routeTableName string) (result RouteListResult, err error) { req, err := client.ListPreparer(resourceGroupName, routeTableName) if err != nil { @@ -308,7 +307,7 @@ func (client RoutesClient) ListPreparer(resourceGroupName string, routeTableName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -363,3 +362,48 @@ func (client RoutesClient) ListNextResults(lastResults RouteListResult) (result return } + +// ListComplete gets all elements from the list without paging. +func (client RoutesClient) ListComplete(resourceGroupName string, routeTableName string, cancel <-chan struct{}) (<-chan Route, <-chan error) { + resultChan := make(chan Route) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, routeTableName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/routetables.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/routetables.go index 80339f207..e9b557bc0 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/routetables.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/routetables.go @@ -14,9 +14,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,7 +23,7 @@ import ( "net/http" ) -// RouteTablesClient is the composite Swagger for Network Client +// RouteTablesClient is the network Client type RouteTablesClient struct { ManagementClient } @@ -34,20 +33,17 @@ func NewRouteTablesClient(subscriptionID string) RouteTablesClient { return NewRouteTablesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewRouteTablesClientWithBaseURI creates an instance of the RouteTablesClient -// client. +// NewRouteTablesClientWithBaseURI creates an instance of the RouteTablesClient client. func NewRouteTablesClientWithBaseURI(baseURI string, subscriptionID string) RouteTablesClient { return RouteTablesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate create or updates a route table in a specified resource -// group. This method may poll for completion. Polling can be canceled by -// passing the cancel channel argument. The channel will be used to cancel -// polling and any outstanding HTTP requests. +// CreateOrUpdate create or updates a route table in a specified resource group. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. routeTableName is the -// name of the route table. parameters is parameters supplied to the create or -// update route table operation. +// resourceGroupName is the name of the resource group. routeTableName is the name of the route table. parameters is +// parameters supplied to the create or update route table operation. func (client RouteTablesClient) CreateOrUpdate(resourceGroupName string, routeTableName string, parameters RouteTable, cancel <-chan struct{}) (<-chan RouteTable, <-chan error) { resultChan := make(chan RouteTable, 1) errChan := make(chan error, 1) @@ -55,8 +51,10 @@ func (client RouteTablesClient) CreateOrUpdate(resourceGroupName string, routeTa var err error var result RouteTable defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -89,7 +87,7 @@ func (client RouteTablesClient) CreateOrUpdatePreparer(resourceGroupName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -125,13 +123,10 @@ func (client RouteTablesClient) CreateOrUpdateResponder(resp *http.Response) (re return } -// Delete deletes the specified route table. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete deletes the specified route table. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. routeTableName is the -// name of the route table. +// resourceGroupName is the name of the resource group. routeTableName is the name of the route table. func (client RouteTablesClient) Delete(resourceGroupName string, routeTableName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -139,8 +134,10 @@ func (client RouteTablesClient) Delete(resourceGroupName string, routeTableName var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -173,7 +170,7 @@ func (client RouteTablesClient) DeletePreparer(resourceGroupName string, routeTa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -208,8 +205,8 @@ func (client RouteTablesClient) DeleteResponder(resp *http.Response) (result aut // Get gets the specified route table. // -// resourceGroupName is the name of the resource group. routeTableName is the -// name of the route table. expand is expands referenced resources. +// resourceGroupName is the name of the resource group. routeTableName is the name of the route table. expand is +// expands referenced resources. func (client RouteTablesClient) Get(resourceGroupName string, routeTableName string, expand string) (result RouteTable, err error) { req, err := client.GetPreparer(resourceGroupName, routeTableName, expand) if err != nil { @@ -240,7 +237,7 @@ func (client RouteTablesClient) GetPreparer(resourceGroupName string, routeTable "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -307,7 +304,7 @@ func (client RouteTablesClient) ListPreparer(resourceGroupName string) (*http.Re "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -363,6 +360,51 @@ func (client RouteTablesClient) ListNextResults(lastResults RouteTableListResult return } +// ListComplete gets all elements from the list without paging. +func (client RouteTablesClient) ListComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan RouteTable, <-chan error) { + resultChan := make(chan RouteTable) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListAll gets all route tables in a subscription. func (client RouteTablesClient) ListAll() (result RouteTableListResult, err error) { req, err := client.ListAllPreparer() @@ -392,7 +434,7 @@ func (client RouteTablesClient) ListAllPreparer() (*http.Request, error) { "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -447,3 +489,48 @@ func (client RouteTablesClient) ListAllNextResults(lastResults RouteTableListRes return } + +// ListAllComplete gets all elements from the list without paging. +func (client RouteTablesClient) ListAllComplete(cancel <-chan struct{}) (<-chan RouteTable, <-chan error) { + resultChan := make(chan RouteTable) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAll() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAllNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/securitygroups.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/securitygroups.go index 3faaf007f..b1a5ae4a6 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/securitygroups.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/securitygroups.go @@ -14,9 +14,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,32 +23,27 @@ import ( "net/http" ) -// SecurityGroupsClient is the composite Swagger for Network Client +// SecurityGroupsClient is the network Client type SecurityGroupsClient struct { ManagementClient } -// NewSecurityGroupsClient creates an instance of the SecurityGroupsClient -// client. +// NewSecurityGroupsClient creates an instance of the SecurityGroupsClient client. func NewSecurityGroupsClient(subscriptionID string) SecurityGroupsClient { return NewSecurityGroupsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewSecurityGroupsClientWithBaseURI creates an instance of the -// SecurityGroupsClient client. +// NewSecurityGroupsClientWithBaseURI creates an instance of the SecurityGroupsClient client. func NewSecurityGroupsClientWithBaseURI(baseURI string, subscriptionID string) SecurityGroupsClient { return SecurityGroupsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates a network security group in the specified -// resource group. This method may poll for completion. Polling can be canceled -// by passing the cancel channel argument. The channel will be used to cancel +// CreateOrUpdate creates or updates a network security group in the specified resource group. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel // polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. -// networkSecurityGroupName is the name of the network security group. -// parameters is parameters supplied to the create or update network security -// group operation. +// resourceGroupName is the name of the resource group. networkSecurityGroupName is the name of the network security +// group. parameters is parameters supplied to the create or update network security group operation. func (client SecurityGroupsClient) CreateOrUpdate(resourceGroupName string, networkSecurityGroupName string, parameters SecurityGroup, cancel <-chan struct{}) (<-chan SecurityGroup, <-chan error) { resultChan := make(chan SecurityGroup, 1) errChan := make(chan error, 1) @@ -57,8 +51,10 @@ func (client SecurityGroupsClient) CreateOrUpdate(resourceGroupName string, netw var err error var result SecurityGroup defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -91,7 +87,7 @@ func (client SecurityGroupsClient) CreateOrUpdatePreparer(resourceGroupName stri "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -127,13 +123,11 @@ func (client SecurityGroupsClient) CreateOrUpdateResponder(resp *http.Response) return } -// Delete deletes the specified network security group. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// Delete deletes the specified network security group. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. -// networkSecurityGroupName is the name of the network security group. +// resourceGroupName is the name of the resource group. networkSecurityGroupName is the name of the network security +// group. func (client SecurityGroupsClient) Delete(resourceGroupName string, networkSecurityGroupName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -141,8 +135,10 @@ func (client SecurityGroupsClient) Delete(resourceGroupName string, networkSecur var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -175,7 +171,7 @@ func (client SecurityGroupsClient) DeletePreparer(resourceGroupName string, netw "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -210,9 +206,8 @@ func (client SecurityGroupsClient) DeleteResponder(resp *http.Response) (result // Get gets the specified network security group. // -// resourceGroupName is the name of the resource group. -// networkSecurityGroupName is the name of the network security group. expand -// is expands referenced resources. +// resourceGroupName is the name of the resource group. networkSecurityGroupName is the name of the network security +// group. expand is expands referenced resources. func (client SecurityGroupsClient) Get(resourceGroupName string, networkSecurityGroupName string, expand string) (result SecurityGroup, err error) { req, err := client.GetPreparer(resourceGroupName, networkSecurityGroupName, expand) if err != nil { @@ -243,7 +238,7 @@ func (client SecurityGroupsClient) GetPreparer(resourceGroupName string, network "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -310,7 +305,7 @@ func (client SecurityGroupsClient) ListPreparer(resourceGroupName string) (*http "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -366,6 +361,51 @@ func (client SecurityGroupsClient) ListNextResults(lastResults SecurityGroupList return } +// ListComplete gets all elements from the list without paging. +func (client SecurityGroupsClient) ListComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan SecurityGroup, <-chan error) { + resultChan := make(chan SecurityGroup) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListAll gets all network security groups in a subscription. func (client SecurityGroupsClient) ListAll() (result SecurityGroupListResult, err error) { req, err := client.ListAllPreparer() @@ -395,7 +435,7 @@ func (client SecurityGroupsClient) ListAllPreparer() (*http.Request, error) { "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -450,3 +490,48 @@ func (client SecurityGroupsClient) ListAllNextResults(lastResults SecurityGroupL return } + +// ListAllComplete gets all elements from the list without paging. +func (client SecurityGroupsClient) ListAllComplete(cancel <-chan struct{}) (<-chan SecurityGroup, <-chan error) { + resultChan := make(chan SecurityGroup) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAll() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAllNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/securityrules.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/securityrules.go index 2e2738605..9c76ef54e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/securityrules.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/securityrules.go @@ -14,9 +14,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,32 +24,28 @@ import ( "net/http" ) -// SecurityRulesClient is the composite Swagger for Network Client +// SecurityRulesClient is the network Client type SecurityRulesClient struct { ManagementClient } -// NewSecurityRulesClient creates an instance of the SecurityRulesClient -// client. +// NewSecurityRulesClient creates an instance of the SecurityRulesClient client. func NewSecurityRulesClient(subscriptionID string) SecurityRulesClient { return NewSecurityRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewSecurityRulesClientWithBaseURI creates an instance of the -// SecurityRulesClient client. +// NewSecurityRulesClientWithBaseURI creates an instance of the SecurityRulesClient client. func NewSecurityRulesClientWithBaseURI(baseURI string, subscriptionID string) SecurityRulesClient { return SecurityRulesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates a security rule in the specified network -// security group. This method may poll for completion. Polling can be canceled -// by passing the cancel channel argument. The channel will be used to cancel +// CreateOrUpdate creates or updates a security rule in the specified network security group. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel // polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. -// networkSecurityGroupName is the name of the network security group. -// securityRuleName is the name of the security rule. securityRuleParameters is -// parameters supplied to the create or update network security rule operation. +// resourceGroupName is the name of the resource group. networkSecurityGroupName is the name of the network security +// group. securityRuleName is the name of the security rule. securityRuleParameters is parameters supplied to the +// create or update network security rule operation. func (client SecurityRulesClient) CreateOrUpdate(resourceGroupName string, networkSecurityGroupName string, securityRuleName string, securityRuleParameters SecurityRule, cancel <-chan struct{}) (<-chan SecurityRule, <-chan error) { resultChan := make(chan SecurityRule, 1) errChan := make(chan error, 1) @@ -70,8 +65,10 @@ func (client SecurityRulesClient) CreateOrUpdate(resourceGroupName string, netwo var err error var result SecurityRule defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -105,7 +102,7 @@ func (client SecurityRulesClient) CreateOrUpdatePreparer(resourceGroupName strin "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -141,14 +138,11 @@ func (client SecurityRulesClient) CreateOrUpdateResponder(resp *http.Response) ( return } -// Delete deletes the specified network security rule. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete deletes the specified network security rule. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. -// networkSecurityGroupName is the name of the network security group. -// securityRuleName is the name of the security rule. +// resourceGroupName is the name of the resource group. networkSecurityGroupName is the name of the network security +// group. securityRuleName is the name of the security rule. func (client SecurityRulesClient) Delete(resourceGroupName string, networkSecurityGroupName string, securityRuleName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -156,8 +150,10 @@ func (client SecurityRulesClient) Delete(resourceGroupName string, networkSecuri var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -191,7 +187,7 @@ func (client SecurityRulesClient) DeletePreparer(resourceGroupName string, netwo "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -226,9 +222,8 @@ func (client SecurityRulesClient) DeleteResponder(resp *http.Response) (result a // Get get the specified network security rule. // -// resourceGroupName is the name of the resource group. -// networkSecurityGroupName is the name of the network security group. -// securityRuleName is the name of the security rule. +// resourceGroupName is the name of the resource group. networkSecurityGroupName is the name of the network security +// group. securityRuleName is the name of the security rule. func (client SecurityRulesClient) Get(resourceGroupName string, networkSecurityGroupName string, securityRuleName string) (result SecurityRule, err error) { req, err := client.GetPreparer(resourceGroupName, networkSecurityGroupName, securityRuleName) if err != nil { @@ -260,7 +255,7 @@ func (client SecurityRulesClient) GetPreparer(resourceGroupName string, networkS "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -294,8 +289,8 @@ func (client SecurityRulesClient) GetResponder(resp *http.Response) (result Secu // List gets all security rules in a network security group. // -// resourceGroupName is the name of the resource group. -// networkSecurityGroupName is the name of the network security group. +// resourceGroupName is the name of the resource group. networkSecurityGroupName is the name of the network security +// group. func (client SecurityRulesClient) List(resourceGroupName string, networkSecurityGroupName string) (result SecurityRuleListResult, err error) { req, err := client.ListPreparer(resourceGroupName, networkSecurityGroupName) if err != nil { @@ -326,7 +321,7 @@ func (client SecurityRulesClient) ListPreparer(resourceGroupName string, network "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -381,3 +376,48 @@ func (client SecurityRulesClient) ListNextResults(lastResults SecurityRuleListRe return } + +// ListComplete gets all elements from the list without paging. +func (client SecurityRulesClient) ListComplete(resourceGroupName string, networkSecurityGroupName string, cancel <-chan struct{}) (<-chan SecurityRule, <-chan error) { + resultChan := make(chan SecurityRule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, networkSecurityGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/subnets.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/subnets.go index 7d6ff882a..62a1789e5 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/subnets.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/subnets.go @@ -14,9 +14,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,7 +23,7 @@ import ( "net/http" ) -// SubnetsClient is the composite Swagger for Network Client +// SubnetsClient is the network Client type SubnetsClient struct { ManagementClient } @@ -39,14 +38,12 @@ func NewSubnetsClientWithBaseURI(baseURI string, subscriptionID string) SubnetsC return SubnetsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates a subnet in the specified virtual network. -// This method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// CreateOrUpdate creates or updates a subnet in the specified virtual network. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. virtualNetworkName is -// the name of the virtual network. subnetName is the name of the subnet. -// subnetParameters is parameters supplied to the create or update subnet +// resourceGroupName is the name of the resource group. virtualNetworkName is the name of the virtual network. +// subnetName is the name of the subnet. subnetParameters is parameters supplied to the create or update subnet // operation. func (client SubnetsClient) CreateOrUpdate(resourceGroupName string, virtualNetworkName string, subnetName string, subnetParameters Subnet, cancel <-chan struct{}) (<-chan Subnet, <-chan error) { resultChan := make(chan Subnet, 1) @@ -55,8 +52,10 @@ func (client SubnetsClient) CreateOrUpdate(resourceGroupName string, virtualNetw var err error var result Subnet defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -90,7 +89,7 @@ func (client SubnetsClient) CreateOrUpdatePreparer(resourceGroupName string, vir "virtualNetworkName": autorest.Encode("path", virtualNetworkName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -126,12 +125,11 @@ func (client SubnetsClient) CreateOrUpdateResponder(resp *http.Response) (result return } -// Delete deletes the specified subnet. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// Delete deletes the specified subnet. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. virtualNetworkName is -// the name of the virtual network. subnetName is the name of the subnet. +// resourceGroupName is the name of the resource group. virtualNetworkName is the name of the virtual network. +// subnetName is the name of the subnet. func (client SubnetsClient) Delete(resourceGroupName string, virtualNetworkName string, subnetName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -139,8 +137,10 @@ func (client SubnetsClient) Delete(resourceGroupName string, virtualNetworkName var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -174,7 +174,7 @@ func (client SubnetsClient) DeletePreparer(resourceGroupName string, virtualNetw "virtualNetworkName": autorest.Encode("path", virtualNetworkName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -209,9 +209,8 @@ func (client SubnetsClient) DeleteResponder(resp *http.Response) (result autores // Get gets the specified subnet by virtual network and resource group. // -// resourceGroupName is the name of the resource group. virtualNetworkName is -// the name of the virtual network. subnetName is the name of the subnet. -// expand is expands referenced resources. +// resourceGroupName is the name of the resource group. virtualNetworkName is the name of the virtual network. +// subnetName is the name of the subnet. expand is expands referenced resources. func (client SubnetsClient) Get(resourceGroupName string, virtualNetworkName string, subnetName string, expand string) (result Subnet, err error) { req, err := client.GetPreparer(resourceGroupName, virtualNetworkName, subnetName, expand) if err != nil { @@ -243,7 +242,7 @@ func (client SubnetsClient) GetPreparer(resourceGroupName string, virtualNetwork "virtualNetworkName": autorest.Encode("path", virtualNetworkName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -280,8 +279,7 @@ func (client SubnetsClient) GetResponder(resp *http.Response) (result Subnet, er // List gets all subnets in a virtual network. // -// resourceGroupName is the name of the resource group. virtualNetworkName is -// the name of the virtual network. +// resourceGroupName is the name of the resource group. virtualNetworkName is the name of the virtual network. func (client SubnetsClient) List(resourceGroupName string, virtualNetworkName string) (result SubnetListResult, err error) { req, err := client.ListPreparer(resourceGroupName, virtualNetworkName) if err != nil { @@ -312,7 +310,7 @@ func (client SubnetsClient) ListPreparer(resourceGroupName string, virtualNetwor "virtualNetworkName": autorest.Encode("path", virtualNetworkName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -367,3 +365,48 @@ func (client SubnetsClient) ListNextResults(lastResults SubnetListResult) (resul return } + +// ListComplete gets all elements from the list without paging. +func (client SubnetsClient) ListComplete(resourceGroupName string, virtualNetworkName string, cancel <-chan struct{}) (<-chan Subnet, <-chan error) { + resultChan := make(chan Subnet) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, virtualNetworkName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/usages.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/usages.go index 34fa0df4b..85c220065 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/usages.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/usages.go @@ -14,9 +14,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// UsagesClient is the composite Swagger for Network Client +// UsagesClient is the network Client type UsagesClient struct { ManagementClient } @@ -40,7 +39,7 @@ func NewUsagesClientWithBaseURI(baseURI string, subscriptionID string) UsagesCli return UsagesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// List lists compute usages for a subscription. +// List list network usages for a subscription. // // location is the location where resource usage is queried. func (client UsagesClient) List(location string) (result UsagesListResult, err error) { @@ -78,7 +77,7 @@ func (client UsagesClient) ListPreparer(location string) (*http.Request, error) "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -133,3 +132,48 @@ func (client UsagesClient) ListNextResults(lastResults UsagesListResult) (result return } + +// ListComplete gets all elements from the list without paging. +func (client UsagesClient) ListComplete(location string, cancel <-chan struct{}) (<-chan Usage, <-chan error) { + resultChan := make(chan Usage) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(location) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/version.go index c4e26e5d2..7f510b4e4 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/version.go @@ -14,16 +14,15 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-network/" + return "Azure-SDK-For-Go/v11.0.0-beta arm-network/" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/virtualnetworkgatewayconnections.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/virtualnetworkgatewayconnections.go index 13e1392d2..7db4d5de6 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/virtualnetworkgatewayconnections.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/virtualnetworkgatewayconnections.go @@ -14,9 +14,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,33 +24,29 @@ import ( "net/http" ) -// VirtualNetworkGatewayConnectionsClient is the composite Swagger for Network -// Client +// VirtualNetworkGatewayConnectionsClient is the network Client type VirtualNetworkGatewayConnectionsClient struct { ManagementClient } -// NewVirtualNetworkGatewayConnectionsClient creates an instance of the -// VirtualNetworkGatewayConnectionsClient client. +// NewVirtualNetworkGatewayConnectionsClient creates an instance of the VirtualNetworkGatewayConnectionsClient client. func NewVirtualNetworkGatewayConnectionsClient(subscriptionID string) VirtualNetworkGatewayConnectionsClient { return NewVirtualNetworkGatewayConnectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewVirtualNetworkGatewayConnectionsClientWithBaseURI creates an instance of -// the VirtualNetworkGatewayConnectionsClient client. +// NewVirtualNetworkGatewayConnectionsClientWithBaseURI creates an instance of the +// VirtualNetworkGatewayConnectionsClient client. func NewVirtualNetworkGatewayConnectionsClientWithBaseURI(baseURI string, subscriptionID string) VirtualNetworkGatewayConnectionsClient { return VirtualNetworkGatewayConnectionsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates a virtual network gateway connection in -// the specified resource group. This method may poll for completion. Polling -// can be canceled by passing the cancel channel argument. The channel will be -// used to cancel polling and any outstanding HTTP requests. +// CreateOrUpdate creates or updates a virtual network gateway connection in the specified resource group. This method +// may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to +// cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. -// virtualNetworkGatewayConnectionName is the name of the virtual network -// gateway connection. parameters is parameters supplied to the create or -// update virtual network gateway connection operation. +// resourceGroupName is the name of the resource group. virtualNetworkGatewayConnectionName is the name of the virtual +// network gateway connection. parameters is parameters supplied to the create or update virtual network gateway +// connection operation. func (client VirtualNetworkGatewayConnectionsClient) CreateOrUpdate(resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters VirtualNetworkGatewayConnection, cancel <-chan struct{}) (<-chan VirtualNetworkGatewayConnection, <-chan error) { resultChan := make(chan VirtualNetworkGatewayConnection, 1) errChan := make(chan error, 1) @@ -75,8 +70,10 @@ func (client VirtualNetworkGatewayConnectionsClient) CreateOrUpdate(resourceGrou var err error var result VirtualNetworkGatewayConnection defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -109,7 +106,7 @@ func (client VirtualNetworkGatewayConnectionsClient) CreateOrUpdatePreparer(reso "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -145,14 +142,12 @@ func (client VirtualNetworkGatewayConnectionsClient) CreateOrUpdateResponder(res return } -// Delete deletes the specified virtual network Gateway connection. This method -// may poll for completion. Polling can be canceled by passing the cancel -// channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// Delete deletes the specified virtual network Gateway connection. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group. -// virtualNetworkGatewayConnectionName is the name of the virtual network -// gateway connection. +// resourceGroupName is the name of the resource group. virtualNetworkGatewayConnectionName is the name of the virtual +// network gateway connection. func (client VirtualNetworkGatewayConnectionsClient) Delete(resourceGroupName string, virtualNetworkGatewayConnectionName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -160,8 +155,10 @@ func (client VirtualNetworkGatewayConnectionsClient) Delete(resourceGroupName st var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -194,7 +191,7 @@ func (client VirtualNetworkGatewayConnectionsClient) DeletePreparer(resourceGrou "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -229,9 +226,8 @@ func (client VirtualNetworkGatewayConnectionsClient) DeleteResponder(resp *http. // Get gets the specified virtual network gateway connection by resource group. // -// resourceGroupName is the name of the resource group. -// virtualNetworkGatewayConnectionName is the name of the virtual network -// gateway connection. +// resourceGroupName is the name of the resource group. virtualNetworkGatewayConnectionName is the name of the virtual +// network gateway connection. func (client VirtualNetworkGatewayConnectionsClient) Get(resourceGroupName string, virtualNetworkGatewayConnectionName string) (result VirtualNetworkGatewayConnection, err error) { req, err := client.GetPreparer(resourceGroupName, virtualNetworkGatewayConnectionName) if err != nil { @@ -262,7 +258,7 @@ func (client VirtualNetworkGatewayConnectionsClient) GetPreparer(resourceGroupNa "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -294,13 +290,11 @@ func (client VirtualNetworkGatewayConnectionsClient) GetResponder(resp *http.Res return } -// GetSharedKey the Get VirtualNetworkGatewayConnectionSharedKey operation -// retrieves information about the specified virtual network gateway connection -// shared key through Network resource provider. +// GetSharedKey the Get VirtualNetworkGatewayConnectionSharedKey operation retrieves information about the specified +// virtual network gateway connection shared key through Network resource provider. // -// resourceGroupName is the name of the resource group. -// virtualNetworkGatewayConnectionName is the virtual network gateway -// connection shared key name. +// resourceGroupName is the name of the resource group. virtualNetworkGatewayConnectionName is the virtual network +// gateway connection shared key name. func (client VirtualNetworkGatewayConnectionsClient) GetSharedKey(resourceGroupName string, virtualNetworkGatewayConnectionName string) (result ConnectionSharedKey, err error) { req, err := client.GetSharedKeyPreparer(resourceGroupName, virtualNetworkGatewayConnectionName) if err != nil { @@ -331,7 +325,7 @@ func (client VirtualNetworkGatewayConnectionsClient) GetSharedKeyPreparer(resour "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -363,8 +357,8 @@ func (client VirtualNetworkGatewayConnectionsClient) GetSharedKeyResponder(resp return } -// List the List VirtualNetworkGatewayConnections operation retrieves all the -// virtual network gateways connections created. +// List the List VirtualNetworkGatewayConnections operation retrieves all the virtual network gateways connections +// created. // // resourceGroupName is the name of the resource group. func (client VirtualNetworkGatewayConnectionsClient) List(resourceGroupName string) (result VirtualNetworkGatewayConnectionListResult, err error) { @@ -396,7 +390,7 @@ func (client VirtualNetworkGatewayConnectionsClient) ListPreparer(resourceGroupN "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -452,18 +446,59 @@ func (client VirtualNetworkGatewayConnectionsClient) ListNextResults(lastResults return } -// ResetSharedKey the VirtualNetworkGatewayConnectionResetSharedKey operation -// resets the virtual network gateway connection shared key for passed virtual -// network gateway connection in the specified resource group through Network -// resource provider. This method may poll for completion. Polling can be -// canceled by passing the cancel channel argument. The channel will be used to -// cancel polling and any outstanding HTTP requests. +// ListComplete gets all elements from the list without paging. +func (client VirtualNetworkGatewayConnectionsClient) ListComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan VirtualNetworkGatewayConnection, <-chan error) { + resultChan := make(chan VirtualNetworkGatewayConnection) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ResetSharedKey the VirtualNetworkGatewayConnectionResetSharedKey operation resets the virtual network gateway +// connection shared key for passed virtual network gateway connection in the specified resource group through Network +// resource provider. This method may poll for completion. Polling can be canceled by passing the cancel channel +// argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. -// virtualNetworkGatewayConnectionName is the virtual network gateway -// connection reset shared key Name. parameters is parameters supplied to the -// begin reset virtual network gateway connection shared key operation through -// network resource provider. +// resourceGroupName is the name of the resource group. virtualNetworkGatewayConnectionName is the virtual network +// gateway connection reset shared key Name. parameters is parameters supplied to the begin reset virtual network +// gateway connection shared key operation through network resource provider. func (client VirtualNetworkGatewayConnectionsClient) ResetSharedKey(resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters ConnectionResetSharedKey, cancel <-chan struct{}) (<-chan ConnectionResetSharedKey, <-chan error) { resultChan := make(chan ConnectionResetSharedKey, 1) errChan := make(chan error, 1) @@ -483,8 +518,10 @@ func (client VirtualNetworkGatewayConnectionsClient) ResetSharedKey(resourceGrou var err error var result ConnectionResetSharedKey defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -517,7 +554,7 @@ func (client VirtualNetworkGatewayConnectionsClient) ResetSharedKeyPreparer(reso "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -553,18 +590,14 @@ func (client VirtualNetworkGatewayConnectionsClient) ResetSharedKeyResponder(res return } -// SetSharedKey the Put VirtualNetworkGatewayConnectionSharedKey operation sets -// the virtual network gateway connection shared key for passed virtual network -// gateway connection in the specified resource group through Network resource -// provider. This method may poll for completion. Polling can be canceled by -// passing the cancel channel argument. The channel will be used to cancel -// polling and any outstanding HTTP requests. +// SetSharedKey the Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual network gateway connection +// shared key for passed virtual network gateway connection in the specified resource group through Network resource +// provider. This method may poll for completion. Polling can be canceled by passing the cancel channel argument. The +// channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. -// virtualNetworkGatewayConnectionName is the virtual network gateway -// connection name. parameters is parameters supplied to the Begin Set Virtual -// Network Gateway connection Shared key operation throughNetwork resource -// provider. +// resourceGroupName is the name of the resource group. virtualNetworkGatewayConnectionName is the virtual network +// gateway connection name. parameters is parameters supplied to the Begin Set Virtual Network Gateway connection +// Shared key operation throughNetwork resource provider. func (client VirtualNetworkGatewayConnectionsClient) SetSharedKey(resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters ConnectionSharedKey, cancel <-chan struct{}) (<-chan ConnectionSharedKey, <-chan error) { resultChan := make(chan ConnectionSharedKey, 1) errChan := make(chan error, 1) @@ -581,8 +614,10 @@ func (client VirtualNetworkGatewayConnectionsClient) SetSharedKey(resourceGroupN var err error var result ConnectionSharedKey defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -615,7 +650,7 @@ func (client VirtualNetworkGatewayConnectionsClient) SetSharedKeyPreparer(resour "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/virtualnetworkgateways.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/virtualnetworkgateways.go index 720978e83..5f56a204b 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/virtualnetworkgateways.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/virtualnetworkgateways.go @@ -14,9 +14,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,32 +24,27 @@ import ( "net/http" ) -// VirtualNetworkGatewaysClient is the composite Swagger for Network Client +// VirtualNetworkGatewaysClient is the network Client type VirtualNetworkGatewaysClient struct { ManagementClient } -// NewVirtualNetworkGatewaysClient creates an instance of the -// VirtualNetworkGatewaysClient client. +// NewVirtualNetworkGatewaysClient creates an instance of the VirtualNetworkGatewaysClient client. func NewVirtualNetworkGatewaysClient(subscriptionID string) VirtualNetworkGatewaysClient { return NewVirtualNetworkGatewaysClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewVirtualNetworkGatewaysClientWithBaseURI creates an instance of the -// VirtualNetworkGatewaysClient client. +// NewVirtualNetworkGatewaysClientWithBaseURI creates an instance of the VirtualNetworkGatewaysClient client. func NewVirtualNetworkGatewaysClientWithBaseURI(baseURI string, subscriptionID string) VirtualNetworkGatewaysClient { return VirtualNetworkGatewaysClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates a virtual network gateway in the specified -// resource group. This method may poll for completion. Polling can be canceled -// by passing the cancel channel argument. The channel will be used to cancel +// CreateOrUpdate creates or updates a virtual network gateway in the specified resource group. This method may poll +// for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel // polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. -// virtualNetworkGatewayName is the name of the virtual network gateway. -// parameters is parameters supplied to create or update virtual network -// gateway operation. +// resourceGroupName is the name of the resource group. virtualNetworkGatewayName is the name of the virtual network +// gateway. parameters is parameters supplied to create or update virtual network gateway operation. func (client VirtualNetworkGatewaysClient) CreateOrUpdate(resourceGroupName string, virtualNetworkGatewayName string, parameters VirtualNetworkGateway, cancel <-chan struct{}) (<-chan VirtualNetworkGateway, <-chan error) { resultChan := make(chan VirtualNetworkGateway, 1) errChan := make(chan error, 1) @@ -67,8 +61,10 @@ func (client VirtualNetworkGatewaysClient) CreateOrUpdate(resourceGroupName stri var err error var result VirtualNetworkGateway defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -101,7 +97,7 @@ func (client VirtualNetworkGatewaysClient) CreateOrUpdatePreparer(resourceGroupN "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -137,13 +133,12 @@ func (client VirtualNetworkGatewaysClient) CreateOrUpdateResponder(resp *http.Re return } -// Delete deletes the specified virtual network gateway. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// Delete deletes the specified virtual network gateway. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group. -// virtualNetworkGatewayName is the name of the virtual network gateway. +// resourceGroupName is the name of the resource group. virtualNetworkGatewayName is the name of the virtual network +// gateway. func (client VirtualNetworkGatewaysClient) Delete(resourceGroupName string, virtualNetworkGatewayName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -151,8 +146,10 @@ func (client VirtualNetworkGatewaysClient) Delete(resourceGroupName string, virt var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -185,7 +182,7 @@ func (client VirtualNetworkGatewaysClient) DeletePreparer(resourceGroupName stri "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -218,44 +215,56 @@ func (client VirtualNetworkGatewaysClient) DeleteResponder(resp *http.Response) return } -// Generatevpnclientpackage generates VPN client package for P2S client of the -// virtual network gateway in the specified resource group. +// Generatevpnclientpackage generates VPN client package for P2S client of the virtual network gateway in the specified +// resource group. This method may poll for completion. Polling can be canceled by passing the cancel channel argument. +// The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. -// virtualNetworkGatewayName is the name of the virtual network gateway. -// parameters is parameters supplied to the generate virtual network gateway -// VPN client package operation. -func (client VirtualNetworkGatewaysClient) Generatevpnclientpackage(resourceGroupName string, virtualNetworkGatewayName string, parameters VpnClientParameters) (result String, err error) { - req, err := client.GeneratevpnclientpackagePreparer(resourceGroupName, virtualNetworkGatewayName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Generatevpnclientpackage", nil, "Failure preparing request") - return - } +// resourceGroupName is the name of the resource group. virtualNetworkGatewayName is the name of the virtual network +// gateway. parameters is parameters supplied to the generate virtual network gateway VPN client package operation. +func (client VirtualNetworkGatewaysClient) Generatevpnclientpackage(resourceGroupName string, virtualNetworkGatewayName string, parameters VpnClientParameters, cancel <-chan struct{}) (<-chan String, <-chan error) { + resultChan := make(chan String, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result String + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.GeneratevpnclientpackagePreparer(resourceGroupName, virtualNetworkGatewayName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Generatevpnclientpackage", nil, "Failure preparing request") + return + } - resp, err := client.GeneratevpnclientpackageSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Generatevpnclientpackage", resp, "Failure sending request") - return - } + resp, err := client.GeneratevpnclientpackageSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Generatevpnclientpackage", resp, "Failure sending request") + return + } - result, err = client.GeneratevpnclientpackageResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Generatevpnclientpackage", resp, "Failure responding to request") - } - - return + result, err = client.GeneratevpnclientpackageResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Generatevpnclientpackage", resp, "Failure responding to request") + } + }() + return resultChan, errChan } // GeneratevpnclientpackagePreparer prepares the Generatevpnclientpackage request. -func (client VirtualNetworkGatewaysClient) GeneratevpnclientpackagePreparer(resourceGroupName string, virtualNetworkGatewayName string, parameters VpnClientParameters) (*http.Request, error) { +func (client VirtualNetworkGatewaysClient) GeneratevpnclientpackagePreparer(resourceGroupName string, virtualNetworkGatewayName string, parameters VpnClientParameters, cancel <-chan struct{}) (*http.Request, error) { pathParameters := map[string]interface{}{ "resourceGroupName": autorest.Encode("path", resourceGroupName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -267,18 +276,106 @@ func (client VirtualNetworkGatewaysClient) GeneratevpnclientpackagePreparer(reso autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage", pathParameters), autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) + return preparer.Prepare(&http.Request{Cancel: cancel}) } // GeneratevpnclientpackageSender sends the Generatevpnclientpackage request. The method will close the // http.Response Body if it receives an error. func (client VirtualNetworkGatewaysClient) GeneratevpnclientpackageSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) } // GeneratevpnclientpackageResponder handles the response to the Generatevpnclientpackage request. The method always // closes the http.Response Body. func (client VirtualNetworkGatewaysClient) GeneratevpnclientpackageResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GenerateVpnProfile generates VPN profile for P2S client of the virtual network gateway in the specified resource +// group. Used for IKEV2 and radius based authentication. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. +// +// resourceGroupName is the name of the resource group. virtualNetworkGatewayName is the name of the virtual network +// gateway. parameters is parameters supplied to the generate virtual network gateway VPN client package operation. +func (client VirtualNetworkGatewaysClient) GenerateVpnProfile(resourceGroupName string, virtualNetworkGatewayName string, parameters VpnClientParameters, cancel <-chan struct{}) (<-chan String, <-chan error) { + resultChan := make(chan String, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result String + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.GenerateVpnProfilePreparer(resourceGroupName, virtualNetworkGatewayName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GenerateVpnProfile", nil, "Failure preparing request") + return + } + + resp, err := client.GenerateVpnProfileSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GenerateVpnProfile", resp, "Failure sending request") + return + } + + result, err = client.GenerateVpnProfileResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GenerateVpnProfile", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// GenerateVpnProfilePreparer prepares the GenerateVpnProfile request. +func (client VirtualNetworkGatewaysClient) GenerateVpnProfilePreparer(resourceGroupName string, virtualNetworkGatewayName string, parameters VpnClientParameters, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// GenerateVpnProfileSender sends the GenerateVpnProfile request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) GenerateVpnProfileSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// GenerateVpnProfileResponder handles the response to the GenerateVpnProfile request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) GenerateVpnProfileResponder(resp *http.Response) (result String, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -291,8 +388,8 @@ func (client VirtualNetworkGatewaysClient) GeneratevpnclientpackageResponder(res // Get gets the specified virtual network gateway by resource group. // -// resourceGroupName is the name of the resource group. -// virtualNetworkGatewayName is the name of the virtual network gateway. +// resourceGroupName is the name of the resource group. virtualNetworkGatewayName is the name of the virtual network +// gateway. func (client VirtualNetworkGatewaysClient) Get(resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGateway, err error) { req, err := client.GetPreparer(resourceGroupName, virtualNetworkGatewayName) if err != nil { @@ -323,7 +420,7 @@ func (client VirtualNetworkGatewaysClient) GetPreparer(resourceGroupName string, "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -355,15 +452,12 @@ func (client VirtualNetworkGatewaysClient) GetResponder(resp *http.Response) (re return } -// GetAdvertisedRoutes this operation retrieves a list of routes the virtual -// network gateway is advertising to the specified peer. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// GetAdvertisedRoutes this operation retrieves a list of routes the virtual network gateway is advertising to the +// specified peer. This method may poll for completion. Polling can be canceled by passing the cancel channel argument. +// The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. -// virtualNetworkGatewayName is the name of the virtual network gateway. peer -// is the IP address of the peer +// resourceGroupName is the name of the resource group. virtualNetworkGatewayName is the name of the virtual network +// gateway. peer is the IP address of the peer func (client VirtualNetworkGatewaysClient) GetAdvertisedRoutes(resourceGroupName string, virtualNetworkGatewayName string, peer string, cancel <-chan struct{}) (<-chan GatewayRouteListResult, <-chan error) { resultChan := make(chan GatewayRouteListResult, 1) errChan := make(chan error, 1) @@ -371,8 +465,10 @@ func (client VirtualNetworkGatewaysClient) GetAdvertisedRoutes(resourceGroupName var err error var result GatewayRouteListResult defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -405,7 +501,7 @@ func (client VirtualNetworkGatewaysClient) GetAdvertisedRoutesPreparer(resourceG "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, "peer": autorest.Encode("query", peer), @@ -440,14 +536,12 @@ func (client VirtualNetworkGatewaysClient) GetAdvertisedRoutesResponder(resp *ht return } -// GetBgpPeerStatus the GetBgpPeerStatus operation retrieves the status of all -// BGP peers. This method may poll for completion. Polling can be canceled by -// passing the cancel channel argument. The channel will be used to cancel +// GetBgpPeerStatus the GetBgpPeerStatus operation retrieves the status of all BGP peers. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel // polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. -// virtualNetworkGatewayName is the name of the virtual network gateway. peer -// is the IP address of the peer to retrieve the status of. +// resourceGroupName is the name of the resource group. virtualNetworkGatewayName is the name of the virtual network +// gateway. peer is the IP address of the peer to retrieve the status of. func (client VirtualNetworkGatewaysClient) GetBgpPeerStatus(resourceGroupName string, virtualNetworkGatewayName string, peer string, cancel <-chan struct{}) (<-chan BgpPeerStatusListResult, <-chan error) { resultChan := make(chan BgpPeerStatusListResult, 1) errChan := make(chan error, 1) @@ -455,8 +549,10 @@ func (client VirtualNetworkGatewaysClient) GetBgpPeerStatus(resourceGroupName st var err error var result BgpPeerStatusListResult defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -489,7 +585,7 @@ func (client VirtualNetworkGatewaysClient) GetBgpPeerStatusPreparer(resourceGrou "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -526,14 +622,12 @@ func (client VirtualNetworkGatewaysClient) GetBgpPeerStatusResponder(resp *http. return } -// GetLearnedRoutes this operation retrieves a list of routes the virtual -// network gateway has learned, including routes learned from BGP peers. This -// method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// GetLearnedRoutes this operation retrieves a list of routes the virtual network gateway has learned, including routes +// learned from BGP peers. This method may poll for completion. Polling can be canceled by passing the cancel channel +// argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. -// virtualNetworkGatewayName is the name of the virtual network gateway. +// resourceGroupName is the name of the resource group. virtualNetworkGatewayName is the name of the virtual network +// gateway. func (client VirtualNetworkGatewaysClient) GetLearnedRoutes(resourceGroupName string, virtualNetworkGatewayName string, cancel <-chan struct{}) (<-chan GatewayRouteListResult, <-chan error) { resultChan := make(chan GatewayRouteListResult, 1) errChan := make(chan error, 1) @@ -541,8 +635,10 @@ func (client VirtualNetworkGatewaysClient) GetLearnedRoutes(resourceGroupName st var err error var result GatewayRouteListResult defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -575,7 +671,7 @@ func (client VirtualNetworkGatewaysClient) GetLearnedRoutesPreparer(resourceGrou "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -609,6 +705,90 @@ func (client VirtualNetworkGatewaysClient) GetLearnedRoutesResponder(resp *http. return } +// GetVpnProfilePackageURL gets pre-generated VPN profile for P2S client of the virtual network gateway in the +// specified resource group. The profile needs to be generated first using generateVpnProfile. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group. virtualNetworkGatewayName is the name of the virtual network +// gateway. +func (client VirtualNetworkGatewaysClient) GetVpnProfilePackageURL(resourceGroupName string, virtualNetworkGatewayName string, cancel <-chan struct{}) (<-chan String, <-chan error) { + resultChan := make(chan String, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result String + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.GetVpnProfilePackageURLPreparer(resourceGroupName, virtualNetworkGatewayName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetVpnProfilePackageURL", nil, "Failure preparing request") + return + } + + resp, err := client.GetVpnProfilePackageURLSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetVpnProfilePackageURL", resp, "Failure sending request") + return + } + + result, err = client.GetVpnProfilePackageURLResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetVpnProfilePackageURL", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// GetVpnProfilePackageURLPreparer prepares the GetVpnProfilePackageURL request. +func (client VirtualNetworkGatewaysClient) GetVpnProfilePackageURLPreparer(resourceGroupName string, virtualNetworkGatewayName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// GetVpnProfilePackageURLSender sends the GetVpnProfilePackageURL request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) GetVpnProfilePackageURLSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// GetVpnProfilePackageURLResponder handles the response to the GetVpnProfilePackageURL request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) GetVpnProfilePackageURLResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // List gets all virtual network gateways by resource group. // // resourceGroupName is the name of the resource group. @@ -641,7 +821,7 @@ func (client VirtualNetworkGatewaysClient) ListPreparer(resourceGroupName string "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -697,15 +877,193 @@ func (client VirtualNetworkGatewaysClient) ListNextResults(lastResults VirtualNe return } -// Reset resets the primary of the virtual network gateway in the specified -// resource group. This method may poll for completion. Polling can be canceled -// by passing the cancel channel argument. The channel will be used to cancel +// ListComplete gets all elements from the list without paging. +func (client VirtualNetworkGatewaysClient) ListComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan VirtualNetworkGateway, <-chan error) { + resultChan := make(chan VirtualNetworkGateway) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListConnections gets all the connections in a virtual network gateway. +// +// resourceGroupName is the name of the resource group. virtualNetworkGatewayName is the name of the virtual network +// gateway. +func (client VirtualNetworkGatewaysClient) ListConnections(resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewayListConnectionsResult, err error) { + req, err := client.ListConnectionsPreparer(resourceGroupName, virtualNetworkGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "ListConnections", nil, "Failure preparing request") + return + } + + resp, err := client.ListConnectionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "ListConnections", resp, "Failure sending request") + return + } + + result, err = client.ListConnectionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "ListConnections", resp, "Failure responding to request") + } + + return +} + +// ListConnectionsPreparer prepares the ListConnections request. +func (client VirtualNetworkGatewaysClient) ListConnectionsPreparer(resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListConnectionsSender sends the ListConnections request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) ListConnectionsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListConnectionsResponder handles the response to the ListConnections request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) ListConnectionsResponder(resp *http.Response) (result VirtualNetworkGatewayListConnectionsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListConnectionsNextResults retrieves the next set of results, if any. +func (client VirtualNetworkGatewaysClient) ListConnectionsNextResults(lastResults VirtualNetworkGatewayListConnectionsResult) (result VirtualNetworkGatewayListConnectionsResult, err error) { + req, err := lastResults.VirtualNetworkGatewayListConnectionsResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "ListConnections", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListConnectionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "ListConnections", resp, "Failure sending next results request") + } + + result, err = client.ListConnectionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "ListConnections", resp, "Failure responding to next results request") + } + + return +} + +// ListConnectionsComplete gets all elements from the list without paging. +func (client VirtualNetworkGatewaysClient) ListConnectionsComplete(resourceGroupName string, virtualNetworkGatewayName string, cancel <-chan struct{}) (<-chan VirtualNetworkGatewayConnectionListEntity, <-chan error) { + resultChan := make(chan VirtualNetworkGatewayConnectionListEntity) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListConnections(resourceGroupName, virtualNetworkGatewayName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListConnectionsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// Reset resets the primary of the virtual network gateway in the specified resource group. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel // polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. -// virtualNetworkGatewayName is the name of the virtual network gateway. -// gatewayVip is virtual network gateway vip address supplied to the begin -// reset of the active-active feature enabled gateway. +// resourceGroupName is the name of the resource group. virtualNetworkGatewayName is the name of the virtual network +// gateway. gatewayVip is virtual network gateway vip address supplied to the begin reset of the active-active feature +// enabled gateway. func (client VirtualNetworkGatewaysClient) Reset(resourceGroupName string, virtualNetworkGatewayName string, gatewayVip string, cancel <-chan struct{}) (<-chan VirtualNetworkGateway, <-chan error) { resultChan := make(chan VirtualNetworkGateway, 1) errChan := make(chan error, 1) @@ -713,8 +1071,10 @@ func (client VirtualNetworkGatewaysClient) Reset(resourceGroupName string, virtu var err error var result VirtualNetworkGateway defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -747,7 +1107,7 @@ func (client VirtualNetworkGatewaysClient) ResetPreparer(resourceGroupName strin "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -783,3 +1143,138 @@ func (client VirtualNetworkGatewaysClient) ResetResponder(resp *http.Response) ( result.Response = autorest.Response{Response: resp} return } + +// SupportedVpnDevices gets a xml format representation for supported vpn devices. +// +// resourceGroupName is the name of the resource group. virtualNetworkGatewayName is the name of the virtual network +// gateway. +func (client VirtualNetworkGatewaysClient) SupportedVpnDevices(resourceGroupName string, virtualNetworkGatewayName string) (result String, err error) { + req, err := client.SupportedVpnDevicesPreparer(resourceGroupName, virtualNetworkGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "SupportedVpnDevices", nil, "Failure preparing request") + return + } + + resp, err := client.SupportedVpnDevicesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "SupportedVpnDevices", resp, "Failure sending request") + return + } + + result, err = client.SupportedVpnDevicesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "SupportedVpnDevices", resp, "Failure responding to request") + } + + return +} + +// SupportedVpnDevicesPreparer prepares the SupportedVpnDevices request. +func (client VirtualNetworkGatewaysClient) SupportedVpnDevicesPreparer(resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// SupportedVpnDevicesSender sends the SupportedVpnDevices request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) SupportedVpnDevicesSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// SupportedVpnDevicesResponder handles the response to the SupportedVpnDevices request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) SupportedVpnDevicesResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// VpnDeviceConfigurationScript gets a xml format representation for vpn device configuration script. +// +// resourceGroupName is the name of the resource group. virtualNetworkGatewayConnectionName is the name of the virtual +// network gateway connection for which the configuration script is generated. parameters is parameters supplied to the +// generate vpn device script operation. +func (client VirtualNetworkGatewaysClient) VpnDeviceConfigurationScript(resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters VpnDeviceScriptParameters) (result String, err error) { + req, err := client.VpnDeviceConfigurationScriptPreparer(resourceGroupName, virtualNetworkGatewayConnectionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "VpnDeviceConfigurationScript", nil, "Failure preparing request") + return + } + + resp, err := client.VpnDeviceConfigurationScriptSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "VpnDeviceConfigurationScript", resp, "Failure sending request") + return + } + + result, err = client.VpnDeviceConfigurationScriptResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "VpnDeviceConfigurationScript", resp, "Failure responding to request") + } + + return +} + +// VpnDeviceConfigurationScriptPreparer prepares the VpnDeviceConfigurationScript request. +func (client VirtualNetworkGatewaysClient) VpnDeviceConfigurationScriptPreparer(resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters VpnDeviceScriptParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// VpnDeviceConfigurationScriptSender sends the VpnDeviceConfigurationScript request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) VpnDeviceConfigurationScriptSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// VpnDeviceConfigurationScriptResponder handles the response to the VpnDeviceConfigurationScript request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) VpnDeviceConfigurationScriptResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/virtualnetworkpeerings.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/virtualnetworkpeerings.go index 27fafdfd0..0a945c1bb 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/virtualnetworkpeerings.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/virtualnetworkpeerings.go @@ -14,9 +14,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,31 +23,27 @@ import ( "net/http" ) -// VirtualNetworkPeeringsClient is the composite Swagger for Network Client +// VirtualNetworkPeeringsClient is the network Client type VirtualNetworkPeeringsClient struct { ManagementClient } -// NewVirtualNetworkPeeringsClient creates an instance of the -// VirtualNetworkPeeringsClient client. +// NewVirtualNetworkPeeringsClient creates an instance of the VirtualNetworkPeeringsClient client. func NewVirtualNetworkPeeringsClient(subscriptionID string) VirtualNetworkPeeringsClient { return NewVirtualNetworkPeeringsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewVirtualNetworkPeeringsClientWithBaseURI creates an instance of the -// VirtualNetworkPeeringsClient client. +// NewVirtualNetworkPeeringsClientWithBaseURI creates an instance of the VirtualNetworkPeeringsClient client. func NewVirtualNetworkPeeringsClientWithBaseURI(baseURI string, subscriptionID string) VirtualNetworkPeeringsClient { return VirtualNetworkPeeringsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates a peering in the specified virtual -// network. This method may poll for completion. Polling can be canceled by -// passing the cancel channel argument. The channel will be used to cancel -// polling and any outstanding HTTP requests. +// CreateOrUpdate creates or updates a peering in the specified virtual network. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. virtualNetworkName is -// the name of the virtual network. virtualNetworkPeeringName is the name of -// the peering. virtualNetworkPeeringParameters is parameters supplied to the +// resourceGroupName is the name of the resource group. virtualNetworkName is the name of the virtual network. +// virtualNetworkPeeringName is the name of the peering. virtualNetworkPeeringParameters is parameters supplied to the // create or update virtual network peering operation. func (client VirtualNetworkPeeringsClient) CreateOrUpdate(resourceGroupName string, virtualNetworkName string, virtualNetworkPeeringName string, virtualNetworkPeeringParameters VirtualNetworkPeering, cancel <-chan struct{}) (<-chan VirtualNetworkPeering, <-chan error) { resultChan := make(chan VirtualNetworkPeering, 1) @@ -57,8 +52,10 @@ func (client VirtualNetworkPeeringsClient) CreateOrUpdate(resourceGroupName stri var err error var result VirtualNetworkPeering defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -92,7 +89,7 @@ func (client VirtualNetworkPeeringsClient) CreateOrUpdatePreparer(resourceGroupN "virtualNetworkPeeringName": autorest.Encode("path", virtualNetworkPeeringName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -128,14 +125,12 @@ func (client VirtualNetworkPeeringsClient) CreateOrUpdateResponder(resp *http.Re return } -// Delete deletes the specified virtual network peering. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// Delete deletes the specified virtual network peering. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group. virtualNetworkName is -// the name of the virtual network. virtualNetworkPeeringName is the name of -// the virtual network peering. +// resourceGroupName is the name of the resource group. virtualNetworkName is the name of the virtual network. +// virtualNetworkPeeringName is the name of the virtual network peering. func (client VirtualNetworkPeeringsClient) Delete(resourceGroupName string, virtualNetworkName string, virtualNetworkPeeringName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -143,8 +138,10 @@ func (client VirtualNetworkPeeringsClient) Delete(resourceGroupName string, virt var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -178,7 +175,7 @@ func (client VirtualNetworkPeeringsClient) DeletePreparer(resourceGroupName stri "virtualNetworkPeeringName": autorest.Encode("path", virtualNetworkPeeringName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -213,9 +210,8 @@ func (client VirtualNetworkPeeringsClient) DeleteResponder(resp *http.Response) // Get gets the specified virtual network peering. // -// resourceGroupName is the name of the resource group. virtualNetworkName is -// the name of the virtual network. virtualNetworkPeeringName is the name of -// the virtual network peering. +// resourceGroupName is the name of the resource group. virtualNetworkName is the name of the virtual network. +// virtualNetworkPeeringName is the name of the virtual network peering. func (client VirtualNetworkPeeringsClient) Get(resourceGroupName string, virtualNetworkName string, virtualNetworkPeeringName string) (result VirtualNetworkPeering, err error) { req, err := client.GetPreparer(resourceGroupName, virtualNetworkName, virtualNetworkPeeringName) if err != nil { @@ -247,7 +243,7 @@ func (client VirtualNetworkPeeringsClient) GetPreparer(resourceGroupName string, "virtualNetworkPeeringName": autorest.Encode("path", virtualNetworkPeeringName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -281,8 +277,7 @@ func (client VirtualNetworkPeeringsClient) GetResponder(resp *http.Response) (re // List gets all virtual network peerings in a virtual network. // -// resourceGroupName is the name of the resource group. virtualNetworkName is -// the name of the virtual network. +// resourceGroupName is the name of the resource group. virtualNetworkName is the name of the virtual network. func (client VirtualNetworkPeeringsClient) List(resourceGroupName string, virtualNetworkName string) (result VirtualNetworkPeeringListResult, err error) { req, err := client.ListPreparer(resourceGroupName, virtualNetworkName) if err != nil { @@ -313,7 +308,7 @@ func (client VirtualNetworkPeeringsClient) ListPreparer(resourceGroupName string "virtualNetworkName": autorest.Encode("path", virtualNetworkName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -368,3 +363,48 @@ func (client VirtualNetworkPeeringsClient) ListNextResults(lastResults VirtualNe return } + +// ListComplete gets all elements from the list without paging. +func (client VirtualNetworkPeeringsClient) ListComplete(resourceGroupName string, virtualNetworkName string, cancel <-chan struct{}) (<-chan VirtualNetworkPeering, <-chan error) { + resultChan := make(chan VirtualNetworkPeering) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, virtualNetworkName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/virtualnetworks.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/virtualnetworks.go index eab048c72..58ac8ab11 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/virtualnetworks.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/virtualnetworks.go @@ -14,9 +14,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,29 +23,25 @@ import ( "net/http" ) -// VirtualNetworksClient is the composite Swagger for Network Client +// VirtualNetworksClient is the network Client type VirtualNetworksClient struct { ManagementClient } -// NewVirtualNetworksClient creates an instance of the VirtualNetworksClient -// client. +// NewVirtualNetworksClient creates an instance of the VirtualNetworksClient client. func NewVirtualNetworksClient(subscriptionID string) VirtualNetworksClient { return NewVirtualNetworksClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewVirtualNetworksClientWithBaseURI creates an instance of the -// VirtualNetworksClient client. +// NewVirtualNetworksClientWithBaseURI creates an instance of the VirtualNetworksClient client. func NewVirtualNetworksClientWithBaseURI(baseURI string, subscriptionID string) VirtualNetworksClient { return VirtualNetworksClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CheckIPAddressAvailability checks whether a private IP address is available -// for use. +// CheckIPAddressAvailability checks whether a private IP address is available for use. // -// resourceGroupName is the name of the resource group. virtualNetworkName is -// the name of the virtual network. IPAddress is the private IP address to be -// verified. +// resourceGroupName is the name of the resource group. virtualNetworkName is the name of the virtual network. +// IPAddress is the private IP address to be verified. func (client VirtualNetworksClient) CheckIPAddressAvailability(resourceGroupName string, virtualNetworkName string, IPAddress string) (result IPAddressAvailabilityResult, err error) { req, err := client.CheckIPAddressAvailabilityPreparer(resourceGroupName, virtualNetworkName, IPAddress) if err != nil { @@ -77,7 +72,7 @@ func (client VirtualNetworksClient) CheckIPAddressAvailabilityPreparer(resourceG "virtualNetworkName": autorest.Encode("path", virtualNetworkName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -112,14 +107,12 @@ func (client VirtualNetworksClient) CheckIPAddressAvailabilityResponder(resp *ht return } -// CreateOrUpdate creates or updates a virtual network in the specified -// resource group. This method may poll for completion. Polling can be canceled -// by passing the cancel channel argument. The channel will be used to cancel +// CreateOrUpdate creates or updates a virtual network in the specified resource group. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel // polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. virtualNetworkName is -// the name of the virtual network. parameters is parameters supplied to the -// create or update virtual network operation +// resourceGroupName is the name of the resource group. virtualNetworkName is the name of the virtual network. +// parameters is parameters supplied to the create or update virtual network operation func (client VirtualNetworksClient) CreateOrUpdate(resourceGroupName string, virtualNetworkName string, parameters VirtualNetwork, cancel <-chan struct{}) (<-chan VirtualNetwork, <-chan error) { resultChan := make(chan VirtualNetwork, 1) errChan := make(chan error, 1) @@ -127,8 +120,10 @@ func (client VirtualNetworksClient) CreateOrUpdate(resourceGroupName string, vir var err error var result VirtualNetwork defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -161,7 +156,7 @@ func (client VirtualNetworksClient) CreateOrUpdatePreparer(resourceGroupName str "virtualNetworkName": autorest.Encode("path", virtualNetworkName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -197,13 +192,10 @@ func (client VirtualNetworksClient) CreateOrUpdateResponder(resp *http.Response) return } -// Delete deletes the specified virtual network. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete deletes the specified virtual network. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. virtualNetworkName is -// the name of the virtual network. +// resourceGroupName is the name of the resource group. virtualNetworkName is the name of the virtual network. func (client VirtualNetworksClient) Delete(resourceGroupName string, virtualNetworkName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -211,8 +203,10 @@ func (client VirtualNetworksClient) Delete(resourceGroupName string, virtualNetw var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -245,7 +239,7 @@ func (client VirtualNetworksClient) DeletePreparer(resourceGroupName string, vir "virtualNetworkName": autorest.Encode("path", virtualNetworkName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -280,8 +274,8 @@ func (client VirtualNetworksClient) DeleteResponder(resp *http.Response) (result // Get gets the specified virtual network by resource group. // -// resourceGroupName is the name of the resource group. virtualNetworkName is -// the name of the virtual network. expand is expands referenced resources. +// resourceGroupName is the name of the resource group. virtualNetworkName is the name of the virtual network. expand +// is expands referenced resources. func (client VirtualNetworksClient) Get(resourceGroupName string, virtualNetworkName string, expand string) (result VirtualNetwork, err error) { req, err := client.GetPreparer(resourceGroupName, virtualNetworkName, expand) if err != nil { @@ -312,7 +306,7 @@ func (client VirtualNetworksClient) GetPreparer(resourceGroupName string, virtua "virtualNetworkName": autorest.Encode("path", virtualNetworkName), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -379,7 +373,7 @@ func (client VirtualNetworksClient) ListPreparer(resourceGroupName string) (*htt "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -435,6 +429,51 @@ func (client VirtualNetworksClient) ListNextResults(lastResults VirtualNetworkLi return } +// ListComplete gets all elements from the list without paging. +func (client VirtualNetworksClient) ListComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan VirtualNetwork, <-chan error) { + resultChan := make(chan VirtualNetwork) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListAll gets all virtual networks in a subscription. func (client VirtualNetworksClient) ListAll() (result VirtualNetworkListResult, err error) { req, err := client.ListAllPreparer() @@ -464,7 +503,7 @@ func (client VirtualNetworksClient) ListAllPreparer() (*http.Request, error) { "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -519,3 +558,182 @@ func (client VirtualNetworksClient) ListAllNextResults(lastResults VirtualNetwor return } + +// ListAllComplete gets all elements from the list without paging. +func (client VirtualNetworksClient) ListAllComplete(cancel <-chan struct{}) (<-chan VirtualNetwork, <-chan error) { + resultChan := make(chan VirtualNetwork) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAll() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAllNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListUsage lists usage stats. +// +// resourceGroupName is the name of the resource group. virtualNetworkName is the name of the virtual network. +func (client VirtualNetworksClient) ListUsage(resourceGroupName string, virtualNetworkName string) (result VirtualNetworkListUsageResult, err error) { + req, err := client.ListUsagePreparer(resourceGroupName, virtualNetworkName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListUsage", nil, "Failure preparing request") + return + } + + resp, err := client.ListUsageSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListUsage", resp, "Failure sending request") + return + } + + result, err = client.ListUsageResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListUsage", resp, "Failure responding to request") + } + + return +} + +// ListUsagePreparer prepares the ListUsage request. +func (client VirtualNetworksClient) ListUsagePreparer(resourceGroupName string, virtualNetworkName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListUsageSender sends the ListUsage request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworksClient) ListUsageSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListUsageResponder handles the response to the ListUsage request. The method always +// closes the http.Response Body. +func (client VirtualNetworksClient) ListUsageResponder(resp *http.Response) (result VirtualNetworkListUsageResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListUsageNextResults retrieves the next set of results, if any. +func (client VirtualNetworksClient) ListUsageNextResults(lastResults VirtualNetworkListUsageResult) (result VirtualNetworkListUsageResult, err error) { + req, err := lastResults.VirtualNetworkListUsageResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListUsage", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListUsageSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListUsage", resp, "Failure sending next results request") + } + + result, err = client.ListUsageResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListUsage", resp, "Failure responding to next results request") + } + + return +} + +// ListUsageComplete gets all elements from the list without paging. +func (client VirtualNetworksClient) ListUsageComplete(resourceGroupName string, virtualNetworkName string, cancel <-chan struct{}) (<-chan VirtualNetworkUsage, <-chan error) { + resultChan := make(chan VirtualNetworkUsage) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListUsage(resourceGroupName, virtualNetworkName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListUsageNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/watchers.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/watchers.go index 28febf847..798d8c1bb 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/network/watchers.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/network/watchers.go @@ -14,9 +14,8 @@ package network // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// WatchersClient is the composite Swagger for Network Client +// WatchersClient is the network Client type WatchersClient struct { ManagementClient } @@ -35,18 +34,112 @@ func NewWatchersClient(subscriptionID string) WatchersClient { return NewWatchersClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewWatchersClientWithBaseURI creates an instance of the WatchersClient -// client. +// NewWatchersClientWithBaseURI creates an instance of the WatchersClient client. func NewWatchersClientWithBaseURI(baseURI string, subscriptionID string) WatchersClient { return WatchersClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates a network watcher in the specified -// resource group. +// CheckConnectivity verifies the possibility of establishing a direct TCP connection from a virtual machine to a given +// endpoint including another VM or an arbitrary remote server. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group. networkWatcherName is -// the name of the network watcher. parameters is parameters that define the -// network watcher resource. +// resourceGroupName is the name of the network watcher resource group. networkWatcherName is the name of the network +// watcher resource. parameters is parameters that determine how the connectivity check will be performed. +func (client WatchersClient) CheckConnectivity(resourceGroupName string, networkWatcherName string, parameters ConnectivityParameters, cancel <-chan struct{}) (<-chan ConnectivityInformation, <-chan error) { + resultChan := make(chan ConnectivityInformation, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Source", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.Source.ResourceID", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.Destination", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "network.WatchersClient", "CheckConnectivity") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result ConnectivityInformation + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CheckConnectivityPreparer(resourceGroupName, networkWatcherName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "CheckConnectivity", nil, "Failure preparing request") + return + } + + resp, err := client.CheckConnectivitySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.WatchersClient", "CheckConnectivity", resp, "Failure sending request") + return + } + + result, err = client.CheckConnectivityResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "CheckConnectivity", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CheckConnectivityPreparer prepares the CheckConnectivity request. +func (client WatchersClient) CheckConnectivityPreparer(resourceGroupName string, networkWatcherName string, parameters ConnectivityParameters, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectivityCheck", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CheckConnectivitySender sends the CheckConnectivity request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) CheckConnectivitySender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CheckConnectivityResponder handles the response to the CheckConnectivity request. The method always +// closes the http.Response Body. +func (client WatchersClient) CheckConnectivityResponder(resp *http.Response) (result ConnectivityInformation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdate creates or updates a network watcher in the specified resource group. +// +// resourceGroupName is the name of the resource group. networkWatcherName is the name of the network watcher. +// parameters is parameters that define the network watcher resource. func (client WatchersClient) CreateOrUpdate(resourceGroupName string, networkWatcherName string, parameters Watcher) (result Watcher, err error) { req, err := client.CreateOrUpdatePreparer(resourceGroupName, networkWatcherName, parameters) if err != nil { @@ -77,7 +170,7 @@ func (client WatchersClient) CreateOrUpdatePreparer(resourceGroupName string, ne "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -111,13 +204,11 @@ func (client WatchersClient) CreateOrUpdateResponder(resp *http.Response) (resul return } -// Delete deletes the specified network watcher resource. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// Delete deletes the specified network watcher resource. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group. networkWatcherName is -// the name of the network watcher. +// resourceGroupName is the name of the resource group. networkWatcherName is the name of the network watcher. func (client WatchersClient) Delete(resourceGroupName string, networkWatcherName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -125,8 +216,10 @@ func (client WatchersClient) Delete(resourceGroupName string, networkWatcherName var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -159,7 +252,7 @@ func (client WatchersClient) DeletePreparer(resourceGroupName string, networkWat "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -194,8 +287,7 @@ func (client WatchersClient) DeleteResponder(resp *http.Response) (result autore // Get gets the specified network watcher by resource group. // -// resourceGroupName is the name of the resource group. networkWatcherName is -// the name of the network watcher. +// resourceGroupName is the name of the resource group. networkWatcherName is the name of the network watcher. func (client WatchersClient) Get(resourceGroupName string, networkWatcherName string) (result Watcher, err error) { req, err := client.GetPreparer(resourceGroupName, networkWatcherName) if err != nil { @@ -226,7 +318,7 @@ func (client WatchersClient) GetPreparer(resourceGroupName string, networkWatche "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -258,14 +350,109 @@ func (client WatchersClient) GetResponder(resp *http.Response) (result Watcher, return } -// GetFlowLogStatus queries status of flow log on a specified resource. This -// method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// GetAzureReachabilityReport gets the relative latency score for internet service providers from a specified location +// to Azure regions. This method may poll for completion. Polling can be canceled by passing the cancel channel +// argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the network watcher resource group. networkWatcherName is the name of the network +// watcher resource. parameters is parameters that determine Azure reachability report configuration. +func (client WatchersClient) GetAzureReachabilityReport(resourceGroupName string, networkWatcherName string, parameters AzureReachabilityReportParameters, cancel <-chan struct{}) (<-chan AzureReachabilityReport, <-chan error) { + resultChan := make(chan AzureReachabilityReport, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.ProviderLocation", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.ProviderLocation.Country", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.StartTime", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.EndTime", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "network.WatchersClient", "GetAzureReachabilityReport") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result AzureReachabilityReport + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.GetAzureReachabilityReportPreparer(resourceGroupName, networkWatcherName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetAzureReachabilityReport", nil, "Failure preparing request") + return + } + + resp, err := client.GetAzureReachabilityReportSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetAzureReachabilityReport", resp, "Failure sending request") + return + } + + result, err = client.GetAzureReachabilityReportResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetAzureReachabilityReport", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// GetAzureReachabilityReportPreparer prepares the GetAzureReachabilityReport request. +func (client WatchersClient) GetAzureReachabilityReportPreparer(resourceGroupName string, networkWatcherName string, parameters AzureReachabilityReportParameters, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/azureReachabilityReport", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// GetAzureReachabilityReportSender sends the GetAzureReachabilityReport request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) GetAzureReachabilityReportSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// GetAzureReachabilityReportResponder handles the response to the GetAzureReachabilityReport request. The method always +// closes the http.Response Body. +func (client WatchersClient) GetAzureReachabilityReportResponder(resp *http.Response) (result AzureReachabilityReport, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetFlowLogStatus queries status of flow log on a specified resource. This method may poll for completion. Polling +// can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is the name of the network watcher resource group. -// networkWatcherName is the name of the network watcher resource. parameters -// is parameters that define a resource to query flow log status. +// resourceGroupName is the name of the network watcher resource group. networkWatcherName is the name of the network +// watcher resource. parameters is parameters that define a resource to query flow log status. func (client WatchersClient) GetFlowLogStatus(resourceGroupName string, networkWatcherName string, parameters FlowLogStatusParameters, cancel <-chan struct{}) (<-chan FlowLogInformation, <-chan error) { resultChan := make(chan FlowLogInformation, 1) errChan := make(chan error, 1) @@ -282,8 +469,10 @@ func (client WatchersClient) GetFlowLogStatus(resourceGroupName string, networkW var err error var result FlowLogInformation defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -316,7 +505,7 @@ func (client WatchersClient) GetFlowLogStatusPreparer(resourceGroupName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -352,14 +541,11 @@ func (client WatchersClient) GetFlowLogStatusResponder(resp *http.Response) (res return } -// GetNextHop gets the next hop from the specified VM. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// GetNextHop gets the next hop from the specified VM. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. networkWatcherName is -// the name of the network watcher. parameters is parameters that define the -// source and destination endpoint. +// resourceGroupName is the name of the resource group. networkWatcherName is the name of the network watcher. +// parameters is parameters that define the source and destination endpoint. func (client WatchersClient) GetNextHop(resourceGroupName string, networkWatcherName string, parameters NextHopParameters, cancel <-chan struct{}) (<-chan NextHopResult, <-chan error) { resultChan := make(chan NextHopResult, 1) errChan := make(chan error, 1) @@ -378,8 +564,10 @@ func (client WatchersClient) GetNextHop(resourceGroupName string, networkWatcher var err error var result NextHopResult defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -412,7 +600,7 @@ func (client WatchersClient) GetNextHopPreparer(resourceGroupName string, networ "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -450,9 +638,8 @@ func (client WatchersClient) GetNextHopResponder(resp *http.Response) (result Ne // GetTopology gets the current network topology by resource group. // -// resourceGroupName is the name of the resource group. networkWatcherName is -// the name of the network watcher. parameters is parameters that define the -// representation of topology. +// resourceGroupName is the name of the resource group. networkWatcherName is the name of the network watcher. +// parameters is parameters that define the representation of topology. func (client WatchersClient) GetTopology(resourceGroupName string, networkWatcherName string, parameters TopologyParameters) (result Topology, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -489,7 +676,7 @@ func (client WatchersClient) GetTopologyPreparer(resourceGroupName string, netwo "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -523,14 +710,12 @@ func (client WatchersClient) GetTopologyResponder(resp *http.Response) (result T return } -// GetTroubleshooting initiate troubleshooting on a specified resource This -// method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// GetTroubleshooting initiate troubleshooting on a specified resource This method may poll for completion. Polling can +// be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding +// HTTP requests. // -// resourceGroupName is the name of the resource group. networkWatcherName is -// the name of the network watcher resource. parameters is parameters that -// define the resource to troubleshoot. +// resourceGroupName is the name of the resource group. networkWatcherName is the name of the network watcher resource. +// parameters is parameters that define the resource to troubleshoot. func (client WatchersClient) GetTroubleshooting(resourceGroupName string, networkWatcherName string, parameters TroubleshootingParameters, cancel <-chan struct{}) (<-chan TroubleshootingResult, <-chan error) { resultChan := make(chan TroubleshootingResult, 1) errChan := make(chan error, 1) @@ -551,8 +736,10 @@ func (client WatchersClient) GetTroubleshooting(resourceGroupName string, networ var err error var result TroubleshootingResult defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -585,7 +772,7 @@ func (client WatchersClient) GetTroubleshootingPreparer(resourceGroupName string "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -621,14 +808,12 @@ func (client WatchersClient) GetTroubleshootingResponder(resp *http.Response) (r return } -// GetTroubleshootingResult get the last completed troubleshooting result on a -// specified resource This method may poll for completion. Polling can be -// canceled by passing the cancel channel argument. The channel will be used to -// cancel polling and any outstanding HTTP requests. +// GetTroubleshootingResult get the last completed troubleshooting result on a specified resource This method may poll +// for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. networkWatcherName is -// the name of the network watcher resource. parameters is parameters that -// define the resource to query the troubleshooting result. +// resourceGroupName is the name of the resource group. networkWatcherName is the name of the network watcher resource. +// parameters is parameters that define the resource to query the troubleshooting result. func (client WatchersClient) GetTroubleshootingResult(resourceGroupName string, networkWatcherName string, parameters QueryTroubleshootingParameters, cancel <-chan struct{}) (<-chan TroubleshootingResult, <-chan error) { resultChan := make(chan TroubleshootingResult, 1) errChan := make(chan error, 1) @@ -645,8 +830,10 @@ func (client WatchersClient) GetTroubleshootingResult(resourceGroupName string, var err error var result TroubleshootingResult defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -679,7 +866,7 @@ func (client WatchersClient) GetTroubleshootingResultPreparer(resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -715,14 +902,12 @@ func (client WatchersClient) GetTroubleshootingResultResponder(resp *http.Respon return } -// GetVMSecurityRules gets the configured and effective security group rules on -// the specified VM. This method may poll for completion. Polling can be -// canceled by passing the cancel channel argument. The channel will be used to -// cancel polling and any outstanding HTTP requests. +// GetVMSecurityRules gets the configured and effective security group rules on the specified VM. This method may poll +// for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. networkWatcherName is -// the name of the network watcher. parameters is parameters that define the VM -// to check security groups for. +// resourceGroupName is the name of the resource group. networkWatcherName is the name of the network watcher. +// parameters is parameters that define the VM to check security groups for. func (client WatchersClient) GetVMSecurityRules(resourceGroupName string, networkWatcherName string, parameters SecurityGroupViewParameters, cancel <-chan struct{}) (<-chan SecurityGroupViewResult, <-chan error) { resultChan := make(chan SecurityGroupViewResult, 1) errChan := make(chan error, 1) @@ -739,8 +924,10 @@ func (client WatchersClient) GetVMSecurityRules(resourceGroupName string, networ var err error var result SecurityGroupViewResult defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -773,7 +960,7 @@ func (client WatchersClient) GetVMSecurityRulesPreparer(resourceGroupName string "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -841,7 +1028,7 @@ func (client WatchersClient) ListPreparer(resourceGroupName string) (*http.Reque "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -902,7 +1089,7 @@ func (client WatchersClient) ListAllPreparer() (*http.Request, error) { "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -934,14 +1121,97 @@ func (client WatchersClient) ListAllResponder(resp *http.Response) (result Watch return } -// SetFlowLogConfiguration configures flow log on a specified resource. This -// method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// ListAvailableProviders lists all available internet service providers for a specified Azure region. This method may +// poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to +// cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the network watcher resource group. networkWatcherName is the name of the network +// watcher resource. parameters is parameters that scope the list of available providers. +func (client WatchersClient) ListAvailableProviders(resourceGroupName string, networkWatcherName string, parameters AvailableProvidersListParameters, cancel <-chan struct{}) (<-chan AvailableProvidersList, <-chan error) { + resultChan := make(chan AvailableProvidersList, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result AvailableProvidersList + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.ListAvailableProvidersPreparer(resourceGroupName, networkWatcherName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "ListAvailableProviders", nil, "Failure preparing request") + return + } + + resp, err := client.ListAvailableProvidersSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.WatchersClient", "ListAvailableProviders", resp, "Failure sending request") + return + } + + result, err = client.ListAvailableProvidersResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "ListAvailableProviders", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// ListAvailableProvidersPreparer prepares the ListAvailableProviders request. +func (client WatchersClient) ListAvailableProvidersPreparer(resourceGroupName string, networkWatcherName string, parameters AvailableProvidersListParameters, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/availableProvidersList", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// ListAvailableProvidersSender sends the ListAvailableProviders request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) ListAvailableProvidersSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// ListAvailableProvidersResponder handles the response to the ListAvailableProviders request. The method always +// closes the http.Response Body. +func (client WatchersClient) ListAvailableProvidersResponder(resp *http.Response) (result AvailableProvidersList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// SetFlowLogConfiguration configures flow log on a specified resource. This method may poll for completion. Polling +// can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is the name of the network watcher resource group. -// networkWatcherName is the name of the network watcher resource. parameters -// is parameters that define the configuration of flow log. +// resourceGroupName is the name of the network watcher resource group. networkWatcherName is the name of the network +// watcher resource. parameters is parameters that define the configuration of flow log. func (client WatchersClient) SetFlowLogConfiguration(resourceGroupName string, networkWatcherName string, parameters FlowLogInformation, cancel <-chan struct{}) (<-chan FlowLogInformation, <-chan error) { resultChan := make(chan FlowLogInformation, 1) errChan := make(chan error, 1) @@ -962,8 +1232,10 @@ func (client WatchersClient) SetFlowLogConfiguration(resourceGroupName string, n var err error var result FlowLogInformation defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -996,7 +1268,7 @@ func (client WatchersClient) SetFlowLogConfigurationPreparer(resourceGroupName s "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1032,14 +1304,12 @@ func (client WatchersClient) SetFlowLogConfigurationResponder(resp *http.Respons return } -// VerifyIPFlow verify IP flow from the specified VM to a location given the -// currently configured NSG rules. This method may poll for completion. Polling -// can be canceled by passing the cancel channel argument. The channel will be +// VerifyIPFlow verify IP flow from the specified VM to a location given the currently configured NSG rules. This +// method may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be // used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. networkWatcherName is -// the name of the network watcher. parameters is parameters that define the IP -// flow to be verified. +// resourceGroupName is the name of the resource group. networkWatcherName is the name of the network watcher. +// parameters is parameters that define the IP flow to be verified. func (client WatchersClient) VerifyIPFlow(resourceGroupName string, networkWatcherName string, parameters VerificationIPFlowParameters, cancel <-chan struct{}) (<-chan VerificationIPFlowResult, <-chan error) { resultChan := make(chan VerificationIPFlowResult, 1) errChan := make(chan error, 1) @@ -1060,8 +1330,10 @@ func (client WatchersClient) VerifyIPFlow(resourceGroupName string, networkWatch var err error var result VerificationIPFlowResult defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -1094,7 +1366,7 @@ func (client WatchersClient) VerifyIPFlowPreparer(resourceGroupName string, netw "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2017-03-01" + const APIVersion = "2017-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/client.go index f02acec65..4cfed4767 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/client.go @@ -1,5 +1,4 @@ -// Package notificationhubs implements the Azure ARM Notificationhubs service -// API version 2017-04-01. +// Package notificationhubs implements the Azure ARM Notificationhubs service API version 2017-04-01. // // Azure NotificationHub client package notificationhubs @@ -18,9 +17,8 @@ package notificationhubs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/notificationhubsgroup.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/group.go old mode 100755 new mode 100644 similarity index 90% rename from vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/notificationhubsgroup.go rename to vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/group.go index cbdd1c1f8..3645f5770 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/notificationhubsgroup.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/group.go @@ -14,9 +14,8 @@ package notificationhubs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -40,11 +39,10 @@ func NewGroupClientWithBaseURI(baseURI string, subscriptionID string) GroupClien return GroupClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CheckAvailability checks the availability of the given notificationHub in a -// namespace. +// CheckAvailability checks the availability of the given notificationHub in a namespace. // -// resourceGroupName is the name of the resource group. namespaceName is the -// namespace name. parameters is the notificationHub name. +// resourceGroupName is the name of the resource group. namespaceName is the namespace name. parameters is the +// notificationHub name. func (client GroupClient) CheckAvailability(resourceGroupName string, namespaceName string, parameters CheckAvailabilityParameters) (result CheckAvailabilityResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -118,9 +116,8 @@ func (client GroupClient) CheckAvailabilityResponder(resp *http.Response) (resul // CreateOrUpdate creates/Update a NotificationHub in a namespace. // -// resourceGroupName is the name of the resource group. namespaceName is the -// namespace name. notificationHubName is the notification hub name. parameters -// is parameters supplied to the create/update a NotificationHub Resource. +// resourceGroupName is the name of the resource group. namespaceName is the namespace name. notificationHubName is the +// notification hub name. parameters is parameters supplied to the create/update a NotificationHub Resource. func (client GroupClient) CreateOrUpdate(resourceGroupName string, namespaceName string, notificationHubName string, parameters CreateOrUpdateParameters) (result ResourceType, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -192,13 +189,11 @@ func (client GroupClient) CreateOrUpdateResponder(resp *http.Response) (result R return } -// CreateOrUpdateAuthorizationRule creates/Updates an authorization rule for a -// NotificationHub +// CreateOrUpdateAuthorizationRule creates/Updates an authorization rule for a NotificationHub // -// resourceGroupName is the name of the resource group. namespaceName is the -// namespace name. notificationHubName is the notification hub name. -// authorizationRuleName is authorization Rule Name. parameters is the shared -// access authorization rule. +// resourceGroupName is the name of the resource group. namespaceName is the namespace name. notificationHubName is the +// notification hub name. authorizationRuleName is authorization Rule Name. parameters is the shared access +// authorization rule. func (client GroupClient) CreateOrUpdateAuthorizationRule(resourceGroupName string, namespaceName string, notificationHubName string, authorizationRuleName string, parameters SharedAccessAuthorizationRuleCreateOrUpdateParameters) (result SharedAccessAuthorizationRuleResource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -273,8 +268,8 @@ func (client GroupClient) CreateOrUpdateAuthorizationRuleResponder(resp *http.Re // Delete deletes a notification hub associated with a namespace. // -// resourceGroupName is the name of the resource group. namespaceName is the -// namespace name. notificationHubName is the notification hub name. +// resourceGroupName is the name of the resource group. namespaceName is the namespace name. notificationHubName is the +// notification hub name. func (client GroupClient) Delete(resourceGroupName string, namespaceName string, notificationHubName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, namespaceName, notificationHubName) if err != nil { @@ -339,9 +334,8 @@ func (client GroupClient) DeleteResponder(resp *http.Response) (result autorest. // DeleteAuthorizationRule deletes a notificationHub authorization rule // -// resourceGroupName is the name of the resource group. namespaceName is the -// namespace name. notificationHubName is the notification hub name. -// authorizationRuleName is authorization Rule Name. +// resourceGroupName is the name of the resource group. namespaceName is the namespace name. notificationHubName is the +// notification hub name. authorizationRuleName is authorization Rule Name. func (client GroupClient) DeleteAuthorizationRule(resourceGroupName string, namespaceName string, notificationHubName string, authorizationRuleName string) (result autorest.Response, err error) { req, err := client.DeleteAuthorizationRulePreparer(resourceGroupName, namespaceName, notificationHubName, authorizationRuleName) if err != nil { @@ -407,8 +401,8 @@ func (client GroupClient) DeleteAuthorizationRuleResponder(resp *http.Response) // Get lists the notification hubs associated with a namespace. // -// resourceGroupName is the name of the resource group. namespaceName is the -// namespace name. notificationHubName is the notification hub name. +// resourceGroupName is the name of the resource group. namespaceName is the namespace name. notificationHubName is the +// notification hub name. func (client GroupClient) Get(resourceGroupName string, namespaceName string, notificationHubName string) (result ResourceType, err error) { req, err := client.GetPreparer(resourceGroupName, namespaceName, notificationHubName) if err != nil { @@ -472,12 +466,10 @@ func (client GroupClient) GetResponder(resp *http.Response) (result ResourceType return } -// GetAuthorizationRule gets an authorization rule for a NotificationHub by -// name. +// GetAuthorizationRule gets an authorization rule for a NotificationHub by name. // -// resourceGroupName is the name of the resource group. namespaceName is the -// namespace name notificationHubName is the notification hub name. -// authorizationRuleName is authorization rule name. +// resourceGroupName is the name of the resource group. namespaceName is the namespace name notificationHubName is the +// notification hub name. authorizationRuleName is authorization rule name. func (client GroupClient) GetAuthorizationRule(resourceGroupName string, namespaceName string, notificationHubName string, authorizationRuleName string) (result SharedAccessAuthorizationRuleResource, err error) { req, err := client.GetAuthorizationRulePreparer(resourceGroupName, namespaceName, notificationHubName, authorizationRuleName) if err != nil { @@ -542,11 +534,10 @@ func (client GroupClient) GetAuthorizationRuleResponder(resp *http.Response) (re return } -// GetPnsCredentials lists the PNS Credentials associated with a notification -// hub . +// GetPnsCredentials lists the PNS Credentials associated with a notification hub . // -// resourceGroupName is the name of the resource group. namespaceName is the -// namespace name. notificationHubName is the notification hub name. +// resourceGroupName is the name of the resource group. namespaceName is the namespace name. notificationHubName is the +// notification hub name. func (client GroupClient) GetPnsCredentials(resourceGroupName string, namespaceName string, notificationHubName string) (result PnsCredentialsResource, err error) { req, err := client.GetPnsCredentialsPreparer(resourceGroupName, namespaceName, notificationHubName) if err != nil { @@ -612,8 +603,7 @@ func (client GroupClient) GetPnsCredentialsResponder(resp *http.Response) (resul // List lists the notification hubs associated with a namespace. // -// resourceGroupName is the name of the resource group. namespaceName is the -// namespace name. +// resourceGroupName is the name of the resource group. namespaceName is the namespace name. func (client GroupClient) List(resourceGroupName string, namespaceName string) (result ListResult, err error) { req, err := client.ListPreparer(resourceGroupName, namespaceName) if err != nil { @@ -700,10 +690,55 @@ func (client GroupClient) ListNextResults(lastResults ListResult) (result ListRe return } +// ListComplete gets all elements from the list without paging. +func (client GroupClient) ListComplete(resourceGroupName string, namespaceName string, cancel <-chan struct{}) (<-chan ResourceType, <-chan error) { + resultChan := make(chan ResourceType) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, namespaceName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListAuthorizationRules gets the authorization rules for a NotificationHub. // -// resourceGroupName is the name of the resource group. namespaceName is the -// namespace name notificationHubName is the notification hub name. +// resourceGroupName is the name of the resource group. namespaceName is the namespace name notificationHubName is the +// notification hub name. func (client GroupClient) ListAuthorizationRules(resourceGroupName string, namespaceName string, notificationHubName string) (result SharedAccessAuthorizationRuleListResult, err error) { req, err := client.ListAuthorizationRulesPreparer(resourceGroupName, namespaceName, notificationHubName) if err != nil { @@ -791,13 +826,56 @@ func (client GroupClient) ListAuthorizationRulesNextResults(lastResults SharedAc return } -// ListKeys gets the Primary and Secondary ConnectionStrings to the -// NotificationHub +// ListAuthorizationRulesComplete gets all elements from the list without paging. +func (client GroupClient) ListAuthorizationRulesComplete(resourceGroupName string, namespaceName string, notificationHubName string, cancel <-chan struct{}) (<-chan SharedAccessAuthorizationRuleResource, <-chan error) { + resultChan := make(chan SharedAccessAuthorizationRuleResource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAuthorizationRules(resourceGroupName, namespaceName, notificationHubName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAuthorizationRulesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListKeys gets the Primary and Secondary ConnectionStrings to the NotificationHub // -// resourceGroupName is the name of the resource group. namespaceName is the -// namespace name. notificationHubName is the notification hub name. -// authorizationRuleName is the connection string of the NotificationHub for -// the specified authorizationRule. +// resourceGroupName is the name of the resource group. namespaceName is the namespace name. notificationHubName is the +// notification hub name. authorizationRuleName is the connection string of the NotificationHub for the specified +// authorizationRule. func (client GroupClient) ListKeys(resourceGroupName string, namespaceName string, notificationHubName string, authorizationRuleName string) (result ResourceListKeys, err error) { req, err := client.ListKeysPreparer(resourceGroupName, namespaceName, notificationHubName, authorizationRuleName) if err != nil { @@ -862,14 +940,11 @@ func (client GroupClient) ListKeysResponder(resp *http.Response) (result Resourc return } -// RegenerateKeys regenerates the Primary/Secondary Keys to the NotificationHub -// Authorization Rule +// RegenerateKeys regenerates the Primary/Secondary Keys to the NotificationHub Authorization Rule // -// resourceGroupName is the name of the resource group. namespaceName is the -// namespace name. notificationHubName is the notification hub name. -// authorizationRuleName is the connection string of the NotificationHub for -// the specified authorizationRule. parameters is parameters supplied to -// regenerate the NotificationHub Authorization Rule Key. +// resourceGroupName is the name of the resource group. namespaceName is the namespace name. notificationHubName is the +// notification hub name. authorizationRuleName is the connection string of the NotificationHub for the specified +// authorizationRule. parameters is parameters supplied to regenerate the NotificationHub Authorization Rule Key. func (client GroupClient) RegenerateKeys(resourceGroupName string, namespaceName string, notificationHubName string, authorizationRuleName string, parameters PolicykeyResource) (result ResourceListKeys, err error) { req, err := client.RegenerateKeysPreparer(resourceGroupName, namespaceName, notificationHubName, authorizationRuleName, parameters) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/hubs.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/hubs.go new file mode 100644 index 000000000..5400b9ad1 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/hubs.go @@ -0,0 +1,114 @@ +package notificationhubs + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// HubsClient is the azure NotificationHub client +type HubsClient struct { + ManagementClient +} + +// NewHubsClient creates an instance of the HubsClient client. +func NewHubsClient(subscriptionID string) HubsClient { + return NewHubsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewHubsClientWithBaseURI creates an instance of the HubsClient client. +func NewHubsClientWithBaseURI(baseURI string, subscriptionID string) HubsClient { + return HubsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CheckAvailability checks the availability of the given notificationHub in a namespace. +// +// resourceGroupName is the name of the resource group. namespaceName is the namespace name. parameters is the +// notificationHub name. +func (client HubsClient) CheckAvailability(resourceGroupName string, namespaceName string, parameters CheckNameAvailabilityRequestParameters) (result CheckNameAvailabilityResponse, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Name", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "notificationhubs.HubsClient", "CheckAvailability") + } + + req, err := client.CheckAvailabilityPreparer(resourceGroupName, namespaceName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "notificationhubs.HubsClient", "CheckAvailability", nil, "Failure preparing request") + return + } + + resp, err := client.CheckAvailabilitySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "notificationhubs.HubsClient", "CheckAvailability", resp, "Failure sending request") + return + } + + result, err = client.CheckAvailabilityResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "notificationhubs.HubsClient", "CheckAvailability", resp, "Failure responding to request") + } + + return +} + +// CheckAvailabilityPreparer prepares the CheckAvailability request. +func (client HubsClient) CheckAvailabilityPreparer(resourceGroupName string, namespaceName string, parameters CheckNameAvailabilityRequestParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "namespaceName": autorest.Encode("path", namespaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/checkHubAvailability", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CheckAvailabilitySender sends the CheckAvailability request. The method will close the +// http.Response Body if it receives an error. +func (client HubsClient) CheckAvailabilitySender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CheckAvailabilityResponder handles the response to the CheckAvailability request. The method always +// closes the http.Response Body. +func (client HubsClient) CheckAvailabilityResponder(resp *http.Response) (result CheckNameAvailabilityResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/models.go index bca8ddd1f..d7d5672fc 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/models.go @@ -14,9 +14,8 @@ package notificationhubs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -93,16 +92,15 @@ type BaiduCredential struct { *BaiduCredentialProperties `json:"properties,omitempty"` } -// BaiduCredentialProperties is description of a NotificationHub -// BaiduCredential. +// BaiduCredentialProperties is description of a NotificationHub BaiduCredential. type BaiduCredentialProperties struct { BaiduAPIKey *string `json:"baiduApiKey,omitempty"` BaiduEndPoint *string `json:"baiduEndPoint,omitempty"` BaiduSecretKey *string `json:"baiduSecretKey,omitempty"` } -// CheckAvailabilityParameters is parameters supplied to the Check Name -// Availability for Namespace and NotificationHubs. +// CheckAvailabilityParameters is parameters supplied to the Check Name Availability for Namespace and +// NotificationHubs. type CheckAvailabilityParameters struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` @@ -125,8 +123,22 @@ type CheckAvailabilityResult struct { IsAvailiable *bool `json:"isAvailiable,omitempty"` } -// CreateOrUpdateParameters is parameters supplied to the CreateOrUpdate -// NotificationHub operation. +// CheckNameAvailabilityRequestParameters is parameters supplied to the Check Name Availability for Namespace and +// NotificationHubs. +type CheckNameAvailabilityRequestParameters struct { + Name *string `json:"Name,omitempty"` + Type *string `json:"Type,omitempty"` +} + +// CheckNameAvailabilityResponse is +type CheckNameAvailabilityResponse struct { + autorest.Response `json:"-"` + NameAvailable *bool `json:"NameAvailable,omitempty"` + Reason *string `json:"Reason,omitempty"` + Message *string `json:"Message,omitempty"` +} + +// CreateOrUpdateParameters is parameters supplied to the CreateOrUpdate NotificationHub operation. type CreateOrUpdateParameters struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` @@ -179,8 +191,7 @@ type MpnsCredentialProperties struct { Thumbprint *string `json:"thumbprint,omitempty"` } -// NamespaceCreateOrUpdateParameters is parameters supplied to the -// CreateOrUpdate Namespace operation. +// NamespaceCreateOrUpdateParameters is parameters supplied to the CreateOrUpdate Namespace operation. type NamespaceCreateOrUpdateParameters struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` @@ -210,8 +221,7 @@ func (client NamespaceListResult) NamespaceListResultPreparer() (*http.Request, autorest.WithBaseURL(to.String(client.NextLink))) } -// NamespacePatchParameters is parameters supplied to the Patch Namespace -// operation. +// NamespacePatchParameters is parameters supplied to the Patch Namespace operation. type NamespacePatchParameters struct { Tags *map[string]*string `json:"tags,omitempty"` Sku *Sku `json:"sku,omitempty"` @@ -244,8 +254,7 @@ type NamespaceResource struct { *NamespaceProperties `json:"properties,omitempty"` } -// PnsCredentialsProperties is description of a NotificationHub PNS -// Credentials. +// PnsCredentialsProperties is description of a NotificationHub PNS Credentials. type PnsCredentialsProperties struct { ApnsCredential *ApnsCredential `json:"apnsCredential,omitempty"` WnsCredential *WnsCredential `json:"wnsCredential,omitempty"` @@ -317,8 +326,8 @@ type ResourceType struct { *Properties `json:"properties,omitempty"` } -// SharedAccessAuthorizationRuleCreateOrUpdateParameters is parameters supplied -// to the CreateOrUpdate Namespace AuthorizationRules. +// SharedAccessAuthorizationRuleCreateOrUpdateParameters is parameters supplied to the CreateOrUpdate Namespace +// AuthorizationRules. type SharedAccessAuthorizationRuleCreateOrUpdateParameters struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` @@ -329,8 +338,7 @@ type SharedAccessAuthorizationRuleCreateOrUpdateParameters struct { Properties *SharedAccessAuthorizationRuleProperties `json:"properties,omitempty"` } -// SharedAccessAuthorizationRuleListResult is the response of the List -// Namespace operation. +// SharedAccessAuthorizationRuleListResult is the response of the List Namespace operation. type SharedAccessAuthorizationRuleListResult struct { autorest.Response `json:"-"` Value *[]SharedAccessAuthorizationRuleResource `json:"value,omitempty"` @@ -349,14 +357,12 @@ func (client SharedAccessAuthorizationRuleListResult) SharedAccessAuthorizationR autorest.WithBaseURL(to.String(client.NextLink))) } -// SharedAccessAuthorizationRuleProperties is sharedAccessAuthorizationRule -// properties. +// SharedAccessAuthorizationRuleProperties is sharedAccessAuthorizationRule properties. type SharedAccessAuthorizationRuleProperties struct { Rights *[]AccessRights `json:"rights,omitempty"` } -// SharedAccessAuthorizationRuleResource is description of a Namespace -// AuthorizationRules. +// SharedAccessAuthorizationRuleResource is description of a Namespace AuthorizationRules. type SharedAccessAuthorizationRuleResource struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/name.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/name.go new file mode 100644 index 000000000..3cf818ef0 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/name.go @@ -0,0 +1,112 @@ +package notificationhubs + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// NameClient is the azure NotificationHub client +type NameClient struct { + ManagementClient +} + +// NewNameClient creates an instance of the NameClient client. +func NewNameClient(subscriptionID string) NameClient { + return NewNameClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewNameClientWithBaseURI creates an instance of the NameClient client. +func NewNameClientWithBaseURI(baseURI string, subscriptionID string) NameClient { + return NameClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CheckAvailability checks the availability of the given service namespace across all Azure subscriptions. This is +// useful because the domain name is created based on the service namespace name. +// +// parameters is the namespace name. +func (client NameClient) CheckAvailability(parameters CheckNameAvailabilityRequestParameters) (result CheckNameAvailabilityResponse, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Name", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "notificationhubs.NameClient", "CheckAvailability") + } + + req, err := client.CheckAvailabilityPreparer(parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "notificationhubs.NameClient", "CheckAvailability", nil, "Failure preparing request") + return + } + + resp, err := client.CheckAvailabilitySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "notificationhubs.NameClient", "CheckAvailability", resp, "Failure sending request") + return + } + + result, err = client.CheckAvailabilityResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "notificationhubs.NameClient", "CheckAvailability", resp, "Failure responding to request") + } + + return +} + +// CheckAvailabilityPreparer prepares the CheckAvailability request. +func (client NameClient) CheckAvailabilityPreparer(parameters CheckNameAvailabilityRequestParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/checkNameAvailability", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CheckAvailabilitySender sends the CheckAvailability request. The method will close the +// http.Response Body if it receives an error. +func (client NameClient) CheckAvailabilitySender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CheckAvailabilityResponder handles the response to the CheckAvailability request. The method always +// closes the http.Response Body. +func (client NameClient) CheckAvailabilityResponder(resp *http.Response) (result CheckNameAvailabilityResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/namespaces.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/namespaces.go index ff473d09f..0af0c272e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/namespaces.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/namespaces.go @@ -14,9 +14,8 @@ package notificationhubs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -35,15 +34,13 @@ func NewNamespacesClient(subscriptionID string) NamespacesClient { return NewNamespacesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewNamespacesClientWithBaseURI creates an instance of the NamespacesClient -// client. +// NewNamespacesClientWithBaseURI creates an instance of the NamespacesClient client. func NewNamespacesClientWithBaseURI(baseURI string, subscriptionID string) NamespacesClient { return NamespacesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CheckAvailability checks the availability of the given service namespace -// across all Azure subscriptions. This is useful because the domain name is -// created based on the service namespace name. +// CheckAvailability checks the availability of the given service namespace across all Azure subscriptions. This is +// useful because the domain name is created based on the service namespace name. // // parameters is the namespace name. func (client NamespacesClient) CheckAvailability(parameters CheckAvailabilityParameters) (result CheckAvailabilityResult, err error) { @@ -115,12 +112,11 @@ func (client NamespacesClient) CheckAvailabilityResponder(resp *http.Response) ( return } -// CreateOrUpdate creates/Updates a service namespace. Once created, this -// namespace's resource manifest is immutable. This operation is idempotent. +// CreateOrUpdate creates/Updates a service namespace. Once created, this namespace's resource manifest is immutable. +// This operation is idempotent. // -// resourceGroupName is the name of the resource group. namespaceName is the -// namespace name. parameters is parameters supplied to create a Namespace -// Resource. +// resourceGroupName is the name of the resource group. namespaceName is the namespace name. parameters is parameters +// supplied to create a Namespace Resource. func (client NamespacesClient) CreateOrUpdate(resourceGroupName string, namespaceName string, parameters NamespaceCreateOrUpdateParameters) (result NamespaceResource, err error) { req, err := client.CreateOrUpdatePreparer(resourceGroupName, namespaceName, parameters) if err != nil { @@ -185,12 +181,10 @@ func (client NamespacesClient) CreateOrUpdateResponder(resp *http.Response) (res return } -// CreateOrUpdateAuthorizationRule creates an authorization rule for a -// namespace +// CreateOrUpdateAuthorizationRule creates an authorization rule for a namespace // -// resourceGroupName is the name of the resource group. namespaceName is the -// namespace name. authorizationRuleName is aauthorization Rule Name. -// parameters is the shared access authorization rule. +// resourceGroupName is the name of the resource group. namespaceName is the namespace name. authorizationRuleName is +// aauthorization Rule Name. parameters is the shared access authorization rule. func (client NamespacesClient) CreateOrUpdateAuthorizationRule(resourceGroupName string, namespaceName string, authorizationRuleName string, parameters SharedAccessAuthorizationRuleCreateOrUpdateParameters) (result SharedAccessAuthorizationRuleResource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -262,14 +256,11 @@ func (client NamespacesClient) CreateOrUpdateAuthorizationRuleResponder(resp *ht return } -// Delete deletes an existing namespace. This operation also removes all -// associated notificationHubs under the namespace. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete deletes an existing namespace. This operation also removes all associated notificationHubs under the +// namespace. This method may poll for completion. Polling can be canceled by passing the cancel channel argument. The +// channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. namespaceName is the -// namespace name. +// resourceGroupName is the name of the resource group. namespaceName is the namespace name. func (client NamespacesClient) Delete(resourceGroupName string, namespaceName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -277,8 +268,10 @@ func (client NamespacesClient) Delete(resourceGroupName string, namespaceName st var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -346,8 +339,8 @@ func (client NamespacesClient) DeleteResponder(resp *http.Response) (result auto // DeleteAuthorizationRule deletes a namespace authorization rule // -// resourceGroupName is the name of the resource group. namespaceName is the -// namespace name. authorizationRuleName is authorization Rule Name. +// resourceGroupName is the name of the resource group. namespaceName is the namespace name. authorizationRuleName is +// authorization Rule Name. func (client NamespacesClient) DeleteAuthorizationRule(resourceGroupName string, namespaceName string, authorizationRuleName string) (result autorest.Response, err error) { req, err := client.DeleteAuthorizationRulePreparer(resourceGroupName, namespaceName, authorizationRuleName) if err != nil { @@ -412,8 +405,7 @@ func (client NamespacesClient) DeleteAuthorizationRuleResponder(resp *http.Respo // Get returns the description for the specified namespace. // -// resourceGroupName is the name of the resource group. namespaceName is the -// namespace name. +// resourceGroupName is the name of the resource group. namespaceName is the namespace name. func (client NamespacesClient) Get(resourceGroupName string, namespaceName string) (result NamespaceResource, err error) { req, err := client.GetPreparer(resourceGroupName, namespaceName) if err != nil { @@ -478,8 +470,8 @@ func (client NamespacesClient) GetResponder(resp *http.Response) (result Namespa // GetAuthorizationRule gets an authorization rule for a namespace by name. // -// resourceGroupName is the name of the resource group. namespaceName is the -// namespace name authorizationRuleName is authorization rule name. +// resourceGroupName is the name of the resource group. namespaceName is the namespace name authorizationRuleName is +// authorization rule name. func (client NamespacesClient) GetAuthorizationRule(resourceGroupName string, namespaceName string, authorizationRuleName string) (result SharedAccessAuthorizationRuleResource, err error) { req, err := client.GetAuthorizationRulePreparer(resourceGroupName, namespaceName, authorizationRuleName) if err != nil { @@ -545,8 +537,8 @@ func (client NamespacesClient) GetAuthorizationRuleResponder(resp *http.Response // List lists the available namespaces within a resourceGroup. // -// resourceGroupName is the name of the resource group. If resourceGroupName -// value is null the method lists all the namespaces within subscription +// resourceGroupName is the name of the resource group. If resourceGroupName value is null the method lists all the +// namespaces within subscription func (client NamespacesClient) List(resourceGroupName string) (result NamespaceListResult, err error) { req, err := client.ListPreparer(resourceGroupName) if err != nil { @@ -632,8 +624,52 @@ func (client NamespacesClient) ListNextResults(lastResults NamespaceListResult) return } -// ListAll lists all the available namespaces within the subscription -// irrespective of the resourceGroups. +// ListComplete gets all elements from the list without paging. +func (client NamespacesClient) ListComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan NamespaceResource, <-chan error) { + resultChan := make(chan NamespaceResource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListAll lists all the available namespaces within the subscription irrespective of the resourceGroups. func (client NamespacesClient) ListAll() (result NamespaceListResult, err error) { req, err := client.ListAllPreparer() if err != nil { @@ -718,10 +754,54 @@ func (client NamespacesClient) ListAllNextResults(lastResults NamespaceListResul return } +// ListAllComplete gets all elements from the list without paging. +func (client NamespacesClient) ListAllComplete(cancel <-chan struct{}) (<-chan NamespaceResource, <-chan error) { + resultChan := make(chan NamespaceResource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAll() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAllNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListAuthorizationRules gets the authorization rules for a namespace. // -// resourceGroupName is the name of the resource group. namespaceName is the -// namespace name +// resourceGroupName is the name of the resource group. namespaceName is the namespace name func (client NamespacesClient) ListAuthorizationRules(resourceGroupName string, namespaceName string) (result SharedAccessAuthorizationRuleListResult, err error) { req, err := client.ListAuthorizationRulesPreparer(resourceGroupName, namespaceName) if err != nil { @@ -808,11 +888,55 @@ func (client NamespacesClient) ListAuthorizationRulesNextResults(lastResults Sha return } +// ListAuthorizationRulesComplete gets all elements from the list without paging. +func (client NamespacesClient) ListAuthorizationRulesComplete(resourceGroupName string, namespaceName string, cancel <-chan struct{}) (<-chan SharedAccessAuthorizationRuleResource, <-chan error) { + resultChan := make(chan SharedAccessAuthorizationRuleResource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAuthorizationRules(resourceGroupName, namespaceName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAuthorizationRulesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListKeys gets the Primary and Secondary ConnectionStrings to the namespace // -// resourceGroupName is the name of the resource group. namespaceName is the -// namespace name. authorizationRuleName is the connection string of the -// namespace for the specified authorizationRule. +// resourceGroupName is the name of the resource group. namespaceName is the namespace name. authorizationRuleName is +// the connection string of the namespace for the specified authorizationRule. func (client NamespacesClient) ListKeys(resourceGroupName string, namespaceName string, authorizationRuleName string) (result ResourceListKeys, err error) { req, err := client.ListKeysPreparer(resourceGroupName, namespaceName, authorizationRuleName) if err != nil { @@ -878,9 +1002,8 @@ func (client NamespacesClient) ListKeysResponder(resp *http.Response) (result Re // Patch patches the existing namespace // -// resourceGroupName is the name of the resource group. namespaceName is the -// namespace name. parameters is parameters supplied to patch a Namespace -// Resource. +// resourceGroupName is the name of the resource group. namespaceName is the namespace name. parameters is parameters +// supplied to patch a Namespace Resource. func (client NamespacesClient) Patch(resourceGroupName string, namespaceName string, parameters NamespacePatchParameters) (result NamespaceResource, err error) { req, err := client.PatchPreparer(resourceGroupName, namespaceName, parameters) if err != nil { @@ -945,13 +1068,11 @@ func (client NamespacesClient) PatchResponder(resp *http.Response) (result Names return } -// RegenerateKeys regenerates the Primary/Secondary Keys to the Namespace -// Authorization Rule +// RegenerateKeys regenerates the Primary/Secondary Keys to the Namespace Authorization Rule // -// resourceGroupName is the name of the resource group. namespaceName is the -// namespace name. authorizationRuleName is the connection string of the -// namespace for the specified authorizationRule. parameters is parameters -// supplied to regenerate the Namespace Authorization Rule Key. +// resourceGroupName is the name of the resource group. namespaceName is the namespace name. authorizationRuleName is +// the connection string of the namespace for the specified authorizationRule. parameters is parameters supplied to +// regenerate the Namespace Authorization Rule Key. func (client NamespacesClient) RegenerateKeys(resourceGroupName string, namespaceName string, authorizationRuleName string, parameters PolicykeyResource) (result ResourceListKeys, err error) { req, err := client.RegenerateKeysPreparer(resourceGroupName, namespaceName, authorizationRuleName, parameters) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/version.go index deb4bddc8..dea290b95 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/notificationhubs/version.go @@ -14,16 +14,15 @@ package notificationhubs // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-notificationhubs/2017-04-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-notificationhubs/2017-04-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/client.go index a42ac00b4..7fc00380f 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/client.go @@ -1,7 +1,6 @@ -// Package operationalinsights implements the Azure ARM Operationalinsights -// service API version 2015-11-01-preview. +// Package operationalinsights implements the Azure ARM Operationalinsights service API version . // -// Azure Log Analytics API reference +// Operational Insights Client package operationalinsights // Copyright (c) Microsoft and contributors. All rights reserved. @@ -18,9 +17,8 @@ package operationalinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/datasources.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/datasources.go index 0a0653d0f..5b3ad40bb 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/datasources.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/datasources.go @@ -14,9 +14,8 @@ package operationalinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// DataSourcesClient is the azure Log Analytics API reference +// DataSourcesClient is the operational Insights Client type DataSourcesClient struct { ManagementClient } @@ -35,19 +34,16 @@ func NewDataSourcesClient(subscriptionID string) DataSourcesClient { return NewDataSourcesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewDataSourcesClientWithBaseURI creates an instance of the DataSourcesClient -// client. +// NewDataSourcesClientWithBaseURI creates an instance of the DataSourcesClient client. func NewDataSourcesClientWithBaseURI(baseURI string, subscriptionID string) DataSourcesClient { return DataSourcesClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate create or update a data source. // -// resourceGroupName is the name of the resource group to get. The name is case -// insensitive. workspaceName is name of the Log Analytics Workspace that will -// contain the datasource dataSourceName is the name of the datasource -// resource. parameters is the parameters required to create or update a -// datasource. +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is name of +// the Log Analytics Workspace that will contain the datasource dataSourceName is the name of the datasource resource. +// parameters is the parameters required to create or update a datasource. func (client DataSourcesClient) CreateOrUpdate(resourceGroupName string, workspaceName string, dataSourceName string, parameters DataSource) (result DataSource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -125,9 +121,8 @@ func (client DataSourcesClient) CreateOrUpdateResponder(resp *http.Response) (re // Delete deletes a data source instance. // -// resourceGroupName is the name of the resource group to get. The name is case -// insensitive. workspaceName is name of the Log Analytics Workspace that -// contains the datasource. dataSourceName is name of the datasource. +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is name of +// the Log Analytics Workspace that contains the datasource. dataSourceName is name of the datasource. func (client DataSourcesClient) Delete(resourceGroupName string, workspaceName string, dataSourceName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -200,9 +195,8 @@ func (client DataSourcesClient) DeleteResponder(resp *http.Response) (result aut // Get gets a datasource instance. // -// resourceGroupName is the name of the resource group to get. The name is case -// insensitive. workspaceName is name of the Log Analytics Workspace that -// contains the datasource. dataSourceName is name of the datasource +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is name of +// the Log Analytics Workspace that contains the datasource. dataSourceName is name of the datasource func (client DataSourcesClient) Get(resourceGroupName string, workspaceName string, dataSourceName string) (result DataSource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -274,13 +268,11 @@ func (client DataSourcesClient) GetResponder(resp *http.Response) (result DataSo return } -// ListByWorkspace gets the first page of data source instances in a workspace -// with the link to the next page. +// ListByWorkspace gets the first page of data source instances in a workspace with the link to the next page. // -// resourceGroupName is the name of the resource group to get. The name is case -// insensitive. workspaceName is the workspace that contains the data sources. -// filter is the filter to apply on the operation. skiptoken is starting point -// of the collection of data source instances. +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is the +// workspace that contains the data sources. filter is the filter to apply on the operation. skiptoken is starting +// point of the collection of data source instances. func (client DataSourcesClient) ListByWorkspace(resourceGroupName string, workspaceName string, filter string, skiptoken string) (result DataSourceListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -378,3 +370,48 @@ func (client DataSourcesClient) ListByWorkspaceNextResults(lastResults DataSourc return } + +// ListByWorkspaceComplete gets all elements from the list without paging. +func (client DataSourcesClient) ListByWorkspaceComplete(resourceGroupName string, workspaceName string, filter string, skiptoken string, cancel <-chan struct{}) (<-chan DataSource, <-chan error) { + resultChan := make(chan DataSource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByWorkspace(resourceGroupName, workspaceName, filter, skiptoken) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByWorkspaceNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/linkedservices.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/linkedservices.go index c7ef67562..0493090e9 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/linkedservices.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/linkedservices.go @@ -14,9 +14,8 @@ package operationalinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,30 +24,26 @@ import ( "net/http" ) -// LinkedServicesClient is the azure Log Analytics API reference +// LinkedServicesClient is the operational Insights Client type LinkedServicesClient struct { ManagementClient } -// NewLinkedServicesClient creates an instance of the LinkedServicesClient -// client. +// NewLinkedServicesClient creates an instance of the LinkedServicesClient client. func NewLinkedServicesClient(subscriptionID string) LinkedServicesClient { return NewLinkedServicesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewLinkedServicesClientWithBaseURI creates an instance of the -// LinkedServicesClient client. +// NewLinkedServicesClientWithBaseURI creates an instance of the LinkedServicesClient client. func NewLinkedServicesClientWithBaseURI(baseURI string, subscriptionID string) LinkedServicesClient { return LinkedServicesClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate create or update a linked service. // -// resourceGroupName is the name of the resource group to get. The name is case -// insensitive. workspaceName is name of the Log Analytics Workspace that will -// contain the linkedServices resource linkedServiceName is name of the -// linkedServices resource parameters is the parameters required to create or -// update a linked service. +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is name of +// the Log Analytics Workspace that will contain the linkedServices resource linkedServiceName is name of the +// linkedServices resource parameters is the parameters required to create or update a linked service. func (client LinkedServicesClient) CreateOrUpdate(resourceGroupName string, workspaceName string, linkedServiceName string, parameters LinkedService) (result LinkedService, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -127,9 +122,8 @@ func (client LinkedServicesClient) CreateOrUpdateResponder(resp *http.Response) // Delete deletes a linked service instance. // -// resourceGroupName is the name of the resource group to get. The name is case -// insensitive. workspaceName is name of the Log Analytics Workspace that -// contains the linkedServices resource linkedServiceName is name of the linked +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is name of +// the Log Analytics Workspace that contains the linkedServices resource linkedServiceName is name of the linked // service. func (client LinkedServicesClient) Delete(resourceGroupName string, workspaceName string, linkedServiceName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ @@ -203,9 +197,8 @@ func (client LinkedServicesClient) DeleteResponder(resp *http.Response) (result // Get gets a linked service instance. // -// resourceGroupName is the name of the resource group to get. The name is case -// insensitive. workspaceName is name of the Log Analytics Workspace that -// contains the linkedServices resource linkedServiceName is name of the linked +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is name of +// the Log Analytics Workspace that contains the linkedServices resource linkedServiceName is name of the linked // service. func (client LinkedServicesClient) Get(resourceGroupName string, workspaceName string, linkedServiceName string) (result LinkedService, err error) { if err := validation.Validate([]validation.Validation{ @@ -280,9 +273,8 @@ func (client LinkedServicesClient) GetResponder(resp *http.Response) (result Lin // ListByWorkspace gets the linked services instances in a workspace. // -// resourceGroupName is the name of the resource group to get. The name is case -// insensitive. workspaceName is name of the Log Analytics Workspace that -// contains the linked services. +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is name of +// the Log Analytics Workspace that contains the linked services. func (client LinkedServicesClient) ListByWorkspace(resourceGroupName string, workspaceName string) (result LinkedServiceListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/models.go index b4057b90c..e3ef9782e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/models.go @@ -14,9 +14,8 @@ package operationalinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -29,46 +28,35 @@ import ( type DataSourceKind string const ( - // AzureActivityLog specifies the azure activity log state for data source - // kind. + // AzureActivityLog specifies the azure activity log state for data source kind. AzureActivityLog DataSourceKind = "AzureActivityLog" - // ChangeTrackingCustomRegistry specifies the change tracking custom - // registry state for data source kind. + // ChangeTrackingCustomRegistry specifies the change tracking custom registry state for data source kind. ChangeTrackingCustomRegistry DataSourceKind = "ChangeTrackingCustomRegistry" - // ChangeTrackingDefaultPath specifies the change tracking default path - // state for data source kind. + // ChangeTrackingDefaultPath specifies the change tracking default path state for data source kind. ChangeTrackingDefaultPath DataSourceKind = "ChangeTrackingDefaultPath" - // ChangeTrackingDefaultRegistry specifies the change tracking default - // registry state for data source kind. + // ChangeTrackingDefaultRegistry specifies the change tracking default registry state for data source kind. ChangeTrackingDefaultRegistry DataSourceKind = "ChangeTrackingDefaultRegistry" - // ChangeTrackingPath specifies the change tracking path state for data - // source kind. + // ChangeTrackingPath specifies the change tracking path state for data source kind. ChangeTrackingPath DataSourceKind = "ChangeTrackingPath" // CustomLog specifies the custom log state for data source kind. CustomLog DataSourceKind = "CustomLog" - // CustomLogCollection specifies the custom log collection state for data - // source kind. + // CustomLogCollection specifies the custom log collection state for data source kind. CustomLogCollection DataSourceKind = "CustomLogCollection" - // GenericDataSource specifies the generic data source state for data - // source kind. + // GenericDataSource specifies the generic data source state for data source kind. GenericDataSource DataSourceKind = "GenericDataSource" // IISLogs specifies the iis logs state for data source kind. IISLogs DataSourceKind = "IISLogs" - // LinuxPerformanceCollection specifies the linux performance collection - // state for data source kind. + // LinuxPerformanceCollection specifies the linux performance collection state for data source kind. LinuxPerformanceCollection DataSourceKind = "LinuxPerformanceCollection" - // LinuxPerformanceObject specifies the linux performance object state for - // data source kind. + // LinuxPerformanceObject specifies the linux performance object state for data source kind. LinuxPerformanceObject DataSourceKind = "LinuxPerformanceObject" // LinuxSyslog specifies the linux syslog state for data source kind. LinuxSyslog DataSourceKind = "LinuxSyslog" - // LinuxSyslogCollection specifies the linux syslog collection state for - // data source kind. + // LinuxSyslogCollection specifies the linux syslog collection state for data source kind. LinuxSyslogCollection DataSourceKind = "LinuxSyslogCollection" // WindowsEvent specifies the windows event state for data source kind. WindowsEvent DataSourceKind = "WindowsEvent" - // WindowsPerformanceCounter specifies the windows performance counter - // state for data source kind. + // WindowsPerformanceCounter specifies the windows performance counter state for data source kind. WindowsPerformanceCounter DataSourceKind = "WindowsPerformanceCounter" ) @@ -84,13 +72,22 @@ const ( Deleting EntityStatus = "Deleting" // Failed specifies the failed state for entity status. Failed EntityStatus = "Failed" - // ProvisioningAccount specifies the provisioning account state for entity - // status. + // ProvisioningAccount specifies the provisioning account state for entity status. ProvisioningAccount EntityStatus = "ProvisioningAccount" // Succeeded specifies the succeeded state for entity status. Succeeded EntityStatus = "Succeeded" ) +// SearchSortEnum enumerates the values for search sort enum. +type SearchSortEnum string + +const ( + // Asc specifies the asc state for search sort enum. + Asc SearchSortEnum = "asc" + // Desc specifies the desc state for search sort enum. + Desc SearchSortEnum = "desc" +) + // SkuNameEnum enumerates the values for sku name enum. type SkuNameEnum string @@ -109,6 +106,22 @@ const ( Unlimited SkuNameEnum = "Unlimited" ) +// StorageInsightState enumerates the values for storage insight state. +type StorageInsightState string + +const ( + // ERROR specifies the error state for storage insight state. + ERROR StorageInsightState = "ERROR" + // OK specifies the ok state for storage insight state. + OK StorageInsightState = "OK" +) + +// CoreSummary is the core summary of a search. +type CoreSummary struct { + Status *string `json:"Status,omitempty"` + NumberOfDocuments *int64 `json:"NumberOfDocuments,omitempty"` +} + // DataSource is datasources under OMS Workspace. type DataSource struct { autorest.Response `json:"-"` @@ -121,14 +134,12 @@ type DataSource struct { Kind DataSourceKind `json:"kind,omitempty"` } -// DataSourceFilter is dataSource filter. Right now, only filter by kind is -// supported. +// DataSourceFilter is dataSource filter. Right now, only filter by kind is supported. type DataSourceFilter struct { Kind DataSourceKind `json:"kind,omitempty"` } -// DataSourceListResult is the list data source by workspace operation -// response. +// DataSourceListResult is the list data source by workspace operation response. type DataSourceListResult struct { autorest.Response `json:"-"` Value *[]DataSource `json:"value,omitempty"` @@ -147,8 +158,7 @@ func (client DataSourceListResult) DataSourceListResultPreparer() (*http.Request autorest.WithBaseURL(to.String(client.NextLink))) } -// IntelligencePack is intelligence Pack containing a string name and boolean -// indicating if it's enabled. +// IntelligencePack is intelligence Pack containing a string name and boolean indicating if it's enabled. type IntelligencePack struct { Name *string `json:"name,omitempty"` Enabled *bool `json:"enabled,omitempty"` @@ -175,12 +185,26 @@ type LinkedServiceProperties struct { ResourceID *string `json:"resourceId,omitempty"` } +// LinkTarget is metadata for a workspace that isn't linked to an Azure subscription. +type LinkTarget struct { + CustomerID *string `json:"customerId,omitempty"` + DisplayName *string `json:"accountName,omitempty"` + WorkspaceName *string `json:"workspaceName,omitempty"` + Location *string `json:"location,omitempty"` +} + // ListIntelligencePack is type ListIntelligencePack struct { autorest.Response `json:"-"` Value *[]IntelligencePack `json:"value,omitempty"` } +// ListLinkTarget is +type ListLinkTarget struct { + autorest.Response `json:"-"` + Value *[]LinkTarget `json:"value,omitempty"` +} + // ManagementGroup is a management group that is connected to a workspace type ManagementGroup struct { *ManagementGroupProperties `json:"properties,omitempty"` @@ -221,6 +245,111 @@ type Resource struct { Tags *map[string]*string `json:"tags,omitempty"` } +// SavedSearch is value object for saved search results. +type SavedSearch struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Etag *string `json:"etag,omitempty"` + *SavedSearchProperties `json:"properties,omitempty"` +} + +// SavedSearchesListResult is the saved search operation response. +type SavedSearchesListResult struct { + autorest.Response `json:"-"` + Metadata *SearchMetadata `json:"__metadata,omitempty"` + Value *[]SavedSearch `json:"value,omitempty"` +} + +// SavedSearchProperties is value object for saved search results. +type SavedSearchProperties struct { + Category *string `json:"Category,omitempty"` + DisplayName *string `json:"DisplayName,omitempty"` + Query *string `json:"Query,omitempty"` + Version *int64 `json:"Version,omitempty"` + Tags *[]Tag `json:"Tags,omitempty"` +} + +// SearchError is details for a search error. +type SearchError struct { + Type *string `json:"type,omitempty"` + Message *string `json:"message,omitempty"` +} + +// SearchGetSchemaResponse is the get schema operation response. +type SearchGetSchemaResponse struct { + autorest.Response `json:"-"` + Metadata *SearchMetadata `json:"__metadata,omitempty"` + Value *[]SearchSchemaValue `json:"value,omitempty"` +} + +// SearchHighlight is highlight details. +type SearchHighlight struct { + Pre *string `json:"pre,omitempty"` + Post *string `json:"post,omitempty"` +} + +// SearchMetadata is metadata for search results. +type SearchMetadata struct { + SearchID *string `json:"RequestId,omitempty"` + ResultType *string `json:"resultType,omitempty"` + Total *int64 `json:"total,omitempty"` + Top *int64 `json:"top,omitempty"` + ID *string `json:"id,omitempty"` + CoreSummaries *[]CoreSummary `json:"CoreSummaries,omitempty"` + Status *string `json:"Status,omitempty"` + StartTime *date.Time `json:"StartTime,omitempty"` + LastUpdated *date.Time `json:"LastUpdated,omitempty"` + ETag *string `json:"ETag,omitempty"` + Sort *[]SearchSort `json:"sort,omitempty"` + RequestTime *int64 `json:"requestTime,omitempty"` + AggregatedValueField *string `json:"aggregatedValueField,omitempty"` + AggregatedGroupingFields *string `json:"aggregatedGroupingFields,omitempty"` + Sum *int64 `json:"sum,omitempty"` + Max *int64 `json:"max,omitempty"` + Schema *SearchMetadataSchema `json:"schema,omitempty"` +} + +// SearchMetadataSchema is schema metadata for search. +type SearchMetadataSchema struct { + Name *string `json:"name,omitempty"` + Version *int32 `json:"version,omitempty"` +} + +// SearchParameters is parameters specifying the search query and range. +type SearchParameters struct { + Top *int64 `json:"top,omitempty"` + Highlight *SearchHighlight `json:"highlight,omitempty"` + Query *string `json:"query,omitempty"` + Start *date.Time `json:"start,omitempty"` + End *date.Time `json:"end,omitempty"` +} + +// SearchResultsResponse is the get search result operation response. +type SearchResultsResponse struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Metadata *SearchMetadata `json:"__metadata,omitempty"` + Value *[]map[string]interface{} `json:"value,omitempty"` + Error *SearchError `json:"error,omitempty"` +} + +// SearchSchemaValue is value object for schema results. +type SearchSchemaValue struct { + Name *string `json:"name,omitempty"` + DisplayName *string `json:"displayName,omitempty"` + Type *string `json:"type,omitempty"` + Indexed *bool `json:"indexed,omitempty"` + Stored *bool `json:"stored,omitempty"` + Facet *bool `json:"facet,omitempty"` + OwnerType *[]string `json:"ownerType,omitempty"` +} + +// SearchSort is the sort parameters for search. +type SearchSort struct { + Name *string `json:"name,omitempty"` + Order SearchSortEnum `json:"order,omitempty"` +} + // SharedKeys is the shared keys for a workspace. type SharedKeys struct { autorest.Response `json:"-"` @@ -233,6 +362,62 @@ type Sku struct { Name SkuNameEnum `json:"name,omitempty"` } +// StorageAccount is describes a storage account connection. +type StorageAccount struct { + ID *string `json:"id,omitempty"` + Key *string `json:"key,omitempty"` +} + +// StorageInsight is the top level storage insight resource container. +type StorageInsight struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + *StorageInsightProperties `json:"properties,omitempty"` + ETag *string `json:"eTag,omitempty"` +} + +// StorageInsightListResult is the list storage insights operation response. +type StorageInsightListResult struct { + autorest.Response `json:"-"` + Value *[]StorageInsight `json:"value,omitempty"` + OdataNextLink *string `json:"@odata.nextLink,omitempty"` +} + +// StorageInsightListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client StorageInsightListResult) StorageInsightListResultPreparer() (*http.Request, error) { + if client.OdataNextLink == nil || len(to.String(client.OdataNextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.OdataNextLink))) +} + +// StorageInsightProperties is storage insight properties. +type StorageInsightProperties struct { + Containers *[]string `json:"containers,omitempty"` + Tables *[]string `json:"tables,omitempty"` + StorageAccount *StorageAccount `json:"storageAccount,omitempty"` + Status *StorageInsightStatus `json:"status,omitempty"` +} + +// StorageInsightStatus is the status of the storage insight. +type StorageInsightStatus struct { + State StorageInsightState `json:"state,omitempty"` + Description *string `json:"description,omitempty"` +} + +// Tag is a tag of a saved search. +type Tag struct { + Name *string `json:"Name,omitempty"` + Value *string `json:"Value,omitempty"` +} + // UsageMetric is a metric describing the usage of a resource. type UsageMetric struct { Name *MetricName `json:"name,omitempty"` @@ -255,8 +440,7 @@ type Workspace struct { ETag *string `json:"eTag,omitempty"` } -// WorkspaceListManagementGroupsResult is the list workspace managmement groups -// operation response. +// WorkspaceListManagementGroupsResult is the list workspace managmement groups operation response. type WorkspaceListManagementGroupsResult struct { autorest.Response `json:"-"` Value *[]ManagementGroup `json:"value,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/savedsearches.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/savedsearches.go new file mode 100644 index 000000000..ea6cc997b --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/savedsearches.go @@ -0,0 +1,426 @@ +package operationalinsights + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// SavedSearchesClient is the operational Insights Client +type SavedSearchesClient struct { + ManagementClient +} + +// NewSavedSearchesClient creates an instance of the SavedSearchesClient client. +func NewSavedSearchesClient(subscriptionID string) SavedSearchesClient { + return NewSavedSearchesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewSavedSearchesClientWithBaseURI creates an instance of the SavedSearchesClient client. +func NewSavedSearchesClientWithBaseURI(baseURI string, subscriptionID string) SavedSearchesClient { + return SavedSearchesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a saved search for a given workspace. +// +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is log +// Analytics workspace name savedSearchName is the id of the saved search. parameters is the parameters required to +// save a search. +func (client SavedSearchesClient) CreateOrUpdate(resourceGroupName string, workspaceName string, savedSearchName string, parameters SavedSearch) (result SavedSearch, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.SavedSearchProperties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.SavedSearchProperties.Category", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.SavedSearchProperties.DisplayName", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.SavedSearchProperties.Query", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.SavedSearchProperties.Version", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.SavedSearchProperties.Version", Name: validation.InclusiveMaximum, Rule: 1, Chain: nil}, + {Target: "parameters.SavedSearchProperties.Version", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "operationalinsights.SavedSearchesClient", "CreateOrUpdate") + } + + req, err := client.CreateOrUpdatePreparer(resourceGroupName, workspaceName, savedSearchName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.SavedSearchesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "operationalinsights.SavedSearchesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.SavedSearchesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client SavedSearchesClient) CreateOrUpdatePreparer(resourceGroupName string, workspaceName string, savedSearchName string, parameters SavedSearch) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "savedSearchName": autorest.Encode("path", savedSearchName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2015-03-20" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches/{savedSearchName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client SavedSearchesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client SavedSearchesClient) CreateOrUpdateResponder(resp *http.Response) (result SavedSearch, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified saved search in a given workspace. +// +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is log +// Analytics workspace name savedSearchName is name of the saved search. +func (client SavedSearchesClient) Delete(resourceGroupName string, workspaceName string, savedSearchName string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "operationalinsights.SavedSearchesClient", "Delete") + } + + req, err := client.DeletePreparer(resourceGroupName, workspaceName, savedSearchName) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.SavedSearchesClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "operationalinsights.SavedSearchesClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.SavedSearchesClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client SavedSearchesClient) DeletePreparer(resourceGroupName string, workspaceName string, savedSearchName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "savedSearchName": autorest.Encode("path", savedSearchName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2015-03-20" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches/{savedSearchName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client SavedSearchesClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client SavedSearchesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified saved search for a given workspace. +// +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is log +// Analytics workspace name savedSearchName is the id of the saved search. +func (client SavedSearchesClient) Get(resourceGroupName string, workspaceName string, savedSearchName string) (result SavedSearch, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "operationalinsights.SavedSearchesClient", "Get") + } + + req, err := client.GetPreparer(resourceGroupName, workspaceName, savedSearchName) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.SavedSearchesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "operationalinsights.SavedSearchesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.SavedSearchesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client SavedSearchesClient) GetPreparer(resourceGroupName string, workspaceName string, savedSearchName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "savedSearchName": autorest.Encode("path", savedSearchName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2015-03-20" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches/{savedSearchName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client SavedSearchesClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client SavedSearchesClient) GetResponder(resp *http.Response) (result SavedSearch, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetResults gets the results from a saved search for a given workspace. +// +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is log +// Analytics workspace name savedSearchName is the name of the saved search. +func (client SavedSearchesClient) GetResults(resourceGroupName string, workspaceName string, savedSearchName string) (result SearchResultsResponse, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "operationalinsights.SavedSearchesClient", "GetResults") + } + + req, err := client.GetResultsPreparer(resourceGroupName, workspaceName, savedSearchName) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.SavedSearchesClient", "GetResults", nil, "Failure preparing request") + return + } + + resp, err := client.GetResultsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "operationalinsights.SavedSearchesClient", "GetResults", resp, "Failure sending request") + return + } + + result, err = client.GetResultsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.SavedSearchesClient", "GetResults", resp, "Failure responding to request") + } + + return +} + +// GetResultsPreparer prepares the GetResults request. +func (client SavedSearchesClient) GetResultsPreparer(resourceGroupName string, workspaceName string, savedSearchName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "savedSearchName": autorest.Encode("path", savedSearchName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2015-03-20" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches/{savedSearchName}/results", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetResultsSender sends the GetResults request. The method will close the +// http.Response Body if it receives an error. +func (client SavedSearchesClient) GetResultsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResultsResponder handles the response to the GetResults request. The method always +// closes the http.Response Body. +func (client SavedSearchesClient) GetResultsResponder(resp *http.Response) (result SearchResultsResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByWorkspace gets the saved searches for a given Log Analytics Workspace +// +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is log +// Analytics workspace name +func (client SavedSearchesClient) ListByWorkspace(resourceGroupName string, workspaceName string) (result SavedSearchesListResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "operationalinsights.SavedSearchesClient", "ListByWorkspace") + } + + req, err := client.ListByWorkspacePreparer(resourceGroupName, workspaceName) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.SavedSearchesClient", "ListByWorkspace", nil, "Failure preparing request") + return + } + + resp, err := client.ListByWorkspaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "operationalinsights.SavedSearchesClient", "ListByWorkspace", resp, "Failure sending request") + return + } + + result, err = client.ListByWorkspaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.SavedSearchesClient", "ListByWorkspace", resp, "Failure responding to request") + } + + return +} + +// ListByWorkspacePreparer prepares the ListByWorkspace request. +func (client SavedSearchesClient) ListByWorkspacePreparer(resourceGroupName string, workspaceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2015-03-20" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByWorkspaceSender sends the ListByWorkspace request. The method will close the +// http.Response Body if it receives an error. +func (client SavedSearchesClient) ListByWorkspaceSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByWorkspaceResponder handles the response to the ListByWorkspace request. The method always +// closes the http.Response Body. +func (client SavedSearchesClient) ListByWorkspaceResponder(resp *http.Response) (result SavedSearchesListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/storageinsights.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/storageinsights.go new file mode 100644 index 000000000..048608014 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/storageinsights.go @@ -0,0 +1,419 @@ +package operationalinsights + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// StorageInsightsClient is the operational Insights Client +type StorageInsightsClient struct { + ManagementClient +} + +// NewStorageInsightsClient creates an instance of the StorageInsightsClient client. +func NewStorageInsightsClient(subscriptionID string) StorageInsightsClient { + return NewStorageInsightsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewStorageInsightsClientWithBaseURI creates an instance of the StorageInsightsClient client. +func NewStorageInsightsClientWithBaseURI(baseURI string, subscriptionID string) StorageInsightsClient { + return StorageInsightsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate create or update a storage insight. +// +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is log +// Analytics Workspace name that will contain the storageInsightsConfigs resource storageInsightName is name of the +// storageInsightsConfigs resource parameters is the parameters required to create or update a storage insight. +func (client StorageInsightsClient) CreateOrUpdate(resourceGroupName string, workspaceName string, storageInsightName string, parameters StorageInsight) (result StorageInsight, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.StorageInsightProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.StorageInsightProperties.StorageAccount", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.StorageInsightProperties.StorageAccount.ID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.StorageInsightProperties.StorageAccount.Key", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "operationalinsights.StorageInsightsClient", "CreateOrUpdate") + } + + req, err := client.CreateOrUpdatePreparer(resourceGroupName, workspaceName, storageInsightName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.StorageInsightsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "operationalinsights.StorageInsightsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.StorageInsightsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client StorageInsightsClient) CreateOrUpdatePreparer(resourceGroupName string, workspaceName string, storageInsightName string, parameters StorageInsight) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "storageInsightName": autorest.Encode("path", storageInsightName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2015-03-20" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/storageInsightConfigs/{storageInsightName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client StorageInsightsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client StorageInsightsClient) CreateOrUpdateResponder(resp *http.Response) (result StorageInsight, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusCreated, http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a storageInsightsConfigs resource +// +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is log +// Analytics Workspace name that contains the storageInsightsConfigs resource storageInsightName is name of the +// storageInsightsConfigs resource +func (client StorageInsightsClient) Delete(resourceGroupName string, workspaceName string, storageInsightName string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "operationalinsights.StorageInsightsClient", "Delete") + } + + req, err := client.DeletePreparer(resourceGroupName, workspaceName, storageInsightName) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.StorageInsightsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "operationalinsights.StorageInsightsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.StorageInsightsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client StorageInsightsClient) DeletePreparer(resourceGroupName string, workspaceName string, storageInsightName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "storageInsightName": autorest.Encode("path", storageInsightName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2015-03-20" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/storageInsightConfigs/{storageInsightName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client StorageInsightsClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client StorageInsightsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a storage insight instance. +// +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is log +// Analytics Workspace name that contains the storageInsightsConfigs resource storageInsightName is name of the +// storageInsightsConfigs resource +func (client StorageInsightsClient) Get(resourceGroupName string, workspaceName string, storageInsightName string) (result StorageInsight, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "operationalinsights.StorageInsightsClient", "Get") + } + + req, err := client.GetPreparer(resourceGroupName, workspaceName, storageInsightName) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.StorageInsightsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "operationalinsights.StorageInsightsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.StorageInsightsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client StorageInsightsClient) GetPreparer(resourceGroupName string, workspaceName string, storageInsightName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "storageInsightName": autorest.Encode("path", storageInsightName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2015-03-20" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/storageInsightConfigs/{storageInsightName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client StorageInsightsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client StorageInsightsClient) GetResponder(resp *http.Response) (result StorageInsight, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByWorkspace lists the storage insight instances within a workspace +// +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is log +// Analytics Workspace name that will contain the storageInsightsConfigs resource +func (client StorageInsightsClient) ListByWorkspace(resourceGroupName string, workspaceName string) (result StorageInsightListResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "operationalinsights.StorageInsightsClient", "ListByWorkspace") + } + + req, err := client.ListByWorkspacePreparer(resourceGroupName, workspaceName) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.StorageInsightsClient", "ListByWorkspace", nil, "Failure preparing request") + return + } + + resp, err := client.ListByWorkspaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "operationalinsights.StorageInsightsClient", "ListByWorkspace", resp, "Failure sending request") + return + } + + result, err = client.ListByWorkspaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.StorageInsightsClient", "ListByWorkspace", resp, "Failure responding to request") + } + + return +} + +// ListByWorkspacePreparer prepares the ListByWorkspace request. +func (client StorageInsightsClient) ListByWorkspacePreparer(resourceGroupName string, workspaceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2015-03-20" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/storageInsightConfigs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByWorkspaceSender sends the ListByWorkspace request. The method will close the +// http.Response Body if it receives an error. +func (client StorageInsightsClient) ListByWorkspaceSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByWorkspaceResponder handles the response to the ListByWorkspace request. The method always +// closes the http.Response Body. +func (client StorageInsightsClient) ListByWorkspaceResponder(resp *http.Response) (result StorageInsightListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByWorkspaceNextResults retrieves the next set of results, if any. +func (client StorageInsightsClient) ListByWorkspaceNextResults(lastResults StorageInsightListResult) (result StorageInsightListResult, err error) { + req, err := lastResults.StorageInsightListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "operationalinsights.StorageInsightsClient", "ListByWorkspace", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListByWorkspaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "operationalinsights.StorageInsightsClient", "ListByWorkspace", resp, "Failure sending next results request") + } + + result, err = client.ListByWorkspaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.StorageInsightsClient", "ListByWorkspace", resp, "Failure responding to next results request") + } + + return +} + +// ListByWorkspaceComplete gets all elements from the list without paging. +func (client StorageInsightsClient) ListByWorkspaceComplete(resourceGroupName string, workspaceName string, cancel <-chan struct{}) (<-chan StorageInsight, <-chan error) { + resultChan := make(chan StorageInsight) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByWorkspace(resourceGroupName, workspaceName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.OdataNextLink != nil { + list, err = client.ListByWorkspaceNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/version.go index ee8f152eb..cce635f1b 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/version.go @@ -14,16 +14,15 @@ package operationalinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-operationalinsights/2015-11-01-preview" + return "Azure-SDK-For-Go/v11.0.0-beta arm-operationalinsights/" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/workspaces.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/workspaces.go index be4d9c1f7..f67542e8e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/workspaces.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationalinsights/workspaces.go @@ -14,9 +14,8 @@ package operationalinsights // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// WorkspacesClient is the azure Log Analytics API reference +// WorkspacesClient is the operational Insights Client type WorkspacesClient struct { ManagementClient } @@ -35,20 +34,16 @@ func NewWorkspacesClient(subscriptionID string) WorkspacesClient { return NewWorkspacesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewWorkspacesClientWithBaseURI creates an instance of the WorkspacesClient -// client. +// NewWorkspacesClientWithBaseURI creates an instance of the WorkspacesClient client. func NewWorkspacesClientWithBaseURI(baseURI string, subscriptionID string) WorkspacesClient { return WorkspacesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate create or update a workspace. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// CreateOrUpdate create or update a workspace. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the resource group name of the workspace. workspaceName -// is the name of the workspace. parameters is the parameters required to -// create or update a workspace. +// resourceGroupName is the resource group name of the workspace. workspaceName is the name of the workspace. +// parameters is the parameters required to create or update a workspace. func (client WorkspacesClient) CreateOrUpdate(resourceGroupName string, workspaceName string, parameters Workspace, cancel <-chan struct{}) (<-chan Workspace, <-chan error) { resultChan := make(chan Workspace, 1) errChan := make(chan error, 1) @@ -74,8 +69,10 @@ func (client WorkspacesClient) CreateOrUpdate(resourceGroupName string, workspac var err error var result Workspace defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -146,8 +143,7 @@ func (client WorkspacesClient) CreateOrUpdateResponder(resp *http.Response) (res // Delete deletes a workspace instance. // -// resourceGroupName is the resource group name of the workspace. workspaceName -// is name of the Log Analytics Workspace. +// resourceGroupName is the resource group name of the workspace. workspaceName is name of the Log Analytics Workspace. func (client WorkspacesClient) Delete(resourceGroupName string, workspaceName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, workspaceName) if err != nil { @@ -211,9 +207,8 @@ func (client WorkspacesClient) DeleteResponder(resp *http.Response) (result auto // DisableIntelligencePack disables an intelligence pack for a given workspace. // -// resourceGroupName is the name of the resource group to get. The name is case -// insensitive. workspaceName is name of the Log Analytics Workspace. -// intelligencePackName is the name of the intelligence pack to be disabled. +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is name of +// the Log Analytics Workspace. intelligencePackName is the name of the intelligence pack to be disabled. func (client WorkspacesClient) DisableIntelligencePack(resourceGroupName string, workspaceName string, intelligencePackName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -286,9 +281,8 @@ func (client WorkspacesClient) DisableIntelligencePackResponder(resp *http.Respo // EnableIntelligencePack enables an intelligence pack for a given workspace. // -// resourceGroupName is the name of the resource group to get. The name is case -// insensitive. workspaceName is name of the Log Analytics Workspace. -// intelligencePackName is the name of the intelligence pack to be enabled. +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is name of +// the Log Analytics Workspace. intelligencePackName is the name of the intelligence pack to be enabled. func (client WorkspacesClient) EnableIntelligencePack(resourceGroupName string, workspaceName string, intelligencePackName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -361,8 +355,7 @@ func (client WorkspacesClient) EnableIntelligencePackResponder(resp *http.Respon // Get gets a workspace instance. // -// resourceGroupName is the resource group name of the workspace. workspaceName -// is name of the Log Analytics Workspace. +// resourceGroupName is the resource group name of the workspace. workspaceName is name of the Log Analytics Workspace. func (client WorkspacesClient) Get(resourceGroupName string, workspaceName string) (result Workspace, err error) { req, err := client.GetPreparer(resourceGroupName, workspaceName) if err != nil { @@ -425,10 +418,183 @@ func (client WorkspacesClient) GetResponder(resp *http.Response) (result Workspa return } +// GetSchema gets the schema for a given workspace. +// +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is log +// Analytics workspace name +func (client WorkspacesClient) GetSchema(resourceGroupName string, workspaceName string) (result SearchGetSchemaResponse, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "operationalinsights.WorkspacesClient", "GetSchema") + } + + req, err := client.GetSchemaPreparer(resourceGroupName, workspaceName) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.WorkspacesClient", "GetSchema", nil, "Failure preparing request") + return + } + + resp, err := client.GetSchemaSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "operationalinsights.WorkspacesClient", "GetSchema", resp, "Failure sending request") + return + } + + result, err = client.GetSchemaResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.WorkspacesClient", "GetSchema", resp, "Failure responding to request") + } + + return +} + +// GetSchemaPreparer prepares the GetSchema request. +func (client WorkspacesClient) GetSchemaPreparer(resourceGroupName string, workspaceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2015-03-20" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/schema", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSchemaSender sends the GetSchema request. The method will close the +// http.Response Body if it receives an error. +func (client WorkspacesClient) GetSchemaSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetSchemaResponder handles the response to the GetSchema request. The method always +// closes the http.Response Body. +func (client WorkspacesClient) GetSchemaResponder(resp *http.Response) (result SearchGetSchemaResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSearchResults submit a search for a given workspace. The response will contain an id to track the search. User +// can use the id to poll the search status and get the full search result later if the search takes long time to +// finish. This method may poll for completion. Polling can be canceled by passing the cancel channel argument. The +// channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is log +// Analytics workspace name parameters is the parameters required to execute a search query. +func (client WorkspacesClient) GetSearchResults(resourceGroupName string, workspaceName string, parameters SearchParameters, cancel <-chan struct{}) (<-chan SearchResultsResponse, <-chan error) { + resultChan := make(chan SearchResultsResponse, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Query", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "operationalinsights.WorkspacesClient", "GetSearchResults") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result SearchResultsResponse + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.GetSearchResultsPreparer(resourceGroupName, workspaceName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.WorkspacesClient", "GetSearchResults", nil, "Failure preparing request") + return + } + + resp, err := client.GetSearchResultsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "operationalinsights.WorkspacesClient", "GetSearchResults", resp, "Failure sending request") + return + } + + result, err = client.GetSearchResultsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.WorkspacesClient", "GetSearchResults", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// GetSearchResultsPreparer prepares the GetSearchResults request. +func (client WorkspacesClient) GetSearchResultsPreparer(resourceGroupName string, workspaceName string, parameters SearchParameters, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2015-03-20" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/search", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// GetSearchResultsSender sends the GetSearchResults request. The method will close the +// http.Response Body if it receives an error. +func (client WorkspacesClient) GetSearchResultsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// GetSearchResultsResponder handles the response to the GetSearchResults request. The method always +// closes the http.Response Body. +func (client WorkspacesClient) GetSearchResultsResponder(resp *http.Response) (result SearchResultsResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // GetSharedKeys gets the shared keys for a workspace. // -// resourceGroupName is the name of the resource group to get. The name is case -// insensitive. workspaceName is name of the Log Analytics Workspace. +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is name of +// the Log Analytics Workspace. func (client WorkspacesClient) GetSharedKeys(resourceGroupName string, workspaceName string) (result SharedKeys, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -562,8 +728,7 @@ func (client WorkspacesClient) ListResponder(resp *http.Response) (result Worksp // ListByResourceGroup gets workspaces in a resource group. // -// resourceGroupName is the name of the resource group to get. The name is case -// insensitive. +// resourceGroupName is the name of the resource group to get. The name is case insensitive. func (client WorkspacesClient) ListByResourceGroup(resourceGroupName string) (result WorkspaceListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -633,11 +798,11 @@ func (client WorkspacesClient) ListByResourceGroupResponder(resp *http.Response) return } -// ListIntelligencePacks lists all the intelligence packs possible and whether -// they are enabled or disabled for a given workspace. +// ListIntelligencePacks lists all the intelligence packs possible and whether they are enabled or disabled for a given +// workspace. // -// resourceGroupName is the name of the resource group to get. The name is case -// insensitive. workspaceName is name of the Log Analytics Workspace. +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is name of +// the Log Analytics Workspace. func (client WorkspacesClient) ListIntelligencePacks(resourceGroupName string, workspaceName string) (result ListIntelligencePack, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -708,11 +873,72 @@ func (client WorkspacesClient) ListIntelligencePacksResponder(resp *http.Respons return } -// ListManagementGroups gets a list of management groups connected to a -// workspace. +// ListLinkTargets get a list of workspaces which the current user has administrator privileges and are not associated +// with an Azure Subscription. The subscriptionId parameter in the Url is ignored. +func (client WorkspacesClient) ListLinkTargets() (result ListLinkTarget, err error) { + req, err := client.ListLinkTargetsPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.WorkspacesClient", "ListLinkTargets", nil, "Failure preparing request") + return + } + + resp, err := client.ListLinkTargetsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "operationalinsights.WorkspacesClient", "ListLinkTargets", resp, "Failure sending request") + return + } + + result, err = client.ListLinkTargetsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.WorkspacesClient", "ListLinkTargets", resp, "Failure responding to request") + } + + return +} + +// ListLinkTargetsPreparer prepares the ListLinkTargets request. +func (client WorkspacesClient) ListLinkTargetsPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-03-20" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.OperationalInsights/linkTargets", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListLinkTargetsSender sends the ListLinkTargets request. The method will close the +// http.Response Body if it receives an error. +func (client WorkspacesClient) ListLinkTargetsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListLinkTargetsResponder handles the response to the ListLinkTargets request. The method always +// closes the http.Response Body. +func (client WorkspacesClient) ListLinkTargetsResponder(resp *http.Response) (result ListLinkTarget, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListManagementGroups gets a list of management groups connected to a workspace. // -// resourceGroupName is the name of the resource group to get. The name is case -// insensitive. workspaceName is the name of the workspace. +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is the name +// of the workspace. func (client WorkspacesClient) ListManagementGroups(resourceGroupName string, workspaceName string) (result WorkspaceListManagementGroupsResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -785,8 +1011,8 @@ func (client WorkspacesClient) ListManagementGroupsResponder(resp *http.Response // ListUsages gets a list of usage metrics for a workspace. // -// resourceGroupName is the name of the resource group to get. The name is case -// insensitive. workspaceName is the name of the workspace. +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is the name +// of the workspace. func (client WorkspacesClient) ListUsages(resourceGroupName string, workspaceName string) (result WorkspaceListUsagesResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -856,3 +1082,79 @@ func (client WorkspacesClient) ListUsagesResponder(resp *http.Response) (result result.Response = autorest.Response{Response: resp} return } + +// UpdateSearchResults gets updated search results for a given search query. +// +// resourceGroupName is the name of the resource group to get. The name is case insensitive. workspaceName is log +// Analytics workspace name ID is the id of the search that will have results updated. You can get the id from the +// response of the GetResults call. +func (client WorkspacesClient) UpdateSearchResults(resourceGroupName string, workspaceName string, ID string) (result SearchResultsResponse, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "operationalinsights.WorkspacesClient", "UpdateSearchResults") + } + + req, err := client.UpdateSearchResultsPreparer(resourceGroupName, workspaceName, ID) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.WorkspacesClient", "UpdateSearchResults", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSearchResultsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "operationalinsights.WorkspacesClient", "UpdateSearchResults", resp, "Failure sending request") + return + } + + result, err = client.UpdateSearchResultsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "operationalinsights.WorkspacesClient", "UpdateSearchResults", resp, "Failure responding to request") + } + + return +} + +// UpdateSearchResultsPreparer prepares the UpdateSearchResults request. +func (client WorkspacesClient) UpdateSearchResultsPreparer(resourceGroupName string, workspaceName string, ID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "id": autorest.Encode("path", ID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2015-03-20" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/search/{id}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// UpdateSearchResultsSender sends the UpdateSearchResults request. The method will close the +// http.Response Body if it receives an error. +func (client WorkspacesClient) UpdateSearchResultsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// UpdateSearchResultsResponder handles the response to the UpdateSearchResults request. The method always +// closes the http.Response Body. +func (client WorkspacesClient) UpdateSearchResultsResponder(resp *http.Response) (result SearchResultsResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/operationsmanagement/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationsmanagement/client.go new file mode 100644 index 000000000..97cb03153 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationsmanagement/client.go @@ -0,0 +1,53 @@ +// Package operationsmanagement implements the Azure ARM Operationsmanagement service API version 2015-11-01-preview. +// +// Operations Management Client +package operationsmanagement + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +const ( + // DefaultBaseURI is the default URI used for the service Operationsmanagement + DefaultBaseURI = "https://management.azure.com" +) + +// ManagementClient is the base client for Operationsmanagement. +type ManagementClient struct { + autorest.Client + BaseURI string + SubscriptionID string + SolutionName string +} + +// New creates an instance of the ManagementClient client. +func New(subscriptionID string, solutionName string) ManagementClient { + return NewWithBaseURI(DefaultBaseURI, subscriptionID, solutionName) +} + +// NewWithBaseURI creates an instance of the ManagementClient client. +func NewWithBaseURI(baseURI string, subscriptionID string, solutionName string) ManagementClient { + return ManagementClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + SubscriptionID: subscriptionID, + SolutionName: solutionName, + } +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/operationsmanagement/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationsmanagement/models.go new file mode 100644 index 000000000..2e6b1a44a --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationsmanagement/models.go @@ -0,0 +1,85 @@ +package operationsmanagement + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +// CodeMessageError is the error body contract. +type CodeMessageError struct { + Error *CodeMessageErrorError `json:"error,omitempty"` +} + +// CodeMessageErrorError is the error details for a failed request. +type CodeMessageErrorError struct { + Code *string `json:"code,omitempty"` + Message *string `json:"message,omitempty"` +} + +// Operation is supported operation of OperationsManagement resource provider. +type Operation struct { + Name *string `json:"name,omitempty"` + Display *OperationDisplay `json:"display,omitempty"` +} + +// OperationDisplay is display metadata associated with the operation. +type OperationDisplay struct { + Provider *string `json:"provider,omitempty"` + Resource *string `json:"resource,omitempty"` + Operation *string `json:"operation,omitempty"` +} + +// OperationListResult is result of the request to list solution operations. +type OperationListResult struct { + autorest.Response `json:"-"` + Value *[]Operation `json:"value,omitempty"` +} + +// Solution is the container for solution. +type Solution struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Plan *SolutionPlan `json:"plan,omitempty"` + Properties *SolutionProperties `json:"properties,omitempty"` +} + +// SolutionPlan is plan for solution object supported by the OperationsManagement resource provider. +type SolutionPlan struct { + Name *string `json:"name,omitempty"` + Publisher *string `json:"publisher,omitempty"` + PromotionCode *string `json:"promotionCode,omitempty"` + Product *string `json:"product,omitempty"` +} + +// SolutionProperties is solution properties supported by the OperationsManagement resource provider. +type SolutionProperties struct { + WorkspaceResourceID *string `json:"workspaceResourceId,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + ContainedResources *[]string `json:"containedResources,omitempty"` + ReferencedResources *[]string `json:"referencedResources,omitempty"` +} + +// SolutionPropertiesList is the list of solution response +type SolutionPropertiesList struct { + autorest.Response `json:"-"` + Value *[]Solution `json:"value,omitempty"` +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/operationsmanagement/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationsmanagement/operations.go new file mode 100644 index 000000000..6697e3e27 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationsmanagement/operations.go @@ -0,0 +1,96 @@ +package operationsmanagement + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// OperationsClient is the operations Management Client +type OperationsClient struct { + ManagementClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string, solutionName string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID, solutionName) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string, solutionName string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID, solutionName)} +} + +// List lists all of the available OperationsManagement Rest API operations. +func (client OperationsClient) List() (result OperationListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "operationsmanagement.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "operationsmanagement.OperationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "operationsmanagement.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer() (*http.Request, error) { + const APIVersion = "2015-11-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.OperationsManagement/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/operationsmanagement/solutions.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationsmanagement/solutions.go new file mode 100644 index 000000000..0af741f1f --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationsmanagement/solutions.go @@ -0,0 +1,397 @@ +package operationsmanagement + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// SolutionsClient is the operations Management Client +type SolutionsClient struct { + ManagementClient +} + +// NewSolutionsClient creates an instance of the SolutionsClient client. +func NewSolutionsClient(subscriptionID string, solutionName string) SolutionsClient { + return NewSolutionsClientWithBaseURI(DefaultBaseURI, subscriptionID, solutionName) +} + +// NewSolutionsClientWithBaseURI creates an instance of the SolutionsClient client. +func NewSolutionsClientWithBaseURI(baseURI string, subscriptionID string, solutionName string) SolutionsClient { + return SolutionsClient{NewWithBaseURI(baseURI, subscriptionID, solutionName)} +} + +// CreateOrUpdate creates or updates the Solution. +// +// resourceGroupName is the name of the resource group to get. The name is case insensitive. parameters is the +// parameters required to create OMS Solution. +func (client SolutionsClient) CreateOrUpdate(resourceGroupName string, parameters Solution) (result Solution, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Properties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.WorkspaceResourceID", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "operationsmanagement.SolutionsClient", "CreateOrUpdate") + } + + req, err := client.CreateOrUpdatePreparer(resourceGroupName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "operationsmanagement.SolutionsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "operationsmanagement.SolutionsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "operationsmanagement.SolutionsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client SolutionsClient) CreateOrUpdatePreparer(resourceGroupName string, parameters Solution) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "solutionName": autorest.Encode("path", client.SolutionName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-11-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/solutions/{solutionName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client SolutionsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client SolutionsClient) CreateOrUpdateResponder(resp *http.Response) (result Solution, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the solution in the subscription. +// +// resourceGroupName is the name of the resource group to get. The name is case insensitive. +func (client SolutionsClient) Delete(resourceGroupName string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "operationsmanagement.SolutionsClient", "Delete") + } + + req, err := client.DeletePreparer(resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "operationsmanagement.SolutionsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "operationsmanagement.SolutionsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "operationsmanagement.SolutionsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client SolutionsClient) DeletePreparer(resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "solutionName": autorest.Encode("path", client.SolutionName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-11-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/solutions/{solutionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client SolutionsClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client SolutionsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get retrieves the user solution. +// +// resourceGroupName is the name of the resource group to get. The name is case insensitive. +func (client SolutionsClient) Get(resourceGroupName string) (result Solution, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "operationsmanagement.SolutionsClient", "Get") + } + + req, err := client.GetPreparer(resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "operationsmanagement.SolutionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "operationsmanagement.SolutionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "operationsmanagement.SolutionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client SolutionsClient) GetPreparer(resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "solutionName": autorest.Encode("path", client.SolutionName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-11-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/solutions/{solutionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client SolutionsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client SolutionsClient) GetResponder(resp *http.Response) (result Solution, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroup retrieves the solution list. It will retrieve both first party and third party solutions +// +// resourceGroupName is the name of the resource group to get. The name is case insensitive. +func (client SolutionsClient) ListByResourceGroup(resourceGroupName string) (result SolutionPropertiesList, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "operationsmanagement.SolutionsClient", "ListByResourceGroup") + } + + req, err := client.ListByResourceGroupPreparer(resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "operationsmanagement.SolutionsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "operationsmanagement.SolutionsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "operationsmanagement.SolutionsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client SolutionsClient) ListByResourceGroupPreparer(resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-11-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/solutions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client SolutionsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client SolutionsClient) ListByResourceGroupResponder(resp *http.Response) (result SolutionPropertiesList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListBySubscription retrieves the solution list. It will retrieve both first party and third party solutions +func (client SolutionsClient) ListBySubscription() (result SolutionPropertiesList, err error) { + req, err := client.ListBySubscriptionPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "operationsmanagement.SolutionsClient", "ListBySubscription", nil, "Failure preparing request") + return + } + + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "operationsmanagement.SolutionsClient", "ListBySubscription", resp, "Failure sending request") + return + } + + result, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "operationsmanagement.SolutionsClient", "ListBySubscription", resp, "Failure responding to request") + } + + return +} + +// ListBySubscriptionPreparer prepares the ListBySubscription request. +func (client SolutionsClient) ListBySubscriptionPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-11-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.OperationsManagement/solutions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListBySubscriptionSender sends the ListBySubscription request. The method will close the +// http.Response Body if it receives an error. +func (client SolutionsClient) ListBySubscriptionSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListBySubscriptionResponder handles the response to the ListBySubscription request. The method always +// closes the http.Response Body. +func (client SolutionsClient) ListBySubscriptionResponder(resp *http.Response) (result SolutionPropertiesList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/operationsmanagement/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationsmanagement/version.go new file mode 100644 index 000000000..1d8cb8033 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/operationsmanagement/version.go @@ -0,0 +1,28 @@ +package operationsmanagement + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/v11.0.0-beta arm-operationsmanagement/2015-11-01-preview" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return "v11.0.0-beta" +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/client.go new file mode 100644 index 000000000..5cdc9318f --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/client.go @@ -0,0 +1,52 @@ +// Package postgresql implements the Azure ARM Postgresql service API version 2017-04-30-preview. +// +// The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL +// resources including servers, databases, firewall rules, log files and configurations. +package postgresql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +const ( + // DefaultBaseURI is the default URI used for the service Postgresql + DefaultBaseURI = "https://management.azure.com" +) + +// ManagementClient is the base client for Postgresql. +type ManagementClient struct { + autorest.Client + BaseURI string + SubscriptionID string +} + +// New creates an instance of the ManagementClient client. +func New(subscriptionID string) ManagementClient { + return NewWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWithBaseURI creates an instance of the ManagementClient client. +func NewWithBaseURI(baseURI string, subscriptionID string) ManagementClient { + return ManagementClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + SubscriptionID: subscriptionID, + } +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/configurations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/configurations.go new file mode 100644 index 000000000..168e0ebc1 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/configurations.go @@ -0,0 +1,261 @@ +package postgresql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// ConfigurationsClient is the the Microsoft Azure management API provides create, read, update, and delete +// functionality for Azure PostgreSQL resources including servers, databases, firewall rules, log files and +// configurations. +type ConfigurationsClient struct { + ManagementClient +} + +// NewConfigurationsClient creates an instance of the ConfigurationsClient client. +func NewConfigurationsClient(subscriptionID string) ConfigurationsClient { + return NewConfigurationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewConfigurationsClientWithBaseURI creates an instance of the ConfigurationsClient client. +func NewConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) ConfigurationsClient { + return ConfigurationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate updates a configuration of a server. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. configurationName is the name of the +// server configuration. parameters is the required parameters for updating a server configuration. +func (client ConfigurationsClient) CreateOrUpdate(resourceGroupName string, serverName string, configurationName string, parameters Configuration, cancel <-chan struct{}) (<-chan Configuration, <-chan error) { + resultChan := make(chan Configuration, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result Configuration + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, configurationName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ConfigurationsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "postgresql.ConfigurationsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ConfigurationsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ConfigurationsClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, configurationName string, parameters Configuration, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "configurationName": autorest.Encode("path", configurationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations/{configurationName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ConfigurationsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ConfigurationsClient) CreateOrUpdateResponder(resp *http.Response) (result Configuration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets information about a configuration of server. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. configurationName is the name of the +// server configuration. +func (client ConfigurationsClient) Get(resourceGroupName string, serverName string, configurationName string) (result Configuration, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, configurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ConfigurationsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "postgresql.ConfigurationsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ConfigurationsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ConfigurationsClient) GetPreparer(resourceGroupName string, serverName string, configurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "configurationName": autorest.Encode("path", configurationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations/{configurationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ConfigurationsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ConfigurationsClient) GetResponder(resp *http.Response) (result Configuration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer list all the configurations in a given server. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. +func (client ConfigurationsClient) ListByServer(resourceGroupName string, serverName string) (result ConfigurationListResult, err error) { + req, err := client.ListByServerPreparer(resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ConfigurationsClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "postgresql.ConfigurationsClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ConfigurationsClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client ConfigurationsClient) ListByServerPreparer(resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client ConfigurationsClient) ListByServerSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client ConfigurationsClient) ListByServerResponder(resp *http.Response) (result ConfigurationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/databases.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/databases.go new file mode 100644 index 000000000..6f8bcb196 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/databases.go @@ -0,0 +1,344 @@ +package postgresql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// DatabasesClient is the the Microsoft Azure management API provides create, read, update, and delete functionality +// for Azure PostgreSQL resources including servers, databases, firewall rules, log files and configurations. +type DatabasesClient struct { + ManagementClient +} + +// NewDatabasesClient creates an instance of the DatabasesClient client. +func NewDatabasesClient(subscriptionID string) DatabasesClient { + return NewDatabasesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDatabasesClientWithBaseURI creates an instance of the DatabasesClient client. +func NewDatabasesClientWithBaseURI(baseURI string, subscriptionID string) DatabasesClient { + return DatabasesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a new database or updates an existing database. This method may poll for completion. Polling +// can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database. parameters is the required parameters for creating or updating a database. +func (client DatabasesClient) CreateOrUpdate(resourceGroupName string, serverName string, databaseName string, parameters Database, cancel <-chan struct{}) (<-chan Database, <-chan error) { + resultChan := make(chan Database, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result Database + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, databaseName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.DatabasesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "postgresql.DatabasesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.DatabasesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DatabasesClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, databaseName string, parameters Database, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/{databaseName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DatabasesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DatabasesClient) CreateOrUpdateResponder(resp *http.Response) (result Database, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a database. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database. +func (client DatabasesClient) Delete(resourceGroupName string, serverName string, databaseName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, serverName, databaseName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.DatabasesClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "postgresql.DatabasesClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.DatabasesClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// DeletePreparer prepares the Delete request. +func (client DatabasesClient) DeletePreparer(resourceGroupName string, serverName string, databaseName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/{databaseName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client DatabasesClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client DatabasesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets information about a database. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database. +func (client DatabasesClient) Get(resourceGroupName string, serverName string, databaseName string) (result Database, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.DatabasesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "postgresql.DatabasesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.DatabasesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DatabasesClient) GetPreparer(resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/{databaseName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DatabasesClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DatabasesClient) GetResponder(resp *http.Response) (result Database, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer list all the databases in a given server. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. +func (client DatabasesClient) ListByServer(resourceGroupName string, serverName string) (result DatabaseListResult, err error) { + req, err := client.ListByServerPreparer(resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.DatabasesClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "postgresql.DatabasesClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.DatabasesClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client DatabasesClient) ListByServerPreparer(resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client DatabasesClient) ListByServerSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client DatabasesClient) ListByServerResponder(resp *http.Response) (result DatabaseListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/firewallrules.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/firewallrules.go new file mode 100644 index 000000000..88cf63e23 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/firewallrules.go @@ -0,0 +1,360 @@ +package postgresql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// FirewallRulesClient is the the Microsoft Azure management API provides create, read, update, and delete +// functionality for Azure PostgreSQL resources including servers, databases, firewall rules, log files and +// configurations. +type FirewallRulesClient struct { + ManagementClient +} + +// NewFirewallRulesClient creates an instance of the FirewallRulesClient client. +func NewFirewallRulesClient(subscriptionID string) FirewallRulesClient { + return NewFirewallRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewFirewallRulesClientWithBaseURI creates an instance of the FirewallRulesClient client. +func NewFirewallRulesClientWithBaseURI(baseURI string, subscriptionID string) FirewallRulesClient { + return FirewallRulesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a new firewall rule or updates an existing firewall rule. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. firewallRuleName is the name of the +// server firewall rule. parameters is the required parameters for creating or updating a firewall rule. +func (client FirewallRulesClient) CreateOrUpdate(resourceGroupName string, serverName string, firewallRuleName string, parameters FirewallRule, cancel <-chan struct{}) (<-chan FirewallRule, <-chan error) { + resultChan := make(chan FirewallRule, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.FirewallRuleProperties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.FirewallRuleProperties.StartIPAddress", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.FirewallRuleProperties.StartIPAddress", Name: validation.Pattern, Rule: `^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$`, Chain: nil}}}, + {Target: "parameters.FirewallRuleProperties.EndIPAddress", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.FirewallRuleProperties.EndIPAddress", Name: validation.Pattern, Rule: `^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$`, Chain: nil}}}, + }}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "postgresql.FirewallRulesClient", "CreateOrUpdate") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result FirewallRule + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, firewallRuleName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.FirewallRulesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "postgresql.FirewallRulesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.FirewallRulesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client FirewallRulesClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, firewallRuleName string, parameters FirewallRule, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "firewallRuleName": autorest.Encode("path", firewallRuleName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallRulesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client FirewallRulesClient) CreateOrUpdateResponder(resp *http.Response) (result FirewallRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a server firewall rule. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. firewallRuleName is the name of the +// server firewall rule. +func (client FirewallRulesClient) Delete(resourceGroupName string, serverName string, firewallRuleName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, serverName, firewallRuleName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.FirewallRulesClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "postgresql.FirewallRulesClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.FirewallRulesClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// DeletePreparer prepares the Delete request. +func (client FirewallRulesClient) DeletePreparer(resourceGroupName string, serverName string, firewallRuleName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "firewallRuleName": autorest.Encode("path", firewallRuleName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallRulesClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client FirewallRulesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets information about a server firewall rule. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. firewallRuleName is the name of the +// server firewall rule. +func (client FirewallRulesClient) Get(resourceGroupName string, serverName string, firewallRuleName string) (result FirewallRule, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, firewallRuleName) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.FirewallRulesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "postgresql.FirewallRulesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.FirewallRulesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client FirewallRulesClient) GetPreparer(resourceGroupName string, serverName string, firewallRuleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "firewallRuleName": autorest.Encode("path", firewallRuleName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallRulesClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client FirewallRulesClient) GetResponder(resp *http.Response) (result FirewallRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer list all the firewall rules in a given server. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. +func (client FirewallRulesClient) ListByServer(resourceGroupName string, serverName string) (result FirewallRuleListResult, err error) { + req, err := client.ListByServerPreparer(resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.FirewallRulesClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "postgresql.FirewallRulesClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.FirewallRulesClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client FirewallRulesClient) ListByServerPreparer(resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallRulesClient) ListByServerSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client FirewallRulesClient) ListByServerResponder(resp *http.Response) (result FirewallRuleListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/logfiles.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/logfiles.go new file mode 100644 index 000000000..6959aad09 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/logfiles.go @@ -0,0 +1,106 @@ +package postgresql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// LogFilesClient is the the Microsoft Azure management API provides create, read, update, and delete functionality for +// Azure PostgreSQL resources including servers, databases, firewall rules, log files and configurations. +type LogFilesClient struct { + ManagementClient +} + +// NewLogFilesClient creates an instance of the LogFilesClient client. +func NewLogFilesClient(subscriptionID string) LogFilesClient { + return NewLogFilesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewLogFilesClientWithBaseURI creates an instance of the LogFilesClient client. +func NewLogFilesClientWithBaseURI(baseURI string, subscriptionID string) LogFilesClient { + return LogFilesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListByServer list all the log files in a given server. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. +func (client LogFilesClient) ListByServer(resourceGroupName string, serverName string) (result LogFileListResult, err error) { + req, err := client.ListByServerPreparer(resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.LogFilesClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "postgresql.LogFilesClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.LogFilesClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client LogFilesClient) ListByServerPreparer(resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/logFiles", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client LogFilesClient) ListByServerSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client LogFilesClient) ListByServerResponder(resp *http.Response) (result LogFileListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/models.go new file mode 100644 index 000000000..1901c3c56 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/models.go @@ -0,0 +1,436 @@ +package postgresql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "encoding/json" + "errors" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/date" +) + +// CreateMode enumerates the values for create mode. +type CreateMode string + +const ( + // CreateModeDefault specifies the create mode default state for create mode. + CreateModeDefault CreateMode = "Default" + // CreateModePointInTimeRestore specifies the create mode point in time restore state for create mode. + CreateModePointInTimeRestore CreateMode = "PointInTimeRestore" +) + +// OperationOrigin enumerates the values for operation origin. +type OperationOrigin string + +const ( + // NotSpecified specifies the not specified state for operation origin. + NotSpecified OperationOrigin = "NotSpecified" + // System specifies the system state for operation origin. + System OperationOrigin = "system" + // User specifies the user state for operation origin. + User OperationOrigin = "user" +) + +// ServerState enumerates the values for server state. +type ServerState string + +const ( + // Disabled specifies the disabled state for server state. + Disabled ServerState = "Disabled" + // Dropping specifies the dropping state for server state. + Dropping ServerState = "Dropping" + // Ready specifies the ready state for server state. + Ready ServerState = "Ready" +) + +// ServerVersion enumerates the values for server version. +type ServerVersion string + +const ( + // NineFullStopFive specifies the nine full stop five state for server version. + NineFullStopFive ServerVersion = "9.5" + // NineFullStopSix specifies the nine full stop six state for server version. + NineFullStopSix ServerVersion = "9.6" +) + +// SkuTier enumerates the values for sku tier. +type SkuTier string + +const ( + // Basic specifies the basic state for sku tier. + Basic SkuTier = "Basic" + // Standard specifies the standard state for sku tier. + Standard SkuTier = "Standard" +) + +// SslEnforcementEnum enumerates the values for ssl enforcement enum. +type SslEnforcementEnum string + +const ( + // SslEnforcementEnumDisabled specifies the ssl enforcement enum disabled state for ssl enforcement enum. + SslEnforcementEnumDisabled SslEnforcementEnum = "Disabled" + // SslEnforcementEnumEnabled specifies the ssl enforcement enum enabled state for ssl enforcement enum. + SslEnforcementEnumEnabled SslEnforcementEnum = "Enabled" +) + +// Configuration is represents a Configuration. +type Configuration struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *ConfigurationProperties `json:"properties,omitempty"` +} + +// ConfigurationListResult is a list of server configurations. +type ConfigurationListResult struct { + autorest.Response `json:"-"` + Value *[]Configuration `json:"value,omitempty"` +} + +// ConfigurationProperties is the properties of a configuration. +type ConfigurationProperties struct { + Value *string `json:"value,omitempty"` + Description *string `json:"description,omitempty"` + DefaultValue *string `json:"defaultValue,omitempty"` + DataType *string `json:"dataType,omitempty"` + AllowedValues *string `json:"allowedValues,omitempty"` + Source *string `json:"source,omitempty"` +} + +// Database is represents a Database. +type Database struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *DatabaseProperties `json:"properties,omitempty"` +} + +// DatabaseListResult is a List of databases. +type DatabaseListResult struct { + autorest.Response `json:"-"` + Value *[]Database `json:"value,omitempty"` +} + +// DatabaseProperties is the properties of a database. +type DatabaseProperties struct { + Charset *string `json:"charset,omitempty"` + Collation *string `json:"collation,omitempty"` +} + +// FirewallRule is represents a server firewall rule. +type FirewallRule struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *FirewallRuleProperties `json:"properties,omitempty"` +} + +// FirewallRuleListResult is a list of firewall rules. +type FirewallRuleListResult struct { + autorest.Response `json:"-"` + Value *[]FirewallRule `json:"value,omitempty"` +} + +// FirewallRuleProperties is the properties of a server firewall rule. +type FirewallRuleProperties struct { + StartIPAddress *string `json:"startIpAddress,omitempty"` + EndIPAddress *string `json:"endIpAddress,omitempty"` +} + +// LogFile is represents a log file. +type LogFile struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *LogFileProperties `json:"properties,omitempty"` +} + +// LogFileListResult is a list of log files. +type LogFileListResult struct { + autorest.Response `json:"-"` + Value *[]LogFile `json:"value,omitempty"` +} + +// LogFileProperties is the properties of a log file. +type LogFileProperties struct { + Name *string `json:"name,omitempty"` + SizeInKB *int64 `json:"sizeInKB,omitempty"` + CreatedTime *date.Time `json:"createdTime,omitempty"` + LastModifiedTime *date.Time `json:"lastModifiedTime,omitempty"` + Type *string `json:"type,omitempty"` + URL *string `json:"url,omitempty"` +} + +// Operation is REST API operation definition. +type Operation struct { + Name *string `json:"name,omitempty"` + Display *OperationDisplay `json:"display,omitempty"` + Origin OperationOrigin `json:"origin,omitempty"` + Properties *map[string]*map[string]interface{} `json:"properties,omitempty"` +} + +// OperationDisplay is display metadata associated with the operation. +type OperationDisplay struct { + Provider *string `json:"provider,omitempty"` + Resource *string `json:"resource,omitempty"` + Operation *string `json:"operation,omitempty"` + Description *string `json:"description,omitempty"` +} + +// OperationListResult is a list of resource provider operations. +type OperationListResult struct { + autorest.Response `json:"-"` + Value *[]Operation `json:"value,omitempty"` +} + +// ProxyResource is resource properties. +type ProxyResource struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` +} + +// Server is represents a server. +type Server struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + Sku *Sku `json:"sku,omitempty"` + *ServerProperties `json:"properties,omitempty"` +} + +// ServerForCreate is represents a server to be created. +type ServerForCreate struct { + Sku *Sku `json:"sku,omitempty"` + Properties ServerPropertiesForCreate `json:"properties,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for ServerForCreate struct. +func (sfc *ServerForCreate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["sku"] + if v != nil { + var sku Sku + err = json.Unmarshal(*m["sku"], &sku) + if err != nil { + return err + } + sfc.Sku = &sku + } + + v = m["properties"] + if v != nil { + properties, err := unmarshalServerPropertiesForCreate(*m["properties"]) + if err != nil { + return err + } + sfc.Properties = properties + } + + v = m["location"] + if v != nil { + var location string + err = json.Unmarshal(*m["location"], &location) + if err != nil { + return err + } + sfc.Location = &location + } + + v = m["tags"] + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*m["tags"], &tags) + if err != nil { + return err + } + sfc.Tags = &tags + } + + return nil +} + +// ServerListResult is a list of servers. +type ServerListResult struct { + autorest.Response `json:"-"` + Value *[]Server `json:"value,omitempty"` +} + +// ServerProperties is the properties of a server. +type ServerProperties struct { + AdministratorLogin *string `json:"administratorLogin,omitempty"` + StorageMB *int64 `json:"storageMB,omitempty"` + Version ServerVersion `json:"version,omitempty"` + SslEnforcement SslEnforcementEnum `json:"sslEnforcement,omitempty"` + UserVisibleState ServerState `json:"userVisibleState,omitempty"` + FullyQualifiedDomainName *string `json:"fullyQualifiedDomainName,omitempty"` +} + +// ServerPropertiesForCreate is the properties used to create a new server. +type ServerPropertiesForCreate interface { + AsServerPropertiesForDefaultCreate() (*ServerPropertiesForDefaultCreate, bool) + AsServerPropertiesForRestore() (*ServerPropertiesForRestore, bool) +} + +func unmarshalServerPropertiesForCreate(body []byte) (ServerPropertiesForCreate, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["createMode"] { + case string(CreateModeDefault): + var spfdc ServerPropertiesForDefaultCreate + err := json.Unmarshal(body, &spfdc) + return spfdc, err + case string(CreateModePointInTimeRestore): + var spfr ServerPropertiesForRestore + err := json.Unmarshal(body, &spfr) + return spfr, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalServerPropertiesForCreateArray(body []byte) ([]ServerPropertiesForCreate, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + spfcArray := make([]ServerPropertiesForCreate, len(rawMessages)) + + for index, rawMessage := range rawMessages { + spfc, err := unmarshalServerPropertiesForCreate(*rawMessage) + if err != nil { + return nil, err + } + spfcArray[index] = spfc + } + return spfcArray, nil +} + +// ServerPropertiesForDefaultCreate is the properties used to create a new server. +type ServerPropertiesForDefaultCreate struct { + StorageMB *int64 `json:"storageMB,omitempty"` + Version ServerVersion `json:"version,omitempty"` + SslEnforcement SslEnforcementEnum `json:"sslEnforcement,omitempty"` + CreateMode CreateMode `json:"createMode,omitempty"` + AdministratorLogin *string `json:"administratorLogin,omitempty"` + AdministratorLoginPassword *string `json:"administratorLoginPassword,omitempty"` +} + +// MarshalJSON is the custom marshaler for ServerPropertiesForDefaultCreate. +func (spfdc ServerPropertiesForDefaultCreate) MarshalJSON() ([]byte, error) { + spfdc.CreateMode = CreateModeDefault + type Alias ServerPropertiesForDefaultCreate + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(spfdc), + }) +} + +// AsServerPropertiesForDefaultCreate is the ServerPropertiesForCreate implementation for ServerPropertiesForDefaultCreate. +func (spfdc ServerPropertiesForDefaultCreate) AsServerPropertiesForDefaultCreate() (*ServerPropertiesForDefaultCreate, bool) { + return &spfdc, true +} + +// AsServerPropertiesForRestore is the ServerPropertiesForCreate implementation for ServerPropertiesForDefaultCreate. +func (spfdc ServerPropertiesForDefaultCreate) AsServerPropertiesForRestore() (*ServerPropertiesForRestore, bool) { + return nil, false +} + +// ServerPropertiesForRestore is the properties to a new server by restoring from a backup. +type ServerPropertiesForRestore struct { + StorageMB *int64 `json:"storageMB,omitempty"` + Version ServerVersion `json:"version,omitempty"` + SslEnforcement SslEnforcementEnum `json:"sslEnforcement,omitempty"` + CreateMode CreateMode `json:"createMode,omitempty"` + SourceServerID *string `json:"sourceServerId,omitempty"` + RestorePointInTime *date.Time `json:"restorePointInTime,omitempty"` +} + +// MarshalJSON is the custom marshaler for ServerPropertiesForRestore. +func (spfr ServerPropertiesForRestore) MarshalJSON() ([]byte, error) { + spfr.CreateMode = CreateModePointInTimeRestore + type Alias ServerPropertiesForRestore + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(spfr), + }) +} + +// AsServerPropertiesForDefaultCreate is the ServerPropertiesForCreate implementation for ServerPropertiesForRestore. +func (spfr ServerPropertiesForRestore) AsServerPropertiesForDefaultCreate() (*ServerPropertiesForDefaultCreate, bool) { + return nil, false +} + +// AsServerPropertiesForRestore is the ServerPropertiesForCreate implementation for ServerPropertiesForRestore. +func (spfr ServerPropertiesForRestore) AsServerPropertiesForRestore() (*ServerPropertiesForRestore, bool) { + return &spfr, true +} + +// ServerUpdateParameters is parameters allowd to update for a server. +type ServerUpdateParameters struct { + Sku *Sku `json:"sku,omitempty"` + *ServerUpdateParametersProperties `json:"properties,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` +} + +// ServerUpdateParametersProperties is the properties that can be updated for a server. +type ServerUpdateParametersProperties struct { + StorageMB *int64 `json:"storageMB,omitempty"` + AdministratorLoginPassword *string `json:"administratorLoginPassword,omitempty"` + Version ServerVersion `json:"version,omitempty"` + SslEnforcement SslEnforcementEnum `json:"sslEnforcement,omitempty"` +} + +// Sku is billing information related properties of a server. +type Sku struct { + Name *string `json:"name,omitempty"` + Tier SkuTier `json:"tier,omitempty"` + Capacity *int32 `json:"capacity,omitempty"` + Size *string `json:"size,omitempty"` + Family *string `json:"family,omitempty"` +} + +// TrackedResource is resource properties including location and tags for track resources. +type TrackedResource struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/operations.go new file mode 100644 index 000000000..003e5f50f --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/operations.go @@ -0,0 +1,97 @@ +package postgresql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// OperationsClient is the the Microsoft Azure management API provides create, read, update, and delete functionality +// for Azure PostgreSQL resources including servers, databases, firewall rules, log files and configurations. +type OperationsClient struct { + ManagementClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List lists all of the available REST API operations. +func (client OperationsClient) List() (result OperationListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "postgresql.OperationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer() (*http.Request, error) { + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.DBforPostgreSQL/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/postgresql_test.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/postgresql_test.go new file mode 100644 index 000000000..563ebe76f --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/postgresql_test.go @@ -0,0 +1,82 @@ +package postgresql + +// Copyright 2017 Microsoft Corporation +// +// 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. + +import ( + "encoding/json" + "testing" + + "github.com/Azure/go-autorest/autorest/to" + chk "gopkg.in/check.v1" +) + +// Hook up gocheck to testing +func Test(t *testing.T) { chk.TestingT(t) } + +type Suite struct{} + +var _ = chk.Suite(&Suite{}) + +var ( + body = `{ + "sku": { + "name": "SkuName", + "tier": "Basic", + "capacity": 100 + }, + "properties": { + "storageMB": 1024, + "sslEnforcement": "Enabled", + "createMode": "Default", + "administratorLogin": "cloudsa", + "administratorLoginPassword": "password" + }, + "location": "OneBox", + "tags": { + "ElasticServer": "1" + } +}` + sfc = ServerForCreate{ + Location: to.StringPtr("OneBox"), + Properties: ServerPropertiesForDefaultCreate{ + AdministratorLogin: to.StringPtr("cloudsa"), + AdministratorLoginPassword: to.StringPtr("password"), + StorageMB: to.Int64Ptr(1024), + SslEnforcement: SslEnforcementEnumEnabled, + CreateMode: CreateModeDefault, + }, + Sku: &Sku{ + Name: to.StringPtr("SkuName"), + Tier: Basic, + Capacity: to.Int32Ptr(100), + }, + Tags: &map[string]*string{ + "ElasticServer": to.StringPtr("1"), + }, + } +) + +func (s *Suite) TestUnmarshalServerForCreate(c *chk.C) { + var obtained ServerForCreate + err := json.Unmarshal([]byte(body), &obtained) + c.Assert(err, chk.IsNil) + c.Assert(obtained, chk.DeepEquals, sfc) +} + +func (s *Suite) TestMarshalServerForCreate(c *chk.C) { + b, err := json.MarshalIndent(sfc, "", " ") + c.Assert(err, chk.IsNil) + c.Assert(string(b), chk.Equals, body) +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/servers.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/servers.go new file mode 100644 index 000000000..43dbf1068 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/servers.go @@ -0,0 +1,503 @@ +package postgresql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// ServersClient is the the Microsoft Azure management API provides create, read, update, and delete functionality for +// Azure PostgreSQL resources including servers, databases, firewall rules, log files and configurations. +type ServersClient struct { + ManagementClient +} + +// NewServersClient creates an instance of the ServersClient client. +func NewServersClient(subscriptionID string) ServersClient { + return NewServersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServersClientWithBaseURI creates an instance of the ServersClient client. +func NewServersClientWithBaseURI(baseURI string, subscriptionID string) ServersClient { + return ServersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Create creates a new server, or will overwrite an existing server. This method may poll for completion. Polling can +// be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding +// HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. parameters is the required +// parameters for creating or updating a server. +func (client ServersClient) Create(resourceGroupName string, serverName string, parameters ServerForCreate, cancel <-chan struct{}) (<-chan Server, <-chan error) { + resultChan := make(chan Server, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Sku", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Sku.Capacity", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Sku.Capacity", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}, + }}, + {Target: "parameters.Properties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.Properties.StorageMB", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.StorageMB", Name: validation.InclusiveMinimum, Rule: 1024, Chain: nil}}}, + }}, + {Target: "parameters.Location", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "postgresql.ServersClient", "Create") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result Server + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreatePreparer(resourceGroupName, serverName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ServersClient", "Create", nil, "Failure preparing request") + return + } + + resp, err := client.CreateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "postgresql.ServersClient", "Create", resp, "Failure sending request") + return + } + + result, err = client.CreateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ServersClient", "Create", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreatePreparer prepares the Create request. +func (client ServersClient) CreatePreparer(resourceGroupName string, serverName string, parameters ServerForCreate, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client ServersClient) CreateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client ServersClient) CreateResponder(resp *http.Response) (result Server, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a server. This method may poll for completion. Polling can be canceled by passing the cancel channel +// argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. +func (client ServersClient) Delete(resourceGroupName string, serverName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, serverName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ServersClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "postgresql.ServersClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ServersClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// DeletePreparer prepares the Delete request. +func (client ServersClient) DeletePreparer(resourceGroupName string, serverName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ServersClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ServersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets information about a server. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. +func (client ServersClient) Get(resourceGroupName string, serverName string) (result Server, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ServersClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "postgresql.ServersClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ServersClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServersClient) GetPreparer(resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServersClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServersClient) GetResponder(resp *http.Response) (result Server, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List list all the servers in a given subscription. +func (client ServersClient) List() (result ServerListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ServersClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "postgresql.ServersClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ServersClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ServersClient) ListPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/servers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ServersClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ServersClient) ListResponder(resp *http.Response) (result ServerListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroup list all the servers in a given resource group. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. +func (client ServersClient) ListByResourceGroup(resourceGroupName string) (result ServerListResult, err error) { + req, err := client.ListByResourceGroupPreparer(resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ServersClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "postgresql.ServersClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ServersClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ServersClient) ListByResourceGroupPreparer(resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ServersClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ServersClient) ListByResourceGroupResponder(resp *http.Response) (result ServerListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update updates an existing server. The request body can contain one to many of the properties present in the normal +// server definition. This method may poll for completion. Polling can be canceled by passing the cancel channel +// argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. parameters is the required +// parameters for updating a server. +func (client ServersClient) Update(resourceGroupName string, serverName string, parameters ServerUpdateParameters, cancel <-chan struct{}) (<-chan Server, <-chan error) { + resultChan := make(chan Server, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result Server + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.UpdatePreparer(resourceGroupName, serverName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ServersClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "postgresql.ServersClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ServersClient", "Update", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// UpdatePreparer prepares the Update request. +func (client ServersClient) UpdatePreparer(resourceGroupName string, serverName string, parameters ServerUpdateParameters, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client ServersClient) UpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client ServersClient) UpdateResponder(resp *http.Response) (result Server, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/version.go new file mode 100644 index 000000000..ad996f2e2 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/postgresql/version.go @@ -0,0 +1,28 @@ +package postgresql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/v11.0.0-beta arm-postgresql/2017-04-30-preview" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return "v11.0.0-beta" +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/powerbiembedded/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/powerbiembedded/client.go index 25116e7e2..015b0260d 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/powerbiembedded/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/powerbiembedded/client.go @@ -1,8 +1,6 @@ -// Package powerbiembedded implements the Azure ARM Powerbiembedded service API -// version 2016-01-29. +// Package powerbiembedded implements the Azure ARM Powerbiembedded service API version 2016-01-29. // -// Client to manage your Power BI Embedded workspace collections and retrieve -// workspaces. +// Client to manage your Power BI Embedded workspace collections and retrieve workspaces. package powerbiembedded // Copyright (c) Microsoft and contributors. All rights reserved. @@ -19,9 +17,8 @@ package powerbiembedded // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -55,8 +52,7 @@ func NewWithBaseURI(baseURI string, subscriptionID string) ManagementClient { } } -// GetAvailableOperations indicates which operations can be performed by the -// Power BI Resource Provider. +// GetAvailableOperations indicates which operations can be performed by the Power BI Resource Provider. func (client ManagementClient) GetAvailableOperations() (result OperationList, err error) { req, err := client.GetAvailableOperationsPreparer() if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/powerbiembedded/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/powerbiembedded/models.go index c89e648da..f47552c9b 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/powerbiembedded/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/powerbiembedded/models.go @@ -14,9 +14,8 @@ package powerbiembedded // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/powerbiembedded/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/powerbiembedded/version.go index d745b204d..169020e04 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/powerbiembedded/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/powerbiembedded/version.go @@ -14,16 +14,15 @@ package powerbiembedded // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-powerbiembedded/2016-01-29" + return "Azure-SDK-For-Go/v11.0.0-beta arm-powerbiembedded/2016-01-29" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/powerbiembedded/workspacecollections.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/powerbiembedded/workspacecollections.go index 77a3c749b..614cbd54e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/powerbiembedded/workspacecollections.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/powerbiembedded/workspacecollections.go @@ -14,9 +14,8 @@ package powerbiembedded // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,26 +24,23 @@ import ( "net/http" ) -// WorkspaceCollectionsClient is the client to manage your Power BI Embedded -// workspace collections and retrieve workspaces. +// WorkspaceCollectionsClient is the client to manage your Power BI Embedded workspace collections and retrieve +// workspaces. type WorkspaceCollectionsClient struct { ManagementClient } -// NewWorkspaceCollectionsClient creates an instance of the -// WorkspaceCollectionsClient client. +// NewWorkspaceCollectionsClient creates an instance of the WorkspaceCollectionsClient client. func NewWorkspaceCollectionsClient(subscriptionID string) WorkspaceCollectionsClient { return NewWorkspaceCollectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewWorkspaceCollectionsClientWithBaseURI creates an instance of the -// WorkspaceCollectionsClient client. +// NewWorkspaceCollectionsClientWithBaseURI creates an instance of the WorkspaceCollectionsClient client. func NewWorkspaceCollectionsClientWithBaseURI(baseURI string, subscriptionID string) WorkspaceCollectionsClient { return WorkspaceCollectionsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CheckNameAvailability verify the specified Power BI Workspace Collection -// name is valid and not already in use. +// CheckNameAvailability verify the specified Power BI Workspace Collection name is valid and not already in use. // // location is azure location body is check name availability request func (client WorkspaceCollectionsClient) CheckNameAvailability(location string, body CheckNameRequest) (result CheckNameResponse, err error) { @@ -110,14 +106,11 @@ func (client WorkspaceCollectionsClient) CheckNameAvailabilityResponder(resp *ht return } -// Create creates a new Power BI Workspace Collection with the specified -// properties. A Power BI Workspace Collection contains one or more workspaces, -// and can be used to provision keys that provide API access to those -// workspaces. +// Create creates a new Power BI Workspace Collection with the specified properties. A Power BI Workspace Collection +// contains one or more workspaces, and can be used to provision keys that provide API access to those workspaces. // -// resourceGroupName is azure resource group workspaceCollectionName is power -// BI Embedded Workspace Collection name body is create workspace collection -// request +// resourceGroupName is azure resource group workspaceCollectionName is power BI Embedded Workspace Collection name +// body is create workspace collection request func (client WorkspaceCollectionsClient) Create(resourceGroupName string, workspaceCollectionName string, body CreateWorkspaceCollectionRequest) (result WorkspaceCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: body, @@ -191,13 +184,10 @@ func (client WorkspaceCollectionsClient) CreateResponder(resp *http.Response) (r return } -// Delete delete a Power BI Workspace Collection. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete delete a Power BI Workspace Collection. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is azure resource group workspaceCollectionName is power -// BI Embedded Workspace Collection name +// resourceGroupName is azure resource group workspaceCollectionName is power BI Embedded Workspace Collection name func (client WorkspaceCollectionsClient) Delete(resourceGroupName string, workspaceCollectionName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -205,8 +195,10 @@ func (client WorkspaceCollectionsClient) Delete(resourceGroupName string, worksp var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -272,11 +264,9 @@ func (client WorkspaceCollectionsClient) DeleteResponder(resp *http.Response) (r return } -// GetAccessKeys retrieves the primary and secondary access keys for the -// specified Power BI Workspace Collection. +// GetAccessKeys retrieves the primary and secondary access keys for the specified Power BI Workspace Collection. // -// resourceGroupName is azure resource group workspaceCollectionName is power -// BI Embedded Workspace Collection name +// resourceGroupName is azure resource group workspaceCollectionName is power BI Embedded Workspace Collection name func (client WorkspaceCollectionsClient) GetAccessKeys(resourceGroupName string, workspaceCollectionName string) (result WorkspaceCollectionAccessKeys, err error) { req, err := client.GetAccessKeysPreparer(resourceGroupName, workspaceCollectionName) if err != nil { @@ -341,8 +331,7 @@ func (client WorkspaceCollectionsClient) GetAccessKeysResponder(resp *http.Respo // GetByName retrieves an existing Power BI Workspace Collection. // -// resourceGroupName is azure resource group workspaceCollectionName is power -// BI Embedded Workspace Collection name +// resourceGroupName is azure resource group workspaceCollectionName is power BI Embedded Workspace Collection name func (client WorkspaceCollectionsClient) GetByName(resourceGroupName string, workspaceCollectionName string) (result WorkspaceCollection, err error) { req, err := client.GetByNamePreparer(resourceGroupName, workspaceCollectionName) if err != nil { @@ -405,8 +394,7 @@ func (client WorkspaceCollectionsClient) GetByNameResponder(resp *http.Response) return } -// ListByResourceGroup retrieves all existing Power BI workspace collections in -// the specified resource group. +// ListByResourceGroup retrieves all existing Power BI workspace collections in the specified resource group. // // resourceGroupName is azure resource group func (client WorkspaceCollectionsClient) ListByResourceGroup(resourceGroupName string) (result WorkspaceCollectionList, err error) { @@ -470,8 +458,7 @@ func (client WorkspaceCollectionsClient) ListByResourceGroupResponder(resp *http return } -// ListBySubscription retrieves all existing Power BI workspace collections in -// the specified subscription. +// ListBySubscription retrieves all existing Power BI workspace collections in the specified subscription. func (client WorkspaceCollectionsClient) ListBySubscription() (result WorkspaceCollectionList, err error) { req, err := client.ListBySubscriptionPreparer() if err != nil { @@ -532,11 +519,9 @@ func (client WorkspaceCollectionsClient) ListBySubscriptionResponder(resp *http. return } -// Migrate migrates an existing Power BI Workspace Collection to a different -// resource group and/or subscription. +// Migrate migrates an existing Power BI Workspace Collection to a different resource group and/or subscription. // -// resourceGroupName is azure resource group body is workspace migration -// request +// resourceGroupName is azure resource group body is workspace migration request func (client WorkspaceCollectionsClient) Migrate(resourceGroupName string, body MigrateWorkspaceCollectionRequest) (result autorest.Response, err error) { req, err := client.MigratePreparer(resourceGroupName, body) if err != nil { @@ -599,11 +584,10 @@ func (client WorkspaceCollectionsClient) MigrateResponder(resp *http.Response) ( return } -// RegenerateKey regenerates the primary or secondary access key for the -// specified Power BI Workspace Collection. +// RegenerateKey regenerates the primary or secondary access key for the specified Power BI Workspace Collection. // -// resourceGroupName is azure resource group workspaceCollectionName is power -// BI Embedded Workspace Collection name body is access key to regenerate +// resourceGroupName is azure resource group workspaceCollectionName is power BI Embedded Workspace Collection name +// body is access key to regenerate func (client WorkspaceCollectionsClient) RegenerateKey(resourceGroupName string, workspaceCollectionName string, body WorkspaceCollectionAccessKey) (result WorkspaceCollectionAccessKeys, err error) { req, err := client.RegenerateKeyPreparer(resourceGroupName, workspaceCollectionName, body) if err != nil { @@ -668,12 +652,10 @@ func (client WorkspaceCollectionsClient) RegenerateKeyResponder(resp *http.Respo return } -// Update update an existing Power BI Workspace Collection with the specified -// properties. +// Update update an existing Power BI Workspace Collection with the specified properties. // -// resourceGroupName is azure resource group workspaceCollectionName is power -// BI Embedded Workspace Collection name body is update workspace collection -// request +// resourceGroupName is azure resource group workspaceCollectionName is power BI Embedded Workspace Collection name +// body is update workspace collection request func (client WorkspaceCollectionsClient) Update(resourceGroupName string, workspaceCollectionName string, body UpdateWorkspaceCollectionRequest) (result WorkspaceCollection, err error) { req, err := client.UpdatePreparer(resourceGroupName, workspaceCollectionName, body) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/powerbiembedded/workspaces.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/powerbiembedded/workspaces.go index a34b282a6..44710ada7 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/powerbiembedded/workspaces.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/powerbiembedded/workspaces.go @@ -14,9 +14,8 @@ package powerbiembedded // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,8 +23,7 @@ import ( "net/http" ) -// WorkspacesClient is the client to manage your Power BI Embedded workspace -// collections and retrieve workspaces. +// WorkspacesClient is the client to manage your Power BI Embedded workspace collections and retrieve workspaces. type WorkspacesClient struct { ManagementClient } @@ -35,17 +33,14 @@ func NewWorkspacesClient(subscriptionID string) WorkspacesClient { return NewWorkspacesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewWorkspacesClientWithBaseURI creates an instance of the WorkspacesClient -// client. +// NewWorkspacesClientWithBaseURI creates an instance of the WorkspacesClient client. func NewWorkspacesClientWithBaseURI(baseURI string, subscriptionID string) WorkspacesClient { return WorkspacesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// List retrieves all existing Power BI workspaces in the specified workspace -// collection. +// List retrieves all existing Power BI workspaces in the specified workspace collection. // -// resourceGroupName is azure resource group workspaceCollectionName is power -// BI Embedded Workspace Collection name +// resourceGroupName is azure resource group workspaceCollectionName is power BI Embedded Workspace Collection name func (client WorkspacesClient) List(resourceGroupName string, workspaceCollectionName string) (result WorkspaceList, err error) { req, err := client.ListPreparer(resourceGroupName, workspaceCollectionName) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/backupstorageconfigs.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/backupstorageconfigs.go new file mode 100644 index 000000000..924bfe09b --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/backupstorageconfigs.go @@ -0,0 +1,172 @@ +package recoveryservices + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// BackupStorageConfigsClient is the recovery Services Client +type BackupStorageConfigsClient struct { + ManagementClient +} + +// NewBackupStorageConfigsClient creates an instance of the BackupStorageConfigsClient client. +func NewBackupStorageConfigsClient(subscriptionID string) BackupStorageConfigsClient { + return NewBackupStorageConfigsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewBackupStorageConfigsClientWithBaseURI creates an instance of the BackupStorageConfigsClient client. +func NewBackupStorageConfigsClientWithBaseURI(baseURI string, subscriptionID string) BackupStorageConfigsClient { + return BackupStorageConfigsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get fetches resource storage config. +// +// resourceGroupName is the name of the resource group where the recovery services vault is present. vaultName is the +// name of the recovery services vault. +func (client BackupStorageConfigsClient) Get(resourceGroupName string, vaultName string) (result BackupStorageConfig, err error) { + req, err := client.GetPreparer(resourceGroupName, vaultName) + if err != nil { + err = autorest.NewErrorWithError(err, "recoveryservices.BackupStorageConfigsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "recoveryservices.BackupStorageConfigsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "recoveryservices.BackupStorageConfigsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client BackupStorageConfigsClient) GetPreparer(resourceGroupName string, vaultName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vaultName": autorest.Encode("path", vaultName), + } + + const APIVersion = "2016-12-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client BackupStorageConfigsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client BackupStorageConfigsClient) GetResponder(resp *http.Response) (result BackupStorageConfig, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update updates vault storage model type. +// +// resourceGroupName is the name of the resource group where the recovery services vault is present. vaultName is the +// name of the recovery services vault. backupStorageConfig is backup storage config. +func (client BackupStorageConfigsClient) Update(resourceGroupName string, vaultName string, backupStorageConfig BackupStorageConfig) (result autorest.Response, err error) { + req, err := client.UpdatePreparer(resourceGroupName, vaultName, backupStorageConfig) + if err != nil { + err = autorest.NewErrorWithError(err, "recoveryservices.BackupStorageConfigsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "recoveryservices.BackupStorageConfigsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "recoveryservices.BackupStorageConfigsClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client BackupStorageConfigsClient) UpdatePreparer(resourceGroupName string, vaultName string, backupStorageConfig BackupStorageConfig) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vaultName": autorest.Encode("path", vaultName), + } + + const APIVersion = "2016-12-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig", pathParameters), + autorest.WithJSON(backupStorageConfig), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client BackupStorageConfigsClient) UpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client BackupStorageConfigsClient) UpdateResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/backupvaultconfigs.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/backupvaultconfigs.go new file mode 100644 index 000000000..4d21a6628 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/backupvaultconfigs.go @@ -0,0 +1,173 @@ +package recoveryservices + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// BackupVaultConfigsClient is the recovery Services Client +type BackupVaultConfigsClient struct { + ManagementClient +} + +// NewBackupVaultConfigsClient creates an instance of the BackupVaultConfigsClient client. +func NewBackupVaultConfigsClient(subscriptionID string) BackupVaultConfigsClient { + return NewBackupVaultConfigsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewBackupVaultConfigsClientWithBaseURI creates an instance of the BackupVaultConfigsClient client. +func NewBackupVaultConfigsClientWithBaseURI(baseURI string, subscriptionID string) BackupVaultConfigsClient { + return BackupVaultConfigsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get fetches vault config. +// +// resourceGroupName is the name of the resource group where the recovery services vault is present. vaultName is the +// name of the recovery services vault. +func (client BackupVaultConfigsClient) Get(resourceGroupName string, vaultName string) (result BackupVaultConfig, err error) { + req, err := client.GetPreparer(resourceGroupName, vaultName) + if err != nil { + err = autorest.NewErrorWithError(err, "recoveryservices.BackupVaultConfigsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "recoveryservices.BackupVaultConfigsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "recoveryservices.BackupVaultConfigsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client BackupVaultConfigsClient) GetPreparer(resourceGroupName string, vaultName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vaultName": autorest.Encode("path", vaultName), + } + + const APIVersion = "2016-12-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client BackupVaultConfigsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client BackupVaultConfigsClient) GetResponder(resp *http.Response) (result BackupVaultConfig, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update updates vault config model type. +// +// resourceGroupName is the name of the resource group where the recovery services vault is present. vaultName is the +// name of the recovery services vault. backupVaultConfig is backup vault config. +func (client BackupVaultConfigsClient) Update(resourceGroupName string, vaultName string, backupVaultConfig BackupVaultConfig) (result BackupVaultConfig, err error) { + req, err := client.UpdatePreparer(resourceGroupName, vaultName, backupVaultConfig) + if err != nil { + err = autorest.NewErrorWithError(err, "recoveryservices.BackupVaultConfigsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "recoveryservices.BackupVaultConfigsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "recoveryservices.BackupVaultConfigsClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client BackupVaultConfigsClient) UpdatePreparer(resourceGroupName string, vaultName string, backupVaultConfig BackupVaultConfig) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vaultName": autorest.Encode("path", vaultName), + } + + const APIVersion = "2016-12-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig", pathParameters), + autorest.WithJSON(backupVaultConfig), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client BackupVaultConfigsClient) UpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client BackupVaultConfigsClient) UpdateResponder(resp *http.Response) (result BackupVaultConfig, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/client.go index 98b156452..7461bc138 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/client.go @@ -1,7 +1,6 @@ -// Package recoveryservices implements the Azure ARM Recoveryservices service -// API version 2016-06-01. -// +// Package recoveryservices implements the Azure ARM Recoveryservices service API version . // +// Recovery Services Client package recoveryservices // Copyright (c) Microsoft and contributors. All rights reserved. @@ -18,9 +17,8 @@ package recoveryservices // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/models.go index 0117b9bf7..8504a45b2 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/models.go @@ -14,17 +14,46 @@ package recoveryservices // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( + "encoding/json" + "errors" "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/date" "github.com/Azure/go-autorest/autorest/to" "net/http" ) +// AuthType enumerates the values for auth type. +type AuthType string + +const ( + // AAD specifies the aad state for auth type. + AAD AuthType = "AAD" + // AccessControlService specifies the access control service state for auth type. + AccessControlService AuthType = "AccessControlService" + // ACS specifies the acs state for auth type. + ACS AuthType = "ACS" + // AzureActiveDirectory specifies the azure active directory state for auth type. + AzureActiveDirectory AuthType = "AzureActiveDirectory" + // Invalid specifies the invalid state for auth type. + Invalid AuthType = "Invalid" +) + +// EnhancedSecurityState enumerates the values for enhanced security state. +type EnhancedSecurityState string + +const ( + // EnhancedSecurityStateDisabled specifies the enhanced security state disabled state for enhanced security state. + EnhancedSecurityStateDisabled EnhancedSecurityState = "Disabled" + // EnhancedSecurityStateEnabled specifies the enhanced security state enabled state for enhanced security state. + EnhancedSecurityStateEnabled EnhancedSecurityState = "Enabled" + // EnhancedSecurityStateInvalid specifies the enhanced security state invalid state for enhanced security state. + EnhancedSecurityStateInvalid EnhancedSecurityState = "Invalid" +) + // SkuName enumerates the values for sku name. type SkuName string @@ -35,6 +64,42 @@ const ( Standard SkuName = "Standard" ) +// StorageModelType enumerates the values for storage model type. +type StorageModelType string + +const ( + // StorageModelTypeGeoRedundant specifies the storage model type geo redundant state for storage model type. + StorageModelTypeGeoRedundant StorageModelType = "GeoRedundant" + // StorageModelTypeInvalid specifies the storage model type invalid state for storage model type. + StorageModelTypeInvalid StorageModelType = "Invalid" + // StorageModelTypeLocallyRedundant specifies the storage model type locally redundant state for storage model type. + StorageModelTypeLocallyRedundant StorageModelType = "LocallyRedundant" +) + +// StorageType enumerates the values for storage type. +type StorageType string + +const ( + // StorageTypeGeoRedundant specifies the storage type geo redundant state for storage type. + StorageTypeGeoRedundant StorageType = "GeoRedundant" + // StorageTypeInvalid specifies the storage type invalid state for storage type. + StorageTypeInvalid StorageType = "Invalid" + // StorageTypeLocallyRedundant specifies the storage type locally redundant state for storage type. + StorageTypeLocallyRedundant StorageType = "LocallyRedundant" +) + +// StorageTypeState enumerates the values for storage type state. +type StorageTypeState string + +const ( + // StorageTypeStateInvalid specifies the storage type state invalid state for storage type state. + StorageTypeStateInvalid StorageTypeState = "Invalid" + // StorageTypeStateLocked specifies the storage type state locked state for storage type state. + StorageTypeStateLocked StorageTypeState = "Locked" + // StorageTypeStateUnlocked specifies the storage type state unlocked state for storage type state. + StorageTypeStateUnlocked StorageTypeState = "Unlocked" +) + // TriggerType enumerates the values for trigger type. type TriggerType string @@ -45,6 +110,24 @@ const ( UserTriggered TriggerType = "UserTriggered" ) +// UsagesUnit enumerates the values for usages unit. +type UsagesUnit string + +const ( + // Bytes specifies the bytes state for usages unit. + Bytes UsagesUnit = "Bytes" + // BytesPerSecond specifies the bytes per second state for usages unit. + BytesPerSecond UsagesUnit = "BytesPerSecond" + // Count specifies the count state for usages unit. + Count UsagesUnit = "Count" + // CountPerSecond specifies the count per second state for usages unit. + CountPerSecond UsagesUnit = "CountPerSecond" + // Percent specifies the percent state for usages unit. + Percent UsagesUnit = "Percent" + // Seconds specifies the seconds state for usages unit. + Seconds UsagesUnit = "Seconds" +) + // VaultUpgradeState enumerates the values for vault upgrade state. type VaultUpgradeState string @@ -59,6 +142,45 @@ const ( Upgraded VaultUpgradeState = "Upgraded" ) +// BackupStorageConfig is the backup storage config. +type BackupStorageConfig struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + ETag *string `json:"eTag,omitempty"` + *BackupStorageConfigProperties `json:"properties,omitempty"` +} + +// BackupStorageConfigProperties is the backup storage config. +type BackupStorageConfigProperties struct { + StorageModelType StorageModelType `json:"storageModelType,omitempty"` + StorageType StorageType `json:"storageType,omitempty"` + StorageTypeState StorageTypeState `json:"storageTypeState,omitempty"` +} + +// BackupVaultConfig is backup vault config details. +type BackupVaultConfig struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + ETag *string `json:"eTag,omitempty"` + *BackupVaultConfigProperties `json:"properties,omitempty"` +} + +// BackupVaultConfigProperties is backup vault config details. +type BackupVaultConfigProperties struct { + StorageType StorageType `json:"storageType,omitempty"` + StorageTypeState StorageTypeState `json:"storageTypeState,omitempty"` + EnhancedSecurityState EnhancedSecurityState `json:"enhancedSecurityState,omitempty"` +} + +// CertificateRequest is details of the certificate to be uploaded to the vault. +type CertificateRequest struct { + Properties *RawCertificateData `json:"properties,omitempty"` +} + // ClientDiscoveryDisplay is localized display information of an operation. type ClientDiscoveryDisplay struct { Provider *string `json:"Provider,omitempty"` @@ -67,24 +189,24 @@ type ClientDiscoveryDisplay struct { Description *string `json:"Description,omitempty"` } -// ClientDiscoveryForLogSpecification is log specification for the operation. +// ClientDiscoveryForLogSpecification is class to represent shoebox log specification in json client discovery. type ClientDiscoveryForLogSpecification struct { - Name *string `json:"name,omitempty"` - DisplayName *string `json:"displayName,omitempty"` - BlobDuration *date.Time `json:"blobDuration,omitempty"` + Name *string `json:"name,omitempty"` + DisplayName *string `json:"displayName,omitempty"` + BlobDuration *string `json:"blobDuration,omitempty"` } -// ClientDiscoveryForServiceSpecification is operation properties. +// ClientDiscoveryForProperties is class to represent shoebox properties in json client discovery. +type ClientDiscoveryForProperties struct { + ServiceSpecification *ClientDiscoveryForServiceSpecification `json:"serviceSpecification,omitempty"` +} + +// ClientDiscoveryForServiceSpecification is class to represent shoebox service specification in json client discovery. type ClientDiscoveryForServiceSpecification struct { LogSpecifications *[]ClientDiscoveryForLogSpecification `json:"logSpecifications,omitempty"` } -// ClientDiscoveryProperties is operation properties. -type ClientDiscoveryProperties struct { - ServiceSpecification *ClientDiscoveryForServiceSpecification `json:"serviceSpecification,omitempty"` -} - -// ClientDiscoveryResponse is list of available operations. +// ClientDiscoveryResponse is operations List response which contains list of available APIs. type ClientDiscoveryResponse struct { autorest.Response `json:"-"` Value *[]ClientDiscoveryValueForSingleAPI `json:"Value,omitempty"` @@ -105,13 +227,58 @@ func (client ClientDiscoveryResponse) ClientDiscoveryResponsePreparer() (*http.R // ClientDiscoveryValueForSingleAPI is available operation details. type ClientDiscoveryValueForSingleAPI struct { - Name *string `json:"Name,omitempty"` - Display *ClientDiscoveryDisplay `json:"Display,omitempty"` - Origin *string `json:"Origin,omitempty"` - *ClientDiscoveryProperties `json:"Properties,omitempty"` + Name *string `json:"Name,omitempty"` + Display *ClientDiscoveryDisplay `json:"Display,omitempty"` + Origin *string `json:"Origin,omitempty"` + Properties *ClientDiscoveryForProperties `json:"Properties,omitempty"` } -// Resource is aRM Resource. +// JobsSummary is summary of the replication job data for this vault. +type JobsSummary struct { + FailedJobs *int32 `json:"failedJobs,omitempty"` + SuspendedJobs *int32 `json:"suspendedJobs,omitempty"` + InProgressJobs *int32 `json:"inProgressJobs,omitempty"` +} + +// MonitoringSummary is summary of the replication monitoring data for this vault. +type MonitoringSummary struct { + UnHealthyVMCount *int32 `json:"unHealthyVmCount,omitempty"` + UnHealthyProviderCount *int32 `json:"unHealthyProviderCount,omitempty"` + EventsCount *int32 `json:"eventsCount,omitempty"` + DeprecatedProviderCount *int32 `json:"deprecatedProviderCount,omitempty"` + SupportedProviderCount *int32 `json:"supportedProviderCount,omitempty"` + UnsupportedProviderCount *int32 `json:"unsupportedProviderCount,omitempty"` +} + +// NameInfo is the name of usage. +type NameInfo struct { + Value *string `json:"value,omitempty"` + LocalizedValue *string `json:"localizedValue,omitempty"` +} + +// RawCertificateData is raw certificate data. +type RawCertificateData struct { + AuthType AuthType `json:"authType,omitempty"` + Certificate *[]byte `json:"certificate,omitempty"` +} + +// ReplicationUsage is replication usages of a vault. +type ReplicationUsage struct { + MonitoringSummary *MonitoringSummary `json:"monitoringSummary,omitempty"` + JobsSummary *JobsSummary `json:"jobsSummary,omitempty"` + ProtectedItemCount *int32 `json:"protectedItemCount,omitempty"` + RecoveryPlanCount *int32 `json:"recoveryPlanCount,omitempty"` + RegisteredServersCount *int32 `json:"registeredServersCount,omitempty"` + RecoveryServicesProviderAuthType *int32 `json:"recoveryServicesProviderAuthType,omitempty"` +} + +// ReplicationUsageList is replication usages for vault. +type ReplicationUsageList struct { + autorest.Response `json:"-"` + Value *[]ReplicationUsage `json:"value,omitempty"` +} + +// Resource is ARM Resource. type Resource struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` @@ -119,6 +286,127 @@ type Resource struct { ETag *string `json:"eTag,omitempty"` } +// ResourceCertificateAndAadDetails is certificate details representing the Vault credentials for AAD. +type ResourceCertificateAndAadDetails struct { + Certificate *[]byte `json:"certificate,omitempty"` + FriendlyName *string `json:"friendlyName,omitempty"` + Issuer *string `json:"issuer,omitempty"` + ResourceID *int64 `json:"resourceId,omitempty"` + Subject *string `json:"subject,omitempty"` + Thumbprint *string `json:"thumbprint,omitempty"` + ValidFrom *date.Time `json:"validFrom,omitempty"` + ValidTo *date.Time `json:"validTo,omitempty"` + AuthType AuthType `json:"authType,omitempty"` + AadAuthority *string `json:"aadAuthority,omitempty"` + AadTenantID *string `json:"aadTenantId,omitempty"` + ServicePrincipalClientID *string `json:"servicePrincipalClientId,omitempty"` + ServicePrincipalObjectID *string `json:"servicePrincipalObjectId,omitempty"` + AzureManagementEndpointAudience *string `json:"azureManagementEndpointAudience,omitempty"` +} + +// MarshalJSON is the custom marshaler for ResourceCertificateAndAadDetails. +func (rcaad ResourceCertificateAndAadDetails) MarshalJSON() ([]byte, error) { + rcaad.AuthType = AzureActiveDirectory + type Alias ResourceCertificateAndAadDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(rcaad), + }) +} + +// AsResourceCertificateAndAadDetails is the ResourceCertificateDetails implementation for ResourceCertificateAndAadDetails. +func (rcaad ResourceCertificateAndAadDetails) AsResourceCertificateAndAadDetails() (*ResourceCertificateAndAadDetails, bool) { + return &rcaad, true +} + +// AsResourceCertificateAndAcsDetails is the ResourceCertificateDetails implementation for ResourceCertificateAndAadDetails. +func (rcaad ResourceCertificateAndAadDetails) AsResourceCertificateAndAcsDetails() (*ResourceCertificateAndAcsDetails, bool) { + return nil, false +} + +// ResourceCertificateAndAcsDetails is certificate details representing the Vault credentials for ACS. +type ResourceCertificateAndAcsDetails struct { + Certificate *[]byte `json:"certificate,omitempty"` + FriendlyName *string `json:"friendlyName,omitempty"` + Issuer *string `json:"issuer,omitempty"` + ResourceID *int64 `json:"resourceId,omitempty"` + Subject *string `json:"subject,omitempty"` + Thumbprint *string `json:"thumbprint,omitempty"` + ValidFrom *date.Time `json:"validFrom,omitempty"` + ValidTo *date.Time `json:"validTo,omitempty"` + AuthType AuthType `json:"authType,omitempty"` + GlobalAcsNamespace *string `json:"globalAcsNamespace,omitempty"` + GlobalAcsHostName *string `json:"globalAcsHostName,omitempty"` + GlobalAcsRPRealm *string `json:"globalAcsRPRealm,omitempty"` +} + +// MarshalJSON is the custom marshaler for ResourceCertificateAndAcsDetails. +func (rcaad ResourceCertificateAndAcsDetails) MarshalJSON() ([]byte, error) { + rcaad.AuthType = AccessControlService + type Alias ResourceCertificateAndAcsDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(rcaad), + }) +} + +// AsResourceCertificateAndAadDetails is the ResourceCertificateDetails implementation for ResourceCertificateAndAcsDetails. +func (rcaad ResourceCertificateAndAcsDetails) AsResourceCertificateAndAadDetails() (*ResourceCertificateAndAadDetails, bool) { + return nil, false +} + +// AsResourceCertificateAndAcsDetails is the ResourceCertificateDetails implementation for ResourceCertificateAndAcsDetails. +func (rcaad ResourceCertificateAndAcsDetails) AsResourceCertificateAndAcsDetails() (*ResourceCertificateAndAcsDetails, bool) { + return &rcaad, true +} + +// ResourceCertificateDetails is certificate details representing the Vault credentials. +type ResourceCertificateDetails interface { + AsResourceCertificateAndAadDetails() (*ResourceCertificateAndAadDetails, bool) + AsResourceCertificateAndAcsDetails() (*ResourceCertificateAndAcsDetails, bool) +} + +func unmarshalResourceCertificateDetails(body []byte) (ResourceCertificateDetails, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["authType"] { + case string(AzureActiveDirectory): + var rcaad ResourceCertificateAndAadDetails + err := json.Unmarshal(body, &rcaad) + return rcaad, err + case string(AccessControlService): + var rcaad ResourceCertificateAndAcsDetails + err := json.Unmarshal(body, &rcaad) + return rcaad, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalResourceCertificateDetailsArray(body []byte) ([]ResourceCertificateDetails, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + rcdArray := make([]ResourceCertificateDetails, len(rawMessages)) + + for index, rawMessage := range rawMessages { + rcd, err := unmarshalResourceCertificateDetails(*rawMessage) + if err != nil { + return nil, err + } + rcdArray[index] = rcd + } + return rcdArray, nil +} + // Sku is identifies the unique system identifier for each Azure resource. type Sku struct { Name SkuName `json:"name,omitempty"` @@ -160,6 +448,67 @@ type Vault struct { Sku *Sku `json:"sku,omitempty"` } +// VaultCertificateResponse is certificate corresponding to a vault that can be used by clients to register themselves +// with the vault. +type VaultCertificateResponse struct { + autorest.Response `json:"-"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + ID *string `json:"id,omitempty"` + Properties ResourceCertificateDetails `json:"properties,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for VaultCertificateResponse struct. +func (vcr *VaultCertificateResponse) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["name"] + if v != nil { + var name string + err = json.Unmarshal(*m["name"], &name) + if err != nil { + return err + } + vcr.Name = &name + } + + v = m["type"] + if v != nil { + var typeVar string + err = json.Unmarshal(*m["type"], &typeVar) + if err != nil { + return err + } + vcr.Type = &typeVar + } + + v = m["id"] + if v != nil { + var ID string + err = json.Unmarshal(*m["id"], &ID) + if err != nil { + return err + } + vcr.ID = &ID + } + + v = m["properties"] + if v != nil { + properties, err := unmarshalResourceCertificateDetails(*m["properties"]) + if err != nil { + return err + } + vcr.Properties = properties + } + + return nil +} + // VaultExtendedInfo is vault extended information. type VaultExtendedInfo struct { IntegrityKey *string `json:"integrityKey,omitempty"` @@ -190,3 +539,19 @@ type VaultProperties struct { ProvisioningState *string `json:"provisioningState,omitempty"` UpgradeDetails *UpgradeDetails `json:"upgradeDetails,omitempty"` } + +// VaultUsage is usages of a vault. +type VaultUsage struct { + Unit UsagesUnit `json:"unit,omitempty"` + QuotaPeriod *string `json:"quotaPeriod,omitempty"` + NextResetTime *date.Time `json:"nextResetTime,omitempty"` + CurrentValue *int64 `json:"currentValue,omitempty"` + Limit *int64 `json:"limit,omitempty"` + Name *NameInfo `json:"name,omitempty"` +} + +// VaultUsageList is usage for vault. +type VaultUsageList struct { + autorest.Response `json:"-"` + Value *[]VaultUsage `json:"value,omitempty"` +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/operations.go index 7e0a9cedc..142570338 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/operations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/operations.go @@ -14,9 +14,8 @@ package recoveryservices // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,8 +23,7 @@ import ( "net/http" ) -// OperationsClient is the client for the Operations methods of the -// Recoveryservices service. +// OperationsClient is the recovery Services Client type OperationsClient struct { ManagementClient } @@ -35,18 +33,14 @@ func NewOperationsClient(subscriptionID string) OperationsClient { return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewOperationsClientWithBaseURI creates an instance of the OperationsClient -// client. +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} } // List returns the list of available operations. -// -// resourceGroupName is the name of the resource group where the recovery -// services vault is present. -func (client OperationsClient) List(resourceGroupName string) (result ClientDiscoveryResponse, err error) { - req, err := client.ListPreparer(resourceGroupName) +func (client OperationsClient) List() (result ClientDiscoveryResponse, err error) { + req, err := client.ListPreparer() if err != nil { err = autorest.NewErrorWithError(err, "recoveryservices.OperationsClient", "List", nil, "Failure preparing request") return @@ -68,12 +62,7 @@ func (client OperationsClient) List(resourceGroupName string) (result ClientDisc } // ListPreparer prepares the List request. -func (client OperationsClient) ListPreparer(resourceGroupName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - +func (client OperationsClient) ListPreparer() (*http.Request, error) { const APIVersion = "2016-06-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, @@ -82,7 +71,7 @@ func (client OperationsClient) ListPreparer(resourceGroupName string) (*http.Req preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations", pathParameters), + autorest.WithPath("/providers/Microsoft.RecoveryServices/operations"), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -129,3 +118,48 @@ func (client OperationsClient) ListNextResults(lastResults ClientDiscoveryRespon return } + +// ListComplete gets all elements from the list without paging. +func (client OperationsClient) ListComplete(cancel <-chan struct{}) (<-chan ClientDiscoveryValueForSingleAPI, <-chan error) { + resultChan := make(chan ClientDiscoveryValueForSingleAPI) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/registeredidentities.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/registeredidentities.go new file mode 100644 index 000000000..68169e680 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/registeredidentities.go @@ -0,0 +1,105 @@ +package recoveryservices + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// RegisteredIdentitiesClient is the recovery Services Client +type RegisteredIdentitiesClient struct { + ManagementClient +} + +// NewRegisteredIdentitiesClient creates an instance of the RegisteredIdentitiesClient client. +func NewRegisteredIdentitiesClient(subscriptionID string) RegisteredIdentitiesClient { + return NewRegisteredIdentitiesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewRegisteredIdentitiesClientWithBaseURI creates an instance of the RegisteredIdentitiesClient client. +func NewRegisteredIdentitiesClientWithBaseURI(baseURI string, subscriptionID string) RegisteredIdentitiesClient { + return RegisteredIdentitiesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Delete unregisters the given container from your Recovery Services vault. +// +// resourceGroupName is the name of the resource group where the recovery services vault is present. vaultName is the +// name of the recovery services vault. identityName is name of the protection container to unregister. +func (client RegisteredIdentitiesClient) Delete(resourceGroupName string, vaultName string, identityName string) (result autorest.Response, err error) { + req, err := client.DeletePreparer(resourceGroupName, vaultName, identityName) + if err != nil { + err = autorest.NewErrorWithError(err, "recoveryservices.RegisteredIdentitiesClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "recoveryservices.RegisteredIdentitiesClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "recoveryservices.RegisteredIdentitiesClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client RegisteredIdentitiesClient) DeletePreparer(resourceGroupName string, vaultName string, identityName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "identityName": autorest.Encode("path", identityName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vaultName": autorest.Encode("path", vaultName), + } + + const APIVersion = "2016-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/registeredIdentities/{identityName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client RegisteredIdentitiesClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client RegisteredIdentitiesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/replicationusages.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/replicationusages.go new file mode 100644 index 000000000..e840d111c --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/replicationusages.go @@ -0,0 +1,105 @@ +package recoveryservices + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// ReplicationUsagesClient is the recovery Services Client +type ReplicationUsagesClient struct { + ManagementClient +} + +// NewReplicationUsagesClient creates an instance of the ReplicationUsagesClient client. +func NewReplicationUsagesClient(subscriptionID string) ReplicationUsagesClient { + return NewReplicationUsagesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewReplicationUsagesClientWithBaseURI creates an instance of the ReplicationUsagesClient client. +func NewReplicationUsagesClientWithBaseURI(baseURI string, subscriptionID string) ReplicationUsagesClient { + return ReplicationUsagesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List fetches the replication usages of the vault. +// +// resourceGroupName is the name of the resource group where the recovery services vault is present. vaultName is the +// name of the recovery services vault. +func (client ReplicationUsagesClient) List(resourceGroupName string, vaultName string) (result ReplicationUsageList, err error) { + req, err := client.ListPreparer(resourceGroupName, vaultName) + if err != nil { + err = autorest.NewErrorWithError(err, "recoveryservices.ReplicationUsagesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "recoveryservices.ReplicationUsagesClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "recoveryservices.ReplicationUsagesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ReplicationUsagesClient) ListPreparer(resourceGroupName string, vaultName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vaultName": autorest.Encode("path", vaultName), + } + + const APIVersion = "2016-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/replicationUsages", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ReplicationUsagesClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ReplicationUsagesClient) ListResponder(resp *http.Response) (result ReplicationUsageList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/usages.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/usages.go new file mode 100644 index 000000000..98439a83b --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/usages.go @@ -0,0 +1,105 @@ +package recoveryservices + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// UsagesClient is the recovery Services Client +type UsagesClient struct { + ManagementClient +} + +// NewUsagesClient creates an instance of the UsagesClient client. +func NewUsagesClient(subscriptionID string) UsagesClient { + return NewUsagesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewUsagesClientWithBaseURI creates an instance of the UsagesClient client. +func NewUsagesClientWithBaseURI(baseURI string, subscriptionID string) UsagesClient { + return UsagesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListByVaults fetches the usages of the vault. +// +// resourceGroupName is the name of the resource group where the recovery services vault is present. vaultName is the +// name of the recovery services vault. +func (client UsagesClient) ListByVaults(resourceGroupName string, vaultName string) (result VaultUsageList, err error) { + req, err := client.ListByVaultsPreparer(resourceGroupName, vaultName) + if err != nil { + err = autorest.NewErrorWithError(err, "recoveryservices.UsagesClient", "ListByVaults", nil, "Failure preparing request") + return + } + + resp, err := client.ListByVaultsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "recoveryservices.UsagesClient", "ListByVaults", resp, "Failure sending request") + return + } + + result, err = client.ListByVaultsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "recoveryservices.UsagesClient", "ListByVaults", resp, "Failure responding to request") + } + + return +} + +// ListByVaultsPreparer prepares the ListByVaults request. +func (client UsagesClient) ListByVaultsPreparer(resourceGroupName string, vaultName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vaultName": autorest.Encode("path", vaultName), + } + + const APIVersion = "2016-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/usages", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByVaultsSender sends the ListByVaults request. The method will close the +// http.Response Body if it receives an error. +func (client UsagesClient) ListByVaultsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByVaultsResponder handles the response to the ListByVaults request. The method always +// closes the http.Response Body. +func (client UsagesClient) ListByVaultsResponder(resp *http.Response) (result VaultUsageList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/vaultcertificates.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/vaultcertificates.go new file mode 100644 index 000000000..573e24286 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/vaultcertificates.go @@ -0,0 +1,109 @@ +package recoveryservices + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// VaultCertificatesClient is the recovery Services Client +type VaultCertificatesClient struct { + ManagementClient +} + +// NewVaultCertificatesClient creates an instance of the VaultCertificatesClient client. +func NewVaultCertificatesClient(subscriptionID string) VaultCertificatesClient { + return NewVaultCertificatesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVaultCertificatesClientWithBaseURI creates an instance of the VaultCertificatesClient client. +func NewVaultCertificatesClientWithBaseURI(baseURI string, subscriptionID string) VaultCertificatesClient { + return VaultCertificatesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Create upload a certificate for a resource. +// +// resourceGroupName is the name of the resource group where the recovery services vault is present. vaultName is the +// name of the recovery services vault. certificateName is certificate friendly name. certificateRequest is input +// parameters for uploading the vault certificate. +func (client VaultCertificatesClient) Create(resourceGroupName string, vaultName string, certificateName string, certificateRequest CertificateRequest) (result VaultCertificateResponse, err error) { + req, err := client.CreatePreparer(resourceGroupName, vaultName, certificateName, certificateRequest) + if err != nil { + err = autorest.NewErrorWithError(err, "recoveryservices.VaultCertificatesClient", "Create", nil, "Failure preparing request") + return + } + + resp, err := client.CreateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "recoveryservices.VaultCertificatesClient", "Create", resp, "Failure sending request") + return + } + + result, err = client.CreateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "recoveryservices.VaultCertificatesClient", "Create", resp, "Failure responding to request") + } + + return +} + +// CreatePreparer prepares the Create request. +func (client VaultCertificatesClient) CreatePreparer(resourceGroupName string, vaultName string, certificateName string, certificateRequest CertificateRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "certificateName": autorest.Encode("path", certificateName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vaultName": autorest.Encode("path", vaultName), + } + + const APIVersion = "2016-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/certificates/{certificateName}", pathParameters), + autorest.WithJSON(certificateRequest), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client VaultCertificatesClient) CreateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client VaultCertificatesClient) CreateResponder(resp *http.Response) (result VaultCertificateResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/vaultextendedinfo.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/vaultextendedinfo.go index 9c2ca76a4..6117cae97 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/vaultextendedinfo.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/vaultextendedinfo.go @@ -14,9 +14,8 @@ package recoveryservices // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,30 +23,25 @@ import ( "net/http" ) -// VaultExtendedInfoClient is the client for the VaultExtendedInfo methods of -// the Recoveryservices service. +// VaultExtendedInfoClient is the recovery Services Client type VaultExtendedInfoClient struct { ManagementClient } -// NewVaultExtendedInfoClient creates an instance of the -// VaultExtendedInfoClient client. +// NewVaultExtendedInfoClient creates an instance of the VaultExtendedInfoClient client. func NewVaultExtendedInfoClient(subscriptionID string) VaultExtendedInfoClient { return NewVaultExtendedInfoClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewVaultExtendedInfoClientWithBaseURI creates an instance of the -// VaultExtendedInfoClient client. +// NewVaultExtendedInfoClientWithBaseURI creates an instance of the VaultExtendedInfoClient client. func NewVaultExtendedInfoClientWithBaseURI(baseURI string, subscriptionID string) VaultExtendedInfoClient { return VaultExtendedInfoClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate create vault extended info. // -// resourceGroupName is the name of the resource group where the recovery -// services vault is present. vaultName is the name of the recovery services -// vault. resourceResourceExtendedInfoDetails is -// resourceResourceExtendedInfoDetails +// resourceGroupName is the name of the resource group where the recovery services vault is present. vaultName is the +// name of the recovery services vault. resourceResourceExtendedInfoDetails is resourceResourceExtendedInfoDetails func (client VaultExtendedInfoClient) CreateOrUpdate(resourceGroupName string, vaultName string, resourceResourceExtendedInfoDetails VaultExtendedInfoResource) (result VaultExtendedInfoResource, err error) { req, err := client.CreateOrUpdatePreparer(resourceGroupName, vaultName, resourceResourceExtendedInfoDetails) if err != nil { @@ -114,9 +108,8 @@ func (client VaultExtendedInfoClient) CreateOrUpdateResponder(resp *http.Respons // Get get the vault extended info. // -// resourceGroupName is the name of the resource group where the recovery -// services vault is present. vaultName is the name of the recovery services -// vault. +// resourceGroupName is the name of the resource group where the recovery services vault is present. vaultName is the +// name of the recovery services vault. func (client VaultExtendedInfoClient) Get(resourceGroupName string, vaultName string) (result VaultExtendedInfoResource, err error) { req, err := client.GetPreparer(resourceGroupName, vaultName) if err != nil { @@ -181,10 +174,8 @@ func (client VaultExtendedInfoClient) GetResponder(resp *http.Response) (result // Update update vault extended info. // -// resourceGroupName is the name of the resource group where the recovery -// services vault is present. vaultName is the name of the recovery services -// vault. resourceResourceExtendedInfoDetails is -// resourceResourceExtendedInfoDetails +// resourceGroupName is the name of the resource group where the recovery services vault is present. vaultName is the +// name of the recovery services vault. resourceResourceExtendedInfoDetails is resourceResourceExtendedInfoDetails func (client VaultExtendedInfoClient) Update(resourceGroupName string, vaultName string, resourceResourceExtendedInfoDetails VaultExtendedInfoResource) (result VaultExtendedInfoResource, err error) { req, err := client.UpdatePreparer(resourceGroupName, vaultName, resourceResourceExtendedInfoDetails) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/vaults.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/vaults.go index dbbd47d8c..70a2c7228 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/vaults.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/vaults.go @@ -14,9 +14,8 @@ package recoveryservices // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,8 +23,7 @@ import ( "net/http" ) -// VaultsClient is the client for the Vaults methods of the Recoveryservices -// service. +// VaultsClient is the recovery Services Client type VaultsClient struct { ManagementClient } @@ -42,9 +40,8 @@ func NewVaultsClientWithBaseURI(baseURI string, subscriptionID string) VaultsCli // CreateOrUpdate creates or updates a Recovery Services vault. // -// resourceGroupName is the name of the resource group where the recovery -// services vault is present. vaultName is the name of the recovery services -// vault. vault is recovery Services Vault to be created. +// resourceGroupName is the name of the resource group where the recovery services vault is present. vaultName is the +// name of the recovery services vault. vault is recovery Services Vault to be created. func (client VaultsClient) CreateOrUpdate(resourceGroupName string, vaultName string, vault Vault) (result Vault, err error) { req, err := client.CreateOrUpdatePreparer(resourceGroupName, vaultName, vault) if err != nil { @@ -111,9 +108,8 @@ func (client VaultsClient) CreateOrUpdateResponder(resp *http.Response) (result // Delete deletes a vault. // -// resourceGroupName is the name of the resource group where the recovery -// services vault is present. vaultName is the name of the recovery services -// vault. +// resourceGroupName is the name of the resource group where the recovery services vault is present. vaultName is the +// name of the recovery services vault. func (client VaultsClient) Delete(resourceGroupName string, vaultName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, vaultName) if err != nil { @@ -177,9 +173,8 @@ func (client VaultsClient) DeleteResponder(resp *http.Response) (result autorest // Get get the Vault details. // -// resourceGroupName is the name of the resource group where the recovery -// services vault is present. vaultName is the name of the recovery services -// vault. +// resourceGroupName is the name of the resource group where the recovery services vault is present. vaultName is the +// name of the recovery services vault. func (client VaultsClient) Get(resourceGroupName string, vaultName string) (result Vault, err error) { req, err := client.GetPreparer(resourceGroupName, vaultName) if err != nil { @@ -244,8 +239,7 @@ func (client VaultsClient) GetResponder(resp *http.Response) (result Vault, err // ListByResourceGroup retrieve a list of Vaults. // -// resourceGroupName is the name of the resource group where the recovery -// services vault is present. +// resourceGroupName is the name of the resource group where the recovery services vault is present. func (client VaultsClient) ListByResourceGroup(resourceGroupName string) (result VaultList, err error) { req, err := client.ListByResourceGroupPreparer(resourceGroupName) if err != nil { @@ -307,8 +301,7 @@ func (client VaultsClient) ListByResourceGroupResponder(resp *http.Response) (re return } -// ListBySubscriptionID fetches all the resources of the specified type in the -// subscription. +// ListBySubscriptionID fetches all the resources of the specified type in the subscription. func (client VaultsClient) ListBySubscriptionID() (result VaultList, err error) { req, err := client.ListBySubscriptionIDPreparer() if err != nil { @@ -371,9 +364,8 @@ func (client VaultsClient) ListBySubscriptionIDResponder(resp *http.Response) (r // Update updates the vault. // -// resourceGroupName is the name of the resource group where the recovery -// services vault is present. vaultName is the name of the recovery services -// vault. vault is recovery Services Vault to be created. +// resourceGroupName is the name of the resource group where the recovery services vault is present. vaultName is the +// name of the recovery services vault. vault is recovery Services Vault to be created. func (client VaultsClient) Update(resourceGroupName string, vaultName string, vault Vault) (result Vault, err error) { req, err := client.UpdatePreparer(resourceGroupName, vaultName, vault) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/version.go index bba9befd0..60254d844 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservices/version.go @@ -14,16 +14,15 @@ package recoveryservices // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-recoveryservices/2016-06-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-recoveryservices/" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupengines.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupengines.go index 4d3c2156f..6f22085d5 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupengines.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupengines.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,30 +23,26 @@ import ( "net/http" ) -// BackupEnginesClient is the client for the BackupEngines methods of the -// Recoveryservicesbackup service. +// BackupEnginesClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type BackupEnginesClient struct { ManagementClient } -// NewBackupEnginesClient creates an instance of the BackupEnginesClient -// client. +// NewBackupEnginesClient creates an instance of the BackupEnginesClient client. func NewBackupEnginesClient(subscriptionID string) BackupEnginesClient { return NewBackupEnginesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewBackupEnginesClientWithBaseURI creates an instance of the -// BackupEnginesClient client. +// NewBackupEnginesClientWithBaseURI creates an instance of the BackupEnginesClient client. func NewBackupEnginesClientWithBaseURI(baseURI string, subscriptionID string) BackupEnginesClient { return BackupEnginesClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get returns backup management server registered to Recovery Services Vault. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// backupEngineName is name of the backup management server. filter is oData -// filter options. skipToken is skipToken Filter. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. backupEngineName is name of the backup management server. filter is oData filter +// options. skipToken is skipToken Filter. func (client BackupEnginesClient) Get(vaultName string, resourceGroupName string, backupEngineName string, filter string, skipToken string) (result BackupEngineBaseResource, err error) { req, err := client.GetPreparer(vaultName, resourceGroupName, backupEngineName, filter, skipToken) if err != nil { @@ -117,12 +112,10 @@ func (client BackupEnginesClient) GetResponder(resp *http.Response) (result Back return } -// List backup management servers registered to Recovery Services Vault. -// Returns a pageable list of servers. +// List backup management servers registered to Recovery Services Vault. Returns a pageable list of servers. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// filter is oData filter options. skipToken is skipToken Filter. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. filter is oData filter options. skipToken is skipToken Filter. func (client BackupEnginesClient) List(vaultName string, resourceGroupName string, filter string, skipToken string) (result BackupEngineBaseResourceList, err error) { req, err := client.ListPreparer(vaultName, resourceGroupName, filter, skipToken) if err != nil { @@ -214,3 +207,48 @@ func (client BackupEnginesClient) ListNextResults(lastResults BackupEngineBaseRe return } + +// ListComplete gets all elements from the list without paging. +func (client BackupEnginesClient) ListComplete(vaultName string, resourceGroupName string, filter string, skipToken string, cancel <-chan struct{}) (<-chan BackupEngineBaseResource, <-chan error) { + resultChan := make(chan BackupEngineBaseResource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(vaultName, resourceGroupName, filter, skipToken) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupjobs.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupjobs.go index 636cd364d..dda089b79 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupjobs.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupjobs.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,8 +23,7 @@ import ( "net/http" ) -// BackupJobsClient is the client for the BackupJobs methods of the -// Recoveryservicesbackup service. +// BackupJobsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type BackupJobsClient struct { ManagementClient } @@ -35,17 +33,15 @@ func NewBackupJobsClient(subscriptionID string) BackupJobsClient { return NewBackupJobsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewBackupJobsClientWithBaseURI creates an instance of the BackupJobsClient -// client. +// NewBackupJobsClientWithBaseURI creates an instance of the BackupJobsClient client. func NewBackupJobsClientWithBaseURI(baseURI string, subscriptionID string) BackupJobsClient { return BackupJobsClient{NewWithBaseURI(baseURI, subscriptionID)} } // List provides a pageable list of jobs. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// filter is oData filter options. skipToken is skipToken Filter. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. filter is oData filter options. skipToken is skipToken Filter. func (client BackupJobsClient) List(vaultName string, resourceGroupName string, filter string, skipToken string) (result JobResourceList, err error) { req, err := client.ListPreparer(vaultName, resourceGroupName, filter, skipToken) if err != nil { @@ -76,7 +72,7 @@ func (client BackupJobsClient) ListPreparer(vaultName string, resourceGroupName "vaultName": autorest.Encode("path", vaultName), } - const APIVersion = "2016-12-01" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -137,3 +133,48 @@ func (client BackupJobsClient) ListNextResults(lastResults JobResourceList) (res return } + +// ListComplete gets all elements from the list without paging. +func (client BackupJobsClient) ListComplete(vaultName string, resourceGroupName string, filter string, skipToken string, cancel <-chan struct{}) (<-chan JobResource, <-chan error) { + resultChan := make(chan JobResource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(vaultName, resourceGroupName, filter, skipToken) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupoperationresults.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupoperationresults.go index 8167c53b6..ccd38b592 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupoperationresults.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupoperationresults.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,34 +23,28 @@ import ( "net/http" ) -// BackupOperationResultsClient is the client for the BackupOperationResults -// methods of the Recoveryservicesbackup service. +// BackupOperationResultsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type BackupOperationResultsClient struct { ManagementClient } -// NewBackupOperationResultsClient creates an instance of the -// BackupOperationResultsClient client. +// NewBackupOperationResultsClient creates an instance of the BackupOperationResultsClient client. func NewBackupOperationResultsClient(subscriptionID string) BackupOperationResultsClient { return NewBackupOperationResultsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewBackupOperationResultsClientWithBaseURI creates an instance of the -// BackupOperationResultsClient client. +// NewBackupOperationResultsClientWithBaseURI creates an instance of the BackupOperationResultsClient client. func NewBackupOperationResultsClientWithBaseURI(baseURI string, subscriptionID string) BackupOperationResultsClient { return BackupOperationResultsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Get provides the status of the delete operations such as deleting backed up -// item. Once the operation has started, the status code in the response would -// be Accepted. It will continue to be in this state till it reaches -// completion. On successful completion, the status code will be OK. This -// method expects OperationID as an argument. OperationID is part of the -// Location header of the operation response. +// Get provides the status of the delete operations such as deleting backed up item. Once the operation has started, +// the status code in the response would be Accepted. It will continue to be in this state till it reaches completion. +// On successful completion, the status code will be OK. This method expects OperationID as an argument. OperationID is +// part of the Location header of the operation response. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// operationID is operationID which represents the operation. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. operationID is operationID which represents the operation. func (client BackupOperationResultsClient) Get(vaultName string, resourceGroupName string, operationID string) (result autorest.Response, err error) { req, err := client.GetPreparer(vaultName, resourceGroupName, operationID) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupoperationstatuses.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupoperationstatuses.go index 9a5f14ba3..0a46c0b2e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupoperationstatuses.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupoperationstatuses.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,33 +23,27 @@ import ( "net/http" ) -// BackupOperationStatusesClient is the client for the BackupOperationStatuses -// methods of the Recoveryservicesbackup service. +// BackupOperationStatusesClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type BackupOperationStatusesClient struct { ManagementClient } -// NewBackupOperationStatusesClient creates an instance of the -// BackupOperationStatusesClient client. +// NewBackupOperationStatusesClient creates an instance of the BackupOperationStatusesClient client. func NewBackupOperationStatusesClient(subscriptionID string) BackupOperationStatusesClient { return NewBackupOperationStatusesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewBackupOperationStatusesClientWithBaseURI creates an instance of the -// BackupOperationStatusesClient client. +// NewBackupOperationStatusesClientWithBaseURI creates an instance of the BackupOperationStatusesClient client. func NewBackupOperationStatusesClientWithBaseURI(baseURI string, subscriptionID string) BackupOperationStatusesClient { return BackupOperationStatusesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Get fetches the status of an operation such as triggering a backup, restore. -// The status can be in progress, completed or failed. You can refer to the -// OperationStatus enum for all the possible states of an operation. Some -// operations create jobs. This method returns the list of jobs when the -// operation is complete. +// Get fetches the status of an operation such as triggering a backup, restore. The status can be in progress, +// completed or failed. You can refer to the OperationStatus enum for all the possible states of an operation. Some +// operations create jobs. This method returns the list of jobs when the operation is complete. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// operationID is operationID which represents the operation. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. operationID is operationID which represents the operation. func (client BackupOperationStatusesClient) Get(vaultName string, resourceGroupName string, operationID string) (result OperationStatus, err error) { req, err := client.GetPreparer(vaultName, resourceGroupName, operationID) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backuppolicies.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backuppolicies.go index 2c81779a0..439a1268b 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backuppolicies.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backuppolicies.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,30 +23,26 @@ import ( "net/http" ) -// BackupPoliciesClient is the client for the BackupPolicies methods of the -// Recoveryservicesbackup service. +// BackupPoliciesClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type BackupPoliciesClient struct { ManagementClient } -// NewBackupPoliciesClient creates an instance of the BackupPoliciesClient -// client. +// NewBackupPoliciesClient creates an instance of the BackupPoliciesClient client. func NewBackupPoliciesClient(subscriptionID string) BackupPoliciesClient { return NewBackupPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewBackupPoliciesClientWithBaseURI creates an instance of the -// BackupPoliciesClient client. +// NewBackupPoliciesClientWithBaseURI creates an instance of the BackupPoliciesClient client. func NewBackupPoliciesClientWithBaseURI(baseURI string, subscriptionID string) BackupPoliciesClient { return BackupPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// List lists of backup policies associated with Recovery Services Vault. API -// provides pagination parameters to fetch scoped results. +// List lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch +// scoped results. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// filter is oData filter options. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. filter is oData filter options. func (client BackupPoliciesClient) List(vaultName string, resourceGroupName string, filter string) (result ProtectionPolicyResourceList, err error) { req, err := client.ListPreparer(vaultName, resourceGroupName, filter) if err != nil { @@ -136,3 +131,48 @@ func (client BackupPoliciesClient) ListNextResults(lastResults ProtectionPolicyR return } + +// ListComplete gets all elements from the list without paging. +func (client BackupPoliciesClient) ListComplete(vaultName string, resourceGroupName string, filter string, cancel <-chan struct{}) (<-chan ProtectionPolicyResource, <-chan error) { + resultChan := make(chan ProtectionPolicyResource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(vaultName, resourceGroupName, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupprotectableitems.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupprotectableitems.go index c8008db70..85f7a9a38 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupprotectableitems.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupprotectableitems.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,30 +23,26 @@ import ( "net/http" ) -// BackupProtectableItemsClient is the client for the BackupProtectableItems -// methods of the Recoveryservicesbackup service. +// BackupProtectableItemsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type BackupProtectableItemsClient struct { ManagementClient } -// NewBackupProtectableItemsClient creates an instance of the -// BackupProtectableItemsClient client. +// NewBackupProtectableItemsClient creates an instance of the BackupProtectableItemsClient client. func NewBackupProtectableItemsClient(subscriptionID string) BackupProtectableItemsClient { return NewBackupProtectableItemsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewBackupProtectableItemsClientWithBaseURI creates an instance of the -// BackupProtectableItemsClient client. +// NewBackupProtectableItemsClientWithBaseURI creates an instance of the BackupProtectableItemsClient client. func NewBackupProtectableItemsClientWithBaseURI(baseURI string, subscriptionID string) BackupProtectableItemsClient { return BackupProtectableItemsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// List provides a pageable list of protectable objects within your -// subscription according to the query filter and the pagination parameters. +// List provides a pageable list of protectable objects within your subscription according to the query filter and the +// pagination parameters. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// filter is oData filter options. skipToken is skipToken Filter. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. filter is oData filter options. skipToken is skipToken Filter. func (client BackupProtectableItemsClient) List(vaultName string, resourceGroupName string, filter string, skipToken string) (result WorkloadProtectableItemResourceList, err error) { req, err := client.ListPreparer(vaultName, resourceGroupName, filter, skipToken) if err != nil { @@ -139,3 +134,48 @@ func (client BackupProtectableItemsClient) ListNextResults(lastResults WorkloadP return } + +// ListComplete gets all elements from the list without paging. +func (client BackupProtectableItemsClient) ListComplete(vaultName string, resourceGroupName string, filter string, skipToken string, cancel <-chan struct{}) (<-chan WorkloadProtectableItemResource, <-chan error) { + resultChan := make(chan WorkloadProtectableItemResource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(vaultName, resourceGroupName, filter, skipToken) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupprotecteditems.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupprotecteditems.go index 171dd82b9..702cb8d6a 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupprotecteditems.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupprotecteditems.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,30 +23,25 @@ import ( "net/http" ) -// BackupProtectedItemsClient is the client for the BackupProtectedItems -// methods of the Recoveryservicesbackup service. +// BackupProtectedItemsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type BackupProtectedItemsClient struct { ManagementClient } -// NewBackupProtectedItemsClient creates an instance of the -// BackupProtectedItemsClient client. +// NewBackupProtectedItemsClient creates an instance of the BackupProtectedItemsClient client. func NewBackupProtectedItemsClient(subscriptionID string) BackupProtectedItemsClient { return NewBackupProtectedItemsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewBackupProtectedItemsClientWithBaseURI creates an instance of the -// BackupProtectedItemsClient client. +// NewBackupProtectedItemsClientWithBaseURI creates an instance of the BackupProtectedItemsClient client. func NewBackupProtectedItemsClientWithBaseURI(baseURI string, subscriptionID string) BackupProtectedItemsClient { return BackupProtectedItemsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// List provides a pageable list of all items that can be backed up within a -// subscription. +// List provides a pageable list of all items that are backed up within a vault. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// filter is oData filter options. skipToken is skipToken Filter. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. filter is oData filter options. skipToken is skipToken Filter. func (client BackupProtectedItemsClient) List(vaultName string, resourceGroupName string, filter string, skipToken string) (result ProtectedItemResourceList, err error) { req, err := client.ListPreparer(vaultName, resourceGroupName, filter, skipToken) if err != nil { @@ -139,3 +133,48 @@ func (client BackupProtectedItemsClient) ListNextResults(lastResults ProtectedIt return } + +// ListComplete gets all elements from the list without paging. +func (client BackupProtectedItemsClient) ListComplete(vaultName string, resourceGroupName string, filter string, skipToken string, cancel <-chan struct{}) (<-chan ProtectedItemResource, <-chan error) { + resultChan := make(chan ProtectedItemResource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(vaultName, resourceGroupName, filter, skipToken) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupprotectioncontainers.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupprotectioncontainers.go index 73611a215..7573ea7ce 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupprotectioncontainers.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupprotectioncontainers.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,29 +23,25 @@ import ( "net/http" ) -// BackupProtectionContainersClient is the client for the -// BackupProtectionContainers methods of the Recoveryservicesbackup service. +// BackupProtectionContainersClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type BackupProtectionContainersClient struct { ManagementClient } -// NewBackupProtectionContainersClient creates an instance of the -// BackupProtectionContainersClient client. +// NewBackupProtectionContainersClient creates an instance of the BackupProtectionContainersClient client. func NewBackupProtectionContainersClient(subscriptionID string) BackupProtectionContainersClient { return NewBackupProtectionContainersClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewBackupProtectionContainersClientWithBaseURI creates an instance of the -// BackupProtectionContainersClient client. +// NewBackupProtectionContainersClientWithBaseURI creates an instance of the BackupProtectionContainersClient client. func NewBackupProtectionContainersClientWithBaseURI(baseURI string, subscriptionID string) BackupProtectionContainersClient { return BackupProtectionContainersClient{NewWithBaseURI(baseURI, subscriptionID)} } // List lists the containers registered to Recovery Services Vault. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// filter is oData filter options. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. filter is oData filter options. func (client BackupProtectionContainersClient) List(vaultName string, resourceGroupName string, filter string) (result ProtectionContainerResourceList, err error) { req, err := client.ListPreparer(vaultName, resourceGroupName, filter) if err != nil { @@ -135,3 +130,48 @@ func (client BackupProtectionContainersClient) ListNextResults(lastResults Prote return } + +// ListComplete gets all elements from the list without paging. +func (client BackupProtectionContainersClient) ListComplete(vaultName string, resourceGroupName string, filter string, cancel <-chan struct{}) (<-chan ProtectionContainerResource, <-chan error) { + resultChan := make(chan ProtectionContainerResource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(vaultName, resourceGroupName, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupresourcestorageconfigs.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupresourcestorageconfigs.go index 0a495b1bd..371bdd733 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupresourcestorageconfigs.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupresourcestorageconfigs.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,28 +23,26 @@ import ( "net/http" ) -// BackupResourceStorageConfigsClient is the client for the -// BackupResourceStorageConfigs methods of the Recoveryservicesbackup service. +// BackupResourceStorageConfigsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type BackupResourceStorageConfigsClient struct { ManagementClient } -// NewBackupResourceStorageConfigsClient creates an instance of the -// BackupResourceStorageConfigsClient client. +// NewBackupResourceStorageConfigsClient creates an instance of the BackupResourceStorageConfigsClient client. func NewBackupResourceStorageConfigsClient(subscriptionID string) BackupResourceStorageConfigsClient { return NewBackupResourceStorageConfigsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewBackupResourceStorageConfigsClientWithBaseURI creates an instance of the -// BackupResourceStorageConfigsClient client. +// NewBackupResourceStorageConfigsClientWithBaseURI creates an instance of the BackupResourceStorageConfigsClient +// client. func NewBackupResourceStorageConfigsClientWithBaseURI(baseURI string, subscriptionID string) BackupResourceStorageConfigsClient { return BackupResourceStorageConfigsClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get fetches resource storage config. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. func (client BackupResourceStorageConfigsClient) Get(vaultName string, resourceGroupName string) (result BackupResourceConfigResource, err error) { req, err := client.GetPreparer(vaultName, resourceGroupName) if err != nil { @@ -110,8 +107,8 @@ func (client BackupResourceStorageConfigsClient) GetResponder(resp *http.Respons // Update updates vault storage model type. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. func (client BackupResourceStorageConfigsClient) Update(vaultName string, resourceGroupName string) (result autorest.Response, err error) { req, err := client.UpdatePreparer(vaultName, resourceGroupName) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupresourcevaultconfigs.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupresourcevaultconfigs.go index 65c97f7ae..8c33da406 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupresourcevaultconfigs.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupresourcevaultconfigs.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,28 +23,25 @@ import ( "net/http" ) -// BackupResourceVaultConfigsClient is the client for the -// BackupResourceVaultConfigs methods of the Recoveryservicesbackup service. +// BackupResourceVaultConfigsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type BackupResourceVaultConfigsClient struct { ManagementClient } -// NewBackupResourceVaultConfigsClient creates an instance of the -// BackupResourceVaultConfigsClient client. +// NewBackupResourceVaultConfigsClient creates an instance of the BackupResourceVaultConfigsClient client. func NewBackupResourceVaultConfigsClient(subscriptionID string) BackupResourceVaultConfigsClient { return NewBackupResourceVaultConfigsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewBackupResourceVaultConfigsClientWithBaseURI creates an instance of the -// BackupResourceVaultConfigsClient client. +// NewBackupResourceVaultConfigsClientWithBaseURI creates an instance of the BackupResourceVaultConfigsClient client. func NewBackupResourceVaultConfigsClientWithBaseURI(baseURI string, subscriptionID string) BackupResourceVaultConfigsClient { return BackupResourceVaultConfigsClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get fetches resource vault config. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. func (client BackupResourceVaultConfigsClient) Get(vaultName string, resourceGroupName string) (result BackupResourceVaultConfigResource, err error) { req, err := client.GetPreparer(vaultName, resourceGroupName) if err != nil { @@ -110,9 +106,8 @@ func (client BackupResourceVaultConfigsClient) GetResponder(resp *http.Response) // Update updates vault security config. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// parameters is resource config request +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. parameters is resource config request func (client BackupResourceVaultConfigsClient) Update(vaultName string, resourceGroupName string, parameters BackupResourceVaultConfigResource) (result BackupResourceVaultConfigResource, err error) { req, err := client.UpdatePreparer(vaultName, resourceGroupName, parameters) if err != nil { @@ -170,7 +165,7 @@ func (client BackupResourceVaultConfigsClient) UpdateResponder(resp *http.Respon err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + azure.WithErrorUnlessStatusCode(http.StatusOK), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backups.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backups.go index 92587608d..fd9b434fb 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backups.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backups.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,8 +23,7 @@ import ( "net/http" ) -// BackupsClient is the client for the Backups methods of the -// Recoveryservicesbackup service. +// BackupsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type BackupsClient struct { ManagementClient } @@ -40,16 +38,13 @@ func NewBackupsClientWithBaseURI(baseURI string, subscriptionID string) BackupsC return BackupsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Trigger triggers backup for specified backed up item. This is an -// asynchronous operation. To know the status of the operation, call -// GetProtectedItemOperationResult API. +// Trigger triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the +// operation, call GetProtectedItemOperationResult API. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// fabricName is fabric name associated with the backup item. containerName is -// container name associated with the backup item. protectedItemName is backup -// item for which backup needs to be triggered. parameters is resource backup -// request +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. fabricName is fabric name associated with the backup item. containerName is +// container name associated with the backup item. protectedItemName is backup item for which backup needs to be +// triggered. parameters is resource backup request func (client BackupsClient) Trigger(vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, parameters BackupRequestResource) (result autorest.Response, err error) { req, err := client.TriggerPreparer(vaultName, resourceGroupName, fabricName, containerName, protectedItemName, parameters) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupusagesummaries.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupusagesummaries.go index 859a13680..0d831b3a5 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupusagesummaries.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/backupusagesummaries.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,29 +23,25 @@ import ( "net/http" ) -// BackupUsageSummariesClient is the client for the BackupUsageSummaries -// methods of the Recoveryservicesbackup service. +// BackupUsageSummariesClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type BackupUsageSummariesClient struct { ManagementClient } -// NewBackupUsageSummariesClient creates an instance of the -// BackupUsageSummariesClient client. +// NewBackupUsageSummariesClient creates an instance of the BackupUsageSummariesClient client. func NewBackupUsageSummariesClient(subscriptionID string) BackupUsageSummariesClient { return NewBackupUsageSummariesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewBackupUsageSummariesClientWithBaseURI creates an instance of the -// BackupUsageSummariesClient client. +// NewBackupUsageSummariesClientWithBaseURI creates an instance of the BackupUsageSummariesClient client. func NewBackupUsageSummariesClientWithBaseURI(baseURI string, subscriptionID string) BackupUsageSummariesClient { return BackupUsageSummariesClient{NewWithBaseURI(baseURI, subscriptionID)} } // List fetches the backup management usage summaries of the vault. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// filter is oData filter options. skipToken is skipToken Filter. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. filter is oData filter options. skipToken is skipToken Filter. func (client BackupUsageSummariesClient) List(vaultName string, resourceGroupName string, filter string, skipToken string) (result BackupManagementUsageList, err error) { req, err := client.ListPreparer(vaultName, resourceGroupName, filter, skipToken) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/client.go index 94e5c4045..be35a6bf3 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/client.go @@ -1,7 +1,6 @@ -// Package recoveryservicesbackup implements the Azure ARM -// Recoveryservicesbackup service API version 2016-12-01. -// +// Package recoveryservicesbackup implements the Azure ARM Recoveryservicesbackup service API version . // +// Open API 2.0 Specs for Azure RecoveryServices Backup service package recoveryservicesbackup // Copyright (c) Microsoft and contributors. All rights reserved. @@ -18,9 +17,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/exportjobsoperationresults.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/exportjobsoperationresults.go index e99b12c6c..51e3e45c8 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/exportjobsoperationresults.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/exportjobsoperationresults.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,32 +23,27 @@ import ( "net/http" ) -// ExportJobsOperationResultsClient is the client for the -// ExportJobsOperationResults methods of the Recoveryservicesbackup service. +// ExportJobsOperationResultsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type ExportJobsOperationResultsClient struct { ManagementClient } -// NewExportJobsOperationResultsClient creates an instance of the -// ExportJobsOperationResultsClient client. +// NewExportJobsOperationResultsClient creates an instance of the ExportJobsOperationResultsClient client. func NewExportJobsOperationResultsClient(subscriptionID string) ExportJobsOperationResultsClient { return NewExportJobsOperationResultsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewExportJobsOperationResultsClientWithBaseURI creates an instance of the -// ExportJobsOperationResultsClient client. +// NewExportJobsOperationResultsClientWithBaseURI creates an instance of the ExportJobsOperationResultsClient client. func NewExportJobsOperationResultsClientWithBaseURI(baseURI string, subscriptionID string) ExportJobsOperationResultsClient { return ExportJobsOperationResultsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Get gets the operation result of operation triggered by Export Jobs API. If -// the operation is successful, then it also contains URL of a Blob and a SAS -// key to access the same. The blob contains exported jobs in JSON serialized +// Get gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it +// also contains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized // format. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// operationID is operationID which represents the export job. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. operationID is operationID which represents the export job. func (client ExportJobsOperationResultsClient) Get(vaultName string, resourceGroupName string, operationID string) (result OperationResultInfoBaseResource, err error) { req, err := client.GetPreparer(vaultName, resourceGroupName, operationID) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/itemlevelrecoveryconnections.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/itemlevelrecoveryconnections.go index 4df44e0ee..189684ae1 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/itemlevelrecoveryconnections.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/itemlevelrecoveryconnections.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,36 +23,31 @@ import ( "net/http" ) -// ItemLevelRecoveryConnectionsClient is the client for the -// ItemLevelRecoveryConnections methods of the Recoveryservicesbackup service. +// ItemLevelRecoveryConnectionsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type ItemLevelRecoveryConnectionsClient struct { ManagementClient } -// NewItemLevelRecoveryConnectionsClient creates an instance of the -// ItemLevelRecoveryConnectionsClient client. +// NewItemLevelRecoveryConnectionsClient creates an instance of the ItemLevelRecoveryConnectionsClient client. func NewItemLevelRecoveryConnectionsClient(subscriptionID string) ItemLevelRecoveryConnectionsClient { return NewItemLevelRecoveryConnectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewItemLevelRecoveryConnectionsClientWithBaseURI creates an instance of the -// ItemLevelRecoveryConnectionsClient client. +// NewItemLevelRecoveryConnectionsClientWithBaseURI creates an instance of the ItemLevelRecoveryConnectionsClient +// client. func NewItemLevelRecoveryConnectionsClientWithBaseURI(baseURI string, subscriptionID string) ItemLevelRecoveryConnectionsClient { return ItemLevelRecoveryConnectionsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Provision provisions a script which invokes an iSCSI connection to the -// backup data. Executing this script opens a file explorer displaying all the -// recoverable files and folders. This is an asynchronous operation. To know -// the status of provisioning, call GetProtectedItemOperationResult API. +// Provision provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens a +// file explorer displaying all the recoverable files and folders. This is an asynchronous operation. To know the +// status of provisioning, call GetProtectedItemOperationResult API. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// fabricName is fabric name associated with the backed up items. containerName -// is container name associated with the backed up items. protectedItemName is -// backed up item name whose files/folders are to be restored. recoveryPointID -// is recovery point ID which represents backed up data. iSCSI connection will -// be provisioned for this backed up data. parameters is resource ILR request +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. fabricName is fabric name associated with the backed up items. containerName is +// container name associated with the backed up items. protectedItemName is backed up item name whose files/folders are +// to be restored. recoveryPointID is recovery point ID which represents backed up data. iSCSI connection will be +// provisioned for this backed up data. parameters is resource ILR request func (client ItemLevelRecoveryConnectionsClient) Provision(vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string, parameters ILRRequestResource) (result autorest.Response, err error) { req, err := client.ProvisionPreparer(vaultName, resourceGroupName, fabricName, containerName, protectedItemName, recoveryPointID, parameters) if err != nil { @@ -121,17 +115,14 @@ func (client ItemLevelRecoveryConnectionsClient) ProvisionResponder(resp *http.R return } -// Revoke revokes an iSCSI connection which can be used to download a script. -// Executing this script opens a file explorer displaying all recoverable files -// and folders. This is an asynchronous operation. +// Revoke revokes an iSCSI connection which can be used to download a script. Executing this script opens a file +// explorer displaying all recoverable files and folders. This is an asynchronous operation. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// fabricName is fabric name associated with the backed up items. containerName -// is container name associated with the backed up items. protectedItemName is -// backed up item name whose files/folders are to be restored. recoveryPointID -// is recovery point ID which represents backed up data. iSCSI connection will -// be revoked for this backed up data. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. fabricName is fabric name associated with the backed up items. containerName is +// container name associated with the backed up items. protectedItemName is backed up item name whose files/folders are +// to be restored. recoveryPointID is recovery point ID which represents backed up data. iSCSI connection will be +// revoked for this backed up data. func (client ItemLevelRecoveryConnectionsClient) Revoke(vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string) (result autorest.Response, err error) { req, err := client.RevokePreparer(vaultName, resourceGroupName, fabricName, containerName, protectedItemName, recoveryPointID) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/jobcancellations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/jobcancellations.go index 03f04be3c..3fc966051 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/jobcancellations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/jobcancellations.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,30 +23,26 @@ import ( "net/http" ) -// JobCancellationsClient is the client for the JobCancellations methods of the -// Recoveryservicesbackup service. +// JobCancellationsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type JobCancellationsClient struct { ManagementClient } -// NewJobCancellationsClient creates an instance of the JobCancellationsClient -// client. +// NewJobCancellationsClient creates an instance of the JobCancellationsClient client. func NewJobCancellationsClient(subscriptionID string) JobCancellationsClient { return NewJobCancellationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewJobCancellationsClientWithBaseURI creates an instance of the -// JobCancellationsClient client. +// NewJobCancellationsClientWithBaseURI creates an instance of the JobCancellationsClient client. func NewJobCancellationsClientWithBaseURI(baseURI string, subscriptionID string) JobCancellationsClient { return JobCancellationsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Trigger cancels a job. This is an asynchronous operation. To know the status -// of the cancellation, call GetCancelOperationResult API. +// Trigger cancels a job. This is an asynchronous operation. To know the status of the cancellation, call +// GetCancelOperationResult API. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// jobName is name of the job to cancel. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. jobName is name of the job to cancel. func (client JobCancellationsClient) Trigger(vaultName string, resourceGroupName string, jobName string) (result autorest.Response, err error) { req, err := client.TriggerPreparer(vaultName, resourceGroupName, jobName) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/jobdetails.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/jobdetails.go index b7bd259c0..365190d00 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/jobdetails.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/jobdetails.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,8 +23,7 @@ import ( "net/http" ) -// JobDetailsClient is the client for the JobDetails methods of the -// Recoveryservicesbackup service. +// JobDetailsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type JobDetailsClient struct { ManagementClient } @@ -35,17 +33,15 @@ func NewJobDetailsClient(subscriptionID string) JobDetailsClient { return NewJobDetailsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewJobDetailsClientWithBaseURI creates an instance of the JobDetailsClient -// client. +// NewJobDetailsClientWithBaseURI creates an instance of the JobDetailsClient client. func NewJobDetailsClientWithBaseURI(baseURI string, subscriptionID string) JobDetailsClient { return JobDetailsClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get gets exteded information associated with the job. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// jobName is name of the job whose details are to be fetched. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. jobName is name of the job whose details are to be fetched. func (client JobDetailsClient) Get(vaultName string, resourceGroupName string, jobName string) (result JobResource, err error) { req, err := client.GetPreparer(vaultName, resourceGroupName, jobName) if err != nil { @@ -77,7 +73,7 @@ func (client JobDetailsClient) GetPreparer(vaultName string, resourceGroupName s "vaultName": autorest.Encode("path", vaultName), } - const APIVersion = "2016-12-01" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/joboperationresults.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/joboperationresults.go index 7e7c24965..45c2ab71a 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/joboperationresults.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/joboperationresults.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,20 +23,17 @@ import ( "net/http" ) -// JobOperationResultsClient is the client for the JobOperationResults methods -// of the Recoveryservicesbackup service. +// JobOperationResultsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type JobOperationResultsClient struct { ManagementClient } -// NewJobOperationResultsClient creates an instance of the -// JobOperationResultsClient client. +// NewJobOperationResultsClient creates an instance of the JobOperationResultsClient client. func NewJobOperationResultsClient(subscriptionID string) JobOperationResultsClient { return NewJobOperationResultsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewJobOperationResultsClientWithBaseURI creates an instance of the -// JobOperationResultsClient client. +// NewJobOperationResultsClientWithBaseURI creates an instance of the JobOperationResultsClient client. func NewJobOperationResultsClientWithBaseURI(baseURI string, subscriptionID string) JobOperationResultsClient { return JobOperationResultsClient{NewWithBaseURI(baseURI, subscriptionID)} } @@ -45,9 +41,8 @@ func NewJobOperationResultsClientWithBaseURI(baseURI string, subscriptionID stri // Get fetches the result of any operation. // the operation. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// jobName is job name whose operation result has to be fetched. operationID is +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. jobName is job name whose operation result has to be fetched. operationID is // operationID which represents the operation whose result has to be fetched. func (client JobOperationResultsClient) Get(vaultName string, resourceGroupName string, jobName string, operationID string) (result autorest.Response, err error) { req, err := client.GetPreparer(vaultName, resourceGroupName, jobName, operationID) diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/jobs.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/jobs.go index e505fe307..fe4bf893e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/jobs.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/jobs.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,8 +23,7 @@ import ( "net/http" ) -// JobsClient is the client for the Jobs methods of the Recoveryservicesbackup -// service. +// JobsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type JobsClient struct { ManagementClient } @@ -40,12 +38,10 @@ func NewJobsClientWithBaseURI(baseURI string, subscriptionID string) JobsClient return JobsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Export triggers export of jobs specified by filters and returns an -// OperationID to track. +// Export triggers export of jobs specified by filters and returns an OperationID to track. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// filter is oData filter options. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. filter is oData filter options. func (client JobsClient) Export(vaultName string, resourceGroupName string, filter string) (result autorest.Response, err error) { req, err := client.ExportPreparer(vaultName, resourceGroupName, filter) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/models.go index 153523c88..fd56c5111 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/models.go @@ -14,17 +14,29 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( + "encoding/json" + "errors" "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/date" "github.com/Azure/go-autorest/autorest/to" "net/http" ) +// BackupEngineType enumerates the values for backup engine type. +type BackupEngineType string + +const ( + // BackupEngineTypeAzureBackupServerEngine specifies the backup engine type azure backup server engine state for backup + // engine type. + BackupEngineTypeAzureBackupServerEngine BackupEngineType = "AzureBackupServerEngine" + // BackupEngineTypeDpmBackupEngine specifies the backup engine type dpm backup engine state for backup engine type. + BackupEngineTypeDpmBackupEngine BackupEngineType = "DpmBackupEngine" +) + // BackupItemType enumerates the values for backup item type. type BackupItemType string @@ -37,8 +49,7 @@ const ( Exchange BackupItemType = "Exchange" // FileFolder specifies the file folder state for backup item type. FileFolder BackupItemType = "FileFolder" - // GenericDataSource specifies the generic data source state for backup - // item type. + // GenericDataSource specifies the generic data source state for backup item type. GenericDataSource BackupItemType = "GenericDataSource" // Invalid specifies the invalid state for backup item type. Invalid BackupItemType = "Invalid" @@ -58,23 +69,18 @@ const ( type BackupManagementType string const ( - // BackupManagementTypeAzureBackupServer specifies the backup management - // type azure backup server state for backup management type. + // BackupManagementTypeAzureBackupServer specifies the backup management type azure backup server state for backup + // management type. BackupManagementTypeAzureBackupServer BackupManagementType = "AzureBackupServer" - // BackupManagementTypeAzureIaasVM specifies the backup management type - // azure iaas vm state for backup management type. + // BackupManagementTypeAzureIaasVM specifies the backup management type azure iaas vm state for backup management type. BackupManagementTypeAzureIaasVM BackupManagementType = "AzureIaasVM" - // BackupManagementTypeAzureSQL specifies the backup management type azure - // sql state for backup management type. + // BackupManagementTypeAzureSQL specifies the backup management type azure sql state for backup management type. BackupManagementTypeAzureSQL BackupManagementType = "AzureSql" - // BackupManagementTypeDPM specifies the backup management type dpm state - // for backup management type. + // BackupManagementTypeDPM specifies the backup management type dpm state for backup management type. BackupManagementTypeDPM BackupManagementType = "DPM" - // BackupManagementTypeInvalid specifies the backup management type invalid - // state for backup management type. + // BackupManagementTypeInvalid specifies the backup management type invalid state for backup management type. BackupManagementTypeInvalid BackupManagementType = "Invalid" - // BackupManagementTypeMAB specifies the backup management type mab state - // for backup management type. + // BackupManagementTypeMAB specifies the backup management type mab state for backup management type. BackupManagementTypeMAB BackupManagementType = "MAB" ) @@ -82,38 +88,28 @@ const ( type ContainerType string const ( - // ContainerTypeAzureBackupServerContainer specifies the container type - // azure backup server container state for container type. + // ContainerTypeAzureBackupServerContainer specifies the container type azure backup server container state for + // container type. ContainerTypeAzureBackupServerContainer ContainerType = "AzureBackupServerContainer" - // ContainerTypeAzureSQLContainer specifies the container type azure sql - // container state for container type. + // ContainerTypeAzureSQLContainer specifies the container type azure sql container state for container type. ContainerTypeAzureSQLContainer ContainerType = "AzureSqlContainer" - // ContainerTypeCluster specifies the container type cluster state for - // container type. + // ContainerTypeCluster specifies the container type cluster state for container type. ContainerTypeCluster ContainerType = "Cluster" - // ContainerTypeDPMContainer specifies the container type dpm container - // state for container type. + // ContainerTypeDPMContainer specifies the container type dpm container state for container type. ContainerTypeDPMContainer ContainerType = "DPMContainer" - // ContainerTypeIaasVMContainer specifies the container type iaas vm - // container state for container type. + // ContainerTypeIaasVMContainer specifies the container type iaas vm container state for container type. ContainerTypeIaasVMContainer ContainerType = "IaasVMContainer" - // ContainerTypeIaasVMServiceContainer specifies the container type iaas vm - // service container state for container type. + // ContainerTypeIaasVMServiceContainer specifies the container type iaas vm service container state for container type. ContainerTypeIaasVMServiceContainer ContainerType = "IaasVMServiceContainer" - // ContainerTypeInvalid specifies the container type invalid state for - // container type. + // ContainerTypeInvalid specifies the container type invalid state for container type. ContainerTypeInvalid ContainerType = "Invalid" - // ContainerTypeMABContainer specifies the container type mab container - // state for container type. + // ContainerTypeMABContainer specifies the container type mab container state for container type. ContainerTypeMABContainer ContainerType = "MABContainer" - // ContainerTypeUnknown specifies the container type unknown state for - // container type. + // ContainerTypeUnknown specifies the container type unknown state for container type. ContainerTypeUnknown ContainerType = "Unknown" - // ContainerTypeVCenter specifies the container type v center state for - // container type. + // ContainerTypeVCenter specifies the container type v center state for container type. ContainerTypeVCenter ContainerType = "VCenter" - // ContainerTypeWindows specifies the container type windows state for - // container type. + // ContainerTypeWindows specifies the container type windows state for container type. ContainerTypeWindows ContainerType = "Windows" ) @@ -121,38 +117,27 @@ const ( type DataSourceType string const ( - // DataSourceTypeAzureSQLDb specifies the data source type azure sql db - // state for data source type. + // DataSourceTypeAzureSQLDb specifies the data source type azure sql db state for data source type. DataSourceTypeAzureSQLDb DataSourceType = "AzureSqlDb" - // DataSourceTypeClient specifies the data source type client state for - // data source type. + // DataSourceTypeClient specifies the data source type client state for data source type. DataSourceTypeClient DataSourceType = "Client" - // DataSourceTypeExchange specifies the data source type exchange state for - // data source type. + // DataSourceTypeExchange specifies the data source type exchange state for data source type. DataSourceTypeExchange DataSourceType = "Exchange" - // DataSourceTypeFileFolder specifies the data source type file folder - // state for data source type. + // DataSourceTypeFileFolder specifies the data source type file folder state for data source type. DataSourceTypeFileFolder DataSourceType = "FileFolder" - // DataSourceTypeGenericDataSource specifies the data source type generic - // data source state for data source type. + // DataSourceTypeGenericDataSource specifies the data source type generic data source state for data source type. DataSourceTypeGenericDataSource DataSourceType = "GenericDataSource" - // DataSourceTypeInvalid specifies the data source type invalid state for - // data source type. + // DataSourceTypeInvalid specifies the data source type invalid state for data source type. DataSourceTypeInvalid DataSourceType = "Invalid" - // DataSourceTypeSharepoint specifies the data source type sharepoint state - // for data source type. + // DataSourceTypeSharepoint specifies the data source type sharepoint state for data source type. DataSourceTypeSharepoint DataSourceType = "Sharepoint" - // DataSourceTypeSQLDB specifies the data source type sqldb state for data - // source type. + // DataSourceTypeSQLDB specifies the data source type sqldb state for data source type. DataSourceTypeSQLDB DataSourceType = "SQLDB" - // DataSourceTypeSystemState specifies the data source type system state - // state for data source type. + // DataSourceTypeSystemState specifies the data source type system state state for data source type. DataSourceTypeSystemState DataSourceType = "SystemState" - // DataSourceTypeVM specifies the data source type vm state for data source - // type. + // DataSourceTypeVM specifies the data source type vm state for data source type. DataSourceTypeVM DataSourceType = "VM" - // DataSourceTypeVMwareVM specifies the data source type v mware vm state - // for data source type. + // DataSourceTypeVMwareVM specifies the data source type v mware vm state for data source type. DataSourceTypeVMwareVM DataSourceType = "VMwareVM" ) @@ -180,14 +165,11 @@ const ( type EnhancedSecurityState string const ( - // EnhancedSecurityStateDisabled specifies the enhanced security state - // disabled state for enhanced security state. + // EnhancedSecurityStateDisabled specifies the enhanced security state disabled state for enhanced security state. EnhancedSecurityStateDisabled EnhancedSecurityState = "Disabled" - // EnhancedSecurityStateEnabled specifies the enhanced security state - // enabled state for enhanced security state. + // EnhancedSecurityStateEnabled specifies the enhanced security state enabled state for enhanced security state. EnhancedSecurityStateEnabled EnhancedSecurityState = "Enabled" - // EnhancedSecurityStateInvalid specifies the enhanced security state - // invalid state for enhanced security state. + // EnhancedSecurityStateInvalid specifies the enhanced security state invalid state for enhanced security state. EnhancedSecurityStateInvalid EnhancedSecurityState = "Invalid" ) @@ -195,17 +177,13 @@ const ( type HealthState string const ( - // HealthStateActionRequired specifies the health state action required - // state for health state. + // HealthStateActionRequired specifies the health state action required state for health state. HealthStateActionRequired HealthState = "ActionRequired" - // HealthStateActionSuggested specifies the health state action suggested - // state for health state. + // HealthStateActionSuggested specifies the health state action suggested state for health state. HealthStateActionSuggested HealthState = "ActionSuggested" - // HealthStateInvalid specifies the health state invalid state for health - // state. + // HealthStateInvalid specifies the health state invalid state for health state. HealthStateInvalid HealthState = "Invalid" - // HealthStatePassed specifies the health state passed state for health - // state. + // HealthStatePassed specifies the health state passed state for health state. HealthStatePassed HealthState = "Passed" ) @@ -213,17 +191,13 @@ const ( type HealthStatus string const ( - // HealthStatusActionRequired specifies the health status action required - // state for health status. + // HealthStatusActionRequired specifies the health status action required state for health status. HealthStatusActionRequired HealthStatus = "ActionRequired" - // HealthStatusActionSuggested specifies the health status action suggested - // state for health status. + // HealthStatusActionSuggested specifies the health status action suggested state for health status. HealthStatusActionSuggested HealthStatus = "ActionSuggested" - // HealthStatusInvalid specifies the health status invalid state for health - // status. + // HealthStatusInvalid specifies the health status invalid state for health status. HealthStatusInvalid HealthStatus = "Invalid" - // HealthStatusPassed specifies the health status passed state for health - // status. + // HealthStatusPassed specifies the health status passed state for health status. HealthStatusPassed HealthStatus = "Passed" ) @@ -245,8 +219,7 @@ const ( Continue HTTPStatusCode = "Continue" // Created specifies the created state for http status code. Created HTTPStatusCode = "Created" - // ExpectationFailed specifies the expectation failed state for http status - // code. + // ExpectationFailed specifies the expectation failed state for http status code. ExpectationFailed HTTPStatusCode = "ExpectationFailed" // Forbidden specifies the forbidden state for http status code. Forbidden HTTPStatusCode = "Forbidden" @@ -256,29 +229,23 @@ const ( GatewayTimeout HTTPStatusCode = "GatewayTimeout" // Gone specifies the gone state for http status code. Gone HTTPStatusCode = "Gone" - // HTTPVersionNotSupported specifies the http version not supported state - // for http status code. + // HTTPVersionNotSupported specifies the http version not supported state for http status code. HTTPVersionNotSupported HTTPStatusCode = "HttpVersionNotSupported" - // InternalServerError specifies the internal server error state for http - // status code. + // InternalServerError specifies the internal server error state for http status code. InternalServerError HTTPStatusCode = "InternalServerError" // LengthRequired specifies the length required state for http status code. LengthRequired HTTPStatusCode = "LengthRequired" - // MethodNotAllowed specifies the method not allowed state for http status - // code. + // MethodNotAllowed specifies the method not allowed state for http status code. MethodNotAllowed HTTPStatusCode = "MethodNotAllowed" // Moved specifies the moved state for http status code. Moved HTTPStatusCode = "Moved" - // MovedPermanently specifies the moved permanently state for http status - // code. + // MovedPermanently specifies the moved permanently state for http status code. MovedPermanently HTTPStatusCode = "MovedPermanently" - // MultipleChoices specifies the multiple choices state for http status - // code. + // MultipleChoices specifies the multiple choices state for http status code. MultipleChoices HTTPStatusCode = "MultipleChoices" // NoContent specifies the no content state for http status code. NoContent HTTPStatusCode = "NoContent" - // NonAuthoritativeInformation specifies the non authoritative information - // state for http status code. + // NonAuthoritativeInformation specifies the non authoritative information state for http status code. NonAuthoritativeInformation HTTPStatusCode = "NonAuthoritativeInformation" // NotAcceptable specifies the not acceptable state for http status code. NotAcceptable HTTPStatusCode = "NotAcceptable" @@ -292,55 +259,43 @@ const ( OK HTTPStatusCode = "OK" // PartialContent specifies the partial content state for http status code. PartialContent HTTPStatusCode = "PartialContent" - // PaymentRequired specifies the payment required state for http status - // code. + // PaymentRequired specifies the payment required state for http status code. PaymentRequired HTTPStatusCode = "PaymentRequired" - // PreconditionFailed specifies the precondition failed state for http - // status code. + // PreconditionFailed specifies the precondition failed state for http status code. PreconditionFailed HTTPStatusCode = "PreconditionFailed" - // ProxyAuthenticationRequired specifies the proxy authentication required - // state for http status code. + // ProxyAuthenticationRequired specifies the proxy authentication required state for http status code. ProxyAuthenticationRequired HTTPStatusCode = "ProxyAuthenticationRequired" // Redirect specifies the redirect state for http status code. Redirect HTTPStatusCode = "Redirect" - // RedirectKeepVerb specifies the redirect keep verb state for http status - // code. + // RedirectKeepVerb specifies the redirect keep verb state for http status code. RedirectKeepVerb HTTPStatusCode = "RedirectKeepVerb" // RedirectMethod specifies the redirect method state for http status code. RedirectMethod HTTPStatusCode = "RedirectMethod" - // RequestedRangeNotSatisfiable specifies the requested range not - // satisfiable state for http status code. + // RequestedRangeNotSatisfiable specifies the requested range not satisfiable state for http status code. RequestedRangeNotSatisfiable HTTPStatusCode = "RequestedRangeNotSatisfiable" - // RequestEntityTooLarge specifies the request entity too large state for - // http status code. + // RequestEntityTooLarge specifies the request entity too large state for http status code. RequestEntityTooLarge HTTPStatusCode = "RequestEntityTooLarge" // RequestTimeout specifies the request timeout state for http status code. RequestTimeout HTTPStatusCode = "RequestTimeout" - // RequestURITooLong specifies the request uri too long state for http - // status code. + // RequestURITooLong specifies the request uri too long state for http status code. RequestURITooLong HTTPStatusCode = "RequestUriTooLong" // ResetContent specifies the reset content state for http status code. ResetContent HTTPStatusCode = "ResetContent" // SeeOther specifies the see other state for http status code. SeeOther HTTPStatusCode = "SeeOther" - // ServiceUnavailable specifies the service unavailable state for http - // status code. + // ServiceUnavailable specifies the service unavailable state for http status code. ServiceUnavailable HTTPStatusCode = "ServiceUnavailable" - // SwitchingProtocols specifies the switching protocols state for http - // status code. + // SwitchingProtocols specifies the switching protocols state for http status code. SwitchingProtocols HTTPStatusCode = "SwitchingProtocols" - // TemporaryRedirect specifies the temporary redirect state for http status - // code. + // TemporaryRedirect specifies the temporary redirect state for http status code. TemporaryRedirect HTTPStatusCode = "TemporaryRedirect" // Unauthorized specifies the unauthorized state for http status code. Unauthorized HTTPStatusCode = "Unauthorized" - // UnsupportedMediaType specifies the unsupported media type state for http - // status code. + // UnsupportedMediaType specifies the unsupported media type state for http status code. UnsupportedMediaType HTTPStatusCode = "UnsupportedMediaType" // Unused specifies the unused state for http status code. Unused HTTPStatusCode = "Unused" - // UpgradeRequired specifies the upgrade required state for http status - // code. + // UpgradeRequired specifies the upgrade required state for http status code. UpgradeRequired HTTPStatusCode = "UpgradeRequired" // UseProxy specifies the use proxy state for http status code. UseProxy HTTPStatusCode = "UseProxy" @@ -350,29 +305,21 @@ const ( type JobOperationType string const ( - // JobOperationTypeBackup specifies the job operation type backup state for - // job operation type. + // JobOperationTypeBackup specifies the job operation type backup state for job operation type. JobOperationTypeBackup JobOperationType = "Backup" - // JobOperationTypeConfigureBackup specifies the job operation type - // configure backup state for job operation type. + // JobOperationTypeConfigureBackup specifies the job operation type configure backup state for job operation type. JobOperationTypeConfigureBackup JobOperationType = "ConfigureBackup" - // JobOperationTypeDeleteBackupData specifies the job operation type delete - // backup data state for job operation type. + // JobOperationTypeDeleteBackupData specifies the job operation type delete backup data state for job operation type. JobOperationTypeDeleteBackupData JobOperationType = "DeleteBackupData" - // JobOperationTypeDisableBackup specifies the job operation type disable - // backup state for job operation type. + // JobOperationTypeDisableBackup specifies the job operation type disable backup state for job operation type. JobOperationTypeDisableBackup JobOperationType = "DisableBackup" - // JobOperationTypeInvalid specifies the job operation type invalid state - // for job operation type. + // JobOperationTypeInvalid specifies the job operation type invalid state for job operation type. JobOperationTypeInvalid JobOperationType = "Invalid" - // JobOperationTypeRegister specifies the job operation type register state - // for job operation type. + // JobOperationTypeRegister specifies the job operation type register state for job operation type. JobOperationTypeRegister JobOperationType = "Register" - // JobOperationTypeRestore specifies the job operation type restore state - // for job operation type. + // JobOperationTypeRestore specifies the job operation type restore state for job operation type. JobOperationTypeRestore JobOperationType = "Restore" - // JobOperationTypeUnRegister specifies the job operation type un register - // state for job operation type. + // JobOperationTypeUnRegister specifies the job operation type un register state for job operation type. JobOperationTypeUnRegister JobOperationType = "UnRegister" ) @@ -380,22 +327,17 @@ const ( type JobStatus string const ( - // JobStatusCancelled specifies the job status cancelled state for job - // status. + // JobStatusCancelled specifies the job status cancelled state for job status. JobStatusCancelled JobStatus = "Cancelled" - // JobStatusCancelling specifies the job status cancelling state for job - // status. + // JobStatusCancelling specifies the job status cancelling state for job status. JobStatusCancelling JobStatus = "Cancelling" - // JobStatusCompleted specifies the job status completed state for job - // status. + // JobStatusCompleted specifies the job status completed state for job status. JobStatusCompleted JobStatus = "Completed" - // JobStatusCompletedWithWarnings specifies the job status completed with - // warnings state for job status. + // JobStatusCompletedWithWarnings specifies the job status completed with warnings state for job status. JobStatusCompletedWithWarnings JobStatus = "CompletedWithWarnings" // JobStatusFailed specifies the job status failed state for job status. JobStatusFailed JobStatus = "Failed" - // JobStatusInProgress specifies the job status in progress state for job - // status. + // JobStatusInProgress specifies the job status in progress state for job status. JobStatusInProgress JobStatus = "InProgress" // JobStatusInvalid specifies the job status invalid state for job status. JobStatusInvalid JobStatus = "Invalid" @@ -405,53 +347,53 @@ const ( type JobSupportedAction string const ( - // JobSupportedActionCancellable specifies the job supported action - // cancellable state for job supported action. + // JobSupportedActionCancellable specifies the job supported action cancellable state for job supported action. JobSupportedActionCancellable JobSupportedAction = "Cancellable" - // JobSupportedActionInvalid specifies the job supported action invalid - // state for job supported action. + // JobSupportedActionInvalid specifies the job supported action invalid state for job supported action. JobSupportedActionInvalid JobSupportedAction = "Invalid" - // JobSupportedActionRetriable specifies the job supported action retriable - // state for job supported action. + // JobSupportedActionRetriable specifies the job supported action retriable state for job supported action. JobSupportedActionRetriable JobSupportedAction = "Retriable" ) +// JobType enumerates the values for job type. +type JobType string + +const ( + // JobTypeAzureIaaSVMJob specifies the job type azure iaa svm job state for job type. + JobTypeAzureIaaSVMJob JobType = "AzureIaaSVMJob" + // JobTypeDpmJob specifies the job type dpm job state for job type. + JobTypeDpmJob JobType = "DpmJob" + // JobTypeMabJob specifies the job type mab job state for job type. + JobTypeMabJob JobType = "MabJob" +) + // MabServerType enumerates the values for mab server type. type MabServerType string const ( - // MabServerTypeAzureBackupServerContainer specifies the mab server type - // azure backup server container state for mab server type. + // MabServerTypeAzureBackupServerContainer specifies the mab server type azure backup server container state for mab + // server type. MabServerTypeAzureBackupServerContainer MabServerType = "AzureBackupServerContainer" - // MabServerTypeAzureSQLContainer specifies the mab server type azure sql - // container state for mab server type. + // MabServerTypeAzureSQLContainer specifies the mab server type azure sql container state for mab server type. MabServerTypeAzureSQLContainer MabServerType = "AzureSqlContainer" - // MabServerTypeCluster specifies the mab server type cluster state for mab - // server type. + // MabServerTypeCluster specifies the mab server type cluster state for mab server type. MabServerTypeCluster MabServerType = "Cluster" - // MabServerTypeDPMContainer specifies the mab server type dpm container - // state for mab server type. + // MabServerTypeDPMContainer specifies the mab server type dpm container state for mab server type. MabServerTypeDPMContainer MabServerType = "DPMContainer" - // MabServerTypeIaasVMContainer specifies the mab server type iaas vm - // container state for mab server type. + // MabServerTypeIaasVMContainer specifies the mab server type iaas vm container state for mab server type. MabServerTypeIaasVMContainer MabServerType = "IaasVMContainer" - // MabServerTypeIaasVMServiceContainer specifies the mab server type iaas - // vm service container state for mab server type. + // MabServerTypeIaasVMServiceContainer specifies the mab server type iaas vm service container state for mab server + // type. MabServerTypeIaasVMServiceContainer MabServerType = "IaasVMServiceContainer" - // MabServerTypeInvalid specifies the mab server type invalid state for mab - // server type. + // MabServerTypeInvalid specifies the mab server type invalid state for mab server type. MabServerTypeInvalid MabServerType = "Invalid" - // MabServerTypeMABContainer specifies the mab server type mab container - // state for mab server type. + // MabServerTypeMABContainer specifies the mab server type mab container state for mab server type. MabServerTypeMABContainer MabServerType = "MABContainer" - // MabServerTypeUnknown specifies the mab server type unknown state for mab - // server type. + // MabServerTypeUnknown specifies the mab server type unknown state for mab server type. MabServerTypeUnknown MabServerType = "Unknown" - // MabServerTypeVCenter specifies the mab server type v center state for - // mab server type. + // MabServerTypeVCenter specifies the mab server type v center state for mab server type. MabServerTypeVCenter MabServerType = "VCenter" - // MabServerTypeWindows specifies the mab server type windows state for mab - // server type. + // MabServerTypeWindows specifies the mab server type windows state for mab server type. MabServerTypeWindows MabServerType = "Windows" ) @@ -459,112 +401,216 @@ const ( type MonthOfYear string const ( - // MonthOfYearApril specifies the month of year april state for month of - // year. + // MonthOfYearApril specifies the month of year april state for month of year. MonthOfYearApril MonthOfYear = "April" - // MonthOfYearAugust specifies the month of year august state for month of - // year. + // MonthOfYearAugust specifies the month of year august state for month of year. MonthOfYearAugust MonthOfYear = "August" - // MonthOfYearDecember specifies the month of year december state for month - // of year. + // MonthOfYearDecember specifies the month of year december state for month of year. MonthOfYearDecember MonthOfYear = "December" - // MonthOfYearFebruary specifies the month of year february state for month - // of year. + // MonthOfYearFebruary specifies the month of year february state for month of year. MonthOfYearFebruary MonthOfYear = "February" - // MonthOfYearInvalid specifies the month of year invalid state for month - // of year. + // MonthOfYearInvalid specifies the month of year invalid state for month of year. MonthOfYearInvalid MonthOfYear = "Invalid" - // MonthOfYearJanuary specifies the month of year january state for month - // of year. + // MonthOfYearJanuary specifies the month of year january state for month of year. MonthOfYearJanuary MonthOfYear = "January" - // MonthOfYearJuly specifies the month of year july state for month of - // year. + // MonthOfYearJuly specifies the month of year july state for month of year. MonthOfYearJuly MonthOfYear = "July" - // MonthOfYearJune specifies the month of year june state for month of - // year. + // MonthOfYearJune specifies the month of year june state for month of year. MonthOfYearJune MonthOfYear = "June" - // MonthOfYearMarch specifies the month of year march state for month of - // year. + // MonthOfYearMarch specifies the month of year march state for month of year. MonthOfYearMarch MonthOfYear = "March" // MonthOfYearMay specifies the month of year may state for month of year. MonthOfYearMay MonthOfYear = "May" - // MonthOfYearNovember specifies the month of year november state for month - // of year. + // MonthOfYearNovember specifies the month of year november state for month of year. MonthOfYearNovember MonthOfYear = "November" - // MonthOfYearOctober specifies the month of year october state for month - // of year. + // MonthOfYearOctober specifies the month of year october state for month of year. MonthOfYearOctober MonthOfYear = "October" - // MonthOfYearSeptember specifies the month of year september state for - // month of year. + // MonthOfYearSeptember specifies the month of year september state for month of year. MonthOfYearSeptember MonthOfYear = "September" ) +// ObjectType enumerates the values for object type. +type ObjectType string + +const ( + // ObjectTypeIaasVMBackupRequest specifies the object type iaas vm backup request state for object type. + ObjectTypeIaasVMBackupRequest ObjectType = "IaasVMBackupRequest" +) + +// ObjectTypeILRRequest enumerates the values for object type ilr request. +type ObjectTypeILRRequest string + +const ( + // ObjectTypeIaasVMILRRegistrationRequest specifies the object type iaas vmilr registration request state for object + // type ilr request. + ObjectTypeIaasVMILRRegistrationRequest ObjectTypeILRRequest = "IaasVMILRRegistrationRequest" +) + +// ObjectTypeOperationResultInfoBase enumerates the values for object type operation result info base. +type ObjectTypeOperationResultInfoBase string + +const ( + // ObjectTypeExportJobsOperationResultInfo specifies the object type export jobs operation result info state for object + // type operation result info base. + ObjectTypeExportJobsOperationResultInfo ObjectTypeOperationResultInfoBase = "ExportJobsOperationResultInfo" + // ObjectTypeOperationResultInfo specifies the object type operation result info state for object type operation result + // info base. + ObjectTypeOperationResultInfo ObjectTypeOperationResultInfoBase = "OperationResultInfo" +) + +// ObjectTypeOperationStatusExtendedInfo enumerates the values for object type operation status extended info. +type ObjectTypeOperationStatusExtendedInfo string + +const ( + // ObjectTypeOperationStatusJobExtendedInfo specifies the object type operation status job extended info state for + // object type operation status extended info. + ObjectTypeOperationStatusJobExtendedInfo ObjectTypeOperationStatusExtendedInfo = "OperationStatusJobExtendedInfo" + // ObjectTypeOperationStatusJobsExtendedInfo specifies the object type operation status jobs extended info state for + // object type operation status extended info. + ObjectTypeOperationStatusJobsExtendedInfo ObjectTypeOperationStatusExtendedInfo = "OperationStatusJobsExtendedInfo" + // ObjectTypeOperationStatusProvisionILRExtendedInfo specifies the object type operation status provision ilr extended + // info state for object type operation status extended info. + ObjectTypeOperationStatusProvisionILRExtendedInfo ObjectTypeOperationStatusExtendedInfo = "OperationStatusProvisionILRExtendedInfo" +) + +// ObjectTypeRecoveryPoint enumerates the values for object type recovery point. +type ObjectTypeRecoveryPoint string + +const ( + // ObjectTypeGenericRecoveryPoint specifies the object type generic recovery point state for object type recovery + // point. + ObjectTypeGenericRecoveryPoint ObjectTypeRecoveryPoint = "GenericRecoveryPoint" + // ObjectTypeIaasVMRecoveryPoint specifies the object type iaas vm recovery point state for object type recovery point. + ObjectTypeIaasVMRecoveryPoint ObjectTypeRecoveryPoint = "IaasVMRecoveryPoint" +) + +// ObjectTypeRestoreRequest enumerates the values for object type restore request. +type ObjectTypeRestoreRequest string + +const ( + // ObjectTypeIaasVMRestoreRequest specifies the object type iaas vm restore request state for object type restore + // request. + ObjectTypeIaasVMRestoreRequest ObjectTypeRestoreRequest = "IaasVMRestoreRequest" +) + // OperationStatusValues enumerates the values for operation status values. type OperationStatusValues string const ( - // OperationStatusValuesCanceled specifies the operation status values - // canceled state for operation status values. + // OperationStatusValuesCanceled specifies the operation status values canceled state for operation status values. OperationStatusValuesCanceled OperationStatusValues = "Canceled" - // OperationStatusValuesFailed specifies the operation status values failed - // state for operation status values. + // OperationStatusValuesFailed specifies the operation status values failed state for operation status values. OperationStatusValuesFailed OperationStatusValues = "Failed" - // OperationStatusValuesInProgress specifies the operation status values in - // progress state for operation status values. + // OperationStatusValuesInProgress specifies the operation status values in progress state for operation status values. OperationStatusValuesInProgress OperationStatusValues = "InProgress" - // OperationStatusValuesInvalid specifies the operation status values - // invalid state for operation status values. + // OperationStatusValuesInvalid specifies the operation status values invalid state for operation status values. OperationStatusValuesInvalid OperationStatusValues = "Invalid" - // OperationStatusValuesSucceeded specifies the operation status values - // succeeded state for operation status values. + // OperationStatusValuesSucceeded specifies the operation status values succeeded state for operation status values. OperationStatusValuesSucceeded OperationStatusValues = "Succeeded" ) +// ProtectableItemType enumerates the values for protectable item type. +type ProtectableItemType string + +const ( + // ProtectableItemTypeIaaSVMProtectableItem specifies the protectable item type iaa svm protectable item state for + // protectable item type. + ProtectableItemTypeIaaSVMProtectableItem ProtectableItemType = "IaaSVMProtectableItem" + // ProtectableItemTypeMicrosoftClassicComputevirtualMachines specifies the protectable item type microsoft classic + // computevirtual machines state for protectable item type. + ProtectableItemTypeMicrosoftClassicComputevirtualMachines ProtectableItemType = "Microsoft.ClassicCompute/virtualMachines" + // ProtectableItemTypeMicrosoftComputevirtualMachines specifies the protectable item type microsoft computevirtual + // machines state for protectable item type. + ProtectableItemTypeMicrosoftComputevirtualMachines ProtectableItemType = "Microsoft.Compute/virtualMachines" +) + +// ProtectableObjectType enumerates the values for protectable object type. +type ProtectableObjectType string + +const ( + // ProtectableObjectTypeAzureBackupServerContainer specifies the protectable object type azure backup server container + // state for protectable object type. + ProtectableObjectTypeAzureBackupServerContainer ProtectableObjectType = "AzureBackupServerContainer" + // ProtectableObjectTypeAzureSQLContainer specifies the protectable object type azure sql container state for + // protectable object type. + ProtectableObjectTypeAzureSQLContainer ProtectableObjectType = "AzureSqlContainer" + // ProtectableObjectTypeDPMContainer specifies the protectable object type dpm container state for protectable object + // type. + ProtectableObjectTypeDPMContainer ProtectableObjectType = "DPMContainer" + // ProtectableObjectTypeIaaSVMContainer specifies the protectable object type iaa svm container state for protectable + // object type. + ProtectableObjectTypeIaaSVMContainer ProtectableObjectType = "IaaSVMContainer" + // ProtectableObjectTypeMABWindowsContainer specifies the protectable object type mab windows container state for + // protectable object type. + ProtectableObjectTypeMABWindowsContainer ProtectableObjectType = "MABWindowsContainer" + // ProtectableObjectTypeMicrosoftClassicComputevirtualMachines specifies the protectable object type microsoft classic + // computevirtual machines state for protectable object type. + ProtectableObjectTypeMicrosoftClassicComputevirtualMachines ProtectableObjectType = "Microsoft.ClassicCompute/virtualMachines" + // ProtectableObjectTypeMicrosoftComputevirtualMachines specifies the protectable object type microsoft computevirtual + // machines state for protectable object type. + ProtectableObjectTypeMicrosoftComputevirtualMachines ProtectableObjectType = "Microsoft.Compute/virtualMachines" +) + // ProtectedItemState enumerates the values for protected item state. type ProtectedItemState string const ( - // ProtectedItemStateInvalid specifies the protected item state invalid - // state for protected item state. + // ProtectedItemStateInvalid specifies the protected item state invalid state for protected item state. ProtectedItemStateInvalid ProtectedItemState = "Invalid" - // ProtectedItemStateIRPending specifies the protected item state ir - // pending state for protected item state. + // ProtectedItemStateIRPending specifies the protected item state ir pending state for protected item state. ProtectedItemStateIRPending ProtectedItemState = "IRPending" - // ProtectedItemStateProtected specifies the protected item state protected - // state for protected item state. + // ProtectedItemStateProtected specifies the protected item state protected state for protected item state. ProtectedItemStateProtected ProtectedItemState = "Protected" - // ProtectedItemStateProtectionError specifies the protected item state - // protection error state for protected item state. + // ProtectedItemStateProtectionError specifies the protected item state protection error state for protected item + // state. ProtectedItemStateProtectionError ProtectedItemState = "ProtectionError" - // ProtectedItemStateProtectionPaused specifies the protected item state - // protection paused state for protected item state. + // ProtectedItemStateProtectionPaused specifies the protected item state protection paused state for protected item + // state. ProtectedItemStateProtectionPaused ProtectedItemState = "ProtectionPaused" - // ProtectedItemStateProtectionStopped specifies the protected item state - // protection stopped state for protected item state. + // ProtectedItemStateProtectionStopped specifies the protected item state protection stopped state for protected item + // state. ProtectedItemStateProtectionStopped ProtectedItemState = "ProtectionStopped" ) +// ProtectedItemType enumerates the values for protected item type. +type ProtectedItemType string + +const ( + // ProtectedItemTypeAzureIaaSVMProtectedItem specifies the protected item type azure iaa svm protected item state for + // protected item type. + ProtectedItemTypeAzureIaaSVMProtectedItem ProtectedItemType = "AzureIaaSVMProtectedItem" + // ProtectedItemTypeDPMProtectedItem specifies the protected item type dpm protected item state for protected item + // type. + ProtectedItemTypeDPMProtectedItem ProtectedItemType = "DPMProtectedItem" + // ProtectedItemTypeMabFileFolderProtectedItem specifies the protected item type mab file folder protected item state + // for protected item type. + ProtectedItemTypeMabFileFolderProtectedItem ProtectedItemType = "MabFileFolderProtectedItem" + // ProtectedItemTypeMicrosoftClassicComputevirtualMachines specifies the protected item type microsoft classic + // computevirtual machines state for protected item type. + ProtectedItemTypeMicrosoftClassicComputevirtualMachines ProtectedItemType = "Microsoft.ClassicCompute/virtualMachines" + // ProtectedItemTypeMicrosoftComputevirtualMachines specifies the protected item type microsoft computevirtual machines + // state for protected item type. + ProtectedItemTypeMicrosoftComputevirtualMachines ProtectedItemType = "Microsoft.Compute/virtualMachines" + // ProtectedItemTypeMicrosoftSqlserversdatabases specifies the protected item type microsoft sqlserversdatabases state + // for protected item type. + ProtectedItemTypeMicrosoftSqlserversdatabases ProtectedItemType = "Microsoft.Sql/servers/databases" +) + // ProtectionState enumerates the values for protection state. type ProtectionState string const ( - // ProtectionStateInvalid specifies the protection state invalid state for - // protection state. + // ProtectionStateInvalid specifies the protection state invalid state for protection state. ProtectionStateInvalid ProtectionState = "Invalid" - // ProtectionStateIRPending specifies the protection state ir pending state - // for protection state. + // ProtectionStateIRPending specifies the protection state ir pending state for protection state. ProtectionStateIRPending ProtectionState = "IRPending" - // ProtectionStateProtected specifies the protection state protected state - // for protection state. + // ProtectionStateProtected specifies the protection state protected state for protection state. ProtectionStateProtected ProtectionState = "Protected" - // ProtectionStateProtectionError specifies the protection state protection - // error state for protection state. + // ProtectionStateProtectionError specifies the protection state protection error state for protection state. ProtectionStateProtectionError ProtectionState = "ProtectionError" - // ProtectionStateProtectionPaused specifies the protection state - // protection paused state for protection state. + // ProtectionStateProtectionPaused specifies the protection state protection paused state for protection state. ProtectionStateProtectionPaused ProtectionState = "ProtectionPaused" - // ProtectionStateProtectionStopped specifies the protection state - // protection stopped state for protection state. + // ProtectionStateProtectionStopped specifies the protection state protection stopped state for protection state. ProtectionStateProtectionStopped ProtectionState = "ProtectionStopped" ) @@ -572,36 +618,30 @@ const ( type ProtectionStatus string const ( - // ProtectionStatusInvalid specifies the protection status invalid state - // for protection status. + // ProtectionStatusInvalid specifies the protection status invalid state for protection status. ProtectionStatusInvalid ProtectionStatus = "Invalid" - // ProtectionStatusNotProtected specifies the protection status not - // protected state for protection status. + // ProtectionStatusNotProtected specifies the protection status not protected state for protection status. ProtectionStatusNotProtected ProtectionStatus = "NotProtected" - // ProtectionStatusProtected specifies the protection status protected - // state for protection status. + // ProtectionStatusProtected specifies the protection status protected state for protection status. ProtectionStatusProtected ProtectionStatus = "Protected" - // ProtectionStatusProtecting specifies the protection status protecting - // state for protection status. + // ProtectionStatusProtecting specifies the protection status protecting state for protection status. ProtectionStatusProtecting ProtectionStatus = "Protecting" ) -// RecoveryPointTierStatus enumerates the values for recovery point tier -// status. +// RecoveryPointTierStatus enumerates the values for recovery point tier status. type RecoveryPointTierStatus string const ( - // RecoveryPointTierStatusDeleted specifies the recovery point tier status - // deleted state for recovery point tier status. + // RecoveryPointTierStatusDeleted specifies the recovery point tier status deleted state for recovery point tier + // status. RecoveryPointTierStatusDeleted RecoveryPointTierStatus = "Deleted" - // RecoveryPointTierStatusDisabled specifies the recovery point tier status - // disabled state for recovery point tier status. + // RecoveryPointTierStatusDisabled specifies the recovery point tier status disabled state for recovery point tier + // status. RecoveryPointTierStatusDisabled RecoveryPointTierStatus = "Disabled" - // RecoveryPointTierStatusInvalid specifies the recovery point tier status - // invalid state for recovery point tier status. + // RecoveryPointTierStatusInvalid specifies the recovery point tier status invalid state for recovery point tier + // status. RecoveryPointTierStatusInvalid RecoveryPointTierStatus = "Invalid" - // RecoveryPointTierStatusValid specifies the recovery point tier status - // valid state for recovery point tier status. + // RecoveryPointTierStatusValid specifies the recovery point tier status valid state for recovery point tier status. RecoveryPointTierStatusValid RecoveryPointTierStatus = "Valid" ) @@ -609,14 +649,12 @@ const ( type RecoveryPointTierType string const ( - // RecoveryPointTierTypeHardenedRP specifies the recovery point tier type - // hardened rp state for recovery point tier type. + // RecoveryPointTierTypeHardenedRP specifies the recovery point tier type hardened rp state for recovery point tier + // type. RecoveryPointTierTypeHardenedRP RecoveryPointTierType = "HardenedRP" - // RecoveryPointTierTypeInstantRP specifies the recovery point tier type - // instant rp state for recovery point tier type. + // RecoveryPointTierTypeInstantRP specifies the recovery point tier type instant rp state for recovery point tier type. RecoveryPointTierTypeInstantRP RecoveryPointTierType = "InstantRP" - // RecoveryPointTierTypeInvalid specifies the recovery point tier type - // invalid state for recovery point tier type. + // RecoveryPointTierTypeInvalid specifies the recovery point tier type invalid state for recovery point tier type. RecoveryPointTierTypeInvalid RecoveryPointTierType = "Invalid" ) @@ -624,17 +662,13 @@ const ( type RecoveryType string const ( - // RecoveryTypeAlternateLocation specifies the recovery type alternate - // location state for recovery type. + // RecoveryTypeAlternateLocation specifies the recovery type alternate location state for recovery type. RecoveryTypeAlternateLocation RecoveryType = "AlternateLocation" - // RecoveryTypeInvalid specifies the recovery type invalid state for - // recovery type. + // RecoveryTypeInvalid specifies the recovery type invalid state for recovery type. RecoveryTypeInvalid RecoveryType = "Invalid" - // RecoveryTypeOriginalLocation specifies the recovery type original - // location state for recovery type. + // RecoveryTypeOriginalLocation specifies the recovery type original location state for recovery type. RecoveryTypeOriginalLocation RecoveryType = "OriginalLocation" - // RecoveryTypeRestoreDisks specifies the recovery type restore disks state - // for recovery type. + // RecoveryTypeRestoreDisks specifies the recovery type restore disks state for recovery type. RecoveryTypeRestoreDisks RecoveryType = "RestoreDisks" ) @@ -642,50 +676,63 @@ const ( type RetentionDurationType string const ( - // RetentionDurationTypeDays specifies the retention duration type days - // state for retention duration type. + // RetentionDurationTypeDays specifies the retention duration type days state for retention duration type. RetentionDurationTypeDays RetentionDurationType = "Days" - // RetentionDurationTypeInvalid specifies the retention duration type - // invalid state for retention duration type. + // RetentionDurationTypeInvalid specifies the retention duration type invalid state for retention duration type. RetentionDurationTypeInvalid RetentionDurationType = "Invalid" - // RetentionDurationTypeMonths specifies the retention duration type months - // state for retention duration type. + // RetentionDurationTypeMonths specifies the retention duration type months state for retention duration type. RetentionDurationTypeMonths RetentionDurationType = "Months" - // RetentionDurationTypeWeeks specifies the retention duration type weeks - // state for retention duration type. + // RetentionDurationTypeWeeks specifies the retention duration type weeks state for retention duration type. RetentionDurationTypeWeeks RetentionDurationType = "Weeks" - // RetentionDurationTypeYears specifies the retention duration type years - // state for retention duration type. + // RetentionDurationTypeYears specifies the retention duration type years state for retention duration type. RetentionDurationTypeYears RetentionDurationType = "Years" ) +// RetentionPolicyType enumerates the values for retention policy type. +type RetentionPolicyType string + +const ( + // RetentionPolicyTypeLongTermRetentionPolicy specifies the retention policy type long term retention policy state for + // retention policy type. + RetentionPolicyTypeLongTermRetentionPolicy RetentionPolicyType = "LongTermRetentionPolicy" + // RetentionPolicyTypeSimpleRetentionPolicy specifies the retention policy type simple retention policy state for + // retention policy type. + RetentionPolicyTypeSimpleRetentionPolicy RetentionPolicyType = "SimpleRetentionPolicy" +) + // RetentionScheduleFormat enumerates the values for retention schedule format. type RetentionScheduleFormat string const ( - // RetentionScheduleFormatDaily specifies the retention schedule format - // daily state for retention schedule format. + // RetentionScheduleFormatDaily specifies the retention schedule format daily state for retention schedule format. RetentionScheduleFormatDaily RetentionScheduleFormat = "Daily" - // RetentionScheduleFormatInvalid specifies the retention schedule format - // invalid state for retention schedule format. + // RetentionScheduleFormatInvalid specifies the retention schedule format invalid state for retention schedule format. RetentionScheduleFormatInvalid RetentionScheduleFormat = "Invalid" - // RetentionScheduleFormatWeekly specifies the retention schedule format - // weekly state for retention schedule format. + // RetentionScheduleFormatWeekly specifies the retention schedule format weekly state for retention schedule format. RetentionScheduleFormatWeekly RetentionScheduleFormat = "Weekly" ) +// SchedulePolicyType enumerates the values for schedule policy type. +type SchedulePolicyType string + +const ( + // SchedulePolicyTypeLongTermSchedulePolicy specifies the schedule policy type long term schedule policy state for + // schedule policy type. + SchedulePolicyTypeLongTermSchedulePolicy SchedulePolicyType = "LongTermSchedulePolicy" + // SchedulePolicyTypeSimpleSchedulePolicy specifies the schedule policy type simple schedule policy state for schedule + // policy type. + SchedulePolicyTypeSimpleSchedulePolicy SchedulePolicyType = "SimpleSchedulePolicy" +) + // ScheduleRunType enumerates the values for schedule run type. type ScheduleRunType string const ( - // ScheduleRunTypeDaily specifies the schedule run type daily state for - // schedule run type. + // ScheduleRunTypeDaily specifies the schedule run type daily state for schedule run type. ScheduleRunTypeDaily ScheduleRunType = "Daily" - // ScheduleRunTypeInvalid specifies the schedule run type invalid state for - // schedule run type. + // ScheduleRunTypeInvalid specifies the schedule run type invalid state for schedule run type. ScheduleRunTypeInvalid ScheduleRunType = "Invalid" - // ScheduleRunTypeWeekly specifies the schedule run type weekly state for - // schedule run type. + // ScheduleRunTypeWeekly specifies the schedule run type weekly state for schedule run type. ScheduleRunTypeWeekly ScheduleRunType = "Weekly" ) @@ -693,14 +740,11 @@ const ( type StorageType string const ( - // StorageTypeGeoRedundant specifies the storage type geo redundant state - // for storage type. + // StorageTypeGeoRedundant specifies the storage type geo redundant state for storage type. StorageTypeGeoRedundant StorageType = "GeoRedundant" - // StorageTypeInvalid specifies the storage type invalid state for storage - // type. + // StorageTypeInvalid specifies the storage type invalid state for storage type. StorageTypeInvalid StorageType = "Invalid" - // StorageTypeLocallyRedundant specifies the storage type locally redundant - // state for storage type. + // StorageTypeLocallyRedundant specifies the storage type locally redundant state for storage type. StorageTypeLocallyRedundant StorageType = "LocallyRedundant" ) @@ -708,14 +752,11 @@ const ( type StorageTypeState string const ( - // StorageTypeStateInvalid specifies the storage type state invalid state - // for storage type state. + // StorageTypeStateInvalid specifies the storage type state invalid state for storage type state. StorageTypeStateInvalid StorageTypeState = "Invalid" - // StorageTypeStateLocked specifies the storage type state locked state for - // storage type state. + // StorageTypeStateLocked specifies the storage type state locked state for storage type state. StorageTypeStateLocked StorageTypeState = "Locked" - // StorageTypeStateUnlocked specifies the storage type state unlocked state - // for storage type state. + // StorageTypeStateUnlocked specifies the storage type state unlocked state for storage type state. StorageTypeStateUnlocked StorageTypeState = "Unlocked" ) @@ -723,11 +764,10 @@ const ( type Type string const ( - // TypeBackupProtectedItemCountSummary specifies the type backup protected - // item count summary state for type. + // TypeBackupProtectedItemCountSummary specifies the type backup protected item count summary state for type. TypeBackupProtectedItemCountSummary Type = "BackupProtectedItemCountSummary" - // TypeBackupProtectionContainerCountSummary specifies the type backup - // protection container count summary state for type. + // TypeBackupProtectionContainerCountSummary specifies the type backup protection container count summary state for + // type. TypeBackupProtectionContainerCountSummary Type = "BackupProtectionContainerCountSummary" // TypeInvalid specifies the type invalid state for type. TypeInvalid Type = "Invalid" @@ -771,60 +811,95 @@ const ( type WorkloadType string const ( - // WorkloadTypeAzureSQLDb specifies the workload type azure sql db state - // for workload type. + // WorkloadTypeAzureSQLDb specifies the workload type azure sql db state for workload type. WorkloadTypeAzureSQLDb WorkloadType = "AzureSqlDb" - // WorkloadTypeClient specifies the workload type client state for workload - // type. + // WorkloadTypeClient specifies the workload type client state for workload type. WorkloadTypeClient WorkloadType = "Client" - // WorkloadTypeExchange specifies the workload type exchange state for - // workload type. + // WorkloadTypeExchange specifies the workload type exchange state for workload type. WorkloadTypeExchange WorkloadType = "Exchange" - // WorkloadTypeFileFolder specifies the workload type file folder state for - // workload type. + // WorkloadTypeFileFolder specifies the workload type file folder state for workload type. WorkloadTypeFileFolder WorkloadType = "FileFolder" - // WorkloadTypeGenericDataSource specifies the workload type generic data - // source state for workload type. + // WorkloadTypeGenericDataSource specifies the workload type generic data source state for workload type. WorkloadTypeGenericDataSource WorkloadType = "GenericDataSource" - // WorkloadTypeInvalid specifies the workload type invalid state for - // workload type. + // WorkloadTypeInvalid specifies the workload type invalid state for workload type. WorkloadTypeInvalid WorkloadType = "Invalid" - // WorkloadTypeSharepoint specifies the workload type sharepoint state for - // workload type. + // WorkloadTypeSharepoint specifies the workload type sharepoint state for workload type. WorkloadTypeSharepoint WorkloadType = "Sharepoint" - // WorkloadTypeSQLDB specifies the workload type sqldb state for workload - // type. + // WorkloadTypeSQLDB specifies the workload type sqldb state for workload type. WorkloadTypeSQLDB WorkloadType = "SQLDB" - // WorkloadTypeSystemState specifies the workload type system state state - // for workload type. + // WorkloadTypeSystemState specifies the workload type system state state for workload type. WorkloadTypeSystemState WorkloadType = "SystemState" // WorkloadTypeVM specifies the workload type vm state for workload type. WorkloadTypeVM WorkloadType = "VM" - // WorkloadTypeVMwareVM specifies the workload type v mware vm state for - // workload type. + // WorkloadTypeVMwareVM specifies the workload type v mware vm state for workload type. WorkloadTypeVMwareVM WorkloadType = "VMwareVM" ) -// AzureBackupServerContainer is azureBackupServer (DPMVenus) workload-specific -// protection container. +// AzureBackupServerContainer is azureBackupServer (DPMVenus) workload-specific protection container. type AzureBackupServerContainer struct { - FriendlyName *string `json:"friendlyName,omitempty"` - BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` - RegistrationStatus *string `json:"registrationStatus,omitempty"` - HealthStatus *string `json:"healthStatus,omitempty"` - ContainerType ContainerType `json:"containerType,omitempty"` - CanReRegister *bool `json:"canReRegister,omitempty"` - ContainerID *string `json:"containerId,omitempty"` - ProtectedItemCount *int64 `json:"protectedItemCount,omitempty"` - DpmAgentVersion *string `json:"dpmAgentVersion,omitempty"` - DPMServers *[]string `json:"DPMServers,omitempty"` - UpgradeAvailable *bool `json:"UpgradeAvailable,omitempty"` - ProtectionStatus *string `json:"protectionStatus,omitempty"` - ExtendedInfo *DPMContainerExtendedInfo `json:"extendedInfo,omitempty"` + FriendlyName *string `json:"friendlyName,omitempty"` + BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` + RegistrationStatus *string `json:"registrationStatus,omitempty"` + HealthStatus *string `json:"healthStatus,omitempty"` + ContainerType ContainerType `json:"containerType,omitempty"` + ProtectableObjectType ProtectableObjectType `json:"protectableObjectType,omitempty"` + CanReRegister *bool `json:"canReRegister,omitempty"` + ContainerID *string `json:"containerId,omitempty"` + ProtectedItemCount *int64 `json:"protectedItemCount,omitempty"` + DpmAgentVersion *string `json:"dpmAgentVersion,omitempty"` + DPMServers *[]string `json:"DPMServers,omitempty"` + UpgradeAvailable *bool `json:"UpgradeAvailable,omitempty"` + ProtectionStatus *string `json:"protectionStatus,omitempty"` + ExtendedInfo *DPMContainerExtendedInfo `json:"extendedInfo,omitempty"` } -// AzureBackupServerEngine is backup engine type when Azure Backup Server is -// used to manage the backups. +// MarshalJSON is the custom marshaler for AzureBackupServerContainer. +func (absc AzureBackupServerContainer) MarshalJSON() ([]byte, error) { + absc.ProtectableObjectType = ProtectableObjectTypeAzureBackupServerContainer + type Alias AzureBackupServerContainer + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(absc), + }) +} + +// AsAzureBackupServerContainer is the ProtectionContainer implementation for AzureBackupServerContainer. +func (absc AzureBackupServerContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { + return &absc, true +} + +// AsAzureIaaSClassicComputeVMContainer is the ProtectionContainer implementation for AzureBackupServerContainer. +func (absc AzureBackupServerContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { + return nil, false +} + +// AsAzureIaaSComputeVMContainer is the ProtectionContainer implementation for AzureBackupServerContainer. +func (absc AzureBackupServerContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { + return nil, false +} + +// AsAzureSQLContainer is the ProtectionContainer implementation for AzureBackupServerContainer. +func (absc AzureBackupServerContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { + return nil, false +} + +// AsDpmContainer is the ProtectionContainer implementation for AzureBackupServerContainer. +func (absc AzureBackupServerContainer) AsDpmContainer() (*DpmContainer, bool) { + return nil, false +} + +// AsIaaSVMContainer is the ProtectionContainer implementation for AzureBackupServerContainer. +func (absc AzureBackupServerContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { + return nil, false +} + +// AsMabContainer is the ProtectionContainer implementation for AzureBackupServerContainer. +func (absc AzureBackupServerContainer) AsMabContainer() (*MabContainer, bool) { + return nil, false +} + +// AzureBackupServerEngine is backup engine type when Azure Backup Server is used to manage the backups. type AzureBackupServerEngine struct { FriendlyName *string `json:"friendlyName,omitempty"` BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` @@ -838,32 +913,126 @@ type AzureBackupServerEngine struct { IsAzureBackupAgentUpgradeAvailable *bool `json:"isAzureBackupAgentUpgradeAvailable,omitempty"` IsDPMUpgradeAvailable *bool `json:"isDPMUpgradeAvailable,omitempty"` ExtendedInfo *BackupEngineExtendedInfo `json:"extendedInfo,omitempty"` + BackupEngineType BackupEngineType `json:"backupEngineType,omitempty"` } -// AzureIaaSClassicComputeVMContainer is iaaS VM workload-specific backup item -// representing a classic virtual machine. +// MarshalJSON is the custom marshaler for AzureBackupServerEngine. +func (abse AzureBackupServerEngine) MarshalJSON() ([]byte, error) { + abse.BackupEngineType = BackupEngineTypeAzureBackupServerEngine + type Alias AzureBackupServerEngine + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(abse), + }) +} + +// AsAzureBackupServerEngine is the BackupEngineBase implementation for AzureBackupServerEngine. +func (abse AzureBackupServerEngine) AsAzureBackupServerEngine() (*AzureBackupServerEngine, bool) { + return &abse, true +} + +// AsDpmBackupEngine is the BackupEngineBase implementation for AzureBackupServerEngine. +func (abse AzureBackupServerEngine) AsDpmBackupEngine() (*DpmBackupEngine, bool) { + return nil, false +} + +// AzureIaaSClassicComputeVMContainer is iaaS VM workload-specific backup item representing a classic virtual machine. type AzureIaaSClassicComputeVMContainer struct { - FriendlyName *string `json:"friendlyName,omitempty"` - BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` - RegistrationStatus *string `json:"registrationStatus,omitempty"` - HealthStatus *string `json:"healthStatus,omitempty"` - ContainerType ContainerType `json:"containerType,omitempty"` - VirtualMachineID *string `json:"virtualMachineId,omitempty"` - VirtualMachineVersion *string `json:"virtualMachineVersion,omitempty"` - ResourceGroup *string `json:"resourceGroup,omitempty"` + FriendlyName *string `json:"friendlyName,omitempty"` + BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` + RegistrationStatus *string `json:"registrationStatus,omitempty"` + HealthStatus *string `json:"healthStatus,omitempty"` + ContainerType ContainerType `json:"containerType,omitempty"` + ProtectableObjectType ProtectableObjectType `json:"protectableObjectType,omitempty"` + VirtualMachineID *string `json:"virtualMachineId,omitempty"` + VirtualMachineVersion *string `json:"virtualMachineVersion,omitempty"` + ResourceGroup *string `json:"resourceGroup,omitempty"` } -// AzureIaaSClassicComputeVMProtectableItem is iaaS VM workload-specific backup -// item representing the Classic Compute VM. +// MarshalJSON is the custom marshaler for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) MarshalJSON() ([]byte, error) { + aisccvc.ProtectableObjectType = ProtectableObjectTypeMicrosoftClassicComputevirtualMachines + type Alias AzureIaaSClassicComputeVMContainer + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(aisccvc), + }) +} + +// AsAzureIaaSClassicComputeVMContainer is the IaaSVMContainer implementation for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { + return &aisccvc, true +} + +// AsAzureIaaSComputeVMContainer is the IaaSVMContainer implementation for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { + return nil, false +} + +// AsAzureBackupServerContainer is the IaaSVMContainer implementation for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { + return nil, false +} + +// AsAzureSQLContainer is the IaaSVMContainer implementation for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { + return nil, false +} + +// AsDpmContainer is the IaaSVMContainer implementation for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) AsDpmContainer() (*DpmContainer, bool) { + return nil, false +} + +// AsIaaSVMContainer is the IaaSVMContainer implementation for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { + return nil, false +} + +// AsMabContainer is the IaaSVMContainer implementation for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) AsMabContainer() (*MabContainer, bool) { + return nil, false +} + +// AzureIaaSClassicComputeVMProtectableItem is iaaS VM workload-specific backup item representing the Classic Compute +// VM. type AzureIaaSClassicComputeVMProtectableItem struct { - BackupManagementType *string `json:"backupManagementType,omitempty"` - FriendlyName *string `json:"friendlyName,omitempty"` - ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - VirtualMachineID *string `json:"virtualMachineId,omitempty"` + BackupManagementType *string `json:"backupManagementType,omitempty"` + FriendlyName *string `json:"friendlyName,omitempty"` + ProtectionState ProtectionStatus `json:"protectionState,omitempty"` + ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` + VirtualMachineID *string `json:"virtualMachineId,omitempty"` } -// AzureIaaSClassicComputeVMProtectedItem is iaaS VM workload-specific backup -// item representing the Classic Compute VM. +// MarshalJSON is the custom marshaler for AzureIaaSClassicComputeVMProtectableItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) MarshalJSON() ([]byte, error) { + aisccvpi.ProtectableItemType = ProtectableItemTypeMicrosoftClassicComputevirtualMachines + type Alias AzureIaaSClassicComputeVMProtectableItem + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(aisccvpi), + }) +} + +// AsAzureIaaSClassicComputeVMProtectableItem is the IaaSVMProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) { + return &aisccvpi, true +} + +// AsAzureIaaSComputeVMProtectableItem is the IaaSVMProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) { + return nil, false +} + +// AsIaaSVMProtectableItem is the IaaSVMProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) { + return nil, false +} + +// AzureIaaSClassicComputeVMProtectedItem is iaaS VM workload-specific backup item representing the Classic Compute VM. type AzureIaaSClassicComputeVMProtectedItem struct { BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` WorkloadType DataSourceType `json:"workloadType,omitempty"` @@ -871,6 +1040,7 @@ type AzureIaaSClassicComputeVMProtectedItem struct { SourceResourceID *string `json:"sourceResourceId,omitempty"` PolicyID *string `json:"policyId,omitempty"` LastRecoveryPoint *date.Time `json:"lastRecoveryPoint,omitempty"` + ProtectedItemType ProtectedItemType `json:"protectedItemType,omitempty"` FriendlyName *string `json:"friendlyName,omitempty"` VirtualMachineID *string `json:"virtualMachineId,omitempty"` ProtectionStatus *string `json:"protectionStatus,omitempty"` @@ -883,30 +1053,144 @@ type AzureIaaSClassicComputeVMProtectedItem struct { ExtendedInfo *AzureIaaSVMProtectedItemExtendedInfo `json:"extendedInfo,omitempty"` } -// AzureIaaSComputeVMContainer is iaaS VM workload-specific backup item -// representing an Azure Resource Manager virtual machine. +// MarshalJSON is the custom marshaler for AzureIaaSClassicComputeVMProtectedItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectedItem) MarshalJSON() ([]byte, error) { + aisccvpi.ProtectedItemType = ProtectedItemTypeMicrosoftClassicComputevirtualMachines + type Alias AzureIaaSClassicComputeVMProtectedItem + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(aisccvpi), + }) +} + +// AsAzureIaaSClassicComputeVMProtectedItem is the AzureIaaSVMProtectedItem implementation for AzureIaaSClassicComputeVMProtectedItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectedItem) AsAzureIaaSClassicComputeVMProtectedItem() (*AzureIaaSClassicComputeVMProtectedItem, bool) { + return &aisccvpi, true +} + +// AsAzureIaaSComputeVMProtectedItem is the AzureIaaSVMProtectedItem implementation for AzureIaaSClassicComputeVMProtectedItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectedItem) AsAzureIaaSComputeVMProtectedItem() (*AzureIaaSComputeVMProtectedItem, bool) { + return nil, false +} + +// AsAzureIaaSVMProtectedItem is the AzureIaaSVMProtectedItem implementation for AzureIaaSClassicComputeVMProtectedItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectedItem) AsAzureIaaSVMProtectedItem() (*AzureIaaSVMProtectedItem, bool) { + return nil, false +} + +// AsAzureSQLProtectedItem is the AzureIaaSVMProtectedItem implementation for AzureIaaSClassicComputeVMProtectedItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectedItem) AsAzureSQLProtectedItem() (*AzureSQLProtectedItem, bool) { + return nil, false +} + +// AsDPMProtectedItem is the AzureIaaSVMProtectedItem implementation for AzureIaaSClassicComputeVMProtectedItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectedItem) AsDPMProtectedItem() (*DPMProtectedItem, bool) { + return nil, false +} + +// AsMabFileFolderProtectedItem is the AzureIaaSVMProtectedItem implementation for AzureIaaSClassicComputeVMProtectedItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectedItem) AsMabFileFolderProtectedItem() (*MabFileFolderProtectedItem, bool) { + return nil, false +} + +// AzureIaaSComputeVMContainer is iaaS VM workload-specific backup item representing an Azure Resource Manager virtual +// machine. type AzureIaaSComputeVMContainer struct { - FriendlyName *string `json:"friendlyName,omitempty"` - BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` - RegistrationStatus *string `json:"registrationStatus,omitempty"` - HealthStatus *string `json:"healthStatus,omitempty"` - ContainerType ContainerType `json:"containerType,omitempty"` - VirtualMachineID *string `json:"virtualMachineId,omitempty"` - VirtualMachineVersion *string `json:"virtualMachineVersion,omitempty"` - ResourceGroup *string `json:"resourceGroup,omitempty"` + FriendlyName *string `json:"friendlyName,omitempty"` + BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` + RegistrationStatus *string `json:"registrationStatus,omitempty"` + HealthStatus *string `json:"healthStatus,omitempty"` + ContainerType ContainerType `json:"containerType,omitempty"` + ProtectableObjectType ProtectableObjectType `json:"protectableObjectType,omitempty"` + VirtualMachineID *string `json:"virtualMachineId,omitempty"` + VirtualMachineVersion *string `json:"virtualMachineVersion,omitempty"` + ResourceGroup *string `json:"resourceGroup,omitempty"` } -// AzureIaaSComputeVMProtectableItem is iaaS VM workload-specific backup item -// representing the Azure Resource Manager VM. +// MarshalJSON is the custom marshaler for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) MarshalJSON() ([]byte, error) { + aiscvc.ProtectableObjectType = ProtectableObjectTypeMicrosoftComputevirtualMachines + type Alias AzureIaaSComputeVMContainer + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(aiscvc), + }) +} + +// AsAzureIaaSClassicComputeVMContainer is the IaaSVMContainer implementation for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { + return nil, false +} + +// AsAzureIaaSComputeVMContainer is the IaaSVMContainer implementation for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { + return &aiscvc, true +} + +// AsAzureBackupServerContainer is the IaaSVMContainer implementation for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { + return nil, false +} + +// AsAzureSQLContainer is the IaaSVMContainer implementation for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { + return nil, false +} + +// AsDpmContainer is the IaaSVMContainer implementation for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) AsDpmContainer() (*DpmContainer, bool) { + return nil, false +} + +// AsIaaSVMContainer is the IaaSVMContainer implementation for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { + return nil, false +} + +// AsMabContainer is the IaaSVMContainer implementation for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) AsMabContainer() (*MabContainer, bool) { + return nil, false +} + +// AzureIaaSComputeVMProtectableItem is iaaS VM workload-specific backup item representing the Azure Resource Manager +// VM. type AzureIaaSComputeVMProtectableItem struct { - BackupManagementType *string `json:"backupManagementType,omitempty"` - FriendlyName *string `json:"friendlyName,omitempty"` - ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - VirtualMachineID *string `json:"virtualMachineId,omitempty"` + BackupManagementType *string `json:"backupManagementType,omitempty"` + FriendlyName *string `json:"friendlyName,omitempty"` + ProtectionState ProtectionStatus `json:"protectionState,omitempty"` + ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` + VirtualMachineID *string `json:"virtualMachineId,omitempty"` } -// AzureIaaSComputeVMProtectedItem is iaaS VM workload-specific backup item -// representing the Azure Resource Manager VM. +// MarshalJSON is the custom marshaler for AzureIaaSComputeVMProtectableItem. +func (aiscvpi AzureIaaSComputeVMProtectableItem) MarshalJSON() ([]byte, error) { + aiscvpi.ProtectableItemType = ProtectableItemTypeMicrosoftComputevirtualMachines + type Alias AzureIaaSComputeVMProtectableItem + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(aiscvpi), + }) +} + +// AsAzureIaaSClassicComputeVMProtectableItem is the IaaSVMProtectableItem implementation for AzureIaaSComputeVMProtectableItem. +func (aiscvpi AzureIaaSComputeVMProtectableItem) AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) { + return nil, false +} + +// AsAzureIaaSComputeVMProtectableItem is the IaaSVMProtectableItem implementation for AzureIaaSComputeVMProtectableItem. +func (aiscvpi AzureIaaSComputeVMProtectableItem) AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) { + return &aiscvpi, true +} + +// AsIaaSVMProtectableItem is the IaaSVMProtectableItem implementation for AzureIaaSComputeVMProtectableItem. +func (aiscvpi AzureIaaSComputeVMProtectableItem) AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) { + return nil, false +} + +// AzureIaaSComputeVMProtectedItem is iaaS VM workload-specific backup item representing the Azure Resource Manager VM. type AzureIaaSComputeVMProtectedItem struct { BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` WorkloadType DataSourceType `json:"workloadType,omitempty"` @@ -914,6 +1198,7 @@ type AzureIaaSComputeVMProtectedItem struct { SourceResourceID *string `json:"sourceResourceId,omitempty"` PolicyID *string `json:"policyId,omitempty"` LastRecoveryPoint *date.Time `json:"lastRecoveryPoint,omitempty"` + ProtectedItemType ProtectedItemType `json:"protectedItemType,omitempty"` FriendlyName *string `json:"friendlyName,omitempty"` VirtualMachineID *string `json:"virtualMachineId,omitempty"` ProtectionStatus *string `json:"protectionStatus,omitempty"` @@ -926,6 +1211,47 @@ type AzureIaaSComputeVMProtectedItem struct { ExtendedInfo *AzureIaaSVMProtectedItemExtendedInfo `json:"extendedInfo,omitempty"` } +// MarshalJSON is the custom marshaler for AzureIaaSComputeVMProtectedItem. +func (aiscvpi AzureIaaSComputeVMProtectedItem) MarshalJSON() ([]byte, error) { + aiscvpi.ProtectedItemType = ProtectedItemTypeMicrosoftComputevirtualMachines + type Alias AzureIaaSComputeVMProtectedItem + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(aiscvpi), + }) +} + +// AsAzureIaaSClassicComputeVMProtectedItem is the AzureIaaSVMProtectedItem implementation for AzureIaaSComputeVMProtectedItem. +func (aiscvpi AzureIaaSComputeVMProtectedItem) AsAzureIaaSClassicComputeVMProtectedItem() (*AzureIaaSClassicComputeVMProtectedItem, bool) { + return nil, false +} + +// AsAzureIaaSComputeVMProtectedItem is the AzureIaaSVMProtectedItem implementation for AzureIaaSComputeVMProtectedItem. +func (aiscvpi AzureIaaSComputeVMProtectedItem) AsAzureIaaSComputeVMProtectedItem() (*AzureIaaSComputeVMProtectedItem, bool) { + return &aiscvpi, true +} + +// AsAzureIaaSVMProtectedItem is the AzureIaaSVMProtectedItem implementation for AzureIaaSComputeVMProtectedItem. +func (aiscvpi AzureIaaSComputeVMProtectedItem) AsAzureIaaSVMProtectedItem() (*AzureIaaSVMProtectedItem, bool) { + return nil, false +} + +// AsAzureSQLProtectedItem is the AzureIaaSVMProtectedItem implementation for AzureIaaSComputeVMProtectedItem. +func (aiscvpi AzureIaaSComputeVMProtectedItem) AsAzureSQLProtectedItem() (*AzureSQLProtectedItem, bool) { + return nil, false +} + +// AsDPMProtectedItem is the AzureIaaSVMProtectedItem implementation for AzureIaaSComputeVMProtectedItem. +func (aiscvpi AzureIaaSComputeVMProtectedItem) AsDPMProtectedItem() (*DPMProtectedItem, bool) { + return nil, false +} + +// AsMabFileFolderProtectedItem is the AzureIaaSVMProtectedItem implementation for AzureIaaSComputeVMProtectedItem. +func (aiscvpi AzureIaaSComputeVMProtectedItem) AsMabFileFolderProtectedItem() (*MabFileFolderProtectedItem, bool) { + return nil, false +} + // AzureIaaSVMErrorInfo is azure IaaS VM workload-specific error information. type AzureIaaSVMErrorInfo struct { ErrorCode *int32 `json:"errorCode,omitempty"` @@ -951,6 +1277,7 @@ type AzureIaaSVMJob struct { StartTime *date.Time `json:"startTime,omitempty"` EndTime *date.Time `json:"endTime,omitempty"` ActivityID *string `json:"activityId,omitempty"` + JobType JobType `json:"jobType,omitempty"` Duration *string `json:"duration,omitempty"` ActionsInfo *[]JobSupportedAction `json:"actionsInfo,omitempty"` ErrorDetails *[]AzureIaaSVMErrorInfo `json:"errorDetails,omitempty"` @@ -958,8 +1285,33 @@ type AzureIaaSVMJob struct { ExtendedInfo *AzureIaaSVMJobExtendedInfo `json:"extendedInfo,omitempty"` } -// AzureIaaSVMJobExtendedInfo is azure IaaS VM workload-specific additional -// information for job. +// MarshalJSON is the custom marshaler for AzureIaaSVMJob. +func (aisj AzureIaaSVMJob) MarshalJSON() ([]byte, error) { + aisj.JobType = JobTypeAzureIaaSVMJob + type Alias AzureIaaSVMJob + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(aisj), + }) +} + +// AsAzureIaaSVMJob is the Job implementation for AzureIaaSVMJob. +func (aisj AzureIaaSVMJob) AsAzureIaaSVMJob() (*AzureIaaSVMJob, bool) { + return &aisj, true +} + +// AsDpmJob is the Job implementation for AzureIaaSVMJob. +func (aisj AzureIaaSVMJob) AsDpmJob() (*DpmJob, bool) { + return nil, false +} + +// AsMabJob is the Job implementation for AzureIaaSVMJob. +func (aisj AzureIaaSVMJob) AsMabJob() (*MabJob, bool) { + return nil, false +} + +// AzureIaaSVMJobExtendedInfo is azure IaaS VM workload-specific additional information for job. type AzureIaaSVMJobExtendedInfo struct { TasksList *[]AzureIaaSVMJobTaskDetails `json:"tasksList,omitempty"` PropertyBag *map[string]*string `json:"propertyBag,omitempty"` @@ -967,8 +1319,7 @@ type AzureIaaSVMJobExtendedInfo struct { DynamicErrorMessage *string `json:"dynamicErrorMessage,omitempty"` } -// AzureIaaSVMJobTaskDetails is azure IaaS VM workload-specific job task -// details. +// AzureIaaSVMJobTaskDetails is azure IaaS VM workload-specific job task details. type AzureIaaSVMJobTaskDetails struct { TaskID *string `json:"taskId,omitempty"` StartTime *date.Time `json:"startTime,omitempty"` @@ -987,6 +1338,7 @@ type AzureIaaSVMProtectedItem struct { SourceResourceID *string `json:"sourceResourceId,omitempty"` PolicyID *string `json:"policyId,omitempty"` LastRecoveryPoint *date.Time `json:"lastRecoveryPoint,omitempty"` + ProtectedItemType ProtectedItemType `json:"protectedItemType,omitempty"` FriendlyName *string `json:"friendlyName,omitempty"` VirtualMachineID *string `json:"virtualMachineId,omitempty"` ProtectionStatus *string `json:"protectionStatus,omitempty"` @@ -999,8 +1351,48 @@ type AzureIaaSVMProtectedItem struct { ExtendedInfo *AzureIaaSVMProtectedItemExtendedInfo `json:"extendedInfo,omitempty"` } -// AzureIaaSVMProtectedItemExtendedInfo is additional information on Azure IaaS -// VM specific backup item. +// MarshalJSON is the custom marshaler for AzureIaaSVMProtectedItem. +func (aispi AzureIaaSVMProtectedItem) MarshalJSON() ([]byte, error) { + aispi.ProtectedItemType = ProtectedItemTypeAzureIaaSVMProtectedItem + type Alias AzureIaaSVMProtectedItem + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(aispi), + }) +} + +// AsAzureIaaSClassicComputeVMProtectedItem is the ProtectedItem implementation for AzureIaaSVMProtectedItem. +func (aispi AzureIaaSVMProtectedItem) AsAzureIaaSClassicComputeVMProtectedItem() (*AzureIaaSClassicComputeVMProtectedItem, bool) { + return nil, false +} + +// AsAzureIaaSComputeVMProtectedItem is the ProtectedItem implementation for AzureIaaSVMProtectedItem. +func (aispi AzureIaaSVMProtectedItem) AsAzureIaaSComputeVMProtectedItem() (*AzureIaaSComputeVMProtectedItem, bool) { + return nil, false +} + +// AsAzureIaaSVMProtectedItem is the ProtectedItem implementation for AzureIaaSVMProtectedItem. +func (aispi AzureIaaSVMProtectedItem) AsAzureIaaSVMProtectedItem() (*AzureIaaSVMProtectedItem, bool) { + return &aispi, true +} + +// AsAzureSQLProtectedItem is the ProtectedItem implementation for AzureIaaSVMProtectedItem. +func (aispi AzureIaaSVMProtectedItem) AsAzureSQLProtectedItem() (*AzureSQLProtectedItem, bool) { + return nil, false +} + +// AsDPMProtectedItem is the ProtectedItem implementation for AzureIaaSVMProtectedItem. +func (aispi AzureIaaSVMProtectedItem) AsDPMProtectedItem() (*DPMProtectedItem, bool) { + return nil, false +} + +// AsMabFileFolderProtectedItem is the ProtectedItem implementation for AzureIaaSVMProtectedItem. +func (aispi AzureIaaSVMProtectedItem) AsMabFileFolderProtectedItem() (*MabFileFolderProtectedItem, bool) { + return nil, false +} + +// AzureIaaSVMProtectedItemExtendedInfo is additional information on Azure IaaS VM specific backup item. type AzureIaaSVMProtectedItemExtendedInfo struct { OldestRecoveryPoint *date.Time `json:"oldestRecoveryPoint,omitempty"` RecoveryPointCount *int32 `json:"recoveryPointCount,omitempty"` @@ -1009,19 +1401,153 @@ type AzureIaaSVMProtectedItemExtendedInfo struct { // AzureIaaSVMProtectionPolicy is iaaS VM workload-specific backup policy. type AzureIaaSVMProtectionPolicy struct { - ProtectedItemsCount *int32 `json:"protectedItemsCount,omitempty"` - SchedulePolicy *SchedulePolicy `json:"schedulePolicy,omitempty"` - RetentionPolicy *RetentionPolicy `json:"retentionPolicy,omitempty"` - TimeZone *string `json:"timeZone,omitempty"` + ProtectedItemsCount *int32 `json:"protectedItemsCount,omitempty"` + BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` + SchedulePolicy SchedulePolicy `json:"schedulePolicy,omitempty"` + RetentionPolicy RetentionPolicy `json:"retentionPolicy,omitempty"` + TimeZone *string `json:"timeZone,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureIaaSVMProtectionPolicy. +func (aispp AzureIaaSVMProtectionPolicy) MarshalJSON() ([]byte, error) { + aispp.BackupManagementType = BackupManagementTypeAzureIaasVM + type Alias AzureIaaSVMProtectionPolicy + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(aispp), + }) +} + +// AsAzureIaaSVMProtectionPolicy is the ProtectionPolicy implementation for AzureIaaSVMProtectionPolicy. +func (aispp AzureIaaSVMProtectionPolicy) AsAzureIaaSVMProtectionPolicy() (*AzureIaaSVMProtectionPolicy, bool) { + return &aispp, true +} + +// AsAzureSQLProtectionPolicy is the ProtectionPolicy implementation for AzureIaaSVMProtectionPolicy. +func (aispp AzureIaaSVMProtectionPolicy) AsAzureSQLProtectionPolicy() (*AzureSQLProtectionPolicy, bool) { + return nil, false +} + +// AsMabProtectionPolicy is the ProtectionPolicy implementation for AzureIaaSVMProtectionPolicy. +func (aispp AzureIaaSVMProtectionPolicy) AsMabProtectionPolicy() (*MabProtectionPolicy, bool) { + return nil, false +} + +// UnmarshalJSON is the custom unmarshaler for AzureIaaSVMProtectionPolicy struct. +func (aispp *AzureIaaSVMProtectionPolicy) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["schedulePolicy"] + if v != nil { + schedulePolicy, err := unmarshalSchedulePolicy(*m["schedulePolicy"]) + if err != nil { + return err + } + aispp.SchedulePolicy = schedulePolicy + } + + v = m["retentionPolicy"] + if v != nil { + retentionPolicy, err := unmarshalRetentionPolicy(*m["retentionPolicy"]) + if err != nil { + return err + } + aispp.RetentionPolicy = retentionPolicy + } + + v = m["timeZone"] + if v != nil { + var timeZone string + err = json.Unmarshal(*m["timeZone"], &timeZone) + if err != nil { + return err + } + aispp.TimeZone = &timeZone + } + + v = m["protectedItemsCount"] + if v != nil { + var protectedItemsCount int32 + err = json.Unmarshal(*m["protectedItemsCount"], &protectedItemsCount) + if err != nil { + return err + } + aispp.ProtectedItemsCount = &protectedItemsCount + } + + v = m["backupManagementType"] + if v != nil { + var backupManagementType BackupManagementType + err = json.Unmarshal(*m["backupManagementType"], &backupManagementType) + if err != nil { + return err + } + aispp.BackupManagementType = backupManagementType + } + + return nil } // AzureSQLContainer is azure Sql workload-specific container. type AzureSQLContainer struct { - FriendlyName *string `json:"friendlyName,omitempty"` - BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` - RegistrationStatus *string `json:"registrationStatus,omitempty"` - HealthStatus *string `json:"healthStatus,omitempty"` - ContainerType ContainerType `json:"containerType,omitempty"` + FriendlyName *string `json:"friendlyName,omitempty"` + BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` + RegistrationStatus *string `json:"registrationStatus,omitempty"` + HealthStatus *string `json:"healthStatus,omitempty"` + ContainerType ContainerType `json:"containerType,omitempty"` + ProtectableObjectType ProtectableObjectType `json:"protectableObjectType,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureSQLContainer. +func (asc AzureSQLContainer) MarshalJSON() ([]byte, error) { + asc.ProtectableObjectType = ProtectableObjectTypeAzureSQLContainer + type Alias AzureSQLContainer + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(asc), + }) +} + +// AsAzureBackupServerContainer is the ProtectionContainer implementation for AzureSQLContainer. +func (asc AzureSQLContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { + return nil, false +} + +// AsAzureIaaSClassicComputeVMContainer is the ProtectionContainer implementation for AzureSQLContainer. +func (asc AzureSQLContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { + return nil, false +} + +// AsAzureIaaSComputeVMContainer is the ProtectionContainer implementation for AzureSQLContainer. +func (asc AzureSQLContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { + return nil, false +} + +// AsAzureSQLContainer is the ProtectionContainer implementation for AzureSQLContainer. +func (asc AzureSQLContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { + return &asc, true +} + +// AsDpmContainer is the ProtectionContainer implementation for AzureSQLContainer. +func (asc AzureSQLContainer) AsDpmContainer() (*DpmContainer, bool) { + return nil, false +} + +// AsIaaSVMContainer is the ProtectionContainer implementation for AzureSQLContainer. +func (asc AzureSQLContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { + return nil, false +} + +// AsMabContainer is the ProtectionContainer implementation for AzureSQLContainer. +func (asc AzureSQLContainer) AsMabContainer() (*MabContainer, bool) { + return nil, false } // AzureSQLProtectedItem is azure SQL workload-specific backup item. @@ -1032,13 +1558,54 @@ type AzureSQLProtectedItem struct { SourceResourceID *string `json:"sourceResourceId,omitempty"` PolicyID *string `json:"policyId,omitempty"` LastRecoveryPoint *date.Time `json:"lastRecoveryPoint,omitempty"` + ProtectedItemType ProtectedItemType `json:"protectedItemType,omitempty"` ProtectedItemDataID *string `json:"protectedItemDataId,omitempty"` ProtectionState ProtectedItemState `json:"protectionState,omitempty"` ExtendedInfo *AzureSQLProtectedItemExtendedInfo `json:"extendedInfo,omitempty"` } -// AzureSQLProtectedItemExtendedInfo is additional information on Azure Sql -// specific protected item. +// MarshalJSON is the custom marshaler for AzureSQLProtectedItem. +func (aspi AzureSQLProtectedItem) MarshalJSON() ([]byte, error) { + aspi.ProtectedItemType = ProtectedItemTypeMicrosoftSqlserversdatabases + type Alias AzureSQLProtectedItem + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(aspi), + }) +} + +// AsAzureIaaSClassicComputeVMProtectedItem is the ProtectedItem implementation for AzureSQLProtectedItem. +func (aspi AzureSQLProtectedItem) AsAzureIaaSClassicComputeVMProtectedItem() (*AzureIaaSClassicComputeVMProtectedItem, bool) { + return nil, false +} + +// AsAzureIaaSComputeVMProtectedItem is the ProtectedItem implementation for AzureSQLProtectedItem. +func (aspi AzureSQLProtectedItem) AsAzureIaaSComputeVMProtectedItem() (*AzureIaaSComputeVMProtectedItem, bool) { + return nil, false +} + +// AsAzureIaaSVMProtectedItem is the ProtectedItem implementation for AzureSQLProtectedItem. +func (aspi AzureSQLProtectedItem) AsAzureIaaSVMProtectedItem() (*AzureIaaSVMProtectedItem, bool) { + return nil, false +} + +// AsAzureSQLProtectedItem is the ProtectedItem implementation for AzureSQLProtectedItem. +func (aspi AzureSQLProtectedItem) AsAzureSQLProtectedItem() (*AzureSQLProtectedItem, bool) { + return &aspi, true +} + +// AsDPMProtectedItem is the ProtectedItem implementation for AzureSQLProtectedItem. +func (aspi AzureSQLProtectedItem) AsDPMProtectedItem() (*DPMProtectedItem, bool) { + return nil, false +} + +// AsMabFileFolderProtectedItem is the ProtectedItem implementation for AzureSQLProtectedItem. +func (aspi AzureSQLProtectedItem) AsMabFileFolderProtectedItem() (*MabFileFolderProtectedItem, bool) { + return nil, false +} + +// AzureSQLProtectedItemExtendedInfo is additional information on Azure Sql specific protected item. type AzureSQLProtectedItemExtendedInfo struct { OldestRecoveryPoint *date.Time `json:"oldestRecoveryPoint,omitempty"` RecoveryPointCount *int32 `json:"recoveryPointCount,omitempty"` @@ -1047,29 +1614,125 @@ type AzureSQLProtectedItemExtendedInfo struct { // AzureSQLProtectionPolicy is azure SQL workload-specific backup policy. type AzureSQLProtectionPolicy struct { - ProtectedItemsCount *int32 `json:"protectedItemsCount,omitempty"` - RetentionPolicy *RetentionPolicy `json:"retentionPolicy,omitempty"` + ProtectedItemsCount *int32 `json:"protectedItemsCount,omitempty"` + BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` + RetentionPolicy RetentionPolicy `json:"retentionPolicy,omitempty"` } -// BackupEngineBase is the base backup engine class. All workload specific -// backup engines derive from this class. -type BackupEngineBase struct { - FriendlyName *string `json:"friendlyName,omitempty"` - BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` - RegistrationStatus *string `json:"registrationStatus,omitempty"` - BackupEngineState *string `json:"backupEngineState,omitempty"` - HealthStatus *string `json:"healthStatus,omitempty"` - CanReRegister *bool `json:"canReRegister,omitempty"` - BackupEngineID *string `json:"backupEngineId,omitempty"` - DpmVersion *string `json:"dpmVersion,omitempty"` - AzureBackupAgentVersion *string `json:"azureBackupAgentVersion,omitempty"` - IsAzureBackupAgentUpgradeAvailable *bool `json:"isAzureBackupAgentUpgradeAvailable,omitempty"` - IsDPMUpgradeAvailable *bool `json:"isDPMUpgradeAvailable,omitempty"` - ExtendedInfo *BackupEngineExtendedInfo `json:"extendedInfo,omitempty"` +// MarshalJSON is the custom marshaler for AzureSQLProtectionPolicy. +func (aspp AzureSQLProtectionPolicy) MarshalJSON() ([]byte, error) { + aspp.BackupManagementType = BackupManagementTypeAzureSQL + type Alias AzureSQLProtectionPolicy + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(aspp), + }) } -// BackupEngineBaseResource is the base backup engine class. All workload -// specific backup engines derive from this class. +// AsAzureIaaSVMProtectionPolicy is the ProtectionPolicy implementation for AzureSQLProtectionPolicy. +func (aspp AzureSQLProtectionPolicy) AsAzureIaaSVMProtectionPolicy() (*AzureIaaSVMProtectionPolicy, bool) { + return nil, false +} + +// AsAzureSQLProtectionPolicy is the ProtectionPolicy implementation for AzureSQLProtectionPolicy. +func (aspp AzureSQLProtectionPolicy) AsAzureSQLProtectionPolicy() (*AzureSQLProtectionPolicy, bool) { + return &aspp, true +} + +// AsMabProtectionPolicy is the ProtectionPolicy implementation for AzureSQLProtectionPolicy. +func (aspp AzureSQLProtectionPolicy) AsMabProtectionPolicy() (*MabProtectionPolicy, bool) { + return nil, false +} + +// UnmarshalJSON is the custom unmarshaler for AzureSQLProtectionPolicy struct. +func (aspp *AzureSQLProtectionPolicy) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["retentionPolicy"] + if v != nil { + retentionPolicy, err := unmarshalRetentionPolicy(*m["retentionPolicy"]) + if err != nil { + return err + } + aspp.RetentionPolicy = retentionPolicy + } + + v = m["protectedItemsCount"] + if v != nil { + var protectedItemsCount int32 + err = json.Unmarshal(*m["protectedItemsCount"], &protectedItemsCount) + if err != nil { + return err + } + aspp.ProtectedItemsCount = &protectedItemsCount + } + + v = m["backupManagementType"] + if v != nil { + var backupManagementType BackupManagementType + err = json.Unmarshal(*m["backupManagementType"], &backupManagementType) + if err != nil { + return err + } + aspp.BackupManagementType = backupManagementType + } + + return nil +} + +// BackupEngineBase is the base backup engine class. All workload specific backup engines derive from this class. +type BackupEngineBase interface { + AsAzureBackupServerEngine() (*AzureBackupServerEngine, bool) + AsDpmBackupEngine() (*DpmBackupEngine, bool) +} + +func unmarshalBackupEngineBase(body []byte) (BackupEngineBase, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["backupEngineType"] { + case string(BackupEngineTypeAzureBackupServerEngine): + var abse AzureBackupServerEngine + err := json.Unmarshal(body, &abse) + return abse, err + case string(BackupEngineTypeDpmBackupEngine): + var dbe DpmBackupEngine + err := json.Unmarshal(body, &dbe) + return dbe, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalBackupEngineBaseArray(body []byte) ([]BackupEngineBase, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + bebArray := make([]BackupEngineBase, len(rawMessages)) + + for index, rawMessage := range rawMessages { + beb, err := unmarshalBackupEngineBase(*rawMessage) + if err != nil { + return nil, err + } + bebArray[index] = beb + } + return bebArray, nil +} + +// BackupEngineBaseResource is the base backup engine class. All workload specific backup engines derive from this +// class. type BackupEngineBaseResource struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -1078,7 +1741,88 @@ type BackupEngineBaseResource struct { Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` ETag *string `json:"eTag,omitempty"` - Properties *BackupEngineBase `json:"properties,omitempty"` + Properties BackupEngineBase `json:"properties,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for BackupEngineBaseResource struct. +func (bebr *BackupEngineBaseResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["properties"] + if v != nil { + properties, err := unmarshalBackupEngineBase(*m["properties"]) + if err != nil { + return err + } + bebr.Properties = properties + } + + v = m["id"] + if v != nil { + var ID string + err = json.Unmarshal(*m["id"], &ID) + if err != nil { + return err + } + bebr.ID = &ID + } + + v = m["name"] + if v != nil { + var name string + err = json.Unmarshal(*m["name"], &name) + if err != nil { + return err + } + bebr.Name = &name + } + + v = m["type"] + if v != nil { + var typeVar string + err = json.Unmarshal(*m["type"], &typeVar) + if err != nil { + return err + } + bebr.Type = &typeVar + } + + v = m["location"] + if v != nil { + var location string + err = json.Unmarshal(*m["location"], &location) + if err != nil { + return err + } + bebr.Location = &location + } + + v = m["tags"] + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*m["tags"], &tags) + if err != nil { + return err + } + bebr.Tags = &tags + } + + v = m["eTag"] + if v != nil { + var eTag string + err = json.Unmarshal(*m["eTag"], &eTag) + if err != nil { + return err + } + bebr.ETag = &eTag + } + + return nil } // BackupEngineBaseResourceList is list of BackupEngineBase resources @@ -1128,13 +1872,48 @@ type BackupManagementUsageList struct { Value *[]BackupManagementUsage `json:"value,omitempty"` } -// BackupRequest is base class for backup request. Workload-specific backup -// requests are derived from this class. -type BackupRequest struct { +// BackupRequest is base class for backup request. Workload-specific backup requests are derived from this class. +type BackupRequest interface { + AsIaasVMBackupRequest() (*IaasVMBackupRequest, bool) } -// BackupRequestResource is base class for backup request. Workload-specific -// backup requests are derived from this class. +func unmarshalBackupRequest(body []byte) (BackupRequest, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["objectType"] { + case string(ObjectTypeIaasVMBackupRequest): + var ivbr IaasVMBackupRequest + err := json.Unmarshal(body, &ivbr) + return ivbr, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalBackupRequestArray(body []byte) ([]BackupRequest, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + brArray := make([]BackupRequest, len(rawMessages)) + + for index, rawMessage := range rawMessages { + br, err := unmarshalBackupRequest(*rawMessage) + if err != nil { + return nil, err + } + brArray[index] = br + } + return brArray, nil +} + +// BackupRequestResource is base class for backup request. Workload-specific backup requests are derived from this +// class. type BackupRequestResource struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` @@ -1142,7 +1921,88 @@ type BackupRequestResource struct { Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` ETag *string `json:"eTag,omitempty"` - Properties *BackupRequest `json:"properties,omitempty"` + Properties BackupRequest `json:"properties,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for BackupRequestResource struct. +func (brr *BackupRequestResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["properties"] + if v != nil { + properties, err := unmarshalBackupRequest(*m["properties"]) + if err != nil { + return err + } + brr.Properties = properties + } + + v = m["id"] + if v != nil { + var ID string + err = json.Unmarshal(*m["id"], &ID) + if err != nil { + return err + } + brr.ID = &ID + } + + v = m["name"] + if v != nil { + var name string + err = json.Unmarshal(*m["name"], &name) + if err != nil { + return err + } + brr.Name = &name + } + + v = m["type"] + if v != nil { + var typeVar string + err = json.Unmarshal(*m["type"], &typeVar) + if err != nil { + return err + } + brr.Type = &typeVar + } + + v = m["location"] + if v != nil { + var location string + err = json.Unmarshal(*m["location"], &location) + if err != nil { + return err + } + brr.Location = &location + } + + v = m["tags"] + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*m["tags"], &tags) + if err != nil { + return err + } + brr.Tags = &tags + } + + v = m["eTag"] + if v != nil { + var eTag string + err = json.Unmarshal(*m["eTag"], &eTag) + if err != nil { + return err + } + brr.ETag = &eTag + } + + return nil } // BackupResourceConfig is the resource storage details. @@ -1182,21 +2042,19 @@ type BackupResourceVaultConfigResource struct { Properties *BackupResourceVaultConfig `json:"properties,omitempty"` } -// BEKDetails is bEK is bitlocker encrpytion key. +// BEKDetails is BEK is bitlocker encrpytion key. type BEKDetails struct { SecretURL *string `json:"secretUrl,omitempty"` SecretVaultID *string `json:"secretVaultId,omitempty"` SecretData *string `json:"secretData,omitempty"` } -// BMSBackupEngineQueryObject is query parameters to fetch list of backup -// engines. +// BMSBackupEngineQueryObject is query parameters to fetch list of backup engines. type BMSBackupEngineQueryObject struct { Expand *string `json:"expand,omitempty"` } -// BMSBackupEnginesQueryObject is query parameters to fetch list of backup -// engines. +// BMSBackupEnginesQueryObject is query parameters to fetch list of backup engines. type BMSBackupEnginesQueryObject struct { BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` FriendlyName *string `json:"friendlyName,omitempty"` @@ -1208,8 +2066,7 @@ type BMSBackupSummariesQueryObject struct { Type Type `json:"type,omitempty"` } -// BMSContainerQueryObject is the query filters that can be used with the list -// containers API. +// BMSContainerQueryObject is the query filters that can be used with the list containers API. type BMSContainerQueryObject struct { BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` ContainerType ContainerType `json:"containerType,omitempty"` @@ -1239,28 +2096,24 @@ type ClientDiscoveryDisplay struct { Description *string `json:"Description,omitempty"` } -// ClientDiscoveryForLogSpecification is class to represent shoebox log -// specification in json client discovery. +// ClientDiscoveryForLogSpecification is class to represent shoebox log specification in json client discovery. type ClientDiscoveryForLogSpecification struct { Name *string `json:"name,omitempty"` DisplayName *string `json:"displayName,omitempty"` BlobDuration *string `json:"blobDuration,omitempty"` } -// ClientDiscoveryForProperties is class to represent shoebox properties in -// json client discovery. +// ClientDiscoveryForProperties is class to represent shoebox properties in json client discovery. type ClientDiscoveryForProperties struct { ServiceSpecification *ClientDiscoveryForServiceSpecification `json:"serviceSpecification,omitempty"` } -// ClientDiscoveryForServiceSpecification is class to represent shoebox service -// specification in json client discovery. +// ClientDiscoveryForServiceSpecification is class to represent shoebox service specification in json client discovery. type ClientDiscoveryForServiceSpecification struct { LogSpecifications *[]ClientDiscoveryForLogSpecification `json:"logSpecifications,omitempty"` } -// ClientDiscoveryResponse is operations List response which contains list of -// available APIs. +// ClientDiscoveryResponse is operations List response which contains list of available APIs. type ClientDiscoveryResponse struct { autorest.Response `json:"-"` Value *[]ClientDiscoveryValueForSingleAPI `json:"Value,omitempty"` @@ -1327,23 +2180,92 @@ type DpmBackupEngine struct { IsAzureBackupAgentUpgradeAvailable *bool `json:"isAzureBackupAgentUpgradeAvailable,omitempty"` IsDPMUpgradeAvailable *bool `json:"isDPMUpgradeAvailable,omitempty"` ExtendedInfo *BackupEngineExtendedInfo `json:"extendedInfo,omitempty"` + BackupEngineType BackupEngineType `json:"backupEngineType,omitempty"` } -// DpmContainer is dPM workload-specific protection container. +// MarshalJSON is the custom marshaler for DpmBackupEngine. +func (dbe DpmBackupEngine) MarshalJSON() ([]byte, error) { + dbe.BackupEngineType = BackupEngineTypeDpmBackupEngine + type Alias DpmBackupEngine + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(dbe), + }) +} + +// AsAzureBackupServerEngine is the BackupEngineBase implementation for DpmBackupEngine. +func (dbe DpmBackupEngine) AsAzureBackupServerEngine() (*AzureBackupServerEngine, bool) { + return nil, false +} + +// AsDpmBackupEngine is the BackupEngineBase implementation for DpmBackupEngine. +func (dbe DpmBackupEngine) AsDpmBackupEngine() (*DpmBackupEngine, bool) { + return &dbe, true +} + +// DpmContainer is DPM workload-specific protection container. type DpmContainer struct { - FriendlyName *string `json:"friendlyName,omitempty"` - BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` - RegistrationStatus *string `json:"registrationStatus,omitempty"` - HealthStatus *string `json:"healthStatus,omitempty"` - ContainerType ContainerType `json:"containerType,omitempty"` - CanReRegister *bool `json:"canReRegister,omitempty"` - ContainerID *string `json:"containerId,omitempty"` - ProtectedItemCount *int64 `json:"protectedItemCount,omitempty"` - DpmAgentVersion *string `json:"dpmAgentVersion,omitempty"` - DPMServers *[]string `json:"DPMServers,omitempty"` - UpgradeAvailable *bool `json:"UpgradeAvailable,omitempty"` - ProtectionStatus *string `json:"protectionStatus,omitempty"` - ExtendedInfo *DPMContainerExtendedInfo `json:"extendedInfo,omitempty"` + FriendlyName *string `json:"friendlyName,omitempty"` + BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` + RegistrationStatus *string `json:"registrationStatus,omitempty"` + HealthStatus *string `json:"healthStatus,omitempty"` + ContainerType ContainerType `json:"containerType,omitempty"` + ProtectableObjectType ProtectableObjectType `json:"protectableObjectType,omitempty"` + CanReRegister *bool `json:"canReRegister,omitempty"` + ContainerID *string `json:"containerId,omitempty"` + ProtectedItemCount *int64 `json:"protectedItemCount,omitempty"` + DpmAgentVersion *string `json:"dpmAgentVersion,omitempty"` + DPMServers *[]string `json:"DPMServers,omitempty"` + UpgradeAvailable *bool `json:"UpgradeAvailable,omitempty"` + ProtectionStatus *string `json:"protectionStatus,omitempty"` + ExtendedInfo *DPMContainerExtendedInfo `json:"extendedInfo,omitempty"` +} + +// MarshalJSON is the custom marshaler for DpmContainer. +func (dc DpmContainer) MarshalJSON() ([]byte, error) { + dc.ProtectableObjectType = ProtectableObjectTypeDPMContainer + type Alias DpmContainer + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(dc), + }) +} + +// AsAzureBackupServerContainer is the ProtectionContainer implementation for DpmContainer. +func (dc DpmContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { + return nil, false +} + +// AsAzureIaaSClassicComputeVMContainer is the ProtectionContainer implementation for DpmContainer. +func (dc DpmContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { + return nil, false +} + +// AsAzureIaaSComputeVMContainer is the ProtectionContainer implementation for DpmContainer. +func (dc DpmContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { + return nil, false +} + +// AsAzureSQLContainer is the ProtectionContainer implementation for DpmContainer. +func (dc DpmContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { + return nil, false +} + +// AsDpmContainer is the ProtectionContainer implementation for DpmContainer. +func (dc DpmContainer) AsDpmContainer() (*DpmContainer, bool) { + return &dc, true +} + +// AsIaaSVMContainer is the ProtectionContainer implementation for DpmContainer. +func (dc DpmContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { + return nil, false +} + +// AsMabContainer is the ProtectionContainer implementation for DpmContainer. +func (dc DpmContainer) AsMabContainer() (*MabContainer, bool) { + return nil, false } // DPMContainerExtendedInfo is additional information of the DPMContainer. @@ -1351,13 +2273,13 @@ type DPMContainerExtendedInfo struct { LastRefreshedAt *date.Time `json:"lastRefreshedAt,omitempty"` } -// DpmErrorInfo is dPM workload-specific error information. +// DpmErrorInfo is DPM workload-specific error information. type DpmErrorInfo struct { ErrorString *string `json:"errorString,omitempty"` Recommendations *[]string `json:"recommendations,omitempty"` } -// DpmJob is dPM workload-specifc job object. +// DpmJob is DPM workload-specifc job object. type DpmJob struct { EntityFriendlyName *string `json:"entityFriendlyName,omitempty"` BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` @@ -1366,6 +2288,7 @@ type DpmJob struct { StartTime *date.Time `json:"startTime,omitempty"` EndTime *date.Time `json:"endTime,omitempty"` ActivityID *string `json:"activityId,omitempty"` + JobType JobType `json:"jobType,omitempty"` Duration *string `json:"duration,omitempty"` DpmServerName *string `json:"dpmServerName,omitempty"` ContainerName *string `json:"containerName,omitempty"` @@ -1376,15 +2299,40 @@ type DpmJob struct { ExtendedInfo *DpmJobExtendedInfo `json:"extendedInfo,omitempty"` } -// DpmJobExtendedInfo is additional information on the DPM workload-specific -// job. +// MarshalJSON is the custom marshaler for DpmJob. +func (dj DpmJob) MarshalJSON() ([]byte, error) { + dj.JobType = JobTypeDpmJob + type Alias DpmJob + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(dj), + }) +} + +// AsAzureIaaSVMJob is the Job implementation for DpmJob. +func (dj DpmJob) AsAzureIaaSVMJob() (*AzureIaaSVMJob, bool) { + return nil, false +} + +// AsDpmJob is the Job implementation for DpmJob. +func (dj DpmJob) AsDpmJob() (*DpmJob, bool) { + return &dj, true +} + +// AsMabJob is the Job implementation for DpmJob. +func (dj DpmJob) AsMabJob() (*MabJob, bool) { + return nil, false +} + +// DpmJobExtendedInfo is additional information on the DPM workload-specific job. type DpmJobExtendedInfo struct { TasksList *[]DpmJobTaskDetails `json:"tasksList,omitempty"` PropertyBag *map[string]*string `json:"propertyBag,omitempty"` DynamicErrorMessage *string `json:"dynamicErrorMessage,omitempty"` } -// DpmJobTaskDetails is dPM workload-specific job task details. +// DpmJobTaskDetails is DPM workload-specific job task details. type DpmJobTaskDetails struct { TaskID *string `json:"taskId,omitempty"` StartTime *date.Time `json:"startTime,omitempty"` @@ -1393,8 +2341,7 @@ type DpmJobTaskDetails struct { Status *string `json:"status,omitempty"` } -// DPMProtectedItem is additional information on Backup engine specific backup -// item. +// DPMProtectedItem is additional information on Backup engine specific backup item. type DPMProtectedItem struct { BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` WorkloadType DataSourceType `json:"workloadType,omitempty"` @@ -1402,6 +2349,7 @@ type DPMProtectedItem struct { SourceResourceID *string `json:"sourceResourceId,omitempty"` PolicyID *string `json:"policyId,omitempty"` LastRecoveryPoint *date.Time `json:"lastRecoveryPoint,omitempty"` + ProtectedItemType ProtectedItemType `json:"protectedItemType,omitempty"` FriendlyName *string `json:"friendlyName,omitempty"` BackupEngineName *string `json:"backupEngineName,omitempty"` ProtectionState ProtectedItemState `json:"protectionState,omitempty"` @@ -1409,8 +2357,48 @@ type DPMProtectedItem struct { ExtendedInfo *DPMProtectedItemExtendedInfo `json:"extendedInfo,omitempty"` } -// DPMProtectedItemExtendedInfo is additional information of DPM Protected -// item. +// MarshalJSON is the custom marshaler for DPMProtectedItem. +func (dpi DPMProtectedItem) MarshalJSON() ([]byte, error) { + dpi.ProtectedItemType = ProtectedItemTypeDPMProtectedItem + type Alias DPMProtectedItem + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(dpi), + }) +} + +// AsAzureIaaSClassicComputeVMProtectedItem is the ProtectedItem implementation for DPMProtectedItem. +func (dpi DPMProtectedItem) AsAzureIaaSClassicComputeVMProtectedItem() (*AzureIaaSClassicComputeVMProtectedItem, bool) { + return nil, false +} + +// AsAzureIaaSComputeVMProtectedItem is the ProtectedItem implementation for DPMProtectedItem. +func (dpi DPMProtectedItem) AsAzureIaaSComputeVMProtectedItem() (*AzureIaaSComputeVMProtectedItem, bool) { + return nil, false +} + +// AsAzureIaaSVMProtectedItem is the ProtectedItem implementation for DPMProtectedItem. +func (dpi DPMProtectedItem) AsAzureIaaSVMProtectedItem() (*AzureIaaSVMProtectedItem, bool) { + return nil, false +} + +// AsAzureSQLProtectedItem is the ProtectedItem implementation for DPMProtectedItem. +func (dpi DPMProtectedItem) AsAzureSQLProtectedItem() (*AzureSQLProtectedItem, bool) { + return nil, false +} + +// AsDPMProtectedItem is the ProtectedItem implementation for DPMProtectedItem. +func (dpi DPMProtectedItem) AsDPMProtectedItem() (*DPMProtectedItem, bool) { + return &dpi, true +} + +// AsMabFileFolderProtectedItem is the ProtectedItem implementation for DPMProtectedItem. +func (dpi DPMProtectedItem) AsMabFileFolderProtectedItem() (*MabFileFolderProtectedItem, bool) { + return nil, false +} + +// DPMProtectedItemExtendedInfo is additional information of DPM Protected item. type DPMProtectedItemExtendedInfo struct { ProtectableObjectLoadPath *map[string]*string `json:"protectableObjectLoadPath,omitempty"` Protected *bool `json:"protected,omitempty"` @@ -1428,8 +2416,7 @@ type DPMProtectedItemExtendedInfo struct { TotalDiskStorageSizeInBytes *string `json:"totalDiskStorageSizeInBytes,omitempty"` } -// EncryptionDetails is details needed if the VM was encrypted at the time of -// backup. +// EncryptionDetails is details needed if the VM was encrypted at the time of backup. type EncryptionDetails struct { EncryptionEnabled *bool `json:"encryptionEnabled,omitempty"` KekURL *string `json:"kekUrl,omitempty"` @@ -1438,19 +2425,62 @@ type EncryptionDetails struct { SecretKeyVaultID *string `json:"secretKeyVaultId,omitempty"` } -// ExportJobsOperationResultInfo is this class is used to send blob details -// after exporting jobs. +// ExportJobsOperationResultInfo is this class is used to send blob details after exporting jobs. type ExportJobsOperationResultInfo struct { - BlobURL *string `json:"blobUrl,omitempty"` - BlobSasKey *string `json:"blobSasKey,omitempty"` + ObjectType ObjectTypeOperationResultInfoBase `json:"objectType,omitempty"` + BlobURL *string `json:"blobUrl,omitempty"` + BlobSasKey *string `json:"blobSasKey,omitempty"` +} + +// MarshalJSON is the custom marshaler for ExportJobsOperationResultInfo. +func (ejori ExportJobsOperationResultInfo) MarshalJSON() ([]byte, error) { + ejori.ObjectType = ObjectTypeExportJobsOperationResultInfo + type Alias ExportJobsOperationResultInfo + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ejori), + }) +} + +// AsExportJobsOperationResultInfo is the OperationResultInfoBase implementation for ExportJobsOperationResultInfo. +func (ejori ExportJobsOperationResultInfo) AsExportJobsOperationResultInfo() (*ExportJobsOperationResultInfo, bool) { + return &ejori, true +} + +// AsOperationResultInfo is the OperationResultInfoBase implementation for ExportJobsOperationResultInfo. +func (ejori ExportJobsOperationResultInfo) AsOperationResultInfo() (*OperationResultInfo, bool) { + return nil, false } // GenericRecoveryPoint is generic backup copy. type GenericRecoveryPoint struct { - FriendlyName *string `json:"friendlyName,omitempty"` - RecoveryPointType *string `json:"recoveryPointType,omitempty"` - RecoveryPointTime *date.Time `json:"recoveryPointTime,omitempty"` - RecoveryPointAdditionalInfo *string `json:"recoveryPointAdditionalInfo,omitempty"` + ObjectType ObjectTypeRecoveryPoint `json:"objectType,omitempty"` + FriendlyName *string `json:"friendlyName,omitempty"` + RecoveryPointType *string `json:"recoveryPointType,omitempty"` + RecoveryPointTime *date.Time `json:"recoveryPointTime,omitempty"` + RecoveryPointAdditionalInfo *string `json:"recoveryPointAdditionalInfo,omitempty"` +} + +// MarshalJSON is the custom marshaler for GenericRecoveryPoint. +func (grp GenericRecoveryPoint) MarshalJSON() ([]byte, error) { + grp.ObjectType = ObjectTypeGenericRecoveryPoint + type Alias GenericRecoveryPoint + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(grp), + }) +} + +// AsGenericRecoveryPoint is the RecoveryPoint implementation for GenericRecoveryPoint. +func (grp GenericRecoveryPoint) AsGenericRecoveryPoint() (*GenericRecoveryPoint, bool) { + return &grp, true +} + +// AsIaasVMRecoveryPoint is the RecoveryPoint implementation for GenericRecoveryPoint. +func (grp GenericRecoveryPoint) AsIaasVMRecoveryPoint() (*IaasVMRecoveryPoint, bool) { + return nil, false } // GetProtectedItemQueryObject is filters to list backup items. @@ -1460,71 +2490,255 @@ type GetProtectedItemQueryObject struct { // IaasVMBackupRequest is iaaS VM workload-specific backup request. type IaasVMBackupRequest struct { + ObjectType ObjectType `json:"objectType,omitempty"` RecoveryPointExpiryTimeInUTC *date.Time `json:"recoveryPointExpiryTimeInUTC,omitempty"` } +// MarshalJSON is the custom marshaler for IaasVMBackupRequest. +func (ivbr IaasVMBackupRequest) MarshalJSON() ([]byte, error) { + ivbr.ObjectType = ObjectTypeIaasVMBackupRequest + type Alias IaasVMBackupRequest + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ivbr), + }) +} + +// AsIaasVMBackupRequest is the BackupRequest implementation for IaasVMBackupRequest. +func (ivbr IaasVMBackupRequest) AsIaasVMBackupRequest() (*IaasVMBackupRequest, bool) { + return &ivbr, true +} + // IaaSVMContainer is iaaS VM workload-specific container. type IaaSVMContainer struct { - FriendlyName *string `json:"friendlyName,omitempty"` - BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` - RegistrationStatus *string `json:"registrationStatus,omitempty"` - HealthStatus *string `json:"healthStatus,omitempty"` - ContainerType ContainerType `json:"containerType,omitempty"` - VirtualMachineID *string `json:"virtualMachineId,omitempty"` - VirtualMachineVersion *string `json:"virtualMachineVersion,omitempty"` - ResourceGroup *string `json:"resourceGroup,omitempty"` + FriendlyName *string `json:"friendlyName,omitempty"` + BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` + RegistrationStatus *string `json:"registrationStatus,omitempty"` + HealthStatus *string `json:"healthStatus,omitempty"` + ContainerType ContainerType `json:"containerType,omitempty"` + ProtectableObjectType ProtectableObjectType `json:"protectableObjectType,omitempty"` + VirtualMachineID *string `json:"virtualMachineId,omitempty"` + VirtualMachineVersion *string `json:"virtualMachineVersion,omitempty"` + ResourceGroup *string `json:"resourceGroup,omitempty"` } -// IaasVMILRRegistrationRequest is restore files/folders from a backup copy of -// IaaS VM. +// MarshalJSON is the custom marshaler for IaaSVMContainer. +func (isc IaaSVMContainer) MarshalJSON() ([]byte, error) { + isc.ProtectableObjectType = ProtectableObjectTypeIaaSVMContainer + type Alias IaaSVMContainer + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(isc), + }) +} + +// AsAzureBackupServerContainer is the ProtectionContainer implementation for IaaSVMContainer. +func (isc IaaSVMContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { + return nil, false +} + +// AsAzureIaaSClassicComputeVMContainer is the ProtectionContainer implementation for IaaSVMContainer. +func (isc IaaSVMContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { + return nil, false +} + +// AsAzureIaaSComputeVMContainer is the ProtectionContainer implementation for IaaSVMContainer. +func (isc IaaSVMContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { + return nil, false +} + +// AsAzureSQLContainer is the ProtectionContainer implementation for IaaSVMContainer. +func (isc IaaSVMContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { + return nil, false +} + +// AsDpmContainer is the ProtectionContainer implementation for IaaSVMContainer. +func (isc IaaSVMContainer) AsDpmContainer() (*DpmContainer, bool) { + return nil, false +} + +// AsIaaSVMContainer is the ProtectionContainer implementation for IaaSVMContainer. +func (isc IaaSVMContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { + return &isc, true +} + +// AsMabContainer is the ProtectionContainer implementation for IaaSVMContainer. +func (isc IaaSVMContainer) AsMabContainer() (*MabContainer, bool) { + return nil, false +} + +// IaasVMILRRegistrationRequest is restore files/folders from a backup copy of IaaS VM. type IaasVMILRRegistrationRequest struct { - RecoveryPointID *string `json:"recoveryPointId,omitempty"` - VirtualMachineID *string `json:"virtualMachineId,omitempty"` - InitiatorName *string `json:"initiatorName,omitempty"` - RenewExistingRegistration *bool `json:"renewExistingRegistration,omitempty"` + ObjectType ObjectTypeILRRequest `json:"objectType,omitempty"` + RecoveryPointID *string `json:"recoveryPointId,omitempty"` + VirtualMachineID *string `json:"virtualMachineId,omitempty"` + InitiatorName *string `json:"initiatorName,omitempty"` + RenewExistingRegistration *bool `json:"renewExistingRegistration,omitempty"` +} + +// MarshalJSON is the custom marshaler for IaasVMILRRegistrationRequest. +func (ivrr IaasVMILRRegistrationRequest) MarshalJSON() ([]byte, error) { + ivrr.ObjectType = ObjectTypeIaasVMILRRegistrationRequest + type Alias IaasVMILRRegistrationRequest + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ivrr), + }) +} + +// AsIaasVMILRRegistrationRequest is the ILRRequest implementation for IaasVMILRRegistrationRequest. +func (ivrr IaasVMILRRegistrationRequest) AsIaasVMILRRegistrationRequest() (*IaasVMILRRegistrationRequest, bool) { + return &ivrr, true } // IaaSVMProtectableItem is iaaS VM workload-specific backup item. type IaaSVMProtectableItem struct { - BackupManagementType *string `json:"backupManagementType,omitempty"` - FriendlyName *string `json:"friendlyName,omitempty"` - ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - VirtualMachineID *string `json:"virtualMachineId,omitempty"` + BackupManagementType *string `json:"backupManagementType,omitempty"` + FriendlyName *string `json:"friendlyName,omitempty"` + ProtectionState ProtectionStatus `json:"protectionState,omitempty"` + ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` + VirtualMachineID *string `json:"virtualMachineId,omitempty"` +} + +// MarshalJSON is the custom marshaler for IaaSVMProtectableItem. +func (ispi IaaSVMProtectableItem) MarshalJSON() ([]byte, error) { + ispi.ProtectableItemType = ProtectableItemTypeIaaSVMProtectableItem + type Alias IaaSVMProtectableItem + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ispi), + }) +} + +// AsAzureIaaSClassicComputeVMProtectableItem is the WorkloadProtectableItem implementation for IaaSVMProtectableItem. +func (ispi IaaSVMProtectableItem) AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) { + return nil, false +} + +// AsAzureIaaSComputeVMProtectableItem is the WorkloadProtectableItem implementation for IaaSVMProtectableItem. +func (ispi IaaSVMProtectableItem) AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) { + return nil, false +} + +// AsIaaSVMProtectableItem is the WorkloadProtectableItem implementation for IaaSVMProtectableItem. +func (ispi IaaSVMProtectableItem) AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) { + return &ispi, true } // IaasVMRecoveryPoint is iaaS VM workload specific backup copy. type IaasVMRecoveryPoint struct { - RecoveryPointType *string `json:"recoveryPointType,omitempty"` - RecoveryPointTime *date.Time `json:"recoveryPointTime,omitempty"` - RecoveryPointAdditionalInfo *string `json:"recoveryPointAdditionalInfo,omitempty"` - SourceVMStorageType *string `json:"sourceVMStorageType,omitempty"` - IsSourceVMEncrypted *bool `json:"isSourceVMEncrypted,omitempty"` - KeyAndSecret *KeyAndSecretDetails `json:"keyAndSecret,omitempty"` - IsInstantILRSessionActive *bool `json:"isInstantILRSessionActive,omitempty"` - RecoveryPointTierDetails *[]RecoveryPointTierInformation `json:"recoveryPointTierDetails,omitempty"` - IsManagedVirtualMachine *bool `json:"isManagedVirtualMachine,omitempty"` - VirtualMachineSize *string `json:"virtualMachineSize,omitempty"` + ObjectType ObjectTypeRecoveryPoint `json:"objectType,omitempty"` + RecoveryPointType *string `json:"recoveryPointType,omitempty"` + RecoveryPointTime *date.Time `json:"recoveryPointTime,omitempty"` + RecoveryPointAdditionalInfo *string `json:"recoveryPointAdditionalInfo,omitempty"` + SourceVMStorageType *string `json:"sourceVMStorageType,omitempty"` + IsSourceVMEncrypted *bool `json:"isSourceVMEncrypted,omitempty"` + KeyAndSecret *KeyAndSecretDetails `json:"keyAndSecret,omitempty"` + IsInstantILRSessionActive *bool `json:"isInstantILRSessionActive,omitempty"` + RecoveryPointTierDetails *[]RecoveryPointTierInformation `json:"recoveryPointTierDetails,omitempty"` + IsManagedVirtualMachine *bool `json:"isManagedVirtualMachine,omitempty"` + VirtualMachineSize *string `json:"virtualMachineSize,omitempty"` + OriginalStorageAccountOption *bool `json:"originalStorageAccountOption,omitempty"` +} + +// MarshalJSON is the custom marshaler for IaasVMRecoveryPoint. +func (ivrp IaasVMRecoveryPoint) MarshalJSON() ([]byte, error) { + ivrp.ObjectType = ObjectTypeIaasVMRecoveryPoint + type Alias IaasVMRecoveryPoint + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ivrp), + }) +} + +// AsGenericRecoveryPoint is the RecoveryPoint implementation for IaasVMRecoveryPoint. +func (ivrp IaasVMRecoveryPoint) AsGenericRecoveryPoint() (*GenericRecoveryPoint, bool) { + return nil, false +} + +// AsIaasVMRecoveryPoint is the RecoveryPoint implementation for IaasVMRecoveryPoint. +func (ivrp IaasVMRecoveryPoint) AsIaasVMRecoveryPoint() (*IaasVMRecoveryPoint, bool) { + return &ivrp, true } // IaasVMRestoreRequest is iaaS VM workload-specific restore. type IaasVMRestoreRequest struct { - RecoveryPointID *string `json:"recoveryPointId,omitempty"` - RecoveryType RecoveryType `json:"recoveryType,omitempty"` - SourceResourceID *string `json:"sourceResourceId,omitempty"` - TargetVirtualMachineID *string `json:"targetVirtualMachineId,omitempty"` - TargetResourceGroupID *string `json:"targetResourceGroupId,omitempty"` - StorageAccountID *string `json:"storageAccountId,omitempty"` - VirtualNetworkID *string `json:"virtualNetworkId,omitempty"` - SubnetID *string `json:"subnetId,omitempty"` - TargetDomainNameID *string `json:"targetDomainNameId,omitempty"` - Region *string `json:"region,omitempty"` - AffinityGroup *string `json:"affinityGroup,omitempty"` - CreateNewCloudService *bool `json:"createNewCloudService,omitempty"` - EncryptionDetails *EncryptionDetails `json:"encryptionDetails,omitempty"` + ObjectType ObjectTypeRestoreRequest `json:"objectType,omitempty"` + RecoveryPointID *string `json:"recoveryPointId,omitempty"` + RecoveryType RecoveryType `json:"recoveryType,omitempty"` + SourceResourceID *string `json:"sourceResourceId,omitempty"` + TargetVirtualMachineID *string `json:"targetVirtualMachineId,omitempty"` + TargetResourceGroupID *string `json:"targetResourceGroupId,omitempty"` + StorageAccountID *string `json:"storageAccountId,omitempty"` + VirtualNetworkID *string `json:"virtualNetworkId,omitempty"` + SubnetID *string `json:"subnetId,omitempty"` + TargetDomainNameID *string `json:"targetDomainNameId,omitempty"` + Region *string `json:"region,omitempty"` + AffinityGroup *string `json:"affinityGroup,omitempty"` + CreateNewCloudService *bool `json:"createNewCloudService,omitempty"` + OriginalStorageAccountOption *bool `json:"originalStorageAccountOption,omitempty"` + EncryptionDetails *EncryptionDetails `json:"encryptionDetails,omitempty"` +} + +// MarshalJSON is the custom marshaler for IaasVMRestoreRequest. +func (ivrr IaasVMRestoreRequest) MarshalJSON() ([]byte, error) { + ivrr.ObjectType = ObjectTypeIaasVMRestoreRequest + type Alias IaasVMRestoreRequest + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ivrr), + }) +} + +// AsIaasVMRestoreRequest is the RestoreRequest implementation for IaasVMRestoreRequest. +func (ivrr IaasVMRestoreRequest) AsIaasVMRestoreRequest() (*IaasVMRestoreRequest, bool) { + return &ivrr, true } // ILRRequest is parameters to restore file/folders API. -type ILRRequest struct { +type ILRRequest interface { + AsIaasVMILRRegistrationRequest() (*IaasVMILRRegistrationRequest, bool) +} + +func unmarshalILRRequest(body []byte) (ILRRequest, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["objectType"] { + case string(ObjectTypeIaasVMILRRegistrationRequest): + var ivrr IaasVMILRRegistrationRequest + err := json.Unmarshal(body, &ivrr) + return ivrr, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalILRRequestArray(body []byte) ([]ILRRequest, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + irArray := make([]ILRRequest, len(rawMessages)) + + for index, rawMessage := range rawMessages { + ir, err := unmarshalILRRequest(*rawMessage) + if err != nil { + return nil, err + } + irArray[index] = ir + } + return irArray, nil } // ILRRequestResource is parameters to restore file/folders API. @@ -1535,7 +2749,88 @@ type ILRRequestResource struct { Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` ETag *string `json:"eTag,omitempty"` - Properties *ILRRequest `json:"properties,omitempty"` + Properties ILRRequest `json:"properties,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for ILRRequestResource struct. +func (irr *ILRRequestResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["properties"] + if v != nil { + properties, err := unmarshalILRRequest(*m["properties"]) + if err != nil { + return err + } + irr.Properties = properties + } + + v = m["id"] + if v != nil { + var ID string + err = json.Unmarshal(*m["id"], &ID) + if err != nil { + return err + } + irr.ID = &ID + } + + v = m["name"] + if v != nil { + var name string + err = json.Unmarshal(*m["name"], &name) + if err != nil { + return err + } + irr.Name = &name + } + + v = m["type"] + if v != nil { + var typeVar string + err = json.Unmarshal(*m["type"], &typeVar) + if err != nil { + return err + } + irr.Type = &typeVar + } + + v = m["location"] + if v != nil { + var location string + err = json.Unmarshal(*m["location"], &location) + if err != nil { + return err + } + irr.Location = &location + } + + v = m["tags"] + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*m["tags"], &tags) + if err != nil { + return err + } + irr.Tags = &tags + } + + v = m["eTag"] + if v != nil { + var eTag string + err = json.Unmarshal(*m["eTag"], &eTag) + if err != nil { + return err + } + irr.ETag = &eTag + } + + return nil } // InstantItemRecoveryTarget is target details for file / folder restore. @@ -1544,14 +2839,53 @@ type InstantItemRecoveryTarget struct { } // Job is defines workload agnostic properties for a job. -type Job struct { - EntityFriendlyName *string `json:"entityFriendlyName,omitempty"` - BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` - Operation *string `json:"operation,omitempty"` - Status *string `json:"status,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - EndTime *date.Time `json:"endTime,omitempty"` - ActivityID *string `json:"activityId,omitempty"` +type Job interface { + AsAzureIaaSVMJob() (*AzureIaaSVMJob, bool) + AsDpmJob() (*DpmJob, bool) + AsMabJob() (*MabJob, bool) +} + +func unmarshalJob(body []byte) (Job, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["jobType"] { + case string(JobTypeAzureIaaSVMJob): + var aisj AzureIaaSVMJob + err := json.Unmarshal(body, &aisj) + return aisj, err + case string(JobTypeDpmJob): + var dj DpmJob + err := json.Unmarshal(body, &dj) + return dj, err + case string(JobTypeMabJob): + var mj MabJob + err := json.Unmarshal(body, &mj) + return mj, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalJobArray(body []byte) ([]Job, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + jArray := make([]Job, len(rawMessages)) + + for index, rawMessage := range rawMessages { + j, err := unmarshalJob(*rawMessage) + if err != nil { + return nil, err + } + jArray[index] = j + } + return jArray, nil } // JobQueryObject is filters to list the jobs. @@ -1573,7 +2907,88 @@ type JobResource struct { Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` ETag *string `json:"eTag,omitempty"` - Properties *Job `json:"properties,omitempty"` + Properties Job `json:"properties,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for JobResource struct. +func (jr *JobResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["properties"] + if v != nil { + properties, err := unmarshalJob(*m["properties"]) + if err != nil { + return err + } + jr.Properties = properties + } + + v = m["id"] + if v != nil { + var ID string + err = json.Unmarshal(*m["id"], &ID) + if err != nil { + return err + } + jr.ID = &ID + } + + v = m["name"] + if v != nil { + var name string + err = json.Unmarshal(*m["name"], &name) + if err != nil { + return err + } + jr.Name = &name + } + + v = m["type"] + if v != nil { + var typeVar string + err = json.Unmarshal(*m["type"], &typeVar) + if err != nil { + return err + } + jr.Type = &typeVar + } + + v = m["location"] + if v != nil { + var location string + err = json.Unmarshal(*m["location"], &location) + if err != nil { + return err + } + jr.Location = &location + } + + v = m["tags"] + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*m["tags"], &tags) + if err != nil { + return err + } + jr.Tags = &tags + } + + v = m["eTag"] + if v != nil { + var eTag string + err = json.Unmarshal(*m["eTag"], &eTag) + if err != nil { + return err + } + jr.ETag = &eTag + } + + return nil } // JobResourceList is list of Job resources @@ -1595,14 +3010,14 @@ func (client JobResourceList) JobResourceListPreparer() (*http.Request, error) { autorest.WithBaseURL(to.String(client.NextLink))) } -// KEKDetails is kEK is encryption key for BEK. +// KEKDetails is KEK is encryption key for BEK. type KEKDetails struct { KeyURL *string `json:"keyUrl,omitempty"` KeyVaultID *string `json:"keyVaultId,omitempty"` KeyBackupData *string `json:"keyBackupData,omitempty"` } -// KeyAndSecretDetails is bEK is bitlocker key. +// KeyAndSecretDetails is BEK is bitlocker key. // KEK is encryption key for BEK // If the VM was encrypted then we will store follwing details : // 1. Secret(BEK) - Url + Backup Data + vaultId. @@ -1615,28 +3030,119 @@ type KeyAndSecretDetails struct { // LongTermRetentionPolicy is long term retention policy. type LongTermRetentionPolicy struct { - DailySchedule *DailyRetentionSchedule `json:"dailySchedule,omitempty"` - WeeklySchedule *WeeklyRetentionSchedule `json:"weeklySchedule,omitempty"` - MonthlySchedule *MonthlyRetentionSchedule `json:"monthlySchedule,omitempty"` - YearlySchedule *YearlyRetentionSchedule `json:"yearlySchedule,omitempty"` + RetentionPolicyType RetentionPolicyType `json:"retentionPolicyType,omitempty"` + DailySchedule *DailyRetentionSchedule `json:"dailySchedule,omitempty"` + WeeklySchedule *WeeklyRetentionSchedule `json:"weeklySchedule,omitempty"` + MonthlySchedule *MonthlyRetentionSchedule `json:"monthlySchedule,omitempty"` + YearlySchedule *YearlyRetentionSchedule `json:"yearlySchedule,omitempty"` +} + +// MarshalJSON is the custom marshaler for LongTermRetentionPolicy. +func (ltrp LongTermRetentionPolicy) MarshalJSON() ([]byte, error) { + ltrp.RetentionPolicyType = RetentionPolicyTypeLongTermRetentionPolicy + type Alias LongTermRetentionPolicy + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ltrp), + }) +} + +// AsLongTermRetentionPolicy is the RetentionPolicy implementation for LongTermRetentionPolicy. +func (ltrp LongTermRetentionPolicy) AsLongTermRetentionPolicy() (*LongTermRetentionPolicy, bool) { + return <rp, true +} + +// AsSimpleRetentionPolicy is the RetentionPolicy implementation for LongTermRetentionPolicy. +func (ltrp LongTermRetentionPolicy) AsSimpleRetentionPolicy() (*SimpleRetentionPolicy, bool) { + return nil, false } // LongTermSchedulePolicy is long term policy schedule. type LongTermSchedulePolicy struct { + SchedulePolicyType SchedulePolicyType `json:"schedulePolicyType,omitempty"` +} + +// MarshalJSON is the custom marshaler for LongTermSchedulePolicy. +func (ltsp LongTermSchedulePolicy) MarshalJSON() ([]byte, error) { + ltsp.SchedulePolicyType = SchedulePolicyTypeLongTermSchedulePolicy + type Alias LongTermSchedulePolicy + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ltsp), + }) +} + +// AsLongTermSchedulePolicy is the SchedulePolicy implementation for LongTermSchedulePolicy. +func (ltsp LongTermSchedulePolicy) AsLongTermSchedulePolicy() (*LongTermSchedulePolicy, bool) { + return <sp, true +} + +// AsSimpleSchedulePolicy is the SchedulePolicy implementation for LongTermSchedulePolicy. +func (ltsp LongTermSchedulePolicy) AsSimpleSchedulePolicy() (*SimpleSchedulePolicy, bool) { + return nil, false } // MabContainer is container with items backed up using MAB backup engine. type MabContainer struct { - FriendlyName *string `json:"friendlyName,omitempty"` - BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` - RegistrationStatus *string `json:"registrationStatus,omitempty"` - HealthStatus *string `json:"healthStatus,omitempty"` - ContainerType ContainerType `json:"containerType,omitempty"` - CanReRegister *bool `json:"canReRegister,omitempty"` - ContainerID *int64 `json:"containerId,omitempty"` - ProtectedItemCount *int64 `json:"protectedItemCount,omitempty"` - AgentVersion *string `json:"agentVersion,omitempty"` - ExtendedInfo *MabContainerExtendedInfo `json:"extendedInfo,omitempty"` + FriendlyName *string `json:"friendlyName,omitempty"` + BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` + RegistrationStatus *string `json:"registrationStatus,omitempty"` + HealthStatus *string `json:"healthStatus,omitempty"` + ContainerType ContainerType `json:"containerType,omitempty"` + ProtectableObjectType ProtectableObjectType `json:"protectableObjectType,omitempty"` + CanReRegister *bool `json:"canReRegister,omitempty"` + ContainerID *int64 `json:"containerId,omitempty"` + ProtectedItemCount *int64 `json:"protectedItemCount,omitempty"` + AgentVersion *string `json:"agentVersion,omitempty"` + ExtendedInfo *MabContainerExtendedInfo `json:"extendedInfo,omitempty"` +} + +// MarshalJSON is the custom marshaler for MabContainer. +func (mc MabContainer) MarshalJSON() ([]byte, error) { + mc.ProtectableObjectType = ProtectableObjectTypeMABWindowsContainer + type Alias MabContainer + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(mc), + }) +} + +// AsAzureBackupServerContainer is the ProtectionContainer implementation for MabContainer. +func (mc MabContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { + return nil, false +} + +// AsAzureIaaSClassicComputeVMContainer is the ProtectionContainer implementation for MabContainer. +func (mc MabContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { + return nil, false +} + +// AsAzureIaaSComputeVMContainer is the ProtectionContainer implementation for MabContainer. +func (mc MabContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { + return nil, false +} + +// AsAzureSQLContainer is the ProtectionContainer implementation for MabContainer. +func (mc MabContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { + return nil, false +} + +// AsDpmContainer is the ProtectionContainer implementation for MabContainer. +func (mc MabContainer) AsDpmContainer() (*DpmContainer, bool) { + return nil, false +} + +// AsIaaSVMContainer is the ProtectionContainer implementation for MabContainer. +func (mc MabContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { + return nil, false +} + +// AsMabContainer is the ProtectionContainer implementation for MabContainer. +func (mc MabContainer) AsMabContainer() (*MabContainer, bool) { + return &mc, true } // MabContainerExtendedInfo is additional information of the container. @@ -1648,13 +3154,13 @@ type MabContainerExtendedInfo struct { LastBackupStatus *string `json:"lastBackupStatus,omitempty"` } -// MabErrorInfo is mAB workload-specific error information. +// MabErrorInfo is MAB workload-specific error information. type MabErrorInfo struct { ErrorString *string `json:"errorString,omitempty"` Recommendations *[]string `json:"recommendations,omitempty"` } -// MabFileFolderProtectedItem is mAB workload-specific backup item. +// MabFileFolderProtectedItem is MAB workload-specific backup item. type MabFileFolderProtectedItem struct { BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` WorkloadType DataSourceType `json:"workloadType,omitempty"` @@ -1662,6 +3168,7 @@ type MabFileFolderProtectedItem struct { SourceResourceID *string `json:"sourceResourceId,omitempty"` PolicyID *string `json:"policyId,omitempty"` LastRecoveryPoint *date.Time `json:"lastRecoveryPoint,omitempty"` + ProtectedItemType ProtectedItemType `json:"protectedItemType,omitempty"` FriendlyName *string `json:"friendlyName,omitempty"` ComputerName *string `json:"computerName,omitempty"` LastBackupStatus *string `json:"lastBackupStatus,omitempty"` @@ -1671,15 +3178,55 @@ type MabFileFolderProtectedItem struct { ExtendedInfo *MabFileFolderProtectedItemExtendedInfo `json:"extendedInfo,omitempty"` } -// MabFileFolderProtectedItemExtendedInfo is additional information on the -// backed up item. +// MarshalJSON is the custom marshaler for MabFileFolderProtectedItem. +func (mffpi MabFileFolderProtectedItem) MarshalJSON() ([]byte, error) { + mffpi.ProtectedItemType = ProtectedItemTypeMabFileFolderProtectedItem + type Alias MabFileFolderProtectedItem + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(mffpi), + }) +} + +// AsAzureIaaSClassicComputeVMProtectedItem is the ProtectedItem implementation for MabFileFolderProtectedItem. +func (mffpi MabFileFolderProtectedItem) AsAzureIaaSClassicComputeVMProtectedItem() (*AzureIaaSClassicComputeVMProtectedItem, bool) { + return nil, false +} + +// AsAzureIaaSComputeVMProtectedItem is the ProtectedItem implementation for MabFileFolderProtectedItem. +func (mffpi MabFileFolderProtectedItem) AsAzureIaaSComputeVMProtectedItem() (*AzureIaaSComputeVMProtectedItem, bool) { + return nil, false +} + +// AsAzureIaaSVMProtectedItem is the ProtectedItem implementation for MabFileFolderProtectedItem. +func (mffpi MabFileFolderProtectedItem) AsAzureIaaSVMProtectedItem() (*AzureIaaSVMProtectedItem, bool) { + return nil, false +} + +// AsAzureSQLProtectedItem is the ProtectedItem implementation for MabFileFolderProtectedItem. +func (mffpi MabFileFolderProtectedItem) AsAzureSQLProtectedItem() (*AzureSQLProtectedItem, bool) { + return nil, false +} + +// AsDPMProtectedItem is the ProtectedItem implementation for MabFileFolderProtectedItem. +func (mffpi MabFileFolderProtectedItem) AsDPMProtectedItem() (*DPMProtectedItem, bool) { + return nil, false +} + +// AsMabFileFolderProtectedItem is the ProtectedItem implementation for MabFileFolderProtectedItem. +func (mffpi MabFileFolderProtectedItem) AsMabFileFolderProtectedItem() (*MabFileFolderProtectedItem, bool) { + return &mffpi, true +} + +// MabFileFolderProtectedItemExtendedInfo is additional information on the backed up item. type MabFileFolderProtectedItemExtendedInfo struct { LastRefreshedAt *date.Time `json:"lastRefreshedAt,omitempty"` OldestRecoveryPoint *date.Time `json:"oldestRecoveryPoint,omitempty"` RecoveryPointCount *int32 `json:"recoveryPointCount,omitempty"` } -// MabJob is mAB workload-specific job. +// MabJob is MAB workload-specific job. type MabJob struct { EntityFriendlyName *string `json:"entityFriendlyName,omitempty"` BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` @@ -1688,6 +3235,7 @@ type MabJob struct { StartTime *date.Time `json:"startTime,omitempty"` EndTime *date.Time `json:"endTime,omitempty"` ActivityID *string `json:"activityId,omitempty"` + JobType JobType `json:"jobType,omitempty"` Duration *string `json:"duration,omitempty"` ActionsInfo *[]JobSupportedAction `json:"actionsInfo,omitempty"` MabServerName *string `json:"mabServerName,omitempty"` @@ -1697,15 +3245,40 @@ type MabJob struct { ExtendedInfo *MabJobExtendedInfo `json:"extendedInfo,omitempty"` } -// MabJobExtendedInfo is additional information for the MAB workload-specific -// job. +// MarshalJSON is the custom marshaler for MabJob. +func (mj MabJob) MarshalJSON() ([]byte, error) { + mj.JobType = JobTypeMabJob + type Alias MabJob + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(mj), + }) +} + +// AsAzureIaaSVMJob is the Job implementation for MabJob. +func (mj MabJob) AsAzureIaaSVMJob() (*AzureIaaSVMJob, bool) { + return nil, false +} + +// AsDpmJob is the Job implementation for MabJob. +func (mj MabJob) AsDpmJob() (*DpmJob, bool) { + return nil, false +} + +// AsMabJob is the Job implementation for MabJob. +func (mj MabJob) AsMabJob() (*MabJob, bool) { + return &mj, true +} + +// MabJobExtendedInfo is additional information for the MAB workload-specific job. type MabJobExtendedInfo struct { TasksList *[]MabJobTaskDetails `json:"tasksList,omitempty"` PropertyBag *map[string]*string `json:"propertyBag,omitempty"` DynamicErrorMessage *string `json:"dynamicErrorMessage,omitempty"` } -// MabJobTaskDetails is mAB workload-specific job task details. +// MabJobTaskDetails is MAB workload-specific job task details. type MabJobTaskDetails struct { TaskID *string `json:"taskId,omitempty"` StartTime *date.Time `json:"startTime,omitempty"` @@ -1716,9 +3289,86 @@ type MabJobTaskDetails struct { // MabProtectionPolicy is mab container-specific backup policy. type MabProtectionPolicy struct { - ProtectedItemsCount *int32 `json:"protectedItemsCount,omitempty"` - SchedulePolicy *SchedulePolicy `json:"schedulePolicy,omitempty"` - RetentionPolicy *RetentionPolicy `json:"retentionPolicy,omitempty"` + ProtectedItemsCount *int32 `json:"protectedItemsCount,omitempty"` + BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` + SchedulePolicy SchedulePolicy `json:"schedulePolicy,omitempty"` + RetentionPolicy RetentionPolicy `json:"retentionPolicy,omitempty"` +} + +// MarshalJSON is the custom marshaler for MabProtectionPolicy. +func (mpp MabProtectionPolicy) MarshalJSON() ([]byte, error) { + mpp.BackupManagementType = BackupManagementTypeMAB + type Alias MabProtectionPolicy + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(mpp), + }) +} + +// AsAzureIaaSVMProtectionPolicy is the ProtectionPolicy implementation for MabProtectionPolicy. +func (mpp MabProtectionPolicy) AsAzureIaaSVMProtectionPolicy() (*AzureIaaSVMProtectionPolicy, bool) { + return nil, false +} + +// AsAzureSQLProtectionPolicy is the ProtectionPolicy implementation for MabProtectionPolicy. +func (mpp MabProtectionPolicy) AsAzureSQLProtectionPolicy() (*AzureSQLProtectionPolicy, bool) { + return nil, false +} + +// AsMabProtectionPolicy is the ProtectionPolicy implementation for MabProtectionPolicy. +func (mpp MabProtectionPolicy) AsMabProtectionPolicy() (*MabProtectionPolicy, bool) { + return &mpp, true +} + +// UnmarshalJSON is the custom unmarshaler for MabProtectionPolicy struct. +func (mpp *MabProtectionPolicy) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["schedulePolicy"] + if v != nil { + schedulePolicy, err := unmarshalSchedulePolicy(*m["schedulePolicy"]) + if err != nil { + return err + } + mpp.SchedulePolicy = schedulePolicy + } + + v = m["retentionPolicy"] + if v != nil { + retentionPolicy, err := unmarshalRetentionPolicy(*m["retentionPolicy"]) + if err != nil { + return err + } + mpp.RetentionPolicy = retentionPolicy + } + + v = m["protectedItemsCount"] + if v != nil { + var protectedItemsCount int32 + err = json.Unmarshal(*m["protectedItemsCount"], &protectedItemsCount) + if err != nil { + return err + } + mpp.ProtectedItemsCount = &protectedItemsCount + } + + v = m["backupManagementType"] + if v != nil { + var backupManagementType BackupManagementType + err = json.Unmarshal(*m["backupManagementType"], &backupManagementType) + if err != nil { + return err + } + mpp.BackupManagementType = backupManagementType + } + + return nil } // MonthlyRetentionSchedule is monthly retention schedule. @@ -1738,78 +3388,440 @@ type NameInfo struct { // OperationResultInfo is operation result info. type OperationResultInfo struct { - JobList *[]string `json:"jobList,omitempty"` + ObjectType ObjectTypeOperationResultInfoBase `json:"objectType,omitempty"` + JobList *[]string `json:"jobList,omitempty"` +} + +// MarshalJSON is the custom marshaler for OperationResultInfo. +func (ori OperationResultInfo) MarshalJSON() ([]byte, error) { + ori.ObjectType = ObjectTypeOperationResultInfo + type Alias OperationResultInfo + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ori), + }) +} + +// AsExportJobsOperationResultInfo is the OperationResultInfoBase implementation for OperationResultInfo. +func (ori OperationResultInfo) AsExportJobsOperationResultInfo() (*ExportJobsOperationResultInfo, bool) { + return nil, false +} + +// AsOperationResultInfo is the OperationResultInfoBase implementation for OperationResultInfo. +func (ori OperationResultInfo) AsOperationResultInfo() (*OperationResultInfo, bool) { + return &ori, true } // OperationResultInfoBase is base class for operation result info. -type OperationResultInfoBase struct { +type OperationResultInfoBase interface { + AsExportJobsOperationResultInfo() (*ExportJobsOperationResultInfo, bool) + AsOperationResultInfo() (*OperationResultInfo, bool) +} + +func unmarshalOperationResultInfoBase(body []byte) (OperationResultInfoBase, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["objectType"] { + case string(ObjectTypeExportJobsOperationResultInfo): + var ejori ExportJobsOperationResultInfo + err := json.Unmarshal(body, &ejori) + return ejori, err + case string(ObjectTypeOperationResultInfo): + var ori OperationResultInfo + err := json.Unmarshal(body, &ori) + return ori, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalOperationResultInfoBaseArray(body []byte) ([]OperationResultInfoBase, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + oribArray := make([]OperationResultInfoBase, len(rawMessages)) + + for index, rawMessage := range rawMessages { + orib, err := unmarshalOperationResultInfoBase(*rawMessage) + if err != nil { + return nil, err + } + oribArray[index] = orib + } + return oribArray, nil } // OperationResultInfoBaseResource is base class for operation result info. type OperationResultInfoBaseResource struct { autorest.Response `json:"-"` - StatusCode HTTPStatusCode `json:"statusCode,omitempty"` - Headers *map[string][]string `json:"Headers,omitempty"` - Operation *OperationResultInfoBase `json:"operation,omitempty"` + StatusCode HTTPStatusCode `json:"statusCode,omitempty"` + Headers *map[string][]string `json:"Headers,omitempty"` + Operation OperationResultInfoBase `json:"operation,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for OperationResultInfoBaseResource struct. +func (oribr *OperationResultInfoBaseResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["operation"] + if v != nil { + operation, err := unmarshalOperationResultInfoBase(*m["operation"]) + if err != nil { + return err + } + oribr.Operation = operation + } + + v = m["statusCode"] + if v != nil { + var statusCode HTTPStatusCode + err = json.Unmarshal(*m["statusCode"], &statusCode) + if err != nil { + return err + } + oribr.StatusCode = statusCode + } + + v = m["Headers"] + if v != nil { + var headers map[string][]string + err = json.Unmarshal(*m["Headers"], &headers) + if err != nil { + return err + } + oribr.Headers = &headers + } + + return nil } // OperationStatus is operation status. type OperationStatus struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Status OperationStatusValues `json:"status,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - EndTime *date.Time `json:"endTime,omitempty"` - Error *OperationStatusError `json:"error,omitempty"` - Properties *OperationStatusExtendedInfo `json:"properties,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Status OperationStatusValues `json:"status,omitempty"` + StartTime *date.Time `json:"startTime,omitempty"` + EndTime *date.Time `json:"endTime,omitempty"` + Error *OperationStatusError `json:"error,omitempty"` + Properties OperationStatusExtendedInfo `json:"properties,omitempty"` } -// OperationStatusError is error information associated with operation status -// call. +// UnmarshalJSON is the custom unmarshaler for OperationStatus struct. +func (osVar *OperationStatus) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["id"] + if v != nil { + var ID string + err = json.Unmarshal(*m["id"], &ID) + if err != nil { + return err + } + osVar.ID = &ID + } + + v = m["name"] + if v != nil { + var name string + err = json.Unmarshal(*m["name"], &name) + if err != nil { + return err + } + osVar.Name = &name + } + + v = m["status"] + if v != nil { + var status OperationStatusValues + err = json.Unmarshal(*m["status"], &status) + if err != nil { + return err + } + osVar.Status = status + } + + v = m["startTime"] + if v != nil { + var startTime date.Time + err = json.Unmarshal(*m["startTime"], &startTime) + if err != nil { + return err + } + osVar.StartTime = &startTime + } + + v = m["endTime"] + if v != nil { + var endTime date.Time + err = json.Unmarshal(*m["endTime"], &endTime) + if err != nil { + return err + } + osVar.EndTime = &endTime + } + + v = m["error"] + if v != nil { + var errorVar OperationStatusError + err = json.Unmarshal(*m["error"], &errorVar) + if err != nil { + return err + } + osVar.Error = &errorVar + } + + v = m["properties"] + if v != nil { + properties, err := unmarshalOperationStatusExtendedInfo(*m["properties"]) + if err != nil { + return err + } + osVar.Properties = properties + } + + return nil +} + +// OperationStatusError is error information associated with operation status call. type OperationStatusError struct { Code *string `json:"code,omitempty"` Message *string `json:"message,omitempty"` } -// OperationStatusExtendedInfo is base class for additional information of -// operation status. -type OperationStatusExtendedInfo struct { +// OperationStatusExtendedInfo is base class for additional information of operation status. +type OperationStatusExtendedInfo interface { + AsOperationStatusJobExtendedInfo() (*OperationStatusJobExtendedInfo, bool) + AsOperationStatusJobsExtendedInfo() (*OperationStatusJobsExtendedInfo, bool) + AsOperationStatusProvisionILRExtendedInfo() (*OperationStatusProvisionILRExtendedInfo, bool) +} + +func unmarshalOperationStatusExtendedInfo(body []byte) (OperationStatusExtendedInfo, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["objectType"] { + case string(ObjectTypeOperationStatusJobExtendedInfo): + var osjei OperationStatusJobExtendedInfo + err := json.Unmarshal(body, &osjei) + return osjei, err + case string(ObjectTypeOperationStatusJobsExtendedInfo): + var osjei OperationStatusJobsExtendedInfo + err := json.Unmarshal(body, &osjei) + return osjei, err + case string(ObjectTypeOperationStatusProvisionILRExtendedInfo): + var ospiei OperationStatusProvisionILRExtendedInfo + err := json.Unmarshal(body, &ospiei) + return ospiei, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalOperationStatusExtendedInfoArray(body []byte) ([]OperationStatusExtendedInfo, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + oseiArray := make([]OperationStatusExtendedInfo, len(rawMessages)) + + for index, rawMessage := range rawMessages { + osei, err := unmarshalOperationStatusExtendedInfo(*rawMessage) + if err != nil { + return nil, err + } + oseiArray[index] = osei + } + return oseiArray, nil } // OperationStatusJobExtendedInfo is operation status job extended info. type OperationStatusJobExtendedInfo struct { - JobID *string `json:"jobId,omitempty"` + ObjectType ObjectTypeOperationStatusExtendedInfo `json:"objectType,omitempty"` + JobID *string `json:"jobId,omitempty"` } -// OperationStatusJobsExtendedInfo is operation status extended info for list -// of jobs. +// MarshalJSON is the custom marshaler for OperationStatusJobExtendedInfo. +func (osjei OperationStatusJobExtendedInfo) MarshalJSON() ([]byte, error) { + osjei.ObjectType = ObjectTypeOperationStatusJobExtendedInfo + type Alias OperationStatusJobExtendedInfo + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(osjei), + }) +} + +// AsOperationStatusJobExtendedInfo is the OperationStatusExtendedInfo implementation for OperationStatusJobExtendedInfo. +func (osjei OperationStatusJobExtendedInfo) AsOperationStatusJobExtendedInfo() (*OperationStatusJobExtendedInfo, bool) { + return &osjei, true +} + +// AsOperationStatusJobsExtendedInfo is the OperationStatusExtendedInfo implementation for OperationStatusJobExtendedInfo. +func (osjei OperationStatusJobExtendedInfo) AsOperationStatusJobsExtendedInfo() (*OperationStatusJobsExtendedInfo, bool) { + return nil, false +} + +// AsOperationStatusProvisionILRExtendedInfo is the OperationStatusExtendedInfo implementation for OperationStatusJobExtendedInfo. +func (osjei OperationStatusJobExtendedInfo) AsOperationStatusProvisionILRExtendedInfo() (*OperationStatusProvisionILRExtendedInfo, bool) { + return nil, false +} + +// OperationStatusJobsExtendedInfo is operation status extended info for list of jobs. type OperationStatusJobsExtendedInfo struct { - JobIds *[]string `json:"jobIds,omitempty"` - FailedJobsError *map[string]*string `json:"failedJobsError,omitempty"` + ObjectType ObjectTypeOperationStatusExtendedInfo `json:"objectType,omitempty"` + JobIds *[]string `json:"jobIds,omitempty"` + FailedJobsError *map[string]*string `json:"failedJobsError,omitempty"` } -// OperationStatusProvisionILRExtendedInfo is operation status extended info -// for ILR provision action. +// MarshalJSON is the custom marshaler for OperationStatusJobsExtendedInfo. +func (osjei OperationStatusJobsExtendedInfo) MarshalJSON() ([]byte, error) { + osjei.ObjectType = ObjectTypeOperationStatusJobsExtendedInfo + type Alias OperationStatusJobsExtendedInfo + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(osjei), + }) +} + +// AsOperationStatusJobExtendedInfo is the OperationStatusExtendedInfo implementation for OperationStatusJobsExtendedInfo. +func (osjei OperationStatusJobsExtendedInfo) AsOperationStatusJobExtendedInfo() (*OperationStatusJobExtendedInfo, bool) { + return nil, false +} + +// AsOperationStatusJobsExtendedInfo is the OperationStatusExtendedInfo implementation for OperationStatusJobsExtendedInfo. +func (osjei OperationStatusJobsExtendedInfo) AsOperationStatusJobsExtendedInfo() (*OperationStatusJobsExtendedInfo, bool) { + return &osjei, true +} + +// AsOperationStatusProvisionILRExtendedInfo is the OperationStatusExtendedInfo implementation for OperationStatusJobsExtendedInfo. +func (osjei OperationStatusJobsExtendedInfo) AsOperationStatusProvisionILRExtendedInfo() (*OperationStatusProvisionILRExtendedInfo, bool) { + return nil, false +} + +// OperationStatusProvisionILRExtendedInfo is operation status extended info for ILR provision action. type OperationStatusProvisionILRExtendedInfo struct { - RecoveryTarget *InstantItemRecoveryTarget `json:"recoveryTarget,omitempty"` + ObjectType ObjectTypeOperationStatusExtendedInfo `json:"objectType,omitempty"` + RecoveryTarget *InstantItemRecoveryTarget `json:"recoveryTarget,omitempty"` } -// OperationWorkerResponse is this is the base class for operation result -// responses. +// MarshalJSON is the custom marshaler for OperationStatusProvisionILRExtendedInfo. +func (ospiei OperationStatusProvisionILRExtendedInfo) MarshalJSON() ([]byte, error) { + ospiei.ObjectType = ObjectTypeOperationStatusProvisionILRExtendedInfo + type Alias OperationStatusProvisionILRExtendedInfo + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ospiei), + }) +} + +// AsOperationStatusJobExtendedInfo is the OperationStatusExtendedInfo implementation for OperationStatusProvisionILRExtendedInfo. +func (ospiei OperationStatusProvisionILRExtendedInfo) AsOperationStatusJobExtendedInfo() (*OperationStatusJobExtendedInfo, bool) { + return nil, false +} + +// AsOperationStatusJobsExtendedInfo is the OperationStatusExtendedInfo implementation for OperationStatusProvisionILRExtendedInfo. +func (ospiei OperationStatusProvisionILRExtendedInfo) AsOperationStatusJobsExtendedInfo() (*OperationStatusJobsExtendedInfo, bool) { + return nil, false +} + +// AsOperationStatusProvisionILRExtendedInfo is the OperationStatusExtendedInfo implementation for OperationStatusProvisionILRExtendedInfo. +func (ospiei OperationStatusProvisionILRExtendedInfo) AsOperationStatusProvisionILRExtendedInfo() (*OperationStatusProvisionILRExtendedInfo, bool) { + return &ospiei, true +} + +// OperationWorkerResponse is this is the base class for operation result responses. type OperationWorkerResponse struct { StatusCode HTTPStatusCode `json:"statusCode,omitempty"` Headers *map[string][]string `json:"Headers,omitempty"` } // ProtectedItem is base class for backup items. -type ProtectedItem struct { - BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` - WorkloadType DataSourceType `json:"workloadType,omitempty"` - ContainerName *string `json:"containerName,omitempty"` - SourceResourceID *string `json:"sourceResourceId,omitempty"` - PolicyID *string `json:"policyId,omitempty"` - LastRecoveryPoint *date.Time `json:"lastRecoveryPoint,omitempty"` +type ProtectedItem interface { + AsAzureIaaSClassicComputeVMProtectedItem() (*AzureIaaSClassicComputeVMProtectedItem, bool) + AsAzureIaaSComputeVMProtectedItem() (*AzureIaaSComputeVMProtectedItem, bool) + AsAzureIaaSVMProtectedItem() (*AzureIaaSVMProtectedItem, bool) + AsAzureSQLProtectedItem() (*AzureSQLProtectedItem, bool) + AsDPMProtectedItem() (*DPMProtectedItem, bool) + AsMabFileFolderProtectedItem() (*MabFileFolderProtectedItem, bool) +} + +func unmarshalProtectedItem(body []byte) (ProtectedItem, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["protectedItemType"] { + case string(ProtectedItemTypeMicrosoftClassicComputevirtualMachines): + var aisccvpi AzureIaaSClassicComputeVMProtectedItem + err := json.Unmarshal(body, &aisccvpi) + return aisccvpi, err + case string(ProtectedItemTypeMicrosoftComputevirtualMachines): + var aiscvpi AzureIaaSComputeVMProtectedItem + err := json.Unmarshal(body, &aiscvpi) + return aiscvpi, err + case string(ProtectedItemTypeAzureIaaSVMProtectedItem): + var aispi AzureIaaSVMProtectedItem + err := json.Unmarshal(body, &aispi) + return aispi, err + case string(ProtectedItemTypeMicrosoftSqlserversdatabases): + var aspi AzureSQLProtectedItem + err := json.Unmarshal(body, &aspi) + return aspi, err + case string(ProtectedItemTypeDPMProtectedItem): + var dpi DPMProtectedItem + err := json.Unmarshal(body, &dpi) + return dpi, err + case string(ProtectedItemTypeMabFileFolderProtectedItem): + var mffpi MabFileFolderProtectedItem + err := json.Unmarshal(body, &mffpi) + return mffpi, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalProtectedItemArray(body []byte) ([]ProtectedItem, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + piArray := make([]ProtectedItem, len(rawMessages)) + + for index, rawMessage := range rawMessages { + pi, err := unmarshalProtectedItem(*rawMessage) + if err != nil { + return nil, err + } + piArray[index] = pi + } + return piArray, nil } // ProtectedItemQueryObject is filters to list backup items. @@ -1832,7 +3844,88 @@ type ProtectedItemResource struct { Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` ETag *string `json:"eTag,omitempty"` - Properties *ProtectedItem `json:"properties,omitempty"` + Properties ProtectedItem `json:"properties,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for ProtectedItemResource struct. +func (pir *ProtectedItemResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["properties"] + if v != nil { + properties, err := unmarshalProtectedItem(*m["properties"]) + if err != nil { + return err + } + pir.Properties = properties + } + + v = m["id"] + if v != nil { + var ID string + err = json.Unmarshal(*m["id"], &ID) + if err != nil { + return err + } + pir.ID = &ID + } + + v = m["name"] + if v != nil { + var name string + err = json.Unmarshal(*m["name"], &name) + if err != nil { + return err + } + pir.Name = &name + } + + v = m["type"] + if v != nil { + var typeVar string + err = json.Unmarshal(*m["type"], &typeVar) + if err != nil { + return err + } + pir.Type = &typeVar + } + + v = m["location"] + if v != nil { + var location string + err = json.Unmarshal(*m["location"], &location) + if err != nil { + return err + } + pir.Location = &location + } + + v = m["tags"] + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*m["tags"], &tags) + if err != nil { + return err + } + pir.Tags = &tags + } + + v = m["eTag"] + if v != nil { + var eTag string + err = json.Unmarshal(*m["eTag"], &eTag) + if err != nil { + return err + } + pir.ETag = &eTag + } + + return nil } // ProtectedItemResourceList is list of ProtectedItem resources @@ -1854,27 +3947,169 @@ func (client ProtectedItemResourceList) ProtectedItemResourceListPreparer() (*ht autorest.WithBaseURL(to.String(client.NextLink))) } -// ProtectionContainer is base class for container with backup items. -// Containers with specific workloads are derived from this class. -type ProtectionContainer struct { - FriendlyName *string `json:"friendlyName,omitempty"` - BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` - RegistrationStatus *string `json:"registrationStatus,omitempty"` - HealthStatus *string `json:"healthStatus,omitempty"` - ContainerType ContainerType `json:"containerType,omitempty"` +// ProtectionContainer is base class for container with backup items. Containers with specific workloads are derived +// from this class. +type ProtectionContainer interface { + AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) + AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) + AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) + AsAzureSQLContainer() (*AzureSQLContainer, bool) + AsDpmContainer() (*DpmContainer, bool) + AsIaaSVMContainer() (*IaaSVMContainer, bool) + AsMabContainer() (*MabContainer, bool) } -// ProtectionContainerResource is base class for container with backup items. -// Containers with specific workloads are derived from this class. +func unmarshalProtectionContainer(body []byte) (ProtectionContainer, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["protectableObjectType"] { + case string(ProtectableObjectTypeAzureBackupServerContainer): + var absc AzureBackupServerContainer + err := json.Unmarshal(body, &absc) + return absc, err + case string(ProtectableObjectTypeMicrosoftClassicComputevirtualMachines): + var aisccvc AzureIaaSClassicComputeVMContainer + err := json.Unmarshal(body, &aisccvc) + return aisccvc, err + case string(ProtectableObjectTypeMicrosoftComputevirtualMachines): + var aiscvc AzureIaaSComputeVMContainer + err := json.Unmarshal(body, &aiscvc) + return aiscvc, err + case string(ProtectableObjectTypeAzureSQLContainer): + var asc AzureSQLContainer + err := json.Unmarshal(body, &asc) + return asc, err + case string(ProtectableObjectTypeDPMContainer): + var dc DpmContainer + err := json.Unmarshal(body, &dc) + return dc, err + case string(ProtectableObjectTypeIaaSVMContainer): + var isc IaaSVMContainer + err := json.Unmarshal(body, &isc) + return isc, err + case string(ProtectableObjectTypeMABWindowsContainer): + var mc MabContainer + err := json.Unmarshal(body, &mc) + return mc, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalProtectionContainerArray(body []byte) ([]ProtectionContainer, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + pcArray := make([]ProtectionContainer, len(rawMessages)) + + for index, rawMessage := range rawMessages { + pc, err := unmarshalProtectionContainer(*rawMessage) + if err != nil { + return nil, err + } + pcArray[index] = pc + } + return pcArray, nil +} + +// ProtectionContainerResource is base class for container with backup items. Containers with specific workloads are +// derived from this class. type ProtectionContainerResource struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Type *string `json:"type,omitempty"` - Location *string `json:"location,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` - ETag *string `json:"eTag,omitempty"` - Properties *ProtectionContainer `json:"properties,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + ETag *string `json:"eTag,omitempty"` + Properties ProtectionContainer `json:"properties,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for ProtectionContainerResource struct. +func (pcr *ProtectionContainerResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["properties"] + if v != nil { + properties, err := unmarshalProtectionContainer(*m["properties"]) + if err != nil { + return err + } + pcr.Properties = properties + } + + v = m["id"] + if v != nil { + var ID string + err = json.Unmarshal(*m["id"], &ID) + if err != nil { + return err + } + pcr.ID = &ID + } + + v = m["name"] + if v != nil { + var name string + err = json.Unmarshal(*m["name"], &name) + if err != nil { + return err + } + pcr.Name = &name + } + + v = m["type"] + if v != nil { + var typeVar string + err = json.Unmarshal(*m["type"], &typeVar) + if err != nil { + return err + } + pcr.Type = &typeVar + } + + v = m["location"] + if v != nil { + var location string + err = json.Unmarshal(*m["location"], &location) + if err != nil { + return err + } + pcr.Location = &location + } + + v = m["tags"] + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*m["tags"], &tags) + if err != nil { + return err + } + pcr.Tags = &tags + } + + v = m["eTag"] + if v != nil { + var eTag string + err = json.Unmarshal(*m["eTag"], &eTag) + if err != nil { + return err + } + pcr.ETag = &eTag + } + + return nil } // ProtectionContainerResourceList is list of ProtectionContainer resources @@ -1896,10 +4131,54 @@ func (client ProtectionContainerResourceList) ProtectionContainerResourceListPre autorest.WithBaseURL(to.String(client.NextLink))) } -// ProtectionPolicy is base class for backup policy. Workload-specific backup -// policies are derived from this class. -type ProtectionPolicy struct { - ProtectedItemsCount *int32 `json:"protectedItemsCount,omitempty"` +// ProtectionPolicy is base class for backup policy. Workload-specific backup policies are derived from this class. +type ProtectionPolicy interface { + AsAzureIaaSVMProtectionPolicy() (*AzureIaaSVMProtectionPolicy, bool) + AsAzureSQLProtectionPolicy() (*AzureSQLProtectionPolicy, bool) + AsMabProtectionPolicy() (*MabProtectionPolicy, bool) +} + +func unmarshalProtectionPolicy(body []byte) (ProtectionPolicy, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["backupManagementType"] { + case string(BackupManagementTypeAzureIaasVM): + var aispp AzureIaaSVMProtectionPolicy + err := json.Unmarshal(body, &aispp) + return aispp, err + case string(BackupManagementTypeAzureSQL): + var aspp AzureSQLProtectionPolicy + err := json.Unmarshal(body, &aspp) + return aspp, err + case string(BackupManagementTypeMAB): + var mpp MabProtectionPolicy + err := json.Unmarshal(body, &mpp) + return mpp, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalProtectionPolicyArray(body []byte) ([]ProtectionPolicy, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + ppArray := make([]ProtectionPolicy, len(rawMessages)) + + for index, rawMessage := range rawMessages { + pp, err := unmarshalProtectionPolicy(*rawMessage) + if err != nil { + return nil, err + } + ppArray[index] = pp + } + return ppArray, nil } // ProtectionPolicyQueryObject is filters the list backup policies API. @@ -1907,8 +4186,8 @@ type ProtectionPolicyQueryObject struct { BackupManagementType BackupManagementType `json:"backupManagementType,omitempty"` } -// ProtectionPolicyResource is base class for backup policy. Workload-specific -// backup policies are derived from this class. +// ProtectionPolicyResource is base class for backup policy. Workload-specific backup policies are derived from this +// class. type ProtectionPolicyResource struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -1917,7 +4196,88 @@ type ProtectionPolicyResource struct { Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` ETag *string `json:"eTag,omitempty"` - Properties *ProtectionPolicy `json:"properties,omitempty"` + Properties ProtectionPolicy `json:"properties,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for ProtectionPolicyResource struct. +func (ppr *ProtectionPolicyResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["properties"] + if v != nil { + properties, err := unmarshalProtectionPolicy(*m["properties"]) + if err != nil { + return err + } + ppr.Properties = properties + } + + v = m["id"] + if v != nil { + var ID string + err = json.Unmarshal(*m["id"], &ID) + if err != nil { + return err + } + ppr.ID = &ID + } + + v = m["name"] + if v != nil { + var name string + err = json.Unmarshal(*m["name"], &name) + if err != nil { + return err + } + ppr.Name = &name + } + + v = m["type"] + if v != nil { + var typeVar string + err = json.Unmarshal(*m["type"], &typeVar) + if err != nil { + return err + } + ppr.Type = &typeVar + } + + v = m["location"] + if v != nil { + var location string + err = json.Unmarshal(*m["location"], &location) + if err != nil { + return err + } + ppr.Location = &location + } + + v = m["tags"] + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*m["tags"], &tags) + if err != nil { + return err + } + ppr.Tags = &tags + } + + v = m["eTag"] + if v != nil { + var eTag string + err = json.Unmarshal(*m["eTag"], &eTag) + if err != nil { + return err + } + ppr.ETag = &eTag + } + + return nil } // ProtectionPolicyResourceList is list of ProtectionPolicy resources @@ -1939,13 +4299,52 @@ func (client ProtectionPolicyResourceList) ProtectionPolicyResourceListPreparer( autorest.WithBaseURL(to.String(client.NextLink))) } -// RecoveryPoint is base class for backup copies. Workload-specific backup -// copies are derived from this class. -type RecoveryPoint struct { +// RecoveryPoint is base class for backup copies. Workload-specific backup copies are derived from this class. +type RecoveryPoint interface { + AsGenericRecoveryPoint() (*GenericRecoveryPoint, bool) + AsIaasVMRecoveryPoint() (*IaasVMRecoveryPoint, bool) } -// RecoveryPointResource is base class for backup copies. Workload-specific -// backup copies are derived from this class. +func unmarshalRecoveryPoint(body []byte) (RecoveryPoint, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["objectType"] { + case string(ObjectTypeGenericRecoveryPoint): + var grp GenericRecoveryPoint + err := json.Unmarshal(body, &grp) + return grp, err + case string(ObjectTypeIaasVMRecoveryPoint): + var ivrp IaasVMRecoveryPoint + err := json.Unmarshal(body, &ivrp) + return ivrp, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalRecoveryPointArray(body []byte) ([]RecoveryPoint, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + rpArray := make([]RecoveryPoint, len(rawMessages)) + + for index, rawMessage := range rawMessages { + rp, err := unmarshalRecoveryPoint(*rawMessage) + if err != nil { + return nil, err + } + rpArray[index] = rp + } + return rpArray, nil +} + +// RecoveryPointResource is base class for backup copies. Workload-specific backup copies are derived from this class. type RecoveryPointResource struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -1954,7 +4353,88 @@ type RecoveryPointResource struct { Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` ETag *string `json:"eTag,omitempty"` - Properties *RecoveryPoint `json:"properties,omitempty"` + Properties RecoveryPoint `json:"properties,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for RecoveryPointResource struct. +func (rpr *RecoveryPointResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["properties"] + if v != nil { + properties, err := unmarshalRecoveryPoint(*m["properties"]) + if err != nil { + return err + } + rpr.Properties = properties + } + + v = m["id"] + if v != nil { + var ID string + err = json.Unmarshal(*m["id"], &ID) + if err != nil { + return err + } + rpr.ID = &ID + } + + v = m["name"] + if v != nil { + var name string + err = json.Unmarshal(*m["name"], &name) + if err != nil { + return err + } + rpr.Name = &name + } + + v = m["type"] + if v != nil { + var typeVar string + err = json.Unmarshal(*m["type"], &typeVar) + if err != nil { + return err + } + rpr.Type = &typeVar + } + + v = m["location"] + if v != nil { + var location string + err = json.Unmarshal(*m["location"], &location) + if err != nil { + return err + } + rpr.Location = &location + } + + v = m["tags"] + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*m["tags"], &tags) + if err != nil { + return err + } + rpr.Tags = &tags + } + + v = m["eTag"] + if v != nil { + var eTag string + err = json.Unmarshal(*m["eTag"], &eTag) + if err != nil { + return err + } + rpr.ETag = &eTag + } + + return nil } // RecoveryPointResourceList is list of RecoveryPoint resources @@ -1982,7 +4462,7 @@ type RecoveryPointTierInformation struct { Status RecoveryPointTierStatus `json:"status,omitempty"` } -// Resource is aRM Resource. +// Resource is ARM Resource. type Resource struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` @@ -1997,13 +4477,48 @@ type ResourceList struct { NextLink *string `json:"nextLink,omitempty"` } -// RestoreRequest is base class for restore request. Workload-specific restore -// requests are derived from this class. -type RestoreRequest struct { +// RestoreRequest is base class for restore request. Workload-specific restore requests are derived from this class. +type RestoreRequest interface { + AsIaasVMRestoreRequest() (*IaasVMRestoreRequest, bool) } -// RestoreRequestResource is base class for restore request. Workload-specific -// restore requests are derived from this class. +func unmarshalRestoreRequest(body []byte) (RestoreRequest, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["objectType"] { + case string(ObjectTypeIaasVMRestoreRequest): + var ivrr IaasVMRestoreRequest + err := json.Unmarshal(body, &ivrr) + return ivrr, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalRestoreRequestArray(body []byte) ([]RestoreRequest, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + rrArray := make([]RestoreRequest, len(rawMessages)) + + for index, rawMessage := range rawMessages { + rr, err := unmarshalRestoreRequest(*rawMessage) + if err != nil { + return nil, err + } + rrArray[index] = rr + } + return rrArray, nil +} + +// RestoreRequestResource is base class for restore request. Workload-specific restore requests are derived from this +// class. type RestoreRequestResource struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` @@ -2011,7 +4526,88 @@ type RestoreRequestResource struct { Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` ETag *string `json:"eTag,omitempty"` - Properties *RestoreRequest `json:"properties,omitempty"` + Properties RestoreRequest `json:"properties,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for RestoreRequestResource struct. +func (rrr *RestoreRequestResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["properties"] + if v != nil { + properties, err := unmarshalRestoreRequest(*m["properties"]) + if err != nil { + return err + } + rrr.Properties = properties + } + + v = m["id"] + if v != nil { + var ID string + err = json.Unmarshal(*m["id"], &ID) + if err != nil { + return err + } + rrr.ID = &ID + } + + v = m["name"] + if v != nil { + var name string + err = json.Unmarshal(*m["name"], &name) + if err != nil { + return err + } + rrr.Name = &name + } + + v = m["type"] + if v != nil { + var typeVar string + err = json.Unmarshal(*m["type"], &typeVar) + if err != nil { + return err + } + rrr.Type = &typeVar + } + + v = m["location"] + if v != nil { + var location string + err = json.Unmarshal(*m["location"], &location) + if err != nil { + return err + } + rrr.Location = &location + } + + v = m["tags"] + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*m["tags"], &tags) + if err != nil { + return err + } + rrr.Tags = &tags + } + + v = m["eTag"] + if v != nil { + var eTag string + err = json.Unmarshal(*m["eTag"], &eTag) + if err != nil { + return err + } + rrr.ETag = &eTag + } + + return nil } // RetentionDuration is retention duration. @@ -2021,24 +4617,150 @@ type RetentionDuration struct { } // RetentionPolicy is base class for retention policy. -type RetentionPolicy struct { +type RetentionPolicy interface { + AsLongTermRetentionPolicy() (*LongTermRetentionPolicy, bool) + AsSimpleRetentionPolicy() (*SimpleRetentionPolicy, bool) +} + +func unmarshalRetentionPolicy(body []byte) (RetentionPolicy, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["retentionPolicyType"] { + case string(RetentionPolicyTypeLongTermRetentionPolicy): + var ltrp LongTermRetentionPolicy + err := json.Unmarshal(body, <rp) + return ltrp, err + case string(RetentionPolicyTypeSimpleRetentionPolicy): + var srp SimpleRetentionPolicy + err := json.Unmarshal(body, &srp) + return srp, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalRetentionPolicyArray(body []byte) ([]RetentionPolicy, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + rpArray := make([]RetentionPolicy, len(rawMessages)) + + for index, rawMessage := range rawMessages { + rp, err := unmarshalRetentionPolicy(*rawMessage) + if err != nil { + return nil, err + } + rpArray[index] = rp + } + return rpArray, nil } // SchedulePolicy is base class for backup schedule. -type SchedulePolicy struct { +type SchedulePolicy interface { + AsLongTermSchedulePolicy() (*LongTermSchedulePolicy, bool) + AsSimpleSchedulePolicy() (*SimpleSchedulePolicy, bool) +} + +func unmarshalSchedulePolicy(body []byte) (SchedulePolicy, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["schedulePolicyType"] { + case string(SchedulePolicyTypeLongTermSchedulePolicy): + var ltsp LongTermSchedulePolicy + err := json.Unmarshal(body, <sp) + return ltsp, err + case string(SchedulePolicyTypeSimpleSchedulePolicy): + var ssp SimpleSchedulePolicy + err := json.Unmarshal(body, &ssp) + return ssp, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalSchedulePolicyArray(body []byte) ([]SchedulePolicy, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + spArray := make([]SchedulePolicy, len(rawMessages)) + + for index, rawMessage := range rawMessages { + sp, err := unmarshalSchedulePolicy(*rawMessage) + if err != nil { + return nil, err + } + spArray[index] = sp + } + return spArray, nil } // SimpleRetentionPolicy is simple policy retention. type SimpleRetentionPolicy struct { - RetentionDuration *RetentionDuration `json:"retentionDuration,omitempty"` + RetentionPolicyType RetentionPolicyType `json:"retentionPolicyType,omitempty"` + RetentionDuration *RetentionDuration `json:"retentionDuration,omitempty"` +} + +// MarshalJSON is the custom marshaler for SimpleRetentionPolicy. +func (srp SimpleRetentionPolicy) MarshalJSON() ([]byte, error) { + srp.RetentionPolicyType = RetentionPolicyTypeSimpleRetentionPolicy + type Alias SimpleRetentionPolicy + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(srp), + }) +} + +// AsLongTermRetentionPolicy is the RetentionPolicy implementation for SimpleRetentionPolicy. +func (srp SimpleRetentionPolicy) AsLongTermRetentionPolicy() (*LongTermRetentionPolicy, bool) { + return nil, false +} + +// AsSimpleRetentionPolicy is the RetentionPolicy implementation for SimpleRetentionPolicy. +func (srp SimpleRetentionPolicy) AsSimpleRetentionPolicy() (*SimpleRetentionPolicy, bool) { + return &srp, true } // SimpleSchedulePolicy is simple policy schedule. type SimpleSchedulePolicy struct { - ScheduleRunFrequency ScheduleRunType `json:"scheduleRunFrequency,omitempty"` - ScheduleRunDays *[]DayOfWeek `json:"scheduleRunDays,omitempty"` - ScheduleRunTimes *[]date.Time `json:"scheduleRunTimes,omitempty"` - ScheduleWeeklyFrequency *int32 `json:"scheduleWeeklyFrequency,omitempty"` + SchedulePolicyType SchedulePolicyType `json:"schedulePolicyType,omitempty"` + ScheduleRunFrequency ScheduleRunType `json:"scheduleRunFrequency,omitempty"` + ScheduleRunDays *[]DayOfWeek `json:"scheduleRunDays,omitempty"` + ScheduleRunTimes *[]date.Time `json:"scheduleRunTimes,omitempty"` + ScheduleWeeklyFrequency *int32 `json:"scheduleWeeklyFrequency,omitempty"` +} + +// MarshalJSON is the custom marshaler for SimpleSchedulePolicy. +func (ssp SimpleSchedulePolicy) MarshalJSON() ([]byte, error) { + ssp.SchedulePolicyType = SchedulePolicyTypeSimpleSchedulePolicy + type Alias SimpleSchedulePolicy + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ssp), + }) +} + +// AsLongTermSchedulePolicy is the SchedulePolicy implementation for SimpleSchedulePolicy. +func (ssp SimpleSchedulePolicy) AsLongTermSchedulePolicy() (*LongTermSchedulePolicy, bool) { + return nil, false +} + +// AsSimpleSchedulePolicy is the SchedulePolicy implementation for SimpleSchedulePolicy. +func (ssp SimpleSchedulePolicy) AsSimpleSchedulePolicy() (*SimpleSchedulePolicy, bool) { + return &ssp, true } // TokenInformation is the token information details. @@ -2062,28 +4784,150 @@ type WeeklyRetentionSchedule struct { RetentionDuration *RetentionDuration `json:"retentionDuration,omitempty"` } -// WorkloadProtectableItem is base class for backup item. Workload-specific -// backup items are derived from this class. -type WorkloadProtectableItem struct { - BackupManagementType *string `json:"backupManagementType,omitempty"` - FriendlyName *string `json:"friendlyName,omitempty"` - ProtectionState ProtectionStatus `json:"protectionState,omitempty"` +// WorkloadProtectableItem is base class for backup item. Workload-specific backup items are derived from this class. +type WorkloadProtectableItem interface { + AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) + AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) + AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) } -// WorkloadProtectableItemResource is base class for backup item. -// Workload-specific backup items are derived from this class. +func unmarshalWorkloadProtectableItem(body []byte) (WorkloadProtectableItem, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["protectableItemType"] { + case string(ProtectableItemTypeMicrosoftClassicComputevirtualMachines): + var aisccvpi AzureIaaSClassicComputeVMProtectableItem + err := json.Unmarshal(body, &aisccvpi) + return aisccvpi, err + case string(ProtectableItemTypeMicrosoftComputevirtualMachines): + var aiscvpi AzureIaaSComputeVMProtectableItem + err := json.Unmarshal(body, &aiscvpi) + return aiscvpi, err + case string(ProtectableItemTypeIaaSVMProtectableItem): + var ispi IaaSVMProtectableItem + err := json.Unmarshal(body, &ispi) + return ispi, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalWorkloadProtectableItemArray(body []byte) ([]WorkloadProtectableItem, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + wpiArray := make([]WorkloadProtectableItem, len(rawMessages)) + + for index, rawMessage := range rawMessages { + wpi, err := unmarshalWorkloadProtectableItem(*rawMessage) + if err != nil { + return nil, err + } + wpiArray[index] = wpi + } + return wpiArray, nil +} + +// WorkloadProtectableItemResource is base class for backup item. Workload-specific backup items are derived from this +// class. type WorkloadProtectableItemResource struct { - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Type *string `json:"type,omitempty"` - Location *string `json:"location,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` - ETag *string `json:"eTag,omitempty"` - Properties *WorkloadProtectableItem `json:"properties,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + ETag *string `json:"eTag,omitempty"` + Properties WorkloadProtectableItem `json:"properties,omitempty"` } -// WorkloadProtectableItemResourceList is list of WorkloadProtectableItem -// resources +// UnmarshalJSON is the custom unmarshaler for WorkloadProtectableItemResource struct. +func (wpir *WorkloadProtectableItemResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["properties"] + if v != nil { + properties, err := unmarshalWorkloadProtectableItem(*m["properties"]) + if err != nil { + return err + } + wpir.Properties = properties + } + + v = m["id"] + if v != nil { + var ID string + err = json.Unmarshal(*m["id"], &ID) + if err != nil { + return err + } + wpir.ID = &ID + } + + v = m["name"] + if v != nil { + var name string + err = json.Unmarshal(*m["name"], &name) + if err != nil { + return err + } + wpir.Name = &name + } + + v = m["type"] + if v != nil { + var typeVar string + err = json.Unmarshal(*m["type"], &typeVar) + if err != nil { + return err + } + wpir.Type = &typeVar + } + + v = m["location"] + if v != nil { + var location string + err = json.Unmarshal(*m["location"], &location) + if err != nil { + return err + } + wpir.Location = &location + } + + v = m["tags"] + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*m["tags"], &tags) + if err != nil { + return err + } + wpir.Tags = &tags + } + + v = m["eTag"] + if v != nil { + var eTag string + err = json.Unmarshal(*m["eTag"], &eTag) + if err != nil { + return err + } + wpir.ETag = &eTag + } + + return nil +} + +// WorkloadProtectableItemResourceList is list of WorkloadProtectableItem resources type WorkloadProtectableItemResourceList struct { autorest.Response `json:"-"` NextLink *string `json:"nextLink,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/operations.go index 4c70df134..c587ba69a 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/operations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/operations.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,8 +23,7 @@ import ( "net/http" ) -// OperationsClient is the client for the Operations methods of the -// Recoveryservicesbackup service. +// OperationsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type OperationsClient struct { ManagementClient } @@ -35,18 +33,14 @@ func NewOperationsClient(subscriptionID string) OperationsClient { return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewOperationsClientWithBaseURI creates an instance of the OperationsClient -// client. +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} } // List returns the list of available operations. -// -// resourceGroupName is the name of the resource group where the recovery -// services vault is present. -func (client OperationsClient) List(resourceGroupName string) (result ClientDiscoveryResponse, err error) { - req, err := client.ListPreparer(resourceGroupName) +func (client OperationsClient) List() (result ClientDiscoveryResponse, err error) { + req, err := client.ListPreparer() if err != nil { err = autorest.NewErrorWithError(err, "recoveryservicesbackup.OperationsClient", "List", nil, "Failure preparing request") return @@ -68,16 +62,17 @@ func (client OperationsClient) List(resourceGroupName string) (result ClientDisc } // ListPreparer prepares the List request. -func (client OperationsClient) ListPreparer(resourceGroupName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), +func (client OperationsClient) ListPreparer() (*http.Request, error) { + const APIVersion = "2016-08-10" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, } preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations", pathParameters)) + autorest.WithPath("/providers/Microsoft.RecoveryServices/operations"), + autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -123,3 +118,48 @@ func (client OperationsClient) ListNextResults(lastResults ClientDiscoveryRespon return } + +// ListComplete gets all elements from the list without paging. +func (client OperationsClient) ListComplete(cancel <-chan struct{}) (<-chan ClientDiscoveryValueForSingleAPI, <-chan error) { + resultChan := make(chan ClientDiscoveryValueForSingleAPI) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protecteditemoperationresults.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protecteditemoperationresults.go index e4c9f881a..7d23fa95d 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protecteditemoperationresults.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protecteditemoperationresults.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,32 +23,28 @@ import ( "net/http" ) -// ProtectedItemOperationResultsClient is the client for the -// ProtectedItemOperationResults methods of the Recoveryservicesbackup service. +// ProtectedItemOperationResultsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type ProtectedItemOperationResultsClient struct { ManagementClient } -// NewProtectedItemOperationResultsClient creates an instance of the -// ProtectedItemOperationResultsClient client. +// NewProtectedItemOperationResultsClient creates an instance of the ProtectedItemOperationResultsClient client. func NewProtectedItemOperationResultsClient(subscriptionID string) ProtectedItemOperationResultsClient { return NewProtectedItemOperationResultsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewProtectedItemOperationResultsClientWithBaseURI creates an instance of the -// ProtectedItemOperationResultsClient client. +// NewProtectedItemOperationResultsClientWithBaseURI creates an instance of the ProtectedItemOperationResultsClient +// client. func NewProtectedItemOperationResultsClientWithBaseURI(baseURI string, subscriptionID string) ProtectedItemOperationResultsClient { return ProtectedItemOperationResultsClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get fetches the result of any operation on the backup item. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// fabricName is fabric name associated with the backup item. containerName is -// container name associated with the backup item. protectedItemName is backup -// item name whose details are to be fetched. operationID is operationID which -// represents the operation whose result needs to be fetched. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. fabricName is fabric name associated with the backup item. containerName is +// container name associated with the backup item. protectedItemName is backup item name whose details are to be +// fetched. operationID is operationID which represents the operation whose result needs to be fetched. func (client ProtectedItemOperationResultsClient) Get(vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, operationID string) (result ProtectedItemResource, err error) { req, err := client.GetPreparer(vaultName, resourceGroupName, fabricName, containerName, protectedItemName, operationID) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protecteditemoperationstatuses.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protecteditemoperationstatuses.go index 6e80f9b7e..651826fea 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protecteditemoperationstatuses.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protecteditemoperationstatuses.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,37 +23,30 @@ import ( "net/http" ) -// ProtectedItemOperationStatusesClient is the client for the -// ProtectedItemOperationStatuses methods of the Recoveryservicesbackup -// service. +// ProtectedItemOperationStatusesClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type ProtectedItemOperationStatusesClient struct { ManagementClient } -// NewProtectedItemOperationStatusesClient creates an instance of the -// ProtectedItemOperationStatusesClient client. +// NewProtectedItemOperationStatusesClient creates an instance of the ProtectedItemOperationStatusesClient client. func NewProtectedItemOperationStatusesClient(subscriptionID string) ProtectedItemOperationStatusesClient { return NewProtectedItemOperationStatusesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewProtectedItemOperationStatusesClientWithBaseURI creates an instance of -// the ProtectedItemOperationStatusesClient client. +// NewProtectedItemOperationStatusesClientWithBaseURI creates an instance of the ProtectedItemOperationStatusesClient +// client. func NewProtectedItemOperationStatusesClientWithBaseURI(baseURI string, subscriptionID string) ProtectedItemOperationStatusesClient { return ProtectedItemOperationStatusesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Get fetches the status of an operation such as triggering a backup, restore. -// The status can be in progress, completed or failed. You can refer to the -// OperationStatus enum for all the possible states of the operation. Some -// operations create jobs. This method returns the list of jobs associated with -// the operation. +// Get fetches the status of an operation such as triggering a backup, restore. The status can be in progress, +// completed or failed. You can refer to the OperationStatus enum for all the possible states of the operation. Some +// operations create jobs. This method returns the list of jobs associated with the operation. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// fabricName is fabric name associated with the backup item. containerName is -// container name associated with the backup item. protectedItemName is backup -// item name whose details are to be fetched. operationID is operationID -// represents the operation whose status needs to be fetched. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. fabricName is fabric name associated with the backup item. containerName is +// container name associated with the backup item. protectedItemName is backup item name whose details are to be +// fetched. operationID is operationID represents the operation whose status needs to be fetched. func (client ProtectedItemOperationStatusesClient) Get(vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, operationID string) (result OperationStatus, err error) { req, err := client.GetPreparer(vaultName, resourceGroupName, fabricName, containerName, protectedItemName, operationID) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protecteditems.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protecteditems.go index 8edf293e7..737f05419 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protecteditems.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protecteditems.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,33 +23,28 @@ import ( "net/http" ) -// ProtectedItemsClient is the client for the ProtectedItems methods of the -// Recoveryservicesbackup service. +// ProtectedItemsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type ProtectedItemsClient struct { ManagementClient } -// NewProtectedItemsClient creates an instance of the ProtectedItemsClient -// client. +// NewProtectedItemsClient creates an instance of the ProtectedItemsClient client. func NewProtectedItemsClient(subscriptionID string) ProtectedItemsClient { return NewProtectedItemsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewProtectedItemsClientWithBaseURI creates an instance of the -// ProtectedItemsClient client. +// NewProtectedItemsClientWithBaseURI creates an instance of the ProtectedItemsClient client. func NewProtectedItemsClientWithBaseURI(baseURI string, subscriptionID string) ProtectedItemsClient { return ProtectedItemsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate enables backup of an item or to modifies the backup policy -// information of an already backed up item. This is an asynchronous operation. -// To know the status of the operation, call the GetItemOperationResult API. +// CreateOrUpdate enables backup of an item or to modifies the backup policy information of an already backed up item. +// This is an asynchronous operation. To know the status of the operation, call the GetItemOperationResult API. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// fabricName is fabric name associated with the backup item. containerName is -// container name associated with the backup item. protectedItemName is item -// name to be backed up. parameters is resource backed up item +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. fabricName is fabric name associated with the backup item. containerName is +// container name associated with the backup item. protectedItemName is item name to be backed up. parameters is +// resource backed up item func (client ProtectedItemsClient) CreateOrUpdate(vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, parameters ProtectedItemResource) (result autorest.Response, err error) { req, err := client.CreateOrUpdatePreparer(vaultName, resourceGroupName, fabricName, containerName, protectedItemName, parameters) if err != nil { @@ -117,15 +111,12 @@ func (client ProtectedItemsClient) CreateOrUpdateResponder(resp *http.Response) return } -// Delete used to disable backup of an item within a container. This is an -// asynchronous operation. To know the status of the request, call the -// GetItemOperationResult API. +// Delete used to disable backup of an item within a container. This is an asynchronous operation. To know the status +// of the request, call the GetItemOperationResult API. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// fabricName is fabric name associated with the backed up item. containerName -// is container name associated with the backed up item. protectedItemName is -// backed up item to be deleted. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. fabricName is fabric name associated with the backed up item. containerName is +// container name associated with the backed up item. protectedItemName is backed up item to be deleted. func (client ProtectedItemsClient) Delete(vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(vaultName, resourceGroupName, fabricName, containerName, protectedItemName) if err != nil { @@ -190,16 +181,13 @@ func (client ProtectedItemsClient) DeleteResponder(resp *http.Response) (result return } -// Get provides the details of the backed up item. This is an asynchronous -// operation. To know the status of the operation, call the -// GetItemOperationResult API. +// Get provides the details of the backed up item. This is an asynchronous operation. To know the status of the +// operation, call the GetItemOperationResult API. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// fabricName is fabric name associated with the backed up item. containerName -// is container name associated with the backed up item. protectedItemName is -// backed up item name whose details are to be fetched. filter is oData filter -// options. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. fabricName is fabric name associated with the backed up item. containerName is +// container name associated with the backed up item. protectedItemName is backed up item name whose details are to be +// fetched. filter is oData filter options. func (client ProtectedItemsClient) Get(vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, filter string) (result ProtectedItemResource, err error) { req, err := client.GetPreparer(vaultName, resourceGroupName, fabricName, containerName, protectedItemName, filter) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protectioncontaineroperationresults.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protectioncontaineroperationresults.go index c1d16a743..4f0b2333f 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protectioncontaineroperationresults.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protectioncontaineroperationresults.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,32 +23,29 @@ import ( "net/http" ) -// ProtectionContainerOperationResultsClient is the client for the -// ProtectionContainerOperationResults methods of the Recoveryservicesbackup -// service. +// ProtectionContainerOperationResultsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type ProtectionContainerOperationResultsClient struct { ManagementClient } -// NewProtectionContainerOperationResultsClient creates an instance of the -// ProtectionContainerOperationResultsClient client. +// NewProtectionContainerOperationResultsClient creates an instance of the ProtectionContainerOperationResultsClient +// client. func NewProtectionContainerOperationResultsClient(subscriptionID string) ProtectionContainerOperationResultsClient { return NewProtectionContainerOperationResultsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewProtectionContainerOperationResultsClientWithBaseURI creates an instance -// of the ProtectionContainerOperationResultsClient client. +// NewProtectionContainerOperationResultsClientWithBaseURI creates an instance of the +// ProtectionContainerOperationResultsClient client. func NewProtectionContainerOperationResultsClientWithBaseURI(baseURI string, subscriptionID string) ProtectionContainerOperationResultsClient { return ProtectionContainerOperationResultsClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get fetches the result of any operation on the container. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// fabricName is fabric name associated with the container. containerName is -// container name whose information should be fetched. operationID is operation -// ID which represents the operation whose result needs to be fetched. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. fabricName is fabric name associated with the container. containerName is +// container name whose information should be fetched. operationID is operation ID which represents the operation whose +// result needs to be fetched. func (client ProtectionContainerOperationResultsClient) Get(vaultName string, resourceGroupName string, fabricName string, containerName string, operationID string) (result ProtectionContainerResource, err error) { req, err := client.GetPreparer(vaultName, resourceGroupName, fabricName, containerName, operationID) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protectioncontainerrefreshoperationresults.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protectioncontainerrefreshoperationresults.go index e8ff5422a..66f7b214c 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protectioncontainerrefreshoperationresults.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protectioncontainerrefreshoperationresults.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,31 +23,27 @@ import ( "net/http" ) -// ProtectionContainerRefreshOperationResultsClient is the client for the -// ProtectionContainerRefreshOperationResults methods of the -// Recoveryservicesbackup service. +// ProtectionContainerRefreshOperationResultsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type ProtectionContainerRefreshOperationResultsClient struct { ManagementClient } -// NewProtectionContainerRefreshOperationResultsClient creates an instance of -// the ProtectionContainerRefreshOperationResultsClient client. +// NewProtectionContainerRefreshOperationResultsClient creates an instance of the +// ProtectionContainerRefreshOperationResultsClient client. func NewProtectionContainerRefreshOperationResultsClient(subscriptionID string) ProtectionContainerRefreshOperationResultsClient { return NewProtectionContainerRefreshOperationResultsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewProtectionContainerRefreshOperationResultsClientWithBaseURI creates an -// instance of the ProtectionContainerRefreshOperationResultsClient client. +// NewProtectionContainerRefreshOperationResultsClientWithBaseURI creates an instance of the +// ProtectionContainerRefreshOperationResultsClient client. func NewProtectionContainerRefreshOperationResultsClientWithBaseURI(baseURI string, subscriptionID string) ProtectionContainerRefreshOperationResultsClient { return ProtectionContainerRefreshOperationResultsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Get provides the result of the refresh operation triggered by the -// BeginRefresh operation. +// Get provides the result of the refresh operation triggered by the BeginRefresh operation. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// fabricName is fabric name associated with the container. operationID is +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. fabricName is fabric name associated with the container. operationID is // operation ID associated with the operation whose result needs to be fetched. func (client ProtectionContainerRefreshOperationResultsClient) Get(vaultName string, resourceGroupName string, fabricName string, operationID string) (result autorest.Response, err error) { req, err := client.GetPreparer(vaultName, resourceGroupName, fabricName, operationID) diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protectioncontainers.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protectioncontainers.go index 0b04ff18c..6c847f471 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protectioncontainers.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protectioncontainers.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,31 +23,26 @@ import ( "net/http" ) -// ProtectionContainersClient is the client for the ProtectionContainers -// methods of the Recoveryservicesbackup service. +// ProtectionContainersClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type ProtectionContainersClient struct { ManagementClient } -// NewProtectionContainersClient creates an instance of the -// ProtectionContainersClient client. +// NewProtectionContainersClient creates an instance of the ProtectionContainersClient client. func NewProtectionContainersClient(subscriptionID string) ProtectionContainersClient { return NewProtectionContainersClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewProtectionContainersClientWithBaseURI creates an instance of the -// ProtectionContainersClient client. +// NewProtectionContainersClientWithBaseURI creates an instance of the ProtectionContainersClient client. func NewProtectionContainersClientWithBaseURI(baseURI string, subscriptionID string) ProtectionContainersClient { return ProtectionContainersClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Get gets details of the specific container registered to your Recovery -// Services Vault. +// Get gets details of the specific container registered to your Recovery Services Vault. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// fabricName is name of the fabric where the container belongs. containerName -// is name of the container whose details need to be fetched. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. fabricName is name of the fabric where the container belongs. containerName is +// name of the container whose details need to be fetched. func (client ProtectionContainersClient) Get(vaultName string, resourceGroupName string, fabricName string, containerName string) (result ProtectionContainerResource, err error) { req, err := client.GetPreparer(vaultName, resourceGroupName, fabricName, containerName) if err != nil { @@ -113,13 +107,11 @@ func (client ProtectionContainersClient) GetResponder(resp *http.Response) (resu return } -// Refresh discovers all the containers in the subscription that can be backed -// up to Recovery Services Vault. This is an asynchronous operation. To know -// the status of the operation, call GetRefreshOperationResult API. +// Refresh discovers all the containers in the subscription that can be backed up to Recovery Services Vault. This is +// an asynchronous operation. To know the status of the operation, call GetRefreshOperationResult API. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// fabricName is fabric name associated the container. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. fabricName is fabric name associated the container. func (client ProtectionContainersClient) Refresh(vaultName string, resourceGroupName string, fabricName string) (result autorest.Response, err error) { req, err := client.RefreshPreparer(vaultName, resourceGroupName, fabricName) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protectionpolicies.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protectionpolicies.go index 21c790f82..5d2f020a9 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protectionpolicies.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protectionpolicies.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,32 +23,26 @@ import ( "net/http" ) -// ProtectionPoliciesClient is the client for the ProtectionPolicies methods of -// the Recoveryservicesbackup service. +// ProtectionPoliciesClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type ProtectionPoliciesClient struct { ManagementClient } -// NewProtectionPoliciesClient creates an instance of the -// ProtectionPoliciesClient client. +// NewProtectionPoliciesClient creates an instance of the ProtectionPoliciesClient client. func NewProtectionPoliciesClient(subscriptionID string) ProtectionPoliciesClient { return NewProtectionPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewProtectionPoliciesClientWithBaseURI creates an instance of the -// ProtectionPoliciesClient client. +// NewProtectionPoliciesClientWithBaseURI creates an instance of the ProtectionPoliciesClient client. func NewProtectionPoliciesClientWithBaseURI(baseURI string, subscriptionID string) ProtectionPoliciesClient { return ProtectionPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or modifies a backup policy. This is an asynchronous -// operation. Status of the operation can be fetched using -// GetPolicyOperationResult API. +// CreateOrUpdate creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can +// be fetched using GetPolicyOperationResult API. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// policyName is backup policy to be created. parameters is resource backup -// policy +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. policyName is backup policy to be created. parameters is resource backup policy func (client ProtectionPoliciesClient) CreateOrUpdate(vaultName string, resourceGroupName string, policyName string, parameters ProtectionPolicyResource) (result ProtectionPolicyResource, err error) { req, err := client.CreateOrUpdatePreparer(vaultName, resourceGroupName, policyName, parameters) if err != nil { @@ -115,13 +108,11 @@ func (client ProtectionPoliciesClient) CreateOrUpdateResponder(resp *http.Respon return } -// Delete deletes specified backup policy from your Recovery Services Vault. -// This is an asynchronous operation. Status of the operation can be fetched -// using GetPolicyOperationResult API. +// Delete deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status +// of the operation can be fetched using GetPolicyOperationResult API. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// policyName is backup policy to be deleted. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. policyName is backup policy to be deleted. func (client ProtectionPoliciesClient) Delete(vaultName string, resourceGroupName string, policyName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(vaultName, resourceGroupName, policyName) if err != nil { @@ -184,13 +175,11 @@ func (client ProtectionPoliciesClient) DeleteResponder(resp *http.Response) (res return } -// Get provides the details of the backup policies associated to Recovery -// Services Vault. This is an asynchronous operation. Status of the operation -// can be fetched using GetPolicyOperationResult API. +// Get provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous +// operation. Status of the operation can be fetched using GetPolicyOperationResult API. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// policyName is backup policy information to be fetched. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. policyName is backup policy information to be fetched. func (client ProtectionPoliciesClient) Get(vaultName string, resourceGroupName string, policyName string) (result ProtectionPolicyResource, err error) { req, err := client.GetPreparer(vaultName, resourceGroupName, policyName) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protectionpolicyoperationresults.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protectionpolicyoperationresults.go index 7fb4fe4e4..29ed442c1 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protectionpolicyoperationresults.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protectionpolicyoperationresults.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,32 +23,27 @@ import ( "net/http" ) -// ProtectionPolicyOperationResultsClient is the client for the -// ProtectionPolicyOperationResults methods of the Recoveryservicesbackup -// service. +// ProtectionPolicyOperationResultsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type ProtectionPolicyOperationResultsClient struct { ManagementClient } -// NewProtectionPolicyOperationResultsClient creates an instance of the -// ProtectionPolicyOperationResultsClient client. +// NewProtectionPolicyOperationResultsClient creates an instance of the ProtectionPolicyOperationResultsClient client. func NewProtectionPolicyOperationResultsClient(subscriptionID string) ProtectionPolicyOperationResultsClient { return NewProtectionPolicyOperationResultsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewProtectionPolicyOperationResultsClientWithBaseURI creates an instance of -// the ProtectionPolicyOperationResultsClient client. +// NewProtectionPolicyOperationResultsClientWithBaseURI creates an instance of the +// ProtectionPolicyOperationResultsClient client. func NewProtectionPolicyOperationResultsClientWithBaseURI(baseURI string, subscriptionID string) ProtectionPolicyOperationResultsClient { return ProtectionPolicyOperationResultsClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get provides the result of an operation. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// policyName is backup policy name whose operation's result needs to be -// fetched. operationID is operation ID which represents the operation whose -// result needs to be fetched. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. policyName is backup policy name whose operation's result needs to be fetched. +// operationID is operation ID which represents the operation whose result needs to be fetched. func (client ProtectionPolicyOperationResultsClient) Get(vaultName string, resourceGroupName string, policyName string, operationID string) (result ProtectionPolicyResource, err error) { req, err := client.GetPreparer(vaultName, resourceGroupName, policyName, operationID) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protectionpolicyoperationstatuses.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protectionpolicyoperationstatuses.go index 6fdb8e9bf..757e0a7a3 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protectionpolicyoperationstatuses.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/protectionpolicyoperationstatuses.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,36 +23,30 @@ import ( "net/http" ) -// ProtectionPolicyOperationStatusesClient is the client for the -// ProtectionPolicyOperationStatuses methods of the Recoveryservicesbackup -// service. +// ProtectionPolicyOperationStatusesClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type ProtectionPolicyOperationStatusesClient struct { ManagementClient } -// NewProtectionPolicyOperationStatusesClient creates an instance of the -// ProtectionPolicyOperationStatusesClient client. +// NewProtectionPolicyOperationStatusesClient creates an instance of the ProtectionPolicyOperationStatusesClient +// client. func NewProtectionPolicyOperationStatusesClient(subscriptionID string) ProtectionPolicyOperationStatusesClient { return NewProtectionPolicyOperationStatusesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewProtectionPolicyOperationStatusesClientWithBaseURI creates an instance of -// the ProtectionPolicyOperationStatusesClient client. +// NewProtectionPolicyOperationStatusesClientWithBaseURI creates an instance of the +// ProtectionPolicyOperationStatusesClient client. func NewProtectionPolicyOperationStatusesClientWithBaseURI(baseURI string, subscriptionID string) ProtectionPolicyOperationStatusesClient { return ProtectionPolicyOperationStatusesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Get provides the status of the asynchronous operations like backup, restore. -// The status can be in progress, completed or failed. You can refer to the -// Operation Status enum for all the possible states of an operation. Some -// operations create jobs. This method returns the list of jobs associated with -// operation. +// Get provides the status of the asynchronous operations like backup, restore. The status can be in progress, +// completed or failed. You can refer to the Operation Status enum for all the possible states of an operation. Some +// operations create jobs. This method returns the list of jobs associated with operation. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// policyName is backup policy name whose operation's status needs to be -// fetched. operationID is operation ID which represents an operation whose -// status needs to be fetched. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. policyName is backup policy name whose operation's status needs to be fetched. +// operationID is operation ID which represents an operation whose status needs to be fetched. func (client ProtectionPolicyOperationStatusesClient) Get(vaultName string, resourceGroupName string, policyName string, operationID string) (result OperationStatus, err error) { req, err := client.GetPreparer(vaultName, resourceGroupName, policyName, operationID) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/recoverypoints.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/recoverypoints.go index 185ed0224..9e9547c0f 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/recoverypoints.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/recoverypoints.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,34 +23,28 @@ import ( "net/http" ) -// RecoveryPointsClient is the client for the RecoveryPoints methods of the -// Recoveryservicesbackup service. +// RecoveryPointsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type RecoveryPointsClient struct { ManagementClient } -// NewRecoveryPointsClient creates an instance of the RecoveryPointsClient -// client. +// NewRecoveryPointsClient creates an instance of the RecoveryPointsClient client. func NewRecoveryPointsClient(subscriptionID string) RecoveryPointsClient { return NewRecoveryPointsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewRecoveryPointsClientWithBaseURI creates an instance of the -// RecoveryPointsClient client. +// NewRecoveryPointsClientWithBaseURI creates an instance of the RecoveryPointsClient client. func NewRecoveryPointsClientWithBaseURI(baseURI string, subscriptionID string) RecoveryPointsClient { return RecoveryPointsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Get provides the information of the backed up data identified using -// RecoveryPointID. This is an asynchronous operation. To know the status of -// the operation, call the GetProtectedItemOperationResult API. +// Get provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous +// operation. To know the status of the operation, call the GetProtectedItemOperationResult API. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// fabricName is fabric name associated with backed up item. containerName is -// container name associated with backed up item. protectedItemName is backed -// up item name whose backup data needs to be fetched. recoveryPointID is -// recoveryPointID represents the backed up data to be fetched. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. fabricName is fabric name associated with backed up item. containerName is +// container name associated with backed up item. protectedItemName is backed up item name whose backup data needs to +// be fetched. recoveryPointID is recoveryPointID represents the backed up data to be fetched. func (client RecoveryPointsClient) Get(vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string) (result RecoveryPointResource, err error) { req, err := client.GetPreparer(vaultName, resourceGroupName, fabricName, containerName, protectedItemName, recoveryPointID) if err != nil { @@ -120,12 +113,10 @@ func (client RecoveryPointsClient) GetResponder(resp *http.Response) (result Rec // List lists the backup copies for the backed up item. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// fabricName is fabric name associated with the backed up item. containerName -// is container name associated with the backed up item. protectedItemName is -// backed up item whose backup copies are to be fetched. filter is oData filter -// options. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. fabricName is fabric name associated with the backed up item. containerName is +// container name associated with the backed up item. protectedItemName is backed up item whose backup copies are to be +// fetched. filter is oData filter options. func (client RecoveryPointsClient) List(vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, filter string) (result RecoveryPointResourceList, err error) { req, err := client.ListPreparer(vaultName, resourceGroupName, fabricName, containerName, protectedItemName, filter) if err != nil { @@ -217,3 +208,48 @@ func (client RecoveryPointsClient) ListNextResults(lastResults RecoveryPointReso return } + +// ListComplete gets all elements from the list without paging. +func (client RecoveryPointsClient) ListComplete(vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, filter string, cancel <-chan struct{}) (<-chan RecoveryPointResource, <-chan error) { + resultChan := make(chan RecoveryPointResource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(vaultName, resourceGroupName, fabricName, containerName, protectedItemName, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/restores.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/restores.go index 17cb5c4be..5e3d994a1 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/restores.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/restores.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,8 +23,7 @@ import ( "net/http" ) -// RestoresClient is the client for the Restores methods of the -// Recoveryservicesbackup service. +// RestoresClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type RestoresClient struct { ManagementClient } @@ -35,23 +33,19 @@ func NewRestoresClient(subscriptionID string) RestoresClient { return NewRestoresClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewRestoresClientWithBaseURI creates an instance of the RestoresClient -// client. +// NewRestoresClientWithBaseURI creates an instance of the RestoresClient client. func NewRestoresClientWithBaseURI(baseURI string, subscriptionID string) RestoresClient { return RestoresClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Trigger restores the specified backed up data. This is an asynchronous -// operation. To know the status of this API call, use -// GetProtectedItemOperationResult API. +// Trigger restores the specified backed up data. This is an asynchronous operation. To know the status of this API +// call, use GetProtectedItemOperationResult API. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. -// fabricName is fabric name associated with the backed up items. containerName -// is container name associated with the backed up items. protectedItemName is -// backed up item to be restored. recoveryPointID is recovery point ID which -// represents the backed up data to be restored. parameters is resource restore -// request +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. fabricName is fabric name associated with the backed up items. containerName is +// container name associated with the backed up items. protectedItemName is backed up item to be restored. +// recoveryPointID is recovery point ID which represents the backed up data to be restored. parameters is resource +// restore request func (client RestoresClient) Trigger(vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string, parameters RestoreRequestResource) (result autorest.Response, err error) { req, err := client.TriggerPreparer(vaultName, resourceGroupName, fabricName, containerName, protectedItemName, recoveryPointID, parameters) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/securitypins.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/securitypins.go index 78d89bdc9..aff952860 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/securitypins.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/securitypins.go @@ -14,9 +14,8 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,8 +23,7 @@ import ( "net/http" ) -// SecurityPINsClient is the client for the SecurityPINs methods of the -// Recoveryservicesbackup service. +// SecurityPINsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service type SecurityPINsClient struct { ManagementClient } @@ -35,16 +33,15 @@ func NewSecurityPINsClient(subscriptionID string) SecurityPINsClient { return NewSecurityPINsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewSecurityPINsClientWithBaseURI creates an instance of the -// SecurityPINsClient client. +// NewSecurityPINsClientWithBaseURI creates an instance of the SecurityPINsClient client. func NewSecurityPINsClientWithBaseURI(baseURI string, subscriptionID string) SecurityPINsClient { return SecurityPINsClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get get the security PIN. // -// vaultName is the name of the recovery services vault. resourceGroupName is -// the name of the resource group where the recovery services vault is present. +// vaultName is the name of the recovery services vault. resourceGroupName is the name of the resource group where the +// recovery services vault is present. func (client SecurityPINsClient) Get(vaultName string, resourceGroupName string) (result TokenInformation, err error) { req, err := client.GetPreparer(vaultName, resourceGroupName) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/version.go index fd29eca65..9dcf492df 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicesbackup/version.go @@ -14,16 +14,15 @@ package recoveryservicesbackup // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-recoveryservicesbackup/2016-12-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-recoveryservicesbackup/" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/client.go index 306afcc27..5208481e6 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/client.go @@ -18,7 +18,7 @@ package recoveryservicessiterecovery // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 +// Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/models.go index 20115820e..9ea47ea72 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/models.go @@ -14,10 +14,12 @@ package recoveryservicessiterecovery // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 +// Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( + "encoding/json" + "errors" "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/date" "github.com/Azure/go-autorest/autorest/to" @@ -80,12 +82,24 @@ const ( ResourceManager FailoverDeploymentModel = "ResourceManager" ) +// HealthErrorCategory enumerates the values for health error category. +type HealthErrorCategory string + +const ( + // Configuration specifies the configuration state for health error category. + Configuration HealthErrorCategory = "Configuration" + // Replication specifies the replication state for health error category. + Replication HealthErrorCategory = "Replication" + // TestFailover specifies the test failover state for health error category. + TestFailover HealthErrorCategory = "TestFailover" +) + // HyperVReplicaAzureRpRecoveryPointType enumerates the values for hyper v replica azure rp recovery point type. type HyperVReplicaAzureRpRecoveryPointType string const ( - // HyperVReplicaAzureRpRecoveryPointTypeLatest specifies the hyper v replica azure rp recovery point type latest - // state for hyper v replica azure rp recovery point type. + // HyperVReplicaAzureRpRecoveryPointTypeLatest specifies the hyper v replica azure rp recovery point type latest state + // for hyper v replica azure rp recovery point type. HyperVReplicaAzureRpRecoveryPointTypeLatest HyperVReplicaAzureRpRecoveryPointType = "Latest" // HyperVReplicaAzureRpRecoveryPointTypeLatestApplicationConsistent specifies the hyper v replica azure rp recovery // point type latest application consistent state for hyper v replica azure rp recovery point type. @@ -95,6 +109,16 @@ const ( HyperVReplicaAzureRpRecoveryPointTypeLatestProcessed HyperVReplicaAzureRpRecoveryPointType = "LatestProcessed" ) +// IdentityProviderType enumerates the values for identity provider type. +type IdentityProviderType string + +const ( + // CustomerActiveDirectory specifies the customer active directory state for identity provider type. + CustomerActiveDirectory IdentityProviderType = "CustomerActiveDirectory" + // RecoveryServicesActiveDirectory specifies the recovery services active directory state for identity provider type. + RecoveryServicesActiveDirectory IdentityProviderType = "RecoveryServicesActiveDirectory" +) + // InMageV2RpRecoveryPointType enumerates the values for in mage v2 rp recovery point type. type InMageV2RpRecoveryPointType string @@ -108,11 +132,415 @@ const ( // InMageV2RpRecoveryPointTypeLatestCrashConsistent specifies the in mage v2 rp recovery point type latest crash // consistent state for in mage v2 rp recovery point type. InMageV2RpRecoveryPointTypeLatestCrashConsistent InMageV2RpRecoveryPointType = "LatestCrashConsistent" - // InMageV2RpRecoveryPointTypeLatestProcessed specifies the in mage v2 rp recovery point type latest processed - // state for in mage v2 rp recovery point type. + // InMageV2RpRecoveryPointTypeLatestProcessed specifies the in mage v2 rp recovery point type latest processed state + // for in mage v2 rp recovery point type. InMageV2RpRecoveryPointTypeLatestProcessed InMageV2RpRecoveryPointType = "LatestProcessed" ) +// InstanceType enumerates the values for instance type. +type InstanceType string + +const ( + // InstanceTypeA2A specifies the instance type a2a state for instance type. + InstanceTypeA2A InstanceType = "A2A" + // InstanceTypeHyperVReplica2012 specifies the instance type hyper v replica 2012 state for instance type. + InstanceTypeHyperVReplica2012 InstanceType = "HyperVReplica2012" + // InstanceTypeHyperVReplica2012R2 specifies the instance type hyper v replica 2012r2 state for instance type. + InstanceTypeHyperVReplica2012R2 InstanceType = "HyperVReplica2012R2" + // InstanceTypeHyperVReplicaAzure specifies the instance type hyper v replica azure state for instance type. + InstanceTypeHyperVReplicaAzure InstanceType = "HyperVReplicaAzure" + // InstanceTypeHyperVReplicaBaseEventDetails specifies the instance type hyper v replica base event details state for + // instance type. + InstanceTypeHyperVReplicaBaseEventDetails InstanceType = "HyperVReplicaBaseEventDetails" + // InstanceTypeInMageAzureV2 specifies the instance type in mage azure v2 state for instance type. + InstanceTypeInMageAzureV2 InstanceType = "InMageAzureV2" +) + +// InstanceTypeConfigurationSettings enumerates the values for instance type configuration settings. +type InstanceTypeConfigurationSettings string + +const ( + // InstanceTypeHyperVVirtualMachine specifies the instance type hyper v virtual machine state for instance type + // configuration settings. + InstanceTypeHyperVVirtualMachine InstanceTypeConfigurationSettings = "HyperVVirtualMachine" + // InstanceTypeReplicationGroupDetails specifies the instance type replication group details state for instance type + // configuration settings. + InstanceTypeReplicationGroupDetails InstanceTypeConfigurationSettings = "ReplicationGroupDetails" + // InstanceTypeVMwareVirtualMachine specifies the instance type v mware virtual machine state for instance type + // configuration settings. + InstanceTypeVMwareVirtualMachine InstanceTypeConfigurationSettings = "VMwareVirtualMachine" +) + +// InstanceTypeDisableProtectionProviderSpecificInput enumerates the values for instance type disable protection +// provider specific input. +type InstanceTypeDisableProtectionProviderSpecificInput string + +const ( + // InstanceTypeInMage specifies the instance type in mage state for instance type disable protection provider specific + // input. + InstanceTypeInMage InstanceTypeDisableProtectionProviderSpecificInput = "InMage" +) + +// InstanceTypeEnableProtectionProviderSpecificInput enumerates the values for instance type enable protection provider +// specific input. +type InstanceTypeEnableProtectionProviderSpecificInput string + +const ( + // InstanceTypeEnableProtectionProviderSpecificInputInstanceTypeA2A specifies the instance type enable protection + // provider specific input instance type a2a state for instance type enable protection provider specific input. + InstanceTypeEnableProtectionProviderSpecificInputInstanceTypeA2A InstanceTypeEnableProtectionProviderSpecificInput = "A2A" + // InstanceTypeEnableProtectionProviderSpecificInputInstanceTypeHyperVReplicaAzure specifies the instance type enable + // protection provider specific input instance type hyper v replica azure state for instance type enable protection + // provider specific input. + InstanceTypeEnableProtectionProviderSpecificInputInstanceTypeHyperVReplicaAzure InstanceTypeEnableProtectionProviderSpecificInput = "HyperVReplicaAzure" + // InstanceTypeEnableProtectionProviderSpecificInputInstanceTypeInMage specifies the instance type enable protection + // provider specific input instance type in mage state for instance type enable protection provider specific input. + InstanceTypeEnableProtectionProviderSpecificInputInstanceTypeInMage InstanceTypeEnableProtectionProviderSpecificInput = "InMage" + // InstanceTypeEnableProtectionProviderSpecificInputInstanceTypeInMageAzureV2 specifies the instance type enable + // protection provider specific input instance type in mage azure v2 state for instance type enable protection provider + // specific input. + InstanceTypeEnableProtectionProviderSpecificInputInstanceTypeInMageAzureV2 InstanceTypeEnableProtectionProviderSpecificInput = "InMageAzureV2" + // InstanceTypeEnableProtectionProviderSpecificInputInstanceTypeSan specifies the instance type enable protection + // provider specific input instance type san state for instance type enable protection provider specific input. + InstanceTypeEnableProtectionProviderSpecificInputInstanceTypeSan InstanceTypeEnableProtectionProviderSpecificInput = "San" +) + +// InstanceTypeEventSpecificDetails enumerates the values for instance type event specific details. +type InstanceTypeEventSpecificDetails string + +const ( + // InstanceTypeJobStatus specifies the instance type job status state for instance type event specific details. + InstanceTypeJobStatus InstanceTypeEventSpecificDetails = "JobStatus" +) + +// InstanceTypeFabricSpecificCreateNetworkMappingInput enumerates the values for instance type fabric specific create +// network mapping input. +type InstanceTypeFabricSpecificCreateNetworkMappingInput string + +const ( + // InstanceTypeAzureToAzure specifies the instance type azure to azure state for instance type fabric specific create + // network mapping input. + InstanceTypeAzureToAzure InstanceTypeFabricSpecificCreateNetworkMappingInput = "AzureToAzure" + // InstanceTypeVmmToAzure specifies the instance type vmm to azure state for instance type fabric specific create + // network mapping input. + InstanceTypeVmmToAzure InstanceTypeFabricSpecificCreateNetworkMappingInput = "VmmToAzure" + // InstanceTypeVmmToVmm specifies the instance type vmm to vmm state for instance type fabric specific create network + // mapping input. + InstanceTypeVmmToVmm InstanceTypeFabricSpecificCreateNetworkMappingInput = "VmmToVmm" +) + +// InstanceTypeFabricSpecificCreationInput enumerates the values for instance type fabric specific creation input. +type InstanceTypeFabricSpecificCreationInput string + +const ( + // InstanceTypeFabricSpecificCreationInputInstanceTypeA2A specifies the instance type fabric specific creation input + // instance type a2a state for instance type fabric specific creation input. + InstanceTypeFabricSpecificCreationInputInstanceTypeA2A InstanceTypeFabricSpecificCreationInput = "A2A" + // InstanceTypeFabricSpecificCreationInputInstanceTypeVMwareV2 specifies the instance type fabric specific creation + // input instance type v mware v2 state for instance type fabric specific creation input. + InstanceTypeFabricSpecificCreationInputInstanceTypeVMwareV2 InstanceTypeFabricSpecificCreationInput = "VMwareV2" +) + +// InstanceTypeFabricSpecificDetails enumerates the values for instance type fabric specific details. +type InstanceTypeFabricSpecificDetails string + +const ( + // InstanceTypeAzure specifies the instance type azure state for instance type fabric specific details. + InstanceTypeAzure InstanceTypeFabricSpecificDetails = "Azure" + // InstanceTypeHyperVSite specifies the instance type hyper v site state for instance type fabric specific details. + InstanceTypeHyperVSite InstanceTypeFabricSpecificDetails = "HyperVSite" + // InstanceTypeVMM specifies the instance type vmm state for instance type fabric specific details. + InstanceTypeVMM InstanceTypeFabricSpecificDetails = "VMM" + // InstanceTypeVMware specifies the instance type v mware state for instance type fabric specific details. + InstanceTypeVMware InstanceTypeFabricSpecificDetails = "VMware" + // InstanceTypeVMwareV2 specifies the instance type v mware v2 state for instance type fabric specific details. + InstanceTypeVMwareV2 InstanceTypeFabricSpecificDetails = "VMwareV2" +) + +// InstanceTypeFabricSpecificUpdateNetworkMappingInput enumerates the values for instance type fabric specific update +// network mapping input. +type InstanceTypeFabricSpecificUpdateNetworkMappingInput string + +const ( + // InstanceTypeFabricSpecificUpdateNetworkMappingInputInstanceTypeAzureToAzure specifies the instance type fabric + // specific update network mapping input instance type azure to azure state for instance type fabric specific update + // network mapping input. + InstanceTypeFabricSpecificUpdateNetworkMappingInputInstanceTypeAzureToAzure InstanceTypeFabricSpecificUpdateNetworkMappingInput = "AzureToAzure" + // InstanceTypeFabricSpecificUpdateNetworkMappingInputInstanceTypeVmmToAzure specifies the instance type fabric + // specific update network mapping input instance type vmm to azure state for instance type fabric specific update + // network mapping input. + InstanceTypeFabricSpecificUpdateNetworkMappingInputInstanceTypeVmmToAzure InstanceTypeFabricSpecificUpdateNetworkMappingInput = "VmmToAzure" + // InstanceTypeFabricSpecificUpdateNetworkMappingInputInstanceTypeVmmToVmm specifies the instance type fabric specific + // update network mapping input instance type vmm to vmm state for instance type fabric specific update network mapping + // input. + InstanceTypeFabricSpecificUpdateNetworkMappingInputInstanceTypeVmmToVmm InstanceTypeFabricSpecificUpdateNetworkMappingInput = "VmmToVmm" +) + +// InstanceTypeGroupTaskDetails enumerates the values for instance type group task details. +type InstanceTypeGroupTaskDetails string + +const ( + // InstanceTypeInlineWorkflowTaskDetails specifies the instance type inline workflow task details state for instance + // type group task details. + InstanceTypeInlineWorkflowTaskDetails InstanceTypeGroupTaskDetails = "InlineWorkflowTaskDetails" + // InstanceTypeRecoveryPlanGroupTaskDetails specifies the instance type recovery plan group task details state for + // instance type group task details. + InstanceTypeRecoveryPlanGroupTaskDetails InstanceTypeGroupTaskDetails = "RecoveryPlanGroupTaskDetails" + // InstanceTypeRecoveryPlanShutdownGroupTaskDetails specifies the instance type recovery plan shutdown group task + // details state for instance type group task details. + InstanceTypeRecoveryPlanShutdownGroupTaskDetails InstanceTypeGroupTaskDetails = "RecoveryPlanShutdownGroupTaskDetails" +) + +// InstanceTypeJobDetails enumerates the values for instance type job details. +type InstanceTypeJobDetails string + +const ( + // InstanceTypeAsrJobDetails specifies the instance type asr job details state for instance type job details. + InstanceTypeAsrJobDetails InstanceTypeJobDetails = "AsrJobDetails" + // InstanceTypeExportJobDetails specifies the instance type export job details state for instance type job details. + InstanceTypeExportJobDetails InstanceTypeJobDetails = "ExportJobDetails" + // InstanceTypeFailoverJobDetails specifies the instance type failover job details state for instance type job details. + InstanceTypeFailoverJobDetails InstanceTypeJobDetails = "FailoverJobDetails" + // InstanceTypeSwitchProtectionJobDetails specifies the instance type switch protection job details state for instance + // type job details. + InstanceTypeSwitchProtectionJobDetails InstanceTypeJobDetails = "SwitchProtectionJobDetails" + // InstanceTypeTestFailoverJobDetails specifies the instance type test failover job details state for instance type job + // details. + InstanceTypeTestFailoverJobDetails InstanceTypeJobDetails = "TestFailoverJobDetails" +) + +// InstanceTypeNetworkMappingFabricSpecificSettings enumerates the values for instance type network mapping fabric +// specific settings. +type InstanceTypeNetworkMappingFabricSpecificSettings string + +const ( + // InstanceTypeNetworkMappingFabricSpecificSettingsInstanceTypeAzureToAzure specifies the instance type network mapping + // fabric specific settings instance type azure to azure state for instance type network mapping fabric specific + // settings. + InstanceTypeNetworkMappingFabricSpecificSettingsInstanceTypeAzureToAzure InstanceTypeNetworkMappingFabricSpecificSettings = "AzureToAzure" + // InstanceTypeNetworkMappingFabricSpecificSettingsInstanceTypeVmmToAzure specifies the instance type network mapping + // fabric specific settings instance type vmm to azure state for instance type network mapping fabric specific + // settings. + InstanceTypeNetworkMappingFabricSpecificSettingsInstanceTypeVmmToAzure InstanceTypeNetworkMappingFabricSpecificSettings = "VmmToAzure" + // InstanceTypeNetworkMappingFabricSpecificSettingsInstanceTypeVmmToVmm specifies the instance type network mapping + // fabric specific settings instance type vmm to vmm state for instance type network mapping fabric specific settings. + InstanceTypeNetworkMappingFabricSpecificSettingsInstanceTypeVmmToVmm InstanceTypeNetworkMappingFabricSpecificSettings = "VmmToVmm" +) + +// InstanceTypePolicyProviderSpecificDetails enumerates the values for instance type policy provider specific details. +type InstanceTypePolicyProviderSpecificDetails string + +const ( + // InstanceTypePolicyProviderSpecificDetailsInstanceTypeA2A specifies the instance type policy provider specific + // details instance type a2a state for instance type policy provider specific details. + InstanceTypePolicyProviderSpecificDetailsInstanceTypeA2A InstanceTypePolicyProviderSpecificDetails = "A2A" + // InstanceTypePolicyProviderSpecificDetailsInstanceTypeHyperVReplica2012 specifies the instance type policy provider + // specific details instance type hyper v replica 2012 state for instance type policy provider specific details. + InstanceTypePolicyProviderSpecificDetailsInstanceTypeHyperVReplica2012 InstanceTypePolicyProviderSpecificDetails = "HyperVReplica2012" + // InstanceTypePolicyProviderSpecificDetailsInstanceTypeHyperVReplica2012R2 specifies the instance type policy provider + // specific details instance type hyper v replica 2012r2 state for instance type policy provider specific details. + InstanceTypePolicyProviderSpecificDetailsInstanceTypeHyperVReplica2012R2 InstanceTypePolicyProviderSpecificDetails = "HyperVReplica2012R2" + // InstanceTypePolicyProviderSpecificDetailsInstanceTypeHyperVReplicaAzure specifies the instance type policy provider + // specific details instance type hyper v replica azure state for instance type policy provider specific details. + InstanceTypePolicyProviderSpecificDetailsInstanceTypeHyperVReplicaAzure InstanceTypePolicyProviderSpecificDetails = "HyperVReplicaAzure" + // InstanceTypePolicyProviderSpecificDetailsInstanceTypeHyperVReplicaBasePolicyDetails specifies the instance type + // policy provider specific details instance type hyper v replica base policy details state for instance type policy + // provider specific details. + InstanceTypePolicyProviderSpecificDetailsInstanceTypeHyperVReplicaBasePolicyDetails InstanceTypePolicyProviderSpecificDetails = "HyperVReplicaBasePolicyDetails" + // InstanceTypePolicyProviderSpecificDetailsInstanceTypeInMage specifies the instance type policy provider specific + // details instance type in mage state for instance type policy provider specific details. + InstanceTypePolicyProviderSpecificDetailsInstanceTypeInMage InstanceTypePolicyProviderSpecificDetails = "InMage" + // InstanceTypePolicyProviderSpecificDetailsInstanceTypeInMageAzureV2 specifies the instance type policy provider + // specific details instance type in mage azure v2 state for instance type policy provider specific details. + InstanceTypePolicyProviderSpecificDetailsInstanceTypeInMageAzureV2 InstanceTypePolicyProviderSpecificDetails = "InMageAzureV2" + // InstanceTypePolicyProviderSpecificDetailsInstanceTypeInMageBasePolicyDetails specifies the instance type policy + // provider specific details instance type in mage base policy details state for instance type policy provider specific + // details. + InstanceTypePolicyProviderSpecificDetailsInstanceTypeInMageBasePolicyDetails InstanceTypePolicyProviderSpecificDetails = "InMageBasePolicyDetails" + // InstanceTypePolicyProviderSpecificDetailsInstanceTypeRcmAzureMigration specifies the instance type policy provider + // specific details instance type rcm azure migration state for instance type policy provider specific details. + InstanceTypePolicyProviderSpecificDetailsInstanceTypeRcmAzureMigration InstanceTypePolicyProviderSpecificDetails = "RcmAzureMigration" + // InstanceTypePolicyProviderSpecificDetailsInstanceTypeVMwareCbt specifies the instance type policy provider specific + // details instance type v mware cbt state for instance type policy provider specific details. + InstanceTypePolicyProviderSpecificDetailsInstanceTypeVMwareCbt InstanceTypePolicyProviderSpecificDetails = "VMwareCbt" +) + +// InstanceTypePolicyProviderSpecificInput enumerates the values for instance type policy provider specific input. +type InstanceTypePolicyProviderSpecificInput string + +const ( + // InstanceTypePolicyProviderSpecificInputInstanceTypeA2A specifies the instance type policy provider specific input + // instance type a2a state for instance type policy provider specific input. + InstanceTypePolicyProviderSpecificInputInstanceTypeA2A InstanceTypePolicyProviderSpecificInput = "A2A" + // InstanceTypePolicyProviderSpecificInputInstanceTypeHyperVReplica2012 specifies the instance type policy provider + // specific input instance type hyper v replica 2012 state for instance type policy provider specific input. + InstanceTypePolicyProviderSpecificInputInstanceTypeHyperVReplica2012 InstanceTypePolicyProviderSpecificInput = "HyperVReplica2012" + // InstanceTypePolicyProviderSpecificInputInstanceTypeHyperVReplica2012R2 specifies the instance type policy provider + // specific input instance type hyper v replica 2012r2 state for instance type policy provider specific input. + InstanceTypePolicyProviderSpecificInputInstanceTypeHyperVReplica2012R2 InstanceTypePolicyProviderSpecificInput = "HyperVReplica2012R2" + // InstanceTypePolicyProviderSpecificInputInstanceTypeHyperVReplicaAzure specifies the instance type policy provider + // specific input instance type hyper v replica azure state for instance type policy provider specific input. + InstanceTypePolicyProviderSpecificInputInstanceTypeHyperVReplicaAzure InstanceTypePolicyProviderSpecificInput = "HyperVReplicaAzure" + // InstanceTypePolicyProviderSpecificInputInstanceTypeInMage specifies the instance type policy provider specific input + // instance type in mage state for instance type policy provider specific input. + InstanceTypePolicyProviderSpecificInputInstanceTypeInMage InstanceTypePolicyProviderSpecificInput = "InMage" + // InstanceTypePolicyProviderSpecificInputInstanceTypeInMageAzureV2 specifies the instance type policy provider + // specific input instance type in mage azure v2 state for instance type policy provider specific input. + InstanceTypePolicyProviderSpecificInputInstanceTypeInMageAzureV2 InstanceTypePolicyProviderSpecificInput = "InMageAzureV2" + // InstanceTypePolicyProviderSpecificInputInstanceTypeVMwareCbt specifies the instance type policy provider specific + // input instance type v mware cbt state for instance type policy provider specific input. + InstanceTypePolicyProviderSpecificInputInstanceTypeVMwareCbt InstanceTypePolicyProviderSpecificInput = "VMwareCbt" +) + +// InstanceTypeProviderSpecificFailoverInput enumerates the values for instance type provider specific failover input. +type InstanceTypeProviderSpecificFailoverInput string + +const ( + // InstanceTypeProviderSpecificFailoverInputInstanceTypeA2A specifies the instance type provider specific failover + // input instance type a2a state for instance type provider specific failover input. + InstanceTypeProviderSpecificFailoverInputInstanceTypeA2A InstanceTypeProviderSpecificFailoverInput = "A2A" + // InstanceTypeProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzure specifies the instance type provider + // specific failover input instance type hyper v replica azure state for instance type provider specific failover + // input. + InstanceTypeProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzure InstanceTypeProviderSpecificFailoverInput = "HyperVReplicaAzure" + // InstanceTypeProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzureFailback specifies the instance type provider + // specific failover input instance type hyper v replica azure failback state for instance type provider specific + // failover input. + InstanceTypeProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzureFailback InstanceTypeProviderSpecificFailoverInput = "HyperVReplicaAzureFailback" + // InstanceTypeProviderSpecificFailoverInputInstanceTypeInMage specifies the instance type provider specific failover + // input instance type in mage state for instance type provider specific failover input. + InstanceTypeProviderSpecificFailoverInputInstanceTypeInMage InstanceTypeProviderSpecificFailoverInput = "InMage" + // InstanceTypeProviderSpecificFailoverInputInstanceTypeInMageAzureV2 specifies the instance type provider specific + // failover input instance type in mage azure v2 state for instance type provider specific failover input. + InstanceTypeProviderSpecificFailoverInputInstanceTypeInMageAzureV2 InstanceTypeProviderSpecificFailoverInput = "InMageAzureV2" +) + +// InstanceTypeRecoveryPlanActionDetails enumerates the values for instance type recovery plan action details. +type InstanceTypeRecoveryPlanActionDetails string + +const ( + // InstanceTypeAutomationRunbookActionDetails specifies the instance type automation runbook action details state for + // instance type recovery plan action details. + InstanceTypeAutomationRunbookActionDetails InstanceTypeRecoveryPlanActionDetails = "AutomationRunbookActionDetails" + // InstanceTypeManualActionDetails specifies the instance type manual action details state for instance type recovery + // plan action details. + InstanceTypeManualActionDetails InstanceTypeRecoveryPlanActionDetails = "ManualActionDetails" + // InstanceTypeScriptActionDetails specifies the instance type script action details state for instance type recovery + // plan action details. + InstanceTypeScriptActionDetails InstanceTypeRecoveryPlanActionDetails = "ScriptActionDetails" +) + +// InstanceTypeRecoveryPlanProviderSpecificFailoverInput enumerates the values for instance type recovery plan provider +// specific failover input. +type InstanceTypeRecoveryPlanProviderSpecificFailoverInput string + +const ( + // InstanceTypeRecoveryPlanProviderSpecificFailoverInputInstanceTypeA2A specifies the instance type recovery plan + // provider specific failover input instance type a2a state for instance type recovery plan provider specific failover + // input. + InstanceTypeRecoveryPlanProviderSpecificFailoverInputInstanceTypeA2A InstanceTypeRecoveryPlanProviderSpecificFailoverInput = "A2A" + // InstanceTypeRecoveryPlanProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzure specifies the instance type + // recovery plan provider specific failover input instance type hyper v replica azure state for instance type recovery + // plan provider specific failover input. + InstanceTypeRecoveryPlanProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzure InstanceTypeRecoveryPlanProviderSpecificFailoverInput = "HyperVReplicaAzure" + // InstanceTypeRecoveryPlanProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzureFailback specifies the instance + // type recovery plan provider specific failover input instance type hyper v replica azure failback state for instance + // type recovery plan provider specific failover input. + InstanceTypeRecoveryPlanProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzureFailback InstanceTypeRecoveryPlanProviderSpecificFailoverInput = "HyperVReplicaAzureFailback" + // InstanceTypeRecoveryPlanProviderSpecificFailoverInputInstanceTypeInMage specifies the instance type recovery plan + // provider specific failover input instance type in mage state for instance type recovery plan provider specific + // failover input. + InstanceTypeRecoveryPlanProviderSpecificFailoverInputInstanceTypeInMage InstanceTypeRecoveryPlanProviderSpecificFailoverInput = "InMage" + // InstanceTypeRecoveryPlanProviderSpecificFailoverInputInstanceTypeInMageAzureV2 specifies the instance type recovery + // plan provider specific failover input instance type in mage azure v2 state for instance type recovery plan provider + // specific failover input. + InstanceTypeRecoveryPlanProviderSpecificFailoverInputInstanceTypeInMageAzureV2 InstanceTypeRecoveryPlanProviderSpecificFailoverInput = "InMageAzureV2" +) + +// InstanceTypeReplicationProviderSpecificSettings enumerates the values for instance type replication provider +// specific settings. +type InstanceTypeReplicationProviderSpecificSettings string + +const ( + // InstanceTypeReplicationProviderSpecificSettingsInstanceTypeA2A specifies the instance type replication provider + // specific settings instance type a2a state for instance type replication provider specific settings. + InstanceTypeReplicationProviderSpecificSettingsInstanceTypeA2A InstanceTypeReplicationProviderSpecificSettings = "A2A" + // InstanceTypeReplicationProviderSpecificSettingsInstanceTypeHyperVReplica2012 specifies the instance type replication + // provider specific settings instance type hyper v replica 2012 state for instance type replication provider specific + // settings. + InstanceTypeReplicationProviderSpecificSettingsInstanceTypeHyperVReplica2012 InstanceTypeReplicationProviderSpecificSettings = "HyperVReplica2012" + // InstanceTypeReplicationProviderSpecificSettingsInstanceTypeHyperVReplica2012R2 specifies the instance type + // replication provider specific settings instance type hyper v replica 2012r2 state for instance type replication + // provider specific settings. + InstanceTypeReplicationProviderSpecificSettingsInstanceTypeHyperVReplica2012R2 InstanceTypeReplicationProviderSpecificSettings = "HyperVReplica2012R2" + // InstanceTypeReplicationProviderSpecificSettingsInstanceTypeHyperVReplicaAzure specifies the instance type + // replication provider specific settings instance type hyper v replica azure state for instance type replication + // provider specific settings. + InstanceTypeReplicationProviderSpecificSettingsInstanceTypeHyperVReplicaAzure InstanceTypeReplicationProviderSpecificSettings = "HyperVReplicaAzure" + // InstanceTypeReplicationProviderSpecificSettingsInstanceTypeHyperVReplicaBaseReplicationDetails specifies the + // instance type replication provider specific settings instance type hyper v replica base replication details state + // for instance type replication provider specific settings. + InstanceTypeReplicationProviderSpecificSettingsInstanceTypeHyperVReplicaBaseReplicationDetails InstanceTypeReplicationProviderSpecificSettings = "HyperVReplicaBaseReplicationDetails" + // InstanceTypeReplicationProviderSpecificSettingsInstanceTypeInMage specifies the instance type replication provider + // specific settings instance type in mage state for instance type replication provider specific settings. + InstanceTypeReplicationProviderSpecificSettingsInstanceTypeInMage InstanceTypeReplicationProviderSpecificSettings = "InMage" + // InstanceTypeReplicationProviderSpecificSettingsInstanceTypeInMageAzureV2 specifies the instance type replication + // provider specific settings instance type in mage azure v2 state for instance type replication provider specific + // settings. + InstanceTypeReplicationProviderSpecificSettingsInstanceTypeInMageAzureV2 InstanceTypeReplicationProviderSpecificSettings = "InMageAzureV2" +) + +// InstanceTypeReverseReplicationProviderSpecificInput enumerates the values for instance type reverse replication +// provider specific input. +type InstanceTypeReverseReplicationProviderSpecificInput string + +const ( + // InstanceTypeReverseReplicationProviderSpecificInputInstanceTypeA2A specifies the instance type reverse replication + // provider specific input instance type a2a state for instance type reverse replication provider specific input. + InstanceTypeReverseReplicationProviderSpecificInputInstanceTypeA2A InstanceTypeReverseReplicationProviderSpecificInput = "A2A" + // InstanceTypeReverseReplicationProviderSpecificInputInstanceTypeHyperVReplicaAzure specifies the instance type + // reverse replication provider specific input instance type hyper v replica azure state for instance type reverse + // replication provider specific input. + InstanceTypeReverseReplicationProviderSpecificInputInstanceTypeHyperVReplicaAzure InstanceTypeReverseReplicationProviderSpecificInput = "HyperVReplicaAzure" + // InstanceTypeReverseReplicationProviderSpecificInputInstanceTypeInMage specifies the instance type reverse + // replication provider specific input instance type in mage state for instance type reverse replication provider + // specific input. + InstanceTypeReverseReplicationProviderSpecificInputInstanceTypeInMage InstanceTypeReverseReplicationProviderSpecificInput = "InMage" + // InstanceTypeReverseReplicationProviderSpecificInputInstanceTypeInMageAzureV2 specifies the instance type reverse + // replication provider specific input instance type in mage azure v2 state for instance type reverse replication + // provider specific input. + InstanceTypeReverseReplicationProviderSpecificInputInstanceTypeInMageAzureV2 InstanceTypeReverseReplicationProviderSpecificInput = "InMageAzureV2" +) + +// InstanceTypeTaskTypeDetails enumerates the values for instance type task type details. +type InstanceTypeTaskTypeDetails string + +const ( + // InstanceTypeAutomationRunbookTaskDetails specifies the instance type automation runbook task details state for + // instance type task type details. + InstanceTypeAutomationRunbookTaskDetails InstanceTypeTaskTypeDetails = "AutomationRunbookTaskDetails" + // InstanceTypeConsistencyCheckTaskDetails specifies the instance type consistency check task details state for + // instance type task type details. + InstanceTypeConsistencyCheckTaskDetails InstanceTypeTaskTypeDetails = "ConsistencyCheckTaskDetails" + // InstanceTypeFabricReplicationGroupTaskDetails specifies the instance type fabric replication group task details + // state for instance type task type details. + InstanceTypeFabricReplicationGroupTaskDetails InstanceTypeTaskTypeDetails = "FabricReplicationGroupTaskDetails" + // InstanceTypeJobTaskDetails specifies the instance type job task details state for instance type task type details. + InstanceTypeJobTaskDetails InstanceTypeTaskTypeDetails = "JobTaskDetails" + // InstanceTypeManualActionTaskDetails specifies the instance type manual action task details state for instance type + // task type details. + InstanceTypeManualActionTaskDetails InstanceTypeTaskTypeDetails = "ManualActionTaskDetails" + // InstanceTypeScriptActionTaskDetails specifies the instance type script action task details state for instance type + // task type details. + InstanceTypeScriptActionTaskDetails InstanceTypeTaskTypeDetails = "ScriptActionTaskDetails" + // InstanceTypeVirtualMachineTaskDetails specifies the instance type virtual machine task details state for instance + // type task type details. + InstanceTypeVirtualMachineTaskDetails InstanceTypeTaskTypeDetails = "VirtualMachineTaskDetails" + // InstanceTypeVMNicUpdatesTaskDetails specifies the instance type vm nic updates task details state for instance type + // task type details. + InstanceTypeVMNicUpdatesTaskDetails InstanceTypeTaskTypeDetails = "VmNicUpdatesTaskDetails" +) + // LicenseType enumerates the values for license type. type LicenseType string @@ -125,6 +553,16 @@ const ( LicenseTypeWindowsServer LicenseType = "WindowsServer" ) +// MultiVMSyncStatus enumerates the values for multi vm sync status. +type MultiVMSyncStatus string + +const ( + // Disabled specifies the disabled state for multi vm sync status. + Disabled MultiVMSyncStatus = "Disabled" + // Enabled specifies the enabled state for multi vm sync status. + Enabled MultiVMSyncStatus = "Enabled" +) + // PossibleOperationsDirections enumerates the values for possible operations directions. type PossibleOperationsDirections string @@ -157,48 +595,76 @@ const ( Shutdown RecoveryPlanGroupType = "Shutdown" ) +// RecoveryPointType enumerates the values for recovery point type. +type RecoveryPointType string + +const ( + // Custom specifies the custom state for recovery point type. + Custom RecoveryPointType = "Custom" + // LatestTag specifies the latest tag state for recovery point type. + LatestTag RecoveryPointType = "LatestTag" + // LatestTime specifies the latest time state for recovery point type. + LatestTime RecoveryPointType = "LatestTime" +) + // ReplicationProtectedItemOperation enumerates the values for replication protected item operation. type ReplicationProtectedItemOperation string const ( - // ChangePit specifies the change pit state for replication protected item operation. - ChangePit ReplicationProtectedItemOperation = "ChangePit" - // Commit specifies the commit state for replication protected item operation. - Commit ReplicationProtectedItemOperation = "Commit" - // CompleteMigration specifies the complete migration state for replication protected item operation. - CompleteMigration ReplicationProtectedItemOperation = "CompleteMigration" - // DisableProtection specifies the disable protection state for replication protected item operation. - DisableProtection ReplicationProtectedItemOperation = "DisableProtection" - // Failback specifies the failback state for replication protected item operation. - Failback ReplicationProtectedItemOperation = "Failback" - // FinalizeFailback specifies the finalize failback state for replication protected item operation. - FinalizeFailback ReplicationProtectedItemOperation = "FinalizeFailback" - // PlannedFailover specifies the planned failover state for replication protected item operation. - PlannedFailover ReplicationProtectedItemOperation = "PlannedFailover" - // RepairReplication specifies the repair replication state for replication protected item operation. - RepairReplication ReplicationProtectedItemOperation = "RepairReplication" - // ReverseReplicate specifies the reverse replicate state for replication protected item operation. - ReverseReplicate ReplicationProtectedItemOperation = "ReverseReplicate" - // SwitchProtection specifies the switch protection state for replication protected item operation. - SwitchProtection ReplicationProtectedItemOperation = "SwitchProtection" - // TestFailover specifies the test failover state for replication protected item operation. - TestFailover ReplicationProtectedItemOperation = "TestFailover" - // TestFailoverCleanup specifies the test failover cleanup state for replication protected item operation. - TestFailoverCleanup ReplicationProtectedItemOperation = "TestFailoverCleanup" - // UnplannedFailover specifies the unplanned failover state for replication protected item operation. - UnplannedFailover ReplicationProtectedItemOperation = "UnplannedFailover" + // ReplicationProtectedItemOperationChangePit specifies the replication protected item operation change pit state for + // replication protected item operation. + ReplicationProtectedItemOperationChangePit ReplicationProtectedItemOperation = "ChangePit" + // ReplicationProtectedItemOperationCommit specifies the replication protected item operation commit state for + // replication protected item operation. + ReplicationProtectedItemOperationCommit ReplicationProtectedItemOperation = "Commit" + // ReplicationProtectedItemOperationCompleteMigration specifies the replication protected item operation complete + // migration state for replication protected item operation. + ReplicationProtectedItemOperationCompleteMigration ReplicationProtectedItemOperation = "CompleteMigration" + // ReplicationProtectedItemOperationDisableProtection specifies the replication protected item operation disable + // protection state for replication protected item operation. + ReplicationProtectedItemOperationDisableProtection ReplicationProtectedItemOperation = "DisableProtection" + // ReplicationProtectedItemOperationFailback specifies the replication protected item operation failback state for + // replication protected item operation. + ReplicationProtectedItemOperationFailback ReplicationProtectedItemOperation = "Failback" + // ReplicationProtectedItemOperationFinalizeFailback specifies the replication protected item operation finalize + // failback state for replication protected item operation. + ReplicationProtectedItemOperationFinalizeFailback ReplicationProtectedItemOperation = "FinalizeFailback" + // ReplicationProtectedItemOperationPlannedFailover specifies the replication protected item operation planned failover + // state for replication protected item operation. + ReplicationProtectedItemOperationPlannedFailover ReplicationProtectedItemOperation = "PlannedFailover" + // ReplicationProtectedItemOperationRepairReplication specifies the replication protected item operation repair + // replication state for replication protected item operation. + ReplicationProtectedItemOperationRepairReplication ReplicationProtectedItemOperation = "RepairReplication" + // ReplicationProtectedItemOperationReverseReplicate specifies the replication protected item operation reverse + // replicate state for replication protected item operation. + ReplicationProtectedItemOperationReverseReplicate ReplicationProtectedItemOperation = "ReverseReplicate" + // ReplicationProtectedItemOperationSwitchProtection specifies the replication protected item operation switch + // protection state for replication protected item operation. + ReplicationProtectedItemOperationSwitchProtection ReplicationProtectedItemOperation = "SwitchProtection" + // ReplicationProtectedItemOperationTestFailover specifies the replication protected item operation test failover state + // for replication protected item operation. + ReplicationProtectedItemOperationTestFailover ReplicationProtectedItemOperation = "TestFailover" + // ReplicationProtectedItemOperationTestFailoverCleanup specifies the replication protected item operation test + // failover cleanup state for replication protected item operation. + ReplicationProtectedItemOperationTestFailoverCleanup ReplicationProtectedItemOperation = "TestFailoverCleanup" + // ReplicationProtectedItemOperationUnplannedFailover specifies the replication protected item operation unplanned + // failover state for replication protected item operation. + ReplicationProtectedItemOperationUnplannedFailover ReplicationProtectedItemOperation = "UnplannedFailover" ) // RpInMageRecoveryPointType enumerates the values for rp in mage recovery point type. type RpInMageRecoveryPointType string const ( - // Custom specifies the custom state for rp in mage recovery point type. - Custom RpInMageRecoveryPointType = "Custom" - // LatestTag specifies the latest tag state for rp in mage recovery point type. - LatestTag RpInMageRecoveryPointType = "LatestTag" - // LatestTime specifies the latest time state for rp in mage recovery point type. - LatestTime RpInMageRecoveryPointType = "LatestTime" + // RpInMageRecoveryPointTypeCustom specifies the rp in mage recovery point type custom state for rp in mage recovery + // point type. + RpInMageRecoveryPointTypeCustom RpInMageRecoveryPointType = "Custom" + // RpInMageRecoveryPointTypeLatestTag specifies the rp in mage recovery point type latest tag state for rp in mage + // recovery point type. + RpInMageRecoveryPointTypeLatestTag RpInMageRecoveryPointType = "LatestTag" + // RpInMageRecoveryPointTypeLatestTime specifies the rp in mage recovery point type latest time state for rp in mage + // recovery point type. + RpInMageRecoveryPointTypeLatestTime RpInMageRecoveryPointType = "LatestTime" ) // SetMultiVMSyncStatus enumerates the values for set multi vm sync status. @@ -211,6 +677,20 @@ const ( Enable SetMultiVMSyncStatus = "Enable" ) +// Severity enumerates the values for severity. +type Severity string + +const ( + // Error specifies the error state for severity. + Error Severity = "Error" + // Info specifies the info state for severity. + Info Severity = "Info" + // NONE specifies the none state for severity. + NONE Severity = "NONE" + // Warning specifies the warning state for severity. + Warning Severity = "Warning" +) + // SourceSiteOperations enumerates the values for source site operations. type SourceSiteOperations string @@ -223,64 +703,350 @@ const ( // A2AApplyRecoveryPointInput is applyRecoveryPoint input specific to A2A provider. type A2AApplyRecoveryPointInput struct { + InstanceType InstanceType `json:"instanceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for A2AApplyRecoveryPointInput. +func (aarpi A2AApplyRecoveryPointInput) MarshalJSON() ([]byte, error) { + aarpi.InstanceType = InstanceTypeA2A + type Alias A2AApplyRecoveryPointInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(aarpi), + }) +} + +// AsHyperVReplicaAzureApplyRecoveryPointInput is the ApplyRecoveryPointProviderSpecificInput implementation for A2AApplyRecoveryPointInput. +func (aarpi A2AApplyRecoveryPointInput) AsHyperVReplicaAzureApplyRecoveryPointInput() (*HyperVReplicaAzureApplyRecoveryPointInput, bool) { + return nil, false +} + +// AsInMageAzureV2ApplyRecoveryPointInput is the ApplyRecoveryPointProviderSpecificInput implementation for A2AApplyRecoveryPointInput. +func (aarpi A2AApplyRecoveryPointInput) AsInMageAzureV2ApplyRecoveryPointInput() (*InMageAzureV2ApplyRecoveryPointInput, bool) { + return nil, false +} + +// AsA2AApplyRecoveryPointInput is the ApplyRecoveryPointProviderSpecificInput implementation for A2AApplyRecoveryPointInput. +func (aarpi A2AApplyRecoveryPointInput) AsA2AApplyRecoveryPointInput() (*A2AApplyRecoveryPointInput, bool) { + return &aarpi, true } // A2AContainerCreationInput is a2A cloud creation input. type A2AContainerCreationInput struct { + InstanceType InstanceType `json:"instanceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for A2AContainerCreationInput. +func (acci A2AContainerCreationInput) MarshalJSON() ([]byte, error) { + acci.InstanceType = InstanceTypeA2A + type Alias A2AContainerCreationInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(acci), + }) +} + +// AsA2AContainerCreationInput is the ReplicationProviderSpecificContainerCreationInput implementation for A2AContainerCreationInput. +func (acci A2AContainerCreationInput) AsA2AContainerCreationInput() (*A2AContainerCreationInput, bool) { + return &acci, true } // A2AEnableProtectionInput is a2A enable protection input. type A2AEnableProtectionInput struct { - FabricObjectID *string `json:"fabricObjectId,omitempty"` - RecoveryContainerID *string `json:"recoveryContainerId,omitempty"` - RecoveryResourceGroupID *string `json:"recoveryResourceGroupId,omitempty"` - RecoveryCloudServiceID *string `json:"recoveryCloudServiceId,omitempty"` - RecoveryAvailabilitySetID *string `json:"recoveryAvailabilitySetId,omitempty"` - VMDisks *[]A2AVMDiskInputDetails `json:"vmDisks,omitempty"` + InstanceType InstanceTypeEnableProtectionProviderSpecificInput `json:"instanceType,omitempty"` + FabricObjectID *string `json:"fabricObjectId,omitempty"` + RecoveryContainerID *string `json:"recoveryContainerId,omitempty"` + RecoveryResourceGroupID *string `json:"recoveryResourceGroupId,omitempty"` + RecoveryCloudServiceID *string `json:"recoveryCloudServiceId,omitempty"` + RecoveryAvailabilitySetID *string `json:"recoveryAvailabilitySetId,omitempty"` + VMDisks *[]A2AVMDiskInputDetails `json:"vmDisks,omitempty"` + VMManagedDisks *[]A2AVMManagedDiskInputDetails `json:"vmManagedDisks,omitempty"` +} + +// MarshalJSON is the custom marshaler for A2AEnableProtectionInput. +func (aepi A2AEnableProtectionInput) MarshalJSON() ([]byte, error) { + aepi.InstanceType = InstanceTypeEnableProtectionProviderSpecificInputInstanceTypeA2A + type Alias A2AEnableProtectionInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(aepi), + }) +} + +// AsHyperVReplicaAzureEnableProtectionInput is the EnableProtectionProviderSpecificInput implementation for A2AEnableProtectionInput. +func (aepi A2AEnableProtectionInput) AsHyperVReplicaAzureEnableProtectionInput() (*HyperVReplicaAzureEnableProtectionInput, bool) { + return nil, false +} + +// AsSanEnableProtectionInput is the EnableProtectionProviderSpecificInput implementation for A2AEnableProtectionInput. +func (aepi A2AEnableProtectionInput) AsSanEnableProtectionInput() (*SanEnableProtectionInput, bool) { + return nil, false +} + +// AsInMageAzureV2EnableProtectionInput is the EnableProtectionProviderSpecificInput implementation for A2AEnableProtectionInput. +func (aepi A2AEnableProtectionInput) AsInMageAzureV2EnableProtectionInput() (*InMageAzureV2EnableProtectionInput, bool) { + return nil, false +} + +// AsInMageEnableProtectionInput is the EnableProtectionProviderSpecificInput implementation for A2AEnableProtectionInput. +func (aepi A2AEnableProtectionInput) AsInMageEnableProtectionInput() (*InMageEnableProtectionInput, bool) { + return nil, false +} + +// AsA2AEnableProtectionInput is the EnableProtectionProviderSpecificInput implementation for A2AEnableProtectionInput. +func (aepi A2AEnableProtectionInput) AsA2AEnableProtectionInput() (*A2AEnableProtectionInput, bool) { + return &aepi, true } // A2AEventDetails is model class for event details of a A2A event. type A2AEventDetails struct { - ProtectedItemName *string `json:"protectedItemName,omitempty"` - FabricObjectID *string `json:"fabricObjectId,omitempty"` - FabricName *string `json:"fabricName,omitempty"` - FabricLocation *string `json:"fabricLocation,omitempty"` - RemoteFabricName *string `json:"remoteFabricName,omitempty"` - RemoteFabricLocation *string `json:"remoteFabricLocation,omitempty"` + InstanceType InstanceType `json:"instanceType,omitempty"` + ProtectedItemName *string `json:"protectedItemName,omitempty"` + FabricObjectID *string `json:"fabricObjectId,omitempty"` + FabricName *string `json:"fabricName,omitempty"` + FabricLocation *string `json:"fabricLocation,omitempty"` + RemoteFabricName *string `json:"remoteFabricName,omitempty"` + RemoteFabricLocation *string `json:"remoteFabricLocation,omitempty"` +} + +// MarshalJSON is the custom marshaler for A2AEventDetails. +func (aed A2AEventDetails) MarshalJSON() ([]byte, error) { + aed.InstanceType = InstanceTypeA2A + type Alias A2AEventDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(aed), + }) +} + +// AsHyperVReplicaBaseEventDetails is the EventProviderSpecificDetails implementation for A2AEventDetails. +func (aed A2AEventDetails) AsHyperVReplicaBaseEventDetails() (*HyperVReplicaBaseEventDetails, bool) { + return nil, false +} + +// AsHyperVReplica2012EventDetails is the EventProviderSpecificDetails implementation for A2AEventDetails. +func (aed A2AEventDetails) AsHyperVReplica2012EventDetails() (*HyperVReplica2012EventDetails, bool) { + return nil, false +} + +// AsHyperVReplica2012R2EventDetails is the EventProviderSpecificDetails implementation for A2AEventDetails. +func (aed A2AEventDetails) AsHyperVReplica2012R2EventDetails() (*HyperVReplica2012R2EventDetails, bool) { + return nil, false +} + +// AsHyperVReplicaAzureEventDetails is the EventProviderSpecificDetails implementation for A2AEventDetails. +func (aed A2AEventDetails) AsHyperVReplicaAzureEventDetails() (*HyperVReplicaAzureEventDetails, bool) { + return nil, false +} + +// AsA2AEventDetails is the EventProviderSpecificDetails implementation for A2AEventDetails. +func (aed A2AEventDetails) AsA2AEventDetails() (*A2AEventDetails, bool) { + return &aed, true +} + +// AsInMageAzureV2EventDetails is the EventProviderSpecificDetails implementation for A2AEventDetails. +func (aed A2AEventDetails) AsInMageAzureV2EventDetails() (*InMageAzureV2EventDetails, bool) { + return nil, false } // A2AFailoverProviderInput is a2A provider specific input for failover. type A2AFailoverProviderInput struct { - RecoveryPointID *string `json:"recoveryPointId,omitempty"` - CloudServiceCreationOption *string `json:"cloudServiceCreationOption,omitempty"` + InstanceType InstanceTypeProviderSpecificFailoverInput `json:"instanceType,omitempty"` + RecoveryPointID *string `json:"recoveryPointId,omitempty"` + CloudServiceCreationOption *string `json:"cloudServiceCreationOption,omitempty"` +} + +// MarshalJSON is the custom marshaler for A2AFailoverProviderInput. +func (afpi A2AFailoverProviderInput) MarshalJSON() ([]byte, error) { + afpi.InstanceType = InstanceTypeProviderSpecificFailoverInputInstanceTypeA2A + type Alias A2AFailoverProviderInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(afpi), + }) +} + +// AsHyperVReplicaAzureFailoverProviderInput is the ProviderSpecificFailoverInput implementation for A2AFailoverProviderInput. +func (afpi A2AFailoverProviderInput) AsHyperVReplicaAzureFailoverProviderInput() (*HyperVReplicaAzureFailoverProviderInput, bool) { + return nil, false +} + +// AsHyperVReplicaAzureFailbackProviderInput is the ProviderSpecificFailoverInput implementation for A2AFailoverProviderInput. +func (afpi A2AFailoverProviderInput) AsHyperVReplicaAzureFailbackProviderInput() (*HyperVReplicaAzureFailbackProviderInput, bool) { + return nil, false +} + +// AsInMageAzureV2FailoverProviderInput is the ProviderSpecificFailoverInput implementation for A2AFailoverProviderInput. +func (afpi A2AFailoverProviderInput) AsInMageAzureV2FailoverProviderInput() (*InMageAzureV2FailoverProviderInput, bool) { + return nil, false +} + +// AsInMageFailoverProviderInput is the ProviderSpecificFailoverInput implementation for A2AFailoverProviderInput. +func (afpi A2AFailoverProviderInput) AsInMageFailoverProviderInput() (*InMageFailoverProviderInput, bool) { + return nil, false +} + +// AsA2AFailoverProviderInput is the ProviderSpecificFailoverInput implementation for A2AFailoverProviderInput. +func (afpi A2AFailoverProviderInput) AsA2AFailoverProviderInput() (*A2AFailoverProviderInput, bool) { + return &afpi, true } // A2APolicyCreationInput is a2A Policy creation input. type A2APolicyCreationInput struct { - RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` - CrashConsistentFrequencyInMinutes *int32 `json:"crashConsistentFrequencyInMinutes,omitempty"` - AppConsistentFrequencyInMinutes *int32 `json:"appConsistentFrequencyInMinutes,omitempty"` - MultiVMSyncStatus SetMultiVMSyncStatus `json:"multiVmSyncStatus,omitempty"` + InstanceType InstanceTypePolicyProviderSpecificInput `json:"instanceType,omitempty"` + RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` + CrashConsistentFrequencyInMinutes *int32 `json:"crashConsistentFrequencyInMinutes,omitempty"` + AppConsistentFrequencyInMinutes *int32 `json:"appConsistentFrequencyInMinutes,omitempty"` + MultiVMSyncStatus SetMultiVMSyncStatus `json:"multiVmSyncStatus,omitempty"` +} + +// MarshalJSON is the custom marshaler for A2APolicyCreationInput. +func (apci A2APolicyCreationInput) MarshalJSON() ([]byte, error) { + apci.InstanceType = InstanceTypePolicyProviderSpecificInputInstanceTypeA2A + type Alias A2APolicyCreationInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(apci), + }) +} + +// AsHyperVReplicaAzurePolicyInput is the PolicyProviderSpecificInput implementation for A2APolicyCreationInput. +func (apci A2APolicyCreationInput) AsHyperVReplicaAzurePolicyInput() (*HyperVReplicaAzurePolicyInput, bool) { + return nil, false +} + +// AsHyperVReplicaPolicyInput is the PolicyProviderSpecificInput implementation for A2APolicyCreationInput. +func (apci A2APolicyCreationInput) AsHyperVReplicaPolicyInput() (*HyperVReplicaPolicyInput, bool) { + return nil, false +} + +// AsHyperVReplicaBluePolicyInput is the PolicyProviderSpecificInput implementation for A2APolicyCreationInput. +func (apci A2APolicyCreationInput) AsHyperVReplicaBluePolicyInput() (*HyperVReplicaBluePolicyInput, bool) { + return nil, false +} + +// AsInMageAzureV2PolicyInput is the PolicyProviderSpecificInput implementation for A2APolicyCreationInput. +func (apci A2APolicyCreationInput) AsInMageAzureV2PolicyInput() (*InMageAzureV2PolicyInput, bool) { + return nil, false +} + +// AsInMagePolicyInput is the PolicyProviderSpecificInput implementation for A2APolicyCreationInput. +func (apci A2APolicyCreationInput) AsInMagePolicyInput() (*InMagePolicyInput, bool) { + return nil, false +} + +// AsA2APolicyCreationInput is the PolicyProviderSpecificInput implementation for A2APolicyCreationInput. +func (apci A2APolicyCreationInput) AsA2APolicyCreationInput() (*A2APolicyCreationInput, bool) { + return &apci, true +} + +// AsVMwareCbtPolicyCreationInput is the PolicyProviderSpecificInput implementation for A2APolicyCreationInput. +func (apci A2APolicyCreationInput) AsVMwareCbtPolicyCreationInput() (*VMwareCbtPolicyCreationInput, bool) { + return nil, false } // A2APolicyDetails is a2A specific policy details. type A2APolicyDetails struct { - RecoveryPointThresholdInMinutes *int32 `json:"recoveryPointThresholdInMinutes,omitempty"` - RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` - AppConsistentFrequencyInMinutes *int32 `json:"appConsistentFrequencyInMinutes,omitempty"` - MultiVMSyncStatus *string `json:"multiVmSyncStatus,omitempty"` - CrashConsistentFrequencyInMinutes *int32 `json:"crashConsistentFrequencyInMinutes,omitempty"` + InstanceType InstanceTypePolicyProviderSpecificDetails `json:"instanceType,omitempty"` + RecoveryPointThresholdInMinutes *int32 `json:"recoveryPointThresholdInMinutes,omitempty"` + RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` + AppConsistentFrequencyInMinutes *int32 `json:"appConsistentFrequencyInMinutes,omitempty"` + MultiVMSyncStatus *string `json:"multiVmSyncStatus,omitempty"` + CrashConsistentFrequencyInMinutes *int32 `json:"crashConsistentFrequencyInMinutes,omitempty"` +} + +// MarshalJSON is the custom marshaler for A2APolicyDetails. +func (apd A2APolicyDetails) MarshalJSON() ([]byte, error) { + apd.InstanceType = InstanceTypePolicyProviderSpecificDetailsInstanceTypeA2A + type Alias A2APolicyDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(apd), + }) +} + +// AsHyperVReplicaAzurePolicyDetails is the PolicyProviderSpecificDetails implementation for A2APolicyDetails. +func (apd A2APolicyDetails) AsHyperVReplicaAzurePolicyDetails() (*HyperVReplicaAzurePolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaBasePolicyDetails is the PolicyProviderSpecificDetails implementation for A2APolicyDetails. +func (apd A2APolicyDetails) AsHyperVReplicaBasePolicyDetails() (*HyperVReplicaBasePolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaPolicyDetails is the PolicyProviderSpecificDetails implementation for A2APolicyDetails. +func (apd A2APolicyDetails) AsHyperVReplicaPolicyDetails() (*HyperVReplicaPolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaBluePolicyDetails is the PolicyProviderSpecificDetails implementation for A2APolicyDetails. +func (apd A2APolicyDetails) AsHyperVReplicaBluePolicyDetails() (*HyperVReplicaBluePolicyDetails, bool) { + return nil, false +} + +// AsInMageBasePolicyDetails is the PolicyProviderSpecificDetails implementation for A2APolicyDetails. +func (apd A2APolicyDetails) AsInMageBasePolicyDetails() (*InMageBasePolicyDetails, bool) { + return nil, false +} + +// AsInMageAzureV2PolicyDetails is the PolicyProviderSpecificDetails implementation for A2APolicyDetails. +func (apd A2APolicyDetails) AsInMageAzureV2PolicyDetails() (*InMageAzureV2PolicyDetails, bool) { + return nil, false +} + +// AsInMagePolicyDetails is the PolicyProviderSpecificDetails implementation for A2APolicyDetails. +func (apd A2APolicyDetails) AsInMagePolicyDetails() (*InMagePolicyDetails, bool) { + return nil, false +} + +// AsA2APolicyDetails is the PolicyProviderSpecificDetails implementation for A2APolicyDetails. +func (apd A2APolicyDetails) AsA2APolicyDetails() (*A2APolicyDetails, bool) { + return &apd, true +} + +// AsRcmAzureMigrationPolicyDetails is the PolicyProviderSpecificDetails implementation for A2APolicyDetails. +func (apd A2APolicyDetails) AsRcmAzureMigrationPolicyDetails() (*RcmAzureMigrationPolicyDetails, bool) { + return nil, false +} + +// AsVmwareCbtPolicyDetails is the PolicyProviderSpecificDetails implementation for A2APolicyDetails. +func (apd A2APolicyDetails) AsVmwareCbtPolicyDetails() (*VmwareCbtPolicyDetails, bool) { + return nil, false } // A2AProtectedDiskDetails is a2A protected disk details. type A2AProtectedDiskDetails struct { DiskURI *string `json:"diskUri,omitempty"` - DiskName *string `json:"diskName,omitempty"` - DiskCapacityInBytes *int64 `json:"diskCapacityInBytes,omitempty"` RecoveryAzureStorageAccountID *string `json:"recoveryAzureStorageAccountId,omitempty"` - PrimaryStagingAzureStorageAccountID *string `json:"primaryStagingAzureStorageAccountId,omitempty"` PrimaryDiskAzureStorageAccountID *string `json:"primaryDiskAzureStorageAccountId,omitempty"` RecoveryDiskURI *string `json:"recoveryDiskUri,omitempty"` + DiskName *string `json:"diskName,omitempty"` + DiskCapacityInBytes *int64 `json:"diskCapacityInBytes,omitempty"` + PrimaryStagingAzureStorageAccountID *string `json:"primaryStagingAzureStorageAccountId,omitempty"` + DiskType *string `json:"diskType,omitempty"` + ResyncRequired *bool `json:"resyncRequired,omitempty"` + MonitoringPercentageCompletion *int32 `json:"monitoringPercentageCompletion,omitempty"` + MonitoringJobType *string `json:"monitoringJobType,omitempty"` + DataPendingInStagingStorageAccountInMB *float64 `json:"dataPendingInStagingStorageAccountInMB,omitempty"` + DataPendingAtSourceAgentInMB *float64 `json:"dataPendingAtSourceAgentInMB,omitempty"` +} + +// A2AProtectedManagedDiskDetails is a2A protected managed disk details. +type A2AProtectedManagedDiskDetails struct { + DiskID *string `json:"diskId,omitempty"` + RecoveryAzureResourceGroupID *string `json:"recoveryAzureResourceGroupId,omitempty"` + RecoveryDiskID *string `json:"recoveryDiskId,omitempty"` + DiskName *string `json:"diskName,omitempty"` + DiskCapacityInBytes *int64 `json:"diskCapacityInBytes,omitempty"` + PrimaryStagingAzureStorageAccountID *string `json:"primaryStagingAzureStorageAccountId,omitempty"` DiskType *string `json:"diskType,omitempty"` ResyncRequired *bool `json:"resyncRequired,omitempty"` MonitoringPercentageCompletion *int32 `json:"monitoringPercentageCompletion,omitempty"` @@ -291,57 +1057,185 @@ type A2AProtectedDiskDetails struct { // A2AReplicationDetails is a2A provider specific settings. type A2AReplicationDetails struct { - FabricObjectID *string `json:"fabricObjectId,omitempty"` - MultiVMGroupID *string `json:"multiVmGroupId,omitempty"` - MultiVMGroupName *string `json:"multiVmGroupName,omitempty"` - ManagementID *string `json:"managementId,omitempty"` - ProtectedDisks *[]A2AProtectedDiskDetails `json:"protectedDisks,omitempty"` - PrimaryFabricLocation *string `json:"primaryFabricLocation,omitempty"` - RecoveryFabricLocation *string `json:"recoveryFabricLocation,omitempty"` - OsType *string `json:"osType,omitempty"` - RecoveryAzureVMSize *string `json:"recoveryAzureVMSize,omitempty"` - RecoveryAzureVMName *string `json:"recoveryAzureVMName,omitempty"` - RecoveryAzureResourceGroupID *string `json:"recoveryAzureResourceGroupId,omitempty"` - RecoveryCloudService *string `json:"recoveryCloudService,omitempty"` - RecoveryAvailabilitySet *string `json:"recoveryAvailabilitySet,omitempty"` - SelectedRecoveryAzureNetworkID *string `json:"selectedRecoveryAzureNetworkId,omitempty"` - VMNics *[]VMNicDetails `json:"vmNics,omitempty"` - VMSyncedConfigDetails *AzureToAzureVMSyncedConfigDetails `json:"vmSyncedConfigDetails,omitempty"` - MonitoringPercentageCompletion *int32 `json:"monitoringPercentageCompletion,omitempty"` - MonitoringJobType *string `json:"monitoringJobType,omitempty"` - LastHeartbeat *date.Time `json:"lastHeartbeat,omitempty"` - AgentVersion *string `json:"agentVersion,omitempty"` - IsReplicationAgentUpdateRequired *bool `json:"isReplicationAgentUpdateRequired,omitempty"` - RecoveryFabricObjectID *string `json:"recoveryFabricObjectId,omitempty"` - VMProtectionState *string `json:"vmProtectionState,omitempty"` - VMProtectionStateDescription *string `json:"vmProtectionStateDescription,omitempty"` - LifecycleID *string `json:"lifecycleId,omitempty"` + InstanceType InstanceTypeReplicationProviderSpecificSettings `json:"instanceType,omitempty"` + FabricObjectID *string `json:"fabricObjectId,omitempty"` + MultiVMGroupID *string `json:"multiVmGroupId,omitempty"` + MultiVMGroupName *string `json:"multiVmGroupName,omitempty"` + ManagementID *string `json:"managementId,omitempty"` + ProtectedDisks *[]A2AProtectedDiskDetails `json:"protectedDisks,omitempty"` + ProtectedManagedDisks *[]A2AProtectedManagedDiskDetails `json:"protectedManagedDisks,omitempty"` + PrimaryFabricLocation *string `json:"primaryFabricLocation,omitempty"` + RecoveryFabricLocation *string `json:"recoveryFabricLocation,omitempty"` + OsType *string `json:"osType,omitempty"` + RecoveryAzureVMSize *string `json:"recoveryAzureVMSize,omitempty"` + RecoveryAzureVMName *string `json:"recoveryAzureVMName,omitempty"` + RecoveryAzureResourceGroupID *string `json:"recoveryAzureResourceGroupId,omitempty"` + RecoveryCloudService *string `json:"recoveryCloudService,omitempty"` + RecoveryAvailabilitySet *string `json:"recoveryAvailabilitySet,omitempty"` + SelectedRecoveryAzureNetworkID *string `json:"selectedRecoveryAzureNetworkId,omitempty"` + VMNics *[]VMNicDetails `json:"vmNics,omitempty"` + VMSyncedConfigDetails *AzureToAzureVMSyncedConfigDetails `json:"vmSyncedConfigDetails,omitempty"` + MonitoringPercentageCompletion *int32 `json:"monitoringPercentageCompletion,omitempty"` + MonitoringJobType *string `json:"monitoringJobType,omitempty"` + LastHeartbeat *date.Time `json:"lastHeartbeat,omitempty"` + AgentVersion *string `json:"agentVersion,omitempty"` + IsReplicationAgentUpdateRequired *bool `json:"isReplicationAgentUpdateRequired,omitempty"` + RecoveryFabricObjectID *string `json:"recoveryFabricObjectId,omitempty"` + VMProtectionState *string `json:"vmProtectionState,omitempty"` + VMProtectionStateDescription *string `json:"vmProtectionStateDescription,omitempty"` + LifecycleID *string `json:"lifecycleId,omitempty"` + TestFailoverRecoveryFabricObjectID *string `json:"testFailoverRecoveryFabricObjectId,omitempty"` + RpoInSeconds *int64 `json:"rpoInSeconds,omitempty"` + LastRpoCalculatedTime *date.Time `json:"lastRpoCalculatedTime,omitempty"` +} + +// MarshalJSON is the custom marshaler for A2AReplicationDetails. +func (ard A2AReplicationDetails) MarshalJSON() ([]byte, error) { + ard.InstanceType = InstanceTypeReplicationProviderSpecificSettingsInstanceTypeA2A + type Alias A2AReplicationDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ard), + }) +} + +// AsHyperVReplicaBaseReplicationDetails is the ReplicationProviderSpecificSettings implementation for A2AReplicationDetails. +func (ard A2AReplicationDetails) AsHyperVReplicaBaseReplicationDetails() (*HyperVReplicaBaseReplicationDetails, bool) { + return nil, false +} + +// AsHyperVReplicaReplicationDetails is the ReplicationProviderSpecificSettings implementation for A2AReplicationDetails. +func (ard A2AReplicationDetails) AsHyperVReplicaReplicationDetails() (*HyperVReplicaReplicationDetails, bool) { + return nil, false +} + +// AsHyperVReplicaBlueReplicationDetails is the ReplicationProviderSpecificSettings implementation for A2AReplicationDetails. +func (ard A2AReplicationDetails) AsHyperVReplicaBlueReplicationDetails() (*HyperVReplicaBlueReplicationDetails, bool) { + return nil, false +} + +// AsHyperVReplicaAzureReplicationDetails is the ReplicationProviderSpecificSettings implementation for A2AReplicationDetails. +func (ard A2AReplicationDetails) AsHyperVReplicaAzureReplicationDetails() (*HyperVReplicaAzureReplicationDetails, bool) { + return nil, false +} + +// AsInMageAzureV2ReplicationDetails is the ReplicationProviderSpecificSettings implementation for A2AReplicationDetails. +func (ard A2AReplicationDetails) AsInMageAzureV2ReplicationDetails() (*InMageAzureV2ReplicationDetails, bool) { + return nil, false +} + +// AsInMageReplicationDetails is the ReplicationProviderSpecificSettings implementation for A2AReplicationDetails. +func (ard A2AReplicationDetails) AsInMageReplicationDetails() (*InMageReplicationDetails, bool) { + return nil, false +} + +// AsA2AReplicationDetails is the ReplicationProviderSpecificSettings implementation for A2AReplicationDetails. +func (ard A2AReplicationDetails) AsA2AReplicationDetails() (*A2AReplicationDetails, bool) { + return &ard, true } // A2AReprotectInput is azure specific reprotect input. type A2AReprotectInput struct { - RecoveryContainerID *string `json:"recoveryContainerId,omitempty"` - VMDisks *[]A2AVMDiskInputDetails `json:"vmDisks,omitempty"` - RecoveryResourceGroupID *string `json:"recoveryResourceGroupId,omitempty"` - RecoveryCloudServiceID *string `json:"recoveryCloudServiceId,omitempty"` - RecoveryAvailabilitySetID *string `json:"recoveryAvailabilitySetId,omitempty"` - PolicyID *string `json:"policyId,omitempty"` + InstanceType InstanceTypeReverseReplicationProviderSpecificInput `json:"instanceType,omitempty"` + RecoveryContainerID *string `json:"recoveryContainerId,omitempty"` + VMDisks *[]A2AVMDiskInputDetails `json:"vmDisks,omitempty"` + RecoveryResourceGroupID *string `json:"recoveryResourceGroupId,omitempty"` + RecoveryCloudServiceID *string `json:"recoveryCloudServiceId,omitempty"` + RecoveryAvailabilitySetID *string `json:"recoveryAvailabilitySetId,omitempty"` + PolicyID *string `json:"policyId,omitempty"` +} + +// MarshalJSON is the custom marshaler for A2AReprotectInput. +func (ari A2AReprotectInput) MarshalJSON() ([]byte, error) { + ari.InstanceType = InstanceTypeReverseReplicationProviderSpecificInputInstanceTypeA2A + type Alias A2AReprotectInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ari), + }) +} + +// AsHyperVReplicaAzureReprotectInput is the ReverseReplicationProviderSpecificInput implementation for A2AReprotectInput. +func (ari A2AReprotectInput) AsHyperVReplicaAzureReprotectInput() (*HyperVReplicaAzureReprotectInput, bool) { + return nil, false +} + +// AsInMageAzureV2ReprotectInput is the ReverseReplicationProviderSpecificInput implementation for A2AReprotectInput. +func (ari A2AReprotectInput) AsInMageAzureV2ReprotectInput() (*InMageAzureV2ReprotectInput, bool) { + return nil, false +} + +// AsInMageReprotectInput is the ReverseReplicationProviderSpecificInput implementation for A2AReprotectInput. +func (ari A2AReprotectInput) AsInMageReprotectInput() (*InMageReprotectInput, bool) { + return nil, false +} + +// AsA2AReprotectInput is the ReverseReplicationProviderSpecificInput implementation for A2AReprotectInput. +func (ari A2AReprotectInput) AsA2AReprotectInput() (*A2AReprotectInput, bool) { + return &ari, true } // A2ASwitchProtectionInput is a2A specific switch protection input. type A2ASwitchProtectionInput struct { - RecoveryContainerID *string `json:"recoveryContainerId,omitempty"` - VMDisks *[]A2AVMDiskInputDetails `json:"vmDisks,omitempty"` - RecoveryResourceGroupID *string `json:"recoveryResourceGroupId,omitempty"` - RecoveryCloudServiceID *string `json:"recoveryCloudServiceId,omitempty"` - RecoveryAvailabilitySetID *string `json:"recoveryAvailabilitySetId,omitempty"` - PolicyID *string `json:"policyId,omitempty"` + InstanceType InstanceType `json:"instanceType,omitempty"` + RecoveryContainerID *string `json:"recoveryContainerId,omitempty"` + VMDisks *[]A2AVMDiskInputDetails `json:"vmDisks,omitempty"` + VMManagedDisks *[]A2AVMManagedDiskInputDetails `json:"vmManagedDisks,omitempty"` + RecoveryResourceGroupID *string `json:"recoveryResourceGroupId,omitempty"` + RecoveryCloudServiceID *string `json:"recoveryCloudServiceId,omitempty"` + RecoveryAvailabilitySetID *string `json:"recoveryAvailabilitySetId,omitempty"` + PolicyID *string `json:"policyId,omitempty"` +} + +// MarshalJSON is the custom marshaler for A2ASwitchProtectionInput. +func (aspi A2ASwitchProtectionInput) MarshalJSON() ([]byte, error) { + aspi.InstanceType = InstanceTypeA2A + type Alias A2ASwitchProtectionInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(aspi), + }) +} + +// AsA2ASwitchProtectionInput is the SwitchProtectionProviderSpecificInput implementation for A2ASwitchProtectionInput. +func (aspi A2ASwitchProtectionInput) AsA2ASwitchProtectionInput() (*A2ASwitchProtectionInput, bool) { + return &aspi, true } // A2AUpdateReplicationProtectedItemInput is inMage Azure V2 input to update replication protected item. type A2AUpdateReplicationProtectedItemInput struct { - RecoveryCloudServiceID *string `json:"recoveryCloudServiceId,omitempty"` - RecoveryResourceGroupID *string `json:"recoveryResourceGroupId,omitempty"` + InstanceType InstanceType `json:"instanceType,omitempty"` + RecoveryCloudServiceID *string `json:"recoveryCloudServiceId,omitempty"` + RecoveryResourceGroupID *string `json:"recoveryResourceGroupId,omitempty"` +} + +// MarshalJSON is the custom marshaler for A2AUpdateReplicationProtectedItemInput. +func (aurpii A2AUpdateReplicationProtectedItemInput) MarshalJSON() ([]byte, error) { + aurpii.InstanceType = InstanceTypeA2A + type Alias A2AUpdateReplicationProtectedItemInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(aurpii), + }) +} + +// AsHyperVReplicaAzureUpdateReplicationProtectedItemInput is the UpdateReplicationProtectedItemProviderInput implementation for A2AUpdateReplicationProtectedItemInput. +func (aurpii A2AUpdateReplicationProtectedItemInput) AsHyperVReplicaAzureUpdateReplicationProtectedItemInput() (*HyperVReplicaAzureUpdateReplicationProtectedItemInput, bool) { + return nil, false +} + +// AsInMageAzureV2UpdateReplicationProtectedItemInput is the UpdateReplicationProtectedItemProviderInput implementation for A2AUpdateReplicationProtectedItemInput. +func (aurpii A2AUpdateReplicationProtectedItemInput) AsInMageAzureV2UpdateReplicationProtectedItemInput() (*InMageAzureV2UpdateReplicationProtectedItemInput, bool) { + return nil, false +} + +// AsA2AUpdateReplicationProtectedItemInput is the UpdateReplicationProtectedItemProviderInput implementation for A2AUpdateReplicationProtectedItemInput. +func (aurpii A2AUpdateReplicationProtectedItemInput) AsA2AUpdateReplicationProtectedItemInput() (*A2AUpdateReplicationProtectedItemInput, bool) { + return &aurpii, true } // A2AVMDiskInputDetails is azure VM disk input details. @@ -351,6 +1245,13 @@ type A2AVMDiskInputDetails struct { PrimaryStagingAzureStorageAccountID *string `json:"primaryStagingAzureStorageAccountId,omitempty"` } +// A2AVMManagedDiskInputDetails is azure VM managed disk input details. +type A2AVMManagedDiskInputDetails struct { + DiskID *string `json:"diskId,omitempty"` + PrimaryStagingAzureStorageAccountID *string `json:"primaryStagingAzureStorageAccountId,omitempty"` + RecoveryResourceGroupID *string `json:"recoveryResourceGroupId,omitempty"` +} + // AddVCenterRequest is input required to add vCenter. type AddVCenterRequest struct { Properties *AddVCenterRequestProperties `json:"properties,omitempty"` @@ -408,12 +1309,89 @@ type ApplyRecoveryPointInput struct { // ApplyRecoveryPointInputProperties is input properties to apply recovery point. type ApplyRecoveryPointInputProperties struct { - RecoveryPointID *string `json:"recoveryPointId,omitempty"` - ProviderSpecificDetails *ApplyRecoveryPointProviderSpecificInput `json:"providerSpecificDetails,omitempty"` + RecoveryPointID *string `json:"recoveryPointId,omitempty"` + ProviderSpecificDetails ApplyRecoveryPointProviderSpecificInput `json:"providerSpecificDetails,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for ApplyRecoveryPointInputProperties struct. +func (arpip *ApplyRecoveryPointInputProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["recoveryPointId"] + if v != nil { + var recoveryPointID string + err = json.Unmarshal(*m["recoveryPointId"], &recoveryPointID) + if err != nil { + return err + } + arpip.RecoveryPointID = &recoveryPointID + } + + v = m["providerSpecificDetails"] + if v != nil { + providerSpecificDetails, err := unmarshalApplyRecoveryPointProviderSpecificInput(*m["providerSpecificDetails"]) + if err != nil { + return err + } + arpip.ProviderSpecificDetails = providerSpecificDetails + } + + return nil } // ApplyRecoveryPointProviderSpecificInput is provider specific input for apply recovery point. -type ApplyRecoveryPointProviderSpecificInput struct { +type ApplyRecoveryPointProviderSpecificInput interface { + AsHyperVReplicaAzureApplyRecoveryPointInput() (*HyperVReplicaAzureApplyRecoveryPointInput, bool) + AsInMageAzureV2ApplyRecoveryPointInput() (*InMageAzureV2ApplyRecoveryPointInput, bool) + AsA2AApplyRecoveryPointInput() (*A2AApplyRecoveryPointInput, bool) +} + +func unmarshalApplyRecoveryPointProviderSpecificInput(body []byte) (ApplyRecoveryPointProviderSpecificInput, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeHyperVReplicaAzure): + var hvraarpi HyperVReplicaAzureApplyRecoveryPointInput + err := json.Unmarshal(body, &hvraarpi) + return hvraarpi, err + case string(InstanceTypeInMageAzureV2): + var imavarpi InMageAzureV2ApplyRecoveryPointInput + err := json.Unmarshal(body, &imavarpi) + return imavarpi, err + case string(InstanceTypeA2A): + var aarpi A2AApplyRecoveryPointInput + err := json.Unmarshal(body, &aarpi) + return aarpi, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalApplyRecoveryPointProviderSpecificInputArray(body []byte) ([]ApplyRecoveryPointProviderSpecificInput, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + arppsiArray := make([]ApplyRecoveryPointProviderSpecificInput, len(rawMessages)) + + for index, rawMessage := range rawMessages { + arppsi, err := unmarshalApplyRecoveryPointProviderSpecificInput(*rawMessage) + if err != nil { + return nil, err + } + arppsiArray[index] = arppsi + } + return arppsiArray, nil } // ARMException is ARM inner exception class. @@ -457,7 +1435,44 @@ type ARMInnerError struct { // AsrJobDetails is this class represents job details based on specific job type. type AsrJobDetails struct { - AffectedObjectDetails *map[string]*string `json:"affectedObjectDetails,omitempty"` + AffectedObjectDetails *map[string]*string `json:"affectedObjectDetails,omitempty"` + InstanceType InstanceTypeJobDetails `json:"instanceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for AsrJobDetails. +func (ajd AsrJobDetails) MarshalJSON() ([]byte, error) { + ajd.InstanceType = InstanceTypeAsrJobDetails + type Alias AsrJobDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ajd), + }) +} + +// AsAsrJobDetails is the JobDetails implementation for AsrJobDetails. +func (ajd AsrJobDetails) AsAsrJobDetails() (*AsrJobDetails, bool) { + return &ajd, true +} + +// AsTestFailoverJobDetails is the JobDetails implementation for AsrJobDetails. +func (ajd AsrJobDetails) AsTestFailoverJobDetails() (*TestFailoverJobDetails, bool) { + return nil, false +} + +// AsFailoverJobDetails is the JobDetails implementation for AsrJobDetails. +func (ajd AsrJobDetails) AsFailoverJobDetails() (*FailoverJobDetails, bool) { + return nil, false +} + +// AsExportJobDetails is the JobDetails implementation for AsrJobDetails. +func (ajd AsrJobDetails) AsExportJobDetails() (*ExportJobDetails, bool) { + return nil, false +} + +// AsSwitchProtectionJobDetails is the JobDetails implementation for AsrJobDetails. +func (ajd AsrJobDetails) AsSwitchProtectionJobDetails() (*SwitchProtectionJobDetails, bool) { + return nil, false } // ASRTask is task of the Job. @@ -471,50 +1486,372 @@ type ASRTask struct { State *string `json:"state,omitempty"` StateDescription *string `json:"stateDescription,omitempty"` TaskType *string `json:"taskType,omitempty"` - CustomDetails *TaskTypeDetails `json:"customDetails,omitempty"` - GroupTaskCustomDetails *GroupTaskDetails `json:"groupTaskCustomDetails,omitempty"` + CustomDetails TaskTypeDetails `json:"customDetails,omitempty"` + GroupTaskCustomDetails GroupTaskDetails `json:"groupTaskCustomDetails,omitempty"` Errors *[]JobErrorDetails `json:"errors,omitempty"` } +// UnmarshalJSON is the custom unmarshaler for ASRTask struct. +func (at *ASRTask) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["taskId"] + if v != nil { + var taskID string + err = json.Unmarshal(*m["taskId"], &taskID) + if err != nil { + return err + } + at.TaskID = &taskID + } + + v = m["name"] + if v != nil { + var name string + err = json.Unmarshal(*m["name"], &name) + if err != nil { + return err + } + at.Name = &name + } + + v = m["startTime"] + if v != nil { + var startTime date.Time + err = json.Unmarshal(*m["startTime"], &startTime) + if err != nil { + return err + } + at.StartTime = &startTime + } + + v = m["endTime"] + if v != nil { + var endTime date.Time + err = json.Unmarshal(*m["endTime"], &endTime) + if err != nil { + return err + } + at.EndTime = &endTime + } + + v = m["allowedActions"] + if v != nil { + var allowedActions []string + err = json.Unmarshal(*m["allowedActions"], &allowedActions) + if err != nil { + return err + } + at.AllowedActions = &allowedActions + } + + v = m["friendlyName"] + if v != nil { + var friendlyName string + err = json.Unmarshal(*m["friendlyName"], &friendlyName) + if err != nil { + return err + } + at.FriendlyName = &friendlyName + } + + v = m["state"] + if v != nil { + var state string + err = json.Unmarshal(*m["state"], &state) + if err != nil { + return err + } + at.State = &state + } + + v = m["stateDescription"] + if v != nil { + var stateDescription string + err = json.Unmarshal(*m["stateDescription"], &stateDescription) + if err != nil { + return err + } + at.StateDescription = &stateDescription + } + + v = m["taskType"] + if v != nil { + var taskType string + err = json.Unmarshal(*m["taskType"], &taskType) + if err != nil { + return err + } + at.TaskType = &taskType + } + + v = m["customDetails"] + if v != nil { + customDetails, err := unmarshalTaskTypeDetails(*m["customDetails"]) + if err != nil { + return err + } + at.CustomDetails = customDetails + } + + v = m["groupTaskCustomDetails"] + if v != nil { + groupTaskCustomDetails, err := unmarshalGroupTaskDetails(*m["groupTaskCustomDetails"]) + if err != nil { + return err + } + at.GroupTaskCustomDetails = groupTaskCustomDetails + } + + v = m["errors"] + if v != nil { + var errorsVar []JobErrorDetails + err = json.Unmarshal(*m["errors"], &errorsVar) + if err != nil { + return err + } + at.Errors = &errorsVar + } + + return nil +} + // AutomationRunbookTaskDetails is this class represents the task details for an automation runbook. type AutomationRunbookTaskDetails struct { - Name *string `json:"name,omitempty"` - CloudServiceName *string `json:"cloudServiceName,omitempty"` - SubscriptionID *string `json:"subscriptionId,omitempty"` - AccountName *string `json:"accountName,omitempty"` - RunbookID *string `json:"runbookId,omitempty"` - RunbookName *string `json:"runbookName,omitempty"` - JobID *string `json:"jobId,omitempty"` - JobOutput *string `json:"jobOutput,omitempty"` - IsPrimarySideScript *bool `json:"isPrimarySideScript,omitempty"` + InstanceType InstanceTypeTaskTypeDetails `json:"instanceType,omitempty"` + Name *string `json:"name,omitempty"` + CloudServiceName *string `json:"cloudServiceName,omitempty"` + SubscriptionID *string `json:"subscriptionId,omitempty"` + AccountName *string `json:"accountName,omitempty"` + RunbookID *string `json:"runbookId,omitempty"` + RunbookName *string `json:"runbookName,omitempty"` + JobID *string `json:"jobId,omitempty"` + JobOutput *string `json:"jobOutput,omitempty"` + IsPrimarySideScript *bool `json:"isPrimarySideScript,omitempty"` +} + +// MarshalJSON is the custom marshaler for AutomationRunbookTaskDetails. +func (artd AutomationRunbookTaskDetails) MarshalJSON() ([]byte, error) { + artd.InstanceType = InstanceTypeAutomationRunbookTaskDetails + type Alias AutomationRunbookTaskDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(artd), + }) +} + +// AsJobTaskDetails is the TaskTypeDetails implementation for AutomationRunbookTaskDetails. +func (artd AutomationRunbookTaskDetails) AsJobTaskDetails() (*JobTaskDetails, bool) { + return nil, false +} + +// AsVirtualMachineTaskDetails is the TaskTypeDetails implementation for AutomationRunbookTaskDetails. +func (artd AutomationRunbookTaskDetails) AsVirtualMachineTaskDetails() (*VirtualMachineTaskDetails, bool) { + return nil, false +} + +// AsFabricReplicationGroupTaskDetails is the TaskTypeDetails implementation for AutomationRunbookTaskDetails. +func (artd AutomationRunbookTaskDetails) AsFabricReplicationGroupTaskDetails() (*FabricReplicationGroupTaskDetails, bool) { + return nil, false +} + +// AsManualActionTaskDetails is the TaskTypeDetails implementation for AutomationRunbookTaskDetails. +func (artd AutomationRunbookTaskDetails) AsManualActionTaskDetails() (*ManualActionTaskDetails, bool) { + return nil, false +} + +// AsScriptActionTaskDetails is the TaskTypeDetails implementation for AutomationRunbookTaskDetails. +func (artd AutomationRunbookTaskDetails) AsScriptActionTaskDetails() (*ScriptActionTaskDetails, bool) { + return nil, false +} + +// AsVMNicUpdatesTaskDetails is the TaskTypeDetails implementation for AutomationRunbookTaskDetails. +func (artd AutomationRunbookTaskDetails) AsVMNicUpdatesTaskDetails() (*VMNicUpdatesTaskDetails, bool) { + return nil, false +} + +// AsConsistencyCheckTaskDetails is the TaskTypeDetails implementation for AutomationRunbookTaskDetails. +func (artd AutomationRunbookTaskDetails) AsConsistencyCheckTaskDetails() (*ConsistencyCheckTaskDetails, bool) { + return nil, false +} + +// AsAutomationRunbookTaskDetails is the TaskTypeDetails implementation for AutomationRunbookTaskDetails. +func (artd AutomationRunbookTaskDetails) AsAutomationRunbookTaskDetails() (*AutomationRunbookTaskDetails, bool) { + return &artd, true } // AzureFabricCreationInput is fabric provider specific settings. type AzureFabricCreationInput struct { - Location *string `json:"location,omitempty"` + InstanceType InstanceTypeFabricSpecificCreationInput `json:"instanceType,omitempty"` + Location *string `json:"location,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureFabricCreationInput. +func (afci AzureFabricCreationInput) MarshalJSON() ([]byte, error) { + afci.InstanceType = InstanceTypeFabricSpecificCreationInputInstanceTypeA2A + type Alias AzureFabricCreationInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(afci), + }) +} + +// AsAzureFabricCreationInput is the FabricSpecificCreationInput implementation for AzureFabricCreationInput. +func (afci AzureFabricCreationInput) AsAzureFabricCreationInput() (*AzureFabricCreationInput, bool) { + return &afci, true +} + +// AsVMwareV2FabricCreationInput is the FabricSpecificCreationInput implementation for AzureFabricCreationInput. +func (afci AzureFabricCreationInput) AsVMwareV2FabricCreationInput() (*VMwareV2FabricCreationInput, bool) { + return nil, false } // AzureFabricSpecificDetails is azure Fabric Specific Details. type AzureFabricSpecificDetails struct { - Location *string `json:"location,omitempty"` - ContainerIds *[]string `json:"containerIds,omitempty"` + InstanceType InstanceTypeFabricSpecificDetails `json:"instanceType,omitempty"` + Location *string `json:"location,omitempty"` + ContainerIds *[]string `json:"containerIds,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureFabricSpecificDetails. +func (afsd AzureFabricSpecificDetails) MarshalJSON() ([]byte, error) { + afsd.InstanceType = InstanceTypeAzure + type Alias AzureFabricSpecificDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(afsd), + }) +} + +// AsAzureFabricSpecificDetails is the FabricSpecificDetails implementation for AzureFabricSpecificDetails. +func (afsd AzureFabricSpecificDetails) AsAzureFabricSpecificDetails() (*AzureFabricSpecificDetails, bool) { + return &afsd, true +} + +// AsVmmDetails is the FabricSpecificDetails implementation for AzureFabricSpecificDetails. +func (afsd AzureFabricSpecificDetails) AsVmmDetails() (*VmmDetails, bool) { + return nil, false +} + +// AsHyperVSiteDetails is the FabricSpecificDetails implementation for AzureFabricSpecificDetails. +func (afsd AzureFabricSpecificDetails) AsHyperVSiteDetails() (*HyperVSiteDetails, bool) { + return nil, false +} + +// AsVMwareDetails is the FabricSpecificDetails implementation for AzureFabricSpecificDetails. +func (afsd AzureFabricSpecificDetails) AsVMwareDetails() (*VMwareDetails, bool) { + return nil, false +} + +// AsVMwareV2FabricSpecificDetails is the FabricSpecificDetails implementation for AzureFabricSpecificDetails. +func (afsd AzureFabricSpecificDetails) AsVMwareV2FabricSpecificDetails() (*VMwareV2FabricSpecificDetails, bool) { + return nil, false } // AzureToAzureCreateNetworkMappingInput is create network mappings input properties/behaviour specific to Azure to // Azure Network mapping. type AzureToAzureCreateNetworkMappingInput struct { - PrimaryNetworkID *string `json:"primaryNetworkId,omitempty"` + InstanceType InstanceTypeFabricSpecificCreateNetworkMappingInput `json:"instanceType,omitempty"` + PrimaryNetworkID *string `json:"primaryNetworkId,omitempty"` } -// AzureToAzureNetworkMappingSettings is a2A Network Mapping fabric specific settings. +// MarshalJSON is the custom marshaler for AzureToAzureCreateNetworkMappingInput. +func (atacnmi AzureToAzureCreateNetworkMappingInput) MarshalJSON() ([]byte, error) { + atacnmi.InstanceType = InstanceTypeAzureToAzure + type Alias AzureToAzureCreateNetworkMappingInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(atacnmi), + }) +} + +// AsAzureToAzureCreateNetworkMappingInput is the FabricSpecificCreateNetworkMappingInput implementation for AzureToAzureCreateNetworkMappingInput. +func (atacnmi AzureToAzureCreateNetworkMappingInput) AsAzureToAzureCreateNetworkMappingInput() (*AzureToAzureCreateNetworkMappingInput, bool) { + return &atacnmi, true +} + +// AsVmmToAzureCreateNetworkMappingInput is the FabricSpecificCreateNetworkMappingInput implementation for AzureToAzureCreateNetworkMappingInput. +func (atacnmi AzureToAzureCreateNetworkMappingInput) AsVmmToAzureCreateNetworkMappingInput() (*VmmToAzureCreateNetworkMappingInput, bool) { + return nil, false +} + +// AsVmmToVmmCreateNetworkMappingInput is the FabricSpecificCreateNetworkMappingInput implementation for AzureToAzureCreateNetworkMappingInput. +func (atacnmi AzureToAzureCreateNetworkMappingInput) AsVmmToVmmCreateNetworkMappingInput() (*VmmToVmmCreateNetworkMappingInput, bool) { + return nil, false +} + +// AzureToAzureNetworkMappingSettings is a2A Network Mapping fabric specific settings. type AzureToAzureNetworkMappingSettings struct { - PrimaryFabricLocation *string `json:"primaryFabricLocation,omitempty"` - RecoveryFabricLocation *string `json:"recoveryFabricLocation,omitempty"` + InstanceType InstanceTypeNetworkMappingFabricSpecificSettings `json:"instanceType,omitempty"` + PrimaryFabricLocation *string `json:"primaryFabricLocation,omitempty"` + RecoveryFabricLocation *string `json:"recoveryFabricLocation,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureToAzureNetworkMappingSettings. +func (atanms AzureToAzureNetworkMappingSettings) MarshalJSON() ([]byte, error) { + atanms.InstanceType = InstanceTypeNetworkMappingFabricSpecificSettingsInstanceTypeAzureToAzure + type Alias AzureToAzureNetworkMappingSettings + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(atanms), + }) +} + +// AsAzureToAzureNetworkMappingSettings is the NetworkMappingFabricSpecificSettings implementation for AzureToAzureNetworkMappingSettings. +func (atanms AzureToAzureNetworkMappingSettings) AsAzureToAzureNetworkMappingSettings() (*AzureToAzureNetworkMappingSettings, bool) { + return &atanms, true +} + +// AsVmmToAzureNetworkMappingSettings is the NetworkMappingFabricSpecificSettings implementation for AzureToAzureNetworkMappingSettings. +func (atanms AzureToAzureNetworkMappingSettings) AsVmmToAzureNetworkMappingSettings() (*VmmToAzureNetworkMappingSettings, bool) { + return nil, false +} + +// AsVmmToVmmNetworkMappingSettings is the NetworkMappingFabricSpecificSettings implementation for AzureToAzureNetworkMappingSettings. +func (atanms AzureToAzureNetworkMappingSettings) AsVmmToVmmNetworkMappingSettings() (*VmmToVmmNetworkMappingSettings, bool) { + return nil, false } // AzureToAzureUpdateNetworkMappingInput is updates network mappings input. type AzureToAzureUpdateNetworkMappingInput struct { - PrimaryNetworkID *string `json:"primaryNetworkId,omitempty"` + InstanceType InstanceTypeFabricSpecificUpdateNetworkMappingInput `json:"instanceType,omitempty"` + PrimaryNetworkID *string `json:"primaryNetworkId,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureToAzureUpdateNetworkMappingInput. +func (ataunmi AzureToAzureUpdateNetworkMappingInput) MarshalJSON() ([]byte, error) { + ataunmi.InstanceType = InstanceTypeFabricSpecificUpdateNetworkMappingInputInstanceTypeAzureToAzure + type Alias AzureToAzureUpdateNetworkMappingInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ataunmi), + }) +} + +// AsAzureToAzureUpdateNetworkMappingInput is the FabricSpecificUpdateNetworkMappingInput implementation for AzureToAzureUpdateNetworkMappingInput. +func (ataunmi AzureToAzureUpdateNetworkMappingInput) AsAzureToAzureUpdateNetworkMappingInput() (*AzureToAzureUpdateNetworkMappingInput, bool) { + return &ataunmi, true +} + +// AsVmmToAzureUpdateNetworkMappingInput is the FabricSpecificUpdateNetworkMappingInput implementation for AzureToAzureUpdateNetworkMappingInput. +func (ataunmi AzureToAzureUpdateNetworkMappingInput) AsVmmToAzureUpdateNetworkMappingInput() (*VmmToAzureUpdateNetworkMappingInput, bool) { + return nil, false +} + +// AsVmmToVmmUpdateNetworkMappingInput is the FabricSpecificUpdateNetworkMappingInput implementation for AzureToAzureUpdateNetworkMappingInput. +func (ataunmi AzureToAzureUpdateNetworkMappingInput) AsVmmToVmmUpdateNetworkMappingInput() (*VmmToVmmUpdateNetworkMappingInput, bool) { + return nil, false } // AzureToAzureVMSyncedConfigDetails is azure to Azure VM synced configuration details. @@ -536,7 +1873,53 @@ type AzureVMDiskDetails struct { } // ConfigurationSettings is replication provider specific settings. -type ConfigurationSettings struct { +type ConfigurationSettings interface { + AsHyperVVirtualMachineDetails() (*HyperVVirtualMachineDetails, bool) + AsVMwareVirtualMachineDetails() (*VMwareVirtualMachineDetails, bool) + AsReplicationGroupDetails() (*ReplicationGroupDetails, bool) +} + +func unmarshalConfigurationSettings(body []byte) (ConfigurationSettings, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeHyperVVirtualMachine): + var hvvmd HyperVVirtualMachineDetails + err := json.Unmarshal(body, &hvvmd) + return hvvmd, err + case string(InstanceTypeVMwareVirtualMachine): + var vmvmd VMwareVirtualMachineDetails + err := json.Unmarshal(body, &vmvmd) + return vmvmd, err + case string(InstanceTypeReplicationGroupDetails): + var rgd ReplicationGroupDetails + err := json.Unmarshal(body, &rgd) + return rgd, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalConfigurationSettingsArray(body []byte) ([]ConfigurationSettings, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + csArray := make([]ConfigurationSettings, len(rawMessages)) + + for index, rawMessage := range rawMessages { + cs, err := unmarshalConfigurationSettings(*rawMessage) + if err != nil { + return nil, err + } + csArray[index] = cs + } + return csArray, nil } // ConfigureAlertRequest is request to configure alerts for the system. @@ -554,7 +1937,59 @@ type ConfigureAlertRequestProperties struct { // ConsistencyCheckTaskDetails is this class contains monitoring details of all the inconsistent Protected Entites in // Vmm. type ConsistencyCheckTaskDetails struct { - VMDetails *[]InconsistentVMDetails `json:"vmDetails,omitempty"` + InstanceType InstanceTypeTaskTypeDetails `json:"instanceType,omitempty"` + VMDetails *[]InconsistentVMDetails `json:"vmDetails,omitempty"` +} + +// MarshalJSON is the custom marshaler for ConsistencyCheckTaskDetails. +func (cctd ConsistencyCheckTaskDetails) MarshalJSON() ([]byte, error) { + cctd.InstanceType = InstanceTypeConsistencyCheckTaskDetails + type Alias ConsistencyCheckTaskDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(cctd), + }) +} + +// AsJobTaskDetails is the TaskTypeDetails implementation for ConsistencyCheckTaskDetails. +func (cctd ConsistencyCheckTaskDetails) AsJobTaskDetails() (*JobTaskDetails, bool) { + return nil, false +} + +// AsVirtualMachineTaskDetails is the TaskTypeDetails implementation for ConsistencyCheckTaskDetails. +func (cctd ConsistencyCheckTaskDetails) AsVirtualMachineTaskDetails() (*VirtualMachineTaskDetails, bool) { + return nil, false +} + +// AsFabricReplicationGroupTaskDetails is the TaskTypeDetails implementation for ConsistencyCheckTaskDetails. +func (cctd ConsistencyCheckTaskDetails) AsFabricReplicationGroupTaskDetails() (*FabricReplicationGroupTaskDetails, bool) { + return nil, false +} + +// AsManualActionTaskDetails is the TaskTypeDetails implementation for ConsistencyCheckTaskDetails. +func (cctd ConsistencyCheckTaskDetails) AsManualActionTaskDetails() (*ManualActionTaskDetails, bool) { + return nil, false +} + +// AsScriptActionTaskDetails is the TaskTypeDetails implementation for ConsistencyCheckTaskDetails. +func (cctd ConsistencyCheckTaskDetails) AsScriptActionTaskDetails() (*ScriptActionTaskDetails, bool) { + return nil, false +} + +// AsVMNicUpdatesTaskDetails is the TaskTypeDetails implementation for ConsistencyCheckTaskDetails. +func (cctd ConsistencyCheckTaskDetails) AsVMNicUpdatesTaskDetails() (*VMNicUpdatesTaskDetails, bool) { + return nil, false +} + +// AsConsistencyCheckTaskDetails is the TaskTypeDetails implementation for ConsistencyCheckTaskDetails. +func (cctd ConsistencyCheckTaskDetails) AsConsistencyCheckTaskDetails() (*ConsistencyCheckTaskDetails, bool) { + return &cctd, true +} + +// AsAutomationRunbookTaskDetails is the TaskTypeDetails implementation for ConsistencyCheckTaskDetails. +func (cctd ConsistencyCheckTaskDetails) AsAutomationRunbookTaskDetails() (*AutomationRunbookTaskDetails, bool) { + return nil, false } // CreateNetworkMappingInput is create network mappings input. @@ -564,9 +1999,50 @@ type CreateNetworkMappingInput struct { // CreateNetworkMappingInputProperties is common input details for network mapping operation. type CreateNetworkMappingInputProperties struct { - RecoveryFabricName *string `json:"recoveryFabricName,omitempty"` - RecoveryNetworkID *string `json:"recoveryNetworkId,omitempty"` - FabricSpecificDetails *FabricSpecificCreateNetworkMappingInput `json:"fabricSpecificDetails,omitempty"` + RecoveryFabricName *string `json:"recoveryFabricName,omitempty"` + RecoveryNetworkID *string `json:"recoveryNetworkId,omitempty"` + FabricSpecificDetails FabricSpecificCreateNetworkMappingInput `json:"fabricSpecificDetails,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for CreateNetworkMappingInputProperties struct. +func (cnmip *CreateNetworkMappingInputProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["recoveryFabricName"] + if v != nil { + var recoveryFabricName string + err = json.Unmarshal(*m["recoveryFabricName"], &recoveryFabricName) + if err != nil { + return err + } + cnmip.RecoveryFabricName = &recoveryFabricName + } + + v = m["recoveryNetworkId"] + if v != nil { + var recoveryNetworkID string + err = json.Unmarshal(*m["recoveryNetworkId"], &recoveryNetworkID) + if err != nil { + return err + } + cnmip.RecoveryNetworkID = &recoveryNetworkID + } + + v = m["fabricSpecificDetails"] + if v != nil { + fabricSpecificDetails, err := unmarshalFabricSpecificCreateNetworkMappingInput(*m["fabricSpecificDetails"]) + if err != nil { + return err + } + cnmip.FabricSpecificDetails = fabricSpecificDetails + } + + return nil } // CreatePolicyInput is protection profile input. @@ -576,7 +2052,28 @@ type CreatePolicyInput struct { // CreatePolicyInputProperties is policy creation properties. type CreatePolicyInputProperties struct { - ProviderSpecificInput *PolicyProviderSpecificInput `json:"providerSpecificInput,omitempty"` + ProviderSpecificInput PolicyProviderSpecificInput `json:"providerSpecificInput,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for CreatePolicyInputProperties struct. +func (cpip *CreatePolicyInputProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["providerSpecificInput"] + if v != nil { + providerSpecificInput, err := unmarshalPolicyProviderSpecificInput(*m["providerSpecificInput"]) + if err != nil { + return err + } + cpip.ProviderSpecificInput = providerSpecificInput + } + + return nil } // CreateProtectionContainerInput is create protection container input. @@ -589,6 +2086,27 @@ type CreateProtectionContainerInputProperties struct { ProviderSpecificInput *[]ReplicationProviderSpecificContainerCreationInput `json:"providerSpecificInput,omitempty"` } +// UnmarshalJSON is the custom unmarshaler for CreateProtectionContainerInputProperties struct. +func (cpcip *CreateProtectionContainerInputProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["providerSpecificInput"] + if v != nil { + providerSpecificInput, err := unmarshalReplicationProviderSpecificContainerCreationInputArray(*m["providerSpecificInput"]) + if err != nil { + return err + } + cpcip.ProviderSpecificInput = &providerSpecificInput + } + + return nil +} + // CreateProtectionContainerMappingInput is configure pairing input. type CreateProtectionContainerMappingInput struct { Properties *CreateProtectionContainerMappingInputProperties `json:"properties,omitempty"` @@ -637,12 +2155,79 @@ type DisableProtectionInput struct { // DisableProtectionInputProperties is disable protection input properties. type DisableProtectionInputProperties struct { - DisableProtectionReason DisableProtectionReason `json:"disableProtectionReason,omitempty"` - ReplicationProviderInput *DisableProtectionProviderSpecificInput `json:"replicationProviderInput,omitempty"` + DisableProtectionReason DisableProtectionReason `json:"disableProtectionReason,omitempty"` + ReplicationProviderInput DisableProtectionProviderSpecificInput `json:"replicationProviderInput,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for DisableProtectionInputProperties struct. +func (dpip *DisableProtectionInputProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["disableProtectionReason"] + if v != nil { + var disableProtectionReason DisableProtectionReason + err = json.Unmarshal(*m["disableProtectionReason"], &disableProtectionReason) + if err != nil { + return err + } + dpip.DisableProtectionReason = disableProtectionReason + } + + v = m["replicationProviderInput"] + if v != nil { + replicationProviderInput, err := unmarshalDisableProtectionProviderSpecificInput(*m["replicationProviderInput"]) + if err != nil { + return err + } + dpip.ReplicationProviderInput = replicationProviderInput + } + + return nil } // DisableProtectionProviderSpecificInput is disable protection provider specific input. -type DisableProtectionProviderSpecificInput struct { +type DisableProtectionProviderSpecificInput interface { + AsInMageDisableProtectionProviderSpecificInput() (*InMageDisableProtectionProviderSpecificInput, bool) +} + +func unmarshalDisableProtectionProviderSpecificInput(body []byte) (DisableProtectionProviderSpecificInput, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeInMage): + var imdppsi InMageDisableProtectionProviderSpecificInput + err := json.Unmarshal(body, &imdppsi) + return imdppsi, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalDisableProtectionProviderSpecificInputArray(body []byte) ([]DisableProtectionProviderSpecificInput, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + dppsiArray := make([]DisableProtectionProviderSpecificInput, len(rawMessages)) + + for index, rawMessage := range rawMessages { + dppsi, err := unmarshalDisableProtectionProviderSpecificInput(*rawMessage) + if err != nil { + return nil, err + } + dppsiArray[index] = dppsi + } + return dppsiArray, nil } // DiscoverProtectableItemRequest is request to add a physical machine as a protectable item in a container. @@ -688,13 +2273,110 @@ type EnableProtectionInput struct { // EnableProtectionInputProperties is enable protection input properties. type EnableProtectionInputProperties struct { - PolicyID *string `json:"policyId,omitempty"` - ProtectableItemID *string `json:"protectableItemId,omitempty"` - ProviderSpecificDetails *EnableProtectionProviderSpecificInput `json:"providerSpecificDetails,omitempty"` + PolicyID *string `json:"policyId,omitempty"` + ProtectableItemID *string `json:"protectableItemId,omitempty"` + ProviderSpecificDetails EnableProtectionProviderSpecificInput `json:"providerSpecificDetails,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for EnableProtectionInputProperties struct. +func (epip *EnableProtectionInputProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["policyId"] + if v != nil { + var policyID string + err = json.Unmarshal(*m["policyId"], &policyID) + if err != nil { + return err + } + epip.PolicyID = &policyID + } + + v = m["protectableItemId"] + if v != nil { + var protectableItemID string + err = json.Unmarshal(*m["protectableItemId"], &protectableItemID) + if err != nil { + return err + } + epip.ProtectableItemID = &protectableItemID + } + + v = m["providerSpecificDetails"] + if v != nil { + providerSpecificDetails, err := unmarshalEnableProtectionProviderSpecificInput(*m["providerSpecificDetails"]) + if err != nil { + return err + } + epip.ProviderSpecificDetails = providerSpecificDetails + } + + return nil } // EnableProtectionProviderSpecificInput is enable protection provider specific input. -type EnableProtectionProviderSpecificInput struct { +type EnableProtectionProviderSpecificInput interface { + AsHyperVReplicaAzureEnableProtectionInput() (*HyperVReplicaAzureEnableProtectionInput, bool) + AsSanEnableProtectionInput() (*SanEnableProtectionInput, bool) + AsInMageAzureV2EnableProtectionInput() (*InMageAzureV2EnableProtectionInput, bool) + AsInMageEnableProtectionInput() (*InMageEnableProtectionInput, bool) + AsA2AEnableProtectionInput() (*A2AEnableProtectionInput, bool) +} + +func unmarshalEnableProtectionProviderSpecificInput(body []byte) (EnableProtectionProviderSpecificInput, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeEnableProtectionProviderSpecificInputInstanceTypeHyperVReplicaAzure): + var hvraepi HyperVReplicaAzureEnableProtectionInput + err := json.Unmarshal(body, &hvraepi) + return hvraepi, err + case string(InstanceTypeEnableProtectionProviderSpecificInputInstanceTypeSan): + var sepi SanEnableProtectionInput + err := json.Unmarshal(body, &sepi) + return sepi, err + case string(InstanceTypeEnableProtectionProviderSpecificInputInstanceTypeInMageAzureV2): + var imavepi InMageAzureV2EnableProtectionInput + err := json.Unmarshal(body, &imavepi) + return imavepi, err + case string(InstanceTypeEnableProtectionProviderSpecificInputInstanceTypeInMage): + var imepi InMageEnableProtectionInput + err := json.Unmarshal(body, &imepi) + return imepi, err + case string(InstanceTypeEnableProtectionProviderSpecificInputInstanceTypeA2A): + var aepi A2AEnableProtectionInput + err := json.Unmarshal(body, &aepi) + return aepi, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalEnableProtectionProviderSpecificInputArray(body []byte) ([]EnableProtectionProviderSpecificInput, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + eppsiArray := make([]EnableProtectionProviderSpecificInput, len(rawMessages)) + + for index, rawMessage := range rawMessages { + eppsi, err := unmarshalEnableProtectionProviderSpecificInput(*rawMessage) + if err != nil { + return nil, err + } + eppsiArray[index] = eppsi + } + return eppsiArray, nil } // EncryptionDetails is encryption details for the fabric. @@ -735,31 +2417,286 @@ func (client EventCollection) EventCollectionPreparer() (*http.Request, error) { // EventProperties is the properties of a monitoring event. type EventProperties struct { - EventCode *string `json:"eventCode,omitempty"` - Description *string `json:"description,omitempty"` - EventType *string `json:"eventType,omitempty"` - AffectedObjectFriendlyName *string `json:"affectedObjectFriendlyName,omitempty"` - Severity *string `json:"severity,omitempty"` - TimeOfOccurrence *date.Time `json:"timeOfOccurrence,omitempty"` - FabricID *string `json:"fabricId,omitempty"` - ProviderSpecificDetails *EventProviderSpecificDetails `json:"providerSpecificDetails,omitempty"` - EventSpecificDetails *EventSpecificDetails `json:"eventSpecificDetails,omitempty"` - HealthErrors *[]HealthError `json:"healthErrors,omitempty"` + EventCode *string `json:"eventCode,omitempty"` + Description *string `json:"description,omitempty"` + EventType *string `json:"eventType,omitempty"` + AffectedObjectFriendlyName *string `json:"affectedObjectFriendlyName,omitempty"` + Severity *string `json:"severity,omitempty"` + TimeOfOccurrence *date.Time `json:"timeOfOccurrence,omitempty"` + FabricID *string `json:"fabricId,omitempty"` + ProviderSpecificDetails EventProviderSpecificDetails `json:"providerSpecificDetails,omitempty"` + EventSpecificDetails EventSpecificDetails `json:"eventSpecificDetails,omitempty"` + HealthErrors *[]HealthError `json:"healthErrors,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for EventProperties struct. +func (ep *EventProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["eventCode"] + if v != nil { + var eventCode string + err = json.Unmarshal(*m["eventCode"], &eventCode) + if err != nil { + return err + } + ep.EventCode = &eventCode + } + + v = m["description"] + if v != nil { + var description string + err = json.Unmarshal(*m["description"], &description) + if err != nil { + return err + } + ep.Description = &description + } + + v = m["eventType"] + if v != nil { + var eventType string + err = json.Unmarshal(*m["eventType"], &eventType) + if err != nil { + return err + } + ep.EventType = &eventType + } + + v = m["affectedObjectFriendlyName"] + if v != nil { + var affectedObjectFriendlyName string + err = json.Unmarshal(*m["affectedObjectFriendlyName"], &affectedObjectFriendlyName) + if err != nil { + return err + } + ep.AffectedObjectFriendlyName = &affectedObjectFriendlyName + } + + v = m["severity"] + if v != nil { + var severity string + err = json.Unmarshal(*m["severity"], &severity) + if err != nil { + return err + } + ep.Severity = &severity + } + + v = m["timeOfOccurrence"] + if v != nil { + var timeOfOccurrence date.Time + err = json.Unmarshal(*m["timeOfOccurrence"], &timeOfOccurrence) + if err != nil { + return err + } + ep.TimeOfOccurrence = &timeOfOccurrence + } + + v = m["fabricId"] + if v != nil { + var fabricID string + err = json.Unmarshal(*m["fabricId"], &fabricID) + if err != nil { + return err + } + ep.FabricID = &fabricID + } + + v = m["providerSpecificDetails"] + if v != nil { + providerSpecificDetails, err := unmarshalEventProviderSpecificDetails(*m["providerSpecificDetails"]) + if err != nil { + return err + } + ep.ProviderSpecificDetails = providerSpecificDetails + } + + v = m["eventSpecificDetails"] + if v != nil { + eventSpecificDetails, err := unmarshalEventSpecificDetails(*m["eventSpecificDetails"]) + if err != nil { + return err + } + ep.EventSpecificDetails = eventSpecificDetails + } + + v = m["healthErrors"] + if v != nil { + var healthErrors []HealthError + err = json.Unmarshal(*m["healthErrors"], &healthErrors) + if err != nil { + return err + } + ep.HealthErrors = &healthErrors + } + + return nil } // EventProviderSpecificDetails is model class for provider specific details for an event. -type EventProviderSpecificDetails struct { +type EventProviderSpecificDetails interface { + AsHyperVReplicaBaseEventDetails() (*HyperVReplicaBaseEventDetails, bool) + AsHyperVReplica2012EventDetails() (*HyperVReplica2012EventDetails, bool) + AsHyperVReplica2012R2EventDetails() (*HyperVReplica2012R2EventDetails, bool) + AsHyperVReplicaAzureEventDetails() (*HyperVReplicaAzureEventDetails, bool) + AsA2AEventDetails() (*A2AEventDetails, bool) + AsInMageAzureV2EventDetails() (*InMageAzureV2EventDetails, bool) +} + +func unmarshalEventProviderSpecificDetails(body []byte) (EventProviderSpecificDetails, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeHyperVReplicaBaseEventDetails): + var hvrbed HyperVReplicaBaseEventDetails + err := json.Unmarshal(body, &hvrbed) + return hvrbed, err + case string(InstanceTypeHyperVReplica2012): + var hvr2ed HyperVReplica2012EventDetails + err := json.Unmarshal(body, &hvr2ed) + return hvr2ed, err + case string(InstanceTypeHyperVReplica2012R2): + var hvr2ed HyperVReplica2012R2EventDetails + err := json.Unmarshal(body, &hvr2ed) + return hvr2ed, err + case string(InstanceTypeHyperVReplicaAzure): + var hvraed HyperVReplicaAzureEventDetails + err := json.Unmarshal(body, &hvraed) + return hvraed, err + case string(InstanceTypeA2A): + var aed A2AEventDetails + err := json.Unmarshal(body, &aed) + return aed, err + case string(InstanceTypeInMageAzureV2): + var imaved InMageAzureV2EventDetails + err := json.Unmarshal(body, &imaved) + return imaved, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalEventProviderSpecificDetailsArray(body []byte) ([]EventProviderSpecificDetails, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + epsdArray := make([]EventProviderSpecificDetails, len(rawMessages)) + + for index, rawMessage := range rawMessages { + epsd, err := unmarshalEventProviderSpecificDetails(*rawMessage) + if err != nil { + return nil, err + } + epsdArray[index] = epsd + } + return epsdArray, nil +} + +// EventQueryParameter is implements the event query parameter. +type EventQueryParameter struct { + EventCode *string `json:"EventCode,omitempty"` + Severity *string `json:"Severity,omitempty"` + EventType *string `json:"EventType,omitempty"` + FabricName *string `json:"FabricName,omitempty"` + AffectedObjectFriendlyName *string `json:"AffectedObjectFriendlyName,omitempty"` + StartTime *date.Time `json:"StartTime,omitempty"` + EndTime *date.Time `json:"EndTime,omitempty"` } // EventSpecificDetails is model class for event specific details for an event. -type EventSpecificDetails struct { +type EventSpecificDetails interface { + AsJobStatusEventDetails() (*JobStatusEventDetails, bool) +} + +func unmarshalEventSpecificDetails(body []byte) (EventSpecificDetails, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeJobStatus): + var jsed JobStatusEventDetails + err := json.Unmarshal(body, &jsed) + return jsed, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalEventSpecificDetailsArray(body []byte) ([]EventSpecificDetails, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + esdArray := make([]EventSpecificDetails, len(rawMessages)) + + for index, rawMessage := range rawMessages { + esd, err := unmarshalEventSpecificDetails(*rawMessage) + if err != nil { + return nil, err + } + esdArray[index] = esd + } + return esdArray, nil } // ExportJobDetails is this class represents details for export jobs workflow. type ExportJobDetails struct { - AffectedObjectDetails *map[string]*string `json:"affectedObjectDetails,omitempty"` - BlobURI *string `json:"blobUri,omitempty"` - SasToken *string `json:"sasToken,omitempty"` + AffectedObjectDetails *map[string]*string `json:"affectedObjectDetails,omitempty"` + InstanceType InstanceTypeJobDetails `json:"instanceType,omitempty"` + BlobURI *string `json:"blobUri,omitempty"` + SasToken *string `json:"sasToken,omitempty"` +} + +// MarshalJSON is the custom marshaler for ExportJobDetails. +func (ejd ExportJobDetails) MarshalJSON() ([]byte, error) { + ejd.InstanceType = InstanceTypeExportJobDetails + type Alias ExportJobDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ejd), + }) +} + +// AsAsrJobDetails is the JobDetails implementation for ExportJobDetails. +func (ejd ExportJobDetails) AsAsrJobDetails() (*AsrJobDetails, bool) { + return nil, false +} + +// AsTestFailoverJobDetails is the JobDetails implementation for ExportJobDetails. +func (ejd ExportJobDetails) AsTestFailoverJobDetails() (*TestFailoverJobDetails, bool) { + return nil, false +} + +// AsFailoverJobDetails is the JobDetails implementation for ExportJobDetails. +func (ejd ExportJobDetails) AsFailoverJobDetails() (*FailoverJobDetails, bool) { + return nil, false +} + +// AsExportJobDetails is the JobDetails implementation for ExportJobDetails. +func (ejd ExportJobDetails) AsExportJobDetails() (*ExportJobDetails, bool) { + return &ejd, true +} + +// AsSwitchProtectionJobDetails is the JobDetails implementation for ExportJobDetails. +func (ejd ExportJobDetails) AsSwitchProtectionJobDetails() (*SwitchProtectionJobDetails, bool) { + return nil, false } // Fabric is fabric definition. @@ -798,42 +2735,438 @@ type FabricCreationInput struct { // FabricCreationInputProperties is properties of site details provided during the time of site creation type FabricCreationInputProperties struct { - CustomDetails *FabricSpecificCreationInput `json:"customDetails,omitempty"` + CustomDetails FabricSpecificCreationInput `json:"customDetails,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for FabricCreationInputProperties struct. +func (fcip *FabricCreationInputProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["customDetails"] + if v != nil { + customDetails, err := unmarshalFabricSpecificCreationInput(*m["customDetails"]) + if err != nil { + return err + } + fcip.CustomDetails = customDetails + } + + return nil } // FabricProperties is fabric properties. type FabricProperties struct { - FriendlyName *string `json:"friendlyName,omitempty"` - EncryptionDetails *EncryptionDetails `json:"encryptionDetails,omitempty"` - RolloverEncryptionDetails *EncryptionDetails `json:"rolloverEncryptionDetails,omitempty"` - InternalIdentifier *string `json:"internalIdentifier,omitempty"` - BcdrState *string `json:"bcdrState,omitempty"` - CustomDetails *FabricSpecificDetails `json:"customDetails,omitempty"` - HealthErrorDetails *[]HealthError `json:"healthErrorDetails,omitempty"` - Health *string `json:"health,omitempty"` + FriendlyName *string `json:"friendlyName,omitempty"` + EncryptionDetails *EncryptionDetails `json:"encryptionDetails,omitempty"` + RolloverEncryptionDetails *EncryptionDetails `json:"rolloverEncryptionDetails,omitempty"` + InternalIdentifier *string `json:"internalIdentifier,omitempty"` + BcdrState *string `json:"bcdrState,omitempty"` + CustomDetails FabricSpecificDetails `json:"customDetails,omitempty"` + HealthErrorDetails *[]HealthError `json:"healthErrorDetails,omitempty"` + Health *string `json:"health,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for FabricProperties struct. +func (fp *FabricProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["friendlyName"] + if v != nil { + var friendlyName string + err = json.Unmarshal(*m["friendlyName"], &friendlyName) + if err != nil { + return err + } + fp.FriendlyName = &friendlyName + } + + v = m["encryptionDetails"] + if v != nil { + var encryptionDetails EncryptionDetails + err = json.Unmarshal(*m["encryptionDetails"], &encryptionDetails) + if err != nil { + return err + } + fp.EncryptionDetails = &encryptionDetails + } + + v = m["rolloverEncryptionDetails"] + if v != nil { + var rolloverEncryptionDetails EncryptionDetails + err = json.Unmarshal(*m["rolloverEncryptionDetails"], &rolloverEncryptionDetails) + if err != nil { + return err + } + fp.RolloverEncryptionDetails = &rolloverEncryptionDetails + } + + v = m["internalIdentifier"] + if v != nil { + var internalIdentifier string + err = json.Unmarshal(*m["internalIdentifier"], &internalIdentifier) + if err != nil { + return err + } + fp.InternalIdentifier = &internalIdentifier + } + + v = m["bcdrState"] + if v != nil { + var bcdrState string + err = json.Unmarshal(*m["bcdrState"], &bcdrState) + if err != nil { + return err + } + fp.BcdrState = &bcdrState + } + + v = m["customDetails"] + if v != nil { + customDetails, err := unmarshalFabricSpecificDetails(*m["customDetails"]) + if err != nil { + return err + } + fp.CustomDetails = customDetails + } + + v = m["healthErrorDetails"] + if v != nil { + var healthErrorDetails []HealthError + err = json.Unmarshal(*m["healthErrorDetails"], &healthErrorDetails) + if err != nil { + return err + } + fp.HealthErrorDetails = &healthErrorDetails + } + + v = m["health"] + if v != nil { + var health string + err = json.Unmarshal(*m["health"], &health) + if err != nil { + return err + } + fp.Health = &health + } + + return nil } // FabricReplicationGroupTaskDetails is this class represents the fabric replication group task details. type FabricReplicationGroupTaskDetails struct { - SkippedReason *string `json:"skippedReason,omitempty"` - SkippedReasonString *string `json:"skippedReasonString,omitempty"` - JobTask *JobEntity `json:"jobTask,omitempty"` + InstanceType InstanceTypeTaskTypeDetails `json:"instanceType,omitempty"` + SkippedReason *string `json:"skippedReason,omitempty"` + SkippedReasonString *string `json:"skippedReasonString,omitempty"` + JobTask *JobEntity `json:"jobTask,omitempty"` +} + +// MarshalJSON is the custom marshaler for FabricReplicationGroupTaskDetails. +func (frgtd FabricReplicationGroupTaskDetails) MarshalJSON() ([]byte, error) { + frgtd.InstanceType = InstanceTypeFabricReplicationGroupTaskDetails + type Alias FabricReplicationGroupTaskDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(frgtd), + }) +} + +// AsJobTaskDetails is the TaskTypeDetails implementation for FabricReplicationGroupTaskDetails. +func (frgtd FabricReplicationGroupTaskDetails) AsJobTaskDetails() (*JobTaskDetails, bool) { + return nil, false +} + +// AsVirtualMachineTaskDetails is the TaskTypeDetails implementation for FabricReplicationGroupTaskDetails. +func (frgtd FabricReplicationGroupTaskDetails) AsVirtualMachineTaskDetails() (*VirtualMachineTaskDetails, bool) { + return nil, false +} + +// AsFabricReplicationGroupTaskDetails is the TaskTypeDetails implementation for FabricReplicationGroupTaskDetails. +func (frgtd FabricReplicationGroupTaskDetails) AsFabricReplicationGroupTaskDetails() (*FabricReplicationGroupTaskDetails, bool) { + return &frgtd, true +} + +// AsManualActionTaskDetails is the TaskTypeDetails implementation for FabricReplicationGroupTaskDetails. +func (frgtd FabricReplicationGroupTaskDetails) AsManualActionTaskDetails() (*ManualActionTaskDetails, bool) { + return nil, false +} + +// AsScriptActionTaskDetails is the TaskTypeDetails implementation for FabricReplicationGroupTaskDetails. +func (frgtd FabricReplicationGroupTaskDetails) AsScriptActionTaskDetails() (*ScriptActionTaskDetails, bool) { + return nil, false +} + +// AsVMNicUpdatesTaskDetails is the TaskTypeDetails implementation for FabricReplicationGroupTaskDetails. +func (frgtd FabricReplicationGroupTaskDetails) AsVMNicUpdatesTaskDetails() (*VMNicUpdatesTaskDetails, bool) { + return nil, false +} + +// AsConsistencyCheckTaskDetails is the TaskTypeDetails implementation for FabricReplicationGroupTaskDetails. +func (frgtd FabricReplicationGroupTaskDetails) AsConsistencyCheckTaskDetails() (*ConsistencyCheckTaskDetails, bool) { + return nil, false +} + +// AsAutomationRunbookTaskDetails is the TaskTypeDetails implementation for FabricReplicationGroupTaskDetails. +func (frgtd FabricReplicationGroupTaskDetails) AsAutomationRunbookTaskDetails() (*AutomationRunbookTaskDetails, bool) { + return nil, false } // FabricSpecificCreateNetworkMappingInput is input details specific to fabrics during Network Mapping. -type FabricSpecificCreateNetworkMappingInput struct { +type FabricSpecificCreateNetworkMappingInput interface { + AsAzureToAzureCreateNetworkMappingInput() (*AzureToAzureCreateNetworkMappingInput, bool) + AsVmmToAzureCreateNetworkMappingInput() (*VmmToAzureCreateNetworkMappingInput, bool) + AsVmmToVmmCreateNetworkMappingInput() (*VmmToVmmCreateNetworkMappingInput, bool) +} + +func unmarshalFabricSpecificCreateNetworkMappingInput(body []byte) (FabricSpecificCreateNetworkMappingInput, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeAzureToAzure): + var atacnmi AzureToAzureCreateNetworkMappingInput + err := json.Unmarshal(body, &atacnmi) + return atacnmi, err + case string(InstanceTypeVmmToAzure): + var vtacnmi VmmToAzureCreateNetworkMappingInput + err := json.Unmarshal(body, &vtacnmi) + return vtacnmi, err + case string(InstanceTypeVmmToVmm): + var vtvcnmi VmmToVmmCreateNetworkMappingInput + err := json.Unmarshal(body, &vtvcnmi) + return vtvcnmi, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalFabricSpecificCreateNetworkMappingInputArray(body []byte) ([]FabricSpecificCreateNetworkMappingInput, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + fscnmiArray := make([]FabricSpecificCreateNetworkMappingInput, len(rawMessages)) + + for index, rawMessage := range rawMessages { + fscnmi, err := unmarshalFabricSpecificCreateNetworkMappingInput(*rawMessage) + if err != nil { + return nil, err + } + fscnmiArray[index] = fscnmi + } + return fscnmiArray, nil } // FabricSpecificCreationInput is fabric provider specific settings. -type FabricSpecificCreationInput struct { +type FabricSpecificCreationInput interface { + AsAzureFabricCreationInput() (*AzureFabricCreationInput, bool) + AsVMwareV2FabricCreationInput() (*VMwareV2FabricCreationInput, bool) +} + +func unmarshalFabricSpecificCreationInput(body []byte) (FabricSpecificCreationInput, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeFabricSpecificCreationInputInstanceTypeA2A): + var afci AzureFabricCreationInput + err := json.Unmarshal(body, &afci) + return afci, err + case string(InstanceTypeFabricSpecificCreationInputInstanceTypeVMwareV2): + var vmvfci VMwareV2FabricCreationInput + err := json.Unmarshal(body, &vmvfci) + return vmvfci, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalFabricSpecificCreationInputArray(body []byte) ([]FabricSpecificCreationInput, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + fsciArray := make([]FabricSpecificCreationInput, len(rawMessages)) + + for index, rawMessage := range rawMessages { + fsci, err := unmarshalFabricSpecificCreationInput(*rawMessage) + if err != nil { + return nil, err + } + fsciArray[index] = fsci + } + return fsciArray, nil } // FabricSpecificDetails is fabric specific details. -type FabricSpecificDetails struct { +type FabricSpecificDetails interface { + AsAzureFabricSpecificDetails() (*AzureFabricSpecificDetails, bool) + AsVmmDetails() (*VmmDetails, bool) + AsHyperVSiteDetails() (*HyperVSiteDetails, bool) + AsVMwareDetails() (*VMwareDetails, bool) + AsVMwareV2FabricSpecificDetails() (*VMwareV2FabricSpecificDetails, bool) +} + +func unmarshalFabricSpecificDetails(body []byte) (FabricSpecificDetails, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeAzure): + var afsd AzureFabricSpecificDetails + err := json.Unmarshal(body, &afsd) + return afsd, err + case string(InstanceTypeVMM): + var vd VmmDetails + err := json.Unmarshal(body, &vd) + return vd, err + case string(InstanceTypeHyperVSite): + var hvsd HyperVSiteDetails + err := json.Unmarshal(body, &hvsd) + return hvsd, err + case string(InstanceTypeVMware): + var vmd VMwareDetails + err := json.Unmarshal(body, &vmd) + return vmd, err + case string(InstanceTypeVMwareV2): + var vmvfsd VMwareV2FabricSpecificDetails + err := json.Unmarshal(body, &vmvfsd) + return vmvfsd, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalFabricSpecificDetailsArray(body []byte) ([]FabricSpecificDetails, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + fsdArray := make([]FabricSpecificDetails, len(rawMessages)) + + for index, rawMessage := range rawMessages { + fsd, err := unmarshalFabricSpecificDetails(*rawMessage) + if err != nil { + return nil, err + } + fsdArray[index] = fsd + } + return fsdArray, nil } // FabricSpecificUpdateNetworkMappingInput is input details specific to fabrics during Network Mapping. -type FabricSpecificUpdateNetworkMappingInput struct { +type FabricSpecificUpdateNetworkMappingInput interface { + AsAzureToAzureUpdateNetworkMappingInput() (*AzureToAzureUpdateNetworkMappingInput, bool) + AsVmmToAzureUpdateNetworkMappingInput() (*VmmToAzureUpdateNetworkMappingInput, bool) + AsVmmToVmmUpdateNetworkMappingInput() (*VmmToVmmUpdateNetworkMappingInput, bool) +} + +func unmarshalFabricSpecificUpdateNetworkMappingInput(body []byte) (FabricSpecificUpdateNetworkMappingInput, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeFabricSpecificUpdateNetworkMappingInputInstanceTypeAzureToAzure): + var ataunmi AzureToAzureUpdateNetworkMappingInput + err := json.Unmarshal(body, &ataunmi) + return ataunmi, err + case string(InstanceTypeFabricSpecificUpdateNetworkMappingInputInstanceTypeVmmToAzure): + var vtaunmi VmmToAzureUpdateNetworkMappingInput + err := json.Unmarshal(body, &vtaunmi) + return vtaunmi, err + case string(InstanceTypeFabricSpecificUpdateNetworkMappingInputInstanceTypeVmmToVmm): + var vtvunmi VmmToVmmUpdateNetworkMappingInput + err := json.Unmarshal(body, &vtvunmi) + return vtvunmi, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalFabricSpecificUpdateNetworkMappingInputArray(body []byte) ([]FabricSpecificUpdateNetworkMappingInput, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + fsunmiArray := make([]FabricSpecificUpdateNetworkMappingInput, len(rawMessages)) + + for index, rawMessage := range rawMessages { + fsunmi, err := unmarshalFabricSpecificUpdateNetworkMappingInput(*rawMessage) + if err != nil { + return nil, err + } + fsunmiArray[index] = fsunmi + } + return fsunmiArray, nil +} + +// FailoverJobDetails is this class represents the details for a failover job. +type FailoverJobDetails struct { + AffectedObjectDetails *map[string]*string `json:"affectedObjectDetails,omitempty"` + InstanceType InstanceTypeJobDetails `json:"instanceType,omitempty"` + ProtectedItemDetails *[]FailoverReplicationProtectedItemDetails `json:"protectedItemDetails,omitempty"` +} + +// MarshalJSON is the custom marshaler for FailoverJobDetails. +func (fjd FailoverJobDetails) MarshalJSON() ([]byte, error) { + fjd.InstanceType = InstanceTypeFailoverJobDetails + type Alias FailoverJobDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(fjd), + }) +} + +// AsAsrJobDetails is the JobDetails implementation for FailoverJobDetails. +func (fjd FailoverJobDetails) AsAsrJobDetails() (*AsrJobDetails, bool) { + return nil, false +} + +// AsTestFailoverJobDetails is the JobDetails implementation for FailoverJobDetails. +func (fjd FailoverJobDetails) AsTestFailoverJobDetails() (*TestFailoverJobDetails, bool) { + return nil, false +} + +// AsFailoverJobDetails is the JobDetails implementation for FailoverJobDetails. +func (fjd FailoverJobDetails) AsFailoverJobDetails() (*FailoverJobDetails, bool) { + return &fjd, true +} + +// AsExportJobDetails is the JobDetails implementation for FailoverJobDetails. +func (fjd FailoverJobDetails) AsExportJobDetails() (*ExportJobDetails, bool) { + return nil, false +} + +// AsSwitchProtectionJobDetails is the JobDetails implementation for FailoverJobDetails. +func (fjd FailoverJobDetails) AsSwitchProtectionJobDetails() (*SwitchProtectionJobDetails, bool) { + return nil, false } // FailoverProcessServerRequest is request to failover a process server. @@ -850,273 +3183,1362 @@ type FailoverProcessServerRequestProperties struct { UpdateType *string `json:"updateType,omitempty"` } -// GroupTaskDetails is this class represents the group task details when parent child relationship exists in the drill -// down. -type GroupTaskDetails struct { - ChildTasks *[]ASRTask `json:"childTasks,omitempty"` +// FailoverReplicationProtectedItemDetails is failover details for a replication protected item. +type FailoverReplicationProtectedItemDetails struct { + Name *string `json:"name,omitempty"` + FriendlyName *string `json:"friendlyName,omitempty"` + TestVMName *string `json:"testVmName,omitempty"` + TestVMFriendlyName *string `json:"testVmFriendlyName,omitempty"` + NetworkConnectionStatus *string `json:"networkConnectionStatus,omitempty"` + NetworkFriendlyName *string `json:"networkFriendlyName,omitempty"` + Subnet *string `json:"subnet,omitempty"` + RecoveryPointID *string `json:"recoveryPointId,omitempty"` + RecoveryPointTime *date.Time `json:"recoveryPointTime,omitempty"` } -// HealthError is the health error class. +// GroupTaskDetails is this class represents the group task details when parent child relationship exists in the drill +// down. +type GroupTaskDetails interface { + AsInlineWorkflowTaskDetails() (*InlineWorkflowTaskDetails, bool) + AsRecoveryPlanGroupTaskDetails() (*RecoveryPlanGroupTaskDetails, bool) + AsRecoveryPlanShutdownGroupTaskDetails() (*RecoveryPlanShutdownGroupTaskDetails, bool) +} + +func unmarshalGroupTaskDetails(body []byte) (GroupTaskDetails, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeInlineWorkflowTaskDetails): + var iwtd InlineWorkflowTaskDetails + err := json.Unmarshal(body, &iwtd) + return iwtd, err + case string(InstanceTypeRecoveryPlanGroupTaskDetails): + var rpgtd RecoveryPlanGroupTaskDetails + err := json.Unmarshal(body, &rpgtd) + return rpgtd, err + case string(InstanceTypeRecoveryPlanShutdownGroupTaskDetails): + var rpsgtd RecoveryPlanShutdownGroupTaskDetails + err := json.Unmarshal(body, &rpsgtd) + return rpsgtd, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalGroupTaskDetailsArray(body []byte) ([]GroupTaskDetails, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + gtdArray := make([]GroupTaskDetails, len(rawMessages)) + + for index, rawMessage := range rawMessages { + gtd, err := unmarshalGroupTaskDetails(*rawMessage) + if err != nil { + return nil, err + } + gtdArray[index] = gtd + } + return gtdArray, nil +} + +// HealthError is health Error type HealthError struct { - ErrorLevel *string `json:"errorLevel,omitempty"` - ErrorCode *string `json:"errorCode,omitempty"` - ErrorMessage *string `json:"errorMessage,omitempty"` - PossibleCauses *string `json:"possibleCauses,omitempty"` - RecommendedAction *string `json:"recommendedAction,omitempty"` - CreationTimeUtc *date.Time `json:"creationTimeUtc,omitempty"` - RecoveryProviderErrorMessage *string `json:"recoveryProviderErrorMessage,omitempty"` - EntityID *string `json:"entityId,omitempty"` + ErrorSource *string `json:"errorSource,omitempty"` + ErrorType *string `json:"errorType,omitempty"` + ErrorLevel *string `json:"errorLevel,omitempty"` + ErrorCode *string `json:"errorCode,omitempty"` + ErrorMessage *string `json:"errorMessage,omitempty"` + PossibleCauses *string `json:"possibleCauses,omitempty"` + RecommendedAction *string `json:"recommendedAction,omitempty"` + CreationTimeUtc *date.Time `json:"creationTimeUtc,omitempty"` + RecoveryProviderErrorMessage *string `json:"recoveryProviderErrorMessage,omitempty"` + EntityID *string `json:"entityId,omitempty"` + ChildErrors *[]HealthError `json:"childErrors,omitempty"` +} + +// HealthErrorSummary is class to define the summary of the health error details. +type HealthErrorSummary struct { + SummaryCode *string `json:"summaryCode,omitempty"` + Category HealthErrorCategory `json:"category,omitempty"` + Severity Severity `json:"severity,omitempty"` + SummaryMessage *string `json:"summaryMessage,omitempty"` + AffectedResourceType *string `json:"affectedResourceType,omitempty"` + AffectedResourceSubtype *string `json:"affectedResourceSubtype,omitempty"` + AffectedResourceCorrelationIds *[]string `json:"affectedResourceCorrelationIds,omitempty"` } // HyperVReplica2012EventDetails is model class for event details of a HyperVReplica E2E event. type HyperVReplica2012EventDetails struct { - ContainerName *string `json:"containerName,omitempty"` - FabricName *string `json:"fabricName,omitempty"` - RemoteContainerName *string `json:"remoteContainerName,omitempty"` - RemoteFabricName *string `json:"remoteFabricName,omitempty"` + InstanceType InstanceType `json:"instanceType,omitempty"` + ContainerName *string `json:"containerName,omitempty"` + FabricName *string `json:"fabricName,omitempty"` + RemoteContainerName *string `json:"remoteContainerName,omitempty"` + RemoteFabricName *string `json:"remoteFabricName,omitempty"` +} + +// MarshalJSON is the custom marshaler for HyperVReplica2012EventDetails. +func (hvr2ed HyperVReplica2012EventDetails) MarshalJSON() ([]byte, error) { + hvr2ed.InstanceType = InstanceTypeHyperVReplica2012 + type Alias HyperVReplica2012EventDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(hvr2ed), + }) +} + +// AsHyperVReplicaBaseEventDetails is the EventProviderSpecificDetails implementation for HyperVReplica2012EventDetails. +func (hvr2ed HyperVReplica2012EventDetails) AsHyperVReplicaBaseEventDetails() (*HyperVReplicaBaseEventDetails, bool) { + return nil, false +} + +// AsHyperVReplica2012EventDetails is the EventProviderSpecificDetails implementation for HyperVReplica2012EventDetails. +func (hvr2ed HyperVReplica2012EventDetails) AsHyperVReplica2012EventDetails() (*HyperVReplica2012EventDetails, bool) { + return &hvr2ed, true +} + +// AsHyperVReplica2012R2EventDetails is the EventProviderSpecificDetails implementation for HyperVReplica2012EventDetails. +func (hvr2ed HyperVReplica2012EventDetails) AsHyperVReplica2012R2EventDetails() (*HyperVReplica2012R2EventDetails, bool) { + return nil, false +} + +// AsHyperVReplicaAzureEventDetails is the EventProviderSpecificDetails implementation for HyperVReplica2012EventDetails. +func (hvr2ed HyperVReplica2012EventDetails) AsHyperVReplicaAzureEventDetails() (*HyperVReplicaAzureEventDetails, bool) { + return nil, false +} + +// AsA2AEventDetails is the EventProviderSpecificDetails implementation for HyperVReplica2012EventDetails. +func (hvr2ed HyperVReplica2012EventDetails) AsA2AEventDetails() (*A2AEventDetails, bool) { + return nil, false +} + +// AsInMageAzureV2EventDetails is the EventProviderSpecificDetails implementation for HyperVReplica2012EventDetails. +func (hvr2ed HyperVReplica2012EventDetails) AsInMageAzureV2EventDetails() (*InMageAzureV2EventDetails, bool) { + return nil, false } // HyperVReplica2012R2EventDetails is model class for event details of a HyperVReplica blue E2E event. type HyperVReplica2012R2EventDetails struct { - ContainerName *string `json:"containerName,omitempty"` - FabricName *string `json:"fabricName,omitempty"` - RemoteContainerName *string `json:"remoteContainerName,omitempty"` - RemoteFabricName *string `json:"remoteFabricName,omitempty"` + InstanceType InstanceType `json:"instanceType,omitempty"` + ContainerName *string `json:"containerName,omitempty"` + FabricName *string `json:"fabricName,omitempty"` + RemoteContainerName *string `json:"remoteContainerName,omitempty"` + RemoteFabricName *string `json:"remoteFabricName,omitempty"` +} + +// MarshalJSON is the custom marshaler for HyperVReplica2012R2EventDetails. +func (hvr2ed HyperVReplica2012R2EventDetails) MarshalJSON() ([]byte, error) { + hvr2ed.InstanceType = InstanceTypeHyperVReplica2012R2 + type Alias HyperVReplica2012R2EventDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(hvr2ed), + }) +} + +// AsHyperVReplicaBaseEventDetails is the EventProviderSpecificDetails implementation for HyperVReplica2012R2EventDetails. +func (hvr2ed HyperVReplica2012R2EventDetails) AsHyperVReplicaBaseEventDetails() (*HyperVReplicaBaseEventDetails, bool) { + return nil, false +} + +// AsHyperVReplica2012EventDetails is the EventProviderSpecificDetails implementation for HyperVReplica2012R2EventDetails. +func (hvr2ed HyperVReplica2012R2EventDetails) AsHyperVReplica2012EventDetails() (*HyperVReplica2012EventDetails, bool) { + return nil, false +} + +// AsHyperVReplica2012R2EventDetails is the EventProviderSpecificDetails implementation for HyperVReplica2012R2EventDetails. +func (hvr2ed HyperVReplica2012R2EventDetails) AsHyperVReplica2012R2EventDetails() (*HyperVReplica2012R2EventDetails, bool) { + return &hvr2ed, true +} + +// AsHyperVReplicaAzureEventDetails is the EventProviderSpecificDetails implementation for HyperVReplica2012R2EventDetails. +func (hvr2ed HyperVReplica2012R2EventDetails) AsHyperVReplicaAzureEventDetails() (*HyperVReplicaAzureEventDetails, bool) { + return nil, false +} + +// AsA2AEventDetails is the EventProviderSpecificDetails implementation for HyperVReplica2012R2EventDetails. +func (hvr2ed HyperVReplica2012R2EventDetails) AsA2AEventDetails() (*A2AEventDetails, bool) { + return nil, false +} + +// AsInMageAzureV2EventDetails is the EventProviderSpecificDetails implementation for HyperVReplica2012R2EventDetails. +func (hvr2ed HyperVReplica2012R2EventDetails) AsInMageAzureV2EventDetails() (*InMageAzureV2EventDetails, bool) { + return nil, false } // HyperVReplicaAzureApplyRecoveryPointInput is applyRecoveryPoint input specific to HyperVReplicaAzure provider. type HyperVReplicaAzureApplyRecoveryPointInput struct { - VaultLocation *string `json:"vaultLocation,omitempty"` - PrimaryKekCertificatePfx *string `json:"primaryKekCertificatePfx,omitempty"` - SecondaryKekCertificatePfx *string `json:"secondaryKekCertificatePfx,omitempty"` + InstanceType InstanceType `json:"instanceType,omitempty"` + VaultLocation *string `json:"vaultLocation,omitempty"` + PrimaryKekCertificatePfx *string `json:"primaryKekCertificatePfx,omitempty"` + SecondaryKekCertificatePfx *string `json:"secondaryKekCertificatePfx,omitempty"` +} + +// MarshalJSON is the custom marshaler for HyperVReplicaAzureApplyRecoveryPointInput. +func (hvraarpi HyperVReplicaAzureApplyRecoveryPointInput) MarshalJSON() ([]byte, error) { + hvraarpi.InstanceType = InstanceTypeHyperVReplicaAzure + type Alias HyperVReplicaAzureApplyRecoveryPointInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(hvraarpi), + }) +} + +// AsHyperVReplicaAzureApplyRecoveryPointInput is the ApplyRecoveryPointProviderSpecificInput implementation for HyperVReplicaAzureApplyRecoveryPointInput. +func (hvraarpi HyperVReplicaAzureApplyRecoveryPointInput) AsHyperVReplicaAzureApplyRecoveryPointInput() (*HyperVReplicaAzureApplyRecoveryPointInput, bool) { + return &hvraarpi, true +} + +// AsInMageAzureV2ApplyRecoveryPointInput is the ApplyRecoveryPointProviderSpecificInput implementation for HyperVReplicaAzureApplyRecoveryPointInput. +func (hvraarpi HyperVReplicaAzureApplyRecoveryPointInput) AsInMageAzureV2ApplyRecoveryPointInput() (*InMageAzureV2ApplyRecoveryPointInput, bool) { + return nil, false +} + +// AsA2AApplyRecoveryPointInput is the ApplyRecoveryPointProviderSpecificInput implementation for HyperVReplicaAzureApplyRecoveryPointInput. +func (hvraarpi HyperVReplicaAzureApplyRecoveryPointInput) AsA2AApplyRecoveryPointInput() (*A2AApplyRecoveryPointInput, bool) { + return nil, false } // HyperVReplicaAzureEnableProtectionInput is azure specific enable protection input. type HyperVReplicaAzureEnableProtectionInput struct { - HvHostVMID *string `json:"hvHostVmId,omitempty"` - VMName *string `json:"vmName,omitempty"` - OsType *string `json:"osType,omitempty"` - VhdID *string `json:"vhdId,omitempty"` - TargetStorageAccountID *string `json:"targetStorageAccountId,omitempty"` - TargetAzureNetworkID *string `json:"targetAzureNetworkId,omitempty"` - TargetAzureSubnetID *string `json:"targetAzureSubnetId,omitempty"` - EnableRDPOnTargetOption *string `json:"enableRDPOnTargetOption,omitempty"` - TargetAzureVMName *string `json:"targetAzureVmName,omitempty"` - LogStorageAccountID *string `json:"logStorageAccountId,omitempty"` - DisksToInclude *[]string `json:"disksToInclude,omitempty"` - TargetAzureV1ResourceGroupID *string `json:"targetAzureV1ResourceGroupId,omitempty"` - TargetAzureV2ResourceGroupID *string `json:"targetAzureV2ResourceGroupId,omitempty"` - UseManagedDisks *string `json:"useManagedDisks,omitempty"` + InstanceType InstanceTypeEnableProtectionProviderSpecificInput `json:"instanceType,omitempty"` + HvHostVMID *string `json:"hvHostVmId,omitempty"` + VMName *string `json:"vmName,omitempty"` + OsType *string `json:"osType,omitempty"` + VhdID *string `json:"vhdId,omitempty"` + TargetStorageAccountID *string `json:"targetStorageAccountId,omitempty"` + TargetAzureNetworkID *string `json:"targetAzureNetworkId,omitempty"` + TargetAzureSubnetID *string `json:"targetAzureSubnetId,omitempty"` + EnableRDPOnTargetOption *string `json:"enableRDPOnTargetOption,omitempty"` + TargetAzureVMName *string `json:"targetAzureVmName,omitempty"` + LogStorageAccountID *string `json:"logStorageAccountId,omitempty"` + DisksToInclude *[]string `json:"disksToInclude,omitempty"` + TargetAzureV1ResourceGroupID *string `json:"targetAzureV1ResourceGroupId,omitempty"` + TargetAzureV2ResourceGroupID *string `json:"targetAzureV2ResourceGroupId,omitempty"` + UseManagedDisks *string `json:"useManagedDisks,omitempty"` +} + +// MarshalJSON is the custom marshaler for HyperVReplicaAzureEnableProtectionInput. +func (hvraepi HyperVReplicaAzureEnableProtectionInput) MarshalJSON() ([]byte, error) { + hvraepi.InstanceType = InstanceTypeEnableProtectionProviderSpecificInputInstanceTypeHyperVReplicaAzure + type Alias HyperVReplicaAzureEnableProtectionInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(hvraepi), + }) +} + +// AsHyperVReplicaAzureEnableProtectionInput is the EnableProtectionProviderSpecificInput implementation for HyperVReplicaAzureEnableProtectionInput. +func (hvraepi HyperVReplicaAzureEnableProtectionInput) AsHyperVReplicaAzureEnableProtectionInput() (*HyperVReplicaAzureEnableProtectionInput, bool) { + return &hvraepi, true +} + +// AsSanEnableProtectionInput is the EnableProtectionProviderSpecificInput implementation for HyperVReplicaAzureEnableProtectionInput. +func (hvraepi HyperVReplicaAzureEnableProtectionInput) AsSanEnableProtectionInput() (*SanEnableProtectionInput, bool) { + return nil, false +} + +// AsInMageAzureV2EnableProtectionInput is the EnableProtectionProviderSpecificInput implementation for HyperVReplicaAzureEnableProtectionInput. +func (hvraepi HyperVReplicaAzureEnableProtectionInput) AsInMageAzureV2EnableProtectionInput() (*InMageAzureV2EnableProtectionInput, bool) { + return nil, false +} + +// AsInMageEnableProtectionInput is the EnableProtectionProviderSpecificInput implementation for HyperVReplicaAzureEnableProtectionInput. +func (hvraepi HyperVReplicaAzureEnableProtectionInput) AsInMageEnableProtectionInput() (*InMageEnableProtectionInput, bool) { + return nil, false +} + +// AsA2AEnableProtectionInput is the EnableProtectionProviderSpecificInput implementation for HyperVReplicaAzureEnableProtectionInput. +func (hvraepi HyperVReplicaAzureEnableProtectionInput) AsA2AEnableProtectionInput() (*A2AEnableProtectionInput, bool) { + return nil, false } // HyperVReplicaAzureEventDetails is model class for event details of a HyperVReplica E2A event. type HyperVReplicaAzureEventDetails struct { - ContainerName *string `json:"containerName,omitempty"` - FabricName *string `json:"fabricName,omitempty"` - RemoteContainerName *string `json:"remoteContainerName,omitempty"` + InstanceType InstanceType `json:"instanceType,omitempty"` + ContainerName *string `json:"containerName,omitempty"` + FabricName *string `json:"fabricName,omitempty"` + RemoteContainerName *string `json:"remoteContainerName,omitempty"` +} + +// MarshalJSON is the custom marshaler for HyperVReplicaAzureEventDetails. +func (hvraed HyperVReplicaAzureEventDetails) MarshalJSON() ([]byte, error) { + hvraed.InstanceType = InstanceTypeHyperVReplicaAzure + type Alias HyperVReplicaAzureEventDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(hvraed), + }) +} + +// AsHyperVReplicaBaseEventDetails is the EventProviderSpecificDetails implementation for HyperVReplicaAzureEventDetails. +func (hvraed HyperVReplicaAzureEventDetails) AsHyperVReplicaBaseEventDetails() (*HyperVReplicaBaseEventDetails, bool) { + return nil, false +} + +// AsHyperVReplica2012EventDetails is the EventProviderSpecificDetails implementation for HyperVReplicaAzureEventDetails. +func (hvraed HyperVReplicaAzureEventDetails) AsHyperVReplica2012EventDetails() (*HyperVReplica2012EventDetails, bool) { + return nil, false +} + +// AsHyperVReplica2012R2EventDetails is the EventProviderSpecificDetails implementation for HyperVReplicaAzureEventDetails. +func (hvraed HyperVReplicaAzureEventDetails) AsHyperVReplica2012R2EventDetails() (*HyperVReplica2012R2EventDetails, bool) { + return nil, false +} + +// AsHyperVReplicaAzureEventDetails is the EventProviderSpecificDetails implementation for HyperVReplicaAzureEventDetails. +func (hvraed HyperVReplicaAzureEventDetails) AsHyperVReplicaAzureEventDetails() (*HyperVReplicaAzureEventDetails, bool) { + return &hvraed, true +} + +// AsA2AEventDetails is the EventProviderSpecificDetails implementation for HyperVReplicaAzureEventDetails. +func (hvraed HyperVReplicaAzureEventDetails) AsA2AEventDetails() (*A2AEventDetails, bool) { + return nil, false +} + +// AsInMageAzureV2EventDetails is the EventProviderSpecificDetails implementation for HyperVReplicaAzureEventDetails. +func (hvraed HyperVReplicaAzureEventDetails) AsInMageAzureV2EventDetails() (*InMageAzureV2EventDetails, bool) { + return nil, false } // HyperVReplicaAzureFailbackProviderInput is hvrA provider specific input for failback. type HyperVReplicaAzureFailbackProviderInput struct { - DataSyncOption *string `json:"dataSyncOption,omitempty"` - RecoveryVMCreationOption *string `json:"recoveryVmCreationOption,omitempty"` - ProviderIDForAlternateRecovery *string `json:"providerIdForAlternateRecovery,omitempty"` + InstanceType InstanceTypeProviderSpecificFailoverInput `json:"instanceType,omitempty"` + DataSyncOption *string `json:"dataSyncOption,omitempty"` + RecoveryVMCreationOption *string `json:"recoveryVmCreationOption,omitempty"` + ProviderIDForAlternateRecovery *string `json:"providerIdForAlternateRecovery,omitempty"` +} + +// MarshalJSON is the custom marshaler for HyperVReplicaAzureFailbackProviderInput. +func (hvrafpi HyperVReplicaAzureFailbackProviderInput) MarshalJSON() ([]byte, error) { + hvrafpi.InstanceType = InstanceTypeProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzureFailback + type Alias HyperVReplicaAzureFailbackProviderInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(hvrafpi), + }) +} + +// AsHyperVReplicaAzureFailoverProviderInput is the ProviderSpecificFailoverInput implementation for HyperVReplicaAzureFailbackProviderInput. +func (hvrafpi HyperVReplicaAzureFailbackProviderInput) AsHyperVReplicaAzureFailoverProviderInput() (*HyperVReplicaAzureFailoverProviderInput, bool) { + return nil, false +} + +// AsHyperVReplicaAzureFailbackProviderInput is the ProviderSpecificFailoverInput implementation for HyperVReplicaAzureFailbackProviderInput. +func (hvrafpi HyperVReplicaAzureFailbackProviderInput) AsHyperVReplicaAzureFailbackProviderInput() (*HyperVReplicaAzureFailbackProviderInput, bool) { + return &hvrafpi, true +} + +// AsInMageAzureV2FailoverProviderInput is the ProviderSpecificFailoverInput implementation for HyperVReplicaAzureFailbackProviderInput. +func (hvrafpi HyperVReplicaAzureFailbackProviderInput) AsInMageAzureV2FailoverProviderInput() (*InMageAzureV2FailoverProviderInput, bool) { + return nil, false +} + +// AsInMageFailoverProviderInput is the ProviderSpecificFailoverInput implementation for HyperVReplicaAzureFailbackProviderInput. +func (hvrafpi HyperVReplicaAzureFailbackProviderInput) AsInMageFailoverProviderInput() (*InMageFailoverProviderInput, bool) { + return nil, false +} + +// AsA2AFailoverProviderInput is the ProviderSpecificFailoverInput implementation for HyperVReplicaAzureFailbackProviderInput. +func (hvrafpi HyperVReplicaAzureFailbackProviderInput) AsA2AFailoverProviderInput() (*A2AFailoverProviderInput, bool) { + return nil, false } // HyperVReplicaAzureFailoverProviderInput is hvrA provider specific input for failover. type HyperVReplicaAzureFailoverProviderInput struct { - VaultLocation *string `json:"vaultLocation,omitempty"` - PrimaryKekCertificatePfx *string `json:"primaryKekCertificatePfx,omitempty"` - SecondaryKekCertificatePfx *string `json:"secondaryKekCertificatePfx,omitempty"` - RecoveryPointID *string `json:"recoveryPointId,omitempty"` + InstanceType InstanceTypeProviderSpecificFailoverInput `json:"instanceType,omitempty"` + VaultLocation *string `json:"vaultLocation,omitempty"` + PrimaryKekCertificatePfx *string `json:"primaryKekCertificatePfx,omitempty"` + SecondaryKekCertificatePfx *string `json:"secondaryKekCertificatePfx,omitempty"` + RecoveryPointID *string `json:"recoveryPointId,omitempty"` +} + +// MarshalJSON is the custom marshaler for HyperVReplicaAzureFailoverProviderInput. +func (hvrafpi HyperVReplicaAzureFailoverProviderInput) MarshalJSON() ([]byte, error) { + hvrafpi.InstanceType = InstanceTypeProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzure + type Alias HyperVReplicaAzureFailoverProviderInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(hvrafpi), + }) +} + +// AsHyperVReplicaAzureFailoverProviderInput is the ProviderSpecificFailoverInput implementation for HyperVReplicaAzureFailoverProviderInput. +func (hvrafpi HyperVReplicaAzureFailoverProviderInput) AsHyperVReplicaAzureFailoverProviderInput() (*HyperVReplicaAzureFailoverProviderInput, bool) { + return &hvrafpi, true +} + +// AsHyperVReplicaAzureFailbackProviderInput is the ProviderSpecificFailoverInput implementation for HyperVReplicaAzureFailoverProviderInput. +func (hvrafpi HyperVReplicaAzureFailoverProviderInput) AsHyperVReplicaAzureFailbackProviderInput() (*HyperVReplicaAzureFailbackProviderInput, bool) { + return nil, false +} + +// AsInMageAzureV2FailoverProviderInput is the ProviderSpecificFailoverInput implementation for HyperVReplicaAzureFailoverProviderInput. +func (hvrafpi HyperVReplicaAzureFailoverProviderInput) AsInMageAzureV2FailoverProviderInput() (*InMageAzureV2FailoverProviderInput, bool) { + return nil, false +} + +// AsInMageFailoverProviderInput is the ProviderSpecificFailoverInput implementation for HyperVReplicaAzureFailoverProviderInput. +func (hvrafpi HyperVReplicaAzureFailoverProviderInput) AsInMageFailoverProviderInput() (*InMageFailoverProviderInput, bool) { + return nil, false +} + +// AsA2AFailoverProviderInput is the ProviderSpecificFailoverInput implementation for HyperVReplicaAzureFailoverProviderInput. +func (hvrafpi HyperVReplicaAzureFailoverProviderInput) AsA2AFailoverProviderInput() (*A2AFailoverProviderInput, bool) { + return nil, false } // HyperVReplicaAzurePolicyDetails is hyper-V Replica Azure specific protection profile details. type HyperVReplicaAzurePolicyDetails struct { - RecoveryPointHistoryDurationInHours *int32 `json:"recoveryPointHistoryDurationInHours,omitempty"` - ApplicationConsistentSnapshotFrequencyInHours *int32 `json:"applicationConsistentSnapshotFrequencyInHours,omitempty"` - ReplicationInterval *int32 `json:"replicationInterval,omitempty"` - OnlineReplicationStartTime *string `json:"onlineReplicationStartTime,omitempty"` - Encryption *string `json:"encryption,omitempty"` - ActiveStorageAccountID *string `json:"activeStorageAccountId,omitempty"` + InstanceType InstanceTypePolicyProviderSpecificDetails `json:"instanceType,omitempty"` + RecoveryPointHistoryDurationInHours *int32 `json:"recoveryPointHistoryDurationInHours,omitempty"` + ApplicationConsistentSnapshotFrequencyInHours *int32 `json:"applicationConsistentSnapshotFrequencyInHours,omitempty"` + ReplicationInterval *int32 `json:"replicationInterval,omitempty"` + OnlineReplicationStartTime *string `json:"onlineReplicationStartTime,omitempty"` + Encryption *string `json:"encryption,omitempty"` + ActiveStorageAccountID *string `json:"activeStorageAccountId,omitempty"` +} + +// MarshalJSON is the custom marshaler for HyperVReplicaAzurePolicyDetails. +func (hvrapd HyperVReplicaAzurePolicyDetails) MarshalJSON() ([]byte, error) { + hvrapd.InstanceType = InstanceTypePolicyProviderSpecificDetailsInstanceTypeHyperVReplicaAzure + type Alias HyperVReplicaAzurePolicyDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(hvrapd), + }) +} + +// AsHyperVReplicaAzurePolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaAzurePolicyDetails. +func (hvrapd HyperVReplicaAzurePolicyDetails) AsHyperVReplicaAzurePolicyDetails() (*HyperVReplicaAzurePolicyDetails, bool) { + return &hvrapd, true +} + +// AsHyperVReplicaBasePolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaAzurePolicyDetails. +func (hvrapd HyperVReplicaAzurePolicyDetails) AsHyperVReplicaBasePolicyDetails() (*HyperVReplicaBasePolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaPolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaAzurePolicyDetails. +func (hvrapd HyperVReplicaAzurePolicyDetails) AsHyperVReplicaPolicyDetails() (*HyperVReplicaPolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaBluePolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaAzurePolicyDetails. +func (hvrapd HyperVReplicaAzurePolicyDetails) AsHyperVReplicaBluePolicyDetails() (*HyperVReplicaBluePolicyDetails, bool) { + return nil, false +} + +// AsInMageBasePolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaAzurePolicyDetails. +func (hvrapd HyperVReplicaAzurePolicyDetails) AsInMageBasePolicyDetails() (*InMageBasePolicyDetails, bool) { + return nil, false +} + +// AsInMageAzureV2PolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaAzurePolicyDetails. +func (hvrapd HyperVReplicaAzurePolicyDetails) AsInMageAzureV2PolicyDetails() (*InMageAzureV2PolicyDetails, bool) { + return nil, false +} + +// AsInMagePolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaAzurePolicyDetails. +func (hvrapd HyperVReplicaAzurePolicyDetails) AsInMagePolicyDetails() (*InMagePolicyDetails, bool) { + return nil, false +} + +// AsA2APolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaAzurePolicyDetails. +func (hvrapd HyperVReplicaAzurePolicyDetails) AsA2APolicyDetails() (*A2APolicyDetails, bool) { + return nil, false +} + +// AsRcmAzureMigrationPolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaAzurePolicyDetails. +func (hvrapd HyperVReplicaAzurePolicyDetails) AsRcmAzureMigrationPolicyDetails() (*RcmAzureMigrationPolicyDetails, bool) { + return nil, false +} + +// AsVmwareCbtPolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaAzurePolicyDetails. +func (hvrapd HyperVReplicaAzurePolicyDetails) AsVmwareCbtPolicyDetails() (*VmwareCbtPolicyDetails, bool) { + return nil, false } // HyperVReplicaAzurePolicyInput is hyper-V Replica Azure specific input for creating a protection profile. type HyperVReplicaAzurePolicyInput struct { - RecoveryPointHistoryDuration *int32 `json:"recoveryPointHistoryDuration,omitempty"` - ApplicationConsistentSnapshotFrequencyInHours *int32 `json:"applicationConsistentSnapshotFrequencyInHours,omitempty"` - ReplicationInterval *int32 `json:"replicationInterval,omitempty"` - OnlineReplicationStartTime *string `json:"onlineReplicationStartTime,omitempty"` - Encryption *string `json:"encryption,omitempty"` - StorageAccounts *[]string `json:"storageAccounts,omitempty"` + InstanceType InstanceTypePolicyProviderSpecificInput `json:"instanceType,omitempty"` + RecoveryPointHistoryDuration *int32 `json:"recoveryPointHistoryDuration,omitempty"` + ApplicationConsistentSnapshotFrequencyInHours *int32 `json:"applicationConsistentSnapshotFrequencyInHours,omitempty"` + ReplicationInterval *int32 `json:"replicationInterval,omitempty"` + OnlineReplicationStartTime *string `json:"onlineReplicationStartTime,omitempty"` + Encryption *string `json:"encryption,omitempty"` + StorageAccounts *[]string `json:"storageAccounts,omitempty"` +} + +// MarshalJSON is the custom marshaler for HyperVReplicaAzurePolicyInput. +func (hvrapi HyperVReplicaAzurePolicyInput) MarshalJSON() ([]byte, error) { + hvrapi.InstanceType = InstanceTypePolicyProviderSpecificInputInstanceTypeHyperVReplicaAzure + type Alias HyperVReplicaAzurePolicyInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(hvrapi), + }) +} + +// AsHyperVReplicaAzurePolicyInput is the PolicyProviderSpecificInput implementation for HyperVReplicaAzurePolicyInput. +func (hvrapi HyperVReplicaAzurePolicyInput) AsHyperVReplicaAzurePolicyInput() (*HyperVReplicaAzurePolicyInput, bool) { + return &hvrapi, true +} + +// AsHyperVReplicaPolicyInput is the PolicyProviderSpecificInput implementation for HyperVReplicaAzurePolicyInput. +func (hvrapi HyperVReplicaAzurePolicyInput) AsHyperVReplicaPolicyInput() (*HyperVReplicaPolicyInput, bool) { + return nil, false +} + +// AsHyperVReplicaBluePolicyInput is the PolicyProviderSpecificInput implementation for HyperVReplicaAzurePolicyInput. +func (hvrapi HyperVReplicaAzurePolicyInput) AsHyperVReplicaBluePolicyInput() (*HyperVReplicaBluePolicyInput, bool) { + return nil, false +} + +// AsInMageAzureV2PolicyInput is the PolicyProviderSpecificInput implementation for HyperVReplicaAzurePolicyInput. +func (hvrapi HyperVReplicaAzurePolicyInput) AsInMageAzureV2PolicyInput() (*InMageAzureV2PolicyInput, bool) { + return nil, false +} + +// AsInMagePolicyInput is the PolicyProviderSpecificInput implementation for HyperVReplicaAzurePolicyInput. +func (hvrapi HyperVReplicaAzurePolicyInput) AsInMagePolicyInput() (*InMagePolicyInput, bool) { + return nil, false +} + +// AsA2APolicyCreationInput is the PolicyProviderSpecificInput implementation for HyperVReplicaAzurePolicyInput. +func (hvrapi HyperVReplicaAzurePolicyInput) AsA2APolicyCreationInput() (*A2APolicyCreationInput, bool) { + return nil, false +} + +// AsVMwareCbtPolicyCreationInput is the PolicyProviderSpecificInput implementation for HyperVReplicaAzurePolicyInput. +func (hvrapi HyperVReplicaAzurePolicyInput) AsVMwareCbtPolicyCreationInput() (*VMwareCbtPolicyCreationInput, bool) { + return nil, false } // HyperVReplicaAzureReplicationDetails is hyper V Replica Azure provider specific settings. type HyperVReplicaAzureReplicationDetails struct { - AzureVMDiskDetails *[]AzureVMDiskDetails `json:"azureVMDiskDetails,omitempty"` - RecoveryAzureVMName *string `json:"recoveryAzureVMName,omitempty"` - RecoveryAzureVMSize *string `json:"recoveryAzureVMSize,omitempty"` - RecoveryAzureStorageAccount *string `json:"recoveryAzureStorageAccount,omitempty"` - RecoveryAzureLogStorageAccountID *string `json:"recoveryAzureLogStorageAccountId,omitempty"` - LastReplicatedTime *date.Time `json:"lastReplicatedTime,omitempty"` - VMID *string `json:"vmId,omitempty"` - VMProtectionState *string `json:"vmProtectionState,omitempty"` - VMProtectionStateDescription *string `json:"vmProtectionStateDescription,omitempty"` - InitialReplicationDetails *InitialReplicationDetails `json:"initialReplicationDetails,omitempty"` - VMNics *[]VMNicDetails `json:"vmNics,omitempty"` - SelectedRecoveryAzureNetworkID *string `json:"selectedRecoveryAzureNetworkId,omitempty"` - Encryption *string `json:"encryption,omitempty"` - OSDetails *OSDetails `json:"oSDetails,omitempty"` - SourceVMRAMSizeInMB *int32 `json:"sourceVmRAMSizeInMB,omitempty"` - SourceVMCPUCount *int32 `json:"sourceVmCPUCount,omitempty"` - EnableRDPOnTargetOption *string `json:"enableRDPOnTargetOption,omitempty"` - RecoveryAzureResourceGroupID *string `json:"recoveryAzureResourceGroupId,omitempty"` - RecoveryAvailabilitySetID *string `json:"recoveryAvailabilitySetId,omitempty"` - UseManagedDisks *string `json:"useManagedDisks,omitempty"` - LicenseType *string `json:"licenseType,omitempty"` + InstanceType InstanceTypeReplicationProviderSpecificSettings `json:"instanceType,omitempty"` + AzureVMDiskDetails *[]AzureVMDiskDetails `json:"azureVMDiskDetails,omitempty"` + RecoveryAzureVMName *string `json:"recoveryAzureVMName,omitempty"` + RecoveryAzureVMSize *string `json:"recoveryAzureVMSize,omitempty"` + RecoveryAzureStorageAccount *string `json:"recoveryAzureStorageAccount,omitempty"` + RecoveryAzureLogStorageAccountID *string `json:"recoveryAzureLogStorageAccountId,omitempty"` + LastReplicatedTime *date.Time `json:"lastReplicatedTime,omitempty"` + VMID *string `json:"vmId,omitempty"` + VMProtectionState *string `json:"vmProtectionState,omitempty"` + VMProtectionStateDescription *string `json:"vmProtectionStateDescription,omitempty"` + InitialReplicationDetails *InitialReplicationDetails `json:"initialReplicationDetails,omitempty"` + VMNics *[]VMNicDetails `json:"vmNics,omitempty"` + SelectedRecoveryAzureNetworkID *string `json:"selectedRecoveryAzureNetworkId,omitempty"` + Encryption *string `json:"encryption,omitempty"` + OSDetails *OSDetails `json:"oSDetails,omitempty"` + SourceVMRAMSizeInMB *int32 `json:"sourceVmRAMSizeInMB,omitempty"` + SourceVMCPUCount *int32 `json:"sourceVmCPUCount,omitempty"` + EnableRDPOnTargetOption *string `json:"enableRDPOnTargetOption,omitempty"` + RecoveryAzureResourceGroupID *string `json:"recoveryAzureResourceGroupId,omitempty"` + RecoveryAvailabilitySetID *string `json:"recoveryAvailabilitySetId,omitempty"` + UseManagedDisks *string `json:"useManagedDisks,omitempty"` + LicenseType *string `json:"licenseType,omitempty"` +} + +// MarshalJSON is the custom marshaler for HyperVReplicaAzureReplicationDetails. +func (hvrard HyperVReplicaAzureReplicationDetails) MarshalJSON() ([]byte, error) { + hvrard.InstanceType = InstanceTypeReplicationProviderSpecificSettingsInstanceTypeHyperVReplicaAzure + type Alias HyperVReplicaAzureReplicationDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(hvrard), + }) +} + +// AsHyperVReplicaBaseReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaAzureReplicationDetails. +func (hvrard HyperVReplicaAzureReplicationDetails) AsHyperVReplicaBaseReplicationDetails() (*HyperVReplicaBaseReplicationDetails, bool) { + return nil, false +} + +// AsHyperVReplicaReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaAzureReplicationDetails. +func (hvrard HyperVReplicaAzureReplicationDetails) AsHyperVReplicaReplicationDetails() (*HyperVReplicaReplicationDetails, bool) { + return nil, false +} + +// AsHyperVReplicaBlueReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaAzureReplicationDetails. +func (hvrard HyperVReplicaAzureReplicationDetails) AsHyperVReplicaBlueReplicationDetails() (*HyperVReplicaBlueReplicationDetails, bool) { + return nil, false +} + +// AsHyperVReplicaAzureReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaAzureReplicationDetails. +func (hvrard HyperVReplicaAzureReplicationDetails) AsHyperVReplicaAzureReplicationDetails() (*HyperVReplicaAzureReplicationDetails, bool) { + return &hvrard, true +} + +// AsInMageAzureV2ReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaAzureReplicationDetails. +func (hvrard HyperVReplicaAzureReplicationDetails) AsInMageAzureV2ReplicationDetails() (*InMageAzureV2ReplicationDetails, bool) { + return nil, false +} + +// AsInMageReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaAzureReplicationDetails. +func (hvrard HyperVReplicaAzureReplicationDetails) AsInMageReplicationDetails() (*InMageReplicationDetails, bool) { + return nil, false +} + +// AsA2AReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaAzureReplicationDetails. +func (hvrard HyperVReplicaAzureReplicationDetails) AsA2AReplicationDetails() (*A2AReplicationDetails, bool) { + return nil, false } // HyperVReplicaAzureReprotectInput is azure specific reprotect input. type HyperVReplicaAzureReprotectInput struct { - HvHostVMID *string `json:"hvHostVmId,omitempty"` - VMName *string `json:"vmName,omitempty"` - OsType *string `json:"osType,omitempty"` - VHDID *string `json:"vHDId,omitempty"` - StorageAccountID *string `json:"storageAccountId,omitempty"` - LogStorageAccountID *string `json:"logStorageAccountId,omitempty"` + InstanceType InstanceTypeReverseReplicationProviderSpecificInput `json:"instanceType,omitempty"` + HvHostVMID *string `json:"hvHostVmId,omitempty"` + VMName *string `json:"vmName,omitempty"` + OsType *string `json:"osType,omitempty"` + VHDID *string `json:"vHDId,omitempty"` + StorageAccountID *string `json:"storageAccountId,omitempty"` + LogStorageAccountID *string `json:"logStorageAccountId,omitempty"` +} + +// MarshalJSON is the custom marshaler for HyperVReplicaAzureReprotectInput. +func (hvrari HyperVReplicaAzureReprotectInput) MarshalJSON() ([]byte, error) { + hvrari.InstanceType = InstanceTypeReverseReplicationProviderSpecificInputInstanceTypeHyperVReplicaAzure + type Alias HyperVReplicaAzureReprotectInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(hvrari), + }) +} + +// AsHyperVReplicaAzureReprotectInput is the ReverseReplicationProviderSpecificInput implementation for HyperVReplicaAzureReprotectInput. +func (hvrari HyperVReplicaAzureReprotectInput) AsHyperVReplicaAzureReprotectInput() (*HyperVReplicaAzureReprotectInput, bool) { + return &hvrari, true +} + +// AsInMageAzureV2ReprotectInput is the ReverseReplicationProviderSpecificInput implementation for HyperVReplicaAzureReprotectInput. +func (hvrari HyperVReplicaAzureReprotectInput) AsInMageAzureV2ReprotectInput() (*InMageAzureV2ReprotectInput, bool) { + return nil, false +} + +// AsInMageReprotectInput is the ReverseReplicationProviderSpecificInput implementation for HyperVReplicaAzureReprotectInput. +func (hvrari HyperVReplicaAzureReprotectInput) AsInMageReprotectInput() (*InMageReprotectInput, bool) { + return nil, false +} + +// AsA2AReprotectInput is the ReverseReplicationProviderSpecificInput implementation for HyperVReplicaAzureReprotectInput. +func (hvrari HyperVReplicaAzureReprotectInput) AsA2AReprotectInput() (*A2AReprotectInput, bool) { + return nil, false } // HyperVReplicaAzureUpdateReplicationProtectedItemInput is hyperV replica Azure input to update replication protected // item. type HyperVReplicaAzureUpdateReplicationProtectedItemInput struct { - RecoveryAzureV1ResourceGroupID *string `json:"recoveryAzureV1ResourceGroupId,omitempty"` - RecoveryAzureV2ResourceGroupID *string `json:"recoveryAzureV2ResourceGroupId,omitempty"` - UseManagedDisks *string `json:"useManagedDisks,omitempty"` + InstanceType InstanceType `json:"instanceType,omitempty"` + RecoveryAzureV1ResourceGroupID *string `json:"recoveryAzureV1ResourceGroupId,omitempty"` + RecoveryAzureV2ResourceGroupID *string `json:"recoveryAzureV2ResourceGroupId,omitempty"` + UseManagedDisks *string `json:"useManagedDisks,omitempty"` +} + +// MarshalJSON is the custom marshaler for HyperVReplicaAzureUpdateReplicationProtectedItemInput. +func (hvraurpii HyperVReplicaAzureUpdateReplicationProtectedItemInput) MarshalJSON() ([]byte, error) { + hvraurpii.InstanceType = InstanceTypeHyperVReplicaAzure + type Alias HyperVReplicaAzureUpdateReplicationProtectedItemInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(hvraurpii), + }) +} + +// AsHyperVReplicaAzureUpdateReplicationProtectedItemInput is the UpdateReplicationProtectedItemProviderInput implementation for HyperVReplicaAzureUpdateReplicationProtectedItemInput. +func (hvraurpii HyperVReplicaAzureUpdateReplicationProtectedItemInput) AsHyperVReplicaAzureUpdateReplicationProtectedItemInput() (*HyperVReplicaAzureUpdateReplicationProtectedItemInput, bool) { + return &hvraurpii, true +} + +// AsInMageAzureV2UpdateReplicationProtectedItemInput is the UpdateReplicationProtectedItemProviderInput implementation for HyperVReplicaAzureUpdateReplicationProtectedItemInput. +func (hvraurpii HyperVReplicaAzureUpdateReplicationProtectedItemInput) AsInMageAzureV2UpdateReplicationProtectedItemInput() (*InMageAzureV2UpdateReplicationProtectedItemInput, bool) { + return nil, false +} + +// AsA2AUpdateReplicationProtectedItemInput is the UpdateReplicationProtectedItemProviderInput implementation for HyperVReplicaAzureUpdateReplicationProtectedItemInput. +func (hvraurpii HyperVReplicaAzureUpdateReplicationProtectedItemInput) AsA2AUpdateReplicationProtectedItemInput() (*A2AUpdateReplicationProtectedItemInput, bool) { + return nil, false } // HyperVReplicaBaseEventDetails is abstract model class for event details of a HyperVReplica E2E event. type HyperVReplicaBaseEventDetails struct { - ContainerName *string `json:"containerName,omitempty"` - FabricName *string `json:"fabricName,omitempty"` - RemoteContainerName *string `json:"remoteContainerName,omitempty"` - RemoteFabricName *string `json:"remoteFabricName,omitempty"` + InstanceType InstanceType `json:"instanceType,omitempty"` + ContainerName *string `json:"containerName,omitempty"` + FabricName *string `json:"fabricName,omitempty"` + RemoteContainerName *string `json:"remoteContainerName,omitempty"` + RemoteFabricName *string `json:"remoteFabricName,omitempty"` +} + +// MarshalJSON is the custom marshaler for HyperVReplicaBaseEventDetails. +func (hvrbed HyperVReplicaBaseEventDetails) MarshalJSON() ([]byte, error) { + hvrbed.InstanceType = InstanceTypeHyperVReplicaBaseEventDetails + type Alias HyperVReplicaBaseEventDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(hvrbed), + }) +} + +// AsHyperVReplicaBaseEventDetails is the EventProviderSpecificDetails implementation for HyperVReplicaBaseEventDetails. +func (hvrbed HyperVReplicaBaseEventDetails) AsHyperVReplicaBaseEventDetails() (*HyperVReplicaBaseEventDetails, bool) { + return &hvrbed, true +} + +// AsHyperVReplica2012EventDetails is the EventProviderSpecificDetails implementation for HyperVReplicaBaseEventDetails. +func (hvrbed HyperVReplicaBaseEventDetails) AsHyperVReplica2012EventDetails() (*HyperVReplica2012EventDetails, bool) { + return nil, false +} + +// AsHyperVReplica2012R2EventDetails is the EventProviderSpecificDetails implementation for HyperVReplicaBaseEventDetails. +func (hvrbed HyperVReplicaBaseEventDetails) AsHyperVReplica2012R2EventDetails() (*HyperVReplica2012R2EventDetails, bool) { + return nil, false +} + +// AsHyperVReplicaAzureEventDetails is the EventProviderSpecificDetails implementation for HyperVReplicaBaseEventDetails. +func (hvrbed HyperVReplicaBaseEventDetails) AsHyperVReplicaAzureEventDetails() (*HyperVReplicaAzureEventDetails, bool) { + return nil, false +} + +// AsA2AEventDetails is the EventProviderSpecificDetails implementation for HyperVReplicaBaseEventDetails. +func (hvrbed HyperVReplicaBaseEventDetails) AsA2AEventDetails() (*A2AEventDetails, bool) { + return nil, false +} + +// AsInMageAzureV2EventDetails is the EventProviderSpecificDetails implementation for HyperVReplicaBaseEventDetails. +func (hvrbed HyperVReplicaBaseEventDetails) AsInMageAzureV2EventDetails() (*InMageAzureV2EventDetails, bool) { + return nil, false } // HyperVReplicaBasePolicyDetails is base class for HyperVReplica policy details. type HyperVReplicaBasePolicyDetails struct { - RecoveryPoints *int32 `json:"recoveryPoints,omitempty"` - ApplicationConsistentSnapshotFrequencyInHours *int32 `json:"applicationConsistentSnapshotFrequencyInHours,omitempty"` - Compression *string `json:"compression,omitempty"` - InitialReplicationMethod *string `json:"initialReplicationMethod,omitempty"` - OnlineReplicationStartTime *string `json:"onlineReplicationStartTime,omitempty"` - OfflineReplicationImportPath *string `json:"offlineReplicationImportPath,omitempty"` - OfflineReplicationExportPath *string `json:"offlineReplicationExportPath,omitempty"` - ReplicationPort *int32 `json:"replicationPort,omitempty"` - AllowedAuthenticationType *int32 `json:"allowedAuthenticationType,omitempty"` - ReplicaDeletionOption *string `json:"replicaDeletionOption,omitempty"` + InstanceType InstanceTypePolicyProviderSpecificDetails `json:"instanceType,omitempty"` + RecoveryPoints *int32 `json:"recoveryPoints,omitempty"` + ApplicationConsistentSnapshotFrequencyInHours *int32 `json:"applicationConsistentSnapshotFrequencyInHours,omitempty"` + Compression *string `json:"compression,omitempty"` + InitialReplicationMethod *string `json:"initialReplicationMethod,omitempty"` + OnlineReplicationStartTime *string `json:"onlineReplicationStartTime,omitempty"` + OfflineReplicationImportPath *string `json:"offlineReplicationImportPath,omitempty"` + OfflineReplicationExportPath *string `json:"offlineReplicationExportPath,omitempty"` + ReplicationPort *int32 `json:"replicationPort,omitempty"` + AllowedAuthenticationType *int32 `json:"allowedAuthenticationType,omitempty"` + ReplicaDeletionOption *string `json:"replicaDeletionOption,omitempty"` +} + +// MarshalJSON is the custom marshaler for HyperVReplicaBasePolicyDetails. +func (hvrbpd HyperVReplicaBasePolicyDetails) MarshalJSON() ([]byte, error) { + hvrbpd.InstanceType = InstanceTypePolicyProviderSpecificDetailsInstanceTypeHyperVReplicaBasePolicyDetails + type Alias HyperVReplicaBasePolicyDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(hvrbpd), + }) +} + +// AsHyperVReplicaAzurePolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaBasePolicyDetails. +func (hvrbpd HyperVReplicaBasePolicyDetails) AsHyperVReplicaAzurePolicyDetails() (*HyperVReplicaAzurePolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaBasePolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaBasePolicyDetails. +func (hvrbpd HyperVReplicaBasePolicyDetails) AsHyperVReplicaBasePolicyDetails() (*HyperVReplicaBasePolicyDetails, bool) { + return &hvrbpd, true +} + +// AsHyperVReplicaPolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaBasePolicyDetails. +func (hvrbpd HyperVReplicaBasePolicyDetails) AsHyperVReplicaPolicyDetails() (*HyperVReplicaPolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaBluePolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaBasePolicyDetails. +func (hvrbpd HyperVReplicaBasePolicyDetails) AsHyperVReplicaBluePolicyDetails() (*HyperVReplicaBluePolicyDetails, bool) { + return nil, false +} + +// AsInMageBasePolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaBasePolicyDetails. +func (hvrbpd HyperVReplicaBasePolicyDetails) AsInMageBasePolicyDetails() (*InMageBasePolicyDetails, bool) { + return nil, false +} + +// AsInMageAzureV2PolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaBasePolicyDetails. +func (hvrbpd HyperVReplicaBasePolicyDetails) AsInMageAzureV2PolicyDetails() (*InMageAzureV2PolicyDetails, bool) { + return nil, false +} + +// AsInMagePolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaBasePolicyDetails. +func (hvrbpd HyperVReplicaBasePolicyDetails) AsInMagePolicyDetails() (*InMagePolicyDetails, bool) { + return nil, false +} + +// AsA2APolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaBasePolicyDetails. +func (hvrbpd HyperVReplicaBasePolicyDetails) AsA2APolicyDetails() (*A2APolicyDetails, bool) { + return nil, false +} + +// AsRcmAzureMigrationPolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaBasePolicyDetails. +func (hvrbpd HyperVReplicaBasePolicyDetails) AsRcmAzureMigrationPolicyDetails() (*RcmAzureMigrationPolicyDetails, bool) { + return nil, false +} + +// AsVmwareCbtPolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaBasePolicyDetails. +func (hvrbpd HyperVReplicaBasePolicyDetails) AsVmwareCbtPolicyDetails() (*VmwareCbtPolicyDetails, bool) { + return nil, false } // HyperVReplicaBaseReplicationDetails is hyper V replica provider specific settings base class. type HyperVReplicaBaseReplicationDetails struct { - LastReplicatedTime *date.Time `json:"lastReplicatedTime,omitempty"` - VMNics *[]VMNicDetails `json:"vmNics,omitempty"` - VMID *string `json:"vmId,omitempty"` - VMProtectionState *string `json:"vmProtectionState,omitempty"` - VMProtectionStateDescription *string `json:"vmProtectionStateDescription,omitempty"` - InitialReplicationDetails *InitialReplicationDetails `json:"initialReplicationDetails,omitempty"` - VMDiskDetails *[]DiskDetails `json:"vMDiskDetails,omitempty"` + InstanceType InstanceTypeReplicationProviderSpecificSettings `json:"instanceType,omitempty"` + LastReplicatedTime *date.Time `json:"lastReplicatedTime,omitempty"` + VMNics *[]VMNicDetails `json:"vmNics,omitempty"` + VMID *string `json:"vmId,omitempty"` + VMProtectionState *string `json:"vmProtectionState,omitempty"` + VMProtectionStateDescription *string `json:"vmProtectionStateDescription,omitempty"` + InitialReplicationDetails *InitialReplicationDetails `json:"initialReplicationDetails,omitempty"` + VMDiskDetails *[]DiskDetails `json:"vMDiskDetails,omitempty"` +} + +// MarshalJSON is the custom marshaler for HyperVReplicaBaseReplicationDetails. +func (hvrbrd HyperVReplicaBaseReplicationDetails) MarshalJSON() ([]byte, error) { + hvrbrd.InstanceType = InstanceTypeReplicationProviderSpecificSettingsInstanceTypeHyperVReplicaBaseReplicationDetails + type Alias HyperVReplicaBaseReplicationDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(hvrbrd), + }) +} + +// AsHyperVReplicaBaseReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaBaseReplicationDetails. +func (hvrbrd HyperVReplicaBaseReplicationDetails) AsHyperVReplicaBaseReplicationDetails() (*HyperVReplicaBaseReplicationDetails, bool) { + return &hvrbrd, true +} + +// AsHyperVReplicaReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaBaseReplicationDetails. +func (hvrbrd HyperVReplicaBaseReplicationDetails) AsHyperVReplicaReplicationDetails() (*HyperVReplicaReplicationDetails, bool) { + return nil, false +} + +// AsHyperVReplicaBlueReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaBaseReplicationDetails. +func (hvrbrd HyperVReplicaBaseReplicationDetails) AsHyperVReplicaBlueReplicationDetails() (*HyperVReplicaBlueReplicationDetails, bool) { + return nil, false +} + +// AsHyperVReplicaAzureReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaBaseReplicationDetails. +func (hvrbrd HyperVReplicaBaseReplicationDetails) AsHyperVReplicaAzureReplicationDetails() (*HyperVReplicaAzureReplicationDetails, bool) { + return nil, false +} + +// AsInMageAzureV2ReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaBaseReplicationDetails. +func (hvrbrd HyperVReplicaBaseReplicationDetails) AsInMageAzureV2ReplicationDetails() (*InMageAzureV2ReplicationDetails, bool) { + return nil, false +} + +// AsInMageReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaBaseReplicationDetails. +func (hvrbrd HyperVReplicaBaseReplicationDetails) AsInMageReplicationDetails() (*InMageReplicationDetails, bool) { + return nil, false +} + +// AsA2AReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaBaseReplicationDetails. +func (hvrbrd HyperVReplicaBaseReplicationDetails) AsA2AReplicationDetails() (*A2AReplicationDetails, bool) { + return nil, false } // HyperVReplicaBluePolicyDetails is hyper-V Replica Blue specific protection profile details. type HyperVReplicaBluePolicyDetails struct { - ReplicationFrequencyInSeconds *int32 `json:"replicationFrequencyInSeconds,omitempty"` - RecoveryPoints *int32 `json:"recoveryPoints,omitempty"` - ApplicationConsistentSnapshotFrequencyInHours *int32 `json:"applicationConsistentSnapshotFrequencyInHours,omitempty"` - Compression *string `json:"compression,omitempty"` - InitialReplicationMethod *string `json:"initialReplicationMethod,omitempty"` - OnlineReplicationStartTime *string `json:"onlineReplicationStartTime,omitempty"` - OfflineReplicationImportPath *string `json:"offlineReplicationImportPath,omitempty"` - OfflineReplicationExportPath *string `json:"offlineReplicationExportPath,omitempty"` - ReplicationPort *int32 `json:"replicationPort,omitempty"` - AllowedAuthenticationType *int32 `json:"allowedAuthenticationType,omitempty"` - ReplicaDeletionOption *string `json:"replicaDeletionOption,omitempty"` + InstanceType InstanceTypePolicyProviderSpecificDetails `json:"instanceType,omitempty"` + ReplicationFrequencyInSeconds *int32 `json:"replicationFrequencyInSeconds,omitempty"` + RecoveryPoints *int32 `json:"recoveryPoints,omitempty"` + ApplicationConsistentSnapshotFrequencyInHours *int32 `json:"applicationConsistentSnapshotFrequencyInHours,omitempty"` + Compression *string `json:"compression,omitempty"` + InitialReplicationMethod *string `json:"initialReplicationMethod,omitempty"` + OnlineReplicationStartTime *string `json:"onlineReplicationStartTime,omitempty"` + OfflineReplicationImportPath *string `json:"offlineReplicationImportPath,omitempty"` + OfflineReplicationExportPath *string `json:"offlineReplicationExportPath,omitempty"` + ReplicationPort *int32 `json:"replicationPort,omitempty"` + AllowedAuthenticationType *int32 `json:"allowedAuthenticationType,omitempty"` + ReplicaDeletionOption *string `json:"replicaDeletionOption,omitempty"` +} + +// MarshalJSON is the custom marshaler for HyperVReplicaBluePolicyDetails. +func (hvrbpd HyperVReplicaBluePolicyDetails) MarshalJSON() ([]byte, error) { + hvrbpd.InstanceType = InstanceTypePolicyProviderSpecificDetailsInstanceTypeHyperVReplica2012R2 + type Alias HyperVReplicaBluePolicyDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(hvrbpd), + }) +} + +// AsHyperVReplicaAzurePolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaBluePolicyDetails. +func (hvrbpd HyperVReplicaBluePolicyDetails) AsHyperVReplicaAzurePolicyDetails() (*HyperVReplicaAzurePolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaBasePolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaBluePolicyDetails. +func (hvrbpd HyperVReplicaBluePolicyDetails) AsHyperVReplicaBasePolicyDetails() (*HyperVReplicaBasePolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaPolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaBluePolicyDetails. +func (hvrbpd HyperVReplicaBluePolicyDetails) AsHyperVReplicaPolicyDetails() (*HyperVReplicaPolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaBluePolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaBluePolicyDetails. +func (hvrbpd HyperVReplicaBluePolicyDetails) AsHyperVReplicaBluePolicyDetails() (*HyperVReplicaBluePolicyDetails, bool) { + return &hvrbpd, true +} + +// AsInMageBasePolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaBluePolicyDetails. +func (hvrbpd HyperVReplicaBluePolicyDetails) AsInMageBasePolicyDetails() (*InMageBasePolicyDetails, bool) { + return nil, false +} + +// AsInMageAzureV2PolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaBluePolicyDetails. +func (hvrbpd HyperVReplicaBluePolicyDetails) AsInMageAzureV2PolicyDetails() (*InMageAzureV2PolicyDetails, bool) { + return nil, false +} + +// AsInMagePolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaBluePolicyDetails. +func (hvrbpd HyperVReplicaBluePolicyDetails) AsInMagePolicyDetails() (*InMagePolicyDetails, bool) { + return nil, false +} + +// AsA2APolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaBluePolicyDetails. +func (hvrbpd HyperVReplicaBluePolicyDetails) AsA2APolicyDetails() (*A2APolicyDetails, bool) { + return nil, false +} + +// AsRcmAzureMigrationPolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaBluePolicyDetails. +func (hvrbpd HyperVReplicaBluePolicyDetails) AsRcmAzureMigrationPolicyDetails() (*RcmAzureMigrationPolicyDetails, bool) { + return nil, false +} + +// AsVmwareCbtPolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaBluePolicyDetails. +func (hvrbpd HyperVReplicaBluePolicyDetails) AsVmwareCbtPolicyDetails() (*VmwareCbtPolicyDetails, bool) { + return nil, false } // HyperVReplicaBluePolicyInput is hyperV Replica Blue policy input. type HyperVReplicaBluePolicyInput struct { - ReplicationFrequencyInSeconds *int32 `json:"replicationFrequencyInSeconds,omitempty"` - RecoveryPoints *int32 `json:"recoveryPoints,omitempty"` - ApplicationConsistentSnapshotFrequencyInHours *int32 `json:"applicationConsistentSnapshotFrequencyInHours,omitempty"` - Compression *string `json:"compression,omitempty"` - InitialReplicationMethod *string `json:"initialReplicationMethod,omitempty"` - OnlineReplicationStartTime *string `json:"onlineReplicationStartTime,omitempty"` - OfflineReplicationImportPath *string `json:"offlineReplicationImportPath,omitempty"` - OfflineReplicationExportPath *string `json:"offlineReplicationExportPath,omitempty"` - ReplicationPort *int32 `json:"replicationPort,omitempty"` - AllowedAuthenticationType *int32 `json:"allowedAuthenticationType,omitempty"` - ReplicaDeletion *string `json:"replicaDeletion,omitempty"` + InstanceType InstanceTypePolicyProviderSpecificInput `json:"instanceType,omitempty"` + ReplicationFrequencyInSeconds *int32 `json:"replicationFrequencyInSeconds,omitempty"` + RecoveryPoints *int32 `json:"recoveryPoints,omitempty"` + ApplicationConsistentSnapshotFrequencyInHours *int32 `json:"applicationConsistentSnapshotFrequencyInHours,omitempty"` + Compression *string `json:"compression,omitempty"` + InitialReplicationMethod *string `json:"initialReplicationMethod,omitempty"` + OnlineReplicationStartTime *string `json:"onlineReplicationStartTime,omitempty"` + OfflineReplicationImportPath *string `json:"offlineReplicationImportPath,omitempty"` + OfflineReplicationExportPath *string `json:"offlineReplicationExportPath,omitempty"` + ReplicationPort *int32 `json:"replicationPort,omitempty"` + AllowedAuthenticationType *int32 `json:"allowedAuthenticationType,omitempty"` + ReplicaDeletion *string `json:"replicaDeletion,omitempty"` +} + +// MarshalJSON is the custom marshaler for HyperVReplicaBluePolicyInput. +func (hvrbpi HyperVReplicaBluePolicyInput) MarshalJSON() ([]byte, error) { + hvrbpi.InstanceType = InstanceTypePolicyProviderSpecificInputInstanceTypeHyperVReplica2012R2 + type Alias HyperVReplicaBluePolicyInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(hvrbpi), + }) +} + +// AsHyperVReplicaAzurePolicyInput is the PolicyProviderSpecificInput implementation for HyperVReplicaBluePolicyInput. +func (hvrbpi HyperVReplicaBluePolicyInput) AsHyperVReplicaAzurePolicyInput() (*HyperVReplicaAzurePolicyInput, bool) { + return nil, false +} + +// AsHyperVReplicaPolicyInput is the PolicyProviderSpecificInput implementation for HyperVReplicaBluePolicyInput. +func (hvrbpi HyperVReplicaBluePolicyInput) AsHyperVReplicaPolicyInput() (*HyperVReplicaPolicyInput, bool) { + return nil, false +} + +// AsHyperVReplicaBluePolicyInput is the PolicyProviderSpecificInput implementation for HyperVReplicaBluePolicyInput. +func (hvrbpi HyperVReplicaBluePolicyInput) AsHyperVReplicaBluePolicyInput() (*HyperVReplicaBluePolicyInput, bool) { + return &hvrbpi, true +} + +// AsInMageAzureV2PolicyInput is the PolicyProviderSpecificInput implementation for HyperVReplicaBluePolicyInput. +func (hvrbpi HyperVReplicaBluePolicyInput) AsInMageAzureV2PolicyInput() (*InMageAzureV2PolicyInput, bool) { + return nil, false +} + +// AsInMagePolicyInput is the PolicyProviderSpecificInput implementation for HyperVReplicaBluePolicyInput. +func (hvrbpi HyperVReplicaBluePolicyInput) AsInMagePolicyInput() (*InMagePolicyInput, bool) { + return nil, false +} + +// AsA2APolicyCreationInput is the PolicyProviderSpecificInput implementation for HyperVReplicaBluePolicyInput. +func (hvrbpi HyperVReplicaBluePolicyInput) AsA2APolicyCreationInput() (*A2APolicyCreationInput, bool) { + return nil, false +} + +// AsVMwareCbtPolicyCreationInput is the PolicyProviderSpecificInput implementation for HyperVReplicaBluePolicyInput. +func (hvrbpi HyperVReplicaBluePolicyInput) AsVMwareCbtPolicyCreationInput() (*VMwareCbtPolicyCreationInput, bool) { + return nil, false } // HyperVReplicaBlueReplicationDetails is hyperV replica 2012 R2 (Blue) replication details. type HyperVReplicaBlueReplicationDetails struct { - LastReplicatedTime *date.Time `json:"lastReplicatedTime,omitempty"` - VMNics *[]VMNicDetails `json:"vmNics,omitempty"` - VMID *string `json:"vmId,omitempty"` - VMProtectionState *string `json:"vmProtectionState,omitempty"` - VMProtectionStateDescription *string `json:"vmProtectionStateDescription,omitempty"` - InitialReplicationDetails *InitialReplicationDetails `json:"initialReplicationDetails,omitempty"` - VMDiskDetails *[]DiskDetails `json:"vMDiskDetails,omitempty"` + InstanceType InstanceTypeReplicationProviderSpecificSettings `json:"instanceType,omitempty"` + LastReplicatedTime *date.Time `json:"lastReplicatedTime,omitempty"` + VMNics *[]VMNicDetails `json:"vmNics,omitempty"` + VMID *string `json:"vmId,omitempty"` + VMProtectionState *string `json:"vmProtectionState,omitempty"` + VMProtectionStateDescription *string `json:"vmProtectionStateDescription,omitempty"` + InitialReplicationDetails *InitialReplicationDetails `json:"initialReplicationDetails,omitempty"` + VMDiskDetails *[]DiskDetails `json:"vMDiskDetails,omitempty"` +} + +// MarshalJSON is the custom marshaler for HyperVReplicaBlueReplicationDetails. +func (hvrbrd HyperVReplicaBlueReplicationDetails) MarshalJSON() ([]byte, error) { + hvrbrd.InstanceType = InstanceTypeReplicationProviderSpecificSettingsInstanceTypeHyperVReplica2012R2 + type Alias HyperVReplicaBlueReplicationDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(hvrbrd), + }) +} + +// AsHyperVReplicaBaseReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaBlueReplicationDetails. +func (hvrbrd HyperVReplicaBlueReplicationDetails) AsHyperVReplicaBaseReplicationDetails() (*HyperVReplicaBaseReplicationDetails, bool) { + return nil, false +} + +// AsHyperVReplicaReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaBlueReplicationDetails. +func (hvrbrd HyperVReplicaBlueReplicationDetails) AsHyperVReplicaReplicationDetails() (*HyperVReplicaReplicationDetails, bool) { + return nil, false +} + +// AsHyperVReplicaBlueReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaBlueReplicationDetails. +func (hvrbrd HyperVReplicaBlueReplicationDetails) AsHyperVReplicaBlueReplicationDetails() (*HyperVReplicaBlueReplicationDetails, bool) { + return &hvrbrd, true +} + +// AsHyperVReplicaAzureReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaBlueReplicationDetails. +func (hvrbrd HyperVReplicaBlueReplicationDetails) AsHyperVReplicaAzureReplicationDetails() (*HyperVReplicaAzureReplicationDetails, bool) { + return nil, false +} + +// AsInMageAzureV2ReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaBlueReplicationDetails. +func (hvrbrd HyperVReplicaBlueReplicationDetails) AsInMageAzureV2ReplicationDetails() (*InMageAzureV2ReplicationDetails, bool) { + return nil, false +} + +// AsInMageReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaBlueReplicationDetails. +func (hvrbrd HyperVReplicaBlueReplicationDetails) AsInMageReplicationDetails() (*InMageReplicationDetails, bool) { + return nil, false +} + +// AsA2AReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaBlueReplicationDetails. +func (hvrbrd HyperVReplicaBlueReplicationDetails) AsA2AReplicationDetails() (*A2AReplicationDetails, bool) { + return nil, false } // HyperVReplicaPolicyDetails is hyper-V Replica Blue specific protection profile details. type HyperVReplicaPolicyDetails struct { - RecoveryPoints *int32 `json:"recoveryPoints,omitempty"` - ApplicationConsistentSnapshotFrequencyInHours *int32 `json:"applicationConsistentSnapshotFrequencyInHours,omitempty"` - Compression *string `json:"compression,omitempty"` - InitialReplicationMethod *string `json:"initialReplicationMethod,omitempty"` - OnlineReplicationStartTime *string `json:"onlineReplicationStartTime,omitempty"` - OfflineReplicationImportPath *string `json:"offlineReplicationImportPath,omitempty"` - OfflineReplicationExportPath *string `json:"offlineReplicationExportPath,omitempty"` - ReplicationPort *int32 `json:"replicationPort,omitempty"` - AllowedAuthenticationType *int32 `json:"allowedAuthenticationType,omitempty"` - ReplicaDeletionOption *string `json:"replicaDeletionOption,omitempty"` + InstanceType InstanceTypePolicyProviderSpecificDetails `json:"instanceType,omitempty"` + RecoveryPoints *int32 `json:"recoveryPoints,omitempty"` + ApplicationConsistentSnapshotFrequencyInHours *int32 `json:"applicationConsistentSnapshotFrequencyInHours,omitempty"` + Compression *string `json:"compression,omitempty"` + InitialReplicationMethod *string `json:"initialReplicationMethod,omitempty"` + OnlineReplicationStartTime *string `json:"onlineReplicationStartTime,omitempty"` + OfflineReplicationImportPath *string `json:"offlineReplicationImportPath,omitempty"` + OfflineReplicationExportPath *string `json:"offlineReplicationExportPath,omitempty"` + ReplicationPort *int32 `json:"replicationPort,omitempty"` + AllowedAuthenticationType *int32 `json:"allowedAuthenticationType,omitempty"` + ReplicaDeletionOption *string `json:"replicaDeletionOption,omitempty"` +} + +// MarshalJSON is the custom marshaler for HyperVReplicaPolicyDetails. +func (hvrpd HyperVReplicaPolicyDetails) MarshalJSON() ([]byte, error) { + hvrpd.InstanceType = InstanceTypePolicyProviderSpecificDetailsInstanceTypeHyperVReplica2012 + type Alias HyperVReplicaPolicyDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(hvrpd), + }) +} + +// AsHyperVReplicaAzurePolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaPolicyDetails. +func (hvrpd HyperVReplicaPolicyDetails) AsHyperVReplicaAzurePolicyDetails() (*HyperVReplicaAzurePolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaBasePolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaPolicyDetails. +func (hvrpd HyperVReplicaPolicyDetails) AsHyperVReplicaBasePolicyDetails() (*HyperVReplicaBasePolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaPolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaPolicyDetails. +func (hvrpd HyperVReplicaPolicyDetails) AsHyperVReplicaPolicyDetails() (*HyperVReplicaPolicyDetails, bool) { + return &hvrpd, true +} + +// AsHyperVReplicaBluePolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaPolicyDetails. +func (hvrpd HyperVReplicaPolicyDetails) AsHyperVReplicaBluePolicyDetails() (*HyperVReplicaBluePolicyDetails, bool) { + return nil, false +} + +// AsInMageBasePolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaPolicyDetails. +func (hvrpd HyperVReplicaPolicyDetails) AsInMageBasePolicyDetails() (*InMageBasePolicyDetails, bool) { + return nil, false +} + +// AsInMageAzureV2PolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaPolicyDetails. +func (hvrpd HyperVReplicaPolicyDetails) AsInMageAzureV2PolicyDetails() (*InMageAzureV2PolicyDetails, bool) { + return nil, false +} + +// AsInMagePolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaPolicyDetails. +func (hvrpd HyperVReplicaPolicyDetails) AsInMagePolicyDetails() (*InMagePolicyDetails, bool) { + return nil, false +} + +// AsA2APolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaPolicyDetails. +func (hvrpd HyperVReplicaPolicyDetails) AsA2APolicyDetails() (*A2APolicyDetails, bool) { + return nil, false +} + +// AsRcmAzureMigrationPolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaPolicyDetails. +func (hvrpd HyperVReplicaPolicyDetails) AsRcmAzureMigrationPolicyDetails() (*RcmAzureMigrationPolicyDetails, bool) { + return nil, false +} + +// AsVmwareCbtPolicyDetails is the PolicyProviderSpecificDetails implementation for HyperVReplicaPolicyDetails. +func (hvrpd HyperVReplicaPolicyDetails) AsVmwareCbtPolicyDetails() (*VmwareCbtPolicyDetails, bool) { + return nil, false } // HyperVReplicaPolicyInput is hyper-V Replica specific protection profile Input. type HyperVReplicaPolicyInput struct { - RecoveryPoints *int32 `json:"recoveryPoints,omitempty"` - ApplicationConsistentSnapshotFrequencyInHours *int32 `json:"applicationConsistentSnapshotFrequencyInHours,omitempty"` - Compression *string `json:"compression,omitempty"` - InitialReplicationMethod *string `json:"initialReplicationMethod,omitempty"` - OnlineReplicationStartTime *string `json:"onlineReplicationStartTime,omitempty"` - OfflineReplicationImportPath *string `json:"offlineReplicationImportPath,omitempty"` - OfflineReplicationExportPath *string `json:"offlineReplicationExportPath,omitempty"` - ReplicationPort *int32 `json:"replicationPort,omitempty"` - AllowedAuthenticationType *int32 `json:"allowedAuthenticationType,omitempty"` - ReplicaDeletion *string `json:"replicaDeletion,omitempty"` + InstanceType InstanceTypePolicyProviderSpecificInput `json:"instanceType,omitempty"` + RecoveryPoints *int32 `json:"recoveryPoints,omitempty"` + ApplicationConsistentSnapshotFrequencyInHours *int32 `json:"applicationConsistentSnapshotFrequencyInHours,omitempty"` + Compression *string `json:"compression,omitempty"` + InitialReplicationMethod *string `json:"initialReplicationMethod,omitempty"` + OnlineReplicationStartTime *string `json:"onlineReplicationStartTime,omitempty"` + OfflineReplicationImportPath *string `json:"offlineReplicationImportPath,omitempty"` + OfflineReplicationExportPath *string `json:"offlineReplicationExportPath,omitempty"` + ReplicationPort *int32 `json:"replicationPort,omitempty"` + AllowedAuthenticationType *int32 `json:"allowedAuthenticationType,omitempty"` + ReplicaDeletion *string `json:"replicaDeletion,omitempty"` +} + +// MarshalJSON is the custom marshaler for HyperVReplicaPolicyInput. +func (hvrpi HyperVReplicaPolicyInput) MarshalJSON() ([]byte, error) { + hvrpi.InstanceType = InstanceTypePolicyProviderSpecificInputInstanceTypeHyperVReplica2012 + type Alias HyperVReplicaPolicyInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(hvrpi), + }) +} + +// AsHyperVReplicaAzurePolicyInput is the PolicyProviderSpecificInput implementation for HyperVReplicaPolicyInput. +func (hvrpi HyperVReplicaPolicyInput) AsHyperVReplicaAzurePolicyInput() (*HyperVReplicaAzurePolicyInput, bool) { + return nil, false +} + +// AsHyperVReplicaPolicyInput is the PolicyProviderSpecificInput implementation for HyperVReplicaPolicyInput. +func (hvrpi HyperVReplicaPolicyInput) AsHyperVReplicaPolicyInput() (*HyperVReplicaPolicyInput, bool) { + return &hvrpi, true +} + +// AsHyperVReplicaBluePolicyInput is the PolicyProviderSpecificInput implementation for HyperVReplicaPolicyInput. +func (hvrpi HyperVReplicaPolicyInput) AsHyperVReplicaBluePolicyInput() (*HyperVReplicaBluePolicyInput, bool) { + return nil, false +} + +// AsInMageAzureV2PolicyInput is the PolicyProviderSpecificInput implementation for HyperVReplicaPolicyInput. +func (hvrpi HyperVReplicaPolicyInput) AsInMageAzureV2PolicyInput() (*InMageAzureV2PolicyInput, bool) { + return nil, false +} + +// AsInMagePolicyInput is the PolicyProviderSpecificInput implementation for HyperVReplicaPolicyInput. +func (hvrpi HyperVReplicaPolicyInput) AsInMagePolicyInput() (*InMagePolicyInput, bool) { + return nil, false +} + +// AsA2APolicyCreationInput is the PolicyProviderSpecificInput implementation for HyperVReplicaPolicyInput. +func (hvrpi HyperVReplicaPolicyInput) AsA2APolicyCreationInput() (*A2APolicyCreationInput, bool) { + return nil, false +} + +// AsVMwareCbtPolicyCreationInput is the PolicyProviderSpecificInput implementation for HyperVReplicaPolicyInput. +func (hvrpi HyperVReplicaPolicyInput) AsVMwareCbtPolicyCreationInput() (*VMwareCbtPolicyCreationInput, bool) { + return nil, false } // HyperVReplicaReplicationDetails is hyperV replica 2012 replication details. type HyperVReplicaReplicationDetails struct { - LastReplicatedTime *date.Time `json:"lastReplicatedTime,omitempty"` - VMNics *[]VMNicDetails `json:"vmNics,omitempty"` - VMID *string `json:"vmId,omitempty"` - VMProtectionState *string `json:"vmProtectionState,omitempty"` - VMProtectionStateDescription *string `json:"vmProtectionStateDescription,omitempty"` - InitialReplicationDetails *InitialReplicationDetails `json:"initialReplicationDetails,omitempty"` - VMDiskDetails *[]DiskDetails `json:"vMDiskDetails,omitempty"` + InstanceType InstanceTypeReplicationProviderSpecificSettings `json:"instanceType,omitempty"` + LastReplicatedTime *date.Time `json:"lastReplicatedTime,omitempty"` + VMNics *[]VMNicDetails `json:"vmNics,omitempty"` + VMID *string `json:"vmId,omitempty"` + VMProtectionState *string `json:"vmProtectionState,omitempty"` + VMProtectionStateDescription *string `json:"vmProtectionStateDescription,omitempty"` + InitialReplicationDetails *InitialReplicationDetails `json:"initialReplicationDetails,omitempty"` + VMDiskDetails *[]DiskDetails `json:"vMDiskDetails,omitempty"` +} + +// MarshalJSON is the custom marshaler for HyperVReplicaReplicationDetails. +func (hvrrd HyperVReplicaReplicationDetails) MarshalJSON() ([]byte, error) { + hvrrd.InstanceType = InstanceTypeReplicationProviderSpecificSettingsInstanceTypeHyperVReplica2012 + type Alias HyperVReplicaReplicationDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(hvrrd), + }) +} + +// AsHyperVReplicaBaseReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaReplicationDetails. +func (hvrrd HyperVReplicaReplicationDetails) AsHyperVReplicaBaseReplicationDetails() (*HyperVReplicaBaseReplicationDetails, bool) { + return nil, false +} + +// AsHyperVReplicaReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaReplicationDetails. +func (hvrrd HyperVReplicaReplicationDetails) AsHyperVReplicaReplicationDetails() (*HyperVReplicaReplicationDetails, bool) { + return &hvrrd, true +} + +// AsHyperVReplicaBlueReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaReplicationDetails. +func (hvrrd HyperVReplicaReplicationDetails) AsHyperVReplicaBlueReplicationDetails() (*HyperVReplicaBlueReplicationDetails, bool) { + return nil, false +} + +// AsHyperVReplicaAzureReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaReplicationDetails. +func (hvrrd HyperVReplicaReplicationDetails) AsHyperVReplicaAzureReplicationDetails() (*HyperVReplicaAzureReplicationDetails, bool) { + return nil, false +} + +// AsInMageAzureV2ReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaReplicationDetails. +func (hvrrd HyperVReplicaReplicationDetails) AsInMageAzureV2ReplicationDetails() (*InMageAzureV2ReplicationDetails, bool) { + return nil, false +} + +// AsInMageReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaReplicationDetails. +func (hvrrd HyperVReplicaReplicationDetails) AsInMageReplicationDetails() (*InMageReplicationDetails, bool) { + return nil, false +} + +// AsA2AReplicationDetails is the ReplicationProviderSpecificSettings implementation for HyperVReplicaReplicationDetails. +func (hvrrd HyperVReplicaReplicationDetails) AsA2AReplicationDetails() (*A2AReplicationDetails, bool) { + return nil, false } // HyperVSiteDetails is hyperVSite fabric specific details. type HyperVSiteDetails struct { + InstanceType InstanceTypeFabricSpecificDetails `json:"instanceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for HyperVSiteDetails. +func (hvsd HyperVSiteDetails) MarshalJSON() ([]byte, error) { + hvsd.InstanceType = InstanceTypeHyperVSite + type Alias HyperVSiteDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(hvsd), + }) +} + +// AsAzureFabricSpecificDetails is the FabricSpecificDetails implementation for HyperVSiteDetails. +func (hvsd HyperVSiteDetails) AsAzureFabricSpecificDetails() (*AzureFabricSpecificDetails, bool) { + return nil, false +} + +// AsVmmDetails is the FabricSpecificDetails implementation for HyperVSiteDetails. +func (hvsd HyperVSiteDetails) AsVmmDetails() (*VmmDetails, bool) { + return nil, false +} + +// AsHyperVSiteDetails is the FabricSpecificDetails implementation for HyperVSiteDetails. +func (hvsd HyperVSiteDetails) AsHyperVSiteDetails() (*HyperVSiteDetails, bool) { + return &hvsd, true +} + +// AsVMwareDetails is the FabricSpecificDetails implementation for HyperVSiteDetails. +func (hvsd HyperVSiteDetails) AsVMwareDetails() (*VMwareDetails, bool) { + return nil, false +} + +// AsVMwareV2FabricSpecificDetails is the FabricSpecificDetails implementation for HyperVSiteDetails. +func (hvsd HyperVSiteDetails) AsVMwareV2FabricSpecificDetails() (*VMwareV2FabricSpecificDetails, bool) { + return nil, false } // HyperVVirtualMachineDetails is hyper V replica provider specific settings type HyperVVirtualMachineDetails struct { - SourceItemID *string `json:"sourceItemId,omitempty"` - Generation *string `json:"generation,omitempty"` - OsDetails *OSDetails `json:"osDetails,omitempty"` - DiskDetails *[]DiskDetails `json:"diskDetails,omitempty"` + InstanceType InstanceTypeConfigurationSettings `json:"instanceType,omitempty"` + SourceItemID *string `json:"sourceItemId,omitempty"` + Generation *string `json:"generation,omitempty"` + OsDetails *OSDetails `json:"osDetails,omitempty"` + DiskDetails *[]DiskDetails `json:"diskDetails,omitempty"` +} + +// MarshalJSON is the custom marshaler for HyperVVirtualMachineDetails. +func (hvvmd HyperVVirtualMachineDetails) MarshalJSON() ([]byte, error) { + hvvmd.InstanceType = InstanceTypeHyperVVirtualMachine + type Alias HyperVVirtualMachineDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(hvvmd), + }) +} + +// AsHyperVVirtualMachineDetails is the ConfigurationSettings implementation for HyperVVirtualMachineDetails. +func (hvvmd HyperVVirtualMachineDetails) AsHyperVVirtualMachineDetails() (*HyperVVirtualMachineDetails, bool) { + return &hvvmd, true +} + +// AsVMwareVirtualMachineDetails is the ConfigurationSettings implementation for HyperVVirtualMachineDetails. +func (hvvmd HyperVVirtualMachineDetails) AsVMwareVirtualMachineDetails() (*VMwareVirtualMachineDetails, bool) { + return nil, false +} + +// AsReplicationGroupDetails is the ConfigurationSettings implementation for HyperVVirtualMachineDetails. +func (hvvmd HyperVVirtualMachineDetails) AsReplicationGroupDetails() (*ReplicationGroupDetails, bool) { + return nil, false +} + +// IdentityInformation is identity details. +type IdentityInformation struct { + IdentityProviderType IdentityProviderType `json:"identityProviderType,omitempty"` + TenantID *string `json:"tenantId,omitempty"` + ApplicationID *string `json:"applicationId,omitempty"` + ObjectID *string `json:"objectId,omitempty"` + Audience *string `json:"audience,omitempty"` + AadAuthority *string `json:"aadAuthority,omitempty"` + CertificateThumbprint *string `json:"certificateThumbprint,omitempty"` } // InconsistentVMDetails is this class stores the monitoring details for consistency check of inconsistent Protected @@ -1136,8 +4558,35 @@ type InitialReplicationDetails struct { // InlineWorkflowTaskDetails is this class represents the inline workflow task details. type InlineWorkflowTaskDetails struct { - ChildTasks *[]ASRTask `json:"childTasks,omitempty"` - WorkflowIds *[]string `json:"workflowIds,omitempty"` + ChildTasks *[]ASRTask `json:"childTasks,omitempty"` + InstanceType InstanceTypeGroupTaskDetails `json:"instanceType,omitempty"` + WorkflowIds *[]string `json:"workflowIds,omitempty"` +} + +// MarshalJSON is the custom marshaler for InlineWorkflowTaskDetails. +func (iwtd InlineWorkflowTaskDetails) MarshalJSON() ([]byte, error) { + iwtd.InstanceType = InstanceTypeInlineWorkflowTaskDetails + type Alias InlineWorkflowTaskDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(iwtd), + }) +} + +// AsInlineWorkflowTaskDetails is the GroupTaskDetails implementation for InlineWorkflowTaskDetails. +func (iwtd InlineWorkflowTaskDetails) AsInlineWorkflowTaskDetails() (*InlineWorkflowTaskDetails, bool) { + return &iwtd, true +} + +// AsRecoveryPlanGroupTaskDetails is the GroupTaskDetails implementation for InlineWorkflowTaskDetails. +func (iwtd InlineWorkflowTaskDetails) AsRecoveryPlanGroupTaskDetails() (*RecoveryPlanGroupTaskDetails, bool) { + return nil, false +} + +// AsRecoveryPlanShutdownGroupTaskDetails is the GroupTaskDetails implementation for InlineWorkflowTaskDetails. +func (iwtd InlineWorkflowTaskDetails) AsRecoveryPlanShutdownGroupTaskDetails() (*RecoveryPlanShutdownGroupTaskDetails, bool) { + return nil, false } // InMageAgentDetails is the details of the InMage agent. @@ -1149,157 +4598,606 @@ type InMageAgentDetails struct { // InMageAzureV2ApplyRecoveryPointInput is applyRecoveryPoint input specific to InMageAzureV2 provider. type InMageAzureV2ApplyRecoveryPointInput struct { - VaultLocation *string `json:"vaultLocation,omitempty"` + InstanceType InstanceType `json:"instanceType,omitempty"` + VaultLocation *string `json:"vaultLocation,omitempty"` +} + +// MarshalJSON is the custom marshaler for InMageAzureV2ApplyRecoveryPointInput. +func (imavarpi InMageAzureV2ApplyRecoveryPointInput) MarshalJSON() ([]byte, error) { + imavarpi.InstanceType = InstanceTypeInMageAzureV2 + type Alias InMageAzureV2ApplyRecoveryPointInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(imavarpi), + }) +} + +// AsHyperVReplicaAzureApplyRecoveryPointInput is the ApplyRecoveryPointProviderSpecificInput implementation for InMageAzureV2ApplyRecoveryPointInput. +func (imavarpi InMageAzureV2ApplyRecoveryPointInput) AsHyperVReplicaAzureApplyRecoveryPointInput() (*HyperVReplicaAzureApplyRecoveryPointInput, bool) { + return nil, false +} + +// AsInMageAzureV2ApplyRecoveryPointInput is the ApplyRecoveryPointProviderSpecificInput implementation for InMageAzureV2ApplyRecoveryPointInput. +func (imavarpi InMageAzureV2ApplyRecoveryPointInput) AsInMageAzureV2ApplyRecoveryPointInput() (*InMageAzureV2ApplyRecoveryPointInput, bool) { + return &imavarpi, true +} + +// AsA2AApplyRecoveryPointInput is the ApplyRecoveryPointProviderSpecificInput implementation for InMageAzureV2ApplyRecoveryPointInput. +func (imavarpi InMageAzureV2ApplyRecoveryPointInput) AsA2AApplyRecoveryPointInput() (*A2AApplyRecoveryPointInput, bool) { + return nil, false } // InMageAzureV2EnableProtectionInput is vMware Azure specific enable protection input. type InMageAzureV2EnableProtectionInput struct { - MasterTargetID *string `json:"masterTargetId,omitempty"` - ProcessServerID *string `json:"processServerId,omitempty"` - StorageAccountID *string `json:"storageAccountId,omitempty"` - RunAsAccountID *string `json:"runAsAccountId,omitempty"` - MultiVMGroupID *string `json:"multiVmGroupId,omitempty"` - MultiVMGroupName *string `json:"multiVmGroupName,omitempty"` - DisksToInclude *[]string `json:"disksToInclude,omitempty"` - TargetAzureNetworkID *string `json:"targetAzureNetworkId,omitempty"` - TargetAzureSubnetID *string `json:"targetAzureSubnetId,omitempty"` - EnableRDPOnTargetOption *string `json:"enableRDPOnTargetOption,omitempty"` - TargetAzureVMName *string `json:"targetAzureVmName,omitempty"` - LogStorageAccountID *string `json:"logStorageAccountId,omitempty"` - TargetAzureV1ResourceGroupID *string `json:"targetAzureV1ResourceGroupId,omitempty"` - TargetAzureV2ResourceGroupID *string `json:"targetAzureV2ResourceGroupId,omitempty"` - UseManagedDisks *string `json:"useManagedDisks,omitempty"` + InstanceType InstanceTypeEnableProtectionProviderSpecificInput `json:"instanceType,omitempty"` + MasterTargetID *string `json:"masterTargetId,omitempty"` + ProcessServerID *string `json:"processServerId,omitempty"` + StorageAccountID *string `json:"storageAccountId,omitempty"` + RunAsAccountID *string `json:"runAsAccountId,omitempty"` + MultiVMGroupID *string `json:"multiVmGroupId,omitempty"` + MultiVMGroupName *string `json:"multiVmGroupName,omitempty"` + DisksToInclude *[]string `json:"disksToInclude,omitempty"` + TargetAzureNetworkID *string `json:"targetAzureNetworkId,omitempty"` + TargetAzureSubnetID *string `json:"targetAzureSubnetId,omitempty"` + EnableRDPOnTargetOption *string `json:"enableRDPOnTargetOption,omitempty"` + TargetAzureVMName *string `json:"targetAzureVmName,omitempty"` + LogStorageAccountID *string `json:"logStorageAccountId,omitempty"` + TargetAzureV1ResourceGroupID *string `json:"targetAzureV1ResourceGroupId,omitempty"` + TargetAzureV2ResourceGroupID *string `json:"targetAzureV2ResourceGroupId,omitempty"` + UseManagedDisks *string `json:"useManagedDisks,omitempty"` +} + +// MarshalJSON is the custom marshaler for InMageAzureV2EnableProtectionInput. +func (imavepi InMageAzureV2EnableProtectionInput) MarshalJSON() ([]byte, error) { + imavepi.InstanceType = InstanceTypeEnableProtectionProviderSpecificInputInstanceTypeInMageAzureV2 + type Alias InMageAzureV2EnableProtectionInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(imavepi), + }) +} + +// AsHyperVReplicaAzureEnableProtectionInput is the EnableProtectionProviderSpecificInput implementation for InMageAzureV2EnableProtectionInput. +func (imavepi InMageAzureV2EnableProtectionInput) AsHyperVReplicaAzureEnableProtectionInput() (*HyperVReplicaAzureEnableProtectionInput, bool) { + return nil, false +} + +// AsSanEnableProtectionInput is the EnableProtectionProviderSpecificInput implementation for InMageAzureV2EnableProtectionInput. +func (imavepi InMageAzureV2EnableProtectionInput) AsSanEnableProtectionInput() (*SanEnableProtectionInput, bool) { + return nil, false +} + +// AsInMageAzureV2EnableProtectionInput is the EnableProtectionProviderSpecificInput implementation for InMageAzureV2EnableProtectionInput. +func (imavepi InMageAzureV2EnableProtectionInput) AsInMageAzureV2EnableProtectionInput() (*InMageAzureV2EnableProtectionInput, bool) { + return &imavepi, true +} + +// AsInMageEnableProtectionInput is the EnableProtectionProviderSpecificInput implementation for InMageAzureV2EnableProtectionInput. +func (imavepi InMageAzureV2EnableProtectionInput) AsInMageEnableProtectionInput() (*InMageEnableProtectionInput, bool) { + return nil, false +} + +// AsA2AEnableProtectionInput is the EnableProtectionProviderSpecificInput implementation for InMageAzureV2EnableProtectionInput. +func (imavepi InMageAzureV2EnableProtectionInput) AsA2AEnableProtectionInput() (*A2AEnableProtectionInput, bool) { + return nil, false } // InMageAzureV2EventDetails is model class for event details of a VMwareAzureV2 event. type InMageAzureV2EventDetails struct { - EventType *string `json:"eventType,omitempty"` - Category *string `json:"category,omitempty"` - Component *string `json:"component,omitempty"` - CorrectiveAction *string `json:"correctiveAction,omitempty"` - Details *string `json:"details,omitempty"` - Summary *string `json:"summary,omitempty"` - SiteName *string `json:"siteName,omitempty"` + InstanceType InstanceType `json:"instanceType,omitempty"` + EventType *string `json:"eventType,omitempty"` + Category *string `json:"category,omitempty"` + Component *string `json:"component,omitempty"` + CorrectiveAction *string `json:"correctiveAction,omitempty"` + Details *string `json:"details,omitempty"` + Summary *string `json:"summary,omitempty"` + SiteName *string `json:"siteName,omitempty"` +} + +// MarshalJSON is the custom marshaler for InMageAzureV2EventDetails. +func (imaved InMageAzureV2EventDetails) MarshalJSON() ([]byte, error) { + imaved.InstanceType = InstanceTypeInMageAzureV2 + type Alias InMageAzureV2EventDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(imaved), + }) +} + +// AsHyperVReplicaBaseEventDetails is the EventProviderSpecificDetails implementation for InMageAzureV2EventDetails. +func (imaved InMageAzureV2EventDetails) AsHyperVReplicaBaseEventDetails() (*HyperVReplicaBaseEventDetails, bool) { + return nil, false +} + +// AsHyperVReplica2012EventDetails is the EventProviderSpecificDetails implementation for InMageAzureV2EventDetails. +func (imaved InMageAzureV2EventDetails) AsHyperVReplica2012EventDetails() (*HyperVReplica2012EventDetails, bool) { + return nil, false +} + +// AsHyperVReplica2012R2EventDetails is the EventProviderSpecificDetails implementation for InMageAzureV2EventDetails. +func (imaved InMageAzureV2EventDetails) AsHyperVReplica2012R2EventDetails() (*HyperVReplica2012R2EventDetails, bool) { + return nil, false +} + +// AsHyperVReplicaAzureEventDetails is the EventProviderSpecificDetails implementation for InMageAzureV2EventDetails. +func (imaved InMageAzureV2EventDetails) AsHyperVReplicaAzureEventDetails() (*HyperVReplicaAzureEventDetails, bool) { + return nil, false +} + +// AsA2AEventDetails is the EventProviderSpecificDetails implementation for InMageAzureV2EventDetails. +func (imaved InMageAzureV2EventDetails) AsA2AEventDetails() (*A2AEventDetails, bool) { + return nil, false +} + +// AsInMageAzureV2EventDetails is the EventProviderSpecificDetails implementation for InMageAzureV2EventDetails. +func (imaved InMageAzureV2EventDetails) AsInMageAzureV2EventDetails() (*InMageAzureV2EventDetails, bool) { + return &imaved, true } // InMageAzureV2FailoverProviderInput is inMageAzureV2 provider specific input for failover. type InMageAzureV2FailoverProviderInput struct { - VaultLocation *string `json:"vaultLocation,omitempty"` - RecoveryPointID *string `json:"recoveryPointId,omitempty"` + InstanceType InstanceTypeProviderSpecificFailoverInput `json:"instanceType,omitempty"` + VaultLocation *string `json:"vaultLocation,omitempty"` + RecoveryPointID *string `json:"recoveryPointId,omitempty"` +} + +// MarshalJSON is the custom marshaler for InMageAzureV2FailoverProviderInput. +func (imavfpi InMageAzureV2FailoverProviderInput) MarshalJSON() ([]byte, error) { + imavfpi.InstanceType = InstanceTypeProviderSpecificFailoverInputInstanceTypeInMageAzureV2 + type Alias InMageAzureV2FailoverProviderInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(imavfpi), + }) +} + +// AsHyperVReplicaAzureFailoverProviderInput is the ProviderSpecificFailoverInput implementation for InMageAzureV2FailoverProviderInput. +func (imavfpi InMageAzureV2FailoverProviderInput) AsHyperVReplicaAzureFailoverProviderInput() (*HyperVReplicaAzureFailoverProviderInput, bool) { + return nil, false +} + +// AsHyperVReplicaAzureFailbackProviderInput is the ProviderSpecificFailoverInput implementation for InMageAzureV2FailoverProviderInput. +func (imavfpi InMageAzureV2FailoverProviderInput) AsHyperVReplicaAzureFailbackProviderInput() (*HyperVReplicaAzureFailbackProviderInput, bool) { + return nil, false +} + +// AsInMageAzureV2FailoverProviderInput is the ProviderSpecificFailoverInput implementation for InMageAzureV2FailoverProviderInput. +func (imavfpi InMageAzureV2FailoverProviderInput) AsInMageAzureV2FailoverProviderInput() (*InMageAzureV2FailoverProviderInput, bool) { + return &imavfpi, true +} + +// AsInMageFailoverProviderInput is the ProviderSpecificFailoverInput implementation for InMageAzureV2FailoverProviderInput. +func (imavfpi InMageAzureV2FailoverProviderInput) AsInMageFailoverProviderInput() (*InMageFailoverProviderInput, bool) { + return nil, false +} + +// AsA2AFailoverProviderInput is the ProviderSpecificFailoverInput implementation for InMageAzureV2FailoverProviderInput. +func (imavfpi InMageAzureV2FailoverProviderInput) AsA2AFailoverProviderInput() (*A2AFailoverProviderInput, bool) { + return nil, false } // InMageAzureV2PolicyDetails is inMage Azure v2 specific protection profile details. type InMageAzureV2PolicyDetails struct { - CrashConsistentFrequencyInMinutes *int32 `json:"crashConsistentFrequencyInMinutes,omitempty"` - RecoveryPointThresholdInMinutes *int32 `json:"recoveryPointThresholdInMinutes,omitempty"` - RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` - AppConsistentFrequencyInMinutes *int32 `json:"appConsistentFrequencyInMinutes,omitempty"` - MultiVMSyncStatus *string `json:"multiVmSyncStatus,omitempty"` + InstanceType InstanceTypePolicyProviderSpecificDetails `json:"instanceType,omitempty"` + CrashConsistentFrequencyInMinutes *int32 `json:"crashConsistentFrequencyInMinutes,omitempty"` + RecoveryPointThresholdInMinutes *int32 `json:"recoveryPointThresholdInMinutes,omitempty"` + RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` + AppConsistentFrequencyInMinutes *int32 `json:"appConsistentFrequencyInMinutes,omitempty"` + MultiVMSyncStatus *string `json:"multiVmSyncStatus,omitempty"` +} + +// MarshalJSON is the custom marshaler for InMageAzureV2PolicyDetails. +func (imavpd InMageAzureV2PolicyDetails) MarshalJSON() ([]byte, error) { + imavpd.InstanceType = InstanceTypePolicyProviderSpecificDetailsInstanceTypeInMageAzureV2 + type Alias InMageAzureV2PolicyDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(imavpd), + }) +} + +// AsHyperVReplicaAzurePolicyDetails is the PolicyProviderSpecificDetails implementation for InMageAzureV2PolicyDetails. +func (imavpd InMageAzureV2PolicyDetails) AsHyperVReplicaAzurePolicyDetails() (*HyperVReplicaAzurePolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaBasePolicyDetails is the PolicyProviderSpecificDetails implementation for InMageAzureV2PolicyDetails. +func (imavpd InMageAzureV2PolicyDetails) AsHyperVReplicaBasePolicyDetails() (*HyperVReplicaBasePolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaPolicyDetails is the PolicyProviderSpecificDetails implementation for InMageAzureV2PolicyDetails. +func (imavpd InMageAzureV2PolicyDetails) AsHyperVReplicaPolicyDetails() (*HyperVReplicaPolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaBluePolicyDetails is the PolicyProviderSpecificDetails implementation for InMageAzureV2PolicyDetails. +func (imavpd InMageAzureV2PolicyDetails) AsHyperVReplicaBluePolicyDetails() (*HyperVReplicaBluePolicyDetails, bool) { + return nil, false +} + +// AsInMageBasePolicyDetails is the PolicyProviderSpecificDetails implementation for InMageAzureV2PolicyDetails. +func (imavpd InMageAzureV2PolicyDetails) AsInMageBasePolicyDetails() (*InMageBasePolicyDetails, bool) { + return nil, false +} + +// AsInMageAzureV2PolicyDetails is the PolicyProviderSpecificDetails implementation for InMageAzureV2PolicyDetails. +func (imavpd InMageAzureV2PolicyDetails) AsInMageAzureV2PolicyDetails() (*InMageAzureV2PolicyDetails, bool) { + return &imavpd, true +} + +// AsInMagePolicyDetails is the PolicyProviderSpecificDetails implementation for InMageAzureV2PolicyDetails. +func (imavpd InMageAzureV2PolicyDetails) AsInMagePolicyDetails() (*InMagePolicyDetails, bool) { + return nil, false +} + +// AsA2APolicyDetails is the PolicyProviderSpecificDetails implementation for InMageAzureV2PolicyDetails. +func (imavpd InMageAzureV2PolicyDetails) AsA2APolicyDetails() (*A2APolicyDetails, bool) { + return nil, false +} + +// AsRcmAzureMigrationPolicyDetails is the PolicyProviderSpecificDetails implementation for InMageAzureV2PolicyDetails. +func (imavpd InMageAzureV2PolicyDetails) AsRcmAzureMigrationPolicyDetails() (*RcmAzureMigrationPolicyDetails, bool) { + return nil, false +} + +// AsVmwareCbtPolicyDetails is the PolicyProviderSpecificDetails implementation for InMageAzureV2PolicyDetails. +func (imavpd InMageAzureV2PolicyDetails) AsVmwareCbtPolicyDetails() (*VmwareCbtPolicyDetails, bool) { + return nil, false } // InMageAzureV2PolicyInput is vMWare Azure specific protection profile Input. type InMageAzureV2PolicyInput struct { - RecoveryPointThresholdInMinutes *int32 `json:"recoveryPointThresholdInMinutes,omitempty"` - RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` - CrashConsistentFrequencyInMinutes *int32 `json:"crashConsistentFrequencyInMinutes,omitempty"` - AppConsistentFrequencyInMinutes *int32 `json:"appConsistentFrequencyInMinutes,omitempty"` - MultiVMSyncStatus SetMultiVMSyncStatus `json:"multiVmSyncStatus,omitempty"` + InstanceType InstanceTypePolicyProviderSpecificInput `json:"instanceType,omitempty"` + RecoveryPointThresholdInMinutes *int32 `json:"recoveryPointThresholdInMinutes,omitempty"` + RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` + CrashConsistentFrequencyInMinutes *int32 `json:"crashConsistentFrequencyInMinutes,omitempty"` + AppConsistentFrequencyInMinutes *int32 `json:"appConsistentFrequencyInMinutes,omitempty"` + MultiVMSyncStatus SetMultiVMSyncStatus `json:"multiVmSyncStatus,omitempty"` +} + +// MarshalJSON is the custom marshaler for InMageAzureV2PolicyInput. +func (imavpi InMageAzureV2PolicyInput) MarshalJSON() ([]byte, error) { + imavpi.InstanceType = InstanceTypePolicyProviderSpecificInputInstanceTypeInMageAzureV2 + type Alias InMageAzureV2PolicyInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(imavpi), + }) +} + +// AsHyperVReplicaAzurePolicyInput is the PolicyProviderSpecificInput implementation for InMageAzureV2PolicyInput. +func (imavpi InMageAzureV2PolicyInput) AsHyperVReplicaAzurePolicyInput() (*HyperVReplicaAzurePolicyInput, bool) { + return nil, false +} + +// AsHyperVReplicaPolicyInput is the PolicyProviderSpecificInput implementation for InMageAzureV2PolicyInput. +func (imavpi InMageAzureV2PolicyInput) AsHyperVReplicaPolicyInput() (*HyperVReplicaPolicyInput, bool) { + return nil, false +} + +// AsHyperVReplicaBluePolicyInput is the PolicyProviderSpecificInput implementation for InMageAzureV2PolicyInput. +func (imavpi InMageAzureV2PolicyInput) AsHyperVReplicaBluePolicyInput() (*HyperVReplicaBluePolicyInput, bool) { + return nil, false +} + +// AsInMageAzureV2PolicyInput is the PolicyProviderSpecificInput implementation for InMageAzureV2PolicyInput. +func (imavpi InMageAzureV2PolicyInput) AsInMageAzureV2PolicyInput() (*InMageAzureV2PolicyInput, bool) { + return &imavpi, true +} + +// AsInMagePolicyInput is the PolicyProviderSpecificInput implementation for InMageAzureV2PolicyInput. +func (imavpi InMageAzureV2PolicyInput) AsInMagePolicyInput() (*InMagePolicyInput, bool) { + return nil, false +} + +// AsA2APolicyCreationInput is the PolicyProviderSpecificInput implementation for InMageAzureV2PolicyInput. +func (imavpi InMageAzureV2PolicyInput) AsA2APolicyCreationInput() (*A2APolicyCreationInput, bool) { + return nil, false +} + +// AsVMwareCbtPolicyCreationInput is the PolicyProviderSpecificInput implementation for InMageAzureV2PolicyInput. +func (imavpi InMageAzureV2PolicyInput) AsVMwareCbtPolicyCreationInput() (*VMwareCbtPolicyCreationInput, bool) { + return nil, false } // InMageAzureV2ProtectedDiskDetails is inMageAzureV2 protected disk details. type InMageAzureV2ProtectedDiskDetails struct { - DiskID *string `json:"diskId,omitempty"` - DiskName *string `json:"diskName,omitempty"` - ProtectionStage *string `json:"protectionStage,omitempty"` - HealthErrorCode *string `json:"healthErrorCode,omitempty"` - RpoInSeconds *int64 `json:"rpoInSeconds,omitempty"` - ResyncRequired *string `json:"resyncRequired,omitempty"` - ResyncProgressPercentage *int32 `json:"resyncProgressPercentage,omitempty"` - ResyncDurationInSeconds *int64 `json:"resyncDurationInSeconds,omitempty"` - DiskCapacityInBytes *int64 `json:"diskCapacityInBytes,omitempty"` - FileSystemCapacityInBytes *int64 `json:"fileSystemCapacityInBytes,omitempty"` - SourceDataInMegaBytes *float64 `json:"sourceDataInMegaBytes,omitempty"` - PsDataInMegaBytes *float64 `json:"psDataInMegaBytes,omitempty"` - TargetDataInMegaBytes *float64 `json:"targetDataInMegaBytes,omitempty"` - DiskResized *string `json:"diskResized,omitempty"` + DiskID *string `json:"diskId,omitempty"` + DiskName *string `json:"diskName,omitempty"` + ProtectionStage *string `json:"protectionStage,omitempty"` + HealthErrorCode *string `json:"healthErrorCode,omitempty"` + RpoInSeconds *int64 `json:"rpoInSeconds,omitempty"` + ResyncRequired *string `json:"resyncRequired,omitempty"` + ResyncProgressPercentage *int32 `json:"resyncProgressPercentage,omitempty"` + ResyncDurationInSeconds *int64 `json:"resyncDurationInSeconds,omitempty"` + DiskCapacityInBytes *int64 `json:"diskCapacityInBytes,omitempty"` + FileSystemCapacityInBytes *int64 `json:"fileSystemCapacityInBytes,omitempty"` + SourceDataInMegaBytes *float64 `json:"sourceDataInMegaBytes,omitempty"` + PsDataInMegaBytes *float64 `json:"psDataInMegaBytes,omitempty"` + TargetDataInMegaBytes *float64 `json:"targetDataInMegaBytes,omitempty"` + DiskResized *string `json:"diskResized,omitempty"` + LastRpoCalculatedTime *date.Time `json:"lastRpoCalculatedTime,omitempty"` +} + +// InMageAzureV2RecoveryPointDetails is inMage Azure V2 provider specific recovery point details. +type InMageAzureV2RecoveryPointDetails struct { + Type *string `json:"Type,omitempty"` + InstanceType *string `json:"instanceType,omitempty"` + IsMultiVMSyncPoint *string `json:"isMultiVmSyncPoint,omitempty"` } // InMageAzureV2ReplicationDetails is inMageAzureV2 provider specific settings type InMageAzureV2ReplicationDetails struct { - InfrastructureVMID *string `json:"infrastructureVmId,omitempty"` - VCenterInfrastructureID *string `json:"vCenterInfrastructureId,omitempty"` - ProtectionStage *string `json:"protectionStage,omitempty"` - VMID *string `json:"vmId,omitempty"` - VMProtectionState *string `json:"vmProtectionState,omitempty"` - VMProtectionStateDescription *string `json:"vmProtectionStateDescription,omitempty"` - ResyncProgressPercentage *int32 `json:"resyncProgressPercentage,omitempty"` - RpoInSeconds *int64 `json:"rpoInSeconds,omitempty"` - CompressedDataRateInMB *float64 `json:"compressedDataRateInMB,omitempty"` - UncompressedDataRateInMB *float64 `json:"uncompressedDataRateInMB,omitempty"` - IPAddress *string `json:"ipAddress,omitempty"` - AgentVersion *string `json:"agentVersion,omitempty"` - IsAgentUpdateRequired *string `json:"isAgentUpdateRequired,omitempty"` - IsRebootAfterUpdateRequired *string `json:"isRebootAfterUpdateRequired,omitempty"` - LastHeartbeat *date.Time `json:"lastHeartbeat,omitempty"` - ProcessServerID *string `json:"processServerId,omitempty"` - MultiVMGroupID *string `json:"multiVmGroupId,omitempty"` - MultiVMGroupName *string `json:"multiVmGroupName,omitempty"` - MultiVMSyncStatus *string `json:"multiVmSyncStatus,omitempty"` - ProtectedDisks *[]InMageAzureV2ProtectedDiskDetails `json:"protectedDisks,omitempty"` - DiskResized *string `json:"diskResized,omitempty"` - MasterTargetID *string `json:"masterTargetId,omitempty"` - SourceVMCPUCount *int32 `json:"sourceVmCPUCount,omitempty"` - SourceVMRAMSizeInMB *int32 `json:"sourceVmRAMSizeInMB,omitempty"` - OsType *string `json:"osType,omitempty"` - VhdName *string `json:"vhdName,omitempty"` - OsDiskID *string `json:"osDiskId,omitempty"` - AzureVMDiskDetails *[]AzureVMDiskDetails `json:"azureVMDiskDetails,omitempty"` - RecoveryAzureVMName *string `json:"recoveryAzureVMName,omitempty"` - RecoveryAzureVMSize *string `json:"recoveryAzureVMSize,omitempty"` - RecoveryAzureStorageAccount *string `json:"recoveryAzureStorageAccount,omitempty"` - RecoveryAzureLogStorageAccountID *string `json:"recoveryAzureLogStorageAccountId,omitempty"` - VMNics *[]VMNicDetails `json:"vmNics,omitempty"` - SelectedRecoveryAzureNetworkID *string `json:"selectedRecoveryAzureNetworkId,omitempty"` - DiscoveryType *string `json:"discoveryType,omitempty"` - EnableRDPOnTargetOption *string `json:"enableRDPOnTargetOption,omitempty"` - Datastores *[]string `json:"datastores,omitempty"` - TargetVMID *string `json:"targetVmId,omitempty"` - RecoveryAzureResourceGroupID *string `json:"recoveryAzureResourceGroupId,omitempty"` - RecoveryAvailabilitySetID *string `json:"recoveryAvailabilitySetId,omitempty"` - UseManagedDisks *string `json:"useManagedDisks,omitempty"` - LicenseType *string `json:"licenseType,omitempty"` - ValidationErrors *[]HealthError `json:"validationErrors,omitempty"` + InstanceType InstanceTypeReplicationProviderSpecificSettings `json:"instanceType,omitempty"` + InfrastructureVMID *string `json:"infrastructureVmId,omitempty"` + VCenterInfrastructureID *string `json:"vCenterInfrastructureId,omitempty"` + ProtectionStage *string `json:"protectionStage,omitempty"` + VMID *string `json:"vmId,omitempty"` + VMProtectionState *string `json:"vmProtectionState,omitempty"` + VMProtectionStateDescription *string `json:"vmProtectionStateDescription,omitempty"` + ResyncProgressPercentage *int32 `json:"resyncProgressPercentage,omitempty"` + RpoInSeconds *int64 `json:"rpoInSeconds,omitempty"` + CompressedDataRateInMB *float64 `json:"compressedDataRateInMB,omitempty"` + UncompressedDataRateInMB *float64 `json:"uncompressedDataRateInMB,omitempty"` + IPAddress *string `json:"ipAddress,omitempty"` + AgentVersion *string `json:"agentVersion,omitempty"` + IsAgentUpdateRequired *string `json:"isAgentUpdateRequired,omitempty"` + IsRebootAfterUpdateRequired *string `json:"isRebootAfterUpdateRequired,omitempty"` + LastHeartbeat *date.Time `json:"lastHeartbeat,omitempty"` + ProcessServerID *string `json:"processServerId,omitempty"` + MultiVMGroupID *string `json:"multiVmGroupId,omitempty"` + MultiVMGroupName *string `json:"multiVmGroupName,omitempty"` + MultiVMSyncStatus *string `json:"multiVmSyncStatus,omitempty"` + ProtectedDisks *[]InMageAzureV2ProtectedDiskDetails `json:"protectedDisks,omitempty"` + DiskResized *string `json:"diskResized,omitempty"` + MasterTargetID *string `json:"masterTargetId,omitempty"` + SourceVMCPUCount *int32 `json:"sourceVmCPUCount,omitempty"` + SourceVMRAMSizeInMB *int32 `json:"sourceVmRAMSizeInMB,omitempty"` + OsType *string `json:"osType,omitempty"` + VhdName *string `json:"vhdName,omitempty"` + OsDiskID *string `json:"osDiskId,omitempty"` + AzureVMDiskDetails *[]AzureVMDiskDetails `json:"azureVMDiskDetails,omitempty"` + RecoveryAzureVMName *string `json:"recoveryAzureVMName,omitempty"` + RecoveryAzureVMSize *string `json:"recoveryAzureVMSize,omitempty"` + RecoveryAzureStorageAccount *string `json:"recoveryAzureStorageAccount,omitempty"` + RecoveryAzureLogStorageAccountID *string `json:"recoveryAzureLogStorageAccountId,omitempty"` + VMNics *[]VMNicDetails `json:"vmNics,omitempty"` + SelectedRecoveryAzureNetworkID *string `json:"selectedRecoveryAzureNetworkId,omitempty"` + DiscoveryType *string `json:"discoveryType,omitempty"` + EnableRDPOnTargetOption *string `json:"enableRDPOnTargetOption,omitempty"` + Datastores *[]string `json:"datastores,omitempty"` + TargetVMID *string `json:"targetVmId,omitempty"` + RecoveryAzureResourceGroupID *string `json:"recoveryAzureResourceGroupId,omitempty"` + RecoveryAvailabilitySetID *string `json:"recoveryAvailabilitySetId,omitempty"` + UseManagedDisks *string `json:"useManagedDisks,omitempty"` + LicenseType *string `json:"licenseType,omitempty"` + ValidationErrors *[]HealthError `json:"validationErrors,omitempty"` + LastRpoCalculatedTime *date.Time `json:"lastRpoCalculatedTime,omitempty"` + LastUpdateReceivedTime *date.Time `json:"lastUpdateReceivedTime,omitempty"` + ReplicaID *string `json:"replicaId,omitempty"` + OsVersion *string `json:"osVersion,omitempty"` +} + +// MarshalJSON is the custom marshaler for InMageAzureV2ReplicationDetails. +func (imavrd InMageAzureV2ReplicationDetails) MarshalJSON() ([]byte, error) { + imavrd.InstanceType = InstanceTypeReplicationProviderSpecificSettingsInstanceTypeInMageAzureV2 + type Alias InMageAzureV2ReplicationDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(imavrd), + }) +} + +// AsHyperVReplicaBaseReplicationDetails is the ReplicationProviderSpecificSettings implementation for InMageAzureV2ReplicationDetails. +func (imavrd InMageAzureV2ReplicationDetails) AsHyperVReplicaBaseReplicationDetails() (*HyperVReplicaBaseReplicationDetails, bool) { + return nil, false +} + +// AsHyperVReplicaReplicationDetails is the ReplicationProviderSpecificSettings implementation for InMageAzureV2ReplicationDetails. +func (imavrd InMageAzureV2ReplicationDetails) AsHyperVReplicaReplicationDetails() (*HyperVReplicaReplicationDetails, bool) { + return nil, false +} + +// AsHyperVReplicaBlueReplicationDetails is the ReplicationProviderSpecificSettings implementation for InMageAzureV2ReplicationDetails. +func (imavrd InMageAzureV2ReplicationDetails) AsHyperVReplicaBlueReplicationDetails() (*HyperVReplicaBlueReplicationDetails, bool) { + return nil, false +} + +// AsHyperVReplicaAzureReplicationDetails is the ReplicationProviderSpecificSettings implementation for InMageAzureV2ReplicationDetails. +func (imavrd InMageAzureV2ReplicationDetails) AsHyperVReplicaAzureReplicationDetails() (*HyperVReplicaAzureReplicationDetails, bool) { + return nil, false +} + +// AsInMageAzureV2ReplicationDetails is the ReplicationProviderSpecificSettings implementation for InMageAzureV2ReplicationDetails. +func (imavrd InMageAzureV2ReplicationDetails) AsInMageAzureV2ReplicationDetails() (*InMageAzureV2ReplicationDetails, bool) { + return &imavrd, true +} + +// AsInMageReplicationDetails is the ReplicationProviderSpecificSettings implementation for InMageAzureV2ReplicationDetails. +func (imavrd InMageAzureV2ReplicationDetails) AsInMageReplicationDetails() (*InMageReplicationDetails, bool) { + return nil, false +} + +// AsA2AReplicationDetails is the ReplicationProviderSpecificSettings implementation for InMageAzureV2ReplicationDetails. +func (imavrd InMageAzureV2ReplicationDetails) AsA2AReplicationDetails() (*A2AReplicationDetails, bool) { + return nil, false } // InMageAzureV2ReprotectInput is inMageAzureV2 specific provider input. type InMageAzureV2ReprotectInput struct { - MasterTargetID *string `json:"masterTargetId,omitempty"` - ProcessServerID *string `json:"processServerId,omitempty"` - StorageAccountID *string `json:"storageAccountId,omitempty"` - RunAsAccountID *string `json:"runAsAccountId,omitempty"` - PolicyID *string `json:"policyId,omitempty"` - LogStorageAccountID *string `json:"logStorageAccountId,omitempty"` - DisksToInclude *[]string `json:"disksToInclude,omitempty"` + InstanceType InstanceTypeReverseReplicationProviderSpecificInput `json:"instanceType,omitempty"` + MasterTargetID *string `json:"masterTargetId,omitempty"` + ProcessServerID *string `json:"processServerId,omitempty"` + StorageAccountID *string `json:"storageAccountId,omitempty"` + RunAsAccountID *string `json:"runAsAccountId,omitempty"` + PolicyID *string `json:"policyId,omitempty"` + LogStorageAccountID *string `json:"logStorageAccountId,omitempty"` + DisksToInclude *[]string `json:"disksToInclude,omitempty"` +} + +// MarshalJSON is the custom marshaler for InMageAzureV2ReprotectInput. +func (imavri InMageAzureV2ReprotectInput) MarshalJSON() ([]byte, error) { + imavri.InstanceType = InstanceTypeReverseReplicationProviderSpecificInputInstanceTypeInMageAzureV2 + type Alias InMageAzureV2ReprotectInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(imavri), + }) +} + +// AsHyperVReplicaAzureReprotectInput is the ReverseReplicationProviderSpecificInput implementation for InMageAzureV2ReprotectInput. +func (imavri InMageAzureV2ReprotectInput) AsHyperVReplicaAzureReprotectInput() (*HyperVReplicaAzureReprotectInput, bool) { + return nil, false +} + +// AsInMageAzureV2ReprotectInput is the ReverseReplicationProviderSpecificInput implementation for InMageAzureV2ReprotectInput. +func (imavri InMageAzureV2ReprotectInput) AsInMageAzureV2ReprotectInput() (*InMageAzureV2ReprotectInput, bool) { + return &imavri, true +} + +// AsInMageReprotectInput is the ReverseReplicationProviderSpecificInput implementation for InMageAzureV2ReprotectInput. +func (imavri InMageAzureV2ReprotectInput) AsInMageReprotectInput() (*InMageReprotectInput, bool) { + return nil, false +} + +// AsA2AReprotectInput is the ReverseReplicationProviderSpecificInput implementation for InMageAzureV2ReprotectInput. +func (imavri InMageAzureV2ReprotectInput) AsA2AReprotectInput() (*A2AReprotectInput, bool) { + return nil, false } // InMageAzureV2UpdateReplicationProtectedItemInput is inMage Azure V2 input to update replication protected item. type InMageAzureV2UpdateReplicationProtectedItemInput struct { - RecoveryAzureV1ResourceGroupID *string `json:"recoveryAzureV1ResourceGroupId,omitempty"` - RecoveryAzureV2ResourceGroupID *string `json:"recoveryAzureV2ResourceGroupId,omitempty"` - UseManagedDisks *string `json:"useManagedDisks,omitempty"` + InstanceType InstanceType `json:"instanceType,omitempty"` + RecoveryAzureV1ResourceGroupID *string `json:"recoveryAzureV1ResourceGroupId,omitempty"` + RecoveryAzureV2ResourceGroupID *string `json:"recoveryAzureV2ResourceGroupId,omitempty"` + UseManagedDisks *string `json:"useManagedDisks,omitempty"` +} + +// MarshalJSON is the custom marshaler for InMageAzureV2UpdateReplicationProtectedItemInput. +func (imavurpii InMageAzureV2UpdateReplicationProtectedItemInput) MarshalJSON() ([]byte, error) { + imavurpii.InstanceType = InstanceTypeInMageAzureV2 + type Alias InMageAzureV2UpdateReplicationProtectedItemInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(imavurpii), + }) +} + +// AsHyperVReplicaAzureUpdateReplicationProtectedItemInput is the UpdateReplicationProtectedItemProviderInput implementation for InMageAzureV2UpdateReplicationProtectedItemInput. +func (imavurpii InMageAzureV2UpdateReplicationProtectedItemInput) AsHyperVReplicaAzureUpdateReplicationProtectedItemInput() (*HyperVReplicaAzureUpdateReplicationProtectedItemInput, bool) { + return nil, false +} + +// AsInMageAzureV2UpdateReplicationProtectedItemInput is the UpdateReplicationProtectedItemProviderInput implementation for InMageAzureV2UpdateReplicationProtectedItemInput. +func (imavurpii InMageAzureV2UpdateReplicationProtectedItemInput) AsInMageAzureV2UpdateReplicationProtectedItemInput() (*InMageAzureV2UpdateReplicationProtectedItemInput, bool) { + return &imavurpii, true +} + +// AsA2AUpdateReplicationProtectedItemInput is the UpdateReplicationProtectedItemProviderInput implementation for InMageAzureV2UpdateReplicationProtectedItemInput. +func (imavurpii InMageAzureV2UpdateReplicationProtectedItemInput) AsA2AUpdateReplicationProtectedItemInput() (*A2AUpdateReplicationProtectedItemInput, bool) { + return nil, false } // InMageBasePolicyDetails is base class for the policies of providers using InMage replication. type InMageBasePolicyDetails struct { - RecoveryPointThresholdInMinutes *int32 `json:"recoveryPointThresholdInMinutes,omitempty"` - RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` - AppConsistentFrequencyInMinutes *int32 `json:"appConsistentFrequencyInMinutes,omitempty"` - MultiVMSyncStatus *string `json:"multiVmSyncStatus,omitempty"` + InstanceType InstanceTypePolicyProviderSpecificDetails `json:"instanceType,omitempty"` + RecoveryPointThresholdInMinutes *int32 `json:"recoveryPointThresholdInMinutes,omitempty"` + RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` + AppConsistentFrequencyInMinutes *int32 `json:"appConsistentFrequencyInMinutes,omitempty"` + MultiVMSyncStatus *string `json:"multiVmSyncStatus,omitempty"` +} + +// MarshalJSON is the custom marshaler for InMageBasePolicyDetails. +func (imbpd InMageBasePolicyDetails) MarshalJSON() ([]byte, error) { + imbpd.InstanceType = InstanceTypePolicyProviderSpecificDetailsInstanceTypeInMageBasePolicyDetails + type Alias InMageBasePolicyDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(imbpd), + }) +} + +// AsHyperVReplicaAzurePolicyDetails is the PolicyProviderSpecificDetails implementation for InMageBasePolicyDetails. +func (imbpd InMageBasePolicyDetails) AsHyperVReplicaAzurePolicyDetails() (*HyperVReplicaAzurePolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaBasePolicyDetails is the PolicyProviderSpecificDetails implementation for InMageBasePolicyDetails. +func (imbpd InMageBasePolicyDetails) AsHyperVReplicaBasePolicyDetails() (*HyperVReplicaBasePolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaPolicyDetails is the PolicyProviderSpecificDetails implementation for InMageBasePolicyDetails. +func (imbpd InMageBasePolicyDetails) AsHyperVReplicaPolicyDetails() (*HyperVReplicaPolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaBluePolicyDetails is the PolicyProviderSpecificDetails implementation for InMageBasePolicyDetails. +func (imbpd InMageBasePolicyDetails) AsHyperVReplicaBluePolicyDetails() (*HyperVReplicaBluePolicyDetails, bool) { + return nil, false +} + +// AsInMageBasePolicyDetails is the PolicyProviderSpecificDetails implementation for InMageBasePolicyDetails. +func (imbpd InMageBasePolicyDetails) AsInMageBasePolicyDetails() (*InMageBasePolicyDetails, bool) { + return &imbpd, true +} + +// AsInMageAzureV2PolicyDetails is the PolicyProviderSpecificDetails implementation for InMageBasePolicyDetails. +func (imbpd InMageBasePolicyDetails) AsInMageAzureV2PolicyDetails() (*InMageAzureV2PolicyDetails, bool) { + return nil, false +} + +// AsInMagePolicyDetails is the PolicyProviderSpecificDetails implementation for InMageBasePolicyDetails. +func (imbpd InMageBasePolicyDetails) AsInMagePolicyDetails() (*InMagePolicyDetails, bool) { + return nil, false +} + +// AsA2APolicyDetails is the PolicyProviderSpecificDetails implementation for InMageBasePolicyDetails. +func (imbpd InMageBasePolicyDetails) AsA2APolicyDetails() (*A2APolicyDetails, bool) { + return nil, false +} + +// AsRcmAzureMigrationPolicyDetails is the PolicyProviderSpecificDetails implementation for InMageBasePolicyDetails. +func (imbpd InMageBasePolicyDetails) AsRcmAzureMigrationPolicyDetails() (*RcmAzureMigrationPolicyDetails, bool) { + return nil, false +} + +// AsVmwareCbtPolicyDetails is the PolicyProviderSpecificDetails implementation for InMageBasePolicyDetails. +func (imbpd InMageBasePolicyDetails) AsVmwareCbtPolicyDetails() (*VmwareCbtPolicyDetails, bool) { + return nil, false } // InMageDisableProtectionProviderSpecificInput is inMage disable protection provider specific input. type InMageDisableProtectionProviderSpecificInput struct { - ReplicaVMDeletionStatus *string `json:"replicaVmDeletionStatus,omitempty"` + InstanceType InstanceTypeDisableProtectionProviderSpecificInput `json:"instanceType,omitempty"` + ReplicaVMDeletionStatus *string `json:"replicaVmDeletionStatus,omitempty"` +} + +// MarshalJSON is the custom marshaler for InMageDisableProtectionProviderSpecificInput. +func (imdppsi InMageDisableProtectionProviderSpecificInput) MarshalJSON() ([]byte, error) { + imdppsi.InstanceType = InstanceTypeInMage + type Alias InMageDisableProtectionProviderSpecificInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(imdppsi), + }) +} + +// AsInMageDisableProtectionProviderSpecificInput is the DisableProtectionProviderSpecificInput implementation for InMageDisableProtectionProviderSpecificInput. +func (imdppsi InMageDisableProtectionProviderSpecificInput) AsInMageDisableProtectionProviderSpecificInput() (*InMageDisableProtectionProviderSpecificInput, bool) { + return &imdppsi, true } // InMageDiskDetails is vMware/Physical specific Disk Details @@ -1326,105 +5224,372 @@ type InMageDiskSignatureExclusionOptions struct { // InMageEnableProtectionInput is vMware Azure specific enable protection input. type InMageEnableProtectionInput struct { - VMFriendlyName *string `json:"vmFriendlyName,omitempty"` - MasterTargetID *string `json:"masterTargetId,omitempty"` - ProcessServerID *string `json:"processServerId,omitempty"` - RetentionDrive *string `json:"retentionDrive,omitempty"` - RunAsAccountID *string `json:"runAsAccountId,omitempty"` - MultiVMGroupID *string `json:"multiVmGroupId,omitempty"` - MultiVMGroupName *string `json:"multiVmGroupName,omitempty"` - DatastoreName *string `json:"datastoreName,omitempty"` - DiskExclusionInput *InMageDiskExclusionInput `json:"diskExclusionInput,omitempty"` - DisksToInclude *[]string `json:"disksToInclude,omitempty"` + InstanceType InstanceTypeEnableProtectionProviderSpecificInput `json:"instanceType,omitempty"` + VMFriendlyName *string `json:"vmFriendlyName,omitempty"` + MasterTargetID *string `json:"masterTargetId,omitempty"` + ProcessServerID *string `json:"processServerId,omitempty"` + RetentionDrive *string `json:"retentionDrive,omitempty"` + RunAsAccountID *string `json:"runAsAccountId,omitempty"` + MultiVMGroupID *string `json:"multiVmGroupId,omitempty"` + MultiVMGroupName *string `json:"multiVmGroupName,omitempty"` + DatastoreName *string `json:"datastoreName,omitempty"` + DiskExclusionInput *InMageDiskExclusionInput `json:"diskExclusionInput,omitempty"` + DisksToInclude *[]string `json:"disksToInclude,omitempty"` +} + +// MarshalJSON is the custom marshaler for InMageEnableProtectionInput. +func (imepi InMageEnableProtectionInput) MarshalJSON() ([]byte, error) { + imepi.InstanceType = InstanceTypeEnableProtectionProviderSpecificInputInstanceTypeInMage + type Alias InMageEnableProtectionInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(imepi), + }) +} + +// AsHyperVReplicaAzureEnableProtectionInput is the EnableProtectionProviderSpecificInput implementation for InMageEnableProtectionInput. +func (imepi InMageEnableProtectionInput) AsHyperVReplicaAzureEnableProtectionInput() (*HyperVReplicaAzureEnableProtectionInput, bool) { + return nil, false +} + +// AsSanEnableProtectionInput is the EnableProtectionProviderSpecificInput implementation for InMageEnableProtectionInput. +func (imepi InMageEnableProtectionInput) AsSanEnableProtectionInput() (*SanEnableProtectionInput, bool) { + return nil, false +} + +// AsInMageAzureV2EnableProtectionInput is the EnableProtectionProviderSpecificInput implementation for InMageEnableProtectionInput. +func (imepi InMageEnableProtectionInput) AsInMageAzureV2EnableProtectionInput() (*InMageAzureV2EnableProtectionInput, bool) { + return nil, false +} + +// AsInMageEnableProtectionInput is the EnableProtectionProviderSpecificInput implementation for InMageEnableProtectionInput. +func (imepi InMageEnableProtectionInput) AsInMageEnableProtectionInput() (*InMageEnableProtectionInput, bool) { + return &imepi, true +} + +// AsA2AEnableProtectionInput is the EnableProtectionProviderSpecificInput implementation for InMageEnableProtectionInput. +func (imepi InMageEnableProtectionInput) AsA2AEnableProtectionInput() (*A2AEnableProtectionInput, bool) { + return nil, false } // InMageFailoverProviderInput is provider specific input for InMage failover. type InMageFailoverProviderInput struct { - RecoveryPointType *string `json:"recoveryPointType,omitempty"` - RecoveryPointID *string `json:"recoveryPointId,omitempty"` + InstanceType InstanceTypeProviderSpecificFailoverInput `json:"instanceType,omitempty"` + RecoveryPointType RecoveryPointType `json:"recoveryPointType,omitempty"` + RecoveryPointID *string `json:"recoveryPointId,omitempty"` +} + +// MarshalJSON is the custom marshaler for InMageFailoverProviderInput. +func (imfpi InMageFailoverProviderInput) MarshalJSON() ([]byte, error) { + imfpi.InstanceType = InstanceTypeProviderSpecificFailoverInputInstanceTypeInMage + type Alias InMageFailoverProviderInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(imfpi), + }) +} + +// AsHyperVReplicaAzureFailoverProviderInput is the ProviderSpecificFailoverInput implementation for InMageFailoverProviderInput. +func (imfpi InMageFailoverProviderInput) AsHyperVReplicaAzureFailoverProviderInput() (*HyperVReplicaAzureFailoverProviderInput, bool) { + return nil, false +} + +// AsHyperVReplicaAzureFailbackProviderInput is the ProviderSpecificFailoverInput implementation for InMageFailoverProviderInput. +func (imfpi InMageFailoverProviderInput) AsHyperVReplicaAzureFailbackProviderInput() (*HyperVReplicaAzureFailbackProviderInput, bool) { + return nil, false +} + +// AsInMageAzureV2FailoverProviderInput is the ProviderSpecificFailoverInput implementation for InMageFailoverProviderInput. +func (imfpi InMageFailoverProviderInput) AsInMageAzureV2FailoverProviderInput() (*InMageAzureV2FailoverProviderInput, bool) { + return nil, false +} + +// AsInMageFailoverProviderInput is the ProviderSpecificFailoverInput implementation for InMageFailoverProviderInput. +func (imfpi InMageFailoverProviderInput) AsInMageFailoverProviderInput() (*InMageFailoverProviderInput, bool) { + return &imfpi, true +} + +// AsA2AFailoverProviderInput is the ProviderSpecificFailoverInput implementation for InMageFailoverProviderInput. +func (imfpi InMageFailoverProviderInput) AsA2AFailoverProviderInput() (*A2AFailoverProviderInput, bool) { + return nil, false } // InMagePolicyDetails is inMage specific protection profile details. type InMagePolicyDetails struct { - RecoveryPointThresholdInMinutes *int32 `json:"recoveryPointThresholdInMinutes,omitempty"` - RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` - AppConsistentFrequencyInMinutes *int32 `json:"appConsistentFrequencyInMinutes,omitempty"` - MultiVMSyncStatus *string `json:"multiVmSyncStatus,omitempty"` + InstanceType InstanceTypePolicyProviderSpecificDetails `json:"instanceType,omitempty"` + RecoveryPointThresholdInMinutes *int32 `json:"recoveryPointThresholdInMinutes,omitempty"` + RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` + AppConsistentFrequencyInMinutes *int32 `json:"appConsistentFrequencyInMinutes,omitempty"` + MultiVMSyncStatus *string `json:"multiVmSyncStatus,omitempty"` +} + +// MarshalJSON is the custom marshaler for InMagePolicyDetails. +func (impd InMagePolicyDetails) MarshalJSON() ([]byte, error) { + impd.InstanceType = InstanceTypePolicyProviderSpecificDetailsInstanceTypeInMage + type Alias InMagePolicyDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(impd), + }) +} + +// AsHyperVReplicaAzurePolicyDetails is the PolicyProviderSpecificDetails implementation for InMagePolicyDetails. +func (impd InMagePolicyDetails) AsHyperVReplicaAzurePolicyDetails() (*HyperVReplicaAzurePolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaBasePolicyDetails is the PolicyProviderSpecificDetails implementation for InMagePolicyDetails. +func (impd InMagePolicyDetails) AsHyperVReplicaBasePolicyDetails() (*HyperVReplicaBasePolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaPolicyDetails is the PolicyProviderSpecificDetails implementation for InMagePolicyDetails. +func (impd InMagePolicyDetails) AsHyperVReplicaPolicyDetails() (*HyperVReplicaPolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaBluePolicyDetails is the PolicyProviderSpecificDetails implementation for InMagePolicyDetails. +func (impd InMagePolicyDetails) AsHyperVReplicaBluePolicyDetails() (*HyperVReplicaBluePolicyDetails, bool) { + return nil, false +} + +// AsInMageBasePolicyDetails is the PolicyProviderSpecificDetails implementation for InMagePolicyDetails. +func (impd InMagePolicyDetails) AsInMageBasePolicyDetails() (*InMageBasePolicyDetails, bool) { + return nil, false +} + +// AsInMageAzureV2PolicyDetails is the PolicyProviderSpecificDetails implementation for InMagePolicyDetails. +func (impd InMagePolicyDetails) AsInMageAzureV2PolicyDetails() (*InMageAzureV2PolicyDetails, bool) { + return nil, false +} + +// AsInMagePolicyDetails is the PolicyProviderSpecificDetails implementation for InMagePolicyDetails. +func (impd InMagePolicyDetails) AsInMagePolicyDetails() (*InMagePolicyDetails, bool) { + return &impd, true +} + +// AsA2APolicyDetails is the PolicyProviderSpecificDetails implementation for InMagePolicyDetails. +func (impd InMagePolicyDetails) AsA2APolicyDetails() (*A2APolicyDetails, bool) { + return nil, false +} + +// AsRcmAzureMigrationPolicyDetails is the PolicyProviderSpecificDetails implementation for InMagePolicyDetails. +func (impd InMagePolicyDetails) AsRcmAzureMigrationPolicyDetails() (*RcmAzureMigrationPolicyDetails, bool) { + return nil, false +} + +// AsVmwareCbtPolicyDetails is the PolicyProviderSpecificDetails implementation for InMagePolicyDetails. +func (impd InMagePolicyDetails) AsVmwareCbtPolicyDetails() (*VmwareCbtPolicyDetails, bool) { + return nil, false } // InMagePolicyInput is vMWare Azure specific protection profile Input. type InMagePolicyInput struct { - RecoveryPointThresholdInMinutes *int32 `json:"recoveryPointThresholdInMinutes,omitempty"` - RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` - AppConsistentFrequencyInMinutes *int32 `json:"appConsistentFrequencyInMinutes,omitempty"` - MultiVMSyncStatus SetMultiVMSyncStatus `json:"multiVmSyncStatus,omitempty"` + InstanceType InstanceTypePolicyProviderSpecificInput `json:"instanceType,omitempty"` + RecoveryPointThresholdInMinutes *int32 `json:"recoveryPointThresholdInMinutes,omitempty"` + RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` + AppConsistentFrequencyInMinutes *int32 `json:"appConsistentFrequencyInMinutes,omitempty"` + MultiVMSyncStatus SetMultiVMSyncStatus `json:"multiVmSyncStatus,omitempty"` +} + +// MarshalJSON is the custom marshaler for InMagePolicyInput. +func (impi InMagePolicyInput) MarshalJSON() ([]byte, error) { + impi.InstanceType = InstanceTypePolicyProviderSpecificInputInstanceTypeInMage + type Alias InMagePolicyInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(impi), + }) +} + +// AsHyperVReplicaAzurePolicyInput is the PolicyProviderSpecificInput implementation for InMagePolicyInput. +func (impi InMagePolicyInput) AsHyperVReplicaAzurePolicyInput() (*HyperVReplicaAzurePolicyInput, bool) { + return nil, false +} + +// AsHyperVReplicaPolicyInput is the PolicyProviderSpecificInput implementation for InMagePolicyInput. +func (impi InMagePolicyInput) AsHyperVReplicaPolicyInput() (*HyperVReplicaPolicyInput, bool) { + return nil, false +} + +// AsHyperVReplicaBluePolicyInput is the PolicyProviderSpecificInput implementation for InMagePolicyInput. +func (impi InMagePolicyInput) AsHyperVReplicaBluePolicyInput() (*HyperVReplicaBluePolicyInput, bool) { + return nil, false +} + +// AsInMageAzureV2PolicyInput is the PolicyProviderSpecificInput implementation for InMagePolicyInput. +func (impi InMagePolicyInput) AsInMageAzureV2PolicyInput() (*InMageAzureV2PolicyInput, bool) { + return nil, false +} + +// AsInMagePolicyInput is the PolicyProviderSpecificInput implementation for InMagePolicyInput. +func (impi InMagePolicyInput) AsInMagePolicyInput() (*InMagePolicyInput, bool) { + return &impi, true +} + +// AsA2APolicyCreationInput is the PolicyProviderSpecificInput implementation for InMagePolicyInput. +func (impi InMagePolicyInput) AsA2APolicyCreationInput() (*A2APolicyCreationInput, bool) { + return nil, false +} + +// AsVMwareCbtPolicyCreationInput is the PolicyProviderSpecificInput implementation for InMagePolicyInput. +func (impi InMagePolicyInput) AsVMwareCbtPolicyCreationInput() (*VMwareCbtPolicyCreationInput, bool) { + return nil, false } // InMageProtectedDiskDetails is inMage protected disk details. type InMageProtectedDiskDetails struct { - DiskID *string `json:"diskId,omitempty"` - DiskName *string `json:"diskName,omitempty"` - ProtectionStage *string `json:"protectionStage,omitempty"` - HealthErrorCode *string `json:"healthErrorCode,omitempty"` - RpoInSeconds *int64 `json:"rpoInSeconds,omitempty"` - ResyncRequired *string `json:"resyncRequired,omitempty"` - ResyncProgressPercentage *int32 `json:"resyncProgressPercentage,omitempty"` - ResyncDurationInSeconds *int64 `json:"resyncDurationInSeconds,omitempty"` - DiskCapacityInBytes *int64 `json:"diskCapacityInBytes,omitempty"` - FileSystemCapacityInBytes *int64 `json:"fileSystemCapacityInBytes,omitempty"` - SourceDataInMB *float64 `json:"sourceDataInMB,omitempty"` - PsDataInMB *float64 `json:"psDataInMB,omitempty"` - TargetDataInMB *float64 `json:"targetDataInMB,omitempty"` - DiskResized *string `json:"diskResized,omitempty"` + DiskID *string `json:"diskId,omitempty"` + DiskName *string `json:"diskName,omitempty"` + ProtectionStage *string `json:"protectionStage,omitempty"` + HealthErrorCode *string `json:"healthErrorCode,omitempty"` + RpoInSeconds *int64 `json:"rpoInSeconds,omitempty"` + ResyncRequired *string `json:"resyncRequired,omitempty"` + ResyncProgressPercentage *int32 `json:"resyncProgressPercentage,omitempty"` + ResyncDurationInSeconds *int64 `json:"resyncDurationInSeconds,omitempty"` + DiskCapacityInBytes *int64 `json:"diskCapacityInBytes,omitempty"` + FileSystemCapacityInBytes *int64 `json:"fileSystemCapacityInBytes,omitempty"` + SourceDataInMB *float64 `json:"sourceDataInMB,omitempty"` + PsDataInMB *float64 `json:"psDataInMB,omitempty"` + TargetDataInMB *float64 `json:"targetDataInMB,omitempty"` + DiskResized *string `json:"diskResized,omitempty"` + LastRpoCalculatedTime *date.Time `json:"lastRpoCalculatedTime,omitempty"` } // InMageReplicationDetails is inMage provider specific settings type InMageReplicationDetails struct { - ActiveSiteType *string `json:"activeSiteType,omitempty"` - SourceVMCPUCount *int32 `json:"sourceVmCPUCount,omitempty"` - SourceVMRAMSizeInMB *int32 `json:"sourceVmRAMSizeInMB,omitempty"` - OsDetails *OSDiskDetails `json:"osDetails,omitempty"` - ProtectionStage *string `json:"protectionStage,omitempty"` - VMID *string `json:"vmId,omitempty"` - VMProtectionState *string `json:"vmProtectionState,omitempty"` - VMProtectionStateDescription *string `json:"vmProtectionStateDescription,omitempty"` - ResyncDetails *InitialReplicationDetails `json:"resyncDetails,omitempty"` - RetentionWindowStart *date.Time `json:"retentionWindowStart,omitempty"` - RetentionWindowEnd *date.Time `json:"retentionWindowEnd,omitempty"` - CompressedDataRateInMB *float64 `json:"compressedDataRateInMB,omitempty"` - UncompressedDataRateInMB *float64 `json:"uncompressedDataRateInMB,omitempty"` - RpoInSeconds *int64 `json:"rpoInSeconds,omitempty"` - ProtectedDisks *[]InMageProtectedDiskDetails `json:"protectedDisks,omitempty"` - IPAddress *string `json:"ipAddress,omitempty"` - LastHeartbeat *date.Time `json:"lastHeartbeat,omitempty"` - ProcessServerID *string `json:"processServerId,omitempty"` - MasterTargetID *string `json:"masterTargetId,omitempty"` - ConsistencyPoints *map[string]*date.Time `json:"consistencyPoints,omitempty"` - DiskResized *string `json:"diskResized,omitempty"` - RebootAfterUpdateStatus *string `json:"rebootAfterUpdateStatus,omitempty"` - MultiVMGroupID *string `json:"multiVmGroupId,omitempty"` - MultiVMGroupName *string `json:"multiVmGroupName,omitempty"` - MultiVMSyncStatus *string `json:"multiVmSyncStatus,omitempty"` - AgentDetails *InMageAgentDetails `json:"agentDetails,omitempty"` - VCenterInfrastructureID *string `json:"vCenterInfrastructureId,omitempty"` - InfrastructureVMID *string `json:"infrastructureVmId,omitempty"` - VMNics *[]VMNicDetails `json:"vmNics,omitempty"` - DiscoveryType *string `json:"discoveryType,omitempty"` - AzureStorageAccountID *string `json:"azureStorageAccountId,omitempty"` - Datastores *[]string `json:"datastores,omitempty"` - ValidationErrors *[]HealthError `json:"validationErrors,omitempty"` + InstanceType InstanceTypeReplicationProviderSpecificSettings `json:"instanceType,omitempty"` + ActiveSiteType *string `json:"activeSiteType,omitempty"` + SourceVMCPUCount *int32 `json:"sourceVmCPUCount,omitempty"` + SourceVMRAMSizeInMB *int32 `json:"sourceVmRAMSizeInMB,omitempty"` + OsDetails *OSDiskDetails `json:"osDetails,omitempty"` + ProtectionStage *string `json:"protectionStage,omitempty"` + VMID *string `json:"vmId,omitempty"` + VMProtectionState *string `json:"vmProtectionState,omitempty"` + VMProtectionStateDescription *string `json:"vmProtectionStateDescription,omitempty"` + ResyncDetails *InitialReplicationDetails `json:"resyncDetails,omitempty"` + RetentionWindowStart *date.Time `json:"retentionWindowStart,omitempty"` + RetentionWindowEnd *date.Time `json:"retentionWindowEnd,omitempty"` + CompressedDataRateInMB *float64 `json:"compressedDataRateInMB,omitempty"` + UncompressedDataRateInMB *float64 `json:"uncompressedDataRateInMB,omitempty"` + RpoInSeconds *int64 `json:"rpoInSeconds,omitempty"` + ProtectedDisks *[]InMageProtectedDiskDetails `json:"protectedDisks,omitempty"` + IPAddress *string `json:"ipAddress,omitempty"` + LastHeartbeat *date.Time `json:"lastHeartbeat,omitempty"` + ProcessServerID *string `json:"processServerId,omitempty"` + MasterTargetID *string `json:"masterTargetId,omitempty"` + ConsistencyPoints *map[string]*date.Time `json:"consistencyPoints,omitempty"` + DiskResized *string `json:"diskResized,omitempty"` + RebootAfterUpdateStatus *string `json:"rebootAfterUpdateStatus,omitempty"` + MultiVMGroupID *string `json:"multiVmGroupId,omitempty"` + MultiVMGroupName *string `json:"multiVmGroupName,omitempty"` + MultiVMSyncStatus *string `json:"multiVmSyncStatus,omitempty"` + AgentDetails *InMageAgentDetails `json:"agentDetails,omitempty"` + VCenterInfrastructureID *string `json:"vCenterInfrastructureId,omitempty"` + InfrastructureVMID *string `json:"infrastructureVmId,omitempty"` + VMNics *[]VMNicDetails `json:"vmNics,omitempty"` + DiscoveryType *string `json:"discoveryType,omitempty"` + AzureStorageAccountID *string `json:"azureStorageAccountId,omitempty"` + Datastores *[]string `json:"datastores,omitempty"` + ValidationErrors *[]HealthError `json:"validationErrors,omitempty"` + LastRpoCalculatedTime *date.Time `json:"lastRpoCalculatedTime,omitempty"` + LastUpdateReceivedTime *date.Time `json:"lastUpdateReceivedTime,omitempty"` + ReplicaID *string `json:"replicaId,omitempty"` + OsVersion *string `json:"osVersion,omitempty"` +} + +// MarshalJSON is the custom marshaler for InMageReplicationDetails. +func (imrd InMageReplicationDetails) MarshalJSON() ([]byte, error) { + imrd.InstanceType = InstanceTypeReplicationProviderSpecificSettingsInstanceTypeInMage + type Alias InMageReplicationDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(imrd), + }) +} + +// AsHyperVReplicaBaseReplicationDetails is the ReplicationProviderSpecificSettings implementation for InMageReplicationDetails. +func (imrd InMageReplicationDetails) AsHyperVReplicaBaseReplicationDetails() (*HyperVReplicaBaseReplicationDetails, bool) { + return nil, false +} + +// AsHyperVReplicaReplicationDetails is the ReplicationProviderSpecificSettings implementation for InMageReplicationDetails. +func (imrd InMageReplicationDetails) AsHyperVReplicaReplicationDetails() (*HyperVReplicaReplicationDetails, bool) { + return nil, false +} + +// AsHyperVReplicaBlueReplicationDetails is the ReplicationProviderSpecificSettings implementation for InMageReplicationDetails. +func (imrd InMageReplicationDetails) AsHyperVReplicaBlueReplicationDetails() (*HyperVReplicaBlueReplicationDetails, bool) { + return nil, false +} + +// AsHyperVReplicaAzureReplicationDetails is the ReplicationProviderSpecificSettings implementation for InMageReplicationDetails. +func (imrd InMageReplicationDetails) AsHyperVReplicaAzureReplicationDetails() (*HyperVReplicaAzureReplicationDetails, bool) { + return nil, false +} + +// AsInMageAzureV2ReplicationDetails is the ReplicationProviderSpecificSettings implementation for InMageReplicationDetails. +func (imrd InMageReplicationDetails) AsInMageAzureV2ReplicationDetails() (*InMageAzureV2ReplicationDetails, bool) { + return nil, false +} + +// AsInMageReplicationDetails is the ReplicationProviderSpecificSettings implementation for InMageReplicationDetails. +func (imrd InMageReplicationDetails) AsInMageReplicationDetails() (*InMageReplicationDetails, bool) { + return &imrd, true +} + +// AsA2AReplicationDetails is the ReplicationProviderSpecificSettings implementation for InMageReplicationDetails. +func (imrd InMageReplicationDetails) AsA2AReplicationDetails() (*A2AReplicationDetails, bool) { + return nil, false } // InMageReprotectInput is inMageAzureV2 specific provider input. type InMageReprotectInput struct { - MasterTargetID *string `json:"masterTargetId,omitempty"` - ProcessServerID *string `json:"processServerId,omitempty"` - RetentionDrive *string `json:"retentionDrive,omitempty"` - RunAsAccountID *string `json:"runAsAccountId,omitempty"` - DatastoreName *string `json:"datastoreName,omitempty"` - DiskExclusionInput *InMageDiskExclusionInput `json:"diskExclusionInput,omitempty"` - ProfileID *string `json:"profileId,omitempty"` - DisksToInclude *[]string `json:"disksToInclude,omitempty"` + InstanceType InstanceTypeReverseReplicationProviderSpecificInput `json:"instanceType,omitempty"` + MasterTargetID *string `json:"masterTargetId,omitempty"` + ProcessServerID *string `json:"processServerId,omitempty"` + RetentionDrive *string `json:"retentionDrive,omitempty"` + RunAsAccountID *string `json:"runAsAccountId,omitempty"` + DatastoreName *string `json:"datastoreName,omitempty"` + DiskExclusionInput *InMageDiskExclusionInput `json:"diskExclusionInput,omitempty"` + ProfileID *string `json:"profileId,omitempty"` + DisksToInclude *[]string `json:"disksToInclude,omitempty"` +} + +// MarshalJSON is the custom marshaler for InMageReprotectInput. +func (imri InMageReprotectInput) MarshalJSON() ([]byte, error) { + imri.InstanceType = InstanceTypeReverseReplicationProviderSpecificInputInstanceTypeInMage + type Alias InMageReprotectInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(imri), + }) +} + +// AsHyperVReplicaAzureReprotectInput is the ReverseReplicationProviderSpecificInput implementation for InMageReprotectInput. +func (imri InMageReprotectInput) AsHyperVReplicaAzureReprotectInput() (*HyperVReplicaAzureReprotectInput, bool) { + return nil, false +} + +// AsInMageAzureV2ReprotectInput is the ReverseReplicationProviderSpecificInput implementation for InMageReprotectInput. +func (imri InMageReprotectInput) AsInMageAzureV2ReprotectInput() (*InMageAzureV2ReprotectInput, bool) { + return nil, false +} + +// AsInMageReprotectInput is the ReverseReplicationProviderSpecificInput implementation for InMageReprotectInput. +func (imri InMageReprotectInput) AsInMageReprotectInput() (*InMageReprotectInput, bool) { + return &imri, true +} + +// AsA2AReprotectInput is the ReverseReplicationProviderSpecificInput implementation for InMageReprotectInput. +func (imri InMageReprotectInput) AsA2AReprotectInput() (*A2AReprotectInput, bool) { + return nil, false } // InMageVolumeExclusionOptions is guest disk signature based disk exclusion option when doing enable protection of @@ -1476,8 +5641,63 @@ func (client JobCollection) JobCollectionPreparer() (*http.Request, error) { } // JobDetails is job details based on specific job type. -type JobDetails struct { - AffectedObjectDetails *map[string]*string `json:"affectedObjectDetails,omitempty"` +type JobDetails interface { + AsAsrJobDetails() (*AsrJobDetails, bool) + AsTestFailoverJobDetails() (*TestFailoverJobDetails, bool) + AsFailoverJobDetails() (*FailoverJobDetails, bool) + AsExportJobDetails() (*ExportJobDetails, bool) + AsSwitchProtectionJobDetails() (*SwitchProtectionJobDetails, bool) +} + +func unmarshalJobDetails(body []byte) (JobDetails, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeAsrJobDetails): + var ajd AsrJobDetails + err := json.Unmarshal(body, &ajd) + return ajd, err + case string(InstanceTypeTestFailoverJobDetails): + var tfjd TestFailoverJobDetails + err := json.Unmarshal(body, &tfjd) + return tfjd, err + case string(InstanceTypeFailoverJobDetails): + var fjd FailoverJobDetails + err := json.Unmarshal(body, &fjd) + return fjd, err + case string(InstanceTypeExportJobDetails): + var ejd ExportJobDetails + err := json.Unmarshal(body, &ejd) + return ejd, err + case string(InstanceTypeSwitchProtectionJobDetails): + var spjd SwitchProtectionJobDetails + err := json.Unmarshal(body, &spjd) + return spjd, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalJobDetailsArray(body []byte) ([]JobDetails, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + jdArray := make([]JobDetails, len(rawMessages)) + + for index, rawMessage := range rawMessages { + jd, err := unmarshalJobDetails(*rawMessage) + if err != nil { + return nil, err + } + jdArray[index] = jd + } + return jdArray, nil } // JobEntity is this class contains the minimal job details required to navigate to the desired drill down. @@ -1514,7 +5734,158 @@ type JobProperties struct { TargetObjectID *string `json:"targetObjectId,omitempty"` TargetObjectName *string `json:"targetObjectName,omitempty"` TargetInstanceType *string `json:"targetInstanceType,omitempty"` - CustomDetails *JobDetails `json:"customDetails,omitempty"` + CustomDetails JobDetails `json:"customDetails,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for JobProperties struct. +func (jp *JobProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["activityId"] + if v != nil { + var activityID string + err = json.Unmarshal(*m["activityId"], &activityID) + if err != nil { + return err + } + jp.ActivityID = &activityID + } + + v = m["scenarioName"] + if v != nil { + var scenarioName string + err = json.Unmarshal(*m["scenarioName"], &scenarioName) + if err != nil { + return err + } + jp.ScenarioName = &scenarioName + } + + v = m["friendlyName"] + if v != nil { + var friendlyName string + err = json.Unmarshal(*m["friendlyName"], &friendlyName) + if err != nil { + return err + } + jp.FriendlyName = &friendlyName + } + + v = m["state"] + if v != nil { + var state string + err = json.Unmarshal(*m["state"], &state) + if err != nil { + return err + } + jp.State = &state + } + + v = m["stateDescription"] + if v != nil { + var stateDescription string + err = json.Unmarshal(*m["stateDescription"], &stateDescription) + if err != nil { + return err + } + jp.StateDescription = &stateDescription + } + + v = m["tasks"] + if v != nil { + var tasks []ASRTask + err = json.Unmarshal(*m["tasks"], &tasks) + if err != nil { + return err + } + jp.Tasks = &tasks + } + + v = m["errors"] + if v != nil { + var errorsVar []JobErrorDetails + err = json.Unmarshal(*m["errors"], &errorsVar) + if err != nil { + return err + } + jp.Errors = &errorsVar + } + + v = m["startTime"] + if v != nil { + var startTime date.Time + err = json.Unmarshal(*m["startTime"], &startTime) + if err != nil { + return err + } + jp.StartTime = &startTime + } + + v = m["endTime"] + if v != nil { + var endTime date.Time + err = json.Unmarshal(*m["endTime"], &endTime) + if err != nil { + return err + } + jp.EndTime = &endTime + } + + v = m["allowedActions"] + if v != nil { + var allowedActions []string + err = json.Unmarshal(*m["allowedActions"], &allowedActions) + if err != nil { + return err + } + jp.AllowedActions = &allowedActions + } + + v = m["targetObjectId"] + if v != nil { + var targetObjectID string + err = json.Unmarshal(*m["targetObjectId"], &targetObjectID) + if err != nil { + return err + } + jp.TargetObjectID = &targetObjectID + } + + v = m["targetObjectName"] + if v != nil { + var targetObjectName string + err = json.Unmarshal(*m["targetObjectName"], &targetObjectName) + if err != nil { + return err + } + jp.TargetObjectName = &targetObjectName + } + + v = m["targetInstanceType"] + if v != nil { + var targetInstanceType string + err = json.Unmarshal(*m["targetInstanceType"], &targetInstanceType) + if err != nil { + return err + } + jp.TargetInstanceType = &targetInstanceType + } + + v = m["customDetails"] + if v != nil { + customDetails, err := unmarshalJobDetails(*m["customDetails"]) + if err != nil { + return err + } + jp.CustomDetails = customDetails + } + + return nil } // JobQueryParameter is query parameter to enumerate jobs. @@ -1528,16 +5899,85 @@ type JobQueryParameter struct { // JobStatusEventDetails is model class for event details of a job status event. type JobStatusEventDetails struct { - JobID *string `json:"jobId,omitempty"` - JobFriendlyName *string `json:"jobFriendlyName,omitempty"` - JobStatus *string `json:"jobStatus,omitempty"` - AffectedObjectType *string `json:"affectedObjectType,omitempty"` + InstanceType InstanceTypeEventSpecificDetails `json:"instanceType,omitempty"` + JobID *string `json:"jobId,omitempty"` + JobFriendlyName *string `json:"jobFriendlyName,omitempty"` + JobStatus *string `json:"jobStatus,omitempty"` + AffectedObjectType *string `json:"affectedObjectType,omitempty"` +} + +// MarshalJSON is the custom marshaler for JobStatusEventDetails. +func (jsed JobStatusEventDetails) MarshalJSON() ([]byte, error) { + jsed.InstanceType = InstanceTypeJobStatus + type Alias JobStatusEventDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(jsed), + }) +} + +// AsJobStatusEventDetails is the EventSpecificDetails implementation for JobStatusEventDetails. +func (jsed JobStatusEventDetails) AsJobStatusEventDetails() (*JobStatusEventDetails, bool) { + return &jsed, true } // JobTaskDetails is this class represents a task which is actually a workflow so that one can navigate to its // individual drill down. type JobTaskDetails struct { - JobTask *JobEntity `json:"jobTask,omitempty"` + InstanceType InstanceTypeTaskTypeDetails `json:"instanceType,omitempty"` + JobTask *JobEntity `json:"jobTask,omitempty"` +} + +// MarshalJSON is the custom marshaler for JobTaskDetails. +func (jtd JobTaskDetails) MarshalJSON() ([]byte, error) { + jtd.InstanceType = InstanceTypeJobTaskDetails + type Alias JobTaskDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(jtd), + }) +} + +// AsJobTaskDetails is the TaskTypeDetails implementation for JobTaskDetails. +func (jtd JobTaskDetails) AsJobTaskDetails() (*JobTaskDetails, bool) { + return &jtd, true +} + +// AsVirtualMachineTaskDetails is the TaskTypeDetails implementation for JobTaskDetails. +func (jtd JobTaskDetails) AsVirtualMachineTaskDetails() (*VirtualMachineTaskDetails, bool) { + return nil, false +} + +// AsFabricReplicationGroupTaskDetails is the TaskTypeDetails implementation for JobTaskDetails. +func (jtd JobTaskDetails) AsFabricReplicationGroupTaskDetails() (*FabricReplicationGroupTaskDetails, bool) { + return nil, false +} + +// AsManualActionTaskDetails is the TaskTypeDetails implementation for JobTaskDetails. +func (jtd JobTaskDetails) AsManualActionTaskDetails() (*ManualActionTaskDetails, bool) { + return nil, false +} + +// AsScriptActionTaskDetails is the TaskTypeDetails implementation for JobTaskDetails. +func (jtd JobTaskDetails) AsScriptActionTaskDetails() (*ScriptActionTaskDetails, bool) { + return nil, false +} + +// AsVMNicUpdatesTaskDetails is the TaskTypeDetails implementation for JobTaskDetails. +func (jtd JobTaskDetails) AsVMNicUpdatesTaskDetails() (*VMNicUpdatesTaskDetails, bool) { + return nil, false +} + +// AsConsistencyCheckTaskDetails is the TaskTypeDetails implementation for JobTaskDetails. +func (jtd JobTaskDetails) AsConsistencyCheckTaskDetails() (*ConsistencyCheckTaskDetails, bool) { + return nil, false +} + +// AsAutomationRunbookTaskDetails is the TaskTypeDetails implementation for JobTaskDetails. +func (jtd JobTaskDetails) AsAutomationRunbookTaskDetails() (*AutomationRunbookTaskDetails, bool) { + return nil, false } // LogicalNetwork is logical network data model. @@ -1579,9 +6019,61 @@ type LogicalNetworkProperties struct { // ManualActionTaskDetails is this class represents the manual action task details. type ManualActionTaskDetails struct { - Name *string `json:"name,omitempty"` - Instructions *string `json:"instructions,omitempty"` - Observation *string `json:"observation,omitempty"` + InstanceType InstanceTypeTaskTypeDetails `json:"instanceType,omitempty"` + Name *string `json:"name,omitempty"` + Instructions *string `json:"instructions,omitempty"` + Observation *string `json:"observation,omitempty"` +} + +// MarshalJSON is the custom marshaler for ManualActionTaskDetails. +func (matd ManualActionTaskDetails) MarshalJSON() ([]byte, error) { + matd.InstanceType = InstanceTypeManualActionTaskDetails + type Alias ManualActionTaskDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(matd), + }) +} + +// AsJobTaskDetails is the TaskTypeDetails implementation for ManualActionTaskDetails. +func (matd ManualActionTaskDetails) AsJobTaskDetails() (*JobTaskDetails, bool) { + return nil, false +} + +// AsVirtualMachineTaskDetails is the TaskTypeDetails implementation for ManualActionTaskDetails. +func (matd ManualActionTaskDetails) AsVirtualMachineTaskDetails() (*VirtualMachineTaskDetails, bool) { + return nil, false +} + +// AsFabricReplicationGroupTaskDetails is the TaskTypeDetails implementation for ManualActionTaskDetails. +func (matd ManualActionTaskDetails) AsFabricReplicationGroupTaskDetails() (*FabricReplicationGroupTaskDetails, bool) { + return nil, false +} + +// AsManualActionTaskDetails is the TaskTypeDetails implementation for ManualActionTaskDetails. +func (matd ManualActionTaskDetails) AsManualActionTaskDetails() (*ManualActionTaskDetails, bool) { + return &matd, true +} + +// AsScriptActionTaskDetails is the TaskTypeDetails implementation for ManualActionTaskDetails. +func (matd ManualActionTaskDetails) AsScriptActionTaskDetails() (*ScriptActionTaskDetails, bool) { + return nil, false +} + +// AsVMNicUpdatesTaskDetails is the TaskTypeDetails implementation for ManualActionTaskDetails. +func (matd ManualActionTaskDetails) AsVMNicUpdatesTaskDetails() (*VMNicUpdatesTaskDetails, bool) { + return nil, false +} + +// AsConsistencyCheckTaskDetails is the TaskTypeDetails implementation for ManualActionTaskDetails. +func (matd ManualActionTaskDetails) AsConsistencyCheckTaskDetails() (*ConsistencyCheckTaskDetails, bool) { + return nil, false +} + +// AsAutomationRunbookTaskDetails is the TaskTypeDetails implementation for ManualActionTaskDetails. +func (matd ManualActionTaskDetails) AsAutomationRunbookTaskDetails() (*AutomationRunbookTaskDetails, bool) { + return nil, false } // MasterTargetServer is details of a Master Target Server. @@ -1596,6 +6088,8 @@ type MasterTargetServer struct { RetentionVolumes *[]RetentionVolume `json:"retentionVolumes,omitempty"` DataStores *[]DataStore `json:"dataStores,omitempty"` ValidationErrors *[]HealthError `json:"validationErrors,omitempty"` + DiskCount *int32 `json:"diskCount,omitempty"` + OsVersion *string `json:"osVersion,omitempty"` } // MethodCallStatus is reports method status where exception was raised. @@ -1678,20 +6172,167 @@ func (client NetworkMappingCollection) NetworkMappingCollectionPreparer() (*http } // NetworkMappingFabricSpecificSettings is network Mapping fabric specific settings. -type NetworkMappingFabricSpecificSettings struct { +type NetworkMappingFabricSpecificSettings interface { + AsAzureToAzureNetworkMappingSettings() (*AzureToAzureNetworkMappingSettings, bool) + AsVmmToAzureNetworkMappingSettings() (*VmmToAzureNetworkMappingSettings, bool) + AsVmmToVmmNetworkMappingSettings() (*VmmToVmmNetworkMappingSettings, bool) +} + +func unmarshalNetworkMappingFabricSpecificSettings(body []byte) (NetworkMappingFabricSpecificSettings, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeNetworkMappingFabricSpecificSettingsInstanceTypeAzureToAzure): + var atanms AzureToAzureNetworkMappingSettings + err := json.Unmarshal(body, &atanms) + return atanms, err + case string(InstanceTypeNetworkMappingFabricSpecificSettingsInstanceTypeVmmToAzure): + var vtanms VmmToAzureNetworkMappingSettings + err := json.Unmarshal(body, &vtanms) + return vtanms, err + case string(InstanceTypeNetworkMappingFabricSpecificSettingsInstanceTypeVmmToVmm): + var vtvnms VmmToVmmNetworkMappingSettings + err := json.Unmarshal(body, &vtvnms) + return vtvnms, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalNetworkMappingFabricSpecificSettingsArray(body []byte) ([]NetworkMappingFabricSpecificSettings, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + nmfssArray := make([]NetworkMappingFabricSpecificSettings, len(rawMessages)) + + for index, rawMessage := range rawMessages { + nmfss, err := unmarshalNetworkMappingFabricSpecificSettings(*rawMessage) + if err != nil { + return nil, err + } + nmfssArray[index] = nmfss + } + return nmfssArray, nil } // NetworkMappingProperties is network Mapping Properties. type NetworkMappingProperties struct { - State *string `json:"state,omitempty"` - PrimaryNetworkFriendlyName *string `json:"primaryNetworkFriendlyName,omitempty"` - PrimaryNetworkID *string `json:"primaryNetworkId,omitempty"` - PrimaryFabricFriendlyName *string `json:"primaryFabricFriendlyName,omitempty"` - RecoveryNetworkFriendlyName *string `json:"recoveryNetworkFriendlyName,omitempty"` - RecoveryNetworkID *string `json:"recoveryNetworkId,omitempty"` - RecoveryFabricArmID *string `json:"recoveryFabricArmId,omitempty"` - RecoveryFabricFriendlyName *string `json:"recoveryFabricFriendlyName,omitempty"` - FabricSpecificSettings *NetworkMappingFabricSpecificSettings `json:"fabricSpecificSettings,omitempty"` + State *string `json:"state,omitempty"` + PrimaryNetworkFriendlyName *string `json:"primaryNetworkFriendlyName,omitempty"` + PrimaryNetworkID *string `json:"primaryNetworkId,omitempty"` + PrimaryFabricFriendlyName *string `json:"primaryFabricFriendlyName,omitempty"` + RecoveryNetworkFriendlyName *string `json:"recoveryNetworkFriendlyName,omitempty"` + RecoveryNetworkID *string `json:"recoveryNetworkId,omitempty"` + RecoveryFabricArmID *string `json:"recoveryFabricArmId,omitempty"` + RecoveryFabricFriendlyName *string `json:"recoveryFabricFriendlyName,omitempty"` + FabricSpecificSettings NetworkMappingFabricSpecificSettings `json:"fabricSpecificSettings,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for NetworkMappingProperties struct. +func (nmp *NetworkMappingProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["state"] + if v != nil { + var state string + err = json.Unmarshal(*m["state"], &state) + if err != nil { + return err + } + nmp.State = &state + } + + v = m["primaryNetworkFriendlyName"] + if v != nil { + var primaryNetworkFriendlyName string + err = json.Unmarshal(*m["primaryNetworkFriendlyName"], &primaryNetworkFriendlyName) + if err != nil { + return err + } + nmp.PrimaryNetworkFriendlyName = &primaryNetworkFriendlyName + } + + v = m["primaryNetworkId"] + if v != nil { + var primaryNetworkID string + err = json.Unmarshal(*m["primaryNetworkId"], &primaryNetworkID) + if err != nil { + return err + } + nmp.PrimaryNetworkID = &primaryNetworkID + } + + v = m["primaryFabricFriendlyName"] + if v != nil { + var primaryFabricFriendlyName string + err = json.Unmarshal(*m["primaryFabricFriendlyName"], &primaryFabricFriendlyName) + if err != nil { + return err + } + nmp.PrimaryFabricFriendlyName = &primaryFabricFriendlyName + } + + v = m["recoveryNetworkFriendlyName"] + if v != nil { + var recoveryNetworkFriendlyName string + err = json.Unmarshal(*m["recoveryNetworkFriendlyName"], &recoveryNetworkFriendlyName) + if err != nil { + return err + } + nmp.RecoveryNetworkFriendlyName = &recoveryNetworkFriendlyName + } + + v = m["recoveryNetworkId"] + if v != nil { + var recoveryNetworkID string + err = json.Unmarshal(*m["recoveryNetworkId"], &recoveryNetworkID) + if err != nil { + return err + } + nmp.RecoveryNetworkID = &recoveryNetworkID + } + + v = m["recoveryFabricArmId"] + if v != nil { + var recoveryFabricArmID string + err = json.Unmarshal(*m["recoveryFabricArmId"], &recoveryFabricArmID) + if err != nil { + return err + } + nmp.RecoveryFabricArmID = &recoveryFabricArmID + } + + v = m["recoveryFabricFriendlyName"] + if v != nil { + var recoveryFabricFriendlyName string + err = json.Unmarshal(*m["recoveryFabricFriendlyName"], &recoveryFabricFriendlyName) + if err != nil { + return err + } + nmp.RecoveryFabricFriendlyName = &recoveryFabricFriendlyName + } + + v = m["fabricSpecificSettings"] + if v != nil { + fabricSpecificSettings, err := unmarshalNetworkMappingFabricSpecificSettings(*m["fabricSpecificSettings"]) + if err != nil { + return err + } + nmp.FabricSpecificSettings = fabricSpecificSettings + } + + return nil } // NetworkProperties is network Properties @@ -1753,8 +6394,39 @@ type PlannedFailoverInput struct { // PlannedFailoverInputProperties is input definition for planned failover input properties. type PlannedFailoverInputProperties struct { - FailoverDirection *string `json:"failoverDirection,omitempty"` - ProviderSpecificDetails *ProviderSpecificFailoverInput `json:"providerSpecificDetails,omitempty"` + FailoverDirection *string `json:"failoverDirection,omitempty"` + ProviderSpecificDetails ProviderSpecificFailoverInput `json:"providerSpecificDetails,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for PlannedFailoverInputProperties struct. +func (pfip *PlannedFailoverInputProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["failoverDirection"] + if v != nil { + var failoverDirection string + err = json.Unmarshal(*m["failoverDirection"], &failoverDirection) + if err != nil { + return err + } + pfip.FailoverDirection = &failoverDirection + } + + v = m["providerSpecificDetails"] + if v != nil { + providerSpecificDetails, err := unmarshalProviderSpecificFailoverInput(*m["providerSpecificDetails"]) + if err != nil { + return err + } + pfip.ProviderSpecificDetails = providerSpecificDetails + } + + return nil } // Policy is protection profile details. @@ -1788,16 +6460,194 @@ func (client PolicyCollection) PolicyCollectionPreparer() (*http.Request, error) // PolicyProperties is protection profile custom data details. type PolicyProperties struct { - FriendlyName *string `json:"friendlyName,omitempty"` - ProviderSpecificDetails *PolicyProviderSpecificDetails `json:"providerSpecificDetails,omitempty"` + FriendlyName *string `json:"friendlyName,omitempty"` + ProviderSpecificDetails PolicyProviderSpecificDetails `json:"providerSpecificDetails,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for PolicyProperties struct. +func (pp *PolicyProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["friendlyName"] + if v != nil { + var friendlyName string + err = json.Unmarshal(*m["friendlyName"], &friendlyName) + if err != nil { + return err + } + pp.FriendlyName = &friendlyName + } + + v = m["providerSpecificDetails"] + if v != nil { + providerSpecificDetails, err := unmarshalPolicyProviderSpecificDetails(*m["providerSpecificDetails"]) + if err != nil { + return err + } + pp.ProviderSpecificDetails = providerSpecificDetails + } + + return nil } // PolicyProviderSpecificDetails is base class for Provider specific details for policies. -type PolicyProviderSpecificDetails struct { +type PolicyProviderSpecificDetails interface { + AsHyperVReplicaAzurePolicyDetails() (*HyperVReplicaAzurePolicyDetails, bool) + AsHyperVReplicaBasePolicyDetails() (*HyperVReplicaBasePolicyDetails, bool) + AsHyperVReplicaPolicyDetails() (*HyperVReplicaPolicyDetails, bool) + AsHyperVReplicaBluePolicyDetails() (*HyperVReplicaBluePolicyDetails, bool) + AsInMageBasePolicyDetails() (*InMageBasePolicyDetails, bool) + AsInMageAzureV2PolicyDetails() (*InMageAzureV2PolicyDetails, bool) + AsInMagePolicyDetails() (*InMagePolicyDetails, bool) + AsA2APolicyDetails() (*A2APolicyDetails, bool) + AsRcmAzureMigrationPolicyDetails() (*RcmAzureMigrationPolicyDetails, bool) + AsVmwareCbtPolicyDetails() (*VmwareCbtPolicyDetails, bool) +} + +func unmarshalPolicyProviderSpecificDetails(body []byte) (PolicyProviderSpecificDetails, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypePolicyProviderSpecificDetailsInstanceTypeHyperVReplicaAzure): + var hvrapd HyperVReplicaAzurePolicyDetails + err := json.Unmarshal(body, &hvrapd) + return hvrapd, err + case string(InstanceTypePolicyProviderSpecificDetailsInstanceTypeHyperVReplicaBasePolicyDetails): + var hvrbpd HyperVReplicaBasePolicyDetails + err := json.Unmarshal(body, &hvrbpd) + return hvrbpd, err + case string(InstanceTypePolicyProviderSpecificDetailsInstanceTypeHyperVReplica2012): + var hvrpd HyperVReplicaPolicyDetails + err := json.Unmarshal(body, &hvrpd) + return hvrpd, err + case string(InstanceTypePolicyProviderSpecificDetailsInstanceTypeHyperVReplica2012R2): + var hvrbpd HyperVReplicaBluePolicyDetails + err := json.Unmarshal(body, &hvrbpd) + return hvrbpd, err + case string(InstanceTypePolicyProviderSpecificDetailsInstanceTypeInMageBasePolicyDetails): + var imbpd InMageBasePolicyDetails + err := json.Unmarshal(body, &imbpd) + return imbpd, err + case string(InstanceTypePolicyProviderSpecificDetailsInstanceTypeInMageAzureV2): + var imavpd InMageAzureV2PolicyDetails + err := json.Unmarshal(body, &imavpd) + return imavpd, err + case string(InstanceTypePolicyProviderSpecificDetailsInstanceTypeInMage): + var impd InMagePolicyDetails + err := json.Unmarshal(body, &impd) + return impd, err + case string(InstanceTypePolicyProviderSpecificDetailsInstanceTypeA2A): + var apd A2APolicyDetails + err := json.Unmarshal(body, &apd) + return apd, err + case string(InstanceTypePolicyProviderSpecificDetailsInstanceTypeRcmAzureMigration): + var rampd RcmAzureMigrationPolicyDetails + err := json.Unmarshal(body, &rampd) + return rampd, err + case string(InstanceTypePolicyProviderSpecificDetailsInstanceTypeVMwareCbt): + var vcpd VmwareCbtPolicyDetails + err := json.Unmarshal(body, &vcpd) + return vcpd, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalPolicyProviderSpecificDetailsArray(body []byte) ([]PolicyProviderSpecificDetails, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + ppsdArray := make([]PolicyProviderSpecificDetails, len(rawMessages)) + + for index, rawMessage := range rawMessages { + ppsd, err := unmarshalPolicyProviderSpecificDetails(*rawMessage) + if err != nil { + return nil, err + } + ppsdArray[index] = ppsd + } + return ppsdArray, nil } // PolicyProviderSpecificInput is base class for provider specific input -type PolicyProviderSpecificInput struct { +type PolicyProviderSpecificInput interface { + AsHyperVReplicaAzurePolicyInput() (*HyperVReplicaAzurePolicyInput, bool) + AsHyperVReplicaPolicyInput() (*HyperVReplicaPolicyInput, bool) + AsHyperVReplicaBluePolicyInput() (*HyperVReplicaBluePolicyInput, bool) + AsInMageAzureV2PolicyInput() (*InMageAzureV2PolicyInput, bool) + AsInMagePolicyInput() (*InMagePolicyInput, bool) + AsA2APolicyCreationInput() (*A2APolicyCreationInput, bool) + AsVMwareCbtPolicyCreationInput() (*VMwareCbtPolicyCreationInput, bool) +} + +func unmarshalPolicyProviderSpecificInput(body []byte) (PolicyProviderSpecificInput, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypePolicyProviderSpecificInputInstanceTypeHyperVReplicaAzure): + var hvrapi HyperVReplicaAzurePolicyInput + err := json.Unmarshal(body, &hvrapi) + return hvrapi, err + case string(InstanceTypePolicyProviderSpecificInputInstanceTypeHyperVReplica2012): + var hvrpi HyperVReplicaPolicyInput + err := json.Unmarshal(body, &hvrpi) + return hvrpi, err + case string(InstanceTypePolicyProviderSpecificInputInstanceTypeHyperVReplica2012R2): + var hvrbpi HyperVReplicaBluePolicyInput + err := json.Unmarshal(body, &hvrbpi) + return hvrbpi, err + case string(InstanceTypePolicyProviderSpecificInputInstanceTypeInMageAzureV2): + var imavpi InMageAzureV2PolicyInput + err := json.Unmarshal(body, &imavpi) + return imavpi, err + case string(InstanceTypePolicyProviderSpecificInputInstanceTypeInMage): + var impi InMagePolicyInput + err := json.Unmarshal(body, &impi) + return impi, err + case string(InstanceTypePolicyProviderSpecificInputInstanceTypeA2A): + var apci A2APolicyCreationInput + err := json.Unmarshal(body, &apci) + return apci, err + case string(InstanceTypePolicyProviderSpecificInputInstanceTypeVMwareCbt): + var vmcpci VMwareCbtPolicyCreationInput + err := json.Unmarshal(body, &vmcpci) + return vmcpci, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalPolicyProviderSpecificInputArray(body []byte) ([]PolicyProviderSpecificInput, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + ppsiArray := make([]PolicyProviderSpecificInput, len(rawMessages)) + + for index, rawMessage := range rawMessages { + ppsi, err := unmarshalPolicyProviderSpecificInput(*rawMessage) + if err != nil { + return nil, err + } + ppsiArray[index] = ppsi + } + return ppsiArray, nil } // ProcessServer is details of the Process Server. @@ -1826,6 +6676,7 @@ type ProcessServer struct { PsServiceStatus *string `json:"psServiceStatus,omitempty"` SslCertExpiryDate *date.Time `json:"sslCertExpiryDate,omitempty"` SslCertExpiryRemainingDays *int32 `json:"sslCertExpiryRemainingDays,omitempty"` + OsVersion *string `json:"osVersion,omitempty"` } // ProtectableItem is replication protected item @@ -1859,19 +6710,101 @@ func (client ProtectableItemCollection) ProtectableItemCollectionPreparer() (*ht // ProtectableItemProperties is replication protected item custom data details. type ProtectableItemProperties struct { - FriendlyName *string `json:"friendlyName,omitempty"` - ProtectionStatus *string `json:"protectionStatus,omitempty"` - ReplicationProtectedItemID *string `json:"replicationProtectedItemId,omitempty"` - RecoveryServicesProviderID *string `json:"recoveryServicesProviderId,omitempty"` - ProtectionReadinessErrors *[]string `json:"protectionReadinessErrors,omitempty"` - SupportedReplicationProviders *[]string `json:"supportedReplicationProviders,omitempty"` - CustomDetails *ConfigurationSettings `json:"customDetails,omitempty"` + FriendlyName *string `json:"friendlyName,omitempty"` + ProtectionStatus *string `json:"protectionStatus,omitempty"` + ReplicationProtectedItemID *string `json:"replicationProtectedItemId,omitempty"` + RecoveryServicesProviderID *string `json:"recoveryServicesProviderId,omitempty"` + ProtectionReadinessErrors *[]string `json:"protectionReadinessErrors,omitempty"` + SupportedReplicationProviders *[]string `json:"supportedReplicationProviders,omitempty"` + CustomDetails ConfigurationSettings `json:"customDetails,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for ProtectableItemProperties struct. +func (pip *ProtectableItemProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["friendlyName"] + if v != nil { + var friendlyName string + err = json.Unmarshal(*m["friendlyName"], &friendlyName) + if err != nil { + return err + } + pip.FriendlyName = &friendlyName + } + + v = m["protectionStatus"] + if v != nil { + var protectionStatus string + err = json.Unmarshal(*m["protectionStatus"], &protectionStatus) + if err != nil { + return err + } + pip.ProtectionStatus = &protectionStatus + } + + v = m["replicationProtectedItemId"] + if v != nil { + var replicationProtectedItemID string + err = json.Unmarshal(*m["replicationProtectedItemId"], &replicationProtectedItemID) + if err != nil { + return err + } + pip.ReplicationProtectedItemID = &replicationProtectedItemID + } + + v = m["recoveryServicesProviderId"] + if v != nil { + var recoveryServicesProviderID string + err = json.Unmarshal(*m["recoveryServicesProviderId"], &recoveryServicesProviderID) + if err != nil { + return err + } + pip.RecoveryServicesProviderID = &recoveryServicesProviderID + } + + v = m["protectionReadinessErrors"] + if v != nil { + var protectionReadinessErrors []string + err = json.Unmarshal(*m["protectionReadinessErrors"], &protectionReadinessErrors) + if err != nil { + return err + } + pip.ProtectionReadinessErrors = &protectionReadinessErrors + } + + v = m["supportedReplicationProviders"] + if v != nil { + var supportedReplicationProviders []string + err = json.Unmarshal(*m["supportedReplicationProviders"], &supportedReplicationProviders) + if err != nil { + return err + } + pip.SupportedReplicationProviders = &supportedReplicationProviders + } + + v = m["customDetails"] + if v != nil { + customDetails, err := unmarshalConfigurationSettings(*m["customDetails"]) + if err != nil { + return err + } + pip.CustomDetails = customDetails + } + + return nil } // ProtectedItemsQueryParameter is query parameter to enumerate protected items. type ProtectedItemsQueryParameter struct { SourceFabricName *string `json:"sourceFabricName,omitempty"` RecoveryPlanName *string `json:"recoveryPlanName,omitempty"` + VCenterName *string `json:"vCenterName,omitempty"` } // ProtectionContainer is protection container details. @@ -1978,7 +6911,139 @@ type ProviderError struct { } // ProviderSpecificFailoverInput is provider specific failover input. -type ProviderSpecificFailoverInput struct { +type ProviderSpecificFailoverInput interface { + AsHyperVReplicaAzureFailoverProviderInput() (*HyperVReplicaAzureFailoverProviderInput, bool) + AsHyperVReplicaAzureFailbackProviderInput() (*HyperVReplicaAzureFailbackProviderInput, bool) + AsInMageAzureV2FailoverProviderInput() (*InMageAzureV2FailoverProviderInput, bool) + AsInMageFailoverProviderInput() (*InMageFailoverProviderInput, bool) + AsA2AFailoverProviderInput() (*A2AFailoverProviderInput, bool) +} + +func unmarshalProviderSpecificFailoverInput(body []byte) (ProviderSpecificFailoverInput, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzure): + var hvrafpi HyperVReplicaAzureFailoverProviderInput + err := json.Unmarshal(body, &hvrafpi) + return hvrafpi, err + case string(InstanceTypeProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzureFailback): + var hvrafpi HyperVReplicaAzureFailbackProviderInput + err := json.Unmarshal(body, &hvrafpi) + return hvrafpi, err + case string(InstanceTypeProviderSpecificFailoverInputInstanceTypeInMageAzureV2): + var imavfpi InMageAzureV2FailoverProviderInput + err := json.Unmarshal(body, &imavfpi) + return imavfpi, err + case string(InstanceTypeProviderSpecificFailoverInputInstanceTypeInMage): + var imfpi InMageFailoverProviderInput + err := json.Unmarshal(body, &imfpi) + return imfpi, err + case string(InstanceTypeProviderSpecificFailoverInputInstanceTypeA2A): + var afpi A2AFailoverProviderInput + err := json.Unmarshal(body, &afpi) + return afpi, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalProviderSpecificFailoverInputArray(body []byte) ([]ProviderSpecificFailoverInput, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + psfiArray := make([]ProviderSpecificFailoverInput, len(rawMessages)) + + for index, rawMessage := range rawMessages { + psfi, err := unmarshalProviderSpecificFailoverInput(*rawMessage) + if err != nil { + return nil, err + } + psfiArray[index] = psfi + } + return psfiArray, nil +} + +// ProviderSpecificRecoveryPointDetails is replication provider specific recovery point details. +type ProviderSpecificRecoveryPointDetails struct { + Type *string `json:"Type,omitempty"` +} + +// RcmAzureMigrationPolicyDetails is RCM based Azure migration specific policy details. +type RcmAzureMigrationPolicyDetails struct { + InstanceType InstanceTypePolicyProviderSpecificDetails `json:"instanceType,omitempty"` + RecoveryPointThresholdInMinutes *int32 `json:"recoveryPointThresholdInMinutes,omitempty"` + RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` + AppConsistentFrequencyInMinutes *int32 `json:"appConsistentFrequencyInMinutes,omitempty"` + MultiVMSyncStatus MultiVMSyncStatus `json:"multiVmSyncStatus,omitempty"` + CrashConsistentFrequencyInMinutes *int32 `json:"crashConsistentFrequencyInMinutes,omitempty"` +} + +// MarshalJSON is the custom marshaler for RcmAzureMigrationPolicyDetails. +func (rampd RcmAzureMigrationPolicyDetails) MarshalJSON() ([]byte, error) { + rampd.InstanceType = InstanceTypePolicyProviderSpecificDetailsInstanceTypeRcmAzureMigration + type Alias RcmAzureMigrationPolicyDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(rampd), + }) +} + +// AsHyperVReplicaAzurePolicyDetails is the PolicyProviderSpecificDetails implementation for RcmAzureMigrationPolicyDetails. +func (rampd RcmAzureMigrationPolicyDetails) AsHyperVReplicaAzurePolicyDetails() (*HyperVReplicaAzurePolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaBasePolicyDetails is the PolicyProviderSpecificDetails implementation for RcmAzureMigrationPolicyDetails. +func (rampd RcmAzureMigrationPolicyDetails) AsHyperVReplicaBasePolicyDetails() (*HyperVReplicaBasePolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaPolicyDetails is the PolicyProviderSpecificDetails implementation for RcmAzureMigrationPolicyDetails. +func (rampd RcmAzureMigrationPolicyDetails) AsHyperVReplicaPolicyDetails() (*HyperVReplicaPolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaBluePolicyDetails is the PolicyProviderSpecificDetails implementation for RcmAzureMigrationPolicyDetails. +func (rampd RcmAzureMigrationPolicyDetails) AsHyperVReplicaBluePolicyDetails() (*HyperVReplicaBluePolicyDetails, bool) { + return nil, false +} + +// AsInMageBasePolicyDetails is the PolicyProviderSpecificDetails implementation for RcmAzureMigrationPolicyDetails. +func (rampd RcmAzureMigrationPolicyDetails) AsInMageBasePolicyDetails() (*InMageBasePolicyDetails, bool) { + return nil, false +} + +// AsInMageAzureV2PolicyDetails is the PolicyProviderSpecificDetails implementation for RcmAzureMigrationPolicyDetails. +func (rampd RcmAzureMigrationPolicyDetails) AsInMageAzureV2PolicyDetails() (*InMageAzureV2PolicyDetails, bool) { + return nil, false +} + +// AsInMagePolicyDetails is the PolicyProviderSpecificDetails implementation for RcmAzureMigrationPolicyDetails. +func (rampd RcmAzureMigrationPolicyDetails) AsInMagePolicyDetails() (*InMagePolicyDetails, bool) { + return nil, false +} + +// AsA2APolicyDetails is the PolicyProviderSpecificDetails implementation for RcmAzureMigrationPolicyDetails. +func (rampd RcmAzureMigrationPolicyDetails) AsA2APolicyDetails() (*A2APolicyDetails, bool) { + return nil, false +} + +// AsRcmAzureMigrationPolicyDetails is the PolicyProviderSpecificDetails implementation for RcmAzureMigrationPolicyDetails. +func (rampd RcmAzureMigrationPolicyDetails) AsRcmAzureMigrationPolicyDetails() (*RcmAzureMigrationPolicyDetails, bool) { + return &rampd, true +} + +// AsVmwareCbtPolicyDetails is the PolicyProviderSpecificDetails implementation for RcmAzureMigrationPolicyDetails. +func (rampd RcmAzureMigrationPolicyDetails) AsVmwareCbtPolicyDetails() (*VmwareCbtPolicyDetails, bool) { + return nil, false } // RecoveryPlan is recovery plan details. @@ -1993,8 +7058,45 @@ type RecoveryPlan struct { // RecoveryPlanA2AFailoverInput is recovery plan A2A failover input. type RecoveryPlanA2AFailoverInput struct { - RecoveryPointType A2ARpRecoveryPointType `json:"recoveryPointType,omitempty"` - CloudServiceCreationOption *string `json:"cloudServiceCreationOption,omitempty"` + InstanceType InstanceTypeRecoveryPlanProviderSpecificFailoverInput `json:"instanceType,omitempty"` + RecoveryPointType A2ARpRecoveryPointType `json:"recoveryPointType,omitempty"` + CloudServiceCreationOption *string `json:"cloudServiceCreationOption,omitempty"` +} + +// MarshalJSON is the custom marshaler for RecoveryPlanA2AFailoverInput. +func (rpafi RecoveryPlanA2AFailoverInput) MarshalJSON() ([]byte, error) { + rpafi.InstanceType = InstanceTypeRecoveryPlanProviderSpecificFailoverInputInstanceTypeA2A + type Alias RecoveryPlanA2AFailoverInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(rpafi), + }) +} + +// AsRecoveryPlanHyperVReplicaAzureFailoverInput is the RecoveryPlanProviderSpecificFailoverInput implementation for RecoveryPlanA2AFailoverInput. +func (rpafi RecoveryPlanA2AFailoverInput) AsRecoveryPlanHyperVReplicaAzureFailoverInput() (*RecoveryPlanHyperVReplicaAzureFailoverInput, bool) { + return nil, false +} + +// AsRecoveryPlanHyperVReplicaAzureFailbackInput is the RecoveryPlanProviderSpecificFailoverInput implementation for RecoveryPlanA2AFailoverInput. +func (rpafi RecoveryPlanA2AFailoverInput) AsRecoveryPlanHyperVReplicaAzureFailbackInput() (*RecoveryPlanHyperVReplicaAzureFailbackInput, bool) { + return nil, false +} + +// AsRecoveryPlanInMageAzureV2FailoverInput is the RecoveryPlanProviderSpecificFailoverInput implementation for RecoveryPlanA2AFailoverInput. +func (rpafi RecoveryPlanA2AFailoverInput) AsRecoveryPlanInMageAzureV2FailoverInput() (*RecoveryPlanInMageAzureV2FailoverInput, bool) { + return nil, false +} + +// AsRecoveryPlanInMageFailoverInput is the RecoveryPlanProviderSpecificFailoverInput implementation for RecoveryPlanA2AFailoverInput. +func (rpafi RecoveryPlanA2AFailoverInput) AsRecoveryPlanInMageFailoverInput() (*RecoveryPlanInMageFailoverInput, bool) { + return nil, false +} + +// AsRecoveryPlanA2AFailoverInput is the RecoveryPlanProviderSpecificFailoverInput implementation for RecoveryPlanA2AFailoverInput. +func (rpafi RecoveryPlanA2AFailoverInput) AsRecoveryPlanA2AFailoverInput() (*RecoveryPlanA2AFailoverInput, bool) { + return &rpafi, true } // RecoveryPlanAction is recovery plan action details. @@ -2002,18 +7104,142 @@ type RecoveryPlanAction struct { ActionName *string `json:"actionName,omitempty"` FailoverTypes *[]ReplicationProtectedItemOperation `json:"failoverTypes,omitempty"` FailoverDirections *[]PossibleOperationsDirections `json:"failoverDirections,omitempty"` - CustomDetails *RecoveryPlanActionDetails `json:"customDetails,omitempty"` + CustomDetails RecoveryPlanActionDetails `json:"customDetails,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for RecoveryPlanAction struct. +func (rpa *RecoveryPlanAction) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["actionName"] + if v != nil { + var actionName string + err = json.Unmarshal(*m["actionName"], &actionName) + if err != nil { + return err + } + rpa.ActionName = &actionName + } + + v = m["failoverTypes"] + if v != nil { + var failoverTypes []ReplicationProtectedItemOperation + err = json.Unmarshal(*m["failoverTypes"], &failoverTypes) + if err != nil { + return err + } + rpa.FailoverTypes = &failoverTypes + } + + v = m["failoverDirections"] + if v != nil { + var failoverDirections []PossibleOperationsDirections + err = json.Unmarshal(*m["failoverDirections"], &failoverDirections) + if err != nil { + return err + } + rpa.FailoverDirections = &failoverDirections + } + + v = m["customDetails"] + if v != nil { + customDetails, err := unmarshalRecoveryPlanActionDetails(*m["customDetails"]) + if err != nil { + return err + } + rpa.CustomDetails = customDetails + } + + return nil } // RecoveryPlanActionDetails is recovery plan action custom details. -type RecoveryPlanActionDetails struct { +type RecoveryPlanActionDetails interface { + AsRecoveryPlanScriptActionDetails() (*RecoveryPlanScriptActionDetails, bool) + AsRecoveryPlanAutomationRunbookActionDetails() (*RecoveryPlanAutomationRunbookActionDetails, bool) + AsRecoveryPlanManualActionDetails() (*RecoveryPlanManualActionDetails, bool) +} + +func unmarshalRecoveryPlanActionDetails(body []byte) (RecoveryPlanActionDetails, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeScriptActionDetails): + var rpsad RecoveryPlanScriptActionDetails + err := json.Unmarshal(body, &rpsad) + return rpsad, err + case string(InstanceTypeAutomationRunbookActionDetails): + var rparad RecoveryPlanAutomationRunbookActionDetails + err := json.Unmarshal(body, &rparad) + return rparad, err + case string(InstanceTypeManualActionDetails): + var rpmad RecoveryPlanManualActionDetails + err := json.Unmarshal(body, &rpmad) + return rpmad, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalRecoveryPlanActionDetailsArray(body []byte) ([]RecoveryPlanActionDetails, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + rpadArray := make([]RecoveryPlanActionDetails, len(rawMessages)) + + for index, rawMessage := range rawMessages { + rpad, err := unmarshalRecoveryPlanActionDetails(*rawMessage) + if err != nil { + return nil, err + } + rpadArray[index] = rpad + } + return rpadArray, nil } // RecoveryPlanAutomationRunbookActionDetails is recovery plan Automation runbook action details. type RecoveryPlanAutomationRunbookActionDetails struct { - RunbookID *string `json:"runbookId,omitempty"` - Timeout *string `json:"timeout,omitempty"` - FabricLocation RecoveryPlanActionLocation `json:"fabricLocation,omitempty"` + InstanceType InstanceTypeRecoveryPlanActionDetails `json:"instanceType,omitempty"` + RunbookID *string `json:"runbookId,omitempty"` + Timeout *string `json:"timeout,omitempty"` + FabricLocation RecoveryPlanActionLocation `json:"fabricLocation,omitempty"` +} + +// MarshalJSON is the custom marshaler for RecoveryPlanAutomationRunbookActionDetails. +func (rparad RecoveryPlanAutomationRunbookActionDetails) MarshalJSON() ([]byte, error) { + rparad.InstanceType = InstanceTypeAutomationRunbookActionDetails + type Alias RecoveryPlanAutomationRunbookActionDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(rparad), + }) +} + +// AsRecoveryPlanScriptActionDetails is the RecoveryPlanActionDetails implementation for RecoveryPlanAutomationRunbookActionDetails. +func (rparad RecoveryPlanAutomationRunbookActionDetails) AsRecoveryPlanScriptActionDetails() (*RecoveryPlanScriptActionDetails, bool) { + return nil, false +} + +// AsRecoveryPlanAutomationRunbookActionDetails is the RecoveryPlanActionDetails implementation for RecoveryPlanAutomationRunbookActionDetails. +func (rparad RecoveryPlanAutomationRunbookActionDetails) AsRecoveryPlanAutomationRunbookActionDetails() (*RecoveryPlanAutomationRunbookActionDetails, bool) { + return &rparad, true +} + +// AsRecoveryPlanManualActionDetails is the RecoveryPlanActionDetails implementation for RecoveryPlanAutomationRunbookActionDetails. +func (rparad RecoveryPlanAutomationRunbookActionDetails) AsRecoveryPlanManualActionDetails() (*RecoveryPlanManualActionDetails, bool) { + return nil, false } // RecoveryPlanCollection is recovery plan collection details. @@ -2045,40 +7271,243 @@ type RecoveryPlanGroup struct { // RecoveryPlanGroupTaskDetails is this class represents the recovery plan group task. type RecoveryPlanGroupTaskDetails struct { - ChildTasks *[]ASRTask `json:"childTasks,omitempty"` - Name *string `json:"name,omitempty"` - GroupID *string `json:"groupId,omitempty"` - RpGroupType *string `json:"rpGroupType,omitempty"` + ChildTasks *[]ASRTask `json:"childTasks,omitempty"` + InstanceType InstanceTypeGroupTaskDetails `json:"instanceType,omitempty"` + Name *string `json:"name,omitempty"` + GroupID *string `json:"groupId,omitempty"` + RpGroupType *string `json:"rpGroupType,omitempty"` +} + +// MarshalJSON is the custom marshaler for RecoveryPlanGroupTaskDetails. +func (rpgtd RecoveryPlanGroupTaskDetails) MarshalJSON() ([]byte, error) { + rpgtd.InstanceType = InstanceTypeRecoveryPlanGroupTaskDetails + type Alias RecoveryPlanGroupTaskDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(rpgtd), + }) +} + +// AsInlineWorkflowTaskDetails is the GroupTaskDetails implementation for RecoveryPlanGroupTaskDetails. +func (rpgtd RecoveryPlanGroupTaskDetails) AsInlineWorkflowTaskDetails() (*InlineWorkflowTaskDetails, bool) { + return nil, false +} + +// AsRecoveryPlanGroupTaskDetails is the GroupTaskDetails implementation for RecoveryPlanGroupTaskDetails. +func (rpgtd RecoveryPlanGroupTaskDetails) AsRecoveryPlanGroupTaskDetails() (*RecoveryPlanGroupTaskDetails, bool) { + return &rpgtd, true +} + +// AsRecoveryPlanShutdownGroupTaskDetails is the GroupTaskDetails implementation for RecoveryPlanGroupTaskDetails. +func (rpgtd RecoveryPlanGroupTaskDetails) AsRecoveryPlanShutdownGroupTaskDetails() (*RecoveryPlanShutdownGroupTaskDetails, bool) { + return nil, false } // RecoveryPlanHyperVReplicaAzureFailbackInput is recovery plan HVR Azure failback input. type RecoveryPlanHyperVReplicaAzureFailbackInput struct { - DataSyncOption DataSyncStatus `json:"dataSyncOption,omitempty"` - RecoveryVMCreationOption AlternateLocationRecoveryOption `json:"recoveryVmCreationOption,omitempty"` + InstanceType InstanceTypeRecoveryPlanProviderSpecificFailoverInput `json:"instanceType,omitempty"` + DataSyncOption DataSyncStatus `json:"dataSyncOption,omitempty"` + RecoveryVMCreationOption AlternateLocationRecoveryOption `json:"recoveryVmCreationOption,omitempty"` +} + +// MarshalJSON is the custom marshaler for RecoveryPlanHyperVReplicaAzureFailbackInput. +func (rphvrafi RecoveryPlanHyperVReplicaAzureFailbackInput) MarshalJSON() ([]byte, error) { + rphvrafi.InstanceType = InstanceTypeRecoveryPlanProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzureFailback + type Alias RecoveryPlanHyperVReplicaAzureFailbackInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(rphvrafi), + }) +} + +// AsRecoveryPlanHyperVReplicaAzureFailoverInput is the RecoveryPlanProviderSpecificFailoverInput implementation for RecoveryPlanHyperVReplicaAzureFailbackInput. +func (rphvrafi RecoveryPlanHyperVReplicaAzureFailbackInput) AsRecoveryPlanHyperVReplicaAzureFailoverInput() (*RecoveryPlanHyperVReplicaAzureFailoverInput, bool) { + return nil, false +} + +// AsRecoveryPlanHyperVReplicaAzureFailbackInput is the RecoveryPlanProviderSpecificFailoverInput implementation for RecoveryPlanHyperVReplicaAzureFailbackInput. +func (rphvrafi RecoveryPlanHyperVReplicaAzureFailbackInput) AsRecoveryPlanHyperVReplicaAzureFailbackInput() (*RecoveryPlanHyperVReplicaAzureFailbackInput, bool) { + return &rphvrafi, true +} + +// AsRecoveryPlanInMageAzureV2FailoverInput is the RecoveryPlanProviderSpecificFailoverInput implementation for RecoveryPlanHyperVReplicaAzureFailbackInput. +func (rphvrafi RecoveryPlanHyperVReplicaAzureFailbackInput) AsRecoveryPlanInMageAzureV2FailoverInput() (*RecoveryPlanInMageAzureV2FailoverInput, bool) { + return nil, false +} + +// AsRecoveryPlanInMageFailoverInput is the RecoveryPlanProviderSpecificFailoverInput implementation for RecoveryPlanHyperVReplicaAzureFailbackInput. +func (rphvrafi RecoveryPlanHyperVReplicaAzureFailbackInput) AsRecoveryPlanInMageFailoverInput() (*RecoveryPlanInMageFailoverInput, bool) { + return nil, false +} + +// AsRecoveryPlanA2AFailoverInput is the RecoveryPlanProviderSpecificFailoverInput implementation for RecoveryPlanHyperVReplicaAzureFailbackInput. +func (rphvrafi RecoveryPlanHyperVReplicaAzureFailbackInput) AsRecoveryPlanA2AFailoverInput() (*RecoveryPlanA2AFailoverInput, bool) { + return nil, false } // RecoveryPlanHyperVReplicaAzureFailoverInput is recovery plan HVR Azure failover input. type RecoveryPlanHyperVReplicaAzureFailoverInput struct { - VaultLocation *string `json:"vaultLocation,omitempty"` - PrimaryKekCertificatePfx *string `json:"primaryKekCertificatePfx,omitempty"` - SecondaryKekCertificatePfx *string `json:"secondaryKekCertificatePfx,omitempty"` - RecoveryPointType HyperVReplicaAzureRpRecoveryPointType `json:"recoveryPointType,omitempty"` + InstanceType InstanceTypeRecoveryPlanProviderSpecificFailoverInput `json:"instanceType,omitempty"` + VaultLocation *string `json:"vaultLocation,omitempty"` + PrimaryKekCertificatePfx *string `json:"primaryKekCertificatePfx,omitempty"` + SecondaryKekCertificatePfx *string `json:"secondaryKekCertificatePfx,omitempty"` + RecoveryPointType HyperVReplicaAzureRpRecoveryPointType `json:"recoveryPointType,omitempty"` +} + +// MarshalJSON is the custom marshaler for RecoveryPlanHyperVReplicaAzureFailoverInput. +func (rphvrafi RecoveryPlanHyperVReplicaAzureFailoverInput) MarshalJSON() ([]byte, error) { + rphvrafi.InstanceType = InstanceTypeRecoveryPlanProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzure + type Alias RecoveryPlanHyperVReplicaAzureFailoverInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(rphvrafi), + }) +} + +// AsRecoveryPlanHyperVReplicaAzureFailoverInput is the RecoveryPlanProviderSpecificFailoverInput implementation for RecoveryPlanHyperVReplicaAzureFailoverInput. +func (rphvrafi RecoveryPlanHyperVReplicaAzureFailoverInput) AsRecoveryPlanHyperVReplicaAzureFailoverInput() (*RecoveryPlanHyperVReplicaAzureFailoverInput, bool) { + return &rphvrafi, true +} + +// AsRecoveryPlanHyperVReplicaAzureFailbackInput is the RecoveryPlanProviderSpecificFailoverInput implementation for RecoveryPlanHyperVReplicaAzureFailoverInput. +func (rphvrafi RecoveryPlanHyperVReplicaAzureFailoverInput) AsRecoveryPlanHyperVReplicaAzureFailbackInput() (*RecoveryPlanHyperVReplicaAzureFailbackInput, bool) { + return nil, false +} + +// AsRecoveryPlanInMageAzureV2FailoverInput is the RecoveryPlanProviderSpecificFailoverInput implementation for RecoveryPlanHyperVReplicaAzureFailoverInput. +func (rphvrafi RecoveryPlanHyperVReplicaAzureFailoverInput) AsRecoveryPlanInMageAzureV2FailoverInput() (*RecoveryPlanInMageAzureV2FailoverInput, bool) { + return nil, false +} + +// AsRecoveryPlanInMageFailoverInput is the RecoveryPlanProviderSpecificFailoverInput implementation for RecoveryPlanHyperVReplicaAzureFailoverInput. +func (rphvrafi RecoveryPlanHyperVReplicaAzureFailoverInput) AsRecoveryPlanInMageFailoverInput() (*RecoveryPlanInMageFailoverInput, bool) { + return nil, false +} + +// AsRecoveryPlanA2AFailoverInput is the RecoveryPlanProviderSpecificFailoverInput implementation for RecoveryPlanHyperVReplicaAzureFailoverInput. +func (rphvrafi RecoveryPlanHyperVReplicaAzureFailoverInput) AsRecoveryPlanA2AFailoverInput() (*RecoveryPlanA2AFailoverInput, bool) { + return nil, false } // RecoveryPlanInMageAzureV2FailoverInput is recovery plan InMageAzureV2 failover input. type RecoveryPlanInMageAzureV2FailoverInput struct { - VaultLocation *string `json:"vaultLocation,omitempty"` - RecoveryPointType InMageV2RpRecoveryPointType `json:"recoveryPointType,omitempty"` + InstanceType InstanceTypeRecoveryPlanProviderSpecificFailoverInput `json:"instanceType,omitempty"` + VaultLocation *string `json:"vaultLocation,omitempty"` + RecoveryPointType InMageV2RpRecoveryPointType `json:"recoveryPointType,omitempty"` + UseMultiVMSyncPoint *string `json:"useMultiVmSyncPoint,omitempty"` +} + +// MarshalJSON is the custom marshaler for RecoveryPlanInMageAzureV2FailoverInput. +func (rpimavfi RecoveryPlanInMageAzureV2FailoverInput) MarshalJSON() ([]byte, error) { + rpimavfi.InstanceType = InstanceTypeRecoveryPlanProviderSpecificFailoverInputInstanceTypeInMageAzureV2 + type Alias RecoveryPlanInMageAzureV2FailoverInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(rpimavfi), + }) +} + +// AsRecoveryPlanHyperVReplicaAzureFailoverInput is the RecoveryPlanProviderSpecificFailoverInput implementation for RecoveryPlanInMageAzureV2FailoverInput. +func (rpimavfi RecoveryPlanInMageAzureV2FailoverInput) AsRecoveryPlanHyperVReplicaAzureFailoverInput() (*RecoveryPlanHyperVReplicaAzureFailoverInput, bool) { + return nil, false +} + +// AsRecoveryPlanHyperVReplicaAzureFailbackInput is the RecoveryPlanProviderSpecificFailoverInput implementation for RecoveryPlanInMageAzureV2FailoverInput. +func (rpimavfi RecoveryPlanInMageAzureV2FailoverInput) AsRecoveryPlanHyperVReplicaAzureFailbackInput() (*RecoveryPlanHyperVReplicaAzureFailbackInput, bool) { + return nil, false +} + +// AsRecoveryPlanInMageAzureV2FailoverInput is the RecoveryPlanProviderSpecificFailoverInput implementation for RecoveryPlanInMageAzureV2FailoverInput. +func (rpimavfi RecoveryPlanInMageAzureV2FailoverInput) AsRecoveryPlanInMageAzureV2FailoverInput() (*RecoveryPlanInMageAzureV2FailoverInput, bool) { + return &rpimavfi, true +} + +// AsRecoveryPlanInMageFailoverInput is the RecoveryPlanProviderSpecificFailoverInput implementation for RecoveryPlanInMageAzureV2FailoverInput. +func (rpimavfi RecoveryPlanInMageAzureV2FailoverInput) AsRecoveryPlanInMageFailoverInput() (*RecoveryPlanInMageFailoverInput, bool) { + return nil, false +} + +// AsRecoveryPlanA2AFailoverInput is the RecoveryPlanProviderSpecificFailoverInput implementation for RecoveryPlanInMageAzureV2FailoverInput. +func (rpimavfi RecoveryPlanInMageAzureV2FailoverInput) AsRecoveryPlanA2AFailoverInput() (*RecoveryPlanA2AFailoverInput, bool) { + return nil, false } // RecoveryPlanInMageFailoverInput is recovery plan InMage failover input. type RecoveryPlanInMageFailoverInput struct { - RecoveryPointType RpInMageRecoveryPointType `json:"recoveryPointType,omitempty"` + InstanceType InstanceTypeRecoveryPlanProviderSpecificFailoverInput `json:"instanceType,omitempty"` + RecoveryPointType RpInMageRecoveryPointType `json:"recoveryPointType,omitempty"` +} + +// MarshalJSON is the custom marshaler for RecoveryPlanInMageFailoverInput. +func (rpimfi RecoveryPlanInMageFailoverInput) MarshalJSON() ([]byte, error) { + rpimfi.InstanceType = InstanceTypeRecoveryPlanProviderSpecificFailoverInputInstanceTypeInMage + type Alias RecoveryPlanInMageFailoverInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(rpimfi), + }) +} + +// AsRecoveryPlanHyperVReplicaAzureFailoverInput is the RecoveryPlanProviderSpecificFailoverInput implementation for RecoveryPlanInMageFailoverInput. +func (rpimfi RecoveryPlanInMageFailoverInput) AsRecoveryPlanHyperVReplicaAzureFailoverInput() (*RecoveryPlanHyperVReplicaAzureFailoverInput, bool) { + return nil, false +} + +// AsRecoveryPlanHyperVReplicaAzureFailbackInput is the RecoveryPlanProviderSpecificFailoverInput implementation for RecoveryPlanInMageFailoverInput. +func (rpimfi RecoveryPlanInMageFailoverInput) AsRecoveryPlanHyperVReplicaAzureFailbackInput() (*RecoveryPlanHyperVReplicaAzureFailbackInput, bool) { + return nil, false +} + +// AsRecoveryPlanInMageAzureV2FailoverInput is the RecoveryPlanProviderSpecificFailoverInput implementation for RecoveryPlanInMageFailoverInput. +func (rpimfi RecoveryPlanInMageFailoverInput) AsRecoveryPlanInMageAzureV2FailoverInput() (*RecoveryPlanInMageAzureV2FailoverInput, bool) { + return nil, false +} + +// AsRecoveryPlanInMageFailoverInput is the RecoveryPlanProviderSpecificFailoverInput implementation for RecoveryPlanInMageFailoverInput. +func (rpimfi RecoveryPlanInMageFailoverInput) AsRecoveryPlanInMageFailoverInput() (*RecoveryPlanInMageFailoverInput, bool) { + return &rpimfi, true +} + +// AsRecoveryPlanA2AFailoverInput is the RecoveryPlanProviderSpecificFailoverInput implementation for RecoveryPlanInMageFailoverInput. +func (rpimfi RecoveryPlanInMageFailoverInput) AsRecoveryPlanA2AFailoverInput() (*RecoveryPlanA2AFailoverInput, bool) { + return nil, false } // RecoveryPlanManualActionDetails is recovery plan manual action details. type RecoveryPlanManualActionDetails struct { - Description *string `json:"description,omitempty"` + InstanceType InstanceTypeRecoveryPlanActionDetails `json:"instanceType,omitempty"` + Description *string `json:"description,omitempty"` +} + +// MarshalJSON is the custom marshaler for RecoveryPlanManualActionDetails. +func (rpmad RecoveryPlanManualActionDetails) MarshalJSON() ([]byte, error) { + rpmad.InstanceType = InstanceTypeManualActionDetails + type Alias RecoveryPlanManualActionDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(rpmad), + }) +} + +// AsRecoveryPlanScriptActionDetails is the RecoveryPlanActionDetails implementation for RecoveryPlanManualActionDetails. +func (rpmad RecoveryPlanManualActionDetails) AsRecoveryPlanScriptActionDetails() (*RecoveryPlanScriptActionDetails, bool) { + return nil, false +} + +// AsRecoveryPlanAutomationRunbookActionDetails is the RecoveryPlanActionDetails implementation for RecoveryPlanManualActionDetails. +func (rpmad RecoveryPlanManualActionDetails) AsRecoveryPlanAutomationRunbookActionDetails() (*RecoveryPlanAutomationRunbookActionDetails, bool) { + return nil, false +} + +// AsRecoveryPlanManualActionDetails is the RecoveryPlanActionDetails implementation for RecoveryPlanManualActionDetails. +func (rpmad RecoveryPlanManualActionDetails) AsRecoveryPlanManualActionDetails() (*RecoveryPlanManualActionDetails, bool) { + return &rpmad, true } // RecoveryPlanPlannedFailoverInput is recovery plan planned failover input. @@ -2092,6 +7521,37 @@ type RecoveryPlanPlannedFailoverInputProperties struct { ProviderSpecificDetails *[]RecoveryPlanProviderSpecificFailoverInput `json:"providerSpecificDetails,omitempty"` } +// UnmarshalJSON is the custom unmarshaler for RecoveryPlanPlannedFailoverInputProperties struct. +func (rppfip *RecoveryPlanPlannedFailoverInputProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["failoverDirection"] + if v != nil { + var failoverDirection PossibleOperationsDirections + err = json.Unmarshal(*m["failoverDirection"], &failoverDirection) + if err != nil { + return err + } + rppfip.FailoverDirection = failoverDirection + } + + v = m["providerSpecificDetails"] + if v != nil { + providerSpecificDetails, err := unmarshalRecoveryPlanProviderSpecificFailoverInputArray(*m["providerSpecificDetails"]) + if err != nil { + return err + } + rppfip.ProviderSpecificDetails = &providerSpecificDetails + } + + return nil +} + // RecoveryPlanProperties is recovery plan custom details. type RecoveryPlanProperties struct { FriendlyName *string `json:"friendlyName,omitempty"` @@ -2103,6 +7563,7 @@ type RecoveryPlanProperties struct { ReplicationProviders *[]string `json:"replicationProviders,omitempty"` AllowedOperations *[]string `json:"allowedOperations,omitempty"` LastPlannedFailoverTime *date.Time `json:"lastPlannedFailoverTime,omitempty"` + LastUnplannedFailoverTime *date.Time `json:"lastUnplannedFailoverTime,omitempty"` LastTestFailoverTime *date.Time `json:"lastTestFailoverTime,omitempty"` CurrentScenario *CurrentScenarioDetails `json:"currentScenario,omitempty"` CurrentScenarioStatus *string `json:"currentScenarioStatus,omitempty"` @@ -2117,22 +7578,132 @@ type RecoveryPlanProtectedItem struct { } // RecoveryPlanProviderSpecificFailoverInput is recovery plan provider specific failover input base class. -type RecoveryPlanProviderSpecificFailoverInput struct { +type RecoveryPlanProviderSpecificFailoverInput interface { + AsRecoveryPlanHyperVReplicaAzureFailoverInput() (*RecoveryPlanHyperVReplicaAzureFailoverInput, bool) + AsRecoveryPlanHyperVReplicaAzureFailbackInput() (*RecoveryPlanHyperVReplicaAzureFailbackInput, bool) + AsRecoveryPlanInMageAzureV2FailoverInput() (*RecoveryPlanInMageAzureV2FailoverInput, bool) + AsRecoveryPlanInMageFailoverInput() (*RecoveryPlanInMageFailoverInput, bool) + AsRecoveryPlanA2AFailoverInput() (*RecoveryPlanA2AFailoverInput, bool) +} + +func unmarshalRecoveryPlanProviderSpecificFailoverInput(body []byte) (RecoveryPlanProviderSpecificFailoverInput, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeRecoveryPlanProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzure): + var rphvrafi RecoveryPlanHyperVReplicaAzureFailoverInput + err := json.Unmarshal(body, &rphvrafi) + return rphvrafi, err + case string(InstanceTypeRecoveryPlanProviderSpecificFailoverInputInstanceTypeHyperVReplicaAzureFailback): + var rphvrafi RecoveryPlanHyperVReplicaAzureFailbackInput + err := json.Unmarshal(body, &rphvrafi) + return rphvrafi, err + case string(InstanceTypeRecoveryPlanProviderSpecificFailoverInputInstanceTypeInMageAzureV2): + var rpimavfi RecoveryPlanInMageAzureV2FailoverInput + err := json.Unmarshal(body, &rpimavfi) + return rpimavfi, err + case string(InstanceTypeRecoveryPlanProviderSpecificFailoverInputInstanceTypeInMage): + var rpimfi RecoveryPlanInMageFailoverInput + err := json.Unmarshal(body, &rpimfi) + return rpimfi, err + case string(InstanceTypeRecoveryPlanProviderSpecificFailoverInputInstanceTypeA2A): + var rpafi RecoveryPlanA2AFailoverInput + err := json.Unmarshal(body, &rpafi) + return rpafi, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalRecoveryPlanProviderSpecificFailoverInputArray(body []byte) ([]RecoveryPlanProviderSpecificFailoverInput, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + rppsfiArray := make([]RecoveryPlanProviderSpecificFailoverInput, len(rawMessages)) + + for index, rawMessage := range rawMessages { + rppsfi, err := unmarshalRecoveryPlanProviderSpecificFailoverInput(*rawMessage) + if err != nil { + return nil, err + } + rppsfiArray[index] = rppsfi + } + return rppsfiArray, nil } // RecoveryPlanScriptActionDetails is recovery plan script action details. type RecoveryPlanScriptActionDetails struct { - Path *string `json:"path,omitempty"` - Timeout *string `json:"timeout,omitempty"` - FabricLocation RecoveryPlanActionLocation `json:"fabricLocation,omitempty"` + InstanceType InstanceTypeRecoveryPlanActionDetails `json:"instanceType,omitempty"` + Path *string `json:"path,omitempty"` + Timeout *string `json:"timeout,omitempty"` + FabricLocation RecoveryPlanActionLocation `json:"fabricLocation,omitempty"` +} + +// MarshalJSON is the custom marshaler for RecoveryPlanScriptActionDetails. +func (rpsad RecoveryPlanScriptActionDetails) MarshalJSON() ([]byte, error) { + rpsad.InstanceType = InstanceTypeScriptActionDetails + type Alias RecoveryPlanScriptActionDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(rpsad), + }) +} + +// AsRecoveryPlanScriptActionDetails is the RecoveryPlanActionDetails implementation for RecoveryPlanScriptActionDetails. +func (rpsad RecoveryPlanScriptActionDetails) AsRecoveryPlanScriptActionDetails() (*RecoveryPlanScriptActionDetails, bool) { + return &rpsad, true +} + +// AsRecoveryPlanAutomationRunbookActionDetails is the RecoveryPlanActionDetails implementation for RecoveryPlanScriptActionDetails. +func (rpsad RecoveryPlanScriptActionDetails) AsRecoveryPlanAutomationRunbookActionDetails() (*RecoveryPlanAutomationRunbookActionDetails, bool) { + return nil, false +} + +// AsRecoveryPlanManualActionDetails is the RecoveryPlanActionDetails implementation for RecoveryPlanScriptActionDetails. +func (rpsad RecoveryPlanScriptActionDetails) AsRecoveryPlanManualActionDetails() (*RecoveryPlanManualActionDetails, bool) { + return nil, false } // RecoveryPlanShutdownGroupTaskDetails is this class represents the recovery plan shutdown group task details. type RecoveryPlanShutdownGroupTaskDetails struct { - ChildTasks *[]ASRTask `json:"childTasks,omitempty"` - Name *string `json:"name,omitempty"` - GroupID *string `json:"groupId,omitempty"` - RpGroupType *string `json:"rpGroupType,omitempty"` + ChildTasks *[]ASRTask `json:"childTasks,omitempty"` + InstanceType InstanceTypeGroupTaskDetails `json:"instanceType,omitempty"` + Name *string `json:"name,omitempty"` + GroupID *string `json:"groupId,omitempty"` + RpGroupType *string `json:"rpGroupType,omitempty"` +} + +// MarshalJSON is the custom marshaler for RecoveryPlanShutdownGroupTaskDetails. +func (rpsgtd RecoveryPlanShutdownGroupTaskDetails) MarshalJSON() ([]byte, error) { + rpsgtd.InstanceType = InstanceTypeRecoveryPlanShutdownGroupTaskDetails + type Alias RecoveryPlanShutdownGroupTaskDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(rpsgtd), + }) +} + +// AsInlineWorkflowTaskDetails is the GroupTaskDetails implementation for RecoveryPlanShutdownGroupTaskDetails. +func (rpsgtd RecoveryPlanShutdownGroupTaskDetails) AsInlineWorkflowTaskDetails() (*InlineWorkflowTaskDetails, bool) { + return nil, false +} + +// AsRecoveryPlanGroupTaskDetails is the GroupTaskDetails implementation for RecoveryPlanShutdownGroupTaskDetails. +func (rpsgtd RecoveryPlanShutdownGroupTaskDetails) AsRecoveryPlanGroupTaskDetails() (*RecoveryPlanGroupTaskDetails, bool) { + return nil, false +} + +// AsRecoveryPlanShutdownGroupTaskDetails is the GroupTaskDetails implementation for RecoveryPlanShutdownGroupTaskDetails. +func (rpsgtd RecoveryPlanShutdownGroupTaskDetails) AsRecoveryPlanShutdownGroupTaskDetails() (*RecoveryPlanShutdownGroupTaskDetails, bool) { + return &rpsgtd, true } // RecoveryPlanTestFailoverCleanupInput is recovery plan test failover cleanup input. @@ -2159,6 +7730,67 @@ type RecoveryPlanTestFailoverInputProperties struct { ProviderSpecificDetails *[]RecoveryPlanProviderSpecificFailoverInput `json:"providerSpecificDetails,omitempty"` } +// UnmarshalJSON is the custom unmarshaler for RecoveryPlanTestFailoverInputProperties struct. +func (rptfip *RecoveryPlanTestFailoverInputProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["failoverDirection"] + if v != nil { + var failoverDirection PossibleOperationsDirections + err = json.Unmarshal(*m["failoverDirection"], &failoverDirection) + if err != nil { + return err + } + rptfip.FailoverDirection = failoverDirection + } + + v = m["networkType"] + if v != nil { + var networkType string + err = json.Unmarshal(*m["networkType"], &networkType) + if err != nil { + return err + } + rptfip.NetworkType = &networkType + } + + v = m["networkId"] + if v != nil { + var networkID string + err = json.Unmarshal(*m["networkId"], &networkID) + if err != nil { + return err + } + rptfip.NetworkID = &networkID + } + + v = m["skipTestFailoverCleanup"] + if v != nil { + var skipTestFailoverCleanup string + err = json.Unmarshal(*m["skipTestFailoverCleanup"], &skipTestFailoverCleanup) + if err != nil { + return err + } + rptfip.SkipTestFailoverCleanup = &skipTestFailoverCleanup + } + + v = m["providerSpecificDetails"] + if v != nil { + providerSpecificDetails, err := unmarshalRecoveryPlanProviderSpecificFailoverInputArray(*m["providerSpecificDetails"]) + if err != nil { + return err + } + rptfip.ProviderSpecificDetails = &providerSpecificDetails + } + + return nil +} + // RecoveryPlanUnplannedFailoverInput is recovery plan unplanned failover input. type RecoveryPlanUnplannedFailoverInput struct { Properties *RecoveryPlanUnplannedFailoverInputProperties `json:"properties,omitempty"` @@ -2171,6 +7803,47 @@ type RecoveryPlanUnplannedFailoverInputProperties struct { ProviderSpecificDetails *[]RecoveryPlanProviderSpecificFailoverInput `json:"providerSpecificDetails,omitempty"` } +// UnmarshalJSON is the custom unmarshaler for RecoveryPlanUnplannedFailoverInputProperties struct. +func (rpufip *RecoveryPlanUnplannedFailoverInputProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["failoverDirection"] + if v != nil { + var failoverDirection PossibleOperationsDirections + err = json.Unmarshal(*m["failoverDirection"], &failoverDirection) + if err != nil { + return err + } + rpufip.FailoverDirection = failoverDirection + } + + v = m["sourceSiteOperations"] + if v != nil { + var sourceSiteOperations SourceSiteOperations + err = json.Unmarshal(*m["sourceSiteOperations"], &sourceSiteOperations) + if err != nil { + return err + } + rpufip.SourceSiteOperations = sourceSiteOperations + } + + v = m["providerSpecificDetails"] + if v != nil { + providerSpecificDetails, err := unmarshalRecoveryPlanProviderSpecificFailoverInputArray(*m["providerSpecificDetails"]) + if err != nil { + return err + } + rpufip.ProviderSpecificDetails = &providerSpecificDetails + } + + return nil +} + // RecoveryPoint is base class representing a recovery point. type RecoveryPoint struct { autorest.Response `json:"-"` @@ -2202,8 +7875,9 @@ func (client RecoveryPointCollection) RecoveryPointCollectionPreparer() (*http.R // RecoveryPointProperties is recovery point properties. type RecoveryPointProperties struct { - RecoveryPointTime *date.Time `json:"recoveryPointTime,omitempty"` - RecoveryPointType *string `json:"recoveryPointType,omitempty"` + RecoveryPointTime *date.Time `json:"recoveryPointTime,omitempty"` + RecoveryPointType *string `json:"recoveryPointType,omitempty"` + ProviderSpecificDetails *ProviderSpecificRecoveryPointDetails `json:"providerSpecificDetails,omitempty"` } // RecoveryServicesProvider is provider details. @@ -2237,18 +7911,20 @@ func (client RecoveryServicesProviderCollection) RecoveryServicesProviderCollect // RecoveryServicesProviderProperties is recovery services provider properties. type RecoveryServicesProviderProperties struct { - FabricType *string `json:"fabricType,omitempty"` - FriendlyName *string `json:"friendlyName,omitempty"` - ProviderVersion *string `json:"providerVersion,omitempty"` - ServerVersion *string `json:"serverVersion,omitempty"` - ProviderVersionState *string `json:"providerVersionState,omitempty"` - ProviderVersionExpiryDate *date.Time `json:"providerVersionExpiryDate,omitempty"` - FabricFriendlyName *string `json:"fabricFriendlyName,omitempty"` - LastHeartBeat *date.Time `json:"lastHeartBeat,omitempty"` - ConnectionStatus *string `json:"connectionStatus,omitempty"` - ProtectedItemCount *int32 `json:"protectedItemCount,omitempty"` - AllowedScenarios *[]string `json:"allowedScenarios,omitempty"` - HealthErrorDetails *[]HealthError `json:"healthErrorDetails,omitempty"` + FabricType *string `json:"fabricType,omitempty"` + FriendlyName *string `json:"friendlyName,omitempty"` + ProviderVersion *string `json:"providerVersion,omitempty"` + ServerVersion *string `json:"serverVersion,omitempty"` + ProviderVersionState *string `json:"providerVersionState,omitempty"` + ProviderVersionExpiryDate *date.Time `json:"providerVersionExpiryDate,omitempty"` + FabricFriendlyName *string `json:"fabricFriendlyName,omitempty"` + LastHeartBeat *date.Time `json:"lastHeartBeat,omitempty"` + ConnectionStatus *string `json:"connectionStatus,omitempty"` + ProtectedItemCount *int32 `json:"protectedItemCount,omitempty"` + AllowedScenarios *[]string `json:"allowedScenarios,omitempty"` + HealthErrorDetails *[]HealthError `json:"healthErrorDetails,omitempty"` + DraIdentifier *string `json:"draIdentifier,omitempty"` + IdentityDetails *IdentityInformation `json:"identityDetails,omitempty"` } // RemoveProtectionContainerMappingInput is container unpairing input. @@ -2273,6 +7949,33 @@ type RenewCertificateInputProperties struct { // ReplicationGroupDetails is replication group details. This will be used in case of San and Wvr. type ReplicationGroupDetails struct { + InstanceType InstanceTypeConfigurationSettings `json:"instanceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for ReplicationGroupDetails. +func (rgd ReplicationGroupDetails) MarshalJSON() ([]byte, error) { + rgd.InstanceType = InstanceTypeReplicationGroupDetails + type Alias ReplicationGroupDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(rgd), + }) +} + +// AsHyperVVirtualMachineDetails is the ConfigurationSettings implementation for ReplicationGroupDetails. +func (rgd ReplicationGroupDetails) AsHyperVVirtualMachineDetails() (*HyperVVirtualMachineDetails, bool) { + return nil, false +} + +// AsVMwareVirtualMachineDetails is the ConfigurationSettings implementation for ReplicationGroupDetails. +func (rgd ReplicationGroupDetails) AsVMwareVirtualMachineDetails() (*VMwareVirtualMachineDetails, bool) { + return nil, false +} + +// AsReplicationGroupDetails is the ConfigurationSettings implementation for ReplicationGroupDetails. +func (rgd ReplicationGroupDetails) AsReplicationGroupDetails() (*ReplicationGroupDetails, bool) { + return &rgd, true } // ReplicationProtectedItem is replication protected item. @@ -2306,31 +8009,314 @@ func (client ReplicationProtectedItemCollection) ReplicationProtectedItemCollect // ReplicationProtectedItemProperties is replication protected item custom data details. type ReplicationProtectedItemProperties struct { - FriendlyName *string `json:"friendlyName,omitempty"` - ProtectedItemType *string `json:"protectedItemType,omitempty"` - ProtectableItemID *string `json:"protectableItemId,omitempty"` - RecoveryServicesProviderID *string `json:"recoveryServicesProviderId,omitempty"` - PrimaryFabricFriendlyName *string `json:"primaryFabricFriendlyName,omitempty"` - RecoveryFabricFriendlyName *string `json:"recoveryFabricFriendlyName,omitempty"` - RecoveryFabricID *string `json:"recoveryFabricId,omitempty"` - PrimaryProtectionContainerFriendlyName *string `json:"primaryProtectionContainerFriendlyName,omitempty"` - RecoveryProtectionContainerFriendlyName *string `json:"recoveryProtectionContainerFriendlyName,omitempty"` - ProtectionState *string `json:"protectionState,omitempty"` - ProtectionStateDescription *string `json:"protectionStateDescription,omitempty"` - ActiveLocation *string `json:"activeLocation,omitempty"` - TestFailoverState *string `json:"testFailoverState,omitempty"` - TestFailoverStateDescription *string `json:"testFailoverStateDescription,omitempty"` - AllowedOperations *[]string `json:"allowedOperations,omitempty"` - ReplicationHealth *string `json:"replicationHealth,omitempty"` - ReplicationHealthErrors *[]HealthError `json:"replicationHealthErrors,omitempty"` - PolicyID *string `json:"policyId,omitempty"` - PolicyFriendlyName *string `json:"policyFriendlyName,omitempty"` - LastSuccessfulFailoverTime *date.Time `json:"lastSuccessfulFailoverTime,omitempty"` - LastSuccessfulTestFailoverTime *date.Time `json:"lastSuccessfulTestFailoverTime,omitempty"` - CurrentScenario *CurrentScenarioDetails `json:"currentScenario,omitempty"` - FailoverRecoveryPointID *string `json:"failoverRecoveryPointId,omitempty"` - ProviderSpecificDetails *ReplicationProviderSpecificSettings `json:"providerSpecificDetails,omitempty"` - RecoveryContainerID *string `json:"recoveryContainerId,omitempty"` + FriendlyName *string `json:"friendlyName,omitempty"` + ProtectedItemType *string `json:"protectedItemType,omitempty"` + ProtectableItemID *string `json:"protectableItemId,omitempty"` + RecoveryServicesProviderID *string `json:"recoveryServicesProviderId,omitempty"` + PrimaryFabricFriendlyName *string `json:"primaryFabricFriendlyName,omitempty"` + RecoveryFabricFriendlyName *string `json:"recoveryFabricFriendlyName,omitempty"` + RecoveryFabricID *string `json:"recoveryFabricId,omitempty"` + PrimaryProtectionContainerFriendlyName *string `json:"primaryProtectionContainerFriendlyName,omitempty"` + RecoveryProtectionContainerFriendlyName *string `json:"recoveryProtectionContainerFriendlyName,omitempty"` + ProtectionState *string `json:"protectionState,omitempty"` + ProtectionStateDescription *string `json:"protectionStateDescription,omitempty"` + ActiveLocation *string `json:"activeLocation,omitempty"` + TestFailoverState *string `json:"testFailoverState,omitempty"` + TestFailoverStateDescription *string `json:"testFailoverStateDescription,omitempty"` + AllowedOperations *[]string `json:"allowedOperations,omitempty"` + ReplicationHealth *string `json:"replicationHealth,omitempty"` + FailoverHealth *string `json:"failoverHealth,omitempty"` + ReplicationHealthErrors *[]HealthError `json:"replicationHealthErrors,omitempty"` + FailoverHealthErrors *[]HealthError `json:"failoverHealthErrors,omitempty"` + PolicyID *string `json:"policyId,omitempty"` + PolicyFriendlyName *string `json:"policyFriendlyName,omitempty"` + LastSuccessfulFailoverTime *date.Time `json:"lastSuccessfulFailoverTime,omitempty"` + LastSuccessfulTestFailoverTime *date.Time `json:"lastSuccessfulTestFailoverTime,omitempty"` + CurrentScenario *CurrentScenarioDetails `json:"currentScenario,omitempty"` + FailoverRecoveryPointID *string `json:"failoverRecoveryPointId,omitempty"` + ProviderSpecificDetails ReplicationProviderSpecificSettings `json:"providerSpecificDetails,omitempty"` + RecoveryContainerID *string `json:"recoveryContainerId,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for ReplicationProtectedItemProperties struct. +func (rpip *ReplicationProtectedItemProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["friendlyName"] + if v != nil { + var friendlyName string + err = json.Unmarshal(*m["friendlyName"], &friendlyName) + if err != nil { + return err + } + rpip.FriendlyName = &friendlyName + } + + v = m["protectedItemType"] + if v != nil { + var protectedItemType string + err = json.Unmarshal(*m["protectedItemType"], &protectedItemType) + if err != nil { + return err + } + rpip.ProtectedItemType = &protectedItemType + } + + v = m["protectableItemId"] + if v != nil { + var protectableItemID string + err = json.Unmarshal(*m["protectableItemId"], &protectableItemID) + if err != nil { + return err + } + rpip.ProtectableItemID = &protectableItemID + } + + v = m["recoveryServicesProviderId"] + if v != nil { + var recoveryServicesProviderID string + err = json.Unmarshal(*m["recoveryServicesProviderId"], &recoveryServicesProviderID) + if err != nil { + return err + } + rpip.RecoveryServicesProviderID = &recoveryServicesProviderID + } + + v = m["primaryFabricFriendlyName"] + if v != nil { + var primaryFabricFriendlyName string + err = json.Unmarshal(*m["primaryFabricFriendlyName"], &primaryFabricFriendlyName) + if err != nil { + return err + } + rpip.PrimaryFabricFriendlyName = &primaryFabricFriendlyName + } + + v = m["recoveryFabricFriendlyName"] + if v != nil { + var recoveryFabricFriendlyName string + err = json.Unmarshal(*m["recoveryFabricFriendlyName"], &recoveryFabricFriendlyName) + if err != nil { + return err + } + rpip.RecoveryFabricFriendlyName = &recoveryFabricFriendlyName + } + + v = m["recoveryFabricId"] + if v != nil { + var recoveryFabricID string + err = json.Unmarshal(*m["recoveryFabricId"], &recoveryFabricID) + if err != nil { + return err + } + rpip.RecoveryFabricID = &recoveryFabricID + } + + v = m["primaryProtectionContainerFriendlyName"] + if v != nil { + var primaryProtectionContainerFriendlyName string + err = json.Unmarshal(*m["primaryProtectionContainerFriendlyName"], &primaryProtectionContainerFriendlyName) + if err != nil { + return err + } + rpip.PrimaryProtectionContainerFriendlyName = &primaryProtectionContainerFriendlyName + } + + v = m["recoveryProtectionContainerFriendlyName"] + if v != nil { + var recoveryProtectionContainerFriendlyName string + err = json.Unmarshal(*m["recoveryProtectionContainerFriendlyName"], &recoveryProtectionContainerFriendlyName) + if err != nil { + return err + } + rpip.RecoveryProtectionContainerFriendlyName = &recoveryProtectionContainerFriendlyName + } + + v = m["protectionState"] + if v != nil { + var protectionState string + err = json.Unmarshal(*m["protectionState"], &protectionState) + if err != nil { + return err + } + rpip.ProtectionState = &protectionState + } + + v = m["protectionStateDescription"] + if v != nil { + var protectionStateDescription string + err = json.Unmarshal(*m["protectionStateDescription"], &protectionStateDescription) + if err != nil { + return err + } + rpip.ProtectionStateDescription = &protectionStateDescription + } + + v = m["activeLocation"] + if v != nil { + var activeLocation string + err = json.Unmarshal(*m["activeLocation"], &activeLocation) + if err != nil { + return err + } + rpip.ActiveLocation = &activeLocation + } + + v = m["testFailoverState"] + if v != nil { + var testFailoverState string + err = json.Unmarshal(*m["testFailoverState"], &testFailoverState) + if err != nil { + return err + } + rpip.TestFailoverState = &testFailoverState + } + + v = m["testFailoverStateDescription"] + if v != nil { + var testFailoverStateDescription string + err = json.Unmarshal(*m["testFailoverStateDescription"], &testFailoverStateDescription) + if err != nil { + return err + } + rpip.TestFailoverStateDescription = &testFailoverStateDescription + } + + v = m["allowedOperations"] + if v != nil { + var allowedOperations []string + err = json.Unmarshal(*m["allowedOperations"], &allowedOperations) + if err != nil { + return err + } + rpip.AllowedOperations = &allowedOperations + } + + v = m["replicationHealth"] + if v != nil { + var replicationHealth string + err = json.Unmarshal(*m["replicationHealth"], &replicationHealth) + if err != nil { + return err + } + rpip.ReplicationHealth = &replicationHealth + } + + v = m["failoverHealth"] + if v != nil { + var failoverHealth string + err = json.Unmarshal(*m["failoverHealth"], &failoverHealth) + if err != nil { + return err + } + rpip.FailoverHealth = &failoverHealth + } + + v = m["replicationHealthErrors"] + if v != nil { + var replicationHealthErrors []HealthError + err = json.Unmarshal(*m["replicationHealthErrors"], &replicationHealthErrors) + if err != nil { + return err + } + rpip.ReplicationHealthErrors = &replicationHealthErrors + } + + v = m["failoverHealthErrors"] + if v != nil { + var failoverHealthErrors []HealthError + err = json.Unmarshal(*m["failoverHealthErrors"], &failoverHealthErrors) + if err != nil { + return err + } + rpip.FailoverHealthErrors = &failoverHealthErrors + } + + v = m["policyId"] + if v != nil { + var policyID string + err = json.Unmarshal(*m["policyId"], &policyID) + if err != nil { + return err + } + rpip.PolicyID = &policyID + } + + v = m["policyFriendlyName"] + if v != nil { + var policyFriendlyName string + err = json.Unmarshal(*m["policyFriendlyName"], &policyFriendlyName) + if err != nil { + return err + } + rpip.PolicyFriendlyName = &policyFriendlyName + } + + v = m["lastSuccessfulFailoverTime"] + if v != nil { + var lastSuccessfulFailoverTime date.Time + err = json.Unmarshal(*m["lastSuccessfulFailoverTime"], &lastSuccessfulFailoverTime) + if err != nil { + return err + } + rpip.LastSuccessfulFailoverTime = &lastSuccessfulFailoverTime + } + + v = m["lastSuccessfulTestFailoverTime"] + if v != nil { + var lastSuccessfulTestFailoverTime date.Time + err = json.Unmarshal(*m["lastSuccessfulTestFailoverTime"], &lastSuccessfulTestFailoverTime) + if err != nil { + return err + } + rpip.LastSuccessfulTestFailoverTime = &lastSuccessfulTestFailoverTime + } + + v = m["currentScenario"] + if v != nil { + var currentScenario CurrentScenarioDetails + err = json.Unmarshal(*m["currentScenario"], ¤tScenario) + if err != nil { + return err + } + rpip.CurrentScenario = ¤tScenario + } + + v = m["failoverRecoveryPointId"] + if v != nil { + var failoverRecoveryPointID string + err = json.Unmarshal(*m["failoverRecoveryPointId"], &failoverRecoveryPointID) + if err != nil { + return err + } + rpip.FailoverRecoveryPointID = &failoverRecoveryPointID + } + + v = m["providerSpecificDetails"] + if v != nil { + providerSpecificDetails, err := unmarshalReplicationProviderSpecificSettings(*m["providerSpecificDetails"]) + if err != nil { + return err + } + rpip.ProviderSpecificDetails = providerSpecificDetails + } + + v = m["recoveryContainerId"] + if v != nil { + var recoveryContainerID string + err = json.Unmarshal(*m["recoveryContainerId"], &recoveryContainerID) + if err != nil { + return err + } + rpip.RecoveryContainerID = &recoveryContainerID + } + + return nil } // ReplicationProviderContainerUnmappingInput is provider specific input for unpairing operations. @@ -2339,7 +8325,43 @@ type ReplicationProviderContainerUnmappingInput struct { } // ReplicationProviderSpecificContainerCreationInput is provider specific input for container creation operation. -type ReplicationProviderSpecificContainerCreationInput struct { +type ReplicationProviderSpecificContainerCreationInput interface { + AsA2AContainerCreationInput() (*A2AContainerCreationInput, bool) +} + +func unmarshalReplicationProviderSpecificContainerCreationInput(body []byte) (ReplicationProviderSpecificContainerCreationInput, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeA2A): + var acci A2AContainerCreationInput + err := json.Unmarshal(body, &acci) + return acci, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalReplicationProviderSpecificContainerCreationInputArray(body []byte) ([]ReplicationProviderSpecificContainerCreationInput, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + rpscciArray := make([]ReplicationProviderSpecificContainerCreationInput, len(rawMessages)) + + for index, rawMessage := range rawMessages { + rpscci, err := unmarshalReplicationProviderSpecificContainerCreationInput(*rawMessage) + if err != nil { + return nil, err + } + rpscciArray[index] = rpscci + } + return rpscciArray, nil } // ReplicationProviderSpecificContainerMappingInput is provider specific input for pairing operations. @@ -2348,7 +8370,73 @@ type ReplicationProviderSpecificContainerMappingInput struct { } // ReplicationProviderSpecificSettings is replication provider specific settings. -type ReplicationProviderSpecificSettings struct { +type ReplicationProviderSpecificSettings interface { + AsHyperVReplicaBaseReplicationDetails() (*HyperVReplicaBaseReplicationDetails, bool) + AsHyperVReplicaReplicationDetails() (*HyperVReplicaReplicationDetails, bool) + AsHyperVReplicaBlueReplicationDetails() (*HyperVReplicaBlueReplicationDetails, bool) + AsHyperVReplicaAzureReplicationDetails() (*HyperVReplicaAzureReplicationDetails, bool) + AsInMageAzureV2ReplicationDetails() (*InMageAzureV2ReplicationDetails, bool) + AsInMageReplicationDetails() (*InMageReplicationDetails, bool) + AsA2AReplicationDetails() (*A2AReplicationDetails, bool) +} + +func unmarshalReplicationProviderSpecificSettings(body []byte) (ReplicationProviderSpecificSettings, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeReplicationProviderSpecificSettingsInstanceTypeHyperVReplicaBaseReplicationDetails): + var hvrbrd HyperVReplicaBaseReplicationDetails + err := json.Unmarshal(body, &hvrbrd) + return hvrbrd, err + case string(InstanceTypeReplicationProviderSpecificSettingsInstanceTypeHyperVReplica2012): + var hvrrd HyperVReplicaReplicationDetails + err := json.Unmarshal(body, &hvrrd) + return hvrrd, err + case string(InstanceTypeReplicationProviderSpecificSettingsInstanceTypeHyperVReplica2012R2): + var hvrbrd HyperVReplicaBlueReplicationDetails + err := json.Unmarshal(body, &hvrbrd) + return hvrbrd, err + case string(InstanceTypeReplicationProviderSpecificSettingsInstanceTypeHyperVReplicaAzure): + var hvrard HyperVReplicaAzureReplicationDetails + err := json.Unmarshal(body, &hvrard) + return hvrard, err + case string(InstanceTypeReplicationProviderSpecificSettingsInstanceTypeInMageAzureV2): + var imavrd InMageAzureV2ReplicationDetails + err := json.Unmarshal(body, &imavrd) + return imavrd, err + case string(InstanceTypeReplicationProviderSpecificSettingsInstanceTypeInMage): + var imrd InMageReplicationDetails + err := json.Unmarshal(body, &imrd) + return imrd, err + case string(InstanceTypeReplicationProviderSpecificSettingsInstanceTypeA2A): + var ard A2AReplicationDetails + err := json.Unmarshal(body, &ard) + return ard, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalReplicationProviderSpecificSettingsArray(body []byte) ([]ReplicationProviderSpecificSettings, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + rpssArray := make([]ReplicationProviderSpecificSettings, len(rawMessages)) + + for index, rawMessage := range rawMessages { + rpss, err := unmarshalReplicationProviderSpecificSettings(*rawMessage) + if err != nil { + return nil, err + } + rpssArray[index] = rpss + } + return rpssArray, nil } // Resource is azure resource. @@ -2359,6 +8447,12 @@ type Resource struct { Location *string `json:"location,omitempty"` } +// ResourceHealthSummary is base class to define the health summary of the resources contained under an Arm resource. +type ResourceHealthSummary struct { + ResourceCount *int32 `json:"resourceCount,omitempty"` + Issues *[]HealthErrorSummary `json:"issues,omitempty"` +} + // ResumeJobParams is resume job params. type ResumeJobParams struct { Properties *ResumeJobParamsProperties `json:"properties,omitempty"` @@ -2384,12 +8478,94 @@ type ReverseReplicationInput struct { // ReverseReplicationInputProperties is reverse replication input properties. type ReverseReplicationInputProperties struct { - FailoverDirection *string `json:"failoverDirection,omitempty"` - ProviderSpecificDetails *ReverseReplicationProviderSpecificInput `json:"providerSpecificDetails,omitempty"` + FailoverDirection *string `json:"failoverDirection,omitempty"` + ProviderSpecificDetails ReverseReplicationProviderSpecificInput `json:"providerSpecificDetails,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for ReverseReplicationInputProperties struct. +func (rrip *ReverseReplicationInputProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["failoverDirection"] + if v != nil { + var failoverDirection string + err = json.Unmarshal(*m["failoverDirection"], &failoverDirection) + if err != nil { + return err + } + rrip.FailoverDirection = &failoverDirection + } + + v = m["providerSpecificDetails"] + if v != nil { + providerSpecificDetails, err := unmarshalReverseReplicationProviderSpecificInput(*m["providerSpecificDetails"]) + if err != nil { + return err + } + rrip.ProviderSpecificDetails = providerSpecificDetails + } + + return nil } // ReverseReplicationProviderSpecificInput is provider specific reverse replication input. -type ReverseReplicationProviderSpecificInput struct { +type ReverseReplicationProviderSpecificInput interface { + AsHyperVReplicaAzureReprotectInput() (*HyperVReplicaAzureReprotectInput, bool) + AsInMageAzureV2ReprotectInput() (*InMageAzureV2ReprotectInput, bool) + AsInMageReprotectInput() (*InMageReprotectInput, bool) + AsA2AReprotectInput() (*A2AReprotectInput, bool) +} + +func unmarshalReverseReplicationProviderSpecificInput(body []byte) (ReverseReplicationProviderSpecificInput, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeReverseReplicationProviderSpecificInputInstanceTypeHyperVReplicaAzure): + var hvrari HyperVReplicaAzureReprotectInput + err := json.Unmarshal(body, &hvrari) + return hvrari, err + case string(InstanceTypeReverseReplicationProviderSpecificInputInstanceTypeInMageAzureV2): + var imavri InMageAzureV2ReprotectInput + err := json.Unmarshal(body, &imavri) + return imavri, err + case string(InstanceTypeReverseReplicationProviderSpecificInputInstanceTypeInMage): + var imri InMageReprotectInput + err := json.Unmarshal(body, &imri) + return imri, err + case string(InstanceTypeReverseReplicationProviderSpecificInputInstanceTypeA2A): + var ari A2AReprotectInput + err := json.Unmarshal(body, &ari) + return ari, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalReverseReplicationProviderSpecificInputArray(body []byte) ([]ReverseReplicationProviderSpecificInput, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + rrpsiArray := make([]ReverseReplicationProviderSpecificInput, len(rawMessages)) + + for index, rawMessage := range rawMessages { + rrpsi, err := unmarshalReverseReplicationProviderSpecificInput(*rawMessage) + if err != nil { + return nil, err + } + rrpsiArray[index] = rrpsi + } + return rrpsiArray, nil } // RoleAssignment is azure role assignment details. @@ -2409,14 +8585,103 @@ type RunAsAccount struct { // SanEnableProtectionInput is san enable protection provider specific input. type SanEnableProtectionInput struct { + InstanceType InstanceTypeEnableProtectionProviderSpecificInput `json:"instanceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for SanEnableProtectionInput. +func (sepi SanEnableProtectionInput) MarshalJSON() ([]byte, error) { + sepi.InstanceType = InstanceTypeEnableProtectionProviderSpecificInputInstanceTypeSan + type Alias SanEnableProtectionInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(sepi), + }) +} + +// AsHyperVReplicaAzureEnableProtectionInput is the EnableProtectionProviderSpecificInput implementation for SanEnableProtectionInput. +func (sepi SanEnableProtectionInput) AsHyperVReplicaAzureEnableProtectionInput() (*HyperVReplicaAzureEnableProtectionInput, bool) { + return nil, false +} + +// AsSanEnableProtectionInput is the EnableProtectionProviderSpecificInput implementation for SanEnableProtectionInput. +func (sepi SanEnableProtectionInput) AsSanEnableProtectionInput() (*SanEnableProtectionInput, bool) { + return &sepi, true +} + +// AsInMageAzureV2EnableProtectionInput is the EnableProtectionProviderSpecificInput implementation for SanEnableProtectionInput. +func (sepi SanEnableProtectionInput) AsInMageAzureV2EnableProtectionInput() (*InMageAzureV2EnableProtectionInput, bool) { + return nil, false +} + +// AsInMageEnableProtectionInput is the EnableProtectionProviderSpecificInput implementation for SanEnableProtectionInput. +func (sepi SanEnableProtectionInput) AsInMageEnableProtectionInput() (*InMageEnableProtectionInput, bool) { + return nil, false +} + +// AsA2AEnableProtectionInput is the EnableProtectionProviderSpecificInput implementation for SanEnableProtectionInput. +func (sepi SanEnableProtectionInput) AsA2AEnableProtectionInput() (*A2AEnableProtectionInput, bool) { + return nil, false } // ScriptActionTaskDetails is this class represents the script action task details. type ScriptActionTaskDetails struct { - Name *string `json:"name,omitempty"` - Path *string `json:"path,omitempty"` - Output *string `json:"output,omitempty"` - IsPrimarySideScript *bool `json:"isPrimarySideScript,omitempty"` + InstanceType InstanceTypeTaskTypeDetails `json:"instanceType,omitempty"` + Name *string `json:"name,omitempty"` + Path *string `json:"path,omitempty"` + Output *string `json:"output,omitempty"` + IsPrimarySideScript *bool `json:"isPrimarySideScript,omitempty"` +} + +// MarshalJSON is the custom marshaler for ScriptActionTaskDetails. +func (satd ScriptActionTaskDetails) MarshalJSON() ([]byte, error) { + satd.InstanceType = InstanceTypeScriptActionTaskDetails + type Alias ScriptActionTaskDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(satd), + }) +} + +// AsJobTaskDetails is the TaskTypeDetails implementation for ScriptActionTaskDetails. +func (satd ScriptActionTaskDetails) AsJobTaskDetails() (*JobTaskDetails, bool) { + return nil, false +} + +// AsVirtualMachineTaskDetails is the TaskTypeDetails implementation for ScriptActionTaskDetails. +func (satd ScriptActionTaskDetails) AsVirtualMachineTaskDetails() (*VirtualMachineTaskDetails, bool) { + return nil, false +} + +// AsFabricReplicationGroupTaskDetails is the TaskTypeDetails implementation for ScriptActionTaskDetails. +func (satd ScriptActionTaskDetails) AsFabricReplicationGroupTaskDetails() (*FabricReplicationGroupTaskDetails, bool) { + return nil, false +} + +// AsManualActionTaskDetails is the TaskTypeDetails implementation for ScriptActionTaskDetails. +func (satd ScriptActionTaskDetails) AsManualActionTaskDetails() (*ManualActionTaskDetails, bool) { + return nil, false +} + +// AsScriptActionTaskDetails is the TaskTypeDetails implementation for ScriptActionTaskDetails. +func (satd ScriptActionTaskDetails) AsScriptActionTaskDetails() (*ScriptActionTaskDetails, bool) { + return &satd, true +} + +// AsVMNicUpdatesTaskDetails is the TaskTypeDetails implementation for ScriptActionTaskDetails. +func (satd ScriptActionTaskDetails) AsVMNicUpdatesTaskDetails() (*VMNicUpdatesTaskDetails, bool) { + return nil, false +} + +// AsConsistencyCheckTaskDetails is the TaskTypeDetails implementation for ScriptActionTaskDetails. +func (satd ScriptActionTaskDetails) AsConsistencyCheckTaskDetails() (*ConsistencyCheckTaskDetails, bool) { + return nil, false +} + +// AsAutomationRunbookTaskDetails is the TaskTypeDetails implementation for ScriptActionTaskDetails. +func (satd ScriptActionTaskDetails) AsAutomationRunbookTaskDetails() (*AutomationRunbookTaskDetails, bool) { + return nil, false } // ServiceError is ASR error model @@ -2520,22 +8785,197 @@ type SwitchProtectionInput struct { // SwitchProtectionInputProperties is switch protection input properties. type SwitchProtectionInputProperties struct { - ReplicationProtectedItemName *string `json:"replicationProtectedItemName,omitempty"` - ProviderSpecificDetails *SwitchProtectionProviderSpecificInput `json:"providerSpecificDetails,omitempty"` + ReplicationProtectedItemName *string `json:"replicationProtectedItemName,omitempty"` + ProviderSpecificDetails SwitchProtectionProviderSpecificInput `json:"providerSpecificDetails,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for SwitchProtectionInputProperties struct. +func (spip *SwitchProtectionInputProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["replicationProtectedItemName"] + if v != nil { + var replicationProtectedItemName string + err = json.Unmarshal(*m["replicationProtectedItemName"], &replicationProtectedItemName) + if err != nil { + return err + } + spip.ReplicationProtectedItemName = &replicationProtectedItemName + } + + v = m["providerSpecificDetails"] + if v != nil { + providerSpecificDetails, err := unmarshalSwitchProtectionProviderSpecificInput(*m["providerSpecificDetails"]) + if err != nil { + return err + } + spip.ProviderSpecificDetails = providerSpecificDetails + } + + return nil } // SwitchProtectionJobDetails is this class represents details for switch protection job. type SwitchProtectionJobDetails struct { - AffectedObjectDetails *map[string]*string `json:"affectedObjectDetails,omitempty"` - NewReplicationProtectedItemID *string `json:"newReplicationProtectedItemId,omitempty"` + AffectedObjectDetails *map[string]*string `json:"affectedObjectDetails,omitempty"` + InstanceType InstanceTypeJobDetails `json:"instanceType,omitempty"` + NewReplicationProtectedItemID *string `json:"newReplicationProtectedItemId,omitempty"` +} + +// MarshalJSON is the custom marshaler for SwitchProtectionJobDetails. +func (spjd SwitchProtectionJobDetails) MarshalJSON() ([]byte, error) { + spjd.InstanceType = InstanceTypeSwitchProtectionJobDetails + type Alias SwitchProtectionJobDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(spjd), + }) +} + +// AsAsrJobDetails is the JobDetails implementation for SwitchProtectionJobDetails. +func (spjd SwitchProtectionJobDetails) AsAsrJobDetails() (*AsrJobDetails, bool) { + return nil, false +} + +// AsTestFailoverJobDetails is the JobDetails implementation for SwitchProtectionJobDetails. +func (spjd SwitchProtectionJobDetails) AsTestFailoverJobDetails() (*TestFailoverJobDetails, bool) { + return nil, false +} + +// AsFailoverJobDetails is the JobDetails implementation for SwitchProtectionJobDetails. +func (spjd SwitchProtectionJobDetails) AsFailoverJobDetails() (*FailoverJobDetails, bool) { + return nil, false +} + +// AsExportJobDetails is the JobDetails implementation for SwitchProtectionJobDetails. +func (spjd SwitchProtectionJobDetails) AsExportJobDetails() (*ExportJobDetails, bool) { + return nil, false +} + +// AsSwitchProtectionJobDetails is the JobDetails implementation for SwitchProtectionJobDetails. +func (spjd SwitchProtectionJobDetails) AsSwitchProtectionJobDetails() (*SwitchProtectionJobDetails, bool) { + return &spjd, true } // SwitchProtectionProviderSpecificInput is provider specific switch protection input. -type SwitchProtectionProviderSpecificInput struct { +type SwitchProtectionProviderSpecificInput interface { + AsA2ASwitchProtectionInput() (*A2ASwitchProtectionInput, bool) +} + +func unmarshalSwitchProtectionProviderSpecificInput(body []byte) (SwitchProtectionProviderSpecificInput, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeA2A): + var aspi A2ASwitchProtectionInput + err := json.Unmarshal(body, &aspi) + return aspi, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalSwitchProtectionProviderSpecificInputArray(body []byte) ([]SwitchProtectionProviderSpecificInput, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + sppsiArray := make([]SwitchProtectionProviderSpecificInput, len(rawMessages)) + + for index, rawMessage := range rawMessages { + sppsi, err := unmarshalSwitchProtectionProviderSpecificInput(*rawMessage) + if err != nil { + return nil, err + } + sppsiArray[index] = sppsi + } + return sppsiArray, nil } // TaskTypeDetails is task details based on specific task type. -type TaskTypeDetails struct { +type TaskTypeDetails interface { + AsJobTaskDetails() (*JobTaskDetails, bool) + AsVirtualMachineTaskDetails() (*VirtualMachineTaskDetails, bool) + AsFabricReplicationGroupTaskDetails() (*FabricReplicationGroupTaskDetails, bool) + AsManualActionTaskDetails() (*ManualActionTaskDetails, bool) + AsScriptActionTaskDetails() (*ScriptActionTaskDetails, bool) + AsVMNicUpdatesTaskDetails() (*VMNicUpdatesTaskDetails, bool) + AsConsistencyCheckTaskDetails() (*ConsistencyCheckTaskDetails, bool) + AsAutomationRunbookTaskDetails() (*AutomationRunbookTaskDetails, bool) +} + +func unmarshalTaskTypeDetails(body []byte) (TaskTypeDetails, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeJobTaskDetails): + var jtd JobTaskDetails + err := json.Unmarshal(body, &jtd) + return jtd, err + case string(InstanceTypeVirtualMachineTaskDetails): + var vmtd VirtualMachineTaskDetails + err := json.Unmarshal(body, &vmtd) + return vmtd, err + case string(InstanceTypeFabricReplicationGroupTaskDetails): + var frgtd FabricReplicationGroupTaskDetails + err := json.Unmarshal(body, &frgtd) + return frgtd, err + case string(InstanceTypeManualActionTaskDetails): + var matd ManualActionTaskDetails + err := json.Unmarshal(body, &matd) + return matd, err + case string(InstanceTypeScriptActionTaskDetails): + var satd ScriptActionTaskDetails + err := json.Unmarshal(body, &satd) + return satd, err + case string(InstanceTypeVMNicUpdatesTaskDetails): + var vnutd VMNicUpdatesTaskDetails + err := json.Unmarshal(body, &vnutd) + return vnutd, err + case string(InstanceTypeConsistencyCheckTaskDetails): + var cctd ConsistencyCheckTaskDetails + err := json.Unmarshal(body, &cctd) + return cctd, err + case string(InstanceTypeAutomationRunbookTaskDetails): + var artd AutomationRunbookTaskDetails + err := json.Unmarshal(body, &artd) + return artd, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalTaskTypeDetailsArray(body []byte) ([]TaskTypeDetails, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + ttdArray := make([]TaskTypeDetails, len(rawMessages)) + + for index, rawMessage := range rawMessages { + ttd, err := unmarshalTaskTypeDetails(*rawMessage) + if err != nil { + return nil, err + } + ttdArray[index] = ttd + } + return ttdArray, nil } // TestFailoverCleanupInput is input definition for test failover cleanup. @@ -2555,33 +8995,120 @@ type TestFailoverInput struct { // TestFailoverInputProperties is input definition for planned failover input properties. type TestFailoverInputProperties struct { - FailoverDirection *string `json:"failoverDirection,omitempty"` - NetworkType *string `json:"networkType,omitempty"` - NetworkID *string `json:"networkId,omitempty"` - SkipTestFailoverCleanup *string `json:"skipTestFailoverCleanup,omitempty"` - ProviderSpecificDetails *ProviderSpecificFailoverInput `json:"providerSpecificDetails,omitempty"` + FailoverDirection *string `json:"failoverDirection,omitempty"` + NetworkType *string `json:"networkType,omitempty"` + NetworkID *string `json:"networkId,omitempty"` + SkipTestFailoverCleanup *string `json:"skipTestFailoverCleanup,omitempty"` + ProviderSpecificDetails ProviderSpecificFailoverInput `json:"providerSpecificDetails,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for TestFailoverInputProperties struct. +func (tfip *TestFailoverInputProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["failoverDirection"] + if v != nil { + var failoverDirection string + err = json.Unmarshal(*m["failoverDirection"], &failoverDirection) + if err != nil { + return err + } + tfip.FailoverDirection = &failoverDirection + } + + v = m["networkType"] + if v != nil { + var networkType string + err = json.Unmarshal(*m["networkType"], &networkType) + if err != nil { + return err + } + tfip.NetworkType = &networkType + } + + v = m["networkId"] + if v != nil { + var networkID string + err = json.Unmarshal(*m["networkId"], &networkID) + if err != nil { + return err + } + tfip.NetworkID = &networkID + } + + v = m["skipTestFailoverCleanup"] + if v != nil { + var skipTestFailoverCleanup string + err = json.Unmarshal(*m["skipTestFailoverCleanup"], &skipTestFailoverCleanup) + if err != nil { + return err + } + tfip.SkipTestFailoverCleanup = &skipTestFailoverCleanup + } + + v = m["providerSpecificDetails"] + if v != nil { + providerSpecificDetails, err := unmarshalProviderSpecificFailoverInput(*m["providerSpecificDetails"]) + if err != nil { + return err + } + tfip.ProviderSpecificDetails = providerSpecificDetails + } + + return nil } // TestFailoverJobDetails is this class represents the details for a test failover job. type TestFailoverJobDetails struct { - AffectedObjectDetails *map[string]*string `json:"affectedObjectDetails,omitempty"` - TestFailoverStatus *string `json:"testFailoverStatus,omitempty"` - Comments *string `json:"comments,omitempty"` - NetworkName *string `json:"networkName,omitempty"` - NetworkFriendlyName *string `json:"networkFriendlyName,omitempty"` - NetworkType *string `json:"networkType,omitempty"` - ProtectedItemDetails *[]TestFailoverReplicationProtectedItemDetails `json:"protectedItemDetails,omitempty"` + AffectedObjectDetails *map[string]*string `json:"affectedObjectDetails,omitempty"` + InstanceType InstanceTypeJobDetails `json:"instanceType,omitempty"` + TestFailoverStatus *string `json:"testFailoverStatus,omitempty"` + Comments *string `json:"comments,omitempty"` + NetworkName *string `json:"networkName,omitempty"` + NetworkFriendlyName *string `json:"networkFriendlyName,omitempty"` + NetworkType *string `json:"networkType,omitempty"` + ProtectedItemDetails *[]FailoverReplicationProtectedItemDetails `json:"protectedItemDetails,omitempty"` } -// TestFailoverReplicationProtectedItemDetails is test failover details for a replication protected item. -type TestFailoverReplicationProtectedItemDetails struct { - Name *string `json:"name,omitempty"` - FriendlyName *string `json:"friendlyName,omitempty"` - TestVMName *string `json:"testVmName,omitempty"` - TestVMFriendlyName *string `json:"testVmFriendlyName,omitempty"` - NetworkConnectionStatus *string `json:"networkConnectionStatus,omitempty"` - NetworkFriendlyName *string `json:"networkFriendlyName,omitempty"` - Subnet *string `json:"subnet,omitempty"` +// MarshalJSON is the custom marshaler for TestFailoverJobDetails. +func (tfjd TestFailoverJobDetails) MarshalJSON() ([]byte, error) { + tfjd.InstanceType = InstanceTypeTestFailoverJobDetails + type Alias TestFailoverJobDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(tfjd), + }) +} + +// AsAsrJobDetails is the JobDetails implementation for TestFailoverJobDetails. +func (tfjd TestFailoverJobDetails) AsAsrJobDetails() (*AsrJobDetails, bool) { + return nil, false +} + +// AsTestFailoverJobDetails is the JobDetails implementation for TestFailoverJobDetails. +func (tfjd TestFailoverJobDetails) AsTestFailoverJobDetails() (*TestFailoverJobDetails, bool) { + return &tfjd, true +} + +// AsFailoverJobDetails is the JobDetails implementation for TestFailoverJobDetails. +func (tfjd TestFailoverJobDetails) AsFailoverJobDetails() (*FailoverJobDetails, bool) { + return nil, false +} + +// AsExportJobDetails is the JobDetails implementation for TestFailoverJobDetails. +func (tfjd TestFailoverJobDetails) AsExportJobDetails() (*ExportJobDetails, bool) { + return nil, false +} + +// AsSwitchProtectionJobDetails is the JobDetails implementation for TestFailoverJobDetails. +func (tfjd TestFailoverJobDetails) AsSwitchProtectionJobDetails() (*SwitchProtectionJobDetails, bool) { + return nil, false } // UnplannedFailoverInput is input definition for planned failover. @@ -2591,9 +9118,50 @@ type UnplannedFailoverInput struct { // UnplannedFailoverInputProperties is input definition for planned failover input properties. type UnplannedFailoverInputProperties struct { - FailoverDirection *string `json:"failoverDirection,omitempty"` - SourceSiteOperations *string `json:"sourceSiteOperations,omitempty"` - ProviderSpecificDetails *ProviderSpecificFailoverInput `json:"providerSpecificDetails,omitempty"` + FailoverDirection *string `json:"failoverDirection,omitempty"` + SourceSiteOperations *string `json:"sourceSiteOperations,omitempty"` + ProviderSpecificDetails ProviderSpecificFailoverInput `json:"providerSpecificDetails,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for UnplannedFailoverInputProperties struct. +func (ufip *UnplannedFailoverInputProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["failoverDirection"] + if v != nil { + var failoverDirection string + err = json.Unmarshal(*m["failoverDirection"], &failoverDirection) + if err != nil { + return err + } + ufip.FailoverDirection = &failoverDirection + } + + v = m["sourceSiteOperations"] + if v != nil { + var sourceSiteOperations string + err = json.Unmarshal(*m["sourceSiteOperations"], &sourceSiteOperations) + if err != nil { + return err + } + ufip.SourceSiteOperations = &sourceSiteOperations + } + + v = m["providerSpecificDetails"] + if v != nil { + providerSpecificDetails, err := unmarshalProviderSpecificFailoverInput(*m["providerSpecificDetails"]) + if err != nil { + return err + } + ufip.ProviderSpecificDetails = providerSpecificDetails + } + + return nil } // UpdateMobilityServiceRequest is request to update the mobility service on a protected item. @@ -2613,9 +9181,50 @@ type UpdateNetworkMappingInput struct { // UpdateNetworkMappingInputProperties is common input details for network mapping operation. type UpdateNetworkMappingInputProperties struct { - RecoveryFabricName *string `json:"recoveryFabricName,omitempty"` - RecoveryNetworkID *string `json:"recoveryNetworkId,omitempty"` - FabricSpecificDetails *FabricSpecificUpdateNetworkMappingInput `json:"fabricSpecificDetails,omitempty"` + RecoveryFabricName *string `json:"recoveryFabricName,omitempty"` + RecoveryNetworkID *string `json:"recoveryNetworkId,omitempty"` + FabricSpecificDetails FabricSpecificUpdateNetworkMappingInput `json:"fabricSpecificDetails,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for UpdateNetworkMappingInputProperties struct. +func (unmip *UpdateNetworkMappingInputProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["recoveryFabricName"] + if v != nil { + var recoveryFabricName string + err = json.Unmarshal(*m["recoveryFabricName"], &recoveryFabricName) + if err != nil { + return err + } + unmip.RecoveryFabricName = &recoveryFabricName + } + + v = m["recoveryNetworkId"] + if v != nil { + var recoveryNetworkID string + err = json.Unmarshal(*m["recoveryNetworkId"], &recoveryNetworkID) + if err != nil { + return err + } + unmip.RecoveryNetworkID = &recoveryNetworkID + } + + v = m["fabricSpecificDetails"] + if v != nil { + fabricSpecificDetails, err := unmarshalFabricSpecificUpdateNetworkMappingInput(*m["fabricSpecificDetails"]) + if err != nil { + return err + } + unmip.FabricSpecificDetails = fabricSpecificDetails + } + + return nil } // UpdatePolicyInput is update protection profile input. @@ -2625,7 +9234,28 @@ type UpdatePolicyInput struct { // UpdatePolicyInputProperties is policy update properties. type UpdatePolicyInputProperties struct { - ReplicationProviderSettings *PolicyProviderSpecificInput `json:"replicationProviderSettings,omitempty"` + ReplicationProviderSettings PolicyProviderSpecificInput `json:"replicationProviderSettings,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for UpdatePolicyInputProperties struct. +func (upip *UpdatePolicyInputProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["replicationProviderSettings"] + if v != nil { + replicationProviderSettings, err := unmarshalPolicyProviderSpecificInput(*m["replicationProviderSettings"]) + if err != nil { + return err + } + upip.ReplicationProviderSettings = replicationProviderSettings + } + + return nil } // UpdateRecoveryPlanInput is update recovery plan input class. @@ -2645,18 +9275,155 @@ type UpdateReplicationProtectedItemInput struct { // UpdateReplicationProtectedItemInputProperties is update protected item input properties. type UpdateReplicationProtectedItemInputProperties struct { - RecoveryAzureVMName *string `json:"recoveryAzureVMName,omitempty"` - RecoveryAzureVMSize *string `json:"recoveryAzureVMSize,omitempty"` - SelectedRecoveryAzureNetworkID *string `json:"selectedRecoveryAzureNetworkId,omitempty"` - EnableRDPOnTargetOption *string `json:"enableRDPOnTargetOption,omitempty"` - VMNics *[]VMNicInputDetails `json:"vmNics,omitempty"` - LicenseType LicenseType `json:"licenseType,omitempty"` - RecoveryAvailabilitySetID *string `json:"recoveryAvailabilitySetId,omitempty"` - ProviderSpecificDetails *UpdateReplicationProtectedItemProviderInput `json:"providerSpecificDetails,omitempty"` + RecoveryAzureVMName *string `json:"recoveryAzureVMName,omitempty"` + RecoveryAzureVMSize *string `json:"recoveryAzureVMSize,omitempty"` + SelectedRecoveryAzureNetworkID *string `json:"selectedRecoveryAzureNetworkId,omitempty"` + EnableRDPOnTargetOption *string `json:"enableRDPOnTargetOption,omitempty"` + VMNics *[]VMNicInputDetails `json:"vmNics,omitempty"` + LicenseType LicenseType `json:"licenseType,omitempty"` + RecoveryAvailabilitySetID *string `json:"recoveryAvailabilitySetId,omitempty"` + ProviderSpecificDetails UpdateReplicationProtectedItemProviderInput `json:"providerSpecificDetails,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for UpdateReplicationProtectedItemInputProperties struct. +func (urpiip *UpdateReplicationProtectedItemInputProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["recoveryAzureVMName"] + if v != nil { + var recoveryAzureVMName string + err = json.Unmarshal(*m["recoveryAzureVMName"], &recoveryAzureVMName) + if err != nil { + return err + } + urpiip.RecoveryAzureVMName = &recoveryAzureVMName + } + + v = m["recoveryAzureVMSize"] + if v != nil { + var recoveryAzureVMSize string + err = json.Unmarshal(*m["recoveryAzureVMSize"], &recoveryAzureVMSize) + if err != nil { + return err + } + urpiip.RecoveryAzureVMSize = &recoveryAzureVMSize + } + + v = m["selectedRecoveryAzureNetworkId"] + if v != nil { + var selectedRecoveryAzureNetworkID string + err = json.Unmarshal(*m["selectedRecoveryAzureNetworkId"], &selectedRecoveryAzureNetworkID) + if err != nil { + return err + } + urpiip.SelectedRecoveryAzureNetworkID = &selectedRecoveryAzureNetworkID + } + + v = m["enableRDPOnTargetOption"] + if v != nil { + var enableRDPOnTargetOption string + err = json.Unmarshal(*m["enableRDPOnTargetOption"], &enableRDPOnTargetOption) + if err != nil { + return err + } + urpiip.EnableRDPOnTargetOption = &enableRDPOnTargetOption + } + + v = m["vmNics"] + if v != nil { + var VMNics []VMNicInputDetails + err = json.Unmarshal(*m["vmNics"], &VMNics) + if err != nil { + return err + } + urpiip.VMNics = &VMNics + } + + v = m["licenseType"] + if v != nil { + var licenseType LicenseType + err = json.Unmarshal(*m["licenseType"], &licenseType) + if err != nil { + return err + } + urpiip.LicenseType = licenseType + } + + v = m["recoveryAvailabilitySetId"] + if v != nil { + var recoveryAvailabilitySetID string + err = json.Unmarshal(*m["recoveryAvailabilitySetId"], &recoveryAvailabilitySetID) + if err != nil { + return err + } + urpiip.RecoveryAvailabilitySetID = &recoveryAvailabilitySetID + } + + v = m["providerSpecificDetails"] + if v != nil { + providerSpecificDetails, err := unmarshalUpdateReplicationProtectedItemProviderInput(*m["providerSpecificDetails"]) + if err != nil { + return err + } + urpiip.ProviderSpecificDetails = providerSpecificDetails + } + + return nil } // UpdateReplicationProtectedItemProviderInput is update replication protected item provider specific input. -type UpdateReplicationProtectedItemProviderInput struct { +type UpdateReplicationProtectedItemProviderInput interface { + AsHyperVReplicaAzureUpdateReplicationProtectedItemInput() (*HyperVReplicaAzureUpdateReplicationProtectedItemInput, bool) + AsInMageAzureV2UpdateReplicationProtectedItemInput() (*InMageAzureV2UpdateReplicationProtectedItemInput, bool) + AsA2AUpdateReplicationProtectedItemInput() (*A2AUpdateReplicationProtectedItemInput, bool) +} + +func unmarshalUpdateReplicationProtectedItemProviderInput(body []byte) (UpdateReplicationProtectedItemProviderInput, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeHyperVReplicaAzure): + var hvraurpii HyperVReplicaAzureUpdateReplicationProtectedItemInput + err := json.Unmarshal(body, &hvraurpii) + return hvraurpii, err + case string(InstanceTypeInMageAzureV2): + var imavurpii InMageAzureV2UpdateReplicationProtectedItemInput + err := json.Unmarshal(body, &imavurpii) + return imavurpii, err + case string(InstanceTypeA2A): + var aurpii A2AUpdateReplicationProtectedItemInput + err := json.Unmarshal(body, &aurpii) + return aurpii, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalUpdateReplicationProtectedItemProviderInputArray(body []byte) ([]UpdateReplicationProtectedItemProviderInput, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + urpipiArray := make([]UpdateReplicationProtectedItemProviderInput, len(rawMessages)) + + for index, rawMessage := range rawMessages { + urpipi, err := unmarshalUpdateReplicationProtectedItemProviderInput(*rawMessage) + if err != nil { + return nil, err + } + urpipiArray[index] = urpipi + } + return urpipiArray, nil } // UpdateVCenterRequest is input required to update vCenter. @@ -2673,6 +9440,23 @@ type UpdateVCenterRequestProperties struct { RunAsAccountID *string `json:"runAsAccountId,omitempty"` } +// VaultHealthDetails is vault health details definition. +type VaultHealthDetails struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Properties *VaultHealthProperties `json:"properties,omitempty"` +} + +// VaultHealthProperties is class to define the health summary of the Vault. +type VaultHealthProperties struct { + VaultErrors *[]HealthError `json:"vaultErrors,omitempty"` + ProtectedItemsHealth *ResourceHealthSummary `json:"protectedItemsHealth,omitempty"` + FabricsHealth *ResourceHealthSummary `json:"fabricsHealth,omitempty"` +} + // VCenter is vCenter definition. type VCenter struct { autorest.Response `json:"-"` @@ -2718,39 +9502,290 @@ type VCenterProperties struct { // VirtualMachineTaskDetails is this class represents the virtual machine task details. type VirtualMachineTaskDetails struct { - SkippedReason *string `json:"skippedReason,omitempty"` - SkippedReasonString *string `json:"skippedReasonString,omitempty"` - JobTask *JobEntity `json:"jobTask,omitempty"` + InstanceType InstanceTypeTaskTypeDetails `json:"instanceType,omitempty"` + SkippedReason *string `json:"skippedReason,omitempty"` + SkippedReasonString *string `json:"skippedReasonString,omitempty"` + JobTask *JobEntity `json:"jobTask,omitempty"` +} + +// MarshalJSON is the custom marshaler for VirtualMachineTaskDetails. +func (vmtd VirtualMachineTaskDetails) MarshalJSON() ([]byte, error) { + vmtd.InstanceType = InstanceTypeVirtualMachineTaskDetails + type Alias VirtualMachineTaskDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(vmtd), + }) +} + +// AsJobTaskDetails is the TaskTypeDetails implementation for VirtualMachineTaskDetails. +func (vmtd VirtualMachineTaskDetails) AsJobTaskDetails() (*JobTaskDetails, bool) { + return nil, false +} + +// AsVirtualMachineTaskDetails is the TaskTypeDetails implementation for VirtualMachineTaskDetails. +func (vmtd VirtualMachineTaskDetails) AsVirtualMachineTaskDetails() (*VirtualMachineTaskDetails, bool) { + return &vmtd, true +} + +// AsFabricReplicationGroupTaskDetails is the TaskTypeDetails implementation for VirtualMachineTaskDetails. +func (vmtd VirtualMachineTaskDetails) AsFabricReplicationGroupTaskDetails() (*FabricReplicationGroupTaskDetails, bool) { + return nil, false +} + +// AsManualActionTaskDetails is the TaskTypeDetails implementation for VirtualMachineTaskDetails. +func (vmtd VirtualMachineTaskDetails) AsManualActionTaskDetails() (*ManualActionTaskDetails, bool) { + return nil, false +} + +// AsScriptActionTaskDetails is the TaskTypeDetails implementation for VirtualMachineTaskDetails. +func (vmtd VirtualMachineTaskDetails) AsScriptActionTaskDetails() (*ScriptActionTaskDetails, bool) { + return nil, false +} + +// AsVMNicUpdatesTaskDetails is the TaskTypeDetails implementation for VirtualMachineTaskDetails. +func (vmtd VirtualMachineTaskDetails) AsVMNicUpdatesTaskDetails() (*VMNicUpdatesTaskDetails, bool) { + return nil, false +} + +// AsConsistencyCheckTaskDetails is the TaskTypeDetails implementation for VirtualMachineTaskDetails. +func (vmtd VirtualMachineTaskDetails) AsConsistencyCheckTaskDetails() (*ConsistencyCheckTaskDetails, bool) { + return nil, false +} + +// AsAutomationRunbookTaskDetails is the TaskTypeDetails implementation for VirtualMachineTaskDetails. +func (vmtd VirtualMachineTaskDetails) AsAutomationRunbookTaskDetails() (*AutomationRunbookTaskDetails, bool) { + return nil, false } // VmmDetails is VMM fabric specific details. type VmmDetails struct { + InstanceType InstanceTypeFabricSpecificDetails `json:"instanceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for VmmDetails. +func (vd VmmDetails) MarshalJSON() ([]byte, error) { + vd.InstanceType = InstanceTypeVMM + type Alias VmmDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(vd), + }) +} + +// AsAzureFabricSpecificDetails is the FabricSpecificDetails implementation for VmmDetails. +func (vd VmmDetails) AsAzureFabricSpecificDetails() (*AzureFabricSpecificDetails, bool) { + return nil, false +} + +// AsVmmDetails is the FabricSpecificDetails implementation for VmmDetails. +func (vd VmmDetails) AsVmmDetails() (*VmmDetails, bool) { + return &vd, true +} + +// AsHyperVSiteDetails is the FabricSpecificDetails implementation for VmmDetails. +func (vd VmmDetails) AsHyperVSiteDetails() (*HyperVSiteDetails, bool) { + return nil, false +} + +// AsVMwareDetails is the FabricSpecificDetails implementation for VmmDetails. +func (vd VmmDetails) AsVMwareDetails() (*VMwareDetails, bool) { + return nil, false +} + +// AsVMwareV2FabricSpecificDetails is the FabricSpecificDetails implementation for VmmDetails. +func (vd VmmDetails) AsVMwareV2FabricSpecificDetails() (*VMwareV2FabricSpecificDetails, bool) { + return nil, false } // VmmToAzureCreateNetworkMappingInput is create network mappings input properties/behaviour specific to Vmm to Azure // Network mapping. type VmmToAzureCreateNetworkMappingInput struct { + InstanceType InstanceTypeFabricSpecificCreateNetworkMappingInput `json:"instanceType,omitempty"` } -// VmmToAzureNetworkMappingSettings is e2A Network Mapping fabric specific settings. +// MarshalJSON is the custom marshaler for VmmToAzureCreateNetworkMappingInput. +func (vtacnmi VmmToAzureCreateNetworkMappingInput) MarshalJSON() ([]byte, error) { + vtacnmi.InstanceType = InstanceTypeVmmToAzure + type Alias VmmToAzureCreateNetworkMappingInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(vtacnmi), + }) +} + +// AsAzureToAzureCreateNetworkMappingInput is the FabricSpecificCreateNetworkMappingInput implementation for VmmToAzureCreateNetworkMappingInput. +func (vtacnmi VmmToAzureCreateNetworkMappingInput) AsAzureToAzureCreateNetworkMappingInput() (*AzureToAzureCreateNetworkMappingInput, bool) { + return nil, false +} + +// AsVmmToAzureCreateNetworkMappingInput is the FabricSpecificCreateNetworkMappingInput implementation for VmmToAzureCreateNetworkMappingInput. +func (vtacnmi VmmToAzureCreateNetworkMappingInput) AsVmmToAzureCreateNetworkMappingInput() (*VmmToAzureCreateNetworkMappingInput, bool) { + return &vtacnmi, true +} + +// AsVmmToVmmCreateNetworkMappingInput is the FabricSpecificCreateNetworkMappingInput implementation for VmmToAzureCreateNetworkMappingInput. +func (vtacnmi VmmToAzureCreateNetworkMappingInput) AsVmmToVmmCreateNetworkMappingInput() (*VmmToVmmCreateNetworkMappingInput, bool) { + return nil, false +} + +// VmmToAzureNetworkMappingSettings is e2A Network Mapping fabric specific settings. type VmmToAzureNetworkMappingSettings struct { + InstanceType InstanceTypeNetworkMappingFabricSpecificSettings `json:"instanceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for VmmToAzureNetworkMappingSettings. +func (vtanms VmmToAzureNetworkMappingSettings) MarshalJSON() ([]byte, error) { + vtanms.InstanceType = InstanceTypeNetworkMappingFabricSpecificSettingsInstanceTypeVmmToAzure + type Alias VmmToAzureNetworkMappingSettings + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(vtanms), + }) +} + +// AsAzureToAzureNetworkMappingSettings is the NetworkMappingFabricSpecificSettings implementation for VmmToAzureNetworkMappingSettings. +func (vtanms VmmToAzureNetworkMappingSettings) AsAzureToAzureNetworkMappingSettings() (*AzureToAzureNetworkMappingSettings, bool) { + return nil, false +} + +// AsVmmToAzureNetworkMappingSettings is the NetworkMappingFabricSpecificSettings implementation for VmmToAzureNetworkMappingSettings. +func (vtanms VmmToAzureNetworkMappingSettings) AsVmmToAzureNetworkMappingSettings() (*VmmToAzureNetworkMappingSettings, bool) { + return &vtanms, true +} + +// AsVmmToVmmNetworkMappingSettings is the NetworkMappingFabricSpecificSettings implementation for VmmToAzureNetworkMappingSettings. +func (vtanms VmmToAzureNetworkMappingSettings) AsVmmToVmmNetworkMappingSettings() (*VmmToVmmNetworkMappingSettings, bool) { + return nil, false } // VmmToAzureUpdateNetworkMappingInput is update network mappings input properties/behaviour specific to vmm to azure. type VmmToAzureUpdateNetworkMappingInput struct { + InstanceType InstanceTypeFabricSpecificUpdateNetworkMappingInput `json:"instanceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for VmmToAzureUpdateNetworkMappingInput. +func (vtaunmi VmmToAzureUpdateNetworkMappingInput) MarshalJSON() ([]byte, error) { + vtaunmi.InstanceType = InstanceTypeFabricSpecificUpdateNetworkMappingInputInstanceTypeVmmToAzure + type Alias VmmToAzureUpdateNetworkMappingInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(vtaunmi), + }) +} + +// AsAzureToAzureUpdateNetworkMappingInput is the FabricSpecificUpdateNetworkMappingInput implementation for VmmToAzureUpdateNetworkMappingInput. +func (vtaunmi VmmToAzureUpdateNetworkMappingInput) AsAzureToAzureUpdateNetworkMappingInput() (*AzureToAzureUpdateNetworkMappingInput, bool) { + return nil, false +} + +// AsVmmToAzureUpdateNetworkMappingInput is the FabricSpecificUpdateNetworkMappingInput implementation for VmmToAzureUpdateNetworkMappingInput. +func (vtaunmi VmmToAzureUpdateNetworkMappingInput) AsVmmToAzureUpdateNetworkMappingInput() (*VmmToAzureUpdateNetworkMappingInput, bool) { + return &vtaunmi, true +} + +// AsVmmToVmmUpdateNetworkMappingInput is the FabricSpecificUpdateNetworkMappingInput implementation for VmmToAzureUpdateNetworkMappingInput. +func (vtaunmi VmmToAzureUpdateNetworkMappingInput) AsVmmToVmmUpdateNetworkMappingInput() (*VmmToVmmUpdateNetworkMappingInput, bool) { + return nil, false } // VmmToVmmCreateNetworkMappingInput is create network mappings input properties/behaviour specific to vmm to vmm // Network mapping. type VmmToVmmCreateNetworkMappingInput struct { + InstanceType InstanceTypeFabricSpecificCreateNetworkMappingInput `json:"instanceType,omitempty"` } -// VmmToVmmNetworkMappingSettings is e2E Network Mapping fabric specific settings. +// MarshalJSON is the custom marshaler for VmmToVmmCreateNetworkMappingInput. +func (vtvcnmi VmmToVmmCreateNetworkMappingInput) MarshalJSON() ([]byte, error) { + vtvcnmi.InstanceType = InstanceTypeVmmToVmm + type Alias VmmToVmmCreateNetworkMappingInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(vtvcnmi), + }) +} + +// AsAzureToAzureCreateNetworkMappingInput is the FabricSpecificCreateNetworkMappingInput implementation for VmmToVmmCreateNetworkMappingInput. +func (vtvcnmi VmmToVmmCreateNetworkMappingInput) AsAzureToAzureCreateNetworkMappingInput() (*AzureToAzureCreateNetworkMappingInput, bool) { + return nil, false +} + +// AsVmmToAzureCreateNetworkMappingInput is the FabricSpecificCreateNetworkMappingInput implementation for VmmToVmmCreateNetworkMappingInput. +func (vtvcnmi VmmToVmmCreateNetworkMappingInput) AsVmmToAzureCreateNetworkMappingInput() (*VmmToAzureCreateNetworkMappingInput, bool) { + return nil, false +} + +// AsVmmToVmmCreateNetworkMappingInput is the FabricSpecificCreateNetworkMappingInput implementation for VmmToVmmCreateNetworkMappingInput. +func (vtvcnmi VmmToVmmCreateNetworkMappingInput) AsVmmToVmmCreateNetworkMappingInput() (*VmmToVmmCreateNetworkMappingInput, bool) { + return &vtvcnmi, true +} + +// VmmToVmmNetworkMappingSettings is e2E Network Mapping fabric specific settings. type VmmToVmmNetworkMappingSettings struct { + InstanceType InstanceTypeNetworkMappingFabricSpecificSettings `json:"instanceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for VmmToVmmNetworkMappingSettings. +func (vtvnms VmmToVmmNetworkMappingSettings) MarshalJSON() ([]byte, error) { + vtvnms.InstanceType = InstanceTypeNetworkMappingFabricSpecificSettingsInstanceTypeVmmToVmm + type Alias VmmToVmmNetworkMappingSettings + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(vtvnms), + }) +} + +// AsAzureToAzureNetworkMappingSettings is the NetworkMappingFabricSpecificSettings implementation for VmmToVmmNetworkMappingSettings. +func (vtvnms VmmToVmmNetworkMappingSettings) AsAzureToAzureNetworkMappingSettings() (*AzureToAzureNetworkMappingSettings, bool) { + return nil, false +} + +// AsVmmToAzureNetworkMappingSettings is the NetworkMappingFabricSpecificSettings implementation for VmmToVmmNetworkMappingSettings. +func (vtvnms VmmToVmmNetworkMappingSettings) AsVmmToAzureNetworkMappingSettings() (*VmmToAzureNetworkMappingSettings, bool) { + return nil, false +} + +// AsVmmToVmmNetworkMappingSettings is the NetworkMappingFabricSpecificSettings implementation for VmmToVmmNetworkMappingSettings. +func (vtvnms VmmToVmmNetworkMappingSettings) AsVmmToVmmNetworkMappingSettings() (*VmmToVmmNetworkMappingSettings, bool) { + return &vtvnms, true } // VmmToVmmUpdateNetworkMappingInput is update network mappings input properties/behaviour specific to vmm to vmm. type VmmToVmmUpdateNetworkMappingInput struct { + InstanceType InstanceTypeFabricSpecificUpdateNetworkMappingInput `json:"instanceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for VmmToVmmUpdateNetworkMappingInput. +func (vtvunmi VmmToVmmUpdateNetworkMappingInput) MarshalJSON() ([]byte, error) { + vtvunmi.InstanceType = InstanceTypeFabricSpecificUpdateNetworkMappingInputInstanceTypeVmmToVmm + type Alias VmmToVmmUpdateNetworkMappingInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(vtvunmi), + }) +} + +// AsAzureToAzureUpdateNetworkMappingInput is the FabricSpecificUpdateNetworkMappingInput implementation for VmmToVmmUpdateNetworkMappingInput. +func (vtvunmi VmmToVmmUpdateNetworkMappingInput) AsAzureToAzureUpdateNetworkMappingInput() (*AzureToAzureUpdateNetworkMappingInput, bool) { + return nil, false +} + +// AsVmmToAzureUpdateNetworkMappingInput is the FabricSpecificUpdateNetworkMappingInput implementation for VmmToVmmUpdateNetworkMappingInput. +func (vtvunmi VmmToVmmUpdateNetworkMappingInput) AsVmmToAzureUpdateNetworkMappingInput() (*VmmToAzureUpdateNetworkMappingInput, bool) { + return nil, false +} + +// AsVmmToVmmUpdateNetworkMappingInput is the FabricSpecificUpdateNetworkMappingInput implementation for VmmToVmmUpdateNetworkMappingInput. +func (vtvunmi VmmToVmmUpdateNetworkMappingInput) AsVmmToVmmUpdateNetworkMappingInput() (*VmmToVmmUpdateNetworkMappingInput, bool) { + return &vtvunmi, true } // VMNicDetails is hyper V VM network details. @@ -2766,6 +9801,7 @@ type VMNicDetails struct { PrimaryNicStaticIPAddress *string `json:"primaryNicStaticIPAddress,omitempty"` ReplicaNicStaticIPAddress *string `json:"replicaNicStaticIPAddress,omitempty"` SelectionType *string `json:"selectionType,omitempty"` + RecoveryNicIPAddressType *string `json:"recoveryNicIpAddressType,omitempty"` } // VMNicInputDetails is hyper V VM network input details. @@ -2778,55 +9814,364 @@ type VMNicInputDetails struct { // VMNicUpdatesTaskDetails is this class represents the vm NicUpdates task details. type VMNicUpdatesTaskDetails struct { - VMID *string `json:"vmId,omitempty"` - NicID *string `json:"nicId,omitempty"` - Name *string `json:"name,omitempty"` + InstanceType InstanceTypeTaskTypeDetails `json:"instanceType,omitempty"` + VMID *string `json:"vmId,omitempty"` + NicID *string `json:"nicId,omitempty"` + Name *string `json:"name,omitempty"` +} + +// MarshalJSON is the custom marshaler for VMNicUpdatesTaskDetails. +func (vnutd VMNicUpdatesTaskDetails) MarshalJSON() ([]byte, error) { + vnutd.InstanceType = InstanceTypeVMNicUpdatesTaskDetails + type Alias VMNicUpdatesTaskDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(vnutd), + }) +} + +// AsJobTaskDetails is the TaskTypeDetails implementation for VMNicUpdatesTaskDetails. +func (vnutd VMNicUpdatesTaskDetails) AsJobTaskDetails() (*JobTaskDetails, bool) { + return nil, false +} + +// AsVirtualMachineTaskDetails is the TaskTypeDetails implementation for VMNicUpdatesTaskDetails. +func (vnutd VMNicUpdatesTaskDetails) AsVirtualMachineTaskDetails() (*VirtualMachineTaskDetails, bool) { + return nil, false +} + +// AsFabricReplicationGroupTaskDetails is the TaskTypeDetails implementation for VMNicUpdatesTaskDetails. +func (vnutd VMNicUpdatesTaskDetails) AsFabricReplicationGroupTaskDetails() (*FabricReplicationGroupTaskDetails, bool) { + return nil, false +} + +// AsManualActionTaskDetails is the TaskTypeDetails implementation for VMNicUpdatesTaskDetails. +func (vnutd VMNicUpdatesTaskDetails) AsManualActionTaskDetails() (*ManualActionTaskDetails, bool) { + return nil, false +} + +// AsScriptActionTaskDetails is the TaskTypeDetails implementation for VMNicUpdatesTaskDetails. +func (vnutd VMNicUpdatesTaskDetails) AsScriptActionTaskDetails() (*ScriptActionTaskDetails, bool) { + return nil, false +} + +// AsVMNicUpdatesTaskDetails is the TaskTypeDetails implementation for VMNicUpdatesTaskDetails. +func (vnutd VMNicUpdatesTaskDetails) AsVMNicUpdatesTaskDetails() (*VMNicUpdatesTaskDetails, bool) { + return &vnutd, true +} + +// AsConsistencyCheckTaskDetails is the TaskTypeDetails implementation for VMNicUpdatesTaskDetails. +func (vnutd VMNicUpdatesTaskDetails) AsConsistencyCheckTaskDetails() (*ConsistencyCheckTaskDetails, bool) { + return nil, false +} + +// AsAutomationRunbookTaskDetails is the TaskTypeDetails implementation for VMNicUpdatesTaskDetails. +func (vnutd VMNicUpdatesTaskDetails) AsAutomationRunbookTaskDetails() (*AutomationRunbookTaskDetails, bool) { + return nil, false +} + +// VMwareCbtPolicyCreationInput is vMware Cbt Policy creation input. +type VMwareCbtPolicyCreationInput struct { + InstanceType InstanceTypePolicyProviderSpecificInput `json:"instanceType,omitempty"` + RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` + CrashConsistentFrequencyInMinutes *int32 `json:"crashConsistentFrequencyInMinutes,omitempty"` + AppConsistentFrequencyInMinutes *int32 `json:"appConsistentFrequencyInMinutes,omitempty"` +} + +// MarshalJSON is the custom marshaler for VMwareCbtPolicyCreationInput. +func (vmcpci VMwareCbtPolicyCreationInput) MarshalJSON() ([]byte, error) { + vmcpci.InstanceType = InstanceTypePolicyProviderSpecificInputInstanceTypeVMwareCbt + type Alias VMwareCbtPolicyCreationInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(vmcpci), + }) +} + +// AsHyperVReplicaAzurePolicyInput is the PolicyProviderSpecificInput implementation for VMwareCbtPolicyCreationInput. +func (vmcpci VMwareCbtPolicyCreationInput) AsHyperVReplicaAzurePolicyInput() (*HyperVReplicaAzurePolicyInput, bool) { + return nil, false +} + +// AsHyperVReplicaPolicyInput is the PolicyProviderSpecificInput implementation for VMwareCbtPolicyCreationInput. +func (vmcpci VMwareCbtPolicyCreationInput) AsHyperVReplicaPolicyInput() (*HyperVReplicaPolicyInput, bool) { + return nil, false +} + +// AsHyperVReplicaBluePolicyInput is the PolicyProviderSpecificInput implementation for VMwareCbtPolicyCreationInput. +func (vmcpci VMwareCbtPolicyCreationInput) AsHyperVReplicaBluePolicyInput() (*HyperVReplicaBluePolicyInput, bool) { + return nil, false +} + +// AsInMageAzureV2PolicyInput is the PolicyProviderSpecificInput implementation for VMwareCbtPolicyCreationInput. +func (vmcpci VMwareCbtPolicyCreationInput) AsInMageAzureV2PolicyInput() (*InMageAzureV2PolicyInput, bool) { + return nil, false +} + +// AsInMagePolicyInput is the PolicyProviderSpecificInput implementation for VMwareCbtPolicyCreationInput. +func (vmcpci VMwareCbtPolicyCreationInput) AsInMagePolicyInput() (*InMagePolicyInput, bool) { + return nil, false +} + +// AsA2APolicyCreationInput is the PolicyProviderSpecificInput implementation for VMwareCbtPolicyCreationInput. +func (vmcpci VMwareCbtPolicyCreationInput) AsA2APolicyCreationInput() (*A2APolicyCreationInput, bool) { + return nil, false +} + +// AsVMwareCbtPolicyCreationInput is the PolicyProviderSpecificInput implementation for VMwareCbtPolicyCreationInput. +func (vmcpci VMwareCbtPolicyCreationInput) AsVMwareCbtPolicyCreationInput() (*VMwareCbtPolicyCreationInput, bool) { + return &vmcpci, true +} + +// VmwareCbtPolicyDetails is vMware Cbt specific policy details. +type VmwareCbtPolicyDetails struct { + InstanceType InstanceTypePolicyProviderSpecificDetails `json:"instanceType,omitempty"` + RecoveryPointThresholdInMinutes *int32 `json:"recoveryPointThresholdInMinutes,omitempty"` + RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` + AppConsistentFrequencyInMinutes *int32 `json:"appConsistentFrequencyInMinutes,omitempty"` + CrashConsistentFrequencyInMinutes *int32 `json:"crashConsistentFrequencyInMinutes,omitempty"` +} + +// MarshalJSON is the custom marshaler for VmwareCbtPolicyDetails. +func (vcpd VmwareCbtPolicyDetails) MarshalJSON() ([]byte, error) { + vcpd.InstanceType = InstanceTypePolicyProviderSpecificDetailsInstanceTypeVMwareCbt + type Alias VmwareCbtPolicyDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(vcpd), + }) +} + +// AsHyperVReplicaAzurePolicyDetails is the PolicyProviderSpecificDetails implementation for VmwareCbtPolicyDetails. +func (vcpd VmwareCbtPolicyDetails) AsHyperVReplicaAzurePolicyDetails() (*HyperVReplicaAzurePolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaBasePolicyDetails is the PolicyProviderSpecificDetails implementation for VmwareCbtPolicyDetails. +func (vcpd VmwareCbtPolicyDetails) AsHyperVReplicaBasePolicyDetails() (*HyperVReplicaBasePolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaPolicyDetails is the PolicyProviderSpecificDetails implementation for VmwareCbtPolicyDetails. +func (vcpd VmwareCbtPolicyDetails) AsHyperVReplicaPolicyDetails() (*HyperVReplicaPolicyDetails, bool) { + return nil, false +} + +// AsHyperVReplicaBluePolicyDetails is the PolicyProviderSpecificDetails implementation for VmwareCbtPolicyDetails. +func (vcpd VmwareCbtPolicyDetails) AsHyperVReplicaBluePolicyDetails() (*HyperVReplicaBluePolicyDetails, bool) { + return nil, false +} + +// AsInMageBasePolicyDetails is the PolicyProviderSpecificDetails implementation for VmwareCbtPolicyDetails. +func (vcpd VmwareCbtPolicyDetails) AsInMageBasePolicyDetails() (*InMageBasePolicyDetails, bool) { + return nil, false +} + +// AsInMageAzureV2PolicyDetails is the PolicyProviderSpecificDetails implementation for VmwareCbtPolicyDetails. +func (vcpd VmwareCbtPolicyDetails) AsInMageAzureV2PolicyDetails() (*InMageAzureV2PolicyDetails, bool) { + return nil, false +} + +// AsInMagePolicyDetails is the PolicyProviderSpecificDetails implementation for VmwareCbtPolicyDetails. +func (vcpd VmwareCbtPolicyDetails) AsInMagePolicyDetails() (*InMagePolicyDetails, bool) { + return nil, false +} + +// AsA2APolicyDetails is the PolicyProviderSpecificDetails implementation for VmwareCbtPolicyDetails. +func (vcpd VmwareCbtPolicyDetails) AsA2APolicyDetails() (*A2APolicyDetails, bool) { + return nil, false +} + +// AsRcmAzureMigrationPolicyDetails is the PolicyProviderSpecificDetails implementation for VmwareCbtPolicyDetails. +func (vcpd VmwareCbtPolicyDetails) AsRcmAzureMigrationPolicyDetails() (*RcmAzureMigrationPolicyDetails, bool) { + return nil, false +} + +// AsVmwareCbtPolicyDetails is the PolicyProviderSpecificDetails implementation for VmwareCbtPolicyDetails. +func (vcpd VmwareCbtPolicyDetails) AsVmwareCbtPolicyDetails() (*VmwareCbtPolicyDetails, bool) { + return &vcpd, true } // VMwareDetails is store the fabric details specific to the VMware fabric. type VMwareDetails struct { - ProcessServers *[]ProcessServer `json:"processServers,omitempty"` - MasterTargetServers *[]MasterTargetServer `json:"masterTargetServers,omitempty"` - RunAsAccounts *[]RunAsAccount `json:"runAsAccounts,omitempty"` - ReplicationPairCount *string `json:"replicationPairCount,omitempty"` - ProcessServerCount *string `json:"processServerCount,omitempty"` - AgentCount *string `json:"agentCount,omitempty"` - ProtectedServers *string `json:"protectedServers,omitempty"` - SystemLoad *string `json:"systemLoad,omitempty"` - SystemLoadStatus *string `json:"systemLoadStatus,omitempty"` - CPULoad *string `json:"cpuLoad,omitempty"` - CPULoadStatus *string `json:"cpuLoadStatus,omitempty"` - TotalMemoryInBytes *int64 `json:"totalMemoryInBytes,omitempty"` - AvailableMemoryInBytes *int64 `json:"availableMemoryInBytes,omitempty"` - MemoryUsageStatus *string `json:"memoryUsageStatus,omitempty"` - TotalSpaceInBytes *int64 `json:"totalSpaceInBytes,omitempty"` - AvailableSpaceInBytes *int64 `json:"availableSpaceInBytes,omitempty"` - SpaceUsageStatus *string `json:"spaceUsageStatus,omitempty"` - WebLoad *string `json:"webLoad,omitempty"` - WebLoadStatus *string `json:"webLoadStatus,omitempty"` - DatabaseServerLoad *string `json:"databaseServerLoad,omitempty"` - DatabaseServerLoadStatus *string `json:"databaseServerLoadStatus,omitempty"` - CsServiceStatus *string `json:"csServiceStatus,omitempty"` - IPAddress *string `json:"ipAddress,omitempty"` - AgentVersion *string `json:"agentVersion,omitempty"` - HostName *string `json:"hostName,omitempty"` - LastHeartbeat *date.Time `json:"lastHeartbeat,omitempty"` - VersionStatus *string `json:"versionStatus,omitempty"` - SslCertExpiryDate *date.Time `json:"sslCertExpiryDate,omitempty"` - SslCertExpiryRemainingDays *int32 `json:"sslCertExpiryRemainingDays,omitempty"` - PsTemplateVersion *string `json:"psTemplateVersion,omitempty"` + InstanceType InstanceTypeFabricSpecificDetails `json:"instanceType,omitempty"` + ProcessServers *[]ProcessServer `json:"processServers,omitempty"` + MasterTargetServers *[]MasterTargetServer `json:"masterTargetServers,omitempty"` + RunAsAccounts *[]RunAsAccount `json:"runAsAccounts,omitempty"` + ReplicationPairCount *string `json:"replicationPairCount,omitempty"` + ProcessServerCount *string `json:"processServerCount,omitempty"` + AgentCount *string `json:"agentCount,omitempty"` + ProtectedServers *string `json:"protectedServers,omitempty"` + SystemLoad *string `json:"systemLoad,omitempty"` + SystemLoadStatus *string `json:"systemLoadStatus,omitempty"` + CPULoad *string `json:"cpuLoad,omitempty"` + CPULoadStatus *string `json:"cpuLoadStatus,omitempty"` + TotalMemoryInBytes *int64 `json:"totalMemoryInBytes,omitempty"` + AvailableMemoryInBytes *int64 `json:"availableMemoryInBytes,omitempty"` + MemoryUsageStatus *string `json:"memoryUsageStatus,omitempty"` + TotalSpaceInBytes *int64 `json:"totalSpaceInBytes,omitempty"` + AvailableSpaceInBytes *int64 `json:"availableSpaceInBytes,omitempty"` + SpaceUsageStatus *string `json:"spaceUsageStatus,omitempty"` + WebLoad *string `json:"webLoad,omitempty"` + WebLoadStatus *string `json:"webLoadStatus,omitempty"` + DatabaseServerLoad *string `json:"databaseServerLoad,omitempty"` + DatabaseServerLoadStatus *string `json:"databaseServerLoadStatus,omitempty"` + CsServiceStatus *string `json:"csServiceStatus,omitempty"` + IPAddress *string `json:"ipAddress,omitempty"` + AgentVersion *string `json:"agentVersion,omitempty"` + HostName *string `json:"hostName,omitempty"` + LastHeartbeat *date.Time `json:"lastHeartbeat,omitempty"` + VersionStatus *string `json:"versionStatus,omitempty"` + SslCertExpiryDate *date.Time `json:"sslCertExpiryDate,omitempty"` + SslCertExpiryRemainingDays *int32 `json:"sslCertExpiryRemainingDays,omitempty"` + PsTemplateVersion *string `json:"psTemplateVersion,omitempty"` +} + +// MarshalJSON is the custom marshaler for VMwareDetails. +func (vmd VMwareDetails) MarshalJSON() ([]byte, error) { + vmd.InstanceType = InstanceTypeVMware + type Alias VMwareDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(vmd), + }) +} + +// AsAzureFabricSpecificDetails is the FabricSpecificDetails implementation for VMwareDetails. +func (vmd VMwareDetails) AsAzureFabricSpecificDetails() (*AzureFabricSpecificDetails, bool) { + return nil, false +} + +// AsVmmDetails is the FabricSpecificDetails implementation for VMwareDetails. +func (vmd VMwareDetails) AsVmmDetails() (*VmmDetails, bool) { + return nil, false +} + +// AsHyperVSiteDetails is the FabricSpecificDetails implementation for VMwareDetails. +func (vmd VMwareDetails) AsHyperVSiteDetails() (*HyperVSiteDetails, bool) { + return nil, false +} + +// AsVMwareDetails is the FabricSpecificDetails implementation for VMwareDetails. +func (vmd VMwareDetails) AsVMwareDetails() (*VMwareDetails, bool) { + return &vmd, true +} + +// AsVMwareV2FabricSpecificDetails is the FabricSpecificDetails implementation for VMwareDetails. +func (vmd VMwareDetails) AsVMwareV2FabricSpecificDetails() (*VMwareV2FabricSpecificDetails, bool) { + return nil, false +} + +// VMwareV2FabricCreationInput is fabric provider specific settings. +type VMwareV2FabricCreationInput struct { + InstanceType InstanceTypeFabricSpecificCreationInput `json:"instanceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for VMwareV2FabricCreationInput. +func (vmvfci VMwareV2FabricCreationInput) MarshalJSON() ([]byte, error) { + vmvfci.InstanceType = InstanceTypeFabricSpecificCreationInputInstanceTypeVMwareV2 + type Alias VMwareV2FabricCreationInput + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(vmvfci), + }) +} + +// AsAzureFabricCreationInput is the FabricSpecificCreationInput implementation for VMwareV2FabricCreationInput. +func (vmvfci VMwareV2FabricCreationInput) AsAzureFabricCreationInput() (*AzureFabricCreationInput, bool) { + return nil, false +} + +// AsVMwareV2FabricCreationInput is the FabricSpecificCreationInput implementation for VMwareV2FabricCreationInput. +func (vmvfci VMwareV2FabricCreationInput) AsVMwareV2FabricCreationInput() (*VMwareV2FabricCreationInput, bool) { + return &vmvfci, true +} + +// VMwareV2FabricSpecificDetails is vMwareV2 fabric Specific Details. +type VMwareV2FabricSpecificDetails struct { + InstanceType InstanceTypeFabricSpecificDetails `json:"instanceType,omitempty"` + SrsServiceEndpoint *string `json:"srsServiceEndpoint,omitempty"` + RcmServiceEndpoint *string `json:"rcmServiceEndpoint,omitempty"` +} + +// MarshalJSON is the custom marshaler for VMwareV2FabricSpecificDetails. +func (vmvfsd VMwareV2FabricSpecificDetails) MarshalJSON() ([]byte, error) { + vmvfsd.InstanceType = InstanceTypeVMwareV2 + type Alias VMwareV2FabricSpecificDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(vmvfsd), + }) +} + +// AsAzureFabricSpecificDetails is the FabricSpecificDetails implementation for VMwareV2FabricSpecificDetails. +func (vmvfsd VMwareV2FabricSpecificDetails) AsAzureFabricSpecificDetails() (*AzureFabricSpecificDetails, bool) { + return nil, false +} + +// AsVmmDetails is the FabricSpecificDetails implementation for VMwareV2FabricSpecificDetails. +func (vmvfsd VMwareV2FabricSpecificDetails) AsVmmDetails() (*VmmDetails, bool) { + return nil, false +} + +// AsHyperVSiteDetails is the FabricSpecificDetails implementation for VMwareV2FabricSpecificDetails. +func (vmvfsd VMwareV2FabricSpecificDetails) AsHyperVSiteDetails() (*HyperVSiteDetails, bool) { + return nil, false +} + +// AsVMwareDetails is the FabricSpecificDetails implementation for VMwareV2FabricSpecificDetails. +func (vmvfsd VMwareV2FabricSpecificDetails) AsVMwareDetails() (*VMwareDetails, bool) { + return nil, false +} + +// AsVMwareV2FabricSpecificDetails is the FabricSpecificDetails implementation for VMwareV2FabricSpecificDetails. +func (vmvfsd VMwareV2FabricSpecificDetails) AsVMwareV2FabricSpecificDetails() (*VMwareV2FabricSpecificDetails, bool) { + return &vmvfsd, true } // VMwareVirtualMachineDetails is vMware provider specific settings type VMwareVirtualMachineDetails struct { - AgentGeneratedID *string `json:"agentGeneratedId,omitempty"` - AgentInstalled *string `json:"agentInstalled,omitempty"` - OsType *string `json:"osType,omitempty"` - AgentVersion *string `json:"agentVersion,omitempty"` - IPAddress *string `json:"ipAddress,omitempty"` - PoweredOn *string `json:"poweredOn,omitempty"` - VCenterInfrastructureID *string `json:"vCenterInfrastructureId,omitempty"` - DiscoveryType *string `json:"discoveryType,omitempty"` - DiskDetails *[]InMageDiskDetails `json:"diskDetails,omitempty"` - ValidationErrors *[]HealthError `json:"validationErrors,omitempty"` + InstanceType InstanceTypeConfigurationSettings `json:"instanceType,omitempty"` + AgentGeneratedID *string `json:"agentGeneratedId,omitempty"` + AgentInstalled *string `json:"agentInstalled,omitempty"` + OsType *string `json:"osType,omitempty"` + AgentVersion *string `json:"agentVersion,omitempty"` + IPAddress *string `json:"ipAddress,omitempty"` + PoweredOn *string `json:"poweredOn,omitempty"` + VCenterInfrastructureID *string `json:"vCenterInfrastructureId,omitempty"` + DiscoveryType *string `json:"discoveryType,omitempty"` + DiskDetails *[]InMageDiskDetails `json:"diskDetails,omitempty"` + ValidationErrors *[]HealthError `json:"validationErrors,omitempty"` +} + +// MarshalJSON is the custom marshaler for VMwareVirtualMachineDetails. +func (vmvmd VMwareVirtualMachineDetails) MarshalJSON() ([]byte, error) { + vmvmd.InstanceType = InstanceTypeVMwareVirtualMachine + type Alias VMwareVirtualMachineDetails + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(vmvmd), + }) +} + +// AsHyperVVirtualMachineDetails is the ConfigurationSettings implementation for VMwareVirtualMachineDetails. +func (vmvmd VMwareVirtualMachineDetails) AsHyperVVirtualMachineDetails() (*HyperVVirtualMachineDetails, bool) { + return nil, false +} + +// AsVMwareVirtualMachineDetails is the ConfigurationSettings implementation for VMwareVirtualMachineDetails. +func (vmvmd VMwareVirtualMachineDetails) AsVMwareVirtualMachineDetails() (*VMwareVirtualMachineDetails, bool) { + return &vmvmd, true +} + +// AsReplicationGroupDetails is the ConfigurationSettings implementation for VMwareVirtualMachineDetails. +func (vmvmd VMwareVirtualMachineDetails) AsReplicationGroupDetails() (*ReplicationGroupDetails, bool) { + return nil, false } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/operations.go index 50e58e1ea..3a2fe8c05 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/operations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/operations.go @@ -14,7 +14,7 @@ package recoveryservicessiterecovery // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 +// Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/recoverypoints.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/recoverypoints.go index b279e5c47..eecf44e37 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/recoverypoints.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/recoverypoints.go @@ -14,7 +14,7 @@ package recoveryservicessiterecovery // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 +// Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationalertsettings.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationalertsettings.go index 62c6cd0a6..4ad2b5968 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationalertsettings.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationalertsettings.go @@ -14,7 +14,7 @@ package recoveryservicessiterecovery // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 +// Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( @@ -174,7 +174,7 @@ func (client ReplicationAlertSettingsClient) GetResponder(resp *http.Response) ( return } -// List gets the list of email notification(alert) configurations for the vault. . +// List gets the list of email notification(alert) configurations for the vault. func (client ReplicationAlertSettingsClient) List() (result AlertCollection, err error) { req, err := client.ListPreparer() if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationevents.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationevents.go index 976f445be..629430475 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationevents.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationevents.go @@ -14,7 +14,7 @@ package recoveryservicessiterecovery // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 +// Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( @@ -105,8 +105,10 @@ func (client ReplicationEventsClient) GetResponder(resp *http.Response) (result } // List gets the list of Azure Site Recovery events for the vault. -func (client ReplicationEventsClient) List() (result EventCollection, err error) { - req, err := client.ListPreparer() +// +// filter is oData filter options. +func (client ReplicationEventsClient) List(filter string) (result EventCollection, err error) { + req, err := client.ListPreparer(filter) if err != nil { err = autorest.NewErrorWithError(err, "recoveryservicessiterecovery.ReplicationEventsClient", "List", nil, "Failure preparing request") return @@ -128,7 +130,7 @@ func (client ReplicationEventsClient) List() (result EventCollection, err error) } // ListPreparer prepares the List request. -func (client ReplicationEventsClient) ListPreparer() (*http.Request, error) { +func (client ReplicationEventsClient) ListPreparer(filter string) (*http.Request, error) { pathParameters := map[string]interface{}{ "resourceGroupName": autorest.Encode("path", client.ResourceGroupName), "resourceName": autorest.Encode("path", client.ResourceName), @@ -139,6 +141,9 @@ func (client ReplicationEventsClient) ListPreparer() (*http.Request, error) { queryParameters := map[string]interface{}{ "api-version": APIVersion, } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } preparer := autorest.CreatePreparer( autorest.AsGet(), @@ -192,7 +197,7 @@ func (client ReplicationEventsClient) ListNextResults(lastResults EventCollectio } // ListComplete gets all elements from the list without paging. -func (client ReplicationEventsClient) ListComplete(cancel <-chan struct{}) (<-chan Event, <-chan error) { +func (client ReplicationEventsClient) ListComplete(filter string, cancel <-chan struct{}) (<-chan Event, <-chan error) { resultChan := make(chan Event) errChan := make(chan error, 1) go func() { @@ -200,7 +205,7 @@ func (client ReplicationEventsClient) ListComplete(cancel <-chan struct{}) (<-ch close(resultChan) close(errChan) }() - list, err := client.List() + list, err := client.List(filter) if err != nil { errChan <- err return diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationfabrics.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationfabrics.go index 1a83fd344..ad9e1047d 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationfabrics.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationfabrics.go @@ -14,7 +14,7 @@ package recoveryservicessiterecovery // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 +// Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( @@ -487,6 +487,88 @@ func (client ReplicationFabricsClient) ListComplete(cancel <-chan struct{}) (<-c return resultChan, errChan } +// MigrateToAad the operation to migrate an Azure Site Recovery fabric to AAD. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. +// +// fabricName is ASR fabric to migrate. +func (client ReplicationFabricsClient) MigrateToAad(fabricName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.MigrateToAadPreparer(fabricName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "recoveryservicessiterecovery.ReplicationFabricsClient", "MigrateToAad", nil, "Failure preparing request") + return + } + + resp, err := client.MigrateToAadSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "recoveryservicessiterecovery.ReplicationFabricsClient", "MigrateToAad", resp, "Failure sending request") + return + } + + result, err = client.MigrateToAadResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "recoveryservicessiterecovery.ReplicationFabricsClient", "MigrateToAad", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// MigrateToAadPreparer prepares the MigrateToAad request. +func (client ReplicationFabricsClient) MigrateToAadPreparer(fabricName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "fabricName": autorest.Encode("path", fabricName), + "resourceGroupName": autorest.Encode("path", client.ResourceGroupName), + "resourceName": autorest.Encode("path", client.ResourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-10" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/migratetoaad", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// MigrateToAadSender sends the MigrateToAad request. The method will close the +// http.Response Body if it receives an error. +func (client ReplicationFabricsClient) MigrateToAadSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// MigrateToAadResponder handles the response to the MigrateToAad request. The method always +// closes the http.Response Body. +func (client ReplicationFabricsClient) MigrateToAadResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + // Purge the operation to purge(force delete) an Azure Site Recovery fabric. This method may poll for completion. // Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationjobs.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationjobs.go index d1c955b44..916cd735a 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationjobs.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationjobs.go @@ -14,7 +14,7 @@ package recoveryservicessiterecovery // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 +// Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationlogicalnetworks.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationlogicalnetworks.go index 9868e505b..817ace063 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationlogicalnetworks.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationlogicalnetworks.go @@ -14,7 +14,7 @@ package recoveryservicessiterecovery // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 +// Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationnetworkmappings.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationnetworkmappings.go index d1c87d7a4..eeba59544 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationnetworkmappings.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationnetworkmappings.go @@ -14,7 +14,7 @@ package recoveryservicessiterecovery // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 +// Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationnetworks.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationnetworks.go index c98903712..834e33224 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationnetworks.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationnetworks.go @@ -14,7 +14,7 @@ package recoveryservicessiterecovery // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 +// Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationpolicies.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationpolicies.go index 65c33e160..08041965d 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationpolicies.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationpolicies.go @@ -14,7 +14,7 @@ package recoveryservicessiterecovery // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 +// Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationprotectableitems.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationprotectableitems.go index 4542935bb..6f25176bb 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationprotectableitems.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationprotectableitems.go @@ -14,7 +14,7 @@ package recoveryservicessiterecovery // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 +// Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationprotecteditems.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationprotecteditems.go index 178768b99..d753e5b27 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationprotecteditems.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationprotecteditems.go @@ -14,7 +14,7 @@ package recoveryservicessiterecovery // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 +// Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationprotectioncontainermappings.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationprotectioncontainermappings.go index 39dcbab45..2ffac2337 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationprotectioncontainermappings.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationprotectioncontainermappings.go @@ -14,7 +14,7 @@ package recoveryservicessiterecovery // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 +// Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationprotectioncontainers.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationprotectioncontainers.go index 2d52e9ef3..7cc644724 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationprotectioncontainers.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationprotectioncontainers.go @@ -14,7 +14,7 @@ package recoveryservicessiterecovery // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 +// Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationrecoveryplans.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationrecoveryplans.go index c7cc11506..801edbb87 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationrecoveryplans.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationrecoveryplans.go @@ -14,7 +14,7 @@ package recoveryservicessiterecovery // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 +// Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationrecoveryservicesproviders.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationrecoveryservicesproviders.go index c6c73402d..94db3c3ba 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationrecoveryservicesproviders.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationrecoveryservicesproviders.go @@ -14,7 +14,7 @@ package recoveryservicessiterecovery // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 +// Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationstorageclassificationmappings.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationstorageclassificationmappings.go index 5a0224947..8989f9a3a 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationstorageclassificationmappings.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationstorageclassificationmappings.go @@ -14,7 +14,7 @@ package recoveryservicessiterecovery // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 +// Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationstorageclassifications.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationstorageclassifications.go index 58a8340cb..4604411cb 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationstorageclassifications.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationstorageclassifications.go @@ -14,7 +14,7 @@ package recoveryservicessiterecovery // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 +// Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationvaulthealth.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationvaulthealth.go new file mode 100644 index 000000000..36f59cb7d --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationvaulthealth.go @@ -0,0 +1,103 @@ +package recoveryservicessiterecovery + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// ReplicationVaultHealthClient is the client for the ReplicationVaultHealth methods of the +// Recoveryservicessiterecovery service. +type ReplicationVaultHealthClient struct { + ManagementClient +} + +// NewReplicationVaultHealthClient creates an instance of the ReplicationVaultHealthClient client. +func NewReplicationVaultHealthClient(subscriptionID string, resourceGroupName string, resourceName string) ReplicationVaultHealthClient { + return NewReplicationVaultHealthClientWithBaseURI(DefaultBaseURI, subscriptionID, resourceGroupName, resourceName) +} + +// NewReplicationVaultHealthClientWithBaseURI creates an instance of the ReplicationVaultHealthClient client. +func NewReplicationVaultHealthClientWithBaseURI(baseURI string, subscriptionID string, resourceGroupName string, resourceName string) ReplicationVaultHealthClient { + return ReplicationVaultHealthClient{NewWithBaseURI(baseURI, subscriptionID, resourceGroupName, resourceName)} +} + +// Get gets the health details of the vault. +func (client ReplicationVaultHealthClient) Get() (result VaultHealthDetails, err error) { + req, err := client.GetPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "recoveryservicessiterecovery.ReplicationVaultHealthClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "recoveryservicessiterecovery.ReplicationVaultHealthClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "recoveryservicessiterecovery.ReplicationVaultHealthClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ReplicationVaultHealthClient) GetPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", client.ResourceGroupName), + "resourceName": autorest.Encode("path", client.ResourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-10" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ReplicationVaultHealthClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ReplicationVaultHealthClient) GetResponder(resp *http.Response) (result VaultHealthDetails, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationvcenters.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationvcenters.go index 5c73f978c..21438b5e0 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationvcenters.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/replicationvcenters.go @@ -14,7 +14,7 @@ package recoveryservicessiterecovery // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 +// Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/version.go index b421bc269..210d959b3 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/recoveryservicessiterecovery/version.go @@ -14,15 +14,15 @@ package recoveryservicessiterecovery // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 +// Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-recoveryservicessiterecovery/2016-08-10" + return "Azure-SDK-For-Go/v11.0.0-beta arm-recoveryservicessiterecovery/2016-08-10" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/client.go index a2fe3a6d6..eca26b9b2 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/client.go @@ -17,9 +17,8 @@ package redis // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/firewallrule.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/firewallrule.go old mode 100755 new mode 100644 index b1db86584..aa21f17d3 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/firewallrule.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/firewallrule.go @@ -14,9 +14,8 @@ package redis // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// FirewallRuleClient is the rEST API for Azure Redis Cache Service. +// FirewallRuleClient is the REST API for Azure Redis Cache Service. type FirewallRuleClient struct { ManagementClient } @@ -35,17 +34,15 @@ func NewFirewallRuleClient(subscriptionID string) FirewallRuleClient { return NewFirewallRuleClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewFirewallRuleClientWithBaseURI creates an instance of the -// FirewallRuleClient client. +// NewFirewallRuleClientWithBaseURI creates an instance of the FirewallRuleClient client. func NewFirewallRuleClientWithBaseURI(baseURI string, subscriptionID string) FirewallRuleClient { return FirewallRuleClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate create or update a redis cache firewall rule // -// resourceGroupName is the name of the resource group. cacheName is the name -// of the Redis cache. ruleName is the name of the firewall rule. parameters is -// parameters supplied to the create or update redis firewall rule operation. +// resourceGroupName is the name of the resource group. cacheName is the name of the Redis cache. ruleName is the name +// of the firewall rule. parameters is parameters supplied to the create or update redis firewall rule operation. func (client FirewallRuleClient) CreateOrUpdate(resourceGroupName string, cacheName string, ruleName string, parameters FirewallRule) (result FirewallRule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -122,8 +119,8 @@ func (client FirewallRuleClient) CreateOrUpdateResponder(resp *http.Response) (r // Delete deletes a single firewall rule in a specified redis cache. // -// resourceGroupName is the name of the resource group. cacheName is the name -// of the Redis cache. ruleName is the name of the firewall rule. +// resourceGroupName is the name of the resource group. cacheName is the name of the Redis cache. ruleName is the name +// of the firewall rule. func (client FirewallRuleClient) Delete(resourceGroupName string, cacheName string, ruleName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, cacheName, ruleName) if err != nil { @@ -188,8 +185,8 @@ func (client FirewallRuleClient) DeleteResponder(resp *http.Response) (result au // Get gets a single firewall rule in a specified redis cache. // -// resourceGroupName is the name of the resource group. cacheName is the name -// of the Redis cache. ruleName is the name of the firewall rule. +// resourceGroupName is the name of the resource group. cacheName is the name of the Redis cache. ruleName is the name +// of the firewall rule. func (client FirewallRuleClient) Get(resourceGroupName string, cacheName string, ruleName string) (result FirewallRule, err error) { req, err := client.GetPreparer(resourceGroupName, cacheName, ruleName) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/firewallrules.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/firewallrules.go old mode 100755 new mode 100644 index 571d96bc7..d46bcbfde --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/firewallrules.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/firewallrules.go @@ -14,9 +14,8 @@ package redis // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,27 +23,24 @@ import ( "net/http" ) -// FirewallRulesClient is the rEST API for Azure Redis Cache Service. +// FirewallRulesClient is the REST API for Azure Redis Cache Service. type FirewallRulesClient struct { ManagementClient } -// NewFirewallRulesClient creates an instance of the FirewallRulesClient -// client. +// NewFirewallRulesClient creates an instance of the FirewallRulesClient client. func NewFirewallRulesClient(subscriptionID string) FirewallRulesClient { return NewFirewallRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewFirewallRulesClientWithBaseURI creates an instance of the -// FirewallRulesClient client. +// NewFirewallRulesClientWithBaseURI creates an instance of the FirewallRulesClient client. func NewFirewallRulesClientWithBaseURI(baseURI string, subscriptionID string) FirewallRulesClient { return FirewallRulesClient{NewWithBaseURI(baseURI, subscriptionID)} } // List gets all firewall rules in the specified redis cache. // -// resourceGroupName is the name of the resource group. cacheName is the name -// of the Redis cache. +// resourceGroupName is the name of the resource group. cacheName is the name of the Redis cache. func (client FirewallRulesClient) List(resourceGroupName string, cacheName string) (result FirewallRuleListResult, err error) { req, err := client.ListPreparer(resourceGroupName, cacheName) if err != nil { @@ -130,3 +126,48 @@ func (client FirewallRulesClient) ListNextResults(lastResults FirewallRuleListRe return } + +// ListComplete gets all elements from the list without paging. +func (client FirewallRulesClient) ListComplete(resourceGroupName string, cacheName string, cancel <-chan struct{}) (<-chan FirewallRule, <-chan error) { + resultChan := make(chan FirewallRule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, cacheName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/redisgroup.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/group.go old mode 100755 new mode 100644 similarity index 90% rename from vendor/github.com/Azure/azure-sdk-for-go/arm/redis/redisgroup.go rename to vendor/github.com/Azure/azure-sdk-for-go/arm/redis/group.go index af411bfaa..e3c1cbf1f --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/redisgroup.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/group.go @@ -14,9 +14,8 @@ package redis // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// GroupClient is the rEST API for Azure Redis Cache Service. +// GroupClient is the REST API for Azure Redis Cache Service. type GroupClient struct { ManagementClient } @@ -40,14 +39,12 @@ func NewGroupClientWithBaseURI(baseURI string, subscriptionID string) GroupClien return GroupClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Create create or replace (overwrite/recreate, with potential downtime) an -// existing Redis cache. This method may poll for completion. Polling can be -// canceled by passing the cancel channel argument. The channel will be used to -// cancel polling and any outstanding HTTP requests. +// Create create or replace (overwrite/recreate, with potential downtime) an existing Redis cache. This method may poll +// for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. name is the name of the -// Redis cache. parameters is parameters supplied to the Create Redis -// operation. +// resourceGroupName is the name of the resource group. name is the name of the Redis cache. parameters is parameters +// supplied to the Create Redis operation. func (client GroupClient) Create(resourceGroupName string, name string, parameters CreateParameters, cancel <-chan struct{}) (<-chan ResourceType, <-chan error) { resultChan := make(chan ResourceType, 1) errChan := make(chan error, 1) @@ -67,8 +64,10 @@ func (client GroupClient) Create(resourceGroupName string, name string, paramete var err error var result ResourceType defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -137,12 +136,10 @@ func (client GroupClient) CreateResponder(resp *http.Response) (result ResourceT return } -// Delete deletes a Redis cache. This method may poll for completion. Polling -// can be canceled by passing the cancel channel argument. The channel will be -// used to cancel polling and any outstanding HTTP requests. +// Delete deletes a Redis cache. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. name is the name of the -// Redis cache. +// resourceGroupName is the name of the resource group. name is the name of the Redis cache. func (client GroupClient) Delete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -150,8 +147,10 @@ func (client GroupClient) Delete(resourceGroupName string, name string, cancel < var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -217,13 +216,12 @@ func (client GroupClient) DeleteResponder(resp *http.Response) (result autorest. return } -// ExportData export data from the redis cache to blobs in a container. This -// method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// ExportData export data from the redis cache to blobs in a container. This method may poll for completion. Polling +// can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. name is the name of the -// Redis cache. parameters is parameters for Redis export operation. +// resourceGroupName is the name of the resource group. name is the name of the Redis cache. parameters is parameters +// for Redis export operation. func (client GroupClient) ExportData(resourceGroupName string, name string, parameters ExportRDBParameters, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -241,8 +239,10 @@ func (client GroupClient) ExportData(resourceGroupName string, name string, para var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -310,11 +310,11 @@ func (client GroupClient) ExportDataResponder(resp *http.Response) (result autor return } -// ForceReboot reboot specified Redis node(s). This operation requires write -// permission to the cache resource. There can be potential data loss. +// ForceReboot reboot specified Redis node(s). This operation requires write permission to the cache resource. There +// can be potential data loss. // -// resourceGroupName is the name of the resource group. name is the name of the -// Redis cache. parameters is specifies which Redis node(s) to reboot. +// resourceGroupName is the name of the resource group. name is the name of the Redis cache. parameters is specifies +// which Redis node(s) to reboot. func (client GroupClient) ForceReboot(resourceGroupName string, name string, parameters RebootParameters) (result ForceRebootResponse, err error) { req, err := client.ForceRebootPreparer(resourceGroupName, name, parameters) if err != nil { @@ -381,8 +381,7 @@ func (client GroupClient) ForceRebootResponder(resp *http.Response) (result Forc // Get gets a Redis cache (resource description). // -// resourceGroupName is the name of the resource group. name is the name of the -// Redis cache. +// resourceGroupName is the name of the resource group. name is the name of the Redis cache. func (client GroupClient) Get(resourceGroupName string, name string) (result ResourceType, err error) { req, err := client.GetPreparer(resourceGroupName, name) if err != nil { @@ -445,13 +444,11 @@ func (client GroupClient) GetResponder(resp *http.Response) (result ResourceType return } -// ImportData import data into Redis cache. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// ImportData import data into Redis cache. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. name is the name of the -// Redis cache. parameters is parameters for Redis import operation. +// resourceGroupName is the name of the resource group. name is the name of the Redis cache. parameters is parameters +// for Redis import operation. func (client GroupClient) ImportData(resourceGroupName string, name string, parameters ImportRDBParameters, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -468,8 +465,10 @@ func (client GroupClient) ImportData(resourceGroupName string, name string, para var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -622,6 +621,51 @@ func (client GroupClient) ListNextResults(lastResults ListResult) (result ListRe return } +// ListComplete gets all elements from the list without paging. +func (client GroupClient) ListComplete(cancel <-chan struct{}) (<-chan ResourceType, <-chan error) { + resultChan := make(chan ResourceType) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListByResourceGroup lists all Redis caches in a resource group. // // resourceGroupName is the name of the resource group. @@ -710,11 +754,54 @@ func (client GroupClient) ListByResourceGroupNextResults(lastResults ListResult) return } -// ListKeys retrieve a Redis cache's access keys. This operation requires write -// permission to the cache resource. +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client GroupClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan ResourceType, <-chan error) { + resultChan := make(chan ResourceType) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListKeys retrieve a Redis cache's access keys. This operation requires write permission to the cache resource. // -// resourceGroupName is the name of the resource group. name is the name of the -// Redis cache. +// resourceGroupName is the name of the resource group. name is the name of the Redis cache. func (client GroupClient) ListKeys(resourceGroupName string, name string) (result AccessKeys, err error) { req, err := client.ListKeysPreparer(resourceGroupName, name) if err != nil { @@ -777,11 +864,10 @@ func (client GroupClient) ListKeysResponder(resp *http.Response) (result AccessK return } -// RegenerateKey regenerate Redis cache's access keys. This operation requires -// write permission to the cache resource. +// RegenerateKey regenerate Redis cache's access keys. This operation requires write permission to the cache resource. // -// resourceGroupName is the name of the resource group. name is the name of the -// Redis cache. parameters is specifies which key to regenerate. +// resourceGroupName is the name of the resource group. name is the name of the Redis cache. parameters is specifies +// which key to regenerate. func (client GroupClient) RegenerateKey(resourceGroupName string, name string, parameters RegenerateKeyParameters) (result AccessKeys, err error) { req, err := client.RegenerateKeyPreparer(resourceGroupName, name, parameters) if err != nil { @@ -848,9 +934,8 @@ func (client GroupClient) RegenerateKeyResponder(resp *http.Response) (result Ac // Update update an existing Redis cache. // -// resourceGroupName is the name of the resource group. name is the name of the -// Redis cache. parameters is parameters supplied to the Update Redis -// operation. +// resourceGroupName is the name of the resource group. name is the name of the Redis cache. parameters is parameters +// supplied to the Update Redis operation. func (client GroupClient) Update(resourceGroupName string, name string, parameters UpdateParameters) (result ResourceType, err error) { req, err := client.UpdatePreparer(resourceGroupName, name, parameters) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/models.go index f4ef80cc5..61282f7cc 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/models.go @@ -14,9 +14,8 @@ package redis // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -127,8 +126,8 @@ type ExportRDBParameters struct { Container *string `json:"container,omitempty"` } -// FirewallRule is a firewall rule on a redis cache has a name, and describes a -// contiguous range of IP addresses permitted to connect +// FirewallRule is a firewall rule on a redis cache has a name, and describes a contiguous range of IP addresses +// permitted to connect type FirewallRule struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -137,8 +136,7 @@ type FirewallRule struct { *FirewallRuleProperties `json:"properties,omitempty"` } -// FirewallRuleListResult is the response of list firewall rules Redis -// operation. +// FirewallRuleListResult is the response of list firewall rules Redis operation. type FirewallRuleListResult struct { autorest.Response `json:"-"` Value *[]FirewallRule `json:"value,omitempty"` @@ -157,8 +155,7 @@ func (client FirewallRuleListResult) FirewallRuleListResultPreparer() (*http.Req autorest.WithBaseURL(to.String(client.NextLink))) } -// FirewallRuleProperties is specifies a range of IP addresses permitted to -// connect to the cache +// FirewallRuleProperties is specifies a range of IP addresses permitted to connect to the cache type FirewallRuleProperties struct { StartIP *string `json:"startIP,omitempty"` EndIP *string `json:"endIP,omitempty"` @@ -195,7 +192,7 @@ func (client ListResult) ListResultPreparer() (*http.Request, error) { autorest.WithBaseURL(to.String(client.NextLink))) } -// Operation is rEST API operation +// Operation is REST API operation type Operation struct { Name *string `json:"name,omitempty"` Display *OperationDisplay `json:"display,omitempty"` @@ -209,9 +206,8 @@ type OperationDisplay struct { Description *string `json:"description,omitempty"` } -// OperationListResult is result of the request to list REST API operations. It -// contains a list of operations and a URL nextLink to get the next set of -// results. +// OperationListResult is result of the request to list REST API operations. It contains a list of operations and a URL +// nextLink to get the next set of results. type OperationListResult struct { autorest.Response `json:"-"` Value *[]Operation `json:"value,omitempty"` @@ -310,7 +306,7 @@ type ScheduleEntry struct { MaintenanceWindow *string `json:"maintenanceWindow,omitempty"` } -// Sku is sKU parameters supplied to the create Redis operation. +// Sku is SKU parameters supplied to the create Redis operation. type Sku struct { Name SkuName `json:"name,omitempty"` Family SkuFamily `json:"family,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/operations.go old mode 100755 new mode 100644 index f0e825dd1..897382b75 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/operations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/operations.go @@ -14,9 +14,8 @@ package redis // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,7 +23,7 @@ import ( "net/http" ) -// OperationsClient is the rEST API for Azure Redis Cache Service. +// OperationsClient is the REST API for Azure Redis Cache Service. type OperationsClient struct { ManagementClient } @@ -34,14 +33,12 @@ func NewOperationsClient(subscriptionID string) OperationsClient { return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewOperationsClientWithBaseURI creates an instance of the OperationsClient -// client. +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// List lists all of the available REST API operations of the Microsoft.Cache -// provider. +// List lists all of the available REST API operations of the Microsoft.Cache provider. func (client OperationsClient) List() (result OperationListResult, err error) { req, err := client.ListPreparer() if err != nil { @@ -121,3 +118,48 @@ func (client OperationsClient) ListNextResults(lastResults OperationListResult) return } + +// ListComplete gets all elements from the list without paging. +func (client OperationsClient) ListComplete(cancel <-chan struct{}) (<-chan Operation, <-chan error) { + resultChan := make(chan Operation) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/patchschedules.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/patchschedules.go index 44661ec9a..760585c91 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/patchschedules.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/patchschedules.go @@ -14,9 +14,8 @@ package redis // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,29 +24,25 @@ import ( "net/http" ) -// PatchSchedulesClient is the rEST API for Azure Redis Cache Service. +// PatchSchedulesClient is the REST API for Azure Redis Cache Service. type PatchSchedulesClient struct { ManagementClient } -// NewPatchSchedulesClient creates an instance of the PatchSchedulesClient -// client. +// NewPatchSchedulesClient creates an instance of the PatchSchedulesClient client. func NewPatchSchedulesClient(subscriptionID string) PatchSchedulesClient { return NewPatchSchedulesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewPatchSchedulesClientWithBaseURI creates an instance of the -// PatchSchedulesClient client. +// NewPatchSchedulesClientWithBaseURI creates an instance of the PatchSchedulesClient client. func NewPatchSchedulesClientWithBaseURI(baseURI string, subscriptionID string) PatchSchedulesClient { return PatchSchedulesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate create or replace the patching schedule for Redis cache -// (requires Premium SKU). +// CreateOrUpdate create or replace the patching schedule for Redis cache (requires Premium SKU). // -// resourceGroupName is the name of the resource group. name is the name of the -// Redis cache. parameters is parameters to set the patching schedule for Redis -// cache. +// resourceGroupName is the name of the resource group. name is the name of the Redis cache. parameters is parameters +// to set the patching schedule for Redis cache. func (client PatchSchedulesClient) CreateOrUpdate(resourceGroupName string, name string, parameters PatchSchedule) (result PatchSchedule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -119,11 +114,9 @@ func (client PatchSchedulesClient) CreateOrUpdateResponder(resp *http.Response) return } -// Delete deletes the patching schedule of a redis cache (requires Premium -// SKU). +// Delete deletes the patching schedule of a redis cache (requires Premium SKU). // -// resourceGroupName is the name of the resource group. name is the name of the -// redis cache. +// resourceGroupName is the name of the resource group. name is the name of the redis cache. func (client PatchSchedulesClient) Delete(resourceGroupName string, name string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, name) if err != nil { @@ -187,8 +180,7 @@ func (client PatchSchedulesClient) DeleteResponder(resp *http.Response) (result // Get gets the patching schedule of a redis cache (requires Premium SKU). // -// resourceGroupName is the name of the resource group. name is the name of the -// redis cache. +// resourceGroupName is the name of the resource group. name is the name of the redis cache. func (client PatchSchedulesClient) Get(resourceGroupName string, name string) (result PatchSchedule, err error) { req, err := client.GetPreparer(resourceGroupName, name) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/version.go index 68fa93ef4..a5d8e1427 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/redis/version.go @@ -14,16 +14,15 @@ package redis // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-redis/2016-04-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-redis/2016-04-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/client.go index ea5cfe545..9c70f1bd4 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/client.go @@ -1,7 +1,6 @@ -// Package relay implements the Azure ARM Relay service API version 2016-07-01. +// Package relay implements the Azure ARM Relay service API version 2017-04-01. // -// Use these API to manage Azure Relay resources through Azure Resources -// Manager. +// Use these API to manage Azure Relay resources through Azure Resource Manager. package relay // Copyright (c) Microsoft and contributors. All rights reserved. @@ -18,9 +17,8 @@ package relay // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/hybridconnections.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/hybridconnections.go index 8812f0072..b86cf63a8 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/hybridconnections.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/hybridconnections.go @@ -14,9 +14,8 @@ package relay // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,31 +24,25 @@ import ( "net/http" ) -// HybridConnectionsClient is the use these API to manage Azure Relay resources -// through Azure Resources Manager. +// HybridConnectionsClient is the use these API to manage Azure Relay resources through Azure Resource Manager. type HybridConnectionsClient struct { ManagementClient } -// NewHybridConnectionsClient creates an instance of the -// HybridConnectionsClient client. +// NewHybridConnectionsClient creates an instance of the HybridConnectionsClient client. func NewHybridConnectionsClient(subscriptionID string) HybridConnectionsClient { return NewHybridConnectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewHybridConnectionsClientWithBaseURI creates an instance of the -// HybridConnectionsClient client. +// NewHybridConnectionsClientWithBaseURI creates an instance of the HybridConnectionsClient client. func NewHybridConnectionsClientWithBaseURI(baseURI string, subscriptionID string) HybridConnectionsClient { return HybridConnectionsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or Updates a service HybridConnection. This operation -// is idempotent. +// CreateOrUpdate creates or updates a service hybrid connection. This operation is idempotent. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name hybridConnectionName is -// the hybrid connection name. parameters is parameters supplied to create a -// HybridConnection. +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// hybridConnectionName is the hybrid connection name. parameters is parameters supplied to create a hybrid connection. func (client HybridConnectionsClient) CreateOrUpdate(resourceGroupName string, namespaceName string, hybridConnectionName string, parameters HybridConnection) (result HybridConnection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -59,13 +52,12 @@ func (client HybridConnectionsClient) CreateOrUpdate(resourceGroupName string, n Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: hybridConnectionName, - Constraints: []validation.Constraint{{Target: "hybridConnectionName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "hybridConnectionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "hybridConnectionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: parameters, Constraints: []validation.Constraint{{Target: "parameters.HybridConnectionProperties", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "parameters.HybridConnectionProperties.ListenerCount", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "parameters.HybridConnectionProperties.ListenerCount", Name: validation.InclusiveMaximum, Rule: 25, Chain: nil}, - {Target: "parameters.HybridConnectionProperties.ListenerCount", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + {Target: "parameters.HybridConnectionProperties.ListenerCount", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, }}, }}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "relay.HybridConnectionsClient", "CreateOrUpdate") @@ -101,7 +93,7 @@ func (client HybridConnectionsClient) CreateOrUpdatePreparer(resourceGroupName s "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -110,7 +102,7 @@ func (client HybridConnectionsClient) CreateOrUpdatePreparer(resourceGroupName s autorest.AsJSON(), autorest.AsPut(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/HybridConnections/{hybridConnectionName}", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}", pathParameters), autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) @@ -135,13 +127,11 @@ func (client HybridConnectionsClient) CreateOrUpdateResponder(resp *http.Respons return } -// CreateOrUpdateAuthorizationRule creates or Updates an authorization rule for -// a HybridConnection +// CreateOrUpdateAuthorizationRule creates or updates an authorization rule for a hybrid connection. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name hybridConnectionName is -// the hybrid connection name. authorizationRuleName is the authorizationRule -// name. parameters is the authorization rule parameters +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// hybridConnectionName is the hybrid connection name. authorizationRuleName is the authorization rule name. parameters +// is the authorization rule parameters. func (client HybridConnectionsClient) CreateOrUpdateAuthorizationRule(resourceGroupName string, namespaceName string, hybridConnectionName string, authorizationRuleName string, parameters AuthorizationRule) (result AuthorizationRule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -151,14 +141,12 @@ func (client HybridConnectionsClient) CreateOrUpdateAuthorizationRule(resourceGr Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: hybridConnectionName, - Constraints: []validation.Constraint{{Target: "hybridConnectionName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "hybridConnectionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "hybridConnectionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: parameters, Constraints: []validation.Constraint{{Target: "parameters.AuthorizationRuleProperties", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "parameters.AuthorizationRuleProperties.Rights", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.AuthorizationRuleProperties.Rights", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "parameters.AuthorizationRuleProperties.Rights", Name: validation.UniqueItems, Rule: true, Chain: nil}}}, }}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "relay.HybridConnectionsClient", "CreateOrUpdateAuthorizationRule") @@ -195,7 +183,7 @@ func (client HybridConnectionsClient) CreateOrUpdateAuthorizationRulePreparer(re "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -204,7 +192,7 @@ func (client HybridConnectionsClient) CreateOrUpdateAuthorizationRulePreparer(re autorest.AsJSON(), autorest.AsPut(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/HybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}", pathParameters), autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) @@ -229,11 +217,10 @@ func (client HybridConnectionsClient) CreateOrUpdateAuthorizationRuleResponder(r return } -// Delete deletes a HybridConnection . +// Delete deletes a hybrid connection. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name hybridConnectionName is -// the hybrid connection name. +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// hybridConnectionName is the hybrid connection name. func (client HybridConnectionsClient) Delete(resourceGroupName string, namespaceName string, hybridConnectionName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -243,8 +230,7 @@ func (client HybridConnectionsClient) Delete(resourceGroupName string, namespace Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: hybridConnectionName, - Constraints: []validation.Constraint{{Target: "hybridConnectionName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "hybridConnectionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "hybridConnectionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "relay.HybridConnectionsClient", "Delete") } @@ -278,7 +264,7 @@ func (client HybridConnectionsClient) DeletePreparer(resourceGroupName string, n "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -286,7 +272,7 @@ func (client HybridConnectionsClient) DeletePreparer(resourceGroupName string, n preparer := autorest.CreatePreparer( autorest.AsDelete(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/HybridConnections/{hybridConnectionName}", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -309,12 +295,10 @@ func (client HybridConnectionsClient) DeleteResponder(resp *http.Response) (resu return } -// DeleteAuthorizationRule deletes a HybridConnection authorization rule +// DeleteAuthorizationRule deletes a hybrid connection authorization rule. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name hybridConnectionName is -// the hybrid connection name. authorizationRuleName is the authorizationRule -// name. +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// hybridConnectionName is the hybrid connection name. authorizationRuleName is the authorization rule name. func (client HybridConnectionsClient) DeleteAuthorizationRule(resourceGroupName string, namespaceName string, hybridConnectionName string, authorizationRuleName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -324,11 +308,9 @@ func (client HybridConnectionsClient) DeleteAuthorizationRule(resourceGroupName Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: hybridConnectionName, - Constraints: []validation.Constraint{{Target: "hybridConnectionName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "hybridConnectionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "hybridConnectionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "relay.HybridConnectionsClient", "DeleteAuthorizationRule") } @@ -363,7 +345,7 @@ func (client HybridConnectionsClient) DeleteAuthorizationRulePreparer(resourceGr "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -371,7 +353,7 @@ func (client HybridConnectionsClient) DeleteAuthorizationRulePreparer(resourceGr preparer := autorest.CreatePreparer( autorest.AsDelete(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/HybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -394,11 +376,10 @@ func (client HybridConnectionsClient) DeleteAuthorizationRuleResponder(resp *htt return } -// Get returns the description for the specified HybridConnection. +// Get returns the description for the specified hybrid connection. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name hybridConnectionName is -// the hybrid connection name. +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// hybridConnectionName is the hybrid connection name. func (client HybridConnectionsClient) Get(resourceGroupName string, namespaceName string, hybridConnectionName string) (result HybridConnection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -408,8 +389,7 @@ func (client HybridConnectionsClient) Get(resourceGroupName string, namespaceNam Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: hybridConnectionName, - Constraints: []validation.Constraint{{Target: "hybridConnectionName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "hybridConnectionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "hybridConnectionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "relay.HybridConnectionsClient", "Get") } @@ -443,7 +423,7 @@ func (client HybridConnectionsClient) GetPreparer(resourceGroupName string, name "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -451,7 +431,7 @@ func (client HybridConnectionsClient) GetPreparer(resourceGroupName string, name preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/HybridConnections/{hybridConnectionName}", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -475,13 +455,10 @@ func (client HybridConnectionsClient) GetResponder(resp *http.Response) (result return } -// GetAuthorizationRule hybridConnection authorizationRule for a -// HybridConnection by name. +// GetAuthorizationRule hybrid connection authorization rule for a hybrid connection by name. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name hybridConnectionName is -// the hybrid connection name. authorizationRuleName is the authorizationRule -// name. +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// hybridConnectionName is the hybrid connection name. authorizationRuleName is the authorization rule name. func (client HybridConnectionsClient) GetAuthorizationRule(resourceGroupName string, namespaceName string, hybridConnectionName string, authorizationRuleName string) (result AuthorizationRule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -491,11 +468,9 @@ func (client HybridConnectionsClient) GetAuthorizationRule(resourceGroupName str Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: hybridConnectionName, - Constraints: []validation.Constraint{{Target: "hybridConnectionName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "hybridConnectionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "hybridConnectionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "relay.HybridConnectionsClient", "GetAuthorizationRule") } @@ -530,7 +505,7 @@ func (client HybridConnectionsClient) GetAuthorizationRulePreparer(resourceGroup "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -538,7 +513,7 @@ func (client HybridConnectionsClient) GetAuthorizationRulePreparer(resourceGroup preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/HybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -562,11 +537,10 @@ func (client HybridConnectionsClient) GetAuthorizationRuleResponder(resp *http.R return } -// ListAuthorizationRules authorization rules for a HybridConnection. +// ListAuthorizationRules authorization rules for a hybrid connection. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name hybridConnectionName is -// the hybrid connection name. +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// hybridConnectionName is the hybrid connection name. func (client HybridConnectionsClient) ListAuthorizationRules(resourceGroupName string, namespaceName string, hybridConnectionName string) (result AuthorizationRuleListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -576,8 +550,7 @@ func (client HybridConnectionsClient) ListAuthorizationRules(resourceGroupName s Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: hybridConnectionName, - Constraints: []validation.Constraint{{Target: "hybridConnectionName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "hybridConnectionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "hybridConnectionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "relay.HybridConnectionsClient", "ListAuthorizationRules") } @@ -611,7 +584,7 @@ func (client HybridConnectionsClient) ListAuthorizationRulesPreparer(resourceGro "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -619,7 +592,7 @@ func (client HybridConnectionsClient) ListAuthorizationRulesPreparer(resourceGro preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/HybridConnections/{hybridConnectionName}/authorizationRules", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -667,10 +640,54 @@ func (client HybridConnectionsClient) ListAuthorizationRulesNextResults(lastResu return } -// ListByNamespace lists the HybridConnection within the namespace. +// ListAuthorizationRulesComplete gets all elements from the list without paging. +func (client HybridConnectionsClient) ListAuthorizationRulesComplete(resourceGroupName string, namespaceName string, hybridConnectionName string, cancel <-chan struct{}) (<-chan AuthorizationRule, <-chan error) { + resultChan := make(chan AuthorizationRule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAuthorizationRules(resourceGroupName, namespaceName, hybridConnectionName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAuthorizationRulesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListByNamespace lists the hybrid connection within the namespace. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name func (client HybridConnectionsClient) ListByNamespace(resourceGroupName string, namespaceName string) (result HybridConnectionListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -711,7 +728,7 @@ func (client HybridConnectionsClient) ListByNamespacePreparer(resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -719,7 +736,7 @@ func (client HybridConnectionsClient) ListByNamespacePreparer(resourceGroupName preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/HybridConnections", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -767,13 +784,56 @@ func (client HybridConnectionsClient) ListByNamespaceNextResults(lastResults Hyb return } -// ListKeys primary and Secondary ConnectionStrings to the HybridConnection. +// ListByNamespaceComplete gets all elements from the list without paging. +func (client HybridConnectionsClient) ListByNamespaceComplete(resourceGroupName string, namespaceName string, cancel <-chan struct{}) (<-chan HybridConnection, <-chan error) { + resultChan := make(chan HybridConnection) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByNamespace(resourceGroupName, namespaceName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByNamespaceNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListKeys primary and secondary connection strings to the hybrid connection. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name hybridConnectionName is -// the hybrid connection name. authorizationRuleName is the authorizationRule -// name. -func (client HybridConnectionsClient) ListKeys(resourceGroupName string, namespaceName string, hybridConnectionName string, authorizationRuleName string) (result AuthorizationRuleKeys, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// hybridConnectionName is the hybrid connection name. authorizationRuleName is the authorization rule name. +func (client HybridConnectionsClient) ListKeys(resourceGroupName string, namespaceName string, hybridConnectionName string, authorizationRuleName string) (result AccessKeys, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -782,11 +842,9 @@ func (client HybridConnectionsClient) ListKeys(resourceGroupName string, namespa Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: hybridConnectionName, - Constraints: []validation.Constraint{{Target: "hybridConnectionName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "hybridConnectionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "hybridConnectionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "relay.HybridConnectionsClient", "ListKeys") } @@ -821,7 +879,7 @@ func (client HybridConnectionsClient) ListKeysPreparer(resourceGroupName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -829,7 +887,7 @@ func (client HybridConnectionsClient) ListKeysPreparer(resourceGroupName string, preparer := autorest.CreatePreparer( autorest.AsPost(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/HybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/ListKeys", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/listKeys", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -842,7 +900,7 @@ func (client HybridConnectionsClient) ListKeysSender(req *http.Request) (*http.R // ListKeysResponder handles the response to the ListKeys request. The method always // closes the http.Response Body. -func (client HybridConnectionsClient) ListKeysResponder(resp *http.Response) (result AuthorizationRuleKeys, err error) { +func (client HybridConnectionsClient) ListKeysResponder(resp *http.Response) (result AccessKeys, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -853,14 +911,12 @@ func (client HybridConnectionsClient) ListKeysResponder(resp *http.Response) (re return } -// RegenerateKeys regenerates the Primary or Secondary ConnectionStrings to the -// HybridConnection +// RegenerateKeys regenerates the primary or secondary connection strings to the hybrid connection. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name hybridConnectionName is -// the hybrid connection name. authorizationRuleName is the authorizationRule -// name. parameters is parameters supplied to regenerate Auth Rule. -func (client HybridConnectionsClient) RegenerateKeys(resourceGroupName string, namespaceName string, hybridConnectionName string, authorizationRuleName string, parameters RegenerateKeysParameters) (result AuthorizationRuleKeys, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// hybridConnectionName is the hybrid connection name. authorizationRuleName is the authorization rule name. parameters +// is parameters supplied to regenerate authorization rule. +func (client HybridConnectionsClient) RegenerateKeys(resourceGroupName string, namespaceName string, hybridConnectionName string, authorizationRuleName string, parameters RegenerateAccessKeyParameters) (result AccessKeys, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -869,11 +925,9 @@ func (client HybridConnectionsClient) RegenerateKeys(resourceGroupName string, n Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: hybridConnectionName, - Constraints: []validation.Constraint{{Target: "hybridConnectionName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "hybridConnectionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "hybridConnectionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "relay.HybridConnectionsClient", "RegenerateKeys") } @@ -899,7 +953,7 @@ func (client HybridConnectionsClient) RegenerateKeys(resourceGroupName string, n } // RegenerateKeysPreparer prepares the RegenerateKeys request. -func (client HybridConnectionsClient) RegenerateKeysPreparer(resourceGroupName string, namespaceName string, hybridConnectionName string, authorizationRuleName string, parameters RegenerateKeysParameters) (*http.Request, error) { +func (client HybridConnectionsClient) RegenerateKeysPreparer(resourceGroupName string, namespaceName string, hybridConnectionName string, authorizationRuleName string, parameters RegenerateAccessKeyParameters) (*http.Request, error) { pathParameters := map[string]interface{}{ "authorizationRuleName": autorest.Encode("path", authorizationRuleName), "hybridConnectionName": autorest.Encode("path", hybridConnectionName), @@ -908,7 +962,7 @@ func (client HybridConnectionsClient) RegenerateKeysPreparer(resourceGroupName s "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -917,7 +971,7 @@ func (client HybridConnectionsClient) RegenerateKeysPreparer(resourceGroupName s autorest.AsJSON(), autorest.AsPost(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/HybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/regenerateKeys", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/regenerateKeys", pathParameters), autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) @@ -931,7 +985,7 @@ func (client HybridConnectionsClient) RegenerateKeysSender(req *http.Request) (* // RegenerateKeysResponder handles the response to the RegenerateKeys request. The method always // closes the http.Response Body. -func (client HybridConnectionsClient) RegenerateKeysResponder(resp *http.Response) (result AuthorizationRuleKeys, err error) { +func (client HybridConnectionsClient) RegenerateKeysResponder(resp *http.Response) (result AccessKeys, err error) { err = autorest.Respond( resp, client.ByInspecting(), diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/models.go index fb724b6ee..ea6d0a5b7 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/models.go @@ -14,9 +14,8 @@ package relay // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -37,14 +36,32 @@ const ( Send AccessRights = "Send" ) -// PolicyKey enumerates the values for policy key. -type PolicyKey string +// KeyType enumerates the values for key type. +type KeyType string const ( - // PrimaryKey specifies the primary key state for policy key. - PrimaryKey PolicyKey = "PrimaryKey" - // SecondaryKey specifies the secondary key state for policy key. - SecondaryKey PolicyKey = "SecondaryKey" + // PrimaryKey specifies the primary key state for key type. + PrimaryKey KeyType = "PrimaryKey" + // SecondaryKey specifies the secondary key state for key type. + SecondaryKey KeyType = "SecondaryKey" +) + +// ProvisioningStateEnum enumerates the values for provisioning state enum. +type ProvisioningStateEnum string + +const ( + // Created specifies the created state for provisioning state enum. + Created ProvisioningStateEnum = "Created" + // Deleted specifies the deleted state for provisioning state enum. + Deleted ProvisioningStateEnum = "Deleted" + // Failed specifies the failed state for provisioning state enum. + Failed ProvisioningStateEnum = "Failed" + // Succeeded specifies the succeeded state for provisioning state enum. + Succeeded ProvisioningStateEnum = "Succeeded" + // Unknown specifies the unknown state for provisioning state enum. + Unknown ProvisioningStateEnum = "Unknown" + // Updating specifies the updating state for provisioning state enum. + Updating ProvisioningStateEnum = "Updating" ) // RelaytypeEnum enumerates the values for relaytype enum. @@ -57,38 +74,35 @@ const ( NetTCP RelaytypeEnum = "NetTcp" ) +// SkuTier enumerates the values for sku tier. +type SkuTier string + +const ( + // Standard specifies the standard state for sku tier. + Standard SkuTier = "Standard" +) + // UnavailableReason enumerates the values for unavailable reason. type UnavailableReason string const ( // InvalidName specifies the invalid name state for unavailable reason. InvalidName UnavailableReason = "InvalidName" - // NameInLockdown specifies the name in lockdown state for unavailable - // reason. + // NameInLockdown specifies the name in lockdown state for unavailable reason. NameInLockdown UnavailableReason = "NameInLockdown" // NameInUse specifies the name in use state for unavailable reason. NameInUse UnavailableReason = "NameInUse" // None specifies the none state for unavailable reason. None UnavailableReason = "None" - // SubscriptionIsDisabled specifies the subscription is disabled state for - // unavailable reason. + // SubscriptionIsDisabled specifies the subscription is disabled state for unavailable reason. SubscriptionIsDisabled UnavailableReason = "SubscriptionIsDisabled" - // TooManyNamespaceInCurrentSubscription specifies the too many namespace - // in current subscription state for unavailable reason. + // TooManyNamespaceInCurrentSubscription specifies the too many namespace in current subscription state for unavailable + // reason. TooManyNamespaceInCurrentSubscription UnavailableReason = "TooManyNamespaceInCurrentSubscription" ) -// AuthorizationRule is description of a Namespace AuthorizationRules. -type AuthorizationRule struct { - autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Type *string `json:"type,omitempty"` - *AuthorizationRuleProperties `json:"properties,omitempty"` -} - -// AuthorizationRuleKeys is namespace/Relay Connection String -type AuthorizationRuleKeys struct { +// AccessKeys is namespace/Relay Connection String +type AccessKeys struct { autorest.Response `json:"-"` PrimaryConnectionString *string `json:"primaryConnectionString,omitempty"` SecondaryConnectionString *string `json:"secondaryConnectionString,omitempty"` @@ -97,7 +111,21 @@ type AuthorizationRuleKeys struct { KeyName *string `json:"keyName,omitempty"` } -// AuthorizationRuleListResult is the response of the List Namespace operation. +// AuthorizationRule is description of a namespace authorization rule. +type AuthorizationRule struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *AuthorizationRuleProperties `json:"properties,omitempty"` +} + +// AuthorizationRuleProperties is authorization rule properties. +type AuthorizationRuleProperties struct { + Rights *[]AccessRights `json:"rights,omitempty"` +} + +// AuthorizationRuleListResult is the response from the list namespace operation. type AuthorizationRuleListResult struct { autorest.Response `json:"-"` Value *[]AuthorizationRule `json:"value,omitempty"` @@ -116,34 +144,27 @@ func (client AuthorizationRuleListResult) AuthorizationRuleListResultPreparer() autorest.WithBaseURL(to.String(client.NextLink))) } -// AuthorizationRuleProperties is authorizationRule properties. -type AuthorizationRuleProperties struct { - Rights *[]AccessRights `json:"rights,omitempty"` -} - -// CheckNameAvailability is description of a Check Name availability request -// properties. +// CheckNameAvailability is description of the check name availability request properties. type CheckNameAvailability struct { Name *string `json:"name,omitempty"` } -// CheckNameAvailabilityResult is description of a Check Name availability -// request properties. +// CheckNameAvailabilityResult is description of the check name availability request properties. type CheckNameAvailabilityResult struct { autorest.Response `json:"-"` + Message *string `json:"message,omitempty"` NameAvailable *bool `json:"nameAvailable,omitempty"` Reason UnavailableReason `json:"reason,omitempty"` - Message *string `json:"message,omitempty"` } -// ErrorResponse is error reponse indicates Relay service is not able to -// process the incoming request. The reason is provided in the error message. +// ErrorResponse is error reponse indicates Relay service is not able to process the incoming request. The reason is +// provided in the error message. type ErrorResponse struct { Code *string `json:"code,omitempty"` Message *string `json:"message,omitempty"` } -// HybridConnection is description of HybridConnection Resource. +// HybridConnection is description of hybrid connection resource. type HybridConnection struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -152,8 +173,16 @@ type HybridConnection struct { *HybridConnectionProperties `json:"properties,omitempty"` } -// HybridConnectionListResult is the response of the List HybridConnection -// operation. +// HybridConnectionProperties is properties of the HybridConnection. +type HybridConnectionProperties struct { + CreatedAt *date.Time `json:"createdAt,omitempty"` + UpdatedAt *date.Time `json:"updatedAt,omitempty"` + ListenerCount *int32 `json:"listenerCount,omitempty"` + RequiresClientAuthorization *bool `json:"requiresClientAuthorization,omitempty"` + UserMetadata *string `json:"userMetadata,omitempty"` +} + +// HybridConnectionListResult is the response of the list hybrid connection operation. type HybridConnectionListResult struct { autorest.Response `json:"-"` Value *[]HybridConnection `json:"value,omitempty"` @@ -172,16 +201,7 @@ func (client HybridConnectionListResult) HybridConnectionListResultPreparer() (* autorest.WithBaseURL(to.String(client.NextLink))) } -// HybridConnectionProperties is properties of the HybridConnection. -type HybridConnectionProperties struct { - CreatedAt *date.Time `json:"createdAt,omitempty"` - UpdatedAt *date.Time `json:"updatedAt,omitempty"` - ListenerCount *int32 `json:"listenerCount,omitempty"` - RequiresClientAuthorization *bool `json:"requiresClientAuthorization,omitempty"` - UserMetadata *string `json:"userMetadata,omitempty"` -} - -// Namespace is description of a Namespace resource. +// Namespace is description of a namespace resource. type Namespace struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -193,7 +213,7 @@ type Namespace struct { *NamespaceProperties `json:"properties,omitempty"` } -// NamespaceListResult is the response of the List Namespace operation. +// NamespaceListResult is the response from the list namespace operation. type NamespaceListResult struct { autorest.Response `json:"-"` Value *[]Namespace `json:"value,omitempty"` @@ -212,23 +232,16 @@ func (client NamespaceListResult) NamespaceListResultPreparer() (*http.Request, autorest.WithBaseURL(to.String(client.NextLink))) } -// NamespaceProperties is properties of the Namespace. +// NamespaceProperties is properties of the namespace. type NamespaceProperties struct { - ProvisioningState *string `json:"provisioningState,omitempty"` - CreatedAt *date.Time `json:"createdAt,omitempty"` - UpdatedAt *date.Time `json:"updatedAt,omitempty"` - ServiceBusEndpoint *string `json:"serviceBusEndpoint,omitempty"` - MetricID *string `json:"metricId,omitempty"` + ProvisioningState ProvisioningStateEnum `json:"provisioningState,omitempty"` + CreatedAt *date.Time `json:"createdAt,omitempty"` + UpdatedAt *date.Time `json:"updatedAt,omitempty"` + ServiceBusEndpoint *string `json:"serviceBusEndpoint,omitempty"` + MetricID *string `json:"metricId,omitempty"` } -// NamespaceUpdateParameter is parameters supplied to the Patch Namespace -// operation. -type NamespaceUpdateParameter struct { - Tags *map[string]*string `json:"tags,omitempty"` - Sku *Sku `json:"sku,omitempty"` -} - -// Operation is a EventHub REST API operation +// Operation is a Relay REST API operation. type Operation struct { Name *string `json:"name,omitempty"` Display *OperationDisplay `json:"display,omitempty"` @@ -241,8 +254,8 @@ type OperationDisplay struct { Operation *string `json:"operation,omitempty"` } -// OperationListResult is result of the request to list EventHub operations. It -// contains a list of operations and a URL link to get the next set of results. +// OperationListResult is result of the request to list Relay operations. It contains a list of operations and a URL +// link to get the next set of results. type OperationListResult struct { autorest.Response `json:"-"` Value *[]Operation `json:"value,omitempty"` @@ -261,26 +274,35 @@ func (client OperationListResult) OperationListResultPreparer() (*http.Request, autorest.WithBaseURL(to.String(client.NextLink))) } -// RegenerateKeysParameters is parameters supplied to the Regenerate -// Authorization Rule operation. -type RegenerateKeysParameters struct { - PolicyKey PolicyKey `json:"policyKey,omitempty"` +// RegenerateAccessKeyParameters is parameters supplied to the regenerate authorization rule operation, specifies which +// key neeeds to be reset. +type RegenerateAccessKeyParameters struct { + KeyType KeyType `json:"keyType,omitempty"` + Key *string `json:"key,omitempty"` } -// Resource is the Resource definition +// Resource is the resource definition. type Resource struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` } -// Sku is sku of the Namespace. -type Sku struct { - Name *string `json:"name,omitempty"` - Tier *string `json:"tier,omitempty"` +// ResourceNamespacePatch is definition of resource. +type ResourceNamespacePatch struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` } -// TrackedResource is definition of Resource +// Sku is SKU of the namespace. +type Sku struct { + Name *string `json:"name,omitempty"` + Tier SkuTier `json:"tier,omitempty"` +} + +// TrackedResource is definition of resource. type TrackedResource struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` @@ -289,7 +311,17 @@ type TrackedResource struct { Tags *map[string]*string `json:"tags,omitempty"` } -// WcfRelay is description of WcfRelays Resource. +// UpdateParameters is description of a namespace resource. +type UpdateParameters struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + Sku *Sku `json:"sku,omitempty"` + *NamespaceProperties `json:"properties,omitempty"` +} + +// WcfRelay is description of the WCF relay resource. type WcfRelay struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -298,19 +330,19 @@ type WcfRelay struct { *WcfRelayProperties `json:"properties,omitempty"` } -// WcfRelayProperties is properties of the WcfRelay Properties. +// WcfRelayProperties is properties of the WCF relay. type WcfRelayProperties struct { - RelayType RelaytypeEnum `json:"relayType,omitempty"` + IsDynamic *bool `json:"isDynamic,omitempty"` CreatedAt *date.Time `json:"createdAt,omitempty"` UpdatedAt *date.Time `json:"updatedAt,omitempty"` ListenerCount *int32 `json:"listenerCount,omitempty"` + RelayType RelaytypeEnum `json:"relayType,omitempty"` RequiresClientAuthorization *bool `json:"requiresClientAuthorization,omitempty"` RequiresTransportSecurity *bool `json:"requiresTransportSecurity,omitempty"` - IsDynamic *bool `json:"isDynamic,omitempty"` UserMetadata *string `json:"userMetadata,omitempty"` } -// WcfRelaysListResult is the response of the List WcfRelays operation. +// WcfRelaysListResult is the response of the list WCF relay operation. type WcfRelaysListResult struct { autorest.Response `json:"-"` Value *[]WcfRelay `json:"value,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/namespaces.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/namespaces.go index 1f3b4f05f..1a39ffa69 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/namespaces.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/namespaces.go @@ -14,9 +14,8 @@ package relay // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// NamespacesClient is the use these API to manage Azure Relay resources -// through Azure Resources Manager. +// NamespacesClient is the use these API to manage Azure Relay resources through Azure Resource Manager. type NamespacesClient struct { ManagementClient } @@ -36,15 +34,14 @@ func NewNamespacesClient(subscriptionID string) NamespacesClient { return NewNamespacesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewNamespacesClientWithBaseURI creates an instance of the NamespacesClient -// client. +// NewNamespacesClientWithBaseURI creates an instance of the NamespacesClient client. func NewNamespacesClientWithBaseURI(baseURI string, subscriptionID string) NamespacesClient { return NamespacesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CheckNameAvailabilityMethod check the give namespace name availability. +// CheckNameAvailabilityMethod check the specified namespace name availability. // -// parameters is parameters to check availability of the given namespace name +// parameters is parameters to check availability of the specified namespace name. func (client NamespacesClient) CheckNameAvailabilityMethod(parameters CheckNameAvailability) (result CheckNameAvailabilityResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -79,7 +76,7 @@ func (client NamespacesClient) CheckNameAvailabilityMethodPreparer(parameters Ch "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -88,7 +85,7 @@ func (client NamespacesClient) CheckNameAvailabilityMethodPreparer(parameters Ch autorest.AsJSON(), autorest.AsPost(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Relay/CheckNameAvailability", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Relay/checkNameAvailability", pathParameters), autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) @@ -113,14 +110,11 @@ func (client NamespacesClient) CheckNameAvailabilityMethodResponder(resp *http.R return } -// CreateOrUpdate create Azure Relay namespace. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// CreateOrUpdate create Azure Relay namespace. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name parameters is parameters -// supplied to create a Namespace Resource. +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// parameters is parameters supplied to create a namespace resource. func (client NamespacesClient) CreateOrUpdate(resourceGroupName string, namespaceName string, parameters Namespace, cancel <-chan struct{}) (<-chan Namespace, <-chan error) { resultChan := make(chan Namespace, 1) errChan := make(chan error, 1) @@ -133,9 +127,7 @@ func (client NamespacesClient) CreateOrUpdate(resourceGroupName string, namespac {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: parameters, Constraints: []validation.Constraint{{Target: "parameters.Sku", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.Sku.Name", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.Sku.Tier", Name: validation.Null, Rule: true, Chain: nil}, - }}}}}); err != nil { + Chain: []validation.Constraint{{Target: "parameters.Sku.Name", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { errChan <- validation.NewErrorWithValidationError(err, "relay.NamespacesClient", "CreateOrUpdate") close(errChan) close(resultChan) @@ -146,8 +138,10 @@ func (client NamespacesClient) CreateOrUpdate(resourceGroupName string, namespac var err error var result Namespace defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -180,7 +174,7 @@ func (client NamespacesClient) CreateOrUpdatePreparer(resourceGroupName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -209,19 +203,17 @@ func (client NamespacesClient) CreateOrUpdateResponder(resp *http.Response) (res err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// CreateOrUpdateAuthorizationRule creates or Updates an authorization rule for -// a namespace +// CreateOrUpdateAuthorizationRule creates or updates an authorization rule for a namespace. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name authorizationRuleName is -// the authorizationRule name. parameters is the authorization rule parameters +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// authorizationRuleName is the authorization rule name. parameters is the authorization rule parameters. func (client NamespacesClient) CreateOrUpdateAuthorizationRule(resourceGroupName string, namespaceName string, authorizationRuleName string, parameters AuthorizationRule) (result AuthorizationRule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -231,11 +223,10 @@ func (client NamespacesClient) CreateOrUpdateAuthorizationRule(resourceGroupName Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: parameters, Constraints: []validation.Constraint{{Target: "parameters.AuthorizationRuleProperties", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "parameters.AuthorizationRuleProperties.Rights", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.AuthorizationRuleProperties.Rights", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "parameters.AuthorizationRuleProperties.Rights", Name: validation.UniqueItems, Rule: true, Chain: nil}}}, }}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "relay.NamespacesClient", "CreateOrUpdateAuthorizationRule") @@ -271,7 +262,7 @@ func (client NamespacesClient) CreateOrUpdateAuthorizationRulePreparer(resourceG "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -280,7 +271,7 @@ func (client NamespacesClient) CreateOrUpdateAuthorizationRulePreparer(resourceG autorest.AsJSON(), autorest.AsPut(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}", pathParameters), autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) @@ -305,14 +296,11 @@ func (client NamespacesClient) CreateOrUpdateAuthorizationRuleResponder(resp *ht return } -// Delete deletes an existing namespace. This operation also removes all -// associated resources under the namespace. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete deletes an existing namespace. This operation also removes all associated resources under the namespace. This +// method may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be +// used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name func (client NamespacesClient) Delete(resourceGroupName string, namespaceName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -333,8 +321,10 @@ func (client NamespacesClient) Delete(resourceGroupName string, namespaceName st var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -367,7 +357,7 @@ func (client NamespacesClient) DeletePreparer(resourceGroupName string, namespac "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -400,11 +390,10 @@ func (client NamespacesClient) DeleteResponder(resp *http.Response) (result auto return } -// DeleteAuthorizationRule deletes a namespace authorization rule +// DeleteAuthorizationRule deletes a namespace authorization rule. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name authorizationRuleName is -// the authorizationRule name. +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// authorizationRuleName is the authorization rule name. func (client NamespacesClient) DeleteAuthorizationRule(resourceGroupName string, namespaceName string, authorizationRuleName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -414,8 +403,7 @@ func (client NamespacesClient) DeleteAuthorizationRule(resourceGroupName string, Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "relay.NamespacesClient", "DeleteAuthorizationRule") } @@ -449,7 +437,7 @@ func (client NamespacesClient) DeleteAuthorizationRulePreparer(resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -457,7 +445,7 @@ func (client NamespacesClient) DeleteAuthorizationRulePreparer(resourceGroupName preparer := autorest.CreatePreparer( autorest.AsDelete(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -482,8 +470,7 @@ func (client NamespacesClient) DeleteAuthorizationRuleResponder(resp *http.Respo // Get returns the description for the specified namespace. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name func (client NamespacesClient) Get(resourceGroupName string, namespaceName string) (result Namespace, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -524,7 +511,7 @@ func (client NamespacesClient) GetPreparer(resourceGroupName string, namespaceNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -558,9 +545,8 @@ func (client NamespacesClient) GetResponder(resp *http.Response) (result Namespa // GetAuthorizationRule authorization rule for a namespace by name. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name authorizationRuleName is -// the authorizationRule name. +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// authorizationRuleName is the authorization rule name. func (client NamespacesClient) GetAuthorizationRule(resourceGroupName string, namespaceName string, authorizationRuleName string) (result AuthorizationRule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -570,8 +556,7 @@ func (client NamespacesClient) GetAuthorizationRule(resourceGroupName string, na Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "relay.NamespacesClient", "GetAuthorizationRule") } @@ -605,7 +590,7 @@ func (client NamespacesClient) GetAuthorizationRulePreparer(resourceGroupName st "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -613,7 +598,7 @@ func (client NamespacesClient) GetAuthorizationRulePreparer(resourceGroupName st preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -637,8 +622,7 @@ func (client NamespacesClient) GetAuthorizationRuleResponder(resp *http.Response return } -// List lists all the available namespaces within the subscription irrespective -// of the resourceGroups. +// List lists all the available namespaces within the subscription regardless of the resourceGroups. func (client NamespacesClient) List() (result NamespaceListResult, err error) { req, err := client.ListPreparer() if err != nil { @@ -667,7 +651,7 @@ func (client NamespacesClient) ListPreparer() (*http.Request, error) { "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -675,7 +659,7 @@ func (client NamespacesClient) ListPreparer() (*http.Request, error) { preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Relay/Namespaces", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Relay/namespaces", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -723,10 +707,54 @@ func (client NamespacesClient) ListNextResults(lastResults NamespaceListResult) return } +// ListComplete gets all elements from the list without paging. +func (client NamespacesClient) ListComplete(cancel <-chan struct{}) (<-chan Namespace, <-chan error) { + resultChan := make(chan Namespace) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListAuthorizationRules authorization rules for a namespace. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name func (client NamespacesClient) ListAuthorizationRules(resourceGroupName string, namespaceName string) (result AuthorizationRuleListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -767,7 +795,7 @@ func (client NamespacesClient) ListAuthorizationRulesPreparer(resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -775,7 +803,7 @@ func (client NamespacesClient) ListAuthorizationRulesPreparer(resourceGroupName preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/AuthorizationRules", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -823,11 +851,54 @@ func (client NamespacesClient) ListAuthorizationRulesNextResults(lastResults Aut return } -// ListByResourceGroup lists all the available namespaces within the -// ResourceGroup. +// ListAuthorizationRulesComplete gets all elements from the list without paging. +func (client NamespacesClient) ListAuthorizationRulesComplete(resourceGroupName string, namespaceName string, cancel <-chan struct{}) (<-chan AuthorizationRule, <-chan error) { + resultChan := make(chan AuthorizationRule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAuthorizationRules(resourceGroupName, namespaceName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAuthorizationRulesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListByResourceGroup lists all the available namespaces within the ResourceGroup. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. +// resourceGroupName is name of the Resource group within the Azure subscription. func (client NamespacesClient) ListByResourceGroup(resourceGroupName string) (result NamespaceListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -864,7 +935,7 @@ func (client NamespacesClient) ListByResourceGroupPreparer(resourceGroupName str "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -872,7 +943,7 @@ func (client NamespacesClient) ListByResourceGroupPreparer(resourceGroupName str preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/Namespaces", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -920,12 +991,56 @@ func (client NamespacesClient) ListByResourceGroupNextResults(lastResults Namesp return } -// ListKeys primary and Secondary ConnectionStrings to the namespace +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client NamespacesClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan Namespace, <-chan error) { + resultChan := make(chan Namespace) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListKeys primary and secondary connection strings to the namespace. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name authorizationRuleName is -// the authorizationRule name. -func (client NamespacesClient) ListKeys(resourceGroupName string, namespaceName string, authorizationRuleName string) (result AuthorizationRuleKeys, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// authorizationRuleName is the authorization rule name. +func (client NamespacesClient) ListKeys(resourceGroupName string, namespaceName string, authorizationRuleName string) (result AccessKeys, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -934,8 +1049,7 @@ func (client NamespacesClient) ListKeys(resourceGroupName string, namespaceName Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "relay.NamespacesClient", "ListKeys") } @@ -969,7 +1083,7 @@ func (client NamespacesClient) ListKeysPreparer(resourceGroupName string, namesp "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -977,7 +1091,7 @@ func (client NamespacesClient) ListKeysPreparer(resourceGroupName string, namesp preparer := autorest.CreatePreparer( autorest.AsPost(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/listKeys", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -990,7 +1104,7 @@ func (client NamespacesClient) ListKeysSender(req *http.Request) (*http.Response // ListKeysResponder handles the response to the ListKeys request. The method always // closes the http.Response Body. -func (client NamespacesClient) ListKeysResponder(resp *http.Response) (result AuthorizationRuleKeys, err error) { +func (client NamespacesClient) ListKeysResponder(resp *http.Response) (result AccessKeys, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -1001,14 +1115,12 @@ func (client NamespacesClient) ListKeysResponder(resp *http.Response) (result Au return } -// RegenerateKeys regenerates the Primary or Secondary ConnectionStrings to the -// namespace +// RegenerateKeys regenerates the primary or secondary connection strings to the namespace. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name authorizationRuleName is -// the authorizationRule name. parameters is parameters supplied to regenerate -// Auth Rule. -func (client NamespacesClient) RegenerateKeys(resourceGroupName string, namespaceName string, authorizationRuleName string, parameters RegenerateKeysParameters) (result AuthorizationRuleKeys, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// authorizationRuleName is the authorization rule name. parameters is parameters supplied to regenerate authorization +// rule. +func (client NamespacesClient) RegenerateKeys(resourceGroupName string, namespaceName string, authorizationRuleName string, parameters RegenerateAccessKeyParameters) (result AccessKeys, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -1017,8 +1129,7 @@ func (client NamespacesClient) RegenerateKeys(resourceGroupName string, namespac Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "relay.NamespacesClient", "RegenerateKeys") } @@ -1044,7 +1155,7 @@ func (client NamespacesClient) RegenerateKeys(resourceGroupName string, namespac } // RegenerateKeysPreparer prepares the RegenerateKeys request. -func (client NamespacesClient) RegenerateKeysPreparer(resourceGroupName string, namespaceName string, authorizationRuleName string, parameters RegenerateKeysParameters) (*http.Request, error) { +func (client NamespacesClient) RegenerateKeysPreparer(resourceGroupName string, namespaceName string, authorizationRuleName string, parameters RegenerateAccessKeyParameters) (*http.Request, error) { pathParameters := map[string]interface{}{ "authorizationRuleName": autorest.Encode("path", authorizationRuleName), "namespaceName": autorest.Encode("path", namespaceName), @@ -1052,7 +1163,7 @@ func (client NamespacesClient) RegenerateKeysPreparer(resourceGroupName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1061,7 +1172,7 @@ func (client NamespacesClient) RegenerateKeysPreparer(resourceGroupName string, autorest.AsJSON(), autorest.AsPost(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/regenerateKeys", pathParameters), autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) @@ -1075,7 +1186,7 @@ func (client NamespacesClient) RegenerateKeysSender(req *http.Request) (*http.Re // RegenerateKeysResponder handles the response to the RegenerateKeys request. The method always // closes the http.Response Body. -func (client NamespacesClient) RegenerateKeysResponder(resp *http.Response) (result AuthorizationRuleKeys, err error) { +func (client NamespacesClient) RegenerateKeysResponder(resp *http.Response) (result AccessKeys, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -1086,13 +1197,12 @@ func (client NamespacesClient) RegenerateKeysResponder(resp *http.Response) (res return } -// Update creates or updates a namespace. Once created, this namespace's -// resource manifest is immutable. This operation is idempotent. +// Update creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This operation +// is idempotent. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name parameters is parameters -// for updating a namespace resource. -func (client NamespacesClient) Update(resourceGroupName string, namespaceName string, parameters NamespaceUpdateParameter) (result Namespace, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// parameters is parameters for updating a namespace resource. +func (client NamespacesClient) Update(resourceGroupName string, namespaceName string, parameters UpdateParameters) (result Namespace, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -1125,14 +1235,14 @@ func (client NamespacesClient) Update(resourceGroupName string, namespaceName st } // UpdatePreparer prepares the Update request. -func (client NamespacesClient) UpdatePreparer(resourceGroupName string, namespaceName string, parameters NamespaceUpdateParameter) (*http.Request, error) { +func (client NamespacesClient) UpdatePreparer(resourceGroupName string, namespaceName string, parameters UpdateParameters) (*http.Request, error) { pathParameters := map[string]interface{}{ "namespaceName": autorest.Encode("path", namespaceName), "resourceGroupName": autorest.Encode("path", resourceGroupName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1159,7 +1269,7 @@ func (client NamespacesClient) UpdateResponder(resp *http.Response) (result Name err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/operations.go index d1273efe2..c88fd4a97 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/operations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/operations.go @@ -14,9 +14,8 @@ package relay // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,8 +23,7 @@ import ( "net/http" ) -// OperationsClient is the use these API to manage Azure Relay resources -// through Azure Resources Manager. +// OperationsClient is the use these API to manage Azure Relay resources through Azure Resource Manager. type OperationsClient struct { ManagementClient } @@ -35,13 +33,12 @@ func NewOperationsClient(subscriptionID string) OperationsClient { return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewOperationsClientWithBaseURI creates an instance of the OperationsClient -// client. +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// List lists all of the available Relay REST API operations. +// List lists all available Relay REST API operations. func (client OperationsClient) List() (result OperationListResult, err error) { req, err := client.ListPreparer() if err != nil { @@ -66,7 +63,7 @@ func (client OperationsClient) List() (result OperationListResult, err error) { // ListPreparer prepares the List request. func (client OperationsClient) ListPreparer() (*http.Request, error) { - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -121,3 +118,48 @@ func (client OperationsClient) ListNextResults(lastResults OperationListResult) return } + +// ListComplete gets all elements from the list without paging. +func (client OperationsClient) ListComplete(cancel <-chan struct{}) (<-chan Operation, <-chan error) { + resultChan := make(chan Operation) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/version.go index c913811b3..cf4d1a58c 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/version.go @@ -14,16 +14,15 @@ package relay // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-relay/2016-07-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-relay/2017-04-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/wcfrelays.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/wcfrelays.go index eb1a57661..78177d514 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/wcfrelays.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/relay/wcfrelays.go @@ -14,9 +14,8 @@ package relay // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// WCFRelaysClient is the use these API to manage Azure Relay resources through -// Azure Resources Manager. +// WCFRelaysClient is the use these API to manage Azure Relay resources through Azure Resource Manager. type WCFRelaysClient struct { ManagementClient } @@ -36,17 +34,15 @@ func NewWCFRelaysClient(subscriptionID string) WCFRelaysClient { return NewWCFRelaysClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewWCFRelaysClientWithBaseURI creates an instance of the WCFRelaysClient -// client. +// NewWCFRelaysClientWithBaseURI creates an instance of the WCFRelaysClient client. func NewWCFRelaysClientWithBaseURI(baseURI string, subscriptionID string) WCFRelaysClient { return WCFRelaysClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or Updates a WCFRelay. This operation is idempotent. +// CreateOrUpdate creates or updates a WCF relay. This operation is idempotent. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name relayName is the relay -// name parameters is parameters supplied to create a WCFRelays. +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// relayName is the relay name. parameters is parameters supplied to create a WCF relay. func (client WCFRelaysClient) CreateOrUpdate(resourceGroupName string, namespaceName string, relayName string, parameters WcfRelay) (result WcfRelay, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -56,8 +52,14 @@ func (client WCFRelaysClient) CreateOrUpdate(resourceGroupName string, namespace Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: relayName, - Constraints: []validation.Constraint{{Target: "relayName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "relayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "relayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.WcfRelayProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.WcfRelayProperties.ListenerCount", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.WcfRelayProperties.ListenerCount", Name: validation.InclusiveMaximum, Rule: 25, Chain: nil}, + {Target: "parameters.WcfRelayProperties.ListenerCount", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}, + }}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "relay.WCFRelaysClient", "CreateOrUpdate") } @@ -91,7 +93,7 @@ func (client WCFRelaysClient) CreateOrUpdatePreparer(resourceGroupName string, n "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -100,7 +102,7 @@ func (client WCFRelaysClient) CreateOrUpdatePreparer(resourceGroupName string, n autorest.AsJSON(), autorest.AsPut(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/WcfRelays/{relayName}", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}", pathParameters), autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) @@ -125,13 +127,11 @@ func (client WCFRelaysClient) CreateOrUpdateResponder(resp *http.Response) (resu return } -// CreateOrUpdateAuthorizationRule creates or Updates an authorization rule for -// a WCFRelays +// CreateOrUpdateAuthorizationRule creates or updates an authorization rule for a WCF relay. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name relayName is the relay -// name authorizationRuleName is the authorizationRule name. parameters is the -// authorization rule parameters. +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// relayName is the relay name. authorizationRuleName is the authorization rule name. parameters is the authorization +// rule parameters. func (client WCFRelaysClient) CreateOrUpdateAuthorizationRule(resourceGroupName string, namespaceName string, relayName string, authorizationRuleName string, parameters AuthorizationRule) (result AuthorizationRule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -141,14 +141,12 @@ func (client WCFRelaysClient) CreateOrUpdateAuthorizationRule(resourceGroupName Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: relayName, - Constraints: []validation.Constraint{{Target: "relayName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "relayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "relayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: parameters, Constraints: []validation.Constraint{{Target: "parameters.AuthorizationRuleProperties", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "parameters.AuthorizationRuleProperties.Rights", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.AuthorizationRuleProperties.Rights", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "parameters.AuthorizationRuleProperties.Rights", Name: validation.UniqueItems, Rule: true, Chain: nil}}}, }}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "relay.WCFRelaysClient", "CreateOrUpdateAuthorizationRule") @@ -185,7 +183,7 @@ func (client WCFRelaysClient) CreateOrUpdateAuthorizationRulePreparer(resourceGr "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -194,7 +192,7 @@ func (client WCFRelaysClient) CreateOrUpdateAuthorizationRulePreparer(resourceGr autorest.AsJSON(), autorest.AsPut(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/WcfRelays/{relayName}/authorizationRules/{authorizationRuleName}", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}", pathParameters), autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) @@ -219,11 +217,10 @@ func (client WCFRelaysClient) CreateOrUpdateAuthorizationRuleResponder(resp *htt return } -// Delete deletes a WCFRelays . +// Delete deletes a WCF relay. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name relayName is the relay -// name +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// relayName is the relay name. func (client WCFRelaysClient) Delete(resourceGroupName string, namespaceName string, relayName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -233,8 +230,7 @@ func (client WCFRelaysClient) Delete(resourceGroupName string, namespaceName str Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: relayName, - Constraints: []validation.Constraint{{Target: "relayName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "relayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "relayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "relay.WCFRelaysClient", "Delete") } @@ -268,7 +264,7 @@ func (client WCFRelaysClient) DeletePreparer(resourceGroupName string, namespace "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -276,7 +272,7 @@ func (client WCFRelaysClient) DeletePreparer(resourceGroupName string, namespace preparer := autorest.CreatePreparer( autorest.AsDelete(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/WcfRelays/{relayName}", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -299,11 +295,10 @@ func (client WCFRelaysClient) DeleteResponder(resp *http.Response) (result autor return } -// DeleteAuthorizationRule deletes a WCFRelays authorization rule +// DeleteAuthorizationRule deletes a WCF relay authorization rule. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name relayName is the relay -// name authorizationRuleName is the authorizationRule name. +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// relayName is the relay name. authorizationRuleName is the authorization rule name. func (client WCFRelaysClient) DeleteAuthorizationRule(resourceGroupName string, namespaceName string, relayName string, authorizationRuleName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -313,11 +308,9 @@ func (client WCFRelaysClient) DeleteAuthorizationRule(resourceGroupName string, Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: relayName, - Constraints: []validation.Constraint{{Target: "relayName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "relayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "relayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "relay.WCFRelaysClient", "DeleteAuthorizationRule") } @@ -352,7 +345,7 @@ func (client WCFRelaysClient) DeleteAuthorizationRulePreparer(resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -360,7 +353,7 @@ func (client WCFRelaysClient) DeleteAuthorizationRulePreparer(resourceGroupName preparer := autorest.CreatePreparer( autorest.AsDelete(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/WcfRelays/{relayName}/authorizationRules/{authorizationRuleName}", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -383,11 +376,10 @@ func (client WCFRelaysClient) DeleteAuthorizationRuleResponder(resp *http.Respon return } -// Get returns the description for the specified WCFRelays. +// Get returns the description for the specified WCF relay. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name relayName is the relay -// name +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// relayName is the relay name. func (client WCFRelaysClient) Get(resourceGroupName string, namespaceName string, relayName string) (result WcfRelay, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -397,8 +389,7 @@ func (client WCFRelaysClient) Get(resourceGroupName string, namespaceName string Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: relayName, - Constraints: []validation.Constraint{{Target: "relayName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "relayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "relayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "relay.WCFRelaysClient", "Get") } @@ -432,7 +423,7 @@ func (client WCFRelaysClient) GetPreparer(resourceGroupName string, namespaceNam "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -440,7 +431,7 @@ func (client WCFRelaysClient) GetPreparer(resourceGroupName string, namespaceNam preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/WcfRelays/{relayName}", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -464,11 +455,10 @@ func (client WCFRelaysClient) GetResponder(resp *http.Response) (result WcfRelay return } -// GetAuthorizationRule get authorizationRule for a WCFRelays by name. +// GetAuthorizationRule get authorizationRule for a WCF relay by name. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name relayName is the relay -// name authorizationRuleName is the authorizationRule name. +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// relayName is the relay name. authorizationRuleName is the authorization rule name. func (client WCFRelaysClient) GetAuthorizationRule(resourceGroupName string, namespaceName string, relayName string, authorizationRuleName string) (result AuthorizationRule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -478,11 +468,9 @@ func (client WCFRelaysClient) GetAuthorizationRule(resourceGroupName string, nam Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: relayName, - Constraints: []validation.Constraint{{Target: "relayName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "relayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "relayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "relay.WCFRelaysClient", "GetAuthorizationRule") } @@ -517,7 +505,7 @@ func (client WCFRelaysClient) GetAuthorizationRulePreparer(resourceGroupName str "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -525,7 +513,7 @@ func (client WCFRelaysClient) GetAuthorizationRulePreparer(resourceGroupName str preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/WcfRelays/{relayName}/authorizationRules/{authorizationRuleName}", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -549,11 +537,10 @@ func (client WCFRelaysClient) GetAuthorizationRuleResponder(resp *http.Response) return } -// ListAuthorizationRules authorization rules for a WCFRelays. +// ListAuthorizationRules authorization rules for a WCF relay. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name relayName is the relay -// name +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// relayName is the relay name. func (client WCFRelaysClient) ListAuthorizationRules(resourceGroupName string, namespaceName string, relayName string) (result AuthorizationRuleListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -563,8 +550,7 @@ func (client WCFRelaysClient) ListAuthorizationRules(resourceGroupName string, n Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: relayName, - Constraints: []validation.Constraint{{Target: "relayName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "relayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "relayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "relay.WCFRelaysClient", "ListAuthorizationRules") } @@ -598,7 +584,7 @@ func (client WCFRelaysClient) ListAuthorizationRulesPreparer(resourceGroupName s "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -606,7 +592,7 @@ func (client WCFRelaysClient) ListAuthorizationRulesPreparer(resourceGroupName s preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/WcfRelays/{relayName}/authorizationRules", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -654,10 +640,54 @@ func (client WCFRelaysClient) ListAuthorizationRulesNextResults(lastResults Auth return } -// ListByNamespace lists the WCFRelays within the namespace. +// ListAuthorizationRulesComplete gets all elements from the list without paging. +func (client WCFRelaysClient) ListAuthorizationRulesComplete(resourceGroupName string, namespaceName string, relayName string, cancel <-chan struct{}) (<-chan AuthorizationRule, <-chan error) { + resultChan := make(chan AuthorizationRule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAuthorizationRules(resourceGroupName, namespaceName, relayName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAuthorizationRulesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListByNamespace lists the WCF relays within the namespace. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name func (client WCFRelaysClient) ListByNamespace(resourceGroupName string, namespaceName string) (result WcfRelaysListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -698,7 +728,7 @@ func (client WCFRelaysClient) ListByNamespacePreparer(resourceGroupName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -706,7 +736,7 @@ func (client WCFRelaysClient) ListByNamespacePreparer(resourceGroupName string, preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/WcfRelays", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -754,12 +784,56 @@ func (client WCFRelaysClient) ListByNamespaceNextResults(lastResults WcfRelaysLi return } -// ListKeys primary and Secondary ConnectionStrings to the WCFRelays. +// ListByNamespaceComplete gets all elements from the list without paging. +func (client WCFRelaysClient) ListByNamespaceComplete(resourceGroupName string, namespaceName string, cancel <-chan struct{}) (<-chan WcfRelay, <-chan error) { + resultChan := make(chan WcfRelay) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByNamespace(resourceGroupName, namespaceName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByNamespaceNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListKeys primary and secondary connection strings to the WCF relay. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name relayName is the relay -// name authorizationRuleName is the authorizationRule name. -func (client WCFRelaysClient) ListKeys(resourceGroupName string, namespaceName string, relayName string, authorizationRuleName string) (result AuthorizationRuleKeys, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// relayName is the relay name. authorizationRuleName is the authorization rule name. +func (client WCFRelaysClient) ListKeys(resourceGroupName string, namespaceName string, relayName string, authorizationRuleName string) (result AccessKeys, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -768,11 +842,9 @@ func (client WCFRelaysClient) ListKeys(resourceGroupName string, namespaceName s Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: relayName, - Constraints: []validation.Constraint{{Target: "relayName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "relayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "relayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "relay.WCFRelaysClient", "ListKeys") } @@ -807,7 +879,7 @@ func (client WCFRelaysClient) ListKeysPreparer(resourceGroupName string, namespa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -815,7 +887,7 @@ func (client WCFRelaysClient) ListKeysPreparer(resourceGroupName string, namespa preparer := autorest.CreatePreparer( autorest.AsPost(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/WcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/ListKeys", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/listKeys", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -828,7 +900,7 @@ func (client WCFRelaysClient) ListKeysSender(req *http.Request) (*http.Response, // ListKeysResponder handles the response to the ListKeys request. The method always // closes the http.Response Body. -func (client WCFRelaysClient) ListKeysResponder(resp *http.Response) (result AuthorizationRuleKeys, err error) { +func (client WCFRelaysClient) ListKeysResponder(resp *http.Response) (result AccessKeys, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -839,14 +911,12 @@ func (client WCFRelaysClient) ListKeysResponder(resp *http.Response) (result Aut return } -// RegenerateKeys regenerates the Primary or Secondary ConnectionStrings to the -// WCFRelays +// RegenerateKeys regenerates the primary or secondary connection strings to the WCF relay. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the Namespace Name relayName is the relay -// name authorizationRuleName is the authorizationRule name. parameters is -// parameters supplied to regenerate Auth Rule. -func (client WCFRelaysClient) RegenerateKeys(resourceGroupName string, namespaceName string, relayName string, authorizationRuleName string, parameters RegenerateKeysParameters) (result AuthorizationRuleKeys, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// relayName is the relay name. authorizationRuleName is the authorization rule name. parameters is parameters supplied +// to regenerate authorization rule. +func (client WCFRelaysClient) RegenerateKeys(resourceGroupName string, namespaceName string, relayName string, authorizationRuleName string, parameters RegenerateAccessKeyParameters) (result AccessKeys, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -855,11 +925,9 @@ func (client WCFRelaysClient) RegenerateKeys(resourceGroupName string, namespace Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: relayName, - Constraints: []validation.Constraint{{Target: "relayName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "relayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "relayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "relay.WCFRelaysClient", "RegenerateKeys") } @@ -885,7 +953,7 @@ func (client WCFRelaysClient) RegenerateKeys(resourceGroupName string, namespace } // RegenerateKeysPreparer prepares the RegenerateKeys request. -func (client WCFRelaysClient) RegenerateKeysPreparer(resourceGroupName string, namespaceName string, relayName string, authorizationRuleName string, parameters RegenerateKeysParameters) (*http.Request, error) { +func (client WCFRelaysClient) RegenerateKeysPreparer(resourceGroupName string, namespaceName string, relayName string, authorizationRuleName string, parameters RegenerateAccessKeyParameters) (*http.Request, error) { pathParameters := map[string]interface{}{ "authorizationRuleName": autorest.Encode("path", authorizationRuleName), "namespaceName": autorest.Encode("path", namespaceName), @@ -894,7 +962,7 @@ func (client WCFRelaysClient) RegenerateKeysPreparer(resourceGroupName string, n "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-07-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -903,7 +971,7 @@ func (client WCFRelaysClient) RegenerateKeysPreparer(resourceGroupName string, n autorest.AsJSON(), autorest.AsPost(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/WcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/regenerateKeys", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/regenerateKeys", pathParameters), autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) @@ -917,7 +985,7 @@ func (client WCFRelaysClient) RegenerateKeysSender(req *http.Request) (*http.Res // RegenerateKeysResponder handles the response to the RegenerateKeys request. The method always // closes the http.Response Body. -func (client WCFRelaysClient) RegenerateKeysResponder(resp *http.Response) (result AuthorizationRuleKeys, err error) { +func (client WCFRelaysClient) RegenerateKeysResponder(resp *http.Response) (result AccessKeys, err error) { err = autorest.Respond( resp, client.ByInspecting(), diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resourcehealth/availabilitystatuses.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resourcehealth/availabilitystatuses.go index b8c8b7e01..d34b065b1 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resourcehealth/availabilitystatuses.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resourcehealth/availabilitystatuses.go @@ -14,9 +14,8 @@ package resourcehealth // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -29,31 +28,26 @@ type AvailabilityStatusesClient struct { ManagementClient } -// NewAvailabilityStatusesClient creates an instance of the -// AvailabilityStatusesClient client. +// NewAvailabilityStatusesClient creates an instance of the AvailabilityStatusesClient client. func NewAvailabilityStatusesClient(subscriptionID string, resourceType string) AvailabilityStatusesClient { return NewAvailabilityStatusesClientWithBaseURI(DefaultBaseURI, subscriptionID, resourceType) } -// NewAvailabilityStatusesClientWithBaseURI creates an instance of the -// AvailabilityStatusesClient client. +// NewAvailabilityStatusesClientWithBaseURI creates an instance of the AvailabilityStatusesClient client. func NewAvailabilityStatusesClientWithBaseURI(baseURI string, subscriptionID string, resourceType string) AvailabilityStatusesClient { return AvailabilityStatusesClient{NewWithBaseURI(baseURI, subscriptionID, resourceType)} } // GetByResource gets current availability status for a single resource // -// resourceURI is the fully qualified ID of the resource, including the -// resource name and resource type. Currently the API support not nested and -// one nesting level resource types : +// resourceURI is the fully qualified ID of the resource, including the resource name and resource type. Currently the +// API support not nested and one nesting level resource types : // /subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/{resource-provider-name}/{resource-type}/{resource-name} // and // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resource-provider-name}/{parentResourceType}/{parentResourceName}/{resourceType}/{resourceName} -// filter is the filter to apply on the operation. For more information please -// see -// https://docs.microsoft.com/en-us/rest/api/apimanagement/apis?redirectedfrom=MSDN -// expand is setting $expand=recommendedactions in url query expands the -// recommendedactions in the response. +// filter is the filter to apply on the operation. For more information please see +// https://docs.microsoft.com/en-us/rest/api/apimanagement/apis?redirectedfrom=MSDN expand is setting +// $expand=recommendedactions in url query expands the recommendedactions in the response. func (client AvailabilityStatusesClient) GetByResource(resourceURI string, filter string, expand string) (result AvailabilityStatus, err error) { req, err := client.GetByResourcePreparer(resourceURI, filter, expand) if err != nil { @@ -82,7 +76,7 @@ func (client AvailabilityStatusesClient) GetByResourcePreparer(resourceURI strin "resourceUri": resourceURI, } - const APIVersion = "2015-01-01" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -120,21 +114,17 @@ func (client AvailabilityStatusesClient) GetByResourceResponder(resp *http.Respo return } -// List lists the historical availability statuses for a single resource. Use -// the nextLink property in the response to get the next page of availability -// status +// List lists all historical availability transitions and impacting events for a single resource. Use the nextLink +// property in the response to get the next page of availability status // -// resourceURI is the fully qualified ID of the resource, including the -// resource name and resource type. Currently the API support not nested and -// one nesting level resource types : +// resourceURI is the fully qualified ID of the resource, including the resource name and resource type. Currently the +// API support not nested and one nesting level resource types : // /subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/{resource-provider-name}/{resource-type}/{resource-name} // and // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resource-provider-name}/{parentResourceType}/{parentResourceName}/{resourceType}/{resourceName} -// filter is the filter to apply on the operation. For more information please -// see -// https://docs.microsoft.com/en-us/rest/api/apimanagement/apis?redirectedfrom=MSDN -// expand is setting $expand=recommendedactions in url query expands the -// recommendedactions in the response. +// filter is the filter to apply on the operation. For more information please see +// https://docs.microsoft.com/en-us/rest/api/apimanagement/apis?redirectedfrom=MSDN expand is setting +// $expand=recommendedactions in url query expands the recommendedactions in the response. func (client AvailabilityStatusesClient) List(resourceURI string, filter string, expand string) (result AvailabilityStatusListResult, err error) { req, err := client.ListPreparer(resourceURI, filter, expand) if err != nil { @@ -163,7 +153,7 @@ func (client AvailabilityStatusesClient) ListPreparer(resourceURI string, filter "resourceUri": resourceURI, } - const APIVersion = "2015-01-01" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -225,15 +215,57 @@ func (client AvailabilityStatusesClient) ListNextResults(lastResults Availabilit return } -// ListByResourceGroup lists the current availability status for all the -// resources in the resource group. Use the nextLink property in the response -// to get the next page of availability statuses. +// ListComplete gets all elements from the list without paging. +func (client AvailabilityStatusesClient) ListComplete(resourceURI string, filter string, expand string, cancel <-chan struct{}) (<-chan AvailabilityStatus, <-chan error) { + resultChan := make(chan AvailabilityStatus) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceURI, filter, expand) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListByResourceGroup lists the current availability status for all the resources in the resource group. Use the +// nextLink property in the response to get the next page of availability statuses. // -// resourceGroupName is the name of the resource group. filter is the filter to -// apply on the operation. For more information please see -// https://docs.microsoft.com/en-us/rest/api/apimanagement/apis?redirectedfrom=MSDN -// expand is setting $expand=recommendedactions in url query expands the -// recommendedactions in the response. +// resourceGroupName is the name of the resource group. filter is the filter to apply on the operation. For more +// information please see https://docs.microsoft.com/en-us/rest/api/apimanagement/apis?redirectedfrom=MSDN expand is +// setting $expand=recommendedactions in url query expands the recommendedactions in the response. func (client AvailabilityStatusesClient) ListByResourceGroup(resourceGroupName string, filter string, expand string) (result AvailabilityStatusListResult, err error) { req, err := client.ListByResourceGroupPreparer(resourceGroupName, filter, expand) if err != nil { @@ -263,7 +295,7 @@ func (client AvailabilityStatusesClient) ListByResourceGroupPreparer(resourceGro "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-01-01" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -325,15 +357,57 @@ func (client AvailabilityStatusesClient) ListByResourceGroupNextResults(lastResu return } -// ListBySubscriptionID lists the current availability status for all the -// resources in the subscription. Use the nextLink property in the response to -// get the next page of availability statuses. +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client AvailabilityStatusesClient) ListByResourceGroupComplete(resourceGroupName string, filter string, expand string, cancel <-chan struct{}) (<-chan AvailabilityStatus, <-chan error) { + resultChan := make(chan AvailabilityStatus) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName, filter, expand) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListBySubscriptionID lists the current availability status for all the resources in the subscription. Use the +// nextLink property in the response to get the next page of availability statuses. // -// filter is the filter to apply on the operation. For more information please -// see -// https://docs.microsoft.com/en-us/rest/api/apimanagement/apis?redirectedfrom=MSDN -// expand is setting $expand=recommendedactions in url query expands the -// recommendedactions in the response. +// filter is the filter to apply on the operation. For more information please see +// https://docs.microsoft.com/en-us/rest/api/apimanagement/apis?redirectedfrom=MSDN expand is setting +// $expand=recommendedactions in url query expands the recommendedactions in the response. func (client AvailabilityStatusesClient) ListBySubscriptionID(filter string, expand string) (result AvailabilityStatusListResult, err error) { req, err := client.ListBySubscriptionIDPreparer(filter, expand) if err != nil { @@ -362,7 +436,7 @@ func (client AvailabilityStatusesClient) ListBySubscriptionIDPreparer(filter str "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-01-01" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -423,3 +497,48 @@ func (client AvailabilityStatusesClient) ListBySubscriptionIDNextResults(lastRes return } + +// ListBySubscriptionIDComplete gets all elements from the list without paging. +func (client AvailabilityStatusesClient) ListBySubscriptionIDComplete(filter string, expand string, cancel <-chan struct{}) (<-chan AvailabilityStatus, <-chan error) { + resultChan := make(chan AvailabilityStatus) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListBySubscriptionID(filter, expand) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListBySubscriptionIDNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resourcehealth/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resourcehealth/client.go index a5a18afe8..8062561cc 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resourcehealth/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resourcehealth/client.go @@ -1,5 +1,4 @@ -// Package resourcehealth implements the Azure ARM Resourcehealth service API -// version 2015-01-01. +// Package resourcehealth implements the Azure ARM Resourcehealth service API version 2017-07-01. // // The Resource Health Client. package resourcehealth @@ -18,9 +17,8 @@ package resourcehealth // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resourcehealth/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resourcehealth/models.go index 25183369c..1cabcf38f 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resourcehealth/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resourcehealth/models.go @@ -14,9 +14,8 @@ package resourcehealth // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -31,8 +30,7 @@ type AvailabilityStateValues string const ( // Available specifies the available state for availability state values. Available AvailabilityStateValues = "Available" - // Unavailable specifies the unavailable state for availability state - // values. + // Unavailable specifies the unavailable state for availability state values. Unavailable AvailabilityStateValues = "Unavailable" // Unknown specifies the unknown state for availability state values. Unknown AvailabilityStateValues = "Unknown" @@ -65,6 +63,10 @@ type AvailabilityStatusProperties struct { DetailedStatus *string `json:"detailedStatus,omitempty"` ReasonType *string `json:"reasonType,omitempty"` RootCauseAttributionTime *date.Time `json:"rootCauseAttributionTime,omitempty"` + HealthEventType *string `json:"healthEventType,omitempty"` + HealthEventCause *string `json:"healthEventCause,omitempty"` + HealthEventCategory *string `json:"healthEventCategory,omitempty"` + HealthEventID *string `json:"healthEventId,omitempty"` ResolutionETA *date.Time `json:"resolutionETA,omitempty"` OccuredTime *date.Time `json:"occuredTime,omitempty"` ReasonChronicity ReasonChronicityTypes `json:"reasonChronicity,omitempty"` @@ -74,17 +76,15 @@ type AvailabilityStatusProperties struct { ServiceImpactingEvents *[]ServiceImpactingEvent `json:"serviceImpactingEvents,omitempty"` } -// AvailabilityStatusPropertiesRecentlyResolvedState is an annotation -// describing a change in the availabilityState to Available from Unavailable -// with a reasonType of type Unplanned +// AvailabilityStatusPropertiesRecentlyResolvedState is an annotation describing a change in the availabilityState to +// Available from Unavailable with a reasonType of type Unplanned type AvailabilityStatusPropertiesRecentlyResolvedState struct { UnavailableOccurredTime *date.Time `json:"unavailableOccurredTime,omitempty"` ResolvedTime *date.Time `json:"resolvedTime,omitempty"` UnavailabilitySummary *string `json:"unavailabilitySummary,omitempty"` } -// AvailabilityStatusListResult is the List availabilityStatus operation -// response. +// AvailabilityStatusListResult is the List availabilityStatus operation response. type AvailabilityStatusListResult struct { autorest.Response `json:"-"` Value *[]AvailabilityStatus `json:"value,omitempty"` @@ -130,16 +130,14 @@ type OperationListResult struct { Value *[]Operation `json:"value,omitempty"` } -// RecommendedAction is lists actions the user can take based on the current -// availabilityState of the resource. +// RecommendedAction is lists actions the user can take based on the current availabilityState of the resource. type RecommendedAction struct { Action *string `json:"action,omitempty"` ActionURL *string `json:"actionUrl,omitempty"` ActionURLText *string `json:"actionUrlText,omitempty"` } -// ServiceImpactingEvent is lists the service impacting events that may be -// affecting the health of the resource. +// ServiceImpactingEvent is lists the service impacting events that may be affecting the health of the resource. type ServiceImpactingEvent struct { EventStartTime *date.Time `json:"eventStartTime,omitempty"` EventStatusLastModifiedTime *date.Time `json:"eventStatusLastModifiedTime,omitempty"` @@ -148,8 +146,7 @@ type ServiceImpactingEvent struct { IncidentProperties *ServiceImpactingEventIncidentProperties `json:"incidentProperties,omitempty"` } -// ServiceImpactingEventIncidentProperties is properties of the service -// impacting event. +// ServiceImpactingEventIncidentProperties is properties of the service impacting event. type ServiceImpactingEventIncidentProperties struct { Title *string `json:"title,omitempty"` Service *string `json:"service,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resourcehealth/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resourcehealth/operations.go index e103cf0fa..52c7d4f8b 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resourcehealth/operations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resourcehealth/operations.go @@ -14,9 +14,8 @@ package resourcehealth // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -34,8 +33,7 @@ func NewOperationsClient(subscriptionID string, resourceType string) OperationsC return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID, resourceType) } -// NewOperationsClientWithBaseURI creates an instance of the OperationsClient -// client. +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string, resourceType string) OperationsClient { return OperationsClient{NewWithBaseURI(baseURI, subscriptionID, resourceType)} } @@ -65,7 +63,7 @@ func (client OperationsClient) List() (result OperationListResult, err error) { // ListPreparer prepares the List request. func (client OperationsClient) ListPreparer() (*http.Request, error) { - const APIVersion = "2015-01-01" + const APIVersion = "2017-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resourcehealth/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resourcehealth/version.go index 9e41cbb5d..91d9a212b 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resourcehealth/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resourcehealth/version.go @@ -14,16 +14,15 @@ package resourcehealth // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-resourcehealth/2015-01-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-resourcehealth/2017-07-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/features/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/features/client.go index 87d1267c3..3a357355e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/features/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/features/client.go @@ -1,11 +1,9 @@ -// Package features implements the Azure ARM Features service API version -// 2015-12-01. +// Package features implements the Azure ARM Features service API version 2015-12-01. // -// Azure Feature Exposure Control (AFEC) provides a mechanism for the resource -// providers to control feature exposure to users. Resource providers typically -// use this mechanism to provide public/private preview for new features prior -// to making them generally available. Users need to explicitly register for -// AFEC features to get access to such functionality. +// Azure Feature Exposure Control (AFEC) provides a mechanism for the resource providers to control feature exposure to +// users. Resource providers typically use this mechanism to provide public/private preview for new features prior to +// making them generally available. Users need to explicitly register for AFEC features to get access to such +// functionality. package features // Copyright (c) Microsoft and contributors. All rights reserved. @@ -22,9 +20,8 @@ package features // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/features/featuresgroup.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/features/group.go old mode 100755 new mode 100644 similarity index 82% rename from vendor/github.com/Azure/azure-sdk-for-go/arm/resources/features/featuresgroup.go rename to vendor/github.com/Azure/azure-sdk-for-go/arm/resources/features/group.go index 8a12ca237..4beb5f48c --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/features/featuresgroup.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/features/group.go @@ -14,9 +14,8 @@ package features // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,12 +23,10 @@ import ( "net/http" ) -// GroupClient is the azure Feature Exposure Control (AFEC) provides a -// mechanism for the resource providers to control feature exposure to users. -// Resource providers typically use this mechanism to provide public/private -// preview for new features prior to making them generally available. Users -// need to explicitly register for AFEC features to get access to such -// functionality. +// GroupClient is the azure Feature Exposure Control (AFEC) provides a mechanism for the resource providers to control +// feature exposure to users. Resource providers typically use this mechanism to provide public/private preview for new +// features prior to making them generally available. Users need to explicitly register for AFEC features to get access +// to such functionality. type GroupClient struct { ManagementClient } @@ -46,8 +43,8 @@ func NewGroupClientWithBaseURI(baseURI string, subscriptionID string) GroupClien // Get gets the preview feature with the specified name. // -// resourceProviderNamespace is the resource provider namespace for the -// feature. featureName is the name of the feature to get. +// resourceProviderNamespace is the resource provider namespace for the feature. featureName is the name of the feature +// to get. func (client GroupClient) Get(resourceProviderNamespace string, featureName string) (result Result, err error) { req, err := client.GetPreparer(resourceProviderNamespace, featureName) if err != nil { @@ -110,11 +107,9 @@ func (client GroupClient) GetResponder(resp *http.Response) (result Result, err return } -// List gets all the preview features in a provider namespace that are -// available through AFEC for the subscription. +// List gets all the preview features in a provider namespace that are available through AFEC for the subscription. // -// resourceProviderNamespace is the namespace of the resource provider for -// getting features. +// resourceProviderNamespace is the namespace of the resource provider for getting features. func (client GroupClient) List(resourceProviderNamespace string) (result OperationsListResult, err error) { req, err := client.ListPreparer(resourceProviderNamespace) if err != nil { @@ -200,8 +195,52 @@ func (client GroupClient) ListNextResults(lastResults OperationsListResult) (res return } -// ListAll gets all the preview features that are available through AFEC for -// the subscription. +// ListComplete gets all elements from the list without paging. +func (client GroupClient) ListComplete(resourceProviderNamespace string, cancel <-chan struct{}) (<-chan Result, <-chan error) { + resultChan := make(chan Result) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceProviderNamespace) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListAll gets all the preview features that are available through AFEC for the subscription. func (client GroupClient) ListAll() (result OperationsListResult, err error) { req, err := client.ListAllPreparer() if err != nil { @@ -286,10 +325,55 @@ func (client GroupClient) ListAllNextResults(lastResults OperationsListResult) ( return } +// ListAllComplete gets all elements from the list without paging. +func (client GroupClient) ListAllComplete(cancel <-chan struct{}) (<-chan Result, <-chan error) { + resultChan := make(chan Result) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAll() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAllNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Register registers the preview feature for the subscription. // -// resourceProviderNamespace is the namespace of the resource provider. -// featureName is the name of the feature to register. +// resourceProviderNamespace is the namespace of the resource provider. featureName is the name of the feature to +// register. func (client GroupClient) Register(resourceProviderNamespace string, featureName string) (result Result, err error) { req, err := client.RegisterPreparer(resourceProviderNamespace, featureName) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/features/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/features/models.go index 18f4f5671..a93dffe19 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/features/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/features/models.go @@ -14,9 +14,8 @@ package features // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/features/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/features/version.go index 921d5f8d4..30cefd422 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/features/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/features/version.go @@ -14,16 +14,15 @@ package features // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-features/2015-12-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-features/2015-12-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/links/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/links/client.go index 7810b5bae..e6c4bf4e1 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/links/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/links/client.go @@ -1,11 +1,9 @@ // Package links implements the Azure ARM Links service API version 2016-09-01. // -// Azure resources can be linked together to form logical relationships. You -// can establish links between resources belonging to different resource -// groups. However, all the linked resources must belong to the same -// subscription. Each resource can be linked to 50 other resources. If any of -// the linked resources are deleted or moved, the link owner must clean up the -// remaining link. +// Azure resources can be linked together to form logical relationships. You can establish links between resources +// belonging to different resource groups. However, all the linked resources must belong to the same subscription. Each +// resource can be linked to 50 other resources. If any of the linked resources are deleted or moved, the link owner +// must clean up the remaining link. package links // Copyright (c) Microsoft and contributors. All rights reserved. @@ -22,9 +20,8 @@ package links // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/links/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/links/models.go index 2da9fd32e..a3685b14f 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/links/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/links/models.go @@ -14,9 +14,8 @@ package links // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/links/resourcelinks.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/links/resourcelinks.go index 0e2e9359d..cfb2991b2 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/links/resourcelinks.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/links/resourcelinks.go @@ -14,9 +14,8 @@ package links // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,30 +24,25 @@ import ( "net/http" ) -// ResourceLinksClient is the azure resources can be linked together to form -// logical relationships. You can establish links between resources belonging -// to different resource groups. However, all the linked resources must belong -// to the same subscription. Each resource can be linked to 50 other resources. -// If any of the linked resources are deleted or moved, the link owner must -// clean up the remaining link. +// ResourceLinksClient is the azure resources can be linked together to form logical relationships. You can establish +// links between resources belonging to different resource groups. However, all the linked resources must belong to the +// same subscription. Each resource can be linked to 50 other resources. If any of the linked resources are deleted or +// moved, the link owner must clean up the remaining link. type ResourceLinksClient struct { ManagementClient } -// NewResourceLinksClient creates an instance of the ResourceLinksClient -// client. +// NewResourceLinksClient creates an instance of the ResourceLinksClient client. func NewResourceLinksClient(subscriptionID string) ResourceLinksClient { return NewResourceLinksClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewResourceLinksClientWithBaseURI creates an instance of the -// ResourceLinksClient client. +// NewResourceLinksClientWithBaseURI creates an instance of the ResourceLinksClient client. func NewResourceLinksClientWithBaseURI(baseURI string, subscriptionID string) ResourceLinksClient { return ResourceLinksClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates a resource link between the specified -// resources. +// CreateOrUpdate creates or updates a resource link between the specified resources. // // linkID is the fully qualified ID of the resource link. Use the format, // /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/{provider-namespace}/{resource-type}/{resource-name}/Microsoft.Resources/links/{link-name}. @@ -253,15 +247,12 @@ func (client ResourceLinksClient) GetResponder(resp *http.Response) (result Reso return } -// ListAtSourceScope gets a list of resource links at and below the specified -// source scope. +// ListAtSourceScope gets a list of resource links at and below the specified source scope. // -// scope is the fully qualified ID of the scope for getting the resource links. -// For example, to list resource links at and under a resource group, set the -// scope to -// /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup. -// filter is the filter to apply when getting resource links. To get links only -// at the specified scope (not below the scope), use Filter.atScope(). +// scope is the fully qualified ID of the scope for getting the resource links. For example, to list resource links at +// and under a resource group, set the scope to +// /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup. filter is the filter to apply when +// getting resource links. To get links only at the specified scope (not below the scope), use Filter.atScope(). func (client ResourceLinksClient) ListAtSourceScope(scope string, filter Filter) (result ResourceLinkResult, err error) { req, err := client.ListAtSourceScopePreparer(scope, filter) if err != nil { @@ -349,11 +340,55 @@ func (client ResourceLinksClient) ListAtSourceScopeNextResults(lastResults Resou return } +// ListAtSourceScopeComplete gets all elements from the list without paging. +func (client ResourceLinksClient) ListAtSourceScopeComplete(scope string, filter Filter, cancel <-chan struct{}) (<-chan ResourceLink, <-chan error) { + resultChan := make(chan ResourceLink) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAtSourceScope(scope, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAtSourceScopeNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListAtSubscription gets all the linked resources for the subscription. // -// filter is the filter to apply on the list resource links operation. The -// supported filter for list resource links is targetid. For example, -// $filter=targetid eq {value} +// filter is the filter to apply on the list resource links operation. The supported filter for list resource links is +// targetid. For example, $filter=targetid eq {value} func (client ResourceLinksClient) ListAtSubscription(filter string) (result ResourceLinkResult, err error) { req, err := client.ListAtSubscriptionPreparer(filter) if err != nil { @@ -440,3 +475,48 @@ func (client ResourceLinksClient) ListAtSubscriptionNextResults(lastResults Reso return } + +// ListAtSubscriptionComplete gets all elements from the list without paging. +func (client ResourceLinksClient) ListAtSubscriptionComplete(filter string, cancel <-chan struct{}) (<-chan ResourceLink, <-chan error) { + resultChan := make(chan ResourceLink) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAtSubscription(filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAtSubscriptionNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/links/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/links/version.go index d46fa0733..32e65b426 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/links/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/links/version.go @@ -14,16 +14,15 @@ package links // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-links/2016-09-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-links/2016-09-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/locks/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/locks/client.go index fdcf88219..0b70ea01f 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/locks/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/locks/client.go @@ -1,7 +1,6 @@ // Package locks implements the Azure ARM Locks service API version 2016-09-01. // -// Azure resources can be locked to prevent other users in your organization -// from deleting or modifying resources. +// Azure resources can be locked to prevent other users in your organization from deleting or modifying resources. package locks // Copyright (c) Microsoft and contributors. All rights reserved. @@ -18,9 +17,8 @@ package locks // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/locks/managementlocks.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/locks/managementlocks.go index 5fef907fa..6f4699dc5 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/locks/managementlocks.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/locks/managementlocks.go @@ -14,9 +14,8 @@ package locks // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,33 +24,29 @@ import ( "net/http" ) -// ManagementLocksClient is the azure resources can be locked to prevent other -// users in your organization from deleting or modifying resources. +// ManagementLocksClient is the azure resources can be locked to prevent other users in your organization from deleting +// or modifying resources. type ManagementLocksClient struct { ManagementClient } -// NewManagementLocksClient creates an instance of the ManagementLocksClient -// client. +// NewManagementLocksClient creates an instance of the ManagementLocksClient client. func NewManagementLocksClient(subscriptionID string) ManagementLocksClient { return NewManagementLocksClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewManagementLocksClientWithBaseURI creates an instance of the -// ManagementLocksClient client. +// NewManagementLocksClientWithBaseURI creates an instance of the ManagementLocksClient client. func NewManagementLocksClientWithBaseURI(baseURI string, subscriptionID string) ManagementLocksClient { return ManagementLocksClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdateAtResourceGroupLevel when you apply a lock at a parent scope, -// all child resources inherit the same lock. To create management locks, you -// must have access to Microsoft.Authorization/* or -// Microsoft.Authorization/locks/* actions. Of the built-in roles, only Owner -// and User Access Administrator are granted those actions. +// CreateOrUpdateAtResourceGroupLevel when you apply a lock at a parent scope, all child resources inherit the same +// lock. To create management locks, you must have access to Microsoft.Authorization/* or +// Microsoft.Authorization/locks/* actions. Of the built-in roles, only Owner and User Access Administrator are granted +// those actions. // -// resourceGroupName is the name of the resource group to lock. lockName is the -// lock name. The lock name can be a maximum of 260 characters. It cannot -// contain <, > %, &, :, \, ?, /, or any control characters. parameters is the +// resourceGroupName is the name of the resource group to lock. lockName is the lock name. The lock name can be a +// maximum of 260 characters. It cannot contain <, > %, &, :, \, ?, /, or any control characters. parameters is the // management lock parameters. func (client ManagementLocksClient) CreateOrUpdateAtResourceGroupLevel(resourceGroupName string, lockName string, parameters ManagementLockObject) (result ManagementLockObject, err error) { if err := validation.Validate([]validation.Validation{ @@ -127,20 +122,15 @@ func (client ManagementLocksClient) CreateOrUpdateAtResourceGroupLevelResponder( return } -// CreateOrUpdateAtResourceLevel when you apply a lock at a parent scope, all -// child resources inherit the same lock. To create management locks, you must -// have access to Microsoft.Authorization/* or Microsoft.Authorization/locks/* -// actions. Of the built-in roles, only Owner and User Access Administrator are -// granted those actions. +// CreateOrUpdateAtResourceLevel when you apply a lock at a parent scope, all child resources inherit the same lock. To +// create management locks, you must have access to Microsoft.Authorization/* or Microsoft.Authorization/locks/* +// actions. Of the built-in roles, only Owner and User Access Administrator are granted those actions. // -// resourceGroupName is the name of the resource group containing the resource -// to lock. resourceProviderNamespace is the resource provider namespace of the -// resource to lock. parentResourcePath is the parent resource identity. -// resourceType is the resource type of the resource to lock. resourceName is -// the name of the resource to lock. lockName is the name of lock. The lock -// name can be a maximum of 260 characters. It cannot contain <, > %, &, :, \, -// ?, /, or any control characters. parameters is parameters for creating or -// updating a management lock. +// resourceGroupName is the name of the resource group containing the resource to lock. resourceProviderNamespace is +// the resource provider namespace of the resource to lock. parentResourcePath is the parent resource identity. +// resourceType is the resource type of the resource to lock. resourceName is the name of the resource to lock. +// lockName is the name of lock. The lock name can be a maximum of 260 characters. It cannot contain <, > %, &, :, \, +// ?, /, or any control characters. parameters is parameters for creating or updating a management lock. func (client ManagementLocksClient) CreateOrUpdateAtResourceLevel(resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string, lockName string, parameters ManagementLockObject) (result ManagementLockObject, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -219,15 +209,13 @@ func (client ManagementLocksClient) CreateOrUpdateAtResourceLevelResponder(resp return } -// CreateOrUpdateAtSubscriptionLevel when you apply a lock at a parent scope, -// all child resources inherit the same lock. To create management locks, you -// must have access to Microsoft.Authorization/* or -// Microsoft.Authorization/locks/* actions. Of the built-in roles, only Owner -// and User Access Administrator are granted those actions. +// CreateOrUpdateAtSubscriptionLevel when you apply a lock at a parent scope, all child resources inherit the same +// lock. To create management locks, you must have access to Microsoft.Authorization/* or +// Microsoft.Authorization/locks/* actions. Of the built-in roles, only Owner and User Access Administrator are granted +// those actions. // -// lockName is the name of lock. The lock name can be a maximum of 260 -// characters. It cannot contain <, > %, &, :, \, ?, /, or any control -// characters. parameters is the management lock parameters. +// lockName is the name of lock. The lock name can be a maximum of 260 characters. It cannot contain <, > %, &, :, \, +// ?, /, or any control characters. parameters is the management lock parameters. func (client ManagementLocksClient) CreateOrUpdateAtSubscriptionLevel(lockName string, parameters ManagementLockObject) (result ManagementLockObject, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -299,13 +287,10 @@ func (client ManagementLocksClient) CreateOrUpdateAtSubscriptionLevelResponder(r // CreateOrUpdateByScope create or update a management lock by scope. // -// scope is the scope for the lock. When providing a scope for the assignment, -// use '/subscriptions/{subscriptionId}' for subscriptions, -// '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}' for -// resource groups, and +// scope is the scope for the lock. When providing a scope for the assignment, use '/subscriptions/{subscriptionId}' +// for subscriptions, '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}' for resource groups, and // '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePathIfPresent}/{resourceType}/{resourceName}' -// for resources. lockName is the name of lock. parameters is create or update -// management lock parameters. +// for resources. lockName is the name of lock. parameters is create or update management lock parameters. func (client ManagementLocksClient) CreateOrUpdateByScope(scope string, lockName string, parameters ManagementLockObject) (result ManagementLockObject, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -375,13 +360,11 @@ func (client ManagementLocksClient) CreateOrUpdateByScopeResponder(resp *http.Re return } -// DeleteAtResourceGroupLevel to delete management locks, you must have access -// to Microsoft.Authorization/* or Microsoft.Authorization/locks/* actions. Of -// the built-in roles, only Owner and User Access Administrator are granted +// DeleteAtResourceGroupLevel to delete management locks, you must have access to Microsoft.Authorization/* or +// Microsoft.Authorization/locks/* actions. Of the built-in roles, only Owner and User Access Administrator are granted // those actions. // -// resourceGroupName is the name of the resource group containing the lock. -// lockName is the name of lock to delete. +// resourceGroupName is the name of the resource group containing the lock. lockName is the name of lock to delete. func (client ManagementLocksClient) DeleteAtResourceGroupLevel(resourceGroupName string, lockName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -451,17 +434,15 @@ func (client ManagementLocksClient) DeleteAtResourceGroupLevelResponder(resp *ht return } -// DeleteAtResourceLevel to delete management locks, you must have access to -// Microsoft.Authorization/* or Microsoft.Authorization/locks/* actions. Of the -// built-in roles, only Owner and User Access Administrator are granted those -// actions. +// DeleteAtResourceLevel to delete management locks, you must have access to Microsoft.Authorization/* or +// Microsoft.Authorization/locks/* actions. Of the built-in roles, only Owner and User Access Administrator are granted +// those actions. // -// resourceGroupName is the name of the resource group containing the resource -// with the lock to delete. resourceProviderNamespace is the resource provider -// namespace of the resource with the lock to delete. parentResourcePath is the -// parent resource identity. resourceType is the resource type of the resource -// with the lock to delete. resourceName is the name of the resource with the -// lock to delete. lockName is the name of the lock to delete. +// resourceGroupName is the name of the resource group containing the resource with the lock to delete. +// resourceProviderNamespace is the resource provider namespace of the resource with the lock to delete. +// parentResourcePath is the parent resource identity. resourceType is the resource type of the resource with the lock +// to delete. resourceName is the name of the resource with the lock to delete. lockName is the name of the lock to +// delete. func (client ManagementLocksClient) DeleteAtResourceLevel(resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string, lockName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -535,9 +516,8 @@ func (client ManagementLocksClient) DeleteAtResourceLevelResponder(resp *http.Re return } -// DeleteAtSubscriptionLevel to delete management locks, you must have access -// to Microsoft.Authorization/* or Microsoft.Authorization/locks/* actions. Of -// the built-in roles, only Owner and User Access Administrator are granted +// DeleteAtSubscriptionLevel to delete management locks, you must have access to Microsoft.Authorization/* or +// Microsoft.Authorization/locks/* actions. Of the built-in roles, only Owner and User Access Administrator are granted // those actions. // // lockName is the name of lock to delete. @@ -666,8 +646,7 @@ func (client ManagementLocksClient) DeleteByScopeResponder(resp *http.Response) // GetAtResourceGroupLevel gets a management lock at the resource group level. // -// resourceGroupName is the name of the locked resource group. lockName is the -// name of the lock to get. +// resourceGroupName is the name of the locked resource group. lockName is the name of the lock to get. func (client ManagementLocksClient) GetAtResourceGroupLevel(resourceGroupName string, lockName string) (result ManagementLockObject, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -738,14 +717,11 @@ func (client ManagementLocksClient) GetAtResourceGroupLevelResponder(resp *http. return } -// GetAtResourceLevel get the management lock of a resource or any level below -// resource. +// GetAtResourceLevel get the management lock of a resource or any level below resource. // -// resourceGroupName is the name of the resource group. -// resourceProviderNamespace is the namespace of the resource provider. -// parentResourcePath is an extra path parameter needed in some services, like -// SQL Databases. resourceType is the type of the resource. resourceName is the -// name of the resource. lockName is the name of lock. +// resourceGroupName is the name of the resource group. resourceProviderNamespace is the namespace of the resource +// provider. parentResourcePath is an extra path parameter needed in some services, like SQL Databases. resourceType is +// the type of the resource. resourceName is the name of the resource. lockName is the name of lock. func (client ManagementLocksClient) GetAtResourceLevel(resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string, lockName string) (result ManagementLockObject, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -950,8 +926,8 @@ func (client ManagementLocksClient) GetByScopeResponder(resp *http.Response) (re // ListAtResourceGroupLevel gets all the management locks for a resource group. // -// resourceGroupName is the name of the resource group containing the locks to -// get. filter is the filter to apply on the operation. +// resourceGroupName is the name of the resource group containing the locks to get. filter is the filter to apply on +// the operation. func (client ManagementLocksClient) ListAtResourceGroupLevel(resourceGroupName string, filter string) (result ManagementLockListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1048,15 +1024,57 @@ func (client ManagementLocksClient) ListAtResourceGroupLevelNextResults(lastResu return } -// ListAtResourceLevel gets all the management locks for a resource or any -// level below resource. +// ListAtResourceGroupLevelComplete gets all elements from the list without paging. +func (client ManagementLocksClient) ListAtResourceGroupLevelComplete(resourceGroupName string, filter string, cancel <-chan struct{}) (<-chan ManagementLockObject, <-chan error) { + resultChan := make(chan ManagementLockObject) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAtResourceGroupLevel(resourceGroupName, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAtResourceGroupLevelNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListAtResourceLevel gets all the management locks for a resource or any level below resource. // -// resourceGroupName is the name of the resource group containing the locked -// resource. The name is case insensitive. resourceProviderNamespace is the -// namespace of the resource provider. parentResourcePath is the parent -// resource identity. resourceType is the resource type of the locked resource. -// resourceName is the name of the locked resource. filter is the filter to -// apply on the operation. +// resourceGroupName is the name of the resource group containing the locked resource. The name is case insensitive. +// resourceProviderNamespace is the namespace of the resource provider. parentResourcePath is the parent resource +// identity. resourceType is the resource type of the locked resource. resourceName is the name of the locked resource. +// filter is the filter to apply on the operation. func (client ManagementLocksClient) ListAtResourceLevel(resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string, filter string) (result ManagementLockListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1157,6 +1175,51 @@ func (client ManagementLocksClient) ListAtResourceLevelNextResults(lastResults M return } +// ListAtResourceLevelComplete gets all elements from the list without paging. +func (client ManagementLocksClient) ListAtResourceLevelComplete(resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string, filter string, cancel <-chan struct{}) (<-chan ManagementLockObject, <-chan error) { + resultChan := make(chan ManagementLockObject) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAtResourceLevel(resourceGroupName, resourceProviderNamespace, parentResourcePath, resourceType, resourceName, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAtResourceLevelNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListAtSubscriptionLevel gets all the management locks for a subscription. // // filter is the filter to apply on the operation. @@ -1246,3 +1309,48 @@ func (client ManagementLocksClient) ListAtSubscriptionLevelNextResults(lastResul return } + +// ListAtSubscriptionLevelComplete gets all elements from the list without paging. +func (client ManagementLocksClient) ListAtSubscriptionLevelComplete(filter string, cancel <-chan struct{}) (<-chan ManagementLockObject, <-chan error) { + resultChan := make(chan ManagementLockObject) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAtSubscriptionLevel(filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAtSubscriptionLevelNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/locks/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/locks/models.go index ec9d5be39..8373b88d7 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/locks/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/locks/models.go @@ -14,9 +14,8 @@ package locks // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/locks/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/locks/version.go index e091adb17..52819ed90 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/locks/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/locks/version.go @@ -14,16 +14,15 @@ package locks // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-locks/2016-09-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-locks/2016-09-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/managedapplications/appliancedefinitions.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/managedapplications/appliancedefinitions.go index 216ce25c5..aa1b24249 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/managedapplications/appliancedefinitions.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/managedapplications/appliancedefinitions.go @@ -14,9 +14,8 @@ package managedapplications // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -30,27 +29,21 @@ type ApplianceDefinitionsClient struct { ManagementClient } -// NewApplianceDefinitionsClient creates an instance of the -// ApplianceDefinitionsClient client. +// NewApplianceDefinitionsClient creates an instance of the ApplianceDefinitionsClient client. func NewApplianceDefinitionsClient(subscriptionID string) ApplianceDefinitionsClient { return NewApplianceDefinitionsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewApplianceDefinitionsClientWithBaseURI creates an instance of the -// ApplianceDefinitionsClient client. +// NewApplianceDefinitionsClientWithBaseURI creates an instance of the ApplianceDefinitionsClient client. func NewApplianceDefinitionsClientWithBaseURI(baseURI string, subscriptionID string) ApplianceDefinitionsClient { return ApplianceDefinitionsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates a new appliance definition. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// CreateOrUpdate creates a new appliance definition. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. The name is case -// insensitive. applianceDefinitionName is the name of the appliance -// definition. parameters is parameters supplied to the create or update an -// appliance definition. +// resourceGroupName is the name of the resource group. The name is case insensitive. applianceDefinitionName is the +// name of the appliance definition. parameters is parameters supplied to the create or update an appliance definition. func (client ApplianceDefinitionsClient) CreateOrUpdate(resourceGroupName string, applianceDefinitionName string, parameters ApplianceDefinition, cancel <-chan struct{}) (<-chan ApplianceDefinition, <-chan error) { resultChan := make(chan ApplianceDefinition, 1) errChan := make(chan error, 1) @@ -149,17 +142,14 @@ func (client ApplianceDefinitionsClient) CreateOrUpdateResponder(resp *http.Resp return } -// CreateOrUpdateByID creates a new appliance definition. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// CreateOrUpdateByID creates a new appliance definition. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// applianceDefinitionID is the fully qualified ID of the appliance definition, -// including the appliance name and the appliance definition resource type. Use -// the format, +// applianceDefinitionID is the fully qualified ID of the appliance definition, including the appliance name and the +// appliance definition resource type. Use the format, // /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applianceDefinitions/{applianceDefinition-name} -// parameters is parameters supplied to the create or update an appliance -// definition. +// parameters is parameters supplied to the create or update an appliance definition. func (client ApplianceDefinitionsClient) CreateOrUpdateByID(applianceDefinitionID string, parameters ApplianceDefinition, cancel <-chan struct{}) (<-chan ApplianceDefinition, <-chan error) { resultChan := make(chan ApplianceDefinition, 1) errChan := make(chan error, 1) @@ -211,7 +201,6 @@ func (client ApplianceDefinitionsClient) CreateOrUpdateByID(applianceDefinitionI func (client ApplianceDefinitionsClient) CreateOrUpdateByIDPreparer(applianceDefinitionID string, parameters ApplianceDefinition, cancel <-chan struct{}) (*http.Request, error) { pathParameters := map[string]interface{}{ "applianceDefinitionId": applianceDefinitionID, - "subscriptionId": autorest.Encode("path", client.SubscriptionID), } const APIVersion = "2016-09-01-preview" @@ -250,14 +239,11 @@ func (client ApplianceDefinitionsClient) CreateOrUpdateByIDResponder(resp *http. return } -// Delete deletes the appliance definition. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete deletes the appliance definition. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. The name is case -// insensitive. applianceDefinitionName is the name of the appliance definition -// to delete. +// resourceGroupName is the name of the resource group. The name is case insensitive. applianceDefinitionName is the +// name of the appliance definition to delete. func (client ApplianceDefinitionsClient) Delete(resourceGroupName string, applianceDefinitionName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -348,14 +334,11 @@ func (client ApplianceDefinitionsClient) DeleteResponder(resp *http.Response) (r return } -// DeleteByID deletes the appliance definition. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// DeleteByID deletes the appliance definition. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// applianceDefinitionID is the fully qualified ID of the appliance definition, -// including the appliance name and the appliance definition resource type. Use -// the format, +// applianceDefinitionID is the fully qualified ID of the appliance definition, including the appliance name and the +// appliance definition resource type. Use the format, // /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applianceDefinitions/{applianceDefinition-name} func (client ApplianceDefinitionsClient) DeleteByID(applianceDefinitionID string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) @@ -396,7 +379,6 @@ func (client ApplianceDefinitionsClient) DeleteByID(applianceDefinitionID string func (client ApplianceDefinitionsClient) DeleteByIDPreparer(applianceDefinitionID string, cancel <-chan struct{}) (*http.Request, error) { pathParameters := map[string]interface{}{ "applianceDefinitionId": applianceDefinitionID, - "subscriptionId": autorest.Encode("path", client.SubscriptionID), } const APIVersion = "2016-09-01-preview" @@ -434,9 +416,8 @@ func (client ApplianceDefinitionsClient) DeleteByIDResponder(resp *http.Response // Get gets the appliance definition. // -// resourceGroupName is the name of the resource group. The name is case -// insensitive. applianceDefinitionName is the name of the appliance -// definition. +// resourceGroupName is the name of the resource group. The name is case insensitive. applianceDefinitionName is the +// name of the appliance definition. func (client ApplianceDefinitionsClient) Get(resourceGroupName string, applianceDefinitionName string) (result ApplianceDefinition, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -512,9 +493,8 @@ func (client ApplianceDefinitionsClient) GetResponder(resp *http.Response) (resu // GetByID gets the appliance definition. // -// applianceDefinitionID is the fully qualified ID of the appliance definition, -// including the appliance name and the appliance definition resource type. Use -// the format, +// applianceDefinitionID is the fully qualified ID of the appliance definition, including the appliance name and the +// appliance definition resource type. Use the format, // /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applianceDefinitions/{applianceDefinition-name} func (client ApplianceDefinitionsClient) GetByID(applianceDefinitionID string) (result ApplianceDefinition, err error) { req, err := client.GetByIDPreparer(applianceDefinitionID) @@ -542,7 +522,6 @@ func (client ApplianceDefinitionsClient) GetByID(applianceDefinitionID string) ( func (client ApplianceDefinitionsClient) GetByIDPreparer(applianceDefinitionID string) (*http.Request, error) { pathParameters := map[string]interface{}{ "applianceDefinitionId": applianceDefinitionID, - "subscriptionId": autorest.Encode("path", client.SubscriptionID), } const APIVersion = "2016-09-01-preview" @@ -579,8 +558,7 @@ func (client ApplianceDefinitionsClient) GetByIDResponder(resp *http.Response) ( // ListByResourceGroup lists the appliance definitions in a resource group. // -// resourceGroupName is the name of the resource group. The name is case -// insensitive. +// resourceGroupName is the name of the resource group. The name is case insensitive. func (client ApplianceDefinitionsClient) ListByResourceGroup(resourceGroupName string) (result ApplianceDefinitionListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/managedapplications/appliances.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/managedapplications/appliances.go index ca3737c77..7ee959b83 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/managedapplications/appliances.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/managedapplications/appliances.go @@ -14,9 +14,8 @@ package managedapplications // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -35,19 +34,16 @@ func NewAppliancesClient(subscriptionID string) AppliancesClient { return NewAppliancesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewAppliancesClientWithBaseURI creates an instance of the AppliancesClient -// client. +// NewAppliancesClientWithBaseURI creates an instance of the AppliancesClient client. func NewAppliancesClientWithBaseURI(baseURI string, subscriptionID string) AppliancesClient { return AppliancesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates a new appliance. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// CreateOrUpdate creates a new appliance. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. The name is case -// insensitive. applianceName is the name of the appliance. parameters is -// parameters supplied to the create or update an appliance. +// resourceGroupName is the name of the resource group. The name is case insensitive. applianceName is the name of the +// appliance. parameters is parameters supplied to the create or update an appliance. func (client AppliancesClient) CreateOrUpdate(resourceGroupName string, applianceName string, parameters Appliance, cancel <-chan struct{}) (<-chan Appliance, <-chan error) { resultChan := make(chan Appliance, 1) errChan := make(chan error, 1) @@ -152,13 +148,11 @@ func (client AppliancesClient) CreateOrUpdateResponder(resp *http.Response) (res return } -// CreateOrUpdateByID creates a new appliance. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// CreateOrUpdateByID creates a new appliance. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// applianceID is the fully qualified ID of the appliance, including the -// appliance name and the appliance resource type. Use the format, +// applianceID is the fully qualified ID of the appliance, including the appliance name and the appliance resource +// type. Use the format, // /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/appliances/{appliance-name} // parameters is parameters supplied to the create or update an appliance. func (client AppliancesClient) CreateOrUpdateByID(applianceID string, parameters Appliance, cancel <-chan struct{}) (<-chan Appliance, <-chan error) { @@ -217,8 +211,7 @@ func (client AppliancesClient) CreateOrUpdateByID(applianceID string, parameters // CreateOrUpdateByIDPreparer prepares the CreateOrUpdateByID request. func (client AppliancesClient) CreateOrUpdateByIDPreparer(applianceID string, parameters Appliance, cancel <-chan struct{}) (*http.Request, error) { pathParameters := map[string]interface{}{ - "applianceId": applianceID, - "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "applianceId": applianceID, } const APIVersion = "2016-09-01-preview" @@ -257,12 +250,11 @@ func (client AppliancesClient) CreateOrUpdateByIDResponder(resp *http.Response) return } -// Delete deletes the appliance. This method may poll for completion. Polling -// can be canceled by passing the cancel channel argument. The channel will be -// used to cancel polling and any outstanding HTTP requests. +// Delete deletes the appliance. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group. The name is case -// insensitive. applianceName is the name of the appliance. +// resourceGroupName is the name of the resource group. The name is case insensitive. applianceName is the name of the +// appliance. func (client AppliancesClient) Delete(resourceGroupName string, applianceName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -353,12 +345,11 @@ func (client AppliancesClient) DeleteResponder(resp *http.Response) (result auto return } -// DeleteByID deletes the appliance. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// DeleteByID deletes the appliance. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// applianceID is the fully qualified ID of the appliance, including the -// appliance name and the appliance resource type. Use the format, +// applianceID is the fully qualified ID of the appliance, including the appliance name and the appliance resource +// type. Use the format, // /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/appliances/{appliance-name} func (client AppliancesClient) DeleteByID(applianceID string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) @@ -398,8 +389,7 @@ func (client AppliancesClient) DeleteByID(applianceID string, cancel <-chan stru // DeleteByIDPreparer prepares the DeleteByID request. func (client AppliancesClient) DeleteByIDPreparer(applianceID string, cancel <-chan struct{}) (*http.Request, error) { pathParameters := map[string]interface{}{ - "applianceId": applianceID, - "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "applianceId": applianceID, } const APIVersion = "2016-09-01-preview" @@ -437,8 +427,8 @@ func (client AppliancesClient) DeleteByIDResponder(resp *http.Response) (result // Get gets the appliance. // -// resourceGroupName is the name of the resource group. The name is case -// insensitive. applianceName is the name of the appliance. +// resourceGroupName is the name of the resource group. The name is case insensitive. applianceName is the name of the +// appliance. func (client AppliancesClient) Get(resourceGroupName string, applianceName string) (result Appliance, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -514,8 +504,8 @@ func (client AppliancesClient) GetResponder(resp *http.Response) (result Applian // GetByID gets the appliance. // -// applianceID is the fully qualified ID of the appliance, including the -// appliance name and the appliance resource type. Use the format, +// applianceID is the fully qualified ID of the appliance, including the appliance name and the appliance resource +// type. Use the format, // /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/appliances/{appliance-name} func (client AppliancesClient) GetByID(applianceID string) (result Appliance, err error) { req, err := client.GetByIDPreparer(applianceID) @@ -542,8 +532,7 @@ func (client AppliancesClient) GetByID(applianceID string) (result Appliance, er // GetByIDPreparer prepares the GetByID request. func (client AppliancesClient) GetByIDPreparer(applianceID string) (*http.Request, error) { pathParameters := map[string]interface{}{ - "applianceId": applianceID, - "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "applianceId": applianceID, } const APIVersion = "2016-09-01-preview" @@ -580,8 +569,7 @@ func (client AppliancesClient) GetByIDResponder(resp *http.Response) (result App // ListByResourceGroup gets all the appliances within a resource group. // -// resourceGroupName is the name of the resource group. The name is case -// insensitive. +// resourceGroupName is the name of the resource group. The name is case insensitive. func (client AppliancesClient) ListByResourceGroup(resourceGroupName string) (result ApplianceListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -850,12 +838,10 @@ func (client AppliancesClient) ListBySubscriptionComplete(cancel <-chan struct{} return resultChan, errChan } -// Update updates an existing appliance. The only value that can be updated via -// PATCH currently is the tags. +// Update updates an existing appliance. The only value that can be updated via PATCH currently is the tags. // -// resourceGroupName is the name of the resource group. The name is case -// insensitive. applianceName is the name of the appliance. parameters is -// parameters supplied to update an existing appliance. +// resourceGroupName is the name of the resource group. The name is case insensitive. applianceName is the name of the +// appliance. parameters is parameters supplied to update an existing appliance. func (client AppliancesClient) Update(resourceGroupName string, applianceName string, parameters *Appliance) (result Appliance, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -934,11 +920,10 @@ func (client AppliancesClient) UpdateResponder(resp *http.Response) (result Appl return } -// UpdateByID updates an existing appliance. The only value that can be updated -// via PATCH currently is the tags. +// UpdateByID updates an existing appliance. The only value that can be updated via PATCH currently is the tags. // -// applianceID is the fully qualified ID of the appliance, including the -// appliance name and the appliance resource type. Use the format, +// applianceID is the fully qualified ID of the appliance, including the appliance name and the appliance resource +// type. Use the format, // /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/appliances/{appliance-name} // parameters is parameters supplied to update an existing appliance. func (client AppliancesClient) UpdateByID(applianceID string, parameters *Appliance) (result Appliance, err error) { @@ -966,8 +951,7 @@ func (client AppliancesClient) UpdateByID(applianceID string, parameters *Applia // UpdateByIDPreparer prepares the UpdateByID request. func (client AppliancesClient) UpdateByIDPreparer(applianceID string, parameters *Appliance) (*http.Request, error) { pathParameters := map[string]interface{}{ - "applianceId": applianceID, - "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "applianceId": applianceID, } const APIVersion = "2016-09-01-preview" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/managedapplications/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/managedapplications/client.go index 0176ab2c7..395cd570f 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/managedapplications/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/managedapplications/client.go @@ -1,5 +1,4 @@ -// Package managedapplications implements the Azure ARM Managedapplications -// service API version 2016-09-01-preview. +// Package managedapplications implements the Azure ARM Managedapplications service API version 2016-09-01-preview. // // ARM managed applications (appliances) package managedapplications @@ -18,9 +17,8 @@ package managedapplications // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/managedapplications/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/managedapplications/models.go index 4819f0c11..b647a5840 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/managedapplications/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/managedapplications/models.go @@ -14,9 +14,8 @@ package managedapplications // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -38,8 +37,7 @@ const ( type ApplianceLockLevel string const ( - // CanNotDelete specifies the can not delete state for appliance lock - // level. + // CanNotDelete specifies the can not delete state for appliance lock level. CanNotDelete ApplianceLockLevel = "CanNotDelete" // None specifies the none state for appliance lock level. None ApplianceLockLevel = "None" @@ -79,8 +77,7 @@ const ( type ResourceIdentityType string const ( - // SystemAssigned specifies the system assigned state for resource identity - // type. + // SystemAssigned specifies the system assigned state for resource identity type. SystemAssigned ResourceIdentityType = "SystemAssigned" ) @@ -210,8 +207,8 @@ type ApplianceProviderAuthorization struct { RoleDefinitionID *string `json:"roleDefinitionId,omitempty"` } -// ErrorResponse is error reponse indicates ARM appliance is not able to -// process the incoming request. The reason is provided in the error message. +// ErrorResponse is error reponse indicates ARM appliance is not able to process the incoming request. The reason is +// provided in the error message. type ErrorResponse struct { HTTPStatus *string `json:"httpStatus,omitempty"` ErrorCode *string `json:"errorCode,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/managedapplications/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/managedapplications/version.go index 9eca292ff..47d8ecd3b 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/managedapplications/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/managedapplications/version.go @@ -14,16 +14,15 @@ package managedapplications // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-managedapplications/2016-09-01-preview" + return "Azure-SDK-For-Go/v11.0.0-beta arm-managedapplications/2016-09-01-preview" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/policy/assignments.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/policy/assignments.go index bf9ccc3f8..229194fdf 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/policy/assignments.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/policy/assignments.go @@ -14,9 +14,8 @@ package policy // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,8 @@ import ( "net/http" ) -// AssignmentsClient is the to manage and control access to your resources, you -// can define customized policies and assign them at a scope. +// AssignmentsClient is the to manage and control access to your resources, you can define customized policies and +// assign them at a scope. type AssignmentsClient struct { ManagementClient } @@ -36,19 +35,16 @@ func NewAssignmentsClient(subscriptionID string) AssignmentsClient { return NewAssignmentsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewAssignmentsClientWithBaseURI creates an instance of the AssignmentsClient -// client. +// NewAssignmentsClientWithBaseURI creates an instance of the AssignmentsClient client. func NewAssignmentsClientWithBaseURI(baseURI string, subscriptionID string) AssignmentsClient { return AssignmentsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Create policy assignments are inherited by child resources. For example, -// when you apply a policy to a resource group that policy is assigned to all -// resources in the group. +// Create policy assignments are inherited by child resources. For example, when you apply a policy to a resource group +// that policy is assigned to all resources in the group. // -// scope is the scope of the policy assignment. policyAssignmentName is the -// name of the policy assignment. parameters is parameters for the policy -// assignment. +// scope is the scope of the policy assignment. policyAssignmentName is the name of the policy assignment. parameters +// is parameters for the policy assignment. func (client AssignmentsClient) Create(scope string, policyAssignmentName string, parameters Assignment) (result Assignment, err error) { req, err := client.CreatePreparer(scope, policyAssignmentName, parameters) if err != nil { @@ -87,7 +83,7 @@ func (client AssignmentsClient) CreatePreparer(scope string, policyAssignmentNam autorest.AsJSON(), autorest.AsPut(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/{scope}/providers/Microsoft.Authorization/policyassignments/{policyAssignmentName}", pathParameters), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}", pathParameters), autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) @@ -112,19 +108,16 @@ func (client AssignmentsClient) CreateResponder(resp *http.Response) (result Ass return } -// CreateByID policy assignments are inherited by child resources. For example, -// when you apply a policy to a resource group that policy is assigned to all -// resources in the group. When providing a scope for the assigment, use +// CreateByID policy assignments are inherited by child resources. For example, when you apply a policy to a resource +// group that policy is assigned to all resources in the group. When providing a scope for the assigment, use // '/subscriptions/{subscription-id}/' for subscriptions, -// '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for -// resource groups, and +// '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for resource groups, and // '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider-namespace}/{resource-type}/{resource-name}' // for resources. // -// policyAssignmentID is the ID of the policy assignment to create. Use the -// format -// '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policy-assignment-name}'. -// parameters is parameters for policy assignment. +// policyAssignmentID is the ID of the policy assignment to create. Use the format +// '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policy-assignment-name}'. parameters is parameters +// for policy assignment. func (client AssignmentsClient) CreateByID(policyAssignmentID string, parameters Assignment) (result Assignment, err error) { req, err := client.CreateByIDPreparer(policyAssignmentID, parameters) if err != nil { @@ -189,8 +182,7 @@ func (client AssignmentsClient) CreateByIDResponder(resp *http.Response) (result // Delete deletes a policy assignment. // -// scope is the scope of the policy assignment. policyAssignmentName is the -// name of the policy assignment to delete. +// scope is the scope of the policy assignment. policyAssignmentName is the name of the policy assignment to delete. func (client AssignmentsClient) Delete(scope string, policyAssignmentName string) (result Assignment, err error) { req, err := client.DeletePreparer(scope, policyAssignmentName) if err != nil { @@ -228,7 +220,7 @@ func (client AssignmentsClient) DeletePreparer(scope string, policyAssignmentNam preparer := autorest.CreatePreparer( autorest.AsDelete(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/{scope}/providers/Microsoft.Authorization/policyassignments/{policyAssignmentName}", pathParameters), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -245,22 +237,19 @@ func (client AssignmentsClient) DeleteResponder(resp *http.Response) (result Ass err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// DeleteByID when providing a scope for the assigment, use -// '/subscriptions/{subscription-id}/' for subscriptions, -// '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for -// resource groups, and +// DeleteByID when providing a scope for the assigment, use '/subscriptions/{subscription-id}/' for subscriptions, +// '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for resource groups, and // '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider-namespace}/{resource-type}/{resource-name}' // for resources. // -// policyAssignmentID is the ID of the policy assignment to delete. Use the -// format +// policyAssignmentID is the ID of the policy assignment to delete. Use the format // '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policy-assignment-name}'. func (client AssignmentsClient) DeleteByID(policyAssignmentID string) (result Assignment, err error) { req, err := client.DeleteByIDPreparer(policyAssignmentID) @@ -324,8 +313,7 @@ func (client AssignmentsClient) DeleteByIDResponder(resp *http.Response) (result // Get gets a policy assignment. // -// scope is the scope of the policy assignment. policyAssignmentName is the -// name of the policy assignment to get. +// scope is the scope of the policy assignment. policyAssignmentName is the name of the policy assignment to get. func (client AssignmentsClient) Get(scope string, policyAssignmentName string) (result Assignment, err error) { req, err := client.GetPreparer(scope, policyAssignmentName) if err != nil { @@ -363,7 +351,7 @@ func (client AssignmentsClient) GetPreparer(scope string, policyAssignmentName s preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/{scope}/providers/Microsoft.Authorization/policyassignments/{policyAssignmentName}", pathParameters), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -387,10 +375,8 @@ func (client AssignmentsClient) GetResponder(resp *http.Response) (result Assign return } -// GetByID when providing a scope for the assigment, use -// '/subscriptions/{subscription-id}/' for subscriptions, -// '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for -// resource groups, and +// GetByID when providing a scope for the assigment, use '/subscriptions/{subscription-id}/' for subscriptions, +// '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for resource groups, and // '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider-namespace}/{resource-type}/{resource-name}' // for resources. // @@ -498,7 +484,7 @@ func (client AssignmentsClient) ListPreparer(filter string) (*http.Request, erro preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyassignments", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -546,13 +532,57 @@ func (client AssignmentsClient) ListNextResults(lastResults AssignmentListResult return } +// ListComplete gets all elements from the list without paging. +func (client AssignmentsClient) ListComplete(filter string, cancel <-chan struct{}) (<-chan Assignment, <-chan error) { + resultChan := make(chan Assignment) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListForResource gets policy assignments for a resource. // -// resourceGroupName is the name of the resource group containing the resource. -// The name is case insensitive. resourceProviderNamespace is the namespace of -// the resource provider. parentResourcePath is the parent resource path. -// resourceType is the resource type. resourceName is the name of the resource -// with policy assignments. filter is the filter to apply on the operation. +// resourceGroupName is the name of the resource group containing the resource. The name is case insensitive. +// resourceProviderNamespace is the namespace of the resource provider. parentResourcePath is the parent resource path. +// resourceType is the resource type. resourceName is the name of the resource with policy assignments. filter is the +// filter to apply on the operation. func (client AssignmentsClient) ListForResource(resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string, filter string) (result AssignmentListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -605,7 +635,7 @@ func (client AssignmentsClient) ListForResourcePreparer(resourceGroupName string preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/policyassignments", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/policyAssignments", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -653,10 +683,55 @@ func (client AssignmentsClient) ListForResourceNextResults(lastResults Assignmen return } +// ListForResourceComplete gets all elements from the list without paging. +func (client AssignmentsClient) ListForResourceComplete(resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string, filter string, cancel <-chan struct{}) (<-chan Assignment, <-chan error) { + resultChan := make(chan Assignment) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListForResource(resourceGroupName, resourceProviderNamespace, parentResourcePath, resourceType, resourceName, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListForResourceNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListForResourceGroup gets policy assignments for the resource group. // -// resourceGroupName is the name of the resource group that contains policy -// assignments. filter is the filter to apply on the operation. +// resourceGroupName is the name of the resource group that contains policy assignments. filter is the filter to apply +// on the operation. func (client AssignmentsClient) ListForResourceGroup(resourceGroupName string, filter string) (result AssignmentListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -752,3 +827,48 @@ func (client AssignmentsClient) ListForResourceGroupNextResults(lastResults Assi return } + +// ListForResourceGroupComplete gets all elements from the list without paging. +func (client AssignmentsClient) ListForResourceGroupComplete(resourceGroupName string, filter string, cancel <-chan struct{}) (<-chan Assignment, <-chan error) { + resultChan := make(chan Assignment) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListForResourceGroup(resourceGroupName, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListForResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/policy/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/policy/client.go index e3338811d..5b444340b 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/policy/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/policy/client.go @@ -1,8 +1,6 @@ -// Package policy implements the Azure ARM Policy service API version -// 2016-12-01. +// Package policy implements the Azure ARM Policy service API version 2016-12-01. // -// To manage and control access to your resources, you can define customized -// policies and assign them at a scope. +// To manage and control access to your resources, you can define customized policies and assign them at a scope. package policy // Copyright (c) Microsoft and contributors. All rights reserved. @@ -19,9 +17,8 @@ package policy // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/policy/definitions.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/policy/definitions.go index 2a808a63d..ef17af7d0 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/policy/definitions.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/policy/definitions.go @@ -14,9 +14,8 @@ package policy // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,8 +23,8 @@ import ( "net/http" ) -// DefinitionsClient is the to manage and control access to your resources, you -// can define customized policies and assign them at a scope. +// DefinitionsClient is the to manage and control access to your resources, you can define customized policies and +// assign them at a scope. type DefinitionsClient struct { ManagementClient } @@ -35,16 +34,14 @@ func NewDefinitionsClient(subscriptionID string) DefinitionsClient { return NewDefinitionsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewDefinitionsClientWithBaseURI creates an instance of the DefinitionsClient -// client. +// NewDefinitionsClientWithBaseURI creates an instance of the DefinitionsClient client. func NewDefinitionsClientWithBaseURI(baseURI string, subscriptionID string) DefinitionsClient { return DefinitionsClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate creates or updates a policy definition. // -// policyDefinitionName is the name of the policy definition to create. -// parameters is the policy definition properties. +// policyDefinitionName is the name of the policy definition to create. parameters is the policy definition properties. func (client DefinitionsClient) CreateOrUpdate(policyDefinitionName string, parameters Definition) (result Definition, err error) { req, err := client.CreateOrUpdatePreparer(policyDefinitionName, parameters) if err != nil { @@ -324,3 +321,48 @@ func (client DefinitionsClient) ListNextResults(lastResults DefinitionListResult return } + +// ListComplete gets all elements from the list without paging. +func (client DefinitionsClient) ListComplete(filter string, cancel <-chan struct{}) (<-chan Definition, <-chan error) { + resultChan := make(chan Definition) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/policy/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/policy/models.go index 69cd973b4..aecf4669c 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/policy/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/policy/models.go @@ -14,9 +14,8 @@ package policy // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,19 +23,31 @@ import ( "net/http" ) +// Mode enumerates the values for mode. +type Mode string + +const ( + // All specifies the all state for mode. + All Mode = "All" + // Indexed specifies the indexed state for mode. + Indexed Mode = "Indexed" + // NotSpecified specifies the not specified state for mode. + NotSpecified Mode = "NotSpecified" +) + // Type enumerates the values for type. type Type string const ( - // BuiltIn specifies the built in state for type. - BuiltIn Type = "BuiltIn" - // Custom specifies the custom state for type. - Custom Type = "Custom" - // NotSpecified specifies the not specified state for type. - NotSpecified Type = "NotSpecified" + // TypeBuiltIn specifies the type built in state for type. + TypeBuiltIn Type = "BuiltIn" + // TypeCustom specifies the type custom state for type. + TypeCustom Type = "Custom" + // TypeNotSpecified specifies the type not specified state for type. + TypeNotSpecified Type = "NotSpecified" ) -// Assignment is the policy definition. +// Assignment is the policy assignment. type Assignment struct { autorest.Response `json:"-"` *AssignmentProperties `json:"properties,omitempty"` @@ -103,8 +114,10 @@ func (client DefinitionListResult) DefinitionListResultPreparer() (*http.Request // DefinitionProperties is the policy definition properties. type DefinitionProperties struct { PolicyType Type `json:"policyType,omitempty"` + Mode Mode `json:"mode,omitempty"` DisplayName *string `json:"displayName,omitempty"` Description *string `json:"description,omitempty"` PolicyRule *map[string]interface{} `json:"policyRule,omitempty"` + Metadata *map[string]interface{} `json:"metadata,omitempty"` Parameters *map[string]interface{} `json:"parameters,omitempty"` } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/policy/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/policy/version.go index 8c2c48253..f0beeaaeb 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/policy/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/policy/version.go @@ -14,16 +14,15 @@ package policy // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-policy/2016-12-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-policy/2016-12-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/client.go index 3e13c72f9..348e0cf16 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/client.go @@ -1,5 +1,4 @@ -// Package resources implements the Azure ARM Resources service API version -// 2016-09-01. +// Package resources implements the Azure ARM Resources service API version 2017-05-10. // // Provides operations for working with resources and resource groups. package resources @@ -18,9 +17,8 @@ package resources // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/deploymentoperations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/deploymentoperations.go index 34d12aac6..116c8b728 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/deploymentoperations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/deploymentoperations.go @@ -14,9 +14,8 @@ package resources // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,29 +24,25 @@ import ( "net/http" ) -// DeploymentOperationsClient is the provides operations for working with -// resources and resource groups. +// DeploymentOperationsClient is the provides operations for working with resources and resource groups. type DeploymentOperationsClient struct { ManagementClient } -// NewDeploymentOperationsClient creates an instance of the -// DeploymentOperationsClient client. +// NewDeploymentOperationsClient creates an instance of the DeploymentOperationsClient client. func NewDeploymentOperationsClient(subscriptionID string) DeploymentOperationsClient { return NewDeploymentOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewDeploymentOperationsClientWithBaseURI creates an instance of the -// DeploymentOperationsClient client. +// NewDeploymentOperationsClientWithBaseURI creates an instance of the DeploymentOperationsClient client. func NewDeploymentOperationsClientWithBaseURI(baseURI string, subscriptionID string) DeploymentOperationsClient { return DeploymentOperationsClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get gets a deployments operation. // -// resourceGroupName is the name of the resource group. The name is case -// insensitive. deploymentName is the name of the deployment. operationID is -// the ID of the operation to get. +// resourceGroupName is the name of the resource group. The name is case insensitive. deploymentName is the name of the +// deployment. operationID is the ID of the operation to get. func (client DeploymentOperationsClient) Get(resourceGroupName string, deploymentName string, operationID string) (result DeploymentOperation, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -91,7 +86,7 @@ func (client DeploymentOperationsClient) GetPreparer(resourceGroupName string, d "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -125,9 +120,8 @@ func (client DeploymentOperationsClient) GetResponder(resp *http.Response) (resu // List gets all deployments operations for a deployment. // -// resourceGroupName is the name of the resource group. The name is case -// insensitive. deploymentName is the name of the deployment with the operation -// to get. top is the number of results to return. +// resourceGroupName is the name of the resource group. The name is case insensitive. deploymentName is the name of the +// deployment with the operation to get. top is the number of results to return. func (client DeploymentOperationsClient) List(resourceGroupName string, deploymentName string, top *int32) (result DeploymentOperationsListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -170,7 +164,7 @@ func (client DeploymentOperationsClient) ListPreparer(resourceGroupName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -228,3 +222,48 @@ func (client DeploymentOperationsClient) ListNextResults(lastResults DeploymentO return } + +// ListComplete gets all elements from the list without paging. +func (client DeploymentOperationsClient) ListComplete(resourceGroupName string, deploymentName string, top *int32, cancel <-chan struct{}) (<-chan DeploymentOperation, <-chan error) { + resultChan := make(chan DeploymentOperation) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, deploymentName, top) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/deployments.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/deployments.go index 7c3e19288..9941f6096 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/deployments.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/deployments.go @@ -14,9 +14,8 @@ package resources // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// DeploymentsClient is the provides operations for working with resources and -// resource groups. +// DeploymentsClient is the provides operations for working with resources and resource groups. type DeploymentsClient struct { ManagementClient } @@ -36,19 +34,17 @@ func NewDeploymentsClient(subscriptionID string) DeploymentsClient { return NewDeploymentsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewDeploymentsClientWithBaseURI creates an instance of the DeploymentsClient -// client. +// NewDeploymentsClientWithBaseURI creates an instance of the DeploymentsClient client. func NewDeploymentsClientWithBaseURI(baseURI string, subscriptionID string) DeploymentsClient { return DeploymentsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Cancel you can cancel a deployment only if the provisioningState is Accepted -// or Running. After the deployment is canceled, the provisioningState is set -// to Canceled. Canceling a template deployment stops the currently running +// Cancel you can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is +// canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running // template deployment and leaves the resource group partially deployed. // -// resourceGroupName is the name of the resource group. The name is case -// insensitive. deploymentName is the name of the deployment to cancel. +// resourceGroupName is the name of the resource group. The name is case insensitive. deploymentName is the name of the +// deployment to cancel. func (client DeploymentsClient) Cancel(resourceGroupName string, deploymentName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -91,7 +87,7 @@ func (client DeploymentsClient) CancelPreparer(resourceGroupName string, deploym "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -124,9 +120,8 @@ func (client DeploymentsClient) CancelResponder(resp *http.Response) (result aut // CheckExistence checks whether the deployment exists. // -// resourceGroupName is the name of the resource group with the deployment to -// check. The name is case insensitive. deploymentName is the name of the -// deployment to check. +// resourceGroupName is the name of the resource group with the deployment to check. The name is case insensitive. +// deploymentName is the name of the deployment to check. func (client DeploymentsClient) CheckExistence(resourceGroupName string, deploymentName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -169,7 +164,7 @@ func (client DeploymentsClient) CheckExistencePreparer(resourceGroupName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -200,15 +195,13 @@ func (client DeploymentsClient) CheckExistenceResponder(resp *http.Response) (re return } -// CreateOrUpdate you can provide the template and parameters directly in the -// request or link to JSON files. This method may poll for completion. Polling -// can be canceled by passing the cancel channel argument. The channel will be +// CreateOrUpdate you can provide the template and parameters directly in the request or link to JSON files. This +// method may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be // used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group to deploy the resources -// to. The name is case insensitive. The resource group must already exist. -// deploymentName is the name of the deployment. parameters is additional -// parameters supplied to the operation. +// resourceGroupName is the name of the resource group to deploy the resources to. The name is case insensitive. The +// resource group must already exist. deploymentName is the name of the deployment. parameters is additional parameters +// supplied to the operation. func (client DeploymentsClient) CreateOrUpdate(resourceGroupName string, deploymentName string, parameters Deployment, cancel <-chan struct{}) (<-chan DeploymentExtended, <-chan error) { resultChan := make(chan DeploymentExtended, 1) errChan := make(chan error, 1) @@ -238,8 +231,10 @@ func (client DeploymentsClient) CreateOrUpdate(resourceGroupName string, deploym var err error var result DeploymentExtended defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -272,7 +267,7 @@ func (client DeploymentsClient) CreateOrUpdatePreparer(resourceGroupName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -308,23 +303,17 @@ func (client DeploymentsClient) CreateOrUpdateResponder(resp *http.Response) (re return } -// Delete a template deployment that is currently running cannot be deleted. -// Deleting a template deployment removes the associated deployment operations. -// Deleting a template deployment does not affect the state of the resource -// group. This is an asynchronous operation that returns a status of 202 until -// the template deployment is successfully deleted. The Location response -// header contains the URI that is used to obtain the status of the process. -// While the process is running, a call to the URI in the Location header -// returns a status of 202. When the process finishes, the URI in the Location -// header returns a status of 204 on success. If the asynchronous request -// failed, the URI in the Location header returns an error-level status code. -// This method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// Delete a template deployment that is currently running cannot be deleted. Deleting a template deployment removes the +// associated deployment operations. Deleting a template deployment does not affect the state of the resource group. +// This is an asynchronous operation that returns a status of 202 until the template deployment is successfully +// deleted. The Location response header contains the URI that is used to obtain the status of the process. While the +// process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the +// URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the +// Location header returns an error-level status code. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group with the deployment to -// delete. The name is case insensitive. deploymentName is the name of the -// deployment to delete. +// resourceGroupName is the name of the resource group with the deployment to delete. The name is case insensitive. +// deploymentName is the name of the deployment to delete. func (client DeploymentsClient) Delete(resourceGroupName string, deploymentName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -347,8 +336,10 @@ func (client DeploymentsClient) Delete(resourceGroupName string, deploymentName var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -381,7 +372,7 @@ func (client DeploymentsClient) DeletePreparer(resourceGroupName string, deploym "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -416,9 +407,8 @@ func (client DeploymentsClient) DeleteResponder(resp *http.Response) (result aut // ExportTemplate exports the template used for specified deployment. // -// resourceGroupName is the name of the resource group. The name is case -// insensitive. deploymentName is the name of the deployment from which to get -// the template. +// resourceGroupName is the name of the resource group. The name is case insensitive. deploymentName is the name of the +// deployment from which to get the template. func (client DeploymentsClient) ExportTemplate(resourceGroupName string, deploymentName string) (result DeploymentExportResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -461,7 +451,7 @@ func (client DeploymentsClient) ExportTemplatePreparer(resourceGroupName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -495,8 +485,8 @@ func (client DeploymentsClient) ExportTemplateResponder(resp *http.Response) (re // Get gets a deployment. // -// resourceGroupName is the name of the resource group. The name is case -// insensitive. deploymentName is the name of the deployment to get. +// resourceGroupName is the name of the resource group. The name is case insensitive. deploymentName is the name of the +// deployment to get. func (client DeploymentsClient) Get(resourceGroupName string, deploymentName string) (result DeploymentExtended, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -539,7 +529,7 @@ func (client DeploymentsClient) GetPreparer(resourceGroupName string, deployment "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -571,51 +561,49 @@ func (client DeploymentsClient) GetResponder(resp *http.Response) (result Deploy return } -// List get all the deployments for a resource group. +// ListByResourceGroup get all the deployments for a resource group. // -// resourceGroupName is the name of the resource group with the deployments to -// get. The name is case insensitive. filter is the filter to apply on the -// operation. For example, you can use $filter=provisioningState eq '{state}'. -// top is the number of results to get. If null is passed, returns all -// deployments. -func (client DeploymentsClient) List(resourceGroupName string, filter string, top *int32) (result DeploymentListResult, err error) { +// resourceGroupName is the name of the resource group with the deployments to get. The name is case insensitive. +// filter is the filter to apply on the operation. For example, you can use $filter=provisioningState eq '{state}'. top +// is the number of results to get. If null is passed, returns all deployments. +func (client DeploymentsClient) ListByResourceGroup(resourceGroupName string, filter string, top *int32) (result DeploymentListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { - return result, validation.NewErrorWithValidationError(err, "resources.DeploymentsClient", "List") + return result, validation.NewErrorWithValidationError(err, "resources.DeploymentsClient", "ListByResourceGroup") } - req, err := client.ListPreparer(resourceGroupName, filter, top) + req, err := client.ListByResourceGroupPreparer(resourceGroupName, filter, top) if err != nil { - err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "List", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "ListByResourceGroup", nil, "Failure preparing request") return } - resp, err := client.ListSender(req) + resp, err := client.ListByResourceGroupSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "List", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "ListByResourceGroup", resp, "Failure sending request") return } - result, err = client.ListResponder(resp) + result, err = client.ListByResourceGroupResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "List", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "ListByResourceGroup", resp, "Failure responding to request") } return } -// ListPreparer prepares the List request. -func (client DeploymentsClient) ListPreparer(resourceGroupName string, filter string, top *int32) (*http.Request, error) { +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client DeploymentsClient) ListByResourceGroupPreparer(resourceGroupName string, filter string, top *int32) (*http.Request, error) { pathParameters := map[string]interface{}{ "resourceGroupName": autorest.Encode("path", resourceGroupName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -634,15 +622,15 @@ func (client DeploymentsClient) ListPreparer(resourceGroupName string, filter st return preparer.Prepare(&http.Request{}) } -// ListSender sends the List request. The method will close the +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the // http.Response Body if it receives an error. -func (client DeploymentsClient) ListSender(req *http.Request) (*http.Response, error) { +func (client DeploymentsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { return autorest.SendWithSender(client, req) } -// ListResponder handles the response to the List request. The method always +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always // closes the http.Response Body. -func (client DeploymentsClient) ListResponder(resp *http.Response) (result DeploymentListResult, err error) { +func (client DeploymentsClient) ListByResourceGroupResponder(resp *http.Response) (result DeploymentListResult, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -653,36 +641,80 @@ func (client DeploymentsClient) ListResponder(resp *http.Response) (result Deplo return } -// ListNextResults retrieves the next set of results, if any. -func (client DeploymentsClient) ListNextResults(lastResults DeploymentListResult) (result DeploymentListResult, err error) { +// ListByResourceGroupNextResults retrieves the next set of results, if any. +func (client DeploymentsClient) ListByResourceGroupNextResults(lastResults DeploymentListResult) (result DeploymentListResult, err error) { req, err := lastResults.DeploymentListResultPreparer() if err != nil { - return result, autorest.NewErrorWithError(err, "resources.DeploymentsClient", "List", nil, "Failure preparing next results request") + return result, autorest.NewErrorWithError(err, "resources.DeploymentsClient", "ListByResourceGroup", nil, "Failure preparing next results request") } if req == nil { return } - resp, err := client.ListSender(req) + resp, err := client.ListByResourceGroupSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "resources.DeploymentsClient", "List", resp, "Failure sending next results request") + return result, autorest.NewErrorWithError(err, "resources.DeploymentsClient", "ListByResourceGroup", resp, "Failure sending next results request") } - result, err = client.ListResponder(resp) + result, err = client.ListByResourceGroupResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "List", resp, "Failure responding to next results request") + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "ListByResourceGroup", resp, "Failure responding to next results request") } return } -// Validate validates whether the specified template is syntactically correct -// and will be accepted by Azure Resource Manager.. +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client DeploymentsClient) ListByResourceGroupComplete(resourceGroupName string, filter string, top *int32, cancel <-chan struct{}) (<-chan DeploymentExtended, <-chan error) { + resultChan := make(chan DeploymentExtended) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName, filter, top) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// Validate validates whether the specified template is syntactically correct and will be accepted by Azure Resource +// Manager.. // -// resourceGroupName is the name of the resource group the template will be -// deployed to. The name is case insensitive. deploymentName is the name of the -// deployment. parameters is parameters to validate. +// resourceGroupName is the name of the resource group the template will be deployed to. The name is case insensitive. +// deploymentName is the name of the deployment. parameters is parameters to validate. func (client DeploymentsClient) Validate(resourceGroupName string, deploymentName string, parameters Deployment) (result DeploymentValidateResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -732,7 +764,7 @@ func (client DeploymentsClient) ValidatePreparer(resourceGroupName string, deplo "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/resourcesgroup.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/group.go old mode 100755 new mode 100644 similarity index 70% rename from vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/resourcesgroup.go rename to vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/group.go index a7179dda8..2eac7ac35 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/resourcesgroup.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/group.go @@ -14,9 +14,8 @@ package resources // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// GroupClient is the provides operations for working with resources and -// resource groups. +// GroupClient is the provides operations for working with resources and resource groups. type GroupClient struct { ManagementClient } @@ -43,11 +41,10 @@ func NewGroupClientWithBaseURI(baseURI string, subscriptionID string) GroupClien // CheckExistence checks whether a resource exists. // -// resourceGroupName is the name of the resource group containing the resource -// to check. The name is case insensitive. resourceProviderNamespace is the -// resource provider of the resource to check. parentResourcePath is the parent -// resource identity. resourceType is the resource type. resourceName is the -// name of the resource to check whether it exists. +// resourceGroupName is the name of the resource group containing the resource to check. The name is case insensitive. +// resourceProviderNamespace is the resource provider of the resource to check. parentResourcePath is the parent +// resource identity. resourceType is the resource type. resourceName is the name of the resource to check whether it +// exists. func (client GroupClient) CheckExistence(resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -89,7 +86,7 @@ func (client GroupClient) CheckExistencePreparer(resourceGroupName string, resou "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -122,8 +119,7 @@ func (client GroupClient) CheckExistenceResponder(resp *http.Response) (result a // CheckExistenceByID checks by ID whether a resource exists. // -// resourceID is the fully qualified ID of the resource, including the resource -// name and resource type. Use the format, +// resourceID is the fully qualified ID of the resource, including the resource name and resource type. Use the format, // /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} func (client GroupClient) CheckExistenceByID(resourceID string) (result autorest.Response, err error) { req, err := client.CheckExistenceByIDPreparer(resourceID) @@ -153,7 +149,7 @@ func (client GroupClient) CheckExistenceByIDPreparer(resourceID string) (*http.R "resourceId": resourceID, } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -184,16 +180,13 @@ func (client GroupClient) CheckExistenceByIDResponder(resp *http.Response) (resu return } -// CreateOrUpdate creates a resource. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// CreateOrUpdate creates a resource. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group for the resource. The -// name is case insensitive. resourceProviderNamespace is the namespace of the -// resource provider. parentResourcePath is the parent resource identity. -// resourceType is the resource type of the resource to create. resourceName is -// the name of the resource to create. parameters is parameters for creating or -// updating the resource. +// resourceGroupName is the name of the resource group for the resource. The name is case insensitive. +// resourceProviderNamespace is the namespace of the resource provider. parentResourcePath is the parent resource +// identity. resourceType is the resource type of the resource to create. resourceName is the name of the resource to +// create. parameters is parameters for creating or updating the resource. func (client GroupClient) CreateOrUpdate(resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string, parameters GenericResource, cancel <-chan struct{}) (<-chan GenericResource, <-chan error) { resultChan := make(chan GenericResource, 1) errChan := make(chan error, 1) @@ -215,8 +208,10 @@ func (client GroupClient) CreateOrUpdate(resourceGroupName string, resourceProvi var err error var result GenericResource defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -252,7 +247,7 @@ func (client GroupClient) CreateOrUpdatePreparer(resourceGroupName string, resou "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -288,13 +283,10 @@ func (client GroupClient) CreateOrUpdateResponder(resp *http.Response) (result G return } -// CreateOrUpdateByID create a resource by ID. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// CreateOrUpdateByID create a resource by ID. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceID is the fully qualified ID of the resource, including the resource -// name and resource type. Use the format, +// resourceID is the fully qualified ID of the resource, including the resource name and resource type. Use the format, // /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} // parameters is create or update resource parameters. func (client GroupClient) CreateOrUpdateByID(resourceID string, parameters GenericResource, cancel <-chan struct{}) (<-chan GenericResource, <-chan error) { @@ -314,8 +306,10 @@ func (client GroupClient) CreateOrUpdateByID(resourceID string, parameters Gener var err error var result GenericResource defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -346,7 +340,7 @@ func (client GroupClient) CreateOrUpdateByIDPreparer(resourceID string, paramete "resourceId": resourceID, } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -382,15 +376,12 @@ func (client GroupClient) CreateOrUpdateByIDResponder(resp *http.Response) (resu return } -// Delete deletes a resource. This method may poll for completion. Polling can -// be canceled by passing the cancel channel argument. The channel will be used -// to cancel polling and any outstanding HTTP requests. +// Delete deletes a resource. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group that contains the -// resource to delete. The name is case insensitive. resourceProviderNamespace -// is the namespace of the resource provider. parentResourcePath is the parent -// resource identity. resourceType is the resource type. resourceName is the -// name of the resource to delete. +// resourceGroupName is the name of the resource group that contains the resource to delete. The name is case +// insensitive. resourceProviderNamespace is the namespace of the resource provider. parentResourcePath is the parent +// resource identity. resourceType is the resource type. resourceName is the name of the resource to delete. func (client GroupClient) Delete(resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -409,8 +400,10 @@ func (client GroupClient) Delete(resourceGroupName string, resourceProviderNames var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -446,7 +439,7 @@ func (client GroupClient) DeletePreparer(resourceGroupName string, resourceProvi "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -479,12 +472,10 @@ func (client GroupClient) DeleteResponder(resp *http.Response) (result autorest. return } -// DeleteByID deletes a resource by ID. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// DeleteByID deletes a resource by ID. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceID is the fully qualified ID of the resource, including the resource -// name and resource type. Use the format, +// resourceID is the fully qualified ID of the resource, including the resource name and resource type. Use the format, // /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} func (client GroupClient) DeleteByID(resourceID string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) @@ -493,8 +484,10 @@ func (client GroupClient) DeleteByID(resourceID string, cancel <-chan struct{}) var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -525,7 +518,7 @@ func (client GroupClient) DeleteByIDPreparer(resourceID string, cancel <-chan st "resourceId": resourceID, } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -560,11 +553,9 @@ func (client GroupClient) DeleteByIDResponder(resp *http.Response) (result autor // Get gets a resource. // -// resourceGroupName is the name of the resource group containing the resource -// to get. The name is case insensitive. resourceProviderNamespace is the -// namespace of the resource provider. parentResourcePath is the parent -// resource identity. resourceType is the resource type of the resource. -// resourceName is the name of the resource to get. +// resourceGroupName is the name of the resource group containing the resource to get. The name is case insensitive. +// resourceProviderNamespace is the namespace of the resource provider. parentResourcePath is the parent resource +// identity. resourceType is the resource type of the resource. resourceName is the name of the resource to get. func (client GroupClient) Get(resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string) (result GenericResource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -606,7 +597,7 @@ func (client GroupClient) GetPreparer(resourceGroupName string, resourceProvider "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -640,8 +631,7 @@ func (client GroupClient) GetResponder(resp *http.Response) (result GenericResou // GetByID gets a resource by ID. // -// resourceID is the fully qualified ID of the resource, including the resource -// name and resource type. Use the format, +// resourceID is the fully qualified ID of the resource, including the resource name and resource type. Use the format, // /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} func (client GroupClient) GetByID(resourceID string) (result GenericResource, err error) { req, err := client.GetByIDPreparer(resourceID) @@ -671,7 +661,7 @@ func (client GroupClient) GetByIDPreparer(resourceID string) (*http.Request, err "resourceId": resourceID, } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -705,9 +695,8 @@ func (client GroupClient) GetByIDResponder(resp *http.Response) (result GenericR // List get all the resources in a subscription. // -// filter is the filter to apply on the operation. expand is the $expand query -// parameter. top is the number of results to return. If null is passed, -// returns all resource groups. +// filter is the filter to apply on the operation. expand is the $expand query parameter. top is the number of results +// to return. If null is passed, returns all resource groups. func (client GroupClient) List(filter string, expand string, top *int32) (result ListResult, err error) { req, err := client.ListPreparer(filter, expand, top) if err != nil { @@ -736,7 +725,7 @@ func (client GroupClient) ListPreparer(filter string, expand string, top *int32) "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -801,16 +790,211 @@ func (client GroupClient) ListNextResults(lastResults ListResult) (result ListRe return } -// MoveResources the resources to move must be in the same source resource -// group. The target resource group may be in a different subscription. When -// moving resources, both the source group and the target group are locked for -// the duration of the operation. Write and delete operations are blocked on -// the groups until the move completes. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// ListComplete gets all elements from the list without paging. +func (client GroupClient) ListComplete(filter string, expand string, top *int32, cancel <-chan struct{}) (<-chan GenericResource, <-chan error) { + resultChan := make(chan GenericResource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(filter, expand, top) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListByResourceGroup get all the resources for a resource group. // -// sourceResourceGroupName is the name of the resource group containing the -// rsources to move. parameters is parameters for moving resources. +// resourceGroupName is the resource group with the resources to get. filter is the filter to apply on the operation. +// expand is the $expand query parameter top is the number of results to return. If null is passed, returns all +// resources. +func (client GroupClient) ListByResourceGroup(resourceGroupName string, filter string, expand string, top *int32) (result ListResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "resources.GroupClient", "ListByResourceGroup") + } + + req, err := client.ListByResourceGroupPreparer(resourceGroupName, filter, expand, top) + if err != nil { + err = autorest.NewErrorWithError(err, "resources.GroupClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "resources.GroupClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "resources.GroupClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client GroupClient) ListByResourceGroupPreparer(resourceGroupName string, filter string, expand string, top *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-05-10" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client GroupClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client GroupClient) ListByResourceGroupResponder(resp *http.Response) (result ListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroupNextResults retrieves the next set of results, if any. +func (client GroupClient) ListByResourceGroupNextResults(lastResults ListResult) (result ListResult, err error) { + req, err := lastResults.ListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "resources.GroupClient", "ListByResourceGroup", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "resources.GroupClient", "ListByResourceGroup", resp, "Failure sending next results request") + } + + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "resources.GroupClient", "ListByResourceGroup", resp, "Failure responding to next results request") + } + + return +} + +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client GroupClient) ListByResourceGroupComplete(resourceGroupName string, filter string, expand string, top *int32, cancel <-chan struct{}) (<-chan GenericResource, <-chan error) { + resultChan := make(chan GenericResource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName, filter, expand, top) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// MoveResources the resources to move must be in the same source resource group. The target resource group may be in a +// different subscription. When moving resources, both the source group and the target group are locked for the +// duration of the operation. Write and delete operations are blocked on the groups until the move completes. This +// method may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be +// used to cancel polling and any outstanding HTTP requests. +// +// sourceResourceGroupName is the name of the resource group containing the resources to move. parameters is parameters +// for moving resources. func (client GroupClient) MoveResources(sourceResourceGroupName string, parameters MoveInfo, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -829,8 +1013,10 @@ func (client GroupClient) MoveResources(sourceResourceGroupName string, paramete var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -862,7 +1048,7 @@ func (client GroupClient) MoveResourcesPreparer(sourceResourceGroupName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -896,3 +1082,100 @@ func (client GroupClient) MoveResourcesResponder(resp *http.Response) (result au result.Response = resp return } + +// ValidateMoveResources this operation checks whether the specified resources can be moved to the target. The +// resources to move must be in the same source resource group. The target resource group may be in a different +// subscription. If validation succeeds, it returns HTTP response code 204 (no content). If validation fails, it +// returns HTTP response code 409 (Conflict) with an error message. Retrieve the URL in the Location header value to +// check the result of the long-running operation. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// sourceResourceGroupName is the name of the resource group containing the resources to validate for move. parameters +// is parameters for moving resources. +func (client GroupClient) ValidateMoveResources(sourceResourceGroupName string, parameters MoveInfo, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: sourceResourceGroupName, + Constraints: []validation.Constraint{{Target: "sourceResourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "sourceResourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "sourceResourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "resources.GroupClient", "ValidateMoveResources") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.ValidateMoveResourcesPreparer(sourceResourceGroupName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "resources.GroupClient", "ValidateMoveResources", nil, "Failure preparing request") + return + } + + resp, err := client.ValidateMoveResourcesSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "resources.GroupClient", "ValidateMoveResources", resp, "Failure sending request") + return + } + + result, err = client.ValidateMoveResourcesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "resources.GroupClient", "ValidateMoveResources", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// ValidateMoveResourcesPreparer prepares the ValidateMoveResources request. +func (client GroupClient) ValidateMoveResourcesPreparer(sourceResourceGroupName string, parameters MoveInfo, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "sourceResourceGroupName": autorest.Encode("path", sourceResourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-05-10" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/validateMoveResources", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// ValidateMoveResourcesSender sends the ValidateMoveResources request. The method will close the +// http.Response Body if it receives an error. +func (client GroupClient) ValidateMoveResourcesSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// ValidateMoveResourcesResponder handles the response to the ValidateMoveResources request. The method always +// closes the http.Response Body. +func (client GroupClient) ValidateMoveResourcesResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent, http.StatusConflict), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/groups.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/groups.go index 13244a9ea..3eae2eab7 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/groups.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/groups.go @@ -14,9 +14,8 @@ package resources // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// GroupsClient is the provides operations for working with resources and -// resource groups. +// GroupsClient is the provides operations for working with resources and resource groups. type GroupsClient struct { ManagementClient } @@ -43,8 +41,7 @@ func NewGroupsClientWithBaseURI(baseURI string, subscriptionID string) GroupsCli // CheckExistence checks whether a resource group exists. // -// resourceGroupName is the name of the resource group to check. The name is -// case insensitive. +// resourceGroupName is the name of the resource group to check. The name is case insensitive. func (client GroupsClient) CheckExistence(resourceGroupName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -82,7 +79,7 @@ func (client GroupsClient) CheckExistencePreparer(resourceGroupName string) (*ht "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -113,10 +110,10 @@ func (client GroupsClient) CheckExistenceResponder(resp *http.Response) (result return } -// CreateOrUpdate creates a resource group. +// CreateOrUpdate creates or updates a resource group. // -// resourceGroupName is the name of the resource group to create or update. -// parameters is parameters supplied to the create or update a resource group. +// resourceGroupName is the name of the resource group to create or update. parameters is parameters supplied to the +// create or update a resource group. func (client GroupsClient) CreateOrUpdate(resourceGroupName string, parameters Group) (result Group, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -156,7 +153,7 @@ func (client GroupsClient) CreateOrUpdatePreparer(resourceGroupName string, para "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -190,14 +187,12 @@ func (client GroupsClient) CreateOrUpdateResponder(resp *http.Response) (result return } -// Delete when you delete a resource group, all of its resources are also -// deleted. Deleting a resource group deletes all of its template deployments -// and currently stored operations. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// Delete when you delete a resource group, all of its resources are also deleted. Deleting a resource group deletes +// all of its template deployments and currently stored operations. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group to delete. The name is -// case insensitive. +// resourceGroupName is the name of the resource group to delete. The name is case insensitive. func (client GroupsClient) Delete(resourceGroupName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -216,8 +211,10 @@ func (client GroupsClient) Delete(resourceGroupName string, cancel <-chan struct var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -249,7 +246,7 @@ func (client GroupsClient) DeletePreparer(resourceGroupName string, cancel <-cha "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -284,8 +281,8 @@ func (client GroupsClient) DeleteResponder(resp *http.Response) (result autorest // ExportTemplate captures the specified resource group as a template. // -// resourceGroupName is the name of the resource group to export as a template. -// parameters is parameters for exporting the template. +// resourceGroupName is the name of the resource group to export as a template. parameters is parameters for exporting +// the template. func (client GroupsClient) ExportTemplate(resourceGroupName string, parameters ExportTemplateRequest) (result GroupExportResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -323,7 +320,7 @@ func (client GroupsClient) ExportTemplatePreparer(resourceGroupName string, para "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -359,8 +356,7 @@ func (client GroupsClient) ExportTemplateResponder(resp *http.Response) (result // Get gets a resource group. // -// resourceGroupName is the name of the resource group to get. The name is case -// insensitive. +// resourceGroupName is the name of the resource group to get. The name is case insensitive. func (client GroupsClient) Get(resourceGroupName string) (result Group, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -398,7 +394,7 @@ func (client GroupsClient) GetPreparer(resourceGroupName string) (*http.Request, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -432,8 +428,8 @@ func (client GroupsClient) GetResponder(resp *http.Response) (result Group, err // List gets all the resource groups for a subscription. // -// filter is the filter to apply on the operation. top is the number of results -// to return. If null is passed, returns all resource groups. +// filter is the filter to apply on the operation. top is the number of results to return. If null is passed, returns +// all resource groups. func (client GroupsClient) List(filter string, top *int32) (result GroupListResult, err error) { req, err := client.ListPreparer(filter, top) if err != nil { @@ -462,7 +458,7 @@ func (client GroupsClient) ListPreparer(filter string, top *int32) (*http.Reques "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -524,159 +520,94 @@ func (client GroupsClient) ListNextResults(lastResults GroupListResult) (result return } -// ListResources get all the resources for a resource group. +// ListComplete gets all elements from the list without paging. +func (client GroupsClient) ListComplete(filter string, top *int32, cancel <-chan struct{}) (<-chan Group, <-chan error) { + resultChan := make(chan Group) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(filter, top) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// Update resource groups can be updated through a simple PATCH operation to a group address. The format of the request +// is the same as that for creating a resource group. If a field is unspecified, the current value is retained. // -// resourceGroupName is the resource group with the resources to get. filter is -// the filter to apply on the operation. expand is the $expand query parameter -// top is the number of results to return. If null is passed, returns all -// resources. -func (client GroupsClient) ListResources(resourceGroupName string, filter string, expand string, top *int32) (result ListResult, err error) { +// resourceGroupName is the name of the resource group to update. The name is case insensitive. parameters is +// parameters supplied to update a resource group. +func (client GroupsClient) Update(resourceGroupName string, parameters GroupPatchable) (result Group, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { - return result, validation.NewErrorWithValidationError(err, "resources.GroupsClient", "ListResources") + return result, validation.NewErrorWithValidationError(err, "resources.GroupsClient", "Update") } - req, err := client.ListResourcesPreparer(resourceGroupName, filter, expand, top) + req, err := client.UpdatePreparer(resourceGroupName, parameters) if err != nil { - err = autorest.NewErrorWithError(err, "resources.GroupsClient", "ListResources", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "resources.GroupsClient", "Update", nil, "Failure preparing request") return } - resp, err := client.ListResourcesSender(req) + resp, err := client.UpdateSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "resources.GroupsClient", "ListResources", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "resources.GroupsClient", "Update", resp, "Failure sending request") return } - result, err = client.ListResourcesResponder(resp) + result, err = client.UpdateResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "resources.GroupsClient", "ListResources", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "resources.GroupsClient", "Update", resp, "Failure responding to request") } return } -// ListResourcesPreparer prepares the ListResources request. -func (client GroupsClient) ListResourcesPreparer(resourceGroupName string, filter string, expand string, top *int32) (*http.Request, error) { +// UpdatePreparer prepares the Update request. +func (client GroupsClient) UpdatePreparer(resourceGroupName string, parameters GroupPatchable) (*http.Request, error) { pathParameters := map[string]interface{}{ "resourceGroupName": autorest.Encode("path", resourceGroupName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if top != nil { - queryParameters["$top"] = autorest.Encode("query", *top) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// ListResourcesSender sends the ListResources request. The method will close the -// http.Response Body if it receives an error. -func (client GroupsClient) ListResourcesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// ListResourcesResponder handles the response to the ListResources request. The method always -// closes the http.Response Body. -func (client GroupsClient) ListResourcesResponder(resp *http.Response) (result ListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListResourcesNextResults retrieves the next set of results, if any. -func (client GroupsClient) ListResourcesNextResults(lastResults ListResult) (result ListResult, err error) { - req, err := lastResults.ListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "resources.GroupsClient", "ListResources", nil, "Failure preparing next results request") - } - if req == nil { - return - } - - resp, err := client.ListResourcesSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "resources.GroupsClient", "ListResources", resp, "Failure sending next results request") - } - - result, err = client.ListResourcesResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "resources.GroupsClient", "ListResources", resp, "Failure responding to next results request") - } - - return -} - -// Patch resource groups can be updated through a simple PATCH operation to a -// group address. The format of the request is the same as that for creating a -// resource group. If a field is unspecified, the current value is retained. -// -// resourceGroupName is the name of the resource group to update. The name is -// case insensitive. parameters is parameters supplied to update a resource -// group. -func (client GroupsClient) Patch(resourceGroupName string, parameters Group) (result Group, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { - return result, validation.NewErrorWithValidationError(err, "resources.GroupsClient", "Patch") - } - - req, err := client.PatchPreparer(resourceGroupName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "resources.GroupsClient", "Patch", nil, "Failure preparing request") - return - } - - resp, err := client.PatchSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "resources.GroupsClient", "Patch", resp, "Failure sending request") - return - } - - result, err = client.PatchResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "resources.GroupsClient", "Patch", resp, "Failure responding to request") - } - - return -} - -// PatchPreparer prepares the Patch request. -func (client GroupsClient) PatchPreparer(resourceGroupName string, parameters Group) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -691,15 +622,15 @@ func (client GroupsClient) PatchPreparer(resourceGroupName string, parameters Gr return preparer.Prepare(&http.Request{}) } -// PatchSender sends the Patch request. The method will close the +// UpdateSender sends the Update request. The method will close the // http.Response Body if it receives an error. -func (client GroupsClient) PatchSender(req *http.Request) (*http.Response, error) { +func (client GroupsClient) UpdateSender(req *http.Request) (*http.Response, error) { return autorest.SendWithSender(client, req) } -// PatchResponder handles the response to the Patch request. The method always +// UpdateResponder handles the response to the Update request. The method always // closes the http.Response Body. -func (client GroupsClient) PatchResponder(resp *http.Response) (result Group, err error) { +func (client GroupsClient) UpdateResponder(resp *http.Response) (result Group, err error) { err = autorest.Respond( resp, client.ByInspecting(), diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/models.go index dd0f06f5f..70bd4c1b3 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/models.go @@ -14,9 +14,8 @@ package resources // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -39,8 +38,7 @@ const ( type ResourceIdentityType string const ( - // SystemAssigned specifies the system assigned state for resource identity - // type. + // SystemAssigned specifies the system assigned state for resource identity type. SystemAssigned ResourceIdentityType = "SystemAssigned" ) @@ -168,8 +166,7 @@ type DeploymentProperties struct { DebugSetting *DebugSetting `json:"debugSetting,omitempty"` } -// DeploymentPropertiesExtended is deployment properties with additional -// details. +// DeploymentPropertiesExtended is deployment properties with additional details. type DeploymentPropertiesExtended struct { ProvisioningState *string `json:"provisioningState,omitempty"` CorrelationID *string `json:"correlationId,omitempty"` @@ -185,8 +182,7 @@ type DeploymentPropertiesExtended struct { DebugSetting *DebugSetting `json:"debugSetting,omitempty"` } -// DeploymentValidateResult is information from validate template deployment -// response. +// DeploymentValidateResult is information from validate template deployment response. type DeploymentValidateResult struct { autorest.Response `json:"-"` Error *ManagementErrorWithDetails `json:"error,omitempty"` @@ -233,7 +229,7 @@ type Group struct { Tags *map[string]*string `json:"tags,omitempty"` } -// GroupExportResult is +// GroupExportResult is resource group export result. type GroupExportResult struct { autorest.Response `json:"-"` Template *map[string]interface{} `json:"template,omitempty"` @@ -265,12 +261,20 @@ func (client GroupListResult) GroupListResultPreparer() (*http.Request, error) { autorest.WithBaseURL(to.String(client.NextLink))) } +// GroupPatchable is resource group information. +type GroupPatchable struct { + Name *string `json:"name,omitempty"` + Properties *GroupProperties `json:"properties,omitempty"` + ManagedBy *string `json:"managedBy,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` +} + // GroupProperties is the resource group properties. type GroupProperties struct { ProvisioningState *string `json:"provisioningState,omitempty"` } -// HTTPMessage is +// HTTPMessage is HTTP message. type HTTPMessage struct { Content *map[string]interface{} `json:"content,omitempty"` } @@ -301,7 +305,7 @@ func (client ListResult) ListResultPreparer() (*http.Request, error) { autorest.WithBaseURL(to.String(client.NextLink))) } -// ManagementErrorWithDetails is +// ManagementErrorWithDetails is the detailed error message of resource management. type ManagementErrorWithDetails struct { Code *string `json:"code,omitempty"` Message *string `json:"message,omitempty"` @@ -315,8 +319,7 @@ type MoveInfo struct { TargetResourceGroup *string `json:"targetResourceGroup,omitempty"` } -// ParametersLink is entity representing the reference to the deployment -// paramaters. +// ParametersLink is entity representing the reference to the deployment paramaters. type ParametersLink struct { URI *string `json:"uri,omitempty"` ContentVersion *string `json:"contentVersion,omitempty"` @@ -358,8 +361,7 @@ func (client ProviderListResult) ProviderListResultPreparer() (*http.Request, er autorest.WithBaseURL(to.String(client.NextLink))) } -// ProviderOperationDisplayProperties is resource provider operation's display -// properties. +// ProviderOperationDisplayProperties is resource provider operation's display properties. type ProviderOperationDisplayProperties struct { Publisher *string `json:"publisher,omitempty"` Provider *string `json:"provider,omitempty"` @@ -377,7 +379,7 @@ type ProviderResourceType struct { Properties *map[string]*string `json:"properties,omitempty"` } -// Resource is +// Resource is resource. type Resource struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` @@ -386,7 +388,7 @@ type Resource struct { Tags *map[string]*string `json:"tags,omitempty"` } -// Sku is sKU for the resource. +// Sku is SKU for the resource. type Sku struct { Name *string `json:"name,omitempty"` Tier *string `json:"tier,omitempty"` @@ -396,7 +398,7 @@ type Sku struct { Capacity *int32 `json:"capacity,omitempty"` } -// SubResource is +// SubResource is sub-resource. type SubResource struct { ID *string `json:"id,omitempty"` } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/providers.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/providers.go index 7fd6dc158..173b4626b 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/providers.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/providers.go @@ -14,9 +14,8 @@ package resources // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,8 +23,7 @@ import ( "net/http" ) -// ProvidersClient is the provides operations for working with resources and -// resource groups. +// ProvidersClient is the provides operations for working with resources and resource groups. type ProvidersClient struct { ManagementClient } @@ -35,17 +33,15 @@ func NewProvidersClient(subscriptionID string) ProvidersClient { return NewProvidersClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewProvidersClientWithBaseURI creates an instance of the ProvidersClient -// client. +// NewProvidersClientWithBaseURI creates an instance of the ProvidersClient client. func NewProvidersClientWithBaseURI(baseURI string, subscriptionID string) ProvidersClient { return ProvidersClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get gets the specified resource provider. // -// resourceProviderNamespace is the namespace of the resource provider. expand -// is the $expand query parameter. For example, to include property aliases in -// response, use $expand=resourceTypes/aliases. +// resourceProviderNamespace is the namespace of the resource provider. expand is the $expand query parameter. For +// example, to include property aliases in response, use $expand=resourceTypes/aliases. func (client ProvidersClient) Get(resourceProviderNamespace string, expand string) (result Provider, err error) { req, err := client.GetPreparer(resourceProviderNamespace, expand) if err != nil { @@ -75,7 +71,7 @@ func (client ProvidersClient) GetPreparer(resourceProviderNamespace string, expa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -112,11 +108,9 @@ func (client ProvidersClient) GetResponder(resp *http.Response) (result Provider // List gets all resource providers for a subscription. // -// top is the number of results to return. If null is passed returns all -// deployments. expand is the properties to include in the results. For -// example, use &$expand=metadata in the query string to retrieve resource -// provider metadata. To include property aliases in response, use -// $expand=resourceTypes/aliases. +// top is the number of results to return. If null is passed returns all deployments. expand is the properties to +// include in the results. For example, use &$expand=metadata in the query string to retrieve resource provider +// metadata. To include property aliases in response, use $expand=resourceTypes/aliases. func (client ProvidersClient) List(top *int32, expand string) (result ProviderListResult, err error) { req, err := client.ListPreparer(top, expand) if err != nil { @@ -145,7 +139,7 @@ func (client ProvidersClient) ListPreparer(top *int32, expand string) (*http.Req "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -207,10 +201,54 @@ func (client ProvidersClient) ListNextResults(lastResults ProviderListResult) (r return } +// ListComplete gets all elements from the list without paging. +func (client ProvidersClient) ListComplete(top *int32, expand string, cancel <-chan struct{}) (<-chan Provider, <-chan error) { + resultChan := make(chan Provider) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(top, expand) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Register registers a subscription with a resource provider. // -// resourceProviderNamespace is the namespace of the resource provider to -// register. +// resourceProviderNamespace is the namespace of the resource provider to register. func (client ProvidersClient) Register(resourceProviderNamespace string) (result Provider, err error) { req, err := client.RegisterPreparer(resourceProviderNamespace) if err != nil { @@ -240,7 +278,7 @@ func (client ProvidersClient) RegisterPreparer(resourceProviderNamespace string) "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -274,8 +312,7 @@ func (client ProvidersClient) RegisterResponder(resp *http.Response) (result Pro // Unregister unregisters a subscription from a resource provider. // -// resourceProviderNamespace is the namespace of the resource provider to -// unregister. +// resourceProviderNamespace is the namespace of the resource provider to unregister. func (client ProvidersClient) Unregister(resourceProviderNamespace string) (result Provider, err error) { req, err := client.UnregisterPreparer(resourceProviderNamespace) if err != nil { @@ -305,7 +342,7 @@ func (client ProvidersClient) UnregisterPreparer(resourceProviderNamespace strin "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/tags.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/tags.go index 445fccf62..a90b390af 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/tags.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/tags.go @@ -14,9 +14,8 @@ package resources // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,8 +23,7 @@ import ( "net/http" ) -// TagsClient is the provides operations for working with resources and -// resource groups. +// TagsClient is the provides operations for working with resources and resource groups. type TagsClient struct { ManagementClient } @@ -40,9 +38,8 @@ func NewTagsClientWithBaseURI(baseURI string, subscriptionID string) TagsClient return TagsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate the tag name can have a maximum of 512 characters and is case -// insensitive. Tag names created by Azure have prefixes of microsoft, azure, -// or windows. You cannot create tags with one of these prefixes. +// CreateOrUpdate the tag name can have a maximum of 512 characters and is case insensitive. Tag names created by Azure +// have prefixes of microsoft, azure, or windows. You cannot create tags with one of these prefixes. // // tagName is the name of the tag to create. func (client TagsClient) CreateOrUpdate(tagName string) (result TagDetails, err error) { @@ -74,7 +71,7 @@ func (client TagsClient) CreateOrUpdatePreparer(tagName string) (*http.Request, "tagName": autorest.Encode("path", tagName), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -106,8 +103,7 @@ func (client TagsClient) CreateOrUpdateResponder(resp *http.Response) (result Ta return } -// CreateOrUpdateValue creates a tag value. The name of the tag must already -// exist. +// CreateOrUpdateValue creates a tag value. The name of the tag must already exist. // // tagName is the name of the tag. tagValue is the value of the tag to create. func (client TagsClient) CreateOrUpdateValue(tagName string, tagValue string) (result TagValue, err error) { @@ -140,7 +136,7 @@ func (client TagsClient) CreateOrUpdateValuePreparer(tagName string, tagValue st "tagValue": autorest.Encode("path", tagValue), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -172,8 +168,7 @@ func (client TagsClient) CreateOrUpdateValueResponder(resp *http.Response) (resu return } -// Delete you must remove all values from a resource tag before you can delete -// it. +// Delete you must remove all values from a resource tag before you can delete it. // // tagName is the name of the tag. func (client TagsClient) Delete(tagName string) (result autorest.Response, err error) { @@ -205,7 +200,7 @@ func (client TagsClient) DeletePreparer(tagName string) (*http.Request, error) { "tagName": autorest.Encode("path", tagName), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -269,7 +264,7 @@ func (client TagsClient) DeleteValuePreparer(tagName string, tagValue string) (* "tagValue": autorest.Encode("path", tagValue), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -300,8 +295,7 @@ func (client TagsClient) DeleteValueResponder(resp *http.Response) (result autor return } -// List gets the names and values of all resource tags that are defined in a -// subscription. +// List gets the names and values of all resource tags that are defined in a subscription. func (client TagsClient) List() (result TagsListResult, err error) { req, err := client.ListPreparer() if err != nil { @@ -330,7 +324,7 @@ func (client TagsClient) ListPreparer() (*http.Request, error) { "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-09-01" + const APIVersion = "2017-05-10" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -385,3 +379,48 @@ func (client TagsClient) ListNextResults(lastResults TagsListResult) (result Tag return } + +// ListComplete gets all elements from the list without paging. +func (client TagsClient) ListComplete(cancel <-chan struct{}) (<-chan TagDetails, <-chan error) { + resultChan := make(chan TagDetails) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/version.go index 23741e489..f1ff686a7 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/resources/version.go @@ -14,16 +14,15 @@ package resources // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-resources/2016-09-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-resources/2017-05-10" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/subscriptions/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/subscriptions/client.go index 31a609091..be46092b9 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/subscriptions/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/subscriptions/client.go @@ -1,9 +1,7 @@ -// Package subscriptions implements the Azure ARM Subscriptions service API -// version 2016-06-01. +// Package subscriptions implements the Azure ARM Subscriptions service API version 2016-06-01. // -// All resource groups and resources exist within subscriptions. These -// operation enable you get information about your subscriptions and tenants. A -// tenant is a dedicated instance of Azure Active Directory (Azure AD) for your +// All resource groups and resources exist within subscriptions. These operation enable you get information about your +// subscriptions and tenants. A tenant is a dedicated instance of Azure Active Directory (Azure AD) for your // organization. package subscriptions @@ -21,9 +19,8 @@ package subscriptions // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/subscriptions/subscriptionsgroup.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/subscriptions/group.go old mode 100755 new mode 100644 similarity index 86% rename from vendor/github.com/Azure/azure-sdk-for-go/arm/resources/subscriptions/subscriptionsgroup.go rename to vendor/github.com/Azure/azure-sdk-for-go/arm/resources/subscriptions/group.go index b8042f65d..77000f7ee --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/subscriptions/subscriptionsgroup.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/subscriptions/group.go @@ -14,9 +14,8 @@ package subscriptions // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,10 +23,9 @@ import ( "net/http" ) -// GroupClient is the all resource groups and resources exist within -// subscriptions. These operation enable you get information about your -// subscriptions and tenants. A tenant is a dedicated instance of Azure Active -// Directory (Azure AD) for your organization. +// GroupClient is the all resource groups and resources exist within subscriptions. These operation enable you get +// information about your subscriptions and tenants. A tenant is a dedicated instance of Azure Active Directory (Azure +// AD) for your organization. type GroupClient struct { ManagementClient } @@ -186,9 +184,53 @@ func (client GroupClient) ListNextResults(lastResults ListResult) (result ListRe return } -// ListLocations this operation provides all the locations that are available -// for resource providers; however, each resource provider may support a subset -// of this list. +// ListComplete gets all elements from the list without paging. +func (client GroupClient) ListComplete(cancel <-chan struct{}) (<-chan Subscription, <-chan error) { + resultChan := make(chan Subscription) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListLocations this operation provides all the locations that are available for resource providers; however, each +// resource provider may support a subset of this list. // // subscriptionID is the ID of the target subscription. func (client GroupClient) ListLocations(subscriptionID string) (result LocationListResult, err error) { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/subscriptions/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/subscriptions/models.go index e2cf1743f..107c5b366 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/subscriptions/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/subscriptions/models.go @@ -14,9 +14,8 @@ package subscriptions // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -28,8 +27,7 @@ import ( type SpendingLimit string const ( - // CurrentPeriodOff specifies the current period off state for spending - // limit. + // CurrentPeriodOff specifies the current period off state for spending limit. CurrentPeriodOff SpendingLimit = "CurrentPeriodOff" // Off specifies the off state for spending limit. Off SpendingLimit = "Off" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/subscriptions/tenants.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/subscriptions/tenants.go index 35b2cd26d..2cd34657e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/subscriptions/tenants.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/subscriptions/tenants.go @@ -14,9 +14,8 @@ package subscriptions // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,10 +23,9 @@ import ( "net/http" ) -// TenantsClient is the all resource groups and resources exist within -// subscriptions. These operation enable you get information about your -// subscriptions and tenants. A tenant is a dedicated instance of Azure Active -// Directory (Azure AD) for your organization. +// TenantsClient is the all resource groups and resources exist within subscriptions. These operation enable you get +// information about your subscriptions and tenants. A tenant is a dedicated instance of Azure Active Directory (Azure +// AD) for your organization. type TenantsClient struct { ManagementClient } @@ -122,3 +120,48 @@ func (client TenantsClient) ListNextResults(lastResults TenantListResult) (resul return } + +// ListComplete gets all elements from the list without paging. +func (client TenantsClient) ListComplete(cancel <-chan struct{}) (<-chan TenantIDDescription, <-chan error) { + resultChan := make(chan TenantIDDescription) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/subscriptions/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/subscriptions/version.go index bc0278900..4413c7b90 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/subscriptions/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/resources/subscriptions/version.go @@ -14,16 +14,15 @@ package subscriptions // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-subscriptions/2016-06-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-subscriptions/2016-06-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/scheduler/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/scheduler/client.go index 4d99f6f11..113dc5553 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/scheduler/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/scheduler/client.go @@ -1,5 +1,4 @@ -// Package scheduler implements the Azure ARM Scheduler service API version -// 2016-03-01. +// Package scheduler implements the Azure ARM Scheduler service API version 2016-03-01. // // package scheduler @@ -18,9 +17,8 @@ package scheduler // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/scheduler/jobcollections.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/scheduler/jobcollections.go index 9e192dad7..47acfe050 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/scheduler/jobcollections.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/scheduler/jobcollections.go @@ -14,9 +14,8 @@ package scheduler // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,29 +23,25 @@ import ( "net/http" ) -// JobCollectionsClient is the client for the JobCollections methods of the -// Scheduler service. +// JobCollectionsClient is the client for the JobCollections methods of the Scheduler service. type JobCollectionsClient struct { ManagementClient } -// NewJobCollectionsClient creates an instance of the JobCollectionsClient -// client. +// NewJobCollectionsClient creates an instance of the JobCollectionsClient client. func NewJobCollectionsClient(subscriptionID string) JobCollectionsClient { return NewJobCollectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewJobCollectionsClientWithBaseURI creates an instance of the -// JobCollectionsClient client. +// NewJobCollectionsClientWithBaseURI creates an instance of the JobCollectionsClient client. func NewJobCollectionsClientWithBaseURI(baseURI string, subscriptionID string) JobCollectionsClient { return JobCollectionsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate provisions a new job collection or updates an existing job -// collection. +// CreateOrUpdate provisions a new job collection or updates an existing job collection. // -// resourceGroupName is the resource group name. jobCollectionName is the job -// collection name. jobCollection is the job collection definition. +// resourceGroupName is the resource group name. jobCollectionName is the job collection name. jobCollection is the job +// collection definition. func (client JobCollectionsClient) CreateOrUpdate(resourceGroupName string, jobCollectionName string, jobCollection JobCollectionDefinition) (result JobCollectionDefinition, err error) { req, err := client.CreateOrUpdatePreparer(resourceGroupName, jobCollectionName, jobCollection) if err != nil { @@ -111,12 +106,10 @@ func (client JobCollectionsClient) CreateOrUpdateResponder(resp *http.Response) return } -// Delete deletes a job collection. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// Delete deletes a job collection. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the resource group name. jobCollectionName is the job -// collection name. +// resourceGroupName is the resource group name. jobCollectionName is the job collection name. func (client JobCollectionsClient) Delete(resourceGroupName string, jobCollectionName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -124,8 +117,10 @@ func (client JobCollectionsClient) Delete(resourceGroupName string, jobCollectio var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -191,13 +186,11 @@ func (client JobCollectionsClient) DeleteResponder(resp *http.Response) (result return } -// Disable disables all of the jobs in the job collection. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// Disable disables all of the jobs in the job collection. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the resource group name. jobCollectionName is the job -// collection name. +// resourceGroupName is the resource group name. jobCollectionName is the job collection name. func (client JobCollectionsClient) Disable(resourceGroupName string, jobCollectionName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -205,8 +198,10 @@ func (client JobCollectionsClient) Disable(resourceGroupName string, jobCollecti var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -272,13 +267,11 @@ func (client JobCollectionsClient) DisableResponder(resp *http.Response) (result return } -// Enable enables all of the jobs in the job collection. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// Enable enables all of the jobs in the job collection. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the resource group name. jobCollectionName is the job -// collection name. +// resourceGroupName is the resource group name. jobCollectionName is the job collection name. func (client JobCollectionsClient) Enable(resourceGroupName string, jobCollectionName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -286,8 +279,10 @@ func (client JobCollectionsClient) Enable(resourceGroupName string, jobCollectio var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -355,8 +350,7 @@ func (client JobCollectionsClient) EnableResponder(resp *http.Response) (result // Get gets a job collection. // -// resourceGroupName is the resource group name. jobCollectionName is the job -// collection name. +// resourceGroupName is the resource group name. jobCollectionName is the job collection name. func (client JobCollectionsClient) Get(resourceGroupName string, jobCollectionName string) (result JobCollectionDefinition, err error) { req, err := client.GetPreparer(resourceGroupName, jobCollectionName) if err != nil { @@ -507,6 +501,51 @@ func (client JobCollectionsClient) ListByResourceGroupNextResults(lastResults Jo return } +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client JobCollectionsClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan JobCollectionDefinition, <-chan error) { + resultChan := make(chan JobCollectionDefinition) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListBySubscription gets all job collections under specified subscription. func (client JobCollectionsClient) ListBySubscription() (result JobCollectionListResult, err error) { req, err := client.ListBySubscriptionPreparer() @@ -592,10 +631,55 @@ func (client JobCollectionsClient) ListBySubscriptionNextResults(lastResults Job return } +// ListBySubscriptionComplete gets all elements from the list without paging. +func (client JobCollectionsClient) ListBySubscriptionComplete(cancel <-chan struct{}) (<-chan JobCollectionDefinition, <-chan error) { + resultChan := make(chan JobCollectionDefinition) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListBySubscription() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListBySubscriptionNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Patch patches an existing job collection. // -// resourceGroupName is the resource group name. jobCollectionName is the job -// collection name. jobCollection is the job collection definition. +// resourceGroupName is the resource group name. jobCollectionName is the job collection name. jobCollection is the job +// collection definition. func (client JobCollectionsClient) Patch(resourceGroupName string, jobCollectionName string, jobCollection JobCollectionDefinition) (result JobCollectionDefinition, err error) { req, err := client.PatchPreparer(resourceGroupName, jobCollectionName, jobCollection) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/scheduler/jobs.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/scheduler/jobs.go index 64eab66c5..86300a7ac 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/scheduler/jobs.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/scheduler/jobs.go @@ -14,9 +14,8 @@ package scheduler // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -42,8 +41,8 @@ func NewJobsClientWithBaseURI(baseURI string, subscriptionID string) JobsClient // CreateOrUpdate provisions a new job or updates an existing job. // -// resourceGroupName is the resource group name. jobCollectionName is the job -// collection name. jobName is the job name. job is the job definition. +// resourceGroupName is the resource group name. jobCollectionName is the job collection name. jobName is the job name. +// job is the job definition. func (client JobsClient) CreateOrUpdate(resourceGroupName string, jobCollectionName string, jobName string, job JobDefinition) (result JobDefinition, err error) { req, err := client.CreateOrUpdatePreparer(resourceGroupName, jobCollectionName, jobName, job) if err != nil { @@ -111,8 +110,7 @@ func (client JobsClient) CreateOrUpdateResponder(resp *http.Response) (result Jo // Delete deletes a job. // -// resourceGroupName is the resource group name. jobCollectionName is the job -// collection name. jobName is the job name. +// resourceGroupName is the resource group name. jobCollectionName is the job collection name. jobName is the job name. func (client JobsClient) Delete(resourceGroupName string, jobCollectionName string, jobName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, jobCollectionName, jobName) if err != nil { @@ -177,8 +175,7 @@ func (client JobsClient) DeleteResponder(resp *http.Response) (result autorest.R // Get gets a job. // -// resourceGroupName is the resource group name. jobCollectionName is the job -// collection name. jobName is the job name. +// resourceGroupName is the resource group name. jobCollectionName is the job collection name. jobName is the job name. func (client JobsClient) Get(resourceGroupName string, jobCollectionName string, jobName string) (result JobDefinition, err error) { req, err := client.GetPreparer(resourceGroupName, jobCollectionName, jobName) if err != nil { @@ -244,9 +241,8 @@ func (client JobsClient) GetResponder(resp *http.Response) (result JobDefinition // List lists all jobs under the specified job collection. // -// resourceGroupName is the resource group name. jobCollectionName is the job -// collection name. top is the number of jobs to request, in the of range of -// [1..100]. skip is the (0-based) index of the job history list from which to +// resourceGroupName is the resource group name. jobCollectionName is the job collection name. top is the number of +// jobs to request, in the of range of [1..100]. skip is the (0-based) index of the job history list from which to // begin requesting entries. filter is the filter to apply on the job state. func (client JobsClient) List(resourceGroupName string, jobCollectionName string, top *int32, skip *int32, filter string) (result JobListResult, err error) { if err := validation.Validate([]validation.Validation{ @@ -352,13 +348,56 @@ func (client JobsClient) ListNextResults(lastResults JobListResult) (result JobL return } +// ListComplete gets all elements from the list without paging. +func (client JobsClient) ListComplete(resourceGroupName string, jobCollectionName string, top *int32, skip *int32, filter string, cancel <-chan struct{}) (<-chan JobDefinition, <-chan error) { + resultChan := make(chan JobDefinition) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(resourceGroupName, jobCollectionName, top, skip, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListJobHistory lists job history. // -// resourceGroupName is the resource group name. jobCollectionName is the job -// collection name. jobName is the job name. top is the number of job history -// to request, in the of range of [1..100]. skip is the (0-based) index of the -// job history list from which to begin requesting entries. filter is the -// filter to apply on the job state. +// resourceGroupName is the resource group name. jobCollectionName is the job collection name. jobName is the job name. +// top is the number of job history to request, in the of range of [1..100]. skip is the (0-based) index of the job +// history list from which to begin requesting entries. filter is the filter to apply on the job state. func (client JobsClient) ListJobHistory(resourceGroupName string, jobCollectionName string, jobName string, top *int32, skip *int32, filter string) (result JobHistoryListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: top, @@ -464,10 +503,55 @@ func (client JobsClient) ListJobHistoryNextResults(lastResults JobHistoryListRes return } +// ListJobHistoryComplete gets all elements from the list without paging. +func (client JobsClient) ListJobHistoryComplete(resourceGroupName string, jobCollectionName string, jobName string, top *int32, skip *int32, filter string, cancel <-chan struct{}) (<-chan JobHistoryDefinition, <-chan error) { + resultChan := make(chan JobHistoryDefinition) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListJobHistory(resourceGroupName, jobCollectionName, jobName, top, skip, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListJobHistoryNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Patch patches an existing job. // -// resourceGroupName is the resource group name. jobCollectionName is the job -// collection name. jobName is the job name. job is the job definition. +// resourceGroupName is the resource group name. jobCollectionName is the job collection name. jobName is the job name. +// job is the job definition. func (client JobsClient) Patch(resourceGroupName string, jobCollectionName string, jobName string, job JobDefinition) (result JobDefinition, err error) { req, err := client.PatchPreparer(resourceGroupName, jobCollectionName, jobName, job) if err != nil { @@ -535,8 +619,7 @@ func (client JobsClient) PatchResponder(resp *http.Response) (result JobDefiniti // Run runs a job. // -// resourceGroupName is the resource group name. jobCollectionName is the job -// collection name. jobName is the job name. +// resourceGroupName is the resource group name. jobCollectionName is the job collection name. jobName is the job name. func (client JobsClient) Run(resourceGroupName string, jobCollectionName string, jobName string) (result autorest.Response, err error) { req, err := client.RunPreparer(resourceGroupName, jobCollectionName, jobName) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/scheduler/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/scheduler/models.go index d465de3bc..4f0eec127 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/scheduler/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/scheduler/models.go @@ -14,9 +14,8 @@ package scheduler // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -49,16 +48,13 @@ const ( type HTTPAuthenticationType string const ( - // ActiveDirectoryOAuth specifies the active directory o auth state for - // http authentication type. + // ActiveDirectoryOAuth specifies the active directory o auth state for http authentication type. ActiveDirectoryOAuth HTTPAuthenticationType = "ActiveDirectoryOAuth" // Basic specifies the basic state for http authentication type. Basic HTTPAuthenticationType = "Basic" - // ClientCertificate specifies the client certificate state for http - // authentication type. + // ClientCertificate specifies the client certificate state for http authentication type. ClientCertificate HTTPAuthenticationType = "ClientCertificate" - // NotSpecified specifies the not specified state for http authentication - // type. + // NotSpecified specifies the not specified state for http authentication type. NotSpecified HTTPAuthenticationType = "NotSpecified" ) @@ -70,11 +66,9 @@ const ( HTTP JobActionType = "Http" // HTTPS specifies the https state for job action type. HTTPS JobActionType = "Https" - // ServiceBusQueue specifies the service bus queue state for job action - // type. + // ServiceBusQueue specifies the service bus queue state for job action type. ServiceBusQueue JobActionType = "ServiceBusQueue" - // ServiceBusTopic specifies the service bus topic state for job action - // type. + // ServiceBusTopic specifies the service bus topic state for job action type. ServiceBusTopic JobActionType = "ServiceBusTopic" // StorageQueue specifies the storage queue state for job action type. StorageQueue JobActionType = "StorageQueue" @@ -110,8 +104,7 @@ const ( type JobHistoryActionName string const ( - // ErrorAction specifies the error action state for job history action - // name. + // ErrorAction specifies the error action state for job history action name. ErrorAction JobHistoryActionName = "ErrorAction" // MainAction specifies the main action state for job history action name. MainAction JobHistoryActionName = "MainAction" @@ -121,26 +114,19 @@ const ( type JobScheduleDay string const ( - // JobScheduleDayFriday specifies the job schedule day friday state for job - // schedule day. + // JobScheduleDayFriday specifies the job schedule day friday state for job schedule day. JobScheduleDayFriday JobScheduleDay = "Friday" - // JobScheduleDayMonday specifies the job schedule day monday state for job - // schedule day. + // JobScheduleDayMonday specifies the job schedule day monday state for job schedule day. JobScheduleDayMonday JobScheduleDay = "Monday" - // JobScheduleDaySaturday specifies the job schedule day saturday state for - // job schedule day. + // JobScheduleDaySaturday specifies the job schedule day saturday state for job schedule day. JobScheduleDaySaturday JobScheduleDay = "Saturday" - // JobScheduleDaySunday specifies the job schedule day sunday state for job - // schedule day. + // JobScheduleDaySunday specifies the job schedule day sunday state for job schedule day. JobScheduleDaySunday JobScheduleDay = "Sunday" - // JobScheduleDayThursday specifies the job schedule day thursday state for - // job schedule day. + // JobScheduleDayThursday specifies the job schedule day thursday state for job schedule day. JobScheduleDayThursday JobScheduleDay = "Thursday" - // JobScheduleDayTuesday specifies the job schedule day tuesday state for - // job schedule day. + // JobScheduleDayTuesday specifies the job schedule day tuesday state for job schedule day. JobScheduleDayTuesday JobScheduleDay = "Tuesday" - // JobScheduleDayWednesday specifies the job schedule day wednesday state - // for job schedule day. + // JobScheduleDayWednesday specifies the job schedule day wednesday state for job schedule day. JobScheduleDayWednesday JobScheduleDay = "Wednesday" ) @@ -184,34 +170,29 @@ const ( None RetryType = "None" ) -// ServiceBusAuthenticationType enumerates the values for service bus -// authentication type. +// ServiceBusAuthenticationType enumerates the values for service bus authentication type. type ServiceBusAuthenticationType string const ( - // ServiceBusAuthenticationTypeNotSpecified specifies the service bus - // authentication type not specified state for service bus authentication - // type. + // ServiceBusAuthenticationTypeNotSpecified specifies the service bus authentication type not specified state for + // service bus authentication type. ServiceBusAuthenticationTypeNotSpecified ServiceBusAuthenticationType = "NotSpecified" - // ServiceBusAuthenticationTypeSharedAccessKey specifies the service bus - // authentication type shared access key state for service bus - // authentication type. + // ServiceBusAuthenticationTypeSharedAccessKey specifies the service bus authentication type shared access key state + // for service bus authentication type. ServiceBusAuthenticationTypeSharedAccessKey ServiceBusAuthenticationType = "SharedAccessKey" ) -// ServiceBusTransportType enumerates the values for service bus transport -// type. +// ServiceBusTransportType enumerates the values for service bus transport type. type ServiceBusTransportType string const ( - // ServiceBusTransportTypeAMQP specifies the service bus transport type - // amqp state for service bus transport type. + // ServiceBusTransportTypeAMQP specifies the service bus transport type amqp state for service bus transport type. ServiceBusTransportTypeAMQP ServiceBusTransportType = "AMQP" - // ServiceBusTransportTypeNetMessaging specifies the service bus transport - // type net messaging state for service bus transport type. + // ServiceBusTransportTypeNetMessaging specifies the service bus transport type net messaging state for service bus + // transport type. ServiceBusTransportTypeNetMessaging ServiceBusTransportType = "NetMessaging" - // ServiceBusTransportTypeNotSpecified specifies the service bus transport - // type not specified state for service bus transport type. + // ServiceBusTransportTypeNotSpecified specifies the service bus transport type not specified state for service bus + // transport type. ServiceBusTransportTypeNotSpecified ServiceBusTransportType = "NotSpecified" ) diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/scheduler/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/scheduler/version.go index 0cc1eab60..211ca2e00 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/scheduler/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/scheduler/version.go @@ -14,16 +14,15 @@ package scheduler // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-scheduler/2016-03-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-scheduler/2016-03-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/search/adminkeys.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/search/adminkeys.go index 1f53128ee..5cfa9c79a 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/search/adminkeys.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/search/adminkeys.go @@ -14,19 +14,17 @@ package search // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/azure" - "github.com/satori/uuid" + uuid "github.com/satori/go.uuid" "net/http" ) -// AdminKeysClient is the client that can be used to manage Azure Search -// services and API keys. +// AdminKeysClient is the client that can be used to manage Azure Search services and API keys. type AdminKeysClient struct { ManagementClient } @@ -36,21 +34,17 @@ func NewAdminKeysClient(subscriptionID string) AdminKeysClient { return NewAdminKeysClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewAdminKeysClientWithBaseURI creates an instance of the AdminKeysClient -// client. +// NewAdminKeysClientWithBaseURI creates an instance of the AdminKeysClient client. func NewAdminKeysClientWithBaseURI(baseURI string, subscriptionID string) AdminKeysClient { return AdminKeysClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Get gets the primary and secondary admin API keys for the specified Azure -// Search service. +// Get gets the primary and secondary admin API keys for the specified Azure Search service. // -// resourceGroupName is the name of the resource group within the current -// subscription. You can obtain this value from the Azure Resource Manager API -// or the portal. searchServiceName is the name of the Azure Search service -// associated with the specified resource group. clientRequestID is a -// client-generated GUID value that identifies this request. If specified, this -// will be included in response information as a way to track the request. +// resourceGroupName is the name of the resource group within the current subscription. You can obtain this value from +// the Azure Resource Manager API or the portal. searchServiceName is the name of the Azure Search service associated +// with the specified resource group. clientRequestID is a client-generated GUID value that identifies this request. If +// specified, this will be included in response information as a way to track the request. func (client AdminKeysClient) Get(resourceGroupName string, searchServiceName string, clientRequestID *uuid.UUID) (result AdminKeyResult, err error) { req, err := client.GetPreparer(resourceGroupName, searchServiceName, clientRequestID) if err != nil { @@ -117,17 +111,13 @@ func (client AdminKeysClient) GetResponder(resp *http.Response) (result AdminKey return } -// Regenerate regenerates either the primary or secondary admin API key. You -// can only regenerate one key at a time. +// Regenerate regenerates either the primary or secondary admin API key. You can only regenerate one key at a time. // -// resourceGroupName is the name of the resource group within the current -// subscription. You can obtain this value from the Azure Resource Manager API -// or the portal. searchServiceName is the name of the Azure Search service -// associated with the specified resource group. keyKind is specifies which key -// to regenerate. Valid values include 'primary' and 'secondary'. -// clientRequestID is a client-generated GUID value that identifies this -// request. If specified, this will be included in response information as a -// way to track the request. +// resourceGroupName is the name of the resource group within the current subscription. You can obtain this value from +// the Azure Resource Manager API or the portal. searchServiceName is the name of the Azure Search service associated +// with the specified resource group. keyKind is specifies which key to regenerate. Valid values include 'primary' and +// 'secondary'. clientRequestID is a client-generated GUID value that identifies this request. If specified, this will +// be included in response information as a way to track the request. func (client AdminKeysClient) Regenerate(resourceGroupName string, searchServiceName string, keyKind AdminKeyKind, clientRequestID *uuid.UUID) (result AdminKeyResult, err error) { req, err := client.RegeneratePreparer(resourceGroupName, searchServiceName, keyKind, clientRequestID) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/search/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/search/client.go index 06993d493..dee6991e0 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/search/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/search/client.go @@ -1,5 +1,4 @@ -// Package search implements the Azure ARM Search service API version -// 2015-08-19. +// Package search implements the Azure ARM Search service API version 2015-08-19. // // Client that can be used to manage Azure Search services and API keys. package search @@ -18,9 +17,8 @@ package search // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/search/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/search/models.go index 7716a21f7..eae8e7e57 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/search/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/search/models.go @@ -14,9 +14,8 @@ package search // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -58,23 +57,17 @@ const ( type ServiceStatus string const ( - // ServiceStatusDegraded specifies the service status degraded state for - // service status. + // ServiceStatusDegraded specifies the service status degraded state for service status. ServiceStatusDegraded ServiceStatus = "degraded" - // ServiceStatusDeleting specifies the service status deleting state for - // service status. + // ServiceStatusDeleting specifies the service status deleting state for service status. ServiceStatusDeleting ServiceStatus = "deleting" - // ServiceStatusDisabled specifies the service status disabled state for - // service status. + // ServiceStatusDisabled specifies the service status disabled state for service status. ServiceStatusDisabled ServiceStatus = "disabled" - // ServiceStatusError specifies the service status error state for service - // status. + // ServiceStatusError specifies the service status error state for service status. ServiceStatusError ServiceStatus = "error" - // ServiceStatusProvisioning specifies the service status provisioning - // state for service status. + // ServiceStatusProvisioning specifies the service status provisioning state for service status. ServiceStatusProvisioning ServiceStatus = "provisioning" - // ServiceStatusRunning specifies the service status running state for - // service status. + // ServiceStatusRunning specifies the service status running state for service status. ServiceStatusRunning ServiceStatus = "running" ) @@ -98,15 +91,13 @@ const ( type UnavailableNameReason string const ( - // AlreadyExists specifies the already exists state for unavailable name - // reason. + // AlreadyExists specifies the already exists state for unavailable name reason. AlreadyExists UnavailableNameReason = "AlreadyExists" // Invalid specifies the invalid state for unavailable name reason. Invalid UnavailableNameReason = "Invalid" ) -// AdminKeyResult is response containing the primary and secondary admin API -// keys for a given Azure Search service. +// AdminKeyResult is response containing the primary and secondary admin API keys for a given Azure Search service. type AdminKeyResult struct { autorest.Response `json:"-"` PrimaryKey *string `json:"primaryKey,omitempty"` @@ -132,8 +123,7 @@ type CloudError struct { Error *CloudErrorBody `json:"error,omitempty"` } -// CloudErrorBody is describes a particular API error with an error code and a -// message. +// CloudErrorBody is describes a particular API error with an error code and a message. type CloudErrorBody struct { Code *string `json:"code,omitempty"` Message *string `json:"message,omitempty"` @@ -141,15 +131,13 @@ type CloudErrorBody struct { Details *[]CloudErrorBody `json:"details,omitempty"` } -// ListQueryKeysResult is response containing the query API keys for a given -// Azure Search service. +// ListQueryKeysResult is response containing the query API keys for a given Azure Search service. type ListQueryKeysResult struct { autorest.Response `json:"-"` Value *[]QueryKey `json:"value,omitempty"` } -// QueryKey is describes an API key for a given Azure Search service that has -// permissions for query operations only. +// QueryKey is describes an API key for a given Azure Search service that has permissions for query operations only. type QueryKey struct { autorest.Response `json:"-"` Name *string `json:"name,omitempty"` @@ -193,8 +181,7 @@ type ServiceProperties struct { ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` } -// Sku is defines the SKU of an Azure Search Service, which determines price -// tier and capacity limits. +// Sku is defines the SKU of an Azure Search Service, which determines price tier and capacity limits. type Sku struct { Name SkuName `json:"name,omitempty"` } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/search/querykeys.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/search/querykeys.go index 087fd21db..b96f9fbca 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/search/querykeys.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/search/querykeys.go @@ -14,19 +14,17 @@ package search // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/azure" - "github.com/satori/uuid" + uuid "github.com/satori/go.uuid" "net/http" ) -// QueryKeysClient is the client that can be used to manage Azure Search -// services and API keys. +// QueryKeysClient is the client that can be used to manage Azure Search services and API keys. type QueryKeysClient struct { ManagementClient } @@ -36,22 +34,18 @@ func NewQueryKeysClient(subscriptionID string) QueryKeysClient { return NewQueryKeysClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewQueryKeysClientWithBaseURI creates an instance of the QueryKeysClient -// client. +// NewQueryKeysClientWithBaseURI creates an instance of the QueryKeysClient client. func NewQueryKeysClientWithBaseURI(baseURI string, subscriptionID string) QueryKeysClient { return QueryKeysClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Create generates a new query key for the specified Search service. You can -// create up to 50 query keys per service. +// Create generates a new query key for the specified Search service. You can create up to 50 query keys per service. // -// resourceGroupName is the name of the resource group within the current -// subscription. You can obtain this value from the Azure Resource Manager API -// or the portal. searchServiceName is the name of the Azure Search service -// associated with the specified resource group. name is the name of the new -// query API key. clientRequestID is a client-generated GUID value that -// identifies this request. If specified, this will be included in response -// information as a way to track the request. +// resourceGroupName is the name of the resource group within the current subscription. You can obtain this value from +// the Azure Resource Manager API or the portal. searchServiceName is the name of the Azure Search service associated +// with the specified resource group. name is the name of the new query API key. clientRequestID is a client-generated +// GUID value that identifies this request. If specified, this will be included in response information as a way to +// track the request. func (client QueryKeysClient) Create(resourceGroupName string, searchServiceName string, name string, clientRequestID *uuid.UUID) (result QueryKey, err error) { req, err := client.CreatePreparer(resourceGroupName, searchServiceName, name, clientRequestID) if err != nil { @@ -119,17 +113,14 @@ func (client QueryKeysClient) CreateResponder(resp *http.Response) (result Query return } -// Delete deletes the specified query key. Unlike admin keys, query keys are -// not regenerated. The process for regenerating a query key is to delete and -// then recreate it. +// Delete deletes the specified query key. Unlike admin keys, query keys are not regenerated. The process for +// regenerating a query key is to delete and then recreate it. // -// resourceGroupName is the name of the resource group within the current -// subscription. You can obtain this value from the Azure Resource Manager API -// or the portal. searchServiceName is the name of the Azure Search service -// associated with the specified resource group. key is the query key to be -// deleted. Query keys are identified by value, not by name. clientRequestID is -// a client-generated GUID value that identifies this request. If specified, -// this will be included in response information as a way to track the request. +// resourceGroupName is the name of the resource group within the current subscription. You can obtain this value from +// the Azure Resource Manager API or the portal. searchServiceName is the name of the Azure Search service associated +// with the specified resource group. key is the query key to be deleted. Query keys are identified by value, not by +// name. clientRequestID is a client-generated GUID value that identifies this request. If specified, this will be +// included in response information as a way to track the request. func (client QueryKeysClient) Delete(resourceGroupName string, searchServiceName string, key string, clientRequestID *uuid.UUID) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, searchServiceName, key, clientRequestID) if err != nil { @@ -196,15 +187,12 @@ func (client QueryKeysClient) DeleteResponder(resp *http.Response) (result autor return } -// ListBySearchService returns the list of query API keys for the given Azure -// Search service. +// ListBySearchService returns the list of query API keys for the given Azure Search service. // -// resourceGroupName is the name of the resource group within the current -// subscription. You can obtain this value from the Azure Resource Manager API -// or the portal. searchServiceName is the name of the Azure Search service -// associated with the specified resource group. clientRequestID is a -// client-generated GUID value that identifies this request. If specified, this -// will be included in response information as a way to track the request. +// resourceGroupName is the name of the resource group within the current subscription. You can obtain this value from +// the Azure Resource Manager API or the portal. searchServiceName is the name of the Azure Search service associated +// with the specified resource group. clientRequestID is a client-generated GUID value that identifies this request. If +// specified, this will be included in response information as a way to track the request. func (client QueryKeysClient) ListBySearchService(resourceGroupName string, searchServiceName string, clientRequestID *uuid.UUID) (result ListQueryKeysResult, err error) { req, err := client.ListBySearchServicePreparer(resourceGroupName, searchServiceName, clientRequestID) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/search/services.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/search/services.go index eaa4896b9..bdcb5e070 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/search/services.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/search/services.go @@ -14,20 +14,18 @@ package search // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/azure" "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/uuid" + uuid "github.com/satori/go.uuid" "net/http" ) -// ServicesClient is the client that can be used to manage Azure Search -// services and API keys. +// ServicesClient is the client that can be used to manage Azure Search services and API keys. type ServicesClient struct { ManagementClient } @@ -37,20 +35,17 @@ func NewServicesClient(subscriptionID string) ServicesClient { return NewServicesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewServicesClientWithBaseURI creates an instance of the ServicesClient -// client. +// NewServicesClientWithBaseURI creates an instance of the ServicesClient client. func NewServicesClientWithBaseURI(baseURI string, subscriptionID string) ServicesClient { return ServicesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CheckNameAvailability checks whether or not the given Search service name is -// available for use. Search service names must be globally unique since they -// are part of the service URI (https://.search.windows.net). +// CheckNameAvailability checks whether or not the given Search service name is available for use. Search service names +// must be globally unique since they are part of the service URI (https://.search.windows.net). // -// checkNameAvailabilityInput is the resource name and type to check. -// clientRequestID is a client-generated GUID value that identifies this -// request. If specified, this will be included in response information as a -// way to track the request. +// checkNameAvailabilityInput is the resource name and type to check. clientRequestID is a client-generated GUID value +// that identifies this request. If specified, this will be included in response information as a way to track the +// request. func (client ServicesClient) CheckNameAvailability(checkNameAvailabilityInput CheckNameAvailabilityInput, clientRequestID *uuid.UUID) (result CheckNameAvailabilityOutput, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: checkNameAvailabilityInput, @@ -124,23 +119,22 @@ func (client ServicesClient) CheckNameAvailabilityResponder(resp *http.Response) return } -// CreateOrUpdate creates or updates a Search service in the given resource -// group. If the Search service already exists, all properties will be updated -// with the given values. +// CreateOrUpdate creates or updates a Search service in the given resource group. If the Search service already +// exists, all properties will be updated with the given values. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the name of the resource group within the current -// subscription. You can obtain this value from the Azure Resource Manager API -// or the portal. searchServiceName is the name of the Azure Search service to -// create or update. Search service names must only contain lowercase letters, -// digits or dashes, cannot use dash as the first two or last one characters, -// cannot contain consecutive dashes, and must be between 2 and 60 characters -// in length. Search service names must be globally unique since they are part -// of the service URI (https://.search.windows.net). You cannot change -// the service name after the service is created. service is the definition of -// the Search service to create or update. clientRequestID is a -// client-generated GUID value that identifies this request. If specified, this +// resourceGroupName is the name of the resource group within the current subscription. You can obtain this value from +// the Azure Resource Manager API or the portal. searchServiceName is the name of the Azure Search service to create or +// update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two +// or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search +// service names must be globally unique since they are part of the service URI (https://.search.windows.net). +// You cannot change the service name after the service is created. service is the definition of the Search service to +// create or update. clientRequestID is a client-generated GUID value that identifies this request. If specified, this // will be included in response information as a way to track the request. -func (client ServicesClient) CreateOrUpdate(resourceGroupName string, searchServiceName string, service Service, clientRequestID *uuid.UUID) (result Service, err error) { +func (client ServicesClient) CreateOrUpdate(resourceGroupName string, searchServiceName string, service Service, clientRequestID *uuid.UUID, cancel <-chan struct{}) (<-chan Service, <-chan error) { + resultChan := make(chan Service, 1) + errChan := make(chan error, 1) if err := validation.Validate([]validation.Validation{ {TargetValue: service, Constraints: []validation.Constraint{{Target: "service.ServiceProperties", Name: validation.Null, Rule: false, @@ -154,32 +148,46 @@ func (client ServicesClient) CreateOrUpdate(resourceGroupName string, searchServ }}, }}, {Target: "service.Sku", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewErrorWithValidationError(err, "search.ServicesClient", "CreateOrUpdate") + errChan <- validation.NewErrorWithValidationError(err, "search.ServicesClient", "CreateOrUpdate") + close(errChan) + close(resultChan) + return resultChan, errChan } - req, err := client.CreateOrUpdatePreparer(resourceGroupName, searchServiceName, service, clientRequestID) - if err != nil { - err = autorest.NewErrorWithError(err, "search.ServicesClient", "CreateOrUpdate", nil, "Failure preparing request") - return - } + go func() { + var err error + var result Service + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, searchServiceName, service, clientRequestID, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "search.ServicesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } - resp, err := client.CreateOrUpdateSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "search.ServicesClient", "CreateOrUpdate", resp, "Failure sending request") - return - } + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "search.ServicesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } - result, err = client.CreateOrUpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "search.ServicesClient", "CreateOrUpdate", resp, "Failure responding to request") - } - - return + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "search.ServicesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan } // CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client ServicesClient) CreateOrUpdatePreparer(resourceGroupName string, searchServiceName string, service Service, clientRequestID *uuid.UUID) (*http.Request, error) { +func (client ServicesClient) CreateOrUpdatePreparer(resourceGroupName string, searchServiceName string, service Service, clientRequestID *uuid.UUID, cancel <-chan struct{}) (*http.Request, error) { pathParameters := map[string]interface{}{ "resourceGroupName": autorest.Encode("path", resourceGroupName), "searchServiceName": autorest.Encode("path", searchServiceName), @@ -202,13 +210,15 @@ func (client ServicesClient) CreateOrUpdatePreparer(resourceGroupName string, se preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("x-ms-client-request-id", autorest.String(clientRequestID))) } - return preparer.Prepare(&http.Request{}) + return preparer.Prepare(&http.Request{Cancel: cancel}) } // CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the // http.Response Body if it receives an error. func (client ServicesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) } // CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always @@ -224,15 +234,12 @@ func (client ServicesClient) CreateOrUpdateResponder(resp *http.Response) (resul return } -// Delete deletes a Search service in the given resource group, along with its -// associated resources. +// Delete deletes a Search service in the given resource group, along with its associated resources. // -// resourceGroupName is the name of the resource group within the current -// subscription. You can obtain this value from the Azure Resource Manager API -// or the portal. searchServiceName is the name of the Azure Search service -// associated with the specified resource group. clientRequestID is a -// client-generated GUID value that identifies this request. If specified, this -// will be included in response information as a way to track the request. +// resourceGroupName is the name of the resource group within the current subscription. You can obtain this value from +// the Azure Resource Manager API or the portal. searchServiceName is the name of the Azure Search service associated +// with the specified resource group. clientRequestID is a client-generated GUID value that identifies this request. If +// specified, this will be included in response information as a way to track the request. func (client ServicesClient) Delete(resourceGroupName string, searchServiceName string, clientRequestID *uuid.UUID) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, searchServiceName, clientRequestID) if err != nil { @@ -300,12 +307,10 @@ func (client ServicesClient) DeleteResponder(resp *http.Response) (result autore // Get gets the Search service with the given name in the given resource group. // -// resourceGroupName is the name of the resource group within the current -// subscription. You can obtain this value from the Azure Resource Manager API -// or the portal. searchServiceName is the name of the Azure Search service -// associated with the specified resource group. clientRequestID is a -// client-generated GUID value that identifies this request. If specified, this -// will be included in response information as a way to track the request. +// resourceGroupName is the name of the resource group within the current subscription. You can obtain this value from +// the Azure Resource Manager API or the portal. searchServiceName is the name of the Azure Search service associated +// with the specified resource group. clientRequestID is a client-generated GUID value that identifies this request. If +// specified, this will be included in response information as a way to track the request. func (client ServicesClient) Get(resourceGroupName string, searchServiceName string, clientRequestID *uuid.UUID) (result Service, err error) { req, err := client.GetPreparer(resourceGroupName, searchServiceName, clientRequestID) if err != nil { @@ -372,14 +377,11 @@ func (client ServicesClient) GetResponder(resp *http.Response) (result Service, return } -// ListByResourceGroup gets a list of all Search services in the given resource -// group. +// ListByResourceGroup gets a list of all Search services in the given resource group. // -// resourceGroupName is the name of the resource group within the current -// subscription. You can obtain this value from the Azure Resource Manager API -// or the portal. clientRequestID is a client-generated GUID value that -// identifies this request. If specified, this will be included in response -// information as a way to track the request. +// resourceGroupName is the name of the resource group within the current subscription. You can obtain this value from +// the Azure Resource Manager API or the portal. clientRequestID is a client-generated GUID value that identifies this +// request. If specified, this will be included in response information as a way to track the request. func (client ServicesClient) ListByResourceGroup(resourceGroupName string, clientRequestID *uuid.UUID) (result ServiceListResult, err error) { req, err := client.ListByResourceGroupPreparer(resourceGroupName, clientRequestID) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/search/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/search/version.go index a7cfb885b..69a89c403 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/search/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/search/version.go @@ -14,16 +14,15 @@ package search // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-search/2015-08-19" + return "Azure-SDK-For-Go/v11.0.0-beta arm-search/2015-08-19" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/client.go index ab6f67d75..bd1d28ed8 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/client.go @@ -1,5 +1,4 @@ -// Package servermanagement implements the Azure ARM Servermanagement service -// API version 2016-07-01-preview. +// Package servermanagement implements the Azure ARM Servermanagement service API version 2016-07-01-preview. // // REST API for Azure Server Management Service. package servermanagement @@ -18,9 +17,8 @@ package servermanagement // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/gateway.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/gateway.go index 4219f1bb5..b6cffa258 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/gateway.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/gateway.go @@ -14,9 +14,8 @@ package servermanagement // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// GatewayClient is the rEST API for Azure Server Management Service. +// GatewayClient is the REST API for Azure Server Management Service. type GatewayClient struct { ManagementClient } @@ -40,15 +39,13 @@ func NewGatewayClientWithBaseURI(baseURI string, subscriptionID string) GatewayC return GatewayClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Create creates or updates a ManagementService gateway. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// Create creates or updates a ManagementService gateway. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscriptionId. gatewayName is the gateway -// name (256 characters maximum). gatewayParameters is parameters supplied to -// the CreateOrUpdate operation. +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscriptionId. +// gatewayName is the gateway name (256 characters maximum). gatewayParameters is parameters supplied to the +// CreateOrUpdate operation. func (client GatewayClient) Create(resourceGroupName string, gatewayName string, gatewayParameters GatewayParameters, cancel <-chan struct{}) (<-chan GatewayResource, <-chan error) { resultChan := make(chan GatewayResource, 1) errChan := make(chan error, 1) @@ -70,8 +67,10 @@ func (client GatewayClient) Create(resourceGroupName string, gatewayName string, var err error var result GatewayResource defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -142,9 +141,8 @@ func (client GatewayClient) CreateResponder(resp *http.Response) (result Gateway // Delete deletes a gateway from a resource group. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscriptionId. gatewayName is the gateway -// name (256 characters maximum). +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscriptionId. +// gatewayName is the gateway name (256 characters maximum). func (client GatewayClient) Delete(resourceGroupName string, gatewayName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -219,11 +217,9 @@ func (client GatewayClient) DeleteResponder(resp *http.Response) (result autores // Get gets a gateway. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscriptionId. gatewayName is the gateway -// name (256 characters maximum) expand is gets subscription credentials which -// uniquely identify Microsoft Azure subscription. The subscription ID forms -// part of the URI for every service call. +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscriptionId. +// gatewayName is the gateway name (256 characters maximum) expand is gets subscription credentials which uniquely +// identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. func (client GatewayClient) Get(resourceGroupName string, gatewayName string, expand GatewayExpandOption) (result GatewayResource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -300,13 +296,11 @@ func (client GatewayClient) GetResponder(resp *http.Response) (result GatewayRes return } -// GetProfile gets a gateway profile. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// GetProfile gets a gateway profile. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscriptionId. gatewayName is the gateway -// name (256 characters maximum). +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscriptionId. +// gatewayName is the gateway name (256 characters maximum). func (client GatewayClient) GetProfile(resourceGroupName string, gatewayName string, cancel <-chan struct{}) (<-chan GatewayProfile, <-chan error) { resultChan := make(chan GatewayProfile, 1) errChan := make(chan error, 1) @@ -328,8 +322,10 @@ func (client GatewayClient) GetProfile(resourceGroupName string, gatewayName str var err error var result GatewayProfile defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -481,10 +477,54 @@ func (client GatewayClient) ListNextResults(lastResults GatewayResources) (resul return } +// ListComplete gets all elements from the list without paging. +func (client GatewayClient) ListComplete(cancel <-chan struct{}) (<-chan GatewayResource, <-chan error) { + resultChan := make(chan GatewayResource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListForResourceGroup returns gateways in a resource group. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscriptionId. +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscriptionId. func (client GatewayClient) ListForResourceGroup(resourceGroupName string) (result GatewayResources, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -577,14 +617,56 @@ func (client GatewayClient) ListForResourceGroupNextResults(lastResults GatewayR return } -// RegenerateProfile regenerate a gateway's profile This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// ListForResourceGroupComplete gets all elements from the list without paging. +func (client GatewayClient) ListForResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan GatewayResource, <-chan error) { + resultChan := make(chan GatewayResource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListForResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListForResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// RegenerateProfile regenerate a gateway's profile This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscriptionId. gatewayName is the gateway -// name (256 characters maximum). +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscriptionId. +// gatewayName is the gateway name (256 characters maximum). func (client GatewayClient) RegenerateProfile(resourceGroupName string, gatewayName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -606,8 +688,10 @@ func (client GatewayClient) RegenerateProfile(resourceGroupName string, gatewayN var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -673,15 +757,13 @@ func (client GatewayClient) RegenerateProfileResponder(resp *http.Response) (res return } -// Update updates a gateway belonging to a resource group. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// Update updates a gateway belonging to a resource group. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscriptionId. gatewayName is the gateway -// name (256 characters maximum). gatewayParameters is parameters supplied to -// the Update operation. +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscriptionId. +// gatewayName is the gateway name (256 characters maximum). gatewayParameters is parameters supplied to the Update +// operation. func (client GatewayClient) Update(resourceGroupName string, gatewayName string, gatewayParameters GatewayParameters, cancel <-chan struct{}) (<-chan GatewayResource, <-chan error) { resultChan := make(chan GatewayResource, 1) errChan := make(chan error, 1) @@ -703,8 +785,10 @@ func (client GatewayClient) Update(resourceGroupName string, gatewayName string, var err error var result GatewayResource defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -773,13 +857,11 @@ func (client GatewayClient) UpdateResponder(resp *http.Response) (result Gateway return } -// Upgrade upgrades a gateway. This method may poll for completion. Polling can -// be canceled by passing the cancel channel argument. The channel will be used -// to cancel polling and any outstanding HTTP requests. +// Upgrade upgrades a gateway. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscriptionId. gatewayName is the gateway -// name (256 characters maximum). +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscriptionId. +// gatewayName is the gateway name (256 characters maximum). func (client GatewayClient) Upgrade(resourceGroupName string, gatewayName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -801,8 +883,10 @@ func (client GatewayClient) Upgrade(resourceGroupName string, gatewayName string var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/models.go index 8c91d39b3..704599704 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/models.go @@ -14,9 +14,8 @@ package servermanagement // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -29,8 +28,7 @@ import ( type CredentialDataFormat string const ( - // RsaEncrypted specifies the rsa encrypted state for credential data - // format. + // RsaEncrypted specifies the rsa encrypted state for credential data format. RsaEncrypted CredentialDataFormat = "RsaEncrypted" ) @@ -99,8 +97,7 @@ type Error struct { Fields *string `json:"fields,omitempty"` } -// GatewayParameters is collection of parameters for operations on a gateway -// resource. +// GatewayParameters is collection of parameters for operations on a gateway resource. type GatewayParameters struct { Location *string `json:"location,omitempty"` Tags *map[string]interface{} `json:"tags,omitempty"` @@ -112,8 +109,7 @@ type GatewayParametersProperties struct { UpgradeMode UpgradeMode `json:"upgradeMode,omitempty"` } -// GatewayProfile is jSON properties that the gateway service uses know how to -// communicate with the resource. +// GatewayProfile is JSON properties that the gateway service uses know how to communicate with the resource. type GatewayProfile struct { autorest.Response `json:"-"` DataPlaneServiceBaseAddress *string `json:"dataPlaneServiceBaseAddress,omitempty"` @@ -252,8 +248,7 @@ func (client NodeResources) NodeResourcesPreparer() (*http.Request, error) { autorest.WithBaseURL(to.String(client.NextLink))) } -// PowerShellCommandParameters is the parameters to a PowerShell script -// execution command. +// PowerShellCommandParameters is the parameters to a PowerShell script execution command. type PowerShellCommandParameters struct { *PowerShellCommandParametersProperties `json:"properties,omitempty"` } @@ -277,8 +272,7 @@ type PowerShellCommandResult struct { Descriptions *[]PromptFieldDescription `json:"descriptions,omitempty"` } -// PowerShellCommandResults is a collection of results from a PowerShell -// command. +// PowerShellCommandResults is a collection of results from a PowerShell command. type PowerShellCommandResults struct { autorest.Response `json:"-"` Results *[]PowerShellCommandResult `json:"results,omitempty"` @@ -299,8 +293,7 @@ type PowerShellCommandStatus struct { *PowerShellCommandResults `json:"properties,omitempty"` } -// PowerShellSessionResource is a PowerShell session resource (practically -// equivalent to a runspace instance). +// PowerShellSessionResource is a PowerShell session resource (practically equivalent to a runspace instance). type PowerShellSessionResource struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -330,21 +323,19 @@ type PowerShellSessionResources struct { NextLink *string `json:"nextLink,omitempty"` } -// PowerShellTabCompletionParameters is collection of parameters for PowerShell -// tab completion. +// PowerShellTabCompletionParameters is collection of parameters for PowerShell tab completion. type PowerShellTabCompletionParameters struct { Command *string `json:"command,omitempty"` } -// PowerShellTabCompletionResults is an array of strings representing the -// different values that can be selected through. +// PowerShellTabCompletionResults is an array of strings representing the different values that can be selected +// through. type PowerShellTabCompletionResults struct { autorest.Response `json:"-"` Results *[]string `json:"results,omitempty"` } -// PromptFieldDescription is field description for the implementation of -// PSHostUserInterface.Prompt +// PromptFieldDescription is field description for the implementation of PSHostUserInterface.Prompt type PromptFieldDescription struct { Name *string `json:"name,omitempty"` Label *string `json:"label,omitempty"` @@ -368,8 +359,7 @@ type Resource struct { Etag *string `json:"etag,omitempty"` } -// SessionParameters is parameter collection for creation and other operations -// on sessions. +// SessionParameters is parameter collection for creation and other operations on sessions. type SessionParameters struct { *SessionParametersProperties `json:"properties,omitempty"` } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/node.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/node.go index 7970bb70a..cb181e311 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/node.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/node.go @@ -14,9 +14,8 @@ package servermanagement // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// NodeClient is the rEST API for Azure Server Management Service. +// NodeClient is the REST API for Azure Server Management Service. type NodeClient struct { ManagementClient } @@ -40,15 +39,12 @@ func NewNodeClientWithBaseURI(baseURI string, subscriptionID string) NodeClient return NodeClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Create creates or updates a management node. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Create creates or updates a management node. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscriptionId. nodeName is the node name -// (256 characters maximum). gatewayParameters is parameters supplied to the -// CreateOrUpdate operation. +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscriptionId. +// nodeName is the node name (256 characters maximum). gatewayParameters is parameters supplied to the CreateOrUpdate +// operation. func (client NodeClient) Create(resourceGroupName string, nodeName string, gatewayParameters NodeParameters, cancel <-chan struct{}) (<-chan NodeResource, <-chan error) { resultChan := make(chan NodeResource, 1) errChan := make(chan error, 1) @@ -70,8 +66,10 @@ func (client NodeClient) Create(resourceGroupName string, nodeName string, gatew var err error var result NodeResource defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -142,9 +140,8 @@ func (client NodeClient) CreateResponder(resp *http.Response) (result NodeResour // Delete deletes a management node // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscriptionId. nodeName is the node name -// (256 characters maximum). +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscriptionId. +// nodeName is the node name (256 characters maximum). func (client NodeClient) Delete(resourceGroupName string, nodeName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -219,9 +216,8 @@ func (client NodeClient) DeleteResponder(resp *http.Response) (result autorest.R // Get gets a management node. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscriptionId. nodeName is the node name -// (256 characters maximum). +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscriptionId. +// nodeName is the node name (256 characters maximum). func (client NodeClient) Get(resourceGroupName string, nodeName string) (result NodeResource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -380,10 +376,54 @@ func (client NodeClient) ListNextResults(lastResults NodeResources) (result Node return } +// ListComplete gets all elements from the list without paging. +func (client NodeClient) ListComplete(cancel <-chan struct{}) (<-chan NodeResource, <-chan error) { + resultChan := make(chan NodeResource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListForResourceGroup lists nodes in a resource group. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscriptionId. +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscriptionId. func (client NodeClient) ListForResourceGroup(resourceGroupName string) (result NodeResources, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -476,14 +516,57 @@ func (client NodeClient) ListForResourceGroupNextResults(lastResults NodeResourc return } -// Update updates a management node. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// ListForResourceGroupComplete gets all elements from the list without paging. +func (client NodeClient) ListForResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan NodeResource, <-chan error) { + resultChan := make(chan NodeResource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListForResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListForResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// Update updates a management node. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscriptionId. nodeName is the node name -// (256 characters maximum). nodeParameters is parameters supplied to the -// CreateOrUpdate operation. +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscriptionId. +// nodeName is the node name (256 characters maximum). nodeParameters is parameters supplied to the CreateOrUpdate +// operation. func (client NodeClient) Update(resourceGroupName string, nodeName string, nodeParameters NodeParameters, cancel <-chan struct{}) (<-chan NodeResource, <-chan error) { resultChan := make(chan NodeResource, 1) errChan := make(chan error, 1) @@ -505,8 +588,10 @@ func (client NodeClient) Update(resourceGroupName string, nodeName string, nodeP var err error var result NodeResource defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/powershell.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/powershell.go index f9653b15d..23efcea11 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/powershell.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/powershell.go @@ -14,9 +14,8 @@ package servermanagement // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// PowerShellClient is the rEST API for Azure Server Management Service. +// PowerShellClient is the REST API for Azure Server Management Service. type PowerShellClient struct { ManagementClient } @@ -35,21 +34,17 @@ func NewPowerShellClient(subscriptionID string) PowerShellClient { return NewPowerShellClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewPowerShellClientWithBaseURI creates an instance of the PowerShellClient -// client. +// NewPowerShellClientWithBaseURI creates an instance of the PowerShellClient client. func NewPowerShellClientWithBaseURI(baseURI string, subscriptionID string) PowerShellClient { return PowerShellClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CancelCommand cancels a PowerShell command. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// CancelCommand cancels a PowerShell command. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscriptionId. nodeName is the node name -// (256 characters maximum). session is the sessionId from the user. pssession -// is the PowerShell sessionId from the user. +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscriptionId. +// nodeName is the node name (256 characters maximum). session is the sessionId from the user. pssession is the +// PowerShell sessionId from the user. func (client PowerShellClient) CancelCommand(resourceGroupName string, nodeName string, session string, pssession string, cancel <-chan struct{}) (<-chan PowerShellCommandResults, <-chan error) { resultChan := make(chan PowerShellCommandResults, 1) errChan := make(chan error, 1) @@ -71,8 +66,10 @@ func (client PowerShellClient) CancelCommand(resourceGroupName string, nodeName var err error var result PowerShellCommandResults defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -141,15 +138,12 @@ func (client PowerShellClient) CancelCommandResponder(resp *http.Response) (resu return } -// CreateSession creates a PowerShell session. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// CreateSession creates a PowerShell session. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscriptionId. nodeName is the node name -// (256 characters maximum). session is the sessionId from the user. pssession -// is the PowerShell sessionId from the user. +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscriptionId. +// nodeName is the node name (256 characters maximum). session is the sessionId from the user. pssession is the +// PowerShell sessionId from the user. func (client PowerShellClient) CreateSession(resourceGroupName string, nodeName string, session string, pssession string, cancel <-chan struct{}) (<-chan PowerShellSessionResource, <-chan error) { resultChan := make(chan PowerShellSessionResource, 1) errChan := make(chan error, 1) @@ -171,8 +165,10 @@ func (client PowerShellClient) CreateSession(resourceGroupName string, nodeName var err error var result PowerShellSessionResource defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -243,11 +239,9 @@ func (client PowerShellClient) CreateSessionResponder(resp *http.Response) (resu // GetCommandStatus gets the status of a command. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscriptionId. nodeName is the node name -// (256 characters maximum). session is the sessionId from the user. pssession -// is the PowerShell sessionId from the user. expand is gets current output -// from an ongoing call. +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscriptionId. +// nodeName is the node name (256 characters maximum). session is the sessionId from the user. pssession is the +// PowerShell sessionId from the user. expand is gets current output from an ongoing call. func (client PowerShellClient) GetCommandStatus(resourceGroupName string, nodeName string, session string, pssession string, expand PowerShellExpandOption) (result PowerShellCommandStatus, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -326,16 +320,14 @@ func (client PowerShellClient) GetCommandStatusResponder(resp *http.Response) (r return } -// InvokeCommand creates a PowerShell script and invokes it. This method may -// poll for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// InvokeCommand creates a PowerShell script and invokes it. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscriptionId. nodeName is the node name -// (256 characters maximum). session is the sessionId from the user. pssession -// is the PowerShell sessionId from the user. powerShellCommandParameters is -// parameters supplied to the Invoke PowerShell Command operation. +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscriptionId. +// nodeName is the node name (256 characters maximum). session is the sessionId from the user. pssession is the +// PowerShell sessionId from the user. powerShellCommandParameters is parameters supplied to the Invoke PowerShell +// Command operation. func (client PowerShellClient) InvokeCommand(resourceGroupName string, nodeName string, session string, pssession string, powerShellCommandParameters PowerShellCommandParameters, cancel <-chan struct{}) (<-chan PowerShellCommandResults, <-chan error) { resultChan := make(chan PowerShellCommandResults, 1) errChan := make(chan error, 1) @@ -357,8 +349,10 @@ func (client PowerShellClient) InvokeCommand(resourceGroupName string, nodeName var err error var result PowerShellCommandResults defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -431,9 +425,8 @@ func (client PowerShellClient) InvokeCommandResponder(resp *http.Response) (resu // ListSession gets a list of the active sessions. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscriptionId. nodeName is the node name -// (256 characters maximum). session is the sessionId from the user. +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscriptionId. +// nodeName is the node name (256 characters maximum). session is the sessionId from the user. func (client PowerShellClient) ListSession(resourceGroupName string, nodeName string, session string) (result PowerShellSessionResources, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -510,11 +503,10 @@ func (client PowerShellClient) ListSessionResponder(resp *http.Response) (result // TabCompletion gets tab completion values for a command. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscriptionId. nodeName is the node name -// (256 characters maximum). session is the sessionId from the user. pssession -// is the PowerShell sessionId from the user. powerShellTabCompletionParamters -// is parameters supplied to the tab completion call. +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscriptionId. +// nodeName is the node name (256 characters maximum). session is the sessionId from the user. pssession is the +// PowerShell sessionId from the user. powerShellTabCompletionParamters is parameters supplied to the tab completion +// call. func (client PowerShellClient) TabCompletion(resourceGroupName string, nodeName string, session string, pssession string, powerShellTabCompletionParamters PowerShellTabCompletionParameters) (result PowerShellTabCompletionResults, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -592,15 +584,13 @@ func (client PowerShellClient) TabCompletionResponder(resp *http.Response) (resu return } -// UpdateCommand updates a running PowerShell command with more data. This -// method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// UpdateCommand updates a running PowerShell command with more data. This method may poll for completion. Polling can +// be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding +// HTTP requests. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscriptionId. nodeName is the node name -// (256 characters maximum). session is the sessionId from the user. pssession -// is the PowerShell sessionId from the user. +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscriptionId. +// nodeName is the node name (256 characters maximum). session is the sessionId from the user. pssession is the +// PowerShell sessionId from the user. func (client PowerShellClient) UpdateCommand(resourceGroupName string, nodeName string, session string, pssession string, cancel <-chan struct{}) (<-chan PowerShellCommandResults, <-chan error) { resultChan := make(chan PowerShellCommandResults, 1) errChan := make(chan error, 1) @@ -622,8 +612,10 @@ func (client PowerShellClient) UpdateCommand(resourceGroupName string, nodeName var err error var result PowerShellCommandResults defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/session.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/session.go index 9c825e67a..ef7356fd1 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/session.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/session.go @@ -14,9 +14,8 @@ package servermanagement // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// SessionClient is the rEST API for Azure Server Management Service. +// SessionClient is the REST API for Azure Server Management Service. type SessionClient struct { ManagementClient } @@ -40,14 +39,12 @@ func NewSessionClientWithBaseURI(baseURI string, subscriptionID string) SessionC return SessionClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Create creates a session for a node. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// Create creates a session for a node. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscriptionId. nodeName is the node name -// (256 characters maximum). session is the sessionId from the user. -// sessionParameters is parameters supplied to the CreateOrUpdate operation. +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscriptionId. +// nodeName is the node name (256 characters maximum). session is the sessionId from the user. sessionParameters is +// parameters supplied to the CreateOrUpdate operation. func (client SessionClient) Create(resourceGroupName string, nodeName string, session string, sessionParameters SessionParameters, cancel <-chan struct{}) (<-chan SessionResource, <-chan error) { resultChan := make(chan SessionResource, 1) errChan := make(chan error, 1) @@ -69,8 +66,10 @@ func (client SessionClient) Create(resourceGroupName string, nodeName string, se var err error var result SessionResource defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -142,9 +141,8 @@ func (client SessionClient) CreateResponder(resp *http.Response) (result Session // Delete deletes a session for a node. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscriptionId. nodeName is the node name -// (256 characters maximum). session is the sessionId from the user. +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscriptionId. +// nodeName is the node name (256 characters maximum). session is the sessionId from the user. func (client SessionClient) Delete(resourceGroupName string, nodeName string, session string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -220,9 +218,8 @@ func (client SessionClient) DeleteResponder(resp *http.Response) (result autores // Get gets a session for a node. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscriptionId. nodeName is the node name -// (256 characters maximum). session is the sessionId from the user. +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscriptionId. +// nodeName is the node name (256 characters maximum). session is the sessionId from the user. func (client SessionClient) Get(resourceGroupName string, nodeName string, session string) (result SessionResource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/version.go index fb30d790a..3b9faa607 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/servermanagement/version.go @@ -14,16 +14,15 @@ package servermanagement // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-servermanagement/2016-07-01-preview" + return "Azure-SDK-For-Go/v11.0.0-beta arm-servermanagement/2016-07-01-preview" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/client.go index 040182d51..2aa5127f7 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/client.go @@ -1,5 +1,4 @@ -// Package servicemap implements the Azure ARM Servicemap service API version -// 2015-11-01-preview. +// Package servicemap implements the Azure ARM Servicemap service API version 2015-11-01-preview. // // Service Map API Reference package servicemap @@ -18,9 +17,8 @@ package servicemap // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/clientgroups.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/clientgroups.go index ffaaabf29..140944aa3 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/clientgroups.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/clientgroups.go @@ -14,9 +14,8 @@ package servicemap // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -36,21 +35,17 @@ func NewClientGroupsClient(subscriptionID string) ClientGroupsClient { return NewClientGroupsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewClientGroupsClientWithBaseURI creates an instance of the -// ClientGroupsClient client. +// NewClientGroupsClientWithBaseURI creates an instance of the ClientGroupsClient client. func NewClientGroupsClientWithBaseURI(baseURI string, subscriptionID string) ClientGroupsClient { return ClientGroupsClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get retrieves the specified client group // -// resourceGroupName is resource group name within the specified -// subscriptionId. workspaceName is oMS workspace containing the resources of -// interest. clientGroupName is client Group resource name. startTime is uTC -// date and time specifying the start time of an interval. When not specified -// the service uses DateTime.UtcNow - 10m endTime is uTC date and time -// specifying the end time of an interval. When not specified the service uses -// DateTime.UtcNow +// resourceGroupName is resource group name within the specified subscriptionId. workspaceName is OMS workspace +// containing the resources of interest. clientGroupName is client Group resource name. startTime is UTC date and time +// specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m endTime is UTC +// date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow func (client ClientGroupsClient) Get(resourceGroupName string, workspaceName string, clientGroupName string, startTime *date.Time, endTime *date.Time) (result ClientGroup, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -135,16 +130,12 @@ func (client ClientGroupsClient) GetResponder(resp *http.Response) (result Clien return } -// GetMembersCount returns the approximate number of members in the client -// group. +// GetMembersCount returns the approximate number of members in the client group. // -// resourceGroupName is resource group name within the specified -// subscriptionId. workspaceName is oMS workspace containing the resources of -// interest. clientGroupName is client Group resource name. startTime is uTC -// date and time specifying the start time of an interval. When not specified -// the service uses DateTime.UtcNow - 10m endTime is uTC date and time -// specifying the end time of an interval. When not specified the service uses -// DateTime.UtcNow +// resourceGroupName is resource group name within the specified subscriptionId. workspaceName is OMS workspace +// containing the resources of interest. clientGroupName is client Group resource name. startTime is UTC date and time +// specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m endTime is UTC +// date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow func (client ClientGroupsClient) GetMembersCount(resourceGroupName string, workspaceName string, clientGroupName string, startTime *date.Time, endTime *date.Time) (result ClientGroupMembersCount, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -229,17 +220,13 @@ func (client ClientGroupsClient) GetMembersCountResponder(resp *http.Response) ( return } -// ListMembers returns the members of the client group during the specified -// time interval. +// ListMembers returns the members of the client group during the specified time interval. // -// resourceGroupName is resource group name within the specified -// subscriptionId. workspaceName is oMS workspace containing the resources of -// interest. clientGroupName is client Group resource name. startTime is uTC -// date and time specifying the start time of an interval. When not specified -// the service uses DateTime.UtcNow - 10m endTime is uTC date and time -// specifying the end time of an interval. When not specified the service uses -// DateTime.UtcNow top is page size to use. When not specified, the default -// page size is 100 records. +// resourceGroupName is resource group name within the specified subscriptionId. workspaceName is OMS workspace +// containing the resources of interest. clientGroupName is client Group resource name. startTime is UTC date and time +// specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m endTime is UTC +// date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow top is +// page size to use. When not specified, the default page size is 100 records. func (client ClientGroupsClient) ListMembers(resourceGroupName string, workspaceName string, clientGroupName string, startTime *date.Time, endTime *date.Time, top *int32) (result ClientGroupMembersCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -355,3 +342,48 @@ func (client ClientGroupsClient) ListMembersNextResults(lastResults ClientGroupM return } + +// ListMembersComplete gets all elements from the list without paging. +func (client ClientGroupsClient) ListMembersComplete(resourceGroupName string, workspaceName string, clientGroupName string, startTime *date.Time, endTime *date.Time, top *int32, cancel <-chan struct{}) (<-chan ClientGroupMember, <-chan error) { + resultChan := make(chan ClientGroupMember) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListMembers(resourceGroupName, workspaceName, clientGroupName, startTime, endTime, top) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListMembersNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/machinegroups.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/machinegroups.go index 9ed8c12cc..928acd4ef 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/machinegroups.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/machinegroups.go @@ -14,9 +14,8 @@ package servicemap // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -30,23 +29,20 @@ type MachineGroupsClient struct { ManagementClient } -// NewMachineGroupsClient creates an instance of the MachineGroupsClient -// client. +// NewMachineGroupsClient creates an instance of the MachineGroupsClient client. func NewMachineGroupsClient(subscriptionID string) MachineGroupsClient { return NewMachineGroupsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewMachineGroupsClientWithBaseURI creates an instance of the -// MachineGroupsClient client. +// NewMachineGroupsClientWithBaseURI creates an instance of the MachineGroupsClient client. func NewMachineGroupsClientWithBaseURI(baseURI string, subscriptionID string) MachineGroupsClient { return MachineGroupsClient{NewWithBaseURI(baseURI, subscriptionID)} } // Create creates a new machine group. // -// resourceGroupName is resource group name within the specified -// subscriptionId. workspaceName is oMS workspace containing the resources of -// interest. machineGroup is machine Group resource to create. +// resourceGroupName is resource group name within the specified subscriptionId. workspaceName is OMS workspace +// containing the resources of interest. machineGroup is machine Group resource to create. func (client MachineGroupsClient) Create(resourceGroupName string, workspaceName string, machineGroup MachineGroup) (result MachineGroup, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -132,9 +128,8 @@ func (client MachineGroupsClient) CreateResponder(resp *http.Response) (result M // Delete deletes the specified Machine Group. // -// resourceGroupName is resource group name within the specified -// subscriptionId. workspaceName is oMS workspace containing the resources of -// interest. machineGroupName is machine Group resource name. +// resourceGroupName is resource group name within the specified subscriptionId. workspaceName is OMS workspace +// containing the resources of interest. machineGroupName is machine Group resource name. func (client MachineGroupsClient) Delete(resourceGroupName string, workspaceName string, machineGroupName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -214,9 +209,8 @@ func (client MachineGroupsClient) DeleteResponder(resp *http.Response) (result a // Get returns the specified machine group. // -// resourceGroupName is resource group name within the specified -// subscriptionId. workspaceName is oMS workspace containing the resources of -// interest. machineGroupName is machine Group resource name. +// resourceGroupName is resource group name within the specified subscriptionId. workspaceName is OMS workspace +// containing the resources of interest. machineGroupName is machine Group resource name. func (client MachineGroupsClient) Get(resourceGroupName string, workspaceName string, machineGroupName string) (result MachineGroup, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -297,9 +291,8 @@ func (client MachineGroupsClient) GetResponder(resp *http.Response) (result Mach // ListByWorkspace returns all machine groups. // -// resourceGroupName is resource group name within the specified -// subscriptionId. workspaceName is oMS workspace containing the resources of -// interest. +// resourceGroupName is resource group name within the specified subscriptionId. workspaceName is OMS workspace +// containing the resources of interest. func (client MachineGroupsClient) ListByWorkspace(resourceGroupName string, workspaceName string) (result MachineGroupCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -398,12 +391,56 @@ func (client MachineGroupsClient) ListByWorkspaceNextResults(lastResults Machine return } +// ListByWorkspaceComplete gets all elements from the list without paging. +func (client MachineGroupsClient) ListByWorkspaceComplete(resourceGroupName string, workspaceName string, cancel <-chan struct{}) (<-chan MachineGroup, <-chan error) { + resultChan := make(chan MachineGroup) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByWorkspace(resourceGroupName, workspaceName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByWorkspaceNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update updates a machine group. // -// resourceGroupName is resource group name within the specified -// subscriptionId. workspaceName is oMS workspace containing the resources of -// interest. machineGroupName is machine Group resource name. machineGroup is -// machine Group resource to update. +// resourceGroupName is resource group name within the specified subscriptionId. workspaceName is OMS workspace +// containing the resources of interest. machineGroupName is machine Group resource name. machineGroup is machine Group +// resource to update. func (client MachineGroupsClient) Update(resourceGroupName string, workspaceName string, machineGroupName string, machineGroup MachineGroup) (result MachineGroup, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/machines.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/machines.go index ca1fa113f..870f464cd 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/machines.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/machines.go @@ -14,9 +14,8 @@ package servicemap // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -36,19 +35,17 @@ func NewMachinesClient(subscriptionID string) MachinesClient { return NewMachinesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewMachinesClientWithBaseURI creates an instance of the MachinesClient -// client. +// NewMachinesClientWithBaseURI creates an instance of the MachinesClient client. func NewMachinesClientWithBaseURI(baseURI string, subscriptionID string) MachinesClient { return MachinesClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get returns the specified machine. // -// resourceGroupName is resource group name within the specified -// subscriptionId. workspaceName is oMS workspace containing the resources of -// interest. machineName is machine resource name. timestamp is uTC date and -// time specifying a time instance relative to which to evaluate the machine -// resource. When not specified, the service uses DateTime.UtcNow. +// resourceGroupName is resource group name within the specified subscriptionId. workspaceName is OMS workspace +// containing the resources of interest. machineName is machine resource name. timestamp is UTC date and time +// specifying a time instance relative to which to evaluate the machine resource. When not specified, the service uses +// DateTime.UtcNow. func (client MachinesClient) Get(resourceGroupName string, workspaceName string, machineName string, timestamp *date.Time) (result Machine, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -130,16 +127,12 @@ func (client MachinesClient) GetResponder(resp *http.Response) (result Machine, return } -// GetLiveness obtains the liveness status of the machine during the specified -// time interval. +// GetLiveness obtains the liveness status of the machine during the specified time interval. // -// resourceGroupName is resource group name within the specified -// subscriptionId. workspaceName is oMS workspace containing the resources of -// interest. machineName is machine resource name. startTime is uTC date and -// time specifying the start time of an interval. When not specified the -// service uses DateTime.UtcNow - 10m endTime is uTC date and time specifying -// the end time of an interval. When not specified the service uses -// DateTime.UtcNow +// resourceGroupName is resource group name within the specified subscriptionId. workspaceName is OMS workspace +// containing the resources of interest. machineName is machine resource name. startTime is UTC date and time +// specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m endTime is UTC +// date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow func (client MachinesClient) GetLiveness(resourceGroupName string, workspaceName string, machineName string, startTime *date.Time, endTime *date.Time) (result Liveness, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -224,29 +217,21 @@ func (client MachinesClient) GetLivenessResponder(resp *http.Response) (result L return } -// ListByWorkspace returns a collection of machines matching the specified -// conditions. The returned collection represents either machines that are -// active/live during the specified interval of time (`live=true` and -// `startTime`/`endTime` are specified) or that are known to have existed at or -// some time prior to the specified point in time (`live=false` and `timestamp` -// is specified). +// ListByWorkspace returns a collection of machines matching the specified conditions. The returned collection +// represents either machines that are active/live during the specified interval of time (`live=true` and +// `startTime`/`endTime` are specified) or that are known to have existed at or some time prior to the specified point +// in time (`live=false` and `timestamp` is specified). // -// resourceGroupName is resource group name within the specified -// subscriptionId. workspaceName is oMS workspace containing the resources of -// interest. live is specifies whether to return live resources (true) or -// inventory resources (false). Defaults to **true**. When retrieving live -// resources, the start time (`startTime`) and end time (`endTime`) of the -// desired interval should be included. When retrieving inventory resources, an -// optional timestamp (`timestamp`) parameter can be specified to return the -// version of each resource closest (not-after) that timestamp. startTime is -// uTC date and time specifying the start time of an interval. When not -// specified the service uses DateTime.UtcNow - 10m endTime is uTC date and -// time specifying the end time of an interval. When not specified the service -// uses DateTime.UtcNow timestamp is uTC date and time specifying a time -// instance relative to which to evaluate each machine resource. Only applies -// when `live=false`. When not specified, the service uses DateTime.UtcNow. top -// is page size to use. When not specified, the default page size is 100 -// records. +// resourceGroupName is resource group name within the specified subscriptionId. workspaceName is OMS workspace +// containing the resources of interest. live is specifies whether to return live resources (true) or inventory +// resources (false). Defaults to **true**. When retrieving live resources, the start time (`startTime`) and end time +// (`endTime`) of the desired interval should be included. When retrieving inventory resources, an optional timestamp +// (`timestamp`) parameter can be specified to return the version of each resource closest (not-after) that timestamp. +// startTime is UTC date and time specifying the start time of an interval. When not specified the service uses +// DateTime.UtcNow - 10m endTime is UTC date and time specifying the end time of an interval. When not specified the +// service uses DateTime.UtcNow timestamp is UTC date and time specifying a time instance relative to which to evaluate +// each machine resource. Only applies when `live=false`. When not specified, the service uses DateTime.UtcNow. top is +// page size to use. When not specified, the default page size is 100 records. func (client MachinesClient) ListByWorkspace(resourceGroupName string, workspaceName string, live *bool, startTime *date.Time, endTime *date.Time, timestamp *date.Time, top *int32) (result MachineCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -365,16 +350,57 @@ func (client MachinesClient) ListByWorkspaceNextResults(lastResults MachineColle return } -// ListConnections returns a collection of connections terminating or -// originating at the specified machine +// ListByWorkspaceComplete gets all elements from the list without paging. +func (client MachinesClient) ListByWorkspaceComplete(resourceGroupName string, workspaceName string, live *bool, startTime *date.Time, endTime *date.Time, timestamp *date.Time, top *int32, cancel <-chan struct{}) (<-chan Machine, <-chan error) { + resultChan := make(chan Machine) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByWorkspace(resourceGroupName, workspaceName, live, startTime, endTime, timestamp, top) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByWorkspaceNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListConnections returns a collection of connections terminating or originating at the specified machine // -// resourceGroupName is resource group name within the specified -// subscriptionId. workspaceName is oMS workspace containing the resources of -// interest. machineName is machine resource name. startTime is uTC date and -// time specifying the start time of an interval. When not specified the -// service uses DateTime.UtcNow - 10m endTime is uTC date and time specifying -// the end time of an interval. When not specified the service uses -// DateTime.UtcNow +// resourceGroupName is resource group name within the specified subscriptionId. workspaceName is OMS workspace +// containing the resources of interest. machineName is machine resource name. startTime is UTC date and time +// specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m endTime is UTC +// date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow func (client MachinesClient) ListConnections(resourceGroupName string, workspaceName string, machineName string, startTime *date.Time, endTime *date.Time) (result ConnectionCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -483,12 +509,55 @@ func (client MachinesClient) ListConnectionsNextResults(lastResults ConnectionCo return } -// ListMachineGroupMembership returns a collection of machine groups this -// machine belongs to. +// ListConnectionsComplete gets all elements from the list without paging. +func (client MachinesClient) ListConnectionsComplete(resourceGroupName string, workspaceName string, machineName string, startTime *date.Time, endTime *date.Time, cancel <-chan struct{}) (<-chan Connection, <-chan error) { + resultChan := make(chan Connection) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListConnections(resourceGroupName, workspaceName, machineName, startTime, endTime) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListConnectionsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListMachineGroupMembership returns a collection of machine groups this machine belongs to. // -// resourceGroupName is resource group name within the specified -// subscriptionId. workspaceName is oMS workspace containing the resources of -// interest. machineName is machine resource name. +// resourceGroupName is resource group name within the specified subscriptionId. workspaceName is OMS workspace +// containing the resources of interest. machineName is machine resource name. func (client MachinesClient) ListMachineGroupMembership(resourceGroupName string, workspaceName string, machineName string) (result MachineGroupCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -591,16 +660,57 @@ func (client MachinesClient) ListMachineGroupMembershipNextResults(lastResults M return } -// ListPorts returns a collection of live ports on the specified machine during -// the specified time interval. +// ListMachineGroupMembershipComplete gets all elements from the list without paging. +func (client MachinesClient) ListMachineGroupMembershipComplete(resourceGroupName string, workspaceName string, machineName string, cancel <-chan struct{}) (<-chan MachineGroup, <-chan error) { + resultChan := make(chan MachineGroup) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListMachineGroupMembership(resourceGroupName, workspaceName, machineName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListMachineGroupMembershipNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListPorts returns a collection of live ports on the specified machine during the specified time interval. // -// resourceGroupName is resource group name within the specified -// subscriptionId. workspaceName is oMS workspace containing the resources of -// interest. machineName is machine resource name. startTime is uTC date and -// time specifying the start time of an interval. When not specified the -// service uses DateTime.UtcNow - 10m endTime is uTC date and time specifying -// the end time of an interval. When not specified the service uses -// DateTime.UtcNow +// resourceGroupName is resource group name within the specified subscriptionId. workspaceName is OMS workspace +// containing the resources of interest. machineName is machine resource name. startTime is UTC date and time +// specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m endTime is UTC +// date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow func (client MachinesClient) ListPorts(resourceGroupName string, workspaceName string, machineName string, startTime *date.Time, endTime *date.Time) (result PortCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -709,28 +819,66 @@ func (client MachinesClient) ListPortsNextResults(lastResults PortCollection) (r return } -// ListProcesses returns a collection of processes on the specified machine -// matching the specified conditions. The returned collection represents either -// processes that are active/live during the specified interval of time -// (`live=true` and `startTime`/`endTime` are specified) or that are known to -// have existed at or some time prior to the specified point in time -// (`live=false` and `timestamp` is specified). +// ListPortsComplete gets all elements from the list without paging. +func (client MachinesClient) ListPortsComplete(resourceGroupName string, workspaceName string, machineName string, startTime *date.Time, endTime *date.Time, cancel <-chan struct{}) (<-chan Port, <-chan error) { + resultChan := make(chan Port) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListPorts(resourceGroupName, workspaceName, machineName, startTime, endTime) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListPortsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListProcesses returns a collection of processes on the specified machine matching the specified conditions. The +// returned collection represents either processes that are active/live during the specified interval of time +// (`live=true` and `startTime`/`endTime` are specified) or that are known to have existed at or some time prior to +// the specified point in time (`live=false` and `timestamp` is specified). // -// resourceGroupName is resource group name within the specified -// subscriptionId. workspaceName is oMS workspace containing the resources of -// interest. machineName is machine resource name. live is specifies whether to -// return live resources (true) or inventory resources (false). Defaults to -// **true**. When retrieving live resources, the start time (`startTime`) and -// end time (`endTime`) of the desired interval should be included. When -// retrieving inventory resources, an optional timestamp (`timestamp`) -// parameter can be specified to return the version of each resource closest -// (not-after) that timestamp. startTime is uTC date and time specifying the -// start time of an interval. When not specified the service uses -// DateTime.UtcNow - 10m endTime is uTC date and time specifying the end time -// of an interval. When not specified the service uses DateTime.UtcNow -// timestamp is uTC date and time specifying a time instance relative to which -// to evaluate all process resource. Only applies when `live=false`. When not -// specified, the service uses DateTime.UtcNow. +// resourceGroupName is resource group name within the specified subscriptionId. workspaceName is OMS workspace +// containing the resources of interest. machineName is machine resource name. live is specifies whether to return live +// resources (true) or inventory resources (false). Defaults to **true**. When retrieving live resources, the start +// time (`startTime`) and end time (`endTime`) of the desired interval should be included. When retrieving inventory +// resources, an optional timestamp (`timestamp`) parameter can be specified to return the version of each resource +// closest (not-after) that timestamp. startTime is UTC date and time specifying the start time of an interval. When +// not specified the service uses DateTime.UtcNow - 10m endTime is UTC date and time specifying the end time of an +// interval. When not specified the service uses DateTime.UtcNow timestamp is UTC date and time specifying a time +// instance relative to which to evaluate all process resource. Only applies when `live=false`. When not specified, the +// service uses DateTime.UtcNow. func (client MachinesClient) ListProcesses(resourceGroupName string, workspaceName string, machineName string, live *bool, startTime *date.Time, endTime *date.Time, timestamp *date.Time) (result ProcessCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -844,3 +992,48 @@ func (client MachinesClient) ListProcessesNextResults(lastResults ProcessCollect return } + +// ListProcessesComplete gets all elements from the list without paging. +func (client MachinesClient) ListProcessesComplete(resourceGroupName string, workspaceName string, machineName string, live *bool, startTime *date.Time, endTime *date.Time, timestamp *date.Time, cancel <-chan struct{}) (<-chan Process, <-chan error) { + resultChan := make(chan Process) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListProcesses(resourceGroupName, workspaceName, machineName, live, startTime, endTime, timestamp) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListProcessesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/maps.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/maps.go index 1b5844b59..75f8ffc80 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/maps.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/maps.go @@ -14,9 +14,8 @@ package servicemap // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -42,9 +41,8 @@ func NewMapsClientWithBaseURI(baseURI string, subscriptionID string) MapsClient // Generate generates the specified map. // -// resourceGroupName is resource group name within the specified -// subscriptionId. workspaceName is oMS workspace containing the resources of -// interest. request is request options. +// resourceGroupName is resource group name within the specified subscriptionId. workspaceName is OMS workspace +// containing the resources of interest. request is request options. func (client MapsClient) Generate(resourceGroupName string, workspaceName string, request MapRequest) (result MapResponse, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/models.go index 0b72e45b8..23300b679 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/models.go @@ -14,11 +14,12 @@ package servicemap // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( + "encoding/json" + "errors" "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/date" "github.com/Azure/go-autorest/autorest/to" @@ -67,18 +68,65 @@ const ( Unknown HypervisorType = "unknown" ) +// Kind enumerates the values for kind. +type Kind string + +const ( + // KindRefmachine specifies the kind refmachine state for kind. + KindRefmachine Kind = "ref:machine" + // KindRefmachinewithhints specifies the kind refmachinewithhints state for kind. + KindRefmachinewithhints Kind = "ref:machinewithhints" + // KindRefport specifies the kind refport state for kind. + KindRefport Kind = "ref:port" + // KindRefprocess specifies the kind refprocess state for kind. + KindRefprocess Kind = "ref:process" +) + +// KindCoreResource enumerates the values for kind core resource. +type KindCoreResource string + +const ( + // KindClientGroup specifies the kind client group state for kind core resource. + KindClientGroup KindCoreResource = "clientGroup" + // KindMachine specifies the kind machine state for kind core resource. + KindMachine KindCoreResource = "machine" + // KindMachineGroup specifies the kind machine group state for kind core resource. + KindMachineGroup KindCoreResource = "machineGroup" + // KindPort specifies the kind port state for kind core resource. + KindPort KindCoreResource = "port" + // KindProcess specifies the kind process state for kind core resource. + KindProcess KindCoreResource = "process" +) + +// KindMapRequest enumerates the values for kind map request. +type KindMapRequest string + +const ( + // KindMapmachineGroupDependency specifies the kind mapmachine group dependency state for kind map request. + KindMapmachineGroupDependency KindMapRequest = "map:machine-group-dependency" + // KindMapsingleMachineDependency specifies the kind mapsingle machine dependency state for kind map request. + KindMapsingleMachineDependency KindMapRequest = "map:single-machine-dependency" +) + +// KindRelationship enumerates the values for kind relationship. +type KindRelationship string + +const ( + // KindRelacceptor specifies the kind relacceptor state for kind relationship. + KindRelacceptor KindRelationship = "rel:acceptor" + // KindRelconnection specifies the kind relconnection state for kind relationship. + KindRelconnection KindRelationship = "rel:connection" +) + // MachineRebootStatus enumerates the values for machine reboot status. type MachineRebootStatus string const ( - // MachineRebootStatusNotRebooted specifies the machine reboot status not - // rebooted state for machine reboot status. + // MachineRebootStatusNotRebooted specifies the machine reboot status not rebooted state for machine reboot status. MachineRebootStatusNotRebooted MachineRebootStatus = "notRebooted" - // MachineRebootStatusRebooted specifies the machine reboot status rebooted - // state for machine reboot status. + // MachineRebootStatusRebooted specifies the machine reboot status rebooted state for machine reboot status. MachineRebootStatusRebooted MachineRebootStatus = "rebooted" - // MachineRebootStatusUnknown specifies the machine reboot status unknown - // state for machine reboot status. + // MachineRebootStatusUnknown specifies the machine reboot status unknown state for machine reboot status. MachineRebootStatusUnknown MachineRebootStatus = "unknown" ) @@ -96,20 +144,15 @@ const ( type OperatingSystemFamily string const ( - // OperatingSystemFamilyAix specifies the operating system family aix state - // for operating system family. + // OperatingSystemFamilyAix specifies the operating system family aix state for operating system family. OperatingSystemFamilyAix OperatingSystemFamily = "aix" - // OperatingSystemFamilyLinux specifies the operating system family linux - // state for operating system family. + // OperatingSystemFamilyLinux specifies the operating system family linux state for operating system family. OperatingSystemFamilyLinux OperatingSystemFamily = "linux" - // OperatingSystemFamilySolaris specifies the operating system family - // solaris state for operating system family. + // OperatingSystemFamilySolaris specifies the operating system family solaris state for operating system family. OperatingSystemFamilySolaris OperatingSystemFamily = "solaris" - // OperatingSystemFamilyUnknown specifies the operating system family - // unknown state for operating system family. + // OperatingSystemFamilyUnknown specifies the operating system family unknown state for operating system family. OperatingSystemFamilyUnknown OperatingSystemFamily = "unknown" - // OperatingSystemFamilyWindows specifies the operating system family - // windows state for operating system family. + // OperatingSystemFamilyWindows specifies the operating system family windows state for operating system family. OperatingSystemFamilyWindows OperatingSystemFamily = "windows" ) @@ -133,17 +176,13 @@ const ( type VirtualizationState string const ( - // VirtualizationStateHypervisor specifies the virtualization state - // hypervisor state for virtualization state. + // VirtualizationStateHypervisor specifies the virtualization state hypervisor state for virtualization state. VirtualizationStateHypervisor VirtualizationState = "hypervisor" - // VirtualizationStatePhysical specifies the virtualization state physical - // state for virtualization state. + // VirtualizationStatePhysical specifies the virtualization state physical state for virtualization state. VirtualizationStatePhysical VirtualizationState = "physical" - // VirtualizationStateUnknown specifies the virtualization state unknown - // state for virtualization state. + // VirtualizationStateUnknown specifies the virtualization state unknown state for virtualization state. VirtualizationStateUnknown VirtualizationState = "unknown" - // VirtualizationStateVirtual specifies the virtualization state virtual - // state for virtualization state. + // VirtualizationStateVirtual specifies the virtualization state virtual state for virtualization state. VirtualizationStateVirtual VirtualizationState = "virtual" ) @@ -151,37 +190,52 @@ const ( type VirtualMachineType string const ( - // VirtualMachineTypeHyperv specifies the virtual machine type hyperv state - // for virtual machine type. + // VirtualMachineTypeHyperv specifies the virtual machine type hyperv state for virtual machine type. VirtualMachineTypeHyperv VirtualMachineType = "hyperv" - // VirtualMachineTypeLdom specifies the virtual machine type ldom state for - // virtual machine type. + // VirtualMachineTypeLdom specifies the virtual machine type ldom state for virtual machine type. VirtualMachineTypeLdom VirtualMachineType = "ldom" - // VirtualMachineTypeLpar specifies the virtual machine type lpar state for - // virtual machine type. + // VirtualMachineTypeLpar specifies the virtual machine type lpar state for virtual machine type. VirtualMachineTypeLpar VirtualMachineType = "lpar" - // VirtualMachineTypeUnknown specifies the virtual machine type unknown - // state for virtual machine type. + // VirtualMachineTypeUnknown specifies the virtual machine type unknown state for virtual machine type. VirtualMachineTypeUnknown VirtualMachineType = "unknown" - // VirtualMachineTypeVirtualPc specifies the virtual machine type virtual - // pc state for virtual machine type. + // VirtualMachineTypeVirtualPc specifies the virtual machine type virtual pc state for virtual machine type. VirtualMachineTypeVirtualPc VirtualMachineType = "virtualPc" - // VirtualMachineTypeVmware specifies the virtual machine type vmware state - // for virtual machine type. + // VirtualMachineTypeVmware specifies the virtual machine type vmware state for virtual machine type. VirtualMachineTypeVmware VirtualMachineType = "vmware" - // VirtualMachineTypeXen specifies the virtual machine type xen state for - // virtual machine type. + // VirtualMachineTypeXen specifies the virtual machine type xen state for virtual machine type. VirtualMachineTypeXen VirtualMachineType = "xen" ) // Acceptor is a process accepting on a port. type Acceptor struct { - ID *string `json:"id,omitempty"` - Type *string `json:"type,omitempty"` - Name *string `json:"name,omitempty"` + ID *string `json:"id,omitempty"` + Type *string `json:"type,omitempty"` + Name *string `json:"name,omitempty"` + Kind KindRelationship `json:"kind,omitempty"` *AcceptorProperties `json:"properties,omitempty"` } +// MarshalJSON is the custom marshaler for Acceptor. +func (a Acceptor) MarshalJSON() ([]byte, error) { + a.Kind = KindRelacceptor + type Alias Acceptor + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(a), + }) +} + +// AsConnection is the Relationship implementation for Acceptor. +func (a Acceptor) AsConnection() (*Connection, bool) { + return nil, false +} + +// AsAcceptor is the Relationship implementation for Acceptor. +func (a Acceptor) AsAcceptor() (*Acceptor, bool) { + return &a, true +} + // AcceptorProperties is properties for an acceptor relationship. type AcceptorProperties struct { Source *PortReference `json:"source,omitempty"` @@ -190,8 +244,7 @@ type AcceptorProperties struct { EndTime *date.Time `json:"endTime,omitempty"` } -// AgentConfiguration is describes the configuration of the Dependency Agent -// installed on a machine. +// AgentConfiguration is describes the configuration of the Dependency Agent installed on a machine. type AgentConfiguration struct { AgentID *string `json:"agentId,omitempty"` DependencyAgentID *string `json:"dependencyAgentId,omitempty"` @@ -201,20 +254,78 @@ type AgentConfiguration struct { ClockGranularity *int32 `json:"clockGranularity,omitempty"` } -// ClientGroup is represents a collection of clients of a resource. A client -// group can represent the clients of a port, process, or a machine. +// ClientGroup is represents a collection of clients of a resource. A client group can represent the clients of a port, +// process, or a machine. type ClientGroup struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Type *string `json:"type,omitempty"` - Name *string `json:"name,omitempty"` - Etag *string `json:"etag,omitempty"` + ID *string `json:"id,omitempty"` + Type *string `json:"type,omitempty"` + Name *string `json:"name,omitempty"` + Etag *string `json:"etag,omitempty"` + Kind KindCoreResource `json:"kind,omitempty"` *ClientGroupProperties `json:"properties,omitempty"` } +// MarshalJSON is the custom marshaler for ClientGroup. +func (cg ClientGroup) MarshalJSON() ([]byte, error) { + cg.Kind = KindClientGroup + type Alias ClientGroup + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(cg), + }) +} + +// AsMachine is the CoreResource implementation for ClientGroup. +func (cg ClientGroup) AsMachine() (*Machine, bool) { + return nil, false +} + +// AsProcess is the CoreResource implementation for ClientGroup. +func (cg ClientGroup) AsProcess() (*Process, bool) { + return nil, false +} + +// AsPort is the CoreResource implementation for ClientGroup. +func (cg ClientGroup) AsPort() (*Port, bool) { + return nil, false +} + +// AsClientGroup is the CoreResource implementation for ClientGroup. +func (cg ClientGroup) AsClientGroup() (*ClientGroup, bool) { + return &cg, true +} + +// AsMachineGroup is the CoreResource implementation for ClientGroup. +func (cg ClientGroup) AsMachineGroup() (*MachineGroup, bool) { + return nil, false +} + // ClientGroupProperties is resource properties. type ClientGroupProperties struct { - ClientsOf *ResourceReference `json:"clientsOf,omitempty"` + ClientsOf ResourceReference `json:"clientsOf,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for ClientGroupProperties struct. +func (cg *ClientGroupProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["clientsOf"] + if v != nil { + clientsOf, err := unmarshalResourceReference(*m["clientsOf"]) + if err != nil { + return err + } + cg.ClientsOf = clientsOf + } + + return nil } // ClientGroupMember is represents a member of a client group @@ -251,8 +362,7 @@ func (client ClientGroupMembersCollection) ClientGroupMembersCollectionPreparer( autorest.WithBaseURL(to.String(client.NextLink))) } -// ClientGroupMembersCount is specifies the number of members in a client -// group. +// ClientGroupMembersCount is specifies the number of members in a client group. type ClientGroupMembersCount struct { autorest.Response `json:"-"` StartTime *date.Time `json:"startTime,omitempty"` @@ -264,12 +374,34 @@ type ClientGroupMembersCount struct { // Connection is a network connection. type Connection struct { - ID *string `json:"id,omitempty"` - Type *string `json:"type,omitempty"` - Name *string `json:"name,omitempty"` + ID *string `json:"id,omitempty"` + Type *string `json:"type,omitempty"` + Name *string `json:"name,omitempty"` + Kind KindRelationship `json:"kind,omitempty"` *ConnectionProperties `json:"properties,omitempty"` } +// MarshalJSON is the custom marshaler for Connection. +func (c Connection) MarshalJSON() ([]byte, error) { + c.Kind = KindRelconnection + type Alias Connection + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(c), + }) +} + +// AsConnection is the Relationship implementation for Connection. +func (c Connection) AsConnection() (*Connection, bool) { + return &c, true +} + +// AsAcceptor is the Relationship implementation for Connection. +func (c Connection) AsAcceptor() (*Acceptor, bool) { + return nil, false +} + // ConnectionCollection is collection of Connection resources. type ConnectionCollection struct { autorest.Response `json:"-"` @@ -291,20 +423,142 @@ func (client ConnectionCollection) ConnectionCollectionPreparer() (*http.Request // ConnectionProperties is properties for a connection resource. type ConnectionProperties struct { - Source *ResourceReference `json:"source,omitempty"` - Destination *ResourceReference `json:"destination,omitempty"` + Source ResourceReference `json:"source,omitempty"` + Destination ResourceReference `json:"destination,omitempty"` StartTime *date.Time `json:"startTime,omitempty"` EndTime *date.Time `json:"endTime,omitempty"` ServerPort *PortReference `json:"serverPort,omitempty"` FailureState ConnectionFailureState `json:"failureState,omitempty"` } +// UnmarshalJSON is the custom unmarshaler for ConnectionProperties struct. +func (cp *ConnectionProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["serverPort"] + if v != nil { + var serverPort PortReference + err = json.Unmarshal(*m["serverPort"], &serverPort) + if err != nil { + return err + } + cp.ServerPort = &serverPort + } + + v = m["failureState"] + if v != nil { + var failureState ConnectionFailureState + err = json.Unmarshal(*m["failureState"], &failureState) + if err != nil { + return err + } + cp.FailureState = failureState + } + + v = m["source"] + if v != nil { + source, err := unmarshalResourceReference(*m["source"]) + if err != nil { + return err + } + cp.Source = source + } + + v = m["destination"] + if v != nil { + destination, err := unmarshalResourceReference(*m["destination"]) + if err != nil { + return err + } + cp.Destination = destination + } + + v = m["startTime"] + if v != nil { + var startTime date.Time + err = json.Unmarshal(*m["startTime"], &startTime) + if err != nil { + return err + } + cp.StartTime = &startTime + } + + v = m["endTime"] + if v != nil { + var endTime date.Time + err = json.Unmarshal(*m["endTime"], &endTime) + if err != nil { + return err + } + cp.EndTime = &endTime + } + + return nil +} + // CoreResource is marker resource for the core Service Map resources -type CoreResource struct { - ID *string `json:"id,omitempty"` - Type *string `json:"type,omitempty"` - Name *string `json:"name,omitempty"` - Etag *string `json:"etag,omitempty"` +type CoreResource interface { + AsMachine() (*Machine, bool) + AsProcess() (*Process, bool) + AsPort() (*Port, bool) + AsClientGroup() (*ClientGroup, bool) + AsMachineGroup() (*MachineGroup, bool) +} + +func unmarshalCoreResource(body []byte) (CoreResource, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["kind"] { + case string(KindMachine): + var m Machine + err := json.Unmarshal(body, &m) + return m, err + case string(KindProcess): + var p Process + err := json.Unmarshal(body, &p) + return p, err + case string(KindPort): + var p Port + err := json.Unmarshal(body, &p) + return p, err + case string(KindClientGroup): + var cg ClientGroup + err := json.Unmarshal(body, &cg) + return cg, err + case string(KindMachineGroup): + var mg MachineGroup + err := json.Unmarshal(body, &mg) + return mg, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalCoreResourceArray(body []byte) ([]CoreResource, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + crArray := make([]CoreResource, len(rawMessages)) + + for index, rawMessage := range rawMessages { + cr, err := unmarshalCoreResource(*rawMessage) + if err != nil { + return nil, err + } + crArray[index] = cr + } + return crArray, nil } // Error is error details. @@ -318,8 +572,7 @@ type ErrorResponse struct { Error *Error `json:"error,omitempty"` } -// HypervisorConfiguration is describes the hypervisor configuration of a -// machine. +// HypervisorConfiguration is describes the hypervisor configuration of a machine. type HypervisorConfiguration struct { HypervisorType HypervisorType `json:"hypervisorType,omitempty"` NativeHostMachineID *string `json:"nativeHostMachineId,omitempty"` @@ -344,23 +597,58 @@ type Liveness struct { Live *bool `json:"live,omitempty"` } -// Machine is a machine resource represents a discovered computer system. It -// can be *monitored*, i.e., a Dependency Agent is running on it, or -// *discovered*, i.e., its existence was inferred by observing the data stream -// from monitored machines. As machines change, prior versions of the machine -// resource are preserved and available for access. A machine is live during an -// interval of time, if either its Dependency Agent has reported data during -// (parts) of that interval, or a Dependency agent running on other machines -// has reported activity associated with the machine. +// Machine is a machine resource represents a discovered computer system. It can be *monitored*, i.e., a Dependency +// Agent is running on it, or *discovered*, i.e., its existence was inferred by observing the data stream from +// monitored machines. As machines change, prior versions of the machine resource are preserved and available for +// access. A machine is live during an interval of time, if either its Dependency Agent has reported data during +// (parts) of that interval, or a Dependency agent running on other machines has reported activity associated with the +// machine. type Machine struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Type *string `json:"type,omitempty"` - Name *string `json:"name,omitempty"` - Etag *string `json:"etag,omitempty"` + ID *string `json:"id,omitempty"` + Type *string `json:"type,omitempty"` + Name *string `json:"name,omitempty"` + Etag *string `json:"etag,omitempty"` + Kind KindCoreResource `json:"kind,omitempty"` *MachineProperties `json:"properties,omitempty"` } +// MarshalJSON is the custom marshaler for Machine. +func (m Machine) MarshalJSON() ([]byte, error) { + m.Kind = KindMachine + type Alias Machine + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(m), + }) +} + +// AsMachine is the CoreResource implementation for Machine. +func (m Machine) AsMachine() (*Machine, bool) { + return &m, true +} + +// AsProcess is the CoreResource implementation for Machine. +func (m Machine) AsProcess() (*Process, bool) { + return nil, false +} + +// AsPort is the CoreResource implementation for Machine. +func (m Machine) AsPort() (*Port, bool) { + return nil, false +} + +// AsClientGroup is the CoreResource implementation for Machine. +func (m Machine) AsClientGroup() (*ClientGroup, bool) { + return nil, false +} + +// AsMachineGroup is the CoreResource implementation for Machine. +func (m Machine) AsMachineGroup() (*MachineGroup, bool) { + return nil, false +} + // MachineProperties is resource properties. type MachineProperties struct { Timestamp *date.Time `json:"timestamp,omitempty"` @@ -407,13 +695,50 @@ type MachineCountsByOperatingSystem struct { // MachineGroup is a user-defined logical grouping of machines. type MachineGroup struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Type *string `json:"type,omitempty"` - Name *string `json:"name,omitempty"` - Etag *string `json:"etag,omitempty"` + ID *string `json:"id,omitempty"` + Type *string `json:"type,omitempty"` + Name *string `json:"name,omitempty"` + Etag *string `json:"etag,omitempty"` + Kind KindCoreResource `json:"kind,omitempty"` *MachineGroupProperties `json:"properties,omitempty"` } +// MarshalJSON is the custom marshaler for MachineGroup. +func (mg MachineGroup) MarshalJSON() ([]byte, error) { + mg.Kind = KindMachineGroup + type Alias MachineGroup + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(mg), + }) +} + +// AsMachine is the CoreResource implementation for MachineGroup. +func (mg MachineGroup) AsMachine() (*Machine, bool) { + return nil, false +} + +// AsProcess is the CoreResource implementation for MachineGroup. +func (mg MachineGroup) AsProcess() (*Process, bool) { + return nil, false +} + +// AsPort is the CoreResource implementation for MachineGroup. +func (mg MachineGroup) AsPort() (*Port, bool) { + return nil, false +} + +// AsClientGroup is the CoreResource implementation for MachineGroup. +func (mg MachineGroup) AsClientGroup() (*ClientGroup, bool) { + return nil, false +} + +// AsMachineGroup is the CoreResource implementation for MachineGroup. +func (mg MachineGroup) AsMachineGroup() (*MachineGroup, bool) { + return &mg, true +} + // MachineGroupProperties is resource properties. type MachineGroupProperties struct { DisplayName *string `json:"displayName,omitempty"` @@ -439,14 +764,35 @@ func (client MachineGroupCollection) MachineGroupCollectionPreparer() (*http.Req autorest.WithBaseURL(to.String(client.NextLink))) } -// MachineGroupMapRequest is specifies the computation of a machine group -// dependency map. A machine group dependency map includes all direct -// dependencies of a group of machines. +// MachineGroupMapRequest is specifies the computation of a machine group dependency map. A machine group dependency +// map includes all direct dependencies of a group of machines. type MachineGroupMapRequest struct { - StartTime *date.Time `json:"startTime,omitempty"` - EndTime *date.Time `json:"endTime,omitempty"` - MachineGroupID *string `json:"machineGroupId,omitempty"` - FilterProcesses *bool `json:"filterProcesses,omitempty"` + StartTime *date.Time `json:"startTime,omitempty"` + EndTime *date.Time `json:"endTime,omitempty"` + Kind KindMapRequest `json:"kind,omitempty"` + MachineGroupID *string `json:"machineGroupId,omitempty"` + FilterProcesses *bool `json:"filterProcesses,omitempty"` +} + +// MarshalJSON is the custom marshaler for MachineGroupMapRequest. +func (mgmr MachineGroupMapRequest) MarshalJSON() ([]byte, error) { + mgmr.Kind = KindMapmachineGroupDependency + type Alias MachineGroupMapRequest + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(mgmr), + }) +} + +// AsSingleMachineDependencyMapRequest is the MapRequest implementation for MachineGroupMapRequest. +func (mgmr MachineGroupMapRequest) AsSingleMachineDependencyMapRequest() (*SingleMachineDependencyMapRequest, bool) { + return nil, false +} + +// AsMachineGroupMapRequest is the MapRequest implementation for MachineGroupMapRequest. +func (mgmr MachineGroupMapRequest) AsMachineGroupMapRequest() (*MachineGroupMapRequest, bool) { + return &mgmr, true } // MachineReference is reference to a machine. @@ -454,19 +800,81 @@ type MachineReference struct { ID *string `json:"id,omitempty"` Type *string `json:"type,omitempty"` Name *string `json:"name,omitempty"` + Kind Kind `json:"kind,omitempty"` } -// MachineReferenceWithHints is a machine reference with a hint of the -// machine's name and operating system. +// MarshalJSON is the custom marshaler for MachineReference. +func (mr MachineReference) MarshalJSON() ([]byte, error) { + mr.Kind = KindRefmachine + type Alias MachineReference + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(mr), + }) +} + +// AsMachineReference is the ResourceReference implementation for MachineReference. +func (mr MachineReference) AsMachineReference() (*MachineReference, bool) { + return &mr, true +} + +// AsProcessReference is the ResourceReference implementation for MachineReference. +func (mr MachineReference) AsProcessReference() (*ProcessReference, bool) { + return nil, false +} + +// AsPortReference is the ResourceReference implementation for MachineReference. +func (mr MachineReference) AsPortReference() (*PortReference, bool) { + return nil, false +} + +// AsMachineReferenceWithHints is the ResourceReference implementation for MachineReference. +func (mr MachineReference) AsMachineReferenceWithHints() (*MachineReferenceWithHints, bool) { + return nil, false +} + +// MachineReferenceWithHints is a machine reference with a hint of the machine's name and operating system. type MachineReferenceWithHints struct { ID *string `json:"id,omitempty"` Type *string `json:"type,omitempty"` Name *string `json:"name,omitempty"` + Kind Kind `json:"kind,omitempty"` *MachineReferenceWithHintsProperties `json:"properties,omitempty"` } -// MachineReferenceWithHintsProperties is machine reference with name and os -// hints. +// MarshalJSON is the custom marshaler for MachineReferenceWithHints. +func (mrwh MachineReferenceWithHints) MarshalJSON() ([]byte, error) { + mrwh.Kind = KindRefmachinewithhints + type Alias MachineReferenceWithHints + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(mrwh), + }) +} + +// AsMachineReference is the ResourceReference implementation for MachineReferenceWithHints. +func (mrwh MachineReferenceWithHints) AsMachineReference() (*MachineReference, bool) { + return nil, false +} + +// AsProcessReference is the ResourceReference implementation for MachineReferenceWithHints. +func (mrwh MachineReferenceWithHints) AsProcessReference() (*ProcessReference, bool) { + return nil, false +} + +// AsPortReference is the ResourceReference implementation for MachineReferenceWithHints. +func (mrwh MachineReferenceWithHints) AsPortReference() (*PortReference, bool) { + return nil, false +} + +// AsMachineReferenceWithHints is the ResourceReference implementation for MachineReferenceWithHints. +func (mrwh MachineReferenceWithHints) AsMachineReferenceWithHints() (*MachineReferenceWithHints, bool) { + return &mrwh, true +} + +// MachineReferenceWithHintsProperties is machine reference with name and os hints. type MachineReferenceWithHintsProperties struct { DisplayNameHint *string `json:"displayNameHint,omitempty"` OsFamilyHint OperatingSystemFamily `json:"osFamilyHint,omitempty"` @@ -519,9 +927,48 @@ type MapNodes struct { } // MapRequest is specifies the contents of request to generate a map. -type MapRequest struct { - StartTime *date.Time `json:"startTime,omitempty"` - EndTime *date.Time `json:"endTime,omitempty"` +type MapRequest interface { + AsSingleMachineDependencyMapRequest() (*SingleMachineDependencyMapRequest, bool) + AsMachineGroupMapRequest() (*MachineGroupMapRequest, bool) +} + +func unmarshalMapRequest(body []byte) (MapRequest, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["kind"] { + case string(KindMapsingleMachineDependency): + var smdmr SingleMachineDependencyMapRequest + err := json.Unmarshal(body, &smdmr) + return smdmr, err + case string(KindMapmachineGroupDependency): + var mgmr MachineGroupMapRequest + err := json.Unmarshal(body, &mgmr) + return mgmr, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalMapRequestArray(body []byte) ([]MapRequest, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + mrArray := make([]MapRequest, len(rawMessages)) + + for index, rawMessage := range rawMessages { + mr, err := unmarshalMapRequest(*rawMessage) + if err != nil { + return nil, err + } + mrArray[index] = mr + } + return mrArray, nil } // MapResponse is specified the contents of a map response. @@ -541,35 +988,131 @@ type NetworkConfiguration struct { DNSNames *[]string `json:"dnsNames,omitempty"` } -// OperatingSystemConfiguration is describes the configuration of the operating -// system of a machine. +// OperatingSystemConfiguration is describes the configuration of the operating system of a machine. type OperatingSystemConfiguration struct { Family OperatingSystemFamily `json:"family,omitempty"` FullName *string `json:"fullName,omitempty"` Bitness Bitness `json:"bitness,omitempty"` } -// Port is a port resource represents a server port on a machine. The port may -// be actively *monitored*, i.e., a Dependency Agent is running on its machine, -// or *discovered*, i.e., its existence was inferred by observing the data -// stream from monitored machines. A port is live during an interval of time, -// if that port had associated activity during (parts) of that interval. +// Port is a port resource represents a server port on a machine. The port may be actively *monitored*, i.e., a +// Dependency Agent is running on its machine, or *discovered*, i.e., its existence was inferred by observing the data +// stream from monitored machines. A port is live during an interval of time, if that port had associated activity +// during (parts) of that interval. type Port struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Type *string `json:"type,omitempty"` - Name *string `json:"name,omitempty"` - Etag *string `json:"etag,omitempty"` + ID *string `json:"id,omitempty"` + Type *string `json:"type,omitempty"` + Name *string `json:"name,omitempty"` + Etag *string `json:"etag,omitempty"` + Kind KindCoreResource `json:"kind,omitempty"` *PortProperties `json:"properties,omitempty"` } +// MarshalJSON is the custom marshaler for Port. +func (p Port) MarshalJSON() ([]byte, error) { + p.Kind = KindPort + type Alias Port + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(p), + }) +} + +// AsMachine is the CoreResource implementation for Port. +func (p Port) AsMachine() (*Machine, bool) { + return nil, false +} + +// AsProcess is the CoreResource implementation for Port. +func (p Port) AsProcess() (*Process, bool) { + return nil, false +} + +// AsPort is the CoreResource implementation for Port. +func (p Port) AsPort() (*Port, bool) { + return &p, true +} + +// AsClientGroup is the CoreResource implementation for Port. +func (p Port) AsClientGroup() (*ClientGroup, bool) { + return nil, false +} + +// AsMachineGroup is the CoreResource implementation for Port. +func (p Port) AsMachineGroup() (*MachineGroup, bool) { + return nil, false +} + // PortProperties is resource properties. type PortProperties struct { - MonitoringState MonitoringState `json:"monitoringState,omitempty"` - Machine *ResourceReference `json:"machine,omitempty"` - DisplayName *string `json:"displayName,omitempty"` - IPAddress *string `json:"ipAddress,omitempty"` - PortNumber *int32 `json:"portNumber,omitempty"` + MonitoringState MonitoringState `json:"monitoringState,omitempty"` + Machine ResourceReference `json:"machine,omitempty"` + DisplayName *string `json:"displayName,omitempty"` + IPAddress *string `json:"ipAddress,omitempty"` + PortNumber *int32 `json:"portNumber,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for PortProperties struct. +func (p *PortProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["monitoringState"] + if v != nil { + var monitoringState MonitoringState + err = json.Unmarshal(*m["monitoringState"], &monitoringState) + if err != nil { + return err + } + p.MonitoringState = monitoringState + } + + v = m["machine"] + if v != nil { + machine, err := unmarshalResourceReference(*m["machine"]) + if err != nil { + return err + } + p.Machine = machine + } + + v = m["displayName"] + if v != nil { + var displayName string + err = json.Unmarshal(*m["displayName"], &displayName) + if err != nil { + return err + } + p.DisplayName = &displayName + } + + v = m["ipAddress"] + if v != nil { + var IPAddress string + err = json.Unmarshal(*m["ipAddress"], &IPAddress) + if err != nil { + return err + } + p.IPAddress = &IPAddress + } + + v = m["portNumber"] + if v != nil { + var portNumber int32 + err = json.Unmarshal(*m["portNumber"], &portNumber) + if err != nil { + return err + } + p.PortNumber = &portNumber + } + + return nil } // PortCollection is collection of Port resources. @@ -596,9 +1139,41 @@ type PortReference struct { ID *string `json:"id,omitempty"` Type *string `json:"type,omitempty"` Name *string `json:"name,omitempty"` + Kind Kind `json:"kind,omitempty"` *PortReferenceProperties `json:"properties,omitempty"` } +// MarshalJSON is the custom marshaler for PortReference. +func (pr PortReference) MarshalJSON() ([]byte, error) { + pr.Kind = KindRefport + type Alias PortReference + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(pr), + }) +} + +// AsMachineReference is the ResourceReference implementation for PortReference. +func (pr PortReference) AsMachineReference() (*MachineReference, bool) { + return nil, false +} + +// AsProcessReference is the ResourceReference implementation for PortReference. +func (pr PortReference) AsProcessReference() (*ProcessReference, bool) { + return nil, false +} + +// AsPortReference is the ResourceReference implementation for PortReference. +func (pr PortReference) AsPortReference() (*PortReference, bool) { + return &pr, true +} + +// AsMachineReferenceWithHints is the ResourceReference implementation for PortReference. +func (pr PortReference) AsMachineReferenceWithHints() (*MachineReferenceWithHints, bool) { + return nil, false +} + // PortReferenceProperties is resource properties. type PortReferenceProperties struct { Machine *MachineReference `json:"machine,omitempty"` @@ -606,37 +1181,190 @@ type PortReferenceProperties struct { PortNumber *int32 `json:"portNumber,omitempty"` } -// Process is a process resource represents a process running on a machine. The -// process may be actively *monitored*, i.e., a Dependency Agent is running on -// its machine, or *discovered*, i.e., its existence was inferred by observing -// the data stream from monitored machines. A process resource represents a -// pool of actual operating system resources that share command lines and -// metadata. As the process pool evolves over time, prior versions of the -// process resource are preserved and available for access. A process is live -// during an interval of time, if that process is executing during (parts) of -// that interval +// Process is a process resource represents a process running on a machine. The process may be actively *monitored*, +// i.e., a Dependency Agent is running on its machine, or *discovered*, i.e., its existence was inferred by observing +// the data stream from monitored machines. A process resource represents a pool of actual operating system resources +// that share command lines and metadata. As the process pool evolves over time, prior versions of the process resource +// are preserved and available for access. A process is live during an interval of time, if that process is executing +// during (parts) of that interval type Process struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Type *string `json:"type,omitempty"` - Name *string `json:"name,omitempty"` - Etag *string `json:"etag,omitempty"` + ID *string `json:"id,omitempty"` + Type *string `json:"type,omitempty"` + Name *string `json:"name,omitempty"` + Etag *string `json:"etag,omitempty"` + Kind KindCoreResource `json:"kind,omitempty"` *ProcessProperties `json:"properties,omitempty"` } +// MarshalJSON is the custom marshaler for Process. +func (p Process) MarshalJSON() ([]byte, error) { + p.Kind = KindProcess + type Alias Process + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(p), + }) +} + +// AsMachine is the CoreResource implementation for Process. +func (p Process) AsMachine() (*Machine, bool) { + return nil, false +} + +// AsProcess is the CoreResource implementation for Process. +func (p Process) AsProcess() (*Process, bool) { + return &p, true +} + +// AsPort is the CoreResource implementation for Process. +func (p Process) AsPort() (*Port, bool) { + return nil, false +} + +// AsClientGroup is the CoreResource implementation for Process. +func (p Process) AsClientGroup() (*ClientGroup, bool) { + return nil, false +} + +// AsMachineGroup is the CoreResource implementation for Process. +func (p Process) AsMachineGroup() (*MachineGroup, bool) { + return nil, false +} + // ProcessProperties is resource properties. type ProcessProperties struct { - Timestamp *date.Time `json:"timestamp,omitempty"` - MonitoringState MonitoringState `json:"monitoringState,omitempty"` - Machine *ResourceReference `json:"machine,omitempty"` - ExecutableName *string `json:"executableName,omitempty"` - DisplayName *string `json:"displayName,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - Role ProcessRole `json:"role,omitempty"` - Details *ProcessDetails `json:"details,omitempty"` - User *ProcessUser `json:"user,omitempty"` - ClientOf *ResourceReference `json:"clientOf,omitempty"` - AcceptorOf *ResourceReference `json:"acceptorOf,omitempty"` + Timestamp *date.Time `json:"timestamp,omitempty"` + MonitoringState MonitoringState `json:"monitoringState,omitempty"` + Machine ResourceReference `json:"machine,omitempty"` + ExecutableName *string `json:"executableName,omitempty"` + DisplayName *string `json:"displayName,omitempty"` + StartTime *date.Time `json:"startTime,omitempty"` + Role ProcessRole `json:"role,omitempty"` + Details *ProcessDetails `json:"details,omitempty"` + User *ProcessUser `json:"user,omitempty"` + ClientOf ResourceReference `json:"clientOf,omitempty"` + AcceptorOf ResourceReference `json:"acceptorOf,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for ProcessProperties struct. +func (p *ProcessProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["timestamp"] + if v != nil { + var timestamp date.Time + err = json.Unmarshal(*m["timestamp"], ×tamp) + if err != nil { + return err + } + p.Timestamp = ×tamp + } + + v = m["monitoringState"] + if v != nil { + var monitoringState MonitoringState + err = json.Unmarshal(*m["monitoringState"], &monitoringState) + if err != nil { + return err + } + p.MonitoringState = monitoringState + } + + v = m["machine"] + if v != nil { + machine, err := unmarshalResourceReference(*m["machine"]) + if err != nil { + return err + } + p.Machine = machine + } + + v = m["executableName"] + if v != nil { + var executableName string + err = json.Unmarshal(*m["executableName"], &executableName) + if err != nil { + return err + } + p.ExecutableName = &executableName + } + + v = m["displayName"] + if v != nil { + var displayName string + err = json.Unmarshal(*m["displayName"], &displayName) + if err != nil { + return err + } + p.DisplayName = &displayName + } + + v = m["startTime"] + if v != nil { + var startTime date.Time + err = json.Unmarshal(*m["startTime"], &startTime) + if err != nil { + return err + } + p.StartTime = &startTime + } + + v = m["role"] + if v != nil { + var role ProcessRole + err = json.Unmarshal(*m["role"], &role) + if err != nil { + return err + } + p.Role = role + } + + v = m["details"] + if v != nil { + var details ProcessDetails + err = json.Unmarshal(*m["details"], &details) + if err != nil { + return err + } + p.Details = &details + } + + v = m["user"] + if v != nil { + var userVar ProcessUser + err = json.Unmarshal(*m["user"], &userVar) + if err != nil { + return err + } + p.User = &userVar + } + + v = m["clientOf"] + if v != nil { + clientOf, err := unmarshalResourceReference(*m["clientOf"]) + if err != nil { + return err + } + p.ClientOf = clientOf + } + + v = m["acceptorOf"] + if v != nil { + acceptorOf, err := unmarshalResourceReference(*m["acceptorOf"]) + if err != nil { + return err + } + p.AcceptorOf = acceptorOf + } + + return nil } // ProcessCollection is collection of Process resources. @@ -679,9 +1407,41 @@ type ProcessReference struct { ID *string `json:"id,omitempty"` Type *string `json:"type,omitempty"` Name *string `json:"name,omitempty"` + Kind Kind `json:"kind,omitempty"` *ProcessReferenceProperties `json:"properties,omitempty"` } +// MarshalJSON is the custom marshaler for ProcessReference. +func (pr ProcessReference) MarshalJSON() ([]byte, error) { + pr.Kind = KindRefprocess + type Alias ProcessReference + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(pr), + }) +} + +// AsMachineReference is the ResourceReference implementation for ProcessReference. +func (pr ProcessReference) AsMachineReference() (*MachineReference, bool) { + return nil, false +} + +// AsProcessReference is the ResourceReference implementation for ProcessReference. +func (pr ProcessReference) AsProcessReference() (*ProcessReference, bool) { + return &pr, true +} + +// AsPortReference is the ResourceReference implementation for ProcessReference. +func (pr ProcessReference) AsPortReference() (*PortReference, bool) { + return nil, false +} + +// AsMachineReferenceWithHints is the ResourceReference implementation for ProcessReference. +func (pr ProcessReference) AsMachineReferenceWithHints() (*MachineReferenceWithHints, bool) { + return nil, false +} + // ProcessReferenceProperties is resource properties. type ProcessReferenceProperties struct { Machine *MachineReference `json:"machine,omitempty"` @@ -694,18 +1454,106 @@ type ProcessUser struct { } // Relationship is a typed relationship between two entities. -type Relationship struct { - ID *string `json:"id,omitempty"` - Type *string `json:"type,omitempty"` - Name *string `json:"name,omitempty"` +type Relationship interface { + AsConnection() (*Connection, bool) + AsAcceptor() (*Acceptor, bool) +} + +func unmarshalRelationship(body []byte) (Relationship, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["kind"] { + case string(KindRelconnection): + var c Connection + err := json.Unmarshal(body, &c) + return c, err + case string(KindRelacceptor): + var a Acceptor + err := json.Unmarshal(body, &a) + return a, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalRelationshipArray(body []byte) ([]Relationship, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + rArray := make([]Relationship, len(rawMessages)) + + for index, rawMessage := range rawMessages { + r, err := unmarshalRelationship(*rawMessage) + if err != nil { + return nil, err + } + rArray[index] = r + } + return rArray, nil } // RelationshipProperties is relationship properties. type RelationshipProperties struct { - Source *ResourceReference `json:"source,omitempty"` - Destination *ResourceReference `json:"destination,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - EndTime *date.Time `json:"endTime,omitempty"` + Source ResourceReference `json:"source,omitempty"` + Destination ResourceReference `json:"destination,omitempty"` + StartTime *date.Time `json:"startTime,omitempty"` + EndTime *date.Time `json:"endTime,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for RelationshipProperties struct. +func (rp *RelationshipProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["source"] + if v != nil { + source, err := unmarshalResourceReference(*m["source"]) + if err != nil { + return err + } + rp.Source = source + } + + v = m["destination"] + if v != nil { + destination, err := unmarshalResourceReference(*m["destination"]) + if err != nil { + return err + } + rp.Destination = destination + } + + v = m["startTime"] + if v != nil { + var startTime date.Time + err = json.Unmarshal(*m["startTime"], &startTime) + if err != nil { + return err + } + rp.StartTime = &startTime + } + + v = m["endTime"] + if v != nil { + var endTime date.Time + err = json.Unmarshal(*m["endTime"], &endTime) + if err != nil { + return err + } + rp.EndTime = &endTime + } + + return nil } // Resource is resource model definition. @@ -716,19 +1564,88 @@ type Resource struct { } // ResourceReference is represents a reference to another resource. -type ResourceReference struct { - ID *string `json:"id,omitempty"` - Type *string `json:"type,omitempty"` - Name *string `json:"name,omitempty"` +type ResourceReference interface { + AsMachineReference() (*MachineReference, bool) + AsProcessReference() (*ProcessReference, bool) + AsPortReference() (*PortReference, bool) + AsMachineReferenceWithHints() (*MachineReferenceWithHints, bool) } -// SingleMachineDependencyMapRequest is specifies the computation of a single -// server dependency map. A single server dependency map includes all direct -// dependencies of a given machine. +func unmarshalResourceReference(body []byte) (ResourceReference, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["kind"] { + case string(KindRefmachine): + var mr MachineReference + err := json.Unmarshal(body, &mr) + return mr, err + case string(KindRefprocess): + var pr ProcessReference + err := json.Unmarshal(body, &pr) + return pr, err + case string(KindRefport): + var pr PortReference + err := json.Unmarshal(body, &pr) + return pr, err + case string(KindRefmachinewithhints): + var mrwh MachineReferenceWithHints + err := json.Unmarshal(body, &mrwh) + return mrwh, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalResourceReferenceArray(body []byte) ([]ResourceReference, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + rrArray := make([]ResourceReference, len(rawMessages)) + + for index, rawMessage := range rawMessages { + rr, err := unmarshalResourceReference(*rawMessage) + if err != nil { + return nil, err + } + rrArray[index] = rr + } + return rrArray, nil +} + +// SingleMachineDependencyMapRequest is specifies the computation of a single server dependency map. A single server +// dependency map includes all direct dependencies of a given machine. type SingleMachineDependencyMapRequest struct { - StartTime *date.Time `json:"startTime,omitempty"` - EndTime *date.Time `json:"endTime,omitempty"` - MachineID *string `json:"machineId,omitempty"` + StartTime *date.Time `json:"startTime,omitempty"` + EndTime *date.Time `json:"endTime,omitempty"` + Kind KindMapRequest `json:"kind,omitempty"` + MachineID *string `json:"machineId,omitempty"` +} + +// MarshalJSON is the custom marshaler for SingleMachineDependencyMapRequest. +func (smdmr SingleMachineDependencyMapRequest) MarshalJSON() ([]byte, error) { + smdmr.Kind = KindMapsingleMachineDependency + type Alias SingleMachineDependencyMapRequest + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(smdmr), + }) +} + +// AsSingleMachineDependencyMapRequest is the MapRequest implementation for SingleMachineDependencyMapRequest. +func (smdmr SingleMachineDependencyMapRequest) AsSingleMachineDependencyMapRequest() (*SingleMachineDependencyMapRequest, bool) { + return &smdmr, true +} + +// AsMachineGroupMapRequest is the MapRequest implementation for SingleMachineDependencyMapRequest. +func (smdmr SingleMachineDependencyMapRequest) AsMachineGroupMapRequest() (*MachineGroupMapRequest, bool) { + return nil, false } // Summary is base for all resource summaries. @@ -749,8 +1666,7 @@ type Timezone struct { FullName *string `json:"fullName,omitempty"` } -// VirtualMachineConfiguration is describes the virtualizaton-related -// configuration of a machine. +// VirtualMachineConfiguration is describes the virtualizaton-related configuration of a machine. type VirtualMachineConfiguration struct { VirtualMachineType VirtualMachineType `json:"virtualMachineType,omitempty"` NativeMachineID *string `json:"nativeMachineId,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/ports.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/ports.go index 3834e2f9c..89a410409 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/ports.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/ports.go @@ -14,9 +14,8 @@ package servicemap // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -41,17 +40,14 @@ func NewPortsClientWithBaseURI(baseURI string, subscriptionID string) PortsClien return PortsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Get returns the specified port. The port must be live during the specified -// time interval. If the port is not live during the interval, status 404 (Not -// Found) is returned. +// Get returns the specified port. The port must be live during the specified time interval. If the port is not live +// during the interval, status 404 (Not Found) is returned. // -// resourceGroupName is resource group name within the specified -// subscriptionId. workspaceName is oMS workspace containing the resources of -// interest. machineName is machine resource name. portName is port resource -// name. startTime is uTC date and time specifying the start time of an -// interval. When not specified the service uses DateTime.UtcNow - 10m endTime -// is uTC date and time specifying the end time of an interval. When not -// specified the service uses DateTime.UtcNow +// resourceGroupName is resource group name within the specified subscriptionId. workspaceName is OMS workspace +// containing the resources of interest. machineName is machine resource name. portName is port resource name. +// startTime is UTC date and time specifying the start time of an interval. When not specified the service uses +// DateTime.UtcNow - 10m endTime is UTC date and time specifying the end time of an interval. When not specified the +// service uses DateTime.UtcNow func (client PortsClient) Get(resourceGroupName string, workspaceName string, machineName string, portName string, startTime *date.Time, endTime *date.Time) (result Port, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -140,16 +136,13 @@ func (client PortsClient) GetResponder(resp *http.Response) (result Port, err er return } -// GetLiveness obtains the liveness status of the port during the specified -// time interval. +// GetLiveness obtains the liveness status of the port during the specified time interval. // -// resourceGroupName is resource group name within the specified -// subscriptionId. workspaceName is oMS workspace containing the resources of -// interest. machineName is machine resource name. portName is port resource -// name. startTime is uTC date and time specifying the start time of an -// interval. When not specified the service uses DateTime.UtcNow - 10m endTime -// is uTC date and time specifying the end time of an interval. When not -// specified the service uses DateTime.UtcNow +// resourceGroupName is resource group name within the specified subscriptionId. workspaceName is OMS workspace +// containing the resources of interest. machineName is machine resource name. portName is port resource name. +// startTime is UTC date and time specifying the start time of an interval. When not specified the service uses +// DateTime.UtcNow - 10m endTime is UTC date and time specifying the end time of an interval. When not specified the +// service uses DateTime.UtcNow func (client PortsClient) GetLiveness(resourceGroupName string, workspaceName string, machineName string, portName string, startTime *date.Time, endTime *date.Time) (result Liveness, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -238,16 +231,13 @@ func (client PortsClient) GetLivenessResponder(resp *http.Response) (result Live return } -// ListAcceptingProcesses returns a collection of processes accepting on the -// specified port +// ListAcceptingProcesses returns a collection of processes accepting on the specified port // -// resourceGroupName is resource group name within the specified -// subscriptionId. workspaceName is oMS workspace containing the resources of -// interest. machineName is machine resource name. portName is port resource -// name. startTime is uTC date and time specifying the start time of an -// interval. When not specified the service uses DateTime.UtcNow - 10m endTime -// is uTC date and time specifying the end time of an interval. When not -// specified the service uses DateTime.UtcNow +// resourceGroupName is resource group name within the specified subscriptionId. workspaceName is OMS workspace +// containing the resources of interest. machineName is machine resource name. portName is port resource name. +// startTime is UTC date and time specifying the start time of an interval. When not specified the service uses +// DateTime.UtcNow - 10m endTime is UTC date and time specifying the end time of an interval. When not specified the +// service uses DateTime.UtcNow func (client PortsClient) ListAcceptingProcesses(resourceGroupName string, workspaceName string, machineName string, portName string, startTime *date.Time, endTime *date.Time) (result ProcessCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -360,16 +350,58 @@ func (client PortsClient) ListAcceptingProcessesNextResults(lastResults ProcessC return } -// ListConnections returns a collection of connections established via the -// specified port. +// ListAcceptingProcessesComplete gets all elements from the list without paging. +func (client PortsClient) ListAcceptingProcessesComplete(resourceGroupName string, workspaceName string, machineName string, portName string, startTime *date.Time, endTime *date.Time, cancel <-chan struct{}) (<-chan Process, <-chan error) { + resultChan := make(chan Process) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAcceptingProcesses(resourceGroupName, workspaceName, machineName, portName, startTime, endTime) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAcceptingProcessesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListConnections returns a collection of connections established via the specified port. // -// resourceGroupName is resource group name within the specified -// subscriptionId. workspaceName is oMS workspace containing the resources of -// interest. machineName is machine resource name. portName is port resource -// name. startTime is uTC date and time specifying the start time of an -// interval. When not specified the service uses DateTime.UtcNow - 10m endTime -// is uTC date and time specifying the end time of an interval. When not -// specified the service uses DateTime.UtcNow +// resourceGroupName is resource group name within the specified subscriptionId. workspaceName is OMS workspace +// containing the resources of interest. machineName is machine resource name. portName is port resource name. +// startTime is UTC date and time specifying the start time of an interval. When not specified the service uses +// DateTime.UtcNow - 10m endTime is UTC date and time specifying the end time of an interval. When not specified the +// service uses DateTime.UtcNow func (client PortsClient) ListConnections(resourceGroupName string, workspaceName string, machineName string, portName string, startTime *date.Time, endTime *date.Time) (result ConnectionCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -481,3 +513,48 @@ func (client PortsClient) ListConnectionsNextResults(lastResults ConnectionColle return } + +// ListConnectionsComplete gets all elements from the list without paging. +func (client PortsClient) ListConnectionsComplete(resourceGroupName string, workspaceName string, machineName string, portName string, startTime *date.Time, endTime *date.Time, cancel <-chan struct{}) (<-chan Connection, <-chan error) { + resultChan := make(chan Connection) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListConnections(resourceGroupName, workspaceName, machineName, portName, startTime, endTime) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListConnectionsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/processes.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/processes.go index f36e4b888..44778e4df 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/processes.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/processes.go @@ -14,9 +14,8 @@ package servicemap // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -36,20 +35,17 @@ func NewProcessesClient(subscriptionID string) ProcessesClient { return NewProcessesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewProcessesClientWithBaseURI creates an instance of the ProcessesClient -// client. +// NewProcessesClientWithBaseURI creates an instance of the ProcessesClient client. func NewProcessesClientWithBaseURI(baseURI string, subscriptionID string) ProcessesClient { return ProcessesClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get returns the specified process. // -// resourceGroupName is resource group name within the specified -// subscriptionId. workspaceName is oMS workspace containing the resources of -// interest. machineName is machine resource name. processName is process -// resource name. timestamp is uTC date and time specifying a time instance -// relative to which to evaluate a resource. When not specified, the service -// uses DateTime.UtcNow. +// resourceGroupName is resource group name within the specified subscriptionId. workspaceName is OMS workspace +// containing the resources of interest. machineName is machine resource name. processName is process resource name. +// timestamp is UTC date and time specifying a time instance relative to which to evaluate a resource. When not +// specified, the service uses DateTime.UtcNow. func (client ProcessesClient) Get(resourceGroupName string, workspaceName string, machineName string, processName string, timestamp *date.Time) (result Process, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -135,16 +131,13 @@ func (client ProcessesClient) GetResponder(resp *http.Response) (result Process, return } -// GetLiveness obtains the liveness status of the process during the specified -// time interval. +// GetLiveness obtains the liveness status of the process during the specified time interval. // -// resourceGroupName is resource group name within the specified -// subscriptionId. workspaceName is oMS workspace containing the resources of -// interest. machineName is machine resource name. processName is process -// resource name. startTime is uTC date and time specifying the start time of -// an interval. When not specified the service uses DateTime.UtcNow - 10m -// endTime is uTC date and time specifying the end time of an interval. When -// not specified the service uses DateTime.UtcNow +// resourceGroupName is resource group name within the specified subscriptionId. workspaceName is OMS workspace +// containing the resources of interest. machineName is machine resource name. processName is process resource name. +// startTime is UTC date and time specifying the start time of an interval. When not specified the service uses +// DateTime.UtcNow - 10m endTime is UTC date and time specifying the end time of an interval. When not specified the +// service uses DateTime.UtcNow func (client ProcessesClient) GetLiveness(resourceGroupName string, workspaceName string, machineName string, processName string, startTime *date.Time, endTime *date.Time) (result Liveness, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -233,16 +226,13 @@ func (client ProcessesClient) GetLivenessResponder(resp *http.Response) (result return } -// ListAcceptingPorts returns a collection of ports on which this process is -// accepting +// ListAcceptingPorts returns a collection of ports on which this process is accepting // -// resourceGroupName is resource group name within the specified -// subscriptionId. workspaceName is oMS workspace containing the resources of -// interest. machineName is machine resource name. processName is process -// resource name. startTime is uTC date and time specifying the start time of -// an interval. When not specified the service uses DateTime.UtcNow - 10m -// endTime is uTC date and time specifying the end time of an interval. When -// not specified the service uses DateTime.UtcNow +// resourceGroupName is resource group name within the specified subscriptionId. workspaceName is OMS workspace +// containing the resources of interest. machineName is machine resource name. processName is process resource name. +// startTime is UTC date and time specifying the start time of an interval. When not specified the service uses +// DateTime.UtcNow - 10m endTime is UTC date and time specifying the end time of an interval. When not specified the +// service uses DateTime.UtcNow func (client ProcessesClient) ListAcceptingPorts(resourceGroupName string, workspaceName string, machineName string, processName string, startTime *date.Time, endTime *date.Time) (result PortCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -355,16 +345,58 @@ func (client ProcessesClient) ListAcceptingPortsNextResults(lastResults PortColl return } -// ListConnections returns a collection of connections terminating or -// originating at the specified process +// ListAcceptingPortsComplete gets all elements from the list without paging. +func (client ProcessesClient) ListAcceptingPortsComplete(resourceGroupName string, workspaceName string, machineName string, processName string, startTime *date.Time, endTime *date.Time, cancel <-chan struct{}) (<-chan Port, <-chan error) { + resultChan := make(chan Port) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAcceptingPorts(resourceGroupName, workspaceName, machineName, processName, startTime, endTime) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAcceptingPortsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListConnections returns a collection of connections terminating or originating at the specified process // -// resourceGroupName is resource group name within the specified -// subscriptionId. workspaceName is oMS workspace containing the resources of -// interest. machineName is machine resource name. processName is process -// resource name. startTime is uTC date and time specifying the start time of -// an interval. When not specified the service uses DateTime.UtcNow - 10m -// endTime is uTC date and time specifying the end time of an interval. When -// not specified the service uses DateTime.UtcNow +// resourceGroupName is resource group name within the specified subscriptionId. workspaceName is OMS workspace +// containing the resources of interest. machineName is machine resource name. processName is process resource name. +// startTime is UTC date and time specifying the start time of an interval. When not specified the service uses +// DateTime.UtcNow - 10m endTime is UTC date and time specifying the end time of an interval. When not specified the +// service uses DateTime.UtcNow func (client ProcessesClient) ListConnections(resourceGroupName string, workspaceName string, machineName string, processName string, startTime *date.Time, endTime *date.Time) (result ConnectionCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -476,3 +508,48 @@ func (client ProcessesClient) ListConnectionsNextResults(lastResults ConnectionC return } + +// ListConnectionsComplete gets all elements from the list without paging. +func (client ProcessesClient) ListConnectionsComplete(resourceGroupName string, workspaceName string, machineName string, processName string, startTime *date.Time, endTime *date.Time, cancel <-chan struct{}) (<-chan Connection, <-chan error) { + resultChan := make(chan Connection) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListConnections(resourceGroupName, workspaceName, machineName, processName, startTime, endTime) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListConnectionsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/summaries.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/summaries.go index fa099ea9b..6bd08414c 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/summaries.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/summaries.go @@ -14,9 +14,8 @@ package servicemap // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -36,20 +35,17 @@ func NewSummariesClient(subscriptionID string) SummariesClient { return NewSummariesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewSummariesClientWithBaseURI creates an instance of the SummariesClient -// client. +// NewSummariesClientWithBaseURI creates an instance of the SummariesClient client. func NewSummariesClientWithBaseURI(baseURI string, subscriptionID string) SummariesClient { return SummariesClient{NewWithBaseURI(baseURI, subscriptionID)} } // GetMachines returns summary information about the machines in the workspace. // -// resourceGroupName is resource group name within the specified -// subscriptionId. workspaceName is oMS workspace containing the resources of -// interest. startTime is uTC date and time specifying the start time of an -// interval. When not specified the service uses DateTime.UtcNow - 10m endTime -// is uTC date and time specifying the end time of an interval. When not -// specified the service uses DateTime.UtcNow +// resourceGroupName is resource group name within the specified subscriptionId. workspaceName is OMS workspace +// containing the resources of interest. startTime is UTC date and time specifying the start time of an interval. When +// not specified the service uses DateTime.UtcNow - 10m endTime is UTC date and time specifying the end time of an +// interval. When not specified the service uses DateTime.UtcNow func (client SummariesClient) GetMachines(resourceGroupName string, workspaceName string, startTime *date.Time, endTime *date.Time) (result MachinesSummary, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/version.go index fc3b41c5f..160eb3094 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/service-map/version.go @@ -14,16 +14,15 @@ package servicemap // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-servicemap/2015-11-01-preview" + return "Azure-SDK-For-Go/v11.0.0-beta arm-servicemap/2015-11-01-preview" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/client.go index 446baff17..9ea063a73 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/client.go @@ -1,5 +1,4 @@ -// Package servicebus implements the Azure ARM Servicebus service API version -// 2015-08-01. +// Package servicebus implements the Azure ARM Servicebus service API version 2017-04-01. // // Azure Service Bus client package servicebus @@ -18,9 +17,8 @@ package servicebus // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/eventhubs.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/eventhubs.go new file mode 100644 index 000000000..23b6487b0 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/eventhubs.go @@ -0,0 +1,184 @@ +package servicebus + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// EventHubsClient is the azure Service Bus client +type EventHubsClient struct { + ManagementClient +} + +// NewEventHubsClient creates an instance of the EventHubsClient client. +func NewEventHubsClient(subscriptionID string) EventHubsClient { + return NewEventHubsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewEventHubsClientWithBaseURI creates an instance of the EventHubsClient client. +func NewEventHubsClientWithBaseURI(baseURI string, subscriptionID string) EventHubsClient { + return EventHubsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListByNamespace gets all the Event Hubs in a service bus Namespace. +// +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +func (client EventHubsClient) ListByNamespace(resourceGroupName string, namespaceName string) (result EventHubListResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: namespaceName, + Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "servicebus.EventHubsClient", "ListByNamespace") + } + + req, err := client.ListByNamespacePreparer(resourceGroupName, namespaceName) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.EventHubsClient", "ListByNamespace", nil, "Failure preparing request") + return + } + + resp, err := client.ListByNamespaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicebus.EventHubsClient", "ListByNamespace", resp, "Failure sending request") + return + } + + result, err = client.ListByNamespaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.EventHubsClient", "ListByNamespace", resp, "Failure responding to request") + } + + return +} + +// ListByNamespacePreparer prepares the ListByNamespace request. +func (client EventHubsClient) ListByNamespacePreparer(resourceGroupName string, namespaceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "namespaceName": autorest.Encode("path", namespaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByNamespaceSender sends the ListByNamespace request. The method will close the +// http.Response Body if it receives an error. +func (client EventHubsClient) ListByNamespaceSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByNamespaceResponder handles the response to the ListByNamespace request. The method always +// closes the http.Response Body. +func (client EventHubsClient) ListByNamespaceResponder(resp *http.Response) (result EventHubListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByNamespaceNextResults retrieves the next set of results, if any. +func (client EventHubsClient) ListByNamespaceNextResults(lastResults EventHubListResult) (result EventHubListResult, err error) { + req, err := lastResults.EventHubListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "servicebus.EventHubsClient", "ListByNamespace", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListByNamespaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "servicebus.EventHubsClient", "ListByNamespace", resp, "Failure sending next results request") + } + + result, err = client.ListByNamespaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.EventHubsClient", "ListByNamespace", resp, "Failure responding to next results request") + } + + return +} + +// ListByNamespaceComplete gets all elements from the list without paging. +func (client EventHubsClient) ListByNamespaceComplete(resourceGroupName string, namespaceName string, cancel <-chan struct{}) (<-chan Eventhub, <-chan error) { + resultChan := make(chan Eventhub) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByNamespace(resourceGroupName, namespaceName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByNamespaceNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/models.go index 1cb4882ff..a2a7db653 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/models.go @@ -14,9 +14,8 @@ package servicebus // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -37,109 +36,58 @@ const ( Send AccessRights = "Send" ) -// EntityAvailabilityStatus enumerates the values for entity availability -// status. -type EntityAvailabilityStatus string +// EncodingCaptureDescription enumerates the values for encoding capture description. +type EncodingCaptureDescription string const ( - // Available specifies the available state for entity availability status. - Available EntityAvailabilityStatus = "Available" - // Limited specifies the limited state for entity availability status. - Limited EntityAvailabilityStatus = "Limited" - // Renaming specifies the renaming state for entity availability status. - Renaming EntityAvailabilityStatus = "Renaming" - // Restoring specifies the restoring state for entity availability status. - Restoring EntityAvailabilityStatus = "Restoring" - // Unknown specifies the unknown state for entity availability status. - Unknown EntityAvailabilityStatus = "Unknown" + // Avro specifies the avro state for encoding capture description. + Avro EncodingCaptureDescription = "Avro" + // AvroDeflate specifies the avro deflate state for encoding capture description. + AvroDeflate EncodingCaptureDescription = "AvroDeflate" ) // EntityStatus enumerates the values for entity status. type EntityStatus string const ( - // EntityStatusActive specifies the entity status active state for entity - // status. - EntityStatusActive EntityStatus = "Active" - // EntityStatusCreating specifies the entity status creating state for - // entity status. - EntityStatusCreating EntityStatus = "Creating" - // EntityStatusDeleting specifies the entity status deleting state for - // entity status. - EntityStatusDeleting EntityStatus = "Deleting" - // EntityStatusDisabled specifies the entity status disabled state for - // entity status. - EntityStatusDisabled EntityStatus = "Disabled" - // EntityStatusReceiveDisabled specifies the entity status receive disabled - // state for entity status. - EntityStatusReceiveDisabled EntityStatus = "ReceiveDisabled" - // EntityStatusRenaming specifies the entity status renaming state for - // entity status. - EntityStatusRenaming EntityStatus = "Renaming" - // EntityStatusRestoring specifies the entity status restoring state for - // entity status. - EntityStatusRestoring EntityStatus = "Restoring" - // EntityStatusSendDisabled specifies the entity status send disabled state - // for entity status. - EntityStatusSendDisabled EntityStatus = "SendDisabled" - // EntityStatusUnknown specifies the entity status unknown state for entity - // status. - EntityStatusUnknown EntityStatus = "Unknown" + // Active specifies the active state for entity status. + Active EntityStatus = "Active" + // Creating specifies the creating state for entity status. + Creating EntityStatus = "Creating" + // Deleting specifies the deleting state for entity status. + Deleting EntityStatus = "Deleting" + // Disabled specifies the disabled state for entity status. + Disabled EntityStatus = "Disabled" + // ReceiveDisabled specifies the receive disabled state for entity status. + ReceiveDisabled EntityStatus = "ReceiveDisabled" + // Renaming specifies the renaming state for entity status. + Renaming EntityStatus = "Renaming" + // Restoring specifies the restoring state for entity status. + Restoring EntityStatus = "Restoring" + // SendDisabled specifies the send disabled state for entity status. + SendDisabled EntityStatus = "SendDisabled" + // Unknown specifies the unknown state for entity status. + Unknown EntityStatus = "Unknown" ) -// NamespaceState enumerates the values for namespace state. -type NamespaceState string +// FilterType enumerates the values for filter type. +type FilterType string const ( - // NamespaceStateActivating specifies the namespace state activating state - // for namespace state. - NamespaceStateActivating NamespaceState = "Activating" - // NamespaceStateActive specifies the namespace state active state for - // namespace state. - NamespaceStateActive NamespaceState = "Active" - // NamespaceStateCreated specifies the namespace state created state for - // namespace state. - NamespaceStateCreated NamespaceState = "Created" - // NamespaceStateCreating specifies the namespace state creating state for - // namespace state. - NamespaceStateCreating NamespaceState = "Creating" - // NamespaceStateDisabled specifies the namespace state disabled state for - // namespace state. - NamespaceStateDisabled NamespaceState = "Disabled" - // NamespaceStateDisabling specifies the namespace state disabling state - // for namespace state. - NamespaceStateDisabling NamespaceState = "Disabling" - // NamespaceStateEnabling specifies the namespace state enabling state for - // namespace state. - NamespaceStateEnabling NamespaceState = "Enabling" - // NamespaceStateFailed specifies the namespace state failed state for - // namespace state. - NamespaceStateFailed NamespaceState = "Failed" - // NamespaceStateRemoved specifies the namespace state removed state for - // namespace state. - NamespaceStateRemoved NamespaceState = "Removed" - // NamespaceStateRemoving specifies the namespace state removing state for - // namespace state. - NamespaceStateRemoving NamespaceState = "Removing" - // NamespaceStateSoftDeleted specifies the namespace state soft deleted - // state for namespace state. - NamespaceStateSoftDeleted NamespaceState = "SoftDeleted" - // NamespaceStateSoftDeleting specifies the namespace state soft deleting - // state for namespace state. - NamespaceStateSoftDeleting NamespaceState = "SoftDeleting" - // NamespaceStateUnknown specifies the namespace state unknown state for - // namespace state. - NamespaceStateUnknown NamespaceState = "Unknown" + // FilterTypeCorrelationFilter specifies the filter type correlation filter state for filter type. + FilterTypeCorrelationFilter FilterType = "CorrelationFilter" + // FilterTypeSQLFilter specifies the filter type sql filter state for filter type. + FilterTypeSQLFilter FilterType = "SqlFilter" ) -// Policykey enumerates the values for policykey. -type Policykey string +// KeyType enumerates the values for key type. +type KeyType string const ( - // PrimaryKey specifies the primary key state for policykey. - PrimaryKey Policykey = "PrimaryKey" - // SecondaryKey specifies the secondary key state for policykey. - SecondaryKey Policykey = "SecondaryKey" + // PrimaryKey specifies the primary key state for key type. + PrimaryKey KeyType = "PrimaryKey" + // SecondaryKey specifies the secondary key state for key type. + SecondaryKey KeyType = "SecondaryKey" ) // SkuName enumerates the values for sku name. @@ -172,64 +120,127 @@ type UnavailableReason string const ( // InvalidName specifies the invalid name state for unavailable reason. InvalidName UnavailableReason = "InvalidName" - // NameInLockdown specifies the name in lockdown state for unavailable - // reason. + // NameInLockdown specifies the name in lockdown state for unavailable reason. NameInLockdown UnavailableReason = "NameInLockdown" // NameInUse specifies the name in use state for unavailable reason. NameInUse UnavailableReason = "NameInUse" // None specifies the none state for unavailable reason. None UnavailableReason = "None" - // SubscriptionIsDisabled specifies the subscription is disabled state for - // unavailable reason. + // SubscriptionIsDisabled specifies the subscription is disabled state for unavailable reason. SubscriptionIsDisabled UnavailableReason = "SubscriptionIsDisabled" - // TooManyNamespaceInCurrentSubscription specifies the too many namespace - // in current subscription state for unavailable reason. + // TooManyNamespaceInCurrentSubscription specifies the too many namespace in current subscription state for unavailable + // reason. TooManyNamespaceInCurrentSubscription UnavailableReason = "TooManyNamespaceInCurrentSubscription" ) -// CheckNameAvailability is description of a Check Name availability request -// properties. +// AccessKeys is namespace/ServiceBus Connection String +type AccessKeys struct { + autorest.Response `json:"-"` + PrimaryConnectionString *string `json:"primaryConnectionString,omitempty"` + SecondaryConnectionString *string `json:"secondaryConnectionString,omitempty"` + PrimaryKey *string `json:"primaryKey,omitempty"` + SecondaryKey *string `json:"secondaryKey,omitempty"` + KeyName *string `json:"keyName,omitempty"` +} + +// Action is represents the filter actions which are allowed for the transformation of a message that have been matched +// by a filter expression. +type Action struct { + SQLExpression *string `json:"sqlExpression,omitempty"` + CompatibilityLevel *int32 `json:"compatibilityLevel,omitempty"` + RequiresPreprocessing *bool `json:"requiresPreprocessing,omitempty"` +} + +// AuthorizationRuleProperties is authorizationRule properties. +type AuthorizationRuleProperties struct { + Rights *[]AccessRights `json:"rights,omitempty"` +} + +// CaptureDescription is properties to configure capture description for eventhub +type CaptureDescription struct { + Enabled *bool `json:"enabled,omitempty"` + Encoding EncodingCaptureDescription `json:"encoding,omitempty"` + IntervalInSeconds *int32 `json:"intervalInSeconds,omitempty"` + SizeLimitInBytes *int32 `json:"sizeLimitInBytes,omitempty"` + Destination *Destination `json:"destination,omitempty"` +} + +// CheckNameAvailability is description of a Check Name availability request properties. type CheckNameAvailability struct { Name *string `json:"name,omitempty"` } -// CheckNameAvailabilityResult is description of a Check Name availability -// request properties. +// CheckNameAvailabilityResult is description of a Check Name availability request properties. type CheckNameAvailabilityResult struct { autorest.Response `json:"-"` + Message *string `json:"message,omitempty"` NameAvailable *bool `json:"nameAvailable,omitempty"` Reason UnavailableReason `json:"reason,omitempty"` - Message *string `json:"message,omitempty"` } -// MessageCountDetails is message Count Details. -type MessageCountDetails struct { - ActiveMessageCount *int64 `json:"activeMessageCount,omitempty"` - DeadLetterMessageCount *int64 `json:"deadLetterMessageCount,omitempty"` - ScheduledMessageCount *int64 `json:"scheduledMessageCount,omitempty"` - TransferDeadLetterMessageCount *int64 `json:"transferDeadLetterMessageCount,omitempty"` - TransferMessageCount *int64 `json:"transferMessageCount,omitempty"` +// CorrelationFilter is represents the correlation filter expression. +type CorrelationFilter struct { + CorrelationID *string `json:"correlationId,omitempty"` + MessageID *string `json:"messageId,omitempty"` + To *string `json:"to,omitempty"` + ReplyTo *string `json:"replyTo,omitempty"` + Label *string `json:"label,omitempty"` + SessionID *string `json:"sessionId,omitempty"` + ReplyToSessionID *string `json:"replyToSessionId,omitempty"` + ContentType *string `json:"contentType,omitempty"` + RequiresPreprocessing *bool `json:"requiresPreprocessing,omitempty"` } -// NamespaceCreateOrUpdateParameters is parameters supplied to the Create Or -// Update Namespace operation. -type NamespaceCreateOrUpdateParameters struct { - Location *string `json:"location,omitempty"` - Sku *Sku `json:"sku,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` - *NamespaceProperties `json:"properties,omitempty"` +// Destination is capture storage details for capture description +type Destination struct { + Name *string `json:"name,omitempty"` + *DestinationProperties `json:"properties,omitempty"` } -// NamespaceListResult is the response of the List Namespace operation. -type NamespaceListResult struct { +// DestinationProperties is properties describing the storage account, blob container and acrchive name format for +// capture destination +type DestinationProperties struct { + StorageAccountResourceID *string `json:"storageAccountResourceId,omitempty"` + BlobContainer *string `json:"blobContainer,omitempty"` + ArchiveNameFormat *string `json:"archiveNameFormat,omitempty"` +} + +// ErrorResponse is error reponse indicates ServiceBus service is not able to process the incoming request. The reason +// is provided in the error message. +type ErrorResponse struct { + Code *string `json:"code,omitempty"` + Message *string `json:"message,omitempty"` +} + +// Eventhub is single item in List or Get Event Hub operation +type Eventhub struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *EventhubProperties `json:"properties,omitempty"` +} + +// EventhubProperties is properties supplied to the Create Or Update Event Hub operation. +type EventhubProperties struct { + PartitionIds *[]string `json:"partitionIds,omitempty"` + CreatedAt *date.Time `json:"createdAt,omitempty"` + UpdatedAt *date.Time `json:"updatedAt,omitempty"` + MessageRetentionInDays *int64 `json:"messageRetentionInDays,omitempty"` + PartitionCount *int64 `json:"partitionCount,omitempty"` + Status EntityStatus `json:"status,omitempty"` + CaptureDescription *CaptureDescription `json:"captureDescription,omitempty"` +} + +// EventHubListResult is the result of the List EventHubs operation. +type EventHubListResult struct { autorest.Response `json:"-"` - Value *[]NamespaceResource `json:"value,omitempty"` - NextLink *string `json:"nextLink,omitempty"` + Value *[]Eventhub `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` } -// NamespaceListResultPreparer prepares a request to retrieve the next set of results. It returns +// EventHubListResultPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. -func (client NamespaceListResult) NamespaceListResultPreparer() (*http.Request, error) { +func (client EventHubListResult) EventHubListResultPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } @@ -239,34 +250,13 @@ func (client NamespaceListResult) NamespaceListResultPreparer() (*http.Request, autorest.WithBaseURL(to.String(client.NextLink))) } -// NamespaceProperties is properties of the namespace. -type NamespaceProperties struct { - ProvisioningState *string `json:"provisioningState,omitempty"` - Status NamespaceState `json:"status,omitempty"` - CreatedAt *date.Time `json:"createdAt,omitempty"` - UpdatedAt *date.Time `json:"updatedAt,omitempty"` - ServiceBusEndpoint *string `json:"serviceBusEndpoint,omitempty"` - CreateACSNamespace *bool `json:"createACSNamespace,omitempty"` - Enabled *bool `json:"enabled,omitempty"` -} - -// NamespaceResource is description of a namespace resource. -type NamespaceResource struct { - autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` - Sku *Sku `json:"sku,omitempty"` - *NamespaceProperties `json:"properties,omitempty"` -} - -// NamespaceUpdateParameters is parameters supplied to the Patch Namespace -// operation. -type NamespaceUpdateParameters struct { - Tags *map[string]*string `json:"tags,omitempty"` - Sku *Sku `json:"sku,omitempty"` +// MessageCountDetails is message Count Details. +type MessageCountDetails struct { + ActiveMessageCount *int64 `json:"activeMessageCount,omitempty"` + DeadLetterMessageCount *int64 `json:"deadLetterMessageCount,omitempty"` + ScheduledMessageCount *int64 `json:"scheduledMessageCount,omitempty"` + TransferMessageCount *int64 `json:"transferMessageCount,omitempty"` + TransferDeadLetterMessageCount *int64 `json:"transferDeadLetterMessageCount,omitempty"` } // Operation is a ServiceBus REST API operation @@ -282,9 +272,8 @@ type OperationDisplay struct { Operation *string `json:"operation,omitempty"` } -// OperationListResult is result of the request to list ServiceBus operations. -// It contains a list of operations and a URL link to get the next set of -// results. +// OperationListResult is result of the request to list ServiceBus operations. It contains a list of operations and a +// URL link to get the next set of results. type OperationListResult struct { autorest.Response `json:"-"` Value *[]Operation `json:"value,omitempty"` @@ -303,24 +292,32 @@ func (client OperationListResult) OperationListResultPreparer() (*http.Request, autorest.WithBaseURL(to.String(client.NextLink))) } -// QueueCreateOrUpdateParameters is parameters supplied to the Create Or Update -// Queue operation. -type QueueCreateOrUpdateParameters struct { - Name *string `json:"name,omitempty"` - Location *string `json:"location,omitempty"` - *QueueProperties `json:"properties,omitempty"` +// PremiumMessagingRegions is premium Messaging Region +type PremiumMessagingRegions struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + Properties *PremiumMessagingRegionsProperties `json:"properties,omitempty"` } -// QueueListResult is the response to the List Queues operation. -type QueueListResult struct { +// PremiumMessagingRegionsProperties is +type PremiumMessagingRegionsProperties struct { + Code *string `json:"code,omitempty"` + FullName *string `json:"fullName,omitempty"` +} + +// PremiumMessagingRegionsListResult is the response of the List PremiumMessagingRegions operation. +type PremiumMessagingRegionsListResult struct { autorest.Response `json:"-"` - Value *[]QueueResource `json:"value,omitempty"` - NextLink *string `json:"nextLink,omitempty"` + Value *[]PremiumMessagingRegions `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` } -// QueueListResultPreparer prepares a request to retrieve the next set of results. It returns +// PremiumMessagingRegionsListResultPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. -func (client QueueListResult) QueueListResultPreparer() (*http.Request, error) { +func (client PremiumMessagingRegionsListResult) PremiumMessagingRegionsListResultPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } @@ -330,85 +327,48 @@ func (client QueueListResult) QueueListResultPreparer() (*http.Request, error) { autorest.WithBaseURL(to.String(client.NextLink))) } -// QueueProperties is the Queue Properties definition. -type QueueProperties struct { - LockDuration *string `json:"lockDuration,omitempty"` - AccessedAt *date.Time `json:"accessedAt,omitempty"` - AutoDeleteOnIdle *string `json:"autoDeleteOnIdle,omitempty"` - EntityAvailabilityStatus EntityAvailabilityStatus `json:"entityAvailabilityStatus,omitempty"` - CreatedAt *date.Time `json:"createdAt,omitempty"` - DefaultMessageTimeToLive *string `json:"defaultMessageTimeToLive,omitempty"` - DuplicateDetectionHistoryTimeWindow *string `json:"duplicateDetectionHistoryTimeWindow,omitempty"` - EnableBatchedOperations *bool `json:"enableBatchedOperations,omitempty"` - DeadLetteringOnMessageExpiration *bool `json:"deadLetteringOnMessageExpiration,omitempty"` - EnableExpress *bool `json:"enableExpress,omitempty"` - EnablePartitioning *bool `json:"enablePartitioning,omitempty"` - IsAnonymousAccessible *bool `json:"isAnonymousAccessible,omitempty"` - MaxDeliveryCount *int32 `json:"maxDeliveryCount,omitempty"` - MaxSizeInMegabytes *int64 `json:"maxSizeInMegabytes,omitempty"` - MessageCount *int64 `json:"messageCount,omitempty"` - CountDetails *MessageCountDetails `json:"countDetails,omitempty"` - RequiresDuplicateDetection *bool `json:"requiresDuplicateDetection,omitempty"` - RequiresSession *bool `json:"requiresSession,omitempty"` - SizeInBytes *int64 `json:"sizeInBytes,omitempty"` - Status EntityStatus `json:"status,omitempty"` - SupportOrdering *bool `json:"supportOrdering,omitempty"` - UpdatedAt *date.Time `json:"updatedAt,omitempty"` -} - -// QueueResource is description of queue Resource. -type QueueResource struct { - autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - *QueueProperties `json:"properties,omitempty"` -} - -// RegenerateKeysParameters is parameters supplied to the Regenerate -// Authorization Rule operation. -type RegenerateKeysParameters struct { - Policykey Policykey `json:"Policykey,omitempty"` +// RegenerateAccessKeyParameters is parameters supplied to the Regenerate Authorization Rule operation, specifies which +// key neeeds to be reset. +type RegenerateAccessKeyParameters struct { + KeyType KeyType `json:"keyType,omitempty"` + Key *string `json:"key,omitempty"` } // Resource is the Resource definition for other than namespace. type Resource struct { - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` } -// ResourceListKeys is namespace/ServiceBus Connection String -type ResourceListKeys struct { - autorest.Response `json:"-"` - PrimaryConnectionString *string `json:"primaryConnectionString,omitempty"` - SecondaryConnectionString *string `json:"secondaryConnectionString,omitempty"` - PrimaryKey *string `json:"primaryKey,omitempty"` - SecondaryKey *string `json:"secondaryKey,omitempty"` - KeyName *string `json:"keyName,omitempty"` +// ResourceNamespacePatch is the Resource definition. +type ResourceNamespacePatch struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` } -// SharedAccessAuthorizationRuleCreateOrUpdateParameters is parameters supplied -// to the Create Or Update Authorization Rules operation. -type SharedAccessAuthorizationRuleCreateOrUpdateParameters struct { - Location *string `json:"location,omitempty"` - Name *string `json:"name,omitempty"` - *SharedAccessAuthorizationRuleProperties `json:"properties,omitempty"` -} - -// SharedAccessAuthorizationRuleListResult is the response to the List -// Namespace operation. -type SharedAccessAuthorizationRuleListResult struct { +// Rule is description of Rule Resource. +type Rule struct { autorest.Response `json:"-"` - Value *[]SharedAccessAuthorizationRuleResource `json:"value,omitempty"` - NextLink *string `json:"nextLink,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *Ruleproperties `json:"properties,omitempty"` } -// SharedAccessAuthorizationRuleListResultPreparer prepares a request to retrieve the next set of results. It returns +// RuleListResult is the response of the List rule operation. +type RuleListResult struct { + autorest.Response `json:"-"` + Value *[]Rule `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// RuleListResultPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. -func (client SharedAccessAuthorizationRuleListResult) SharedAccessAuthorizationRuleListResultPreparer() (*http.Request, error) { +func (client RuleListResult) RuleListResultPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } @@ -418,48 +378,174 @@ func (client SharedAccessAuthorizationRuleListResult) SharedAccessAuthorizationR autorest.WithBaseURL(to.String(client.NextLink))) } -// SharedAccessAuthorizationRuleProperties is sharedAccessAuthorizationRule -// properties. -type SharedAccessAuthorizationRuleProperties struct { +// Ruleproperties is description of Rule Resource. +type Ruleproperties struct { + Action *Action `json:"action,omitempty"` + FilterType FilterType `json:"filterType,omitempty"` + SQLFilter *SQLFilter `json:"sqlFilter,omitempty"` + CorrelationFilter *CorrelationFilter `json:"correlationFilter,omitempty"` +} + +// SBAuthorizationRule is description of a namespace authorization rule. +type SBAuthorizationRule struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *SBAuthorizationRuleProperties `json:"properties,omitempty"` +} + +// SBAuthorizationRuleProperties is authorizationRule properties. +type SBAuthorizationRuleProperties struct { Rights *[]AccessRights `json:"rights,omitempty"` } -// SharedAccessAuthorizationRuleResource is description of a namespace -// authorization rule. -type SharedAccessAuthorizationRuleResource struct { - autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - *SharedAccessAuthorizationRuleProperties `json:"properties,omitempty"` +// SBAuthorizationRuleListResult is the response to the List Namespace operation. +type SBAuthorizationRuleListResult struct { + autorest.Response `json:"-"` + Value *[]SBAuthorizationRule `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` } -// Sku is sKU of the namespace. -type Sku struct { +// SBAuthorizationRuleListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client SBAuthorizationRuleListResult) SBAuthorizationRuleListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// SBNamespace is description of a namespace resource. +type SBNamespace struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + Sku *SBSku `json:"sku,omitempty"` + *SBNamespaceProperties `json:"properties,omitempty"` +} + +// SBNamespaceListResult is the response of the List Namespace operation. +type SBNamespaceListResult struct { + autorest.Response `json:"-"` + Value *[]SBNamespace `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// SBNamespaceListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client SBNamespaceListResult) SBNamespaceListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// SBNamespaceProperties is properties of the namespace. +type SBNamespaceProperties struct { + ProvisioningState *string `json:"provisioningState,omitempty"` + CreatedAt *date.Time `json:"createdAt,omitempty"` + UpdatedAt *date.Time `json:"updatedAt,omitempty"` + ServiceBusEndpoint *string `json:"serviceBusEndpoint,omitempty"` + MetricID *string `json:"metricId,omitempty"` +} + +// SBNamespaceUpdateParameters is description of a namespace resource. +type SBNamespaceUpdateParameters struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + Sku *SBSku `json:"sku,omitempty"` + *SBNamespaceProperties `json:"properties,omitempty"` +} + +// SBQueue is description of queue Resource. +type SBQueue struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *SBQueueProperties `json:"properties,omitempty"` +} + +// SBQueueListResult is the response to the List Queues operation. +type SBQueueListResult struct { + autorest.Response `json:"-"` + Value *[]SBQueue `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// SBQueueListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client SBQueueListResult) SBQueueListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// SBQueueProperties is the Queue Properties definition. +type SBQueueProperties struct { + CountDetails *MessageCountDetails `json:"countDetails,omitempty"` + CreatedAt *date.Time `json:"createdAt,omitempty"` + UpdatedAt *date.Time `json:"updatedAt,omitempty"` + AccessedAt *date.Time `json:"accessedAt,omitempty"` + SizeInBytes *int64 `json:"sizeInBytes,omitempty"` + MessageCount *int64 `json:"messageCount,omitempty"` + LockDuration *string `json:"lockDuration,omitempty"` + MaxSizeInMegabytes *int32 `json:"maxSizeInMegabytes,omitempty"` + RequiresDuplicateDetection *bool `json:"requiresDuplicateDetection,omitempty"` + RequiresSession *bool `json:"requiresSession,omitempty"` + DefaultMessageTimeToLive *string `json:"defaultMessageTimeToLive,omitempty"` + DeadLetteringOnMessageExpiration *bool `json:"deadLetteringOnMessageExpiration,omitempty"` + DuplicateDetectionHistoryTimeWindow *string `json:"duplicateDetectionHistoryTimeWindow,omitempty"` + MaxDeliveryCount *int32 `json:"maxDeliveryCount,omitempty"` + Status EntityStatus `json:"status,omitempty"` + AutoDeleteOnIdle *string `json:"autoDeleteOnIdle,omitempty"` + EnablePartitioning *bool `json:"enablePartitioning,omitempty"` + EnableExpress *bool `json:"enableExpress,omitempty"` +} + +// SBSku is SKU of the namespace. +type SBSku struct { Name SkuName `json:"name,omitempty"` Tier SkuTier `json:"tier,omitempty"` Capacity *int32 `json:"capacity,omitempty"` } -// SubscriptionCreateOrUpdateParameters is parameters supplied to the Create Or -// Update Subscription operation. -type SubscriptionCreateOrUpdateParameters struct { - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - *SubscriptionProperties `json:"properties,omitempty"` +// SBSubscription is description of subscription resource. +type SBSubscription struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *SBSubscriptionProperties `json:"properties,omitempty"` } -// SubscriptionListResult is the response to the List Subscriptions operation. -type SubscriptionListResult struct { +// SBSubscriptionListResult is the response to the List Subscriptions operation. +type SBSubscriptionListResult struct { autorest.Response `json:"-"` - Value *[]SubscriptionResource `json:"value,omitempty"` - NextLink *string `json:"nextLink,omitempty"` + Value *[]SBSubscription `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` } -// SubscriptionListResultPreparer prepares a request to retrieve the next set of results. It returns +// SBSubscriptionListResultPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. -func (client SubscriptionListResult) SubscriptionListResultPreparer() (*http.Request, error) { +func (client SBSubscriptionListResult) SBSubscriptionListResultPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } @@ -469,54 +555,43 @@ func (client SubscriptionListResult) SubscriptionListResultPreparer() (*http.Req autorest.WithBaseURL(to.String(client.NextLink))) } -// SubscriptionProperties is description of Subscription Resource. -type SubscriptionProperties struct { - AccessedAt *date.Time `json:"accessedAt,omitempty"` - AutoDeleteOnIdle *string `json:"autoDeleteOnIdle,omitempty"` - CountDetails *MessageCountDetails `json:"countDetails,omitempty"` - CreatedAt *date.Time `json:"createdAt,omitempty"` - DefaultMessageTimeToLive *string `json:"defaultMessageTimeToLive,omitempty"` - DeadLetteringOnFilterEvaluationExceptions *bool `json:"deadLetteringOnFilterEvaluationExceptions,omitempty"` - DeadLetteringOnMessageExpiration *bool `json:"deadLetteringOnMessageExpiration,omitempty"` - EnableBatchedOperations *bool `json:"enableBatchedOperations,omitempty"` - EntityAvailabilityStatus EntityAvailabilityStatus `json:"entityAvailabilityStatus,omitempty"` - IsReadOnly *bool `json:"isReadOnly,omitempty"` - LockDuration *string `json:"lockDuration,omitempty"` - MaxDeliveryCount *int32 `json:"maxDeliveryCount,omitempty"` - MessageCount *int64 `json:"messageCount,omitempty"` - RequiresSession *bool `json:"requiresSession,omitempty"` - Status EntityStatus `json:"status,omitempty"` - UpdatedAt *date.Time `json:"updatedAt,omitempty"` +// SBSubscriptionProperties is description of Subscription Resource. +type SBSubscriptionProperties struct { + MessageCount *int64 `json:"messageCount,omitempty"` + CreatedAt *date.Time `json:"createdAt,omitempty"` + AccessedAt *date.Time `json:"accessedAt,omitempty"` + UpdatedAt *date.Time `json:"updatedAt,omitempty"` + CountDetails *MessageCountDetails `json:"countDetails,omitempty"` + LockDuration *string `json:"lockDuration,omitempty"` + RequiresSession *bool `json:"requiresSession,omitempty"` + DefaultMessageTimeToLive *string `json:"defaultMessageTimeToLive,omitempty"` + DeadLetteringOnMessageExpiration *bool `json:"deadLetteringOnMessageExpiration,omitempty"` + DuplicateDetectionHistoryTimeWindow *string `json:"duplicateDetectionHistoryTimeWindow,omitempty"` + MaxDeliveryCount *int32 `json:"maxDeliveryCount,omitempty"` + Status EntityStatus `json:"status,omitempty"` + EnableBatchedOperations *bool `json:"enableBatchedOperations,omitempty"` + AutoDeleteOnIdle *string `json:"autoDeleteOnIdle,omitempty"` } -// SubscriptionResource is description of subscription resource. -type SubscriptionResource struct { - autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - *SubscriptionProperties `json:"properties,omitempty"` +// SBTopic is description of topic resource. +type SBTopic struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *SBTopicProperties `json:"properties,omitempty"` } -// TopicCreateOrUpdateParameters is parameters supplied to the Create Or Update -// Topic operation. -type TopicCreateOrUpdateParameters struct { - Name *string `json:"name,omitempty"` - Location *string `json:"location,omitempty"` - *TopicProperties `json:"properties,omitempty"` -} - -// TopicListResult is the response to the List Topics operation. -type TopicListResult struct { +// SBTopicListResult is the response to the List Topics operation. +type SBTopicListResult struct { autorest.Response `json:"-"` - Value *[]TopicResource `json:"value,omitempty"` - NextLink *string `json:"nextLink,omitempty"` + Value *[]SBTopic `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` } -// TopicListResultPreparer prepares a request to retrieve the next set of results. It returns +// SBTopicListResultPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. -func (client TopicListResult) TopicListResultPreparer() (*http.Request, error) { +func (client SBTopicListResult) SBTopicListResultPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } @@ -526,46 +601,47 @@ func (client TopicListResult) TopicListResultPreparer() (*http.Request, error) { autorest.WithBaseURL(to.String(client.NextLink))) } -// TopicProperties is the Tpoic Properties definition. -type TopicProperties struct { - AccessedAt *date.Time `json:"accessedAt,omitempty"` - AutoDeleteOnIdle *string `json:"autoDeleteOnIdle,omitempty"` - EntityAvailabilityStatus EntityAvailabilityStatus `json:"entityAvailabilityStatus,omitempty"` - CreatedAt *date.Time `json:"createdAt,omitempty"` - CountDetails *MessageCountDetails `json:"countDetails,omitempty"` - DefaultMessageTimeToLive *string `json:"defaultMessageTimeToLive,omitempty"` - DuplicateDetectionHistoryTimeWindow *string `json:"duplicateDetectionHistoryTimeWindow,omitempty"` - EnableBatchedOperations *bool `json:"enableBatchedOperations,omitempty"` - EnableExpress *bool `json:"enableExpress,omitempty"` - EnablePartitioning *bool `json:"enablePartitioning,omitempty"` - EnableSubscriptionPartitioning *bool `json:"enableSubscriptionPartitioning,omitempty"` - FilteringMessagesBeforePublishing *bool `json:"filteringMessagesBeforePublishing,omitempty"` - IsAnonymousAccessible *bool `json:"isAnonymousAccessible,omitempty"` - IsExpress *bool `json:"isExpress,omitempty"` - MaxSizeInMegabytes *int64 `json:"maxSizeInMegabytes,omitempty"` - RequiresDuplicateDetection *bool `json:"requiresDuplicateDetection,omitempty"` - SizeInBytes *int64 `json:"sizeInBytes,omitempty"` - Status EntityStatus `json:"status,omitempty"` - SubscriptionCount *int32 `json:"subscriptionCount,omitempty"` - SupportOrdering *bool `json:"supportOrdering,omitempty"` - UpdatedAt *date.Time `json:"updatedAt,omitempty"` +// SBTopicProperties is the Tpoic Properties definition. +type SBTopicProperties struct { + SizeInBytes *int64 `json:"sizeInBytes,omitempty"` + CreatedAt *date.Time `json:"createdAt,omitempty"` + UpdatedAt *date.Time `json:"updatedAt,omitempty"` + AccessedAt *date.Time `json:"accessedAt,omitempty"` + SubscriptionCount *int32 `json:"subscriptionCount,omitempty"` + CountDetails *MessageCountDetails `json:"countDetails,omitempty"` + DefaultMessageTimeToLive *string `json:"defaultMessageTimeToLive,omitempty"` + MaxSizeInMegabytes *int32 `json:"maxSizeInMegabytes,omitempty"` + RequiresDuplicateDetection *bool `json:"requiresDuplicateDetection,omitempty"` + DuplicateDetectionHistoryTimeWindow *string `json:"duplicateDetectionHistoryTimeWindow,omitempty"` + EnableBatchedOperations *bool `json:"enableBatchedOperations,omitempty"` + Status EntityStatus `json:"status,omitempty"` + SupportOrdering *bool `json:"supportOrdering,omitempty"` + AutoDeleteOnIdle *string `json:"autoDeleteOnIdle,omitempty"` + EnablePartitioning *bool `json:"enablePartitioning,omitempty"` + EnableExpress *bool `json:"enableExpress,omitempty"` } -// TopicResource is description of topic resource. -type TopicResource struct { - autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - *TopicProperties `json:"properties,omitempty"` +// SQLFilter is represents a filter which is a composition of an expression and an action that is executed in the +// pub/sub pipeline. +type SQLFilter struct { + SQLExpression *string `json:"sqlExpression,omitempty"` + CompatibilityLevel *int32 `json:"compatibilityLevel,omitempty"` + RequiresPreprocessing *bool `json:"requiresPreprocessing,omitempty"` +} + +// SQLRuleAction is represents set of actions written in SQL language-based syntax that is performed against a +// ServiceBus.Messaging.BrokeredMessage +type SQLRuleAction struct { + SQLExpression *string `json:"sqlExpression,omitempty"` + CompatibilityLevel *int32 `json:"compatibilityLevel,omitempty"` + RequiresPreprocessing *bool `json:"requiresPreprocessing,omitempty"` } // TrackedResource is the Resource definition. type TrackedResource struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` - Location *string `json:"location,omitempty"` Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/namespaces.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/namespaces.go index efdf329f1..932fd0b01 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/namespaces.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/namespaces.go @@ -14,9 +14,8 @@ package servicebus // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -35,8 +34,7 @@ func NewNamespacesClient(subscriptionID string) NamespacesClient { return NewNamespacesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewNamespacesClientWithBaseURI creates an instance of the NamespacesClient -// client. +// NewNamespacesClientWithBaseURI creates an instance of the NamespacesClient client. func NewNamespacesClientWithBaseURI(baseURI string, subscriptionID string) NamespacesClient { return NamespacesClient{NewWithBaseURI(baseURI, subscriptionID)} } @@ -78,7 +76,7 @@ func (client NamespacesClient) CheckNameAvailabilityMethodPreparer(parameters Ch "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -112,24 +110,19 @@ func (client NamespacesClient) CheckNameAvailabilityMethodResponder(resp *http.R return } -// CreateOrUpdate creates or updates a service namespace. Once created, this -// namespace's resource manifest is immutable. This operation is idempotent. -// This method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// CreateOrUpdate creates or updates a service namespace. Once created, this namespace's resource manifest is +// immutable. This operation is idempotent. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name. parameters is parameters -// supplied to create a namespace resource. -func (client NamespacesClient) CreateOrUpdate(resourceGroupName string, namespaceName string, parameters NamespaceCreateOrUpdateParameters, cancel <-chan struct{}) (<-chan NamespaceResource, <-chan error) { - resultChan := make(chan NamespaceResource, 1) +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name. +// parameters is parameters supplied to create a namespace resource. +func (client NamespacesClient) CreateOrUpdate(resourceGroupName string, namespaceName string, parameters SBNamespace, cancel <-chan struct{}) (<-chan SBNamespace, <-chan error) { + resultChan := make(chan SBNamespace, 1) errChan := make(chan error, 1) if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.Location", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { errChan <- validation.NewErrorWithValidationError(err, "servicebus.NamespacesClient", "CreateOrUpdate") close(errChan) close(resultChan) @@ -138,10 +131,12 @@ func (client NamespacesClient) CreateOrUpdate(resourceGroupName string, namespac go func() { var err error - var result NamespaceResource + var result SBNamespace defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -167,14 +162,14 @@ func (client NamespacesClient) CreateOrUpdate(resourceGroupName string, namespac } // CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client NamespacesClient) CreateOrUpdatePreparer(resourceGroupName string, namespaceName string, parameters NamespaceCreateOrUpdateParameters, cancel <-chan struct{}) (*http.Request, error) { +func (client NamespacesClient) CreateOrUpdatePreparer(resourceGroupName string, namespaceName string, parameters SBNamespace, cancel <-chan struct{}) (*http.Request, error) { pathParameters := map[string]interface{}{ "namespaceName": autorest.Encode("path", namespaceName), "resourceGroupName": autorest.Encode("path", resourceGroupName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -199,7 +194,7 @@ func (client NamespacesClient) CreateOrUpdateSender(req *http.Request) (*http.Re // CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always // closes the http.Response Body. -func (client NamespacesClient) CreateOrUpdateResponder(resp *http.Response) (result NamespaceResource, err error) { +func (client NamespacesClient) CreateOrUpdateResponder(resp *http.Response) (result SBNamespace, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -210,14 +205,11 @@ func (client NamespacesClient) CreateOrUpdateResponder(resp *http.Response) (res return } -// CreateOrUpdateAuthorizationRule creates or updates an authorization rule for -// a namespace. +// CreateOrUpdateAuthorizationRule creates or updates an authorization rule for a namespace. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name authorizationRuleName is -// the authorizationrule name. parameters is the shared access authorization -// rule. -func (client NamespacesClient) CreateOrUpdateAuthorizationRule(resourceGroupName string, namespaceName string, authorizationRuleName string, parameters SharedAccessAuthorizationRuleCreateOrUpdateParameters) (result SharedAccessAuthorizationRuleResource, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// authorizationRuleName is the authorizationrule name. parameters is the shared access authorization rule. +func (client NamespacesClient) CreateOrUpdateAuthorizationRule(resourceGroupName string, namespaceName string, authorizationRuleName string, parameters SBAuthorizationRule) (result SBAuthorizationRule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -226,11 +218,7 @@ func (client NamespacesClient) CreateOrUpdateAuthorizationRule(resourceGroupName Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.SharedAccessAuthorizationRuleProperties", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.SharedAccessAuthorizationRuleProperties.Rights", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.NamespacesClient", "CreateOrUpdateAuthorizationRule") } @@ -256,7 +244,7 @@ func (client NamespacesClient) CreateOrUpdateAuthorizationRule(resourceGroupName } // CreateOrUpdateAuthorizationRulePreparer prepares the CreateOrUpdateAuthorizationRule request. -func (client NamespacesClient) CreateOrUpdateAuthorizationRulePreparer(resourceGroupName string, namespaceName string, authorizationRuleName string, parameters SharedAccessAuthorizationRuleCreateOrUpdateParameters) (*http.Request, error) { +func (client NamespacesClient) CreateOrUpdateAuthorizationRulePreparer(resourceGroupName string, namespaceName string, authorizationRuleName string, parameters SBAuthorizationRule) (*http.Request, error) { pathParameters := map[string]interface{}{ "authorizationRuleName": autorest.Encode("path", authorizationRuleName), "namespaceName": autorest.Encode("path", namespaceName), @@ -264,7 +252,7 @@ func (client NamespacesClient) CreateOrUpdateAuthorizationRulePreparer(resourceG "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -287,7 +275,7 @@ func (client NamespacesClient) CreateOrUpdateAuthorizationRuleSender(req *http.R // CreateOrUpdateAuthorizationRuleResponder handles the response to the CreateOrUpdateAuthorizationRule request. The method always // closes the http.Response Body. -func (client NamespacesClient) CreateOrUpdateAuthorizationRuleResponder(resp *http.Response) (result SharedAccessAuthorizationRuleResource, err error) { +func (client NamespacesClient) CreateOrUpdateAuthorizationRuleResponder(resp *http.Response) (result SBAuthorizationRule, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -298,14 +286,11 @@ func (client NamespacesClient) CreateOrUpdateAuthorizationRuleResponder(resp *ht return } -// Delete deletes an existing namespace. This operation also removes all -// associated resources under the namespace. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete deletes an existing namespace. This operation also removes all associated resources under the namespace. This +// method may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be +// used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name func (client NamespacesClient) Delete(resourceGroupName string, namespaceName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -326,8 +311,10 @@ func (client NamespacesClient) Delete(resourceGroupName string, namespaceName st var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -360,7 +347,7 @@ func (client NamespacesClient) DeletePreparer(resourceGroupName string, namespac "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -395,9 +382,8 @@ func (client NamespacesClient) DeleteResponder(resp *http.Response) (result auto // DeleteAuthorizationRule deletes a namespace authorization rule. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name authorizationRuleName is -// the authorizationrule name. +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// authorizationRuleName is the authorizationrule name. func (client NamespacesClient) DeleteAuthorizationRule(resourceGroupName string, namespaceName string, authorizationRuleName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -407,8 +393,7 @@ func (client NamespacesClient) DeleteAuthorizationRule(resourceGroupName string, Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.NamespacesClient", "DeleteAuthorizationRule") } @@ -442,7 +427,7 @@ func (client NamespacesClient) DeleteAuthorizationRulePreparer(resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -475,9 +460,8 @@ func (client NamespacesClient) DeleteAuthorizationRuleResponder(resp *http.Respo // Get gets a description for the specified namespace. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name -func (client NamespacesClient) Get(resourceGroupName string, namespaceName string) (result NamespaceResource, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +func (client NamespacesClient) Get(resourceGroupName string, namespaceName string) (result SBNamespace, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -517,7 +501,7 @@ func (client NamespacesClient) GetPreparer(resourceGroupName string, namespaceNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -538,7 +522,7 @@ func (client NamespacesClient) GetSender(req *http.Request) (*http.Response, err // GetResponder handles the response to the Get request. The method always // closes the http.Response Body. -func (client NamespacesClient) GetResponder(resp *http.Response) (result NamespaceResource, err error) { +func (client NamespacesClient) GetResponder(resp *http.Response) (result SBNamespace, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -549,13 +533,11 @@ func (client NamespacesClient) GetResponder(resp *http.Response) (result Namespa return } -// GetAuthorizationRule gets an authorization rule for a namespace by rule -// name. +// GetAuthorizationRule gets an authorization rule for a namespace by rule name. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name authorizationRuleName is -// the authorizationrule name. -func (client NamespacesClient) GetAuthorizationRule(resourceGroupName string, namespaceName string, authorizationRuleName string) (result SharedAccessAuthorizationRuleResource, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// authorizationRuleName is the authorizationrule name. +func (client NamespacesClient) GetAuthorizationRule(resourceGroupName string, namespaceName string, authorizationRuleName string) (result SBAuthorizationRule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -564,8 +546,7 @@ func (client NamespacesClient) GetAuthorizationRule(resourceGroupName string, na Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.NamespacesClient", "GetAuthorizationRule") } @@ -599,7 +580,7 @@ func (client NamespacesClient) GetAuthorizationRulePreparer(resourceGroupName st "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -620,7 +601,7 @@ func (client NamespacesClient) GetAuthorizationRuleSender(req *http.Request) (*h // GetAuthorizationRuleResponder handles the response to the GetAuthorizationRule request. The method always // closes the http.Response Body. -func (client NamespacesClient) GetAuthorizationRuleResponder(resp *http.Response) (result SharedAccessAuthorizationRuleResource, err error) { +func (client NamespacesClient) GetAuthorizationRuleResponder(resp *http.Response) (result SBAuthorizationRule, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -631,11 +612,140 @@ func (client NamespacesClient) GetAuthorizationRuleResponder(resp *http.Response return } +// List gets all the available namespaces within the subscription, irrespective of the resource groups. +func (client NamespacesClient) List() (result SBNamespaceListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.NamespacesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicebus.NamespacesClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.NamespacesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client NamespacesClient) ListPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/namespaces", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client NamespacesClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client NamespacesClient) ListResponder(resp *http.Response) (result SBNamespaceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client NamespacesClient) ListNextResults(lastResults SBNamespaceListResult) (result SBNamespaceListResult, err error) { + req, err := lastResults.SBNamespaceListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "servicebus.NamespacesClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "servicebus.NamespacesClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.NamespacesClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client NamespacesClient) ListComplete(cancel <-chan struct{}) (<-chan SBNamespace, <-chan error) { + resultChan := make(chan SBNamespace) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListAuthorizationRules gets the authorization rules for a namespace. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name -func (client NamespacesClient) ListAuthorizationRules(resourceGroupName string, namespaceName string) (result SharedAccessAuthorizationRuleListResult, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +func (client NamespacesClient) ListAuthorizationRules(resourceGroupName string, namespaceName string) (result SBAuthorizationRuleListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -675,7 +785,7 @@ func (client NamespacesClient) ListAuthorizationRulesPreparer(resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -696,7 +806,7 @@ func (client NamespacesClient) ListAuthorizationRulesSender(req *http.Request) ( // ListAuthorizationRulesResponder handles the response to the ListAuthorizationRules request. The method always // closes the http.Response Body. -func (client NamespacesClient) ListAuthorizationRulesResponder(resp *http.Response) (result SharedAccessAuthorizationRuleListResult, err error) { +func (client NamespacesClient) ListAuthorizationRulesResponder(resp *http.Response) (result SBAuthorizationRuleListResult, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -708,8 +818,8 @@ func (client NamespacesClient) ListAuthorizationRulesResponder(resp *http.Respon } // ListAuthorizationRulesNextResults retrieves the next set of results, if any. -func (client NamespacesClient) ListAuthorizationRulesNextResults(lastResults SharedAccessAuthorizationRuleListResult) (result SharedAccessAuthorizationRuleListResult, err error) { - req, err := lastResults.SharedAccessAuthorizationRuleListResultPreparer() +func (client NamespacesClient) ListAuthorizationRulesNextResults(lastResults SBAuthorizationRuleListResult) (result SBAuthorizationRuleListResult, err error) { + req, err := lastResults.SBAuthorizationRuleListResultPreparer() if err != nil { return result, autorest.NewErrorWithError(err, "servicebus.NamespacesClient", "ListAuthorizationRules", nil, "Failure preparing next results request") } @@ -731,11 +841,55 @@ func (client NamespacesClient) ListAuthorizationRulesNextResults(lastResults Sha return } +// ListAuthorizationRulesComplete gets all elements from the list without paging. +func (client NamespacesClient) ListAuthorizationRulesComplete(resourceGroupName string, namespaceName string, cancel <-chan struct{}) (<-chan SBAuthorizationRule, <-chan error) { + resultChan := make(chan SBAuthorizationRule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAuthorizationRules(resourceGroupName, namespaceName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAuthorizationRulesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListByResourceGroup gets the available namespaces within a resource group. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. -func (client NamespacesClient) ListByResourceGroup(resourceGroupName string) (result NamespaceListResult, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. +func (client NamespacesClient) ListByResourceGroup(resourceGroupName string) (result SBNamespaceListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -771,7 +925,7 @@ func (client NamespacesClient) ListByResourceGroupPreparer(resourceGroupName str "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -792,7 +946,7 @@ func (client NamespacesClient) ListByResourceGroupSender(req *http.Request) (*ht // ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always // closes the http.Response Body. -func (client NamespacesClient) ListByResourceGroupResponder(resp *http.Response) (result NamespaceListResult, err error) { +func (client NamespacesClient) ListByResourceGroupResponder(resp *http.Response) (result SBNamespaceListResult, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -804,8 +958,8 @@ func (client NamespacesClient) ListByResourceGroupResponder(resp *http.Response) } // ListByResourceGroupNextResults retrieves the next set of results, if any. -func (client NamespacesClient) ListByResourceGroupNextResults(lastResults NamespaceListResult) (result NamespaceListResult, err error) { - req, err := lastResults.NamespaceListResultPreparer() +func (client NamespacesClient) ListByResourceGroupNextResults(lastResults SBNamespaceListResult) (result SBNamespaceListResult, err error) { + req, err := lastResults.SBNamespaceListResultPreparer() if err != nil { return result, autorest.NewErrorWithError(err, "servicebus.NamespacesClient", "ListByResourceGroup", nil, "Failure preparing next results request") } @@ -827,99 +981,56 @@ func (client NamespacesClient) ListByResourceGroupNextResults(lastResults Namesp return } -// ListBySubscription gets all the available namespaces within the -// subscription, irrespective of the resource groups. -func (client NamespacesClient) ListBySubscription() (result NamespaceListResult, err error) { - req, err := client.ListBySubscriptionPreparer() - if err != nil { - err = autorest.NewErrorWithError(err, "servicebus.NamespacesClient", "ListBySubscription", nil, "Failure preparing request") - return - } - - resp, err := client.ListBySubscriptionSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "servicebus.NamespacesClient", "ListBySubscription", resp, "Failure sending request") - return - } - - result, err = client.ListBySubscriptionResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "servicebus.NamespacesClient", "ListBySubscription", resp, "Failure responding to request") - } - - return +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client NamespacesClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan SBNamespace, <-chan error) { + resultChan := make(chan SBNamespace) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan } -// ListBySubscriptionPreparer prepares the ListBySubscription request. -func (client NamespacesClient) ListBySubscriptionPreparer() (*http.Request, error) { - pathParameters := map[string]interface{}{ - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2015-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/namespaces", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// ListBySubscriptionSender sends the ListBySubscription request. The method will close the -// http.Response Body if it receives an error. -func (client NamespacesClient) ListBySubscriptionSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// ListBySubscriptionResponder handles the response to the ListBySubscription request. The method always -// closes the http.Response Body. -func (client NamespacesClient) ListBySubscriptionResponder(resp *http.Response) (result NamespaceListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListBySubscriptionNextResults retrieves the next set of results, if any. -func (client NamespacesClient) ListBySubscriptionNextResults(lastResults NamespaceListResult) (result NamespaceListResult, err error) { - req, err := lastResults.NamespaceListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "servicebus.NamespacesClient", "ListBySubscription", nil, "Failure preparing next results request") - } - if req == nil { - return - } - - resp, err := client.ListBySubscriptionSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "servicebus.NamespacesClient", "ListBySubscription", resp, "Failure sending next results request") - } - - result, err = client.ListBySubscriptionResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "servicebus.NamespacesClient", "ListBySubscription", resp, "Failure responding to next results request") - } - - return -} - -// ListKeys gets the primary and secondary connection strings for the -// namespace. +// ListKeys gets the primary and secondary connection strings for the namespace. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name authorizationRuleName is -// the authorizationrule name. -func (client NamespacesClient) ListKeys(resourceGroupName string, namespaceName string, authorizationRuleName string) (result ResourceListKeys, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// authorizationRuleName is the authorizationrule name. +func (client NamespacesClient) ListKeys(resourceGroupName string, namespaceName string, authorizationRuleName string) (result AccessKeys, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -928,8 +1039,7 @@ func (client NamespacesClient) ListKeys(resourceGroupName string, namespaceName Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.NamespacesClient", "ListKeys") } @@ -963,7 +1073,7 @@ func (client NamespacesClient) ListKeysPreparer(resourceGroupName string, namesp "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -984,7 +1094,7 @@ func (client NamespacesClient) ListKeysSender(req *http.Request) (*http.Response // ListKeysResponder handles the response to the ListKeys request. The method always // closes the http.Response Body. -func (client NamespacesClient) ListKeysResponder(resp *http.Response) (result ResourceListKeys, err error) { +func (client NamespacesClient) ListKeysResponder(resp *http.Response) (result AccessKeys, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -995,14 +1105,12 @@ func (client NamespacesClient) ListKeysResponder(resp *http.Response) (result Re return } -// RegenerateKeys regenerates the primary or secondary connection strings for -// the namespace. +// RegenerateKeys regenerates the primary or secondary connection strings for the namespace. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name authorizationRuleName is -// the authorizationrule name. parameters is parameters supplied to regenerate -// the authorization rule. -func (client NamespacesClient) RegenerateKeys(resourceGroupName string, namespaceName string, authorizationRuleName string, parameters RegenerateKeysParameters) (result ResourceListKeys, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// authorizationRuleName is the authorizationrule name. parameters is parameters supplied to regenerate the +// authorization rule. +func (client NamespacesClient) RegenerateKeys(resourceGroupName string, namespaceName string, authorizationRuleName string, parameters RegenerateAccessKeyParameters) (result AccessKeys, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -1011,8 +1119,7 @@ func (client NamespacesClient) RegenerateKeys(resourceGroupName string, namespac Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.NamespacesClient", "RegenerateKeys") } @@ -1038,7 +1145,7 @@ func (client NamespacesClient) RegenerateKeys(resourceGroupName string, namespac } // RegenerateKeysPreparer prepares the RegenerateKeys request. -func (client NamespacesClient) RegenerateKeysPreparer(resourceGroupName string, namespaceName string, authorizationRuleName string, parameters RegenerateKeysParameters) (*http.Request, error) { +func (client NamespacesClient) RegenerateKeysPreparer(resourceGroupName string, namespaceName string, authorizationRuleName string, parameters RegenerateAccessKeyParameters) (*http.Request, error) { pathParameters := map[string]interface{}{ "authorizationRuleName": autorest.Encode("path", authorizationRuleName), "namespaceName": autorest.Encode("path", namespaceName), @@ -1046,7 +1153,7 @@ func (client NamespacesClient) RegenerateKeysPreparer(resourceGroupName string, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1069,7 +1176,7 @@ func (client NamespacesClient) RegenerateKeysSender(req *http.Request) (*http.Re // RegenerateKeysResponder handles the response to the RegenerateKeys request. The method always // closes the http.Response Body. -func (client NamespacesClient) RegenerateKeysResponder(resp *http.Response) (result ResourceListKeys, err error) { +func (client NamespacesClient) RegenerateKeysResponder(resp *http.Response) (result AccessKeys, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -1080,13 +1187,12 @@ func (client NamespacesClient) RegenerateKeysResponder(resp *http.Response) (res return } -// Update updates a service namespace. Once created, this namespace's resource -// manifest is immutable. This operation is idempotent. +// Update updates a service namespace. Once created, this namespace's resource manifest is immutable. This operation is +// idempotent. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name parameters is parameters -// supplied to update a namespace resource. -func (client NamespacesClient) Update(resourceGroupName string, namespaceName string, parameters NamespaceUpdateParameters) (result NamespaceResource, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// parameters is parameters supplied to update a namespace resource. +func (client NamespacesClient) Update(resourceGroupName string, namespaceName string, parameters SBNamespaceUpdateParameters) (result SBNamespace, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -1119,14 +1225,14 @@ func (client NamespacesClient) Update(resourceGroupName string, namespaceName st } // UpdatePreparer prepares the Update request. -func (client NamespacesClient) UpdatePreparer(resourceGroupName string, namespaceName string, parameters NamespaceUpdateParameters) (*http.Request, error) { +func (client NamespacesClient) UpdatePreparer(resourceGroupName string, namespaceName string, parameters SBNamespaceUpdateParameters) (*http.Request, error) { pathParameters := map[string]interface{}{ "namespaceName": autorest.Encode("path", namespaceName), "resourceGroupName": autorest.Encode("path", resourceGroupName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -1149,7 +1255,7 @@ func (client NamespacesClient) UpdateSender(req *http.Request) (*http.Response, // UpdateResponder handles the response to the Update request. The method always // closes the http.Response Body. -func (client NamespacesClient) UpdateResponder(resp *http.Response) (result NamespaceResource, err error) { +func (client NamespacesClient) UpdateResponder(resp *http.Response) (result SBNamespace, err error) { err = autorest.Respond( resp, client.ByInspecting(), diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/operations.go index 3f7b127e5..415089e53 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/operations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/operations.go @@ -14,9 +14,8 @@ package servicebus // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -34,8 +33,7 @@ func NewOperationsClient(subscriptionID string) OperationsClient { return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewOperationsClientWithBaseURI creates an instance of the OperationsClient -// client. +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} } @@ -65,7 +63,7 @@ func (client OperationsClient) List() (result OperationListResult, err error) { // ListPreparer prepares the List request. func (client OperationsClient) ListPreparer() (*http.Request, error) { - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -120,3 +118,48 @@ func (client OperationsClient) ListNextResults(lastResults OperationListResult) return } + +// ListComplete gets all elements from the list without paging. +func (client OperationsClient) ListComplete(cancel <-chan struct{}) (<-chan Operation, <-chan error) { + resultChan := make(chan Operation) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/premiummessagingregions.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/premiummessagingregions.go new file mode 100644 index 000000000..94c4296ee --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/premiummessagingregions.go @@ -0,0 +1,169 @@ +package servicebus + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// PremiumMessagingRegionsClient is the azure Service Bus client +type PremiumMessagingRegionsClient struct { + ManagementClient +} + +// NewPremiumMessagingRegionsClient creates an instance of the PremiumMessagingRegionsClient client. +func NewPremiumMessagingRegionsClient(subscriptionID string) PremiumMessagingRegionsClient { + return NewPremiumMessagingRegionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewPremiumMessagingRegionsClientWithBaseURI creates an instance of the PremiumMessagingRegionsClient client. +func NewPremiumMessagingRegionsClientWithBaseURI(baseURI string, subscriptionID string) PremiumMessagingRegionsClient { + return PremiumMessagingRegionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets the available premium messaging regions for servicebus +func (client PremiumMessagingRegionsClient) List() (result PremiumMessagingRegionsListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.PremiumMessagingRegionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicebus.PremiumMessagingRegionsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.PremiumMessagingRegionsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client PremiumMessagingRegionsClient) ListPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/premiumMessagingRegions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client PremiumMessagingRegionsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client PremiumMessagingRegionsClient) ListResponder(resp *http.Response) (result PremiumMessagingRegionsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNextResults retrieves the next set of results, if any. +func (client PremiumMessagingRegionsClient) ListNextResults(lastResults PremiumMessagingRegionsListResult) (result PremiumMessagingRegionsListResult, err error) { + req, err := lastResults.PremiumMessagingRegionsListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "servicebus.PremiumMessagingRegionsClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "servicebus.PremiumMessagingRegionsClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.PremiumMessagingRegionsClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client PremiumMessagingRegionsClient) ListComplete(cancel <-chan struct{}) (<-chan PremiumMessagingRegions, <-chan error) { + resultChan := make(chan PremiumMessagingRegions) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/queues.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/queues.go index 9d52011dd..9c62f023f 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/queues.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/queues.go @@ -14,9 +14,8 @@ package servicebus // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -40,14 +39,11 @@ func NewQueuesClientWithBaseURI(baseURI string, subscriptionID string) QueuesCli return QueuesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates a Service Bus queue. This operation is -// idempotent. +// CreateOrUpdate creates or updates a Service Bus queue. This operation is idempotent. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name queueName is the queue -// name. parameters is parameters supplied to create or update a queue -// resource. -func (client QueuesClient) CreateOrUpdate(resourceGroupName string, namespaceName string, queueName string, parameters QueueCreateOrUpdateParameters) (result QueueResource, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// queueName is the queue name. parameters is parameters supplied to create or update a queue resource. +func (client QueuesClient) CreateOrUpdate(resourceGroupName string, namespaceName string, queueName string, parameters SBQueue) (result SBQueue, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -56,10 +52,7 @@ func (client QueuesClient) CreateOrUpdate(resourceGroupName string, namespaceNam Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: queueName, - Constraints: []validation.Constraint{{Target: "queueName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "queueName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.Location", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "queueName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.QueuesClient", "CreateOrUpdate") } @@ -85,7 +78,7 @@ func (client QueuesClient) CreateOrUpdate(resourceGroupName string, namespaceNam } // CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client QueuesClient) CreateOrUpdatePreparer(resourceGroupName string, namespaceName string, queueName string, parameters QueueCreateOrUpdateParameters) (*http.Request, error) { +func (client QueuesClient) CreateOrUpdatePreparer(resourceGroupName string, namespaceName string, queueName string, parameters SBQueue) (*http.Request, error) { pathParameters := map[string]interface{}{ "namespaceName": autorest.Encode("path", namespaceName), "queueName": autorest.Encode("path", queueName), @@ -93,7 +86,7 @@ func (client QueuesClient) CreateOrUpdatePreparer(resourceGroupName string, name "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -116,7 +109,7 @@ func (client QueuesClient) CreateOrUpdateSender(req *http.Request) (*http.Respon // CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always // closes the http.Response Body. -func (client QueuesClient) CreateOrUpdateResponder(resp *http.Response) (result QueueResource, err error) { +func (client QueuesClient) CreateOrUpdateResponder(resp *http.Response) (result SBQueue, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -129,11 +122,10 @@ func (client QueuesClient) CreateOrUpdateResponder(resp *http.Response) (result // CreateOrUpdateAuthorizationRule creates an authorization rule for a queue. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name queueName is the queue -// name. authorizationRuleName is the authorizationrule name. parameters is the -// shared access authorization rule. -func (client QueuesClient) CreateOrUpdateAuthorizationRule(resourceGroupName string, namespaceName string, queueName string, authorizationRuleName string, parameters SharedAccessAuthorizationRuleCreateOrUpdateParameters) (result SharedAccessAuthorizationRuleResource, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// queueName is the queue name. authorizationRuleName is the authorizationrule name. parameters is the shared access +// authorization rule. +func (client QueuesClient) CreateOrUpdateAuthorizationRule(resourceGroupName string, namespaceName string, queueName string, authorizationRuleName string, parameters SBAuthorizationRule) (result SBAuthorizationRule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -142,14 +134,9 @@ func (client QueuesClient) CreateOrUpdateAuthorizationRule(resourceGroupName str Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: queueName, - Constraints: []validation.Constraint{{Target: "queueName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "queueName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "queueName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.SharedAccessAuthorizationRuleProperties", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.SharedAccessAuthorizationRuleProperties.Rights", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.QueuesClient", "CreateOrUpdateAuthorizationRule") } @@ -175,7 +162,7 @@ func (client QueuesClient) CreateOrUpdateAuthorizationRule(resourceGroupName str } // CreateOrUpdateAuthorizationRulePreparer prepares the CreateOrUpdateAuthorizationRule request. -func (client QueuesClient) CreateOrUpdateAuthorizationRulePreparer(resourceGroupName string, namespaceName string, queueName string, authorizationRuleName string, parameters SharedAccessAuthorizationRuleCreateOrUpdateParameters) (*http.Request, error) { +func (client QueuesClient) CreateOrUpdateAuthorizationRulePreparer(resourceGroupName string, namespaceName string, queueName string, authorizationRuleName string, parameters SBAuthorizationRule) (*http.Request, error) { pathParameters := map[string]interface{}{ "authorizationRuleName": autorest.Encode("path", authorizationRuleName), "namespaceName": autorest.Encode("path", namespaceName), @@ -184,7 +171,7 @@ func (client QueuesClient) CreateOrUpdateAuthorizationRulePreparer(resourceGroup "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -207,7 +194,7 @@ func (client QueuesClient) CreateOrUpdateAuthorizationRuleSender(req *http.Reque // CreateOrUpdateAuthorizationRuleResponder handles the response to the CreateOrUpdateAuthorizationRule request. The method always // closes the http.Response Body. -func (client QueuesClient) CreateOrUpdateAuthorizationRuleResponder(resp *http.Response) (result SharedAccessAuthorizationRuleResource, err error) { +func (client QueuesClient) CreateOrUpdateAuthorizationRuleResponder(resp *http.Response) (result SBAuthorizationRule, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -220,9 +207,8 @@ func (client QueuesClient) CreateOrUpdateAuthorizationRuleResponder(resp *http.R // Delete deletes a queue from the specified namespace in a resource group. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name queueName is the queue -// name. +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// queueName is the queue name. func (client QueuesClient) Delete(resourceGroupName string, namespaceName string, queueName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -232,8 +218,7 @@ func (client QueuesClient) Delete(resourceGroupName string, namespaceName string Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: queueName, - Constraints: []validation.Constraint{{Target: "queueName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "queueName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "queueName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.QueuesClient", "Delete") } @@ -267,7 +252,7 @@ func (client QueuesClient) DeletePreparer(resourceGroupName string, namespaceNam "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -300,9 +285,8 @@ func (client QueuesClient) DeleteResponder(resp *http.Response) (result autorest // DeleteAuthorizationRule deletes a queue authorization rule. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name queueName is the queue -// name. authorizationRuleName is the authorizationrule name. +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// queueName is the queue name. authorizationRuleName is the authorizationrule name. func (client QueuesClient) DeleteAuthorizationRule(resourceGroupName string, namespaceName string, queueName string, authorizationRuleName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -312,11 +296,9 @@ func (client QueuesClient) DeleteAuthorizationRule(resourceGroupName string, nam Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: queueName, - Constraints: []validation.Constraint{{Target: "queueName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "queueName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "queueName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.QueuesClient", "DeleteAuthorizationRule") } @@ -351,7 +333,7 @@ func (client QueuesClient) DeleteAuthorizationRulePreparer(resourceGroupName str "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -384,10 +366,9 @@ func (client QueuesClient) DeleteAuthorizationRuleResponder(resp *http.Response) // Get returns a description for the specified queue. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name queueName is the queue -// name. -func (client QueuesClient) Get(resourceGroupName string, namespaceName string, queueName string) (result QueueResource, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// queueName is the queue name. +func (client QueuesClient) Get(resourceGroupName string, namespaceName string, queueName string) (result SBQueue, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -396,8 +377,7 @@ func (client QueuesClient) Get(resourceGroupName string, namespaceName string, q Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: queueName, - Constraints: []validation.Constraint{{Target: "queueName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "queueName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "queueName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.QueuesClient", "Get") } @@ -431,7 +411,7 @@ func (client QueuesClient) GetPreparer(resourceGroupName string, namespaceName s "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -452,7 +432,7 @@ func (client QueuesClient) GetSender(req *http.Request) (*http.Response, error) // GetResponder handles the response to the Get request. The method always // closes the http.Response Body. -func (client QueuesClient) GetResponder(resp *http.Response) (result QueueResource, err error) { +func (client QueuesClient) GetResponder(resp *http.Response) (result SBQueue, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -465,10 +445,9 @@ func (client QueuesClient) GetResponder(resp *http.Response) (result QueueResour // GetAuthorizationRule gets an authorization rule for a queue by rule name. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name queueName is the queue -// name. authorizationRuleName is the authorizationrule name. -func (client QueuesClient) GetAuthorizationRule(resourceGroupName string, namespaceName string, queueName string, authorizationRuleName string) (result SharedAccessAuthorizationRuleResource, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// queueName is the queue name. authorizationRuleName is the authorizationrule name. +func (client QueuesClient) GetAuthorizationRule(resourceGroupName string, namespaceName string, queueName string, authorizationRuleName string) (result SBAuthorizationRule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -477,11 +456,9 @@ func (client QueuesClient) GetAuthorizationRule(resourceGroupName string, namesp Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: queueName, - Constraints: []validation.Constraint{{Target: "queueName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "queueName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "queueName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.QueuesClient", "GetAuthorizationRule") } @@ -516,7 +493,7 @@ func (client QueuesClient) GetAuthorizationRulePreparer(resourceGroupName string "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -537,7 +514,7 @@ func (client QueuesClient) GetAuthorizationRuleSender(req *http.Request) (*http. // GetAuthorizationRuleResponder handles the response to the GetAuthorizationRule request. The method always // closes the http.Response Body. -func (client QueuesClient) GetAuthorizationRuleResponder(resp *http.Response) (result SharedAccessAuthorizationRuleResource, err error) { +func (client QueuesClient) GetAuthorizationRuleResponder(resp *http.Response) (result SBAuthorizationRule, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -548,112 +525,11 @@ func (client QueuesClient) GetAuthorizationRuleResponder(resp *http.Response) (r return } -// ListAll gets the queues within a namespace. -// -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name -func (client QueuesClient) ListAll(resourceGroupName string, namespaceName string) (result QueueListResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, - {TargetValue: namespaceName, - Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}}); err != nil { - return result, validation.NewErrorWithValidationError(err, "servicebus.QueuesClient", "ListAll") - } - - req, err := client.ListAllPreparer(resourceGroupName, namespaceName) - if err != nil { - err = autorest.NewErrorWithError(err, "servicebus.QueuesClient", "ListAll", nil, "Failure preparing request") - return - } - - resp, err := client.ListAllSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "servicebus.QueuesClient", "ListAll", resp, "Failure sending request") - return - } - - result, err = client.ListAllResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "servicebus.QueuesClient", "ListAll", resp, "Failure responding to request") - } - - return -} - -// ListAllPreparer prepares the ListAll request. -func (client QueuesClient) ListAllPreparer(resourceGroupName string, namespaceName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "namespaceName": autorest.Encode("path", namespaceName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2015-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// ListAllSender sends the ListAll request. The method will close the -// http.Response Body if it receives an error. -func (client QueuesClient) ListAllSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// ListAllResponder handles the response to the ListAll request. The method always -// closes the http.Response Body. -func (client QueuesClient) ListAllResponder(resp *http.Response) (result QueueListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListAllNextResults retrieves the next set of results, if any. -func (client QueuesClient) ListAllNextResults(lastResults QueueListResult) (result QueueListResult, err error) { - req, err := lastResults.QueueListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "servicebus.QueuesClient", "ListAll", nil, "Failure preparing next results request") - } - if req == nil { - return - } - - resp, err := client.ListAllSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "servicebus.QueuesClient", "ListAll", resp, "Failure sending next results request") - } - - result, err = client.ListAllResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "servicebus.QueuesClient", "ListAll", resp, "Failure responding to next results request") - } - - return -} - // ListAuthorizationRules gets all authorization rules for a queue. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name queueName is the queue -// name. -func (client QueuesClient) ListAuthorizationRules(resourceGroupName string, namespaceName string, queueName string) (result SharedAccessAuthorizationRuleListResult, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// queueName is the queue name. +func (client QueuesClient) ListAuthorizationRules(resourceGroupName string, namespaceName string, queueName string) (result SBAuthorizationRuleListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -662,8 +538,7 @@ func (client QueuesClient) ListAuthorizationRules(resourceGroupName string, name Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: queueName, - Constraints: []validation.Constraint{{Target: "queueName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "queueName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "queueName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.QueuesClient", "ListAuthorizationRules") } @@ -697,7 +572,7 @@ func (client QueuesClient) ListAuthorizationRulesPreparer(resourceGroupName stri "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -718,7 +593,7 @@ func (client QueuesClient) ListAuthorizationRulesSender(req *http.Request) (*htt // ListAuthorizationRulesResponder handles the response to the ListAuthorizationRules request. The method always // closes the http.Response Body. -func (client QueuesClient) ListAuthorizationRulesResponder(resp *http.Response) (result SharedAccessAuthorizationRuleListResult, err error) { +func (client QueuesClient) ListAuthorizationRulesResponder(resp *http.Response) (result SBAuthorizationRuleListResult, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -730,8 +605,8 @@ func (client QueuesClient) ListAuthorizationRulesResponder(resp *http.Response) } // ListAuthorizationRulesNextResults retrieves the next set of results, if any. -func (client QueuesClient) ListAuthorizationRulesNextResults(lastResults SharedAccessAuthorizationRuleListResult) (result SharedAccessAuthorizationRuleListResult, err error) { - req, err := lastResults.SharedAccessAuthorizationRuleListResultPreparer() +func (client QueuesClient) ListAuthorizationRulesNextResults(lastResults SBAuthorizationRuleListResult) (result SBAuthorizationRuleListResult, err error) { + req, err := lastResults.SBAuthorizationRuleListResultPreparer() if err != nil { return result, autorest.NewErrorWithError(err, "servicebus.QueuesClient", "ListAuthorizationRules", nil, "Failure preparing next results request") } @@ -753,12 +628,200 @@ func (client QueuesClient) ListAuthorizationRulesNextResults(lastResults SharedA return } +// ListAuthorizationRulesComplete gets all elements from the list without paging. +func (client QueuesClient) ListAuthorizationRulesComplete(resourceGroupName string, namespaceName string, queueName string, cancel <-chan struct{}) (<-chan SBAuthorizationRule, <-chan error) { + resultChan := make(chan SBAuthorizationRule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAuthorizationRules(resourceGroupName, namespaceName, queueName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAuthorizationRulesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListByNamespace gets the queues within a namespace. +// +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +func (client QueuesClient) ListByNamespace(resourceGroupName string, namespaceName string) (result SBQueueListResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: namespaceName, + Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "servicebus.QueuesClient", "ListByNamespace") + } + + req, err := client.ListByNamespacePreparer(resourceGroupName, namespaceName) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.QueuesClient", "ListByNamespace", nil, "Failure preparing request") + return + } + + resp, err := client.ListByNamespaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicebus.QueuesClient", "ListByNamespace", resp, "Failure sending request") + return + } + + result, err = client.ListByNamespaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.QueuesClient", "ListByNamespace", resp, "Failure responding to request") + } + + return +} + +// ListByNamespacePreparer prepares the ListByNamespace request. +func (client QueuesClient) ListByNamespacePreparer(resourceGroupName string, namespaceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "namespaceName": autorest.Encode("path", namespaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByNamespaceSender sends the ListByNamespace request. The method will close the +// http.Response Body if it receives an error. +func (client QueuesClient) ListByNamespaceSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByNamespaceResponder handles the response to the ListByNamespace request. The method always +// closes the http.Response Body. +func (client QueuesClient) ListByNamespaceResponder(resp *http.Response) (result SBQueueListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByNamespaceNextResults retrieves the next set of results, if any. +func (client QueuesClient) ListByNamespaceNextResults(lastResults SBQueueListResult) (result SBQueueListResult, err error) { + req, err := lastResults.SBQueueListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "servicebus.QueuesClient", "ListByNamespace", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListByNamespaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "servicebus.QueuesClient", "ListByNamespace", resp, "Failure sending next results request") + } + + result, err = client.ListByNamespaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.QueuesClient", "ListByNamespace", resp, "Failure responding to next results request") + } + + return +} + +// ListByNamespaceComplete gets all elements from the list without paging. +func (client QueuesClient) ListByNamespaceComplete(resourceGroupName string, namespaceName string, cancel <-chan struct{}) (<-chan SBQueue, <-chan error) { + resultChan := make(chan SBQueue) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByNamespace(resourceGroupName, namespaceName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByNamespaceNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListKeys primary and secondary connection strings to the queue. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name queueName is the queue -// name. authorizationRuleName is the authorizationrule name. -func (client QueuesClient) ListKeys(resourceGroupName string, namespaceName string, queueName string, authorizationRuleName string) (result ResourceListKeys, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// queueName is the queue name. authorizationRuleName is the authorizationrule name. +func (client QueuesClient) ListKeys(resourceGroupName string, namespaceName string, queueName string, authorizationRuleName string) (result AccessKeys, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -767,11 +830,9 @@ func (client QueuesClient) ListKeys(resourceGroupName string, namespaceName stri Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: queueName, - Constraints: []validation.Constraint{{Target: "queueName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "queueName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "queueName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.QueuesClient", "ListKeys") } @@ -806,7 +867,7 @@ func (client QueuesClient) ListKeysPreparer(resourceGroupName string, namespaceN "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -827,7 +888,7 @@ func (client QueuesClient) ListKeysSender(req *http.Request) (*http.Response, er // ListKeysResponder handles the response to the ListKeys request. The method always // closes the http.Response Body. -func (client QueuesClient) ListKeysResponder(resp *http.Response) (result ResourceListKeys, err error) { +func (client QueuesClient) ListKeysResponder(resp *http.Response) (result AccessKeys, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -838,14 +899,12 @@ func (client QueuesClient) ListKeysResponder(resp *http.Response) (result Resour return } -// RegenerateKeys regenerates the primary or secondary connection strings to -// the queue. +// RegenerateKeys regenerates the primary or secondary connection strings to the queue. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name queueName is the queue -// name. authorizationRuleName is the authorizationrule name. parameters is -// parameters supplied to regenerate the authorization rule. -func (client QueuesClient) RegenerateKeys(resourceGroupName string, namespaceName string, queueName string, authorizationRuleName string, parameters RegenerateKeysParameters) (result ResourceListKeys, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// queueName is the queue name. authorizationRuleName is the authorizationrule name. parameters is parameters supplied +// to regenerate the authorization rule. +func (client QueuesClient) RegenerateKeys(resourceGroupName string, namespaceName string, queueName string, authorizationRuleName string, parameters RegenerateAccessKeyParameters) (result AccessKeys, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -854,11 +913,9 @@ func (client QueuesClient) RegenerateKeys(resourceGroupName string, namespaceNam Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: queueName, - Constraints: []validation.Constraint{{Target: "queueName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "queueName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "queueName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.QueuesClient", "RegenerateKeys") } @@ -884,7 +941,7 @@ func (client QueuesClient) RegenerateKeys(resourceGroupName string, namespaceNam } // RegenerateKeysPreparer prepares the RegenerateKeys request. -func (client QueuesClient) RegenerateKeysPreparer(resourceGroupName string, namespaceName string, queueName string, authorizationRuleName string, parameters RegenerateKeysParameters) (*http.Request, error) { +func (client QueuesClient) RegenerateKeysPreparer(resourceGroupName string, namespaceName string, queueName string, authorizationRuleName string, parameters RegenerateAccessKeyParameters) (*http.Request, error) { pathParameters := map[string]interface{}{ "authorizationRuleName": autorest.Encode("path", authorizationRuleName), "namespaceName": autorest.Encode("path", namespaceName), @@ -893,7 +950,7 @@ func (client QueuesClient) RegenerateKeysPreparer(resourceGroupName string, name "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -916,7 +973,7 @@ func (client QueuesClient) RegenerateKeysSender(req *http.Request) (*http.Respon // RegenerateKeysResponder handles the response to the RegenerateKeys request. The method always // closes the http.Response Body. -func (client QueuesClient) RegenerateKeysResponder(resp *http.Response) (result ResourceListKeys, err error) { +func (client QueuesClient) RegenerateKeysResponder(resp *http.Response) (result AccessKeys, err error) { err = autorest.Respond( resp, client.ByInspecting(), diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/regions.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/regions.go new file mode 100644 index 000000000..a3ee88beb --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/regions.go @@ -0,0 +1,179 @@ +package servicebus + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// RegionsClient is the azure Service Bus client +type RegionsClient struct { + ManagementClient +} + +// NewRegionsClient creates an instance of the RegionsClient client. +func NewRegionsClient(subscriptionID string) RegionsClient { + return NewRegionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewRegionsClientWithBaseURI creates an instance of the RegionsClient client. +func NewRegionsClientWithBaseURI(baseURI string, subscriptionID string) RegionsClient { + return RegionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListBySku gets the available Regions for a given sku +// +// sku is the sku type. +func (client RegionsClient) ListBySku(sku string) (result PremiumMessagingRegionsListResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: sku, + Constraints: []validation.Constraint{{Target: "sku", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "servicebus.RegionsClient", "ListBySku") + } + + req, err := client.ListBySkuPreparer(sku) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.RegionsClient", "ListBySku", nil, "Failure preparing request") + return + } + + resp, err := client.ListBySkuSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicebus.RegionsClient", "ListBySku", resp, "Failure sending request") + return + } + + result, err = client.ListBySkuResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.RegionsClient", "ListBySku", resp, "Failure responding to request") + } + + return +} + +// ListBySkuPreparer prepares the ListBySku request. +func (client RegionsClient) ListBySkuPreparer(sku string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "sku": autorest.Encode("path", sku), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/sku/{sku}/regions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListBySkuSender sends the ListBySku request. The method will close the +// http.Response Body if it receives an error. +func (client RegionsClient) ListBySkuSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListBySkuResponder handles the response to the ListBySku request. The method always +// closes the http.Response Body. +func (client RegionsClient) ListBySkuResponder(resp *http.Response) (result PremiumMessagingRegionsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListBySkuNextResults retrieves the next set of results, if any. +func (client RegionsClient) ListBySkuNextResults(lastResults PremiumMessagingRegionsListResult) (result PremiumMessagingRegionsListResult, err error) { + req, err := lastResults.PremiumMessagingRegionsListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "servicebus.RegionsClient", "ListBySku", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListBySkuSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "servicebus.RegionsClient", "ListBySku", resp, "Failure sending next results request") + } + + result, err = client.ListBySkuResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.RegionsClient", "ListBySku", resp, "Failure responding to next results request") + } + + return +} + +// ListBySkuComplete gets all elements from the list without paging. +func (client RegionsClient) ListBySkuComplete(sku string, cancel <-chan struct{}) (<-chan PremiumMessagingRegions, <-chan error) { + resultChan := make(chan PremiumMessagingRegions) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListBySku(sku) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListBySkuNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/rules.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/rules.go new file mode 100644 index 000000000..b00e8e3f9 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/rules.go @@ -0,0 +1,448 @@ +package servicebus + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// RulesClient is the azure Service Bus client +type RulesClient struct { + ManagementClient +} + +// NewRulesClient creates an instance of the RulesClient client. +func NewRulesClient(subscriptionID string) RulesClient { + return NewRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewRulesClientWithBaseURI creates an instance of the RulesClient client. +func NewRulesClientWithBaseURI(baseURI string, subscriptionID string) RulesClient { + return RulesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a new rule and updates an existing rule +// +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// topicName is the topic name. subscriptionName is the subscription name. ruleName is the rule name. parameters is +// parameters supplied to create a rule. +func (client RulesClient) CreateOrUpdate(resourceGroupName string, namespaceName string, topicName string, subscriptionName string, ruleName string, parameters Rule) (result Rule, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: namespaceName, + Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, + {TargetValue: topicName, + Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: subscriptionName, + Constraints: []validation.Constraint{{Target: "subscriptionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: ruleName, + Constraints: []validation.Constraint{{Target: "ruleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "servicebus.RulesClient", "CreateOrUpdate") + } + + req, err := client.CreateOrUpdatePreparer(resourceGroupName, namespaceName, topicName, subscriptionName, ruleName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.RulesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicebus.RulesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.RulesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client RulesClient) CreateOrUpdatePreparer(resourceGroupName string, namespaceName string, topicName string, subscriptionName string, ruleName string, parameters Rule) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "namespaceName": autorest.Encode("path", namespaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "ruleName": autorest.Encode("path", ruleName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "subscriptionName": autorest.Encode("path", subscriptionName), + "topicName": autorest.Encode("path", topicName), + } + + const APIVersion = "2017-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client RulesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client RulesClient) CreateOrUpdateResponder(resp *http.Response) (result Rule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes an existing rule. +// +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// topicName is the topic name. subscriptionName is the subscription name. ruleName is the rule name. +func (client RulesClient) Delete(resourceGroupName string, namespaceName string, topicName string, subscriptionName string, ruleName string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: namespaceName, + Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, + {TargetValue: topicName, + Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: subscriptionName, + Constraints: []validation.Constraint{{Target: "subscriptionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: ruleName, + Constraints: []validation.Constraint{{Target: "ruleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "servicebus.RulesClient", "Delete") + } + + req, err := client.DeletePreparer(resourceGroupName, namespaceName, topicName, subscriptionName, ruleName) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.RulesClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "servicebus.RulesClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.RulesClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client RulesClient) DeletePreparer(resourceGroupName string, namespaceName string, topicName string, subscriptionName string, ruleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "namespaceName": autorest.Encode("path", namespaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "ruleName": autorest.Encode("path", ruleName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "subscriptionName": autorest.Encode("path", subscriptionName), + "topicName": autorest.Encode("path", topicName), + } + + const APIVersion = "2017-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client RulesClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client RulesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusNoContent, http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get retrieves the description for the specified rule. +// +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// topicName is the topic name. subscriptionName is the subscription name. ruleName is the rule name. +func (client RulesClient) Get(resourceGroupName string, namespaceName string, topicName string, subscriptionName string, ruleName string) (result Rule, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: namespaceName, + Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, + {TargetValue: topicName, + Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: subscriptionName, + Constraints: []validation.Constraint{{Target: "subscriptionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: ruleName, + Constraints: []validation.Constraint{{Target: "ruleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "servicebus.RulesClient", "Get") + } + + req, err := client.GetPreparer(resourceGroupName, namespaceName, topicName, subscriptionName, ruleName) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.RulesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicebus.RulesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.RulesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client RulesClient) GetPreparer(resourceGroupName string, namespaceName string, topicName string, subscriptionName string, ruleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "namespaceName": autorest.Encode("path", namespaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "ruleName": autorest.Encode("path", ruleName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "subscriptionName": autorest.Encode("path", subscriptionName), + "topicName": autorest.Encode("path", topicName), + } + + const APIVersion = "2017-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client RulesClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client RulesClient) GetResponder(resp *http.Response) (result Rule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListBySubscriptions list all the rules within given topic-subscription +// +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// topicName is the topic name. subscriptionName is the subscription name. +func (client RulesClient) ListBySubscriptions(resourceGroupName string, namespaceName string, topicName string, subscriptionName string) (result RuleListResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: namespaceName, + Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, + {TargetValue: topicName, + Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: subscriptionName, + Constraints: []validation.Constraint{{Target: "subscriptionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "servicebus.RulesClient", "ListBySubscriptions") + } + + req, err := client.ListBySubscriptionsPreparer(resourceGroupName, namespaceName, topicName, subscriptionName) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.RulesClient", "ListBySubscriptions", nil, "Failure preparing request") + return + } + + resp, err := client.ListBySubscriptionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicebus.RulesClient", "ListBySubscriptions", resp, "Failure sending request") + return + } + + result, err = client.ListBySubscriptionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.RulesClient", "ListBySubscriptions", resp, "Failure responding to request") + } + + return +} + +// ListBySubscriptionsPreparer prepares the ListBySubscriptions request. +func (client RulesClient) ListBySubscriptionsPreparer(resourceGroupName string, namespaceName string, topicName string, subscriptionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "namespaceName": autorest.Encode("path", namespaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "subscriptionName": autorest.Encode("path", subscriptionName), + "topicName": autorest.Encode("path", topicName), + } + + const APIVersion = "2017-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListBySubscriptionsSender sends the ListBySubscriptions request. The method will close the +// http.Response Body if it receives an error. +func (client RulesClient) ListBySubscriptionsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListBySubscriptionsResponder handles the response to the ListBySubscriptions request. The method always +// closes the http.Response Body. +func (client RulesClient) ListBySubscriptionsResponder(resp *http.Response) (result RuleListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListBySubscriptionsNextResults retrieves the next set of results, if any. +func (client RulesClient) ListBySubscriptionsNextResults(lastResults RuleListResult) (result RuleListResult, err error) { + req, err := lastResults.RuleListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "servicebus.RulesClient", "ListBySubscriptions", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListBySubscriptionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "servicebus.RulesClient", "ListBySubscriptions", resp, "Failure sending next results request") + } + + result, err = client.ListBySubscriptionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.RulesClient", "ListBySubscriptions", resp, "Failure responding to next results request") + } + + return +} + +// ListBySubscriptionsComplete gets all elements from the list without paging. +func (client RulesClient) ListBySubscriptionsComplete(resourceGroupName string, namespaceName string, topicName string, subscriptionName string, cancel <-chan struct{}) (<-chan Rule, <-chan error) { + resultChan := make(chan Rule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListBySubscriptions(resourceGroupName, namespaceName, topicName, subscriptionName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListBySubscriptionsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/subscriptions.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/subscriptions.go index 83799ec0b..4ec7658e4 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/subscriptions.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/subscriptions.go @@ -14,9 +14,8 @@ package servicebus // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -30,25 +29,22 @@ type SubscriptionsClient struct { ManagementClient } -// NewSubscriptionsClient creates an instance of the SubscriptionsClient -// client. +// NewSubscriptionsClient creates an instance of the SubscriptionsClient client. func NewSubscriptionsClient(subscriptionID string) SubscriptionsClient { return NewSubscriptionsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewSubscriptionsClientWithBaseURI creates an instance of the -// SubscriptionsClient client. +// NewSubscriptionsClientWithBaseURI creates an instance of the SubscriptionsClient client. func NewSubscriptionsClientWithBaseURI(baseURI string, subscriptionID string) SubscriptionsClient { return SubscriptionsClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate creates a topic subscription. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name topicName is the topic -// name. subscriptionName is the subscription name. parameters is parameters -// supplied to create a subscription resource. -func (client SubscriptionsClient) CreateOrUpdate(resourceGroupName string, namespaceName string, topicName string, subscriptionName string, parameters SubscriptionCreateOrUpdateParameters) (result SubscriptionResource, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// topicName is the topic name. subscriptionName is the subscription name. parameters is parameters supplied to create +// a subscription resource. +func (client SubscriptionsClient) CreateOrUpdate(resourceGroupName string, namespaceName string, topicName string, subscriptionName string, parameters SBSubscription) (result SBSubscription, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -57,13 +53,9 @@ func (client SubscriptionsClient) CreateOrUpdate(resourceGroupName string, names Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: topicName, - Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: subscriptionName, - Constraints: []validation.Constraint{{Target: "subscriptionName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "subscriptionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.Location", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "subscriptionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.SubscriptionsClient", "CreateOrUpdate") } @@ -89,7 +81,7 @@ func (client SubscriptionsClient) CreateOrUpdate(resourceGroupName string, names } // CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client SubscriptionsClient) CreateOrUpdatePreparer(resourceGroupName string, namespaceName string, topicName string, subscriptionName string, parameters SubscriptionCreateOrUpdateParameters) (*http.Request, error) { +func (client SubscriptionsClient) CreateOrUpdatePreparer(resourceGroupName string, namespaceName string, topicName string, subscriptionName string, parameters SBSubscription) (*http.Request, error) { pathParameters := map[string]interface{}{ "namespaceName": autorest.Encode("path", namespaceName), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -98,7 +90,7 @@ func (client SubscriptionsClient) CreateOrUpdatePreparer(resourceGroupName strin "topicName": autorest.Encode("path", topicName), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -121,7 +113,7 @@ func (client SubscriptionsClient) CreateOrUpdateSender(req *http.Request) (*http // CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always // closes the http.Response Body. -func (client SubscriptionsClient) CreateOrUpdateResponder(resp *http.Response) (result SubscriptionResource, err error) { +func (client SubscriptionsClient) CreateOrUpdateResponder(resp *http.Response) (result SBSubscription, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -134,9 +126,8 @@ func (client SubscriptionsClient) CreateOrUpdateResponder(resp *http.Response) ( // Delete deletes a subscription from the specified topic. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name topicName is the topic -// name. subscriptionName is the subscription name. +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// topicName is the topic name. subscriptionName is the subscription name. func (client SubscriptionsClient) Delete(resourceGroupName string, namespaceName string, topicName string, subscriptionName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -146,11 +137,9 @@ func (client SubscriptionsClient) Delete(resourceGroupName string, namespaceName Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: topicName, - Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: subscriptionName, - Constraints: []validation.Constraint{{Target: "subscriptionName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "subscriptionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "subscriptionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.SubscriptionsClient", "Delete") } @@ -185,7 +174,7 @@ func (client SubscriptionsClient) DeletePreparer(resourceGroupName string, names "topicName": autorest.Encode("path", topicName), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -218,10 +207,9 @@ func (client SubscriptionsClient) DeleteResponder(resp *http.Response) (result a // Get returns a subscription description for the specified topic. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name topicName is the topic -// name. subscriptionName is the subscription name. -func (client SubscriptionsClient) Get(resourceGroupName string, namespaceName string, topicName string, subscriptionName string) (result SubscriptionResource, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// topicName is the topic name. subscriptionName is the subscription name. +func (client SubscriptionsClient) Get(resourceGroupName string, namespaceName string, topicName string, subscriptionName string) (result SBSubscription, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -230,11 +218,9 @@ func (client SubscriptionsClient) Get(resourceGroupName string, namespaceName st Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: topicName, - Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: subscriptionName, - Constraints: []validation.Constraint{{Target: "subscriptionName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "subscriptionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "subscriptionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.SubscriptionsClient", "Get") } @@ -269,7 +255,7 @@ func (client SubscriptionsClient) GetPreparer(resourceGroupName string, namespac "topicName": autorest.Encode("path", topicName), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -290,7 +276,7 @@ func (client SubscriptionsClient) GetSender(req *http.Request) (*http.Response, // GetResponder handles the response to the Get request. The method always // closes the http.Response Body. -func (client SubscriptionsClient) GetResponder(resp *http.Response) (result SubscriptionResource, err error) { +func (client SubscriptionsClient) GetResponder(resp *http.Response) (result SBSubscription, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -301,12 +287,11 @@ func (client SubscriptionsClient) GetResponder(resp *http.Response) (result Subs return } -// ListAll list all the subscriptions under a specified topic. +// ListByTopic list all the subscriptions under a specified topic. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name topicName is the topic -// name. -func (client SubscriptionsClient) ListAll(resourceGroupName string, namespaceName string, topicName string) (result SubscriptionListResult, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// topicName is the topic name. +func (client SubscriptionsClient) ListByTopic(resourceGroupName string, namespaceName string, topicName string) (result SBSubscriptionListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -315,34 +300,33 @@ func (client SubscriptionsClient) ListAll(resourceGroupName string, namespaceNam Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: topicName, - Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { - return result, validation.NewErrorWithValidationError(err, "servicebus.SubscriptionsClient", "ListAll") + Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "servicebus.SubscriptionsClient", "ListByTopic") } - req, err := client.ListAllPreparer(resourceGroupName, namespaceName, topicName) + req, err := client.ListByTopicPreparer(resourceGroupName, namespaceName, topicName) if err != nil { - err = autorest.NewErrorWithError(err, "servicebus.SubscriptionsClient", "ListAll", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "servicebus.SubscriptionsClient", "ListByTopic", nil, "Failure preparing request") return } - resp, err := client.ListAllSender(req) + resp, err := client.ListByTopicSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "servicebus.SubscriptionsClient", "ListAll", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "servicebus.SubscriptionsClient", "ListByTopic", resp, "Failure sending request") return } - result, err = client.ListAllResponder(resp) + result, err = client.ListByTopicResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "servicebus.SubscriptionsClient", "ListAll", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "servicebus.SubscriptionsClient", "ListByTopic", resp, "Failure responding to request") } return } -// ListAllPreparer prepares the ListAll request. -func (client SubscriptionsClient) ListAllPreparer(resourceGroupName string, namespaceName string, topicName string) (*http.Request, error) { +// ListByTopicPreparer prepares the ListByTopic request. +func (client SubscriptionsClient) ListByTopicPreparer(resourceGroupName string, namespaceName string, topicName string) (*http.Request, error) { pathParameters := map[string]interface{}{ "namespaceName": autorest.Encode("path", namespaceName), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -350,7 +334,7 @@ func (client SubscriptionsClient) ListAllPreparer(resourceGroupName string, name "topicName": autorest.Encode("path", topicName), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -363,15 +347,15 @@ func (client SubscriptionsClient) ListAllPreparer(resourceGroupName string, name return preparer.Prepare(&http.Request{}) } -// ListAllSender sends the ListAll request. The method will close the +// ListByTopicSender sends the ListByTopic request. The method will close the // http.Response Body if it receives an error. -func (client SubscriptionsClient) ListAllSender(req *http.Request) (*http.Response, error) { +func (client SubscriptionsClient) ListByTopicSender(req *http.Request) (*http.Response, error) { return autorest.SendWithSender(client, req) } -// ListAllResponder handles the response to the ListAll request. The method always +// ListByTopicResponder handles the response to the ListByTopic request. The method always // closes the http.Response Body. -func (client SubscriptionsClient) ListAllResponder(resp *http.Response) (result SubscriptionListResult, err error) { +func (client SubscriptionsClient) ListByTopicResponder(resp *http.Response) (result SBSubscriptionListResult, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -382,26 +366,71 @@ func (client SubscriptionsClient) ListAllResponder(resp *http.Response) (result return } -// ListAllNextResults retrieves the next set of results, if any. -func (client SubscriptionsClient) ListAllNextResults(lastResults SubscriptionListResult) (result SubscriptionListResult, err error) { - req, err := lastResults.SubscriptionListResultPreparer() +// ListByTopicNextResults retrieves the next set of results, if any. +func (client SubscriptionsClient) ListByTopicNextResults(lastResults SBSubscriptionListResult) (result SBSubscriptionListResult, err error) { + req, err := lastResults.SBSubscriptionListResultPreparer() if err != nil { - return result, autorest.NewErrorWithError(err, "servicebus.SubscriptionsClient", "ListAll", nil, "Failure preparing next results request") + return result, autorest.NewErrorWithError(err, "servicebus.SubscriptionsClient", "ListByTopic", nil, "Failure preparing next results request") } if req == nil { return } - resp, err := client.ListAllSender(req) + resp, err := client.ListByTopicSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "servicebus.SubscriptionsClient", "ListAll", resp, "Failure sending next results request") + return result, autorest.NewErrorWithError(err, "servicebus.SubscriptionsClient", "ListByTopic", resp, "Failure sending next results request") } - result, err = client.ListAllResponder(resp) + result, err = client.ListByTopicResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "servicebus.SubscriptionsClient", "ListAll", resp, "Failure responding to next results request") + err = autorest.NewErrorWithError(err, "servicebus.SubscriptionsClient", "ListByTopic", resp, "Failure responding to next results request") } return } + +// ListByTopicComplete gets all elements from the list without paging. +func (client SubscriptionsClient) ListByTopicComplete(resourceGroupName string, namespaceName string, topicName string, cancel <-chan struct{}) (<-chan SBSubscription, <-chan error) { + resultChan := make(chan SBSubscription) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByTopic(resourceGroupName, namespaceName, topicName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByTopicNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/topics.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/topics.go index 02938927e..5fb582f66 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/topics.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/topics.go @@ -14,9 +14,8 @@ package servicebus // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -42,10 +41,9 @@ func NewTopicsClientWithBaseURI(baseURI string, subscriptionID string) TopicsCli // CreateOrUpdate creates a topic in the specified namespace. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name topicName is the topic -// name. parameters is parameters supplied to create a topic resource. -func (client TopicsClient) CreateOrUpdate(resourceGroupName string, namespaceName string, topicName string, parameters TopicCreateOrUpdateParameters) (result TopicResource, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// topicName is the topic name. parameters is parameters supplied to create a topic resource. +func (client TopicsClient) CreateOrUpdate(resourceGroupName string, namespaceName string, topicName string, parameters SBTopic) (result SBTopic, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -54,10 +52,7 @@ func (client TopicsClient) CreateOrUpdate(resourceGroupName string, namespaceNam Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: topicName, - Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.Location", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.TopicsClient", "CreateOrUpdate") } @@ -83,7 +78,7 @@ func (client TopicsClient) CreateOrUpdate(resourceGroupName string, namespaceNam } // CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client TopicsClient) CreateOrUpdatePreparer(resourceGroupName string, namespaceName string, topicName string, parameters TopicCreateOrUpdateParameters) (*http.Request, error) { +func (client TopicsClient) CreateOrUpdatePreparer(resourceGroupName string, namespaceName string, topicName string, parameters SBTopic) (*http.Request, error) { pathParameters := map[string]interface{}{ "namespaceName": autorest.Encode("path", namespaceName), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -91,7 +86,7 @@ func (client TopicsClient) CreateOrUpdatePreparer(resourceGroupName string, name "topicName": autorest.Encode("path", topicName), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -114,7 +109,7 @@ func (client TopicsClient) CreateOrUpdateSender(req *http.Request) (*http.Respon // CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always // closes the http.Response Body. -func (client TopicsClient) CreateOrUpdateResponder(resp *http.Response) (result TopicResource, err error) { +func (client TopicsClient) CreateOrUpdateResponder(resp *http.Response) (result SBTopic, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -125,14 +120,12 @@ func (client TopicsClient) CreateOrUpdateResponder(resp *http.Response) (result return } -// CreateOrUpdateAuthorizationRule creates an authorizatio rule for the -// specified topic. +// CreateOrUpdateAuthorizationRule creates an authorizatio rule for the specified topic. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name topicName is the topic -// name. authorizationRuleName is the authorizationrule name. parameters is the -// shared access authorization rule. -func (client TopicsClient) CreateOrUpdateAuthorizationRule(resourceGroupName string, namespaceName string, topicName string, authorizationRuleName string, parameters SharedAccessAuthorizationRuleCreateOrUpdateParameters) (result SharedAccessAuthorizationRuleResource, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// topicName is the topic name. authorizationRuleName is the authorizationrule name. parameters is the shared access +// authorization rule. +func (client TopicsClient) CreateOrUpdateAuthorizationRule(resourceGroupName string, namespaceName string, topicName string, authorizationRuleName string, parameters SBAuthorizationRule) (result SBAuthorizationRule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -141,14 +134,9 @@ func (client TopicsClient) CreateOrUpdateAuthorizationRule(resourceGroupName str Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: topicName, - Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.SharedAccessAuthorizationRuleProperties", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.SharedAccessAuthorizationRuleProperties.Rights", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.TopicsClient", "CreateOrUpdateAuthorizationRule") } @@ -174,7 +162,7 @@ func (client TopicsClient) CreateOrUpdateAuthorizationRule(resourceGroupName str } // CreateOrUpdateAuthorizationRulePreparer prepares the CreateOrUpdateAuthorizationRule request. -func (client TopicsClient) CreateOrUpdateAuthorizationRulePreparer(resourceGroupName string, namespaceName string, topicName string, authorizationRuleName string, parameters SharedAccessAuthorizationRuleCreateOrUpdateParameters) (*http.Request, error) { +func (client TopicsClient) CreateOrUpdateAuthorizationRulePreparer(resourceGroupName string, namespaceName string, topicName string, authorizationRuleName string, parameters SBAuthorizationRule) (*http.Request, error) { pathParameters := map[string]interface{}{ "authorizationRuleName": autorest.Encode("path", authorizationRuleName), "namespaceName": autorest.Encode("path", namespaceName), @@ -183,7 +171,7 @@ func (client TopicsClient) CreateOrUpdateAuthorizationRulePreparer(resourceGroup "topicName": autorest.Encode("path", topicName), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -206,7 +194,7 @@ func (client TopicsClient) CreateOrUpdateAuthorizationRuleSender(req *http.Reque // CreateOrUpdateAuthorizationRuleResponder handles the response to the CreateOrUpdateAuthorizationRule request. The method always // closes the http.Response Body. -func (client TopicsClient) CreateOrUpdateAuthorizationRuleResponder(resp *http.Response) (result SharedAccessAuthorizationRuleResource, err error) { +func (client TopicsClient) CreateOrUpdateAuthorizationRuleResponder(resp *http.Response) (result SBAuthorizationRule, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -219,9 +207,8 @@ func (client TopicsClient) CreateOrUpdateAuthorizationRuleResponder(resp *http.R // Delete deletes a topic from the specified namespace and resource group. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name topicName is the topic -// name. +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// topicName is the topic name. func (client TopicsClient) Delete(resourceGroupName string, namespaceName string, topicName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -231,8 +218,7 @@ func (client TopicsClient) Delete(resourceGroupName string, namespaceName string Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: topicName, - Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.TopicsClient", "Delete") } @@ -266,7 +252,7 @@ func (client TopicsClient) DeletePreparer(resourceGroupName string, namespaceNam "topicName": autorest.Encode("path", topicName), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -299,9 +285,8 @@ func (client TopicsClient) DeleteResponder(resp *http.Response) (result autorest // DeleteAuthorizationRule deletes a topic authorization rule. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name topicName is the topic -// name. authorizationRuleName is the authorizationrule name. +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// topicName is the topic name. authorizationRuleName is the authorizationrule name. func (client TopicsClient) DeleteAuthorizationRule(resourceGroupName string, namespaceName string, topicName string, authorizationRuleName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -311,11 +296,9 @@ func (client TopicsClient) DeleteAuthorizationRule(resourceGroupName string, nam Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: topicName, - Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.TopicsClient", "DeleteAuthorizationRule") } @@ -350,7 +333,7 @@ func (client TopicsClient) DeleteAuthorizationRulePreparer(resourceGroupName str "topicName": autorest.Encode("path", topicName), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -383,10 +366,9 @@ func (client TopicsClient) DeleteAuthorizationRuleResponder(resp *http.Response) // Get returns a description for the specified topic. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name topicName is the topic -// name. -func (client TopicsClient) Get(resourceGroupName string, namespaceName string, topicName string) (result TopicResource, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// topicName is the topic name. +func (client TopicsClient) Get(resourceGroupName string, namespaceName string, topicName string) (result SBTopic, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -395,8 +377,7 @@ func (client TopicsClient) Get(resourceGroupName string, namespaceName string, t Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: topicName, - Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.TopicsClient", "Get") } @@ -430,7 +411,7 @@ func (client TopicsClient) GetPreparer(resourceGroupName string, namespaceName s "topicName": autorest.Encode("path", topicName), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -451,7 +432,7 @@ func (client TopicsClient) GetSender(req *http.Request) (*http.Response, error) // GetResponder handles the response to the Get request. The method always // closes the http.Response Body. -func (client TopicsClient) GetResponder(resp *http.Response) (result TopicResource, err error) { +func (client TopicsClient) GetResponder(resp *http.Response) (result SBTopic, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -464,10 +445,9 @@ func (client TopicsClient) GetResponder(resp *http.Response) (result TopicResour // GetAuthorizationRule returns the specified authorization rule. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name topicName is the topic -// name. authorizationRuleName is the authorizationrule name. -func (client TopicsClient) GetAuthorizationRule(resourceGroupName string, namespaceName string, topicName string, authorizationRuleName string) (result SharedAccessAuthorizationRuleResource, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// topicName is the topic name. authorizationRuleName is the authorizationrule name. +func (client TopicsClient) GetAuthorizationRule(resourceGroupName string, namespaceName string, topicName string, authorizationRuleName string) (result SBAuthorizationRule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -476,11 +456,9 @@ func (client TopicsClient) GetAuthorizationRule(resourceGroupName string, namesp Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: topicName, - Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.TopicsClient", "GetAuthorizationRule") } @@ -515,7 +493,7 @@ func (client TopicsClient) GetAuthorizationRulePreparer(resourceGroupName string "topicName": autorest.Encode("path", topicName), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -536,7 +514,7 @@ func (client TopicsClient) GetAuthorizationRuleSender(req *http.Request) (*http. // GetAuthorizationRuleResponder handles the response to the GetAuthorizationRule request. The method always // closes the http.Response Body. -func (client TopicsClient) GetAuthorizationRuleResponder(resp *http.Response) (result SharedAccessAuthorizationRuleResource, err error) { +func (client TopicsClient) GetAuthorizationRuleResponder(resp *http.Response) (result SBAuthorizationRule, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -547,112 +525,11 @@ func (client TopicsClient) GetAuthorizationRuleResponder(resp *http.Response) (r return } -// ListAll gets all the topics in a namespace. -// -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name -func (client TopicsClient) ListAll(resourceGroupName string, namespaceName string) (result TopicListResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, - {TargetValue: namespaceName, - Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}}); err != nil { - return result, validation.NewErrorWithValidationError(err, "servicebus.TopicsClient", "ListAll") - } - - req, err := client.ListAllPreparer(resourceGroupName, namespaceName) - if err != nil { - err = autorest.NewErrorWithError(err, "servicebus.TopicsClient", "ListAll", nil, "Failure preparing request") - return - } - - resp, err := client.ListAllSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "servicebus.TopicsClient", "ListAll", resp, "Failure sending request") - return - } - - result, err = client.ListAllResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "servicebus.TopicsClient", "ListAll", resp, "Failure responding to request") - } - - return -} - -// ListAllPreparer prepares the ListAll request. -func (client TopicsClient) ListAllPreparer(resourceGroupName string, namespaceName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "namespaceName": autorest.Encode("path", namespaceName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2015-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// ListAllSender sends the ListAll request. The method will close the -// http.Response Body if it receives an error. -func (client TopicsClient) ListAllSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// ListAllResponder handles the response to the ListAll request. The method always -// closes the http.Response Body. -func (client TopicsClient) ListAllResponder(resp *http.Response) (result TopicListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListAllNextResults retrieves the next set of results, if any. -func (client TopicsClient) ListAllNextResults(lastResults TopicListResult) (result TopicListResult, err error) { - req, err := lastResults.TopicListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "servicebus.TopicsClient", "ListAll", nil, "Failure preparing next results request") - } - if req == nil { - return - } - - resp, err := client.ListAllSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "servicebus.TopicsClient", "ListAll", resp, "Failure sending next results request") - } - - result, err = client.ListAllResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "servicebus.TopicsClient", "ListAll", resp, "Failure responding to next results request") - } - - return -} - // ListAuthorizationRules gets authorization rules for a topic. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name topicName is the topic -// name. -func (client TopicsClient) ListAuthorizationRules(resourceGroupName string, namespaceName string, topicName string) (result SharedAccessAuthorizationRuleListResult, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// topicName is the topic name. +func (client TopicsClient) ListAuthorizationRules(resourceGroupName string, namespaceName string, topicName string) (result SBAuthorizationRuleListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -661,8 +538,7 @@ func (client TopicsClient) ListAuthorizationRules(resourceGroupName string, name Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: topicName, - Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.TopicsClient", "ListAuthorizationRules") } @@ -696,7 +572,7 @@ func (client TopicsClient) ListAuthorizationRulesPreparer(resourceGroupName stri "topicName": autorest.Encode("path", topicName), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -717,7 +593,7 @@ func (client TopicsClient) ListAuthorizationRulesSender(req *http.Request) (*htt // ListAuthorizationRulesResponder handles the response to the ListAuthorizationRules request. The method always // closes the http.Response Body. -func (client TopicsClient) ListAuthorizationRulesResponder(resp *http.Response) (result SharedAccessAuthorizationRuleListResult, err error) { +func (client TopicsClient) ListAuthorizationRulesResponder(resp *http.Response) (result SBAuthorizationRuleListResult, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -729,8 +605,8 @@ func (client TopicsClient) ListAuthorizationRulesResponder(resp *http.Response) } // ListAuthorizationRulesNextResults retrieves the next set of results, if any. -func (client TopicsClient) ListAuthorizationRulesNextResults(lastResults SharedAccessAuthorizationRuleListResult) (result SharedAccessAuthorizationRuleListResult, err error) { - req, err := lastResults.SharedAccessAuthorizationRuleListResultPreparer() +func (client TopicsClient) ListAuthorizationRulesNextResults(lastResults SBAuthorizationRuleListResult) (result SBAuthorizationRuleListResult, err error) { + req, err := lastResults.SBAuthorizationRuleListResultPreparer() if err != nil { return result, autorest.NewErrorWithError(err, "servicebus.TopicsClient", "ListAuthorizationRules", nil, "Failure preparing next results request") } @@ -752,12 +628,200 @@ func (client TopicsClient) ListAuthorizationRulesNextResults(lastResults SharedA return } +// ListAuthorizationRulesComplete gets all elements from the list without paging. +func (client TopicsClient) ListAuthorizationRulesComplete(resourceGroupName string, namespaceName string, topicName string, cancel <-chan struct{}) (<-chan SBAuthorizationRule, <-chan error) { + resultChan := make(chan SBAuthorizationRule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAuthorizationRules(resourceGroupName, namespaceName, topicName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAuthorizationRulesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListByNamespace gets all the topics in a namespace. +// +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +func (client TopicsClient) ListByNamespace(resourceGroupName string, namespaceName string) (result SBTopicListResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: namespaceName, + Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "servicebus.TopicsClient", "ListByNamespace") + } + + req, err := client.ListByNamespacePreparer(resourceGroupName, namespaceName) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.TopicsClient", "ListByNamespace", nil, "Failure preparing request") + return + } + + resp, err := client.ListByNamespaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicebus.TopicsClient", "ListByNamespace", resp, "Failure sending request") + return + } + + result, err = client.ListByNamespaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.TopicsClient", "ListByNamespace", resp, "Failure responding to request") + } + + return +} + +// ListByNamespacePreparer prepares the ListByNamespace request. +func (client TopicsClient) ListByNamespacePreparer(resourceGroupName string, namespaceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "namespaceName": autorest.Encode("path", namespaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByNamespaceSender sends the ListByNamespace request. The method will close the +// http.Response Body if it receives an error. +func (client TopicsClient) ListByNamespaceSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByNamespaceResponder handles the response to the ListByNamespace request. The method always +// closes the http.Response Body. +func (client TopicsClient) ListByNamespaceResponder(resp *http.Response) (result SBTopicListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByNamespaceNextResults retrieves the next set of results, if any. +func (client TopicsClient) ListByNamespaceNextResults(lastResults SBTopicListResult) (result SBTopicListResult, err error) { + req, err := lastResults.SBTopicListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "servicebus.TopicsClient", "ListByNamespace", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListByNamespaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "servicebus.TopicsClient", "ListByNamespace", resp, "Failure sending next results request") + } + + result, err = client.ListByNamespaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.TopicsClient", "ListByNamespace", resp, "Failure responding to next results request") + } + + return +} + +// ListByNamespaceComplete gets all elements from the list without paging. +func (client TopicsClient) ListByNamespaceComplete(resourceGroupName string, namespaceName string, cancel <-chan struct{}) (<-chan SBTopic, <-chan error) { + resultChan := make(chan SBTopic) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByNamespace(resourceGroupName, namespaceName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByNamespaceNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListKeys gets the primary and secondary connection strings for the topic. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name topicName is the topic -// name. authorizationRuleName is the authorizationrule name. -func (client TopicsClient) ListKeys(resourceGroupName string, namespaceName string, topicName string, authorizationRuleName string) (result ResourceListKeys, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// topicName is the topic name. authorizationRuleName is the authorizationrule name. +func (client TopicsClient) ListKeys(resourceGroupName string, namespaceName string, topicName string, authorizationRuleName string) (result AccessKeys, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -766,11 +830,9 @@ func (client TopicsClient) ListKeys(resourceGroupName string, namespaceName stri Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: topicName, - Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.TopicsClient", "ListKeys") } @@ -805,7 +867,7 @@ func (client TopicsClient) ListKeysPreparer(resourceGroupName string, namespaceN "topicName": autorest.Encode("path", topicName), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -826,7 +888,7 @@ func (client TopicsClient) ListKeysSender(req *http.Request) (*http.Response, er // ListKeysResponder handles the response to the ListKeys request. The method always // closes the http.Response Body. -func (client TopicsClient) ListKeysResponder(resp *http.Response) (result ResourceListKeys, err error) { +func (client TopicsClient) ListKeysResponder(resp *http.Response) (result AccessKeys, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -837,14 +899,12 @@ func (client TopicsClient) ListKeysResponder(resp *http.Response) (result Resour return } -// RegenerateKeys regenerates primary or secondary connection strings for the -// topic. +// RegenerateKeys regenerates primary or secondary connection strings for the topic. // -// resourceGroupName is name of the Resource group within the Azure -// subscription. namespaceName is the namespace name topicName is the topic -// name. authorizationRuleName is the authorizationrule name. parameters is -// parameters supplied to regenerate the authorization rule. -func (client TopicsClient) RegenerateKeys(resourceGroupName string, namespaceName string, topicName string, authorizationRuleName string, parameters RegenerateKeysParameters) (result ResourceListKeys, err error) { +// resourceGroupName is name of the Resource group within the Azure subscription. namespaceName is the namespace name +// topicName is the topic name. authorizationRuleName is the authorizationrule name. parameters is parameters supplied +// to regenerate the authorization rule. +func (client TopicsClient) RegenerateKeys(resourceGroupName string, namespaceName string, topicName string, authorizationRuleName string, parameters RegenerateAccessKeyParameters) (result AccessKeys, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, @@ -853,11 +913,9 @@ func (client TopicsClient) RegenerateKeys(resourceGroupName string, namespaceNam Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}, {TargetValue: topicName, - Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "topicName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: authorizationRuleName, - Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "authorizationRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "servicebus.TopicsClient", "RegenerateKeys") } @@ -883,7 +941,7 @@ func (client TopicsClient) RegenerateKeys(resourceGroupName string, namespaceNam } // RegenerateKeysPreparer prepares the RegenerateKeys request. -func (client TopicsClient) RegenerateKeysPreparer(resourceGroupName string, namespaceName string, topicName string, authorizationRuleName string, parameters RegenerateKeysParameters) (*http.Request, error) { +func (client TopicsClient) RegenerateKeysPreparer(resourceGroupName string, namespaceName string, topicName string, authorizationRuleName string, parameters RegenerateAccessKeyParameters) (*http.Request, error) { pathParameters := map[string]interface{}{ "authorizationRuleName": autorest.Encode("path", authorizationRuleName), "namespaceName": autorest.Encode("path", namespaceName), @@ -892,7 +950,7 @@ func (client TopicsClient) RegenerateKeysPreparer(resourceGroupName string, name "topicName": autorest.Encode("path", topicName), } - const APIVersion = "2015-08-01" + const APIVersion = "2017-04-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -915,7 +973,7 @@ func (client TopicsClient) RegenerateKeysSender(req *http.Request) (*http.Respon // RegenerateKeysResponder handles the response to the RegenerateKeys request. The method always // closes the http.Response Body. -func (client TopicsClient) RegenerateKeysResponder(resp *http.Response) (result ResourceListKeys, err error) { +func (client TopicsClient) RegenerateKeysResponder(resp *http.Response) (result AccessKeys, err error) { err = autorest.Respond( resp, client.ByInspecting(), diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/version.go index 0a96a353e..1d881d275 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicebus/version.go @@ -14,16 +14,15 @@ package servicebus // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-servicebus/2015-08-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-servicebus/2017-04-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicefabric/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicefabric/client.go index 271143e26..9374223eb 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicefabric/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicefabric/client.go @@ -1,5 +1,4 @@ -// Package servicefabric implements the Azure ARM Servicefabric service API -// version 2016-09-01. +// Package servicefabric implements the Azure ARM Servicefabric service API version 2016-09-01. // // package servicefabric @@ -18,9 +17,8 @@ package servicefabric // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicefabric/clusters.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicefabric/clusters.go index fda64c301..3e704e7b4 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicefabric/clusters.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicefabric/clusters.go @@ -14,9 +14,8 @@ package servicefabric // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// ClustersClient is the client for the Clusters methods of the Servicefabric -// service. +// ClustersClient is the client for the Clusters methods of the Servicefabric service. type ClustersClient struct { ManagementClient } @@ -36,19 +34,16 @@ func NewClustersClient(subscriptionID string) ClustersClient { return NewClustersClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewClustersClientWithBaseURI creates an instance of the ClustersClient -// client. +// NewClustersClientWithBaseURI creates an instance of the ClustersClient client. func NewClustersClientWithBaseURI(baseURI string, subscriptionID string) ClustersClient { return ClustersClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Create create cluster resource This method may poll for completion. Polling -// can be canceled by passing the cancel channel argument. The channel will be -// used to cancel polling and any outstanding HTTP requests. +// Create create cluster resource This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group to which the resource -// belongs or get created clusterName is the name of the cluster resource -// parameters is put Request +// resourceGroupName is the name of the resource group to which the resource belongs or get created clusterName is the +// name of the cluster resource parameters is put Request func (client ClustersClient) Create(resourceGroupName string, clusterName string, parameters Cluster, cancel <-chan struct{}) (<-chan Cluster, <-chan error) { resultChan := make(chan Cluster, 1) errChan := make(chan error, 1) @@ -111,8 +106,10 @@ func (client ClustersClient) Create(resourceGroupName string, clusterName string var err error var result Cluster defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -183,8 +180,8 @@ func (client ClustersClient) CreateResponder(resp *http.Response) (result Cluste // Delete delete cluster resource // -// resourceGroupName is the name of the resource group to which the resource -// belongs or get created clusterName is the name of the cluster resource +// resourceGroupName is the name of the resource group to which the resource belongs or get created clusterName is the +// name of the cluster resource func (client ClustersClient) Delete(resourceGroupName string, clusterName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, clusterName) if err != nil { @@ -248,8 +245,8 @@ func (client ClustersClient) DeleteResponder(resp *http.Response) (result autore // Get get cluster resource // -// resourceGroupName is the name of the resource group to which the resource -// belongs or get created clusterName is the name of the cluster resource +// resourceGroupName is the name of the resource group to which the resource belongs or get created clusterName is the +// name of the cluster resource func (client ClustersClient) Get(resourceGroupName string, clusterName string) (result Cluster, err error) { req, err := client.GetPreparer(resourceGroupName, clusterName) if err != nil { @@ -397,10 +394,54 @@ func (client ClustersClient) ListNextResults(lastResults ClusterListResult) (res return } +// ListComplete gets all elements from the list without paging. +func (client ClustersClient) ListComplete(cancel <-chan struct{}) (<-chan Cluster, <-chan error) { + resultChan := make(chan Cluster) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListByResourceGroup list cluster resource by resource group // -// resourceGroupName is the name of the resource group to which the resource -// belongs or get created +// resourceGroupName is the name of the resource group to which the resource belongs or get created func (client ClustersClient) ListByResourceGroup(resourceGroupName string) (result ClusterListResult, err error) { req, err := client.ListByResourceGroupPreparer(resourceGroupName) if err != nil { @@ -486,14 +527,57 @@ func (client ClustersClient) ListByResourceGroupNextResults(lastResults ClusterL return } -// Update update cluster configuration This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client ClustersClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan Cluster, <-chan error) { + resultChan := make(chan Cluster) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// Update update cluster configuration This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group to which the resource -// belongs or get created clusterName is the name of the cluster resource -// parameters is the parameters which contains the property value and property -// name which used to update the cluster configuration +// resourceGroupName is the name of the resource group to which the resource belongs or get created clusterName is the +// name of the cluster resource parameters is the parameters which contains the property value and property name which +// used to update the cluster configuration func (client ClustersClient) Update(resourceGroupName string, clusterName string, parameters ClusterUpdateParameters, cancel <-chan struct{}) (<-chan Cluster, <-chan error) { resultChan := make(chan Cluster, 1) errChan := make(chan error, 1) @@ -501,8 +585,10 @@ func (client ClustersClient) Update(resourceGroupName string, clusterName string var err error var result Cluster defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicefabric/clusterversions.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicefabric/clusterversions.go index 496d6f89b..aee8d09b1 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicefabric/clusterversions.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicefabric/clusterversions.go @@ -14,9 +14,8 @@ package servicefabric // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,31 +23,93 @@ import ( "net/http" ) -// ClusterVersionsClient is the client for the ClusterVersions methods of the -// Servicefabric service. +// ClusterVersionsClient is the client for the ClusterVersions methods of the Servicefabric service. type ClusterVersionsClient struct { ManagementClient } -// NewClusterVersionsClient creates an instance of the ClusterVersionsClient -// client. +// NewClusterVersionsClient creates an instance of the ClusterVersionsClient client. func NewClusterVersionsClient(subscriptionID string) ClusterVersionsClient { return NewClusterVersionsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewClusterVersionsClientWithBaseURI creates an instance of the -// ClusterVersionsClient client. +// NewClusterVersionsClientWithBaseURI creates an instance of the ClusterVersionsClient client. func NewClusterVersionsClientWithBaseURI(baseURI string, subscriptionID string) ClusterVersionsClient { return ClusterVersionsClient{NewWithBaseURI(baseURI, subscriptionID)} } +// Get get cluster code versions by environment and version +// +// location is the location for the cluster code versions, this is different from cluster location environment is +// cluster operating system, the default means all clusterVersion is the cluster code version +func (client ClusterVersionsClient) Get(location string, environment string, clusterVersion string) (result ClusterCodeVersionsResult, err error) { + req, err := client.GetPreparer(location, environment, clusterVersion) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ClusterVersionsClient) GetPreparer(location string, environment string, clusterVersion string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterVersion": autorest.Encode("path", clusterVersion), + "environment": autorest.Encode("path", environment), + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/clusterVersions/{clusterVersion}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ClusterVersionsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ClusterVersionsClient) GetResponder(resp *http.Response) (result ClusterCodeVersionsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // List list cluster code versions by location // -// location is the location for the cluster code versions, this is different -// from cluster location environment is cluster operating system, the default -// means all -func (client ClusterVersionsClient) List(location string, environment string) (result ClusterCodeVersionsListResult, err error) { - req, err := client.ListPreparer(location, environment) +// location is the location for the cluster code versions, this is different from cluster location +func (client ClusterVersionsClient) List(location string) (result ClusterCodeVersionsListResult, err error) { + req, err := client.ListPreparer(location) if err != nil { err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "List", nil, "Failure preparing request") return @@ -70,9 +131,8 @@ func (client ClusterVersionsClient) List(location string, environment string) (r } // ListPreparer prepares the List request. -func (client ClusterVersionsClient) ListPreparer(location string, environment string) (*http.Request, error) { +func (client ClusterVersionsClient) ListPreparer(location string) (*http.Request, error) { pathParameters := map[string]interface{}{ - "environment": autorest.Encode("path", environment), "location": autorest.Encode("path", location), "subscriptionId": autorest.Encode("path", client.SubscriptionID), } @@ -85,7 +145,7 @@ func (client ClusterVersionsClient) ListPreparer(location string, environment st preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/clusterVersions", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/clusterVersions", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -132,3 +192,318 @@ func (client ClusterVersionsClient) ListNextResults(lastResults ClusterCodeVersi return } + +// ListComplete gets all elements from the list without paging. +func (client ClusterVersionsClient) ListComplete(location string, cancel <-chan struct{}) (<-chan ClusterCodeVersionsResult, <-chan error) { + resultChan := make(chan ClusterCodeVersionsResult) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(location) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListByEnvironment list cluster code versions by environment +// +// location is the location for the cluster code versions, this is different from cluster location environment is +// cluster operating system, the default means all +func (client ClusterVersionsClient) ListByEnvironment(location string, environment string) (result ClusterCodeVersionsListResult, err error) { + req, err := client.ListByEnvironmentPreparer(location, environment) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "ListByEnvironment", nil, "Failure preparing request") + return + } + + resp, err := client.ListByEnvironmentSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "ListByEnvironment", resp, "Failure sending request") + return + } + + result, err = client.ListByEnvironmentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "ListByEnvironment", resp, "Failure responding to request") + } + + return +} + +// ListByEnvironmentPreparer prepares the ListByEnvironment request. +func (client ClusterVersionsClient) ListByEnvironmentPreparer(location string, environment string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "environment": autorest.Encode("path", environment), + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/clusterVersions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByEnvironmentSender sends the ListByEnvironment request. The method will close the +// http.Response Body if it receives an error. +func (client ClusterVersionsClient) ListByEnvironmentSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByEnvironmentResponder handles the response to the ListByEnvironment request. The method always +// closes the http.Response Body. +func (client ClusterVersionsClient) ListByEnvironmentResponder(resp *http.Response) (result ClusterCodeVersionsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByEnvironmentNextResults retrieves the next set of results, if any. +func (client ClusterVersionsClient) ListByEnvironmentNextResults(lastResults ClusterCodeVersionsListResult) (result ClusterCodeVersionsListResult, err error) { + req, err := lastResults.ClusterCodeVersionsListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "ListByEnvironment", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListByEnvironmentSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "ListByEnvironment", resp, "Failure sending next results request") + } + + result, err = client.ListByEnvironmentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "ListByEnvironment", resp, "Failure responding to next results request") + } + + return +} + +// ListByEnvironmentComplete gets all elements from the list without paging. +func (client ClusterVersionsClient) ListByEnvironmentComplete(location string, environment string, cancel <-chan struct{}) (<-chan ClusterCodeVersionsResult, <-chan error) { + resultChan := make(chan ClusterCodeVersionsResult) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByEnvironment(location, environment) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByEnvironmentNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListByVersion list cluster code versions by version +// +// location is the location for the cluster code versions, this is different from cluster location clusterVersion is +// the cluster code version +func (client ClusterVersionsClient) ListByVersion(location string, clusterVersion string) (result ClusterCodeVersionsListResult, err error) { + req, err := client.ListByVersionPreparer(location, clusterVersion) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "ListByVersion", nil, "Failure preparing request") + return + } + + resp, err := client.ListByVersionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "ListByVersion", resp, "Failure sending request") + return + } + + result, err = client.ListByVersionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "ListByVersion", resp, "Failure responding to request") + } + + return +} + +// ListByVersionPreparer prepares the ListByVersion request. +func (client ClusterVersionsClient) ListByVersionPreparer(location string, clusterVersion string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterVersion": autorest.Encode("path", clusterVersion), + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/clusterVersions/{clusterVersion}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByVersionSender sends the ListByVersion request. The method will close the +// http.Response Body if it receives an error. +func (client ClusterVersionsClient) ListByVersionSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByVersionResponder handles the response to the ListByVersion request. The method always +// closes the http.Response Body. +func (client ClusterVersionsClient) ListByVersionResponder(resp *http.Response) (result ClusterCodeVersionsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByVersionNextResults retrieves the next set of results, if any. +func (client ClusterVersionsClient) ListByVersionNextResults(lastResults ClusterCodeVersionsListResult) (result ClusterCodeVersionsListResult, err error) { + req, err := lastResults.ClusterCodeVersionsListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "ListByVersion", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListByVersionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "ListByVersion", resp, "Failure sending next results request") + } + + result, err = client.ListByVersionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "ListByVersion", resp, "Failure responding to next results request") + } + + return +} + +// ListByVersionComplete gets all elements from the list without paging. +func (client ClusterVersionsClient) ListByVersionComplete(location string, clusterVersion string, cancel <-chan struct{}) (<-chan ClusterCodeVersionsResult, <-chan error) { + resultChan := make(chan ClusterCodeVersionsResult) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByVersion(location, clusterVersion) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByVersionNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicefabric/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicefabric/models.go index 044756515..a48b9a843 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicefabric/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicefabric/models.go @@ -14,9 +14,8 @@ package servicefabric // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -34,22 +33,17 @@ const ( BaselineUpgrade ClusterState = "BaselineUpgrade" // Deploying specifies the deploying state for cluster state. Deploying ClusterState = "Deploying" - // EnforcingClusterVersion specifies the enforcing cluster version state - // for cluster state. + // EnforcingClusterVersion specifies the enforcing cluster version state for cluster state. EnforcingClusterVersion ClusterState = "EnforcingClusterVersion" // Ready specifies the ready state for cluster state. Ready ClusterState = "Ready" - // UpdatingInfrastructure specifies the updating infrastructure state for - // cluster state. + // UpdatingInfrastructure specifies the updating infrastructure state for cluster state. UpdatingInfrastructure ClusterState = "UpdatingInfrastructure" - // UpdatingUserCertificate specifies the updating user certificate state - // for cluster state. + // UpdatingUserCertificate specifies the updating user certificate state for cluster state. UpdatingUserCertificate ClusterState = "UpdatingUserCertificate" - // UpdatingUserConfiguration specifies the updating user configuration - // state for cluster state. + // UpdatingUserConfiguration specifies the updating user configuration state for cluster state. UpdatingUserConfiguration ClusterState = "UpdatingUserConfiguration" - // UpgradeServiceUnreachable specifies the upgrade service unreachable - // state for cluster state. + // UpgradeServiceUnreachable specifies the upgrade service unreachable state for cluster state. UpgradeServiceUnreachable ClusterState = "UpgradeServiceUnreachable" // WaitingForNodes specifies the waiting for nodes state for cluster state. WaitingForNodes ClusterState = "WaitingForNodes" @@ -95,14 +89,11 @@ const ( type ReliabilityLevel string const ( - // ReliabilityLevelBronze specifies the reliability level bronze state for - // reliability level. + // ReliabilityLevelBronze specifies the reliability level bronze state for reliability level. ReliabilityLevelBronze ReliabilityLevel = "Bronze" - // ReliabilityLevelGold specifies the reliability level gold state for - // reliability level. + // ReliabilityLevelGold specifies the reliability level gold state for reliability level. ReliabilityLevelGold ReliabilityLevel = "Gold" - // ReliabilityLevelSilver specifies the reliability level silver state for - // reliability level. + // ReliabilityLevelSilver specifies the reliability level silver state for reliability level. ReliabilityLevelSilver ReliabilityLevel = "Silver" ) @@ -110,17 +101,13 @@ const ( type ReliabilityLevel1 string const ( - // ReliabilityLevel1Bronze specifies the reliability level 1 bronze state - // for reliability level 1. + // ReliabilityLevel1Bronze specifies the reliability level 1 bronze state for reliability level 1. ReliabilityLevel1Bronze ReliabilityLevel1 = "Bronze" - // ReliabilityLevel1Gold specifies the reliability level 1 gold state for - // reliability level 1. + // ReliabilityLevel1Gold specifies the reliability level 1 gold state for reliability level 1. ReliabilityLevel1Gold ReliabilityLevel1 = "Gold" - // ReliabilityLevel1Platinum specifies the reliability level 1 platinum - // state for reliability level 1. + // ReliabilityLevel1Platinum specifies the reliability level 1 platinum state for reliability level 1. ReliabilityLevel1Platinum ReliabilityLevel1 = "Platinum" - // ReliabilityLevel1Silver specifies the reliability level 1 silver state - // for reliability level 1. + // ReliabilityLevel1Silver specifies the reliability level 1 silver state for reliability level 1. ReliabilityLevel1Silver ReliabilityLevel1 = "Silver" ) @@ -138,11 +125,9 @@ const ( type UpgradeMode1 string const ( - // UpgradeMode1Automatic specifies the upgrade mode 1 automatic state for - // upgrade mode 1. + // UpgradeMode1Automatic specifies the upgrade mode 1 automatic state for upgrade mode 1. UpgradeMode1Automatic UpgradeMode1 = "Automatic" - // UpgradeMode1Manual specifies the upgrade mode 1 manual state for upgrade - // mode 1. + // UpgradeMode1Manual specifies the upgrade mode 1 manual state for upgrade mode 1. UpgradeMode1Manual UpgradeMode1 = "Manual" ) @@ -154,8 +139,7 @@ const ( AddressBook X509StoreName = "AddressBook" // AuthRoot specifies the auth root state for x509 store name. AuthRoot X509StoreName = "AuthRoot" - // CertificateAuthority specifies the certificate authority state for x509 - // store name. + // CertificateAuthority specifies the certificate authority state for x509 store name. CertificateAuthority X509StoreName = "CertificateAuthority" // Disallowed specifies the disallowed state for x509 store name. Disallowed X509StoreName = "Disallowed" @@ -165,13 +149,11 @@ const ( Root X509StoreName = "Root" // TrustedPeople specifies the trusted people state for x509 store name. TrustedPeople X509StoreName = "TrustedPeople" - // TrustedPublisher specifies the trusted publisher state for x509 store - // name. + // TrustedPublisher specifies the trusted publisher state for x509 store name. TrustedPublisher X509StoreName = "TrustedPublisher" ) -// AvailableOperationDisplay is operation supported by ServiceFabric resource -// provider +// AvailableOperationDisplay is operation supported by ServiceFabric resource provider type AvailableOperationDisplay struct { Provider *string `json:"provider,omitempty"` Resource *string `json:"resource,omitempty"` @@ -179,8 +161,7 @@ type AvailableOperationDisplay struct { Description *string `json:"description,omitempty"` } -// AzureActiveDirectory is the settings to enable AAD authentication on the -// cluster +// AzureActiveDirectory is the settings to enable AAD authentication on the cluster type AzureActiveDirectory struct { TenantID *string `json:"tenantId,omitempty"` ClusterApplication *string `json:"clusterApplication,omitempty"` @@ -218,8 +199,7 @@ type Cluster struct { *ClusterProperties `json:"properties,omitempty"` } -// ClusterCodeVersionsListResult is the list results of the ServiceFabric -// runtime versions +// ClusterCodeVersionsListResult is the list results of the ServiceFabric runtime versions type ClusterCodeVersionsListResult struct { autorest.Response `json:"-"` Value *[]ClusterCodeVersionsResult `json:"value,omitempty"` @@ -238,17 +218,16 @@ func (client ClusterCodeVersionsListResult) ClusterCodeVersionsListResultPrepare autorest.WithBaseURL(to.String(client.NextLink))) } -// ClusterCodeVersionsResult is the result of the ServiceFabric runtime -// versions +// ClusterCodeVersionsResult is the result of the ServiceFabric runtime versions type ClusterCodeVersionsResult struct { + autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` *ClusterVersionDetails `json:"properties,omitempty"` } -// ClusterHealthPolicy is defines a health policy used to evaluate the health -// of the cluster or of a cluster node. +// ClusterHealthPolicy is defines a health policy used to evaluate the health of the cluster or of a cluster node. type ClusterHealthPolicy struct { MaxPercentUnhealthyNodes *int32 `json:"maxPercentUnhealthyNodes,omitempty"` MaxPercentUnhealthyApplications *int32 `json:"maxPercentUnhealthyApplications,omitempty"` @@ -296,8 +275,7 @@ type ClusterProperties struct { UpgradeDescription *ClusterUpgradePolicy `json:"upgradeDescription,omitempty"` } -// ClusterPropertiesUpdateParameters is the cluster resource properties can be -// updated +// ClusterPropertiesUpdateParameters is the cluster resource properties can be updated type ClusterPropertiesUpdateParameters struct { ReliabilityLevel ReliabilityLevel `json:"reliabilityLevel,omitempty"` UpgradeMode UpgradeMode `json:"upgradeMode,omitempty"` @@ -338,8 +316,7 @@ type ClusterUpgradePolicy struct { DeltaHealthPolicy *ClusterUpgradeDeltaHealthPolicy `json:"deltaHealthPolicy,omitempty"` } -// ClusterVersionDetails is the detail of the ServiceFabric runtime version -// result +// ClusterVersionDetails is the detail of the ServiceFabric runtime version result type ClusterVersionDetails struct { CodeVersion *string `json:"codeVersion,omitempty"` SupportExpiryUtc *string `json:"supportExpiryUtc,omitempty"` @@ -372,8 +349,8 @@ type ErrorModelError struct { Message *string `json:"message,omitempty"` } -// NodeTypeDescription is describes a node type in the cluster, each node type -// represents sub set of nodes in the cluster +// NodeTypeDescription is describes a node type in the cluster, each node type represents sub set of nodes in the +// cluster type NodeTypeDescription struct { Name *string `json:"name,omitempty"` PlacementProperties *map[string]*string `json:"placementProperties,omitempty"` @@ -388,9 +365,8 @@ type NodeTypeDescription struct { ReverseProxyEndpointPort *int32 `json:"reverseProxyEndpointPort,omitempty"` } -// OperationListResult is result of the request to list ServiceFabric -// operations. It contains a list of operations and a URL link to get the next -// set of results. +// OperationListResult is result of the request to list ServiceFabric operations. It contains a list of operations and +// a URL link to get the next set of results. type OperationListResult struct { autorest.Response `json:"-"` Value *[]OperationResult `json:"value,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicefabric/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicefabric/operations.go index 5024912b7..3a6fa494f 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicefabric/operations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicefabric/operations.go @@ -14,9 +14,8 @@ package servicefabric // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,8 +23,7 @@ import ( "net/http" ) -// OperationsClient is the client for the Operations methods of the -// Servicefabric service. +// OperationsClient is the client for the Operations methods of the Servicefabric service. type OperationsClient struct { ManagementClient } @@ -35,8 +33,7 @@ func NewOperationsClient(subscriptionID string) OperationsClient { return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewOperationsClientWithBaseURI creates an instance of the OperationsClient -// client. +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} } @@ -121,3 +118,48 @@ func (client OperationsClient) ListNextResults(lastResults OperationListResult) return } + +// ListComplete gets all elements from the list without paging. +func (client OperationsClient) ListComplete(cancel <-chan struct{}) (<-chan OperationResult, <-chan error) { + resultChan := make(chan OperationResult) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicefabric/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicefabric/version.go index 48f171e9f..56b697cbf 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/servicefabric/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/servicefabric/version.go @@ -14,16 +14,15 @@ package servicefabric // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-servicefabric/2016-09-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-servicefabric/2016-09-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/backuplongtermretentionpolicies.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/backuplongtermretentionpolicies.go new file mode 100644 index 000000000..cd301e146 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/backuplongtermretentionpolicies.go @@ -0,0 +1,211 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// BackupLongTermRetentionPoliciesClient is the the Azure SQL Database management API provides a RESTful set of web +// services that interact with Azure SQL Database services to manage your databases. The API enables you to create, +// retrieve, update, and delete databases. +type BackupLongTermRetentionPoliciesClient struct { + ManagementClient +} + +// NewBackupLongTermRetentionPoliciesClient creates an instance of the BackupLongTermRetentionPoliciesClient client. +func NewBackupLongTermRetentionPoliciesClient(subscriptionID string) BackupLongTermRetentionPoliciesClient { + return NewBackupLongTermRetentionPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewBackupLongTermRetentionPoliciesClientWithBaseURI creates an instance of the BackupLongTermRetentionPoliciesClient +// client. +func NewBackupLongTermRetentionPoliciesClientWithBaseURI(baseURI string, subscriptionID string) BackupLongTermRetentionPoliciesClient { + return BackupLongTermRetentionPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a database backup long term retention policy This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database backupLongTermRetentionPolicyName is the name of the backup long term retention policy parameters is the +// required parameters to update a backup long term retention policy +func (client BackupLongTermRetentionPoliciesClient) CreateOrUpdate(resourceGroupName string, serverName string, databaseName string, backupLongTermRetentionPolicyName string, parameters BackupLongTermRetentionPolicy, cancel <-chan struct{}) (<-chan BackupLongTermRetentionPolicy, <-chan error) { + resultChan := make(chan BackupLongTermRetentionPolicy, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.BackupLongTermRetentionPolicyProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.BackupLongTermRetentionPolicyProperties.RecoveryServicesBackupPolicyResourceID", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "sql.BackupLongTermRetentionPoliciesClient", "CreateOrUpdate") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result BackupLongTermRetentionPolicy + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, databaseName, backupLongTermRetentionPolicyName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionPoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionPoliciesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionPoliciesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client BackupLongTermRetentionPoliciesClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, databaseName string, backupLongTermRetentionPolicyName string, parameters BackupLongTermRetentionPolicy, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "backupLongTermRetentionPolicyName": autorest.Encode("path", backupLongTermRetentionPolicyName), + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/{backupLongTermRetentionPolicyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client BackupLongTermRetentionPoliciesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client BackupLongTermRetentionPoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result BackupLongTermRetentionPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get returns a database backup long term retention policy +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database. backupLongTermRetentionPolicyName is the name of the backup long term retention policy +func (client BackupLongTermRetentionPoliciesClient) Get(resourceGroupName string, serverName string, databaseName string, backupLongTermRetentionPolicyName string) (result BackupLongTermRetentionPolicy, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, databaseName, backupLongTermRetentionPolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionPoliciesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionPoliciesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionPoliciesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client BackupLongTermRetentionPoliciesClient) GetPreparer(resourceGroupName string, serverName string, databaseName string, backupLongTermRetentionPolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "backupLongTermRetentionPolicyName": autorest.Encode("path", backupLongTermRetentionPolicyName), + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/{backupLongTermRetentionPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client BackupLongTermRetentionPoliciesClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client BackupLongTermRetentionPoliciesClient) GetResponder(resp *http.Response) (result BackupLongTermRetentionPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/backuplongtermretentionvaults.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/backuplongtermretentionvaults.go new file mode 100644 index 000000000..400b0b3ca --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/backuplongtermretentionvaults.go @@ -0,0 +1,209 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// BackupLongTermRetentionVaultsClient is the the Azure SQL Database management API provides a RESTful set of web +// services that interact with Azure SQL Database services to manage your databases. The API enables you to create, +// retrieve, update, and delete databases. +type BackupLongTermRetentionVaultsClient struct { + ManagementClient +} + +// NewBackupLongTermRetentionVaultsClient creates an instance of the BackupLongTermRetentionVaultsClient client. +func NewBackupLongTermRetentionVaultsClient(subscriptionID string) BackupLongTermRetentionVaultsClient { + return NewBackupLongTermRetentionVaultsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewBackupLongTermRetentionVaultsClientWithBaseURI creates an instance of the BackupLongTermRetentionVaultsClient +// client. +func NewBackupLongTermRetentionVaultsClientWithBaseURI(baseURI string, subscriptionID string) BackupLongTermRetentionVaultsClient { + return BackupLongTermRetentionVaultsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate updates a server backup long term retention vault This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. backupLongTermRetentionVaultName is +// the name of the backup long term retention vault parameters is the required parameters to update a backup long term +// retention vault +func (client BackupLongTermRetentionVaultsClient) CreateOrUpdate(resourceGroupName string, serverName string, backupLongTermRetentionVaultName string, parameters BackupLongTermRetentionVault, cancel <-chan struct{}) (<-chan BackupLongTermRetentionVault, <-chan error) { + resultChan := make(chan BackupLongTermRetentionVault, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.BackupLongTermRetentionVaultProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.BackupLongTermRetentionVaultProperties.RecoveryServicesVaultResourceID", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "sql.BackupLongTermRetentionVaultsClient", "CreateOrUpdate") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result BackupLongTermRetentionVault + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, backupLongTermRetentionVaultName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionVaultsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionVaultsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionVaultsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client BackupLongTermRetentionVaultsClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, backupLongTermRetentionVaultName string, parameters BackupLongTermRetentionVault, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "backupLongTermRetentionVaultName": autorest.Encode("path", backupLongTermRetentionVaultName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/backupLongTermRetentionVaults/{backupLongTermRetentionVaultName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client BackupLongTermRetentionVaultsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client BackupLongTermRetentionVaultsClient) CreateOrUpdateResponder(resp *http.Response) (result BackupLongTermRetentionVault, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets a server backup long term retention vault +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. backupLongTermRetentionVaultName is +// the name of the Azure SQL Server backup LongTermRetention vault +func (client BackupLongTermRetentionVaultsClient) Get(resourceGroupName string, serverName string, backupLongTermRetentionVaultName string) (result BackupLongTermRetentionVault, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, backupLongTermRetentionVaultName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionVaultsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionVaultsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionVaultsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client BackupLongTermRetentionVaultsClient) GetPreparer(resourceGroupName string, serverName string, backupLongTermRetentionVaultName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "backupLongTermRetentionVaultName": autorest.Encode("path", backupLongTermRetentionVaultName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/backupLongTermRetentionVaults/{backupLongTermRetentionVaultName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client BackupLongTermRetentionVaultsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client BackupLongTermRetentionVaultsClient) GetResponder(resp *http.Response) (result BackupLongTermRetentionVault, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/capabilities.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/capabilities.go index ec8aca224..d52f57b6c 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/capabilities.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/capabilities.go @@ -14,9 +14,8 @@ package sql // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,10 +23,9 @@ import ( "net/http" ) -// CapabilitiesClient is the the Azure SQL Database management API provides a -// RESTful set of web services that interact with Azure SQL Database services -// to manage your databases. The API enables you to create, retrieve, update, -// and delete databases. +// CapabilitiesClient is the the Azure SQL Database management API provides a RESTful set of web services that interact +// with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and +// delete databases. type CapabilitiesClient struct { ManagementClient } @@ -37,8 +35,7 @@ func NewCapabilitiesClient(subscriptionID string) CapabilitiesClient { return NewCapabilitiesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewCapabilitiesClientWithBaseURI creates an instance of the -// CapabilitiesClient client. +// NewCapabilitiesClientWithBaseURI creates an instance of the CapabilitiesClient client. func NewCapabilitiesClientWithBaseURI(baseURI string, subscriptionID string) CapabilitiesClient { return CapabilitiesClient{NewWithBaseURI(baseURI, subscriptionID)} } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/client.go index dbc1dfaa2..5970ecf74 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/client.go @@ -1,8 +1,7 @@ // Package sql implements the Azure ARM Sql service API version . // -// The Azure SQL Database management API provides a RESTful set of web services -// that interact with Azure SQL Database services to manage your databases. The -// API enables you to create, retrieve, update, and delete databases. +// The Azure SQL Database management API provides a RESTful set of web services that interact with Azure SQL Database +// services to manage your databases. The API enables you to create, retrieve, update, and delete databases. package sql // Copyright (c) Microsoft and contributors. All rights reserved. @@ -19,9 +18,8 @@ package sql // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/databaseblobauditingpolicies.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/databaseblobauditingpolicies.go new file mode 100644 index 000000000..8f9274f57 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/databaseblobauditingpolicies.go @@ -0,0 +1,183 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// DatabaseBlobAuditingPoliciesClient is the the Azure SQL Database management API provides a RESTful set of web +// services that interact with Azure SQL Database services to manage your databases. The API enables you to create, +// retrieve, update, and delete databases. +type DatabaseBlobAuditingPoliciesClient struct { + ManagementClient +} + +// NewDatabaseBlobAuditingPoliciesClient creates an instance of the DatabaseBlobAuditingPoliciesClient client. +func NewDatabaseBlobAuditingPoliciesClient(subscriptionID string) DatabaseBlobAuditingPoliciesClient { + return NewDatabaseBlobAuditingPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDatabaseBlobAuditingPoliciesClientWithBaseURI creates an instance of the DatabaseBlobAuditingPoliciesClient +// client. +func NewDatabaseBlobAuditingPoliciesClientWithBaseURI(baseURI string, subscriptionID string) DatabaseBlobAuditingPoliciesClient { + return DatabaseBlobAuditingPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a database's blob auditing policy. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database for which the blob auditing policy will be defined. blobAuditingPolicyName is the name of the blob auditing +// policy. parameters is the database blob auditing policy. +func (client DatabaseBlobAuditingPoliciesClient) CreateOrUpdate(resourceGroupName string, serverName string, databaseName string, blobAuditingPolicyName string, parameters DatabaseBlobAuditingPolicy) (result DatabaseBlobAuditingPolicy, err error) { + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, databaseName, blobAuditingPolicyName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseBlobAuditingPoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DatabaseBlobAuditingPoliciesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseBlobAuditingPoliciesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DatabaseBlobAuditingPoliciesClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, databaseName string, blobAuditingPolicyName string, parameters DatabaseBlobAuditingPolicy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "blobAuditingPolicyName": autorest.Encode("path", blobAuditingPolicyName), + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/{blobAuditingPolicyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseBlobAuditingPoliciesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DatabaseBlobAuditingPoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result DatabaseBlobAuditingPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets a database's blob auditing policy. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database for which the blob audit policy is defined. blobAuditingPolicyName is the name of the blob auditing policy. +func (client DatabaseBlobAuditingPoliciesClient) Get(resourceGroupName string, serverName string, databaseName string, blobAuditingPolicyName string) (result DatabaseBlobAuditingPolicy, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, databaseName, blobAuditingPolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseBlobAuditingPoliciesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DatabaseBlobAuditingPoliciesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseBlobAuditingPoliciesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DatabaseBlobAuditingPoliciesClient) GetPreparer(resourceGroupName string, serverName string, databaseName string, blobAuditingPolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "blobAuditingPolicyName": autorest.Encode("path", blobAuditingPolicyName), + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/{blobAuditingPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseBlobAuditingPoliciesClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DatabaseBlobAuditingPoliciesClient) GetResponder(resp *http.Response) (result DatabaseBlobAuditingPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/databaseoperations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/databaseoperations.go new file mode 100644 index 000000000..d0cfc625d --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/databaseoperations.go @@ -0,0 +1,247 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + uuid "github.com/satori/go.uuid" + "net/http" +) + +// DatabaseOperationsClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type DatabaseOperationsClient struct { + ManagementClient +} + +// NewDatabaseOperationsClient creates an instance of the DatabaseOperationsClient client. +func NewDatabaseOperationsClient(subscriptionID string) DatabaseOperationsClient { + return NewDatabaseOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDatabaseOperationsClientWithBaseURI creates an instance of the DatabaseOperationsClient client. +func NewDatabaseOperationsClientWithBaseURI(baseURI string, subscriptionID string) DatabaseOperationsClient { + return DatabaseOperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Cancel cancels the asynchronous operation on the database. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database. operationID is the operation identifier. +func (client DatabaseOperationsClient) Cancel(resourceGroupName string, serverName string, databaseName string, operationID uuid.UUID) (result autorest.Response, err error) { + req, err := client.CancelPreparer(resourceGroupName, serverName, databaseName, operationID) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseOperationsClient", "Cancel", nil, "Failure preparing request") + return + } + + resp, err := client.CancelSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "sql.DatabaseOperationsClient", "Cancel", resp, "Failure sending request") + return + } + + result, err = client.CancelResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseOperationsClient", "Cancel", resp, "Failure responding to request") + } + + return +} + +// CancelPreparer prepares the Cancel request. +func (client DatabaseOperationsClient) CancelPreparer(resourceGroupName string, serverName string, databaseName string, operationID uuid.UUID) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "operationId": autorest.Encode("path", operationID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/operations/{operationId}/cancel", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CancelSender sends the Cancel request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseOperationsClient) CancelSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CancelResponder handles the response to the Cancel request. The method always +// closes the http.Response Body. +func (client DatabaseOperationsClient) CancelResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// ListByDatabase gets a list of operations performed on the database. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database. +func (client DatabaseOperationsClient) ListByDatabase(resourceGroupName string, serverName string, databaseName string) (result DatabaseOperationListResult, err error) { + req, err := client.ListByDatabasePreparer(resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseOperationsClient", "ListByDatabase", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DatabaseOperationsClient", "ListByDatabase", resp, "Failure sending request") + return + } + + result, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseOperationsClient", "ListByDatabase", resp, "Failure responding to request") + } + + return +} + +// ListByDatabasePreparer prepares the ListByDatabase request. +func (client DatabaseOperationsClient) ListByDatabasePreparer(resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/operations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByDatabaseSender sends the ListByDatabase request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseOperationsClient) ListByDatabaseSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByDatabaseResponder handles the response to the ListByDatabase request. The method always +// closes the http.Response Body. +func (client DatabaseOperationsClient) ListByDatabaseResponder(resp *http.Response) (result DatabaseOperationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByDatabaseNextResults retrieves the next set of results, if any. +func (client DatabaseOperationsClient) ListByDatabaseNextResults(lastResults DatabaseOperationListResult) (result DatabaseOperationListResult, err error) { + req, err := lastResults.DatabaseOperationListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.DatabaseOperationsClient", "ListByDatabase", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.DatabaseOperationsClient", "ListByDatabase", resp, "Failure sending next results request") + } + + result, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseOperationsClient", "ListByDatabase", resp, "Failure responding to next results request") + } + + return +} + +// ListByDatabaseComplete gets all elements from the list without paging. +func (client DatabaseOperationsClient) ListByDatabaseComplete(resourceGroupName string, serverName string, databaseName string, cancel <-chan struct{}) (<-chan DatabaseOperation, <-chan error) { + resultChan := make(chan DatabaseOperation) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByDatabase(resourceGroupName, serverName, databaseName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByDatabaseNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/databases.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/databases.go index c0d36034f..39a186f6f 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/databases.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/databases.go @@ -14,9 +14,8 @@ package sql // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,10 +24,9 @@ import ( "net/http" ) -// DatabasesClient is the the Azure SQL Database management API provides a -// RESTful set of web services that interact with Azure SQL Database services -// to manage your databases. The API enables you to create, retrieve, update, -// and delete databases. +// DatabasesClient is the the Azure SQL Database management API provides a RESTful set of web services that interact +// with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and +// delete databases. type DatabasesClient struct { ManagementClient } @@ -38,24 +36,20 @@ func NewDatabasesClient(subscriptionID string) DatabasesClient { return NewDatabasesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewDatabasesClientWithBaseURI creates an instance of the DatabasesClient -// client. +// NewDatabasesClientWithBaseURI creates an instance of the DatabasesClient client. func NewDatabasesClientWithBaseURI(baseURI string, subscriptionID string) DatabasesClient { return DatabasesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateImportOperation creates an import operation that imports a bacpac into -// an existing database. The existing database must be empty. This method may -// poll for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// CreateImportOperation creates an import operation that imports a bacpac into an existing database. The existing +// database must be empty. This method may poll for completion. Polling can be canceled by passing the cancel channel +// argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. databaseName is the name -// of the database to import into parameters is the required parameters for -// importing a Bacpac into a database. -func (client DatabasesClient) CreateImportOperation(resourceGroupName string, serverName string, databaseName string, parameters ImportExtensionRequest, cancel <-chan struct{}) (<-chan ImportExportResponse, <-chan error) { +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database to import into extensionName is the name of the operation to perform parameters is the required parameters +// for importing a Bacpac into a database. +func (client DatabasesClient) CreateImportOperation(resourceGroupName string, serverName string, databaseName string, extensionName string, parameters ImportExtensionRequest, cancel <-chan struct{}) (<-chan ImportExportResponse, <-chan error) { resultChan := make(chan ImportExportResponse, 1) errChan := make(chan error, 1) if err := validation.Validate([]validation.Validation{ @@ -72,12 +66,14 @@ func (client DatabasesClient) CreateImportOperation(resourceGroupName string, se var err error var result ImportExportResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() - req, err := client.CreateImportOperationPreparer(resourceGroupName, serverName, databaseName, parameters, cancel) + req, err := client.CreateImportOperationPreparer(resourceGroupName, serverName, databaseName, extensionName, parameters, cancel) if err != nil { err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "CreateImportOperation", nil, "Failure preparing request") return @@ -99,9 +95,10 @@ func (client DatabasesClient) CreateImportOperation(resourceGroupName string, se } // CreateImportOperationPreparer prepares the CreateImportOperation request. -func (client DatabasesClient) CreateImportOperationPreparer(resourceGroupName string, serverName string, databaseName string, parameters ImportExtensionRequest, cancel <-chan struct{}) (*http.Request, error) { +func (client DatabasesClient) CreateImportOperationPreparer(resourceGroupName string, serverName string, databaseName string, extensionName string, parameters ImportExtensionRequest, cancel <-chan struct{}) (*http.Request, error) { pathParameters := map[string]interface{}{ "databaseName": autorest.Encode("path", databaseName), + "extensionName": autorest.Encode("path", extensionName), "resourceGroupName": autorest.Encode("path", resourceGroupName), "serverName": autorest.Encode("path", serverName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), @@ -116,7 +113,7 @@ func (client DatabasesClient) CreateImportOperationPreparer(resourceGroupName st autorest.AsJSON(), autorest.AsPut(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions/import", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions/{extensionName}", pathParameters), autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{Cancel: cancel}) @@ -143,17 +140,14 @@ func (client DatabasesClient) CreateImportOperationResponder(resp *http.Response return } -// CreateOrUpdate creates a new database or updates an existing database. -// Location is a required property in the request body, and it must be the same -// as the location of the SQL server. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// CreateOrUpdate creates a new database or updates an existing database. This method may poll for completion. Polling +// can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. databaseName is the name -// of the database to be operated on (updated or created). parameters is the -// required parameters for creating or updating a database. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database to be operated on (updated or created). parameters is the required parameters for creating or updating a +// database. func (client DatabasesClient) CreateOrUpdate(resourceGroupName string, serverName string, databaseName string, parameters Database, cancel <-chan struct{}) (<-chan Database, <-chan error) { resultChan := make(chan Database, 1) errChan := make(chan error, 1) @@ -161,8 +155,10 @@ func (client DatabasesClient) CreateOrUpdate(resourceGroupName string, serverNam var err error var result Database defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -232,232 +228,11 @@ func (client DatabasesClient) CreateOrUpdateResponder(resp *http.Response) (resu return } -// CreateOrUpdateBlobAuditingPolicy creates or updates a database's blob -// auditing policy. -// -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. databaseName is the name -// of the database for which database blob audit policy will be defined. -// parameters is the database blob auditing policy. -func (client DatabasesClient) CreateOrUpdateBlobAuditingPolicy(resourceGroupName string, serverName string, databaseName string, parameters DatabaseBlobAuditingPolicy) (result DatabaseBlobAuditingPolicy, err error) { - req, err := client.CreateOrUpdateBlobAuditingPolicyPreparer(resourceGroupName, serverName, databaseName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "CreateOrUpdateBlobAuditingPolicy", nil, "Failure preparing request") - return - } - - resp, err := client.CreateOrUpdateBlobAuditingPolicySender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "CreateOrUpdateBlobAuditingPolicy", resp, "Failure sending request") - return - } - - result, err = client.CreateOrUpdateBlobAuditingPolicyResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "CreateOrUpdateBlobAuditingPolicy", resp, "Failure responding to request") - } - - return -} - -// CreateOrUpdateBlobAuditingPolicyPreparer prepares the CreateOrUpdateBlobAuditingPolicy request. -func (client DatabasesClient) CreateOrUpdateBlobAuditingPolicyPreparer(resourceGroupName string, serverName string, databaseName string, parameters DatabaseBlobAuditingPolicy) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "databaseName": autorest.Encode("path", databaseName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "serverName": autorest.Encode("path", serverName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2015-05-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/default", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// CreateOrUpdateBlobAuditingPolicySender sends the CreateOrUpdateBlobAuditingPolicy request. The method will close the -// http.Response Body if it receives an error. -func (client DatabasesClient) CreateOrUpdateBlobAuditingPolicySender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// CreateOrUpdateBlobAuditingPolicyResponder handles the response to the CreateOrUpdateBlobAuditingPolicy request. The method always -// closes the http.Response Body. -func (client DatabasesClient) CreateOrUpdateBlobAuditingPolicyResponder(resp *http.Response) (result DatabaseBlobAuditingPolicy, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// CreateOrUpdateThreatDetectionPolicy creates or updates a database's threat -// detection policy. -// -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. databaseName is the name -// of the database for which database Threat Detection policy is defined. -// parameters is the database Threat Detection policy. -func (client DatabasesClient) CreateOrUpdateThreatDetectionPolicy(resourceGroupName string, serverName string, databaseName string, parameters DatabaseSecurityAlertPolicy) (result DatabaseSecurityAlertPolicy, err error) { - req, err := client.CreateOrUpdateThreatDetectionPolicyPreparer(resourceGroupName, serverName, databaseName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "CreateOrUpdateThreatDetectionPolicy", nil, "Failure preparing request") - return - } - - resp, err := client.CreateOrUpdateThreatDetectionPolicySender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "CreateOrUpdateThreatDetectionPolicy", resp, "Failure sending request") - return - } - - result, err = client.CreateOrUpdateThreatDetectionPolicyResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "CreateOrUpdateThreatDetectionPolicy", resp, "Failure responding to request") - } - - return -} - -// CreateOrUpdateThreatDetectionPolicyPreparer prepares the CreateOrUpdateThreatDetectionPolicy request. -func (client DatabasesClient) CreateOrUpdateThreatDetectionPolicyPreparer(resourceGroupName string, serverName string, databaseName string, parameters DatabaseSecurityAlertPolicy) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "databaseName": autorest.Encode("path", databaseName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "serverName": autorest.Encode("path", serverName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/default", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// CreateOrUpdateThreatDetectionPolicySender sends the CreateOrUpdateThreatDetectionPolicy request. The method will close the -// http.Response Body if it receives an error. -func (client DatabasesClient) CreateOrUpdateThreatDetectionPolicySender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// CreateOrUpdateThreatDetectionPolicyResponder handles the response to the CreateOrUpdateThreatDetectionPolicy request. The method always -// closes the http.Response Body. -func (client DatabasesClient) CreateOrUpdateThreatDetectionPolicyResponder(resp *http.Response) (result DatabaseSecurityAlertPolicy, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// CreateOrUpdateTransparentDataEncryptionConfiguration creates or updates a -// database's transparent data encryption configuration. -// -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. databaseName is the name -// of the database for which setting the transparent data encryption applies. -// parameters is the required parameters for creating or updating transparent -// data encryption. -func (client DatabasesClient) CreateOrUpdateTransparentDataEncryptionConfiguration(resourceGroupName string, serverName string, databaseName string, parameters TransparentDataEncryption) (result TransparentDataEncryption, err error) { - req, err := client.CreateOrUpdateTransparentDataEncryptionConfigurationPreparer(resourceGroupName, serverName, databaseName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "CreateOrUpdateTransparentDataEncryptionConfiguration", nil, "Failure preparing request") - return - } - - resp, err := client.CreateOrUpdateTransparentDataEncryptionConfigurationSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "CreateOrUpdateTransparentDataEncryptionConfiguration", resp, "Failure sending request") - return - } - - result, err = client.CreateOrUpdateTransparentDataEncryptionConfigurationResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "CreateOrUpdateTransparentDataEncryptionConfiguration", resp, "Failure responding to request") - } - - return -} - -// CreateOrUpdateTransparentDataEncryptionConfigurationPreparer prepares the CreateOrUpdateTransparentDataEncryptionConfiguration request. -func (client DatabasesClient) CreateOrUpdateTransparentDataEncryptionConfigurationPreparer(resourceGroupName string, serverName string, databaseName string, parameters TransparentDataEncryption) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "databaseName": autorest.Encode("path", databaseName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "serverName": autorest.Encode("path", serverName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/current", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// CreateOrUpdateTransparentDataEncryptionConfigurationSender sends the CreateOrUpdateTransparentDataEncryptionConfiguration request. The method will close the -// http.Response Body if it receives an error. -func (client DatabasesClient) CreateOrUpdateTransparentDataEncryptionConfigurationSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// CreateOrUpdateTransparentDataEncryptionConfigurationResponder handles the response to the CreateOrUpdateTransparentDataEncryptionConfiguration request. The method always -// closes the http.Response Body. -func (client DatabasesClient) CreateOrUpdateTransparentDataEncryptionConfigurationResponder(resp *http.Response) (result TransparentDataEncryption, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - // Delete deletes a database. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. databaseName is the name -// of the database to be deleted. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database to be deleted. func (client DatabasesClient) Delete(resourceGroupName string, serverName string, databaseName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, serverName, databaseName) if err != nil { @@ -520,86 +295,12 @@ func (client DatabasesClient) DeleteResponder(resp *http.Response) (result autor return } -// DeleteReplicationLink deletes a database replication link. Cannot be done -// during failover. +// Export exports a database to a bacpac. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. databaseName is the name -// of the database that has the replication link to be dropped. linkID is the -// ID of the replication link to be deleted. -func (client DatabasesClient) DeleteReplicationLink(resourceGroupName string, serverName string, databaseName string, linkID string) (result autorest.Response, err error) { - req, err := client.DeleteReplicationLinkPreparer(resourceGroupName, serverName, databaseName, linkID) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "DeleteReplicationLink", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteReplicationLinkSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "DeleteReplicationLink", resp, "Failure sending request") - return - } - - result, err = client.DeleteReplicationLinkResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "DeleteReplicationLink", resp, "Failure responding to request") - } - - return -} - -// DeleteReplicationLinkPreparer prepares the DeleteReplicationLink request. -func (client DatabasesClient) DeleteReplicationLinkPreparer(resourceGroupName string, serverName string, databaseName string, linkID string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "databaseName": autorest.Encode("path", databaseName), - "linkId": autorest.Encode("path", linkID), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "serverName": autorest.Encode("path", serverName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// DeleteReplicationLinkSender sends the DeleteReplicationLink request. The method will close the -// http.Response Body if it receives an error. -func (client DatabasesClient) DeleteReplicationLinkSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// DeleteReplicationLinkResponder handles the response to the DeleteReplicationLink request. The method always -// closes the http.Response Body. -func (client DatabasesClient) DeleteReplicationLinkResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Export exports a database to a bacpac. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. -// -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. databaseName is the name -// of the database to be exported. parameters is the required parameters for -// exporting a database. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database to be exported. parameters is the required parameters for exporting a database. func (client DatabasesClient) Export(resourceGroupName string, serverName string, databaseName string, parameters ExportRequest, cancel <-chan struct{}) (<-chan ImportExportResponse, <-chan error) { resultChan := make(chan ImportExportResponse, 1) errChan := make(chan error, 1) @@ -619,8 +320,10 @@ func (client DatabasesClient) Export(resourceGroupName string, serverName string var err error var result ImportExportResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -690,188 +393,12 @@ func (client DatabasesClient) ExportResponder(resp *http.Response) (result Impor return } -// FailoverReplicationLink sets which replica database is primary by failing -// over from the current primary replica database. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. -// -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. databaseName is the name -// of the database that has the replication link to be failed over. linkID is -// the ID of the replication link to be failed over. -func (client DatabasesClient) FailoverReplicationLink(resourceGroupName string, serverName string, databaseName string, linkID string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { - resultChan := make(chan autorest.Response, 1) - errChan := make(chan error, 1) - go func() { - var err error - var result autorest.Response - defer func() { - resultChan <- result - errChan <- err - close(resultChan) - close(errChan) - }() - req, err := client.FailoverReplicationLinkPreparer(resourceGroupName, serverName, databaseName, linkID, cancel) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "FailoverReplicationLink", nil, "Failure preparing request") - return - } - - resp, err := client.FailoverReplicationLinkSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "FailoverReplicationLink", resp, "Failure sending request") - return - } - - result, err = client.FailoverReplicationLinkResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "FailoverReplicationLink", resp, "Failure responding to request") - } - }() - return resultChan, errChan -} - -// FailoverReplicationLinkPreparer prepares the FailoverReplicationLink request. -func (client DatabasesClient) FailoverReplicationLinkPreparer(resourceGroupName string, serverName string, databaseName string, linkID string, cancel <-chan struct{}) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "databaseName": autorest.Encode("path", databaseName), - "linkId": autorest.Encode("path", linkID), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "serverName": autorest.Encode("path", serverName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/failover", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{Cancel: cancel}) -} - -// FailoverReplicationLinkSender sends the FailoverReplicationLink request. The method will close the -// http.Response Body if it receives an error. -func (client DatabasesClient) FailoverReplicationLinkSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, - req, - azure.DoPollForAsynchronous(client.PollingDelay)) -} - -// FailoverReplicationLinkResponder handles the response to the FailoverReplicationLink request. The method always -// closes the http.Response Body. -func (client DatabasesClient) FailoverReplicationLinkResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// FailoverReplicationLinkAllowDataLoss sets which replica database is primary -// by failing over from the current primary replica database. This operation -// might result in data loss. This method may poll for completion. Polling can -// be canceled by passing the cancel channel argument. The channel will be used -// to cancel polling and any outstanding HTTP requests. -// -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. databaseName is the name -// of the database that has the replication link to be failed over. linkID is -// the ID of the replication link to be failed over. -func (client DatabasesClient) FailoverReplicationLinkAllowDataLoss(resourceGroupName string, serverName string, databaseName string, linkID string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { - resultChan := make(chan autorest.Response, 1) - errChan := make(chan error, 1) - go func() { - var err error - var result autorest.Response - defer func() { - resultChan <- result - errChan <- err - close(resultChan) - close(errChan) - }() - req, err := client.FailoverReplicationLinkAllowDataLossPreparer(resourceGroupName, serverName, databaseName, linkID, cancel) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "FailoverReplicationLinkAllowDataLoss", nil, "Failure preparing request") - return - } - - resp, err := client.FailoverReplicationLinkAllowDataLossSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "FailoverReplicationLinkAllowDataLoss", resp, "Failure sending request") - return - } - - result, err = client.FailoverReplicationLinkAllowDataLossResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "FailoverReplicationLinkAllowDataLoss", resp, "Failure responding to request") - } - }() - return resultChan, errChan -} - -// FailoverReplicationLinkAllowDataLossPreparer prepares the FailoverReplicationLinkAllowDataLoss request. -func (client DatabasesClient) FailoverReplicationLinkAllowDataLossPreparer(resourceGroupName string, serverName string, databaseName string, linkID string, cancel <-chan struct{}) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "databaseName": autorest.Encode("path", databaseName), - "linkId": autorest.Encode("path", linkID), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "serverName": autorest.Encode("path", serverName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/forceFailoverAllowDataLoss", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{Cancel: cancel}) -} - -// FailoverReplicationLinkAllowDataLossSender sends the FailoverReplicationLinkAllowDataLoss request. The method will close the -// http.Response Body if it receives an error. -func (client DatabasesClient) FailoverReplicationLinkAllowDataLossSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, - req, - azure.DoPollForAsynchronous(client.PollingDelay)) -} - -// FailoverReplicationLinkAllowDataLossResponder handles the response to the FailoverReplicationLinkAllowDataLoss request. The method always -// closes the http.Response Body. -func (client DatabasesClient) FailoverReplicationLinkAllowDataLossResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - // Get gets a database. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. databaseName is the name -// of the database to be retrieved. expand is a comma separated list of child -// objects to expand in the response. Possible properties: serviceTierAdvisors, -// transparentDataEncryption. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database to be retrieved. expand is a comma separated list of child objects to expand in the response. Possible +// properties: serviceTierAdvisors, transparentDataEncryption. func (client DatabasesClient) Get(resourceGroupName string, serverName string, databaseName string, expand string) (result Database, err error) { req, err := client.GetPreparer(resourceGroupName, serverName, databaseName, expand) if err != nil { @@ -938,109 +465,38 @@ func (client DatabasesClient) GetResponder(resp *http.Response) (result Database return } -// GetBlobAuditingPolicy gets a database's blob auditing policy. +// GetByElasticPool gets a database inside of an elastic pool. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. databaseName is the name -// of the database for which database blob audit policy is defined. -func (client DatabasesClient) GetBlobAuditingPolicy(resourceGroupName string, serverName string, databaseName string) (result DatabaseBlobAuditingPolicy, err error) { - req, err := client.GetBlobAuditingPolicyPreparer(resourceGroupName, serverName, databaseName) +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. elasticPoolName is the name of the +// elastic pool to be retrieved. databaseName is the name of the database to be retrieved. +func (client DatabasesClient) GetByElasticPool(resourceGroupName string, serverName string, elasticPoolName string, databaseName string) (result Database, err error) { + req, err := client.GetByElasticPoolPreparer(resourceGroupName, serverName, elasticPoolName, databaseName) if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "GetBlobAuditingPolicy", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "GetByElasticPool", nil, "Failure preparing request") return } - resp, err := client.GetBlobAuditingPolicySender(req) + resp, err := client.GetByElasticPoolSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "GetBlobAuditingPolicy", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "GetByElasticPool", resp, "Failure sending request") return } - result, err = client.GetBlobAuditingPolicyResponder(resp) + result, err = client.GetByElasticPoolResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "GetBlobAuditingPolicy", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "GetByElasticPool", resp, "Failure responding to request") } return } -// GetBlobAuditingPolicyPreparer prepares the GetBlobAuditingPolicy request. -func (client DatabasesClient) GetBlobAuditingPolicyPreparer(resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { +// GetByElasticPoolPreparer prepares the GetByElasticPool request. +func (client DatabasesClient) GetByElasticPoolPreparer(resourceGroupName string, serverName string, elasticPoolName string, databaseName string) (*http.Request, error) { pathParameters := map[string]interface{}{ "databaseName": autorest.Encode("path", databaseName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "serverName": autorest.Encode("path", serverName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2015-05-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/default", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// GetBlobAuditingPolicySender sends the GetBlobAuditingPolicy request. The method will close the -// http.Response Body if it receives an error. -func (client DatabasesClient) GetBlobAuditingPolicySender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// GetBlobAuditingPolicyResponder handles the response to the GetBlobAuditingPolicy request. The method always -// closes the http.Response Body. -func (client DatabasesClient) GetBlobAuditingPolicyResponder(resp *http.Response) (result DatabaseBlobAuditingPolicy, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetReplicationLink gets a database replication link. -// -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. databaseName is the name -// of the database to get the link for. linkID is the replication link ID to be -// retrieved. -func (client DatabasesClient) GetReplicationLink(resourceGroupName string, serverName string, databaseName string, linkID string) (result ReplicationLink, err error) { - req, err := client.GetReplicationLinkPreparer(resourceGroupName, serverName, databaseName, linkID) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "GetReplicationLink", nil, "Failure preparing request") - return - } - - resp, err := client.GetReplicationLinkSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "GetReplicationLink", resp, "Failure sending request") - return - } - - result, err = client.GetReplicationLinkResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "GetReplicationLink", resp, "Failure responding to request") - } - - return -} - -// GetReplicationLinkPreparer prepares the GetReplicationLink request. -func (client DatabasesClient) GetReplicationLinkPreparer(resourceGroupName string, serverName string, databaseName string, linkID string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "databaseName": autorest.Encode("path", databaseName), - "linkId": autorest.Encode("path", linkID), + "elasticPoolName": autorest.Encode("path", elasticPoolName), "resourceGroupName": autorest.Encode("path", resourceGroupName), "serverName": autorest.Encode("path", serverName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), @@ -1054,20 +510,20 @@ func (client DatabasesClient) GetReplicationLinkPreparer(resourceGroupName strin preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases/{databaseName}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } -// GetReplicationLinkSender sends the GetReplicationLink request. The method will close the +// GetByElasticPoolSender sends the GetByElasticPool request. The method will close the // http.Response Body if it receives an error. -func (client DatabasesClient) GetReplicationLinkSender(req *http.Request) (*http.Response, error) { +func (client DatabasesClient) GetByElasticPoolSender(req *http.Request) (*http.Response, error) { return autorest.SendWithSender(client, req) } -// GetReplicationLinkResponder handles the response to the GetReplicationLink request. The method always +// GetByElasticPoolResponder handles the response to the GetByElasticPool request. The method always // closes the http.Response Body. -func (client DatabasesClient) GetReplicationLinkResponder(resp *http.Response) (result ReplicationLink, err error) { +func (client DatabasesClient) GetByElasticPoolResponder(resp *http.Response) (result Database, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -1078,42 +534,41 @@ func (client DatabasesClient) GetReplicationLinkResponder(resp *http.Response) ( return } -// GetServiceTierAdvisor gets a service tier advisor. +// GetByRecommendedElasticPool gets a database inside of a recommented elastic pool. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. databaseName is the name -// of database. serviceTierAdvisorName is the name of service tier advisor. -func (client DatabasesClient) GetServiceTierAdvisor(resourceGroupName string, serverName string, databaseName string, serviceTierAdvisorName string) (result ServiceTierAdvisor, err error) { - req, err := client.GetServiceTierAdvisorPreparer(resourceGroupName, serverName, databaseName, serviceTierAdvisorName) +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. recommendedElasticPoolName is the +// name of the elastic pool to be retrieved. databaseName is the name of the database to be retrieved. +func (client DatabasesClient) GetByRecommendedElasticPool(resourceGroupName string, serverName string, recommendedElasticPoolName string, databaseName string) (result Database, err error) { + req, err := client.GetByRecommendedElasticPoolPreparer(resourceGroupName, serverName, recommendedElasticPoolName, databaseName) if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "GetServiceTierAdvisor", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "GetByRecommendedElasticPool", nil, "Failure preparing request") return } - resp, err := client.GetServiceTierAdvisorSender(req) + resp, err := client.GetByRecommendedElasticPoolSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "GetServiceTierAdvisor", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "GetByRecommendedElasticPool", resp, "Failure sending request") return } - result, err = client.GetServiceTierAdvisorResponder(resp) + result, err = client.GetByRecommendedElasticPoolResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "GetServiceTierAdvisor", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "GetByRecommendedElasticPool", resp, "Failure responding to request") } return } -// GetServiceTierAdvisorPreparer prepares the GetServiceTierAdvisor request. -func (client DatabasesClient) GetServiceTierAdvisorPreparer(resourceGroupName string, serverName string, databaseName string, serviceTierAdvisorName string) (*http.Request, error) { +// GetByRecommendedElasticPoolPreparer prepares the GetByRecommendedElasticPool request. +func (client DatabasesClient) GetByRecommendedElasticPoolPreparer(resourceGroupName string, serverName string, recommendedElasticPoolName string, databaseName string) (*http.Request, error) { pathParameters := map[string]interface{}{ - "databaseName": autorest.Encode("path", databaseName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "serverName": autorest.Encode("path", serverName), - "serviceTierAdvisorName": autorest.Encode("path", serviceTierAdvisorName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "databaseName": autorest.Encode("path", databaseName), + "recommendedElasticPoolName": autorest.Encode("path", recommendedElasticPoolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), } const APIVersion = "2014-04-01" @@ -1124,20 +579,20 @@ func (client DatabasesClient) GetServiceTierAdvisorPreparer(resourceGroupName st preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/serviceTierAdvisors/{serviceTierAdvisorName}", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/databases/{databaseName}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } -// GetServiceTierAdvisorSender sends the GetServiceTierAdvisor request. The method will close the +// GetByRecommendedElasticPoolSender sends the GetByRecommendedElasticPool request. The method will close the // http.Response Body if it receives an error. -func (client DatabasesClient) GetServiceTierAdvisorSender(req *http.Request) (*http.Response, error) { +func (client DatabasesClient) GetByRecommendedElasticPoolSender(req *http.Request) (*http.Response, error) { return autorest.SendWithSender(client, req) } -// GetServiceTierAdvisorResponder handles the response to the GetServiceTierAdvisor request. The method always +// GetByRecommendedElasticPoolResponder handles the response to the GetByRecommendedElasticPool request. The method always // closes the http.Response Body. -func (client DatabasesClient) GetServiceTierAdvisorResponder(resp *http.Response) (result ServiceTierAdvisor, err error) { +func (client DatabasesClient) GetByRecommendedElasticPoolResponder(resp *http.Response) (result Database, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -1148,153 +603,11 @@ func (client DatabasesClient) GetServiceTierAdvisorResponder(resp *http.Response return } -// GetThreatDetectionPolicy gets a database's threat detection policy. +// Import imports a bacpac into a new database. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. databaseName is the name -// of the database for which database Threat Detection policy is defined. -func (client DatabasesClient) GetThreatDetectionPolicy(resourceGroupName string, serverName string, databaseName string) (result DatabaseSecurityAlertPolicy, err error) { - req, err := client.GetThreatDetectionPolicyPreparer(resourceGroupName, serverName, databaseName) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "GetThreatDetectionPolicy", nil, "Failure preparing request") - return - } - - resp, err := client.GetThreatDetectionPolicySender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "GetThreatDetectionPolicy", resp, "Failure sending request") - return - } - - result, err = client.GetThreatDetectionPolicyResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "GetThreatDetectionPolicy", resp, "Failure responding to request") - } - - return -} - -// GetThreatDetectionPolicyPreparer prepares the GetThreatDetectionPolicy request. -func (client DatabasesClient) GetThreatDetectionPolicyPreparer(resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "databaseName": autorest.Encode("path", databaseName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "serverName": autorest.Encode("path", serverName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/default", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// GetThreatDetectionPolicySender sends the GetThreatDetectionPolicy request. The method will close the -// http.Response Body if it receives an error. -func (client DatabasesClient) GetThreatDetectionPolicySender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// GetThreatDetectionPolicyResponder handles the response to the GetThreatDetectionPolicy request. The method always -// closes the http.Response Body. -func (client DatabasesClient) GetThreatDetectionPolicyResponder(resp *http.Response) (result DatabaseSecurityAlertPolicy, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetTransparentDataEncryptionConfiguration gets a database's transparent data -// encryption configuration. -// -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. databaseName is the name -// of the database for which the transparent data encryption applies. -func (client DatabasesClient) GetTransparentDataEncryptionConfiguration(resourceGroupName string, serverName string, databaseName string) (result TransparentDataEncryption, err error) { - req, err := client.GetTransparentDataEncryptionConfigurationPreparer(resourceGroupName, serverName, databaseName) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "GetTransparentDataEncryptionConfiguration", nil, "Failure preparing request") - return - } - - resp, err := client.GetTransparentDataEncryptionConfigurationSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "GetTransparentDataEncryptionConfiguration", resp, "Failure sending request") - return - } - - result, err = client.GetTransparentDataEncryptionConfigurationResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "GetTransparentDataEncryptionConfiguration", resp, "Failure responding to request") - } - - return -} - -// GetTransparentDataEncryptionConfigurationPreparer prepares the GetTransparentDataEncryptionConfiguration request. -func (client DatabasesClient) GetTransparentDataEncryptionConfigurationPreparer(resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "databaseName": autorest.Encode("path", databaseName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "serverName": autorest.Encode("path", serverName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/current", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// GetTransparentDataEncryptionConfigurationSender sends the GetTransparentDataEncryptionConfiguration request. The method will close the -// http.Response Body if it receives an error. -func (client DatabasesClient) GetTransparentDataEncryptionConfigurationSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// GetTransparentDataEncryptionConfigurationResponder handles the response to the GetTransparentDataEncryptionConfiguration request. The method always -// closes the http.Response Body. -func (client DatabasesClient) GetTransparentDataEncryptionConfigurationResponder(resp *http.Response) (result TransparentDataEncryption, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Import imports a bacpac into a new database. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. -// -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. parameters is the required +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. parameters is the required // parameters for importing a Bacpac into a database. func (client DatabasesClient) Import(resourceGroupName string, serverName string, parameters ImportRequest, cancel <-chan struct{}) (<-chan ImportExportResponse, <-chan error) { resultChan := make(chan ImportExportResponse, 1) @@ -1313,8 +626,10 @@ func (client DatabasesClient) Import(resourceGroupName string, serverName string var err error var result ImportExportResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -1376,7 +691,143 @@ func (client DatabasesClient) ImportResponder(resp *http.Response) (result Impor err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByElasticPool returns a list of databases in an elastic pool. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. elasticPoolName is the name of the +// elastic pool to be retrieved. +func (client DatabasesClient) ListByElasticPool(resourceGroupName string, serverName string, elasticPoolName string) (result DatabaseListResult, err error) { + req, err := client.ListByElasticPoolPreparer(resourceGroupName, serverName, elasticPoolName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListByElasticPool", nil, "Failure preparing request") + return + } + + resp, err := client.ListByElasticPoolSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListByElasticPool", resp, "Failure sending request") + return + } + + result, err = client.ListByElasticPoolResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListByElasticPool", resp, "Failure responding to request") + } + + return +} + +// ListByElasticPoolPreparer prepares the ListByElasticPool request. +func (client DatabasesClient) ListByElasticPoolPreparer(resourceGroupName string, serverName string, elasticPoolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "elasticPoolName": autorest.Encode("path", elasticPoolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByElasticPoolSender sends the ListByElasticPool request. The method will close the +// http.Response Body if it receives an error. +func (client DatabasesClient) ListByElasticPoolSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByElasticPoolResponder handles the response to the ListByElasticPool request. The method always +// closes the http.Response Body. +func (client DatabasesClient) ListByElasticPoolResponder(resp *http.Response) (result DatabaseListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByRecommendedElasticPool returns a list of databases inside a recommented elastic pool. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. recommendedElasticPoolName is the +// name of the recommended elastic pool to be retrieved. +func (client DatabasesClient) ListByRecommendedElasticPool(resourceGroupName string, serverName string, recommendedElasticPoolName string) (result DatabaseListResult, err error) { + req, err := client.ListByRecommendedElasticPoolPreparer(resourceGroupName, serverName, recommendedElasticPoolName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListByRecommendedElasticPool", nil, "Failure preparing request") + return + } + + resp, err := client.ListByRecommendedElasticPoolSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListByRecommendedElasticPool", resp, "Failure sending request") + return + } + + result, err = client.ListByRecommendedElasticPoolResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListByRecommendedElasticPool", resp, "Failure responding to request") + } + + return +} + +// ListByRecommendedElasticPoolPreparer prepares the ListByRecommendedElasticPool request. +func (client DatabasesClient) ListByRecommendedElasticPoolPreparer(resourceGroupName string, serverName string, recommendedElasticPoolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "recommendedElasticPoolName": autorest.Encode("path", recommendedElasticPoolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/databases", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByRecommendedElasticPoolSender sends the ListByRecommendedElasticPool request. The method will close the +// http.Response Body if it receives an error. +func (client DatabasesClient) ListByRecommendedElasticPoolSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByRecommendedElasticPoolResponder handles the response to the ListByRecommendedElasticPool request. The method always +// closes the http.Response Body. +func (client DatabasesClient) ListByRecommendedElasticPoolResponder(resp *http.Response) (result DatabaseListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} @@ -1385,12 +836,10 @@ func (client DatabasesClient) ImportResponder(resp *http.Response) (result Impor // ListByServer returns a list of databases in a server. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. expand is a comma -// separated list of child objects to expand in the response. Possible -// properties: serviceTierAdvisors, transparentDataEncryption. filter is an -// OData filter expression that describes a subset of databases to return. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. expand is a comma separated list of +// child objects to expand in the response. Possible properties: serviceTierAdvisors, transparentDataEncryption. filter +// is an OData filter expression that describes a subset of databases to return. func (client DatabasesClient) ListByServer(resourceGroupName string, serverName string, expand string, filter string) (result DatabaseListResult, err error) { req, err := client.ListByServerPreparer(resourceGroupName, serverName, expand, filter) if err != nil { @@ -1459,175 +908,35 @@ func (client DatabasesClient) ListByServerResponder(resp *http.Response) (result return } -// ListReplicationLinks lists a database's replication links. +// ListMetricDefinitions returns database metric definitions. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. databaseName is the name -// of the database to retrieve links for. -func (client DatabasesClient) ListReplicationLinks(resourceGroupName string, serverName string, databaseName string) (result ReplicationLinkListResult, err error) { - req, err := client.ListReplicationLinksPreparer(resourceGroupName, serverName, databaseName) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListReplicationLinks", nil, "Failure preparing request") - return - } - - resp, err := client.ListReplicationLinksSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListReplicationLinks", resp, "Failure sending request") - return - } - - result, err = client.ListReplicationLinksResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListReplicationLinks", resp, "Failure responding to request") - } - - return -} - -// ListReplicationLinksPreparer prepares the ListReplicationLinks request. -func (client DatabasesClient) ListReplicationLinksPreparer(resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "databaseName": autorest.Encode("path", databaseName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "serverName": autorest.Encode("path", serverName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// ListReplicationLinksSender sends the ListReplicationLinks request. The method will close the -// http.Response Body if it receives an error. -func (client DatabasesClient) ListReplicationLinksSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// ListReplicationLinksResponder handles the response to the ListReplicationLinks request. The method always -// closes the http.Response Body. -func (client DatabasesClient) ListReplicationLinksResponder(resp *http.Response) (result ReplicationLinkListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListRestorePoints returns a list of database restore points. -// -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. databaseName is the name -// of the database from which to retrieve available restore points. -func (client DatabasesClient) ListRestorePoints(resourceGroupName string, serverName string, databaseName string) (result RestorePointListResult, err error) { - req, err := client.ListRestorePointsPreparer(resourceGroupName, serverName, databaseName) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListRestorePoints", nil, "Failure preparing request") - return - } - - resp, err := client.ListRestorePointsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListRestorePoints", resp, "Failure sending request") - return - } - - result, err = client.ListRestorePointsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListRestorePoints", resp, "Failure responding to request") - } - - return -} - -// ListRestorePointsPreparer prepares the ListRestorePoints request. -func (client DatabasesClient) ListRestorePointsPreparer(resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "databaseName": autorest.Encode("path", databaseName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "serverName": autorest.Encode("path", serverName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// ListRestorePointsSender sends the ListRestorePoints request. The method will close the -// http.Response Body if it receives an error. -func (client DatabasesClient) ListRestorePointsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// ListRestorePointsResponder handles the response to the ListRestorePoints request. The method always -// closes the http.Response Body. -func (client DatabasesClient) ListRestorePointsResponder(resp *http.Response) (result RestorePointListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListServiceTierAdvisors returns service tier advisors for specified +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the // database. -// -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. databaseName is the name -// of database. -func (client DatabasesClient) ListServiceTierAdvisors(resourceGroupName string, serverName string, databaseName string) (result ServiceTierAdvisorListResult, err error) { - req, err := client.ListServiceTierAdvisorsPreparer(resourceGroupName, serverName, databaseName) +func (client DatabasesClient) ListMetricDefinitions(resourceGroupName string, serverName string, databaseName string) (result MetricDefinitionListResult, err error) { + req, err := client.ListMetricDefinitionsPreparer(resourceGroupName, serverName, databaseName) if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListServiceTierAdvisors", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListMetricDefinitions", nil, "Failure preparing request") return } - resp, err := client.ListServiceTierAdvisorsSender(req) + resp, err := client.ListMetricDefinitionsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListServiceTierAdvisors", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListMetricDefinitions", resp, "Failure sending request") return } - result, err = client.ListServiceTierAdvisorsResponder(resp) + result, err = client.ListMetricDefinitionsResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListServiceTierAdvisors", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListMetricDefinitions", resp, "Failure responding to request") } return } -// ListServiceTierAdvisorsPreparer prepares the ListServiceTierAdvisors request. -func (client DatabasesClient) ListServiceTierAdvisorsPreparer(resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { +// ListMetricDefinitionsPreparer prepares the ListMetricDefinitions request. +func (client DatabasesClient) ListMetricDefinitionsPreparer(resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { pathParameters := map[string]interface{}{ "databaseName": autorest.Encode("path", databaseName), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -1643,20 +952,20 @@ func (client DatabasesClient) ListServiceTierAdvisorsPreparer(resourceGroupName preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/serviceTierAdvisors", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metricDefinitions", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } -// ListServiceTierAdvisorsSender sends the ListServiceTierAdvisors request. The method will close the +// ListMetricDefinitionsSender sends the ListMetricDefinitions request. The method will close the // http.Response Body if it receives an error. -func (client DatabasesClient) ListServiceTierAdvisorsSender(req *http.Request) (*http.Response, error) { +func (client DatabasesClient) ListMetricDefinitionsSender(req *http.Request) (*http.Response, error) { return autorest.SendWithSender(client, req) } -// ListServiceTierAdvisorsResponder handles the response to the ListServiceTierAdvisors request. The method always +// ListMetricDefinitionsResponder handles the response to the ListMetricDefinitions request. The method always // closes the http.Response Body. -func (client DatabasesClient) ListServiceTierAdvisorsResponder(resp *http.Response) (result ServiceTierAdvisorListResult, err error) { +func (client DatabasesClient) ListMetricDefinitionsResponder(resp *http.Response) (result MetricDefinitionListResult, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -1667,37 +976,35 @@ func (client DatabasesClient) ListServiceTierAdvisorsResponder(resp *http.Respon return } -// ListTransparentDataEncryptionActivity returns a database's transparent data -// encryption operation result. +// ListMetrics returns database metrics. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. databaseName is the name -// of the database for which the transparent data encryption applies. -func (client DatabasesClient) ListTransparentDataEncryptionActivity(resourceGroupName string, serverName string, databaseName string) (result TransparentDataEncryptionActivityListResult, err error) { - req, err := client.ListTransparentDataEncryptionActivityPreparer(resourceGroupName, serverName, databaseName) +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database. filter is an OData filter expression that describes a subset of metrics to return. +func (client DatabasesClient) ListMetrics(resourceGroupName string, serverName string, databaseName string, filter string) (result MetricListResult, err error) { + req, err := client.ListMetricsPreparer(resourceGroupName, serverName, databaseName, filter) if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListTransparentDataEncryptionActivity", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListMetrics", nil, "Failure preparing request") return } - resp, err := client.ListTransparentDataEncryptionActivitySender(req) + resp, err := client.ListMetricsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListTransparentDataEncryptionActivity", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListMetrics", resp, "Failure sending request") return } - result, err = client.ListTransparentDataEncryptionActivityResponder(resp) + result, err = client.ListMetricsResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListTransparentDataEncryptionActivity", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListMetrics", resp, "Failure responding to request") } return } -// ListTransparentDataEncryptionActivityPreparer prepares the ListTransparentDataEncryptionActivity request. -func (client DatabasesClient) ListTransparentDataEncryptionActivityPreparer(resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { +// ListMetricsPreparer prepares the ListMetrics request. +func (client DatabasesClient) ListMetricsPreparer(resourceGroupName string, serverName string, databaseName string, filter string) (*http.Request, error) { pathParameters := map[string]interface{}{ "databaseName": autorest.Encode("path", databaseName), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -1707,26 +1014,27 @@ func (client DatabasesClient) ListTransparentDataEncryptionActivityPreparer(reso const APIVersion = "2014-04-01" queryParameters := map[string]interface{}{ + "$filter": autorest.Encode("query", filter), "api-version": APIVersion, } preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/current/operationResults", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metrics", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } -// ListTransparentDataEncryptionActivitySender sends the ListTransparentDataEncryptionActivity request. The method will close the +// ListMetricsSender sends the ListMetrics request. The method will close the // http.Response Body if it receives an error. -func (client DatabasesClient) ListTransparentDataEncryptionActivitySender(req *http.Request) (*http.Response, error) { +func (client DatabasesClient) ListMetricsSender(req *http.Request) (*http.Response, error) { return autorest.SendWithSender(client, req) } -// ListTransparentDataEncryptionActivityResponder handles the response to the ListTransparentDataEncryptionActivity request. The method always +// ListMetricsResponder handles the response to the ListMetrics request. The method always // closes the http.Response Body. -func (client DatabasesClient) ListTransparentDataEncryptionActivityResponder(resp *http.Response) (result TransparentDataEncryptionActivityListResult, err error) { +func (client DatabasesClient) ListMetricsResponder(resp *http.Response) (result MetricListResult, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -1737,83 +1045,12 @@ func (client DatabasesClient) ListTransparentDataEncryptionActivityResponder(res return } -// ListUsages returns database usages. +// Pause pauses a data warehouse. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. databaseName is the name -// of the database. -func (client DatabasesClient) ListUsages(resourceGroupName string, serverName string, databaseName string) (result DatabaseMetricListResult, err error) { - req, err := client.ListUsagesPreparer(resourceGroupName, serverName, databaseName) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListUsages", nil, "Failure preparing request") - return - } - - resp, err := client.ListUsagesSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListUsages", resp, "Failure sending request") - return - } - - result, err = client.ListUsagesResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListUsages", resp, "Failure responding to request") - } - - return -} - -// ListUsagesPreparer prepares the ListUsages request. -func (client DatabasesClient) ListUsagesPreparer(resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "databaseName": autorest.Encode("path", databaseName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "serverName": autorest.Encode("path", serverName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/usages", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// ListUsagesSender sends the ListUsages request. The method will close the -// http.Response Body if it receives an error. -func (client DatabasesClient) ListUsagesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// ListUsagesResponder handles the response to the ListUsages request. The method always -// closes the http.Response Body. -func (client DatabasesClient) ListUsagesResponder(resp *http.Response) (result DatabaseMetricListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Pause pauses a data warehouse. This method may poll for completion. Polling -// can be canceled by passing the cancel channel argument. The channel will be -// used to cancel polling and any outstanding HTTP requests. -// -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. databaseName is the name -// of the data warehouse to pause. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the data +// warehouse to pause. func (client DatabasesClient) Pause(resourceGroupName string, serverName string, databaseName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -1821,8 +1058,10 @@ func (client DatabasesClient) Pause(resourceGroupName string, serverName string, var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -1889,14 +1128,12 @@ func (client DatabasesClient) PauseResponder(resp *http.Response) (result autore return } -// Resume resumes a data warehouse. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// Resume resumes a data warehouse. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. databaseName is the name -// of the data warehouse to resume. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the data +// warehouse to resume. func (client DatabasesClient) Resume(resourceGroupName string, serverName string, databaseName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -1904,8 +1141,10 @@ func (client DatabasesClient) Resume(resourceGroupName string, serverName string var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -1971,3 +1210,89 @@ func (client DatabasesClient) ResumeResponder(resp *http.Response) (result autor result.Response = resp return } + +// Update updates an existing database. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database to be updated. parameters is the required parameters for updating a database. +func (client DatabasesClient) Update(resourceGroupName string, serverName string, databaseName string, parameters DatabaseUpdate, cancel <-chan struct{}) (<-chan Database, <-chan error) { + resultChan := make(chan Database, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result Database + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.UpdatePreparer(resourceGroupName, serverName, databaseName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "Update", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// UpdatePreparer prepares the Update request. +func (client DatabasesClient) UpdatePreparer(resourceGroupName string, serverName string, databaseName string, parameters DatabaseUpdate, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client DatabasesClient) UpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client DatabasesClient) UpdateResponder(resp *http.Response) (result Database, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/databasethreatdetectionpolicies.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/databasethreatdetectionpolicies.go new file mode 100644 index 000000000..740496449 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/databasethreatdetectionpolicies.go @@ -0,0 +1,184 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// DatabaseThreatDetectionPoliciesClient is the the Azure SQL Database management API provides a RESTful set of web +// services that interact with Azure SQL Database services to manage your databases. The API enables you to create, +// retrieve, update, and delete databases. +type DatabaseThreatDetectionPoliciesClient struct { + ManagementClient +} + +// NewDatabaseThreatDetectionPoliciesClient creates an instance of the DatabaseThreatDetectionPoliciesClient client. +func NewDatabaseThreatDetectionPoliciesClient(subscriptionID string) DatabaseThreatDetectionPoliciesClient { + return NewDatabaseThreatDetectionPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDatabaseThreatDetectionPoliciesClientWithBaseURI creates an instance of the DatabaseThreatDetectionPoliciesClient +// client. +func NewDatabaseThreatDetectionPoliciesClientWithBaseURI(baseURI string, subscriptionID string) DatabaseThreatDetectionPoliciesClient { + return DatabaseThreatDetectionPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a database's threat detection policy. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database for which database Threat Detection policy is defined. securityAlertPolicyName is the name of the security +// alert policy. parameters is the database Threat Detection policy. +func (client DatabaseThreatDetectionPoliciesClient) CreateOrUpdate(resourceGroupName string, serverName string, databaseName string, securityAlertPolicyName string, parameters DatabaseSecurityAlertPolicy) (result DatabaseSecurityAlertPolicy, err error) { + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, databaseName, securityAlertPolicyName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseThreatDetectionPoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DatabaseThreatDetectionPoliciesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseThreatDetectionPoliciesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DatabaseThreatDetectionPoliciesClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, databaseName string, securityAlertPolicyName string, parameters DatabaseSecurityAlertPolicy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "securityAlertPolicyName": autorest.Encode("path", securityAlertPolicyName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/{securityAlertPolicyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseThreatDetectionPoliciesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DatabaseThreatDetectionPoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result DatabaseSecurityAlertPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets a database's threat detection policy. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database for which database Threat Detection policy is defined. securityAlertPolicyName is the name of the security +// alert policy. +func (client DatabaseThreatDetectionPoliciesClient) Get(resourceGroupName string, serverName string, databaseName string, securityAlertPolicyName string) (result DatabaseSecurityAlertPolicy, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, databaseName, securityAlertPolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseThreatDetectionPoliciesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DatabaseThreatDetectionPoliciesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseThreatDetectionPoliciesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DatabaseThreatDetectionPoliciesClient) GetPreparer(resourceGroupName string, serverName string, databaseName string, securityAlertPolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "securityAlertPolicyName": autorest.Encode("path", securityAlertPolicyName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/{securityAlertPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseThreatDetectionPoliciesClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DatabaseThreatDetectionPoliciesClient) GetResponder(resp *http.Response) (result DatabaseSecurityAlertPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/databaseusages.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/databaseusages.go new file mode 100644 index 000000000..291743404 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/databaseusages.go @@ -0,0 +1,109 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// DatabaseUsagesClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type DatabaseUsagesClient struct { + ManagementClient +} + +// NewDatabaseUsagesClient creates an instance of the DatabaseUsagesClient client. +func NewDatabaseUsagesClient(subscriptionID string) DatabaseUsagesClient { + return NewDatabaseUsagesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDatabaseUsagesClientWithBaseURI creates an instance of the DatabaseUsagesClient client. +func NewDatabaseUsagesClientWithBaseURI(baseURI string, subscriptionID string) DatabaseUsagesClient { + return DatabaseUsagesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListByDatabase returns database usages. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database. +func (client DatabaseUsagesClient) ListByDatabase(resourceGroupName string, serverName string, databaseName string) (result DatabaseUsageListResult, err error) { + req, err := client.ListByDatabasePreparer(resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseUsagesClient", "ListByDatabase", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DatabaseUsagesClient", "ListByDatabase", resp, "Failure sending request") + return + } + + result, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseUsagesClient", "ListByDatabase", resp, "Failure responding to request") + } + + return +} + +// ListByDatabasePreparer prepares the ListByDatabase request. +func (client DatabaseUsagesClient) ListByDatabasePreparer(resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/usages", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByDatabaseSender sends the ListByDatabase request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseUsagesClient) ListByDatabaseSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByDatabaseResponder handles the response to the ListByDatabase request. The method always +// closes the http.Response Body. +func (client DatabaseUsagesClient) ListByDatabaseResponder(resp *http.Response) (result DatabaseUsageListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/datamaskingpolicies.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/datamaskingpolicies.go new file mode 100644 index 000000000..bbc49c66a --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/datamaskingpolicies.go @@ -0,0 +1,182 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// DataMaskingPoliciesClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type DataMaskingPoliciesClient struct { + ManagementClient +} + +// NewDataMaskingPoliciesClient creates an instance of the DataMaskingPoliciesClient client. +func NewDataMaskingPoliciesClient(subscriptionID string) DataMaskingPoliciesClient { + return NewDataMaskingPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDataMaskingPoliciesClientWithBaseURI creates an instance of the DataMaskingPoliciesClient client. +func NewDataMaskingPoliciesClientWithBaseURI(baseURI string, subscriptionID string) DataMaskingPoliciesClient { + return DataMaskingPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a database data masking policy +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database. dataMaskingPolicyName is the name of the database for which the data masking rule applies. parameters is +// parameters for creating or updating a data masking policy. +func (client DataMaskingPoliciesClient) CreateOrUpdate(resourceGroupName string, serverName string, databaseName string, dataMaskingPolicyName string, parameters DataMaskingPolicy) (result DataMaskingPolicy, err error) { + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, databaseName, dataMaskingPolicyName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DataMaskingPoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DataMaskingPoliciesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DataMaskingPoliciesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DataMaskingPoliciesClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, databaseName string, dataMaskingPolicyName string, parameters DataMaskingPolicy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "dataMaskingPolicyName": autorest.Encode("path", dataMaskingPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DataMaskingPoliciesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DataMaskingPoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result DataMaskingPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets a database data masking policy. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database. dataMaskingPolicyName is the name of the database for which the data masking rule applies. +func (client DataMaskingPoliciesClient) Get(resourceGroupName string, serverName string, databaseName string, dataMaskingPolicyName string) (result DataMaskingPolicy, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, databaseName, dataMaskingPolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DataMaskingPoliciesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DataMaskingPoliciesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DataMaskingPoliciesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DataMaskingPoliciesClient) GetPreparer(resourceGroupName string, serverName string, databaseName string, dataMaskingPolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "dataMaskingPolicyName": autorest.Encode("path", dataMaskingPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DataMaskingPoliciesClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DataMaskingPoliciesClient) GetResponder(resp *http.Response) (result DataMaskingPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/datamaskingrules.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/datamaskingrules.go new file mode 100644 index 000000000..c04dff8de --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/datamaskingrules.go @@ -0,0 +1,195 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// DataMaskingRulesClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type DataMaskingRulesClient struct { + ManagementClient +} + +// NewDataMaskingRulesClient creates an instance of the DataMaskingRulesClient client. +func NewDataMaskingRulesClient(subscriptionID string) DataMaskingRulesClient { + return NewDataMaskingRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDataMaskingRulesClientWithBaseURI creates an instance of the DataMaskingRulesClient client. +func NewDataMaskingRulesClientWithBaseURI(baseURI string, subscriptionID string) DataMaskingRulesClient { + return DataMaskingRulesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a database data masking rule. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database. dataMaskingPolicyName is the name of the database for which the data masking rule applies. +// dataMaskingRuleName is the name of the data masking rule. parameters is the required parameters for creating or +// updating a data masking rule. +func (client DataMaskingRulesClient) CreateOrUpdate(resourceGroupName string, serverName string, databaseName string, dataMaskingPolicyName string, dataMaskingRuleName string, parameters DataMaskingRule) (result DataMaskingRule, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.DataMaskingRuleProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.DataMaskingRuleProperties.SchemaName", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.DataMaskingRuleProperties.TableName", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.DataMaskingRuleProperties.ColumnName", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "sql.DataMaskingRulesClient", "CreateOrUpdate") + } + + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, databaseName, dataMaskingPolicyName, dataMaskingRuleName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DataMaskingRulesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DataMaskingRulesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DataMaskingRulesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DataMaskingRulesClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, databaseName string, dataMaskingPolicyName string, dataMaskingRuleName string, parameters DataMaskingRule) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "dataMaskingPolicyName": autorest.Encode("path", dataMaskingPolicyName), + "dataMaskingRuleName": autorest.Encode("path", dataMaskingRuleName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}/rules/{dataMaskingRuleName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DataMaskingRulesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DataMaskingRulesClient) CreateOrUpdateResponder(resp *http.Response) (result DataMaskingRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByDatabase gets a list of database data masking rules. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database. dataMaskingPolicyName is the name of the database for which the data masking rule applies. +func (client DataMaskingRulesClient) ListByDatabase(resourceGroupName string, serverName string, databaseName string, dataMaskingPolicyName string) (result DataMaskingRuleListResult, err error) { + req, err := client.ListByDatabasePreparer(resourceGroupName, serverName, databaseName, dataMaskingPolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DataMaskingRulesClient", "ListByDatabase", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DataMaskingRulesClient", "ListByDatabase", resp, "Failure sending request") + return + } + + result, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DataMaskingRulesClient", "ListByDatabase", resp, "Failure responding to request") + } + + return +} + +// ListByDatabasePreparer prepares the ListByDatabase request. +func (client DataMaskingRulesClient) ListByDatabasePreparer(resourceGroupName string, serverName string, databaseName string, dataMaskingPolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "dataMaskingPolicyName": autorest.Encode("path", dataMaskingPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}/rules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByDatabaseSender sends the ListByDatabase request. The method will close the +// http.Response Body if it receives an error. +func (client DataMaskingRulesClient) ListByDatabaseSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByDatabaseResponder handles the response to the ListByDatabase request. The method always +// closes the http.Response Body. +func (client DataMaskingRulesClient) ListByDatabaseResponder(resp *http.Response) (result DataMaskingRuleListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/elasticpoolactivities.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/elasticpoolactivities.go new file mode 100644 index 000000000..ef21f85fc --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/elasticpoolactivities.go @@ -0,0 +1,109 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// ElasticPoolActivitiesClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type ElasticPoolActivitiesClient struct { + ManagementClient +} + +// NewElasticPoolActivitiesClient creates an instance of the ElasticPoolActivitiesClient client. +func NewElasticPoolActivitiesClient(subscriptionID string) ElasticPoolActivitiesClient { + return NewElasticPoolActivitiesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewElasticPoolActivitiesClientWithBaseURI creates an instance of the ElasticPoolActivitiesClient client. +func NewElasticPoolActivitiesClientWithBaseURI(baseURI string, subscriptionID string) ElasticPoolActivitiesClient { + return ElasticPoolActivitiesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListByElasticPool returns elastic pool activities. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. elasticPoolName is the name of the +// elastic pool for which to get the current activity. +func (client ElasticPoolActivitiesClient) ListByElasticPool(resourceGroupName string, serverName string, elasticPoolName string) (result ElasticPoolActivityListResult, err error) { + req, err := client.ListByElasticPoolPreparer(resourceGroupName, serverName, elasticPoolName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ElasticPoolActivitiesClient", "ListByElasticPool", nil, "Failure preparing request") + return + } + + resp, err := client.ListByElasticPoolSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ElasticPoolActivitiesClient", "ListByElasticPool", resp, "Failure sending request") + return + } + + result, err = client.ListByElasticPoolResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ElasticPoolActivitiesClient", "ListByElasticPool", resp, "Failure responding to request") + } + + return +} + +// ListByElasticPoolPreparer prepares the ListByElasticPool request. +func (client ElasticPoolActivitiesClient) ListByElasticPoolPreparer(resourceGroupName string, serverName string, elasticPoolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "elasticPoolName": autorest.Encode("path", elasticPoolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/elasticPoolActivity", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByElasticPoolSender sends the ListByElasticPool request. The method will close the +// http.Response Body if it receives an error. +func (client ElasticPoolActivitiesClient) ListByElasticPoolSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByElasticPoolResponder handles the response to the ListByElasticPool request. The method always +// closes the http.Response Body. +func (client ElasticPoolActivitiesClient) ListByElasticPoolResponder(resp *http.Response) (result ElasticPoolActivityListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/elasticpooldatabaseactivities.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/elasticpooldatabaseactivities.go new file mode 100644 index 000000000..534a3b8d5 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/elasticpooldatabaseactivities.go @@ -0,0 +1,110 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// ElasticPoolDatabaseActivitiesClient is the the Azure SQL Database management API provides a RESTful set of web +// services that interact with Azure SQL Database services to manage your databases. The API enables you to create, +// retrieve, update, and delete databases. +type ElasticPoolDatabaseActivitiesClient struct { + ManagementClient +} + +// NewElasticPoolDatabaseActivitiesClient creates an instance of the ElasticPoolDatabaseActivitiesClient client. +func NewElasticPoolDatabaseActivitiesClient(subscriptionID string) ElasticPoolDatabaseActivitiesClient { + return NewElasticPoolDatabaseActivitiesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewElasticPoolDatabaseActivitiesClientWithBaseURI creates an instance of the ElasticPoolDatabaseActivitiesClient +// client. +func NewElasticPoolDatabaseActivitiesClientWithBaseURI(baseURI string, subscriptionID string) ElasticPoolDatabaseActivitiesClient { + return ElasticPoolDatabaseActivitiesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListByElasticPool returns activity on databases inside of an elastic pool. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. elasticPoolName is the name of the +// elastic pool. +func (client ElasticPoolDatabaseActivitiesClient) ListByElasticPool(resourceGroupName string, serverName string, elasticPoolName string) (result ElasticPoolDatabaseActivityListResult, err error) { + req, err := client.ListByElasticPoolPreparer(resourceGroupName, serverName, elasticPoolName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ElasticPoolDatabaseActivitiesClient", "ListByElasticPool", nil, "Failure preparing request") + return + } + + resp, err := client.ListByElasticPoolSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ElasticPoolDatabaseActivitiesClient", "ListByElasticPool", resp, "Failure sending request") + return + } + + result, err = client.ListByElasticPoolResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ElasticPoolDatabaseActivitiesClient", "ListByElasticPool", resp, "Failure responding to request") + } + + return +} + +// ListByElasticPoolPreparer prepares the ListByElasticPool request. +func (client ElasticPoolDatabaseActivitiesClient) ListByElasticPoolPreparer(resourceGroupName string, serverName string, elasticPoolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "elasticPoolName": autorest.Encode("path", elasticPoolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/elasticPoolDatabaseActivity", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByElasticPoolSender sends the ListByElasticPool request. The method will close the +// http.Response Body if it receives an error. +func (client ElasticPoolDatabaseActivitiesClient) ListByElasticPoolSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByElasticPoolResponder handles the response to the ListByElasticPool request. The method always +// closes the http.Response Body. +func (client ElasticPoolDatabaseActivitiesClient) ListByElasticPoolResponder(resp *http.Response) (result ElasticPoolDatabaseActivityListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/elasticpools.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/elasticpools.go index e195ada6b..f000afdf3 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/elasticpools.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/elasticpools.go @@ -14,9 +14,8 @@ package sql // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,10 +23,9 @@ import ( "net/http" ) -// ElasticPoolsClient is the the Azure SQL Database management API provides a -// RESTful set of web services that interact with Azure SQL Database services -// to manage your databases. The API enables you to create, retrieve, update, -// and delete databases. +// ElasticPoolsClient is the the Azure SQL Database management API provides a RESTful set of web services that interact +// with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and +// delete databases. type ElasticPoolsClient struct { ManagementClient } @@ -37,22 +35,19 @@ func NewElasticPoolsClient(subscriptionID string) ElasticPoolsClient { return NewElasticPoolsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewElasticPoolsClientWithBaseURI creates an instance of the -// ElasticPoolsClient client. +// NewElasticPoolsClientWithBaseURI creates an instance of the ElasticPoolsClient client. func NewElasticPoolsClientWithBaseURI(baseURI string, subscriptionID string) ElasticPoolsClient { return ElasticPoolsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates a new elastic pool or updates an existing elastic -// pool. This method may poll for completion. Polling can be canceled by -// passing the cancel channel argument. The channel will be used to cancel -// polling and any outstanding HTTP requests. +// CreateOrUpdate creates a new elastic pool or updates an existing elastic pool. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. elasticPoolName is the -// name of the elastic pool to be operated on (updated or created). parameters -// is the required parameters for creating or updating an elastic pool. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. elasticPoolName is the name of the +// elastic pool to be operated on (updated or created). parameters is the required parameters for creating or updating +// an elastic pool. func (client ElasticPoolsClient) CreateOrUpdate(resourceGroupName string, serverName string, elasticPoolName string, parameters ElasticPool, cancel <-chan struct{}) (<-chan ElasticPool, <-chan error) { resultChan := make(chan ElasticPool, 1) errChan := make(chan error, 1) @@ -60,8 +55,10 @@ func (client ElasticPoolsClient) CreateOrUpdate(resourceGroupName string, server var err error var result ElasticPool defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -133,10 +130,9 @@ func (client ElasticPoolsClient) CreateOrUpdateResponder(resp *http.Response) (r // Delete deletes the elastic pool. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. elasticPoolName is the -// name of the elastic pool to be deleted. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. elasticPoolName is the name of the +// elastic pool to be deleted. func (client ElasticPoolsClient) Delete(resourceGroupName string, serverName string, elasticPoolName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, serverName, elasticPoolName) if err != nil { @@ -201,10 +197,9 @@ func (client ElasticPoolsClient) DeleteResponder(resp *http.Response) (result au // Get gets an elastic pool. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. elasticPoolName is the -// name of the elastic pool to be retrieved. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. elasticPoolName is the name of the +// elastic pool to be retrieved. func (client ElasticPoolsClient) Get(resourceGroupName string, serverName string, elasticPoolName string) (result ElasticPool, err error) { req, err := client.GetPreparer(resourceGroupName, serverName, elasticPoolName) if err != nil { @@ -268,151 +263,10 @@ func (client ElasticPoolsClient) GetResponder(resp *http.Response) (result Elast return } -// GetDatabase gets a database inside of an elastic pool. -// -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. elasticPoolName is the -// name of the elastic pool to be retrieved. databaseName is the name of the -// database to be retrieved. -func (client ElasticPoolsClient) GetDatabase(resourceGroupName string, serverName string, elasticPoolName string, databaseName string) (result Database, err error) { - req, err := client.GetDatabasePreparer(resourceGroupName, serverName, elasticPoolName, databaseName) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "GetDatabase", nil, "Failure preparing request") - return - } - - resp, err := client.GetDatabaseSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "GetDatabase", resp, "Failure sending request") - return - } - - result, err = client.GetDatabaseResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "GetDatabase", resp, "Failure responding to request") - } - - return -} - -// GetDatabasePreparer prepares the GetDatabase request. -func (client ElasticPoolsClient) GetDatabasePreparer(resourceGroupName string, serverName string, elasticPoolName string, databaseName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "databaseName": autorest.Encode("path", databaseName), - "elasticPoolName": autorest.Encode("path", elasticPoolName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "serverName": autorest.Encode("path", serverName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases/{databaseName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// GetDatabaseSender sends the GetDatabase request. The method will close the -// http.Response Body if it receives an error. -func (client ElasticPoolsClient) GetDatabaseSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// GetDatabaseResponder handles the response to the GetDatabase request. The method always -// closes the http.Response Body. -func (client ElasticPoolsClient) GetDatabaseResponder(resp *http.Response) (result Database, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListActivity returns elastic pool activities. -// -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. elasticPoolName is the -// name of the elastic pool for which to get the current activity. -func (client ElasticPoolsClient) ListActivity(resourceGroupName string, serverName string, elasticPoolName string) (result ElasticPoolActivityListResult, err error) { - req, err := client.ListActivityPreparer(resourceGroupName, serverName, elasticPoolName) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "ListActivity", nil, "Failure preparing request") - return - } - - resp, err := client.ListActivitySender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "ListActivity", resp, "Failure sending request") - return - } - - result, err = client.ListActivityResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "ListActivity", resp, "Failure responding to request") - } - - return -} - -// ListActivityPreparer prepares the ListActivity request. -func (client ElasticPoolsClient) ListActivityPreparer(resourceGroupName string, serverName string, elasticPoolName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "elasticPoolName": autorest.Encode("path", elasticPoolName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "serverName": autorest.Encode("path", serverName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/elasticPoolActivity", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// ListActivitySender sends the ListActivity request. The method will close the -// http.Response Body if it receives an error. -func (client ElasticPoolsClient) ListActivitySender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// ListActivityResponder handles the response to the ListActivity request. The method always -// closes the http.Response Body. -func (client ElasticPoolsClient) ListActivityResponder(resp *http.Response) (result ElasticPoolActivityListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - // ListByServer returns a list of elastic pools in a server. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. func (client ElasticPoolsClient) ListByServer(resourceGroupName string, serverName string) (result ElasticPoolListResult, err error) { req, err := client.ListByServerPreparer(resourceGroupName, serverName) if err != nil { @@ -475,37 +329,35 @@ func (client ElasticPoolsClient) ListByServerResponder(resp *http.Response) (res return } -// ListDatabaseActivity returns activity on databases inside of an elastic -// pool. +// ListMetricDefinitions returns elastic pool metric definitions. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. elasticPoolName is the -// name of the elastic pool. -func (client ElasticPoolsClient) ListDatabaseActivity(resourceGroupName string, serverName string, elasticPoolName string) (result ElasticPoolDatabaseActivityListResult, err error) { - req, err := client.ListDatabaseActivityPreparer(resourceGroupName, serverName, elasticPoolName) +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. elasticPoolName is the name of the +// elastic pool. +func (client ElasticPoolsClient) ListMetricDefinitions(resourceGroupName string, serverName string, elasticPoolName string) (result MetricDefinitionListResult, err error) { + req, err := client.ListMetricDefinitionsPreparer(resourceGroupName, serverName, elasticPoolName) if err != nil { - err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "ListDatabaseActivity", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "ListMetricDefinitions", nil, "Failure preparing request") return } - resp, err := client.ListDatabaseActivitySender(req) + resp, err := client.ListMetricDefinitionsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "ListDatabaseActivity", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "ListMetricDefinitions", resp, "Failure sending request") return } - result, err = client.ListDatabaseActivityResponder(resp) + result, err = client.ListMetricDefinitionsResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "ListDatabaseActivity", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "ListMetricDefinitions", resp, "Failure responding to request") } return } -// ListDatabaseActivityPreparer prepares the ListDatabaseActivity request. -func (client ElasticPoolsClient) ListDatabaseActivityPreparer(resourceGroupName string, serverName string, elasticPoolName string) (*http.Request, error) { +// ListMetricDefinitionsPreparer prepares the ListMetricDefinitions request. +func (client ElasticPoolsClient) ListMetricDefinitionsPreparer(resourceGroupName string, serverName string, elasticPoolName string) (*http.Request, error) { pathParameters := map[string]interface{}{ "elasticPoolName": autorest.Encode("path", elasticPoolName), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -521,20 +373,20 @@ func (client ElasticPoolsClient) ListDatabaseActivityPreparer(resourceGroupName preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/elasticPoolDatabaseActivity", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metricDefinitions", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } -// ListDatabaseActivitySender sends the ListDatabaseActivity request. The method will close the +// ListMetricDefinitionsSender sends the ListMetricDefinitions request. The method will close the // http.Response Body if it receives an error. -func (client ElasticPoolsClient) ListDatabaseActivitySender(req *http.Request) (*http.Response, error) { +func (client ElasticPoolsClient) ListMetricDefinitionsSender(req *http.Request) (*http.Response, error) { return autorest.SendWithSender(client, req) } -// ListDatabaseActivityResponder handles the response to the ListDatabaseActivity request. The method always +// ListMetricDefinitionsResponder handles the response to the ListMetricDefinitions request. The method always // closes the http.Response Body. -func (client ElasticPoolsClient) ListDatabaseActivityResponder(resp *http.Response) (result ElasticPoolDatabaseActivityListResult, err error) { +func (client ElasticPoolsClient) ListMetricDefinitionsResponder(resp *http.Response) (result MetricDefinitionListResult, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -545,36 +397,118 @@ func (client ElasticPoolsClient) ListDatabaseActivityResponder(resp *http.Respon return } -// ListDatabases returns a list of databases in an elastic pool. +// ListMetrics returns elastic pool metrics. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. elasticPoolName is the -// name of the elastic pool to be retrieved. -func (client ElasticPoolsClient) ListDatabases(resourceGroupName string, serverName string, elasticPoolName string) (result DatabaseListResult, err error) { - req, err := client.ListDatabasesPreparer(resourceGroupName, serverName, elasticPoolName) +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. elasticPoolName is the name of the +// elastic pool. filter is an OData filter expression that describes a subset of metrics to return. +func (client ElasticPoolsClient) ListMetrics(resourceGroupName string, serverName string, elasticPoolName string, filter string) (result MetricListResult, err error) { + req, err := client.ListMetricsPreparer(resourceGroupName, serverName, elasticPoolName, filter) if err != nil { - err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "ListDatabases", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "ListMetrics", nil, "Failure preparing request") return } - resp, err := client.ListDatabasesSender(req) + resp, err := client.ListMetricsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "ListDatabases", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "ListMetrics", resp, "Failure sending request") return } - result, err = client.ListDatabasesResponder(resp) + result, err = client.ListMetricsResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "ListDatabases", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "ListMetrics", resp, "Failure responding to request") } return } -// ListDatabasesPreparer prepares the ListDatabases request. -func (client ElasticPoolsClient) ListDatabasesPreparer(resourceGroupName string, serverName string, elasticPoolName string) (*http.Request, error) { +// ListMetricsPreparer prepares the ListMetrics request. +func (client ElasticPoolsClient) ListMetricsPreparer(resourceGroupName string, serverName string, elasticPoolName string, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "elasticPoolName": autorest.Encode("path", elasticPoolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "$filter": autorest.Encode("query", filter), + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metrics", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListMetricsSender sends the ListMetrics request. The method will close the +// http.Response Body if it receives an error. +func (client ElasticPoolsClient) ListMetricsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListMetricsResponder handles the response to the ListMetrics request. The method always +// closes the http.Response Body. +func (client ElasticPoolsClient) ListMetricsResponder(resp *http.Response) (result MetricListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update updates an existing elastic pool. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. elasticPoolName is the name of the +// elastic pool to be updated. parameters is the required parameters for updating an elastic pool. +func (client ElasticPoolsClient) Update(resourceGroupName string, serverName string, elasticPoolName string, parameters ElasticPoolUpdate, cancel <-chan struct{}) (<-chan ElasticPool, <-chan error) { + resultChan := make(chan ElasticPool, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result ElasticPool + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.UpdatePreparer(resourceGroupName, serverName, elasticPoolName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "Update", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// UpdatePreparer prepares the Update request. +func (client ElasticPoolsClient) UpdatePreparer(resourceGroupName string, serverName string, elasticPoolName string, parameters ElasticPoolUpdate, cancel <-chan struct{}) (*http.Request, error) { pathParameters := map[string]interface{}{ "elasticPoolName": autorest.Encode("path", elasticPoolName), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -588,26 +522,30 @@ func (client ElasticPoolsClient) ListDatabasesPreparer(resourceGroupName string, } preparer := autorest.CreatePreparer( - autorest.AsGet(), + autorest.AsJSON(), + autorest.AsPatch(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}", pathParameters), + autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) + return preparer.Prepare(&http.Request{Cancel: cancel}) } -// ListDatabasesSender sends the ListDatabases request. The method will close the +// UpdateSender sends the Update request. The method will close the // http.Response Body if it receives an error. -func (client ElasticPoolsClient) ListDatabasesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) +func (client ElasticPoolsClient) UpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) } -// ListDatabasesResponder handles the response to the ListDatabases request. The method always +// UpdateResponder handles the response to the Update request. The method always // closes the http.Response Body. -func (client ElasticPoolsClient) ListDatabasesResponder(resp *http.Response) (result DatabaseListResult, err error) { +func (client ElasticPoolsClient) UpdateResponder(resp *http.Response) (result ElasticPool, err error) { err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/encryptionprotectors.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/encryptionprotectors.go new file mode 100644 index 000000000..dc3a0686c --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/encryptionprotectors.go @@ -0,0 +1,331 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// EncryptionProtectorsClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type EncryptionProtectorsClient struct { + ManagementClient +} + +// NewEncryptionProtectorsClient creates an instance of the EncryptionProtectorsClient client. +func NewEncryptionProtectorsClient(subscriptionID string) EncryptionProtectorsClient { + return NewEncryptionProtectorsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewEncryptionProtectorsClientWithBaseURI creates an instance of the EncryptionProtectorsClient client. +func NewEncryptionProtectorsClientWithBaseURI(baseURI string, subscriptionID string) EncryptionProtectorsClient { + return EncryptionProtectorsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate updates an existing encryption protector. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. encryptionProtectorName is the name +// of the encryption protector to be updated. parameters is the requested encryption protector resource state. +func (client EncryptionProtectorsClient) CreateOrUpdate(resourceGroupName string, serverName string, encryptionProtectorName string, parameters EncryptionProtector, cancel <-chan struct{}) (<-chan EncryptionProtector, <-chan error) { + resultChan := make(chan EncryptionProtector, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result EncryptionProtector + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, encryptionProtectorName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.EncryptionProtectorsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.EncryptionProtectorsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.EncryptionProtectorsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client EncryptionProtectorsClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, encryptionProtectorName string, parameters EncryptionProtector, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "encryptionProtectorName": autorest.Encode("path", encryptionProtectorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector/{encryptionProtectorName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client EncryptionProtectorsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client EncryptionProtectorsClient) CreateOrUpdateResponder(resp *http.Response) (result EncryptionProtector, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets a server encryption protector. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. encryptionProtectorName is the name +// of the encryption protector to be retrieved. +func (client EncryptionProtectorsClient) Get(resourceGroupName string, serverName string, encryptionProtectorName string) (result EncryptionProtector, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, encryptionProtectorName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.EncryptionProtectorsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.EncryptionProtectorsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.EncryptionProtectorsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client EncryptionProtectorsClient) GetPreparer(resourceGroupName string, serverName string, encryptionProtectorName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "encryptionProtectorName": autorest.Encode("path", encryptionProtectorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector/{encryptionProtectorName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client EncryptionProtectorsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client EncryptionProtectorsClient) GetResponder(resp *http.Response) (result EncryptionProtector, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer gets a list of server encryption protectors +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. +func (client EncryptionProtectorsClient) ListByServer(resourceGroupName string, serverName string) (result EncryptionProtectorListResult, err error) { + req, err := client.ListByServerPreparer(resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.EncryptionProtectorsClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.EncryptionProtectorsClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.EncryptionProtectorsClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client EncryptionProtectorsClient) ListByServerPreparer(resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client EncryptionProtectorsClient) ListByServerSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client EncryptionProtectorsClient) ListByServerResponder(resp *http.Response) (result EncryptionProtectorListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServerNextResults retrieves the next set of results, if any. +func (client EncryptionProtectorsClient) ListByServerNextResults(lastResults EncryptionProtectorListResult) (result EncryptionProtectorListResult, err error) { + req, err := lastResults.EncryptionProtectorListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.EncryptionProtectorsClient", "ListByServer", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.EncryptionProtectorsClient", "ListByServer", resp, "Failure sending next results request") + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.EncryptionProtectorsClient", "ListByServer", resp, "Failure responding to next results request") + } + + return +} + +// ListByServerComplete gets all elements from the list without paging. +func (client EncryptionProtectorsClient) ListByServerComplete(resourceGroupName string, serverName string, cancel <-chan struct{}) (<-chan EncryptionProtector, <-chan error) { + resultChan := make(chan EncryptionProtector) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByServer(resourceGroupName, serverName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByServerNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/failovergroups.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/failovergroups.go new file mode 100644 index 000000000..13c28fd8f --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/failovergroups.go @@ -0,0 +1,682 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// FailoverGroupsClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type FailoverGroupsClient struct { + ManagementClient +} + +// NewFailoverGroupsClient creates an instance of the FailoverGroupsClient client. +func NewFailoverGroupsClient(subscriptionID string) FailoverGroupsClient { + return NewFailoverGroupsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewFailoverGroupsClientWithBaseURI creates an instance of the FailoverGroupsClient client. +func NewFailoverGroupsClientWithBaseURI(baseURI string, subscriptionID string) FailoverGroupsClient { + return FailoverGroupsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a failover group. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server containing the failover group. +// failoverGroupName is the name of the failover group. parameters is the failover group parameters. +func (client FailoverGroupsClient) CreateOrUpdate(resourceGroupName string, serverName string, failoverGroupName string, parameters FailoverGroup, cancel <-chan struct{}) (<-chan FailoverGroup, <-chan error) { + resultChan := make(chan FailoverGroup, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.FailoverGroupProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.FailoverGroupProperties.ReadWriteEndpoint", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.FailoverGroupProperties.PartnerServers", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "sql.FailoverGroupsClient", "CreateOrUpdate") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result FailoverGroup + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, failoverGroupName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.FailoverGroupsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.FailoverGroupsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.FailoverGroupsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client FailoverGroupsClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, failoverGroupName string, parameters FailoverGroup, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "failoverGroupName": autorest.Encode("path", failoverGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client FailoverGroupsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client FailoverGroupsClient) CreateOrUpdateResponder(resp *http.Response) (result FailoverGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a failover group. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server containing the failover group. +// failoverGroupName is the name of the failover group. +func (client FailoverGroupsClient) Delete(resourceGroupName string, serverName string, failoverGroupName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, serverName, failoverGroupName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.FailoverGroupsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "sql.FailoverGroupsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.FailoverGroupsClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// DeletePreparer prepares the Delete request. +func (client FailoverGroupsClient) DeletePreparer(resourceGroupName string, serverName string, failoverGroupName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "failoverGroupName": autorest.Encode("path", failoverGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client FailoverGroupsClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client FailoverGroupsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Failover fails over from the current primary server to this server. This method may poll for completion. Polling can +// be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding +// HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server containing the failover group. +// failoverGroupName is the name of the failover group. +func (client FailoverGroupsClient) Failover(resourceGroupName string, serverName string, failoverGroupName string, cancel <-chan struct{}) (<-chan FailoverGroup, <-chan error) { + resultChan := make(chan FailoverGroup, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result FailoverGroup + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.FailoverPreparer(resourceGroupName, serverName, failoverGroupName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.FailoverGroupsClient", "Failover", nil, "Failure preparing request") + return + } + + resp, err := client.FailoverSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.FailoverGroupsClient", "Failover", resp, "Failure sending request") + return + } + + result, err = client.FailoverResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.FailoverGroupsClient", "Failover", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// FailoverPreparer prepares the Failover request. +func (client FailoverGroupsClient) FailoverPreparer(resourceGroupName string, serverName string, failoverGroupName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "failoverGroupName": autorest.Encode("path", failoverGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/failover", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// FailoverSender sends the Failover request. The method will close the +// http.Response Body if it receives an error. +func (client FailoverGroupsClient) FailoverSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// FailoverResponder handles the response to the Failover request. The method always +// closes the http.Response Body. +func (client FailoverGroupsClient) FailoverResponder(resp *http.Response) (result FailoverGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ForceFailoverAllowDataLoss fails over from the current primary server to this server. This operation might result in +// data loss. This method may poll for completion. Polling can be canceled by passing the cancel channel argument. The +// channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server containing the failover group. +// failoverGroupName is the name of the failover group. +func (client FailoverGroupsClient) ForceFailoverAllowDataLoss(resourceGroupName string, serverName string, failoverGroupName string, cancel <-chan struct{}) (<-chan FailoverGroup, <-chan error) { + resultChan := make(chan FailoverGroup, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result FailoverGroup + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.ForceFailoverAllowDataLossPreparer(resourceGroupName, serverName, failoverGroupName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.FailoverGroupsClient", "ForceFailoverAllowDataLoss", nil, "Failure preparing request") + return + } + + resp, err := client.ForceFailoverAllowDataLossSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.FailoverGroupsClient", "ForceFailoverAllowDataLoss", resp, "Failure sending request") + return + } + + result, err = client.ForceFailoverAllowDataLossResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.FailoverGroupsClient", "ForceFailoverAllowDataLoss", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// ForceFailoverAllowDataLossPreparer prepares the ForceFailoverAllowDataLoss request. +func (client FailoverGroupsClient) ForceFailoverAllowDataLossPreparer(resourceGroupName string, serverName string, failoverGroupName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "failoverGroupName": autorest.Encode("path", failoverGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/forceFailoverAllowDataLoss", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// ForceFailoverAllowDataLossSender sends the ForceFailoverAllowDataLoss request. The method will close the +// http.Response Body if it receives an error. +func (client FailoverGroupsClient) ForceFailoverAllowDataLossSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// ForceFailoverAllowDataLossResponder handles the response to the ForceFailoverAllowDataLoss request. The method always +// closes the http.Response Body. +func (client FailoverGroupsClient) ForceFailoverAllowDataLossResponder(resp *http.Response) (result FailoverGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets a failover group. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server containing the failover group. +// failoverGroupName is the name of the failover group. +func (client FailoverGroupsClient) Get(resourceGroupName string, serverName string, failoverGroupName string) (result FailoverGroup, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, failoverGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.FailoverGroupsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.FailoverGroupsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.FailoverGroupsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client FailoverGroupsClient) GetPreparer(resourceGroupName string, serverName string, failoverGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "failoverGroupName": autorest.Encode("path", failoverGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client FailoverGroupsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client FailoverGroupsClient) GetResponder(resp *http.Response) (result FailoverGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer lists the failover groups in a server. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server containing the failover group. +func (client FailoverGroupsClient) ListByServer(resourceGroupName string, serverName string) (result FailoverGroupListResult, err error) { + req, err := client.ListByServerPreparer(resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.FailoverGroupsClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.FailoverGroupsClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.FailoverGroupsClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client FailoverGroupsClient) ListByServerPreparer(resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client FailoverGroupsClient) ListByServerSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client FailoverGroupsClient) ListByServerResponder(resp *http.Response) (result FailoverGroupListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServerNextResults retrieves the next set of results, if any. +func (client FailoverGroupsClient) ListByServerNextResults(lastResults FailoverGroupListResult) (result FailoverGroupListResult, err error) { + req, err := lastResults.FailoverGroupListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.FailoverGroupsClient", "ListByServer", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.FailoverGroupsClient", "ListByServer", resp, "Failure sending next results request") + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.FailoverGroupsClient", "ListByServer", resp, "Failure responding to next results request") + } + + return +} + +// ListByServerComplete gets all elements from the list without paging. +func (client FailoverGroupsClient) ListByServerComplete(resourceGroupName string, serverName string, cancel <-chan struct{}) (<-chan FailoverGroup, <-chan error) { + resultChan := make(chan FailoverGroup) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByServer(resourceGroupName, serverName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByServerNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// Update updates a failover group. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server containing the failover group. +// failoverGroupName is the name of the failover group. parameters is the failover group parameters. +func (client FailoverGroupsClient) Update(resourceGroupName string, serverName string, failoverGroupName string, parameters FailoverGroupUpdate, cancel <-chan struct{}) (<-chan FailoverGroup, <-chan error) { + resultChan := make(chan FailoverGroup, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result FailoverGroup + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.UpdatePreparer(resourceGroupName, serverName, failoverGroupName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.FailoverGroupsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.FailoverGroupsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.FailoverGroupsClient", "Update", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// UpdatePreparer prepares the Update request. +func (client FailoverGroupsClient) UpdatePreparer(resourceGroupName string, serverName string, failoverGroupName string, parameters FailoverGroupUpdate, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "failoverGroupName": autorest.Encode("path", failoverGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client FailoverGroupsClient) UpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client FailoverGroupsClient) UpdateResponder(resp *http.Response) (result FailoverGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/firewallrules.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/firewallrules.go index e4f3fa4c0..e59dd2551 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/firewallrules.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/firewallrules.go @@ -14,9 +14,8 @@ package sql // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,33 +24,28 @@ import ( "net/http" ) -// FirewallRulesClient is the the Azure SQL Database management API provides a -// RESTful set of web services that interact with Azure SQL Database services -// to manage your databases. The API enables you to create, retrieve, update, +// FirewallRulesClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, // and delete databases. type FirewallRulesClient struct { ManagementClient } -// NewFirewallRulesClient creates an instance of the FirewallRulesClient -// client. +// NewFirewallRulesClient creates an instance of the FirewallRulesClient client. func NewFirewallRulesClient(subscriptionID string) FirewallRulesClient { return NewFirewallRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewFirewallRulesClientWithBaseURI creates an instance of the -// FirewallRulesClient client. +// NewFirewallRulesClientWithBaseURI creates an instance of the FirewallRulesClient client. func NewFirewallRulesClientWithBaseURI(baseURI string, subscriptionID string) FirewallRulesClient { return FirewallRulesClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate creates or updates a firewall rule. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. firewallRuleName is the -// name of the firewall rule. parameters is the required parameters for -// creating or updating a firewall rule. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. firewallRuleName is the name of the +// firewall rule. parameters is the required parameters for creating or updating a firewall rule. func (client FirewallRulesClient) CreateOrUpdate(resourceGroupName string, serverName string, firewallRuleName string, parameters FirewallRule) (result FirewallRule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -128,10 +122,9 @@ func (client FirewallRulesClient) CreateOrUpdateResponder(resp *http.Response) ( // Delete deletes a firewall rule. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. firewallRuleName is the -// name of the firewall rule. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. firewallRuleName is the name of the +// firewall rule. func (client FirewallRulesClient) Delete(resourceGroupName string, serverName string, firewallRuleName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, serverName, firewallRuleName) if err != nil { @@ -196,10 +189,9 @@ func (client FirewallRulesClient) DeleteResponder(resp *http.Response) (result a // Get gets a firewall rule. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. firewallRuleName is the -// name of the firewall rule. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. firewallRuleName is the name of the +// firewall rule. func (client FirewallRulesClient) Get(resourceGroupName string, serverName string, firewallRuleName string) (result FirewallRule, err error) { req, err := client.GetPreparer(resourceGroupName, serverName, firewallRuleName) if err != nil { @@ -265,9 +257,8 @@ func (client FirewallRulesClient) GetResponder(resp *http.Response) (result Fire // ListByServer returns a list of firewall rules. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. func (client FirewallRulesClient) ListByServer(resourceGroupName string, serverName string) (result FirewallRuleListResult, err error) { req, err := client.ListByServerPreparer(resourceGroupName, serverName) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/geobackuppolicies.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/geobackuppolicies.go new file mode 100644 index 000000000..b841e2d73 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/geobackuppolicies.go @@ -0,0 +1,257 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// GeoBackupPoliciesClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type GeoBackupPoliciesClient struct { + ManagementClient +} + +// NewGeoBackupPoliciesClient creates an instance of the GeoBackupPoliciesClient client. +func NewGeoBackupPoliciesClient(subscriptionID string) GeoBackupPoliciesClient { + return NewGeoBackupPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewGeoBackupPoliciesClientWithBaseURI creates an instance of the GeoBackupPoliciesClient client. +func NewGeoBackupPoliciesClientWithBaseURI(baseURI string, subscriptionID string) GeoBackupPoliciesClient { + return GeoBackupPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate updates a database geo backup policy. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database. geoBackupPolicyName is the name of the geo backup policy. parameters is the required parameters for +// creating or updating the geo backup policy. +func (client GeoBackupPoliciesClient) CreateOrUpdate(resourceGroupName string, serverName string, databaseName string, geoBackupPolicyName string, parameters GeoBackupPolicy) (result GeoBackupPolicy, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.GeoBackupPolicyProperties", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "sql.GeoBackupPoliciesClient", "CreateOrUpdate") + } + + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, databaseName, geoBackupPolicyName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.GeoBackupPoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.GeoBackupPoliciesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.GeoBackupPoliciesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client GeoBackupPoliciesClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, databaseName string, geoBackupPolicyName string, parameters GeoBackupPolicy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "geoBackupPolicyName": autorest.Encode("path", geoBackupPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies/{geoBackupPolicyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client GeoBackupPoliciesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client GeoBackupPoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result GeoBackupPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusCreated, http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets a geo backup policy. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database. geoBackupPolicyName is the name of the geo backup policy. +func (client GeoBackupPoliciesClient) Get(resourceGroupName string, serverName string, databaseName string, geoBackupPolicyName string) (result GeoBackupPolicy, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, databaseName, geoBackupPolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.GeoBackupPoliciesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.GeoBackupPoliciesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.GeoBackupPoliciesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client GeoBackupPoliciesClient) GetPreparer(resourceGroupName string, serverName string, databaseName string, geoBackupPolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "geoBackupPolicyName": autorest.Encode("path", geoBackupPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies/{geoBackupPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client GeoBackupPoliciesClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client GeoBackupPoliciesClient) GetResponder(resp *http.Response) (result GeoBackupPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByDatabase returns a list of geo backup policies. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database. +func (client GeoBackupPoliciesClient) ListByDatabase(resourceGroupName string, serverName string, databaseName string) (result GeoBackupPolicyListResult, err error) { + req, err := client.ListByDatabasePreparer(resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.GeoBackupPoliciesClient", "ListByDatabase", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.GeoBackupPoliciesClient", "ListByDatabase", resp, "Failure sending request") + return + } + + result, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.GeoBackupPoliciesClient", "ListByDatabase", resp, "Failure responding to request") + } + + return +} + +// ListByDatabasePreparer prepares the ListByDatabase request. +func (client GeoBackupPoliciesClient) ListByDatabasePreparer(resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByDatabaseSender sends the ListByDatabase request. The method will close the +// http.Response Body if it receives an error. +func (client GeoBackupPoliciesClient) ListByDatabaseSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByDatabaseResponder handles the response to the ListByDatabase request. The method always +// closes the http.Response Body. +func (client GeoBackupPoliciesClient) ListByDatabaseResponder(resp *http.Response) (result GeoBackupPolicyListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/models.go index 6f42dca75..f0636cce9 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/models.go @@ -14,14 +14,15 @@ package sql // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/date" - "github.com/satori/uuid" + "github.com/Azure/go-autorest/autorest/to" + uuid "github.com/satori/go.uuid" + "net/http" ) // AuthenticationType enumerates the values for authentication type. @@ -34,35 +35,52 @@ const ( SQL AuthenticationType = "SQL" ) -// BlobAuditingPolicyState enumerates the values for blob auditing policy -// state. +// BackupLongTermRetentionPolicyState enumerates the values for backup long term retention policy state. +type BackupLongTermRetentionPolicyState string + +const ( + // Disabled specifies the disabled state for backup long term retention policy state. + Disabled BackupLongTermRetentionPolicyState = "Disabled" + // Enabled specifies the enabled state for backup long term retention policy state. + Enabled BackupLongTermRetentionPolicyState = "Enabled" +) + +// BlobAuditingPolicyState enumerates the values for blob auditing policy state. type BlobAuditingPolicyState string const ( - // Disabled specifies the disabled state for blob auditing policy state. - Disabled BlobAuditingPolicyState = "Disabled" - // Enabled specifies the enabled state for blob auditing policy state. - Enabled BlobAuditingPolicyState = "Enabled" + // BlobAuditingPolicyStateDisabled specifies the blob auditing policy state disabled state for blob auditing policy + // state. + BlobAuditingPolicyStateDisabled BlobAuditingPolicyState = "Disabled" + // BlobAuditingPolicyStateEnabled specifies the blob auditing policy state enabled state for blob auditing policy + // state. + BlobAuditingPolicyStateEnabled BlobAuditingPolicyState = "Enabled" ) // CapabilityStatus enumerates the values for capability status. type CapabilityStatus string const ( - // CapabilityStatusAvailable specifies the capability status available - // state for capability status. + // CapabilityStatusAvailable specifies the capability status available state for capability status. CapabilityStatusAvailable CapabilityStatus = "Available" - // CapabilityStatusDefault specifies the capability status default state - // for capability status. + // CapabilityStatusDefault specifies the capability status default state for capability status. CapabilityStatusDefault CapabilityStatus = "Default" - // CapabilityStatusDisabled specifies the capability status disabled state - // for capability status. + // CapabilityStatusDisabled specifies the capability status disabled state for capability status. CapabilityStatusDisabled CapabilityStatus = "Disabled" - // CapabilityStatusVisible specifies the capability status visible state - // for capability status. + // CapabilityStatusVisible specifies the capability status visible state for capability status. CapabilityStatusVisible CapabilityStatus = "Visible" ) +// CheckNameAvailabilityReason enumerates the values for check name availability reason. +type CheckNameAvailabilityReason string + +const ( + // AlreadyExists specifies the already exists state for check name availability reason. + AlreadyExists CheckNameAvailabilityReason = "AlreadyExists" + // Invalid specifies the invalid state for check name availability reason. + Invalid CheckNameAvailabilityReason = "Invalid" +) + // CreateMode enumerates the values for create mode. type CreateMode string @@ -71,20 +89,17 @@ const ( Copy CreateMode = "Copy" // Default specifies the default state for create mode. Default CreateMode = "Default" - // NonReadableSecondary specifies the non readable secondary state for - // create mode. + // NonReadableSecondary specifies the non readable secondary state for create mode. NonReadableSecondary CreateMode = "NonReadableSecondary" // OnlineSecondary specifies the online secondary state for create mode. OnlineSecondary CreateMode = "OnlineSecondary" - // PointInTimeRestore specifies the point in time restore state for create - // mode. + // PointInTimeRestore specifies the point in time restore state for create mode. PointInTimeRestore CreateMode = "PointInTimeRestore" // Recovery specifies the recovery state for create mode. Recovery CreateMode = "Recovery" // Restore specifies the restore state for create mode. Restore CreateMode = "Restore" - // RestoreLongTermRetentionBackup specifies the restore long term retention - // backup state for create mode. + // RestoreLongTermRetentionBackup specifies the restore long term retention backup state for create mode. RestoreLongTermRetentionBackup CreateMode = "RestoreLongTermRetentionBackup" ) @@ -114,18 +129,53 @@ const ( Web DatabaseEdition = "Web" ) +// DataMaskingFunction enumerates the values for data masking function. +type DataMaskingFunction string + +const ( + // DataMaskingFunctionCCN specifies the data masking function ccn state for data masking function. + DataMaskingFunctionCCN DataMaskingFunction = "CCN" + // DataMaskingFunctionDefault specifies the data masking function default state for data masking function. + DataMaskingFunctionDefault DataMaskingFunction = "Default" + // DataMaskingFunctionEmail specifies the data masking function email state for data masking function. + DataMaskingFunctionEmail DataMaskingFunction = "Email" + // DataMaskingFunctionNumber specifies the data masking function number state for data masking function. + DataMaskingFunctionNumber DataMaskingFunction = "Number" + // DataMaskingFunctionSSN specifies the data masking function ssn state for data masking function. + DataMaskingFunctionSSN DataMaskingFunction = "SSN" + // DataMaskingFunctionText specifies the data masking function text state for data masking function. + DataMaskingFunctionText DataMaskingFunction = "Text" +) + +// DataMaskingRuleState enumerates the values for data masking rule state. +type DataMaskingRuleState string + +const ( + // DataMaskingRuleStateDisabled specifies the data masking rule state disabled state for data masking rule state. + DataMaskingRuleStateDisabled DataMaskingRuleState = "Disabled" + // DataMaskingRuleStateEnabled specifies the data masking rule state enabled state for data masking rule state. + DataMaskingRuleStateEnabled DataMaskingRuleState = "Enabled" +) + +// DataMaskingState enumerates the values for data masking state. +type DataMaskingState string + +const ( + // DataMaskingStateDisabled specifies the data masking state disabled state for data masking state. + DataMaskingStateDisabled DataMaskingState = "Disabled" + // DataMaskingStateEnabled specifies the data masking state enabled state for data masking state. + DataMaskingStateEnabled DataMaskingState = "Enabled" +) + // ElasticPoolEdition enumerates the values for elastic pool edition. type ElasticPoolEdition string const ( - // ElasticPoolEditionBasic specifies the elastic pool edition basic state - // for elastic pool edition. + // ElasticPoolEditionBasic specifies the elastic pool edition basic state for elastic pool edition. ElasticPoolEditionBasic ElasticPoolEdition = "Basic" - // ElasticPoolEditionPremium specifies the elastic pool edition premium - // state for elastic pool edition. + // ElasticPoolEditionPremium specifies the elastic pool edition premium state for elastic pool edition. ElasticPoolEditionPremium ElasticPoolEdition = "Premium" - // ElasticPoolEditionStandard specifies the elastic pool edition standard - // state for elastic pool edition. + // ElasticPoolEditionStandard specifies the elastic pool edition standard state for elastic pool edition. ElasticPoolEditionStandard ElasticPoolEdition = "Standard" ) @@ -133,17 +183,60 @@ const ( type ElasticPoolState string const ( - // ElasticPoolStateCreating specifies the elastic pool state creating state - // for elastic pool state. + // ElasticPoolStateCreating specifies the elastic pool state creating state for elastic pool state. ElasticPoolStateCreating ElasticPoolState = "Creating" - // ElasticPoolStateDisabled specifies the elastic pool state disabled state - // for elastic pool state. + // ElasticPoolStateDisabled specifies the elastic pool state disabled state for elastic pool state. ElasticPoolStateDisabled ElasticPoolState = "Disabled" - // ElasticPoolStateReady specifies the elastic pool state ready state for - // elastic pool state. + // ElasticPoolStateReady specifies the elastic pool state ready state for elastic pool state. ElasticPoolStateReady ElasticPoolState = "Ready" ) +// FailoverGroupReplicationRole enumerates the values for failover group replication role. +type FailoverGroupReplicationRole string + +const ( + // Primary specifies the primary state for failover group replication role. + Primary FailoverGroupReplicationRole = "Primary" + // Secondary specifies the secondary state for failover group replication role. + Secondary FailoverGroupReplicationRole = "Secondary" +) + +// GeoBackupPolicyState enumerates the values for geo backup policy state. +type GeoBackupPolicyState string + +const ( + // GeoBackupPolicyStateDisabled specifies the geo backup policy state disabled state for geo backup policy state. + GeoBackupPolicyStateDisabled GeoBackupPolicyState = "Disabled" + // GeoBackupPolicyStateEnabled specifies the geo backup policy state enabled state for geo backup policy state. + GeoBackupPolicyStateEnabled GeoBackupPolicyState = "Enabled" +) + +// IdentityType enumerates the values for identity type. +type IdentityType string + +const ( + // SystemAssigned specifies the system assigned state for identity type. + SystemAssigned IdentityType = "SystemAssigned" +) + +// ManagementOperationState enumerates the values for management operation state. +type ManagementOperationState string + +const ( + // CancelInProgress specifies the cancel in progress state for management operation state. + CancelInProgress ManagementOperationState = "CancelInProgress" + // Cancelled specifies the cancelled state for management operation state. + Cancelled ManagementOperationState = "Cancelled" + // Failed specifies the failed state for management operation state. + Failed ManagementOperationState = "Failed" + // InProgress specifies the in progress state for management operation state. + InProgress ManagementOperationState = "InProgress" + // Pending specifies the pending state for management operation state. + Pending ManagementOperationState = "Pending" + // Succeeded specifies the succeeded state for management operation state. + Succeeded ManagementOperationState = "Succeeded" +) + // MaxSizeUnits enumerates the values for max size units. type MaxSizeUnits string @@ -158,6 +251,16 @@ const ( Terabytes MaxSizeUnits = "Terabytes" ) +// OperationOrigin enumerates the values for operation origin. +type OperationOrigin string + +const ( + // OperationOriginSystem specifies the operation origin system state for operation origin. + OperationOriginSystem OperationOrigin = "system" + // OperationOriginUser specifies the operation origin user state for operation origin. + OperationOriginUser OperationOrigin = "user" +) + // PerformanceLevelUnit enumerates the values for performance level unit. type PerformanceLevelUnit string @@ -166,17 +269,56 @@ const ( DTU PerformanceLevelUnit = "DTU" ) +// PrimaryAggregationType enumerates the values for primary aggregation type. +type PrimaryAggregationType string + +const ( + // Average specifies the average state for primary aggregation type. + Average PrimaryAggregationType = "Average" + // Count specifies the count state for primary aggregation type. + Count PrimaryAggregationType = "Count" + // Maximum specifies the maximum state for primary aggregation type. + Maximum PrimaryAggregationType = "Maximum" + // Minimum specifies the minimum state for primary aggregation type. + Minimum PrimaryAggregationType = "Minimum" + // None specifies the none state for primary aggregation type. + None PrimaryAggregationType = "None" + // Total specifies the total state for primary aggregation type. + Total PrimaryAggregationType = "Total" +) + +// ReadOnlyEndpointFailoverPolicy enumerates the values for read only endpoint failover policy. +type ReadOnlyEndpointFailoverPolicy string + +const ( + // ReadOnlyEndpointFailoverPolicyDisabled specifies the read only endpoint failover policy disabled state for read only + // endpoint failover policy. + ReadOnlyEndpointFailoverPolicyDisabled ReadOnlyEndpointFailoverPolicy = "Disabled" + // ReadOnlyEndpointFailoverPolicyEnabled specifies the read only endpoint failover policy enabled state for read only + // endpoint failover policy. + ReadOnlyEndpointFailoverPolicyEnabled ReadOnlyEndpointFailoverPolicy = "Enabled" +) + // ReadScale enumerates the values for read scale. type ReadScale string const ( - // ReadScaleDisabled specifies the read scale disabled state for read - // scale. + // ReadScaleDisabled specifies the read scale disabled state for read scale. ReadScaleDisabled ReadScale = "Disabled" // ReadScaleEnabled specifies the read scale enabled state for read scale. ReadScaleEnabled ReadScale = "Enabled" ) +// ReadWriteEndpointFailoverPolicy enumerates the values for read write endpoint failover policy. +type ReadWriteEndpointFailoverPolicy string + +const ( + // Automatic specifies the automatic state for read write endpoint failover policy. + Automatic ReadWriteEndpointFailoverPolicy = "Automatic" + // Manual specifies the manual state for read write endpoint failover policy. + Manual ReadWriteEndpointFailoverPolicy = "Manual" +) + // RecommendedIndexAction enumerates the values for recommended index action. type RecommendedIndexAction string @@ -193,29 +335,29 @@ const ( type RecommendedIndexState string const ( - // Active specifies the active state for recommended index state. - Active RecommendedIndexState = "Active" - // Blocked specifies the blocked state for recommended index state. - Blocked RecommendedIndexState = "Blocked" - // Executing specifies the executing state for recommended index state. - Executing RecommendedIndexState = "Executing" - // Expired specifies the expired state for recommended index state. - Expired RecommendedIndexState = "Expired" - // Ignored specifies the ignored state for recommended index state. - Ignored RecommendedIndexState = "Ignored" - // Pending specifies the pending state for recommended index state. - Pending RecommendedIndexState = "Pending" - // PendingRevert specifies the pending revert state for recommended index + // RecommendedIndexStateActive specifies the recommended index state active state for recommended index state. + RecommendedIndexStateActive RecommendedIndexState = "Active" + // RecommendedIndexStateBlocked specifies the recommended index state blocked state for recommended index state. + RecommendedIndexStateBlocked RecommendedIndexState = "Blocked" + // RecommendedIndexStateExecuting specifies the recommended index state executing state for recommended index state. + RecommendedIndexStateExecuting RecommendedIndexState = "Executing" + // RecommendedIndexStateExpired specifies the recommended index state expired state for recommended index state. + RecommendedIndexStateExpired RecommendedIndexState = "Expired" + // RecommendedIndexStateIgnored specifies the recommended index state ignored state for recommended index state. + RecommendedIndexStateIgnored RecommendedIndexState = "Ignored" + // RecommendedIndexStatePending specifies the recommended index state pending state for recommended index state. + RecommendedIndexStatePending RecommendedIndexState = "Pending" + // RecommendedIndexStatePendingRevert specifies the recommended index state pending revert state for recommended index // state. - PendingRevert RecommendedIndexState = "Pending Revert" - // Reverted specifies the reverted state for recommended index state. - Reverted RecommendedIndexState = "Reverted" - // Reverting specifies the reverting state for recommended index state. - Reverting RecommendedIndexState = "Reverting" - // Success specifies the success state for recommended index state. - Success RecommendedIndexState = "Success" - // Verifying specifies the verifying state for recommended index state. - Verifying RecommendedIndexState = "Verifying" + RecommendedIndexStatePendingRevert RecommendedIndexState = "Pending Revert" + // RecommendedIndexStateReverted specifies the recommended index state reverted state for recommended index state. + RecommendedIndexStateReverted RecommendedIndexState = "Reverted" + // RecommendedIndexStateReverting specifies the recommended index state reverting state for recommended index state. + RecommendedIndexStateReverting RecommendedIndexState = "Reverting" + // RecommendedIndexStateSuccess specifies the recommended index state success state for recommended index state. + RecommendedIndexStateSuccess RecommendedIndexState = "Success" + // RecommendedIndexStateVerifying specifies the recommended index state verifying state for recommended index state. + RecommendedIndexStateVerifying RecommendedIndexState = "Verifying" ) // RecommendedIndexType enumerates the values for recommended index type. @@ -224,13 +366,11 @@ type RecommendedIndexType string const ( // CLUSTERED specifies the clustered state for recommended index type. CLUSTERED RecommendedIndexType = "CLUSTERED" - // CLUSTEREDCOLUMNSTORE specifies the clusteredcolumnstore state for - // recommended index type. + // CLUSTEREDCOLUMNSTORE specifies the clusteredcolumnstore state for recommended index type. CLUSTEREDCOLUMNSTORE RecommendedIndexType = "CLUSTERED COLUMNSTORE" // COLUMNSTORE specifies the columnstore state for recommended index type. COLUMNSTORE RecommendedIndexType = "COLUMNSTORE" - // NONCLUSTERED specifies the nonclustered state for recommended index - // type. + // NONCLUSTERED specifies the nonclustered state for recommended index type. NONCLUSTERED RecommendedIndexType = "NONCLUSTERED" ) @@ -238,20 +378,16 @@ const ( type ReplicationRole string const ( - // ReplicationRoleCopy specifies the replication role copy state for - // replication role. + // ReplicationRoleCopy specifies the replication role copy state for replication role. ReplicationRoleCopy ReplicationRole = "Copy" - // ReplicationRoleNonReadableSecondary specifies the replication role non - // readable secondary state for replication role. + // ReplicationRoleNonReadableSecondary specifies the replication role non readable secondary state for replication + // role. ReplicationRoleNonReadableSecondary ReplicationRole = "NonReadableSecondary" - // ReplicationRolePrimary specifies the replication role primary state for - // replication role. + // ReplicationRolePrimary specifies the replication role primary state for replication role. ReplicationRolePrimary ReplicationRole = "Primary" - // ReplicationRoleSecondary specifies the replication role secondary state - // for replication role. + // ReplicationRoleSecondary specifies the replication role secondary state for replication role. ReplicationRoleSecondary ReplicationRole = "Secondary" - // ReplicationRoleSource specifies the replication role source state for - // replication role. + // ReplicationRoleSource specifies the replication role source state for replication role. ReplicationRoleSource ReplicationRole = "Source" ) @@ -269,14 +405,14 @@ const ( SUSPENDED ReplicationState = "SUSPENDED" ) -// RestorePointTypes enumerates the values for restore point types. -type RestorePointTypes string +// RestorePointType enumerates the values for restore point type. +type RestorePointType string const ( - // CONTINUOUS specifies the continuous state for restore point types. - CONTINUOUS RestorePointTypes = "CONTINUOUS" - // DISCRETE specifies the discrete state for restore point types. - DISCRETE RestorePointTypes = "DISCRETE" + // CONTINUOUS specifies the continuous state for restore point type. + CONTINUOUS RestorePointType = "CONTINUOUS" + // DISCRETE specifies the discrete state for restore point type. + DISCRETE RestorePointType = "DISCRETE" ) // SampleName enumerates the values for sample name. @@ -287,124 +423,99 @@ const ( AdventureWorksLT SampleName = "AdventureWorksLT" ) -// SecurityAlertPolicyEmailAccountAdmins enumerates the values for security -// alert policy email account admins. +// SecurityAlertPolicyEmailAccountAdmins enumerates the values for security alert policy email account admins. type SecurityAlertPolicyEmailAccountAdmins string const ( - // SecurityAlertPolicyEmailAccountAdminsDisabled specifies the security - // alert policy email account admins disabled state for security alert - // policy email account admins. + // SecurityAlertPolicyEmailAccountAdminsDisabled specifies the security alert policy email account admins disabled + // state for security alert policy email account admins. SecurityAlertPolicyEmailAccountAdminsDisabled SecurityAlertPolicyEmailAccountAdmins = "Disabled" - // SecurityAlertPolicyEmailAccountAdminsEnabled specifies the security - // alert policy email account admins enabled state for security alert - // policy email account admins. + // SecurityAlertPolicyEmailAccountAdminsEnabled specifies the security alert policy email account admins enabled state + // for security alert policy email account admins. SecurityAlertPolicyEmailAccountAdminsEnabled SecurityAlertPolicyEmailAccountAdmins = "Enabled" ) -// SecurityAlertPolicyState enumerates the values for security alert policy -// state. +// SecurityAlertPolicyState enumerates the values for security alert policy state. type SecurityAlertPolicyState string const ( - // SecurityAlertPolicyStateDisabled specifies the security alert policy - // state disabled state for security alert policy state. + // SecurityAlertPolicyStateDisabled specifies the security alert policy state disabled state for security alert policy + // state. SecurityAlertPolicyStateDisabled SecurityAlertPolicyState = "Disabled" - // SecurityAlertPolicyStateEnabled specifies the security alert policy - // state enabled state for security alert policy state. + // SecurityAlertPolicyStateEnabled specifies the security alert policy state enabled state for security alert policy + // state. SecurityAlertPolicyStateEnabled SecurityAlertPolicyState = "Enabled" - // SecurityAlertPolicyStateNew specifies the security alert policy state - // new state for security alert policy state. + // SecurityAlertPolicyStateNew specifies the security alert policy state new state for security alert policy state. SecurityAlertPolicyStateNew SecurityAlertPolicyState = "New" ) -// SecurityAlertPolicyUseServerDefault enumerates the values for security alert -// policy use server default. +// SecurityAlertPolicyUseServerDefault enumerates the values for security alert policy use server default. type SecurityAlertPolicyUseServerDefault string const ( - // SecurityAlertPolicyUseServerDefaultDisabled specifies the security alert - // policy use server default disabled state for security alert policy use - // server default. + // SecurityAlertPolicyUseServerDefaultDisabled specifies the security alert policy use server default disabled state + // for security alert policy use server default. SecurityAlertPolicyUseServerDefaultDisabled SecurityAlertPolicyUseServerDefault = "Disabled" - // SecurityAlertPolicyUseServerDefaultEnabled specifies the security alert - // policy use server default enabled state for security alert policy use - // server default. + // SecurityAlertPolicyUseServerDefaultEnabled specifies the security alert policy use server default enabled state for + // security alert policy use server default. SecurityAlertPolicyUseServerDefaultEnabled SecurityAlertPolicyUseServerDefault = "Enabled" ) -// ServerState enumerates the values for server state. -type ServerState string +// ServerConnectionType enumerates the values for server connection type. +type ServerConnectionType string const ( - // ServerStateDisabled specifies the server state disabled state for server - // state. - ServerStateDisabled ServerState = "Disabled" - // ServerStateReady specifies the server state ready state for server - // state. - ServerStateReady ServerState = "Ready" + // ServerConnectionTypeDefault specifies the server connection type default state for server connection type. + ServerConnectionTypeDefault ServerConnectionType = "Default" + // ServerConnectionTypeProxy specifies the server connection type proxy state for server connection type. + ServerConnectionTypeProxy ServerConnectionType = "Proxy" + // ServerConnectionTypeRedirect specifies the server connection type redirect state for server connection type. + ServerConnectionTypeRedirect ServerConnectionType = "Redirect" ) -// ServerVersion enumerates the values for server version. -type ServerVersion string +// ServerKeyType enumerates the values for server key type. +type ServerKeyType string const ( - // OneTwoFullStopZero specifies the one two full stop zero state for server - // version. - OneTwoFullStopZero ServerVersion = "12.0" - // TwoFullStopZero specifies the two full stop zero state for server - // version. - TwoFullStopZero ServerVersion = "2.0" + // AzureKeyVault specifies the azure key vault state for server key type. + AzureKeyVault ServerKeyType = "AzureKeyVault" + // ServiceManaged specifies the service managed state for server key type. + ServiceManaged ServerKeyType = "ServiceManaged" ) // ServiceObjectiveName enumerates the values for service objective name. type ServiceObjectiveName string const ( - // ServiceObjectiveNameBasic specifies the service objective name basic - // state for service objective name. + // ServiceObjectiveNameBasic specifies the service objective name basic state for service objective name. ServiceObjectiveNameBasic ServiceObjectiveName = "Basic" - // ServiceObjectiveNameElasticPool specifies the service objective name - // elastic pool state for service objective name. + // ServiceObjectiveNameElasticPool specifies the service objective name elastic pool state for service objective name. ServiceObjectiveNameElasticPool ServiceObjectiveName = "ElasticPool" - // ServiceObjectiveNameP1 specifies the service objective name p1 state for - // service objective name. + // ServiceObjectiveNameP1 specifies the service objective name p1 state for service objective name. ServiceObjectiveNameP1 ServiceObjectiveName = "P1" - // ServiceObjectiveNameP11 specifies the service objective name p11 state - // for service objective name. + // ServiceObjectiveNameP11 specifies the service objective name p11 state for service objective name. ServiceObjectiveNameP11 ServiceObjectiveName = "P11" - // ServiceObjectiveNameP15 specifies the service objective name p15 state - // for service objective name. + // ServiceObjectiveNameP15 specifies the service objective name p15 state for service objective name. ServiceObjectiveNameP15 ServiceObjectiveName = "P15" - // ServiceObjectiveNameP2 specifies the service objective name p2 state for - // service objective name. + // ServiceObjectiveNameP2 specifies the service objective name p2 state for service objective name. ServiceObjectiveNameP2 ServiceObjectiveName = "P2" - // ServiceObjectiveNameP3 specifies the service objective name p3 state for - // service objective name. + // ServiceObjectiveNameP3 specifies the service objective name p3 state for service objective name. ServiceObjectiveNameP3 ServiceObjectiveName = "P3" - // ServiceObjectiveNameP4 specifies the service objective name p4 state for - // service objective name. + // ServiceObjectiveNameP4 specifies the service objective name p4 state for service objective name. ServiceObjectiveNameP4 ServiceObjectiveName = "P4" - // ServiceObjectiveNameP6 specifies the service objective name p6 state for - // service objective name. + // ServiceObjectiveNameP6 specifies the service objective name p6 state for service objective name. ServiceObjectiveNameP6 ServiceObjectiveName = "P6" - // ServiceObjectiveNameS0 specifies the service objective name s0 state for - // service objective name. + // ServiceObjectiveNameS0 specifies the service objective name s0 state for service objective name. ServiceObjectiveNameS0 ServiceObjectiveName = "S0" - // ServiceObjectiveNameS1 specifies the service objective name s1 state for - // service objective name. + // ServiceObjectiveNameS1 specifies the service objective name s1 state for service objective name. ServiceObjectiveNameS1 ServiceObjectiveName = "S1" - // ServiceObjectiveNameS2 specifies the service objective name s2 state for - // service objective name. + // ServiceObjectiveNameS2 specifies the service objective name s2 state for service objective name. ServiceObjectiveNameS2 ServiceObjectiveName = "S2" - // ServiceObjectiveNameS3 specifies the service objective name s3 state for - // service objective name. + // ServiceObjectiveNameS3 specifies the service objective name s3 state for service objective name. ServiceObjectiveNameS3 ServiceObjectiveName = "S3" - // ServiceObjectiveNameSystem specifies the service objective name system - // state for service objective name. + // ServiceObjectiveNameSystem specifies the service objective name system state for service objective name. ServiceObjectiveNameSystem ServiceObjectiveName = "System" - // ServiceObjectiveNameSystem2 specifies the service objective name system - // 2 state for service objective name. + // ServiceObjectiveNameSystem2 specifies the service objective name system 2 state for service objective name. ServiceObjectiveNameSystem2 ServiceObjectiveName = "System2" ) @@ -412,40 +523,252 @@ const ( type StorageKeyType string const ( - // SharedAccessKey specifies the shared access key state for storage key - // type. + // SharedAccessKey specifies the shared access key state for storage key type. SharedAccessKey StorageKeyType = "SharedAccessKey" - // StorageAccessKey specifies the storage access key state for storage key - // type. + // StorageAccessKey specifies the storage access key state for storage key type. StorageAccessKey StorageKeyType = "StorageAccessKey" ) -// TransparentDataEncryptionActivityStatus enumerates the values for -// transparent data encryption activity status. +// SyncAgentState enumerates the values for sync agent state. +type SyncAgentState string + +const ( + // NeverConnected specifies the never connected state for sync agent state. + NeverConnected SyncAgentState = "NeverConnected" + // Offline specifies the offline state for sync agent state. + Offline SyncAgentState = "Offline" + // Online specifies the online state for sync agent state. + Online SyncAgentState = "Online" +) + +// SyncConflictResolutionPolicy enumerates the values for sync conflict resolution policy. +type SyncConflictResolutionPolicy string + +const ( + // HubWin specifies the hub win state for sync conflict resolution policy. + HubWin SyncConflictResolutionPolicy = "HubWin" + // MemberWin specifies the member win state for sync conflict resolution policy. + MemberWin SyncConflictResolutionPolicy = "MemberWin" +) + +// SyncDirection enumerates the values for sync direction. +type SyncDirection string + +const ( + // Bidirectional specifies the bidirectional state for sync direction. + Bidirectional SyncDirection = "Bidirectional" + // OneWayHubToMember specifies the one way hub to member state for sync direction. + OneWayHubToMember SyncDirection = "OneWayHubToMember" + // OneWayMemberToHub specifies the one way member to hub state for sync direction. + OneWayMemberToHub SyncDirection = "OneWayMemberToHub" +) + +// SyncGroupLogType enumerates the values for sync group log type. +type SyncGroupLogType string + +const ( + // All specifies the all state for sync group log type. + All SyncGroupLogType = "All" + // Error specifies the error state for sync group log type. + Error SyncGroupLogType = "Error" + // Success specifies the success state for sync group log type. + Success SyncGroupLogType = "Success" + // Warning specifies the warning state for sync group log type. + Warning SyncGroupLogType = "Warning" +) + +// SyncGroupState enumerates the values for sync group state. +type SyncGroupState string + +const ( + // SyncGroupStateError specifies the sync group state error state for sync group state. + SyncGroupStateError SyncGroupState = "Error" + // SyncGroupStateGood specifies the sync group state good state for sync group state. + SyncGroupStateGood SyncGroupState = "Good" + // SyncGroupStateNotReady specifies the sync group state not ready state for sync group state. + SyncGroupStateNotReady SyncGroupState = "NotReady" + // SyncGroupStateProgressing specifies the sync group state progressing state for sync group state. + SyncGroupStateProgressing SyncGroupState = "Progressing" + // SyncGroupStateWarning specifies the sync group state warning state for sync group state. + SyncGroupStateWarning SyncGroupState = "Warning" +) + +// SyncMemberDbType enumerates the values for sync member db type. +type SyncMemberDbType string + +const ( + // AzureSQLDatabase specifies the azure sql database state for sync member db type. + AzureSQLDatabase SyncMemberDbType = "AzureSqlDatabase" + // SQLServerDatabase specifies the sql server database state for sync member db type. + SQLServerDatabase SyncMemberDbType = "SqlServerDatabase" +) + +// SyncMemberState enumerates the values for sync member state. +type SyncMemberState string + +const ( + // DeProvisioned specifies the de provisioned state for sync member state. + DeProvisioned SyncMemberState = "DeProvisioned" + // DeProvisionFailed specifies the de provision failed state for sync member state. + DeProvisionFailed SyncMemberState = "DeProvisionFailed" + // DeProvisioning specifies the de provisioning state for sync member state. + DeProvisioning SyncMemberState = "DeProvisioning" + // DisabledBackupRestore specifies the disabled backup restore state for sync member state. + DisabledBackupRestore SyncMemberState = "DisabledBackupRestore" + // DisabledTombstoneCleanup specifies the disabled tombstone cleanup state for sync member state. + DisabledTombstoneCleanup SyncMemberState = "DisabledTombstoneCleanup" + // Provisioned specifies the provisioned state for sync member state. + Provisioned SyncMemberState = "Provisioned" + // ProvisionFailed specifies the provision failed state for sync member state. + ProvisionFailed SyncMemberState = "ProvisionFailed" + // Provisioning specifies the provisioning state for sync member state. + Provisioning SyncMemberState = "Provisioning" + // ReprovisionFailed specifies the reprovision failed state for sync member state. + ReprovisionFailed SyncMemberState = "ReprovisionFailed" + // Reprovisioning specifies the reprovisioning state for sync member state. + Reprovisioning SyncMemberState = "Reprovisioning" + // SyncCancelled specifies the sync cancelled state for sync member state. + SyncCancelled SyncMemberState = "SyncCancelled" + // SyncCancelling specifies the sync cancelling state for sync member state. + SyncCancelling SyncMemberState = "SyncCancelling" + // SyncFailed specifies the sync failed state for sync member state. + SyncFailed SyncMemberState = "SyncFailed" + // SyncInProgress specifies the sync in progress state for sync member state. + SyncInProgress SyncMemberState = "SyncInProgress" + // SyncSucceeded specifies the sync succeeded state for sync member state. + SyncSucceeded SyncMemberState = "SyncSucceeded" + // SyncSucceededWithWarnings specifies the sync succeeded with warnings state for sync member state. + SyncSucceededWithWarnings SyncMemberState = "SyncSucceededWithWarnings" + // UnProvisioned specifies the un provisioned state for sync member state. + UnProvisioned SyncMemberState = "UnProvisioned" + // UnReprovisioned specifies the un reprovisioned state for sync member state. + UnReprovisioned SyncMemberState = "UnReprovisioned" +) + +// TransparentDataEncryptionActivityStatus enumerates the values for transparent data encryption activity status. type TransparentDataEncryptionActivityStatus string const ( - // Decrypting specifies the decrypting state for transparent data - // encryption activity status. + // Decrypting specifies the decrypting state for transparent data encryption activity status. Decrypting TransparentDataEncryptionActivityStatus = "Decrypting" - // Encrypting specifies the encrypting state for transparent data - // encryption activity status. + // Encrypting specifies the encrypting state for transparent data encryption activity status. Encrypting TransparentDataEncryptionActivityStatus = "Encrypting" ) -// TransparentDataEncryptionStatus enumerates the values for transparent data -// encryption status. +// TransparentDataEncryptionStatus enumerates the values for transparent data encryption status. type TransparentDataEncryptionStatus string const ( - // TransparentDataEncryptionStatusDisabled specifies the transparent data - // encryption status disabled state for transparent data encryption status. + // TransparentDataEncryptionStatusDisabled specifies the transparent data encryption status disabled state for + // transparent data encryption status. TransparentDataEncryptionStatusDisabled TransparentDataEncryptionStatus = "Disabled" - // TransparentDataEncryptionStatusEnabled specifies the transparent data - // encryption status enabled state for transparent data encryption status. + // TransparentDataEncryptionStatusEnabled specifies the transparent data encryption status enabled state for + // transparent data encryption status. TransparentDataEncryptionStatusEnabled TransparentDataEncryptionStatus = "Enabled" ) +// UnitDefinitionType enumerates the values for unit definition type. +type UnitDefinitionType string + +const ( + // UnitDefinitionTypeBytes specifies the unit definition type bytes state for unit definition type. + UnitDefinitionTypeBytes UnitDefinitionType = "Bytes" + // UnitDefinitionTypeBytesPerSecond specifies the unit definition type bytes per second state for unit definition type. + UnitDefinitionTypeBytesPerSecond UnitDefinitionType = "BytesPerSecond" + // UnitDefinitionTypeCount specifies the unit definition type count state for unit definition type. + UnitDefinitionTypeCount UnitDefinitionType = "Count" + // UnitDefinitionTypeCountPerSecond specifies the unit definition type count per second state for unit definition type. + UnitDefinitionTypeCountPerSecond UnitDefinitionType = "CountPerSecond" + // UnitDefinitionTypePercent specifies the unit definition type percent state for unit definition type. + UnitDefinitionTypePercent UnitDefinitionType = "Percent" + // UnitDefinitionTypeSeconds specifies the unit definition type seconds state for unit definition type. + UnitDefinitionTypeSeconds UnitDefinitionType = "Seconds" +) + +// UnitType enumerates the values for unit type. +type UnitType string + +const ( + // UnitTypeBytes specifies the unit type bytes state for unit type. + UnitTypeBytes UnitType = "bytes" + // UnitTypeBytesPerSecond specifies the unit type bytes per second state for unit type. + UnitTypeBytesPerSecond UnitType = "bytesPerSecond" + // UnitTypeCount specifies the unit type count state for unit type. + UnitTypeCount UnitType = "count" + // UnitTypeCountPerSecond specifies the unit type count per second state for unit type. + UnitTypeCountPerSecond UnitType = "countPerSecond" + // UnitTypePercent specifies the unit type percent state for unit type. + UnitTypePercent UnitType = "percent" + // UnitTypeSeconds specifies the unit type seconds state for unit type. + UnitTypeSeconds UnitType = "seconds" +) + +// VirtualNetworkRuleState enumerates the values for virtual network rule state. +type VirtualNetworkRuleState string + +const ( + // VirtualNetworkRuleStateDeleting specifies the virtual network rule state deleting state for virtual network rule + // state. + VirtualNetworkRuleStateDeleting VirtualNetworkRuleState = "Deleting" + // VirtualNetworkRuleStateInitializing specifies the virtual network rule state initializing state for virtual network + // rule state. + VirtualNetworkRuleStateInitializing VirtualNetworkRuleState = "Initializing" + // VirtualNetworkRuleStateInProgress specifies the virtual network rule state in progress state for virtual network + // rule state. + VirtualNetworkRuleStateInProgress VirtualNetworkRuleState = "InProgress" + // VirtualNetworkRuleStateReady specifies the virtual network rule state ready state for virtual network rule state. + VirtualNetworkRuleStateReady VirtualNetworkRuleState = "Ready" + // VirtualNetworkRuleStateUnknown specifies the virtual network rule state unknown state for virtual network rule + // state. + VirtualNetworkRuleStateUnknown VirtualNetworkRuleState = "Unknown" +) + +// BackupLongTermRetentionPolicy is a backup long term retention policy +type BackupLongTermRetentionPolicy struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + *BackupLongTermRetentionPolicyProperties `json:"properties,omitempty"` +} + +// BackupLongTermRetentionPolicyProperties is the properties of a backup long term retention policy +type BackupLongTermRetentionPolicyProperties struct { + State BackupLongTermRetentionPolicyState `json:"state,omitempty"` + RecoveryServicesBackupPolicyResourceID *string `json:"recoveryServicesBackupPolicyResourceId,omitempty"` +} + +// BackupLongTermRetentionVault is a backup long term retention vault +type BackupLongTermRetentionVault struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + *BackupLongTermRetentionVaultProperties `json:"properties,omitempty"` +} + +// BackupLongTermRetentionVaultProperties is the properties of a backup long term retention vault. +type BackupLongTermRetentionVaultProperties struct { + RecoveryServicesVaultResourceID *string `json:"recoveryServicesVaultResourceId,omitempty"` +} + +// CheckNameAvailabilityRequest is a request to check whether the specified name for a resource is available. +type CheckNameAvailabilityRequest struct { + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` +} + +// CheckNameAvailabilityResponse is a response indicating whether the specified name for a resource is available. +type CheckNameAvailabilityResponse struct { + autorest.Response `json:"-"` + Available *bool `json:"available,omitempty"` + Message *string `json:"message,omitempty"` + Name *string `json:"name,omitempty"` + Reason CheckNameAvailabilityReason `json:"reason,omitempty"` +} + // Database is represents a database. type Database struct { autorest.Response `json:"-"` @@ -458,27 +781,24 @@ type Database struct { *DatabaseProperties `json:"properties,omitempty"` } -// DatabaseBlobAuditingPolicy is contains information about a database Blob -// Auditing policy. +// DatabaseBlobAuditingPolicy is a database blob auditing policy. type DatabaseBlobAuditingPolicy struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` - Location *string `json:"location,omitempty"` Kind *string `json:"kind,omitempty"` *DatabaseBlobAuditingPolicyProperties `json:"properties,omitempty"` } -// DatabaseBlobAuditingPolicyProperties is properties for a database Blob -// Auditing policy. +// DatabaseBlobAuditingPolicyProperties is properties of a database blob auditing policy. type DatabaseBlobAuditingPolicyProperties struct { State BlobAuditingPolicyState `json:"state,omitempty"` StorageEndpoint *string `json:"storageEndpoint,omitempty"` StorageAccountAccessKey *string `json:"storageAccountAccessKey,omitempty"` RetentionDays *int32 `json:"retentionDays,omitempty"` AuditActionsAndGroups *[]string `json:"auditActionsAndGroups,omitempty"` - StorageAccountSubscriptionID *string `json:"storageAccountSubscriptionId,omitempty"` + StorageAccountSubscriptionID *uuid.UUID `json:"storageAccountSubscriptionId,omitempty"` IsStorageSecondaryKeyInUse *bool `json:"isStorageSecondaryKeyInUse,omitempty"` } @@ -488,23 +808,46 @@ type DatabaseListResult struct { Value *[]Database `json:"value,omitempty"` } -// DatabaseMetric is represents database metrics. -type DatabaseMetric struct { - Name *string `json:"name,omitempty"` - ID *string `json:"id,omitempty"` - ResourceName *string `json:"resourceName,omitempty"` - DisplayName *string `json:"displayName,omitempty"` - CurrentValue *float64 `json:"currentValue,omitempty"` - Limit *float64 `json:"limit,omitempty"` - Unit *string `json:"unit,omitempty"` - NextResetTime *date.Time `json:"nextResetTime,omitempty"` +// DatabaseOperation is a database operation. +type DatabaseOperation struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *DatabaseOperationProperties `json:"properties,omitempty"` } -// DatabaseMetricListResult is represents the response to a list database -// metrics request. -type DatabaseMetricListResult struct { +// DatabaseOperationListResult is the response to a list database operations request +type DatabaseOperationListResult struct { autorest.Response `json:"-"` - Value *[]DatabaseMetric `json:"value,omitempty"` + Value *[]DatabaseOperation `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// DatabaseOperationListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client DatabaseOperationListResult) DatabaseOperationListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// DatabaseOperationProperties is the properties of a database operation. +type DatabaseOperationProperties struct { + DatabaseName *string `json:"databaseName,omitempty"` + Operation *string `json:"operation,omitempty"` + OperationFriendlyName *string `json:"operationFriendlyName,omitempty"` + PercentComplete *int32 `json:"percentComplete,omitempty"` + ServerName *string `json:"serverName,omitempty"` + StartTime *date.Time `json:"startTime,omitempty"` + State ManagementOperationState `json:"state,omitempty"` + ErrorCode *int32 `json:"errorCode,omitempty"` + ErrorDescription *string `json:"errorDescription,omitempty"` + ErrorSeverity *int32 `json:"errorSeverity,omitempty"` + IsUserError *bool `json:"isUserError,omitempty"` } // DatabaseProperties is represents the properties of a database. @@ -531,13 +874,12 @@ type DatabaseProperties struct { ServiceTierAdvisors *[]ServiceTierAdvisor `json:"serviceTierAdvisors,omitempty"` TransparentDataEncryption *[]TransparentDataEncryption `json:"transparentDataEncryption,omitempty"` RecommendedIndex *[]RecommendedIndex `json:"recommendedIndex,omitempty"` - FailoverGroupID *uuid.UUID `json:"failoverGroupId,omitempty"` + FailoverGroupID *string `json:"failoverGroupId,omitempty"` ReadScale ReadScale `json:"readScale,omitempty"` SampleName SampleName `json:"sampleName,omitempty"` } -// DatabaseSecurityAlertPolicy is contains information about a database Threat -// Detection policy. +// DatabaseSecurityAlertPolicy is contains information about a database Threat Detection policy. type DatabaseSecurityAlertPolicy struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -548,8 +890,7 @@ type DatabaseSecurityAlertPolicy struct { *DatabaseSecurityAlertPolicyProperties `json:"properties,omitempty"` } -// DatabaseSecurityAlertPolicyProperties is properties for a database Threat -// Detection policy. +// DatabaseSecurityAlertPolicyProperties is properties for a database Threat Detection policy. type DatabaseSecurityAlertPolicyProperties struct { State SecurityAlertPolicyState `json:"state,omitempty"` DisabledAlerts *string `json:"disabledAlerts,omitempty"` @@ -561,6 +902,84 @@ type DatabaseSecurityAlertPolicyProperties struct { UseServerDefault SecurityAlertPolicyUseServerDefault `json:"useServerDefault,omitempty"` } +// DatabaseUpdate is represents a database update. +type DatabaseUpdate struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + *DatabaseProperties `json:"properties,omitempty"` +} + +// DatabaseUsage is the database usages. +type DatabaseUsage struct { + Name *string `json:"name,omitempty"` + ResourceName *string `json:"resourceName,omitempty"` + DisplayName *string `json:"displayName,omitempty"` + CurrentValue *float64 `json:"currentValue,omitempty"` + Limit *float64 `json:"limit,omitempty"` + Unit *string `json:"unit,omitempty"` + NextResetTime *date.Time `json:"nextResetTime,omitempty"` +} + +// DatabaseUsageListResult is the response to a list database metrics request. +type DatabaseUsageListResult struct { + autorest.Response `json:"-"` + Value *[]DatabaseUsage `json:"value,omitempty"` +} + +// DataMaskingPolicy is represents a database data masking policy. +type DataMaskingPolicy struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *DataMaskingPolicyProperties `json:"properties,omitempty"` + Location *string `json:"location,omitempty"` + Kind *string `json:"kind,omitempty"` +} + +// DataMaskingPolicyProperties is the properties of a database data masking policy. +type DataMaskingPolicyProperties struct { + DataMaskingState DataMaskingState `json:"dataMaskingState,omitempty"` + ExemptPrincipals *string `json:"exemptPrincipals,omitempty"` + ApplicationPrincipals *string `json:"applicationPrincipals,omitempty"` + MaskingLevel *string `json:"maskingLevel,omitempty"` +} + +// DataMaskingRule is represents a database data masking rule. +type DataMaskingRule struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *DataMaskingRuleProperties `json:"properties,omitempty"` + Location *string `json:"location,omitempty"` + Kind *string `json:"kind,omitempty"` +} + +// DataMaskingRuleListResult is the response to a list data masking rules request. +type DataMaskingRuleListResult struct { + autorest.Response `json:"-"` + Value *[]DataMaskingRule `json:"value,omitempty"` +} + +// DataMaskingRuleProperties is the properties of a database data masking rule. +type DataMaskingRuleProperties struct { + ID *string `json:"id,omitempty"` + AliasName *string `json:"aliasName,omitempty"` + RuleState DataMaskingRuleState `json:"ruleState,omitempty"` + SchemaName *string `json:"schemaName,omitempty"` + TableName *string `json:"tableName,omitempty"` + ColumnName *string `json:"columnName,omitempty"` + MaskingFunction DataMaskingFunction `json:"maskingFunction,omitempty"` + NumberFrom *string `json:"numberFrom,omitempty"` + NumberTo *string `json:"numberTo,omitempty"` + PrefixSize *string `json:"prefixSize,omitempty"` + SuffixSize *string `json:"suffixSize,omitempty"` + ReplacementString *string `json:"replacementString,omitempty"` +} + // EditionCapability is the database edition capabilities. type EditionCapability struct { Name *string `json:"name,omitempty"` @@ -589,15 +1008,13 @@ type ElasticPoolActivity struct { *ElasticPoolActivityProperties `json:"properties,omitempty"` } -// ElasticPoolActivityListResult is represents the response to a list elastic -// pool activity request. +// ElasticPoolActivityListResult is represents the response to a list elastic pool activity request. type ElasticPoolActivityListResult struct { autorest.Response `json:"-"` Value *[]ElasticPoolActivity `json:"value,omitempty"` } -// ElasticPoolActivityProperties is represents the properties of an elastic -// pool. +// ElasticPoolActivityProperties is represents the properties of an elastic pool. type ElasticPoolActivityProperties struct { EndTime *date.Time `json:"endTime,omitempty"` ErrorCode *int32 `json:"errorCode,omitempty"` @@ -630,15 +1047,13 @@ type ElasticPoolDatabaseActivity struct { *ElasticPoolDatabaseActivityProperties `json:"properties,omitempty"` } -// ElasticPoolDatabaseActivityListResult is represents the response to a list -// elastic pool database activity request. +// ElasticPoolDatabaseActivityListResult is represents the response to a list elastic pool database activity request. type ElasticPoolDatabaseActivityListResult struct { autorest.Response `json:"-"` Value *[]ElasticPoolDatabaseActivity `json:"value,omitempty"` } -// ElasticPoolDatabaseActivityProperties is represents the properties of an -// elastic pool database activity. +// ElasticPoolDatabaseActivityProperties is represents the properties of an elastic pool database activity. type ElasticPoolDatabaseActivityProperties struct { DatabaseName *string `json:"databaseName,omitempty"` EndTime *date.Time `json:"endTime,omitempty"` @@ -675,23 +1090,20 @@ type ElasticPoolEditionCapability struct { SupportedElasticPoolDtus *[]ElasticPoolDtuCapability `json:"supportedElasticPoolDtus,omitempty"` } -// ElasticPoolListResult is represents the response to a list elastic pool -// request. +// ElasticPoolListResult is represents the response to a list elastic pool request. type ElasticPoolListResult struct { autorest.Response `json:"-"` Value *[]ElasticPool `json:"value,omitempty"` } -// ElasticPoolPerDatabaseMaxDtuCapability is the max per-database DTU -// capability. +// ElasticPoolPerDatabaseMaxDtuCapability is the max per-database DTU capability. type ElasticPoolPerDatabaseMaxDtuCapability struct { Limit *int64 `json:"limit,omitempty"` Status CapabilityStatus `json:"status,omitempty"` SupportedPerDatabaseMinDtus *[]ElasticPoolPerDatabaseMinDtuCapability `json:"supportedPerDatabaseMinDtus,omitempty"` } -// ElasticPoolPerDatabaseMinDtuCapability is the minimum per-database DTU -// capability. +// ElasticPoolPerDatabaseMinDtuCapability is the minimum per-database DTU capability. type ElasticPoolPerDatabaseMinDtuCapability struct { Limit *int64 `json:"limit,omitempty"` Status CapabilityStatus `json:"status,omitempty"` @@ -708,6 +1120,54 @@ type ElasticPoolProperties struct { StorageMB *int32 `json:"storageMB,omitempty"` } +// ElasticPoolUpdate is represents an elastic pool update. +type ElasticPoolUpdate struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + *ElasticPoolProperties `json:"properties,omitempty"` +} + +// EncryptionProtector is the server encryption protector. +type EncryptionProtector struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Kind *string `json:"kind,omitempty"` + Location *string `json:"location,omitempty"` + *EncryptionProtectorProperties `json:"properties,omitempty"` +} + +// EncryptionProtectorListResult is a list of server encryption protectors. +type EncryptionProtectorListResult struct { + autorest.Response `json:"-"` + Value *[]EncryptionProtector `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// EncryptionProtectorListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client EncryptionProtectorListResult) EncryptionProtectorListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// EncryptionProtectorProperties is properties for an encryption protector execution. +type EncryptionProtectorProperties struct { + Subregion *string `json:"subregion,omitempty"` + ServerKeyName *string `json:"serverKeyName,omitempty"` + ServerKeyType ServerKeyType `json:"serverKeyType,omitempty"` + URI *string `json:"uri,omitempty"` + Thumbprint *string `json:"thumbprint,omitempty"` +} + // ExportRequest is export database parameters. type ExportRequest struct { StorageKeyType StorageKeyType `json:"storageKeyType,omitempty"` @@ -718,31 +1178,116 @@ type ExportRequest struct { AuthenticationType AuthenticationType `json:"authenticationType,omitempty"` } +// FailoverGroup is a failover group. +type FailoverGroup struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + *FailoverGroupProperties `json:"properties,omitempty"` +} + +// FailoverGroupListResult is a list of failover groups. +type FailoverGroupListResult struct { + autorest.Response `json:"-"` + Value *[]FailoverGroup `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// FailoverGroupListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client FailoverGroupListResult) FailoverGroupListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// FailoverGroupProperties is properties of a failover group. +type FailoverGroupProperties struct { + ReadWriteEndpoint *FailoverGroupReadWriteEndpoint `json:"readWriteEndpoint,omitempty"` + ReadOnlyEndpoint *FailoverGroupReadOnlyEndpoint `json:"readOnlyEndpoint,omitempty"` + ReplicationRole FailoverGroupReplicationRole `json:"replicationRole,omitempty"` + ReplicationState *string `json:"replicationState,omitempty"` + PartnerServers *[]PartnerInfo `json:"partnerServers,omitempty"` + Databases *[]string `json:"databases,omitempty"` +} + +// FailoverGroupReadOnlyEndpoint is read-only endpoint of the failover group instance. +type FailoverGroupReadOnlyEndpoint struct { + FailoverPolicy ReadOnlyEndpointFailoverPolicy `json:"failoverPolicy,omitempty"` +} + +// FailoverGroupReadWriteEndpoint is read-write endpoint of the failover group instance. +type FailoverGroupReadWriteEndpoint struct { + FailoverPolicy ReadWriteEndpointFailoverPolicy `json:"failoverPolicy,omitempty"` + FailoverWithDataLossGracePeriodMinutes *int32 `json:"failoverWithDataLossGracePeriodMinutes,omitempty"` +} + +// FailoverGroupUpdate is a failover group update request. +type FailoverGroupUpdate struct { + *FailoverGroupUpdateProperties `json:"properties,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` +} + +// FailoverGroupUpdateProperties is properties of a failover group update. +type FailoverGroupUpdateProperties struct { + ReadWriteEndpoint *FailoverGroupReadWriteEndpoint `json:"readWriteEndpoint,omitempty"` + ReadOnlyEndpoint *FailoverGroupReadOnlyEndpoint `json:"readOnlyEndpoint,omitempty"` + Databases *[]string `json:"databases,omitempty"` +} + // FirewallRule is represents a server firewall rule. type FirewallRule struct { autorest.Response `json:"-"` - Name *string `json:"name,omitempty"` ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` Kind *string `json:"kind,omitempty"` Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` *FirewallRuleProperties `json:"properties,omitempty"` } -// FirewallRuleListResult is represents the response to a List Firewall Rules -// request. +// FirewallRuleListResult is represents the response to a List Firewall Rules request. type FirewallRuleListResult struct { autorest.Response `json:"-"` Value *[]FirewallRule `json:"value,omitempty"` } -// FirewallRuleProperties is represents the properties of a server firewall -// rule. +// FirewallRuleProperties is represents the properties of a server firewall rule. type FirewallRuleProperties struct { StartIPAddress *string `json:"startIpAddress,omitempty"` EndIPAddress *string `json:"endIpAddress,omitempty"` } +// GeoBackupPolicy is a database geo backup policy. +type GeoBackupPolicy struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *GeoBackupPolicyProperties `json:"properties,omitempty"` + Kind *string `json:"kind,omitempty"` + Location *string `json:"location,omitempty"` +} + +// GeoBackupPolicyListResult is the response to a list geo backup policies request. +type GeoBackupPolicyListResult struct { + autorest.Response `json:"-"` + Value *[]GeoBackupPolicy `json:"value,omitempty"` +} + +// GeoBackupPolicyProperties is the properties of the geo backup policy. +type GeoBackupPolicyProperties struct { + State GeoBackupPolicyState `json:"state,omitempty"` + StorageType *string `json:"storageType,omitempty"` +} + // ImportExportResponse is response for Import/Export Get operation. type ImportExportResponse struct { autorest.Response `json:"-"` @@ -752,8 +1297,7 @@ type ImportExportResponse struct { *ImportExportResponseProperties `json:"properties,omitempty"` } -// ImportExportResponseProperties is response for Import/Export Status -// operation. +// ImportExportResponseProperties is response for Import/Export Status operation. type ImportExportResponseProperties struct { RequestType *string `json:"requestType,omitempty"` RequestID *uuid.UUID `json:"requestId,omitempty"` @@ -766,8 +1310,7 @@ type ImportExportResponseProperties struct { ErrorMessage *string `json:"errorMessage,omitempty"` } -// ImportExtensionProperties is represents the properties for an import -// operation +// ImportExtensionProperties is represents the properties for an import operation type ImportExtensionProperties struct { StorageKeyType StorageKeyType `json:"storageKeyType,omitempty"` StorageKey *string `json:"storageKey,omitempty"` @@ -814,21 +1357,76 @@ type MaxSizeCapability struct { Status CapabilityStatus `json:"status,omitempty"` } -// Operation is sQL REST API operation definition. +// Metric is database metrics. +type Metric struct { + StartTime *date.Time `json:"startTime,omitempty"` + EndTime *date.Time `json:"endTime,omitempty"` + TimeGrain *string `json:"timeGrain,omitempty"` + Unit UnitType `json:"unit,omitempty"` + Name *MetricName `json:"name,omitempty"` + MetricValues *[]MetricValue `json:"metricValues,omitempty"` +} + +// MetricAvailability is a metric availability value. +type MetricAvailability struct { + Retention *string `json:"retention,omitempty"` + TimeGrain *string `json:"timeGrain,omitempty"` +} + +// MetricDefinition is a database metric definition. +type MetricDefinition struct { + Name *MetricName `json:"name,omitempty"` + PrimaryAggregationType PrimaryAggregationType `json:"primaryAggregationType,omitempty"` + ResourceURI *string `json:"resourceUri,omitempty"` + Unit UnitDefinitionType `json:"unit,omitempty"` + MetricAvailabilities *[]MetricAvailability `json:"metricAvailabilities,omitempty"` +} + +// MetricDefinitionListResult is the response to a list database metric definitions request. +type MetricDefinitionListResult struct { + autorest.Response `json:"-"` + Value *[]MetricDefinition `json:"value,omitempty"` +} + +// MetricListResult is the response to a list database metrics request. +type MetricListResult struct { + autorest.Response `json:"-"` + Value *[]Metric `json:"value,omitempty"` +} + +// MetricName is a database metric name. +type MetricName struct { + Value *string `json:"value,omitempty"` + LocalizedValue *string `json:"localizedValue,omitempty"` +} + +// MetricValue is represents database metrics. +type MetricValue struct { + Count *float64 `json:"count,omitempty"` + Average *float64 `json:"average,omitempty"` + Maximum *float64 `json:"maximum,omitempty"` + Minimum *float64 `json:"minimum,omitempty"` + Timestamp *date.Time `json:"timestamp,omitempty"` + Total *float64 `json:"total,omitempty"` +} + +// Operation is SQL REST API operation definition. type Operation struct { - Name *string `json:"name,omitempty"` - Display *OperationDisplay `json:"display,omitempty"` + Name *string `json:"name,omitempty"` + Display *OperationDisplay `json:"display,omitempty"` + Origin OperationOrigin `json:"origin,omitempty"` + Properties *map[string]*map[string]interface{} `json:"properties,omitempty"` } // OperationDisplay is display metadata associated with the operation. type OperationDisplay struct { - Provider *string `json:"provider,omitempty"` - Resource *string `json:"resource,omitempty"` - Operation *string `json:"operation,omitempty"` + Provider *string `json:"provider,omitempty"` + Resource *string `json:"resource,omitempty"` + Operation *string `json:"operation,omitempty"` + Description *string `json:"description,omitempty"` } -// OperationImpact is represents impact of an operation, both in absolute and -// relative terms. +// OperationImpact is the impact of an operation, both in absolute and relative terms. type OperationImpact struct { Name *string `json:"name,omitempty"` Unit *string `json:"unit,omitempty"` @@ -836,22 +1434,39 @@ type OperationImpact struct { ChangeValueRelative *float64 `json:"changeValueRelative,omitempty"` } -// OperationListResult is result of the request to list SQL operations. It -// contains a list of operations and a URL link to get the next set of results. +// OperationListResult is result of the request to list SQL operations. type OperationListResult struct { autorest.Response `json:"-"` Value *[]Operation `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } -// PerformanceLevel is a possible performance level of a service objective -// capability. +// OperationListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client OperationListResult) OperationListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// PartnerInfo is partner server information for the failover group. +type PartnerInfo struct { + ID *string `json:"id,omitempty"` + Location *string `json:"location,omitempty"` + ReplicationRole FailoverGroupReplicationRole `json:"replicationRole,omitempty"` +} + +// PerformanceLevel is a possible performance level of a service objective capability. type PerformanceLevel struct { Unit PerformanceLevelUnit `json:"unit,omitempty"` Value *int32 `json:"value,omitempty"` } -// ProxyResource is aRM proxy resource. +// ProxyResource is ARM proxy resource. type ProxyResource struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` @@ -867,15 +1482,14 @@ type RecommendedElasticPool struct { *RecommendedElasticPoolProperties `json:"properties,omitempty"` } -// RecommendedElasticPoolListMetricsResult is represents the response to a list -// recommended elastic pool metrics request. +// RecommendedElasticPoolListMetricsResult is represents the response to a list recommended elastic pool metrics +// request. type RecommendedElasticPoolListMetricsResult struct { autorest.Response `json:"-"` Value *[]RecommendedElasticPoolMetric `json:"value,omitempty"` } -// RecommendedElasticPoolListResult is represents the response to a list -// recommended elastic pool request. +// RecommendedElasticPoolListResult is represents the response to a list recommended elastic pool request. type RecommendedElasticPoolListResult struct { autorest.Response `json:"-"` Value *[]RecommendedElasticPool `json:"value,omitempty"` @@ -888,8 +1502,7 @@ type RecommendedElasticPoolMetric struct { SizeGB *float64 `json:"sizeGB,omitempty"` } -// RecommendedElasticPoolProperties is represents the properties of a -// recommented elastic pool. +// RecommendedElasticPoolProperties is represents the properties of a recommented elastic pool. type RecommendedElasticPoolProperties struct { DatabaseEdition ElasticPoolEdition `json:"databaseEdition,omitempty"` Dtu *float64 `json:"dtu,omitempty"` @@ -912,8 +1525,7 @@ type RecommendedIndex struct { *RecommendedIndexProperties `json:"properties,omitempty"` } -// RecommendedIndexProperties is represents the properties of a database -// recommended index. +// RecommendedIndexProperties is represents the properties of a database recommended index. type RecommendedIndexProperties struct { Action RecommendedIndexAction `json:"action,omitempty"` State RecommendedIndexState `json:"state,omitempty"` @@ -929,25 +1541,46 @@ type RecommendedIndexProperties struct { ReportedImpact *[]OperationImpact `json:"reportedImpact,omitempty"` } +// RecoverableDatabase is a recoverable database +type RecoverableDatabase struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *RecoverableDatabaseProperties `json:"properties,omitempty"` +} + +// RecoverableDatabaseListResult is the response to a list recoverable databases request +type RecoverableDatabaseListResult struct { + autorest.Response `json:"-"` + Value *[]RecoverableDatabase `json:"value,omitempty"` +} + +// RecoverableDatabaseProperties is the properties of a recoverable database +type RecoverableDatabaseProperties struct { + Edition *string `json:"edition,omitempty"` + ServiceLevelObjective *string `json:"serviceLevelObjective,omitempty"` + ElasticPoolName *string `json:"elasticPoolName,omitempty"` + LastAvailableBackupDate *date.Time `json:"lastAvailableBackupDate,omitempty"` +} + // ReplicationLink is represents a database replication link. type ReplicationLink struct { autorest.Response `json:"-"` - Name *string `json:"name,omitempty"` ID *string `json:"id,omitempty"` - Location *string `json:"location,omitempty"` + Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` *ReplicationLinkProperties `json:"properties,omitempty"` } -// ReplicationLinkListResult is represents the response to a List database -// replication link request. +// ReplicationLinkListResult is represents the response to a List database replication link request. type ReplicationLinkListResult struct { autorest.Response `json:"-"` Value *[]ReplicationLink `json:"value,omitempty"` } -// ReplicationLinkProperties is represents the properties of a database -// replication link. +// ReplicationLinkProperties is represents the properties of a database replication link. type ReplicationLinkProperties struct { IsTerminationAllowed *bool `json:"isTerminationAllowed,omitempty"` ReplicationMode *string `json:"replicationMode,omitempty"` @@ -961,14 +1594,49 @@ type ReplicationLinkProperties struct { ReplicationState ReplicationState `json:"replicationState,omitempty"` } -// Resource is aRM resource. +// Resource is ARM resource. type Resource struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` } -// RestorePoint is represents a database restore point. +// ResourceIdentity is azure Active Directory identity configuration for a resource. +type ResourceIdentity struct { + PrincipalID *uuid.UUID `json:"principalId,omitempty"` + Type IdentityType `json:"type,omitempty"` + TenantID *uuid.UUID `json:"tenantId,omitempty"` +} + +// RestorableDroppedDatabase is a restorable dropped database +type RestorableDroppedDatabase struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` + *RestorableDroppedDatabaseProperties `json:"properties,omitempty"` +} + +// RestorableDroppedDatabaseListResult is the response to a list restorable dropped databases request +type RestorableDroppedDatabaseListResult struct { + autorest.Response `json:"-"` + Value *[]RestorableDroppedDatabase `json:"value,omitempty"` +} + +// RestorableDroppedDatabaseProperties is the properties of a restorable dropped database +type RestorableDroppedDatabaseProperties struct { + DatabaseName *string `json:"databaseName,omitempty"` + Edition *string `json:"edition,omitempty"` + MaxSizeBytes *string `json:"maxSizeBytes,omitempty"` + ServiceLevelObjective *string `json:"serviceLevelObjective,omitempty"` + ElasticPoolName *string `json:"elasticPoolName,omitempty"` + CreationDate *date.Time `json:"creationDate,omitempty"` + DeletionDate *date.Time `json:"deletionDate,omitempty"` + EarliestRestoreDate *date.Time `json:"earliestRestoreDate,omitempty"` +} + +// RestorePoint is a database restore point. type RestorePoint struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` @@ -976,22 +1644,20 @@ type RestorePoint struct { *RestorePointProperties `json:"properties,omitempty"` } -// RestorePointListResult is represents the response to a list database restore -// points request. +// RestorePointListResult is the response to a list database restore points request. type RestorePointListResult struct { autorest.Response `json:"-"` Value *[]RestorePoint `json:"value,omitempty"` } -// RestorePointProperties is represents the properties of a database restore -// point. +// RestorePointProperties is represents the properties of a database restore point. type RestorePointProperties struct { - RestorePointType RestorePointTypes `json:"restorePointType,omitempty"` - RestorePointCreationDate *date.Time `json:"restorePointCreationDate,omitempty"` - EarliestRestoreDate *date.Time `json:"earliestRestoreDate,omitempty"` + RestorePointType RestorePointType `json:"restorePointType,omitempty"` + RestorePointCreationDate *date.Time `json:"restorePointCreationDate,omitempty"` + EarliestRestoreDate *date.Time `json:"earliestRestoreDate,omitempty"` } -// Server is represents a server. +// Server is an Azure SQL Database server. type Server struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -999,18 +1665,148 @@ type Server struct { Type *string `json:"type,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` Location *string `json:"location,omitempty"` + Identity *ResourceIdentity `json:"identity,omitempty"` Kind *string `json:"kind,omitempty"` *ServerProperties `json:"properties,omitempty"` } -// ServerListResult is represents the response to a get server request. +// ServerAdministratorListResult is the response to a list Active Directory Administrators request. +type ServerAdministratorListResult struct { + autorest.Response `json:"-"` + Value *[]ServerAzureADAdministrator `json:"value,omitempty"` +} + +// ServerAdministratorProperties is the properties of an server Administrator. +type ServerAdministratorProperties struct { + AdministratorType *string `json:"administratorType,omitempty"` + Login *string `json:"login,omitempty"` + Sid *uuid.UUID `json:"sid,omitempty"` + TenantID *uuid.UUID `json:"tenantId,omitempty"` +} + +// ServerAzureADAdministrator is an server Active Directory Administrator. +type ServerAzureADAdministrator struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *ServerAdministratorProperties `json:"properties,omitempty"` +} + +// ServerCommunicationLink is server communication link. +type ServerCommunicationLink struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *ServerCommunicationLinkProperties `json:"properties,omitempty"` + Location *string `json:"location,omitempty"` + Kind *string `json:"kind,omitempty"` +} + +// ServerCommunicationLinkListResult is a list of server communication links. +type ServerCommunicationLinkListResult struct { + autorest.Response `json:"-"` + Value *[]ServerCommunicationLink `json:"value,omitempty"` +} + +// ServerCommunicationLinkProperties is the properties of a server communication link. +type ServerCommunicationLinkProperties struct { + State *string `json:"state,omitempty"` + PartnerServer *string `json:"partnerServer,omitempty"` +} + +// ServerConnectionPolicy is a server secure connection policy. +type ServerConnectionPolicy struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Kind *string `json:"kind,omitempty"` + Location *string `json:"location,omitempty"` + *ServerConnectionPolicyProperties `json:"properties,omitempty"` +} + +// ServerConnectionPolicyProperties is the properties of a server secure connection policy. +type ServerConnectionPolicyProperties struct { + ConnectionType ServerConnectionType `json:"connectionType,omitempty"` +} + +// ServerKey is a server key. +type ServerKey struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Kind *string `json:"kind,omitempty"` + Location *string `json:"location,omitempty"` + *ServerKeyProperties `json:"properties,omitempty"` +} + +// ServerKeyListResult is a list of server keys. +type ServerKeyListResult struct { + autorest.Response `json:"-"` + Value *[]ServerKey `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// ServerKeyListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client ServerKeyListResult) ServerKeyListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// ServerKeyProperties is properties for a server key execution. +type ServerKeyProperties struct { + Subregion *string `json:"subregion,omitempty"` + ServerKeyType ServerKeyType `json:"serverKeyType,omitempty"` + URI *string `json:"uri,omitempty"` + Thumbprint *string `json:"thumbprint,omitempty"` + CreationDate *date.Time `json:"creationDate,omitempty"` +} + +// ServerListResult is a list of servers. type ServerListResult struct { autorest.Response `json:"-"` Value *[]Server `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` } -// ServerMetric is represents server metrics. -type ServerMetric struct { +// ServerListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client ServerListResult) ServerListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// ServerProperties is the properties of a server. +type ServerProperties struct { + AdministratorLogin *string `json:"administratorLogin,omitempty"` + AdministratorLoginPassword *string `json:"administratorLoginPassword,omitempty"` + Version *string `json:"version,omitempty"` + State *string `json:"state,omitempty"` + FullyQualifiedDomainName *string `json:"fullyQualifiedDomainName,omitempty"` +} + +// ServerUpdate is an update request for an Azure SQL Database server. +type ServerUpdate struct { + *ServerProperties `json:"properties,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` +} + +// ServerUsage is represents server metrics. +type ServerUsage struct { Name *string `json:"name,omitempty"` ResourceName *string `json:"resourceName,omitempty"` DisplayName *string `json:"displayName,omitempty"` @@ -1020,22 +1816,10 @@ type ServerMetric struct { NextResetTime *date.Time `json:"nextResetTime,omitempty"` } -// ServerMetricListResult is represents the response to a list server metrics -// request. -type ServerMetricListResult struct { +// ServerUsageListResult is represents the response to a list server metrics request. +type ServerUsageListResult struct { autorest.Response `json:"-"` - Value *[]ServerMetric `json:"value,omitempty"` -} - -// ServerProperties is represents the properties of a server. -type ServerProperties struct { - FullyQualifiedDomainName *string `json:"fullyQualifiedDomainName,omitempty"` - Version ServerVersion `json:"version,omitempty"` - AdministratorLogin *string `json:"administratorLogin,omitempty"` - AdministratorLoginPassword *string `json:"administratorLoginPassword,omitempty"` - ExternalAdministratorSid *uuid.UUID `json:"externalAdministratorSid,omitempty"` - ExternalAdministratorLogin *string `json:"externalAdministratorLogin,omitempty"` - State ServerState `json:"state,omitempty"` + Value *[]ServerUsage `json:"value,omitempty"` } // ServerVersionCapability is the server capabilities. @@ -1049,8 +1833,9 @@ type ServerVersionCapability struct { // ServiceObjective is represents a database service objective. type ServiceObjective struct { autorest.Response `json:"-"` - Name *string `json:"name,omitempty"` ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` *ServiceObjectiveProperties `json:"properties,omitempty"` } @@ -1064,15 +1849,13 @@ type ServiceObjectiveCapability struct { IncludedMaxSize *MaxSizeCapability `json:"includedMaxSize,omitempty"` } -// ServiceObjectiveListResult is represents the response to a get database -// service objectives request. +// ServiceObjectiveListResult is represents the response to a get database service objectives request. type ServiceObjectiveListResult struct { autorest.Response `json:"-"` Value *[]ServiceObjective `json:"value,omitempty"` } -// ServiceObjectiveProperties is represents the properties of a database -// service objective. +// ServiceObjectiveProperties is represents the properties of a database service objective. type ServiceObjectiveProperties struct { ServiceObjectiveName *string `json:"serviceObjectiveName,omitempty"` IsDefault *bool `json:"isDefault,omitempty"` @@ -1084,20 +1867,19 @@ type ServiceObjectiveProperties struct { // ServiceTierAdvisor is represents a Service Tier Advisor. type ServiceTierAdvisor struct { autorest.Response `json:"-"` - Name *string `json:"name,omitempty"` ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` *ServiceTierAdvisorProperties `json:"properties,omitempty"` } -// ServiceTierAdvisorListResult is represents the response to a list service -// tier advisor request. +// ServiceTierAdvisorListResult is represents the response to a list service tier advisor request. type ServiceTierAdvisorListResult struct { autorest.Response `json:"-"` Value *[]ServiceTierAdvisor `json:"value,omitempty"` } -// ServiceTierAdvisorProperties is represents the properties of a Service Tier -// Advisor. +// ServiceTierAdvisorProperties is represents the properties of a Service Tier Advisor. type ServiceTierAdvisorProperties struct { ObservationPeriodStart *date.Time `json:"observationPeriodStart,omitempty"` ObservationPeriodEnd *date.Time `json:"observationPeriodEnd,omitempty"` @@ -1120,20 +1902,294 @@ type ServiceTierAdvisorProperties struct { Confidence *float64 `json:"confidence,omitempty"` } -// SloUsageMetric is represents a Slo Usage Metric. +// SloUsageMetric is a Slo Usage Metric. type SloUsageMetric struct { ServiceLevelObjective ServiceObjectiveName `json:"serviceLevelObjective,omitempty"` ServiceLevelObjectiveID *uuid.UUID `json:"serviceLevelObjectiveId,omitempty"` InRangeTimeRatio *float64 `json:"inRangeTimeRatio,omitempty"` } -// SubResource is subresource properties -type SubResource struct { - Name *string `json:"name,omitempty"` - ID *string `json:"id,omitempty"` +// SyncAgent is an Azure SQL Database sync agent. +type SyncAgent struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *SyncAgentProperties `json:"properties,omitempty"` } -// TrackedResource is aRM tracked top level resource. +// SyncAgentKeyProperties is properties of an Azure SQL Database sync agent key. +type SyncAgentKeyProperties struct { + autorest.Response `json:"-"` + SyncAgentKey *string `json:"syncAgentKey,omitempty"` +} + +// SyncAgentLinkedDatabase is an Azure SQL Database sync agent linked database. +type SyncAgentLinkedDatabase struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *SyncAgentLinkedDatabaseProperties `json:"properties,omitempty"` +} + +// SyncAgentLinkedDatabaseListResult is a list of sync agent linked databases. +type SyncAgentLinkedDatabaseListResult struct { + autorest.Response `json:"-"` + Value *[]SyncAgentLinkedDatabase `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// SyncAgentLinkedDatabaseListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client SyncAgentLinkedDatabaseListResult) SyncAgentLinkedDatabaseListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// SyncAgentLinkedDatabaseProperties is properties of an Azure SQL Database sync agent linked database. +type SyncAgentLinkedDatabaseProperties struct { + DatabaseType SyncMemberDbType `json:"databaseType,omitempty"` + DatabaseID *string `json:"databaseId,omitempty"` + Description *string `json:"description,omitempty"` + ServerName *string `json:"serverName,omitempty"` + DatabaseName *string `json:"databaseName,omitempty"` + UserName *string `json:"userName,omitempty"` +} + +// SyncAgentListResult is a list of sync agents. +type SyncAgentListResult struct { + autorest.Response `json:"-"` + Value *[]SyncAgent `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// SyncAgentListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client SyncAgentListResult) SyncAgentListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// SyncAgentProperties is properties of an Azure SQL Database sync agent. +type SyncAgentProperties struct { + Name *string `json:"name,omitempty"` + SyncDatabaseID *string `json:"syncDatabaseId,omitempty"` + LastAliveTime *date.Time `json:"lastAliveTime,omitempty"` + State SyncAgentState `json:"state,omitempty"` + IsUpToDate *bool `json:"isUpToDate,omitempty"` + ExpiryTime *date.Time `json:"expiryTime,omitempty"` + Version *string `json:"version,omitempty"` +} + +// SyncDatabaseIDListResult is a list of sync database ID properties. +type SyncDatabaseIDListResult struct { + autorest.Response `json:"-"` + Value *[]SyncDatabaseIDProperties `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// SyncDatabaseIDListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client SyncDatabaseIDListResult) SyncDatabaseIDListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// SyncDatabaseIDProperties is properties of the sync database id. +type SyncDatabaseIDProperties struct { + ID *string `json:"id,omitempty"` +} + +// SyncFullSchemaProperties is properties of the database full schema. +type SyncFullSchemaProperties struct { + Tables *[]SyncFullSchemaTable `json:"tables,omitempty"` + LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` +} + +// SyncFullSchemaPropertiesListResult is a list of sync schema properties. +type SyncFullSchemaPropertiesListResult struct { + autorest.Response `json:"-"` + Value *[]SyncFullSchemaProperties `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// SyncFullSchemaPropertiesListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client SyncFullSchemaPropertiesListResult) SyncFullSchemaPropertiesListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// SyncFullSchemaTable is properties of the table in the database full schema. +type SyncFullSchemaTable struct { + Columns *[]SyncFullSchemaTableColumn `json:"columns,omitempty"` + ErrorID *string `json:"errorId,omitempty"` + HasError *bool `json:"hasError,omitempty"` + Name *string `json:"name,omitempty"` + QuotedName *string `json:"quotedName,omitempty"` +} + +// SyncFullSchemaTableColumn is properties of the column in the table of database full schema. +type SyncFullSchemaTableColumn struct { + DataSize *string `json:"dataSize,omitempty"` + DataType *string `json:"dataType,omitempty"` + ErrorID *string `json:"errorId,omitempty"` + HasError *bool `json:"hasError,omitempty"` + IsPrimaryKey *bool `json:"isPrimaryKey,omitempty"` + Name *string `json:"name,omitempty"` + QuotedName *string `json:"quotedName,omitempty"` +} + +// SyncGroup is an Azure SQL Database sync group. +type SyncGroup struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *SyncGroupProperties `json:"properties,omitempty"` +} + +// SyncGroupListResult is a list of sync groups. +type SyncGroupListResult struct { + autorest.Response `json:"-"` + Value *[]SyncGroup `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// SyncGroupListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client SyncGroupListResult) SyncGroupListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// SyncGroupLogListResult is a list of sync group log properties. +type SyncGroupLogListResult struct { + autorest.Response `json:"-"` + Value *[]SyncGroupLogProperties `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// SyncGroupLogListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client SyncGroupLogListResult) SyncGroupLogListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// SyncGroupLogProperties is properties of an Azure SQL Database sync group log. +type SyncGroupLogProperties struct { + Timestamp *date.Time `json:"timestamp,omitempty"` + Type SyncGroupLogType `json:"type,omitempty"` + Source *string `json:"source,omitempty"` + Details *string `json:"details,omitempty"` + TracingID *uuid.UUID `json:"tracingId,omitempty"` + OperationStatus *string `json:"operationStatus,omitempty"` +} + +// SyncGroupProperties is properties of a sync group. +type SyncGroupProperties struct { + Interval *int32 `json:"interval,omitempty"` + LastSyncTime *date.Time `json:"lastSyncTime,omitempty"` + ConflictResolutionPolicy SyncConflictResolutionPolicy `json:"conflictResolutionPolicy,omitempty"` + SyncDatabaseID *string `json:"syncDatabaseId,omitempty"` + HubDatabaseUserName *string `json:"hubDatabaseUserName,omitempty"` + HubDatabasePassword *string `json:"hubDatabasePassword,omitempty"` + SyncState SyncGroupState `json:"syncState,omitempty"` + Schema *SyncGroupSchema `json:"schema,omitempty"` +} + +// SyncGroupSchema is properties of sync group schema. +type SyncGroupSchema struct { + Tables *[]SyncGroupSchemaTable `json:"tables,omitempty"` + MasterSyncMemberName *string `json:"masterSyncMemberName,omitempty"` +} + +// SyncGroupSchemaTable is properties of table in sync group schema. +type SyncGroupSchemaTable struct { + Columns *[]SyncGroupSchemaTableColumn `json:"columns,omitempty"` + QuotedName *string `json:"quotedName,omitempty"` +} + +// SyncGroupSchemaTableColumn is properties of column in sync group table. +type SyncGroupSchemaTableColumn struct { + QuotedName *string `json:"quotedName,omitempty"` + DataSize *string `json:"dataSize,omitempty"` + DataType *string `json:"dataType,omitempty"` +} + +// SyncMember is an Azure SQL Database sync member. +type SyncMember struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *SyncMemberProperties `json:"properties,omitempty"` +} + +// SyncMemberListResult is a list of Azure SQL Database sync members. +type SyncMemberListResult struct { + autorest.Response `json:"-"` + Value *[]SyncMember `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// SyncMemberListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client SyncMemberListResult) SyncMemberListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// SyncMemberProperties is properties of a sync member. +type SyncMemberProperties struct { + DatabaseType SyncMemberDbType `json:"databaseType,omitempty"` + SyncAgentID *string `json:"syncAgentId,omitempty"` + SQLServerDatabaseID *uuid.UUID `json:"sqlServerDatabaseId,omitempty"` + ServerName *string `json:"serverName,omitempty"` + DatabaseName *string `json:"databaseName,omitempty"` + UserName *string `json:"userName,omitempty"` + Password *string `json:"password,omitempty"` + SyncDirection SyncDirection `json:"syncDirection,omitempty"` + SyncState SyncMemberState `json:"syncState,omitempty"` +} + +// TrackedResource is ARM tracked top level resource. type TrackedResource struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` @@ -1142,39 +2198,75 @@ type TrackedResource struct { Location *string `json:"location,omitempty"` } -// TransparentDataEncryption is represents a database transparent data -// encryption . +// TransparentDataEncryption is represents a database transparent data encryption configuration. type TransparentDataEncryption struct { autorest.Response `json:"-"` - Name *string `json:"name,omitempty"` ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` *TransparentDataEncryptionProperties `json:"properties,omitempty"` } -// TransparentDataEncryptionActivity is represents a database transparent data -// encryption Scan. +// TransparentDataEncryptionActivity is represents a database transparent data encryption Scan. type TransparentDataEncryptionActivity struct { - Name *string `json:"name,omitempty"` ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Location *string `json:"location,omitempty"` *TransparentDataEncryptionActivityProperties `json:"properties,omitempty"` } -// TransparentDataEncryptionActivityListResult is represents the response to a -// list database transparent data encryption activity request. +// TransparentDataEncryptionActivityListResult is represents the response to a list database transparent data +// encryption activity request. type TransparentDataEncryptionActivityListResult struct { autorest.Response `json:"-"` Value *[]TransparentDataEncryptionActivity `json:"value,omitempty"` } -// TransparentDataEncryptionActivityProperties is represents the properties of -// a database transparent data encryption Scan. +// TransparentDataEncryptionActivityProperties is represents the properties of a database transparent data encryption +// Scan. type TransparentDataEncryptionActivityProperties struct { Status TransparentDataEncryptionActivityStatus `json:"status,omitempty"` PercentComplete *float64 `json:"percentComplete,omitempty"` } -// TransparentDataEncryptionProperties is represents the properties of a -// database transparent data encryption. +// TransparentDataEncryptionProperties is represents the properties of a database transparent data encryption. type TransparentDataEncryptionProperties struct { Status TransparentDataEncryptionStatus `json:"status,omitempty"` } + +// VirtualNetworkRule is a virtual network rule. +type VirtualNetworkRule struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *VirtualNetworkRuleProperties `json:"properties,omitempty"` +} + +// VirtualNetworkRuleListResult is a list of virtual network rules. +type VirtualNetworkRuleListResult struct { + autorest.Response `json:"-"` + Value *[]VirtualNetworkRule `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// VirtualNetworkRuleListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client VirtualNetworkRuleListResult) VirtualNetworkRuleListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// VirtualNetworkRuleProperties is properties of a virtual network rule. +type VirtualNetworkRuleProperties struct { + VirtualNetworkSubnetID *string `json:"virtualNetworkSubnetId,omitempty"` + IgnoreMissingVnetServiceEndpoint *bool `json:"ignoreMissingVnetServiceEndpoint,omitempty"` + State VirtualNetworkRuleState `json:"state,omitempty"` +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/operations.go index 510869b74..f1ec16293 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/operations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/operations.go @@ -14,9 +14,8 @@ package sql // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,10 +23,9 @@ import ( "net/http" ) -// OperationsClient is the the Azure SQL Database management API provides a -// RESTful set of web services that interact with Azure SQL Database services -// to manage your databases. The API enables you to create, retrieve, update, -// and delete databases. +// OperationsClient is the the Azure SQL Database management API provides a RESTful set of web services that interact +// with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and +// delete databases. type OperationsClient struct { ManagementClient } @@ -37,8 +35,7 @@ func NewOperationsClient(subscriptionID string) OperationsClient { return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewOperationsClientWithBaseURI creates an instance of the OperationsClient -// client. +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} } @@ -68,7 +65,7 @@ func (client OperationsClient) List() (result OperationListResult, err error) { // ListPreparer prepares the List request. func (client OperationsClient) ListPreparer() (*http.Request, error) { - const APIVersion = "2014-04-01" + const APIVersion = "2015-05-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -99,3 +96,72 @@ func (client OperationsClient) ListResponder(resp *http.Response) (result Operat result.Response = autorest.Response{Response: resp} return } + +// ListNextResults retrieves the next set of results, if any. +func (client OperationsClient) ListNextResults(lastResults OperationListResult) (result OperationListResult, err error) { + req, err := lastResults.OperationListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.OperationsClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.OperationsClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.OperationsClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client OperationsClient) ListComplete(cancel <-chan struct{}) (<-chan Operation, <-chan error) { + resultChan := make(chan Operation) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/recommendedelasticpools.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/recommendedelasticpools.go index 6beccb801..99f39eb88 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/recommendedelasticpools.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/recommendedelasticpools.go @@ -14,9 +14,8 @@ package sql // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,32 +23,28 @@ import ( "net/http" ) -// RecommendedElasticPoolsClient is the the Azure SQL Database management API -// provides a RESTful set of web services that interact with Azure SQL Database -// services to manage your databases. The API enables you to create, retrieve, +// RecommendedElasticPoolsClient is the the Azure SQL Database management API provides a RESTful set of web services +// that interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, // update, and delete databases. type RecommendedElasticPoolsClient struct { ManagementClient } -// NewRecommendedElasticPoolsClient creates an instance of the -// RecommendedElasticPoolsClient client. +// NewRecommendedElasticPoolsClient creates an instance of the RecommendedElasticPoolsClient client. func NewRecommendedElasticPoolsClient(subscriptionID string) RecommendedElasticPoolsClient { return NewRecommendedElasticPoolsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewRecommendedElasticPoolsClientWithBaseURI creates an instance of the -// RecommendedElasticPoolsClient client. +// NewRecommendedElasticPoolsClientWithBaseURI creates an instance of the RecommendedElasticPoolsClient client. func NewRecommendedElasticPoolsClientWithBaseURI(baseURI string, subscriptionID string) RecommendedElasticPoolsClient { return RecommendedElasticPoolsClient{NewWithBaseURI(baseURI, subscriptionID)} } // Get gets a recommented elastic pool. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. recommendedElasticPoolName -// is the name of the recommended elastic pool to be retrieved. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. recommendedElasticPoolName is the +// name of the recommended elastic pool to be retrieved. func (client RecommendedElasticPoolsClient) Get(resourceGroupName string, serverName string, recommendedElasticPoolName string) (result RecommendedElasticPool, err error) { req, err := client.GetPreparer(resourceGroupName, serverName, recommendedElasticPoolName) if err != nil { @@ -113,82 +108,10 @@ func (client RecommendedElasticPoolsClient) GetResponder(resp *http.Response) (r return } -// GetDatabases gets a database inside of a recommented elastic pool. -// -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. recommendedElasticPoolName -// is the name of the elastic pool to be retrieved. databaseName is the name of -// the database to be retrieved. -func (client RecommendedElasticPoolsClient) GetDatabases(resourceGroupName string, serverName string, recommendedElasticPoolName string, databaseName string) (result Database, err error) { - req, err := client.GetDatabasesPreparer(resourceGroupName, serverName, recommendedElasticPoolName, databaseName) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.RecommendedElasticPoolsClient", "GetDatabases", nil, "Failure preparing request") - return - } - - resp, err := client.GetDatabasesSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "sql.RecommendedElasticPoolsClient", "GetDatabases", resp, "Failure sending request") - return - } - - result, err = client.GetDatabasesResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.RecommendedElasticPoolsClient", "GetDatabases", resp, "Failure responding to request") - } - - return -} - -// GetDatabasesPreparer prepares the GetDatabases request. -func (client RecommendedElasticPoolsClient) GetDatabasesPreparer(resourceGroupName string, serverName string, recommendedElasticPoolName string, databaseName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "databaseName": autorest.Encode("path", databaseName), - "recommendedElasticPoolName": autorest.Encode("path", recommendedElasticPoolName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "serverName": autorest.Encode("path", serverName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/databases/{databaseName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// GetDatabasesSender sends the GetDatabases request. The method will close the -// http.Response Body if it receives an error. -func (client RecommendedElasticPoolsClient) GetDatabasesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// GetDatabasesResponder handles the response to the GetDatabases request. The method always -// closes the http.Response Body. -func (client RecommendedElasticPoolsClient) GetDatabasesResponder(resp *http.Response) (result Database, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - // ListByServer returns recommended elastic pools. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. func (client RecommendedElasticPoolsClient) ListByServer(resourceGroupName string, serverName string) (result RecommendedElasticPoolListResult, err error) { req, err := client.ListByServerPreparer(resourceGroupName, serverName) if err != nil { @@ -251,81 +174,11 @@ func (client RecommendedElasticPoolsClient) ListByServerResponder(resp *http.Res return } -// ListDatabases returns a list of databases inside a recommented elastic pool. +// ListMetrics returns recommented elastic pool metrics. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. recommendedElasticPoolName -// is the name of the recommended elastic pool to be retrieved. -func (client RecommendedElasticPoolsClient) ListDatabases(resourceGroupName string, serverName string, recommendedElasticPoolName string) (result DatabaseListResult, err error) { - req, err := client.ListDatabasesPreparer(resourceGroupName, serverName, recommendedElasticPoolName) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.RecommendedElasticPoolsClient", "ListDatabases", nil, "Failure preparing request") - return - } - - resp, err := client.ListDatabasesSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "sql.RecommendedElasticPoolsClient", "ListDatabases", resp, "Failure sending request") - return - } - - result, err = client.ListDatabasesResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.RecommendedElasticPoolsClient", "ListDatabases", resp, "Failure responding to request") - } - - return -} - -// ListDatabasesPreparer prepares the ListDatabases request. -func (client RecommendedElasticPoolsClient) ListDatabasesPreparer(resourceGroupName string, serverName string, recommendedElasticPoolName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "recommendedElasticPoolName": autorest.Encode("path", recommendedElasticPoolName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "serverName": autorest.Encode("path", serverName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/databases", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// ListDatabasesSender sends the ListDatabases request. The method will close the -// http.Response Body if it receives an error. -func (client RecommendedElasticPoolsClient) ListDatabasesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// ListDatabasesResponder handles the response to the ListDatabases request. The method always -// closes the http.Response Body. -func (client RecommendedElasticPoolsClient) ListDatabasesResponder(resp *http.Response) (result DatabaseListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListMetrics returns a recommented elastic pool metrics. -// -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. recommendedElasticPoolName -// is the name of the recommended elastic pool to be retrieved. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. recommendedElasticPoolName is the +// name of the recommended elastic pool to be retrieved. func (client RecommendedElasticPoolsClient) ListMetrics(resourceGroupName string, serverName string, recommendedElasticPoolName string) (result RecommendedElasticPoolListMetricsResult, err error) { req, err := client.ListMetricsPreparer(resourceGroupName, serverName, recommendedElasticPoolName) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/recoverabledatabases.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/recoverabledatabases.go new file mode 100644 index 000000000..ffc44c53b --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/recoverabledatabases.go @@ -0,0 +1,175 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// RecoverableDatabasesClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type RecoverableDatabasesClient struct { + ManagementClient +} + +// NewRecoverableDatabasesClient creates an instance of the RecoverableDatabasesClient client. +func NewRecoverableDatabasesClient(subscriptionID string) RecoverableDatabasesClient { + return NewRecoverableDatabasesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewRecoverableDatabasesClientWithBaseURI creates an instance of the RecoverableDatabasesClient client. +func NewRecoverableDatabasesClientWithBaseURI(baseURI string, subscriptionID string) RecoverableDatabasesClient { + return RecoverableDatabasesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets a recoverable database, which is a resource representing a database's geo backup +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database +func (client RecoverableDatabasesClient) Get(resourceGroupName string, serverName string, databaseName string) (result RecoverableDatabase, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.RecoverableDatabasesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.RecoverableDatabasesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.RecoverableDatabasesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client RecoverableDatabasesClient) GetPreparer(resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases/{databaseName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client RecoverableDatabasesClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client RecoverableDatabasesClient) GetResponder(resp *http.Response) (result RecoverableDatabase, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer gets a list of recoverable databases +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. +func (client RecoverableDatabasesClient) ListByServer(resourceGroupName string, serverName string) (result RecoverableDatabaseListResult, err error) { + req, err := client.ListByServerPreparer(resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.RecoverableDatabasesClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.RecoverableDatabasesClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.RecoverableDatabasesClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client RecoverableDatabasesClient) ListByServerPreparer(resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client RecoverableDatabasesClient) ListByServerSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client RecoverableDatabasesClient) ListByServerResponder(resp *http.Response) (result RecoverableDatabaseListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/replicationlinks.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/replicationlinks.go new file mode 100644 index 000000000..62127b8a2 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/replicationlinks.go @@ -0,0 +1,418 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// ReplicationLinksClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type ReplicationLinksClient struct { + ManagementClient +} + +// NewReplicationLinksClient creates an instance of the ReplicationLinksClient client. +func NewReplicationLinksClient(subscriptionID string) ReplicationLinksClient { + return NewReplicationLinksClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewReplicationLinksClientWithBaseURI creates an instance of the ReplicationLinksClient client. +func NewReplicationLinksClientWithBaseURI(baseURI string, subscriptionID string) ReplicationLinksClient { + return ReplicationLinksClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Delete deletes a database replication link. Cannot be done during failover. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database that has the replication link to be dropped. linkID is the ID of the replication link to be deleted. +func (client ReplicationLinksClient) Delete(resourceGroupName string, serverName string, databaseName string, linkID string) (result autorest.Response, err error) { + req, err := client.DeletePreparer(resourceGroupName, serverName, databaseName, linkID) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ReplicationLinksClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "sql.ReplicationLinksClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ReplicationLinksClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ReplicationLinksClient) DeletePreparer(resourceGroupName string, serverName string, databaseName string, linkID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "linkId": autorest.Encode("path", linkID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ReplicationLinksClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ReplicationLinksClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Failover sets which replica database is primary by failing over from the current primary replica database. This +// method may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be +// used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database that has the replication link to be failed over. linkID is the ID of the replication link to be failed +// over. +func (client ReplicationLinksClient) Failover(resourceGroupName string, serverName string, databaseName string, linkID string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.FailoverPreparer(resourceGroupName, serverName, databaseName, linkID, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ReplicationLinksClient", "Failover", nil, "Failure preparing request") + return + } + + resp, err := client.FailoverSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "sql.ReplicationLinksClient", "Failover", resp, "Failure sending request") + return + } + + result, err = client.FailoverResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ReplicationLinksClient", "Failover", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// FailoverPreparer prepares the Failover request. +func (client ReplicationLinksClient) FailoverPreparer(resourceGroupName string, serverName string, databaseName string, linkID string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "linkId": autorest.Encode("path", linkID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/failover", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// FailoverSender sends the Failover request. The method will close the +// http.Response Body if it receives an error. +func (client ReplicationLinksClient) FailoverSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// FailoverResponder handles the response to the Failover request. The method always +// closes the http.Response Body. +func (client ReplicationLinksClient) FailoverResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// FailoverAllowDataLoss sets which replica database is primary by failing over from the current primary replica +// database. This operation might result in data loss. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database that has the replication link to be failed over. linkID is the ID of the replication link to be failed +// over. +func (client ReplicationLinksClient) FailoverAllowDataLoss(resourceGroupName string, serverName string, databaseName string, linkID string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.FailoverAllowDataLossPreparer(resourceGroupName, serverName, databaseName, linkID, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ReplicationLinksClient", "FailoverAllowDataLoss", nil, "Failure preparing request") + return + } + + resp, err := client.FailoverAllowDataLossSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "sql.ReplicationLinksClient", "FailoverAllowDataLoss", resp, "Failure sending request") + return + } + + result, err = client.FailoverAllowDataLossResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ReplicationLinksClient", "FailoverAllowDataLoss", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// FailoverAllowDataLossPreparer prepares the FailoverAllowDataLoss request. +func (client ReplicationLinksClient) FailoverAllowDataLossPreparer(resourceGroupName string, serverName string, databaseName string, linkID string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "linkId": autorest.Encode("path", linkID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/forceFailoverAllowDataLoss", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// FailoverAllowDataLossSender sends the FailoverAllowDataLoss request. The method will close the +// http.Response Body if it receives an error. +func (client ReplicationLinksClient) FailoverAllowDataLossSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// FailoverAllowDataLossResponder handles the response to the FailoverAllowDataLoss request. The method always +// closes the http.Response Body. +func (client ReplicationLinksClient) FailoverAllowDataLossResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a database replication link. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database to get the link for. linkID is the replication link ID to be retrieved. +func (client ReplicationLinksClient) Get(resourceGroupName string, serverName string, databaseName string, linkID string) (result ReplicationLink, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, databaseName, linkID) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ReplicationLinksClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ReplicationLinksClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ReplicationLinksClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ReplicationLinksClient) GetPreparer(resourceGroupName string, serverName string, databaseName string, linkID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "linkId": autorest.Encode("path", linkID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ReplicationLinksClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ReplicationLinksClient) GetResponder(resp *http.Response) (result ReplicationLink, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByDatabase lists a database's replication links. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database to retrieve links for. +func (client ReplicationLinksClient) ListByDatabase(resourceGroupName string, serverName string, databaseName string) (result ReplicationLinkListResult, err error) { + req, err := client.ListByDatabasePreparer(resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ReplicationLinksClient", "ListByDatabase", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ReplicationLinksClient", "ListByDatabase", resp, "Failure sending request") + return + } + + result, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ReplicationLinksClient", "ListByDatabase", resp, "Failure responding to request") + } + + return +} + +// ListByDatabasePreparer prepares the ListByDatabase request. +func (client ReplicationLinksClient) ListByDatabasePreparer(resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByDatabaseSender sends the ListByDatabase request. The method will close the +// http.Response Body if it receives an error. +func (client ReplicationLinksClient) ListByDatabaseSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByDatabaseResponder handles the response to the ListByDatabase request. The method always +// closes the http.Response Body. +func (client ReplicationLinksClient) ListByDatabaseResponder(resp *http.Response) (result ReplicationLinkListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/restorabledroppeddatabases.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/restorabledroppeddatabases.go new file mode 100644 index 000000000..cf49b0a48 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/restorabledroppeddatabases.go @@ -0,0 +1,175 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// RestorableDroppedDatabasesClient is the the Azure SQL Database management API provides a RESTful set of web services +// that interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, +// update, and delete databases. +type RestorableDroppedDatabasesClient struct { + ManagementClient +} + +// NewRestorableDroppedDatabasesClient creates an instance of the RestorableDroppedDatabasesClient client. +func NewRestorableDroppedDatabasesClient(subscriptionID string) RestorableDroppedDatabasesClient { + return NewRestorableDroppedDatabasesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewRestorableDroppedDatabasesClientWithBaseURI creates an instance of the RestorableDroppedDatabasesClient client. +func NewRestorableDroppedDatabasesClientWithBaseURI(baseURI string, subscriptionID string) RestorableDroppedDatabasesClient { + return RestorableDroppedDatabasesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets a deleted database that can be restored +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. restorableDroppededDatabaseID is the +// id of the deleted database in the form of databaseName,deletionTimeInFileTimeFormat +func (client RestorableDroppedDatabasesClient) Get(resourceGroupName string, serverName string, restorableDroppededDatabaseID string) (result RestorableDroppedDatabase, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, restorableDroppededDatabaseID) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.RestorableDroppedDatabasesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.RestorableDroppedDatabasesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.RestorableDroppedDatabasesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client RestorableDroppedDatabasesClient) GetPreparer(resourceGroupName string, serverName string, restorableDroppededDatabaseID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "restorableDroppededDatabaseId": autorest.Encode("path", restorableDroppededDatabaseID), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases/{restorableDroppededDatabaseId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client RestorableDroppedDatabasesClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client RestorableDroppedDatabasesClient) GetResponder(resp *http.Response) (result RestorableDroppedDatabase, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer gets a list of deleted databases that can be restored +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. +func (client RestorableDroppedDatabasesClient) ListByServer(resourceGroupName string, serverName string) (result RestorableDroppedDatabaseListResult, err error) { + req, err := client.ListByServerPreparer(resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.RestorableDroppedDatabasesClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.RestorableDroppedDatabasesClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.RestorableDroppedDatabasesClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client RestorableDroppedDatabasesClient) ListByServerPreparer(resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client RestorableDroppedDatabasesClient) ListByServerSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client RestorableDroppedDatabasesClient) ListByServerResponder(resp *http.Response) (result RestorableDroppedDatabaseListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/restorepoints.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/restorepoints.go new file mode 100644 index 000000000..6f3db13d9 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/restorepoints.go @@ -0,0 +1,109 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// RestorePointsClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type RestorePointsClient struct { + ManagementClient +} + +// NewRestorePointsClient creates an instance of the RestorePointsClient client. +func NewRestorePointsClient(subscriptionID string) RestorePointsClient { + return NewRestorePointsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewRestorePointsClientWithBaseURI creates an instance of the RestorePointsClient client. +func NewRestorePointsClientWithBaseURI(baseURI string, subscriptionID string) RestorePointsClient { + return RestorePointsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListByDatabase gets a list of database restore points. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database to get available restore points. +func (client RestorePointsClient) ListByDatabase(resourceGroupName string, serverName string, databaseName string) (result RestorePointListResult, err error) { + req, err := client.ListByDatabasePreparer(resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.RestorePointsClient", "ListByDatabase", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.RestorePointsClient", "ListByDatabase", resp, "Failure sending request") + return + } + + result, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.RestorePointsClient", "ListByDatabase", resp, "Failure responding to request") + } + + return +} + +// ListByDatabasePreparer prepares the ListByDatabase request. +func (client RestorePointsClient) ListByDatabasePreparer(resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByDatabaseSender sends the ListByDatabase request. The method will close the +// http.Response Body if it receives an error. +func (client RestorePointsClient) ListByDatabaseSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByDatabaseResponder handles the response to the ListByDatabase request. The method always +// closes the http.Response Body. +func (client RestorePointsClient) ListByDatabaseResponder(resp *http.Response) (result RestorePointListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/serverazureadadministrators.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/serverazureadadministrators.go new file mode 100644 index 000000000..5371fa653 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/serverazureadadministrators.go @@ -0,0 +1,363 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// ServerAzureADAdministratorsClient is the the Azure SQL Database management API provides a RESTful set of web +// services that interact with Azure SQL Database services to manage your databases. The API enables you to create, +// retrieve, update, and delete databases. +type ServerAzureADAdministratorsClient struct { + ManagementClient +} + +// NewServerAzureADAdministratorsClient creates an instance of the ServerAzureADAdministratorsClient client. +func NewServerAzureADAdministratorsClient(subscriptionID string) ServerAzureADAdministratorsClient { + return NewServerAzureADAdministratorsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServerAzureADAdministratorsClientWithBaseURI creates an instance of the ServerAzureADAdministratorsClient client. +func NewServerAzureADAdministratorsClientWithBaseURI(baseURI string, subscriptionID string) ServerAzureADAdministratorsClient { + return ServerAzureADAdministratorsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a new Server Active Directory Administrator or updates an existing server Active Directory +// Administrator. This method may poll for completion. Polling can be canceled by passing the cancel channel argument. +// The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. administratorName is name of the +// server administrator resource. properties is the required parameters for creating or updating an Active Directory +// Administrator. +func (client ServerAzureADAdministratorsClient) CreateOrUpdate(resourceGroupName string, serverName string, administratorName string, properties ServerAzureADAdministrator, cancel <-chan struct{}) (<-chan ServerAzureADAdministrator, <-chan error) { + resultChan := make(chan ServerAzureADAdministrator, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: properties, + Constraints: []validation.Constraint{{Target: "properties.ServerAdministratorProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "properties.ServerAdministratorProperties.AdministratorType", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "properties.ServerAdministratorProperties.Login", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "properties.ServerAdministratorProperties.Sid", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "properties.ServerAdministratorProperties.TenantID", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "sql.ServerAzureADAdministratorsClient", "CreateOrUpdate") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result ServerAzureADAdministrator + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, administratorName, properties, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ServerAzureADAdministratorsClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, administratorName string, properties ServerAzureADAdministrator, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "administratorName": autorest.Encode("path", administratorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName}", pathParameters), + autorest.WithJSON(properties), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ServerAzureADAdministratorsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ServerAzureADAdministratorsClient) CreateOrUpdateResponder(resp *http.Response) (result ServerAzureADAdministrator, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes an existing server Active Directory Administrator. This method may poll for completion. Polling can +// be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding +// HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. administratorName is name of the +// server administrator resource. +func (client ServerAzureADAdministratorsClient) Delete(resourceGroupName string, serverName string, administratorName string, cancel <-chan struct{}) (<-chan ServerAzureADAdministrator, <-chan error) { + resultChan := make(chan ServerAzureADAdministrator, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result ServerAzureADAdministrator + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, serverName, administratorName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// DeletePreparer prepares the Delete request. +func (client ServerAzureADAdministratorsClient) DeletePreparer(resourceGroupName string, serverName string, administratorName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "administratorName": autorest.Encode("path", administratorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ServerAzureADAdministratorsClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ServerAzureADAdministratorsClient) DeleteResponder(resp *http.Response) (result ServerAzureADAdministrator, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusAccepted, http.StatusNoContent, http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get returns an server Administrator. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. administratorName is name of the +// server administrator resource. +func (client ServerAzureADAdministratorsClient) Get(resourceGroupName string, serverName string, administratorName string) (result ServerAzureADAdministrator, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, administratorName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServerAzureADAdministratorsClient) GetPreparer(resourceGroupName string, serverName string, administratorName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "administratorName": autorest.Encode("path", administratorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServerAzureADAdministratorsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServerAzureADAdministratorsClient) GetResponder(resp *http.Response) (result ServerAzureADAdministrator, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer returns a list of server Administrators. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. +func (client ServerAzureADAdministratorsClient) ListByServer(resourceGroupName string, serverName string) (result ServerAdministratorListResult, err error) { + req, err := client.ListByServerPreparer(resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client ServerAzureADAdministratorsClient) ListByServerPreparer(resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client ServerAzureADAdministratorsClient) ListByServerSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client ServerAzureADAdministratorsClient) ListByServerResponder(resp *http.Response) (result ServerAdministratorListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/servercommunicationlinks.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/servercommunicationlinks.go new file mode 100644 index 000000000..a74de33d1 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/servercommunicationlinks.go @@ -0,0 +1,339 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// ServerCommunicationLinksClient is the the Azure SQL Database management API provides a RESTful set of web services +// that interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, +// update, and delete databases. +type ServerCommunicationLinksClient struct { + ManagementClient +} + +// NewServerCommunicationLinksClient creates an instance of the ServerCommunicationLinksClient client. +func NewServerCommunicationLinksClient(subscriptionID string) ServerCommunicationLinksClient { + return NewServerCommunicationLinksClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServerCommunicationLinksClientWithBaseURI creates an instance of the ServerCommunicationLinksClient client. +func NewServerCommunicationLinksClientWithBaseURI(baseURI string, subscriptionID string) ServerCommunicationLinksClient { + return ServerCommunicationLinksClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a server communication link. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. communicationLinkName is the name of +// the server communication link. parameters is the required parameters for creating a server communication link. +func (client ServerCommunicationLinksClient) CreateOrUpdate(resourceGroupName string, serverName string, communicationLinkName string, parameters ServerCommunicationLink, cancel <-chan struct{}) (<-chan ServerCommunicationLink, <-chan error) { + resultChan := make(chan ServerCommunicationLink, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.ServerCommunicationLinkProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ServerCommunicationLinkProperties.PartnerServer", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "sql.ServerCommunicationLinksClient", "CreateOrUpdate") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result ServerCommunicationLink + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, communicationLinkName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerCommunicationLinksClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerCommunicationLinksClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerCommunicationLinksClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ServerCommunicationLinksClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, communicationLinkName string, parameters ServerCommunicationLink, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "communicationLinkName": autorest.Encode("path", communicationLinkName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks/{communicationLinkName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ServerCommunicationLinksClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ServerCommunicationLinksClient) CreateOrUpdateResponder(resp *http.Response) (result ServerCommunicationLink, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a server communication link. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. communicationLinkName is the name of +// the server communication link. +func (client ServerCommunicationLinksClient) Delete(resourceGroupName string, serverName string, communicationLinkName string) (result autorest.Response, err error) { + req, err := client.DeletePreparer(resourceGroupName, serverName, communicationLinkName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerCommunicationLinksClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "sql.ServerCommunicationLinksClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerCommunicationLinksClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ServerCommunicationLinksClient) DeletePreparer(resourceGroupName string, serverName string, communicationLinkName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "communicationLinkName": autorest.Encode("path", communicationLinkName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks/{communicationLinkName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ServerCommunicationLinksClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ServerCommunicationLinksClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get returns a server communication link. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. communicationLinkName is the name of +// the server communication link. +func (client ServerCommunicationLinksClient) Get(resourceGroupName string, serverName string, communicationLinkName string) (result ServerCommunicationLink, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, communicationLinkName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerCommunicationLinksClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerCommunicationLinksClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerCommunicationLinksClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServerCommunicationLinksClient) GetPreparer(resourceGroupName string, serverName string, communicationLinkName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "communicationLinkName": autorest.Encode("path", communicationLinkName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks/{communicationLinkName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServerCommunicationLinksClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServerCommunicationLinksClient) GetResponder(resp *http.Response) (result ServerCommunicationLink, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer gets a list of server communication links. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. +func (client ServerCommunicationLinksClient) ListByServer(resourceGroupName string, serverName string) (result ServerCommunicationLinkListResult, err error) { + req, err := client.ListByServerPreparer(resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerCommunicationLinksClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerCommunicationLinksClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerCommunicationLinksClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client ServerCommunicationLinksClient) ListByServerPreparer(resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client ServerCommunicationLinksClient) ListByServerSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client ServerCommunicationLinksClient) ListByServerResponder(resp *http.Response) (result ServerCommunicationLinkListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/serverconnectionpolicies.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/serverconnectionpolicies.go new file mode 100644 index 000000000..70493592f --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/serverconnectionpolicies.go @@ -0,0 +1,179 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// ServerConnectionPoliciesClient is the the Azure SQL Database management API provides a RESTful set of web services +// that interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, +// update, and delete databases. +type ServerConnectionPoliciesClient struct { + ManagementClient +} + +// NewServerConnectionPoliciesClient creates an instance of the ServerConnectionPoliciesClient client. +func NewServerConnectionPoliciesClient(subscriptionID string) ServerConnectionPoliciesClient { + return NewServerConnectionPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServerConnectionPoliciesClientWithBaseURI creates an instance of the ServerConnectionPoliciesClient client. +func NewServerConnectionPoliciesClientWithBaseURI(baseURI string, subscriptionID string) ServerConnectionPoliciesClient { + return ServerConnectionPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates the server's connection policy. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. connectionPolicyName is the name of +// the connection policy. parameters is the required parameters for updating a secure connection policy. +func (client ServerConnectionPoliciesClient) CreateOrUpdate(resourceGroupName string, serverName string, connectionPolicyName string, parameters ServerConnectionPolicy) (result ServerConnectionPolicy, err error) { + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, connectionPolicyName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerConnectionPoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerConnectionPoliciesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerConnectionPoliciesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ServerConnectionPoliciesClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, connectionPolicyName string, parameters ServerConnectionPolicy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionPolicyName": autorest.Encode("path", connectionPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/connectionPolicies/{connectionPolicyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ServerConnectionPoliciesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ServerConnectionPoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result ServerConnectionPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets the server's secure connection policy. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. connectionPolicyName is the name of +// the connection policy. +func (client ServerConnectionPoliciesClient) Get(resourceGroupName string, serverName string, connectionPolicyName string) (result ServerConnectionPolicy, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, connectionPolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerConnectionPoliciesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerConnectionPoliciesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerConnectionPoliciesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServerConnectionPoliciesClient) GetPreparer(resourceGroupName string, serverName string, connectionPolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionPolicyName": autorest.Encode("path", connectionPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/connectionPolicies/{connectionPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServerConnectionPoliciesClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServerConnectionPoliciesClient) GetResponder(resp *http.Response) (result ServerConnectionPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/serverkeys.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/serverkeys.go new file mode 100644 index 000000000..953427188 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/serverkeys.go @@ -0,0 +1,416 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// ServerKeysClient is the the Azure SQL Database management API provides a RESTful set of web services that interact +// with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and +// delete databases. +type ServerKeysClient struct { + ManagementClient +} + +// NewServerKeysClient creates an instance of the ServerKeysClient client. +func NewServerKeysClient(subscriptionID string) ServerKeysClient { + return NewServerKeysClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServerKeysClientWithBaseURI creates an instance of the ServerKeysClient client. +func NewServerKeysClientWithBaseURI(baseURI string, subscriptionID string) ServerKeysClient { + return ServerKeysClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a server key. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. keyName is the name of the server +// key to be operated on (updated or created). The key name is required to be in the format of 'vault_key_version'. For +// example, if the keyId is https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901, +// then the server key name should be formatted as: YourVaultName_YourKeyName_01234567890123456789012345678901 +// parameters is the requested server key resource state. +func (client ServerKeysClient) CreateOrUpdate(resourceGroupName string, serverName string, keyName string, parameters ServerKey, cancel <-chan struct{}) (<-chan ServerKey, <-chan error) { + resultChan := make(chan ServerKey, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result ServerKey + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, keyName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerKeysClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerKeysClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerKeysClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ServerKeysClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, keyName string, parameters ServerKey, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "keyName": autorest.Encode("path", keyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys/{keyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ServerKeysClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ServerKeysClient) CreateOrUpdateResponder(resp *http.Response) (result ServerKey, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the server key with the given name. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. keyName is the name of the server +// key to be deleted. +func (client ServerKeysClient) Delete(resourceGroupName string, serverName string, keyName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, serverName, keyName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerKeysClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "sql.ServerKeysClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerKeysClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// DeletePreparer prepares the Delete request. +func (client ServerKeysClient) DeletePreparer(resourceGroupName string, serverName string, keyName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "keyName": autorest.Encode("path", keyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys/{keyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ServerKeysClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ServerKeysClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a server key. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. keyName is the name of the server +// key to be retrieved. +func (client ServerKeysClient) Get(resourceGroupName string, serverName string, keyName string) (result ServerKey, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, keyName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerKeysClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerKeysClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerKeysClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServerKeysClient) GetPreparer(resourceGroupName string, serverName string, keyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "keyName": autorest.Encode("path", keyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys/{keyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServerKeysClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServerKeysClient) GetResponder(resp *http.Response) (result ServerKey, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer gets a list of server keys. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. +func (client ServerKeysClient) ListByServer(resourceGroupName string, serverName string) (result ServerKeyListResult, err error) { + req, err := client.ListByServerPreparer(resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerKeysClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerKeysClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerKeysClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client ServerKeysClient) ListByServerPreparer(resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client ServerKeysClient) ListByServerSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client ServerKeysClient) ListByServerResponder(resp *http.Response) (result ServerKeyListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServerNextResults retrieves the next set of results, if any. +func (client ServerKeysClient) ListByServerNextResults(lastResults ServerKeyListResult) (result ServerKeyListResult, err error) { + req, err := lastResults.ServerKeyListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.ServerKeysClient", "ListByServer", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.ServerKeysClient", "ListByServer", resp, "Failure sending next results request") + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerKeysClient", "ListByServer", resp, "Failure responding to next results request") + } + + return +} + +// ListByServerComplete gets all elements from the list without paging. +func (client ServerKeysClient) ListByServerComplete(resourceGroupName string, serverName string, cancel <-chan struct{}) (<-chan ServerKey, <-chan error) { + resultChan := make(chan ServerKey) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByServer(resourceGroupName, serverName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByServerNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/servers.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/servers.go index 83290fa93..98205b7a3 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/servers.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/servers.go @@ -14,20 +14,19 @@ package sql // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" "net/http" ) -// ServersClient is the the Azure SQL Database management API provides a -// RESTful set of web services that interact with Azure SQL Database services -// to manage your databases. The API enables you to create, retrieve, update, -// and delete databases. +// ServersClient is the the Azure SQL Database management API provides a RESTful set of web services that interact with +// Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and delete +// databases. type ServersClient struct { ManagementClient } @@ -42,43 +41,128 @@ func NewServersClientWithBaseURI(baseURI string, subscriptionID string) ServersC return ServersClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates a new server. +// CheckNameAvailability determines whether a resource can be created with the specified name. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. parameters is the required -// parameters for creating or updating a server. -func (client ServersClient) CreateOrUpdate(resourceGroupName string, serverName string, parameters Server) (result Server, err error) { - req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, parameters) +// parameters is the parameters to request for name availability. +func (client ServersClient) CheckNameAvailability(parameters CheckNameAvailabilityRequest) (result CheckNameAvailabilityResponse, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Name", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.Type", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "sql.ServersClient", "CheckNameAvailability") + } + + req, err := client.CheckNameAvailabilityPreparer(parameters) if err != nil { - err = autorest.NewErrorWithError(err, "sql.ServersClient", "CreateOrUpdate", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "sql.ServersClient", "CheckNameAvailability", nil, "Failure preparing request") return } - resp, err := client.CreateOrUpdateSender(req) + resp, err := client.CheckNameAvailabilitySender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "sql.ServersClient", "CreateOrUpdate", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "sql.ServersClient", "CheckNameAvailability", resp, "Failure sending request") return } - result, err = client.CreateOrUpdateResponder(resp) + result, err = client.CheckNameAvailabilityResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "sql.ServersClient", "CreateOrUpdate", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "sql.ServersClient", "CheckNameAvailability", resp, "Failure responding to request") } return } +// CheckNameAvailabilityPreparer prepares the CheckNameAvailability request. +func (client ServersClient) CheckNameAvailabilityPreparer(parameters CheckNameAvailabilityRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/checkNameAvailability", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CheckNameAvailabilitySender sends the CheckNameAvailability request. The method will close the +// http.Response Body if it receives an error. +func (client ServersClient) CheckNameAvailabilitySender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CheckNameAvailabilityResponder handles the response to the CheckNameAvailability request. The method always +// closes the http.Response Body. +func (client ServersClient) CheckNameAvailabilityResponder(resp *http.Response) (result CheckNameAvailabilityResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdate creates or updates a server. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. parameters is the requested server +// resource state. +func (client ServersClient) CreateOrUpdate(resourceGroupName string, serverName string, parameters Server, cancel <-chan struct{}) (<-chan Server, <-chan error) { + resultChan := make(chan Server, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result Server + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServersClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServersClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServersClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + // CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client ServersClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, parameters Server) (*http.Request, error) { +func (client ServersClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, parameters Server, cancel <-chan struct{}) (*http.Request, error) { pathParameters := map[string]interface{}{ "resourceGroupName": autorest.Encode("path", resourceGroupName), "serverName": autorest.Encode("path", serverName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2014-04-01" + const APIVersion = "2015-05-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -90,13 +174,15 @@ func (client ServersClient) CreateOrUpdatePreparer(resourceGroupName string, ser autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}", pathParameters), autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) + return preparer.Prepare(&http.Request{Cancel: cancel}) } // CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the // http.Response Body if it receives an error. func (client ServersClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) } // CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always @@ -105,49 +191,62 @@ func (client ServersClient) CreateOrUpdateResponder(resp *http.Response) (result err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusCreated), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// Delete deletes a SQL server. +// Delete deletes a server. This method may poll for completion. Polling can be canceled by passing the cancel channel +// argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. -func (client ServersClient) Delete(resourceGroupName string, serverName string) (result autorest.Response, err error) { - req, err := client.DeletePreparer(resourceGroupName, serverName) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.ServersClient", "Delete", nil, "Failure preparing request") - return - } +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. +func (client ServersClient) Delete(resourceGroupName string, serverName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, serverName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServersClient", "Delete", nil, "Failure preparing request") + return + } - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "sql.ServersClient", "Delete", resp, "Failure sending request") - return - } + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "sql.ServersClient", "Delete", resp, "Failure sending request") + return + } - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.ServersClient", "Delete", resp, "Failure responding to request") - } - - return + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServersClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan } // DeletePreparer prepares the Delete request. -func (client ServersClient) DeletePreparer(resourceGroupName string, serverName string) (*http.Request, error) { +func (client ServersClient) DeletePreparer(resourceGroupName string, serverName string, cancel <-chan struct{}) (*http.Request, error) { pathParameters := map[string]interface{}{ "resourceGroupName": autorest.Encode("path", resourceGroupName), "serverName": autorest.Encode("path", serverName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2014-04-01" + const APIVersion = "2015-05-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -157,13 +256,15 @@ func (client ServersClient) DeletePreparer(resourceGroupName string, serverName autorest.WithBaseURL(client.BaseURI), autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}", pathParameters), autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) + return preparer.Prepare(&http.Request{Cancel: cancel}) } // DeleteSender sends the Delete request. The method will close the // http.Response Body if it receives an error. func (client ServersClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) } // DeleteResponder handles the response to the Delete request. The method always @@ -172,7 +273,7 @@ func (client ServersClient) DeleteResponder(resp *http.Response) (result autores err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), autorest.ByClosing()) result.Response = resp return @@ -180,9 +281,8 @@ func (client ServersClient) DeleteResponder(resp *http.Response) (result autores // Get gets a server. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. func (client ServersClient) Get(resourceGroupName string, serverName string) (result Server, err error) { req, err := client.GetPreparer(resourceGroupName, serverName) if err != nil { @@ -213,7 +313,7 @@ func (client ServersClient) GetPreparer(resourceGroupName string, serverName str "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2014-04-01" + const APIVersion = "2015-05-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -245,76 +345,7 @@ func (client ServersClient) GetResponder(resp *http.Response) (result Server, er return } -// GetServiceObjective gets a database service objective. -// -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. serviceObjectiveName is -// the name of the service objective to retrieve. -func (client ServersClient) GetServiceObjective(resourceGroupName string, serverName string, serviceObjectiveName string) (result ServiceObjective, err error) { - req, err := client.GetServiceObjectivePreparer(resourceGroupName, serverName, serviceObjectiveName) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.ServersClient", "GetServiceObjective", nil, "Failure preparing request") - return - } - - resp, err := client.GetServiceObjectiveSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "sql.ServersClient", "GetServiceObjective", resp, "Failure sending request") - return - } - - result, err = client.GetServiceObjectiveResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.ServersClient", "GetServiceObjective", resp, "Failure responding to request") - } - - return -} - -// GetServiceObjectivePreparer prepares the GetServiceObjective request. -func (client ServersClient) GetServiceObjectivePreparer(resourceGroupName string, serverName string, serviceObjectiveName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "serverName": autorest.Encode("path", serverName), - "serviceObjectiveName": autorest.Encode("path", serviceObjectiveName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/serviceObjectives/{serviceObjectiveName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// GetServiceObjectiveSender sends the GetServiceObjective request. The method will close the -// http.Response Body if it receives an error. -func (client ServersClient) GetServiceObjectiveSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// GetServiceObjectiveResponder handles the response to the GetServiceObjective request. The method always -// closes the http.Response Body. -func (client ServersClient) GetServiceObjectiveResponder(resp *http.Response) (result ServiceObjective, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List returns a list of servers. +// List gets a list of all servers in the subscription. func (client ServersClient) List() (result ServerListResult, err error) { req, err := client.ListPreparer() if err != nil { @@ -343,7 +374,7 @@ func (client ServersClient) ListPreparer() (*http.Request, error) { "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2014-04-01" + const APIVersion = "2015-05-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -375,11 +406,79 @@ func (client ServersClient) ListResponder(resp *http.Response) (result ServerLis return } -// ListByResourceGroup returns a list of servers in a resource group. +// ListNextResults retrieves the next set of results, if any. +func (client ServersClient) ListNextResults(lastResults ServerListResult) (result ServerListResult, err error) { + req, err := lastResults.ServerListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.ServersClient", "List", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.ServersClient", "List", resp, "Failure sending next results request") + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServersClient", "List", resp, "Failure responding to next results request") + } + + return +} + +// ListComplete gets all elements from the list without paging. +func (client ServersClient) ListComplete(cancel <-chan struct{}) (<-chan Server, <-chan error) { + resultChan := make(chan Server) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListByResourceGroup gets a list of servers in a resource groups. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. func (client ServersClient) ListByResourceGroup(resourceGroupName string) (result ServerListResult, err error) { req, err := client.ListByResourceGroupPreparer(resourceGroupName) if err != nil { @@ -409,7 +508,7 @@ func (client ServersClient) ListByResourceGroupPreparer(resourceGroupName string "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2014-04-01" + const APIVersion = "2015-05-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -441,134 +540,154 @@ func (client ServersClient) ListByResourceGroupResponder(resp *http.Response) (r return } -// ListServiceObjectives returns database service objectives. -// -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. -func (client ServersClient) ListServiceObjectives(resourceGroupName string, serverName string) (result ServiceObjectiveListResult, err error) { - req, err := client.ListServiceObjectivesPreparer(resourceGroupName, serverName) +// ListByResourceGroupNextResults retrieves the next set of results, if any. +func (client ServersClient) ListByResourceGroupNextResults(lastResults ServerListResult) (result ServerListResult, err error) { + req, err := lastResults.ServerListResultPreparer() if err != nil { - err = autorest.NewErrorWithError(err, "sql.ServersClient", "ListServiceObjectives", nil, "Failure preparing request") + return result, autorest.NewErrorWithError(err, "sql.ServersClient", "ListByResourceGroup", nil, "Failure preparing next results request") + } + if req == nil { return } - resp, err := client.ListServiceObjectivesSender(req) + resp, err := client.ListByResourceGroupSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "sql.ServersClient", "ListServiceObjectives", resp, "Failure sending request") - return + return result, autorest.NewErrorWithError(err, "sql.ServersClient", "ListByResourceGroup", resp, "Failure sending next results request") } - result, err = client.ListServiceObjectivesResponder(resp) + result, err = client.ListByResourceGroupResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "sql.ServersClient", "ListServiceObjectives", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "sql.ServersClient", "ListByResourceGroup", resp, "Failure responding to next results request") } return } -// ListServiceObjectivesPreparer prepares the ListServiceObjectives request. -func (client ServersClient) ListServiceObjectivesPreparer(resourceGroupName string, serverName string) (*http.Request, error) { +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client ServersClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan Server, <-chan error) { + resultChan := make(chan Server) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// Update updates a server. This method may poll for completion. Polling can be canceled by passing the cancel channel +// argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. parameters is the requested server +// resource state. +func (client ServersClient) Update(resourceGroupName string, serverName string, parameters ServerUpdate, cancel <-chan struct{}) (<-chan Server, <-chan error) { + resultChan := make(chan Server, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result Server + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.UpdatePreparer(resourceGroupName, serverName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServersClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServersClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServersClient", "Update", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// UpdatePreparer prepares the Update request. +func (client ServersClient) UpdatePreparer(resourceGroupName string, serverName string, parameters ServerUpdate, cancel <-chan struct{}) (*http.Request, error) { pathParameters := map[string]interface{}{ "resourceGroupName": autorest.Encode("path", resourceGroupName), "serverName": autorest.Encode("path", serverName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2014-04-01" + const APIVersion = "2015-05-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } preparer := autorest.CreatePreparer( - autorest.AsGet(), + autorest.AsJSON(), + autorest.AsPatch(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/serviceObjectives", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}", pathParameters), + autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) + return preparer.Prepare(&http.Request{Cancel: cancel}) } -// ListServiceObjectivesSender sends the ListServiceObjectives request. The method will close the +// UpdateSender sends the Update request. The method will close the // http.Response Body if it receives an error. -func (client ServersClient) ListServiceObjectivesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) +func (client ServersClient) UpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) } -// ListServiceObjectivesResponder handles the response to the ListServiceObjectives request. The method always +// UpdateResponder handles the response to the Update request. The method always // closes the http.Response Body. -func (client ServersClient) ListServiceObjectivesResponder(resp *http.Response) (result ServiceObjectiveListResult, err error) { +func (client ServersClient) UpdateResponder(resp *http.Response) (result Server, err error) { err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListUsages returns server usages. -// -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. serverName is the name of the server. -func (client ServersClient) ListUsages(resourceGroupName string, serverName string) (result ServerMetricListResult, err error) { - req, err := client.ListUsagesPreparer(resourceGroupName, serverName) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.ServersClient", "ListUsages", nil, "Failure preparing request") - return - } - - resp, err := client.ListUsagesSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "sql.ServersClient", "ListUsages", resp, "Failure sending request") - return - } - - result, err = client.ListUsagesResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.ServersClient", "ListUsages", resp, "Failure responding to request") - } - - return -} - -// ListUsagesPreparer prepares the ListUsages request. -func (client ServersClient) ListUsagesPreparer(resourceGroupName string, serverName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "serverName": autorest.Encode("path", serverName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/usages", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// ListUsagesSender sends the ListUsages request. The method will close the -// http.Response Body if it receives an error. -func (client ServersClient) ListUsagesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// ListUsagesResponder handles the response to the ListUsages request. The method always -// closes the http.Response Body. -func (client ServersClient) ListUsagesResponder(resp *http.Response) (result ServerMetricListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/serverusages.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/serverusages.go new file mode 100644 index 000000000..5c9cb9162 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/serverusages.go @@ -0,0 +1,107 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// ServerUsagesClient is the the Azure SQL Database management API provides a RESTful set of web services that interact +// with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and +// delete databases. +type ServerUsagesClient struct { + ManagementClient +} + +// NewServerUsagesClient creates an instance of the ServerUsagesClient client. +func NewServerUsagesClient(subscriptionID string) ServerUsagesClient { + return NewServerUsagesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServerUsagesClientWithBaseURI creates an instance of the ServerUsagesClient client. +func NewServerUsagesClientWithBaseURI(baseURI string, subscriptionID string) ServerUsagesClient { + return ServerUsagesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListByServer returns server usages. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. +func (client ServerUsagesClient) ListByServer(resourceGroupName string, serverName string) (result ServerUsageListResult, err error) { + req, err := client.ListByServerPreparer(resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerUsagesClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerUsagesClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerUsagesClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client ServerUsagesClient) ListByServerPreparer(resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/usages", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client ServerUsagesClient) ListByServerSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client ServerUsagesClient) ListByServerResponder(resp *http.Response) (result ServerUsageListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/serviceobjectives.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/serviceobjectives.go new file mode 100644 index 000000000..5fc89b0df --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/serviceobjectives.go @@ -0,0 +1,175 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// ServiceObjectivesClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type ServiceObjectivesClient struct { + ManagementClient +} + +// NewServiceObjectivesClient creates an instance of the ServiceObjectivesClient client. +func NewServiceObjectivesClient(subscriptionID string) ServiceObjectivesClient { + return NewServiceObjectivesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServiceObjectivesClientWithBaseURI creates an instance of the ServiceObjectivesClient client. +func NewServiceObjectivesClientWithBaseURI(baseURI string, subscriptionID string) ServiceObjectivesClient { + return ServiceObjectivesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets a database service objective. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. serviceObjectiveName is the name of +// the service objective to retrieve. +func (client ServiceObjectivesClient) Get(resourceGroupName string, serverName string, serviceObjectiveName string) (result ServiceObjective, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, serviceObjectiveName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServiceObjectivesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServiceObjectivesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServiceObjectivesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServiceObjectivesClient) GetPreparer(resourceGroupName string, serverName string, serviceObjectiveName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "serviceObjectiveName": autorest.Encode("path", serviceObjectiveName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/serviceObjectives/{serviceObjectiveName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceObjectivesClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServiceObjectivesClient) GetResponder(resp *http.Response) (result ServiceObjective, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer returns database service objectives. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. +func (client ServiceObjectivesClient) ListByServer(resourceGroupName string, serverName string) (result ServiceObjectiveListResult, err error) { + req, err := client.ListByServerPreparer(resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServiceObjectivesClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServiceObjectivesClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServiceObjectivesClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client ServiceObjectivesClient) ListByServerPreparer(resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/serviceObjectives", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceObjectivesClient) ListByServerSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client ServiceObjectivesClient) ListByServerResponder(resp *http.Response) (result ServiceObjectiveListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/servicetieradvisors.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/servicetieradvisors.go new file mode 100644 index 000000000..26ffa1467 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/servicetieradvisors.go @@ -0,0 +1,178 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// ServiceTierAdvisorsClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type ServiceTierAdvisorsClient struct { + ManagementClient +} + +// NewServiceTierAdvisorsClient creates an instance of the ServiceTierAdvisorsClient client. +func NewServiceTierAdvisorsClient(subscriptionID string) ServiceTierAdvisorsClient { + return NewServiceTierAdvisorsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServiceTierAdvisorsClientWithBaseURI creates an instance of the ServiceTierAdvisorsClient client. +func NewServiceTierAdvisorsClientWithBaseURI(baseURI string, subscriptionID string) ServiceTierAdvisorsClient { + return ServiceTierAdvisorsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets a service tier advisor. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of +// database. serviceTierAdvisorName is the name of service tier advisor. +func (client ServiceTierAdvisorsClient) Get(resourceGroupName string, serverName string, databaseName string, serviceTierAdvisorName string) (result ServiceTierAdvisor, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, databaseName, serviceTierAdvisorName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServiceTierAdvisorsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServiceTierAdvisorsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServiceTierAdvisorsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServiceTierAdvisorsClient) GetPreparer(resourceGroupName string, serverName string, databaseName string, serviceTierAdvisorName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "serviceTierAdvisorName": autorest.Encode("path", serviceTierAdvisorName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/serviceTierAdvisors/{serviceTierAdvisorName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceTierAdvisorsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServiceTierAdvisorsClient) GetResponder(resp *http.Response) (result ServiceTierAdvisor, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByDatabase returns service tier advisors for specified database. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of +// database. +func (client ServiceTierAdvisorsClient) ListByDatabase(resourceGroupName string, serverName string, databaseName string) (result ServiceTierAdvisorListResult, err error) { + req, err := client.ListByDatabasePreparer(resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServiceTierAdvisorsClient", "ListByDatabase", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServiceTierAdvisorsClient", "ListByDatabase", resp, "Failure sending request") + return + } + + result, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServiceTierAdvisorsClient", "ListByDatabase", resp, "Failure responding to request") + } + + return +} + +// ListByDatabasePreparer prepares the ListByDatabase request. +func (client ServiceTierAdvisorsClient) ListByDatabasePreparer(resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/serviceTierAdvisors", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByDatabaseSender sends the ListByDatabase request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceTierAdvisorsClient) ListByDatabaseSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByDatabaseResponder handles the response to the ListByDatabase request. The method always +// closes the http.Response Body. +func (client ServiceTierAdvisorsClient) ListByDatabaseResponder(resp *http.Response) (result ServiceTierAdvisorListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/syncagents.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/syncagents.go new file mode 100644 index 000000000..c3aae13ee --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/syncagents.go @@ -0,0 +1,618 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// SyncAgentsClient is the the Azure SQL Database management API provides a RESTful set of web services that interact +// with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and +// delete databases. +type SyncAgentsClient struct { + ManagementClient +} + +// NewSyncAgentsClient creates an instance of the SyncAgentsClient client. +func NewSyncAgentsClient(subscriptionID string) SyncAgentsClient { + return NewSyncAgentsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewSyncAgentsClientWithBaseURI creates an instance of the SyncAgentsClient client. +func NewSyncAgentsClientWithBaseURI(baseURI string, subscriptionID string) SyncAgentsClient { + return SyncAgentsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a sync agent. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server on which the sync agent is hosted. +// syncAgentName is the name of the sync agent. parameters is the requested sync agent resource state. +func (client SyncAgentsClient) CreateOrUpdate(resourceGroupName string, serverName string, syncAgentName string, parameters SyncAgent, cancel <-chan struct{}) (<-chan SyncAgent, <-chan error) { + resultChan := make(chan SyncAgent, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result SyncAgent + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, syncAgentName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client SyncAgentsClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, syncAgentName string, parameters SyncAgent, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "syncAgentName": autorest.Encode("path", syncAgentName), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client SyncAgentsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client SyncAgentsClient) CreateOrUpdateResponder(resp *http.Response) (result SyncAgent, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a sync agent. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server on which the sync agent is hosted. +// syncAgentName is the name of the sync agent. +func (client SyncAgentsClient) Delete(resourceGroupName string, serverName string, syncAgentName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, serverName, syncAgentName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// DeletePreparer prepares the Delete request. +func (client SyncAgentsClient) DeletePreparer(resourceGroupName string, serverName string, syncAgentName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "syncAgentName": autorest.Encode("path", syncAgentName), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client SyncAgentsClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client SyncAgentsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// GenerateKey generates a sync agent key. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server on which the sync agent is hosted. +// syncAgentName is the name of the sync agent. +func (client SyncAgentsClient) GenerateKey(resourceGroupName string, serverName string, syncAgentName string) (result SyncAgentKeyProperties, err error) { + req, err := client.GenerateKeyPreparer(resourceGroupName, serverName, syncAgentName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "GenerateKey", nil, "Failure preparing request") + return + } + + resp, err := client.GenerateKeySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "GenerateKey", resp, "Failure sending request") + return + } + + result, err = client.GenerateKeyResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "GenerateKey", resp, "Failure responding to request") + } + + return +} + +// GenerateKeyPreparer prepares the GenerateKey request. +func (client SyncAgentsClient) GenerateKeyPreparer(resourceGroupName string, serverName string, syncAgentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "syncAgentName": autorest.Encode("path", syncAgentName), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}/generateKey", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GenerateKeySender sends the GenerateKey request. The method will close the +// http.Response Body if it receives an error. +func (client SyncAgentsClient) GenerateKeySender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GenerateKeyResponder handles the response to the GenerateKey request. The method always +// closes the http.Response Body. +func (client SyncAgentsClient) GenerateKeyResponder(resp *http.Response) (result SyncAgentKeyProperties, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets a sync agent. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server on which the sync agent is hosted. +// syncAgentName is the name of the sync agent. +func (client SyncAgentsClient) Get(resourceGroupName string, serverName string, syncAgentName string) (result SyncAgent, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, syncAgentName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client SyncAgentsClient) GetPreparer(resourceGroupName string, serverName string, syncAgentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "syncAgentName": autorest.Encode("path", syncAgentName), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client SyncAgentsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client SyncAgentsClient) GetResponder(resp *http.Response) (result SyncAgent, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer lists sync agents in a server. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server on which the sync agent is hosted. +func (client SyncAgentsClient) ListByServer(resourceGroupName string, serverName string) (result SyncAgentListResult, err error) { + req, err := client.ListByServerPreparer(resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client SyncAgentsClient) ListByServerPreparer(resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client SyncAgentsClient) ListByServerSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client SyncAgentsClient) ListByServerResponder(resp *http.Response) (result SyncAgentListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServerNextResults retrieves the next set of results, if any. +func (client SyncAgentsClient) ListByServerNextResults(lastResults SyncAgentListResult) (result SyncAgentListResult, err error) { + req, err := lastResults.SyncAgentListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "ListByServer", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "ListByServer", resp, "Failure sending next results request") + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "ListByServer", resp, "Failure responding to next results request") + } + + return +} + +// ListByServerComplete gets all elements from the list without paging. +func (client SyncAgentsClient) ListByServerComplete(resourceGroupName string, serverName string, cancel <-chan struct{}) (<-chan SyncAgent, <-chan error) { + resultChan := make(chan SyncAgent) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByServer(resourceGroupName, serverName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByServerNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListLinkedDatabases lists databases linked to a sync agent. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server on which the sync agent is hosted. +// syncAgentName is the name of the sync agent. +func (client SyncAgentsClient) ListLinkedDatabases(resourceGroupName string, serverName string, syncAgentName string) (result SyncAgentLinkedDatabaseListResult, err error) { + req, err := client.ListLinkedDatabasesPreparer(resourceGroupName, serverName, syncAgentName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "ListLinkedDatabases", nil, "Failure preparing request") + return + } + + resp, err := client.ListLinkedDatabasesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "ListLinkedDatabases", resp, "Failure sending request") + return + } + + result, err = client.ListLinkedDatabasesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "ListLinkedDatabases", resp, "Failure responding to request") + } + + return +} + +// ListLinkedDatabasesPreparer prepares the ListLinkedDatabases request. +func (client SyncAgentsClient) ListLinkedDatabasesPreparer(resourceGroupName string, serverName string, syncAgentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "syncAgentName": autorest.Encode("path", syncAgentName), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}/linkedDatabases", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListLinkedDatabasesSender sends the ListLinkedDatabases request. The method will close the +// http.Response Body if it receives an error. +func (client SyncAgentsClient) ListLinkedDatabasesSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListLinkedDatabasesResponder handles the response to the ListLinkedDatabases request. The method always +// closes the http.Response Body. +func (client SyncAgentsClient) ListLinkedDatabasesResponder(resp *http.Response) (result SyncAgentLinkedDatabaseListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListLinkedDatabasesNextResults retrieves the next set of results, if any. +func (client SyncAgentsClient) ListLinkedDatabasesNextResults(lastResults SyncAgentLinkedDatabaseListResult) (result SyncAgentLinkedDatabaseListResult, err error) { + req, err := lastResults.SyncAgentLinkedDatabaseListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "ListLinkedDatabases", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListLinkedDatabasesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "ListLinkedDatabases", resp, "Failure sending next results request") + } + + result, err = client.ListLinkedDatabasesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "ListLinkedDatabases", resp, "Failure responding to next results request") + } + + return +} + +// ListLinkedDatabasesComplete gets all elements from the list without paging. +func (client SyncAgentsClient) ListLinkedDatabasesComplete(resourceGroupName string, serverName string, syncAgentName string, cancel <-chan struct{}) (<-chan SyncAgentLinkedDatabase, <-chan error) { + resultChan := make(chan SyncAgentLinkedDatabase) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListLinkedDatabases(resourceGroupName, serverName, syncAgentName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListLinkedDatabasesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/syncgroups.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/syncgroups.go new file mode 100644 index 000000000..9cc7af60e --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/syncgroups.go @@ -0,0 +1,1144 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// SyncGroupsClient is the the Azure SQL Database management API provides a RESTful set of web services that interact +// with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and +// delete databases. +type SyncGroupsClient struct { + ManagementClient +} + +// NewSyncGroupsClient creates an instance of the SyncGroupsClient client. +func NewSyncGroupsClient(subscriptionID string) SyncGroupsClient { + return NewSyncGroupsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewSyncGroupsClientWithBaseURI creates an instance of the SyncGroupsClient client. +func NewSyncGroupsClientWithBaseURI(baseURI string, subscriptionID string) SyncGroupsClient { + return SyncGroupsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CancelSync cancels a sync group synchronization. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database on which the sync group is hosted. syncGroupName is the name of the sync group. +func (client SyncGroupsClient) CancelSync(resourceGroupName string, serverName string, databaseName string, syncGroupName string) (result autorest.Response, err error) { + req, err := client.CancelSyncPreparer(resourceGroupName, serverName, databaseName, syncGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "CancelSync", nil, "Failure preparing request") + return + } + + resp, err := client.CancelSyncSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "CancelSync", resp, "Failure sending request") + return + } + + result, err = client.CancelSyncResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "CancelSync", resp, "Failure responding to request") + } + + return +} + +// CancelSyncPreparer prepares the CancelSync request. +func (client SyncGroupsClient) CancelSyncPreparer(resourceGroupName string, serverName string, databaseName string, syncGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "syncGroupName": autorest.Encode("path", syncGroupName), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/cancelSync", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CancelSyncSender sends the CancelSync request. The method will close the +// http.Response Body if it receives an error. +func (client SyncGroupsClient) CancelSyncSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CancelSyncResponder handles the response to the CancelSync request. The method always +// closes the http.Response Body. +func (client SyncGroupsClient) CancelSyncResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// CreateOrUpdate creates or updates a sync group. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database on which the sync group is hosted. syncGroupName is the name of the sync group. parameters is the requested +// sync group resource state. +func (client SyncGroupsClient) CreateOrUpdate(resourceGroupName string, serverName string, databaseName string, syncGroupName string, parameters SyncGroup, cancel <-chan struct{}) (<-chan SyncGroup, <-chan error) { + resultChan := make(chan SyncGroup, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result SyncGroup + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, databaseName, syncGroupName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client SyncGroupsClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, databaseName string, syncGroupName string, parameters SyncGroup, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "syncGroupName": autorest.Encode("path", syncGroupName), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client SyncGroupsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client SyncGroupsClient) CreateOrUpdateResponder(resp *http.Response) (result SyncGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a sync group. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database on which the sync group is hosted. syncGroupName is the name of the sync group. +func (client SyncGroupsClient) Delete(resourceGroupName string, serverName string, databaseName string, syncGroupName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, serverName, databaseName, syncGroupName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// DeletePreparer prepares the Delete request. +func (client SyncGroupsClient) DeletePreparer(resourceGroupName string, serverName string, databaseName string, syncGroupName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "syncGroupName": autorest.Encode("path", syncGroupName), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client SyncGroupsClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client SyncGroupsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a sync group. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database on which the sync group is hosted. syncGroupName is the name of the sync group. +func (client SyncGroupsClient) Get(resourceGroupName string, serverName string, databaseName string, syncGroupName string) (result SyncGroup, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, databaseName, syncGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client SyncGroupsClient) GetPreparer(resourceGroupName string, serverName string, databaseName string, syncGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "syncGroupName": autorest.Encode("path", syncGroupName), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client SyncGroupsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client SyncGroupsClient) GetResponder(resp *http.Response) (result SyncGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByDatabase lists sync groups under a hub database. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database on which the sync group is hosted. +func (client SyncGroupsClient) ListByDatabase(resourceGroupName string, serverName string, databaseName string) (result SyncGroupListResult, err error) { + req, err := client.ListByDatabasePreparer(resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "ListByDatabase", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "ListByDatabase", resp, "Failure sending request") + return + } + + result, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "ListByDatabase", resp, "Failure responding to request") + } + + return +} + +// ListByDatabasePreparer prepares the ListByDatabase request. +func (client SyncGroupsClient) ListByDatabasePreparer(resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByDatabaseSender sends the ListByDatabase request. The method will close the +// http.Response Body if it receives an error. +func (client SyncGroupsClient) ListByDatabaseSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByDatabaseResponder handles the response to the ListByDatabase request. The method always +// closes the http.Response Body. +func (client SyncGroupsClient) ListByDatabaseResponder(resp *http.Response) (result SyncGroupListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByDatabaseNextResults retrieves the next set of results, if any. +func (client SyncGroupsClient) ListByDatabaseNextResults(lastResults SyncGroupListResult) (result SyncGroupListResult, err error) { + req, err := lastResults.SyncGroupListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "ListByDatabase", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "ListByDatabase", resp, "Failure sending next results request") + } + + result, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "ListByDatabase", resp, "Failure responding to next results request") + } + + return +} + +// ListByDatabaseComplete gets all elements from the list without paging. +func (client SyncGroupsClient) ListByDatabaseComplete(resourceGroupName string, serverName string, databaseName string, cancel <-chan struct{}) (<-chan SyncGroup, <-chan error) { + resultChan := make(chan SyncGroup) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByDatabase(resourceGroupName, serverName, databaseName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByDatabaseNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListHubSchemas gets a collection of hub database schemas. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database on which the sync group is hosted. syncGroupName is the name of the sync group. +func (client SyncGroupsClient) ListHubSchemas(resourceGroupName string, serverName string, databaseName string, syncGroupName string) (result SyncFullSchemaPropertiesListResult, err error) { + req, err := client.ListHubSchemasPreparer(resourceGroupName, serverName, databaseName, syncGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "ListHubSchemas", nil, "Failure preparing request") + return + } + + resp, err := client.ListHubSchemasSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "ListHubSchemas", resp, "Failure sending request") + return + } + + result, err = client.ListHubSchemasResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "ListHubSchemas", resp, "Failure responding to request") + } + + return +} + +// ListHubSchemasPreparer prepares the ListHubSchemas request. +func (client SyncGroupsClient) ListHubSchemasPreparer(resourceGroupName string, serverName string, databaseName string, syncGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "syncGroupName": autorest.Encode("path", syncGroupName), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/hubSchemas", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListHubSchemasSender sends the ListHubSchemas request. The method will close the +// http.Response Body if it receives an error. +func (client SyncGroupsClient) ListHubSchemasSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListHubSchemasResponder handles the response to the ListHubSchemas request. The method always +// closes the http.Response Body. +func (client SyncGroupsClient) ListHubSchemasResponder(resp *http.Response) (result SyncFullSchemaPropertiesListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListHubSchemasNextResults retrieves the next set of results, if any. +func (client SyncGroupsClient) ListHubSchemasNextResults(lastResults SyncFullSchemaPropertiesListResult) (result SyncFullSchemaPropertiesListResult, err error) { + req, err := lastResults.SyncFullSchemaPropertiesListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "ListHubSchemas", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListHubSchemasSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "ListHubSchemas", resp, "Failure sending next results request") + } + + result, err = client.ListHubSchemasResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "ListHubSchemas", resp, "Failure responding to next results request") + } + + return +} + +// ListHubSchemasComplete gets all elements from the list without paging. +func (client SyncGroupsClient) ListHubSchemasComplete(resourceGroupName string, serverName string, databaseName string, syncGroupName string, cancel <-chan struct{}) (<-chan SyncFullSchemaProperties, <-chan error) { + resultChan := make(chan SyncFullSchemaProperties) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListHubSchemas(resourceGroupName, serverName, databaseName, syncGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListHubSchemasNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListLogs gets a collection of sync group logs. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database on which the sync group is hosted. syncGroupName is the name of the sync group. startTime is get logs +// generated after this time. endTime is get logs generated before this time. typeParameter is the types of logs to +// retrieve. continuationToken is the continuation token for this operation. +func (client SyncGroupsClient) ListLogs(resourceGroupName string, serverName string, databaseName string, syncGroupName string, startTime string, endTime string, typeParameter string, continuationToken string) (result SyncGroupLogListResult, err error) { + req, err := client.ListLogsPreparer(resourceGroupName, serverName, databaseName, syncGroupName, startTime, endTime, typeParameter, continuationToken) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "ListLogs", nil, "Failure preparing request") + return + } + + resp, err := client.ListLogsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "ListLogs", resp, "Failure sending request") + return + } + + result, err = client.ListLogsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "ListLogs", resp, "Failure responding to request") + } + + return +} + +// ListLogsPreparer prepares the ListLogs request. +func (client SyncGroupsClient) ListLogsPreparer(resourceGroupName string, serverName string, databaseName string, syncGroupName string, startTime string, endTime string, typeParameter string, continuationToken string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "syncGroupName": autorest.Encode("path", syncGroupName), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "endTime": autorest.Encode("query", endTime), + "startTime": autorest.Encode("query", startTime), + "type": autorest.Encode("query", typeParameter), + } + if len(continuationToken) > 0 { + queryParameters["continuationToken"] = autorest.Encode("query", continuationToken) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/logs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListLogsSender sends the ListLogs request. The method will close the +// http.Response Body if it receives an error. +func (client SyncGroupsClient) ListLogsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListLogsResponder handles the response to the ListLogs request. The method always +// closes the http.Response Body. +func (client SyncGroupsClient) ListLogsResponder(resp *http.Response) (result SyncGroupLogListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListLogsNextResults retrieves the next set of results, if any. +func (client SyncGroupsClient) ListLogsNextResults(lastResults SyncGroupLogListResult) (result SyncGroupLogListResult, err error) { + req, err := lastResults.SyncGroupLogListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "ListLogs", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListLogsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "ListLogs", resp, "Failure sending next results request") + } + + result, err = client.ListLogsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "ListLogs", resp, "Failure responding to next results request") + } + + return +} + +// ListLogsComplete gets all elements from the list without paging. +func (client SyncGroupsClient) ListLogsComplete(resourceGroupName string, serverName string, databaseName string, syncGroupName string, startTime string, endTime string, typeParameter string, continuationToken string, cancel <-chan struct{}) (<-chan SyncGroupLogProperties, <-chan error) { + resultChan := make(chan SyncGroupLogProperties) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListLogs(resourceGroupName, serverName, databaseName, syncGroupName, startTime, endTime, typeParameter, continuationToken) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListLogsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListSyncDatabaseIds gets a collection of sync database ids. +// +// locationName is the name of the region where the resource is located. +func (client SyncGroupsClient) ListSyncDatabaseIds(locationName string) (result SyncDatabaseIDListResult, err error) { + req, err := client.ListSyncDatabaseIdsPreparer(locationName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "ListSyncDatabaseIds", nil, "Failure preparing request") + return + } + + resp, err := client.ListSyncDatabaseIdsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "ListSyncDatabaseIds", resp, "Failure sending request") + return + } + + result, err = client.ListSyncDatabaseIdsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "ListSyncDatabaseIds", resp, "Failure responding to request") + } + + return +} + +// ListSyncDatabaseIdsPreparer prepares the ListSyncDatabaseIds request. +func (client SyncGroupsClient) ListSyncDatabaseIdsPreparer(locationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "locationName": autorest.Encode("path", locationName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/syncDatabaseIds", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSyncDatabaseIdsSender sends the ListSyncDatabaseIds request. The method will close the +// http.Response Body if it receives an error. +func (client SyncGroupsClient) ListSyncDatabaseIdsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListSyncDatabaseIdsResponder handles the response to the ListSyncDatabaseIds request. The method always +// closes the http.Response Body. +func (client SyncGroupsClient) ListSyncDatabaseIdsResponder(resp *http.Response) (result SyncDatabaseIDListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListSyncDatabaseIdsNextResults retrieves the next set of results, if any. +func (client SyncGroupsClient) ListSyncDatabaseIdsNextResults(lastResults SyncDatabaseIDListResult) (result SyncDatabaseIDListResult, err error) { + req, err := lastResults.SyncDatabaseIDListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "ListSyncDatabaseIds", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSyncDatabaseIdsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "ListSyncDatabaseIds", resp, "Failure sending next results request") + } + + result, err = client.ListSyncDatabaseIdsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "ListSyncDatabaseIds", resp, "Failure responding to next results request") + } + + return +} + +// ListSyncDatabaseIdsComplete gets all elements from the list without paging. +func (client SyncGroupsClient) ListSyncDatabaseIdsComplete(locationName string, cancel <-chan struct{}) (<-chan SyncDatabaseIDProperties, <-chan error) { + resultChan := make(chan SyncDatabaseIDProperties) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListSyncDatabaseIds(locationName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListSyncDatabaseIdsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// RefreshHubSchema refreshes a hub database schema. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database on which the sync group is hosted. syncGroupName is the name of the sync group. +func (client SyncGroupsClient) RefreshHubSchema(resourceGroupName string, serverName string, databaseName string, syncGroupName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.RefreshHubSchemaPreparer(resourceGroupName, serverName, databaseName, syncGroupName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "RefreshHubSchema", nil, "Failure preparing request") + return + } + + resp, err := client.RefreshHubSchemaSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "RefreshHubSchema", resp, "Failure sending request") + return + } + + result, err = client.RefreshHubSchemaResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "RefreshHubSchema", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// RefreshHubSchemaPreparer prepares the RefreshHubSchema request. +func (client SyncGroupsClient) RefreshHubSchemaPreparer(resourceGroupName string, serverName string, databaseName string, syncGroupName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "syncGroupName": autorest.Encode("path", syncGroupName), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/refreshHubSchema", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// RefreshHubSchemaSender sends the RefreshHubSchema request. The method will close the +// http.Response Body if it receives an error. +func (client SyncGroupsClient) RefreshHubSchemaSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// RefreshHubSchemaResponder handles the response to the RefreshHubSchema request. The method always +// closes the http.Response Body. +func (client SyncGroupsClient) RefreshHubSchemaResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// TriggerSync triggers a sync group synchronization. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database on which the sync group is hosted. syncGroupName is the name of the sync group. +func (client SyncGroupsClient) TriggerSync(resourceGroupName string, serverName string, databaseName string, syncGroupName string) (result autorest.Response, err error) { + req, err := client.TriggerSyncPreparer(resourceGroupName, serverName, databaseName, syncGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "TriggerSync", nil, "Failure preparing request") + return + } + + resp, err := client.TriggerSyncSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "TriggerSync", resp, "Failure sending request") + return + } + + result, err = client.TriggerSyncResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "TriggerSync", resp, "Failure responding to request") + } + + return +} + +// TriggerSyncPreparer prepares the TriggerSync request. +func (client SyncGroupsClient) TriggerSyncPreparer(resourceGroupName string, serverName string, databaseName string, syncGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "syncGroupName": autorest.Encode("path", syncGroupName), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/triggerSync", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// TriggerSyncSender sends the TriggerSync request. The method will close the +// http.Response Body if it receives an error. +func (client SyncGroupsClient) TriggerSyncSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// TriggerSyncResponder handles the response to the TriggerSync request. The method always +// closes the http.Response Body. +func (client SyncGroupsClient) TriggerSyncResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Update updates a sync group. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database on which the sync group is hosted. syncGroupName is the name of the sync group. parameters is the requested +// sync group resource state. +func (client SyncGroupsClient) Update(resourceGroupName string, serverName string, databaseName string, syncGroupName string, parameters SyncGroup, cancel <-chan struct{}) (<-chan SyncGroup, <-chan error) { + resultChan := make(chan SyncGroup, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result SyncGroup + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.UpdatePreparer(resourceGroupName, serverName, databaseName, syncGroupName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncGroupsClient", "Update", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// UpdatePreparer prepares the Update request. +func (client SyncGroupsClient) UpdatePreparer(resourceGroupName string, serverName string, databaseName string, syncGroupName string, parameters SyncGroup, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "syncGroupName": autorest.Encode("path", syncGroupName), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client SyncGroupsClient) UpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client SyncGroupsClient) UpdateResponder(resp *http.Response) (result SyncGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/syncmembers.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/syncmembers.go new file mode 100644 index 000000000..fe9c9cb1e --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/syncmembers.go @@ -0,0 +1,741 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// SyncMembersClient is the the Azure SQL Database management API provides a RESTful set of web services that interact +// with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and +// delete databases. +type SyncMembersClient struct { + ManagementClient +} + +// NewSyncMembersClient creates an instance of the SyncMembersClient client. +func NewSyncMembersClient(subscriptionID string) SyncMembersClient { + return NewSyncMembersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewSyncMembersClientWithBaseURI creates an instance of the SyncMembersClient client. +func NewSyncMembersClientWithBaseURI(baseURI string, subscriptionID string) SyncMembersClient { + return SyncMembersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a sync member. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database on which the sync group is hosted. syncGroupName is the name of the sync group on which the sync member is +// hosted. syncMemberName is the name of the sync member. parameters is the requested sync member resource state. +func (client SyncMembersClient) CreateOrUpdate(resourceGroupName string, serverName string, databaseName string, syncGroupName string, syncMemberName string, parameters SyncMember, cancel <-chan struct{}) (<-chan SyncMember, <-chan error) { + resultChan := make(chan SyncMember, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result SyncMember + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, databaseName, syncGroupName, syncMemberName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncMembersClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.SyncMembersClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncMembersClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client SyncMembersClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, databaseName string, syncGroupName string, syncMemberName string, parameters SyncMember, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "syncGroupName": autorest.Encode("path", syncGroupName), + "syncMemberName": autorest.Encode("path", syncMemberName), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client SyncMembersClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client SyncMembersClient) CreateOrUpdateResponder(resp *http.Response) (result SyncMember, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a sync member. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database on which the sync group is hosted. syncGroupName is the name of the sync group on which the sync member is +// hosted. syncMemberName is the name of the sync member. +func (client SyncMembersClient) Delete(resourceGroupName string, serverName string, databaseName string, syncGroupName string, syncMemberName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, serverName, databaseName, syncGroupName, syncMemberName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncMembersClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "sql.SyncMembersClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncMembersClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// DeletePreparer prepares the Delete request. +func (client SyncMembersClient) DeletePreparer(resourceGroupName string, serverName string, databaseName string, syncGroupName string, syncMemberName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "syncGroupName": autorest.Encode("path", syncGroupName), + "syncMemberName": autorest.Encode("path", syncMemberName), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client SyncMembersClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client SyncMembersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a sync member. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database on which the sync group is hosted. syncGroupName is the name of the sync group on which the sync member is +// hosted. syncMemberName is the name of the sync member. +func (client SyncMembersClient) Get(resourceGroupName string, serverName string, databaseName string, syncGroupName string, syncMemberName string) (result SyncMember, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, databaseName, syncGroupName, syncMemberName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncMembersClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.SyncMembersClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncMembersClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client SyncMembersClient) GetPreparer(resourceGroupName string, serverName string, databaseName string, syncGroupName string, syncMemberName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "syncGroupName": autorest.Encode("path", syncGroupName), + "syncMemberName": autorest.Encode("path", syncMemberName), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client SyncMembersClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client SyncMembersClient) GetResponder(resp *http.Response) (result SyncMember, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListBySyncGroup lists sync members in the given sync group. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database on which the sync group is hosted. syncGroupName is the name of the sync group. +func (client SyncMembersClient) ListBySyncGroup(resourceGroupName string, serverName string, databaseName string, syncGroupName string) (result SyncMemberListResult, err error) { + req, err := client.ListBySyncGroupPreparer(resourceGroupName, serverName, databaseName, syncGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncMembersClient", "ListBySyncGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListBySyncGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.SyncMembersClient", "ListBySyncGroup", resp, "Failure sending request") + return + } + + result, err = client.ListBySyncGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncMembersClient", "ListBySyncGroup", resp, "Failure responding to request") + } + + return +} + +// ListBySyncGroupPreparer prepares the ListBySyncGroup request. +func (client SyncMembersClient) ListBySyncGroupPreparer(resourceGroupName string, serverName string, databaseName string, syncGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "syncGroupName": autorest.Encode("path", syncGroupName), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListBySyncGroupSender sends the ListBySyncGroup request. The method will close the +// http.Response Body if it receives an error. +func (client SyncMembersClient) ListBySyncGroupSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListBySyncGroupResponder handles the response to the ListBySyncGroup request. The method always +// closes the http.Response Body. +func (client SyncMembersClient) ListBySyncGroupResponder(resp *http.Response) (result SyncMemberListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListBySyncGroupNextResults retrieves the next set of results, if any. +func (client SyncMembersClient) ListBySyncGroupNextResults(lastResults SyncMemberListResult) (result SyncMemberListResult, err error) { + req, err := lastResults.SyncMemberListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.SyncMembersClient", "ListBySyncGroup", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListBySyncGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.SyncMembersClient", "ListBySyncGroup", resp, "Failure sending next results request") + } + + result, err = client.ListBySyncGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncMembersClient", "ListBySyncGroup", resp, "Failure responding to next results request") + } + + return +} + +// ListBySyncGroupComplete gets all elements from the list without paging. +func (client SyncMembersClient) ListBySyncGroupComplete(resourceGroupName string, serverName string, databaseName string, syncGroupName string, cancel <-chan struct{}) (<-chan SyncMember, <-chan error) { + resultChan := make(chan SyncMember) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListBySyncGroup(resourceGroupName, serverName, databaseName, syncGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListBySyncGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListMemberSchemas gets a sync member database schema. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database on which the sync group is hosted. syncGroupName is the name of the sync group on which the sync member is +// hosted. syncMemberName is the name of the sync member. +func (client SyncMembersClient) ListMemberSchemas(resourceGroupName string, serverName string, databaseName string, syncGroupName string, syncMemberName string) (result SyncFullSchemaPropertiesListResult, err error) { + req, err := client.ListMemberSchemasPreparer(resourceGroupName, serverName, databaseName, syncGroupName, syncMemberName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncMembersClient", "ListMemberSchemas", nil, "Failure preparing request") + return + } + + resp, err := client.ListMemberSchemasSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.SyncMembersClient", "ListMemberSchemas", resp, "Failure sending request") + return + } + + result, err = client.ListMemberSchemasResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncMembersClient", "ListMemberSchemas", resp, "Failure responding to request") + } + + return +} + +// ListMemberSchemasPreparer prepares the ListMemberSchemas request. +func (client SyncMembersClient) ListMemberSchemasPreparer(resourceGroupName string, serverName string, databaseName string, syncGroupName string, syncMemberName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "syncGroupName": autorest.Encode("path", syncGroupName), + "syncMemberName": autorest.Encode("path", syncMemberName), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}/schemas", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListMemberSchemasSender sends the ListMemberSchemas request. The method will close the +// http.Response Body if it receives an error. +func (client SyncMembersClient) ListMemberSchemasSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListMemberSchemasResponder handles the response to the ListMemberSchemas request. The method always +// closes the http.Response Body. +func (client SyncMembersClient) ListMemberSchemasResponder(resp *http.Response) (result SyncFullSchemaPropertiesListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListMemberSchemasNextResults retrieves the next set of results, if any. +func (client SyncMembersClient) ListMemberSchemasNextResults(lastResults SyncFullSchemaPropertiesListResult) (result SyncFullSchemaPropertiesListResult, err error) { + req, err := lastResults.SyncFullSchemaPropertiesListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.SyncMembersClient", "ListMemberSchemas", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListMemberSchemasSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.SyncMembersClient", "ListMemberSchemas", resp, "Failure sending next results request") + } + + result, err = client.ListMemberSchemasResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncMembersClient", "ListMemberSchemas", resp, "Failure responding to next results request") + } + + return +} + +// ListMemberSchemasComplete gets all elements from the list without paging. +func (client SyncMembersClient) ListMemberSchemasComplete(resourceGroupName string, serverName string, databaseName string, syncGroupName string, syncMemberName string, cancel <-chan struct{}) (<-chan SyncFullSchemaProperties, <-chan error) { + resultChan := make(chan SyncFullSchemaProperties) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListMemberSchemas(resourceGroupName, serverName, databaseName, syncGroupName, syncMemberName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListMemberSchemasNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// RefreshMemberSchema refreshes a sync member database schema. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database on which the sync group is hosted. syncGroupName is the name of the sync group on which the sync member is +// hosted. syncMemberName is the name of the sync member. +func (client SyncMembersClient) RefreshMemberSchema(resourceGroupName string, serverName string, databaseName string, syncGroupName string, syncMemberName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.RefreshMemberSchemaPreparer(resourceGroupName, serverName, databaseName, syncGroupName, syncMemberName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncMembersClient", "RefreshMemberSchema", nil, "Failure preparing request") + return + } + + resp, err := client.RefreshMemberSchemaSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "sql.SyncMembersClient", "RefreshMemberSchema", resp, "Failure sending request") + return + } + + result, err = client.RefreshMemberSchemaResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncMembersClient", "RefreshMemberSchema", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// RefreshMemberSchemaPreparer prepares the RefreshMemberSchema request. +func (client SyncMembersClient) RefreshMemberSchemaPreparer(resourceGroupName string, serverName string, databaseName string, syncGroupName string, syncMemberName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "syncGroupName": autorest.Encode("path", syncGroupName), + "syncMemberName": autorest.Encode("path", syncMemberName), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}/refreshSchema", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// RefreshMemberSchemaSender sends the RefreshMemberSchema request. The method will close the +// http.Response Body if it receives an error. +func (client SyncMembersClient) RefreshMemberSchemaSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// RefreshMemberSchemaResponder handles the response to the RefreshMemberSchema request. The method always +// closes the http.Response Body. +func (client SyncMembersClient) RefreshMemberSchemaResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// Update updates an existing sync member. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database on which the sync group is hosted. syncGroupName is the name of the sync group on which the sync member is +// hosted. syncMemberName is the name of the sync member. parameters is the requested sync member resource state. +func (client SyncMembersClient) Update(resourceGroupName string, serverName string, databaseName string, syncGroupName string, syncMemberName string, parameters SyncMember, cancel <-chan struct{}) (<-chan SyncMember, <-chan error) { + resultChan := make(chan SyncMember, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result SyncMember + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.UpdatePreparer(resourceGroupName, serverName, databaseName, syncGroupName, syncMemberName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncMembersClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.SyncMembersClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.SyncMembersClient", "Update", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// UpdatePreparer prepares the Update request. +func (client SyncMembersClient) UpdatePreparer(resourceGroupName string, serverName string, databaseName string, syncGroupName string, syncMemberName string, parameters SyncMember, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "syncGroupName": autorest.Encode("path", syncGroupName), + "syncMemberName": autorest.Encode("path", syncMemberName), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client SyncMembersClient) UpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client SyncMembersClient) UpdateResponder(resp *http.Response) (result SyncMember, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/transparentdataencryptionactivities.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/transparentdataencryptionactivities.go new file mode 100644 index 000000000..3f78c2255 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/transparentdataencryptionactivities.go @@ -0,0 +1,113 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// TransparentDataEncryptionActivitiesClient is the the Azure SQL Database management API provides a RESTful set of web +// services that interact with Azure SQL Database services to manage your databases. The API enables you to create, +// retrieve, update, and delete databases. +type TransparentDataEncryptionActivitiesClient struct { + ManagementClient +} + +// NewTransparentDataEncryptionActivitiesClient creates an instance of the TransparentDataEncryptionActivitiesClient +// client. +func NewTransparentDataEncryptionActivitiesClient(subscriptionID string) TransparentDataEncryptionActivitiesClient { + return NewTransparentDataEncryptionActivitiesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewTransparentDataEncryptionActivitiesClientWithBaseURI creates an instance of the +// TransparentDataEncryptionActivitiesClient client. +func NewTransparentDataEncryptionActivitiesClientWithBaseURI(baseURI string, subscriptionID string) TransparentDataEncryptionActivitiesClient { + return TransparentDataEncryptionActivitiesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListByConfiguration returns a database's transparent data encryption operation result. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database for which the transparent data encryption applies. transparentDataEncryptionName is the name of the +// transparent data encryption configuration. +func (client TransparentDataEncryptionActivitiesClient) ListByConfiguration(resourceGroupName string, serverName string, databaseName string, transparentDataEncryptionName string) (result TransparentDataEncryptionActivityListResult, err error) { + req, err := client.ListByConfigurationPreparer(resourceGroupName, serverName, databaseName, transparentDataEncryptionName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.TransparentDataEncryptionActivitiesClient", "ListByConfiguration", nil, "Failure preparing request") + return + } + + resp, err := client.ListByConfigurationSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.TransparentDataEncryptionActivitiesClient", "ListByConfiguration", resp, "Failure sending request") + return + } + + result, err = client.ListByConfigurationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.TransparentDataEncryptionActivitiesClient", "ListByConfiguration", resp, "Failure responding to request") + } + + return +} + +// ListByConfigurationPreparer prepares the ListByConfiguration request. +func (client TransparentDataEncryptionActivitiesClient) ListByConfigurationPreparer(resourceGroupName string, serverName string, databaseName string, transparentDataEncryptionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "transparentDataEncryptionName": autorest.Encode("path", transparentDataEncryptionName), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{transparentDataEncryptionName}/operationResults", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByConfigurationSender sends the ListByConfiguration request. The method will close the +// http.Response Body if it receives an error. +func (client TransparentDataEncryptionActivitiesClient) ListByConfigurationSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByConfigurationResponder handles the response to the ListByConfiguration request. The method always +// closes the http.Response Body. +func (client TransparentDataEncryptionActivitiesClient) ListByConfigurationResponder(resp *http.Response) (result TransparentDataEncryptionActivityListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/transparentdataencryptions.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/transparentdataencryptions.go new file mode 100644 index 000000000..4f603942b --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/transparentdataencryptions.go @@ -0,0 +1,184 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// TransparentDataEncryptionsClient is the the Azure SQL Database management API provides a RESTful set of web services +// that interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, +// update, and delete databases. +type TransparentDataEncryptionsClient struct { + ManagementClient +} + +// NewTransparentDataEncryptionsClient creates an instance of the TransparentDataEncryptionsClient client. +func NewTransparentDataEncryptionsClient(subscriptionID string) TransparentDataEncryptionsClient { + return NewTransparentDataEncryptionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewTransparentDataEncryptionsClientWithBaseURI creates an instance of the TransparentDataEncryptionsClient client. +func NewTransparentDataEncryptionsClientWithBaseURI(baseURI string, subscriptionID string) TransparentDataEncryptionsClient { + return TransparentDataEncryptionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a database's transparent data encryption configuration. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database for which setting the transparent data encryption applies. transparentDataEncryptionName is the name of the +// transparent data encryption configuration. parameters is the required parameters for creating or updating +// transparent data encryption. +func (client TransparentDataEncryptionsClient) CreateOrUpdate(resourceGroupName string, serverName string, databaseName string, transparentDataEncryptionName string, parameters TransparentDataEncryption) (result TransparentDataEncryption, err error) { + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, databaseName, transparentDataEncryptionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.TransparentDataEncryptionsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.TransparentDataEncryptionsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.TransparentDataEncryptionsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client TransparentDataEncryptionsClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, databaseName string, transparentDataEncryptionName string, parameters TransparentDataEncryption) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "transparentDataEncryptionName": autorest.Encode("path", transparentDataEncryptionName), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{transparentDataEncryptionName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client TransparentDataEncryptionsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client TransparentDataEncryptionsClient) CreateOrUpdateResponder(resp *http.Response) (result TransparentDataEncryption, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets a database's transparent data encryption configuration. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. databaseName is the name of the +// database for which the transparent data encryption applies. transparentDataEncryptionName is the name of the +// transparent data encryption configuration. +func (client TransparentDataEncryptionsClient) Get(resourceGroupName string, serverName string, databaseName string, transparentDataEncryptionName string) (result TransparentDataEncryption, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, databaseName, transparentDataEncryptionName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.TransparentDataEncryptionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.TransparentDataEncryptionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.TransparentDataEncryptionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client TransparentDataEncryptionsClient) GetPreparer(resourceGroupName string, serverName string, databaseName string, transparentDataEncryptionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "transparentDataEncryptionName": autorest.Encode("path", transparentDataEncryptionName), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{transparentDataEncryptionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client TransparentDataEncryptionsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client TransparentDataEncryptionsClient) GetResponder(resp *http.Response) (result TransparentDataEncryption, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/version.go index e04a0254d..cd5df84b1 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/version.go @@ -14,16 +14,15 @@ package sql // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-sql/" + return "Azure-SDK-For-Go/v11.0.0-beta arm-sql/" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/virtualnetworkrules.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/virtualnetworkrules.go new file mode 100644 index 000000000..12c001600 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/sql/virtualnetworkrules.go @@ -0,0 +1,426 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// VirtualNetworkRulesClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type VirtualNetworkRulesClient struct { + ManagementClient +} + +// NewVirtualNetworkRulesClient creates an instance of the VirtualNetworkRulesClient client. +func NewVirtualNetworkRulesClient(subscriptionID string) VirtualNetworkRulesClient { + return NewVirtualNetworkRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVirtualNetworkRulesClientWithBaseURI creates an instance of the VirtualNetworkRulesClient client. +func NewVirtualNetworkRulesClientWithBaseURI(baseURI string, subscriptionID string) VirtualNetworkRulesClient { + return VirtualNetworkRulesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates an existing virtual network rule. This method may poll for completion. Polling can +// be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding +// HTTP requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. virtualNetworkRuleName is the name +// of the virtual network rule. parameters is the requested virtual Network Rule Resource state. +func (client VirtualNetworkRulesClient) CreateOrUpdate(resourceGroupName string, serverName string, virtualNetworkRuleName string, parameters VirtualNetworkRule, cancel <-chan struct{}) (<-chan VirtualNetworkRule, <-chan error) { + resultChan := make(chan VirtualNetworkRule, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.VirtualNetworkRuleProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkRuleProperties.VirtualNetworkSubnetID", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "sql.VirtualNetworkRulesClient", "CreateOrUpdate") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result VirtualNetworkRule + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateOrUpdatePreparer(resourceGroupName, serverName, virtualNetworkRuleName, parameters, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.VirtualNetworkRulesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.VirtualNetworkRulesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.VirtualNetworkRulesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VirtualNetworkRulesClient) CreateOrUpdatePreparer(resourceGroupName string, serverName string, virtualNetworkRuleName string, parameters VirtualNetworkRule, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkRuleName": autorest.Encode("path", virtualNetworkRuleName), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkRulesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VirtualNetworkRulesClient) CreateOrUpdateResponder(resp *http.Response) (result VirtualNetworkRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the virtual network rule with the given name. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. virtualNetworkRuleName is the name +// of the virtual network rule. +func (client VirtualNetworkRulesClient) Delete(resourceGroupName string, serverName string, virtualNetworkRuleName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result autorest.Response + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.DeletePreparer(resourceGroupName, serverName, virtualNetworkRuleName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.VirtualNetworkRulesClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "sql.VirtualNetworkRulesClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.VirtualNetworkRulesClient", "Delete", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// DeletePreparer prepares the Delete request. +func (client VirtualNetworkRulesClient) DeletePreparer(resourceGroupName string, serverName string, virtualNetworkRuleName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkRuleName": autorest.Encode("path", virtualNetworkRuleName), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkRulesClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VirtualNetworkRulesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a virtual network rule. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. virtualNetworkRuleName is the name +// of the virtual network rule. +func (client VirtualNetworkRulesClient) Get(resourceGroupName string, serverName string, virtualNetworkRuleName string) (result VirtualNetworkRule, err error) { + req, err := client.GetPreparer(resourceGroupName, serverName, virtualNetworkRuleName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.VirtualNetworkRulesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.VirtualNetworkRulesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.VirtualNetworkRulesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VirtualNetworkRulesClient) GetPreparer(resourceGroupName string, serverName string, virtualNetworkRuleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkRuleName": autorest.Encode("path", virtualNetworkRuleName), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkRulesClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VirtualNetworkRulesClient) GetResponder(resp *http.Response) (result VirtualNetworkRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer gets a list of virtual network rules in a server. +// +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. serverName is the name of the server. +func (client VirtualNetworkRulesClient) ListByServer(resourceGroupName string, serverName string) (result VirtualNetworkRuleListResult, err error) { + req, err := client.ListByServerPreparer(resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.VirtualNetworkRulesClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.VirtualNetworkRulesClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.VirtualNetworkRulesClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client VirtualNetworkRulesClient) ListByServerPreparer(resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkRulesClient) ListByServerSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client VirtualNetworkRulesClient) ListByServerResponder(resp *http.Response) (result VirtualNetworkRuleListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServerNextResults retrieves the next set of results, if any. +func (client VirtualNetworkRulesClient) ListByServerNextResults(lastResults VirtualNetworkRuleListResult) (result VirtualNetworkRuleListResult, err error) { + req, err := lastResults.VirtualNetworkRuleListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.VirtualNetworkRulesClient", "ListByServer", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.VirtualNetworkRulesClient", "ListByServer", resp, "Failure sending next results request") + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.VirtualNetworkRulesClient", "ListByServer", resp, "Failure responding to next results request") + } + + return +} + +// ListByServerComplete gets all elements from the list without paging. +func (client VirtualNetworkRulesClient) ListByServerComplete(resourceGroupName string, serverName string, cancel <-chan struct{}) (<-chan VirtualNetworkRule, <-chan error) { + resultChan := make(chan VirtualNetworkRule) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByServer(resourceGroupName, serverName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByServerNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/accounts.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/accounts.go index f0606ac13..0870a03de 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/accounts.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/accounts.go @@ -14,9 +14,8 @@ package storage // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -35,18 +34,15 @@ func NewAccountsClient(subscriptionID string) AccountsClient { return NewAccountsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewAccountsClientWithBaseURI creates an instance of the AccountsClient -// client. +// NewAccountsClientWithBaseURI creates an instance of the AccountsClient client. func NewAccountsClientWithBaseURI(baseURI string, subscriptionID string) AccountsClient { return AccountsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CheckNameAvailability checks that the storage account name is valid and is -// not already in use. +// CheckNameAvailability checks that the storage account name is valid and is not already in use. // -// accountName is the name of the storage account within the specified resource -// group. Storage account names must be between 3 and 24 characters in length -// and use numbers and lower-case letters only. +// accountName is the name of the storage account within the specified resource group. Storage account names must be +// between 3 and 24 characters in length and use numbers and lower-case letters only. func (client AccountsClient) CheckNameAvailability(accountName AccountCheckNameAvailabilityParameters) (result CheckNameAvailabilityResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: accountName, @@ -82,7 +78,7 @@ func (client AccountsClient) CheckNameAvailabilityPreparer(accountName AccountCh "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-12-01" + const APIVersion = "2017-06-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -116,21 +112,16 @@ func (client AccountsClient) CheckNameAvailabilityResponder(resp *http.Response) return } -// Create asynchronously creates a new storage account with the specified -// parameters. If an account is already created and a subsequent create request -// is issued with different properties, the account properties will be updated. -// If an account is already created and a subsequent create or update request -// is issued with the exact same set of properties, the request will succeed. -// This method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// Create asynchronously creates a new storage account with the specified parameters. If an account is already created +// and a subsequent create request is issued with different properties, the account properties will be updated. If an +// account is already created and a subsequent create or update request is issued with the exact same set of +// properties, the request will succeed. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group within the user's -// subscription. The name is case insensitive. accountName is the name of the -// storage account within the specified resource group. Storage account names -// must be between 3 and 24 characters in length and use numbers and lower-case -// letters only. parameters is the parameters to provide for the created -// account. +// resourceGroupName is the name of the resource group within the user's subscription. The name is case insensitive. +// accountName is the name of the storage account within the specified resource group. Storage account names must be +// between 3 and 24 characters in length and use numbers and lower-case letters only. parameters is the parameters to +// provide for the created account. func (client AccountsClient) Create(resourceGroupName string, accountName string, parameters AccountCreateParameters, cancel <-chan struct{}) (<-chan Account, <-chan error) { resultChan := make(chan Account, 1) errChan := make(chan error, 1) @@ -145,11 +136,11 @@ func (client AccountsClient) Create(resourceGroupName string, accountName string {TargetValue: parameters, Constraints: []validation.Constraint{{Target: "parameters.Sku", Name: validation.Null, Rule: true, Chain: nil}, {Target: "parameters.Location", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.Identity", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Identity.Type", Name: validation.Null, Rule: true, Chain: nil}}}, {Target: "parameters.AccountPropertiesCreateParameters", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "parameters.AccountPropertiesCreateParameters.CustomDomain", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "parameters.AccountPropertiesCreateParameters.CustomDomain.Name", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "parameters.AccountPropertiesCreateParameters.Encryption", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.AccountPropertiesCreateParameters.Encryption.KeySource", Name: validation.Null, Rule: true, Chain: nil}}}, }}}}}); err != nil { errChan <- validation.NewErrorWithValidationError(err, "storage.AccountsClient", "Create") close(errChan) @@ -161,8 +152,10 @@ func (client AccountsClient) Create(resourceGroupName string, accountName string var err error var result Account defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -195,7 +188,7 @@ func (client AccountsClient) CreatePreparer(resourceGroupName string, accountNam "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-12-01" + const APIVersion = "2017-06-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -233,11 +226,9 @@ func (client AccountsClient) CreateResponder(resp *http.Response) (result Accoun // Delete deletes a storage account in Microsoft Azure. // -// resourceGroupName is the name of the resource group within the user's -// subscription. The name is case insensitive. accountName is the name of the -// storage account within the specified resource group. Storage account names -// must be between 3 and 24 characters in length and use numbers and lower-case -// letters only. +// resourceGroupName is the name of the resource group within the user's subscription. The name is case insensitive. +// accountName is the name of the storage account within the specified resource group. Storage account names must be +// between 3 and 24 characters in length and use numbers and lower-case letters only. func (client AccountsClient) Delete(resourceGroupName string, accountName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -279,7 +270,7 @@ func (client AccountsClient) DeletePreparer(resourceGroupName string, accountNam "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-12-01" + const APIVersion = "2017-06-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -310,15 +301,12 @@ func (client AccountsClient) DeleteResponder(resp *http.Response) (result autore return } -// GetProperties returns the properties for the specified storage account -// including but not limited to name, SKU name, location, and account status. -// The ListKeys operation should be used to retrieve storage keys. +// GetProperties returns the properties for the specified storage account including but not limited to name, SKU name, +// location, and account status. The ListKeys operation should be used to retrieve storage keys. // -// resourceGroupName is the name of the resource group within the user's -// subscription. The name is case insensitive. accountName is the name of the -// storage account within the specified resource group. Storage account names -// must be between 3 and 24 characters in length and use numbers and lower-case -// letters only. +// resourceGroupName is the name of the resource group within the user's subscription. The name is case insensitive. +// accountName is the name of the storage account within the specified resource group. Storage account names must be +// between 3 and 24 characters in length and use numbers and lower-case letters only. func (client AccountsClient) GetProperties(resourceGroupName string, accountName string) (result Account, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -360,7 +348,7 @@ func (client AccountsClient) GetPropertiesPreparer(resourceGroupName string, acc "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-12-01" + const APIVersion = "2017-06-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -392,8 +380,8 @@ func (client AccountsClient) GetPropertiesResponder(resp *http.Response) (result return } -// List lists all the storage accounts available under the subscription. Note -// that storage keys are not returned; use the ListKeys operation for this. +// List lists all the storage accounts available under the subscription. Note that storage keys are not returned; use +// the ListKeys operation for this. func (client AccountsClient) List() (result AccountListResult, err error) { req, err := client.ListPreparer() if err != nil { @@ -422,7 +410,7 @@ func (client AccountsClient) ListPreparer() (*http.Request, error) { "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-12-01" + const APIVersion = "2017-06-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -456,12 +444,10 @@ func (client AccountsClient) ListResponder(resp *http.Response) (result AccountL // ListAccountSAS list SAS credentials of a storage account. // -// resourceGroupName is the name of the resource group within the user's -// subscription. The name is case insensitive. accountName is the name of the -// storage account within the specified resource group. Storage account names -// must be between 3 and 24 characters in length and use numbers and lower-case -// letters only. parameters is the parameters to provide to list SAS -// credentials for the storage account. +// resourceGroupName is the name of the resource group within the user's subscription. The name is case insensitive. +// accountName is the name of the storage account within the specified resource group. Storage account names must be +// between 3 and 24 characters in length and use numbers and lower-case letters only. parameters is the parameters to +// provide to list SAS credentials for the storage account. func (client AccountsClient) ListAccountSAS(resourceGroupName string, accountName string, parameters AccountSasParameters) (result ListAccountSasResponse, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -505,7 +491,7 @@ func (client AccountsClient) ListAccountSASPreparer(resourceGroupName string, ac "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-12-01" + const APIVersion = "2017-06-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -539,12 +525,10 @@ func (client AccountsClient) ListAccountSASResponder(resp *http.Response) (resul return } -// ListByResourceGroup lists all the storage accounts available under the given -// resource group. Note that storage keys are not returned; use the ListKeys -// operation for this. +// ListByResourceGroup lists all the storage accounts available under the given resource group. Note that storage keys +// are not returned; use the ListKeys operation for this. // -// resourceGroupName is the name of the resource group within the user's -// subscription. The name is case insensitive. +// resourceGroupName is the name of the resource group within the user's subscription. The name is case insensitive. func (client AccountsClient) ListByResourceGroup(resourceGroupName string) (result AccountListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -582,7 +566,7 @@ func (client AccountsClient) ListByResourceGroupPreparer(resourceGroupName strin "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-12-01" + const APIVersion = "2017-06-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -616,11 +600,9 @@ func (client AccountsClient) ListByResourceGroupResponder(resp *http.Response) ( // ListKeys lists the access keys for the specified storage account. // -// resourceGroupName is the name of the resource group within the user's -// subscription. The name is case insensitive. accountName is the name of the -// storage account within the specified resource group. Storage account names -// must be between 3 and 24 characters in length and use numbers and lower-case -// letters only. +// resourceGroupName is the name of the resource group within the user's subscription. The name is case insensitive. +// accountName is the name of the storage account within the specified resource group. Storage account names must be +// between 3 and 24 characters in length and use numbers and lower-case letters only. func (client AccountsClient) ListKeys(resourceGroupName string, accountName string) (result AccountListKeysResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -662,7 +644,7 @@ func (client AccountsClient) ListKeysPreparer(resourceGroupName string, accountN "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-12-01" + const APIVersion = "2017-06-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -696,12 +678,10 @@ func (client AccountsClient) ListKeysResponder(resp *http.Response) (result Acco // ListServiceSAS list service SAS credentials of a specific resource. // -// resourceGroupName is the name of the resource group within the user's -// subscription. The name is case insensitive. accountName is the name of the -// storage account within the specified resource group. Storage account names -// must be between 3 and 24 characters in length and use numbers and lower-case -// letters only. parameters is the parameters to provide to list service SAS -// credentials. +// resourceGroupName is the name of the resource group within the user's subscription. The name is case insensitive. +// accountName is the name of the storage account within the specified resource group. Storage account names must be +// between 3 and 24 characters in length and use numbers and lower-case letters only. parameters is the parameters to +// provide to list service SAS credentials. func (client AccountsClient) ListServiceSAS(resourceGroupName string, accountName string, parameters ServiceSasParameters) (result ListServiceSasResponse, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -747,7 +727,7 @@ func (client AccountsClient) ListServiceSASPreparer(resourceGroupName string, ac "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-12-01" + const APIVersion = "2017-06-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -781,15 +761,12 @@ func (client AccountsClient) ListServiceSASResponder(resp *http.Response) (resul return } -// RegenerateKey regenerates one of the access keys for the specified storage -// account. +// RegenerateKey regenerates one of the access keys for the specified storage account. // -// resourceGroupName is the name of the resource group within the user's -// subscription. The name is case insensitive. accountName is the name of the -// storage account within the specified resource group. Storage account names -// must be between 3 and 24 characters in length and use numbers and lower-case -// letters only. regenerateKey is specifies name of the key which should be -// regenerated -- key1 or key2. +// resourceGroupName is the name of the resource group within the user's subscription. The name is case insensitive. +// accountName is the name of the storage account within the specified resource group. Storage account names must be +// between 3 and 24 characters in length and use numbers and lower-case letters only. regenerateKey is specifies name +// of the key which should be regenerated -- key1 or key2. func (client AccountsClient) RegenerateKey(resourceGroupName string, accountName string, regenerateKey AccountRegenerateKeyParameters) (result AccountListKeysResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -833,7 +810,7 @@ func (client AccountsClient) RegenerateKeyPreparer(resourceGroupName string, acc "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-12-01" + const APIVersion = "2017-06-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -867,23 +844,17 @@ func (client AccountsClient) RegenerateKeyResponder(resp *http.Response) (result return } -// Update the update operation can be used to update the SKU, encryption, -// access tier, or tags for a storage account. It can also be used to map the -// account to a custom domain. Only one custom domain is supported per storage -// account; the replacement/change of custom domain is not supported. In order -// to replace an old custom domain, the old value must be cleared/unregistered -// before a new value can be set. The update of multiple properties is -// supported. This call does not change the storage keys for the account. If -// you want to change the storage account keys, use the regenerate keys -// operation. The location and name of the storage account cannot be changed -// after creation. +// Update the update operation can be used to update the SKU, encryption, access tier, or tags for a storage account. +// It can also be used to map the account to a custom domain. Only one custom domain is supported per storage account; +// the replacement/change of custom domain is not supported. In order to replace an old custom domain, the old value +// must be cleared/unregistered before a new value can be set. The update of multiple properties is supported. This +// call does not change the storage keys for the account. If you want to change the storage account keys, use the +// regenerate keys operation. The location and name of the storage account cannot be changed after creation. // -// resourceGroupName is the name of the resource group within the user's -// subscription. The name is case insensitive. accountName is the name of the -// storage account within the specified resource group. Storage account names -// must be between 3 and 24 characters in length and use numbers and lower-case -// letters only. parameters is the parameters to provide for the updated -// account. +// resourceGroupName is the name of the resource group within the user's subscription. The name is case insensitive. +// accountName is the name of the storage account within the specified resource group. Storage account names must be +// between 3 and 24 characters in length and use numbers and lower-case letters only. parameters is the parameters to +// provide for the updated account. func (client AccountsClient) Update(resourceGroupName string, accountName string, parameters AccountUpdateParameters) (result Account, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -925,7 +896,7 @@ func (client AccountsClient) UpdatePreparer(resourceGroupName string, accountNam "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-12-01" + const APIVersion = "2017-06-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/client.go index a537bdd25..133386ddb 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/client.go @@ -1,5 +1,4 @@ -// Package storage implements the Azure ARM Storage service API version -// 2016-12-01. +// Package storage implements the Azure ARM Storage service API version 2017-06-01. // // The Azure Storage Management API. package storage @@ -18,9 +17,8 @@ package storage // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/models.go index 2e2030184..37c1679ee 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/models.go @@ -14,9 +14,8 @@ package storage // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -43,6 +42,38 @@ const ( Unavailable AccountStatus = "unavailable" ) +// Action enumerates the values for action. +type Action string + +const ( + // Allow specifies the allow state for action. + Allow Action = "Allow" +) + +// Bypass enumerates the values for bypass. +type Bypass string + +const ( + // AzureServices specifies the azure services state for bypass. + AzureServices Bypass = "AzureServices" + // Logging specifies the logging state for bypass. + Logging Bypass = "Logging" + // Metrics specifies the metrics state for bypass. + Metrics Bypass = "Metrics" + // None specifies the none state for bypass. + None Bypass = "None" +) + +// DefaultAction enumerates the values for default action. +type DefaultAction string + +const ( + // DefaultActionAllow specifies the default action allow state for default action. + DefaultActionAllow DefaultAction = "Allow" + // DefaultActionDeny specifies the default action deny state for default action. + DefaultActionDeny DefaultAction = "Deny" +) + // HTTPProtocol enumerates the values for http protocol. type HTTPProtocol string @@ -63,6 +94,16 @@ const ( Read KeyPermission = "Read" ) +// KeySource enumerates the values for key source. +type KeySource string + +const ( + // MicrosoftKeyvault specifies the microsoft keyvault state for key source. + MicrosoftKeyvault KeySource = "Microsoft.Keyvault" + // MicrosoftStorage specifies the microsoft storage state for key source. + MicrosoftStorage KeySource = "Microsoft.Storage" +) + // Kind enumerates the values for kind. type Kind string @@ -95,28 +136,6 @@ const ( W Permissions = "w" ) -// Permissions1 enumerates the values for permissions 1. -type Permissions1 string - -const ( - // Permissions1A specifies the permissions 1a state for permissions 1. - Permissions1A Permissions1 = "a" - // Permissions1C specifies the permissions 1c state for permissions 1. - Permissions1C Permissions1 = "c" - // Permissions1D specifies the permissions 1d state for permissions 1. - Permissions1D Permissions1 = "d" - // Permissions1L specifies the permissions 1l state for permissions 1. - Permissions1L Permissions1 = "l" - // Permissions1P specifies the permissions 1p state for permissions 1. - Permissions1P Permissions1 = "p" - // Permissions1R specifies the permissions 1r state for permissions 1. - Permissions1R Permissions1 = "r" - // Permissions1U specifies the permissions 1u state for permissions 1. - Permissions1U Permissions1 = "u" - // Permissions1W specifies the permissions 1w state for permissions 1. - Permissions1W Permissions1 = "w" -) - // ProvisioningState enumerates the values for provisioning state. type ProvisioningState string @@ -139,30 +158,14 @@ const ( AlreadyExists Reason = "AlreadyExists" ) -// ResourceEnum enumerates the values for resource enum. -type ResourceEnum string +// ReasonCode enumerates the values for reason code. +type ReasonCode string const ( - // ResourceEnumB specifies the resource enum b state for resource enum. - ResourceEnumB ResourceEnum = "b" - // ResourceEnumC specifies the resource enum c state for resource enum. - ResourceEnumC ResourceEnum = "c" - // ResourceEnumF specifies the resource enum f state for resource enum. - ResourceEnumF ResourceEnum = "f" - // ResourceEnumS specifies the resource enum s state for resource enum. - ResourceEnumS ResourceEnum = "s" -) - -// ResourceTypes enumerates the values for resource types. -type ResourceTypes string - -const ( - // ResourceTypesC specifies the resource types c state for resource types. - ResourceTypesC ResourceTypes = "c" - // ResourceTypesO specifies the resource types o state for resource types. - ResourceTypesO ResourceTypes = "o" - // ResourceTypesS specifies the resource types s state for resource types. - ResourceTypesS ResourceTypes = "s" + // NotAvailableForSubscription specifies the not available for subscription state for reason code. + NotAvailableForSubscription ReasonCode = "NotAvailableForSubscription" + // QuotaID specifies the quota id state for reason code. + QuotaID ReasonCode = "QuotaId" ) // Services enumerates the values for services. @@ -179,6 +182,32 @@ const ( T Services = "t" ) +// SignedResource enumerates the values for signed resource. +type SignedResource string + +const ( + // SignedResourceB specifies the signed resource b state for signed resource. + SignedResourceB SignedResource = "b" + // SignedResourceC specifies the signed resource c state for signed resource. + SignedResourceC SignedResource = "c" + // SignedResourceF specifies the signed resource f state for signed resource. + SignedResourceF SignedResource = "f" + // SignedResourceS specifies the signed resource s state for signed resource. + SignedResourceS SignedResource = "s" +) + +// SignedResourceTypes enumerates the values for signed resource types. +type SignedResourceTypes string + +const ( + // SignedResourceTypesC specifies the signed resource types c state for signed resource types. + SignedResourceTypesC SignedResourceTypes = "c" + // SignedResourceTypesO specifies the signed resource types o state for signed resource types. + SignedResourceTypesO SignedResourceTypes = "o" + // SignedResourceTypesS specifies the signed resource types s state for signed resource types. + SignedResourceTypesS SignedResourceTypes = "s" +) + // SkuName enumerates the values for sku name. type SkuName string @@ -205,6 +234,22 @@ const ( Standard SkuTier = "Standard" ) +// State enumerates the values for state. +type State string + +const ( + // StateDeprovisioning specifies the state deprovisioning state for state. + StateDeprovisioning State = "deprovisioning" + // StateFailed specifies the state failed state for state. + StateFailed State = "failed" + // StateNetworkSourceDeleted specifies the state network source deleted state for state. + StateNetworkSourceDeleted State = "networkSourceDeleted" + // StateProvisioning specifies the state provisioning state for state. + StateProvisioning State = "provisioning" + // StateSucceeded specifies the state succeeded state for state. + StateSucceeded State = "succeeded" +) + // UsageUnit enumerates the values for usage unit. type UsageUnit string @@ -233,23 +278,23 @@ type Account struct { Tags *map[string]*string `json:"tags,omitempty"` Sku *Sku `json:"sku,omitempty"` Kind Kind `json:"kind,omitempty"` + Identity *Identity `json:"identity,omitempty"` *AccountProperties `json:"properties,omitempty"` } -// AccountCheckNameAvailabilityParameters is the parameters used to check the -// availabity of the storage account name. +// AccountCheckNameAvailabilityParameters is the parameters used to check the availabity of the storage account name. type AccountCheckNameAvailabilityParameters struct { Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` } -// AccountCreateParameters is the parameters used when creating a storage -// account. +// AccountCreateParameters is the parameters used when creating a storage account. type AccountCreateParameters struct { Sku *Sku `json:"sku,omitempty"` Kind Kind `json:"kind,omitempty"` Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` + Identity *Identity `json:"identity,omitempty"` *AccountPropertiesCreateParameters `json:"properties,omitempty"` } @@ -287,50 +332,49 @@ type AccountProperties struct { Encryption *Encryption `json:"encryption,omitempty"` AccessTier AccessTier `json:"accessTier,omitempty"` EnableHTTPSTrafficOnly *bool `json:"supportsHttpsTrafficOnly,omitempty"` + NetworkRuleSet *NetworkRuleSet `json:"networkAcls,omitempty"` } -// AccountPropertiesCreateParameters is the parameters used to create the -// storage account. +// AccountPropertiesCreateParameters is the parameters used to create the storage account. type AccountPropertiesCreateParameters struct { - CustomDomain *CustomDomain `json:"customDomain,omitempty"` - Encryption *Encryption `json:"encryption,omitempty"` - AccessTier AccessTier `json:"accessTier,omitempty"` - EnableHTTPSTrafficOnly *bool `json:"supportsHttpsTrafficOnly,omitempty"` + CustomDomain *CustomDomain `json:"customDomain,omitempty"` + Encryption *Encryption `json:"encryption,omitempty"` + NetworkRuleSet *NetworkRuleSet `json:"networkAcls,omitempty"` + AccessTier AccessTier `json:"accessTier,omitempty"` + EnableHTTPSTrafficOnly *bool `json:"supportsHttpsTrafficOnly,omitempty"` } -// AccountPropertiesUpdateParameters is the parameters used when updating a -// storage account. +// AccountPropertiesUpdateParameters is the parameters used when updating a storage account. type AccountPropertiesUpdateParameters struct { - CustomDomain *CustomDomain `json:"customDomain,omitempty"` - Encryption *Encryption `json:"encryption,omitempty"` - AccessTier AccessTier `json:"accessTier,omitempty"` - EnableHTTPSTrafficOnly *bool `json:"supportsHttpsTrafficOnly,omitempty"` + CustomDomain *CustomDomain `json:"customDomain,omitempty"` + Encryption *Encryption `json:"encryption,omitempty"` + AccessTier AccessTier `json:"accessTier,omitempty"` + EnableHTTPSTrafficOnly *bool `json:"supportsHttpsTrafficOnly,omitempty"` + NetworkRuleSet *NetworkRuleSet `json:"networkAcls,omitempty"` } -// AccountRegenerateKeyParameters is the parameters used to regenerate the -// storage account key. +// AccountRegenerateKeyParameters is the parameters used to regenerate the storage account key. type AccountRegenerateKeyParameters struct { KeyName *string `json:"keyName,omitempty"` } -// AccountSasParameters is the parameters to list SAS credentials of a storage -// account. +// AccountSasParameters is the parameters to list SAS credentials of a storage account. type AccountSasParameters struct { - Services Services `json:"signedServices,omitempty"` - ResourceTypes ResourceTypes `json:"signedResourceTypes,omitempty"` - Permissions Permissions `json:"signedPermission,omitempty"` - IPAddressOrRange *string `json:"signedIp,omitempty"` - Protocols HTTPProtocol `json:"signedProtocol,omitempty"` - SharedAccessStartTime *date.Time `json:"signedStart,omitempty"` - SharedAccessExpiryTime *date.Time `json:"signedExpiry,omitempty"` - KeyToSign *string `json:"keyToSign,omitempty"` + Services Services `json:"signedServices,omitempty"` + ResourceTypes SignedResourceTypes `json:"signedResourceTypes,omitempty"` + Permissions Permissions `json:"signedPermission,omitempty"` + IPAddressOrRange *string `json:"signedIp,omitempty"` + Protocols HTTPProtocol `json:"signedProtocol,omitempty"` + SharedAccessStartTime *date.Time `json:"signedStart,omitempty"` + SharedAccessExpiryTime *date.Time `json:"signedExpiry,omitempty"` + KeyToSign *string `json:"keyToSign,omitempty"` } -// AccountUpdateParameters is the parameters that can be provided when updating -// the storage account properties. +// AccountUpdateParameters is the parameters that can be provided when updating the storage account properties. type AccountUpdateParameters struct { Sku *Sku `json:"sku,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` + Identity *Identity `json:"identity,omitempty"` *AccountPropertiesUpdateParameters `json:"properties,omitempty"` } @@ -342,21 +386,26 @@ type CheckNameAvailabilityResult struct { Message *string `json:"message,omitempty"` } -// CustomDomain is the custom domain assigned to this storage account. This can -// be set via Update. +// CustomDomain is the custom domain assigned to this storage account. This can be set via Update. type CustomDomain struct { Name *string `json:"name,omitempty"` UseSubDomain *bool `json:"useSubDomain,omitempty"` } -// Encryption is the encryption settings on the storage account. -type Encryption struct { - Services *EncryptionServices `json:"services,omitempty"` - KeySource *string `json:"keySource,omitempty"` +// Dimension is dimension of blobs, possiblly be blob type or access tier. +type Dimension struct { + Name *string `json:"name,omitempty"` + DisplayName *string `json:"displayName,omitempty"` } -// EncryptionService is a service that allows server-side encryption to be -// used. +// Encryption is the encryption settings on the storage account. +type Encryption struct { + Services *EncryptionServices `json:"services,omitempty"` + KeySource KeySource `json:"keySource,omitempty"` + KeyVaultProperties *KeyVaultProperties `json:"keyvaultproperties,omitempty"` +} + +// EncryptionService is a service that allows server-side encryption to be used. type EncryptionService struct { Enabled *bool `json:"enabled,omitempty"` LastEnabledTime *date.Time `json:"lastEnabledTime,omitempty"` @@ -370,8 +419,7 @@ type EncryptionServices struct { Queue *EncryptionService `json:"queue,omitempty"` } -// Endpoints is the URIs that are used to perform a retrieval of a public blob, -// queue, or table object. +// Endpoints is the URIs that are used to perform a retrieval of a public blob, queue, or table object. type Endpoints struct { Blob *string `json:"blob,omitempty"` Queue *string `json:"queue,omitempty"` @@ -379,19 +427,86 @@ type Endpoints struct { File *string `json:"file,omitempty"` } +// Identity is identity for the resource. +type Identity struct { + PrincipalID *string `json:"principalId,omitempty"` + TenantID *string `json:"tenantId,omitempty"` + Type *string `json:"type,omitempty"` +} + +// IPRule is IP rule with specific IP or IP range in CIDR format. +type IPRule struct { + IPAddressOrRange *string `json:"value,omitempty"` + Action Action `json:"action,omitempty"` +} + +// KeyVaultProperties is properties of key vault. +type KeyVaultProperties struct { + KeyName *string `json:"keyname,omitempty"` + KeyVersion *string `json:"keyversion,omitempty"` + KeyVaultURI *string `json:"keyvaulturi,omitempty"` +} + // ListAccountSasResponse is the List SAS credentials operation response. type ListAccountSasResponse struct { autorest.Response `json:"-"` AccountSasToken *string `json:"accountSasToken,omitempty"` } -// ListServiceSasResponse is the List service SAS credentials operation -// response. +// ListServiceSasResponse is the List service SAS credentials operation response. type ListServiceSasResponse struct { autorest.Response `json:"-"` ServiceSasToken *string `json:"serviceSasToken,omitempty"` } +// MetricSpecification is metric specification of operation. +type MetricSpecification struct { + Name *string `json:"name,omitempty"` + DisplayName *string `json:"displayName,omitempty"` + DisplayDescription *string `json:"displayDescription,omitempty"` + Unit *string `json:"unit,omitempty"` + Dimensions *[]Dimension `json:"dimensions,omitempty"` + AggregationType *string `json:"aggregationType,omitempty"` + FillGapWithZero *bool `json:"fillGapWithZero,omitempty"` + Category *string `json:"category,omitempty"` + ResourceIDDimensionNameOverride *string `json:"resourceIdDimensionNameOverride,omitempty"` +} + +// NetworkRuleSet is network rule set +type NetworkRuleSet struct { + Bypass Bypass `json:"bypass,omitempty"` + VirtualNetworkRules *[]VirtualNetworkRule `json:"virtualNetworkRules,omitempty"` + IPRules *[]IPRule `json:"ipRules,omitempty"` + DefaultAction DefaultAction `json:"defaultAction,omitempty"` +} + +// Operation is storage REST API operation definition. +type Operation struct { + Name *string `json:"name,omitempty"` + Display *OperationDisplay `json:"display,omitempty"` + Origin *string `json:"origin,omitempty"` + *OperationProperties `json:"properties,omitempty"` +} + +// OperationDisplay is display metadata associated with the operation. +type OperationDisplay struct { + Provider *string `json:"provider,omitempty"` + Resource *string `json:"resource,omitempty"` + Operation *string `json:"operation,omitempty"` +} + +// OperationListResult is result of the request to list Storage operations. It contains a list of operations and a URL +// link to get the next set of results. +type OperationListResult struct { + autorest.Response `json:"-"` + Value *[]Operation `json:"value,omitempty"` +} + +// OperationProperties is properties of operation, include metric specifications. +type OperationProperties struct { + ServiceSpecification *ServiceSpecification `json:"serviceSpecification,omitempty"` +} + // Resource is describes a storage resource. type Resource struct { ID *string `json:"id,omitempty"` @@ -401,33 +516,62 @@ type Resource struct { Tags *map[string]*string `json:"tags,omitempty"` } -// ServiceSasParameters is the parameters to list service SAS credentials of a -// speicific resource. +// Restriction is the restriction because of which SKU cannot be used. +type Restriction struct { + Type *string `json:"type,omitempty"` + Values *[]string `json:"values,omitempty"` + ReasonCode ReasonCode `json:"reasonCode,omitempty"` +} + +// ServiceSasParameters is the parameters to list service SAS credentials of a speicific resource. type ServiceSasParameters struct { - CanonicalizedResource *string `json:"canonicalizedResource,omitempty"` - Resource Resource `json:"signedResource,omitempty"` - Permissions Permissions `json:"signedPermission,omitempty"` - IPAddressOrRange *string `json:"signedIp,omitempty"` - Protocols HTTPProtocol `json:"signedProtocol,omitempty"` - SharedAccessStartTime *date.Time `json:"signedStart,omitempty"` - SharedAccessExpiryTime *date.Time `json:"signedExpiry,omitempty"` - Identifier *string `json:"signedIdentifier,omitempty"` - PartitionKeyStart *string `json:"startPk,omitempty"` - PartitionKeyEnd *string `json:"endPk,omitempty"` - RowKeyStart *string `json:"startRk,omitempty"` - RowKeyEnd *string `json:"endRk,omitempty"` - KeyToSign *string `json:"keyToSign,omitempty"` - CacheControl *string `json:"rscc,omitempty"` - ContentDisposition *string `json:"rscd,omitempty"` - ContentEncoding *string `json:"rsce,omitempty"` - ContentLanguage *string `json:"rscl,omitempty"` - ContentType *string `json:"rsct,omitempty"` + CanonicalizedResource *string `json:"canonicalizedResource,omitempty"` + Resource SignedResource `json:"signedResource,omitempty"` + Permissions Permissions `json:"signedPermission,omitempty"` + IPAddressOrRange *string `json:"signedIp,omitempty"` + Protocols HTTPProtocol `json:"signedProtocol,omitempty"` + SharedAccessStartTime *date.Time `json:"signedStart,omitempty"` + SharedAccessExpiryTime *date.Time `json:"signedExpiry,omitempty"` + Identifier *string `json:"signedIdentifier,omitempty"` + PartitionKeyStart *string `json:"startPk,omitempty"` + PartitionKeyEnd *string `json:"endPk,omitempty"` + RowKeyStart *string `json:"startRk,omitempty"` + RowKeyEnd *string `json:"endRk,omitempty"` + KeyToSign *string `json:"keyToSign,omitempty"` + CacheControl *string `json:"rscc,omitempty"` + ContentDisposition *string `json:"rscd,omitempty"` + ContentEncoding *string `json:"rsce,omitempty"` + ContentLanguage *string `json:"rscl,omitempty"` + ContentType *string `json:"rsct,omitempty"` +} + +// ServiceSpecification is one property of operation, include metric specifications. +type ServiceSpecification struct { + MetricSpecifications *[]MetricSpecification `json:"metricSpecifications,omitempty"` } // Sku is the SKU of the storage account. type Sku struct { - Name SkuName `json:"name,omitempty"` - Tier SkuTier `json:"tier,omitempty"` + Name SkuName `json:"name,omitempty"` + Tier SkuTier `json:"tier,omitempty"` + ResourceType *string `json:"resourceType,omitempty"` + Kind Kind `json:"kind,omitempty"` + Locations *[]string `json:"locations,omitempty"` + Capabilities *[]SKUCapability `json:"capabilities,omitempty"` + Restrictions *[]Restriction `json:"restrictions,omitempty"` +} + +// SKUCapability is the capability information in the specified sku, including file encryption, network acls, change +// notification, etc. +type SKUCapability struct { + Name *string `json:"name,omitempty"` + Value *string `json:"value,omitempty"` +} + +// SkuListResult is the response from the List Storage SKUs operation. +type SkuListResult struct { + autorest.Response `json:"-"` + Value *[]Sku `json:"value,omitempty"` } // Usage is describes Storage Resource Usage. @@ -444,9 +588,15 @@ type UsageListResult struct { Value *[]Usage `json:"value,omitempty"` } -// UsageName is the usage names that can be used; currently limited to -// StorageAccount. +// UsageName is the usage names that can be used; currently limited to StorageAccount. type UsageName struct { Value *string `json:"value,omitempty"` LocalizedValue *string `json:"localizedValue,omitempty"` } + +// VirtualNetworkRule is virtual Network rule. +type VirtualNetworkRule struct { + VirtualNetworkResourceID *string `json:"id,omitempty"` + Action Action `json:"action,omitempty"` + State State `json:"state,omitempty"` +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/operations.go new file mode 100644 index 000000000..cc46c6997 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/operations.go @@ -0,0 +1,96 @@ +package storage + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// OperationsClient is the the Azure Storage Management API. +type OperationsClient struct { + ManagementClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List lists all of the available Storage Rest API operations. +func (client OperationsClient) List() (result OperationListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "storage.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "storage.OperationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storage.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer() (*http.Request, error) { + const APIVersion = "2017-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Storage/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/skus.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/skus.go new file mode 100644 index 000000000..94d4d6f83 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/skus.go @@ -0,0 +1,100 @@ +package storage + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// SkusClient is the the Azure Storage Management API. +type SkusClient struct { + ManagementClient +} + +// NewSkusClient creates an instance of the SkusClient client. +func NewSkusClient(subscriptionID string) SkusClient { + return NewSkusClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewSkusClientWithBaseURI creates an instance of the SkusClient client. +func NewSkusClientWithBaseURI(baseURI string, subscriptionID string) SkusClient { + return SkusClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List lists the available SKUs supported by Microsoft.Storage for given subscription. +func (client SkusClient) List() (result SkuListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "storage.SkusClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "storage.SkusClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storage.SkusClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client SkusClient) ListPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/skus", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client SkusClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client SkusClient) ListResponder(resp *http.Response) (result SkuListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/usage.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/usage.go index b12a6d315..682e5c16c 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/usage.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/usage.go @@ -14,9 +14,8 @@ package storage // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -39,8 +38,7 @@ func NewUsageClientWithBaseURI(baseURI string, subscriptionID string) UsageClien return UsageClient{NewWithBaseURI(baseURI, subscriptionID)} } -// List gets the current usage count and the limit for the resources under the -// subscription. +// List gets the current usage count and the limit for the resources under the subscription. func (client UsageClient) List() (result UsageListResult, err error) { req, err := client.ListPreparer() if err != nil { @@ -69,7 +67,7 @@ func (client UsageClient) ListPreparer() (*http.Request, error) { "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2016-12-01" + const APIVersion = "2017-06-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/version.go index d2f85f9c9..467102d59 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storage/version.go @@ -14,16 +14,15 @@ package storage // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-storage/2016-12-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-storage/2017-06-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storageimportexport/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storageimportexport/client.go index b5de7c2e6..fc5eb8c1e 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storageimportexport/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storageimportexport/client.go @@ -1,5 +1,4 @@ -// Package storageimportexport implements the Azure ARM Storageimportexport -// service API version 2016-11-01. +// Package storageimportexport implements the Azure ARM Storageimportexport service API version 2016-11-01. // // The Microsoft Azure Storage Import/Export Resource Provider API. package storageimportexport @@ -18,9 +17,8 @@ package storageimportexport // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -58,11 +56,10 @@ func NewWithBaseURI(baseURI string, subscriptionID string) ManagementClient { } } -// GetLocation gets a location to which you can ship the disks associated with -// an import or export job. A location is an Azure region. +// GetLocation gets a location to which you can ship the disks associated with an import or export job. A location is +// an Azure region. // -// locationName is the name of the location. For example, 'West US' or -// 'westus'. +// locationName is the name of the location. For example, 'West US' or 'westus'. func (client ManagementClient) GetLocation(locationName string) (result Location, err error) { req, err := client.GetLocationPreparer(locationName) if err != nil { @@ -124,9 +121,8 @@ func (client ManagementClient) GetLocationResponder(resp *http.Response) (result return } -// ListLocations returns a list of locations to which you can ship the disks -// associated with an import or export job. A location is a Microsoft data -// center region. +// ListLocations returns a list of locations to which you can ship the disks associated with an import or export job. A +// location is a Microsoft data center region. func (client ManagementClient) ListLocations() (result LocationsListResult, err error) { req, err := client.ListLocationsPreparer() if err != nil { @@ -184,8 +180,7 @@ func (client ManagementClient) ListLocationsResponder(resp *http.Response) (resu return } -// ListSupportedOperations returns the list of operations supported by the -// import/export resource provider. +// ListSupportedOperations returns the list of operations supported by the import/export resource provider. func (client ManagementClient) ListSupportedOperations() (result SupportedOperationsListResult, err error) { req, err := client.ListSupportedOperationsPreparer() if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storageimportexport/jobs.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storageimportexport/jobs.go index a7a845033..2dbd5f2bc 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storageimportexport/jobs.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storageimportexport/jobs.go @@ -14,9 +14,8 @@ package storageimportexport // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// JobsClient is the the Microsoft Azure Storage Import/Export Resource -// Provider API. +// JobsClient is the the Microsoft Azure Storage Import/Export Resource Provider API. type JobsClient struct { ManagementClient } @@ -41,13 +39,12 @@ func NewJobsClientWithBaseURI(baseURI string, subscriptionID string) JobsClient return JobsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates a new import/export job or updates an existing -// import/export job in the specified subscription. +// CreateOrUpdate creates a new import/export job or updates an existing import/export job in the specified +// subscription. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscription. jobName is the name of the -// import/export job. jobProperties is properties of the import/export job that -// need to be specified during creation. +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscription. +// jobName is the name of the import/export job. jobProperties is properties of the import/export job that need to be +// specified during creation. func (client JobsClient) CreateOrUpdate(resourceGroupName string, jobName string, jobProperties Job) (result Job, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: jobProperties, @@ -155,12 +152,11 @@ func (client JobsClient) CreateOrUpdateResponder(resp *http.Response) (result Jo return } -// Delete deletes an existing import/export job. Only import/export jobs in the -// Creating or Completed states can be deleted. +// Delete deletes an existing import/export job. Only import/export jobs in the Creating or Completed states can be +// deleted. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscription. jobName is the name of the -// import/export job. +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscription. +// jobName is the name of the import/export job. func (client JobsClient) Delete(resourceGroupName string, jobName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, jobName) if err != nil { @@ -225,9 +221,8 @@ func (client JobsClient) DeleteResponder(resp *http.Response) (result autorest.R // Get gets information about an existing import/export job. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscription. jobName is the name of the -// import/export job. +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscription. +// jobName is the name of the import/export job. func (client JobsClient) Get(resourceGroupName string, jobName string) (result Job, err error) { req, err := client.GetPreparer(resourceGroupName, jobName) if err != nil { @@ -293,15 +288,12 @@ func (client JobsClient) GetResponder(resp *http.Response) (result Job, err erro // List gets all the active and completed import/export jobs in a subscription. // -// top is an integer value that specifies how many jobs at most should be -// returned. The value cannot exceed 100. filter is can be used to restrict the -// results to certain conditions. The following possible values can be used -// with $filter: 1) $filter=type eq '{type}'; 2) $filter=trackingnumber eq -// '{trackingnumber}'; 3) $filter=state eq '{state}'; 4) Logical and -// combination of the above, for example: $filter=type eq 'Import' and state eq -// 'Transferring'. Valid values for type are Import and Export. Valid values -// for state are Creating, Shipping, Received, Transferring, Packaging, Closed, -// and Completed. +// top is an integer value that specifies how many jobs at most should be returned. The value cannot exceed 100. filter +// is can be used to restrict the results to certain conditions. The following possible values can be used with +// $filter: 1) $filter=type eq '{type}'; 2) $filter=trackingnumber eq '{trackingnumber}'; 3) $filter=state eq +// '{state}'; 4) Logical and combination of the above, for example: $filter=type eq 'Import' and state eq +// 'Transferring'. Valid values for type are Import and Export. Valid values for state are Creating, Shipping, +// Received, Transferring, Packaging, Closed, and Completed. func (client JobsClient) List(top *int32, filter string) (result JobListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: top, @@ -402,12 +394,55 @@ func (client JobsClient) ListNextResults(lastResults JobListResult) (result JobL return } -// ListBitLockerKeys lists the BitLocker keys for all drives in the specified -// import/export job. +// ListComplete gets all elements from the list without paging. +func (client JobsClient) ListComplete(top *int32, filter string, cancel <-chan struct{}) (<-chan Job, <-chan error) { + resultChan := make(chan Job) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(top, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListBitLockerKeys lists the BitLocker keys for all drives in the specified import/export job. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscription. jobName is the name of the -// import/export job. +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscription. +// jobName is the name of the import/export job. func (client JobsClient) ListBitLockerKeys(resourceGroupName string, jobName string) (result BitLockerKeysListResult, err error) { req, err := client.ListBitLockerKeysPreparer(resourceGroupName, jobName) if err != nil { @@ -471,18 +506,14 @@ func (client JobsClient) ListBitLockerKeysResponder(resp *http.Response) (result return } -// ListByResourceGroup returns all active and completed import/export jobs in a -// resource group. +// ListByResourceGroup returns all active and completed import/export jobs in a resource group. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscription. top is an integer value that -// specifies how many jobs at most should be returned. The value cannot exceed -// 100. filter is can be used to restrict the results to certain conditions. -// The following possible values can be used with $filter: 1) $filter=type eq -// '{type}'; 2) $filter=trackingnumber eq '{trackingnumber}'; 3) $filter=state -// eq '{state}'; 4) Logical and combination of the above, for example: -// $filter=type eq 'Import' and state eq 'Transferring'. Valid values for type -// are Import and Export. Valid values for state are Creating, Shipping, +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscription. +// top is an integer value that specifies how many jobs at most should be returned. The value cannot exceed 100. filter +// is can be used to restrict the results to certain conditions. The following possible values can be used with +// $filter: 1) $filter=type eq '{type}'; 2) $filter=trackingnumber eq '{trackingnumber}'; 3) $filter=state eq +// '{state}'; 4) Logical and combination of the above, for example: $filter=type eq 'Import' and state eq +// 'Transferring'. Valid values for type are Import and Export. Valid values for state are Creating, Shipping, // Received, Transferring, Packaging, Closed, and Completed. func (client JobsClient) ListByResourceGroup(resourceGroupName string, top *int32, filter string) (result JobListResult, err error) { if err := validation.Validate([]validation.Validation{ @@ -585,13 +616,56 @@ func (client JobsClient) ListByResourceGroupNextResults(lastResults JobListResul return } -// Move moves the specified import/export jobs from the resource group to a -// target resource group. The target resource group may be in a different -// subscription. +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client JobsClient) ListByResourceGroupComplete(resourceGroupName string, top *int32, filter string, cancel <-chan struct{}) (<-chan Job, <-chan error) { + resultChan := make(chan Job) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName, top, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// Move moves the specified import/export jobs from the resource group to a target resource group. The target resource +// group may be in a different subscription. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscription. moveJobsParameters is -// parameters to be provided to move a job from one resource group to another. +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscription. +// moveJobsParameters is parameters to be provided to move a job from one resource group to another. func (client JobsClient) Move(resourceGroupName string, moveJobsParameters MoveJobParameters) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: moveJobsParameters, @@ -662,15 +736,12 @@ func (client JobsClient) MoveResponder(resp *http.Response) (result autorest.Res return } -// Update updates specific properties of the import/export job. You can call -// this operation to notify the Import/Export service that the hard drives -// comprising the import or export job have been shipped to the Microsoft data -// center. It can also be used to cancel an existing job. +// Update updates specific properties of the import/export job. You can call this operation to notify the Import/Export +// service that the hard drives comprising the import or export job have been shipped to the Microsoft data center. It +// can also be used to cancel an existing job. // -// resourceGroupName is the resource group name uniquely identifies the -// resource group within the user subscription. jobName is the name of the -// import/export job. jobProperties is import/export job properties that need -// to be updated. +// resourceGroupName is the resource group name uniquely identifies the resource group within the user subscription. +// jobName is the name of the import/export job. jobProperties is import/export job properties that need to be updated. func (client JobsClient) Update(resourceGroupName string, jobName string, jobProperties MutableJob) (result Job, err error) { req, err := client.UpdatePreparer(resourceGroupName, jobName, jobProperties) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storageimportexport/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storageimportexport/models.go index 6df5d0ed1..4d46a5da3 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storageimportexport/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storageimportexport/models.go @@ -14,9 +14,8 @@ package storageimportexport // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -30,8 +29,7 @@ type DriveState string const ( // Completed specifies the completed state for drive state. Completed DriveState = "Completed" - // CompletedMoreInfo specifies the completed more info state for drive - // state. + // CompletedMoreInfo specifies the completed more info state for drive state. CompletedMoreInfo DriveState = "CompletedMoreInfo" // NeverReceived specifies the never received state for drive state. NeverReceived DriveState = "NeverReceived" @@ -61,8 +59,7 @@ const ( JobStateReceived JobState = "Received" // JobStateShipping specifies the job state shipping state for job state. JobStateShipping JobState = "Shipping" - // JobStateTransferring specifies the job state transferring state for job - // state. + // JobStateTransferring specifies the job state transferring state for job state. JobStateTransferring JobState = "Transferring" ) @@ -94,15 +91,13 @@ const ( Shipping MutableJobState = "Shipping" ) -// BitLockerKeysListResult is list of BitLocker keys for the specified -// import/export job. +// BitLockerKeysListResult is list of BitLocker keys for the specified import/export job. type BitLockerKeysListResult struct { autorest.Response `json:"-"` Value *[]DriveStatus `json:"value,omitempty"` } -// Drive is provides information about the drive that contains information -// about the import/export jobs. +// Drive is provides information about the drive that contains information about the import/export jobs. type Drive struct { DriveID *string `json:"driveId,omitempty"` BitLockerKey *string `json:"bitLockerKey,omitempty"` @@ -144,9 +139,8 @@ type ErrorResponse struct { Error *ErrorInfo `json:"error,omitempty"` } -// Export is a property containing information about the blobs to be exported -// for an export job. This property is required for export jobs, but must not -// be specified for import jobs. +// Export is a property containing information about the blobs to be exported for an export job. This property is +// required for export jobs, but must not be specified for import jobs. type Export struct { *ExportBlobList `json:"blobList,omitempty"` BlobListblobPath *string `json:"blobListblobPath,omitempty"` @@ -239,8 +233,8 @@ type LocationsListResult struct { Value *[]Location `json:"value,omitempty"` } -// MoveJobParameters is defines the parameters that need to be provided for -// moving an import/export job from one reesource group to another. +// MoveJobParameters is defines the parameters that need to be provided for moving an import/export job from one +// reesource group to another. type MoveJobParameters struct { TargetResourceGroup *string `json:"targetResourceGroup,omitempty"` Resources *[]string `json:"resources,omitempty"` @@ -263,8 +257,7 @@ type MutableJobProperties struct { BackupDriveManifest *bool `json:"backupDriveManifest,omitempty"` } -// Operation is describes a supported operation by the Storage Import/Export -// job API. +// Operation is describes a supported operation by the Storage Import/Export job API. type Operation struct { Name *string `json:"name,omitempty"` *OperationDisplayInformation `json:"display,omitempty"` @@ -278,8 +271,8 @@ type OperationDisplayInformation struct { Description *string `json:"description,omitempty"` } -// PackageInfomation is provides information about the package being shipped by -// the customer to the Microsoft data center. +// PackageInfomation is provides information about the package being shipped by the customer to the Microsoft data +// center. type PackageInfomation struct { CarrierName *string `json:"carrierName,omitempty"` TrackingNumber *string `json:"trackingNumber,omitempty"` @@ -309,22 +302,19 @@ type ReturnAddress struct { Email *string `json:"email,omitempty"` } -// ReturnShipping is specifies the return carrier and customer's account with -// the carrier. +// ReturnShipping is specifies the return carrier and customer's account with the carrier. type ReturnShipping struct { CarrierName *string `json:"carrierName,omitempty"` CarrierAccountNumber *string `json:"carrierAccountNumber,omitempty"` } -// ShippingInformation is provides information about the Microsoft datacenter -// to which the drives should be shipped. +// ShippingInformation is provides information about the Microsoft datacenter to which the drives should be shipped. type ShippingInformation struct { Name *string `json:"name,omitempty"` Address *string `json:"address,omitempty"` } -// SupportedOperationsListResult is list of supported operations by the -// import/export resource provider. +// SupportedOperationsListResult is list of supported operations by the import/export resource provider. type SupportedOperationsListResult struct { autorest.Response `json:"-"` Value *[]Operation `json:"value,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storageimportexport/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storageimportexport/version.go index a6f0ff66b..7ae7e2d20 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storageimportexport/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storageimportexport/version.go @@ -14,16 +14,15 @@ package storageimportexport // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-storageimportexport/2016-11-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-storageimportexport/2016-11-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/accesscontrolrecords.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/accesscontrolrecords.go index a24d9f87c..c48e881b4 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/accesscontrolrecords.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/accesscontrolrecords.go @@ -14,9 +14,8 @@ package storsimple8000series // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,32 +24,27 @@ import ( "net/http" ) -// AccessControlRecordsClient is the client for the AccessControlRecords -// methods of the Storsimple8000series service. +// AccessControlRecordsClient is the client for the AccessControlRecords methods of the Storsimple8000series service. type AccessControlRecordsClient struct { ManagementClient } -// NewAccessControlRecordsClient creates an instance of the -// AccessControlRecordsClient client. +// NewAccessControlRecordsClient creates an instance of the AccessControlRecordsClient client. func NewAccessControlRecordsClient(subscriptionID string) AccessControlRecordsClient { return NewAccessControlRecordsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewAccessControlRecordsClientWithBaseURI creates an instance of the -// AccessControlRecordsClient client. +// NewAccessControlRecordsClientWithBaseURI creates an instance of the AccessControlRecordsClient client. func NewAccessControlRecordsClientWithBaseURI(baseURI string, subscriptionID string) AccessControlRecordsClient { return AccessControlRecordsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or Updates an access control record. This method may -// poll for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// CreateOrUpdate creates or Updates an access control record. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// accessControlRecordName is the name of the access control record. parameters -// is the access control record to be added or updated. resourceGroupName is -// the resource group name managerName is the manager name +// accessControlRecordName is the name of the access control record. parameters is the access control record to be +// added or updated. resourceGroupName is the resource group name managerName is the manager name func (client AccessControlRecordsClient) CreateOrUpdate(accessControlRecordName string, parameters AccessControlRecord, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan AccessControlRecord, <-chan error) { resultChan := make(chan AccessControlRecord, 1) errChan := make(chan error, 1) @@ -144,13 +138,11 @@ func (client AccessControlRecordsClient) CreateOrUpdateResponder(resp *http.Resp return } -// Delete deletes the access control record. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete deletes the access control record. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// accessControlRecordName is the name of the access control record to delete. -// resourceGroupName is the resource group name managerName is the manager name +// accessControlRecordName is the name of the access control record to delete. resourceGroupName is the resource group +// name managerName is the manager name func (client AccessControlRecordsClient) Delete(accessControlRecordName string, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -240,8 +232,8 @@ func (client AccessControlRecordsClient) DeleteResponder(resp *http.Response) (r // Get returns the properties of the specified access control record name. // -// accessControlRecordName is name of access control record to be fetched. -// resourceGroupName is the resource group name managerName is the manager name +// accessControlRecordName is name of access control record to be fetched. resourceGroupName is the resource group name +// managerName is the manager name func (client AccessControlRecordsClient) Get(accessControlRecordName string, resourceGroupName string, managerName string) (result AccessControlRecord, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/alerts.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/alerts.go index 1cc671db2..c31f76726 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/alerts.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/alerts.go @@ -14,9 +14,8 @@ package storsimple8000series // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// AlertsClient is the client for the Alerts methods of the -// Storsimple8000series service. +// AlertsClient is the client for the Alerts methods of the Storsimple8000series service. type AlertsClient struct { ManagementClient } @@ -43,8 +41,7 @@ func NewAlertsClientWithBaseURI(baseURI string, subscriptionID string) AlertsCli // Clear clear the alerts. // -// parameters is the clear alert request. resourceGroupName is the resource -// group name managerName is the manager name +// parameters is the clear alert request. resourceGroupName is the resource group name managerName is the manager name func (client AlertsClient) Clear(parameters ClearAlertRequest, resourceGroupName string, managerName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -119,8 +116,7 @@ func (client AlertsClient) ClearResponder(resp *http.Response) (result autorest. // ListByManager retrieves all the alerts in a manager. // -// resourceGroupName is the resource group name managerName is the manager name -// filter is oData Filter options +// resourceGroupName is the resource group name managerName is the manager name filter is oData Filter options func (client AlertsClient) ListByManager(resourceGroupName string, managerName string, filter string) (result AlertList, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -264,9 +260,8 @@ func (client AlertsClient) ListByManagerComplete(resourceGroupName string, manag // SendTestEmail sends a test alert email. // -// deviceName is the device name parameters is the send test alert email -// request. resourceGroupName is the resource group name managerName is the -// manager name +// deviceName is the device name parameters is the send test alert email request. resourceGroupName is the resource +// group name managerName is the manager name func (client AlertsClient) SendTestEmail(deviceName string, parameters SendTestAlertEmailRequest, resourceGroupName string, managerName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/backuppolicies.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/backuppolicies.go index caebc2855..f5343b4f5 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/backuppolicies.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/backuppolicies.go @@ -14,9 +14,8 @@ package storsimple8000series // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,31 +24,26 @@ import ( "net/http" ) -// BackupPoliciesClient is the client for the BackupPolicies methods of the -// Storsimple8000series service. +// BackupPoliciesClient is the client for the BackupPolicies methods of the Storsimple8000series service. type BackupPoliciesClient struct { ManagementClient } -// NewBackupPoliciesClient creates an instance of the BackupPoliciesClient -// client. +// NewBackupPoliciesClient creates an instance of the BackupPoliciesClient client. func NewBackupPoliciesClient(subscriptionID string) BackupPoliciesClient { return NewBackupPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewBackupPoliciesClientWithBaseURI creates an instance of the -// BackupPoliciesClient client. +// NewBackupPoliciesClientWithBaseURI creates an instance of the BackupPoliciesClient client. func NewBackupPoliciesClientWithBaseURI(baseURI string, subscriptionID string) BackupPoliciesClient { return BackupPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// BackupNow backup the backup policy now. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// BackupNow backup the backup policy now. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// deviceName is the device name backupPolicyName is the backup policy name. -// backupType is the backup Type. This can be cloudSnapshot or localSnapshot. -// resourceGroupName is the resource group name managerName is the manager name +// deviceName is the device name backupPolicyName is the backup policy name. backupType is the backup Type. This can be +// cloudSnapshot or localSnapshot. resourceGroupName is the resource group name managerName is the manager name func (client BackupPoliciesClient) BackupNow(deviceName string, backupPolicyName string, backupType string, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -139,14 +133,11 @@ func (client BackupPoliciesClient) BackupNowResponder(resp *http.Response) (resu return } -// CreateOrUpdate creates or updates the backup policy. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// CreateOrUpdate creates or updates the backup policy. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// deviceName is the device name backupPolicyName is the name of the backup -// policy to be created/updated. parameters is the backup policy. -// resourceGroupName is the resource group name managerName is the manager name +// deviceName is the device name backupPolicyName is the name of the backup policy to be created/updated. parameters is +// the backup policy. resourceGroupName is the resource group name managerName is the manager name func (client BackupPoliciesClient) CreateOrUpdate(deviceName string, backupPolicyName string, parameters BackupPolicy, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan BackupPolicy, <-chan error) { resultChan := make(chan BackupPolicy, 1) errChan := make(chan error, 1) @@ -241,13 +232,11 @@ func (client BackupPoliciesClient) CreateOrUpdateResponder(resp *http.Response) return } -// Delete deletes the backup policy. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// Delete deletes the backup policy. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// deviceName is the device name backupPolicyName is the name of the backup -// policy. resourceGroupName is the resource group name managerName is the -// manager name +// deviceName is the device name backupPolicyName is the name of the backup policy. resourceGroupName is the resource +// group name managerName is the manager name func (client BackupPoliciesClient) Delete(deviceName string, backupPolicyName string, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -338,9 +327,8 @@ func (client BackupPoliciesClient) DeleteResponder(resp *http.Response) (result // Get gets the properties of the specified backup policy name. // -// deviceName is the device name backupPolicyName is the name of backup policy -// to be fetched. resourceGroupName is the resource group name managerName is -// the manager name +// deviceName is the device name backupPolicyName is the name of backup policy to be fetched. resourceGroupName is the +// resource group name managerName is the manager name func (client BackupPoliciesClient) Get(deviceName string, backupPolicyName string, resourceGroupName string, managerName string) (result BackupPolicy, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -414,8 +402,7 @@ func (client BackupPoliciesClient) GetResponder(resp *http.Response) (result Bac // ListByDevice gets all the backup policies in a device. // -// deviceName is the device name resourceGroupName is the resource group name -// managerName is the manager name +// deviceName is the device name resourceGroupName is the resource group name managerName is the manager name func (client BackupPoliciesClient) ListByDevice(deviceName string, resourceGroupName string, managerName string) (result BackupPolicyList, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/backups.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/backups.go index d4ef8f2af..f6f386530 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/backups.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/backups.go @@ -14,9 +14,8 @@ package storsimple8000series // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// BackupsClient is the client for the Backups methods of the -// Storsimple8000series service. +// BackupsClient is the client for the Backups methods of the Storsimple8000series service. type BackupsClient struct { ManagementClient } @@ -41,15 +39,11 @@ func NewBackupsClientWithBaseURI(baseURI string, subscriptionID string) BackupsC return BackupsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Clone clones the backup element as a new volume. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Clone clones the backup element as a new volume. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// deviceName is the device name backupName is the backup name. -// backupElementName is the backup element name. parameters is the clone -// request object. resourceGroupName is the resource group name managerName is -// the manager name +// deviceName is the device name backupName is the backup name. backupElementName is the backup element name. +// parameters is the clone request object. resourceGroupName is the resource group name managerName is the manager name func (client BackupsClient) Clone(deviceName string, backupName string, backupElementName string, parameters CloneRequest, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -153,12 +147,11 @@ func (client BackupsClient) CloneResponder(resp *http.Response) (result autorest return } -// Delete deletes the backup. This method may poll for completion. Polling can -// be canceled by passing the cancel channel argument. The channel will be used -// to cancel polling and any outstanding HTTP requests. +// Delete deletes the backup. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// deviceName is the device name backupName is the backup name. -// resourceGroupName is the resource group name managerName is the manager name +// deviceName is the device name backupName is the backup name. resourceGroupName is the resource group name +// managerName is the manager name func (client BackupsClient) Delete(deviceName string, backupName string, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -249,8 +242,8 @@ func (client BackupsClient) DeleteResponder(resp *http.Response) (result autores // ListByDevice retrieves all the backups in a device. // -// deviceName is the device name resourceGroupName is the resource group name -// managerName is the manager name filter is oData Filter options +// deviceName is the device name resourceGroupName is the resource group name managerName is the manager name filter is +// oData Filter options func (client BackupsClient) ListByDevice(deviceName string, resourceGroupName string, managerName string, filter string) (result BackupList, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -393,13 +386,11 @@ func (client BackupsClient) ListByDeviceComplete(deviceName string, resourceGrou return resultChan, errChan } -// Restore restores the backup on the device. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Restore restores the backup on the device. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// deviceName is the device name backupName is the backupSet name -// resourceGroupName is the resource group name managerName is the manager name +// deviceName is the device name backupName is the backupSet name resourceGroupName is the resource group name +// managerName is the manager name func (client BackupsClient) Restore(deviceName string, backupName string, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/backupschedules.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/backupschedules.go index d68c9d2f9..8e295946f 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/backupschedules.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/backupschedules.go @@ -14,9 +14,8 @@ package storsimple8000series // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,33 +24,28 @@ import ( "net/http" ) -// BackupSchedulesClient is the client for the BackupSchedules methods of the -// Storsimple8000series service. +// BackupSchedulesClient is the client for the BackupSchedules methods of the Storsimple8000series service. type BackupSchedulesClient struct { ManagementClient } -// NewBackupSchedulesClient creates an instance of the BackupSchedulesClient -// client. +// NewBackupSchedulesClient creates an instance of the BackupSchedulesClient client. func NewBackupSchedulesClient(subscriptionID string) BackupSchedulesClient { return NewBackupSchedulesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewBackupSchedulesClientWithBaseURI creates an instance of the -// BackupSchedulesClient client. +// NewBackupSchedulesClientWithBaseURI creates an instance of the BackupSchedulesClient client. func NewBackupSchedulesClientWithBaseURI(baseURI string, subscriptionID string) BackupSchedulesClient { return BackupSchedulesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates the backup schedule. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// CreateOrUpdate creates or updates the backup schedule. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// deviceName is the device name backupPolicyName is the backup policy name. -// backupScheduleName is the backup schedule name. parameters is the backup -// schedule. resourceGroupName is the resource group name managerName is the -// manager name +// deviceName is the device name backupPolicyName is the backup policy name. backupScheduleName is the backup schedule +// name. parameters is the backup schedule. resourceGroupName is the resource group name managerName is the manager +// name func (client BackupSchedulesClient) CreateOrUpdate(deviceName string, backupPolicyName string, backupScheduleName string, parameters BackupSchedule, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan BackupSchedule, <-chan error) { resultChan := make(chan BackupSchedule, 1) errChan := make(chan error, 1) @@ -151,13 +145,11 @@ func (client BackupSchedulesClient) CreateOrUpdateResponder(resp *http.Response) return } -// Delete deletes the backup schedule. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// Delete deletes the backup schedule. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// deviceName is the device name backupPolicyName is the backup policy name. -// backupScheduleName is the name the backup schedule. resourceGroupName is the -// resource group name managerName is the manager name +// deviceName is the device name backupPolicyName is the backup policy name. backupScheduleName is the name the backup +// schedule. resourceGroupName is the resource group name managerName is the manager name func (client BackupSchedulesClient) Delete(deviceName string, backupPolicyName string, backupScheduleName string, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -249,9 +241,8 @@ func (client BackupSchedulesClient) DeleteResponder(resp *http.Response) (result // Get gets the properties of the specified backup schedule name. // -// deviceName is the device name backupPolicyName is the backup policy name. -// backupScheduleName is the name of the backup schedule to be fetched -// resourceGroupName is the resource group name managerName is the manager name +// deviceName is the device name backupPolicyName is the backup policy name. backupScheduleName is the name of the +// backup schedule to be fetched resourceGroupName is the resource group name managerName is the manager name func (client BackupSchedulesClient) Get(deviceName string, backupPolicyName string, backupScheduleName string, resourceGroupName string, managerName string) (result BackupSchedule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -326,8 +317,8 @@ func (client BackupSchedulesClient) GetResponder(resp *http.Response) (result Ba // ListByBackupPolicy gets all the backup schedules in a backup policy. // -// deviceName is the device name backupPolicyName is the backup policy name. -// resourceGroupName is the resource group name managerName is the manager name +// deviceName is the device name backupPolicyName is the backup policy name. resourceGroupName is the resource group +// name managerName is the manager name func (client BackupSchedulesClient) ListByBackupPolicy(deviceName string, backupPolicyName string, resourceGroupName string, managerName string) (result BackupScheduleList, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/bandwidthsettings.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/bandwidthsettings.go index ca266176f..aa1c2dfaf 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/bandwidthsettings.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/bandwidthsettings.go @@ -14,9 +14,8 @@ package storsimple8000series // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,32 +24,27 @@ import ( "net/http" ) -// BandwidthSettingsClient is the client for the BandwidthSettings methods of -// the Storsimple8000series service. +// BandwidthSettingsClient is the client for the BandwidthSettings methods of the Storsimple8000series service. type BandwidthSettingsClient struct { ManagementClient } -// NewBandwidthSettingsClient creates an instance of the -// BandwidthSettingsClient client. +// NewBandwidthSettingsClient creates an instance of the BandwidthSettingsClient client. func NewBandwidthSettingsClient(subscriptionID string) BandwidthSettingsClient { return NewBandwidthSettingsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewBandwidthSettingsClientWithBaseURI creates an instance of the -// BandwidthSettingsClient client. +// NewBandwidthSettingsClientWithBaseURI creates an instance of the BandwidthSettingsClient client. func NewBandwidthSettingsClientWithBaseURI(baseURI string, subscriptionID string) BandwidthSettingsClient { return BandwidthSettingsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates the bandwidth setting This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// CreateOrUpdate creates or updates the bandwidth setting This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// bandwidthSettingName is the bandwidth setting name. parameters is the -// bandwidth setting to be added or updated. resourceGroupName is the resource -// group name managerName is the manager name +// bandwidthSettingName is the bandwidth setting name. parameters is the bandwidth setting to be added or updated. +// resourceGroupName is the resource group name managerName is the manager name func (client BandwidthSettingsClient) CreateOrUpdate(bandwidthSettingName string, parameters BandwidthSetting, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan BandwidthSetting, <-chan error) { resultChan := make(chan BandwidthSetting, 1) errChan := make(chan error, 1) @@ -144,12 +138,11 @@ func (client BandwidthSettingsClient) CreateOrUpdateResponder(resp *http.Respons return } -// Delete deletes the bandwidth setting This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// Delete deletes the bandwidth setting This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// bandwidthSettingName is the name of the bandwidth setting. resourceGroupName -// is the resource group name managerName is the manager name +// bandwidthSettingName is the name of the bandwidth setting. resourceGroupName is the resource group name managerName +// is the manager name func (client BandwidthSettingsClient) Delete(bandwidthSettingName string, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -239,8 +232,8 @@ func (client BandwidthSettingsClient) DeleteResponder(resp *http.Response) (resu // Get returns the properties of the specified bandwidth setting name. // -// bandwidthSettingName is the name of bandwidth setting to be fetched. -// resourceGroupName is the resource group name managerName is the manager name +// bandwidthSettingName is the name of bandwidth setting to be fetched. resourceGroupName is the resource group name +// managerName is the manager name func (client BandwidthSettingsClient) Get(bandwidthSettingName string, resourceGroupName string, managerName string) (result BandwidthSetting, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/client.go index 5a2d2648a..512248cd8 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/client.go @@ -1,5 +1,4 @@ -// Package storsimple8000series implements the Azure ARM Storsimple8000series -// service API version 2017-06-01. +// Package storsimple8000series implements the Azure ARM Storsimple8000series service API version 2017-06-01. // // package storsimple8000series @@ -18,9 +17,8 @@ package storsimple8000series // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/cloudappliances.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/cloudappliances.go index 8f364a1a1..b48de5ec1 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/cloudappliances.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/cloudappliances.go @@ -14,9 +14,8 @@ package storsimple8000series // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,26 +24,22 @@ import ( "net/http" ) -// CloudAppliancesClient is the client for the CloudAppliances methods of the -// Storsimple8000series service. +// CloudAppliancesClient is the client for the CloudAppliances methods of the Storsimple8000series service. type CloudAppliancesClient struct { ManagementClient } -// NewCloudAppliancesClient creates an instance of the CloudAppliancesClient -// client. +// NewCloudAppliancesClient creates an instance of the CloudAppliancesClient client. func NewCloudAppliancesClient(subscriptionID string) CloudAppliancesClient { return NewCloudAppliancesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewCloudAppliancesClientWithBaseURI creates an instance of the -// CloudAppliancesClient client. +// NewCloudAppliancesClientWithBaseURI creates an instance of the CloudAppliancesClient client. func NewCloudAppliancesClientWithBaseURI(baseURI string, subscriptionID string) CloudAppliancesClient { return CloudAppliancesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// ListSupportedConfigurations lists supported cloud appliance models and -// supported configurations. +// ListSupportedConfigurations lists supported cloud appliance models and supported configurations. // // resourceGroupName is the resource group name managerName is the manager name func (client CloudAppliancesClient) ListSupportedConfigurations(resourceGroupName string, managerName string) (result CloudApplianceConfigurationList, err error) { @@ -116,12 +111,10 @@ func (client CloudAppliancesClient) ListSupportedConfigurationsResponder(resp *h return } -// Provision provisions cloud appliance. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// Provision provisions cloud appliance. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// parameters is the cloud appliance resourceGroupName is the resource group -// name managerName is the manager name +// parameters is the cloud appliance resourceGroupName is the resource group name managerName is the manager name func (client CloudAppliancesClient) Provision(parameters CloudAppliance, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/devices.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/devices.go index 1e4d25823..bf732ab2e 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/devices.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/devices.go @@ -14,9 +14,8 @@ package storsimple8000series // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// DevicesClient is the client for the Devices methods of the -// Storsimple8000series service. +// DevicesClient is the client for the Devices methods of the Storsimple8000series service. type DevicesClient struct { ManagementClient } @@ -41,11 +39,9 @@ func NewDevicesClientWithBaseURI(baseURI string, subscriptionID string) DevicesC return DevicesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// AuthorizeForServiceEncryptionKeyRollover authorizes the specified device for -// service data encryption key rollover. +// AuthorizeForServiceEncryptionKeyRollover authorizes the specified device for service data encryption key rollover. // -// deviceName is the device name resourceGroupName is the resource group name -// managerName is the manager name +// deviceName is the device name resourceGroupName is the resource group name managerName is the manager name func (client DevicesClient) AuthorizeForServiceEncryptionKeyRollover(deviceName string, resourceGroupName string, managerName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -115,13 +111,12 @@ func (client DevicesClient) AuthorizeForServiceEncryptionKeyRolloverResponder(re return } -// Configure complete minimal setup before using the device. This method may -// poll for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// Configure complete minimal setup before using the device. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// parameters is the minimal properties to configure a device. -// resourceGroupName is the resource group name managerName is the manager name +// parameters is the minimal properties to configure a device. resourceGroupName is the resource group name managerName +// is the manager name func (client DevicesClient) Configure(parameters ConfigureDeviceRequest, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -216,12 +211,10 @@ func (client DevicesClient) ConfigureResponder(resp *http.Response) (result auto return } -// Deactivate deactivates the device. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// Deactivate deactivates the device. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// deviceName is the device name resourceGroupName is the resource group name -// managerName is the manager name +// deviceName is the device name resourceGroupName is the resource group name managerName is the manager name func (client DevicesClient) Deactivate(deviceName string, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -309,12 +302,10 @@ func (client DevicesClient) DeactivateResponder(resp *http.Response) (result aut return } -// Delete deletes the device. This method may poll for completion. Polling can -// be canceled by passing the cancel channel argument. The channel will be used -// to cancel polling and any outstanding HTTP requests. +// Delete deletes the device. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// deviceName is the device name resourceGroupName is the resource group name -// managerName is the manager name +// deviceName is the device name resourceGroupName is the resource group name managerName is the manager name func (client DevicesClient) Delete(deviceName string, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -402,15 +393,13 @@ func (client DevicesClient) DeleteResponder(resp *http.Response) (result autores return } -// Failover failovers a set of volume containers from a specified source device -// to a target device. This method may poll for completion. Polling can be -// canceled by passing the cancel channel argument. The channel will be used to +// Failover failovers a set of volume containers from a specified source device to a target device. This method may +// poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to // cancel polling and any outstanding HTTP requests. // -// sourceDeviceName is the source device name on which failover is performed. -// parameters is failoverRequest containing the source device and the list of -// volume containers to be failed over. resourceGroupName is the resource group -// name managerName is the manager name +// sourceDeviceName is the source device name on which failover is performed. parameters is failoverRequest containing +// the source device and the list of volume containers to be failed over. resourceGroupName is the resource group name +// managerName is the manager name func (client DevicesClient) Failover(sourceDeviceName string, parameters FailoverRequest, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -502,11 +491,9 @@ func (client DevicesClient) FailoverResponder(resp *http.Response) (result autor // Get returns the properties of the specified device. // -// deviceName is the device name resourceGroupName is the resource group name -// managerName is the manager name expand is specify $expand=details to -// populate additional fields related to the device or $expand=rolloverdetails -// to populate additional fields related to the service data encryption key -// rollover on device +// deviceName is the device name resourceGroupName is the resource group name managerName is the manager name expand is +// specify $expand=details to populate additional fields related to the device or $expand=rolloverdetails to populate +// additional fields related to the service data encryption key rollover on device func (client DevicesClient) Get(deviceName string, resourceGroupName string, managerName string, expand string) (result Device, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -582,8 +569,7 @@ func (client DevicesClient) GetResponder(resp *http.Response) (result Device, er // GetUpdateSummary returns the update summary of the specified device name. // -// deviceName is the device name resourceGroupName is the resource group name -// managerName is the manager name +// deviceName is the device name resourceGroupName is the resource group name managerName is the manager name func (client DevicesClient) GetUpdateSummary(deviceName string, resourceGroupName string, managerName string) (result Updates, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -654,13 +640,11 @@ func (client DevicesClient) GetUpdateSummaryResponder(resp *http.Response) (resu return } -// InstallUpdates downloads and installs the updates on the device. This method -// may poll for completion. Polling can be canceled by passing the cancel -// channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// InstallUpdates downloads and installs the updates on the device. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// deviceName is the device name resourceGroupName is the resource group name -// managerName is the manager name +// deviceName is the device name resourceGroupName is the resource group name managerName is the manager name func (client DevicesClient) InstallUpdates(deviceName string, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -750,10 +734,9 @@ func (client DevicesClient) InstallUpdatesResponder(resp *http.Response) (result // ListByManager returns the list of devices for the specified manager. // -// resourceGroupName is the resource group name managerName is the manager name -// expand is specify $expand=details to populate additional fields related to -// the device or $expand=rolloverdetails to populate additional fields related -// to the service data encryption key rollover on device +// resourceGroupName is the resource group name managerName is the manager name expand is specify $expand=details to +// populate additional fields related to the device or $expand=rolloverdetails to populate additional fields related to +// the service data encryption key rollover on device func (client DevicesClient) ListByManager(resourceGroupName string, managerName string, expand string) (result DeviceList, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -826,13 +809,11 @@ func (client DevicesClient) ListByManagerResponder(resp *http.Response) (result return } -// ListFailoverSets returns all failover sets for a given device and their -// eligibility for participating in a failover. A failover set refers to a set -// of volume containers that need to be failed-over as a single unit to -// maintain data integrity. +// ListFailoverSets returns all failover sets for a given device and their eligibility for participating in a failover. +// A failover set refers to a set of volume containers that need to be failed-over as a single unit to maintain data +// integrity. // -// deviceName is the device name resourceGroupName is the resource group name -// managerName is the manager name +// deviceName is the device name resourceGroupName is the resource group name managerName is the manager name func (client DevicesClient) ListFailoverSets(deviceName string, resourceGroupName string, managerName string) (result FailoverSetsList, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -903,14 +884,12 @@ func (client DevicesClient) ListFailoverSetsResponder(resp *http.Response) (resu return } -// ListFailoverTargets given a list of volume containers to be failed over from -// a source device, this method returns the eligibility result, as a failover -// target, for all devices under that resource. +// ListFailoverTargets given a list of volume containers to be failed over from a source device, this method returns +// the eligibility result, as a failover target, for all devices under that resource. // -// sourceDeviceName is the source device name on which failover is performed. -// parameters is listFailoverTargetsRequest containing the list of volume -// containers to be failed over. resourceGroupName is the resource group name -// managerName is the manager name +// sourceDeviceName is the source device name on which failover is performed. parameters is listFailoverTargetsRequest +// containing the list of volume containers to be failed over. resourceGroupName is the resource group name managerName +// is the manager name func (client DevicesClient) ListFailoverTargets(sourceDeviceName string, parameters ListFailoverTargetsRequest, resourceGroupName string, managerName string) (result FailoverTargetsList, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -985,8 +964,7 @@ func (client DevicesClient) ListFailoverTargetsResponder(resp *http.Response) (r // ListMetricDefinition gets the metric definitions for the specified device. // -// deviceName is the device name resourceGroupName is the resource group name -// managerName is the manager name +// deviceName is the device name resourceGroupName is the resource group name managerName is the manager name func (client DevicesClient) ListMetricDefinition(deviceName string, resourceGroupName string, managerName string) (result MetricDefinitionList, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -1059,8 +1037,8 @@ func (client DevicesClient) ListMetricDefinitionResponder(resp *http.Response) ( // ListMetrics gets the metrics for the specified device. // -// deviceName is the device name resourceGroupName is the resource group name -// managerName is the manager name filter is oData Filter options +// deviceName is the device name resourceGroupName is the resource group name managerName is the manager name filter is +// oData Filter options func (client DevicesClient) ListMetrics(deviceName string, resourceGroupName string, managerName string, filter string) (result MetricList, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -1132,13 +1110,10 @@ func (client DevicesClient) ListMetricsResponder(resp *http.Response) (result Me return } -// ScanForUpdates scans for updates on the device. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// ScanForUpdates scans for updates on the device. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// deviceName is the device name resourceGroupName is the resource group name -// managerName is the manager name +// deviceName is the device name resourceGroupName is the resource group name managerName is the manager name func (client DevicesClient) ScanForUpdates(deviceName string, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -1228,9 +1203,8 @@ func (client DevicesClient) ScanForUpdatesResponder(resp *http.Response) (result // Update patches the device. // -// deviceName is the device name parameters is patch representation of the -// device. resourceGroupName is the resource group name managerName is the -// manager name +// deviceName is the device name parameters is patch representation of the device. resourceGroupName is the resource +// group name managerName is the manager name func (client DevicesClient) Update(deviceName string, parameters DevicePatch, resourceGroupName string, managerName string) (result Device, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/devicesettings.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/devicesettings.go index 68bc6b031..ce6e3dcde 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/devicesettings.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/devicesettings.go @@ -14,9 +14,8 @@ package storsimple8000series // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,32 +24,27 @@ import ( "net/http" ) -// DeviceSettingsClient is the client for the DeviceSettings methods of the -// Storsimple8000series service. +// DeviceSettingsClient is the client for the DeviceSettings methods of the Storsimple8000series service. type DeviceSettingsClient struct { ManagementClient } -// NewDeviceSettingsClient creates an instance of the DeviceSettingsClient -// client. +// NewDeviceSettingsClient creates an instance of the DeviceSettingsClient client. func NewDeviceSettingsClient(subscriptionID string) DeviceSettingsClient { return NewDeviceSettingsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewDeviceSettingsClientWithBaseURI creates an instance of the -// DeviceSettingsClient client. +// NewDeviceSettingsClientWithBaseURI creates an instance of the DeviceSettingsClient client. func NewDeviceSettingsClientWithBaseURI(baseURI string, subscriptionID string) DeviceSettingsClient { return DeviceSettingsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdateAlertSettings creates or updates the alert settings of the -// specified device. This method may poll for completion. Polling can be -// canceled by passing the cancel channel argument. The channel will be used to -// cancel polling and any outstanding HTTP requests. +// CreateOrUpdateAlertSettings creates or updates the alert settings of the specified device. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. // -// deviceName is the device name parameters is the alert settings to be added -// or updated. resourceGroupName is the resource group name managerName is the -// manager name +// deviceName is the device name parameters is the alert settings to be added or updated. resourceGroupName is the +// resource group name managerName is the manager name func (client DeviceSettingsClient) CreateOrUpdateAlertSettings(deviceName string, parameters AlertSettings, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan AlertSettings, <-chan error) { resultChan := make(chan AlertSettings, 1) errChan := make(chan error, 1) @@ -143,14 +137,12 @@ func (client DeviceSettingsClient) CreateOrUpdateAlertSettingsResponder(resp *ht return } -// CreateOrUpdateTimeSettings creates or updates the time settings of the -// specified device. This method may poll for completion. Polling can be -// canceled by passing the cancel channel argument. The channel will be used to -// cancel polling and any outstanding HTTP requests. +// CreateOrUpdateTimeSettings creates or updates the time settings of the specified device. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. // -// deviceName is the device name parameters is the time settings to be added or -// updated. resourceGroupName is the resource group name managerName is the -// manager name +// deviceName is the device name parameters is the time settings to be added or updated. resourceGroupName is the +// resource group name managerName is the manager name func (client DeviceSettingsClient) CreateOrUpdateTimeSettings(deviceName string, parameters TimeSettings, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan TimeSettings, <-chan error) { resultChan := make(chan TimeSettings, 1) errChan := make(chan error, 1) @@ -246,8 +238,7 @@ func (client DeviceSettingsClient) CreateOrUpdateTimeSettingsResponder(resp *htt // GetAlertSettings gets the alert settings of the specified device. // -// deviceName is the device name resourceGroupName is the resource group name -// managerName is the manager name +// deviceName is the device name resourceGroupName is the resource group name managerName is the manager name func (client DeviceSettingsClient) GetAlertSettings(deviceName string, resourceGroupName string, managerName string) (result AlertSettings, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -320,8 +311,7 @@ func (client DeviceSettingsClient) GetAlertSettingsResponder(resp *http.Response // GetNetworkSettings gets the network settings of the specified device. // -// deviceName is the device name resourceGroupName is the resource group name -// managerName is the manager name +// deviceName is the device name resourceGroupName is the resource group name managerName is the manager name func (client DeviceSettingsClient) GetNetworkSettings(deviceName string, resourceGroupName string, managerName string) (result NetworkSettings, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -392,11 +382,9 @@ func (client DeviceSettingsClient) GetNetworkSettingsResponder(resp *http.Respon return } -// GetSecuritySettings returns the Security properties of the specified device -// name. +// GetSecuritySettings returns the Security properties of the specified device name. // -// deviceName is the device name resourceGroupName is the resource group name -// managerName is the manager name +// deviceName is the device name resourceGroupName is the resource group name managerName is the manager name func (client DeviceSettingsClient) GetSecuritySettings(deviceName string, resourceGroupName string, managerName string) (result SecuritySettings, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -469,8 +457,7 @@ func (client DeviceSettingsClient) GetSecuritySettingsResponder(resp *http.Respo // GetTimeSettings gets the time settings of the specified device. // -// deviceName is the device name resourceGroupName is the resource group name -// managerName is the manager name +// deviceName is the device name resourceGroupName is the resource group name managerName is the manager name func (client DeviceSettingsClient) GetTimeSettings(deviceName string, resourceGroupName string, managerName string) (result TimeSettings, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -541,13 +528,11 @@ func (client DeviceSettingsClient) GetTimeSettingsResponder(resp *http.Response) return } -// SyncRemotemanagementCertificate sync Remote management Certificate between -// appliance and Service This method may poll for completion. Polling can be -// canceled by passing the cancel channel argument. The channel will be used to +// SyncRemotemanagementCertificate sync Remote management Certificate between appliance and Service This method may +// poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to // cancel polling and any outstanding HTTP requests. // -// deviceName is the device name resourceGroupName is the resource group name -// managerName is the manager name +// deviceName is the device name resourceGroupName is the resource group name managerName is the manager name func (client DeviceSettingsClient) SyncRemotemanagementCertificate(deviceName string, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -635,14 +620,12 @@ func (client DeviceSettingsClient) SyncRemotemanagementCertificateResponder(resp return } -// UpdateNetworkSettings updates the network settings on the specified device. -// This method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// UpdateNetworkSettings updates the network settings on the specified device. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// deviceName is the device name parameters is the network settings to be -// updated. resourceGroupName is the resource group name managerName is the -// manager name +// deviceName is the device name parameters is the network settings to be updated. resourceGroupName is the resource +// group name managerName is the manager name func (client DeviceSettingsClient) UpdateNetworkSettings(deviceName string, parameters NetworkSettingsPatch, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan NetworkSettings, <-chan error) { resultChan := make(chan NetworkSettings, 1) errChan := make(chan error, 1) @@ -733,14 +716,12 @@ func (client DeviceSettingsClient) UpdateNetworkSettingsResponder(resp *http.Res return } -// UpdateSecuritySettings patch Security properties of the specified device -// name. This method may poll for completion. Polling can be canceled by -// passing the cancel channel argument. The channel will be used to cancel -// polling and any outstanding HTTP requests. +// UpdateSecuritySettings patch Security properties of the specified device name. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. // -// deviceName is the device name parameters is the security settings properties -// to be patched. resourceGroupName is the resource group name managerName is -// the manager name +// deviceName is the device name parameters is the security settings properties to be patched. resourceGroupName is the +// resource group name managerName is the manager name func (client DeviceSettingsClient) UpdateSecuritySettings(deviceName string, parameters SecuritySettingsPatch, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan SecuritySettings, <-chan error) { resultChan := make(chan SecuritySettings, 1) errChan := make(chan error, 1) diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/hardwarecomponentgroups.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/hardwarecomponentgroups.go index bce206034..08365d552 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/hardwarecomponentgroups.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/hardwarecomponentgroups.go @@ -14,9 +14,8 @@ package storsimple8000series // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,33 +24,28 @@ import ( "net/http" ) -// HardwareComponentGroupsClient is the client for the HardwareComponentGroups -// methods of the Storsimple8000series service. +// HardwareComponentGroupsClient is the client for the HardwareComponentGroups methods of the Storsimple8000series +// service. type HardwareComponentGroupsClient struct { ManagementClient } -// NewHardwareComponentGroupsClient creates an instance of the -// HardwareComponentGroupsClient client. +// NewHardwareComponentGroupsClient creates an instance of the HardwareComponentGroupsClient client. func NewHardwareComponentGroupsClient(subscriptionID string) HardwareComponentGroupsClient { return NewHardwareComponentGroupsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewHardwareComponentGroupsClientWithBaseURI creates an instance of the -// HardwareComponentGroupsClient client. +// NewHardwareComponentGroupsClientWithBaseURI creates an instance of the HardwareComponentGroupsClient client. func NewHardwareComponentGroupsClientWithBaseURI(baseURI string, subscriptionID string) HardwareComponentGroupsClient { return HardwareComponentGroupsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// ChangeControllerPowerState changes the power state of the controller. This -// method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// ChangeControllerPowerState changes the power state of the controller. This method may poll for completion. Polling +// can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// deviceName is the device name hardwareComponentGroupName is the hardware -// component group name. parameters is the controller power state change -// request. resourceGroupName is the resource group name managerName is the -// manager name +// deviceName is the device name hardwareComponentGroupName is the hardware component group name. parameters is the +// controller power state change request. resourceGroupName is the resource group name managerName is the manager name func (client HardwareComponentGroupsClient) ChangeControllerPowerState(deviceName string, hardwareComponentGroupName string, parameters ControllerPowerStateChangeRequest, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -146,8 +140,7 @@ func (client HardwareComponentGroupsClient) ChangeControllerPowerStateResponder( // ListByDevice lists the hardware component groups at device-level. // -// deviceName is the device name resourceGroupName is the resource group name -// managerName is the manager name +// deviceName is the device name resourceGroupName is the resource group name managerName is the manager name func (client HardwareComponentGroupsClient) ListByDevice(deviceName string, resourceGroupName string, managerName string) (result HardwareComponentGroupList, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/jobs.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/jobs.go index 5ab8a346b..1e97743dd 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/jobs.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/jobs.go @@ -14,9 +14,8 @@ package storsimple8000series // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// JobsClient is the client for the Jobs methods of the Storsimple8000series -// service. +// JobsClient is the client for the Jobs methods of the Storsimple8000series service. type JobsClient struct { ManagementClient } @@ -41,12 +39,11 @@ func NewJobsClientWithBaseURI(baseURI string, subscriptionID string) JobsClient return JobsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Cancel cancels a job on the device. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// Cancel cancels a job on the device. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// deviceName is the device name jobName is the jobName. resourceGroupName is -// the resource group name managerName is the manager name +// deviceName is the device name jobName is the jobName. resourceGroupName is the resource group name managerName is +// the manager name func (client JobsClient) Cancel(deviceName string, jobName string, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -137,8 +134,8 @@ func (client JobsClient) CancelResponder(resp *http.Response) (result autorest.R // Get gets the details of the specified job name. // -// deviceName is the device name jobName is the job Name. resourceGroupName is -// the resource group name managerName is the manager name +// deviceName is the device name jobName is the job Name. resourceGroupName is the resource group name managerName is +// the manager name func (client JobsClient) Get(deviceName string, jobName string, resourceGroupName string, managerName string) (result Job, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -210,11 +207,11 @@ func (client JobsClient) GetResponder(resp *http.Response) (result Job, err erro return } -// ListByDevice gets all the jobs for specified device. With optional OData -// query parameters, a filtered set of jobs is returned. +// ListByDevice gets all the jobs for specified device. With optional OData query parameters, a filtered set of jobs is +// returned. // -// deviceName is the device name resourceGroupName is the resource group name -// managerName is the manager name filter is oData Filter options +// deviceName is the device name resourceGroupName is the resource group name managerName is the manager name filter is +// oData Filter options func (client JobsClient) ListByDevice(deviceName string, resourceGroupName string, managerName string, filter string) (result JobList, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -357,11 +354,10 @@ func (client JobsClient) ListByDeviceComplete(deviceName string, resourceGroupNa return resultChan, errChan } -// ListByManager gets all the jobs for the specified manager. With optional -// OData query parameters, a filtered set of jobs is returned. +// ListByManager gets all the jobs for the specified manager. With optional OData query parameters, a filtered set of +// jobs is returned. // -// resourceGroupName is the resource group name managerName is the manager name -// filter is oData Filter options +// resourceGroupName is the resource group name managerName is the manager name filter is oData Filter options func (client JobsClient) ListByManager(resourceGroupName string, managerName string, filter string) (result JobList, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/managers.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/managers.go index 825668e47..9ec3bbc16 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/managers.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/managers.go @@ -14,9 +14,8 @@ package storsimple8000series // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// ManagersClient is the client for the Managers methods of the -// Storsimple8000series service. +// ManagersClient is the client for the Managers methods of the Storsimple8000series service. type ManagersClient struct { ManagementClient } @@ -36,16 +34,15 @@ func NewManagersClient(subscriptionID string) ManagersClient { return NewManagersClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewManagersClientWithBaseURI creates an instance of the ManagersClient -// client. +// NewManagersClientWithBaseURI creates an instance of the ManagersClient client. func NewManagersClientWithBaseURI(baseURI string, subscriptionID string) ManagersClient { return ManagersClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateExtendedInfo creates the extended info of the manager. // -// parameters is the manager extended information. resourceGroupName is the -// resource group name managerName is the manager name +// parameters is the manager extended information. resourceGroupName is the resource group name managerName is the +// manager name func (client ManagersClient) CreateExtendedInfo(parameters ManagerExtendedInfo, resourceGroupName string, managerName string) (result ManagerExtendedInfo, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -124,8 +121,7 @@ func (client ManagersClient) CreateExtendedInfoResponder(resp *http.Response) (r // CreateOrUpdate creates or updates the manager. // -// parameters is the manager. resourceGroupName is the resource group name -// managerName is the manager name +// parameters is the manager. resourceGroupName is the resource group name managerName is the manager name func (client ManagersClient) CreateOrUpdate(parameters Manager, resourceGroupName string, managerName string) (result Manager, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -488,11 +484,9 @@ func (client ManagersClient) GetActivationKeyResponder(resp *http.Response) (res return } -// GetDevicePublicEncryptionKey returns the public encryption key of the -// device. +// GetDevicePublicEncryptionKey returns the public encryption key of the device. // -// deviceName is the device name resourceGroupName is the resource group name -// managerName is the manager name +// deviceName is the device name resourceGroupName is the resource group name managerName is the manager name func (client ManagersClient) GetDevicePublicEncryptionKey(deviceName string, resourceGroupName string, managerName string) (result PublicKey, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -635,8 +629,7 @@ func (client ManagersClient) GetEncryptionSettingsResponder(resp *http.Response) return } -// GetExtendedInfo returns the extended information of the specified manager -// name. +// GetExtendedInfo returns the extended information of the specified manager name. // // resourceGroupName is the resource group name managerName is the manager name func (client ManagersClient) GetExtendedInfo(resourceGroupName string, managerName string) (result ManagerExtendedInfo, err error) { @@ -708,8 +701,7 @@ func (client ManagersClient) GetExtendedInfoResponder(resp *http.Response) (resu return } -// GetPublicEncryptionKey returns the symmetric encrypted public encryption key -// of the manager. +// GetPublicEncryptionKey returns the symmetric encrypted public encryption key of the manager. // // resourceGroupName is the resource group name managerName is the manager name func (client ManagersClient) GetPublicEncryptionKey(resourceGroupName string, managerName string) (result SymmetricEncryptedSecret, err error) { @@ -908,8 +900,7 @@ func (client ManagersClient) ListByResourceGroupResponder(resp *http.Response) ( // ListFeatureSupportStatus lists the features and their support status // -// resourceGroupName is the resource group name managerName is the manager name -// filter is oData Filter options +// resourceGroupName is the resource group name managerName is the manager name filter is oData Filter options func (client ManagersClient) ListFeatureSupportStatus(resourceGroupName string, managerName string, filter string) (result FeatureList, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -1056,8 +1047,7 @@ func (client ManagersClient) ListMetricDefinitionResponder(resp *http.Response) // ListMetrics gets the metrics for the specified manager. // -// resourceGroupName is the resource group name managerName is the manager name -// filter is oData Filter options +// resourceGroupName is the resource group name managerName is the manager name filter is oData Filter options func (client ManagersClient) ListMetrics(resourceGroupName string, managerName string, filter string) (result MetricList, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -1128,8 +1118,7 @@ func (client ManagersClient) ListMetricsResponder(resp *http.Response) (result M return } -// RegenerateActivationKey re-generates and returns the activation key of the -// manager. +// RegenerateActivationKey re-generates and returns the activation key of the manager. // // resourceGroupName is the resource group name managerName is the manager name func (client ManagersClient) RegenerateActivationKey(resourceGroupName string, managerName string) (result Key, err error) { @@ -1203,8 +1192,8 @@ func (client ManagersClient) RegenerateActivationKeyResponder(resp *http.Respons // Update updates the StorSimple Manager. // -// parameters is the manager update parameters. resourceGroupName is the -// resource group name managerName is the manager name +// parameters is the manager update parameters. resourceGroupName is the resource group name managerName is the manager +// name func (client ManagersClient) Update(parameters ManagerPatch, resourceGroupName string, managerName string) (result Manager, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -1278,9 +1267,8 @@ func (client ManagersClient) UpdateResponder(resp *http.Response) (result Manage // UpdateExtendedInfo updates the extended info of the manager. // -// parameters is the manager extended information. resourceGroupName is the -// resource group name managerName is the manager name ifMatch is pass the ETag -// of ExtendedInfo fetched from GET call +// parameters is the manager extended information. resourceGroupName is the resource group name managerName is the +// manager name ifMatch is pass the ETag of ExtendedInfo fetched from GET call func (client ManagersClient) UpdateExtendedInfo(parameters ManagerExtendedInfo, resourceGroupName string, managerName string, ifMatch string) (result ManagerExtendedInfo, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/models.go index 98caf1bb4..57c11e21f 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/models.go @@ -14,9 +14,8 @@ package storsimple8000series // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,13 +24,11 @@ import ( "net/http" ) -// AlertEmailNotificationStatus enumerates the values for alert email -// notification status. +// AlertEmailNotificationStatus enumerates the values for alert email notification status. type AlertEmailNotificationStatus string const ( - // Disabled specifies the disabled state for alert email notification - // status. + // Disabled specifies the disabled state for alert email notification status. Disabled AlertEmailNotificationStatus = "Disabled" // Enabled specifies the enabled state for alert email notification status. Enabled AlertEmailNotificationStatus = "Enabled" @@ -43,8 +40,7 @@ type AlertScope string const ( // AlertScopeDevice specifies the alert scope device state for alert scope. AlertScopeDevice AlertScope = "Device" - // AlertScopeResource specifies the alert scope resource state for alert - // scope. + // AlertScopeResource specifies the alert scope resource state for alert scope. AlertScopeResource AlertScope = "Resource" ) @@ -64,11 +60,9 @@ const ( type AlertSourceType string const ( - // AlertSourceTypeDevice specifies the alert source type device state for - // alert source type. + // AlertSourceTypeDevice specifies the alert source type device state for alert source type. AlertSourceTypeDevice AlertSourceType = "Device" - // AlertSourceTypeResource specifies the alert source type resource state - // for alert source type. + // AlertSourceTypeResource specifies the alert source type resource state for alert source type. AlertSourceTypeResource AlertSourceType = "Resource" ) @@ -96,15 +90,13 @@ const ( NTLM AuthenticationType = "NTLM" ) -// AuthorizationEligibility enumerates the values for authorization -// eligibility. +// AuthorizationEligibility enumerates the values for authorization eligibility. type AuthorizationEligibility string const ( // Eligible specifies the eligible state for authorization eligibility. Eligible AuthorizationEligibility = "Eligible" - // InEligible specifies the in eligible state for authorization - // eligibility. + // InEligible specifies the in eligible state for authorization eligibility. InEligible AuthorizationEligibility = "InEligible" ) @@ -112,11 +104,9 @@ const ( type AuthorizationStatus string const ( - // AuthorizationStatusDisabled specifies the authorization status disabled - // state for authorization status. + // AuthorizationStatusDisabled specifies the authorization status disabled state for authorization status. AuthorizationStatusDisabled AuthorizationStatus = "Disabled" - // AuthorizationStatusEnabled specifies the authorization status enabled - // state for authorization status. + // AuthorizationStatusEnabled specifies the authorization status enabled state for authorization status. AuthorizationStatusEnabled AuthorizationStatus = "Enabled" ) @@ -132,16 +122,15 @@ const ( BySSM BackupJobCreationType = "BySSM" ) -// BackupPolicyCreationType enumerates the values for backup policy creation -// type. +// BackupPolicyCreationType enumerates the values for backup policy creation type. type BackupPolicyCreationType string const ( - // BackupPolicyCreationTypeBySaaS specifies the backup policy creation type - // by saa s state for backup policy creation type. + // BackupPolicyCreationTypeBySaaS specifies the backup policy creation type by saa s state for backup policy creation + // type. BackupPolicyCreationTypeBySaaS BackupPolicyCreationType = "BySaaS" - // BackupPolicyCreationTypeBySSM specifies the backup policy creation type - // by ssm state for backup policy creation type. + // BackupPolicyCreationTypeBySSM specifies the backup policy creation type by ssm state for backup policy creation + // type. BackupPolicyCreationTypeBySSM BackupPolicyCreationType = "BySSM" ) @@ -149,11 +138,9 @@ const ( type BackupStatus string const ( - // BackupStatusDisabled specifies the backup status disabled state for - // backup status. + // BackupStatusDisabled specifies the backup status disabled state for backup status. BackupStatusDisabled BackupStatus = "Disabled" - // BackupStatusEnabled specifies the backup status enabled state for backup - // status. + // BackupStatusEnabled specifies the backup status enabled state for backup status. BackupStatusEnabled BackupStatus = "Enabled" ) @@ -171,22 +158,17 @@ const ( type ControllerID string const ( - // ControllerIDController0 specifies the controller id controller 0 state - // for controller id. + // ControllerIDController0 specifies the controller id controller 0 state for controller id. ControllerIDController0 ControllerID = "Controller0" - // ControllerIDController1 specifies the controller id controller 1 state - // for controller id. + // ControllerIDController1 specifies the controller id controller 1 state for controller id. ControllerIDController1 ControllerID = "Controller1" - // ControllerIDNone specifies the controller id none state for controller - // id. + // ControllerIDNone specifies the controller id none state for controller id. ControllerIDNone ControllerID = "None" - // ControllerIDUnknown specifies the controller id unknown state for - // controller id. + // ControllerIDUnknown specifies the controller id unknown state for controller id. ControllerIDUnknown ControllerID = "Unknown" ) -// ControllerPowerStateAction enumerates the values for controller power state -// action. +// ControllerPowerStateAction enumerates the values for controller power state action. type ControllerPowerStateAction string const ( @@ -202,23 +184,17 @@ const ( type ControllerStatus string const ( - // ControllerStatusFailure specifies the controller status failure state - // for controller status. + // ControllerStatusFailure specifies the controller status failure state for controller status. ControllerStatusFailure ControllerStatus = "Failure" - // ControllerStatusNotPresent specifies the controller status not present - // state for controller status. + // ControllerStatusNotPresent specifies the controller status not present state for controller status. ControllerStatusNotPresent ControllerStatus = "NotPresent" - // ControllerStatusOk specifies the controller status ok state for - // controller status. + // ControllerStatusOk specifies the controller status ok state for controller status. ControllerStatusOk ControllerStatus = "Ok" - // ControllerStatusPoweredOff specifies the controller status powered off - // state for controller status. + // ControllerStatusPoweredOff specifies the controller status powered off state for controller status. ControllerStatusPoweredOff ControllerStatus = "PoweredOff" - // ControllerStatusRecovering specifies the controller status recovering - // state for controller status. + // ControllerStatusRecovering specifies the controller status recovering state for controller status. ControllerStatusRecovering ControllerStatus = "Recovering" - // ControllerStatusWarning specifies the controller status warning state - // for controller status. + // ControllerStatusWarning specifies the controller status warning state for controller status. ControllerStatusWarning ControllerStatus = "Warning" ) @@ -242,8 +218,7 @@ const ( Wednesday DayOfWeek = "Wednesday" ) -// DeviceConfigurationStatus enumerates the values for device configuration -// status. +// DeviceConfigurationStatus enumerates the values for device configuration status. type DeviceConfigurationStatus string const ( @@ -275,8 +250,7 @@ const ( Provisioning DeviceStatus = "Provisioning" // ReadyToSetup specifies the ready to setup state for device status. ReadyToSetup DeviceStatus = "ReadyToSetup" - // RequiresAttention specifies the requires attention state for device - // status. + // RequiresAttention specifies the requires attention state for device status. RequiresAttention DeviceStatus = "RequiresAttention" // Unknown specifies the unknown state for device status. Unknown DeviceStatus = "Unknown" @@ -286,14 +260,12 @@ const ( type DeviceType string const ( - // DeviceTypeInvalid specifies the device type invalid state for device - // type. + // DeviceTypeInvalid specifies the device type invalid state for device type. DeviceTypeInvalid DeviceType = "Invalid" - // DeviceTypeSeries8000PhysicalAppliance specifies the device type series - // 8000 physical appliance state for device type. + // DeviceTypeSeries8000PhysicalAppliance specifies the device type series 8000 physical appliance state for device + // type. DeviceTypeSeries8000PhysicalAppliance DeviceType = "Series8000PhysicalAppliance" - // DeviceTypeSeries8000VirtualAppliance specifies the device type series - // 8000 virtual appliance state for device type. + // DeviceTypeSeries8000VirtualAppliance specifies the device type series 8000 virtual appliance state for device type. DeviceTypeSeries8000VirtualAppliance DeviceType = "Series8000VirtualAppliance" ) @@ -301,14 +273,11 @@ const ( type EncryptionAlgorithm string const ( - // EncryptionAlgorithmAES256 specifies the encryption algorithm aes256 - // state for encryption algorithm. + // EncryptionAlgorithmAES256 specifies the encryption algorithm aes256 state for encryption algorithm. EncryptionAlgorithmAES256 EncryptionAlgorithm = "AES256" - // EncryptionAlgorithmNone specifies the encryption algorithm none state - // for encryption algorithm. + // EncryptionAlgorithmNone specifies the encryption algorithm none state for encryption algorithm. EncryptionAlgorithmNone EncryptionAlgorithm = "None" - // EncryptionAlgorithmRSAESPKCS1V15 specifies the encryption algorithm - // rsaespkcs1v15 state for encryption algorithm. + // EncryptionAlgorithmRSAESPKCS1V15 specifies the encryption algorithm rsaespkcs1v15 state for encryption algorithm. EncryptionAlgorithmRSAESPKCS1V15 EncryptionAlgorithm = "RSAES_PKCS1_v_1_5" ) @@ -316,11 +285,9 @@ const ( type EncryptionStatus string const ( - // EncryptionStatusDisabled specifies the encryption status disabled state - // for encryption status. + // EncryptionStatusDisabled specifies the encryption status disabled state for encryption status. EncryptionStatusDisabled EncryptionStatus = "Disabled" - // EncryptionStatusEnabled specifies the encryption status enabled state - // for encryption status. + // EncryptionStatusEnabled specifies the encryption status enabled state for encryption status. EncryptionStatusEnabled EncryptionStatus = "Enabled" ) @@ -328,13 +295,11 @@ const ( type FeatureSupportStatus string const ( - // NotAvailable specifies the not available state for feature support - // status. + // NotAvailable specifies the not available state for feature support status. NotAvailable FeatureSupportStatus = "NotAvailable" // Supported specifies the supported state for feature support status. Supported FeatureSupportStatus = "Supported" - // UnsupportedDeviceVersion specifies the unsupported device version state - // for feature support status. + // UnsupportedDeviceVersion specifies the unsupported device version state for feature support status. UnsupportedDeviceVersion FeatureSupportStatus = "UnsupportedDeviceVersion" ) @@ -342,26 +307,22 @@ const ( type HardwareComponentStatus string const ( - // HardwareComponentStatusFailure specifies the hardware component status - // failure state for hardware component status. + // HardwareComponentStatusFailure specifies the hardware component status failure state for hardware component status. HardwareComponentStatusFailure HardwareComponentStatus = "Failure" - // HardwareComponentStatusNotPresent specifies the hardware component - // status not present state for hardware component status. + // HardwareComponentStatusNotPresent specifies the hardware component status not present state for hardware component + // status. HardwareComponentStatusNotPresent HardwareComponentStatus = "NotPresent" - // HardwareComponentStatusOk specifies the hardware component status ok - // state for hardware component status. + // HardwareComponentStatusOk specifies the hardware component status ok state for hardware component status. HardwareComponentStatusOk HardwareComponentStatus = "Ok" - // HardwareComponentStatusPoweredOff specifies the hardware component - // status powered off state for hardware component status. + // HardwareComponentStatusPoweredOff specifies the hardware component status powered off state for hardware component + // status. HardwareComponentStatusPoweredOff HardwareComponentStatus = "PoweredOff" - // HardwareComponentStatusRecovering specifies the hardware component - // status recovering state for hardware component status. + // HardwareComponentStatusRecovering specifies the hardware component status recovering state for hardware component + // status. HardwareComponentStatusRecovering HardwareComponentStatus = "Recovering" - // HardwareComponentStatusUnknown specifies the hardware component status - // unknown state for hardware component status. + // HardwareComponentStatusUnknown specifies the hardware component status unknown state for hardware component status. HardwareComponentStatusUnknown HardwareComponentStatus = "Unknown" - // HardwareComponentStatusWarning specifies the hardware component status - // warning state for hardware component status. + // HardwareComponentStatusWarning specifies the hardware component status warning state for hardware component status. HardwareComponentStatusWarning HardwareComponentStatus = "Warning" ) @@ -369,14 +330,11 @@ const ( type InEligibilityCategory string const ( - // DeviceNotOnline specifies the device not online state for in eligibility - // category. + // DeviceNotOnline specifies the device not online state for in eligibility category. DeviceNotOnline InEligibilityCategory = "DeviceNotOnline" - // NotSupportedAppliance specifies the not supported appliance state for in - // eligibility category. + // NotSupportedAppliance specifies the not supported appliance state for in eligibility category. NotSupportedAppliance InEligibilityCategory = "NotSupportedAppliance" - // RolloverPending specifies the rollover pending state for in eligibility - // category. + // RolloverPending specifies the rollover pending state for in eligibility category. RolloverPending InEligibilityCategory = "RolloverPending" ) @@ -384,17 +342,14 @@ const ( type ISCSIAndCloudStatus string const ( - // ISCSIAndCloudStatusCloudEnabled specifies the iscsi and cloud status - // cloud enabled state for iscsi and cloud status. + // ISCSIAndCloudStatusCloudEnabled specifies the iscsi and cloud status cloud enabled state for iscsi and cloud status. ISCSIAndCloudStatusCloudEnabled ISCSIAndCloudStatus = "CloudEnabled" - // ISCSIAndCloudStatusDisabled specifies the iscsi and cloud status - // disabled state for iscsi and cloud status. + // ISCSIAndCloudStatusDisabled specifies the iscsi and cloud status disabled state for iscsi and cloud status. ISCSIAndCloudStatusDisabled ISCSIAndCloudStatus = "Disabled" - // ISCSIAndCloudStatusIscsiAndCloudEnabled specifies the iscsi and cloud - // status iscsi and cloud enabled state for iscsi and cloud status. + // ISCSIAndCloudStatusIscsiAndCloudEnabled specifies the iscsi and cloud status iscsi and cloud enabled state for iscsi + // and cloud status. ISCSIAndCloudStatusIscsiAndCloudEnabled ISCSIAndCloudStatus = "IscsiAndCloudEnabled" - // ISCSIAndCloudStatusIscsiEnabled specifies the iscsi and cloud status - // iscsi enabled state for iscsi and cloud status. + // ISCSIAndCloudStatusIscsiEnabled specifies the iscsi and cloud status iscsi enabled state for iscsi and cloud status. ISCSIAndCloudStatusIscsiEnabled ISCSIAndCloudStatus = "IscsiEnabled" ) @@ -418,14 +373,11 @@ type JobType string const ( // CloneVolume specifies the clone volume state for job type. CloneVolume JobType = "CloneVolume" - // CreateCloudAppliance specifies the create cloud appliance state for job - // type. + // CreateCloudAppliance specifies the create cloud appliance state for job type. CreateCloudAppliance JobType = "CreateCloudAppliance" - // CreateLocallyPinnedVolume specifies the create locally pinned volume - // state for job type. + // CreateLocallyPinnedVolume specifies the create locally pinned volume state for job type. CreateLocallyPinnedVolume JobType = "CreateLocallyPinnedVolume" - // FailoverVolumeContainers specifies the failover volume containers state - // for job type. + // FailoverVolumeContainers specifies the failover volume containers state for job type. FailoverVolumeContainers JobType = "FailoverVolumeContainers" // InstallUpdates specifies the install updates state for job type. InstallUpdates JobType = "InstallUpdates" @@ -437,8 +389,7 @@ const ( RestoreBackup JobType = "RestoreBackup" // ScheduledBackup specifies the scheduled backup state for job type. ScheduledBackup JobType = "ScheduledBackup" - // SupportPackageLogs specifies the support package logs state for job - // type. + // SupportPackageLogs specifies the support package logs state for job type. SupportPackageLogs JobType = "SupportPackageLogs" ) @@ -474,23 +425,17 @@ const ( type MetricAggregationType string const ( - // MetricAggregationTypeAverage specifies the metric aggregation type - // average state for metric aggregation type. + // MetricAggregationTypeAverage specifies the metric aggregation type average state for metric aggregation type. MetricAggregationTypeAverage MetricAggregationType = "Average" - // MetricAggregationTypeLast specifies the metric aggregation type last - // state for metric aggregation type. + // MetricAggregationTypeLast specifies the metric aggregation type last state for metric aggregation type. MetricAggregationTypeLast MetricAggregationType = "Last" - // MetricAggregationTypeMaximum specifies the metric aggregation type - // maximum state for metric aggregation type. + // MetricAggregationTypeMaximum specifies the metric aggregation type maximum state for metric aggregation type. MetricAggregationTypeMaximum MetricAggregationType = "Maximum" - // MetricAggregationTypeMinimum specifies the metric aggregation type - // minimum state for metric aggregation type. + // MetricAggregationTypeMinimum specifies the metric aggregation type minimum state for metric aggregation type. MetricAggregationTypeMinimum MetricAggregationType = "Minimum" - // MetricAggregationTypeNone specifies the metric aggregation type none - // state for metric aggregation type. + // MetricAggregationTypeNone specifies the metric aggregation type none state for metric aggregation type. MetricAggregationTypeNone MetricAggregationType = "None" - // MetricAggregationTypeTotal specifies the metric aggregation type total - // state for metric aggregation type. + // MetricAggregationTypeTotal specifies the metric aggregation type total state for metric aggregation type. MetricAggregationTypeTotal MetricAggregationType = "Total" ) @@ -516,11 +461,9 @@ const ( type MonitoringStatus string const ( - // MonitoringStatusDisabled specifies the monitoring status disabled state - // for monitoring status. + // MonitoringStatusDisabled specifies the monitoring status disabled state for monitoring status. MonitoringStatusDisabled MonitoringStatus = "Disabled" - // MonitoringStatusEnabled specifies the monitoring status enabled state - // for monitoring status. + // MonitoringStatusEnabled specifies the monitoring status enabled state for monitoring status. MonitoringStatusEnabled MonitoringStatus = "Enabled" ) @@ -528,26 +471,19 @@ const ( type NetInterfaceID string const ( - // NetInterfaceIDData0 specifies the net interface id data 0 state for net - // interface id. + // NetInterfaceIDData0 specifies the net interface id data 0 state for net interface id. NetInterfaceIDData0 NetInterfaceID = "Data0" - // NetInterfaceIDData1 specifies the net interface id data 1 state for net - // interface id. + // NetInterfaceIDData1 specifies the net interface id data 1 state for net interface id. NetInterfaceIDData1 NetInterfaceID = "Data1" - // NetInterfaceIDData2 specifies the net interface id data 2 state for net - // interface id. + // NetInterfaceIDData2 specifies the net interface id data 2 state for net interface id. NetInterfaceIDData2 NetInterfaceID = "Data2" - // NetInterfaceIDData3 specifies the net interface id data 3 state for net - // interface id. + // NetInterfaceIDData3 specifies the net interface id data 3 state for net interface id. NetInterfaceIDData3 NetInterfaceID = "Data3" - // NetInterfaceIDData4 specifies the net interface id data 4 state for net - // interface id. + // NetInterfaceIDData4 specifies the net interface id data 4 state for net interface id. NetInterfaceIDData4 NetInterfaceID = "Data4" - // NetInterfaceIDData5 specifies the net interface id data 5 state for net - // interface id. + // NetInterfaceIDData5 specifies the net interface id data 5 state for net interface id. NetInterfaceIDData5 NetInterfaceID = "Data5" - // NetInterfaceIDInvalid specifies the net interface id invalid state for - // net interface id. + // NetInterfaceIDInvalid specifies the net interface id invalid state for net interface id. NetInterfaceIDInvalid NetInterfaceID = "Invalid" ) @@ -555,11 +491,9 @@ const ( type NetInterfaceStatus string const ( - // NetInterfaceStatusDisabled specifies the net interface status disabled - // state for net interface status. + // NetInterfaceStatusDisabled specifies the net interface status disabled state for net interface status. NetInterfaceStatusDisabled NetInterfaceStatus = "Disabled" - // NetInterfaceStatusEnabled specifies the net interface status enabled - // state for net interface status. + // NetInterfaceStatusEnabled specifies the net interface status enabled state for net interface status. NetInterfaceStatusEnabled NetInterfaceStatus = "Enabled" ) @@ -569,8 +503,7 @@ type NetworkMode string const ( // NetworkModeBOTH specifies the network mode both state for network mode. NetworkModeBOTH NetworkMode = "BOTH" - // NetworkModeInvalid specifies the network mode invalid state for network - // mode. + // NetworkModeInvalid specifies the network mode invalid state for network mode. NetworkModeInvalid NetworkMode = "Invalid" // NetworkModeIPV4 specifies the network mode ipv4 state for network mode. NetworkModeIPV4 NetworkMode = "IPV4" @@ -582,17 +515,13 @@ const ( type OperationStatus string const ( - // OperationStatusDeleting specifies the operation status deleting state - // for operation status. + // OperationStatusDeleting specifies the operation status deleting state for operation status. OperationStatusDeleting OperationStatus = "Deleting" - // OperationStatusNone specifies the operation status none state for - // operation status. + // OperationStatusNone specifies the operation status none state for operation status. OperationStatusNone OperationStatus = "None" - // OperationStatusRestoring specifies the operation status restoring state - // for operation status. + // OperationStatusRestoring specifies the operation status restoring state for operation status. OperationStatusRestoring OperationStatus = "Restoring" - // OperationStatusUpdating specifies the operation status updating state - // for operation status. + // OperationStatusUpdating specifies the operation status updating state for operation status. OperationStatusUpdating OperationStatus = "Updating" ) @@ -620,26 +549,21 @@ const ( Weekly RecurrenceType = "Weekly" ) -// RemoteManagementModeConfiguration enumerates the values for remote -// management mode configuration. +// RemoteManagementModeConfiguration enumerates the values for remote management mode configuration. type RemoteManagementModeConfiguration string const ( - // RemoteManagementModeConfigurationDisabled specifies the remote - // management mode configuration disabled state for remote management mode - // configuration. - RemoteManagementModeConfigurationDisabled RemoteManagementModeConfiguration = "Disabled" - // RemoteManagementModeConfigurationHTTPSAndHTTPEnabled specifies the - // remote management mode configuration https and http enabled state for + // RemoteManagementModeConfigurationDisabled specifies the remote management mode configuration disabled state for // remote management mode configuration. + RemoteManagementModeConfigurationDisabled RemoteManagementModeConfiguration = "Disabled" + // RemoteManagementModeConfigurationHTTPSAndHTTPEnabled specifies the remote management mode configuration https and + // http enabled state for remote management mode configuration. RemoteManagementModeConfigurationHTTPSAndHTTPEnabled RemoteManagementModeConfiguration = "HttpsAndHttpEnabled" - // RemoteManagementModeConfigurationHTTPSEnabled specifies the remote - // management mode configuration https enabled state for remote management - // mode configuration. + // RemoteManagementModeConfigurationHTTPSEnabled specifies the remote management mode configuration https enabled state + // for remote management mode configuration. RemoteManagementModeConfigurationHTTPSEnabled RemoteManagementModeConfiguration = "HttpsEnabled" - // RemoteManagementModeConfigurationUnknown specifies the remote management - // mode configuration unknown state for remote management mode - // configuration. + // RemoteManagementModeConfigurationUnknown specifies the remote management mode configuration unknown state for remote + // management mode configuration. RemoteManagementModeConfigurationUnknown RemoteManagementModeConfiguration = "Unknown" ) @@ -647,11 +571,9 @@ const ( type ScheduledBackupStatus string const ( - // ScheduledBackupStatusDisabled specifies the scheduled backup status - // disabled state for scheduled backup status. + // ScheduledBackupStatusDisabled specifies the scheduled backup status disabled state for scheduled backup status. ScheduledBackupStatusDisabled ScheduledBackupStatus = "Disabled" - // ScheduledBackupStatusEnabled specifies the scheduled backup status - // enabled state for scheduled backup status. + // ScheduledBackupStatusEnabled specifies the scheduled backup status enabled state for scheduled backup status. ScheduledBackupStatusEnabled ScheduledBackupStatus = "Enabled" ) @@ -659,11 +581,9 @@ const ( type ScheduleStatus string const ( - // ScheduleStatusDisabled specifies the schedule status disabled state for - // schedule status. + // ScheduleStatusDisabled specifies the schedule status disabled state for schedule status. ScheduleStatusDisabled ScheduleStatus = "Disabled" - // ScheduleStatusEnabled specifies the schedule status enabled state for - // schedule status. + // ScheduleStatusEnabled specifies the schedule status enabled state for schedule status. ScheduleStatusEnabled ScheduleStatus = "Enabled" ) @@ -671,40 +591,35 @@ const ( type SslStatus string const ( - // SslStatusDisabled specifies the ssl status disabled state for ssl - // status. + // SslStatusDisabled specifies the ssl status disabled state for ssl status. SslStatusDisabled SslStatus = "Disabled" // SslStatusEnabled specifies the ssl status enabled state for ssl status. SslStatusEnabled SslStatus = "Enabled" ) -// TargetEligibilityResultCode enumerates the values for target eligibility -// result code. +// TargetEligibilityResultCode enumerates the values for target eligibility result code. type TargetEligibilityResultCode string const ( - // LocalToTieredVolumesConversionWarning specifies the local to tiered - // volumes conversion warning state for target eligibility result code. + // LocalToTieredVolumesConversionWarning specifies the local to tiered volumes conversion warning state for target + // eligibility result code. LocalToTieredVolumesConversionWarning TargetEligibilityResultCode = "LocalToTieredVolumesConversionWarning" - // TargetAndSourceCannotBeSameError specifies the target and source cannot - // be same error state for target eligibility result code. + // TargetAndSourceCannotBeSameError specifies the target and source cannot be same error state for target eligibility + // result code. TargetAndSourceCannotBeSameError TargetEligibilityResultCode = "TargetAndSourceCannotBeSameError" - // TargetInsufficientCapacityError specifies the target insufficient - // capacity error state for target eligibility result code. + // TargetInsufficientCapacityError specifies the target insufficient capacity error state for target eligibility result + // code. TargetInsufficientCapacityError TargetEligibilityResultCode = "TargetInsufficientCapacityError" - // TargetInsufficientLocalVolumeMemoryError specifies the target - // insufficient local volume memory error state for target eligibility - // result code. + // TargetInsufficientLocalVolumeMemoryError specifies the target insufficient local volume memory error state for + // target eligibility result code. TargetInsufficientLocalVolumeMemoryError TargetEligibilityResultCode = "TargetInsufficientLocalVolumeMemoryError" - // TargetInsufficientTieredVolumeMemoryError specifies the target - // insufficient tiered volume memory error state for target eligibility - // result code. + // TargetInsufficientTieredVolumeMemoryError specifies the target insufficient tiered volume memory error state for + // target eligibility result code. TargetInsufficientTieredVolumeMemoryError TargetEligibilityResultCode = "TargetInsufficientTieredVolumeMemoryError" - // TargetIsNotOnlineError specifies the target is not online error state - // for target eligibility result code. + // TargetIsNotOnlineError specifies the target is not online error state for target eligibility result code. TargetIsNotOnlineError TargetEligibilityResultCode = "TargetIsNotOnlineError" - // TargetSourceIncompatibleVersionError specifies the target source - // incompatible version error state for target eligibility result code. + // TargetSourceIncompatibleVersionError specifies the target source incompatible version error state for target + // eligibility result code. TargetSourceIncompatibleVersionError TargetEligibilityResultCode = "TargetSourceIncompatibleVersionError" ) @@ -712,11 +627,11 @@ const ( type TargetEligibilityStatus string const ( - // TargetEligibilityStatusEligible specifies the target eligibility status - // eligible state for target eligibility status. + // TargetEligibilityStatusEligible specifies the target eligibility status eligible state for target eligibility + // status. TargetEligibilityStatusEligible TargetEligibilityStatus = "Eligible" - // TargetEligibilityStatusNotEligible specifies the target eligibility - // status not eligible state for target eligibility status. + // TargetEligibilityStatusNotEligible specifies the target eligibility status not eligible state for target eligibility + // status. TargetEligibilityStatusNotEligible TargetEligibilityStatus = "NotEligible" ) @@ -734,11 +649,9 @@ const ( type VolumeStatus string const ( - // VolumeStatusOffline specifies the volume status offline state for volume - // status. + // VolumeStatusOffline specifies the volume status offline state for volume status. VolumeStatusOffline VolumeStatus = "Offline" - // VolumeStatusOnline specifies the volume status online state for volume - // status. + // VolumeStatusOnline specifies the volume status online state for volume status. VolumeStatusOnline VolumeStatus = "Online" ) @@ -827,8 +740,7 @@ func (client AlertList) AlertListPreparer() (*http.Request, error) { autorest.WithBaseURL(to.String(client.NextLink))) } -// AlertNotificationProperties is the properties of the alert notification -// settings. +// AlertNotificationProperties is the properties of the alert notification settings. type AlertNotificationProperties struct { EmailNotification AlertEmailNotificationStatus `json:"emailNotification,omitempty"` AlertNotificationCulture *string `json:"alertNotificationCulture,omitempty"` @@ -871,8 +783,7 @@ type AlertSource struct { AlertSourceType AlertSourceType `json:"alertSourceType,omitempty"` } -// AsymmetricEncryptedSecret is represent the secrets intended for encryption -// with asymmetric key pair. +// AsymmetricEncryptedSecret is represent the secrets intended for encryption with asymmetric key pair. type AsymmetricEncryptedSecret struct { Value *string `json:"value,omitempty"` EncryptionCertThumbprint *string `json:"encryptionCertThumbprint,omitempty"` @@ -887,11 +798,9 @@ type AvailableProviderOperation struct { Properties *map[string]interface{} `json:"properties,omitempty"` } -// AvailableProviderOperationDisplay is contains the localized display -// information for this particular operation/action. These value will be used -// by several clients for (a) custom role definitions for RBAC, (b) complex -// query filters for the event service and (c) audit history/records for -// management operations. +// AvailableProviderOperationDisplay is contains the localized display information for this particular +// operation/action. These value will be used by several clients for (a) custom role definitions for RBAC, (b) complex +// query filters for the event service and (c) audit history/records for management operations. type AvailableProviderOperationDisplay struct { Provider *string `json:"provider,omitempty"` Resource *string `json:"resource,omitempty"` @@ -1066,8 +975,7 @@ type BaseModel struct { Kind Kind `json:"kind,omitempty"` } -// ChapSettings is the Challenge-Handshake Authentication Protocol (CHAP) -// settings. +// ChapSettings is the Challenge-Handshake Authentication Protocol (CHAP) settings. type ChapSettings struct { InitiatorUser *string `json:"initiatorUser,omitempty"` InitiatorSecret *AsymmetricEncryptedSecret `json:"initiatorSecret,omitempty"` @@ -1119,8 +1027,7 @@ type CloudApplianceConfigurationList struct { Value *[]CloudApplianceConfiguration `json:"value,omitempty"` } -// CloudApplianceConfigurationProperties is the properties of cloud appliance -// configuration. +// CloudApplianceConfigurationProperties is the properties of cloud appliance configuration. type CloudApplianceConfigurationProperties struct { ModelNumber *string `json:"modelNumber,omitempty"` CloudPlatform *string `json:"cloudPlatform,omitempty"` @@ -1146,8 +1053,7 @@ type ConfigureDeviceRequest struct { *ConfigureDeviceRequestProperties `json:"properties,omitempty"` } -// ConfigureDeviceRequestProperties is the properties of the configure device -// request. +// ConfigureDeviceRequestProperties is the properties of the configure device request. type ConfigureDeviceRequestProperties struct { FriendlyName *string `json:"friendlyName,omitempty"` CurrentDeviceName *string `json:"currentDeviceName,omitempty"` @@ -1156,8 +1062,7 @@ type ConfigureDeviceRequestProperties struct { NetworkInterfaceData0Settings *NetworkInterfaceData0Settings `json:"networkInterfaceData0Settings,omitempty"` } -// ControllerPowerStateChangeRequest is the controller power state change -// request. +// ControllerPowerStateChangeRequest is the controller power state change request. type ControllerPowerStateChangeRequest struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` @@ -1166,8 +1071,7 @@ type ControllerPowerStateChangeRequest struct { *ControllerPowerStateChangeRequestProperties `json:"properties,omitempty"` } -// ControllerPowerStateChangeRequestProperties is the properties of the -// controller power state change request. +// ControllerPowerStateChangeRequestProperties is the properties of the controller power state change request. type ControllerPowerStateChangeRequestProperties struct { Action ControllerPowerStateAction `json:"action,omitempty"` ActiveController ControllerID `json:"activeController,omitempty"` @@ -1175,9 +1079,8 @@ type ControllerPowerStateChangeRequestProperties struct { Controller1State ControllerStatus `json:"controller1State,omitempty"` } -// DataStatistics is the additional details related to the data related -// statistics of a job. Currently applicable only for Backup, Clone and Restore -// jobs. +// DataStatistics is the additional details related to the data related statistics of a job. Currently applicable only +// for Backup, Clone and Restore jobs. type DataStatistics struct { TotalData *int64 `json:"totalData,omitempty"` ProcessedData *int64 `json:"processedData,omitempty"` @@ -1195,8 +1098,7 @@ type Device struct { *DeviceProperties `json:"properties,omitempty"` } -// DeviceDetails is the additional device details regarding the end point count -// and volume container count. +// DeviceDetails is the additional device details regarding the end point count and volume container count. type DeviceDetails struct { EndpointCount *int32 `json:"endpointCount,omitempty"` VolumeContainerCount *int32 `json:"volumeContainerCount,omitempty"` @@ -1249,8 +1151,7 @@ type DeviceProperties struct { RolloverDetails *DeviceRolloverDetails `json:"rolloverDetails,omitempty"` } -// DeviceRolloverDetails is the additional device details for the service data -// encryption key rollover. +// DeviceRolloverDetails is the additional device details for the service data encryption key rollover. type DeviceRolloverDetails struct { AuthorizationEligibility AuthorizationEligibility `json:"authorizationEligibility,omitempty"` AuthorizationStatus AuthorizationStatus `json:"authorizationStatus,omitempty"` @@ -1287,8 +1188,8 @@ type EncryptionSettingsProperties struct { KeyRolloverStatus KeyRolloverStatus `json:"keyRolloverStatus,omitempty"` } -// FailoverRequest is the request object for triggering a failover of volume -// containers, from a source device to a target device. +// FailoverRequest is the request object for triggering a failover of volume containers, from a source device to a +// target device. type FailoverRequest struct { TargetDeviceID *string `json:"targetDeviceId,omitempty"` VolumeContainers *[]string `json:"volumeContainers,omitempty"` @@ -1300,8 +1201,7 @@ type FailoverSet struct { EligibilityResult *FailoverSetEligibilityResult `json:"eligibilityResult,omitempty"` } -// FailoverSetEligibilityResult is the eligibility result of failover set, for -// failover. +// FailoverSetEligibilityResult is the eligibility result of failover set, for failover. type FailoverSetEligibilityResult struct { IsEligibleForFailover *bool `json:"isEligibleForFailover,omitempty"` ErrorMessage *string `json:"errorMessage,omitempty"` @@ -1313,8 +1213,7 @@ type FailoverSetsList struct { Value *[]FailoverSet `json:"value,omitempty"` } -// FailoverTarget is represents the eligibility of a device as a failover -// target device. +// FailoverTarget is represents the eligibility of a device as a failover target device. type FailoverTarget struct { DeviceID *string `json:"deviceId,omitempty"` DeviceStatus DeviceStatus `json:"deviceStatus,omitempty"` @@ -1329,8 +1228,8 @@ type FailoverTarget struct { EligibilityResult *TargetEligibilityResult `json:"eligibilityResult,omitempty"` } -// FailoverTargetsList is the list of all devices in a resource and their -// eligibility status as a failover target device. +// FailoverTargetsList is the list of all devices in a resource and their eligibility status as a failover target +// device. type FailoverTargetsList struct { autorest.Response `json:"-"` Value *[]FailoverTarget `json:"value,omitempty"` @@ -1376,8 +1275,7 @@ type HardwareComponentGroupList struct { Value *[]HardwareComponentGroup `json:"value,omitempty"` } -// HardwareComponentGroupProperties is the properties of hardware component -// group. +// HardwareComponentGroupProperties is the properties of hardware component group. type HardwareComponentGroupProperties struct { DisplayName *string `json:"displayName,omitempty"` LastUpdatedTime *date.Time `json:"lastUpdatedTime,omitempty"` @@ -1467,8 +1365,8 @@ type Key struct { ActivationKey *string `json:"activationKey,omitempty"` } -// ListFailoverTargetsRequest is the request object for fetching the list of -// failover targets (eligible devices for failover). +// ListFailoverTargetsRequest is the request object for fetching the list of failover targets (eligible devices for +// failover). type ListFailoverTargetsRequest struct { VolumeContainers *[]string `json:"volumeContainers,omitempty"` } @@ -1496,8 +1394,7 @@ type ManagerExtendedInfo struct { Etag *string `json:"etag,omitempty"` } -// ManagerExtendedInfoProperties is the properties of the manager extended -// info. +// ManagerExtendedInfoProperties is the properties of the manager extended info. type ManagerExtendedInfoProperties struct { Version *string `json:"version,omitempty"` IntegrityKey *string `json:"integrityKey,omitempty"` @@ -1507,8 +1404,7 @@ type ManagerExtendedInfoProperties struct { Algorithm *string `json:"algorithm,omitempty"` } -// ManagerIntrinsicSettings is intrinsic settings which refers to the type of -// the Storsimple Manager. +// ManagerIntrinsicSettings is intrinsic settings which refers to the type of the Storsimple Manager. type ManagerIntrinsicSettings struct { Type ManagerType `json:"type,omitempty"` } @@ -1570,8 +1466,7 @@ type MetricDefinitionList struct { Value *[]MetricDefinition `json:"value,omitempty"` } -// MetricDimension is the metric dimension. It indicates the source of the -// metric. +// MetricDimension is the metric dimension. It indicates the source of the metric. type MetricDimension struct { Name *string `json:"name,omitempty"` Value *string `json:"value,omitempty"` @@ -1599,8 +1494,7 @@ type MetricName struct { LocalizedValue *string `json:"localizedValue,omitempty"` } -// MetricNameFilter is the metric name filter, specifying the name of the -// metric to be filtered on. +// MetricNameFilter is the metric name filter, specifying the name of the metric to be filtered on. type MetricNameFilter struct { Value *string `json:"value,omitempty"` } @@ -1636,8 +1530,7 @@ type NetworkAdapters struct { NicIpv6Settings *NicIPv6 `json:"nicIpv6Settings,omitempty"` } -// NetworkInterfaceData0Settings is the 'Data 0' network interface card -// settings. +// NetworkInterfaceData0Settings is the 'Data 0' network interface card settings. type NetworkInterfaceData0Settings struct { ControllerZeroIP *string `json:"controllerZeroIp,omitempty"` ControllerOneIP *string `json:"controllerOneIp,omitempty"` @@ -1653,21 +1546,18 @@ type NetworkSettings struct { *NetworkSettingsProperties `json:"properties,omitempty"` } -// NetworkSettingsPatch is represents the patch request for the network -// settings of a device. +// NetworkSettingsPatch is represents the patch request for the network settings of a device. type NetworkSettingsPatch struct { *NetworkSettingsPatchProperties `json:"properties,omitempty"` } -// NetworkSettingsPatchProperties is the properties of the network settings -// patch. +// NetworkSettingsPatchProperties is the properties of the network settings patch. type NetworkSettingsPatchProperties struct { DNSSettings *DNSSettings `json:"dnsSettings,omitempty"` NetworkAdapters *NetworkAdapterList `json:"networkAdapters,omitempty"` } -// NetworkSettingsProperties is the properties of the network settings of -// device. +// NetworkSettingsProperties is the properties of the network settings of device. type NetworkSettingsProperties struct { DNSSettings *DNSSettings `json:"dnsSettings,omitempty"` NetworkAdapters *NetworkAdapterList `json:"networkAdapters,omitempty"` @@ -1704,8 +1594,7 @@ type RemoteManagementSettings struct { RemoteManagementCertificate *string `json:"remoteManagementCertificate,omitempty"` } -// RemoteManagementSettingsPatch is the settings for updating remote management -// mode of the device. +// RemoteManagementSettingsPatch is the settings for updating remote management mode of the device. type RemoteManagementSettingsPatch struct { RemoteManagementMode RemoteManagementModeConfiguration `json:"remoteManagementMode,omitempty"` } @@ -1741,14 +1630,12 @@ type SecuritySettings struct { *SecuritySettingsProperties `json:"properties,omitempty"` } -// SecuritySettingsPatch is represents the patch request for the security -// settings of a device. +// SecuritySettingsPatch is represents the patch request for the security settings of a device. type SecuritySettingsPatch struct { *SecuritySettingsPatchProperties `json:"properties,omitempty"` } -// SecuritySettingsPatchProperties is the properties of the security settings -// patch. +// SecuritySettingsPatchProperties is the properties of the security settings patch. type SecuritySettingsPatchProperties struct { RemoteManagementSettings *RemoteManagementSettingsPatch `json:"remoteManagementSettings,omitempty"` DeviceAdminPassword *AsymmetricEncryptedSecret `json:"deviceAdminPassword,omitempty"` @@ -1757,8 +1644,7 @@ type SecuritySettingsPatchProperties struct { CloudApplianceSettings *CloudApplianceSettings `json:"cloudApplianceSettings,omitempty"` } -// SecuritySettingsProperties is the properties of security settings of a -// device. +// SecuritySettingsProperties is the properties of security settings of a device. type SecuritySettingsProperties struct { RemoteManagementSettings *RemoteManagementSettings `json:"remoteManagementSettings,omitempty"` ChapSettings *ChapSettings `json:"chapSettings,omitempty"` @@ -1779,15 +1665,13 @@ type StorageAccountCredential struct { *StorageAccountCredentialProperties `json:"properties,omitempty"` } -// StorageAccountCredentialList is the collection of storage account credential -// entities. +// StorageAccountCredentialList is the collection of storage account credential entities. type StorageAccountCredentialList struct { autorest.Response `json:"-"` Value *[]StorageAccountCredential `json:"value,omitempty"` } -// StorageAccountCredentialProperties is the storage account credential -// properties. +// StorageAccountCredentialProperties is the storage account credential properties. type StorageAccountCredentialProperties struct { EndPoint *string `json:"endPoint,omitempty"` SslStatus SslStatus `json:"sslStatus,omitempty"` @@ -1795,8 +1679,7 @@ type StorageAccountCredentialProperties struct { VolumesCount *int32 `json:"volumesCount,omitempty"` } -// SymmetricEncryptedSecret is represents the secrets encrypted using Symmetric -// Encryption Key. +// SymmetricEncryptedSecret is represents the secrets encrypted using Symmetric Encryption Key. type SymmetricEncryptedSecret struct { autorest.Response `json:"-"` Value *string `json:"value,omitempty"` @@ -1804,16 +1687,15 @@ type SymmetricEncryptedSecret struct { EncryptionAlgorithm EncryptionAlgorithm `json:"encryptionAlgorithm,omitempty"` } -// TargetEligibilityErrorMessage is the error/warning message due to which the -// device is ineligible as a failover target device. +// TargetEligibilityErrorMessage is the error/warning message due to which the device is ineligible as a failover +// target device. type TargetEligibilityErrorMessage struct { Message *string `json:"message,omitempty"` Resolution *string `json:"resolution,omitempty"` ResultCode TargetEligibilityResultCode `json:"resultCode,omitempty"` } -// TargetEligibilityResult is the eligibility result of device, as a failover -// target device. +// TargetEligibilityResult is the eligibility result of device, as a failover target device. type TargetEligibilityResult struct { EligibilityStatus TargetEligibilityStatus `json:"eligibilityStatus,omitempty"` Messages *[]TargetEligibilityErrorMessage `json:"messages,omitempty"` @@ -1890,8 +1772,8 @@ type VolumeContainer struct { *VolumeContainerProperties `json:"properties,omitempty"` } -// VolumeContainerFailoverMetadata is the metadata of the volume container, -// that is being considered as part of a failover set. +// VolumeContainerFailoverMetadata is the metadata of the volume container, that is being considered as part of a +// failover set. type VolumeContainerFailoverMetadata struct { VolumeContainerID *string `json:"volumeContainerId,omitempty"` Volumes *[]VolumeFailoverMetadata `json:"volumes,omitempty"` @@ -1915,8 +1797,7 @@ type VolumeContainerProperties struct { TotalCloudStorageUsageInBytes *int64 `json:"totalCloudStorageUsageInBytes,omitempty"` } -// VolumeFailoverMetadata is the metadata of a volume that has valid cloud -// snapshot. +// VolumeFailoverMetadata is the metadata of a volume that has valid cloud snapshot. type VolumeFailoverMetadata struct { VolumeID *string `json:"volumeId,omitempty"` VolumeType VolumeType `json:"volumeType,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/operations.go index 0fa27df73..1b525f834 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/operations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/operations.go @@ -14,9 +14,8 @@ package storsimple8000series // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,8 +23,7 @@ import ( "net/http" ) -// OperationsClient is the client for the Operations methods of the -// Storsimple8000series service. +// OperationsClient is the client for the Operations methods of the Storsimple8000series service. type OperationsClient struct { ManagementClient } @@ -35,14 +33,12 @@ func NewOperationsClient(subscriptionID string) OperationsClient { return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewOperationsClientWithBaseURI creates an instance of the OperationsClient -// client. +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// List lists all of the available REST API operations of the -// Microsoft.Storsimple provider +// List lists all of the available REST API operations of the Microsoft.Storsimple provider func (client OperationsClient) List() (result AvailableProviderOperationList, err error) { req, err := client.ListPreparer() if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/storageaccountcredentials.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/storageaccountcredentials.go index 97f50a486..5c98c59e7 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/storageaccountcredentials.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/storageaccountcredentials.go @@ -14,9 +14,8 @@ package storsimple8000series // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,32 +24,28 @@ import ( "net/http" ) -// StorageAccountCredentialsClient is the client for the -// StorageAccountCredentials methods of the Storsimple8000series service. +// StorageAccountCredentialsClient is the client for the StorageAccountCredentials methods of the Storsimple8000series +// service. type StorageAccountCredentialsClient struct { ManagementClient } -// NewStorageAccountCredentialsClient creates an instance of the -// StorageAccountCredentialsClient client. +// NewStorageAccountCredentialsClient creates an instance of the StorageAccountCredentialsClient client. func NewStorageAccountCredentialsClient(subscriptionID string) StorageAccountCredentialsClient { return NewStorageAccountCredentialsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewStorageAccountCredentialsClientWithBaseURI creates an instance of the -// StorageAccountCredentialsClient client. +// NewStorageAccountCredentialsClientWithBaseURI creates an instance of the StorageAccountCredentialsClient client. func NewStorageAccountCredentialsClientWithBaseURI(baseURI string, subscriptionID string) StorageAccountCredentialsClient { return StorageAccountCredentialsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates the storage account credential. This -// method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// CreateOrUpdate creates or updates the storage account credential. This method may poll for completion. Polling can +// be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding +// HTTP requests. // -// storageAccountCredentialName is the storage account credential name. -// parameters is the storage account credential to be added or updated. -// resourceGroupName is the resource group name managerName is the manager name +// storageAccountCredentialName is the storage account credential name. parameters is the storage account credential to +// be added or updated. resourceGroupName is the resource group name managerName is the manager name func (client StorageAccountCredentialsClient) CreateOrUpdate(storageAccountCredentialName string, parameters StorageAccountCredential, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan StorageAccountCredential, <-chan error) { resultChan := make(chan StorageAccountCredential, 1) errChan := make(chan error, 1) @@ -147,13 +142,11 @@ func (client StorageAccountCredentialsClient) CreateOrUpdateResponder(resp *http return } -// Delete deletes the storage account credential. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete deletes the storage account credential. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// storageAccountCredentialName is the name of the storage account credential. -// resourceGroupName is the resource group name managerName is the manager name +// storageAccountCredentialName is the name of the storage account credential. resourceGroupName is the resource group +// name managerName is the manager name func (client StorageAccountCredentialsClient) Delete(storageAccountCredentialName string, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -243,9 +236,8 @@ func (client StorageAccountCredentialsClient) DeleteResponder(resp *http.Respons // Get gets the properties of the specified storage account credential name. // -// storageAccountCredentialName is the name of storage account credential to be -// fetched. resourceGroupName is the resource group name managerName is the -// manager name +// storageAccountCredentialName is the name of storage account credential to be fetched. resourceGroupName is the +// resource group name managerName is the manager name func (client StorageAccountCredentialsClient) Get(storageAccountCredentialName string, resourceGroupName string, managerName string) (result StorageAccountCredential, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/version.go index 92e4d1fcc..5feaef2f1 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/version.go @@ -14,16 +14,15 @@ package storsimple8000series // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-storsimple8000series/2017-06-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-storsimple8000series/2017-06-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/volumecontainers.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/volumecontainers.go index 6a5fee0ce..33a83abd1 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/volumecontainers.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/volumecontainers.go @@ -14,9 +14,8 @@ package storsimple8000series // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,32 +24,27 @@ import ( "net/http" ) -// VolumeContainersClient is the client for the VolumeContainers methods of the -// Storsimple8000series service. +// VolumeContainersClient is the client for the VolumeContainers methods of the Storsimple8000series service. type VolumeContainersClient struct { ManagementClient } -// NewVolumeContainersClient creates an instance of the VolumeContainersClient -// client. +// NewVolumeContainersClient creates an instance of the VolumeContainersClient client. func NewVolumeContainersClient(subscriptionID string) VolumeContainersClient { return NewVolumeContainersClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewVolumeContainersClientWithBaseURI creates an instance of the -// VolumeContainersClient client. +// NewVolumeContainersClientWithBaseURI creates an instance of the VolumeContainersClient client. func NewVolumeContainersClientWithBaseURI(baseURI string, subscriptionID string) VolumeContainersClient { return VolumeContainersClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates the volume container. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// CreateOrUpdate creates or updates the volume container. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// deviceName is the device name volumeContainerName is the name of the volume -// container. parameters is the volume container to be added or updated. -// resourceGroupName is the resource group name managerName is the manager name +// deviceName is the device name volumeContainerName is the name of the volume container. parameters is the volume +// container to be added or updated. resourceGroupName is the resource group name managerName is the manager name func (client VolumeContainersClient) CreateOrUpdate(deviceName string, volumeContainerName string, parameters VolumeContainer, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan VolumeContainer, <-chan error) { resultChan := make(chan VolumeContainer, 1) errChan := make(chan error, 1) @@ -148,13 +142,11 @@ func (client VolumeContainersClient) CreateOrUpdateResponder(resp *http.Response return } -// Delete deletes the volume container. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// Delete deletes the volume container. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// deviceName is the device name volumeContainerName is the name of the volume -// container. resourceGroupName is the resource group name managerName is the -// manager name +// deviceName is the device name volumeContainerName is the name of the volume container. resourceGroupName is the +// resource group name managerName is the manager name func (client VolumeContainersClient) Delete(deviceName string, volumeContainerName string, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -245,9 +237,8 @@ func (client VolumeContainersClient) DeleteResponder(resp *http.Response) (resul // Get gets the properties of the specified volume container name. // -// deviceName is the device name volumeContainerName is the name of the volume -// container. resourceGroupName is the resource group name managerName is the -// manager name +// deviceName is the device name volumeContainerName is the name of the volume container. resourceGroupName is the +// resource group name managerName is the manager name func (client VolumeContainersClient) Get(deviceName string, volumeContainerName string, resourceGroupName string, managerName string) (result VolumeContainer, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -321,8 +312,7 @@ func (client VolumeContainersClient) GetResponder(resp *http.Response) (result V // ListByDevice gets all the volume containers in a device. // -// deviceName is the device name resourceGroupName is the resource group name -// managerName is the manager name +// deviceName is the device name resourceGroupName is the resource group name managerName is the manager name func (client VolumeContainersClient) ListByDevice(deviceName string, resourceGroupName string, managerName string) (result VolumeContainerList, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -393,12 +383,10 @@ func (client VolumeContainersClient) ListByDeviceResponder(resp *http.Response) return } -// ListMetricDefinition gets the metric definitions for the specified volume -// container. +// ListMetricDefinition gets the metric definitions for the specified volume container. // -// deviceName is the device name volumeContainerName is the volume container -// name. resourceGroupName is the resource group name managerName is the -// manager name +// deviceName is the device name volumeContainerName is the volume container name. resourceGroupName is the resource +// group name managerName is the manager name func (client VolumeContainersClient) ListMetricDefinition(deviceName string, volumeContainerName string, resourceGroupName string, managerName string) (result MetricDefinitionList, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -472,9 +460,8 @@ func (client VolumeContainersClient) ListMetricDefinitionResponder(resp *http.Re // ListMetrics gets the metrics for the specified volume container. // -// deviceName is the device name volumeContainerName is the volume container -// name. resourceGroupName is the resource group name managerName is the -// manager name filter is oData Filter options +// deviceName is the device name volumeContainerName is the volume container name. resourceGroupName is the resource +// group name managerName is the manager name filter is oData Filter options func (client VolumeContainersClient) ListMetrics(deviceName string, volumeContainerName string, resourceGroupName string, managerName string, filter string) (result MetricList, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/volumes.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/volumes.go index f6d438faa..21c437e2f 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/volumes.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/storsimple8000series/volumes.go @@ -14,9 +14,8 @@ package storsimple8000series // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,8 +24,7 @@ import ( "net/http" ) -// VolumesClient is the client for the Volumes methods of the -// Storsimple8000series service. +// VolumesClient is the client for the Volumes methods of the Storsimple8000series service. type VolumesClient struct { ManagementClient } @@ -41,14 +39,11 @@ func NewVolumesClientWithBaseURI(baseURI string, subscriptionID string) VolumesC return VolumesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates the volume. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// CreateOrUpdate creates or updates the volume. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// deviceName is the device name volumeContainerName is the volume container -// name. volumeName is the volume name. parameters is volume to be created or -// updated. resourceGroupName is the resource group name managerName is the +// deviceName is the device name volumeContainerName is the volume container name. volumeName is the volume name. +// parameters is volume to be created or updated. resourceGroupName is the resource group name managerName is the // manager name func (client VolumesClient) CreateOrUpdate(deviceName string, volumeContainerName string, volumeName string, parameters Volume, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan Volume, <-chan error) { resultChan := make(chan Volume, 1) @@ -147,13 +142,11 @@ func (client VolumesClient) CreateOrUpdateResponder(resp *http.Response) (result return } -// Delete deletes the volume. This method may poll for completion. Polling can -// be canceled by passing the cancel channel argument. The channel will be used -// to cancel polling and any outstanding HTTP requests. +// Delete deletes the volume. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// deviceName is the device name volumeContainerName is the volume container -// name. volumeName is the volume name. resourceGroupName is the resource group -// name managerName is the manager name +// deviceName is the device name volumeContainerName is the volume container name. volumeName is the volume name. +// resourceGroupName is the resource group name managerName is the manager name func (client VolumesClient) Delete(deviceName string, volumeContainerName string, volumeName string, resourceGroupName string, managerName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -245,9 +238,8 @@ func (client VolumesClient) DeleteResponder(resp *http.Response) (result autores // Get returns the properties of the specified volume name. // -// deviceName is the device name volumeContainerName is the volume container -// name. volumeName is the volume name. resourceGroupName is the resource group -// name managerName is the manager name +// deviceName is the device name volumeContainerName is the volume container name. volumeName is the volume name. +// resourceGroupName is the resource group name managerName is the manager name func (client VolumesClient) Get(deviceName string, volumeContainerName string, volumeName string, resourceGroupName string, managerName string) (result Volume, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -322,8 +314,7 @@ func (client VolumesClient) GetResponder(resp *http.Response) (result Volume, er // ListByDevice retrieves all the volumes in a device. // -// deviceName is the device name resourceGroupName is the resource group name -// managerName is the manager name +// deviceName is the device name resourceGroupName is the resource group name managerName is the manager name func (client VolumesClient) ListByDevice(deviceName string, resourceGroupName string, managerName string) (result VolumeList, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -396,9 +387,8 @@ func (client VolumesClient) ListByDeviceResponder(resp *http.Response) (result V // ListByVolumeContainer retrieves all the volumes in a volume container. // -// deviceName is the device name volumeContainerName is the volume container -// name. resourceGroupName is the resource group name managerName is the -// manager name +// deviceName is the device name volumeContainerName is the volume container name. resourceGroupName is the resource +// group name managerName is the manager name func (client VolumesClient) ListByVolumeContainer(deviceName string, volumeContainerName string, resourceGroupName string, managerName string) (result VolumeList, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -472,9 +462,8 @@ func (client VolumesClient) ListByVolumeContainerResponder(resp *http.Response) // ListMetricDefinition gets the metric definitions for the specified volume. // -// deviceName is the device name volumeContainerName is the volume container -// name. volumeName is the volume name. resourceGroupName is the resource group -// name managerName is the manager name +// deviceName is the device name volumeContainerName is the volume container name. volumeName is the volume name. +// resourceGroupName is the resource group name managerName is the manager name func (client VolumesClient) ListMetricDefinition(deviceName string, volumeContainerName string, volumeName string, resourceGroupName string, managerName string) (result MetricDefinitionList, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, @@ -549,9 +538,8 @@ func (client VolumesClient) ListMetricDefinitionResponder(resp *http.Response) ( // ListMetrics gets the metrics for the specified volume. // -// deviceName is the device name volumeContainerName is the volume container -// name. volumeName is the volume name. resourceGroupName is the resource group -// name managerName is the manager name filter is oData Filter options +// deviceName is the device name volumeContainerName is the volume container name. volumeName is the volume name. +// resourceGroupName is the resource group name managerName is the manager name filter is oData Filter options func (client VolumesClient) ListMetrics(deviceName string, volumeContainerName string, volumeName string, resourceGroupName string, managerName string, filter string) (result MetricList, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: managerName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/client.go index 78ba4ee72..d7be401fa 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/client.go @@ -1,7 +1,6 @@ -// Package streamanalytics implements the Azure ARM Streamanalytics service API -// version . +// Package streamanalytics implements the Azure ARM Streamanalytics service API version 2016-03-01. // -// Composite Swagger for Stream Analytics Client +// Stream Analytics Client package streamanalytics // Copyright (c) Microsoft and contributors. All rights reserved. @@ -18,9 +17,8 @@ package streamanalytics // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/functions.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/functions.go index 34cdce08f..966760815 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/functions.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/functions.go @@ -14,9 +14,8 @@ package streamanalytics // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,7 +23,7 @@ import ( "net/http" ) -// FunctionsClient is the composite Swagger for Stream Analytics Client +// FunctionsClient is the stream Analytics Client type FunctionsClient struct { ManagementClient } @@ -34,26 +33,20 @@ func NewFunctionsClient(subscriptionID string) FunctionsClient { return NewFunctionsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewFunctionsClientWithBaseURI creates an instance of the FunctionsClient -// client. +// NewFunctionsClientWithBaseURI creates an instance of the FunctionsClient client. func NewFunctionsClientWithBaseURI(baseURI string, subscriptionID string) FunctionsClient { return FunctionsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrReplace creates a function or replaces an already existing function -// under an existing streaming job. +// CreateOrReplace creates a function or replaces an already existing function under an existing streaming job. // -// function is the definition of the function that will be used to create a new -// function or replace the existing one under the streaming job. -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. jobName is the name of the streaming job. functionName is the -// name of the function. ifMatch is the ETag of the function. Omit this value -// to always overwrite the current function. Specify the last-seen ETag value -// to prevent accidentally overwritting concurrent changes. ifNoneMatch is set -// to '*' to allow a new function to be created, but to prevent updating an -// existing function. Other values will result in a 412 Pre-condition Failed -// response. +// function is the definition of the function that will be used to create a new function or replace the existing one +// under the streaming job. resourceGroupName is the name of the resource group that contains the resource. You can +// obtain this value from the Azure Resource Manager API or the portal. jobName is the name of the streaming job. +// functionName is the name of the function. ifMatch is the ETag of the function. Omit this value to always overwrite +// the current function. Specify the last-seen ETag value to prevent accidentally overwritting concurrent changes. +// ifNoneMatch is set to '*' to allow a new function to be created, but to prevent updating an existing function. Other +// values will result in a 412 Pre-condition Failed response. func (client FunctionsClient) CreateOrReplace(function Function, resourceGroupName string, jobName string, functionName string, ifMatch string, ifNoneMatch string) (result Function, err error) { req, err := client.CreateOrReplacePreparer(function, resourceGroupName, jobName, functionName, ifMatch, ifNoneMatch) if err != nil { @@ -129,10 +122,9 @@ func (client FunctionsClient) CreateOrReplaceResponder(resp *http.Response) (res // Delete deletes a function from the streaming job. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. jobName is the name of the streaming job. functionName is the -// name of the function. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. jobName is the name of the streaming job. functionName is the name of the +// function. func (client FunctionsClient) Delete(resourceGroupName string, jobName string, functionName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, jobName, functionName) if err != nil { @@ -197,10 +189,9 @@ func (client FunctionsClient) DeleteResponder(resp *http.Response) (result autor // Get gets details about the specified function. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. jobName is the name of the streaming job. functionName is the -// name of the function. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. jobName is the name of the streaming job. functionName is the name of the +// function. func (client FunctionsClient) Get(resourceGroupName string, jobName string, functionName string) (result Function, err error) { req, err := client.GetPreparer(resourceGroupName, jobName, functionName) if err != nil { @@ -264,16 +255,13 @@ func (client FunctionsClient) GetResponder(resp *http.Response) (result Function return } -// ListByStreamingJob lists all of the functions under the specified streaming -// job. +// ListByStreamingJob lists all of the functions under the specified streaming job. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. jobName is the name of the streaming job. selectParameter is the -// $select OData query parameter. This is a comma-separated list of structural -// properties to include in the response, or “*” to include all properties. By -// default, all properties are returned except diagnostics. Currently only -// accepts '*' as a valid value. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. jobName is the name of the streaming job. selectParameter is the $select +// OData query parameter. This is a comma-separated list of structural properties to include in the response, or “*” to +// include all properties. By default, all properties are returned except diagnostics. Currently only accepts '*' as a +// valid value. func (client FunctionsClient) ListByStreamingJob(resourceGroupName string, jobName string, selectParameter string) (result FunctionListResult, err error) { req, err := client.ListByStreamingJobPreparer(resourceGroupName, jobName, selectParameter) if err != nil { @@ -408,15 +396,12 @@ func (client FunctionsClient) ListByStreamingJobComplete(resourceGroupName strin return resultChan, errChan } -// RetrieveDefaultDefinition retrieves the default definition of a function -// based on the parameters specified. +// RetrieveDefaultDefinition retrieves the default definition of a function based on the parameters specified. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. jobName is the name of the streaming job. functionName is the -// name of the function. functionRetrieveDefaultDefinitionParameters is -// parameters used to specify the type of function to retrieve the default -// definition for. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. jobName is the name of the streaming job. functionName is the name of the +// function. functionRetrieveDefaultDefinitionParameters is parameters used to specify the type of function to retrieve +// the default definition for. func (client FunctionsClient) RetrieveDefaultDefinition(resourceGroupName string, jobName string, functionName string, functionRetrieveDefaultDefinitionParameters *FunctionRetrieveDefaultDefinitionParameters) (result Function, err error) { req, err := client.RetrieveDefaultDefinitionPreparer(resourceGroupName, jobName, functionName, functionRetrieveDefaultDefinitionParameters) if err != nil { @@ -485,23 +470,17 @@ func (client FunctionsClient) RetrieveDefaultDefinitionResponder(resp *http.Resp return } -// Test tests if the information provided for a function is valid. This can -// range from testing the connection to the underlying web service behind the -// function or making sure the function code provided is syntactically correct. -// This method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// Test tests if the information provided for a function is valid. This can range from testing the connection to the +// underlying web service behind the function or making sure the function code provided is syntactically correct. This +// method may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be +// used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. jobName is the name of the streaming job. functionName is the -// name of the function. function is if the function specified does not already -// exist, this parameter must contain the full function definition intended to -// be tested. If the function specified already exists, this parameter can be -// left null to test the existing function as is or if specified, the -// properties specified will overwrite the corresponding properties in the -// existing function (exactly like a PATCH operation) and the resulting -// function will be tested. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. jobName is the name of the streaming job. functionName is the name of the +// function. function is if the function specified does not already exist, this parameter must contain the full +// function definition intended to be tested. If the function specified already exists, this parameter can be left null +// to test the existing function as is or if specified, the properties specified will overwrite the corresponding +// properties in the existing function (exactly like a PATCH operation) and the resulting function will be tested. func (client FunctionsClient) Test(resourceGroupName string, jobName string, functionName string, function *Function, cancel <-chan struct{}) (<-chan ResourceTestStatus, <-chan error) { resultChan := make(chan ResourceTestStatus, 1) errChan := make(chan error, 1) @@ -585,21 +564,16 @@ func (client FunctionsClient) TestResponder(resp *http.Response) (result Resourc return } -// Update updates an existing function under an existing streaming job. This -// can be used to partially update (ie. update one or two properties) a -// function without affecting the rest the job or function definition. +// Update updates an existing function under an existing streaming job. This can be used to partially update (ie. +// update one or two properties) a function without affecting the rest the job or function definition. // -// function is a function object. The properties specified here will overwrite -// the corresponding properties in the existing function (ie. Those properties -// will be updated). Any properties that are set to null here will mean that -// the corresponding property in the existing function will remain the same and -// not change as a result of this PATCH operation. resourceGroupName is the -// name of the resource group that contains the resource. You can obtain this -// value from the Azure Resource Manager API or the portal. jobName is the name -// of the streaming job. functionName is the name of the function. ifMatch is -// the ETag of the function. Omit this value to always overwrite the current -// function. Specify the last-seen ETag value to prevent accidentally -// overwritting concurrent changes. +// function is a function object. The properties specified here will overwrite the corresponding properties in the +// existing function (ie. Those properties will be updated). Any properties that are set to null here will mean that +// the corresponding property in the existing function will remain the same and not change as a result of this PATCH +// operation. resourceGroupName is the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. jobName is the name of the streaming job. functionName is the +// name of the function. ifMatch is the ETag of the function. Omit this value to always overwrite the current function. +// Specify the last-seen ETag value to prevent accidentally overwritting concurrent changes. func (client FunctionsClient) Update(function Function, resourceGroupName string, jobName string, functionName string, ifMatch string) (result Function, err error) { req, err := client.UpdatePreparer(function, resourceGroupName, jobName, functionName, ifMatch) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/inputs.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/inputs.go index 5a224d670..f4ebbb3cc 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/inputs.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/inputs.go @@ -14,9 +14,8 @@ package streamanalytics // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,7 +23,7 @@ import ( "net/http" ) -// InputsClient is the composite Swagger for Stream Analytics Client +// InputsClient is the stream Analytics Client type InputsClient struct { ManagementClient } @@ -39,19 +38,15 @@ func NewInputsClientWithBaseURI(baseURI string, subscriptionID string) InputsCli return InputsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrReplace creates an input or replaces an already existing input under -// an existing streaming job. +// CreateOrReplace creates an input or replaces an already existing input under an existing streaming job. // -// input is the definition of the input that will be used to create a new input -// or replace the existing one under the streaming job. resourceGroupName is -// the name of the resource group that contains the resource. You can obtain -// this value from the Azure Resource Manager API or the portal. jobName is the -// name of the streaming job. inputName is the name of the input. ifMatch is -// the ETag of the input. Omit this value to always overwrite the current -// input. Specify the last-seen ETag value to prevent accidentally overwritting -// concurrent changes. ifNoneMatch is set to '*' to allow a new input to be -// created, but to prevent updating an existing input. Other values will result -// in a 412 Pre-condition Failed response. +// input is the definition of the input that will be used to create a new input or replace the existing one under the +// streaming job. resourceGroupName is the name of the resource group that contains the resource. You can obtain this +// value from the Azure Resource Manager API or the portal. jobName is the name of the streaming job. inputName is the +// name of the input. ifMatch is the ETag of the input. Omit this value to always overwrite the current input. Specify +// the last-seen ETag value to prevent accidentally overwritting concurrent changes. ifNoneMatch is set to '*' to allow +// a new input to be created, but to prevent updating an existing input. Other values will result in a 412 +// Pre-condition Failed response. func (client InputsClient) CreateOrReplace(input Input, resourceGroupName string, jobName string, inputName string, ifMatch string, ifNoneMatch string) (result Input, err error) { req, err := client.CreateOrReplacePreparer(input, resourceGroupName, jobName, inputName, ifMatch, ifNoneMatch) if err != nil { @@ -127,10 +122,9 @@ func (client InputsClient) CreateOrReplaceResponder(resp *http.Response) (result // Delete deletes an input from the streaming job. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. jobName is the name of the streaming job. inputName is the name -// of the input. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. jobName is the name of the streaming job. inputName is the name of the +// input. func (client InputsClient) Delete(resourceGroupName string, jobName string, inputName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, jobName, inputName) if err != nil { @@ -195,10 +189,9 @@ func (client InputsClient) DeleteResponder(resp *http.Response) (result autorest // Get gets details about the specified input. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. jobName is the name of the streaming job. inputName is the name -// of the input. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. jobName is the name of the streaming job. inputName is the name of the +// input. func (client InputsClient) Get(resourceGroupName string, jobName string, inputName string) (result Input, err error) { req, err := client.GetPreparer(resourceGroupName, jobName, inputName) if err != nil { @@ -262,16 +255,13 @@ func (client InputsClient) GetResponder(resp *http.Response) (result Input, err return } -// ListByStreamingJob lists all of the inputs under the specified streaming -// job. +// ListByStreamingJob lists all of the inputs under the specified streaming job. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. jobName is the name of the streaming job. selectParameter is the -// $select OData query parameter. This is a comma-separated list of structural -// properties to include in the response, or “*” to include all properties. By -// default, all properties are returned except diagnostics. Currently only -// accepts '*' as a valid value. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. jobName is the name of the streaming job. selectParameter is the $select +// OData query parameter. This is a comma-separated list of structural properties to include in the response, or “*” to +// include all properties. By default, all properties are returned except diagnostics. Currently only accepts '*' as a +// valid value. func (client InputsClient) ListByStreamingJob(resourceGroupName string, jobName string, selectParameter string) (result InputListResult, err error) { req, err := client.ListByStreamingJobPreparer(resourceGroupName, jobName, selectParameter) if err != nil { @@ -406,20 +396,16 @@ func (client InputsClient) ListByStreamingJobComplete(resourceGroupName string, return resultChan, errChan } -// Test tests whether an input’s datasource is reachable and usable by the -// Azure Stream Analytics service. This method may poll for completion. Polling -// can be canceled by passing the cancel channel argument. The channel will be -// used to cancel polling and any outstanding HTTP requests. +// Test tests whether an input’s datasource is reachable and usable by the Azure Stream Analytics service. This method +// may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to +// cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. jobName is the name of the streaming job. inputName is the name -// of the input. input is if the input specified does not already exist, this -// parameter must contain the full input definition intended to be tested. If -// the input specified already exists, this parameter can be left null to test -// the existing input as is or if specified, the properties specified will -// overwrite the corresponding properties in the existing input (exactly like a -// PATCH operation) and the resulting input will be tested. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. jobName is the name of the streaming job. inputName is the name of the +// input. input is if the input specified does not already exist, this parameter must contain the full input definition +// intended to be tested. If the input specified already exists, this parameter can be left null to test the existing +// input as is or if specified, the properties specified will overwrite the corresponding properties in the existing +// input (exactly like a PATCH operation) and the resulting input will be tested. func (client InputsClient) Test(resourceGroupName string, jobName string, inputName string, input *Input, cancel <-chan struct{}) (<-chan ResourceTestStatus, <-chan error) { resultChan := make(chan ResourceTestStatus, 1) errChan := make(chan error, 1) @@ -503,21 +489,16 @@ func (client InputsClient) TestResponder(resp *http.Response) (result ResourceTe return } -// Update updates an existing input under an existing streaming job. This can -// be used to partially update (ie. update one or two properties) an input -// without affecting the rest the job or input definition. +// Update updates an existing input under an existing streaming job. This can be used to partially update (ie. update +// one or two properties) an input without affecting the rest the job or input definition. // -// input is an Input object. The properties specified here will overwrite the -// corresponding properties in the existing input (ie. Those properties will be -// updated). Any properties that are set to null here will mean that the -// corresponding property in the existing input will remain the same and not -// change as a result of this PATCH operation. resourceGroupName is the name of -// the resource group that contains the resource. You can obtain this value -// from the Azure Resource Manager API or the portal. jobName is the name of -// the streaming job. inputName is the name of the input. ifMatch is the ETag -// of the input. Omit this value to always overwrite the current input. Specify -// the last-seen ETag value to prevent accidentally overwritting concurrent -// changes. +// input is an Input object. The properties specified here will overwrite the corresponding properties in the existing +// input (ie. Those properties will be updated). Any properties that are set to null here will mean that the +// corresponding property in the existing input will remain the same and not change as a result of this PATCH +// operation. resourceGroupName is the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. jobName is the name of the streaming job. inputName is the name +// of the input. ifMatch is the ETag of the input. Omit this value to always overwrite the current input. Specify the +// last-seen ETag value to prevent accidentally overwritting concurrent changes. func (client InputsClient) Update(input Input, resourceGroupName string, jobName string, inputName string, ifMatch string) (result Input, err error) { req, err := client.UpdatePreparer(input, resourceGroupName, jobName, inputName, ifMatch) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/models.go index bb3d04b6c..e2d469afa 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/models.go @@ -14,23 +14,35 @@ package streamanalytics // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( + "encoding/json" + "errors" "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/date" "github.com/Azure/go-autorest/autorest/to" "net/http" ) +// BindingType enumerates the values for binding type. +type BindingType string + +const ( + // BindingTypeMicrosoftMachineLearningWebService specifies the binding type microsoft machine learning web service + // state for binding type. + BindingTypeMicrosoftMachineLearningWebService BindingType = "Microsoft.MachineLearning/WebService" + // BindingTypeMicrosoftStreamAnalyticsJavascriptUdf specifies the binding type microsoft stream analytics javascript + // udf state for binding type. + BindingTypeMicrosoftStreamAnalyticsJavascriptUdf BindingType = "Microsoft.StreamAnalytics/JavascriptUdf" +) + // CompatibilityLevel enumerates the values for compatibility level. type CompatibilityLevel string const ( - // OneFullStopZero specifies the one full stop zero state for compatibility - // level. + // OneFullStopZero specifies the one full stop zero state for compatibility level. OneFullStopZero CompatibilityLevel = "1.0" ) @@ -52,15 +64,13 @@ const ( Drop EventsOutOfOrderPolicy = "Drop" ) -// JSONOutputSerializationFormat enumerates the values for json output -// serialization format. +// JSONOutputSerializationFormat enumerates the values for json output serialization format. type JSONOutputSerializationFormat string const ( // Array specifies the array state for json output serialization format. Array JSONOutputSerializationFormat = "Array" - // LineSeparated specifies the line separated state for json output - // serialization format. + // LineSeparated specifies the line separated state for json output serialization format. LineSeparated JSONOutputSerializationFormat = "LineSeparated" ) @@ -68,11 +78,9 @@ const ( type OutputErrorPolicy string const ( - // OutputErrorPolicyDrop specifies the output error policy drop state for - // output error policy. + // OutputErrorPolicyDrop specifies the output error policy drop state for output error policy. OutputErrorPolicyDrop OutputErrorPolicy = "Drop" - // OutputErrorPolicyStop specifies the output error policy stop state for - // output error policy. + // OutputErrorPolicyStop specifies the output error policy stop state for output error policy. OutputErrorPolicyStop OutputErrorPolicy = "Stop" ) @@ -84,8 +92,7 @@ const ( CustomTime OutputStartMode = "CustomTime" // JobStartTime specifies the job start time state for output start mode. JobStartTime OutputStartMode = "JobStartTime" - // LastOutputEventTime specifies the last output event time state for - // output start mode. + // LastOutputEventTime specifies the last output event time state for output start mode. LastOutputEventTime OutputStartMode = "LastOutputEventTime" ) @@ -97,6 +104,97 @@ const ( Standard SkuName = "Standard" ) +// Type enumerates the values for type. +type Type string + +const ( + // TypeAvro specifies the type avro state for type. + TypeAvro Type = "Avro" + // TypeCsv specifies the type csv state for type. + TypeCsv Type = "Csv" + // TypeJSON specifies the type json state for type. + TypeJSON Type = "Json" +) + +// TypeFunctionBinding enumerates the values for type function binding. +type TypeFunctionBinding string + +const ( + // TypeMicrosoftMachineLearningWebService specifies the type microsoft machine learning web service state for type + // function binding. + TypeMicrosoftMachineLearningWebService TypeFunctionBinding = "Microsoft.MachineLearning/WebService" + // TypeMicrosoftStreamAnalyticsJavascriptUdf specifies the type microsoft stream analytics javascript udf state for + // type function binding. + TypeMicrosoftStreamAnalyticsJavascriptUdf TypeFunctionBinding = "Microsoft.StreamAnalytics/JavascriptUdf" +) + +// TypeFunctionProperties enumerates the values for type function properties. +type TypeFunctionProperties string + +const ( + // TypeScalar specifies the type scalar state for type function properties. + TypeScalar TypeFunctionProperties = "Scalar" +) + +// TypeInputProperties enumerates the values for type input properties. +type TypeInputProperties string + +const ( + // TypeReference specifies the type reference state for type input properties. + TypeReference TypeInputProperties = "Reference" + // TypeStream specifies the type stream state for type input properties. + TypeStream TypeInputProperties = "Stream" +) + +// TypeOutputDataSource enumerates the values for type output data source. +type TypeOutputDataSource string + +const ( + // TypeMicrosoftDataLakeAccounts specifies the type microsoft data lake accounts state for type output data source. + TypeMicrosoftDataLakeAccounts TypeOutputDataSource = "Microsoft.DataLake/Accounts" + // TypeMicrosoftServiceBusEventHub specifies the type microsoft service bus event hub state for type output data + // source. + TypeMicrosoftServiceBusEventHub TypeOutputDataSource = "Microsoft.ServiceBus/EventHub" + // TypeMicrosoftServiceBusQueue specifies the type microsoft service bus queue state for type output data source. + TypeMicrosoftServiceBusQueue TypeOutputDataSource = "Microsoft.ServiceBus/Queue" + // TypeMicrosoftServiceBusTopic specifies the type microsoft service bus topic state for type output data source. + TypeMicrosoftServiceBusTopic TypeOutputDataSource = "Microsoft.ServiceBus/Topic" + // TypeMicrosoftSQLServerDatabase specifies the type microsoft sql server database state for type output data source. + TypeMicrosoftSQLServerDatabase TypeOutputDataSource = "Microsoft.Sql/Server/Database" + // TypeMicrosoftStorageBlob specifies the type microsoft storage blob state for type output data source. + TypeMicrosoftStorageBlob TypeOutputDataSource = "Microsoft.Storage/Blob" + // TypeMicrosoftStorageDocumentDB specifies the type microsoft storage document db state for type output data source. + TypeMicrosoftStorageDocumentDB TypeOutputDataSource = "Microsoft.Storage/DocumentDB" + // TypeMicrosoftStorageTable specifies the type microsoft storage table state for type output data source. + TypeMicrosoftStorageTable TypeOutputDataSource = "Microsoft.Storage/Table" + // TypePowerBI specifies the type power bi state for type output data source. + TypePowerBI TypeOutputDataSource = "PowerBI" +) + +// TypeReferenceInputDataSource enumerates the values for type reference input data source. +type TypeReferenceInputDataSource string + +const ( + // TypeReferenceInputDataSourceTypeMicrosoftStorageBlob specifies the type reference input data source type microsoft + // storage blob state for type reference input data source. + TypeReferenceInputDataSourceTypeMicrosoftStorageBlob TypeReferenceInputDataSource = "Microsoft.Storage/Blob" +) + +// TypeStreamInputDataSource enumerates the values for type stream input data source. +type TypeStreamInputDataSource string + +const ( + // TypeStreamInputDataSourceTypeMicrosoftDevicesIotHubs specifies the type stream input data source type microsoft + // devices iot hubs state for type stream input data source. + TypeStreamInputDataSourceTypeMicrosoftDevicesIotHubs TypeStreamInputDataSource = "Microsoft.Devices/IotHubs" + // TypeStreamInputDataSourceTypeMicrosoftServiceBusEventHub specifies the type stream input data source type microsoft + // service bus event hub state for type stream input data source. + TypeStreamInputDataSourceTypeMicrosoftServiceBusEventHub TypeStreamInputDataSource = "Microsoft.ServiceBus/EventHub" + // TypeStreamInputDataSourceTypeMicrosoftStorageBlob specifies the type stream input data source type microsoft storage + // blob state for type stream input data source. + TypeStreamInputDataSourceTypeMicrosoftStorageBlob TypeStreamInputDataSource = "Microsoft.Storage/Blob" +) + // UdfType enumerates the values for udf type. type UdfType string @@ -105,20 +203,142 @@ const ( Scalar UdfType = "Scalar" ) -// AvroSerialization is describes how data from an input is serialized or how -// data is serialized when written to an output in Avro format. +// AvroSerialization is describes how data from an input is serialized or how data is serialized when written to an +// output in Avro format. type AvroSerialization struct { + Type Type `json:"type,omitempty"` Properties *map[string]interface{} `json:"properties,omitempty"` } -// AzureMachineLearningWebServiceFunctionBinding is the binding to an Azure -// Machine Learning web service. +// MarshalJSON is the custom marshaler for AvroSerialization. +func (as AvroSerialization) MarshalJSON() ([]byte, error) { + as.Type = TypeAvro + type Alias AvroSerialization + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(as), + }) +} + +// AsAvroSerialization is the Serialization implementation for AvroSerialization. +func (as AvroSerialization) AsAvroSerialization() (*AvroSerialization, bool) { + return &as, true +} + +// AsJSONSerialization is the Serialization implementation for AvroSerialization. +func (as AvroSerialization) AsJSONSerialization() (*JSONSerialization, bool) { + return nil, false +} + +// AsCsvSerialization is the Serialization implementation for AvroSerialization. +func (as AvroSerialization) AsCsvSerialization() (*CsvSerialization, bool) { + return nil, false +} + +// AzureDataLakeStoreOutputDataSource is describes an Azure Data Lake Store output data source. +type AzureDataLakeStoreOutputDataSource struct { + Type TypeOutputDataSource `json:"type,omitempty"` + *AzureDataLakeStoreOutputDataSourceProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureDataLakeStoreOutputDataSource. +func (adlsods AzureDataLakeStoreOutputDataSource) MarshalJSON() ([]byte, error) { + adlsods.Type = TypeMicrosoftDataLakeAccounts + type Alias AzureDataLakeStoreOutputDataSource + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(adlsods), + }) +} + +// AsAzureDataLakeStoreOutputDataSource is the OutputDataSource implementation for AzureDataLakeStoreOutputDataSource. +func (adlsods AzureDataLakeStoreOutputDataSource) AsAzureDataLakeStoreOutputDataSource() (*AzureDataLakeStoreOutputDataSource, bool) { + return &adlsods, true +} + +// AsPowerBIOutputDataSource is the OutputDataSource implementation for AzureDataLakeStoreOutputDataSource. +func (adlsods AzureDataLakeStoreOutputDataSource) AsPowerBIOutputDataSource() (*PowerBIOutputDataSource, bool) { + return nil, false +} + +// AsServiceBusTopicOutputDataSource is the OutputDataSource implementation for AzureDataLakeStoreOutputDataSource. +func (adlsods AzureDataLakeStoreOutputDataSource) AsServiceBusTopicOutputDataSource() (*ServiceBusTopicOutputDataSource, bool) { + return nil, false +} + +// AsServiceBusQueueOutputDataSource is the OutputDataSource implementation for AzureDataLakeStoreOutputDataSource. +func (adlsods AzureDataLakeStoreOutputDataSource) AsServiceBusQueueOutputDataSource() (*ServiceBusQueueOutputDataSource, bool) { + return nil, false +} + +// AsDocumentDbOutputDataSource is the OutputDataSource implementation for AzureDataLakeStoreOutputDataSource. +func (adlsods AzureDataLakeStoreOutputDataSource) AsDocumentDbOutputDataSource() (*DocumentDbOutputDataSource, bool) { + return nil, false +} + +// AsAzureSQLDatabaseOutputDataSource is the OutputDataSource implementation for AzureDataLakeStoreOutputDataSource. +func (adlsods AzureDataLakeStoreOutputDataSource) AsAzureSQLDatabaseOutputDataSource() (*AzureSQLDatabaseOutputDataSource, bool) { + return nil, false +} + +// AsEventHubOutputDataSource is the OutputDataSource implementation for AzureDataLakeStoreOutputDataSource. +func (adlsods AzureDataLakeStoreOutputDataSource) AsEventHubOutputDataSource() (*EventHubOutputDataSource, bool) { + return nil, false +} + +// AsAzureTableOutputDataSource is the OutputDataSource implementation for AzureDataLakeStoreOutputDataSource. +func (adlsods AzureDataLakeStoreOutputDataSource) AsAzureTableOutputDataSource() (*AzureTableOutputDataSource, bool) { + return nil, false +} + +// AsBlobOutputDataSource is the OutputDataSource implementation for AzureDataLakeStoreOutputDataSource. +func (adlsods AzureDataLakeStoreOutputDataSource) AsBlobOutputDataSource() (*BlobOutputDataSource, bool) { + return nil, false +} + +// AzureDataLakeStoreOutputDataSourceProperties is the properties that are associated with an Azure Data Lake Store. +type AzureDataLakeStoreOutputDataSourceProperties struct { + RefreshToken *string `json:"refreshToken,omitempty"` + TokenUserPrincipalName *string `json:"tokenUserPrincipalName,omitempty"` + TokenUserDisplayName *string `json:"tokenUserDisplayName,omitempty"` + AccountName *string `json:"accountName,omitempty"` + TenantID *string `json:"tenantId,omitempty"` + FilePathPrefix *string `json:"filePathPrefix,omitempty"` + DateFormat *string `json:"dateFormat,omitempty"` + TimeFormat *string `json:"timeFormat,omitempty"` +} + +// AzureMachineLearningWebServiceFunctionBinding is the binding to an Azure Machine Learning web service. type AzureMachineLearningWebServiceFunctionBinding struct { + Type TypeFunctionBinding `json:"type,omitempty"` *AzureMachineLearningWebServiceFunctionBindingProperties `json:"properties,omitempty"` } -// AzureMachineLearningWebServiceFunctionBindingProperties is the binding -// properties associated with an Azure Machine learning web service. +// MarshalJSON is the custom marshaler for AzureMachineLearningWebServiceFunctionBinding. +func (amlwsfb AzureMachineLearningWebServiceFunctionBinding) MarshalJSON() ([]byte, error) { + amlwsfb.Type = TypeMicrosoftMachineLearningWebService + type Alias AzureMachineLearningWebServiceFunctionBinding + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(amlwsfb), + }) +} + +// AsJavaScriptFunctionBinding is the FunctionBinding implementation for AzureMachineLearningWebServiceFunctionBinding. +func (amlwsfb AzureMachineLearningWebServiceFunctionBinding) AsJavaScriptFunctionBinding() (*JavaScriptFunctionBinding, bool) { + return nil, false +} + +// AsAzureMachineLearningWebServiceFunctionBinding is the FunctionBinding implementation for AzureMachineLearningWebServiceFunctionBinding. +func (amlwsfb AzureMachineLearningWebServiceFunctionBinding) AsAzureMachineLearningWebServiceFunctionBinding() (*AzureMachineLearningWebServiceFunctionBinding, bool) { + return &amlwsfb, true +} + +// AzureMachineLearningWebServiceFunctionBindingProperties is the binding properties associated with an Azure Machine +// learning web service. type AzureMachineLearningWebServiceFunctionBindingProperties struct { Endpoint *string `json:"endpoint,omitempty"` APIKey *string `json:"apiKey,omitempty"` @@ -127,45 +347,63 @@ type AzureMachineLearningWebServiceFunctionBindingProperties struct { BatchSize *int32 `json:"batchSize,omitempty"` } -// AzureMachineLearningWebServiceFunctionBindingRetrievalProperties is the -// binding retrieval properties associated with an Azure Machine learning web -// service. +// AzureMachineLearningWebServiceFunctionBindingRetrievalProperties is the binding retrieval properties associated with +// an Azure Machine learning web service. type AzureMachineLearningWebServiceFunctionBindingRetrievalProperties struct { ExecuteEndpoint *string `json:"executeEndpoint,omitempty"` UdfType UdfType `json:"udfType,omitempty"` } -// AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters is -// the parameters needed to retrieve the default function definition for an -// Azure Machine Learning web service function. +// AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters is the parameters needed to retrieve the +// default function definition for an Azure Machine Learning web service function. type AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters struct { + BindingType BindingType `json:"bindingType,omitempty"` *AzureMachineLearningWebServiceFunctionBindingRetrievalProperties `json:"bindingRetrievalProperties,omitempty"` } -// AzureMachineLearningWebServiceInputColumn is describes an input column for -// the Azure Machine Learning web service endpoint. +// MarshalJSON is the custom marshaler for AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters. +func (amlwsfrddp AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters) MarshalJSON() ([]byte, error) { + amlwsfrddp.BindingType = BindingTypeMicrosoftMachineLearningWebService + type Alias AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(amlwsfrddp), + }) +} + +// AsJavaScriptFunctionRetrieveDefaultDefinitionParameters is the FunctionRetrieveDefaultDefinitionParameters implementation for AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters. +func (amlwsfrddp AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters) AsJavaScriptFunctionRetrieveDefaultDefinitionParameters() (*JavaScriptFunctionRetrieveDefaultDefinitionParameters, bool) { + return nil, false +} + +// AsAzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters is the FunctionRetrieveDefaultDefinitionParameters implementation for AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters. +func (amlwsfrddp AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters) AsAzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters() (*AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters, bool) { + return &amlwsfrddp, true +} + +// AzureMachineLearningWebServiceInputColumn is describes an input column for the Azure Machine Learning web service +// endpoint. type AzureMachineLearningWebServiceInputColumn struct { Name *string `json:"name,omitempty"` DataType *string `json:"dataType,omitempty"` MapTo *int32 `json:"mapTo,omitempty"` } -// AzureMachineLearningWebServiceInputs is the inputs for the Azure Machine -// Learning web service endpoint. +// AzureMachineLearningWebServiceInputs is the inputs for the Azure Machine Learning web service endpoint. type AzureMachineLearningWebServiceInputs struct { Name *string `json:"name,omitempty"` ColumnNames *[]AzureMachineLearningWebServiceInputColumn `json:"columnNames,omitempty"` } -// AzureMachineLearningWebServiceOutputColumn is describes an output column for -// the Azure Machine Learning web service endpoint. +// AzureMachineLearningWebServiceOutputColumn is describes an output column for the Azure Machine Learning web service +// endpoint. type AzureMachineLearningWebServiceOutputColumn struct { Name *string `json:"name,omitempty"` DataType *string `json:"dataType,omitempty"` } -// AzureSQLDatabaseDataSourceProperties is the properties that are associated -// with an Azure SQL database data source. +// AzureSQLDatabaseDataSourceProperties is the properties that are associated with an Azure SQL database data source. type AzureSQLDatabaseDataSourceProperties struct { Server *string `json:"server,omitempty"` Database *string `json:"database,omitempty"` @@ -174,14 +412,69 @@ type AzureSQLDatabaseDataSourceProperties struct { Table *string `json:"table,omitempty"` } -// AzureSQLDatabaseOutputDataSource is describes an Azure SQL database output -// data source. +// AzureSQLDatabaseOutputDataSource is describes an Azure SQL database output data source. type AzureSQLDatabaseOutputDataSource struct { + Type TypeOutputDataSource `json:"type,omitempty"` *AzureSQLDatabaseOutputDataSourceProperties `json:"properties,omitempty"` } -// AzureSQLDatabaseOutputDataSourceProperties is the properties that are -// associated with an Azure SQL database output. +// MarshalJSON is the custom marshaler for AzureSQLDatabaseOutputDataSource. +func (asdods AzureSQLDatabaseOutputDataSource) MarshalJSON() ([]byte, error) { + asdods.Type = TypeMicrosoftSQLServerDatabase + type Alias AzureSQLDatabaseOutputDataSource + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(asdods), + }) +} + +// AsAzureDataLakeStoreOutputDataSource is the OutputDataSource implementation for AzureSQLDatabaseOutputDataSource. +func (asdods AzureSQLDatabaseOutputDataSource) AsAzureDataLakeStoreOutputDataSource() (*AzureDataLakeStoreOutputDataSource, bool) { + return nil, false +} + +// AsPowerBIOutputDataSource is the OutputDataSource implementation for AzureSQLDatabaseOutputDataSource. +func (asdods AzureSQLDatabaseOutputDataSource) AsPowerBIOutputDataSource() (*PowerBIOutputDataSource, bool) { + return nil, false +} + +// AsServiceBusTopicOutputDataSource is the OutputDataSource implementation for AzureSQLDatabaseOutputDataSource. +func (asdods AzureSQLDatabaseOutputDataSource) AsServiceBusTopicOutputDataSource() (*ServiceBusTopicOutputDataSource, bool) { + return nil, false +} + +// AsServiceBusQueueOutputDataSource is the OutputDataSource implementation for AzureSQLDatabaseOutputDataSource. +func (asdods AzureSQLDatabaseOutputDataSource) AsServiceBusQueueOutputDataSource() (*ServiceBusQueueOutputDataSource, bool) { + return nil, false +} + +// AsDocumentDbOutputDataSource is the OutputDataSource implementation for AzureSQLDatabaseOutputDataSource. +func (asdods AzureSQLDatabaseOutputDataSource) AsDocumentDbOutputDataSource() (*DocumentDbOutputDataSource, bool) { + return nil, false +} + +// AsAzureSQLDatabaseOutputDataSource is the OutputDataSource implementation for AzureSQLDatabaseOutputDataSource. +func (asdods AzureSQLDatabaseOutputDataSource) AsAzureSQLDatabaseOutputDataSource() (*AzureSQLDatabaseOutputDataSource, bool) { + return &asdods, true +} + +// AsEventHubOutputDataSource is the OutputDataSource implementation for AzureSQLDatabaseOutputDataSource. +func (asdods AzureSQLDatabaseOutputDataSource) AsEventHubOutputDataSource() (*EventHubOutputDataSource, bool) { + return nil, false +} + +// AsAzureTableOutputDataSource is the OutputDataSource implementation for AzureSQLDatabaseOutputDataSource. +func (asdods AzureSQLDatabaseOutputDataSource) AsAzureTableOutputDataSource() (*AzureTableOutputDataSource, bool) { + return nil, false +} + +// AsBlobOutputDataSource is the OutputDataSource implementation for AzureSQLDatabaseOutputDataSource. +func (asdods AzureSQLDatabaseOutputDataSource) AsBlobOutputDataSource() (*BlobOutputDataSource, bool) { + return nil, false +} + +// AzureSQLDatabaseOutputDataSourceProperties is the properties that are associated with an Azure SQL database output. type AzureSQLDatabaseOutputDataSourceProperties struct { Server *string `json:"server,omitempty"` Database *string `json:"database,omitempty"` @@ -190,13 +483,69 @@ type AzureSQLDatabaseOutputDataSourceProperties struct { Table *string `json:"table,omitempty"` } -// AzureTableOutputDataSource is describes an Azure Table data source. +// AzureTableOutputDataSource is describes an Azure Table output data source. type AzureTableOutputDataSource struct { + Type TypeOutputDataSource `json:"type,omitempty"` *AzureTableOutputDataSourceProperties `json:"properties,omitempty"` } -// AzureTableOutputDataSourceProperties is the properties that are associated -// with an Azure Table output. +// MarshalJSON is the custom marshaler for AzureTableOutputDataSource. +func (atods AzureTableOutputDataSource) MarshalJSON() ([]byte, error) { + atods.Type = TypeMicrosoftStorageTable + type Alias AzureTableOutputDataSource + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(atods), + }) +} + +// AsAzureDataLakeStoreOutputDataSource is the OutputDataSource implementation for AzureTableOutputDataSource. +func (atods AzureTableOutputDataSource) AsAzureDataLakeStoreOutputDataSource() (*AzureDataLakeStoreOutputDataSource, bool) { + return nil, false +} + +// AsPowerBIOutputDataSource is the OutputDataSource implementation for AzureTableOutputDataSource. +func (atods AzureTableOutputDataSource) AsPowerBIOutputDataSource() (*PowerBIOutputDataSource, bool) { + return nil, false +} + +// AsServiceBusTopicOutputDataSource is the OutputDataSource implementation for AzureTableOutputDataSource. +func (atods AzureTableOutputDataSource) AsServiceBusTopicOutputDataSource() (*ServiceBusTopicOutputDataSource, bool) { + return nil, false +} + +// AsServiceBusQueueOutputDataSource is the OutputDataSource implementation for AzureTableOutputDataSource. +func (atods AzureTableOutputDataSource) AsServiceBusQueueOutputDataSource() (*ServiceBusQueueOutputDataSource, bool) { + return nil, false +} + +// AsDocumentDbOutputDataSource is the OutputDataSource implementation for AzureTableOutputDataSource. +func (atods AzureTableOutputDataSource) AsDocumentDbOutputDataSource() (*DocumentDbOutputDataSource, bool) { + return nil, false +} + +// AsAzureSQLDatabaseOutputDataSource is the OutputDataSource implementation for AzureTableOutputDataSource. +func (atods AzureTableOutputDataSource) AsAzureSQLDatabaseOutputDataSource() (*AzureSQLDatabaseOutputDataSource, bool) { + return nil, false +} + +// AsEventHubOutputDataSource is the OutputDataSource implementation for AzureTableOutputDataSource. +func (atods AzureTableOutputDataSource) AsEventHubOutputDataSource() (*EventHubOutputDataSource, bool) { + return nil, false +} + +// AsAzureTableOutputDataSource is the OutputDataSource implementation for AzureTableOutputDataSource. +func (atods AzureTableOutputDataSource) AsAzureTableOutputDataSource() (*AzureTableOutputDataSource, bool) { + return &atods, true +} + +// AsBlobOutputDataSource is the OutputDataSource implementation for AzureTableOutputDataSource. +func (atods AzureTableOutputDataSource) AsBlobOutputDataSource() (*BlobOutputDataSource, bool) { + return nil, false +} + +// AzureTableOutputDataSourceProperties is the properties that are associated with an Azure Table output. type AzureTableOutputDataSourceProperties struct { AccountName *string `json:"accountName,omitempty"` AccountKey *string `json:"accountKey,omitempty"` @@ -207,8 +556,7 @@ type AzureTableOutputDataSourceProperties struct { BatchSize *int32 `json:"batchSize,omitempty"` } -// BlobDataSourceProperties is the properties that are associated with a blob -// data source. +// BlobDataSourceProperties is the properties that are associated with a blob data source. type BlobDataSourceProperties struct { StorageAccounts *[]StorageAccount `json:"storageAccounts,omitempty"` Container *string `json:"container,omitempty"` @@ -219,11 +567,67 @@ type BlobDataSourceProperties struct { // BlobOutputDataSource is describes a blob output data source. type BlobOutputDataSource struct { + Type TypeOutputDataSource `json:"type,omitempty"` *BlobOutputDataSourceProperties `json:"properties,omitempty"` } -// BlobOutputDataSourceProperties is the properties that are associated with a -// blob output. +// MarshalJSON is the custom marshaler for BlobOutputDataSource. +func (bods BlobOutputDataSource) MarshalJSON() ([]byte, error) { + bods.Type = TypeMicrosoftStorageBlob + type Alias BlobOutputDataSource + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(bods), + }) +} + +// AsAzureDataLakeStoreOutputDataSource is the OutputDataSource implementation for BlobOutputDataSource. +func (bods BlobOutputDataSource) AsAzureDataLakeStoreOutputDataSource() (*AzureDataLakeStoreOutputDataSource, bool) { + return nil, false +} + +// AsPowerBIOutputDataSource is the OutputDataSource implementation for BlobOutputDataSource. +func (bods BlobOutputDataSource) AsPowerBIOutputDataSource() (*PowerBIOutputDataSource, bool) { + return nil, false +} + +// AsServiceBusTopicOutputDataSource is the OutputDataSource implementation for BlobOutputDataSource. +func (bods BlobOutputDataSource) AsServiceBusTopicOutputDataSource() (*ServiceBusTopicOutputDataSource, bool) { + return nil, false +} + +// AsServiceBusQueueOutputDataSource is the OutputDataSource implementation for BlobOutputDataSource. +func (bods BlobOutputDataSource) AsServiceBusQueueOutputDataSource() (*ServiceBusQueueOutputDataSource, bool) { + return nil, false +} + +// AsDocumentDbOutputDataSource is the OutputDataSource implementation for BlobOutputDataSource. +func (bods BlobOutputDataSource) AsDocumentDbOutputDataSource() (*DocumentDbOutputDataSource, bool) { + return nil, false +} + +// AsAzureSQLDatabaseOutputDataSource is the OutputDataSource implementation for BlobOutputDataSource. +func (bods BlobOutputDataSource) AsAzureSQLDatabaseOutputDataSource() (*AzureSQLDatabaseOutputDataSource, bool) { + return nil, false +} + +// AsEventHubOutputDataSource is the OutputDataSource implementation for BlobOutputDataSource. +func (bods BlobOutputDataSource) AsEventHubOutputDataSource() (*EventHubOutputDataSource, bool) { + return nil, false +} + +// AsAzureTableOutputDataSource is the OutputDataSource implementation for BlobOutputDataSource. +func (bods BlobOutputDataSource) AsAzureTableOutputDataSource() (*AzureTableOutputDataSource, bool) { + return nil, false +} + +// AsBlobOutputDataSource is the OutputDataSource implementation for BlobOutputDataSource. +func (bods BlobOutputDataSource) AsBlobOutputDataSource() (*BlobOutputDataSource, bool) { + return &bods, true +} + +// BlobOutputDataSourceProperties is the properties that are associated with a blob output. type BlobOutputDataSourceProperties struct { StorageAccounts *[]StorageAccount `json:"storageAccounts,omitempty"` Container *string `json:"container,omitempty"` @@ -232,14 +636,30 @@ type BlobOutputDataSourceProperties struct { TimeFormat *string `json:"timeFormat,omitempty"` } -// BlobReferenceInputDataSource is describes a blob input data source that -// contains reference data. +// BlobReferenceInputDataSource is describes a blob input data source that contains reference data. type BlobReferenceInputDataSource struct { + Type TypeReferenceInputDataSource `json:"type,omitempty"` *BlobReferenceInputDataSourceProperties `json:"properties,omitempty"` } -// BlobReferenceInputDataSourceProperties is the properties that are associated -// with a blob input containing reference data. +// MarshalJSON is the custom marshaler for BlobReferenceInputDataSource. +func (brids BlobReferenceInputDataSource) MarshalJSON() ([]byte, error) { + brids.Type = TypeReferenceInputDataSourceTypeMicrosoftStorageBlob + type Alias BlobReferenceInputDataSource + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(brids), + }) +} + +// AsBlobReferenceInputDataSource is the ReferenceInputDataSource implementation for BlobReferenceInputDataSource. +func (brids BlobReferenceInputDataSource) AsBlobReferenceInputDataSource() (*BlobReferenceInputDataSource, bool) { + return &brids, true +} + +// BlobReferenceInputDataSourceProperties is the properties that are associated with a blob input containing reference +// data. type BlobReferenceInputDataSourceProperties struct { StorageAccounts *[]StorageAccount `json:"storageAccounts,omitempty"` Container *string `json:"container,omitempty"` @@ -248,14 +668,39 @@ type BlobReferenceInputDataSourceProperties struct { TimeFormat *string `json:"timeFormat,omitempty"` } -// BlobStreamInputDataSource is describes a blob input data source that -// contains stream data. +// BlobStreamInputDataSource is describes a blob input data source that contains stream data. type BlobStreamInputDataSource struct { + Type TypeStreamInputDataSource `json:"type,omitempty"` *BlobStreamInputDataSourceProperties `json:"properties,omitempty"` } -// BlobStreamInputDataSourceProperties is the properties that are associated -// with a blob input containing stream data. +// MarshalJSON is the custom marshaler for BlobStreamInputDataSource. +func (bsids BlobStreamInputDataSource) MarshalJSON() ([]byte, error) { + bsids.Type = TypeStreamInputDataSourceTypeMicrosoftStorageBlob + type Alias BlobStreamInputDataSource + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(bsids), + }) +} + +// AsIoTHubStreamInputDataSource is the StreamInputDataSource implementation for BlobStreamInputDataSource. +func (bsids BlobStreamInputDataSource) AsIoTHubStreamInputDataSource() (*IoTHubStreamInputDataSource, bool) { + return nil, false +} + +// AsEventHubStreamInputDataSource is the StreamInputDataSource implementation for BlobStreamInputDataSource. +func (bsids BlobStreamInputDataSource) AsEventHubStreamInputDataSource() (*EventHubStreamInputDataSource, bool) { + return nil, false +} + +// AsBlobStreamInputDataSource is the StreamInputDataSource implementation for BlobStreamInputDataSource. +func (bsids BlobStreamInputDataSource) AsBlobStreamInputDataSource() (*BlobStreamInputDataSource, bool) { + return &bsids, true +} + +// BlobStreamInputDataSourceProperties is the properties that are associated with a blob input containing stream data. type BlobStreamInputDataSourceProperties struct { StorageAccounts *[]StorageAccount `json:"storageAccounts,omitempty"` Container *string `json:"container,omitempty"` @@ -265,40 +710,121 @@ type BlobStreamInputDataSourceProperties struct { SourcePartitionCount *int32 `json:"sourcePartitionCount,omitempty"` } -// CsvSerialization is describes how data from an input is serialized or how -// data is serialized when written to an output in CSV format. +// CsvSerialization is describes how data from an input is serialized or how data is serialized when written to an +// output in CSV format. type CsvSerialization struct { + Type Type `json:"type,omitempty"` *CsvSerializationProperties `json:"properties,omitempty"` } -// CsvSerializationProperties is the properties that are associated with the -// CSV serialization type. +// MarshalJSON is the custom marshaler for CsvSerialization. +func (cs CsvSerialization) MarshalJSON() ([]byte, error) { + cs.Type = TypeCsv + type Alias CsvSerialization + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(cs), + }) +} + +// AsAvroSerialization is the Serialization implementation for CsvSerialization. +func (cs CsvSerialization) AsAvroSerialization() (*AvroSerialization, bool) { + return nil, false +} + +// AsJSONSerialization is the Serialization implementation for CsvSerialization. +func (cs CsvSerialization) AsJSONSerialization() (*JSONSerialization, bool) { + return nil, false +} + +// AsCsvSerialization is the Serialization implementation for CsvSerialization. +func (cs CsvSerialization) AsCsvSerialization() (*CsvSerialization, bool) { + return &cs, true +} + +// CsvSerializationProperties is the properties that are associated with the CSV serialization type. type CsvSerializationProperties struct { FieldDelimiter *string `json:"fieldDelimiter,omitempty"` Encoding Encoding `json:"encoding,omitempty"` } -// DiagnosticCondition is condition applicable to the resource, or to the job -// overall, that warrant customer attention. +// DiagnosticCondition is condition applicable to the resource, or to the job overall, that warrant customer attention. type DiagnosticCondition struct { Since *string `json:"since,omitempty"` Code *string `json:"code,omitempty"` Message *string `json:"message,omitempty"` } -// Diagnostics is describes conditions applicable to the Input, Output, or the -// job overall, that warrant customer attention. +// Diagnostics is describes conditions applicable to the Input, Output, or the job overall, that warrant customer +// attention. type Diagnostics struct { Conditions *[]DiagnosticCondition `json:"conditions,omitempty"` } -// DocumentDbOutputDataSource is describes a DocumentDB data source. +// DocumentDbOutputDataSource is describes a DocumentDB output data source. type DocumentDbOutputDataSource struct { + Type TypeOutputDataSource `json:"type,omitempty"` *DocumentDbOutputDataSourceProperties `json:"properties,omitempty"` } -// DocumentDbOutputDataSourceProperties is the properties that are associated -// with a DocumentDB output. +// MarshalJSON is the custom marshaler for DocumentDbOutputDataSource. +func (ddods DocumentDbOutputDataSource) MarshalJSON() ([]byte, error) { + ddods.Type = TypeMicrosoftStorageDocumentDB + type Alias DocumentDbOutputDataSource + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ddods), + }) +} + +// AsAzureDataLakeStoreOutputDataSource is the OutputDataSource implementation for DocumentDbOutputDataSource. +func (ddods DocumentDbOutputDataSource) AsAzureDataLakeStoreOutputDataSource() (*AzureDataLakeStoreOutputDataSource, bool) { + return nil, false +} + +// AsPowerBIOutputDataSource is the OutputDataSource implementation for DocumentDbOutputDataSource. +func (ddods DocumentDbOutputDataSource) AsPowerBIOutputDataSource() (*PowerBIOutputDataSource, bool) { + return nil, false +} + +// AsServiceBusTopicOutputDataSource is the OutputDataSource implementation for DocumentDbOutputDataSource. +func (ddods DocumentDbOutputDataSource) AsServiceBusTopicOutputDataSource() (*ServiceBusTopicOutputDataSource, bool) { + return nil, false +} + +// AsServiceBusQueueOutputDataSource is the OutputDataSource implementation for DocumentDbOutputDataSource. +func (ddods DocumentDbOutputDataSource) AsServiceBusQueueOutputDataSource() (*ServiceBusQueueOutputDataSource, bool) { + return nil, false +} + +// AsDocumentDbOutputDataSource is the OutputDataSource implementation for DocumentDbOutputDataSource. +func (ddods DocumentDbOutputDataSource) AsDocumentDbOutputDataSource() (*DocumentDbOutputDataSource, bool) { + return &ddods, true +} + +// AsAzureSQLDatabaseOutputDataSource is the OutputDataSource implementation for DocumentDbOutputDataSource. +func (ddods DocumentDbOutputDataSource) AsAzureSQLDatabaseOutputDataSource() (*AzureSQLDatabaseOutputDataSource, bool) { + return nil, false +} + +// AsEventHubOutputDataSource is the OutputDataSource implementation for DocumentDbOutputDataSource. +func (ddods DocumentDbOutputDataSource) AsEventHubOutputDataSource() (*EventHubOutputDataSource, bool) { + return nil, false +} + +// AsAzureTableOutputDataSource is the OutputDataSource implementation for DocumentDbOutputDataSource. +func (ddods DocumentDbOutputDataSource) AsAzureTableOutputDataSource() (*AzureTableOutputDataSource, bool) { + return nil, false +} + +// AsBlobOutputDataSource is the OutputDataSource implementation for DocumentDbOutputDataSource. +func (ddods DocumentDbOutputDataSource) AsBlobOutputDataSource() (*BlobOutputDataSource, bool) { + return nil, false +} + +// DocumentDbOutputDataSourceProperties is the properties that are associated with a DocumentDB output. type DocumentDbOutputDataSourceProperties struct { AccountID *string `json:"accountId,omitempty"` AccountKey *string `json:"accountKey,omitempty"` @@ -314,8 +840,7 @@ type ErrorResponse struct { Message *string `json:"message,omitempty"` } -// EventHubDataSourceProperties is the common properties that are associated -// with Event Hub data sources. +// EventHubDataSourceProperties is the common properties that are associated with Event Hub data sources. type EventHubDataSourceProperties struct { ServiceBusNamespace *string `json:"serviceBusNamespace,omitempty"` SharedAccessPolicyName *string `json:"sharedAccessPolicyName,omitempty"` @@ -325,11 +850,67 @@ type EventHubDataSourceProperties struct { // EventHubOutputDataSource is describes an Event Hub output data source. type EventHubOutputDataSource struct { + Type TypeOutputDataSource `json:"type,omitempty"` *EventHubOutputDataSourceProperties `json:"properties,omitempty"` } -// EventHubOutputDataSourceProperties is the properties that are associated -// with an Event Hub output. +// MarshalJSON is the custom marshaler for EventHubOutputDataSource. +func (ehods EventHubOutputDataSource) MarshalJSON() ([]byte, error) { + ehods.Type = TypeMicrosoftServiceBusEventHub + type Alias EventHubOutputDataSource + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ehods), + }) +} + +// AsAzureDataLakeStoreOutputDataSource is the OutputDataSource implementation for EventHubOutputDataSource. +func (ehods EventHubOutputDataSource) AsAzureDataLakeStoreOutputDataSource() (*AzureDataLakeStoreOutputDataSource, bool) { + return nil, false +} + +// AsPowerBIOutputDataSource is the OutputDataSource implementation for EventHubOutputDataSource. +func (ehods EventHubOutputDataSource) AsPowerBIOutputDataSource() (*PowerBIOutputDataSource, bool) { + return nil, false +} + +// AsServiceBusTopicOutputDataSource is the OutputDataSource implementation for EventHubOutputDataSource. +func (ehods EventHubOutputDataSource) AsServiceBusTopicOutputDataSource() (*ServiceBusTopicOutputDataSource, bool) { + return nil, false +} + +// AsServiceBusQueueOutputDataSource is the OutputDataSource implementation for EventHubOutputDataSource. +func (ehods EventHubOutputDataSource) AsServiceBusQueueOutputDataSource() (*ServiceBusQueueOutputDataSource, bool) { + return nil, false +} + +// AsDocumentDbOutputDataSource is the OutputDataSource implementation for EventHubOutputDataSource. +func (ehods EventHubOutputDataSource) AsDocumentDbOutputDataSource() (*DocumentDbOutputDataSource, bool) { + return nil, false +} + +// AsAzureSQLDatabaseOutputDataSource is the OutputDataSource implementation for EventHubOutputDataSource. +func (ehods EventHubOutputDataSource) AsAzureSQLDatabaseOutputDataSource() (*AzureSQLDatabaseOutputDataSource, bool) { + return nil, false +} + +// AsEventHubOutputDataSource is the OutputDataSource implementation for EventHubOutputDataSource. +func (ehods EventHubOutputDataSource) AsEventHubOutputDataSource() (*EventHubOutputDataSource, bool) { + return &ehods, true +} + +// AsAzureTableOutputDataSource is the OutputDataSource implementation for EventHubOutputDataSource. +func (ehods EventHubOutputDataSource) AsAzureTableOutputDataSource() (*AzureTableOutputDataSource, bool) { + return nil, false +} + +// AsBlobOutputDataSource is the OutputDataSource implementation for EventHubOutputDataSource. +func (ehods EventHubOutputDataSource) AsBlobOutputDataSource() (*BlobOutputDataSource, bool) { + return nil, false +} + +// EventHubOutputDataSourceProperties is the properties that are associated with an Event Hub output. type EventHubOutputDataSourceProperties struct { ServiceBusNamespace *string `json:"serviceBusNamespace,omitempty"` SharedAccessPolicyName *string `json:"sharedAccessPolicyName,omitempty"` @@ -338,14 +919,40 @@ type EventHubOutputDataSourceProperties struct { PartitionKey *string `json:"partitionKey,omitempty"` } -// EventHubStreamInputDataSource is describes an Event Hub input data source -// that contains stream data. +// EventHubStreamInputDataSource is describes an Event Hub input data source that contains stream data. type EventHubStreamInputDataSource struct { + Type TypeStreamInputDataSource `json:"type,omitempty"` *EventHubStreamInputDataSourceProperties `json:"properties,omitempty"` } -// EventHubStreamInputDataSourceProperties is the properties that are -// associated with a Event Hub input containing stream data. +// MarshalJSON is the custom marshaler for EventHubStreamInputDataSource. +func (ehsids EventHubStreamInputDataSource) MarshalJSON() ([]byte, error) { + ehsids.Type = TypeStreamInputDataSourceTypeMicrosoftServiceBusEventHub + type Alias EventHubStreamInputDataSource + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ehsids), + }) +} + +// AsIoTHubStreamInputDataSource is the StreamInputDataSource implementation for EventHubStreamInputDataSource. +func (ehsids EventHubStreamInputDataSource) AsIoTHubStreamInputDataSource() (*IoTHubStreamInputDataSource, bool) { + return nil, false +} + +// AsEventHubStreamInputDataSource is the StreamInputDataSource implementation for EventHubStreamInputDataSource. +func (ehsids EventHubStreamInputDataSource) AsEventHubStreamInputDataSource() (*EventHubStreamInputDataSource, bool) { + return &ehsids, true +} + +// AsBlobStreamInputDataSource is the StreamInputDataSource implementation for EventHubStreamInputDataSource. +func (ehsids EventHubStreamInputDataSource) AsBlobStreamInputDataSource() (*BlobStreamInputDataSource, bool) { + return nil, false +} + +// EventHubStreamInputDataSourceProperties is the properties that are associated with a Event Hub input containing +// stream data. type EventHubStreamInputDataSourceProperties struct { ServiceBusNamespace *string `json:"serviceBusNamespace,omitempty"` SharedAccessPolicyName *string `json:"sharedAccessPolicyName,omitempty"` @@ -354,19 +961,111 @@ type EventHubStreamInputDataSourceProperties struct { ConsumerGroupName *string `json:"consumerGroupName,omitempty"` } -// Function is a function object, containing all information associated with -// the named function. All functions are contained under a streaming job. +// Function is a function object, containing all information associated with the named function. All functions are +// contained under a streaming job. type Function struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Type *string `json:"type,omitempty"` - Properties *FunctionProperties `json:"properties,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Properties FunctionProperties `json:"properties,omitempty"` } -// FunctionBinding is the physical binding of the function. For example, in the -// Azure Machine Learning web service’s case, this describes the endpoint. -type FunctionBinding struct { +// UnmarshalJSON is the custom unmarshaler for Function struct. +func (f *Function) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["properties"] + if v != nil { + properties, err := unmarshalFunctionProperties(*m["properties"]) + if err != nil { + return err + } + f.Properties = properties + } + + v = m["id"] + if v != nil { + var ID string + err = json.Unmarshal(*m["id"], &ID) + if err != nil { + return err + } + f.ID = &ID + } + + v = m["name"] + if v != nil { + var name string + err = json.Unmarshal(*m["name"], &name) + if err != nil { + return err + } + f.Name = &name + } + + v = m["type"] + if v != nil { + var typeVar string + err = json.Unmarshal(*m["type"], &typeVar) + if err != nil { + return err + } + f.Type = &typeVar + } + + return nil +} + +// FunctionBinding is the physical binding of the function. For example, in the Azure Machine Learning web service’s +// case, this describes the endpoint. +type FunctionBinding interface { + AsJavaScriptFunctionBinding() (*JavaScriptFunctionBinding, bool) + AsAzureMachineLearningWebServiceFunctionBinding() (*AzureMachineLearningWebServiceFunctionBinding, bool) +} + +func unmarshalFunctionBinding(body []byte) (FunctionBinding, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeMicrosoftStreamAnalyticsJavascriptUdf): + var jsfb JavaScriptFunctionBinding + err := json.Unmarshal(body, &jsfb) + return jsfb, err + case string(TypeMicrosoftMachineLearningWebService): + var amlwsfb AzureMachineLearningWebServiceFunctionBinding + err := json.Unmarshal(body, &amlwsfb) + return amlwsfb, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalFunctionBindingArray(body []byte) ([]FunctionBinding, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + fbArray := make([]FunctionBinding, len(rawMessages)) + + for index, rawMessage := range rawMessages { + fb, err := unmarshalFunctionBinding(*rawMessage) + if err != nil { + return nil, err + } + fbArray[index] = fb + } + return fbArray, nil } // FunctionInput is describes one input parameter of a function. @@ -375,8 +1074,7 @@ type FunctionInput struct { IsConfigurationParameter *bool `json:"isConfigurationParameter,omitempty"` } -// FunctionListResult is object containing a list of functions under a -// streaming job. +// FunctionListResult is object containing a list of functions under a streaming job. type FunctionListResult struct { autorest.Response `json:"-"` Value *[]Function `json:"value,omitempty"` @@ -401,23 +1099,150 @@ type FunctionOutput struct { } // FunctionProperties is the properties that are associated with a function. -type FunctionProperties struct { - Etag *string `json:"etag,omitempty"` +type FunctionProperties interface { + AsScalarFunctionProperties() (*ScalarFunctionProperties, bool) } -// FunctionRetrieveDefaultDefinitionParameters is parameters used to specify -// the type of function to retrieve the default definition for. -type FunctionRetrieveDefaultDefinitionParameters struct { +func unmarshalFunctionProperties(body []byte) (FunctionProperties, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeScalar): + var sfp ScalarFunctionProperties + err := json.Unmarshal(body, &sfp) + return sfp, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalFunctionPropertiesArray(body []byte) ([]FunctionProperties, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + fpArray := make([]FunctionProperties, len(rawMessages)) + + for index, rawMessage := range rawMessages { + fp, err := unmarshalFunctionProperties(*rawMessage) + if err != nil { + return nil, err + } + fpArray[index] = fp + } + return fpArray, nil } -// Input is an input object, containing all information associated with the -// named input. All inputs are contained under a streaming job. +// FunctionRetrieveDefaultDefinitionParameters is parameters used to specify the type of function to retrieve the +// default definition for. +type FunctionRetrieveDefaultDefinitionParameters interface { + AsJavaScriptFunctionRetrieveDefaultDefinitionParameters() (*JavaScriptFunctionRetrieveDefaultDefinitionParameters, bool) + AsAzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters() (*AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters, bool) +} + +func unmarshalFunctionRetrieveDefaultDefinitionParameters(body []byte) (FunctionRetrieveDefaultDefinitionParameters, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["bindingType"] { + case string(BindingTypeMicrosoftStreamAnalyticsJavascriptUdf): + var jsfrddp JavaScriptFunctionRetrieveDefaultDefinitionParameters + err := json.Unmarshal(body, &jsfrddp) + return jsfrddp, err + case string(BindingTypeMicrosoftMachineLearningWebService): + var amlwsfrddp AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters + err := json.Unmarshal(body, &amlwsfrddp) + return amlwsfrddp, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalFunctionRetrieveDefaultDefinitionParametersArray(body []byte) ([]FunctionRetrieveDefaultDefinitionParameters, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + frddpArray := make([]FunctionRetrieveDefaultDefinitionParameters, len(rawMessages)) + + for index, rawMessage := range rawMessages { + frddp, err := unmarshalFunctionRetrieveDefaultDefinitionParameters(*rawMessage) + if err != nil { + return nil, err + } + frddpArray[index] = frddp + } + return frddpArray, nil +} + +// Input is an input object, containing all information associated with the named input. All inputs are contained under +// a streaming job. type Input struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Type *string `json:"type,omitempty"` - Properties *InputProperties `json:"properties,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + Properties InputProperties `json:"properties,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for Input struct. +func (i *Input) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["properties"] + if v != nil { + properties, err := unmarshalInputProperties(*m["properties"]) + if err != nil { + return err + } + i.Properties = properties + } + + v = m["id"] + if v != nil { + var ID string + err = json.Unmarshal(*m["id"], &ID) + if err != nil { + return err + } + i.ID = &ID + } + + v = m["name"] + if v != nil { + var name string + err = json.Unmarshal(*m["name"], &name) + if err != nil { + return err + } + i.Name = &name + } + + v = m["type"] + if v != nil { + var typeVar string + err = json.Unmarshal(*m["type"], &typeVar) + if err != nil { + return err + } + i.Type = &typeVar + } + + return nil } // InputListResult is object containing a list of inputs under a streaming job. @@ -440,20 +1265,84 @@ func (client InputListResult) InputListResultPreparer() (*http.Request, error) { } // InputProperties is the properties that are associated with an input. -type InputProperties struct { - Serialization *Serialization `json:"serialization,omitempty"` - Diagnostics *Diagnostics `json:"diagnostics,omitempty"` - Etag *string `json:"etag,omitempty"` +type InputProperties interface { + AsReferenceInputProperties() (*ReferenceInputProperties, bool) + AsStreamInputProperties() (*StreamInputProperties, bool) } -// IoTHubStreamInputDataSource is describes an IoT Hub input data source that -// contains stream data. +func unmarshalInputProperties(body []byte) (InputProperties, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeReference): + var rip ReferenceInputProperties + err := json.Unmarshal(body, &rip) + return rip, err + case string(TypeStream): + var sip StreamInputProperties + err := json.Unmarshal(body, &sip) + return sip, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalInputPropertiesArray(body []byte) ([]InputProperties, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + IPArray := make([]InputProperties, len(rawMessages)) + + for index, rawMessage := range rawMessages { + IP, err := unmarshalInputProperties(*rawMessage) + if err != nil { + return nil, err + } + IPArray[index] = IP + } + return IPArray, nil +} + +// IoTHubStreamInputDataSource is describes an IoT Hub input data source that contains stream data. type IoTHubStreamInputDataSource struct { + Type TypeStreamInputDataSource `json:"type,omitempty"` *IoTHubStreamInputDataSourceProperties `json:"properties,omitempty"` } -// IoTHubStreamInputDataSourceProperties is the properties that are associated -// with a IoT Hub input containing stream data. +// MarshalJSON is the custom marshaler for IoTHubStreamInputDataSource. +func (ithsids IoTHubStreamInputDataSource) MarshalJSON() ([]byte, error) { + ithsids.Type = TypeStreamInputDataSourceTypeMicrosoftDevicesIotHubs + type Alias IoTHubStreamInputDataSource + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ithsids), + }) +} + +// AsIoTHubStreamInputDataSource is the StreamInputDataSource implementation for IoTHubStreamInputDataSource. +func (ithsids IoTHubStreamInputDataSource) AsIoTHubStreamInputDataSource() (*IoTHubStreamInputDataSource, bool) { + return &ithsids, true +} + +// AsEventHubStreamInputDataSource is the StreamInputDataSource implementation for IoTHubStreamInputDataSource. +func (ithsids IoTHubStreamInputDataSource) AsEventHubStreamInputDataSource() (*EventHubStreamInputDataSource, bool) { + return nil, false +} + +// AsBlobStreamInputDataSource is the StreamInputDataSource implementation for IoTHubStreamInputDataSource. +func (ithsids IoTHubStreamInputDataSource) AsBlobStreamInputDataSource() (*BlobStreamInputDataSource, bool) { + return nil, false +} + +// IoTHubStreamInputDataSourceProperties is the properties that are associated with a IoT Hub input containing stream +// data. type IoTHubStreamInputDataSourceProperties struct { IotHubNamespace *string `json:"iotHubNamespace,omitempty"` SharedAccessPolicyName *string `json:"sharedAccessPolicyName,omitempty"` @@ -464,50 +1353,125 @@ type IoTHubStreamInputDataSourceProperties struct { // JavaScriptFunctionBinding is the binding to a JavaScript function. type JavaScriptFunctionBinding struct { + Type TypeFunctionBinding `json:"type,omitempty"` *JavaScriptFunctionBindingProperties `json:"properties,omitempty"` } -// JavaScriptFunctionBindingProperties is the binding properties associated -// with a JavaScript function. +// MarshalJSON is the custom marshaler for JavaScriptFunctionBinding. +func (jsfb JavaScriptFunctionBinding) MarshalJSON() ([]byte, error) { + jsfb.Type = TypeMicrosoftStreamAnalyticsJavascriptUdf + type Alias JavaScriptFunctionBinding + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(jsfb), + }) +} + +// AsJavaScriptFunctionBinding is the FunctionBinding implementation for JavaScriptFunctionBinding. +func (jsfb JavaScriptFunctionBinding) AsJavaScriptFunctionBinding() (*JavaScriptFunctionBinding, bool) { + return &jsfb, true +} + +// AsAzureMachineLearningWebServiceFunctionBinding is the FunctionBinding implementation for JavaScriptFunctionBinding. +func (jsfb JavaScriptFunctionBinding) AsAzureMachineLearningWebServiceFunctionBinding() (*AzureMachineLearningWebServiceFunctionBinding, bool) { + return nil, false +} + +// JavaScriptFunctionBindingProperties is the binding properties associated with a JavaScript function. type JavaScriptFunctionBindingProperties struct { Script *string `json:"script,omitempty"` } -// JavaScriptFunctionBindingRetrievalProperties is the binding retrieval -// properties associated with a JavaScript function. +// JavaScriptFunctionBindingRetrievalProperties is the binding retrieval properties associated with a JavaScript +// function. type JavaScriptFunctionBindingRetrievalProperties struct { Script *string `json:"script,omitempty"` UdfType UdfType `json:"udfType,omitempty"` } -// JavaScriptFunctionRetrieveDefaultDefinitionParameters is the parameters -// needed to retrieve the default function definition for a JavaScript -// function. +// JavaScriptFunctionRetrieveDefaultDefinitionParameters is the parameters needed to retrieve the default function +// definition for a JavaScript function. type JavaScriptFunctionRetrieveDefaultDefinitionParameters struct { + BindingType BindingType `json:"bindingType,omitempty"` *JavaScriptFunctionBindingRetrievalProperties `json:"bindingRetrievalProperties,omitempty"` } -// JSONSerialization is describes how data from an input is serialized or how -// data is serialized when written to an output in JSON format. +// MarshalJSON is the custom marshaler for JavaScriptFunctionRetrieveDefaultDefinitionParameters. +func (jsfrddp JavaScriptFunctionRetrieveDefaultDefinitionParameters) MarshalJSON() ([]byte, error) { + jsfrddp.BindingType = BindingTypeMicrosoftStreamAnalyticsJavascriptUdf + type Alias JavaScriptFunctionRetrieveDefaultDefinitionParameters + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(jsfrddp), + }) +} + +// AsJavaScriptFunctionRetrieveDefaultDefinitionParameters is the FunctionRetrieveDefaultDefinitionParameters implementation for JavaScriptFunctionRetrieveDefaultDefinitionParameters. +func (jsfrddp JavaScriptFunctionRetrieveDefaultDefinitionParameters) AsJavaScriptFunctionRetrieveDefaultDefinitionParameters() (*JavaScriptFunctionRetrieveDefaultDefinitionParameters, bool) { + return &jsfrddp, true +} + +// AsAzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters is the FunctionRetrieveDefaultDefinitionParameters implementation for JavaScriptFunctionRetrieveDefaultDefinitionParameters. +func (jsfrddp JavaScriptFunctionRetrieveDefaultDefinitionParameters) AsAzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters() (*AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters, bool) { + return nil, false +} + +// JSONSerialization is describes how data from an input is serialized or how data is serialized when written to an +// output in JSON format. type JSONSerialization struct { + Type Type `json:"type,omitempty"` *JSONSerializationProperties `json:"properties,omitempty"` } -// JSONSerializationProperties is the properties that are associated with the -// JSON serialization type. +// MarshalJSON is the custom marshaler for JSONSerialization. +func (js JSONSerialization) MarshalJSON() ([]byte, error) { + js.Type = TypeJSON + type Alias JSONSerialization + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(js), + }) +} + +// AsAvroSerialization is the Serialization implementation for JSONSerialization. +func (js JSONSerialization) AsAvroSerialization() (*AvroSerialization, bool) { + return nil, false +} + +// AsJSONSerialization is the Serialization implementation for JSONSerialization. +func (js JSONSerialization) AsJSONSerialization() (*JSONSerialization, bool) { + return &js, true +} + +// AsCsvSerialization is the Serialization implementation for JSONSerialization. +func (js JSONSerialization) AsCsvSerialization() (*CsvSerialization, bool) { + return nil, false +} + +// JSONSerializationProperties is the properties that are associated with the JSON serialization type. type JSONSerializationProperties struct { Encoding Encoding `json:"encoding,omitempty"` Format JSONOutputSerializationFormat `json:"format,omitempty"` } +// OAuthBasedDataSourceProperties is the properties that are associated with data sources that use OAuth as their +// authentication model. +type OAuthBasedDataSourceProperties struct { + RefreshToken *string `json:"refreshToken,omitempty"` + TokenUserPrincipalName *string `json:"tokenUserPrincipalName,omitempty"` + TokenUserDisplayName *string `json:"tokenUserDisplayName,omitempty"` +} + // Operation is a Stream Analytics REST API operation type Operation struct { Name *string `json:"name,omitempty"` Display *OperationDisplay `json:"display,omitempty"` } -// OperationDisplay is contains the localized display information for this -// particular operation / action. +// OperationDisplay is contains the localized display information for this particular operation / action. type OperationDisplay struct { Provider *string `json:"provider,omitempty"` Resource *string `json:"resource,omitempty"` @@ -515,9 +1479,8 @@ type OperationDisplay struct { Description *string `json:"description,omitempty"` } -// OperationListResult is result of the request to list Stream Analytics -// operations. It contains a list of operations and a URL link to get the next -// set of results. +// OperationListResult is result of the request to list Stream Analytics operations. It contains a list of operations +// and a URL link to get the next set of results. type OperationListResult struct { autorest.Response `json:"-"` Value *[]Operation `json:"value,omitempty"` @@ -536,8 +1499,8 @@ func (client OperationListResult) OperationListResultPreparer() (*http.Request, autorest.WithBaseURL(to.String(client.NextLink))) } -// Output is an output object, containing all information associated with the -// named output. All outputs are contained under a streaming job. +// Output is an output object, containing all information associated with the named output. All outputs are contained +// under a streaming job. type Output struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -546,13 +1509,87 @@ type Output struct { *OutputProperties `json:"properties,omitempty"` } -// OutputDataSource is describes the data source that output will be written -// to. -type OutputDataSource struct { +// OutputDataSource is describes the data source that output will be written to. +type OutputDataSource interface { + AsAzureDataLakeStoreOutputDataSource() (*AzureDataLakeStoreOutputDataSource, bool) + AsPowerBIOutputDataSource() (*PowerBIOutputDataSource, bool) + AsServiceBusTopicOutputDataSource() (*ServiceBusTopicOutputDataSource, bool) + AsServiceBusQueueOutputDataSource() (*ServiceBusQueueOutputDataSource, bool) + AsDocumentDbOutputDataSource() (*DocumentDbOutputDataSource, bool) + AsAzureSQLDatabaseOutputDataSource() (*AzureSQLDatabaseOutputDataSource, bool) + AsEventHubOutputDataSource() (*EventHubOutputDataSource, bool) + AsAzureTableOutputDataSource() (*AzureTableOutputDataSource, bool) + AsBlobOutputDataSource() (*BlobOutputDataSource, bool) } -// OutputListResult is object containing a list of outputs under a streaming -// job. +func unmarshalOutputDataSource(body []byte) (OutputDataSource, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeMicrosoftDataLakeAccounts): + var adlsods AzureDataLakeStoreOutputDataSource + err := json.Unmarshal(body, &adlsods) + return adlsods, err + case string(TypePowerBI): + var pbods PowerBIOutputDataSource + err := json.Unmarshal(body, &pbods) + return pbods, err + case string(TypeMicrosoftServiceBusTopic): + var sbtods ServiceBusTopicOutputDataSource + err := json.Unmarshal(body, &sbtods) + return sbtods, err + case string(TypeMicrosoftServiceBusQueue): + var sbqods ServiceBusQueueOutputDataSource + err := json.Unmarshal(body, &sbqods) + return sbqods, err + case string(TypeMicrosoftStorageDocumentDB): + var ddods DocumentDbOutputDataSource + err := json.Unmarshal(body, &ddods) + return ddods, err + case string(TypeMicrosoftSQLServerDatabase): + var asdods AzureSQLDatabaseOutputDataSource + err := json.Unmarshal(body, &asdods) + return asdods, err + case string(TypeMicrosoftServiceBusEventHub): + var ehods EventHubOutputDataSource + err := json.Unmarshal(body, &ehods) + return ehods, err + case string(TypeMicrosoftStorageTable): + var atods AzureTableOutputDataSource + err := json.Unmarshal(body, &atods) + return atods, err + case string(TypeMicrosoftStorageBlob): + var bods BlobOutputDataSource + err := json.Unmarshal(body, &bods) + return bods, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalOutputDataSourceArray(body []byte) ([]OutputDataSource, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + odsArray := make([]OutputDataSource, len(rawMessages)) + + for index, rawMessage := range rawMessages { + ods, err := unmarshalOutputDataSource(*rawMessage) + if err != nil { + return nil, err + } + odsArray[index] = ods + } + return odsArray, nil +} + +// OutputListResult is object containing a list of outputs under a streaming job. type OutputListResult struct { autorest.Response `json:"-"` Value *[]Output `json:"value,omitempty"` @@ -573,24 +1610,263 @@ func (client OutputListResult) OutputListResultPreparer() (*http.Request, error) // OutputProperties is the properties that are associated with an output. type OutputProperties struct { - Datasource *OutputDataSource `json:"datasource,omitempty"` - Serialization *Serialization `json:"serialization,omitempty"` - Diagnostics *Diagnostics `json:"diagnostics,omitempty"` - Etag *string `json:"etag,omitempty"` + Datasource OutputDataSource `json:"datasource,omitempty"` + Serialization Serialization `json:"serialization,omitempty"` + Diagnostics *Diagnostics `json:"diagnostics,omitempty"` + Etag *string `json:"etag,omitempty"` } -// ReferenceInputDataSource is describes an input data source that contains -// reference data. -type ReferenceInputDataSource struct { +// UnmarshalJSON is the custom unmarshaler for OutputProperties struct. +func (op *OutputProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["datasource"] + if v != nil { + datasource, err := unmarshalOutputDataSource(*m["datasource"]) + if err != nil { + return err + } + op.Datasource = datasource + } + + v = m["serialization"] + if v != nil { + serialization, err := unmarshalSerialization(*m["serialization"]) + if err != nil { + return err + } + op.Serialization = serialization + } + + v = m["diagnostics"] + if v != nil { + var diagnostics Diagnostics + err = json.Unmarshal(*m["diagnostics"], &diagnostics) + if err != nil { + return err + } + op.Diagnostics = &diagnostics + } + + v = m["etag"] + if v != nil { + var etag string + err = json.Unmarshal(*m["etag"], &etag) + if err != nil { + return err + } + op.Etag = &etag + } + + return nil } -// ReferenceInputProperties is the properties that are associated with an input -// containing reference data. +// PowerBIOutputDataSource is describes a Power BI output data source. +type PowerBIOutputDataSource struct { + Type TypeOutputDataSource `json:"type,omitempty"` + *PowerBIOutputDataSourceProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for PowerBIOutputDataSource. +func (pbods PowerBIOutputDataSource) MarshalJSON() ([]byte, error) { + pbods.Type = TypePowerBI + type Alias PowerBIOutputDataSource + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(pbods), + }) +} + +// AsAzureDataLakeStoreOutputDataSource is the OutputDataSource implementation for PowerBIOutputDataSource. +func (pbods PowerBIOutputDataSource) AsAzureDataLakeStoreOutputDataSource() (*AzureDataLakeStoreOutputDataSource, bool) { + return nil, false +} + +// AsPowerBIOutputDataSource is the OutputDataSource implementation for PowerBIOutputDataSource. +func (pbods PowerBIOutputDataSource) AsPowerBIOutputDataSource() (*PowerBIOutputDataSource, bool) { + return &pbods, true +} + +// AsServiceBusTopicOutputDataSource is the OutputDataSource implementation for PowerBIOutputDataSource. +func (pbods PowerBIOutputDataSource) AsServiceBusTopicOutputDataSource() (*ServiceBusTopicOutputDataSource, bool) { + return nil, false +} + +// AsServiceBusQueueOutputDataSource is the OutputDataSource implementation for PowerBIOutputDataSource. +func (pbods PowerBIOutputDataSource) AsServiceBusQueueOutputDataSource() (*ServiceBusQueueOutputDataSource, bool) { + return nil, false +} + +// AsDocumentDbOutputDataSource is the OutputDataSource implementation for PowerBIOutputDataSource. +func (pbods PowerBIOutputDataSource) AsDocumentDbOutputDataSource() (*DocumentDbOutputDataSource, bool) { + return nil, false +} + +// AsAzureSQLDatabaseOutputDataSource is the OutputDataSource implementation for PowerBIOutputDataSource. +func (pbods PowerBIOutputDataSource) AsAzureSQLDatabaseOutputDataSource() (*AzureSQLDatabaseOutputDataSource, bool) { + return nil, false +} + +// AsEventHubOutputDataSource is the OutputDataSource implementation for PowerBIOutputDataSource. +func (pbods PowerBIOutputDataSource) AsEventHubOutputDataSource() (*EventHubOutputDataSource, bool) { + return nil, false +} + +// AsAzureTableOutputDataSource is the OutputDataSource implementation for PowerBIOutputDataSource. +func (pbods PowerBIOutputDataSource) AsAzureTableOutputDataSource() (*AzureTableOutputDataSource, bool) { + return nil, false +} + +// AsBlobOutputDataSource is the OutputDataSource implementation for PowerBIOutputDataSource. +func (pbods PowerBIOutputDataSource) AsBlobOutputDataSource() (*BlobOutputDataSource, bool) { + return nil, false +} + +// PowerBIOutputDataSourceProperties is the properties that are associated with a Power BI output. +type PowerBIOutputDataSourceProperties struct { + RefreshToken *string `json:"refreshToken,omitempty"` + TokenUserPrincipalName *string `json:"tokenUserPrincipalName,omitempty"` + TokenUserDisplayName *string `json:"tokenUserDisplayName,omitempty"` + Dataset *string `json:"dataset,omitempty"` + Table *string `json:"table,omitempty"` + GroupID *string `json:"groupId,omitempty"` + GroupName *string `json:"groupName,omitempty"` +} + +// ReferenceInputDataSource is describes an input data source that contains reference data. +type ReferenceInputDataSource interface { + AsBlobReferenceInputDataSource() (*BlobReferenceInputDataSource, bool) +} + +func unmarshalReferenceInputDataSource(body []byte) (ReferenceInputDataSource, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeReferenceInputDataSourceTypeMicrosoftStorageBlob): + var brids BlobReferenceInputDataSource + err := json.Unmarshal(body, &brids) + return brids, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalReferenceInputDataSourceArray(body []byte) ([]ReferenceInputDataSource, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + ridsArray := make([]ReferenceInputDataSource, len(rawMessages)) + + for index, rawMessage := range rawMessages { + rids, err := unmarshalReferenceInputDataSource(*rawMessage) + if err != nil { + return nil, err + } + ridsArray[index] = rids + } + return ridsArray, nil +} + +// ReferenceInputProperties is the properties that are associated with an input containing reference data. type ReferenceInputProperties struct { - Serialization *Serialization `json:"serialization,omitempty"` - Diagnostics *Diagnostics `json:"diagnostics,omitempty"` - Etag *string `json:"etag,omitempty"` - Datasource *ReferenceInputDataSource `json:"datasource,omitempty"` + Serialization Serialization `json:"serialization,omitempty"` + Diagnostics *Diagnostics `json:"diagnostics,omitempty"` + Etag *string `json:"etag,omitempty"` + Type TypeInputProperties `json:"type,omitempty"` + Datasource ReferenceInputDataSource `json:"datasource,omitempty"` +} + +// MarshalJSON is the custom marshaler for ReferenceInputProperties. +func (rip ReferenceInputProperties) MarshalJSON() ([]byte, error) { + rip.Type = TypeReference + type Alias ReferenceInputProperties + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(rip), + }) +} + +// AsReferenceInputProperties is the InputProperties implementation for ReferenceInputProperties. +func (rip ReferenceInputProperties) AsReferenceInputProperties() (*ReferenceInputProperties, bool) { + return &rip, true +} + +// AsStreamInputProperties is the InputProperties implementation for ReferenceInputProperties. +func (rip ReferenceInputProperties) AsStreamInputProperties() (*StreamInputProperties, bool) { + return nil, false +} + +// UnmarshalJSON is the custom unmarshaler for ReferenceInputProperties struct. +func (rip *ReferenceInputProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["datasource"] + if v != nil { + datasource, err := unmarshalReferenceInputDataSource(*m["datasource"]) + if err != nil { + return err + } + rip.Datasource = datasource + } + + v = m["serialization"] + if v != nil { + serialization, err := unmarshalSerialization(*m["serialization"]) + if err != nil { + return err + } + rip.Serialization = serialization + } + + v = m["diagnostics"] + if v != nil { + var diagnostics Diagnostics + err = json.Unmarshal(*m["diagnostics"], &diagnostics) + if err != nil { + return err + } + rip.Diagnostics = &diagnostics + } + + v = m["etag"] + if v != nil { + var etag string + err = json.Unmarshal(*m["etag"], &etag) + if err != nil { + return err + } + rip.Etag = &etag + } + + v = m["type"] + if v != nil { + var typeVar TypeInputProperties + err = json.Unmarshal(*m["type"], &typeVar) + if err != nil { + return err + } + rip.Type = typeVar + } + + return nil } // Resource is the base resource model definition. @@ -602,50 +1878,205 @@ type Resource struct { Tags *map[string]*string `json:"tags,omitempty"` } -// ResourceTestStatus is describes the status of the test operation along with -// error information, if applicable. +// ResourceTestStatus is describes the status of the test operation along with error information, if applicable. type ResourceTestStatus struct { autorest.Response `json:"-"` Status *string `json:"status,omitempty"` Error *ErrorResponse `json:"error,omitempty"` } -// ScalarFunctionConfiguration is describes the configuration of the scalar -// function. +// ScalarFunctionConfiguration is describes the configuration of the scalar function. type ScalarFunctionConfiguration struct { Inputs *[]FunctionInput `json:"inputs,omitempty"` Output *FunctionOutput `json:"output,omitempty"` - Binding *FunctionBinding `json:"binding,omitempty"` + Binding FunctionBinding `json:"binding,omitempty"` } -// ScalarFunctionProperties is the properties that are associated with a scalar -// function. +// UnmarshalJSON is the custom unmarshaler for ScalarFunctionConfiguration struct. +func (sfc *ScalarFunctionConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["inputs"] + if v != nil { + var inputs []FunctionInput + err = json.Unmarshal(*m["inputs"], &inputs) + if err != nil { + return err + } + sfc.Inputs = &inputs + } + + v = m["output"] + if v != nil { + var output FunctionOutput + err = json.Unmarshal(*m["output"], &output) + if err != nil { + return err + } + sfc.Output = &output + } + + v = m["binding"] + if v != nil { + binding, err := unmarshalFunctionBinding(*m["binding"]) + if err != nil { + return err + } + sfc.Binding = binding + } + + return nil +} + +// ScalarFunctionProperties is the properties that are associated with a scalar function. type ScalarFunctionProperties struct { - Etag *string `json:"etag,omitempty"` + Etag *string `json:"etag,omitempty"` + Type TypeFunctionProperties `json:"type,omitempty"` *ScalarFunctionConfiguration `json:"properties,omitempty"` } -// Serialization is describes how data from an input is serialized or how data -// is serialized when written to an output. -type Serialization struct { +// MarshalJSON is the custom marshaler for ScalarFunctionProperties. +func (sfp ScalarFunctionProperties) MarshalJSON() ([]byte, error) { + sfp.Type = TypeScalar + type Alias ScalarFunctionProperties + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(sfp), + }) } -// ServiceBusDataSourceProperties is the common properties that are associated -// with Service Bus data sources (Queues, Topics, Event Hubs, etc.). +// AsScalarFunctionProperties is the FunctionProperties implementation for ScalarFunctionProperties. +func (sfp ScalarFunctionProperties) AsScalarFunctionProperties() (*ScalarFunctionProperties, bool) { + return &sfp, true +} + +// Serialization is describes how data from an input is serialized or how data is serialized when written to an output. +type Serialization interface { + AsAvroSerialization() (*AvroSerialization, bool) + AsJSONSerialization() (*JSONSerialization, bool) + AsCsvSerialization() (*CsvSerialization, bool) +} + +func unmarshalSerialization(body []byte) (Serialization, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeAvro): + var as AvroSerialization + err := json.Unmarshal(body, &as) + return as, err + case string(TypeJSON): + var js JSONSerialization + err := json.Unmarshal(body, &js) + return js, err + case string(TypeCsv): + var cs CsvSerialization + err := json.Unmarshal(body, &cs) + return cs, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalSerializationArray(body []byte) ([]Serialization, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + sArray := make([]Serialization, len(rawMessages)) + + for index, rawMessage := range rawMessages { + s, err := unmarshalSerialization(*rawMessage) + if err != nil { + return nil, err + } + sArray[index] = s + } + return sArray, nil +} + +// ServiceBusDataSourceProperties is the common properties that are associated with Service Bus data sources (Queues, +// Topics, Event Hubs, etc.). type ServiceBusDataSourceProperties struct { ServiceBusNamespace *string `json:"serviceBusNamespace,omitempty"` SharedAccessPolicyName *string `json:"sharedAccessPolicyName,omitempty"` SharedAccessPolicyKey *string `json:"sharedAccessPolicyKey,omitempty"` } -// ServiceBusQueueOutputDataSource is describes a Service Bus Queue data -// source. +// ServiceBusQueueOutputDataSource is describes a Service Bus Queue output data source. type ServiceBusQueueOutputDataSource struct { + Type TypeOutputDataSource `json:"type,omitempty"` *ServiceBusQueueOutputDataSourceProperties `json:"properties,omitempty"` } -// ServiceBusQueueOutputDataSourceProperties is the properties that are -// associated with a Service Bus Queue output. +// MarshalJSON is the custom marshaler for ServiceBusQueueOutputDataSource. +func (sbqods ServiceBusQueueOutputDataSource) MarshalJSON() ([]byte, error) { + sbqods.Type = TypeMicrosoftServiceBusQueue + type Alias ServiceBusQueueOutputDataSource + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(sbqods), + }) +} + +// AsAzureDataLakeStoreOutputDataSource is the OutputDataSource implementation for ServiceBusQueueOutputDataSource. +func (sbqods ServiceBusQueueOutputDataSource) AsAzureDataLakeStoreOutputDataSource() (*AzureDataLakeStoreOutputDataSource, bool) { + return nil, false +} + +// AsPowerBIOutputDataSource is the OutputDataSource implementation for ServiceBusQueueOutputDataSource. +func (sbqods ServiceBusQueueOutputDataSource) AsPowerBIOutputDataSource() (*PowerBIOutputDataSource, bool) { + return nil, false +} + +// AsServiceBusTopicOutputDataSource is the OutputDataSource implementation for ServiceBusQueueOutputDataSource. +func (sbqods ServiceBusQueueOutputDataSource) AsServiceBusTopicOutputDataSource() (*ServiceBusTopicOutputDataSource, bool) { + return nil, false +} + +// AsServiceBusQueueOutputDataSource is the OutputDataSource implementation for ServiceBusQueueOutputDataSource. +func (sbqods ServiceBusQueueOutputDataSource) AsServiceBusQueueOutputDataSource() (*ServiceBusQueueOutputDataSource, bool) { + return &sbqods, true +} + +// AsDocumentDbOutputDataSource is the OutputDataSource implementation for ServiceBusQueueOutputDataSource. +func (sbqods ServiceBusQueueOutputDataSource) AsDocumentDbOutputDataSource() (*DocumentDbOutputDataSource, bool) { + return nil, false +} + +// AsAzureSQLDatabaseOutputDataSource is the OutputDataSource implementation for ServiceBusQueueOutputDataSource. +func (sbqods ServiceBusQueueOutputDataSource) AsAzureSQLDatabaseOutputDataSource() (*AzureSQLDatabaseOutputDataSource, bool) { + return nil, false +} + +// AsEventHubOutputDataSource is the OutputDataSource implementation for ServiceBusQueueOutputDataSource. +func (sbqods ServiceBusQueueOutputDataSource) AsEventHubOutputDataSource() (*EventHubOutputDataSource, bool) { + return nil, false +} + +// AsAzureTableOutputDataSource is the OutputDataSource implementation for ServiceBusQueueOutputDataSource. +func (sbqods ServiceBusQueueOutputDataSource) AsAzureTableOutputDataSource() (*AzureTableOutputDataSource, bool) { + return nil, false +} + +// AsBlobOutputDataSource is the OutputDataSource implementation for ServiceBusQueueOutputDataSource. +func (sbqods ServiceBusQueueOutputDataSource) AsBlobOutputDataSource() (*BlobOutputDataSource, bool) { + return nil, false +} + +// ServiceBusQueueOutputDataSourceProperties is the properties that are associated with a Service Bus Queue output. type ServiceBusQueueOutputDataSourceProperties struct { ServiceBusNamespace *string `json:"serviceBusNamespace,omitempty"` SharedAccessPolicyName *string `json:"sharedAccessPolicyName,omitempty"` @@ -654,14 +2085,69 @@ type ServiceBusQueueOutputDataSourceProperties struct { PropertyColumns *[]string `json:"propertyColumns,omitempty"` } -// ServiceBusTopicOutputDataSource is describes a Service Bus Topic data -// source. +// ServiceBusTopicOutputDataSource is describes a Service Bus Topic output data source. type ServiceBusTopicOutputDataSource struct { + Type TypeOutputDataSource `json:"type,omitempty"` *ServiceBusTopicOutputDataSourceProperties `json:"properties,omitempty"` } -// ServiceBusTopicOutputDataSourceProperties is the properties that are -// associated with a Service Bus Topic output. +// MarshalJSON is the custom marshaler for ServiceBusTopicOutputDataSource. +func (sbtods ServiceBusTopicOutputDataSource) MarshalJSON() ([]byte, error) { + sbtods.Type = TypeMicrosoftServiceBusTopic + type Alias ServiceBusTopicOutputDataSource + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(sbtods), + }) +} + +// AsAzureDataLakeStoreOutputDataSource is the OutputDataSource implementation for ServiceBusTopicOutputDataSource. +func (sbtods ServiceBusTopicOutputDataSource) AsAzureDataLakeStoreOutputDataSource() (*AzureDataLakeStoreOutputDataSource, bool) { + return nil, false +} + +// AsPowerBIOutputDataSource is the OutputDataSource implementation for ServiceBusTopicOutputDataSource. +func (sbtods ServiceBusTopicOutputDataSource) AsPowerBIOutputDataSource() (*PowerBIOutputDataSource, bool) { + return nil, false +} + +// AsServiceBusTopicOutputDataSource is the OutputDataSource implementation for ServiceBusTopicOutputDataSource. +func (sbtods ServiceBusTopicOutputDataSource) AsServiceBusTopicOutputDataSource() (*ServiceBusTopicOutputDataSource, bool) { + return &sbtods, true +} + +// AsServiceBusQueueOutputDataSource is the OutputDataSource implementation for ServiceBusTopicOutputDataSource. +func (sbtods ServiceBusTopicOutputDataSource) AsServiceBusQueueOutputDataSource() (*ServiceBusQueueOutputDataSource, bool) { + return nil, false +} + +// AsDocumentDbOutputDataSource is the OutputDataSource implementation for ServiceBusTopicOutputDataSource. +func (sbtods ServiceBusTopicOutputDataSource) AsDocumentDbOutputDataSource() (*DocumentDbOutputDataSource, bool) { + return nil, false +} + +// AsAzureSQLDatabaseOutputDataSource is the OutputDataSource implementation for ServiceBusTopicOutputDataSource. +func (sbtods ServiceBusTopicOutputDataSource) AsAzureSQLDatabaseOutputDataSource() (*AzureSQLDatabaseOutputDataSource, bool) { + return nil, false +} + +// AsEventHubOutputDataSource is the OutputDataSource implementation for ServiceBusTopicOutputDataSource. +func (sbtods ServiceBusTopicOutputDataSource) AsEventHubOutputDataSource() (*EventHubOutputDataSource, bool) { + return nil, false +} + +// AsAzureTableOutputDataSource is the OutputDataSource implementation for ServiceBusTopicOutputDataSource. +func (sbtods ServiceBusTopicOutputDataSource) AsAzureTableOutputDataSource() (*AzureTableOutputDataSource, bool) { + return nil, false +} + +// AsBlobOutputDataSource is the OutputDataSource implementation for ServiceBusTopicOutputDataSource. +func (sbtods ServiceBusTopicOutputDataSource) AsBlobOutputDataSource() (*BlobOutputDataSource, bool) { + return nil, false +} + +// ServiceBusTopicOutputDataSourceProperties is the properties that are associated with a Service Bus Topic output. type ServiceBusTopicOutputDataSourceProperties struct { ServiceBusNamespace *string `json:"serviceBusNamespace,omitempty"` SharedAccessPolicyName *string `json:"sharedAccessPolicyName,omitempty"` @@ -675,22 +2161,19 @@ type Sku struct { Name SkuName `json:"name,omitempty"` } -// StartStreamingJobParameters is parameters supplied to the Start Streaming -// Job operation. +// StartStreamingJobParameters is parameters supplied to the Start Streaming Job operation. type StartStreamingJobParameters struct { OutputStartMode OutputStartMode `json:"outputStartMode,omitempty"` OutputStartTime *date.Time `json:"outputStartTime,omitempty"` } -// StorageAccount is the properties that are associated with an Azure Storage -// account +// StorageAccount is the properties that are associated with an Azure Storage account type StorageAccount struct { AccountName *string `json:"accountName,omitempty"` AccountKey *string `json:"accountKey,omitempty"` } -// StreamingJob is a streamng job object, containing all information associated -// with the named streaming job. +// StreamingJob is a streamng job object, containing all information associated with the named streaming job. type StreamingJob struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -720,8 +2203,7 @@ func (client StreamingJobListResult) StreamingJobListResultPreparer() (*http.Req autorest.WithBaseURL(to.String(client.NextLink))) } -// StreamingJobProperties is the properties that are associated with a -// streaming job. +// StreamingJobProperties is the properties that are associated with a streaming job. type StreamingJobProperties struct { Sku *Sku `json:"sku,omitempty"` JobID *string `json:"jobId,omitempty"` @@ -744,18 +2226,144 @@ type StreamingJobProperties struct { Etag *string `json:"etag,omitempty"` } -// StreamInputDataSource is describes an input data source that contains stream -// data. -type StreamInputDataSource struct { +// StreamInputDataSource is describes an input data source that contains stream data. +type StreamInputDataSource interface { + AsIoTHubStreamInputDataSource() (*IoTHubStreamInputDataSource, bool) + AsEventHubStreamInputDataSource() (*EventHubStreamInputDataSource, bool) + AsBlobStreamInputDataSource() (*BlobStreamInputDataSource, bool) } -// StreamInputProperties is the properties that are associated with an input -// containing stream data. +func unmarshalStreamInputDataSource(body []byte) (StreamInputDataSource, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeStreamInputDataSourceTypeMicrosoftDevicesIotHubs): + var ithsids IoTHubStreamInputDataSource + err := json.Unmarshal(body, &ithsids) + return ithsids, err + case string(TypeStreamInputDataSourceTypeMicrosoftServiceBusEventHub): + var ehsids EventHubStreamInputDataSource + err := json.Unmarshal(body, &ehsids) + return ehsids, err + case string(TypeStreamInputDataSourceTypeMicrosoftStorageBlob): + var bsids BlobStreamInputDataSource + err := json.Unmarshal(body, &bsids) + return bsids, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalStreamInputDataSourceArray(body []byte) ([]StreamInputDataSource, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + sidsArray := make([]StreamInputDataSource, len(rawMessages)) + + for index, rawMessage := range rawMessages { + sids, err := unmarshalStreamInputDataSource(*rawMessage) + if err != nil { + return nil, err + } + sidsArray[index] = sids + } + return sidsArray, nil +} + +// StreamInputProperties is the properties that are associated with an input containing stream data. type StreamInputProperties struct { - Serialization *Serialization `json:"serialization,omitempty"` - Diagnostics *Diagnostics `json:"diagnostics,omitempty"` - Etag *string `json:"etag,omitempty"` - Datasource *StreamInputDataSource `json:"datasource,omitempty"` + Serialization Serialization `json:"serialization,omitempty"` + Diagnostics *Diagnostics `json:"diagnostics,omitempty"` + Etag *string `json:"etag,omitempty"` + Type TypeInputProperties `json:"type,omitempty"` + Datasource StreamInputDataSource `json:"datasource,omitempty"` +} + +// MarshalJSON is the custom marshaler for StreamInputProperties. +func (sip StreamInputProperties) MarshalJSON() ([]byte, error) { + sip.Type = TypeStream + type Alias StreamInputProperties + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(sip), + }) +} + +// AsReferenceInputProperties is the InputProperties implementation for StreamInputProperties. +func (sip StreamInputProperties) AsReferenceInputProperties() (*ReferenceInputProperties, bool) { + return nil, false +} + +// AsStreamInputProperties is the InputProperties implementation for StreamInputProperties. +func (sip StreamInputProperties) AsStreamInputProperties() (*StreamInputProperties, bool) { + return &sip, true +} + +// UnmarshalJSON is the custom unmarshaler for StreamInputProperties struct. +func (sip *StreamInputProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["datasource"] + if v != nil { + datasource, err := unmarshalStreamInputDataSource(*m["datasource"]) + if err != nil { + return err + } + sip.Datasource = datasource + } + + v = m["serialization"] + if v != nil { + serialization, err := unmarshalSerialization(*m["serialization"]) + if err != nil { + return err + } + sip.Serialization = serialization + } + + v = m["diagnostics"] + if v != nil { + var diagnostics Diagnostics + err = json.Unmarshal(*m["diagnostics"], &diagnostics) + if err != nil { + return err + } + sip.Diagnostics = &diagnostics + } + + v = m["etag"] + if v != nil { + var etag string + err = json.Unmarshal(*m["etag"], &etag) + if err != nil { + return err + } + sip.Etag = &etag + } + + v = m["type"] + if v != nil { + var typeVar TypeInputProperties + err = json.Unmarshal(*m["type"], &typeVar) + if err != nil { + return err + } + sip.Type = typeVar + } + + return nil } // SubResource is the base sub-resource model definition. @@ -779,16 +2387,15 @@ type SubscriptionQuotaProperties struct { CurrentCount *int32 `json:"currentCount,omitempty"` } -// SubscriptionQuotasListResult is result of the GetQuotas operation. It -// contains a list of quotas for the subscription in a particular region. +// SubscriptionQuotasListResult is result of the GetQuotas operation. It contains a list of quotas for the subscription +// in a particular region. type SubscriptionQuotasListResult struct { autorest.Response `json:"-"` Value *[]SubscriptionQuota `json:"value,omitempty"` } -// Transformation is a transformation object, containing all information -// associated with the named transformation. All transformations are contained -// under a streaming job. +// Transformation is a transformation object, containing all information associated with the named transformation. All +// transformations are contained under a streaming job. type Transformation struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -797,8 +2404,7 @@ type Transformation struct { *TransformationProperties `json:"properties,omitempty"` } -// TransformationProperties is the properties that are associated with a -// transformation. +// TransformationProperties is the properties that are associated with a transformation. type TransformationProperties struct { StreamingUnits *int32 `json:"streamingUnits,omitempty"` Query *string `json:"query,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/operations.go index dc0c7814d..36e6324bd 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/operations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/operations.go @@ -14,9 +14,8 @@ package streamanalytics // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,7 +23,7 @@ import ( "net/http" ) -// OperationsClient is the composite Swagger for Stream Analytics Client +// OperationsClient is the stream Analytics Client type OperationsClient struct { ManagementClient } @@ -34,8 +33,7 @@ func NewOperationsClient(subscriptionID string) OperationsClient { return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewOperationsClientWithBaseURI creates an instance of the OperationsClient -// client. +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/outputs.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/outputs.go index e26a22c93..4a53330cc 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/outputs.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/outputs.go @@ -14,9 +14,8 @@ package streamanalytics // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,7 +23,7 @@ import ( "net/http" ) -// OutputsClient is the composite Swagger for Stream Analytics Client +// OutputsClient is the stream Analytics Client type OutputsClient struct { ManagementClient } @@ -39,19 +38,15 @@ func NewOutputsClientWithBaseURI(baseURI string, subscriptionID string) OutputsC return OutputsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrReplace creates an output or replaces an already existing output -// under an existing streaming job. +// CreateOrReplace creates an output or replaces an already existing output under an existing streaming job. // -// output is the definition of the output that will be used to create a new -// output or replace the existing one under the streaming job. -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. jobName is the name of the streaming job. outputName is the name -// of the output. ifMatch is the ETag of the output. Omit this value to always -// overwrite the current output. Specify the last-seen ETag value to prevent -// accidentally overwritting concurrent changes. ifNoneMatch is set to '*' to -// allow a new output to be created, but to prevent updating an existing -// output. Other values will result in a 412 Pre-condition Failed response. +// output is the definition of the output that will be used to create a new output or replace the existing one under +// the streaming job. resourceGroupName is the name of the resource group that contains the resource. You can obtain +// this value from the Azure Resource Manager API or the portal. jobName is the name of the streaming job. outputName +// is the name of the output. ifMatch is the ETag of the output. Omit this value to always overwrite the current +// output. Specify the last-seen ETag value to prevent accidentally overwritting concurrent changes. ifNoneMatch is set +// to '*' to allow a new output to be created, but to prevent updating an existing output. Other values will result in +// a 412 Pre-condition Failed response. func (client OutputsClient) CreateOrReplace(output Output, resourceGroupName string, jobName string, outputName string, ifMatch string, ifNoneMatch string) (result Output, err error) { req, err := client.CreateOrReplacePreparer(output, resourceGroupName, jobName, outputName, ifMatch, ifNoneMatch) if err != nil { @@ -127,10 +122,9 @@ func (client OutputsClient) CreateOrReplaceResponder(resp *http.Response) (resul // Delete deletes an output from the streaming job. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. jobName is the name of the streaming job. outputName is the name -// of the output. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. jobName is the name of the streaming job. outputName is the name of the +// output. func (client OutputsClient) Delete(resourceGroupName string, jobName string, outputName string) (result autorest.Response, err error) { req, err := client.DeletePreparer(resourceGroupName, jobName, outputName) if err != nil { @@ -195,10 +189,9 @@ func (client OutputsClient) DeleteResponder(resp *http.Response) (result autores // Get gets details about the specified output. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. jobName is the name of the streaming job. outputName is the name -// of the output. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. jobName is the name of the streaming job. outputName is the name of the +// output. func (client OutputsClient) Get(resourceGroupName string, jobName string, outputName string) (result Output, err error) { req, err := client.GetPreparer(resourceGroupName, jobName, outputName) if err != nil { @@ -262,16 +255,13 @@ func (client OutputsClient) GetResponder(resp *http.Response) (result Output, er return } -// ListByStreamingJob lists all of the outputs under the specified streaming -// job. +// ListByStreamingJob lists all of the outputs under the specified streaming job. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. jobName is the name of the streaming job. selectParameter is the -// $select OData query parameter. This is a comma-separated list of structural -// properties to include in the response, or “*” to include all properties. By -// default, all properties are returned except diagnostics. Currently only -// accepts '*' as a valid value. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. jobName is the name of the streaming job. selectParameter is the $select +// OData query parameter. This is a comma-separated list of structural properties to include in the response, or “*” to +// include all properties. By default, all properties are returned except diagnostics. Currently only accepts '*' as a +// valid value. func (client OutputsClient) ListByStreamingJob(resourceGroupName string, jobName string, selectParameter string) (result OutputListResult, err error) { req, err := client.ListByStreamingJobPreparer(resourceGroupName, jobName, selectParameter) if err != nil { @@ -406,20 +396,16 @@ func (client OutputsClient) ListByStreamingJobComplete(resourceGroupName string, return resultChan, errChan } -// Test tests whether an output’s datasource is reachable and usable by the -// Azure Stream Analytics service. This method may poll for completion. Polling -// can be canceled by passing the cancel channel argument. The channel will be -// used to cancel polling and any outstanding HTTP requests. +// Test tests whether an output’s datasource is reachable and usable by the Azure Stream Analytics service. This method +// may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to +// cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. jobName is the name of the streaming job. outputName is the name -// of the output. output is if the output specified does not already exist, -// this parameter must contain the full output definition intended to be -// tested. If the output specified already exists, this parameter can be left -// null to test the existing output as is or if specified, the properties -// specified will overwrite the corresponding properties in the existing output -// (exactly like a PATCH operation) and the resulting output will be tested. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. jobName is the name of the streaming job. outputName is the name of the +// output. output is if the output specified does not already exist, this parameter must contain the full output +// definition intended to be tested. If the output specified already exists, this parameter can be left null to test +// the existing output as is or if specified, the properties specified will overwrite the corresponding properties in +// the existing output (exactly like a PATCH operation) and the resulting output will be tested. func (client OutputsClient) Test(resourceGroupName string, jobName string, outputName string, output *Output, cancel <-chan struct{}) (<-chan ResourceTestStatus, <-chan error) { resultChan := make(chan ResourceTestStatus, 1) errChan := make(chan error, 1) @@ -503,21 +489,16 @@ func (client OutputsClient) TestResponder(resp *http.Response) (result ResourceT return } -// Update updates an existing output under an existing streaming job. This can -// be used to partially update (ie. update one or two properties) an output -// without affecting the rest the job or output definition. +// Update updates an existing output under an existing streaming job. This can be used to partially update (ie. update +// one or two properties) an output without affecting the rest the job or output definition. // -// output is an Output object. The properties specified here will overwrite the -// corresponding properties in the existing output (ie. Those properties will -// be updated). Any properties that are set to null here will mean that the -// corresponding property in the existing output will remain the same and not -// change as a result of this PATCH operation. resourceGroupName is the name of -// the resource group that contains the resource. You can obtain this value -// from the Azure Resource Manager API or the portal. jobName is the name of -// the streaming job. outputName is the name of the output. ifMatch is the ETag -// of the output. Omit this value to always overwrite the current output. -// Specify the last-seen ETag value to prevent accidentally overwritting -// concurrent changes. +// output is an Output object. The properties specified here will overwrite the corresponding properties in the +// existing output (ie. Those properties will be updated). Any properties that are set to null here will mean that the +// corresponding property in the existing output will remain the same and not change as a result of this PATCH +// operation. resourceGroupName is the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. jobName is the name of the streaming job. outputName is the name +// of the output. ifMatch is the ETag of the output. Omit this value to always overwrite the current output. Specify +// the last-seen ETag value to prevent accidentally overwritting concurrent changes. func (client OutputsClient) Update(output Output, resourceGroupName string, jobName string, outputName string, ifMatch string) (result Output, err error) { req, err := client.UpdatePreparer(output, resourceGroupName, jobName, outputName, ifMatch) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/streamingjobs.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/streamingjobs.go index 1c6c2addc..45f30d101 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/streamingjobs.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/streamingjobs.go @@ -14,9 +14,8 @@ package streamanalytics // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,38 +23,32 @@ import ( "net/http" ) -// StreamingJobsClient is the composite Swagger for Stream Analytics Client +// StreamingJobsClient is the stream Analytics Client type StreamingJobsClient struct { ManagementClient } -// NewStreamingJobsClient creates an instance of the StreamingJobsClient -// client. +// NewStreamingJobsClient creates an instance of the StreamingJobsClient client. func NewStreamingJobsClient(subscriptionID string) StreamingJobsClient { return NewStreamingJobsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewStreamingJobsClientWithBaseURI creates an instance of the -// StreamingJobsClient client. +// NewStreamingJobsClientWithBaseURI creates an instance of the StreamingJobsClient client. func NewStreamingJobsClientWithBaseURI(baseURI string, subscriptionID string) StreamingJobsClient { return StreamingJobsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrReplace creates a streaming job or replaces an already existing -// streaming job. This method may poll for completion. Polling can be canceled -// by passing the cancel channel argument. The channel will be used to cancel +// CreateOrReplace creates a streaming job or replaces an already existing streaming job. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel // polling and any outstanding HTTP requests. // -// streamingJob is the definition of the streaming job that will be used to -// create a new streaming job or replace the existing one. resourceGroupName is -// the name of the resource group that contains the resource. You can obtain -// this value from the Azure Resource Manager API or the portal. jobName is the -// name of the streaming job. ifMatch is the ETag of the streaming job. Omit -// this value to always overwrite the current record set. Specify the last-seen -// ETag value to prevent accidentally overwritting concurrent changes. -// ifNoneMatch is set to '*' to allow a new streaming job to be created, but to -// prevent updating an existing record set. Other values will result in a 412 -// Pre-condition Failed response. +// streamingJob is the definition of the streaming job that will be used to create a new streaming job or replace the +// existing one. resourceGroupName is the name of the resource group that contains the resource. You can obtain this +// value from the Azure Resource Manager API or the portal. jobName is the name of the streaming job. ifMatch is the +// ETag of the streaming job. Omit this value to always overwrite the current record set. Specify the last-seen ETag +// value to prevent accidentally overwritting concurrent changes. ifNoneMatch is set to '*' to allow a new streaming +// job to be created, but to prevent updating an existing record set. Other values will result in a 412 Pre-condition +// Failed response. func (client StreamingJobsClient) CreateOrReplace(streamingJob StreamingJob, resourceGroupName string, jobName string, ifMatch string, ifNoneMatch string, cancel <-chan struct{}) (<-chan StreamingJob, <-chan error) { resultChan := make(chan StreamingJob, 1) errChan := make(chan error, 1) @@ -143,13 +136,11 @@ func (client StreamingJobsClient) CreateOrReplaceResponder(resp *http.Response) return } -// Delete deletes a streaming job. This method may poll for completion. Polling -// can be canceled by passing the cancel channel argument. The channel will be -// used to cancel polling and any outstanding HTTP requests. +// Delete deletes a streaming job. This method may poll for completion. Polling can be canceled by passing the cancel +// channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. jobName is the name of the streaming job. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. jobName is the name of the streaming job. func (client StreamingJobsClient) Delete(resourceGroupName string, jobName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -228,14 +219,11 @@ func (client StreamingJobsClient) DeleteResponder(resp *http.Response) (result a // Get gets details about the specified streaming job. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. jobName is the name of the streaming job. expand is the $expand -// OData query parameter. This is a comma-separated list of additional -// streaming job properties to include in the response, beyond the default set -// returned when this parameter is absent. The default set is all streaming job -// properties other than 'inputs', 'transformation', 'outputs', and -// 'functions'. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. jobName is the name of the streaming job. expand is the $expand OData +// query parameter. This is a comma-separated list of additional streaming job properties to include in the response, +// beyond the default set returned when this parameter is absent. The default set is all streaming job properties other +// than 'inputs', 'transformation', 'outputs', and 'functions'. func (client StreamingJobsClient) Get(resourceGroupName string, jobName string, expand string) (result StreamingJob, err error) { req, err := client.GetPreparer(resourceGroupName, jobName, expand) if err != nil { @@ -303,11 +291,9 @@ func (client StreamingJobsClient) GetResponder(resp *http.Response) (result Stre // List lists all of the streaming jobs in the given subscription. // -// expand is the $expand OData query parameter. This is a comma-separated list -// of additional streaming job properties to include in the response, beyond -// the default set returned when this parameter is absent. The default set is -// all streaming job properties other than 'inputs', 'transformation', -// 'outputs', and 'functions'. +// expand is the $expand OData query parameter. This is a comma-separated list of additional streaming job properties +// to include in the response, beyond the default set returned when this parameter is absent. The default set is all +// streaming job properties other than 'inputs', 'transformation', 'outputs', and 'functions'. func (client StreamingJobsClient) List(expand string) (result StreamingJobListResult, err error) { req, err := client.ListPreparer(expand) if err != nil { @@ -440,16 +426,13 @@ func (client StreamingJobsClient) ListComplete(expand string, cancel <-chan stru return resultChan, errChan } -// ListByResourceGroup lists all of the streaming jobs in the specified -// resource group. +// ListByResourceGroup lists all of the streaming jobs in the specified resource group. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. expand is the $expand OData query parameter. This is a -// comma-separated list of additional streaming job properties to include in -// the response, beyond the default set returned when this parameter is absent. -// The default set is all streaming job properties other than 'inputs', -// 'transformation', 'outputs', and 'functions'. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. expand is the $expand OData query parameter. This is a comma-separated +// list of additional streaming job properties to include in the response, beyond the default set returned when this +// parameter is absent. The default set is all streaming job properties other than 'inputs', 'transformation', +// 'outputs', and 'functions'. func (client StreamingJobsClient) ListByResourceGroup(resourceGroupName string, expand string) (result StreamingJobListResult, err error) { req, err := client.ListByResourceGroupPreparer(resourceGroupName, expand) if err != nil { @@ -583,15 +566,13 @@ func (client StreamingJobsClient) ListByResourceGroupComplete(resourceGroupName return resultChan, errChan } -// Start starts a streaming job. Once a job is started it will start processing -// input events and produce output. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// Start starts a streaming job. Once a job is started it will start processing input events and produce output. This +// method may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be +// used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. jobName is the name of the streaming job. startJobParameters is -// parameters applicable to a start streaming job operation. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. jobName is the name of the streaming job. startJobParameters is parameters +// applicable to a start streaming job operation. func (client StreamingJobsClient) Start(resourceGroupName string, jobName string, startJobParameters *StartStreamingJobParameters, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -673,15 +654,12 @@ func (client StreamingJobsClient) StartResponder(resp *http.Response) (result au return } -// Stop stops a running streaming job. This will cause a running streaming job -// to stop processing input events and producing output. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// Stop stops a running streaming job. This will cause a running streaming job to stop processing input events and +// producing output. This method may poll for completion. Polling can be canceled by passing the cancel channel +// argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. jobName is the name of the streaming job. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. jobName is the name of the streaming job. func (client StreamingJobsClient) Stop(resourceGroupName string, jobName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -758,21 +736,16 @@ func (client StreamingJobsClient) StopResponder(resp *http.Response) (result aut return } -// Update updates an existing streaming job. This can be used to partially -// update (ie. update one or two properties) a streaming job without affecting -// the rest the job definition. +// Update updates an existing streaming job. This can be used to partially update (ie. update one or two properties) a +// streaming job without affecting the rest the job definition. // -// streamingJob is a streaming job object. The properties specified here will -// overwrite the corresponding properties in the existing streaming job (ie. -// Those properties will be updated). Any properties that are set to null here -// will mean that the corresponding property in the existing input will remain -// the same and not change as a result of this PATCH operation. -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. jobName is the name of the streaming job. ifMatch is the ETag of -// the streaming job. Omit this value to always overwrite the current record -// set. Specify the last-seen ETag value to prevent accidentally overwritting -// concurrent changes. +// streamingJob is a streaming job object. The properties specified here will overwrite the corresponding properties in +// the existing streaming job (ie. Those properties will be updated). Any properties that are set to null here will +// mean that the corresponding property in the existing input will remain the same and not change as a result of this +// PATCH operation. resourceGroupName is the name of the resource group that contains the resource. You can obtain this +// value from the Azure Resource Manager API or the portal. jobName is the name of the streaming job. ifMatch is the +// ETag of the streaming job. Omit this value to always overwrite the current record set. Specify the last-seen ETag +// value to prevent accidentally overwritting concurrent changes. func (client StreamingJobsClient) Update(streamingJob StreamingJob, resourceGroupName string, jobName string, ifMatch string) (result StreamingJob, err error) { req, err := client.UpdatePreparer(streamingJob, resourceGroupName, jobName, ifMatch) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/subscriptions.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/subscriptions.go index 4bde29076..e45ee75cb 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/subscriptions.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/subscriptions.go @@ -14,9 +14,8 @@ package streamanalytics // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,29 +23,25 @@ import ( "net/http" ) -// SubscriptionsClient is the composite Swagger for Stream Analytics Client +// SubscriptionsClient is the stream Analytics Client type SubscriptionsClient struct { ManagementClient } -// NewSubscriptionsClient creates an instance of the SubscriptionsClient -// client. +// NewSubscriptionsClient creates an instance of the SubscriptionsClient client. func NewSubscriptionsClient(subscriptionID string) SubscriptionsClient { return NewSubscriptionsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewSubscriptionsClientWithBaseURI creates an instance of the -// SubscriptionsClient client. +// NewSubscriptionsClientWithBaseURI creates an instance of the SubscriptionsClient client. func NewSubscriptionsClientWithBaseURI(baseURI string, subscriptionID string) SubscriptionsClient { return SubscriptionsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// ListQuotas retrieves the subscription's current quota information in a -// particular region. +// ListQuotas retrieves the subscription's current quota information in a particular region. // -// location is the region in which to retrieve the subscription's quota -// information. You can find out which regions Azure Stream Analytics is -// supported in here: https://azure.microsoft.com/en-us/regions/ +// location is the region in which to retrieve the subscription's quota information. You can find out which regions +// Azure Stream Analytics is supported in here: https://azure.microsoft.com/en-us/regions/ func (client SubscriptionsClient) ListQuotas(location string) (result SubscriptionQuotasListResult, err error) { req, err := client.ListQuotasPreparer(location) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/transformations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/transformations.go index 67b8d858b..84d686833 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/transformations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/transformations.go @@ -14,9 +14,8 @@ package streamanalytics // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,37 +23,31 @@ import ( "net/http" ) -// TransformationsClient is the composite Swagger for Stream Analytics Client +// TransformationsClient is the stream Analytics Client type TransformationsClient struct { ManagementClient } -// NewTransformationsClient creates an instance of the TransformationsClient -// client. +// NewTransformationsClient creates an instance of the TransformationsClient client. func NewTransformationsClient(subscriptionID string) TransformationsClient { return NewTransformationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewTransformationsClientWithBaseURI creates an instance of the -// TransformationsClient client. +// NewTransformationsClientWithBaseURI creates an instance of the TransformationsClient client. func NewTransformationsClientWithBaseURI(baseURI string, subscriptionID string) TransformationsClient { return TransformationsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrReplace creates a transformation or replaces an already existing -// transformation under an existing streaming job. +// CreateOrReplace creates a transformation or replaces an already existing transformation under an existing streaming +// job. // -// transformation is the definition of the transformation that will be used to -// create a new transformation or replace the existing one under the streaming -// job. resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. jobName is the name of the streaming job. transformationName is -// the name of the transformation. ifMatch is the ETag of the transformation. -// Omit this value to always overwrite the current transformation. Specify the -// last-seen ETag value to prevent accidentally overwritting concurrent -// changes. ifNoneMatch is set to '*' to allow a new transformation to be -// created, but to prevent updating an existing transformation. Other values -// will result in a 412 Pre-condition Failed response. +// transformation is the definition of the transformation that will be used to create a new transformation or replace +// the existing one under the streaming job. resourceGroupName is the name of the resource group that contains the +// resource. You can obtain this value from the Azure Resource Manager API or the portal. jobName is the name of the +// streaming job. transformationName is the name of the transformation. ifMatch is the ETag of the transformation. Omit +// this value to always overwrite the current transformation. Specify the last-seen ETag value to prevent accidentally +// overwritting concurrent changes. ifNoneMatch is set to '*' to allow a new transformation to be created, but to +// prevent updating an existing transformation. Other values will result in a 412 Pre-condition Failed response. func (client TransformationsClient) CreateOrReplace(transformation Transformation, resourceGroupName string, jobName string, transformationName string, ifMatch string, ifNoneMatch string) (result Transformation, err error) { req, err := client.CreateOrReplacePreparer(transformation, resourceGroupName, jobName, transformationName, ifMatch, ifNoneMatch) if err != nil { @@ -130,10 +123,9 @@ func (client TransformationsClient) CreateOrReplaceResponder(resp *http.Response // Get gets details about the specified transformation. // -// resourceGroupName is the name of the resource group that contains the -// resource. You can obtain this value from the Azure Resource Manager API or -// the portal. jobName is the name of the streaming job. transformationName is -// the name of the transformation. +// resourceGroupName is the name of the resource group that contains the resource. You can obtain this value from the +// Azure Resource Manager API or the portal. jobName is the name of the streaming job. transformationName is the name +// of the transformation. func (client TransformationsClient) Get(resourceGroupName string, jobName string, transformationName string) (result Transformation, err error) { req, err := client.GetPreparer(resourceGroupName, jobName, transformationName) if err != nil { @@ -197,23 +189,17 @@ func (client TransformationsClient) GetResponder(resp *http.Response) (result Tr return } -// Update updates an existing transformation under an existing streaming job. -// This can be used to partially update (ie. update one or two properties) a -// transformation without affecting the rest the job or transformation -// definition. +// Update updates an existing transformation under an existing streaming job. This can be used to partially update (ie. +// update one or two properties) a transformation without affecting the rest the job or transformation definition. // -// transformation is a Transformation object. The properties specified here -// will overwrite the corresponding properties in the existing transformation -// (ie. Those properties will be updated). Any properties that are set to null -// here will mean that the corresponding property in the existing -// transformation will remain the same and not change as a result of this PATCH -// operation. resourceGroupName is the name of the resource group that contains -// the resource. You can obtain this value from the Azure Resource Manager API -// or the portal. jobName is the name of the streaming job. transformationName -// is the name of the transformation. ifMatch is the ETag of the -// transformation. Omit this value to always overwrite the current -// transformation. Specify the last-seen ETag value to prevent accidentally -// overwritting concurrent changes. +// transformation is a Transformation object. The properties specified here will overwrite the corresponding properties +// in the existing transformation (ie. Those properties will be updated). Any properties that are set to null here will +// mean that the corresponding property in the existing transformation will remain the same and not change as a result +// of this PATCH operation. resourceGroupName is the name of the resource group that contains the resource. You can +// obtain this value from the Azure Resource Manager API or the portal. jobName is the name of the streaming job. +// transformationName is the name of the transformation. ifMatch is the ETag of the transformation. Omit this value to +// always overwrite the current transformation. Specify the last-seen ETag value to prevent accidentally overwritting +// concurrent changes. func (client TransformationsClient) Update(transformation Transformation, resourceGroupName string, jobName string, transformationName string, ifMatch string) (result Transformation, err error) { req, err := client.UpdatePreparer(transformation, resourceGroupName, jobName, transformationName, ifMatch) if err != nil { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/version.go index 3d7795133..902ad8f68 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/streamanalytics/version.go @@ -14,16 +14,15 @@ package streamanalytics // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.1.0.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-streamanalytics/" + return "Azure-SDK-For-Go/v11.0.0-beta arm-streamanalytics/2016-03-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/client.go index 332f0addc..247958697 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/client.go @@ -1,5 +1,4 @@ -// Package trafficmanager implements the Azure ARM Trafficmanager service API -// version 2015-11-01. +// Package trafficmanager implements the Azure ARM Trafficmanager service API version 2017-09-01-preview. // // package trafficmanager @@ -18,9 +17,8 @@ package trafficmanager // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/endpoints.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/endpoints.go index cb88fa57c..2c4c33069 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/endpoints.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/endpoints.go @@ -14,9 +14,8 @@ package trafficmanager // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,8 +23,7 @@ import ( "net/http" ) -// EndpointsClient is the client for the Endpoints methods of the -// Trafficmanager service. +// EndpointsClient is the client for the Endpoints methods of the Trafficmanager service. type EndpointsClient struct { ManagementClient } @@ -35,20 +33,17 @@ func NewEndpointsClient(subscriptionID string) EndpointsClient { return NewEndpointsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewEndpointsClientWithBaseURI creates an instance of the EndpointsClient -// client. +// NewEndpointsClientWithBaseURI creates an instance of the EndpointsClient client. func NewEndpointsClientWithBaseURI(baseURI string, subscriptionID string) EndpointsClient { return EndpointsClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate create or update a Traffic Manager endpoint. // -// resourceGroupName is the name of the resource group containing the Traffic -// Manager endpoint to be created or updated. profileName is the name of the -// Traffic Manager profile. endpointType is the type of the Traffic Manager -// endpoint to be created or updated. endpointName is the name of the Traffic -// Manager endpoint to be created or updated. parameters is the Traffic Manager -// endpoint parameters supplied to the CreateOrUpdate operation. +// resourceGroupName is the name of the resource group containing the Traffic Manager endpoint to be created or +// updated. profileName is the name of the Traffic Manager profile. endpointType is the type of the Traffic Manager +// endpoint to be created or updated. endpointName is the name of the Traffic Manager endpoint to be created or +// updated. parameters is the Traffic Manager endpoint parameters supplied to the CreateOrUpdate operation. func (client EndpointsClient) CreateOrUpdate(resourceGroupName string, profileName string, endpointType string, endpointName string, parameters Endpoint) (result Endpoint, err error) { req, err := client.CreateOrUpdatePreparer(resourceGroupName, profileName, endpointType, endpointName, parameters) if err != nil { @@ -81,7 +76,7 @@ func (client EndpointsClient) CreateOrUpdatePreparer(resourceGroupName string, p "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-11-01" + const APIVersion = "2017-09-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -117,12 +112,10 @@ func (client EndpointsClient) CreateOrUpdateResponder(resp *http.Response) (resu // Delete deletes a Traffic Manager endpoint. // -// resourceGroupName is the name of the resource group containing the Traffic -// Manager endpoint to be deleted. profileName is the name of the Traffic -// Manager profile. endpointType is the type of the Traffic Manager endpoint to -// be deleted. endpointName is the name of the Traffic Manager endpoint to be -// deleted. -func (client EndpointsClient) Delete(resourceGroupName string, profileName string, endpointType string, endpointName string) (result autorest.Response, err error) { +// resourceGroupName is the name of the resource group containing the Traffic Manager endpoint to be deleted. +// profileName is the name of the Traffic Manager profile. endpointType is the type of the Traffic Manager endpoint to +// be deleted. endpointName is the name of the Traffic Manager endpoint to be deleted. +func (client EndpointsClient) Delete(resourceGroupName string, profileName string, endpointType string, endpointName string) (result DeleteOperationResult, err error) { req, err := client.DeletePreparer(resourceGroupName, profileName, endpointType, endpointName) if err != nil { err = autorest.NewErrorWithError(err, "trafficmanager.EndpointsClient", "Delete", nil, "Failure preparing request") @@ -131,7 +124,7 @@ func (client EndpointsClient) Delete(resourceGroupName string, profileName strin resp, err := client.DeleteSender(req) if err != nil { - result.Response = resp + result.Response = autorest.Response{Response: resp} err = autorest.NewErrorWithError(err, "trafficmanager.EndpointsClient", "Delete", resp, "Failure sending request") return } @@ -154,7 +147,7 @@ func (client EndpointsClient) DeletePreparer(resourceGroupName string, profileNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-11-01" + const APIVersion = "2017-09-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -175,22 +168,22 @@ func (client EndpointsClient) DeleteSender(req *http.Request) (*http.Response, e // DeleteResponder handles the response to the Delete request. The method always // closes the http.Response Body. -func (client EndpointsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { +func (client EndpointsClient) DeleteResponder(resp *http.Response) (result DeleteOperationResult, err error) { err = autorest.Respond( resp, client.ByInspecting(), azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) - result.Response = resp + result.Response = autorest.Response{Response: resp} return } // Get gets a Traffic Manager endpoint. // -// resourceGroupName is the name of the resource group containing the Traffic -// Manager endpoint. profileName is the name of the Traffic Manager profile. -// endpointType is the type of the Traffic Manager endpoint. endpointName is -// the name of the Traffic Manager endpoint. +// resourceGroupName is the name of the resource group containing the Traffic Manager endpoint. profileName is the name +// of the Traffic Manager profile. endpointType is the type of the Traffic Manager endpoint. endpointName is the name +// of the Traffic Manager endpoint. func (client EndpointsClient) Get(resourceGroupName string, profileName string, endpointType string, endpointName string) (result Endpoint, err error) { req, err := client.GetPreparer(resourceGroupName, profileName, endpointType, endpointName) if err != nil { @@ -223,7 +216,7 @@ func (client EndpointsClient) GetPreparer(resourceGroupName string, profileName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-11-01" + const APIVersion = "2017-09-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -257,12 +250,10 @@ func (client EndpointsClient) GetResponder(resp *http.Response) (result Endpoint // Update update a Traffic Manager endpoint. // -// resourceGroupName is the name of the resource group containing the Traffic -// Manager endpoint to be updated. profileName is the name of the Traffic -// Manager profile. endpointType is the type of the Traffic Manager endpoint to -// be updated. endpointName is the name of the Traffic Manager endpoint to be -// updated. parameters is the Traffic Manager endpoint parameters supplied to -// the Update operation. +// resourceGroupName is the name of the resource group containing the Traffic Manager endpoint to be updated. +// profileName is the name of the Traffic Manager profile. endpointType is the type of the Traffic Manager endpoint to +// be updated. endpointName is the name of the Traffic Manager endpoint to be updated. parameters is the Traffic +// Manager endpoint parameters supplied to the Update operation. func (client EndpointsClient) Update(resourceGroupName string, profileName string, endpointType string, endpointName string, parameters Endpoint) (result Endpoint, err error) { req, err := client.UpdatePreparer(resourceGroupName, profileName, endpointType, endpointName, parameters) if err != nil { @@ -295,7 +286,7 @@ func (client EndpointsClient) UpdatePreparer(resourceGroupName string, profileNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-11-01" + const APIVersion = "2017-09-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/geographichierarchies.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/geographichierarchies.go new file mode 100644 index 000000000..4ca5d0d8c --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/geographichierarchies.go @@ -0,0 +1,96 @@ +package trafficmanager + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// GeographicHierarchiesClient is the client for the GeographicHierarchies methods of the Trafficmanager service. +type GeographicHierarchiesClient struct { + ManagementClient +} + +// NewGeographicHierarchiesClient creates an instance of the GeographicHierarchiesClient client. +func NewGeographicHierarchiesClient(subscriptionID string) GeographicHierarchiesClient { + return NewGeographicHierarchiesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewGeographicHierarchiesClientWithBaseURI creates an instance of the GeographicHierarchiesClient client. +func NewGeographicHierarchiesClientWithBaseURI(baseURI string, subscriptionID string) GeographicHierarchiesClient { + return GeographicHierarchiesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// GetDefault gets the default Geographic Hierarchy used by the Geographic traffic routing method. +func (client GeographicHierarchiesClient) GetDefault() (result GeographicHierarchy, err error) { + req, err := client.GetDefaultPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "trafficmanager.GeographicHierarchiesClient", "GetDefault", nil, "Failure preparing request") + return + } + + resp, err := client.GetDefaultSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "trafficmanager.GeographicHierarchiesClient", "GetDefault", resp, "Failure sending request") + return + } + + result, err = client.GetDefaultResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "trafficmanager.GeographicHierarchiesClient", "GetDefault", resp, "Failure responding to request") + } + + return +} + +// GetDefaultPreparer prepares the GetDefault request. +func (client GeographicHierarchiesClient) GetDefaultPreparer() (*http.Request, error) { + const APIVersion = "2017-09-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Network/trafficManagerGeographicHierarchies/default"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetDefaultSender sends the GetDefault request. The method will close the +// http.Response Body if it receives an error. +func (client GeographicHierarchiesClient) GetDefaultSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetDefaultResponder handles the response to the GetDefault request. The method always +// closes the http.Response Body. +func (client GeographicHierarchiesClient) GetDefaultResponder(resp *http.Response) (result GeographicHierarchy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/heatmap.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/heatmap.go new file mode 100644 index 000000000..81c9ca5e2 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/heatmap.go @@ -0,0 +1,129 @@ +package trafficmanager + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// HeatMapClient is the client for the HeatMap methods of the Trafficmanager service. +type HeatMapClient struct { + ManagementClient +} + +// NewHeatMapClient creates an instance of the HeatMapClient client. +func NewHeatMapClient(subscriptionID string) HeatMapClient { + return NewHeatMapClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewHeatMapClientWithBaseURI creates an instance of the HeatMapClient client. +func NewHeatMapClientWithBaseURI(baseURI string, subscriptionID string) HeatMapClient { + return HeatMapClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets latest heatmap for Traffic Manager profile. +// +// resourceGroupName is the name of the resource group containing the Traffic Manager endpoint. profileName is the name +// of the Traffic Manager profile. heatMapType is the type of HeatMap for the Traffic Manager profile. topLeft is the +// top left latitude,longitude pair of the rectangular viewport to query for. botRight is the bottom right +// latitude,longitude pair of the rectangular viewport to query for. +func (client HeatMapClient) Get(resourceGroupName string, profileName string, heatMapType string, topLeft []float64, botRight []float64) (result HeatMapModel, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: topLeft, + Constraints: []validation.Constraint{{Target: "topLeft", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "topLeft", Name: validation.MaxItems, Rule: 2, Chain: nil}, + {Target: "topLeft", Name: validation.MinItems, Rule: 2, Chain: nil}, + }}}}, + {TargetValue: botRight, + Constraints: []validation.Constraint{{Target: "botRight", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "botRight", Name: validation.MaxItems, Rule: 2, Chain: nil}, + {Target: "botRight", Name: validation.MinItems, Rule: 2, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "trafficmanager.HeatMapClient", "Get") + } + + req, err := client.GetPreparer(resourceGroupName, profileName, heatMapType, topLeft, botRight) + if err != nil { + err = autorest.NewErrorWithError(err, "trafficmanager.HeatMapClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "trafficmanager.HeatMapClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "trafficmanager.HeatMapClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client HeatMapClient) GetPreparer(resourceGroupName string, profileName string, heatMapType string, topLeft []float64, botRight []float64) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "heatMapType": autorest.Encode("path", heatMapType), + "profileName": autorest.Encode("path", profileName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if topLeft != nil && len(topLeft) > 0 { + queryParameters["topLeft"] = autorest.Encode("query", topLeft, ",") + } + if botRight != nil && len(botRight) > 0 { + queryParameters["botRight"] = autorest.Encode("query", botRight, ",") + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/heatMaps/{heatMapType}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client HeatMapClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client HeatMapClient) GetResponder(resp *http.Response) (result HeatMapModel, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/models.go index a70d07036..5c5bd2bf3 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/models.go @@ -14,21 +14,121 @@ package trafficmanager // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/date" ) -// CheckTrafficManagerRelativeDNSNameAvailabilityParameters is parameters -// supplied to check Traffic Manager name operation. +// EndpointMonitorStatus enumerates the values for endpoint monitor status. +type EndpointMonitorStatus string + +const ( + // CheckingEndpoint specifies the checking endpoint state for endpoint monitor status. + CheckingEndpoint EndpointMonitorStatus = "CheckingEndpoint" + // Degraded specifies the degraded state for endpoint monitor status. + Degraded EndpointMonitorStatus = "Degraded" + // Disabled specifies the disabled state for endpoint monitor status. + Disabled EndpointMonitorStatus = "Disabled" + // Inactive specifies the inactive state for endpoint monitor status. + Inactive EndpointMonitorStatus = "Inactive" + // Online specifies the online state for endpoint monitor status. + Online EndpointMonitorStatus = "Online" + // Stopped specifies the stopped state for endpoint monitor status. + Stopped EndpointMonitorStatus = "Stopped" +) + +// EndpointStatus enumerates the values for endpoint status. +type EndpointStatus string + +const ( + // EndpointStatusDisabled specifies the endpoint status disabled state for endpoint status. + EndpointStatusDisabled EndpointStatus = "Disabled" + // EndpointStatusEnabled specifies the endpoint status enabled state for endpoint status. + EndpointStatusEnabled EndpointStatus = "Enabled" +) + +// MonitorProtocol enumerates the values for monitor protocol. +type MonitorProtocol string + +const ( + // HTTP specifies the http state for monitor protocol. + HTTP MonitorProtocol = "HTTP" + // HTTPS specifies the https state for monitor protocol. + HTTPS MonitorProtocol = "HTTPS" + // TCP specifies the tcp state for monitor protocol. + TCP MonitorProtocol = "TCP" +) + +// ProfileMonitorStatus enumerates the values for profile monitor status. +type ProfileMonitorStatus string + +const ( + // ProfileMonitorStatusCheckingEndpoints specifies the profile monitor status checking endpoints state for profile + // monitor status. + ProfileMonitorStatusCheckingEndpoints ProfileMonitorStatus = "CheckingEndpoints" + // ProfileMonitorStatusDegraded specifies the profile monitor status degraded state for profile monitor status. + ProfileMonitorStatusDegraded ProfileMonitorStatus = "Degraded" + // ProfileMonitorStatusDisabled specifies the profile monitor status disabled state for profile monitor status. + ProfileMonitorStatusDisabled ProfileMonitorStatus = "Disabled" + // ProfileMonitorStatusInactive specifies the profile monitor status inactive state for profile monitor status. + ProfileMonitorStatusInactive ProfileMonitorStatus = "Inactive" + // ProfileMonitorStatusOnline specifies the profile monitor status online state for profile monitor status. + ProfileMonitorStatusOnline ProfileMonitorStatus = "Online" +) + +// ProfileStatus enumerates the values for profile status. +type ProfileStatus string + +const ( + // ProfileStatusDisabled specifies the profile status disabled state for profile status. + ProfileStatusDisabled ProfileStatus = "Disabled" + // ProfileStatusEnabled specifies the profile status enabled state for profile status. + ProfileStatusEnabled ProfileStatus = "Enabled" +) + +// TrafficRoutingMethod enumerates the values for traffic routing method. +type TrafficRoutingMethod string + +const ( + // Geographic specifies the geographic state for traffic routing method. + Geographic TrafficRoutingMethod = "Geographic" + // Performance specifies the performance state for traffic routing method. + Performance TrafficRoutingMethod = "Performance" + // Priority specifies the priority state for traffic routing method. + Priority TrafficRoutingMethod = "Priority" + // Weighted specifies the weighted state for traffic routing method. + Weighted TrafficRoutingMethod = "Weighted" +) + +// CheckTrafficManagerRelativeDNSNameAvailabilityParameters is parameters supplied to check Traffic Manager name +// operation. type CheckTrafficManagerRelativeDNSNameAvailabilityParameters struct { Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` } +// CloudError is an error returned by the Azure Resource Manager +type CloudError struct { + Error *CloudErrorBody `json:"error,omitempty"` +} + +// CloudErrorBody is the content of an error returned by the Azure Resource Manager +type CloudErrorBody struct { + Code *string `json:"code,omitempty"` + Message *string `json:"message,omitempty"` + Target *string `json:"target,omitempty"` + Details *[]CloudErrorBody `json:"details,omitempty"` +} + +// DeleteOperationResult is the result of the request or operation. +type DeleteOperationResult struct { + autorest.Response `json:"-"` + OperationResult *bool `json:"boolean,omitempty"` +} + // DNSConfig is class containing DNS settings in a Traffic Manager profile. type DNSConfig struct { RelativeName *string `json:"relativeName,omitempty"` @@ -45,30 +145,69 @@ type Endpoint struct { *EndpointProperties `json:"properties,omitempty"` } -// EndpointProperties is class representing a Traffic Manager endpoint -// properties. +// EndpointProperties is class representing a Traffic Manager endpoint properties. type EndpointProperties struct { - TargetResourceID *string `json:"targetResourceId,omitempty"` - Target *string `json:"target,omitempty"` - EndpointStatus *string `json:"endpointStatus,omitempty"` - Weight *int64 `json:"weight,omitempty"` - Priority *int64 `json:"priority,omitempty"` - EndpointLocation *string `json:"endpointLocation,omitempty"` - EndpointMonitorStatus *string `json:"endpointMonitorStatus,omitempty"` - MinChildEndpoints *int64 `json:"minChildEndpoints,omitempty"` + TargetResourceID *string `json:"targetResourceId,omitempty"` + Target *string `json:"target,omitempty"` + EndpointStatus EndpointStatus `json:"endpointStatus,omitempty"` + Weight *int64 `json:"weight,omitempty"` + Priority *int64 `json:"priority,omitempty"` + EndpointLocation *string `json:"endpointLocation,omitempty"` + EndpointMonitorStatus EndpointMonitorStatus `json:"endpointMonitorStatus,omitempty"` + MinChildEndpoints *int64 `json:"minChildEndpoints,omitempty"` + GeoMapping *[]string `json:"geoMapping,omitempty"` } -// MonitorConfig is class containing endpoint monitoring settings in a Traffic -// Manager profile. +// GeographicHierarchy is class representing the Geographic hierarchy used with the Geographic traffic routing method. +type GeographicHierarchy struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *GeographicHierarchyProperties `json:"properties,omitempty"` +} + +// GeographicHierarchyProperties is class representing the properties of the Geographic hierarchy used with the +// Geographic traffic routing method. +type GeographicHierarchyProperties struct { + GeographicHierarchy *Region `json:"geographicHierarchy,omitempty"` +} + +// HeatMapEndpoint is class which is a sparse representation of a Traffic Manager endpoint. +type HeatMapEndpoint struct { + ResourceID *string `json:"resourceId,omitempty"` + EndpointID *int32 `json:"endpointId,omitempty"` +} + +// HeatMapModel is class representing a Traffic Manager HeatMap. +type HeatMapModel struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` + *HeatMapProperties `json:"properties,omitempty"` +} + +// HeatMapProperties is class representing a Traffic Manager HeatMap properties. +type HeatMapProperties struct { + StartTime *date.Time `json:"startTime,omitempty"` + EndTime *date.Time `json:"endTime,omitempty"` + Endpoints *[]HeatMapEndpoint `json:"endpoints,omitempty"` + TrafficFlows *[]TrafficFlow `json:"trafficFlows,omitempty"` +} + +// MonitorConfig is class containing endpoint monitoring settings in a Traffic Manager profile. type MonitorConfig struct { - ProfileMonitorStatus *string `json:"profileMonitorStatus,omitempty"` - Protocol *string `json:"protocol,omitempty"` - Port *int64 `json:"port,omitempty"` - Path *string `json:"path,omitempty"` + ProfileMonitorStatus ProfileMonitorStatus `json:"profileMonitorStatus,omitempty"` + Protocol MonitorProtocol `json:"protocol,omitempty"` + Port *int64 `json:"port,omitempty"` + Path *string `json:"path,omitempty"` + IntervalInSeconds *int64 `json:"intervalInSeconds,omitempty"` + TimeoutInSeconds *int64 `json:"timeoutInSeconds,omitempty"` + ToleratedNumberOfFailures *int64 `json:"toleratedNumberOfFailures,omitempty"` } -// NameAvailability is class representing a Traffic Manager Name Availability -// response. +// NameAvailability is class representing a Traffic Manager Name Availability response. type NameAvailability struct { autorest.Response `json:"-"` Name *string `json:"name,omitempty"` @@ -84,8 +223,8 @@ type Profile struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` - Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` + Location *string `json:"location,omitempty"` *ProfileProperties `json:"properties,omitempty"` } @@ -95,26 +234,57 @@ type ProfileListResult struct { Value *[]Profile `json:"value,omitempty"` } -// ProfileProperties is class representing the Traffic Manager profile -// properties. +// ProfileProperties is class representing the Traffic Manager profile properties. type ProfileProperties struct { - ProfileStatus *string `json:"profileStatus,omitempty"` - TrafficRoutingMethod *string `json:"trafficRoutingMethod,omitempty"` - DNSConfig *DNSConfig `json:"dnsConfig,omitempty"` - MonitorConfig *MonitorConfig `json:"monitorConfig,omitempty"` - Endpoints *[]Endpoint `json:"endpoints,omitempty"` + ProfileStatus ProfileStatus `json:"profileStatus,omitempty"` + TrafficRoutingMethod TrafficRoutingMethod `json:"trafficRoutingMethod,omitempty"` + DNSConfig *DNSConfig `json:"dnsConfig,omitempty"` + MonitorConfig *MonitorConfig `json:"monitorConfig,omitempty"` + Endpoints *[]Endpoint `json:"endpoints,omitempty"` } -// Resource is +// ProxyResource is the resource model definition for a ARM proxy resource. It will have everything other than required +// location and tags +type ProxyResource struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` +} + +// QueryExperience is class representing a Traffic Manager HeatMap query experience properties. +type QueryExperience struct { + EndpointID *int32 `json:"endpointId,omitempty"` + QueryCount *int32 `json:"queryCount,omitempty"` + Latency *float64 `json:"latency,omitempty"` +} + +// Region is class representing a region in the Geographic hierarchy used with the Geographic traffic routing method. +type Region struct { + Code *string `json:"code,omitempty"` + Name *string `json:"name,omitempty"` + Regions *[]Region `json:"regions,omitempty"` +} + +// Resource is the core properties of ARM resources type Resource struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Type *string `json:"type,omitempty"` +} + +// TrackedResource is the resource model definition for a ARM tracked top level resource +type TrackedResource struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` - Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` + Location *string `json:"location,omitempty"` } -// SubResource is -type SubResource struct { - ID *string `json:"id,omitempty"` +// TrafficFlow is class representing a Traffic Manager HeatMap traffic flow properties. +type TrafficFlow struct { + SourceIP *string `json:"sourceIp,omitempty"` + Latitude *float64 `json:"latitude,omitempty"` + Longitude *float64 `json:"longitude,omitempty"` + QueryExperiences *[]QueryExperience `json:"queryExperiences,omitempty"` } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/profiles.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/profiles.go index b1e2859d9..b310a18ee 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/profiles.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/profiles.go @@ -14,9 +14,8 @@ package trafficmanager // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,8 +23,7 @@ import ( "net/http" ) -// ProfilesClient is the client for the Profiles methods of the Trafficmanager -// service. +// ProfilesClient is the client for the Profiles methods of the Trafficmanager service. type ProfilesClient struct { ManagementClient } @@ -35,17 +33,14 @@ func NewProfilesClient(subscriptionID string) ProfilesClient { return NewProfilesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewProfilesClientWithBaseURI creates an instance of the ProfilesClient -// client. +// NewProfilesClientWithBaseURI creates an instance of the ProfilesClient client. func NewProfilesClientWithBaseURI(baseURI string, subscriptionID string) ProfilesClient { return ProfilesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CheckTrafficManagerRelativeDNSNameAvailability checks the availability of a -// Traffic Manager Relative DNS name. +// CheckTrafficManagerRelativeDNSNameAvailability checks the availability of a Traffic Manager Relative DNS name. // -// parameters is the Traffic Manager name parameters supplied to the -// CheckTrafficManagerNameAvailability operation. +// parameters is the Traffic Manager name parameters supplied to the CheckTrafficManagerNameAvailability operation. func (client ProfilesClient) CheckTrafficManagerRelativeDNSNameAvailability(parameters CheckTrafficManagerRelativeDNSNameAvailabilityParameters) (result NameAvailability, err error) { req, err := client.CheckTrafficManagerRelativeDNSNameAvailabilityPreparer(parameters) if err != nil { @@ -70,11 +65,7 @@ func (client ProfilesClient) CheckTrafficManagerRelativeDNSNameAvailability(para // CheckTrafficManagerRelativeDNSNameAvailabilityPreparer prepares the CheckTrafficManagerRelativeDNSNameAvailability request. func (client ProfilesClient) CheckTrafficManagerRelativeDNSNameAvailabilityPreparer(parameters CheckTrafficManagerRelativeDNSNameAvailabilityParameters) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2015-11-01" + const APIVersion = "2017-09-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -83,7 +74,7 @@ func (client ProfilesClient) CheckTrafficManagerRelativeDNSNameAvailabilityPrepa autorest.AsJSON(), autorest.AsPost(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/providers/Microsoft.Network/checkTrafficManagerNameAvailability", pathParameters), + autorest.WithPath("/providers/Microsoft.Network/checkTrafficManagerNameAvailability"), autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) @@ -110,10 +101,9 @@ func (client ProfilesClient) CheckTrafficManagerRelativeDNSNameAvailabilityRespo // CreateOrUpdate create or update a Traffic Manager profile. // -// resourceGroupName is the name of the resource group containing the Traffic -// Manager profile. profileName is the name of the Traffic Manager profile. -// parameters is the Traffic Manager profile parameters supplied to the -// CreateOrUpdate operation. +// resourceGroupName is the name of the resource group containing the Traffic Manager profile. profileName is the name +// of the Traffic Manager profile. parameters is the Traffic Manager profile parameters supplied to the CreateOrUpdate +// operation. func (client ProfilesClient) CreateOrUpdate(resourceGroupName string, profileName string, parameters Profile) (result Profile, err error) { req, err := client.CreateOrUpdatePreparer(resourceGroupName, profileName, parameters) if err != nil { @@ -144,7 +134,7 @@ func (client ProfilesClient) CreateOrUpdatePreparer(resourceGroupName string, pr "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-11-01" + const APIVersion = "2017-09-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -180,10 +170,9 @@ func (client ProfilesClient) CreateOrUpdateResponder(resp *http.Response) (resul // Delete deletes a Traffic Manager profile. // -// resourceGroupName is the name of the resource group containing the Traffic -// Manager profile to be deleted. profileName is the name of the Traffic -// Manager profile to be deleted. -func (client ProfilesClient) Delete(resourceGroupName string, profileName string) (result autorest.Response, err error) { +// resourceGroupName is the name of the resource group containing the Traffic Manager profile to be deleted. +// profileName is the name of the Traffic Manager profile to be deleted. +func (client ProfilesClient) Delete(resourceGroupName string, profileName string) (result DeleteOperationResult, err error) { req, err := client.DeletePreparer(resourceGroupName, profileName) if err != nil { err = autorest.NewErrorWithError(err, "trafficmanager.ProfilesClient", "Delete", nil, "Failure preparing request") @@ -192,7 +181,7 @@ func (client ProfilesClient) Delete(resourceGroupName string, profileName string resp, err := client.DeleteSender(req) if err != nil { - result.Response = resp + result.Response = autorest.Response{Response: resp} err = autorest.NewErrorWithError(err, "trafficmanager.ProfilesClient", "Delete", resp, "Failure sending request") return } @@ -213,7 +202,7 @@ func (client ProfilesClient) DeletePreparer(resourceGroupName string, profileNam "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-11-01" + const APIVersion = "2017-09-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -234,20 +223,21 @@ func (client ProfilesClient) DeleteSender(req *http.Request) (*http.Response, er // DeleteResponder handles the response to the Delete request. The method always // closes the http.Response Body. -func (client ProfilesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { +func (client ProfilesClient) DeleteResponder(resp *http.Response) (result DeleteOperationResult, err error) { err = autorest.Respond( resp, client.ByInspecting(), azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) - result.Response = resp + result.Response = autorest.Response{Response: resp} return } // Get gets a Traffic Manager profile. // -// resourceGroupName is the name of the resource group containing the Traffic -// Manager profile. profileName is the name of the Traffic Manager profile. +// resourceGroupName is the name of the resource group containing the Traffic Manager profile. profileName is the name +// of the Traffic Manager profile. func (client ProfilesClient) Get(resourceGroupName string, profileName string) (result Profile, err error) { req, err := client.GetPreparer(resourceGroupName, profileName) if err != nil { @@ -278,7 +268,7 @@ func (client ProfilesClient) GetPreparer(resourceGroupName string, profileName s "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-11-01" + const APIVersion = "2017-09-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -310,102 +300,39 @@ func (client ProfilesClient) GetResponder(resp *http.Response) (result Profile, return } -// ListAll lists all Traffic Manager profiles within a subscription. -func (client ProfilesClient) ListAll() (result ProfileListResult, err error) { - req, err := client.ListAllPreparer() - if err != nil { - err = autorest.NewErrorWithError(err, "trafficmanager.ProfilesClient", "ListAll", nil, "Failure preparing request") - return - } - - resp, err := client.ListAllSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "trafficmanager.ProfilesClient", "ListAll", resp, "Failure sending request") - return - } - - result, err = client.ListAllResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "trafficmanager.ProfilesClient", "ListAll", resp, "Failure responding to request") - } - - return -} - -// ListAllPreparer prepares the ListAll request. -func (client ProfilesClient) ListAllPreparer() (*http.Request, error) { - pathParameters := map[string]interface{}{ - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2015-11-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/trafficmanagerprofiles", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// ListAllSender sends the ListAll request. The method will close the -// http.Response Body if it receives an error. -func (client ProfilesClient) ListAllSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// ListAllResponder handles the response to the ListAll request. The method always -// closes the http.Response Body. -func (client ProfilesClient) ListAllResponder(resp *http.Response) (result ProfileListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListAllInResourceGroup lists all Traffic Manager profiles within a resource -// group. +// ListByResourceGroup lists all Traffic Manager profiles within a resource group. // -// resourceGroupName is the name of the resource group containing the Traffic -// Manager profiles to be listed. -func (client ProfilesClient) ListAllInResourceGroup(resourceGroupName string) (result ProfileListResult, err error) { - req, err := client.ListAllInResourceGroupPreparer(resourceGroupName) +// resourceGroupName is the name of the resource group containing the Traffic Manager profiles to be listed. +func (client ProfilesClient) ListByResourceGroup(resourceGroupName string) (result ProfileListResult, err error) { + req, err := client.ListByResourceGroupPreparer(resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "trafficmanager.ProfilesClient", "ListAllInResourceGroup", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "trafficmanager.ProfilesClient", "ListByResourceGroup", nil, "Failure preparing request") return } - resp, err := client.ListAllInResourceGroupSender(req) + resp, err := client.ListByResourceGroupSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "trafficmanager.ProfilesClient", "ListAllInResourceGroup", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "trafficmanager.ProfilesClient", "ListByResourceGroup", resp, "Failure sending request") return } - result, err = client.ListAllInResourceGroupResponder(resp) + result, err = client.ListByResourceGroupResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "trafficmanager.ProfilesClient", "ListAllInResourceGroup", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "trafficmanager.ProfilesClient", "ListByResourceGroup", resp, "Failure responding to request") } return } -// ListAllInResourceGroupPreparer prepares the ListAllInResourceGroup request. -func (client ProfilesClient) ListAllInResourceGroupPreparer(resourceGroupName string) (*http.Request, error) { +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ProfilesClient) ListByResourceGroupPreparer(resourceGroupName string) (*http.Request, error) { pathParameters := map[string]interface{}{ "resourceGroupName": autorest.Encode("path", resourceGroupName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-11-01" + const APIVersion = "2017-09-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -418,15 +345,76 @@ func (client ProfilesClient) ListAllInResourceGroupPreparer(resourceGroupName st return preparer.Prepare(&http.Request{}) } -// ListAllInResourceGroupSender sends the ListAllInResourceGroup request. The method will close the +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the // http.Response Body if it receives an error. -func (client ProfilesClient) ListAllInResourceGroupSender(req *http.Request) (*http.Response, error) { +func (client ProfilesClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { return autorest.SendWithSender(client, req) } -// ListAllInResourceGroupResponder handles the response to the ListAllInResourceGroup request. The method always +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always // closes the http.Response Body. -func (client ProfilesClient) ListAllInResourceGroupResponder(resp *http.Response) (result ProfileListResult, err error) { +func (client ProfilesClient) ListByResourceGroupResponder(resp *http.Response) (result ProfileListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListBySubscription lists all Traffic Manager profiles within a subscription. +func (client ProfilesClient) ListBySubscription() (result ProfileListResult, err error) { + req, err := client.ListBySubscriptionPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "trafficmanager.ProfilesClient", "ListBySubscription", nil, "Failure preparing request") + return + } + + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "trafficmanager.ProfilesClient", "ListBySubscription", resp, "Failure sending request") + return + } + + result, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "trafficmanager.ProfilesClient", "ListBySubscription", resp, "Failure responding to request") + } + + return +} + +// ListBySubscriptionPreparer prepares the ListBySubscription request. +func (client ProfilesClient) ListBySubscriptionPreparer() (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-09-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/trafficmanagerprofiles", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListBySubscriptionSender sends the ListBySubscription request. The method will close the +// http.Response Body if it receives an error. +func (client ProfilesClient) ListBySubscriptionSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListBySubscriptionResponder handles the response to the ListBySubscription request. The method always +// closes the http.Response Body. +func (client ProfilesClient) ListBySubscriptionResponder(resp *http.Response) (result ProfileListResult, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -439,9 +427,8 @@ func (client ProfilesClient) ListAllInResourceGroupResponder(resp *http.Response // Update update a Traffic Manager profile. // -// resourceGroupName is the name of the resource group containing the Traffic -// Manager profile. profileName is the name of the Traffic Manager profile. -// parameters is the Traffic Manager profile parameters supplied to the Update +// resourceGroupName is the name of the resource group containing the Traffic Manager profile. profileName is the name +// of the Traffic Manager profile. parameters is the Traffic Manager profile parameters supplied to the Update // operation. func (client ProfilesClient) Update(resourceGroupName string, profileName string, parameters Profile) (result Profile, err error) { req, err := client.UpdatePreparer(resourceGroupName, profileName, parameters) @@ -473,7 +460,7 @@ func (client ProfilesClient) UpdatePreparer(resourceGroupName string, profileNam "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2015-11-01" + const APIVersion = "2017-09-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/version.go index 20099f00d..2c13a8f84 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/trafficmanager/version.go @@ -14,16 +14,15 @@ package trafficmanager // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-trafficmanager/2015-11-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-trafficmanager/2017-09-01-preview" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/visualstudio/accounts.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/visualstudio/accounts.go new file mode 100644 index 000000000..3996f5084 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/visualstudio/accounts.go @@ -0,0 +1,370 @@ +package visualstudio + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// AccountsClient is the use these APIs to manage Visual Studio Team Services resources through the Azure Resource +// Manager. All task operations conform to the HTTP/1.1 protocol specification and each operation returns an +// x-ms-request-id header that can be used to obtain information about the request. You must make sure that requests +// made to these resources are secure. For more information, see https://docs.microsoft.com/en-us/rest/api/index. +type AccountsClient struct { + ManagementClient +} + +// NewAccountsClient creates an instance of the AccountsClient client. +func NewAccountsClient(subscriptionID string) AccountsClient { + return NewAccountsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAccountsClientWithBaseURI creates an instance of the AccountsClient client. +func NewAccountsClientWithBaseURI(baseURI string, subscriptionID string) AccountsClient { + return AccountsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CheckNameAvailability checks if the specified Visual Studio Team Services account name is available. Resource name +// can be either an account name or an account name and PUID. +// +// body is parameters describing the name to check availability for. +func (client AccountsClient) CheckNameAvailability(body CheckNameAvailabilityParameter) (result CheckNameAvailabilityResult, err error) { + req, err := client.CheckNameAvailabilityPreparer(body) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.AccountsClient", "CheckNameAvailability", nil, "Failure preparing request") + return + } + + resp, err := client.CheckNameAvailabilitySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "visualstudio.AccountsClient", "CheckNameAvailability", resp, "Failure sending request") + return + } + + result, err = client.CheckNameAvailabilityResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.AccountsClient", "CheckNameAvailability", resp, "Failure responding to request") + } + + return +} + +// CheckNameAvailabilityPreparer prepares the CheckNameAvailability request. +func (client AccountsClient) CheckNameAvailabilityPreparer(body CheckNameAvailabilityParameter) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/microsoft.visualstudio/checkNameAvailability", pathParameters), + autorest.WithJSON(body), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CheckNameAvailabilitySender sends the CheckNameAvailability request. The method will close the +// http.Response Body if it receives an error. +func (client AccountsClient) CheckNameAvailabilitySender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CheckNameAvailabilityResponder handles the response to the CheckNameAvailability request. The method always +// closes the http.Response Body. +func (client AccountsClient) CheckNameAvailabilityResponder(resp *http.Response) (result CheckNameAvailabilityResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdate creates or updates a Visual Studio Team Services account resource. +// +// resourceGroupName is name of the resource group within the Azure subscription. body is the request data. +// resourceName is name of the resource. +func (client AccountsClient) CreateOrUpdate(resourceGroupName string, body AccountResourceRequest, resourceName string) (result AccountResource, err error) { + req, err := client.CreateOrUpdatePreparer(resourceGroupName, body, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.AccountsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "visualstudio.AccountsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.AccountsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client AccountsClient) CreateOrUpdatePreparer(resourceGroupName string, body AccountResourceRequest, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{resourceName}", pathParameters), + autorest.WithJSON(body), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client AccountsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client AccountsClient) CreateOrUpdateResponder(resp *http.Response) (result AccountResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a Visual Studio Team Services account resource. +// +// resourceGroupName is name of the resource group within the Azure subscription. resourceName is name of the resource. +func (client AccountsClient) Delete(resourceGroupName string, resourceName string) (result autorest.Response, err error) { + req, err := client.DeletePreparer(resourceGroupName, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.AccountsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "visualstudio.AccountsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.AccountsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client AccountsClient) DeletePreparer(resourceGroupName string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{resourceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client AccountsClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client AccountsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the Visual Studio Team Services account resource details. +// +// resourceGroupName is name of the resource group within the Azure subscription. resourceName is name of the resource. +func (client AccountsClient) Get(resourceGroupName string, resourceName string) (result AccountResource, err error) { + req, err := client.GetPreparer(resourceGroupName, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.AccountsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "visualstudio.AccountsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.AccountsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client AccountsClient) GetPreparer(resourceGroupName string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{resourceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client AccountsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client AccountsClient) GetResponder(resp *http.Response) (result AccountResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroup gets all Visual Studio Team Services account resources under the resource group linked to the +// specified Azure subscription. +// +// resourceGroupName is name of the resource group within the Azure subscription. +func (client AccountsClient) ListByResourceGroup(resourceGroupName string) (result AccountResourceListResult, err error) { + req, err := client.ListByResourceGroupPreparer(resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.AccountsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "visualstudio.AccountsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.AccountsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client AccountsClient) ListByResourceGroupPreparer(resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client AccountsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client AccountsClient) ListByResourceGroupResponder(resp *http.Response) (result AccountResourceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/visualstudio/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/visualstudio/client.go new file mode 100644 index 000000000..b600ee9b1 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/visualstudio/client.go @@ -0,0 +1,54 @@ +// Package visualstudio implements the Azure ARM Visualstudio service API version 2014-04-01-preview. +// +// Use these APIs to manage Visual Studio Team Services resources through the Azure Resource Manager. All task +// operations conform to the HTTP/1.1 protocol specification and each operation returns an x-ms-request-id header that +// can be used to obtain information about the request. You must make sure that requests made to these resources are +// secure. For more information, see https://docs.microsoft.com/en-us/rest/api/index. +package visualstudio + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +const ( + // DefaultBaseURI is the default URI used for the service Visualstudio + DefaultBaseURI = "https://management.azure.com" +) + +// ManagementClient is the base client for Visualstudio. +type ManagementClient struct { + autorest.Client + BaseURI string + SubscriptionID string +} + +// New creates an instance of the ManagementClient client. +func New(subscriptionID string) ManagementClient { + return NewWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWithBaseURI creates an instance of the ManagementClient client. +func NewWithBaseURI(baseURI string, subscriptionID string) ManagementClient { + return ManagementClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + SubscriptionID: subscriptionID, + } +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/visualstudio/extensions.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/visualstudio/extensions.go new file mode 100644 index 000000000..ff00c8a81 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/visualstudio/extensions.go @@ -0,0 +1,381 @@ +package visualstudio + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// ExtensionsClient is the use these APIs to manage Visual Studio Team Services resources through the Azure Resource +// Manager. All task operations conform to the HTTP/1.1 protocol specification and each operation returns an +// x-ms-request-id header that can be used to obtain information about the request. You must make sure that requests +// made to these resources are secure. For more information, see https://docs.microsoft.com/en-us/rest/api/index. +type ExtensionsClient struct { + ManagementClient +} + +// NewExtensionsClient creates an instance of the ExtensionsClient client. +func NewExtensionsClient(subscriptionID string) ExtensionsClient { + return NewExtensionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExtensionsClientWithBaseURI creates an instance of the ExtensionsClient client. +func NewExtensionsClientWithBaseURI(baseURI string, subscriptionID string) ExtensionsClient { + return ExtensionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Create registers the extension with a Visual Studio Team Services account. +// +// resourceGroupName is name of the resource group within the Azure subscription. body is an object containing +// additional information related to the extension request. accountResourceName is the name of the Visual Studio Team +// Services account resource. extensionResourceName is the name of the extension. +func (client ExtensionsClient) Create(resourceGroupName string, body ExtensionResourceRequest, accountResourceName string, extensionResourceName string) (result ExtensionResource, err error) { + req, err := client.CreatePreparer(resourceGroupName, body, accountResourceName, extensionResourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.ExtensionsClient", "Create", nil, "Failure preparing request") + return + } + + resp, err := client.CreateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "visualstudio.ExtensionsClient", "Create", resp, "Failure sending request") + return + } + + result, err = client.CreateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.ExtensionsClient", "Create", resp, "Failure responding to request") + } + + return +} + +// CreatePreparer prepares the Create request. +func (client ExtensionsClient) CreatePreparer(resourceGroupName string, body ExtensionResourceRequest, accountResourceName string, extensionResourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountResourceName": autorest.Encode("path", accountResourceName), + "extensionResourceName": autorest.Encode("path", extensionResourceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension/{extensionResourceName}", pathParameters), + autorest.WithJSON(body), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client ExtensionsClient) CreateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client ExtensionsClient) CreateResponder(resp *http.Response) (result ExtensionResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete removes an extension resource registration for a Visual Studio Team Services account. +// +// resourceGroupName is name of the resource group within the Azure subscription. accountResourceName is the name of +// the Visual Studio Team Services account resource. extensionResourceName is the name of the extension. +func (client ExtensionsClient) Delete(resourceGroupName string, accountResourceName string, extensionResourceName string) (result autorest.Response, err error) { + req, err := client.DeletePreparer(resourceGroupName, accountResourceName, extensionResourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.ExtensionsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "visualstudio.ExtensionsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.ExtensionsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ExtensionsClient) DeletePreparer(resourceGroupName string, accountResourceName string, extensionResourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountResourceName": autorest.Encode("path", accountResourceName), + "extensionResourceName": autorest.Encode("path", extensionResourceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension/{extensionResourceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ExtensionsClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ExtensionsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the details of an extension associated with a Visual Studio Team Services account resource. +// +// resourceGroupName is name of the resource group within the Azure subscription. accountResourceName is the name of +// the Visual Studio Team Services account resource. extensionResourceName is the name of the extension. +func (client ExtensionsClient) Get(resourceGroupName string, accountResourceName string, extensionResourceName string) (result ExtensionResource, err error) { + req, err := client.GetPreparer(resourceGroupName, accountResourceName, extensionResourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.ExtensionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "visualstudio.ExtensionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.ExtensionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ExtensionsClient) GetPreparer(resourceGroupName string, accountResourceName string, extensionResourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountResourceName": autorest.Encode("path", accountResourceName), + "extensionResourceName": autorest.Encode("path", extensionResourceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension/{extensionResourceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ExtensionsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ExtensionsClient) GetResponder(resp *http.Response) (result ExtensionResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByAccount gets the details of the extension resources created within the resource group. +// +// resourceGroupName is name of the resource group within the Azure subscription. accountResourceName is the name of +// the Visual Studio Team Services account resource. +func (client ExtensionsClient) ListByAccount(resourceGroupName string, accountResourceName string) (result ExtensionResourceListResult, err error) { + req, err := client.ListByAccountPreparer(resourceGroupName, accountResourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.ExtensionsClient", "ListByAccount", nil, "Failure preparing request") + return + } + + resp, err := client.ListByAccountSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "visualstudio.ExtensionsClient", "ListByAccount", resp, "Failure sending request") + return + } + + result, err = client.ListByAccountResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.ExtensionsClient", "ListByAccount", resp, "Failure responding to request") + } + + return +} + +// ListByAccountPreparer prepares the ListByAccount request. +func (client ExtensionsClient) ListByAccountPreparer(resourceGroupName string, accountResourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountResourceName": autorest.Encode("path", accountResourceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByAccountSender sends the ListByAccount request. The method will close the +// http.Response Body if it receives an error. +func (client ExtensionsClient) ListByAccountSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByAccountResponder handles the response to the ListByAccount request. The method always +// closes the http.Response Body. +func (client ExtensionsClient) ListByAccountResponder(resp *http.Response) (result ExtensionResourceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update updates an existing extension registration for the Visual Studio Team Services account. +// +// resourceGroupName is name of the resource group within the Azure subscription. body is an object containing +// additional information related to the extension request. accountResourceName is the name of the Visual Studio Team +// Services account resource. extensionResourceName is the name of the extension. +func (client ExtensionsClient) Update(resourceGroupName string, body ExtensionResourceRequest, accountResourceName string, extensionResourceName string) (result ExtensionResource, err error) { + req, err := client.UpdatePreparer(resourceGroupName, body, accountResourceName, extensionResourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.ExtensionsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "visualstudio.ExtensionsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.ExtensionsClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client ExtensionsClient) UpdatePreparer(resourceGroupName string, body ExtensionResourceRequest, accountResourceName string, extensionResourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountResourceName": autorest.Encode("path", accountResourceName), + "extensionResourceName": autorest.Encode("path", extensionResourceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension/{extensionResourceName}", pathParameters), + autorest.WithJSON(body), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client ExtensionsClient) UpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client ExtensionsClient) UpdateResponder(resp *http.Response) (result ExtensionResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/visualstudio/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/visualstudio/models.go new file mode 100644 index 000000000..9b3bcfb9b --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/visualstudio/models.go @@ -0,0 +1,143 @@ +package visualstudio + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +// AccountResource is the response to an account resource GET request. +type AccountResource struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Location *string `json:"location,omitempty"` + Name *string `json:"name,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + Type *string `json:"type,omitempty"` + Properties *map[string]*string `json:"properties,omitempty"` +} + +// AccountResourceListResult is the response to an account resource list GET request. +type AccountResourceListResult struct { + autorest.Response `json:"-"` + Value *[]AccountResource `json:"value,omitempty"` +} + +// AccountResourceRequest is the body of a PUT request to modify a Visual Studio account resource. +type AccountResourceRequest struct { + AccountName *string `json:"accountName,omitempty"` + Location *string `json:"location,omitempty"` + OperationType *map[string]interface{} `json:"operationType,omitempty"` + Properties *map[string]*string `json:"properties,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` +} + +// CheckNameAvailabilityParameter is the body of a POST request to check name availability. +type CheckNameAvailabilityParameter struct { + ResourceName *string `json:"resourceName,omitempty"` + ResourceType *string `json:"resourceType,omitempty"` +} + +// CheckNameAvailabilityResult is the response to a name availability request. +type CheckNameAvailabilityResult struct { + autorest.Response `json:"-"` + Message *string `json:"message,omitempty"` + NameAvailable *bool `json:"nameAvailable,omitempty"` +} + +// ExtensionResource is the response to an extension resource GET request. +type ExtensionResource struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Location *string `json:"location,omitempty"` + Name *string `json:"name,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + Type *string `json:"type,omitempty"` + Plan *ExtensionResourcePlan `json:"plan,omitempty"` + Properties *map[string]*string `json:"properties,omitempty"` +} + +// ExtensionResourceListResult is the response to an extension resource list GET request. +type ExtensionResourceListResult struct { + autorest.Response `json:"-"` + Value *[]ExtensionResource `json:"value,omitempty"` +} + +// ExtensionResourcePlan is plan data for an extension resource. +type ExtensionResourcePlan struct { + Name *string `json:"name,omitempty"` + Product *string `json:"product,omitempty"` + PromotionCode *string `json:"promotionCode,omitempty"` + Publisher *string `json:"publisher,omitempty"` + Version *string `json:"version,omitempty"` +} + +// ExtensionResourceRequest is the body of an extension resource PUT request. +type ExtensionResourceRequest struct { + Location *string `json:"location,omitempty"` + Plan *ExtensionResourcePlan `json:"plan,omitempty"` + Properties *map[string]*string `json:"properties,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` +} + +// Operation is properties of an operation supported by the resource provider. +type Operation struct { + Display *OperationProperties `json:"display,omitempty"` + Name *string `json:"name,omitempty"` +} + +// OperationListResult is container for a list of operations supported by a resource provider. +type OperationListResult struct { + autorest.Response `json:"-"` + Value *[]Operation `json:"value,omitempty"` +} + +// OperationProperties is properties of an operation supported by the resource provider. +type OperationProperties struct { + Description *string `json:"description,omitempty"` + Operation *string `json:"operation,omitempty"` + Provider *string `json:"provider,omitempty"` + Resource *string `json:"resource,omitempty"` +} + +// ProjectResource is a Visual Studio Team Services project resource. +type ProjectResource struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Location *string `json:"location,omitempty"` + Name *string `json:"name,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + Type *string `json:"type,omitempty"` + Properties *map[string]*string `json:"properties,omitempty"` +} + +// ProjectResourceListResult is the response to a request to list Team Services project resources in a resource +// group/account. +type ProjectResourceListResult struct { + autorest.Response `json:"-"` + Value *[]ProjectResource `json:"value,omitempty"` +} + +// Resource is a generic Azure Resource Manager resource. +type Resource struct { + ID *string `json:"id,omitempty"` + Location *string `json:"location,omitempty"` + Name *string `json:"name,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + Type *string `json:"type,omitempty"` +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/visualstudio/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/visualstudio/operations.go new file mode 100644 index 000000000..c862a194b --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/visualstudio/operations.go @@ -0,0 +1,93 @@ +package visualstudio + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +// OperationsClient is the use these APIs to manage Visual Studio Team Services resources through the Azure Resource +// Manager. All task operations conform to the HTTP/1.1 protocol specification and each operation returns an +// x-ms-request-id header that can be used to obtain information about the request. You must make sure that requests +// made to these resources are secure. For more information, see https://docs.microsoft.com/en-us/rest/api/index. +type OperationsClient struct { + ManagementClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets the details of all operations possible on the Microsoft.VisualStudio resource provider. +func (client OperationsClient) List() (result OperationListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "visualstudio.OperationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer() (*http.Request, error) { + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/microsoft.visualstudio/operations")) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/visualstudio/projects.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/visualstudio/projects.go new file mode 100644 index 000000000..9becd6cd4 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/visualstudio/projects.go @@ -0,0 +1,413 @@ +package visualstudio + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + uuid "github.com/satori/go.uuid" + "net/http" +) + +// ProjectsClient is the use these APIs to manage Visual Studio Team Services resources through the Azure Resource +// Manager. All task operations conform to the HTTP/1.1 protocol specification and each operation returns an +// x-ms-request-id header that can be used to obtain information about the request. You must make sure that requests +// made to these resources are secure. For more information, see https://docs.microsoft.com/en-us/rest/api/index. +type ProjectsClient struct { + ManagementClient +} + +// NewProjectsClient creates an instance of the ProjectsClient client. +func NewProjectsClient(subscriptionID string) ProjectsClient { + return NewProjectsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewProjectsClientWithBaseURI creates an instance of the ProjectsClient client. +func NewProjectsClientWithBaseURI(baseURI string, subscriptionID string) ProjectsClient { + return ProjectsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Create creates a Team Services project in the collection with the specified name. 'VersionControlOption' and +// 'ProcessTemplateId' must be specified in the resource properties. Valid values for VersionControlOption: Git, Tfvc. +// Valid values for ProcessTemplateId: 6B724908-EF14-45CF-84F8-768B5384DA45, ADCC42AB-9882-485E-A3ED-7678F01F66BC, +// 27450541-8E31-4150-9947-DC59F998FC01 (these IDs correspond to Scrum, Agile, and CMMI process templates). This method +// may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to +// cancel polling and any outstanding HTTP requests. +// +// body is the request data. resourceGroupName is name of the resource group within the Azure subscription. +// rootResourceName is name of the Team Services account. resourceName is name of the Team Services project. validating +// is this parameter is ignored and should be set to an empty string. +func (client ProjectsClient) Create(body ProjectResource, resourceGroupName string, rootResourceName string, resourceName string, validating string, cancel <-chan struct{}) (<-chan ProjectResource, <-chan error) { + resultChan := make(chan ProjectResource, 1) + errChan := make(chan error, 1) + go func() { + var err error + var result ProjectResource + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreatePreparer(body, resourceGroupName, rootResourceName, resourceName, validating, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.ProjectsClient", "Create", nil, "Failure preparing request") + return + } + + resp, err := client.CreateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "visualstudio.ProjectsClient", "Create", resp, "Failure sending request") + return + } + + result, err = client.CreateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.ProjectsClient", "Create", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreatePreparer prepares the Create request. +func (client ProjectsClient) CreatePreparer(body ProjectResource, resourceGroupName string, rootResourceName string, resourceName string, validating string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "rootResourceName": autorest.Encode("path", rootResourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(validating) > 0 { + queryParameters["validating"] = autorest.Encode("query", validating) + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName}", pathParameters), + autorest.WithJSON(body), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client ProjectsClient) CreateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client ProjectsClient) CreateResponder(resp *http.Response) (result ProjectResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets the details of a Team Services project resource. +// +// resourceGroupName is name of the resource group within the Azure subscription. rootResourceName is name of the Team +// Services account. resourceName is name of the Team Services project. +func (client ProjectsClient) Get(resourceGroupName string, rootResourceName string, resourceName string) (result ProjectResource, err error) { + req, err := client.GetPreparer(resourceGroupName, rootResourceName, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.ProjectsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "visualstudio.ProjectsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.ProjectsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ProjectsClient) GetPreparer(resourceGroupName string, rootResourceName string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "rootResourceName": autorest.Encode("path", rootResourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ProjectsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ProjectsClient) GetResponder(resp *http.Response) (result ProjectResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetJobStatus gets the status of the project resource creation job. +// +// resourceGroupName is name of the resource group within the Azure subscription. rootResourceName is name of the Team +// Services account. resourceName is name of the Team Services project. subContainerName is this parameter should be +// set to the resourceName. operation is the operation type. The only supported value is 'put'. jobID is the job +// identifier. +func (client ProjectsClient) GetJobStatus(resourceGroupName string, rootResourceName string, resourceName string, subContainerName string, operation string, jobID *uuid.UUID) (result ProjectResource, err error) { + req, err := client.GetJobStatusPreparer(resourceGroupName, rootResourceName, resourceName, subContainerName, operation, jobID) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.ProjectsClient", "GetJobStatus", nil, "Failure preparing request") + return + } + + resp, err := client.GetJobStatusSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "visualstudio.ProjectsClient", "GetJobStatus", resp, "Failure sending request") + return + } + + result, err = client.GetJobStatusResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.ProjectsClient", "GetJobStatus", resp, "Failure responding to request") + } + + return +} + +// GetJobStatusPreparer prepares the GetJobStatus request. +func (client ProjectsClient) GetJobStatusPreparer(resourceGroupName string, rootResourceName string, resourceName string, subContainerName string, operation string, jobID *uuid.UUID) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "rootResourceName": autorest.Encode("path", rootResourceName), + "subContainerName": autorest.Encode("path", subContainerName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "operation": autorest.Encode("query", operation), + } + if jobID != nil { + queryParameters["jobId"] = autorest.Encode("query", *jobID) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName}/subContainers/{subContainerName}/status", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetJobStatusSender sends the GetJobStatus request. The method will close the +// http.Response Body if it receives an error. +func (client ProjectsClient) GetJobStatusSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetJobStatusResponder handles the response to the GetJobStatus request. The method always +// closes the http.Response Body. +func (client ProjectsClient) GetJobStatusResponder(resp *http.Response) (result ProjectResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroup gets all Visual Studio Team Services project resources created in the specified Team Services +// account. +// +// resourceGroupName is name of the resource group within the Azure subscription. rootResourceName is name of the Team +// Services account. +func (client ProjectsClient) ListByResourceGroup(resourceGroupName string, rootResourceName string) (result ProjectResourceListResult, err error) { + req, err := client.ListByResourceGroupPreparer(resourceGroupName, rootResourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.ProjectsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "visualstudio.ProjectsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.ProjectsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ProjectsClient) ListByResourceGroupPreparer(resourceGroupName string, rootResourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "rootResourceName": autorest.Encode("path", rootResourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ProjectsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ProjectsClient) ListByResourceGroupResponder(resp *http.Response) (result ProjectResourceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update updates the tags of the specified Team Services project. +// +// resourceGroupName is name of the resource group within the Azure subscription. body is the request data. +// rootResourceName is name of the Team Services account. resourceName is name of the Team Services project. +func (client ProjectsClient) Update(resourceGroupName string, body ProjectResource, rootResourceName string, resourceName string) (result ProjectResource, err error) { + req, err := client.UpdatePreparer(resourceGroupName, body, rootResourceName, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.ProjectsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "visualstudio.ProjectsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "visualstudio.ProjectsClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client ProjectsClient) UpdatePreparer(resourceGroupName string, body ProjectResource, rootResourceName string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "rootResourceName": autorest.Encode("path", rootResourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName}", pathParameters), + autorest.WithJSON(body), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client ProjectsClient) UpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client ProjectsClient) UpdateResponder(resp *http.Response) (result ProjectResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/visualstudio/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/visualstudio/version.go new file mode 100644 index 000000000..77dbeccb0 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/visualstudio/version.go @@ -0,0 +1,28 @@ +package visualstudio + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/v11.0.0-beta arm-visualstudio/2014-04-01-preview" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return "v11.0.0-beta" +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/apps.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/apps.go index 4515b48bc..37d1f6ef8 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/apps.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/apps.go @@ -14,9 +14,8 @@ package web // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// AppsClient is the composite Swagger for WebSite Management Client +// AppsClient is the webSite Management Client type AppsClient struct { ManagementClient } @@ -42,9 +41,8 @@ func NewAppsClientWithBaseURI(baseURI string, subscriptionID string) AppsClient // AddPremierAddOn updates a named add-on of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. premierAddOnName is add-on name. -// premierAddOn is a JSON representation of the edited premier add-on. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// premierAddOnName is add-on name. premierAddOn is a JSON representation of the edited premier add-on. func (client AppsClient) AddPremierAddOn(resourceGroupName string, name string, premierAddOnName string, premierAddOn PremierAddOn) (result PremierAddOn, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -120,11 +118,9 @@ func (client AppsClient) AddPremierAddOnResponder(resp *http.Response) (result P // AddPremierAddOnSlot updates a named add-on of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. premierAddOnName is add-on name. -// premierAddOn is a JSON representation of the edited premier add-on. slot is -// name of the deployment slot. If a slot is not specified, the API will update -// the named add-on for the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// premierAddOnName is add-on name. premierAddOn is a JSON representation of the edited premier add-on. slot is name of +// the deployment slot. If a slot is not specified, the API will update the named add-on for the production slot. func (client AppsClient) AddPremierAddOnSlot(resourceGroupName string, name string, premierAddOnName string, premierAddOn PremierAddOn, slot string) (result PremierAddOn, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -201,8 +197,8 @@ func (client AppsClient) AddPremierAddOnSlotResponder(resp *http.Response) (resu // AnalyzeCustomHostname analyze a custom hostname. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of web app hostName is custom hostname +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. hostName is +// custom hostname. func (client AppsClient) AnalyzeCustomHostname(resourceGroupName string, name string, hostName string) (result CustomHostnameAnalysisResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -278,9 +274,8 @@ func (client AppsClient) AnalyzeCustomHostnameResponder(resp *http.Response) (re // AnalyzeCustomHostnameSlot analyze a custom hostname. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of web app slot is name of web app slot. If not -// specified then will default to production slot. hostName is custom hostname +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. slot is name +// of web app slot. If not specified then will default to production slot. hostName is custom hostname. func (client AppsClient) AnalyzeCustomHostnameSlot(resourceGroupName string, name string, slot string, hostName string) (result CustomHostnameAnalysisResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -355,12 +350,10 @@ func (client AppsClient) AnalyzeCustomHostnameSlotResponder(resp *http.Response) return } -// ApplySlotConfigToProduction applies the configuration settings from the -// target slot onto the current slot. +// ApplySlotConfigToProduction applies the configuration settings from the target slot onto the current slot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slotSwapEntity is jSON object that -// contains the target slot name. See example. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// slotSwapEntity is JSON object that contains the target slot name. See example. func (client AppsClient) ApplySlotConfigToProduction(resourceGroupName string, name string, slotSwapEntity CsmSlotEntity) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -435,13 +428,11 @@ func (client AppsClient) ApplySlotConfigToProductionResponder(resp *http.Respons return } -// ApplySlotConfigurationSlot applies the configuration settings from the -// target slot onto the current slot. +// ApplySlotConfigurationSlot applies the configuration settings from the target slot onto the current slot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slotSwapEntity is jSON object that -// contains the target slot name. See example. slot is name of the source slot. -// If a slot is not specified, the production slot is used as the source slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// slotSwapEntity is JSON object that contains the target slot name. See example. slot is name of the source slot. If a +// slot is not specified, the production slot is used as the source slot. func (client AppsClient) ApplySlotConfigurationSlot(resourceGroupName string, name string, slotSwapEntity CsmSlotEntity, slot string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -519,9 +510,8 @@ func (client AppsClient) ApplySlotConfigurationSlotResponder(resp *http.Response // Backup creates a backup of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. request is backup configuration. You can -// use the JSON response from the POST action as input here. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. request is +// backup configuration. You can use the JSON response from the POST action as input here. func (client AppsClient) Backup(resourceGroupName string, name string, request BackupRequest) (result BackupItem, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -604,11 +594,9 @@ func (client AppsClient) BackupResponder(resp *http.Response) (result BackupItem // BackupSlot creates a backup of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. request is backup configuration. You can -// use the JSON response from the POST action as input here. slot is name of -// the deployment slot. If a slot is not specified, the API will create a -// backup for the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. request is +// backup configuration. You can use the JSON response from the POST action as input here. slot is name of the +// deployment slot. If a slot is not specified, the API will create a backup for the production slot. func (client AppsClient) BackupSlot(resourceGroupName string, name string, request BackupRequest, slot string) (result BackupItem, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -690,12 +678,10 @@ func (client AppsClient) BackupSlotResponder(resp *http.Response) (result Backup return } -// CreateDeployment create a deployment for an app, a specific deployment slot, -// and/or a specific scaled-out instance. +// CreateDeployment create a deployment for an app, or a deployment slot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. ID is iD of an existing deployment. -// deployment is deployment details. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. ID is ID of +// an existing deployment. deployment is deployment details. func (client AppsClient) CreateDeployment(resourceGroupName string, name string, ID string, deployment Deployment) (result Deployment, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -769,13 +755,11 @@ func (client AppsClient) CreateDeploymentResponder(resp *http.Response) (result return } -// CreateDeploymentSlot create a deployment for an app, a specific deployment -// slot, and/or a specific scaled-out instance. +// CreateDeploymentSlot create a deployment for an app, or a deployment slot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. ID is iD of an existing deployment. slot -// is name of the deployment slot. If a slot is not specified, the API creates -// a deployment for the production slot. deployment is deployment details. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. ID is ID of +// an existing deployment. slot is name of the deployment slot. If a slot is not specified, the API creates a +// deployment for the production slot. deployment is deployment details. func (client AppsClient) CreateDeploymentSlot(resourceGroupName string, name string, ID string, slot string, deployment Deployment) (result Deployment, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -850,48 +834,257 @@ func (client AppsClient) CreateDeploymentSlotResponder(resp *http.Response) (res return } -// CreateInstanceDeployment create a deployment for an app, a specific -// deployment slot, and/or a specific scaled-out instance. +// CreateFunction create function for web site, or a deployment slot. This method may poll for completion. Polling can +// be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding +// HTTP requests. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. ID is iD of an existing deployment. -// instanceID is iD of a specific scaled-out instance. This is the value of the -// name property in the JSON response from "GET api/sites/{siteName}/instances" -// deployment is deployment details. -func (client AppsClient) CreateInstanceDeployment(resourceGroupName string, name string, ID string, instanceID string, deployment Deployment) (result Deployment, err error) { +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. functionName is +// function name. functionEnvelope is function details. +func (client AppsClient) CreateFunction(resourceGroupName string, name string, functionName string, functionEnvelope FunctionEnvelope, cancel <-chan struct{}) (<-chan FunctionEnvelope, <-chan error) { + resultChan := make(chan FunctionEnvelope, 1) + errChan := make(chan error, 1) if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { - return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "CreateInstanceDeployment") + errChan <- validation.NewErrorWithValidationError(err, "web.AppsClient", "CreateFunction") + close(errChan) + close(resultChan) + return resultChan, errChan } - req, err := client.CreateInstanceDeploymentPreparer(resourceGroupName, name, ID, instanceID, deployment) - if err != nil { - err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateInstanceDeployment", nil, "Failure preparing request") - return + go func() { + var err error + var result FunctionEnvelope + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateFunctionPreparer(resourceGroupName, name, functionName, functionEnvelope, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateFunction", nil, "Failure preparing request") + return + } + + resp, err := client.CreateFunctionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateFunction", resp, "Failure sending request") + return + } + + result, err = client.CreateFunctionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateFunction", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateFunctionPreparer prepares the CreateFunction request. +func (client AppsClient) CreateFunctionPreparer(resourceGroupName string, name string, functionName string, functionEnvelope FunctionEnvelope, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "functionName": autorest.Encode("path", functionName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - resp, err := client.CreateInstanceDeploymentSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateInstanceDeployment", resp, "Failure sending request") - return + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, } - result, err = client.CreateInstanceDeploymentResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateInstanceDeployment", resp, "Failure responding to request") - } + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}", pathParameters), + autorest.WithJSON(functionEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} +// CreateFunctionSender sends the CreateFunction request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateFunctionSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateFunctionResponder handles the response to the CreateFunction request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateFunctionResponder(resp *http.Response) (result FunctionEnvelope, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} return } -// CreateInstanceDeploymentPreparer prepares the CreateInstanceDeployment request. -func (client AppsClient) CreateInstanceDeploymentPreparer(resourceGroupName string, name string, ID string, instanceID string, deployment Deployment) (*http.Request, error) { +// CreateInstanceFunctionSlot create function for web site, or a deployment slot. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. functionName is +// function name. slot is name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. functionEnvelope is function details. +func (client AppsClient) CreateInstanceFunctionSlot(resourceGroupName string, name string, functionName string, slot string, functionEnvelope FunctionEnvelope, cancel <-chan struct{}) (<-chan FunctionEnvelope, <-chan error) { + resultChan := make(chan FunctionEnvelope, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "web.AppsClient", "CreateInstanceFunctionSlot") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result FunctionEnvelope + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateInstanceFunctionSlotPreparer(resourceGroupName, name, functionName, slot, functionEnvelope, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateInstanceFunctionSlot", nil, "Failure preparing request") + return + } + + resp, err := client.CreateInstanceFunctionSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateInstanceFunctionSlot", resp, "Failure sending request") + return + } + + result, err = client.CreateInstanceFunctionSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateInstanceFunctionSlot", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateInstanceFunctionSlotPreparer prepares the CreateInstanceFunctionSlot request. +func (client AppsClient) CreateInstanceFunctionSlotPreparer(resourceGroupName string, name string, functionName string, slot string, functionEnvelope FunctionEnvelope, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "functionName": autorest.Encode("path", functionName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}", pathParameters), + autorest.WithJSON(functionEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateInstanceFunctionSlotSender sends the CreateInstanceFunctionSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateInstanceFunctionSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateInstanceFunctionSlotResponder handles the response to the CreateInstanceFunctionSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateInstanceFunctionSlotResponder(resp *http.Response) (result FunctionEnvelope, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateInstanceMSDeployOperation invoke the MSDeploy web app extension. This method may poll for completion. Polling +// can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. instanceID +// is ID of web app instance. mSDeploy is details of MSDeploy operation +func (client AppsClient) CreateInstanceMSDeployOperation(resourceGroupName string, name string, instanceID string, mSDeploy MSDeploy, cancel <-chan struct{}) (<-chan MSDeployStatus, <-chan error) { + resultChan := make(chan MSDeployStatus, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "web.AppsClient", "CreateInstanceMSDeployOperation") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result MSDeployStatus + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateInstanceMSDeployOperationPreparer(resourceGroupName, name, instanceID, mSDeploy, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateInstanceMSDeployOperation", nil, "Failure preparing request") + return + } + + resp, err := client.CreateInstanceMSDeployOperationSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateInstanceMSDeployOperation", resp, "Failure sending request") + return + } + + result, err = client.CreateInstanceMSDeployOperationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateInstanceMSDeployOperation", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateInstanceMSDeployOperationPreparer prepares the CreateInstanceMSDeployOperation request. +func (client AppsClient) CreateInstanceMSDeployOperationPreparer(resourceGroupName string, name string, instanceID string, mSDeploy MSDeploy, cancel <-chan struct{}) (*http.Request, error) { pathParameters := map[string]interface{}{ - "id": autorest.Encode("path", ID), "instanceId": autorest.Encode("path", instanceID), "name": autorest.Encode("path", name), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -907,75 +1100,89 @@ func (client AppsClient) CreateInstanceDeploymentPreparer(resourceGroupName stri autorest.AsJSON(), autorest.AsPut(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments/{id}", pathParameters), - autorest.WithJSON(deployment), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy", pathParameters), + autorest.WithJSON(mSDeploy), autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) + return preparer.Prepare(&http.Request{Cancel: cancel}) } -// CreateInstanceDeploymentSender sends the CreateInstanceDeployment request. The method will close the +// CreateInstanceMSDeployOperationSender sends the CreateInstanceMSDeployOperation request. The method will close the // http.Response Body if it receives an error. -func (client AppsClient) CreateInstanceDeploymentSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) +func (client AppsClient) CreateInstanceMSDeployOperationSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) } -// CreateInstanceDeploymentResponder handles the response to the CreateInstanceDeployment request. The method always +// CreateInstanceMSDeployOperationResponder handles the response to the CreateInstanceMSDeployOperation request. The method always // closes the http.Response Body. -func (client AppsClient) CreateInstanceDeploymentResponder(resp *http.Response) (result Deployment, err error) { +func (client AppsClient) CreateInstanceMSDeployOperationResponder(resp *http.Response) (result MSDeployStatus, err error) { err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusConflict), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// CreateInstanceDeploymentSlot create a deployment for an app, a specific -// deployment slot, and/or a specific scaled-out instance. +// CreateInstanceMSDeployOperationSlot invoke the MSDeploy web app extension. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. ID is iD of an existing deployment. slot -// is name of the deployment slot. If a slot is not specified, the API creates -// a deployment for the production slot. instanceID is iD of a specific -// scaled-out instance. This is the value of the name property in the JSON -// response from "GET api/sites/{siteName}/instances" deployment is deployment -// details. -func (client AppsClient) CreateInstanceDeploymentSlot(resourceGroupName string, name string, ID string, slot string, instanceID string, deployment Deployment) (result Deployment, err error) { +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. slot is name +// of web app slot. If not specified then will default to production slot. instanceID is ID of web app instance. +// mSDeploy is details of MSDeploy operation +func (client AppsClient) CreateInstanceMSDeployOperationSlot(resourceGroupName string, name string, slot string, instanceID string, mSDeploy MSDeploy, cancel <-chan struct{}) (<-chan MSDeployStatus, <-chan error) { + resultChan := make(chan MSDeployStatus, 1) + errChan := make(chan error, 1) if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { - return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "CreateInstanceDeploymentSlot") + errChan <- validation.NewErrorWithValidationError(err, "web.AppsClient", "CreateInstanceMSDeployOperationSlot") + close(errChan) + close(resultChan) + return resultChan, errChan } - req, err := client.CreateInstanceDeploymentSlotPreparer(resourceGroupName, name, ID, slot, instanceID, deployment) - if err != nil { - err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateInstanceDeploymentSlot", nil, "Failure preparing request") - return - } + go func() { + var err error + var result MSDeployStatus + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateInstanceMSDeployOperationSlotPreparer(resourceGroupName, name, slot, instanceID, mSDeploy, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateInstanceMSDeployOperationSlot", nil, "Failure preparing request") + return + } - resp, err := client.CreateInstanceDeploymentSlotSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateInstanceDeploymentSlot", resp, "Failure sending request") - return - } + resp, err := client.CreateInstanceMSDeployOperationSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateInstanceMSDeployOperationSlot", resp, "Failure sending request") + return + } - result, err = client.CreateInstanceDeploymentSlotResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateInstanceDeploymentSlot", resp, "Failure responding to request") - } - - return + result, err = client.CreateInstanceMSDeployOperationSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateInstanceMSDeployOperationSlot", resp, "Failure responding to request") + } + }() + return resultChan, errChan } -// CreateInstanceDeploymentSlotPreparer prepares the CreateInstanceDeploymentSlot request. -func (client AppsClient) CreateInstanceDeploymentSlotPreparer(resourceGroupName string, name string, ID string, slot string, instanceID string, deployment Deployment) (*http.Request, error) { +// CreateInstanceMSDeployOperationSlotPreparer prepares the CreateInstanceMSDeployOperationSlot request. +func (client AppsClient) CreateInstanceMSDeployOperationSlotPreparer(resourceGroupName string, name string, slot string, instanceID string, mSDeploy MSDeploy, cancel <-chan struct{}) (*http.Request, error) { pathParameters := map[string]interface{}{ - "id": autorest.Encode("path", ID), "instanceId": autorest.Encode("path", instanceID), "name": autorest.Encode("path", name), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -992,47 +1199,237 @@ func (client AppsClient) CreateInstanceDeploymentSlotPreparer(resourceGroupName autorest.AsJSON(), autorest.AsPut(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments/{id}", pathParameters), - autorest.WithJSON(deployment), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy", pathParameters), + autorest.WithJSON(mSDeploy), autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) + return preparer.Prepare(&http.Request{Cancel: cancel}) } -// CreateInstanceDeploymentSlotSender sends the CreateInstanceDeploymentSlot request. The method will close the +// CreateInstanceMSDeployOperationSlotSender sends the CreateInstanceMSDeployOperationSlot request. The method will close the // http.Response Body if it receives an error. -func (client AppsClient) CreateInstanceDeploymentSlotSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) +func (client AppsClient) CreateInstanceMSDeployOperationSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) } -// CreateInstanceDeploymentSlotResponder handles the response to the CreateInstanceDeploymentSlot request. The method always +// CreateInstanceMSDeployOperationSlotResponder handles the response to the CreateInstanceMSDeployOperationSlot request. The method always // closes the http.Response Body. -func (client AppsClient) CreateInstanceDeploymentSlotResponder(resp *http.Response) (result Deployment, err error) { +func (client AppsClient) CreateInstanceMSDeployOperationSlotResponder(resp *http.Response) (result MSDeployStatus, err error) { err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusConflict), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// CreateOrUpdate creates a new web, mobile, or API app in an existing resource -// group, or updates an existing app. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// CreateMSDeployOperation invoke the MSDeploy web app extension. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is unique name of the app to create or update. To create or -// update a deployment slot, use the {slot} parameter. siteEnvelope is a JSON -// representation of the app properties. See example. skipDNSRegistration is if -// true web app hostname is not registered with DNS on creation. This parameter -// is -// only used for app creation skipCustomDomainVerification is if true, custom -// (non *.azurewebsites.net) domains associated with web app are not verified. -// forceDNSRegistration is if true, web app hostname is force registered with -// DNS TTLInSeconds is time to live in seconds for web app's default domain -// name +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. mSDeploy is +// details of MSDeploy operation +func (client AppsClient) CreateMSDeployOperation(resourceGroupName string, name string, mSDeploy MSDeploy, cancel <-chan struct{}) (<-chan MSDeployStatus, <-chan error) { + resultChan := make(chan MSDeployStatus, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "web.AppsClient", "CreateMSDeployOperation") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result MSDeployStatus + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateMSDeployOperationPreparer(resourceGroupName, name, mSDeploy, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateMSDeployOperation", nil, "Failure preparing request") + return + } + + resp, err := client.CreateMSDeployOperationSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateMSDeployOperation", resp, "Failure sending request") + return + } + + result, err = client.CreateMSDeployOperationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateMSDeployOperation", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateMSDeployOperationPreparer prepares the CreateMSDeployOperation request. +func (client AppsClient) CreateMSDeployOperationPreparer(resourceGroupName string, name string, mSDeploy MSDeploy, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy", pathParameters), + autorest.WithJSON(mSDeploy), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateMSDeployOperationSender sends the CreateMSDeployOperation request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateMSDeployOperationSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateMSDeployOperationResponder handles the response to the CreateMSDeployOperation request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateMSDeployOperationResponder(resp *http.Response) (result MSDeployStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusConflict), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateMSDeployOperationSlot invoke the MSDeploy web app extension. This method may poll for completion. Polling can +// be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding +// HTTP requests. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. slot is name +// of web app slot. If not specified then will default to production slot. mSDeploy is details of MSDeploy operation +func (client AppsClient) CreateMSDeployOperationSlot(resourceGroupName string, name string, slot string, mSDeploy MSDeploy, cancel <-chan struct{}) (<-chan MSDeployStatus, <-chan error) { + resultChan := make(chan MSDeployStatus, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "web.AppsClient", "CreateMSDeployOperationSlot") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result MSDeployStatus + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.CreateMSDeployOperationSlotPreparer(resourceGroupName, name, slot, mSDeploy, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateMSDeployOperationSlot", nil, "Failure preparing request") + return + } + + resp, err := client.CreateMSDeployOperationSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateMSDeployOperationSlot", resp, "Failure sending request") + return + } + + result, err = client.CreateMSDeployOperationSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateMSDeployOperationSlot", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// CreateMSDeployOperationSlotPreparer prepares the CreateMSDeployOperationSlot request. +func (client AppsClient) CreateMSDeployOperationSlotPreparer(resourceGroupName string, name string, slot string, mSDeploy MSDeploy, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy", pathParameters), + autorest.WithJSON(mSDeploy), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// CreateMSDeployOperationSlotSender sends the CreateMSDeployOperationSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateMSDeployOperationSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// CreateMSDeployOperationSlotResponder handles the response to the CreateMSDeployOperationSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateMSDeployOperationSlotResponder(resp *http.Response) (result MSDeployStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusConflict), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdate creates a new web, mobile, or API app in an existing resource group, or updates an existing app. This +// method may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be +// used to cancel polling and any outstanding HTTP requests. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is unique name of the app to +// create or update. To create or update a deployment slot, use the {slot} parameter. siteEnvelope is a JSON +// representation of the app properties. See example. skipDNSRegistration is if true web app hostname is not registered +// with DNS on creation. This parameter is +// only used for app creation. skipCustomDomainVerification is if true, custom (non *.azurewebsites.net) domains +// associated with web app are not verified. forceDNSRegistration is if true, web app hostname is force registered with +// DNS. TTLInSeconds is time to live in seconds for web app's default domain name. func (client AppsClient) CreateOrUpdate(resourceGroupName string, name string, siteEnvelope Site, skipDNSRegistration *bool, skipCustomDomainVerification *bool, forceDNSRegistration *bool, TTLInSeconds string, cancel <-chan struct{}) (<-chan Site, <-chan error) { resultChan := make(chan Site, 1) errChan := make(chan error, 1) @@ -1043,12 +1440,8 @@ func (client AppsClient) CreateOrUpdate(resourceGroupName string, name string, s {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, {TargetValue: siteEnvelope, Constraints: []validation.Constraint{{Target: "siteEnvelope.SiteProperties", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "siteEnvelope.SiteProperties.SiteConfig", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "siteEnvelope.SiteProperties.SiteConfig.Push", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "siteEnvelope.SiteProperties.SiteConfig.Push.IsPushEnabled", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - {Target: "siteEnvelope.SiteProperties.CloningInfo", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "siteEnvelope.SiteProperties.CloningInfo.SourceWebAppID", Name: validation.Null, Rule: true, Chain: nil}}}, + Chain: []validation.Constraint{{Target: "siteEnvelope.SiteProperties.CloningInfo", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteEnvelope.SiteProperties.CloningInfo.SourceWebAppID", Name: validation.Null, Rule: true, Chain: nil}}}, }}}}}); err != nil { errChan <- validation.NewErrorWithValidationError(err, "web.AppsClient", "CreateOrUpdate") close(errChan) @@ -1060,8 +1453,10 @@ func (client AppsClient) CreateOrUpdate(resourceGroupName string, name string, s var err error var result Site defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -1144,20 +1539,14 @@ func (client AppsClient) CreateOrUpdateResponder(resp *http.Response) (result Si // CreateOrUpdateConfiguration updates the configuration of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. siteConfig is jSON representation of a -// SiteConfig object. See example. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. siteConfig +// is JSON representation of a SiteConfig object. See example. func (client AppsClient) CreateOrUpdateConfiguration(resourceGroupName string, name string, siteConfig SiteConfigResource) (result SiteConfigResource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, - {TargetValue: siteConfig, - Constraints: []validation.Constraint{{Target: "siteConfig.SiteConfig", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "siteConfig.SiteConfig.Push", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "siteConfig.SiteConfig.Push.IsPushEnabled", Name: validation.Null, Rule: true, Chain: nil}}}, - }}}}}); err != nil { + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "CreateOrUpdateConfiguration") } @@ -1226,22 +1615,15 @@ func (client AppsClient) CreateOrUpdateConfigurationResponder(resp *http.Respons // CreateOrUpdateConfigurationSlot updates the configuration of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. siteConfig is jSON representation of a -// SiteConfig object. See example. slot is name of the deployment slot. If a -// slot is not specified, the API will update configuration for the production -// slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. siteConfig +// is JSON representation of a SiteConfig object. See example. slot is name of the deployment slot. If a slot is not +// specified, the API will update configuration for the production slot. func (client AppsClient) CreateOrUpdateConfigurationSlot(resourceGroupName string, name string, siteConfig SiteConfigResource, slot string) (result SiteConfigResource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, - {TargetValue: siteConfig, - Constraints: []validation.Constraint{{Target: "siteConfig.SiteConfig", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "siteConfig.SiteConfig.Push", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "siteConfig.SiteConfig.Push.IsPushEnabled", Name: validation.Null, Rule: true, Chain: nil}}}, - }}}}}); err != nil { + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "CreateOrUpdateConfigurationSlot") } @@ -1309,12 +1691,11 @@ func (client AppsClient) CreateOrUpdateConfigurationSlotResponder(resp *http.Res return } -// CreateOrUpdateDomainOwnershipIdentifier creates a domain ownership -// identifier for web app, or updates an existing ownership identifier. +// CreateOrUpdateDomainOwnershipIdentifier creates a domain ownership identifier for web app, or updates an existing +// ownership identifier. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. domainOwnershipIdentifierName is name of -// domain ownership identifier. domainOwnershipIdentifier is a JSON +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// domainOwnershipIdentifierName is name of domain ownership identifier. domainOwnershipIdentifier is a JSON // representation of the domain ownership properties. func (client AppsClient) CreateOrUpdateDomainOwnershipIdentifier(resourceGroupName string, name string, domainOwnershipIdentifierName string, domainOwnershipIdentifier Identifier) (result Identifier, err error) { if err := validation.Validate([]validation.Validation{ @@ -1389,15 +1770,13 @@ func (client AppsClient) CreateOrUpdateDomainOwnershipIdentifierResponder(resp * return } -// CreateOrUpdateDomainOwnershipIdentifierSlot creates a domain ownership -// identifier for web app, or updates an existing ownership identifier. +// CreateOrUpdateDomainOwnershipIdentifierSlot creates a domain ownership identifier for web app, or updates an +// existing ownership identifier. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. domainOwnershipIdentifierName is name of -// domain ownership identifier. domainOwnershipIdentifier is a JSON -// representation of the domain ownership properties. slot is name of the -// deployment slot. If a slot is not specified, the API will delete the binding -// for the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// domainOwnershipIdentifierName is name of domain ownership identifier. domainOwnershipIdentifier is a JSON +// representation of the domain ownership properties. slot is name of the deployment slot. If a slot is not specified, +// the API will delete the binding for the production slot. func (client AppsClient) CreateOrUpdateDomainOwnershipIdentifierSlot(resourceGroupName string, name string, domainOwnershipIdentifierName string, domainOwnershipIdentifier Identifier, slot string) (result Identifier, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1474,10 +1853,9 @@ func (client AppsClient) CreateOrUpdateDomainOwnershipIdentifierSlotResponder(re // CreateOrUpdateHostNameBinding creates a hostname binding for an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. hostName is hostname in the hostname -// binding. hostNameBinding is binding details. This is the JSON representation -// of a HostNameBinding object. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. hostName is +// hostname in the hostname binding. hostNameBinding is binding details. This is the JSON representation of a +// HostNameBinding object. func (client AppsClient) CreateOrUpdateHostNameBinding(resourceGroupName string, name string, hostName string, hostNameBinding HostNameBinding) (result HostNameBinding, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1553,11 +1931,10 @@ func (client AppsClient) CreateOrUpdateHostNameBindingResponder(resp *http.Respo // CreateOrUpdateHostNameBindingSlot creates a hostname binding for an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. hostName is hostname in the hostname -// binding. hostNameBinding is binding details. This is the JSON representation -// of a HostNameBinding object. slot is name of the deployment slot. If a slot -// is not specified, the API will create a binding for the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. hostName is +// hostname in the hostname binding. hostNameBinding is binding details. This is the JSON representation of a +// HostNameBinding object. slot is name of the deployment slot. If a slot is not specified, the API will create a +// binding for the production slot. func (client AppsClient) CreateOrUpdateHostNameBindingSlot(resourceGroupName string, name string, hostName string, hostNameBinding HostNameBinding, slot string) (result HostNameBinding, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1632,13 +2009,11 @@ func (client AppsClient) CreateOrUpdateHostNameBindingSlotResponder(resp *http.R return } -// CreateOrUpdateHybridConnection creates a new Hybrid Connection using a -// Service Bus relay. +// CreateOrUpdateHybridConnection creates a new Hybrid Connection using a Service Bus relay. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is the name of the web app namespaceName is the namespace for -// this hybrid connection relayName is the relay name for this hybrid -// connection connectionEnvelope is the details of the hybrid connection +// resourceGroupName is name of the resource group to which the resource belongs. name is the name of the web app. +// namespaceName is the namespace for this hybrid connection. relayName is the relay name for this hybrid connection. +// connectionEnvelope is the details of the hybrid connection. func (client AppsClient) CreateOrUpdateHybridConnection(resourceGroupName string, name string, namespaceName string, relayName string, connectionEnvelope HybridConnection) (result HybridConnection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1713,14 +2088,11 @@ func (client AppsClient) CreateOrUpdateHybridConnectionResponder(resp *http.Resp return } -// CreateOrUpdateHybridConnectionSlot creates a new Hybrid Connection using a -// Service Bus relay. +// CreateOrUpdateHybridConnectionSlot creates a new Hybrid Connection using a Service Bus relay. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is the name of the web app namespaceName is the namespace for -// this hybrid connection relayName is the relay name for this hybrid -// connection connectionEnvelope is the details of the hybrid connection slot -// is the name of the slot for the web app. +// resourceGroupName is name of the resource group to which the resource belongs. name is the name of the web app. +// namespaceName is the namespace for this hybrid connection. relayName is the relay name for this hybrid connection. +// connectionEnvelope is the details of the hybrid connection. slot is the name of the slot for the web app. func (client AppsClient) CreateOrUpdateHybridConnectionSlot(resourceGroupName string, name string, namespaceName string, relayName string, connectionEnvelope HybridConnection, slot string) (result HybridConnection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1796,13 +2168,170 @@ func (client AppsClient) CreateOrUpdateHybridConnectionSlotResponder(resp *http. return } -// CreateOrUpdateRelayServiceConnection creates a new hybrid connection -// configuration (PUT), or updates an existing one (PATCH). +// CreateOrUpdatePublicCertificate creates a hostname binding for an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. entityName is name of the hybrid -// connection configuration. connectionEnvelope is details of the hybrid -// connection configuration. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// publicCertificateName is public certificate name. publicCertificate is public certificate details. This is the JSON +// representation of a PublicCertificate object. +func (client AppsClient) CreateOrUpdatePublicCertificate(resourceGroupName string, name string, publicCertificateName string, publicCertificate PublicCertificate) (result PublicCertificate, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "CreateOrUpdatePublicCertificate") + } + + req, err := client.CreateOrUpdatePublicCertificatePreparer(resourceGroupName, name, publicCertificateName, publicCertificate) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdatePublicCertificate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdatePublicCertificateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdatePublicCertificate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdatePublicCertificateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdatePublicCertificate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePublicCertificatePreparer prepares the CreateOrUpdatePublicCertificate request. +func (client AppsClient) CreateOrUpdatePublicCertificatePreparer(resourceGroupName string, name string, publicCertificateName string, publicCertificate PublicCertificate) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "publicCertificateName": autorest.Encode("path", publicCertificateName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}", pathParameters), + autorest.WithJSON(publicCertificate), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CreateOrUpdatePublicCertificateSender sends the CreateOrUpdatePublicCertificate request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateOrUpdatePublicCertificateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateOrUpdatePublicCertificateResponder handles the response to the CreateOrUpdatePublicCertificate request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateOrUpdatePublicCertificateResponder(resp *http.Response) (result PublicCertificate, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdatePublicCertificateSlot creates a hostname binding for an app. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// publicCertificateName is public certificate name. publicCertificate is public certificate details. This is the JSON +// representation of a PublicCertificate object. slot is name of the deployment slot. If a slot is not specified, the +// API will create a binding for the production slot. +func (client AppsClient) CreateOrUpdatePublicCertificateSlot(resourceGroupName string, name string, publicCertificateName string, publicCertificate PublicCertificate, slot string) (result PublicCertificate, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "CreateOrUpdatePublicCertificateSlot") + } + + req, err := client.CreateOrUpdatePublicCertificateSlotPreparer(resourceGroupName, name, publicCertificateName, publicCertificate, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdatePublicCertificateSlot", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdatePublicCertificateSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdatePublicCertificateSlot", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdatePublicCertificateSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdatePublicCertificateSlot", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePublicCertificateSlotPreparer prepares the CreateOrUpdatePublicCertificateSlot request. +func (client AppsClient) CreateOrUpdatePublicCertificateSlotPreparer(resourceGroupName string, name string, publicCertificateName string, publicCertificate PublicCertificate, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "publicCertificateName": autorest.Encode("path", publicCertificateName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}", pathParameters), + autorest.WithJSON(publicCertificate), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// CreateOrUpdatePublicCertificateSlotSender sends the CreateOrUpdatePublicCertificateSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateOrUpdatePublicCertificateSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateOrUpdatePublicCertificateSlotResponder handles the response to the CreateOrUpdatePublicCertificateSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateOrUpdatePublicCertificateSlotResponder(resp *http.Response) (result PublicCertificate, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateRelayServiceConnection creates a new hybrid connection configuration (PUT), or updates an existing one +// (PATCH). +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. entityName +// is name of the hybrid connection configuration. connectionEnvelope is details of the hybrid connection +// configuration. func (client AppsClient) CreateOrUpdateRelayServiceConnection(resourceGroupName string, name string, entityName string, connectionEnvelope RelayServiceConnectionEntity) (result RelayServiceConnectionEntity, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1876,15 +2405,13 @@ func (client AppsClient) CreateOrUpdateRelayServiceConnectionResponder(resp *htt return } -// CreateOrUpdateRelayServiceConnectionSlot creates a new hybrid connection -// configuration (PUT), or updates an existing one (PATCH). +// CreateOrUpdateRelayServiceConnectionSlot creates a new hybrid connection configuration (PUT), or updates an existing +// one (PATCH). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. entityName is name of the hybrid -// connection configuration. connectionEnvelope is details of the hybrid -// connection configuration. slot is name of the deployment slot. If a slot is -// not specified, the API will create or update a hybrid connection for the -// production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. entityName +// is name of the hybrid connection configuration. connectionEnvelope is details of the hybrid connection +// configuration. slot is name of the deployment slot. If a slot is not specified, the API will create or update a +// hybrid connection for the production slot. func (client AppsClient) CreateOrUpdateRelayServiceConnectionSlot(resourceGroupName string, name string, entityName string, connectionEnvelope RelayServiceConnectionEntity, slot string) (result RelayServiceConnectionEntity, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1959,24 +2486,18 @@ func (client AppsClient) CreateOrUpdateRelayServiceConnectionSlotResponder(resp return } -// CreateOrUpdateSlot creates a new web, mobile, or API app in an existing -// resource group, or updates an existing app. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// CreateOrUpdateSlot creates a new web, mobile, or API app in an existing resource group, or updates an existing app. +// This method may poll for completion. Polling can be canceled by passing the cancel channel argument. The channel +// will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is unique name of the app to create or update. To create or -// update a deployment slot, use the {slot} parameter. siteEnvelope is a JSON -// representation of the app properties. See example. slot is name of the -// deployment slot to create or update. By default, this API attempts to create -// or modify the production slot. skipDNSRegistration is if true web app -// hostname is not registered with DNS on creation. This parameter is -// only used for app creation skipCustomDomainVerification is if true, custom -// (non *.azurewebsites.net) domains associated with web app are not verified. -// forceDNSRegistration is if true, web app hostname is force registered with -// DNS TTLInSeconds is time to live in seconds for web app's default domain -// name +// resourceGroupName is name of the resource group to which the resource belongs. name is unique name of the app to +// create or update. To create or update a deployment slot, use the {slot} parameter. siteEnvelope is a JSON +// representation of the app properties. See example. slot is name of the deployment slot to create or update. By +// default, this API attempts to create or modify the production slot. skipDNSRegistration is if true web app hostname +// is not registered with DNS on creation. This parameter is +// only used for app creation. skipCustomDomainVerification is if true, custom (non *.azurewebsites.net) domains +// associated with web app are not verified. forceDNSRegistration is if true, web app hostname is force registered with +// DNS. TTLInSeconds is time to live in seconds for web app's default domain name. func (client AppsClient) CreateOrUpdateSlot(resourceGroupName string, name string, siteEnvelope Site, slot string, skipDNSRegistration *bool, skipCustomDomainVerification *bool, forceDNSRegistration *bool, TTLInSeconds string, cancel <-chan struct{}) (<-chan Site, <-chan error) { resultChan := make(chan Site, 1) errChan := make(chan error, 1) @@ -1987,12 +2508,8 @@ func (client AppsClient) CreateOrUpdateSlot(resourceGroupName string, name strin {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, {TargetValue: siteEnvelope, Constraints: []validation.Constraint{{Target: "siteEnvelope.SiteProperties", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "siteEnvelope.SiteProperties.SiteConfig", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "siteEnvelope.SiteProperties.SiteConfig.Push", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "siteEnvelope.SiteProperties.SiteConfig.Push.IsPushEnabled", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - {Target: "siteEnvelope.SiteProperties.CloningInfo", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "siteEnvelope.SiteProperties.CloningInfo.SourceWebAppID", Name: validation.Null, Rule: true, Chain: nil}}}, + Chain: []validation.Constraint{{Target: "siteEnvelope.SiteProperties.CloningInfo", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteEnvelope.SiteProperties.CloningInfo.SourceWebAppID", Name: validation.Null, Rule: true, Chain: nil}}}, }}}}}); err != nil { errChan <- validation.NewErrorWithValidationError(err, "web.AppsClient", "CreateOrUpdateSlot") close(errChan) @@ -2004,8 +2521,10 @@ func (client AppsClient) CreateOrUpdateSlot(resourceGroupName string, name strin var err error var result Site defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -2087,14 +2606,12 @@ func (client AppsClient) CreateOrUpdateSlotResponder(resp *http.Response) (resul return } -// CreateOrUpdateSourceControl updates the source control configuration of an -// app. This method may poll for completion. Polling can be canceled by passing -// the cancel channel argument. The channel will be used to cancel polling and -// any outstanding HTTP requests. +// CreateOrUpdateSourceControl updates the source control configuration of an app. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any +// outstanding HTTP requests. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. siteSourceControl is jSON representation -// of a SiteSourceControl object. See example. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// siteSourceControl is JSON representation of a SiteSourceControl object. See example. func (client AppsClient) CreateOrUpdateSourceControl(resourceGroupName string, name string, siteSourceControl SiteSourceControl, cancel <-chan struct{}) (<-chan SiteSourceControl, <-chan error) { resultChan := make(chan SiteSourceControl, 1) errChan := make(chan error, 1) @@ -2113,8 +2630,10 @@ func (client AppsClient) CreateOrUpdateSourceControl(resourceGroupName string, n var err error var result SiteSourceControl defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -2183,16 +2702,13 @@ func (client AppsClient) CreateOrUpdateSourceControlResponder(resp *http.Respons return } -// CreateOrUpdateSourceControlSlot updates the source control configuration of -// an app. This method may poll for completion. Polling can be canceled by -// passing the cancel channel argument. The channel will be used to cancel +// CreateOrUpdateSourceControlSlot updates the source control configuration of an app. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel // polling and any outstanding HTTP requests. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. siteSourceControl is jSON representation -// of a SiteSourceControl object. See example. slot is name of the deployment -// slot. If a slot is not specified, the API will update the source control -// configuration for the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// siteSourceControl is JSON representation of a SiteSourceControl object. See example. slot is name of the deployment +// slot. If a slot is not specified, the API will update the source control configuration for the production slot. func (client AppsClient) CreateOrUpdateSourceControlSlot(resourceGroupName string, name string, siteSourceControl SiteSourceControl, slot string, cancel <-chan struct{}) (<-chan SiteSourceControl, <-chan error) { resultChan := make(chan SiteSourceControl, 1) errChan := make(chan error, 1) @@ -2211,8 +2727,10 @@ func (client AppsClient) CreateOrUpdateSourceControlSlot(resourceGroupName strin var err error var result SiteSourceControl defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -2282,13 +2800,12 @@ func (client AppsClient) CreateOrUpdateSourceControlSlotResponder(resp *http.Res return } -// CreateOrUpdateVnetConnection adds a Virtual Network connection to an app or -// slot (PUT) or updates the connection properties (PATCH). +// CreateOrUpdateVnetConnection adds a Virtual Network connection to an app or slot (PUT) or updates the connection +// properties (PATCH). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. vnetName is name of an existing Virtual -// Network. connectionEnvelope is properties of the Virtual Network connection. -// See example. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. vnetName is +// name of an existing Virtual Network. connectionEnvelope is properties of the Virtual Network connection. See +// example. func (client AppsClient) CreateOrUpdateVnetConnection(resourceGroupName string, name string, vnetName string, connectionEnvelope VnetInfo) (result VnetInfo, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -2362,13 +2879,11 @@ func (client AppsClient) CreateOrUpdateVnetConnectionResponder(resp *http.Respon return } -// CreateOrUpdateVnetConnectionGateway adds a gateway to a connected Virtual -// Network (PUT) or updates it (PATCH). +// CreateOrUpdateVnetConnectionGateway adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. vnetName is name of the Virtual Network. -// gatewayName is name of the gateway. Currently, the only supported string is -// "primary". connectionEnvelope is the properties to update this gateway with. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. vnetName is +// name of the Virtual Network. gatewayName is name of the gateway. Currently, the only supported string is "primary". +// connectionEnvelope is the properties to update this gateway with. func (client AppsClient) CreateOrUpdateVnetConnectionGateway(resourceGroupName string, name string, vnetName string, gatewayName string, connectionEnvelope VnetGateway) (result VnetGateway, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -2443,15 +2958,12 @@ func (client AppsClient) CreateOrUpdateVnetConnectionGatewayResponder(resp *http return } -// CreateOrUpdateVnetConnectionGatewaySlot adds a gateway to a connected -// Virtual Network (PUT) or updates it (PATCH). +// CreateOrUpdateVnetConnectionGatewaySlot adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. vnetName is name of the Virtual Network. -// gatewayName is name of the gateway. Currently, the only supported string is -// "primary". connectionEnvelope is the properties to update this gateway with. -// slot is name of the deployment slot. If a slot is not specified, the API -// will add or update a gateway for the production slot's Virtual Network. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. vnetName is +// name of the Virtual Network. gatewayName is name of the gateway. Currently, the only supported string is "primary". +// connectionEnvelope is the properties to update this gateway with. slot is name of the deployment slot. If a slot is +// not specified, the API will add or update a gateway for the production slot's Virtual Network. func (client AppsClient) CreateOrUpdateVnetConnectionGatewaySlot(resourceGroupName string, name string, vnetName string, gatewayName string, connectionEnvelope VnetGateway, slot string) (result VnetGateway, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -2527,14 +3039,13 @@ func (client AppsClient) CreateOrUpdateVnetConnectionGatewaySlotResponder(resp * return } -// CreateOrUpdateVnetConnectionSlot adds a Virtual Network connection to an app -// or slot (PUT) or updates the connection properties (PATCH). +// CreateOrUpdateVnetConnectionSlot adds a Virtual Network connection to an app or slot (PUT) or updates the connection +// properties (PATCH). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. vnetName is name of an existing Virtual -// Network. connectionEnvelope is properties of the Virtual Network connection. -// See example. slot is name of the deployment slot. If a slot is not -// specified, the API will add or update connections for the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. vnetName is +// name of an existing Virtual Network. connectionEnvelope is properties of the Virtual Network connection. See +// example. slot is name of the deployment slot. If a slot is not specified, the API will add or update connections for +// the production slot. func (client AppsClient) CreateOrUpdateVnetConnectionSlot(resourceGroupName string, name string, vnetName string, connectionEnvelope VnetInfo, slot string) (result VnetInfo, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -2611,12 +3122,10 @@ func (client AppsClient) CreateOrUpdateVnetConnectionSlotResponder(resp *http.Re // Delete deletes a web, mobile, or API app, or one of the deployment slots. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app to delete. deleteMetrics is if true, web -// app metrics are also deleted deleteEmptyServerFarm is specify true if the -// App Service plan will be empty after app deletion and you want to delete the -// empty App Service plan. By default, the empty App Service plan is not -// deleted. skipDNSRegistration is if true, DNS registration is skipped +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app to delete. +// deleteMetrics is if true, web app metrics are also deleted. deleteEmptyServerFarm is specify true if the App Service +// plan will be empty after app deletion and you want to delete the empty App Service plan. By default, the empty App +// Service plan is not deleted. skipDNSRegistration is if true, DNS registration is skipped. func (client AppsClient) Delete(resourceGroupName string, name string, deleteMetrics *bool, deleteEmptyServerFarm *bool, skipDNSRegistration *bool) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -2697,8 +3206,8 @@ func (client AppsClient) DeleteResponder(resp *http.Response) (result autorest.R // DeleteBackup deletes a backup of an app by its ID. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. backupID is iD of the backup. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. backupID is +// ID of the backup. func (client AppsClient) DeleteBackup(resourceGroupName string, name string, backupID string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -2771,8 +3280,7 @@ func (client AppsClient) DeleteBackupResponder(resp *http.Response) (result auto // DeleteBackupConfiguration deletes the backup configuration of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) DeleteBackupConfiguration(resourceGroupName string, name string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -2844,10 +3352,9 @@ func (client AppsClient) DeleteBackupConfigurationResponder(resp *http.Response) // DeleteBackupConfigurationSlot deletes the backup configuration of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will delete the backup configuration for the -// production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will delete the backup configuration for the production +// slot. func (client AppsClient) DeleteBackupConfigurationSlot(resourceGroupName string, name string, slot string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -2920,10 +3427,9 @@ func (client AppsClient) DeleteBackupConfigurationSlotResponder(resp *http.Respo // DeleteBackupSlot deletes a backup of an app by its ID. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. backupID is iD of the backup. slot is name -// of the deployment slot. If a slot is not specified, the API will delete a -// backup of the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. backupID is +// ID of the backup. slot is name of the deployment slot. If a slot is not specified, the API will delete a backup of +// the production slot. func (client AppsClient) DeleteBackupSlot(resourceGroupName string, name string, backupID string, slot string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -2995,11 +3501,162 @@ func (client AppsClient) DeleteBackupSlotResponder(resp *http.Response) (result return } -// DeleteDeployment delete a deployment by its ID for an app, a specific -// deployment slot, and/or a specific scaled-out instance. +// DeleteContinuousWebJob delete a continuous web job by its ID for an app, or a deployment slot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. ID is deployment ID. +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. webJobID is web +// job ID. +func (client AppsClient) DeleteContinuousWebJob(resourceGroupName string, name string, webJobID string, webJobName string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "DeleteContinuousWebJob") + } + + req, err := client.DeleteContinuousWebJobPreparer(resourceGroupName, name, webJobID, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteContinuousWebJob", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteContinuousWebJobSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteContinuousWebJob", resp, "Failure sending request") + return + } + + result, err = client.DeleteContinuousWebJobResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteContinuousWebJob", resp, "Failure responding to request") + } + + return +} + +// DeleteContinuousWebJobPreparer prepares the DeleteContinuousWebJob request. +func (client AppsClient) DeleteContinuousWebJobPreparer(resourceGroupName string, name string, webJobID string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "webJobId": autorest.Encode("query", webJobID), + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteContinuousWebJobSender sends the DeleteContinuousWebJob request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteContinuousWebJobSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteContinuousWebJobResponder handles the response to the DeleteContinuousWebJob request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteContinuousWebJobResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteContinuousWebJobSlot delete a continuous web job by its ID for an app, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. webJobID is web +// job ID. slot is name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) DeleteContinuousWebJobSlot(resourceGroupName string, name string, webJobID string, slot string, webJobName string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "DeleteContinuousWebJobSlot") + } + + req, err := client.DeleteContinuousWebJobSlotPreparer(resourceGroupName, name, webJobID, slot, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteContinuousWebJobSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteContinuousWebJobSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteContinuousWebJobSlot", resp, "Failure sending request") + return + } + + result, err = client.DeleteContinuousWebJobSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteContinuousWebJobSlot", resp, "Failure responding to request") + } + + return +} + +// DeleteContinuousWebJobSlotPreparer prepares the DeleteContinuousWebJobSlot request. +func (client AppsClient) DeleteContinuousWebJobSlotPreparer(resourceGroupName string, name string, webJobID string, slot string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "webJobId": autorest.Encode("query", webJobID), + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteContinuousWebJobSlotSender sends the DeleteContinuousWebJobSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteContinuousWebJobSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteContinuousWebJobSlotResponder handles the response to the DeleteContinuousWebJobSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteContinuousWebJobSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteDeployment delete a deployment by its ID for an app, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. ID is +// deployment ID. func (client AppsClient) DeleteDeployment(resourceGroupName string, name string, ID string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -3070,13 +3727,11 @@ func (client AppsClient) DeleteDeploymentResponder(resp *http.Response) (result return } -// DeleteDeploymentSlot delete a deployment by its ID for an app, a specific -// deployment slot, and/or a specific scaled-out instance. +// DeleteDeploymentSlot delete a deployment by its ID for an app, or a deployment slot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. ID is deployment ID. slot is name of the -// deployment slot. If a slot is not specified, the API deletes a deployment -// for the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. ID is +// deployment ID. slot is name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. func (client AppsClient) DeleteDeploymentSlot(resourceGroupName string, name string, ID string, slot string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -3148,12 +3803,10 @@ func (client AppsClient) DeleteDeploymentSlotResponder(resp *http.Response) (res return } -// DeleteDomainOwnershipIdentifier deletes a domain ownership identifier for a -// web app. +// DeleteDomainOwnershipIdentifier deletes a domain ownership identifier for a web app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. domainOwnershipIdentifierName is name of -// domain ownership identifier. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// domainOwnershipIdentifierName is name of domain ownership identifier. func (client AppsClient) DeleteDomainOwnershipIdentifier(resourceGroupName string, name string, domainOwnershipIdentifierName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -3224,12 +3877,10 @@ func (client AppsClient) DeleteDomainOwnershipIdentifierResponder(resp *http.Res return } -// DeleteDomainOwnershipIdentifierSlot deletes a domain ownership identifier -// for a web app. +// DeleteDomainOwnershipIdentifierSlot deletes a domain ownership identifier for a web app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. domainOwnershipIdentifierName is name of -// domain ownership identifier. slot is name of the deployment slot. If a slot +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// domainOwnershipIdentifierName is name of domain ownership identifier. slot is name of the deployment slot. If a slot // is not specified, the API will delete the binding for the production slot. func (client AppsClient) DeleteDomainOwnershipIdentifierSlot(resourceGroupName string, name string, domainOwnershipIdentifierName string, slot string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ @@ -3302,11 +3953,84 @@ func (client AppsClient) DeleteDomainOwnershipIdentifierSlotResponder(resp *http return } +// DeleteFunction delete a function for web site, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. functionName is +// function name. +func (client AppsClient) DeleteFunction(resourceGroupName string, name string, functionName string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "DeleteFunction") + } + + req, err := client.DeleteFunctionPreparer(resourceGroupName, name, functionName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteFunction", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteFunctionSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteFunction", resp, "Failure sending request") + return + } + + result, err = client.DeleteFunctionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteFunction", resp, "Failure responding to request") + } + + return +} + +// DeleteFunctionPreparer prepares the DeleteFunction request. +func (client AppsClient) DeleteFunctionPreparer(resourceGroupName string, name string, functionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "functionName": autorest.Encode("path", functionName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteFunctionSender sends the DeleteFunction request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteFunctionSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteFunctionResponder handles the response to the DeleteFunction request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteFunctionResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + // DeleteHostNameBinding deletes a hostname binding for an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. hostName is hostname in the hostname -// binding. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. hostName is +// hostname in the hostname binding. func (client AppsClient) DeleteHostNameBinding(resourceGroupName string, name string, hostName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -3379,10 +4103,9 @@ func (client AppsClient) DeleteHostNameBindingResponder(resp *http.Response) (re // DeleteHostNameBindingSlot deletes a hostname binding for an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will delete the binding for the production -// slot. hostName is hostname in the hostname binding. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will delete the binding for the production slot. +// hostName is hostname in the hostname binding. func (client AppsClient) DeleteHostNameBindingSlot(resourceGroupName string, name string, slot string, hostName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -3456,10 +4179,8 @@ func (client AppsClient) DeleteHostNameBindingSlotResponder(resp *http.Response) // DeleteHybridConnection removes a Hybrid Connection from this site. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is the name of the web app namespaceName is the namespace for -// this hybrid connection relayName is the relay name for this hybrid -// connection +// resourceGroupName is name of the resource group to which the resource belongs. name is the name of the web app. +// namespaceName is the namespace for this hybrid connection. relayName is the relay name for this hybrid connection. func (client AppsClient) DeleteHybridConnection(resourceGroupName string, name string, namespaceName string, relayName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -3533,10 +4254,9 @@ func (client AppsClient) DeleteHybridConnectionResponder(resp *http.Response) (r // DeleteHybridConnectionSlot removes a Hybrid Connection from this site. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is the name of the web app namespaceName is the namespace for -// this hybrid connection relayName is the relay name for this hybrid -// connection slot is the name of the slot for the web app. +// resourceGroupName is name of the resource group to which the resource belongs. name is the name of the web app. +// namespaceName is the namespace for this hybrid connection. relayName is the relay name for this hybrid connection. +// slot is the name of the slot for the web app. func (client AppsClient) DeleteHybridConnectionSlot(resourceGroupName string, name string, namespaceName string, relayName string, slot string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -3609,128 +4329,45 @@ func (client AppsClient) DeleteHybridConnectionSlotResponder(resp *http.Response return } -// DeleteInstanceDeployment delete a deployment by its ID for an app, a -// specific deployment slot, and/or a specific scaled-out instance. +// DeleteInstanceFunctionSlot delete a function for web site, or a deployment slot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. ID is deployment ID. instanceID is iD of a -// specific scaled-out instance. This is the value of the name property in the -// JSON response from "GET api/sites/{siteName}/instances" -func (client AppsClient) DeleteInstanceDeployment(resourceGroupName string, name string, ID string, instanceID string) (result autorest.Response, err error) { +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. functionName is +// function name. slot is name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) DeleteInstanceFunctionSlot(resourceGroupName string, name string, functionName string, slot string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { - return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "DeleteInstanceDeployment") + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "DeleteInstanceFunctionSlot") } - req, err := client.DeleteInstanceDeploymentPreparer(resourceGroupName, name, ID, instanceID) + req, err := client.DeleteInstanceFunctionSlotPreparer(resourceGroupName, name, functionName, slot) if err != nil { - err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteInstanceDeployment", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteInstanceFunctionSlot", nil, "Failure preparing request") return } - resp, err := client.DeleteInstanceDeploymentSender(req) + resp, err := client.DeleteInstanceFunctionSlotSender(req) if err != nil { result.Response = resp - err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteInstanceDeployment", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteInstanceFunctionSlot", resp, "Failure sending request") return } - result, err = client.DeleteInstanceDeploymentResponder(resp) + result, err = client.DeleteInstanceFunctionSlotResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteInstanceDeployment", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteInstanceFunctionSlot", resp, "Failure responding to request") } return } -// DeleteInstanceDeploymentPreparer prepares the DeleteInstanceDeployment request. -func (client AppsClient) DeleteInstanceDeploymentPreparer(resourceGroupName string, name string, ID string, instanceID string) (*http.Request, error) { +// DeleteInstanceFunctionSlotPreparer prepares the DeleteInstanceFunctionSlot request. +func (client AppsClient) DeleteInstanceFunctionSlotPreparer(resourceGroupName string, name string, functionName string, slot string) (*http.Request, error) { pathParameters := map[string]interface{}{ - "id": autorest.Encode("path", ID), - "instanceId": autorest.Encode("path", instanceID), - "name": autorest.Encode("path", name), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2016-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments/{id}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// DeleteInstanceDeploymentSender sends the DeleteInstanceDeployment request. The method will close the -// http.Response Body if it receives an error. -func (client AppsClient) DeleteInstanceDeploymentSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// DeleteInstanceDeploymentResponder handles the response to the DeleteInstanceDeployment request. The method always -// closes the http.Response Body. -func (client AppsClient) DeleteInstanceDeploymentResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// DeleteInstanceDeploymentSlot delete a deployment by its ID for an app, a -// specific deployment slot, and/or a specific scaled-out instance. -// -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. ID is deployment ID. slot is name of the -// deployment slot. If a slot is not specified, the API deletes a deployment -// for the production slot. instanceID is iD of a specific scaled-out instance. -// This is the value of the name property in the JSON response from "GET -// api/sites/{siteName}/instances" -func (client AppsClient) DeleteInstanceDeploymentSlot(resourceGroupName string, name string, ID string, slot string, instanceID string) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { - return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "DeleteInstanceDeploymentSlot") - } - - req, err := client.DeleteInstanceDeploymentSlotPreparer(resourceGroupName, name, ID, slot, instanceID) - if err != nil { - err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteInstanceDeploymentSlot", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteInstanceDeploymentSlotSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteInstanceDeploymentSlot", resp, "Failure sending request") - return - } - - result, err = client.DeleteInstanceDeploymentSlotResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteInstanceDeploymentSlot", resp, "Failure responding to request") - } - - return -} - -// DeleteInstanceDeploymentSlotPreparer prepares the DeleteInstanceDeploymentSlot request. -func (client AppsClient) DeleteInstanceDeploymentSlotPreparer(resourceGroupName string, name string, ID string, slot string, instanceID string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "id": autorest.Encode("path", ID), - "instanceId": autorest.Encode("path", instanceID), + "functionName": autorest.Encode("path", functionName), "name": autorest.Encode("path", name), "resourceGroupName": autorest.Encode("path", resourceGroupName), "slot": autorest.Encode("path", slot), @@ -3745,24 +4382,180 @@ func (client AppsClient) DeleteInstanceDeploymentSlotPreparer(resourceGroupName preparer := autorest.CreatePreparer( autorest.AsDelete(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments/{id}", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } -// DeleteInstanceDeploymentSlotSender sends the DeleteInstanceDeploymentSlot request. The method will close the +// DeleteInstanceFunctionSlotSender sends the DeleteInstanceFunctionSlot request. The method will close the // http.Response Body if it receives an error. -func (client AppsClient) DeleteInstanceDeploymentSlotSender(req *http.Request) (*http.Response, error) { +func (client AppsClient) DeleteInstanceFunctionSlotSender(req *http.Request) (*http.Response, error) { return autorest.SendWithSender(client, req) } -// DeleteInstanceDeploymentSlotResponder handles the response to the DeleteInstanceDeploymentSlot request. The method always +// DeleteInstanceFunctionSlotResponder handles the response to the DeleteInstanceFunctionSlot request. The method always // closes the http.Response Body. -func (client AppsClient) DeleteInstanceDeploymentSlotResponder(resp *http.Response) (result autorest.Response, err error) { +func (client AppsClient) DeleteInstanceFunctionSlotResponder(resp *http.Response) (result autorest.Response, err error) { err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteInstanceProcess terminate a process by its ID for a web site, or a deployment slot, or specific scaled-out +// instance in a web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +// instanceID is ID of a specific scaled-out instance. This is the value of the name property in the JSON response from +// "GET api/sites/{siteName}/instances". +func (client AppsClient) DeleteInstanceProcess(resourceGroupName string, name string, processID string, instanceID string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "DeleteInstanceProcess") + } + + req, err := client.DeleteInstanceProcessPreparer(resourceGroupName, name, processID, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteInstanceProcess", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteInstanceProcessSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteInstanceProcess", resp, "Failure sending request") + return + } + + result, err = client.DeleteInstanceProcessResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteInstanceProcess", resp, "Failure responding to request") + } + + return +} + +// DeleteInstanceProcessPreparer prepares the DeleteInstanceProcess request. +func (client AppsClient) DeleteInstanceProcessPreparer(resourceGroupName string, name string, processID string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteInstanceProcessSender sends the DeleteInstanceProcess request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteInstanceProcessSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteInstanceProcessResponder handles the response to the DeleteInstanceProcess request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteInstanceProcessResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteInstanceProcessSlot terminate a process by its ID for a web site, or a deployment slot, or specific scaled-out +// instance in a web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +// slot is name of the deployment slot. If a slot is not specified, the API returns deployments for the production +// slot. instanceID is ID of a specific scaled-out instance. This is the value of the name property in the JSON +// response from "GET api/sites/{siteName}/instances". +func (client AppsClient) DeleteInstanceProcessSlot(resourceGroupName string, name string, processID string, slot string, instanceID string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "DeleteInstanceProcessSlot") + } + + req, err := client.DeleteInstanceProcessSlotPreparer(resourceGroupName, name, processID, slot, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteInstanceProcessSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteInstanceProcessSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteInstanceProcessSlot", resp, "Failure sending request") + return + } + + result, err = client.DeleteInstanceProcessSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteInstanceProcessSlot", resp, "Failure responding to request") + } + + return +} + +// DeleteInstanceProcessSlotPreparer prepares the DeleteInstanceProcessSlot request. +func (client AppsClient) DeleteInstanceProcessSlotPreparer(resourceGroupName string, name string, processID string, slot string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteInstanceProcessSlotSender sends the DeleteInstanceProcessSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteInstanceProcessSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteInstanceProcessSlotResponder handles the response to the DeleteInstanceProcessSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteInstanceProcessSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), autorest.ByClosing()) result.Response = resp return @@ -3770,8 +4563,8 @@ func (client AppsClient) DeleteInstanceDeploymentSlotResponder(resp *http.Respon // DeletePremierAddOn delete a premier add-on from an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. premierAddOnName is add-on name. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// premierAddOnName is add-on name. func (client AppsClient) DeletePremierAddOn(resourceGroupName string, name string, premierAddOnName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -3844,10 +4637,9 @@ func (client AppsClient) DeletePremierAddOnResponder(resp *http.Response) (resul // DeletePremierAddOnSlot delete a premier add-on from an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. premierAddOnName is add-on name. slot is -// name of the deployment slot. If a slot is not specified, the API will delete -// the named add-on for the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// premierAddOnName is add-on name. slot is name of the deployment slot. If a slot is not specified, the API will +// delete the named add-on for the production slot. func (client AppsClient) DeletePremierAddOnSlot(resourceGroupName string, name string, premierAddOnName string, slot string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -3919,11 +4711,311 @@ func (client AppsClient) DeletePremierAddOnSlotResponder(resp *http.Response) (r return } +// DeleteProcess terminate a process by its ID for a web site, or a deployment slot, or specific scaled-out instance in +// a web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +func (client AppsClient) DeleteProcess(resourceGroupName string, name string, processID string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "DeleteProcess") + } + + req, err := client.DeleteProcessPreparer(resourceGroupName, name, processID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteProcess", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteProcessSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteProcess", resp, "Failure sending request") + return + } + + result, err = client.DeleteProcessResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteProcess", resp, "Failure responding to request") + } + + return +} + +// DeleteProcessPreparer prepares the DeleteProcess request. +func (client AppsClient) DeleteProcessPreparer(resourceGroupName string, name string, processID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteProcessSender sends the DeleteProcess request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteProcessSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteProcessResponder handles the response to the DeleteProcess request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteProcessResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteProcessSlot terminate a process by its ID for a web site, or a deployment slot, or specific scaled-out +// instance in a web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +// slot is name of the deployment slot. If a slot is not specified, the API returns deployments for the production +// slot. +func (client AppsClient) DeleteProcessSlot(resourceGroupName string, name string, processID string, slot string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "DeleteProcessSlot") + } + + req, err := client.DeleteProcessSlotPreparer(resourceGroupName, name, processID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteProcessSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteProcessSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteProcessSlot", resp, "Failure sending request") + return + } + + result, err = client.DeleteProcessSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteProcessSlot", resp, "Failure responding to request") + } + + return +} + +// DeleteProcessSlotPreparer prepares the DeleteProcessSlot request. +func (client AppsClient) DeleteProcessSlotPreparer(resourceGroupName string, name string, processID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteProcessSlotSender sends the DeleteProcessSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteProcessSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteProcessSlotResponder handles the response to the DeleteProcessSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteProcessSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeletePublicCertificate deletes a hostname binding for an app. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// publicCertificateName is public certificate name. +func (client AppsClient) DeletePublicCertificate(resourceGroupName string, name string, publicCertificateName string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "DeletePublicCertificate") + } + + req, err := client.DeletePublicCertificatePreparer(resourceGroupName, name, publicCertificateName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeletePublicCertificate", nil, "Failure preparing request") + return + } + + resp, err := client.DeletePublicCertificateSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeletePublicCertificate", resp, "Failure sending request") + return + } + + result, err = client.DeletePublicCertificateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeletePublicCertificate", resp, "Failure responding to request") + } + + return +} + +// DeletePublicCertificatePreparer prepares the DeletePublicCertificate request. +func (client AppsClient) DeletePublicCertificatePreparer(resourceGroupName string, name string, publicCertificateName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "publicCertificateName": autorest.Encode("path", publicCertificateName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeletePublicCertificateSender sends the DeletePublicCertificate request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeletePublicCertificateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeletePublicCertificateResponder handles the response to the DeletePublicCertificate request. The method always +// closes the http.Response Body. +func (client AppsClient) DeletePublicCertificateResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeletePublicCertificateSlot deletes a hostname binding for an app. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will delete the binding for the production slot. +// publicCertificateName is public certificate name. +func (client AppsClient) DeletePublicCertificateSlot(resourceGroupName string, name string, slot string, publicCertificateName string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "DeletePublicCertificateSlot") + } + + req, err := client.DeletePublicCertificateSlotPreparer(resourceGroupName, name, slot, publicCertificateName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeletePublicCertificateSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DeletePublicCertificateSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeletePublicCertificateSlot", resp, "Failure sending request") + return + } + + result, err = client.DeletePublicCertificateSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeletePublicCertificateSlot", resp, "Failure responding to request") + } + + return +} + +// DeletePublicCertificateSlotPreparer prepares the DeletePublicCertificateSlot request. +func (client AppsClient) DeletePublicCertificateSlotPreparer(resourceGroupName string, name string, slot string, publicCertificateName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "publicCertificateName": autorest.Encode("path", publicCertificateName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeletePublicCertificateSlotSender sends the DeletePublicCertificateSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeletePublicCertificateSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeletePublicCertificateSlotResponder handles the response to the DeletePublicCertificateSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DeletePublicCertificateSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + // DeleteRelayServiceConnection deletes a relay service connection by its name. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. entityName is name of the hybrid -// connection configuration. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. entityName +// is name of the hybrid connection configuration. func (client AppsClient) DeleteRelayServiceConnection(resourceGroupName string, name string, entityName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -3994,14 +5086,11 @@ func (client AppsClient) DeleteRelayServiceConnectionResponder(resp *http.Respon return } -// DeleteRelayServiceConnectionSlot deletes a relay service connection by its -// name. +// DeleteRelayServiceConnectionSlot deletes a relay service connection by its name. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. entityName is name of the hybrid -// connection configuration. slot is name of the deployment slot. If a slot is -// not specified, the API will delete a hybrid connection for the production -// slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. entityName +// is name of the hybrid connection configuration. slot is name of the deployment slot. If a slot is not specified, the +// API will delete a hybrid connection for the production slot. func (client AppsClient) DeleteRelayServiceConnectionSlot(resourceGroupName string, name string, entityName string, slot string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -4073,17 +5162,165 @@ func (client AppsClient) DeleteRelayServiceConnectionSlotResponder(resp *http.Re return } -// DeleteSlot deletes a web, mobile, or API app, or one of the deployment -// slots. +// DeleteSiteExtension remove a site extension from a web site, or a deployment slot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app to delete. slot is name of the deployment -// slot to delete. By default, the API deletes the production slot. -// deleteMetrics is if true, web app metrics are also deleted -// deleteEmptyServerFarm is specify true if the App Service plan will be empty -// after app deletion and you want to delete the empty App Service plan. By -// default, the empty App Service plan is not deleted. skipDNSRegistration is -// if true, DNS registration is skipped +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. siteExtensionID is +// site extension name. +func (client AppsClient) DeleteSiteExtension(resourceGroupName string, name string, siteExtensionID string, extensionName string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "DeleteSiteExtension") + } + + req, err := client.DeleteSiteExtensionPreparer(resourceGroupName, name, siteExtensionID, extensionName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSiteExtension", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSiteExtensionSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSiteExtension", resp, "Failure sending request") + return + } + + result, err = client.DeleteSiteExtensionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSiteExtension", resp, "Failure responding to request") + } + + return +} + +// DeleteSiteExtensionPreparer prepares the DeleteSiteExtension request. +func (client AppsClient) DeleteSiteExtensionPreparer(resourceGroupName string, name string, siteExtensionID string, extensionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "extensionName": autorest.Encode("path", extensionName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "siteExtensionId": autorest.Encode("query", siteExtensionID), + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions/{extensionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteSiteExtensionSender sends the DeleteSiteExtension request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteSiteExtensionSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteSiteExtensionResponder handles the response to the DeleteSiteExtension request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteSiteExtensionResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteSiteExtensionSlot remove a site extension from a web site, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. siteExtensionID is +// site extension name. slot is name of the deployment slot. If a slot is not specified, the API deletes a deployment +// for the production slot. +func (client AppsClient) DeleteSiteExtensionSlot(resourceGroupName string, name string, siteExtensionID string, slot string, extensionName string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "DeleteSiteExtensionSlot") + } + + req, err := client.DeleteSiteExtensionSlotPreparer(resourceGroupName, name, siteExtensionID, slot, extensionName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSiteExtensionSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSiteExtensionSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSiteExtensionSlot", resp, "Failure sending request") + return + } + + result, err = client.DeleteSiteExtensionSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSiteExtensionSlot", resp, "Failure responding to request") + } + + return +} + +// DeleteSiteExtensionSlotPreparer prepares the DeleteSiteExtensionSlot request. +func (client AppsClient) DeleteSiteExtensionSlotPreparer(resourceGroupName string, name string, siteExtensionID string, slot string, extensionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "extensionName": autorest.Encode("path", extensionName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "siteExtensionId": autorest.Encode("query", siteExtensionID), + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions/{extensionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteSiteExtensionSlotSender sends the DeleteSiteExtensionSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteSiteExtensionSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteSiteExtensionSlotResponder handles the response to the DeleteSiteExtensionSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteSiteExtensionSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteSlot deletes a web, mobile, or API app, or one of the deployment slots. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app to delete. +// slot is name of the deployment slot to delete. By default, the API deletes the production slot. deleteMetrics is if +// true, web app metrics are also deleted. deleteEmptyServerFarm is specify true if the App Service plan will be empty +// after app deletion and you want to delete the empty App Service plan. By default, the empty App Service plan is not +// deleted. skipDNSRegistration is if true, DNS registration is skipped. func (client AppsClient) DeleteSlot(resourceGroupName string, name string, slot string, deleteMetrics *bool, deleteEmptyServerFarm *bool, skipDNSRegistration *bool) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -4165,8 +5402,7 @@ func (client AppsClient) DeleteSlotResponder(resp *http.Response) (result autore // DeleteSourceControl deletes the source control configuration of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) DeleteSourceControl(resourceGroupName string, name string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -4238,10 +5474,9 @@ func (client AppsClient) DeleteSourceControlResponder(resp *http.Response) (resu // DeleteSourceControlSlot deletes the source control configuration of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will delete the source control configuration -// for the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will delete the source control configuration for the +// production slot. func (client AppsClient) DeleteSourceControlSlot(resourceGroupName string, name string, slot string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -4312,11 +5547,162 @@ func (client AppsClient) DeleteSourceControlSlotResponder(resp *http.Response) ( return } -// DeleteVnetConnection deletes a connection from an app (or deployment slot to -// a named virtual network. +// DeleteTriggeredWebJob delete a triggered web job by its ID for an app, or a deployment slot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. vnetName is name of the virtual network. +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. webJobID is web +// job ID. +func (client AppsClient) DeleteTriggeredWebJob(resourceGroupName string, name string, webJobID string, webJobName string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "DeleteTriggeredWebJob") + } + + req, err := client.DeleteTriggeredWebJobPreparer(resourceGroupName, name, webJobID, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteTriggeredWebJob", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteTriggeredWebJobSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteTriggeredWebJob", resp, "Failure sending request") + return + } + + result, err = client.DeleteTriggeredWebJobResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteTriggeredWebJob", resp, "Failure responding to request") + } + + return +} + +// DeleteTriggeredWebJobPreparer prepares the DeleteTriggeredWebJob request. +func (client AppsClient) DeleteTriggeredWebJobPreparer(resourceGroupName string, name string, webJobID string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "webJobId": autorest.Encode("query", webJobID), + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteTriggeredWebJobSender sends the DeleteTriggeredWebJob request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteTriggeredWebJobSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteTriggeredWebJobResponder handles the response to the DeleteTriggeredWebJob request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteTriggeredWebJobResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteTriggeredWebJobSlot delete a triggered web job by its ID for an app, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. webJobID is web +// job ID. slot is name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) DeleteTriggeredWebJobSlot(resourceGroupName string, name string, webJobID string, slot string, webJobName string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "DeleteTriggeredWebJobSlot") + } + + req, err := client.DeleteTriggeredWebJobSlotPreparer(resourceGroupName, name, webJobID, slot, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteTriggeredWebJobSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteTriggeredWebJobSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteTriggeredWebJobSlot", resp, "Failure sending request") + return + } + + result, err = client.DeleteTriggeredWebJobSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteTriggeredWebJobSlot", resp, "Failure responding to request") + } + + return +} + +// DeleteTriggeredWebJobSlotPreparer prepares the DeleteTriggeredWebJobSlot request. +func (client AppsClient) DeleteTriggeredWebJobSlotPreparer(resourceGroupName string, name string, webJobID string, slot string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "webJobId": autorest.Encode("query", webJobID), + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteTriggeredWebJobSlotSender sends the DeleteTriggeredWebJobSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteTriggeredWebJobSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteTriggeredWebJobSlotResponder handles the response to the DeleteTriggeredWebJobSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteTriggeredWebJobSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteVnetConnection deletes a connection from an app (or deployment slot to a named virtual network. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. vnetName is +// name of the virtual network. func (client AppsClient) DeleteVnetConnection(resourceGroupName string, name string, vnetName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -4387,13 +5773,11 @@ func (client AppsClient) DeleteVnetConnectionResponder(resp *http.Response) (res return } -// DeleteVnetConnectionSlot deletes a connection from an app (or deployment -// slot to a named virtual network. +// DeleteVnetConnectionSlot deletes a connection from an app (or deployment slot to a named virtual network. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. vnetName is name of the virtual network. -// slot is name of the deployment slot. If a slot is not specified, the API -// will delete the connection for the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. vnetName is +// name of the virtual network. slot is name of the deployment slot. If a slot is not specified, the API will delete +// the connection for the production slot. func (client AppsClient) DeleteVnetConnectionSlot(resourceGroupName string, name string, vnetName string, slot string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -4465,12 +5849,10 @@ func (client AppsClient) DeleteVnetConnectionSlotResponder(resp *http.Response) return } -// DiscoverRestore discovers an existing app backup that can be restored from a -// blob in Azure storage. +// DiscoverRestore discovers an existing app backup that can be restored from a blob in Azure storage. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. request is a RestoreRequest object that -// includes Azure storage URL and blog name for discovery of backup. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. request is a +// RestoreRequest object that includes Azure storage URL and blog name for discovery of backup. func (client AppsClient) DiscoverRestore(resourceGroupName string, name string, request RestoreRequest) (result RestoreRequest, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -4543,14 +5925,11 @@ func (client AppsClient) DiscoverRestoreResponder(resp *http.Response) (result R return } -// DiscoverRestoreSlot discovers an existing app backup that can be restored -// from a blob in Azure storage. +// DiscoverRestoreSlot discovers an existing app backup that can be restored from a blob in Azure storage. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. request is a RestoreRequest object that -// includes Azure storage URL and blog name for discovery of backup. slot is -// name of the deployment slot. If a slot is not specified, the API will -// perform discovery for the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. request is a +// RestoreRequest object that includes Azure storage URL and blog name for discovery of backup. slot is name of the +// deployment slot. If a slot is not specified, the API will perform discovery for the production slot. func (client AppsClient) DiscoverRestoreSlot(resourceGroupName string, name string, request RestoreRequest, slot string) (result RestoreRequest, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -4624,11 +6003,9 @@ func (client AppsClient) DiscoverRestoreSlotResponder(resp *http.Response) (resu return } -// GenerateNewSitePublishingPassword generates a new publishing password for an -// app (or deployment slot, if specified). +// GenerateNewSitePublishingPassword generates a new publishing password for an app (or deployment slot, if specified). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) GenerateNewSitePublishingPassword(resourceGroupName string, name string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -4698,13 +6075,12 @@ func (client AppsClient) GenerateNewSitePublishingPasswordResponder(resp *http.R return } -// GenerateNewSitePublishingPasswordSlot generates a new publishing password -// for an app (or deployment slot, if specified). +// GenerateNewSitePublishingPasswordSlot generates a new publishing password for an app (or deployment slot, if +// specified). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API generate a new publishing password for the -// production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API generate a new publishing password for the production +// slot. func (client AppsClient) GenerateNewSitePublishingPasswordSlot(resourceGroupName string, name string, slot string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -4777,8 +6153,7 @@ func (client AppsClient) GenerateNewSitePublishingPasswordSlotResponder(resp *ht // Get gets the details of a web, mobile, or API app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) Get(resourceGroupName string, name string) (result Site, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -4851,8 +6226,7 @@ func (client AppsClient) GetResponder(resp *http.Response) (result Site, err err // GetAuthSettings gets the Authentication/Authorization settings of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) GetAuthSettings(resourceGroupName string, name string) (result SiteAuthSettings, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -4923,13 +6297,10 @@ func (client AppsClient) GetAuthSettingsResponder(resp *http.Response) (result S return } -// GetAuthSettingsSlot gets the Authentication/Authorization settings of an -// app. +// GetAuthSettingsSlot gets the Authentication/Authorization settings of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will get the settings for the production -// slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will get the settings for the production slot. func (client AppsClient) GetAuthSettingsSlot(resourceGroupName string, name string, slot string) (result SiteAuthSettings, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -5003,8 +6374,7 @@ func (client AppsClient) GetAuthSettingsSlotResponder(resp *http.Response) (resu // GetBackupConfiguration gets the backup configuration of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) GetBackupConfiguration(resourceGroupName string, name string) (result BackupRequest, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -5077,10 +6447,9 @@ func (client AppsClient) GetBackupConfigurationResponder(resp *http.Response) (r // GetBackupConfigurationSlot gets the backup configuration of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will get the backup configuration for the -// production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will get the backup configuration for the production +// slot. func (client AppsClient) GetBackupConfigurationSlot(resourceGroupName string, name string, slot string) (result BackupRequest, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -5154,8 +6523,8 @@ func (client AppsClient) GetBackupConfigurationSlotResponder(resp *http.Response // GetBackupStatus gets a backup of an app by its ID. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. backupID is iD of the backup. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. backupID is +// ID of the backup. func (client AppsClient) GetBackupStatus(resourceGroupName string, name string, backupID string) (result BackupItem, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -5229,10 +6598,9 @@ func (client AppsClient) GetBackupStatusResponder(resp *http.Response) (result B // GetBackupStatusSlot gets a backup of an app by its ID. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. backupID is iD of the backup. slot is name -// of the deployment slot. If a slot is not specified, the API will get a -// backup of the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. backupID is +// ID of the backup. slot is name of the deployment slot. If a slot is not specified, the API will get a backup of the +// production slot. func (client AppsClient) GetBackupStatusSlot(resourceGroupName string, name string, backupID string, slot string) (result BackupItem, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -5305,11 +6673,10 @@ func (client AppsClient) GetBackupStatusSlotResponder(resp *http.Response) (resu return } -// GetConfiguration gets the configuration of an app, such as platform version -// and bitness, default documents, virtual applications, Always On, etc. +// GetConfiguration gets the configuration of an app, such as platform version and bitness, default documents, virtual +// applications, Always On, etc. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) GetConfiguration(resourceGroupName string, name string) (result SiteConfigResource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -5380,14 +6747,11 @@ func (client AppsClient) GetConfigurationResponder(resp *http.Response) (result return } -// GetConfigurationSlot gets the configuration of an app, such as platform -// version and bitness, default documents, virtual applications, Always On, -// etc. +// GetConfigurationSlot gets the configuration of an app, such as platform version and bitness, default documents, +// virtual applications, Always On, etc. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will return configuration for the production -// slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will return configuration for the production slot. func (client AppsClient) GetConfigurationSlot(resourceGroupName string, name string, slot string) (result SiteConfigResource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -5459,12 +6823,10 @@ func (client AppsClient) GetConfigurationSlotResponder(resp *http.Response) (res return } -// GetConfigurationSnapshot gets a snapshot of the configuration of an app at a -// previous point in time. +// GetConfigurationSnapshot gets a snapshot of the configuration of an app at a previous point in time. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. snapshotID is the ID of the snapshot to -// read. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. snapshotID +// is the ID of the snapshot to read. func (client AppsClient) GetConfigurationSnapshot(resourceGroupName string, name string, snapshotID string) (result SiteConfigResource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -5536,13 +6898,11 @@ func (client AppsClient) GetConfigurationSnapshotResponder(resp *http.Response) return } -// GetConfigurationSnapshotSlot gets a snapshot of the configuration of an app -// at a previous point in time. +// GetConfigurationSnapshotSlot gets a snapshot of the configuration of an app at a previous point in time. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. snapshotID is the ID of the snapshot to -// read. slot is name of the deployment slot. If a slot is not specified, the -// API will return configuration for the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. snapshotID +// is the ID of the snapshot to read. slot is name of the deployment slot. If a slot is not specified, the API will +// return configuration for the production slot. func (client AppsClient) GetConfigurationSnapshotSlot(resourceGroupName string, name string, snapshotID string, slot string) (result SiteConfigResource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -5615,11 +6975,164 @@ func (client AppsClient) GetConfigurationSnapshotSlotResponder(resp *http.Respon return } -// GetDeployment get a deployment by its ID for an app, a specific deployment -// slot, and/or a specific scaled-out instance. +// GetContinuousWebJob gets a continuous web job by its ID for an app, or a deployment slot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. ID is deployment ID. +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. webJobID is web +// job ID. +func (client AppsClient) GetContinuousWebJob(resourceGroupName string, name string, webJobID string, webJobName string) (result ContinuousWebJob, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetContinuousWebJob") + } + + req, err := client.GetContinuousWebJobPreparer(resourceGroupName, name, webJobID, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetContinuousWebJob", nil, "Failure preparing request") + return + } + + resp, err := client.GetContinuousWebJobSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetContinuousWebJob", resp, "Failure sending request") + return + } + + result, err = client.GetContinuousWebJobResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetContinuousWebJob", resp, "Failure responding to request") + } + + return +} + +// GetContinuousWebJobPreparer prepares the GetContinuousWebJob request. +func (client AppsClient) GetContinuousWebJobPreparer(resourceGroupName string, name string, webJobID string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "webJobId": autorest.Encode("query", webJobID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetContinuousWebJobSender sends the GetContinuousWebJob request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetContinuousWebJobSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetContinuousWebJobResponder handles the response to the GetContinuousWebJob request. The method always +// closes the http.Response Body. +func (client AppsClient) GetContinuousWebJobResponder(resp *http.Response) (result ContinuousWebJob, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetContinuousWebJobSlot gets a continuous web job by its ID for an app, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. webJobID is web +// job ID. slot is name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) GetContinuousWebJobSlot(resourceGroupName string, name string, webJobID string, slot string, webJobName string) (result ContinuousWebJob, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetContinuousWebJobSlot") + } + + req, err := client.GetContinuousWebJobSlotPreparer(resourceGroupName, name, webJobID, slot, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetContinuousWebJobSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetContinuousWebJobSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetContinuousWebJobSlot", resp, "Failure sending request") + return + } + + result, err = client.GetContinuousWebJobSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetContinuousWebJobSlot", resp, "Failure responding to request") + } + + return +} + +// GetContinuousWebJobSlotPreparer prepares the GetContinuousWebJobSlot request. +func (client AppsClient) GetContinuousWebJobSlotPreparer(resourceGroupName string, name string, webJobID string, slot string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "webJobId": autorest.Encode("query", webJobID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetContinuousWebJobSlotSender sends the GetContinuousWebJobSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetContinuousWebJobSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetContinuousWebJobSlotResponder handles the response to the GetContinuousWebJobSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetContinuousWebJobSlotResponder(resp *http.Response) (result ContinuousWebJob, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetDeployment get a deployment by its ID for an app, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. ID is +// deployment ID. func (client AppsClient) GetDeployment(resourceGroupName string, name string, ID string) (result Deployment, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -5691,13 +7204,11 @@ func (client AppsClient) GetDeploymentResponder(resp *http.Response) (result Dep return } -// GetDeploymentSlot get a deployment by its ID for an app, a specific -// deployment slot, and/or a specific scaled-out instance. +// GetDeploymentSlot get a deployment by its ID for an app, or a deployment slot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. ID is deployment ID. slot is name of the -// deployment slot. If a slot is not specified, the API gets a deployment for -// the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. ID is +// deployment ID. slot is name of the deployment slot. If a slot is not specified, the API gets a deployment for the +// production slot. func (client AppsClient) GetDeploymentSlot(resourceGroupName string, name string, ID string, slot string) (result Deployment, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -5772,8 +7283,7 @@ func (client AppsClient) GetDeploymentSlotResponder(resp *http.Response) (result // GetDiagnosticLogsConfiguration gets the logging configuration of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) GetDiagnosticLogsConfiguration(resourceGroupName string, name string) (result SiteLogsConfig, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -5846,10 +7356,9 @@ func (client AppsClient) GetDiagnosticLogsConfigurationResponder(resp *http.Resp // GetDiagnosticLogsConfigurationSlot gets the logging configuration of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will get the logging configuration for the -// production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will get the logging configuration for the production +// slot. func (client AppsClient) GetDiagnosticLogsConfigurationSlot(resourceGroupName string, name string, slot string) (result SiteLogsConfig, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -5923,9 +7432,8 @@ func (client AppsClient) GetDiagnosticLogsConfigurationSlotResponder(resp *http. // GetDomainOwnershipIdentifier get domain ownership identifier for web app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. domainOwnershipIdentifierName is name of -// domain ownership identifier. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// domainOwnershipIdentifierName is name of domain ownership identifier. func (client AppsClient) GetDomainOwnershipIdentifier(resourceGroupName string, name string, domainOwnershipIdentifierName string) (result Identifier, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -5997,12 +7505,10 @@ func (client AppsClient) GetDomainOwnershipIdentifierResponder(resp *http.Respon return } -// GetDomainOwnershipIdentifierSlot get domain ownership identifier for web -// app. +// GetDomainOwnershipIdentifierSlot get domain ownership identifier for web app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. domainOwnershipIdentifierName is name of -// domain ownership identifier. slot is name of the deployment slot. If a slot +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// domainOwnershipIdentifierName is name of domain ownership identifier. slot is name of the deployment slot. If a slot // is not specified, the API will delete the binding for the production slot. func (client AppsClient) GetDomainOwnershipIdentifierSlot(resourceGroupName string, name string, domainOwnershipIdentifierName string, slot string) (result Identifier, err error) { if err := validation.Validate([]validation.Validation{ @@ -6076,12 +7582,233 @@ func (client AppsClient) GetDomainOwnershipIdentifierSlotResponder(resp *http.Re return } -// GetHostNameBinding get the named hostname binding for an app (or deployment -// slot, if specified). +// GetFunction get function information by its ID for web site, or a deployment slot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. hostName is hostname in the hostname -// binding. +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. functionName is +// function name. +func (client AppsClient) GetFunction(resourceGroupName string, name string, functionName string) (result FunctionEnvelope, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetFunction") + } + + req, err := client.GetFunctionPreparer(resourceGroupName, name, functionName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetFunction", nil, "Failure preparing request") + return + } + + resp, err := client.GetFunctionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetFunction", resp, "Failure sending request") + return + } + + result, err = client.GetFunctionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetFunction", resp, "Failure responding to request") + } + + return +} + +// GetFunctionPreparer prepares the GetFunction request. +func (client AppsClient) GetFunctionPreparer(resourceGroupName string, name string, functionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "functionName": autorest.Encode("path", functionName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetFunctionSender sends the GetFunction request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetFunctionSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetFunctionResponder handles the response to the GetFunction request. The method always +// closes the http.Response Body. +func (client AppsClient) GetFunctionResponder(resp *http.Response) (result FunctionEnvelope, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetFunctionsAdminToken fetch a short lived token that can be exchanged for a master key. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. +func (client AppsClient) GetFunctionsAdminToken(resourceGroupName string, name string) (result String, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetFunctionsAdminToken") + } + + req, err := client.GetFunctionsAdminTokenPreparer(resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetFunctionsAdminToken", nil, "Failure preparing request") + return + } + + resp, err := client.GetFunctionsAdminTokenSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetFunctionsAdminToken", resp, "Failure sending request") + return + } + + result, err = client.GetFunctionsAdminTokenResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetFunctionsAdminToken", resp, "Failure responding to request") + } + + return +} + +// GetFunctionsAdminTokenPreparer prepares the GetFunctionsAdminToken request. +func (client AppsClient) GetFunctionsAdminTokenPreparer(resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/admin/token", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetFunctionsAdminTokenSender sends the GetFunctionsAdminToken request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetFunctionsAdminTokenSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetFunctionsAdminTokenResponder handles the response to the GetFunctionsAdminToken request. The method always +// closes the http.Response Body. +func (client AppsClient) GetFunctionsAdminTokenResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetFunctionsAdminTokenSlot fetch a short lived token that can be exchanged for a master key. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. slot is name +// of web app slot. If not specified then will default to production slot. +func (client AppsClient) GetFunctionsAdminTokenSlot(resourceGroupName string, name string, slot string) (result String, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetFunctionsAdminTokenSlot") + } + + req, err := client.GetFunctionsAdminTokenSlotPreparer(resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetFunctionsAdminTokenSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetFunctionsAdminTokenSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetFunctionsAdminTokenSlot", resp, "Failure sending request") + return + } + + result, err = client.GetFunctionsAdminTokenSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetFunctionsAdminTokenSlot", resp, "Failure responding to request") + } + + return +} + +// GetFunctionsAdminTokenSlotPreparer prepares the GetFunctionsAdminTokenSlot request. +func (client AppsClient) GetFunctionsAdminTokenSlotPreparer(resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/admin/token", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetFunctionsAdminTokenSlotSender sends the GetFunctionsAdminTokenSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetFunctionsAdminTokenSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetFunctionsAdminTokenSlotResponder handles the response to the GetFunctionsAdminTokenSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetFunctionsAdminTokenSlotResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetHostNameBinding get the named hostname binding for an app (or deployment slot, if specified). +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. hostName is +// hostname in the hostname binding. func (client AppsClient) GetHostNameBinding(resourceGroupName string, name string, hostName string) (result HostNameBinding, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -6153,13 +7880,11 @@ func (client AppsClient) GetHostNameBindingResponder(resp *http.Response) (resul return } -// GetHostNameBindingSlot get the named hostname binding for an app (or -// deployment slot, if specified). +// GetHostNameBindingSlot get the named hostname binding for an app (or deployment slot, if specified). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API the named binding for the production slot. -// hostName is hostname in the hostname binding. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API the named binding for the production slot. hostName is +// hostname in the hostname binding. func (client AppsClient) GetHostNameBindingSlot(resourceGroupName string, name string, slot string, hostName string) (result HostNameBinding, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -6232,13 +7957,10 @@ func (client AppsClient) GetHostNameBindingSlotResponder(resp *http.Response) (r return } -// GetHybridConnection retrieves a specific Service Bus Hybrid Connection used -// by this Web App. +// GetHybridConnection retrieves a specific Service Bus Hybrid Connection used by this Web App. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is the name of the web app namespaceName is the namespace for -// this hybrid connection relayName is the relay name for this hybrid -// connection +// resourceGroupName is name of the resource group to which the resource belongs. name is the name of the web app. +// namespaceName is the namespace for this hybrid connection. relayName is the relay name for this hybrid connection. func (client AppsClient) GetHybridConnection(resourceGroupName string, name string, namespaceName string, relayName string) (result HybridConnection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -6311,13 +8033,11 @@ func (client AppsClient) GetHybridConnectionResponder(resp *http.Response) (resu return } -// GetHybridConnectionSlot retrieves a specific Service Bus Hybrid Connection -// used by this Web App. +// GetHybridConnectionSlot retrieves a specific Service Bus Hybrid Connection used by this Web App. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is the name of the web app namespaceName is the namespace for -// this hybrid connection relayName is the relay name for this hybrid -// connection slot is the name of the slot for the web app. +// resourceGroupName is name of the resource group to which the resource belongs. name is the name of the web app. +// namespaceName is the namespace for this hybrid connection. relayName is the relay name for this hybrid connection. +// slot is the name of the slot for the web app. func (client AppsClient) GetHybridConnectionSlot(resourceGroupName string, name string, namespaceName string, relayName string, slot string) (result HybridConnection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -6391,47 +8111,120 @@ func (client AppsClient) GetHybridConnectionSlotResponder(resp *http.Response) ( return } -// GetInstanceDeployment get a deployment by its ID for an app, a specific -// deployment slot, and/or a specific scaled-out instance. +// GetInstanceFunctionSlot get function information by its ID for web site, or a deployment slot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. ID is deployment ID. instanceID is iD of a -// specific scaled-out instance. This is the value of the name property in the -// JSON response from "GET api/sites/{siteName}/instances" -func (client AppsClient) GetInstanceDeployment(resourceGroupName string, name string, ID string, instanceID string) (result Deployment, err error) { +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. functionName is +// function name. slot is name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) GetInstanceFunctionSlot(resourceGroupName string, name string, functionName string, slot string) (result FunctionEnvelope, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { - return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetInstanceDeployment") + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetInstanceFunctionSlot") } - req, err := client.GetInstanceDeploymentPreparer(resourceGroupName, name, ID, instanceID) + req, err := client.GetInstanceFunctionSlotPreparer(resourceGroupName, name, functionName, slot) if err != nil { - err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceDeployment", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceFunctionSlot", nil, "Failure preparing request") return } - resp, err := client.GetInstanceDeploymentSender(req) + resp, err := client.GetInstanceFunctionSlotSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceDeployment", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceFunctionSlot", resp, "Failure sending request") return } - result, err = client.GetInstanceDeploymentResponder(resp) + result, err = client.GetInstanceFunctionSlotResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceDeployment", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceFunctionSlot", resp, "Failure responding to request") } return } -// GetInstanceDeploymentPreparer prepares the GetInstanceDeployment request. -func (client AppsClient) GetInstanceDeploymentPreparer(resourceGroupName string, name string, ID string, instanceID string) (*http.Request, error) { +// GetInstanceFunctionSlotPreparer prepares the GetInstanceFunctionSlot request. +func (client AppsClient) GetInstanceFunctionSlotPreparer(resourceGroupName string, name string, functionName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "functionName": autorest.Encode("path", functionName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetInstanceFunctionSlotSender sends the GetInstanceFunctionSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetInstanceFunctionSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetInstanceFunctionSlotResponder handles the response to the GetInstanceFunctionSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetInstanceFunctionSlotResponder(resp *http.Response) (result FunctionEnvelope, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetInstanceMSDeployLog get the MSDeploy Log for the last MSDeploy operation. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. instanceID +// is ID of web app instance. +func (client AppsClient) GetInstanceMSDeployLog(resourceGroupName string, name string, instanceID string) (result MSDeployLog, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetInstanceMSDeployLog") + } + + req, err := client.GetInstanceMSDeployLogPreparer(resourceGroupName, name, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceMSDeployLog", nil, "Failure preparing request") + return + } + + resp, err := client.GetInstanceMSDeployLogSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceMSDeployLog", resp, "Failure sending request") + return + } + + result, err = client.GetInstanceMSDeployLogResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceMSDeployLog", resp, "Failure responding to request") + } + + return +} + +// GetInstanceMSDeployLogPreparer prepares the GetInstanceMSDeployLog request. +func (client AppsClient) GetInstanceMSDeployLogPreparer(resourceGroupName string, name string, instanceID string) (*http.Request, error) { pathParameters := map[string]interface{}{ - "id": autorest.Encode("path", ID), "instanceId": autorest.Encode("path", instanceID), "name": autorest.Encode("path", name), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -6446,73 +8239,67 @@ func (client AppsClient) GetInstanceDeploymentPreparer(resourceGroupName string, preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments/{id}", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy/log", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } -// GetInstanceDeploymentSender sends the GetInstanceDeployment request. The method will close the +// GetInstanceMSDeployLogSender sends the GetInstanceMSDeployLog request. The method will close the // http.Response Body if it receives an error. -func (client AppsClient) GetInstanceDeploymentSender(req *http.Request) (*http.Response, error) { +func (client AppsClient) GetInstanceMSDeployLogSender(req *http.Request) (*http.Response, error) { return autorest.SendWithSender(client, req) } -// GetInstanceDeploymentResponder handles the response to the GetInstanceDeployment request. The method always +// GetInstanceMSDeployLogResponder handles the response to the GetInstanceMSDeployLog request. The method always // closes the http.Response Body. -func (client AppsClient) GetInstanceDeploymentResponder(resp *http.Response) (result Deployment, err error) { +func (client AppsClient) GetInstanceMSDeployLogResponder(resp *http.Response) (result MSDeployLog, err error) { err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// GetInstanceDeploymentSlot get a deployment by its ID for an app, a specific -// deployment slot, and/or a specific scaled-out instance. +// GetInstanceMSDeployLogSlot get the MSDeploy Log for the last MSDeploy operation. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. ID is deployment ID. slot is name of the -// deployment slot. If a slot is not specified, the API gets a deployment for -// the production slot. instanceID is iD of a specific scaled-out instance. -// This is the value of the name property in the JSON response from "GET -// api/sites/{siteName}/instances" -func (client AppsClient) GetInstanceDeploymentSlot(resourceGroupName string, name string, ID string, slot string, instanceID string) (result Deployment, err error) { +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. slot is name +// of web app slot. If not specified then will default to production slot. instanceID is ID of web app instance. +func (client AppsClient) GetInstanceMSDeployLogSlot(resourceGroupName string, name string, slot string, instanceID string) (result MSDeployLog, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { - return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetInstanceDeploymentSlot") + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetInstanceMSDeployLogSlot") } - req, err := client.GetInstanceDeploymentSlotPreparer(resourceGroupName, name, ID, slot, instanceID) + req, err := client.GetInstanceMSDeployLogSlotPreparer(resourceGroupName, name, slot, instanceID) if err != nil { - err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceDeploymentSlot", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceMSDeployLogSlot", nil, "Failure preparing request") return } - resp, err := client.GetInstanceDeploymentSlotSender(req) + resp, err := client.GetInstanceMSDeployLogSlotSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceDeploymentSlot", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceMSDeployLogSlot", resp, "Failure sending request") return } - result, err = client.GetInstanceDeploymentSlotResponder(resp) + result, err = client.GetInstanceMSDeployLogSlotResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceDeploymentSlot", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceMSDeployLogSlot", resp, "Failure responding to request") } return } -// GetInstanceDeploymentSlotPreparer prepares the GetInstanceDeploymentSlot request. -func (client AppsClient) GetInstanceDeploymentSlotPreparer(resourceGroupName string, name string, ID string, slot string, instanceID string) (*http.Request, error) { +// GetInstanceMSDeployLogSlotPreparer prepares the GetInstanceMSDeployLogSlot request. +func (client AppsClient) GetInstanceMSDeployLogSlotPreparer(resourceGroupName string, name string, slot string, instanceID string) (*http.Request, error) { pathParameters := map[string]interface{}{ - "id": autorest.Encode("path", ID), "instanceId": autorest.Encode("path", instanceID), "name": autorest.Encode("path", name), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -6528,20 +8315,95 @@ func (client AppsClient) GetInstanceDeploymentSlotPreparer(resourceGroupName str preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments/{id}", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy/log", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } -// GetInstanceDeploymentSlotSender sends the GetInstanceDeploymentSlot request. The method will close the +// GetInstanceMSDeployLogSlotSender sends the GetInstanceMSDeployLogSlot request. The method will close the // http.Response Body if it receives an error. -func (client AppsClient) GetInstanceDeploymentSlotSender(req *http.Request) (*http.Response, error) { +func (client AppsClient) GetInstanceMSDeployLogSlotSender(req *http.Request) (*http.Response, error) { return autorest.SendWithSender(client, req) } -// GetInstanceDeploymentSlotResponder handles the response to the GetInstanceDeploymentSlot request. The method always +// GetInstanceMSDeployLogSlotResponder handles the response to the GetInstanceMSDeployLogSlot request. The method always // closes the http.Response Body. -func (client AppsClient) GetInstanceDeploymentSlotResponder(resp *http.Response) (result Deployment, err error) { +func (client AppsClient) GetInstanceMSDeployLogSlotResponder(resp *http.Response) (result MSDeployLog, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetInstanceMsDeployStatus get the status of the last MSDeploy operation. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. instanceID +// is ID of web app instance. +func (client AppsClient) GetInstanceMsDeployStatus(resourceGroupName string, name string, instanceID string) (result MSDeployStatus, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetInstanceMsDeployStatus") + } + + req, err := client.GetInstanceMsDeployStatusPreparer(resourceGroupName, name, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceMsDeployStatus", nil, "Failure preparing request") + return + } + + resp, err := client.GetInstanceMsDeployStatusSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceMsDeployStatus", resp, "Failure sending request") + return + } + + result, err = client.GetInstanceMsDeployStatusResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceMsDeployStatus", resp, "Failure responding to request") + } + + return +} + +// GetInstanceMsDeployStatusPreparer prepares the GetInstanceMsDeployStatus request. +func (client AppsClient) GetInstanceMsDeployStatusPreparer(resourceGroupName string, name string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetInstanceMsDeployStatusSender sends the GetInstanceMsDeployStatus request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetInstanceMsDeployStatusSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetInstanceMsDeployStatusResponder handles the response to the GetInstanceMsDeployStatus request. The method always +// closes the http.Response Body. +func (client AppsClient) GetInstanceMsDeployStatusResponder(resp *http.Response) (result MSDeployStatus, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -6552,11 +8414,719 @@ func (client AppsClient) GetInstanceDeploymentSlotResponder(resp *http.Response) return } -// GetMigrateMySQLStatus returns the status of MySql in app migration, if one -// is active, and whether or not MySql in app is enabled +// GetInstanceMsDeployStatusSlot get the status of the last MSDeploy operation. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of web app +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. slot is name +// of web app slot. If not specified then will default to production slot. instanceID is ID of web app instance. +func (client AppsClient) GetInstanceMsDeployStatusSlot(resourceGroupName string, name string, slot string, instanceID string) (result MSDeployStatus, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetInstanceMsDeployStatusSlot") + } + + req, err := client.GetInstanceMsDeployStatusSlotPreparer(resourceGroupName, name, slot, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceMsDeployStatusSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetInstanceMsDeployStatusSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceMsDeployStatusSlot", resp, "Failure sending request") + return + } + + result, err = client.GetInstanceMsDeployStatusSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceMsDeployStatusSlot", resp, "Failure responding to request") + } + + return +} + +// GetInstanceMsDeployStatusSlotPreparer prepares the GetInstanceMsDeployStatusSlot request. +func (client AppsClient) GetInstanceMsDeployStatusSlotPreparer(resourceGroupName string, name string, slot string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetInstanceMsDeployStatusSlotSender sends the GetInstanceMsDeployStatusSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetInstanceMsDeployStatusSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetInstanceMsDeployStatusSlotResponder handles the response to the GetInstanceMsDeployStatusSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetInstanceMsDeployStatusSlotResponder(resp *http.Response) (result MSDeployStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetInstanceProcess get process information by its ID for a specific scaled-out instance in a web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +// instanceID is ID of a specific scaled-out instance. This is the value of the name property in the JSON response from +// "GET api/sites/{siteName}/instances". +func (client AppsClient) GetInstanceProcess(resourceGroupName string, name string, processID string, instanceID string) (result ProcessInfo, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetInstanceProcess") + } + + req, err := client.GetInstanceProcessPreparer(resourceGroupName, name, processID, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcess", nil, "Failure preparing request") + return + } + + resp, err := client.GetInstanceProcessSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcess", resp, "Failure sending request") + return + } + + result, err = client.GetInstanceProcessResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcess", resp, "Failure responding to request") + } + + return +} + +// GetInstanceProcessPreparer prepares the GetInstanceProcess request. +func (client AppsClient) GetInstanceProcessPreparer(resourceGroupName string, name string, processID string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetInstanceProcessSender sends the GetInstanceProcess request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetInstanceProcessSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetInstanceProcessResponder handles the response to the GetInstanceProcess request. The method always +// closes the http.Response Body. +func (client AppsClient) GetInstanceProcessResponder(resp *http.Response) (result ProcessInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetInstanceProcessDump get a memory dump of a process by its ID for a specific scaled-out instance in a web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +// instanceID is ID of a specific scaled-out instance. This is the value of the name property in the JSON response from +// "GET api/sites/{siteName}/instances". +func (client AppsClient) GetInstanceProcessDump(resourceGroupName string, name string, processID string, instanceID string) (result SetObject, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetInstanceProcessDump") + } + + req, err := client.GetInstanceProcessDumpPreparer(resourceGroupName, name, processID, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessDump", nil, "Failure preparing request") + return + } + + resp, err := client.GetInstanceProcessDumpSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessDump", resp, "Failure sending request") + return + } + + result, err = client.GetInstanceProcessDumpResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessDump", resp, "Failure responding to request") + } + + return +} + +// GetInstanceProcessDumpPreparer prepares the GetInstanceProcessDump request. +func (client AppsClient) GetInstanceProcessDumpPreparer(resourceGroupName string, name string, processID string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/dump", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetInstanceProcessDumpSender sends the GetInstanceProcessDump request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetInstanceProcessDumpSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetInstanceProcessDumpResponder handles the response to the GetInstanceProcessDump request. The method always +// closes the http.Response Body. +func (client AppsClient) GetInstanceProcessDumpResponder(resp *http.Response) (result SetObject, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetInstanceProcessDumpSlot get a memory dump of a process by its ID for a specific scaled-out instance in a web +// site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +// slot is name of the deployment slot. If a slot is not specified, the API returns deployments for the production +// slot. instanceID is ID of a specific scaled-out instance. This is the value of the name property in the JSON +// response from "GET api/sites/{siteName}/instances". +func (client AppsClient) GetInstanceProcessDumpSlot(resourceGroupName string, name string, processID string, slot string, instanceID string) (result SetObject, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetInstanceProcessDumpSlot") + } + + req, err := client.GetInstanceProcessDumpSlotPreparer(resourceGroupName, name, processID, slot, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessDumpSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetInstanceProcessDumpSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessDumpSlot", resp, "Failure sending request") + return + } + + result, err = client.GetInstanceProcessDumpSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessDumpSlot", resp, "Failure responding to request") + } + + return +} + +// GetInstanceProcessDumpSlotPreparer prepares the GetInstanceProcessDumpSlot request. +func (client AppsClient) GetInstanceProcessDumpSlotPreparer(resourceGroupName string, name string, processID string, slot string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/dump", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetInstanceProcessDumpSlotSender sends the GetInstanceProcessDumpSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetInstanceProcessDumpSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetInstanceProcessDumpSlotResponder handles the response to the GetInstanceProcessDumpSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetInstanceProcessDumpSlotResponder(resp *http.Response) (result SetObject, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetInstanceProcessModule get process information by its ID for a specific scaled-out instance in a web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +// baseAddress is module base address. instanceID is ID of a specific scaled-out instance. This is the value of the +// name property in the JSON response from "GET api/sites/{siteName}/instances". +func (client AppsClient) GetInstanceProcessModule(resourceGroupName string, name string, processID string, baseAddress string, instanceID string, baseAddress1 string) (result ProcessModuleInfo, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetInstanceProcessModule") + } + + req, err := client.GetInstanceProcessModulePreparer(resourceGroupName, name, processID, baseAddress, instanceID, baseAddress1) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessModule", nil, "Failure preparing request") + return + } + + resp, err := client.GetInstanceProcessModuleSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessModule", resp, "Failure sending request") + return + } + + result, err = client.GetInstanceProcessModuleResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessModule", resp, "Failure responding to request") + } + + return +} + +// GetInstanceProcessModulePreparer prepares the GetInstanceProcessModule request. +func (client AppsClient) GetInstanceProcessModulePreparer(resourceGroupName string, name string, processID string, baseAddress string, instanceID string, baseAddress1 string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "base_address": autorest.Encode("path", baseAddress1), + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "baseAddress": autorest.Encode("query", baseAddress), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules/{base_address}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetInstanceProcessModuleSender sends the GetInstanceProcessModule request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetInstanceProcessModuleSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetInstanceProcessModuleResponder handles the response to the GetInstanceProcessModule request. The method always +// closes the http.Response Body. +func (client AppsClient) GetInstanceProcessModuleResponder(resp *http.Response) (result ProcessModuleInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetInstanceProcessModuleSlot get process information by its ID for a specific scaled-out instance in a web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +// baseAddress is module base address. slot is name of the deployment slot. If a slot is not specified, the API returns +// deployments for the production slot. instanceID is ID of a specific scaled-out instance. This is the value of the +// name property in the JSON response from "GET api/sites/{siteName}/instances". +func (client AppsClient) GetInstanceProcessModuleSlot(resourceGroupName string, name string, processID string, baseAddress string, slot string, instanceID string, baseAddress1 string) (result ProcessModuleInfo, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetInstanceProcessModuleSlot") + } + + req, err := client.GetInstanceProcessModuleSlotPreparer(resourceGroupName, name, processID, baseAddress, slot, instanceID, baseAddress1) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessModuleSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetInstanceProcessModuleSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessModuleSlot", resp, "Failure sending request") + return + } + + result, err = client.GetInstanceProcessModuleSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessModuleSlot", resp, "Failure responding to request") + } + + return +} + +// GetInstanceProcessModuleSlotPreparer prepares the GetInstanceProcessModuleSlot request. +func (client AppsClient) GetInstanceProcessModuleSlotPreparer(resourceGroupName string, name string, processID string, baseAddress string, slot string, instanceID string, baseAddress1 string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "base_address": autorest.Encode("path", baseAddress1), + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "baseAddress": autorest.Encode("query", baseAddress), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules/{base_address}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetInstanceProcessModuleSlotSender sends the GetInstanceProcessModuleSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetInstanceProcessModuleSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetInstanceProcessModuleSlotResponder handles the response to the GetInstanceProcessModuleSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetInstanceProcessModuleSlotResponder(resp *http.Response) (result ProcessModuleInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetInstanceProcessSlot get process information by its ID for a specific scaled-out instance in a web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +// slot is name of the deployment slot. If a slot is not specified, the API returns deployments for the production +// slot. instanceID is ID of a specific scaled-out instance. This is the value of the name property in the JSON +// response from "GET api/sites/{siteName}/instances". +func (client AppsClient) GetInstanceProcessSlot(resourceGroupName string, name string, processID string, slot string, instanceID string) (result ProcessInfo, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetInstanceProcessSlot") + } + + req, err := client.GetInstanceProcessSlotPreparer(resourceGroupName, name, processID, slot, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetInstanceProcessSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessSlot", resp, "Failure sending request") + return + } + + result, err = client.GetInstanceProcessSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessSlot", resp, "Failure responding to request") + } + + return +} + +// GetInstanceProcessSlotPreparer prepares the GetInstanceProcessSlot request. +func (client AppsClient) GetInstanceProcessSlotPreparer(resourceGroupName string, name string, processID string, slot string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetInstanceProcessSlotSender sends the GetInstanceProcessSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetInstanceProcessSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetInstanceProcessSlotResponder handles the response to the GetInstanceProcessSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetInstanceProcessSlotResponder(resp *http.Response) (result ProcessInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetInstanceProcessThread get thread information by Thread ID for a specific process, in a specific scaled-out +// instance in a web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +// threadID is tID. instanceID is ID of a specific scaled-out instance. This is the value of the name property in the +// JSON response from "GET api/sites/{siteName}/instances". +func (client AppsClient) GetInstanceProcessThread(resourceGroupName string, name string, processID string, threadID string, instanceID string) (result ProcessThreadInfo, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetInstanceProcessThread") + } + + req, err := client.GetInstanceProcessThreadPreparer(resourceGroupName, name, processID, threadID, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessThread", nil, "Failure preparing request") + return + } + + resp, err := client.GetInstanceProcessThreadSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessThread", resp, "Failure sending request") + return + } + + result, err = client.GetInstanceProcessThreadResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessThread", resp, "Failure responding to request") + } + + return +} + +// GetInstanceProcessThreadPreparer prepares the GetInstanceProcessThread request. +func (client AppsClient) GetInstanceProcessThreadPreparer(resourceGroupName string, name string, processID string, threadID string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "threadId": autorest.Encode("path", threadID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/threads/{threadId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetInstanceProcessThreadSender sends the GetInstanceProcessThread request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetInstanceProcessThreadSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetInstanceProcessThreadResponder handles the response to the GetInstanceProcessThread request. The method always +// closes the http.Response Body. +func (client AppsClient) GetInstanceProcessThreadResponder(resp *http.Response) (result ProcessThreadInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetInstanceProcessThreadSlot get thread information by Thread ID for a specific process, in a specific scaled-out +// instance in a web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +// threadID is tID. slot is name of the deployment slot. If a slot is not specified, the API returns deployments for +// the production slot. instanceID is ID of a specific scaled-out instance. This is the value of the name property in +// the JSON response from "GET api/sites/{siteName}/instances". +func (client AppsClient) GetInstanceProcessThreadSlot(resourceGroupName string, name string, processID string, threadID string, slot string, instanceID string) (result ProcessThreadInfo, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetInstanceProcessThreadSlot") + } + + req, err := client.GetInstanceProcessThreadSlotPreparer(resourceGroupName, name, processID, threadID, slot, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessThreadSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetInstanceProcessThreadSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessThreadSlot", resp, "Failure sending request") + return + } + + result, err = client.GetInstanceProcessThreadSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessThreadSlot", resp, "Failure responding to request") + } + + return +} + +// GetInstanceProcessThreadSlotPreparer prepares the GetInstanceProcessThreadSlot request. +func (client AppsClient) GetInstanceProcessThreadSlotPreparer(resourceGroupName string, name string, processID string, threadID string, slot string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "threadId": autorest.Encode("path", threadID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads/{threadId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetInstanceProcessThreadSlotSender sends the GetInstanceProcessThreadSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetInstanceProcessThreadSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetInstanceProcessThreadSlotResponder handles the response to the GetInstanceProcessThreadSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetInstanceProcessThreadSlotResponder(resp *http.Response) (result ProcessThreadInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetMigrateMySQLStatus returns the status of MySql in app migration, if one is active, and whether or not MySql in +// app is enabled +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. func (client AppsClient) GetMigrateMySQLStatus(resourceGroupName string, name string) (result MigrateMySQLStatus, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -6627,11 +9197,11 @@ func (client AppsClient) GetMigrateMySQLStatusResponder(resp *http.Response) (re return } -// GetMigrateMySQLStatusSlot returns the status of MySql in app migration, if -// one is active, and whether or not MySql in app is enabled +// GetMigrateMySQLStatusSlot returns the status of MySql in app migration, if one is active, and whether or not MySql +// in app is enabled // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of web app slot is name of the deployment slot +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. slot is name +// of the deployment slot. func (client AppsClient) GetMigrateMySQLStatusSlot(resourceGroupName string, name string, slot string) (result MigrateMySQLStatus, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -6703,10 +9273,306 @@ func (client AppsClient) GetMigrateMySQLStatusSlotResponder(resp *http.Response) return } +// GetMSDeployLog get the MSDeploy Log for the last MSDeploy operation. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. +func (client AppsClient) GetMSDeployLog(resourceGroupName string, name string) (result MSDeployLog, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetMSDeployLog") + } + + req, err := client.GetMSDeployLogPreparer(resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMSDeployLog", nil, "Failure preparing request") + return + } + + resp, err := client.GetMSDeployLogSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMSDeployLog", resp, "Failure sending request") + return + } + + result, err = client.GetMSDeployLogResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMSDeployLog", resp, "Failure responding to request") + } + + return +} + +// GetMSDeployLogPreparer prepares the GetMSDeployLog request. +func (client AppsClient) GetMSDeployLogPreparer(resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy/log", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetMSDeployLogSender sends the GetMSDeployLog request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetMSDeployLogSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetMSDeployLogResponder handles the response to the GetMSDeployLog request. The method always +// closes the http.Response Body. +func (client AppsClient) GetMSDeployLogResponder(resp *http.Response) (result MSDeployLog, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetMSDeployLogSlot get the MSDeploy Log for the last MSDeploy operation. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. slot is name +// of web app slot. If not specified then will default to production slot. +func (client AppsClient) GetMSDeployLogSlot(resourceGroupName string, name string, slot string) (result MSDeployLog, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetMSDeployLogSlot") + } + + req, err := client.GetMSDeployLogSlotPreparer(resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMSDeployLogSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetMSDeployLogSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMSDeployLogSlot", resp, "Failure sending request") + return + } + + result, err = client.GetMSDeployLogSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMSDeployLogSlot", resp, "Failure responding to request") + } + + return +} + +// GetMSDeployLogSlotPreparer prepares the GetMSDeployLogSlot request. +func (client AppsClient) GetMSDeployLogSlotPreparer(resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy/log", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetMSDeployLogSlotSender sends the GetMSDeployLogSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetMSDeployLogSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetMSDeployLogSlotResponder handles the response to the GetMSDeployLogSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetMSDeployLogSlotResponder(resp *http.Response) (result MSDeployLog, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetMSDeployStatus get the status of the last MSDeploy operation. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. +func (client AppsClient) GetMSDeployStatus(resourceGroupName string, name string) (result MSDeployStatus, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetMSDeployStatus") + } + + req, err := client.GetMSDeployStatusPreparer(resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMSDeployStatus", nil, "Failure preparing request") + return + } + + resp, err := client.GetMSDeployStatusSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMSDeployStatus", resp, "Failure sending request") + return + } + + result, err = client.GetMSDeployStatusResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMSDeployStatus", resp, "Failure responding to request") + } + + return +} + +// GetMSDeployStatusPreparer prepares the GetMSDeployStatus request. +func (client AppsClient) GetMSDeployStatusPreparer(resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetMSDeployStatusSender sends the GetMSDeployStatus request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetMSDeployStatusSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetMSDeployStatusResponder handles the response to the GetMSDeployStatus request. The method always +// closes the http.Response Body. +func (client AppsClient) GetMSDeployStatusResponder(resp *http.Response) (result MSDeployStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetMSDeployStatusSlot get the status of the last MSDeploy operation. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. slot is name +// of web app slot. If not specified then will default to production slot. +func (client AppsClient) GetMSDeployStatusSlot(resourceGroupName string, name string, slot string) (result MSDeployStatus, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetMSDeployStatusSlot") + } + + req, err := client.GetMSDeployStatusSlotPreparer(resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMSDeployStatusSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetMSDeployStatusSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMSDeployStatusSlot", resp, "Failure sending request") + return + } + + result, err = client.GetMSDeployStatusSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMSDeployStatusSlot", resp, "Failure responding to request") + } + + return +} + +// GetMSDeployStatusSlotPreparer prepares the GetMSDeployStatusSlot request. +func (client AppsClient) GetMSDeployStatusSlotPreparer(resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetMSDeployStatusSlotSender sends the GetMSDeployStatusSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetMSDeployStatusSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetMSDeployStatusSlotResponder handles the response to the GetMSDeployStatusSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetMSDeployStatusSlotResponder(resp *http.Response) (result MSDeployStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // GetPremierAddOn gets a named add-on of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. premierAddOnName is add-on name. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// premierAddOnName is add-on name. func (client AppsClient) GetPremierAddOn(resourceGroupName string, name string, premierAddOnName string) (result PremierAddOn, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -6780,9 +9646,8 @@ func (client AppsClient) GetPremierAddOnResponder(resp *http.Response) (result P // GetPremierAddOnSlot gets a named add-on of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. premierAddOnName is add-on name. slot is -// name of the deployment slot. If a slot is not specified, the API will get +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// premierAddOnName is add-on name. slot is name of the deployment slot. If a slot is not specified, the API will get // the named add-on for the production slot. func (client AppsClient) GetPremierAddOnSlot(resourceGroupName string, name string, premierAddOnName string, slot string) (result PremierAddOn, err error) { if err := validation.Validate([]validation.Validation{ @@ -6856,12 +9721,776 @@ func (client AppsClient) GetPremierAddOnSlotResponder(resp *http.Response) (resu return } -// GetRelayServiceConnection gets a hybrid connection configuration by its -// name. +// GetProcess get process information by its ID for a specific scaled-out instance in a web site. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. entityName is name of the hybrid -// connection. +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +func (client AppsClient) GetProcess(resourceGroupName string, name string, processID string) (result ProcessInfo, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetProcess") + } + + req, err := client.GetProcessPreparer(resourceGroupName, name, processID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcess", nil, "Failure preparing request") + return + } + + resp, err := client.GetProcessSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcess", resp, "Failure sending request") + return + } + + result, err = client.GetProcessResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcess", resp, "Failure responding to request") + } + + return +} + +// GetProcessPreparer prepares the GetProcess request. +func (client AppsClient) GetProcessPreparer(resourceGroupName string, name string, processID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetProcessSender sends the GetProcess request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetProcessSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetProcessResponder handles the response to the GetProcess request. The method always +// closes the http.Response Body. +func (client AppsClient) GetProcessResponder(resp *http.Response) (result ProcessInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetProcessDump get a memory dump of a process by its ID for a specific scaled-out instance in a web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +func (client AppsClient) GetProcessDump(resourceGroupName string, name string, processID string) (result SetObject, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetProcessDump") + } + + req, err := client.GetProcessDumpPreparer(resourceGroupName, name, processID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessDump", nil, "Failure preparing request") + return + } + + resp, err := client.GetProcessDumpSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessDump", resp, "Failure sending request") + return + } + + result, err = client.GetProcessDumpResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessDump", resp, "Failure responding to request") + } + + return +} + +// GetProcessDumpPreparer prepares the GetProcessDump request. +func (client AppsClient) GetProcessDumpPreparer(resourceGroupName string, name string, processID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/dump", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetProcessDumpSender sends the GetProcessDump request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetProcessDumpSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetProcessDumpResponder handles the response to the GetProcessDump request. The method always +// closes the http.Response Body. +func (client AppsClient) GetProcessDumpResponder(resp *http.Response) (result SetObject, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetProcessDumpSlot get a memory dump of a process by its ID for a specific scaled-out instance in a web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +// slot is name of the deployment slot. If a slot is not specified, the API returns deployments for the production +// slot. +func (client AppsClient) GetProcessDumpSlot(resourceGroupName string, name string, processID string, slot string) (result SetObject, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetProcessDumpSlot") + } + + req, err := client.GetProcessDumpSlotPreparer(resourceGroupName, name, processID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessDumpSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetProcessDumpSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessDumpSlot", resp, "Failure sending request") + return + } + + result, err = client.GetProcessDumpSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessDumpSlot", resp, "Failure responding to request") + } + + return +} + +// GetProcessDumpSlotPreparer prepares the GetProcessDumpSlot request. +func (client AppsClient) GetProcessDumpSlotPreparer(resourceGroupName string, name string, processID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/dump", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetProcessDumpSlotSender sends the GetProcessDumpSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetProcessDumpSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetProcessDumpSlotResponder handles the response to the GetProcessDumpSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetProcessDumpSlotResponder(resp *http.Response) (result SetObject, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetProcessModule get process information by its ID for a specific scaled-out instance in a web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +// baseAddress is module base address. +func (client AppsClient) GetProcessModule(resourceGroupName string, name string, processID string, baseAddress string, baseAddress1 string) (result ProcessModuleInfo, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetProcessModule") + } + + req, err := client.GetProcessModulePreparer(resourceGroupName, name, processID, baseAddress, baseAddress1) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessModule", nil, "Failure preparing request") + return + } + + resp, err := client.GetProcessModuleSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessModule", resp, "Failure sending request") + return + } + + result, err = client.GetProcessModuleResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessModule", resp, "Failure responding to request") + } + + return +} + +// GetProcessModulePreparer prepares the GetProcessModule request. +func (client AppsClient) GetProcessModulePreparer(resourceGroupName string, name string, processID string, baseAddress string, baseAddress1 string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "base_address": autorest.Encode("path", baseAddress1), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "baseAddress": autorest.Encode("query", baseAddress), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules/{base_address}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetProcessModuleSender sends the GetProcessModule request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetProcessModuleSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetProcessModuleResponder handles the response to the GetProcessModule request. The method always +// closes the http.Response Body. +func (client AppsClient) GetProcessModuleResponder(resp *http.Response) (result ProcessModuleInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetProcessModuleSlot get process information by its ID for a specific scaled-out instance in a web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +// baseAddress is module base address. slot is name of the deployment slot. If a slot is not specified, the API returns +// deployments for the production slot. +func (client AppsClient) GetProcessModuleSlot(resourceGroupName string, name string, processID string, baseAddress string, slot string, baseAddress1 string) (result ProcessModuleInfo, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetProcessModuleSlot") + } + + req, err := client.GetProcessModuleSlotPreparer(resourceGroupName, name, processID, baseAddress, slot, baseAddress1) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessModuleSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetProcessModuleSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessModuleSlot", resp, "Failure sending request") + return + } + + result, err = client.GetProcessModuleSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessModuleSlot", resp, "Failure responding to request") + } + + return +} + +// GetProcessModuleSlotPreparer prepares the GetProcessModuleSlot request. +func (client AppsClient) GetProcessModuleSlotPreparer(resourceGroupName string, name string, processID string, baseAddress string, slot string, baseAddress1 string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "base_address": autorest.Encode("path", baseAddress1), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "baseAddress": autorest.Encode("query", baseAddress), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules/{base_address}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetProcessModuleSlotSender sends the GetProcessModuleSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetProcessModuleSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetProcessModuleSlotResponder handles the response to the GetProcessModuleSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetProcessModuleSlotResponder(resp *http.Response) (result ProcessModuleInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetProcessSlot get process information by its ID for a specific scaled-out instance in a web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +// slot is name of the deployment slot. If a slot is not specified, the API returns deployments for the production +// slot. +func (client AppsClient) GetProcessSlot(resourceGroupName string, name string, processID string, slot string) (result ProcessInfo, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetProcessSlot") + } + + req, err := client.GetProcessSlotPreparer(resourceGroupName, name, processID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetProcessSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessSlot", resp, "Failure sending request") + return + } + + result, err = client.GetProcessSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessSlot", resp, "Failure responding to request") + } + + return +} + +// GetProcessSlotPreparer prepares the GetProcessSlot request. +func (client AppsClient) GetProcessSlotPreparer(resourceGroupName string, name string, processID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetProcessSlotSender sends the GetProcessSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetProcessSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetProcessSlotResponder handles the response to the GetProcessSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetProcessSlotResponder(resp *http.Response) (result ProcessInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetProcessThread get thread information by Thread ID for a specific process, in a specific scaled-out instance in a +// web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +// threadID is tID. +func (client AppsClient) GetProcessThread(resourceGroupName string, name string, processID string, threadID string) (result ProcessThreadInfo, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetProcessThread") + } + + req, err := client.GetProcessThreadPreparer(resourceGroupName, name, processID, threadID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessThread", nil, "Failure preparing request") + return + } + + resp, err := client.GetProcessThreadSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessThread", resp, "Failure sending request") + return + } + + result, err = client.GetProcessThreadResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessThread", resp, "Failure responding to request") + } + + return +} + +// GetProcessThreadPreparer prepares the GetProcessThread request. +func (client AppsClient) GetProcessThreadPreparer(resourceGroupName string, name string, processID string, threadID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "threadId": autorest.Encode("path", threadID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/threads/{threadId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetProcessThreadSender sends the GetProcessThread request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetProcessThreadSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetProcessThreadResponder handles the response to the GetProcessThread request. The method always +// closes the http.Response Body. +func (client AppsClient) GetProcessThreadResponder(resp *http.Response) (result ProcessThreadInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetProcessThreadSlot get thread information by Thread ID for a specific process, in a specific scaled-out instance +// in a web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +// threadID is tID. slot is name of the deployment slot. If a slot is not specified, the API returns deployments for +// the production slot. +func (client AppsClient) GetProcessThreadSlot(resourceGroupName string, name string, processID string, threadID string, slot string) (result ProcessThreadInfo, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetProcessThreadSlot") + } + + req, err := client.GetProcessThreadSlotPreparer(resourceGroupName, name, processID, threadID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessThreadSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetProcessThreadSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessThreadSlot", resp, "Failure sending request") + return + } + + result, err = client.GetProcessThreadSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessThreadSlot", resp, "Failure responding to request") + } + + return +} + +// GetProcessThreadSlotPreparer prepares the GetProcessThreadSlot request. +func (client AppsClient) GetProcessThreadSlotPreparer(resourceGroupName string, name string, processID string, threadID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "threadId": autorest.Encode("path", threadID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/threads/{threadId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetProcessThreadSlotSender sends the GetProcessThreadSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetProcessThreadSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetProcessThreadSlotResponder handles the response to the GetProcessThreadSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetProcessThreadSlotResponder(resp *http.Response) (result ProcessThreadInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetPublicCertificate get the named public certificate for an app (or deployment slot, if specified). +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// publicCertificateName is public certificate name. +func (client AppsClient) GetPublicCertificate(resourceGroupName string, name string, publicCertificateName string) (result PublicCertificate, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetPublicCertificate") + } + + req, err := client.GetPublicCertificatePreparer(resourceGroupName, name, publicCertificateName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetPublicCertificate", nil, "Failure preparing request") + return + } + + resp, err := client.GetPublicCertificateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetPublicCertificate", resp, "Failure sending request") + return + } + + result, err = client.GetPublicCertificateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetPublicCertificate", resp, "Failure responding to request") + } + + return +} + +// GetPublicCertificatePreparer prepares the GetPublicCertificate request. +func (client AppsClient) GetPublicCertificatePreparer(resourceGroupName string, name string, publicCertificateName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "publicCertificateName": autorest.Encode("path", publicCertificateName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetPublicCertificateSender sends the GetPublicCertificate request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetPublicCertificateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetPublicCertificateResponder handles the response to the GetPublicCertificate request. The method always +// closes the http.Response Body. +func (client AppsClient) GetPublicCertificateResponder(resp *http.Response) (result PublicCertificate, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetPublicCertificateSlot get the named public certificate for an app (or deployment slot, if specified). +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API the named binding for the production slot. +// publicCertificateName is public certificate name. +func (client AppsClient) GetPublicCertificateSlot(resourceGroupName string, name string, slot string, publicCertificateName string) (result PublicCertificate, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetPublicCertificateSlot") + } + + req, err := client.GetPublicCertificateSlotPreparer(resourceGroupName, name, slot, publicCertificateName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetPublicCertificateSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetPublicCertificateSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetPublicCertificateSlot", resp, "Failure sending request") + return + } + + result, err = client.GetPublicCertificateSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetPublicCertificateSlot", resp, "Failure responding to request") + } + + return +} + +// GetPublicCertificateSlotPreparer prepares the GetPublicCertificateSlot request. +func (client AppsClient) GetPublicCertificateSlotPreparer(resourceGroupName string, name string, slot string, publicCertificateName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "publicCertificateName": autorest.Encode("path", publicCertificateName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetPublicCertificateSlotSender sends the GetPublicCertificateSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetPublicCertificateSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetPublicCertificateSlotResponder handles the response to the GetPublicCertificateSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetPublicCertificateSlotResponder(resp *http.Response) (result PublicCertificate, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetRelayServiceConnection gets a hybrid connection configuration by its name. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. entityName +// is name of the hybrid connection. func (client AppsClient) GetRelayServiceConnection(resourceGroupName string, name string, entityName string) (result RelayServiceConnectionEntity, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -6933,13 +10562,11 @@ func (client AppsClient) GetRelayServiceConnectionResponder(resp *http.Response) return } -// GetRelayServiceConnectionSlot gets a hybrid connection configuration by its -// name. +// GetRelayServiceConnectionSlot gets a hybrid connection configuration by its name. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. entityName is name of the hybrid -// connection. slot is name of the deployment slot. If a slot is not specified, -// the API will get a hybrid connection for the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. entityName +// is name of the hybrid connection. slot is name of the deployment slot. If a slot is not specified, the API will get +// a hybrid connection for the production slot. func (client AppsClient) GetRelayServiceConnectionSlot(resourceGroupName string, name string, entityName string, slot string) (result RelayServiceConnectionEntity, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -7012,44 +10639,44 @@ func (client AppsClient) GetRelayServiceConnectionSlotResponder(resp *http.Respo return } -// GetResourceHealthMetadata gets the category of ResourceHealthMetadata to use -// for the given site +// GetSiteExtension get site extension information by its ID for a web site, or a deployment slot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of web app -func (client AppsClient) GetResourceHealthMetadata(resourceGroupName string, name string) (result ResourceHealthMetadata, err error) { +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. siteExtensionID is +// site extension name. +func (client AppsClient) GetSiteExtension(resourceGroupName string, name string, siteExtensionID string, extensionName string) (result SiteExtensionInfo, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { - return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetResourceHealthMetadata") + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetSiteExtension") } - req, err := client.GetResourceHealthMetadataPreparer(resourceGroupName, name) + req, err := client.GetSiteExtensionPreparer(resourceGroupName, name, siteExtensionID, extensionName) if err != nil { - err = autorest.NewErrorWithError(err, "web.AppsClient", "GetResourceHealthMetadata", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSiteExtension", nil, "Failure preparing request") return } - resp, err := client.GetResourceHealthMetadataSender(req) + resp, err := client.GetSiteExtensionSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "web.AppsClient", "GetResourceHealthMetadata", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSiteExtension", resp, "Failure sending request") return } - result, err = client.GetResourceHealthMetadataResponder(resp) + result, err = client.GetSiteExtensionResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "web.AppsClient", "GetResourceHealthMetadata", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSiteExtension", resp, "Failure responding to request") } return } -// GetResourceHealthMetadataPreparer prepares the GetResourceHealthMetadata request. -func (client AppsClient) GetResourceHealthMetadataPreparer(resourceGroupName string, name string) (*http.Request, error) { +// GetSiteExtensionPreparer prepares the GetSiteExtension request. +func (client AppsClient) GetSiteExtensionPreparer(resourceGroupName string, name string, siteExtensionID string, extensionName string) (*http.Request, error) { pathParameters := map[string]interface{}{ + "extensionName": autorest.Encode("path", extensionName), "name": autorest.Encode("path", name), "resourceGroupName": autorest.Encode("path", resourceGroupName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), @@ -7057,75 +10684,76 @@ func (client AppsClient) GetResourceHealthMetadataPreparer(resourceGroupName str const APIVersion = "2016-08-01" queryParameters := map[string]interface{}{ - "api-version": APIVersion, + "api-version": APIVersion, + "siteExtensionId": autorest.Encode("query", siteExtensionID), } preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions/{extensionName}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } -// GetResourceHealthMetadataSender sends the GetResourceHealthMetadata request. The method will close the +// GetSiteExtensionSender sends the GetSiteExtension request. The method will close the // http.Response Body if it receives an error. -func (client AppsClient) GetResourceHealthMetadataSender(req *http.Request) (*http.Response, error) { +func (client AppsClient) GetSiteExtensionSender(req *http.Request) (*http.Response, error) { return autorest.SendWithSender(client, req) } -// GetResourceHealthMetadataResponder handles the response to the GetResourceHealthMetadata request. The method always +// GetSiteExtensionResponder handles the response to the GetSiteExtension request. The method always // closes the http.Response Body. -func (client AppsClient) GetResourceHealthMetadataResponder(resp *http.Response) (result ResourceHealthMetadata, err error) { +func (client AppsClient) GetSiteExtensionResponder(resp *http.Response) (result SiteExtensionInfo, err error) { err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// GetResourceHealthMetadataSlot gets the category of ResourceHealthMetadata to -// use for the given site +// GetSiteExtensionSlot get site extension information by its ID for a web site, or a deployment slot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of web app slot is name of web app slot. If not -// specified then will default to production slot. -func (client AppsClient) GetResourceHealthMetadataSlot(resourceGroupName string, name string, slot string) (result ResourceHealthMetadata, err error) { +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. siteExtensionID is +// site extension name. slot is name of the deployment slot. If a slot is not specified, the API deletes a deployment +// for the production slot. +func (client AppsClient) GetSiteExtensionSlot(resourceGroupName string, name string, siteExtensionID string, slot string, extensionName string) (result SiteExtensionInfo, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { - return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetResourceHealthMetadataSlot") + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetSiteExtensionSlot") } - req, err := client.GetResourceHealthMetadataSlotPreparer(resourceGroupName, name, slot) + req, err := client.GetSiteExtensionSlotPreparer(resourceGroupName, name, siteExtensionID, slot, extensionName) if err != nil { - err = autorest.NewErrorWithError(err, "web.AppsClient", "GetResourceHealthMetadataSlot", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSiteExtensionSlot", nil, "Failure preparing request") return } - resp, err := client.GetResourceHealthMetadataSlotSender(req) + resp, err := client.GetSiteExtensionSlotSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "web.AppsClient", "GetResourceHealthMetadataSlot", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSiteExtensionSlot", resp, "Failure sending request") return } - result, err = client.GetResourceHealthMetadataSlotResponder(resp) + result, err = client.GetSiteExtensionSlotResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "web.AppsClient", "GetResourceHealthMetadataSlot", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSiteExtensionSlot", resp, "Failure responding to request") } return } -// GetResourceHealthMetadataSlotPreparer prepares the GetResourceHealthMetadataSlot request. -func (client AppsClient) GetResourceHealthMetadataSlotPreparer(resourceGroupName string, name string, slot string) (*http.Request, error) { +// GetSiteExtensionSlotPreparer prepares the GetSiteExtensionSlot request. +func (client AppsClient) GetSiteExtensionSlotPreparer(resourceGroupName string, name string, siteExtensionID string, slot string, extensionName string) (*http.Request, error) { pathParameters := map[string]interface{}{ + "extensionName": autorest.Encode("path", extensionName), "name": autorest.Encode("path", name), "resourceGroupName": autorest.Encode("path", resourceGroupName), "slot": autorest.Encode("path", slot), @@ -7134,30 +10762,31 @@ func (client AppsClient) GetResourceHealthMetadataSlotPreparer(resourceGroupName const APIVersion = "2016-08-01" queryParameters := map[string]interface{}{ - "api-version": APIVersion, + "api-version": APIVersion, + "siteExtensionId": autorest.Encode("query", siteExtensionID), } preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions/{extensionName}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } -// GetResourceHealthMetadataSlotSender sends the GetResourceHealthMetadataSlot request. The method will close the +// GetSiteExtensionSlotSender sends the GetSiteExtensionSlot request. The method will close the // http.Response Body if it receives an error. -func (client AppsClient) GetResourceHealthMetadataSlotSender(req *http.Request) (*http.Response, error) { +func (client AppsClient) GetSiteExtensionSlotSender(req *http.Request) (*http.Response, error) { return autorest.SendWithSender(client, req) } -// GetResourceHealthMetadataSlotResponder handles the response to the GetResourceHealthMetadataSlot request. The method always +// GetSiteExtensionSlotResponder handles the response to the GetSiteExtensionSlot request. The method always // closes the http.Response Body. -func (client AppsClient) GetResourceHealthMetadataSlotResponder(resp *http.Response) (result ResourceHealthMetadata, err error) { +func (client AppsClient) GetSiteExtensionSlotResponder(resp *http.Response) (result SiteExtensionInfo, err error) { err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} @@ -7166,8 +10795,7 @@ func (client AppsClient) GetResourceHealthMetadataSlotResponder(resp *http.Respo // GetSitePhpErrorLogFlag gets web app's event logs. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of web app +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. func (client AppsClient) GetSitePhpErrorLogFlag(resourceGroupName string, name string) (result SitePhpErrorLogFlag, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -7240,9 +10868,8 @@ func (client AppsClient) GetSitePhpErrorLogFlagResponder(resp *http.Response) (r // GetSitePhpErrorLogFlagSlot gets web app's event logs. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of web app slot is name of web app slot. If not -// specified then will default to production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. slot is name +// of web app slot. If not specified then will default to production slot. func (client AppsClient) GetSitePhpErrorLogFlagSlot(resourceGroupName string, name string, slot string) (result SitePhpErrorLogFlag, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -7316,9 +10943,8 @@ func (client AppsClient) GetSitePhpErrorLogFlagSlotResponder(resp *http.Response // GetSlot gets the details of a web, mobile, or API app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. By -// default, this API returns the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. By default, this API returns the production slot. func (client AppsClient) GetSlot(resourceGroupName string, name string, slot string) (result Site, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -7392,8 +11018,7 @@ func (client AppsClient) GetSlotResponder(resp *http.Response) (result Site, err // GetSourceControl gets the source control configuration of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) GetSourceControl(resourceGroupName string, name string) (result SiteSourceControl, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -7466,10 +11091,9 @@ func (client AppsClient) GetSourceControlResponder(resp *http.Response) (result // GetSourceControlSlot gets the source control configuration of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will get the source control configuration for -// the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will get the source control configuration for the +// production slot. func (client AppsClient) GetSourceControlSlot(resourceGroupName string, name string, slot string) (result SiteSourceControl, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -7541,11 +11165,320 @@ func (client AppsClient) GetSourceControlSlotResponder(resp *http.Response) (res return } -// GetVnetConnection gets a virtual network the app (or deployment slot) is -// connected to by name. +// GetTriggeredWebJob gets a triggered web job by its ID for an app, or a deployment slot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. vnetName is name of the virtual network. +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. webJobID is web +// job ID. +func (client AppsClient) GetTriggeredWebJob(resourceGroupName string, name string, webJobID string, webJobName string) (result TriggeredWebJob, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetTriggeredWebJob") + } + + req, err := client.GetTriggeredWebJobPreparer(resourceGroupName, name, webJobID, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetTriggeredWebJob", nil, "Failure preparing request") + return + } + + resp, err := client.GetTriggeredWebJobSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetTriggeredWebJob", resp, "Failure sending request") + return + } + + result, err = client.GetTriggeredWebJobResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetTriggeredWebJob", resp, "Failure responding to request") + } + + return +} + +// GetTriggeredWebJobPreparer prepares the GetTriggeredWebJob request. +func (client AppsClient) GetTriggeredWebJobPreparer(resourceGroupName string, name string, webJobID string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "webJobId": autorest.Encode("query", webJobID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetTriggeredWebJobSender sends the GetTriggeredWebJob request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetTriggeredWebJobSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetTriggeredWebJobResponder handles the response to the GetTriggeredWebJob request. The method always +// closes the http.Response Body. +func (client AppsClient) GetTriggeredWebJobResponder(resp *http.Response) (result TriggeredWebJob, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetTriggeredWebJobHistory gets a triggered web job's history by its ID for an app, , or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. webJobID is web +// job ID. ID is history ID. +func (client AppsClient) GetTriggeredWebJobHistory(resourceGroupName string, name string, webJobID string, ID string, webJobName string) (result TriggeredJobHistory, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetTriggeredWebJobHistory") + } + + req, err := client.GetTriggeredWebJobHistoryPreparer(resourceGroupName, name, webJobID, ID, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetTriggeredWebJobHistory", nil, "Failure preparing request") + return + } + + resp, err := client.GetTriggeredWebJobHistorySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetTriggeredWebJobHistory", resp, "Failure sending request") + return + } + + result, err = client.GetTriggeredWebJobHistoryResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetTriggeredWebJobHistory", resp, "Failure responding to request") + } + + return +} + +// GetTriggeredWebJobHistoryPreparer prepares the GetTriggeredWebJobHistory request. +func (client AppsClient) GetTriggeredWebJobHistoryPreparer(resourceGroupName string, name string, webJobID string, ID string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "id": autorest.Encode("path", ID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "webJobId": autorest.Encode("query", webJobID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history/{id}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetTriggeredWebJobHistorySender sends the GetTriggeredWebJobHistory request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetTriggeredWebJobHistorySender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetTriggeredWebJobHistoryResponder handles the response to the GetTriggeredWebJobHistory request. The method always +// closes the http.Response Body. +func (client AppsClient) GetTriggeredWebJobHistoryResponder(resp *http.Response) (result TriggeredJobHistory, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetTriggeredWebJobHistorySlot gets a triggered web job's history by its ID for an app, , or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. webJobID is web +// job ID. ID is history ID. slot is name of the deployment slot. If a slot is not specified, the API deletes a +// deployment for the production slot. +func (client AppsClient) GetTriggeredWebJobHistorySlot(resourceGroupName string, name string, webJobID string, ID string, slot string, webJobName string) (result TriggeredJobHistory, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetTriggeredWebJobHistorySlot") + } + + req, err := client.GetTriggeredWebJobHistorySlotPreparer(resourceGroupName, name, webJobID, ID, slot, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetTriggeredWebJobHistorySlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetTriggeredWebJobHistorySlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetTriggeredWebJobHistorySlot", resp, "Failure sending request") + return + } + + result, err = client.GetTriggeredWebJobHistorySlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetTriggeredWebJobHistorySlot", resp, "Failure responding to request") + } + + return +} + +// GetTriggeredWebJobHistorySlotPreparer prepares the GetTriggeredWebJobHistorySlot request. +func (client AppsClient) GetTriggeredWebJobHistorySlotPreparer(resourceGroupName string, name string, webJobID string, ID string, slot string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "id": autorest.Encode("path", ID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "webJobId": autorest.Encode("query", webJobID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history/{id}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetTriggeredWebJobHistorySlotSender sends the GetTriggeredWebJobHistorySlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetTriggeredWebJobHistorySlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetTriggeredWebJobHistorySlotResponder handles the response to the GetTriggeredWebJobHistorySlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetTriggeredWebJobHistorySlotResponder(resp *http.Response) (result TriggeredJobHistory, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetTriggeredWebJobSlot gets a triggered web job by its ID for an app, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. webJobID is web +// job ID. slot is name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) GetTriggeredWebJobSlot(resourceGroupName string, name string, webJobID string, slot string, webJobName string) (result TriggeredWebJob, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetTriggeredWebJobSlot") + } + + req, err := client.GetTriggeredWebJobSlotPreparer(resourceGroupName, name, webJobID, slot, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetTriggeredWebJobSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetTriggeredWebJobSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetTriggeredWebJobSlot", resp, "Failure sending request") + return + } + + result, err = client.GetTriggeredWebJobSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetTriggeredWebJobSlot", resp, "Failure responding to request") + } + + return +} + +// GetTriggeredWebJobSlotPreparer prepares the GetTriggeredWebJobSlot request. +func (client AppsClient) GetTriggeredWebJobSlotPreparer(resourceGroupName string, name string, webJobID string, slot string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "webJobId": autorest.Encode("query", webJobID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetTriggeredWebJobSlotSender sends the GetTriggeredWebJobSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetTriggeredWebJobSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetTriggeredWebJobSlotResponder handles the response to the GetTriggeredWebJobSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetTriggeredWebJobSlotResponder(resp *http.Response) (result TriggeredWebJob, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetVnetConnection gets a virtual network the app (or deployment slot) is connected to by name. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. vnetName is +// name of the virtual network. func (client AppsClient) GetVnetConnection(resourceGroupName string, name string, vnetName string) (result VnetInfo, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -7619,10 +11552,8 @@ func (client AppsClient) GetVnetConnectionResponder(resp *http.Response) (result // GetVnetConnectionGateway gets an app's Virtual Network gateway. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. vnetName is name of the Virtual Network. -// gatewayName is name of the gateway. Currently, the only supported string is -// "primary". +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. vnetName is +// name of the Virtual Network. gatewayName is name of the gateway. Currently, the only supported string is "primary". func (client AppsClient) GetVnetConnectionGateway(resourceGroupName string, name string, vnetName string, gatewayName string) (result VnetGateway, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -7697,11 +11628,10 @@ func (client AppsClient) GetVnetConnectionGatewayResponder(resp *http.Response) // GetVnetConnectionGatewaySlot gets an app's Virtual Network gateway. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. vnetName is name of the Virtual Network. -// gatewayName is name of the gateway. Currently, the only supported string is -// "primary". slot is name of the deployment slot. If a slot is not specified, -// the API will get a gateway for the production slot's Virtual Network. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. vnetName is +// name of the Virtual Network. gatewayName is name of the gateway. Currently, the only supported string is "primary". +// slot is name of the deployment slot. If a slot is not specified, the API will get a gateway for the production +// slot's Virtual Network. func (client AppsClient) GetVnetConnectionGatewaySlot(resourceGroupName string, name string, vnetName string, gatewayName string, slot string) (result VnetGateway, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -7775,13 +11705,11 @@ func (client AppsClient) GetVnetConnectionGatewaySlotResponder(resp *http.Respon return } -// GetVnetConnectionSlot gets a virtual network the app (or deployment slot) is -// connected to by name. +// GetVnetConnectionSlot gets a virtual network the app (or deployment slot) is connected to by name. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. vnetName is name of the virtual network. -// slot is name of the deployment slot. If a slot is not specified, the API -// will get the named virtual network for the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. vnetName is +// name of the virtual network. slot is name of the deployment slot. If a slot is not specified, the API will get the +// named virtual network for the production slot. func (client AppsClient) GetVnetConnectionSlot(resourceGroupName string, name string, vnetName string, slot string) (result VnetInfo, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -7854,11 +11782,355 @@ func (client AppsClient) GetVnetConnectionSlotResponder(resp *http.Response) (re return } -// IsCloneable shows whether an app can be cloned to another resource group or -// subscription. +// GetWebJob get webjob information for an app, or a deployment slot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. webJobName is name +// of the web job. +func (client AppsClient) GetWebJob(resourceGroupName string, name string, webJobName string) (result Job, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetWebJob") + } + + req, err := client.GetWebJobPreparer(resourceGroupName, name, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetWebJob", nil, "Failure preparing request") + return + } + + resp, err := client.GetWebJobSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetWebJob", resp, "Failure sending request") + return + } + + result, err = client.GetWebJobResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetWebJob", resp, "Failure responding to request") + } + + return +} + +// GetWebJobPreparer prepares the GetWebJob request. +func (client AppsClient) GetWebJobPreparer(resourceGroupName string, name string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs/{webJobName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetWebJobSender sends the GetWebJob request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetWebJobSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetWebJobResponder handles the response to the GetWebJob request. The method always +// closes the http.Response Body. +func (client AppsClient) GetWebJobResponder(resp *http.Response) (result Job, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetWebJobSlot get webjob information for an app, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. webJobName is name +// of the web job. slot is name of the deployment slot. If a slot is not specified, the API returns deployments for the +// production slot. +func (client AppsClient) GetWebJobSlot(resourceGroupName string, name string, webJobName string, slot string) (result Job, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "GetWebJobSlot") + } + + req, err := client.GetWebJobSlotPreparer(resourceGroupName, name, webJobName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetWebJobSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetWebJobSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetWebJobSlot", resp, "Failure sending request") + return + } + + result, err = client.GetWebJobSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetWebJobSlot", resp, "Failure responding to request") + } + + return +} + +// GetWebJobSlotPreparer prepares the GetWebJobSlot request. +func (client AppsClient) GetWebJobSlotPreparer(resourceGroupName string, name string, webJobName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs/{webJobName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetWebJobSlotSender sends the GetWebJobSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetWebJobSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetWebJobSlotResponder handles the response to the GetWebJobSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetWebJobSlotResponder(resp *http.Response) (result Job, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// InstallSiteExtension install site extension on a web site, or a deployment slot. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. siteExtensionID is +// site extension name. +func (client AppsClient) InstallSiteExtension(resourceGroupName string, name string, siteExtensionID string, extensionName string, cancel <-chan struct{}) (<-chan SiteExtensionInfo, <-chan error) { + resultChan := make(chan SiteExtensionInfo, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "web.AppsClient", "InstallSiteExtension") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result SiteExtensionInfo + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.InstallSiteExtensionPreparer(resourceGroupName, name, siteExtensionID, extensionName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "InstallSiteExtension", nil, "Failure preparing request") + return + } + + resp, err := client.InstallSiteExtensionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "InstallSiteExtension", resp, "Failure sending request") + return + } + + result, err = client.InstallSiteExtensionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "InstallSiteExtension", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// InstallSiteExtensionPreparer prepares the InstallSiteExtension request. +func (client AppsClient) InstallSiteExtensionPreparer(resourceGroupName string, name string, siteExtensionID string, extensionName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "extensionName": autorest.Encode("path", extensionName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "siteExtensionId": autorest.Encode("query", siteExtensionID), + } + + preparer := autorest.CreatePreparer( + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions/{extensionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// InstallSiteExtensionSender sends the InstallSiteExtension request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) InstallSiteExtensionSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// InstallSiteExtensionResponder handles the response to the InstallSiteExtension request. The method always +// closes the http.Response Body. +func (client AppsClient) InstallSiteExtensionResponder(resp *http.Response) (result SiteExtensionInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusCreated, http.StatusOK, http.StatusTooManyRequests), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// InstallSiteExtensionSlot install site extension on a web site, or a deployment slot. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. siteExtensionID is +// site extension name. slot is name of the deployment slot. If a slot is not specified, the API deletes a deployment +// for the production slot. +func (client AppsClient) InstallSiteExtensionSlot(resourceGroupName string, name string, siteExtensionID string, slot string, extensionName string, cancel <-chan struct{}) (<-chan SiteExtensionInfo, <-chan error) { + resultChan := make(chan SiteExtensionInfo, 1) + errChan := make(chan error, 1) + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + errChan <- validation.NewErrorWithValidationError(err, "web.AppsClient", "InstallSiteExtensionSlot") + close(errChan) + close(resultChan) + return resultChan, errChan + } + + go func() { + var err error + var result SiteExtensionInfo + defer func() { + if err != nil { + errChan <- err + } + resultChan <- result + close(resultChan) + close(errChan) + }() + req, err := client.InstallSiteExtensionSlotPreparer(resourceGroupName, name, siteExtensionID, slot, extensionName, cancel) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "InstallSiteExtensionSlot", nil, "Failure preparing request") + return + } + + resp, err := client.InstallSiteExtensionSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "InstallSiteExtensionSlot", resp, "Failure sending request") + return + } + + result, err = client.InstallSiteExtensionSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "InstallSiteExtensionSlot", resp, "Failure responding to request") + } + }() + return resultChan, errChan +} + +// InstallSiteExtensionSlotPreparer prepares the InstallSiteExtensionSlot request. +func (client AppsClient) InstallSiteExtensionSlotPreparer(resourceGroupName string, name string, siteExtensionID string, slot string, extensionName string, cancel <-chan struct{}) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "extensionName": autorest.Encode("path", extensionName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "siteExtensionId": autorest.Encode("query", siteExtensionID), + } + + preparer := autorest.CreatePreparer( + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions/{extensionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{Cancel: cancel}) +} + +// InstallSiteExtensionSlotSender sends the InstallSiteExtensionSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) InstallSiteExtensionSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, + req, + azure.DoPollForAsynchronous(client.PollingDelay)) +} + +// InstallSiteExtensionSlotResponder handles the response to the InstallSiteExtensionSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) InstallSiteExtensionSlotResponder(resp *http.Response) (result SiteExtensionInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusCreated, http.StatusOK, http.StatusTooManyRequests), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// IsCloneable shows whether an app can be cloned to another resource group or subscription. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) IsCloneable(resourceGroupName string, name string) (result SiteCloneability, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -7929,12 +12201,10 @@ func (client AppsClient) IsCloneableResponder(resp *http.Response) (result SiteC return } -// IsCloneableSlot shows whether an app can be cloned to another resource group -// or subscription. +// IsCloneableSlot shows whether an app can be cloned to another resource group or subscription. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. By -// default, this API returns information on the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. By default, this API returns information on the production slot. func (client AppsClient) IsCloneableSlot(resourceGroupName string, name string, slot string) (result SiteCloneability, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -8091,10 +12361,54 @@ func (client AppsClient) ListNextResults(lastResults AppCollection) (result AppC return } +// ListComplete gets all elements from the list without paging. +func (client AppsClient) ListComplete(cancel <-chan struct{}) (<-chan Site, <-chan error) { + resultChan := make(chan Site) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListApplicationSettings gets the application settings of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) ListApplicationSettings(resourceGroupName string, name string) (result StringDictionary, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -8167,10 +12481,9 @@ func (client AppsClient) ListApplicationSettingsResponder(resp *http.Response) ( // ListApplicationSettingsSlot gets the application settings of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will get the application settings for the -// production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will get the application settings for the production +// slot. func (client AppsClient) ListApplicationSettingsSlot(resourceGroupName string, name string, slot string) (result StringDictionary, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -8244,8 +12557,7 @@ func (client AppsClient) ListApplicationSettingsSlotResponder(resp *http.Respons // ListBackups gets existing backups of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) ListBackups(resourceGroupName string, name string) (result BackupItemCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -8340,11 +12652,55 @@ func (client AppsClient) ListBackupsNextResults(lastResults BackupItemCollection return } +// ListBackupsComplete gets all elements from the list without paging. +func (client AppsClient) ListBackupsComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan BackupItem, <-chan error) { + resultChan := make(chan BackupItem) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListBackups(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListBackupsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListBackupsSlot gets existing backups of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will get backups of the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will get backups of the production slot. func (client AppsClient) ListBackupsSlot(resourceGroupName string, name string, slot string) (result BackupItemCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -8440,14 +12796,57 @@ func (client AppsClient) ListBackupsSlotNextResults(lastResults BackupItemCollec return } -// ListBackupStatusSecrets gets status of a web app backup that may be in -// progress, including secrets associated with the backup, such as the Azure -// Storage SAS URL. Also can be used to update the SAS URL for the backup if a -// new URL is passed in the request body. +// ListBackupsSlotComplete gets all elements from the list without paging. +func (client AppsClient) ListBackupsSlotComplete(resourceGroupName string, name string, slot string, cancel <-chan struct{}) (<-chan BackupItem, <-chan error) { + resultChan := make(chan BackupItem) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListBackupsSlot(resourceGroupName, name, slot) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListBackupsSlotNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListBackupStatusSecrets gets status of a web app backup that may be in progress, including secrets associated with +// the backup, such as the Azure Storage SAS URL. Also can be used to update the SAS URL for the backup if a new URL is +// passed in the request body. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of web app backupID is id of backup request is -// information on backup request +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. backupID is +// ID of backup. request is information on backup request. func (client AppsClient) ListBackupStatusSecrets(resourceGroupName string, name string, backupID string, request BackupRequest) (result BackupItem, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -8529,15 +12928,13 @@ func (client AppsClient) ListBackupStatusSecretsResponder(resp *http.Response) ( return } -// ListBackupStatusSecretsSlot gets status of a web app backup that may be in -// progress, including secrets associated with the backup, such as the Azure -// Storage SAS URL. Also can be used to update the SAS URL for the backup if a -// new URL is passed in the request body. +// ListBackupStatusSecretsSlot gets status of a web app backup that may be in progress, including secrets associated +// with the backup, such as the Azure Storage SAS URL. Also can be used to update the SAS URL for the backup if a new +// URL is passed in the request body. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of web app backupID is id of backup request is -// information on backup request slot is name of web app slot. If not specified -// then will default to production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. backupID is +// ID of backup. request is information on backup request. slot is name of web app slot. If not specified then will +// default to production slot. func (client AppsClient) ListBackupStatusSecretsSlot(resourceGroupName string, name string, backupID string, request BackupRequest, slot string) (result BackupItem, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -8620,13 +13017,11 @@ func (client AppsClient) ListBackupStatusSecretsSlotResponder(resp *http.Respons return } -// ListByResourceGroup gets all web, mobile, and API apps in the specified -// resource group. +// ListByResourceGroup gets all web, mobile, and API apps in the specified resource group. // -// resourceGroupName is name of the resource group to which the resource -// belongs. includeSlots is specify true to include deployment -// slots in results. The default is false, which only gives you the production -// slot of all apps. +// resourceGroupName is name of the resource group to which the resource belongs. includeSlots is specify +// true to include deployment slots in results. The default is false, which only gives you the +// production slot of all apps. func (client AppsClient) ListByResourceGroup(resourceGroupName string, includeSlots *bool) (result AppCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -8723,10 +13118,54 @@ func (client AppsClient) ListByResourceGroupNextResults(lastResults AppCollectio return } +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client AppsClient) ListByResourceGroupComplete(resourceGroupName string, includeSlots *bool, cancel <-chan struct{}) (<-chan Site, <-chan error) { + resultChan := make(chan Site) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName, includeSlots) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListConfigurations list the configurations of an app // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) ListConfigurations(resourceGroupName string, name string) (result SiteConfigResourceCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -8821,12 +13260,55 @@ func (client AppsClient) ListConfigurationsNextResults(lastResults SiteConfigRes return } -// ListConfigurationSnapshotInfo gets a list of web app configuration snapshots -// identifiers. Each element of the list contains a timestamp and the ID of the -// snapshot. +// ListConfigurationsComplete gets all elements from the list without paging. +func (client AppsClient) ListConfigurationsComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan SiteConfigResource, <-chan error) { + resultChan := make(chan SiteConfigResource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListConfigurations(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListConfigurationsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListConfigurationSnapshotInfo gets a list of web app configuration snapshots identifiers. Each element of the list +// contains a timestamp and the ID of the snapshot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) ListConfigurationSnapshotInfo(resourceGroupName string, name string) (result ListSiteConfigurationSnapshotInfo, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -8897,14 +13379,11 @@ func (client AppsClient) ListConfigurationSnapshotInfoResponder(resp *http.Respo return } -// ListConfigurationSnapshotInfoSlot gets a list of web app configuration -// snapshots identifiers. Each element of the list contains a timestamp and the -// ID of the snapshot. +// ListConfigurationSnapshotInfoSlot gets a list of web app configuration snapshots identifiers. Each element of the +// list contains a timestamp and the ID of the snapshot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will return configuration for the production -// slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will return configuration for the production slot. func (client AppsClient) ListConfigurationSnapshotInfoSlot(resourceGroupName string, name string, slot string) (result ListSiteConfigurationSnapshotInfo, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -8978,10 +13457,8 @@ func (client AppsClient) ListConfigurationSnapshotInfoSlotResponder(resp *http.R // ListConfigurationsSlot list the configurations of an app // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will return configuration for the production -// slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will return configuration for the production slot. func (client AppsClient) ListConfigurationsSlot(resourceGroupName string, name string, slot string) (result SiteConfigResourceCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -9077,10 +13554,54 @@ func (client AppsClient) ListConfigurationsSlotNextResults(lastResults SiteConfi return } +// ListConfigurationsSlotComplete gets all elements from the list without paging. +func (client AppsClient) ListConfigurationsSlotComplete(resourceGroupName string, name string, slot string, cancel <-chan struct{}) (<-chan SiteConfigResource, <-chan error) { + resultChan := make(chan SiteConfigResource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListConfigurationsSlot(resourceGroupName, name, slot) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListConfigurationsSlotNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListConnectionStrings gets the connection strings of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) ListConnectionStrings(resourceGroupName string, name string) (result ConnectionStringDictionary, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -9153,10 +13674,9 @@ func (client AppsClient) ListConnectionStringsResponder(resp *http.Response) (re // ListConnectionStringsSlot gets the connection strings of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will get the connection settings for the -// production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will get the connection settings for the production +// slot. func (client AppsClient) ListConnectionStringsSlot(resourceGroupName string, name string, slot string) (result ConnectionStringDictionary, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -9228,11 +13748,449 @@ func (client AppsClient) ListConnectionStringsSlotResponder(resp *http.Response) return } -// ListDeployments list deployments for an app, or a deployment slot, or for an -// instance of a scaled-out app. +// ListContinuousWebJobs list continuous web jobs for an app, or a deployment slot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. +func (client AppsClient) ListContinuousWebJobs(resourceGroupName string, name string) (result ContinuousWebJobCollection, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListContinuousWebJobs") + } + + req, err := client.ListContinuousWebJobsPreparer(resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListContinuousWebJobs", nil, "Failure preparing request") + return + } + + resp, err := client.ListContinuousWebJobsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListContinuousWebJobs", resp, "Failure sending request") + return + } + + result, err = client.ListContinuousWebJobsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListContinuousWebJobs", resp, "Failure responding to request") + } + + return +} + +// ListContinuousWebJobsPreparer prepares the ListContinuousWebJobs request. +func (client AppsClient) ListContinuousWebJobsPreparer(resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListContinuousWebJobsSender sends the ListContinuousWebJobs request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListContinuousWebJobsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListContinuousWebJobsResponder handles the response to the ListContinuousWebJobs request. The method always +// closes the http.Response Body. +func (client AppsClient) ListContinuousWebJobsResponder(resp *http.Response) (result ContinuousWebJobCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListContinuousWebJobsNextResults retrieves the next set of results, if any. +func (client AppsClient) ListContinuousWebJobsNextResults(lastResults ContinuousWebJobCollection) (result ContinuousWebJobCollection, err error) { + req, err := lastResults.ContinuousWebJobCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListContinuousWebJobs", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListContinuousWebJobsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListContinuousWebJobs", resp, "Failure sending next results request") + } + + result, err = client.ListContinuousWebJobsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListContinuousWebJobs", resp, "Failure responding to next results request") + } + + return +} + +// ListContinuousWebJobsComplete gets all elements from the list without paging. +func (client AppsClient) ListContinuousWebJobsComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan ContinuousWebJob, <-chan error) { + resultChan := make(chan ContinuousWebJob) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListContinuousWebJobs(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListContinuousWebJobsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListContinuousWebJobsSlot list continuous web jobs for an app, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. slot is name of +// the deployment slot. If a slot is not specified, the API deletes a deployment for the production slot. +func (client AppsClient) ListContinuousWebJobsSlot(resourceGroupName string, name string, slot string) (result ContinuousWebJobCollection, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListContinuousWebJobsSlot") + } + + req, err := client.ListContinuousWebJobsSlotPreparer(resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListContinuousWebJobsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListContinuousWebJobsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListContinuousWebJobsSlot", resp, "Failure sending request") + return + } + + result, err = client.ListContinuousWebJobsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListContinuousWebJobsSlot", resp, "Failure responding to request") + } + + return +} + +// ListContinuousWebJobsSlotPreparer prepares the ListContinuousWebJobsSlot request. +func (client AppsClient) ListContinuousWebJobsSlotPreparer(resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListContinuousWebJobsSlotSender sends the ListContinuousWebJobsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListContinuousWebJobsSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListContinuousWebJobsSlotResponder handles the response to the ListContinuousWebJobsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListContinuousWebJobsSlotResponder(resp *http.Response) (result ContinuousWebJobCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListContinuousWebJobsSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) ListContinuousWebJobsSlotNextResults(lastResults ContinuousWebJobCollection) (result ContinuousWebJobCollection, err error) { + req, err := lastResults.ContinuousWebJobCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListContinuousWebJobsSlot", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListContinuousWebJobsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListContinuousWebJobsSlot", resp, "Failure sending next results request") + } + + result, err = client.ListContinuousWebJobsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListContinuousWebJobsSlot", resp, "Failure responding to next results request") + } + + return +} + +// ListContinuousWebJobsSlotComplete gets all elements from the list without paging. +func (client AppsClient) ListContinuousWebJobsSlotComplete(resourceGroupName string, name string, slot string, cancel <-chan struct{}) (<-chan ContinuousWebJob, <-chan error) { + resultChan := make(chan ContinuousWebJob) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListContinuousWebJobsSlot(resourceGroupName, name, slot) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListContinuousWebJobsSlotNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListDeploymentLog list deployment log for specific deployment for an app, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. ID is the ID +// of a specific deployment. This is the value of the name property in the JSON response from "GET +// /api/sites/{siteName}/deployments". +func (client AppsClient) ListDeploymentLog(resourceGroupName string, name string, ID string) (result Deployment, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListDeploymentLog") + } + + req, err := client.ListDeploymentLogPreparer(resourceGroupName, name, ID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListDeploymentLog", nil, "Failure preparing request") + return + } + + resp, err := client.ListDeploymentLogSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListDeploymentLog", resp, "Failure sending request") + return + } + + result, err = client.ListDeploymentLogResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListDeploymentLog", resp, "Failure responding to request") + } + + return +} + +// ListDeploymentLogPreparer prepares the ListDeploymentLog request. +func (client AppsClient) ListDeploymentLogPreparer(resourceGroupName string, name string, ID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "id": autorest.Encode("path", ID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}/log", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListDeploymentLogSender sends the ListDeploymentLog request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListDeploymentLogSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListDeploymentLogResponder handles the response to the ListDeploymentLog request. The method always +// closes the http.Response Body. +func (client AppsClient) ListDeploymentLogResponder(resp *http.Response) (result Deployment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListDeploymentLogSlot list deployment log for specific deployment for an app, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. ID is the ID +// of a specific deployment. This is the value of the name property in the JSON response from "GET +// /api/sites/{siteName}/deployments". slot is name of the deployment slot. If a slot is not specified, the API returns +// deployments for the production slot. +func (client AppsClient) ListDeploymentLogSlot(resourceGroupName string, name string, ID string, slot string) (result Deployment, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListDeploymentLogSlot") + } + + req, err := client.ListDeploymentLogSlotPreparer(resourceGroupName, name, ID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListDeploymentLogSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListDeploymentLogSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListDeploymentLogSlot", resp, "Failure sending request") + return + } + + result, err = client.ListDeploymentLogSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListDeploymentLogSlot", resp, "Failure responding to request") + } + + return +} + +// ListDeploymentLogSlotPreparer prepares the ListDeploymentLogSlot request. +func (client AppsClient) ListDeploymentLogSlotPreparer(resourceGroupName string, name string, ID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "id": autorest.Encode("path", ID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}/log", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListDeploymentLogSlotSender sends the ListDeploymentLogSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListDeploymentLogSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListDeploymentLogSlotResponder handles the response to the ListDeploymentLogSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListDeploymentLogSlotResponder(resp *http.Response) (result Deployment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListDeployments list deployments for an app, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) ListDeployments(resourceGroupName string, name string) (result DeploymentCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -9327,12 +14285,55 @@ func (client AppsClient) ListDeploymentsNextResults(lastResults DeploymentCollec return } -// ListDeploymentsSlot list deployments for an app, or a deployment slot, or -// for an instance of a scaled-out app. +// ListDeploymentsComplete gets all elements from the list without paging. +func (client AppsClient) ListDeploymentsComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan Deployment, <-chan error) { + resultChan := make(chan Deployment) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListDeployments(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListDeploymentsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListDeploymentsSlot list deployments for an app, or a deployment slot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API returns deployments for the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API returns deployments for the production slot. func (client AppsClient) ListDeploymentsSlot(resourceGroupName string, name string, slot string) (result DeploymentCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -9428,11 +14429,54 @@ func (client AppsClient) ListDeploymentsSlotNextResults(lastResults DeploymentCo return } -// ListDomainOwnershipIdentifiers lists ownership identifiers for domain -// associated with web app. +// ListDeploymentsSlotComplete gets all elements from the list without paging. +func (client AppsClient) ListDeploymentsSlotComplete(resourceGroupName string, name string, slot string, cancel <-chan struct{}) (<-chan Deployment, <-chan error) { + resultChan := make(chan Deployment) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListDeploymentsSlot(resourceGroupName, name, slot) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListDeploymentsSlotNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListDomainOwnershipIdentifiers lists ownership identifiers for domain associated with web app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) ListDomainOwnershipIdentifiers(resourceGroupName string, name string) (result IdentifierCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -9527,13 +14571,55 @@ func (client AppsClient) ListDomainOwnershipIdentifiersNextResults(lastResults I return } -// ListDomainOwnershipIdentifiersSlot lists ownership identifiers for domain -// associated with web app. +// ListDomainOwnershipIdentifiersComplete gets all elements from the list without paging. +func (client AppsClient) ListDomainOwnershipIdentifiersComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan Identifier, <-chan error) { + resultChan := make(chan Identifier) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListDomainOwnershipIdentifiers(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListDomainOwnershipIdentifiersNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListDomainOwnershipIdentifiersSlot lists ownership identifiers for domain associated with web app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will delete the binding for the production -// slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will delete the binding for the production slot. func (client AppsClient) ListDomainOwnershipIdentifiersSlot(resourceGroupName string, name string, slot string) (result IdentifierCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -9629,10 +14715,348 @@ func (client AppsClient) ListDomainOwnershipIdentifiersSlotNextResults(lastResul return } +// ListDomainOwnershipIdentifiersSlotComplete gets all elements from the list without paging. +func (client AppsClient) ListDomainOwnershipIdentifiersSlotComplete(resourceGroupName string, name string, slot string, cancel <-chan struct{}) (<-chan Identifier, <-chan error) { + resultChan := make(chan Identifier) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListDomainOwnershipIdentifiersSlot(resourceGroupName, name, slot) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListDomainOwnershipIdentifiersSlotNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListFunctions list the functions for a web site, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. +func (client AppsClient) ListFunctions(resourceGroupName string, name string) (result FunctionEnvelopeCollection, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListFunctions") + } + + req, err := client.ListFunctionsPreparer(resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListFunctions", nil, "Failure preparing request") + return + } + + resp, err := client.ListFunctionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListFunctions", resp, "Failure sending request") + return + } + + result, err = client.ListFunctionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListFunctions", resp, "Failure responding to request") + } + + return +} + +// ListFunctionsPreparer prepares the ListFunctions request. +func (client AppsClient) ListFunctionsPreparer(resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListFunctionsSender sends the ListFunctions request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListFunctionsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListFunctionsResponder handles the response to the ListFunctions request. The method always +// closes the http.Response Body. +func (client AppsClient) ListFunctionsResponder(resp *http.Response) (result FunctionEnvelopeCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListFunctionsNextResults retrieves the next set of results, if any. +func (client AppsClient) ListFunctionsNextResults(lastResults FunctionEnvelopeCollection) (result FunctionEnvelopeCollection, err error) { + req, err := lastResults.FunctionEnvelopeCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListFunctions", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListFunctionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListFunctions", resp, "Failure sending next results request") + } + + result, err = client.ListFunctionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListFunctions", resp, "Failure responding to next results request") + } + + return +} + +// ListFunctionsComplete gets all elements from the list without paging. +func (client AppsClient) ListFunctionsComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan FunctionEnvelope, <-chan error) { + resultChan := make(chan FunctionEnvelope) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListFunctions(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListFunctionsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListFunctionSecrets get function secrets for a function in a web site, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. functionName is +// function name. +func (client AppsClient) ListFunctionSecrets(resourceGroupName string, name string, functionName string) (result FunctionSecrets, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListFunctionSecrets") + } + + req, err := client.ListFunctionSecretsPreparer(resourceGroupName, name, functionName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListFunctionSecrets", nil, "Failure preparing request") + return + } + + resp, err := client.ListFunctionSecretsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListFunctionSecrets", resp, "Failure sending request") + return + } + + result, err = client.ListFunctionSecretsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListFunctionSecrets", resp, "Failure responding to request") + } + + return +} + +// ListFunctionSecretsPreparer prepares the ListFunctionSecrets request. +func (client AppsClient) ListFunctionSecretsPreparer(resourceGroupName string, name string, functionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "functionName": autorest.Encode("path", functionName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}/listsecrets", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListFunctionSecretsSender sends the ListFunctionSecrets request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListFunctionSecretsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListFunctionSecretsResponder handles the response to the ListFunctionSecrets request. The method always +// closes the http.Response Body. +func (client AppsClient) ListFunctionSecretsResponder(resp *http.Response) (result FunctionSecrets, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListFunctionSecretsSlot get function secrets for a function in a web site, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. functionName is +// function name. slot is name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) ListFunctionSecretsSlot(resourceGroupName string, name string, functionName string, slot string) (result FunctionSecrets, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListFunctionSecretsSlot") + } + + req, err := client.ListFunctionSecretsSlotPreparer(resourceGroupName, name, functionName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListFunctionSecretsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListFunctionSecretsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListFunctionSecretsSlot", resp, "Failure sending request") + return + } + + result, err = client.ListFunctionSecretsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListFunctionSecretsSlot", resp, "Failure responding to request") + } + + return +} + +// ListFunctionSecretsSlotPreparer prepares the ListFunctionSecretsSlot request. +func (client AppsClient) ListFunctionSecretsSlotPreparer(resourceGroupName string, name string, functionName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "functionName": autorest.Encode("path", functionName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}/listsecrets", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListFunctionSecretsSlotSender sends the ListFunctionSecretsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListFunctionSecretsSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListFunctionSecretsSlotResponder handles the response to the ListFunctionSecretsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListFunctionSecretsSlotResponder(resp *http.Response) (result FunctionSecrets, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // ListHostNameBindings get hostname bindings for an app or a deployment slot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) ListHostNameBindings(resourceGroupName string, name string) (result HostNameBindingCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -9727,13 +15151,55 @@ func (client AppsClient) ListHostNameBindingsNextResults(lastResults HostNameBin return } -// ListHostNameBindingsSlot get hostname bindings for an app or a deployment -// slot. +// ListHostNameBindingsComplete gets all elements from the list without paging. +func (client AppsClient) ListHostNameBindingsComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan HostNameBinding, <-chan error) { + resultChan := make(chan HostNameBinding) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListHostNameBindings(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListHostNameBindingsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListHostNameBindingsSlot get hostname bindings for an app or a deployment slot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API gets hostname bindings for the production -// slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API gets hostname bindings for the production slot. func (client AppsClient) ListHostNameBindingsSlot(resourceGroupName string, name string, slot string) (result HostNameBindingCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -9829,13 +15295,55 @@ func (client AppsClient) ListHostNameBindingsSlotNextResults(lastResults HostNam return } -// ListHybridConnectionKeys gets the send key name and value for a Hybrid -// Connection. +// ListHostNameBindingsSlotComplete gets all elements from the list without paging. +func (client AppsClient) ListHostNameBindingsSlotComplete(resourceGroupName string, name string, slot string, cancel <-chan struct{}) (<-chan HostNameBinding, <-chan error) { + resultChan := make(chan HostNameBinding) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListHostNameBindingsSlot(resourceGroupName, name, slot) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListHostNameBindingsSlotNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListHybridConnectionKeys gets the send key name and value for a Hybrid Connection. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is the name of the web app namespaceName is the namespace for -// this hybrid connection relayName is the relay name for this hybrid -// connection +// resourceGroupName is name of the resource group to which the resource belongs. name is the name of the web app. +// namespaceName is the namespace for this hybrid connection. relayName is the relay name for this hybrid connection. func (client AppsClient) ListHybridConnectionKeys(resourceGroupName string, name string, namespaceName string, relayName string) (result HybridConnectionKey, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -9908,13 +15416,11 @@ func (client AppsClient) ListHybridConnectionKeysResponder(resp *http.Response) return } -// ListHybridConnectionKeysSlot gets the send key name and value for a Hybrid -// Connection. +// ListHybridConnectionKeysSlot gets the send key name and value for a Hybrid Connection. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is the name of the web app namespaceName is the namespace for -// this hybrid connection relayName is the relay name for this hybrid -// connection slot is the name of the slot for the web app. +// resourceGroupName is name of the resource group to which the resource belongs. name is the name of the web app. +// namespaceName is the namespace for this hybrid connection. relayName is the relay name for this hybrid connection. +// slot is the name of the slot for the web app. func (client AppsClient) ListHybridConnectionKeysSlot(resourceGroupName string, name string, namespaceName string, relayName string, slot string) (result HybridConnectionKey, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -9988,11 +15494,9 @@ func (client AppsClient) ListHybridConnectionKeysSlotResponder(resp *http.Respon return } -// ListHybridConnections retrieves all Service Bus Hybrid Connections used by -// this Web App. +// ListHybridConnections retrieves all Service Bus Hybrid Connections used by this Web App. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is the name of the web app +// resourceGroupName is name of the resource group to which the resource belongs. name is the name of the web app. func (client AppsClient) ListHybridConnections(resourceGroupName string, name string) (result HybridConnection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -10063,12 +15567,10 @@ func (client AppsClient) ListHybridConnectionsResponder(resp *http.Response) (re return } -// ListHybridConnectionsSlot retrieves all Service Bus Hybrid Connections used -// by this Web App. +// ListHybridConnectionsSlot retrieves all Service Bus Hybrid Connections used by this Web App. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is the name of the web app slot is the name of the slot for -// the web app. +// resourceGroupName is name of the resource group to which the resource belongs. name is the name of the web app. slot +// is the name of the slot for the web app. func (client AppsClient) ListHybridConnectionsSlot(resourceGroupName string, name string, slot string) (result HybridConnection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -10140,151 +15642,43 @@ func (client AppsClient) ListHybridConnectionsSlotResponder(resp *http.Response) return } -// ListInstanceDeployments list deployments for an app, or a deployment slot, -// or for an instance of a scaled-out app. +// ListInstanceFunctionsSlot list the functions for a web site, or a deployment slot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. instanceID is the ID of a specific -// scaled-out instance. This is the value of the name property in the JSON -// response from "GET api/sites/{siteName}/instances" -func (client AppsClient) ListInstanceDeployments(resourceGroupName string, name string, instanceID string) (result DeploymentCollection, err error) { +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. slot is name of +// the deployment slot. If a slot is not specified, the API deletes a deployment for the production slot. +func (client AppsClient) ListInstanceFunctionsSlot(resourceGroupName string, name string, slot string) (result FunctionEnvelopeCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { - return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListInstanceDeployments") + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListInstanceFunctionsSlot") } - req, err := client.ListInstanceDeploymentsPreparer(resourceGroupName, name, instanceID) + req, err := client.ListInstanceFunctionsSlotPreparer(resourceGroupName, name, slot) if err != nil { - err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceDeployments", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceFunctionsSlot", nil, "Failure preparing request") return } - resp, err := client.ListInstanceDeploymentsSender(req) + resp, err := client.ListInstanceFunctionsSlotSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceDeployments", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceFunctionsSlot", resp, "Failure sending request") return } - result, err = client.ListInstanceDeploymentsResponder(resp) + result, err = client.ListInstanceFunctionsSlotResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceDeployments", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceFunctionsSlot", resp, "Failure responding to request") } return } -// ListInstanceDeploymentsPreparer prepares the ListInstanceDeployments request. -func (client AppsClient) ListInstanceDeploymentsPreparer(resourceGroupName string, name string, instanceID string) (*http.Request, error) { +// ListInstanceFunctionsSlotPreparer prepares the ListInstanceFunctionsSlot request. +func (client AppsClient) ListInstanceFunctionsSlotPreparer(resourceGroupName string, name string, slot string) (*http.Request, error) { pathParameters := map[string]interface{}{ - "instanceId": autorest.Encode("path", instanceID), - "name": autorest.Encode("path", name), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2016-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// ListInstanceDeploymentsSender sends the ListInstanceDeployments request. The method will close the -// http.Response Body if it receives an error. -func (client AppsClient) ListInstanceDeploymentsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// ListInstanceDeploymentsResponder handles the response to the ListInstanceDeployments request. The method always -// closes the http.Response Body. -func (client AppsClient) ListInstanceDeploymentsResponder(resp *http.Response) (result DeploymentCollection, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListInstanceDeploymentsNextResults retrieves the next set of results, if any. -func (client AppsClient) ListInstanceDeploymentsNextResults(lastResults DeploymentCollection) (result DeploymentCollection, err error) { - req, err := lastResults.DeploymentCollectionPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceDeployments", nil, "Failure preparing next results request") - } - if req == nil { - return - } - - resp, err := client.ListInstanceDeploymentsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceDeployments", resp, "Failure sending next results request") - } - - result, err = client.ListInstanceDeploymentsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceDeployments", resp, "Failure responding to next results request") - } - - return -} - -// ListInstanceDeploymentsSlot list deployments for an app, or a deployment -// slot, or for an instance of a scaled-out app. -// -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API returns deployments for the production slot. -// instanceID is the ID of a specific scaled-out instance. This is the value of -// the name property in the JSON response from "GET -// api/sites/{siteName}/instances" -func (client AppsClient) ListInstanceDeploymentsSlot(resourceGroupName string, name string, slot string, instanceID string) (result DeploymentCollection, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { - return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListInstanceDeploymentsSlot") - } - - req, err := client.ListInstanceDeploymentsSlotPreparer(resourceGroupName, name, slot, instanceID) - if err != nil { - err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceDeploymentsSlot", nil, "Failure preparing request") - return - } - - resp, err := client.ListInstanceDeploymentsSlotSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceDeploymentsSlot", resp, "Failure sending request") - return - } - - result, err = client.ListInstanceDeploymentsSlotResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceDeploymentsSlot", resp, "Failure responding to request") - } - - return -} - -// ListInstanceDeploymentsSlotPreparer prepares the ListInstanceDeploymentsSlot request. -func (client AppsClient) ListInstanceDeploymentsSlotPreparer(resourceGroupName string, name string, slot string, instanceID string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "instanceId": autorest.Encode("path", instanceID), "name": autorest.Encode("path", name), "resourceGroupName": autorest.Encode("path", resourceGroupName), "slot": autorest.Encode("path", slot), @@ -10299,58 +15693,102 @@ func (client AppsClient) ListInstanceDeploymentsSlotPreparer(resourceGroupName s preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } -// ListInstanceDeploymentsSlotSender sends the ListInstanceDeploymentsSlot request. The method will close the +// ListInstanceFunctionsSlotSender sends the ListInstanceFunctionsSlot request. The method will close the // http.Response Body if it receives an error. -func (client AppsClient) ListInstanceDeploymentsSlotSender(req *http.Request) (*http.Response, error) { +func (client AppsClient) ListInstanceFunctionsSlotSender(req *http.Request) (*http.Response, error) { return autorest.SendWithSender(client, req) } -// ListInstanceDeploymentsSlotResponder handles the response to the ListInstanceDeploymentsSlot request. The method always +// ListInstanceFunctionsSlotResponder handles the response to the ListInstanceFunctionsSlot request. The method always // closes the http.Response Body. -func (client AppsClient) ListInstanceDeploymentsSlotResponder(resp *http.Response) (result DeploymentCollection, err error) { +func (client AppsClient) ListInstanceFunctionsSlotResponder(resp *http.Response) (result FunctionEnvelopeCollection, err error) { err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// ListInstanceDeploymentsSlotNextResults retrieves the next set of results, if any. -func (client AppsClient) ListInstanceDeploymentsSlotNextResults(lastResults DeploymentCollection) (result DeploymentCollection, err error) { - req, err := lastResults.DeploymentCollectionPreparer() +// ListInstanceFunctionsSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) ListInstanceFunctionsSlotNextResults(lastResults FunctionEnvelopeCollection) (result FunctionEnvelopeCollection, err error) { + req, err := lastResults.FunctionEnvelopeCollectionPreparer() if err != nil { - return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceDeploymentsSlot", nil, "Failure preparing next results request") + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceFunctionsSlot", nil, "Failure preparing next results request") } if req == nil { return } - resp, err := client.ListInstanceDeploymentsSlotSender(req) + resp, err := client.ListInstanceFunctionsSlotSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceDeploymentsSlot", resp, "Failure sending next results request") + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceFunctionsSlot", resp, "Failure sending next results request") } - result, err = client.ListInstanceDeploymentsSlotResponder(resp) + result, err = client.ListInstanceFunctionsSlotResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceDeploymentsSlot", resp, "Failure responding to next results request") + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceFunctionsSlot", resp, "Failure responding to next results request") } return } +// ListInstanceFunctionsSlotComplete gets all elements from the list without paging. +func (client AppsClient) ListInstanceFunctionsSlotComplete(resourceGroupName string, name string, slot string, cancel <-chan struct{}) (<-chan FunctionEnvelope, <-chan error) { + resultChan := make(chan FunctionEnvelope) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListInstanceFunctionsSlot(resourceGroupName, name, slot) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListInstanceFunctionsSlotNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListInstanceIdentifiers gets all scale-out instances of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) ListInstanceIdentifiers(resourceGroupName string, name string) (result AppInstanceCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -10445,11 +15883,55 @@ func (client AppsClient) ListInstanceIdentifiersNextResults(lastResults AppInsta return } +// ListInstanceIdentifiersComplete gets all elements from the list without paging. +func (client AppsClient) ListInstanceIdentifiersComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan SiteInstance, <-chan error) { + resultChan := make(chan SiteInstance) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListInstanceIdentifiers(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListInstanceIdentifiersNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListInstanceIdentifiersSlot gets all scale-out instances of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API gets the production slot instances. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API gets the production slot instances. func (client AppsClient) ListInstanceIdentifiersSlot(resourceGroupName string, name string, slot string) (result AppInstanceCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -10545,10 +16027,939 @@ func (client AppsClient) ListInstanceIdentifiersSlotNextResults(lastResults AppI return } +// ListInstanceIdentifiersSlotComplete gets all elements from the list without paging. +func (client AppsClient) ListInstanceIdentifiersSlotComplete(resourceGroupName string, name string, slot string, cancel <-chan struct{}) (<-chan SiteInstance, <-chan error) { + resultChan := make(chan SiteInstance) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListInstanceIdentifiersSlot(resourceGroupName, name, slot) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListInstanceIdentifiersSlotNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListInstanceProcesses get list of processes for a web site, or a deployment slot, or for a specific scaled-out +// instance in a web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. instanceID is ID +// of a specific scaled-out instance. This is the value of the name property in the JSON response from "GET +// api/sites/{siteName}/instances". +func (client AppsClient) ListInstanceProcesses(resourceGroupName string, name string, instanceID string) (result ProcessInfoCollection, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListInstanceProcesses") + } + + req, err := client.ListInstanceProcessesPreparer(resourceGroupName, name, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcesses", nil, "Failure preparing request") + return + } + + resp, err := client.ListInstanceProcessesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcesses", resp, "Failure sending request") + return + } + + result, err = client.ListInstanceProcessesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcesses", resp, "Failure responding to request") + } + + return +} + +// ListInstanceProcessesPreparer prepares the ListInstanceProcesses request. +func (client AppsClient) ListInstanceProcessesPreparer(resourceGroupName string, name string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListInstanceProcessesSender sends the ListInstanceProcesses request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListInstanceProcessesSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListInstanceProcessesResponder handles the response to the ListInstanceProcesses request. The method always +// closes the http.Response Body. +func (client AppsClient) ListInstanceProcessesResponder(resp *http.Response) (result ProcessInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListInstanceProcessesNextResults retrieves the next set of results, if any. +func (client AppsClient) ListInstanceProcessesNextResults(lastResults ProcessInfoCollection) (result ProcessInfoCollection, err error) { + req, err := lastResults.ProcessInfoCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcesses", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListInstanceProcessesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcesses", resp, "Failure sending next results request") + } + + result, err = client.ListInstanceProcessesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcesses", resp, "Failure responding to next results request") + } + + return +} + +// ListInstanceProcessesComplete gets all elements from the list without paging. +func (client AppsClient) ListInstanceProcessesComplete(resourceGroupName string, name string, instanceID string, cancel <-chan struct{}) (<-chan ProcessInfo, <-chan error) { + resultChan := make(chan ProcessInfo) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListInstanceProcesses(resourceGroupName, name, instanceID) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListInstanceProcessesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListInstanceProcessesSlot get list of processes for a web site, or a deployment slot, or for a specific scaled-out +// instance in a web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. slot is name of +// the deployment slot. If a slot is not specified, the API returns deployments for the production slot. instanceID is +// ID of a specific scaled-out instance. This is the value of the name property in the JSON response from "GET +// api/sites/{siteName}/instances". +func (client AppsClient) ListInstanceProcessesSlot(resourceGroupName string, name string, slot string, instanceID string) (result ProcessInfoCollection, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListInstanceProcessesSlot") + } + + req, err := client.ListInstanceProcessesSlotPreparer(resourceGroupName, name, slot, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessesSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListInstanceProcessesSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessesSlot", resp, "Failure sending request") + return + } + + result, err = client.ListInstanceProcessesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessesSlot", resp, "Failure responding to request") + } + + return +} + +// ListInstanceProcessesSlotPreparer prepares the ListInstanceProcessesSlot request. +func (client AppsClient) ListInstanceProcessesSlotPreparer(resourceGroupName string, name string, slot string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListInstanceProcessesSlotSender sends the ListInstanceProcessesSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListInstanceProcessesSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListInstanceProcessesSlotResponder handles the response to the ListInstanceProcessesSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListInstanceProcessesSlotResponder(resp *http.Response) (result ProcessInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListInstanceProcessesSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) ListInstanceProcessesSlotNextResults(lastResults ProcessInfoCollection) (result ProcessInfoCollection, err error) { + req, err := lastResults.ProcessInfoCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessesSlot", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListInstanceProcessesSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessesSlot", resp, "Failure sending next results request") + } + + result, err = client.ListInstanceProcessesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessesSlot", resp, "Failure responding to next results request") + } + + return +} + +// ListInstanceProcessesSlotComplete gets all elements from the list without paging. +func (client AppsClient) ListInstanceProcessesSlotComplete(resourceGroupName string, name string, slot string, instanceID string, cancel <-chan struct{}) (<-chan ProcessInfo, <-chan error) { + resultChan := make(chan ProcessInfo) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListInstanceProcessesSlot(resourceGroupName, name, slot, instanceID) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListInstanceProcessesSlotNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListInstanceProcessModules list module information for a process by its ID for a specific scaled-out instance in a +// web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +// instanceID is ID of a specific scaled-out instance. This is the value of the name property in the JSON response from +// "GET api/sites/{siteName}/instances". +func (client AppsClient) ListInstanceProcessModules(resourceGroupName string, name string, processID string, instanceID string) (result ProcessModuleInfoCollection, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListInstanceProcessModules") + } + + req, err := client.ListInstanceProcessModulesPreparer(resourceGroupName, name, processID, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessModules", nil, "Failure preparing request") + return + } + + resp, err := client.ListInstanceProcessModulesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessModules", resp, "Failure sending request") + return + } + + result, err = client.ListInstanceProcessModulesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessModules", resp, "Failure responding to request") + } + + return +} + +// ListInstanceProcessModulesPreparer prepares the ListInstanceProcessModules request. +func (client AppsClient) ListInstanceProcessModulesPreparer(resourceGroupName string, name string, processID string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListInstanceProcessModulesSender sends the ListInstanceProcessModules request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListInstanceProcessModulesSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListInstanceProcessModulesResponder handles the response to the ListInstanceProcessModules request. The method always +// closes the http.Response Body. +func (client AppsClient) ListInstanceProcessModulesResponder(resp *http.Response) (result ProcessModuleInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListInstanceProcessModulesNextResults retrieves the next set of results, if any. +func (client AppsClient) ListInstanceProcessModulesNextResults(lastResults ProcessModuleInfoCollection) (result ProcessModuleInfoCollection, err error) { + req, err := lastResults.ProcessModuleInfoCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessModules", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListInstanceProcessModulesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessModules", resp, "Failure sending next results request") + } + + result, err = client.ListInstanceProcessModulesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessModules", resp, "Failure responding to next results request") + } + + return +} + +// ListInstanceProcessModulesComplete gets all elements from the list without paging. +func (client AppsClient) ListInstanceProcessModulesComplete(resourceGroupName string, name string, processID string, instanceID string, cancel <-chan struct{}) (<-chan ProcessModuleInfo, <-chan error) { + resultChan := make(chan ProcessModuleInfo) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListInstanceProcessModules(resourceGroupName, name, processID, instanceID) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListInstanceProcessModulesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListInstanceProcessModulesSlot list module information for a process by its ID for a specific scaled-out instance in +// a web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +// slot is name of the deployment slot. If a slot is not specified, the API returns deployments for the production +// slot. instanceID is ID of a specific scaled-out instance. This is the value of the name property in the JSON +// response from "GET api/sites/{siteName}/instances". +func (client AppsClient) ListInstanceProcessModulesSlot(resourceGroupName string, name string, processID string, slot string, instanceID string) (result ProcessModuleInfoCollection, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListInstanceProcessModulesSlot") + } + + req, err := client.ListInstanceProcessModulesSlotPreparer(resourceGroupName, name, processID, slot, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessModulesSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListInstanceProcessModulesSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessModulesSlot", resp, "Failure sending request") + return + } + + result, err = client.ListInstanceProcessModulesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessModulesSlot", resp, "Failure responding to request") + } + + return +} + +// ListInstanceProcessModulesSlotPreparer prepares the ListInstanceProcessModulesSlot request. +func (client AppsClient) ListInstanceProcessModulesSlotPreparer(resourceGroupName string, name string, processID string, slot string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListInstanceProcessModulesSlotSender sends the ListInstanceProcessModulesSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListInstanceProcessModulesSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListInstanceProcessModulesSlotResponder handles the response to the ListInstanceProcessModulesSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListInstanceProcessModulesSlotResponder(resp *http.Response) (result ProcessModuleInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListInstanceProcessModulesSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) ListInstanceProcessModulesSlotNextResults(lastResults ProcessModuleInfoCollection) (result ProcessModuleInfoCollection, err error) { + req, err := lastResults.ProcessModuleInfoCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessModulesSlot", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListInstanceProcessModulesSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessModulesSlot", resp, "Failure sending next results request") + } + + result, err = client.ListInstanceProcessModulesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessModulesSlot", resp, "Failure responding to next results request") + } + + return +} + +// ListInstanceProcessModulesSlotComplete gets all elements from the list without paging. +func (client AppsClient) ListInstanceProcessModulesSlotComplete(resourceGroupName string, name string, processID string, slot string, instanceID string, cancel <-chan struct{}) (<-chan ProcessModuleInfo, <-chan error) { + resultChan := make(chan ProcessModuleInfo) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListInstanceProcessModulesSlot(resourceGroupName, name, processID, slot, instanceID) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListInstanceProcessModulesSlotNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListInstanceProcessThreads list the threads in a process by its ID for a specific scaled-out instance in a web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +// instanceID is ID of a specific scaled-out instance. This is the value of the name property in the JSON response from +// "GET api/sites/{siteName}/instances". +func (client AppsClient) ListInstanceProcessThreads(resourceGroupName string, name string, processID string, instanceID string) (result ProcessThreadInfoCollection, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListInstanceProcessThreads") + } + + req, err := client.ListInstanceProcessThreadsPreparer(resourceGroupName, name, processID, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessThreads", nil, "Failure preparing request") + return + } + + resp, err := client.ListInstanceProcessThreadsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessThreads", resp, "Failure sending request") + return + } + + result, err = client.ListInstanceProcessThreadsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessThreads", resp, "Failure responding to request") + } + + return +} + +// ListInstanceProcessThreadsPreparer prepares the ListInstanceProcessThreads request. +func (client AppsClient) ListInstanceProcessThreadsPreparer(resourceGroupName string, name string, processID string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/threads", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListInstanceProcessThreadsSender sends the ListInstanceProcessThreads request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListInstanceProcessThreadsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListInstanceProcessThreadsResponder handles the response to the ListInstanceProcessThreads request. The method always +// closes the http.Response Body. +func (client AppsClient) ListInstanceProcessThreadsResponder(resp *http.Response) (result ProcessThreadInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListInstanceProcessThreadsNextResults retrieves the next set of results, if any. +func (client AppsClient) ListInstanceProcessThreadsNextResults(lastResults ProcessThreadInfoCollection) (result ProcessThreadInfoCollection, err error) { + req, err := lastResults.ProcessThreadInfoCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessThreads", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListInstanceProcessThreadsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessThreads", resp, "Failure sending next results request") + } + + result, err = client.ListInstanceProcessThreadsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessThreads", resp, "Failure responding to next results request") + } + + return +} + +// ListInstanceProcessThreadsComplete gets all elements from the list without paging. +func (client AppsClient) ListInstanceProcessThreadsComplete(resourceGroupName string, name string, processID string, instanceID string, cancel <-chan struct{}) (<-chan ProcessThreadInfo, <-chan error) { + resultChan := make(chan ProcessThreadInfo) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListInstanceProcessThreads(resourceGroupName, name, processID, instanceID) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListInstanceProcessThreadsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListInstanceProcessThreadsSlot list the threads in a process by its ID for a specific scaled-out instance in a web +// site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +// slot is name of the deployment slot. If a slot is not specified, the API returns deployments for the production +// slot. instanceID is ID of a specific scaled-out instance. This is the value of the name property in the JSON +// response from "GET api/sites/{siteName}/instances". +func (client AppsClient) ListInstanceProcessThreadsSlot(resourceGroupName string, name string, processID string, slot string, instanceID string) (result ProcessThreadInfoCollection, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListInstanceProcessThreadsSlot") + } + + req, err := client.ListInstanceProcessThreadsSlotPreparer(resourceGroupName, name, processID, slot, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessThreadsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListInstanceProcessThreadsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessThreadsSlot", resp, "Failure sending request") + return + } + + result, err = client.ListInstanceProcessThreadsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessThreadsSlot", resp, "Failure responding to request") + } + + return +} + +// ListInstanceProcessThreadsSlotPreparer prepares the ListInstanceProcessThreadsSlot request. +func (client AppsClient) ListInstanceProcessThreadsSlotPreparer(resourceGroupName string, name string, processID string, slot string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListInstanceProcessThreadsSlotSender sends the ListInstanceProcessThreadsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListInstanceProcessThreadsSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListInstanceProcessThreadsSlotResponder handles the response to the ListInstanceProcessThreadsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListInstanceProcessThreadsSlotResponder(resp *http.Response) (result ProcessThreadInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListInstanceProcessThreadsSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) ListInstanceProcessThreadsSlotNextResults(lastResults ProcessThreadInfoCollection) (result ProcessThreadInfoCollection, err error) { + req, err := lastResults.ProcessThreadInfoCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessThreadsSlot", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListInstanceProcessThreadsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessThreadsSlot", resp, "Failure sending next results request") + } + + result, err = client.ListInstanceProcessThreadsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessThreadsSlot", resp, "Failure responding to next results request") + } + + return +} + +// ListInstanceProcessThreadsSlotComplete gets all elements from the list without paging. +func (client AppsClient) ListInstanceProcessThreadsSlotComplete(resourceGroupName string, name string, processID string, slot string, instanceID string, cancel <-chan struct{}) (<-chan ProcessThreadInfo, <-chan error) { + resultChan := make(chan ProcessThreadInfo) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListInstanceProcessThreadsSlot(resourceGroupName, name, processID, slot, instanceID) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListInstanceProcessThreadsSlotNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListMetadata gets the metadata of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) ListMetadata(resourceGroupName string, name string) (result StringDictionary, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -10621,10 +17032,8 @@ func (client AppsClient) ListMetadataResponder(resp *http.Response) (result Stri // ListMetadataSlot gets the metadata of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will get the metadata for the production -// slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will get the metadata for the production slot. func (client AppsClient) ListMetadataSlot(resourceGroupName string, name string, slot string) (result StringDictionary, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -10696,11 +17105,9 @@ func (client AppsClient) ListMetadataSlotResponder(resp *http.Response) (result return } -// ListMetricDefinitions gets all metric definitions of an app (or deployment -// slot, if specified). +// ListMetricDefinitions gets all metric definitions of an app (or deployment slot, if specified). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) ListMetricDefinitions(resourceGroupName string, name string) (result ResourceMetricDefinitionCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -10795,13 +17202,55 @@ func (client AppsClient) ListMetricDefinitionsNextResults(lastResults ResourceMe return } -// ListMetricDefinitionsSlot gets all metric definitions of an app (or -// deployment slot, if specified). +// ListMetricDefinitionsComplete gets all elements from the list without paging. +func (client AppsClient) ListMetricDefinitionsComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan ResourceMetricDefinition, <-chan error) { + resultChan := make(chan ResourceMetricDefinition) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListMetricDefinitions(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListMetricDefinitionsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListMetricDefinitionsSlot gets all metric definitions of an app (or deployment slot, if specified). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will get metric definitions of the production -// slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will get metric definitions of the production slot. func (client AppsClient) ListMetricDefinitionsSlot(resourceGroupName string, name string, slot string) (result ResourceMetricDefinitionCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -10897,16 +17346,58 @@ func (client AppsClient) ListMetricDefinitionsSlotNextResults(lastResults Resour return } -// ListMetrics gets performance metrics of an app (or deployment slot, if -// specified). +// ListMetricDefinitionsSlotComplete gets all elements from the list without paging. +func (client AppsClient) ListMetricDefinitionsSlotComplete(resourceGroupName string, name string, slot string, cancel <-chan struct{}) (<-chan ResourceMetricDefinition, <-chan error) { + resultChan := make(chan ResourceMetricDefinition) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListMetricDefinitionsSlot(resourceGroupName, name, slot) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListMetricDefinitionsSlotNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListMetrics gets performance metrics of an app (or deployment slot, if specified). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. details is specify "true" to include -// metric details in the response. It is "false" by default. filter is return -// only metrics specified in the filter (using OData syntax). For example: -// $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime -// eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and -// timeGrain eq duration'[Hour|Minute|Day]'. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. details is +// specify "true" to include metric details in the response. It is "false" by default. filter is return only metrics +// specified in the filter (using OData syntax). For example: $filter=(name.value eq 'Metric1' or name.value eq +// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and timeGrain eq +// duration'[Hour|Minute|Day]'. func (client AppsClient) ListMetrics(resourceGroupName string, name string, details *bool, filter string) (result ResourceMetricCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -11007,17 +17498,59 @@ func (client AppsClient) ListMetricsNextResults(lastResults ResourceMetricCollec return } -// ListMetricsSlot gets performance metrics of an app (or deployment slot, if -// specified). +// ListMetricsComplete gets all elements from the list without paging. +func (client AppsClient) ListMetricsComplete(resourceGroupName string, name string, details *bool, filter string, cancel <-chan struct{}) (<-chan ResourceMetric, <-chan error) { + resultChan := make(chan ResourceMetric) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListMetrics(resourceGroupName, name, details, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListMetricsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListMetricsSlot gets performance metrics of an app (or deployment slot, if specified). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will get metrics of the production slot. -// details is specify "true" to include metric details in the response. It is -// "false" by default. filter is return only metrics specified in the filter -// (using OData syntax). For example: $filter=(name.value eq 'Metric1' or -// name.value eq 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime -// eq '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will get metrics of the production slot. details is +// specify "true" to include metric details in the response. It is "false" by default. filter is return only metrics +// specified in the filter (using OData syntax). For example: $filter=(name.value eq 'Metric1' or name.value eq +// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and timeGrain eq +// duration'[Hour|Minute|Day]'. func (client AppsClient) ListMetricsSlot(resourceGroupName string, name string, slot string, details *bool, filter string) (result ResourceMetricCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -11119,12 +17652,55 @@ func (client AppsClient) ListMetricsSlotNextResults(lastResults ResourceMetricCo return } -// ListNetworkFeatures gets all network features used by the app (or deployment -// slot, if specified). +// ListMetricsSlotComplete gets all elements from the list without paging. +func (client AppsClient) ListMetricsSlotComplete(resourceGroupName string, name string, slot string, details *bool, filter string, cancel <-chan struct{}) (<-chan ResourceMetric, <-chan error) { + resultChan := make(chan ResourceMetric) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListMetricsSlot(resourceGroupName, name, slot, details, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListMetricsSlotNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListNetworkFeatures gets all network features used by the app (or deployment slot, if specified). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. view is the type of view. This can either -// be "summary" or "detailed". +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. view is the +// type of view. This can either be "summary" or "detailed". func (client AppsClient) ListNetworkFeatures(resourceGroupName string, name string, view string) (result NetworkFeatures, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -11196,13 +17772,11 @@ func (client AppsClient) ListNetworkFeaturesResponder(resp *http.Response) (resu return } -// ListNetworkFeaturesSlot gets all network features used by the app (or -// deployment slot, if specified). +// ListNetworkFeaturesSlot gets all network features used by the app (or deployment slot, if specified). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. view is the type of view. This can either -// be "summary" or "detailed". slot is name of the deployment slot. If a slot -// is not specified, the API will get network features for the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. view is the +// type of view. This can either be "summary" or "detailed". slot is name of the deployment slot. If a slot is not +// specified, the API will get network features for the production slot. func (client AppsClient) ListNetworkFeaturesSlot(resourceGroupName string, name string, view string, slot string) (result NetworkFeatures, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -11277,11 +17851,9 @@ func (client AppsClient) ListNetworkFeaturesSlotResponder(resp *http.Response) ( // ListPerfMonCounters gets perfmon counters for web app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of web app filter is return only usages/metrics -// specified in the filter. Filter conforms to odata syntax. Example: -// $filter=(startTime eq '2014-01-01T00:00:00Z' and endTime eq -// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. filter is +// return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: $filter=(startTime eq +// '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. func (client AppsClient) ListPerfMonCounters(resourceGroupName string, name string, filter string) (result PerfMonCounterCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -11379,15 +17951,57 @@ func (client AppsClient) ListPerfMonCountersNextResults(lastResults PerfMonCount return } +// ListPerfMonCountersComplete gets all elements from the list without paging. +func (client AppsClient) ListPerfMonCountersComplete(resourceGroupName string, name string, filter string, cancel <-chan struct{}) (<-chan PerfMonResponse, <-chan error) { + resultChan := make(chan PerfMonResponse) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListPerfMonCounters(resourceGroupName, name, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListPerfMonCountersNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListPerfMonCountersSlot gets perfmon counters for web app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of web app slot is name of web app slot. If not -// specified then will default to production slot. **** CURRENTLY UNUSED ***** -// filter is return only usages/metrics specified in the filter. Filter -// conforms to odata syntax. Example: $filter=(startTime eq -// '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and timeGrain -// eq duration'[Hour|Minute|Day]'. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. slot is name +// of web app slot. If not specified then will default to production slot. filter is return only usages/metrics +// specified in the filter. Filter conforms to odata syntax. Example: $filter=(startTime eq '2014-01-01T00:00:00Z' and +// endTime eq '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. func (client AppsClient) ListPerfMonCountersSlot(resourceGroupName string, name string, slot string, filter string) (result PerfMonCounterCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -11486,10 +18100,54 @@ func (client AppsClient) ListPerfMonCountersSlotNextResults(lastResults PerfMonC return } +// ListPerfMonCountersSlotComplete gets all elements from the list without paging. +func (client AppsClient) ListPerfMonCountersSlotComplete(resourceGroupName string, name string, slot string, filter string, cancel <-chan struct{}) (<-chan PerfMonResponse, <-chan error) { + resultChan := make(chan PerfMonResponse) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListPerfMonCountersSlot(resourceGroupName, name, slot, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListPerfMonCountersSlotNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListPremierAddOns gets the premier add-ons of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) ListPremierAddOns(resourceGroupName string, name string) (result PremierAddOn, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -11562,10 +18220,8 @@ func (client AppsClient) ListPremierAddOnsResponder(resp *http.Response) (result // ListPremierAddOnsSlot gets the premier add-ons of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will get the premier add-ons for the -// production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will get the premier add-ons for the production slot. func (client AppsClient) ListPremierAddOnsSlot(resourceGroupName string, name string, slot string) (result PremierAddOn, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -11637,13 +18293,1164 @@ func (client AppsClient) ListPremierAddOnsSlotResponder(resp *http.Response) (re return } -// ListPublishingCredentials gets the Git/FTP publishing credentials of an app. -// This method may poll for completion. Polling can be canceled by passing the -// cancel channel argument. The channel will be used to cancel polling and any +// ListProcesses get list of processes for a web site, or a deployment slot, or for a specific scaled-out instance in a +// web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. +func (client AppsClient) ListProcesses(resourceGroupName string, name string) (result ProcessInfoCollection, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListProcesses") + } + + req, err := client.ListProcessesPreparer(resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcesses", nil, "Failure preparing request") + return + } + + resp, err := client.ListProcessesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcesses", resp, "Failure sending request") + return + } + + result, err = client.ListProcessesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcesses", resp, "Failure responding to request") + } + + return +} + +// ListProcessesPreparer prepares the ListProcesses request. +func (client AppsClient) ListProcessesPreparer(resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListProcessesSender sends the ListProcesses request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListProcessesSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListProcessesResponder handles the response to the ListProcesses request. The method always +// closes the http.Response Body. +func (client AppsClient) ListProcessesResponder(resp *http.Response) (result ProcessInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListProcessesNextResults retrieves the next set of results, if any. +func (client AppsClient) ListProcessesNextResults(lastResults ProcessInfoCollection) (result ProcessInfoCollection, err error) { + req, err := lastResults.ProcessInfoCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListProcesses", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListProcessesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListProcesses", resp, "Failure sending next results request") + } + + result, err = client.ListProcessesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcesses", resp, "Failure responding to next results request") + } + + return +} + +// ListProcessesComplete gets all elements from the list without paging. +func (client AppsClient) ListProcessesComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan ProcessInfo, <-chan error) { + resultChan := make(chan ProcessInfo) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListProcesses(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListProcessesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListProcessesSlot get list of processes for a web site, or a deployment slot, or for a specific scaled-out instance +// in a web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. slot is name of +// the deployment slot. If a slot is not specified, the API returns deployments for the production slot. +func (client AppsClient) ListProcessesSlot(resourceGroupName string, name string, slot string) (result ProcessInfoCollection, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListProcessesSlot") + } + + req, err := client.ListProcessesSlotPreparer(resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessesSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListProcessesSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessesSlot", resp, "Failure sending request") + return + } + + result, err = client.ListProcessesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessesSlot", resp, "Failure responding to request") + } + + return +} + +// ListProcessesSlotPreparer prepares the ListProcessesSlot request. +func (client AppsClient) ListProcessesSlotPreparer(resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListProcessesSlotSender sends the ListProcessesSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListProcessesSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListProcessesSlotResponder handles the response to the ListProcessesSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListProcessesSlotResponder(resp *http.Response) (result ProcessInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListProcessesSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) ListProcessesSlotNextResults(lastResults ProcessInfoCollection) (result ProcessInfoCollection, err error) { + req, err := lastResults.ProcessInfoCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessesSlot", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListProcessesSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessesSlot", resp, "Failure sending next results request") + } + + result, err = client.ListProcessesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessesSlot", resp, "Failure responding to next results request") + } + + return +} + +// ListProcessesSlotComplete gets all elements from the list without paging. +func (client AppsClient) ListProcessesSlotComplete(resourceGroupName string, name string, slot string, cancel <-chan struct{}) (<-chan ProcessInfo, <-chan error) { + resultChan := make(chan ProcessInfo) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListProcessesSlot(resourceGroupName, name, slot) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListProcessesSlotNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListProcessModules list module information for a process by its ID for a specific scaled-out instance in a web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +func (client AppsClient) ListProcessModules(resourceGroupName string, name string, processID string) (result ProcessModuleInfoCollection, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListProcessModules") + } + + req, err := client.ListProcessModulesPreparer(resourceGroupName, name, processID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessModules", nil, "Failure preparing request") + return + } + + resp, err := client.ListProcessModulesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessModules", resp, "Failure sending request") + return + } + + result, err = client.ListProcessModulesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessModules", resp, "Failure responding to request") + } + + return +} + +// ListProcessModulesPreparer prepares the ListProcessModules request. +func (client AppsClient) ListProcessModulesPreparer(resourceGroupName string, name string, processID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListProcessModulesSender sends the ListProcessModules request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListProcessModulesSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListProcessModulesResponder handles the response to the ListProcessModules request. The method always +// closes the http.Response Body. +func (client AppsClient) ListProcessModulesResponder(resp *http.Response) (result ProcessModuleInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListProcessModulesNextResults retrieves the next set of results, if any. +func (client AppsClient) ListProcessModulesNextResults(lastResults ProcessModuleInfoCollection) (result ProcessModuleInfoCollection, err error) { + req, err := lastResults.ProcessModuleInfoCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessModules", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListProcessModulesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessModules", resp, "Failure sending next results request") + } + + result, err = client.ListProcessModulesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessModules", resp, "Failure responding to next results request") + } + + return +} + +// ListProcessModulesComplete gets all elements from the list without paging. +func (client AppsClient) ListProcessModulesComplete(resourceGroupName string, name string, processID string, cancel <-chan struct{}) (<-chan ProcessModuleInfo, <-chan error) { + resultChan := make(chan ProcessModuleInfo) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListProcessModules(resourceGroupName, name, processID) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListProcessModulesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListProcessModulesSlot list module information for a process by its ID for a specific scaled-out instance in a web +// site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +// slot is name of the deployment slot. If a slot is not specified, the API returns deployments for the production +// slot. +func (client AppsClient) ListProcessModulesSlot(resourceGroupName string, name string, processID string, slot string) (result ProcessModuleInfoCollection, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListProcessModulesSlot") + } + + req, err := client.ListProcessModulesSlotPreparer(resourceGroupName, name, processID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessModulesSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListProcessModulesSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessModulesSlot", resp, "Failure sending request") + return + } + + result, err = client.ListProcessModulesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessModulesSlot", resp, "Failure responding to request") + } + + return +} + +// ListProcessModulesSlotPreparer prepares the ListProcessModulesSlot request. +func (client AppsClient) ListProcessModulesSlotPreparer(resourceGroupName string, name string, processID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListProcessModulesSlotSender sends the ListProcessModulesSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListProcessModulesSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListProcessModulesSlotResponder handles the response to the ListProcessModulesSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListProcessModulesSlotResponder(resp *http.Response) (result ProcessModuleInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListProcessModulesSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) ListProcessModulesSlotNextResults(lastResults ProcessModuleInfoCollection) (result ProcessModuleInfoCollection, err error) { + req, err := lastResults.ProcessModuleInfoCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessModulesSlot", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListProcessModulesSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessModulesSlot", resp, "Failure sending next results request") + } + + result, err = client.ListProcessModulesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessModulesSlot", resp, "Failure responding to next results request") + } + + return +} + +// ListProcessModulesSlotComplete gets all elements from the list without paging. +func (client AppsClient) ListProcessModulesSlotComplete(resourceGroupName string, name string, processID string, slot string, cancel <-chan struct{}) (<-chan ProcessModuleInfo, <-chan error) { + resultChan := make(chan ProcessModuleInfo) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListProcessModulesSlot(resourceGroupName, name, processID, slot) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListProcessModulesSlotNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListProcessThreads list the threads in a process by its ID for a specific scaled-out instance in a web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +func (client AppsClient) ListProcessThreads(resourceGroupName string, name string, processID string) (result ProcessThreadInfoCollection, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListProcessThreads") + } + + req, err := client.ListProcessThreadsPreparer(resourceGroupName, name, processID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessThreads", nil, "Failure preparing request") + return + } + + resp, err := client.ListProcessThreadsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessThreads", resp, "Failure sending request") + return + } + + result, err = client.ListProcessThreadsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessThreads", resp, "Failure responding to request") + } + + return +} + +// ListProcessThreadsPreparer prepares the ListProcessThreads request. +func (client AppsClient) ListProcessThreadsPreparer(resourceGroupName string, name string, processID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/threads", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListProcessThreadsSender sends the ListProcessThreads request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListProcessThreadsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListProcessThreadsResponder handles the response to the ListProcessThreads request. The method always +// closes the http.Response Body. +func (client AppsClient) ListProcessThreadsResponder(resp *http.Response) (result ProcessThreadInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListProcessThreadsNextResults retrieves the next set of results, if any. +func (client AppsClient) ListProcessThreadsNextResults(lastResults ProcessThreadInfoCollection) (result ProcessThreadInfoCollection, err error) { + req, err := lastResults.ProcessThreadInfoCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessThreads", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListProcessThreadsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessThreads", resp, "Failure sending next results request") + } + + result, err = client.ListProcessThreadsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessThreads", resp, "Failure responding to next results request") + } + + return +} + +// ListProcessThreadsComplete gets all elements from the list without paging. +func (client AppsClient) ListProcessThreadsComplete(resourceGroupName string, name string, processID string, cancel <-chan struct{}) (<-chan ProcessThreadInfo, <-chan error) { + resultChan := make(chan ProcessThreadInfo) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListProcessThreads(resourceGroupName, name, processID) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListProcessThreadsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListProcessThreadsSlot list the threads in a process by its ID for a specific scaled-out instance in a web site. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. processID is pID. +// slot is name of the deployment slot. If a slot is not specified, the API returns deployments for the production +// slot. +func (client AppsClient) ListProcessThreadsSlot(resourceGroupName string, name string, processID string, slot string) (result ProcessThreadInfoCollection, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListProcessThreadsSlot") + } + + req, err := client.ListProcessThreadsSlotPreparer(resourceGroupName, name, processID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessThreadsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListProcessThreadsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessThreadsSlot", resp, "Failure sending request") + return + } + + result, err = client.ListProcessThreadsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessThreadsSlot", resp, "Failure responding to request") + } + + return +} + +// ListProcessThreadsSlotPreparer prepares the ListProcessThreadsSlot request. +func (client AppsClient) ListProcessThreadsSlotPreparer(resourceGroupName string, name string, processID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/threads", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListProcessThreadsSlotSender sends the ListProcessThreadsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListProcessThreadsSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListProcessThreadsSlotResponder handles the response to the ListProcessThreadsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListProcessThreadsSlotResponder(resp *http.Response) (result ProcessThreadInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListProcessThreadsSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) ListProcessThreadsSlotNextResults(lastResults ProcessThreadInfoCollection) (result ProcessThreadInfoCollection, err error) { + req, err := lastResults.ProcessThreadInfoCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessThreadsSlot", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListProcessThreadsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessThreadsSlot", resp, "Failure sending next results request") + } + + result, err = client.ListProcessThreadsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessThreadsSlot", resp, "Failure responding to next results request") + } + + return +} + +// ListProcessThreadsSlotComplete gets all elements from the list without paging. +func (client AppsClient) ListProcessThreadsSlotComplete(resourceGroupName string, name string, processID string, slot string, cancel <-chan struct{}) (<-chan ProcessThreadInfo, <-chan error) { + resultChan := make(chan ProcessThreadInfo) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListProcessThreadsSlot(resourceGroupName, name, processID, slot) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListProcessThreadsSlotNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListPublicCertificates get public certificates for an app or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +func (client AppsClient) ListPublicCertificates(resourceGroupName string, name string) (result PublicCertificateCollection, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListPublicCertificates") + } + + req, err := client.ListPublicCertificatesPreparer(resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPublicCertificates", nil, "Failure preparing request") + return + } + + resp, err := client.ListPublicCertificatesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPublicCertificates", resp, "Failure sending request") + return + } + + result, err = client.ListPublicCertificatesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPublicCertificates", resp, "Failure responding to request") + } + + return +} + +// ListPublicCertificatesPreparer prepares the ListPublicCertificates request. +func (client AppsClient) ListPublicCertificatesPreparer(resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListPublicCertificatesSender sends the ListPublicCertificates request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListPublicCertificatesSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListPublicCertificatesResponder handles the response to the ListPublicCertificates request. The method always +// closes the http.Response Body. +func (client AppsClient) ListPublicCertificatesResponder(resp *http.Response) (result PublicCertificateCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListPublicCertificatesNextResults retrieves the next set of results, if any. +func (client AppsClient) ListPublicCertificatesNextResults(lastResults PublicCertificateCollection) (result PublicCertificateCollection, err error) { + req, err := lastResults.PublicCertificateCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListPublicCertificates", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListPublicCertificatesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListPublicCertificates", resp, "Failure sending next results request") + } + + result, err = client.ListPublicCertificatesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPublicCertificates", resp, "Failure responding to next results request") + } + + return +} + +// ListPublicCertificatesComplete gets all elements from the list without paging. +func (client AppsClient) ListPublicCertificatesComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan PublicCertificate, <-chan error) { + resultChan := make(chan PublicCertificate) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListPublicCertificates(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListPublicCertificatesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListPublicCertificatesSlot get public certificates for an app or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API gets hostname bindings for the production slot. +func (client AppsClient) ListPublicCertificatesSlot(resourceGroupName string, name string, slot string) (result PublicCertificateCollection, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListPublicCertificatesSlot") + } + + req, err := client.ListPublicCertificatesSlotPreparer(resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPublicCertificatesSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListPublicCertificatesSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPublicCertificatesSlot", resp, "Failure sending request") + return + } + + result, err = client.ListPublicCertificatesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPublicCertificatesSlot", resp, "Failure responding to request") + } + + return +} + +// ListPublicCertificatesSlotPreparer prepares the ListPublicCertificatesSlot request. +func (client AppsClient) ListPublicCertificatesSlotPreparer(resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListPublicCertificatesSlotSender sends the ListPublicCertificatesSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListPublicCertificatesSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListPublicCertificatesSlotResponder handles the response to the ListPublicCertificatesSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListPublicCertificatesSlotResponder(resp *http.Response) (result PublicCertificateCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListPublicCertificatesSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) ListPublicCertificatesSlotNextResults(lastResults PublicCertificateCollection) (result PublicCertificateCollection, err error) { + req, err := lastResults.PublicCertificateCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListPublicCertificatesSlot", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListPublicCertificatesSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListPublicCertificatesSlot", resp, "Failure sending next results request") + } + + result, err = client.ListPublicCertificatesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPublicCertificatesSlot", resp, "Failure responding to next results request") + } + + return +} + +// ListPublicCertificatesSlotComplete gets all elements from the list without paging. +func (client AppsClient) ListPublicCertificatesSlotComplete(resourceGroupName string, name string, slot string, cancel <-chan struct{}) (<-chan PublicCertificate, <-chan error) { + resultChan := make(chan PublicCertificate) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListPublicCertificatesSlot(resourceGroupName, name, slot) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListPublicCertificatesSlotNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListPublishingCredentials gets the Git/FTP publishing credentials of an app. This method may poll for completion. +// Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel polling and any // outstanding HTTP requests. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) ListPublishingCredentials(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan User, <-chan error) { resultChan := make(chan User, 1) errChan := make(chan error, 1) @@ -11662,8 +19469,10 @@ func (client AppsClient) ListPublishingCredentials(resourceGroupName string, nam var err error var result User defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -11730,15 +19539,13 @@ func (client AppsClient) ListPublishingCredentialsResponder(resp *http.Response) return } -// ListPublishingCredentialsSlot gets the Git/FTP publishing credentials of an -// app. This method may poll for completion. Polling can be canceled by passing -// the cancel channel argument. The channel will be used to cancel polling and -// any outstanding HTTP requests. +// ListPublishingCredentialsSlot gets the Git/FTP publishing credentials of an app. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel +// polling and any outstanding HTTP requests. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will get the publishing credentials for the -// production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will get the publishing credentials for the production +// slot. func (client AppsClient) ListPublishingCredentialsSlot(resourceGroupName string, name string, slot string, cancel <-chan struct{}) (<-chan User, <-chan error) { resultChan := make(chan User, 1) errChan := make(chan error, 1) @@ -11757,8 +19564,10 @@ func (client AppsClient) ListPublishingCredentialsSlot(resourceGroupName string, var err error var result User defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -11826,12 +19635,10 @@ func (client AppsClient) ListPublishingCredentialsSlotResponder(resp *http.Respo return } -// ListPublishingProfileXMLWithSecrets gets the publishing profile for an app -// (or deployment slot, if specified). +// ListPublishingProfileXMLWithSecrets gets the publishing profile for an app (or deployment slot, if specified). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. publishingProfileOptions is specifies -// publishingProfileOptions for publishing profile. For example, use {"format": +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// publishingProfileOptions is specifies publishingProfileOptions for publishing profile. For example, use {"format": // "FileZilla3"} to get a FileZilla publishing profile. func (client AppsClient) ListPublishingProfileXMLWithSecrets(resourceGroupName string, name string, publishingProfileOptions CsmPublishingProfileOptions) (result ReadCloser, err error) { if err := validation.Validate([]validation.Validation{ @@ -11904,15 +19711,12 @@ func (client AppsClient) ListPublishingProfileXMLWithSecretsResponder(resp *http return } -// ListPublishingProfileXMLWithSecretsSlot gets the publishing profile for an -// app (or deployment slot, if specified). +// ListPublishingProfileXMLWithSecretsSlot gets the publishing profile for an app (or deployment slot, if specified). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. publishingProfileOptions is specifies -// publishingProfileOptions for publishing profile. For example, use {"format": -// "FileZilla3"} to get a FileZilla publishing profile. slot is name of the -// deployment slot. If a slot is not specified, the API will get the publishing -// profile for the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// publishingProfileOptions is specifies publishingProfileOptions for publishing profile. For example, use {"format": +// "FileZilla3"} to get a FileZilla publishing profile. slot is name of the deployment slot. If a slot is not +// specified, the API will get the publishing profile for the production slot. func (client AppsClient) ListPublishingProfileXMLWithSecretsSlot(resourceGroupName string, name string, publishingProfileOptions CsmPublishingProfileOptions, slot string) (result ReadCloser, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -11985,11 +19789,9 @@ func (client AppsClient) ListPublishingProfileXMLWithSecretsSlotResponder(resp * return } -// ListRelayServiceConnections gets hybrid connections configured for an app -// (or deployment slot, if specified). +// ListRelayServiceConnections gets hybrid connections configured for an app (or deployment slot, if specified). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) ListRelayServiceConnections(resourceGroupName string, name string) (result RelayServiceConnectionEntity, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -12060,13 +19862,10 @@ func (client AppsClient) ListRelayServiceConnectionsResponder(resp *http.Respons return } -// ListRelayServiceConnectionsSlot gets hybrid connections configured for an -// app (or deployment slot, if specified). +// ListRelayServiceConnectionsSlot gets hybrid connections configured for an app (or deployment slot, if specified). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will get hybrid connections for the -// production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will get hybrid connections for the production slot. func (client AppsClient) ListRelayServiceConnectionsSlot(resourceGroupName string, name string, slot string) (result RelayServiceConnectionEntity, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -12138,10 +19937,295 @@ func (client AppsClient) ListRelayServiceConnectionsSlotResponder(resp *http.Res return } +// ListSiteExtensions get list of siteextensions for a web site, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. +func (client AppsClient) ListSiteExtensions(resourceGroupName string, name string) (result SiteExtensionInfoCollection, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListSiteExtensions") + } + + req, err := client.ListSiteExtensionsPreparer(resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSiteExtensions", nil, "Failure preparing request") + return + } + + resp, err := client.ListSiteExtensionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSiteExtensions", resp, "Failure sending request") + return + } + + result, err = client.ListSiteExtensionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSiteExtensions", resp, "Failure responding to request") + } + + return +} + +// ListSiteExtensionsPreparer prepares the ListSiteExtensions request. +func (client AppsClient) ListSiteExtensionsPreparer(resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSiteExtensionsSender sends the ListSiteExtensions request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListSiteExtensionsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListSiteExtensionsResponder handles the response to the ListSiteExtensions request. The method always +// closes the http.Response Body. +func (client AppsClient) ListSiteExtensionsResponder(resp *http.Response) (result SiteExtensionInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListSiteExtensionsNextResults retrieves the next set of results, if any. +func (client AppsClient) ListSiteExtensionsNextResults(lastResults SiteExtensionInfoCollection) (result SiteExtensionInfoCollection, err error) { + req, err := lastResults.SiteExtensionInfoCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListSiteExtensions", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSiteExtensionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListSiteExtensions", resp, "Failure sending next results request") + } + + result, err = client.ListSiteExtensionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSiteExtensions", resp, "Failure responding to next results request") + } + + return +} + +// ListSiteExtensionsComplete gets all elements from the list without paging. +func (client AppsClient) ListSiteExtensionsComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan SiteExtensionInfo, <-chan error) { + resultChan := make(chan SiteExtensionInfo) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListSiteExtensions(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListSiteExtensionsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListSiteExtensionsSlot get list of siteextensions for a web site, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. slot is name of +// the deployment slot. If a slot is not specified, the API deletes a deployment for the production slot. +func (client AppsClient) ListSiteExtensionsSlot(resourceGroupName string, name string, slot string) (result SiteExtensionInfoCollection, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListSiteExtensionsSlot") + } + + req, err := client.ListSiteExtensionsSlotPreparer(resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSiteExtensionsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListSiteExtensionsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSiteExtensionsSlot", resp, "Failure sending request") + return + } + + result, err = client.ListSiteExtensionsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSiteExtensionsSlot", resp, "Failure responding to request") + } + + return +} + +// ListSiteExtensionsSlotPreparer prepares the ListSiteExtensionsSlot request. +func (client AppsClient) ListSiteExtensionsSlotPreparer(resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSiteExtensionsSlotSender sends the ListSiteExtensionsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListSiteExtensionsSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListSiteExtensionsSlotResponder handles the response to the ListSiteExtensionsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListSiteExtensionsSlotResponder(resp *http.Response) (result SiteExtensionInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListSiteExtensionsSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) ListSiteExtensionsSlotNextResults(lastResults SiteExtensionInfoCollection) (result SiteExtensionInfoCollection, err error) { + req, err := lastResults.SiteExtensionInfoCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListSiteExtensionsSlot", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListSiteExtensionsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListSiteExtensionsSlot", resp, "Failure sending next results request") + } + + result, err = client.ListSiteExtensionsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSiteExtensionsSlot", resp, "Failure responding to next results request") + } + + return +} + +// ListSiteExtensionsSlotComplete gets all elements from the list without paging. +func (client AppsClient) ListSiteExtensionsSlotComplete(resourceGroupName string, name string, slot string, cancel <-chan struct{}) (<-chan SiteExtensionInfo, <-chan error) { + resultChan := make(chan SiteExtensionInfo) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListSiteExtensionsSlot(resourceGroupName, name, slot) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListSiteExtensionsSlotNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListSitePushSettings gets the Push settings associated with web app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of web app +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. func (client AppsClient) ListSitePushSettings(resourceGroupName string, name string) (result PushSettings, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -12214,9 +20298,8 @@ func (client AppsClient) ListSitePushSettingsResponder(resp *http.Response) (res // ListSitePushSettingsSlot gets the Push settings associated with web app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of web app slot is name of web app slot. If not -// specified then will default to production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. slot is name +// of web app slot. If not specified then will default to production slot. func (client AppsClient) ListSitePushSettingsSlot(resourceGroupName string, name string, slot string) (result PushSettings, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -12288,11 +20371,10 @@ func (client AppsClient) ListSitePushSettingsSlotResponder(resp *http.Response) return } -// ListSlotConfigurationNames gets the names of app settings and connection -// strings that stick to the slot (not swapped). +// ListSlotConfigurationNames gets the names of app settings and connection strings that stick to the slot (not +// swapped). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) ListSlotConfigurationNames(resourceGroupName string, name string) (result SlotConfigNamesResource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -12363,12 +20445,10 @@ func (client AppsClient) ListSlotConfigurationNamesResponder(resp *http.Response return } -// ListSlotDifferencesFromProduction get the difference in configuration -// settings between two web app slots. +// ListSlotDifferencesFromProduction get the difference in configuration settings between two web app slots. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slotSwapEntity is jSON object that -// contains the target slot name. See example. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// slotSwapEntity is JSON object that contains the target slot name. See example. func (client AppsClient) ListSlotDifferencesFromProduction(resourceGroupName string, name string, slotSwapEntity CsmSlotEntity) (result SlotDifferenceCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -12468,13 +20548,56 @@ func (client AppsClient) ListSlotDifferencesFromProductionNextResults(lastResult return } -// ListSlotDifferencesSlot get the difference in configuration settings between -// two web app slots. +// ListSlotDifferencesFromProductionComplete gets all elements from the list without paging. +func (client AppsClient) ListSlotDifferencesFromProductionComplete(resourceGroupName string, name string, slotSwapEntity CsmSlotEntity, cancel <-chan struct{}) (<-chan SlotDifference, <-chan error) { + resultChan := make(chan SlotDifference) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListSlotDifferencesFromProduction(resourceGroupName, name, slotSwapEntity) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListSlotDifferencesFromProductionNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListSlotDifferencesSlot get the difference in configuration settings between two web app slots. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slotSwapEntity is jSON object that -// contains the target slot name. See example. slot is name of the source slot. -// If a slot is not specified, the production slot is used as the source slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// slotSwapEntity is JSON object that contains the target slot name. See example. slot is name of the source slot. If a +// slot is not specified, the production slot is used as the source slot. func (client AppsClient) ListSlotDifferencesSlot(resourceGroupName string, name string, slotSwapEntity CsmSlotEntity, slot string) (result SlotDifferenceCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -12575,10 +20698,54 @@ func (client AppsClient) ListSlotDifferencesSlotNextResults(lastResults SlotDiff return } +// ListSlotDifferencesSlotComplete gets all elements from the list without paging. +func (client AppsClient) ListSlotDifferencesSlotComplete(resourceGroupName string, name string, slotSwapEntity CsmSlotEntity, slot string, cancel <-chan struct{}) (<-chan SlotDifference, <-chan error) { + resultChan := make(chan SlotDifference) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListSlotDifferencesSlot(resourceGroupName, name, slotSwapEntity, slot) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListSlotDifferencesSlotNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListSlots gets an app's deployment slots. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) ListSlots(resourceGroupName string, name string) (result AppCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -12673,10 +20840,54 @@ func (client AppsClient) ListSlotsNextResults(lastResults AppCollection) (result return } +// ListSlotsComplete gets all elements from the list without paging. +func (client AppsClient) ListSlotsComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan Site, <-chan error) { + resultChan := make(chan Site) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListSlots(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListSlotsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListSnapshots returns all Snapshots to the user. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is website Name +// resourceGroupName is name of the resource group to which the resource belongs. name is website Name. func (client AppsClient) ListSnapshots(resourceGroupName string, name string) (result SnapshotCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -12771,10 +20982,55 @@ func (client AppsClient) ListSnapshotsNextResults(lastResults SnapshotCollection return } +// ListSnapshotsComplete gets all elements from the list without paging. +func (client AppsClient) ListSnapshotsComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan Snapshot, <-chan error) { + resultChan := make(chan Snapshot) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListSnapshots(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListSnapshotsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListSnapshotsSlot returns all Snapshots to the user. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is website Name slot is website Slot +// resourceGroupName is name of the resource group to which the resource belongs. name is website Name. slot is website +// Slot. func (client AppsClient) ListSnapshotsSlot(resourceGroupName string, name string, slot string) (result SnapshotCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -12870,14 +21126,782 @@ func (client AppsClient) ListSnapshotsSlotNextResults(lastResults SnapshotCollec return } -// ListUsages gets the quota usage information of an app (or deployment slot, -// if specified). +// ListSnapshotsSlotComplete gets all elements from the list without paging. +func (client AppsClient) ListSnapshotsSlotComplete(resourceGroupName string, name string, slot string, cancel <-chan struct{}) (<-chan Snapshot, <-chan error) { + resultChan := make(chan Snapshot) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListSnapshotsSlot(resourceGroupName, name, slot) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListSnapshotsSlotNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListSyncFunctionTriggers this is to allow calling via powershell and ARM template. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. filter is return only information -// specified in the filter (using OData syntax). For example: -// $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime -// eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +func (client AppsClient) ListSyncFunctionTriggers(resourceGroupName string, name string) (result FunctionSecrets, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListSyncFunctionTriggers") + } + + req, err := client.ListSyncFunctionTriggersPreparer(resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSyncFunctionTriggers", nil, "Failure preparing request") + return + } + + resp, err := client.ListSyncFunctionTriggersSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSyncFunctionTriggers", resp, "Failure sending request") + return + } + + result, err = client.ListSyncFunctionTriggersResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSyncFunctionTriggers", resp, "Failure responding to request") + } + + return +} + +// ListSyncFunctionTriggersPreparer prepares the ListSyncFunctionTriggers request. +func (client AppsClient) ListSyncFunctionTriggersPreparer(resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/listsyncfunctiontriggerstatus", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSyncFunctionTriggersSender sends the ListSyncFunctionTriggers request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListSyncFunctionTriggersSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListSyncFunctionTriggersResponder handles the response to the ListSyncFunctionTriggers request. The method always +// closes the http.Response Body. +func (client AppsClient) ListSyncFunctionTriggersResponder(resp *http.Response) (result FunctionSecrets, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListSyncFunctionTriggersSlot this is to allow calling via powershell and ARM template. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will restore a backup of the production slot. +func (client AppsClient) ListSyncFunctionTriggersSlot(resourceGroupName string, name string, slot string) (result FunctionSecrets, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListSyncFunctionTriggersSlot") + } + + req, err := client.ListSyncFunctionTriggersSlotPreparer(resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSyncFunctionTriggersSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListSyncFunctionTriggersSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSyncFunctionTriggersSlot", resp, "Failure sending request") + return + } + + result, err = client.ListSyncFunctionTriggersSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSyncFunctionTriggersSlot", resp, "Failure responding to request") + } + + return +} + +// ListSyncFunctionTriggersSlotPreparer prepares the ListSyncFunctionTriggersSlot request. +func (client AppsClient) ListSyncFunctionTriggersSlotPreparer(resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/listsyncfunctiontriggerstatus", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListSyncFunctionTriggersSlotSender sends the ListSyncFunctionTriggersSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListSyncFunctionTriggersSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListSyncFunctionTriggersSlotResponder handles the response to the ListSyncFunctionTriggersSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListSyncFunctionTriggersSlotResponder(resp *http.Response) (result FunctionSecrets, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListTriggeredWebJobHistory list a triggered web job's history for an app, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. webJobID is web +// job ID. +func (client AppsClient) ListTriggeredWebJobHistory(resourceGroupName string, name string, webJobID string, webJobName string) (result TriggeredJobHistoryCollection, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListTriggeredWebJobHistory") + } + + req, err := client.ListTriggeredWebJobHistoryPreparer(resourceGroupName, name, webJobID, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobHistory", nil, "Failure preparing request") + return + } + + resp, err := client.ListTriggeredWebJobHistorySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobHistory", resp, "Failure sending request") + return + } + + result, err = client.ListTriggeredWebJobHistoryResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobHistory", resp, "Failure responding to request") + } + + return +} + +// ListTriggeredWebJobHistoryPreparer prepares the ListTriggeredWebJobHistory request. +func (client AppsClient) ListTriggeredWebJobHistoryPreparer(resourceGroupName string, name string, webJobID string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "webJobId": autorest.Encode("query", webJobID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListTriggeredWebJobHistorySender sends the ListTriggeredWebJobHistory request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListTriggeredWebJobHistorySender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListTriggeredWebJobHistoryResponder handles the response to the ListTriggeredWebJobHistory request. The method always +// closes the http.Response Body. +func (client AppsClient) ListTriggeredWebJobHistoryResponder(resp *http.Response) (result TriggeredJobHistoryCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListTriggeredWebJobHistoryNextResults retrieves the next set of results, if any. +func (client AppsClient) ListTriggeredWebJobHistoryNextResults(lastResults TriggeredJobHistoryCollection) (result TriggeredJobHistoryCollection, err error) { + req, err := lastResults.TriggeredJobHistoryCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobHistory", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListTriggeredWebJobHistorySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobHistory", resp, "Failure sending next results request") + } + + result, err = client.ListTriggeredWebJobHistoryResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobHistory", resp, "Failure responding to next results request") + } + + return +} + +// ListTriggeredWebJobHistoryComplete gets all elements from the list without paging. +func (client AppsClient) ListTriggeredWebJobHistoryComplete(resourceGroupName string, name string, webJobID string, webJobName string, cancel <-chan struct{}) (<-chan TriggeredJobHistory, <-chan error) { + resultChan := make(chan TriggeredJobHistory) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListTriggeredWebJobHistory(resourceGroupName, name, webJobID, webJobName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListTriggeredWebJobHistoryNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListTriggeredWebJobHistorySlot list a triggered web job's history for an app, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. webJobID is web +// job ID. slot is name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) ListTriggeredWebJobHistorySlot(resourceGroupName string, name string, webJobID string, slot string, webJobName string) (result TriggeredJobHistoryCollection, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListTriggeredWebJobHistorySlot") + } + + req, err := client.ListTriggeredWebJobHistorySlotPreparer(resourceGroupName, name, webJobID, slot, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobHistorySlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListTriggeredWebJobHistorySlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobHistorySlot", resp, "Failure sending request") + return + } + + result, err = client.ListTriggeredWebJobHistorySlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobHistorySlot", resp, "Failure responding to request") + } + + return +} + +// ListTriggeredWebJobHistorySlotPreparer prepares the ListTriggeredWebJobHistorySlot request. +func (client AppsClient) ListTriggeredWebJobHistorySlotPreparer(resourceGroupName string, name string, webJobID string, slot string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "webJobId": autorest.Encode("query", webJobID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListTriggeredWebJobHistorySlotSender sends the ListTriggeredWebJobHistorySlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListTriggeredWebJobHistorySlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListTriggeredWebJobHistorySlotResponder handles the response to the ListTriggeredWebJobHistorySlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListTriggeredWebJobHistorySlotResponder(resp *http.Response) (result TriggeredJobHistoryCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListTriggeredWebJobHistorySlotNextResults retrieves the next set of results, if any. +func (client AppsClient) ListTriggeredWebJobHistorySlotNextResults(lastResults TriggeredJobHistoryCollection) (result TriggeredJobHistoryCollection, err error) { + req, err := lastResults.TriggeredJobHistoryCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobHistorySlot", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListTriggeredWebJobHistorySlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobHistorySlot", resp, "Failure sending next results request") + } + + result, err = client.ListTriggeredWebJobHistorySlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobHistorySlot", resp, "Failure responding to next results request") + } + + return +} + +// ListTriggeredWebJobHistorySlotComplete gets all elements from the list without paging. +func (client AppsClient) ListTriggeredWebJobHistorySlotComplete(resourceGroupName string, name string, webJobID string, slot string, webJobName string, cancel <-chan struct{}) (<-chan TriggeredJobHistory, <-chan error) { + resultChan := make(chan TriggeredJobHistory) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListTriggeredWebJobHistorySlot(resourceGroupName, name, webJobID, slot, webJobName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListTriggeredWebJobHistorySlotNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListTriggeredWebJobs list triggered web jobs for an app, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. +func (client AppsClient) ListTriggeredWebJobs(resourceGroupName string, name string) (result TriggeredWebJobCollection, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListTriggeredWebJobs") + } + + req, err := client.ListTriggeredWebJobsPreparer(resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobs", nil, "Failure preparing request") + return + } + + resp, err := client.ListTriggeredWebJobsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobs", resp, "Failure sending request") + return + } + + result, err = client.ListTriggeredWebJobsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobs", resp, "Failure responding to request") + } + + return +} + +// ListTriggeredWebJobsPreparer prepares the ListTriggeredWebJobs request. +func (client AppsClient) ListTriggeredWebJobsPreparer(resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListTriggeredWebJobsSender sends the ListTriggeredWebJobs request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListTriggeredWebJobsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListTriggeredWebJobsResponder handles the response to the ListTriggeredWebJobs request. The method always +// closes the http.Response Body. +func (client AppsClient) ListTriggeredWebJobsResponder(resp *http.Response) (result TriggeredWebJobCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListTriggeredWebJobsNextResults retrieves the next set of results, if any. +func (client AppsClient) ListTriggeredWebJobsNextResults(lastResults TriggeredWebJobCollection) (result TriggeredWebJobCollection, err error) { + req, err := lastResults.TriggeredWebJobCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobs", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListTriggeredWebJobsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobs", resp, "Failure sending next results request") + } + + result, err = client.ListTriggeredWebJobsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobs", resp, "Failure responding to next results request") + } + + return +} + +// ListTriggeredWebJobsComplete gets all elements from the list without paging. +func (client AppsClient) ListTriggeredWebJobsComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan TriggeredWebJob, <-chan error) { + resultChan := make(chan TriggeredWebJob) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListTriggeredWebJobs(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListTriggeredWebJobsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListTriggeredWebJobsSlot list triggered web jobs for an app, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. slot is name of +// the deployment slot. If a slot is not specified, the API deletes a deployment for the production slot. +func (client AppsClient) ListTriggeredWebJobsSlot(resourceGroupName string, name string, slot string) (result TriggeredWebJobCollection, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListTriggeredWebJobsSlot") + } + + req, err := client.ListTriggeredWebJobsSlotPreparer(resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListTriggeredWebJobsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobsSlot", resp, "Failure sending request") + return + } + + result, err = client.ListTriggeredWebJobsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobsSlot", resp, "Failure responding to request") + } + + return +} + +// ListTriggeredWebJobsSlotPreparer prepares the ListTriggeredWebJobsSlot request. +func (client AppsClient) ListTriggeredWebJobsSlotPreparer(resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListTriggeredWebJobsSlotSender sends the ListTriggeredWebJobsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListTriggeredWebJobsSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListTriggeredWebJobsSlotResponder handles the response to the ListTriggeredWebJobsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListTriggeredWebJobsSlotResponder(resp *http.Response) (result TriggeredWebJobCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListTriggeredWebJobsSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) ListTriggeredWebJobsSlotNextResults(lastResults TriggeredWebJobCollection) (result TriggeredWebJobCollection, err error) { + req, err := lastResults.TriggeredWebJobCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobsSlot", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListTriggeredWebJobsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobsSlot", resp, "Failure sending next results request") + } + + result, err = client.ListTriggeredWebJobsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobsSlot", resp, "Failure responding to next results request") + } + + return +} + +// ListTriggeredWebJobsSlotComplete gets all elements from the list without paging. +func (client AppsClient) ListTriggeredWebJobsSlotComplete(resourceGroupName string, name string, slot string, cancel <-chan struct{}) (<-chan TriggeredWebJob, <-chan error) { + resultChan := make(chan TriggeredWebJob) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListTriggeredWebJobsSlot(resourceGroupName, name, slot) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListTriggeredWebJobsSlotNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListUsages gets the quota usage information of an app (or deployment slot, if specified). +// +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. filter is +// return only information specified in the filter (using OData syntax). For example: $filter=(name.value eq 'Metric1' +// or name.value eq 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and // timeGrain eq duration'[Hour|Minute|Day]'. func (client AppsClient) ListUsages(resourceGroupName string, name string, filter string) (result CsmUsageQuotaCollection, err error) { if err := validation.Validate([]validation.Validation{ @@ -12976,16 +22000,58 @@ func (client AppsClient) ListUsagesNextResults(lastResults CsmUsageQuotaCollecti return } -// ListUsagesSlot gets the quota usage information of an app (or deployment -// slot, if specified). +// ListUsagesComplete gets all elements from the list without paging. +func (client AppsClient) ListUsagesComplete(resourceGroupName string, name string, filter string, cancel <-chan struct{}) (<-chan CsmUsageQuota, <-chan error) { + resultChan := make(chan CsmUsageQuota) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListUsages(resourceGroupName, name, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListUsagesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListUsagesSlot gets the quota usage information of an app (or deployment slot, if specified). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will get quota information of the production -// slot. filter is return only information specified in the filter (using OData -// syntax). For example: $filter=(name.value eq 'Metric1' or name.value eq -// 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq -// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will get quota information of the production slot. +// filter is return only information specified in the filter (using OData syntax). For example: $filter=(name.value eq +// 'Metric1' or name.value eq 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' +// and timeGrain eq duration'[Hour|Minute|Day]'. func (client AppsClient) ListUsagesSlot(resourceGroupName string, name string, slot string, filter string) (result CsmUsageQuotaCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -13084,11 +22150,54 @@ func (client AppsClient) ListUsagesSlotNextResults(lastResults CsmUsageQuotaColl return } -// ListVnetConnections gets the virtual networks the app (or deployment slot) -// is connected to. +// ListUsagesSlotComplete gets all elements from the list without paging. +func (client AppsClient) ListUsagesSlotComplete(resourceGroupName string, name string, slot string, filter string, cancel <-chan struct{}) (<-chan CsmUsageQuota, <-chan error) { + resultChan := make(chan CsmUsageQuota) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListUsagesSlot(resourceGroupName, name, slot, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListUsagesSlotNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListVnetConnections gets the virtual networks the app (or deployment slot) is connected to. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) ListVnetConnections(resourceGroupName string, name string) (result ListVnetInfo, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -13159,13 +22268,11 @@ func (client AppsClient) ListVnetConnectionsResponder(resp *http.Response) (resu return } -// ListVnetConnectionsSlot gets the virtual networks the app (or deployment -// slot) is connected to. +// ListVnetConnectionsSlot gets the virtual networks the app (or deployment slot) is connected to. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will get virtual network connections for the -// production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will get virtual network connections for the production +// slot. func (client AppsClient) ListVnetConnectionsSlot(resourceGroupName string, name string, slot string) (result ListVnetInfo, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -13237,14 +22344,298 @@ func (client AppsClient) ListVnetConnectionsSlotResponder(resp *http.Response) ( return } -// MigrateMySQL migrates a local (in-app) MySql database to a remote MySql -// database. This method may poll for completion. Polling can be canceled by -// passing the cancel channel argument. The channel will be used to cancel +// ListWebJobs list webjobs for an app, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. +func (client AppsClient) ListWebJobs(resourceGroupName string, name string) (result JobCollection, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListWebJobs") + } + + req, err := client.ListWebJobsPreparer(resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListWebJobs", nil, "Failure preparing request") + return + } + + resp, err := client.ListWebJobsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListWebJobs", resp, "Failure sending request") + return + } + + result, err = client.ListWebJobsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListWebJobs", resp, "Failure responding to request") + } + + return +} + +// ListWebJobsPreparer prepares the ListWebJobs request. +func (client AppsClient) ListWebJobsPreparer(resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListWebJobsSender sends the ListWebJobs request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListWebJobsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListWebJobsResponder handles the response to the ListWebJobs request. The method always +// closes the http.Response Body. +func (client AppsClient) ListWebJobsResponder(resp *http.Response) (result JobCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListWebJobsNextResults retrieves the next set of results, if any. +func (client AppsClient) ListWebJobsNextResults(lastResults JobCollection) (result JobCollection, err error) { + req, err := lastResults.JobCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListWebJobs", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListWebJobsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListWebJobs", resp, "Failure sending next results request") + } + + result, err = client.ListWebJobsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListWebJobs", resp, "Failure responding to next results request") + } + + return +} + +// ListWebJobsComplete gets all elements from the list without paging. +func (client AppsClient) ListWebJobsComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan Job, <-chan error) { + resultChan := make(chan Job) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListWebJobs(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListWebJobsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListWebJobsSlot list webjobs for an app, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. slot is name of +// the deployment slot. If a slot is not specified, the API returns deployments for the production slot. +func (client AppsClient) ListWebJobsSlot(resourceGroupName string, name string, slot string) (result JobCollection, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "ListWebJobsSlot") + } + + req, err := client.ListWebJobsSlotPreparer(resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListWebJobsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListWebJobsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListWebJobsSlot", resp, "Failure sending request") + return + } + + result, err = client.ListWebJobsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListWebJobsSlot", resp, "Failure responding to request") + } + + return +} + +// ListWebJobsSlotPreparer prepares the ListWebJobsSlot request. +func (client AppsClient) ListWebJobsSlotPreparer(resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListWebJobsSlotSender sends the ListWebJobsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListWebJobsSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListWebJobsSlotResponder handles the response to the ListWebJobsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListWebJobsSlotResponder(resp *http.Response) (result JobCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListWebJobsSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) ListWebJobsSlotNextResults(lastResults JobCollection) (result JobCollection, err error) { + req, err := lastResults.JobCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListWebJobsSlot", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListWebJobsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "ListWebJobsSlot", resp, "Failure sending next results request") + } + + result, err = client.ListWebJobsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListWebJobsSlot", resp, "Failure responding to next results request") + } + + return +} + +// ListWebJobsSlotComplete gets all elements from the list without paging. +func (client AppsClient) ListWebJobsSlotComplete(resourceGroupName string, name string, slot string, cancel <-chan struct{}) (<-chan Job, <-chan error) { + resultChan := make(chan Job) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListWebJobsSlot(resourceGroupName, name, slot) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListWebJobsSlotNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// MigrateMySQL migrates a local (in-app) MySql database to a remote MySql database. This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel // polling and any outstanding HTTP requests. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of web app migrationRequestEnvelope is mySql migration -// options +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. +// migrationRequestEnvelope is mySql migration options. func (client AppsClient) MigrateMySQL(resourceGroupName string, name string, migrationRequestEnvelope MigrateMySQLRequest, cancel <-chan struct{}) (<-chan Operation, <-chan error) { resultChan := make(chan Operation, 1) errChan := make(chan error, 1) @@ -13263,8 +22654,10 @@ func (client AppsClient) MigrateMySQL(resourceGroupName string, name string, mig var err error var result Operation defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -13333,13 +22726,11 @@ func (client AppsClient) MigrateMySQLResponder(resp *http.Response) (result Oper return } -// MigrateStorage restores a web app. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// MigrateStorage restores a web app. This method may poll for completion. Polling can be canceled by passing the +// cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// subscriptionName is azure subscription resourceGroupName is name of the -// resource group to which the resource belongs. name is name of web app -// migrationOptions is migration migrationOptions +// subscriptionName is azure subscription. resourceGroupName is name of the resource group to which the resource +// belongs. name is name of web app. migrationOptions is migration migrationOptions. func (client AppsClient) MigrateStorage(subscriptionName string, resourceGroupName string, name string, migrationOptions StorageMigrationOptions, cancel <-chan struct{}) (<-chan StorageMigrationResponse, <-chan error) { resultChan := make(chan StorageMigrationResponse, 1) errChan := make(chan error, 1) @@ -13358,8 +22749,10 @@ func (client AppsClient) MigrateStorage(subscriptionName string, resourceGroupNa var err error var result StorageMigrationResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -13429,16 +22822,14 @@ func (client AppsClient) MigrateStorageResponder(resp *http.Response) (result St return } -// Recover recovers a deleted web app. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// Recover recovers a web app to a previous snapshot. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of web app recoveryEntity is snapshot data used for -// web app recovery. Snapshot information can be obtained by calling +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. +// recoveryEntity is snapshot data used for web app recovery. Snapshot information can be obtained by calling // GetDeletedSites or GetSiteSnapshots API. -func (client AppsClient) Recover(resourceGroupName string, name string, recoveryEntity CsmSiteRecoveryEntity, cancel <-chan struct{}) (<-chan RecoverResponse, <-chan error) { - resultChan := make(chan RecoverResponse, 1) +func (client AppsClient) Recover(resourceGroupName string, name string, recoveryEntity SnapshotRecoveryRequest, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -13453,10 +22844,12 @@ func (client AppsClient) Recover(resourceGroupName string, name string, recovery go func() { var err error - var result RecoverResponse + var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -13468,7 +22861,7 @@ func (client AppsClient) Recover(resourceGroupName string, name string, recovery resp, err := client.RecoverSender(req) if err != nil { - result.Response = autorest.Response{Response: resp} + result.Response = resp err = autorest.NewErrorWithError(err, "web.AppsClient", "Recover", resp, "Failure sending request") return } @@ -13482,7 +22875,7 @@ func (client AppsClient) Recover(resourceGroupName string, name string, recovery } // RecoverPreparer prepares the Recover request. -func (client AppsClient) RecoverPreparer(resourceGroupName string, name string, recoveryEntity CsmSiteRecoveryEntity, cancel <-chan struct{}) (*http.Request, error) { +func (client AppsClient) RecoverPreparer(resourceGroupName string, name string, recoveryEntity SnapshotRecoveryRequest, cancel <-chan struct{}) (*http.Request, error) { pathParameters := map[string]interface{}{ "name": autorest.Encode("path", name), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -13514,23 +22907,20 @@ func (client AppsClient) RecoverSender(req *http.Request) (*http.Response, error // RecoverResponder handles the response to the Recover request. The method always // closes the http.Response Body. -func (client AppsClient) RecoverResponder(resp *http.Response) (result RecoverResponse, err error) { +func (client AppsClient) RecoverResponder(resp *http.Response) (result autorest.Response, err error) { err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} + result.Response = resp return } -// RecoverSiteConfigurationSnapshot reverts the configuration of an app to a -// previous snapshot. +// RecoverSiteConfigurationSnapshot reverts the configuration of an app to a previous snapshot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. snapshotID is the ID of the snapshot to -// read. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. snapshotID +// is the ID of the snapshot to read. func (client AppsClient) RecoverSiteConfigurationSnapshot(resourceGroupName string, name string, snapshotID string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -13601,13 +22991,11 @@ func (client AppsClient) RecoverSiteConfigurationSnapshotResponder(resp *http.Re return } -// RecoverSiteConfigurationSnapshotSlot reverts the configuration of an app to -// a previous snapshot. +// RecoverSiteConfigurationSnapshotSlot reverts the configuration of an app to a previous snapshot. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. snapshotID is the ID of the snapshot to -// read. slot is name of the deployment slot. If a slot is not specified, the -// API will return configuration for the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. snapshotID +// is the ID of the snapshot to read. slot is name of the deployment slot. If a slot is not specified, the API will +// return configuration for the production slot. func (client AppsClient) RecoverSiteConfigurationSnapshotSlot(resourceGroupName string, name string, snapshotID string, slot string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -13679,17 +23067,16 @@ func (client AppsClient) RecoverSiteConfigurationSnapshotSlotResponder(resp *htt return } -// RecoverSlot recovers a deleted web app. This method may poll for completion. -// Polling can be canceled by passing the cancel channel argument. The channel -// will be used to cancel polling and any outstanding HTTP requests. +// RecoverSlot recovers a web app to a previous snapshot. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of web app recoveryEntity is snapshot data used for -// web app recovery. Snapshot information can be obtained by calling -// GetDeletedSites or GetSiteSnapshots API. slot is name of web app slot. If -// not specified then will default to production slot. -func (client AppsClient) RecoverSlot(resourceGroupName string, name string, recoveryEntity CsmSiteRecoveryEntity, slot string, cancel <-chan struct{}) (<-chan RecoverResponse, <-chan error) { - resultChan := make(chan RecoverResponse, 1) +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. +// recoveryEntity is snapshot data used for web app recovery. Snapshot information can be obtained by calling +// GetDeletedSites or GetSiteSnapshots API. slot is name of web app slot. If not specified then will default to +// production slot. +func (client AppsClient) RecoverSlot(resourceGroupName string, name string, recoveryEntity SnapshotRecoveryRequest, slot string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { + resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -13704,10 +23091,12 @@ func (client AppsClient) RecoverSlot(resourceGroupName string, name string, reco go func() { var err error - var result RecoverResponse + var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -13719,7 +23108,7 @@ func (client AppsClient) RecoverSlot(resourceGroupName string, name string, reco resp, err := client.RecoverSlotSender(req) if err != nil { - result.Response = autorest.Response{Response: resp} + result.Response = resp err = autorest.NewErrorWithError(err, "web.AppsClient", "RecoverSlot", resp, "Failure sending request") return } @@ -13733,7 +23122,7 @@ func (client AppsClient) RecoverSlot(resourceGroupName string, name string, reco } // RecoverSlotPreparer prepares the RecoverSlot request. -func (client AppsClient) RecoverSlotPreparer(resourceGroupName string, name string, recoveryEntity CsmSiteRecoveryEntity, slot string, cancel <-chan struct{}) (*http.Request, error) { +func (client AppsClient) RecoverSlotPreparer(resourceGroupName string, name string, recoveryEntity SnapshotRecoveryRequest, slot string, cancel <-chan struct{}) (*http.Request, error) { pathParameters := map[string]interface{}{ "name": autorest.Encode("path", name), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -13766,22 +23155,20 @@ func (client AppsClient) RecoverSlotSender(req *http.Request) (*http.Response, e // RecoverSlotResponder handles the response to the RecoverSlot request. The method always // closes the http.Response Body. -func (client AppsClient) RecoverSlotResponder(resp *http.Response) (result RecoverResponse, err error) { +func (client AppsClient) RecoverSlotResponder(resp *http.Response) (result autorest.Response, err error) { err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} + result.Response = resp return } -// ResetProductionSlotConfig resets the configuration settings of the current -// slot if they were previously modified by calling the API with POST. +// ResetProductionSlotConfig resets the configuration settings of the current slot if they were previously modified by +// calling the API with POST. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) ResetProductionSlotConfig(resourceGroupName string, name string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -13851,13 +23238,11 @@ func (client AppsClient) ResetProductionSlotConfigResponder(resp *http.Response) return } -// ResetSlotConfigurationSlot resets the configuration settings of the current -// slot if they were previously modified by calling the API with POST. +// ResetSlotConfigurationSlot resets the configuration settings of the current slot if they were previously modified by +// calling the API with POST. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API resets configuration settings for the -// production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API resets configuration settings for the production slot. func (client AppsClient) ResetSlotConfigurationSlot(resourceGroupName string, name string, slot string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -13930,12 +23315,10 @@ func (client AppsClient) ResetSlotConfigurationSlotResponder(resp *http.Response // Restart restarts an app (or deployment slot, if specified). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. softRestart is specify true to apply the -// configuration settings and restarts the app only if necessary. By default, -// the API always restarts and reprovisions the app. synchronous is specify -// true to block until the app is restarted. By default, it is set to false, -// and the API responds immediately (asynchronous). +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. softRestart +// is specify true to apply the configuration settings and restarts the app only if necessary. By default, the API +// always restarts and reprovisions the app. synchronous is specify true to block until the app is restarted. By +// default, it is set to false, and the API responds immediately (asynchronous). func (client AppsClient) Restart(resourceGroupName string, name string, softRestart *bool, synchronous *bool) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -14013,14 +23396,11 @@ func (client AppsClient) RestartResponder(resp *http.Response) (result autorest. // RestartSlot restarts an app (or deployment slot, if specified). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will restart the production slot. softRestart -// is specify true to apply the configuration settings and restarts the app -// only if necessary. By default, the API always restarts and reprovisions the -// app. synchronous is specify true to block until the app is restarted. By -// default, it is set to false, and the API responds immediately -// (asynchronous). +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will restart the production slot. softRestart is specify +// true to apply the configuration settings and restarts the app only if necessary. By default, the API always restarts +// and reprovisions the app. synchronous is specify true to block until the app is restarted. By default, it is set to +// false, and the API responds immediately (asynchronous). func (client AppsClient) RestartSlot(resourceGroupName string, name string, slot string, softRestart *bool, synchronous *bool) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -14097,14 +23477,12 @@ func (client AppsClient) RestartSlotResponder(resp *http.Response) (result autor return } -// Restore restores a specific backup to another app (or deployment slot, if -// specified). This method may poll for completion. Polling can be canceled by -// passing the cancel channel argument. The channel will be used to cancel +// Restore restores a specific backup to another app (or deployment slot, if specified). This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel // polling and any outstanding HTTP requests. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. backupID is iD of the backup. request is -// information on restore request +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. backupID is +// ID of the backup. request is information on restore request . func (client AppsClient) Restore(resourceGroupName string, name string, backupID string, request RestoreRequest, cancel <-chan struct{}) (<-chan RestoreResponse, <-chan error) { resultChan := make(chan RestoreResponse, 1) errChan := make(chan error, 1) @@ -14123,8 +23501,10 @@ func (client AppsClient) Restore(resourceGroupName string, name string, backupID var err error var result RestoreResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -14194,15 +23574,13 @@ func (client AppsClient) RestoreResponder(resp *http.Response) (result RestoreRe return } -// RestoreSlot restores a specific backup to another app (or deployment slot, -// if specified). This method may poll for completion. Polling can be canceled -// by passing the cancel channel argument. The channel will be used to cancel +// RestoreSlot restores a specific backup to another app (or deployment slot, if specified). This method may poll for +// completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to cancel // polling and any outstanding HTTP requests. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. backupID is iD of the backup. request is -// information on restore request slot is name of the deployment slot. If a -// slot is not specified, the API will restore a backup of the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. backupID is +// ID of the backup. request is information on restore request . slot is name of the deployment slot. If a slot is not +// specified, the API will restore a backup of the production slot. func (client AppsClient) RestoreSlot(resourceGroupName string, name string, backupID string, request RestoreRequest, slot string, cancel <-chan struct{}) (<-chan RestoreResponse, <-chan error) { resultChan := make(chan RestoreResponse, 1) errChan := make(chan error, 1) @@ -14221,8 +23599,10 @@ func (client AppsClient) RestoreSlot(resourceGroupName string, name string, back var err error var result RestoreResponse defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -14293,10 +23673,161 @@ func (client AppsClient) RestoreSlotResponder(resp *http.Response) (result Resto return } +// RunTriggeredWebJob run a triggered web job for an app, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. webJobID is web +// job ID. +func (client AppsClient) RunTriggeredWebJob(resourceGroupName string, name string, webJobID string, webJobName string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "RunTriggeredWebJob") + } + + req, err := client.RunTriggeredWebJobPreparer(resourceGroupName, name, webJobID, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RunTriggeredWebJob", nil, "Failure preparing request") + return + } + + resp, err := client.RunTriggeredWebJobSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "RunTriggeredWebJob", resp, "Failure sending request") + return + } + + result, err = client.RunTriggeredWebJobResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RunTriggeredWebJob", resp, "Failure responding to request") + } + + return +} + +// RunTriggeredWebJobPreparer prepares the RunTriggeredWebJob request. +func (client AppsClient) RunTriggeredWebJobPreparer(resourceGroupName string, name string, webJobID string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "webJobId": autorest.Encode("query", webJobID), + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/run", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// RunTriggeredWebJobSender sends the RunTriggeredWebJob request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) RunTriggeredWebJobSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// RunTriggeredWebJobResponder handles the response to the RunTriggeredWebJob request. The method always +// closes the http.Response Body. +func (client AppsClient) RunTriggeredWebJobResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// RunTriggeredWebJobSlot run a triggered web job for an app, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. webJobID is web +// job ID. slot is name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) RunTriggeredWebJobSlot(resourceGroupName string, name string, webJobID string, slot string, webJobName string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "RunTriggeredWebJobSlot") + } + + req, err := client.RunTriggeredWebJobSlotPreparer(resourceGroupName, name, webJobID, slot, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RunTriggeredWebJobSlot", nil, "Failure preparing request") + return + } + + resp, err := client.RunTriggeredWebJobSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "RunTriggeredWebJobSlot", resp, "Failure sending request") + return + } + + result, err = client.RunTriggeredWebJobSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RunTriggeredWebJobSlot", resp, "Failure responding to request") + } + + return +} + +// RunTriggeredWebJobSlotPreparer prepares the RunTriggeredWebJobSlot request. +func (client AppsClient) RunTriggeredWebJobSlotPreparer(resourceGroupName string, name string, webJobID string, slot string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "webJobId": autorest.Encode("query", webJobID), + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/run", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// RunTriggeredWebJobSlotSender sends the RunTriggeredWebJobSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) RunTriggeredWebJobSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// RunTriggeredWebJobSlotResponder handles the response to the RunTriggeredWebJobSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) RunTriggeredWebJobSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + // Start starts an app (or deployment slot, if specified). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) Start(resourceGroupName string, name string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -14366,11 +23897,162 @@ func (client AppsClient) StartResponder(resp *http.Response) (result autorest.Re return } +// StartContinuousWebJob start a continuous web job for an app, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. webJobID is web +// job ID. +func (client AppsClient) StartContinuousWebJob(resourceGroupName string, name string, webJobID string, webJobName string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "StartContinuousWebJob") + } + + req, err := client.StartContinuousWebJobPreparer(resourceGroupName, name, webJobID, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartContinuousWebJob", nil, "Failure preparing request") + return + } + + resp, err := client.StartContinuousWebJobSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartContinuousWebJob", resp, "Failure sending request") + return + } + + result, err = client.StartContinuousWebJobResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartContinuousWebJob", resp, "Failure responding to request") + } + + return +} + +// StartContinuousWebJobPreparer prepares the StartContinuousWebJob request. +func (client AppsClient) StartContinuousWebJobPreparer(resourceGroupName string, name string, webJobID string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "webJobId": autorest.Encode("query", webJobID), + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/start", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// StartContinuousWebJobSender sends the StartContinuousWebJob request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) StartContinuousWebJobSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// StartContinuousWebJobResponder handles the response to the StartContinuousWebJob request. The method always +// closes the http.Response Body. +func (client AppsClient) StartContinuousWebJobResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// StartContinuousWebJobSlot start a continuous web job for an app, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. webJobID is web +// job ID. slot is name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) StartContinuousWebJobSlot(resourceGroupName string, name string, webJobID string, slot string, webJobName string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "StartContinuousWebJobSlot") + } + + req, err := client.StartContinuousWebJobSlotPreparer(resourceGroupName, name, webJobID, slot, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartContinuousWebJobSlot", nil, "Failure preparing request") + return + } + + resp, err := client.StartContinuousWebJobSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartContinuousWebJobSlot", resp, "Failure sending request") + return + } + + result, err = client.StartContinuousWebJobSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartContinuousWebJobSlot", resp, "Failure responding to request") + } + + return +} + +// StartContinuousWebJobSlotPreparer prepares the StartContinuousWebJobSlot request. +func (client AppsClient) StartContinuousWebJobSlotPreparer(resourceGroupName string, name string, webJobID string, slot string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "webJobId": autorest.Encode("query", webJobID), + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/start", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// StartContinuousWebJobSlotSender sends the StartContinuousWebJobSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) StartContinuousWebJobSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// StartContinuousWebJobSlotResponder handles the response to the StartContinuousWebJobSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) StartContinuousWebJobSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + // StartSlot starts an app (or deployment slot, if specified). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will start the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will start the production slot. func (client AppsClient) StartSlot(resourceGroupName string, name string, slot string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -14443,10 +24125,9 @@ func (client AppsClient) StartSlotResponder(resp *http.Response) (result autores // StartWebSiteNetworkTrace start capturing network packets for the site. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is the name of the web app. durationInSeconds is the duration -// to keep capturing in seconds. maxFrameLength is the maximum frame length in -// bytes (Optional). sasURL is the Blob URL to store capture file. +// resourceGroupName is name of the resource group to which the resource belongs. name is the name of the web app. +// durationInSeconds is the duration to keep capturing in seconds. maxFrameLength is the maximum frame length in bytes +// (Optional). sasURL is the Blob URL to store capture file. func (client AppsClient) StartWebSiteNetworkTrace(resourceGroupName string, name string, durationInSeconds *int32, maxFrameLength *int32, sasURL string) (result String, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -14528,11 +24209,9 @@ func (client AppsClient) StartWebSiteNetworkTraceResponder(resp *http.Response) // StartWebSiteNetworkTraceSlot start capturing network packets for the site. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is the name of the web app. slot is the name of the slot for -// this web app. durationInSeconds is the duration to keep capturing in -// seconds. maxFrameLength is the maximum frame length in bytes (Optional). -// sasURL is the Blob URL to store capture file. +// resourceGroupName is name of the resource group to which the resource belongs. name is the name of the web app. slot +// is the name of the slot for this web app. durationInSeconds is the duration to keep capturing in seconds. +// maxFrameLength is the maximum frame length in bytes (Optional). sasURL is the Blob URL to store capture file. func (client AppsClient) StartWebSiteNetworkTraceSlot(resourceGroupName string, name string, slot string, durationInSeconds *int32, maxFrameLength *int32, sasURL string) (result String, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -14615,8 +24294,7 @@ func (client AppsClient) StartWebSiteNetworkTraceSlotResponder(resp *http.Respon // Stop stops an app (or deployment slot, if specified). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) Stop(resourceGroupName string, name string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -14686,11 +24364,162 @@ func (client AppsClient) StopResponder(resp *http.Response) (result autorest.Res return } +// StopContinuousWebJob stop a continuous web job for an app, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. webJobID is web +// job ID. +func (client AppsClient) StopContinuousWebJob(resourceGroupName string, name string, webJobID string, webJobName string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "StopContinuousWebJob") + } + + req, err := client.StopContinuousWebJobPreparer(resourceGroupName, name, webJobID, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopContinuousWebJob", nil, "Failure preparing request") + return + } + + resp, err := client.StopContinuousWebJobSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopContinuousWebJob", resp, "Failure sending request") + return + } + + result, err = client.StopContinuousWebJobResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopContinuousWebJob", resp, "Failure responding to request") + } + + return +} + +// StopContinuousWebJobPreparer prepares the StopContinuousWebJob request. +func (client AppsClient) StopContinuousWebJobPreparer(resourceGroupName string, name string, webJobID string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "webJobId": autorest.Encode("query", webJobID), + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/stop", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// StopContinuousWebJobSender sends the StopContinuousWebJob request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) StopContinuousWebJobSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// StopContinuousWebJobResponder handles the response to the StopContinuousWebJob request. The method always +// closes the http.Response Body. +func (client AppsClient) StopContinuousWebJobResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// StopContinuousWebJobSlot stop a continuous web job for an app, or a deployment slot. +// +// resourceGroupName is name of the resource group to which the resource belongs. name is site name. webJobID is web +// job ID. slot is name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) StopContinuousWebJobSlot(resourceGroupName string, name string, webJobID string, slot string, webJobName string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "StopContinuousWebJobSlot") + } + + req, err := client.StopContinuousWebJobSlotPreparer(resourceGroupName, name, webJobID, slot, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopContinuousWebJobSlot", nil, "Failure preparing request") + return + } + + resp, err := client.StopContinuousWebJobSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopContinuousWebJobSlot", resp, "Failure sending request") + return + } + + result, err = client.StopContinuousWebJobSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopContinuousWebJobSlot", resp, "Failure responding to request") + } + + return +} + +// StopContinuousWebJobSlotPreparer prepares the StopContinuousWebJobSlot request. +func (client AppsClient) StopContinuousWebJobSlotPreparer(resourceGroupName string, name string, webJobID string, slot string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2016-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "webJobId": autorest.Encode("query", webJobID), + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/stop", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// StopContinuousWebJobSlotSender sends the StopContinuousWebJobSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) StopContinuousWebJobSlotSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// StopContinuousWebJobSlotResponder handles the response to the StopContinuousWebJobSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) StopContinuousWebJobSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + // StopSlot stops an app (or deployment slot, if specified). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will stop the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will stop the production slot. func (client AppsClient) StopSlot(resourceGroupName string, name string, slot string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -14763,8 +24592,7 @@ func (client AppsClient) StopSlotResponder(resp *http.Response) (result autorest // StopWebSiteNetworkTrace stop ongoing capturing network packets for the site. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is the name of the web app. +// resourceGroupName is name of the resource group to which the resource belongs. name is the name of the web app. func (client AppsClient) StopWebSiteNetworkTrace(resourceGroupName string, name string) (result String, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -14835,12 +24663,10 @@ func (client AppsClient) StopWebSiteNetworkTraceResponder(resp *http.Response) ( return } -// StopWebSiteNetworkTraceSlot stop ongoing capturing network packets for the -// site. +// StopWebSiteNetworkTraceSlot stop ongoing capturing network packets for the site. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is the name of the web app. slot is the name of the slot for -// this web app. +// resourceGroupName is name of the resource group to which the resource belongs. name is the name of the web app. slot +// is the name of the slot for this web app. func (client AppsClient) StopWebSiteNetworkTraceSlot(resourceGroupName string, name string, slot string) (result String, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -14912,15 +24738,12 @@ func (client AppsClient) StopWebSiteNetworkTraceSlotResponder(resp *http.Respons return } -// SwapSlotSlot swaps two deployment slots of an app. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// SwapSlotSlot swaps two deployment slots of an app. This method may poll for completion. Polling can be canceled by +// passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slotSwapEntity is jSON object that -// contains the target slot name. See example. slot is name of the source slot. -// If a slot is not specified, the production slot is used as the source slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// slotSwapEntity is JSON object that contains the target slot name. See example. slot is name of the source slot. If a +// slot is not specified, the production slot is used as the source slot. func (client AppsClient) SwapSlotSlot(resourceGroupName string, name string, slotSwapEntity CsmSlotEntity, slot string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -14942,8 +24765,10 @@ func (client AppsClient) SwapSlotSlot(resourceGroupName string, name string, slo var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -15012,14 +24837,12 @@ func (client AppsClient) SwapSlotSlotResponder(resp *http.Response) (result auto return } -// SwapSlotWithProduction swaps two deployment slots of an app. This method may -// poll for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// SwapSlotWithProduction swaps two deployment slots of an app. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slotSwapEntity is jSON object that -// contains the target slot name. See example. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// slotSwapEntity is JSON object that contains the target slot name. See example. func (client AppsClient) SwapSlotWithProduction(resourceGroupName string, name string, slotSwapEntity CsmSlotEntity, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) errChan := make(chan error, 1) @@ -15041,8 +24864,10 @@ func (client AppsClient) SwapSlotWithProduction(resourceGroupName string, name s var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -15112,8 +24937,7 @@ func (client AppsClient) SwapSlotWithProductionResponder(resp *http.Response) (r // SyncFunctionTriggers syncs function trigger metadata to the scale controller // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. func (client AppsClient) SyncFunctionTriggers(resourceGroupName string, name string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -15183,12 +25007,10 @@ func (client AppsClient) SyncFunctionTriggersResponder(resp *http.Response) (res return } -// SyncFunctionTriggersSlot syncs function trigger metadata to the scale -// controller +// SyncFunctionTriggersSlot syncs function trigger metadata to the scale controller // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slot is name of the deployment slot. If a -// slot is not specified, the API will restore a backup of the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. slot is name +// of the deployment slot. If a slot is not specified, the API will restore a backup of the production slot. func (client AppsClient) SyncFunctionTriggersSlot(resourceGroupName string, name string, slot string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -15261,8 +25083,7 @@ func (client AppsClient) SyncFunctionTriggersSlotResponder(resp *http.Response) // SyncRepository sync web app repository. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of web app +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. func (client AppsClient) SyncRepository(resourceGroupName string, name string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -15326,7 +25147,7 @@ func (client AppsClient) SyncRepositoryResponder(resp *http.Response) (result au err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + azure.WithErrorUnlessStatusCode(http.StatusOK), autorest.ByClosing()) result.Response = resp return @@ -15334,9 +25155,8 @@ func (client AppsClient) SyncRepositoryResponder(resp *http.Response) (result au // SyncRepositorySlot sync web app repository. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of web app slot is name of web app slot. If not -// specified then will default to production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. slot is name +// of web app slot. If not specified then will default to production slot. func (client AppsClient) SyncRepositorySlot(resourceGroupName string, name string, slot string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -15401,7 +25221,7 @@ func (client AppsClient) SyncRepositorySlotResponder(resp *http.Response) (resul err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + azure.WithErrorUnlessStatusCode(http.StatusOK), autorest.ByClosing()) result.Response = resp return @@ -15409,9 +25229,8 @@ func (client AppsClient) SyncRepositorySlotResponder(resp *http.Response) (resul // UpdateApplicationSettings replaces the application settings of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. appSettings is application settings of the -// app. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. appSettings +// is application settings of the app. func (client AppsClient) UpdateApplicationSettings(resourceGroupName string, name string, appSettings StringDictionary) (result StringDictionary, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -15486,10 +25305,9 @@ func (client AppsClient) UpdateApplicationSettingsResponder(resp *http.Response) // UpdateApplicationSettingsSlot replaces the application settings of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. appSettings is application settings of the -// app. slot is name of the deployment slot. If a slot is not specified, the -// API will update the application settings for the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. appSettings +// is application settings of the app. slot is name of the deployment slot. If a slot is not specified, the API will +// update the application settings for the production slot. func (client AppsClient) UpdateApplicationSettingsSlot(resourceGroupName string, name string, appSettings StringDictionary, slot string) (result StringDictionary, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -15563,12 +25381,10 @@ func (client AppsClient) UpdateApplicationSettingsSlotResponder(resp *http.Respo return } -// UpdateAuthSettings updates the Authentication / Authorization settings -// associated with web app. +// UpdateAuthSettings updates the Authentication / Authorization settings associated with web app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of web app siteAuthSettings is auth settings -// associated with web app +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. +// siteAuthSettings is auth settings associated with web app. func (client AppsClient) UpdateAuthSettings(resourceGroupName string, name string, siteAuthSettings SiteAuthSettings) (result SiteAuthSettings, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -15641,13 +25457,11 @@ func (client AppsClient) UpdateAuthSettingsResponder(resp *http.Response) (resul return } -// UpdateAuthSettingsSlot updates the Authentication / Authorization settings -// associated with web app. +// UpdateAuthSettingsSlot updates the Authentication / Authorization settings associated with web app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of web app siteAuthSettings is auth settings -// associated with web app slot is name of web app slot. If not specified then -// will default to production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. +// siteAuthSettings is auth settings associated with web app. slot is name of web app slot. If not specified then will +// default to production slot. func (client AppsClient) UpdateAuthSettingsSlot(resourceGroupName string, name string, siteAuthSettings SiteAuthSettings, slot string) (result SiteAuthSettings, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -15723,8 +25537,8 @@ func (client AppsClient) UpdateAuthSettingsSlotResponder(resp *http.Response) (r // UpdateBackupConfiguration updates the backup configuration of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. request is edited backup configuration. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. request is +// edited backup configuration. func (client AppsClient) UpdateBackupConfiguration(resourceGroupName string, name string, request BackupRequest) (result BackupRequest, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -15807,10 +25621,9 @@ func (client AppsClient) UpdateBackupConfigurationResponder(resp *http.Response) // UpdateBackupConfigurationSlot updates the backup configuration of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. request is edited backup configuration. -// slot is name of the deployment slot. If a slot is not specified, the API -// will update the backup configuration for the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. request is +// edited backup configuration. slot is name of the deployment slot. If a slot is not specified, the API will update +// the backup configuration for the production slot. func (client AppsClient) UpdateBackupConfigurationSlot(resourceGroupName string, name string, request BackupRequest, slot string) (result BackupRequest, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -15894,9 +25707,8 @@ func (client AppsClient) UpdateBackupConfigurationSlotResponder(resp *http.Respo // UpdateConfiguration updates the configuration of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. siteConfig is jSON representation of a -// SiteConfig object. See example. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. siteConfig +// is JSON representation of a SiteConfig object. See example. func (client AppsClient) UpdateConfiguration(resourceGroupName string, name string, siteConfig SiteConfigResource) (result SiteConfigResource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -15971,11 +25783,9 @@ func (client AppsClient) UpdateConfigurationResponder(resp *http.Response) (resu // UpdateConfigurationSlot updates the configuration of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. siteConfig is jSON representation of a -// SiteConfig object. See example. slot is name of the deployment slot. If a -// slot is not specified, the API will update configuration for the production -// slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. siteConfig +// is JSON representation of a SiteConfig object. See example. slot is name of the deployment slot. If a slot is not +// specified, the API will update configuration for the production slot. func (client AppsClient) UpdateConfigurationSlot(resourceGroupName string, name string, siteConfig SiteConfigResource, slot string) (result SiteConfigResource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -16051,9 +25861,8 @@ func (client AppsClient) UpdateConfigurationSlotResponder(resp *http.Response) ( // UpdateConnectionStrings replaces the connection strings of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. connectionStrings is connection strings of -// the app or deployment slot. See example. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// connectionStrings is connection strings of the app or deployment slot. See example. func (client AppsClient) UpdateConnectionStrings(resourceGroupName string, name string, connectionStrings ConnectionStringDictionary) (result ConnectionStringDictionary, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -16128,11 +25937,9 @@ func (client AppsClient) UpdateConnectionStringsResponder(resp *http.Response) ( // UpdateConnectionStringsSlot replaces the connection strings of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. connectionStrings is connection strings of -// the app or deployment slot. See example. slot is name of the deployment -// slot. If a slot is not specified, the API will update the connection -// settings for the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// connectionStrings is connection strings of the app or deployment slot. See example. slot is name of the deployment +// slot. If a slot is not specified, the API will update the connection settings for the production slot. func (client AppsClient) UpdateConnectionStringsSlot(resourceGroupName string, name string, connectionStrings ConnectionStringDictionary, slot string) (result ConnectionStringDictionary, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -16208,9 +26015,8 @@ func (client AppsClient) UpdateConnectionStringsSlotResponder(resp *http.Respons // UpdateDiagnosticLogsConfig updates the logging configuration of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. siteLogsConfig is a SiteLogsConfig JSON -// object that contains the logging configuration to change in the "properties" +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// siteLogsConfig is a SiteLogsConfig JSON object that contains the logging configuration to change in the "properties" // property. func (client AppsClient) UpdateDiagnosticLogsConfig(resourceGroupName string, name string, siteLogsConfig SiteLogsConfig) (result SiteLogsConfig, err error) { if err := validation.Validate([]validation.Validation{ @@ -16301,11 +26107,10 @@ func (client AppsClient) UpdateDiagnosticLogsConfigResponder(resp *http.Response // UpdateDiagnosticLogsConfigSlot updates the logging configuration of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. siteLogsConfig is a SiteLogsConfig JSON -// object that contains the logging configuration to change in the "properties" -// property. slot is name of the deployment slot. If a slot is not specified, -// the API will update the logging configuration for the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// siteLogsConfig is a SiteLogsConfig JSON object that contains the logging configuration to change in the "properties" +// property. slot is name of the deployment slot. If a slot is not specified, the API will update the logging +// configuration for the production slot. func (client AppsClient) UpdateDiagnosticLogsConfigSlot(resourceGroupName string, name string, siteLogsConfig SiteLogsConfig, slot string) (result SiteLogsConfig, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -16394,12 +26199,11 @@ func (client AppsClient) UpdateDiagnosticLogsConfigSlotResponder(resp *http.Resp return } -// UpdateDomainOwnershipIdentifier creates a domain ownership identifier for -// web app, or updates an existing ownership identifier. +// UpdateDomainOwnershipIdentifier creates a domain ownership identifier for web app, or updates an existing ownership +// identifier. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. domainOwnershipIdentifierName is name of -// domain ownership identifier. domainOwnershipIdentifier is a JSON +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// domainOwnershipIdentifierName is name of domain ownership identifier. domainOwnershipIdentifier is a JSON // representation of the domain ownership properties. func (client AppsClient) UpdateDomainOwnershipIdentifier(resourceGroupName string, name string, domainOwnershipIdentifierName string, domainOwnershipIdentifier Identifier) (result Identifier, err error) { if err := validation.Validate([]validation.Validation{ @@ -16474,15 +26278,13 @@ func (client AppsClient) UpdateDomainOwnershipIdentifierResponder(resp *http.Res return } -// UpdateDomainOwnershipIdentifierSlot creates a domain ownership identifier -// for web app, or updates an existing ownership identifier. +// UpdateDomainOwnershipIdentifierSlot creates a domain ownership identifier for web app, or updates an existing +// ownership identifier. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. domainOwnershipIdentifierName is name of -// domain ownership identifier. domainOwnershipIdentifier is a JSON -// representation of the domain ownership properties. slot is name of the -// deployment slot. If a slot is not specified, the API will delete the binding -// for the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// domainOwnershipIdentifierName is name of domain ownership identifier. domainOwnershipIdentifier is a JSON +// representation of the domain ownership properties. slot is name of the deployment slot. If a slot is not specified, +// the API will delete the binding for the production slot. func (client AppsClient) UpdateDomainOwnershipIdentifierSlot(resourceGroupName string, name string, domainOwnershipIdentifierName string, domainOwnershipIdentifier Identifier, slot string) (result Identifier, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -16557,13 +26359,11 @@ func (client AppsClient) UpdateDomainOwnershipIdentifierSlotResponder(resp *http return } -// UpdateHybridConnection creates a new Hybrid Connection using a Service Bus -// relay. +// UpdateHybridConnection creates a new Hybrid Connection using a Service Bus relay. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is the name of the web app namespaceName is the namespace for -// this hybrid connection relayName is the relay name for this hybrid -// connection connectionEnvelope is the details of the hybrid connection +// resourceGroupName is name of the resource group to which the resource belongs. name is the name of the web app. +// namespaceName is the namespace for this hybrid connection. relayName is the relay name for this hybrid connection. +// connectionEnvelope is the details of the hybrid connection. func (client AppsClient) UpdateHybridConnection(resourceGroupName string, name string, namespaceName string, relayName string, connectionEnvelope HybridConnection) (result HybridConnection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -16638,14 +26438,11 @@ func (client AppsClient) UpdateHybridConnectionResponder(resp *http.Response) (r return } -// UpdateHybridConnectionSlot creates a new Hybrid Connection using a Service -// Bus relay. +// UpdateHybridConnectionSlot creates a new Hybrid Connection using a Service Bus relay. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is the name of the web app namespaceName is the namespace for -// this hybrid connection relayName is the relay name for this hybrid -// connection connectionEnvelope is the details of the hybrid connection slot -// is the name of the slot for the web app. +// resourceGroupName is name of the resource group to which the resource belongs. name is the name of the web app. +// namespaceName is the namespace for this hybrid connection. relayName is the relay name for this hybrid connection. +// connectionEnvelope is the details of the hybrid connection. slot is the name of the slot for the web app. func (client AppsClient) UpdateHybridConnectionSlot(resourceGroupName string, name string, namespaceName string, relayName string, connectionEnvelope HybridConnection, slot string) (result HybridConnection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -16723,9 +26520,8 @@ func (client AppsClient) UpdateHybridConnectionSlotResponder(resp *http.Response // UpdateMetadata replaces the metadata of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. metadata is edited metadata of the app or -// deployment slot. See example. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. metadata is +// edited metadata of the app or deployment slot. See example. func (client AppsClient) UpdateMetadata(resourceGroupName string, name string, metadata StringDictionary) (result StringDictionary, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -16800,10 +26596,9 @@ func (client AppsClient) UpdateMetadataResponder(resp *http.Response) (result St // UpdateMetadataSlot replaces the metadata of an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. metadata is edited metadata of the app or -// deployment slot. See example. slot is name of the deployment slot. If a slot -// is not specified, the API will update the metadata for the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. metadata is +// edited metadata of the app or deployment slot. See example. slot is name of the deployment slot. If a slot is not +// specified, the API will update the metadata for the production slot. func (client AppsClient) UpdateMetadataSlot(resourceGroupName string, name string, metadata StringDictionary, slot string) (result StringDictionary, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -16877,13 +26672,12 @@ func (client AppsClient) UpdateMetadataSlotResponder(resp *http.Response) (resul return } -// UpdateRelayServiceConnection creates a new hybrid connection configuration -// (PUT), or updates an existing one (PATCH). +// UpdateRelayServiceConnection creates a new hybrid connection configuration (PUT), or updates an existing one +// (PATCH). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. entityName is name of the hybrid -// connection configuration. connectionEnvelope is details of the hybrid -// connection configuration. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. entityName +// is name of the hybrid connection configuration. connectionEnvelope is details of the hybrid connection +// configuration. func (client AppsClient) UpdateRelayServiceConnection(resourceGroupName string, name string, entityName string, connectionEnvelope RelayServiceConnectionEntity) (result RelayServiceConnectionEntity, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -16957,15 +26751,13 @@ func (client AppsClient) UpdateRelayServiceConnectionResponder(resp *http.Respon return } -// UpdateRelayServiceConnectionSlot creates a new hybrid connection -// configuration (PUT), or updates an existing one (PATCH). +// UpdateRelayServiceConnectionSlot creates a new hybrid connection configuration (PUT), or updates an existing one +// (PATCH). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. entityName is name of the hybrid -// connection configuration. connectionEnvelope is details of the hybrid -// connection configuration. slot is name of the deployment slot. If a slot is -// not specified, the API will create or update a hybrid connection for the -// production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. entityName +// is name of the hybrid connection configuration. connectionEnvelope is details of the hybrid connection +// configuration. slot is name of the deployment slot. If a slot is not specified, the API will create or update a +// hybrid connection for the production slot. func (client AppsClient) UpdateRelayServiceConnectionSlot(resourceGroupName string, name string, entityName string, connectionEnvelope RelayServiceConnectionEntity, slot string) (result RelayServiceConnectionEntity, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -17042,17 +26834,14 @@ func (client AppsClient) UpdateRelayServiceConnectionSlotResponder(resp *http.Re // UpdateSitePushSettings updates the Push settings associated with web app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of web app pushSettings is push settings associated -// with web app +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. pushSettings +// is push settings associated with web app. func (client AppsClient) UpdateSitePushSettings(resourceGroupName string, name string, pushSettings PushSettings) (result PushSettings, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, - {TargetValue: pushSettings, - Constraints: []validation.Constraint{{Target: "pushSettings.IsPushEnabled", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "UpdateSitePushSettings") } @@ -17119,21 +26908,17 @@ func (client AppsClient) UpdateSitePushSettingsResponder(resp *http.Response) (r return } -// UpdateSitePushSettingsSlot updates the Push settings associated with web -// app. +// UpdateSitePushSettingsSlot updates the Push settings associated with web app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of web app pushSettings is push settings associated -// with web app slot is name of web app slot. If not specified then will -// default to production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of web app. pushSettings +// is push settings associated with web app. slot is name of web app slot. If not specified then will default to +// production slot. func (client AppsClient) UpdateSitePushSettingsSlot(resourceGroupName string, name string, pushSettings PushSettings, slot string) (result PushSettings, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, - {TargetValue: pushSettings, - Constraints: []validation.Constraint{{Target: "pushSettings.IsPushEnabled", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "web.AppsClient", "UpdateSitePushSettingsSlot") } @@ -17201,12 +26986,11 @@ func (client AppsClient) UpdateSitePushSettingsSlotResponder(resp *http.Response return } -// UpdateSlotConfigurationNames updates the names of application settings and -// connection string that remain with the slot during swap operation. +// UpdateSlotConfigurationNames updates the names of application settings and connection string that remain with the +// slot during swap operation. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. slotConfigNames is names of application -// settings and connection strings. See example. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. +// slotConfigNames is names of application settings and connection strings. See example. func (client AppsClient) UpdateSlotConfigurationNames(resourceGroupName string, name string, slotConfigNames SlotConfigNamesResource) (result SlotConfigNamesResource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -17279,13 +27063,12 @@ func (client AppsClient) UpdateSlotConfigurationNamesResponder(resp *http.Respon return } -// UpdateVnetConnection adds a Virtual Network connection to an app or slot -// (PUT) or updates the connection properties (PATCH). +// UpdateVnetConnection adds a Virtual Network connection to an app or slot (PUT) or updates the connection properties +// (PATCH). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. vnetName is name of an existing Virtual -// Network. connectionEnvelope is properties of the Virtual Network connection. -// See example. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. vnetName is +// name of an existing Virtual Network. connectionEnvelope is properties of the Virtual Network connection. See +// example. func (client AppsClient) UpdateVnetConnection(resourceGroupName string, name string, vnetName string, connectionEnvelope VnetInfo) (result VnetInfo, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -17359,13 +27142,11 @@ func (client AppsClient) UpdateVnetConnectionResponder(resp *http.Response) (res return } -// UpdateVnetConnectionGateway adds a gateway to a connected Virtual Network -// (PUT) or updates it (PATCH). +// UpdateVnetConnectionGateway adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. vnetName is name of the Virtual Network. -// gatewayName is name of the gateway. Currently, the only supported string is -// "primary". connectionEnvelope is the properties to update this gateway with. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. vnetName is +// name of the Virtual Network. gatewayName is name of the gateway. Currently, the only supported string is "primary". +// connectionEnvelope is the properties to update this gateway with. func (client AppsClient) UpdateVnetConnectionGateway(resourceGroupName string, name string, vnetName string, gatewayName string, connectionEnvelope VnetGateway) (result VnetGateway, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -17440,15 +27221,12 @@ func (client AppsClient) UpdateVnetConnectionGatewayResponder(resp *http.Respons return } -// UpdateVnetConnectionGatewaySlot adds a gateway to a connected Virtual -// Network (PUT) or updates it (PATCH). +// UpdateVnetConnectionGatewaySlot adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. vnetName is name of the Virtual Network. -// gatewayName is name of the gateway. Currently, the only supported string is -// "primary". connectionEnvelope is the properties to update this gateway with. -// slot is name of the deployment slot. If a slot is not specified, the API -// will add or update a gateway for the production slot's Virtual Network. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. vnetName is +// name of the Virtual Network. gatewayName is name of the gateway. Currently, the only supported string is "primary". +// connectionEnvelope is the properties to update this gateway with. slot is name of the deployment slot. If a slot is +// not specified, the API will add or update a gateway for the production slot's Virtual Network. func (client AppsClient) UpdateVnetConnectionGatewaySlot(resourceGroupName string, name string, vnetName string, gatewayName string, connectionEnvelope VnetGateway, slot string) (result VnetGateway, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -17524,14 +27302,13 @@ func (client AppsClient) UpdateVnetConnectionGatewaySlotResponder(resp *http.Res return } -// UpdateVnetConnectionSlot adds a Virtual Network connection to an app or slot -// (PUT) or updates the connection properties (PATCH). +// UpdateVnetConnectionSlot adds a Virtual Network connection to an app or slot (PUT) or updates the connection +// properties (PATCH). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the app. vnetName is name of an existing Virtual -// Network. connectionEnvelope is properties of the Virtual Network connection. -// See example. slot is name of the deployment slot. If a slot is not -// specified, the API will add or update connections for the production slot. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the app. vnetName is +// name of an existing Virtual Network. connectionEnvelope is properties of the Virtual Network connection. See +// example. slot is name of the deployment slot. If a slot is not specified, the API will add or update connections for +// the production slot. func (client AppsClient) UpdateVnetConnectionSlot(resourceGroupName string, name string, vnetName string, connectionEnvelope VnetInfo, slot string) (result VnetInfo, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/appservicecertificateorders.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/appservicecertificateorders.go index c6a681b09..7798b1f5a 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/appservicecertificateorders.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/appservicecertificateorders.go @@ -14,9 +14,8 @@ package web // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,33 +24,27 @@ import ( "net/http" ) -// AppServiceCertificateOrdersClient is the composite Swagger for WebSite -// Management Client +// AppServiceCertificateOrdersClient is the webSite Management Client type AppServiceCertificateOrdersClient struct { ManagementClient } -// NewAppServiceCertificateOrdersClient creates an instance of the -// AppServiceCertificateOrdersClient client. +// NewAppServiceCertificateOrdersClient creates an instance of the AppServiceCertificateOrdersClient client. func NewAppServiceCertificateOrdersClient(subscriptionID string) AppServiceCertificateOrdersClient { return NewAppServiceCertificateOrdersClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewAppServiceCertificateOrdersClientWithBaseURI creates an instance of the -// AppServiceCertificateOrdersClient client. +// NewAppServiceCertificateOrdersClientWithBaseURI creates an instance of the AppServiceCertificateOrdersClient client. func NewAppServiceCertificateOrdersClientWithBaseURI(baseURI string, subscriptionID string) AppServiceCertificateOrdersClient { return AppServiceCertificateOrdersClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate create or update a certificate purchase order. This method -// may poll for completion. Polling can be canceled by passing the cancel -// channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// CreateOrUpdate create or update a certificate purchase order. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is name of the resource group to which the resource -// belongs. certificateOrderName is name of the certificate order. -// certificateDistinguishedName is distinguished name to to use for the -// certificate order. +// resourceGroupName is name of the resource group to which the resource belongs. certificateOrderName is name of the +// certificate order. certificateDistinguishedName is distinguished name to to use for the certificate order. func (client AppServiceCertificateOrdersClient) CreateOrUpdate(resourceGroupName string, certificateOrderName string, certificateDistinguishedName AppServiceCertificateOrder, cancel <-chan struct{}) (<-chan AppServiceCertificateOrder, <-chan error) { resultChan := make(chan AppServiceCertificateOrder, 1) errChan := make(chan error, 1) @@ -77,8 +70,10 @@ func (client AppServiceCertificateOrdersClient) CreateOrUpdate(resourceGroupName var err error var result AppServiceCertificateOrder defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -147,15 +142,12 @@ func (client AppServiceCertificateOrdersClient) CreateOrUpdateResponder(resp *ht return } -// CreateOrUpdateCertificate creates or updates a certificate and associates -// with key vault secret. This method may poll for completion. Polling can be -// canceled by passing the cancel channel argument. The channel will be used to +// CreateOrUpdateCertificate creates or updates a certificate and associates with key vault secret. This method may +// poll for completion. Polling can be canceled by passing the cancel channel argument. The channel will be used to // cancel polling and any outstanding HTTP requests. // -// resourceGroupName is name of the resource group to which the resource -// belongs. certificateOrderName is name of the certificate order. name is name -// of the certificate. keyVaultCertificate is key vault certificate resource -// Id. +// resourceGroupName is name of the resource group to which the resource belongs. certificateOrderName is name of the +// certificate order. name is name of the certificate. keyVaultCertificate is key vault certificate resource Id. func (client AppServiceCertificateOrdersClient) CreateOrUpdateCertificate(resourceGroupName string, certificateOrderName string, name string, keyVaultCertificate AppServiceCertificateResource, cancel <-chan struct{}) (<-chan AppServiceCertificateResource, <-chan error) { resultChan := make(chan AppServiceCertificateResource, 1) errChan := make(chan error, 1) @@ -174,8 +166,10 @@ func (client AppServiceCertificateOrdersClient) CreateOrUpdateCertificate(resour var err error var result AppServiceCertificateResource defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -247,8 +241,8 @@ func (client AppServiceCertificateOrdersClient) CreateOrUpdateCertificateRespond // Delete delete an existing certificate order. // -// resourceGroupName is name of the resource group to which the resource -// belongs. certificateOrderName is name of the certificate order. +// resourceGroupName is name of the resource group to which the resource belongs. certificateOrderName is name of the +// certificate order. func (client AppServiceCertificateOrdersClient) Delete(resourceGroupName string, certificateOrderName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -318,12 +312,10 @@ func (client AppServiceCertificateOrdersClient) DeleteResponder(resp *http.Respo return } -// DeleteCertificate delete the certificate associated with a certificate -// order. +// DeleteCertificate delete the certificate associated with a certificate order. // -// resourceGroupName is name of the resource group to which the resource -// belongs. certificateOrderName is name of the certificate order. name is name -// of the certificate. +// resourceGroupName is name of the resource group to which the resource belongs. certificateOrderName is name of the +// certificate order. name is name of the certificate. func (client AppServiceCertificateOrdersClient) DeleteCertificate(resourceGroupName string, certificateOrderName string, name string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -396,8 +388,8 @@ func (client AppServiceCertificateOrdersClient) DeleteCertificateResponder(resp // Get get a certificate order. // -// resourceGroupName is name of the resource group to which the resource -// belongs. certificateOrderName is name of the certificate order.. +// resourceGroupName is name of the resource group to which the resource belongs. certificateOrderName is name of the +// certificate order.. func (client AppServiceCertificateOrdersClient) Get(resourceGroupName string, certificateOrderName string) (result AppServiceCertificateOrder, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -470,9 +462,8 @@ func (client AppServiceCertificateOrdersClient) GetResponder(resp *http.Response // GetCertificate get the certificate associated with a certificate order. // -// resourceGroupName is name of the resource group to which the resource -// belongs. certificateOrderName is name of the certificate order. name is name -// of the certificate. +// resourceGroupName is name of the resource group to which the resource belongs. certificateOrderName is name of the +// certificate order. name is name of the certificate. func (client AppServiceCertificateOrdersClient) GetCertificate(resourceGroupName string, certificateOrderName string, name string) (result AppServiceCertificateResource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -629,10 +620,54 @@ func (client AppServiceCertificateOrdersClient) ListNextResults(lastResults AppS return } +// ListComplete gets all elements from the list without paging. +func (client AppServiceCertificateOrdersClient) ListComplete(cancel <-chan struct{}) (<-chan AppServiceCertificateOrder, <-chan error) { + resultChan := make(chan AppServiceCertificateOrder) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListByResourceGroup get certificate orders in a resource group. // -// resourceGroupName is name of the resource group to which the resource -// belongs. +// resourceGroupName is name of the resource group to which the resource belongs. func (client AppServiceCertificateOrdersClient) ListByResourceGroup(resourceGroupName string) (result AppServiceCertificateOrderCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -726,10 +761,55 @@ func (client AppServiceCertificateOrdersClient) ListByResourceGroupNextResults(l return } +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client AppServiceCertificateOrdersClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan AppServiceCertificateOrder, <-chan error) { + resultChan := make(chan AppServiceCertificateOrder) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListCertificates list all certificates associated with a certificate order. // -// resourceGroupName is name of the resource group to which the resource -// belongs. certificateOrderName is name of the certificate order. +// resourceGroupName is name of the resource group to which the resource belongs. certificateOrderName is name of the +// certificate order. func (client AppServiceCertificateOrdersClient) ListCertificates(resourceGroupName string, certificateOrderName string) (result AppServiceCertificateCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -824,11 +904,55 @@ func (client AppServiceCertificateOrdersClient) ListCertificatesNextResults(last return } +// ListCertificatesComplete gets all elements from the list without paging. +func (client AppServiceCertificateOrdersClient) ListCertificatesComplete(resourceGroupName string, certificateOrderName string, cancel <-chan struct{}) (<-chan AppServiceCertificateResource, <-chan error) { + resultChan := make(chan AppServiceCertificateResource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListCertificates(resourceGroupName, certificateOrderName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListCertificatesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Reissue reissue an existing certificate order. // -// resourceGroupName is name of the resource group to which the resource -// belongs. certificateOrderName is name of the certificate order. -// reissueCertificateOrderRequest is parameters for the reissue. +// resourceGroupName is name of the resource group to which the resource belongs. certificateOrderName is name of the +// certificate order. reissueCertificateOrderRequest is parameters for the reissue. func (client AppServiceCertificateOrdersClient) Reissue(resourceGroupName string, certificateOrderName string, reissueCertificateOrderRequest ReissueCertificateOrderRequest) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -902,9 +1026,8 @@ func (client AppServiceCertificateOrdersClient) ReissueResponder(resp *http.Resp // Renew renew an existing certificate order. // -// resourceGroupName is name of the resource group to which the resource -// belongs. certificateOrderName is name of the certificate order. -// renewCertificateOrderRequest is renew parameters +// resourceGroupName is name of the resource group to which the resource belongs. certificateOrderName is name of the +// certificate order. renewCertificateOrderRequest is renew parameters func (client AppServiceCertificateOrdersClient) Renew(resourceGroupName string, certificateOrderName string, renewCertificateOrderRequest RenewCertificateOrderRequest) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -978,8 +1101,8 @@ func (client AppServiceCertificateOrdersClient) RenewResponder(resp *http.Respon // ResendEmail resend certificate email. // -// resourceGroupName is name of the resource group to which the resource -// belongs. certificateOrderName is name of the certificate order. +// resourceGroupName is name of the resource group to which the resource belongs. certificateOrderName is name of the +// certificate order. func (client AppServiceCertificateOrdersClient) ResendEmail(resourceGroupName string, certificateOrderName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1051,9 +1174,8 @@ func (client AppServiceCertificateOrdersClient) ResendEmailResponder(resp *http. // ResendRequestEmails verify domain ownership for this certificate order. // -// resourceGroupName is name of the resource group to which the resource -// belongs. certificateOrderName is name of the certificate order. -// nameIdentifier is email address +// resourceGroupName is name of the resource group to which the resource belongs. certificateOrderName is name of the +// certificate order. nameIdentifier is email address func (client AppServiceCertificateOrdersClient) ResendRequestEmails(resourceGroupName string, certificateOrderName string, nameIdentifier NameIdentifier) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1127,8 +1249,8 @@ func (client AppServiceCertificateOrdersClient) ResendRequestEmailsResponder(res // RetrieveCertificateActions retrieve the list of certificate actions. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the certificate order. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the certificate +// order. func (client AppServiceCertificateOrdersClient) RetrieveCertificateActions(resourceGroupName string, name string) (result ListCertificateOrderAction, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1201,8 +1323,8 @@ func (client AppServiceCertificateOrdersClient) RetrieveCertificateActionsRespon // RetrieveCertificateEmailHistory retrieve email history. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the certificate order. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the certificate +// order. func (client AppServiceCertificateOrdersClient) RetrieveCertificateEmailHistory(resourceGroupName string, name string) (result ListCertificateEmail, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1275,9 +1397,8 @@ func (client AppServiceCertificateOrdersClient) RetrieveCertificateEmailHistoryR // RetrieveSiteSeal verify domain ownership for this certificate order. // -// resourceGroupName is name of the resource group to which the resource -// belongs. certificateOrderName is name of the certificate order. -// siteSealRequest is site seal request. +// resourceGroupName is name of the resource group to which the resource belongs. certificateOrderName is name of the +// certificate order. siteSealRequest is site seal request. func (client AppServiceCertificateOrdersClient) RetrieveSiteSeal(resourceGroupName string, certificateOrderName string, siteSealRequest SiteSealRequest) (result SiteSeal, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1427,8 +1548,8 @@ func (client AppServiceCertificateOrdersClient) ValidatePurchaseInformationRespo // VerifyDomainOwnership verify domain ownership for this certificate order. // -// resourceGroupName is name of the resource group to which the resource -// belongs. certificateOrderName is name of the certificate order. +// resourceGroupName is name of the resource group to which the resource belongs. certificateOrderName is name of the +// certificate order. func (client AppServiceCertificateOrdersClient) VerifyDomainOwnership(resourceGroupName string, certificateOrderName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/appserviceenvironments.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/appserviceenvironments.go index 54f9f9bcb..a2f811338 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/appserviceenvironments.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/appserviceenvironments.go @@ -14,9 +14,8 @@ package web // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,33 +24,27 @@ import ( "net/http" ) -// AppServiceEnvironmentsClient is the composite Swagger for WebSite Management -// Client +// AppServiceEnvironmentsClient is the webSite Management Client type AppServiceEnvironmentsClient struct { ManagementClient } -// NewAppServiceEnvironmentsClient creates an instance of the -// AppServiceEnvironmentsClient client. +// NewAppServiceEnvironmentsClient creates an instance of the AppServiceEnvironmentsClient client. func NewAppServiceEnvironmentsClient(subscriptionID string) AppServiceEnvironmentsClient { return NewAppServiceEnvironmentsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewAppServiceEnvironmentsClientWithBaseURI creates an instance of the -// AppServiceEnvironmentsClient client. +// NewAppServiceEnvironmentsClientWithBaseURI creates an instance of the AppServiceEnvironmentsClient client. func NewAppServiceEnvironmentsClientWithBaseURI(baseURI string, subscriptionID string) AppServiceEnvironmentsClient { return AppServiceEnvironmentsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate create or update an App Service Environment. This method may -// poll for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// CreateOrUpdate create or update an App Service Environment. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. -// hostingEnvironmentEnvelope is configuration details of the App Service -// Environment. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. hostingEnvironmentEnvelope is configuration details of the App Service Environment. func (client AppServiceEnvironmentsClient) CreateOrUpdate(resourceGroupName string, name string, hostingEnvironmentEnvelope AppServiceEnvironmentResource, cancel <-chan struct{}) (<-chan AppServiceEnvironmentResource, <-chan error) { resultChan := make(chan AppServiceEnvironmentResource, 1) errChan := make(chan error, 1) @@ -77,8 +70,10 @@ func (client AppServiceEnvironmentsClient) CreateOrUpdate(resourceGroupName stri var err error var result AppServiceEnvironmentResource defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -147,14 +142,12 @@ func (client AppServiceEnvironmentsClient) CreateOrUpdateResponder(resp *http.Re return } -// CreateOrUpdateMultiRolePool create or update a multi-role pool. This method -// may poll for completion. Polling can be canceled by passing the cancel -// channel argument. The channel will be used to cancel polling and any -// outstanding HTTP requests. +// CreateOrUpdateMultiRolePool create or update a multi-role pool. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. multiRolePoolEnvelope -// is properties of the multi-role pool. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. multiRolePoolEnvelope is properties of the multi-role pool. func (client AppServiceEnvironmentsClient) CreateOrUpdateMultiRolePool(resourceGroupName string, name string, multiRolePoolEnvelope WorkerPoolResource, cancel <-chan struct{}) (<-chan WorkerPoolResource, <-chan error) { resultChan := make(chan WorkerPoolResource, 1) errChan := make(chan error, 1) @@ -173,8 +166,10 @@ func (client AppServiceEnvironmentsClient) CreateOrUpdateMultiRolePool(resourceG var err error var result WorkerPoolResource defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -243,14 +238,12 @@ func (client AppServiceEnvironmentsClient) CreateOrUpdateMultiRolePoolResponder( return } -// CreateOrUpdateWorkerPool create or update a worker pool. This method may -// poll for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// CreateOrUpdateWorkerPool create or update a worker pool. This method may poll for completion. Polling can be +// canceled by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. workerPoolName is name -// of the worker pool. workerPoolEnvelope is properties of the worker pool. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. workerPoolName is name of the worker pool. workerPoolEnvelope is properties of the worker pool. func (client AppServiceEnvironmentsClient) CreateOrUpdateWorkerPool(resourceGroupName string, name string, workerPoolName string, workerPoolEnvelope WorkerPoolResource, cancel <-chan struct{}) (<-chan WorkerPoolResource, <-chan error) { resultChan := make(chan WorkerPoolResource, 1) errChan := make(chan error, 1) @@ -269,8 +262,10 @@ func (client AppServiceEnvironmentsClient) CreateOrUpdateWorkerPool(resourceGrou var err error var result WorkerPoolResource defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -340,14 +335,11 @@ func (client AppServiceEnvironmentsClient) CreateOrUpdateWorkerPoolResponder(res return } -// Delete delete an App Service Environment. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Delete delete an App Service Environment. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. forceDelete is specify -// true to force the deletion even if the App Service Environment +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. forceDelete is specify true to force the deletion even if the App Service Environment // contains resources. The default is false. func (client AppServiceEnvironmentsClient) Delete(resourceGroupName string, name string, forceDelete *bool, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error) { resultChan := make(chan autorest.Response, 1) @@ -367,8 +359,10 @@ func (client AppServiceEnvironmentsClient) Delete(resourceGroupName string, name var err error var result autorest.Response defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -439,8 +433,8 @@ func (client AppServiceEnvironmentsClient) DeleteResponder(resp *http.Response) // Get get the properties of an App Service Environment. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. func (client AppServiceEnvironmentsClient) Get(resourceGroupName string, name string) (result AppServiceEnvironmentResource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -513,9 +507,8 @@ func (client AppServiceEnvironmentsClient) GetResponder(resp *http.Response) (re // GetDiagnosticsItem get a diagnostics item for an App Service Environment. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. diagnosticsName is -// name of the diagnostics item. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. diagnosticsName is name of the diagnostics item. func (client AppServiceEnvironmentsClient) GetDiagnosticsItem(resourceGroupName string, name string, diagnosticsName string) (result HostingEnvironmentDiagnostics, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -589,8 +582,8 @@ func (client AppServiceEnvironmentsClient) GetDiagnosticsItemResponder(resp *htt // GetMultiRolePool get properties of a multi-role pool. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. func (client AppServiceEnvironmentsClient) GetMultiRolePool(resourceGroupName string, name string) (result WorkerPoolResource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -663,9 +656,8 @@ func (client AppServiceEnvironmentsClient) GetMultiRolePoolResponder(resp *http. // GetWorkerPool get properties of a worker pool. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. workerPoolName is name -// of the worker pool. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. workerPoolName is name of the worker pool. func (client AppServiceEnvironmentsClient) GetWorkerPool(resourceGroupName string, name string, workerPoolName string) (result WorkerPoolResource, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -822,10 +814,55 @@ func (client AppServiceEnvironmentsClient) ListNextResults(lastResults AppServic return } +// ListComplete gets all elements from the list without paging. +func (client AppServiceEnvironmentsClient) ListComplete(cancel <-chan struct{}) (<-chan AppServiceEnvironment, <-chan error) { + resultChan := make(chan AppServiceEnvironment) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListAppServicePlans get all App Service plans in an App Service Environment. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. func (client AppServiceEnvironmentsClient) ListAppServicePlans(resourceGroupName string, name string) (result AppServicePlanCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -920,10 +957,54 @@ func (client AppServiceEnvironmentsClient) ListAppServicePlansNextResults(lastRe return } +// ListAppServicePlansComplete gets all elements from the list without paging. +func (client AppServiceEnvironmentsClient) ListAppServicePlansComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan AppServicePlan, <-chan error) { + resultChan := make(chan AppServicePlan) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAppServicePlans(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAppServicePlansNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListByResourceGroup get all App Service Environments in a resource group. // -// resourceGroupName is name of the resource group to which the resource -// belongs. +// resourceGroupName is name of the resource group to which the resource belongs. func (client AppServiceEnvironmentsClient) ListByResourceGroup(resourceGroupName string) (result AppServiceEnvironmentCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1017,11 +1098,55 @@ func (client AppServiceEnvironmentsClient) ListByResourceGroupNextResults(lastRe return } -// ListCapacities get the used, available, and total worker capacity an App -// Service Environment. +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client AppServiceEnvironmentsClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan AppServiceEnvironment, <-chan error) { + resultChan := make(chan AppServiceEnvironment) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListCapacities get the used, available, and total worker capacity an App Service Environment. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. func (client AppServiceEnvironmentsClient) ListCapacities(resourceGroupName string, name string) (result StampCapacityCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1116,10 +1241,55 @@ func (client AppServiceEnvironmentsClient) ListCapacitiesNextResults(lastResults return } +// ListCapacitiesComplete gets all elements from the list without paging. +func (client AppServiceEnvironmentsClient) ListCapacitiesComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan StampCapacity, <-chan error) { + resultChan := make(chan StampCapacity) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListCapacities(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListCapacitiesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListDiagnostics get diagnostic information for an App Service Environment. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. func (client AppServiceEnvironmentsClient) ListDiagnostics(resourceGroupName string, name string) (result ListHostingEnvironmentDiagnostics, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1190,11 +1360,10 @@ func (client AppServiceEnvironmentsClient) ListDiagnosticsResponder(resp *http.R return } -// ListMetricDefinitions get global metric definitions of an App Service -// Environment. +// ListMetricDefinitions get global metric definitions of an App Service Environment. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. func (client AppServiceEnvironmentsClient) ListMetricDefinitions(resourceGroupName string, name string) (result MetricDefinition, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1267,14 +1436,11 @@ func (client AppServiceEnvironmentsClient) ListMetricDefinitionsResponder(resp * // ListMetrics get global metrics of an App Service Environment. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. details is specify -// true to include instance details. The default is -// false. filter is return only usages/metrics specified in the -// filter. Filter conforms to odata syntax. Example: $filter=(name.value eq -// 'Metric1' or name.value eq 'Metric2') and startTime eq -// '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and timeGrain -// eq duration'[Hour|Minute|Day]'. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. details is specify true to include instance details. The default is false. +// filter is return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: +// $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq +// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. func (client AppServiceEnvironmentsClient) ListMetrics(resourceGroupName string, name string, details *bool, filter string) (result ResourceMetricCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1375,11 +1541,55 @@ func (client AppServiceEnvironmentsClient) ListMetricsNextResults(lastResults Re return } -// ListMultiRoleMetricDefinitions get metric definitions for a multi-role pool -// of an App Service Environment. +// ListMetricsComplete gets all elements from the list without paging. +func (client AppServiceEnvironmentsClient) ListMetricsComplete(resourceGroupName string, name string, details *bool, filter string, cancel <-chan struct{}) (<-chan ResourceMetric, <-chan error) { + resultChan := make(chan ResourceMetric) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListMetrics(resourceGroupName, name, details, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListMetricsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListMultiRoleMetricDefinitions get metric definitions for a multi-role pool of an App Service Environment. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. func (client AppServiceEnvironmentsClient) ListMultiRoleMetricDefinitions(resourceGroupName string, name string) (result ResourceMetricDefinitionCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1474,19 +1684,59 @@ func (client AppServiceEnvironmentsClient) ListMultiRoleMetricDefinitionsNextRes return } -// ListMultiRoleMetrics get metrics for a multi-role pool of an App Service -// Environment. +// ListMultiRoleMetricDefinitionsComplete gets all elements from the list without paging. +func (client AppServiceEnvironmentsClient) ListMultiRoleMetricDefinitionsComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan ResourceMetricDefinition, <-chan error) { + resultChan := make(chan ResourceMetricDefinition) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListMultiRoleMetricDefinitions(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListMultiRoleMetricDefinitionsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListMultiRoleMetrics get metrics for a multi-role pool of an App Service Environment. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. startTime is beginning -// time of the metrics query. endTime is end time of the metrics query. -// timeGrain is time granularity of the metrics query. details is specify -// true to include instance details. The default is -// false. filter is return only usages/metrics specified in the -// filter. Filter conforms to odata syntax. Example: $filter=(name.value eq -// 'Metric1' or name.value eq 'Metric2') and startTime eq -// '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and timeGrain -// eq duration'[Hour|Minute|Day]'. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. startTime is beginning time of the metrics query. endTime is end time of the metrics query. timeGrain +// is time granularity of the metrics query. details is specify true to include instance details. The +// default is false. filter is return only usages/metrics specified in the filter. Filter conforms to +// odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq +// '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. func (client AppServiceEnvironmentsClient) ListMultiRoleMetrics(resourceGroupName string, name string, startTime string, endTime string, timeGrain string, details *bool, filter string) (result ResourceMetricCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1596,12 +1846,56 @@ func (client AppServiceEnvironmentsClient) ListMultiRoleMetricsNextResults(lastR return } -// ListMultiRolePoolInstanceMetricDefinitions get metric definitions for a -// specific instance of a multi-role pool of an App Service Environment. +// ListMultiRoleMetricsComplete gets all elements from the list without paging. +func (client AppServiceEnvironmentsClient) ListMultiRoleMetricsComplete(resourceGroupName string, name string, startTime string, endTime string, timeGrain string, details *bool, filter string, cancel <-chan struct{}) (<-chan ResourceMetric, <-chan error) { + resultChan := make(chan ResourceMetric) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListMultiRoleMetrics(resourceGroupName, name, startTime, endTime, timeGrain, details, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListMultiRoleMetricsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListMultiRolePoolInstanceMetricDefinitions get metric definitions for a specific instance of a multi-role pool of an +// App Service Environment. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. instance is name of -// the instance in the multi-role pool. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. instance is name of the instance in the multi-role pool. func (client AppServiceEnvironmentsClient) ListMultiRolePoolInstanceMetricDefinitions(resourceGroupName string, name string, instance string) (result ResourceMetricDefinitionCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1697,12 +1991,56 @@ func (client AppServiceEnvironmentsClient) ListMultiRolePoolInstanceMetricDefini return } -// ListMultiRolePoolInstanceMetrics get metrics for a specific instance of a -// multi-role pool of an App Service Environment. +// ListMultiRolePoolInstanceMetricDefinitionsComplete gets all elements from the list without paging. +func (client AppServiceEnvironmentsClient) ListMultiRolePoolInstanceMetricDefinitionsComplete(resourceGroupName string, name string, instance string, cancel <-chan struct{}) (<-chan ResourceMetricDefinition, <-chan error) { + resultChan := make(chan ResourceMetricDefinition) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListMultiRolePoolInstanceMetricDefinitions(resourceGroupName, name, instance) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListMultiRolePoolInstanceMetricDefinitionsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListMultiRolePoolInstanceMetrics get metrics for a specific instance of a multi-role pool of an App Service +// Environment. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. instance is name of -// the instance in the multi-role pool. details is specify true to +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. instance is name of the instance in the multi-role pool. details is specify true to // include instance details. The default is false. func (client AppServiceEnvironmentsClient) ListMultiRolePoolInstanceMetrics(resourceGroupName string, name string, instance string, details *bool) (result ResourceMetricCollection, err error) { if err := validation.Validate([]validation.Validation{ @@ -1802,10 +2140,55 @@ func (client AppServiceEnvironmentsClient) ListMultiRolePoolInstanceMetricsNextR return } +// ListMultiRolePoolInstanceMetricsComplete gets all elements from the list without paging. +func (client AppServiceEnvironmentsClient) ListMultiRolePoolInstanceMetricsComplete(resourceGroupName string, name string, instance string, details *bool, cancel <-chan struct{}) (<-chan ResourceMetric, <-chan error) { + resultChan := make(chan ResourceMetric) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListMultiRolePoolInstanceMetrics(resourceGroupName, name, instance, details) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListMultiRolePoolInstanceMetricsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListMultiRolePools get all multi-role pools. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. func (client AppServiceEnvironmentsClient) ListMultiRolePools(resourceGroupName string, name string) (result WorkerPoolCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1900,10 +2283,55 @@ func (client AppServiceEnvironmentsClient) ListMultiRolePoolsNextResults(lastRes return } +// ListMultiRolePoolsComplete gets all elements from the list without paging. +func (client AppServiceEnvironmentsClient) ListMultiRolePoolsComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan WorkerPoolResource, <-chan error) { + resultChan := make(chan WorkerPoolResource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListMultiRolePools(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListMultiRolePoolsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListMultiRolePoolSkus get available SKUs for scaling a multi-role pool. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. func (client AppServiceEnvironmentsClient) ListMultiRolePoolSkus(resourceGroupName string, name string) (result SkuInfoCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1998,11 +2426,55 @@ func (client AppServiceEnvironmentsClient) ListMultiRolePoolSkusNextResults(last return } -// ListMultiRoleUsages get usage metrics for a multi-role pool of an App -// Service Environment. +// ListMultiRolePoolSkusComplete gets all elements from the list without paging. +func (client AppServiceEnvironmentsClient) ListMultiRolePoolSkusComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan SkuInfo, <-chan error) { + resultChan := make(chan SkuInfo) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListMultiRolePoolSkus(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListMultiRolePoolSkusNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListMultiRoleUsages get usage metrics for a multi-role pool of an App Service Environment. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. func (client AppServiceEnvironmentsClient) ListMultiRoleUsages(resourceGroupName string, name string) (result UsageCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -2097,11 +2569,55 @@ func (client AppServiceEnvironmentsClient) ListMultiRoleUsagesNextResults(lastRe return } -// ListOperations list all currently running operations on the App Service -// Environment. +// ListMultiRoleUsagesComplete gets all elements from the list without paging. +func (client AppServiceEnvironmentsClient) ListMultiRoleUsagesComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan Usage, <-chan error) { + resultChan := make(chan Usage) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListMultiRoleUsages(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListMultiRoleUsagesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListOperations list all currently running operations on the App Service Environment. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. func (client AppServiceEnvironmentsClient) ListOperations(resourceGroupName string, name string) (result ListOperation, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -2174,12 +2690,10 @@ func (client AppServiceEnvironmentsClient) ListOperationsResponder(resp *http.Re // ListUsages get global usage metrics of an App Service Environment. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. filter is return only -// usages/metrics specified in the filter. Filter conforms to odata syntax. -// Example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and -// startTime eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' -// and timeGrain eq duration'[Hour|Minute|Day]'. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. filter is return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: +// $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq +// '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. func (client AppServiceEnvironmentsClient) ListUsages(resourceGroupName string, name string, filter string) (result CsmUsageQuotaCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -2277,10 +2791,55 @@ func (client AppServiceEnvironmentsClient) ListUsagesNextResults(lastResults Csm return } +// ListUsagesComplete gets all elements from the list without paging. +func (client AppServiceEnvironmentsClient) ListUsagesComplete(resourceGroupName string, name string, filter string, cancel <-chan struct{}) (<-chan CsmUsageQuota, <-chan error) { + resultChan := make(chan CsmUsageQuota) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListUsages(resourceGroupName, name, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListUsagesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListVips get IP addresses assigned to an App Service Environment. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. func (client AppServiceEnvironmentsClient) ListVips(resourceGroupName string, name string) (result AddressResponse, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -2353,9 +2912,8 @@ func (client AppServiceEnvironmentsClient) ListVipsResponder(resp *http.Response // ListWebApps get all apps in an App Service Environment. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. propertiesToInclude is -// comma separated list of app properties to include. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. propertiesToInclude is comma separated list of app properties to include. func (client AppServiceEnvironmentsClient) ListWebApps(resourceGroupName string, name string, propertiesToInclude string) (result AppCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -2453,12 +3011,55 @@ func (client AppServiceEnvironmentsClient) ListWebAppsNextResults(lastResults Ap return } -// ListWebWorkerMetricDefinitions get metric definitions for a worker pool of -// an App Service Environment. +// ListWebAppsComplete gets all elements from the list without paging. +func (client AppServiceEnvironmentsClient) ListWebAppsComplete(resourceGroupName string, name string, propertiesToInclude string, cancel <-chan struct{}) (<-chan Site, <-chan error) { + resultChan := make(chan Site) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListWebApps(resourceGroupName, name, propertiesToInclude) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListWebAppsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListWebWorkerMetricDefinitions get metric definitions for a worker pool of an App Service Environment. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. workerPoolName is name -// of the worker pool. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. workerPoolName is name of the worker pool. func (client AppServiceEnvironmentsClient) ListWebWorkerMetricDefinitions(resourceGroupName string, name string, workerPoolName string) (result ResourceMetricDefinitionCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -2554,17 +3155,58 @@ func (client AppServiceEnvironmentsClient) ListWebWorkerMetricDefinitionsNextRes return } -// ListWebWorkerMetrics get metrics for a worker pool of a -// AppServiceEnvironment (App Service Environment). +// ListWebWorkerMetricDefinitionsComplete gets all elements from the list without paging. +func (client AppServiceEnvironmentsClient) ListWebWorkerMetricDefinitionsComplete(resourceGroupName string, name string, workerPoolName string, cancel <-chan struct{}) (<-chan ResourceMetricDefinition, <-chan error) { + resultChan := make(chan ResourceMetricDefinition) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListWebWorkerMetricDefinitions(resourceGroupName, name, workerPoolName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListWebWorkerMetricDefinitionsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListWebWorkerMetrics get metrics for a worker pool of a AppServiceEnvironment (App Service Environment). // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. workerPoolName is name -// of worker pool details is specify true to include instance -// details. The default is false. filter is return only -// usages/metrics specified in the filter. Filter conforms to odata syntax. -// Example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and -// startTime eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' -// and timeGrain eq duration'[Hour|Minute|Day]'. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. workerPoolName is name of worker pool details is specify true to include instance details. +// The default is false. filter is return only usages/metrics specified in the filter. Filter conforms to +// odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq +// '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'. func (client AppServiceEnvironmentsClient) ListWebWorkerMetrics(resourceGroupName string, name string, workerPoolName string, details *bool, filter string) (result ResourceMetricCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -2666,12 +3308,55 @@ func (client AppServiceEnvironmentsClient) ListWebWorkerMetricsNextResults(lastR return } -// ListWebWorkerUsages get usage metrics for a worker pool of an App Service -// Environment. +// ListWebWorkerMetricsComplete gets all elements from the list without paging. +func (client AppServiceEnvironmentsClient) ListWebWorkerMetricsComplete(resourceGroupName string, name string, workerPoolName string, details *bool, filter string, cancel <-chan struct{}) (<-chan ResourceMetric, <-chan error) { + resultChan := make(chan ResourceMetric) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListWebWorkerMetrics(resourceGroupName, name, workerPoolName, details, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListWebWorkerMetricsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListWebWorkerUsages get usage metrics for a worker pool of an App Service Environment. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. workerPoolName is name -// of the worker pool. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. workerPoolName is name of the worker pool. func (client AppServiceEnvironmentsClient) ListWebWorkerUsages(resourceGroupName string, name string, workerPoolName string) (result UsageCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -2767,12 +3452,56 @@ func (client AppServiceEnvironmentsClient) ListWebWorkerUsagesNextResults(lastRe return } -// ListWorkerPoolInstanceMetricDefinitions get metric definitions for a -// specific instance of a worker pool of an App Service Environment. +// ListWebWorkerUsagesComplete gets all elements from the list without paging. +func (client AppServiceEnvironmentsClient) ListWebWorkerUsagesComplete(resourceGroupName string, name string, workerPoolName string, cancel <-chan struct{}) (<-chan Usage, <-chan error) { + resultChan := make(chan Usage) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListWebWorkerUsages(resourceGroupName, name, workerPoolName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListWebWorkerUsagesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListWorkerPoolInstanceMetricDefinitions get metric definitions for a specific instance of a worker pool of an App +// Service Environment. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. workerPoolName is name -// of the worker pool. instance is name of the instance in the worker pool. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. workerPoolName is name of the worker pool. instance is name of the instance in the worker pool. func (client AppServiceEnvironmentsClient) ListWorkerPoolInstanceMetricDefinitions(resourceGroupName string, name string, workerPoolName string, instance string) (result ResourceMetricDefinitionCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -2869,17 +3598,58 @@ func (client AppServiceEnvironmentsClient) ListWorkerPoolInstanceMetricDefinitio return } -// ListWorkerPoolInstanceMetrics get metrics for a specific instance of a -// worker pool of an App Service Environment. +// ListWorkerPoolInstanceMetricDefinitionsComplete gets all elements from the list without paging. +func (client AppServiceEnvironmentsClient) ListWorkerPoolInstanceMetricDefinitionsComplete(resourceGroupName string, name string, workerPoolName string, instance string, cancel <-chan struct{}) (<-chan ResourceMetricDefinition, <-chan error) { + resultChan := make(chan ResourceMetricDefinition) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListWorkerPoolInstanceMetricDefinitions(resourceGroupName, name, workerPoolName, instance) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListWorkerPoolInstanceMetricDefinitionsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListWorkerPoolInstanceMetrics get metrics for a specific instance of a worker pool of an App Service Environment. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. workerPoolName is name -// of the worker pool. instance is name of the instance in the worker pool. -// details is specify true to include instance details. The -// default is false. filter is return only usages/metrics -// specified in the filter. Filter conforms to odata syntax. Example: -// $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime -// eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. workerPoolName is name of the worker pool. instance is name of the instance in the worker pool. details +// is specify true to include instance details. The default is false. filter is return only +// usages/metrics specified in the filter. Filter conforms to odata syntax. Example: $filter=(name.value eq 'Metric1' +// or name.value eq 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and // timeGrain eq duration'[Hour|Minute|Day]'. func (client AppServiceEnvironmentsClient) ListWorkerPoolInstanceMetrics(resourceGroupName string, name string, workerPoolName string, instance string, details *bool, filter string) (result ResourceMetricCollection, err error) { if err := validation.Validate([]validation.Validation{ @@ -2983,10 +3753,55 @@ func (client AppServiceEnvironmentsClient) ListWorkerPoolInstanceMetricsNextResu return } +// ListWorkerPoolInstanceMetricsComplete gets all elements from the list without paging. +func (client AppServiceEnvironmentsClient) ListWorkerPoolInstanceMetricsComplete(resourceGroupName string, name string, workerPoolName string, instance string, details *bool, filter string, cancel <-chan struct{}) (<-chan ResourceMetric, <-chan error) { + resultChan := make(chan ResourceMetric) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListWorkerPoolInstanceMetrics(resourceGroupName, name, workerPoolName, instance, details, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListWorkerPoolInstanceMetricsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListWorkerPools get all worker pools of an App Service Environment. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. func (client AppServiceEnvironmentsClient) ListWorkerPools(resourceGroupName string, name string) (result WorkerPoolCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -3081,11 +3896,55 @@ func (client AppServiceEnvironmentsClient) ListWorkerPoolsNextResults(lastResult return } +// ListWorkerPoolsComplete gets all elements from the list without paging. +func (client AppServiceEnvironmentsClient) ListWorkerPoolsComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan WorkerPoolResource, <-chan error) { + resultChan := make(chan WorkerPoolResource) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListWorkerPools(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListWorkerPoolsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListWorkerPoolSkus get available SKUs for scaling a worker pool. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. workerPoolName is name -// of the worker pool. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. workerPoolName is name of the worker pool. func (client AppServiceEnvironmentsClient) ListWorkerPoolSkus(resourceGroupName string, name string, workerPoolName string) (result SkuInfoCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -3181,10 +4040,55 @@ func (client AppServiceEnvironmentsClient) ListWorkerPoolSkusNextResults(lastRes return } +// ListWorkerPoolSkusComplete gets all elements from the list without paging. +func (client AppServiceEnvironmentsClient) ListWorkerPoolSkusComplete(resourceGroupName string, name string, workerPoolName string, cancel <-chan struct{}) (<-chan SkuInfo, <-chan error) { + resultChan := make(chan SkuInfo) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListWorkerPoolSkus(resourceGroupName, name, workerPoolName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListWorkerPoolSkusNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Reboot reboot all machines in an App Service Environment. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. func (client AppServiceEnvironmentsClient) Reboot(resourceGroupName string, name string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -3254,13 +4158,11 @@ func (client AppServiceEnvironmentsClient) RebootResponder(resp *http.Response) return } -// Resume resume an App Service Environment. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// Resume resume an App Service Environment. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. func (client AppServiceEnvironmentsClient) Resume(resourceGroupName string, name string, cancel <-chan struct{}) (result AppCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -3357,13 +4259,56 @@ func (client AppServiceEnvironmentsClient) ResumeNextResults(lastResults AppColl return } -// Suspend suspend an App Service Environment. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// ResumeComplete gets all elements from the list without paging. +func (client AppServiceEnvironmentsClient) ResumeComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan Site, <-chan error) { + resultChan := make(chan Site) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.Resume(resourceGroupName, name, cancel) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ResumeNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// Suspend suspend an App Service Environment. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service Environment. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service +// Environment. func (client AppServiceEnvironmentsClient) Suspend(resourceGroupName string, name string, cancel <-chan struct{}) (result AppCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -3459,3 +4404,48 @@ func (client AppServiceEnvironmentsClient) SuspendNextResults(lastResults AppCol return } + +// SuspendComplete gets all elements from the list without paging. +func (client AppServiceEnvironmentsClient) SuspendComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan Site, <-chan error) { + resultChan := make(chan Site) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.Suspend(resourceGroupName, name, cancel) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.SuspendNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/appserviceplans.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/appserviceplans.go index d4e362875..6f0e12f9f 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/appserviceplans.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/appserviceplans.go @@ -14,9 +14,8 @@ package web // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,31 +24,27 @@ import ( "net/http" ) -// AppServicePlansClient is the composite Swagger for WebSite Management Client +// AppServicePlansClient is the webSite Management Client type AppServicePlansClient struct { ManagementClient } -// NewAppServicePlansClient creates an instance of the AppServicePlansClient -// client. +// NewAppServicePlansClient creates an instance of the AppServicePlansClient client. func NewAppServicePlansClient(subscriptionID string) AppServicePlansClient { return NewAppServicePlansClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewAppServicePlansClientWithBaseURI creates an instance of the -// AppServicePlansClient client. +// NewAppServicePlansClientWithBaseURI creates an instance of the AppServicePlansClient client. func NewAppServicePlansClientWithBaseURI(baseURI string, subscriptionID string) AppServicePlansClient { return AppServicePlansClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or updates an App Service Plan. This method may poll -// for completion. Polling can be canceled by passing the cancel channel -// argument. The channel will be used to cancel polling and any outstanding -// HTTP requests. +// CreateOrUpdate creates or updates an App Service Plan. This method may poll for completion. Polling can be canceled +// by passing the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP +// requests. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service plan. appServicePlan is details of -// the App Service plan. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service plan. +// appServicePlan is details of the App Service plan. func (client AppServicePlansClient) CreateOrUpdate(resourceGroupName string, name string, appServicePlan AppServicePlan, cancel <-chan struct{}) (<-chan AppServicePlan, <-chan error) { resultChan := make(chan AppServicePlan, 1) errChan := make(chan error, 1) @@ -68,8 +63,10 @@ func (client AppServicePlansClient) CreateOrUpdate(resourceGroupName string, nam var err error var result AppServicePlan defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -138,13 +135,11 @@ func (client AppServicePlansClient) CreateOrUpdateResponder(resp *http.Response) return } -// CreateOrUpdateVnetRoute create or update a Virtual Network route in an App -// Service plan. +// CreateOrUpdateVnetRoute create or update a Virtual Network route in an App Service plan. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service plan. vnetName is name of the -// Virtual Network. routeName is name of the Virtual Network route. route is -// definition of the Virtual Network route. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service plan. +// vnetName is name of the Virtual Network. routeName is name of the Virtual Network route. route is definition of the +// Virtual Network route. func (client AppServicePlansClient) CreateOrUpdateVnetRoute(resourceGroupName string, name string, vnetName string, routeName string, route VnetRoute) (result VnetRoute, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -221,8 +216,7 @@ func (client AppServicePlansClient) CreateOrUpdateVnetRouteResponder(resp *http. // Delete delete an App Service plan. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service plan. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service plan. func (client AppServicePlansClient) Delete(resourceGroupName string, name string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -292,12 +286,10 @@ func (client AppServicePlansClient) DeleteResponder(resp *http.Response) (result return } -// DeleteHybridConnection delete a Hybrid Connection in use in an App Service -// plan. +// DeleteHybridConnection delete a Hybrid Connection in use in an App Service plan. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service plan. namespaceName is name of the -// Service Bus namespace. relayName is name of the Service Bus relay. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service plan. +// namespaceName is name of the Service Bus namespace. relayName is name of the Service Bus relay. func (client AppServicePlansClient) DeleteHybridConnection(resourceGroupName string, name string, namespaceName string, relayName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -371,9 +363,8 @@ func (client AppServicePlansClient) DeleteHybridConnectionResponder(resp *http.R // DeleteVnetRoute delete a Virtual Network route in an App Service plan. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service plan. vnetName is name of the -// Virtual Network. routeName is name of the Virtual Network route. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service plan. +// vnetName is name of the Virtual Network. routeName is name of the Virtual Network route. func (client AppServicePlansClient) DeleteVnetRoute(resourceGroupName string, name string, vnetName string, routeName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -447,8 +438,7 @@ func (client AppServicePlansClient) DeleteVnetRouteResponder(resp *http.Response // Get get an App Service plan. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service plan. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service plan. func (client AppServicePlansClient) Get(resourceGroupName string, name string) (result AppServicePlan, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -519,12 +509,10 @@ func (client AppServicePlansClient) GetResponder(resp *http.Response) (result Ap return } -// GetHybridConnection retrieve a Hybrid Connection in use in an App Service -// plan. +// GetHybridConnection retrieve a Hybrid Connection in use in an App Service plan. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service plan. namespaceName is name of the -// Service Bus namespace. relayName is name of the Service Bus relay. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service plan. +// namespaceName is name of the Service Bus namespace. relayName is name of the Service Bus relay. func (client AppServicePlansClient) GetHybridConnection(resourceGroupName string, name string, namespaceName string, relayName string) (result HybridConnection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -597,11 +585,9 @@ func (client AppServicePlansClient) GetHybridConnectionResponder(resp *http.Resp return } -// GetHybridConnectionPlanLimit get the maximum number of Hybrid Connections -// allowed in an App Service plan. +// GetHybridConnectionPlanLimit get the maximum number of Hybrid Connections allowed in an App Service plan. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service plan. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service plan. func (client AppServicePlansClient) GetHybridConnectionPlanLimit(resourceGroupName string, name string) (result HybridConnectionLimits, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -674,9 +660,8 @@ func (client AppServicePlansClient) GetHybridConnectionPlanLimitResponder(resp * // GetRouteForVnet get a Virtual Network route in an App Service plan. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service plan. vnetName is name of the -// Virtual Network. routeName is name of the Virtual Network route. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service plan. +// vnetName is name of the Virtual Network. routeName is name of the Virtual Network route. func (client AppServicePlansClient) GetRouteForVnet(resourceGroupName string, name string, vnetName string, routeName string) (result ListVnetRoute, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -749,12 +734,10 @@ func (client AppServicePlansClient) GetRouteForVnetResponder(resp *http.Response return } -// GetVnetFromServerFarm get a Virtual Network associated with an App Service -// plan. +// GetVnetFromServerFarm get a Virtual Network associated with an App Service plan. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service plan. vnetName is name of the -// Virtual Network. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service plan. +// vnetName is name of the Virtual Network. func (client AppServicePlansClient) GetVnetFromServerFarm(resourceGroupName string, name string, vnetName string) (result VnetInfo, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -828,10 +811,9 @@ func (client AppServicePlansClient) GetVnetFromServerFarmResponder(resp *http.Re // GetVnetGateway get a Virtual Network gateway. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service plan. vnetName is name of the -// Virtual Network. gatewayName is name of the gateway. Only the 'primary' -// gateway is supported. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service plan. +// vnetName is name of the Virtual Network. gatewayName is name of the gateway. Only the 'primary' gateway is +// supported. func (client AppServicePlansClient) GetVnetGateway(resourceGroupName string, name string, vnetName string, gatewayName string) (result VnetGateway, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -906,9 +888,8 @@ func (client AppServicePlansClient) GetVnetGatewayResponder(resp *http.Response) // List get all App Service plans for a subcription. // -// detailed is specify true to return all App Service plan -// properties. The default is false, which returns a subset of the -// properties. +// detailed is specify true to return all App Service plan properties. The default is false, +// which returns a subset of the properties. // Retrieval of all properties may increase the API latency. func (client AppServicePlansClient) List(detailed *bool) (result AppServicePlanCollection, err error) { req, err := client.ListPreparer(detailed) @@ -997,10 +978,54 @@ func (client AppServicePlansClient) ListNextResults(lastResults AppServicePlanCo return } +// ListComplete gets all elements from the list without paging. +func (client AppServicePlansClient) ListComplete(detailed *bool, cancel <-chan struct{}) (<-chan AppServicePlan, <-chan error) { + resultChan := make(chan AppServicePlan) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List(detailed) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListByResourceGroup get all App Service plans in a resource group. // -// resourceGroupName is name of the resource group to which the resource -// belongs. +// resourceGroupName is name of the resource group to which the resource belongs. func (client AppServicePlansClient) ListByResourceGroup(resourceGroupName string) (result AppServicePlanCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1094,10 +1119,54 @@ func (client AppServicePlansClient) ListByResourceGroupNextResults(lastResults A return } +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client AppServicePlansClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan AppServicePlan, <-chan error) { + resultChan := make(chan AppServicePlan) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListCapabilities list all capabilities of an App Service plan. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service plan. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service plan. func (client AppServicePlansClient) ListCapabilities(resourceGroupName string, name string) (result ListCapability, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1168,12 +1237,10 @@ func (client AppServicePlansClient) ListCapabilitiesResponder(resp *http.Respons return } -// ListHybridConnectionKeys get the send key name and value of a Hybrid -// Connection. +// ListHybridConnectionKeys get the send key name and value of a Hybrid Connection. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service plan. namespaceName is the name of -// the Service Bus namespace. relayName is the name of the Service Bus relay. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service plan. +// namespaceName is the name of the Service Bus namespace. relayName is the name of the Service Bus relay. func (client AppServicePlansClient) ListHybridConnectionKeys(resourceGroupName string, name string, namespaceName string, relayName string) (result HybridConnectionKey, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1246,11 +1313,9 @@ func (client AppServicePlansClient) ListHybridConnectionKeysResponder(resp *http return } -// ListHybridConnections retrieve all Hybrid Connections in use in an App -// Service plan. +// ListHybridConnections retrieve all Hybrid Connections in use in an App Service plan. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service plan. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service plan. func (client AppServicePlansClient) ListHybridConnections(resourceGroupName string, name string) (result HybridConnectionCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1345,11 +1410,54 @@ func (client AppServicePlansClient) ListHybridConnectionsNextResults(lastResults return } -// ListMetricDefintions get metrics that can be queried for an App Service -// plan, and their definitions. +// ListHybridConnectionsComplete gets all elements from the list without paging. +func (client AppServicePlansClient) ListHybridConnectionsComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan HybridConnection, <-chan error) { + resultChan := make(chan HybridConnection) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListHybridConnections(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListHybridConnectionsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListMetricDefintions get metrics that can be queried for an App Service plan, and their definitions. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service plan. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service plan. func (client AppServicePlansClient) ListMetricDefintions(resourceGroupName string, name string) (result ResourceMetricDefinitionCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1444,16 +1552,58 @@ func (client AppServicePlansClient) ListMetricDefintionsNextResults(lastResults return } +// ListMetricDefintionsComplete gets all elements from the list without paging. +func (client AppServicePlansClient) ListMetricDefintionsComplete(resourceGroupName string, name string, cancel <-chan struct{}) (<-chan ResourceMetricDefinition, <-chan error) { + resultChan := make(chan ResourceMetricDefinition) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListMetricDefintions(resourceGroupName, name) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListMetricDefintionsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListMetrics get metrics for an App Serice plan. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service plan. details is specify -// true to include instance details. The default is -// false. filter is return only usages/metrics specified in the -// filter. Filter conforms to odata syntax. Example: $filter=(name.value eq -// 'Metric1' or name.value eq 'Metric2') and startTime eq -// '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and timeGrain -// eq duration'[Hour|Minute|Day]'. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service plan. +// details is specify true to include instance details. The default is false. filter is +// return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: $filter=(name.value eq +// 'Metric1' or name.value eq 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' +// and timeGrain eq duration'[Hour|Minute|Day]'. func (client AppServicePlansClient) ListMetrics(resourceGroupName string, name string, details *bool, filter string) (result ResourceMetricCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1554,12 +1704,55 @@ func (client AppServicePlansClient) ListMetricsNextResults(lastResults ResourceM return } -// ListRoutesForVnet get all routes that are associated with a Virtual Network -// in an App Service plan. +// ListMetricsComplete gets all elements from the list without paging. +func (client AppServicePlansClient) ListMetricsComplete(resourceGroupName string, name string, details *bool, filter string, cancel <-chan struct{}) (<-chan ResourceMetric, <-chan error) { + resultChan := make(chan ResourceMetric) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListMetrics(resourceGroupName, name, details, filter) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListMetricsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListRoutesForVnet get all routes that are associated with a Virtual Network in an App Service plan. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service plan. vnetName is name of the -// Virtual Network. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service plan. +// vnetName is name of the Virtual Network. func (client AppServicePlansClient) ListRoutesForVnet(resourceGroupName string, name string, vnetName string) (result ListVnetRoute, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1633,8 +1826,7 @@ func (client AppServicePlansClient) ListRoutesForVnetResponder(resp *http.Respon // ListVnets get all Virtual Networks associated with an App Service plan. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service plan. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service plan. func (client AppServicePlansClient) ListVnets(resourceGroupName string, name string) (result ListVnetInfo, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1707,14 +1899,11 @@ func (client AppServicePlansClient) ListVnetsResponder(resp *http.Response) (res // ListWebApps get all apps associated with an App Service plan. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service plan. skipToken is skip to a web -// app in the list of webapps associated with app service plan. If specified, -// the resulting list will contain web apps starting from (including) the -// skipToken. Otherwise, the resulting list contains web apps from the start of -// the list filter is supported filter: $filter=state eq running. Returns only -// web apps that are currently running top is list page size. If specified, -// results are paged. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service plan. +// skipToken is skip to a web app in the list of webapps associated with app service plan. If specified, the resulting +// list will contain web apps starting from (including) the skipToken. Otherwise, the resulting list contains web apps +// from the start of the list filter is supported filter: $filter=state eq running. Returns only web apps that are +// currently running top is list page size. If specified, results are paged. func (client AppServicePlansClient) ListWebApps(resourceGroupName string, name string, skipToken string, filter string, top string) (result AppCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1818,13 +2007,55 @@ func (client AppServicePlansClient) ListWebAppsNextResults(lastResults AppCollec return } -// ListWebAppsByHybridConnection get all apps that use a Hybrid Connection in -// an App Service Plan. +// ListWebAppsComplete gets all elements from the list without paging. +func (client AppServicePlansClient) ListWebAppsComplete(resourceGroupName string, name string, skipToken string, filter string, top string, cancel <-chan struct{}) (<-chan Site, <-chan error) { + resultChan := make(chan Site) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListWebApps(resourceGroupName, name, skipToken, filter, top) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListWebAppsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListWebAppsByHybridConnection get all apps that use a Hybrid Connection in an App Service Plan. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service plan. namespaceName is name of the -// Hybrid Connection namespace. relayName is name of the Hybrid Connection -// relay. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service plan. +// namespaceName is name of the Hybrid Connection namespace. relayName is name of the Hybrid Connection relay. func (client AppServicePlansClient) ListWebAppsByHybridConnection(resourceGroupName string, name string, namespaceName string, relayName string) (result ResourceCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1921,11 +2152,55 @@ func (client AppServicePlansClient) ListWebAppsByHybridConnectionNextResults(las return } +// ListWebAppsByHybridConnectionComplete gets all elements from the list without paging. +func (client AppServicePlansClient) ListWebAppsByHybridConnectionComplete(resourceGroupName string, name string, namespaceName string, relayName string, cancel <-chan struct{}) (<-chan string, <-chan error) { + resultChan := make(chan string) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListWebAppsByHybridConnection(resourceGroupName, name, namespaceName, relayName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListWebAppsByHybridConnectionNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // RebootWorker reboot a worker machine in an App Service plan. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service plan. workerName is name of worker -// machine, which typically starts with RD. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service plan. +// workerName is name of worker machine, which typically starts with RD. func (client AppServicePlansClient) RebootWorker(resourceGroupName string, name string, workerName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -1998,11 +2273,9 @@ func (client AppServicePlansClient) RebootWorkerResponder(resp *http.Response) ( // RestartWebApps restart all apps in an App Service plan. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service plan. softRestart is specify -// true to performa a soft restart, applies the configuration -// settings and restarts the apps if necessary. The default is -// false, which always restarts and reprovisions the apps +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service plan. +// softRestart is specify true to performa a soft restart, applies the configuration settings and restarts +// the apps if necessary. The default is false, which always restarts and reprovisions the apps func (client AppServicePlansClient) RestartWebApps(resourceGroupName string, name string, softRestart *bool) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -2077,10 +2350,9 @@ func (client AppServicePlansClient) RestartWebAppsResponder(resp *http.Response) // UpdateVnetGateway update a Virtual Network gateway. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service plan. vnetName is name of the -// Virtual Network. gatewayName is name of the gateway. Only the 'primary' -// gateway is supported. connectionEnvelope is definition of the gateway. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service plan. +// vnetName is name of the Virtual Network. gatewayName is name of the gateway. Only the 'primary' gateway is +// supported. connectionEnvelope is definition of the gateway. func (client AppServicePlansClient) UpdateVnetGateway(resourceGroupName string, name string, vnetName string, gatewayName string, connectionEnvelope VnetGateway) (result VnetGateway, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -2155,13 +2427,11 @@ func (client AppServicePlansClient) UpdateVnetGatewayResponder(resp *http.Respon return } -// UpdateVnetRoute create or update a Virtual Network route in an App Service -// plan. +// UpdateVnetRoute create or update a Virtual Network route in an App Service plan. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the App Service plan. vnetName is name of the -// Virtual Network. routeName is name of the Virtual Network route. route is -// definition of the Virtual Network route. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the App Service plan. +// vnetName is name of the Virtual Network. routeName is name of the Virtual Network route. route is definition of the +// Virtual Network route. func (client AppServicePlansClient) UpdateVnetRoute(resourceGroupName string, name string, vnetName string, routeName string, route VnetRoute) (result VnetRoute, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/certificates.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/certificates.go index 19628ccd8..fc28ebb4d 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/certificates.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/certificates.go @@ -14,9 +14,8 @@ package web // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// CertificatesClient is the composite Swagger for WebSite Management Client +// CertificatesClient is the webSite Management Client type CertificatesClient struct { ManagementClient } @@ -35,17 +34,15 @@ func NewCertificatesClient(subscriptionID string) CertificatesClient { return NewCertificatesClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewCertificatesClientWithBaseURI creates an instance of the -// CertificatesClient client. +// NewCertificatesClientWithBaseURI creates an instance of the CertificatesClient client. func NewCertificatesClientWithBaseURI(baseURI string, subscriptionID string) CertificatesClient { return CertificatesClient{NewWithBaseURI(baseURI, subscriptionID)} } // CreateOrUpdate create or update a certificate. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the certificate. certificateEnvelope is details of -// certificate, if it exists already. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the certificate. +// certificateEnvelope is details of certificate, if it exists already. func (client CertificatesClient) CreateOrUpdate(resourceGroupName string, name string, certificateEnvelope Certificate) (result Certificate, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -120,8 +117,7 @@ func (client CertificatesClient) CreateOrUpdateResponder(resp *http.Response) (r // Delete delete a certificate. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the certificate. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the certificate. func (client CertificatesClient) Delete(resourceGroupName string, name string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -193,8 +189,7 @@ func (client CertificatesClient) DeleteResponder(resp *http.Response) (result au // Get get a certificate. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the certificate. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the certificate. func (client CertificatesClient) Get(resourceGroupName string, name string) (result Certificate, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -350,10 +345,54 @@ func (client CertificatesClient) ListNextResults(lastResults CertificateCollecti return } +// ListComplete gets all elements from the list without paging. +func (client CertificatesClient) ListComplete(cancel <-chan struct{}) (<-chan Certificate, <-chan error) { + resultChan := make(chan Certificate) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListByResourceGroup get all certificates in a resource group. // -// resourceGroupName is name of the resource group to which the resource -// belongs. +// resourceGroupName is name of the resource group to which the resource belongs. func (client CertificatesClient) ListByResourceGroup(resourceGroupName string) (result CertificateCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -447,11 +486,55 @@ func (client CertificatesClient) ListByResourceGroupNextResults(lastResults Cert return } +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client CertificatesClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan Certificate, <-chan error) { + resultChan := make(chan Certificate) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Update create or update a certificate. // -// resourceGroupName is name of the resource group to which the resource -// belongs. name is name of the certificate. certificateEnvelope is details of -// certificate, if it exists already. +// resourceGroupName is name of the resource group to which the resource belongs. name is name of the certificate. +// certificateEnvelope is details of certificate, if it exists already. func (client CertificatesClient) Update(resourceGroupName string, name string, certificateEnvelope Certificate) (result Certificate, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/client.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/client.go index 379919c74..72b9e069a 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/client.go @@ -1,6 +1,6 @@ // Package web implements the Azure ARM Web service API version . // -// Composite Swagger for WebSite Management Client +// WebSite Management Client package web // Copyright (c) Microsoft and contributors. All rights reserved. @@ -17,9 +17,8 @@ package web // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -184,9 +183,8 @@ func (client ManagementClient) GetPublishingUserResponder(resp *http.Response) ( // ListGeoRegions get a list of available geographical regions. // -// sku is name of SKU used to filter the regions. linuxWorkersEnabled is -// specify true if you want to filter to only regions that support -// Linux workers. +// sku is name of SKU used to filter the regions. linuxWorkersEnabled is specify true if you want to +// filter to only regions that support Linux workers. func (client ManagementClient) ListGeoRegions(sku SkuName, linuxWorkersEnabled *bool) (result GeoRegionCollection, err error) { req, err := client.ListGeoRegionsPreparer(sku, linuxWorkersEnabled) if err != nil { @@ -277,6 +275,51 @@ func (client ManagementClient) ListGeoRegionsNextResults(lastResults GeoRegionCo return } +// ListGeoRegionsComplete gets all elements from the list without paging. +func (client ManagementClient) ListGeoRegionsComplete(sku SkuName, linuxWorkersEnabled *bool, cancel <-chan struct{}) (<-chan GeoRegion, <-chan error) { + resultChan := make(chan GeoRegion) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListGeoRegions(sku, linuxWorkersEnabled) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListGeoRegionsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListPremierAddOnOffers list all premier add-on offers. func (client ManagementClient) ListPremierAddOnOffers() (result PremierAddOnOfferCollection, err error) { req, err := client.ListPremierAddOnOffersPreparer() @@ -362,6 +405,51 @@ func (client ManagementClient) ListPremierAddOnOffersNextResults(lastResults Pre return } +// ListPremierAddOnOffersComplete gets all elements from the list without paging. +func (client ManagementClient) ListPremierAddOnOffersComplete(cancel <-chan struct{}) (<-chan PremierAddOnOffer, <-chan error) { + resultChan := make(chan PremierAddOnOffer) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListPremierAddOnOffers() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListPremierAddOnOffersNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListSkus list all SKUs. func (client ManagementClient) ListSkus() (result SkuInfos, err error) { req, err := client.ListSkusPreparer() @@ -504,11 +592,55 @@ func (client ManagementClient) ListSourceControlsNextResults(lastResults SourceC return } +// ListSourceControlsComplete gets all elements from the list without paging. +func (client ManagementClient) ListSourceControlsComplete(cancel <-chan struct{}) (<-chan SourceControl, <-chan error) { + resultChan := make(chan SourceControl) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListSourceControls() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListSourceControlsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // Move move resources between resource groups. // -// resourceGroupName is name of the resource group to which the resource -// belongs. moveResourceEnvelope is object that represents the resource to -// move. +// resourceGroupName is name of the resource group to which the resource belongs. moveResourceEnvelope is object that +// represents the resource to move. func (client ManagementClient) Move(resourceGroupName string, moveResourceEnvelope CsmMoveResourceEnvelope) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -648,8 +780,7 @@ func (client ManagementClient) UpdatePublishingUserResponder(resp *http.Response // UpdateSourceControl updates source control token // -// sourceControlType is type of source control requestMessage is source control -// token information +// sourceControlType is type of source control requestMessage is source control token information func (client ManagementClient) UpdateSourceControl(sourceControlType string, requestMessage SourceControl) (result SourceControl, err error) { req, err := client.UpdateSourceControlPreparer(sourceControlType, requestMessage) if err != nil { @@ -714,8 +845,8 @@ func (client ManagementClient) UpdateSourceControlResponder(resp *http.Response) // Validate validate if a resource can be created. // -// resourceGroupName is name of the resource group to which the resource -// belongs. validateRequest is request with the resources to validate. +// resourceGroupName is name of the resource group to which the resource belongs. validateRequest is request with the +// resources to validate. func (client ManagementClient) Validate(resourceGroupName string, validateRequest ValidateRequest) (result ValidateResponse, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -796,9 +927,8 @@ func (client ManagementClient) ValidateResponder(resp *http.Response) (result Va // ValidateMove validate whether a resource can be moved. // -// resourceGroupName is name of the resource group to which the resource -// belongs. moveResourceEnvelope is object that represents the resource to -// move. +// resourceGroupName is name of the resource group to which the resource belongs. moveResourceEnvelope is object that +// represents the resource to move. func (client ManagementClient) ValidateMove(resourceGroupName string, moveResourceEnvelope CsmMoveResourceEnvelope) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -874,3 +1004,69 @@ func (client ManagementClient) ValidateMoveResponder(resp *http.Response) (resul result.Response = resp return } + +// VerifyHostingEnvironmentVnet verifies if this VNET is compatible with an App Service Environment by analyzing the +// Network Security Group rules. +// +// parameters is VNET information +func (client ManagementClient) VerifyHostingEnvironmentVnet(parameters VnetParameters) (result VnetValidationFailureDetails, err error) { + req, err := client.VerifyHostingEnvironmentVnetPreparer(parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ManagementClient", "VerifyHostingEnvironmentVnet", nil, "Failure preparing request") + return + } + + resp, err := client.VerifyHostingEnvironmentVnetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.ManagementClient", "VerifyHostingEnvironmentVnet", resp, "Failure sending request") + return + } + + result, err = client.VerifyHostingEnvironmentVnetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ManagementClient", "VerifyHostingEnvironmentVnet", resp, "Failure responding to request") + } + + return +} + +// VerifyHostingEnvironmentVnetPreparer prepares the VerifyHostingEnvironmentVnet request. +func (client ManagementClient) VerifyHostingEnvironmentVnetPreparer(parameters VnetParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2016-03-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Web/verifyHostingEnvironmentVnet", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// VerifyHostingEnvironmentVnetSender sends the VerifyHostingEnvironmentVnet request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) VerifyHostingEnvironmentVnetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// VerifyHostingEnvironmentVnetResponder handles the response to the VerifyHostingEnvironmentVnet request. The method always +// closes the http.Response Body. +func (client ManagementClient) VerifyHostingEnvironmentVnetResponder(resp *http.Response) (result VnetValidationFailureDetails, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/deletedwebapps.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/deletedwebapps.go index 7ea24e8ab..b9f08518f 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/deletedwebapps.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/deletedwebapps.go @@ -14,30 +14,26 @@ package web // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" "net/http" ) -// DeletedWebAppsClient is the composite Swagger for WebSite Management Client +// DeletedWebAppsClient is the webSite Management Client type DeletedWebAppsClient struct { ManagementClient } -// NewDeletedWebAppsClient creates an instance of the DeletedWebAppsClient -// client. +// NewDeletedWebAppsClient creates an instance of the DeletedWebAppsClient client. func NewDeletedWebAppsClient(subscriptionID string) DeletedWebAppsClient { return NewDeletedWebAppsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewDeletedWebAppsClientWithBaseURI creates an instance of the -// DeletedWebAppsClient client. +// NewDeletedWebAppsClientWithBaseURI creates an instance of the DeletedWebAppsClient client. func NewDeletedWebAppsClientWithBaseURI(baseURI string, subscriptionID string) DeletedWebAppsClient { return DeletedWebAppsClient{NewWithBaseURI(baseURI, subscriptionID)} } @@ -77,7 +73,7 @@ func (client DeletedWebAppsClient) ListPreparer() (*http.Request, error) { } preparer := autorest.CreatePreparer( - autorest.AsPost(), + autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Web/deletedSites", pathParameters), autorest.WithQueryParameters(queryParameters)) @@ -127,99 +123,47 @@ func (client DeletedWebAppsClient) ListNextResults(lastResults DeletedWebAppColl return } -// ListByResourceGroup gets deleted web apps in subscription. -// -// resourceGroupName is name of the resource group to which the resource -// belongs. -func (client DeletedWebAppsClient) ListByResourceGroup(resourceGroupName string) (result DeletedWebAppCollection, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { - return result, validation.NewErrorWithValidationError(err, "web.DeletedWebAppsClient", "ListByResourceGroup") - } - - req, err := client.ListByResourceGroupPreparer(resourceGroupName) - if err != nil { - err = autorest.NewErrorWithError(err, "web.DeletedWebAppsClient", "ListByResourceGroup", nil, "Failure preparing request") - return - } - - resp, err := client.ListByResourceGroupSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "web.DeletedWebAppsClient", "ListByResourceGroup", resp, "Failure sending request") - return - } - - result, err = client.ListByResourceGroupResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "web.DeletedWebAppsClient", "ListByResourceGroup", resp, "Failure responding to request") - } - - return -} - -// ListByResourceGroupPreparer prepares the ListByResourceGroup request. -func (client DeletedWebAppsClient) ListByResourceGroupPreparer(resourceGroupName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2016-03-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/deletedSites", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare(&http.Request{}) -} - -// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the -// http.Response Body if it receives an error. -func (client DeletedWebAppsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req) -} - -// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always -// closes the http.Response Body. -func (client DeletedWebAppsClient) ListByResourceGroupResponder(resp *http.Response) (result DeletedWebAppCollection, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListByResourceGroupNextResults retrieves the next set of results, if any. -func (client DeletedWebAppsClient) ListByResourceGroupNextResults(lastResults DeletedWebAppCollection) (result DeletedWebAppCollection, err error) { - req, err := lastResults.DeletedWebAppCollectionPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "web.DeletedWebAppsClient", "ListByResourceGroup", nil, "Failure preparing next results request") - } - if req == nil { - return - } - - resp, err := client.ListByResourceGroupSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "web.DeletedWebAppsClient", "ListByResourceGroup", resp, "Failure sending next results request") - } - - result, err = client.ListByResourceGroupResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "web.DeletedWebAppsClient", "ListByResourceGroup", resp, "Failure responding to next results request") - } - - return +// ListComplete gets all elements from the list without paging. +func (client DeletedWebAppsClient) ListComplete(cancel <-chan struct{}) (<-chan DeletedSite, <-chan error) { + resultChan := make(chan DeletedSite) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/domains.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/domains.go index fba3c1d1f..63e43b550 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/domains.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/domains.go @@ -14,9 +14,8 @@ package web // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,7 +24,7 @@ import ( "net/http" ) -// DomainsClient is the composite Swagger for WebSite Management Client +// DomainsClient is the webSite Management Client type DomainsClient struct { ManagementClient } @@ -105,14 +104,11 @@ func (client DomainsClient) CheckAvailabilityResponder(resp *http.Response) (res return } -// CreateOrUpdate creates or updates a domain. This method may poll for -// completion. Polling can be canceled by passing the cancel channel argument. -// The channel will be used to cancel polling and any outstanding HTTP -// requests. +// CreateOrUpdate creates or updates a domain. This method may poll for completion. Polling can be canceled by passing +// the cancel channel argument. The channel will be used to cancel polling and any outstanding HTTP requests. // -// resourceGroupName is name of the resource group to which the resource -// belongs. domainName is name of the domain. domain is domain registration -// information. +// resourceGroupName is name of the resource group to which the resource belongs. domainName is name of the domain. +// domain is domain registration information. func (client DomainsClient) CreateOrUpdate(resourceGroupName string, domainName string, domain Domain, cancel <-chan struct{}) (<-chan Domain, <-chan error) { resultChan := make(chan Domain, 1) errChan := make(chan error, 1) @@ -188,8 +184,10 @@ func (client DomainsClient) CreateOrUpdate(resourceGroupName string, domainName var err error var result Domain defer func() { + if err != nil { + errChan <- err + } resultChan <- result - errChan <- err close(resultChan) close(errChan) }() @@ -258,13 +256,11 @@ func (client DomainsClient) CreateOrUpdateResponder(resp *http.Response) (result return } -// CreateOrUpdateOwnershipIdentifier creates an ownership identifier for a -// domain or updates identifier details for an existing identifer +// CreateOrUpdateOwnershipIdentifier creates an ownership identifier for a domain or updates identifier details for an +// existing identifer // -// resourceGroupName is name of the resource group to which the resource -// belongs. domainName is name of domain. name is name of identifier. -// domainOwnershipIdentifier is a JSON representation of the domain ownership -// properties. +// resourceGroupName is name of the resource group to which the resource belongs. domainName is name of domain. name is +// name of identifier. domainOwnershipIdentifier is a JSON representation of the domain ownership properties. func (client DomainsClient) CreateOrUpdateOwnershipIdentifier(resourceGroupName string, domainName string, name string, domainOwnershipIdentifier DomainOwnershipIdentifier) (result DomainOwnershipIdentifier, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -340,9 +336,8 @@ func (client DomainsClient) CreateOrUpdateOwnershipIdentifierResponder(resp *htt // Delete delete a domain. // -// resourceGroupName is name of the resource group to which the resource -// belongs. domainName is name of the domain. forceHardDeleteDomain is specify -// true to delete the domain immediately. The default is +// resourceGroupName is name of the resource group to which the resource belongs. domainName is name of the domain. +// forceHardDeleteDomain is specify true to delete the domain immediately. The default is // false which deletes the domain after 24 hours. func (client DomainsClient) Delete(resourceGroupName string, domainName string, forceHardDeleteDomain *bool) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ @@ -418,8 +413,8 @@ func (client DomainsClient) DeleteResponder(resp *http.Response) (result autores // DeleteOwnershipIdentifier delete ownership identifier for domain // -// resourceGroupName is name of the resource group to which the resource -// belongs. domainName is name of domain. name is name of identifier. +// resourceGroupName is name of the resource group to which the resource belongs. domainName is name of domain. name is +// name of identifier. func (client DomainsClient) DeleteOwnershipIdentifier(resourceGroupName string, domainName string, name string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -492,8 +487,7 @@ func (client DomainsClient) DeleteOwnershipIdentifierResponder(resp *http.Respon // Get get a domain. // -// resourceGroupName is name of the resource group to which the resource -// belongs. domainName is name of the domain. +// resourceGroupName is name of the resource group to which the resource belongs. domainName is name of the domain. func (client DomainsClient) Get(resourceGroupName string, domainName string) (result Domain, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -564,8 +558,7 @@ func (client DomainsClient) GetResponder(resp *http.Response) (result Domain, er return } -// GetControlCenterSsoRequest generate a single sign-on request for the domain -// management portal. +// GetControlCenterSsoRequest generate a single sign-on request for the domain management portal. func (client DomainsClient) GetControlCenterSsoRequest() (result DomainControlCenterSsoRequest, err error) { req, err := client.GetControlCenterSsoRequestPreparer() if err != nil { @@ -628,8 +621,8 @@ func (client DomainsClient) GetControlCenterSsoRequestResponder(resp *http.Respo // GetOwnershipIdentifier get ownership identifier for domain // -// resourceGroupName is name of the resource group to which the resource -// belongs. domainName is name of domain. name is name of identifier. +// resourceGroupName is name of the resource group to which the resource belongs. domainName is name of domain. name is +// name of identifier. func (client DomainsClient) GetOwnershipIdentifier(resourceGroupName string, domainName string, name string) (result DomainOwnershipIdentifier, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -786,10 +779,54 @@ func (client DomainsClient) ListNextResults(lastResults DomainCollection) (resul return } +// ListComplete gets all elements from the list without paging. +func (client DomainsClient) ListComplete(cancel <-chan struct{}) (<-chan Domain, <-chan error) { + resultChan := make(chan Domain) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListByResourceGroup get all domains in a resource group. // -// resourceGroupName is name of the resource group to which the resource -// belongs. +// resourceGroupName is name of the resource group to which the resource belongs. func (client DomainsClient) ListByResourceGroup(resourceGroupName string) (result DomainCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -883,10 +920,54 @@ func (client DomainsClient) ListByResourceGroupNextResults(lastResults DomainCol return } +// ListByResourceGroupComplete gets all elements from the list without paging. +func (client DomainsClient) ListByResourceGroupComplete(resourceGroupName string, cancel <-chan struct{}) (<-chan Domain, <-chan error) { + resultChan := make(chan Domain) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListByResourceGroup(resourceGroupName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListByResourceGroupNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListOwnershipIdentifiers lists domain ownership identifiers. // -// resourceGroupName is name of the resource group to which the resource -// belongs. domainName is name of domain. +// resourceGroupName is name of the resource group to which the resource belongs. domainName is name of domain. func (client DomainsClient) ListOwnershipIdentifiers(resourceGroupName string, domainName string) (result DomainOwnershipIdentifierCollection, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -981,6 +1062,51 @@ func (client DomainsClient) ListOwnershipIdentifiersNextResults(lastResults Doma return } +// ListOwnershipIdentifiersComplete gets all elements from the list without paging. +func (client DomainsClient) ListOwnershipIdentifiersComplete(resourceGroupName string, domainName string, cancel <-chan struct{}) (<-chan DomainOwnershipIdentifier, <-chan error) { + resultChan := make(chan DomainOwnershipIdentifier) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListOwnershipIdentifiers(resourceGroupName, domainName) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListOwnershipIdentifiersNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + // ListRecommendations get domain name recommendations based on keywords. // // parameters is search parameters for domain name recommendations. @@ -1070,13 +1196,56 @@ func (client DomainsClient) ListRecommendationsNextResults(lastResults NameIdent return } -// UpdateOwnershipIdentifier creates an ownership identifier for a domain or -// updates identifier details for an existing identifer +// ListRecommendationsComplete gets all elements from the list without paging. +func (client DomainsClient) ListRecommendationsComplete(parameters DomainRecommendationSearchParameters, cancel <-chan struct{}) (<-chan NameIdentifier, <-chan error) { + resultChan := make(chan NameIdentifier) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListRecommendations(parameters) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListRecommendationsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// UpdateOwnershipIdentifier creates an ownership identifier for a domain or updates identifier details for an existing +// identifer // -// resourceGroupName is name of the resource group to which the resource -// belongs. domainName is name of domain. name is name of identifier. -// domainOwnershipIdentifier is a JSON representation of the domain ownership -// properties. +// resourceGroupName is name of the resource group to which the resource belongs. domainName is name of domain. name is +// name of identifier. domainOwnershipIdentifier is a JSON representation of the domain ownership properties. func (client DomainsClient) UpdateOwnershipIdentifier(resourceGroupName string, domainName string, name string, domainOwnershipIdentifier DomainOwnershipIdentifier) (result DomainOwnershipIdentifier, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/models.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/models.go index 005ade8c6..ff7cf80ee 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/models.go @@ -14,21 +14,19 @@ package web // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/date" "github.com/Azure/go-autorest/autorest/to" - "github.com/satori/uuid" + uuid "github.com/satori/go.uuid" "io" "net/http" ) -// AccessControlEntryAction enumerates the values for access control entry -// action. +// AccessControlEntryAction enumerates the values for access control entry action. type AccessControlEntryAction string const ( @@ -38,8 +36,7 @@ const ( Permit AccessControlEntryAction = "Permit" ) -// AppServicePlanRestrictions enumerates the values for app service plan -// restrictions. +// AppServicePlanRestrictions enumerates the values for app service plan restrictions. type AppServicePlanRestrictions string const ( @@ -61,8 +58,7 @@ const ( type AutoHealActionType string const ( - // CustomAction specifies the custom action state for auto heal action - // type. + // CustomAction specifies the custom action state for auto heal action type. CustomAction AutoHealActionType = "CustomAction" // LogEvent specifies the log event state for auto heal action type. LogEvent AutoHealActionType = "LogEvent" @@ -74,8 +70,7 @@ const ( type AzureResourceType string const ( - // TrafficManager specifies the traffic manager state for azure resource - // type. + // TrafficManager specifies the traffic manager state for azure resource type. TrafficManager AzureResourceType = "TrafficManager" // Website specifies the website state for azure resource type. Website AzureResourceType = "Website" @@ -91,15 +86,13 @@ const ( Deleted BackupItemStatus = "Deleted" // DeleteFailed specifies the delete failed state for backup item status. DeleteFailed BackupItemStatus = "DeleteFailed" - // DeleteInProgress specifies the delete in progress state for backup item - // status. + // DeleteInProgress specifies the delete in progress state for backup item status. DeleteInProgress BackupItemStatus = "DeleteInProgress" // Failed specifies the failed state for backup item status. Failed BackupItemStatus = "Failed" // InProgress specifies the in progress state for backup item status. InProgress BackupItemStatus = "InProgress" - // PartiallySucceeded specifies the partially succeeded state for backup - // item status. + // PartiallySucceeded specifies the partially succeeded state for backup item status. PartiallySucceeded BackupItemStatus = "PartiallySucceeded" // Skipped specifies the skipped state for backup item status. Skipped BackupItemStatus = "Skipped" @@ -109,81 +102,67 @@ const ( TimedOut BackupItemStatus = "TimedOut" ) -// BackupRestoreOperationType enumerates the values for backup restore -// operation type. +// BackupRestoreOperationType enumerates the values for backup restore operation type. type BackupRestoreOperationType string const ( - // Clone specifies the clone state for backup restore operation type. - Clone BackupRestoreOperationType = "Clone" - // Default specifies the default state for backup restore operation type. - Default BackupRestoreOperationType = "Default" - // Relocation specifies the relocation state for backup restore operation + // BackupRestoreOperationTypeClone specifies the backup restore operation type clone state for backup restore operation // type. - Relocation BackupRestoreOperationType = "Relocation" + BackupRestoreOperationTypeClone BackupRestoreOperationType = "Clone" + // BackupRestoreOperationTypeDefault specifies the backup restore operation type default state for backup restore + // operation type. + BackupRestoreOperationTypeDefault BackupRestoreOperationType = "Default" + // BackupRestoreOperationTypeRelocation specifies the backup restore operation type relocation state for backup restore + // operation type. + BackupRestoreOperationTypeRelocation BackupRestoreOperationType = "Relocation" + // BackupRestoreOperationTypeSnapshot specifies the backup restore operation type snapshot state for backup restore + // operation type. + BackupRestoreOperationTypeSnapshot BackupRestoreOperationType = "Snapshot" ) -// BuiltInAuthenticationProvider enumerates the values for built in -// authentication provider. +// BuiltInAuthenticationProvider enumerates the values for built in authentication provider. type BuiltInAuthenticationProvider string const ( - // AzureActiveDirectory specifies the azure active directory state for - // built in authentication provider. + // AzureActiveDirectory specifies the azure active directory state for built in authentication provider. AzureActiveDirectory BuiltInAuthenticationProvider = "AzureActiveDirectory" - // Facebook specifies the facebook state for built in authentication - // provider. + // Facebook specifies the facebook state for built in authentication provider. Facebook BuiltInAuthenticationProvider = "Facebook" // Google specifies the google state for built in authentication provider. Google BuiltInAuthenticationProvider = "Google" - // MicrosoftAccount specifies the microsoft account state for built in - // authentication provider. + // MicrosoftAccount specifies the microsoft account state for built in authentication provider. MicrosoftAccount BuiltInAuthenticationProvider = "MicrosoftAccount" - // Twitter specifies the twitter state for built in authentication - // provider. + // Twitter specifies the twitter state for built in authentication provider. Twitter BuiltInAuthenticationProvider = "Twitter" ) -// CertificateOrderActionType enumerates the values for certificate order -// action type. +// CertificateOrderActionType enumerates the values for certificate order action type. type CertificateOrderActionType string const ( - // CertificateExpirationWarning specifies the certificate expiration - // warning state for certificate order action type. + // CertificateExpirationWarning specifies the certificate expiration warning state for certificate order action type. CertificateExpirationWarning CertificateOrderActionType = "CertificateExpirationWarning" - // CertificateExpired specifies the certificate expired state for - // certificate order action type. + // CertificateExpired specifies the certificate expired state for certificate order action type. CertificateExpired CertificateOrderActionType = "CertificateExpired" - // CertificateIssued specifies the certificate issued state for certificate - // order action type. + // CertificateIssued specifies the certificate issued state for certificate order action type. CertificateIssued CertificateOrderActionType = "CertificateIssued" - // CertificateOrderCanceled specifies the certificate order canceled state - // for certificate order action type. + // CertificateOrderCanceled specifies the certificate order canceled state for certificate order action type. CertificateOrderCanceled CertificateOrderActionType = "CertificateOrderCanceled" - // CertificateOrderCreated specifies the certificate order created state - // for certificate order action type. + // CertificateOrderCreated specifies the certificate order created state for certificate order action type. CertificateOrderCreated CertificateOrderActionType = "CertificateOrderCreated" - // CertificateRevoked specifies the certificate revoked state for - // certificate order action type. + // CertificateRevoked specifies the certificate revoked state for certificate order action type. CertificateRevoked CertificateOrderActionType = "CertificateRevoked" - // DomainValidationComplete specifies the domain validation complete state - // for certificate order action type. + // DomainValidationComplete specifies the domain validation complete state for certificate order action type. DomainValidationComplete CertificateOrderActionType = "DomainValidationComplete" - // FraudCleared specifies the fraud cleared state for certificate order - // action type. + // FraudCleared specifies the fraud cleared state for certificate order action type. FraudCleared CertificateOrderActionType = "FraudCleared" - // FraudDetected specifies the fraud detected state for certificate order - // action type. + // FraudDetected specifies the fraud detected state for certificate order action type. FraudDetected CertificateOrderActionType = "FraudDetected" - // FraudDocumentationRequired specifies the fraud documentation required - // state for certificate order action type. + // FraudDocumentationRequired specifies the fraud documentation required state for certificate order action type. FraudDocumentationRequired CertificateOrderActionType = "FraudDocumentationRequired" - // OrgNameChange specifies the org name change state for certificate order - // action type. + // OrgNameChange specifies the org name change state for certificate order action type. OrgNameChange CertificateOrderActionType = "OrgNameChange" - // OrgValidationComplete specifies the org validation complete state for - // certificate order action type. + // OrgValidationComplete specifies the org validation complete state for certificate order action type. OrgValidationComplete CertificateOrderActionType = "OrgValidationComplete" // SanDrop specifies the san drop state for certificate order action type. SanDrop CertificateOrderActionType = "SanDrop" @@ -203,17 +182,13 @@ const ( Expired CertificateOrderStatus = "Expired" // Issued specifies the issued state for certificate order status. Issued CertificateOrderStatus = "Issued" - // NotSubmitted specifies the not submitted state for certificate order - // status. + // NotSubmitted specifies the not submitted state for certificate order status. NotSubmitted CertificateOrderStatus = "NotSubmitted" - // Pendingissuance specifies the pendingissuance state for certificate - // order status. + // Pendingissuance specifies the pendingissuance state for certificate order status. Pendingissuance CertificateOrderStatus = "Pendingissuance" - // PendingRekey specifies the pending rekey state for certificate order - // status. + // PendingRekey specifies the pending rekey state for certificate order status. PendingRekey CertificateOrderStatus = "PendingRekey" - // Pendingrevocation specifies the pendingrevocation state for certificate - // order status. + // Pendingrevocation specifies the pendingrevocation state for certificate order status. Pendingrevocation CertificateOrderStatus = "Pendingrevocation" // Revoked specifies the revoked state for certificate order status. Revoked CertificateOrderStatus = "Revoked" @@ -225,11 +200,10 @@ const ( type CertificateProductType string const ( - // StandardDomainValidatedSsl specifies the standard domain validated ssl - // state for certificate product type. + // StandardDomainValidatedSsl specifies the standard domain validated ssl state for certificate product type. StandardDomainValidatedSsl CertificateProductType = "StandardDomainValidatedSsl" - // StandardDomainValidatedWildCardSsl specifies the standard domain - // validated wild card ssl state for certificate product type. + // StandardDomainValidatedWildCardSsl specifies the standard domain validated wild card ssl state for certificate + // product type. StandardDomainValidatedWildCardSsl CertificateProductType = "StandardDomainValidatedWildCardSsl" ) @@ -253,14 +227,12 @@ const ( type CheckNameResourceTypes string const ( - // CheckNameResourceTypesHostingEnvironment specifies the check name - // resource types hosting environment state for check name resource types. + // CheckNameResourceTypesHostingEnvironment specifies the check name resource types hosting environment state for check + // name resource types. CheckNameResourceTypesHostingEnvironment CheckNameResourceTypes = "HostingEnvironment" - // CheckNameResourceTypesSite specifies the check name resource types site - // state for check name resource types. + // CheckNameResourceTypesSite specifies the check name resource types site state for check name resource types. CheckNameResourceTypesSite CheckNameResourceTypes = "Site" - // CheckNameResourceTypesSlot specifies the check name resource types slot - // state for check name resource types. + // CheckNameResourceTypesSlot specifies the check name resource types slot state for check name resource types. CheckNameResourceTypesSlot CheckNameResourceTypes = "Slot" ) @@ -272,8 +244,7 @@ const ( Cloneable CloneAbilityResult = "Cloneable" // NotCloneable specifies the not cloneable state for clone ability result. NotCloneable CloneAbilityResult = "NotCloneable" - // PartiallyCloneable specifies the partially cloneable state for clone - // ability result. + // PartiallyCloneable specifies the partially cloneable state for clone ability result. PartiallyCloneable CloneAbilityResult = "PartiallyCloneable" ) @@ -281,14 +252,11 @@ const ( type ComputeModeOptions string const ( - // ComputeModeOptionsDedicated specifies the compute mode options dedicated - // state for compute mode options. + // ComputeModeOptionsDedicated specifies the compute mode options dedicated state for compute mode options. ComputeModeOptionsDedicated ComputeModeOptions = "Dedicated" - // ComputeModeOptionsDynamic specifies the compute mode options dynamic - // state for compute mode options. + // ComputeModeOptionsDynamic specifies the compute mode options dynamic state for compute mode options. ComputeModeOptionsDynamic ComputeModeOptions = "Dynamic" - // ComputeModeOptionsShared specifies the compute mode options shared state - // for compute mode options. + // ComputeModeOptionsShared specifies the compute mode options shared state for compute mode options. ComputeModeOptionsShared ComputeModeOptions = "Shared" ) @@ -306,8 +274,7 @@ const ( EventHub ConnectionStringType = "EventHub" // MySQL specifies the my sql state for connection string type. MySQL ConnectionStringType = "MySql" - // NotificationHub specifies the notification hub state for connection - // string type. + // NotificationHub specifies the notification hub state for connection string type. NotificationHub ConnectionStringType = "NotificationHub" // PostgreSQL specifies the postgre sql state for connection string type. PostgreSQL ConnectionStringType = "PostgreSQL" @@ -321,8 +288,23 @@ const ( SQLServer ConnectionStringType = "SQLServer" ) -// CustomHostNameDNSRecordType enumerates the values for custom host name dns -// record type. +// ContinuousWebJobStatus enumerates the values for continuous web job status. +type ContinuousWebJobStatus string + +const ( + // Initializing specifies the initializing state for continuous web job status. + Initializing ContinuousWebJobStatus = "Initializing" + // PendingRestart specifies the pending restart state for continuous web job status. + PendingRestart ContinuousWebJobStatus = "PendingRestart" + // Running specifies the running state for continuous web job status. + Running ContinuousWebJobStatus = "Running" + // Starting specifies the starting state for continuous web job status. + Starting ContinuousWebJobStatus = "Starting" + // Stopped specifies the stopped state for continuous web job status. + Stopped ContinuousWebJobStatus = "Stopped" +) + +// CustomHostNameDNSRecordType enumerates the values for custom host name dns record type. type CustomHostNameDNSRecordType string const ( @@ -336,17 +318,13 @@ const ( type DatabaseType string const ( - // DatabaseTypeLocalMySQL specifies the database type local my sql state - // for database type. + // DatabaseTypeLocalMySQL specifies the database type local my sql state for database type. DatabaseTypeLocalMySQL DatabaseType = "LocalMySql" - // DatabaseTypeMySQL specifies the database type my sql state for database - // type. + // DatabaseTypeMySQL specifies the database type my sql state for database type. DatabaseTypeMySQL DatabaseType = "MySql" - // DatabaseTypePostgreSQL specifies the database type postgre sql state for - // database type. + // DatabaseTypePostgreSQL specifies the database type postgre sql state for database type. DatabaseTypePostgreSQL DatabaseType = "PostgreSql" - // DatabaseTypeSQLAzure specifies the database type sql azure state for - // database type. + // DatabaseTypeSQLAzure specifies the database type sql azure state for database type. DatabaseTypeSQLAzure DatabaseType = "SqlAzure" ) @@ -356,24 +334,22 @@ type DNSType string const ( // AzureDNS specifies the azure dns state for dns type. AzureDNS DNSType = "AzureDns" - // DefaultDomainRegistrarDNS specifies the default domain registrar dns - // state for dns type. + // DefaultDomainRegistrarDNS specifies the default domain registrar dns state for dns type. DefaultDomainRegistrarDNS DNSType = "DefaultDomainRegistrarDns" ) -// DNSVerificationTestResult enumerates the values for dns verification test -// result. +// DNSVerificationTestResult enumerates the values for dns verification test result. type DNSVerificationTestResult string const ( - // DNSVerificationTestResultFailed specifies the dns verification test - // result failed state for dns verification test result. + // DNSVerificationTestResultFailed specifies the dns verification test result failed state for dns verification test + // result. DNSVerificationTestResultFailed DNSVerificationTestResult = "Failed" - // DNSVerificationTestResultPassed specifies the dns verification test - // result passed state for dns verification test result. + // DNSVerificationTestResultPassed specifies the dns verification test result passed state for dns verification test + // result. DNSVerificationTestResultPassed DNSVerificationTestResult = "Passed" - // DNSVerificationTestResultSkipped specifies the dns verification test - // result skipped state for dns verification test result. + // DNSVerificationTestResultSkipped specifies the dns verification test result skipped state for dns verification test + // result. DNSVerificationTestResultSkipped DNSVerificationTestResult = "Skipped" ) @@ -381,68 +357,47 @@ const ( type DomainStatus string const ( - // DomainStatusActive specifies the domain status active state for domain - // status. + // DomainStatusActive specifies the domain status active state for domain status. DomainStatusActive DomainStatus = "Active" - // DomainStatusAwaiting specifies the domain status awaiting state for - // domain status. + // DomainStatusAwaiting specifies the domain status awaiting state for domain status. DomainStatusAwaiting DomainStatus = "Awaiting" - // DomainStatusCancelled specifies the domain status cancelled state for - // domain status. + // DomainStatusCancelled specifies the domain status cancelled state for domain status. DomainStatusCancelled DomainStatus = "Cancelled" - // DomainStatusConfiscated specifies the domain status confiscated state - // for domain status. + // DomainStatusConfiscated specifies the domain status confiscated state for domain status. DomainStatusConfiscated DomainStatus = "Confiscated" - // DomainStatusDisabled specifies the domain status disabled state for - // domain status. + // DomainStatusDisabled specifies the domain status disabled state for domain status. DomainStatusDisabled DomainStatus = "Disabled" - // DomainStatusExcluded specifies the domain status excluded state for - // domain status. + // DomainStatusExcluded specifies the domain status excluded state for domain status. DomainStatusExcluded DomainStatus = "Excluded" - // DomainStatusExpired specifies the domain status expired state for domain - // status. + // DomainStatusExpired specifies the domain status expired state for domain status. DomainStatusExpired DomainStatus = "Expired" - // DomainStatusFailed specifies the domain status failed state for domain - // status. + // DomainStatusFailed specifies the domain status failed state for domain status. DomainStatusFailed DomainStatus = "Failed" - // DomainStatusHeld specifies the domain status held state for domain - // status. + // DomainStatusHeld specifies the domain status held state for domain status. DomainStatusHeld DomainStatus = "Held" - // DomainStatusJSONConverterFailed specifies the domain status json - // converter failed state for domain status. + // DomainStatusJSONConverterFailed specifies the domain status json converter failed state for domain status. DomainStatusJSONConverterFailed DomainStatus = "JsonConverterFailed" - // DomainStatusLocked specifies the domain status locked state for domain - // status. + // DomainStatusLocked specifies the domain status locked state for domain status. DomainStatusLocked DomainStatus = "Locked" - // DomainStatusParked specifies the domain status parked state for domain - // status. + // DomainStatusParked specifies the domain status parked state for domain status. DomainStatusParked DomainStatus = "Parked" - // DomainStatusPending specifies the domain status pending state for domain - // status. + // DomainStatusPending specifies the domain status pending state for domain status. DomainStatusPending DomainStatus = "Pending" - // DomainStatusReserved specifies the domain status reserved state for - // domain status. + // DomainStatusReserved specifies the domain status reserved state for domain status. DomainStatusReserved DomainStatus = "Reserved" - // DomainStatusReverted specifies the domain status reverted state for - // domain status. + // DomainStatusReverted specifies the domain status reverted state for domain status. DomainStatusReverted DomainStatus = "Reverted" - // DomainStatusSuspended specifies the domain status suspended state for - // domain status. + // DomainStatusSuspended specifies the domain status suspended state for domain status. DomainStatusSuspended DomainStatus = "Suspended" - // DomainStatusTransferred specifies the domain status transferred state - // for domain status. + // DomainStatusTransferred specifies the domain status transferred state for domain status. DomainStatusTransferred DomainStatus = "Transferred" - // DomainStatusUnknown specifies the domain status unknown state for domain - // status. + // DomainStatusUnknown specifies the domain status unknown state for domain status. DomainStatusUnknown DomainStatus = "Unknown" - // DomainStatusUnlocked specifies the domain status unlocked state for - // domain status. + // DomainStatusUnlocked specifies the domain status unlocked state for domain status. DomainStatusUnlocked DomainStatus = "Unlocked" - // DomainStatusUnparked specifies the domain status unparked state for - // domain status. + // DomainStatusUnparked specifies the domain status unparked state for domain status. DomainStatusUnparked DomainStatus = "Unparked" - // DomainStatusUpdated specifies the domain status updated state for domain - // status. + // DomainStatusUpdated specifies the domain status updated state for domain status. DomainStatusUpdated DomainStatus = "Updated" ) @@ -466,8 +421,7 @@ const ( Hour FrequencyUnit = "Hour" ) -// HostingEnvironmentStatus enumerates the values for hosting environment -// status. +// HostingEnvironmentStatus enumerates the values for hosting environment status. type HostingEnvironmentStatus string const ( @@ -495,82 +449,79 @@ const ( type HostType string const ( - // HostTypeRepository specifies the host type repository state for host - // type. + // HostTypeRepository specifies the host type repository state for host type. HostTypeRepository HostType = "Repository" // HostTypeStandard specifies the host type standard state for host type. HostTypeStandard HostType = "Standard" ) -// InAvailabilityReasonType enumerates the values for in availability reason -// type. +// InAvailabilityReasonType enumerates the values for in availability reason type. type InAvailabilityReasonType string const ( - // AlreadyExists specifies the already exists state for in availability - // reason type. + // AlreadyExists specifies the already exists state for in availability reason type. AlreadyExists InAvailabilityReasonType = "AlreadyExists" // Invalid specifies the invalid state for in availability reason type. Invalid InAvailabilityReasonType = "Invalid" ) -// InternalLoadBalancingMode enumerates the values for internal load balancing -// mode. +// InternalLoadBalancingMode enumerates the values for internal load balancing mode. type InternalLoadBalancingMode string const ( - // InternalLoadBalancingModeNone specifies the internal load balancing mode - // none state for internal load balancing mode. + // InternalLoadBalancingModeNone specifies the internal load balancing mode none state for internal load balancing + // mode. InternalLoadBalancingModeNone InternalLoadBalancingMode = "None" - // InternalLoadBalancingModePublishing specifies the internal load - // balancing mode publishing state for internal load balancing mode. + // InternalLoadBalancingModePublishing specifies the internal load balancing mode publishing state for internal load + // balancing mode. InternalLoadBalancingModePublishing InternalLoadBalancingMode = "Publishing" - // InternalLoadBalancingModeWeb specifies the internal load balancing mode - // web state for internal load balancing mode. + // InternalLoadBalancingModeWeb specifies the internal load balancing mode web state for internal load balancing mode. InternalLoadBalancingModeWeb InternalLoadBalancingMode = "Web" ) +// JobType enumerates the values for job type. +type JobType string + +const ( + // Continuous specifies the continuous state for job type. + Continuous JobType = "Continuous" + // Triggered specifies the triggered state for job type. + Triggered JobType = "Triggered" +) + // KeyVaultSecretStatus enumerates the values for key vault secret status. type KeyVaultSecretStatus string const ( - // KeyVaultSecretStatusAzureServiceUnauthorizedToAccessKeyVault specifies - // the key vault secret status azure service unauthorized to access key - // vault state for key vault secret status. + // KeyVaultSecretStatusAzureServiceUnauthorizedToAccessKeyVault specifies the key vault secret status azure service + // unauthorized to access key vault state for key vault secret status. KeyVaultSecretStatusAzureServiceUnauthorizedToAccessKeyVault KeyVaultSecretStatus = "AzureServiceUnauthorizedToAccessKeyVault" - // KeyVaultSecretStatusCertificateOrderFailed specifies the key vault - // secret status certificate order failed state for key vault secret - // status. + // KeyVaultSecretStatusCertificateOrderFailed specifies the key vault secret status certificate order failed state for + // key vault secret status. KeyVaultSecretStatusCertificateOrderFailed KeyVaultSecretStatus = "CertificateOrderFailed" - // KeyVaultSecretStatusExternalPrivateKey specifies the key vault secret - // status external private key state for key vault secret status. - KeyVaultSecretStatusExternalPrivateKey KeyVaultSecretStatus = "ExternalPrivateKey" - // KeyVaultSecretStatusInitialized specifies the key vault secret status - // initialized state for key vault secret status. - KeyVaultSecretStatusInitialized KeyVaultSecretStatus = "Initialized" - // KeyVaultSecretStatusKeyVaultDoesNotExist specifies the key vault secret - // status key vault does not exist state for key vault secret status. - KeyVaultSecretStatusKeyVaultDoesNotExist KeyVaultSecretStatus = "KeyVaultDoesNotExist" - // KeyVaultSecretStatusKeyVaultSecretDoesNotExist specifies the key vault - // secret status key vault secret does not exist state for key vault secret - // status. - KeyVaultSecretStatusKeyVaultSecretDoesNotExist KeyVaultSecretStatus = "KeyVaultSecretDoesNotExist" - // KeyVaultSecretStatusOperationNotPermittedOnKeyVault specifies the key - // vault secret status operation not permitted on key vault state for key + // KeyVaultSecretStatusExternalPrivateKey specifies the key vault secret status external private key state for key // vault secret status. + KeyVaultSecretStatusExternalPrivateKey KeyVaultSecretStatus = "ExternalPrivateKey" + // KeyVaultSecretStatusInitialized specifies the key vault secret status initialized state for key vault secret status. + KeyVaultSecretStatusInitialized KeyVaultSecretStatus = "Initialized" + // KeyVaultSecretStatusKeyVaultDoesNotExist specifies the key vault secret status key vault does not exist state for + // key vault secret status. + KeyVaultSecretStatusKeyVaultDoesNotExist KeyVaultSecretStatus = "KeyVaultDoesNotExist" + // KeyVaultSecretStatusKeyVaultSecretDoesNotExist specifies the key vault secret status key vault secret does not exist + // state for key vault secret status. + KeyVaultSecretStatusKeyVaultSecretDoesNotExist KeyVaultSecretStatus = "KeyVaultSecretDoesNotExist" + // KeyVaultSecretStatusOperationNotPermittedOnKeyVault specifies the key vault secret status operation not permitted on + // key vault state for key vault secret status. KeyVaultSecretStatusOperationNotPermittedOnKeyVault KeyVaultSecretStatus = "OperationNotPermittedOnKeyVault" - // KeyVaultSecretStatusSucceeded specifies the key vault secret status - // succeeded state for key vault secret status. + // KeyVaultSecretStatusSucceeded specifies the key vault secret status succeeded state for key vault secret status. KeyVaultSecretStatusSucceeded KeyVaultSecretStatus = "Succeeded" - // KeyVaultSecretStatusUnknown specifies the key vault secret status - // unknown state for key vault secret status. + // KeyVaultSecretStatusUnknown specifies the key vault secret status unknown state for key vault secret status. KeyVaultSecretStatusUnknown KeyVaultSecretStatus = "Unknown" - // KeyVaultSecretStatusUnknownError specifies the key vault secret status - // unknown error state for key vault secret status. - KeyVaultSecretStatusUnknownError KeyVaultSecretStatus = "UnknownError" - // KeyVaultSecretStatusWaitingOnCertificateOrder specifies the key vault - // secret status waiting on certificate order state for key vault secret + // KeyVaultSecretStatusUnknownError specifies the key vault secret status unknown error state for key vault secret // status. + KeyVaultSecretStatusUnknownError KeyVaultSecretStatus = "UnknownError" + // KeyVaultSecretStatusWaitingOnCertificateOrder specifies the key vault secret status waiting on certificate order + // state for key vault secret status. KeyVaultSecretStatusWaitingOnCertificateOrder KeyVaultSecretStatus = "WaitingOnCertificateOrder" ) @@ -600,21 +551,61 @@ const ( Integrated ManagedPipelineMode = "Integrated" ) +// MSDeployLogEntryType enumerates the values for ms deploy log entry type. +type MSDeployLogEntryType string + +const ( + // MSDeployLogEntryTypeError specifies the ms deploy log entry type error state for ms deploy log entry type. + MSDeployLogEntryTypeError MSDeployLogEntryType = "Error" + // MSDeployLogEntryTypeMessage specifies the ms deploy log entry type message state for ms deploy log entry type. + MSDeployLogEntryTypeMessage MSDeployLogEntryType = "Message" + // MSDeployLogEntryTypeWarning specifies the ms deploy log entry type warning state for ms deploy log entry type. + MSDeployLogEntryTypeWarning MSDeployLogEntryType = "Warning" +) + +// MSDeployProvisioningState enumerates the values for ms deploy provisioning state. +type MSDeployProvisioningState string + +const ( + // MSDeployProvisioningStateAccepted specifies the ms deploy provisioning state accepted state for ms deploy + // provisioning state. + MSDeployProvisioningStateAccepted MSDeployProvisioningState = "accepted" + // MSDeployProvisioningStateCanceled specifies the ms deploy provisioning state canceled state for ms deploy + // provisioning state. + MSDeployProvisioningStateCanceled MSDeployProvisioningState = "canceled" + // MSDeployProvisioningStateFailed specifies the ms deploy provisioning state failed state for ms deploy provisioning + // state. + MSDeployProvisioningStateFailed MSDeployProvisioningState = "failed" + // MSDeployProvisioningStateRunning specifies the ms deploy provisioning state running state for ms deploy provisioning + // state. + MSDeployProvisioningStateRunning MSDeployProvisioningState = "running" + // MSDeployProvisioningStateSucceeded specifies the ms deploy provisioning state succeeded state for ms deploy + // provisioning state. + MSDeployProvisioningStateSucceeded MSDeployProvisioningState = "succeeded" +) + +// MySQLMigrationType enumerates the values for my sql migration type. +type MySQLMigrationType string + +const ( + // LocalToRemote specifies the local to remote state for my sql migration type. + LocalToRemote MySQLMigrationType = "LocalToRemote" + // RemoteToLocal specifies the remote to local state for my sql migration type. + RemoteToLocal MySQLMigrationType = "RemoteToLocal" +) + // NotificationLevel enumerates the values for notification level. type NotificationLevel string const ( - // NotificationLevelCritical specifies the notification level critical - // state for notification level. + // NotificationLevelCritical specifies the notification level critical state for notification level. NotificationLevelCritical NotificationLevel = "Critical" - // NotificationLevelInformation specifies the notification level - // information state for notification level. + // NotificationLevelInformation specifies the notification level information state for notification level. NotificationLevelInformation NotificationLevel = "Information" - // NotificationLevelNonUrgentSuggestion specifies the notification level - // non urgent suggestion state for notification level. + // NotificationLevelNonUrgentSuggestion specifies the notification level non urgent suggestion state for notification + // level. NotificationLevelNonUrgentSuggestion NotificationLevel = "NonUrgentSuggestion" - // NotificationLevelWarning specifies the notification level warning state - // for notification level. + // NotificationLevelWarning specifies the notification level warning state for notification level. NotificationLevelWarning NotificationLevel = "Warning" ) @@ -622,20 +613,15 @@ const ( type OperationStatus string const ( - // OperationStatusCreated specifies the operation status created state for - // operation status. + // OperationStatusCreated specifies the operation status created state for operation status. OperationStatusCreated OperationStatus = "Created" - // OperationStatusFailed specifies the operation status failed state for - // operation status. + // OperationStatusFailed specifies the operation status failed state for operation status. OperationStatusFailed OperationStatus = "Failed" - // OperationStatusInProgress specifies the operation status in progress - // state for operation status. + // OperationStatusInProgress specifies the operation status in progress state for operation status. OperationStatusInProgress OperationStatus = "InProgress" - // OperationStatusSucceeded specifies the operation status succeeded state - // for operation status. + // OperationStatusSucceeded specifies the operation status succeeded state for operation status. OperationStatusSucceeded OperationStatus = "Succeeded" - // OperationStatusTimedOut specifies the operation status timed out state - // for operation status. + // OperationStatusTimedOut specifies the operation status timed out state for operation status. OperationStatusTimedOut OperationStatus = "TimedOut" ) @@ -643,29 +629,38 @@ const ( type ProvisioningState string const ( - // ProvisioningStateCanceled specifies the provisioning state canceled - // state for provisioning state. + // ProvisioningStateCanceled specifies the provisioning state canceled state for provisioning state. ProvisioningStateCanceled ProvisioningState = "Canceled" - // ProvisioningStateDeleting specifies the provisioning state deleting - // state for provisioning state. + // ProvisioningStateDeleting specifies the provisioning state deleting state for provisioning state. ProvisioningStateDeleting ProvisioningState = "Deleting" - // ProvisioningStateFailed specifies the provisioning state failed state - // for provisioning state. + // ProvisioningStateFailed specifies the provisioning state failed state for provisioning state. ProvisioningStateFailed ProvisioningState = "Failed" - // ProvisioningStateInProgress specifies the provisioning state in progress - // state for provisioning state. + // ProvisioningStateInProgress specifies the provisioning state in progress state for provisioning state. ProvisioningStateInProgress ProvisioningState = "InProgress" - // ProvisioningStateSucceeded specifies the provisioning state succeeded - // state for provisioning state. + // ProvisioningStateSucceeded specifies the provisioning state succeeded state for provisioning state. ProvisioningStateSucceeded ProvisioningState = "Succeeded" ) +// PublicCertificateLocation enumerates the values for public certificate location. +type PublicCertificateLocation string + +const ( + // PublicCertificateLocationCurrentUserMy specifies the public certificate location current user my state for public + // certificate location. + PublicCertificateLocationCurrentUserMy PublicCertificateLocation = "CurrentUserMy" + // PublicCertificateLocationLocalMachineMy specifies the public certificate location local machine my state for public + // certificate location. + PublicCertificateLocationLocalMachineMy PublicCertificateLocation = "LocalMachineMy" + // PublicCertificateLocationUnknown specifies the public certificate location unknown state for public certificate + // location. + PublicCertificateLocationUnknown PublicCertificateLocation = "Unknown" +) + // PublishingProfileFormat enumerates the values for publishing profile format. type PublishingProfileFormat string const ( - // FileZilla3 specifies the file zilla 3 state for publishing profile - // format. + // FileZilla3 specifies the file zilla 3 state for publishing profile format. FileZilla3 PublishingProfileFormat = "FileZilla3" // Ftp specifies the ftp state for publishing profile format. Ftp PublishingProfileFormat = "Ftp" @@ -701,22 +696,17 @@ const ( type ScmType string const ( - // ScmTypeBitbucketGit specifies the scm type bitbucket git state for scm - // type. + // ScmTypeBitbucketGit specifies the scm type bitbucket git state for scm type. ScmTypeBitbucketGit ScmType = "BitbucketGit" - // ScmTypeBitbucketHg specifies the scm type bitbucket hg state for scm - // type. + // ScmTypeBitbucketHg specifies the scm type bitbucket hg state for scm type. ScmTypeBitbucketHg ScmType = "BitbucketHg" - // ScmTypeCodePlexGit specifies the scm type code plex git state for scm - // type. + // ScmTypeCodePlexGit specifies the scm type code plex git state for scm type. ScmTypeCodePlexGit ScmType = "CodePlexGit" - // ScmTypeCodePlexHg specifies the scm type code plex hg state for scm - // type. + // ScmTypeCodePlexHg specifies the scm type code plex hg state for scm type. ScmTypeCodePlexHg ScmType = "CodePlexHg" // ScmTypeDropbox specifies the scm type dropbox state for scm type. ScmTypeDropbox ScmType = "Dropbox" - // ScmTypeExternalGit specifies the scm type external git state for scm - // type. + // ScmTypeExternalGit specifies the scm type external git state for scm type. ScmTypeExternalGit ScmType = "ExternalGit" // ScmTypeExternalHg specifies the scm type external hg state for scm type. ScmTypeExternalHg ScmType = "ExternalHg" @@ -738,8 +728,7 @@ const ( type SiteAvailabilityState string const ( - // DisasterRecoveryMode specifies the disaster recovery mode state for site - // availability state. + // DisasterRecoveryMode specifies the disaster recovery mode state for site availability state. DisasterRecoveryMode SiteAvailabilityState = "DisasterRecoveryMode" // Limited specifies the limited state for site availability state. Limited SiteAvailabilityState = "Limited" @@ -747,23 +736,29 @@ const ( Normal SiteAvailabilityState = "Normal" ) +// SiteExtensionType enumerates the values for site extension type. +type SiteExtensionType string + +const ( + // Gallery specifies the gallery state for site extension type. + Gallery SiteExtensionType = "Gallery" + // WebRoot specifies the web root state for site extension type. + WebRoot SiteExtensionType = "WebRoot" +) + // SiteLoadBalancing enumerates the values for site load balancing. type SiteLoadBalancing string const ( - // LeastRequests specifies the least requests state for site load - // balancing. + // LeastRequests specifies the least requests state for site load balancing. LeastRequests SiteLoadBalancing = "LeastRequests" - // LeastResponseTime specifies the least response time state for site load - // balancing. + // LeastResponseTime specifies the least response time state for site load balancing. LeastResponseTime SiteLoadBalancing = "LeastResponseTime" // RequestHash specifies the request hash state for site load balancing. RequestHash SiteLoadBalancing = "RequestHash" - // WeightedRoundRobin specifies the weighted round robin state for site - // load balancing. + // WeightedRoundRobin specifies the weighted round robin state for site load balancing. WeightedRoundRobin SiteLoadBalancing = "WeightedRoundRobin" - // WeightedTotalTraffic specifies the weighted total traffic state for site - // load balancing. + // WeightedTotalTraffic specifies the weighted total traffic state for site load balancing. WeightedTotalTraffic SiteLoadBalancing = "WeightedTotalTraffic" ) @@ -781,6 +776,8 @@ const ( SkuNameIsolated SkuName = "Isolated" // SkuNamePremium specifies the sku name premium state for sku name. SkuNamePremium SkuName = "Premium" + // SkuNamePremiumV2 specifies the sku name premium v2 state for sku name. + SkuNamePremiumV2 SkuName = "PremiumV2" // SkuNameShared specifies the sku name shared state for sku name. SkuNameShared SkuName = "Shared" // SkuNameStandard specifies the sku name standard state for sku name. @@ -803,24 +800,31 @@ const ( type StatusOptions string const ( - // StatusOptionsPending specifies the status options pending state for - // status options. + // StatusOptionsPending specifies the status options pending state for status options. StatusOptionsPending StatusOptions = "Pending" - // StatusOptionsReady specifies the status options ready state for status - // options. + // StatusOptionsReady specifies the status options ready state for status options. StatusOptionsReady StatusOptions = "Ready" ) -// UnauthenticatedClientAction enumerates the values for unauthenticated client -// action. +// TriggeredWebJobStatus enumerates the values for triggered web job status. +type TriggeredWebJobStatus string + +const ( + // TriggeredWebJobStatusError specifies the triggered web job status error state for triggered web job status. + TriggeredWebJobStatusError TriggeredWebJobStatus = "Error" + // TriggeredWebJobStatusFailed specifies the triggered web job status failed state for triggered web job status. + TriggeredWebJobStatusFailed TriggeredWebJobStatus = "Failed" + // TriggeredWebJobStatusSuccess specifies the triggered web job status success state for triggered web job status. + TriggeredWebJobStatusSuccess TriggeredWebJobStatus = "Success" +) + +// UnauthenticatedClientAction enumerates the values for unauthenticated client action. type UnauthenticatedClientAction string const ( - // AllowAnonymous specifies the allow anonymous state for unauthenticated - // client action. + // AllowAnonymous specifies the allow anonymous state for unauthenticated client action. AllowAnonymous UnauthenticatedClientAction = "AllowAnonymous" - // RedirectToLoginPage specifies the redirect to login page state for - // unauthenticated client action. + // RedirectToLoginPage specifies the redirect to login page state for unauthenticated client action. RedirectToLoginPage UnauthenticatedClientAction = "RedirectToLoginPage" ) @@ -828,8 +832,7 @@ const ( type UsageState string const ( - // UsageStateExceeded specifies the usage state exceeded state for usage - // state. + // UsageStateExceeded specifies the usage state exceeded state for usage state. UsageStateExceeded UsageState = "Exceeded" // UsageStateNormal specifies the usage state normal state for usage state. UsageStateNormal UsageState = "Normal" @@ -839,11 +842,9 @@ const ( type ValidateResourceTypes string const ( - // ValidateResourceTypesServerFarm specifies the validate resource types - // server farm state for validate resource types. + // ValidateResourceTypesServerFarm specifies the validate resource types server farm state for validate resource types. ValidateResourceTypesServerFarm ValidateResourceTypes = "ServerFarm" - // ValidateResourceTypesSite specifies the validate resource types site - // state for validate resource types. + // ValidateResourceTypesSite specifies the validate resource types site state for validate resource types. ValidateResourceTypesSite ValidateResourceTypes = "Site" ) @@ -851,18 +852,14 @@ const ( type WorkerSizeOptions string const ( - // WorkerSizeOptionsDefault specifies the worker size options default state - // for worker size options. - WorkerSizeOptionsDefault WorkerSizeOptions = "Default" - // WorkerSizeOptionsLarge specifies the worker size options large state for - // worker size options. - WorkerSizeOptionsLarge WorkerSizeOptions = "Large" - // WorkerSizeOptionsMedium specifies the worker size options medium state - // for worker size options. - WorkerSizeOptionsMedium WorkerSizeOptions = "Medium" - // WorkerSizeOptionsSmall specifies the worker size options small state for - // worker size options. - WorkerSizeOptionsSmall WorkerSizeOptions = "Small" + // Default specifies the default state for worker size options. + Default WorkerSizeOptions = "Default" + // Large specifies the large state for worker size options. + Large WorkerSizeOptions = "Large" + // Medium specifies the medium state for worker size options. + Medium WorkerSizeOptions = "Medium" + // Small specifies the small state for worker size options. + Small WorkerSizeOptions = "Small" ) // Address is address information for domain registration. @@ -875,8 +872,7 @@ type Address struct { State *string `json:"state,omitempty"` } -// AddressResponse is describes main public IP address and any extra virtual -// IPs. +// AddressResponse is describes main public IP address and any extra virtual IPs. type AddressResponse struct { autorest.Response `json:"-"` ServiceIPAddress *string `json:"serviceIpAddress,omitempty"` @@ -885,8 +881,7 @@ type AddressResponse struct { VipMappings *[]VirtualIPMapping `json:"vipMappings,omitempty"` } -// APIDefinitionInfo is information about the formal API definition for the -// app. +// APIDefinitionInfo is information about the formal API definition for the app. type APIDefinitionInfo struct { URL *string `json:"url,omitempty"` } @@ -936,16 +931,14 @@ type ApplicationLogsConfig struct { AzureBlobStorage *AzureBlobStorageApplicationLogsConfig `json:"azureBlobStorage,omitempty"` } -// AppServiceCertificate is key Vault container for a certificate that is -// purchased through Azure. +// AppServiceCertificate is key Vault container for a certificate that is purchased through Azure. type AppServiceCertificate struct { KeyVaultID *string `json:"keyVaultId,omitempty"` KeyVaultSecretName *string `json:"keyVaultSecretName,omitempty"` ProvisioningState KeyVaultSecretStatus `json:"provisioningState,omitempty"` } -// AppServiceCertificateCollection is collection of certitificateorder -// certificates. +// AppServiceCertificateCollection is collection of certitificateorder certificates. type AppServiceCertificateCollection struct { autorest.Response `json:"-"` Value *[]AppServiceCertificateResource `json:"value,omitempty"` @@ -964,7 +957,7 @@ func (client AppServiceCertificateCollection) AppServiceCertificateCollectionPre autorest.WithBaseURL(to.String(client.NextLink))) } -// AppServiceCertificateOrder is sSL certificate purchase order. +// AppServiceCertificateOrder is SSL certificate purchase order. type AppServiceCertificateOrder struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -976,8 +969,7 @@ type AppServiceCertificateOrder struct { *AppServiceCertificateOrderProperties `json:"properties,omitempty"` } -// AppServiceCertificateOrderProperties is appServiceCertificateOrder resource -// specific properties +// AppServiceCertificateOrderProperties is appServiceCertificateOrder resource specific properties type AppServiceCertificateOrderProperties struct { Certificates *map[string]*AppServiceCertificate `json:"certificates,omitempty"` DistinguishedName *string `json:"distinguishedName,omitempty"` @@ -1019,8 +1011,7 @@ func (client AppServiceCertificateOrderCollection) AppServiceCertificateOrderCol autorest.WithBaseURL(to.String(client.NextLink))) } -// AppServiceCertificateResource is key Vault container ARM resource for a -// certificate that is purchased through Azure. +// AppServiceCertificateResource is key Vault container ARM resource for a certificate that is purchased through Azure. type AppServiceCertificateResource struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -1153,8 +1144,7 @@ func (client AppServicePlanCollection) AppServicePlanCollectionPreparer() (*http autorest.WithBaseURL(to.String(client.NextLink))) } -// AutoHealActions is actions which to take by the auto-heal module when a rule -// is triggered. +// AutoHealActions is actions which to take by the auto-heal module when a rule is triggered. type AutoHealActions struct { ActionType AutoHealActionType `json:"actionType,omitempty"` CustomAction *AutoHealCustomAction `json:"customAction,omitempty"` @@ -1182,24 +1172,21 @@ type AutoHealTriggers struct { SlowRequests *SlowRequestsBasedTrigger `json:"slowRequests,omitempty"` } -// AzureBlobStorageApplicationLogsConfig is application logs azure blob storage -// configuration. +// AzureBlobStorageApplicationLogsConfig is application logs azure blob storage configuration. type AzureBlobStorageApplicationLogsConfig struct { Level LogLevel `json:"level,omitempty"` SasURL *string `json:"sasUrl,omitempty"` RetentionInDays *int32 `json:"retentionInDays,omitempty"` } -// AzureBlobStorageHTTPLogsConfig is http logs to azure blob storage -// configuration. +// AzureBlobStorageHTTPLogsConfig is http logs to azure blob storage configuration. type AzureBlobStorageHTTPLogsConfig struct { SasURL *string `json:"sasUrl,omitempty"` RetentionInDays *int32 `json:"retentionInDays,omitempty"` Enabled *bool `json:"enabled,omitempty"` } -// AzureTableStorageApplicationLogsConfig is application logs to Azure table -// storage configuration. +// AzureTableStorageApplicationLogsConfig is application logs to Azure table storage configuration. type AzureTableStorageApplicationLogsConfig struct { Level LogLevel `json:"level,omitempty"` SasURL *string `json:"sasUrl,omitempty"` @@ -1208,12 +1195,10 @@ type AzureTableStorageApplicationLogsConfig struct { // BackupItem is backup description. type BackupItem struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *BackupItemProperties `json:"properties,omitempty"` } @@ -1257,12 +1242,10 @@ func (client BackupItemCollection) BackupItemCollectionPreparer() (*http.Request // BackupRequest is description of a backup which will be performed. type BackupRequest struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *BackupRequestProperties `json:"properties,omitempty"` } @@ -1276,8 +1259,8 @@ type BackupRequestProperties struct { Type BackupRestoreOperationType `json:"type,omitempty"` } -// BackupSchedule is description of a backup schedule. Describes how often -// should be the backup performed and what should be the retention policy. +// BackupSchedule is description of a backup schedule. Describes how often should be the backup performed and what +// should be the retention policy. type BackupSchedule struct { FrequencyInterval *int32 `json:"frequencyInterval,omitempty"` FrequencyUnit FrequencyUnit `json:"frequencyUnit,omitempty"` @@ -1287,15 +1270,14 @@ type BackupSchedule struct { LastExecutionTime *date.Time `json:"lastExecutionTime,omitempty"` } -// Capability is describes the capabilities/features allowed for a specific -// SKU. +// Capability is describes the capabilities/features allowed for a specific SKU. type Capability struct { Name *string `json:"name,omitempty"` Value *string `json:"value,omitempty"` Reason *string `json:"reason,omitempty"` } -// Certificate is sSL certificate for an app. +// Certificate is SSL certificate for an app. type Certificate struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -1351,7 +1333,7 @@ func (client CertificateCollection) CertificateCollectionPreparer() (*http.Reque autorest.WithBaseURL(to.String(client.NextLink))) } -// CertificateDetails is sSL certificate details. +// CertificateDetails is SSL certificate details. type CertificateDetails struct { Version *int32 `json:"version,omitempty"` SerialNumber *string `json:"serialNumber,omitempty"` @@ -1364,14 +1346,12 @@ type CertificateDetails struct { RawData *string `json:"rawData,omitempty"` } -// CertificateEmail is sSL certificate email. +// CertificateEmail is SSL certificate email. type CertificateEmail struct { - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *CertificateEmailProperties `json:"properties,omitempty"` } @@ -1392,8 +1372,7 @@ type CertificateOrderAction struct { *CertificateOrderActionProperties `json:"properties,omitempty"` } -// CertificateOrderActionProperties is certificateOrderAction resource specific -// properties +// CertificateOrderActionProperties is certificateOrderAction resource specific properties type CertificateOrderActionProperties struct { Type CertificateOrderActionType `json:"type,omitempty"` CreatedAt *date.Time `json:"createdAt,omitempty"` @@ -1420,9 +1399,7 @@ type ConnectionStringDictionary struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` Properties *map[string]*ConnStringValueTypePair `json:"properties,omitempty"` } @@ -1439,9 +1416,8 @@ type ConnStringValueTypePair struct { Type ConnectionStringType `json:"type,omitempty"` } -// Contact is contact information for domain registration. If 'Domain Privacy' -// option is not selected then the contact information is made publicly -// available through the Whois +// Contact is contact information for domain registration. If 'Domain Privacy' option is not selected then the contact +// information is made publicly available through the Whois // directories as per ICANN requirements. type Contact struct { AddressMailing *Address `json:"addressMailing,omitempty"` @@ -1455,30 +1431,107 @@ type Contact struct { Phone *string `json:"phone,omitempty"` } +// ContinuousWebJob is continuous Web Job Information. +type ContinuousWebJob struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` + *ContinuousWebJobProperties `json:"properties,omitempty"` +} + +// ContinuousWebJobProperties is continuousWebJob resource specific properties +type ContinuousWebJobProperties struct { + Status ContinuousWebJobStatus `json:"status,omitempty"` + DetailedStatus *string `json:"detailedStatus,omitempty"` + LogURL *string `json:"logUrl,omitempty"` + Name *string `json:"name,omitempty"` + RunCommand *string `json:"runCommand,omitempty"` + URL *string `json:"url,omitempty"` + ExtraInfoURL *string `json:"extraInfoUrl,omitempty"` + JobType JobType `json:"jobType,omitempty"` + Error *string `json:"error,omitempty"` + UsingSdk *bool `json:"usingSdk,omitempty"` + Settings *map[string]interface{} `json:"settings,omitempty"` +} + +// ContinuousWebJobCollection is collection of Kudu continuous web job information elements. +type ContinuousWebJobCollection struct { + autorest.Response `json:"-"` + Value *[]ContinuousWebJob `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// ContinuousWebJobCollectionPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client ContinuousWebJobCollection) ContinuousWebJobCollectionPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + // CorsSettings is cross-Origin Resource Sharing (CORS) settings for the app. type CorsSettings struct { AllowedOrigins *[]string `json:"allowedOrigins,omitempty"` } -// CsmMoveResourceEnvelope is object with a list of the resources that need to -// be moved and the resource group they should be moved to. +// CsmMoveResourceEnvelope is object with a list of the resources that need to be moved and the resource group they +// should be moved to. type CsmMoveResourceEnvelope struct { TargetResourceGroup *string `json:"targetResourceGroup,omitempty"` Resources *[]string `json:"resources,omitempty"` } +// CsmOperationCollection is collection of Azure resource manager operation metadata. +type CsmOperationCollection struct { + autorest.Response `json:"-"` + Value *[]CsmOperationDescription `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// CsmOperationCollectionPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client CsmOperationCollection) CsmOperationCollectionPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// CsmOperationDescription is +type CsmOperationDescription struct { + Name *string `json:"name,omitempty"` + Display *CsmOperationDisplay `json:"display,omitempty"` + Origin *string `json:"origin,omitempty"` + Properties *CsmOperationDescriptionProperties `json:"properties,omitempty"` +} + +// CsmOperationDescriptionProperties is +type CsmOperationDescriptionProperties struct { + ServiceSpecification *ServiceSpecification `json:"serviceSpecification,omitempty"` +} + +// CsmOperationDisplay is +type CsmOperationDisplay struct { + Provider *string `json:"provider,omitempty"` + Resource *string `json:"resource,omitempty"` + Operation *string `json:"operation,omitempty"` + Description *string `json:"description,omitempty"` +} + // CsmPublishingProfileOptions is publishing options for requested profile. type CsmPublishingProfileOptions struct { Format PublishingProfileFormat `json:"format,omitempty"` } -// CsmSiteRecoveryEntity is details about app recovery operation. -type CsmSiteRecoveryEntity struct { - SnapshotTime *date.Time `json:"snapshotTime,omitempty"` - SiteName *string `json:"siteName,omitempty"` - SlotName *string `json:"slotName,omitempty"` -} - // CsmSlotEntity is deployment slot parameters. type CsmSlotEntity struct { TargetSlot *string `json:"targetSlot,omitempty"` @@ -1516,17 +1569,14 @@ func (client CsmUsageQuotaCollection) CsmUsageQuotaCollectionPreparer() (*http.R // CustomHostnameAnalysisResult is custom domain analysis. type CustomHostnameAnalysisResult struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *CustomHostnameAnalysisResultProperties `json:"properties,omitempty"` } -// CustomHostnameAnalysisResultProperties is customHostnameAnalysisResult -// resource specific properties +// CustomHostnameAnalysisResultProperties is customHostnameAnalysisResult resource specific properties type CustomHostnameAnalysisResultProperties struct { IsHostnameAlreadyVerified *bool `json:"isHostnameAlreadyVerified,omitempty"` CustomDomainVerificationTest DNSVerificationTestResult `json:"customDomainVerificationTest,omitempty"` @@ -1551,50 +1601,11 @@ type DatabaseBackupSetting struct { // DeletedSite is a deleted app. type DeletedSite struct { - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` - *DeletedSiteProperties `json:"properties,omitempty"` -} - -// DeletedSiteProperties is deletedSite resource specific properties -type DeletedSiteProperties struct { - DeletedTimestamp *date.Time `json:"deletedTimestamp,omitempty"` - State *string `json:"state,omitempty"` - HostNames *[]string `json:"hostNames,omitempty"` - RepositorySiteName *string `json:"repositorySiteName,omitempty"` - UsageState UsageState `json:"usageState,omitempty"` - Enabled *bool `json:"enabled,omitempty"` - EnabledHostNames *[]string `json:"enabledHostNames,omitempty"` - AvailabilityState SiteAvailabilityState `json:"availabilityState,omitempty"` - HostNameSslStates *[]HostNameSslState `json:"hostNameSslStates,omitempty"` - ServerFarmID *string `json:"serverFarmId,omitempty"` - Reserved *bool `json:"reserved,omitempty"` - LastModifiedTimeUtc *date.Time `json:"lastModifiedTimeUtc,omitempty"` - SiteConfig *SiteConfig `json:"siteConfig,omitempty"` - TrafficManagerHostNames *[]string `json:"trafficManagerHostNames,omitempty"` - PremiumAppDeployed *bool `json:"premiumAppDeployed,omitempty"` - ScmSiteAlsoStopped *bool `json:"scmSiteAlsoStopped,omitempty"` - TargetSwapSlot *string `json:"targetSwapSlot,omitempty"` - HostingEnvironmentProfile *HostingEnvironmentProfile `json:"hostingEnvironmentProfile,omitempty"` - MicroService *string `json:"microService,omitempty"` - GatewaySiteName *string `json:"gatewaySiteName,omitempty"` - ClientAffinityEnabled *bool `json:"clientAffinityEnabled,omitempty"` - ClientCertEnabled *bool `json:"clientCertEnabled,omitempty"` - HostNamesDisabled *bool `json:"hostNamesDisabled,omitempty"` - OutboundIPAddresses *string `json:"outboundIpAddresses,omitempty"` - ContainerSize *int32 `json:"containerSize,omitempty"` - DailyMemoryTimeQuota *int32 `json:"dailyMemoryTimeQuota,omitempty"` - SuspendedTill *date.Time `json:"suspendedTill,omitempty"` - MaxNumberOfWorkers *int32 `json:"maxNumberOfWorkers,omitempty"` - CloningInfo *CloningInfo `json:"cloningInfo,omitempty"` - ResourceGroup *string `json:"resourceGroup,omitempty"` - IsDefaultContainer *bool `json:"isDefaultContainer,omitempty"` - DefaultHostName *string `json:"defaultHostName,omitempty"` - SlotSwapStatus *SlotSwapStatus `json:"slotSwapStatus,omitempty"` + ID *int32 `json:"id,omitempty"` + DeletedTimestamp *string `json:"deletedTimestamp,omitempty"` + Subscription *string `json:"subscription,omitempty"` + ResourceGroup *string `json:"resourceGroup,omitempty"` + Name *string `json:"name,omitempty"` } // DeletedWebAppCollection is collection of deleted apps. @@ -1619,12 +1630,10 @@ func (client DeletedWebAppCollection) DeletedWebAppCollectionPreparer() (*http.R // Deployment is user crendentials used for publishing activity. type Deployment struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *DeploymentProperties `json:"properties,omitempty"` } @@ -1661,6 +1670,14 @@ func (client DeploymentCollection) DeploymentCollectionPreparer() (*http.Request autorest.WithBaseURL(to.String(client.NextLink))) } +// Dimension is +type Dimension struct { + Name *string `json:"name,omitempty"` + DisplayName *string `json:"displayName,omitempty"` + InternalName *string `json:"internalName,omitempty"` + ToBeExportedForShoebox *bool `json:"toBeExportedForShoebox,omitempty"` +} + // Domain is information about a domain. type Domain struct { autorest.Response `json:"-"` @@ -1724,8 +1741,7 @@ func (client DomainCollection) DomainCollectionPreparer() (*http.Request, error) autorest.WithBaseURL(to.String(client.NextLink))) } -// DomainControlCenterSsoRequest is single sign-on request information for -// domain management. +// DomainControlCenterSsoRequest is single sign-on request information for domain management. type DomainControlCenterSsoRequest struct { autorest.Response `json:"-"` URL *string `json:"url,omitempty"` @@ -1745,14 +1761,12 @@ type DomainOwnershipIdentifier struct { *DomainOwnershipIdentifierProperties `json:"properties,omitempty"` } -// DomainOwnershipIdentifierProperties is domainOwnershipIdentifier resource -// specific properties +// DomainOwnershipIdentifierProperties is domainOwnershipIdentifier resource specific properties type DomainOwnershipIdentifierProperties struct { OwnershipID *string `json:"ownershipId,omitempty"` } -// DomainOwnershipIdentifierCollection is collection of domain ownership -// identifiers. +// DomainOwnershipIdentifierCollection is collection of domain ownership identifiers. type DomainOwnershipIdentifierCollection struct { autorest.Response `json:"-"` Value *[]DomainOwnershipIdentifier `json:"value,omitempty"` @@ -1771,16 +1785,14 @@ func (client DomainOwnershipIdentifierCollection) DomainOwnershipIdentifierColle autorest.WithBaseURL(to.String(client.NextLink))) } -// DomainPurchaseConsent is domain purchase consent object, representing -// acceptance of applicable legal agreements. +// DomainPurchaseConsent is domain purchase consent object, representing acceptance of applicable legal agreements. type DomainPurchaseConsent struct { AgreementKeys *[]string `json:"agreementKeys,omitempty"` AgreedBy *string `json:"agreedBy,omitempty"` AgreedAt *date.Time `json:"agreedAt,omitempty"` } -// DomainRecommendationSearchParameters is domain recommendation search -// parameters. +// DomainRecommendationSearchParameters is domain recommendation search parameters. type DomainRecommendationSearchParameters struct { Keywords *string `json:"keywords,omitempty"` MaxDomainRecommendations *int32 `json:"maxDomainRecommendations,omitempty"` @@ -1793,12 +1805,12 @@ type EnabledConfig struct { // ErrorEntity is body of the error response returned from the API. type ErrorEntity struct { + Code *string `json:"code,omitempty"` + Message *string `json:"message,omitempty"` ExtendedCode *string `json:"extendedCode,omitempty"` MessageTemplate *string `json:"messageTemplate,omitempty"` Parameters *[]string `json:"parameters,omitempty"` InnerErrors *[]ErrorEntity `json:"innerErrors,omitempty"` - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` } // Experiments is routing rules in production experiments. @@ -1806,8 +1818,7 @@ type Experiments struct { RampUpRules *[]RampUpRule `json:"rampUpRules,omitempty"` } -// FileSystemApplicationLogsConfig is application logs to file system -// configuration. +// FileSystemApplicationLogsConfig is application logs to file system configuration. type FileSystemApplicationLogsConfig struct { Level LogLevel `json:"level,omitempty"` } @@ -1819,14 +1830,71 @@ type FileSystemHTTPLogsConfig struct { Enabled *bool `json:"enabled,omitempty"` } +// FunctionEnvelope is web Job Information. +type FunctionEnvelope struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` + *FunctionEnvelopeProperties `json:"properties,omitempty"` +} + +// FunctionEnvelopeProperties is functionEnvelope resource specific properties +type FunctionEnvelopeProperties struct { + Name *string `json:"name,omitempty"` + FunctionAppID *string `json:"functionAppId,omitempty"` + ScriptRootPathHref *string `json:"scriptRootPathHref,omitempty"` + ScriptHref *string `json:"scriptHref,omitempty"` + ConfigHref *string `json:"configHref,omitempty"` + SecretsFileHref *string `json:"secretsFileHref,omitempty"` + Href *string `json:"href,omitempty"` + Config *map[string]interface{} `json:"config,omitempty"` + Files *map[string]*string `json:"files,omitempty"` + TestData *string `json:"testData,omitempty"` +} + +// FunctionEnvelopeCollection is collection of Kudu function information elements. +type FunctionEnvelopeCollection struct { + autorest.Response `json:"-"` + Value *[]FunctionEnvelope `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// FunctionEnvelopeCollectionPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client FunctionEnvelopeCollection) FunctionEnvelopeCollectionPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// FunctionSecrets is function secrets. +type FunctionSecrets struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` + *FunctionSecretsProperties `json:"properties,omitempty"` +} + +// FunctionSecretsProperties is functionSecrets resource specific properties +type FunctionSecretsProperties struct { + Key *string `json:"key,omitempty"` + TriggerURL *string `json:"triggerUrl,omitempty"` +} + // GeoRegion is geographical region. type GeoRegion struct { - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *GeoRegionProperties `json:"properties,omitempty"` } @@ -1865,10 +1933,9 @@ type GlobalCsmSkuDescription struct { Capabilities *[]Capability `json:"capabilities,omitempty"` } -// HandlerMapping is the IIS handler mappings used to define which handler -// processes HTTP requests with certain extension. -// For example, it is used to configure php-cgi.exe process to handle all HTTP -// requests with *.php extension. +// HandlerMapping is the IIS handler mappings used to define which handler processes HTTP requests with certain +// extension. +// For example, it is used to configure php-cgi.exe process to handle all HTTP requests with *.php extension. type HandlerMapping struct { Extension *string `json:"extension,omitempty"` ScriptProcessor *string `json:"scriptProcessor,omitempty"` @@ -1882,8 +1949,7 @@ type HostingEnvironmentDiagnostics struct { DiagnosicsOutput *string `json:"diagnosicsOutput,omitempty"` } -// HostingEnvironmentProfile is specification for an App Service Environment to -// use for this resource. +// HostingEnvironmentProfile is specification for an App Service Environment to use for this resource. type HostingEnvironmentProfile struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` @@ -1903,12 +1969,10 @@ type HostName struct { // HostNameBinding is a hostname binding object. type HostNameBinding struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *HostNameBindingProperties `json:"properties,omitempty"` } @@ -1945,7 +2009,7 @@ func (client HostNameBindingCollection) HostNameBindingCollectionPreparer() (*ht autorest.WithBaseURL(to.String(client.NextLink))) } -// HostNameSslState is sSL-enabled hostname. +// HostNameSslState is SSL-enabled hostname. type HostNameSslState struct { Name *string `json:"name,omitempty"` SslState SslState `json:"sslState,omitempty"` @@ -1961,16 +2025,13 @@ type HTTPLogsConfig struct { AzureBlobStorage *AzureBlobStorageHTTPLogsConfig `json:"azureBlobStorage,omitempty"` } -// HybridConnection is hybrid Connection contract. This is used to configure a -// Hybrid Connection. +// HybridConnection is hybrid Connection contract. This is used to configure a Hybrid Connection. type HybridConnection struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *HybridConnectionProperties `json:"properties,omitempty"` } @@ -1983,6 +2044,7 @@ type HybridConnectionProperties struct { Port *int32 `json:"port,omitempty"` SendKeyName *string `json:"sendKeyName,omitempty"` SendKeyValue *string `json:"sendKeyValue,omitempty"` + ServiceBusSuffix *string `json:"serviceBusSuffix,omitempty"` } // HybridConnectionCollection is collection of hostname bindings. @@ -2004,41 +2066,34 @@ func (client HybridConnectionCollection) HybridConnectionCollectionPreparer() (* autorest.WithBaseURL(to.String(client.NextLink))) } -// HybridConnectionKey is hybrid Connection key contract. This has the send key -// name and value for a Hybrid Connection. +// HybridConnectionKey is hybrid Connection key contract. This has the send key name and value for a Hybrid Connection. type HybridConnectionKey struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *HybridConnectionKeyProperties `json:"properties,omitempty"` } -// HybridConnectionKeyProperties is hybridConnectionKey resource specific -// properties +// HybridConnectionKeyProperties is hybridConnectionKey resource specific properties type HybridConnectionKeyProperties struct { SendKeyName *string `json:"sendKeyName,omitempty"` SendKeyValue *string `json:"sendKeyValue,omitempty"` } -// HybridConnectionLimits is hybrid Connection limits contract. This is used to -// return the plan limits of Hybrid Connections. +// HybridConnectionLimits is hybrid Connection limits contract. This is used to return the plan limits of Hybrid +// Connections. type HybridConnectionLimits struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *HybridConnectionLimitsProperties `json:"properties,omitempty"` } -// HybridConnectionLimitsProperties is hybridConnectionLimits resource specific -// properties +// HybridConnectionLimitsProperties is hybridConnectionLimits resource specific properties type HybridConnectionLimitsProperties struct { Current *int32 `json:"current,omitempty"` Maximum *int32 `json:"maximum,omitempty"` @@ -2047,12 +2102,10 @@ type HybridConnectionLimitsProperties struct { // Identifier is identifier. type Identifier struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *IdentifierProperties `json:"properties,omitempty"` } @@ -2080,12 +2133,53 @@ func (client IdentifierCollection) IdentifierCollectionPreparer() (*http.Request autorest.WithBaseURL(to.String(client.NextLink))) } -// IPSecurityRestriction is iP security restriction on an app. +// IPSecurityRestriction is IP security restriction on an app. type IPSecurityRestriction struct { IPAddress *string `json:"ipAddress,omitempty"` SubnetMask *string `json:"subnetMask,omitempty"` } +// Job is web Job Information. +type Job struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` + *JobProperties `json:"properties,omitempty"` +} + +// JobCollection is collection of Kudu web job information elements. +type JobCollection struct { + autorest.Response `json:"-"` + Value *[]Job `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// JobCollectionPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client JobCollection) JobCollectionPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// JobProperties is webJob resource specific properties +type JobProperties struct { + Name *string `json:"name,omitempty"` + RunCommand *string `json:"runCommand,omitempty"` + URL *string `json:"url,omitempty"` + ExtraInfoURL *string `json:"extraInfoUrl,omitempty"` + JobType JobType `json:"jobType,omitempty"` + Error *string `json:"error,omitempty"` + UsingSdk *bool `json:"usingSdk,omitempty"` + Settings *map[string]interface{} `json:"settings,omitempty"` +} + // ListCapability is type ListCapability struct { autorest.Response `json:"-"` @@ -2140,8 +2234,7 @@ type ListVnetRoute struct { Value *[]VnetRoute `json:"value,omitempty"` } -// LocalizableString is localizable string object containing the name and a -// localized value. +// LocalizableString is localizable string object containing the name and a localized value. type LocalizableString struct { Value *string `json:"value,omitempty"` LocalizedValue *string `json:"localizedValue,omitempty"` @@ -2153,15 +2246,19 @@ type MetricAvailabilily struct { Retention *string `json:"retention,omitempty"` } +// MetricAvailability is +type MetricAvailability struct { + TimeGrain *string `json:"timeGrain,omitempty"` + BlobDuration *string `json:"blobDuration,omitempty"` +} + // MetricDefinition is metadata for a metric. type MetricDefinition struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *MetricDefinitionProperties `json:"properties,omitempty"` } @@ -2174,43 +2271,118 @@ type MetricDefinitionProperties struct { DisplayName *string `json:"displayName,omitempty"` } +// MetricSpecification is +type MetricSpecification struct { + Name *string `json:"name,omitempty"` + DisplayName *string `json:"displayName,omitempty"` + DisplayDescription *string `json:"displayDescription,omitempty"` + Unit *string `json:"unit,omitempty"` + AggregationType *string `json:"aggregationType,omitempty"` + SupportsInstanceLevelAggregation *bool `json:"supportsInstanceLevelAggregation,omitempty"` + EnableRegionalMdmAccount *bool `json:"enableRegionalMdmAccount,omitempty"` + SourceMdmAccount *string `json:"sourceMdmAccount,omitempty"` + SourceMdmNamespace *string `json:"sourceMdmNamespace,omitempty"` + MetricFilterPattern *string `json:"metricFilterPattern,omitempty"` + FillGapWithZero *bool `json:"fillGapWithZero,omitempty"` + IsInternal *bool `json:"isInternal,omitempty"` + Dimensions *[]Dimension `json:"dimensions,omitempty"` + Category *string `json:"category,omitempty"` + Availabilities *[]MetricAvailability `json:"availabilities,omitempty"` +} + // MigrateMySQLRequest is mySQL migration request. type MigrateMySQLRequest struct { - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *MigrateMySQLRequestProperties `json:"properties,omitempty"` } -// MigrateMySQLRequestProperties is migrateMySqlRequest resource specific -// properties +// MigrateMySQLRequestProperties is migrateMySqlRequest resource specific properties type MigrateMySQLRequestProperties struct { - ConnectionString *string `json:"connectionString,omitempty"` + ConnectionString *string `json:"connectionString,omitempty"` + MigrationType MySQLMigrationType `json:"migrationType,omitempty"` } // MigrateMySQLStatus is mySQL migration status. type MigrateMySQLStatus struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *MigrateMySQLStatusProperties `json:"properties,omitempty"` } -// MigrateMySQLStatusProperties is migrateMySqlStatus resource specific -// properties +// MigrateMySQLStatusProperties is migrateMySqlStatus resource specific properties type MigrateMySQLStatusProperties struct { MigrationOperationStatus OperationStatus `json:"migrationOperationStatus,omitempty"` OperationID *string `json:"operationId,omitempty"` LocalMySQLEnabled *bool `json:"localMySqlEnabled,omitempty"` } +// MSDeploy is mSDeploy ARM PUT information +type MSDeploy struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` + *MSDeployCore `json:"properties,omitempty"` +} + +// MSDeployCore is mSDeploy ARM PUT core information +type MSDeployCore struct { + PackageURI *string `json:"packageUri,omitempty"` + ConnectionString *string `json:"connectionString,omitempty"` + DbType *string `json:"dbType,omitempty"` + SetParametersXMLFileURI *string `json:"setParametersXmlFileUri,omitempty"` + SetParameters *map[string]*string `json:"setParameters,omitempty"` + SkipAppData *bool `json:"skipAppData,omitempty"` + AppOffline *bool `json:"appOffline,omitempty"` +} + +// MSDeployLog is mSDeploy log +type MSDeployLog struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` + *MSDeployLogProperties `json:"properties,omitempty"` +} + +// MSDeployLogProperties is mSDeployLog resource specific properties +type MSDeployLogProperties struct { + Entries *[]MSDeployLogEntry `json:"entries,omitempty"` +} + +// MSDeployLogEntry is mSDeploy log entry +type MSDeployLogEntry struct { + Time *date.Time `json:"time,omitempty"` + Type MSDeployLogEntryType `json:"type,omitempty"` + Message *string `json:"message,omitempty"` +} + +// MSDeployStatus is mSDeploy ARM response +type MSDeployStatus struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` + *MSDeployStatusProperties `json:"properties,omitempty"` +} + +// MSDeployStatusProperties is mSDeployStatus resource specific properties +type MSDeployStatusProperties struct { + Deployer *string `json:"deployer,omitempty"` + ProvisioningState MSDeployProvisioningState `json:"provisioningState,omitempty"` + StartTime *date.Time `json:"startTime,omitempty"` + EndTime *date.Time `json:"endTime,omitempty"` + Complete *bool `json:"complete,omitempty"` +} + // NameIdentifier is identifies an object. type NameIdentifier struct { Name *string `json:"name,omitempty"` @@ -2249,16 +2421,13 @@ type NetworkAccessControlEntry struct { RemoteSubnet *string `json:"remoteSubnet,omitempty"` } -// NetworkFeatures is full view of network features for an app (presently VNET -// integration and Hybrid Connections). +// NetworkFeatures is full view of network features for an app (presently VNET integration and Hybrid Connections). type NetworkFeatures struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *NetworkFeaturesProperties `json:"properties,omitempty"` } @@ -2314,6 +2483,7 @@ type PerfMonSample struct { Time *date.Time `json:"time,omitempty"` InstanceName *string `json:"instanceName,omitempty"` Value *float64 `json:"value,omitempty"` + CoreCount *int32 `json:"coreCount,omitempty"` } // PerfMonSet is metric information. @@ -2351,17 +2521,14 @@ type PremierAddOnProperties struct { // PremierAddOnOffer is premier add-on offer. type PremierAddOnOffer struct { - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *PremierAddOnOfferProperties `json:"properties,omitempty"` } -// PremierAddOnOfferProperties is premierAddOnOffer resource specific -// properties +// PremierAddOnOfferProperties is premierAddOnOffer resource specific properties type PremierAddOnOfferProperties struct { Sku *string `json:"sku,omitempty"` Product *string `json:"product,omitempty"` @@ -2395,18 +2562,229 @@ func (client PremierAddOnOfferCollection) PremierAddOnOfferCollectionPreparer() autorest.WithBaseURL(to.String(client.NextLink))) } +// ProcessInfo is process Information. +type ProcessInfo struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` + *ProcessInfoProperties `json:"properties,omitempty"` +} + +// ProcessInfoProperties is processInfo resource specific properties +type ProcessInfoProperties struct { + ID *int32 `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Href *string `json:"href,omitempty"` + MiniDump *string `json:"miniDump,omitempty"` + IsProfileRunning *bool `json:"isProfileRunning,omitempty"` + IsIisProfileRunning *bool `json:"isIisProfileRunning,omitempty"` + IisProfileTimeoutInSeconds *float64 `json:"iisProfileTimeoutInSeconds,omitempty"` + Parent *string `json:"parent,omitempty"` + Children *[]string `json:"children,omitempty"` + Threads *[]ProcessThreadInfo `json:"threads,omitempty"` + OpenFileHandles *[]string `json:"openFileHandles,omitempty"` + Modules *[]ProcessModuleInfo `json:"modules,omitempty"` + FileName *string `json:"fileName,omitempty"` + CommandLine *string `json:"commandLine,omitempty"` + UserName *string `json:"userName,omitempty"` + HandleCount *int32 `json:"handleCount,omitempty"` + ModuleCount *int32 `json:"moduleCount,omitempty"` + ThreadCount *int32 `json:"threadCount,omitempty"` + StartTime *date.Time `json:"startTime,omitempty"` + TotalProcessorTime *string `json:"totalProcessorTime,omitempty"` + UserProcessorTime *string `json:"userProcessorTime,omitempty"` + PrivilegedProcessorTime *string `json:"privilegedProcessorTime,omitempty"` + WorkingSet64 *int64 `json:"workingSet64,omitempty"` + PeakWorkingSet64 *int64 `json:"peakWorkingSet64,omitempty"` + PrivateMemorySize64 *int64 `json:"privateMemorySize64,omitempty"` + VirtualMemorySize64 *int64 `json:"virtualMemorySize64,omitempty"` + PeakVirtualMemorySize64 *int64 `json:"peakVirtualMemorySize64,omitempty"` + PagedSystemMemorySize64 *int64 `json:"pagedSystemMemorySize64,omitempty"` + NonpagedSystemMemorySize64 *int64 `json:"nonpagedSystemMemorySize64,omitempty"` + PagedMemorySize64 *int64 `json:"pagedMemorySize64,omitempty"` + PeakPagedMemorySize64 *int64 `json:"peakPagedMemorySize64,omitempty"` + TimeStamp *date.Time `json:"timeStamp,omitempty"` + EnvironmentVariables *map[string]*string `json:"environmentVariables,omitempty"` + IsScmSite *bool `json:"isScmSite,omitempty"` + IsWebJob *bool `json:"isWebJob,omitempty"` + Description *string `json:"description,omitempty"` +} + +// ProcessInfoCollection is collection of Kudu process information elements. +type ProcessInfoCollection struct { + autorest.Response `json:"-"` + Value *[]ProcessInfo `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// ProcessInfoCollectionPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client ProcessInfoCollection) ProcessInfoCollectionPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// ProcessModuleInfo is process Module Information. +type ProcessModuleInfo struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` + *ProcessModuleInfoProperties `json:"properties,omitempty"` +} + +// ProcessModuleInfoProperties is processModuleInfo resource specific properties +type ProcessModuleInfoProperties struct { + BaseAddress *string `json:"baseAddress,omitempty"` + FileName *string `json:"fileName,omitempty"` + Href *string `json:"href,omitempty"` + FilePath *string `json:"filePath,omitempty"` + ModuleMemorySize *int32 `json:"moduleMemorySize,omitempty"` + FileVersion *string `json:"fileVersion,omitempty"` + FileDescription *string `json:"fileDescription,omitempty"` + Product *string `json:"product,omitempty"` + ProductVersion *string `json:"productVersion,omitempty"` + IsDebug *bool `json:"isDebug,omitempty"` + Language *string `json:"language,omitempty"` +} + +// ProcessModuleInfoCollection is collection of Kudu thread information elements. +type ProcessModuleInfoCollection struct { + autorest.Response `json:"-"` + Value *[]ProcessModuleInfo `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// ProcessModuleInfoCollectionPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client ProcessModuleInfoCollection) ProcessModuleInfoCollectionPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// ProcessThreadInfo is process Thread Information. +type ProcessThreadInfo struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` + *ProcessThreadInfoProperties `json:"properties,omitempty"` +} + +// ProcessThreadInfoProperties is processThreadInfo resource specific properties +type ProcessThreadInfoProperties struct { + ID *int32 `json:"id,omitempty"` + Href *string `json:"href,omitempty"` + Process *string `json:"process,omitempty"` + StartAddress *string `json:"startAddress,omitempty"` + CurrentPriority *int32 `json:"currentPriority,omitempty"` + PriorityLevel *string `json:"priorityLevel,omitempty"` + BasePriority *int32 `json:"basePriority,omitempty"` + StartTime *date.Time `json:"startTime,omitempty"` + TotalProcessorTime *string `json:"totalProcessorTime,omitempty"` + UserProcessorTime *string `json:"userProcessorTime,omitempty"` + PriviledgedProcessorTime *string `json:"priviledgedProcessorTime,omitempty"` + State *string `json:"state,omitempty"` + WaitReason *string `json:"waitReason,omitempty"` +} + +// ProcessThreadInfoCollection is collection of Kudu thread information elements. +type ProcessThreadInfoCollection struct { + autorest.Response `json:"-"` + Value *[]ProcessThreadInfo `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// ProcessThreadInfoCollectionPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client ProcessThreadInfoCollection) ProcessThreadInfoCollectionPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// ProxyOnlyResource is azure proxy only resource. This resource is not tracked by Azure Resource Manager. +type ProxyOnlyResource struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` +} + +// PublicCertificate is public certificate object +type PublicCertificate struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` + *PublicCertificateProperties `json:"properties,omitempty"` +} + +// PublicCertificateProperties is publicCertificate resource specific properties +type PublicCertificateProperties struct { + Blob *string `json:"blob,omitempty"` + PublicCertificateLocation PublicCertificateLocation `json:"publicCertificateLocation,omitempty"` + Thumbprint *string `json:"thumbprint,omitempty"` +} + +// PublicCertificateCollection is collection of public certificates +type PublicCertificateCollection struct { + autorest.Response `json:"-"` + Value *[]PublicCertificate `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// PublicCertificateCollectionPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client PublicCertificateCollection) PublicCertificateCollectionPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + // PushSettings is push settings for the App. type PushSettings struct { - autorest.Response `json:"-"` + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` + *PushSettingsProperties `json:"properties,omitempty"` +} + +// PushSettingsProperties is pushSettings resource specific properties +type PushSettingsProperties struct { IsPushEnabled *bool `json:"isPushEnabled,omitempty"` TagWhitelistJSON *string `json:"tagWhitelistJson,omitempty"` TagsRequiringAuth *string `json:"tagsRequiringAuth,omitempty"` DynamicTagsJSON *string `json:"dynamicTagsJson,omitempty"` } -// RampUpRule is routing rules for ramp up testing. This rule allows to -// redirect static traffic % to a slot or to gradually change routing % based -// on performance. +// RampUpRule is routing rules for ramp up testing. This rule allows to redirect static traffic % to a slot or to +// gradually change routing % based on performance. type RampUpRule struct { ActionHostName *string `json:"actionHostName,omitempty"` ReroutePercentage *float64 `json:"reroutePercentage,omitempty"` @@ -2424,8 +2802,7 @@ type ReadCloser struct { Value *io.ReadCloser `json:"value,omitempty"` } -// Recommendation is represents a recommendation result generated by the -// recommendation engine. +// Recommendation is represents a recommendation result generated by the recommendation engine. type Recommendation struct { CreationTime *date.Time `json:"creationTime,omitempty"` RecommendationID *string `json:"recommendationId,omitempty"` @@ -2450,8 +2827,7 @@ type Recommendation struct { ForwardLink *string `json:"forwardLink,omitempty"` } -// RecommendationRule is represents a recommendation rule that the -// recommendation engine can perform. +// RecommendationRule is represents a recommendation rule that the recommendation engine can perform. type RecommendationRule struct { autorest.Response `json:"-"` Name *string `json:"name,omitempty"` @@ -2469,25 +2845,7 @@ type RecommendationRule struct { ForwardLink *string `json:"forwardLink,omitempty"` } -// RecoverResponse is response for an app recovery request. -type RecoverResponse struct { - autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` - *RecoverResponseProperties `json:"properties,omitempty"` -} - -// RecoverResponseProperties is recoverResponse resource specific properties -type RecoverResponseProperties struct { - OperationID *string `json:"operationId,omitempty"` -} - -// ReissueCertificateOrderRequest is class representing certificate reissue -// request. +// ReissueCertificateOrderRequest is class representing certificate reissue request. type ReissueCertificateOrderRequest struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` @@ -2498,8 +2856,7 @@ type ReissueCertificateOrderRequest struct { *ReissueCertificateOrderRequestProperties `json:"properties,omitempty"` } -// ReissueCertificateOrderRequestProperties is reissueCertificateOrderRequest -// resource specific properties +// ReissueCertificateOrderRequestProperties is reissueCertificateOrderRequest resource specific properties type ReissueCertificateOrderRequestProperties struct { KeySize *int32 `json:"keySize,omitempty"` DelayExistingRevokeInHours *int32 `json:"delayExistingRevokeInHours,omitempty"` @@ -2510,17 +2867,14 @@ type ReissueCertificateOrderRequestProperties struct { // RelayServiceConnectionEntity is hybrid Connection for an App Service app. type RelayServiceConnectionEntity struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *RelayServiceConnectionEntityProperties `json:"properties,omitempty"` } -// RelayServiceConnectionEntityProperties is relayServiceConnectionEntity -// resource specific properties +// RelayServiceConnectionEntityProperties is relayServiceConnectionEntity resource specific properties type RelayServiceConnectionEntityProperties struct { EntityName *string `json:"entityName,omitempty"` EntityConnectionString *string `json:"entityConnectionString,omitempty"` @@ -2531,8 +2885,7 @@ type RelayServiceConnectionEntityProperties struct { BiztalkURI *string `json:"biztalkUri,omitempty"` } -// RenewCertificateOrderRequest is class representing certificate renew -// request. +// RenewCertificateOrderRequest is class representing certificate renew request. type RenewCertificateOrderRequest struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` @@ -2543,8 +2896,7 @@ type RenewCertificateOrderRequest struct { *RenewCertificateOrderRequestProperties `json:"properties,omitempty"` } -// RenewCertificateOrderRequestProperties is renewCertificateOrderRequest -// resource specific properties +// RenewCertificateOrderRequestProperties is renewCertificateOrderRequest resource specific properties type RenewCertificateOrderRequestProperties struct { KeySize *int32 `json:"keySize,omitempty"` Csr *string `json:"csr,omitempty"` @@ -2557,7 +2909,7 @@ type RequestsBasedTrigger struct { TimeInterval *string `json:"timeInterval,omitempty"` } -// Resource is azure resource. +// Resource is azure resource. This resource is tracked in Azure Resource Manager type Resource struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` @@ -2586,26 +2938,6 @@ func (client ResourceCollection) ResourceCollectionPreparer() (*http.Request, er autorest.WithBaseURL(to.String(client.NextLink))) } -// ResourceHealthMetadata is used for getting ResourceHealthCheck settings. -type ResourceHealthMetadata struct { - autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` - *ResourceHealthMetadataProperties `json:"properties,omitempty"` -} - -// ResourceHealthMetadataProperties is resourceHealthMetadata resource specific -// properties -type ResourceHealthMetadataProperties struct { - ID *string `json:"id,omitempty"` - Category *string `json:"category,omitempty"` - SignalAvailability *bool `json:"signalAvailability,omitempty"` -} - // ResourceMetric is object representing a metric for any resource . type ResourceMetric struct { Name *ResourceMetricName `json:"name,omitempty"` @@ -2646,17 +2978,14 @@ func (client ResourceMetricCollection) ResourceMetricCollectionPreparer() (*http // ResourceMetricDefinition is metadata for the metrics. type ResourceMetricDefinition struct { - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *ResourceMetricDefinitionProperties `json:"properties,omitempty"` } -// ResourceMetricDefinitionProperties is resourceMetricDefinition resource -// specific properties +// ResourceMetricDefinitionProperties is resourceMetricDefinition resource specific properties type ResourceMetricDefinitionProperties struct { Name *ResourceMetricName `json:"name,omitempty"` Unit *string `json:"unit,omitempty"` @@ -2709,8 +3038,7 @@ type ResourceMetricValue struct { Properties *[]ResourceMetricProperty `json:"properties,omitempty"` } -// ResourceNameAvailability is information regarding availbility of a resource -// name. +// ResourceNameAvailability is information regarding availbility of a resource name. type ResourceNameAvailability struct { autorest.Response `json:"-"` NameAvailable *bool `json:"nameAvailable,omitempty"` @@ -2718,8 +3046,7 @@ type ResourceNameAvailability struct { Message *string `json:"message,omitempty"` } -// ResourceNameAvailabilityRequest is resource name availability request -// content. +// ResourceNameAvailabilityRequest is resource name availability request content. type ResourceNameAvailabilityRequest struct { Name *string `json:"name,omitempty"` Type CheckNameResourceTypes `json:"type,omitempty"` @@ -2729,12 +3056,10 @@ type ResourceNameAvailabilityRequest struct { // RestoreRequest is description of a restore request. type RestoreRequest struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *RestoreRequestProperties `json:"properties,omitempty"` } @@ -2746,6 +3071,8 @@ type RestoreRequestProperties struct { SiteName *string `json:"siteName,omitempty"` Databases *[]DatabaseBackupSetting `json:"databases,omitempty"` IgnoreConflictingHostNames *bool `json:"ignoreConflictingHostNames,omitempty"` + IgnoreDatabases *bool `json:"ignoreDatabases,omitempty"` + AppServicePlan *string `json:"appServicePlan,omitempty"` OperationType BackupRestoreOperationType `json:"operationType,omitempty"` AdjustConnectionStrings *bool `json:"adjustConnectionStrings,omitempty"` HostingEnvironment *string `json:"hostingEnvironment,omitempty"` @@ -2754,12 +3081,10 @@ type RestoreRequestProperties struct { // RestoreResponse is response for an app restore request. type RestoreResponse struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *RestoreResponseProperties `json:"properties,omitempty"` } @@ -2768,6 +3093,11 @@ type RestoreResponseProperties struct { OperationID *string `json:"operationId,omitempty"` } +// ServiceSpecification is +type ServiceSpecification struct { + MetricSpecifications *[]MetricSpecification `json:"metricSpecifications,omitempty"` +} + // SetObject is type SetObject struct { autorest.Response `json:"-"` @@ -2801,12 +3131,9 @@ type SiteProperties struct { LastModifiedTimeUtc *date.Time `json:"lastModifiedTimeUtc,omitempty"` SiteConfig *SiteConfig `json:"siteConfig,omitempty"` TrafficManagerHostNames *[]string `json:"trafficManagerHostNames,omitempty"` - PremiumAppDeployed *bool `json:"premiumAppDeployed,omitempty"` ScmSiteAlsoStopped *bool `json:"scmSiteAlsoStopped,omitempty"` TargetSwapSlot *string `json:"targetSwapSlot,omitempty"` HostingEnvironmentProfile *HostingEnvironmentProfile `json:"hostingEnvironmentProfile,omitempty"` - MicroService *string `json:"microService,omitempty"` - GatewaySiteName *string `json:"gatewaySiteName,omitempty"` ClientAffinityEnabled *bool `json:"clientAffinityEnabled,omitempty"` ClientCertEnabled *bool `json:"clientCertEnabled,omitempty"` HostNamesDisabled *bool `json:"hostNamesDisabled,omitempty"` @@ -2816,22 +3143,23 @@ type SiteProperties struct { SuspendedTill *date.Time `json:"suspendedTill,omitempty"` MaxNumberOfWorkers *int32 `json:"maxNumberOfWorkers,omitempty"` CloningInfo *CloningInfo `json:"cloningInfo,omitempty"` + SnapshotInfo *SnapshotRecoveryRequest `json:"snapshotInfo,omitempty"` ResourceGroup *string `json:"resourceGroup,omitempty"` IsDefaultContainer *bool `json:"isDefaultContainer,omitempty"` DefaultHostName *string `json:"defaultHostName,omitempty"` SlotSwapStatus *SlotSwapStatus `json:"slotSwapStatus,omitempty"` + PremiumAppDeployed *bool `json:"premiumAppDeployed,omitempty"` + MicroService *string `json:"microService,omitempty"` + GatewaySiteName *string `json:"gatewaySiteName,omitempty"` } -// SiteAuthSettings is configuration settings for the Azure App Service -// Authentication / Authorization feature. +// SiteAuthSettings is configuration settings for the Azure App Service Authentication / Authorization feature. type SiteAuthSettings struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *SiteAuthSettingsProperties `json:"properties,omitempty"` } @@ -2927,12 +3255,10 @@ type SiteConfig struct { // SiteConfigResource is web app configuration ARM resource. type SiteConfigResource struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *SiteConfig `json:"properties,omitempty"` } @@ -2957,30 +3283,78 @@ func (client SiteConfigResourceCollection) SiteConfigResourceCollectionPreparer( // SiteConfigurationSnapshotInfo is a snapshot of a web app configuration. type SiteConfigurationSnapshotInfo struct { - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *SiteConfigurationSnapshotInfoProperties `json:"properties,omitempty"` } -// SiteConfigurationSnapshotInfoProperties is siteConfigurationSnapshotInfo -// resource specific properties +// SiteConfigurationSnapshotInfoProperties is siteConfigurationSnapshotInfo resource specific properties type SiteConfigurationSnapshotInfoProperties struct { Time *date.Time `json:"time,omitempty"` ID *int32 `json:"id,omitempty"` } +// SiteExtensionInfo is site Extension Information. +type SiteExtensionInfo struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` + *SiteExtensionInfoProperties `json:"properties,omitempty"` +} + +// SiteExtensionInfoProperties is siteExtensionInfo resource specific properties +type SiteExtensionInfoProperties struct { + ID *string `json:"id,omitempty"` + Title *string `json:"title,omitempty"` + Type SiteExtensionType `json:"type,omitempty"` + Summary *string `json:"summary,omitempty"` + Description *string `json:"description,omitempty"` + Version *string `json:"version,omitempty"` + ExtensionURL *string `json:"extensionUrl,omitempty"` + ProjectURL *string `json:"projectUrl,omitempty"` + IconURL *string `json:"iconUrl,omitempty"` + LicenseURL *string `json:"licenseUrl,omitempty"` + FeedURL *string `json:"feedUrl,omitempty"` + Authors *[]string `json:"authors,omitempty"` + InstallationArgs *string `json:"installationArgs,omitempty"` + PublishedDateTime *date.Time `json:"publishedDateTime,omitempty"` + DownloadCount *int32 `json:"downloadCount,omitempty"` + LocalIsLatestVersion *bool `json:"localIsLatestVersion,omitempty"` + LocalPath *string `json:"localPath,omitempty"` + InstalledDateTime *date.Time `json:"installedDateTime,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + Comment *string `json:"comment,omitempty"` +} + +// SiteExtensionInfoCollection is collection of Kudu site extension information elements. +type SiteExtensionInfoCollection struct { + autorest.Response `json:"-"` + Value *[]SiteExtensionInfo `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// SiteExtensionInfoCollectionPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client SiteExtensionInfoCollection) SiteExtensionInfoCollectionPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + // SiteInstance is instance of an app. type SiteInstance struct { - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *SiteInstanceProperties `json:"properties,omitempty"` } @@ -2999,12 +3373,10 @@ type SiteLimits struct { // SiteLogsConfig is configuration of App Service site logs. type SiteLogsConfig struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *SiteLogsConfigProperties `json:"properties,omitempty"` } @@ -3027,17 +3399,14 @@ type SiteMachineKey struct { // SitePhpErrorLogFlag is used for getting PHP error logging flag. type SitePhpErrorLogFlag struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *SitePhpErrorLogFlagProperties `json:"properties,omitempty"` } -// SitePhpErrorLogFlagProperties is sitePhpErrorLogFlag resource specific -// properties +// SitePhpErrorLogFlagProperties is sitePhpErrorLogFlag resource specific properties type SitePhpErrorLogFlagProperties struct { LocalLogErrors *string `json:"localLogErrors,omitempty"` MasterLogErrors *string `json:"masterLogErrors,omitempty"` @@ -3060,17 +3429,14 @@ type SiteSealRequest struct { // SiteSourceControl is source control configuration for an app. type SiteSourceControl struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *SiteSourceControlProperties `json:"properties,omitempty"` } -// SiteSourceControlProperties is siteSourceControl resource specific -// properties +// SiteSourceControlProperties is siteSourceControl resource specific properties type SiteSourceControlProperties struct { RepoURL *string `json:"repoUrl,omitempty"` Branch *string `json:"branch,omitempty"` @@ -3099,7 +3465,7 @@ type SkuDescription struct { Capabilities *[]Capability `json:"capabilities,omitempty"` } -// SkuInfo is sKU discovery information. +// SkuInfo is SKU discovery information. type SkuInfo struct { ResourceType *string `json:"resourceType,omitempty"` Sku *SkuDescription `json:"sku,omitempty"` @@ -3132,9 +3498,8 @@ type SkuInfos struct { Skus *[]GlobalCsmSkuDescription `json:"skus,omitempty"` } -// SlotConfigNames is names for connection strings and application settings to -// be marked as sticky to the deployment slot and not moved during a swap -// operation. +// SlotConfigNames is names for connection strings and application settings to be marked as sticky to the deployment +// slot and not moved during a swap operation. // This is valid for all deployment slots in an app. type SlotConfigNames struct { ConnectionStringNames *[]string `json:"connectionStringNames,omitempty"` @@ -3144,24 +3509,19 @@ type SlotConfigNames struct { // SlotConfigNamesResource is slot Config names azure resource. type SlotConfigNamesResource struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *SlotConfigNames `json:"properties,omitempty"` } -// SlotDifference is a setting difference between two deployment slots of an -// app. +// SlotDifference is a setting difference between two deployment slots of an app. type SlotDifference struct { - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *SlotDifferenceProperties `json:"properties,omitempty"` } @@ -3211,22 +3571,19 @@ type SlowRequestsBasedTrigger struct { // Snapshot is a snapshot of an app. type Snapshot struct { - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *SnapshotProperties `json:"properties,omitempty"` } // SnapshotProperties is snapshot resource specific properties type SnapshotProperties struct { - Time *date.Time `json:"time,omitempty"` + Time *string `json:"time,omitempty"` } -// SnapshotCollection is collection of snapshots which can be used to revert an -// app to a previous time. +// SnapshotCollection is collection of snapshots which can be used to revert an app to a previous time. type SnapshotCollection struct { autorest.Response `json:"-"` Value *[]Snapshot `json:"value,omitempty"` @@ -3245,15 +3602,37 @@ func (client SnapshotCollection) SnapshotCollectionPreparer() (*http.Request, er autorest.WithBaseURL(to.String(client.NextLink))) } +// SnapshotRecoveryRequest is details about app recovery operation. +type SnapshotRecoveryRequest struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` + *SnapshotRecoveryRequestProperties `json:"properties,omitempty"` +} + +// SnapshotRecoveryRequestProperties is snapshotRecoveryRequest resource specific properties +type SnapshotRecoveryRequestProperties struct { + SnapshotTime *string `json:"snapshotTime,omitempty"` + RecoveryTarget *SnapshotRecoveryTarget `json:"recoveryTarget,omitempty"` + Overwrite *bool `json:"overwrite,omitempty"` + RecoverConfiguration *bool `json:"recoverConfiguration,omitempty"` + IgnoreConflictingHostNames *bool `json:"ignoreConflictingHostNames,omitempty"` +} + +// SnapshotRecoveryTarget is specifies the web app that snapshot contents will be written to. +type SnapshotRecoveryTarget struct { + Location *string `json:"location,omitempty"` + ID *string `json:"id,omitempty"` +} + // SourceControl is the source control OAuth token. type SourceControl struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *SourceControlProperties `json:"properties,omitempty"` } @@ -3329,17 +3708,14 @@ type StatusCodesBasedTrigger struct { // StorageMigrationOptions is options for app content migration. type StorageMigrationOptions struct { - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *StorageMigrationOptionsProperties `json:"properties,omitempty"` } -// StorageMigrationOptionsProperties is storageMigrationOptions resource -// specific properties +// StorageMigrationOptionsProperties is storageMigrationOptions resource specific properties type StorageMigrationOptionsProperties struct { AzurefilesConnectionString *string `json:"azurefilesConnectionString,omitempty"` AzurefilesShare *string `json:"azurefilesShare,omitempty"` @@ -3350,17 +3726,14 @@ type StorageMigrationOptionsProperties struct { // StorageMigrationResponse is response for a migration of app content request. type StorageMigrationResponse struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *StorageMigrationResponseProperties `json:"properties,omitempty"` } -// StorageMigrationResponseProperties is storageMigrationResponse resource -// specific properties +// StorageMigrationResponseProperties is storageMigrationResponse resource specific properties type StorageMigrationResponseProperties struct { OperationID *string `json:"operationId,omitempty"` } @@ -3377,9 +3750,7 @@ type StringDictionary struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` Properties *map[string]*string `json:"properties,omitempty"` } @@ -3391,8 +3762,7 @@ type TldLegalAgreement struct { URL *string `json:"url,omitempty"` } -// TldLegalAgreementCollection is collection of top-level domain legal -// agreements. +// TldLegalAgreementCollection is collection of top-level domain legal agreements. type TldLegalAgreementCollection struct { autorest.Response `json:"-"` Value *[]TldLegalAgreement `json:"value,omitempty"` @@ -3414,12 +3784,10 @@ func (client TldLegalAgreementCollection) TldLegalAgreementCollectionPreparer() // TopLevelDomain is a top level domain object. type TopLevelDomain struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *TopLevelDomainProperties `json:"properties,omitempty"` } @@ -3429,8 +3797,7 @@ type TopLevelDomainProperties struct { Privacy *bool `json:"privacy,omitempty"` } -// TopLevelDomainAgreementOption is options for retrieving the list of top -// level domain legal agreements. +// TopLevelDomainAgreementOption is options for retrieving the list of top level domain legal agreements. type TopLevelDomainAgreementOption struct { IncludePrivacy *bool `json:"includePrivacy,omitempty"` ForTransfer *bool `json:"forTransfer,omitempty"` @@ -3455,14 +3822,114 @@ func (client TopLevelDomainCollection) TopLevelDomainCollectionPreparer() (*http autorest.WithBaseURL(to.String(client.NextLink))) } +// TriggeredJobHistory is triggered Web Job History. List of Triggered Web Job Run Information elements. +type TriggeredJobHistory struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` + *TriggeredJobHistoryProperties `json:"properties,omitempty"` +} + +// TriggeredJobHistoryProperties is triggeredJobHistory resource specific properties +type TriggeredJobHistoryProperties struct { + TriggeredJobRuns *[]TriggeredJobRun `json:"triggeredJobRuns,omitempty"` +} + +// TriggeredJobHistoryCollection is collection of Kudu continuous web job information elements. +type TriggeredJobHistoryCollection struct { + autorest.Response `json:"-"` + Value *[]TriggeredJobHistory `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// TriggeredJobHistoryCollectionPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client TriggeredJobHistoryCollection) TriggeredJobHistoryCollectionPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// TriggeredJobRun is triggered Web Job Run Information. +type TriggeredJobRun struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` + *TriggeredJobRunProperties `json:"properties,omitempty"` +} + +// TriggeredJobRunProperties is triggeredJobRun resource specific properties +type TriggeredJobRunProperties struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Status TriggeredWebJobStatus `json:"status,omitempty"` + StartTime *date.Time `json:"startTime,omitempty"` + EndTime *date.Time `json:"endTime,omitempty"` + Duration *string `json:"duration,omitempty"` + OutputURL *string `json:"outputUrl,omitempty"` + ErrorURL *string `json:"errorUrl,omitempty"` + URL *string `json:"url,omitempty"` + JobName *string `json:"jobName,omitempty"` + Trigger *string `json:"trigger,omitempty"` +} + +// TriggeredWebJob is triggered Web Job Information. +type TriggeredWebJob struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` + *TriggeredWebJobProperties `json:"properties,omitempty"` +} + +// TriggeredWebJobProperties is triggeredWebJob resource specific properties +type TriggeredWebJobProperties struct { + LatestRun *TriggeredJobRun `json:"latestRun,omitempty"` + HistoryURL *string `json:"historyUrl,omitempty"` + SchedulerLogsURL *string `json:"schedulerLogsUrl,omitempty"` + Name *string `json:"name,omitempty"` + RunCommand *string `json:"runCommand,omitempty"` + URL *string `json:"url,omitempty"` + ExtraInfoURL *string `json:"extraInfoUrl,omitempty"` + JobType JobType `json:"jobType,omitempty"` + Error *string `json:"error,omitempty"` + UsingSdk *bool `json:"usingSdk,omitempty"` + Settings *map[string]interface{} `json:"settings,omitempty"` +} + +// TriggeredWebJobCollection is collection of Kudu continuous web job information elements. +type TriggeredWebJobCollection struct { + autorest.Response `json:"-"` + Value *[]TriggeredWebJob `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// TriggeredWebJobCollectionPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client TriggeredWebJobCollection) TriggeredWebJobCollectionPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + // Usage is usage of the quota resource. type Usage struct { - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *UsageProperties `json:"properties,omitempty"` } @@ -3501,12 +3968,10 @@ func (client UsageCollection) UsageCollectionPreparer() (*http.Request, error) { // User is user crendentials used for publishing activity. type User struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *UserProperties `json:"properties,omitempty"` } @@ -3579,16 +4044,14 @@ type VirtualNetworkProfile struct { Subnet *string `json:"subnet,omitempty"` } -// VnetGateway is the Virtual Network gateway contract. This is used to give -// the Virtual Network gateway access to the VPN package. +// VnetGateway is the Virtual Network gateway contract. This is used to give the Virtual Network gateway access to the +// VPN package. type VnetGateway struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *VnetGatewayProperties `json:"properties,omitempty"` } @@ -3600,25 +4063,47 @@ type VnetGatewayProperties struct { // VnetInfo is virtual Network information contract. type VnetInfo struct { - autorest.Response `json:"-"` - VnetResourceID *string `json:"vnetResourceId,omitempty"` - CertThumbprint *string `json:"certThumbprint,omitempty"` - CertBlob *string `json:"certBlob,omitempty"` - Routes *[]VnetRoute `json:"routes,omitempty"` - ResyncRequired *bool `json:"resyncRequired,omitempty"` - DNSServers *string `json:"dnsServers,omitempty"` + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` + *VnetInfoProperties `json:"properties,omitempty"` } -// VnetRoute is virtual Network route contract used to pass routing information -// for a Virtual Network. +// VnetInfoProperties is vnetInfo resource specific properties +type VnetInfoProperties struct { + VnetResourceID *string `json:"vnetResourceId,omitempty"` + CertThumbprint *string `json:"certThumbprint,omitempty"` + CertBlob *string `json:"certBlob,omitempty"` + Routes *[]VnetRoute `json:"routes,omitempty"` + ResyncRequired *bool `json:"resyncRequired,omitempty"` + DNSServers *string `json:"dnsServers,omitempty"` +} + +// VnetParameters is the required set of inputs to validate a VNET +type VnetParameters struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` + *VnetParametersProperties `json:"properties,omitempty"` +} + +// VnetParametersProperties is vnetParameters resource specific properties +type VnetParametersProperties struct { + VnetResourceGroup *string `json:"vnetResourceGroup,omitempty"` + VnetName *string `json:"vnetName,omitempty"` + VnetSubnetName *string `json:"vnetSubnetName,omitempty"` +} + +// VnetRoute is virtual Network route contract used to pass routing information for a Virtual Network. type VnetRoute struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *VnetRouteProperties `json:"properties,omitempty"` } @@ -3630,6 +4115,37 @@ type VnetRouteProperties struct { RouteType RouteType `json:"routeType,omitempty"` } +// VnetValidationFailureDetails is a class that describes the reason for a validation failure. +type VnetValidationFailureDetails struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` + *VnetValidationFailureDetailsProperties `json:"properties,omitempty"` +} + +// VnetValidationFailureDetailsProperties is vnetValidationFailureDetails resource specific properties +type VnetValidationFailureDetailsProperties struct { + Failed *bool `json:"failed,omitempty"` + FailedTests *[]VnetValidationTestFailure `json:"failedTests,omitempty"` +} + +// VnetValidationTestFailure is a class that describes a test that failed during NSG and UDR validation. +type VnetValidationTestFailure struct { + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` + *VnetValidationTestFailureProperties `json:"properties,omitempty"` +} + +// VnetValidationTestFailureProperties is vnetValidationTestFailure resource specific properties +type VnetValidationTestFailureProperties struct { + TestName *string `json:"testName,omitempty"` + Details *string `json:"details,omitempty"` +} + // WorkerPool is worker pool of an App Service Environment. type WorkerPool struct { WorkerSizeID *int32 `json:"workerSizeId,omitempty"` @@ -3658,16 +4174,13 @@ func (client WorkerPoolCollection) WorkerPoolCollectionPreparer() (*http.Request autorest.WithBaseURL(to.String(client.NextLink))) } -// WorkerPoolResource is worker pool of an App Service Environment ARM -// resource. +// WorkerPoolResource is worker pool of an App Service Environment ARM resource. type WorkerPoolResource struct { autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Kind *string `json:"kind,omitempty"` - Location *string `json:"location,omitempty"` - Type *string `json:"type,omitempty"` - Tags *map[string]*string `json:"tags,omitempty"` + ID *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` + Type *string `json:"type,omitempty"` *WorkerPool `json:"properties,omitempty"` Sku *SkuDescription `json:"sku,omitempty"` } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/provider.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/provider.go index b2c75d21f..67d9cb58a 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/provider.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/provider.go @@ -14,9 +14,8 @@ package web // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,7 +23,7 @@ import ( "net/http" ) -// ProviderClient is the composite Swagger for WebSite Management Client +// ProviderClient is the webSite Management Client type ProviderClient struct { ManagementClient } @@ -34,8 +33,7 @@ func NewProviderClient(subscriptionID string) ProviderClient { return NewProviderClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewProviderClientWithBaseURI creates an instance of the ProviderClient -// client. +// NewProviderClientWithBaseURI creates an instance of the ProviderClient client. func NewProviderClientWithBaseURI(baseURI string, subscriptionID string) ProviderClient { return ProviderClient{NewWithBaseURI(baseURI, subscriptionID)} } @@ -97,8 +95,7 @@ func (client ProviderClient) GetAvailableStacksResponder(resp *http.Response) (r return } -// GetAvailableStacksOnPrem get available application frameworks and their -// versions +// GetAvailableStacksOnPrem get available application frameworks and their versions func (client ProviderClient) GetAvailableStacksOnPrem() (result SetObject, err error) { req, err := client.GetAvailableStacksOnPremPreparer() if err != nil { @@ -158,3 +155,129 @@ func (client ProviderClient) GetAvailableStacksOnPremResponder(resp *http.Respon result.Response = autorest.Response{Response: resp} return } + +// ListOperations sends the list operations request. +func (client ProviderClient) ListOperations() (result CsmOperationCollection, err error) { + req, err := client.ListOperationsPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "web.ProviderClient", "ListOperations", nil, "Failure preparing request") + return + } + + resp, err := client.ListOperationsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.ProviderClient", "ListOperations", resp, "Failure sending request") + return + } + + result, err = client.ListOperationsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ProviderClient", "ListOperations", resp, "Failure responding to request") + } + + return +} + +// ListOperationsPreparer prepares the ListOperations request. +func (client ProviderClient) ListOperationsPreparer() (*http.Request, error) { + const APIVersion = "2016-03-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Web/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// ListOperationsSender sends the ListOperations request. The method will close the +// http.Response Body if it receives an error. +func (client ProviderClient) ListOperationsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListOperationsResponder handles the response to the ListOperations request. The method always +// closes the http.Response Body. +func (client ProviderClient) ListOperationsResponder(resp *http.Response) (result CsmOperationCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListOperationsNextResults retrieves the next set of results, if any. +func (client ProviderClient) ListOperationsNextResults(lastResults CsmOperationCollection) (result CsmOperationCollection, err error) { + req, err := lastResults.CsmOperationCollectionPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "web.ProviderClient", "ListOperations", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.ListOperationsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.ProviderClient", "ListOperations", resp, "Failure sending next results request") + } + + result, err = client.ListOperationsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ProviderClient", "ListOperations", resp, "Failure responding to next results request") + } + + return +} + +// ListOperationsComplete gets all elements from the list without paging. +func (client ProviderClient) ListOperationsComplete(cancel <-chan struct{}) (<-chan CsmOperationDescription, <-chan error) { + resultChan := make(chan CsmOperationDescription) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListOperations() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListOperationsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/recommendations.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/recommendations.go index 3cd70e2f8..33e579ddd 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/recommendations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/recommendations.go @@ -14,9 +14,8 @@ package web // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -25,27 +24,24 @@ import ( "net/http" ) -// RecommendationsClient is the composite Swagger for WebSite Management Client +// RecommendationsClient is the webSite Management Client type RecommendationsClient struct { ManagementClient } -// NewRecommendationsClient creates an instance of the RecommendationsClient -// client. +// NewRecommendationsClient creates an instance of the RecommendationsClient client. func NewRecommendationsClient(subscriptionID string) RecommendationsClient { return NewRecommendationsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewRecommendationsClientWithBaseURI creates an instance of the -// RecommendationsClient client. +// NewRecommendationsClientWithBaseURI creates an instance of the RecommendationsClient client. func NewRecommendationsClientWithBaseURI(baseURI string, subscriptionID string) RecommendationsClient { return RecommendationsClient{NewWithBaseURI(baseURI, subscriptionID)} } // DisableAllForWebApp disable all recommendations for an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. siteName is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. siteName is name of the app. func (client RecommendationsClient) DisableAllForWebApp(resourceGroupName string, siteName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -117,10 +113,9 @@ func (client RecommendationsClient) DisableAllForWebAppResponder(resp *http.Resp // GetRuleDetailsByWebApp get a recommendation rule for an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. siteName is name of the app. name is name of the recommendation. -// updateSeen is specify true to update the last-seen timestamp of -// the recommendation object. +// resourceGroupName is name of the resource group to which the resource belongs. siteName is name of the app. name is +// name of the recommendation. updateSeen is specify true to update the last-seen timestamp of the +// recommendation object. func (client RecommendationsClient) GetRuleDetailsByWebApp(resourceGroupName string, siteName string, name string, updateSeen *bool) (result RecommendationRule, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -197,12 +192,10 @@ func (client RecommendationsClient) GetRuleDetailsByWebAppResponder(resp *http.R // List list all recommendations for a subscription. // -// featured is specify true to return only the most critical -// recommendations. The default is false, which returns all -// recommendations. filter is filter is specified by using OData syntax. -// Example: $filter=channels eq 'Api' or channel eq 'Notification' and -// startTime eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' -// and timeGrain eq duration'[PT1H|PT1M|P1D] +// featured is specify true to return only the most critical recommendations. The default is +// false, which returns all recommendations. filter is filter is specified by using OData syntax. Example: +// $filter=channels eq 'Api' or channel eq 'Notification' and startTime eq '2014-01-01T00:00:00Z' and endTime eq +// '2014-12-31T23:59:59Z' and timeGrain eq duration'[PT1H|PT1M|P1D] func (client RecommendationsClient) List(featured *bool, filter string) (result ListRecommendation, err error) { req, err := client.ListPreparer(featured, filter) if err != nil { @@ -269,14 +262,11 @@ func (client RecommendationsClient) ListResponder(resp *http.Response) (result L return } -// ListHistoryForWebApp get past recommendations for an app, optionally -// specified by the time range. +// ListHistoryForWebApp get past recommendations for an app, optionally specified by the time range. // -// resourceGroupName is name of the resource group to which the resource -// belongs. siteName is name of the app. filter is filter is specified by using -// OData syntax. Example: $filter=channels eq 'Api' or channel eq -// 'Notification' and startTime eq '2014-01-01T00:00:00Z' and endTime eq -// '2014-12-31T23:59:59Z' and timeGrain eq duration'[PT1H|PT1M|P1D] +// resourceGroupName is name of the resource group to which the resource belongs. siteName is name of the app. filter +// is filter is specified by using OData syntax. Example: $filter=channels eq 'Api' or channel eq 'Notification' and +// startTime eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and timeGrain eq duration'[PT1H|PT1M|P1D] func (client RecommendationsClient) ListHistoryForWebApp(resourceGroupName string, siteName string, filter string) (result ListRecommendation, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -352,12 +342,10 @@ func (client RecommendationsClient) ListHistoryForWebAppResponder(resp *http.Res // ListRecommendedRulesForWebApp get all recommendations for an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. siteName is name of the app. featured is specify true -// to return only the most critical recommendations. The default is -// false, which returns all recommendations. filter is return only -// channels specified in the filter. Filter is specified by using OData syntax. -// Example: $filter=channels eq 'Api' or channel eq 'Notification' +// resourceGroupName is name of the resource group to which the resource belongs. siteName is name of the app. featured +// is specify true to return only the most critical recommendations. The default is false, +// which returns all recommendations. filter is return only channels specified in the filter. Filter is specified by +// using OData syntax. Example: $filter=channels eq 'Api' or channel eq 'Notification' func (client RecommendationsClient) ListRecommendedRulesForWebApp(resourceGroupName string, siteName string, featured *bool, filter string) (result ListRecommendation, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, @@ -434,8 +422,7 @@ func (client RecommendationsClient) ListRecommendedRulesForWebAppResponder(resp return } -// ResetAllFilters reset all recommendation opt-out settings for a -// subscription. +// ResetAllFilters reset all recommendation opt-out settings for a subscription. func (client RecommendationsClient) ResetAllFilters() (result autorest.Response, err error) { req, err := client.ResetAllFiltersPreparer() if err != nil { @@ -495,11 +482,9 @@ func (client RecommendationsClient) ResetAllFiltersResponder(resp *http.Response return } -// ResetAllFiltersForWebApp reset all recommendation opt-out settings for an -// app. +// ResetAllFiltersForWebApp reset all recommendation opt-out settings for an app. // -// resourceGroupName is name of the resource group to which the resource -// belongs. siteName is name of the app. +// resourceGroupName is name of the resource group to which the resource belongs. siteName is name of the app. func (client RecommendationsClient) ResetAllFiltersForWebApp(resourceGroupName string, siteName string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: resourceGroupName, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/topleveldomains.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/topleveldomains.go index ea9b2ff91..90961ad25 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/topleveldomains.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/topleveldomains.go @@ -14,9 +14,8 @@ package web // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -24,19 +23,17 @@ import ( "net/http" ) -// TopLevelDomainsClient is the composite Swagger for WebSite Management Client +// TopLevelDomainsClient is the webSite Management Client type TopLevelDomainsClient struct { ManagementClient } -// NewTopLevelDomainsClient creates an instance of the TopLevelDomainsClient -// client. +// NewTopLevelDomainsClient creates an instance of the TopLevelDomainsClient client. func NewTopLevelDomainsClient(subscriptionID string) TopLevelDomainsClient { return NewTopLevelDomainsClientWithBaseURI(DefaultBaseURI, subscriptionID) } -// NewTopLevelDomainsClientWithBaseURI creates an instance of the -// TopLevelDomainsClient client. +// NewTopLevelDomainsClientWithBaseURI creates an instance of the TopLevelDomainsClient client. func NewTopLevelDomainsClientWithBaseURI(baseURI string, subscriptionID string) TopLevelDomainsClient { return TopLevelDomainsClient{NewWithBaseURI(baseURI, subscriptionID)} } @@ -190,11 +187,54 @@ func (client TopLevelDomainsClient) ListNextResults(lastResults TopLevelDomainCo return } -// ListAgreements gets all legal agreements that user needs to accept before -// purchasing a domain. +// ListComplete gets all elements from the list without paging. +func (client TopLevelDomainsClient) ListComplete(cancel <-chan struct{}) (<-chan TopLevelDomain, <-chan error) { + resultChan := make(chan TopLevelDomain) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.List() + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ListAgreements gets all legal agreements that user needs to accept before purchasing a domain. // -// name is name of the top-level domain. agreementOption is domain agreement -// options. +// name is name of the top-level domain. agreementOption is domain agreement options. func (client TopLevelDomainsClient) ListAgreements(name string, agreementOption TopLevelDomainAgreementOption) (result TldLegalAgreementCollection, err error) { req, err := client.ListAgreementsPreparer(name, agreementOption) if err != nil { @@ -281,3 +321,48 @@ func (client TopLevelDomainsClient) ListAgreementsNextResults(lastResults TldLeg return } + +// ListAgreementsComplete gets all elements from the list without paging. +func (client TopLevelDomainsClient) ListAgreementsComplete(name string, agreementOption TopLevelDomainAgreementOption, cancel <-chan struct{}) (<-chan TldLegalAgreement, <-chan error) { + resultChan := make(chan TldLegalAgreement) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.ListAgreements(name, agreementOption) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.ListAgreementsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/version.go b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/version.go index 1fbc7a1a2..664c73556 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/arm/web/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/arm/web/version.go @@ -14,16 +14,15 @@ package web // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-web/" + return "Azure-SDK-For-Go/v11.0.0-beta arm-web/" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/buildTerraform.sh b/vendor/github.com/Azure/azure-sdk-for-go/buildTerraform.sh deleted file mode 100644 index 9c622dfdf..000000000 --- a/vendor/github.com/Azure/azure-sdk-for-go/buildTerraform.sh +++ /dev/null @@ -1,36 +0,0 @@ -# This script tries to build Terraform related packages, -# and find possible breaking changes regarding the Azure -# SDK for Go - -set -x - -# This should only run on cronjobs -if [ "cron" != $TRAVIS_EVENT_TYPE ]; then - exit 0 -fi - -# Only meant to run on latest go version -if [ "go version go1.8 linux/amd64" != "$(go version)" ]; then - exit 0 -fi - -go get github.com/kardianos/govendor -REALEXITSTATUS=0 - -packages=(github.com/hashicorp/terraform - github.com/terraform-providers/terraform-provider-azurerm - github.com/terraform-providers/terraform-provider-azure) - -for package in ${packages[*]}; do - go get $package - cd $GOPATH/src/$package - - # update to latest SDK - govendor update github.com/Azure/azure-sdk-for-go/... - - # try to build - make - REALEXITSTATUS=$(($REALEXITSTATUS+$?)) -done - -exit $REALEXITSTATUS diff --git a/vendor/github.com/Azure/azure-sdk-for-go/datalake-store/filesystem/client.go b/vendor/github.com/Azure/azure-sdk-for-go/datalake-store/filesystem/client.go index 4648982f0..73dc8a23a 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/datalake-store/filesystem/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/datalake-store/filesystem/client.go @@ -1,5 +1,4 @@ -// Package filesystem implements the Azure ARM Filesystem service API version -// 2016-11-01. +// Package filesystem implements the Azure ARM Filesystem service API version 2016-11-01. // // Creates an Azure Data Lake Store filesystem client. package filesystem @@ -18,9 +17,8 @@ package filesystem // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/datalake-store/filesystem/filesystemgroup.go b/vendor/github.com/Azure/azure-sdk-for-go/datalake-store/filesystem/group.go old mode 100755 new mode 100644 similarity index 69% rename from vendor/github.com/Azure/azure-sdk-for-go/datalake-store/filesystem/filesystemgroup.go rename to vendor/github.com/Azure/azure-sdk-for-go/datalake-store/filesystem/group.go index a7f559c68..7375db295 --- a/vendor/github.com/Azure/azure-sdk-for-go/datalake-store/filesystem/filesystemgroup.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/datalake-store/filesystem/group.go @@ -14,15 +14,14 @@ package filesystem // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/azure" "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/uuid" + uuid "github.com/satori/go.uuid" "io" "net/http" ) @@ -37,35 +36,28 @@ func NewGroupClient() GroupClient { return GroupClient{New()} } -// Append used for serial appends to the specified file. NOTE: The target must -// not contain data added by ConcurrentAppend. ConcurrentAppend and Append -// cannot be used interchangeably; once a target file has been modified using -// either of these append options, the other append option cannot be used on -// the target file. +// Append used for serial appends to the specified file. NOTE: The target must not contain data added by +// ConcurrentAppend. ConcurrentAppend and Append cannot be used interchangeably; once a target file has been modified +// using either of these append options, the other append option cannot be used on the target file. // -// accountName is the Azure Data Lake Store account to execute filesystem -// operations on. directFilePath is the Data Lake Store path (starting with -// '/') of the file to which to append. streamContents is the file contents to -// include when appending to the file. streamContents will be closed upon -// successful return. Callers should ensure closure when receiving an error.op -// is the constant value for the operation. appendParameter is flag to skip -// redirection. When append=false or not specified, the request is redirected. -// Submit another HTTP PUT request using the URL in the Location header with -// the file data to be written. When append=true, this redirection is skipped. -// offset is the optional offset in the stream to begin the append operation. -// Default is to append at the end of the stream. syncFlag is optionally -// indicates what to do after completion of the append. DATA indicates more -// data is coming so no sync takes place, METADATA indicates a sync should be -// done to refresh metadata of the file only. CLOSE indicates that both the -// stream and metadata should be refreshed upon append completion. leaseID is -// optional unique GUID per file to ensure single writer semantics, meaning -// that only clients that append to the file with the same leaseId will be -// allowed to do so. fileSessionID is optional unique GUID per file indicating -// all the appends with the same fileSessionId are from the same client and -// same session. This will give a performance benefit when syncFlag is DATA or -// METADATA. -func (client GroupClient) Append(accountName string, directFilePath string, streamContents io.ReadCloser, op string, appendParameter string, offset *int64, syncFlag SyncFlag, leaseID *uuid.UUID, fileSessionID *uuid.UUID) (result autorest.Response, err error) { - req, err := client.AppendPreparer(accountName, directFilePath, streamContents, op, appendParameter, offset, syncFlag, leaseID, fileSessionID) +// accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake +// Store path (starting with '/') of the file to which to append. streamContents is the file contents to include when +// appending to the file. streamContents will be closed upon successful return. Callers should ensure closure when +// receiving an error.appendParameter is flag to skip redirection. When append=false or not specified, the request is +// redirected. Submit another HTTP PUT request using the URL in the Location header with the file data to be written. +// When append=true, this redirection is skipped. op is the constant value for the operation. offset is the optional +// offset in the stream to begin the append operation. Default is to append at the end of the stream. syncFlag is +// optionally indicates what to do after completion of the concurrent append. DATA indicates that more data will be +// sent immediately by the client, the file handle should remain open/locked, and file metadata (including file length, +// last modified time) should NOT get updated. METADATA indicates that more data will be sent immediately by the +// client, the file handle should remain open/locked, and file metadata should get updated. CLOSE indicates that the +// client is done sending data, the file handle should be closed/unlocked, and file metadata should get updated. +// leaseID is optional unique GUID per file to ensure single writer semantics, meaning that only clients that append to +// the file with the same leaseId will be allowed to do so. fileSessionID is optional unique GUID per file indicating +// all the appends with the same fileSessionId are from the same client and same session. This will give a performance +// benefit when syncFlag is DATA or METADATA. +func (client GroupClient) Append(accountName string, pathParameter string, streamContents io.ReadCloser, appendParameter string, op string, offset *int64, syncFlag SyncFlag, leaseID *uuid.UUID, fileSessionID *uuid.UUID) (result autorest.Response, err error) { + req, err := client.AppendPreparer(accountName, pathParameter, streamContents, appendParameter, op, offset, syncFlag, leaseID, fileSessionID) if err != nil { err = autorest.NewErrorWithError(err, "filesystem.GroupClient", "Append", nil, "Failure preparing request") return @@ -87,14 +79,14 @@ func (client GroupClient) Append(accountName string, directFilePath string, stre } // AppendPreparer prepares the Append request. -func (client GroupClient) AppendPreparer(accountName string, directFilePath string, streamContents io.ReadCloser, op string, appendParameter string, offset *int64, syncFlag SyncFlag, leaseID *uuid.UUID, fileSessionID *uuid.UUID) (*http.Request, error) { +func (client GroupClient) AppendPreparer(accountName string, pathParameter string, streamContents io.ReadCloser, appendParameter string, op string, offset *int64, syncFlag SyncFlag, leaseID *uuid.UUID, fileSessionID *uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ "accountName": accountName, "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix, } pathParameters := map[string]interface{}{ - "directFilePath": autorest.Encode("path", directFilePath), + "path": autorest.Encode("path", pathParameter), } const APIVersion = "2016-11-01" @@ -119,7 +111,7 @@ func (client GroupClient) AppendPreparer(accountName string, directFilePath stri preparer := autorest.CreatePreparer( autorest.AsPost(), autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters), - autorest.WithPathParameters("/webhdfs/v1/{directFilePath}", pathParameters), + autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters), autorest.WithFile(streamContents), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) @@ -145,11 +137,9 @@ func (client GroupClient) AppendResponder(resp *http.Response) (result autorest. // CheckAccess checks if the specified access is available at the given path. // -// accountName is the Azure Data Lake Store account to execute filesystem -// operations on. pathParameter is the Data Lake Store path (starting with '/') -// of the file or directory for which to check access. fsaction is file system -// operation read/write/execute in string form, matching regex pattern -// '[rwx-]{3}' op is the constant value for the operation. +// accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake +// Store path (starting with '/') of the file or directory for which to check access. fsaction is file system operation +// read/write/execute in string form, matching regex pattern '[rwx-]{3}' op is the constant value for the operation. func (client GroupClient) CheckAccess(accountName string, pathParameter string, fsaction string, op string) (result autorest.Response, err error) { req, err := client.CheckAccessPreparer(accountName, pathParameter, fsaction, op) if err != nil { @@ -216,23 +206,20 @@ func (client GroupClient) CheckAccessResponder(resp *http.Response) (result auto return } -// Concat concatenates the list of source files into the destination file, -// removing all source files upon success. +// Concat concatenates the list of source files into the destination file, removing all source files upon success. // -// accountName is the Azure Data Lake Store account to execute filesystem -// operations on. destinationPath is the Data Lake Store path (starting with -// '/') of the destination file resulting from the concatenation. sources is a -// list of comma separated Data Lake Store paths (starting with '/') of the -// files to concatenate, in the order in which they should be concatenated. op -// is the constant value for the operation. -func (client GroupClient) Concat(accountName string, destinationPath string, sources []string, op string) (result autorest.Response, err error) { +// accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake +// Store path (starting with '/') of the destination file resulting from the concatenation. sources is a list of comma +// separated Data Lake Store paths (starting with '/') of the files to concatenate, in the order in which they should +// be concatenated. op is the constant value for the operation. +func (client GroupClient) Concat(accountName string, pathParameter string, sources []string, op string) (result autorest.Response, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: sources, Constraints: []validation.Constraint{{Target: "sources", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { return result, validation.NewErrorWithValidationError(err, "filesystem.GroupClient", "Concat") } - req, err := client.ConcatPreparer(accountName, destinationPath, sources, op) + req, err := client.ConcatPreparer(accountName, pathParameter, sources, op) if err != nil { err = autorest.NewErrorWithError(err, "filesystem.GroupClient", "Concat", nil, "Failure preparing request") return @@ -254,14 +241,14 @@ func (client GroupClient) Concat(accountName string, destinationPath string, sou } // ConcatPreparer prepares the Concat request. -func (client GroupClient) ConcatPreparer(accountName string, destinationPath string, sources []string, op string) (*http.Request, error) { +func (client GroupClient) ConcatPreparer(accountName string, pathParameter string, sources []string, op string) (*http.Request, error) { urlParameters := map[string]interface{}{ "accountName": accountName, "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix, } pathParameters := map[string]interface{}{ - "destinationPath": autorest.Encode("path", destinationPath), + "path": autorest.Encode("path", pathParameter), } const APIVersion = "2016-11-01" @@ -274,7 +261,7 @@ func (client GroupClient) ConcatPreparer(accountName string, destinationPath str preparer := autorest.CreatePreparer( autorest.AsPost(), autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters), - autorest.WithPathParameters("/webhdfs/v1/{destinationPath}", pathParameters), + autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -297,31 +284,25 @@ func (client GroupClient) ConcatResponder(resp *http.Response) (result autorest. return } -// ConcurrentAppend appends to the specified file, optionally first creating -// the file if it does not yet exist. This method supports multiple concurrent -// appends to the file. NOTE: The target must not contain data added by Create -// or normal (serial) Append. ConcurrentAppend and Append cannot be used -// interchangeably; once a target file has been modified using either of these -// append options, the other append option cannot be used on the target file. -// ConcurrentAppend does not guarantee order and can result in duplicated data -// landing in the target file. +// ConcurrentAppend appends to the specified file, optionally first creating the file if it does not yet exist. This +// method supports multiple concurrent appends to the file. NOTE: The target must not contain data added by Create or +// normal (serial) Append. ConcurrentAppend and Append cannot be used interchangeably; once a target file has been +// modified using either of these append options, the other append option cannot be used on the target file. +// ConcurrentAppend does not guarantee order and can result in duplicated data landing in the target file. // -// accountName is the Azure Data Lake Store account to execute filesystem -// operations on. filePath is the Data Lake Store path (starting with '/') of -// the file to which to append using concurrent append. streamContents is the -// file contents to include when appending to the file. streamContents will be -// closed upon successful return. Callers should ensure closure when receiving -// an error.op is the constant value for the operation. transferEncoding is -// indicates the data being sent to the server is being streamed in chunks. -// appendMode is indicates the concurrent append call should create the file if -// it doesn't exist or just open the existing file for append syncFlag is -// optionally indicates what to do after completion of the concurrent append. -// DATA indicates more data is coming so no sync takes place, METADATA -// indicates a sync should be done to refresh metadata of the file only. CLOSE -// indicates that both the stream and metadata should be refreshed upon append -// completion. -func (client GroupClient) ConcurrentAppend(accountName string, filePath string, streamContents io.ReadCloser, op string, transferEncoding string, appendMode AppendModeType, syncFlag SyncFlag) (result autorest.Response, err error) { - req, err := client.ConcurrentAppendPreparer(accountName, filePath, streamContents, op, transferEncoding, appendMode, syncFlag) +// accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake +// Store path (starting with '/') of the file to which to append using concurrent append. streamContents is the file +// contents to include when appending to the file. streamContents will be closed upon successful return. Callers should +// ensure closure when receiving an error.op is the constant value for the operation. transferEncoding is indicates the +// data being sent to the server is being streamed in chunks. appendMode is indicates the concurrent append call should +// create the file if it doesn't exist or just open the existing file for append syncFlag is optionally indicates what +// to do after completion of the concurrent append. DATA indicates that more data will be sent immediately by the +// client, the file handle should remain open/locked, and file metadata (including file length, last modified time) +// should NOT get updated. METADATA indicates that more data will be sent immediately by the client, the file handle +// should remain open/locked, and file metadata should get updated. CLOSE indicates that the client is done sending +// data, the file handle should be closed/unlocked, and file metadata should get updated. +func (client GroupClient) ConcurrentAppend(accountName string, pathParameter string, streamContents io.ReadCloser, op string, transferEncoding string, appendMode AppendModeType, syncFlag SyncFlag) (result autorest.Response, err error) { + req, err := client.ConcurrentAppendPreparer(accountName, pathParameter, streamContents, op, transferEncoding, appendMode, syncFlag) if err != nil { err = autorest.NewErrorWithError(err, "filesystem.GroupClient", "ConcurrentAppend", nil, "Failure preparing request") return @@ -343,14 +324,14 @@ func (client GroupClient) ConcurrentAppend(accountName string, filePath string, } // ConcurrentAppendPreparer prepares the ConcurrentAppend request. -func (client GroupClient) ConcurrentAppendPreparer(accountName string, filePath string, streamContents io.ReadCloser, op string, transferEncoding string, appendMode AppendModeType, syncFlag SyncFlag) (*http.Request, error) { +func (client GroupClient) ConcurrentAppendPreparer(accountName string, pathParameter string, streamContents io.ReadCloser, op string, transferEncoding string, appendMode AppendModeType, syncFlag SyncFlag) (*http.Request, error) { urlParameters := map[string]interface{}{ "accountName": accountName, "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix, } pathParameters := map[string]interface{}{ - "filePath": autorest.Encode("path", filePath), + "path": autorest.Encode("path", pathParameter), } const APIVersion = "2016-11-01" @@ -368,7 +349,7 @@ func (client GroupClient) ConcurrentAppendPreparer(accountName string, filePath preparer := autorest.CreatePreparer( autorest.AsPost(), autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters), - autorest.WithPathParameters("/WebHdfsExt/{filePath}", pathParameters), + autorest.WithPathParameters("/WebHdfsExt/{path}", pathParameters), autorest.WithFile(streamContents), autorest.WithQueryParameters(queryParameters), autorest.WithHeader("Transfer-Encoding", autorest.String(transferEncoding))) @@ -393,31 +374,26 @@ func (client GroupClient) ConcurrentAppendResponder(resp *http.Response) (result return } -// Create creates a file with optionally specified content. NOTE: If content is -// provided, the resulting file cannot be modified using ConcurrentAppend. +// Create creates a file with optionally specified content. NOTE: If content is provided, the resulting file cannot be +// modified using ConcurrentAppend. // -// accountName is the Azure Data Lake Store account to execute filesystem -// operations on. directFilePath is the Data Lake Store path (starting with -// '/') of the file to create. op is the constant value for the operation. -// write is flag to skip redirection. When write=false or not specified, the -// request is redirected. Submit another HTTP PUT request using the URL in the -// Location header with the file data to be written. When write=true, this -// redirection is skipped. streamContents is the file contents to include when -// creating the file. This parameter is optional, resulting in an empty file if -// not specified. streamContents will be closed upon successful return. Callers -// should ensure closure when receiving an error.overwrite is the indication of -// if the file should be overwritten. syncFlag is optionally indicates what to -// do after completion of the append. DATA indicates more data is coming so no -// sync takes place, METADATA indicates a sync should be done to refresh -// metadata of the file only. CLOSE indicates that both the stream and metadata -// should be refreshed upon create completion. leaseID is optional unique GUID -// per file to ensure single writer semantics, meaning that only clients that -// append to the file with the same leaseId will be allowed to do so. -// permission is the octal representation of the unnamed user, mask and other -// permissions that should be set for the file when created. If not specified, -// it inherits these from the container. -func (client GroupClient) Create(accountName string, directFilePath string, op string, write string, streamContents io.ReadCloser, overwrite *bool, syncFlag SyncFlag, leaseID *uuid.UUID, permission *int32) (result autorest.Response, err error) { - req, err := client.CreatePreparer(accountName, directFilePath, op, write, streamContents, overwrite, syncFlag, leaseID, permission) +// accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake +// Store path (starting with '/') of the file to create. write is flag to skip redirection. When write=false or not +// specified, the request is redirected. Submit another HTTP PUT request using the URL in the Location header with the +// file data to be written. When write=true, this redirection is skipped. op is the constant value for the operation. +// streamContents is the file contents to include when creating the file. This parameter is optional, resulting in an +// empty file if not specified. streamContents will be closed upon successful return. Callers should ensure closure +// when receiving an error.overwrite is the indication of if the file should be overwritten. syncFlag is optionally +// indicates what to do after completion of the create. DATA indicates that more data will be sent immediately by the +// client, the file handle should remain open/locked, and file metadata (including file length, last modified time) +// should NOT get updated. METADATA indicates that more data will be sent immediately by the client, the file handle +// should remain open/locked, and file metadata should get updated. CLOSE indicates that the client is done sending +// data, the file handle should be closed/unlocked, and file metadata should get updated. leaseID is optional unique +// GUID per file to ensure single writer semantics, meaning that only clients that append to the file with the same +// leaseId will be allowed to do so. permission is the octal representation of the unnamed user, mask and other +// permissions that should be set for the file when created. If not specified, it inherits these from the container. +func (client GroupClient) Create(accountName string, pathParameter string, write string, op string, streamContents io.ReadCloser, overwrite *bool, syncFlag SyncFlag, leaseID *uuid.UUID, permission *int32) (result autorest.Response, err error) { + req, err := client.CreatePreparer(accountName, pathParameter, write, op, streamContents, overwrite, syncFlag, leaseID, permission) if err != nil { err = autorest.NewErrorWithError(err, "filesystem.GroupClient", "Create", nil, "Failure preparing request") return @@ -439,14 +415,14 @@ func (client GroupClient) Create(accountName string, directFilePath string, op s } // CreatePreparer prepares the Create request. -func (client GroupClient) CreatePreparer(accountName string, directFilePath string, op string, write string, streamContents io.ReadCloser, overwrite *bool, syncFlag SyncFlag, leaseID *uuid.UUID, permission *int32) (*http.Request, error) { +func (client GroupClient) CreatePreparer(accountName string, pathParameter string, write string, op string, streamContents io.ReadCloser, overwrite *bool, syncFlag SyncFlag, leaseID *uuid.UUID, permission *int32) (*http.Request, error) { urlParameters := map[string]interface{}{ "accountName": accountName, "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix, } pathParameters := map[string]interface{}{ - "directFilePath": autorest.Encode("path", directFilePath), + "path": autorest.Encode("path", pathParameter), } const APIVersion = "2016-11-01" @@ -471,7 +447,7 @@ func (client GroupClient) CreatePreparer(accountName string, directFilePath stri preparer := autorest.CreatePreparer( autorest.AsPut(), autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters), - autorest.WithPathParameters("/webhdfs/v1/{directFilePath}", pathParameters), + autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters), autorest.WithQueryParameters(queryParameters)) if streamContents != nil { preparer = autorest.DecoratePreparer(preparer, @@ -500,13 +476,11 @@ func (client GroupClient) CreateResponder(resp *http.Response) (result autorest. // Delete deletes the requested file or directory, optionally recursively. // -// accountName is the Azure Data Lake Store account to execute filesystem -// operations on. filePath is the Data Lake Store path (starting with '/') of -// the file or directory to delete. op is the constant value for the operation. -// recursive is the optional switch indicating if the delete should be -// recursive -func (client GroupClient) Delete(accountName string, filePath string, op string, recursive *bool) (result FileOperationResult, err error) { - req, err := client.DeletePreparer(accountName, filePath, op, recursive) +// accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake +// Store path (starting with '/') of the file or directory to delete. op is the constant value for the operation. +// recursive is the optional switch indicating if the delete should be recursive +func (client GroupClient) Delete(accountName string, pathParameter string, op string, recursive *bool) (result FileOperationResult, err error) { + req, err := client.DeletePreparer(accountName, pathParameter, op, recursive) if err != nil { err = autorest.NewErrorWithError(err, "filesystem.GroupClient", "Delete", nil, "Failure preparing request") return @@ -528,14 +502,14 @@ func (client GroupClient) Delete(accountName string, filePath string, op string, } // DeletePreparer prepares the Delete request. -func (client GroupClient) DeletePreparer(accountName string, filePath string, op string, recursive *bool) (*http.Request, error) { +func (client GroupClient) DeletePreparer(accountName string, pathParameter string, op string, recursive *bool) (*http.Request, error) { urlParameters := map[string]interface{}{ "accountName": accountName, "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix, } pathParameters := map[string]interface{}{ - "filePath": autorest.Encode("path", filePath), + "path": autorest.Encode("path", pathParameter), } const APIVersion = "2016-11-01" @@ -550,7 +524,7 @@ func (client GroupClient) DeletePreparer(accountName string, filePath string, op preparer := autorest.CreatePreparer( autorest.AsDelete(), autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters), - autorest.WithPathParameters("/webhdfs/v1/{filePath}", pathParameters), + autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -574,18 +548,14 @@ func (client GroupClient) DeleteResponder(resp *http.Response) (result FileOpera return } -// GetACLStatus gets Access Control List (ACL) entries for the specified file -// or directory. +// GetACLStatus gets Access Control List (ACL) entries for the specified file or directory. // -// accountName is the Azure Data Lake Store account to execute filesystem -// operations on. ACLFilePath is the Data Lake Store path (starting with '/') -// of the file or directory for which to get the ACL. op is the constant value -// for the operation. tooID is an optional switch to return friendly names in -// place of object ID for ACL entries. tooid=false returns friendly names -// instead of the AAD Object ID. Default value is true, returning AAD object -// IDs. -func (client GroupClient) GetACLStatus(accountName string, ACLFilePath string, op string, tooID *bool) (result ACLStatusResult, err error) { - req, err := client.GetACLStatusPreparer(accountName, ACLFilePath, op, tooID) +// accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake +// Store path (starting with '/') of the file or directory for which to get the ACL. op is the constant value for the +// operation. tooID is an optional switch to return friendly names in place of object ID for ACL entries. tooid=false +// returns friendly names instead of the AAD Object ID. Default value is true, returning AAD object IDs. +func (client GroupClient) GetACLStatus(accountName string, pathParameter string, op string, tooID *bool) (result ACLStatusResult, err error) { + req, err := client.GetACLStatusPreparer(accountName, pathParameter, op, tooID) if err != nil { err = autorest.NewErrorWithError(err, "filesystem.GroupClient", "GetACLStatus", nil, "Failure preparing request") return @@ -607,14 +577,14 @@ func (client GroupClient) GetACLStatus(accountName string, ACLFilePath string, o } // GetACLStatusPreparer prepares the GetACLStatus request. -func (client GroupClient) GetACLStatusPreparer(accountName string, ACLFilePath string, op string, tooID *bool) (*http.Request, error) { +func (client GroupClient) GetACLStatusPreparer(accountName string, pathParameter string, op string, tooID *bool) (*http.Request, error) { urlParameters := map[string]interface{}{ "accountName": accountName, "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix, } pathParameters := map[string]interface{}{ - "aclFilePath": autorest.Encode("path", ACLFilePath), + "path": autorest.Encode("path", pathParameter), } const APIVersion = "2016-11-01" @@ -629,7 +599,7 @@ func (client GroupClient) GetACLStatusPreparer(accountName string, ACLFilePath s preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters), - autorest.WithPathParameters("/webhdfs/v1/{aclFilePath}", pathParameters), + autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -653,15 +623,13 @@ func (client GroupClient) GetACLStatusResponder(resp *http.Response) (result ACL return } -// GetContentSummary gets the file content summary object specified by the file -// path. +// GetContentSummary gets the file content summary object specified by the file path. // -// accountName is the Azure Data Lake Store account to execute filesystem -// operations on. getContentSummaryFilePath is the Data Lake Store path -// (starting with '/') of the file for which to retrieve the summary. op is the -// constant value for the operation. -func (client GroupClient) GetContentSummary(accountName string, getContentSummaryFilePath string, op string) (result ContentSummaryResult, err error) { - req, err := client.GetContentSummaryPreparer(accountName, getContentSummaryFilePath, op) +// accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake +// Store path (starting with '/') of the file for which to retrieve the summary. op is the constant value for the +// operation. +func (client GroupClient) GetContentSummary(accountName string, pathParameter string, op string) (result ContentSummaryResult, err error) { + req, err := client.GetContentSummaryPreparer(accountName, pathParameter, op) if err != nil { err = autorest.NewErrorWithError(err, "filesystem.GroupClient", "GetContentSummary", nil, "Failure preparing request") return @@ -683,14 +651,14 @@ func (client GroupClient) GetContentSummary(accountName string, getContentSummar } // GetContentSummaryPreparer prepares the GetContentSummary request. -func (client GroupClient) GetContentSummaryPreparer(accountName string, getContentSummaryFilePath string, op string) (*http.Request, error) { +func (client GroupClient) GetContentSummaryPreparer(accountName string, pathParameter string, op string) (*http.Request, error) { urlParameters := map[string]interface{}{ "accountName": accountName, "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix, } pathParameters := map[string]interface{}{ - "getContentSummaryFilePath": autorest.Encode("path", getContentSummaryFilePath), + "path": autorest.Encode("path", pathParameter), } const APIVersion = "2016-11-01" @@ -702,7 +670,7 @@ func (client GroupClient) GetContentSummaryPreparer(accountName string, getConte preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters), - autorest.WithPathParameters("/webhdfs/v1/{getContentSummaryFilePath}", pathParameters), + autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -728,15 +696,12 @@ func (client GroupClient) GetContentSummaryResponder(resp *http.Response) (resul // GetFileStatus get the file status object specified by the file path. // -// accountName is the Azure Data Lake Store account to execute filesystem -// operations on. getFilePath is the Data Lake Store path (starting with '/') -// of the file or directory for which to retrieve the status. op is the -// constant value for the operation. tooID is an optional switch to return -// friendly names in place of owner and group. tooid=false returns friendly -// names instead of the AAD Object ID. Default value is true, returning AAD -// object IDs. -func (client GroupClient) GetFileStatus(accountName string, getFilePath string, op string, tooID *bool) (result FileStatusResult, err error) { - req, err := client.GetFileStatusPreparer(accountName, getFilePath, op, tooID) +// accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake +// Store path (starting with '/') of the file or directory for which to retrieve the status. op is the constant value +// for the operation. tooID is an optional switch to return friendly names in place of owner and group. tooid=false +// returns friendly names instead of the AAD Object ID. Default value is true, returning AAD object IDs. +func (client GroupClient) GetFileStatus(accountName string, pathParameter string, op string, tooID *bool) (result FileStatusResult, err error) { + req, err := client.GetFileStatusPreparer(accountName, pathParameter, op, tooID) if err != nil { err = autorest.NewErrorWithError(err, "filesystem.GroupClient", "GetFileStatus", nil, "Failure preparing request") return @@ -758,14 +723,14 @@ func (client GroupClient) GetFileStatus(accountName string, getFilePath string, } // GetFileStatusPreparer prepares the GetFileStatus request. -func (client GroupClient) GetFileStatusPreparer(accountName string, getFilePath string, op string, tooID *bool) (*http.Request, error) { +func (client GroupClient) GetFileStatusPreparer(accountName string, pathParameter string, op string, tooID *bool) (*http.Request, error) { urlParameters := map[string]interface{}{ "accountName": accountName, "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix, } pathParameters := map[string]interface{}{ - "getFilePath": autorest.Encode("path", getFilePath), + "path": autorest.Encode("path", pathParameter), } const APIVersion = "2016-11-01" @@ -780,7 +745,7 @@ func (client GroupClient) GetFileStatusPreparer(accountName string, getFilePath preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters), - autorest.WithPathParameters("/webhdfs/v1/{getFilePath}", pathParameters), + autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -804,24 +769,19 @@ func (client GroupClient) GetFileStatusResponder(resp *http.Response) (result Fi return } -// ListFileStatus get the list of file status objects specified by the file -// path, with optional pagination parameters +// ListFileStatus get the list of file status objects specified by the file path, with optional pagination parameters // -// accountName is the Azure Data Lake Store account to execute filesystem -// operations on. listFilePath is the Data Lake Store path (starting with '/') -// of the directory to list. op is the constant value for the operation. -// listSize is gets or sets the number of items to return. Optional. listAfter -// is gets or sets the item or lexographical index after which to begin -// returning results. For example, a file list of 'a','b','d' and listAfter='b' -// will return 'd', and a listAfter='c' will also return 'd'. Optional. -// listBefore is gets or sets the item or lexographical index before which to -// begin returning results. For example, a file list of 'a','b','d' and -// listBefore='d' will return 'a','b', and a listBefore='c' will also return -// 'a','b'. Optional. tooID is an optional switch to return friendly names in -// place of owner and group. tooid=false returns friendly names instead of the -// AAD Object ID. Default value is true, returning AAD object IDs. -func (client GroupClient) ListFileStatus(accountName string, listFilePath string, op string, listSize *int32, listAfter string, listBefore string, tooID *bool) (result FileStatusesResult, err error) { - req, err := client.ListFileStatusPreparer(accountName, listFilePath, op, listSize, listAfter, listBefore, tooID) +// accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake +// Store path (starting with '/') of the directory to list. op is the constant value for the operation. listSize is +// gets or sets the number of items to return. Optional. listAfter is gets or sets the item or lexographical index +// after which to begin returning results. For example, a file list of 'a','b','d' and listAfter='b' will return 'd', +// and a listAfter='c' will also return 'd'. Optional. listBefore is gets or sets the item or lexographical index +// before which to begin returning results. For example, a file list of 'a','b','d' and listBefore='d' will return +// 'a','b', and a listBefore='c' will also return 'a','b'. Optional. tooID is an optional switch to return friendly +// names in place of owner and group. tooid=false returns friendly names instead of the AAD Object ID. Default value is +// true, returning AAD object IDs. +func (client GroupClient) ListFileStatus(accountName string, pathParameter string, op string, listSize *int32, listAfter string, listBefore string, tooID *bool) (result FileStatusesResult, err error) { + req, err := client.ListFileStatusPreparer(accountName, pathParameter, op, listSize, listAfter, listBefore, tooID) if err != nil { err = autorest.NewErrorWithError(err, "filesystem.GroupClient", "ListFileStatus", nil, "Failure preparing request") return @@ -843,14 +803,14 @@ func (client GroupClient) ListFileStatus(accountName string, listFilePath string } // ListFileStatusPreparer prepares the ListFileStatus request. -func (client GroupClient) ListFileStatusPreparer(accountName string, listFilePath string, op string, listSize *int32, listAfter string, listBefore string, tooID *bool) (*http.Request, error) { +func (client GroupClient) ListFileStatusPreparer(accountName string, pathParameter string, op string, listSize *int32, listAfter string, listBefore string, tooID *bool) (*http.Request, error) { urlParameters := map[string]interface{}{ "accountName": accountName, "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix, } pathParameters := map[string]interface{}{ - "listFilePath": autorest.Encode("path", listFilePath), + "path": autorest.Encode("path", pathParameter), } const APIVersion = "2016-11-01" @@ -874,7 +834,7 @@ func (client GroupClient) ListFileStatusPreparer(accountName string, listFilePat preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters), - autorest.WithPathParameters("/webhdfs/v1/{listFilePath}", pathParameters), + autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -900,11 +860,9 @@ func (client GroupClient) ListFileStatusResponder(resp *http.Response) (result F // Mkdirs creates a directory. // -// accountName is the Azure Data Lake Store account to execute filesystem -// operations on. pathParameter is the Data Lake Store path (starting with '/') -// of the directory to create. op is the constant value for the operation. -// permission is optional octal permission with which the directory should be -// created. +// accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake +// Store path (starting with '/') of the directory to create. op is the constant value for the operation. permission is +// optional octal permission with which the directory should be created. func (client GroupClient) Mkdirs(accountName string, pathParameter string, op string, permission *int32) (result FileOperationResult, err error) { req, err := client.MkdirsPreparer(accountName, pathParameter, op, permission) if err != nil { @@ -974,17 +932,14 @@ func (client GroupClient) MkdirsResponder(resp *http.Response) (result FileOpera return } -// ModifyACLEntries modifies existing Access Control List (ACL) entries on a -// file or folder. +// ModifyACLEntries modifies existing Access Control List (ACL) entries on a file or folder. // -// accountName is the Azure Data Lake Store account to execute filesystem -// operations on. modifyACLFilePath is the Data Lake Store path (starting with -// '/') of the file or directory with the ACL being modified. aclspec is the -// ACL specification included in ACL modification operations in the format -// '[default:]user|group|other::r|-w|-x|-' op is the constant value for the -// operation. -func (client GroupClient) ModifyACLEntries(accountName string, modifyACLFilePath string, aclspec string, op string) (result autorest.Response, err error) { - req, err := client.ModifyACLEntriesPreparer(accountName, modifyACLFilePath, aclspec, op) +// accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake +// Store path (starting with '/') of the file or directory with the ACL being modified. aclspec is the ACL +// specification included in ACL modification operations in the format '[default:]user|group|other::r|-w|-x|-' op is +// the constant value for the operation. +func (client GroupClient) ModifyACLEntries(accountName string, pathParameter string, aclspec string, op string) (result autorest.Response, err error) { + req, err := client.ModifyACLEntriesPreparer(accountName, pathParameter, aclspec, op) if err != nil { err = autorest.NewErrorWithError(err, "filesystem.GroupClient", "ModifyACLEntries", nil, "Failure preparing request") return @@ -1006,14 +961,14 @@ func (client GroupClient) ModifyACLEntries(accountName string, modifyACLFilePath } // ModifyACLEntriesPreparer prepares the ModifyACLEntries request. -func (client GroupClient) ModifyACLEntriesPreparer(accountName string, modifyACLFilePath string, aclspec string, op string) (*http.Request, error) { +func (client GroupClient) ModifyACLEntriesPreparer(accountName string, pathParameter string, aclspec string, op string) (*http.Request, error) { urlParameters := map[string]interface{}{ "accountName": accountName, "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix, } pathParameters := map[string]interface{}{ - "modifyAclFilePath": autorest.Encode("path", modifyACLFilePath), + "path": autorest.Encode("path", pathParameter), } const APIVersion = "2016-11-01" @@ -1026,7 +981,7 @@ func (client GroupClient) ModifyACLEntriesPreparer(accountName string, modifyACL preparer := autorest.CreatePreparer( autorest.AsPut(), autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters), - autorest.WithPathParameters("/webhdfs/v1/{modifyAclFilePath}", pathParameters), + autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -1049,28 +1004,22 @@ func (client GroupClient) ModifyACLEntriesResponder(resp *http.Response) (result return } -// MsConcat concatenates the list of source files into the destination file, -// deleting all source files upon success. This method accepts more source file -// paths than the Concat method. This method and the parameters it accepts are +// MsConcat concatenates the list of source files into the destination file, deleting all source files upon success. +// This method accepts more source file paths than the Concat method. This method and the parameters it accepts are // subject to change for usability in an upcoming version. // -// accountName is the Azure Data Lake Store account to execute filesystem -// operations on. msConcatDestinationPath is the Data Lake Store path (starting -// with '/') of the destination file resulting from the concatenation. -// streamContents is a list of Data Lake Store paths (starting with '/') of the -// source files. Must be a comma-separated path list in the format: -// sources=/file/path/1.txt,/file/path/2.txt,/file/path/lastfile.csv -// streamContents will be closed upon successful return. Callers should ensure -// closure when receiving an error.op is the constant value for the operation. -// deleteSourceDirectory is indicates that as an optimization instead of -// deleting each individual source stream, delete the source stream folder if -// all streams are in the same folder instead. This results in a substantial -// performance improvement when the only streams in the folder are part of the -// concatenation operation. WARNING: This includes the deletion of any other -// files that are not source files. Only set this to true when source files are -// the only files in the source directory. -func (client GroupClient) MsConcat(accountName string, msConcatDestinationPath string, streamContents io.ReadCloser, op string, deleteSourceDirectory *bool) (result autorest.Response, err error) { - req, err := client.MsConcatPreparer(accountName, msConcatDestinationPath, streamContents, op, deleteSourceDirectory) +// accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake +// Store path (starting with '/') of the destination file resulting from the concatenation. streamContents is a list of +// Data Lake Store paths (starting with '/') of the source files. Must be a comma-separated path list in the format: +// sources=/file/path/1.txt,/file/path/2.txt,/file/path/lastfile.csv streamContents will be closed upon successful +// return. Callers should ensure closure when receiving an error.op is the constant value for the operation. +// deleteSourceDirectory is indicates that as an optimization instead of deleting each individual source stream, delete +// the source stream folder if all streams are in the same folder instead. This results in a substantial performance +// improvement when the only streams in the folder are part of the concatenation operation. WARNING: This includes the +// deletion of any other files that are not source files. Only set this to true when source files are the only files in +// the source directory. +func (client GroupClient) MsConcat(accountName string, pathParameter string, streamContents io.ReadCloser, op string, deleteSourceDirectory *bool) (result autorest.Response, err error) { + req, err := client.MsConcatPreparer(accountName, pathParameter, streamContents, op, deleteSourceDirectory) if err != nil { err = autorest.NewErrorWithError(err, "filesystem.GroupClient", "MsConcat", nil, "Failure preparing request") return @@ -1092,14 +1041,14 @@ func (client GroupClient) MsConcat(accountName string, msConcatDestinationPath s } // MsConcatPreparer prepares the MsConcat request. -func (client GroupClient) MsConcatPreparer(accountName string, msConcatDestinationPath string, streamContents io.ReadCloser, op string, deleteSourceDirectory *bool) (*http.Request, error) { +func (client GroupClient) MsConcatPreparer(accountName string, pathParameter string, streamContents io.ReadCloser, op string, deleteSourceDirectory *bool) (*http.Request, error) { urlParameters := map[string]interface{}{ "accountName": accountName, "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix, } pathParameters := map[string]interface{}{ - "msConcatDestinationPath": autorest.Encode("path", msConcatDestinationPath), + "path": autorest.Encode("path", pathParameter), } const APIVersion = "2016-11-01" @@ -1114,7 +1063,7 @@ func (client GroupClient) MsConcatPreparer(accountName string, msConcatDestinati preparer := autorest.CreatePreparer( autorest.AsPost(), autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters), - autorest.WithPathParameters("/webhdfs/v1/{msConcatDestinationPath}", pathParameters), + autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters), autorest.WithFile(streamContents), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) @@ -1140,19 +1089,15 @@ func (client GroupClient) MsConcatResponder(resp *http.Response) (result autores // Open opens and reads from the specified file. // -// accountName is the Azure Data Lake Store account to execute filesystem -// operations on. directFilePath is the Data Lake Store path (starting with -// '/') of the file to open. op is the constant value for the operation. read -// is flag to skip redirection. When read=false or not specified, the request -// is redirected. Submit another HTTP PUT request using the URL in the Location -// header with the file data to be read. When read=true, this redirection is -// skipped. length is the number of bytes that the server will attempt to -// retrieve. It will retrieve <= length bytes. offset is the byte offset to -// start reading data from. fileSessionID is optional unique GUID per file -// indicating all the reads with the same fileSessionId are from the same -// client and same session. This will give a performance benefit. -func (client GroupClient) Open(accountName string, directFilePath string, op string, read string, length *int64, offset *int64, fileSessionID *uuid.UUID) (result ReadCloser, err error) { - req, err := client.OpenPreparer(accountName, directFilePath, op, read, length, offset, fileSessionID) +// accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake +// Store path (starting with '/') of the file to open. read is flag to skip redirection. When read=false or not +// specified, the request is redirected. Submit another HTTP PUT request using the URL in the Location header with the +// file data to be read. When read=true, this redirection is skipped. op is the constant value for the operation. +// length is the number of bytes that the server will attempt to retrieve. It will retrieve <= length bytes. offset is +// the byte offset to start reading data from. fileSessionID is optional unique GUID per file indicating all the reads +// with the same fileSessionId are from the same client and same session. This will give a performance benefit. +func (client GroupClient) Open(accountName string, pathParameter string, read string, op string, length *int64, offset *int64, fileSessionID *uuid.UUID) (result ReadCloser, err error) { + req, err := client.OpenPreparer(accountName, pathParameter, read, op, length, offset, fileSessionID) if err != nil { err = autorest.NewErrorWithError(err, "filesystem.GroupClient", "Open", nil, "Failure preparing request") return @@ -1174,14 +1119,14 @@ func (client GroupClient) Open(accountName string, directFilePath string, op str } // OpenPreparer prepares the Open request. -func (client GroupClient) OpenPreparer(accountName string, directFilePath string, op string, read string, length *int64, offset *int64, fileSessionID *uuid.UUID) (*http.Request, error) { +func (client GroupClient) OpenPreparer(accountName string, pathParameter string, read string, op string, length *int64, offset *int64, fileSessionID *uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ "accountName": accountName, "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix, } pathParameters := map[string]interface{}{ - "directFilePath": autorest.Encode("path", directFilePath), + "path": autorest.Encode("path", pathParameter), } const APIVersion = "2016-11-01" @@ -1203,7 +1148,7 @@ func (client GroupClient) OpenPreparer(accountName string, directFilePath string preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters), - autorest.WithPathParameters("/webhdfs/v1/{directFilePath}", pathParameters), + autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -1226,15 +1171,13 @@ func (client GroupClient) OpenResponder(resp *http.Response) (result ReadCloser, return } -// RemoveACL removes the existing Access Control List (ACL) of the specified -// file or directory. +// RemoveACL removes the existing Access Control List (ACL) of the specified file or directory. // -// accountName is the Azure Data Lake Store account to execute filesystem -// operations on. ACLFilePath is the Data Lake Store path (starting with '/') -// of the file or directory with the ACL being removed. op is the constant -// value for the operation. -func (client GroupClient) RemoveACL(accountName string, ACLFilePath string, op string) (result autorest.Response, err error) { - req, err := client.RemoveACLPreparer(accountName, ACLFilePath, op) +// accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake +// Store path (starting with '/') of the file or directory with the ACL being removed. op is the constant value for the +// operation. +func (client GroupClient) RemoveACL(accountName string, pathParameter string, op string) (result autorest.Response, err error) { + req, err := client.RemoveACLPreparer(accountName, pathParameter, op) if err != nil { err = autorest.NewErrorWithError(err, "filesystem.GroupClient", "RemoveACL", nil, "Failure preparing request") return @@ -1256,14 +1199,14 @@ func (client GroupClient) RemoveACL(accountName string, ACLFilePath string, op s } // RemoveACLPreparer prepares the RemoveACL request. -func (client GroupClient) RemoveACLPreparer(accountName string, ACLFilePath string, op string) (*http.Request, error) { +func (client GroupClient) RemoveACLPreparer(accountName string, pathParameter string, op string) (*http.Request, error) { urlParameters := map[string]interface{}{ "accountName": accountName, "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix, } pathParameters := map[string]interface{}{ - "aclFilePath": autorest.Encode("path", ACLFilePath), + "path": autorest.Encode("path", pathParameter), } const APIVersion = "2016-11-01" @@ -1275,7 +1218,7 @@ func (client GroupClient) RemoveACLPreparer(accountName string, ACLFilePath stri preparer := autorest.CreatePreparer( autorest.AsPut(), autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters), - autorest.WithPathParameters("/webhdfs/v1/{aclFilePath}", pathParameters), + autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -1298,16 +1241,13 @@ func (client GroupClient) RemoveACLResponder(resp *http.Response) (result autore return } -// RemoveACLEntries removes existing Access Control List (ACL) entries for a -// file or folder. +// RemoveACLEntries removes existing Access Control List (ACL) entries for a file or folder. // -// accountName is the Azure Data Lake Store account to execute filesystem -// operations on. removeACLFilePath is the Data Lake Store path (starting with -// '/') of the file or directory with the ACL being removed. aclspec is the ACL -// spec included in ACL removal operations in the format -// '[default:]user|group|other' op is the constant value for the operation. -func (client GroupClient) RemoveACLEntries(accountName string, removeACLFilePath string, aclspec string, op string) (result autorest.Response, err error) { - req, err := client.RemoveACLEntriesPreparer(accountName, removeACLFilePath, aclspec, op) +// accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake +// Store path (starting with '/') of the file or directory with the ACL being removed. aclspec is the ACL spec included +// in ACL removal operations in the format '[default:]user|group|other' op is the constant value for the operation. +func (client GroupClient) RemoveACLEntries(accountName string, pathParameter string, aclspec string, op string) (result autorest.Response, err error) { + req, err := client.RemoveACLEntriesPreparer(accountName, pathParameter, aclspec, op) if err != nil { err = autorest.NewErrorWithError(err, "filesystem.GroupClient", "RemoveACLEntries", nil, "Failure preparing request") return @@ -1329,14 +1269,14 @@ func (client GroupClient) RemoveACLEntries(accountName string, removeACLFilePath } // RemoveACLEntriesPreparer prepares the RemoveACLEntries request. -func (client GroupClient) RemoveACLEntriesPreparer(accountName string, removeACLFilePath string, aclspec string, op string) (*http.Request, error) { +func (client GroupClient) RemoveACLEntriesPreparer(accountName string, pathParameter string, aclspec string, op string) (*http.Request, error) { urlParameters := map[string]interface{}{ "accountName": accountName, "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix, } pathParameters := map[string]interface{}{ - "removeAclFilePath": autorest.Encode("path", removeACLFilePath), + "path": autorest.Encode("path", pathParameter), } const APIVersion = "2016-11-01" @@ -1349,7 +1289,7 @@ func (client GroupClient) RemoveACLEntriesPreparer(accountName string, removeACL preparer := autorest.CreatePreparer( autorest.AsPut(), autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters), - autorest.WithPathParameters("/webhdfs/v1/{removeAclFilePath}", pathParameters), + autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -1372,15 +1312,13 @@ func (client GroupClient) RemoveACLEntriesResponder(resp *http.Response) (result return } -// RemoveDefaultACL removes the existing Default Access Control List (ACL) of -// the specified directory. +// RemoveDefaultACL removes the existing Default Access Control List (ACL) of the specified directory. // -// accountName is the Azure Data Lake Store account to execute filesystem -// operations on. defaultACLFilePath is the Data Lake Store path (starting with -// '/') of the directory with the default ACL being removed. op is the constant -// value for the operation. -func (client GroupClient) RemoveDefaultACL(accountName string, defaultACLFilePath string, op string) (result autorest.Response, err error) { - req, err := client.RemoveDefaultACLPreparer(accountName, defaultACLFilePath, op) +// accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake +// Store path (starting with '/') of the directory with the default ACL being removed. op is the constant value for the +// operation. +func (client GroupClient) RemoveDefaultACL(accountName string, pathParameter string, op string) (result autorest.Response, err error) { + req, err := client.RemoveDefaultACLPreparer(accountName, pathParameter, op) if err != nil { err = autorest.NewErrorWithError(err, "filesystem.GroupClient", "RemoveDefaultACL", nil, "Failure preparing request") return @@ -1402,14 +1340,14 @@ func (client GroupClient) RemoveDefaultACL(accountName string, defaultACLFilePat } // RemoveDefaultACLPreparer prepares the RemoveDefaultACL request. -func (client GroupClient) RemoveDefaultACLPreparer(accountName string, defaultACLFilePath string, op string) (*http.Request, error) { +func (client GroupClient) RemoveDefaultACLPreparer(accountName string, pathParameter string, op string) (*http.Request, error) { urlParameters := map[string]interface{}{ "accountName": accountName, "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix, } pathParameters := map[string]interface{}{ - "defaultAclFilePath": autorest.Encode("path", defaultACLFilePath), + "path": autorest.Encode("path", pathParameter), } const APIVersion = "2016-11-01" @@ -1421,7 +1359,7 @@ func (client GroupClient) RemoveDefaultACLPreparer(accountName string, defaultAC preparer := autorest.CreatePreparer( autorest.AsPut(), autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters), - autorest.WithPathParameters("/webhdfs/v1/{defaultAclFilePath}", pathParameters), + autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -1446,13 +1384,11 @@ func (client GroupClient) RemoveDefaultACLResponder(resp *http.Response) (result // Rename rename a file or directory. // -// accountName is the Azure Data Lake Store account to execute filesystem -// operations on. renameFilePath is the Data Lake Store path (starting with -// '/') of the file or directory to move/rename. destination is the path to -// move/rename the file or folder to op is the constant value for the -// operation. -func (client GroupClient) Rename(accountName string, renameFilePath string, destination string, op string) (result FileOperationResult, err error) { - req, err := client.RenamePreparer(accountName, renameFilePath, destination, op) +// accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake +// Store path (starting with '/') of the file or directory to move/rename. destination is the path to move/rename the +// file or folder to op is the constant value for the operation. +func (client GroupClient) Rename(accountName string, pathParameter string, destination string, op string) (result FileOperationResult, err error) { + req, err := client.RenamePreparer(accountName, pathParameter, destination, op) if err != nil { err = autorest.NewErrorWithError(err, "filesystem.GroupClient", "Rename", nil, "Failure preparing request") return @@ -1474,14 +1410,14 @@ func (client GroupClient) Rename(accountName string, renameFilePath string, dest } // RenamePreparer prepares the Rename request. -func (client GroupClient) RenamePreparer(accountName string, renameFilePath string, destination string, op string) (*http.Request, error) { +func (client GroupClient) RenamePreparer(accountName string, pathParameter string, destination string, op string) (*http.Request, error) { urlParameters := map[string]interface{}{ "accountName": accountName, "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix, } pathParameters := map[string]interface{}{ - "renameFilePath": autorest.Encode("path", renameFilePath), + "path": autorest.Encode("path", pathParameter), } const APIVersion = "2016-11-01" @@ -1494,7 +1430,7 @@ func (client GroupClient) RenamePreparer(accountName string, renameFilePath stri preparer := autorest.CreatePreparer( autorest.AsPut(), autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters), - autorest.WithPathParameters("/webhdfs/v1/{renameFilePath}", pathParameters), + autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -1520,14 +1456,12 @@ func (client GroupClient) RenameResponder(resp *http.Response) (result FileOpera // SetACL sets the Access Control List (ACL) for a file or folder. // -// accountName is the Azure Data Lake Store account to execute filesystem -// operations on. setACLFilePath is the Data Lake Store path (starting with -// '/') of the file or directory on which to set the ACL. aclspec is the ACL -// spec included in ACL creation operations in the format -// '[default:]user|group|other::r|-w|-x|-' op is the constant value for the +// accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake +// Store path (starting with '/') of the file or directory on which to set the ACL. aclspec is the ACL spec included in +// ACL creation operations in the format '[default:]user|group|other::r|-w|-x|-' op is the constant value for the // operation. -func (client GroupClient) SetACL(accountName string, setACLFilePath string, aclspec string, op string) (result autorest.Response, err error) { - req, err := client.SetACLPreparer(accountName, setACLFilePath, aclspec, op) +func (client GroupClient) SetACL(accountName string, pathParameter string, aclspec string, op string) (result autorest.Response, err error) { + req, err := client.SetACLPreparer(accountName, pathParameter, aclspec, op) if err != nil { err = autorest.NewErrorWithError(err, "filesystem.GroupClient", "SetACL", nil, "Failure preparing request") return @@ -1549,14 +1483,14 @@ func (client GroupClient) SetACL(accountName string, setACLFilePath string, acls } // SetACLPreparer prepares the SetACL request. -func (client GroupClient) SetACLPreparer(accountName string, setACLFilePath string, aclspec string, op string) (*http.Request, error) { +func (client GroupClient) SetACLPreparer(accountName string, pathParameter string, aclspec string, op string) (*http.Request, error) { urlParameters := map[string]interface{}{ "accountName": accountName, "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix, } pathParameters := map[string]interface{}{ - "setAclFilePath": autorest.Encode("path", setACLFilePath), + "path": autorest.Encode("path", pathParameter), } const APIVersion = "2016-11-01" @@ -1569,7 +1503,7 @@ func (client GroupClient) SetACLPreparer(accountName string, setACLFilePath stri preparer := autorest.CreatePreparer( autorest.AsPut(), autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters), - autorest.WithPathParameters("/webhdfs/v1/{setAclFilePath}", pathParameters), + autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -1592,24 +1526,19 @@ func (client GroupClient) SetACLResponder(resp *http.Response) (result autorest. return } -// SetFileExpiry sets or removes the expiration time on the specified file. -// This operation can only be executed against files. Folders are not -// supported. +// SetFileExpiry sets or removes the expiration time on the specified file. This operation can only be executed against +// files. Folders are not supported. // -// accountName is the Azure Data Lake Store account to execute filesystem -// operations on. filePath is the Data Lake Store path (starting with '/') of -// the file on which to set or remove the expiration time. expiryOption is -// indicates the type of expiration to use for the file: 1. NeverExpire: -// ExpireTime is ignored. 2. RelativeToNow: ExpireTime is an integer in -// milliseconds representing the expiration date relative to when file -// expiration is updated. 3. RelativeToCreationDate: ExpireTime is an integer -// in milliseconds representing the expiration date relative to file creation. -// 4. Absolute: ExpireTime is an integer in milliseconds, as a Unix timestamp -// relative to 1/1/1970 00:00:00. op is the constant value for the operation. -// expireTime is the time that the file will expire, corresponding to the +// accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake +// Store path (starting with '/') of the file on which to set or remove the expiration time. expiryOption is indicates +// the type of expiration to use for the file: 1. NeverExpire: ExpireTime is ignored. 2. RelativeToNow: ExpireTime is +// an integer in milliseconds representing the expiration date relative to when file expiration is updated. 3. +// RelativeToCreationDate: ExpireTime is an integer in milliseconds representing the expiration date relative to file +// creation. 4. Absolute: ExpireTime is an integer in milliseconds, as a Unix timestamp relative to 1/1/1970 00:00:00. +// op is the constant value for the operation. expireTime is the time that the file will expire, corresponding to the // ExpiryOption that was set. -func (client GroupClient) SetFileExpiry(accountName string, filePath string, expiryOption ExpiryOptionType, op string, expireTime *int64) (result autorest.Response, err error) { - req, err := client.SetFileExpiryPreparer(accountName, filePath, expiryOption, op, expireTime) +func (client GroupClient) SetFileExpiry(accountName string, pathParameter string, expiryOption ExpiryOptionType, op string, expireTime *int64) (result autorest.Response, err error) { + req, err := client.SetFileExpiryPreparer(accountName, pathParameter, expiryOption, op, expireTime) if err != nil { err = autorest.NewErrorWithError(err, "filesystem.GroupClient", "SetFileExpiry", nil, "Failure preparing request") return @@ -1631,14 +1560,14 @@ func (client GroupClient) SetFileExpiry(accountName string, filePath string, exp } // SetFileExpiryPreparer prepares the SetFileExpiry request. -func (client GroupClient) SetFileExpiryPreparer(accountName string, filePath string, expiryOption ExpiryOptionType, op string, expireTime *int64) (*http.Request, error) { +func (client GroupClient) SetFileExpiryPreparer(accountName string, pathParameter string, expiryOption ExpiryOptionType, op string, expireTime *int64) (*http.Request, error) { urlParameters := map[string]interface{}{ "accountName": accountName, "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix, } pathParameters := map[string]interface{}{ - "filePath": autorest.Encode("path", filePath), + "path": autorest.Encode("path", pathParameter), } const APIVersion = "2016-11-01" @@ -1654,7 +1583,7 @@ func (client GroupClient) SetFileExpiryPreparer(accountName string, filePath str preparer := autorest.CreatePreparer( autorest.AsPut(), autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters), - autorest.WithPathParameters("/WebHdfsExt/{filePath}", pathParameters), + autorest.WithPathParameters("/WebHdfsExt/{path}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -1679,15 +1608,13 @@ func (client GroupClient) SetFileExpiryResponder(resp *http.Response) (result au // SetOwner sets the owner of a file or directory. // -// accountName is the Azure Data Lake Store account to execute filesystem -// operations on. setOwnerFilePath is the Data Lake Store path (starting with -// '/') of the file or directory for which to set the owner. op is the constant -// value for the operation. owner is the AAD Object ID of the user owner of the -// file or directory. If empty, the property will remain unchanged. group is -// the AAD Object ID of the group owner of the file or directory. If empty, the -// property will remain unchanged. -func (client GroupClient) SetOwner(accountName string, setOwnerFilePath string, op string, owner string, group string) (result autorest.Response, err error) { - req, err := client.SetOwnerPreparer(accountName, setOwnerFilePath, op, owner, group) +// accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake +// Store path (starting with '/') of the file or directory for which to set the owner. op is the constant value for the +// operation. owner is the AAD Object ID of the user owner of the file or directory. If empty, the property will remain +// unchanged. group is the AAD Object ID of the group owner of the file or directory. If empty, the property will +// remain unchanged. +func (client GroupClient) SetOwner(accountName string, pathParameter string, op string, owner string, group string) (result autorest.Response, err error) { + req, err := client.SetOwnerPreparer(accountName, pathParameter, op, owner, group) if err != nil { err = autorest.NewErrorWithError(err, "filesystem.GroupClient", "SetOwner", nil, "Failure preparing request") return @@ -1709,14 +1636,14 @@ func (client GroupClient) SetOwner(accountName string, setOwnerFilePath string, } // SetOwnerPreparer prepares the SetOwner request. -func (client GroupClient) SetOwnerPreparer(accountName string, setOwnerFilePath string, op string, owner string, group string) (*http.Request, error) { +func (client GroupClient) SetOwnerPreparer(accountName string, pathParameter string, op string, owner string, group string) (*http.Request, error) { urlParameters := map[string]interface{}{ "accountName": accountName, "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix, } pathParameters := map[string]interface{}{ - "setOwnerFilePath": autorest.Encode("path", setOwnerFilePath), + "path": autorest.Encode("path", pathParameter), } const APIVersion = "2016-11-01" @@ -1734,7 +1661,7 @@ func (client GroupClient) SetOwnerPreparer(accountName string, setOwnerFilePath preparer := autorest.CreatePreparer( autorest.AsPut(), autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters), - autorest.WithPathParameters("/webhdfs/v1/{setOwnerFilePath}", pathParameters), + autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } @@ -1759,13 +1686,12 @@ func (client GroupClient) SetOwnerResponder(resp *http.Response) (result autores // SetPermission sets the permission of the file or folder. // -// accountName is the Azure Data Lake Store account to execute filesystem -// operations on. setPermissionFilePath is the Data Lake Store path (starting -// with '/') of the file or directory for which to set the permission. op is -// the constant value for the operation. permission is a string representation -// of the permission (i.e 'rwx'). If empty, this property remains unchanged. -func (client GroupClient) SetPermission(accountName string, setPermissionFilePath string, op string, permission string) (result autorest.Response, err error) { - req, err := client.SetPermissionPreparer(accountName, setPermissionFilePath, op, permission) +// accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake +// Store path (starting with '/') of the file or directory for which to set the permission. op is the constant value +// for the operation. permission is a string representation of the permission (i.e 'rwx'). If empty, this property +// remains unchanged. +func (client GroupClient) SetPermission(accountName string, pathParameter string, op string, permission string) (result autorest.Response, err error) { + req, err := client.SetPermissionPreparer(accountName, pathParameter, op, permission) if err != nil { err = autorest.NewErrorWithError(err, "filesystem.GroupClient", "SetPermission", nil, "Failure preparing request") return @@ -1787,14 +1713,14 @@ func (client GroupClient) SetPermission(accountName string, setPermissionFilePat } // SetPermissionPreparer prepares the SetPermission request. -func (client GroupClient) SetPermissionPreparer(accountName string, setPermissionFilePath string, op string, permission string) (*http.Request, error) { +func (client GroupClient) SetPermissionPreparer(accountName string, pathParameter string, op string, permission string) (*http.Request, error) { urlParameters := map[string]interface{}{ "accountName": accountName, "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix, } pathParameters := map[string]interface{}{ - "setPermissionFilePath": autorest.Encode("path", setPermissionFilePath), + "path": autorest.Encode("path", pathParameter), } const APIVersion = "2016-11-01" @@ -1809,7 +1735,7 @@ func (client GroupClient) SetPermissionPreparer(accountName string, setPermissio preparer := autorest.CreatePreparer( autorest.AsPut(), autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters), - autorest.WithPathParameters("/webhdfs/v1/{setPermissionFilePath}", pathParameters), + autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare(&http.Request{}) } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/datalake-store/filesystem/models.go b/vendor/github.com/Azure/azure-sdk-for-go/datalake-store/filesystem/models.go index 517f86119..71f07e335 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/datalake-store/filesystem/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/datalake-store/filesystem/models.go @@ -14,11 +14,12 @@ package filesystem // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( + "encoding/json" + "errors" "github.com/Azure/go-autorest/autorest" "io" ) @@ -31,6 +32,32 @@ const ( Autocreate AppendModeType = "autocreate" ) +// Exception enumerates the values for exception. +type Exception string + +const ( + // ExceptionAccessControlException specifies the exception access control exception state for exception. + ExceptionAccessControlException Exception = "AccessControlException" + // ExceptionBadOffsetException specifies the exception bad offset exception state for exception. + ExceptionBadOffsetException Exception = "BadOffsetException" + // ExceptionFileAlreadyExistsException specifies the exception file already exists exception state for exception. + ExceptionFileAlreadyExistsException Exception = "FileAlreadyExistsException" + // ExceptionFileNotFoundException specifies the exception file not found exception state for exception. + ExceptionFileNotFoundException Exception = "FileNotFoundException" + // ExceptionIllegalArgumentException specifies the exception illegal argument exception state for exception. + ExceptionIllegalArgumentException Exception = "IllegalArgumentException" + // ExceptionIOException specifies the exception io exception state for exception. + ExceptionIOException Exception = "IOException" + // ExceptionRuntimeException specifies the exception runtime exception state for exception. + ExceptionRuntimeException Exception = "RuntimeException" + // ExceptionSecurityException specifies the exception security exception state for exception. + ExceptionSecurityException Exception = "SecurityException" + // ExceptionThrottledException specifies the exception throttled exception state for exception. + ExceptionThrottledException Exception = "ThrottledException" + // ExceptionUnsupportedOperationException specifies the exception unsupported operation exception state for exception. + ExceptionUnsupportedOperationException Exception = "UnsupportedOperationException" +) + // ExpiryOptionType enumerates the values for expiry option type. type ExpiryOptionType string @@ -39,11 +66,9 @@ const ( Absolute ExpiryOptionType = "Absolute" // NeverExpire specifies the never expire state for expiry option type. NeverExpire ExpiryOptionType = "NeverExpire" - // RelativeToCreationDate specifies the relative to creation date state for - // expiry option type. + // RelativeToCreationDate specifies the relative to creation date state for expiry option type. RelativeToCreationDate ExpiryOptionType = "RelativeToCreationDate" - // RelativeToNow specifies the relative to now state for expiry option - // type. + // RelativeToNow specifies the relative to now state for expiry option type. RelativeToNow ExpiryOptionType = "RelativeToNow" ) @@ -69,8 +94,7 @@ const ( METADATA SyncFlag = "METADATA" ) -// ACLStatus is data Lake Store file or directory Access Control List -// information. +// ACLStatus is data Lake Store file or directory Access Control List information. type ACLStatus struct { Entries *[]string `json:"entries,omitempty"` Group *string `json:"group,omitempty"` @@ -79,104 +103,812 @@ type ACLStatus struct { StickyBit *bool `json:"stickyBit,omitempty"` } -// ACLStatusResult is data Lake Store file or directory Access Control List -// information. +// ACLStatusResult is data Lake Store file or directory Access Control List information. type ACLStatusResult struct { autorest.Response `json:"-"` ACLStatus *ACLStatus `json:"AclStatus,omitempty"` } -// AdlsAccessControlException is a WebHDFS exception thrown indicating that -// access is denied due to insufficient permissions. Thrown when a 403 error -// response code is returned (forbidden). +// AdlsAccessControlException is a WebHDFS exception thrown indicating that access is denied due to insufficient +// permissions. Thrown when a 403 error response code is returned (forbidden). type AdlsAccessControlException struct { - JavaClassName *string `json:"javaClassName,omitempty"` - Message *string `json:"message,omitempty"` + JavaClassName *string `json:"javaClassName,omitempty"` + Message *string `json:"message,omitempty"` + Exception Exception `json:"exception,omitempty"` } -// AdlsBadOffsetException is a WebHDFS exception thrown indicating the append -// or read is from a bad offset. Thrown when a 400 error response code is -// returned for append and open operations (Bad request). +// MarshalJSON is the custom marshaler for AdlsAccessControlException. +func (aace AdlsAccessControlException) MarshalJSON() ([]byte, error) { + aace.Exception = ExceptionAccessControlException + type Alias AdlsAccessControlException + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(aace), + }) +} + +// AsAdlsIllegalArgumentException is the AdlsRemoteException implementation for AdlsAccessControlException. +func (aace AdlsAccessControlException) AsAdlsIllegalArgumentException() (*AdlsIllegalArgumentException, bool) { + return nil, false +} + +// AsAdlsUnsupportedOperationException is the AdlsRemoteException implementation for AdlsAccessControlException. +func (aace AdlsAccessControlException) AsAdlsUnsupportedOperationException() (*AdlsUnsupportedOperationException, bool) { + return nil, false +} + +// AsAdlsSecurityException is the AdlsRemoteException implementation for AdlsAccessControlException. +func (aace AdlsAccessControlException) AsAdlsSecurityException() (*AdlsSecurityException, bool) { + return nil, false +} + +// AsAdlsIOException is the AdlsRemoteException implementation for AdlsAccessControlException. +func (aace AdlsAccessControlException) AsAdlsIOException() (*AdlsIOException, bool) { + return nil, false +} + +// AsAdlsFileNotFoundException is the AdlsRemoteException implementation for AdlsAccessControlException. +func (aace AdlsAccessControlException) AsAdlsFileNotFoundException() (*AdlsFileNotFoundException, bool) { + return nil, false +} + +// AsAdlsFileAlreadyExistsException is the AdlsRemoteException implementation for AdlsAccessControlException. +func (aace AdlsAccessControlException) AsAdlsFileAlreadyExistsException() (*AdlsFileAlreadyExistsException, bool) { + return nil, false +} + +// AsAdlsBadOffsetException is the AdlsRemoteException implementation for AdlsAccessControlException. +func (aace AdlsAccessControlException) AsAdlsBadOffsetException() (*AdlsBadOffsetException, bool) { + return nil, false +} + +// AsAdlsRuntimeException is the AdlsRemoteException implementation for AdlsAccessControlException. +func (aace AdlsAccessControlException) AsAdlsRuntimeException() (*AdlsRuntimeException, bool) { + return nil, false +} + +// AsAdlsAccessControlException is the AdlsRemoteException implementation for AdlsAccessControlException. +func (aace AdlsAccessControlException) AsAdlsAccessControlException() (*AdlsAccessControlException, bool) { + return &aace, true +} + +// AsAdlsThrottledException is the AdlsRemoteException implementation for AdlsAccessControlException. +func (aace AdlsAccessControlException) AsAdlsThrottledException() (*AdlsThrottledException, bool) { + return nil, false +} + +// AdlsBadOffsetException is a WebHDFS exception thrown indicating the append or read is from a bad offset. Thrown when +// a 400 error response code is returned for append and open operations (Bad request). type AdlsBadOffsetException struct { - JavaClassName *string `json:"javaClassName,omitempty"` - Message *string `json:"message,omitempty"` + JavaClassName *string `json:"javaClassName,omitempty"` + Message *string `json:"message,omitempty"` + Exception Exception `json:"exception,omitempty"` } -// AdlsError is data Lake Store filesystem error containing a specific WebHDFS -// exception. +// MarshalJSON is the custom marshaler for AdlsBadOffsetException. +func (aboe AdlsBadOffsetException) MarshalJSON() ([]byte, error) { + aboe.Exception = ExceptionBadOffsetException + type Alias AdlsBadOffsetException + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(aboe), + }) +} + +// AsAdlsIllegalArgumentException is the AdlsRemoteException implementation for AdlsBadOffsetException. +func (aboe AdlsBadOffsetException) AsAdlsIllegalArgumentException() (*AdlsIllegalArgumentException, bool) { + return nil, false +} + +// AsAdlsUnsupportedOperationException is the AdlsRemoteException implementation for AdlsBadOffsetException. +func (aboe AdlsBadOffsetException) AsAdlsUnsupportedOperationException() (*AdlsUnsupportedOperationException, bool) { + return nil, false +} + +// AsAdlsSecurityException is the AdlsRemoteException implementation for AdlsBadOffsetException. +func (aboe AdlsBadOffsetException) AsAdlsSecurityException() (*AdlsSecurityException, bool) { + return nil, false +} + +// AsAdlsIOException is the AdlsRemoteException implementation for AdlsBadOffsetException. +func (aboe AdlsBadOffsetException) AsAdlsIOException() (*AdlsIOException, bool) { + return nil, false +} + +// AsAdlsFileNotFoundException is the AdlsRemoteException implementation for AdlsBadOffsetException. +func (aboe AdlsBadOffsetException) AsAdlsFileNotFoundException() (*AdlsFileNotFoundException, bool) { + return nil, false +} + +// AsAdlsFileAlreadyExistsException is the AdlsRemoteException implementation for AdlsBadOffsetException. +func (aboe AdlsBadOffsetException) AsAdlsFileAlreadyExistsException() (*AdlsFileAlreadyExistsException, bool) { + return nil, false +} + +// AsAdlsBadOffsetException is the AdlsRemoteException implementation for AdlsBadOffsetException. +func (aboe AdlsBadOffsetException) AsAdlsBadOffsetException() (*AdlsBadOffsetException, bool) { + return &aboe, true +} + +// AsAdlsRuntimeException is the AdlsRemoteException implementation for AdlsBadOffsetException. +func (aboe AdlsBadOffsetException) AsAdlsRuntimeException() (*AdlsRuntimeException, bool) { + return nil, false +} + +// AsAdlsAccessControlException is the AdlsRemoteException implementation for AdlsBadOffsetException. +func (aboe AdlsBadOffsetException) AsAdlsAccessControlException() (*AdlsAccessControlException, bool) { + return nil, false +} + +// AsAdlsThrottledException is the AdlsRemoteException implementation for AdlsBadOffsetException. +func (aboe AdlsBadOffsetException) AsAdlsThrottledException() (*AdlsThrottledException, bool) { + return nil, false +} + +// AdlsError is data Lake Store filesystem error containing a specific WebHDFS exception. type AdlsError struct { - RemoteException *AdlsRemoteException `json:"RemoteException,omitempty"` + RemoteException AdlsRemoteException `json:"RemoteException,omitempty"` } -// AdlsFileAlreadyExistsException is a WebHDFS exception thrown indicating the -// file or folder already exists. Thrown when a 403 error response code is -// returned (forbidden). +// UnmarshalJSON is the custom unmarshaler for AdlsError struct. +func (ae *AdlsError) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + var v *json.RawMessage + + v = m["RemoteException"] + if v != nil { + remoteException, err := unmarshalAdlsRemoteException(*m["RemoteException"]) + if err != nil { + return err + } + ae.RemoteException = remoteException + } + + return nil +} + +// AdlsFileAlreadyExistsException is a WebHDFS exception thrown indicating the file or folder already exists. Thrown +// when a 403 error response code is returned (forbidden). type AdlsFileAlreadyExistsException struct { - JavaClassName *string `json:"javaClassName,omitempty"` - Message *string `json:"message,omitempty"` + JavaClassName *string `json:"javaClassName,omitempty"` + Message *string `json:"message,omitempty"` + Exception Exception `json:"exception,omitempty"` } -// AdlsFileNotFoundException is a WebHDFS exception thrown indicating the file -// or folder could not be found. Thrown when a 404 error response code is -// returned (not found). +// MarshalJSON is the custom marshaler for AdlsFileAlreadyExistsException. +func (afaee AdlsFileAlreadyExistsException) MarshalJSON() ([]byte, error) { + afaee.Exception = ExceptionFileAlreadyExistsException + type Alias AdlsFileAlreadyExistsException + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(afaee), + }) +} + +// AsAdlsIllegalArgumentException is the AdlsRemoteException implementation for AdlsFileAlreadyExistsException. +func (afaee AdlsFileAlreadyExistsException) AsAdlsIllegalArgumentException() (*AdlsIllegalArgumentException, bool) { + return nil, false +} + +// AsAdlsUnsupportedOperationException is the AdlsRemoteException implementation for AdlsFileAlreadyExistsException. +func (afaee AdlsFileAlreadyExistsException) AsAdlsUnsupportedOperationException() (*AdlsUnsupportedOperationException, bool) { + return nil, false +} + +// AsAdlsSecurityException is the AdlsRemoteException implementation for AdlsFileAlreadyExistsException. +func (afaee AdlsFileAlreadyExistsException) AsAdlsSecurityException() (*AdlsSecurityException, bool) { + return nil, false +} + +// AsAdlsIOException is the AdlsRemoteException implementation for AdlsFileAlreadyExistsException. +func (afaee AdlsFileAlreadyExistsException) AsAdlsIOException() (*AdlsIOException, bool) { + return nil, false +} + +// AsAdlsFileNotFoundException is the AdlsRemoteException implementation for AdlsFileAlreadyExistsException. +func (afaee AdlsFileAlreadyExistsException) AsAdlsFileNotFoundException() (*AdlsFileNotFoundException, bool) { + return nil, false +} + +// AsAdlsFileAlreadyExistsException is the AdlsRemoteException implementation for AdlsFileAlreadyExistsException. +func (afaee AdlsFileAlreadyExistsException) AsAdlsFileAlreadyExistsException() (*AdlsFileAlreadyExistsException, bool) { + return &afaee, true +} + +// AsAdlsBadOffsetException is the AdlsRemoteException implementation for AdlsFileAlreadyExistsException. +func (afaee AdlsFileAlreadyExistsException) AsAdlsBadOffsetException() (*AdlsBadOffsetException, bool) { + return nil, false +} + +// AsAdlsRuntimeException is the AdlsRemoteException implementation for AdlsFileAlreadyExistsException. +func (afaee AdlsFileAlreadyExistsException) AsAdlsRuntimeException() (*AdlsRuntimeException, bool) { + return nil, false +} + +// AsAdlsAccessControlException is the AdlsRemoteException implementation for AdlsFileAlreadyExistsException. +func (afaee AdlsFileAlreadyExistsException) AsAdlsAccessControlException() (*AdlsAccessControlException, bool) { + return nil, false +} + +// AsAdlsThrottledException is the AdlsRemoteException implementation for AdlsFileAlreadyExistsException. +func (afaee AdlsFileAlreadyExistsException) AsAdlsThrottledException() (*AdlsThrottledException, bool) { + return nil, false +} + +// AdlsFileNotFoundException is a WebHDFS exception thrown indicating the file or folder could not be found. Thrown +// when a 404 error response code is returned (not found). type AdlsFileNotFoundException struct { - JavaClassName *string `json:"javaClassName,omitempty"` - Message *string `json:"message,omitempty"` + JavaClassName *string `json:"javaClassName,omitempty"` + Message *string `json:"message,omitempty"` + Exception Exception `json:"exception,omitempty"` } -// AdlsIllegalArgumentException is a WebHDFS exception thrown indicating that -// one more arguments is incorrect. Thrown when a 400 error response code is -// returned (bad request). +// MarshalJSON is the custom marshaler for AdlsFileNotFoundException. +func (afnfe AdlsFileNotFoundException) MarshalJSON() ([]byte, error) { + afnfe.Exception = ExceptionFileNotFoundException + type Alias AdlsFileNotFoundException + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(afnfe), + }) +} + +// AsAdlsIllegalArgumentException is the AdlsRemoteException implementation for AdlsFileNotFoundException. +func (afnfe AdlsFileNotFoundException) AsAdlsIllegalArgumentException() (*AdlsIllegalArgumentException, bool) { + return nil, false +} + +// AsAdlsUnsupportedOperationException is the AdlsRemoteException implementation for AdlsFileNotFoundException. +func (afnfe AdlsFileNotFoundException) AsAdlsUnsupportedOperationException() (*AdlsUnsupportedOperationException, bool) { + return nil, false +} + +// AsAdlsSecurityException is the AdlsRemoteException implementation for AdlsFileNotFoundException. +func (afnfe AdlsFileNotFoundException) AsAdlsSecurityException() (*AdlsSecurityException, bool) { + return nil, false +} + +// AsAdlsIOException is the AdlsRemoteException implementation for AdlsFileNotFoundException. +func (afnfe AdlsFileNotFoundException) AsAdlsIOException() (*AdlsIOException, bool) { + return nil, false +} + +// AsAdlsFileNotFoundException is the AdlsRemoteException implementation for AdlsFileNotFoundException. +func (afnfe AdlsFileNotFoundException) AsAdlsFileNotFoundException() (*AdlsFileNotFoundException, bool) { + return &afnfe, true +} + +// AsAdlsFileAlreadyExistsException is the AdlsRemoteException implementation for AdlsFileNotFoundException. +func (afnfe AdlsFileNotFoundException) AsAdlsFileAlreadyExistsException() (*AdlsFileAlreadyExistsException, bool) { + return nil, false +} + +// AsAdlsBadOffsetException is the AdlsRemoteException implementation for AdlsFileNotFoundException. +func (afnfe AdlsFileNotFoundException) AsAdlsBadOffsetException() (*AdlsBadOffsetException, bool) { + return nil, false +} + +// AsAdlsRuntimeException is the AdlsRemoteException implementation for AdlsFileNotFoundException. +func (afnfe AdlsFileNotFoundException) AsAdlsRuntimeException() (*AdlsRuntimeException, bool) { + return nil, false +} + +// AsAdlsAccessControlException is the AdlsRemoteException implementation for AdlsFileNotFoundException. +func (afnfe AdlsFileNotFoundException) AsAdlsAccessControlException() (*AdlsAccessControlException, bool) { + return nil, false +} + +// AsAdlsThrottledException is the AdlsRemoteException implementation for AdlsFileNotFoundException. +func (afnfe AdlsFileNotFoundException) AsAdlsThrottledException() (*AdlsThrottledException, bool) { + return nil, false +} + +// AdlsIllegalArgumentException is a WebHDFS exception thrown indicating that one more arguments is incorrect. Thrown +// when a 400 error response code is returned (bad request). type AdlsIllegalArgumentException struct { - JavaClassName *string `json:"javaClassName,omitempty"` - Message *string `json:"message,omitempty"` + JavaClassName *string `json:"javaClassName,omitempty"` + Message *string `json:"message,omitempty"` + Exception Exception `json:"exception,omitempty"` } -// AdlsIOException is a WebHDFS exception thrown indicating there was an IO -// (read or write) error. Thrown when a 403 error response code is returned -// (forbidden). +// MarshalJSON is the custom marshaler for AdlsIllegalArgumentException. +func (aiae AdlsIllegalArgumentException) MarshalJSON() ([]byte, error) { + aiae.Exception = ExceptionIllegalArgumentException + type Alias AdlsIllegalArgumentException + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(aiae), + }) +} + +// AsAdlsIllegalArgumentException is the AdlsRemoteException implementation for AdlsIllegalArgumentException. +func (aiae AdlsIllegalArgumentException) AsAdlsIllegalArgumentException() (*AdlsIllegalArgumentException, bool) { + return &aiae, true +} + +// AsAdlsUnsupportedOperationException is the AdlsRemoteException implementation for AdlsIllegalArgumentException. +func (aiae AdlsIllegalArgumentException) AsAdlsUnsupportedOperationException() (*AdlsUnsupportedOperationException, bool) { + return nil, false +} + +// AsAdlsSecurityException is the AdlsRemoteException implementation for AdlsIllegalArgumentException. +func (aiae AdlsIllegalArgumentException) AsAdlsSecurityException() (*AdlsSecurityException, bool) { + return nil, false +} + +// AsAdlsIOException is the AdlsRemoteException implementation for AdlsIllegalArgumentException. +func (aiae AdlsIllegalArgumentException) AsAdlsIOException() (*AdlsIOException, bool) { + return nil, false +} + +// AsAdlsFileNotFoundException is the AdlsRemoteException implementation for AdlsIllegalArgumentException. +func (aiae AdlsIllegalArgumentException) AsAdlsFileNotFoundException() (*AdlsFileNotFoundException, bool) { + return nil, false +} + +// AsAdlsFileAlreadyExistsException is the AdlsRemoteException implementation for AdlsIllegalArgumentException. +func (aiae AdlsIllegalArgumentException) AsAdlsFileAlreadyExistsException() (*AdlsFileAlreadyExistsException, bool) { + return nil, false +} + +// AsAdlsBadOffsetException is the AdlsRemoteException implementation for AdlsIllegalArgumentException. +func (aiae AdlsIllegalArgumentException) AsAdlsBadOffsetException() (*AdlsBadOffsetException, bool) { + return nil, false +} + +// AsAdlsRuntimeException is the AdlsRemoteException implementation for AdlsIllegalArgumentException. +func (aiae AdlsIllegalArgumentException) AsAdlsRuntimeException() (*AdlsRuntimeException, bool) { + return nil, false +} + +// AsAdlsAccessControlException is the AdlsRemoteException implementation for AdlsIllegalArgumentException. +func (aiae AdlsIllegalArgumentException) AsAdlsAccessControlException() (*AdlsAccessControlException, bool) { + return nil, false +} + +// AsAdlsThrottledException is the AdlsRemoteException implementation for AdlsIllegalArgumentException. +func (aiae AdlsIllegalArgumentException) AsAdlsThrottledException() (*AdlsThrottledException, bool) { + return nil, false +} + +// AdlsIOException is a WebHDFS exception thrown indicating there was an IO (read or write) error. Thrown when a 403 +// error response code is returned (forbidden). type AdlsIOException struct { - JavaClassName *string `json:"javaClassName,omitempty"` - Message *string `json:"message,omitempty"` + JavaClassName *string `json:"javaClassName,omitempty"` + Message *string `json:"message,omitempty"` + Exception Exception `json:"exception,omitempty"` } -// AdlsRemoteException is data Lake Store filesystem exception based on the -// WebHDFS definition for RemoteExceptions. This is a WebHDFS 'catch all' -// exception -type AdlsRemoteException struct { - JavaClassName *string `json:"javaClassName,omitempty"` - Message *string `json:"message,omitempty"` +// MarshalJSON is the custom marshaler for AdlsIOException. +func (aie AdlsIOException) MarshalJSON() ([]byte, error) { + aie.Exception = ExceptionIOException + type Alias AdlsIOException + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(aie), + }) } -// AdlsRuntimeException is a WebHDFS exception thrown when an unexpected error -// occurs during an operation. Thrown when a 500 error response code is -// returned (Internal server error). +// AsAdlsIllegalArgumentException is the AdlsRemoteException implementation for AdlsIOException. +func (aie AdlsIOException) AsAdlsIllegalArgumentException() (*AdlsIllegalArgumentException, bool) { + return nil, false +} + +// AsAdlsUnsupportedOperationException is the AdlsRemoteException implementation for AdlsIOException. +func (aie AdlsIOException) AsAdlsUnsupportedOperationException() (*AdlsUnsupportedOperationException, bool) { + return nil, false +} + +// AsAdlsSecurityException is the AdlsRemoteException implementation for AdlsIOException. +func (aie AdlsIOException) AsAdlsSecurityException() (*AdlsSecurityException, bool) { + return nil, false +} + +// AsAdlsIOException is the AdlsRemoteException implementation for AdlsIOException. +func (aie AdlsIOException) AsAdlsIOException() (*AdlsIOException, bool) { + return &aie, true +} + +// AsAdlsFileNotFoundException is the AdlsRemoteException implementation for AdlsIOException. +func (aie AdlsIOException) AsAdlsFileNotFoundException() (*AdlsFileNotFoundException, bool) { + return nil, false +} + +// AsAdlsFileAlreadyExistsException is the AdlsRemoteException implementation for AdlsIOException. +func (aie AdlsIOException) AsAdlsFileAlreadyExistsException() (*AdlsFileAlreadyExistsException, bool) { + return nil, false +} + +// AsAdlsBadOffsetException is the AdlsRemoteException implementation for AdlsIOException. +func (aie AdlsIOException) AsAdlsBadOffsetException() (*AdlsBadOffsetException, bool) { + return nil, false +} + +// AsAdlsRuntimeException is the AdlsRemoteException implementation for AdlsIOException. +func (aie AdlsIOException) AsAdlsRuntimeException() (*AdlsRuntimeException, bool) { + return nil, false +} + +// AsAdlsAccessControlException is the AdlsRemoteException implementation for AdlsIOException. +func (aie AdlsIOException) AsAdlsAccessControlException() (*AdlsAccessControlException, bool) { + return nil, false +} + +// AsAdlsThrottledException is the AdlsRemoteException implementation for AdlsIOException. +func (aie AdlsIOException) AsAdlsThrottledException() (*AdlsThrottledException, bool) { + return nil, false +} + +// AdlsRemoteException is data Lake Store filesystem exception based on the WebHDFS definition for RemoteExceptions. +// This is a WebHDFS 'catch all' exception +type AdlsRemoteException interface { + AsAdlsIllegalArgumentException() (*AdlsIllegalArgumentException, bool) + AsAdlsUnsupportedOperationException() (*AdlsUnsupportedOperationException, bool) + AsAdlsSecurityException() (*AdlsSecurityException, bool) + AsAdlsIOException() (*AdlsIOException, bool) + AsAdlsFileNotFoundException() (*AdlsFileNotFoundException, bool) + AsAdlsFileAlreadyExistsException() (*AdlsFileAlreadyExistsException, bool) + AsAdlsBadOffsetException() (*AdlsBadOffsetException, bool) + AsAdlsRuntimeException() (*AdlsRuntimeException, bool) + AsAdlsAccessControlException() (*AdlsAccessControlException, bool) + AsAdlsThrottledException() (*AdlsThrottledException, bool) +} + +func unmarshalAdlsRemoteException(body []byte) (AdlsRemoteException, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["exception"] { + case string(ExceptionIllegalArgumentException): + var aiae AdlsIllegalArgumentException + err := json.Unmarshal(body, &aiae) + return aiae, err + case string(ExceptionUnsupportedOperationException): + var auoe AdlsUnsupportedOperationException + err := json.Unmarshal(body, &auoe) + return auoe, err + case string(ExceptionSecurityException): + var ase AdlsSecurityException + err := json.Unmarshal(body, &ase) + return ase, err + case string(ExceptionIOException): + var aie AdlsIOException + err := json.Unmarshal(body, &aie) + return aie, err + case string(ExceptionFileNotFoundException): + var afnfe AdlsFileNotFoundException + err := json.Unmarshal(body, &afnfe) + return afnfe, err + case string(ExceptionFileAlreadyExistsException): + var afaee AdlsFileAlreadyExistsException + err := json.Unmarshal(body, &afaee) + return afaee, err + case string(ExceptionBadOffsetException): + var aboe AdlsBadOffsetException + err := json.Unmarshal(body, &aboe) + return aboe, err + case string(ExceptionRuntimeException): + var are AdlsRuntimeException + err := json.Unmarshal(body, &are) + return are, err + case string(ExceptionAccessControlException): + var aace AdlsAccessControlException + err := json.Unmarshal(body, &aace) + return aace, err + case string(ExceptionThrottledException): + var ate AdlsThrottledException + err := json.Unmarshal(body, &ate) + return ate, err + default: + return nil, errors.New("Unsupported type") + } +} +func unmarshalAdlsRemoteExceptionArray(body []byte) ([]AdlsRemoteException, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + areArray := make([]AdlsRemoteException, len(rawMessages)) + + for index, rawMessage := range rawMessages { + are, err := unmarshalAdlsRemoteException(*rawMessage) + if err != nil { + return nil, err + } + areArray[index] = are + } + return areArray, nil +} + +// AdlsRuntimeException is a WebHDFS exception thrown when an unexpected error occurs during an operation. Thrown when +// a 500 error response code is returned (Internal server error). type AdlsRuntimeException struct { - JavaClassName *string `json:"javaClassName,omitempty"` - Message *string `json:"message,omitempty"` + JavaClassName *string `json:"javaClassName,omitempty"` + Message *string `json:"message,omitempty"` + Exception Exception `json:"exception,omitempty"` } -// AdlsSecurityException is a WebHDFS exception thrown indicating that access -// is denied. Thrown when a 401 error response code is returned (Unauthorized). +// MarshalJSON is the custom marshaler for AdlsRuntimeException. +func (are AdlsRuntimeException) MarshalJSON() ([]byte, error) { + are.Exception = ExceptionRuntimeException + type Alias AdlsRuntimeException + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(are), + }) +} + +// AsAdlsIllegalArgumentException is the AdlsRemoteException implementation for AdlsRuntimeException. +func (are AdlsRuntimeException) AsAdlsIllegalArgumentException() (*AdlsIllegalArgumentException, bool) { + return nil, false +} + +// AsAdlsUnsupportedOperationException is the AdlsRemoteException implementation for AdlsRuntimeException. +func (are AdlsRuntimeException) AsAdlsUnsupportedOperationException() (*AdlsUnsupportedOperationException, bool) { + return nil, false +} + +// AsAdlsSecurityException is the AdlsRemoteException implementation for AdlsRuntimeException. +func (are AdlsRuntimeException) AsAdlsSecurityException() (*AdlsSecurityException, bool) { + return nil, false +} + +// AsAdlsIOException is the AdlsRemoteException implementation for AdlsRuntimeException. +func (are AdlsRuntimeException) AsAdlsIOException() (*AdlsIOException, bool) { + return nil, false +} + +// AsAdlsFileNotFoundException is the AdlsRemoteException implementation for AdlsRuntimeException. +func (are AdlsRuntimeException) AsAdlsFileNotFoundException() (*AdlsFileNotFoundException, bool) { + return nil, false +} + +// AsAdlsFileAlreadyExistsException is the AdlsRemoteException implementation for AdlsRuntimeException. +func (are AdlsRuntimeException) AsAdlsFileAlreadyExistsException() (*AdlsFileAlreadyExistsException, bool) { + return nil, false +} + +// AsAdlsBadOffsetException is the AdlsRemoteException implementation for AdlsRuntimeException. +func (are AdlsRuntimeException) AsAdlsBadOffsetException() (*AdlsBadOffsetException, bool) { + return nil, false +} + +// AsAdlsRuntimeException is the AdlsRemoteException implementation for AdlsRuntimeException. +func (are AdlsRuntimeException) AsAdlsRuntimeException() (*AdlsRuntimeException, bool) { + return &are, true +} + +// AsAdlsAccessControlException is the AdlsRemoteException implementation for AdlsRuntimeException. +func (are AdlsRuntimeException) AsAdlsAccessControlException() (*AdlsAccessControlException, bool) { + return nil, false +} + +// AsAdlsThrottledException is the AdlsRemoteException implementation for AdlsRuntimeException. +func (are AdlsRuntimeException) AsAdlsThrottledException() (*AdlsThrottledException, bool) { + return nil, false +} + +// AdlsSecurityException is a WebHDFS exception thrown indicating that access is denied. Thrown when a 401 error +// response code is returned (Unauthorized). type AdlsSecurityException struct { - JavaClassName *string `json:"javaClassName,omitempty"` - Message *string `json:"message,omitempty"` + JavaClassName *string `json:"javaClassName,omitempty"` + Message *string `json:"message,omitempty"` + Exception Exception `json:"exception,omitempty"` } -// AdlsThrottledException is a WebHDFS exception thrown indicating that the -// request is being throttled. Reducing the number of requests or request size -// helps to mitigate this error. +// MarshalJSON is the custom marshaler for AdlsSecurityException. +func (ase AdlsSecurityException) MarshalJSON() ([]byte, error) { + ase.Exception = ExceptionSecurityException + type Alias AdlsSecurityException + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ase), + }) +} + +// AsAdlsIllegalArgumentException is the AdlsRemoteException implementation for AdlsSecurityException. +func (ase AdlsSecurityException) AsAdlsIllegalArgumentException() (*AdlsIllegalArgumentException, bool) { + return nil, false +} + +// AsAdlsUnsupportedOperationException is the AdlsRemoteException implementation for AdlsSecurityException. +func (ase AdlsSecurityException) AsAdlsUnsupportedOperationException() (*AdlsUnsupportedOperationException, bool) { + return nil, false +} + +// AsAdlsSecurityException is the AdlsRemoteException implementation for AdlsSecurityException. +func (ase AdlsSecurityException) AsAdlsSecurityException() (*AdlsSecurityException, bool) { + return &ase, true +} + +// AsAdlsIOException is the AdlsRemoteException implementation for AdlsSecurityException. +func (ase AdlsSecurityException) AsAdlsIOException() (*AdlsIOException, bool) { + return nil, false +} + +// AsAdlsFileNotFoundException is the AdlsRemoteException implementation for AdlsSecurityException. +func (ase AdlsSecurityException) AsAdlsFileNotFoundException() (*AdlsFileNotFoundException, bool) { + return nil, false +} + +// AsAdlsFileAlreadyExistsException is the AdlsRemoteException implementation for AdlsSecurityException. +func (ase AdlsSecurityException) AsAdlsFileAlreadyExistsException() (*AdlsFileAlreadyExistsException, bool) { + return nil, false +} + +// AsAdlsBadOffsetException is the AdlsRemoteException implementation for AdlsSecurityException. +func (ase AdlsSecurityException) AsAdlsBadOffsetException() (*AdlsBadOffsetException, bool) { + return nil, false +} + +// AsAdlsRuntimeException is the AdlsRemoteException implementation for AdlsSecurityException. +func (ase AdlsSecurityException) AsAdlsRuntimeException() (*AdlsRuntimeException, bool) { + return nil, false +} + +// AsAdlsAccessControlException is the AdlsRemoteException implementation for AdlsSecurityException. +func (ase AdlsSecurityException) AsAdlsAccessControlException() (*AdlsAccessControlException, bool) { + return nil, false +} + +// AsAdlsThrottledException is the AdlsRemoteException implementation for AdlsSecurityException. +func (ase AdlsSecurityException) AsAdlsThrottledException() (*AdlsThrottledException, bool) { + return nil, false +} + +// AdlsThrottledException is a WebHDFS exception thrown indicating that the request is being throttled. Reducing the +// number of requests or request size helps to mitigate this error. type AdlsThrottledException struct { - JavaClassName *string `json:"javaClassName,omitempty"` - Message *string `json:"message,omitempty"` + JavaClassName *string `json:"javaClassName,omitempty"` + Message *string `json:"message,omitempty"` + Exception Exception `json:"exception,omitempty"` } -// AdlsUnsupportedOperationException is a WebHDFS exception thrown indicating -// that the requested operation is not supported. Thrown when a 400 error -// response code is returned (bad request). +// MarshalJSON is the custom marshaler for AdlsThrottledException. +func (ate AdlsThrottledException) MarshalJSON() ([]byte, error) { + ate.Exception = ExceptionThrottledException + type Alias AdlsThrottledException + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(ate), + }) +} + +// AsAdlsIllegalArgumentException is the AdlsRemoteException implementation for AdlsThrottledException. +func (ate AdlsThrottledException) AsAdlsIllegalArgumentException() (*AdlsIllegalArgumentException, bool) { + return nil, false +} + +// AsAdlsUnsupportedOperationException is the AdlsRemoteException implementation for AdlsThrottledException. +func (ate AdlsThrottledException) AsAdlsUnsupportedOperationException() (*AdlsUnsupportedOperationException, bool) { + return nil, false +} + +// AsAdlsSecurityException is the AdlsRemoteException implementation for AdlsThrottledException. +func (ate AdlsThrottledException) AsAdlsSecurityException() (*AdlsSecurityException, bool) { + return nil, false +} + +// AsAdlsIOException is the AdlsRemoteException implementation for AdlsThrottledException. +func (ate AdlsThrottledException) AsAdlsIOException() (*AdlsIOException, bool) { + return nil, false +} + +// AsAdlsFileNotFoundException is the AdlsRemoteException implementation for AdlsThrottledException. +func (ate AdlsThrottledException) AsAdlsFileNotFoundException() (*AdlsFileNotFoundException, bool) { + return nil, false +} + +// AsAdlsFileAlreadyExistsException is the AdlsRemoteException implementation for AdlsThrottledException. +func (ate AdlsThrottledException) AsAdlsFileAlreadyExistsException() (*AdlsFileAlreadyExistsException, bool) { + return nil, false +} + +// AsAdlsBadOffsetException is the AdlsRemoteException implementation for AdlsThrottledException. +func (ate AdlsThrottledException) AsAdlsBadOffsetException() (*AdlsBadOffsetException, bool) { + return nil, false +} + +// AsAdlsRuntimeException is the AdlsRemoteException implementation for AdlsThrottledException. +func (ate AdlsThrottledException) AsAdlsRuntimeException() (*AdlsRuntimeException, bool) { + return nil, false +} + +// AsAdlsAccessControlException is the AdlsRemoteException implementation for AdlsThrottledException. +func (ate AdlsThrottledException) AsAdlsAccessControlException() (*AdlsAccessControlException, bool) { + return nil, false +} + +// AsAdlsThrottledException is the AdlsRemoteException implementation for AdlsThrottledException. +func (ate AdlsThrottledException) AsAdlsThrottledException() (*AdlsThrottledException, bool) { + return &ate, true +} + +// AdlsUnsupportedOperationException is a WebHDFS exception thrown indicating that the requested operation is not +// supported. Thrown when a 400 error response code is returned (bad request). type AdlsUnsupportedOperationException struct { - JavaClassName *string `json:"javaClassName,omitempty"` - Message *string `json:"message,omitempty"` + JavaClassName *string `json:"javaClassName,omitempty"` + Message *string `json:"message,omitempty"` + Exception Exception `json:"exception,omitempty"` +} + +// MarshalJSON is the custom marshaler for AdlsUnsupportedOperationException. +func (auoe AdlsUnsupportedOperationException) MarshalJSON() ([]byte, error) { + auoe.Exception = ExceptionUnsupportedOperationException + type Alias AdlsUnsupportedOperationException + return json.Marshal(&struct { + Alias + }{ + Alias: (Alias)(auoe), + }) +} + +// AsAdlsIllegalArgumentException is the AdlsRemoteException implementation for AdlsUnsupportedOperationException. +func (auoe AdlsUnsupportedOperationException) AsAdlsIllegalArgumentException() (*AdlsIllegalArgumentException, bool) { + return nil, false +} + +// AsAdlsUnsupportedOperationException is the AdlsRemoteException implementation for AdlsUnsupportedOperationException. +func (auoe AdlsUnsupportedOperationException) AsAdlsUnsupportedOperationException() (*AdlsUnsupportedOperationException, bool) { + return &auoe, true +} + +// AsAdlsSecurityException is the AdlsRemoteException implementation for AdlsUnsupportedOperationException. +func (auoe AdlsUnsupportedOperationException) AsAdlsSecurityException() (*AdlsSecurityException, bool) { + return nil, false +} + +// AsAdlsIOException is the AdlsRemoteException implementation for AdlsUnsupportedOperationException. +func (auoe AdlsUnsupportedOperationException) AsAdlsIOException() (*AdlsIOException, bool) { + return nil, false +} + +// AsAdlsFileNotFoundException is the AdlsRemoteException implementation for AdlsUnsupportedOperationException. +func (auoe AdlsUnsupportedOperationException) AsAdlsFileNotFoundException() (*AdlsFileNotFoundException, bool) { + return nil, false +} + +// AsAdlsFileAlreadyExistsException is the AdlsRemoteException implementation for AdlsUnsupportedOperationException. +func (auoe AdlsUnsupportedOperationException) AsAdlsFileAlreadyExistsException() (*AdlsFileAlreadyExistsException, bool) { + return nil, false +} + +// AsAdlsBadOffsetException is the AdlsRemoteException implementation for AdlsUnsupportedOperationException. +func (auoe AdlsUnsupportedOperationException) AsAdlsBadOffsetException() (*AdlsBadOffsetException, bool) { + return nil, false +} + +// AsAdlsRuntimeException is the AdlsRemoteException implementation for AdlsUnsupportedOperationException. +func (auoe AdlsUnsupportedOperationException) AsAdlsRuntimeException() (*AdlsRuntimeException, bool) { + return nil, false +} + +// AsAdlsAccessControlException is the AdlsRemoteException implementation for AdlsUnsupportedOperationException. +func (auoe AdlsUnsupportedOperationException) AsAdlsAccessControlException() (*AdlsAccessControlException, bool) { + return nil, false +} + +// AsAdlsThrottledException is the AdlsRemoteException implementation for AdlsUnsupportedOperationException. +func (auoe AdlsUnsupportedOperationException) AsAdlsThrottledException() (*AdlsThrottledException, bool) { + return nil, false } // ContentSummary is data Lake Store content summary information @@ -187,8 +919,7 @@ type ContentSummary struct { SpaceConsumed *int64 `json:"spaceConsumed,omitempty"` } -// ContentSummaryResult is data Lake Store filesystem content summary -// information response. +// ContentSummaryResult is data Lake Store filesystem content summary information response. type ContentSummaryResult struct { autorest.Response `json:"-"` ContentSummary *ContentSummary `json:"ContentSummary,omitempty"` @@ -205,8 +936,7 @@ type FileStatuses struct { FileStatus *[]FileStatusProperties `json:"FileStatus,omitempty"` } -// FileStatusesResult is data Lake Store filesystem file status list -// information response. +// FileStatusesResult is data Lake Store filesystem file status list information response. type FileStatusesResult struct { autorest.Response `json:"-"` FileStatuses *FileStatuses `json:"FileStatuses,omitempty"` @@ -228,8 +958,7 @@ type FileStatusProperties struct { ACLBit *bool `json:"aclBit,omitempty"` } -// FileStatusResult is data Lake Store filesystem file status information -// response. +// FileStatusResult is data Lake Store filesystem file status information response. type FileStatusResult struct { autorest.Response `json:"-"` FileStatus *FileStatusProperties `json:"FileStatus,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/datalake-store/filesystem/version.go b/vendor/github.com/Azure/azure-sdk-for-go/datalake-store/filesystem/version.go index f03a8c067..d4a2e2ff8 100755 --- a/vendor/github.com/Azure/azure-sdk-for-go/datalake-store/filesystem/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/datalake-store/filesystem/version.go @@ -14,16 +14,15 @@ package filesystem // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-filesystem/2016-11-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-filesystem/2016-11-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/face/client.go b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/face/client.go new file mode 100644 index 000000000..1d38fc781 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/face/client.go @@ -0,0 +1,48 @@ +// Package face implements the Azure ARM Face service API version 1.0. +// +// An API for face detection, verification, and identification. +package face + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +const () + +// ManagementClient is the base client for Face. +type ManagementClient struct { + autorest.Client + SubscriptionKey string + AzureRegion AzureRegions +} + +// New creates an instance of the ManagementClient client. +func New(subscriptionKey string, azureRegion AzureRegions) ManagementClient { + return NewWithoutDefaults(subscriptionKey, azureRegion) +} + +// NewWithoutDefaults creates an instance of the ManagementClient client. +func NewWithoutDefaults(subscriptionKey string, azureRegion AzureRegions) ManagementClient { + return ManagementClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + SubscriptionKey: subscriptionKey, + AzureRegion: azureRegion, + } +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/face/group.go b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/face/group.go new file mode 100644 index 000000000..d2342596b --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/face/group.go @@ -0,0 +1,483 @@ +package face + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "io" + "net/http" +) + +// GroupClient is the an API for face detection, verification, and identification. +type GroupClient struct { + ManagementClient +} + +// NewGroupClient creates an instance of the GroupClient client. +func NewGroupClient(subscriptionKey string, azureRegion AzureRegions) GroupClient { + return GroupClient{New(subscriptionKey, azureRegion)} +} + +// Detect detect human faces in an image and returns face locations, and optionally with faceIds, landmarks, and +// attributes. +// +// imageURL is a JSON document with a URL pointing to the image that is to be analyzed. returnFaceID is a value +// indicating whether the operation should return faceIds of detected faces. returnFaceLandmarks is a value indicating +// whether the operation should return landmarks of the detected faces. returnFaceAttributes is analyze and return the +// one or more specified face attributes in the comma-separated string like "returnFaceAttributes=age,gender". +// Supported face attributes include age, gender, headPose, smile, facialHair, glasses and emotion. Note that each face +// attribute analysis has additional computational and time cost. +func (client GroupClient) Detect(imageURL ImageURL, returnFaceID *bool, returnFaceLandmarks *bool, returnFaceAttributes string) (result ListDetectedFace, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: imageURL, + Constraints: []validation.Constraint{{Target: "imageURL.URL", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "face.GroupClient", "Detect") + } + + req, err := client.DetectPreparer(imageURL, returnFaceID, returnFaceLandmarks, returnFaceAttributes) + if err != nil { + err = autorest.NewErrorWithError(err, "face.GroupClient", "Detect", nil, "Failure preparing request") + return + } + + resp, err := client.DetectSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "face.GroupClient", "Detect", resp, "Failure sending request") + return + } + + result, err = client.DetectResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.GroupClient", "Detect", resp, "Failure responding to request") + } + + return +} + +// DetectPreparer prepares the Detect request. +func (client GroupClient) DetectPreparer(imageURL ImageURL, returnFaceID *bool, returnFaceLandmarks *bool, returnFaceAttributes string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + queryParameters := map[string]interface{}{} + if returnFaceID != nil { + queryParameters["returnFaceId"] = autorest.Encode("query", *returnFaceID) + } + if returnFaceLandmarks != nil { + queryParameters["returnFaceLandmarks"] = autorest.Encode("query", *returnFaceLandmarks) + } + if len(returnFaceAttributes) > 0 { + queryParameters["returnFaceAttributes"] = autorest.Encode("query", returnFaceAttributes) + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPath("/detect"), + autorest.WithJSON(imageURL), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// DetectSender sends the Detect request. The method will close the +// http.Response Body if it receives an error. +func (client GroupClient) DetectSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DetectResponder handles the response to the Detect request. The method always +// closes the http.Response Body. +func (client GroupClient) DetectResponder(resp *http.Response) (result ListDetectedFace, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DetectInStream detect human faces in an image and returns face locations, and optionally with faceIds, landmarks, +// and attributes. +// +// imageParameter is an image stream. imageParameter will be closed upon successful return. Callers should ensure +// closure when receiving an error.returnFaceID is a value indicating whether the operation should return faceIds of +// detected faces. returnFaceLandmarks is a value indicating whether the operation should return landmarks of the +// detected faces. returnFaceAttributes is analyze and return the one or more specified face attributes in the +// comma-separated string like "returnFaceAttributes=age,gender". Supported face attributes include age, gender, +// headPose, smile, facialHair, glasses and emotion. Note that each face attribute analysis has additional +// computational and time cost. +func (client GroupClient) DetectInStream(imageParameter io.ReadCloser, returnFaceID *bool, returnFaceLandmarks *bool, returnFaceAttributes string) (result ListDetectedFace, err error) { + req, err := client.DetectInStreamPreparer(imageParameter, returnFaceID, returnFaceLandmarks, returnFaceAttributes) + if err != nil { + err = autorest.NewErrorWithError(err, "face.GroupClient", "DetectInStream", nil, "Failure preparing request") + return + } + + resp, err := client.DetectInStreamSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "face.GroupClient", "DetectInStream", resp, "Failure sending request") + return + } + + result, err = client.DetectInStreamResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.GroupClient", "DetectInStream", resp, "Failure responding to request") + } + + return +} + +// DetectInStreamPreparer prepares the DetectInStream request. +func (client GroupClient) DetectInStreamPreparer(imageParameter io.ReadCloser, returnFaceID *bool, returnFaceLandmarks *bool, returnFaceAttributes string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + queryParameters := map[string]interface{}{} + if returnFaceID != nil { + queryParameters["returnFaceId"] = autorest.Encode("query", *returnFaceID) + } + if returnFaceLandmarks != nil { + queryParameters["returnFaceLandmarks"] = autorest.Encode("query", *returnFaceLandmarks) + } + if len(returnFaceAttributes) > 0 { + queryParameters["returnFaceAttributes"] = autorest.Encode("query", returnFaceAttributes) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPath("/detect"), + autorest.WithFile(imageParameter), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// DetectInStreamSender sends the DetectInStream request. The method will close the +// http.Response Body if it receives an error. +func (client GroupClient) DetectInStreamSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DetectInStreamResponder handles the response to the DetectInStream request. The method always +// closes the http.Response Body. +func (client GroupClient) DetectInStreamResponder(resp *http.Response) (result ListDetectedFace, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// FindSimilar given query face's faceId, find the similar-looking faces from a faceId array or a faceListId. +// +func (client GroupClient) FindSimilar(body FindSimilarRequest) (result ListSimilarFaceResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: body, + Constraints: []validation.Constraint{{Target: "body.FaceID", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "body.FaceID", Name: validation.MaxLength, Rule: 64, Chain: nil}}}, + {Target: "body.FaceListID", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "body.FaceListID", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "body.FaceListID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}, + }}, + {Target: "body.FaceIds", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "body.FaceIds", Name: validation.MaxItems, Rule: 1000, Chain: nil}}}, + {Target: "body.MaxNumOfCandidatesReturned", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "body.MaxNumOfCandidatesReturned", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, + {Target: "body.MaxNumOfCandidatesReturned", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "face.GroupClient", "FindSimilar") + } + + req, err := client.FindSimilarPreparer(body) + if err != nil { + err = autorest.NewErrorWithError(err, "face.GroupClient", "FindSimilar", nil, "Failure preparing request") + return + } + + resp, err := client.FindSimilarSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "face.GroupClient", "FindSimilar", resp, "Failure sending request") + return + } + + result, err = client.FindSimilarResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.GroupClient", "FindSimilar", resp, "Failure responding to request") + } + + return +} + +// FindSimilarPreparer prepares the FindSimilar request. +func (client GroupClient) FindSimilarPreparer(body FindSimilarRequest) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPath("/findsimilars"), + autorest.WithJSON(body), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// FindSimilarSender sends the FindSimilar request. The method will close the +// http.Response Body if it receives an error. +func (client GroupClient) FindSimilarSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// FindSimilarResponder handles the response to the FindSimilar request. The method always +// closes the http.Response Body. +func (client GroupClient) FindSimilarResponder(resp *http.Response) (result ListSimilarFaceResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Group divide candidate faces into groups based on face similarity. +// +func (client GroupClient) Group(body GroupRequest) (result GroupResponse, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: body, + Constraints: []validation.Constraint{{Target: "body.FaceIds", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "body.FaceIds", Name: validation.MaxItems, Rule: 1000, Chain: nil}}}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "face.GroupClient", "Group") + } + + req, err := client.GroupPreparer(body) + if err != nil { + err = autorest.NewErrorWithError(err, "face.GroupClient", "Group", nil, "Failure preparing request") + return + } + + resp, err := client.GroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "face.GroupClient", "Group", resp, "Failure sending request") + return + } + + result, err = client.GroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.GroupClient", "Group", resp, "Failure responding to request") + } + + return +} + +// GroupPreparer prepares the Group request. +func (client GroupClient) GroupPreparer(body GroupRequest) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPath("/group"), + autorest.WithJSON(body), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// GroupSender sends the Group request. The method will close the +// http.Response Body if it receives an error. +func (client GroupClient) GroupSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GroupResponder handles the response to the Group request. The method always +// closes the http.Response Body. +func (client GroupClient) GroupResponder(resp *http.Response) (result GroupResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Identify identify unknown faces from a person group. +// +func (client GroupClient) Identify(body IdentifyRequest) (result ListIdentifyResultItem, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: body, + Constraints: []validation.Constraint{{Target: "body.PersonGroupID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "body.FaceIds", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "body.FaceIds", Name: validation.MaxItems, Rule: 1000, Chain: nil}}}, + {Target: "body.MaxNumOfCandidatesReturned", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "body.MaxNumOfCandidatesReturned", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, + {Target: "body.MaxNumOfCandidatesReturned", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}, + {Target: "body.ConfidenceThreshold", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "body.ConfidenceThreshold", Name: validation.InclusiveMaximum, Rule: 1, Chain: nil}, + {Target: "body.ConfidenceThreshold", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "face.GroupClient", "Identify") + } + + req, err := client.IdentifyPreparer(body) + if err != nil { + err = autorest.NewErrorWithError(err, "face.GroupClient", "Identify", nil, "Failure preparing request") + return + } + + resp, err := client.IdentifySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "face.GroupClient", "Identify", resp, "Failure sending request") + return + } + + result, err = client.IdentifyResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.GroupClient", "Identify", resp, "Failure responding to request") + } + + return +} + +// IdentifyPreparer prepares the Identify request. +func (client GroupClient) IdentifyPreparer(body IdentifyRequest) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPath("/identify"), + autorest.WithJSON(body), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// IdentifySender sends the Identify request. The method will close the +// http.Response Body if it receives an error. +func (client GroupClient) IdentifySender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// IdentifyResponder handles the response to the Identify request. The method always +// closes the http.Response Body. +func (client GroupClient) IdentifyResponder(resp *http.Response) (result ListIdentifyResultItem, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Verify verify whether two faces belong to a same person or whether one face belongs to a person. +// +func (client GroupClient) Verify(body VerifyRequest) (result VerifyResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: body, + Constraints: []validation.Constraint{{Target: "body.FaceID", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "body.FaceID", Name: validation.MaxLength, Rule: 64, Chain: nil}}}, + {Target: "body.PersonID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "body.PersonGroupID", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "face.GroupClient", "Verify") + } + + req, err := client.VerifyPreparer(body) + if err != nil { + err = autorest.NewErrorWithError(err, "face.GroupClient", "Verify", nil, "Failure preparing request") + return + } + + resp, err := client.VerifySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "face.GroupClient", "Verify", resp, "Failure sending request") + return + } + + result, err = client.VerifyResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.GroupClient", "Verify", resp, "Failure responding to request") + } + + return +} + +// VerifyPreparer prepares the Verify request. +func (client GroupClient) VerifyPreparer(body VerifyRequest) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPath("/verify"), + autorest.WithJSON(body), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// VerifySender sends the Verify request. The method will close the +// http.Response Body if it receives an error. +func (client GroupClient) VerifySender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// VerifyResponder handles the response to the Verify request. The method always +// closes the http.Response Body. +func (client GroupClient) VerifyResponder(resp *http.Response) (result VerifyResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/face/listgroup.go b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/face/listgroup.go new file mode 100644 index 000000000..31f33dc11 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/face/listgroup.go @@ -0,0 +1,608 @@ +package face + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// ListGroupClient is the an API for face detection, verification, and identification. +type ListGroupClient struct { + ManagementClient +} + +// NewListGroupClient creates an instance of the ListGroupClient client. +func NewListGroupClient(subscriptionKey string, azureRegion AzureRegions) ListGroupClient { + return ListGroupClient{New(subscriptionKey, azureRegion)} +} + +// AddFace add a face to a face list. The input face is specified as an image with a targetFace rectangle. It returns a +// persistedFaceId representing the added face, and persistedFaceId will not expire. +// +// faceListID is id referencing a Face List. userData is user-specified data about the face list for any purpose. The +// maximum length is 1KB. targetFace is a face rectangle to specify the target face to be added into the face list, in +// the format of "targetFace=left,top,width,height". E.g. "targetFace=10,10,100,100". If there is more than one face in +// the image, targetFace is required to specify which face to add. No targetFace means there is only one face detected +// in the entire image. +func (client ListGroupClient) AddFace(faceListID string, userData string, targetFace string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: faceListID, + Constraints: []validation.Constraint{{Target: "faceListID", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "faceListID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "face.ListGroupClient", "AddFace") + } + + req, err := client.AddFacePreparer(faceListID, userData, targetFace) + if err != nil { + err = autorest.NewErrorWithError(err, "face.ListGroupClient", "AddFace", nil, "Failure preparing request") + return + } + + resp, err := client.AddFaceSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "face.ListGroupClient", "AddFace", resp, "Failure sending request") + return + } + + result, err = client.AddFaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.ListGroupClient", "AddFace", resp, "Failure responding to request") + } + + return +} + +// AddFacePreparer prepares the AddFace request. +func (client ListGroupClient) AddFacePreparer(faceListID string, userData string, targetFace string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + pathParameters := map[string]interface{}{ + "faceListId": autorest.Encode("path", faceListID), + } + + queryParameters := map[string]interface{}{} + if len(userData) > 0 { + queryParameters["userData"] = autorest.Encode("query", userData) + } + if len(targetFace) > 0 { + queryParameters["targetFace"] = autorest.Encode("query", targetFace) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPathParameters("/facelists/{faceListId}/persistedFaces", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// AddFaceSender sends the AddFace request. The method will close the +// http.Response Body if it receives an error. +func (client ListGroupClient) AddFaceSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// AddFaceResponder handles the response to the AddFace request. The method always +// closes the http.Response Body. +func (client ListGroupClient) AddFaceResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// AddFaceFromStream add a face to a face list. The input face is specified as an image with a targetFace rectangle. It +// returns a persistedFaceId representing the added face, and persistedFaceId will not expire. +// +// faceListID is id referencing a Face List. userData is user-specified data about the face list for any purpose. The +// maximum length is 1KB. targetFace is a face rectangle to specify the target face to be added into the face list, in +// the format of "targetFace=left,top,width,height". E.g. "targetFace=10,10,100,100". If there is more than one face in +// the image, targetFace is required to specify which face to add. No targetFace means there is only one face detected +// in the entire image. +func (client ListGroupClient) AddFaceFromStream(faceListID string, userData string, targetFace string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: faceListID, + Constraints: []validation.Constraint{{Target: "faceListID", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "faceListID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "face.ListGroupClient", "AddFaceFromStream") + } + + req, err := client.AddFaceFromStreamPreparer(faceListID, userData, targetFace) + if err != nil { + err = autorest.NewErrorWithError(err, "face.ListGroupClient", "AddFaceFromStream", nil, "Failure preparing request") + return + } + + resp, err := client.AddFaceFromStreamSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "face.ListGroupClient", "AddFaceFromStream", resp, "Failure sending request") + return + } + + result, err = client.AddFaceFromStreamResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.ListGroupClient", "AddFaceFromStream", resp, "Failure responding to request") + } + + return +} + +// AddFaceFromStreamPreparer prepares the AddFaceFromStream request. +func (client ListGroupClient) AddFaceFromStreamPreparer(faceListID string, userData string, targetFace string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + pathParameters := map[string]interface{}{ + "faceListId": autorest.Encode("path", faceListID), + } + + queryParameters := map[string]interface{}{} + if len(userData) > 0 { + queryParameters["userData"] = autorest.Encode("query", userData) + } + if len(targetFace) > 0 { + queryParameters["targetFace"] = autorest.Encode("query", targetFace) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPathParameters("/facelists/{faceListId}/persistedFaces", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// AddFaceFromStreamSender sends the AddFaceFromStream request. The method will close the +// http.Response Body if it receives an error. +func (client ListGroupClient) AddFaceFromStreamSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// AddFaceFromStreamResponder handles the response to the AddFaceFromStream request. The method always +// closes the http.Response Body. +func (client ListGroupClient) AddFaceFromStreamResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Create create an empty face list. Up to 64 face lists are allowed to exist in one subscription. +// +// faceListID is id referencing a particular face list. +func (client ListGroupClient) Create(faceListID string, body CreateFaceListRequest) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: faceListID, + Constraints: []validation.Constraint{{Target: "faceListID", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "faceListID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}}, + {TargetValue: body, + Constraints: []validation.Constraint{{Target: "body.Name", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "body.Name", Name: validation.MaxLength, Rule: 128, Chain: nil}}}, + {Target: "body.UserData", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "body.UserData", Name: validation.MaxLength, Rule: 16384, Chain: nil}}}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "face.ListGroupClient", "Create") + } + + req, err := client.CreatePreparer(faceListID, body) + if err != nil { + err = autorest.NewErrorWithError(err, "face.ListGroupClient", "Create", nil, "Failure preparing request") + return + } + + resp, err := client.CreateSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "face.ListGroupClient", "Create", resp, "Failure sending request") + return + } + + result, err = client.CreateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.ListGroupClient", "Create", resp, "Failure responding to request") + } + + return +} + +// CreatePreparer prepares the Create request. +func (client ListGroupClient) CreatePreparer(faceListID string, body CreateFaceListRequest) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + pathParameters := map[string]interface{}{ + "faceListId": autorest.Encode("path", faceListID), + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPathParameters("/facelists/{faceListId}", pathParameters), + autorest.WithJSON(body), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client ListGroupClient) CreateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client ListGroupClient) CreateResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Delete delete an existing face list according to faceListId. Persisted face images in the face list will also be +// deleted. +// +// faceListID is id referencing a Face List. +func (client ListGroupClient) Delete(faceListID string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: faceListID, + Constraints: []validation.Constraint{{Target: "faceListID", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "faceListID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "face.ListGroupClient", "Delete") + } + + req, err := client.DeletePreparer(faceListID) + if err != nil { + err = autorest.NewErrorWithError(err, "face.ListGroupClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "face.ListGroupClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.ListGroupClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ListGroupClient) DeletePreparer(faceListID string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + pathParameters := map[string]interface{}{ + "faceListId": autorest.Encode("path", faceListID), + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPathParameters("/facelists/{faceListId}", pathParameters), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ListGroupClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ListGroupClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteFace delete an existing face from a face list (given by a persisitedFaceId and a faceListId). Persisted image +// related to the face will also be deleted. +// +// faceListID is faceListId of an existing face list. persistedFaceID is persistedFaceId of an existing face. +func (client ListGroupClient) DeleteFace(faceListID string, persistedFaceID string) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: faceListID, + Constraints: []validation.Constraint{{Target: "faceListID", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "faceListID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "face.ListGroupClient", "DeleteFace") + } + + req, err := client.DeleteFacePreparer(faceListID, persistedFaceID) + if err != nil { + err = autorest.NewErrorWithError(err, "face.ListGroupClient", "DeleteFace", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteFaceSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "face.ListGroupClient", "DeleteFace", resp, "Failure sending request") + return + } + + result, err = client.DeleteFaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.ListGroupClient", "DeleteFace", resp, "Failure responding to request") + } + + return +} + +// DeleteFacePreparer prepares the DeleteFace request. +func (client ListGroupClient) DeleteFacePreparer(faceListID string, persistedFaceID string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + pathParameters := map[string]interface{}{ + "faceListId": autorest.Encode("path", faceListID), + "persistedFaceId": autorest.Encode("path", persistedFaceID), + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPathParameters("/facelists/{faceListId}/persistedFaces/{persistedFaceId}", pathParameters), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteFaceSender sends the DeleteFace request. The method will close the +// http.Response Body if it receives an error. +func (client ListGroupClient) DeleteFaceSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteFaceResponder handles the response to the DeleteFace request. The method always +// closes the http.Response Body. +func (client ListGroupClient) DeleteFaceResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get retrieve a face list's information. +// +// faceListID is id referencing a Face List. +func (client ListGroupClient) Get(faceListID string) (result GetFaceListResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: faceListID, + Constraints: []validation.Constraint{{Target: "faceListID", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "faceListID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "face.ListGroupClient", "Get") + } + + req, err := client.GetPreparer(faceListID) + if err != nil { + err = autorest.NewErrorWithError(err, "face.ListGroupClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "face.ListGroupClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.ListGroupClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ListGroupClient) GetPreparer(faceListID string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + pathParameters := map[string]interface{}{ + "faceListId": autorest.Encode("path", faceListID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPathParameters("/facelists/{faceListId}", pathParameters), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ListGroupClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ListGroupClient) GetResponder(resp *http.Response) (result GetFaceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List retrieve information about all existing face lists. Only faceListId, name and userData will be returned. +func (client ListGroupClient) List() (result ListGetFaceListResult, err error) { + req, err := client.ListPreparer() + if err != nil { + err = autorest.NewErrorWithError(err, "face.ListGroupClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "face.ListGroupClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.ListGroupClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ListGroupClient) ListPreparer() (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPath("/facelists"), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ListGroupClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ListGroupClient) ListResponder(resp *http.Response) (result ListGetFaceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update update information of a face list. +// +// faceListID is id referencing a Face List. +func (client ListGroupClient) Update(faceListID string, body CreateFaceListRequest) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: faceListID, + Constraints: []validation.Constraint{{Target: "faceListID", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "faceListID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "face.ListGroupClient", "Update") + } + + req, err := client.UpdatePreparer(faceListID, body) + if err != nil { + err = autorest.NewErrorWithError(err, "face.ListGroupClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "face.ListGroupClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.ListGroupClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client ListGroupClient) UpdatePreparer(faceListID string, body CreateFaceListRequest) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + pathParameters := map[string]interface{}{ + "faceListId": autorest.Encode("path", faceListID), + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPathParameters("/facelists/{faceListId}", pathParameters), + autorest.WithJSON(body), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client ListGroupClient) UpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client ListGroupClient) UpdateResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/face/models.go b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/face/models.go new file mode 100644 index 000000000..34fba705d --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/face/models.go @@ -0,0 +1,360 @@ +package face + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/date" +) + +// AzureRegions enumerates the values for azure regions. +type AzureRegions string + +const ( + // Eastus2 specifies the eastus 2 state for azure regions. + Eastus2 AzureRegions = "eastus2" + // Southeastasia specifies the southeastasia state for azure regions. + Southeastasia AzureRegions = "southeastasia" + // Westcentralus specifies the westcentralus state for azure regions. + Westcentralus AzureRegions = "westcentralus" + // Westeurope specifies the westeurope state for azure regions. + Westeurope AzureRegions = "westeurope" + // Westus specifies the westus state for azure regions. + Westus AzureRegions = "westus" +) + +// Gender enumerates the values for gender. +type Gender string + +const ( + // Female specifies the female state for gender. + Female Gender = "female" + // Male specifies the male state for gender. + Male Gender = "male" +) + +// Glasses enumerates the values for glasses. +type Glasses string + +const ( + // NoGlasses specifies the no glasses state for glasses. + NoGlasses Glasses = "noGlasses" + // ReadingGlasses specifies the reading glasses state for glasses. + ReadingGlasses Glasses = "readingGlasses" + // Sunglasses specifies the sunglasses state for glasses. + Sunglasses Glasses = "sunglasses" + // SwimmingGoggles specifies the swimming goggles state for glasses. + SwimmingGoggles Glasses = "swimmingGoggles" +) + +// Mode enumerates the values for mode. +type Mode string + +const ( + // MatchFace specifies the match face state for mode. + MatchFace Mode = "matchFace" + // MatchPerson specifies the match person state for mode. + MatchPerson Mode = "matchPerson" +) + +// Status enumerates the values for status. +type Status string + +const ( + // Failed specifies the failed state for status. + Failed Status = "failed" + // Nonstarted specifies the nonstarted state for status. + Nonstarted Status = "nonstarted" + // Running specifies the running state for status. + Running Status = "running" + // Succeeded specifies the succeeded state for status. + Succeeded Status = "succeeded" +) + +// APIError is error information returned by the API +type APIError struct { + Error *Error `json:"error,omitempty"` +} + +// Attributes is face Attributes +type Attributes struct { + Age *float64 `json:"age,omitempty"` + Gender Gender `json:"gender,omitempty"` + Smile *float64 `json:"smile,omitempty"` + Glasses Glasses `json:"glasses,omitempty"` + FacialHair *FacialHairProperties `json:"facialHair,omitempty"` + HeadPose *HeadPoseProperties `json:"headPose,omitempty"` + Emotion *EmotionProperties `json:"emotion,omitempty"` +} + +// CreateFaceListRequest is request to create a face list. +type CreateFaceListRequest struct { + Name *string `json:"name,omitempty"` + UserData *string `json:"userData,omitempty"` +} + +// CreatePersonGroupRequest is request to create a person group. +type CreatePersonGroupRequest struct { + Name *string `json:"name,omitempty"` + UserData *string `json:"userData,omitempty"` +} + +// CreatePersonRequest is request to create a person object. +type CreatePersonRequest struct { + Name *string `json:"name,omitempty"` + UserData *string `json:"userData,omitempty"` +} + +// CreatePersonResult is result of creating person. +type CreatePersonResult struct { + autorest.Response `json:"-"` + PersonID *string `json:"personId,omitempty"` +} + +// DetectedFace is detected Face object. +type DetectedFace struct { + FaceID *string `json:"faceId,omitempty"` + FaceRectangle *Rectangle `json:"faceRectangle,omitempty"` + FaceLandmarks *Landmarks `json:"faceLandmarks,omitempty"` +} + +// EmotionProperties is properties describing facial emotion. +type EmotionProperties struct { + Anger *float64 `json:"anger,omitempty"` + Contempt *float64 `json:"contempt,omitempty"` + Disgust *float64 `json:"disgust,omitempty"` + Fear *float64 `json:"fear,omitempty"` + Happiness *float64 `json:"happiness,omitempty"` + Neutral *float64 `json:"neutral,omitempty"` + Sadness *float64 `json:"sadness,omitempty"` + Surprise *float64 `json:"surprise,omitempty"` +} + +// Error is error body. +type Error struct { + Code *string `json:"code,omitempty"` + Message *string `json:"message,omitempty"` +} + +// FacialHairProperties is properties describing facial hair attributes. +type FacialHairProperties struct { + Mustache *float64 `json:"mustache,omitempty"` + Beard *float64 `json:"beard,omitempty"` + Sideburns *float64 `json:"sideburns,omitempty"` +} + +// FindSimilarRequest is request body for find similar operation. +type FindSimilarRequest struct { + FaceID *string `json:"faceId,omitempty"` + FaceListID *string `json:"faceListId,omitempty"` + FaceIds *[]string `json:"faceIds,omitempty"` + MaxNumOfCandidatesReturned *int32 `json:"maxNumOfCandidatesReturned,omitempty"` + Mode Mode `json:"mode,omitempty"` +} + +// GetFaceListResult is result of the GetFaceList operation. +type GetFaceListResult struct { + autorest.Response `json:"-"` + FaceListID *string `json:"faceListId,omitempty"` + Name *string `json:"name,omitempty"` + UserData *string `json:"userData,omitempty"` +} + +// GroupRequest is request body for group request. +type GroupRequest struct { + FaceIds *[]string `json:"faceIds,omitempty"` +} + +// GroupResponse is an array of face groups based on face similarity. +type GroupResponse struct { + autorest.Response `json:"-"` + Groups *[][]string `json:"groups,omitempty"` + MessyGroup *[]string `json:"messyGroup,omitempty"` +} + +// HeadPoseProperties is properties indicating head pose of the face. +type HeadPoseProperties struct { + Roll *float64 `json:"roll,omitempty"` + Yaw *float64 `json:"yaw,omitempty"` + Pitch *float64 `json:"pitch,omitempty"` +} + +// IdentifyRequest is request body for identify face operation. +type IdentifyRequest struct { + PersonGroupID *string `json:"personGroupId,omitempty"` + FaceIds *[]string `json:"faceIds,omitempty"` + MaxNumOfCandidatesReturned *int32 `json:"maxNumOfCandidatesReturned,omitempty"` + ConfidenceThreshold *float64 `json:"confidenceThreshold,omitempty"` +} + +// IdentifyResultCandidate is all possible faces that may qualify. +type IdentifyResultCandidate struct { + PersonID *string `json:"personId,omitempty"` + Confidence *float64 `json:"confidence,omitempty"` +} + +// IdentifyResultItem is response body for identify face operation. +type IdentifyResultItem struct { + FaceID *string `json:"faceId,omitempty"` + Candidates *[]IdentifyResultCandidate `json:"candidates,omitempty"` +} + +// ImageURL is +type ImageURL struct { + URL *string `json:"url,omitempty"` +} + +// Landmarks is a collection of 27-point face landmarks pointing to the important positions of face components. +type Landmarks struct { + PupilLeft *Position `json:"pupilLeft,omitempty"` + PupilRight *Position `json:"pupilRight,omitempty"` + NoseTip *Position `json:"noseTip,omitempty"` + MouthLeft *Position `json:"mouthLeft,omitempty"` + MouthRight *Position `json:"mouthRight,omitempty"` + EyebrowLeftOuter *Position `json:"eyebrowLeftOuter,omitempty"` + EyebrowLeftInner *Position `json:"eyebrowLeftInner,omitempty"` + EyeLeftOuter *Position `json:"eyeLeftOuter,omitempty"` + EyeLeftTop *Position `json:"eyeLeftTop,omitempty"` + EyeLeftBottom *Position `json:"eyeLeftBottom,omitempty"` + EyeLeftInner *Position `json:"eyeLeftInner,omitempty"` + EyebrowRightInner *Position `json:"eyebrowRightInner,omitempty"` + EyebrowRightOuter *Position `json:"eyebrowRightOuter,omitempty"` + EyeRightInner *Position `json:"eyeRightInner,omitempty"` + EyeRightTop *Position `json:"eyeRightTop,omitempty"` + EyeRightBottom *Position `json:"eyeRightBottom,omitempty"` + EyeRightOuter *Position `json:"eyeRightOuter,omitempty"` + NoseRootLeft *Position `json:"noseRootLeft,omitempty"` + NoseRootRight *Position `json:"noseRootRight,omitempty"` + NoseLeftAlarTop *Position `json:"noseLeftAlarTop,omitempty"` + NoseRightAlarTop *Position `json:"noseRightAlarTop,omitempty"` + NoseLeftAlarOutTip *Position `json:"noseLeftAlarOutTip,omitempty"` + NoseRightAlarOutTip *Position `json:"noseRightAlarOutTip,omitempty"` + UpperLipTop *Position `json:"upperLipTop,omitempty"` + UpperLipBottom *Position `json:"upperLipBottom,omitempty"` + UnderLipTop *Position `json:"underLipTop,omitempty"` + UnderLipBottom *Position `json:"underLipBottom,omitempty"` +} + +// ListDetectedFace is +type ListDetectedFace struct { + autorest.Response `json:"-"` + Value *[]DetectedFace `json:"value,omitempty"` +} + +// ListGetFaceListResult is +type ListGetFaceListResult struct { + autorest.Response `json:"-"` + Value *[]GetFaceListResult `json:"value,omitempty"` +} + +// ListIdentifyResultItem is +type ListIdentifyResultItem struct { + autorest.Response `json:"-"` + Value *[]IdentifyResultItem `json:"value,omitempty"` +} + +// ListPersonGroupResult is +type ListPersonGroupResult struct { + autorest.Response `json:"-"` + Value *[]PersonGroupResult `json:"value,omitempty"` +} + +// ListPersonResult is +type ListPersonResult struct { + autorest.Response `json:"-"` + Value *[]PersonResult `json:"value,omitempty"` +} + +// ListSimilarFaceResult is +type ListSimilarFaceResult struct { + autorest.Response `json:"-"` + Value *[]SimilarFaceResult `json:"value,omitempty"` +} + +// PersonFaceResult is personFace object. +type PersonFaceResult struct { + autorest.Response `json:"-"` + PersistedFaceID *string `json:"persistedFaceId,omitempty"` + UserData *string `json:"userData,omitempty"` +} + +// PersonGroupResult is person group object. +type PersonGroupResult struct { + autorest.Response `json:"-"` + PersonGroupID *string `json:"personGroupId,omitempty"` + Name *string `json:"name,omitempty"` + UserData *string `json:"userData,omitempty"` +} + +// PersonResult is person object. +type PersonResult struct { + autorest.Response `json:"-"` + PersonID *string `json:"personId,omitempty"` + PersistedFaceIds *[]string `json:"persistedFaceIds,omitempty"` + Name *string `json:"name,omitempty"` + UserData *string `json:"userData,omitempty"` +} + +// Position is coordinates within an image +type Position struct { + X *int32 `json:"x,omitempty"` + Y *int32 `json:"y,omitempty"` +} + +// Rectangle is a rectangle within which a face can be found +type Rectangle struct { + Width *int32 `json:"width,omitempty"` + Height *int32 `json:"height,omitempty"` + Left *int32 `json:"left,omitempty"` + Top *int32 `json:"top,omitempty"` +} + +// SimilarFaceResult is response body for find similar face operation. +type SimilarFaceResult struct { + FaceID *string `json:"faceId,omitempty"` + PersistedFaceID *string `json:"persistedFaceId,omitempty"` + Confidence *float64 `json:"confidence,omitempty"` +} + +// TrainingStatus is training status object. +type TrainingStatus struct { + autorest.Response `json:"-"` + Status Status `json:"status,omitempty"` + Created *date.Time `json:"createdDateTime,omitempty"` + LastAction *date.Time `json:"lastActionDateTime,omitempty"` + Message *string `json:"message,omitempty"` +} + +// UpdatePersonFaceDataRequest is request to update person face data. +type UpdatePersonFaceDataRequest struct { + UserData *string `json:"userData,omitempty"` +} + +// VerifyRequest is request body for verify operation. +type VerifyRequest struct { + FaceID *string `json:"faceId,omitempty"` + PersonID *string `json:"personId,omitempty"` + PersonGroupID *string `json:"personGroupId,omitempty"` +} + +// VerifyResult is result of the verify operation. +type VerifyResult struct { + autorest.Response `json:"-"` + IsIdentical *bool `json:"isIdentical,omitempty"` + Confidence *float64 `json:"confidence,omitempty"` +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/face/person.go b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/face/person.go new file mode 100644 index 000000000..657a00142 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/face/person.go @@ -0,0 +1,711 @@ +package face + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// PersonClient is the an API for face detection, verification, and identification. +type PersonClient struct { + ManagementClient +} + +// NewPersonClient creates an instance of the PersonClient client. +func NewPersonClient(subscriptionKey string, azureRegion AzureRegions) PersonClient { + return PersonClient{New(subscriptionKey, azureRegion)} +} + +// AddFace add a representative face to a person for identification. The input face is specified as an image with a +// targetFace rectangle. +// +// personGroupID is specifying the person group containing the target person. personID is target person that the face +// is added to. userData is user-specified data about the target face to add for any purpose. The maximum length is +// 1KB. targetFace is a face rectangle to specify the target face to be added to a person in the format of +// "targetFace=left,top,width,height". E.g. "targetFace=10,10,100,100". If there is more than one face in the image, +// targetFace is required to specify which face to add. No targetFace means there is only one face detected in the +// entire image. +func (client PersonClient) AddFace(personGroupID string, personID string, userData string, targetFace string) (result autorest.Response, err error) { + req, err := client.AddFacePreparer(personGroupID, personID, userData, targetFace) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonClient", "AddFace", nil, "Failure preparing request") + return + } + + resp, err := client.AddFaceSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "face.PersonClient", "AddFace", resp, "Failure sending request") + return + } + + result, err = client.AddFaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonClient", "AddFace", resp, "Failure responding to request") + } + + return +} + +// AddFacePreparer prepares the AddFace request. +func (client PersonClient) AddFacePreparer(personGroupID string, personID string, userData string, targetFace string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + pathParameters := map[string]interface{}{ + "personGroupId": autorest.Encode("path", personGroupID), + "personId": autorest.Encode("path", personID), + } + + queryParameters := map[string]interface{}{} + if len(userData) > 0 { + queryParameters["userData"] = autorest.Encode("query", userData) + } + if len(targetFace) > 0 { + queryParameters["targetFace"] = autorest.Encode("query", targetFace) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPathParameters("/persongroups/{personGroupId}/persons/{personId}/persistedFaces", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// AddFaceSender sends the AddFace request. The method will close the +// http.Response Body if it receives an error. +func (client PersonClient) AddFaceSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// AddFaceResponder handles the response to the AddFace request. The method always +// closes the http.Response Body. +func (client PersonClient) AddFaceResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// AddFaceFromStream add a representative face to a person for identification. The input face is specified as an image +// with a targetFace rectangle. +// +// personGroupID is specifying the person group containing the target person. personID is target person that the face +// is added to. userData is user-specified data about the target face to add for any purpose. The maximum length is +// 1KB. targetFace is a face rectangle to specify the target face to be added to a person, in the format of +// "targetFace=left,top,width,height". E.g. "targetFace=10,10,100,100". If there is more than one face in the image, +// targetFace is required to specify which face to add. No targetFace means there is only one face detected in the +// entire image. +func (client PersonClient) AddFaceFromStream(personGroupID string, personID string, userData string, targetFace string) (result autorest.Response, err error) { + req, err := client.AddFaceFromStreamPreparer(personGroupID, personID, userData, targetFace) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonClient", "AddFaceFromStream", nil, "Failure preparing request") + return + } + + resp, err := client.AddFaceFromStreamSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "face.PersonClient", "AddFaceFromStream", resp, "Failure sending request") + return + } + + result, err = client.AddFaceFromStreamResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonClient", "AddFaceFromStream", resp, "Failure responding to request") + } + + return +} + +// AddFaceFromStreamPreparer prepares the AddFaceFromStream request. +func (client PersonClient) AddFaceFromStreamPreparer(personGroupID string, personID string, userData string, targetFace string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + pathParameters := map[string]interface{}{ + "personGroupId": autorest.Encode("path", personGroupID), + "personId": autorest.Encode("path", personID), + } + + queryParameters := map[string]interface{}{} + if len(userData) > 0 { + queryParameters["userData"] = autorest.Encode("query", userData) + } + if len(targetFace) > 0 { + queryParameters["targetFace"] = autorest.Encode("query", targetFace) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPathParameters("/persongroups/{personGroupId}/persons/{personId}/persistedFaces", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// AddFaceFromStreamSender sends the AddFaceFromStream request. The method will close the +// http.Response Body if it receives an error. +func (client PersonClient) AddFaceFromStreamSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// AddFaceFromStreamResponder handles the response to the AddFaceFromStream request. The method always +// closes the http.Response Body. +func (client PersonClient) AddFaceFromStreamResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Create create a new person in a specified person group. +// +// personGroupID is specifying the target person group to create the person. +func (client PersonClient) Create(personGroupID string, body CreatePersonRequest) (result CreatePersonResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: body, + Constraints: []validation.Constraint{{Target: "body.Name", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "body.Name", Name: validation.MaxLength, Rule: 128, Chain: nil}}}, + {Target: "body.UserData", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "body.UserData", Name: validation.MaxLength, Rule: 16384, Chain: nil}}}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "face.PersonClient", "Create") + } + + req, err := client.CreatePreparer(personGroupID, body) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonClient", "Create", nil, "Failure preparing request") + return + } + + resp, err := client.CreateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "face.PersonClient", "Create", resp, "Failure sending request") + return + } + + result, err = client.CreateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonClient", "Create", resp, "Failure responding to request") + } + + return +} + +// CreatePreparer prepares the Create request. +func (client PersonClient) CreatePreparer(personGroupID string, body CreatePersonRequest) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + pathParameters := map[string]interface{}{ + "personGroupId": autorest.Encode("path", personGroupID), + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPathParameters("/persongroups/{personGroupId}/persons", pathParameters), + autorest.WithJSON(body), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client PersonClient) CreateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client PersonClient) CreateResponder(resp *http.Response) (result CreatePersonResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete delete an existing person from a person group. Persisted face images of the person will also be deleted. +// +// personGroupID is specifying the person group containing the person. personID is the target personId to delete. +func (client PersonClient) Delete(personGroupID string, personID string) (result autorest.Response, err error) { + req, err := client.DeletePreparer(personGroupID, personID) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "face.PersonClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client PersonClient) DeletePreparer(personGroupID string, personID string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + pathParameters := map[string]interface{}{ + "personGroupId": autorest.Encode("path", personGroupID), + "personId": autorest.Encode("path", personID), + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPathParameters("/persongroups/{personGroupId}/persons/{personId}", pathParameters), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client PersonClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client PersonClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteFace delete a face from a person. Relative image for the persisted face will also be deleted. +// +// personGroupID is specifying the person group containing the target person. personID is specifying the person that +// the target persisted face belong to. persistedFaceID is the persisted face to remove. +func (client PersonClient) DeleteFace(personGroupID string, personID string, persistedFaceID string) (result autorest.Response, err error) { + req, err := client.DeleteFacePreparer(personGroupID, personID, persistedFaceID) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonClient", "DeleteFace", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteFaceSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "face.PersonClient", "DeleteFace", resp, "Failure sending request") + return + } + + result, err = client.DeleteFaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonClient", "DeleteFace", resp, "Failure responding to request") + } + + return +} + +// DeleteFacePreparer prepares the DeleteFace request. +func (client PersonClient) DeleteFacePreparer(personGroupID string, personID string, persistedFaceID string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + pathParameters := map[string]interface{}{ + "persistedFaceId": autorest.Encode("path", persistedFaceID), + "personGroupId": autorest.Encode("path", personGroupID), + "personId": autorest.Encode("path", personID), + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPathParameters("/persongroups/{personGroupId}/persons/{personId}/persistedFaces/{persistedFaceId}", pathParameters), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteFaceSender sends the DeleteFace request. The method will close the +// http.Response Body if it receives an error. +func (client PersonClient) DeleteFaceSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteFaceResponder handles the response to the DeleteFace request. The method always +// closes the http.Response Body. +func (client PersonClient) DeleteFaceResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get retrieve a person's information, including registered persisted faces, name and userData. +// +// personGroupID is specifying the person group containing the target person. personID is specifying the target person. +func (client PersonClient) Get(personGroupID string, personID string) (result PersonResult, err error) { + req, err := client.GetPreparer(personGroupID, personID) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "face.PersonClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client PersonClient) GetPreparer(personGroupID string, personID string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + pathParameters := map[string]interface{}{ + "personGroupId": autorest.Encode("path", personGroupID), + "personId": autorest.Encode("path", personID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPathParameters("/persongroups/{personGroupId}/persons/{personId}", pathParameters), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client PersonClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client PersonClient) GetResponder(resp *http.Response) (result PersonResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetFace retrieve information about a persisted face (specified by persistedFaceId, personId and its belonging +// personGroupId). +// +// personGroupID is specifying the person group containing the target person. personID is specifying the target person +// that the face belongs to. persistedFaceID is the persistedFaceId of the target persisted face of the person. +func (client PersonClient) GetFace(personGroupID string, personID string, persistedFaceID string) (result PersonFaceResult, err error) { + req, err := client.GetFacePreparer(personGroupID, personID, persistedFaceID) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonClient", "GetFace", nil, "Failure preparing request") + return + } + + resp, err := client.GetFaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "face.PersonClient", "GetFace", resp, "Failure sending request") + return + } + + result, err = client.GetFaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonClient", "GetFace", resp, "Failure responding to request") + } + + return +} + +// GetFacePreparer prepares the GetFace request. +func (client PersonClient) GetFacePreparer(personGroupID string, personID string, persistedFaceID string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + pathParameters := map[string]interface{}{ + "persistedFaceId": autorest.Encode("path", persistedFaceID), + "personGroupId": autorest.Encode("path", personGroupID), + "personId": autorest.Encode("path", personID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPathParameters("/persongroups/{personGroupId}/persons/{personId}/persistedFaces/{persistedFaceId}", pathParameters), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// GetFaceSender sends the GetFace request. The method will close the +// http.Response Body if it receives an error. +func (client PersonClient) GetFaceSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetFaceResponder handles the response to the GetFace request. The method always +// closes the http.Response Body. +func (client PersonClient) GetFaceResponder(resp *http.Response) (result PersonFaceResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List list all persons in a person group, and retrieve person information (including personId, name, userData and +// persistedFaceIds of registered faces of the person). +// +// personGroupID is personGroupId of the target person group. +func (client PersonClient) List(personGroupID string) (result ListPersonResult, err error) { + req, err := client.ListPreparer(personGroupID) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "face.PersonClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client PersonClient) ListPreparer(personGroupID string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + pathParameters := map[string]interface{}{ + "personGroupId": autorest.Encode("path", personGroupID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPathParameters("/persongroups/{personGroupId}/persons", pathParameters), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client PersonClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client PersonClient) ListResponder(resp *http.Response) (result ListPersonResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update update name or userData of a person. +// +// personGroupID is specifying the person group containing the target person. personID is personId of the target +// person. +func (client PersonClient) Update(personGroupID string, personID string, body CreatePersonRequest) (result autorest.Response, err error) { + req, err := client.UpdatePreparer(personGroupID, personID, body) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "face.PersonClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client PersonClient) UpdatePreparer(personGroupID string, personID string, body CreatePersonRequest) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + pathParameters := map[string]interface{}{ + "personGroupId": autorest.Encode("path", personGroupID), + "personId": autorest.Encode("path", personID), + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPathParameters("/persongroups/{personGroupId}/persons/{personId}", pathParameters), + autorest.WithJSON(body), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client PersonClient) UpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client PersonClient) UpdateResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// UpdateFace update a person persisted face's userData field. +// +// personGroupID is specifying the person group containing the target person. personID is personId of the target +// person. persistedFaceID is persistedFaceId of target face, which is persisted and will not expire. +func (client PersonClient) UpdateFace(personGroupID string, personID string, persistedFaceID string, body UpdatePersonFaceDataRequest) (result autorest.Response, err error) { + req, err := client.UpdateFacePreparer(personGroupID, personID, persistedFaceID, body) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonClient", "UpdateFace", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateFaceSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "face.PersonClient", "UpdateFace", resp, "Failure sending request") + return + } + + result, err = client.UpdateFaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonClient", "UpdateFace", resp, "Failure responding to request") + } + + return +} + +// UpdateFacePreparer prepares the UpdateFace request. +func (client PersonClient) UpdateFacePreparer(personGroupID string, personID string, persistedFaceID string, body UpdatePersonFaceDataRequest) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + pathParameters := map[string]interface{}{ + "persistedFaceId": autorest.Encode("path", persistedFaceID), + "personGroupId": autorest.Encode("path", personGroupID), + "personId": autorest.Encode("path", personID), + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPathParameters("/persongroups/{personGroupId}/persons/{personId}/persistedFaces/{persistedFaceId}", pathParameters), + autorest.WithJSON(body), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// UpdateFaceSender sends the UpdateFace request. The method will close the +// http.Response Body if it receives an error. +func (client PersonClient) UpdateFaceSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// UpdateFaceResponder handles the response to the UpdateFace request. The method always +// closes the http.Response Body. +func (client PersonClient) UpdateFaceResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/face/persongroup.go b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/face/persongroup.go new file mode 100644 index 000000000..b1de6f731 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/face/persongroup.go @@ -0,0 +1,500 @@ +package face + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "net/http" +) + +// PersonGroupClient is the an API for face detection, verification, and identification. +type PersonGroupClient struct { + ManagementClient +} + +// NewPersonGroupClient creates an instance of the PersonGroupClient client. +func NewPersonGroupClient(subscriptionKey string, azureRegion AzureRegions) PersonGroupClient { + return PersonGroupClient{New(subscriptionKey, azureRegion)} +} + +// Create create a new person group with specified personGroupId, name and user-provided userData. +// +// personGroupID is user-provided personGroupId as a string. +func (client PersonGroupClient) Create(personGroupID string, body CreatePersonGroupRequest) (result autorest.Response, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: personGroupID, + Constraints: []validation.Constraint{{Target: "personGroupID", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "personGroupID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}}, + {TargetValue: body, + Constraints: []validation.Constraint{{Target: "body.Name", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "body.Name", Name: validation.MaxLength, Rule: 128, Chain: nil}}}, + {Target: "body.UserData", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "body.UserData", Name: validation.MaxLength, Rule: 16384, Chain: nil}}}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "face.PersonGroupClient", "Create") + } + + req, err := client.CreatePreparer(personGroupID, body) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonGroupClient", "Create", nil, "Failure preparing request") + return + } + + resp, err := client.CreateSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "face.PersonGroupClient", "Create", resp, "Failure sending request") + return + } + + result, err = client.CreateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonGroupClient", "Create", resp, "Failure responding to request") + } + + return +} + +// CreatePreparer prepares the Create request. +func (client PersonGroupClient) CreatePreparer(personGroupID string, body CreatePersonGroupRequest) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + pathParameters := map[string]interface{}{ + "personGroupId": autorest.Encode("path", personGroupID), + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPathParameters("/persongroups/{personGroupId}", pathParameters), + autorest.WithJSON(body), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client PersonGroupClient) CreateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client PersonGroupClient) CreateResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Delete delete an existing person group. Persisted face images of all people in the person group will also be +// deleted. +// +// personGroupID is the personGroupId of the person group to be deleted. +func (client PersonGroupClient) Delete(personGroupID string) (result autorest.Response, err error) { + req, err := client.DeletePreparer(personGroupID) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonGroupClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "face.PersonGroupClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonGroupClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client PersonGroupClient) DeletePreparer(personGroupID string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + pathParameters := map[string]interface{}{ + "personGroupId": autorest.Encode("path", personGroupID), + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPathParameters("/persongroups/{personGroupId}", pathParameters), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client PersonGroupClient) DeleteSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client PersonGroupClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get retrieve the information of a person group, including its name and userData. +// +// personGroupID is personGroupId of the target person group. +func (client PersonGroupClient) Get(personGroupID string) (result PersonGroupResult, err error) { + req, err := client.GetPreparer(personGroupID) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonGroupClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "face.PersonGroupClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonGroupClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client PersonGroupClient) GetPreparer(personGroupID string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + pathParameters := map[string]interface{}{ + "personGroupId": autorest.Encode("path", personGroupID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPathParameters("/persongroups/{personGroupId}", pathParameters), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client PersonGroupClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client PersonGroupClient) GetResponder(resp *http.Response) (result PersonGroupResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetTrainingStatus retrieve the training status of a person group (completed or ongoing). +// +// personGroupID is personGroupId of target person group. +func (client PersonGroupClient) GetTrainingStatus(personGroupID string) (result TrainingStatus, err error) { + req, err := client.GetTrainingStatusPreparer(personGroupID) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonGroupClient", "GetTrainingStatus", nil, "Failure preparing request") + return + } + + resp, err := client.GetTrainingStatusSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "face.PersonGroupClient", "GetTrainingStatus", resp, "Failure sending request") + return + } + + result, err = client.GetTrainingStatusResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonGroupClient", "GetTrainingStatus", resp, "Failure responding to request") + } + + return +} + +// GetTrainingStatusPreparer prepares the GetTrainingStatus request. +func (client PersonGroupClient) GetTrainingStatusPreparer(personGroupID string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + pathParameters := map[string]interface{}{ + "personGroupId": autorest.Encode("path", personGroupID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPathParameters("/persongroups/{personGroupId}/training", pathParameters), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// GetTrainingStatusSender sends the GetTrainingStatus request. The method will close the +// http.Response Body if it receives an error. +func (client PersonGroupClient) GetTrainingStatusSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetTrainingStatusResponder handles the response to the GetTrainingStatus request. The method always +// closes the http.Response Body. +func (client PersonGroupClient) GetTrainingStatusResponder(resp *http.Response) (result TrainingStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List list person groups and their information. +// +// start is list person groups from the least personGroupId greater than the "start". top is the number of person +// groups to list. +func (client PersonGroupClient) List(start string, top *int32) (result ListPersonGroupResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: start, + Constraints: []validation.Constraint{{Target: "start", Name: validation.MaxLength, Rule: 64, Chain: nil}}}, + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, + {Target: "top", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "face.PersonGroupClient", "List") + } + + req, err := client.ListPreparer(start, top) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonGroupClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "face.PersonGroupClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonGroupClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client PersonGroupClient) ListPreparer(start string, top *int32) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + queryParameters := map[string]interface{}{} + if len(start) > 0 { + queryParameters["start"] = autorest.Encode("query", start) + } + if top != nil { + queryParameters["top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPath("/persongroups"), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client PersonGroupClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client PersonGroupClient) ListResponder(resp *http.Response) (result ListPersonGroupResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Train queue a person group training task, the training task may not be started immediately. +// +// personGroupID is target person group to be trained. +func (client PersonGroupClient) Train(personGroupID string) (result autorest.Response, err error) { + req, err := client.TrainPreparer(personGroupID) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonGroupClient", "Train", nil, "Failure preparing request") + return + } + + resp, err := client.TrainSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "face.PersonGroupClient", "Train", resp, "Failure sending request") + return + } + + result, err = client.TrainResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonGroupClient", "Train", resp, "Failure responding to request") + } + + return +} + +// TrainPreparer prepares the Train request. +func (client PersonGroupClient) TrainPreparer(personGroupID string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + pathParameters := map[string]interface{}{ + "personGroupId": autorest.Encode("path", personGroupID), + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPathParameters("/persongroups/{personGroupId}/train", pathParameters), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// TrainSender sends the Train request. The method will close the +// http.Response Body if it receives an error. +func (client PersonGroupClient) TrainSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// TrainResponder handles the response to the Train request. The method always +// closes the http.Response Body. +func (client PersonGroupClient) TrainResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// Update update an existing person group's display name and userData. The properties which does not appear in request +// body will not be updated. +// +// personGroupID is personGroupId of the person group to be updated. +func (client PersonGroupClient) Update(personGroupID string, body CreatePersonGroupRequest) (result autorest.Response, err error) { + req, err := client.UpdatePreparer(personGroupID, body) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonGroupClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "face.PersonGroupClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "face.PersonGroupClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client PersonGroupClient) UpdatePreparer(personGroupID string, body CreatePersonGroupRequest) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + pathParameters := map[string]interface{}{ + "personGroupId": autorest.Encode("path", personGroupID), + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/face/v1.0", urlParameters), + autorest.WithPathParameters("/persongroups/{personGroupId}", pathParameters), + autorest.WithJSON(body), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client PersonGroupClient) UpdateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client PersonGroupClient) UpdateResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/face/version.go b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/face/version.go new file mode 100644 index 000000000..831113734 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/face/version.go @@ -0,0 +1,28 @@ +package face + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/v11.0.0-beta arm-face/1.0" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return "v11.0.0-beta" +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/textanalytics/client.go b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/textanalytics/client.go new file mode 100644 index 000000000..be978a339 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/textanalytics/client.go @@ -0,0 +1,249 @@ +// Package textanalytics implements the Azure ARM Textanalytics service API version v2.0. +// +// The Text Analytics API is a suite of text analytics web services built with best-in-class Microsoft machine learning +// algorithms. The API can be used to analyze unstructured text for tasks such as sentiment analysis, key phrase +// extraction and language detection. No training data is needed to use this API; just bring your text data. This API +// uses advanced natural language processing techniques to deliver best in class predictions. Further documentation can +// be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview +package textanalytics + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "net/http" +) + +const () + +// ManagementClient is the base client for Textanalytics. +type ManagementClient struct { + autorest.Client + SubscriptionKey string + AzureRegion AzureRegions +} + +// New creates an instance of the ManagementClient client. +func New(subscriptionKey string, azureRegion AzureRegions) ManagementClient { + return NewWithoutDefaults(subscriptionKey, azureRegion) +} + +// NewWithoutDefaults creates an instance of the ManagementClient client. +func NewWithoutDefaults(subscriptionKey string, azureRegion AzureRegions) ManagementClient { + return ManagementClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + SubscriptionKey: subscriptionKey, + AzureRegion: azureRegion, + } +} + +// DetectLanguage scores close to 1 indicate 100% certainty that the identified language is true. A total of 120 +// languages are supported. +// +// input is collection of documents to analyze. numberOfLanguagesToDetect is (Optional. Deprecated) Number of languages +// to detect. Set to 1 by default. Irrespective of the value, the language with the highest score is returned. +func (client ManagementClient) DetectLanguage(input BatchInput, numberOfLanguagesToDetect *int32) (result LanguageBatchResult, err error) { + req, err := client.DetectLanguagePreparer(input, numberOfLanguagesToDetect) + if err != nil { + err = autorest.NewErrorWithError(err, "textanalytics.ManagementClient", "DetectLanguage", nil, "Failure preparing request") + return + } + + resp, err := client.DetectLanguageSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "textanalytics.ManagementClient", "DetectLanguage", resp, "Failure sending request") + return + } + + result, err = client.DetectLanguageResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "textanalytics.ManagementClient", "DetectLanguage", resp, "Failure responding to request") + } + + return +} + +// DetectLanguagePreparer prepares the DetectLanguage request. +func (client ManagementClient) DetectLanguagePreparer(input BatchInput, numberOfLanguagesToDetect *int32) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + queryParameters := map[string]interface{}{} + if numberOfLanguagesToDetect != nil { + queryParameters["numberOfLanguagesToDetect"] = autorest.Encode("query", *numberOfLanguagesToDetect) + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/text/analytics", urlParameters), + autorest.WithPath("/v2.0/languages"), + autorest.WithJSON(input), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// DetectLanguageSender sends the DetectLanguage request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) DetectLanguageSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DetectLanguageResponder handles the response to the DetectLanguage request. The method always +// closes the http.Response Body. +func (client ManagementClient) DetectLanguageResponder(resp *http.Response) (result LanguageBatchResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// KeyPhrases we employ techniques from Microsoft Office's sophisticated Natural Language Processing toolkit. See the +// Text +// Analytics Documentation for details about the languages that are supported by key phrase extraction. +// +// input is collection of documents to analyze. Documents can now contain a language field to indicate the text +// language +func (client ManagementClient) KeyPhrases(input MultiLanguageBatchInput) (result KeyPhraseBatchResult, err error) { + req, err := client.KeyPhrasesPreparer(input) + if err != nil { + err = autorest.NewErrorWithError(err, "textanalytics.ManagementClient", "KeyPhrases", nil, "Failure preparing request") + return + } + + resp, err := client.KeyPhrasesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "textanalytics.ManagementClient", "KeyPhrases", resp, "Failure sending request") + return + } + + result, err = client.KeyPhrasesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "textanalytics.ManagementClient", "KeyPhrases", resp, "Failure responding to request") + } + + return +} + +// KeyPhrasesPreparer prepares the KeyPhrases request. +func (client ManagementClient) KeyPhrasesPreparer(input MultiLanguageBatchInput) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/text/analytics", urlParameters), + autorest.WithPath("/v2.0/keyPhrases"), + autorest.WithJSON(input), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// KeyPhrasesSender sends the KeyPhrases request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) KeyPhrasesSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// KeyPhrasesResponder handles the response to the KeyPhrases request. The method always +// closes the http.Response Body. +func (client ManagementClient) KeyPhrasesResponder(resp *http.Response) (result KeyPhraseBatchResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Sentiment scores close to 1 indicate positive sentiment, while scores close to 0 indicate negative sentiment. +// Sentiment score is generated using classification techniques. The input features to the classifier include n-grams, +// features generated from part-of-speech tags, and word embeddings. See the Text +// Analytics Documentation for details about the languages that are supported by sentiment analysis. +// +// input is collection of documents to analyze. +func (client ManagementClient) Sentiment(input MultiLanguageBatchInput) (result SentimentBatchResult, err error) { + req, err := client.SentimentPreparer(input) + if err != nil { + err = autorest.NewErrorWithError(err, "textanalytics.ManagementClient", "Sentiment", nil, "Failure preparing request") + return + } + + resp, err := client.SentimentSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "textanalytics.ManagementClient", "Sentiment", resp, "Failure sending request") + return + } + + result, err = client.SentimentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "textanalytics.ManagementClient", "Sentiment", resp, "Failure responding to request") + } + + return +} + +// SentimentPreparer prepares the Sentiment request. +func (client ManagementClient) SentimentPreparer(input MultiLanguageBatchInput) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "AzureRegion": client.AzureRegion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/text/analytics", urlParameters), + autorest.WithPath("/v2.0/sentiment"), + autorest.WithJSON(input), + autorest.WithHeader("Ocp-Apim-Subscription-Key", client.SubscriptionKey)) + return preparer.Prepare(&http.Request{}) +} + +// SentimentSender sends the Sentiment request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) SentimentSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// SentimentResponder handles the response to the Sentiment request. The method always +// closes the http.Response Body. +func (client ManagementClient) SentimentResponder(resp *http.Response) (result SentimentBatchResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/textanalytics/models.go b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/textanalytics/models.go new file mode 100644 index 000000000..4ef237371 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/textanalytics/models.go @@ -0,0 +1,128 @@ +package textanalytics + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +// AzureRegions enumerates the values for azure regions. +type AzureRegions string + +const ( + // Eastus2 specifies the eastus 2 state for azure regions. + Eastus2 AzureRegions = "eastus2" + // Southeastasia specifies the southeastasia state for azure regions. + Southeastasia AzureRegions = "southeastasia" + // Westcentralus specifies the westcentralus state for azure regions. + Westcentralus AzureRegions = "westcentralus" + // Westeurope specifies the westeurope state for azure regions. + Westeurope AzureRegions = "westeurope" + // Westus specifies the westus state for azure regions. + Westus AzureRegions = "westus" +) + +// BatchInput is +type BatchInput struct { + Documents *[]Input `json:"documents,omitempty"` +} + +// DetectedLanguage is +type DetectedLanguage struct { + Name *string `json:"name,omitempty"` + Iso6391Name *string `json:"iso6391Name,omitempty"` + Score *float64 `json:"score,omitempty"` +} + +// ErrorRecord is +type ErrorRecord struct { + ID *string `json:"id,omitempty"` + Message *string `json:"message,omitempty"` +} + +// ErrorResponse is +type ErrorResponse struct { + Code *string `json:"code,omitempty"` + Message *string `json:"message,omitempty"` + Target *string `json:"target,omitempty"` + InnerError *InternalError `json:"innerError,omitempty"` +} + +// Input is +type Input struct { + ID *string `json:"id,omitempty"` + Text *string `json:"text,omitempty"` +} + +// InternalError is +type InternalError struct { + Code *string `json:"code,omitempty"` + Message *string `json:"message,omitempty"` + InnerError *InternalError `json:"innerError,omitempty"` +} + +// KeyPhraseBatchResult is +type KeyPhraseBatchResult struct { + autorest.Response `json:"-"` + Documents *[]KeyPhraseBatchResultItem `json:"documents,omitempty"` + Errors *[]ErrorRecord `json:"errors,omitempty"` +} + +// KeyPhraseBatchResultItem is +type KeyPhraseBatchResultItem struct { + KeyPhrases *[]string `json:"keyPhrases,omitempty"` + ID *string `json:"id,omitempty"` +} + +// LanguageBatchResult is +type LanguageBatchResult struct { + autorest.Response `json:"-"` + Documents *[]LanguageBatchResultItem `json:"documents,omitempty"` + Errors *[]ErrorRecord `json:"errors,omitempty"` +} + +// LanguageBatchResultItem is +type LanguageBatchResultItem struct { + ID *string `json:"id,omitempty"` + DetectedLanguages *[]DetectedLanguage `json:"detectedLanguages,omitempty"` +} + +// MultiLanguageBatchInput is +type MultiLanguageBatchInput struct { + Documents *[]MultiLanguageInput `json:"documents,omitempty"` +} + +// MultiLanguageInput is +type MultiLanguageInput struct { + Language *string `json:"language,omitempty"` + ID *string `json:"id,omitempty"` + Text *string `json:"text,omitempty"` +} + +// SentimentBatchResult is +type SentimentBatchResult struct { + autorest.Response `json:"-"` + Documents *[]SentimentBatchResultItem `json:"documents,omitempty"` + Errors *[]ErrorRecord `json:"errors,omitempty"` +} + +// SentimentBatchResultItem is +type SentimentBatchResultItem struct { + Score *float64 `json:"score,omitempty"` + ID *string `json:"id,omitempty"` +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/textanalytics/version.go b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/textanalytics/version.go new file mode 100644 index 000000000..3f50c6645 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/cognitiveservices/textanalytics/version.go @@ -0,0 +1,28 @@ +package textanalytics + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/v11.0.0-beta arm-textanalytics/v2.0" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return "v11.0.0-beta" +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/dataplane/keyvault/client.go b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/keyvault/client.go index c20b4e4c8..00eafa074 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/dataplane/keyvault/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/keyvault/client.go @@ -1,8 +1,6 @@ -// Package keyvault implements the Azure ARM Keyvault service API version -// 2016-10-01. +// Package keyvault implements the Azure ARM Keyvault service API version 2016-10-01. // -// The key vault client performs cryptographic key operations and vault -// operations against the Key Vault service. +// The key vault client performs cryptographic key operations and vault operations against the Key Vault service. package keyvault // Copyright (c) Microsoft and contributors. All rights reserved. @@ -19,9 +17,8 @@ package keyvault // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -49,22 +46,17 @@ func NewWithoutDefaults() ManagementClient { } } -// BackupKey the Key Backup operation exports a key from Azure Key Vault in a -// protected form. Note that this operation does NOT return key material in a -// form that can be used outside the Azure Key Vault system, the returned key -// material is either protected to a Azure Key Vault HSM or to Azure Key Vault -// itself. The intent of this operation is to allow a client to GENERATE a key -// in one Azure Key Vault instance, BACKUP the key, and then RESTORE it into -// another Azure Key Vault instance. The BACKUP operation may be used to -// export, in protected form, any key type from Azure Key Vault. Individual -// versions of a key cannot be backed up. BACKUP / RESTORE can be performed -// within geographical boundaries only; meaning that a BACKUP from one -// geographical area cannot be restored to another geographical area. For -// example, a backup from the US geographical area cannot be restored in an EU -// geographical area. +// BackupKey the Key Backup operation exports a key from Azure Key Vault in a protected form. Note that this operation +// does NOT return key material in a form that can be used outside the Azure Key Vault system, the returned key +// material is either protected to a Azure Key Vault HSM or to Azure Key Vault itself. The intent of this operation is +// to allow a client to GENERATE a key in one Azure Key Vault instance, BACKUP the key, and then RESTORE it into +// another Azure Key Vault instance. The BACKUP operation may be used to export, in protected form, any key type from +// Azure Key Vault. Individual versions of a key cannot be backed up. BACKUP / RESTORE can be performed within +// geographical boundaries only; meaning that a BACKUP from one geographical area cannot be restored to another +// geographical area. For example, a backup from the US geographical area cannot be restored in an EU geographical +// area. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// keyName is the name of the key. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. keyName is the name of the key. func (client ManagementClient) BackupKey(vaultBaseURL string, keyName string) (result BackupKeyResult, err error) { req, err := client.BackupKeyPreparer(vaultBaseURL, keyName) if err != nil { @@ -129,12 +121,78 @@ func (client ManagementClient) BackupKeyResponder(resp *http.Response) (result B return } -// CreateCertificate if this is the first version, the certificate resource is -// created. +// BackupSecret requests that a backup of the specified secret be downloaded to the client. Authorization: requires the +// secrets/backup permission. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// certificateName is the name of the certificate. parameters is the parameters -// to create a certificate. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. secretName is the name of the secret. +func (client ManagementClient) BackupSecret(vaultBaseURL string, secretName string) (result BackupSecretResult, err error) { + req, err := client.BackupSecretPreparer(vaultBaseURL, secretName) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "BackupSecret", nil, "Failure preparing request") + return + } + + resp, err := client.BackupSecretSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "BackupSecret", resp, "Failure sending request") + return + } + + result, err = client.BackupSecretResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "BackupSecret", resp, "Failure responding to request") + } + + return +} + +// BackupSecretPreparer prepares the BackupSecret request. +func (client ManagementClient) BackupSecretPreparer(vaultBaseURL string, secretName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + pathParameters := map[string]interface{}{ + "secret-name": autorest.Encode("path", secretName), + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPathParameters("/secrets/{secret-name}/backup", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// BackupSecretSender sends the BackupSecret request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) BackupSecretSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// BackupSecretResponder handles the response to the BackupSecret request. The method always +// closes the http.Response Body. +func (client ManagementClient) BackupSecretResponder(resp *http.Response) (result BackupSecretResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateCertificate if this is the first version, the certificate resource is created. +// +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. certificateName is the name of the +// certificate. parameters is the parameters to create a certificate. func (client ManagementClient) CreateCertificate(vaultBaseURL string, certificateName string, parameters CertificateCreateParameters) (result CertificateOperation, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: certificateName, @@ -214,13 +272,11 @@ func (client ManagementClient) CreateCertificateResponder(resp *http.Response) ( return } -// CreateKey the create key operation can be used to create any key type in -// Azure Key Vault. If the named key already exists, Azure Key Vault creates a -// new version of the key. +// CreateKey the create key operation can be used to create any key type in Azure Key Vault. If the named key already +// exists, Azure Key Vault creates a new version of the key. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// keyName is the name for the new key. The system will generate the version -// name for the new key. parameters is the parameters to create a key. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. keyName is the name for the new key. +// The system will generate the version name for the new key. parameters is the parameters to create a key. func (client ManagementClient) CreateKey(vaultBaseURL string, keyName string, parameters KeyCreateParameters) (result KeyBundle, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: keyName, @@ -293,17 +349,13 @@ func (client ManagementClient) CreateKeyResponder(resp *http.Response) (result K return } -// Decrypt the DECRYPT operation decrypts a well-formed block of ciphertext -// using the target encryption key and specified algorithm. This operation is -// the reverse of the ENCRYPT operation; only a single block of data may be -// decrypted, the size of this block is dependent on the target key and the -// algorithm to be used. The DECRYPT operation applies to asymmetric and -// symmetric keys stored in Azure Key Vault since it uses the private portion -// of the key. +// Decrypt the DECRYPT operation decrypts a well-formed block of ciphertext using the target encryption key and +// specified algorithm. This operation is the reverse of the ENCRYPT operation; only a single block of data may be +// decrypted, the size of this block is dependent on the target key and the algorithm to be used. The DECRYPT operation +// applies to asymmetric and symmetric keys stored in Azure Key Vault since it uses the private portion of the key. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// keyName is the name of the key. keyVersion is the version of the key. -// parameters is the parameters for the decryption operation. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. keyName is the name of the key. +// keyVersion is the version of the key. parameters is the parameters for the decryption operation. func (client ManagementClient) Decrypt(vaultBaseURL string, keyName string, keyVersion string, parameters KeyOperationsParameters) (result KeyOperationResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -377,13 +429,12 @@ func (client ManagementClient) DecryptResponder(resp *http.Response) (result Key return } -// DeleteCertificate deletes all versions of a certificate object along with -// its associated policy. Delete certificate cannot be used to remove -// individual versions of a certificate object. +// DeleteCertificate deletes all versions of a certificate object along with its associated policy. Delete certificate +// cannot be used to remove individual versions of a certificate object. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// certificateName is the name of the certificate. -func (client ManagementClient) DeleteCertificate(vaultBaseURL string, certificateName string) (result CertificateBundle, err error) { +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. certificateName is the name of the +// certificate. +func (client ManagementClient) DeleteCertificate(vaultBaseURL string, certificateName string) (result DeletedCertificateBundle, err error) { req, err := client.DeleteCertificatePreparer(vaultBaseURL, certificateName) if err != nil { err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "DeleteCertificate", nil, "Failure preparing request") @@ -436,7 +487,7 @@ func (client ManagementClient) DeleteCertificateSender(req *http.Request) (*http // DeleteCertificateResponder handles the response to the DeleteCertificate request. The method always // closes the http.Response Body. -func (client ManagementClient) DeleteCertificateResponder(resp *http.Response) (result CertificateBundle, err error) { +func (client ManagementClient) DeleteCertificateResponder(resp *http.Response) (result DeletedCertificateBundle, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -447,7 +498,8 @@ func (client ManagementClient) DeleteCertificateResponder(resp *http.Response) ( return } -// DeleteCertificateContacts +// DeleteCertificateContacts deletes the certificate contacts for a specified key vault certificate. Authorization: +// requires the certificates/managecontacts permission. // // vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. func (client ManagementClient) DeleteCertificateContacts(vaultBaseURL string) (result Contacts, err error) { @@ -510,10 +562,10 @@ func (client ManagementClient) DeleteCertificateContactsResponder(resp *http.Res return } -// DeleteCertificateIssuer +// DeleteCertificateIssuer the DeleteCertificateIssuer operation permanently removes the specified certificate issuer +// from the vault. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// issuerName is the name of the issuer. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. issuerName is the name of the issuer. func (client ManagementClient) DeleteCertificateIssuer(vaultBaseURL string, issuerName string) (result IssuerBundle, err error) { req, err := client.DeleteCertificateIssuerPreparer(vaultBaseURL, issuerName) if err != nil { @@ -578,10 +630,11 @@ func (client ManagementClient) DeleteCertificateIssuerResponder(resp *http.Respo return } -// DeleteCertificateOperation +// DeleteCertificateOperation deletes the operation for a specified certificate. Authorization: requires the +// certificates/update permission. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// certificateName is the name of the certificate. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. certificateName is the name of the +// certificate. func (client ManagementClient) DeleteCertificateOperation(vaultBaseURL string, certificateName string) (result CertificateOperation, err error) { req, err := client.DeleteCertificateOperationPreparer(vaultBaseURL, certificateName) if err != nil { @@ -646,14 +699,13 @@ func (client ManagementClient) DeleteCertificateOperationResponder(resp *http.Re return } -// DeleteKey the delete key operation cannot be used to remove individual -// versions of a key. This operation removes the cryptographic material -// associated with the key, which means the key is not usable for Sign/Verify, -// Wrap/Unwrap or Encrypt/Decrypt operations. +// DeleteKey the delete key operation cannot be used to remove individual versions of a key. This operation removes the +// cryptographic material associated with the key, which means the key is not usable for Sign/Verify, Wrap/Unwrap or +// Encrypt/Decrypt operations. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// keyName is the name of the key to delete. -func (client ManagementClient) DeleteKey(vaultBaseURL string, keyName string) (result KeyBundle, err error) { +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. keyName is the name of the key to +// delete. +func (client ManagementClient) DeleteKey(vaultBaseURL string, keyName string) (result DeletedKeyBundle, err error) { req, err := client.DeleteKeyPreparer(vaultBaseURL, keyName) if err != nil { err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "DeleteKey", nil, "Failure preparing request") @@ -706,7 +758,7 @@ func (client ManagementClient) DeleteKeySender(req *http.Request) (*http.Respons // DeleteKeyResponder handles the response to the DeleteKey request. The method always // closes the http.Response Body. -func (client ManagementClient) DeleteKeyResponder(resp *http.Response) (result KeyBundle, err error) { +func (client ManagementClient) DeleteKeyResponder(resp *http.Response) (result DeletedKeyBundle, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -717,12 +769,88 @@ func (client ManagementClient) DeleteKeyResponder(resp *http.Response) (result K return } -// DeleteSecret the DELETE operation applies to any secret stored in Azure Key -// Vault. DELETE cannot be applied to an individual version of a secret. +// DeleteSasDefinition deletes a SAS definition from a specified storage account. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// secretName is the name of the secret. -func (client ManagementClient) DeleteSecret(vaultBaseURL string, secretName string) (result SecretBundle, err error) { +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. storageAccountName is the name of the +// storage account. sasDefinitionName is the name of the SAS definition. +func (client ManagementClient) DeleteSasDefinition(vaultBaseURL string, storageAccountName string, sasDefinitionName string) (result SasDefinitionBundle, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: storageAccountName, + Constraints: []validation.Constraint{{Target: "storageAccountName", Name: validation.Pattern, Rule: `^[0-9a-zA-Z]+$`, Chain: nil}}}, + {TargetValue: sasDefinitionName, + Constraints: []validation.Constraint{{Target: "sasDefinitionName", Name: validation.Pattern, Rule: `^[0-9a-zA-Z]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "keyvault.ManagementClient", "DeleteSasDefinition") + } + + req, err := client.DeleteSasDefinitionPreparer(vaultBaseURL, storageAccountName, sasDefinitionName) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "DeleteSasDefinition", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSasDefinitionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "DeleteSasDefinition", resp, "Failure sending request") + return + } + + result, err = client.DeleteSasDefinitionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "DeleteSasDefinition", resp, "Failure responding to request") + } + + return +} + +// DeleteSasDefinitionPreparer prepares the DeleteSasDefinition request. +func (client ManagementClient) DeleteSasDefinitionPreparer(vaultBaseURL string, storageAccountName string, sasDefinitionName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + pathParameters := map[string]interface{}{ + "sas-definition-name": autorest.Encode("path", sasDefinitionName), + "storage-account-name": autorest.Encode("path", storageAccountName), + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPathParameters("/storage/{storage-account-name}/sas/{sas-definition-name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteSasDefinitionSender sends the DeleteSasDefinition request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) DeleteSasDefinitionSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteSasDefinitionResponder handles the response to the DeleteSasDefinition request. The method always +// closes the http.Response Body. +func (client ManagementClient) DeleteSasDefinitionResponder(resp *http.Response) (result SasDefinitionBundle, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DeleteSecret the DELETE operation applies to any secret stored in Azure Key Vault. DELETE cannot be applied to an +// individual version of a secret. +// +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. secretName is the name of the secret. +func (client ManagementClient) DeleteSecret(vaultBaseURL string, secretName string) (result DeletedSecretBundle, err error) { req, err := client.DeleteSecretPreparer(vaultBaseURL, secretName) if err != nil { err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "DeleteSecret", nil, "Failure preparing request") @@ -775,7 +903,7 @@ func (client ManagementClient) DeleteSecretSender(req *http.Request) (*http.Resp // DeleteSecretResponder handles the response to the DeleteSecret request. The method always // closes the http.Response Body. -func (client ManagementClient) DeleteSecretResponder(resp *http.Response) (result SecretBundle, err error) { +func (client ManagementClient) DeleteSecretResponder(resp *http.Response) (result DeletedSecretBundle, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -786,19 +914,89 @@ func (client ManagementClient) DeleteSecretResponder(resp *http.Response) (resul return } -// Encrypt the ENCRYPT operation encrypts an arbitrary sequence of bytes using -// an encryption key that is stored in Azure Key Vault. Note that the ENCRYPT -// operation only supports a single block of data, the size of which is -// dependent on the target key and the encryption algorithm to be used. The -// ENCRYPT operation is only strictly necessary for symmetric keys stored in -// Azure Key Vault since protection with an asymmetric key can be performed -// using public portion of the key. This operation is supported for asymmetric -// keys as a convenience for callers that have a key-reference but do not have -// access to the public key material. +// DeleteStorageAccount deletes a storage account. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// keyName is the name of the key. keyVersion is the version of the key. -// parameters is the parameters for the encryption operation. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. storageAccountName is the name of the +// storage account. +func (client ManagementClient) DeleteStorageAccount(vaultBaseURL string, storageAccountName string) (result StorageBundle, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: storageAccountName, + Constraints: []validation.Constraint{{Target: "storageAccountName", Name: validation.Pattern, Rule: `^[0-9a-zA-Z]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "keyvault.ManagementClient", "DeleteStorageAccount") + } + + req, err := client.DeleteStorageAccountPreparer(vaultBaseURL, storageAccountName) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "DeleteStorageAccount", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteStorageAccountSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "DeleteStorageAccount", resp, "Failure sending request") + return + } + + result, err = client.DeleteStorageAccountResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "DeleteStorageAccount", resp, "Failure responding to request") + } + + return +} + +// DeleteStorageAccountPreparer prepares the DeleteStorageAccount request. +func (client ManagementClient) DeleteStorageAccountPreparer(vaultBaseURL string, storageAccountName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + pathParameters := map[string]interface{}{ + "storage-account-name": autorest.Encode("path", storageAccountName), + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPathParameters("/storage/{storage-account-name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// DeleteStorageAccountSender sends the DeleteStorageAccount request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) DeleteStorageAccountSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// DeleteStorageAccountResponder handles the response to the DeleteStorageAccount request. The method always +// closes the http.Response Body. +func (client ManagementClient) DeleteStorageAccountResponder(resp *http.Response) (result StorageBundle, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Encrypt the ENCRYPT operation encrypts an arbitrary sequence of bytes using an encryption key that is stored in +// Azure Key Vault. Note that the ENCRYPT operation only supports a single block of data, the size of which is +// dependent on the target key and the encryption algorithm to be used. The ENCRYPT operation is only strictly +// necessary for symmetric keys stored in Azure Key Vault since protection with an asymmetric key can be performed +// using public portion of the key. This operation is supported for asymmetric keys as a convenience for callers that +// have a key-reference but do not have access to the public key material. +// +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. keyName is the name of the key. +// keyVersion is the version of the key. parameters is the parameters for the encryption operation. func (client ManagementClient) Encrypt(vaultBaseURL string, keyName string, keyVersion string, parameters KeyOperationsParameters) (result KeyOperationResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -872,12 +1070,11 @@ func (client ManagementClient) EncryptResponder(resp *http.Response) (result Key return } -// GetCertificate the GetCertificate operation returns information about a -// specific certificate in the specified key vault +// GetCertificate gets information about a specified certificate. Authorization: requires the certificates/get +// permission. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// certificateName is the name of the certificate in the given vault. -// certificateVersion is the version of the certificate. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. certificateName is the name of the +// certificate in the given vault. certificateVersion is the version of the certificate. func (client ManagementClient) GetCertificate(vaultBaseURL string, certificateName string, certificateVersion string) (result CertificateBundle, err error) { req, err := client.GetCertificatePreparer(vaultBaseURL, certificateName, certificateVersion) if err != nil { @@ -943,8 +1140,8 @@ func (client ManagementClient) GetCertificateResponder(resp *http.Response) (res return } -// GetCertificateContacts the GetCertificateContacts operation returns the set -// of certificate contact resources in the specified key vault. +// GetCertificateContacts the GetCertificateContacts operation returns the set of certificate contact resources in the +// specified key vault. // // vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. func (client ManagementClient) GetCertificateContacts(vaultBaseURL string) (result Contacts, err error) { @@ -1007,11 +1204,10 @@ func (client ManagementClient) GetCertificateContactsResponder(resp *http.Respon return } -// GetCertificateIssuer the GetCertificateIssuer operation returns the -// specified certificate issuer resources in the specified key vault +// GetCertificateIssuer the GetCertificateIssuer operation returns the specified certificate issuer resources in the +// specified key vault // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// issuerName is the name of the issuer. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. issuerName is the name of the issuer. func (client ManagementClient) GetCertificateIssuer(vaultBaseURL string, issuerName string) (result IssuerBundle, err error) { req, err := client.GetCertificateIssuerPreparer(vaultBaseURL, issuerName) if err != nil { @@ -1076,12 +1272,11 @@ func (client ManagementClient) GetCertificateIssuerResponder(resp *http.Response return } -// GetCertificateIssuers the GetCertificateIssuers operation returns the set of -// certificate issuer resources in the specified key vault +// GetCertificateIssuers the GetCertificateIssuers operation returns the set of certificate issuer resources in the +// specified key vault // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// maxresults is maximum number of results to return in a page. If not -// specified the service will return up to 25 results. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. maxresults is maximum number of results +// to return in a page. If not specified the service will return up to 25 results. func (client ManagementClient) GetCertificateIssuers(vaultBaseURL string, maxresults *int32) (result CertificateIssuerListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: maxresults, @@ -1178,11 +1373,56 @@ func (client ManagementClient) GetCertificateIssuersNextResults(lastResults Cert return } -// GetCertificateOperation the GetCertificateOperation operation returns the -// certificate operation associated with the certificate. +// GetCertificateIssuersComplete gets all elements from the list without paging. +func (client ManagementClient) GetCertificateIssuersComplete(vaultBaseURL string, maxresults *int32, cancel <-chan struct{}) (<-chan CertificateIssuerItem, <-chan error) { + resultChan := make(chan CertificateIssuerItem) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetCertificateIssuers(vaultBaseURL, maxresults) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.GetCertificateIssuersNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// GetCertificateOperation gets the operation associated with a specified certificate. Authorization: requires the +// certificates/get permission. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// certificateName is the name of the certificate. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. certificateName is the name of the +// certificate. func (client ManagementClient) GetCertificateOperation(vaultBaseURL string, certificateName string) (result CertificateOperation, err error) { req, err := client.GetCertificateOperationPreparer(vaultBaseURL, certificateName) if err != nil { @@ -1247,11 +1487,11 @@ func (client ManagementClient) GetCertificateOperationResponder(resp *http.Respo return } -// GetCertificatePolicy the GetCertificatePolicy operation returns the -// specified certificate policy resources in the specified key vault +// GetCertificatePolicy the GetCertificatePolicy operation returns the specified certificate policy resources in the +// specified key vault // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// certificateName is the name of the certificate in a given key vault. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. certificateName is the name of the +// certificate in a given key vault. func (client ManagementClient) GetCertificatePolicy(vaultBaseURL string, certificateName string) (result CertificatePolicy, err error) { req, err := client.GetCertificatePolicyPreparer(vaultBaseURL, certificateName) if err != nil { @@ -1316,12 +1556,10 @@ func (client ManagementClient) GetCertificatePolicyResponder(resp *http.Response return } -// GetCertificates the GetCertificates operation returns the set of -// certificates resources in the specified key vault. +// GetCertificates the GetCertificates operation returns the set of certificates resources in the specified key vault. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// maxresults is maximum number of results to return in a page. If not -// specified the service will return up to 25 results. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. maxresults is maximum number of results +// to return in a page. If not specified the service will return up to 25 results. func (client ManagementClient) GetCertificates(vaultBaseURL string, maxresults *int32) (result CertificateListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: maxresults, @@ -1418,13 +1656,57 @@ func (client ManagementClient) GetCertificatesNextResults(lastResults Certificat return } -// GetCertificateVersions the GetCertificateVersions operation returns the -// versions of a certificate in the specified key vault +// GetCertificatesComplete gets all elements from the list without paging. +func (client ManagementClient) GetCertificatesComplete(vaultBaseURL string, maxresults *int32, cancel <-chan struct{}) (<-chan CertificateItem, <-chan error) { + resultChan := make(chan CertificateItem) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetCertificates(vaultBaseURL, maxresults) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.GetCertificatesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// GetCertificateVersions the GetCertificateVersions operation returns the versions of a certificate in the specified +// key vault // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// certificateName is the name of the certificate. maxresults is maximum number -// of results to return in a page. If not specified the service will return up -// to 25 results. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. certificateName is the name of the +// certificate. maxresults is maximum number of results to return in a page. If not specified the service will return +// up to 25 results. func (client ManagementClient) GetCertificateVersions(vaultBaseURL string, certificateName string, maxresults *int32) (result CertificateListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: maxresults, @@ -1525,13 +1807,697 @@ func (client ManagementClient) GetCertificateVersionsNextResults(lastResults Cer return } -// GetKey the get key operation is applicable to all key types. If the -// requested key is symmetric, then no key material is released in the -// response. +// GetCertificateVersionsComplete gets all elements from the list without paging. +func (client ManagementClient) GetCertificateVersionsComplete(vaultBaseURL string, certificateName string, maxresults *int32, cancel <-chan struct{}) (<-chan CertificateItem, <-chan error) { + resultChan := make(chan CertificateItem) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetCertificateVersions(vaultBaseURL, certificateName, maxresults) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.GetCertificateVersionsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// GetDeletedCertificate the GetDeletedCertificate operation retrieves the deleted certificate information plus its +// attributes, such as retention interval, scheduled permanent deletion and the current deletion recovery level. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// keyName is the name of the key to get. keyVersion is adding the version -// parameter retrieves a specific version of a key. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. certificateName is the name of the +// certificate +func (client ManagementClient) GetDeletedCertificate(vaultBaseURL string, certificateName string) (result DeletedCertificateBundle, err error) { + req, err := client.GetDeletedCertificatePreparer(vaultBaseURL, certificateName) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedCertificate", nil, "Failure preparing request") + return + } + + resp, err := client.GetDeletedCertificateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedCertificate", resp, "Failure sending request") + return + } + + result, err = client.GetDeletedCertificateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedCertificate", resp, "Failure responding to request") + } + + return +} + +// GetDeletedCertificatePreparer prepares the GetDeletedCertificate request. +func (client ManagementClient) GetDeletedCertificatePreparer(vaultBaseURL string, certificateName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + pathParameters := map[string]interface{}{ + "certificate-name": autorest.Encode("path", certificateName), + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPathParameters("/deletedcertificates/{certificate-name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetDeletedCertificateSender sends the GetDeletedCertificate request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) GetDeletedCertificateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetDeletedCertificateResponder handles the response to the GetDeletedCertificate request. The method always +// closes the http.Response Body. +func (client ManagementClient) GetDeletedCertificateResponder(resp *http.Response) (result DeletedCertificateBundle, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetDeletedCertificates the GetDeletedCertificates operation retrieves the certificates in the current vault which +// are in a deleted state and ready for recovery or purging. +// +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. maxresults is maximum number of results +// to return in a page. If not specified the service will return up to 25 results. +func (client ManagementClient) GetDeletedCertificates(vaultBaseURL string, maxresults *int32) (result DeletedCertificateListResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: maxresults, + Constraints: []validation.Constraint{{Target: "maxresults", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "maxresults", Name: validation.InclusiveMaximum, Rule: 25, Chain: nil}, + {Target: "maxresults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "keyvault.ManagementClient", "GetDeletedCertificates") + } + + req, err := client.GetDeletedCertificatesPreparer(vaultBaseURL, maxresults) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedCertificates", nil, "Failure preparing request") + return + } + + resp, err := client.GetDeletedCertificatesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedCertificates", resp, "Failure sending request") + return + } + + result, err = client.GetDeletedCertificatesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedCertificates", resp, "Failure responding to request") + } + + return +} + +// GetDeletedCertificatesPreparer prepares the GetDeletedCertificates request. +func (client ManagementClient) GetDeletedCertificatesPreparer(vaultBaseURL string, maxresults *int32) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if maxresults != nil { + queryParameters["maxresults"] = autorest.Encode("query", *maxresults) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPath("/deletedcertificates"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetDeletedCertificatesSender sends the GetDeletedCertificates request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) GetDeletedCertificatesSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetDeletedCertificatesResponder handles the response to the GetDeletedCertificates request. The method always +// closes the http.Response Body. +func (client ManagementClient) GetDeletedCertificatesResponder(resp *http.Response) (result DeletedCertificateListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetDeletedCertificatesNextResults retrieves the next set of results, if any. +func (client ManagementClient) GetDeletedCertificatesNextResults(lastResults DeletedCertificateListResult) (result DeletedCertificateListResult, err error) { + req, err := lastResults.DeletedCertificateListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedCertificates", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.GetDeletedCertificatesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedCertificates", resp, "Failure sending next results request") + } + + result, err = client.GetDeletedCertificatesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedCertificates", resp, "Failure responding to next results request") + } + + return +} + +// GetDeletedCertificatesComplete gets all elements from the list without paging. +func (client ManagementClient) GetDeletedCertificatesComplete(vaultBaseURL string, maxresults *int32, cancel <-chan struct{}) (<-chan DeletedCertificateItem, <-chan error) { + resultChan := make(chan DeletedCertificateItem) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetDeletedCertificates(vaultBaseURL, maxresults) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.GetDeletedCertificatesNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// GetDeletedKey retrieves the deleted key information plus its attributes. Authorization: Requires the keys/get +// permission. +// +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. keyName is the name of the key +func (client ManagementClient) GetDeletedKey(vaultBaseURL string, keyName string) (result DeletedKeyBundle, err error) { + req, err := client.GetDeletedKeyPreparer(vaultBaseURL, keyName) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedKey", nil, "Failure preparing request") + return + } + + resp, err := client.GetDeletedKeySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedKey", resp, "Failure sending request") + return + } + + result, err = client.GetDeletedKeyResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedKey", resp, "Failure responding to request") + } + + return +} + +// GetDeletedKeyPreparer prepares the GetDeletedKey request. +func (client ManagementClient) GetDeletedKeyPreparer(vaultBaseURL string, keyName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + pathParameters := map[string]interface{}{ + "key-name": autorest.Encode("path", keyName), + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPathParameters("/deletedkeys/{key-name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetDeletedKeySender sends the GetDeletedKey request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) GetDeletedKeySender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetDeletedKeyResponder handles the response to the GetDeletedKey request. The method always +// closes the http.Response Body. +func (client ManagementClient) GetDeletedKeyResponder(resp *http.Response) (result DeletedKeyBundle, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetDeletedKeys list deleted keys in the specified vault. Authorization: Requires the keys/list permission. +// +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. maxresults is maximum number of results +// to return in a page. If not specified the service will return up to 25 results. +func (client ManagementClient) GetDeletedKeys(vaultBaseURL string, maxresults *int32) (result DeletedKeyListResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: maxresults, + Constraints: []validation.Constraint{{Target: "maxresults", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "maxresults", Name: validation.InclusiveMaximum, Rule: 25, Chain: nil}, + {Target: "maxresults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "keyvault.ManagementClient", "GetDeletedKeys") + } + + req, err := client.GetDeletedKeysPreparer(vaultBaseURL, maxresults) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedKeys", nil, "Failure preparing request") + return + } + + resp, err := client.GetDeletedKeysSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedKeys", resp, "Failure sending request") + return + } + + result, err = client.GetDeletedKeysResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedKeys", resp, "Failure responding to request") + } + + return +} + +// GetDeletedKeysPreparer prepares the GetDeletedKeys request. +func (client ManagementClient) GetDeletedKeysPreparer(vaultBaseURL string, maxresults *int32) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if maxresults != nil { + queryParameters["maxresults"] = autorest.Encode("query", *maxresults) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPath("/deletedkeys"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetDeletedKeysSender sends the GetDeletedKeys request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) GetDeletedKeysSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetDeletedKeysResponder handles the response to the GetDeletedKeys request. The method always +// closes the http.Response Body. +func (client ManagementClient) GetDeletedKeysResponder(resp *http.Response) (result DeletedKeyListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetDeletedKeysNextResults retrieves the next set of results, if any. +func (client ManagementClient) GetDeletedKeysNextResults(lastResults DeletedKeyListResult) (result DeletedKeyListResult, err error) { + req, err := lastResults.DeletedKeyListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedKeys", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.GetDeletedKeysSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedKeys", resp, "Failure sending next results request") + } + + result, err = client.GetDeletedKeysResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedKeys", resp, "Failure responding to next results request") + } + + return +} + +// GetDeletedKeysComplete gets all elements from the list without paging. +func (client ManagementClient) GetDeletedKeysComplete(vaultBaseURL string, maxresults *int32, cancel <-chan struct{}) (<-chan DeletedKeyItem, <-chan error) { + resultChan := make(chan DeletedKeyItem) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetDeletedKeys(vaultBaseURL, maxresults) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.GetDeletedKeysNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// GetDeletedSecret retrieves the deleted secret information plus its attributes. Authorization: requires the +// secrets/get permission. +// +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. secretName is the name of the secret +func (client ManagementClient) GetDeletedSecret(vaultBaseURL string, secretName string) (result DeletedSecretBundle, err error) { + req, err := client.GetDeletedSecretPreparer(vaultBaseURL, secretName) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedSecret", nil, "Failure preparing request") + return + } + + resp, err := client.GetDeletedSecretSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedSecret", resp, "Failure sending request") + return + } + + result, err = client.GetDeletedSecretResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedSecret", resp, "Failure responding to request") + } + + return +} + +// GetDeletedSecretPreparer prepares the GetDeletedSecret request. +func (client ManagementClient) GetDeletedSecretPreparer(vaultBaseURL string, secretName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + pathParameters := map[string]interface{}{ + "secret-name": autorest.Encode("path", secretName), + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPathParameters("/deletedsecrets/{secret-name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetDeletedSecretSender sends the GetDeletedSecret request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) GetDeletedSecretSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetDeletedSecretResponder handles the response to the GetDeletedSecret request. The method always +// closes the http.Response Body. +func (client ManagementClient) GetDeletedSecretResponder(resp *http.Response) (result DeletedSecretBundle, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetDeletedSecrets list deleted secrets in the specified vault. Authorization: requires the secrets/list permission. +// +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. maxresults is maximum number of results +// to return in a page. If not specified the service will return up to 25 results. +func (client ManagementClient) GetDeletedSecrets(vaultBaseURL string, maxresults *int32) (result DeletedSecretListResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: maxresults, + Constraints: []validation.Constraint{{Target: "maxresults", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "maxresults", Name: validation.InclusiveMaximum, Rule: 25, Chain: nil}, + {Target: "maxresults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "keyvault.ManagementClient", "GetDeletedSecrets") + } + + req, err := client.GetDeletedSecretsPreparer(vaultBaseURL, maxresults) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedSecrets", nil, "Failure preparing request") + return + } + + resp, err := client.GetDeletedSecretsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedSecrets", resp, "Failure sending request") + return + } + + result, err = client.GetDeletedSecretsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedSecrets", resp, "Failure responding to request") + } + + return +} + +// GetDeletedSecretsPreparer prepares the GetDeletedSecrets request. +func (client ManagementClient) GetDeletedSecretsPreparer(vaultBaseURL string, maxresults *int32) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if maxresults != nil { + queryParameters["maxresults"] = autorest.Encode("query", *maxresults) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPath("/deletedsecrets"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetDeletedSecretsSender sends the GetDeletedSecrets request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) GetDeletedSecretsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetDeletedSecretsResponder handles the response to the GetDeletedSecrets request. The method always +// closes the http.Response Body. +func (client ManagementClient) GetDeletedSecretsResponder(resp *http.Response) (result DeletedSecretListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetDeletedSecretsNextResults retrieves the next set of results, if any. +func (client ManagementClient) GetDeletedSecretsNextResults(lastResults DeletedSecretListResult) (result DeletedSecretListResult, err error) { + req, err := lastResults.DeletedSecretListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedSecrets", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.GetDeletedSecretsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedSecrets", resp, "Failure sending next results request") + } + + result, err = client.GetDeletedSecretsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetDeletedSecrets", resp, "Failure responding to next results request") + } + + return +} + +// GetDeletedSecretsComplete gets all elements from the list without paging. +func (client ManagementClient) GetDeletedSecretsComplete(vaultBaseURL string, maxresults *int32, cancel <-chan struct{}) (<-chan DeletedSecretItem, <-chan error) { + resultChan := make(chan DeletedSecretItem) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetDeletedSecrets(vaultBaseURL, maxresults) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.GetDeletedSecretsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// GetKey the get key operation is applicable to all key types. If the requested key is symmetric, then no key material +// is released in the response. +// +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. keyName is the name of the key to get. +// keyVersion is adding the version parameter retrieves a specific version of a key. func (client ManagementClient) GetKey(vaultBaseURL string, keyName string, keyVersion string) (result KeyBundle, err error) { req, err := client.GetKeyPreparer(vaultBaseURL, keyName, keyVersion) if err != nil { @@ -1597,16 +2563,13 @@ func (client ManagementClient) GetKeyResponder(resp *http.Response) (result KeyB return } -// GetKeys retrieves a list of the keys in the Key Vault as JSON Web Key -// structures that contain the public part of a stored key. The LIST operation -// is applicable to all key types, however only the base key -// identifier,attributes, and tags are provided in the response. Individual -// versions of a key are not listed in the response. Authorization: Requires -// the keys/list permission. +// GetKeys retrieves a list of the keys in the Key Vault as JSON Web Key structures that contain the public part of a +// stored key. The LIST operation is applicable to all key types, however only the base key identifier,attributes, and +// tags are provided in the response. Individual versions of a key are not listed in the response. Authorization: +// Requires the keys/list permission. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// maxresults is maximum number of results to return in a page. If not -// specified the service will return up to 25 results. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. maxresults is maximum number of results +// to return in a page. If not specified the service will return up to 25 results. func (client ManagementClient) GetKeys(vaultBaseURL string, maxresults *int32) (result KeyListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: maxresults, @@ -1703,12 +2666,56 @@ func (client ManagementClient) GetKeysNextResults(lastResults KeyListResult) (re return } -// GetKeyVersions the full key identifier, attributes, and tags are provided in -// the response. +// GetKeysComplete gets all elements from the list without paging. +func (client ManagementClient) GetKeysComplete(vaultBaseURL string, maxresults *int32, cancel <-chan struct{}) (<-chan KeyItem, <-chan error) { + resultChan := make(chan KeyItem) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetKeys(vaultBaseURL, maxresults) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.GetKeysNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// GetKeyVersions the full key identifier, attributes, and tags are provided in the response. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// keyName is the name of the key. maxresults is maximum number of results to -// return in a page. If not specified the service will return up to 25 results. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. keyName is the name of the key. +// maxresults is maximum number of results to return in a page. If not specified the service will return up to 25 +// results. func (client ManagementClient) GetKeyVersions(vaultBaseURL string, keyName string, maxresults *int32) (result KeyListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: maxresults, @@ -1809,12 +2816,284 @@ func (client ManagementClient) GetKeyVersionsNextResults(lastResults KeyListResu return } -// GetSecret the GET operation is applicable to any secret stored in Azure Key -// Vault. +// GetKeyVersionsComplete gets all elements from the list without paging. +func (client ManagementClient) GetKeyVersionsComplete(vaultBaseURL string, keyName string, maxresults *int32, cancel <-chan struct{}) (<-chan KeyItem, <-chan error) { + resultChan := make(chan KeyItem) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetKeyVersions(vaultBaseURL, keyName, maxresults) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.GetKeyVersionsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// GetSasDefinition gets information about a SAS definition for the specified storage account. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// secretName is the name of the secret. secretVersion is the version of the -// secret. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. storageAccountName is the name of the +// storage account. sasDefinitionName is the name of the SAS definition. +func (client ManagementClient) GetSasDefinition(vaultBaseURL string, storageAccountName string, sasDefinitionName string) (result SasDefinitionBundle, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: storageAccountName, + Constraints: []validation.Constraint{{Target: "storageAccountName", Name: validation.Pattern, Rule: `^[0-9a-zA-Z]+$`, Chain: nil}}}, + {TargetValue: sasDefinitionName, + Constraints: []validation.Constraint{{Target: "sasDefinitionName", Name: validation.Pattern, Rule: `^[0-9a-zA-Z]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "keyvault.ManagementClient", "GetSasDefinition") + } + + req, err := client.GetSasDefinitionPreparer(vaultBaseURL, storageAccountName, sasDefinitionName) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetSasDefinition", nil, "Failure preparing request") + return + } + + resp, err := client.GetSasDefinitionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetSasDefinition", resp, "Failure sending request") + return + } + + result, err = client.GetSasDefinitionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetSasDefinition", resp, "Failure responding to request") + } + + return +} + +// GetSasDefinitionPreparer prepares the GetSasDefinition request. +func (client ManagementClient) GetSasDefinitionPreparer(vaultBaseURL string, storageAccountName string, sasDefinitionName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + pathParameters := map[string]interface{}{ + "sas-definition-name": autorest.Encode("path", sasDefinitionName), + "storage-account-name": autorest.Encode("path", storageAccountName), + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPathParameters("/storage/{storage-account-name}/sas/{sas-definition-name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSasDefinitionSender sends the GetSasDefinition request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) GetSasDefinitionSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetSasDefinitionResponder handles the response to the GetSasDefinition request. The method always +// closes the http.Response Body. +func (client ManagementClient) GetSasDefinitionResponder(resp *http.Response) (result SasDefinitionBundle, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSasDefinitions list storage SAS definitions for the given storage account. +// +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. storageAccountName is the name of the +// storage account. maxresults is maximum number of results to return in a page. If not specified the service will +// return up to 25 results. +func (client ManagementClient) GetSasDefinitions(vaultBaseURL string, storageAccountName string, maxresults *int32) (result SasDefinitionListResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: storageAccountName, + Constraints: []validation.Constraint{{Target: "storageAccountName", Name: validation.Pattern, Rule: `^[0-9a-zA-Z]+$`, Chain: nil}}}, + {TargetValue: maxresults, + Constraints: []validation.Constraint{{Target: "maxresults", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "maxresults", Name: validation.InclusiveMaximum, Rule: 25, Chain: nil}, + {Target: "maxresults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "keyvault.ManagementClient", "GetSasDefinitions") + } + + req, err := client.GetSasDefinitionsPreparer(vaultBaseURL, storageAccountName, maxresults) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetSasDefinitions", nil, "Failure preparing request") + return + } + + resp, err := client.GetSasDefinitionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetSasDefinitions", resp, "Failure sending request") + return + } + + result, err = client.GetSasDefinitionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetSasDefinitions", resp, "Failure responding to request") + } + + return +} + +// GetSasDefinitionsPreparer prepares the GetSasDefinitions request. +func (client ManagementClient) GetSasDefinitionsPreparer(vaultBaseURL string, storageAccountName string, maxresults *int32) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + pathParameters := map[string]interface{}{ + "storage-account-name": autorest.Encode("path", storageAccountName), + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if maxresults != nil { + queryParameters["maxresults"] = autorest.Encode("query", *maxresults) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPathParameters("/storage/{storage-account-name}/sas", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetSasDefinitionsSender sends the GetSasDefinitions request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) GetSasDefinitionsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetSasDefinitionsResponder handles the response to the GetSasDefinitions request. The method always +// closes the http.Response Body. +func (client ManagementClient) GetSasDefinitionsResponder(resp *http.Response) (result SasDefinitionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSasDefinitionsNextResults retrieves the next set of results, if any. +func (client ManagementClient) GetSasDefinitionsNextResults(lastResults SasDefinitionListResult) (result SasDefinitionListResult, err error) { + req, err := lastResults.SasDefinitionListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetSasDefinitions", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.GetSasDefinitionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetSasDefinitions", resp, "Failure sending next results request") + } + + result, err = client.GetSasDefinitionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetSasDefinitions", resp, "Failure responding to next results request") + } + + return +} + +// GetSasDefinitionsComplete gets all elements from the list without paging. +func (client ManagementClient) GetSasDefinitionsComplete(vaultBaseURL string, storageAccountName string, maxresults *int32, cancel <-chan struct{}) (<-chan SasDefinitionItem, <-chan error) { + resultChan := make(chan SasDefinitionItem) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetSasDefinitions(vaultBaseURL, storageAccountName, maxresults) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.GetSasDefinitionsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// GetSecret the GET operation is applicable to any secret stored in Azure Key Vault. +// +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. secretName is the name of the secret. +// secretVersion is the version of the secret. func (client ManagementClient) GetSecret(vaultBaseURL string, secretName string, secretVersion string) (result SecretBundle, err error) { req, err := client.GetSecretPreparer(vaultBaseURL, secretName, secretVersion) if err != nil { @@ -1880,13 +3159,11 @@ func (client ManagementClient) GetSecretResponder(resp *http.Response) (result S return } -// GetSecrets the LIST operation is applicable to the entire vault, however -// only the base secret identifier and attributes are provided in the response. -// Individual secret versions are not listed in the response. +// GetSecrets the LIST operation is applicable to the entire vault, however only the base secret identifier and +// attributes are provided in the response. Individual secret versions are not listed in the response. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// maxresults is maximum number of results to return in a page. If not -// specified the service will return up to 25 results. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. maxresults is maximum number of results +// to return in a page. If not specified the service will return up to 25 results. func (client ManagementClient) GetSecrets(vaultBaseURL string, maxresults *int32) (result SecretListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: maxresults, @@ -1983,15 +3260,58 @@ func (client ManagementClient) GetSecretsNextResults(lastResults SecretListResul return } -// GetSecretVersions the LIST VERSIONS operation can be applied to all versions -// having the same secret name in the same key vault. The full secret -// identifier and attributes are provided in the response. No values are -// returned for the secrets and only current versions of a secret are listed. +// GetSecretsComplete gets all elements from the list without paging. +func (client ManagementClient) GetSecretsComplete(vaultBaseURL string, maxresults *int32, cancel <-chan struct{}) (<-chan SecretItem, <-chan error) { + resultChan := make(chan SecretItem) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetSecrets(vaultBaseURL, maxresults) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.GetSecretsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// GetSecretVersions the LIST VERSIONS operation can be applied to all versions having the same secret name in the same +// key vault. The full secret identifier and attributes are provided in the response. No values are returned for the +// secrets and only current versions of a secret are listed. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// secretName is the name of the secret. maxresults is maximum number of -// results to return in a page. If not specified the service will return up to -// 25 results. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. secretName is the name of the secret. +// maxresults is maximum number of results to return in a page. If not specified the service will return up to 25 +// results. func (client ManagementClient) GetSecretVersions(vaultBaseURL string, secretName string, maxresults *int32) (result SecretListResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: maxresults, @@ -2092,14 +3412,276 @@ func (client ManagementClient) GetSecretVersionsNextResults(lastResults SecretLi return } -// ImportCertificate imports an existing valid certificate, containing a -// private key, into Azure Key Vault. The certificate to be imported can be in -// either PFX or PEM format. If the certificate is in PEM format the PEM file -// must contain the key as well as x509 certificates. +// GetSecretVersionsComplete gets all elements from the list without paging. +func (client ManagementClient) GetSecretVersionsComplete(vaultBaseURL string, secretName string, maxresults *int32, cancel <-chan struct{}) (<-chan SecretItem, <-chan error) { + resultChan := make(chan SecretItem) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetSecretVersions(vaultBaseURL, secretName, maxresults) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.GetSecretVersionsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// GetStorageAccount gets information about a specified storage account. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// certificateName is the name of the certificate. parameters is the parameters -// to import the certificate. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. storageAccountName is the name of the +// storage account. +func (client ManagementClient) GetStorageAccount(vaultBaseURL string, storageAccountName string) (result StorageBundle, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: storageAccountName, + Constraints: []validation.Constraint{{Target: "storageAccountName", Name: validation.Pattern, Rule: `^[0-9a-zA-Z]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "keyvault.ManagementClient", "GetStorageAccount") + } + + req, err := client.GetStorageAccountPreparer(vaultBaseURL, storageAccountName) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetStorageAccount", nil, "Failure preparing request") + return + } + + resp, err := client.GetStorageAccountSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetStorageAccount", resp, "Failure sending request") + return + } + + result, err = client.GetStorageAccountResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetStorageAccount", resp, "Failure responding to request") + } + + return +} + +// GetStorageAccountPreparer prepares the GetStorageAccount request. +func (client ManagementClient) GetStorageAccountPreparer(vaultBaseURL string, storageAccountName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + pathParameters := map[string]interface{}{ + "storage-account-name": autorest.Encode("path", storageAccountName), + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPathParameters("/storage/{storage-account-name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetStorageAccountSender sends the GetStorageAccount request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) GetStorageAccountSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetStorageAccountResponder handles the response to the GetStorageAccount request. The method always +// closes the http.Response Body. +func (client ManagementClient) GetStorageAccountResponder(resp *http.Response) (result StorageBundle, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetStorageAccounts list storage accounts managed by specified key vault +// +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. maxresults is maximum number of results +// to return in a page. If not specified the service will return up to 25 results. +func (client ManagementClient) GetStorageAccounts(vaultBaseURL string, maxresults *int32) (result StorageListResult, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: maxresults, + Constraints: []validation.Constraint{{Target: "maxresults", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "maxresults", Name: validation.InclusiveMaximum, Rule: 25, Chain: nil}, + {Target: "maxresults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "keyvault.ManagementClient", "GetStorageAccounts") + } + + req, err := client.GetStorageAccountsPreparer(vaultBaseURL, maxresults) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetStorageAccounts", nil, "Failure preparing request") + return + } + + resp, err := client.GetStorageAccountsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetStorageAccounts", resp, "Failure sending request") + return + } + + result, err = client.GetStorageAccountsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetStorageAccounts", resp, "Failure responding to request") + } + + return +} + +// GetStorageAccountsPreparer prepares the GetStorageAccounts request. +func (client ManagementClient) GetStorageAccountsPreparer(vaultBaseURL string, maxresults *int32) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if maxresults != nil { + queryParameters["maxresults"] = autorest.Encode("query", *maxresults) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPath("/storage"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// GetStorageAccountsSender sends the GetStorageAccounts request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) GetStorageAccountsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// GetStorageAccountsResponder handles the response to the GetStorageAccounts request. The method always +// closes the http.Response Body. +func (client ManagementClient) GetStorageAccountsResponder(resp *http.Response) (result StorageListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetStorageAccountsNextResults retrieves the next set of results, if any. +func (client ManagementClient) GetStorageAccountsNextResults(lastResults StorageListResult) (result StorageListResult, err error) { + req, err := lastResults.StorageListResultPreparer() + if err != nil { + return result, autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetStorageAccounts", nil, "Failure preparing next results request") + } + if req == nil { + return + } + + resp, err := client.GetStorageAccountsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetStorageAccounts", resp, "Failure sending next results request") + } + + result, err = client.GetStorageAccountsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "GetStorageAccounts", resp, "Failure responding to next results request") + } + + return +} + +// GetStorageAccountsComplete gets all elements from the list without paging. +func (client ManagementClient) GetStorageAccountsComplete(vaultBaseURL string, maxresults *int32, cancel <-chan struct{}) (<-chan StorageAccountItem, <-chan error) { + resultChan := make(chan StorageAccountItem) + errChan := make(chan error, 1) + go func() { + defer func() { + close(resultChan) + close(errChan) + }() + list, err := client.GetStorageAccounts(vaultBaseURL, maxresults) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + for list.NextLink != nil { + list, err = client.GetStorageAccountsNextResults(list) + if err != nil { + errChan <- err + return + } + if list.Value != nil { + for _, item := range *list.Value { + select { + case <-cancel: + return + case resultChan <- item: + // Intentionally left blank + } + } + } + } + }() + return resultChan, errChan +} + +// ImportCertificate imports an existing valid certificate, containing a private key, into Azure Key Vault. The +// certificate to be imported can be in either PFX or PEM format. If the certificate is in PEM format the PEM file must +// contain the key as well as x509 certificates. +// +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. certificateName is the name of the +// certificate. parameters is the parameters to import the certificate. func (client ManagementClient) ImportCertificate(vaultBaseURL string, certificateName string, parameters CertificateImportParameters) (result CertificateBundle, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: certificateName, @@ -2180,13 +3762,11 @@ func (client ManagementClient) ImportCertificateResponder(resp *http.Response) ( return } -// ImportKey the import key operation may be used to import any key type into -// an Azure Key Vault. If the named key already exists, Azure Key Vault creates -// a new version of the key. +// ImportKey the import key operation may be used to import any key type into an Azure Key Vault. If the named key +// already exists, Azure Key Vault creates a new version of the key. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// keyName is name for the imported key. parameters is the parameters to import -// a key. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. keyName is name for the imported key. +// parameters is the parameters to import a key. func (client ManagementClient) ImportKey(vaultBaseURL string, keyName string, parameters KeyImportParameters) (result KeyBundle, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: keyName, @@ -2261,11 +3841,11 @@ func (client ManagementClient) ImportKeyResponder(resp *http.Response) (result K return } -// MergeCertificate +// MergeCertificate the MergeCertificate operation performs the merging of a certificate or certificate chain with a +// key pair currently available in the service. Authorization: requires the certificates/update permission. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// certificateName is the name of the certificate. parameters is the parameters -// to merge certificate. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. certificateName is the name of the +// certificate. parameters is the parameters to merge certificate. func (client ManagementClient) MergeCertificate(vaultBaseURL string, certificateName string, parameters CertificateMergeParameters) (result CertificateBundle, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -2338,21 +3918,505 @@ func (client ManagementClient) MergeCertificateResponder(resp *http.Response) (r return } -// RestoreKey imports a previously backed up key into Azure Key Vault, -// restoring the key, its key identifier, attributes and access control -// policies. The RESTORE operation may be used to import a previously backed up -// key. Individual versions of a key cannot be restored. The key is restored in -// its entirety with the same key name as it had when it was backed up. If the -// key name is not available in the target Key Vault, the RESTORE operation -// will be rejected. While the key name is retained during restore, the final -// key identifier will change if the key is restored to a different vault. -// Restore will restore all versions and preserve version identifiers. The -// RESTORE operation is subject to security constraints: The target Key Vault -// must be owned by the same Microsoft Azure Subscription as the source Key -// Vault The user must have RESTORE permission in the target Key Vault. +// PurgeDeletedCertificate the PurgeDeletedCertificate operation performs an irreversible deletion of the specified +// certificate, without possibility for recovery. The operation is not available if the recovery level does not specify +// 'Purgeable'. Requires the explicit granting of the 'purge' permission. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// parameters is the parameters to restore the key. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. certificateName is the name of the +// certificate +func (client ManagementClient) PurgeDeletedCertificate(vaultBaseURL string, certificateName string) (result autorest.Response, err error) { + req, err := client.PurgeDeletedCertificatePreparer(vaultBaseURL, certificateName) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "PurgeDeletedCertificate", nil, "Failure preparing request") + return + } + + resp, err := client.PurgeDeletedCertificateSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "PurgeDeletedCertificate", resp, "Failure sending request") + return + } + + result, err = client.PurgeDeletedCertificateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "PurgeDeletedCertificate", resp, "Failure responding to request") + } + + return +} + +// PurgeDeletedCertificatePreparer prepares the PurgeDeletedCertificate request. +func (client ManagementClient) PurgeDeletedCertificatePreparer(vaultBaseURL string, certificateName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + pathParameters := map[string]interface{}{ + "certificate-name": autorest.Encode("path", certificateName), + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPathParameters("/deletedcertificates/{certificate-name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// PurgeDeletedCertificateSender sends the PurgeDeletedCertificate request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) PurgeDeletedCertificateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// PurgeDeletedCertificateResponder handles the response to the PurgeDeletedCertificate request. The method always +// closes the http.Response Body. +func (client ManagementClient) PurgeDeletedCertificateResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// PurgeDeletedKey permanently deletes the specified key. aka purges the key. Authorization: Requires the keys/purge +// permission. +// +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. keyName is the name of the key +func (client ManagementClient) PurgeDeletedKey(vaultBaseURL string, keyName string) (result autorest.Response, err error) { + req, err := client.PurgeDeletedKeyPreparer(vaultBaseURL, keyName) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "PurgeDeletedKey", nil, "Failure preparing request") + return + } + + resp, err := client.PurgeDeletedKeySender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "PurgeDeletedKey", resp, "Failure sending request") + return + } + + result, err = client.PurgeDeletedKeyResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "PurgeDeletedKey", resp, "Failure responding to request") + } + + return +} + +// PurgeDeletedKeyPreparer prepares the PurgeDeletedKey request. +func (client ManagementClient) PurgeDeletedKeyPreparer(vaultBaseURL string, keyName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + pathParameters := map[string]interface{}{ + "key-name": autorest.Encode("path", keyName), + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPathParameters("/deletedkeys/{key-name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// PurgeDeletedKeySender sends the PurgeDeletedKey request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) PurgeDeletedKeySender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// PurgeDeletedKeyResponder handles the response to the PurgeDeletedKey request. The method always +// closes the http.Response Body. +func (client ManagementClient) PurgeDeletedKeyResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// PurgeDeletedSecret permanently deletes the specified secret. aka purges the secret. Authorization: requires the +// secrets/purge permission. +// +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. secretName is the name of the secret +func (client ManagementClient) PurgeDeletedSecret(vaultBaseURL string, secretName string) (result autorest.Response, err error) { + req, err := client.PurgeDeletedSecretPreparer(vaultBaseURL, secretName) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "PurgeDeletedSecret", nil, "Failure preparing request") + return + } + + resp, err := client.PurgeDeletedSecretSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "PurgeDeletedSecret", resp, "Failure sending request") + return + } + + result, err = client.PurgeDeletedSecretResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "PurgeDeletedSecret", resp, "Failure responding to request") + } + + return +} + +// PurgeDeletedSecretPreparer prepares the PurgeDeletedSecret request. +func (client ManagementClient) PurgeDeletedSecretPreparer(vaultBaseURL string, secretName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + pathParameters := map[string]interface{}{ + "secret-name": autorest.Encode("path", secretName), + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPathParameters("/deletedsecrets/{secret-name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// PurgeDeletedSecretSender sends the PurgeDeletedSecret request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) PurgeDeletedSecretSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// PurgeDeletedSecretResponder handles the response to the PurgeDeletedSecret request. The method always +// closes the http.Response Body. +func (client ManagementClient) PurgeDeletedSecretResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// RecoverDeletedCertificate the RecoverDeletedCertificate operation performs the reversal of the Delete operation. The +// operation is applicable in vaults enabled for soft-delete, and must be issued during the retention interval +// (available in the deleted certificate's attributes). +// +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. certificateName is the name of the +// deleted certificate +func (client ManagementClient) RecoverDeletedCertificate(vaultBaseURL string, certificateName string) (result CertificateBundle, err error) { + req, err := client.RecoverDeletedCertificatePreparer(vaultBaseURL, certificateName) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "RecoverDeletedCertificate", nil, "Failure preparing request") + return + } + + resp, err := client.RecoverDeletedCertificateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "RecoverDeletedCertificate", resp, "Failure sending request") + return + } + + result, err = client.RecoverDeletedCertificateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "RecoverDeletedCertificate", resp, "Failure responding to request") + } + + return +} + +// RecoverDeletedCertificatePreparer prepares the RecoverDeletedCertificate request. +func (client ManagementClient) RecoverDeletedCertificatePreparer(vaultBaseURL string, certificateName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + pathParameters := map[string]interface{}{ + "certificate-name": autorest.Encode("path", certificateName), + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPathParameters("/deletedcertificates/{certificate-name}/recover", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// RecoverDeletedCertificateSender sends the RecoverDeletedCertificate request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) RecoverDeletedCertificateSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// RecoverDeletedCertificateResponder handles the response to the RecoverDeletedCertificate request. The method always +// closes the http.Response Body. +func (client ManagementClient) RecoverDeletedCertificateResponder(resp *http.Response) (result CertificateBundle, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// RecoverDeletedKey recovers the deleted key back to its current version under /keys. Authorization: Requires the +// keys/recover permission. +// +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. keyName is the name of the deleted key +func (client ManagementClient) RecoverDeletedKey(vaultBaseURL string, keyName string) (result KeyBundle, err error) { + req, err := client.RecoverDeletedKeyPreparer(vaultBaseURL, keyName) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "RecoverDeletedKey", nil, "Failure preparing request") + return + } + + resp, err := client.RecoverDeletedKeySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "RecoverDeletedKey", resp, "Failure sending request") + return + } + + result, err = client.RecoverDeletedKeyResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "RecoverDeletedKey", resp, "Failure responding to request") + } + + return +} + +// RecoverDeletedKeyPreparer prepares the RecoverDeletedKey request. +func (client ManagementClient) RecoverDeletedKeyPreparer(vaultBaseURL string, keyName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + pathParameters := map[string]interface{}{ + "key-name": autorest.Encode("path", keyName), + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPathParameters("/deletedkeys/{key-name}/recover", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// RecoverDeletedKeySender sends the RecoverDeletedKey request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) RecoverDeletedKeySender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// RecoverDeletedKeyResponder handles the response to the RecoverDeletedKey request. The method always +// closes the http.Response Body. +func (client ManagementClient) RecoverDeletedKeyResponder(resp *http.Response) (result KeyBundle, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// RecoverDeletedSecret recovers the deleted secret back to its current version under /secrets. Authorization: requires +// the secrets/recover permission. +// +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. secretName is the name of the deleted +// secret +func (client ManagementClient) RecoverDeletedSecret(vaultBaseURL string, secretName string) (result SecretBundle, err error) { + req, err := client.RecoverDeletedSecretPreparer(vaultBaseURL, secretName) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "RecoverDeletedSecret", nil, "Failure preparing request") + return + } + + resp, err := client.RecoverDeletedSecretSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "RecoverDeletedSecret", resp, "Failure sending request") + return + } + + result, err = client.RecoverDeletedSecretResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "RecoverDeletedSecret", resp, "Failure responding to request") + } + + return +} + +// RecoverDeletedSecretPreparer prepares the RecoverDeletedSecret request. +func (client ManagementClient) RecoverDeletedSecretPreparer(vaultBaseURL string, secretName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + pathParameters := map[string]interface{}{ + "secret-name": autorest.Encode("path", secretName), + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPathParameters("/deletedsecrets/{secret-name}/recover", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// RecoverDeletedSecretSender sends the RecoverDeletedSecret request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) RecoverDeletedSecretSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// RecoverDeletedSecretResponder handles the response to the RecoverDeletedSecret request. The method always +// closes the http.Response Body. +func (client ManagementClient) RecoverDeletedSecretResponder(resp *http.Response) (result SecretBundle, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// RegenerateStorageAccountKey regenerates the specified key value for the given storage account. +// +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. storageAccountName is the name of the +// storage account. parameters is the parameters to regenerate storage account key. +func (client ManagementClient) RegenerateStorageAccountKey(vaultBaseURL string, storageAccountName string, parameters StorageAccountRegenerteKeyParameters) (result StorageBundle, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: storageAccountName, + Constraints: []validation.Constraint{{Target: "storageAccountName", Name: validation.Pattern, Rule: `^[0-9a-zA-Z]+$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.KeyName", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "keyvault.ManagementClient", "RegenerateStorageAccountKey") + } + + req, err := client.RegenerateStorageAccountKeyPreparer(vaultBaseURL, storageAccountName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "RegenerateStorageAccountKey", nil, "Failure preparing request") + return + } + + resp, err := client.RegenerateStorageAccountKeySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "RegenerateStorageAccountKey", resp, "Failure sending request") + return + } + + result, err = client.RegenerateStorageAccountKeyResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "RegenerateStorageAccountKey", resp, "Failure responding to request") + } + + return +} + +// RegenerateStorageAccountKeyPreparer prepares the RegenerateStorageAccountKey request. +func (client ManagementClient) RegenerateStorageAccountKeyPreparer(vaultBaseURL string, storageAccountName string, parameters StorageAccountRegenerteKeyParameters) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + pathParameters := map[string]interface{}{ + "storage-account-name": autorest.Encode("path", storageAccountName), + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPathParameters("/storage/{storage-account-name}/regeneratekey", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// RegenerateStorageAccountKeySender sends the RegenerateStorageAccountKey request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) RegenerateStorageAccountKeySender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// RegenerateStorageAccountKeyResponder handles the response to the RegenerateStorageAccountKey request. The method always +// closes the http.Response Body. +func (client ManagementClient) RegenerateStorageAccountKeyResponder(resp *http.Response) (result StorageBundle, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// RestoreKey imports a previously backed up key into Azure Key Vault, restoring the key, its key identifier, +// attributes and access control policies. The RESTORE operation may be used to import a previously backed up key. +// Individual versions of a key cannot be restored. The key is restored in its entirety with the same key name as it +// had when it was backed up. If the key name is not available in the target Key Vault, the RESTORE operation will be +// rejected. While the key name is retained during restore, the final key identifier will change if the key is restored +// to a different vault. Restore will restore all versions and preserve version identifiers. The RESTORE operation is +// subject to security constraints: The target Key Vault must be owned by the same Microsoft Azure Subscription as the +// source Key Vault The user must have RESTORE permission in the target Key Vault. +// +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. parameters is the parameters to restore +// the key. func (client ManagementClient) RestoreKey(vaultBaseURL string, parameters KeyRestoreParameters) (result KeyBundle, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -2421,10 +4485,83 @@ func (client ManagementClient) RestoreKeyResponder(resp *http.Response) (result return } -// SetCertificateContacts +// RestoreSecret restores a backed up secret to a vault. Authorization: requires the secrets/restore permission. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// contacts is the contacts for the key vault certificate. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. parameters is the parameters to restore +// the secret. +func (client ManagementClient) RestoreSecret(vaultBaseURL string, parameters SecretRestoreParameters) (result SecretBundle, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.SecretBundleBackup", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "keyvault.ManagementClient", "RestoreSecret") + } + + req, err := client.RestoreSecretPreparer(vaultBaseURL, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "RestoreSecret", nil, "Failure preparing request") + return + } + + resp, err := client.RestoreSecretSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "RestoreSecret", resp, "Failure sending request") + return + } + + result, err = client.RestoreSecretResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "RestoreSecret", resp, "Failure responding to request") + } + + return +} + +// RestoreSecretPreparer prepares the RestoreSecret request. +func (client ManagementClient) RestoreSecretPreparer(vaultBaseURL string, parameters SecretRestoreParameters) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPost(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPath("/secrets/restore"), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// RestoreSecretSender sends the RestoreSecret request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) RestoreSecretSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// RestoreSecretResponder handles the response to the RestoreSecret request. The method always +// closes the http.Response Body. +func (client ManagementClient) RestoreSecretResponder(resp *http.Response) (result SecretBundle, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// SetCertificateContacts sets the certificate contacts for the specified key vault. Authorization: requires the +// certificates/managecontacts permission. +// +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. contacts is the contacts for the key +// vault certificate. func (client ManagementClient) SetCertificateContacts(vaultBaseURL string, contacts Contacts) (result Contacts, err error) { req, err := client.SetCertificateContactsPreparer(vaultBaseURL, contacts) if err != nil { @@ -2487,11 +4624,10 @@ func (client ManagementClient) SetCertificateContactsResponder(resp *http.Respon return } -// SetCertificateIssuer +// SetCertificateIssuer the SetCertificateIssuer operation adds or updates the specified certificate issuer. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// issuerName is the name of the issuer. parameter is certificate issuer set -// parameter. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. issuerName is the name of the issuer. +// parameter is certificate issuer set parameter. func (client ManagementClient) SetCertificateIssuer(vaultBaseURL string, issuerName string, parameter CertificateIssuerSetParameters) (result IssuerBundle, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameter, @@ -2564,13 +4700,93 @@ func (client ManagementClient) SetCertificateIssuerResponder(resp *http.Response return } -// SetSecret the SET operation adds a secret to the Azure Key Vault. If the -// named secret already exists, Azure Key Vault creates a new version of that -// secret. +// SetSasDefinition creates or updates a new SAS definition for the specified storage account. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// secretName is the name of the secret. parameters is the parameters for -// setting the secret. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. storageAccountName is the name of the +// storage account. sasDefinitionName is the name of the SAS definition. parameters is the parameters to create a SAS +// definition. +func (client ManagementClient) SetSasDefinition(vaultBaseURL string, storageAccountName string, sasDefinitionName string, parameters SasDefinitionCreateParameters) (result SasDefinitionBundle, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: storageAccountName, + Constraints: []validation.Constraint{{Target: "storageAccountName", Name: validation.Pattern, Rule: `^[0-9a-zA-Z]+$`, Chain: nil}}}, + {TargetValue: sasDefinitionName, + Constraints: []validation.Constraint{{Target: "sasDefinitionName", Name: validation.Pattern, Rule: `^[0-9a-zA-Z]+$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Parameters", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "keyvault.ManagementClient", "SetSasDefinition") + } + + req, err := client.SetSasDefinitionPreparer(vaultBaseURL, storageAccountName, sasDefinitionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "SetSasDefinition", nil, "Failure preparing request") + return + } + + resp, err := client.SetSasDefinitionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "SetSasDefinition", resp, "Failure sending request") + return + } + + result, err = client.SetSasDefinitionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "SetSasDefinition", resp, "Failure responding to request") + } + + return +} + +// SetSasDefinitionPreparer prepares the SetSasDefinition request. +func (client ManagementClient) SetSasDefinitionPreparer(vaultBaseURL string, storageAccountName string, sasDefinitionName string, parameters SasDefinitionCreateParameters) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + pathParameters := map[string]interface{}{ + "sas-definition-name": autorest.Encode("path", sasDefinitionName), + "storage-account-name": autorest.Encode("path", storageAccountName), + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPathParameters("/storage/{storage-account-name}/sas/{sas-definition-name}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// SetSasDefinitionSender sends the SetSasDefinition request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) SetSasDefinitionSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// SetSasDefinitionResponder handles the response to the SetSasDefinition request. The method always +// closes the http.Response Body. +func (client ManagementClient) SetSasDefinitionResponder(resp *http.Response) (result SasDefinitionBundle, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// SetSecret the SET operation adds a secret to the Azure Key Vault. If the named secret already exists, Azure Key +// Vault creates a new version of that secret. +// +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. secretName is the name of the secret. +// parameters is the parameters for setting the secret. func (client ManagementClient) SetSecret(vaultBaseURL string, secretName string, parameters SecretSetParameters) (result SecretBundle, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: secretName, @@ -2645,13 +4861,91 @@ func (client ManagementClient) SetSecretResponder(resp *http.Response) (result S return } -// Sign the SIGN operation is applicable to asymmetric and symmetric keys -// stored in Azure Key Vault since this operation uses the private portion of -// the key. +// SetStorageAccount creates or updates a new storage account. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// keyName is the name of the key. keyVersion is the version of the key. -// parameters is the parameters for the signing operation. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. storageAccountName is the name of the +// storage account. parameters is the parameters to create a storage account. +func (client ManagementClient) SetStorageAccount(vaultBaseURL string, storageAccountName string, parameters StorageAccountCreateParameters) (result StorageBundle, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: storageAccountName, + Constraints: []validation.Constraint{{Target: "storageAccountName", Name: validation.Pattern, Rule: `^[0-9a-zA-Z]+$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.ResourceID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ActiveKeyName", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.AutoRegenerateKey", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "keyvault.ManagementClient", "SetStorageAccount") + } + + req, err := client.SetStorageAccountPreparer(vaultBaseURL, storageAccountName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "SetStorageAccount", nil, "Failure preparing request") + return + } + + resp, err := client.SetStorageAccountSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "SetStorageAccount", resp, "Failure sending request") + return + } + + result, err = client.SetStorageAccountResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "SetStorageAccount", resp, "Failure responding to request") + } + + return +} + +// SetStorageAccountPreparer prepares the SetStorageAccount request. +func (client ManagementClient) SetStorageAccountPreparer(vaultBaseURL string, storageAccountName string, parameters StorageAccountCreateParameters) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + pathParameters := map[string]interface{}{ + "storage-account-name": autorest.Encode("path", storageAccountName), + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPut(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPathParameters("/storage/{storage-account-name}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// SetStorageAccountSender sends the SetStorageAccount request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) SetStorageAccountSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// SetStorageAccountResponder handles the response to the SetStorageAccount request. The method always +// closes the http.Response Body. +func (client ManagementClient) SetStorageAccountResponder(resp *http.Response) (result StorageBundle, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Sign the SIGN operation is applicable to asymmetric and symmetric keys stored in Azure Key Vault since this +// operation uses the private portion of the key. +// +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. keyName is the name of the key. +// keyVersion is the version of the key. parameters is the parameters for the signing operation. func (client ManagementClient) Sign(vaultBaseURL string, keyName string, keyVersion string, parameters KeySignParameters) (result KeyOperationResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -2725,14 +5019,12 @@ func (client ManagementClient) SignResponder(resp *http.Response) (result KeyOpe return } -// UnwrapKey the UNWRAP operation supports decryption of a symmetric key using -// the target key encryption key. This operation is the reverse of the WRAP -// operation. The UNWRAP operation applies to asymmetric and symmetric keys -// stored in Azure Key Vault since it uses the private portion of the key. +// UnwrapKey the UNWRAP operation supports decryption of a symmetric key using the target key encryption key. This +// operation is the reverse of the WRAP operation. The UNWRAP operation applies to asymmetric and symmetric keys stored +// in Azure Key Vault since it uses the private portion of the key. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// keyName is the name of the key. keyVersion is the version of the key. -// parameters is the parameters for the key operation. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. keyName is the name of the key. +// keyVersion is the version of the key. parameters is the parameters for the key operation. func (client ManagementClient) UnwrapKey(vaultBaseURL string, keyName string, keyVersion string, parameters KeyOperationsParameters) (result KeyOperationResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -2806,11 +5098,11 @@ func (client ManagementClient) UnwrapKeyResponder(resp *http.Response) (result K return } -// UpdateCertificate +// UpdateCertificate the UpdateCertificate operation applies the specified update on the given certificate; note the +// only elements being updated are the certificate's attributes. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// certificateName is the name of the certificate in the given key vault. -// certificateVersion is the version of the certificate. parameters is the +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. certificateName is the name of the +// certificate in the given key vault. certificateVersion is the version of the certificate. parameters is the // parameters for certificate update. func (client ManagementClient) UpdateCertificate(vaultBaseURL string, certificateName string, certificateVersion string, parameters CertificateUpdateParameters) (result CertificateBundle, err error) { req, err := client.UpdateCertificatePreparer(vaultBaseURL, certificateName, certificateVersion, parameters) @@ -2879,11 +5171,11 @@ func (client ManagementClient) UpdateCertificateResponder(resp *http.Response) ( return } -// UpdateCertificateIssuer +// UpdateCertificateIssuer the UpdateCertificateIssuer operation performs an update on the specified certificate issuer +// entity. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// issuerName is the name of the issuer. parameter is certificate issuer update -// parameter. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. issuerName is the name of the issuer. +// parameter is certificate issuer update parameter. func (client ManagementClient) UpdateCertificateIssuer(vaultBaseURL string, issuerName string, parameter CertificateIssuerUpdateParameters) (result IssuerBundle, err error) { req, err := client.UpdateCertificateIssuerPreparer(vaultBaseURL, issuerName, parameter) if err != nil { @@ -2950,11 +5242,11 @@ func (client ManagementClient) UpdateCertificateIssuerResponder(resp *http.Respo return } -// UpdateCertificateOperation +// UpdateCertificateOperation updates a certificate operation. Authorization: requires the certificates/update +// permission. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// certificateName is the name of the certificate. certificateOperation is the -// certificate operation response. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. certificateName is the name of the +// certificate. certificateOperation is the certificate operation response. func (client ManagementClient) UpdateCertificateOperation(vaultBaseURL string, certificateName string, certificateOperation CertificateOperationUpdateParameter) (result CertificateOperation, err error) { req, err := client.UpdateCertificateOperationPreparer(vaultBaseURL, certificateName, certificateOperation) if err != nil { @@ -3021,12 +5313,10 @@ func (client ManagementClient) UpdateCertificateOperationResponder(resp *http.Re return } -// UpdateCertificatePolicy set specified members in the certificate policy. -// Leave others as null. +// UpdateCertificatePolicy set specified members in the certificate policy. Leave others as null. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// certificateName is the name of the certificate in the given vault. -// certificatePolicy is the policy for the certificate. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. certificateName is the name of the +// certificate in the given vault. certificatePolicy is the policy for the certificate. func (client ManagementClient) UpdateCertificatePolicy(vaultBaseURL string, certificateName string, certificatePolicy CertificatePolicy) (result CertificatePolicy, err error) { req, err := client.UpdateCertificatePolicyPreparer(vaultBaseURL, certificateName, certificatePolicy) if err != nil { @@ -3093,13 +5383,11 @@ func (client ManagementClient) UpdateCertificatePolicyResponder(resp *http.Respo return } -// UpdateKey in order to perform this operation, the key must already exist in -// the Key Vault. Note: The cryptographic material of a key itself cannot be -// changed. +// UpdateKey in order to perform this operation, the key must already exist in the Key Vault. Note: The cryptographic +// material of a key itself cannot be changed. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// keyName is the name of key to update. keyVersion is the version of the key -// to update. parameters is the parameters of the key to update. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. keyName is the name of key to update. +// keyVersion is the version of the key to update. parameters is the parameters of the key to update. func (client ManagementClient) UpdateKey(vaultBaseURL string, keyName string, keyVersion string, parameters KeyUpdateParameters) (result KeyBundle, err error) { req, err := client.UpdateKeyPreparer(vaultBaseURL, keyName, keyVersion, parameters) if err != nil { @@ -3167,13 +5455,91 @@ func (client ManagementClient) UpdateKeyResponder(resp *http.Response) (result K return } -// UpdateSecret the UPDATE operation changes specified attributes of an -// existing stored secret. Attributes that are not specified in the request are -// left unchanged. The value of a secret itself cannot be changed. +// UpdateSasDefinition updates the specified attributes associated with the given SAS definition. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// secretName is the name of the secret. secretVersion is the version of the -// secret. parameters is the parameters for update secret operation. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. storageAccountName is the name of the +// storage account. sasDefinitionName is the name of the SAS definition. parameters is the parameters to update a SAS +// definition. +func (client ManagementClient) UpdateSasDefinition(vaultBaseURL string, storageAccountName string, sasDefinitionName string, parameters SasDefinitionUpdateParameters) (result SasDefinitionBundle, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: storageAccountName, + Constraints: []validation.Constraint{{Target: "storageAccountName", Name: validation.Pattern, Rule: `^[0-9a-zA-Z]+$`, Chain: nil}}}, + {TargetValue: sasDefinitionName, + Constraints: []validation.Constraint{{Target: "sasDefinitionName", Name: validation.Pattern, Rule: `^[0-9a-zA-Z]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "keyvault.ManagementClient", "UpdateSasDefinition") + } + + req, err := client.UpdateSasDefinitionPreparer(vaultBaseURL, storageAccountName, sasDefinitionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "UpdateSasDefinition", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSasDefinitionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "UpdateSasDefinition", resp, "Failure sending request") + return + } + + result, err = client.UpdateSasDefinitionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "UpdateSasDefinition", resp, "Failure responding to request") + } + + return +} + +// UpdateSasDefinitionPreparer prepares the UpdateSasDefinition request. +func (client ManagementClient) UpdateSasDefinitionPreparer(vaultBaseURL string, storageAccountName string, sasDefinitionName string, parameters SasDefinitionUpdateParameters) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + pathParameters := map[string]interface{}{ + "sas-definition-name": autorest.Encode("path", sasDefinitionName), + "storage-account-name": autorest.Encode("path", storageAccountName), + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPathParameters("/storage/{storage-account-name}/sas/{sas-definition-name}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// UpdateSasDefinitionSender sends the UpdateSasDefinition request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) UpdateSasDefinitionSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// UpdateSasDefinitionResponder handles the response to the UpdateSasDefinition request. The method always +// closes the http.Response Body. +func (client ManagementClient) UpdateSasDefinitionResponder(resp *http.Response) (result SasDefinitionBundle, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateSecret the UPDATE operation changes specified attributes of an existing stored secret. Attributes that are not +// specified in the request are left unchanged. The value of a secret itself cannot be changed. +// +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. secretName is the name of the secret. +// secretVersion is the version of the secret. parameters is the parameters for update secret operation. func (client ManagementClient) UpdateSecret(vaultBaseURL string, secretName string, secretVersion string, parameters SecretUpdateParameters) (result SecretBundle, err error) { req, err := client.UpdateSecretPreparer(vaultBaseURL, secretName, secretVersion, parameters) if err != nil { @@ -3241,16 +5607,89 @@ func (client ManagementClient) UpdateSecretResponder(resp *http.Response) (resul return } -// Verify the VERIFY operation is applicable to symmetric keys stored in Azure -// Key Vault. VERIFY is not strictly necessary for asymmetric keys stored in -// Azure Key Vault since signature verification can be performed using the -// public portion of the key but this operation is supported as a convenience -// for callers that only have a key-reference and not the public portion of the -// key. +// UpdateStorageAccount updates the specified attributes associated with the given storage account. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// keyName is the name of the key. keyVersion is the version of the key. -// parameters is the parameters for verify operations. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. storageAccountName is the name of the +// storage account. parameters is the parameters to update a storage account. +func (client ManagementClient) UpdateStorageAccount(vaultBaseURL string, storageAccountName string, parameters StorageAccountUpdateParameters) (result StorageBundle, err error) { + if err := validation.Validate([]validation.Validation{ + {TargetValue: storageAccountName, + Constraints: []validation.Constraint{{Target: "storageAccountName", Name: validation.Pattern, Rule: `^[0-9a-zA-Z]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewErrorWithValidationError(err, "keyvault.ManagementClient", "UpdateStorageAccount") + } + + req, err := client.UpdateStorageAccountPreparer(vaultBaseURL, storageAccountName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "UpdateStorageAccount", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateStorageAccountSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "UpdateStorageAccount", resp, "Failure sending request") + return + } + + result, err = client.UpdateStorageAccountResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "keyvault.ManagementClient", "UpdateStorageAccount", resp, "Failure responding to request") + } + + return +} + +// UpdateStorageAccountPreparer prepares the UpdateStorageAccount request. +func (client ManagementClient) UpdateStorageAccountPreparer(vaultBaseURL string, storageAccountName string, parameters StorageAccountUpdateParameters) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "vaultBaseUrl": vaultBaseURL, + } + + pathParameters := map[string]interface{}{ + "storage-account-name": autorest.Encode("path", storageAccountName), + } + + const APIVersion = "2016-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsJSON(), + autorest.AsPatch(), + autorest.WithCustomBaseURL("{vaultBaseUrl}", urlParameters), + autorest.WithPathParameters("/storage/{storage-account-name}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare(&http.Request{}) +} + +// UpdateStorageAccountSender sends the UpdateStorageAccount request. The method will close the +// http.Response Body if it receives an error. +func (client ManagementClient) UpdateStorageAccountSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req) +} + +// UpdateStorageAccountResponder handles the response to the UpdateStorageAccount request. The method always +// closes the http.Response Body. +func (client ManagementClient) UpdateStorageAccountResponder(resp *http.Response) (result StorageBundle, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Verify the VERIFY operation is applicable to symmetric keys stored in Azure Key Vault. VERIFY is not strictly +// necessary for asymmetric keys stored in Azure Key Vault since signature verification can be performed using the +// public portion of the key but this operation is supported as a convenience for callers that only have a +// key-reference and not the public portion of the key. +// +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. keyName is the name of the key. +// keyVersion is the version of the key. parameters is the parameters for verify operations. func (client ManagementClient) Verify(vaultBaseURL string, keyName string, keyVersion string, parameters KeyVerifyParameters) (result KeyVerifyResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, @@ -3325,17 +5764,14 @@ func (client ManagementClient) VerifyResponder(resp *http.Response) (result KeyV return } -// WrapKey the WRAP operation supports encryption of a symmetric key using a -// key encryption key that has previously been stored in an Azure Key Vault. -// The WRAP operation is only strictly necessary for symmetric keys stored in -// Azure Key Vault since protection with an asymmetric key can be performed -// using the public portion of the key. This operation is supported for -// asymmetric keys as a convenience for callers that have a key-reference but -// do not have access to the public key material. +// WrapKey the WRAP operation supports encryption of a symmetric key using a key encryption key that has previously +// been stored in an Azure Key Vault. The WRAP operation is only strictly necessary for symmetric keys stored in Azure +// Key Vault since protection with an asymmetric key can be performed using the public portion of the key. This +// operation is supported for asymmetric keys as a convenience for callers that have a key-reference but do not have +// access to the public key material. // -// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. -// keyName is the name of the key. keyVersion is the version of the key. -// parameters is the parameters for wrap operation. +// vaultBaseURL is the vault name, for example https://myvault.vault.azure.net. keyName is the name of the key. +// keyVersion is the version of the key. parameters is the parameters for wrap operation. func (client ManagementClient) WrapKey(vaultBaseURL string, keyName string, keyVersion string, parameters KeyOperationsParameters) (result KeyOperationResult, err error) { if err := validation.Validate([]validation.Validation{ {TargetValue: parameters, diff --git a/vendor/github.com/Azure/azure-sdk-for-go/dataplane/keyvault/models.go b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/keyvault/models.go index 842246227..8903454e6 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/dataplane/keyvault/models.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/keyvault/models.go @@ -14,9 +14,8 @@ package keyvault // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" @@ -35,16 +34,30 @@ const ( EmailContacts ActionType = "EmailContacts" ) -// JSONWebKeyEncryptionAlgorithm enumerates the values for json web key -// encryption algorithm. +// DeletionRecoveryLevel enumerates the values for deletion recovery level. +type DeletionRecoveryLevel string + +const ( + // Purgeable specifies the purgeable state for deletion recovery level. + Purgeable DeletionRecoveryLevel = "Purgeable" + // Recoverable specifies the recoverable state for deletion recovery level. + Recoverable DeletionRecoveryLevel = "Recoverable" + // RecoverableProtectedSubscription specifies the recoverable protected subscription state for deletion recovery level. + RecoverableProtectedSubscription DeletionRecoveryLevel = "Recoverable+ProtectedSubscription" + // RecoverablePurgeable specifies the recoverable purgeable state for deletion recovery level. + RecoverablePurgeable DeletionRecoveryLevel = "Recoverable+Purgeable" +) + +// JSONWebKeyEncryptionAlgorithm enumerates the values for json web key encryption algorithm. type JSONWebKeyEncryptionAlgorithm string const ( // RSA15 specifies the rsa15 state for json web key encryption algorithm. RSA15 JSONWebKeyEncryptionAlgorithm = "RSA1_5" - // RSAOAEP specifies the rsaoaep state for json web key encryption - // algorithm. + // RSAOAEP specifies the rsaoaep state for json web key encryption algorithm. RSAOAEP JSONWebKeyEncryptionAlgorithm = "RSA-OAEP" + // RSAOAEP256 specifies the rsaoaep256 state for json web key encryption algorithm. + RSAOAEP256 JSONWebKeyEncryptionAlgorithm = "RSA-OAEP-256" ) // JSONWebKeyOperation enumerates the values for json web key operation. @@ -65,11 +78,16 @@ const ( WrapKey JSONWebKeyOperation = "wrapKey" ) -// JSONWebKeySignatureAlgorithm enumerates the values for json web key -// signature algorithm. +// JSONWebKeySignatureAlgorithm enumerates the values for json web key signature algorithm. type JSONWebKeySignatureAlgorithm string const ( + // PS256 specifies the ps256 state for json web key signature algorithm. + PS256 JSONWebKeySignatureAlgorithm = "PS256" + // PS384 specifies the ps384 state for json web key signature algorithm. + PS384 JSONWebKeySignatureAlgorithm = "PS384" + // PS512 specifies the ps512 state for json web key signature algorithm. + PS512 JSONWebKeySignatureAlgorithm = "PS512" // RS256 specifies the rs256 state for json web key signature algorithm. RS256 JSONWebKeySignatureAlgorithm = "RS256" // RS384 specifies the rs384 state for json web key signature algorithm. @@ -100,13 +118,11 @@ type KeyUsageType string const ( // CRLSign specifies the crl sign state for key usage type. CRLSign KeyUsageType = "cRLSign" - // DataEncipherment specifies the data encipherment state for key usage - // type. + // DataEncipherment specifies the data encipherment state for key usage type. DataEncipherment KeyUsageType = "dataEncipherment" // DecipherOnly specifies the decipher only state for key usage type. DecipherOnly KeyUsageType = "decipherOnly" - // DigitalSignature specifies the digital signature state for key usage - // type. + // DigitalSignature specifies the digital signature state for key usage type. DigitalSignature KeyUsageType = "digitalSignature" // EncipherOnly specifies the encipher only state for key usage type. EncipherOnly KeyUsageType = "encipherOnly" @@ -125,8 +141,7 @@ type Action struct { ActionType ActionType `json:"action_type,omitempty"` } -// AdministratorDetails is details of the organization administrator of the -// certificate issuer. +// AdministratorDetails is details of the organization administrator of the certificate issuer. type AdministratorDetails struct { FirstName *string `json:"first_name,omitempty"` LastName *string `json:"last_name,omitempty"` @@ -149,17 +164,23 @@ type BackupKeyResult struct { Value *string `json:"value,omitempty"` } -// CertificateAttributes is the certificate management attributes. -type CertificateAttributes struct { - Enabled *bool `json:"enabled,omitempty"` - NotBefore *date.UnixTime `json:"nbf,omitempty"` - Expires *date.UnixTime `json:"exp,omitempty"` - Created *date.UnixTime `json:"created,omitempty"` - Updated *date.UnixTime `json:"updated,omitempty"` +// BackupSecretResult is the backup secret result, containing the backup blob. +type BackupSecretResult struct { + autorest.Response `json:"-"` + Value *string `json:"value,omitempty"` } -// CertificateBundle is a certificate bundle consists of a certificate (X509) -// plus its attributes. +// CertificateAttributes is the certificate management attributes. +type CertificateAttributes struct { + Enabled *bool `json:"enabled,omitempty"` + NotBefore *date.UnixTime `json:"nbf,omitempty"` + Expires *date.UnixTime `json:"exp,omitempty"` + Created *date.UnixTime `json:"created,omitempty"` + Updated *date.UnixTime `json:"updated,omitempty"` + RecoveryLevel DeletionRecoveryLevel `json:"recoveryLevel,omitempty"` +} + +// CertificateBundle is a certificate bundle consists of a certificate (X509) plus its attributes. type CertificateBundle struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -189,8 +210,7 @@ type CertificateImportParameters struct { Tags *map[string]*string `json:"tags,omitempty"` } -// CertificateIssuerItem is the certificate issuer item containing certificate -// issuer metadata. +// CertificateIssuerItem is the certificate issuer item containing certificate issuer metadata. type CertificateIssuerItem struct { ID *string `json:"id,omitempty"` Provider *string `json:"provider,omitempty"` @@ -223,8 +243,7 @@ type CertificateIssuerSetParameters struct { Attributes *IssuerAttributes `json:"attributes,omitempty"` } -// CertificateIssuerUpdateParameters is the certificate issuer update -// parameters. +// CertificateIssuerUpdateParameters is the certificate issuer update parameters. type CertificateIssuerUpdateParameters struct { Provider *string `json:"provider,omitempty"` Credentials *IssuerCredentials `json:"credentials,omitempty"` @@ -266,8 +285,7 @@ type CertificateMergeParameters struct { Tags *map[string]*string `json:"tags,omitempty"` } -// CertificateOperation is a certificate operation is returned in case of -// asynchronous requests. +// CertificateOperation is a certificate operation is returned in case of asynchronous requests. type CertificateOperation struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` @@ -281,8 +299,7 @@ type CertificateOperation struct { RequestID *string `json:"request_id,omitempty"` } -// CertificateOperationUpdateParameter is the certificate operation update -// parameters. +// CertificateOperationUpdateParameter is the certificate operation update parameters. type CertificateOperationUpdateParameter struct { CancellationRequested *bool `json:"cancellation_requested,omitempty"` } @@ -320,6 +337,143 @@ type Contacts struct { ContactList *[]Contact `json:"contacts,omitempty"` } +// DeletedCertificateBundle is a Deleted Certificate consisting of its previous id, attributes and its tags, as well as +// information on when it will be purged. +type DeletedCertificateBundle struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + Kid *string `json:"kid,omitempty"` + Sid *string `json:"sid,omitempty"` + X509Thumbprint *string `json:"x5t,omitempty"` + Policy *CertificatePolicy `json:"policy,omitempty"` + Cer *[]byte `json:"cer,omitempty"` + ContentType *string `json:"contentType,omitempty"` + Attributes *CertificateAttributes `json:"attributes,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + RecoveryID *string `json:"recoveryId,omitempty"` + ScheduledPurgeDate *date.UnixTime `json:"scheduledPurgeDate,omitempty"` + DeletedDate *date.UnixTime `json:"deletedDate,omitempty"` +} + +// DeletedCertificateItem is the deleted certificate item containing metadata about the deleted certificate. +type DeletedCertificateItem struct { + ID *string `json:"id,omitempty"` + Attributes *CertificateAttributes `json:"attributes,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + X509Thumbprint *string `json:"x5t,omitempty"` + RecoveryID *string `json:"recoveryId,omitempty"` + ScheduledPurgeDate *date.UnixTime `json:"scheduledPurgeDate,omitempty"` + DeletedDate *date.UnixTime `json:"deletedDate,omitempty"` +} + +// DeletedCertificateListResult is a list of certificates that have been deleted in this vault. +type DeletedCertificateListResult struct { + autorest.Response `json:"-"` + Value *[]DeletedCertificateItem `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// DeletedCertificateListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client DeletedCertificateListResult) DeletedCertificateListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// DeletedKeyBundle is a DeletedKeyBundle consisting of a WebKey plus its Attributes and deletion info +type DeletedKeyBundle struct { + autorest.Response `json:"-"` + Key *JSONWebKey `json:"key,omitempty"` + Attributes *KeyAttributes `json:"attributes,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + Managed *bool `json:"managed,omitempty"` + RecoveryID *string `json:"recoveryId,omitempty"` + ScheduledPurgeDate *date.UnixTime `json:"scheduledPurgeDate,omitempty"` + DeletedDate *date.UnixTime `json:"deletedDate,omitempty"` +} + +// DeletedKeyItem is the deleted key item containing the deleted key metadata and information about deletion. +type DeletedKeyItem struct { + Kid *string `json:"kid,omitempty"` + Attributes *KeyAttributes `json:"attributes,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + Managed *bool `json:"managed,omitempty"` + RecoveryID *string `json:"recoveryId,omitempty"` + ScheduledPurgeDate *date.UnixTime `json:"scheduledPurgeDate,omitempty"` + DeletedDate *date.UnixTime `json:"deletedDate,omitempty"` +} + +// DeletedKeyListResult is a list of keys that have been deleted in this vault. +type DeletedKeyListResult struct { + autorest.Response `json:"-"` + Value *[]DeletedKeyItem `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// DeletedKeyListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client DeletedKeyListResult) DeletedKeyListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// DeletedSecretBundle is a Deleted Secret consisting of its previous id, attributes and its tags, as well as +// information on when it will be purged. +type DeletedSecretBundle struct { + autorest.Response `json:"-"` + Value *string `json:"value,omitempty"` + ID *string `json:"id,omitempty"` + ContentType *string `json:"contentType,omitempty"` + Attributes *SecretAttributes `json:"attributes,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + Kid *string `json:"kid,omitempty"` + Managed *bool `json:"managed,omitempty"` + RecoveryID *string `json:"recoveryId,omitempty"` + ScheduledPurgeDate *date.UnixTime `json:"scheduledPurgeDate,omitempty"` + DeletedDate *date.UnixTime `json:"deletedDate,omitempty"` +} + +// DeletedSecretItem is the deleted secret item containing metadata about the deleted secret. +type DeletedSecretItem struct { + ID *string `json:"id,omitempty"` + Attributes *SecretAttributes `json:"attributes,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` + ContentType *string `json:"contentType,omitempty"` + Managed *bool `json:"managed,omitempty"` + RecoveryID *string `json:"recoveryId,omitempty"` + ScheduledPurgeDate *date.UnixTime `json:"scheduledPurgeDate,omitempty"` + DeletedDate *date.UnixTime `json:"deletedDate,omitempty"` +} + +// DeletedSecretListResult is the deleted secret list result +type DeletedSecretListResult struct { + autorest.Response `json:"-"` + Value *[]DeletedSecretItem `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// DeletedSecretListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client DeletedSecretListResult) DeletedSecretListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + // Error is the key vault server error. type Error struct { Code *string `json:"code,omitempty"` @@ -332,8 +486,7 @@ type ErrorType struct { Error *Error `json:"error,omitempty"` } -// IssuerAttributes is the attributes of an issuer managed by the Key Vault -// service. +// IssuerAttributes is the attributes of an issuer managed by the Key Vault service. type IssuerAttributes struct { Enabled *bool `json:"enabled,omitempty"` Created *date.UnixTime `json:"created,omitempty"` @@ -356,15 +509,13 @@ type IssuerCredentials struct { Password *string `json:"pwd,omitempty"` } -// IssuerParameters is parameters for the issuer of the X509 component of a -// certificate. +// IssuerParameters is parameters for the issuer of the X509 component of a certificate. type IssuerParameters struct { Name *string `json:"name,omitempty"` CertificateType *string `json:"cty,omitempty"` } -// JSONWebKey is as of -// http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18 +// JSONWebKey is as of http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18 type JSONWebKey struct { Kid *string `json:"kid,omitempty"` Kty JSONWebKeyType `json:"kty,omitempty"` @@ -383,11 +534,12 @@ type JSONWebKey struct { // KeyAttributes is the attributes of a key managed by the key vault service. type KeyAttributes struct { - Enabled *bool `json:"enabled,omitempty"` - NotBefore *date.UnixTime `json:"nbf,omitempty"` - Expires *date.UnixTime `json:"exp,omitempty"` - Created *date.UnixTime `json:"created,omitempty"` - Updated *date.UnixTime `json:"updated,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + NotBefore *date.UnixTime `json:"nbf,omitempty"` + Expires *date.UnixTime `json:"exp,omitempty"` + Created *date.UnixTime `json:"created,omitempty"` + Updated *date.UnixTime `json:"updated,omitempty"` + RecoveryLevel DeletionRecoveryLevel `json:"recoveryLevel,omitempty"` } // KeyBundle is a KeyBundle consisting of a WebKey plus its attributes. @@ -495,33 +647,89 @@ type KeyVerifyResult struct { Value *bool `json:"value,omitempty"` } -// LifetimeAction is action and its trigger that will be performed by Key Vault -// over the lifetime of a certificate. +// LifetimeAction is action and its trigger that will be performed by Key Vault over the lifetime of a certificate. type LifetimeAction struct { Trigger *Trigger `json:"trigger,omitempty"` Action *Action `json:"action,omitempty"` } -// OrganizationDetails is details of the organization of the certificate -// issuer. +// OrganizationDetails is details of the organization of the certificate issuer. type OrganizationDetails struct { ID *string `json:"id,omitempty"` AdminDetails *[]AdministratorDetails `json:"admin_details,omitempty"` } -// PendingCertificateSigningRequestResult is the pending certificate signing -// request result. +// PendingCertificateSigningRequestResult is the pending certificate signing request result. type PendingCertificateSigningRequestResult struct { Value *string `json:"value,omitempty"` } +// SasDefinitionAttributes is the SAS definition management attributes. +type SasDefinitionAttributes struct { + Enabled *bool `json:"enabled,omitempty"` + Created *date.UnixTime `json:"created,omitempty"` + Updated *date.UnixTime `json:"updated,omitempty"` +} + +// SasDefinitionBundle is a SAS definition bundle consists of key vault SAS definition details plus its attributes. +type SasDefinitionBundle struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + SecretID *string `json:"sid,omitempty"` + Parameters *map[string]*string `json:"parameters,omitempty"` + Attributes *SasDefinitionAttributes `json:"attributes,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` +} + +// SasDefinitionCreateParameters is the SAS definition create parameters. +type SasDefinitionCreateParameters struct { + Parameters *map[string]*string `json:"parameters,omitempty"` + SasDefinitionAttributes *SasDefinitionAttributes `json:"attributes,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` +} + +// SasDefinitionItem is the SAS definition item containing storage SAS definition metadata. +type SasDefinitionItem struct { + ID *string `json:"id,omitempty"` + SecretID *string `json:"sid,omitempty"` + Attributes *SasDefinitionAttributes `json:"attributes,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` +} + +// SasDefinitionListResult is the storage account SAS definition list result. +type SasDefinitionListResult struct { + autorest.Response `json:"-"` + Value *[]SasDefinitionItem `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// SasDefinitionListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client SasDefinitionListResult) SasDefinitionListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + +// SasDefinitionUpdateParameters is the SAS definition update parameters. +type SasDefinitionUpdateParameters struct { + Parameters *map[string]*string `json:"parameters,omitempty"` + SasDefinitionAttributes *SasDefinitionAttributes `json:"attributes,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` +} + // SecretAttributes is the secret management attributes. type SecretAttributes struct { - Enabled *bool `json:"enabled,omitempty"` - NotBefore *date.UnixTime `json:"nbf,omitempty"` - Expires *date.UnixTime `json:"exp,omitempty"` - Created *date.UnixTime `json:"created,omitempty"` - Updated *date.UnixTime `json:"updated,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + NotBefore *date.UnixTime `json:"nbf,omitempty"` + Expires *date.UnixTime `json:"exp,omitempty"` + Created *date.UnixTime `json:"created,omitempty"` + Updated *date.UnixTime `json:"updated,omitempty"` + RecoveryLevel DeletionRecoveryLevel `json:"recoveryLevel,omitempty"` } // SecretBundle is a secret consisting of a value, id and its attributes. @@ -569,6 +777,11 @@ type SecretProperties struct { ContentType *string `json:"contentType,omitempty"` } +// SecretRestoreParameters is the secret restore parameters. +type SecretRestoreParameters struct { + SecretBundleBackup *string `json:"value,omitempty"` +} + // SecretSetParameters is the secret set parameters. type SecretSetParameters struct { Value *string `json:"value,omitempty"` @@ -584,6 +797,76 @@ type SecretUpdateParameters struct { Tags *map[string]*string `json:"tags,omitempty"` } +// StorageAccountAttributes is the storage account management attributes. +type StorageAccountAttributes struct { + Enabled *bool `json:"enabled,omitempty"` + Created *date.UnixTime `json:"created,omitempty"` + Updated *date.UnixTime `json:"updated,omitempty"` +} + +// StorageAccountCreateParameters is the storage account create parameters. +type StorageAccountCreateParameters struct { + ResourceID *string `json:"resourceId,omitempty"` + ActiveKeyName *string `json:"activeKeyName,omitempty"` + AutoRegenerateKey *bool `json:"autoRegenerateKey,omitempty"` + RegenerationPeriod *string `json:"regenerationPeriod,omitempty"` + StorageAccountAttributes *StorageAccountAttributes `json:"attributes,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` +} + +// StorageAccountItem is the storage account item containing storage account metadata. +type StorageAccountItem struct { + ID *string `json:"id,omitempty"` + ResourceID *string `json:"resourceId,omitempty"` + Attributes *StorageAccountAttributes `json:"attributes,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` +} + +// StorageAccountRegenerteKeyParameters is the storage account key regenerate parameters. +type StorageAccountRegenerteKeyParameters struct { + KeyName *string `json:"keyName,omitempty"` +} + +// StorageAccountUpdateParameters is the storage account update parameters. +type StorageAccountUpdateParameters struct { + ActiveKeyName *string `json:"activeKeyName,omitempty"` + AutoRegenerateKey *bool `json:"autoRegenerateKey,omitempty"` + RegenerationPeriod *string `json:"regenerationPeriod,omitempty"` + StorageAccountAttributes *StorageAccountAttributes `json:"attributes,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` +} + +// StorageBundle is a Storage account bundle consists of key vault storage account details plus its attributes. +type StorageBundle struct { + autorest.Response `json:"-"` + ID *string `json:"id,omitempty"` + ResourceID *string `json:"resourceId,omitempty"` + ActiveKeyName *string `json:"activeKeyName,omitempty"` + AutoRegenerateKey *bool `json:"autoRegenerateKey,omitempty"` + RegenerationPeriod *string `json:"regenerationPeriod,omitempty"` + Attributes *StorageAccountAttributes `json:"attributes,omitempty"` + Tags *map[string]*string `json:"tags,omitempty"` +} + +// StorageListResult is the storage accounts list result. +type StorageListResult struct { + autorest.Response `json:"-"` + Value *[]StorageAccountItem `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// StorageListResultPreparer prepares a request to retrieve the next set of results. It returns +// nil if no more results exist. +func (client StorageListResult) StorageListResultPreparer() (*http.Request, error) { + if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { + return nil, nil + } + return autorest.Prepare(&http.Request{}, + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(client.NextLink))) +} + // SubjectAlternativeNames is the subject alternate names of a X509 object. type SubjectAlternativeNames struct { Emails *[]string `json:"emails,omitempty"` @@ -597,8 +880,7 @@ type Trigger struct { DaysBeforeExpiry *int32 `json:"days_before_expiry,omitempty"` } -// X509CertificateProperties is properties of the X509 component of a -// certificate. +// X509CertificateProperties is properties of the X509 component of a certificate. type X509CertificateProperties struct { Subject *string `json:"subject,omitempty"` Ekus *[]string `json:"ekus,omitempty"` diff --git a/vendor/github.com/Azure/azure-sdk-for-go/dataplane/keyvault/version.go b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/keyvault/version.go index 0ac0f3d57..64ff8541e 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/dataplane/keyvault/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/dataplane/keyvault/version.go @@ -14,16 +14,15 @@ package keyvault // See the License for the specific language governing permissions and // limitations under the License. // -// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/v10.1.0-beta arm-keyvault/2016-10-01" + return "Azure-SDK-For-Go/v11.0.0-beta arm-keyvault/2016-10-01" } // Version returns the semantic version (see http://semver.org) of the client. func Version() string { - return "v10.1.0-beta" + return "v11.0.0-beta" } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/glide.lock b/vendor/github.com/Azure/azure-sdk-for-go/glide.lock index a2d93fc44..1a16baaf4 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/glide.lock +++ b/vendor/github.com/Azure/azure-sdk-for-go/glide.lock @@ -1,8 +1,8 @@ -hash: 7a8f8652a17526f090124ace3974ce9bff3d6d09a83ab94841d377c1125111f7 -updated: 2017-06-12T16:27:58.5460985-07:00 +hash: ee3a7971ba1cf6d287128746a2dd954ea023d952aec65453c94323f26955e0ae +updated: 2017-09-28T11:44:06.2382306-07:00 imports: - name: github.com/Azure/go-autorest - version: "" + version: f6be1abbb5abd0517522f850dd785990d373da7e subpackages: - autorest - autorest/adal @@ -15,9 +15,9 @@ imports: - name: github.com/howeyc/gopass version: bf9dde6d0d2c004a008c27aaee91170c786f6db8 - name: github.com/mattn/go-colorable - version: ded68f7a9561c023e790de24279db7ebf473ea80 + version: ad5389df28cdac544c99bd7b9161a0b5b6ca9d1b - name: github.com/mattn/go-isatty - version: fc9e8d8ef48496124e79ae0df75490096eccf6fe + version: a5cdd64afdee435007ee3e9f6ed4684af949d568 - name: github.com/mgutz/ansi version: 9520e82c474b0a04dd04f8a40959027271bab992 - name: github.com/mgutz/minimist @@ -30,25 +30,23 @@ imports: version: 4748e29d5718c2df4028a6543edf86fd8cc0f881 - name: github.com/nozzle/throttler version: d9b45f19996c645d38c9266d1f5cf1990e930119 +- name: github.com/satori/go.uuid + version: 5bf94b69c6b68ee1b541973bb8e1144db23a194b - name: github.com/satori/uuid version: 5bf94b69c6b68ee1b541973bb8e1144db23a194b - name: github.com/shopspring/decimal - version: 16a941821474ee3986fdbeab535a68a8aa5a85d2 -- name: github.com/xtophs/azure-sdk-for-go - version: 76fc90689773168d2b6b8ad02e42ab60fb1359b7 - subpackages: - - arm/dns - - arm/examples/helpers + version: aed1bfe463fa3c9cc268d60dcc1491db613bff7e - name: golang.org/x/crypto - version: e7ba82683099cae71475961448ab8f903ea77c26 + version: 76eec36fa14229c4b25bb894c2d0e591527af429 subpackages: - pkcs12 - pkcs12/internal/rc2 - ssh/terminal - name: golang.org/x/sys - version: 0b25a408a50076fbbcae6b7ac0ea5fbb0b085e79 + version: 314a259e304ff91bd6985da2a7149bbf91237993 subpackages: - unix + - windows - name: gopkg.in/check.v1 version: 20d25e2804050c1cd24a7eea1e7a6447dd0e74ec - name: gopkg.in/godo.v2 @@ -65,4 +63,4 @@ testImports: - cassette - recorder - name: gopkg.in/yaml.v2 - version: cd8b52f8269e0feb286dfeef29f8fe4d5b397e0b + version: eb3733d160e74a9c7e442f435eb3bea458e1d19f diff --git a/vendor/github.com/Azure/azure-sdk-for-go/glide.yaml b/vendor/github.com/Azure/azure-sdk-for-go/glide.yaml index b0208502a..9d79c902d 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/glide.yaml +++ b/vendor/github.com/Azure/azure-sdk-for-go/glide.yaml @@ -1,7 +1,7 @@ package: github.com/Azure/azure-sdk-for-go import: - package: github.com/Azure/go-autorest - version: ~8.1.0 + version: ~8.4.0 subpackages: - /autorest - autorest/azure diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/README.md b/vendor/github.com/Azure/azure-sdk-for-go/management/README.md index 7a1abb35a..2617033c1 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/README.md +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/README.md @@ -1,6 +1,8 @@ # Azure Service Management packages for Go The `github.com/Azure/azure-sdk-for-go/management` packages are used to perform operations using the Azure Service Management (ASM), aka classic deployment model. Read more about [Azure Resource Manager vs. classic deployment](https://azure.microsoft.com/documentation/articles/resource-manager-deployment-model/). Packages for Azure Resource Manager are in the [arm](../arm) folder. +Note that this package requires Go 1.7+ to build. +This package is in mainteinance mode and will only receive bug fixes. It is recommended to [migrate to Azure Resource Manager](https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-deployment-model) deployment model. ## First a Sidenote: Authentication and the Azure Service Manager diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/affinitygroup/client.go b/vendor/github.com/Azure/azure-sdk-for-go/management/affinitygroup/client.go index 3f6f240a3..7f25a78f0 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/affinitygroup/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/affinitygroup/client.go @@ -1,5 +1,21 @@ +// +build go1.7 + package affinitygroup +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/base64" "encoding/xml" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/affinitygroup/entities.go b/vendor/github.com/Azure/azure-sdk-for-go/management/affinitygroup/entities.go index 7ce588264..3c810a000 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/affinitygroup/entities.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/affinitygroup/entities.go @@ -1,5 +1,21 @@ +// +build go1.7 + package affinitygroup +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" ) diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/client.go b/vendor/github.com/Azure/azure-sdk-for-go/management/client.go index 155674a68..e0561d77a 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/client.go @@ -1,7 +1,23 @@ +// +build go1.7 + // Package management provides the main API client to construct other clients // and make requests to the Microsoft Azure Service Management REST API. package management +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "errors" "fmt" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/errors.go b/vendor/github.com/Azure/azure-sdk-for-go/management/errors.go index 798594543..eca555cb4 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/errors.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/errors.go @@ -1,5 +1,21 @@ +// +build go1.7 + package management +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" "fmt" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/errors_test.go b/vendor/github.com/Azure/azure-sdk-for-go/management/errors_test.go index 9ee32be4e..e0d25c6ea 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/errors_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/errors_test.go @@ -1,5 +1,21 @@ +// +build go1.7 + package management_test +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "fmt" "testing" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/hostedservice/client.go b/vendor/github.com/Azure/azure-sdk-for-go/management/hostedservice/client.go index a9c7063a2..e9d28ef26 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/hostedservice/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/hostedservice/client.go @@ -1,6 +1,22 @@ +// +build go1.7 + // Package hostedservice provides a client for Hosted Services. package hostedservice +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/base64" "encoding/xml" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/hostedservice/entities.go b/vendor/github.com/Azure/azure-sdk-for-go/management/hostedservice/entities.go index f540fa9f4..52360e31d 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/hostedservice/entities.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/hostedservice/entities.go @@ -1,5 +1,21 @@ +// +build go1.7 + package hostedservice +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/http.go b/vendor/github.com/Azure/azure-sdk-for-go/management/http.go index 5760f51ee..357301001 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/http.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/http.go @@ -1,5 +1,21 @@ +// +build go1.7 + package management +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "bytes" "crypto/tls" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/location/client.go b/vendor/github.com/Azure/azure-sdk-for-go/management/location/client.go index 721f3f607..da5916975 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/location/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/location/client.go @@ -1,6 +1,22 @@ +// +build go1.7 + // Package location provides a client for Locations. package location +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/location/entities.go b/vendor/github.com/Azure/azure-sdk-for-go/management/location/entities.go index 8a2501583..726e4c151 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/location/entities.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/location/entities.go @@ -1,5 +1,21 @@ +// +build go1.7 + package location +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "bytes" "encoding/xml" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/networksecuritygroup/client.go b/vendor/github.com/Azure/azure-sdk-for-go/management/networksecuritygroup/client.go index 8e8eea4da..4e617c170 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/networksecuritygroup/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/networksecuritygroup/client.go @@ -1,6 +1,22 @@ +// +build go1.7 + // Package networksecuritygroup provides a client for Network Security Groups. package networksecuritygroup +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" "fmt" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/networksecuritygroup/entities.go b/vendor/github.com/Azure/azure-sdk-for-go/management/networksecuritygroup/entities.go index 2c6f75757..6b2ed7826 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/networksecuritygroup/entities.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/networksecuritygroup/entities.go @@ -1,9 +1,25 @@ +// +build go1.7 + // Package networksecuritygroup implements operations for managing network security groups // using the Service Management REST API // // https://msdn.microsoft.com/en-us/library/azure/dn913824.aspx package networksecuritygroup +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/operations.go b/vendor/github.com/Azure/azure-sdk-for-go/management/operations.go index 4f6acb217..eb306b8b1 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/operations.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/operations.go @@ -1,5 +1,21 @@ +// +build go1.7 + package management +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" "errors" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/osimage/client.go b/vendor/github.com/Azure/azure-sdk-for-go/management/osimage/client.go index e9af16e9b..e29f025ed 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/osimage/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/osimage/client.go @@ -1,6 +1,22 @@ +// +build go1.7 + // Package osimage provides a client for Operating System Images. package osimage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/osimage/entities.go b/vendor/github.com/Azure/azure-sdk-for-go/management/osimage/entities.go index 25577c16e..ee5715138 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/osimage/entities.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/osimage/entities.go @@ -1,5 +1,21 @@ +// +build go1.7 + package osimage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/publishSettings.go b/vendor/github.com/Azure/azure-sdk-for-go/management/publishSettings.go index 17505536c..8effb38eb 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/publishSettings.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/publishSettings.go @@ -1,5 +1,21 @@ +// +build go1.7 + package management +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/base64" "encoding/pem" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/sql/client.go b/vendor/github.com/Azure/azure-sdk-for-go/management/sql/client.go index 970c3f644..a43553179 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/sql/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/sql/client.go @@ -1,5 +1,21 @@ +// +build go1.7 + package sql +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" "fmt" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/sql/entities.go b/vendor/github.com/Azure/azure-sdk-for-go/management/sql/entities.go index bed6a05bd..7006e8169 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/sql/entities.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/sql/entities.go @@ -1,5 +1,21 @@ +// +build go1.7 + package sql +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" ) diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/storageservice/client.go b/vendor/github.com/Azure/azure-sdk-for-go/management/storageservice/client.go index dad87e6db..87ae0396e 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/storageservice/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/storageservice/client.go @@ -1,6 +1,22 @@ +// +build go1.7 + // Package storageservice provides a client for Storage Services. package storageservice +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" "fmt" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/storageservice/entities.go b/vendor/github.com/Azure/azure-sdk-for-go/management/storageservice/entities.go index 2401298aa..1be8cf729 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/storageservice/entities.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/storageservice/entities.go @@ -1,5 +1,21 @@ +// +build go1.7 + package storageservice +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/storageservice/entities_test.go b/vendor/github.com/Azure/azure-sdk-for-go/management/storageservice/entities_test.go index 3f02f5beb..23a6e9afc 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/storageservice/entities_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/storageservice/entities_test.go @@ -1,5 +1,21 @@ +// +build go1.7 + package storageservice +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" "testing" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/testutils/managementclient.go b/vendor/github.com/Azure/azure-sdk-for-go/management/testutils/managementclient.go index 426e20dcc..c3342bc71 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/testutils/managementclient.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/testutils/managementclient.go @@ -1,6 +1,22 @@ +// +build go1.7 + // Package testutils contains some test utilities for the Azure SDK package testutils +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/base64" "os" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/util.go b/vendor/github.com/Azure/azure-sdk-for-go/management/util.go index 72601757e..9a32f20ea 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/util.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/util.go @@ -1,5 +1,21 @@ +// +build go1.7 + package management +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "io/ioutil" "net/http" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/version.go b/vendor/github.com/Azure/azure-sdk-for-go/management/version.go index 23c3b088d..650db8a84 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/version.go @@ -1,5 +1,21 @@ +// +build go1.7 + package management +// Copyright 2017 Microsoft Corporation +// +// 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. + var ( - sdkVersion = "v10.1.0-beta" + sdkVersion = "v11.0.0-beta" ) diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachine/client.go b/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachine/client.go index a9fe82755..7ada4de4d 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachine/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachine/client.go @@ -1,6 +1,22 @@ +// +build go1.7 + // Package virtualmachine provides a client for Virtual Machines. package virtualmachine +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" "fmt" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachine/entities.go b/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachine/entities.go index a826541a7..ee5665231 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachine/entities.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachine/entities.go @@ -1,5 +1,21 @@ +// +build go1.7 + package virtualmachine +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachine/entities_test.go b/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachine/entities_test.go index 3118e6c5a..75002e6f8 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachine/entities_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachine/entities_test.go @@ -1,5 +1,21 @@ +// +build go1.7 + package virtualmachine +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" "testing" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachine/resourceextensions.go b/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachine/resourceextensions.go index 25320447e..3a7859e22 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachine/resourceextensions.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachine/resourceextensions.go @@ -1,5 +1,21 @@ +// +build go1.7 + package virtualmachine +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" ) diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachine/resourceextensions_test.go b/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachine/resourceextensions_test.go index b4ec2a769..5677fd454 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachine/resourceextensions_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachine/resourceextensions_test.go @@ -1,5 +1,21 @@ +// +build go1.7 + package virtualmachine +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "testing" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachinedisk/client.go b/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachinedisk/client.go index 90f8d6561..972c0de55 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachinedisk/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachinedisk/client.go @@ -1,6 +1,22 @@ +// +build go1.7 + // Package virtualmachinedisk provides a client for Virtual Machine Disks. package virtualmachinedisk +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" "fmt" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachinedisk/entities.go b/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachinedisk/entities.go index 1359381b8..84a389455 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachinedisk/entities.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachinedisk/entities.go @@ -1,5 +1,21 @@ +// +build go1.7 + package virtualmachinedisk +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachineimage/client.go b/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachineimage/client.go index 11c8848a7..f78c739aa 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachineimage/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachineimage/client.go @@ -1,6 +1,22 @@ +// +build go1.7 + // Package virtualmachineimage provides a client for Virtual Machine Images. package virtualmachineimage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" "fmt" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachineimage/entities.go b/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachineimage/entities.go index 4a1df3119..b12198456 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachineimage/entities.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachineimage/entities.go @@ -1,5 +1,21 @@ +// +build go1.7 + package virtualmachineimage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachineimage/entities_test.go b/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachineimage/entities_test.go index b0d5bbe6f..b1b7f0f78 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachineimage/entities_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/virtualmachineimage/entities_test.go @@ -1,5 +1,21 @@ +// +build go1.7 + package virtualmachineimage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" "testing" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/virtualnetwork/client.go b/vendor/github.com/Azure/azure-sdk-for-go/management/virtualnetwork/client.go index 9d27ab7fd..a15b0957e 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/virtualnetwork/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/virtualnetwork/client.go @@ -1,6 +1,22 @@ +// +build go1.7 + // Package virtualnetwork provides a client for Virtual Networks. package virtualnetwork +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/virtualnetwork/entities.go b/vendor/github.com/Azure/azure-sdk-for-go/management/virtualnetwork/entities.go index 0cb8913e7..cd596a7ab 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/virtualnetwork/entities.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/virtualnetwork/entities.go @@ -1,5 +1,21 @@ +// +build go1.7 + package virtualnetwork +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/configurationset.go b/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/configurationset.go index 0ed3bd018..8afb6dc71 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/configurationset.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/configurationset.go @@ -1,5 +1,21 @@ +// +build go1.7 + package vmutils +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( vm "github.com/Azure/azure-sdk-for-go/management/virtualmachine" ) diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/datadisks.go b/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/datadisks.go index 06fcf852d..5cbb904bd 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/datadisks.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/datadisks.go @@ -1,5 +1,21 @@ +// +build go1.7 + package vmutils +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "fmt" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/deployment.go b/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/deployment.go index 8ac5398de..e597b4022 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/deployment.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/deployment.go @@ -1,5 +1,21 @@ +// +build go1.7 + package vmutils +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "fmt" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/extensions.go b/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/extensions.go index 751fd6a6c..2ccd09464 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/extensions.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/extensions.go @@ -1,5 +1,21 @@ +// +build go1.7 + package vmutils +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/base64" "encoding/json" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/extensions_test.go b/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/extensions_test.go index 17a46563d..c02e1cea0 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/extensions_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/extensions_test.go @@ -1,5 +1,21 @@ +// +build go1.7 + package vmutils +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" "testing" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/integration_test.go b/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/integration_test.go index a0e79065a..943661906 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/integration_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/integration_test.go @@ -1,5 +1,21 @@ +// +build go1.7 + package vmutils +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/base64" "fmt" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/network.go b/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/network.go index bf2331c7b..b545d7a47 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/network.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/network.go @@ -1,5 +1,21 @@ +// +build go1.7 + package vmutils +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "fmt" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/rolesize.go b/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/rolesize.go index bedd702fb..5e6ab08b3 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/rolesize.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/rolesize.go @@ -1,5 +1,21 @@ +// +build go1.7 + package vmutils +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "fmt" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/rolestate.go b/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/rolestate.go index e3f21285c..82bc82345 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/rolestate.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/rolestate.go @@ -1,5 +1,21 @@ +// +build go1.7 + package vmutils +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "time" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/vmutils.go b/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/vmutils.go index 1845663c8..7cf35a7b2 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/vmutils.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/vmutils.go @@ -1,7 +1,23 @@ +// +build go1.7 + // Package vmutils provides convenience methods for creating Virtual // Machine Role configurations. package vmutils +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "fmt" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/vmutils_test.go b/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/vmutils_test.go index 675594020..a23241cb4 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/vmutils_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/management/vmutils/vmutils_test.go @@ -1,5 +1,21 @@ +// +build go1.7 + package vmutils +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" "testing" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/README.md b/vendor/github.com/Azure/azure-sdk-for-go/storage/README.md new file mode 100644 index 000000000..6dc348e02 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/README.md @@ -0,0 +1,73 @@ +# Azure Storage SDK for Go + +The `github.com/Azure/azure-sdk-for-go/storage` package is used to perform REST operations against the [Azure Storage Service](https://docs.microsoft.com/en-us/azure/storage/). To manage your storage accounts (Azure Resource Manager / ARM), use the [github.com/Azure/azure-sdk-for-go/arm/storage](https://github.com/Azure/azure-sdk-for-go/tree/master/arm/storage) package. For your classic storage accounts (Azure Service Management / ASM), use [github.com/Azure/azure-sdk-for-go/management/storageservice](https://github.com/Azure/azure-sdk-for-go/tree/master/management/storageservice) package. + +This package includes support for [Azure Storage Emulator](https://azure.microsoft.com/documentation/articles/storage-use-emulator/). + +# Getting Started + + 1. Go get the SDK `go get -u github.com/Azure/azure-sdk-for=go/storage` + 1. If you don't already have one, [create a Storage Account](https://docs.microsoft.com/en-us/azure/storage/storage-create-storage-account). + - Take note of your Azure Storage Account Name and Azure Storage Account Key. They'll both be necessary for using this library. + - This option is production ready, but can also be used for development. + 1. (Optional, Windows only) Download and start the [Azure Storage Emulator](https://azure.microsoft.com/documentation/articles/storage-use-emulator/). + 1. Checkout our existing [samples](https://github.com/Azure-Samples?q=Storage&language=go). + +# Contributing + +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. + +When contributing, please conform to the following practices: + - Run [gofmt](https://golang.org/cmd/gofmt/) to use standard go formatting. + - Run [golint](https://github.com/golang/lint) to conform to standard naming conventions. + - Run [go vet](https://golang.org/cmd/vet/) to catch common Go mistakes. + - Use [GoASTScanner/gas](https://github.com/GoASTScanner/gas) to ensure there are no common security violations in your contribution. + - Run [go test](https://golang.org/cmd/go/#hdr-Test_packages) to catch possible bugs in the code: `go test ./storage/...`. + - This project uses HTTP recordings for testing. + - The recorder should be attached to the client before calling the functions to test and later stopped. + - If you updated an existing test, its recording might need to be updated. Run `go test ./storage/... -ow -check.f TestName` to rerecord the test. + - Important note: all HTTP requests in the recording must be unique: different bodies, headers (`User-Agent`, `Authorization` and `Date` or `x-ms-date` headers are ignored), URLs and methods. As opposed to the example above, the following test is not suitable for recording: + +``` go +func (s *StorageQueueSuite) TestQueueExists(c *chk.C) { +cli := getQueueClient(c) +rec := cli.client.appendRecorder(c) +defer rec.Stop() + +queue := cli.GetQueueReference(queueName(c)) +ok, err := queue.Exists() +c.Assert(err, chk.IsNil) +c.Assert(ok, chk.Equals, false) + +c.Assert(queue.Create(nil), chk.IsNil) +defer queue.Delete(nil) + +ok, err = queue.Exists() // This is the very same request as the one 5 lines above +// The test replayer gets confused and the test fails in the last line +c.Assert(err, chk.IsNil) +c.Assert(ok, chk.Equals, true) +} +``` + + - On the other side, this test does not repeat requests: the URLs are different. + +``` go +func (s *StorageQueueSuite) TestQueueExists(c *chk.C) { +cli := getQueueClient(c) +rec := cli.client.appendRecorder(c) +defer rec.Stop() + +queue1 := cli.GetQueueReference(queueName(c, "nonexistent")) +ok, err := queue1.Exists() +c.Assert(err, chk.IsNil) +c.Assert(ok, chk.Equals, false) + +queue2 := cli.GetQueueReference(queueName(c, "exisiting")) +c.Assert(queue2.Create(nil), chk.IsNil) +defer queue2.Delete(nil) + +ok, err = queue2.Exists() +c.Assert(err, chk.IsNil) +c.Assert(ok, chk.Equals, true) +} +``` \ No newline at end of file diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/appendblob.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/appendblob.go index 3292cb556..8b5b96d48 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/appendblob.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/appendblob.go @@ -1,7 +1,23 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "bytes" + "crypto/md5" + "encoding/base64" "fmt" "net/http" "net/url" @@ -11,6 +27,8 @@ import ( // PutAppendBlob initializes an empty append blob with specified name. An // append blob must be created using this method before appending blocks. // +// See CreateBlockBlobFromReader for more info on creating blobs. +// // See https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Put-Blob func (b *Blob) PutAppendBlob(options *PutBlobOptions) error { params := url.Values{} @@ -29,8 +47,7 @@ func (b *Blob) PutAppendBlob(options *PutBlobOptions) error { if err != nil { return err } - readAndCloseBody(resp.body) - return checkRespCode(resp.statusCode, []int{http.StatusCreated}) + return b.respondCreation(resp, BlobTypeAppend) } // AppendBlockOptions includes the options for an append block operation @@ -44,6 +61,7 @@ type AppendBlockOptions struct { IfMatch string `header:"If-Match"` IfNoneMatch string `header:"If-None-Match"` RequestID string `header:"x-ms-client-request-id"` + ContentMD5 bool } // AppendBlock appends a block to an append blob. @@ -58,6 +76,10 @@ func (b *Blob) AppendBlock(chunk []byte, options *AppendBlockOptions) error { if options != nil { params = addTimeout(params, options.Timeout) headers = mergeHeaders(headers, headersFromStruct(*options)) + if options.ContentMD5 { + md5sum := md5.Sum(chunk) + headers[headerContentMD5] = base64.StdEncoding.EncodeToString(md5sum[:]) + } } uri := b.Container.bsc.client.getEndpoint(blobServiceName, b.buildPath(), params) @@ -65,6 +87,5 @@ func (b *Blob) AppendBlock(chunk []byte, options *AppendBlockOptions) error { if err != nil { return err } - readAndCloseBody(resp.body) - return checkRespCode(resp.statusCode, []int{http.StatusCreated}) + return b.respondCreation(resp, BlobTypeAppend) } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/appendblob_test.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/appendblob_test.go index 23f2a6e08..035bfbe0c 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/appendblob_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/appendblob_test.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "io/ioutil" @@ -62,7 +76,10 @@ func (s *AppendBlobSuite) TestPutAppendBlobAppendBlocks(c *chk.C) { c.Assert(blobContents, chk.DeepEquals, chunk1) // Append second block - c.Assert(b.AppendBlock(chunk2, nil), chk.IsNil) + op := AppendBlockOptions{ + ContentMD5: true, + } + c.Assert(b.AppendBlock(chunk2, &op), chk.IsNil) // Verify contents options.Range.End = uint64(len(chunk1) + len(chunk2) - 1) diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/authorization.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/authorization.go index 608bf3133..76794c305 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/authorization.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/authorization.go @@ -1,6 +1,20 @@ // Package storage provides clients for Microsoft Azure Storage Services. package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "bytes" "fmt" @@ -41,16 +55,18 @@ const ( ) func (c *Client) addAuthorizationHeader(verb, url string, headers map[string]string, auth authentication) (map[string]string, error) { - authHeader, err := c.getSharedKey(verb, url, headers, auth) - if err != nil { - return nil, err + if !c.sasClient { + authHeader, err := c.getSharedKey(verb, url, headers, auth) + if err != nil { + return nil, err + } + headers[headerAuthorization] = authHeader } - headers[headerAuthorization] = authHeader return headers, nil } func (c *Client) getSharedKey(verb, url string, headers map[string]string, auth authentication) (string, error) { - canRes, err := c.buildCanonicalizedResource(url, auth) + canRes, err := c.buildCanonicalizedResource(url, auth, false) if err != nil { return "", err } @@ -62,15 +78,18 @@ func (c *Client) getSharedKey(verb, url string, headers map[string]string, auth return c.createAuthorizationHeader(canString, auth), nil } -func (c *Client) buildCanonicalizedResource(uri string, auth authentication) (string, error) { +func (c *Client) buildCanonicalizedResource(uri string, auth authentication, sas bool) (string, error) { errMsg := "buildCanonicalizedResource error: %s" u, err := url.Parse(uri) if err != nil { return "", fmt.Errorf(errMsg, err.Error()) } - cr := bytes.NewBufferString("/") - cr.WriteString(c.getCanonicalizedAccountName()) + cr := bytes.NewBufferString("") + if c.accountName != StorageEmulatorAccountName || !sas { + cr.WriteString("/") + cr.WriteString(c.getCanonicalizedAccountName()) + } if len(u.Path) > 0 { // Any portion of the CanonicalizedResource string that is derived from diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/authorization_test.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/authorization_test.go index 420868acf..5da3251e8 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/authorization_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/authorization_test.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/base64" "net/http" @@ -60,26 +74,41 @@ func (a *AuthorizationSuite) Test_buildCanonicalizedResource(c *chk.C) { url string auth authentication expected string + sas bool } tests := []test{ // Shared Key - {"https://golangrocksonazure.blob.core.windows.net/path?a=b&c=d", sharedKey, "/golangrocksonazure/path\na:b\nc:d"}, - {"https://golangrocksonazure.blob.core.windows.net/?comp=list", sharedKey, "/golangrocksonazure/\ncomp:list"}, - {"https://golangrocksonazure.blob.core.windows.net/cnt/blob", sharedKey, "/golangrocksonazure/cnt/blob"}, - {"https://golangrocksonazure.blob.core.windows.net/cnt/bl ob", sharedKey, "/golangrocksonazure/cnt/bl%20ob"}, - {"https://golangrocksonazure.blob.core.windows.net/c nt/blob", sharedKey, "/golangrocksonazure/c%20nt/blob"}, - {"https://golangrocksonazure.blob.core.windows.net/cnt/blob%3F%23%5B%5D%21$&%27%28%29%2A blob", sharedKey, "/golangrocksonazure/cnt/blob%3F%23%5B%5D%21$&%27%28%29%2A%20blob"}, - {"https://golangrocksonazure.blob.core.windows.net/cnt/blob-._~:,@;+=blob", sharedKey, "/golangrocksonazure/cnt/blob-._~:,@;+=blob"}, - {"https://golangrocksonazure.blob.core.windows.net/c nt/blob-._~:%3F%23%5B%5D@%21$&%27%28%29%2A,;+=/blob", sharedKey, "/golangrocksonazure/c%20nt/blob-._~:%3F%23%5B%5D@%21$&%27%28%29%2A,;+=/blob"}, + {"https://golangrocksonazure.blob.core.windows.net/path?a=b&c=d", sharedKey, "/golangrocksonazure/path\na:b\nc:d", false}, + {"https://golangrocksonazure.blob.core.windows.net/?comp=list", sharedKey, "/golangrocksonazure/\ncomp:list", false}, + {"https://golangrocksonazure.blob.core.windows.net/cnt/blob", sharedKey, "/golangrocksonazure/cnt/blob", false}, + {"https://golangrocksonazure.blob.core.windows.net/cnt/bl ob", sharedKey, "/golangrocksonazure/cnt/bl%20ob", false}, + {"https://golangrocksonazure.blob.core.windows.net/c nt/blob", sharedKey, "/golangrocksonazure/c%20nt/blob", false}, + {"https://golangrocksonazure.blob.core.windows.net/cnt/blob%3F%23%5B%5D%21$&%27%28%29%2A blob", sharedKey, "/golangrocksonazure/cnt/blob%3F%23%5B%5D%21$&%27%28%29%2A%20blob", false}, + {"https://golangrocksonazure.blob.core.windows.net/cnt/blob-._~:,@;+=blob", sharedKey, "/golangrocksonazure/cnt/blob-._~:,@;+=blob", false}, + {"https://golangrocksonazure.blob.core.windows.net/c nt/blob-._~:%3F%23%5B%5D@%21$&%27%28%29%2A,;+=/blob", sharedKey, "/golangrocksonazure/c%20nt/blob-._~:%3F%23%5B%5D@%21$&%27%28%29%2A,;+=/blob", false}, // Shared Key Lite for Table - {"https://golangrocksonazure.table.core.windows.net/mytable", sharedKeyLiteForTable, "/golangrocksonazure/mytable"}, - {"https://golangrocksonazure.table.core.windows.net/mytable?comp=acl", sharedKeyLiteForTable, "/golangrocksonazure/mytable?comp=acl"}, - {"https://golangrocksonazure.table.core.windows.net/mytable?comp=acl&timeout=10", sharedKeyForTable, "/golangrocksonazure/mytable?comp=acl"}, - {"https://golangrocksonazure.table.core.windows.net/mytable(PartitionKey='pkey',RowKey='rowkey%3D')", sharedKeyForTable, "/golangrocksonazure/mytable(PartitionKey='pkey',RowKey='rowkey%3D')"}, + {"https://golangrocksonazure.table.core.windows.net/mytable", sharedKeyLiteForTable, "/golangrocksonazure/mytable", false}, + {"https://golangrocksonazure.table.core.windows.net/mytable?comp=acl", sharedKeyLiteForTable, "/golangrocksonazure/mytable?comp=acl", false}, + {"https://golangrocksonazure.table.core.windows.net/mytable?comp=acl&timeout=10", sharedKeyForTable, "/golangrocksonazure/mytable?comp=acl", false}, + {"https://golangrocksonazure.table.core.windows.net/mytable(PartitionKey='pkey',RowKey='rowkey%3D')", sharedKeyForTable, "/golangrocksonazure/mytable(PartitionKey='pkey',RowKey='rowkey%3D')", false}, + // Canonicalized Resource with SAS + {"https://golangrocksonazure.blob.core.windows.net/cnt/blob", sharedKey, "/golangrocksonazure/cnt/blob", true}, } for _, t := range tests { - out, err := cli.buildCanonicalizedResource(t.url, t.auth) + out, err := cli.buildCanonicalizedResource(t.url, t.auth, t.sas) + c.Assert(err, chk.IsNil) + c.Assert(out, chk.Equals, t.expected) + } + + eCli, err := NewEmulatorClient() + c.Assert(err, chk.IsNil) + eTests := []test{ + {"http://127.0.0.1:10000/devstoreaccount1/cnt/blob", sharedKey, "/devstoreaccount1/cnt/blob", true}, + {"http://127.0.0.1:10000/devstoreaccount1/cnt/blob", sharedKey, "/devstoreaccount1/devstoreaccount1/cnt/blob", false}, + } + for _, t := range eTests { + out, err := eCli.buildCanonicalizedResource(t.url, t.auth, t.sas) c.Assert(err, chk.IsNil) c.Assert(out, chk.Equals, t.expected) } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/blob.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/blob.go index e3a19fac3..0e48f3894 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/blob.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/blob.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" "errors" @@ -135,8 +149,7 @@ func (b *Blob) Exists() (bool, error) { } // GetURL gets the canonical URL to the blob with the specified name in the -// specified container. If name is not specified, the canonical URL for the entire -// container is obtained. +// specified container. // This method does not create a publicly accessible URL if the blob or container // is private and this method does not check if the blob exists. func (b *Blob) GetURL() string { @@ -182,6 +195,9 @@ func (br BlobRange) String() string { // Get returns a stream to read the blob. Caller must call both Read and Close() // to correctly close the underlying connection. +// +// See the GetRange method for use with a Range header. +// // See https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Get-Blob func (b *Blob) Get(options *GetBlobOptions) (io.ReadCloser, error) { rangeOptions := GetBlobRangeOptions{ @@ -434,8 +450,8 @@ func (b *Blob) SetProperties(options *SetBlobPropertiesOptions) error { uri := b.Container.bsc.client.getEndpoint(blobServiceName, b.buildPath(), params) if b.Properties.BlobType == BlobTypePage { - headers = addToHeaders(headers, "x-ms-blob-content-length", fmt.Sprintf("byte %v", b.Properties.ContentLength)) - if options != nil || options.SequenceNumberAction != nil { + headers = addToHeaders(headers, "x-ms-blob-content-length", fmt.Sprintf("%v", b.Properties.ContentLength)) + if options != nil && options.SequenceNumberAction != nil { headers = addToHeaders(headers, "x-ms-sequence-number-action", string(*options.SequenceNumberAction)) if *options.SequenceNumberAction != SequenceNumberActionIncrement { headers = addToHeaders(headers, "x-ms-blob-sequence-number", fmt.Sprintf("%v", b.Properties.SequenceNumber)) @@ -624,3 +640,13 @@ func pathForResource(container, name string) string { } return fmt.Sprintf("/%s", container) } + +func (b *Blob) respondCreation(resp *storageResponse, bt BlobType) error { + readAndCloseBody(resp.body) + err := checkRespCode(resp.statusCode, []int{http.StatusCreated}) + if err != nil { + return err + } + b.Properties.BlobType = bt + return nil +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/blob_test.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/blob_test.go index 9009b37c8..cebb03eaa 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/blob_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/blob_test.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "bytes" "encoding/xml" @@ -312,6 +326,26 @@ func (s *StorageBlobSuite) TestSetBlobProperties(c *chk.C) { c.Check(b.Properties.ContentLanguage, chk.Equals, input.ContentLanguage) } +func (s *StorageBlobSuite) TestSetPageBlobProperties(c *chk.C) { + cli := getBlobClient(c) + rec := cli.client.appendRecorder(c) + defer rec.Stop() + + cnt := cli.GetContainerReference(containerName(c)) + b := cnt.GetBlobReference(blobName(c)) + c.Assert(cnt.Create(nil), chk.IsNil) + defer cnt.Delete(nil) + + size := int64(1024) + b.Properties.ContentLength = size + c.Assert(b.PutPageBlob(nil), chk.IsNil) + + b.Properties.ContentLength = int64(512) + options := SetBlobPropertiesOptions{Timeout: 30} + err := b.SetProperties(&options) + c.Assert(err, chk.IsNil) +} + func (s *StorageBlobSuite) TestSnapshotBlob(c *chk.C) { cli := getBlobClient(c) rec := cli.client.appendRecorder(c) diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/blobsasuri.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/blobsasuri.go index 43173d3a4..e11af7744 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/blobsasuri.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/blobsasuri.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "errors" "fmt" @@ -8,68 +22,122 @@ import ( "time" ) -// GetSASURIWithSignedIPAndProtocol creates an URL to the specified blob which contains the Shared -// Access Signature with specified permissions and expiration time. Also includes signedIPRange and allowed protocols. -// If old API version is used but no signedIP is passed (ie empty string) then this should still work. -// We only populate the signedIP when it non-empty. +// OverrideHeaders defines overridable response heaedrs in +// a request using a SAS URI. +// See https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas +type OverrideHeaders struct { + CacheControl string + ContentDisposition string + ContentEncoding string + ContentLanguage string + ContentType string +} + +// BlobSASOptions are options to construct a blob SAS +// URI. +// See https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas +type BlobSASOptions struct { + BlobServiceSASPermissions + OverrideHeaders + SASOptions +} + +// BlobServiceSASPermissions includes the available permissions for +// blob service SAS URI. +type BlobServiceSASPermissions struct { + Read bool + Add bool + Create bool + Write bool + Delete bool +} + +func (p BlobServiceSASPermissions) buildString() string { + permissions := "" + if p.Read { + permissions += "r" + } + if p.Add { + permissions += "a" + } + if p.Create { + permissions += "c" + } + if p.Write { + permissions += "w" + } + if p.Delete { + permissions += "d" + } + return permissions +} + +// GetSASURI creates an URL to the blob which contains the Shared +// Access Signature with the specified options. // -// See https://msdn.microsoft.com/en-us/library/azure/ee395415.aspx -func (b *Blob) GetSASURIWithSignedIPAndProtocol(expiry time.Time, permissions string, signedIPRange string, HTTPSOnly bool) (string, error) { - var ( - signedPermissions = permissions - blobURL = b.GetURL() - ) - canonicalizedResource, err := b.Container.bsc.client.buildCanonicalizedResource(blobURL, b.Container.bsc.auth) +// See https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas +func (b *Blob) GetSASURI(options BlobSASOptions) (string, error) { + uri := b.GetURL() + signedResource := "b" + canonicalizedResource, err := b.Container.bsc.client.buildCanonicalizedResource(uri, b.Container.bsc.auth, true) if err != nil { return "", err } - // "The canonicalizedresouce portion of the string is a canonical path to the signed resource. - // It must include the service name (blob, table, queue or file) for version 2015-02-21 or - // later, the storage account name, and the resource name, and must be URL-decoded. - // -- https://msdn.microsoft.com/en-us/library/azure/dn140255.aspx + permissions := options.BlobServiceSASPermissions.buildString() + return b.Container.bsc.client.blobAndFileSASURI(options.SASOptions, uri, permissions, canonicalizedResource, signedResource, options.OverrideHeaders) +} + +func (c *Client) blobAndFileSASURI(options SASOptions, uri, permissions, canonicalizedResource, signedResource string, headers OverrideHeaders) (string, error) { + start := "" + if options.Start != (time.Time{}) { + start = options.Start.UTC().Format(time.RFC3339) + } + + expiry := options.Expiry.UTC().Format(time.RFC3339) // We need to replace + with %2b first to avoid being treated as a space (which is correct for query strings, but not the path component). canonicalizedResource = strings.Replace(canonicalizedResource, "+", "%2b", -1) - canonicalizedResource, err = url.QueryUnescape(canonicalizedResource) + canonicalizedResource, err := url.QueryUnescape(canonicalizedResource) if err != nil { return "", err } - signedExpiry := expiry.UTC().Format(time.RFC3339) - - //If blob name is missing, resource is a container - signedResource := "c" - if len(b.Name) > 0 { - signedResource = "b" - } - - protocols := "https,http" - if HTTPSOnly { + protocols := "" + if options.UseHTTPS { protocols = "https" } - stringToSign, err := blobSASStringToSign(b.Container.bsc.client.apiVersion, canonicalizedResource, signedExpiry, signedPermissions, signedIPRange, protocols) + stringToSign, err := blobSASStringToSign(permissions, start, expiry, canonicalizedResource, options.Identifier, options.IP, protocols, c.apiVersion, headers) if err != nil { return "", err } - sig := b.Container.bsc.client.computeHmac256(stringToSign) + sig := c.computeHmac256(stringToSign) sasParams := url.Values{ - "sv": {b.Container.bsc.client.apiVersion}, - "se": {signedExpiry}, + "sv": {c.apiVersion}, + "se": {expiry}, "sr": {signedResource}, - "sp": {signedPermissions}, + "sp": {permissions}, "sig": {sig}, } - if b.Container.bsc.client.apiVersion >= "2015-04-05" { - sasParams.Add("spr", protocols) - if signedIPRange != "" { - sasParams.Add("sip", signedIPRange) + if c.apiVersion >= "2015-04-05" { + if protocols != "" { + sasParams.Add("spr", protocols) + } + if options.IP != "" { + sasParams.Add("sip", options.IP) } } - sasURL, err := url.Parse(blobURL) + // Add override response hedaers + addQueryParameter(sasParams, "rscc", headers.CacheControl) + addQueryParameter(sasParams, "rscd", headers.ContentDisposition) + addQueryParameter(sasParams, "rsce", headers.ContentEncoding) + addQueryParameter(sasParams, "rscl", headers.ContentLanguage) + addQueryParameter(sasParams, "rsct", headers.ContentType) + + sasURL, err := url.Parse(uri) if err != nil { return "", err } @@ -77,16 +145,12 @@ func (b *Blob) GetSASURIWithSignedIPAndProtocol(expiry time.Time, permissions st return sasURL.String(), nil } -// GetSASURI creates an URL to the specified blob which contains the Shared -// Access Signature with specified permissions and expiration time. -// -// See https://msdn.microsoft.com/en-us/library/azure/ee395415.aspx -func (b *Blob) GetSASURI(expiry time.Time, permissions string) (string, error) { - return b.GetSASURIWithSignedIPAndProtocol(expiry, permissions, "", false) -} - -func blobSASStringToSign(signedVersion, canonicalizedResource, signedExpiry, signedPermissions string, signedIP string, protocols string) (string, error) { - var signedStart, signedIdentifier, rscc, rscd, rsce, rscl, rsct string +func blobSASStringToSign(signedPermissions, signedStart, signedExpiry, canonicalizedResource, signedIdentifier, signedIP, protocols, signedVersion string, headers OverrideHeaders) (string, error) { + rscc := headers.CacheControl + rscd := headers.ContentDisposition + rsce := headers.ContentEncoding + rscl := headers.ContentLanguage + rsct := headers.ContentType if signedVersion >= "2015-02-21" { canonicalizedResource = "/blob" + canonicalizedResource diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/blobsasuri_test.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/blobsasuri_test.go index ac2b6b1c5..b69aab0d8 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/blobsasuri_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/blobsasuri_test.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "io/ioutil" "net/http" @@ -22,7 +36,6 @@ func (s *BlobSASURISuite) TestGetBlobSASURI(c *chk.C) { cli := api.GetBlobService() cnt := cli.GetContainerReference("container") b := cnt.GetBlobReference("name") - expiry := time.Time{} expectedParts := url.URL{ Scheme: "https", @@ -34,9 +47,14 @@ func (s *BlobSASURISuite) TestGetBlobSASURI(c *chk.C) { "sr": {"b"}, "sp": {"r"}, "se": {"0001-01-01T00:00:00Z"}, - }.Encode()} + }.Encode(), + } - u, err := b.GetSASURI(expiry, "r") + sasuriOptions := BlobSASOptions{} + sasuriOptions.Read = true + sasuriOptions.UseHTTPS = true + + u, err := b.GetSASURI(sasuriOptions) c.Assert(err, chk.IsNil) sasParts, err := url.Parse(u) c.Assert(err, chk.IsNil) @@ -50,8 +68,6 @@ func (s *BlobSASURISuite) TestGetBlobSASURIContainer(c *chk.C) { c.Assert(err, chk.IsNil) cli := api.GetBlobService() cnt := cli.GetContainerReference("container") - b := cnt.GetBlobReference("") - expiry := time.Time{} expectedParts := url.URL{ Scheme: "https", @@ -63,9 +79,13 @@ func (s *BlobSASURISuite) TestGetBlobSASURIContainer(c *chk.C) { "sr": {"c"}, "sp": {"r"}, "se": {"0001-01-01T00:00:00Z"}, - }.Encode()} + }.Encode(), + } - u, err := b.GetSASURI(expiry, "r") + sasuriOptions := ContainerSASOptions{} + sasuriOptions.Read = true + + u, err := cnt.GetSASURI(sasuriOptions) c.Assert(err, chk.IsNil) sasParts, err := url.Parse(u) c.Assert(err, chk.IsNil) @@ -79,7 +99,6 @@ func (s *BlobSASURISuite) TestGetBlobSASURIWithSignedIPAndProtocolValidAPIVersio cli := api.GetBlobService() cnt := cli.GetContainerReference("container") b := cnt.GetBlobReference("name") - expiry := time.Time{} expectedParts := url.URL{ Scheme: "https", @@ -93,9 +112,15 @@ func (s *BlobSASURISuite) TestGetBlobSASURIWithSignedIPAndProtocolValidAPIVersio "sp": {"r"}, "se": {"0001-01-01T00:00:00Z"}, "spr": {"https"}, - }.Encode()} + }.Encode(), + } - u, err := b.GetSASURIWithSignedIPAndProtocol(expiry, "r", "127.0.0.1", true) + sasuriOptions := BlobSASOptions{} + sasuriOptions.Read = true + sasuriOptions.IP = "127.0.0.1" + sasuriOptions.UseHTTPS = true + + u, err := b.GetSASURI(sasuriOptions) c.Assert(err, chk.IsNil) sasParts, err := url.Parse(u) c.Assert(err, chk.IsNil) @@ -110,7 +135,6 @@ func (s *BlobSASURISuite) TestGetBlobSASURIWithSignedIPAndProtocolUsingOldAPIVer cli := api.GetBlobService() cnt := cli.GetContainerReference("container") b := cnt.GetBlobReference("name") - expiry := time.Time{} expectedParts := url.URL{ Scheme: "https", @@ -122,9 +146,14 @@ func (s *BlobSASURISuite) TestGetBlobSASURIWithSignedIPAndProtocolUsingOldAPIVer "sr": {"b"}, "sp": {"r"}, "se": {"0001-01-01T00:00:00Z"}, - }.Encode()} + }.Encode(), + } - u, err := b.GetSASURIWithSignedIPAndProtocol(expiry, "r", "", true) + sasuriOptions := BlobSASOptions{} + sasuriOptions.Read = true + sasuriOptions.UseHTTPS = true + + u, err := b.GetSASURI(sasuriOptions) c.Assert(err, chk.IsNil) sasParts, err := url.Parse(u) c.Assert(err, chk.IsNil) @@ -134,11 +163,6 @@ func (s *BlobSASURISuite) TestGetBlobSASURIWithSignedIPAndProtocolUsingOldAPIVer func (s *BlobSASURISuite) TestBlobSASURICorrectness(c *chk.C) { cli := getBlobClient(c) - - if cli.client.usesDummies() { - c.Skip("As GetSASURI result depends on the account key, it is not practical to test it with a dummy key.") - } - simpleClient := &http.Client{} rec := cli.client.appendRecorder(c) simpleClient.Transport = rec @@ -150,12 +174,13 @@ func (s *BlobSASURISuite) TestBlobSASURICorrectness(c *chk.C) { defer cnt.Delete(nil) body := content(100) - expiry := fixedTime.UTC().Add(time.Hour) - permissions := "r" - c.Assert(b.putSingleBlockBlob(body), chk.IsNil) - sasURI, err := b.GetSASURI(expiry, permissions) + sasuriOptions := BlobSASOptions{} + sasuriOptions.Expiry = fixedTime.UTC().Add(time.Hour) + sasuriOptions.Read = true + + sasURI, err := b.GetSASURI(sasuriOptions) c.Assert(err, chk.IsNil) resp, err := simpleClient.Get(sasURI) @@ -171,15 +196,34 @@ func (s *BlobSASURISuite) TestBlobSASURICorrectness(c *chk.C) { } func (s *BlobSASURISuite) Test_blobSASStringToSign(c *chk.C) { - _, err := blobSASStringToSign("2012-02-12", "CS", "SE", "SP", "", "") + _, err := blobSASStringToSign("2012-02-12", "CS", "SE", "SP", "", "", "", "", OverrideHeaders{}) c.Assert(err, chk.NotNil) // not implemented SAS for versions earlier than 2013-08-15 - out, err := blobSASStringToSign(oldAPIVer, "CS", "SE", "SP", "", "") + out, err := blobSASStringToSign("SP", "", "SE", "CS", "", "", "", oldAPIVer, OverrideHeaders{}) c.Assert(err, chk.IsNil) c.Assert(out, chk.Equals, "SP\n\nSE\nCS\n\n2013-08-15\n\n\n\n\n") // check format for 2015-04-05 version - out, err = blobSASStringToSign(newerAPIVer, "CS", "SE", "SP", "127.0.0.1", "https,http") + out, err = blobSASStringToSign("SP", "", "SE", "CS", "", "127.0.0.1", "https,http", newerAPIVer, OverrideHeaders{}) c.Assert(err, chk.IsNil) c.Assert(out, chk.Equals, "SP\n\nSE\n/blobCS\n\n127.0.0.1\nhttps,http\n2015-04-05\n\n\n\n\n") } + +func (s *BlobSASURISuite) TestGetBlobSASURIStorageEmulator(c *chk.C) { + client, err := NewEmulatorClient() + c.Assert(err, chk.IsNil) + blobService := client.GetBlobService() + container := blobService.GetContainerReference("testfolder") + blob := container.GetBlobReference("testfile") + options := BlobSASOptions{ + SASOptions: SASOptions{ + Expiry: time.Date(2017, 9, 30, 16, 0, 0, 0, time.UTC), + }, + BlobServiceSASPermissions: BlobServiceSASPermissions{ + Write: true, + }, + } + url, err := blob.GetSASURI(options) + c.Assert(err, chk.IsNil) + c.Assert(url, chk.Equals, "http://127.0.0.1:10000/devstoreaccount1/testfolder/testfile?se=2017-09-30T16%3A00%3A00Z&sig=Tyrg2ccc0RXyRz5xfkcSVDvjjoRivygrGb%2ByTLf0jJY%3D&sp=w&sr=b&sv=2016-05-31") +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/blobserviceclient.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/blobserviceclient.go index 450b20f96..8fe21b0cf 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/blobserviceclient.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/blobserviceclient.go @@ -1,9 +1,25 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( + "fmt" "net/http" "net/url" "strconv" + "strings" ) // BlobStorageClient contains operations for Microsoft Azure Blob Storage @@ -45,6 +61,21 @@ func (b *BlobStorageClient) GetContainerReference(name string) *Container { } } +// GetContainerReferenceFromSASURI returns a Container object for the specified +// container SASURI +func GetContainerReferenceFromSASURI(sasuri url.URL) (*Container, error) { + path := strings.Split(sasuri.Path, "/") + if len(path) <= 1 { + return nil, fmt.Errorf("could not find a container in URI: %s", sasuri.String()) + } + cli := newSASClient().GetBlobService() + return &Container{ + bsc: &cli, + Name: path[1], + sasuri: sasuri, + }, nil +} + // ListContainers returns the list of containers in a storage account along with // pagination token and other response details. // diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/blockblob.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/blockblob.go index cb773abee..e0176d664 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/blockblob.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/blockblob.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "bytes" "encoding/xml" @@ -68,6 +82,8 @@ type BlockResponse struct { // CreateBlockBlob initializes an empty block blob with no blocks. // +// See CreateBlockBlobFromReader for more info on creating blobs. +// // See https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Put-Blob func (b *Blob) CreateBlockBlob(options *PutBlobOptions) error { return b.CreateBlockBlobFromReader(nil, options) @@ -77,10 +93,17 @@ func (b *Blob) CreateBlockBlob(options *PutBlobOptions) error { // reader. Size must be the number of bytes read from reader. To // create an empty blob, use size==0 and reader==nil. // +// Any headers set in blob.Properties or metadata in blob.Metadata +// will be set on the blob. +// // The API rejects requests with size > 256 MiB (but this limit is not // checked by the SDK). To write a larger blob, use CreateBlockBlob, // PutBlock, and PutBlockList. // +// To create a blob from scratch, call container.GetBlobReference() to +// get an empty blob, fill in blob.Properties and blob.Metadata as +// appropriate then call this method. +// // See https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Put-Blob func (b *Blob) CreateBlockBlobFromReader(blob io.Reader, options *PutBlobOptions) error { params := url.Values{} @@ -123,8 +146,7 @@ func (b *Blob) CreateBlockBlobFromReader(blob io.Reader, options *PutBlobOptions if err != nil { return err } - readAndCloseBody(resp.body) - return checkRespCode(resp.statusCode, []int{http.StatusCreated}) + return b.respondCreation(resp, BlobTypeBlock) } // PutBlockOptions includes the options for a put block operation @@ -172,8 +194,7 @@ func (b *Blob) PutBlockWithLength(blockID string, size uint64, blob io.Reader, o if err != nil { return err } - readAndCloseBody(resp.body) - return checkRespCode(resp.statusCode, []int{http.StatusCreated}) + return b.respondCreation(resp, BlobTypeBlock) } // PutBlockListOptions includes the options for a put block list operation diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/blockblob_test.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/blockblob_test.go index 9a5f37832..d9f86e8aa 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/blockblob_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/blockblob_test.go @@ -1,8 +1,23 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "bytes" "encoding/base64" + "io" "io/ioutil" chk "gopkg.in/check.v1" @@ -132,3 +147,20 @@ func (s *BlockBlobSuite) TestPutEmptyBlockBlob(c *chk.C) { c.Assert(err, chk.IsNil) c.Assert(b.Properties.ContentLength, chk.Not(chk.Equals), 0) } + +func (s *BlockBlobSuite) TestPutBlockWithLengthUsingLimitReader(c *chk.C) { + cli := getBlobClient(c) + rec := cli.client.appendRecorder(c) + defer rec.Stop() + + cnt := cli.GetContainerReference(containerName(c)) + b := cnt.GetBlobReference(blobName(c)) + c.Assert(cnt.Create(nil), chk.IsNil) + defer cnt.Delete(nil) + + length := 512 + data := content(length) + + lr := io.LimitReader(bytes.NewReader(data), 256) + c.Assert(b.PutBlockWithLength("0000", 256, lr, nil), chk.IsNil) +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/client.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/client.go index 0bbe0417a..8f6cd95da 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/client.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/client.go @@ -1,6 +1,20 @@ // Package storage provides clients for Microsoft Azure Storage Services. package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "bufio" "bytes" @@ -33,7 +47,9 @@ const ( // basic client is created. DefaultAPIVersion = "2016-05-31" - defaultUseHTTPS = true + defaultUseHTTPS = true + defaultRetryAttempts = 5 + defaultRetryDuration = time.Second * 5 // StorageEmulatorAccountName is the fixed storage account used by Azure Storage Emulator StorageEmulatorAccountName = "devstoreaccount1" @@ -56,7 +72,14 @@ const ( ) var ( - validStorageAccount = regexp.MustCompile("^[0-9a-z]{3,24}$") + validStorageAccount = regexp.MustCompile("^[0-9a-z]{3,24}$") + defaultValidStatusCodes = []int{ + http.StatusRequestTimeout, // 408 + http.StatusInternalServerError, // 500 + http.StatusBadGateway, // 502 + http.StatusServiceUnavailable, // 503 + http.StatusGatewayTimeout, // 504 + } ) // Sender sends a request @@ -112,6 +135,8 @@ type Client struct { baseURL string apiVersion string userAgent string + sasClient bool + accountSASToken url.Values } type storageResponse struct { @@ -206,13 +231,13 @@ func NewEmulatorClient() (Client, error) { // NewClient constructs a Client. This should be used if the caller wants // to specify whether to use HTTPS, a specific REST API version or a custom // storage endpoint than Azure Public Cloud. -func NewClient(accountName, accountKey, blobServiceBaseURL, apiVersion string, useHTTPS bool) (Client, error) { +func NewClient(accountName, accountKey, serviceBaseURL, apiVersion string, useHTTPS bool) (Client, error) { var c Client if !IsValidStorageAccount(accountName) { return c, fmt.Errorf("azure: account name is not valid: it must be between 3 and 24 characters, and only may contain numbers and lowercase letters: %v", accountName) } else if accountKey == "" { return c, fmt.Errorf("azure: account key required") - } else if blobServiceBaseURL == "" { + } else if serviceBaseURL == "" { return c, fmt.Errorf("azure: base storage service url required") } @@ -226,19 +251,14 @@ func NewClient(accountName, accountKey, blobServiceBaseURL, apiVersion string, u accountName: accountName, accountKey: key, useHTTPS: useHTTPS, - baseURL: blobServiceBaseURL, + baseURL: serviceBaseURL, apiVersion: apiVersion, + sasClient: false, UseSharedKeyLite: false, Sender: &DefaultSender{ - RetryAttempts: 5, - ValidStatusCodes: []int{ - http.StatusRequestTimeout, // 408 - http.StatusInternalServerError, // 500 - http.StatusBadGateway, // 502 - http.StatusServiceUnavailable, // 503 - http.StatusGatewayTimeout, // 504 - }, - RetryDuration: time.Second * 5, + RetryAttempts: defaultRetryAttempts, + ValidStatusCodes: defaultValidStatusCodes, + RetryDuration: defaultRetryDuration, }, } c.userAgent = c.getDefaultUserAgent() @@ -251,6 +271,43 @@ func IsValidStorageAccount(account string) bool { return validStorageAccount.MatchString(account) } +// NewAccountSASClient contructs a client that uses accountSAS authorization +// for its operations. +func NewAccountSASClient(account string, token url.Values, env azure.Environment) Client { + c := newSASClient() + c.accountSASToken = token + c.accountName = account + c.baseURL = env.StorageEndpointSuffix + + // Get API version and protocol from token + c.apiVersion = token.Get("sv") + c.useHTTPS = token.Get("spr") == "https" + return c +} + +func newSASClient() Client { + c := Client{ + HTTPClient: http.DefaultClient, + apiVersion: DefaultAPIVersion, + sasClient: true, + Sender: &DefaultSender{ + RetryAttempts: defaultRetryAttempts, + ValidStatusCodes: defaultValidStatusCodes, + RetryDuration: defaultRetryDuration, + }, + } + c.userAgent = c.getDefaultUserAgent() + return c +} + +func (c Client) isServiceSASClient() bool { + return c.sasClient && c.accountSASToken == nil +} + +func (c Client) isAccountSASClient() bool { + return c.sasClient && c.accountSASToken != nil +} + func (c Client) getDefaultUserAgent() string { return fmt.Sprintf("Go/%s (%s-%s) azure-storage-go/%s api-version/%s", runtime.Version(), @@ -323,6 +380,164 @@ func (c Client) getEndpoint(service, path string, params url.Values) string { return u.String() } +// AccountSASTokenOptions includes options for constructing +// an account SAS token. +// https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-an-account-sas +type AccountSASTokenOptions struct { + APIVersion string + Services Services + ResourceTypes ResourceTypes + Permissions Permissions + Start time.Time + Expiry time.Time + IP string + UseHTTPS bool +} + +// Services specify services accessible with an account SAS. +type Services struct { + Blob bool + Queue bool + Table bool + File bool +} + +// ResourceTypes specify the resources accesible with an +// account SAS. +type ResourceTypes struct { + Service bool + Container bool + Object bool +} + +// Permissions specifies permissions for an accountSAS. +type Permissions struct { + Read bool + Write bool + Delete bool + List bool + Add bool + Create bool + Update bool + Process bool +} + +// GetAccountSASToken creates an account SAS token +// See https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-an-account-sas +func (c Client) GetAccountSASToken(options AccountSASTokenOptions) (url.Values, error) { + if options.APIVersion == "" { + options.APIVersion = c.apiVersion + } + + if options.APIVersion < "2015-04-05" { + return url.Values{}, fmt.Errorf("account SAS does not support API versions prior to 2015-04-05. API version : %s", options.APIVersion) + } + + // build services string + services := "" + if options.Services.Blob { + services += "b" + } + if options.Services.Queue { + services += "q" + } + if options.Services.Table { + services += "t" + } + if options.Services.File { + services += "f" + } + + // build resources string + resources := "" + if options.ResourceTypes.Service { + resources += "s" + } + if options.ResourceTypes.Container { + resources += "c" + } + if options.ResourceTypes.Object { + resources += "o" + } + + // build permissions string + permissions := "" + if options.Permissions.Read { + permissions += "r" + } + if options.Permissions.Write { + permissions += "w" + } + if options.Permissions.Delete { + permissions += "d" + } + if options.Permissions.List { + permissions += "l" + } + if options.Permissions.Add { + permissions += "a" + } + if options.Permissions.Create { + permissions += "c" + } + if options.Permissions.Update { + permissions += "u" + } + if options.Permissions.Process { + permissions += "p" + } + + // build start time, if exists + start := "" + if options.Start != (time.Time{}) { + start = options.Start.Format(time.RFC3339) + // For some reason I don't understand, it fails when the rest of the string is included + start = start[:10] + } + + // build expiry time + expiry := options.Expiry.Format(time.RFC3339) + // For some reason I don't understand, it fails when the rest of the string is included + expiry = expiry[:10] + + protocol := "https,http" + if options.UseHTTPS { + protocol = "https" + } + + stringToSign := strings.Join([]string{ + c.accountName, + permissions, + services, + resources, + start, + expiry, + options.IP, + protocol, + options.APIVersion, + "", + }, "\n") + signature := c.computeHmac256(stringToSign) + + sasParams := url.Values{ + "sv": {options.APIVersion}, + "ss": {services}, + "srt": {resources}, + "sp": {permissions}, + "se": {expiry}, + "spr": {protocol}, + "sig": {signature}, + } + if start != "" { + sasParams.Add("st", start) + } + if options.IP != "" { + sasParams.Add("sip", options.IP) + } + + return sasParams, nil +} + // GetBlobService returns a BlobStorageClient which can operate on the blob // service of the storage account. func (c Client) GetBlobService() BlobStorageClient { @@ -398,6 +613,15 @@ func (c Client) exec(verb, url string, headers map[string]string, body io.Reader return nil, errors.New("azure/storage: error creating request: " + err.Error()) } + // if a body was provided ensure that the content length was set. + // http.NewRequest() will automatically do this for a handful of types + // and for those that it doesn't we will handle here. + if body != nil && req.ContentLength < 1 { + if lr, ok := body.(*io.LimitedReader); ok { + setContentLengthFromLimitedReader(req, lr) + } + } + for k, v := range headers { req.Header[k] = append(req.Header[k], v) // Must bypass case munging present in `Add` by using map functions directly. See https://github.com/Azure/azure-sdk-for-go/issues/645 } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/client_test.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/client_test.go index d7459c047..5b721a663 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/client_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/client_test.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "bytes" "encoding/base64" @@ -72,6 +86,16 @@ func getBasicClient(c *chk.C) *Client { func (client *Client) appendRecorder(c *chk.C) *recorder.Recorder { tests := strings.Split(c.TestName(), ".") path := filepath.Join(recordingsFolder, tests[0], tests[1]) + + if overwriteRec { + fullPath := filepath.Join(pwd, path+".yaml") + _, err := os.Stat(fullPath) + if err == nil { + err := os.Remove(fullPath) + c.Assert(err, chk.IsNil) + } + } + rec, err := recorder.New(path) c.Assert(err, chk.IsNil) client.HTTPClient = &http.Client{ @@ -103,14 +127,24 @@ func compareMethods(r *http.Request, i cassette.Request) bool { } func compareURLs(r *http.Request, i cassette.Request) bool { - newURL := modifyURL(r.URL) - return newURL.String() == i.URL + requestURL := modifyURL(r.URL) + + cassetteURL, err := url.Parse(i.URL) + if err != nil { + return false + } + + err = removeSAS(cassetteURL) + if err != nil { + return false + } + return requestURL.String() == cassetteURL.String() } -func modifyURL(url *url.URL) *url.URL { +func modifyURL(uri *url.URL) *url.URL { // The URL host looks like this... // accountname.service.storageEndpointSuffix - parts := strings.Split(url.Host, ".") + parts := strings.Split(uri.Host, ".") // parts[0] corresponds to the storage account name, so it can be (almost) any string // parts[1] corresponds to the service name (table, blob, etc.). if !(parts[1] == blobServiceName || @@ -129,11 +163,29 @@ func modifyURL(url *url.URL) *url.URL { } host := dummyStorageAccount + "." + parts[1] + "." + azure.PublicCloud.StorageEndpointSuffix - newURL := url + newURL := uri newURL.Host = host + + err := removeSAS(newURL) + if err != nil { + return nil + } return newURL } +func removeSAS(uri *url.URL) error { + // Remove signature from a SAS URI + v := uri.Query() + v.Del("sig") + + q, err := url.QueryUnescape(v.Encode()) + if err != nil { + return err + } + uri.RawQuery = q + return nil +} + func compareHeaders(r *http.Request, i cassette.Request) bool { requestHeaders := r.Header cassetteHeaders := i.Headers @@ -517,7 +569,7 @@ func (s *StorageClientSuite) Test_doRetry(c *chk.C) { c.Assert(resp.StatusCode, chk.Equals, http.StatusNotFound) // Was it the correct amount of retries... ? - c.Assert(cli.Sender.(*DefaultSender).attempts, chk.Equals, cli.Sender.(*DefaultSender).RetryAttempts) + c.Assert(cli.Sender.(*DefaultSender).attempts, chk.Equals, ds.RetryAttempts) // What about time... ? // Note, seconds are rounded sum := 0 @@ -525,4 +577,57 @@ func (s *StorageClientSuite) Test_doRetry(c *chk.C) { sum += int(ds.RetryDuration.Seconds() * math.Pow(2, float64(i))) // same formula used in autorest.DelayForBackoff } c.Assert(int(afterRetries.Seconds()), chk.Equals, sum) + + // Service SAS test + blobCli := getBlobClient(c) + cnt := blobCli.GetContainerReference(containerName(c)) + sasuriOptions := ContainerSASOptions{} + sasuriOptions.Expiry = fixedTime + sasuriOptions.Read = true + sasuriOptions.Add = true + sasuriOptions.Create = true + sasuriOptions.Write = true + sasuriOptions.Delete = true + sasuriOptions.List = true + + sasuriString, err := cnt.GetSASURI(sasuriOptions) + c.Assert(err, chk.IsNil) + + sasuri, err := url.Parse(sasuriString) + c.Assert(err, chk.IsNil) + + cntServiceSAS, err := GetContainerReferenceFromSASURI(*sasuri) + c.Assert(err, chk.IsNil) + cntServiceSAS.Client().HTTPClient = cli.HTTPClient + + // This request will fail with 403 + ds.ValidStatusCodes = []int{http.StatusForbidden} + cntServiceSAS.Client().Sender = ds + + now = time.Now() + _, err = cntServiceSAS.Exists() + afterRetries = time.Since(now) + c.Assert(err, chk.NotNil) + + c.Assert(cntServiceSAS.Client().Sender.(*DefaultSender).attempts, chk.Equals, ds.RetryAttempts) + c.Assert(int(afterRetries.Seconds()), chk.Equals, sum) + + // Account SAS test + token, err := cli.GetAccountSASToken(accountSASOptions) + c.Assert(err, chk.IsNil) + + SAScli := NewAccountSASClient(cli.accountName, token, azure.PublicCloud).GetBlobService() + cntAccountSAS := SAScli.GetContainerReference(cnt.Name) + cntAccountSAS.Client().HTTPClient = cli.HTTPClient + + ds.ValidStatusCodes = []int{http.StatusNotFound} + cntAccountSAS.Client().Sender = ds + + now = time.Now() + _, err = cntAccountSAS.Exists() + afterRetries = time.Since(now) + c.Assert(err, chk.IsNil) + + c.Assert(cntAccountSAS.Client().Sender.(*DefaultSender).attempts, chk.Equals, ds.RetryAttempts) + c.Assert(int(afterRetries.Seconds()), chk.Equals, sum) } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/commonsasuri.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/commonsasuri.go new file mode 100644 index 000000000..e898e9bfa --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/commonsasuri.go @@ -0,0 +1,38 @@ +package storage + +// Copyright 2017 Microsoft Corporation +// +// 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. + +import ( + "net/url" + "time" +) + +// SASOptions includes options used by SAS URIs for different +// services and resources. +type SASOptions struct { + APIVersion string + Start time.Time + Expiry time.Time + IP string + UseHTTPS bool + Identifier string +} + +func addQueryParameter(query url.Values, key, value string) url.Values { + if value != "" { + query.Add(key, value) + } + return query +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/container.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/container.go index c2c9c055b..8963c7a89 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/container.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/container.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" "errors" @@ -18,12 +32,66 @@ type Container struct { Name string `xml:"Name"` Properties ContainerProperties `xml:"Properties"` Metadata map[string]string + sasuri url.URL +} + +// Client returns the HTTP client used by the Container reference. +func (c *Container) Client() *Client { + return &c.bsc.client } func (c *Container) buildPath() string { return fmt.Sprintf("/%s", c.Name) } +// GetURL gets the canonical URL to the container. +// This method does not create a publicly accessible URL if the container +// is private and this method does not check if the blob exists. +func (c *Container) GetURL() string { + container := c.Name + if container == "" { + container = "$root" + } + return c.bsc.client.getEndpoint(blobServiceName, pathForResource(container, ""), nil) +} + +// ContainerSASOptions are options to construct a container SAS +// URI. +// See https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas +type ContainerSASOptions struct { + ContainerSASPermissions + OverrideHeaders + SASOptions +} + +// ContainerSASPermissions includes the available permissions for +// a container SAS URI. +type ContainerSASPermissions struct { + BlobServiceSASPermissions + List bool +} + +// GetSASURI creates an URL to the container which contains the Shared +// Access Signature with the specified options. +// +// See https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas +func (c *Container) GetSASURI(options ContainerSASOptions) (string, error) { + uri := c.GetURL() + signedResource := "c" + canonicalizedResource, err := c.bsc.client.buildCanonicalizedResource(uri, c.bsc.auth, true) + if err != nil { + return "", err + } + + // build permissions string + permissions := options.BlobServiceSASPermissions.buildString() + if options.List { + permissions += "l" + } + + return c.bsc.client.blobAndFileSASURI(options.SASOptions, uri, permissions, canonicalizedResource, signedResource, options.OverrideHeaders) +} + // ContainerProperties contains various properties of a container returned from // various endpoints like ListContainers. type ContainerProperties struct { @@ -224,7 +292,20 @@ func (c *Container) create(options *CreateContainerOptions) (*storageResponse, e // Exists returns true if a container with given name exists // on the storage account, otherwise returns false. func (c *Container) Exists() (bool, error) { - uri := c.bsc.client.getEndpoint(blobServiceName, c.buildPath(), url.Values{"restype": {"container"}}) + q := url.Values{"restype": {"container"}} + var uri string + if c.bsc.client.isServiceSASClient() { + q = mergeParams(q, c.sasuri.Query()) + newURI := c.sasuri + newURI.RawQuery = q.Encode() + uri = newURI.String() + + } else { + if c.bsc.client.isAccountSASClient() { + q = mergeParams(q, c.bsc.client.accountSASToken) + } + uri = c.bsc.client.getEndpoint(blobServiceName, c.buildPath(), q) + } headers := c.bsc.client.getStandardHeaders() resp, err := c.bsc.client.exec(http.MethodHead, uri, headers, nil, c.bsc.auth) @@ -399,9 +480,20 @@ func (c *Container) delete(options *DeleteContainerOptions) (*storageResponse, e func (c *Container) ListBlobs(params ListBlobsParameters) (BlobListResponse, error) { q := mergeParams(params.getParameters(), url.Values{ "restype": {"container"}, - "comp": {"list"}}, - ) - uri := c.bsc.client.getEndpoint(blobServiceName, c.buildPath(), q) + "comp": {"list"}, + }) + var uri string + if c.bsc.client.isServiceSASClient() { + q = mergeParams(q, c.sasuri.Query()) + newURI := c.sasuri + newURI.RawQuery = q.Encode() + uri = newURI.String() + } else { + if c.bsc.client.isAccountSASClient() { + q = mergeParams(q, c.bsc.client.accountSASToken) + } + uri = c.bsc.client.getEndpoint(blobServiceName, c.buildPath(), q) + } headers := c.bsc.client.getStandardHeaders() headers = addToHeaders(headers, "x-ms-client-request-id", params.RequestID) diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/container_test.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/container_test.go index e7317473c..9d8fab2bd 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/container_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/container_test.go @@ -1,10 +1,26 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( + "net/url" "sort" "strconv" "time" + "github.com/Azure/go-autorest/autorest/azure" chk "gopkg.in/check.v1" ) @@ -82,13 +98,65 @@ func (s *ContainerSuite) TestContainerExists(c *chk.C) { c.Assert(err, chk.IsNil) c.Assert(ok, chk.Equals, false) - // COntainer exists + // Container exists cnt2 := cli.GetContainerReference(containerName(c, "2")) - c.Assert(cnt2.Create(nil), chk.IsNil) + err = cnt2.Create(nil) defer cnt2.Delete(nil) + c.Assert(err, chk.IsNil) ok, err = cnt2.Exists() c.Assert(err, chk.IsNil) c.Assert(ok, chk.Equals, true) + + // Service SASURI test (funcs should fail, service SAS has not enough permissions) + sasuriOptions := ContainerSASOptions{} + sasuriOptions.Expiry = fixedTime + sasuriOptions.Read = true + sasuriOptions.Add = true + sasuriOptions.Create = true + sasuriOptions.Write = true + sasuriOptions.Delete = true + sasuriOptions.List = true + + sasuriString1, err := cnt1.GetSASURI(sasuriOptions) + c.Assert(err, chk.IsNil) + sasuri1, err := url.Parse(sasuriString1) + c.Assert(err, chk.IsNil) + cntServiceSAS1, err := GetContainerReferenceFromSASURI(*sasuri1) + c.Assert(err, chk.IsNil) + cntServiceSAS1.Client().HTTPClient = cli.client.HTTPClient + + ok, err = cntServiceSAS1.Exists() + c.Assert(err, chk.NotNil) + c.Assert(ok, chk.Equals, false) + + sasuriString2, err := cnt2.GetSASURI(sasuriOptions) + c.Assert(err, chk.IsNil) + sasuri2, err := url.Parse(sasuriString2) + c.Assert(err, chk.IsNil) + cntServiceSAS2, err := GetContainerReferenceFromSASURI(*sasuri2) + c.Assert(err, chk.IsNil) + cntServiceSAS2.Client().HTTPClient = cli.client.HTTPClient + + ok, err = cntServiceSAS2.Exists() + c.Assert(err, chk.NotNil) + c.Assert(ok, chk.Equals, false) + + // Account SASURI test + token, err := cli.client.GetAccountSASToken(accountSASOptions) + c.Assert(err, chk.IsNil) + SAScli := NewAccountSASClient(cli.client.accountName, token, azure.PublicCloud).GetBlobService() + + cntAccountSAS1 := SAScli.GetContainerReference(cnt1.Name) + cntAccountSAS1.Client().HTTPClient = cli.client.HTTPClient + ok, err = cntAccountSAS1.Exists() + c.Assert(err, chk.IsNil) + c.Assert(ok, chk.Equals, false) + + cntAccountSAS2 := SAScli.GetContainerReference(cnt2.Name) + cntAccountSAS2.Client().HTTPClient = cli.client.HTTPClient + ok, err = cntAccountSAS2.Exists() + c.Assert(err, chk.IsNil) + c.Assert(ok, chk.Equals, true) } func (s *ContainerSuite) TestCreateContainerDeleteContainer(c *chk.C) { @@ -157,8 +225,9 @@ func (s *ContainerSuite) TestListBlobsPagination(c *chk.C) { defer rec.Stop() cnt := cli.GetContainerReference(containerName(c)) - c.Assert(cnt.Create(nil), chk.IsNil) + err := cnt.Create(nil) defer cnt.Delete(nil) + c.Assert(err, chk.IsNil) blobs := []string{} const n = 5 @@ -171,6 +240,40 @@ func (s *ContainerSuite) TestListBlobsPagination(c *chk.C) { } sort.Strings(blobs) + listBlobsPagination(c, cnt, pageSize, blobs) + + // Service SAS test + sasuriOptions := ContainerSASOptions{} + sasuriOptions.Expiry = fixedTime + sasuriOptions.Read = true + sasuriOptions.Add = true + sasuriOptions.Create = true + sasuriOptions.Write = true + sasuriOptions.Delete = true + sasuriOptions.List = true + + sasuriString, err := cnt.GetSASURI(sasuriOptions) + c.Assert(err, chk.IsNil) + sasuri, err := url.Parse(sasuriString) + c.Assert(err, chk.IsNil) + cntServiceSAS, err := GetContainerReferenceFromSASURI(*sasuri) + c.Assert(err, chk.IsNil) + cntServiceSAS.Client().HTTPClient = cli.client.HTTPClient + + listBlobsPagination(c, cntServiceSAS, pageSize, blobs) + + // Account SAS test + token, err := cli.client.GetAccountSASToken(accountSASOptions) + c.Assert(err, chk.IsNil) + SAScli := NewAccountSASClient(cli.client.accountName, token, azure.PublicCloud).GetBlobService() + + cntAccountSAS := SAScli.GetContainerReference(cnt.Name) + cntAccountSAS.Client().HTTPClient = cli.client.HTTPClient + + listBlobsPagination(c, cntAccountSAS, pageSize, blobs) +} + +func listBlobsPagination(c *chk.C, cnt *Container, pageSize uint, blobs []string) { // Paginate seen := []string{} marker := "" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/copyblob.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/copyblob.go index 377a3c622..a4cc2527b 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/copyblob.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/copyblob.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "errors" "fmt" @@ -50,7 +64,7 @@ type IncrementalCopyOptionsConditions struct { // Copy starts a blob copy operation and waits for the operation to // complete. sourceBlob parameter must be a canonical URL to the blob (can be -// obtained using GetBlobURL method.) There is no SLA on blob copy and therefore +// obtained using the GetURL method.) There is no SLA on blob copy and therefore // this helper method works faster on smaller files. // // See https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Copy-Blob @@ -65,7 +79,7 @@ func (b *Blob) Copy(sourceBlob string, options *CopyOptions) error { // StartCopy starts a blob copy operation. // sourceBlob parameter must be a canonical URL to the blob (can be -// obtained using GetBlobURL method.) +// obtained using the GetURL method.) // // See https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Copy-Blob func (b *Blob) StartCopy(sourceBlob string, options *CopyOptions) (string, error) { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/copyblob_test.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/copyblob_test.go index 60a50c8b7..ef29f6331 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/copyblob_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/copyblob_test.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "io/ioutil" "net/http" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/directory.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/directory.go index 29610329e..189e03802 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/directory.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/directory.go @@ -1,9 +1,24 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" "net/http" "net/url" + "sync" ) // Directory represents a directory on a share. @@ -169,6 +184,7 @@ func (d *Directory) GetFileReference(name string) *File { Name: name, parent: d, share: d.share, + mutex: &sync.Mutex{}, } } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/directory_test.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/directory_test.go index ffe5f25c6..2fd6d65f9 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/directory_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/directory_test.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import chk "gopkg.in/check.v1" type StorageDirSuite struct{} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/entity.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/entity.go index 13e947507..9668ea669 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/entity.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/entity.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "bytes" "encoding/json" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/entity_test.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/entity_test.go index 22f95bd75..1ce7d58db 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/entity_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/entity_test.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/json" "fmt" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/file.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/file.go index 238ac6d6d..5fb516c55 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/file.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/file.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "errors" "fmt" @@ -8,6 +22,7 @@ import ( "net/http" "net/url" "strconv" + "sync" ) const fourMB = uint64(4194304) @@ -22,6 +37,7 @@ type File struct { Properties FileProperties `xml:"Properties"` share *Share FileCopyProperties FileCopyState + mutex *sync.Mutex } // FileProperties contains various properties of a file. @@ -148,7 +164,9 @@ func (f *File) CopyFile(sourceURL string, options *FileRequestOptions) error { return err } - f.updateEtagLastModifiedAndCopyHeaders(headers) + f.updateEtagAndLastModified(headers) + f.FileCopyProperties.ID = headers.Get("X-Ms-Copy-Id") + f.FileCopyProperties.Status = headers.Get("X-Ms-Copy-Status") return nil } @@ -399,14 +417,6 @@ func (f *File) updateEtagAndLastModified(headers http.Header) { f.Properties.LastModified = headers.Get("Last-Modified") } -// updates Etag, last modified date and x-ms-copy-id -func (f *File) updateEtagLastModifiedAndCopyHeaders(headers http.Header) { - f.Properties.Etag = headers.Get("Etag") - f.Properties.LastModified = headers.Get("Last-Modified") - f.FileCopyProperties.ID = headers.Get("X-Ms-Copy-Id") - f.FileCopyProperties.Status = headers.Get("X-Ms-Copy-Status") -} - // updates file properties from the specified HTTP header func (f *File) updateProperties(header http.Header) { size, err := strconv.ParseUint(header.Get("Content-Length"), 10, 64) @@ -430,7 +440,7 @@ func (f *File) URL() string { return f.fsc.client.getEndpoint(fileServiceName, f.buildPath(), nil) } -// WriteRangeOptions includes opptions for a write file range operation +// WriteRangeOptions includes options for a write file range operation type WriteRangeOptions struct { Timeout uint ContentMD5 string @@ -456,7 +466,11 @@ func (f *File) WriteRange(bytes io.Reader, fileRange FileRange, options *WriteRa if err != nil { return err } - + // it's perfectly legal for multiple go routines to call WriteRange + // on the same *File (e.g. concurrently writing non-overlapping ranges) + // so we must take the file mutex before updating our properties. + f.mutex.Lock() f.updateEtagAndLastModified(headers) + f.mutex.Unlock() return nil } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/file_test.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/file_test.go index 4993f302f..4a0f271bc 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/file_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/file_test.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "bytes" "crypto/md5" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/fileserviceclient.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/fileserviceclient.go index 81217bdfa..295e3d3e2 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/fileserviceclient.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/fileserviceclient.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" "fmt" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/leaseblob.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/leaseblob.go index 415b74018..3d9d52d8e 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/leaseblob.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/leaseblob.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "errors" "net/http" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/leaseblob_test.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/leaseblob_test.go index cd4528be7..4fb57c3b4 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/leaseblob_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/leaseblob_test.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import chk "gopkg.in/check.v1" type LeaseBlobSuite struct{} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/message.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/message.go index 3ededcd42..7d9038a5f 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/message.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/message.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" "fmt" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/message_test.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/message_test.go index ea3e675a0..ee6410c96 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/message_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/message_test.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import chk "gopkg.in/check.v1" type StorageMessageSuite struct{} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/odata.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/odata.go index 41d832e2b..800adf129 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/odata.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/odata.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + // MetadataLevel determines if operations should return a paylod, // and it level of detail. type MetadataLevel string diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/pageblob.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/pageblob.go index bc5b398d3..c59fd4b50 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/pageblob.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/pageblob.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" "errors" @@ -160,6 +174,8 @@ func (b *Blob) GetPageRanges(options *GetPageRangesOptions) (GetPageRangesRespon // size in bytes (size must be aligned to a 512-byte boundary). A page blob must // be created using this method before writing pages. // +// See CreateBlockBlobFromReader for more info on creating blobs. +// // See https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Put-Blob func (b *Blob) PutPageBlob(options *PutBlobOptions) error { if b.Properties.ContentLength%512 != 0 { @@ -184,6 +200,5 @@ func (b *Blob) PutPageBlob(options *PutBlobOptions) error { if err != nil { return err } - readAndCloseBody(resp.body) - return checkRespCode(resp.statusCode, []int{http.StatusCreated}) + return b.respondCreation(resp, BlobTypePage) } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/pageblob_test.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/pageblob_test.go index de009cfe0..9dac78410 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/pageblob_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/pageblob_test.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "bytes" "io/ioutil" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/queue.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/queue.go index c2c7f742c..499592ebd 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/queue.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/queue.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/xml" "errors" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/queue_test.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/queue_test.go index dbed7cacd..37e583fc3 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/queue_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/queue_test.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "time" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/queuesasuri.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/queuesasuri.go new file mode 100644 index 000000000..28d9ab937 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/queuesasuri.go @@ -0,0 +1,146 @@ +package storage + +// Copyright 2017 Microsoft Corporation +// +// 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. + +import ( + "errors" + "fmt" + "net/url" + "strings" + "time" +) + +// QueueSASOptions are options to construct a blob SAS +// URI. +// See https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas +type QueueSASOptions struct { + QueueSASPermissions + SASOptions +} + +// QueueSASPermissions includes the available permissions for +// a queue SAS URI. +type QueueSASPermissions struct { + Read bool + Add bool + Update bool + Process bool +} + +func (q QueueSASPermissions) buildString() string { + permissions := "" + + if q.Read { + permissions += "r" + } + if q.Add { + permissions += "a" + } + if q.Update { + permissions += "u" + } + if q.Process { + permissions += "p" + } + return permissions +} + +// GetSASURI creates an URL to the specified queue which contains the Shared +// Access Signature with specified permissions and expiration time. +// +// See https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas +func (q *Queue) GetSASURI(options QueueSASOptions) (string, error) { + canonicalizedResource, err := q.qsc.client.buildCanonicalizedResource(q.buildPath(), q.qsc.auth, true) + if err != nil { + return "", err + } + + // "The canonicalizedresouce portion of the string is a canonical path to the signed resource. + // It must include the service name (blob, table, queue or file) for version 2015-02-21 or + // later, the storage account name, and the resource name, and must be URL-decoded. + // -- https://msdn.microsoft.com/en-us/library/azure/dn140255.aspx + // We need to replace + with %2b first to avoid being treated as a space (which is correct for query strings, but not the path component). + canonicalizedResource = strings.Replace(canonicalizedResource, "+", "%2b", -1) + canonicalizedResource, err = url.QueryUnescape(canonicalizedResource) + if err != nil { + return "", err + } + + signedStart := "" + if options.Start != (time.Time{}) { + signedStart = options.Start.UTC().Format(time.RFC3339) + } + signedExpiry := options.Expiry.UTC().Format(time.RFC3339) + + protocols := "https,http" + if options.UseHTTPS { + protocols = "https" + } + + permissions := options.QueueSASPermissions.buildString() + stringToSign, err := queueSASStringToSign(q.qsc.client.apiVersion, canonicalizedResource, signedStart, signedExpiry, options.IP, permissions, protocols, options.Identifier) + if err != nil { + return "", err + } + + sig := q.qsc.client.computeHmac256(stringToSign) + sasParams := url.Values{ + "sv": {q.qsc.client.apiVersion}, + "se": {signedExpiry}, + "sp": {permissions}, + "sig": {sig}, + } + + if q.qsc.client.apiVersion >= "2015-04-05" { + sasParams.Add("spr", protocols) + addQueryParameter(sasParams, "sip", options.IP) + } + + uri := q.qsc.client.getEndpoint(queueServiceName, q.buildPath(), nil) + sasURL, err := url.Parse(uri) + if err != nil { + return "", err + } + sasURL.RawQuery = sasParams.Encode() + return sasURL.String(), nil +} + +func queueSASStringToSign(signedVersion, canonicalizedResource, signedStart, signedExpiry, signedIP, signedPermissions, protocols, signedIdentifier string) (string, error) { + + if signedVersion >= "2015-02-21" { + canonicalizedResource = "/queue" + canonicalizedResource + } + + // https://msdn.microsoft.com/en-us/library/azure/dn140255.aspx#Anchor_12 + if signedVersion >= "2015-04-05" { + return fmt.Sprintf("%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s", + signedPermissions, + signedStart, + signedExpiry, + canonicalizedResource, + signedIdentifier, + signedIP, + protocols, + signedVersion), nil + + } + + // reference: http://msdn.microsoft.com/en-us/library/azure/dn140255.aspx + if signedVersion >= "2013-08-15" { + return fmt.Sprintf("%s\n%s\n%s\n%s\n%s\n%s", signedPermissions, signedStart, signedExpiry, canonicalizedResource, signedIdentifier, signedVersion), nil + } + + return "", errors.New("storage: not implemented SAS for versions earlier than 2013-08-15") +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/queuesasuri_test.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/queuesasuri_test.go new file mode 100644 index 000000000..d1f81b448 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/queuesasuri_test.go @@ -0,0 +1,121 @@ +package storage + +// Copyright 2017 Microsoft Corporation +// +// 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. + +import ( + "net/url" + "time" + + chk "gopkg.in/check.v1" +) + +type QueueSASURISuite struct{} + +var _ = chk.Suite(&QueueSASURISuite{}) + +var queueOldAPIVer = "2013-08-15" +var queueNewerAPIVer = "2015-04-05" + +func (s *QueueSASURISuite) TestGetQueueSASURI(c *chk.C) { + api, err := NewClient("foo", dummyMiniStorageKey, DefaultBaseURL, queueOldAPIVer, true) + c.Assert(err, chk.IsNil) + cli := api.GetQueueService() + q := cli.GetQueueReference("name") + + expectedParts := url.URL{ + Scheme: "https", + Host: "foo.queue.core.windows.net", + Path: "name", + RawQuery: url.Values{ + "sv": {oldAPIVer}, + "sig": {"dYZ+elcEz3ZXEnTDKR5+RCrMzk0L7/ATWsemNzb36VM="}, + "sp": {"p"}, + "se": {"0001-01-01T00:00:00Z"}, + }.Encode()} + + options := QueueSASOptions{} + options.Process = true + options.Expiry = time.Time{} + + u, err := q.GetSASURI(options) + c.Assert(err, chk.IsNil) + sasParts, err := url.Parse(u) + c.Assert(err, chk.IsNil) + c.Assert(expectedParts.String(), chk.Equals, sasParts.String()) + c.Assert(expectedParts.Query(), chk.DeepEquals, sasParts.Query()) +} + +func (s *QueueSASURISuite) TestGetQueueSASURIWithSignedIPValidAPIVersionPassed(c *chk.C) { + api, err := NewClient("foo", dummyMiniStorageKey, DefaultBaseURL, queueNewerAPIVer, true) + c.Assert(err, chk.IsNil) + cli := api.GetQueueService() + q := cli.GetQueueReference("name") + + expectedParts := url.URL{ + Scheme: "https", + Host: "foo.queue.core.windows.net", + Path: "/name", + RawQuery: url.Values{ + "sv": {newerAPIVer}, + "sig": {"8uvfE93HdYxQ3xvt/CUN3S7sYEl1LcuHBC0oYoGDnfw="}, + "sip": {"127.0.0.1"}, + "sp": {"p"}, + "se": {"0001-01-01T00:00:00Z"}, + "spr": {"https,http"}, + }.Encode()} + + options := QueueSASOptions{} + options.Process = true + options.Expiry = time.Time{} + options.IP = "127.0.0.1" + + u, err := q.GetSASURI(options) + c.Assert(err, chk.IsNil) + sasParts, err := url.Parse(u) + c.Assert(err, chk.IsNil) + c.Assert(sasParts.Query(), chk.DeepEquals, expectedParts.Query()) +} + +// Trying to use SignedIP but using an older version of the API. +// Should ignore the signedIP and just use what the older version requires. +func (s *QueueSASURISuite) TestGetQueueSASURIWithSignedIPUsingOldAPIVersion(c *chk.C) { + api, err := NewClient("foo", dummyMiniStorageKey, DefaultBaseURL, oldAPIVer, true) + c.Assert(err, chk.IsNil) + cli := api.GetQueueService() + q := cli.GetQueueReference("name") + + expectedParts := url.URL{ + Scheme: "https", + Host: "foo.queue.core.windows.net", + Path: "/name", + RawQuery: url.Values{ + "sv": {oldAPIVer}, + "sig": {"dYZ+elcEz3ZXEnTDKR5+RCrMzk0L7/ATWsemNzb36VM="}, + "sp": {"p"}, + "se": {"0001-01-01T00:00:00Z"}, + }.Encode()} + + options := QueueSASOptions{} + options.Process = true + options.Expiry = time.Time{} + options.IP = "127.0.0.1" + + u, err := q.GetSASURI(options) + c.Assert(err, chk.IsNil) + sasParts, err := url.Parse(u) + c.Assert(err, chk.IsNil) + c.Assert(expectedParts.String(), chk.Equals, sasParts.String()) + c.Assert(expectedParts.Query(), chk.DeepEquals, sasParts.Query()) +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/queueserviceclient.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/queueserviceclient.go index 19b44941c..29febe146 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/queueserviceclient.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/queueserviceclient.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + // QueueServiceClient contains operations for Microsoft Azure Queue Storage // Service. type QueueServiceClient struct { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/AppendBlobSuite/TestPutAppendBlobAppendBlocks.yaml b/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/AppendBlobSuite/TestPutAppendBlobAppendBlocks.yaml index d5e435ead..c09ef540d 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/AppendBlobSuite/TestPutAppendBlobAppendBlocks.yaml +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/AppendBlobSuite/TestPutAppendBlobAppendBlocks.yaml @@ -7,12 +7,11 @@ interactions: form: {} headers: Authorization: - - SharedKey golangrocksonazure:beFu17HY2hWcGvLuGRs9+6f2pmSpZqAl87ViaqbejAU= + - SharedKey golangrocksonazure:pqcZ0tfSvSANHaDKvBG8VArIzT37Ayy8xrtm4hDh3IQ= User-Agent: - - Go/go1.9beta1 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 - blob + - Go/go1.8 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob x-ms-date: - - Thu, 20 Jul 2017 23:33:54 GMT + - Sat, 16 Sep 2017 00:06:59 GMT x-ms-version: - 2016-05-31 url: https://golangrocksonazure.blob.core.windows.net/cnt-45appendblobsuitetestputappe?restype=container @@ -21,15 +20,15 @@ interactions: body: "" headers: Date: - - Thu, 20 Jul 2017 23:33:53 GMT + - Sat, 16 Sep 2017 00:06:59 GMT Etag: - - '"0x8D4CFC7C890FE4B"' + - '"0x8D4FC96D98E16B5"' Last-Modified: - - Thu, 20 Jul 2017 23:33:53 GMT + - Sat, 16 Sep 2017 00:06:59 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Request-Id: - - 7d612dd4-0001-0009-1eb0-01ca46000000 + - 7bf8dde3-001e-0009-077f-2e1837000000 X-Ms-Version: - 2016-05-31 status: 201 Created @@ -39,14 +38,13 @@ interactions: form: {} headers: Authorization: - - SharedKey golangrocksonazure:GrbdWcG/3Szoi5jGHhIIvNcZd9XqIGo57Dspquiuadk= + - SharedKey golangrocksonazure:iOW5xKnE/mPUQJ8wJn+JfeKmrWNd6DgwVgbPZ/lK7X8= User-Agent: - - Go/go1.9beta1 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 - blob + - Go/go1.8 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob x-ms-blob-type: - AppendBlob x-ms-date: - - Thu, 20 Jul 2017 23:33:54 GMT + - Sat, 16 Sep 2017 00:06:59 GMT x-ms-version: - 2016-05-31 url: https://golangrocksonazure.blob.core.windows.net/cnt-45appendblobsuitetestputappe/blob/45appendblobsuitetestputappendblobappendblocks @@ -55,17 +53,17 @@ interactions: body: "" headers: Date: - - Thu, 20 Jul 2017 23:33:53 GMT + - Sat, 16 Sep 2017 00:06:59 GMT Etag: - - '"0x8D4CFC7C8EDB705"' + - '"0x8D4FC96D99869BE"' Last-Modified: - - Thu, 20 Jul 2017 23:33:54 GMT + - Sat, 16 Sep 2017 00:06:59 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Request-Id: - - 7d612dd6-0001-0009-1fb0-01ca46000000 + - 7bf8de12-001e-0009-327f-2e1837000000 X-Ms-Request-Server-Encrypted: - - "true" + - "false" X-Ms-Version: - 2016-05-31 status: 201 Created @@ -87,16 +85,15 @@ interactions: form: {} headers: Authorization: - - SharedKey golangrocksonazure:HjxCSD8uk4ABhtv57Bufa1NLF94i/3YWdYkS2IPQQbk= + - SharedKey golangrocksonazure:A5Y9DfvvoiRJvcz6/0cIssbxA1Ra/FowzUgrCfj3QLc= Content-Length: - "1024" User-Agent: - - Go/go1.9beta1 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 - blob + - Go/go1.8 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob x-ms-blob-type: - AppendBlob x-ms-date: - - Thu, 20 Jul 2017 23:33:54 GMT + - Sat, 16 Sep 2017 00:06:59 GMT x-ms-version: - 2016-05-31 url: https://golangrocksonazure.blob.core.windows.net/cnt-45appendblobsuitetestputappe/blob/45appendblobsuitetestputappendblobappendblocks?comp=appendblock @@ -107,11 +104,11 @@ interactions: Content-Md5: - 0rZVY1m4cHz874drfCSd/w== Date: - - Thu, 20 Jul 2017 23:33:53 GMT + - Sat, 16 Sep 2017 00:06:59 GMT Etag: - - '"0x8D4CFC7C8EF3DE7"' + - '"0x8D4FC96D9A6EB4D"' Last-Modified: - - Thu, 20 Jul 2017 23:33:54 GMT + - Sat, 16 Sep 2017 00:06:59 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Blob-Append-Offset: @@ -119,9 +116,9 @@ interactions: X-Ms-Blob-Committed-Block-Count: - "1" X-Ms-Request-Id: - - 7d612dd8-0001-0009-21b0-01ca46000000 + - 7bf8de2b-001e-0009-487f-2e1837000000 X-Ms-Request-Server-Encrypted: - - "true" + - "false" X-Ms-Version: - 2016-05-31 status: 201 Created @@ -131,14 +128,13 @@ interactions: form: {} headers: Authorization: - - SharedKey golangrocksonazure:c7IaA0dgWHn2eBWJrCHwcxvHAWsUBgafE39LVT11yd8= + - SharedKey golangrocksonazure:w0LEs15qm+SmiWxsqt+cJ9NHjYUnpxIYoIQcC5JHsCE= Range: - bytes=0-1023 User-Agent: - - Go/go1.9beta1 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 - blob + - Go/go1.8 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob x-ms-date: - - Thu, 20 Jul 2017 23:33:54 GMT + - Sat, 16 Sep 2017 00:06:59 GMT x-ms-version: - 2016-05-31 url: https://golangrocksonazure.blob.core.windows.net/cnt-45appendblobsuitetestputappe/blob/45appendblobsuitetestputappendblobappendblocks @@ -167,11 +163,11 @@ interactions: Content-Type: - application/octet-stream Date: - - Thu, 20 Jul 2017 23:33:53 GMT + - Sat, 16 Sep 2017 00:06:59 GMT Etag: - - '"0x8D4CFC7C8EF3DE7"' + - '"0x8D4FC96D9A6EB4D"' Last-Modified: - - Thu, 20 Jul 2017 23:33:54 GMT + - Sat, 16 Sep 2017 00:06:59 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Blob-Committed-Block-Count: @@ -183,9 +179,9 @@ interactions: X-Ms-Lease-Status: - unlocked X-Ms-Request-Id: - - 7d612dd9-0001-0009-22b0-01ca46000000 + - 7bf8de51-001e-0009-627f-2e1837000000 X-Ms-Server-Encrypted: - - "true" + - "false" X-Ms-Version: - 2016-05-31 status: 206 Partial Content @@ -201,16 +197,17 @@ interactions: form: {} headers: Authorization: - - SharedKey golangrocksonazure:kqYe2AmOiFbK4TNd98nmpeiBvUeSvQoJ2Ir12V72dnQ= + - SharedKey golangrocksonazure:uk3Zxcf4nEQ5P2/aIggtvuSlJDeNjzzKSSSLMwOG/kY= Content-Length: - "512" + Content-MD5: + - 2Xr7q2sERdQmQ41hZ7sPvQ== User-Agent: - - Go/go1.9beta1 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 - blob + - Go/go1.8 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob x-ms-blob-type: - AppendBlob x-ms-date: - - Thu, 20 Jul 2017 23:33:54 GMT + - Sat, 16 Sep 2017 00:06:59 GMT x-ms-version: - 2016-05-31 url: https://golangrocksonazure.blob.core.windows.net/cnt-45appendblobsuitetestputappe/blob/45appendblobsuitetestputappendblobappendblocks?comp=appendblock @@ -221,11 +218,11 @@ interactions: Content-Md5: - 2Xr7q2sERdQmQ41hZ7sPvQ== Date: - - Thu, 20 Jul 2017 23:33:53 GMT + - Sat, 16 Sep 2017 00:06:59 GMT Etag: - - '"0x8D4CFC7C8F2249E"' + - '"0x8D4FC96D9B545C4"' Last-Modified: - - Thu, 20 Jul 2017 23:33:54 GMT + - Sat, 16 Sep 2017 00:06:59 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Blob-Append-Offset: @@ -233,9 +230,9 @@ interactions: X-Ms-Blob-Committed-Block-Count: - "2" X-Ms-Request-Id: - - 7d612dda-0001-0009-23b0-01ca46000000 + - 7bf8de57-001e-0009-677f-2e1837000000 X-Ms-Request-Server-Encrypted: - - "true" + - "false" X-Ms-Version: - 2016-05-31 status: 201 Created @@ -245,14 +242,13 @@ interactions: form: {} headers: Authorization: - - SharedKey golangrocksonazure:LYdivrAnQs8j8vQr0Z7Loz0llJMiDZ8WCSQ+7g+caVw= + - SharedKey golangrocksonazure:ebyFYeB4Ggxei3Op3fjAty8VZ3H8LGGSWvMbCEhSo0U= Range: - bytes=0-1535 User-Agent: - - Go/go1.9beta1 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 - blob + - Go/go1.8 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob x-ms-date: - - Thu, 20 Jul 2017 23:33:54 GMT + - Sat, 16 Sep 2017 00:06:59 GMT x-ms-version: - 2016-05-31 url: https://golangrocksonazure.blob.core.windows.net/cnt-45appendblobsuitetestputappe/blob/45appendblobsuitetestputappendblobappendblocks @@ -288,11 +284,11 @@ interactions: Content-Type: - application/octet-stream Date: - - Thu, 20 Jul 2017 23:33:53 GMT + - Sat, 16 Sep 2017 00:06:59 GMT Etag: - - '"0x8D4CFC7C8F2249E"' + - '"0x8D4FC96D9B545C4"' Last-Modified: - - Thu, 20 Jul 2017 23:33:54 GMT + - Sat, 16 Sep 2017 00:06:59 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Blob-Committed-Block-Count: @@ -304,9 +300,9 @@ interactions: X-Ms-Lease-Status: - unlocked X-Ms-Request-Id: - - 7d612ddb-0001-0009-24b0-01ca46000000 + - 7bf8de60-001e-0009-707f-2e1837000000 X-Ms-Server-Encrypted: - - "true" + - "false" X-Ms-Version: - 2016-05-31 status: 206 Partial Content @@ -316,12 +312,11 @@ interactions: form: {} headers: Authorization: - - SharedKey golangrocksonazure:1+EQAh17h1Lea64FEJOjlXFBuLWk15xpVkaiVdIh+GA= + - SharedKey golangrocksonazure:PqIFy4EpV3Pu2cZbT7BA6PtfMIbIWL6v/TBw20v03kM= User-Agent: - - Go/go1.9beta1 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 - blob + - Go/go1.8 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob x-ms-date: - - Thu, 20 Jul 2017 23:33:54 GMT + - Sat, 16 Sep 2017 00:06:59 GMT x-ms-version: - 2016-05-31 url: https://golangrocksonazure.blob.core.windows.net/cnt-45appendblobsuitetestputappe?restype=container @@ -330,11 +325,11 @@ interactions: body: "" headers: Date: - - Thu, 20 Jul 2017 23:33:53 GMT + - Sat, 16 Sep 2017 00:06:59 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Request-Id: - - 7d612ddc-0001-0009-25b0-01ca46000000 + - 7bf8de6c-001e-0009-7a7f-2e1837000000 X-Ms-Version: - 2016-05-31 status: 202 Accepted diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/BlobSASURISuite/TestBlobSASURICorrectness.yaml b/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/BlobSASURISuite/TestBlobSASURICorrectness.yaml index 6e5c9d195..d7c2cb232 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/BlobSASURISuite/TestBlobSASURICorrectness.yaml +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/BlobSASURISuite/TestBlobSASURICorrectness.yaml @@ -7,12 +7,11 @@ interactions: form: {} headers: Authorization: - - SharedKey golangrocksonazure:qFrXoSDc+iV3H6nRHRlB4c3hOKZLmLOxJzzBrQgm3LI= + - SharedKey golangrocksonazure:zwzoWS6j6OntsD5C+xM0JWq0GPjF4o4I/t+WRDRtZoU= User-Agent: - - Go/go1.9beta1 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 - blob + - Go/go1.8 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob x-ms-date: - - Thu, 20 Jul 2017 23:33:55 GMT + - Tue, 29 Aug 2017 00:10:36 GMT x-ms-version: - 2016-05-31 url: https://golangrocksonazure.blob.core.windows.net/cnt-41blobsasurisuitetestblobsas?restype=container @@ -21,15 +20,15 @@ interactions: body: "" headers: Date: - - Thu, 20 Jul 2017 23:33:54 GMT + - Tue, 29 Aug 2017 00:10:36 GMT Etag: - - '"0x8D4CFC7C957D263"' + - '"0x8D4EE725FB6A14A"' Last-Modified: - - Thu, 20 Jul 2017 23:33:54 GMT + - Tue, 29 Aug 2017 00:10:36 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Request-Id: - - 7d612e9e-0001-0009-4eb0-01ca46000000 + - 184267f3-0001-009a-555b-208e7c000000 X-Ms-Version: - 2016-05-31 status: 201 Created @@ -40,16 +39,15 @@ interactions: form: {} headers: Authorization: - - SharedKey golangrocksonazure:vveUGDYJVbo6lH70ChXDIpQtM/+J28sWPfXMBOQSM1Q= + - SharedKey golangrocksonazure:ihQ4FzjlT7EEu5Xw7BKx4AG99DwPpVyDgHw7GLVu5KQ= Content-Length: - "100" User-Agent: - - Go/go1.9beta1 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 - blob + - Go/go1.8 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob x-ms-blob-type: - BlockBlob x-ms-date: - - Thu, 20 Jul 2017 23:33:55 GMT + - Tue, 29 Aug 2017 00:10:36 GMT x-ms-version: - 2016-05-31 url: https://golangrocksonazure.blob.core.windows.net/cnt-41blobsasurisuitetestblobsas/Lorem/Lorem-._~:%3F%23%5B%5D@%21$&%27%28%29%2A,;+=%20Lorem @@ -60,17 +58,17 @@ interactions: Content-Md5: - Bcz94Jycda959ev/eJWOhw== Date: - - Thu, 20 Jul 2017 23:33:54 GMT + - Tue, 29 Aug 2017 00:10:36 GMT Etag: - - '"0x8D4CFC7C9B4859C"' + - '"0x8D4EE725FA84DAA"' Last-Modified: - - Thu, 20 Jul 2017 23:33:55 GMT + - Tue, 29 Aug 2017 00:10:36 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Request-Id: - - 7d612ea0-0001-0009-4fb0-01ca46000000 + - 18426805-0001-009a-645b-208e7c000000 X-Ms-Request-Server-Encrypted: - - "true" + - "false" X-Ms-Version: - 2016-05-31 status: 201 Created @@ -79,7 +77,7 @@ interactions: body: "" form: {} headers: {} - url: https://golangrocksonazure.blob.core.windows.net/cnt-41blobsasurisuitetestblobsas/Lorem/Lorem-._~:%3F%23%5B%5D@%21$&%27%28%29%2A,;+=%20Lorem?se=2050-12-20T22%3A55%3A06Z&sig=7saT6XpIoyYFSJqzV6abtEcWMcRYOUI3suzPBIOcXEE%3D&sp=r&spr=https%2Chttp&sr=b&sv=2016-05-31 + url: https://golangrocksonazure.blob.core.windows.net/cnt-41blobsasurisuitetestblobsas/Lorem/Lorem-._~:%3F%23%5B%5D@%21$&%27%28%29%2A,;+=%20Lorem?se=2050-12-20T22%3A55%3A06Z&sig=cNkzT%2BH3ukX9wqL1YXNb8KEM4qpW9LxNCldnDtVFzG8%3D&sp=r&sr=b&sv=2016-05-31 method: GET response: body: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer feugiat @@ -94,11 +92,11 @@ interactions: Content-Type: - application/octet-stream Date: - - Thu, 20 Jul 2017 23:33:54 GMT + - Tue, 29 Aug 2017 00:10:36 GMT Etag: - - '"0x8D4CFC7C9B4859C"' + - '"0x8D4EE725FA84DAA"' Last-Modified: - - Thu, 20 Jul 2017 23:33:55 GMT + - Tue, 29 Aug 2017 00:10:36 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Blob-Type: @@ -108,9 +106,9 @@ interactions: X-Ms-Lease-Status: - unlocked X-Ms-Request-Id: - - 7d612ea2-0001-0009-51b0-01ca46000000 + - 18426824-0001-009a-7e5b-208e7c000000 X-Ms-Server-Encrypted: - - "true" + - "false" X-Ms-Version: - 2016-05-31 status: 200 OK @@ -120,12 +118,11 @@ interactions: form: {} headers: Authorization: - - SharedKey golangrocksonazure:q6DVJbMDCnOP2Tzxld1EdyIuH1jmXwcEfneKl90hKj0= + - SharedKey golangrocksonazure:cAGD8RdzO6MiQfD+LvESzb9I9+pj7taya5mIMYrDQ8Q= User-Agent: - - Go/go1.9beta1 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 - blob + - Go/go1.8 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob x-ms-date: - - Thu, 20 Jul 2017 23:33:55 GMT + - Tue, 29 Aug 2017 00:10:36 GMT x-ms-version: - 2016-05-31 url: https://golangrocksonazure.blob.core.windows.net/cnt-41blobsasurisuitetestblobsas?restype=container @@ -134,11 +131,11 @@ interactions: body: "" headers: Date: - - Thu, 20 Jul 2017 23:33:54 GMT + - Tue, 29 Aug 2017 00:10:36 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Request-Id: - - 7d612ea4-0001-0009-53b0-01ca46000000 + - 18426834-0001-009a-0c5b-208e7c000000 X-Ms-Version: - 2016-05-31 status: 202 Accepted diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/BlockBlobSuite/TestPutBlockWithLengthUsingLimitReader.yaml b/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/BlockBlobSuite/TestPutBlockWithLengthUsingLimitReader.yaml new file mode 100644 index 000000000..553a1530e --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/BlockBlobSuite/TestPutBlockWithLengthUsingLimitReader.yaml @@ -0,0 +1,101 @@ +--- +version: 1 +rwmutex: {} +interactions: +- request: + body: "" + form: {} + headers: + Authorization: + - SharedKey golangrocksonazure:FIcZtUbULA8fE5CmkoaW33GCPQW1MwoBTJq/+YjD1sk= + User-Agent: + - Go/go1.8.3 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 + blob + x-ms-date: + - Fri, 28 Jul 2017 22:46:50 GMT + x-ms-version: + - 2016-05-31 + url: https://golangrocksonazure.blob.core.windows.net/cnt-53blockblobsuitetestputblock?restype=container + method: PUT + response: + body: "" + headers: + Date: + - Fri, 28 Jul 2017 22:46:49 GMT + Etag: + - '"0x8D4D60A8919817B"' + Last-Modified: + - Fri, 28 Jul 2017 22:46:50 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Request-Id: + - 36facf81-0001-00a7-24f3-076d37000000 + X-Ms-Version: + - 2016-05-31 + status: 201 Created + code: 201 +- request: + body: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer feugiat + eleifend scelerisque. Phasellus tempor turpis eget magna pretium, et finibus + massa convallis. Donec eget lacinia nibh. Ut ut cursus odio. Quisque id justo + interdum, maximus ex a, dapi + form: {} + headers: + Authorization: + - SharedKey golangrocksonazure:3ReHF2C9N8W7jNATKW7fh7++oO8buWUDGZUhUKySRDU= + Content-Length: + - "256" + User-Agent: + - Go/go1.8.3 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 + blob + x-ms-date: + - Fri, 28 Jul 2017 22:46:50 GMT + x-ms-version: + - 2016-05-31 + url: https://golangrocksonazure.blob.core.windows.net/cnt-53blockblobsuitetestputblock/blob/53blockblobsuitetestputblockwithlengthusinglimitreader?blockid=0000&comp=block + method: PUT + response: + body: "" + headers: + Content-Md5: + - jaHQUBZ1PVeS/42MY6S64Q== + Date: + - Fri, 28 Jul 2017 22:46:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Request-Id: + - 36facf90-0001-00a7-2ef3-076d37000000 + X-Ms-Request-Server-Encrypted: + - "false" + X-Ms-Version: + - 2016-05-31 + status: 201 Created + code: 201 +- request: + body: "" + form: {} + headers: + Authorization: + - SharedKey golangrocksonazure:B2hVRHg94wX3A9JGambw0VCy3deB73Dq5u7zGkDHon0= + User-Agent: + - Go/go1.8.3 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 + blob + x-ms-date: + - Fri, 28 Jul 2017 22:46:50 GMT + x-ms-version: + - 2016-05-31 + url: https://golangrocksonazure.blob.core.windows.net/cnt-53blockblobsuitetestputblock?restype=container + method: DELETE + response: + body: "" + headers: + Date: + - Fri, 28 Jul 2017 22:46:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Request-Id: + - 36facfa2-0001-00a7-3ef3-076d37000000 + X-Ms-Version: + - 2016-05-31 + status: 202 Accepted + code: 202 diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/ContainerSuite/TestContainerExists.yaml b/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/ContainerSuite/TestContainerExists.yaml index 69a7104c2..b0662d95c 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/ContainerSuite/TestContainerExists.yaml +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/ContainerSuite/TestContainerExists.yaml @@ -7,12 +7,11 @@ interactions: form: {} headers: Authorization: - - SharedKey golangrocksonazure:DIo7xJY1ZzNbrmyX1TM36MDmixKzkDEVtIc7/i70oe4= + - SharedKey golangrocksonazure:m+LPOmxFZb2TFNxWZDNl7qZ50q/2Fb3OATx1+2hQnAM= User-Agent: - - Go/go1.9beta1 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 - blob + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob x-ms-date: - - Thu, 20 Jul 2017 23:34:03 GMT + - Wed, 27 Sep 2017 23:21:41 GMT x-ms-version: - 2016-05-31 url: https://golangrocksonazure.blob.core.windows.net/cnt-134containersuitetestcontain?restype=container @@ -21,11 +20,11 @@ interactions: body: "" headers: Date: - - Thu, 20 Jul 2017 23:34:02 GMT + - Wed, 27 Sep 2017 23:21:41 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Request-Id: - - 7d6130ae-0001-0009-30b0-01ca46000000 + - 9a1a4af5-001e-0038-47e7-3743e0000000 X-Ms-Version: - 2016-05-31 status: 404 The specified container does not exist. @@ -35,12 +34,11 @@ interactions: form: {} headers: Authorization: - - SharedKey golangrocksonazure:Cjy5Rd/Nh+xL68wCxsKa0TN7LmZQMiSd9+04k8ivvpc= + - SharedKey golangrocksonazure:wp+d4VKOzAVXFbVouSKEjIt/ZR5tioQsa/f/N3W3Eto= User-Agent: - - Go/go1.9beta1 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 - blob + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob x-ms-date: - - Thu, 20 Jul 2017 23:34:03 GMT + - Wed, 27 Sep 2017 23:21:41 GMT x-ms-version: - 2016-05-31 url: https://golangrocksonazure.blob.core.windows.net/cnt-234containersuitetestcontain?restype=container @@ -49,15 +47,15 @@ interactions: body: "" headers: Date: - - Thu, 20 Jul 2017 23:34:02 GMT + - Wed, 27 Sep 2017 23:21:41 GMT Etag: - - '"0x8D4CFC7CDCC90E3"' + - '"0x8D505FE82D4E748"' Last-Modified: - - Thu, 20 Jul 2017 23:34:02 GMT + - Wed, 27 Sep 2017 23:21:41 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Request-Id: - - 7d6130b1-0001-0009-32b0-01ca46000000 + - 9a1a4b03-001e-0038-50e7-3743e0000000 X-Ms-Version: - 2016-05-31 status: 201 Created @@ -67,12 +65,11 @@ interactions: form: {} headers: Authorization: - - SharedKey golangrocksonazure:zECm6ZSUCeVy2I1K2JJr+wLGOJiaoj47oEXIqEufBgw= + - SharedKey golangrocksonazure:O+zM57wTRWigRabHBtDG+vNxOaP3cIItksFQwGQb5vE= User-Agent: - - Go/go1.9beta1 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 - blob + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob x-ms-date: - - Thu, 20 Jul 2017 23:34:03 GMT + - Wed, 27 Sep 2017 23:21:42 GMT x-ms-version: - 2016-05-31 url: https://golangrocksonazure.blob.core.windows.net/cnt-234containersuitetestcontain?restype=container @@ -81,11 +78,11 @@ interactions: body: "" headers: Date: - - Thu, 20 Jul 2017 23:34:02 GMT + - Wed, 27 Sep 2017 23:21:41 GMT Etag: - - '"0x8D4CFC7CDCC90E3"' + - '"0x8D505FE82D4E748"' Last-Modified: - - Thu, 20 Jul 2017 23:34:02 GMT + - Wed, 27 Sep 2017 23:21:41 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Lease-State: @@ -93,7 +90,115 @@ interactions: X-Ms-Lease-Status: - unlocked X-Ms-Request-Id: - - 7d6130b4-0001-0009-34b0-01ca46000000 + - 9a1a4b13-001e-0038-5de7-3743e0000000 + X-Ms-Version: + - 2016-05-31 + status: 200 OK + code: 200 +- request: + body: "" + form: {} + headers: + User-Agent: + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob + x-ms-date: + - Wed, 27 Sep 2017 23:21:42 GMT + x-ms-version: + - 2016-05-31 + url: https://golangrocksonazure.blob.core.windows.net/cnt-134containersuitetestcontain?restype=container&se=2050-12-20T21%3A55%3A06Z&sig=LQbki0BVo2HysxQfHLjjpjQ527nGivIf6TkqVv3ucQY%3D&sp=racwdl&sr=c&sv=2016-05-31 + method: HEAD + response: + body: "" + headers: + Date: + - Wed, 27 Sep 2017 23:21:41 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Request-Id: + - 9a1a4b17-001e-0038-61e7-3743e0000000 + X-Ms-Version: + - 2016-05-31 + status: 403 This request is not authorized to perform this operation. + code: 403 +- request: + body: "" + form: {} + headers: + User-Agent: + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob + x-ms-date: + - Wed, 27 Sep 2017 23:21:42 GMT + x-ms-version: + - 2016-05-31 + url: https://golangrocksonazure.blob.core.windows.net/cnt-234containersuitetestcontain?restype=container&se=2050-12-20T21%3A55%3A06Z&sig=GG6hgkV%2BwUiAa2%2F6I2a%2BG758UqKESeutpNWRn%2BfaJf0%3D&sp=racwdl&sr=c&sv=2016-05-31 + method: HEAD + response: + body: "" + headers: + Date: + - Wed, 27 Sep 2017 23:21:41 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Request-Id: + - 9a1a4b1c-001e-0038-66e7-3743e0000000 + X-Ms-Version: + - 2016-05-31 + status: 403 This request is not authorized to perform this operation. + code: 403 +- request: + body: "" + form: {} + headers: + User-Agent: + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob + x-ms-date: + - Wed, 27 Sep 2017 23:21:42 GMT + x-ms-version: + - 2016-05-31 + url: https://golangrocksonazure.blob.core.windows.net/cnt-134containersuitetestcontain?restype=container&se=2050-12-20&sig=H47yV%2BBZqUb6EMXkxCwBoRUjUuBNbwqnUdArMgO3agQ%3D&sp=rwdlacup&spr=https&srt=sco&ss=b&sv=2016-05-31 + method: HEAD + response: + body: "" + headers: + Date: + - Wed, 27 Sep 2017 23:21:41 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Request-Id: + - 9a1a4b27-001e-0038-6fe7-3743e0000000 + X-Ms-Version: + - 2016-05-31 + status: 404 The specified container does not exist. + code: 404 +- request: + body: "" + form: {} + headers: + User-Agent: + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob + x-ms-date: + - Wed, 27 Sep 2017 23:21:42 GMT + x-ms-version: + - 2016-05-31 + url: https://golangrocksonazure.blob.core.windows.net/cnt-234containersuitetestcontain?restype=container&se=2050-12-20&sig=H47yV%2BBZqUb6EMXkxCwBoRUjUuBNbwqnUdArMgO3agQ%3D&sp=rwdlacup&spr=https&srt=sco&ss=b&sv=2016-05-31 + method: HEAD + response: + body: "" + headers: + Date: + - Wed, 27 Sep 2017 23:21:41 GMT + Etag: + - '"0x8D505FE82D4E748"' + Last-Modified: + - Wed, 27 Sep 2017 23:21:41 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Lease-State: + - available + X-Ms-Lease-Status: + - unlocked + X-Ms-Request-Id: + - 9a1a4b2a-001e-0038-71e7-3743e0000000 X-Ms-Version: - 2016-05-31 status: 200 OK @@ -103,12 +208,11 @@ interactions: form: {} headers: Authorization: - - SharedKey golangrocksonazure:CwxdH6a6YFGl1ZwIb4fxPhNSyPFFWph3d3czikyiAMk= + - SharedKey golangrocksonazure:tqrykn5C5pPEOaa+7lndgUCo4YnNYISfh/G38wBqeAw= User-Agent: - - Go/go1.9beta1 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 - blob + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob x-ms-date: - - Thu, 20 Jul 2017 23:34:03 GMT + - Wed, 27 Sep 2017 23:21:42 GMT x-ms-version: - 2016-05-31 url: https://golangrocksonazure.blob.core.windows.net/cnt-234containersuitetestcontain?restype=container @@ -117,11 +221,11 @@ interactions: body: "" headers: Date: - - Thu, 20 Jul 2017 23:34:02 GMT + - Wed, 27 Sep 2017 23:21:41 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Request-Id: - - 7d6130b6-0001-0009-36b0-01ca46000000 + - 9a1a4b2d-001e-0038-74e7-3743e0000000 X-Ms-Version: - 2016-05-31 status: 202 Accepted diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/ContainerSuite/TestListBlobsPagination.yaml b/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/ContainerSuite/TestListBlobsPagination.yaml index d78b91209..d203f4d98 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/ContainerSuite/TestListBlobsPagination.yaml +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/ContainerSuite/TestListBlobsPagination.yaml @@ -7,12 +7,11 @@ interactions: form: {} headers: Authorization: - - SharedKey golangrocksonazure:0zD6u3EEWn038NVMgGElhN6blOjXuPKkFcDgYqwKdRc= + - SharedKey golangrocksonazure:qGGaf2/lNp4eY+edsEtbhszzKQxtHqskfmhIToCjMUM= User-Agent: - - Go/go1.9beta1 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 - blob + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob x-ms-date: - - Thu, 20 Jul 2017 23:34:03 GMT + - Wed, 27 Sep 2017 23:26:51 GMT x-ms-version: - 2016-05-31 url: https://golangrocksonazure.blob.core.windows.net/cnt-38containersuitetestlistblob?restype=container @@ -21,15 +20,15 @@ interactions: body: "" headers: Date: - - Thu, 20 Jul 2017 23:34:02 GMT + - Wed, 27 Sep 2017 23:26:50 GMT Etag: - - '"0x8D4CFC7CDE8F858"' + - '"0x8D505FF3B71AFA9"' Last-Modified: - - Thu, 20 Jul 2017 23:34:02 GMT + - Wed, 27 Sep 2017 23:26:51 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Request-Id: - - 7d6130d2-0001-0009-4bb0-01ca46000000 + - 8a9cdae3-001e-004d-24e8-37c45b000000 X-Ms-Version: - 2016-05-31 status: 201 Created @@ -39,16 +38,15 @@ interactions: form: {} headers: Authorization: - - SharedKey golangrocksonazure:NCWL4NmjhKj1lXVY4TRDDAbes2DUdJbmWcl87FhUmK8= + - SharedKey golangrocksonazure:D2Y2qusTz/Ps1DeWUuQ6Vl6R92ZhQROffjSIbQajkgU= Content-Length: - "13" User-Agent: - - Go/go1.9beta1 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 - blob + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob x-ms-blob-type: - BlockBlob x-ms-date: - - Thu, 20 Jul 2017 23:34:03 GMT + - Wed, 27 Sep 2017 23:26:51 GMT x-ms-version: - 2016-05-31 url: https://golangrocksonazure.blob.core.windows.net/cnt-38containersuitetestlistblob/blob/038containersuitetestlistblobspagination @@ -59,17 +57,17 @@ interactions: Content-Md5: - bNNVbesNpUvKBgtMOUeYOQ== Date: - - Thu, 20 Jul 2017 23:34:02 GMT + - Wed, 27 Sep 2017 23:26:50 GMT Etag: - - '"0x8D4CFC7CE456435"' + - '"0x8D505FF3B9A2B80"' Last-Modified: - - Thu, 20 Jul 2017 23:34:03 GMT + - Wed, 27 Sep 2017 23:26:51 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Request-Id: - - 7d6130d4-0001-0009-4cb0-01ca46000000 + - 8a9cdaff-001e-004d-39e8-37c45b000000 X-Ms-Request-Server-Encrypted: - - "true" + - "false" X-Ms-Version: - 2016-05-31 status: 201 Created @@ -79,16 +77,15 @@ interactions: form: {} headers: Authorization: - - SharedKey golangrocksonazure:us45IJy9ydXR2+xATNsVyBz1NHsZlG45+DCK/M7pFi4= + - SharedKey golangrocksonazure:Utt7oVGUaSF9F7u1p/y8R0l+/XlNa1gcwvt94d3e+QU= Content-Length: - "13" User-Agent: - - Go/go1.9beta1 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 - blob + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob x-ms-blob-type: - BlockBlob x-ms-date: - - Thu, 20 Jul 2017 23:34:03 GMT + - Wed, 27 Sep 2017 23:26:51 GMT x-ms-version: - 2016-05-31 url: https://golangrocksonazure.blob.core.windows.net/cnt-38containersuitetestlistblob/blob/138containersuitetestlistblobspagination @@ -99,17 +96,17 @@ interactions: Content-Md5: - bNNVbesNpUvKBgtMOUeYOQ== Date: - - Thu, 20 Jul 2017 23:34:02 GMT + - Wed, 27 Sep 2017 23:26:50 GMT Etag: - - '"0x8D4CFC7CE471231"' + - '"0x8D505FF3BA32DAA"' Last-Modified: - - Thu, 20 Jul 2017 23:34:03 GMT + - Wed, 27 Sep 2017 23:26:51 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Request-Id: - - 7d6130d6-0001-0009-4eb0-01ca46000000 + - 8a9cdb1c-001e-004d-4de8-37c45b000000 X-Ms-Request-Server-Encrypted: - - "true" + - "false" X-Ms-Version: - 2016-05-31 status: 201 Created @@ -119,16 +116,15 @@ interactions: form: {} headers: Authorization: - - SharedKey golangrocksonazure:NQzBuyidorW8QJCuZJbidFKB5lTEeCVnwGnwcEJhSfg= + - SharedKey golangrocksonazure:PezsSpSV0dtyrLq3CtS+KWxJNCdQX2YoOttYE/eqatE= Content-Length: - "13" User-Agent: - - Go/go1.9beta1 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 - blob + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob x-ms-blob-type: - BlockBlob x-ms-date: - - Thu, 20 Jul 2017 23:34:03 GMT + - Wed, 27 Sep 2017 23:26:51 GMT x-ms-version: - 2016-05-31 url: https://golangrocksonazure.blob.core.windows.net/cnt-38containersuitetestlistblob/blob/238containersuitetestlistblobspagination @@ -139,17 +135,17 @@ interactions: Content-Md5: - bNNVbesNpUvKBgtMOUeYOQ== Date: - - Thu, 20 Jul 2017 23:34:02 GMT + - Wed, 27 Sep 2017 23:26:51 GMT Etag: - - '"0x8D4CFC7CE4A9545"' + - '"0x8D505FF3BAAF721"' Last-Modified: - - Thu, 20 Jul 2017 23:34:03 GMT + - Wed, 27 Sep 2017 23:26:51 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Request-Id: - - 7d6130d9-0001-0009-51b0-01ca46000000 + - 8a9cdb38-001e-004d-61e8-37c45b000000 X-Ms-Request-Server-Encrypted: - - "true" + - "false" X-Ms-Version: - 2016-05-31 status: 201 Created @@ -159,16 +155,15 @@ interactions: form: {} headers: Authorization: - - SharedKey golangrocksonazure:dHiREVjPqOUC2mnoOIbKo8n9JwD/qKJUEEY96WJzPrY= + - SharedKey golangrocksonazure:/0uKJzEptA4eDRkRQFBCGXHOpVb6x+X61g+ep9gmSvI= Content-Length: - "13" User-Agent: - - Go/go1.9beta1 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 - blob + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob x-ms-blob-type: - BlockBlob x-ms-date: - - Thu, 20 Jul 2017 23:34:03 GMT + - Wed, 27 Sep 2017 23:26:51 GMT x-ms-version: - 2016-05-31 url: https://golangrocksonazure.blob.core.windows.net/cnt-38containersuitetestlistblob/blob/338containersuitetestlistblobspagination @@ -179,17 +174,17 @@ interactions: Content-Md5: - bNNVbesNpUvKBgtMOUeYOQ== Date: - - Thu, 20 Jul 2017 23:34:02 GMT + - Wed, 27 Sep 2017 23:26:51 GMT Etag: - - '"0x8D4CFC7CE4C6A5C"' + - '"0x8D505FF3BB2C09C"' Last-Modified: - - Thu, 20 Jul 2017 23:34:03 GMT + - Wed, 27 Sep 2017 23:26:51 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Request-Id: - - 7d6130da-0001-0009-52b0-01ca46000000 + - 8a9cdb45-001e-004d-6ce8-37c45b000000 X-Ms-Request-Server-Encrypted: - - "true" + - "false" X-Ms-Version: - 2016-05-31 status: 201 Created @@ -199,16 +194,15 @@ interactions: form: {} headers: Authorization: - - SharedKey golangrocksonazure:n7isxxYGMw9TbDwvmCsJs/k1BgFMsVuFlLFX9clqvqQ= + - SharedKey golangrocksonazure:iPAf6CWqruFhS7LLZHJJ2qfnumrXY3NgvZov8k1TvGU= Content-Length: - "13" User-Agent: - - Go/go1.9beta1 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 - blob + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob x-ms-blob-type: - BlockBlob x-ms-date: - - Thu, 20 Jul 2017 23:34:03 GMT + - Wed, 27 Sep 2017 23:26:51 GMT x-ms-version: - 2016-05-31 url: https://golangrocksonazure.blob.core.windows.net/cnt-38containersuitetestlistblob/blob/438containersuitetestlistblobspagination @@ -219,17 +213,17 @@ interactions: Content-Md5: - bNNVbesNpUvKBgtMOUeYOQ== Date: - - Thu, 20 Jul 2017 23:34:02 GMT + - Wed, 27 Sep 2017 23:26:51 GMT Etag: - - '"0x8D4CFC7CE4E3F67"' + - '"0x8D505FF3BBC8632"' Last-Modified: - - Thu, 20 Jul 2017 23:34:03 GMT + - Wed, 27 Sep 2017 23:26:51 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Request-Id: - - 7d6130de-0001-0009-56b0-01ca46000000 + - 8a9cdb50-001e-004d-76e8-37c45b000000 X-Ms-Request-Server-Encrypted: - - "true" + - "false" X-Ms-Version: - 2016-05-31 status: 201 Created @@ -239,27 +233,26 @@ interactions: form: {} headers: Authorization: - - SharedKey golangrocksonazure:i+ryxAdVVaB7KBx+m92wNqHV+BdJjdUs94G/iwHkOBE= + - SharedKey golangrocksonazure:jmvXWTecptwSQSJO8Yu61Cte4kgXJ736qqFDcQgUId0= User-Agent: - - Go/go1.9beta1 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 - blob + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob x-ms-date: - - Thu, 20 Jul 2017 23:34:03 GMT + - Wed, 27 Sep 2017 23:26:51 GMT x-ms-version: - 2016-05-31 url: https://golangrocksonazure.blob.core.windows.net/cnt-38containersuitetestlistblob?comp=list&maxresults=2&restype=container method: GET response: - body: "\uFEFF\x3C\x3F\x78\x6D\x6C\x20\x76\x65\x72\x73\x69\x6F\x6E\x3D\"\x31\x2E\x30\"\x20\x65\x6E\x63\x6F\x64\x69\x6E\x67\x3D\"\x75\x74\x66\x2D\x38\"\x3F\x3E\x3C\x45\x6E\x75\x6D\x65\x72\x61\x74\x69\x6F\x6E\x52\x65\x73\x75\x6C\x74\x73\x20\x53\x65\x72\x76\x69\x63\x65\x45\x6E\x64\x70\x6F\x69\x6E\x74\x3D\"\x68\x74\x74\x70\x73\x3A\x2F\x2F\x67\x6F\x6C\x61\x6E\x67\x72\x6F\x63\x6B\x73\x6F\x6E\x61\x7A\x75\x72\x65\x2E\x62\x6C\x6F\x62\x2E\x63\x6F\x72\x65\x2E\x77\x69\x6E\x64\x6F\x77\x73\x2E\x6E\x65\x74\x2F\"\x20\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72\x4E\x61\x6D\x65\x3D\"\x63\x6E\x74\x2D\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\"\x3E\x3C\x4D\x61\x78\x52\x65\x73\x75\x6C\x74\x73\x3E\x32\x3C\x2F\x4D\x61\x78\x52\x65\x73\x75\x6C\x74\x73\x3E\x3C\x42\x6C\x6F\x62\x73\x3E\x3C\x42\x6C\x6F\x62\x3E\x3C\x4E\x61\x6D\x65\x3E\x62\x6C\x6F\x62\x2F\x30\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4E\x61\x6D\x65\x3E\x3C\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x54\x68\x75\x2C\x20\x32\x30\x20\x4A\x75\x6C\x20\x32\x30\x31\x37\x20\x32\x33\x3A\x33\x34\x3A\x30\x33\x20\x47\x4D\x54\x3C\x2F\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x3C\x45\x74\x61\x67\x3E\x30\x78\x38\x44\x34\x43\x46\x43\x37\x43\x45\x34\x35\x36\x34\x33\x35\x3C\x2F\x45\x74\x61\x67\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x31\x33\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6F\x63\x74\x65\x74\x2D\x73\x74\x72\x65\x61\x6D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x45\x6E\x63\x6F\x64\x69\x6E\x67\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x61\x6E\x67\x75\x61\x67\x65\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x62\x4E\x4E\x56\x62\x65\x73\x4E\x70\x55\x76\x4B\x42\x67\x74\x4D\x4F\x55\x65\x59\x4F\x51\x3D\x3D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x3C\x43\x61\x63\x68\x65\x2D\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x2F\x3E\x3C\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x42\x6C\x6F\x63\x6B\x42\x6C\x6F\x62\x3C\x2F\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x75\x6E\x6C\x6F\x63\x6B\x65\x64\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x61\x76\x61\x69\x6C\x61\x62\x6C\x65\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x3C\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x74\x72\x75\x65\x3C\x2F\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x3C\x2F\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x2F\x42\x6C\x6F\x62\x3E\x3C\x42\x6C\x6F\x62\x3E\x3C\x4E\x61\x6D\x65\x3E\x62\x6C\x6F\x62\x2F\x31\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4E\x61\x6D\x65\x3E\x3C\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x54\x68\x75\x2C\x20\x32\x30\x20\x4A\x75\x6C\x20\x32\x30\x31\x37\x20\x32\x33\x3A\x33\x34\x3A\x30\x33\x20\x47\x4D\x54\x3C\x2F\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x3C\x45\x74\x61\x67\x3E\x30\x78\x38\x44\x34\x43\x46\x43\x37\x43\x45\x34\x37\x31\x32\x33\x31\x3C\x2F\x45\x74\x61\x67\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x31\x33\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6F\x63\x74\x65\x74\x2D\x73\x74\x72\x65\x61\x6D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x45\x6E\x63\x6F\x64\x69\x6E\x67\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x61\x6E\x67\x75\x61\x67\x65\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x62\x4E\x4E\x56\x62\x65\x73\x4E\x70\x55\x76\x4B\x42\x67\x74\x4D\x4F\x55\x65\x59\x4F\x51\x3D\x3D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x3C\x43\x61\x63\x68\x65\x2D\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x2F\x3E\x3C\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x42\x6C\x6F\x63\x6B\x42\x6C\x6F\x62\x3C\x2F\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x75\x6E\x6C\x6F\x63\x6B\x65\x64\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x61\x76\x61\x69\x6C\x61\x62\x6C\x65\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x3C\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x74\x72\x75\x65\x3C\x2F\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x3C\x2F\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x2F\x42\x6C\x6F\x62\x3E\x3C\x2F\x42\x6C\x6F\x62\x73\x3E\x3C\x4E\x65\x78\x74\x4D\x61\x72\x6B\x65\x72\x3E\x32\x21\x31\x32\x30\x21\x4D\x44\x41\x77\x4D\x44\x51\x31\x49\x57\x4A\x73\x62\x32\x49\x76\x4D\x6A\x4D\x34\x59\x32\x39\x75\x64\x47\x46\x70\x62\x6D\x56\x79\x63\x33\x56\x70\x64\x47\x56\x30\x5A\x58\x4E\x30\x62\x47\x6C\x7A\x64\x47\x4A\x73\x62\x32\x4A\x7A\x63\x47\x46\x6E\x61\x57\x35\x68\x64\x47\x6C\x76\x62\x69\x45\x77\x4D\x44\x41\x77\x4D\x6A\x67\x68\x4F\x54\x6B\x35\x4F\x53\x30\x78\x4D\x69\x30\x7A\x4D\x56\x51\x79\x4D\x7A\x6F\x31\x4F\x54\x6F\x31\x4F\x53\x34\x35\x4F\x54\x6B\x35\x4F\x54\x6B\x35\x57\x69\x45\x2D\x3C\x2F\x4E\x65\x78\x74\x4D\x61\x72\x6B\x65\x72\x3E\x3C\x2F\x45\x6E\x75\x6D\x65\x72\x61\x74\x69\x6F\x6E\x52\x65\x73\x75\x6C\x74\x73\x3E" + body: "\uFEFF\x3C\x3F\x78\x6D\x6C\x20\x76\x65\x72\x73\x69\x6F\x6E\x3D\"\x31\x2E\x30\"\x20\x65\x6E\x63\x6F\x64\x69\x6E\x67\x3D\"\x75\x74\x66\x2D\x38\"\x3F\x3E\x3C\x45\x6E\x75\x6D\x65\x72\x61\x74\x69\x6F\x6E\x52\x65\x73\x75\x6C\x74\x73\x20\x53\x65\x72\x76\x69\x63\x65\x45\x6E\x64\x70\x6F\x69\x6E\x74\x3D\"\x68\x74\x74\x70\x73\x3A\x2F\x2F\x67\x6F\x6C\x61\x6E\x67\x72\x6F\x63\x6B\x73\x6F\x6E\x61\x7A\x75\x72\x65\x2E\x62\x6C\x6F\x62\x2E\x63\x6F\x72\x65\x2E\x77\x69\x6E\x64\x6F\x77\x73\x2E\x6E\x65\x74\x2F\"\x20\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72\x4E\x61\x6D\x65\x3D\"\x63\x6E\x74\x2D\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\"\x3E\x3C\x4D\x61\x78\x52\x65\x73\x75\x6C\x74\x73\x3E\x32\x3C\x2F\x4D\x61\x78\x52\x65\x73\x75\x6C\x74\x73\x3E\x3C\x42\x6C\x6F\x62\x73\x3E\x3C\x42\x6C\x6F\x62\x3E\x3C\x4E\x61\x6D\x65\x3E\x62\x6C\x6F\x62\x2F\x30\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4E\x61\x6D\x65\x3E\x3C\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x57\x65\x64\x2C\x20\x32\x37\x20\x53\x65\x70\x20\x32\x30\x31\x37\x20\x32\x33\x3A\x32\x36\x3A\x35\x31\x20\x47\x4D\x54\x3C\x2F\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x3C\x45\x74\x61\x67\x3E\x30\x78\x38\x44\x35\x30\x35\x46\x46\x33\x42\x39\x41\x32\x42\x38\x30\x3C\x2F\x45\x74\x61\x67\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x31\x33\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6F\x63\x74\x65\x74\x2D\x73\x74\x72\x65\x61\x6D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x45\x6E\x63\x6F\x64\x69\x6E\x67\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x61\x6E\x67\x75\x61\x67\x65\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x62\x4E\x4E\x56\x62\x65\x73\x4E\x70\x55\x76\x4B\x42\x67\x74\x4D\x4F\x55\x65\x59\x4F\x51\x3D\x3D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x3C\x43\x61\x63\x68\x65\x2D\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x2F\x3E\x3C\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x42\x6C\x6F\x63\x6B\x42\x6C\x6F\x62\x3C\x2F\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x75\x6E\x6C\x6F\x63\x6B\x65\x64\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x61\x76\x61\x69\x6C\x61\x62\x6C\x65\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x3C\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x66\x61\x6C\x73\x65\x3C\x2F\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x3C\x2F\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x2F\x42\x6C\x6F\x62\x3E\x3C\x42\x6C\x6F\x62\x3E\x3C\x4E\x61\x6D\x65\x3E\x62\x6C\x6F\x62\x2F\x31\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4E\x61\x6D\x65\x3E\x3C\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x57\x65\x64\x2C\x20\x32\x37\x20\x53\x65\x70\x20\x32\x30\x31\x37\x20\x32\x33\x3A\x32\x36\x3A\x35\x31\x20\x47\x4D\x54\x3C\x2F\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x3C\x45\x74\x61\x67\x3E\x30\x78\x38\x44\x35\x30\x35\x46\x46\x33\x42\x41\x33\x32\x44\x41\x41\x3C\x2F\x45\x74\x61\x67\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x31\x33\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6F\x63\x74\x65\x74\x2D\x73\x74\x72\x65\x61\x6D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x45\x6E\x63\x6F\x64\x69\x6E\x67\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x61\x6E\x67\x75\x61\x67\x65\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x62\x4E\x4E\x56\x62\x65\x73\x4E\x70\x55\x76\x4B\x42\x67\x74\x4D\x4F\x55\x65\x59\x4F\x51\x3D\x3D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x3C\x43\x61\x63\x68\x65\x2D\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x2F\x3E\x3C\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x42\x6C\x6F\x63\x6B\x42\x6C\x6F\x62\x3C\x2F\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x75\x6E\x6C\x6F\x63\x6B\x65\x64\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x61\x76\x61\x69\x6C\x61\x62\x6C\x65\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x3C\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x66\x61\x6C\x73\x65\x3C\x2F\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x3C\x2F\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x2F\x42\x6C\x6F\x62\x3E\x3C\x2F\x42\x6C\x6F\x62\x73\x3E\x3C\x4E\x65\x78\x74\x4D\x61\x72\x6B\x65\x72\x3E\x32\x21\x31\x32\x30\x21\x4D\x44\x41\x77\x4D\x44\x51\x31\x49\x57\x4A\x73\x62\x32\x49\x76\x4D\x6A\x4D\x34\x59\x32\x39\x75\x64\x47\x46\x70\x62\x6D\x56\x79\x63\x33\x56\x70\x64\x47\x56\x30\x5A\x58\x4E\x30\x62\x47\x6C\x7A\x64\x47\x4A\x73\x62\x32\x4A\x7A\x63\x47\x46\x6E\x61\x57\x35\x68\x64\x47\x6C\x76\x62\x69\x45\x77\x4D\x44\x41\x77\x4D\x6A\x67\x68\x4F\x54\x6B\x35\x4F\x53\x30\x78\x4D\x69\x30\x7A\x4D\x56\x51\x79\x4D\x7A\x6F\x31\x4F\x54\x6F\x31\x4F\x53\x34\x35\x4F\x54\x6B\x35\x4F\x54\x6B\x35\x57\x69\x45\x2D\x3C\x2F\x4E\x65\x78\x74\x4D\x61\x72\x6B\x65\x72\x3E\x3C\x2F\x45\x6E\x75\x6D\x65\x72\x61\x74\x69\x6F\x6E\x52\x65\x73\x75\x6C\x74\x73\x3E" headers: Content-Type: - application/xml Date: - - Thu, 20 Jul 2017 23:34:02 GMT + - Wed, 27 Sep 2017 23:26:51 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Request-Id: - - 7d6130df-0001-0009-57b0-01ca46000000 + - 8a9cdb60-001e-004d-02e8-37c45b000000 X-Ms-Version: - 2016-05-31 status: 200 OK @@ -269,27 +262,26 @@ interactions: form: {} headers: Authorization: - - SharedKey golangrocksonazure:z1txIWGlsQs5n8IioEkZ5ujOw8dNln2CmtnvsoR5MI4= + - SharedKey golangrocksonazure:p/XWLulo8vcELqeQMBa0NbBLh+LHoIfiAIdqpe4fYfw= User-Agent: - - Go/go1.9beta1 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 - blob + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob x-ms-date: - - Thu, 20 Jul 2017 23:34:03 GMT + - Wed, 27 Sep 2017 23:26:51 GMT x-ms-version: - 2016-05-31 url: https://golangrocksonazure.blob.core.windows.net/cnt-38containersuitetestlistblob?comp=list&marker=2%21120%21MDAwMDQ1IWJsb2IvMjM4Y29udGFpbmVyc3VpdGV0ZXN0bGlzdGJsb2JzcGFnaW5hdGlvbiEwMDAwMjghOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5WiE-&maxresults=2&restype=container method: GET response: - body: "\uFEFF\x3C\x3F\x78\x6D\x6C\x20\x76\x65\x72\x73\x69\x6F\x6E\x3D\"\x31\x2E\x30\"\x20\x65\x6E\x63\x6F\x64\x69\x6E\x67\x3D\"\x75\x74\x66\x2D\x38\"\x3F\x3E\x3C\x45\x6E\x75\x6D\x65\x72\x61\x74\x69\x6F\x6E\x52\x65\x73\x75\x6C\x74\x73\x20\x53\x65\x72\x76\x69\x63\x65\x45\x6E\x64\x70\x6F\x69\x6E\x74\x3D\"\x68\x74\x74\x70\x73\x3A\x2F\x2F\x67\x6F\x6C\x61\x6E\x67\x72\x6F\x63\x6B\x73\x6F\x6E\x61\x7A\x75\x72\x65\x2E\x62\x6C\x6F\x62\x2E\x63\x6F\x72\x65\x2E\x77\x69\x6E\x64\x6F\x77\x73\x2E\x6E\x65\x74\x2F\"\x20\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72\x4E\x61\x6D\x65\x3D\"\x63\x6E\x74\x2D\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\"\x3E\x3C\x4D\x61\x72\x6B\x65\x72\x3E\x62\x6C\x6F\x62\x2F\x32\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4D\x61\x72\x6B\x65\x72\x3E\x3C\x4D\x61\x78\x52\x65\x73\x75\x6C\x74\x73\x3E\x32\x3C\x2F\x4D\x61\x78\x52\x65\x73\x75\x6C\x74\x73\x3E\x3C\x42\x6C\x6F\x62\x73\x3E\x3C\x42\x6C\x6F\x62\x3E\x3C\x4E\x61\x6D\x65\x3E\x62\x6C\x6F\x62\x2F\x32\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4E\x61\x6D\x65\x3E\x3C\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x54\x68\x75\x2C\x20\x32\x30\x20\x4A\x75\x6C\x20\x32\x30\x31\x37\x20\x32\x33\x3A\x33\x34\x3A\x30\x33\x20\x47\x4D\x54\x3C\x2F\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x3C\x45\x74\x61\x67\x3E\x30\x78\x38\x44\x34\x43\x46\x43\x37\x43\x45\x34\x41\x39\x35\x34\x35\x3C\x2F\x45\x74\x61\x67\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x31\x33\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6F\x63\x74\x65\x74\x2D\x73\x74\x72\x65\x61\x6D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x45\x6E\x63\x6F\x64\x69\x6E\x67\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x61\x6E\x67\x75\x61\x67\x65\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x62\x4E\x4E\x56\x62\x65\x73\x4E\x70\x55\x76\x4B\x42\x67\x74\x4D\x4F\x55\x65\x59\x4F\x51\x3D\x3D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x3C\x43\x61\x63\x68\x65\x2D\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x2F\x3E\x3C\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x42\x6C\x6F\x63\x6B\x42\x6C\x6F\x62\x3C\x2F\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x75\x6E\x6C\x6F\x63\x6B\x65\x64\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x61\x76\x61\x69\x6C\x61\x62\x6C\x65\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x3C\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x74\x72\x75\x65\x3C\x2F\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x3C\x2F\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x2F\x42\x6C\x6F\x62\x3E\x3C\x42\x6C\x6F\x62\x3E\x3C\x4E\x61\x6D\x65\x3E\x62\x6C\x6F\x62\x2F\x33\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4E\x61\x6D\x65\x3E\x3C\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x54\x68\x75\x2C\x20\x32\x30\x20\x4A\x75\x6C\x20\x32\x30\x31\x37\x20\x32\x33\x3A\x33\x34\x3A\x30\x33\x20\x47\x4D\x54\x3C\x2F\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x3C\x45\x74\x61\x67\x3E\x30\x78\x38\x44\x34\x43\x46\x43\x37\x43\x45\x34\x43\x36\x41\x35\x43\x3C\x2F\x45\x74\x61\x67\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x31\x33\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6F\x63\x74\x65\x74\x2D\x73\x74\x72\x65\x61\x6D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x45\x6E\x63\x6F\x64\x69\x6E\x67\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x61\x6E\x67\x75\x61\x67\x65\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x62\x4E\x4E\x56\x62\x65\x73\x4E\x70\x55\x76\x4B\x42\x67\x74\x4D\x4F\x55\x65\x59\x4F\x51\x3D\x3D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x3C\x43\x61\x63\x68\x65\x2D\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x2F\x3E\x3C\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x42\x6C\x6F\x63\x6B\x42\x6C\x6F\x62\x3C\x2F\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x75\x6E\x6C\x6F\x63\x6B\x65\x64\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x61\x76\x61\x69\x6C\x61\x62\x6C\x65\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x3C\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x74\x72\x75\x65\x3C\x2F\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x3C\x2F\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x2F\x42\x6C\x6F\x62\x3E\x3C\x2F\x42\x6C\x6F\x62\x73\x3E\x3C\x4E\x65\x78\x74\x4D\x61\x72\x6B\x65\x72\x3E\x32\x21\x31\x32\x30\x21\x4D\x44\x41\x77\x4D\x44\x51\x31\x49\x57\x4A\x73\x62\x32\x49\x76\x4E\x44\x4D\x34\x59\x32\x39\x75\x64\x47\x46\x70\x62\x6D\x56\x79\x63\x33\x56\x70\x64\x47\x56\x30\x5A\x58\x4E\x30\x62\x47\x6C\x7A\x64\x47\x4A\x73\x62\x32\x4A\x7A\x63\x47\x46\x6E\x61\x57\x35\x68\x64\x47\x6C\x76\x62\x69\x45\x77\x4D\x44\x41\x77\x4D\x6A\x67\x68\x4F\x54\x6B\x35\x4F\x53\x30\x78\x4D\x69\x30\x7A\x4D\x56\x51\x79\x4D\x7A\x6F\x31\x4F\x54\x6F\x31\x4F\x53\x34\x35\x4F\x54\x6B\x35\x4F\x54\x6B\x35\x57\x69\x45\x2D\x3C\x2F\x4E\x65\x78\x74\x4D\x61\x72\x6B\x65\x72\x3E\x3C\x2F\x45\x6E\x75\x6D\x65\x72\x61\x74\x69\x6F\x6E\x52\x65\x73\x75\x6C\x74\x73\x3E" + body: "\uFEFF\x3C\x3F\x78\x6D\x6C\x20\x76\x65\x72\x73\x69\x6F\x6E\x3D\"\x31\x2E\x30\"\x20\x65\x6E\x63\x6F\x64\x69\x6E\x67\x3D\"\x75\x74\x66\x2D\x38\"\x3F\x3E\x3C\x45\x6E\x75\x6D\x65\x72\x61\x74\x69\x6F\x6E\x52\x65\x73\x75\x6C\x74\x73\x20\x53\x65\x72\x76\x69\x63\x65\x45\x6E\x64\x70\x6F\x69\x6E\x74\x3D\"\x68\x74\x74\x70\x73\x3A\x2F\x2F\x67\x6F\x6C\x61\x6E\x67\x72\x6F\x63\x6B\x73\x6F\x6E\x61\x7A\x75\x72\x65\x2E\x62\x6C\x6F\x62\x2E\x63\x6F\x72\x65\x2E\x77\x69\x6E\x64\x6F\x77\x73\x2E\x6E\x65\x74\x2F\"\x20\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72\x4E\x61\x6D\x65\x3D\"\x63\x6E\x74\x2D\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\"\x3E\x3C\x4D\x61\x72\x6B\x65\x72\x3E\x62\x6C\x6F\x62\x2F\x32\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4D\x61\x72\x6B\x65\x72\x3E\x3C\x4D\x61\x78\x52\x65\x73\x75\x6C\x74\x73\x3E\x32\x3C\x2F\x4D\x61\x78\x52\x65\x73\x75\x6C\x74\x73\x3E\x3C\x42\x6C\x6F\x62\x73\x3E\x3C\x42\x6C\x6F\x62\x3E\x3C\x4E\x61\x6D\x65\x3E\x62\x6C\x6F\x62\x2F\x32\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4E\x61\x6D\x65\x3E\x3C\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x57\x65\x64\x2C\x20\x32\x37\x20\x53\x65\x70\x20\x32\x30\x31\x37\x20\x32\x33\x3A\x32\x36\x3A\x35\x31\x20\x47\x4D\x54\x3C\x2F\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x3C\x45\x74\x61\x67\x3E\x30\x78\x38\x44\x35\x30\x35\x46\x46\x33\x42\x41\x41\x46\x37\x32\x31\x3C\x2F\x45\x74\x61\x67\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x31\x33\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6F\x63\x74\x65\x74\x2D\x73\x74\x72\x65\x61\x6D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x45\x6E\x63\x6F\x64\x69\x6E\x67\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x61\x6E\x67\x75\x61\x67\x65\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x62\x4E\x4E\x56\x62\x65\x73\x4E\x70\x55\x76\x4B\x42\x67\x74\x4D\x4F\x55\x65\x59\x4F\x51\x3D\x3D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x3C\x43\x61\x63\x68\x65\x2D\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x2F\x3E\x3C\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x42\x6C\x6F\x63\x6B\x42\x6C\x6F\x62\x3C\x2F\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x75\x6E\x6C\x6F\x63\x6B\x65\x64\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x61\x76\x61\x69\x6C\x61\x62\x6C\x65\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x3C\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x66\x61\x6C\x73\x65\x3C\x2F\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x3C\x2F\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x2F\x42\x6C\x6F\x62\x3E\x3C\x42\x6C\x6F\x62\x3E\x3C\x4E\x61\x6D\x65\x3E\x62\x6C\x6F\x62\x2F\x33\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4E\x61\x6D\x65\x3E\x3C\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x57\x65\x64\x2C\x20\x32\x37\x20\x53\x65\x70\x20\x32\x30\x31\x37\x20\x32\x33\x3A\x32\x36\x3A\x35\x31\x20\x47\x4D\x54\x3C\x2F\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x3C\x45\x74\x61\x67\x3E\x30\x78\x38\x44\x35\x30\x35\x46\x46\x33\x42\x42\x32\x43\x30\x39\x43\x3C\x2F\x45\x74\x61\x67\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x31\x33\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6F\x63\x74\x65\x74\x2D\x73\x74\x72\x65\x61\x6D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x45\x6E\x63\x6F\x64\x69\x6E\x67\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x61\x6E\x67\x75\x61\x67\x65\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x62\x4E\x4E\x56\x62\x65\x73\x4E\x70\x55\x76\x4B\x42\x67\x74\x4D\x4F\x55\x65\x59\x4F\x51\x3D\x3D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x3C\x43\x61\x63\x68\x65\x2D\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x2F\x3E\x3C\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x42\x6C\x6F\x63\x6B\x42\x6C\x6F\x62\x3C\x2F\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x75\x6E\x6C\x6F\x63\x6B\x65\x64\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x61\x76\x61\x69\x6C\x61\x62\x6C\x65\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x3C\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x66\x61\x6C\x73\x65\x3C\x2F\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x3C\x2F\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x2F\x42\x6C\x6F\x62\x3E\x3C\x2F\x42\x6C\x6F\x62\x73\x3E\x3C\x4E\x65\x78\x74\x4D\x61\x72\x6B\x65\x72\x3E\x32\x21\x31\x32\x30\x21\x4D\x44\x41\x77\x4D\x44\x51\x31\x49\x57\x4A\x73\x62\x32\x49\x76\x4E\x44\x4D\x34\x59\x32\x39\x75\x64\x47\x46\x70\x62\x6D\x56\x79\x63\x33\x56\x70\x64\x47\x56\x30\x5A\x58\x4E\x30\x62\x47\x6C\x7A\x64\x47\x4A\x73\x62\x32\x4A\x7A\x63\x47\x46\x6E\x61\x57\x35\x68\x64\x47\x6C\x76\x62\x69\x45\x77\x4D\x44\x41\x77\x4D\x6A\x67\x68\x4F\x54\x6B\x35\x4F\x53\x30\x78\x4D\x69\x30\x7A\x4D\x56\x51\x79\x4D\x7A\x6F\x31\x4F\x54\x6F\x31\x4F\x53\x34\x35\x4F\x54\x6B\x35\x4F\x54\x6B\x35\x57\x69\x45\x2D\x3C\x2F\x4E\x65\x78\x74\x4D\x61\x72\x6B\x65\x72\x3E\x3C\x2F\x45\x6E\x75\x6D\x65\x72\x61\x74\x69\x6F\x6E\x52\x65\x73\x75\x6C\x74\x73\x3E" headers: Content-Type: - application/xml Date: - - Thu, 20 Jul 2017 23:34:02 GMT + - Wed, 27 Sep 2017 23:26:51 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Request-Id: - - 7d6130e0-0001-0009-58b0-01ca46000000 + - 8a9cdb6e-001e-004d-0ee8-37c45b000000 X-Ms-Version: - 2016-05-31 status: 200 OK @@ -299,27 +291,188 @@ interactions: form: {} headers: Authorization: - - SharedKey golangrocksonazure:ipncg+sKo+Z+K+bgfRs4qyZUT6Q8nLe+Z3JEDok6ya0= + - SharedKey golangrocksonazure:k+1IJMv/3+avpYdXThmotERAFccrEx4uk2XrEz71KT0= User-Agent: - - Go/go1.9beta1 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 - blob + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob x-ms-date: - - Thu, 20 Jul 2017 23:34:03 GMT + - Wed, 27 Sep 2017 23:26:51 GMT x-ms-version: - 2016-05-31 url: https://golangrocksonazure.blob.core.windows.net/cnt-38containersuitetestlistblob?comp=list&marker=2%21120%21MDAwMDQ1IWJsb2IvNDM4Y29udGFpbmVyc3VpdGV0ZXN0bGlzdGJsb2JzcGFnaW5hdGlvbiEwMDAwMjghOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5WiE-&maxresults=2&restype=container method: GET response: - body: "\uFEFF\x3C\x3F\x78\x6D\x6C\x20\x76\x65\x72\x73\x69\x6F\x6E\x3D\"\x31\x2E\x30\"\x20\x65\x6E\x63\x6F\x64\x69\x6E\x67\x3D\"\x75\x74\x66\x2D\x38\"\x3F\x3E\x3C\x45\x6E\x75\x6D\x65\x72\x61\x74\x69\x6F\x6E\x52\x65\x73\x75\x6C\x74\x73\x20\x53\x65\x72\x76\x69\x63\x65\x45\x6E\x64\x70\x6F\x69\x6E\x74\x3D\"\x68\x74\x74\x70\x73\x3A\x2F\x2F\x67\x6F\x6C\x61\x6E\x67\x72\x6F\x63\x6B\x73\x6F\x6E\x61\x7A\x75\x72\x65\x2E\x62\x6C\x6F\x62\x2E\x63\x6F\x72\x65\x2E\x77\x69\x6E\x64\x6F\x77\x73\x2E\x6E\x65\x74\x2F\"\x20\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72\x4E\x61\x6D\x65\x3D\"\x63\x6E\x74\x2D\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\"\x3E\x3C\x4D\x61\x72\x6B\x65\x72\x3E\x62\x6C\x6F\x62\x2F\x34\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4D\x61\x72\x6B\x65\x72\x3E\x3C\x4D\x61\x78\x52\x65\x73\x75\x6C\x74\x73\x3E\x32\x3C\x2F\x4D\x61\x78\x52\x65\x73\x75\x6C\x74\x73\x3E\x3C\x42\x6C\x6F\x62\x73\x3E\x3C\x42\x6C\x6F\x62\x3E\x3C\x4E\x61\x6D\x65\x3E\x62\x6C\x6F\x62\x2F\x34\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4E\x61\x6D\x65\x3E\x3C\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x54\x68\x75\x2C\x20\x32\x30\x20\x4A\x75\x6C\x20\x32\x30\x31\x37\x20\x32\x33\x3A\x33\x34\x3A\x30\x33\x20\x47\x4D\x54\x3C\x2F\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x3C\x45\x74\x61\x67\x3E\x30\x78\x38\x44\x34\x43\x46\x43\x37\x43\x45\x34\x45\x33\x46\x36\x37\x3C\x2F\x45\x74\x61\x67\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x31\x33\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6F\x63\x74\x65\x74\x2D\x73\x74\x72\x65\x61\x6D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x45\x6E\x63\x6F\x64\x69\x6E\x67\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x61\x6E\x67\x75\x61\x67\x65\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x62\x4E\x4E\x56\x62\x65\x73\x4E\x70\x55\x76\x4B\x42\x67\x74\x4D\x4F\x55\x65\x59\x4F\x51\x3D\x3D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x3C\x43\x61\x63\x68\x65\x2D\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x2F\x3E\x3C\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x42\x6C\x6F\x63\x6B\x42\x6C\x6F\x62\x3C\x2F\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x75\x6E\x6C\x6F\x63\x6B\x65\x64\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x61\x76\x61\x69\x6C\x61\x62\x6C\x65\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x3C\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x74\x72\x75\x65\x3C\x2F\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x3C\x2F\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x2F\x42\x6C\x6F\x62\x3E\x3C\x2F\x42\x6C\x6F\x62\x73\x3E\x3C\x4E\x65\x78\x74\x4D\x61\x72\x6B\x65\x72\x20\x2F\x3E\x3C\x2F\x45\x6E\x75\x6D\x65\x72\x61\x74\x69\x6F\x6E\x52\x65\x73\x75\x6C\x74\x73\x3E" + body: "\uFEFF\x3C\x3F\x78\x6D\x6C\x20\x76\x65\x72\x73\x69\x6F\x6E\x3D\"\x31\x2E\x30\"\x20\x65\x6E\x63\x6F\x64\x69\x6E\x67\x3D\"\x75\x74\x66\x2D\x38\"\x3F\x3E\x3C\x45\x6E\x75\x6D\x65\x72\x61\x74\x69\x6F\x6E\x52\x65\x73\x75\x6C\x74\x73\x20\x53\x65\x72\x76\x69\x63\x65\x45\x6E\x64\x70\x6F\x69\x6E\x74\x3D\"\x68\x74\x74\x70\x73\x3A\x2F\x2F\x67\x6F\x6C\x61\x6E\x67\x72\x6F\x63\x6B\x73\x6F\x6E\x61\x7A\x75\x72\x65\x2E\x62\x6C\x6F\x62\x2E\x63\x6F\x72\x65\x2E\x77\x69\x6E\x64\x6F\x77\x73\x2E\x6E\x65\x74\x2F\"\x20\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72\x4E\x61\x6D\x65\x3D\"\x63\x6E\x74\x2D\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\"\x3E\x3C\x4D\x61\x72\x6B\x65\x72\x3E\x62\x6C\x6F\x62\x2F\x34\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4D\x61\x72\x6B\x65\x72\x3E\x3C\x4D\x61\x78\x52\x65\x73\x75\x6C\x74\x73\x3E\x32\x3C\x2F\x4D\x61\x78\x52\x65\x73\x75\x6C\x74\x73\x3E\x3C\x42\x6C\x6F\x62\x73\x3E\x3C\x42\x6C\x6F\x62\x3E\x3C\x4E\x61\x6D\x65\x3E\x62\x6C\x6F\x62\x2F\x34\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4E\x61\x6D\x65\x3E\x3C\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x57\x65\x64\x2C\x20\x32\x37\x20\x53\x65\x70\x20\x32\x30\x31\x37\x20\x32\x33\x3A\x32\x36\x3A\x35\x31\x20\x47\x4D\x54\x3C\x2F\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x3C\x45\x74\x61\x67\x3E\x30\x78\x38\x44\x35\x30\x35\x46\x46\x33\x42\x42\x43\x38\x36\x33\x32\x3C\x2F\x45\x74\x61\x67\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x31\x33\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6F\x63\x74\x65\x74\x2D\x73\x74\x72\x65\x61\x6D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x45\x6E\x63\x6F\x64\x69\x6E\x67\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x61\x6E\x67\x75\x61\x67\x65\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x62\x4E\x4E\x56\x62\x65\x73\x4E\x70\x55\x76\x4B\x42\x67\x74\x4D\x4F\x55\x65\x59\x4F\x51\x3D\x3D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x3C\x43\x61\x63\x68\x65\x2D\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x2F\x3E\x3C\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x42\x6C\x6F\x63\x6B\x42\x6C\x6F\x62\x3C\x2F\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x75\x6E\x6C\x6F\x63\x6B\x65\x64\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x61\x76\x61\x69\x6C\x61\x62\x6C\x65\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x3C\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x66\x61\x6C\x73\x65\x3C\x2F\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x3C\x2F\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x2F\x42\x6C\x6F\x62\x3E\x3C\x2F\x42\x6C\x6F\x62\x73\x3E\x3C\x4E\x65\x78\x74\x4D\x61\x72\x6B\x65\x72\x20\x2F\x3E\x3C\x2F\x45\x6E\x75\x6D\x65\x72\x61\x74\x69\x6F\x6E\x52\x65\x73\x75\x6C\x74\x73\x3E" headers: Content-Type: - application/xml Date: - - Thu, 20 Jul 2017 23:34:02 GMT + - Wed, 27 Sep 2017 23:26:51 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Request-Id: - - 7d6130e2-0001-0009-5ab0-01ca46000000 + - 8a9cdb87-001e-004d-22e8-37c45b000000 + X-Ms-Version: + - 2016-05-31 + status: 200 OK + code: 200 +- request: + body: "" + form: {} + headers: + User-Agent: + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob + x-ms-date: + - Wed, 27 Sep 2017 23:26:51 GMT + x-ms-version: + - 2016-05-31 + url: https://golangrocksonazure.blob.core.windows.net/cnt-38containersuitetestlistblob?comp=list&maxresults=2&restype=container&se=2050-12-20T21%3A55%3A06Z&sig=LEY3a3b%2BbvLFPNIL96qHeFaBe1eTs8RDQ%2FQli2ZnXQs%3D&sp=racwdl&sr=c&sv=2016-05-31 + method: GET + response: + body: "\uFEFF\x3C\x3F\x78\x6D\x6C\x20\x76\x65\x72\x73\x69\x6F\x6E\x3D\"\x31\x2E\x30\"\x20\x65\x6E\x63\x6F\x64\x69\x6E\x67\x3D\"\x75\x74\x66\x2D\x38\"\x3F\x3E\x3C\x45\x6E\x75\x6D\x65\x72\x61\x74\x69\x6F\x6E\x52\x65\x73\x75\x6C\x74\x73\x20\x53\x65\x72\x76\x69\x63\x65\x45\x6E\x64\x70\x6F\x69\x6E\x74\x3D\"\x68\x74\x74\x70\x73\x3A\x2F\x2F\x67\x6F\x6C\x61\x6E\x67\x72\x6F\x63\x6B\x73\x6F\x6E\x61\x7A\x75\x72\x65\x2E\x62\x6C\x6F\x62\x2E\x63\x6F\x72\x65\x2E\x77\x69\x6E\x64\x6F\x77\x73\x2E\x6E\x65\x74\x2F\"\x20\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72\x4E\x61\x6D\x65\x3D\"\x63\x6E\x74\x2D\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\"\x3E\x3C\x4D\x61\x78\x52\x65\x73\x75\x6C\x74\x73\x3E\x32\x3C\x2F\x4D\x61\x78\x52\x65\x73\x75\x6C\x74\x73\x3E\x3C\x42\x6C\x6F\x62\x73\x3E\x3C\x42\x6C\x6F\x62\x3E\x3C\x4E\x61\x6D\x65\x3E\x62\x6C\x6F\x62\x2F\x30\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4E\x61\x6D\x65\x3E\x3C\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x57\x65\x64\x2C\x20\x32\x37\x20\x53\x65\x70\x20\x32\x30\x31\x37\x20\x32\x33\x3A\x32\x36\x3A\x35\x31\x20\x47\x4D\x54\x3C\x2F\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x3C\x45\x74\x61\x67\x3E\x30\x78\x38\x44\x35\x30\x35\x46\x46\x33\x42\x39\x41\x32\x42\x38\x30\x3C\x2F\x45\x74\x61\x67\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x31\x33\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6F\x63\x74\x65\x74\x2D\x73\x74\x72\x65\x61\x6D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x45\x6E\x63\x6F\x64\x69\x6E\x67\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x61\x6E\x67\x75\x61\x67\x65\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x62\x4E\x4E\x56\x62\x65\x73\x4E\x70\x55\x76\x4B\x42\x67\x74\x4D\x4F\x55\x65\x59\x4F\x51\x3D\x3D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x3C\x43\x61\x63\x68\x65\x2D\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x2F\x3E\x3C\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x42\x6C\x6F\x63\x6B\x42\x6C\x6F\x62\x3C\x2F\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x75\x6E\x6C\x6F\x63\x6B\x65\x64\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x61\x76\x61\x69\x6C\x61\x62\x6C\x65\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x3C\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x66\x61\x6C\x73\x65\x3C\x2F\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x3C\x2F\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x2F\x42\x6C\x6F\x62\x3E\x3C\x42\x6C\x6F\x62\x3E\x3C\x4E\x61\x6D\x65\x3E\x62\x6C\x6F\x62\x2F\x31\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4E\x61\x6D\x65\x3E\x3C\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x57\x65\x64\x2C\x20\x32\x37\x20\x53\x65\x70\x20\x32\x30\x31\x37\x20\x32\x33\x3A\x32\x36\x3A\x35\x31\x20\x47\x4D\x54\x3C\x2F\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x3C\x45\x74\x61\x67\x3E\x30\x78\x38\x44\x35\x30\x35\x46\x46\x33\x42\x41\x33\x32\x44\x41\x41\x3C\x2F\x45\x74\x61\x67\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x31\x33\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6F\x63\x74\x65\x74\x2D\x73\x74\x72\x65\x61\x6D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x45\x6E\x63\x6F\x64\x69\x6E\x67\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x61\x6E\x67\x75\x61\x67\x65\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x62\x4E\x4E\x56\x62\x65\x73\x4E\x70\x55\x76\x4B\x42\x67\x74\x4D\x4F\x55\x65\x59\x4F\x51\x3D\x3D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x3C\x43\x61\x63\x68\x65\x2D\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x2F\x3E\x3C\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x42\x6C\x6F\x63\x6B\x42\x6C\x6F\x62\x3C\x2F\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x75\x6E\x6C\x6F\x63\x6B\x65\x64\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x61\x76\x61\x69\x6C\x61\x62\x6C\x65\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x3C\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x66\x61\x6C\x73\x65\x3C\x2F\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x3C\x2F\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x2F\x42\x6C\x6F\x62\x3E\x3C\x2F\x42\x6C\x6F\x62\x73\x3E\x3C\x4E\x65\x78\x74\x4D\x61\x72\x6B\x65\x72\x3E\x32\x21\x31\x32\x30\x21\x4D\x44\x41\x77\x4D\x44\x51\x31\x49\x57\x4A\x73\x62\x32\x49\x76\x4D\x6A\x4D\x34\x59\x32\x39\x75\x64\x47\x46\x70\x62\x6D\x56\x79\x63\x33\x56\x70\x64\x47\x56\x30\x5A\x58\x4E\x30\x62\x47\x6C\x7A\x64\x47\x4A\x73\x62\x32\x4A\x7A\x63\x47\x46\x6E\x61\x57\x35\x68\x64\x47\x6C\x76\x62\x69\x45\x77\x4D\x44\x41\x77\x4D\x6A\x67\x68\x4F\x54\x6B\x35\x4F\x53\x30\x78\x4D\x69\x30\x7A\x4D\x56\x51\x79\x4D\x7A\x6F\x31\x4F\x54\x6F\x31\x4F\x53\x34\x35\x4F\x54\x6B\x35\x4F\x54\x6B\x35\x57\x69\x45\x2D\x3C\x2F\x4E\x65\x78\x74\x4D\x61\x72\x6B\x65\x72\x3E\x3C\x2F\x45\x6E\x75\x6D\x65\x72\x61\x74\x69\x6F\x6E\x52\x65\x73\x75\x6C\x74\x73\x3E" + headers: + Content-Type: + - application/xml + Date: + - Wed, 27 Sep 2017 23:26:51 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Request-Id: + - 8a9cdb9b-001e-004d-34e8-37c45b000000 + X-Ms-Version: + - 2016-05-31 + status: 200 OK + code: 200 +- request: + body: "" + form: {} + headers: + User-Agent: + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob + x-ms-date: + - Wed, 27 Sep 2017 23:26:52 GMT + x-ms-version: + - 2016-05-31 + url: https://golangrocksonazure.blob.core.windows.net/cnt-38containersuitetestlistblob?comp=list&marker=2%21120%21MDAwMDQ1IWJsb2IvMjM4Y29udGFpbmVyc3VpdGV0ZXN0bGlzdGJsb2JzcGFnaW5hdGlvbiEwMDAwMjghOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5WiE-&maxresults=2&restype=container&se=2050-12-20T21%3A55%3A06Z&sig=LEY3a3b%2BbvLFPNIL96qHeFaBe1eTs8RDQ%2FQli2ZnXQs%3D&sp=racwdl&sr=c&sv=2016-05-31 + method: GET + response: + body: "\uFEFF\x3C\x3F\x78\x6D\x6C\x20\x76\x65\x72\x73\x69\x6F\x6E\x3D\"\x31\x2E\x30\"\x20\x65\x6E\x63\x6F\x64\x69\x6E\x67\x3D\"\x75\x74\x66\x2D\x38\"\x3F\x3E\x3C\x45\x6E\x75\x6D\x65\x72\x61\x74\x69\x6F\x6E\x52\x65\x73\x75\x6C\x74\x73\x20\x53\x65\x72\x76\x69\x63\x65\x45\x6E\x64\x70\x6F\x69\x6E\x74\x3D\"\x68\x74\x74\x70\x73\x3A\x2F\x2F\x67\x6F\x6C\x61\x6E\x67\x72\x6F\x63\x6B\x73\x6F\x6E\x61\x7A\x75\x72\x65\x2E\x62\x6C\x6F\x62\x2E\x63\x6F\x72\x65\x2E\x77\x69\x6E\x64\x6F\x77\x73\x2E\x6E\x65\x74\x2F\"\x20\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72\x4E\x61\x6D\x65\x3D\"\x63\x6E\x74\x2D\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\"\x3E\x3C\x4D\x61\x72\x6B\x65\x72\x3E\x62\x6C\x6F\x62\x2F\x32\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4D\x61\x72\x6B\x65\x72\x3E\x3C\x4D\x61\x78\x52\x65\x73\x75\x6C\x74\x73\x3E\x32\x3C\x2F\x4D\x61\x78\x52\x65\x73\x75\x6C\x74\x73\x3E\x3C\x42\x6C\x6F\x62\x73\x3E\x3C\x42\x6C\x6F\x62\x3E\x3C\x4E\x61\x6D\x65\x3E\x62\x6C\x6F\x62\x2F\x32\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4E\x61\x6D\x65\x3E\x3C\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x57\x65\x64\x2C\x20\x32\x37\x20\x53\x65\x70\x20\x32\x30\x31\x37\x20\x32\x33\x3A\x32\x36\x3A\x35\x31\x20\x47\x4D\x54\x3C\x2F\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x3C\x45\x74\x61\x67\x3E\x30\x78\x38\x44\x35\x30\x35\x46\x46\x33\x42\x41\x41\x46\x37\x32\x31\x3C\x2F\x45\x74\x61\x67\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x31\x33\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6F\x63\x74\x65\x74\x2D\x73\x74\x72\x65\x61\x6D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x45\x6E\x63\x6F\x64\x69\x6E\x67\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x61\x6E\x67\x75\x61\x67\x65\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x62\x4E\x4E\x56\x62\x65\x73\x4E\x70\x55\x76\x4B\x42\x67\x74\x4D\x4F\x55\x65\x59\x4F\x51\x3D\x3D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x3C\x43\x61\x63\x68\x65\x2D\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x2F\x3E\x3C\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x42\x6C\x6F\x63\x6B\x42\x6C\x6F\x62\x3C\x2F\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x75\x6E\x6C\x6F\x63\x6B\x65\x64\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x61\x76\x61\x69\x6C\x61\x62\x6C\x65\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x3C\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x66\x61\x6C\x73\x65\x3C\x2F\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x3C\x2F\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x2F\x42\x6C\x6F\x62\x3E\x3C\x42\x6C\x6F\x62\x3E\x3C\x4E\x61\x6D\x65\x3E\x62\x6C\x6F\x62\x2F\x33\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4E\x61\x6D\x65\x3E\x3C\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x57\x65\x64\x2C\x20\x32\x37\x20\x53\x65\x70\x20\x32\x30\x31\x37\x20\x32\x33\x3A\x32\x36\x3A\x35\x31\x20\x47\x4D\x54\x3C\x2F\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x3C\x45\x74\x61\x67\x3E\x30\x78\x38\x44\x35\x30\x35\x46\x46\x33\x42\x42\x32\x43\x30\x39\x43\x3C\x2F\x45\x74\x61\x67\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x31\x33\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6F\x63\x74\x65\x74\x2D\x73\x74\x72\x65\x61\x6D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x45\x6E\x63\x6F\x64\x69\x6E\x67\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x61\x6E\x67\x75\x61\x67\x65\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x62\x4E\x4E\x56\x62\x65\x73\x4E\x70\x55\x76\x4B\x42\x67\x74\x4D\x4F\x55\x65\x59\x4F\x51\x3D\x3D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x3C\x43\x61\x63\x68\x65\x2D\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x2F\x3E\x3C\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x42\x6C\x6F\x63\x6B\x42\x6C\x6F\x62\x3C\x2F\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x75\x6E\x6C\x6F\x63\x6B\x65\x64\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x61\x76\x61\x69\x6C\x61\x62\x6C\x65\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x3C\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x66\x61\x6C\x73\x65\x3C\x2F\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x3C\x2F\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x2F\x42\x6C\x6F\x62\x3E\x3C\x2F\x42\x6C\x6F\x62\x73\x3E\x3C\x4E\x65\x78\x74\x4D\x61\x72\x6B\x65\x72\x3E\x32\x21\x31\x32\x30\x21\x4D\x44\x41\x77\x4D\x44\x51\x31\x49\x57\x4A\x73\x62\x32\x49\x76\x4E\x44\x4D\x34\x59\x32\x39\x75\x64\x47\x46\x70\x62\x6D\x56\x79\x63\x33\x56\x70\x64\x47\x56\x30\x5A\x58\x4E\x30\x62\x47\x6C\x7A\x64\x47\x4A\x73\x62\x32\x4A\x7A\x63\x47\x46\x6E\x61\x57\x35\x68\x64\x47\x6C\x76\x62\x69\x45\x77\x4D\x44\x41\x77\x4D\x6A\x67\x68\x4F\x54\x6B\x35\x4F\x53\x30\x78\x4D\x69\x30\x7A\x4D\x56\x51\x79\x4D\x7A\x6F\x31\x4F\x54\x6F\x31\x4F\x53\x34\x35\x4F\x54\x6B\x35\x4F\x54\x6B\x35\x57\x69\x45\x2D\x3C\x2F\x4E\x65\x78\x74\x4D\x61\x72\x6B\x65\x72\x3E\x3C\x2F\x45\x6E\x75\x6D\x65\x72\x61\x74\x69\x6F\x6E\x52\x65\x73\x75\x6C\x74\x73\x3E" + headers: + Content-Type: + - application/xml + Date: + - Wed, 27 Sep 2017 23:26:51 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Request-Id: + - 8a9cdbaa-001e-004d-43e8-37c45b000000 + X-Ms-Version: + - 2016-05-31 + status: 200 OK + code: 200 +- request: + body: "" + form: {} + headers: + User-Agent: + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob + x-ms-date: + - Wed, 27 Sep 2017 23:26:52 GMT + x-ms-version: + - 2016-05-31 + url: https://golangrocksonazure.blob.core.windows.net/cnt-38containersuitetestlistblob?comp=list&marker=2%21120%21MDAwMDQ1IWJsb2IvNDM4Y29udGFpbmVyc3VpdGV0ZXN0bGlzdGJsb2JzcGFnaW5hdGlvbiEwMDAwMjghOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5WiE-&maxresults=2&restype=container&se=2050-12-20T21%3A55%3A06Z&sig=LEY3a3b%2BbvLFPNIL96qHeFaBe1eTs8RDQ%2FQli2ZnXQs%3D&sp=racwdl&sr=c&sv=2016-05-31 + method: GET + response: + body: "\uFEFF\x3C\x3F\x78\x6D\x6C\x20\x76\x65\x72\x73\x69\x6F\x6E\x3D\"\x31\x2E\x30\"\x20\x65\x6E\x63\x6F\x64\x69\x6E\x67\x3D\"\x75\x74\x66\x2D\x38\"\x3F\x3E\x3C\x45\x6E\x75\x6D\x65\x72\x61\x74\x69\x6F\x6E\x52\x65\x73\x75\x6C\x74\x73\x20\x53\x65\x72\x76\x69\x63\x65\x45\x6E\x64\x70\x6F\x69\x6E\x74\x3D\"\x68\x74\x74\x70\x73\x3A\x2F\x2F\x67\x6F\x6C\x61\x6E\x67\x72\x6F\x63\x6B\x73\x6F\x6E\x61\x7A\x75\x72\x65\x2E\x62\x6C\x6F\x62\x2E\x63\x6F\x72\x65\x2E\x77\x69\x6E\x64\x6F\x77\x73\x2E\x6E\x65\x74\x2F\"\x20\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72\x4E\x61\x6D\x65\x3D\"\x63\x6E\x74\x2D\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\"\x3E\x3C\x4D\x61\x72\x6B\x65\x72\x3E\x62\x6C\x6F\x62\x2F\x34\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4D\x61\x72\x6B\x65\x72\x3E\x3C\x4D\x61\x78\x52\x65\x73\x75\x6C\x74\x73\x3E\x32\x3C\x2F\x4D\x61\x78\x52\x65\x73\x75\x6C\x74\x73\x3E\x3C\x42\x6C\x6F\x62\x73\x3E\x3C\x42\x6C\x6F\x62\x3E\x3C\x4E\x61\x6D\x65\x3E\x62\x6C\x6F\x62\x2F\x34\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4E\x61\x6D\x65\x3E\x3C\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x57\x65\x64\x2C\x20\x32\x37\x20\x53\x65\x70\x20\x32\x30\x31\x37\x20\x32\x33\x3A\x32\x36\x3A\x35\x31\x20\x47\x4D\x54\x3C\x2F\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x3C\x45\x74\x61\x67\x3E\x30\x78\x38\x44\x35\x30\x35\x46\x46\x33\x42\x42\x43\x38\x36\x33\x32\x3C\x2F\x45\x74\x61\x67\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x31\x33\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6F\x63\x74\x65\x74\x2D\x73\x74\x72\x65\x61\x6D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x45\x6E\x63\x6F\x64\x69\x6E\x67\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x61\x6E\x67\x75\x61\x67\x65\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x62\x4E\x4E\x56\x62\x65\x73\x4E\x70\x55\x76\x4B\x42\x67\x74\x4D\x4F\x55\x65\x59\x4F\x51\x3D\x3D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x3C\x43\x61\x63\x68\x65\x2D\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x2F\x3E\x3C\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x42\x6C\x6F\x63\x6B\x42\x6C\x6F\x62\x3C\x2F\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x75\x6E\x6C\x6F\x63\x6B\x65\x64\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x61\x76\x61\x69\x6C\x61\x62\x6C\x65\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x3C\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x66\x61\x6C\x73\x65\x3C\x2F\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x3C\x2F\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x2F\x42\x6C\x6F\x62\x3E\x3C\x2F\x42\x6C\x6F\x62\x73\x3E\x3C\x4E\x65\x78\x74\x4D\x61\x72\x6B\x65\x72\x20\x2F\x3E\x3C\x2F\x45\x6E\x75\x6D\x65\x72\x61\x74\x69\x6F\x6E\x52\x65\x73\x75\x6C\x74\x73\x3E" + headers: + Content-Type: + - application/xml + Date: + - Wed, 27 Sep 2017 23:26:51 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Request-Id: + - 8a9cdbb3-001e-004d-4be8-37c45b000000 + X-Ms-Version: + - 2016-05-31 + status: 200 OK + code: 200 +- request: + body: "" + form: {} + headers: + User-Agent: + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob + x-ms-date: + - Wed, 27 Sep 2017 23:26:52 GMT + x-ms-version: + - 2016-05-31 + url: https://golangrocksonazure.blob.core.windows.net/cnt-38containersuitetestlistblob?comp=list&maxresults=2&restype=container&se=2050-12-20&sig=H47yV%2BBZqUb6EMXkxCwBoRUjUuBNbwqnUdArMgO3agQ%3D&sp=rwdlacup&spr=https&srt=sco&ss=b&sv=2016-05-31 + method: GET + response: + body: "\uFEFF\x3C\x3F\x78\x6D\x6C\x20\x76\x65\x72\x73\x69\x6F\x6E\x3D\"\x31\x2E\x30\"\x20\x65\x6E\x63\x6F\x64\x69\x6E\x67\x3D\"\x75\x74\x66\x2D\x38\"\x3F\x3E\x3C\x45\x6E\x75\x6D\x65\x72\x61\x74\x69\x6F\x6E\x52\x65\x73\x75\x6C\x74\x73\x20\x53\x65\x72\x76\x69\x63\x65\x45\x6E\x64\x70\x6F\x69\x6E\x74\x3D\"\x68\x74\x74\x70\x73\x3A\x2F\x2F\x67\x6F\x6C\x61\x6E\x67\x72\x6F\x63\x6B\x73\x6F\x6E\x61\x7A\x75\x72\x65\x2E\x62\x6C\x6F\x62\x2E\x63\x6F\x72\x65\x2E\x77\x69\x6E\x64\x6F\x77\x73\x2E\x6E\x65\x74\x2F\"\x20\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72\x4E\x61\x6D\x65\x3D\"\x63\x6E\x74\x2D\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\"\x3E\x3C\x4D\x61\x78\x52\x65\x73\x75\x6C\x74\x73\x3E\x32\x3C\x2F\x4D\x61\x78\x52\x65\x73\x75\x6C\x74\x73\x3E\x3C\x42\x6C\x6F\x62\x73\x3E\x3C\x42\x6C\x6F\x62\x3E\x3C\x4E\x61\x6D\x65\x3E\x62\x6C\x6F\x62\x2F\x30\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4E\x61\x6D\x65\x3E\x3C\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x57\x65\x64\x2C\x20\x32\x37\x20\x53\x65\x70\x20\x32\x30\x31\x37\x20\x32\x33\x3A\x32\x36\x3A\x35\x31\x20\x47\x4D\x54\x3C\x2F\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x3C\x45\x74\x61\x67\x3E\x30\x78\x38\x44\x35\x30\x35\x46\x46\x33\x42\x39\x41\x32\x42\x38\x30\x3C\x2F\x45\x74\x61\x67\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x31\x33\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6F\x63\x74\x65\x74\x2D\x73\x74\x72\x65\x61\x6D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x45\x6E\x63\x6F\x64\x69\x6E\x67\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x61\x6E\x67\x75\x61\x67\x65\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x62\x4E\x4E\x56\x62\x65\x73\x4E\x70\x55\x76\x4B\x42\x67\x74\x4D\x4F\x55\x65\x59\x4F\x51\x3D\x3D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x3C\x43\x61\x63\x68\x65\x2D\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x2F\x3E\x3C\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x42\x6C\x6F\x63\x6B\x42\x6C\x6F\x62\x3C\x2F\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x75\x6E\x6C\x6F\x63\x6B\x65\x64\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x61\x76\x61\x69\x6C\x61\x62\x6C\x65\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x3C\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x66\x61\x6C\x73\x65\x3C\x2F\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x3C\x2F\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x2F\x42\x6C\x6F\x62\x3E\x3C\x42\x6C\x6F\x62\x3E\x3C\x4E\x61\x6D\x65\x3E\x62\x6C\x6F\x62\x2F\x31\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4E\x61\x6D\x65\x3E\x3C\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x57\x65\x64\x2C\x20\x32\x37\x20\x53\x65\x70\x20\x32\x30\x31\x37\x20\x32\x33\x3A\x32\x36\x3A\x35\x31\x20\x47\x4D\x54\x3C\x2F\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x3C\x45\x74\x61\x67\x3E\x30\x78\x38\x44\x35\x30\x35\x46\x46\x33\x42\x41\x33\x32\x44\x41\x41\x3C\x2F\x45\x74\x61\x67\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x31\x33\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6F\x63\x74\x65\x74\x2D\x73\x74\x72\x65\x61\x6D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x45\x6E\x63\x6F\x64\x69\x6E\x67\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x61\x6E\x67\x75\x61\x67\x65\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x62\x4E\x4E\x56\x62\x65\x73\x4E\x70\x55\x76\x4B\x42\x67\x74\x4D\x4F\x55\x65\x59\x4F\x51\x3D\x3D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x3C\x43\x61\x63\x68\x65\x2D\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x2F\x3E\x3C\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x42\x6C\x6F\x63\x6B\x42\x6C\x6F\x62\x3C\x2F\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x75\x6E\x6C\x6F\x63\x6B\x65\x64\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x61\x76\x61\x69\x6C\x61\x62\x6C\x65\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x3C\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x66\x61\x6C\x73\x65\x3C\x2F\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x3C\x2F\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x2F\x42\x6C\x6F\x62\x3E\x3C\x2F\x42\x6C\x6F\x62\x73\x3E\x3C\x4E\x65\x78\x74\x4D\x61\x72\x6B\x65\x72\x3E\x32\x21\x31\x32\x30\x21\x4D\x44\x41\x77\x4D\x44\x51\x31\x49\x57\x4A\x73\x62\x32\x49\x76\x4D\x6A\x4D\x34\x59\x32\x39\x75\x64\x47\x46\x70\x62\x6D\x56\x79\x63\x33\x56\x70\x64\x47\x56\x30\x5A\x58\x4E\x30\x62\x47\x6C\x7A\x64\x47\x4A\x73\x62\x32\x4A\x7A\x63\x47\x46\x6E\x61\x57\x35\x68\x64\x47\x6C\x76\x62\x69\x45\x77\x4D\x44\x41\x77\x4D\x6A\x67\x68\x4F\x54\x6B\x35\x4F\x53\x30\x78\x4D\x69\x30\x7A\x4D\x56\x51\x79\x4D\x7A\x6F\x31\x4F\x54\x6F\x31\x4F\x53\x34\x35\x4F\x54\x6B\x35\x4F\x54\x6B\x35\x57\x69\x45\x2D\x3C\x2F\x4E\x65\x78\x74\x4D\x61\x72\x6B\x65\x72\x3E\x3C\x2F\x45\x6E\x75\x6D\x65\x72\x61\x74\x69\x6F\x6E\x52\x65\x73\x75\x6C\x74\x73\x3E" + headers: + Content-Type: + - application/xml + Date: + - Wed, 27 Sep 2017 23:26:51 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Request-Id: + - 8a9cdbb8-001e-004d-50e8-37c45b000000 + X-Ms-Version: + - 2016-05-31 + status: 200 OK + code: 200 +- request: + body: "" + form: {} + headers: + User-Agent: + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob + x-ms-date: + - Wed, 27 Sep 2017 23:26:52 GMT + x-ms-version: + - 2016-05-31 + url: https://golangrocksonazure.blob.core.windows.net/cnt-38containersuitetestlistblob?comp=list&marker=2%21120%21MDAwMDQ1IWJsb2IvMjM4Y29udGFpbmVyc3VpdGV0ZXN0bGlzdGJsb2JzcGFnaW5hdGlvbiEwMDAwMjghOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5WiE-&maxresults=2&restype=container&se=2050-12-20&sig=H47yV%2BBZqUb6EMXkxCwBoRUjUuBNbwqnUdArMgO3agQ%3D&sp=rwdlacup&spr=https&srt=sco&ss=b&sv=2016-05-31 + method: GET + response: + body: "\uFEFF\x3C\x3F\x78\x6D\x6C\x20\x76\x65\x72\x73\x69\x6F\x6E\x3D\"\x31\x2E\x30\"\x20\x65\x6E\x63\x6F\x64\x69\x6E\x67\x3D\"\x75\x74\x66\x2D\x38\"\x3F\x3E\x3C\x45\x6E\x75\x6D\x65\x72\x61\x74\x69\x6F\x6E\x52\x65\x73\x75\x6C\x74\x73\x20\x53\x65\x72\x76\x69\x63\x65\x45\x6E\x64\x70\x6F\x69\x6E\x74\x3D\"\x68\x74\x74\x70\x73\x3A\x2F\x2F\x67\x6F\x6C\x61\x6E\x67\x72\x6F\x63\x6B\x73\x6F\x6E\x61\x7A\x75\x72\x65\x2E\x62\x6C\x6F\x62\x2E\x63\x6F\x72\x65\x2E\x77\x69\x6E\x64\x6F\x77\x73\x2E\x6E\x65\x74\x2F\"\x20\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72\x4E\x61\x6D\x65\x3D\"\x63\x6E\x74\x2D\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\"\x3E\x3C\x4D\x61\x72\x6B\x65\x72\x3E\x62\x6C\x6F\x62\x2F\x32\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4D\x61\x72\x6B\x65\x72\x3E\x3C\x4D\x61\x78\x52\x65\x73\x75\x6C\x74\x73\x3E\x32\x3C\x2F\x4D\x61\x78\x52\x65\x73\x75\x6C\x74\x73\x3E\x3C\x42\x6C\x6F\x62\x73\x3E\x3C\x42\x6C\x6F\x62\x3E\x3C\x4E\x61\x6D\x65\x3E\x62\x6C\x6F\x62\x2F\x32\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4E\x61\x6D\x65\x3E\x3C\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x57\x65\x64\x2C\x20\x32\x37\x20\x53\x65\x70\x20\x32\x30\x31\x37\x20\x32\x33\x3A\x32\x36\x3A\x35\x31\x20\x47\x4D\x54\x3C\x2F\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x3C\x45\x74\x61\x67\x3E\x30\x78\x38\x44\x35\x30\x35\x46\x46\x33\x42\x41\x41\x46\x37\x32\x31\x3C\x2F\x45\x74\x61\x67\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x31\x33\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6F\x63\x74\x65\x74\x2D\x73\x74\x72\x65\x61\x6D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x45\x6E\x63\x6F\x64\x69\x6E\x67\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x61\x6E\x67\x75\x61\x67\x65\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x62\x4E\x4E\x56\x62\x65\x73\x4E\x70\x55\x76\x4B\x42\x67\x74\x4D\x4F\x55\x65\x59\x4F\x51\x3D\x3D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x3C\x43\x61\x63\x68\x65\x2D\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x2F\x3E\x3C\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x42\x6C\x6F\x63\x6B\x42\x6C\x6F\x62\x3C\x2F\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x75\x6E\x6C\x6F\x63\x6B\x65\x64\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x61\x76\x61\x69\x6C\x61\x62\x6C\x65\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x3C\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x66\x61\x6C\x73\x65\x3C\x2F\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x3C\x2F\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x2F\x42\x6C\x6F\x62\x3E\x3C\x42\x6C\x6F\x62\x3E\x3C\x4E\x61\x6D\x65\x3E\x62\x6C\x6F\x62\x2F\x33\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4E\x61\x6D\x65\x3E\x3C\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x57\x65\x64\x2C\x20\x32\x37\x20\x53\x65\x70\x20\x32\x30\x31\x37\x20\x32\x33\x3A\x32\x36\x3A\x35\x31\x20\x47\x4D\x54\x3C\x2F\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x3C\x45\x74\x61\x67\x3E\x30\x78\x38\x44\x35\x30\x35\x46\x46\x33\x42\x42\x32\x43\x30\x39\x43\x3C\x2F\x45\x74\x61\x67\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x31\x33\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6F\x63\x74\x65\x74\x2D\x73\x74\x72\x65\x61\x6D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x45\x6E\x63\x6F\x64\x69\x6E\x67\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x61\x6E\x67\x75\x61\x67\x65\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x62\x4E\x4E\x56\x62\x65\x73\x4E\x70\x55\x76\x4B\x42\x67\x74\x4D\x4F\x55\x65\x59\x4F\x51\x3D\x3D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x3C\x43\x61\x63\x68\x65\x2D\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x2F\x3E\x3C\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x42\x6C\x6F\x63\x6B\x42\x6C\x6F\x62\x3C\x2F\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x75\x6E\x6C\x6F\x63\x6B\x65\x64\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x61\x76\x61\x69\x6C\x61\x62\x6C\x65\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x3C\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x66\x61\x6C\x73\x65\x3C\x2F\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x3C\x2F\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x2F\x42\x6C\x6F\x62\x3E\x3C\x2F\x42\x6C\x6F\x62\x73\x3E\x3C\x4E\x65\x78\x74\x4D\x61\x72\x6B\x65\x72\x3E\x32\x21\x31\x32\x30\x21\x4D\x44\x41\x77\x4D\x44\x51\x31\x49\x57\x4A\x73\x62\x32\x49\x76\x4E\x44\x4D\x34\x59\x32\x39\x75\x64\x47\x46\x70\x62\x6D\x56\x79\x63\x33\x56\x70\x64\x47\x56\x30\x5A\x58\x4E\x30\x62\x47\x6C\x7A\x64\x47\x4A\x73\x62\x32\x4A\x7A\x63\x47\x46\x6E\x61\x57\x35\x68\x64\x47\x6C\x76\x62\x69\x45\x77\x4D\x44\x41\x77\x4D\x6A\x67\x68\x4F\x54\x6B\x35\x4F\x53\x30\x78\x4D\x69\x30\x7A\x4D\x56\x51\x79\x4D\x7A\x6F\x31\x4F\x54\x6F\x31\x4F\x53\x34\x35\x4F\x54\x6B\x35\x4F\x54\x6B\x35\x57\x69\x45\x2D\x3C\x2F\x4E\x65\x78\x74\x4D\x61\x72\x6B\x65\x72\x3E\x3C\x2F\x45\x6E\x75\x6D\x65\x72\x61\x74\x69\x6F\x6E\x52\x65\x73\x75\x6C\x74\x73\x3E" + headers: + Content-Type: + - application/xml + Date: + - Wed, 27 Sep 2017 23:26:51 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Request-Id: + - 8a9cdbc2-001e-004d-58e8-37c45b000000 + X-Ms-Version: + - 2016-05-31 + status: 200 OK + code: 200 +- request: + body: "" + form: {} + headers: + User-Agent: + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob + x-ms-date: + - Wed, 27 Sep 2017 23:26:52 GMT + x-ms-version: + - 2016-05-31 + url: https://golangrocksonazure.blob.core.windows.net/cnt-38containersuitetestlistblob?comp=list&marker=2%21120%21MDAwMDQ1IWJsb2IvNDM4Y29udGFpbmVyc3VpdGV0ZXN0bGlzdGJsb2JzcGFnaW5hdGlvbiEwMDAwMjghOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5WiE-&maxresults=2&restype=container&se=2050-12-20&sig=H47yV%2BBZqUb6EMXkxCwBoRUjUuBNbwqnUdArMgO3agQ%3D&sp=rwdlacup&spr=https&srt=sco&ss=b&sv=2016-05-31 + method: GET + response: + body: "\uFEFF\x3C\x3F\x78\x6D\x6C\x20\x76\x65\x72\x73\x69\x6F\x6E\x3D\"\x31\x2E\x30\"\x20\x65\x6E\x63\x6F\x64\x69\x6E\x67\x3D\"\x75\x74\x66\x2D\x38\"\x3F\x3E\x3C\x45\x6E\x75\x6D\x65\x72\x61\x74\x69\x6F\x6E\x52\x65\x73\x75\x6C\x74\x73\x20\x53\x65\x72\x76\x69\x63\x65\x45\x6E\x64\x70\x6F\x69\x6E\x74\x3D\"\x68\x74\x74\x70\x73\x3A\x2F\x2F\x67\x6F\x6C\x61\x6E\x67\x72\x6F\x63\x6B\x73\x6F\x6E\x61\x7A\x75\x72\x65\x2E\x62\x6C\x6F\x62\x2E\x63\x6F\x72\x65\x2E\x77\x69\x6E\x64\x6F\x77\x73\x2E\x6E\x65\x74\x2F\"\x20\x43\x6F\x6E\x74\x61\x69\x6E\x65\x72\x4E\x61\x6D\x65\x3D\"\x63\x6E\x74\x2D\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\"\x3E\x3C\x4D\x61\x72\x6B\x65\x72\x3E\x62\x6C\x6F\x62\x2F\x34\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4D\x61\x72\x6B\x65\x72\x3E\x3C\x4D\x61\x78\x52\x65\x73\x75\x6C\x74\x73\x3E\x32\x3C\x2F\x4D\x61\x78\x52\x65\x73\x75\x6C\x74\x73\x3E\x3C\x42\x6C\x6F\x62\x73\x3E\x3C\x42\x6C\x6F\x62\x3E\x3C\x4E\x61\x6D\x65\x3E\x62\x6C\x6F\x62\x2F\x34\x33\x38\x63\x6F\x6E\x74\x61\x69\x6E\x65\x72\x73\x75\x69\x74\x65\x74\x65\x73\x74\x6C\x69\x73\x74\x62\x6C\x6F\x62\x73\x70\x61\x67\x69\x6E\x61\x74\x69\x6F\x6E\x3C\x2F\x4E\x61\x6D\x65\x3E\x3C\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x57\x65\x64\x2C\x20\x32\x37\x20\x53\x65\x70\x20\x32\x30\x31\x37\x20\x32\x33\x3A\x32\x36\x3A\x35\x31\x20\x47\x4D\x54\x3C\x2F\x4C\x61\x73\x74\x2D\x4D\x6F\x64\x69\x66\x69\x65\x64\x3E\x3C\x45\x74\x61\x67\x3E\x30\x78\x38\x44\x35\x30\x35\x46\x46\x33\x42\x42\x43\x38\x36\x33\x32\x3C\x2F\x45\x74\x61\x67\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x31\x33\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x65\x6E\x67\x74\x68\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6F\x63\x74\x65\x74\x2D\x73\x74\x72\x65\x61\x6D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x45\x6E\x63\x6F\x64\x69\x6E\x67\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4C\x61\x6E\x67\x75\x61\x67\x65\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x62\x4E\x4E\x56\x62\x65\x73\x4E\x70\x55\x76\x4B\x42\x67\x74\x4D\x4F\x55\x65\x59\x4F\x51\x3D\x3D\x3C\x2F\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x4D\x44\x35\x3E\x3C\x43\x61\x63\x68\x65\x2D\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x2F\x3E\x3C\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x44\x69\x73\x70\x6F\x73\x69\x74\x69\x6F\x6E\x20\x2F\x3E\x3C\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x42\x6C\x6F\x63\x6B\x42\x6C\x6F\x62\x3C\x2F\x42\x6C\x6F\x62\x54\x79\x70\x65\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x75\x6E\x6C\x6F\x63\x6B\x65\x64\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x75\x73\x3E\x3C\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x61\x76\x61\x69\x6C\x61\x62\x6C\x65\x3C\x2F\x4C\x65\x61\x73\x65\x53\x74\x61\x74\x65\x3E\x3C\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x66\x61\x6C\x73\x65\x3C\x2F\x53\x65\x72\x76\x65\x72\x45\x6E\x63\x72\x79\x70\x74\x65\x64\x3E\x3C\x2F\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73\x3E\x3C\x2F\x42\x6C\x6F\x62\x3E\x3C\x2F\x42\x6C\x6F\x62\x73\x3E\x3C\x4E\x65\x78\x74\x4D\x61\x72\x6B\x65\x72\x20\x2F\x3E\x3C\x2F\x45\x6E\x75\x6D\x65\x72\x61\x74\x69\x6F\x6E\x52\x65\x73\x75\x6C\x74\x73\x3E" + headers: + Content-Type: + - application/xml + Date: + - Wed, 27 Sep 2017 23:26:51 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Request-Id: + - 8a9cdbcc-001e-004d-60e8-37c45b000000 X-Ms-Version: - 2016-05-31 status: 200 OK @@ -329,12 +482,11 @@ interactions: form: {} headers: Authorization: - - SharedKey golangrocksonazure:omuZ+zjm0QwnfHSEi4xBBroqlkctmGSFXmW8JMLb4NU= + - SharedKey golangrocksonazure:mNkS8/0U71wK6p6FT0CRpxz/EskI3QFlF/q5qstOSQ0= User-Agent: - - Go/go1.9beta1 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 - blob + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob x-ms-date: - - Thu, 20 Jul 2017 23:34:03 GMT + - Wed, 27 Sep 2017 23:26:52 GMT x-ms-version: - 2016-05-31 url: https://golangrocksonazure.blob.core.windows.net/cnt-38containersuitetestlistblob?restype=container @@ -343,11 +495,11 @@ interactions: body: "" headers: Date: - - Thu, 20 Jul 2017 23:34:02 GMT + - Wed, 27 Sep 2017 23:26:51 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Request-Id: - - 7d6130e3-0001-0009-5bb0-01ca46000000 + - 8a9cdbd6-001e-004d-69e8-37c45b000000 X-Ms-Version: - 2016-05-31 status: 202 Accepted diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/StorageBlobSuite/TestSetPageBlobProperties.yaml b/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/StorageBlobSuite/TestSetPageBlobProperties.yaml new file mode 100644 index 000000000..7222cadeb --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/StorageBlobSuite/TestSetPageBlobProperties.yaml @@ -0,0 +1,136 @@ +--- +version: 1 +rwmutex: {} +interactions: +- request: + body: "" + form: {} + headers: + Authorization: + - SharedKey golangrocksonazure:MVbkRnsIo2WDc4NLbDCyyNqVCqIvXUegkdrulwnSjUY= + User-Agent: + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob + x-ms-date: + - Thu, 21 Sep 2017 22:05:24 GMT + x-ms-version: + - 2016-05-31 + url: https://golangrocksonazure.blob.core.windows.net/cnt-42storageblobsuitetestsetpag?restype=container + method: PUT + response: + body: "" + headers: + Date: + - Thu, 21 Sep 2017 22:05:23 GMT + Etag: + - '"0x8D5013CDBFB69E8"' + Last-Modified: + - Thu, 21 Sep 2017 22:05:24 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Request-Id: + - 3c75464c-001e-00a0-3825-33cddf000000 + X-Ms-Version: + - 2016-05-31 + status: 201 Created + code: 201 +- request: + body: "" + form: {} + headers: + Authorization: + - SharedKey golangrocksonazure:fbHxRBbqRmtvlZI8WAs/WIVBlWK2N/+mgr9nXZjGV2k= + User-Agent: + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob + x-ms-blob-content-length: + - "1024" + x-ms-blob-sequence-number: + - "0" + x-ms-blob-type: + - PageBlob + x-ms-date: + - Thu, 21 Sep 2017 22:05:24 GMT + x-ms-version: + - 2016-05-31 + url: https://golangrocksonazure.blob.core.windows.net/cnt-42storageblobsuitetestsetpag/blob/42storageblobsuitetestsetpageblobproperties + method: PUT + response: + body: "" + headers: + Date: + - Thu, 21 Sep 2017 22:05:23 GMT + Etag: + - '"0x8D5013CDBED986E"' + Last-Modified: + - Thu, 21 Sep 2017 22:05:24 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Request-Id: + - 3c75466a-001e-00a0-5025-33cddf000000 + X-Ms-Request-Server-Encrypted: + - "false" + X-Ms-Version: + - 2016-05-31 + status: 201 Created + code: 201 +- request: + body: "" + form: {} + headers: + Authorization: + - SharedKey golangrocksonazure:HsD3iyu6ZcasqvRknO6zudPx+E6f7BzgOFTBq6oLOW4= + User-Agent: + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob + x-ms-blob-content-length: + - "512" + x-ms-date: + - Thu, 21 Sep 2017 22:05:24 GMT + x-ms-version: + - 2016-05-31 + url: https://golangrocksonazure.blob.core.windows.net/cnt-42storageblobsuitetestsetpag/blob/42storageblobsuitetestsetpageblobproperties?comp=properties&timeout=30 + method: PUT + response: + body: "" + headers: + Date: + - Thu, 21 Sep 2017 22:05:23 GMT + Etag: + - '"0x8D5013CDBF53B0F"' + Last-Modified: + - Thu, 21 Sep 2017 22:05:24 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Blob-Sequence-Number: + - "0" + X-Ms-Request-Id: + - 3c75467f-001e-00a0-5f25-33cddf000000 + X-Ms-Version: + - 2016-05-31 + status: 200 OK + code: 200 +- request: + body: "" + form: {} + headers: + Authorization: + - SharedKey golangrocksonazure:hA7eYCRZASeSy8tinPlEDXEQi6Mg2WLKShnszmvMw78= + User-Agent: + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob + x-ms-date: + - Thu, 21 Sep 2017 22:05:24 GMT + x-ms-version: + - 2016-05-31 + url: https://golangrocksonazure.blob.core.windows.net/cnt-42storageblobsuitetestsetpag?restype=container + method: DELETE + response: + body: "" + headers: + Date: + - Thu, 21 Sep 2017 22:05:23 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Request-Id: + - 3c754682-001e-00a0-6225-33cddf000000 + X-Ms-Version: + - 2016-05-31 + status: 202 Accepted + code: 202 diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/StorageClientSuite/Test_doRetry.yaml b/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/StorageClientSuite/Test_doRetry.yaml index 47381b15f..7a5aaf40f 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/StorageClientSuite/Test_doRetry.yaml +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/recordings/StorageClientSuite/Test_doRetry.yaml @@ -16,18 +16,18 @@ interactions: method: DELETE response: body: '{"odata.error":{"code":"ResourceNotFound","message":{"lang":"en-US","value":"The - specified resource does not exist.\nRequestId:875b7d62-0002-0036-48b0-0102e5000000\nTime:2017-07-20T23:33:55.9834316Z"}}}' + specified resource does not exist.\nRequestId:07179106-0002-00ce-65eb-3764f6000000\nTime:2017-09-27T23:52:14.1723707Z"}}}' headers: Content-Length: - "202" Content-Type: - application/json Date: - - Thu, 20 Jul 2017 23:33:55 GMT + - Wed, 27 Sep 2017 23:52:13 GMT Server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Request-Id: - - 875b7d62-0002-0036-48b0-0102e5000000 + - 07179106-0002-00ce-65eb-3764f6000000 X-Ms-Version: - 2016-05-31 status: 404 The specified resource does not exist. @@ -46,18 +46,18 @@ interactions: method: DELETE response: body: '{"odata.error":{"code":"ResourceNotFound","message":{"lang":"en-US","value":"The - specified resource does not exist.\nRequestId:875b7d91-0002-0036-74b0-0102e5000000\nTime:2017-07-20T23:33:57.0061650Z"}}}' + specified resource does not exist.\nRequestId:071791cd-0002-00ce-24eb-3764f6000000\nTime:2017-09-27T23:52:15.2801642Z"}}}' headers: Content-Length: - "202" Content-Type: - application/json Date: - - Thu, 20 Jul 2017 23:33:56 GMT + - Wed, 27 Sep 2017 23:52:14 GMT Server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Request-Id: - - 875b7d91-0002-0036-74b0-0102e5000000 + - 071791cd-0002-00ce-24eb-3764f6000000 X-Ms-Version: - 2016-05-31 status: 404 The specified resource does not exist. @@ -76,19 +76,169 @@ interactions: method: DELETE response: body: '{"odata.error":{"code":"ResourceNotFound","message":{"lang":"en-US","value":"The - specified resource does not exist.\nRequestId:875b7dd8-0002-0036-31b0-0102e5000000\nTime:2017-07-20T23:33:59.0156064Z"}}}' + specified resource does not exist.\nRequestId:07179395-0002-00ce-55eb-3764f6000000\nTime:2017-09-27T23:52:17.3386407Z"}}}' headers: Content-Length: - "202" Content-Type: - application/json Date: - - Thu, 20 Jul 2017 23:33:58 GMT + - Wed, 27 Sep 2017 23:52:17 GMT Server: - Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0 X-Ms-Request-Id: - - 875b7dd8-0002-0036-31b0-0102e5000000 + - 07179395-0002-00ce-55eb-3764f6000000 X-Ms-Version: - 2016-05-31 status: 404 The specified resource does not exist. code: 404 +- request: + body: "" + form: {} + headers: + User-Agent: + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob + x-ms-date: + - Wed, 27 Sep 2017 23:52:21 GMT + x-ms-version: + - 2016-05-31 + url: https://golangrocksonazure.blob.core.windows.net/cnt-31storageclientsuitetestdore?restype=container&se=2050-12-20T21%3A55%3A06Z&sig=UJ0X%2BdSTE2UqsP6d6dqhSAG%2FD0K1jeOEi2tS%2F5VrGk8%3D&sp=racwdl&sr=c&sv=2016-05-31 + method: HEAD + response: + body: "" + headers: + Date: + - Wed, 27 Sep 2017 23:52:21 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Request-Id: + - 4c4963bc-001e-00bc-70eb-3715c8000000 + X-Ms-Version: + - 2016-05-31 + status: 403 This request is not authorized to perform this operation. + code: 403 +- request: + body: "" + form: {} + headers: + User-Agent: + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob + x-ms-date: + - Wed, 27 Sep 2017 23:52:21 GMT + x-ms-version: + - 2016-05-31 + url: https://golangrocksonazure.blob.core.windows.net/cnt-31storageclientsuitetestdore?restype=container&se=2050-12-20T21%3A55%3A06Z&sig=UJ0X%2BdSTE2UqsP6d6dqhSAG%2FD0K1jeOEi2tS%2F5VrGk8%3D&sp=racwdl&sr=c&sv=2016-05-31 + method: HEAD + response: + body: "" + headers: + Date: + - Wed, 27 Sep 2017 23:52:22 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Request-Id: + - 4c49644c-001e-00bc-58eb-3715c8000000 + X-Ms-Version: + - 2016-05-31 + status: 403 This request is not authorized to perform this operation. + code: 403 +- request: + body: "" + form: {} + headers: + User-Agent: + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob + x-ms-date: + - Wed, 27 Sep 2017 23:52:21 GMT + x-ms-version: + - 2016-05-31 + url: https://golangrocksonazure.blob.core.windows.net/cnt-31storageclientsuitetestdore?restype=container&se=2050-12-20T21%3A55%3A06Z&sig=UJ0X%2BdSTE2UqsP6d6dqhSAG%2FD0K1jeOEi2tS%2F5VrGk8%3D&sp=racwdl&sr=c&sv=2016-05-31 + method: HEAD + response: + body: "" + headers: + Date: + - Wed, 27 Sep 2017 23:52:24 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Request-Id: + - 4c49656a-001e-00bc-3ceb-3715c8000000 + X-Ms-Version: + - 2016-05-31 + status: 403 This request is not authorized to perform this operation. + code: 403 +- request: + body: "" + form: {} + headers: + User-Agent: + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob + x-ms-date: + - Wed, 27 Sep 2017 23:52:28 GMT + x-ms-version: + - 2016-05-31 + url: https://golangrocksonazure.blob.core.windows.net/cnt-31storageclientsuitetestdore?restype=container&se=2050-12-20&sig=H47yV%2BBZqUb6EMXkxCwBoRUjUuBNbwqnUdArMgO3agQ%3D&sp=rwdlacup&spr=https&srt=sco&ss=b&sv=2016-05-31 + method: HEAD + response: + body: "" + headers: + Date: + - Wed, 27 Sep 2017 23:52:29 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Request-Id: + - 4c4967d1-001e-00bc-37eb-3715c8000000 + X-Ms-Version: + - 2016-05-31 + status: 404 The specified container does not exist. + code: 404 +- request: + body: "" + form: {} + headers: + User-Agent: + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob + x-ms-date: + - Wed, 27 Sep 2017 23:52:28 GMT + x-ms-version: + - 2016-05-31 + url: https://golangrocksonazure.blob.core.windows.net/cnt-31storageclientsuitetestdore?restype=container&se=2050-12-20&sig=H47yV%2BBZqUb6EMXkxCwBoRUjUuBNbwqnUdArMgO3agQ%3D&sp=rwdlacup&spr=https&srt=sco&ss=b&sv=2016-05-31 + method: HEAD + response: + body: "" + headers: + Date: + - Wed, 27 Sep 2017 23:52:30 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Request-Id: + - 4c4968aa-001e-00bc-6feb-3715c8000000 + X-Ms-Version: + - 2016-05-31 + status: 404 The specified container does not exist. + code: 404 +- request: + body: "" + form: {} + headers: + User-Agent: + - Go/go1.9 (amd64-windows) azure-storage-go/10.0.2 api-version/2016-05-31 blob + x-ms-date: + - Wed, 27 Sep 2017 23:52:28 GMT + x-ms-version: + - 2016-05-31 + url: https://golangrocksonazure.blob.core.windows.net/cnt-31storageclientsuitetestdore?restype=container&se=2050-12-20&sig=H47yV%2BBZqUb6EMXkxCwBoRUjUuBNbwqnUdArMgO3agQ%3D&sp=rwdlacup&spr=https&srt=sco&ss=b&sv=2016-05-31 + method: HEAD + response: + body: "" + headers: + Date: + - Wed, 27 Sep 2017 23:52:32 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Request-Id: + - 4c496a40-001e-00bc-4eeb-3715c8000000 + X-Ms-Version: + - 2016-05-31 + status: 404 The specified container does not exist. + code: 404 diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/share.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/share.go index e6a868081..a14d9d324 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/share.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/share.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "fmt" "net/http" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/share_test.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/share_test.go index 2e207bdc9..85b588c5f 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/share_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/share_test.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import chk "gopkg.in/check.v1" type StorageShareSuite struct{} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/storagepolicy.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/storagepolicy.go index bee1c31ad..056ab398a 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/storagepolicy.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/storagepolicy.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "strings" "time" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/storageservice.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/storageservice.go index 88700fbc9..c102619c9 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/storageservice.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/storageservice.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "net/http" "net/url" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/storageservice_test.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/storageservice_test.go index 713aeb8a2..3b47f6322 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/storageservice_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/storageservice_test.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import chk "gopkg.in/check.v1" type StorageSuite struct{} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/table.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/table.go index 4eae3af9d..6c01d32ee 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/table.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/table.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "bytes" "encoding/json" @@ -174,11 +188,7 @@ func (t *Table) Delete(timeout uint, options *TableOptions) error { } defer readAndCloseBody(resp.body) - if err := checkRespCode(resp.statusCode, []int{http.StatusNoContent}); err != nil { - return err - - } - return nil + return checkRespCode(resp.statusCode, []int{http.StatusNoContent}) } // QueryOptions includes options for a query entities operation. @@ -261,10 +271,7 @@ func (t *Table) SetPermissions(tap []TableAccessPolicy, timeout uint, options *T } defer readAndCloseBody(resp.body) - if err := checkRespCode(resp.statusCode, []int{http.StatusNoContent}); err != nil { - return err - } - return nil + return checkRespCode(resp.statusCode, []int{http.StatusNoContent}) } func generateTableACLPayload(policies []TableAccessPolicy) (io.Reader, int, error) { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/table_batch.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/table_batch.go index 7a0f0915c..3f882417c 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/table_batch.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/table_batch.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "bytes" "encoding/json" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/table_batch_test.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/table_batch_test.go index 8b91efa0c..27c92d9f6 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/table_batch_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/table_batch_test.go @@ -1,5 +1,21 @@ +// +build go1.7 + package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "time" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/table_test.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/table_test.go index fd17223db..fb49c9050 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/table_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/table_test.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "strconv" "time" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/tableserviceclient.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/tableserviceclient.go index 895dcfded..456bee773 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/tableserviceclient.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/tableserviceclient.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "encoding/json" "fmt" diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/util.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/util.go index d3ae9d092..7734b8f88 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/util.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/util.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "bytes" "crypto/hmac" @@ -18,7 +32,29 @@ import ( ) var ( - fixedTime = time.Date(2050, time.December, 20, 21, 55, 0, 0, time.FixedZone("GMT", -6)) + fixedTime = time.Date(2050, time.December, 20, 21, 55, 0, 0, time.FixedZone("GMT", -6)) + accountSASOptions = AccountSASTokenOptions{ + Services: Services{ + Blob: true, + }, + ResourceTypes: ResourceTypes{ + Service: true, + Container: true, + Object: true, + }, + Permissions: Permissions{ + Read: true, + Write: true, + Delete: true, + List: true, + Add: true, + Create: true, + Update: true, + Process: true, + }, + Expiry: fixedTime, + UseHTTPS: true, + } ) func (c Client) computeHmac256(message string) string { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/util_1.7.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/util_1.7.go new file mode 100644 index 000000000..67ff6ca03 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/util_1.7.go @@ -0,0 +1,26 @@ +// +build !go1.8 + +// Copyright 2017 Microsoft Corporation +// +// 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 storage + +import ( + "io" + "net/http" +) + +func setContentLengthFromLimitedReader(req *http.Request, lr *io.LimitedReader) { + req.ContentLength = lr.N +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/util_1.8.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/util_1.8.go new file mode 100644 index 000000000..eada102c0 --- /dev/null +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/util_1.8.go @@ -0,0 +1,32 @@ +// +build go1.8 + +// Copyright 2017 Microsoft Corporation +// +// 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 storage + +import ( + "io" + "io/ioutil" + "net/http" +) + +func setContentLengthFromLimitedReader(req *http.Request, lr *io.LimitedReader) { + req.ContentLength = lr.N + snapshot := *lr + req.GetBody = func() (io.ReadCloser, error) { + r := snapshot + return ioutil.NopCloser(&r), nil + } +} diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/util_test.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/util_test.go index ec57f5056..2cb80534a 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/util_test.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/util_test.go @@ -1,9 +1,24 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + import ( "bytes" "encoding/hex" "encoding/xml" + "flag" "fmt" "io/ioutil" "net/url" @@ -16,9 +31,21 @@ import ( chk "gopkg.in/check.v1" ) +var ( + overwriteRec bool + pwd string +) + func TestMain(m *testing.M) { + var err error + flag.BoolVar(&overwriteRec, "ow", false, "Regenerate recordings for testing") + pwd, err = os.Getwd() + if err != nil { + fmt.Fprintf(os.Stderr, "Unable to get current working directory: %v\n", err) + os.Exit(1) + } exitStatus := m.Run() - err := fixRecordings() + err = fixRecordings() if err != nil { fmt.Fprintf(os.Stderr, "After test run, fixing recordings failed with error: %v\n", err) exitStatus = 1 diff --git a/vendor/github.com/Azure/azure-sdk-for-go/storage/version.go b/vendor/github.com/Azure/azure-sdk-for-go/storage/version.go index a23fff1e2..1cd3e03d1 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/storage/version.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/storage/version.go @@ -1,5 +1,19 @@ package storage +// Copyright 2017 Microsoft Corporation +// +// 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. + var ( sdkVersion = "10.0.2" ) diff --git a/vendor/github.com/Azure/go-autorest/.gitignore b/vendor/github.com/Azure/go-autorest/.gitignore index 325986efa..ab262cbe5 100644 --- a/vendor/github.com/Azure/go-autorest/.gitignore +++ b/vendor/github.com/Azure/go-autorest/.gitignore @@ -7,6 +7,8 @@ # Folders _obj _test +.DS_Store +.idea/ # Architecture specific extensions/prefixes *.[568vq] diff --git a/vendor/github.com/Azure/go-autorest/.travis.yml b/vendor/github.com/Azure/go-autorest/.travis.yml index 3e84ea35f..566850986 100644 --- a/vendor/github.com/Azure/go-autorest/.travis.yml +++ b/vendor/github.com/Azure/go-autorest/.travis.yml @@ -2,9 +2,10 @@ sudo: false language: go -go: - - 1.7 +go: - 1.8 + - 1.7 + - 1.6 install: - go get -u github.com/golang/lint/golint diff --git a/vendor/github.com/Azure/go-autorest/GNUmakefile b/vendor/github.com/Azure/go-autorest/GNUmakefile new file mode 100644 index 000000000..a434e73ac --- /dev/null +++ b/vendor/github.com/Azure/go-autorest/GNUmakefile @@ -0,0 +1,23 @@ +DIR?=./autorest/ + +default: build + +build: fmt + go install $(DIR) + +test: + go test $(DIR) || exit 1 + +vet: + @echo "go vet ." + @go vet $(DIR)... ; if [ $$? -eq 1 ]; then \ + echo ""; \ + echo "Vet found suspicious constructs. Please check the reported constructs"; \ + echo "and fix them if necessary before submitting the code for review."; \ + exit 1; \ + fi + +fmt: + gofmt -w $(DIR) + +.PHONY: build test vet fmt diff --git a/vendor/github.com/Azure/go-autorest/autorest/adal/msi.go b/vendor/github.com/Azure/go-autorest/autorest/adal/msi.go new file mode 100644 index 000000000..e87911e83 --- /dev/null +++ b/vendor/github.com/Azure/go-autorest/autorest/adal/msi.go @@ -0,0 +1,6 @@ +// +build !windows + +package adal + +// msiPath is the path to the MSI Extension settings file (to discover the endpoint) +var msiPath = "/var/lib/waagent/ManagedIdentity-Settings" diff --git a/vendor/github.com/Azure/go-autorest/autorest/adal/msi_windows.go b/vendor/github.com/Azure/go-autorest/autorest/adal/msi_windows.go new file mode 100644 index 000000000..80f800432 --- /dev/null +++ b/vendor/github.com/Azure/go-autorest/autorest/adal/msi_windows.go @@ -0,0 +1,11 @@ +// +build windows + +package adal + +import ( + "os" + "strings" +) + +// msiPath is the path to the MSI Extension settings file (to discover the endpoint) +var msiPath = strings.Join([]string{os.Getenv("SystemDrive"), "WindowsAzure/Config/ManagedIdentity-Settings"}, "/") diff --git a/vendor/github.com/Azure/go-autorest/autorest/adal/token.go b/vendor/github.com/Azure/go-autorest/autorest/adal/token.go index 559fc6653..2ac8c3c22 100644 --- a/vendor/github.com/Azure/go-autorest/autorest/adal/token.go +++ b/vendor/github.com/Azure/go-autorest/autorest/adal/token.go @@ -15,12 +15,12 @@ import ( "strings" "time" + "github.com/Azure/go-autorest/autorest/date" "github.com/dgrijalva/jwt-go" ) const ( defaultRefresh = 5 * time.Minute - tokenBaseDate = "1970-01-01T00:00:00Z" // OAuthGrantTypeDeviceCode is the "grant_type" identifier used in device flow OAuthGrantTypeDeviceCode = "device_code" @@ -31,16 +31,10 @@ const ( // OAuthGrantTypeRefreshToken is the "grant_type" identifier used in refresh token flows OAuthGrantTypeRefreshToken = "refresh_token" - // managedIdentitySettingsPath is the path to the MSI Extension settings file (to discover the endpoint) - managedIdentitySettingsPath = "/var/lib/waagent/ManagedIdentity-Settings" + // metadataHeader is the header required by MSI extension + metadataHeader = "Metadata" ) -var expirationBase time.Time - -func init() { - expirationBase, _ = time.Parse(time.RFC3339, tokenBaseDate) -} - // OAuthTokenProvider is an interface which should be implemented by an access token retriever type OAuthTokenProvider interface { OAuthToken() string @@ -76,7 +70,10 @@ func (t Token) Expires() time.Time { if err != nil { s = -3600 } - return expirationBase.Add(time.Duration(s) * time.Second).UTC() + + expiration := date.NewUnixTimeFromSeconds(float64(s)) + + return time.Time(expiration).UTC() } // IsExpired returns true if the Token is expired, false otherwise. @@ -135,9 +132,7 @@ type ServicePrincipalMSISecret struct { } // SetAuthenticationValues is a method of the interface ServicePrincipalSecret. -// MSI extension requires the authority field to be set to the real tenant authority endpoint func (msiSecret *ServicePrincipalMSISecret) SetAuthenticationValues(spt *ServicePrincipalToken, v *url.Values) error { - v.Set("authority", spt.oauthConfig.AuthorityEndpoint.String()) return nil } @@ -261,41 +256,43 @@ func NewServicePrincipalTokenFromCertificate(oauthConfig OAuthConfig, clientID s ) } -// NewServicePrincipalTokenFromMSI creates a ServicePrincipalToken via the MSI VM Extension. -func NewServicePrincipalTokenFromMSI(oauthConfig OAuthConfig, resource string, callbacks ...TokenRefreshCallback) (*ServicePrincipalToken, error) { - return newServicePrincipalTokenFromMSI(oauthConfig, resource, managedIdentitySettingsPath, callbacks...) +// GetMSIVMEndpoint gets the MSI endpoint on Virtual Machines. +func GetMSIVMEndpoint() (string, error) { + return getMSIVMEndpoint(msiPath) } -func newServicePrincipalTokenFromMSI(oauthConfig OAuthConfig, resource, settingsPath string, callbacks ...TokenRefreshCallback) (*ServicePrincipalToken, error) { +func getMSIVMEndpoint(path string) (string, error) { // Read MSI settings - bytes, err := ioutil.ReadFile(settingsPath) + bytes, err := ioutil.ReadFile(path) if err != nil { - return nil, err + return "", err } msiSettings := struct { URL string `json:"url"` }{} err = json.Unmarshal(bytes, &msiSettings) if err != nil { - return nil, err + return "", err } + return msiSettings.URL, nil +} + +// NewServicePrincipalTokenFromMSI creates a ServicePrincipalToken via the MSI VM Extension. +func NewServicePrincipalTokenFromMSI(msiEndpoint, resource string, callbacks ...TokenRefreshCallback) (*ServicePrincipalToken, error) { // We set the oauth config token endpoint to be MSI's endpoint - // We leave the authority as-is so MSI can POST it with the token request - msiEndpointURL, err := url.Parse(msiSettings.URL) + msiEndpointURL, err := url.Parse(msiEndpoint) if err != nil { return nil, err } - msiTokenEndpointURL, err := msiEndpointURL.Parse("/oauth2/token") + oauthConfig, err := NewOAuthConfig(msiEndpointURL.String(), "") if err != nil { return nil, err } - oauthConfig.TokenEndpoint = *msiTokenEndpointURL - spt := &ServicePrincipalToken{ - oauthConfig: oauthConfig, + oauthConfig: *oauthConfig, secret: &ServicePrincipalMSISecret{}, resource: resource, autoRefresh: true, @@ -364,16 +361,24 @@ func (spt *ServicePrincipalToken) refreshInternal(resource string) error { req.ContentLength = int64(len(s)) req.Header.Set(contentType, mimeTypeFormPost) + if _, ok := spt.secret.(*ServicePrincipalMSISecret); ok { + req.Header.Set(metadataHeader, "true") + } resp, err := spt.sender.Do(req) if err != nil { return fmt.Errorf("adal: Failed to execute the refresh request. Error = '%v'", err) } + defer resp.Body.Close() + rb, err := ioutil.ReadAll(resp.Body) + if resp.StatusCode != http.StatusOK { - return fmt.Errorf("adal: Refresh request failed. Status Code = '%d'", resp.StatusCode) + if err != nil { + return fmt.Errorf("adal: Refresh request failed. Status Code = '%d'. Failed reading response body", resp.StatusCode) + } + return fmt.Errorf("adal: Refresh request failed. Status Code = '%d'. Response body: %s", resp.StatusCode, string(rb)) } - rb, err := ioutil.ReadAll(resp.Body) if err != nil { return fmt.Errorf("adal: Failed to read a new service principal token during refresh. Error = '%v'", err) } diff --git a/vendor/github.com/Azure/go-autorest/autorest/adal/token_test.go b/vendor/github.com/Azure/go-autorest/autorest/adal/token_test.go index 9c92f4198..0c60a6199 100644 --- a/vendor/github.com/Azure/go-autorest/autorest/adal/token_test.go +++ b/vendor/github.com/Azure/go-autorest/autorest/adal/token_test.go @@ -17,6 +17,7 @@ import ( "testing" "time" + "github.com/Azure/go-autorest/autorest/date" "github.com/Azure/go-autorest/autorest/mocks" ) @@ -133,6 +134,44 @@ func TestServicePrincipalTokenRefreshUsesPOST(t *testing.T) { } } +func TestServicePrincipalTokenFromMSIRefreshUsesPOST(t *testing.T) { + resource := "https://resource" + cb := func(token Token) error { return nil } + + spt, err := NewServicePrincipalTokenFromMSI("http://msiendpoint/", resource, cb) + if err != nil { + t.Fatalf("Failed to get MSI SPT: %v", err) + } + + body := mocks.NewBody(newTokenJSON("test", "test")) + resp := mocks.NewResponseWithBodyAndStatus(body, http.StatusOK, "OK") + + c := mocks.NewSender() + s := DecorateSender(c, + (func() SendDecorator { + return func(s Sender) Sender { + return SenderFunc(func(r *http.Request) (*http.Response, error) { + if r.Method != "POST" { + t.Fatalf("adal: ServicePrincipalToken#Refresh did not correctly set HTTP method -- expected %v, received %v", "POST", r.Method) + } + if h := r.Header.Get("Metadata"); h != "true" { + t.Fatalf("adal: ServicePrincipalToken#Refresh did not correctly set Metadata header for MSI") + } + return resp, nil + }) + } + })()) + spt.SetSender(s) + err = spt.Refresh() + if err != nil { + t.Fatalf("adal: ServicePrincipalToken#Refresh returned an unexpected error (%v)", err) + } + + if body.IsOpen() { + t.Fatalf("the response was not closed!") + } +} + func TestServicePrincipalTokenRefreshSetsMimeType(t *testing.T) { spt := newServicePrincipalToken() @@ -342,7 +381,7 @@ func TestServicePrincipalTokenRefreshReturnsErrorIfNotOk(t *testing.T) { func TestServicePrincipalTokenRefreshUnmarshals(t *testing.T) { spt := newServicePrincipalToken() - expiresOn := strconv.Itoa(int(time.Now().Add(3600 * time.Second).Sub(expirationBase).Seconds())) + expiresOn := strconv.Itoa(int(time.Now().Add(3600 * time.Second).Sub(date.UnixEpoch()).Seconds())) j := newTokenJSON(expiresOn, "resource") resp := mocks.NewResponseWithContent(j) c := mocks.NewSender() @@ -430,7 +469,7 @@ func TestRefreshCallback(t *testing.T) { return nil }) - expiresOn := strconv.Itoa(int(time.Now().Add(3600 * time.Second).Sub(expirationBase).Seconds())) + expiresOn := strconv.Itoa(int(time.Now().Add(3600 * time.Second).Sub(date.UnixEpoch()).Seconds())) sender := mocks.NewSender() j := newTokenJSON(expiresOn, "resource") @@ -451,7 +490,7 @@ func TestRefreshCallbackErrorPropagates(t *testing.T) { return fmt.Errorf(errorText) }) - expiresOn := strconv.Itoa(int(time.Now().Add(3600 * time.Second).Sub(expirationBase).Seconds())) + expiresOn := strconv.Itoa(int(time.Now().Add(3600 * time.Second).Sub(date.UnixEpoch()).Seconds())) sender := mocks.NewSender() j := newTokenJSON(expiresOn, "resource") @@ -476,32 +515,9 @@ func TestServicePrincipalTokenManualRefreshFailsWithoutRefresh(t *testing.T) { func TestNewServicePrincipalTokenFromMSI(t *testing.T) { resource := "https://resource" - cb := func(token Token) error { return nil } - tempSettingsFile, err := ioutil.TempFile("", "ManagedIdentity-Settings") - if err != nil { - t.Fatal("Couldn't write temp settings file") - } - defer os.Remove(tempSettingsFile.Name()) - settingsContents := []byte(`{ - "url": "http://msiendpoint/" - }`) - - if _, err := tempSettingsFile.Write(settingsContents); err != nil { - t.Fatal("Couldn't fill temp settings file") - } - - oauthConfig, err := NewOAuthConfig("http://adendpoint", "1-2-3-4") - if err != nil { - t.Fatal("Failed to construct oauthconfig") - } - - spt, err := newServicePrincipalTokenFromMSI( - *oauthConfig, - resource, - tempSettingsFile.Name(), - cb) + spt, err := NewServicePrincipalTokenFromMSI("http://msiendpoint/", resource, cb) if err != nil { t.Fatalf("Failed to get MSI SPT: %v", err) } @@ -520,6 +536,31 @@ func TestNewServicePrincipalTokenFromMSI(t *testing.T) { } } +func TestGetVMEndpoint(t *testing.T) { + tempSettingsFile, err := ioutil.TempFile("", "ManagedIdentity-Settings") + if err != nil { + t.Fatal("Couldn't write temp settings file") + } + defer os.Remove(tempSettingsFile.Name()) + + settingsContents := []byte(`{ + "url": "http://msiendpoint/" + }`) + + if _, err := tempSettingsFile.Write(settingsContents); err != nil { + t.Fatal("Couldn't fill temp settings file") + } + + endpoint, err := getMSIVMEndpoint(tempSettingsFile.Name()) + if err != nil { + t.Fatal("Coudn't get VM endpoint") + } + + if endpoint != "http://msiendpoint/" { + t.Fatal("Didn't get correct endpoint") + } +} + func newToken() *Token { return &Token{ AccessToken: "ASECRETVALUE", @@ -554,7 +595,7 @@ func expireToken(t *Token) *Token { func setTokenToExpireAt(t *Token, expireAt time.Time) *Token { t.ExpiresIn = "3600" - t.ExpiresOn = strconv.Itoa(int(expireAt.Sub(expirationBase).Seconds())) + t.ExpiresOn = strconv.Itoa(int(expireAt.Sub(date.UnixEpoch()).Seconds())) t.NotBefore = t.ExpiresOn return t } diff --git a/vendor/github.com/Azure/go-autorest/autorest/authorization.go b/vendor/github.com/Azure/go-autorest/autorest/authorization.go index 7f4e3d845..314ed7876 100644 --- a/vendor/github.com/Azure/go-autorest/autorest/authorization.go +++ b/vendor/github.com/Azure/go-autorest/autorest/authorization.go @@ -3,10 +3,18 @@ package autorest import ( "fmt" "net/http" + "net/url" + "strings" "github.com/Azure/go-autorest/autorest/adal" ) +const ( + bearerChallengeHeader = "Www-Authenticate" + bearer = "Bearer" + tenantID = "tenantID" +) + // Authorizer is the interface that provides a PrepareDecorator used to supply request // authorization. Most often, the Authorizer decorator runs last so it has access to the full // state of the formed HTTP request. @@ -55,3 +63,105 @@ func (ba *BearerAuthorizer) WithAuthorization() PrepareDecorator { }) } } + +// BearerAuthorizerCallbackFunc is the authentication callback signature. +type BearerAuthorizerCallbackFunc func(tenantID, resource string) (*BearerAuthorizer, error) + +// BearerAuthorizerCallback implements bearer authorization via a callback. +type BearerAuthorizerCallback struct { + sender Sender + callback BearerAuthorizerCallbackFunc +} + +// NewBearerAuthorizerCallback creates a bearer authorization callback. The callback +// is invoked when the HTTP request is submitted. +func NewBearerAuthorizerCallback(sender Sender, callback BearerAuthorizerCallbackFunc) *BearerAuthorizerCallback { + if sender == nil { + sender = &http.Client{} + } + return &BearerAuthorizerCallback{sender: sender, callback: callback} +} + +// WithAuthorization returns a PrepareDecorator that adds an HTTP Authorization header whose value +// is "Bearer " followed by the token. The BearerAuthorizer is obtained via a user-supplied callback. +// +// By default, the token will be automatically refreshed through the Refresher interface. +func (bacb *BearerAuthorizerCallback) WithAuthorization() PrepareDecorator { + return func(p Preparer) Preparer { + return PreparerFunc(func(r *http.Request) (*http.Request, error) { + // make a copy of the request and remove the body as it's not + // required and avoids us having to create a copy of it. + rCopy := *r + removeRequestBody(&rCopy) + + resp, err := bacb.sender.Do(&rCopy) + if err == nil && resp.StatusCode == 401 { + defer resp.Body.Close() + if hasBearerChallenge(resp) { + bc, err := newBearerChallenge(resp) + if err != nil { + return r, err + } + if bacb.callback != nil { + ba, err := bacb.callback(bc.values[tenantID], bc.values["resource"]) + if err != nil { + return r, err + } + return ba.WithAuthorization()(p).Prepare(r) + } + } + } + return r, err + }) + } +} + +// returns true if the HTTP response contains a bearer challenge +func hasBearerChallenge(resp *http.Response) bool { + authHeader := resp.Header.Get(bearerChallengeHeader) + if len(authHeader) == 0 || strings.Index(authHeader, bearer) < 0 { + return false + } + return true +} + +type bearerChallenge struct { + values map[string]string +} + +func newBearerChallenge(resp *http.Response) (bc bearerChallenge, err error) { + challenge := strings.TrimSpace(resp.Header.Get(bearerChallengeHeader)) + trimmedChallenge := challenge[len(bearer)+1:] + + // challenge is a set of key=value pairs that are comma delimited + pairs := strings.Split(trimmedChallenge, ",") + if len(pairs) < 1 { + err = fmt.Errorf("challenge '%s' contains no pairs", challenge) + return bc, err + } + + bc.values = make(map[string]string) + for i := range pairs { + trimmedPair := strings.TrimSpace(pairs[i]) + pair := strings.Split(trimmedPair, "=") + if len(pair) == 2 { + // remove the enclosing quotes + key := strings.Trim(pair[0], "\"") + value := strings.Trim(pair[1], "\"") + + switch key { + case "authorization", "authorization_uri": + // strip the tenant ID from the authorization URL + asURL, err := url.Parse(value) + if err != nil { + return bc, err + } + bc.values[tenantID] = asURL.Path[1:] + default: + bc.values[key] = value + } + } + } + + return bc, err +} diff --git a/vendor/github.com/Azure/go-autorest/autorest/authorization_test.go b/vendor/github.com/Azure/go-autorest/autorest/authorization_test.go index d3f638880..10db45aaf 100644 --- a/vendor/github.com/Azure/go-autorest/autorest/authorization_test.go +++ b/vendor/github.com/Azure/go-autorest/autorest/authorization_test.go @@ -135,3 +135,40 @@ func TestServicePrincipalTokenWithAuthorizationReturnsErrorIfConnotRefresh(t *te t.Fatal("azure: BearerAuthorizer#WithAuthorization failed to return an error when refresh fails") } } + +func TestBearerAuthorizerCallback(t *testing.T) { + tenantString := "123-tenantID-456" + resourceString := "https://fake.resource.net" + + s := mocks.NewSender() + resp := mocks.NewResponseWithStatus("401 Unauthorized", http.StatusUnauthorized) + mocks.SetResponseHeader(resp, bearerChallengeHeader, bearer+" \"authorization\"=\"https://fake.net/"+tenantString+"\",\"resource\"=\""+resourceString+"\"") + s.AppendResponse(resp) + + auth := NewBearerAuthorizerCallback(s, func(tenantID, resource string) (*BearerAuthorizer, error) { + if tenantID != tenantString { + t.Fatal("BearerAuthorizerCallback: bad tenant ID") + } + if resource != resourceString { + t.Fatal("BearerAuthorizerCallback: bad resource") + } + + oauthConfig, err := adal.NewOAuthConfig(TestActiveDirectoryEndpoint, tenantID) + if err != nil { + t.Fatalf("azure: NewOAuthConfig returned an error (%v)", err) + } + + spt, err := adal.NewServicePrincipalToken(*oauthConfig, "id", "secret", resource) + if err != nil { + t.Fatalf("azure: NewServicePrincipalToken returned an error (%v)", err) + } + + spt.SetSender(s) + return NewBearerAuthorizer(spt), nil + }) + + _, err := Prepare(mocks.NewRequest(), auth.WithAuthorization()) + if err == nil { + t.Fatal("azure: BearerAuthorizerCallback#WithAuthorization failed to return an error when refresh fails") + } +} diff --git a/vendor/github.com/Azure/go-autorest/autorest/azure/cli/profile.go b/vendor/github.com/Azure/go-autorest/autorest/azure/cli/profile.go new file mode 100644 index 000000000..b5b897c7d --- /dev/null +++ b/vendor/github.com/Azure/go-autorest/autorest/azure/cli/profile.go @@ -0,0 +1,51 @@ +package cli + +import ( + "bytes" + "encoding/json" + "fmt" + "io/ioutil" + + "github.com/dimchansky/utfbom" + "github.com/mitchellh/go-homedir" +) + +// Profile represents a Profile from the Azure CLI +type Profile struct { + InstallationID string `json:"installationId"` + Subscriptions []Subscription `json:"subscriptions"` +} + +// Subscription represents a Subscription from the Azure CLI +type Subscription struct { + EnvironmentName string `json:"environmentName"` + ID string `json:"id"` + IsDefault bool `json:"isDefault"` + Name string `json:"name"` + State string `json:"state"` + TenantID string `json:"tenantId"` +} + +// ProfilePath returns the path where the Azure Profile is stored from the Azure CLI +func ProfilePath() (string, error) { + return homedir.Expand("~/.azure/azureProfile.json") +} + +// LoadProfile restores a Profile object from a file located at 'path'. +func LoadProfile(path string) (result Profile, err error) { + var contents []byte + contents, err = ioutil.ReadFile(path) + if err != nil { + err = fmt.Errorf("failed to open file (%s) while loading token: %v", path, err) + return + } + reader := utfbom.SkipOnly(bytes.NewReader(contents)) + + dec := json.NewDecoder(reader) + if err = dec.Decode(&result); err != nil { + err = fmt.Errorf("failed to decode contents of file (%s) into a Profile representation: %v", path, err) + return + } + + return +} diff --git a/vendor/github.com/Azure/go-autorest/autorest/azure/cli/token.go b/vendor/github.com/Azure/go-autorest/autorest/azure/cli/token.go new file mode 100644 index 000000000..a1f3af151 --- /dev/null +++ b/vendor/github.com/Azure/go-autorest/autorest/azure/cli/token.go @@ -0,0 +1,89 @@ +package cli + +import ( + "encoding/json" + "fmt" + "os" + "strconv" + "time" + + "github.com/Azure/go-autorest/autorest/adal" + "github.com/Azure/go-autorest/autorest/date" + "github.com/mitchellh/go-homedir" +) + +// Token represents an AccessToken from the Azure CLI +type Token struct { + AccessToken string `json:"accessToken"` + Authority string `json:"_authority"` + ClientID string `json:"_clientId"` + ExpiresOn string `json:"expiresOn"` + IdentityProvider string `json:"identityProvider"` + IsMRRT bool `json:"isMRRT"` + RefreshToken string `json:"refreshToken"` + Resource string `json:"resource"` + TokenType string `json:"tokenType"` + UserID string `json:"userId"` +} + +// ToADALToken converts an Azure CLI `Token`` to an `adal.Token`` +func (t Token) ToADALToken() (converted adal.Token, err error) { + tokenExpirationDate, err := ParseExpirationDate(t.ExpiresOn) + if err != nil { + err = fmt.Errorf("Error parsing Token Expiration Date %q: %+v", t.ExpiresOn, err) + return + } + + difference := tokenExpirationDate.Sub(date.UnixEpoch()) + + converted = adal.Token{ + AccessToken: t.AccessToken, + Type: t.TokenType, + ExpiresIn: "3600", + ExpiresOn: strconv.Itoa(int(difference.Seconds())), + RefreshToken: t.RefreshToken, + Resource: t.Resource, + } + return +} + +// AccessTokensPath returns the path where access tokens are stored from the Azure CLI +func AccessTokensPath() (string, error) { + return homedir.Expand("~/.azure/accessTokens.json") +} + +// ParseExpirationDate parses either a Azure CLI or CloudShell date into a time object +func ParseExpirationDate(input string) (*time.Time, error) { + // CloudShell (and potentially the Azure CLI in future) + expirationDate, cloudShellErr := time.Parse(time.RFC3339, input) + if cloudShellErr != nil { + // Azure CLI (Python) e.g. 2017-08-31 19:48:57.998857 (plus the local timezone) + const cliFormat = "2006-01-02 15:04:05.999999" + expirationDate, cliErr := time.ParseInLocation(cliFormat, input, time.Local) + if cliErr == nil { + return &expirationDate, nil + } + + return nil, fmt.Errorf("Error parsing expiration date %q.\n\nCloudShell Error: \n%+v\n\nCLI Error:\n%+v", input, cloudShellErr, cliErr) + } + + return &expirationDate, nil +} + +// LoadTokens restores a set of Token objects from a file located at 'path'. +func LoadTokens(path string) ([]Token, error) { + file, err := os.Open(path) + if err != nil { + return nil, fmt.Errorf("failed to open file (%s) while loading token: %v", path, err) + } + defer file.Close() + + var tokens []Token + + dec := json.NewDecoder(file) + if err = dec.Decode(&tokens); err != nil { + return nil, fmt.Errorf("failed to decode contents of file (%s) into a `cli.Token` representation: %v", path, err) + } + + return tokens, nil +} diff --git a/vendor/github.com/Azure/go-autorest/autorest/client.go b/vendor/github.com/Azure/go-autorest/autorest/client.go index b5f94b5c3..5f1e72fbe 100644 --- a/vendor/github.com/Azure/go-autorest/autorest/client.go +++ b/vendor/github.com/Azure/go-autorest/autorest/client.go @@ -35,6 +35,7 @@ var ( statusCodesForRetry = []int{ http.StatusRequestTimeout, // 408 + http.StatusTooManyRequests, // 429 http.StatusInternalServerError, // 500 http.StatusBadGateway, // 502 http.StatusServiceUnavailable, // 503 diff --git a/vendor/github.com/Azure/go-autorest/autorest/date/unixtime_test.go b/vendor/github.com/Azure/go-autorest/autorest/date/unixtime_test.go index 3d18fd600..8156a1c01 100644 --- a/vendor/github.com/Azure/go-autorest/autorest/date/unixtime_test.go +++ b/vendor/github.com/Azure/go-autorest/autorest/date/unixtime_test.go @@ -1,3 +1,5 @@ +// +build go1.7 + package date import ( diff --git a/vendor/github.com/Azure/go-autorest/autorest/error.go b/vendor/github.com/Azure/go-autorest/autorest/error.go index 4bcb8f27b..aaef2ac8e 100644 --- a/vendor/github.com/Azure/go-autorest/autorest/error.go +++ b/vendor/github.com/Azure/go-autorest/autorest/error.go @@ -31,6 +31,9 @@ type DetailedError struct { // Service Error is the response body of failed API in bytes ServiceError []byte + + // Response is the response object that was returned during failure if applicable. + Response *http.Response } // NewError creates a new Error conforming object from the passed packageType, method, and @@ -67,6 +70,7 @@ func NewErrorWithError(original error, packageType string, method string, resp * Method: method, StatusCode: statusCode, Message: fmt.Sprintf(message, args...), + Response: resp, } } diff --git a/vendor/github.com/Azure/go-autorest/autorest/retriablerequest.go b/vendor/github.com/Azure/go-autorest/autorest/retriablerequest.go index 5cab8711b..0ab1eb300 100644 --- a/vendor/github.com/Azure/go-autorest/autorest/retriablerequest.go +++ b/vendor/github.com/Azure/go-autorest/autorest/retriablerequest.go @@ -7,18 +7,6 @@ import ( "net/http" ) -// NOTE: the GetBody() method on the http.Request object is new in 1.8. -// at present we support 1.7 and 1.8 so for now the branches specific -// to 1.8 have been commented out. - -// RetriableRequest provides facilities for retrying an HTTP request. -type RetriableRequest struct { - req *http.Request - //rc io.ReadCloser - br *bytes.Reader - reset bool -} - // NewRetriableRequest returns a wrapper around an HTTP request that support retry logic. func NewRetriableRequest(req *http.Request) *RetriableRequest { return &RetriableRequest{req: req} @@ -29,49 +17,22 @@ func (rr *RetriableRequest) Request() *http.Request { return rr.req } -// Prepare signals that the request is about to be sent. -func (rr *RetriableRequest) Prepare() (err error) { - // preserve the request body; this is to support retry logic as - // the underlying transport will always close the reqeust body - if rr.req.Body != nil { - if rr.reset { - /*if rr.rc != nil { - rr.req.Body = rr.rc - } else */if rr.br != nil { - _, err = rr.br.Seek(0, io.SeekStart) - } - rr.reset = false - if err != nil { - return err - } +func (rr *RetriableRequest) prepareFromByteReader() (err error) { + // fall back to making a copy (only do this once) + b := []byte{} + if rr.req.ContentLength > 0 { + b = make([]byte, rr.req.ContentLength) + _, err = io.ReadFull(rr.req.Body, b) + if err != nil { + return err } - /*if rr.req.GetBody != nil { - // this will allow us to preserve the body without having to - // make a copy. note we need to do this on each iteration - rr.rc, err = rr.req.GetBody() - if err != nil { - return err - } - } else */if rr.br == nil { - // fall back to making a copy (only do this once) - b := []byte{} - if rr.req.ContentLength > 0 { - b = make([]byte, rr.req.ContentLength) - _, err = io.ReadFull(rr.req.Body, b) - if err != nil { - return err - } - } else { - b, err = ioutil.ReadAll(rr.req.Body) - if err != nil { - return err - } - } - rr.br = bytes.NewReader(b) - rr.req.Body = ioutil.NopCloser(rr.br) + } else { + b, err = ioutil.ReadAll(rr.req.Body) + if err != nil { + return err } - // indicates that the request body needs to be reset - rr.reset = true } + rr.br = bytes.NewReader(b) + rr.req.Body = ioutil.NopCloser(rr.br) return err } diff --git a/vendor/github.com/Azure/go-autorest/autorest/retriablerequest_1.7.go b/vendor/github.com/Azure/go-autorest/autorest/retriablerequest_1.7.go new file mode 100644 index 000000000..e28eb2cbd --- /dev/null +++ b/vendor/github.com/Azure/go-autorest/autorest/retriablerequest_1.7.go @@ -0,0 +1,44 @@ +// +build !go1.8 + +package autorest + +import ( + "bytes" + "net/http" +) + +// RetriableRequest provides facilities for retrying an HTTP request. +type RetriableRequest struct { + req *http.Request + br *bytes.Reader + reset bool +} + +// Prepare signals that the request is about to be sent. +func (rr *RetriableRequest) Prepare() (err error) { + // preserve the request body; this is to support retry logic as + // the underlying transport will always close the reqeust body + if rr.req.Body != nil { + if rr.reset { + if rr.br != nil { + _, err = rr.br.Seek(0, 0 /*io.SeekStart*/) + } + rr.reset = false + if err != nil { + return err + } + } + if rr.br == nil { + // fall back to making a copy (only do this once) + err = rr.prepareFromByteReader() + } + // indicates that the request body needs to be reset + rr.reset = true + } + return err +} + +func removeRequestBody(req *http.Request) { + req.Body = nil + req.ContentLength = 0 +} diff --git a/vendor/github.com/Azure/go-autorest/autorest/retriablerequest_1.8.go b/vendor/github.com/Azure/go-autorest/autorest/retriablerequest_1.8.go new file mode 100644 index 000000000..8c1d1aec8 --- /dev/null +++ b/vendor/github.com/Azure/go-autorest/autorest/retriablerequest_1.8.go @@ -0,0 +1,56 @@ +// +build go1.8 + +package autorest + +import ( + "bytes" + "io" + "net/http" +) + +// RetriableRequest provides facilities for retrying an HTTP request. +type RetriableRequest struct { + req *http.Request + rc io.ReadCloser + br *bytes.Reader + reset bool +} + +// Prepare signals that the request is about to be sent. +func (rr *RetriableRequest) Prepare() (err error) { + // preserve the request body; this is to support retry logic as + // the underlying transport will always close the reqeust body + if rr.req.Body != nil { + if rr.reset { + if rr.rc != nil { + rr.req.Body = rr.rc + } else if rr.br != nil { + _, err = rr.br.Seek(0, io.SeekStart) + } + rr.reset = false + if err != nil { + return err + } + } + if rr.req.GetBody != nil { + // this will allow us to preserve the body without having to + // make a copy. note we need to do this on each iteration + rr.rc, err = rr.req.GetBody() + if err != nil { + return err + } + } else if rr.br == nil { + // fall back to making a copy (only do this once) + err = rr.prepareFromByteReader() + } + // indicates that the request body needs to be reset + rr.reset = true + } + return err +} + +func removeRequestBody(req *http.Request) { + req.Body = nil + req.GetBody = nil + req.ContentLength = 0 +} diff --git a/vendor/github.com/Azure/go-autorest/autorest/sender.go b/vendor/github.com/Azure/go-autorest/autorest/sender.go index 9b88f329a..94b029847 100644 --- a/vendor/github.com/Azure/go-autorest/autorest/sender.go +++ b/vendor/github.com/Azure/go-autorest/autorest/sender.go @@ -5,6 +5,7 @@ import ( "log" "math" "net/http" + "strconv" "time" ) @@ -209,13 +210,31 @@ func DoRetryForStatusCodes(attempts int, backoff time.Duration, codes ...int) Se if err != nil || !ResponseHasStatusCode(resp, codes...) { return resp, err } - DelayForBackoff(backoff, attempt, r.Cancel) + delayed := DelayWithRetryAfter(resp, r.Cancel) + if !delayed { + DelayForBackoff(backoff, attempt, r.Cancel) + } } return resp, err }) } } +// DelayWithRetryAfter invokes time.After for the duration specified in the "Retry-After" header in +// responses with status code 429 +func DelayWithRetryAfter(resp *http.Response, cancel <-chan struct{}) bool { + retryAfter, _ := strconv.Atoi(resp.Header.Get("Retry-After")) + if resp.StatusCode == http.StatusTooManyRequests && retryAfter > 0 { + select { + case <-time.After(time.Duration(retryAfter) * time.Second): + return true + case <-cancel: + return false + } + } + return false +} + // DoRetryForDuration returns a SendDecorator that retries the request until the total time is equal // to or greater than the specified duration, exponentially backing off between requests using the // supplied backoff time.Duration (which may be zero). Retrying may be canceled by closing the diff --git a/vendor/github.com/Azure/go-autorest/autorest/sender_test.go b/vendor/github.com/Azure/go-autorest/autorest/sender_test.go index d8e7beddb..bc90cbfaa 100644 --- a/vendor/github.com/Azure/go-autorest/autorest/sender_test.go +++ b/vendor/github.com/Azure/go-autorest/autorest/sender_test.go @@ -765,3 +765,33 @@ func newAcceptedResponse() *http.Response { mocks.SetAcceptedHeaders(resp) return resp } + +func TestDelayWithRetryAfterWithSuccess(t *testing.T) { + after, retries := 5, 2 + totalSecs := after * retries + + client := mocks.NewSender() + resp := mocks.NewResponseWithStatus("429 Too many requests", http.StatusTooManyRequests) + mocks.SetResponseHeader(resp, "Retry-After", fmt.Sprintf("%v", after)) + client.AppendAndRepeatResponse(resp, retries) + client.AppendResponse(mocks.NewResponseWithStatus("200 OK", http.StatusOK)) + + d := time.Second * time.Duration(totalSecs) + start := time.Now() + r, _ := SendWithSender(client, mocks.NewRequest(), + DoRetryForStatusCodes(5, time.Duration(time.Second), http.StatusTooManyRequests), + ) + + if time.Since(start) < d { + t.Fatal("autorest: DelayWithRetryAfter failed stopped too soon") + } + + Respond(r, + ByDiscardingBody(), + ByClosing()) + + if client.Attempts() != 3 { + t.Fatalf("autorest: Sender#DelayWithRetryAfter -- Got: StatusCode %v in %v attempts; Want: StatusCode 200 OK in 2 attempts -- ", + r.Status, client.Attempts()-1) + } +} diff --git a/vendor/github.com/Azure/go-autorest/autorest/utils/auth.go b/vendor/github.com/Azure/go-autorest/autorest/utils/auth.go new file mode 100644 index 000000000..5c09dbb2b --- /dev/null +++ b/vendor/github.com/Azure/go-autorest/autorest/utils/auth.go @@ -0,0 +1,42 @@ +package utils + +import ( + "fmt" + "os" + + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/adal" + "github.com/Azure/go-autorest/autorest/azure" +) + +// GetAuthorizer gets an Azure Service Principal authorizer. +// This func assumes "AZURE_TENANT_ID", "AZURE_CLIENT_ID", +// "AZURE_CLIENT_SECRET" are set as environment variables. +func GetAuthorizer(env azure.Environment) (*autorest.BearerAuthorizer, error) { + tenantID := GetEnvVarOrExit("AZURE_TENANT_ID") + + oauthConfig, err := adal.NewOAuthConfig(env.ActiveDirectoryEndpoint, tenantID) + if err != nil { + return nil, err + } + + clientID := GetEnvVarOrExit("AZURE_CLIENT_ID") + clientSecret := GetEnvVarOrExit("AZURE_CLIENT_SECRET") + + spToken, err := adal.NewServicePrincipalToken(*oauthConfig, clientID, clientSecret, env.ResourceManagerEndpoint) + if err != nil { + return nil, err + } + + return autorest.NewBearerAuthorizer(spToken), nil +} + +// GetEnvVarOrExit returns the value of specified environment variable or terminates if it's not defined. +func GetEnvVarOrExit(varName string) string { + value := os.Getenv(varName) + if value == "" { + fmt.Printf("Missing environment variable %s\n", varName) + os.Exit(1) + } + return value +} diff --git a/vendor/github.com/Azure/go-autorest/autorest/utils/commit.go b/vendor/github.com/Azure/go-autorest/autorest/utils/commit.go new file mode 100644 index 000000000..9c05f14a8 --- /dev/null +++ b/vendor/github.com/Azure/go-autorest/autorest/utils/commit.go @@ -0,0 +1,18 @@ +package utils + +import ( + "bytes" + "os/exec" +) + +// GetCommit returns git HEAD (short) +func GetCommit() string { + cmd := exec.Command("git", "rev-parse", "HEAD") + var out bytes.Buffer + cmd.Stdout = &out + err := cmd.Run() + if err != nil { + return "" + } + return string(out.Bytes()[:7]) +} diff --git a/vendor/github.com/Azure/go-autorest/autorest/validation/validation.go b/vendor/github.com/Azure/go-autorest/autorest/validation/validation.go index d7b0eadc5..38f0074d0 100644 --- a/vendor/github.com/Azure/go-autorest/autorest/validation/validation.go +++ b/vendor/github.com/Azure/go-autorest/autorest/validation/validation.go @@ -205,14 +205,14 @@ func validateString(x reflect.Value, v Constraint) error { return createError(x, v, fmt.Sprintf("rule must be integer value for %v constraint; got: %v", v.Name, v.Rule)) } if len(s) > v.Rule.(int) { - return createError(x, v, fmt.Sprintf("value length must be less than %v", v.Rule)) + return createError(x, v, fmt.Sprintf("value length must be less than or equal to %v", v.Rule)) } case MinLength: if _, ok := v.Rule.(int); !ok { return createError(x, v, fmt.Sprintf("rule must be integer value for %v constraint; got: %v", v.Name, v.Rule)) } if len(s) < v.Rule.(int) { - return createError(x, v, fmt.Sprintf("value length must be greater than %v", v.Rule)) + return createError(x, v, fmt.Sprintf("value length must be greater than or equal to %v", v.Rule)) } case ReadOnly: if len(s) > 0 { @@ -273,6 +273,17 @@ func validateArrayMap(x reflect.Value, v Constraint) error { if x.Len() != 0 { return createError(x, v, "readonly parameter; must send as nil or empty in request") } + case Pattern: + reg, err := regexp.Compile(v.Rule.(string)) + if err != nil { + return createError(x, v, err.Error()) + } + keys := x.MapKeys() + for _, k := range keys { + if !reg.MatchString(k.String()) { + return createError(k, v, fmt.Sprintf("map key doesn't match pattern %v", v.Rule)) + } + } default: return createError(x, v, fmt.Sprintf("constraint %v is not applicable to array, slice and map type", v.Name)) } diff --git a/vendor/github.com/Azure/go-autorest/autorest/validation/validation_test.go b/vendor/github.com/Azure/go-autorest/autorest/validation/validation_test.go index fdf822846..59051494d 100644 --- a/vendor/github.com/Azure/go-autorest/autorest/validation/validation_test.go +++ b/vendor/github.com/Azure/go-autorest/autorest/validation/validation_test.go @@ -706,7 +706,7 @@ func TestValidateString_MaxLengthInvalid(t *testing.T) { Chain: nil, } require.Equal(t, strings.Contains(validateString(reflect.ValueOf(x), c).Error(), - fmt.Sprintf("value length must be less than %v", c.Rule)), true) + fmt.Sprintf("value length must be less than or equal to %v", c.Rule)), true) } func TestValidateString_MaxLengthValid(t *testing.T) { @@ -741,7 +741,7 @@ func TestValidateString_MinLengthInvalid(t *testing.T) { Chain: nil, } require.Equal(t, strings.Contains(validateString(reflect.ValueOf(x), c).Error(), - fmt.Sprintf("value length must be greater than %v", c.Rule)), true) + fmt.Sprintf("value length must be greater than or equal to %v", c.Rule)), true) } func TestValidateString_MinLengthValid(t *testing.T) { @@ -1389,7 +1389,7 @@ func TestValidatePointer_StringInvalid(t *testing.T) { }}} require.Equal(t, validatePtr(reflect.ValueOf(x), c).Error(), createError(reflect.ValueOf("hello"), c.Chain[0], - "value length must be less than 2").Error()) + "value length must be less than or equal to 2").Error()) } func TestValidatePointer_ArrayValid(t *testing.T) { @@ -1496,7 +1496,7 @@ func TestValidatePointer_StructWithError(t *testing.T) { } require.Equal(t, validatePtr(reflect.ValueOf(x), c).Error(), createError(reflect.ValueOf("100"), c.Chain[0].Chain[0], - "value length must be less than 2").Error()) + "value length must be less than or equal to 2").Error()) } func TestValidatePointer_WithNilStruct(t *testing.T) { @@ -1579,7 +1579,7 @@ func TestValidateStruct_WithChainConstraint(t *testing.T) { }, } require.Equal(t, validateStruct(reflect.ValueOf(x), c).Error(), - createError(reflect.ValueOf("100"), c.Chain[0].Chain[0], "value length must be less than 2").Error()) + createError(reflect.ValueOf("100"), c.Chain[0].Chain[0], "value length must be less than or equal to 2").Error()) } func TestValidateStruct_WithoutChainConstraint(t *testing.T) { @@ -1794,6 +1794,7 @@ func TestValidate_MapValidationWithoutError(t *testing.T) { {"M", Empty, false, nil}, {"M", MinItems, 1, nil}, {"M", UniqueItems, true, nil}, + {"M", Pattern, "^[a-z]+$", nil}, }, }, }, @@ -1807,6 +1808,7 @@ func TestValidate_MapValidationWithoutError(t *testing.T) { {"M", Empty, false, nil}, {"M", MinItems, 1, nil}, {"M", UniqueItems, true, nil}, + {"M", Pattern, "^[a-z]+$", nil}, }, }, }, @@ -2005,7 +2007,7 @@ func TestValidate_String(t *testing.T) { } require.Equal(t, Validate(v).Error(), createError(reflect.ValueOf(s), v[0].Constraints[1].Chain[0], - "value length must be less than 3").Error()) + "value length must be less than or equal to 3").Error()) // required paramter s = "" @@ -2063,7 +2065,7 @@ func TestValidate_StringStruct(t *testing.T) { // } require.Equal(t, Validate(v).Error(), createError(reflect.ValueOf(s), v[0].Constraints[0].Chain[0].Chain[1], - "value length must be less than 3").Error()) + "value length must be less than or equal to 3").Error()) // required paramter - can't be Empty s = "" @@ -2348,7 +2350,7 @@ func TestValidate_StructInStruct(t *testing.T) { } require.Equal(t, Validate(v).Error(), createError(reflect.ValueOf(p.C.I), v[0].Constraints[0].Chain[0].Chain[0], - "value length must be greater than 7").Error()) + "value length must be greater than or equal to 7").Error()) // required paramter - can't be Empty p = &Product{ diff --git a/vendor/github.com/Azure/go-autorest/glide.lock b/vendor/github.com/Azure/go-autorest/glide.lock index 7c8ad81f3..695d58cff 100644 --- a/vendor/github.com/Azure/go-autorest/glide.lock +++ b/vendor/github.com/Azure/go-autorest/glide.lock @@ -1,42 +1,44 @@ -hash: 51202aefdfe9c4a992f96ab58f6cacf21cdbd1b66efe955c9030bca736ac816d -updated: 2017-02-14T17:07:23.015382703-08:00 +hash: 6e0121d946623e7e609280b1b18627e1c8a767fdece54cb97c4447c1167cbc46 +updated: 2017-08-31T13:58:01.034822883+01:00 imports: - name: github.com/dgrijalva/jwt-go - version: a601269ab70c205d26370c16f7c81e9017c14e04 + version: 2268707a8f0843315e2004ee4f1d021dc08baedf subpackages: - . +- name: github.com/dimchansky/utfbom + version: 6c6132ff69f0f6c088739067407b5d32c52e1d0f +- name: github.com/mitchellh/go-homedir + version: b8bc1bf767474819792c23f32d8286a45736f1c6 - name: golang.org/x/crypto - version: 453249f01cfeb54c3d549ddb75ff152ca243f9d8 + version: 81e90905daefcd6fd217b62423c0908922eadb30 repo: https://github.com/golang/crypto.git vcs: git subpackages: - pkcs12 - pkcs12/internal/rc2 - name: golang.org/x/net - version: 61557ac0112b576429a0df080e1c2cef5dfbb642 + version: 66aacef3dd8a676686c7ae3716979581e8b03c47 repo: https://github.com/golang/net.git vcs: git subpackages: - . - name: golang.org/x/text - version: 06d6eba81293389cafdff7fca90d75592194b2d9 + version: 21e35d45962262c8ee80f6cb048dcf95ad0e9d79 repo: https://github.com/golang/text.git vcs: git subpackages: - . testImports: - name: github.com/davecgh/go-spew - version: 346938d642f2ec3594ed81d874461961cd0faa76 + version: 04cdfd42973bb9c8589fd6a731800cf222fde1a9 subpackages: - spew -- name: github.com/Masterminds/semver - version: 59c29afe1a994eacb71c833025ca7acf874bb1da - name: github.com/pmezard/go-difflib - version: 792786c7400a136282c1664665ae0a8db921c6c2 + version: d8ed2627bdf02c080bf22230dbb337003b7aba2d subpackages: - difflib - name: github.com/stretchr/testify - version: 4d4bfba8f1d1027c4fdbe371823030df51419987 + version: 890a5c3458b43e6104ff5da8dfa139d013d77544 subpackages: - assert - require diff --git a/vendor/github.com/Azure/go-autorest/glide.yaml b/vendor/github.com/Azure/go-autorest/glide.yaml index dda283cc2..375dcfd1a 100644 --- a/vendor/github.com/Azure/go-autorest/glide.yaml +++ b/vendor/github.com/Azure/go-autorest/glide.yaml @@ -4,25 +4,19 @@ import: subpackages: - . - package: golang.org/x/crypto - vcs: git repo: https://github.com/golang/crypto.git - subpackages: - - /pkcs12 -- package: golang.org/x/net vcs: git + subpackages: + - pkcs12 +- package: golang.org/x/net repo: https://github.com/golang/net.git + vcs: git subpackages: - . - package: golang.org/x/text - vcs: git repo: https://github.com/golang/text.git + vcs: git subpackages: - . -testImports: -- package: github.com/stretchr/testify - vcs: git - repo: https://github.com/stretchr/testify.git - subpackages: - - /require -- package: github.com/Masterminds/semver - version: ~1.2.2 +- package: github.com/mitchellh/go-homedir +- package: github.com/dimchansky/utfbom diff --git a/vendor/github.com/VividCortex/ewma/README.md b/vendor/github.com/VividCortex/ewma/README.md index 7aab61b87..e18e4241e 100644 --- a/vendor/github.com/VividCortex/ewma/README.md +++ b/vendor/github.com/VividCortex/ewma/README.md @@ -103,23 +103,24 @@ View the GoDoc generated documentation [here](http://godoc.org/github.com/VividC ```go package main + import "github.com/VividCortex/ewma" func main() { - samples := [100]float64{ - 4599, 5711, 4746, 4621, 5037, 4218, 4925, 4281, 5207, 5203, 5594, 5149, - } + samples := [100]float64{ + 4599, 5711, 4746, 4621, 5037, 4218, 4925, 4281, 5207, 5203, 5594, 5149, + } - e := ewma.NewMovingAverage() //=> Returns a SimpleEWMA if called without params - a := ewma.NewMovingAverage(5) //=> returns a VariableEWMA with a decay of 2 / (5 + 1) + e := ewma.NewMovingAverage() //=> Returns a SimpleEWMA if called without params + a := ewma.NewMovingAverage(5) //=> returns a VariableEWMA with a decay of 2 / (5 + 1) - for _, f := range samples { - e.Add(f) - a.Add(f) - } + for _, f := range samples { + e.Add(f) + a.Add(f) + } - e.Value() //=> 13.577404704631077 - a.Value() //=> 1.5806140565521463e-12 + e.Value() //=> 13.577404704631077 + a.Value() //=> 1.5806140565521463e-12 } ``` diff --git a/vendor/github.com/VividCortex/ewma/ewma_test.go b/vendor/github.com/VividCortex/ewma/ewma_test.go index d599197f6..8060a859f 100644 --- a/vendor/github.com/VividCortex/ewma/ewma_test.go +++ b/vendor/github.com/VividCortex/ewma/ewma_test.go @@ -3,7 +3,12 @@ package ewma // Copyright (c) 2013 VividCortex, Inc. All rights reserved. // Please see the LICENSE file for applicable license terms. -import "testing" +import ( + "math" + "testing" +) + +const testMargin = 0.00000001 var samples = [100]float64{ 4599, 5711, 4746, 4621, 5037, 4218, 4925, 4281, 5207, 5203, 5594, 5149, @@ -17,12 +22,16 @@ var samples = [100]float64{ 3197, 5139, 6101, 5279, } +func withinMargin(a, b float64) bool { + return math.Abs(a-b) <= testMargin +} + func TestSimpleEWMA(t *testing.T) { var e SimpleEWMA for _, f := range samples { e.Add(f) } - if e.Value() != 4734.500946466118 { + if !withinMargin(e.Value(), 4734.500946466118) { t.Errorf("e.Value() is %v, wanted %v", e.Value(), 4734.500946466118) } e.Set(1.0) @@ -36,7 +45,7 @@ func TestVariableEWMA(t *testing.T) { for _, f := range samples { e.Add(f) } - if e.Value() != 4734.500946466118 { + if !withinMargin(e.Value(), 4734.500946466118) { t.Errorf("e.Value() is %v, wanted %v", e.Value(), 4734.500946466118) } e.Set(1.0) @@ -50,7 +59,7 @@ func TestVariableEWMA2(t *testing.T) { for _, f := range samples { e.Add(f) } - if e.Value() != 5015.397367486725 { + if !withinMargin(e.Value(), 5015.397367486725) { t.Errorf("e.Value() is %v, wanted %v", e.Value(), 5015.397367486725) } } diff --git a/vendor/github.com/a8m/tree/cmd/tree/tree.go b/vendor/github.com/a8m/tree/cmd/tree/tree.go index eaa6f4aae..27a1d6bf7 100644 --- a/vendor/github.com/a8m/tree/cmd/tree/tree.go +++ b/vendor/github.com/a8m/tree/cmd/tree/tree.go @@ -4,8 +4,9 @@ import ( "errors" "flag" "fmt" - "github.com/a8m/tree" "os" + + "github.com/a8m/tree" ) var ( @@ -166,12 +167,8 @@ func main() { } for _, dir := range dirs { inf := tree.New(dir) - if d, f := inf.Visit(opts); f != 0 { - if d > 0 { - d -= 1 - } - nd, nf = nd+d, nf+f - } + d, f := inf.Visit(opts) + nd, nf = nd+d, nf+f inf.Print(opts) } // Print footer report diff --git a/vendor/github.com/a8m/tree/node.go b/vendor/github.com/a8m/tree/node.go index 31be6636f..4d15e563e 100644 --- a/vendor/github.com/a8m/tree/node.go +++ b/vendor/github.com/a8m/tree/node.go @@ -95,9 +95,13 @@ func (node *Node) Visit(opts *Options) (dirs, files int) { if !fi.IsDir() { return 0, 1 } + // increase dirs only if it's a dir, but not the root. + if node.depth != 0 { + dirs++ + } // DeepLevel option if opts.DeepLevel > 0 && opts.DeepLevel <= node.depth { - return 1, 0 + return } names, err := opts.Fs.ReadDir(node.path) if err != nil { @@ -147,7 +151,7 @@ func (node *Node) Visit(opts *Options) (dirs, files int) { if !opts.NoSort { node.sort(opts) } - return dirs + 1, files + return } func (node *Node) sort(opts *Options) { diff --git a/vendor/github.com/a8m/tree/node_test.go b/vendor/github.com/a8m/tree/node_test.go index f3c7ebc8b..5a0a5f1b9 100644 --- a/vendor/github.com/a8m/tree/node_test.go +++ b/vendor/github.com/a8m/tree/node_test.go @@ -13,7 +13,7 @@ type file struct { size int64 files []*file lastMod time.Time - stat_t interface{} + stat interface{} mode os.FileMode } @@ -23,8 +23,8 @@ func (f file) Mode() (o os.FileMode) { if f.mode != o { return f.mode } - if f.stat_t != nil { - stat := (f.stat_t).(*syscall.Stat_t) + if f.stat != nil { + stat := (f.stat).(*syscall.Stat_t) o = os.FileMode(stat.Mode) } return @@ -32,10 +32,10 @@ func (f file) Mode() (o os.FileMode) { func (f file) ModTime() time.Time { return f.lastMod } func (f file) IsDir() bool { return nil != f.files } func (f file) Sys() interface{} { - if f.stat_t == nil { + if f.stat == nil { return new(syscall.Stat_t) } - return f.stat_t + return f.stat } // Mock filesystem @@ -99,8 +99,10 @@ var ( type treeTest struct { name string - opts *Options - expected string + opts *Options // test params. + expected string // expected output. + dirs int // expected dir count. + files int // expected file count. } var listTests = []treeTest{ @@ -110,60 +112,73 @@ var listTests = []treeTest{ └── c ├── d └── e -`}, {"all", &Options{Fs: fs, OutFile: out, All: true, NoSort: true}, `root +`, 1, 4}, + {"all", &Options{Fs: fs, OutFile: out, All: true, NoSort: true}, `root ├── a ├── b └── c ├── d ├── e └── .f -`}, {"dirs", &Options{Fs: fs, OutFile: out, DirsOnly: true}, `root +`, 1, 5}, + {"dirs", &Options{Fs: fs, OutFile: out, DirsOnly: true}, `root └── c -`}, {"fullPath", &Options{Fs: fs, OutFile: out, FullPath: true}, `root +`, 1, 0}, + {"fullPath", &Options{Fs: fs, OutFile: out, FullPath: true}, `root ├── root/a ├── root/b └── root/c ├── root/c/d └── root/c/e -`}, {"deepLevel", &Options{Fs: fs, OutFile: out, DeepLevel: 1}, `root +`, 1, 4}, + {"deepLevel", &Options{Fs: fs, OutFile: out, DeepLevel: 1}, `root ├── a ├── b └── c -`}, {"pattern", &Options{Fs: fs, OutFile: out, Pattern: "(a|e)"}, `root +`, 1, 2}, + {"pattern", &Options{Fs: fs, OutFile: out, Pattern: "(a|e)"}, `root ├── a └── c └── e -`}, {"ipattern", &Options{Fs: fs, OutFile: out, IPattern: "(a|e)"}, `root +`, 1, 2}, + {"ipattern", &Options{Fs: fs, OutFile: out, IPattern: "(a|e)"}, `root ├── b └── c └── d -`}, {"ignore-case", &Options{Fs: fs, OutFile: out, Pattern: "(A)", IgnoreCase: true}, `root +`, 1, 2}, + {"ignore-case", &Options{Fs: fs, OutFile: out, Pattern: "(A)", IgnoreCase: true}, `root ├── a └── c -`}} +`, 1, 1}} -// Tests func TestSimple(t *testing.T) { root := &file{ name: "root", size: 200, files: []*file{ - &file{name: "a", size: 50}, - &file{name: "b", size: 50}, - &file{ + {name: "a", size: 50}, + {name: "b", size: 50}, + { name: "c", size: 100, files: []*file{ - &file{name: "d", size: 50}, - &file{name: "e", size: 50}, - &file{name: ".f", size: 0}, + {name: "d", size: 50}, + {name: "e", size: 50}, + {name: ".f", size: 0}, }, - }}, + }, + }, } fs.clean().addFile(root.name, root) for _, test := range listTests { inf := New(root.name) - inf.Visit(test.opts) + d, f := inf.Visit(test.opts) + if d != test.dirs { + t.Errorf("wrong dir count for test %q:\ngot:\n%d\nexpected:\n%d", test.name, d, test.dirs) + } + if f != test.files { + t.Errorf("wrong dir count for test %q:\ngot:\n%d\nexpected:\n%d", test.name, d, test.files) + } inf.Print(test.opts) if !out.equal(test.expected) { t.Errorf("%s:\ngot:\n%+v\nexpected:\n%+v", test.name, out.str, test.expected) @@ -178,40 +193,45 @@ var sortTests = []treeTest{ ├── b └── c └── d -`}, {"dirs-first sort", &Options{Fs: fs, OutFile: out, DirSort: true}, `root +`, 1, 3}, + {"dirs-first sort", &Options{Fs: fs, OutFile: out, DirSort: true}, `root ├── c │ └── d ├── b └── a -`}, {"reverse sort", &Options{Fs: fs, OutFile: out, ReverSort: true, DirSort: true}, `root +`, 1, 3}, + {"reverse sort", &Options{Fs: fs, OutFile: out, ReverSort: true, DirSort: true}, `root ├── b ├── a └── c └── d -`}, {"no-sort", &Options{Fs: fs, OutFile: out, NoSort: true, DirSort: true}, `root +`, 1, 3}, + {"no-sort", &Options{Fs: fs, OutFile: out, NoSort: true, DirSort: true}, `root ├── b ├── c │ └── d └── a -`}, {"size-sort", &Options{Fs: fs, OutFile: out, SizeSort: true}, `root +`, 1, 3}, + {"size-sort", &Options{Fs: fs, OutFile: out, SizeSort: true}, `root ├── a ├── c │ └── d └── b -`}, {"last-mod-sort", &Options{Fs: fs, OutFile: out, ModSort: true}, `root +`, 1, 3}, + {"last-mod-sort", &Options{Fs: fs, OutFile: out, ModSort: true}, `root ├── a ├── b └── c └── d -`}, {"c-time-sort", &Options{Fs: fs, OutFile: out, CTimeSort: true}, `root +`, 1, 3}, + {"c-time-sort", &Options{Fs: fs, OutFile: out, CTimeSort: true}, `root ├── b ├── c │ └── d └── a -`}} +`, 1, 3}} func TestSort(t *testing.T) { - tFmt := "2006-Jan-02" aTime, _ := time.Parse(tFmt, "2015-Aug-01") bTime, _ := time.Parse(tFmt, "2015-Sep-01") @@ -220,11 +240,9 @@ func TestSort(t *testing.T) { name: "root", size: 200, files: []*file{ - &file{name: "b", size: 11, lastMod: bTime}, - &file{name: "c", size: 10, files: []*file{ - &file{name: "d", size: 10, lastMod: cTime}, - }, lastMod: cTime}, - &file{name: "a", size: 9, lastMod: aTime}, + {name: "b", size: 11, lastMod: bTime}, + {name: "c", size: 10, files: []*file{{name: "d", size: 10, lastMod: cTime}}, lastMod: cTime}, + {name: "a", size: 9, lastMod: aTime}, }, } fs.clean().addFile(root.name, root) @@ -244,31 +262,37 @@ var graphicTests = []treeTest{ a b c -`}, {"quotes", &Options{Fs: fs, OutFile: out, Quotes: true}, `"root" +`, 0, 3}, + {"quotes", &Options{Fs: fs, OutFile: out, Quotes: true}, `"root" ├── "a" ├── "b" └── "c" -`}, {"byte-size", &Options{Fs: fs, OutFile: out, ByteSize: true}, `[ 12499] root +`, 0, 3}, + {"byte-size", &Options{Fs: fs, OutFile: out, ByteSize: true}, `[ 12499] root ├── [ 1500] a ├── [ 9999] b └── [ 1000] c -`}, {"unit-size", &Options{Fs: fs, OutFile: out, UnitSize: true}, `[ 12K] root +`, 0, 3}, + {"unit-size", &Options{Fs: fs, OutFile: out, UnitSize: true}, `[ 12K] root ├── [1.5K] a ├── [9.8K] b └── [1000] c -`}, {"show-gid", &Options{Fs: fs, OutFile: out, ShowGid: true}, `root +`, 0, 3}, + {"show-gid", &Options{Fs: fs, OutFile: out, ShowGid: true}, `root ├── [1 ] a ├── [2 ] b └── [1 ] c -`}, {"mode", &Options{Fs: fs, OutFile: out, FileMode: true}, `root +`, 0, 3}, + {"mode", &Options{Fs: fs, OutFile: out, FileMode: true}, `root ├── [-rw-r--r--] a ├── [-rwxr-xr-x] b └── [-rw-rw-rw-] c -`}, {"lastMod", &Options{Fs: fs, OutFile: out, LastMod: true}, `root +`, 0, 3}, + {"lastMod", &Options{Fs: fs, OutFile: out, LastMod: true}, `root ├── [Feb 11 00:00] a ├── [Jan 28 00:00] b └── [Jul 12 00:00] c -`}} +`, 0, 3}} func TestGraphics(t *testing.T) { tFmt := "2006-Jan-02" @@ -279,11 +303,11 @@ func TestGraphics(t *testing.T) { name: "root", size: 11499, files: []*file{ - &file{name: "a", size: 1500, lastMod: aTime, stat_t: &syscall.Stat_t{Gid: 1, Mode: 0644}}, - &file{name: "b", size: 9999, lastMod: bTime, stat_t: &syscall.Stat_t{Gid: 2, Mode: 0755}}, - &file{name: "c", size: 1000, lastMod: cTime, stat_t: &syscall.Stat_t{Gid: 1, Mode: 0666}}, + {name: "a", size: 1500, lastMod: aTime, stat: &syscall.Stat_t{Gid: 1, Mode: 0644}}, + {name: "b", size: 9999, lastMod: bTime, stat: &syscall.Stat_t{Gid: 2, Mode: 0755}}, + {name: "c", size: 1000, lastMod: cTime, stat: &syscall.Stat_t{Gid: 1, Mode: 0666}}, }, - stat_t: &syscall.Stat_t{Gid: 1}, + stat: &syscall.Stat_t{Gid: 1}, } fs.clean().addFile(root.name, root) for _, test := range graphicTests { @@ -300,9 +324,10 @@ func TestGraphics(t *testing.T) { var symlinkTests = []treeTest{ {"symlink", &Options{Fs: fs, OutFile: out}, `root └── symlink -> root/symlink -`}, {"symlink-rec", &Options{Fs: fs, OutFile: out, FollowLink: true}, `root +`, 0, 1}, + {"symlink-rec", &Options{Fs: fs, OutFile: out, FollowLink: true}, `root └── symlink -> root/symlink [recursive, not followed] -`}} +`, 0, 1}} func TestSymlink(t *testing.T) { root := &file{ @@ -322,3 +347,52 @@ func TestSymlink(t *testing.T) { out.clear() } } + +func TestCount(t *testing.T) { + defer out.clear() + root := &file{ + name: "root", + files: []*file{ + &file{ + name: "a", + files: []*file{ + { + name: "b", + files: []*file{{name: "c"}}, + }, + { + name: "d", + files: []*file{ + { + name: "e", + files: []*file{{name: "f"}, {name: "g"}}, + }, + }, + }, + { + name: "h", + files: []*file{ + { + name: "i", + files: []*file{{name: "j"}}, + }, + { + name: "k", + files: []*file{{name: "l"}, {name: "m"}}, + }, + {name: "n"}, + {name: "o"}, + }, + }, + }, + }}, + } + fs.clean().addFile(root.name, root) + opt := &Options{Fs: fs, OutFile: out} + inf := New(root.name) + d, f := inf.Visit(opt) + if d != 7 || f != 8 { + inf.Print(opt) + t.Errorf("TestCount - expect (dir, file) count to be equal to (7, 8)\n%s", out.str) + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/.travis.yml b/vendor/github.com/aws/aws-sdk-go/.travis.yml index 02c93210a..130d91151 100644 --- a/vendor/github.com/aws/aws-sdk-go/.travis.yml +++ b/vendor/github.com/aws/aws-sdk-go/.travis.yml @@ -1,12 +1,13 @@ language: go -sudo: false +sudo: required go: - 1.5 - 1.6 - 1.7 - 1.8 + - 1.9 - tip # Use Go 1.5's vendoring experiment for 1.5 tests. diff --git a/vendor/github.com/aws/aws-sdk-go/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go/CHANGELOG.md index 681429cd8..5a3554663 100644 --- a/vendor/github.com/aws/aws-sdk-go/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go/CHANGELOG.md @@ -1,3 +1,457 @@ +Release v1.12.2 (2017-09-29) +=== + +### Service Client Updates +* `service/appstream`: Updates service API and documentation + * Includes APIs for managing and accessing image builders, and deleting images. +* `service/codebuild`: Updates service API and documentation + * Adding support for Building GitHub Pull Requests in AWS CodeBuild +* `service/mturk-requester`: Updates service API and documentation +* `service/organizations`: Updates service API and documentation + * This release flags the HandshakeParty structure's Type and Id fields as 'required'. They effectively were required in the past, as you received an error if you did not include them. This is now reflected at the API definition level. +* `service/route53`: Updates service API and documentation + * This change allows customers to reset elements of health check. + +### SDK Bugs +* `private/protocol/query`: Fix query protocol handling of nested byte slices ([#1557](https://github.com/aws/aws-sdk-go/issues/1557)) + * Fixes the query protocol to correctly marshal nested []byte values of API operations. +* `service/s3`: Fix PutObject and UploadPart API to include ContentMD5 field ([#1559](https://github.com/aws/aws-sdk-go/pull/1559)) + * Fixes the SDK's S3 PutObject and UploadPart API code generation to correctly render the ContentMD5 field into the associated input types for these two API operations. + * Fixes [#1553](https://github.com/aws/aws-sdk-go/pull/1553) +Release v1.12.1 (2017-09-27) +=== + +### Service Client Updates +* `aws/endpoints`: Updated Regions and Endpoints metadata. +* `service/pinpoint`: Updates service API and documentation + * Added two new push notification channels: Amazon Device Messaging (ADM) and, for push notification support in China, Baidu Cloud Push. Added support for APNs auth via .p8 key file. Added operation for direct message deliveries to user IDs, enabling you to message an individual user on multiple endpoints. + +Release v1.12.0 (2017-09-26) +=== + +### SDK Bugs +* `API Marshaler`: Revert REST JSON and XML protocol marshaler improvements + * Bug [#1550](https://github.com/aws/aws-sdk-go/issues/1550) identified a missed condition in the Amazon Route 53 RESTXML protocol marshaling causing requests to that service to fail. Reverting the marshaler improvements until the bug can be fixed. + +Release v1.11.0 (2017-09-26) +=== + +### Service Client Updates +* `service/cloudformation`: Updates service API and documentation + * You can now prevent a stack from being accidentally deleted by enabling termination protection on the stack. If you attempt to delete a stack with termination protection enabled, the deletion fails and the stack, including its status, remains unchanged. You can enable termination protection on a stack when you create it. Termination protection on stacks is disabled by default. After creation, you can set termination protection on a stack whose status is CREATE_COMPLETE, UPDATE_COMPLETE, or UPDATE_ROLLBACK_COMPLETE. + +### SDK Features +* Add dep Go dependency management metadata files (#1544) + * Adds the Go `dep` dependency management metadata files to the SDK. + * Fixes [#1451](https://github.com/aws/aws-sdk-go/issues/1451) + * Fixes [#634](https://github.com/aws/aws-sdk-go/issues/634) +* `service/dynamodb/expression`: Add expression building utility for DynamoDB ([#1527](https://github.com/aws/aws-sdk-go/pull/1527)) + * Adds a new package, expression, to the SDK providing builder utilities to create DynamoDB expressions safely taking advantage of type safety. +* `API Marshaler`: Add generated marshalers for RESTXML protocol ([#1409](https://github.com/aws/aws-sdk-go/pull/1409)) + * Updates the RESTXML protocol marshaler to use generated code instead of reflection for REST XML based services. +* `API Marshaler`: Add generated marshalers for RESTJSON protocol ([#1547](https://github.com/aws/aws-sdk-go/pull/1547)) + * Updates the RESTJSON protocol marshaler to use generated code instead of reflection for REST JSON based services. + +### SDK Enhancements +* `private/protocol`: Update format of REST JSON and XMl benchmarks ([#1546](https://github.com/aws/aws-sdk-go/pull/1546)) + * Updates the format of the REST JSON and XML benchmarks to be readable. RESTJSON benchmarks were updated to more accurately bench building of the protocol. + +Release v1.10.51 (2017-09-22) +=== + +### Service Client Updates +* `service/config`: Updates service API and documentation +* `service/ecs`: Updates service API and documentation + * Amazon ECS users can now add and drop Linux capabilities to their containers through the use of docker's cap-add and cap-drop features. Customers can specify the capabilities they wish to add or drop for each container in their task definition. +* `aws/endpoints`: Updated Regions and Endpoints metadata. +* `service/rds`: Updates service documentation + * Documentation updates for rds + +Release v1.10.50 (2017-09-21) +=== + +### Service Client Updates +* `service/budgets`: Updates service API + * Including "DuplicateRecordException" in UpdateNotification and UpdateSubscriber. +* `service/ec2`: Updates service API and documentation + * Add EC2 APIs to copy Amazon FPGA Images (AFIs) within the same region and across multiple regions, delete AFIs, and modify AFI attributes. AFI attributes include name, description and granting/denying other AWS accounts to load the AFI. +* `service/logs`: Updates service API and documentation + * Adds support for associating LogGroups with KMS Keys. + +### SDK Bugs +* Fix greengrass service model being duplicated with different casing. ([#1541](https://github.com/aws/aws-sdk-go/pull/1541)) + * Fixes [#1540](https://github.com/aws/aws-sdk-go/issues/1540) + * Fixes [#1539](https://github.com/aws/aws-sdk-go/issues/1539) +Release v1.10.49 (2017-09-20) +=== + +### Service Client Updates +* `service/Greengrass`: Adds new service +* `service/appstream`: Updates service API and documentation + * API updates for supporting On-Demand fleets. +* `service/codepipeline`: Updates service API and documentation + * This change includes a PipelineMetadata object that is part of the output from the GetPipeline API that includes the Pipeline ARN, created, and updated timestamp. +* `aws/endpoints`: Updated Regions and Endpoints metadata. +* `service/rds`: Updates service API and documentation + * Introduces the --option-group-name parameter to the ModifyDBSnapshot CLI command. You can specify this parameter when you upgrade an Oracle DB snapshot. The same option group considerations apply when upgrading a DB snapshot as when upgrading a DB instance. For more information, see http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Oracle.html#USER_UpgradeDBInstance.Oracle.OGPG.OG +* `service/runtime.lex`: Updates service API and documentation + +Release v1.10.48 (2017-09-19) +=== + +### Service Client Updates +* `service/ec2`: Updates service API + * Fixed bug in EC2 clients preventing ElasticGpuSet from being set. + +### SDK Enhancements +* `aws/credentials`: Add EnvProviderName constant. ([#1531](https://github.com/aws/aws-sdk-go/issues/1531)) + * Adds the "EnvConfigCredentials" string literal as EnvProviderName constant. + * Fixes [#1444](https://github.com/aws/aws-sdk-go/issues/1444) + +Release v1.10.47 (2017-09-18) +=== + +### Service Client Updates +* `service/ec2`: Updates service API and documentation + * Amazon EC2 now lets you opt for Spot instances to be stopped in the event of an interruption instead of being terminated. Your Spot request can be fulfilled again by restarting instances from a previously stopped state, subject to availability of capacity at or below your preferred price. When you submit a persistent Spot request, you can choose from "terminate" or "stop" as the instance interruption behavior. Choosing "stop" will shutdown your Spot instances so you can continue from this stopped state later on. This feature is only available for instances with Amazon EBS volume as their root device. +* `service/email`: Updates service API and documentation + * Amazon Simple Email Service (Amazon SES) now lets you customize the domains used for tracking open and click events. Previously, open and click tracking links referred to destinations hosted on domains operated by Amazon SES. With this feature, you can use your own branded domains for capturing open and click events. +* `service/iam`: Updates service API and documentation + * A new API, DeleteServiceLinkedRole, submits a service-linked role deletion request and returns a DeletionTaskId, which you can use to check the status of the deletion. + +Release v1.10.46 (2017-09-15) +=== + +### Service Client Updates +* `service/apigateway`: Updates service API and documentation + * Add a new enum "REQUEST" to '--type ' field in the current create-authorizer API, and make "identitySource" optional. + +Release v1.10.45 (2017-09-14) +=== + +### Service Client Updates +* `service/codebuild`: Updates service API and documentation + * Supporting Parameter Store in environment variables for AWS CodeBuild +* `service/organizations`: Updates service documentation + * Documentation updates for AWS Organizations +* `service/servicecatalog`: Updates service API, documentation, and paginators + * This release of Service Catalog adds API support to copy products. + +Release v1.10.44 (2017-09-13) +=== + +### Service Client Updates +* `service/autoscaling`: Updates service API and documentation + * Customers can create Life Cycle Hooks at the time of creating Auto Scaling Groups through the CreateAutoScalingGroup API +* `service/batch`: Updates service documentation and examples + * Documentation updates for batch +* `service/ec2`: Updates service API + * You are now able to create and launch EC2 x1e.32xlarge instance, a new EC2 instance in the X1 family, in us-east-1, us-west-2, eu-west-1, and ap-northeast-1. x1e.32xlarge offers 128 vCPUs, 3,904 GiB of DDR4 instance memory, high memory bandwidth, large L3 caches, and leading reliability capabilities to boost the performance and reliability of in-memory applications. +* `service/events`: Updates service API and documentation + * Exposes ConcurrentModificationException as one of the valid exceptions for PutPermission and RemovePermission operation. + +### SDK Enhancements +* `service/autoscaling`: Fix documentation for PutScalingPolicy.AutoScalingGroupName [#1522](https://github.com/aws/aws-sdk-go/pull/1522) +* `service/s3/s3manager`: Clarify S3 Upload manager Concurrency config [#1521](https://github.com/aws/aws-sdk-go/pull/1521) + * Fixes [#1458](https://github.com/aws/aws-sdk-go/issues/1458) +* `service/dynamodb/dynamodbattribute`: Add support for time alias. [#1520](https://github.com/aws/aws-sdk-go/pull/1520) + * Related to [#1505](https://github.com/aws/aws-sdk-go/pull/1505) + +Release v1.10.43 (2017-09-12) +=== + +### Service Client Updates +* `service/ec2`: Updates service API + * Fixed bug in EC2 clients preventing HostOfferingSet from being set +* `aws/endpoints`: Updated Regions and Endpoints metadata. + +Release v1.10.42 (2017-09-12) +=== + +### Service Client Updates +* `service/devicefarm`: Updates service API and documentation + * DeviceFarm has added support for two features - RemoteDebugging and Customer Artifacts. Customers can now do remote Debugging on their Private Devices and can now retrieve custom files generated by their tests on the device and the device host (execution environment) on both public and private devices. + +Release v1.10.41 (2017-09-08) +=== + +### Service Client Updates +* `service/logs`: Updates service API and documentation + * Adds support for the PutResourcePolicy, DescribeResourcePolicy and DeleteResourcePolicy APIs. + +Release v1.10.40 (2017-09-07) +=== + +### Service Client Updates +* `service/application-autoscaling`: Updates service documentation +* `service/ec2`: Updates service API and documentation + * With Tagging support, you can add Key and Value metadata to search, filter and organize your NAT Gateways according to your organization's needs. +* `service/elasticloadbalancingv2`: Updates service API and documentation +* `aws/endpoints`: Updated Regions and Endpoints metadata. +* `service/lex-models`: Updates service API and documentation +* `service/route53`: Updates service API and documentation + * You can configure Amazon Route 53 to log information about the DNS queries that Amazon Route 53 receives for your domains and subdomains. When you configure query logging, Amazon Route 53 starts to send logs to CloudWatch Logs. You can use various tools, including the AWS console, to access the query logs. + +Release v1.10.39 (2017-09-06) +=== + +### Service Client Updates +* `service/budgets`: Updates service API and documentation + * Add an optional "thresholdType" to notifications to support percentage or absolute value thresholds. + +Release v1.10.38 (2017-09-05) +=== + +### Service Client Updates +* `service/codestar`: Updates service API and documentation + * Added support to tag CodeStar projects. Tags can be used to organize and find CodeStar projects on key-value pairs that you can choose. For example, you could add a tag with a key of "Release" and a value of "Beta" to projects your organization is working on for an upcoming beta release. +* `aws/endpoints`: Updated Regions and Endpoints metadata. + +Release v1.10.37 (2017-09-01) +=== + +### Service Client Updates +* `service/MobileHub`: Adds new service +* `service/gamelift`: Updates service API and documentation + * GameLift VPC resources can be peered with any other AWS VPC. R4 memory-optimized instances now available to deploy. +* `service/ssm`: Updates service API and documentation + * Adding KMS encryption support to SSM Inventory Resource Data Sync. Exposes the ClientToken parameter on SSM StartAutomationExecution to provide idempotent execution requests. + +Release v1.10.36 (2017-08-31) +=== + +### Service Client Updates +* `service/codebuild`: Updates service API, documentation, and examples + * The AWS CodeBuild HTTP API now provides the BatchDeleteBuilds operation, which enables you to delete existing builds. +* `service/ec2`: Updates service API and documentation + * Descriptions for Security Group Rules enables customers to be able to define a description for ingress and egress security group rules . The Descriptions for Security Group Rules feature supports one description field per Security Group rule for both ingress and egress rules . Descriptions for Security Group Rules provides a simple way to describe the purpose or function of a Security Group Rule allowing for easier customer identification of configuration elements . Prior to the release of Descriptions for Security Group Rules , customers had to maintain a separate system outside of AWS if they wanted to track Security Group Rule mapping and their purpose for being implemented. If a security group rule has already been created and you would like to update or change your description for that security group rule you can use the UpdateSecurityGroupRuleDescription API. +* `service/elasticloadbalancingv2`: Updates service API and documentation +* `aws/endpoints`: Updated Regions and Endpoints metadata. +* `service/lex-models`: Updates service API and documentation + +### SDK Bugs +* `aws/signer/v4`: Revert [#1491](https://github.com/aws/aws-sdk-go/issues/1491) as change conflicts with an undocumented AWS v4 signature test case. + * Related to: [#1495](https://github.com/aws/aws-sdk-go/issues/1495). +Release v1.10.35 (2017-08-30) +=== + +### Service Client Updates +* `service/application-autoscaling`: Updates service API and documentation +* `service/organizations`: Updates service API and documentation + * The exception ConstraintViolationException now contains a new reason subcode MASTERACCOUNT_MISSING_CONTACT_INFO to make it easier to understand why attempting to remove an account from an Organization can fail. We also improved several other of the text descriptions and examples. + +Release v1.10.34 (2017-08-29) +=== + +### Service Client Updates +* `service/config`: Updates service API and documentation +* `service/ec2`: Updates service API and documentation + * Provides capability to add secondary CIDR blocks to a VPC. + +### SDK Bugs +* `aws/signer/v4`: Fix Signing Unordered Multi Value Query Parameters ([#1491](https://github.com/aws/aws-sdk-go/pull/1491)) + * Removes sorting of query string values when calculating v4 signing as this is not part of the spec. The spec only requires the keys, not values, to be sorted which is achieved by Query.Encode(). +Release v1.10.33 (2017-08-25) +=== + +### Service Client Updates +* `service/cloudformation`: Updates service API and documentation + * Rollback triggers enable you to have AWS CloudFormation monitor the state of your application during stack creation and updating, and to roll back that operation if the application breaches the threshold of any of the alarms you've specified. +* `service/gamelift`: Updates service API + * Update spelling of MatchmakingTicket status values for internal consistency. +* `service/rds`: Updates service API and documentation + * Option group options now contain additional properties that identify requirements for certain options. Check these properties to determine if your DB instance must be in a VPC or have auto minor upgrade turned on before you can use an option. Check to see if you can downgrade the version of an option after you have installed it. + +### SDK Enhancements +* `example/service/ec2`: Add EC2 list instances example ([#1492](https://github.com/aws/aws-sdk-go/pull/1492)) + +Release v1.10.32 (2017-08-25) +=== + +### Service Client Updates +* `service/rekognition`: Updates service API, documentation, and examples + * Update the enum value of LandmarkType and GenderType to be consistent with service response + +Release v1.10.31 (2017-08-23) +=== + +### Service Client Updates +* `service/appstream`: Updates service documentation + * Documentation updates for appstream +* `aws/endpoints`: Updated Regions and Endpoints metadata. + +Release v1.10.30 (2017-08-22) +=== + +### Service Client Updates +* `service/ssm`: Updates service API and documentation + * Changes to associations in Systems Manager State Manager can now be recorded. Previously, when you edited associations, you could not go back and review older association settings. Now, associations are versioned, and can be named using human-readable strings, allowing you to see a trail of association changes. You can also perform rate-based scheduling, which allows you to schedule associations more granularly. + +Release v1.10.29 (2017-08-21) +=== + +### Service Client Updates +* `service/firehose`: Updates service API, documentation, and paginators + * This change will allow customers to attach a Firehose delivery stream to an existing Kinesis stream directly. You no longer need a forwarder to move data from a Kinesis stream to a Firehose delivery stream. You can now run your streaming applications on your Kinesis stream and easily attach a Firehose delivery stream to it for data delivery to S3, Redshift, or Elasticsearch concurrently. +* `service/route53`: Updates service API and documentation + * Amazon Route 53 now supports CAA resource record type. A CAA record controls which certificate authorities are allowed to issue certificates for the domain or subdomain. + +Release v1.10.28 (2017-08-18) +=== + +### Service Client Updates +* `aws/endpoints`: Updated Regions and Endpoints metadata. + +Release v1.10.27 (2017-08-16) +=== + +### Service Client Updates +* `service/gamelift`: Updates service API and documentation + * The Matchmaking Grouping Service is a new feature that groups player match requests for a given game together into game sessions based on developer configured rules. + +### SDK Enhancements +* `aws/arn`: aws/arn: Package for parsing and producing ARNs ([#1463](https://github.com/aws/aws-sdk-go/pull/1463)) + * Adds the `arn` package for AWS ARN parsing and building. Use this package to build AWS ARNs for services such as outlined in the [documentation](http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). + +### SDK Bugs +* `aws/signer/v4`: Correct V4 presign signature to include content sha25 in URL ([#1469](https://github.com/aws/aws-sdk-go/pull/1469)) + * Updates the V4 signer so that when a Presign is generated the `X-Amz-Content-Sha256` header is added to the query string instead of being required to be in the header. This allows you to generate presigned URLs for GET requests, e.g S3.GetObject that do not require additional headers to be set by the downstream users of the presigned URL. + * Related To: [#1467](https://github.com/aws/aws-sdk-go/issues/1467) + +Release v1.10.26 (2017-08-15) +=== + +### Service Client Updates +* `service/ec2`: Updates service API + * Fixed bug in EC2 clients preventing HostReservation from being set +* `aws/endpoints`: Updated Regions and Endpoints metadata. + +Release v1.10.25 (2017-08-14) +=== + +### Service Client Updates +* `service/AWS Glue`: Adds new service +* `service/batch`: Updates service API and documentation + * This release enhances the DescribeJobs API to include the CloudWatch logStreamName attribute in ContainerDetail and ContainerDetailAttempt +* `service/cloudhsmv2`: Adds new service + * CloudHSM provides hardware security modules for protecting sensitive data and cryptographic keys within an EC2 VPC, and enable the customer to maintain control over key access and use. This is a second-generation of the service that will improve security, lower cost and provide better customer usability. +* `service/elasticfilesystem`: Updates service API, documentation, and paginators + * Customers can create encrypted EFS file systems and specify a KMS master key to encrypt it with. +* `aws/endpoints`: Updated Regions and Endpoints metadata. +* `service/mgh`: Adds new service + * AWS Migration Hub provides a single location to track migrations across multiple AWS and partner solutions. Using Migration Hub allows you to choose the AWS and partner migration tools that best fit your needs, while providing visibility into the status of your entire migration portfolio. Migration Hub also provides key metrics and progress for individual applications, regardless of which tools are being used to migrate them. For example, you might use AWS Database Migration Service, AWS Server Migration Service, and partner migration tools to migrate an application comprised of a database, virtualized web servers, and a bare metal server. Using Migration Hub will provide you with a single screen that shows the migration progress of all the resources in the application. This allows you to quickly get progress updates across all of your migrations, easily identify and troubleshoot any issues, and reduce the overall time and effort spent on your migration projects. Migration Hub is available to all AWS customers at no additional charge. You only pay for the cost of the migration tools you use, and any resources being consumed on AWS. +* `service/ssm`: Updates service API and documentation + * Systems Manager Maintenance Windows include the following changes or enhancements: New task options using Systems Manager Automation, AWS Lambda, and AWS Step Functions; enhanced ability to edit the targets of a Maintenance Window, including specifying a target name and description, and ability to edit the owner field; enhanced ability to edits tasks; enhanced support for Run Command parameters; and you can now use a --safe flag when attempting to deregister a target. If this flag is enabled when you attempt to deregister a target, the system returns an error if the target is referenced by any task. Also, Systems Manager now includes Configuration Compliance to scan your fleet of managed instances for patch compliance and configuration inconsistencies. You can collect and aggregate data from multiple AWS accounts and Regions, and then drill down into specific resources that aren't compliant. +* `service/storagegateway`: Updates service API and documentation + * Add optional field ForceDelete to DeleteFileShare api. + +Release v1.10.24 (2017-08-11) +=== + +### Service Client Updates +* `service/codedeploy`: Updates service API and documentation + * Adds support for specifying Application Load Balancers in deployment groups, for both in-place and blue/green deployments. +* `service/cognito-idp`: Updates service API and documentation +* `service/ec2`: Updates service API and documentation + * Provides customers an opportunity to recover an EIP that was released + +Release v1.10.23 (2017-08-10) +=== + +### Service Client Updates +* `service/clouddirectory`: Updates service API and documentation + * Enable BatchDetachPolicy +* `service/codebuild`: Updates service API + * Supporting Bitbucket as source type in AWS CodeBuild. + +Release v1.10.22 (2017-08-09) +=== + +### Service Client Updates +* `service/rds`: Updates service documentation + * Documentation updates for RDS. + +Release v1.10.21 (2017-08-09) +=== + +### Service Client Updates +* `service/elasticbeanstalk`: Updates service API and documentation + * Add support for paginating the result of DescribeEnvironments Include the ARN of described environments in DescribeEnvironments output + +### SDK Enhancements +* `aws`: Add pointer conversion utilities to transform int64 to time.Time [#1433](https://github.com/aws/aws-sdk-go/pull/1433) + * Adds `SecondsTimeValue` and `MillisecondsTimeValue` utilities. + +Release v1.10.20 (2017-08-01) +=== + +### Service Client Updates +* `service/codedeploy`: Updates service API and documentation + * AWS CodeDeploy now supports the use of multiple tag groups in a single deployment group (an intersection of tags) to identify the instances for a deployment. When you create or update a deployment group, use the new ec2TagSet and onPremisesTagSet structures to specify up to three groups of tags. Only instances that are identified by at least one tag in each of the tag groups are included in the deployment group. +* `service/config`: Updates service API and documentation +* `service/ec2`: Updates service waiters + * Ec2 SpotInstanceRequestFulfilled waiter update +* `service/elasticloadbalancingv2`: Updates service waiters +* `service/email`: Updates service API, documentation, paginators, and examples + * This update adds information about publishing email open and click events. This update also adds information about publishing email events to Amazon Simple Notification Service (Amazon SNS). +* `service/pinpoint`: Updates service API and documentation + * This release of the Pinpoint SDK enables App management - create, delete, update operations, Raw Content delivery for APNs and GCM campaign messages and From Address override. + +Release v1.10.19 (2017-08-01) +=== + +### Service Client Updates +* `aws/endpoints`: Updated Regions and Endpoints metadata. +* `service/inspector`: Updates service API, documentation, and paginators + * Inspector's StopAssessmentRun API has been updated with a new input option - stopAction. This request parameter can be set to either START_EVALUATION or SKIP_EVALUATION. START_EVALUATION (the default value, and the previous behavior) stops the AWS agent data collection and begins the results evaluation for findings generation based on the data collected so far. SKIP_EVALUATION cancels the assessment run immediately, after which no findings are generated. +* `service/ssm`: Updates service API and documentation + * Adds a SendAutomationSignal API to SSM Service. This API is used to send a signal to an automation execution to change the current behavior or status of the execution. + +Release v1.10.18 (2017-07-27) +=== + +### Service Client Updates +* `service/ec2`: Updates service API and documentation + * The CreateDefaultVPC API enables you to create a new default VPC . You no longer need to contact AWS support, if your default VPC has been deleted. +* `service/kinesisanalytics`: Updates service API and documentation + * Added additional exception types and clarified documentation. + +Release v1.10.17 (2017-07-27) +=== + +### Service Client Updates +* `service/dynamodb`: Updates service documentation and examples + * Corrected a typo. +* `service/ec2`: Updates service API and documentation + * Amazon EC2 Elastic GPUs allow you to easily attach low-cost graphics acceleration to current generation EC2 instances. With Amazon EC2 Elastic GPUs, you can configure the right amount of graphics acceleration to your particular workload without being constrained by fixed hardware configurations and limited GPU selection. +* `service/monitoring`: Updates service documentation + * This release adds high resolution features to CloudWatch, with support for Custom Metrics down to 1 second and Alarms down to 10 seconds. + +Release v1.10.16 (2017-07-26) +=== + +### Service Client Updates +* `service/clouddirectory`: Updates service API and documentation + * Cloud Directory adds support for additional batch operations. +* `service/cloudformation`: Updates service API and documentation + * AWS CloudFormation StackSets enables you to manage stacks across multiple accounts and regions. + +### SDK Enhancements +* `aws/signer/v4`: Optimize V4 signer's header duplicate space stripping. [#1417](https://github.com/aws/aws-sdk-go/pull/1417) + +Release v1.10.15 (2017-07-24) +=== + +### Service Client Updates +* `service/appstream`: Updates service API, documentation, and waiters + * Amazon AppStream 2.0 image builders and fleets can now access applications and network resources that rely on Microsoft Active Directory (AD) for authentication and permissions. This new feature allows you to join your streaming instances to your AD, so you can use your existing AD user management tools. +* `service/ec2`: Updates service API and documentation + * Spot Fleet tagging capability allows customers to automatically tag instances launched by Spot Fleet. You can use this feature to label or distinguish instances created by distinct Spot Fleets. Tagging your EC2 instances also enables you to see instance cost allocation by tag in your AWS bill. + +### SDK Bugs +* `aws/signer/v4`: Fix out of bounds panic in stripExcessSpaces [#1412](https://github.com/aws/aws-sdk-go/pull/1412) + * Fixes the out of bands panic in stripExcessSpaces caused by an incorrect calculation of the stripToIdx value. Simplified to code also. + * Fixes [#1411](https://github.com/aws/aws-sdk-go/issues/1411) Release v1.10.14 (2017-07-20) === diff --git a/vendor/github.com/aws/aws-sdk-go/CHANGELOG_PENDING.md b/vendor/github.com/aws/aws-sdk-go/CHANGELOG_PENDING.md index 25342816a..8a1927a39 100644 --- a/vendor/github.com/aws/aws-sdk-go/CHANGELOG_PENDING.md +++ b/vendor/github.com/aws/aws-sdk-go/CHANGELOG_PENDING.md @@ -3,6 +3,3 @@ ### SDK Enhancements ### SDK Bugs -* `aws/signer/v4`: Fix out of bounds panic in stripExcessSpaces [#1412](https://github.com/aws/aws-sdk-go/pull/1412) - * Fixes the out of bands panic in stripExcessSpaces caused by an incorrect calculation of the stripToIdx value. Simplified to code also. - * Fixes [#1411](https://github.com/aws/aws-sdk-go/issues/1411) diff --git a/vendor/github.com/aws/aws-sdk-go/Gopkg.lock b/vendor/github.com/aws/aws-sdk-go/Gopkg.lock new file mode 100644 index 000000000..854c94fdf --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/Gopkg.lock @@ -0,0 +1,20 @@ +# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. + + +[[projects]] + name = "github.com/go-ini/ini" + packages = ["."] + revision = "300e940a926eb277d3901b20bdfcc54928ad3642" + version = "v1.25.4" + +[[projects]] + name = "github.com/jmespath/go-jmespath" + packages = ["."] + revision = "0b12d6b5" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "51a86a867df617990082dec6b868e4efe2fdb2ed0e02a3daa93cd30f962b5085" + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/vendor/github.com/aws/aws-sdk-go/Gopkg.toml b/vendor/github.com/aws/aws-sdk-go/Gopkg.toml new file mode 100644 index 000000000..664fc5955 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/Gopkg.toml @@ -0,0 +1,48 @@ + +# Gopkg.toml example +# +# Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md +# for detailed Gopkg.toml documentation. +# +# required = ["github.com/user/thing/cmd/thing"] +# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"] +# +# [[constraint]] +# name = "github.com/user/project" +# version = "1.0.0" +# +# [[constraint]] +# name = "github.com/user/project2" +# branch = "dev" +# source = "github.com/myfork/project2" +# +# [[override]] +# name = "github.com/x/y" +# version = "2.4.0" + +ignored = [ + # Testing/Example/Codegen dependencies + "github.com/stretchr/testify", + "github.com/stretchr/testify/assert", + "github.com/stretchr/testify/require", + "github.com/go-sql-driver/mysql", + "github.com/gucumber/gucumber", + "github.com/pkg/errors", + "golang.org/x/net", + "golang.org/x/net/html", + "golang.org/x/net/http2", + "golang.org/x/text", + "golang.org/x/text/html", + "golang.org/x/tools", + "golang.org/x/tools/go/loader", +] + + +[[constraint]] + name = "github.com/go-ini/ini" + version = "1.25.4" + +[[constraint]] + name = "github.com/jmespath/go-jmespath" + revision = "0b12d6b5" + #version = "0.2.2" diff --git a/vendor/github.com/aws/aws-sdk-go/Makefile b/vendor/github.com/aws/aws-sdk-go/Makefile index df9803c2a..83ccc1e62 100644 --- a/vendor/github.com/aws/aws-sdk-go/Makefile +++ b/vendor/github.com/aws/aws-sdk-go/Makefile @@ -74,7 +74,7 @@ smoke-tests: get-deps-tests performance: get-deps-tests AWS_TESTING_LOG_RESULTS=${log-detailed} AWS_TESTING_REGION=$(region) AWS_TESTING_DB_TABLE=$(table) gucumber -go-tags "integration" ./awstesting/performance -sandbox-tests: sandbox-test-go15 sandbox-test-go15-novendorexp sandbox-test-go16 sandbox-test-go17 sandbox-test-go18 sandbox-test-gotip +sandbox-tests: sandbox-test-go15 sandbox-test-go15-novendorexp sandbox-test-go16 sandbox-test-go17 sandbox-test-go18 sandbox-test-go19 sandbox-test-gotip sandbox-build-go15: docker build -f ./awstesting/sandbox/Dockerfile.test.go1.5 -t "aws-sdk-go-1.5" . @@ -111,6 +111,13 @@ sandbox-go18: sandbox-build-go18 sandbox-test-go18: sandbox-build-go18 docker run -t aws-sdk-go-1.8 +sandbox-build-go19: + docker build -f ./awstesting/sandbox/Dockerfile.test.go1.8 -t "aws-sdk-go-1.9" . +sandbox-go19: sandbox-build-go19 + docker run -i -t aws-sdk-go-1.9 bash +sandbox-test-go19: sandbox-build-go19 + docker run -t aws-sdk-go-1.9 + sandbox-build-gotip: @echo "Run make update-aws-golang-tip, if this test fails because missing aws-golang:tip container" docker build -f ./awstesting/sandbox/Dockerfile.test.gotip -t "aws-sdk-go-tip" . diff --git a/vendor/github.com/aws/aws-sdk-go/README.md b/vendor/github.com/aws/aws-sdk-go/README.md index 559697f66..d5e048a5f 100644 --- a/vendor/github.com/aws/aws-sdk-go/README.md +++ b/vendor/github.com/aws/aws-sdk-go/README.md @@ -167,7 +167,7 @@ and configures the S3 service client to use that role for API requests. // Create service client value configured for credentials // from assumed role. - svc := s3.New(sess, &aws.Config{Credentials: creds})/ + svc := s3.New(sess, &aws.Config{Credentials: creds}) ``` See the [credentials][credentials_pkg] package documentation for more information on credential diff --git a/vendor/github.com/aws/aws-sdk-go/aws/arn/arn.go b/vendor/github.com/aws/aws-sdk-go/aws/arn/arn.go new file mode 100644 index 000000000..44aa125a1 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/arn/arn.go @@ -0,0 +1,86 @@ +// Package arn provides a parser for interacting with Amazon Resource Names. +package arn + +import ( + "errors" + "strings" +) + +const ( + arnDelimiter = ":" + arnSections = 6 + arnPrefix = "arn:" + + // zero-indexed + sectionPartition = 1 + sectionService = 2 + sectionRegion = 3 + sectionAccountID = 4 + sectionResource = 5 + + // errors + invalidPrefix = "arn: invalid prefix" + invalidSections = "arn: not enough sections" +) + +// ARN captures the individual fields of an Amazon Resource Name. +// See http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html for more information. +type ARN struct { + // The partition that the resource is in. For standard AWS regions, the partition is "aws". If you have resources in + // other partitions, the partition is "aws-partitionname". For example, the partition for resources in the China + // (Beijing) region is "aws-cn". + Partition string + + // The service namespace that identifies the AWS product (for example, Amazon S3, IAM, or Amazon RDS). For a list of + // namespaces, see + // http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces. + Service string + + // The region the resource resides in. Note that the ARNs for some resources do not require a region, so this + // component might be omitted. + Region string + + // The ID of the AWS account that owns the resource, without the hyphens. For example, 123456789012. Note that the + // ARNs for some resources don't require an account number, so this component might be omitted. + AccountID string + + // The content of this part of the ARN varies by service. It often includes an indicator of the type of resource — + // for example, an IAM user or Amazon RDS database - followed by a slash (/) or a colon (:), followed by the + // resource name itself. Some services allows paths for resource names, as described in + // http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arns-paths. + Resource string +} + +// Parse parses an ARN into its constituent parts. +// +// Some example ARNs: +// arn:aws:elasticbeanstalk:us-east-1:123456789012:environment/My App/MyEnvironment +// arn:aws:iam::123456789012:user/David +// arn:aws:rds:eu-west-1:123456789012:db:mysql-db +// arn:aws:s3:::my_corporate_bucket/exampleobject.png +func Parse(arn string) (ARN, error) { + if !strings.HasPrefix(arn, arnPrefix) { + return ARN{}, errors.New(invalidPrefix) + } + sections := strings.SplitN(arn, arnDelimiter, arnSections) + if len(sections) != arnSections { + return ARN{}, errors.New(invalidSections) + } + return ARN{ + Partition: sections[sectionPartition], + Service: sections[sectionService], + Region: sections[sectionRegion], + AccountID: sections[sectionAccountID], + Resource: sections[sectionResource], + }, nil +} + +// String returns the canonical representation of the ARN +func (arn ARN) String() string { + return arnPrefix + + arn.Partition + arnDelimiter + + arn.Service + arnDelimiter + + arn.Region + arnDelimiter + + arn.AccountID + arnDelimiter + + arn.Resource +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/arn/arn_test.go b/vendor/github.com/aws/aws-sdk-go/aws/arn/arn_test.go new file mode 100644 index 000000000..3dda7843a --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/arn/arn_test.go @@ -0,0 +1,90 @@ +// +build go1.7 + +package arn + +import ( + "errors" + "testing" +) + +func TestParseARN(t *testing.T) { + cases := []struct { + input string + arn ARN + err error + }{ + { + input: "invalid", + err: errors.New(invalidPrefix), + }, + { + input: "arn:nope", + err: errors.New(invalidSections), + }, + { + input: "arn:aws:ecr:us-west-2:123456789012:repository/foo/bar", + arn: ARN{ + Partition: "aws", + Service: "ecr", + Region: "us-west-2", + AccountID: "123456789012", + Resource: "repository/foo/bar", + }, + }, + { + input: "arn:aws:elasticbeanstalk:us-east-1:123456789012:environment/My App/MyEnvironment", + arn: ARN{ + Partition: "aws", + Service: "elasticbeanstalk", + Region: "us-east-1", + AccountID: "123456789012", + Resource: "environment/My App/MyEnvironment", + }, + }, + { + input: "arn:aws:iam::123456789012:user/David", + arn: ARN{ + Partition: "aws", + Service: "iam", + Region: "", + AccountID: "123456789012", + Resource: "user/David", + }, + }, + { + input: "arn:aws:rds:eu-west-1:123456789012:db:mysql-db", + arn: ARN{ + Partition: "aws", + Service: "rds", + Region: "eu-west-1", + AccountID: "123456789012", + Resource: "db:mysql-db", + }, + }, + { + input: "arn:aws:s3:::my_corporate_bucket/exampleobject.png", + arn: ARN{ + Partition: "aws", + Service: "s3", + Region: "", + AccountID: "", + Resource: "my_corporate_bucket/exampleobject.png", + }, + }, + } + for _, tc := range cases { + t.Run(tc.input, func(t *testing.T) { + spec, err := Parse(tc.input) + if tc.arn != spec { + t.Errorf("Expected %q to parse as %v, but got %v", tc.input, tc.arn, spec) + } + if err == nil && tc.err != nil { + t.Errorf("Expected err to be %v, but got nil", tc.err) + } else if err != nil && tc.err == nil { + t.Errorf("Expected err to be nil, but got %v", err) + } else if err != nil && tc.err != nil && err.Error() != tc.err.Error() { + t.Errorf("Expected err to be %v, but got %v", tc.err, err) + } + }) + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go b/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go index e8cf93d26..8fdda5303 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go @@ -4,9 +4,9 @@ package aws import "time" -// An emptyCtx is a copy of the the Go 1.7 context.emptyCtx type. This -// is copied to provide a 1.6 and 1.5 safe version of context that is compatible -// with Go 1.7's Context. +// An emptyCtx is a copy of the Go 1.7 context.emptyCtx type. This is copied to +// provide a 1.6 and 1.5 safe version of context that is compatible with Go +// 1.7's Context. // // An emptyCtx is never canceled, has no values, and has no deadline. It is not // struct{}, since vars of this type must have distinct addresses. diff --git a/vendor/github.com/aws/aws-sdk-go/aws/convert_types.go b/vendor/github.com/aws/aws-sdk-go/aws/convert_types.go index 3b73a7da7..ff5d58e06 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/convert_types.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/convert_types.go @@ -311,6 +311,24 @@ func TimeValue(v *time.Time) time.Time { return time.Time{} } +// SecondsTimeValue converts an int64 pointer to a time.Time value +// representing seconds since Epoch or time.Time{} if the pointer is nil. +func SecondsTimeValue(v *int64) time.Time { + if v != nil { + return time.Unix((*v / 1000), 0) + } + return time.Time{} +} + +// MillisecondsTimeValue converts an int64 pointer to a time.Time value +// representing milliseconds sinch Epoch or time.Time{} if the pointer is nil. +func MillisecondsTimeValue(v *int64) time.Time { + if v != nil { + return time.Unix(0, (*v * 1000000)) + } + return time.Time{} +} + // TimeUnixMilli returns a Unix timestamp in milliseconds from "January 1, 1970 UTC". // The result is undefined if the Unix time cannot be represented by an int64. // Which includes calling TimeUnixMilli on a zero Time is undefined. diff --git a/vendor/github.com/aws/aws-sdk-go/aws/convert_types_test.go b/vendor/github.com/aws/aws-sdk-go/aws/convert_types_test.go index df7a3e5d2..1a9461e1b 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/convert_types_test.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/convert_types_test.go @@ -1,10 +1,9 @@ package aws import ( + "reflect" "testing" "time" - - "github.com/stretchr/testify/assert" ) var testCasesStringSlice = [][]string{ @@ -18,14 +17,22 @@ func TestStringSlice(t *testing.T) { continue } out := StringSlice(in) - assert.Len(t, out, len(in), "Unexpected len at idx %d", idx) + if e, a := len(out), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } for i := range out { - assert.Equal(t, in[i], *(out[i]), "Unexpected value at idx %d", idx) + if e, a := in[i], *(out[i]); e != a { + t.Errorf("Unexpected value at idx %d", idx) + } } out2 := StringValueSlice(out) - assert.Len(t, out2, len(in), "Unexpected len at idx %d", idx) - assert.Equal(t, in, out2, "Unexpected value at idx %d", idx) + if e, a := len(out2), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } + if e, a := in, out2; !reflect.DeepEqual(e, a) { + t.Errorf("Unexpected value at idx %d", idx) + } } } @@ -39,22 +46,34 @@ func TestStringValueSlice(t *testing.T) { continue } out := StringValueSlice(in) - assert.Len(t, out, len(in), "Unexpected len at idx %d", idx) + if e, a := len(out), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } for i := range out { if in[i] == nil { - assert.Empty(t, out[i], "Unexpected value at idx %d", idx) + if out[i] != "" { + t.Errorf("Unexpected value at idx %d", idx) + } } else { - assert.Equal(t, *(in[i]), out[i], "Unexpected value at idx %d", idx) + if e, a := *(in[i]), out[i]; e != a { + t.Errorf("Unexpected value at idx %d", idx) + } } } out2 := StringSlice(out) - assert.Len(t, out2, len(in), "Unexpected len at idx %d", idx) + if e, a := len(out2), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } for i := range out2 { if in[i] == nil { - assert.Empty(t, *(out2[i]), "Unexpected value at idx %d", idx) + if *(out2[i]) != "" { + t.Errorf("Unexpected value at idx %d", idx) + } } else { - assert.Equal(t, in[i], out2[i], "Unexpected value at idx %d", idx) + if e, a := *in[i], *out2[i]; e != a { + t.Errorf("Unexpected value at idx %d", idx) + } } } } @@ -70,14 +89,22 @@ func TestStringMap(t *testing.T) { continue } out := StringMap(in) - assert.Len(t, out, len(in), "Unexpected len at idx %d", idx) + if e, a := len(out), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } for i := range out { - assert.Equal(t, in[i], *(out[i]), "Unexpected value at idx %d", idx) + if e, a := in[i], *(out[i]); e != a { + t.Errorf("Unexpected value at idx %d", idx) + } } out2 := StringValueMap(out) - assert.Len(t, out2, len(in), "Unexpected len at idx %d", idx) - assert.Equal(t, in, out2, "Unexpected value at idx %d", idx) + if e, a := len(out2), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } + if e, a := in, out2; !reflect.DeepEqual(e, a) { + t.Errorf("Unexpected value at idx %d", idx) + } } } @@ -91,14 +118,22 @@ func TestBoolSlice(t *testing.T) { continue } out := BoolSlice(in) - assert.Len(t, out, len(in), "Unexpected len at idx %d", idx) + if e, a := len(out), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } for i := range out { - assert.Equal(t, in[i], *(out[i]), "Unexpected value at idx %d", idx) + if e, a := in[i], *(out[i]); e != a { + t.Errorf("Unexpected value at idx %d", idx) + } } out2 := BoolValueSlice(out) - assert.Len(t, out2, len(in), "Unexpected len at idx %d", idx) - assert.Equal(t, in, out2, "Unexpected value at idx %d", idx) + if e, a := len(out2), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } + if e, a := in, out2; !reflect.DeepEqual(e, a) { + t.Errorf("Unexpected value at idx %d", idx) + } } } @@ -110,22 +145,34 @@ func TestBoolValueSlice(t *testing.T) { continue } out := BoolValueSlice(in) - assert.Len(t, out, len(in), "Unexpected len at idx %d", idx) + if e, a := len(out), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } for i := range out { if in[i] == nil { - assert.Empty(t, out[i], "Unexpected value at idx %d", idx) + if out[i] { + t.Errorf("Unexpected value at idx %d", idx) + } } else { - assert.Equal(t, *(in[i]), out[i], "Unexpected value at idx %d", idx) + if e, a := *(in[i]), out[i]; e != a { + t.Errorf("Unexpected value at idx %d", idx) + } } } out2 := BoolSlice(out) - assert.Len(t, out2, len(in), "Unexpected len at idx %d", idx) + if e, a := len(out2), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } for i := range out2 { if in[i] == nil { - assert.Empty(t, *(out2[i]), "Unexpected value at idx %d", idx) + if *(out2[i]) { + t.Errorf("Unexpected value at idx %d", idx) + } } else { - assert.Equal(t, in[i], out2[i], "Unexpected value at idx %d", idx) + if e, a := in[i], out2[i]; e != a { + t.Errorf("Unexpected value at idx %d", idx) + } } } } @@ -141,14 +188,22 @@ func TestBoolMap(t *testing.T) { continue } out := BoolMap(in) - assert.Len(t, out, len(in), "Unexpected len at idx %d", idx) + if e, a := len(out), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } for i := range out { - assert.Equal(t, in[i], *(out[i]), "Unexpected value at idx %d", idx) + if e, a := in[i], *(out[i]); e != a { + t.Errorf("Unexpected value at idx %d", idx) + } } out2 := BoolValueMap(out) - assert.Len(t, out2, len(in), "Unexpected len at idx %d", idx) - assert.Equal(t, in, out2, "Unexpected value at idx %d", idx) + if e, a := len(out2), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } + if e, a := in, out2; !reflect.DeepEqual(e, a) { + t.Errorf("Unexpected value at idx %d", idx) + } } } @@ -162,14 +217,22 @@ func TestIntSlice(t *testing.T) { continue } out := IntSlice(in) - assert.Len(t, out, len(in), "Unexpected len at idx %d", idx) + if e, a := len(out), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } for i := range out { - assert.Equal(t, in[i], *(out[i]), "Unexpected value at idx %d", idx) + if e, a := in[i], *(out[i]); e != a { + t.Errorf("Unexpected value at idx %d", idx) + } } out2 := IntValueSlice(out) - assert.Len(t, out2, len(in), "Unexpected len at idx %d", idx) - assert.Equal(t, in, out2, "Unexpected value at idx %d", idx) + if e, a := len(out2), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } + if e, a := in, out2; !reflect.DeepEqual(e, a) { + t.Errorf("Unexpected value at idx %d", idx) + } } } @@ -181,22 +244,34 @@ func TestIntValueSlice(t *testing.T) { continue } out := IntValueSlice(in) - assert.Len(t, out, len(in), "Unexpected len at idx %d", idx) + if e, a := len(out), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } for i := range out { if in[i] == nil { - assert.Empty(t, out[i], "Unexpected value at idx %d", idx) + if out[i] != 0 { + t.Errorf("Unexpected value at idx %d", idx) + } } else { - assert.Equal(t, *(in[i]), out[i], "Unexpected value at idx %d", idx) + if e, a := *(in[i]), out[i]; e != a { + t.Errorf("Unexpected value at idx %d", idx) + } } } out2 := IntSlice(out) - assert.Len(t, out2, len(in), "Unexpected len at idx %d", idx) + if e, a := len(out2), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } for i := range out2 { if in[i] == nil { - assert.Empty(t, *(out2[i]), "Unexpected value at idx %d", idx) + if *(out2[i]) != 0 { + t.Errorf("Unexpected value at idx %d", idx) + } } else { - assert.Equal(t, in[i], out2[i], "Unexpected value at idx %d", idx) + if e, a := in[i], out2[i]; e != a { + t.Errorf("Unexpected value at idx %d", idx) + } } } } @@ -212,14 +287,22 @@ func TestIntMap(t *testing.T) { continue } out := IntMap(in) - assert.Len(t, out, len(in), "Unexpected len at idx %d", idx) + if e, a := len(out), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } for i := range out { - assert.Equal(t, in[i], *(out[i]), "Unexpected value at idx %d", idx) + if e, a := in[i], *(out[i]); e != a { + t.Errorf("Unexpected value at idx %d", idx) + } } out2 := IntValueMap(out) - assert.Len(t, out2, len(in), "Unexpected len at idx %d", idx) - assert.Equal(t, in, out2, "Unexpected value at idx %d", idx) + if e, a := len(out2), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } + if e, a := in, out2; !reflect.DeepEqual(e, a) { + t.Errorf("Unexpected value at idx %d", idx) + } } } @@ -233,14 +316,22 @@ func TestInt64Slice(t *testing.T) { continue } out := Int64Slice(in) - assert.Len(t, out, len(in), "Unexpected len at idx %d", idx) + if e, a := len(out), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } for i := range out { - assert.Equal(t, in[i], *(out[i]), "Unexpected value at idx %d", idx) + if e, a := in[i], *(out[i]); e != a { + t.Errorf("Unexpected value at idx %d", idx) + } } out2 := Int64ValueSlice(out) - assert.Len(t, out2, len(in), "Unexpected len at idx %d", idx) - assert.Equal(t, in, out2, "Unexpected value at idx %d", idx) + if e, a := len(out2), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } + if e, a := in, out2; !reflect.DeepEqual(e, a) { + t.Errorf("Unexpected value at idx %d", idx) + } } } @@ -252,22 +343,34 @@ func TestInt64ValueSlice(t *testing.T) { continue } out := Int64ValueSlice(in) - assert.Len(t, out, len(in), "Unexpected len at idx %d", idx) + if e, a := len(out), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } for i := range out { if in[i] == nil { - assert.Empty(t, out[i], "Unexpected value at idx %d", idx) + if out[i] != 0 { + t.Errorf("Unexpected value at idx %d", idx) + } } else { - assert.Equal(t, *(in[i]), out[i], "Unexpected value at idx %d", idx) + if e, a := *(in[i]), out[i]; e != a { + t.Errorf("Unexpected value at idx %d", idx) + } } } out2 := Int64Slice(out) - assert.Len(t, out2, len(in), "Unexpected len at idx %d", idx) + if e, a := len(out2), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } for i := range out2 { if in[i] == nil { - assert.Empty(t, *(out2[i]), "Unexpected value at idx %d", idx) + if *(out2[i]) != 0 { + t.Errorf("Unexpected value at idx %d", idx) + } } else { - assert.Equal(t, in[i], out2[i], "Unexpected value at idx %d", idx) + if e, a := in[i], out2[i]; e != a { + t.Errorf("Unexpected value at idx %d", idx) + } } } } @@ -283,14 +386,22 @@ func TestInt64Map(t *testing.T) { continue } out := Int64Map(in) - assert.Len(t, out, len(in), "Unexpected len at idx %d", idx) + if e, a := len(out), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } for i := range out { - assert.Equal(t, in[i], *(out[i]), "Unexpected value at idx %d", idx) + if e, a := in[i], *(out[i]); e != a { + t.Errorf("Unexpected value at idx %d", idx) + } } out2 := Int64ValueMap(out) - assert.Len(t, out2, len(in), "Unexpected len at idx %d", idx) - assert.Equal(t, in, out2, "Unexpected value at idx %d", idx) + if e, a := len(out2), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } + if e, a := in, out2; !reflect.DeepEqual(e, a) { + t.Errorf("Unexpected value at idx %d", idx) + } } } @@ -304,14 +415,22 @@ func TestFloat64Slice(t *testing.T) { continue } out := Float64Slice(in) - assert.Len(t, out, len(in), "Unexpected len at idx %d", idx) + if e, a := len(out), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } for i := range out { - assert.Equal(t, in[i], *(out[i]), "Unexpected value at idx %d", idx) + if e, a := in[i], *(out[i]); e != a { + t.Errorf("Unexpected value at idx %d", idx) + } } out2 := Float64ValueSlice(out) - assert.Len(t, out2, len(in), "Unexpected len at idx %d", idx) - assert.Equal(t, in, out2, "Unexpected value at idx %d", idx) + if e, a := len(out2), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } + if e, a := in, out2; !reflect.DeepEqual(e, a) { + t.Errorf("Unexpected value at idx %d", idx) + } } } @@ -323,22 +442,34 @@ func TestFloat64ValueSlice(t *testing.T) { continue } out := Float64ValueSlice(in) - assert.Len(t, out, len(in), "Unexpected len at idx %d", idx) + if e, a := len(out), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } for i := range out { if in[i] == nil { - assert.Empty(t, out[i], "Unexpected value at idx %d", idx) + if out[i] != 0 { + t.Errorf("Unexpected value at idx %d", idx) + } } else { - assert.Equal(t, *(in[i]), out[i], "Unexpected value at idx %d", idx) + if e, a := *(in[i]), out[i]; e != a { + t.Errorf("Unexpected value at idx %d", idx) + } } } out2 := Float64Slice(out) - assert.Len(t, out2, len(in), "Unexpected len at idx %d", idx) + if e, a := len(out2), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } for i := range out2 { if in[i] == nil { - assert.Empty(t, *(out2[i]), "Unexpected value at idx %d", idx) + if *(out2[i]) != 0 { + t.Errorf("Unexpected value at idx %d", idx) + } } else { - assert.Equal(t, in[i], out2[i], "Unexpected value at idx %d", idx) + if e, a := in[i], out2[i]; e != a { + t.Errorf("Unexpected value at idx %d", idx) + } } } } @@ -354,14 +485,22 @@ func TestFloat64Map(t *testing.T) { continue } out := Float64Map(in) - assert.Len(t, out, len(in), "Unexpected len at idx %d", idx) + if e, a := len(out), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } for i := range out { - assert.Equal(t, in[i], *(out[i]), "Unexpected value at idx %d", idx) + if e, a := in[i], *(out[i]); e != a { + t.Errorf("Unexpected value at idx %d", idx) + } } out2 := Float64ValueMap(out) - assert.Len(t, out2, len(in), "Unexpected len at idx %d", idx) - assert.Equal(t, in, out2, "Unexpected value at idx %d", idx) + if e, a := len(out2), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } + if e, a := in, out2; !reflect.DeepEqual(e, a) { + t.Errorf("Unexpected value at idx %d", idx) + } } } @@ -375,14 +514,22 @@ func TestTimeSlice(t *testing.T) { continue } out := TimeSlice(in) - assert.Len(t, out, len(in), "Unexpected len at idx %d", idx) + if e, a := len(out), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } for i := range out { - assert.Equal(t, in[i], *(out[i]), "Unexpected value at idx %d", idx) + if e, a := in[i], *(out[i]); e != a { + t.Errorf("Unexpected value at idx %d", idx) + } } out2 := TimeValueSlice(out) - assert.Len(t, out2, len(in), "Unexpected len at idx %d", idx) - assert.Equal(t, in, out2, "Unexpected value at idx %d", idx) + if e, a := len(out2), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } + if e, a := in, out2; !reflect.DeepEqual(e, a) { + t.Errorf("Unexpected value at idx %d", idx) + } } } @@ -394,22 +541,34 @@ func TestTimeValueSlice(t *testing.T) { continue } out := TimeValueSlice(in) - assert.Len(t, out, len(in), "Unexpected len at idx %d", idx) + if e, a := len(out), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } for i := range out { if in[i] == nil { - assert.Empty(t, out[i], "Unexpected value at idx %d", idx) + if !out[i].IsZero() { + t.Errorf("Unexpected value at idx %d", idx) + } } else { - assert.Equal(t, *(in[i]), out[i], "Unexpected value at idx %d", idx) + if e, a := *(in[i]), out[i]; e != a { + t.Errorf("Unexpected value at idx %d", idx) + } } } out2 := TimeSlice(out) - assert.Len(t, out2, len(in), "Unexpected len at idx %d", idx) + if e, a := len(out2), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } for i := range out2 { if in[i] == nil { - assert.Empty(t, *(out2[i]), "Unexpected value at idx %d", idx) + if !(*(out2[i])).IsZero() { + t.Errorf("Unexpected value at idx %d", idx) + } } else { - assert.Equal(t, in[i], out2[i], "Unexpected value at idx %d", idx) + if e, a := in[i], out2[i]; e != a { + t.Errorf("Unexpected value at idx %d", idx) + } } } } @@ -425,13 +584,58 @@ func TestTimeMap(t *testing.T) { continue } out := TimeMap(in) - assert.Len(t, out, len(in), "Unexpected len at idx %d", idx) + if e, a := len(out), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } for i := range out { - assert.Equal(t, in[i], *(out[i]), "Unexpected value at idx %d", idx) + if e, a := in[i], *(out[i]); e != a { + t.Errorf("Unexpected value at idx %d", idx) + } } out2 := TimeValueMap(out) - assert.Len(t, out2, len(in), "Unexpected len at idx %d", idx) - assert.Equal(t, in, out2, "Unexpected value at idx %d", idx) + if e, a := len(out2), len(in); e != a { + t.Errorf("Unexpected len at idx %d", idx) + } + if e, a := in, out2; !reflect.DeepEqual(e, a) { + t.Errorf("Unexpected value at idx %d", idx) + } + } +} + +type TimeValueTestCase struct { + in int64 + outSecs time.Time + outMillis time.Time +} + +var testCasesTimeValue = []TimeValueTestCase{ + { + in: int64(1501558289000), + outSecs: time.Unix(1501558289, 0), + outMillis: time.Unix(1501558289, 0), + }, + { + in: int64(1501558289001), + outSecs: time.Unix(1501558289, 0), + outMillis: time.Unix(1501558289, 1*1000000), + }, +} + +func TestSecondsTimeValue(t *testing.T) { + for idx, testCase := range testCasesTimeValue { + out := SecondsTimeValue(&testCase.in) + if e, a := testCase.outSecs, out; e != a { + t.Errorf("Unexpected value for time value at %d", idx) + } + } +} + +func TestMillisecondsTimeValue(t *testing.T) { + for idx, testCase := range testCasesTimeValue { + out := MillisecondsTimeValue(&testCase.in) + if e, a := testCase.outMillis, out; e != a { + t.Errorf("Unexpected value for time value at %d", idx) + } } } diff --git a/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers_test.go b/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers_test.go index fe7d3c9bc..1d715c9f3 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers_test.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers_test.go @@ -7,11 +7,10 @@ import ( "net/http" "net/http/httptest" "os" + "strings" "testing" "time" - "github.com/stretchr/testify/assert" - "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/aws/corehandlers" @@ -32,7 +31,9 @@ func TestValidateEndpointHandler(t *testing.T) { req := svc.NewRequest(&request.Operation{Name: "Operation"}, nil, nil) err := req.Build() - assert.NoError(t, err) + if err != nil { + t.Errorf("expect no error, got %v", err) + } } func TestValidateEndpointHandlerErrorRegion(t *testing.T) { @@ -45,8 +46,12 @@ func TestValidateEndpointHandlerErrorRegion(t *testing.T) { req := svc.NewRequest(&request.Operation{Name: "Operation"}, nil, nil) err := req.Build() - assert.Error(t, err) - assert.Equal(t, aws.ErrMissingRegion, err) + if err == nil { + t.Errorf("expect error, got none") + } + if e, a := aws.ErrMissingRegion, err; e != a { + t.Errorf("expect %v to be %v", e, a) + } } type mockCredsProvider struct { @@ -82,18 +87,30 @@ func TestAfterRetryRefreshCreds(t *testing.T) { }) svc.Handlers.AfterRetry.PushBackNamed(corehandlers.AfterRetryHandler) - assert.True(t, svc.Config.Credentials.IsExpired(), "Expect to start out expired") - assert.False(t, credProvider.retrieveCalled) + if !svc.Config.Credentials.IsExpired() { + t.Errorf("Expect to start out expired") + } + if credProvider.retrieveCalled { + t.Errorf("expect not called") + } req := svc.NewRequest(&request.Operation{Name: "Operation"}, nil, nil) req.Send() - assert.True(t, svc.Config.Credentials.IsExpired()) - assert.False(t, credProvider.retrieveCalled) + if !svc.Config.Credentials.IsExpired() { + t.Errorf("Expect to start out expired") + } + if credProvider.retrieveCalled { + t.Errorf("expect not called") + } _, err := svc.Config.Credentials.Get() - assert.NoError(t, err) - assert.True(t, credProvider.retrieveCalled) + if err != nil { + t.Errorf("expect no error, got %v", err) + } + if !credProvider.retrieveCalled { + t.Errorf("expect not called") + } } func TestAfterRetryWithContextCanceled(t *testing.T) { @@ -202,8 +219,12 @@ func TestSendHandlerError(t *testing.T) { r.Send() - assert.Error(t, r.Error) - assert.NotNil(t, r.HTTPResponse) + if r.Error == nil { + t.Errorf("expect error, got none") + } + if r.HTTPResponse == nil { + t.Errorf("expect response, got none") + } } func TestSendWithoutFollowRedirects(t *testing.T) { @@ -273,31 +294,47 @@ func TestValidateReqSigHandler(t *testing.T) { corehandlers.ValidateReqSigHandler.Fn(c.Req) - assert.NoError(t, c.Req.Error, "%d, expect no error", i) - assert.Equal(t, c.Resign, resigned, "%d, expected resigning to match", i) + if c.Req.Error != nil { + t.Errorf("expect no error, got %v", c.Req.Error) + } + if e, a := c.Resign, resigned; e != a { + t.Errorf("%d, expect %v to be %v", i, e, a) + } } } func setupContentLengthTestServer(t *testing.T, hasContentLength bool, contentLength int64) *httptest.Server { server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { _, ok := r.Header["Content-Length"] - assert.Equal(t, hasContentLength, ok, "expect content length to be set, %t", hasContentLength) + if e, a := hasContentLength, ok; e != a { + t.Errorf("expect %v to be %v", e, a) + } if hasContentLength { - assert.Equal(t, contentLength, r.ContentLength) + if e, a := contentLength, r.ContentLength; e != a { + t.Errorf("expect %v to be %v", e, a) + } } b, err := ioutil.ReadAll(r.Body) - assert.NoError(t, err) + if err != nil { + t.Errorf("expect no error, got %v", err) + } r.Body.Close() authHeader := r.Header.Get("Authorization") if hasContentLength { - assert.Contains(t, authHeader, "content-length") + if e, a := "content-length", authHeader; !strings.Contains(a, e) { + t.Errorf("expect %v to be in %v", e, a) + } } else { - assert.NotContains(t, authHeader, "content-length") + if e, a := "content-length", authHeader; strings.Contains(a, e) { + t.Errorf("expect %v to not be in %v", e, a) + } } - assert.Equal(t, contentLength, int64(len(b))) + if e, a := contentLength, int64(len(b)); e != a { + t.Errorf("expect %v to be %v", e, a) + } })) return server @@ -316,7 +353,9 @@ func TestBuildContentLength_ZeroBody(t *testing.T) { Key: aws.String("keyname"), }) - assert.NoError(t, err) + if err != nil { + t.Errorf("expect no error, got %v", err) + } } func TestBuildContentLength_NegativeBody(t *testing.T) { @@ -334,7 +373,9 @@ func TestBuildContentLength_NegativeBody(t *testing.T) { req.HTTPRequest.Header.Set("Content-Length", "-1") - assert.NoError(t, req.Send()) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } } func TestBuildContentLength_WithBody(t *testing.T) { @@ -351,5 +392,7 @@ func TestBuildContentLength_WithBody(t *testing.T) { Body: bytes.NewReader(make([]byte, 1024)), }) - assert.NoError(t, err) + if err != nil { + t.Errorf("expect no error, got %v", err) + } } diff --git a/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/param_validator_test.go b/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/param_validator_test.go index 66973ca01..e1d8a08fd 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/param_validator_test.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/param_validator_test.go @@ -3,8 +3,7 @@ package corehandlers_test import ( "fmt" "testing" - - "github.com/stretchr/testify/assert" + "reflect" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awserr" @@ -14,7 +13,6 @@ import ( "github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/awstesting/unit" "github.com/aws/aws-sdk-go/service/kinesis" - "github.com/stretchr/testify/require" ) var testSvc = func() *client.Client { @@ -113,7 +111,9 @@ func TestNoErrors(t *testing.T) { req := testSvc.NewRequest(&request.Operation{}, input, nil) corehandlers.ValidateParametersHandler.Fn(req) - require.NoError(t, req.Error) + if req.Error != nil { + t.Fatalf("expect no error, got %v", req.Error) + } } func TestMissingRequiredParameters(t *testing.T) { @@ -121,17 +121,33 @@ func TestMissingRequiredParameters(t *testing.T) { req := testSvc.NewRequest(&request.Operation{}, input, nil) corehandlers.ValidateParametersHandler.Fn(req) - require.Error(t, req.Error) - assert.Equal(t, "InvalidParameter", req.Error.(awserr.Error).Code()) - assert.Equal(t, "3 validation error(s) found.", req.Error.(awserr.Error).Message()) + if req.Error == nil { + t.Fatalf("expect error") + } + if e, a := "InvalidParameter", req.Error.(awserr.Error).Code(); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "3 validation error(s) found.", req.Error.(awserr.Error).Message(); e != a { + t.Errorf("expect %v, got %v", e, a) + } errs := req.Error.(awserr.BatchedErrors).OrigErrs() - assert.Len(t, errs, 3) - assert.Equal(t, "ParamRequiredError: missing required field, StructShape.RequiredList.", errs[0].Error()) - assert.Equal(t, "ParamRequiredError: missing required field, StructShape.RequiredMap.", errs[1].Error()) - assert.Equal(t, "ParamRequiredError: missing required field, StructShape.RequiredBool.", errs[2].Error()) + if e, a := 3, len(errs); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "ParamRequiredError: missing required field, StructShape.RequiredList.", errs[0].Error(); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "ParamRequiredError: missing required field, StructShape.RequiredMap.", errs[1].Error(); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "ParamRequiredError: missing required field, StructShape.RequiredBool.", errs[2].Error(); e != a { + t.Errorf("expect %v, got %v", e, a) + } - assert.Equal(t, "InvalidParameter: 3 validation error(s) found.\n- missing required field, StructShape.RequiredList.\n- missing required field, StructShape.RequiredMap.\n- missing required field, StructShape.RequiredBool.\n", req.Error.Error()) + if e, a := "InvalidParameter: 3 validation error(s) found.\n- missing required field, StructShape.RequiredList.\n- missing required field, StructShape.RequiredMap.\n- missing required field, StructShape.RequiredBool.\n", req.Error.Error(); e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestNestedMissingRequiredParameters(t *testing.T) { @@ -148,15 +164,29 @@ func TestNestedMissingRequiredParameters(t *testing.T) { req := testSvc.NewRequest(&request.Operation{}, input, nil) corehandlers.ValidateParametersHandler.Fn(req) - require.Error(t, req.Error) - assert.Equal(t, "InvalidParameter", req.Error.(awserr.Error).Code()) - assert.Equal(t, "3 validation error(s) found.", req.Error.(awserr.Error).Message()) + if req.Error == nil { + t.Fatalf("expect error") + } + if e, a := "InvalidParameter", req.Error.(awserr.Error).Code(); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "3 validation error(s) found.", req.Error.(awserr.Error).Message(); e != a { + t.Errorf("expect %v, got %v", e, a) + } errs := req.Error.(awserr.BatchedErrors).OrigErrs() - assert.Len(t, errs, 3) - assert.Equal(t, "ParamRequiredError: missing required field, StructShape.RequiredList[0].Name.", errs[0].Error()) - assert.Equal(t, "ParamRequiredError: missing required field, StructShape.RequiredMap[key2].Name.", errs[1].Error()) - assert.Equal(t, "ParamRequiredError: missing required field, StructShape.OptionalStruct.Name.", errs[2].Error()) + if e, a := 3, len(errs); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "ParamRequiredError: missing required field, StructShape.RequiredList[0].Name.", errs[0].Error(); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "ParamRequiredError: missing required field, StructShape.RequiredMap[key2].Name.", errs[1].Error(); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "ParamRequiredError: missing required field, StructShape.OptionalStruct.Name.", errs[2].Error(); e != a { + t.Errorf("expect %v, got %v", e, a) + } } type testInput struct { @@ -226,7 +256,9 @@ func TestValidateFieldMinParameter(t *testing.T) { req := testSvc.NewRequest(&request.Operation{}, &c.in, nil) corehandlers.ValidateParametersHandler.Fn(req) - assert.Equal(t, c.err, req.Error, "%d case failed", i) + if e, a := c.err, req.Error; !reflect.DeepEqual(e,a) { + t.Errorf("%d, expect %v, got %v", i, e, a) + } } } diff --git a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api_test.go b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api_test.go index 35e75782b..7dde1fb36 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api_test.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api_test.go @@ -11,8 +11,6 @@ import ( "strings" "testing" - "github.com/stretchr/testify/assert" - "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/aws/ec2metadata" @@ -71,8 +69,12 @@ func TestEndpoint(t *testing.T) { } req := c.NewRequest(op, nil, nil) - assert.Equal(t, "http://169.254.169.254/latest", req.ClientInfo.Endpoint) - assert.Equal(t, "http://169.254.169.254/latest/meta-data/testpath", req.HTTPRequest.URL.String()) + if e, a := "http://169.254.169.254/latest", req.ClientInfo.Endpoint; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "http://169.254.169.254/latest/meta-data/testpath", req.HTTPRequest.URL.String(); e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestGetMetadata(t *testing.T) { @@ -85,8 +87,12 @@ func TestGetMetadata(t *testing.T) { resp, err := c.GetMetadata("some/path") - assert.NoError(t, err) - assert.Equal(t, "success", resp) + if err != nil { + t.Errorf("expect no error, got %v", err) + } + if e, a := "success", resp; e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestGetUserData(t *testing.T) { @@ -99,8 +105,12 @@ func TestGetUserData(t *testing.T) { resp, err := c.GetUserData() - assert.NoError(t, err) - assert.Equal(t, "success", resp) + if err != nil { + t.Errorf("expect no error, got %v", err) + } + if e, a := "success", resp; e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestGetUserData_Error(t *testing.T) { @@ -126,12 +136,17 @@ func TestGetUserData_Error(t *testing.T) { c := ec2metadata.New(unit.Session, &aws.Config{Endpoint: aws.String(server.URL + "/latest")}) resp, err := c.GetUserData() - assert.Error(t, err) - assert.Empty(t, resp) + if err == nil { + t.Errorf("expect error") + } + if len(resp) != 0 { + t.Errorf("expect empty, got %v", resp) + } - aerr, ok := err.(awserr.Error) - assert.True(t, ok) - assert.Equal(t, "NotFoundError", aerr.Code()) + aerr := err.(awserr.Error) + if e, a := "NotFoundError", aerr.Code(); e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestGetRegion(t *testing.T) { @@ -144,8 +159,12 @@ func TestGetRegion(t *testing.T) { region, err := c.Region() - assert.NoError(t, err) - assert.Equal(t, "us-west-2", region) + if err != nil { + t.Errorf("expect no error, got %v", err) + } + if e, a := "us-west-2", region; e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestMetadataAvailable(t *testing.T) { @@ -156,9 +175,9 @@ func TestMetadataAvailable(t *testing.T) { defer server.Close() c := ec2metadata.New(unit.Session, &aws.Config{Endpoint: aws.String(server.URL + "/latest")}) - available := c.Available() - - assert.True(t, available) + if !c.Available() { + t.Errorf("expect available") + } } func TestMetadataIAMInfo_success(t *testing.T) { @@ -170,10 +189,18 @@ func TestMetadataIAMInfo_success(t *testing.T) { c := ec2metadata.New(unit.Session, &aws.Config{Endpoint: aws.String(server.URL + "/latest")}) iamInfo, err := c.IAMInfo() - assert.NoError(t, err) - assert.Equal(t, "Success", iamInfo.Code) - assert.Equal(t, "arn:aws:iam::123456789012:instance-profile/my-instance-profile", iamInfo.InstanceProfileArn) - assert.Equal(t, "AIPAABCDEFGHIJKLMN123", iamInfo.InstanceProfileID) + if err != nil { + t.Errorf("expect no error, got %v", err) + } + if e, a := "Success", iamInfo.Code; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "arn:aws:iam::123456789012:instance-profile/my-instance-profile", iamInfo.InstanceProfileArn; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "AIPAABCDEFGHIJKLMN123", iamInfo.InstanceProfileID; e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestMetadataIAMInfo_failure(t *testing.T) { @@ -185,10 +212,18 @@ func TestMetadataIAMInfo_failure(t *testing.T) { c := ec2metadata.New(unit.Session, &aws.Config{Endpoint: aws.String(server.URL + "/latest")}) iamInfo, err := c.IAMInfo() - assert.NotNil(t, err) - assert.Equal(t, "", iamInfo.Code) - assert.Equal(t, "", iamInfo.InstanceProfileArn) - assert.Equal(t, "", iamInfo.InstanceProfileID) + if err == nil { + t.Errorf("expect error") + } + if e, a := "", iamInfo.Code; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "", iamInfo.InstanceProfileArn; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "", iamInfo.InstanceProfileID; e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestMetadataNotAvailable(t *testing.T) { @@ -204,9 +239,9 @@ func TestMetadataNotAvailable(t *testing.T) { r.Retryable = aws.Bool(true) // network errors are retryable }) - available := c.Available() - - assert.False(t, available) + if c.Available() { + t.Errorf("expect not available") + } } func TestMetadataErrorResponse(t *testing.T) { @@ -222,8 +257,12 @@ func TestMetadataErrorResponse(t *testing.T) { }) data, err := c.GetMetadata("uri/path") - assert.Empty(t, data) - assert.Contains(t, err.Error(), "error message text") + if len(data) != 0 { + t.Errorf("expect empty, got %v", data) + } + if e, a := "error message text", err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %v to be in %v", e, a) + } } func TestEC2RoleProviderInstanceIdentity(t *testing.T) { @@ -235,8 +274,16 @@ func TestEC2RoleProviderInstanceIdentity(t *testing.T) { c := ec2metadata.New(unit.Session, &aws.Config{Endpoint: aws.String(server.URL + "/latest")}) doc, err := c.GetInstanceIdentityDocument() - assert.Nil(t, err, "Expect no error, %v", err) - assert.Equal(t, doc.AccountID, "123456789012") - assert.Equal(t, doc.AvailabilityZone, "us-east-1d") - assert.Equal(t, doc.Region, "us-east-1") + if err != nil { + t.Errorf("expect no error, got %v", err) + } + if e, a := doc.AccountID, "123456789012"; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := doc.AvailabilityZone, "us-east-1d"; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := doc.Region, "us-east-1"; e != a { + t.Errorf("expect %v, got %v", e, a) + } } diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go index ba0c07b25..f468de00d 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go @@ -55,6 +55,7 @@ const ( CloudformationServiceID = "cloudformation" // Cloudformation. CloudfrontServiceID = "cloudfront" // Cloudfront. CloudhsmServiceID = "cloudhsm" // Cloudhsm. + Cloudhsmv2ServiceID = "cloudhsmv2" // Cloudhsmv2. CloudsearchServiceID = "cloudsearch" // Cloudsearch. CloudtrailServiceID = "cloudtrail" // Cloudtrail. CodebuildServiceID = "codebuild" // Codebuild. @@ -91,6 +92,7 @@ const ( FirehoseServiceID = "firehose" // Firehose. GameliftServiceID = "gamelift" // Gamelift. GlacierServiceID = "glacier" // Glacier. + GlueServiceID = "glue" // Glue. GreengrassServiceID = "greengrass" // Greengrass. HealthServiceID = "health" // Health. IamServiceID = "iam" // Iam. @@ -106,6 +108,7 @@ const ( MachinelearningServiceID = "machinelearning" // Machinelearning. MarketplacecommerceanalyticsServiceID = "marketplacecommerceanalytics" // Marketplacecommerceanalytics. MeteringMarketplaceServiceID = "metering.marketplace" // MeteringMarketplace. + MghServiceID = "mgh" // Mgh. MobileanalyticsServiceID = "mobileanalytics" // Mobileanalytics. ModelsLexServiceID = "models.lex" // ModelsLex. MonitoringServiceID = "monitoring" // Monitoring. @@ -347,6 +350,7 @@ var awsPartition = partition{ Endpoints: endpoints{ "ap-northeast-1": endpoint{}, + "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, @@ -429,6 +433,15 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "cloudhsmv2": service{ + + Endpoints: endpoints{ + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "cloudsearch": service{ Endpoints: endpoints{ @@ -521,6 +534,8 @@ var awsPartition = partition{ Endpoints: endpoints{ "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, @@ -537,10 +552,15 @@ var awsPartition = partition{ "codestar": service{ Endpoints: endpoints{ - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-2": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "cognito-identity": service{ @@ -549,6 +569,7 @@ var awsPartition = partition{ "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, @@ -564,6 +585,7 @@ var awsPartition = partition{ "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, @@ -579,6 +601,7 @@ var awsPartition = partition{ "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, @@ -684,6 +707,7 @@ var awsPartition = partition{ "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, "us-west-2": endpoint{}, @@ -823,6 +847,7 @@ var awsPartition = partition{ Endpoints: endpoints{ "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -831,7 +856,7 @@ var awsPartition = partition{ }, "elasticloadbalancing": service{ Defaults: endpoint{ - Protocols: []string{"http", "https"}, + Protocols: []string{"https"}, }, Endpoints: endpoints{ "ap-northeast-1": endpoint{}, @@ -948,9 +973,12 @@ var awsPartition = partition{ "firehose": service{ Endpoints: endpoints{ - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-2": endpoint{}, + "ap-northeast-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, }, }, "gamelift": service{ @@ -960,10 +988,15 @@ var awsPartition = partition{ "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, "us-west-2": endpoint{}, }, }, @@ -975,6 +1008,7 @@ var awsPartition = partition{ "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, @@ -986,12 +1020,21 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "glue": service{ + + Endpoints: endpoints{ + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "greengrass": service{ IsRegionalized: boxedTrue, Defaults: endpoint{ Protocols: []string{"https"}, }, Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, "us-east-1": endpoint{}, @@ -1199,6 +1242,12 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "mgh": service{ + + Endpoints: endpoints{ + "us-west-2": endpoint{}, + }, + }, "mobileanalytics": service{ Endpoints: endpoints{ @@ -1461,6 +1510,7 @@ var awsPartition = partition{ Endpoints: endpoints{ "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, @@ -1489,7 +1539,6 @@ var awsPartition = partition{ "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, "us-east-1": endpoint{}, @@ -1500,11 +1549,13 @@ var awsPartition = partition{ "snowball": service{ Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, "ap-south-1": endpoint{}, "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, "us-west-1": endpoint{}, @@ -1582,6 +1633,7 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, "us-west-2": endpoint{}, @@ -1755,6 +1807,7 @@ var awsPartition = partition{ "ap-northeast-1": endpoint{}, "eu-west-1": endpoint{}, "us-east-1": endpoint{}, + "us-west-1": endpoint{}, "us-west-2": endpoint{}, }, }, @@ -1777,6 +1830,7 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, "us-east-1": endpoint{}, "us-west-2": endpoint{}, }, @@ -1829,6 +1883,18 @@ var awscnPartition = partition{ }, }, Services: services{ + "application-autoscaling": service{ + Defaults: endpoint{ + Hostname: "autoscaling.{region}.amazonaws.com", + Protocols: []string{"http", "https"}, + CredentialScope: credentialScope{ + Service: "application-autoscaling", + }, + }, + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, "autoscaling": service{ Defaults: endpoint{ Protocols: []string{"http", "https"}, @@ -1920,7 +1986,7 @@ var awscnPartition = partition{ }, "elasticloadbalancing": service{ Defaults: endpoint{ - Protocols: []string{"http", "https"}, + Protocols: []string{"https"}, }, Endpoints: endpoints{ "cn-north-1": endpoint{}, @@ -1961,6 +2027,16 @@ var awscnPartition = partition{ }, }, }, + "iot": service{ + Defaults: endpoint{ + CredentialScope: credentialScope{ + Service: "execute-api", + }, + }, + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, "kinesis": service{ Endpoints: endpoints{ @@ -2002,6 +2078,12 @@ var awscnPartition = partition{ "cn-north-1": endpoint{}, }, }, + "snowball": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, "sns": service{ Defaults: endpoint{ Protocols: []string{"http", "https"}, @@ -2089,6 +2171,18 @@ var awsusgovPartition = partition{ }, }, Services: services{ + "acm": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, + "apigateway": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, "autoscaling": service{ Endpoints: endpoints{ diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request.go index 299dc379d..911c058ee 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/request.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/request/request.go @@ -24,7 +24,7 @@ const ( // ErrCodeRead is an error that is returned during HTTP reads. ErrCodeRead = "ReadError" - // ErrCodeResponseTimeout is the connection timeout error that is recieved + // ErrCodeResponseTimeout is the connection timeout error that is received // during body reads. ErrCodeResponseTimeout = "ResponseTimeout" @@ -269,11 +269,17 @@ func (r *Request) Presign(expireTime time.Duration) (string, error) { return r.HTTPRequest.URL.String(), nil } -// PresignRequest behaves just like presign, but hoists all headers and signs them. -// Also returns the signed hash back to the user +// PresignRequest behaves just like presign, with the addition of returning a +// set of headers that were signed. +// +// Returns the URL string for the API operation with signature in the query string, +// and the HTTP headers that were included in the signature. These headers must +// be included in any HTTP request made with the presigned URL. +// +// To prevent hoisting any headers to the query string set NotHoist to true on +// this Request value prior to calling PresignRequest. func (r *Request) PresignRequest(expireTime time.Duration) (string, http.Header, error) { r.ExpireTime = expireTime - r.NotHoist = true r.Sign() if r.Error != nil { return "", nil, r.Error diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go b/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go index 2c05dbdc2..f35fef213 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go @@ -70,8 +70,8 @@ func isCodeExpiredCreds(code string) bool { } var validParentCodes = map[string]struct{}{ - ErrCodeSerialization: struct{}{}, - ErrCodeRead: struct{}{}, + ErrCodeSerialization: {}, + ErrCodeRead: {}, } type temporaryError interface { diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go b/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go index 7357e545a..f1adcf481 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go @@ -7,6 +7,9 @@ import ( "github.com/aws/aws-sdk-go/aws/credentials" ) +// EnvProviderName provides a name of the provider when config is loaded from environment. +const EnvProviderName = "EnvConfigCredentials" + // envConfig is a collection of environment values the SDK will read // setup config from. All environment values are optional. But some values // such as credentials require multiple values to be complete or the values @@ -76,7 +79,7 @@ type envConfig struct { SharedConfigFile string // Sets the path to a custom Credentials Authroity (CA) Bundle PEM file - // that the SDK will use instead of the the system's root CA bundle. + // that the SDK will use instead of the system's root CA bundle. // Only use this if you want to configure the SDK to use a custom set // of CAs. // @@ -157,7 +160,7 @@ func envConfigLoad(enableSharedConfig bool) envConfig { if len(cfg.Creds.AccessKeyID) == 0 || len(cfg.Creds.SecretAccessKey) == 0 { cfg.Creds = credentials.Value{} } else { - cfg.Creds.ProviderName = "EnvConfigCredentials" + cfg.Creds.ProviderName = EnvProviderName } regionKeys := regionEnvKeys diff --git a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/functional_test.go b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/functional_test.go index 9b6b0be24..c5341a935 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/functional_test.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/functional_test.go @@ -3,6 +3,8 @@ package v4_test import ( "net/http" "net/url" + "reflect" + "strings" "testing" "time" @@ -10,7 +12,6 @@ import ( "github.com/aws/aws-sdk-go/aws/signer/v4" "github.com/aws/aws-sdk-go/awstesting/unit" "github.com/aws/aws-sdk-go/service/s3" - "github.com/stretchr/testify/assert" ) var standaloneSignCases = []struct { @@ -40,24 +41,43 @@ func TestPresignHandler(t *testing.T) { req.Time = time.Unix(0, 0) urlstr, err := req.Presign(5 * time.Minute) - assert.NoError(t, err) + if err != nil { + t.Fatalf("expect no error, got %v", err) + } expectedHost := "bucket.s3.mock-region.amazonaws.com" expectedDate := "19700101T000000Z" expectedHeaders := "content-disposition;host;x-amz-acl" - expectedSig := "2d76a414208c0eac2a23ef9c834db9635ecd5a0fbb447a00ad191f82d854f55b" + expectedSig := "a46583256431b09eb45ba4af2e6286d96a9835ed13721023dc8076dfdcb90fcb" expectedCred := "AKID/19700101/mock-region/s3/aws4_request" u, _ := url.Parse(urlstr) urlQ := u.Query() - assert.Equal(t, expectedHost, u.Host) - assert.Equal(t, expectedSig, urlQ.Get("X-Amz-Signature")) - assert.Equal(t, expectedCred, urlQ.Get("X-Amz-Credential")) - assert.Equal(t, expectedHeaders, urlQ.Get("X-Amz-SignedHeaders")) - assert.Equal(t, expectedDate, urlQ.Get("X-Amz-Date")) - assert.Equal(t, "300", urlQ.Get("X-Amz-Expires")) + if e, a := expectedHost, u.Host; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := expectedSig, urlQ.Get("X-Amz-Signature"); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := expectedCred, urlQ.Get("X-Amz-Credential"); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := expectedHeaders, urlQ.Get("X-Amz-SignedHeaders"); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := expectedDate, urlQ.Get("X-Amz-Date"); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "300", urlQ.Get("X-Amz-Expires"); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "UNSIGNED-PAYLOAD", urlQ.Get("X-Amz-Content-Sha256"); e != a { + t.Errorf("expect %v, got %v", e, a) + } - assert.NotContains(t, urlstr, "+") // + encoded as %20 + if e, a := "+", urlstr; strings.Contains(a, e) { // + encoded as %20 + t.Errorf("expect %v not to be in %v", e, a) + } } func TestPresignRequest(t *testing.T) { @@ -71,30 +91,50 @@ func TestPresignRequest(t *testing.T) { req.Time = time.Unix(0, 0) urlstr, headers, err := req.PresignRequest(5 * time.Minute) - assert.NoError(t, err) + if err != nil { + t.Fatalf("expect no error, got %v", err) + } expectedHost := "bucket.s3.mock-region.amazonaws.com" expectedDate := "19700101T000000Z" - expectedHeaders := "content-disposition;host;x-amz-acl;x-amz-content-sha256" - expectedSig := "a5b2b500dfbf2eab5b4f55bec3e3752e04536ea1d5c047aa93bc9f1130a72cd2" + expectedHeaders := "content-disposition;host;x-amz-acl" + expectedSig := "a46583256431b09eb45ba4af2e6286d96a9835ed13721023dc8076dfdcb90fcb" expectedCred := "AKID/19700101/mock-region/s3/aws4_request" expectedHeaderMap := http.Header{ - "x-amz-acl": []string{"public-read"}, - "content-disposition": []string{"a+b c$d"}, - "x-amz-content-sha256": []string{"UNSIGNED-PAYLOAD"}, + "x-amz-acl": []string{"public-read"}, + "content-disposition": []string{"a+b c$d"}, } u, _ := url.Parse(urlstr) urlQ := u.Query() - assert.Equal(t, expectedHost, u.Host) - assert.Equal(t, expectedSig, urlQ.Get("X-Amz-Signature")) - assert.Equal(t, expectedCred, urlQ.Get("X-Amz-Credential")) - assert.Equal(t, expectedHeaders, urlQ.Get("X-Amz-SignedHeaders")) - assert.Equal(t, expectedDate, urlQ.Get("X-Amz-Date")) - assert.Equal(t, expectedHeaderMap, headers) - assert.Equal(t, "300", urlQ.Get("X-Amz-Expires")) + if e, a := expectedHost, u.Host; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := expectedSig, urlQ.Get("X-Amz-Signature"); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := expectedCred, urlQ.Get("X-Amz-Credential"); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := expectedHeaders, urlQ.Get("X-Amz-SignedHeaders"); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := expectedDate, urlQ.Get("X-Amz-Date"); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := expectedHeaderMap, headers; !reflect.DeepEqual(e, a) { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "300", urlQ.Get("X-Amz-Expires"); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "UNSIGNED-PAYLOAD", urlQ.Get("X-Amz-Content-Sha256"); e != a { + t.Errorf("expect %v, got %v", e, a) + } - assert.NotContains(t, urlstr, "+") // + encoded as %20 + if e, a := "+", urlstr; strings.Contains(a, e) { // + encoded as %20 + t.Errorf("expect %v not to be in %v", e, a) + } } func TestStandaloneSign_CustomURIEscape(t *testing.T) { @@ -107,14 +147,20 @@ func TestStandaloneSign_CustomURIEscape(t *testing.T) { host := "https://subdomain.us-east-1.es.amazonaws.com" req, err := http.NewRequest("GET", host, nil) - assert.NoError(t, err) + if err != nil { + t.Fatalf("expect no error, got %v", err) + } req.URL.Path = `/log-*/_search` req.URL.Opaque = "//subdomain.us-east-1.es.amazonaws.com/log-%2A/_search" _, err = signer.Sign(req, nil, "es", "us-east-1", time.Unix(0, 0)) - assert.NoError(t, err) + if err != nil { + t.Fatalf("expect no error, got %v", err) + } actual := req.Header.Get("Authorization") - assert.Equal(t, expectSig, actual) + if e, a := expectSig, actual; e != a { + t.Errorf("expect %v, got %v", e, a) + } } diff --git a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go index a2bfc47e7..15da57249 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go @@ -55,7 +55,6 @@ package v4 import ( - "bytes" "crypto/hmac" "crypto/sha256" "encoding/hex" @@ -503,6 +502,8 @@ func (ctx *signingCtx) build(disableHeaderHoisting bool) { ctx.buildTime() // no depends ctx.buildCredentialString() // no depends + ctx.buildBodyDigest() + unsignedHeaders := ctx.Request.Header if ctx.isPresign { if !disableHeaderHoisting { @@ -514,7 +515,6 @@ func (ctx *signingCtx) build(disableHeaderHoisting bool) { } } - ctx.buildBodyDigest() ctx.buildCanonicalHeaders(ignoredHeaders, unsignedHeaders) ctx.buildCanonicalString() // depends on canon headers / signed headers ctx.buildStringToSign() // depends on canon string @@ -717,47 +717,46 @@ func makeSha256Reader(reader io.ReadSeeker) []byte { return hash.Sum(nil) } -const doubleSpaces = " " - -var doubleSpaceBytes = []byte(doubleSpaces) +const doubleSpace = " " // stripExcessSpaces will rewrite the passed in slice's string values to not // contain muliple side-by-side spaces. func stripExcessSpaces(vals []string) { + var j, k, l, m, spaces int for i, str := range vals { - // Trim leading and trailing spaces - trimmed := strings.TrimSpace(str) + // Trim trailing spaces + for j = len(str) - 1; j >= 0 && str[j] == ' '; j-- { + } - idx := strings.Index(trimmed, doubleSpaces) - if idx < 0 { - vals[i] = trimmed + // Trim leading spaces + for k = 0; k < j && str[k] == ' '; k++ { + } + str = str[k : j+1] + + // Strip multiple spaces. + j = strings.Index(str, doubleSpace) + if j < 0 { + vals[i] = str continue } - buf := []byte(trimmed) - for idx > -1 { - idx++ // Start on the second space - - stripped := false - for j := idx; j < len(buf); j++ { - if buf[j] != ' ' { - buf = append(buf[:idx], buf[j:]...) - stripped = true - break + buf := []byte(str) + for k, m, l = j, j, len(buf); k < l; k++ { + if buf[k] == ' ' { + if spaces == 0 { + // First space. + buf[m] = buf[k] + m++ } - } - if !stripped { - break - } - - // Find next double space - origIdx := idx - idx = bytes.Index(buf[idx:], doubleSpaceBytes) - if idx > 0 { - idx += origIdx + spaces++ + } else { + // End of multiple spaces. + spaces = 0 + buf[m] = buf[k] + m++ } } - vals[i] = string(buf) + vals[i] = string(buf[:m]) } } diff --git a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4_test.go b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4_test.go index 7cb7078f5..45d0eb886 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4_test.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4_test.go @@ -6,12 +6,11 @@ import ( "io/ioutil" "net/http" "net/http/httptest" + "reflect" "strings" "testing" "time" - "github.com/stretchr/testify/assert" - "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/credentials" "github.com/aws/aws-sdk-go/aws/request" @@ -20,8 +19,10 @@ import ( func TestStripExcessHeaders(t *testing.T) { vals := []string{ + "", "123", "1 2 3", + "1 2 3 ", " 1 2 3", "1 2 3", "1 23", @@ -35,10 +36,12 @@ func TestStripExcessHeaders(t *testing.T) { } expected := []string{ + "", "123", "1 2 3", "1 2 3", "1 2 3", + "1 2 3", "1 23", "1 2 3", "1 2", @@ -51,7 +54,9 @@ func TestStripExcessHeaders(t *testing.T) { stripExcessSpaces(vals) for i := 0; i < len(vals); i++ { - assert.Equal(t, expected[i], vals[i], "test: %d", i) + if e, a := expected[i], vals[i]; e != a { + t.Errorf("%d, expect %v, got %v", i, e, a) + } } } @@ -101,12 +106,24 @@ func TestPresignRequest(t *testing.T) { expectedTarget := "prefix.Operation" q := req.URL.Query() - assert.Equal(t, expectedSig, q.Get("X-Amz-Signature")) - assert.Equal(t, expectedCred, q.Get("X-Amz-Credential")) - assert.Equal(t, expectedHeaders, q.Get("X-Amz-SignedHeaders")) - assert.Equal(t, expectedDate, q.Get("X-Amz-Date")) - assert.Empty(t, q.Get("X-Amz-Meta-Other-Header")) - assert.Equal(t, expectedTarget, q.Get("X-Amz-Target")) + if e, a := expectedSig, q.Get("X-Amz-Signature"); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := expectedCred, q.Get("X-Amz-Credential"); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := expectedHeaders, q.Get("X-Amz-SignedHeaders"); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := expectedDate, q.Get("X-Amz-Date"); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if a := q.Get("X-Amz-Meta-Other-Header"); len(a) != 0 { + t.Errorf("expect %v to be empty", a) + } + if e, a := expectedTarget, q.Get("X-Amz-Target"); e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestPresignBodyWithArrayRequest(t *testing.T) { @@ -123,12 +140,24 @@ func TestPresignBodyWithArrayRequest(t *testing.T) { expectedTarget := "prefix.Operation" q := req.URL.Query() - assert.Equal(t, expectedSig, q.Get("X-Amz-Signature")) - assert.Equal(t, expectedCred, q.Get("X-Amz-Credential")) - assert.Equal(t, expectedHeaders, q.Get("X-Amz-SignedHeaders")) - assert.Equal(t, expectedDate, q.Get("X-Amz-Date")) - assert.Empty(t, q.Get("X-Amz-Meta-Other-Header")) - assert.Equal(t, expectedTarget, q.Get("X-Amz-Target")) + if e, a := expectedSig, q.Get("X-Amz-Signature"); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := expectedCred, q.Get("X-Amz-Credential"); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := expectedHeaders, q.Get("X-Amz-SignedHeaders"); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := expectedDate, q.Get("X-Amz-Date"); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if a := q.Get("X-Amz-Meta-Other-Header"); len(a) != 0 { + t.Errorf("expect %v to be empty, was not", a) + } + if e, a := expectedTarget, q.Get("X-Amz-Target"); e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestSignRequest(t *testing.T) { @@ -140,8 +169,12 @@ func TestSignRequest(t *testing.T) { expectedSig := "AWS4-HMAC-SHA256 Credential=AKID/19700101/us-east-1/dynamodb/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date;x-amz-meta-other-header;x-amz-meta-other-header_with_underscore;x-amz-security-token;x-amz-target, Signature=ea766cabd2ec977d955a3c2bae1ae54f4515d70752f2207618396f20aa85bd21" q := req.Header - assert.Equal(t, expectedSig, q.Get("Authorization")) - assert.Equal(t, expectedDate, q.Get("X-Amz-Date")) + if e, a := expectedSig, q.Get("Authorization"); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := expectedDate, q.Get("X-Amz-Date"); e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestSignBodyS3(t *testing.T) { @@ -149,7 +182,9 @@ func TestSignBodyS3(t *testing.T) { signer := buildSigner() signer.Sign(req, body, "s3", "us-east-1", time.Now()) hash := req.Header.Get("X-Amz-Content-Sha256") - assert.Equal(t, "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824", hash) + if e, a := "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824", hash; e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestSignBodyGlacier(t *testing.T) { @@ -157,7 +192,9 @@ func TestSignBodyGlacier(t *testing.T) { signer := buildSigner() signer.Sign(req, body, "glacier", "us-east-1", time.Now()) hash := req.Header.Get("X-Amz-Content-Sha256") - assert.Equal(t, "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824", hash) + if e, a := "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824", hash; e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestPresignEmptyBodyS3(t *testing.T) { @@ -165,7 +202,9 @@ func TestPresignEmptyBodyS3(t *testing.T) { signer := buildSigner() signer.Presign(req, body, "s3", "us-east-1", 5*time.Minute, time.Now()) hash := req.Header.Get("X-Amz-Content-Sha256") - assert.Equal(t, "UNSIGNED-PAYLOAD", hash) + if e, a := "UNSIGNED-PAYLOAD", hash; e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestSignPrecomputedBodyChecksum(t *testing.T) { @@ -174,7 +213,9 @@ func TestSignPrecomputedBodyChecksum(t *testing.T) { signer := buildSigner() signer.Sign(req, body, "dynamodb", "us-east-1", time.Now()) hash := req.Header.Get("X-Amz-Content-Sha256") - assert.Equal(t, "PRECOMPUTED", hash) + if e, a := "PRECOMPUTED", hash; e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestAnonymousCredentials(t *testing.T) { @@ -191,14 +232,26 @@ func TestAnonymousCredentials(t *testing.T) { SignSDKRequest(r) urlQ := r.HTTPRequest.URL.Query() - assert.Empty(t, urlQ.Get("X-Amz-Signature")) - assert.Empty(t, urlQ.Get("X-Amz-Credential")) - assert.Empty(t, urlQ.Get("X-Amz-SignedHeaders")) - assert.Empty(t, urlQ.Get("X-Amz-Date")) + if a := urlQ.Get("X-Amz-Signature"); len(a) != 0 { + t.Errorf("expect %v to be empty, was not", a) + } + if a := urlQ.Get("X-Amz-Credential"); len(a) != 0 { + t.Errorf("expect %v to be empty, was not", a) + } + if a := urlQ.Get("X-Amz-SignedHeaders"); len(a) != 0 { + t.Errorf("expect %v to be empty, was not", a) + } + if a := urlQ.Get("X-Amz-Date"); len(a) != 0 { + t.Errorf("expect %v to be empty, was not", a) + } hQ := r.HTTPRequest.Header - assert.Empty(t, hQ.Get("Authorization")) - assert.Empty(t, hQ.Get("X-Amz-Date")) + if a := hQ.Get("Authorization"); len(a) != 0 { + t.Errorf("expect %v to be empty, was not", a) + } + if a := hQ.Get("X-Amz-Date"); len(a) != 0 { + t.Errorf("expect %v to be empty, was not", a) + } } func TestIgnoreResignRequestWithValidCreds(t *testing.T) { @@ -224,7 +277,9 @@ func TestIgnoreResignRequestWithValidCreds(t *testing.T) { // when it is resigned. return time.Now().Add(1 * time.Second) }) - assert.NotEqual(t, sig, r.HTTPRequest.Header.Get("Authorization")) + if e, a := sig, r.HTTPRequest.Header.Get("Authorization"); e == a { + t.Errorf("expect %v to be %v, but was not", e, a) + } } func TestIgnorePreResignRequestWithValidCreds(t *testing.T) { @@ -251,7 +306,9 @@ func TestIgnorePreResignRequestWithValidCreds(t *testing.T) { // when it is resigned. return time.Now().Add(1 * time.Second) }) - assert.NotEqual(t, sig, r.HTTPRequest.URL.Query().Get("X-Amz-Signature")) + if e, a := sig, r.HTTPRequest.URL.Query().Get("X-Amz-Signature"); e == a { + t.Errorf("expect %v to be %v, but was not", e, a) + } } func TestResignRequestExpiredCreds(t *testing.T) { @@ -275,8 +332,12 @@ func TestResignRequestExpiredCreds(t *testing.T) { break } } - assert.NotEmpty(t, origSignedHeaders) - assert.NotContains(t, origSignedHeaders, "authorization") + if a := origSignedHeaders; len(a) == 0 { + t.Errorf("expect not to be empty, but was") + } + if e, a := origSignedHeaders, "authorization"; strings.Contains(a, e) { + t.Errorf("expect %v to not be in %v, but was", e, a) + } origSignedAt := r.LastSignedAt creds.Expire() @@ -287,7 +348,9 @@ func TestResignRequestExpiredCreds(t *testing.T) { return time.Now().Add(1 * time.Second) }) updatedQuerySig := r.HTTPRequest.Header.Get("Authorization") - assert.NotEqual(t, querySig, updatedQuerySig) + if e, a := querySig, updatedQuerySig; e == a { + t.Errorf("expect %v to be %v, was not", e, a) + } var updatedSignedHeaders string for _, p := range strings.Split(updatedQuerySig, ", ") { @@ -296,9 +359,15 @@ func TestResignRequestExpiredCreds(t *testing.T) { break } } - assert.NotEmpty(t, updatedSignedHeaders) - assert.NotContains(t, updatedQuerySig, "authorization") - assert.NotEqual(t, origSignedAt, r.LastSignedAt) + if a := updatedSignedHeaders; len(a) == 0 { + t.Errorf("expect not to be empty, but was") + } + if e, a := updatedQuerySig, "authorization"; strings.Contains(a, e) { + t.Errorf("expect %v to not be in %v, but was", e, a) + } + if e, a := origSignedAt, r.LastSignedAt; e == a { + t.Errorf("expect %v to be %v, was not", e, a) + } } func TestPreResignRequestExpiredCreds(t *testing.T) { @@ -323,7 +392,9 @@ func TestPreResignRequestExpiredCreds(t *testing.T) { SignSDKRequest(r) querySig := r.HTTPRequest.URL.Query().Get("X-Amz-Signature") signedHeaders := r.HTTPRequest.URL.Query().Get("X-Amz-SignedHeaders") - assert.NotEmpty(t, signedHeaders) + if a := signedHeaders; len(a) == 0 { + t.Errorf("expect not to be empty, but was") + } origSignedAt := r.LastSignedAt creds.Expire() @@ -332,11 +403,19 @@ func TestPreResignRequestExpiredCreds(t *testing.T) { // Simulate the request occurred 15 minutes in the past return time.Now().Add(-48 * time.Hour) }) - assert.NotEqual(t, querySig, r.HTTPRequest.URL.Query().Get("X-Amz-Signature")) + if e, a := querySig, r.HTTPRequest.URL.Query().Get("X-Amz-Signature"); e == a { + t.Errorf("expect %v to be %v, was not", e, a) + } resignedHeaders := r.HTTPRequest.URL.Query().Get("X-Amz-SignedHeaders") - assert.Equal(t, signedHeaders, resignedHeaders) - assert.NotContains(t, signedHeaders, "x-amz-signedHeaders") - assert.NotEqual(t, origSignedAt, r.LastSignedAt) + if e, a := signedHeaders, resignedHeaders; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := signedHeaders, "x-amz-signedHeaders"; strings.Contains(a, e) { + t.Errorf("expect %v to not be in %v, but was", e, a) + } + if e, a := origSignedAt, r.LastSignedAt; e == a { + t.Errorf("expect %v to be %v, was not", e, a) + } } func TestResignRequestExpiredRequest(t *testing.T) { @@ -360,8 +439,12 @@ func TestResignRequestExpiredRequest(t *testing.T) { // Simulate the request occurred 15 minutes in the past return time.Now().Add(15 * time.Minute) }) - assert.NotEqual(t, querySig, r.HTTPRequest.Header.Get("Authorization")) - assert.NotEqual(t, origSignedAt, r.LastSignedAt) + if e, a := querySig, r.HTTPRequest.Header.Get("Authorization"); e == a { + t.Errorf("expect %v to be %v, was not", e, a) + } + if e, a := origSignedAt, r.LastSignedAt; e == a { + t.Errorf("expect %v to be %v, was not", e, a) + } } func TestSignWithRequestBody(t *testing.T) { @@ -373,19 +456,29 @@ func TestSignWithRequestBody(t *testing.T) { server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { b, err := ioutil.ReadAll(r.Body) r.Body.Close() - assert.NoError(t, err) - assert.Equal(t, expectBody, b) + if err != nil { + t.Errorf("expect no error, got %v", err) + } + if e, a := expectBody, b; !reflect.DeepEqual(e, a) { + t.Errorf("expect %v, got %v", e, a) + } w.WriteHeader(http.StatusOK) })) req, err := http.NewRequest("POST", server.URL, nil) _, err = signer.Sign(req, bytes.NewReader(expectBody), "service", "region", time.Now()) - assert.NoError(t, err) + if err != nil { + t.Errorf("expect not no error, got %v", err) + } resp, err := http.DefaultClient.Do(req) - assert.NoError(t, err) - assert.Equal(t, http.StatusOK, resp.StatusCode) + if err != nil { + t.Errorf("expect not no error, got %v", err) + } + if e, a := http.StatusOK, resp.StatusCode; e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestSignWithRequestBody_Overwrite(t *testing.T) { @@ -397,8 +490,12 @@ func TestSignWithRequestBody_Overwrite(t *testing.T) { server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { b, err := ioutil.ReadAll(r.Body) r.Body.Close() - assert.NoError(t, err) - assert.Equal(t, len(expectBody), len(b)) + if err != nil { + t.Errorf("expect not no error, got %v", err) + } + if e, a := len(expectBody), len(b); e != a { + t.Errorf("expect %v, got %v", e, a) + } w.WriteHeader(http.StatusOK) })) @@ -407,11 +504,17 @@ func TestSignWithRequestBody_Overwrite(t *testing.T) { _, err = signer.Sign(req, nil, "service", "region", time.Now()) req.ContentLength = 0 - assert.NoError(t, err) + if err != nil { + t.Errorf("expect not no error, got %v", err) + } resp, err := http.DefaultClient.Do(req) - assert.NoError(t, err) - assert.Equal(t, http.StatusOK, resp.StatusCode) + if err != nil { + t.Errorf("expect not no error, got %v", err) + } + if e, a := http.StatusOK, resp.StatusCode; e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestBuildCanonicalRequest(t *testing.T) { @@ -429,7 +532,9 @@ func TestBuildCanonicalRequest(t *testing.T) { ctx.buildCanonicalString() expected := "https://example.org/bucket/key-._~,!@#$%^&*()?Foo=z&Foo=o&Foo=m&Foo=a" - assert.Equal(t, expected, ctx.Request.URL.String()) + if e, a := expected, ctx.Request.URL.String(); e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestSignWithBody_ReplaceRequestBody(t *testing.T) { diff --git a/vendor/github.com/aws/aws-sdk-go/aws/version.go b/vendor/github.com/aws/aws-sdk-go/aws/version.go index 6abe02e04..9bee46066 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/version.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.10.14" +const SDKVersion = "1.12.2" diff --git a/vendor/github.com/aws/aws-sdk-go/awstesting/assert.go b/vendor/github.com/aws/aws-sdk-go/awstesting/assert.go index 5d095d202..510066fc5 100644 --- a/vendor/github.com/aws/aws-sdk-go/awstesting/assert.go +++ b/vendor/github.com/aws/aws-sdk-go/awstesting/assert.go @@ -125,6 +125,22 @@ func AssertXML(t *testing.T, expect, actual string, container interface{}, msgAn return equal(t, expectVal, actualVal, msgAndArgs...) } +// DidPanic returns if the function paniced and returns true if the function paniced. +func DidPanic(fn func()) (bool, interface{}) { + var paniced bool + var msg interface{} + func() { + defer func() { + if msg = recover(); msg != nil { + paniced = true + } + }() + fn() + }() + + return paniced, msg +} + // objectsAreEqual determines if two objects are considered equal. // // This function does no assertion of any kind. diff --git a/vendor/github.com/aws/aws-sdk-go/awstesting/integration/customizations/s3/integration_test.go b/vendor/github.com/aws/aws-sdk-go/awstesting/integration/customizations/s3/integration_test.go index 93d5ff60f..04b90c4ba 100644 --- a/vendor/github.com/aws/aws-sdk-go/awstesting/integration/customizations/s3/integration_test.go +++ b/vendor/github.com/aws/aws-sdk-go/awstesting/integration/customizations/s3/integration_test.go @@ -9,11 +9,10 @@ import ( "io/ioutil" "net/http" "os" + "reflect" "testing" "time" - "github.com/stretchr/testify/assert" - "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/awstesting/integration" "github.com/aws/aws-sdk-go/service/s3" @@ -67,16 +66,22 @@ func TestWriteToObject(t *testing.T) { Key: aws.String("key name"), Body: bytes.NewReader([]byte("hello world")), }) - assert.NoError(t, err) + if err != nil { + t.Errorf("expect no error, got %v", err) + } resp, err := svc.GetObject(&s3.GetObjectInput{ Bucket: bucketName, Key: aws.String("key name"), }) - assert.NoError(t, err) + if err != nil { + t.Errorf("expect no error, got %v", err) + } b, _ := ioutil.ReadAll(resp.Body) - assert.Equal(t, []byte("hello world"), b) + if e, a := []byte("hello world"), b; !reflect.DeepEqual(e, a) { + t.Errorf("expect %v, got %v", e, a) + } } func TestPresignedGetPut(t *testing.T) { @@ -89,18 +94,26 @@ func TestPresignedGetPut(t *testing.T) { // Presign a PUT request var puturl string puturl, err = putreq.Presign(300 * time.Second) - assert.NoError(t, err) + if err != nil { + t.Errorf("expect no error, got %v", err) + } // PUT to the presigned URL with a body var puthttpreq *http.Request buf := bytes.NewReader([]byte("hello world")) puthttpreq, err = http.NewRequest("PUT", puturl, buf) - assert.NoError(t, err) + if err != nil { + t.Errorf("expect no error, got %v", err) + } var putresp *http.Response putresp, err = http.DefaultClient.Do(puthttpreq) - assert.NoError(t, err) - assert.Equal(t, 200, putresp.StatusCode) + if err != nil { + t.Errorf("expect no error, got %v", err) + } + if e, a := 200, putresp.StatusCode; e != a { + t.Errorf("expect %v, got %v", e, a) + } // Presign a GET on the same URL getreq, _ := svc.GetObjectRequest(&s3.GetObjectInput{ @@ -110,15 +123,21 @@ func TestPresignedGetPut(t *testing.T) { var geturl string geturl, err = getreq.Presign(300 * time.Second) - assert.NoError(t, err) + if err != nil { + t.Errorf("expect no error, got %v", err) + } // Get the body var getresp *http.Response getresp, err = http.Get(geturl) - assert.NoError(t, err) + if err != nil { + t.Errorf("expect no error, got %v", err) + } var b []byte defer getresp.Body.Close() b, err = ioutil.ReadAll(getresp.Body) - assert.Equal(t, "hello world", string(b)) + if e, a := "hello world", string(b); e != a { + t.Errorf("expect %v, got %v", e, a) + } } diff --git a/vendor/github.com/aws/aws-sdk-go/awstesting/integration/customizations/s3/s3crypto/stepdef.go b/vendor/github.com/aws/aws-sdk-go/awstesting/integration/customizations/s3/s3crypto/stepdef.go index 7d58e1939..5587b0fa0 100644 --- a/vendor/github.com/aws/aws-sdk-go/awstesting/integration/customizations/s3/s3crypto/stepdef.go +++ b/vendor/github.com/aws/aws-sdk-go/awstesting/integration/customizations/s3/s3crypto/stepdef.go @@ -11,7 +11,6 @@ import ( "strings" "github.com/gucumber/gucumber" - "github.com/stretchr/testify/assert" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/session" @@ -31,7 +30,9 @@ func init() { Bucket: aws.String(bucket), Prefix: aws.String(baseFolder + "/" + prefix), }) - assert.NoError(gucumber.T, err) + if err != nil { + gucumber.T.Errorf("expect no error, got %v", err) + } plaintexts := make(map[string][]byte) for _, obj := range out.Contents { @@ -40,10 +41,14 @@ func init() { Bucket: aws.String(bucket), Key: plaintextKey, }) - assert.NoError(gucumber.T, err) + if err != nil { + gucumber.T.Errorf("expect no error, got %v", err) + } caseKey := strings.TrimPrefix(*plaintextKey, baseFolder+"/"+prefix) plaintext, err := ioutil.ReadAll(ptObj.Body) - assert.NoError(gucumber.T, err) + if err != nil { + gucumber.T.Errorf("expect no error, got %v", err) + } plaintexts[caseKey] = plaintext } @@ -84,10 +89,14 @@ func init() { Key: &cipherKey, }, ) - assert.NoError(gucumber.T, err) + if err != nil { + gucumber.T.Errorf("expect no error, got %v", err) + } ciphertext, err := ioutil.ReadAll(ctObj.Body) - assert.NoError(gucumber.T, err) + if err != nil { + gucumber.T.Errorf("expect no error, got %v", err) + } ciphertexts[caseKey] = ciphertext } gucumber.World["decrypted"] = ciphertexts @@ -97,8 +106,12 @@ func init() { plaintexts := gucumber.World["plaintexts"].(map[string][]byte) ciphertexts := gucumber.World["decrypted"].(map[string][]byte) for caseKey, ciphertext := range ciphertexts { - assert.Equal(gucumber.T, len(plaintexts[caseKey]), len(ciphertext)) - assert.True(gucumber.T, bytes.Equal(plaintexts[caseKey], ciphertext)) + if e, a := len(plaintexts[caseKey]), len(ciphertext); e != a { + gucumber.T.Errorf("expect %v, got %v", e, a) + } + if e, a := plaintexts[caseKey], ciphertext; !bytes.Equal(e, a) { + gucumber.T.Errorf("expect %v, got %v", e, a) + } } }) @@ -108,16 +121,22 @@ func init() { switch kek { case "kms": arn, err := getAliasInformation(v1, v2) - assert.Nil(gucumber.T, err) + if err != nil { + gucumber.T.Errorf("expect nil, got %v", nil) + } b64Arn := base64.StdEncoding.EncodeToString([]byte(arn)) - assert.Nil(gucumber.T, err) + if err != nil { + gucumber.T.Errorf("expect nil, got %v", nil) + } gucumber.World["Masterkey"] = b64Arn handler = s3crypto.NewKMSKeyGenerator(kms.New(session.New(&aws.Config{ Region: &v2, })), arn) - assert.Nil(gucumber.T, err) + if err != nil { + gucumber.T.Errorf("expect nil, got %v", nil) + } default: gucumber.T.Skip() } @@ -157,7 +176,9 @@ func init() { } _, err := c.PutObject(input) - assert.Nil(gucumber.T, err) + if err != nil { + gucumber.T.Errorf("expect nil, got %v", nil) + } } }) } diff --git a/vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/shared.go b/vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/shared.go index dbb1338f9..a795ab30d 100644 --- a/vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/shared.go +++ b/vendor/github.com/aws/aws-sdk-go/awstesting/integration/smoke/shared.go @@ -5,7 +5,6 @@ package smoke import ( "encoding/json" - "fmt" "os" "reflect" "regexp" @@ -13,7 +12,6 @@ import ( "strings" "github.com/gucumber/gucumber" - "github.com/stretchr/testify/assert" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awserr" @@ -47,12 +45,16 @@ func init() { gucumber.Then(`^the value at "(.+?)" should be a list$`, func(member string) { vals, _ := awsutil.ValuesAtPath(gucumber.World["response"], member) - assert.NotNil(gucumber.T, vals) + if vals == nil { + gucumber.T.Errorf("expect not nil, was") + } }) gucumber.Then(`^the response should contain a "(.+?)"$`, func(member string) { vals, _ := awsutil.ValuesAtPath(gucumber.World["response"], member) - assert.NotEmpty(gucumber.T, vals) + if len(vals) == 0 { + gucumber.T.Errorf("expect values, got none") + } }) gucumber.When(`^I attempt to call the "(.+?)" API with:$`, func(op string, args [][]string) { @@ -61,23 +63,33 @@ func init() { gucumber.Then(`^I expect the response error code to be "(.+?)"$`, func(code string) { err, ok := gucumber.World["error"].(awserr.Error) - assert.True(gucumber.T, ok, "no error returned") + if !ok { + gucumber.T.Errorf("no error returned") + } if ok { - assert.Equal(gucumber.T, code, err.Code(), "Error: %v", err) + if e, a := code, err.Code(); e != a { + gucumber.T.Errorf("Error: %v", err) + } } }) gucumber.And(`^I expect the response error message to include:$`, func(data string) { err, ok := gucumber.World["error"].(awserr.Error) - assert.True(gucumber.T, ok, "no error returned") + if !ok { + gucumber.T.Errorf("no error returned") + } if ok { - assert.Contains(gucumber.T, err.Error(), data) + if e, a := data, err.Error(); !strings.Contains(a, e) { + gucumber.T.Errorf("expect %v to be in %v, was not", e, a) + } } }) gucumber.And(`^I expect the response error message to include one of:$`, func(table [][]string) { err, ok := gucumber.World["error"].(awserr.Error) - assert.True(gucumber.T, ok, "no error returned") + if !ok { + gucumber.T.Errorf("no error returned") + } if ok { found := false for _, row := range table { @@ -87,14 +99,20 @@ func init() { } } - assert.True(gucumber.T, found, fmt.Sprintf("no error messages matched: \"%s\"", err.Error())) + if !found { + gucumber.T.Errorf("no error messages matched: \"%s\"", err.Error()) + } } }) gucumber.And(`^I expect the response error message not be empty$`, func() { err, ok := gucumber.World["error"].(awserr.Error) - assert.True(gucumber.T, ok, "no error returned") - assert.NotEmpty(gucumber.T, err.Message()) + if !ok { + gucumber.T.Errorf("no error returned") + } + if len(err.Message()) == 0 { + gucumber.T.Errorf("expect values, got none") + } }) gucumber.When(`^I call the "(.+?)" API with JSON:$`, func(s1 string, data string) { @@ -107,26 +125,42 @@ func init() { gucumber.Then(`^the error code should be "(.+?)"$`, func(s1 string) { err, ok := gucumber.World["error"].(awserr.Error) - assert.True(gucumber.T, ok, "no error returned") - assert.Equal(gucumber.T, s1, err.Code()) + if !ok { + gucumber.T.Errorf("no error returned") + } + if e, a := s1, err.Code(); e != a { + gucumber.T.Errorf("expect %v, got %v", e, a) + } }) gucumber.And(`^the error message should contain:$`, func(data string) { err, ok := gucumber.World["error"].(awserr.Error) - assert.True(gucumber.T, ok, "no error returned") - assert.Contains(gucumber.T, err.Error(), data) + if !ok { + gucumber.T.Errorf("no error returned") + } + if e, a := data, err.Error(); !strings.Contains(a, e) { + gucumber.T.Errorf("expect %v to be in %v, was not", e, a) + } }) gucumber.Then(`^the request should fail$`, func() { err, ok := gucumber.World["error"].(awserr.Error) - assert.True(gucumber.T, ok, "no error returned") - assert.Error(gucumber.T, err) + if !ok { + gucumber.T.Errorf("no error returned") + } + if err == nil { + gucumber.T.Errorf("expect error, got none") + } }) gucumber.Then(`^the request should be successful$`, func() { err, ok := gucumber.World["error"].(awserr.Error) - assert.False(gucumber.T, ok, "error returned") - assert.NoError(gucumber.T, err) + if ok { + gucumber.T.Errorf("error returned") + } + if err != nil { + gucumber.T.Errorf("expect no error, got %v", err) + } }) } @@ -160,10 +194,12 @@ func call(op string, args [][]string, allowError bool) { if !allowError { err, _ := gucumber.World["error"].(error) - assert.NoError(gucumber.T, err) + if err != nil { + gucumber.T.Errorf("expect no error, got %v", err) + } } } else { - assert.Fail(gucumber.T, "failed to find operation "+op) + gucumber.T.Errorf("failed to find operation " + op) } } @@ -215,10 +251,12 @@ func callWithJSON(op, j string, allowError bool) { if !allowError { err, _ := gucumber.World["error"].(error) - assert.NoError(gucumber.T, err) + if err != nil { + gucumber.T.Errorf("expect no error, got %v", err) + } } } else { - assert.Fail(gucumber.T, "failed to find operation "+op) + gucumber.T.Errorf("failed to find operation " + op) } } diff --git a/vendor/github.com/aws/aws-sdk-go/awstesting/performance/init.go b/vendor/github.com/aws/aws-sdk-go/awstesting/performance/init.go index 81596d1c8..50e2cf0d1 100644 --- a/vendor/github.com/aws/aws-sdk-go/awstesting/performance/init.go +++ b/vendor/github.com/aws/aws-sdk-go/awstesting/performance/init.go @@ -9,7 +9,6 @@ import ( "runtime" "github.com/gucumber/gucumber" - "github.com/stretchr/testify/assert" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awserr" @@ -32,8 +31,12 @@ func init() { gucumber.Then(`^I should not have leaked any resources$`, func() { runtime.GC() err, ok := gucumber.World["error"].(awserr.Error) - assert.False(gucumber.T, ok, "error returned") - assert.NoError(gucumber.T, err) + if ok { + gucumber.T.Errorf("error returned") + } + if err != nil { + gucumber.T.Errorf("expect no error, got %v", err) + } }) gucumber.And(`^I have a list of services$`, func() { diff --git a/vendor/github.com/aws/aws-sdk-go/awstesting/sandbox/Dockerfile.test.go1.9 b/vendor/github.com/aws/aws-sdk-go/awstesting/sandbox/Dockerfile.test.go1.9 new file mode 100644 index 000000000..24c9508f2 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/awstesting/sandbox/Dockerfile.test.go1.9 @@ -0,0 +1,11 @@ +FROM ubuntu:12.04 +FROM golang:1.9 + +ADD . /go/src/github.com/aws/aws-sdk-go + +RUN apt-get update && apt-get install -y --no-install-recommends \ + vim \ + && rm -rf /var/list/apt/lists/* + +WORKDIR /go/src/github.com/aws/aws-sdk-go +CMD ["make", "unit"] diff --git a/vendor/github.com/aws/aws-sdk-go/awstesting/util_test.go b/vendor/github.com/aws/aws-sdk-go/awstesting/util_test.go index 4b03db019..6700eb0d3 100644 --- a/vendor/github.com/aws/aws-sdk-go/awstesting/util_test.go +++ b/vendor/github.com/aws/aws-sdk-go/awstesting/util_test.go @@ -4,8 +4,6 @@ import ( "io" "testing" - "github.com/stretchr/testify/assert" - "github.com/aws/aws-sdk-go/awstesting" ) @@ -13,9 +11,15 @@ func TestReadCloserClose(t *testing.T) { rc := awstesting.ReadCloser{Size: 1} err := rc.Close() - assert.Nil(t, err) - assert.True(t, rc.Closed) - assert.Equal(t, rc.Size, 1) + if err != nil { + t.Errorf("expect nil, got %v", err) + } + if !rc.Closed { + t.Errorf("expect closed, was not") + } + if e, a := rc.Size, 1; e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestReadCloserRead(t *testing.T) { @@ -24,16 +28,30 @@ func TestReadCloserRead(t *testing.T) { n, err := rc.Read(b) - assert.Nil(t, err) - assert.Equal(t, n, 2) - assert.False(t, rc.Closed) - assert.Equal(t, rc.Size, 3) + if err != nil { + t.Errorf("expect nil, got %v", err) + } + if e, a := n, 2; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if rc.Closed { + t.Errorf("expect not to be closed") + } + if e, a := rc.Size, 3; e != a { + t.Errorf("expect %v, got %v", e, a) + } err = rc.Close() - assert.Nil(t, err) + if err != nil { + t.Errorf("expect nil, got %v", err) + } n, err = rc.Read(b) - assert.Equal(t, err, io.EOF) - assert.Equal(t, n, 0) + if e, a := err, io.EOF; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := n, 0; e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestReadCloserReadAll(t *testing.T) { @@ -42,8 +60,16 @@ func TestReadCloserReadAll(t *testing.T) { n, err := rc.Read(b) - assert.Equal(t, err, io.EOF) - assert.Equal(t, n, 5) - assert.False(t, rc.Closed) - assert.Equal(t, rc.Size, 0) + if e, a := err, io.EOF; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := n, 5; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if rc.Closed { + t.Errorf("expect not to be closed") + } + if e, a := rc.Size, 0; e != a { + t.Errorf("expect %v, got %v", e, a) + } } diff --git a/vendor/github.com/aws/aws-sdk-go/example/service/dynamodb/expression/readme.md b/vendor/github.com/aws/aws-sdk-go/example/service/dynamodb/expression/readme.md new file mode 100644 index 000000000..6fb164a4c --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/example/service/dynamodb/expression/readme.md @@ -0,0 +1,102 @@ +# Example + +`scan` is an example how to use Amazon DynamoDB's `expression` package to fill +the member fields of Amazon DynamoDB's Operation input types. + +## Representing DynamoDB Expressions + +In the example, the variable `filt` represents a `FilterExpression`. Note that +DynamoDB item attributes are represented using the function `Name()` and +DynamoDB item values are similarly represented using the function `Value()`. In +this context, the string `"Artist"` represents the name of the item attribute +that we want to evaluate and the string `"No One You Know"` represents the value +we want to evaluate the item attribute against. The relationship between the two +[operands](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.OperatorsAndFunctions.html#Expressions.OperatorsAndFunctions.Syntax) +are specified using the method `Equal()`. + +Similarly, the variable `proj` represents a `ProjectionExpression`. The list of +item attribute names comprising the `ProjectionExpression` are specified as +arguments to the function `NamesList()`. The `expression` package utilizes the +type safety of Go and if an item value were to be used as an argument to the +function `NamesList()`, a compile time error is returned. The pattern of +representing DynamoDB Expressions by indicating relationships between `operands` +with functions is consistent throughout the whole `expression` package. + +```go +filt := expression.Name("Artist").Equal(expression.Value("No One You Know")) +// let :a be an ExpressionAttributeValue representing the string "No One You Know" +// equivalent FilterExpression: "Artist = :a" + +proj := expression.NamesList(expression.Name("SongTitle"), expression.Name("AlbumTitle")) +// equivalent ProjectionExpression: "SongTitle, AlbumTitle" +``` + +## Creating an `Expression` + +In the example, the variable `expr` is an instance of an `Expression` type. An +`Expression` is built using a builder pattern. First, a new `Builder` is +initialized by the `NewBuilder()` function. Then, types representing DynamoDB +Expressions are added to the `Builder` by methods `WithFilter()` and +`WithProjection()`. The `Build()` method returns an instance of an `Expression` +and an error. The error will be either an `InvalidParameterError` or an +`UnsetParameterError`. + +```go +filt := expression.Name("Artist").Equal(expression.Value("No One You Know")) +proj := expression.NamesList(expression.Name("SongTitle"), expression.Name("AlbumTitle")) + +expr, err := expression.NewBuilder().WithFilter(filt).WithProjection(proj).Build() +if err != nil { + fmt.Println(err) +} +``` + +## Filling in the fields of a DynamoDB `Scan` API + +In the example, the getter methods of the `Expression` type is used to get the +formatted DynamoDB Expression strings. The `ExpressionAttributeNames` and +`ExpressionAttributeValues` member field of the DynamoDB API must always be +assigned when using an `Expression` since all item attribute names and values +are aliased. That means that if the `ExpressionAttributeNames` and +`ExpressionAttributeValues` member is not assigned with the corresponding +`Names()` and `Values()` methods, the DynamoDB operation will run into a logic +error. + +```go +filt := expression.Name("Artist").Equal(expression.Value("No One You Know")) +proj := expression.NamesList(expression.Name("SongTitle"), expression.Name("AlbumTitle")) +expr, err := expression.NewBuilder().WithFilter(filt).WithProjection(proj).Build() +if err != nil { + fmt.Println(err) +} + +input := &dynamodb.ScanInput{ + ExpressionAttributeNames: expr.Names(), + ExpressionAttributeValues: expr.Values(), + FilterExpression: expr.Filter(), + ProjectionExpression: expr.Projection(), + TableName: aws.String("Music"), +} +``` + +## Usage + +`go run -tags example scan.go -table "" -region ""` + +## Output + +``` +{ + Count: #SomeNumber, + Items: [{ + AlbumTitle: { + #SomeAlbumTitle + }, + SongTitle: { + #SomeSongTitle + } + }], + ... + ScannedCount: #SomeNumber, +} +``` diff --git a/vendor/github.com/aws/aws-sdk-go/example/service/dynamodb/expression/scan.go b/vendor/github.com/aws/aws-sdk-go/example/service/dynamodb/expression/scan.go new file mode 100644 index 000000000..921a56228 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/example/service/dynamodb/expression/scan.go @@ -0,0 +1,88 @@ +// +build example + +package main + +import ( + "flag" + "fmt" + "os" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/session" + "github.com/aws/aws-sdk-go/service/dynamodb" + "github.com/aws/aws-sdk-go/service/dynamodb/expression" +) + +func exitWithError(err error) { + fmt.Fprintln(os.Stderr, err) + os.Exit(1) +} + +func main() { + cfg := Config{} + if err := cfg.Load(); err != nil { + exitWithError(fmt.Errorf("failed to load config, %v", err)) + } + + // Create the config specifying the Region for the DynamoDB table. + // If Config.Region is not set the region must come from the shared + // config or AWS_REGION environment variable. + awscfg := &aws.Config{} + if len(cfg.Region) > 0 { + awscfg.WithRegion(cfg.Region) + } + + // Create the session that the DynamoDB service will use. + sess := session.Must(session.NewSession(awscfg)) + + // Create the DynamoDB service client to make the query request with. + svc := dynamodb.New(sess) + + // Create the Expression to fill the input struct with. + filt := expression.Name("Artist").Equal(expression.Value("No One You Know")) + proj := expression.NamesList(expression.Name("SongTitle"), expression.Name("AlbumTitle")) + expr, err := expression.NewBuilder().WithFilter(filt).WithProjection(proj).Build() + if err != nil { + exitWithError(fmt.Errorf("failed to create the Expression, %v", err)) + } + + // Build the query input parameters + params := &dynamodb.ScanInput{ + ExpressionAttributeNames: expr.Names(), + ExpressionAttributeValues: expr.Values(), + FilterExpression: expr.Filter(), + ProjectionExpression: expr.Projection(), + TableName: aws.String(cfg.Table), + } + if cfg.Limit > 0 { + params.Limit = aws.Int64(cfg.Limit) + } + + // Make the DynamoDB Query API call + result, err := svc.Scan(params) + if err != nil { + exitWithError(fmt.Errorf("failed to make Query API call, %v", err)) + } + + fmt.Println(result) +} + +type Config struct { + Table string // required + Region string // optional + Limit int64 // optional +} + +func (c *Config) Load() error { + flag.Int64Var(&c.Limit, "limit", 0, "Limit is the max items to be returned, 0 is no limit") + flag.StringVar(&c.Table, "table", "", "Table to Query on") + flag.StringVar(&c.Region, "region", "", "AWS Region the table is in") + flag.Parse() + + if len(c.Table) == 0 { + flag.PrintDefaults() + return fmt.Errorf("table name is required.") + } + + return nil +} diff --git a/vendor/github.com/aws/aws-sdk-go/example/service/ec2/instancesbyRegion/README.md b/vendor/github.com/aws/aws-sdk-go/example/service/ec2/instancesbyRegion/README.md new file mode 100644 index 000000000..8125a4d5b --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/example/service/ec2/instancesbyRegion/README.md @@ -0,0 +1,32 @@ + +# Example Fetch By region + +This is an example using the AWS SDK for Go to list ec2 instances instance state By different region . By default it fetch all running and stopped instance + + +# Usage + + +```sh +# To fetch the stopped instance of all region use below: +./filter_ec2_by_region --state running --state stopped + +# To fetch the stopped and running instance for region us-west-1 and eu-west-1 use below: +./filter_ec2_by_region --state running --state stopped --region us-west-1 --region=eu-west-1 +``` + +## Sample Output + +``` +Fetching instace details for region: ap-south-1 with criteria: [running][stopped]** + printing instance details..... +instance id i-************ +current State stopped +done for region ap-south-1 **** + + + +Fetching instace details for region: eu-west-2 with criteria: [running][stopped]** + There is no instance for the for region eu-west-2 with the matching Criteria: [running][stopped] +done for region eu-west-2 **** +``` diff --git a/vendor/github.com/aws/aws-sdk-go/example/service/ec2/instancesbyRegion/instancesByRegion.go b/vendor/github.com/aws/aws-sdk-go/example/service/ec2/instancesbyRegion/instancesByRegion.go new file mode 100644 index 000000000..869b28ab6 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/example/service/ec2/instancesbyRegion/instancesByRegion.go @@ -0,0 +1,137 @@ +// +build example + +package main + +import ( + "flag" + "fmt" + "os" + "strings" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/session" + "github.com/aws/aws-sdk-go/service/ec2" +) + +// Prints a list of instances for each region. If no regions are provided +// all regions will be searched. The state is required. +// +// Will use the AWS SDK for Go's default credential chain and region. You can +// specify the region with the AWS_REGION environment variable. +// +// Usage: instancesByRegion -state [-state val...] [-region region...] +func main() { + states, regions := parseArguments() + + if len(states) == 0 { + fmt.Fprintf(os.Stderr, "error: %v\n", usage()) + os.Exit(1) + } + instanceCriteria := " " + for _, state := range states { + instanceCriteria += "[" + state + "]" + } + + if len(regions) == 0 { + var err error + regions, err = fetchRegion() + if err != nil { + fmt.Fprintf(os.Stderr, "error: %v\n", err) + os.Exit(1) + } + } + + for _, region := range regions { + sess := session.Must(session.NewSession(&aws.Config{ + Region: aws.String(region), + })) + + ec2Svc := ec2.New(sess) + params := &ec2.DescribeInstancesInput{ + Filters: []*ec2.Filter{ + &ec2.Filter{ + Name: aws.String("instance-state-name"), + Values: aws.StringSlice(states), + }, + }, + } + + result, err := ec2Svc.DescribeInstances(params) + if err != nil { + fmt.Println("Error", err) + } else { + fmt.Printf("\n\n\nFetching instace details for region: %s with criteria: %s**\n ", region, instanceCriteria) + if len(result.Reservations) == 0 { + fmt.Printf("There is no instance for the for region %s with the matching Criteria:%s \n", region, instanceCriteria) + } + for _, reservation := range result.Reservations { + + fmt.Println("printing instance details.....") + for _, instance := range reservation.Instances { + fmt.Println("instance id " + *instance.InstanceId) + fmt.Println("current State " + *instance.State.Name) + } + } + fmt.Printf("done for region %s **** \n", region) + } + } +} + +func fetchRegion() ([]string, error) { + awsSession := session.Must(session.NewSession(&aws.Config{})) + + svc := ec2.New(awsSession) + awsRegions, err := svc.DescribeRegions(&ec2.DescribeRegionsInput{}) + if err != nil { + return nil, err + } + + regions := make([]string, 0, len(awsRegions.Regions)) + for _, region := range awsRegions.Regions { + regions = append(regions, *region.RegionName) + } + + return regions, nil +} + +type flagArgs []string + +func (a flagArgs) String() string { + return strings.Join(a.Args(), ",") +} + +func (a *flagArgs) Set(value string) error { + *a = append(*a, value) + return nil +} +func (a flagArgs) Args() []string { + return []string(a) +} + +func parseArguments() (states []string, regions []string) { + var stateArgs, regionArgs flagArgs + + flag.Var(&stateArgs, "state", "state list") + flag.Var(®ionArgs, "region", "region list") + flag.Parse() + + if flag.NFlag() != 0 { + states = append([]string{}, stateArgs.Args()...) + regions = append([]string{}, regionArgs.Args()...) + } + + return states, regions +} + +func usage() string { + return ` + +Missing mandatory flag 'state'. Please use like below Example: + +To fetch the stopped instance of all region use below: + ./filter_ec2_by_region -state running -state stopped + +To fetch the stopped and running instance for region us-west-1 and eu-west-1 use below: + ./filter_ec2_by_region -state running -state stopped -region us-west-1 -region=eu-west-1 +` +} diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/AWS Glue/2017-03-31/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/AWS Glue/2017-03-31/api-2.json new file mode 100644 index 000000000..0b8c0e545 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/AWS Glue/2017-03-31/api-2.json @@ -0,0 +1,3587 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-03-31", + "endpointPrefix":"glue", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"AWS Glue", + "signatureVersion":"v4", + "targetPrefix":"AWSGlue", + "uid":"glue-2017-03-31" + }, + "operations":{ + "BatchCreatePartition":{ + "name":"BatchCreatePartition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchCreatePartitionRequest"}, + "output":{"shape":"BatchCreatePartitionResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"AlreadyExistsException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"InternalServiceException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "BatchDeleteConnection":{ + "name":"BatchDeleteConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDeleteConnectionRequest"}, + "output":{"shape":"BatchDeleteConnectionResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "BatchDeletePartition":{ + "name":"BatchDeletePartition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDeletePartitionRequest"}, + "output":{"shape":"BatchDeletePartitionResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "BatchDeleteTable":{ + "name":"BatchDeleteTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDeleteTableRequest"}, + "output":{"shape":"BatchDeleteTableResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "BatchGetPartition":{ + "name":"BatchGetPartition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetPartitionRequest"}, + "output":{"shape":"BatchGetPartitionResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InternalServiceException"} + ] + }, + "CreateClassifier":{ + "name":"CreateClassifier", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateClassifierRequest"}, + "output":{"shape":"CreateClassifierResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "CreateConnection":{ + "name":"CreateConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateConnectionRequest"}, + "output":{"shape":"CreateConnectionResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "CreateCrawler":{ + "name":"CreateCrawler", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCrawlerRequest"}, + "output":{"shape":"CreateCrawlerResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"AlreadyExistsException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ResourceNumberLimitExceededException"} + ] + }, + "CreateDatabase":{ + "name":"CreateDatabase", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDatabaseRequest"}, + "output":{"shape":"CreateDatabaseResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"AlreadyExistsException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "CreateDevEndpoint":{ + "name":"CreateDevEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDevEndpointRequest"}, + "output":{"shape":"CreateDevEndpointResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AlreadyExistsException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNumberLimitExceededException"} + ] + }, + "CreateJob":{ + "name":"CreateJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateJobRequest"}, + "output":{"shape":"CreateJobResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"AlreadyExistsException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ResourceNumberLimitExceededException"} + ] + }, + "CreatePartition":{ + "name":"CreatePartition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreatePartitionRequest"}, + "output":{"shape":"CreatePartitionResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"AlreadyExistsException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"InternalServiceException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "CreateScript":{ + "name":"CreateScript", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateScriptRequest"}, + "output":{"shape":"CreateScriptResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "CreateTable":{ + "name":"CreateTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTableRequest"}, + "output":{"shape":"CreateTableResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "CreateTrigger":{ + "name":"CreateTrigger", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTriggerRequest"}, + "output":{"shape":"CreateTriggerResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ResourceNumberLimitExceededException"} + ] + }, + "CreateUserDefinedFunction":{ + "name":"CreateUserDefinedFunction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateUserDefinedFunctionRequest"}, + "output":{"shape":"CreateUserDefinedFunctionResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "DeleteClassifier":{ + "name":"DeleteClassifier", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteClassifierRequest"}, + "output":{"shape":"DeleteClassifierResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "DeleteConnection":{ + "name":"DeleteConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteConnectionRequest"}, + "output":{"shape":"DeleteConnectionResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "DeleteCrawler":{ + "name":"DeleteCrawler", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCrawlerRequest"}, + "output":{"shape":"DeleteCrawlerResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"CrawlerRunningException"}, + {"shape":"SchedulerTransitioningException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "DeleteDatabase":{ + "name":"DeleteDatabase", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDatabaseRequest"}, + "output":{"shape":"DeleteDatabaseResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "DeleteDevEndpoint":{ + "name":"DeleteDevEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDevEndpointRequest"}, + "output":{"shape":"DeleteDevEndpointResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"} + ] + }, + "DeleteJob":{ + "name":"DeleteJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteJobRequest"}, + "output":{"shape":"DeleteJobResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "DeletePartition":{ + "name":"DeletePartition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePartitionRequest"}, + "output":{"shape":"DeletePartitionResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "DeleteTable":{ + "name":"DeleteTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTableRequest"}, + "output":{"shape":"DeleteTableResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "DeleteTrigger":{ + "name":"DeleteTrigger", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTriggerRequest"}, + "output":{"shape":"DeleteTriggerResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "DeleteUserDefinedFunction":{ + "name":"DeleteUserDefinedFunction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteUserDefinedFunctionRequest"}, + "output":{"shape":"DeleteUserDefinedFunctionResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "GetCatalogImportStatus":{ + "name":"GetCatalogImportStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCatalogImportStatusRequest"}, + "output":{"shape":"GetCatalogImportStatusResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "GetClassifier":{ + "name":"GetClassifier", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetClassifierRequest"}, + "output":{"shape":"GetClassifierResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "GetClassifiers":{ + "name":"GetClassifiers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetClassifiersRequest"}, + "output":{"shape":"GetClassifiersResponse"}, + "errors":[ + {"shape":"OperationTimeoutException"} + ] + }, + "GetConnection":{ + "name":"GetConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetConnectionRequest"}, + "output":{"shape":"GetConnectionResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "GetConnections":{ + "name":"GetConnections", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetConnectionsRequest"}, + "output":{"shape":"GetConnectionsResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "GetCrawler":{ + "name":"GetCrawler", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCrawlerRequest"}, + "output":{"shape":"GetCrawlerResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "GetCrawlerMetrics":{ + "name":"GetCrawlerMetrics", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCrawlerMetricsRequest"}, + "output":{"shape":"GetCrawlerMetricsResponse"}, + "errors":[ + {"shape":"OperationTimeoutException"} + ] + }, + "GetCrawlers":{ + "name":"GetCrawlers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCrawlersRequest"}, + "output":{"shape":"GetCrawlersResponse"}, + "errors":[ + {"shape":"OperationTimeoutException"} + ] + }, + "GetDatabase":{ + "name":"GetDatabase", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDatabaseRequest"}, + "output":{"shape":"GetDatabaseResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "GetDatabases":{ + "name":"GetDatabases", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDatabasesRequest"}, + "output":{"shape":"GetDatabasesResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "GetDataflowGraph":{ + "name":"GetDataflowGraph", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDataflowGraphRequest"}, + "output":{"shape":"GetDataflowGraphResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "GetDevEndpoint":{ + "name":"GetDevEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDevEndpointRequest"}, + "output":{"shape":"GetDevEndpointResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"} + ] + }, + "GetDevEndpoints":{ + "name":"GetDevEndpoints", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDevEndpointsRequest"}, + "output":{"shape":"GetDevEndpointsResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"} + ] + }, + "GetJob":{ + "name":"GetJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetJobRequest"}, + "output":{"shape":"GetJobResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "GetJobRun":{ + "name":"GetJobRun", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetJobRunRequest"}, + "output":{"shape":"GetJobRunResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "GetJobRuns":{ + "name":"GetJobRuns", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetJobRunsRequest"}, + "output":{"shape":"GetJobRunsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "GetJobs":{ + "name":"GetJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetJobsRequest"}, + "output":{"shape":"GetJobsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "GetMapping":{ + "name":"GetMapping", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMappingRequest"}, + "output":{"shape":"GetMappingResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "GetPartition":{ + "name":"GetPartition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPartitionRequest"}, + "output":{"shape":"GetPartitionResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "GetPartitions":{ + "name":"GetPartitions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPartitionsRequest"}, + "output":{"shape":"GetPartitionsResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InternalServiceException"} + ] + }, + "GetPlan":{ + "name":"GetPlan", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPlanRequest"}, + "output":{"shape":"GetPlanResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "GetTable":{ + "name":"GetTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTableRequest"}, + "output":{"shape":"GetTableResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "GetTableVersions":{ + "name":"GetTableVersions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTableVersionsRequest"}, + "output":{"shape":"GetTableVersionsResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "GetTables":{ + "name":"GetTables", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTablesRequest"}, + "output":{"shape":"GetTablesResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InternalServiceException"} + ] + }, + "GetTrigger":{ + "name":"GetTrigger", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTriggerRequest"}, + "output":{"shape":"GetTriggerResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "GetTriggers":{ + "name":"GetTriggers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTriggersRequest"}, + "output":{"shape":"GetTriggersResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "GetUserDefinedFunction":{ + "name":"GetUserDefinedFunction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetUserDefinedFunctionRequest"}, + "output":{"shape":"GetUserDefinedFunctionResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "GetUserDefinedFunctions":{ + "name":"GetUserDefinedFunctions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetUserDefinedFunctionsRequest"}, + "output":{"shape":"GetUserDefinedFunctionsResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InternalServiceException"} + ] + }, + "ImportCatalogToGlue":{ + "name":"ImportCatalogToGlue", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ImportCatalogToGlueRequest"}, + "output":{"shape":"ImportCatalogToGlueResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "ResetJobBookmark":{ + "name":"ResetJobBookmark", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResetJobBookmarkRequest"}, + "output":{"shape":"ResetJobBookmarkResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "StartCrawler":{ + "name":"StartCrawler", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartCrawlerRequest"}, + "output":{"shape":"StartCrawlerResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"CrawlerRunningException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "StartCrawlerSchedule":{ + "name":"StartCrawlerSchedule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartCrawlerScheduleRequest"}, + "output":{"shape":"StartCrawlerScheduleResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"SchedulerRunningException"}, + {"shape":"SchedulerTransitioningException"}, + {"shape":"NoScheduleException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "StartJobRun":{ + "name":"StartJobRun", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartJobRunRequest"}, + "output":{"shape":"StartJobRunResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"ConcurrentRunsExceededException"} + ] + }, + "StartTrigger":{ + "name":"StartTrigger", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartTriggerRequest"}, + "output":{"shape":"StartTriggerResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"ConcurrentRunsExceededException"} + ] + }, + "StopCrawler":{ + "name":"StopCrawler", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopCrawlerRequest"}, + "output":{"shape":"StopCrawlerResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"CrawlerNotRunningException"}, + {"shape":"CrawlerStoppingException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "StopCrawlerSchedule":{ + "name":"StopCrawlerSchedule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopCrawlerScheduleRequest"}, + "output":{"shape":"StopCrawlerScheduleResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"SchedulerNotRunningException"}, + {"shape":"SchedulerTransitioningException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "StopTrigger":{ + "name":"StopTrigger", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopTriggerRequest"}, + "output":{"shape":"StopTriggerResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "UpdateClassifier":{ + "name":"UpdateClassifier", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateClassifierRequest"}, + "output":{"shape":"UpdateClassifierResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"VersionMismatchException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "UpdateConnection":{ + "name":"UpdateConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateConnectionRequest"}, + "output":{"shape":"UpdateConnectionResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "UpdateCrawler":{ + "name":"UpdateCrawler", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCrawlerRequest"}, + "output":{"shape":"UpdateCrawlerResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"VersionMismatchException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"CrawlerRunningException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "UpdateCrawlerSchedule":{ + "name":"UpdateCrawlerSchedule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCrawlerScheduleRequest"}, + "output":{"shape":"UpdateCrawlerScheduleResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"VersionMismatchException"}, + {"shape":"SchedulerTransitioningException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "UpdateDatabase":{ + "name":"UpdateDatabase", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDatabaseRequest"}, + "output":{"shape":"UpdateDatabaseResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "UpdateDevEndpoint":{ + "name":"UpdateDevEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDevEndpointRequest"}, + "output":{"shape":"UpdateDevEndpointResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"}, + {"shape":"ValidationException"} + ] + }, + "UpdateJob":{ + "name":"UpdateJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateJobRequest"}, + "output":{"shape":"UpdateJobResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "UpdatePartition":{ + "name":"UpdatePartition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdatePartitionRequest"}, + "output":{"shape":"UpdatePartitionResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "UpdateTable":{ + "name":"UpdateTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateTableRequest"}, + "output":{"shape":"UpdateTableResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ConcurrentModificationException"} + ] + }, + "UpdateTrigger":{ + "name":"UpdateTrigger", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateTriggerRequest"}, + "output":{"shape":"UpdateTriggerResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "UpdateUserDefinedFunction":{ + "name":"UpdateUserDefinedFunction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateUserDefinedFunctionRequest"}, + "output":{"shape":"UpdateUserDefinedFunctionResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "exception":true + }, + "Action":{ + "type":"structure", + "members":{ + "JobName":{"shape":"NameString"}, + "Arguments":{"shape":"GenericMap"} + } + }, + "ActionList":{ + "type":"list", + "member":{"shape":"Action"} + }, + "AlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "exception":true + }, + "AttemptCount":{"type":"integer"}, + "BatchCreatePartitionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName", + "PartitionInputList" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "TableName":{"shape":"NameString"}, + "PartitionInputList":{"shape":"PartitionInputList"} + } + }, + "BatchCreatePartitionResponse":{ + "type":"structure", + "members":{ + "Errors":{"shape":"PartitionErrors"} + } + }, + "BatchDeleteConnectionRequest":{ + "type":"structure", + "required":["ConnectionNameList"], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "ConnectionNameList":{"shape":"DeleteConnectionNameList"} + } + }, + "BatchDeleteConnectionResponse":{ + "type":"structure", + "members":{ + "Succeeded":{"shape":"NameStringList"}, + "Errors":{"shape":"ErrorByName"} + } + }, + "BatchDeletePartitionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName", + "PartitionsToDelete" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "TableName":{"shape":"NameString"}, + "PartitionsToDelete":{"shape":"BatchDeletePartitionValueList"} + } + }, + "BatchDeletePartitionResponse":{ + "type":"structure", + "members":{ + "Errors":{"shape":"PartitionErrors"} + } + }, + "BatchDeletePartitionValueList":{ + "type":"list", + "member":{"shape":"PartitionValueList"}, + "max":25, + "min":0 + }, + "BatchDeleteTableNameList":{ + "type":"list", + "member":{"shape":"NameString"}, + "max":100, + "min":0 + }, + "BatchDeleteTableRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TablesToDelete" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "TablesToDelete":{"shape":"BatchDeleteTableNameList"} + } + }, + "BatchDeleteTableResponse":{ + "type":"structure", + "members":{ + "Errors":{"shape":"TableErrors"} + } + }, + "BatchGetPartitionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName", + "PartitionsToGet" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "TableName":{"shape":"NameString"}, + "PartitionsToGet":{"shape":"BatchGetPartitionValueList"} + } + }, + "BatchGetPartitionResponse":{ + "type":"structure", + "members":{ + "Partitions":{"shape":"PartitionList"}, + "UnprocessedKeys":{"shape":"BatchGetPartitionValueList"} + } + }, + "BatchGetPartitionValueList":{ + "type":"list", + "member":{"shape":"PartitionValueList"}, + "max":1000, + "min":0 + }, + "Boolean":{"type":"boolean"}, + "BooleanValue":{"type":"boolean"}, + "BoundedPartitionValueList":{ + "type":"list", + "member":{"shape":"ValueString"}, + "max":100, + "min":0 + }, + "CatalogEntries":{ + "type":"list", + "member":{"shape":"CatalogEntry"} + }, + "CatalogEntry":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName" + ], + "members":{ + "DatabaseName":{"shape":"NameString"}, + "TableName":{"shape":"NameString"} + } + }, + "CatalogIdString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "CatalogImportStatus":{ + "type":"structure", + "members":{ + "ImportCompleted":{"shape":"Boolean"}, + "ImportTime":{"shape":"Timestamp"}, + "ImportedBy":{"shape":"NameString"} + } + }, + "Classification":{"type":"string"}, + "Classifier":{ + "type":"structure", + "members":{ + "GrokClassifier":{"shape":"GrokClassifier"} + } + }, + "ClassifierList":{ + "type":"list", + "member":{"shape":"Classifier"} + }, + "ClassifierNameList":{ + "type":"list", + "member":{"shape":"NameString"} + }, + "CodeGenArgName":{"type":"string"}, + "CodeGenArgValue":{"type":"string"}, + "CodeGenEdge":{ + "type":"structure", + "required":[ + "Source", + "Target" + ], + "members":{ + "Source":{"shape":"CodeGenIdentifier"}, + "Target":{"shape":"CodeGenIdentifier"}, + "TargetParameter":{"shape":"CodeGenArgName"} + } + }, + "CodeGenIdentifier":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[A-Za-z_][A-Za-z0-9_]*" + }, + "CodeGenNode":{ + "type":"structure", + "required":[ + "Id", + "NodeType", + "Args" + ], + "members":{ + "Id":{"shape":"CodeGenIdentifier"}, + "NodeType":{"shape":"CodeGenNodeType"}, + "Args":{"shape":"CodeGenNodeArgs"}, + "LineNumber":{"shape":"Integer"} + } + }, + "CodeGenNodeArg":{ + "type":"structure", + "required":[ + "Name", + "Value" + ], + "members":{ + "Name":{"shape":"CodeGenArgName"}, + "Value":{"shape":"CodeGenArgValue"}, + "Param":{"shape":"Boolean"} + } + }, + "CodeGenNodeArgs":{ + "type":"list", + "member":{"shape":"CodeGenNodeArg"}, + "max":50, + "min":0 + }, + "CodeGenNodeType":{"type":"string"}, + "Column":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"NameString"}, + "Type":{"shape":"ColumnTypeString"}, + "Comment":{"shape":"CommentString"} + } + }, + "ColumnList":{ + "type":"list", + "member":{"shape":"Column"} + }, + "ColumnTypeString":{ + "type":"string", + "max":131072, + "min":0, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "ColumnValueStringList":{ + "type":"list", + "member":{"shape":"ColumnValuesString"} + }, + "ColumnValuesString":{"type":"string"}, + "CommentString":{ + "type":"string", + "max":255, + "min":0, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "exception":true + }, + "ConcurrentRunsExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "exception":true + }, + "Condition":{ + "type":"structure", + "members":{ + "LogicalOperator":{"shape":"LogicalOperator"}, + "JobName":{"shape":"NameString"}, + "State":{"shape":"JobRunState"} + } + }, + "ConditionList":{ + "type":"list", + "member":{"shape":"Condition"} + }, + "Connection":{ + "type":"structure", + "members":{ + "Name":{"shape":"NameString"}, + "Description":{"shape":"DescriptionString"}, + "ConnectionType":{"shape":"ConnectionType"}, + "MatchCriteria":{"shape":"MatchCriteria"}, + "ConnectionProperties":{"shape":"ConnectionProperties"}, + "PhysicalConnectionRequirements":{"shape":"PhysicalConnectionRequirements"}, + "CreationTime":{"shape":"Timestamp"}, + "LastUpdatedTime":{"shape":"Timestamp"}, + "LastUpdatedBy":{"shape":"NameString"} + } + }, + "ConnectionInput":{ + "type":"structure", + "members":{ + "Name":{"shape":"NameString"}, + "Description":{"shape":"DescriptionString"}, + "ConnectionType":{"shape":"ConnectionType"}, + "MatchCriteria":{"shape":"MatchCriteria"}, + "ConnectionProperties":{"shape":"ConnectionProperties"}, + "PhysicalConnectionRequirements":{"shape":"PhysicalConnectionRequirements"} + } + }, + "ConnectionList":{ + "type":"list", + "member":{"shape":"Connection"} + }, + "ConnectionName":{"type":"string"}, + "ConnectionProperties":{ + "type":"map", + "key":{"shape":"ConnectionPropertyKey"}, + "value":{"shape":"ValueString"}, + "max":100, + "min":0 + }, + "ConnectionPropertyKey":{ + "type":"string", + "enum":[ + "HOST", + "PORT", + "USERNAME", + "PASSWORD", + "JDBC_DRIVER_JAR_URI", + "JDBC_DRIVER_CLASS_NAME", + "JDBC_ENGINE", + "JDBC_ENGINE_VERSION", + "CONFIG_FILES", + "INSTANCE_ID", + "JDBC_CONNECTION_URL" + ] + }, + "ConnectionType":{ + "type":"string", + "enum":[ + "JDBC", + "SFTP" + ] + }, + "ConnectionsList":{ + "type":"structure", + "members":{ + "Connections":{"shape":"StringList"} + } + }, + "Crawler":{ + "type":"structure", + "members":{ + "Name":{"shape":"NameString"}, + "Role":{"shape":"RoleArn"}, + "Targets":{"shape":"CrawlerTargets"}, + "DatabaseName":{"shape":"DatabaseName"}, + "Description":{"shape":"DescriptionString"}, + "Classifiers":{"shape":"ClassifierNameList"}, + "SchemaChangePolicy":{"shape":"SchemaChangePolicy"}, + "State":{"shape":"CrawlerState"}, + "TablePrefix":{"shape":"TablePrefix"}, + "Schedule":{"shape":"Schedule"}, + "CrawlElapsedTime":{"shape":"MillisecondsCount"}, + "CreationTime":{"shape":"Timestamp"}, + "LastUpdated":{"shape":"Timestamp"}, + "LastCrawl":{"shape":"LastCrawlInfo"}, + "Version":{"shape":"VersionId"} + } + }, + "CrawlerList":{ + "type":"list", + "member":{"shape":"Crawler"} + }, + "CrawlerMetrics":{ + "type":"structure", + "members":{ + "CrawlerName":{"shape":"NameString"}, + "TimeLeftSeconds":{"shape":"NonNegativeDouble"}, + "StillEstimating":{"shape":"Boolean"}, + "LastRuntimeSeconds":{"shape":"NonNegativeDouble"}, + "MedianRuntimeSeconds":{"shape":"NonNegativeDouble"}, + "TablesCreated":{"shape":"NonNegativeInteger"}, + "TablesUpdated":{"shape":"NonNegativeInteger"}, + "TablesDeleted":{"shape":"NonNegativeInteger"} + } + }, + "CrawlerMetricsList":{ + "type":"list", + "member":{"shape":"CrawlerMetrics"} + }, + "CrawlerNameList":{ + "type":"list", + "member":{"shape":"NameString"}, + "max":100, + "min":0 + }, + "CrawlerNotRunningException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "exception":true + }, + "CrawlerRunningException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "exception":true + }, + "CrawlerState":{ + "type":"string", + "enum":[ + "READY", + "RUNNING", + "STOPPING" + ] + }, + "CrawlerStoppingException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "exception":true + }, + "CrawlerTargets":{ + "type":"structure", + "members":{ + "S3Targets":{"shape":"S3TargetList"}, + "JdbcTargets":{"shape":"JdbcTargetList"} + } + }, + "CreateClassifierRequest":{ + "type":"structure", + "members":{ + "GrokClassifier":{"shape":"CreateGrokClassifierRequest"} + } + }, + "CreateClassifierResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateConnectionRequest":{ + "type":"structure", + "required":["ConnectionInput"], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "ConnectionInput":{"shape":"ConnectionInput"} + } + }, + "CreateConnectionResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateCrawlerRequest":{ + "type":"structure", + "required":[ + "Name", + "Role", + "DatabaseName", + "Targets" + ], + "members":{ + "Name":{"shape":"NameString"}, + "Role":{"shape":"RoleArn"}, + "DatabaseName":{"shape":"DatabaseName"}, + "Description":{"shape":"DescriptionString"}, + "Targets":{"shape":"CrawlerTargets"}, + "Schedule":{"shape":"CronExpression"}, + "Classifiers":{"shape":"ClassifierNameList"}, + "TablePrefix":{"shape":"TablePrefix"}, + "SchemaChangePolicy":{"shape":"SchemaChangePolicy"} + } + }, + "CreateCrawlerResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateDatabaseRequest":{ + "type":"structure", + "required":["DatabaseInput"], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseInput":{"shape":"DatabaseInput"} + } + }, + "CreateDatabaseResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateDevEndpointRequest":{ + "type":"structure", + "required":[ + "EndpointName", + "RoleArn", + "SecurityGroupIds", + "SubnetId" + ], + "members":{ + "EndpointName":{"shape":"GenericString"}, + "RoleArn":{"shape":"RoleArn"}, + "SecurityGroupIds":{"shape":"StringList"}, + "SubnetId":{"shape":"GenericString"}, + "PublicKey":{"shape":"GenericString"}, + "NumberOfNodes":{"shape":"IntegerValue"}, + "ExtraPythonLibsS3Path":{"shape":"GenericString"}, + "ExtraJarsS3Path":{"shape":"GenericString"} + } + }, + "CreateDevEndpointResponse":{ + "type":"structure", + "members":{ + "EndpointName":{"shape":"GenericString"}, + "Status":{"shape":"GenericString"}, + "SecurityGroupIds":{"shape":"StringList"}, + "SubnetId":{"shape":"GenericString"}, + "RoleArn":{"shape":"RoleArn"}, + "YarnEndpointAddress":{"shape":"GenericString"}, + "NumberOfNodes":{"shape":"IntegerValue"}, + "AvailabilityZone":{"shape":"GenericString"}, + "VpcId":{"shape":"GenericString"}, + "ExtraPythonLibsS3Path":{"shape":"GenericString"}, + "ExtraJarsS3Path":{"shape":"GenericString"}, + "FailureReason":{"shape":"GenericString"}, + "CreatedTimestamp":{"shape":"TimestampValue"} + } + }, + "CreateGrokClassifierRequest":{ + "type":"structure", + "required":[ + "Classification", + "Name", + "GrokPattern" + ], + "members":{ + "Classification":{"shape":"Classification"}, + "Name":{"shape":"NameString"}, + "GrokPattern":{"shape":"GrokPattern"}, + "CustomPatterns":{"shape":"CustomPatterns"} + } + }, + "CreateJobRequest":{ + "type":"structure", + "required":[ + "Name", + "Role", + "Command" + ], + "members":{ + "Name":{"shape":"NameString"}, + "Description":{"shape":"DescriptionString"}, + "LogUri":{"shape":"UriString"}, + "Role":{"shape":"RoleString"}, + "ExecutionProperty":{"shape":"ExecutionProperty"}, + "Command":{"shape":"JobCommand"}, + "DefaultArguments":{"shape":"GenericMap"}, + "Connections":{"shape":"ConnectionsList"}, + "MaxRetries":{"shape":"MaxRetries"}, + "AllocatedCapacity":{"shape":"IntegerValue"} + } + }, + "CreateJobResponse":{ + "type":"structure", + "members":{ + "Name":{"shape":"NameString"} + } + }, + "CreatePartitionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName", + "PartitionInput" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "TableName":{"shape":"NameString"}, + "PartitionInput":{"shape":"PartitionInput"} + } + }, + "CreatePartitionResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateScriptRequest":{ + "type":"structure", + "members":{ + "DagNodes":{"shape":"DagNodes"}, + "DagEdges":{"shape":"DagEdges"} + } + }, + "CreateScriptResponse":{ + "type":"structure", + "members":{ + "PythonScript":{"shape":"PythonScript"} + } + }, + "CreateTableRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableInput" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "TableInput":{"shape":"TableInput"} + } + }, + "CreateTableResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateTriggerRequest":{ + "type":"structure", + "required":[ + "Name", + "Type", + "Actions" + ], + "members":{ + "Name":{"shape":"NameString"}, + "Type":{"shape":"TriggerType"}, + "Schedule":{"shape":"GenericString"}, + "Predicate":{"shape":"Predicate"}, + "Actions":{"shape":"ActionList"}, + "Description":{"shape":"DescriptionString"} + } + }, + "CreateTriggerResponse":{ + "type":"structure", + "members":{ + "Name":{"shape":"NameString"} + } + }, + "CreateUserDefinedFunctionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "FunctionInput" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "FunctionInput":{"shape":"UserDefinedFunctionInput"} + } + }, + "CreateUserDefinedFunctionResponse":{ + "type":"structure", + "members":{ + } + }, + "CronExpression":{"type":"string"}, + "CustomPatterns":{ + "type":"string", + "max":16000, + "min":0, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + }, + "DagEdges":{ + "type":"list", + "member":{"shape":"CodeGenEdge"} + }, + "DagNodes":{ + "type":"list", + "member":{"shape":"CodeGenNode"} + }, + "Database":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"NameString"}, + "Description":{"shape":"DescriptionString"}, + "LocationUri":{"shape":"URI"}, + "Parameters":{"shape":"ParametersMap"}, + "CreateTime":{"shape":"Timestamp"} + } + }, + "DatabaseInput":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"NameString"}, + "Description":{"shape":"DescriptionString"}, + "LocationUri":{"shape":"URI"}, + "Parameters":{"shape":"ParametersMap"} + } + }, + "DatabaseList":{ + "type":"list", + "member":{"shape":"Database"} + }, + "DatabaseName":{"type":"string"}, + "DeleteBehavior":{ + "type":"string", + "enum":[ + "LOG", + "DELETE_FROM_DATABASE", + "DEPRECATE_IN_DATABASE" + ] + }, + "DeleteClassifierRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"NameString"} + } + }, + "DeleteClassifierResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteConnectionNameList":{ + "type":"list", + "member":{"shape":"NameString"}, + "max":25, + "min":0 + }, + "DeleteConnectionRequest":{ + "type":"structure", + "required":["ConnectionName"], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "ConnectionName":{"shape":"NameString"} + } + }, + "DeleteConnectionResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteCrawlerRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"NameString"} + } + }, + "DeleteCrawlerResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteDatabaseRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "Name":{"shape":"NameString"} + } + }, + "DeleteDatabaseResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteDevEndpointRequest":{ + "type":"structure", + "required":["EndpointName"], + "members":{ + "EndpointName":{"shape":"GenericString"} + } + }, + "DeleteDevEndpointResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteJobRequest":{ + "type":"structure", + "required":["JobName"], + "members":{ + "JobName":{"shape":"NameString"} + } + }, + "DeleteJobResponse":{ + "type":"structure", + "members":{ + "JobName":{"shape":"NameString"} + } + }, + "DeletePartitionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName", + "PartitionValues" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "TableName":{"shape":"NameString"}, + "PartitionValues":{"shape":"ValueStringList"} + } + }, + "DeletePartitionResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteTableRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "Name" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "Name":{"shape":"NameString"} + } + }, + "DeleteTableResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteTriggerRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"NameString"} + } + }, + "DeleteTriggerResponse":{ + "type":"structure", + "members":{ + "Name":{"shape":"NameString"} + } + }, + "DeleteUserDefinedFunctionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "FunctionName" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "FunctionName":{"shape":"NameString"} + } + }, + "DeleteUserDefinedFunctionResponse":{ + "type":"structure", + "members":{ + } + }, + "DescriptionString":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + }, + "DescriptionStringRemovable":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + }, + "DevEndpoint":{ + "type":"structure", + "members":{ + "EndpointName":{"shape":"GenericString"}, + "RoleArn":{"shape":"RoleArn"}, + "SecurityGroupIds":{"shape":"StringList"}, + "SubnetId":{"shape":"GenericString"}, + "YarnEndpointAddress":{"shape":"GenericString"}, + "PublicAddress":{"shape":"GenericString"}, + "Status":{"shape":"GenericString"}, + "NumberOfNodes":{"shape":"IntegerValue"}, + "AvailabilityZone":{"shape":"GenericString"}, + "VpcId":{"shape":"GenericString"}, + "ExtraPythonLibsS3Path":{"shape":"GenericString"}, + "ExtraJarsS3Path":{"shape":"GenericString"}, + "FailureReason":{"shape":"GenericString"}, + "LastUpdateStatus":{"shape":"GenericString"}, + "CreatedTimestamp":{"shape":"TimestampValue"}, + "LastModifiedTimestamp":{"shape":"TimestampValue"}, + "PublicKey":{"shape":"GenericString"} + } + }, + "DevEndpointCustomLibraries":{ + "type":"structure", + "members":{ + "ExtraPythonLibsS3Path":{"shape":"GenericString"}, + "ExtraJarsS3Path":{"shape":"GenericString"} + } + }, + "DevEndpointList":{ + "type":"list", + "member":{"shape":"DevEndpoint"} + }, + "EntityNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "exception":true + }, + "ErrorByName":{ + "type":"map", + "key":{"shape":"NameString"}, + "value":{"shape":"ErrorDetail"} + }, + "ErrorDetail":{ + "type":"structure", + "members":{ + "ErrorCode":{"shape":"NameString"}, + "ErrorMessage":{"shape":"DescriptionString"} + } + }, + "ErrorString":{"type":"string"}, + "ExecutionProperty":{ + "type":"structure", + "members":{ + "MaxConcurrentRuns":{"shape":"MaxConcurrentRuns"} + } + }, + "FieldType":{"type":"string"}, + "FilterString":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "FormatString":{ + "type":"string", + "max":128, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "GenericMap":{ + "type":"map", + "key":{"shape":"GenericString"}, + "value":{"shape":"GenericString"} + }, + "GenericString":{"type":"string"}, + "GetCatalogImportStatusRequest":{ + "type":"structure", + "members":{ + "CatalogId":{"shape":"CatalogIdString"} + } + }, + "GetCatalogImportStatusResponse":{ + "type":"structure", + "members":{ + "ImportStatus":{"shape":"CatalogImportStatus"} + } + }, + "GetClassifierRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"NameString"} + } + }, + "GetClassifierResponse":{ + "type":"structure", + "members":{ + "Classifier":{"shape":"Classifier"} + } + }, + "GetClassifiersRequest":{ + "type":"structure", + "members":{ + "MaxResults":{"shape":"PageSize"}, + "NextToken":{"shape":"Token"} + } + }, + "GetClassifiersResponse":{ + "type":"structure", + "members":{ + "Classifiers":{"shape":"ClassifierList"}, + "NextToken":{"shape":"Token"} + } + }, + "GetConnectionRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "Name":{"shape":"NameString"} + } + }, + "GetConnectionResponse":{ + "type":"structure", + "members":{ + "Connection":{"shape":"Connection"} + } + }, + "GetConnectionsFilter":{ + "type":"structure", + "members":{ + "MatchCriteria":{"shape":"MatchCriteria"}, + "ConnectionType":{"shape":"ConnectionType"} + } + }, + "GetConnectionsRequest":{ + "type":"structure", + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "Filter":{"shape":"GetConnectionsFilter"}, + "NextToken":{"shape":"Token"}, + "MaxResults":{"shape":"PageSize"} + } + }, + "GetConnectionsResponse":{ + "type":"structure", + "members":{ + "ConnectionList":{"shape":"ConnectionList"}, + "NextToken":{"shape":"Token"} + } + }, + "GetCrawlerMetricsRequest":{ + "type":"structure", + "members":{ + "CrawlerNameList":{"shape":"CrawlerNameList"}, + "MaxResults":{"shape":"PageSize"}, + "NextToken":{"shape":"Token"} + } + }, + "GetCrawlerMetricsResponse":{ + "type":"structure", + "members":{ + "CrawlerMetricsList":{"shape":"CrawlerMetricsList"}, + "NextToken":{"shape":"Token"} + } + }, + "GetCrawlerRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"NameString"} + } + }, + "GetCrawlerResponse":{ + "type":"structure", + "members":{ + "Crawler":{"shape":"Crawler"} + } + }, + "GetCrawlersRequest":{ + "type":"structure", + "members":{ + "MaxResults":{"shape":"PageSize"}, + "NextToken":{"shape":"Token"} + } + }, + "GetCrawlersResponse":{ + "type":"structure", + "members":{ + "Crawlers":{"shape":"CrawlerList"}, + "NextToken":{"shape":"Token"} + } + }, + "GetDatabaseRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "Name":{"shape":"NameString"} + } + }, + "GetDatabaseResponse":{ + "type":"structure", + "members":{ + "Database":{"shape":"Database"} + } + }, + "GetDatabasesRequest":{ + "type":"structure", + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "NextToken":{"shape":"Token"}, + "MaxResults":{"shape":"PageSize"} + } + }, + "GetDatabasesResponse":{ + "type":"structure", + "required":["DatabaseList"], + "members":{ + "DatabaseList":{"shape":"DatabaseList"}, + "NextToken":{"shape":"Token"} + } + }, + "GetDataflowGraphRequest":{ + "type":"structure", + "members":{ + "PythonScript":{"shape":"PythonScript"} + } + }, + "GetDataflowGraphResponse":{ + "type":"structure", + "members":{ + "DagNodes":{"shape":"DagNodes"}, + "DagEdges":{"shape":"DagEdges"} + } + }, + "GetDevEndpointRequest":{ + "type":"structure", + "required":["EndpointName"], + "members":{ + "EndpointName":{"shape":"GenericString"} + } + }, + "GetDevEndpointResponse":{ + "type":"structure", + "members":{ + "DevEndpoint":{"shape":"DevEndpoint"} + } + }, + "GetDevEndpointsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{"shape":"PageSize"}, + "NextToken":{"shape":"GenericString"} + } + }, + "GetDevEndpointsResponse":{ + "type":"structure", + "members":{ + "DevEndpoints":{"shape":"DevEndpointList"}, + "NextToken":{"shape":"GenericString"} + } + }, + "GetJobRequest":{ + "type":"structure", + "required":["JobName"], + "members":{ + "JobName":{"shape":"NameString"} + } + }, + "GetJobResponse":{ + "type":"structure", + "members":{ + "Job":{"shape":"Job"} + } + }, + "GetJobRunRequest":{ + "type":"structure", + "required":[ + "JobName", + "RunId" + ], + "members":{ + "JobName":{"shape":"NameString"}, + "RunId":{"shape":"IdString"}, + "PredecessorsIncluded":{"shape":"BooleanValue"} + } + }, + "GetJobRunResponse":{ + "type":"structure", + "members":{ + "JobRun":{"shape":"JobRun"} + } + }, + "GetJobRunsRequest":{ + "type":"structure", + "required":["JobName"], + "members":{ + "JobName":{"shape":"NameString"}, + "NextToken":{"shape":"GenericString"}, + "MaxResults":{"shape":"PageSize"} + } + }, + "GetJobRunsResponse":{ + "type":"structure", + "members":{ + "JobRuns":{"shape":"JobRunList"}, + "NextToken":{"shape":"GenericString"} + } + }, + "GetJobsRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"GenericString"}, + "MaxResults":{"shape":"PageSize"} + } + }, + "GetJobsResponse":{ + "type":"structure", + "members":{ + "Jobs":{"shape":"JobList"}, + "NextToken":{"shape":"GenericString"} + } + }, + "GetMappingRequest":{ + "type":"structure", + "required":["Source"], + "members":{ + "Source":{"shape":"CatalogEntry"}, + "Sinks":{"shape":"CatalogEntries"}, + "Location":{"shape":"Location"} + } + }, + "GetMappingResponse":{ + "type":"structure", + "required":["Mapping"], + "members":{ + "Mapping":{"shape":"MappingList"} + } + }, + "GetPartitionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName", + "PartitionValues" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "TableName":{"shape":"NameString"}, + "PartitionValues":{"shape":"ValueStringList"} + } + }, + "GetPartitionResponse":{ + "type":"structure", + "members":{ + "Partition":{"shape":"Partition"} + } + }, + "GetPartitionsRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "TableName":{"shape":"NameString"}, + "Expression":{"shape":"PredicateString"}, + "NextToken":{"shape":"Token"}, + "Segment":{"shape":"Segment"}, + "MaxResults":{"shape":"PageSize"} + } + }, + "GetPartitionsResponse":{ + "type":"structure", + "members":{ + "Partitions":{"shape":"PartitionList"}, + "NextToken":{"shape":"Token"} + } + }, + "GetPlanRequest":{ + "type":"structure", + "required":[ + "Mapping", + "Source" + ], + "members":{ + "Mapping":{"shape":"MappingList"}, + "Source":{"shape":"CatalogEntry"}, + "Sinks":{"shape":"CatalogEntries"}, + "Location":{"shape":"Location"} + } + }, + "GetPlanResponse":{ + "type":"structure", + "members":{ + "PythonScript":{"shape":"PythonScript"} + } + }, + "GetTableRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "Name" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "Name":{"shape":"NameString"} + } + }, + "GetTableResponse":{ + "type":"structure", + "members":{ + "Table":{"shape":"Table"} + } + }, + "GetTableVersionsList":{ + "type":"list", + "member":{"shape":"TableVersion"} + }, + "GetTableVersionsRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "TableName":{"shape":"NameString"}, + "NextToken":{"shape":"Token"}, + "MaxResults":{"shape":"PageSize"} + } + }, + "GetTableVersionsResponse":{ + "type":"structure", + "members":{ + "TableVersions":{"shape":"GetTableVersionsList"}, + "NextToken":{"shape":"Token"} + } + }, + "GetTablesRequest":{ + "type":"structure", + "required":["DatabaseName"], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "Expression":{"shape":"FilterString"}, + "NextToken":{"shape":"Token"}, + "MaxResults":{"shape":"PageSize"} + } + }, + "GetTablesResponse":{ + "type":"structure", + "members":{ + "TableList":{"shape":"TableList"}, + "NextToken":{"shape":"Token"} + } + }, + "GetTriggerRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"NameString"} + } + }, + "GetTriggerResponse":{ + "type":"structure", + "members":{ + "Trigger":{"shape":"Trigger"} + } + }, + "GetTriggersRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"GenericString"}, + "DependentJobName":{"shape":"NameString"}, + "MaxResults":{"shape":"PageSize"} + } + }, + "GetTriggersResponse":{ + "type":"structure", + "members":{ + "Triggers":{"shape":"TriggerList"}, + "NextToken":{"shape":"GenericString"} + } + }, + "GetUserDefinedFunctionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "FunctionName" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "FunctionName":{"shape":"NameString"} + } + }, + "GetUserDefinedFunctionResponse":{ + "type":"structure", + "members":{ + "UserDefinedFunction":{"shape":"UserDefinedFunction"} + } + }, + "GetUserDefinedFunctionsRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "Pattern" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "Pattern":{"shape":"NameString"}, + "NextToken":{"shape":"Token"}, + "MaxResults":{"shape":"PageSize"} + } + }, + "GetUserDefinedFunctionsResponse":{ + "type":"structure", + "members":{ + "UserDefinedFunctions":{"shape":"UserDefinedFunctionList"}, + "NextToken":{"shape":"Token"} + } + }, + "GrokClassifier":{ + "type":"structure", + "required":[ + "Name", + "Classification", + "GrokPattern" + ], + "members":{ + "Name":{"shape":"NameString"}, + "Classification":{"shape":"Classification"}, + "CreationTime":{"shape":"Timestamp"}, + "LastUpdated":{"shape":"Timestamp"}, + "Version":{"shape":"VersionId"}, + "GrokPattern":{"shape":"GrokPattern"}, + "CustomPatterns":{"shape":"CustomPatterns"} + } + }, + "GrokPattern":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\t]*" + }, + "IdString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "IdempotentParameterMismatchException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "exception":true + }, + "ImportCatalogToGlueRequest":{ + "type":"structure", + "members":{ + "CatalogId":{"shape":"CatalogIdString"} + } + }, + "ImportCatalogToGlueResponse":{ + "type":"structure", + "members":{ + } + }, + "Integer":{"type":"integer"}, + "IntegerFlag":{ + "type":"integer", + "max":1, + "min":0 + }, + "IntegerValue":{"type":"integer"}, + "InternalServiceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "exception":true, + "fault":true + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "exception":true + }, + "JdbcTarget":{ + "type":"structure", + "members":{ + "ConnectionName":{"shape":"ConnectionName"}, + "Path":{"shape":"Path"}, + "Exclusions":{"shape":"PathList"} + } + }, + "JdbcTargetList":{ + "type":"list", + "member":{"shape":"JdbcTarget"} + }, + "Job":{ + "type":"structure", + "members":{ + "Name":{"shape":"NameString"}, + "Description":{"shape":"DescriptionString"}, + "LogUri":{"shape":"UriString"}, + "Role":{"shape":"RoleString"}, + "CreatedOn":{"shape":"TimestampValue"}, + "LastModifiedOn":{"shape":"TimestampValue"}, + "ExecutionProperty":{"shape":"ExecutionProperty"}, + "Command":{"shape":"JobCommand"}, + "DefaultArguments":{"shape":"GenericMap"}, + "Connections":{"shape":"ConnectionsList"}, + "MaxRetries":{"shape":"MaxRetries"}, + "AllocatedCapacity":{"shape":"IntegerValue"} + } + }, + "JobBookmarkEntry":{ + "type":"structure", + "members":{ + "JobName":{"shape":"JobName"}, + "Version":{"shape":"IntegerValue"}, + "Run":{"shape":"IntegerValue"}, + "Attempt":{"shape":"IntegerValue"}, + "JobBookmark":{"shape":"JsonValue"} + } + }, + "JobCommand":{ + "type":"structure", + "members":{ + "Name":{"shape":"GenericString"}, + "ScriptLocation":{"shape":"ScriptLocationString"} + } + }, + "JobList":{ + "type":"list", + "member":{"shape":"Job"} + }, + "JobName":{"type":"string"}, + "JobRun":{ + "type":"structure", + "members":{ + "Id":{"shape":"IdString"}, + "Attempt":{"shape":"AttemptCount"}, + "PreviousRunId":{"shape":"IdString"}, + "TriggerName":{"shape":"NameString"}, + "JobName":{"shape":"NameString"}, + "StartedOn":{"shape":"TimestampValue"}, + "LastModifiedOn":{"shape":"TimestampValue"}, + "CompletedOn":{"shape":"TimestampValue"}, + "JobRunState":{"shape":"JobRunState"}, + "Arguments":{"shape":"GenericMap"}, + "ErrorMessage":{"shape":"ErrorString"}, + "PredecessorRuns":{"shape":"PredecessorList"}, + "AllocatedCapacity":{"shape":"IntegerValue"} + } + }, + "JobRunList":{ + "type":"list", + "member":{"shape":"JobRun"} + }, + "JobRunState":{ + "type":"string", + "enum":[ + "STARTING", + "RUNNING", + "STOPPING", + "STOPPED", + "SUCCEEDED", + "FAILED" + ] + }, + "JobUpdate":{ + "type":"structure", + "members":{ + "Description":{"shape":"DescriptionString"}, + "LogUri":{"shape":"UriString"}, + "Role":{"shape":"RoleString"}, + "ExecutionProperty":{"shape":"ExecutionProperty"}, + "Command":{"shape":"JobCommand"}, + "DefaultArguments":{"shape":"GenericMap"}, + "Connections":{"shape":"ConnectionsList"}, + "MaxRetries":{"shape":"MaxRetries"}, + "AllocatedCapacity":{"shape":"IntegerValue"} + } + }, + "JsonValue":{"type":"string"}, + "KeyString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "LastCrawlInfo":{ + "type":"structure", + "members":{ + "Status":{"shape":"LastCrawlStatus"}, + "ErrorMessage":{"shape":"DescriptionString"}, + "LogGroup":{"shape":"LogGroup"}, + "LogStream":{"shape":"LogStream"}, + "MessagePrefix":{"shape":"MessagePrefix"}, + "StartTime":{"shape":"Timestamp"} + } + }, + "LastCrawlStatus":{ + "type":"string", + "enum":[ + "SUCCEEDED", + "CANCELLED", + "FAILED" + ] + }, + "Location":{ + "type":"structure", + "members":{ + "Jdbc":{"shape":"CodeGenNodeArgs"}, + "S3":{"shape":"CodeGenNodeArgs"} + } + }, + "LocationMap":{ + "type":"map", + "key":{"shape":"ColumnValuesString"}, + "value":{"shape":"ColumnValuesString"} + }, + "LocationString":{ + "type":"string", + "max":2056, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + }, + "LogGroup":{ + "type":"string", + "max":512, + "min":1, + "pattern":"[\\.\\-_/#A-Za-z0-9]+" + }, + "LogStream":{ + "type":"string", + "max":512, + "min":1, + "pattern":"[^:*]*" + }, + "Logical":{ + "type":"string", + "enum":["AND"] + }, + "LogicalOperator":{ + "type":"string", + "enum":["EQUALS"] + }, + "MappingEntry":{ + "type":"structure", + "members":{ + "SourceTable":{"shape":"TableName"}, + "SourcePath":{"shape":"SchemaPathString"}, + "SourceType":{"shape":"FieldType"}, + "TargetTable":{"shape":"TableName"}, + "TargetPath":{"shape":"SchemaPathString"}, + "TargetType":{"shape":"FieldType"} + } + }, + "MappingList":{ + "type":"list", + "member":{"shape":"MappingEntry"} + }, + "MatchCriteria":{ + "type":"list", + "member":{"shape":"NameString"}, + "max":10, + "min":0 + }, + "MaxConcurrentRuns":{"type":"integer"}, + "MaxRetries":{"type":"integer"}, + "MessagePrefix":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "MessageString":{"type":"string"}, + "MillisecondsCount":{"type":"long"}, + "NameString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "NameStringList":{ + "type":"list", + "member":{"shape":"NameString"} + }, + "NoScheduleException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "exception":true + }, + "NonNegativeDouble":{ + "type":"double", + "min":0.0 + }, + "NonNegativeInteger":{ + "type":"integer", + "min":0 + }, + "OperationTimeoutException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "exception":true + }, + "Order":{ + "type":"structure", + "required":[ + "Column", + "SortOrder" + ], + "members":{ + "Column":{"shape":"NameString"}, + "SortOrder":{"shape":"IntegerFlag"} + } + }, + "OrderList":{ + "type":"list", + "member":{"shape":"Order"} + }, + "PageSize":{ + "type":"integer", + "box":true, + "max":1000, + "min":1 + }, + "ParametersMap":{ + "type":"map", + "key":{"shape":"KeyString"}, + "value":{"shape":"ParametersMapValue"} + }, + "ParametersMapValue":{ + "type":"string", + "max":51200 + }, + "Partition":{ + "type":"structure", + "members":{ + "Values":{"shape":"ValueStringList"}, + "DatabaseName":{"shape":"NameString"}, + "TableName":{"shape":"NameString"}, + "CreationTime":{"shape":"Timestamp"}, + "LastAccessTime":{"shape":"Timestamp"}, + "StorageDescriptor":{"shape":"StorageDescriptor"}, + "Parameters":{"shape":"ParametersMap"}, + "LastAnalyzedTime":{"shape":"Timestamp"} + } + }, + "PartitionError":{ + "type":"structure", + "members":{ + "PartitionValues":{"shape":"ValueStringList"}, + "ErrorDetail":{"shape":"ErrorDetail"} + } + }, + "PartitionErrors":{ + "type":"list", + "member":{"shape":"PartitionError"} + }, + "PartitionInput":{ + "type":"structure", + "members":{ + "Values":{"shape":"ValueStringList"}, + "LastAccessTime":{"shape":"Timestamp"}, + "StorageDescriptor":{"shape":"StorageDescriptor"}, + "Parameters":{"shape":"ParametersMap"}, + "LastAnalyzedTime":{"shape":"Timestamp"} + } + }, + "PartitionInputList":{ + "type":"list", + "member":{"shape":"PartitionInput"}, + "max":100, + "min":0 + }, + "PartitionList":{ + "type":"list", + "member":{"shape":"Partition"} + }, + "PartitionValueList":{ + "type":"structure", + "required":["Values"], + "members":{ + "Values":{"shape":"ValueStringList"} + } + }, + "Path":{"type":"string"}, + "PathList":{ + "type":"list", + "member":{"shape":"Path"} + }, + "PhysicalConnectionRequirements":{ + "type":"structure", + "members":{ + "SubnetId":{"shape":"NameString"}, + "SecurityGroupIdList":{"shape":"SecurityGroupIdList"}, + "AvailabilityZone":{"shape":"NameString"} + } + }, + "Predecessor":{ + "type":"structure", + "members":{ + "JobName":{"shape":"NameString"}, + "RunId":{"shape":"IdString"} + } + }, + "PredecessorList":{ + "type":"list", + "member":{"shape":"Predecessor"} + }, + "Predicate":{ + "type":"structure", + "members":{ + "Logical":{"shape":"Logical"}, + "Conditions":{"shape":"ConditionList"} + } + }, + "PredicateString":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + }, + "PrincipalType":{ + "type":"string", + "enum":[ + "USER", + "ROLE", + "GROUP" + ] + }, + "PythonScript":{"type":"string"}, + "ResetJobBookmarkRequest":{ + "type":"structure", + "required":["JobName"], + "members":{ + "JobName":{"shape":"JobName"} + } + }, + "ResetJobBookmarkResponse":{ + "type":"structure", + "members":{ + "JobBookmarkEntry":{"shape":"JobBookmarkEntry"} + } + }, + "ResourceNumberLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "exception":true + }, + "ResourceType":{ + "type":"string", + "enum":[ + "JAR", + "FILE", + "ARCHIVE" + ] + }, + "ResourceUri":{ + "type":"structure", + "members":{ + "ResourceType":{"shape":"ResourceType"}, + "Uri":{"shape":"URI"} + } + }, + "ResourceUriList":{ + "type":"list", + "member":{"shape":"ResourceUri"}, + "max":1000, + "min":0 + }, + "RoleArn":{ + "type":"string", + "pattern":"arn:aws:iam::\\d{12}:role/.*" + }, + "RoleString":{"type":"string"}, + "S3Target":{ + "type":"structure", + "members":{ + "Path":{"shape":"Path"}, + "Exclusions":{"shape":"PathList"} + } + }, + "S3TargetList":{ + "type":"list", + "member":{"shape":"S3Target"} + }, + "Schedule":{ + "type":"structure", + "members":{ + "ScheduleExpression":{"shape":"CronExpression"}, + "State":{"shape":"ScheduleState"} + } + }, + "ScheduleState":{ + "type":"string", + "enum":[ + "SCHEDULED", + "NOT_SCHEDULED", + "TRANSITIONING" + ] + }, + "SchedulerNotRunningException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "exception":true + }, + "SchedulerRunningException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "exception":true + }, + "SchedulerTransitioningException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "exception":true + }, + "SchemaChangePolicy":{ + "type":"structure", + "members":{ + "UpdateBehavior":{"shape":"UpdateBehavior"}, + "DeleteBehavior":{"shape":"DeleteBehavior"} + } + }, + "SchemaPathString":{"type":"string"}, + "ScriptLocationString":{"type":"string"}, + "SecurityGroupIdList":{ + "type":"list", + "member":{"shape":"NameString"}, + "max":50, + "min":0 + }, + "Segment":{ + "type":"structure", + "required":[ + "SegmentNumber", + "TotalSegments" + ], + "members":{ + "SegmentNumber":{"shape":"NonNegativeInteger"}, + "TotalSegments":{"shape":"TotalSegmentsInteger"} + } + }, + "SerDeInfo":{ + "type":"structure", + "members":{ + "Name":{"shape":"NameString"}, + "SerializationLibrary":{"shape":"NameString"}, + "Parameters":{"shape":"ParametersMap"} + } + }, + "SkewedInfo":{ + "type":"structure", + "members":{ + "SkewedColumnNames":{"shape":"NameStringList"}, + "SkewedColumnValues":{"shape":"ColumnValueStringList"}, + "SkewedColumnValueLocationMaps":{"shape":"LocationMap"} + } + }, + "StartCrawlerRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"NameString"} + } + }, + "StartCrawlerResponse":{ + "type":"structure", + "members":{ + } + }, + "StartCrawlerScheduleRequest":{ + "type":"structure", + "required":["CrawlerName"], + "members":{ + "CrawlerName":{"shape":"NameString"} + } + }, + "StartCrawlerScheduleResponse":{ + "type":"structure", + "members":{ + } + }, + "StartJobRunRequest":{ + "type":"structure", + "required":["JobName"], + "members":{ + "JobName":{"shape":"NameString"}, + "JobRunId":{"shape":"IdString"}, + "Arguments":{"shape":"GenericMap"}, + "AllocatedCapacity":{"shape":"IntegerValue"} + } + }, + "StartJobRunResponse":{ + "type":"structure", + "members":{ + "JobRunId":{"shape":"IdString"} + } + }, + "StartTriggerRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"NameString"} + } + }, + "StartTriggerResponse":{ + "type":"structure", + "members":{ + "Name":{"shape":"NameString"} + } + }, + "StopCrawlerRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"NameString"} + } + }, + "StopCrawlerResponse":{ + "type":"structure", + "members":{ + } + }, + "StopCrawlerScheduleRequest":{ + "type":"structure", + "required":["CrawlerName"], + "members":{ + "CrawlerName":{"shape":"NameString"} + } + }, + "StopCrawlerScheduleResponse":{ + "type":"structure", + "members":{ + } + }, + "StopTriggerRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"NameString"} + } + }, + "StopTriggerResponse":{ + "type":"structure", + "members":{ + "Name":{"shape":"NameString"} + } + }, + "StorageDescriptor":{ + "type":"structure", + "members":{ + "Columns":{"shape":"ColumnList"}, + "Location":{"shape":"LocationString"}, + "InputFormat":{"shape":"FormatString"}, + "OutputFormat":{"shape":"FormatString"}, + "Compressed":{"shape":"Boolean"}, + "NumberOfBuckets":{"shape":"Integer"}, + "SerdeInfo":{"shape":"SerDeInfo"}, + "BucketColumns":{"shape":"NameStringList"}, + "SortColumns":{"shape":"OrderList"}, + "Parameters":{"shape":"ParametersMap"}, + "SkewedInfo":{"shape":"SkewedInfo"}, + "StoredAsSubDirectories":{"shape":"Boolean"} + } + }, + "StringList":{ + "type":"list", + "member":{"shape":"GenericString"} + }, + "Table":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"NameString"}, + "DatabaseName":{"shape":"NameString"}, + "Description":{"shape":"DescriptionString"}, + "Owner":{"shape":"NameString"}, + "CreateTime":{"shape":"Timestamp"}, + "UpdateTime":{"shape":"Timestamp"}, + "LastAccessTime":{"shape":"Timestamp"}, + "LastAnalyzedTime":{"shape":"Timestamp"}, + "Retention":{"shape":"NonNegativeInteger"}, + "StorageDescriptor":{"shape":"StorageDescriptor"}, + "PartitionKeys":{"shape":"ColumnList"}, + "ViewOriginalText":{"shape":"ViewTextString"}, + "ViewExpandedText":{"shape":"ViewTextString"}, + "TableType":{"shape":"TableTypeString"}, + "Parameters":{"shape":"ParametersMap"}, + "CreatedBy":{"shape":"NameString"} + } + }, + "TableError":{ + "type":"structure", + "members":{ + "TableName":{"shape":"NameString"}, + "ErrorDetail":{"shape":"ErrorDetail"} + } + }, + "TableErrors":{ + "type":"list", + "member":{"shape":"TableError"} + }, + "TableInput":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"NameString"}, + "Description":{"shape":"DescriptionString"}, + "Owner":{"shape":"NameString"}, + "LastAccessTime":{"shape":"Timestamp"}, + "LastAnalyzedTime":{"shape":"Timestamp"}, + "Retention":{"shape":"NonNegativeInteger"}, + "StorageDescriptor":{"shape":"StorageDescriptor"}, + "PartitionKeys":{"shape":"ColumnList"}, + "ViewOriginalText":{"shape":"ViewTextString"}, + "ViewExpandedText":{"shape":"ViewTextString"}, + "TableType":{"shape":"TableTypeString"}, + "Parameters":{"shape":"ParametersMap"} + } + }, + "TableList":{ + "type":"list", + "member":{"shape":"Table"} + }, + "TableName":{"type":"string"}, + "TablePrefix":{ + "type":"string", + "max":128, + "min":0 + }, + "TableTypeString":{ + "type":"string", + "max":255 + }, + "TableVersion":{ + "type":"structure", + "members":{ + "Table":{"shape":"Table"}, + "VersionId":{"shape":"VersionString"} + } + }, + "Timestamp":{"type":"timestamp"}, + "TimestampValue":{"type":"timestamp"}, + "Token":{"type":"string"}, + "TotalSegmentsInteger":{ + "type":"integer", + "max":10, + "min":1 + }, + "Trigger":{ + "type":"structure", + "members":{ + "Name":{"shape":"NameString"}, + "Id":{"shape":"IdString"}, + "Type":{"shape":"TriggerType"}, + "State":{"shape":"TriggerState"}, + "Description":{"shape":"DescriptionString"}, + "Schedule":{"shape":"GenericString"}, + "Actions":{"shape":"ActionList"}, + "Predicate":{"shape":"Predicate"} + } + }, + "TriggerList":{ + "type":"list", + "member":{"shape":"Trigger"} + }, + "TriggerState":{ + "type":"string", + "enum":[ + "CREATING", + "CREATED", + "ACTIVATING", + "ACTIVATED", + "DEACTIVATING", + "DEACTIVATED", + "DELETING", + "UPDATING" + ] + }, + "TriggerType":{ + "type":"string", + "enum":[ + "SCHEDULED", + "CONDITIONAL", + "ON_DEMAND" + ] + }, + "TriggerUpdate":{ + "type":"structure", + "members":{ + "Name":{"shape":"NameString"}, + "Description":{"shape":"DescriptionString"}, + "Schedule":{"shape":"GenericString"}, + "Actions":{"shape":"ActionList"}, + "Predicate":{"shape":"Predicate"} + } + }, + "URI":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + }, + "UpdateBehavior":{ + "type":"string", + "enum":[ + "LOG", + "UPDATE_IN_DATABASE" + ] + }, + "UpdateClassifierRequest":{ + "type":"structure", + "members":{ + "GrokClassifier":{"shape":"UpdateGrokClassifierRequest"} + } + }, + "UpdateClassifierResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateConnectionRequest":{ + "type":"structure", + "required":[ + "Name", + "ConnectionInput" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "Name":{"shape":"NameString"}, + "ConnectionInput":{"shape":"ConnectionInput"} + } + }, + "UpdateConnectionResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateCrawlerRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"NameString"}, + "Role":{"shape":"RoleArn"}, + "DatabaseName":{"shape":"DatabaseName"}, + "Description":{"shape":"DescriptionStringRemovable"}, + "Targets":{"shape":"CrawlerTargets"}, + "Schedule":{"shape":"CronExpression"}, + "Classifiers":{"shape":"ClassifierNameList"}, + "TablePrefix":{"shape":"TablePrefix"}, + "SchemaChangePolicy":{"shape":"SchemaChangePolicy"} + } + }, + "UpdateCrawlerResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateCrawlerScheduleRequest":{ + "type":"structure", + "required":["CrawlerName"], + "members":{ + "CrawlerName":{"shape":"NameString"}, + "Schedule":{"shape":"CronExpression"} + } + }, + "UpdateCrawlerScheduleResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateDatabaseRequest":{ + "type":"structure", + "required":[ + "Name", + "DatabaseInput" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "Name":{"shape":"NameString"}, + "DatabaseInput":{"shape":"DatabaseInput"} + } + }, + "UpdateDatabaseResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateDevEndpointRequest":{ + "type":"structure", + "required":["EndpointName"], + "members":{ + "EndpointName":{"shape":"GenericString"}, + "PublicKey":{"shape":"GenericString"}, + "CustomLibraries":{"shape":"DevEndpointCustomLibraries"} + } + }, + "UpdateDevEndpointResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateGrokClassifierRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"NameString"}, + "Classification":{"shape":"Classification"}, + "GrokPattern":{"shape":"GrokPattern"}, + "CustomPatterns":{"shape":"CustomPatterns"} + } + }, + "UpdateJobRequest":{ + "type":"structure", + "required":[ + "JobName", + "JobUpdate" + ], + "members":{ + "JobName":{"shape":"NameString"}, + "JobUpdate":{"shape":"JobUpdate"} + } + }, + "UpdateJobResponse":{ + "type":"structure", + "members":{ + "JobName":{"shape":"NameString"} + } + }, + "UpdatePartitionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName", + "PartitionValueList", + "PartitionInput" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "TableName":{"shape":"NameString"}, + "PartitionValueList":{"shape":"BoundedPartitionValueList"}, + "PartitionInput":{"shape":"PartitionInput"} + } + }, + "UpdatePartitionResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateTableRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableInput" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "TableInput":{"shape":"TableInput"} + } + }, + "UpdateTableResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateTriggerRequest":{ + "type":"structure", + "required":[ + "Name", + "TriggerUpdate" + ], + "members":{ + "Name":{"shape":"NameString"}, + "TriggerUpdate":{"shape":"TriggerUpdate"} + } + }, + "UpdateTriggerResponse":{ + "type":"structure", + "members":{ + "Trigger":{"shape":"Trigger"} + } + }, + "UpdateUserDefinedFunctionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "FunctionName", + "FunctionInput" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "FunctionName":{"shape":"NameString"}, + "FunctionInput":{"shape":"UserDefinedFunctionInput"} + } + }, + "UpdateUserDefinedFunctionResponse":{ + "type":"structure", + "members":{ + } + }, + "UriString":{"type":"string"}, + "UserDefinedFunction":{ + "type":"structure", + "members":{ + "FunctionName":{"shape":"NameString"}, + "ClassName":{"shape":"NameString"}, + "OwnerName":{"shape":"NameString"}, + "OwnerType":{"shape":"PrincipalType"}, + "CreateTime":{"shape":"Timestamp"}, + "ResourceUris":{"shape":"ResourceUriList"} + } + }, + "UserDefinedFunctionInput":{ + "type":"structure", + "members":{ + "FunctionName":{"shape":"NameString"}, + "ClassName":{"shape":"NameString"}, + "OwnerName":{"shape":"NameString"}, + "OwnerType":{"shape":"PrincipalType"}, + "ResourceUris":{"shape":"ResourceUriList"} + } + }, + "UserDefinedFunctionList":{ + "type":"list", + "member":{"shape":"UserDefinedFunction"} + }, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "exception":true + }, + "ValueString":{ + "type":"string", + "max":1024 + }, + "ValueStringList":{ + "type":"list", + "member":{"shape":"ValueString"} + }, + "VersionId":{"type":"long"}, + "VersionMismatchException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "exception":true + }, + "VersionString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "ViewTextString":{ + "type":"string", + "max":2048 + } + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/AWS Glue/2017-03-31/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/AWS Glue/2017-03-31/docs-2.json new file mode 100644 index 000000000..1b4cd7bf7 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/AWS Glue/2017-03-31/docs-2.json @@ -0,0 +1,2474 @@ +{ + "version": "2.0", + "service": "Defines service operations used by the GlueFrontendService", + "operations": { + "BatchCreatePartition": "

Creates one or more partitions in a batch operation.

", + "BatchDeleteConnection": "

Deletes a list of connection definitions from the Data Catalog.

", + "BatchDeletePartition": "

Deletes one or more partitions in a batch operation.

", + "BatchDeleteTable": "

Deletes multiple tables at once.

", + "BatchGetPartition": "

Retrieves partitions in a batch request.

", + "CreateClassifier": "

Creates a Classifier in the user's account.

", + "CreateConnection": "

Creates a connection definition in the Data Catalog.

", + "CreateCrawler": "

Creates a new Crawler with specified targets, role, configuration, and optional schedule. At least one crawl target must be specified, in either the s3Targets or the jdbcTargets field.

", + "CreateDatabase": "

Creates a new database in a Data Catalog.

", + "CreateDevEndpoint": "

Creates a new DevEndpoint.

", + "CreateJob": "

Creates a new job.

", + "CreatePartition": "

Creates a new partition.

", + "CreateScript": "

Transforms a directed acyclic graph (DAG) into a Python script.

", + "CreateTable": "

Creates a new table definition in the Data Catalog.

", + "CreateTrigger": "

Creates a new trigger.

", + "CreateUserDefinedFunction": "

Creates a new function definition in the Data Catalog.

", + "DeleteClassifier": "

Removes a Classifier from the metadata store.

", + "DeleteConnection": "

Deletes a connection from the Data Catalog.

", + "DeleteCrawler": "

Removes a specified Crawler from the metadata store, unless the Crawler state is RUNNING.

", + "DeleteDatabase": "

Removes a specified Database from a Data Catalog.

", + "DeleteDevEndpoint": "

Deletes a specified DevEndpoint.

", + "DeleteJob": "

Deletes a specified job.

", + "DeletePartition": "

Deletes a specified partition.

", + "DeleteTable": "

Removes a table definition from the Data Catalog.

", + "DeleteTrigger": "

Deletes a specified trigger.

", + "DeleteUserDefinedFunction": "

Deletes an existing function definition from the Data Catalog.

", + "GetCatalogImportStatus": "

Retrieves the status of a migration operation.

", + "GetClassifier": "

Retrieve a Classifier by name.

", + "GetClassifiers": "

Lists all Classifier objects in the metadata store.

", + "GetConnection": "

Retrieves a connection definition from the Data Catalog.

", + "GetConnections": "

Retrieves a list of connection definitions from the Data Catalog.

", + "GetCrawler": "

Retrieves metadata for a specified Crawler.

", + "GetCrawlerMetrics": "

Retrieves metrics about specified crawlers.

", + "GetCrawlers": "

Retrieves metadata for all Crawlers defined in the customer account.

", + "GetDatabase": "

Retrieves the definition of a specified database.

", + "GetDatabases": "

Retrieves all Databases defined in a given Data Catalog.

", + "GetDataflowGraph": "

Transforms a Python script into a directed acyclic graph (DAG).

", + "GetDevEndpoint": "

Retrieves information about a specified DevEndpoint.

", + "GetDevEndpoints": "

Retrieves all the DevEndpoints in this AWS account.

", + "GetJob": "

Retrieves an existing job definition.

", + "GetJobRun": "

Retrieves the metadata for a given job run.

", + "GetJobRuns": "

Retrieves metadata for all runs of a given job.

", + "GetJobs": "

Retrieves all current jobs.

", + "GetMapping": "

Creates mappings.

", + "GetPartition": "

Retrieves information about a specified partition.

", + "GetPartitions": "

Retrieves information about the partitions in a table.

", + "GetPlan": "

Gets a Python script to perform a specified mapping.

", + "GetTable": "

Retrieves the Table definition in a Data Catalog for a specified table.

", + "GetTableVersions": "

Retrieves a list of strings that identify available versions of a specified table.

", + "GetTables": "

Retrieves the definitions of some or all of the tables in a given Database.

", + "GetTrigger": "

Retrieves the definition of a trigger.

", + "GetTriggers": "

Gets all the triggers associated with a job.

", + "GetUserDefinedFunction": "

Retrieves a specified function definition from the Data Catalog.

", + "GetUserDefinedFunctions": "

Retrieves a multiple function definitions from the Data Catalog.

", + "ImportCatalogToGlue": "

Imports an existing Athena Data Catalog to AWS Glue

", + "ResetJobBookmark": "

Resets a bookmark entry.

", + "StartCrawler": "

Starts a crawl using the specified Crawler, regardless of what is scheduled. If the Crawler is already running, does nothing.

", + "StartCrawlerSchedule": "

Changes the schedule state of the specified crawler to SCHEDULED, unless the crawler is already running or the schedule state is already SCHEDULED.

", + "StartJobRun": "

Runs a job.

", + "StartTrigger": "

Starts an existing trigger.

", + "StopCrawler": "

If the specified Crawler is running, stops the crawl.

", + "StopCrawlerSchedule": "

Sets the schedule state of the specified crawler to NOT_SCHEDULED, but does not stop the crawler if it is already running.

", + "StopTrigger": "

Stops a specified trigger.

", + "UpdateClassifier": "

Modifies an existing Classifier.

", + "UpdateConnection": "

Updates a connection definition in the Data Catalog.

", + "UpdateCrawler": "

Updates a Crawler. If a Crawler is running, you must stop it using StopCrawler before updating it.

", + "UpdateCrawlerSchedule": "

Updates the schedule of a crawler using a Cron expression.

", + "UpdateDatabase": "

Updates an existing database definition in a Data Catalog.

", + "UpdateDevEndpoint": "

Updates a specified DevEndpoint.

", + "UpdateJob": "

Updates an existing job definition.

", + "UpdatePartition": "

Updates a partition.

", + "UpdateTable": "

Updates a metadata table in the Data Catalog.

", + "UpdateTrigger": "

Updates a trigger definition.

", + "UpdateUserDefinedFunction": "

Updates an existing function definition in the Data Catalog.

" + }, + "shapes": { + "AccessDeniedException": { + "base": "

Access to a resource was denied.

", + "refs": { + } + }, + "Action": { + "base": null, + "refs": { + "ActionList$member": null + } + }, + "ActionList": { + "base": null, + "refs": { + "CreateTriggerRequest$Actions": "

The actions initiated by this trigger when it fires.

", + "Trigger$Actions": "

The actions initiated by this trigger.

", + "TriggerUpdate$Actions": "

The actions initiated by this trigger.

" + } + }, + "AlreadyExistsException": { + "base": "

A resource to be created or added already exists.

", + "refs": { + } + }, + "AttemptCount": { + "base": null, + "refs": { + "JobRun$Attempt": "

The number or the attempt to run this job.

" + } + }, + "BatchCreatePartitionRequest": { + "base": null, + "refs": { + } + }, + "BatchCreatePartitionResponse": { + "base": null, + "refs": { + } + }, + "BatchDeleteConnectionRequest": { + "base": null, + "refs": { + } + }, + "BatchDeleteConnectionResponse": { + "base": null, + "refs": { + } + }, + "BatchDeletePartitionRequest": { + "base": null, + "refs": { + } + }, + "BatchDeletePartitionResponse": { + "base": null, + "refs": { + } + }, + "BatchDeletePartitionValueList": { + "base": null, + "refs": { + "BatchDeletePartitionRequest$PartitionsToDelete": "

A list of PartitionInput structures that define the partitions to be deleted.

" + } + }, + "BatchDeleteTableNameList": { + "base": null, + "refs": { + "BatchDeleteTableRequest$TablesToDelete": "

A list of the table to delete.

" + } + }, + "BatchDeleteTableRequest": { + "base": null, + "refs": { + } + }, + "BatchDeleteTableResponse": { + "base": null, + "refs": { + } + }, + "BatchGetPartitionRequest": { + "base": null, + "refs": { + } + }, + "BatchGetPartitionResponse": { + "base": null, + "refs": { + } + }, + "BatchGetPartitionValueList": { + "base": null, + "refs": { + "BatchGetPartitionRequest$PartitionsToGet": "

A list of partition values identifying the partitions to retrieve.

", + "BatchGetPartitionResponse$UnprocessedKeys": "

A list of the partition values in the request for which partions were not returned.

" + } + }, + "Boolean": { + "base": null, + "refs": { + "CatalogImportStatus$ImportCompleted": "

True if the migration has completed, or False otherwise.

", + "CodeGenNodeArg$Param": "

True if the value is used as a parameter.

", + "CrawlerMetrics$StillEstimating": "

True if the crawler is estimating its

", + "StorageDescriptor$Compressed": "

True if the data in the table is compressed, or False if not.

", + "StorageDescriptor$StoredAsSubDirectories": "

True if the table data is stored in subdirectories, or False if not.

" + } + }, + "BooleanValue": { + "base": null, + "refs": { + "GetJobRunRequest$PredecessorsIncluded": "

A list of the predecessor runs to return as well.

" + } + }, + "BoundedPartitionValueList": { + "base": null, + "refs": { + "UpdatePartitionRequest$PartitionValueList": "

A list of the values defining the partition.

" + } + }, + "CatalogEntries": { + "base": null, + "refs": { + "GetMappingRequest$Sinks": "

A list of target tables.

", + "GetPlanRequest$Sinks": "

The target tables.

" + } + }, + "CatalogEntry": { + "base": "

Specifies a table definition in the Data Catalog.

", + "refs": { + "CatalogEntries$member": null, + "GetMappingRequest$Source": "

Specifies the source table.

", + "GetPlanRequest$Source": "

The source table.

" + } + }, + "CatalogIdString": { + "base": null, + "refs": { + "BatchCreatePartitionRequest$CatalogId": "

The ID of the catalog in which the partion is to be created. Currently, this should be the AWS account ID.

", + "BatchDeleteConnectionRequest$CatalogId": "

The ID of the Data Catalog in which the connections reside. If none is supplied, the AWS account ID is used by default.

", + "BatchDeletePartitionRequest$CatalogId": "

The ID of the Data Catalog where the partition to be deleted resides. If none is supplied, the AWS account ID is used by default.

", + "BatchDeleteTableRequest$CatalogId": "

The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default.

", + "BatchGetPartitionRequest$CatalogId": "

The ID of the Data Catalog where the partitions in question reside. If none is supplied, the AWS account ID is used by default.

", + "CreateConnectionRequest$CatalogId": "

The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.

", + "CreateDatabaseRequest$CatalogId": "

The ID of the Data Catalog in which to create the database. If none is supplied, the AWS account ID is used by default.

", + "CreatePartitionRequest$CatalogId": "

The ID of the catalog in which the partion is to be created. Currently, this should be the AWS account ID.

", + "CreateTableRequest$CatalogId": "

The ID of the Data Catalog in which to create the Table. If none is supplied, the AWS account ID is used by default.

", + "CreateUserDefinedFunctionRequest$CatalogId": "

The ID of the Data Catalog in which to create the function. If none is supplied, the AWS account ID is used by default.

", + "DeleteConnectionRequest$CatalogId": "

The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default.

", + "DeleteDatabaseRequest$CatalogId": "

The ID of the Data Catalog in which the database resides. If none is supplied, the AWS account ID is used by default.

", + "DeletePartitionRequest$CatalogId": "

The ID of the Data Catalog where the partition to be deleted resides. If none is supplied, the AWS account ID is used by default.

", + "DeleteTableRequest$CatalogId": "

The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default.

", + "DeleteUserDefinedFunctionRequest$CatalogId": "

The ID of the Data Catalog where the function to be deleted is located. If none is supplied, the AWS account ID is used by default.

", + "GetCatalogImportStatusRequest$CatalogId": "

The ID of the catalog to migrate. Currently, this should be the AWS account ID.

", + "GetConnectionRequest$CatalogId": "

The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default.

", + "GetConnectionsRequest$CatalogId": "

The ID of the Data Catalog in which the connections reside. If none is supplied, the AWS account ID is used by default.

", + "GetDatabaseRequest$CatalogId": "

The ID of the Data Catalog in which the database resides. If none is supplied, the AWS account ID is used by default.

", + "GetDatabasesRequest$CatalogId": "

The ID of the Data Catalog from which to retrieve Databases. If none is supplied, the AWS account ID is used by default.

", + "GetPartitionRequest$CatalogId": "

The ID of the Data Catalog where the partition in question resides. If none is supplied, the AWS account ID is used by default.

", + "GetPartitionsRequest$CatalogId": "

The ID of the Data Catalog where the partitions in question reside. If none is supplied, the AWS account ID is used by default.

", + "GetTableRequest$CatalogId": "

The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default.

", + "GetTableVersionsRequest$CatalogId": "

The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.

", + "GetTablesRequest$CatalogId": "

The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.

", + "GetUserDefinedFunctionRequest$CatalogId": "

The ID of the Data Catalog where the function to be retrieved is located. If none is supplied, the AWS account ID is used by default.

", + "GetUserDefinedFunctionsRequest$CatalogId": "

The ID of the Data Catalog where the functions to be retrieved are located. If none is supplied, the AWS account ID is used by default.

", + "ImportCatalogToGlueRequest$CatalogId": "

The ID of the catalog to import. Currently, this should be the AWS account ID.

", + "UpdateConnectionRequest$CatalogId": "

The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default.

", + "UpdateDatabaseRequest$CatalogId": "

The ID of the Data Catalog in which the metadata database resides. If none is supplied, the AWS account ID is used by default.

", + "UpdatePartitionRequest$CatalogId": "

The ID of the Data Catalog where the partition to be updated resides. If none is supplied, the AWS account ID is used by default.

", + "UpdateTableRequest$CatalogId": "

The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default.

", + "UpdateUserDefinedFunctionRequest$CatalogId": "

The ID of the Data Catalog where the function to be updated is located. If none is supplied, the AWS account ID is used by default.

" + } + }, + "CatalogImportStatus": { + "base": "

A structure containing migration status information.

", + "refs": { + "GetCatalogImportStatusResponse$ImportStatus": "

The status of the specified catalog migration.

" + } + }, + "Classification": { + "base": null, + "refs": { + "CreateGrokClassifierRequest$Classification": "

The type of result that the classifier matches, such as Twitter Json, Omniture logs, Cloudwatch logs, and so forth.

", + "GrokClassifier$Classification": "

The data form that the classifier matches, such as Twitter, JSON, Omniture Logs, and so forth.

", + "UpdateGrokClassifierRequest$Classification": "

The type of result that the classifier matches, such as Twitter Json, Omniture logs, Cloudwatch logs, and so forth.

" + } + }, + "Classifier": { + "base": "

Classifiers are written in Python and triggered during a Crawl Task. You can write your own Classifiers to best categorize your data sources and specify the appropriate schemas to use for them. A Classifier first checks whether a given file is in a format it can handle, and then, if so, creates a schema in the form of a StructType object that matches that data format.

", + "refs": { + "ClassifierList$member": null, + "GetClassifierResponse$Classifier": "

The requested Classifier.

" + } + }, + "ClassifierList": { + "base": null, + "refs": { + "GetClassifiersResponse$Classifiers": "

The requested list of Classifier objects.

" + } + }, + "ClassifierNameList": { + "base": null, + "refs": { + "Crawler$Classifiers": "

A list of custom Classifiers associated with this Crawler.

", + "CreateCrawlerRequest$Classifiers": "

A list of custom Classifier names that the user has registered. By default, all AWS classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification.

", + "UpdateCrawlerRequest$Classifiers": "

A list of custom Classifier names that the user has registered. By default, all AWS classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification.

" + } + }, + "CodeGenArgName": { + "base": null, + "refs": { + "CodeGenEdge$TargetParameter": "

The target of the edge.

", + "CodeGenNodeArg$Name": "

The name of the argument or property.

" + } + }, + "CodeGenArgValue": { + "base": null, + "refs": { + "CodeGenNodeArg$Value": "

The value of the argument or property.

" + } + }, + "CodeGenEdge": { + "base": "

Represents a directional edge in a directed acyclic graph (DAG).

", + "refs": { + "DagEdges$member": null + } + }, + "CodeGenIdentifier": { + "base": null, + "refs": { + "CodeGenEdge$Source": "

The ID of the node at which the edge starts.

", + "CodeGenEdge$Target": "

The ID of the node at which the edge ends.

", + "CodeGenNode$Id": "

A node identifier that is unique within the node's graph.

" + } + }, + "CodeGenNode": { + "base": "

Represents a node in a directed acyclic graph (DAG)

", + "refs": { + "DagNodes$member": null + } + }, + "CodeGenNodeArg": { + "base": "

An argument or property of a node.

", + "refs": { + "CodeGenNodeArgs$member": null + } + }, + "CodeGenNodeArgs": { + "base": null, + "refs": { + "CodeGenNode$Args": "

Properties of the node, in the form of name-value pairs.

", + "Location$Jdbc": "

A JDBC location.

", + "Location$S3": "

An AWS S3 location.

" + } + }, + "CodeGenNodeType": { + "base": null, + "refs": { + "CodeGenNode$NodeType": "

The type of node this is.

" + } + }, + "Column": { + "base": "

A column in a Table.

", + "refs": { + "ColumnList$member": null + } + }, + "ColumnList": { + "base": null, + "refs": { + "StorageDescriptor$Columns": "

A list of the Columns in the table.

", + "Table$PartitionKeys": "

A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.

", + "TableInput$PartitionKeys": "

A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.

" + } + }, + "ColumnTypeString": { + "base": null, + "refs": { + "Column$Type": "

The datatype of data in the Column.

" + } + }, + "ColumnValueStringList": { + "base": null, + "refs": { + "SkewedInfo$SkewedColumnValues": "

A list of values that appear so frequently as to be considered skewed.

" + } + }, + "ColumnValuesString": { + "base": null, + "refs": { + "ColumnValueStringList$member": null, + "LocationMap$key": null, + "LocationMap$value": null + } + }, + "CommentString": { + "base": null, + "refs": { + "Column$Comment": "

Free-form text comment.

" + } + }, + "ConcurrentModificationException": { + "base": "

Two processes are trying to modify a resource simultaneously.

", + "refs": { + } + }, + "ConcurrentRunsExceededException": { + "base": "

Too many jobs are being run concurrently.

", + "refs": { + } + }, + "Condition": { + "base": null, + "refs": { + "ConditionList$member": null + } + }, + "ConditionList": { + "base": null, + "refs": { + "Predicate$Conditions": "

A list of the conditions that determine when the trigger will fire.

" + } + }, + "Connection": { + "base": "

Defines a connection to a data source.

", + "refs": { + "ConnectionList$member": null, + "GetConnectionResponse$Connection": "

The requested connection definition.

" + } + }, + "ConnectionInput": { + "base": "

A structure used to specify a connection to create or update.

", + "refs": { + "CreateConnectionRequest$ConnectionInput": "

A ConnectionInput object defining the connection to create.

", + "UpdateConnectionRequest$ConnectionInput": "

A ConnectionInput object that redefines the connection in question.

" + } + }, + "ConnectionList": { + "base": null, + "refs": { + "GetConnectionsResponse$ConnectionList": "

A list of requested connection definitions.

" + } + }, + "ConnectionName": { + "base": null, + "refs": { + "JdbcTarget$ConnectionName": "

The name of the connection to use for the JDBC target.

" + } + }, + "ConnectionProperties": { + "base": null, + "refs": { + "Connection$ConnectionProperties": "

A list of key-value pairs used as parameters for this connection.

", + "ConnectionInput$ConnectionProperties": "

A list of key-value pairs used as parameters for this connection.

" + } + }, + "ConnectionPropertyKey": { + "base": null, + "refs": { + "ConnectionProperties$key": null + } + }, + "ConnectionType": { + "base": null, + "refs": { + "Connection$ConnectionType": "

The type of the connection.

", + "ConnectionInput$ConnectionType": "

The type of the connection.

", + "GetConnectionsFilter$ConnectionType": "

The type of connections to return.

" + } + }, + "ConnectionsList": { + "base": "

Specifies the connections used by a job.

", + "refs": { + "CreateJobRequest$Connections": "

The connections used for this job.

", + "Job$Connections": "

The connections used for this job.

", + "JobUpdate$Connections": "

The connections used for this job.

" + } + }, + "Crawler": { + "base": "

Specifies a crawler program that examines a data source and uses classifiers to try to its schema. If successful, the crawler records metatdata concerning the data source in the Data Catalog.

", + "refs": { + "CrawlerList$member": null, + "GetCrawlerResponse$Crawler": "

The metadata for the specified Crawler.

" + } + }, + "CrawlerList": { + "base": null, + "refs": { + "GetCrawlersResponse$Crawlers": "

A list of Crawler metadata.

" + } + }, + "CrawlerMetrics": { + "base": "

Metrics for a specified crawler.

", + "refs": { + "CrawlerMetricsList$member": null + } + }, + "CrawlerMetricsList": { + "base": null, + "refs": { + "GetCrawlerMetricsResponse$CrawlerMetricsList": "

A list of metrics for the specified crawler.

" + } + }, + "CrawlerNameList": { + "base": null, + "refs": { + "GetCrawlerMetricsRequest$CrawlerNameList": "

A list of the names of crawlers about which to retrieve metrics.

" + } + }, + "CrawlerNotRunningException": { + "base": "

The specified crawler is not running.

", + "refs": { + } + }, + "CrawlerRunningException": { + "base": "

The operation cannot be performed because the crawler is already running.

", + "refs": { + } + }, + "CrawlerState": { + "base": null, + "refs": { + "Crawler$State": "

Indicates whether this Crawler is running, or whether a run is pending.

" + } + }, + "CrawlerStoppingException": { + "base": "

The specified crawler is stopping.

", + "refs": { + } + }, + "CrawlerTargets": { + "base": "

Specifies crawler targets.

", + "refs": { + "Crawler$Targets": "

A collection of targets to crawl.

", + "CreateCrawlerRequest$Targets": "

A list of collection of targets to crawl.

", + "UpdateCrawlerRequest$Targets": "

A list of collection of targets to crawl.

" + } + }, + "CreateClassifierRequest": { + "base": null, + "refs": { + } + }, + "CreateClassifierResponse": { + "base": null, + "refs": { + } + }, + "CreateConnectionRequest": { + "base": null, + "refs": { + } + }, + "CreateConnectionResponse": { + "base": null, + "refs": { + } + }, + "CreateCrawlerRequest": { + "base": null, + "refs": { + } + }, + "CreateCrawlerResponse": { + "base": null, + "refs": { + } + }, + "CreateDatabaseRequest": { + "base": null, + "refs": { + } + }, + "CreateDatabaseResponse": { + "base": null, + "refs": { + } + }, + "CreateDevEndpointRequest": { + "base": null, + "refs": { + } + }, + "CreateDevEndpointResponse": { + "base": null, + "refs": { + } + }, + "CreateGrokClassifierRequest": { + "base": "

Specifies a Grok classifier for CreateClassifier to create.

", + "refs": { + "CreateClassifierRequest$GrokClassifier": "

A grok classifier to create.

" + } + }, + "CreateJobRequest": { + "base": null, + "refs": { + } + }, + "CreateJobResponse": { + "base": null, + "refs": { + } + }, + "CreatePartitionRequest": { + "base": null, + "refs": { + } + }, + "CreatePartitionResponse": { + "base": null, + "refs": { + } + }, + "CreateScriptRequest": { + "base": null, + "refs": { + } + }, + "CreateScriptResponse": { + "base": null, + "refs": { + } + }, + "CreateTableRequest": { + "base": null, + "refs": { + } + }, + "CreateTableResponse": { + "base": null, + "refs": { + } + }, + "CreateTriggerRequest": { + "base": null, + "refs": { + } + }, + "CreateTriggerResponse": { + "base": null, + "refs": { + } + }, + "CreateUserDefinedFunctionRequest": { + "base": null, + "refs": { + } + }, + "CreateUserDefinedFunctionResponse": { + "base": null, + "refs": { + } + }, + "CronExpression": { + "base": null, + "refs": { + "CreateCrawlerRequest$Schedule": "

A cron expression that can be used as a Cloudwatch event (see CloudWatch Schedule Expression Syntax. For example, to run every day at 12:15 UTC, specify: cron(15 12 * * ? *).

", + "Schedule$ScheduleExpression": "

A cron expression that can be used as a Cloudwatch event to schedule something (see CloudWatch Schedule Expression Syntax. For example, to run something every day at 12:15 UTC, you would specify: cron(15 12 * * ? *).

", + "UpdateCrawlerRequest$Schedule": "

A cron expression that can be used as a Cloudwatch event (see CloudWatch Schedule Expression Syntax. For example, to run every day at 12:15 UTC, specify: cron(15 12 * * ? *).

", + "UpdateCrawlerScheduleRequest$Schedule": "

Cron expression of the updated schedule.

" + } + }, + "CustomPatterns": { + "base": null, + "refs": { + "CreateGrokClassifierRequest$CustomPatterns": "

Custom grok patterns used by this classifier.

", + "GrokClassifier$CustomPatterns": "

Custom grok patterns used by this classifier.

", + "UpdateGrokClassifierRequest$CustomPatterns": "

Custom grok patterns used by this classifier.

" + } + }, + "DagEdges": { + "base": null, + "refs": { + "CreateScriptRequest$DagEdges": "

A list of the edges in the DAG.

", + "GetDataflowGraphResponse$DagEdges": "

A list of the edges in the resulting DAG.

" + } + }, + "DagNodes": { + "base": null, + "refs": { + "CreateScriptRequest$DagNodes": "

A list of the nodes in the DAG.

", + "GetDataflowGraphResponse$DagNodes": "

A list of the nodes in the resulting DAG.

" + } + }, + "Database": { + "base": "

The Database object represents a logical grouping of tables that may reside in a Hive metastore or an RDBMS.

", + "refs": { + "DatabaseList$member": null, + "GetDatabaseResponse$Database": "

The definition of the specified database in the catalog.

" + } + }, + "DatabaseInput": { + "base": "

The structure used to create or updata a database.

", + "refs": { + "CreateDatabaseRequest$DatabaseInput": "

A DatabaseInput object defining the metadata database to create in the catalog.

", + "UpdateDatabaseRequest$DatabaseInput": "

A DatabaseInput object specifying the new definition of the metadata database in the catalog.

" + } + }, + "DatabaseList": { + "base": null, + "refs": { + "GetDatabasesResponse$DatabaseList": "

A list of Database objects from the specified catalog.

" + } + }, + "DatabaseName": { + "base": null, + "refs": { + "Crawler$DatabaseName": "

The Database where this Crawler's output should be stored.

", + "CreateCrawlerRequest$DatabaseName": "

The Glue Database where results will be stored, such as: arn:aws:daylight:us-east-1::database/sometable/*.

", + "UpdateCrawlerRequest$DatabaseName": "

The Glue Database where results will be stored, such as: arn:aws:daylight:us-east-1::database/sometable/*.

" + } + }, + "DeleteBehavior": { + "base": null, + "refs": { + "SchemaChangePolicy$DeleteBehavior": "

The deletion behavior.

" + } + }, + "DeleteClassifierRequest": { + "base": null, + "refs": { + } + }, + "DeleteClassifierResponse": { + "base": null, + "refs": { + } + }, + "DeleteConnectionNameList": { + "base": null, + "refs": { + "BatchDeleteConnectionRequest$ConnectionNameList": "

A list of names of the connections to delete.

" + } + }, + "DeleteConnectionRequest": { + "base": null, + "refs": { + } + }, + "DeleteConnectionResponse": { + "base": null, + "refs": { + } + }, + "DeleteCrawlerRequest": { + "base": null, + "refs": { + } + }, + "DeleteCrawlerResponse": { + "base": null, + "refs": { + } + }, + "DeleteDatabaseRequest": { + "base": null, + "refs": { + } + }, + "DeleteDatabaseResponse": { + "base": null, + "refs": { + } + }, + "DeleteDevEndpointRequest": { + "base": null, + "refs": { + } + }, + "DeleteDevEndpointResponse": { + "base": null, + "refs": { + } + }, + "DeleteJobRequest": { + "base": null, + "refs": { + } + }, + "DeleteJobResponse": { + "base": null, + "refs": { + } + }, + "DeletePartitionRequest": { + "base": null, + "refs": { + } + }, + "DeletePartitionResponse": { + "base": null, + "refs": { + } + }, + "DeleteTableRequest": { + "base": null, + "refs": { + } + }, + "DeleteTableResponse": { + "base": null, + "refs": { + } + }, + "DeleteTriggerRequest": { + "base": null, + "refs": { + } + }, + "DeleteTriggerResponse": { + "base": null, + "refs": { + } + }, + "DeleteUserDefinedFunctionRequest": { + "base": null, + "refs": { + } + }, + "DeleteUserDefinedFunctionResponse": { + "base": null, + "refs": { + } + }, + "DescriptionString": { + "base": null, + "refs": { + "Connection$Description": "

Description of the connection.

", + "ConnectionInput$Description": "

Description of the connection.

", + "Crawler$Description": "

A description of this Crawler and where it should be used.

", + "CreateCrawlerRequest$Description": "

A description of the new Crawler.

", + "CreateJobRequest$Description": "

Description of the job.

", + "CreateTriggerRequest$Description": "

A description of the new trigger.

", + "Database$Description": "

Description of the database.

", + "DatabaseInput$Description": "

Description of the database

", + "ErrorDetail$ErrorMessage": "

A message describing the error.

", + "Job$Description": "

Description of this job.

", + "JobUpdate$Description": "

Description of the job.

", + "LastCrawlInfo$ErrorMessage": "

Error information about the last crawl, if an error occurred.

", + "Table$Description": "

Description of the table.

", + "TableInput$Description": "

Description of the table.

", + "Trigger$Description": "

A description of this trigger.

", + "TriggerUpdate$Description": "

A description of this trigger.

" + } + }, + "DescriptionStringRemovable": { + "base": null, + "refs": { + "UpdateCrawlerRequest$Description": "

A description of the new Crawler.

" + } + }, + "DevEndpoint": { + "base": "

A development endpoint where a developer can remotely debug ETL scripts.

", + "refs": { + "DevEndpointList$member": null, + "GetDevEndpointResponse$DevEndpoint": "

A DevEndpoint definition.

" + } + }, + "DevEndpointCustomLibraries": { + "base": "

Custom libraries to be loaded into a DevEndpoint.

", + "refs": { + "UpdateDevEndpointRequest$CustomLibraries": "

Custom Python or Java custom libraries to be loaded in the DevEndpoint.

" + } + }, + "DevEndpointList": { + "base": null, + "refs": { + "GetDevEndpointsResponse$DevEndpoints": "

A list of DevEndpoint definitions.

" + } + }, + "EntityNotFoundException": { + "base": "

A specified entity does not exist

", + "refs": { + } + }, + "ErrorByName": { + "base": null, + "refs": { + "BatchDeleteConnectionResponse$Errors": "

A map of the names of connections that were not successfully deleted to error details.

" + } + }, + "ErrorDetail": { + "base": "

Contains details about an error.

", + "refs": { + "ErrorByName$value": null, + "PartitionError$ErrorDetail": "

Details about the partition error.

", + "TableError$ErrorDetail": "

Detail about the error.

" + } + }, + "ErrorString": { + "base": null, + "refs": { + "JobRun$ErrorMessage": "

An error message associated with this job run.

" + } + }, + "ExecutionProperty": { + "base": "

An execution property of a job.

", + "refs": { + "CreateJobRequest$ExecutionProperty": "

An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.

", + "Job$ExecutionProperty": "

An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.

", + "JobUpdate$ExecutionProperty": "

An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.

" + } + }, + "FieldType": { + "base": null, + "refs": { + "MappingEntry$SourceType": "

The source type.

", + "MappingEntry$TargetType": "

The target type.

" + } + }, + "FilterString": { + "base": null, + "refs": { + "GetTablesRequest$Expression": "

A regular expression pattern. If present, only those tables whose names match the pattern are returned.

" + } + }, + "FormatString": { + "base": null, + "refs": { + "StorageDescriptor$InputFormat": "

The input format: SequenceFileInputFormat (binary), or TextInputFormat, or a custom format.

", + "StorageDescriptor$OutputFormat": "

The output format: SequenceFileOutputFormat (binary), or IgnoreKeyTextOutputFormat, or a custom format.

" + } + }, + "GenericMap": { + "base": null, + "refs": { + "Action$Arguments": null, + "CreateJobRequest$DefaultArguments": "

The default parameters for this job.

", + "Job$DefaultArguments": "

The default parameters for this job.

", + "JobRun$Arguments": "

The job arguments associated with this run.

", + "JobUpdate$DefaultArguments": "

The default parameters for this job.

", + "StartJobRunRequest$Arguments": "

Specific arguments for this job run.

" + } + }, + "GenericString": { + "base": null, + "refs": { + "CreateDevEndpointRequest$EndpointName": "

The name to be assigned to the new DevEndpoint.

", + "CreateDevEndpointRequest$SubnetId": "

The subnet ID for the new DevEndpoint to use.

", + "CreateDevEndpointRequest$PublicKey": "

The public key to use for authentication.

", + "CreateDevEndpointRequest$ExtraPythonLibsS3Path": "

Path to one or more Python libraries in an S3 bucket that should be loaded in your DevEndpoint.

", + "CreateDevEndpointRequest$ExtraJarsS3Path": "

Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint.

", + "CreateDevEndpointResponse$EndpointName": "

The name assigned to the new DevEndpoint.

", + "CreateDevEndpointResponse$Status": "

The current status of the new DevEndpoint.

", + "CreateDevEndpointResponse$SubnetId": "

The subnet ID assigned to the new DevEndpoint.

", + "CreateDevEndpointResponse$YarnEndpointAddress": "

The address of the YARN endpoint used by this DevEndpoint.

", + "CreateDevEndpointResponse$AvailabilityZone": "

The AWS availability zone where this DevEndpoint is located.

", + "CreateDevEndpointResponse$VpcId": "

The ID of the VPC used by this DevEndpoint.

", + "CreateDevEndpointResponse$ExtraPythonLibsS3Path": "

Path to one or more Python libraries in an S3 bucket that will be loaded in your DevEndpoint.

", + "CreateDevEndpointResponse$ExtraJarsS3Path": "

Path to one or more Java Jars in an S3 bucket that will be loaded in your DevEndpoint.

", + "CreateDevEndpointResponse$FailureReason": "

The reason for a current failure in this DevEndpoint.

", + "CreateTriggerRequest$Schedule": "

A cron schedule expression for the new trigger.

", + "DeleteDevEndpointRequest$EndpointName": "

The name of the DevEndpoint.

", + "DevEndpoint$EndpointName": "

The name of the DevEndpoint.

", + "DevEndpoint$SubnetId": "

The subnet ID for this DevEndpoint.

", + "DevEndpoint$YarnEndpointAddress": "

The YARN endpoint address used by this DevEndpoint.

", + "DevEndpoint$PublicAddress": "

The public address used by this DevEndpoint.

", + "DevEndpoint$Status": "

The current status of this DevEndpoint.

", + "DevEndpoint$AvailabilityZone": "

The AWS availability zone where this DevEndpoint is located.

", + "DevEndpoint$VpcId": "

The ID of the virtual private cloud (VPC) used by this DevEndpoint.

", + "DevEndpoint$ExtraPythonLibsS3Path": "

Path to one or more Python libraries in an S3 bucket that should be loaded in your DevEndpoint.

", + "DevEndpoint$ExtraJarsS3Path": "

Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint.

", + "DevEndpoint$FailureReason": "

The reason for a current failure in this DevEndpoint.

", + "DevEndpoint$LastUpdateStatus": "

The status of the last update.

", + "DevEndpoint$PublicKey": "

The public key to be used by this DevEndpoint for authentication.

", + "DevEndpointCustomLibraries$ExtraPythonLibsS3Path": "

Path to one or more Python libraries in an S3 bucket that should be loaded in your DevEndpoint.

", + "DevEndpointCustomLibraries$ExtraJarsS3Path": "

Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint.

", + "GenericMap$key": null, + "GenericMap$value": null, + "GetDevEndpointRequest$EndpointName": "

Name of the DevEndpoint for which to retrieve information.

", + "GetDevEndpointsRequest$NextToken": "

A continuation token, if this is a continuation call.

", + "GetDevEndpointsResponse$NextToken": "

A continuation token, if not all DevEndpoint definitions have yet been returned.

", + "GetJobRunsRequest$NextToken": "

A continuation token, if this is a continuation call.

", + "GetJobRunsResponse$NextToken": "

A continuation token, if not all reequested job runs have been returned.

", + "GetJobsRequest$NextToken": "

A continuation token, if this is a continuation call.

", + "GetJobsResponse$NextToken": "

A continuation token, if not all jobs have yet been returned.

", + "GetTriggersRequest$NextToken": "

A continuation token, if this is a continuation call.

", + "GetTriggersResponse$NextToken": "

A continuation token, if not all the requested triggers have yet been returned.

", + "JobCommand$Name": "

The name of this job command.

", + "StringList$member": null, + "Trigger$Schedule": "

A cron schedule expression.

", + "TriggerUpdate$Schedule": "

A cron expression specifying the schedule.

", + "UpdateDevEndpointRequest$EndpointName": "

The name of the DevEndpoint to be updated.

", + "UpdateDevEndpointRequest$PublicKey": "

The public key for the DevEndpoint to use.

" + } + }, + "GetCatalogImportStatusRequest": { + "base": null, + "refs": { + } + }, + "GetCatalogImportStatusResponse": { + "base": null, + "refs": { + } + }, + "GetClassifierRequest": { + "base": null, + "refs": { + } + }, + "GetClassifierResponse": { + "base": null, + "refs": { + } + }, + "GetClassifiersRequest": { + "base": null, + "refs": { + } + }, + "GetClassifiersResponse": { + "base": null, + "refs": { + } + }, + "GetConnectionRequest": { + "base": null, + "refs": { + } + }, + "GetConnectionResponse": { + "base": null, + "refs": { + } + }, + "GetConnectionsFilter": { + "base": "

Filters the connection definitions returned by the GetConnections API.

", + "refs": { + "GetConnectionsRequest$Filter": "

A filter that controls which connections will be returned.

" + } + }, + "GetConnectionsRequest": { + "base": null, + "refs": { + } + }, + "GetConnectionsResponse": { + "base": null, + "refs": { + } + }, + "GetCrawlerMetricsRequest": { + "base": null, + "refs": { + } + }, + "GetCrawlerMetricsResponse": { + "base": null, + "refs": { + } + }, + "GetCrawlerRequest": { + "base": null, + "refs": { + } + }, + "GetCrawlerResponse": { + "base": null, + "refs": { + } + }, + "GetCrawlersRequest": { + "base": null, + "refs": { + } + }, + "GetCrawlersResponse": { + "base": null, + "refs": { + } + }, + "GetDatabaseRequest": { + "base": null, + "refs": { + } + }, + "GetDatabaseResponse": { + "base": null, + "refs": { + } + }, + "GetDatabasesRequest": { + "base": null, + "refs": { + } + }, + "GetDatabasesResponse": { + "base": null, + "refs": { + } + }, + "GetDataflowGraphRequest": { + "base": null, + "refs": { + } + }, + "GetDataflowGraphResponse": { + "base": null, + "refs": { + } + }, + "GetDevEndpointRequest": { + "base": null, + "refs": { + } + }, + "GetDevEndpointResponse": { + "base": null, + "refs": { + } + }, + "GetDevEndpointsRequest": { + "base": null, + "refs": { + } + }, + "GetDevEndpointsResponse": { + "base": null, + "refs": { + } + }, + "GetJobRequest": { + "base": null, + "refs": { + } + }, + "GetJobResponse": { + "base": null, + "refs": { + } + }, + "GetJobRunRequest": { + "base": null, + "refs": { + } + }, + "GetJobRunResponse": { + "base": null, + "refs": { + } + }, + "GetJobRunsRequest": { + "base": null, + "refs": { + } + }, + "GetJobRunsResponse": { + "base": null, + "refs": { + } + }, + "GetJobsRequest": { + "base": null, + "refs": { + } + }, + "GetJobsResponse": { + "base": null, + "refs": { + } + }, + "GetMappingRequest": { + "base": null, + "refs": { + } + }, + "GetMappingResponse": { + "base": null, + "refs": { + } + }, + "GetPartitionRequest": { + "base": null, + "refs": { + } + }, + "GetPartitionResponse": { + "base": null, + "refs": { + } + }, + "GetPartitionsRequest": { + "base": null, + "refs": { + } + }, + "GetPartitionsResponse": { + "base": null, + "refs": { + } + }, + "GetPlanRequest": { + "base": null, + "refs": { + } + }, + "GetPlanResponse": { + "base": null, + "refs": { + } + }, + "GetTableRequest": { + "base": null, + "refs": { + } + }, + "GetTableResponse": { + "base": null, + "refs": { + } + }, + "GetTableVersionsList": { + "base": null, + "refs": { + "GetTableVersionsResponse$TableVersions": "

A list of strings identifying available versions of the specified table.

" + } + }, + "GetTableVersionsRequest": { + "base": null, + "refs": { + } + }, + "GetTableVersionsResponse": { + "base": null, + "refs": { + } + }, + "GetTablesRequest": { + "base": null, + "refs": { + } + }, + "GetTablesResponse": { + "base": null, + "refs": { + } + }, + "GetTriggerRequest": { + "base": null, + "refs": { + } + }, + "GetTriggerResponse": { + "base": null, + "refs": { + } + }, + "GetTriggersRequest": { + "base": null, + "refs": { + } + }, + "GetTriggersResponse": { + "base": null, + "refs": { + } + }, + "GetUserDefinedFunctionRequest": { + "base": null, + "refs": { + } + }, + "GetUserDefinedFunctionResponse": { + "base": null, + "refs": { + } + }, + "GetUserDefinedFunctionsRequest": { + "base": null, + "refs": { + } + }, + "GetUserDefinedFunctionsResponse": { + "base": null, + "refs": { + } + }, + "GrokClassifier": { + "base": "

A classifier that uses grok.

", + "refs": { + "Classifier$GrokClassifier": "

A GrokClassifier object.

" + } + }, + "GrokPattern": { + "base": null, + "refs": { + "CreateGrokClassifierRequest$GrokPattern": "

The grok pattern used by this classifier.

", + "GrokClassifier$GrokPattern": "

The grok pattern used by this classifier.

", + "UpdateGrokClassifierRequest$GrokPattern": "

The grok pattern used by this classifier.

" + } + }, + "IdString": { + "base": null, + "refs": { + "GetJobRunRequest$RunId": "

The ID of the job run.

", + "JobRun$Id": "

The ID of this job run.

", + "JobRun$PreviousRunId": "

The ID of the previous run of this job.

", + "Predecessor$RunId": "

The job-run ID of the precessor job run.

", + "StartJobRunRequest$JobRunId": "

The ID of the job run to start.

", + "StartJobRunResponse$JobRunId": "

The ID assigned to this job run.

", + "Trigger$Id": "

The trigger ID.

" + } + }, + "IdempotentParameterMismatchException": { + "base": "

The same unique identifier was associated with two different records.

", + "refs": { + } + }, + "ImportCatalogToGlueRequest": { + "base": null, + "refs": { + } + }, + "ImportCatalogToGlueResponse": { + "base": null, + "refs": { + } + }, + "Integer": { + "base": null, + "refs": { + "CodeGenNode$LineNumber": "

The line number of the node.

", + "StorageDescriptor$NumberOfBuckets": "

Must be specified if the table contains any dimension columns.

" + } + }, + "IntegerFlag": { + "base": null, + "refs": { + "Order$SortOrder": "

Indicates that the column is sorted in ascending order (== 1), or in descending order (==0).

" + } + }, + "IntegerValue": { + "base": null, + "refs": { + "CreateDevEndpointRequest$NumberOfNodes": "

The number of nodes to use.

", + "CreateDevEndpointResponse$NumberOfNodes": "

The number of nodes in this DevEndpoint.

", + "CreateJobRequest$AllocatedCapacity": "

The number of capacity units allocated to this job.

", + "DevEndpoint$NumberOfNodes": "

The number of nodes used by this DevEndpoint.

", + "Job$AllocatedCapacity": "

The number of capacity units allocated to this job.

", + "JobBookmarkEntry$Version": "

Version of the job.

", + "JobBookmarkEntry$Run": "

The run ID number.

", + "JobBookmarkEntry$Attempt": "

The attempt ID number.

", + "JobRun$AllocatedCapacity": "

The amount of infrastructure capacity allocated to this job run.

", + "JobUpdate$AllocatedCapacity": "

The number of capacity units allocated to this job.

", + "StartJobRunRequest$AllocatedCapacity": "

The infrastructure capacity to allocate to this job.

" + } + }, + "InternalServiceException": { + "base": "

An internal service error occurred.

", + "refs": { + } + }, + "InvalidInputException": { + "base": "

The input provided was not valid.

", + "refs": { + } + }, + "JdbcTarget": { + "base": "

Specifies a JDBC target for a crawl.

", + "refs": { + "JdbcTargetList$member": null + } + }, + "JdbcTargetList": { + "base": null, + "refs": { + "CrawlerTargets$JdbcTargets": "

Specifies JDBC targets.

" + } + }, + "Job": { + "base": "

Specifies a job in the Data Catalog.

", + "refs": { + "GetJobResponse$Job": "

The requested job definition.

", + "JobList$member": null + } + }, + "JobBookmarkEntry": { + "base": "

Defines a point which a job can resume processing.

", + "refs": { + "ResetJobBookmarkResponse$JobBookmarkEntry": "

The reset bookmark entry.

" + } + }, + "JobCommand": { + "base": "

Specifies code that executes a job.

", + "refs": { + "CreateJobRequest$Command": "

The JobCommand that executes this job.

", + "Job$Command": "

The JobCommand that executes this job.

", + "JobUpdate$Command": "

The JobCommand that executes this job.

" + } + }, + "JobList": { + "base": null, + "refs": { + "GetJobsResponse$Jobs": "

A list of jobs.

" + } + }, + "JobName": { + "base": null, + "refs": { + "JobBookmarkEntry$JobName": "

Name of the job in question.

", + "ResetJobBookmarkRequest$JobName": "

The name of the job in question.

" + } + }, + "JobRun": { + "base": "

Contains information about a job run.

", + "refs": { + "GetJobRunResponse$JobRun": "

The requested job-run metadata.

", + "JobRunList$member": null + } + }, + "JobRunList": { + "base": null, + "refs": { + "GetJobRunsResponse$JobRuns": "

A list of job-run metatdata objects.

" + } + }, + "JobRunState": { + "base": null, + "refs": { + "Condition$State": null, + "JobRun$JobRunState": "

The current state of the job run.

" + } + }, + "JobUpdate": { + "base": "

Specifies information used to update an existing job.

", + "refs": { + "UpdateJobRequest$JobUpdate": "

Specifies the values with which to update the job.

" + } + }, + "JsonValue": { + "base": null, + "refs": { + "JobBookmarkEntry$JobBookmark": "

The bookmark itself.

" + } + }, + "KeyString": { + "base": null, + "refs": { + "ParametersMap$key": null + } + }, + "LastCrawlInfo": { + "base": "

Status and error information about the most recent crawl.

", + "refs": { + "Crawler$LastCrawl": "

The status of the last crawl, and potentially error information if an error occurred.

" + } + }, + "LastCrawlStatus": { + "base": null, + "refs": { + "LastCrawlInfo$Status": "

Status of the last crawl.

" + } + }, + "Location": { + "base": "

The location of resources.

", + "refs": { + "GetMappingRequest$Location": "

Parameters for the mapping.

", + "GetPlanRequest$Location": "

Parameters for the mapping.

" + } + }, + "LocationMap": { + "base": null, + "refs": { + "SkewedInfo$SkewedColumnValueLocationMaps": "

A mapping of skewed values to the columns that contain them.

" + } + }, + "LocationString": { + "base": null, + "refs": { + "StorageDescriptor$Location": "

The physical location of the table. By default this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name.

" + } + }, + "LogGroup": { + "base": null, + "refs": { + "LastCrawlInfo$LogGroup": "

The log group for the last crawl.

" + } + }, + "LogStream": { + "base": null, + "refs": { + "LastCrawlInfo$LogStream": "

The log stream for the last crawl.

" + } + }, + "Logical": { + "base": null, + "refs": { + "Predicate$Logical": "

Currently \"OR\" is not supported.

" + } + }, + "LogicalOperator": { + "base": null, + "refs": { + "Condition$LogicalOperator": null + } + }, + "MappingEntry": { + "base": "

Defines a mapping.

", + "refs": { + "MappingList$member": null + } + }, + "MappingList": { + "base": null, + "refs": { + "GetMappingResponse$Mapping": "

A list of mappings to the specified targets.

", + "GetPlanRequest$Mapping": "

The list of mappings from a source table to target tables.

" + } + }, + "MatchCriteria": { + "base": null, + "refs": { + "Connection$MatchCriteria": "

A list of criteria that can be used in selecting this connection.

", + "ConnectionInput$MatchCriteria": "

A list of criteria that can be used in selecting this connection.

", + "GetConnectionsFilter$MatchCriteria": "

A criteria string that must match the criteria recorded in the connection definition for that connection definition to be returned.

" + } + }, + "MaxConcurrentRuns": { + "base": null, + "refs": { + "ExecutionProperty$MaxConcurrentRuns": "

The maximum number of concurrent runs allowed for a job.

" + } + }, + "MaxRetries": { + "base": null, + "refs": { + "CreateJobRequest$MaxRetries": "

The maximum number of times to retry this job if it fails.

", + "Job$MaxRetries": "

The maximum number of times to retry this job if it fails.

", + "JobUpdate$MaxRetries": "

The maximum number of times to retry this job if it fails.

" + } + }, + "MessagePrefix": { + "base": null, + "refs": { + "LastCrawlInfo$MessagePrefix": "

The prefix for a message about this crawl.

" + } + }, + "MessageString": { + "base": null, + "refs": { + "AccessDeniedException$Message": "

A message describing the problem.

", + "AlreadyExistsException$Message": "

A message describing the problem.

", + "ConcurrentModificationException$Message": "

A message describing the problem.

", + "ConcurrentRunsExceededException$Message": "

A message describing the problem.

", + "CrawlerNotRunningException$Message": "

A message describing the problem.

", + "CrawlerRunningException$Message": "

A message describing the problem.

", + "CrawlerStoppingException$Message": "

A message describing the problem.

", + "EntityNotFoundException$Message": "

A message describing the problem.

", + "IdempotentParameterMismatchException$Message": "

A message describing the problem.

", + "InternalServiceException$Message": "

A message describing the problem.

", + "InvalidInputException$Message": "

A message describing the problem.

", + "NoScheduleException$Message": "

A message describing the problem.

", + "OperationTimeoutException$Message": "

A message describing the problem.

", + "ResourceNumberLimitExceededException$Message": "

A message describing the problem.

", + "SchedulerNotRunningException$Message": "

A message describing the problem.

", + "SchedulerRunningException$Message": "

A message describing the problem.

", + "SchedulerTransitioningException$Message": "

A message describing the problem.

", + "ValidationException$Message": "

A message describing the problem.

", + "VersionMismatchException$Message": "

A message describing the problem.

" + } + }, + "MillisecondsCount": { + "base": null, + "refs": { + "Crawler$CrawlElapsedTime": "

If this Crawler is running, contains the total time elapsed since the last crawl began.

" + } + }, + "NameString": { + "base": null, + "refs": { + "Action$JobName": null, + "BatchCreatePartitionRequest$DatabaseName": "

The name of the metadata database in which the partition is to be created.

", + "BatchCreatePartitionRequest$TableName": "

The name of the metadata table in which the partition is to be created.

", + "BatchDeletePartitionRequest$DatabaseName": "

The name of the catalog database in which the table in question resides.

", + "BatchDeletePartitionRequest$TableName": "

The name of the table where the partitions to be deleted is located.

", + "BatchDeleteTableNameList$member": null, + "BatchDeleteTableRequest$DatabaseName": "

The name of the catalog database where the tables to delete reside.

", + "BatchGetPartitionRequest$DatabaseName": "

The name of the catalog database where the partitions reside.

", + "BatchGetPartitionRequest$TableName": "

The name of the partitions' table.

", + "CatalogEntry$DatabaseName": "

The database in which the table metadata resides.

", + "CatalogEntry$TableName": "

The name of the table in question.

", + "CatalogImportStatus$ImportedBy": "

The name of the person who initiated the migration.

", + "ClassifierNameList$member": null, + "Column$Name": "

The name of the Column.

", + "Condition$JobName": null, + "Connection$Name": "

The name of the connection definition.

", + "Connection$LastUpdatedBy": "

The user, group or role that last updated this connection definition.

", + "ConnectionInput$Name": "

The name of the connection.

", + "Crawler$Name": "

The Crawler name.

", + "CrawlerMetrics$CrawlerName": "

The name of the crawler.

", + "CrawlerNameList$member": null, + "CreateCrawlerRequest$Name": "

Name of the new Crawler.

", + "CreateGrokClassifierRequest$Name": "

The name of the new Classifier.

", + "CreateJobRequest$Name": "

The name you assign to this job.

", + "CreateJobResponse$Name": "

The unique name of the new job that has been created.

", + "CreatePartitionRequest$DatabaseName": "

The name of the metadata database in which the partition is to be created.

", + "CreatePartitionRequest$TableName": "

The name of the metadata table in which the partition is to be created.

", + "CreateTableRequest$DatabaseName": "

The catalog database in which to create the new table.

", + "CreateTriggerRequest$Name": "

The name to assign to the new trigger.

", + "CreateTriggerResponse$Name": "

The name assigned to the new trigger.

", + "CreateUserDefinedFunctionRequest$DatabaseName": "

The name of the catalog database in which to create the function.

", + "Database$Name": "

Name of the database.

", + "DatabaseInput$Name": "

Name of the database.

", + "DeleteClassifierRequest$Name": "

Name of the Classifier to remove.

", + "DeleteConnectionNameList$member": null, + "DeleteConnectionRequest$ConnectionName": "

The name of the connection to delete.

", + "DeleteCrawlerRequest$Name": "

Name of the Crawler to remove.

", + "DeleteDatabaseRequest$Name": "

The name of the Database to delete.

", + "DeleteJobRequest$JobName": "

The name of the job to delete.

", + "DeleteJobResponse$JobName": "

The name of the job that was deleted.

", + "DeletePartitionRequest$DatabaseName": "

The name of the catalog database in which the table in question resides.

", + "DeletePartitionRequest$TableName": "

The name of the table where the partition to be deleted is located.

", + "DeleteTableRequest$DatabaseName": "

The name of the catalog database in which the table resides.

", + "DeleteTableRequest$Name": "

The name of the table to be deleted.

", + "DeleteTriggerRequest$Name": "

The name of the trigger to delete.

", + "DeleteTriggerResponse$Name": "

The name of the trigger that was deleted.

", + "DeleteUserDefinedFunctionRequest$DatabaseName": "

The name of the catalog database where the function is located.

", + "DeleteUserDefinedFunctionRequest$FunctionName": "

The name of the function definition to be deleted.

", + "ErrorByName$key": null, + "ErrorDetail$ErrorCode": "

The code associated with this error.

", + "GetClassifierRequest$Name": "

Name of the Classifier to retrieve.

", + "GetConnectionRequest$Name": "

The name of the connection definition to retrieve.

", + "GetCrawlerRequest$Name": "

Name of the Crawler to retrieve metadata for.

", + "GetDatabaseRequest$Name": "

The name of the database to retrieve.

", + "GetJobRequest$JobName": "

The name of the job to retrieve.

", + "GetJobRunRequest$JobName": "

Name of the job being run.

", + "GetJobRunsRequest$JobName": "

The name of the job for which to retrieve all job runs.

", + "GetPartitionRequest$DatabaseName": "

The name of the catalog database where the partition resides.

", + "GetPartitionRequest$TableName": "

The name of the partition's table.

", + "GetPartitionsRequest$DatabaseName": "

The name of the catalog database where the partitions reside.

", + "GetPartitionsRequest$TableName": "

The name of the partitions' table.

", + "GetTableRequest$DatabaseName": "

The name of the database in the catalog in which the table resides.

", + "GetTableRequest$Name": "

The name of the table for which to retrieve the definition.

", + "GetTableVersionsRequest$DatabaseName": "

The database in the catalog in which the table resides.

", + "GetTableVersionsRequest$TableName": "

The name of the table.

", + "GetTablesRequest$DatabaseName": "

The database in the catalog whose tables to list.

", + "GetTriggerRequest$Name": "

The name of the trigger to retrieve.

", + "GetTriggersRequest$DependentJobName": "

The name of the job for which to retrieve triggers.

", + "GetUserDefinedFunctionRequest$DatabaseName": "

The name of the catalog database where the function is located.

", + "GetUserDefinedFunctionRequest$FunctionName": "

The name of the function.

", + "GetUserDefinedFunctionsRequest$DatabaseName": "

The name of the catalog database where the functions are located.

", + "GetUserDefinedFunctionsRequest$Pattern": "

An optional function-name pattern string that filters the function definitions returned.

", + "GrokClassifier$Name": "

The name of the classifier.

", + "Job$Name": "

The name you assign to this job.

", + "JobRun$TriggerName": "

The name of the trigger for this job run.

", + "JobRun$JobName": "

The name of the job being run.

", + "MatchCriteria$member": null, + "NameStringList$member": null, + "Order$Column": "

The name of the column.

", + "Partition$DatabaseName": "

The name of the catalog database where the table in question is located.

", + "Partition$TableName": "

The name of the table in question.

", + "PhysicalConnectionRequirements$SubnetId": "

The subnet ID used by the connection.

", + "PhysicalConnectionRequirements$AvailabilityZone": "

The connection's availability zone.

", + "Predecessor$JobName": "

The name of the predecessor job.

", + "SecurityGroupIdList$member": null, + "SerDeInfo$Name": "

Name of the SerDe.

", + "SerDeInfo$SerializationLibrary": "

Usually the class that implements the SerDe. An example is: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe.

", + "StartCrawlerRequest$Name": "

Name of the Crawler to start.

", + "StartCrawlerScheduleRequest$CrawlerName": "

Name of the crawler to schedule.

", + "StartJobRunRequest$JobName": "

The name of the job to start.

", + "StartTriggerRequest$Name": "

The name of the trigger to start.

", + "StartTriggerResponse$Name": "

The name of the trigger that was started.

", + "StopCrawlerRequest$Name": "

Name of the Crawler to stop.

", + "StopCrawlerScheduleRequest$CrawlerName": "

Name of the crawler whose schedule state to set.

", + "StopTriggerRequest$Name": "

The name of the trigger to stop.

", + "StopTriggerResponse$Name": "

The name of the trigger that was stopped.

", + "Table$Name": "

Name of the table.

", + "Table$DatabaseName": "

Name of the metadata database where the table metadata resides.

", + "Table$Owner": "

Owner of the table.

", + "Table$CreatedBy": "

Person or entity who created the table.

", + "TableError$TableName": "

Name of the table.

", + "TableInput$Name": "

Name of the table.

", + "TableInput$Owner": "

Owner of the table.

", + "Trigger$Name": "

Name of the trigger.

", + "TriggerUpdate$Name": "

The name of the trigger.

", + "UpdateConnectionRequest$Name": "

The name of the connection definition to update.

", + "UpdateCrawlerRequest$Name": "

Name of the new Crawler.

", + "UpdateCrawlerScheduleRequest$CrawlerName": "

Name of the crawler whose schedule to update.

", + "UpdateDatabaseRequest$Name": "

The name of the metadata database to update in the catalog.

", + "UpdateGrokClassifierRequest$Name": "

The name of the GrokClassifier.

", + "UpdateJobRequest$JobName": "

Name of the job definition to update.

", + "UpdateJobResponse$JobName": "

Returns the name of the updated job.

", + "UpdatePartitionRequest$DatabaseName": "

The name of the catalog database in which the table in question resides.

", + "UpdatePartitionRequest$TableName": "

The name of the table where the partition to be updated is located.

", + "UpdateTableRequest$DatabaseName": "

The name of the catalog database in which the table resides.

", + "UpdateTriggerRequest$Name": "

The name of the trigger to update.

", + "UpdateUserDefinedFunctionRequest$DatabaseName": "

The name of the catalog database where the function to be updated is located.

", + "UpdateUserDefinedFunctionRequest$FunctionName": "

The name of the function.

", + "UserDefinedFunction$FunctionName": "

The name of the function.

", + "UserDefinedFunction$ClassName": "

The Java class that contains the function code.

", + "UserDefinedFunction$OwnerName": "

The owner of the function.

", + "UserDefinedFunctionInput$FunctionName": "

The name of the function.

", + "UserDefinedFunctionInput$ClassName": "

The Java class that contains the function code.

", + "UserDefinedFunctionInput$OwnerName": "

The owner of the function.

" + } + }, + "NameStringList": { + "base": null, + "refs": { + "BatchDeleteConnectionResponse$Succeeded": "

A list of names of the connection definitions that were successfully deleted.

", + "SkewedInfo$SkewedColumnNames": "

A list of names of columns that contain skewed values.

", + "StorageDescriptor$BucketColumns": "

A list of reducer grouping columns, clustering columns, and bucketing columns in the table.

" + } + }, + "NoScheduleException": { + "base": "

There is no applicable schedule.

", + "refs": { + } + }, + "NonNegativeDouble": { + "base": null, + "refs": { + "CrawlerMetrics$TimeLeftSeconds": "

The estimated time left to complete a running crawl.

", + "CrawlerMetrics$LastRuntimeSeconds": "

The duration of the crawler's most recent run, in seconds.

", + "CrawlerMetrics$MedianRuntimeSeconds": "

The median duration of this crawler's runs, in seconds.

" + } + }, + "NonNegativeInteger": { + "base": null, + "refs": { + "CrawlerMetrics$TablesCreated": "

A list of the tables created by this crawler.

", + "CrawlerMetrics$TablesUpdated": "

A list of the tables created by this crawler.

", + "CrawlerMetrics$TablesDeleted": "

A list of the tables deleted by this crawler.

", + "Segment$SegmentNumber": "

The zero-based index number of the this segment. For example, if the total number of segments is 4, SegmentNumber values will range from zero through three.

", + "Table$Retention": "

Retention time for this table.

", + "TableInput$Retention": "

Retention time for this table.

" + } + }, + "OperationTimeoutException": { + "base": "

The operation timed out.

", + "refs": { + } + }, + "Order": { + "base": "

Specifies the sort order of a sorted column.

", + "refs": { + "OrderList$member": null + } + }, + "OrderList": { + "base": null, + "refs": { + "StorageDescriptor$SortColumns": "

A list specifying the sort order of each bucket in the table.

" + } + }, + "PageSize": { + "base": null, + "refs": { + "GetClassifiersRequest$MaxResults": "

Size of the list to return (optional).

", + "GetConnectionsRequest$MaxResults": "

The maximum number of connections to return in one response.

", + "GetCrawlerMetricsRequest$MaxResults": "

The maximum size of a list to return.

", + "GetCrawlersRequest$MaxResults": "

The number of Crawlers to return on each call.

", + "GetDatabasesRequest$MaxResults": "

The maximum number of databases to return in one response.

", + "GetDevEndpointsRequest$MaxResults": "

The maximum size of information to return.

", + "GetJobRunsRequest$MaxResults": "

The maximum size of the response.

", + "GetJobsRequest$MaxResults": "

The maximum size of the response.

", + "GetPartitionsRequest$MaxResults": "

The maximum number of partitions to return in a single response.

", + "GetTableVersionsRequest$MaxResults": "

The maximum number of table versions to return in one response.

", + "GetTablesRequest$MaxResults": "

The maximum number of tables to return in a single response.

", + "GetTriggersRequest$MaxResults": "

The maximum size of the response.

", + "GetUserDefinedFunctionsRequest$MaxResults": "

The maximum number of functions to return in one response.

" + } + }, + "ParametersMap": { + "base": null, + "refs": { + "Database$Parameters": "

A list of key-value pairs that define parameters and properties of the database.

", + "DatabaseInput$Parameters": "

A list of key-value pairs that define parameters and properties of the database.

", + "Partition$Parameters": "

Partition parameters, in the form of a list of key-value pairs.

", + "PartitionInput$Parameters": "

Partition parameters, in the form of a list of key-value pairs.

", + "SerDeInfo$Parameters": "

A list of initialization parameters for the SerDe, in key-value form.

", + "StorageDescriptor$Parameters": "

User-supplied properties in key-value form.

", + "Table$Parameters": "

Properties associated with this table, as a list of key-value pairs.

", + "TableInput$Parameters": "

Properties associated with this table, as a list of key-value pairs.

" + } + }, + "ParametersMapValue": { + "base": null, + "refs": { + "ParametersMap$value": null + } + }, + "Partition": { + "base": "

Represents a slice of table data.

", + "refs": { + "GetPartitionResponse$Partition": "

The requested information, in the form of a Partition object.

", + "PartitionList$member": null + } + }, + "PartitionError": { + "base": "

Contains information about a partition error.

", + "refs": { + "PartitionErrors$member": null + } + }, + "PartitionErrors": { + "base": null, + "refs": { + "BatchCreatePartitionResponse$Errors": "

Errors encountered when trying to create the requested partitions.

", + "BatchDeletePartitionResponse$Errors": "

Errors encountered when trying to delete the requested partitions.

" + } + }, + "PartitionInput": { + "base": "

The structure used to create and update a partion.

", + "refs": { + "CreatePartitionRequest$PartitionInput": "

A PartitionInput structure defining the partition to be created.

", + "PartitionInputList$member": null, + "UpdatePartitionRequest$PartitionInput": "

The new partition object to which to update the partition.

" + } + }, + "PartitionInputList": { + "base": null, + "refs": { + "BatchCreatePartitionRequest$PartitionInputList": "

A list of PartitionInput structures that define the partitions to be created.

" + } + }, + "PartitionList": { + "base": null, + "refs": { + "BatchGetPartitionResponse$Partitions": "

A list of the requested partitions.

", + "GetPartitionsResponse$Partitions": "

A list of requested partitions.

" + } + }, + "PartitionValueList": { + "base": null, + "refs": { + "BatchDeletePartitionValueList$member": null, + "BatchGetPartitionValueList$member": null + } + }, + "Path": { + "base": null, + "refs": { + "JdbcTarget$Path": "

The path of the JDBC target.

", + "PathList$member": null, + "S3Target$Path": "

The path to the S3 target.

" + } + }, + "PathList": { + "base": null, + "refs": { + "JdbcTarget$Exclusions": "

A list of items to exclude from the crawl.

", + "S3Target$Exclusions": "

A list of S3 objects to exclude from the crawl.

" + } + }, + "PhysicalConnectionRequirements": { + "base": "

Specifies the physical requirements for a connection.

", + "refs": { + "Connection$PhysicalConnectionRequirements": "

A map of physical connection requirements, such as VPC and SecurityGroup, needed for making this connection successfully.

", + "ConnectionInput$PhysicalConnectionRequirements": "

A map of physical connection requirements, such as VPC and SecurityGroup, needed for making this connection successfully.

" + } + }, + "Predecessor": { + "base": "

A job run that preceded this one.

", + "refs": { + "PredecessorList$member": null + } + }, + "PredecessorList": { + "base": null, + "refs": { + "JobRun$PredecessorRuns": "

A list of predecessors to this job run.

" + } + }, + "Predicate": { + "base": "

Defines the predicate of the trigger, which determines when it fires.

", + "refs": { + "CreateTriggerRequest$Predicate": "

A predicate to specify when the new trigger should fire.

", + "Trigger$Predicate": "

The predicate of this trigger.

", + "TriggerUpdate$Predicate": "

The predicate of this trigger, which defines when it will fire.

" + } + }, + "PredicateString": { + "base": null, + "refs": { + "GetPartitionsRequest$Expression": "

An expression filtering the partitions to be returned.

" + } + }, + "PrincipalType": { + "base": null, + "refs": { + "UserDefinedFunction$OwnerType": "

The owner type.

", + "UserDefinedFunctionInput$OwnerType": "

The owner type.

" + } + }, + "PythonScript": { + "base": null, + "refs": { + "CreateScriptResponse$PythonScript": "

The Python script generated from the DAG.

", + "GetDataflowGraphRequest$PythonScript": "

The Python script to transform.

", + "GetPlanResponse$PythonScript": "

A python script to perform the mapping.

" + } + }, + "ResetJobBookmarkRequest": { + "base": null, + "refs": { + } + }, + "ResetJobBookmarkResponse": { + "base": null, + "refs": { + } + }, + "ResourceNumberLimitExceededException": { + "base": "

A resource numerical limit was exceeded.

", + "refs": { + } + }, + "ResourceType": { + "base": null, + "refs": { + "ResourceUri$ResourceType": "

The type of the resource.

" + } + }, + "ResourceUri": { + "base": "

URIs for function resources.

", + "refs": { + "ResourceUriList$member": null + } + }, + "ResourceUriList": { + "base": null, + "refs": { + "UserDefinedFunction$ResourceUris": "

The resource URIs for the function.

", + "UserDefinedFunctionInput$ResourceUris": "

The resource URIs for the function.

" + } + }, + "RoleArn": { + "base": null, + "refs": { + "Crawler$Role": "

The ARN of an IAM role used to access customer resources such as data in S3.

", + "CreateCrawlerRequest$Role": "

The AWS ARN of the IAM role used by the new Crawler to access customer resources.

", + "CreateDevEndpointRequest$RoleArn": "

The IAM role for the DevEndpoint.

", + "CreateDevEndpointResponse$RoleArn": "

The AWS ARN of the role assigned to the new DevEndpoint.

", + "DevEndpoint$RoleArn": "

The AWS ARN of the IAM role used in this DevEndpoint.

", + "UpdateCrawlerRequest$Role": "

The AWS ARN of the IAM role used by the new Crawler to access customer resources.

" + } + }, + "RoleString": { + "base": null, + "refs": { + "CreateJobRequest$Role": "

The role associated with this job.

", + "Job$Role": "

The role associated with this job.

", + "JobUpdate$Role": "

The role associated with this job.

" + } + }, + "S3Target": { + "base": "

Specifies a crawler target in AWS S3.

", + "refs": { + "S3TargetList$member": null + } + }, + "S3TargetList": { + "base": null, + "refs": { + "CrawlerTargets$S3Targets": "

Specifies targets in AWS S3.

" + } + }, + "Schedule": { + "base": "

A scheduling object using a cron statement to schedule an event.

", + "refs": { + "Crawler$Schedule": "

A Schedule object that specifies the schedule on which this Crawler is to be run.

" + } + }, + "ScheduleState": { + "base": null, + "refs": { + "Schedule$State": "

The state of the schedule.

" + } + }, + "SchedulerNotRunningException": { + "base": "

The specified scheduler is not running.

", + "refs": { + } + }, + "SchedulerRunningException": { + "base": "

The specified scheduler is already running.

", + "refs": { + } + }, + "SchedulerTransitioningException": { + "base": "

The specified scheduler is transitioning.

", + "refs": { + } + }, + "SchemaChangePolicy": { + "base": "

Crawler policy for update and deletion behavior.

", + "refs": { + "Crawler$SchemaChangePolicy": "

Sets policy for the crawler's update and delete behavior.

", + "CreateCrawlerRequest$SchemaChangePolicy": "

Policy for the crawler's update and deletion behavior.

", + "UpdateCrawlerRequest$SchemaChangePolicy": "

Policy for the crawler's update and deletion behavior.

" + } + }, + "SchemaPathString": { + "base": null, + "refs": { + "MappingEntry$SourcePath": "

The source path.

", + "MappingEntry$TargetPath": "

The target path.

" + } + }, + "ScriptLocationString": { + "base": null, + "refs": { + "JobCommand$ScriptLocation": "

Specifies the location of a script that executes a job.

" + } + }, + "SecurityGroupIdList": { + "base": null, + "refs": { + "PhysicalConnectionRequirements$SecurityGroupIdList": "

The security group ID list used by the connection.

" + } + }, + "Segment": { + "base": "

Defines a non-overlapping region of a table's partitions, allowing multiple requests to be executed in parallel.

", + "refs": { + "GetPartitionsRequest$Segment": "

The segment of the table's partitions to scan in this request.

" + } + }, + "SerDeInfo": { + "base": "

Information about a serialization/deserialization program (SerDe) which serves as an extractor and loader.

", + "refs": { + "StorageDescriptor$SerdeInfo": "

Serialization/deserialization (SerDe) information.

" + } + }, + "SkewedInfo": { + "base": "

Specifies skewed values in a table. Skewed are ones that occur with very high frequency.

", + "refs": { + "StorageDescriptor$SkewedInfo": "

Information about values that appear very frequently in a column (skewed values).

" + } + }, + "StartCrawlerRequest": { + "base": null, + "refs": { + } + }, + "StartCrawlerResponse": { + "base": null, + "refs": { + } + }, + "StartCrawlerScheduleRequest": { + "base": null, + "refs": { + } + }, + "StartCrawlerScheduleResponse": { + "base": null, + "refs": { + } + }, + "StartJobRunRequest": { + "base": null, + "refs": { + } + }, + "StartJobRunResponse": { + "base": null, + "refs": { + } + }, + "StartTriggerRequest": { + "base": null, + "refs": { + } + }, + "StartTriggerResponse": { + "base": null, + "refs": { + } + }, + "StopCrawlerRequest": { + "base": null, + "refs": { + } + }, + "StopCrawlerResponse": { + "base": null, + "refs": { + } + }, + "StopCrawlerScheduleRequest": { + "base": null, + "refs": { + } + }, + "StopCrawlerScheduleResponse": { + "base": null, + "refs": { + } + }, + "StopTriggerRequest": { + "base": null, + "refs": { + } + }, + "StopTriggerResponse": { + "base": null, + "refs": { + } + }, + "StorageDescriptor": { + "base": "

Describes the physical storage of table data.

", + "refs": { + "Partition$StorageDescriptor": "

Provides information about the physical location where the partition is stored.

", + "PartitionInput$StorageDescriptor": "

Provides information about the physical location where the partition is stored.

", + "Table$StorageDescriptor": "

A storage descriptor containing information about the physical storage of this table.

", + "TableInput$StorageDescriptor": "

A storage descriptor containing information about the physical storage of this table.

" + } + }, + "StringList": { + "base": null, + "refs": { + "ConnectionsList$Connections": "

A list of connections used by the job.

", + "CreateDevEndpointRequest$SecurityGroupIds": "

Security group IDs for the security groups to be used by the new DevEndpoint.

", + "CreateDevEndpointResponse$SecurityGroupIds": "

The security groups assigned to the new DevEndpoint.

", + "DevEndpoint$SecurityGroupIds": "

A list of security group identifiers used in this DevEndpoint.

" + } + }, + "Table": { + "base": "

Represents a collection of related data organized in columns and rows.

", + "refs": { + "GetTableResponse$Table": "

The Table object that defines the specified table.

", + "TableList$member": null, + "TableVersion$Table": null + } + }, + "TableError": { + "base": "

An error record for table operations.

", + "refs": { + "TableErrors$member": null + } + }, + "TableErrors": { + "base": null, + "refs": { + "BatchDeleteTableResponse$Errors": "

A list of errors encountered in attempting to delete the specified tables.

" + } + }, + "TableInput": { + "base": "

Structure used to create or update the table.

", + "refs": { + "CreateTableRequest$TableInput": "

The TableInput object that defines the metadata table to create in the catalog.

", + "UpdateTableRequest$TableInput": "

An updated TableInput object to define the metadata table in the catalog.

" + } + }, + "TableList": { + "base": null, + "refs": { + "GetTablesResponse$TableList": "

A list of the requested Table objects.

" + } + }, + "TableName": { + "base": null, + "refs": { + "MappingEntry$SourceTable": "

The name of the source table.

", + "MappingEntry$TargetTable": "

The target table.

" + } + }, + "TablePrefix": { + "base": null, + "refs": { + "Crawler$TablePrefix": "

The table prefix used for catalog tables created.

", + "CreateCrawlerRequest$TablePrefix": "

The table prefix used for catalog tables created.

", + "UpdateCrawlerRequest$TablePrefix": "

The table prefix used for catalog tables created.

" + } + }, + "TableTypeString": { + "base": null, + "refs": { + "Table$TableType": "

The type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.).

", + "TableInput$TableType": "

The type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.).

" + } + }, + "TableVersion": { + "base": null, + "refs": { + "GetTableVersionsList$member": null + } + }, + "Timestamp": { + "base": null, + "refs": { + "CatalogImportStatus$ImportTime": "

The time that the migration was started.

", + "Connection$CreationTime": "

The time this connection definition was created.

", + "Connection$LastUpdatedTime": "

The last time this connection definition was updated.

", + "Crawler$CreationTime": "

The time when the Crawler was created.

", + "Crawler$LastUpdated": "

The time the Crawler was last updated.

", + "Database$CreateTime": "

The time at which the metadata database was created in the catalog.

", + "GrokClassifier$CreationTime": "

The time this classifier was registered.

", + "GrokClassifier$LastUpdated": "

The time this classifier was last updated.

", + "LastCrawlInfo$StartTime": "

The time at which the crawl started.

", + "Partition$CreationTime": "

The time at which the partition was created.

", + "Partition$LastAccessTime": "

The last time at which the partition was accessed.

", + "Partition$LastAnalyzedTime": "

The last time at which column statistics were computed for this partition.

", + "PartitionInput$LastAccessTime": "

The last time at which the partition was accessed.

", + "PartitionInput$LastAnalyzedTime": "

The last time at which column statistics were computed for this partition.

", + "Table$CreateTime": "

Time when the table definition was created in the Data Catalog.

", + "Table$UpdateTime": "

Last time the table was updated.

", + "Table$LastAccessTime": "

Last time the table was accessed. This is usually taken from HDFS, and may not be reliable.

", + "Table$LastAnalyzedTime": "

Last time column statistics were computed for this table.

", + "TableInput$LastAccessTime": "

Last time the table was accessed.

", + "TableInput$LastAnalyzedTime": "

Last time column statistics were computed for this table.

", + "UserDefinedFunction$CreateTime": "

The time at which the function was created.

" + } + }, + "TimestampValue": { + "base": null, + "refs": { + "CreateDevEndpointResponse$CreatedTimestamp": "

The point in time at which this DevEndpoint was created.

", + "DevEndpoint$CreatedTimestamp": "

The point in time at which this DevEndpoint was created.

", + "DevEndpoint$LastModifiedTimestamp": "

The point in time at which this DevEndpoint was last modified.

", + "Job$CreatedOn": "

The time and date that this job specification was created.

", + "Job$LastModifiedOn": "

The last point in time when this job specification was modified.

", + "JobRun$StartedOn": "

The date and time at which this job run was started.

", + "JobRun$LastModifiedOn": "

The last time this job run was modified.

", + "JobRun$CompletedOn": "

The date and time this job run completed.

" + } + }, + "Token": { + "base": null, + "refs": { + "GetClassifiersRequest$NextToken": "

An optional continuation token.

", + "GetClassifiersResponse$NextToken": "

A continuation token.

", + "GetConnectionsRequest$NextToken": "

A continuation token, if this is a continuation call.

", + "GetConnectionsResponse$NextToken": "

A continuation token, if the list of connections returned does not include the last of the filtered connections.

", + "GetCrawlerMetricsRequest$NextToken": "

A continuation token, if this is a continuation call.

", + "GetCrawlerMetricsResponse$NextToken": "

A continuation token, if the returned list does not contain the last metric available.

", + "GetCrawlersRequest$NextToken": "

A continuation token, if this is a continuation request.

", + "GetCrawlersResponse$NextToken": "

A continuation token, if the returned list has not reached the end of those defined in this customer account.

", + "GetDatabasesRequest$NextToken": "

A continuation token, if this is a continuation call.

", + "GetDatabasesResponse$NextToken": "

A continuation token for paginating the returned list of tokens, returned if the current segment of the list is not the last.

", + "GetPartitionsRequest$NextToken": "

A continuation token, if this is not the first call to retrieve these partitions.

", + "GetPartitionsResponse$NextToken": "

A continuation token, if the returned list of partitions does not does not include the last one.

", + "GetTableVersionsRequest$NextToken": "

A continuation token, if this is not the first call.

", + "GetTableVersionsResponse$NextToken": "

A continuation token, if the list of available versions does not include the last one.

", + "GetTablesRequest$NextToken": "

A continuation token, included if this is a continuation call.

", + "GetTablesResponse$NextToken": "

A continuation token, present if the current list segment is not the last.

", + "GetUserDefinedFunctionsRequest$NextToken": "

A continuation token, if this is a continuation call.

", + "GetUserDefinedFunctionsResponse$NextToken": "

A continuation token, if the list of functions returned does not include the last requested function.

" + } + }, + "TotalSegmentsInteger": { + "base": null, + "refs": { + "Segment$TotalSegments": "

The total numer of segments.

" + } + }, + "Trigger": { + "base": "

Information about a specific trigger.

", + "refs": { + "GetTriggerResponse$Trigger": "

The requested trigger definition.

", + "TriggerList$member": null, + "UpdateTriggerResponse$Trigger": "

The resulting trigger definition.

" + } + }, + "TriggerList": { + "base": null, + "refs": { + "GetTriggersResponse$Triggers": "

A list of triggers for the specified job.

" + } + }, + "TriggerState": { + "base": null, + "refs": { + "Trigger$State": "

The current state of the trigger.

" + } + }, + "TriggerType": { + "base": null, + "refs": { + "CreateTriggerRequest$Type": "

The type of the new trigger.

", + "Trigger$Type": "

The type of trigger that this is.

" + } + }, + "TriggerUpdate": { + "base": "

A structure used to provide information used to updata a trigger.

", + "refs": { + "UpdateTriggerRequest$TriggerUpdate": "

The new values with which to update the trigger.

" + } + }, + "URI": { + "base": null, + "refs": { + "Database$LocationUri": "

The location of the database (for example, an HDFS path).

", + "DatabaseInput$LocationUri": "

The location of the database (for example, an HDFS path).

", + "ResourceUri$Uri": "

The URI for accessing the resource.

" + } + }, + "UpdateBehavior": { + "base": null, + "refs": { + "SchemaChangePolicy$UpdateBehavior": "

The update behavior.

" + } + }, + "UpdateClassifierRequest": { + "base": null, + "refs": { + } + }, + "UpdateClassifierResponse": { + "base": null, + "refs": { + } + }, + "UpdateConnectionRequest": { + "base": null, + "refs": { + } + }, + "UpdateConnectionResponse": { + "base": null, + "refs": { + } + }, + "UpdateCrawlerRequest": { + "base": null, + "refs": { + } + }, + "UpdateCrawlerResponse": { + "base": null, + "refs": { + } + }, + "UpdateCrawlerScheduleRequest": { + "base": null, + "refs": { + } + }, + "UpdateCrawlerScheduleResponse": { + "base": null, + "refs": { + } + }, + "UpdateDatabaseRequest": { + "base": null, + "refs": { + } + }, + "UpdateDatabaseResponse": { + "base": null, + "refs": { + } + }, + "UpdateDevEndpointRequest": { + "base": null, + "refs": { + } + }, + "UpdateDevEndpointResponse": { + "base": null, + "refs": { + } + }, + "UpdateGrokClassifierRequest": { + "base": "

Specifies a Grok classifier to update when passed to UpdateClassifier.

", + "refs": { + "UpdateClassifierRequest$GrokClassifier": "

A GrokClassifier object with updated fields.

" + } + }, + "UpdateJobRequest": { + "base": null, + "refs": { + } + }, + "UpdateJobResponse": { + "base": null, + "refs": { + } + }, + "UpdatePartitionRequest": { + "base": null, + "refs": { + } + }, + "UpdatePartitionResponse": { + "base": null, + "refs": { + } + }, + "UpdateTableRequest": { + "base": null, + "refs": { + } + }, + "UpdateTableResponse": { + "base": null, + "refs": { + } + }, + "UpdateTriggerRequest": { + "base": null, + "refs": { + } + }, + "UpdateTriggerResponse": { + "base": null, + "refs": { + } + }, + "UpdateUserDefinedFunctionRequest": { + "base": null, + "refs": { + } + }, + "UpdateUserDefinedFunctionResponse": { + "base": null, + "refs": { + } + }, + "UriString": { + "base": null, + "refs": { + "CreateJobRequest$LogUri": "

Location of the logs for this job.

", + "Job$LogUri": "

Location of the logs for this job.

", + "JobUpdate$LogUri": "

Location of the logs for this job.

" + } + }, + "UserDefinedFunction": { + "base": "

Represents the equivalent of a Hive user-defined function (UDF) definition.

", + "refs": { + "GetUserDefinedFunctionResponse$UserDefinedFunction": "

The requested function definition.

", + "UserDefinedFunctionList$member": null + } + }, + "UserDefinedFunctionInput": { + "base": "

A structure used to create or updata a user-defined function.

", + "refs": { + "CreateUserDefinedFunctionRequest$FunctionInput": "

A FunctionInput object that defines the function to create in the Data Catalog.

", + "UpdateUserDefinedFunctionRequest$FunctionInput": "

A FunctionInput object that re-defines the function in the Data Catalog.

" + } + }, + "UserDefinedFunctionList": { + "base": null, + "refs": { + "GetUserDefinedFunctionsResponse$UserDefinedFunctions": "

A list of requested function definitions.

" + } + }, + "ValidationException": { + "base": "

A value could not be validated.

", + "refs": { + } + }, + "ValueString": { + "base": null, + "refs": { + "BoundedPartitionValueList$member": null, + "ConnectionProperties$value": null, + "ValueStringList$member": null + } + }, + "ValueStringList": { + "base": null, + "refs": { + "DeletePartitionRequest$PartitionValues": "

The values that define the partition.

", + "GetPartitionRequest$PartitionValues": "

The values that define the partition.

", + "Partition$Values": "

The values of the partition.

", + "PartitionError$PartitionValues": "

The values that define the partition.

", + "PartitionInput$Values": "

The values of the partition.

", + "PartitionValueList$Values": null + } + }, + "VersionId": { + "base": null, + "refs": { + "Crawler$Version": "

The version of the Crawler.

", + "GrokClassifier$Version": "

The version of this classifier.

" + } + }, + "VersionMismatchException": { + "base": "

There was a version conflict.

", + "refs": { + } + }, + "VersionString": { + "base": null, + "refs": { + "TableVersion$VersionId": null + } + }, + "ViewTextString": { + "base": null, + "refs": { + "Table$ViewOriginalText": "

If the table is a view, the original text of the view; otherwise null.

", + "Table$ViewExpandedText": "

If the table is a view, the expanded text of the view; otherwise null.

", + "TableInput$ViewOriginalText": "

If the table is a view, the original text of the view; otherwise null.

", + "TableInput$ViewExpandedText": "

If the table is a view, the expanded text of the view; otherwise null.

" + } + } + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/AWS Glue/2017-03-31/examples-1.json b/vendor/github.com/aws/aws-sdk-go/models/apis/AWS Glue/2017-03-31/examples-1.json new file mode 100644 index 000000000..0ea7e3b0b --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/AWS Glue/2017-03-31/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/AWS Glue/2017-03-31/paginators-1.json b/vendor/github.com/aws/aws-sdk-go/models/apis/AWS Glue/2017-03-31/paginators-1.json new file mode 100644 index 000000000..aecd4ce61 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/AWS Glue/2017-03-31/paginators-1.json @@ -0,0 +1,69 @@ +{ + "pagination": { + "GetClassifiers": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetConnections": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetCrawlerMetrics": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetCrawlers": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetDatabases": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetDevEndpoints": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetJobRuns": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetJobs": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetPartitions": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetTableVersions": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetTables": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetTriggers": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetUserDefinedFunctions": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + } + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/MobileHub/2017-07-01/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/MobileHub/2017-07-01/api-2.json new file mode 100644 index 000000000..6ef48111b --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/MobileHub/2017-07-01/api-2.json @@ -0,0 +1,551 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-07-01", + "endpointPrefix":"mobile", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"AWS Mobile", + "signatureVersion":"v4", + "signingName":"AWSMobileHubService", + "uid":"mobile-2017-07-01" + }, + "operations":{ + "CreateProject":{ + "name":"CreateProject", + "http":{ + "method":"POST", + "requestUri":"/projects" + }, + "input":{"shape":"CreateProjectRequest"}, + "output":{"shape":"CreateProjectResult"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"} + ] + }, + "DeleteProject":{ + "name":"DeleteProject", + "http":{ + "method":"DELETE", + "requestUri":"/projects/{projectId}" + }, + "input":{"shape":"DeleteProjectRequest"}, + "output":{"shape":"DeleteProjectResult"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"} + ] + }, + "DescribeBundle":{ + "name":"DescribeBundle", + "http":{ + "method":"GET", + "requestUri":"/bundles/{bundleId}" + }, + "input":{"shape":"DescribeBundleRequest"}, + "output":{"shape":"DescribeBundleResult"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"} + ] + }, + "DescribeProject":{ + "name":"DescribeProject", + "http":{ + "method":"GET", + "requestUri":"/project" + }, + "input":{"shape":"DescribeProjectRequest"}, + "output":{"shape":"DescribeProjectResult"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"} + ] + }, + "ExportBundle":{ + "name":"ExportBundle", + "http":{ + "method":"POST", + "requestUri":"/bundles/{bundleId}" + }, + "input":{"shape":"ExportBundleRequest"}, + "output":{"shape":"ExportBundleResult"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"} + ] + }, + "ExportProject":{ + "name":"ExportProject", + "http":{ + "method":"POST", + "requestUri":"/exports/{projectId}" + }, + "input":{"shape":"ExportProjectRequest"}, + "output":{"shape":"ExportProjectResult"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"} + ] + }, + "ListBundles":{ + "name":"ListBundles", + "http":{ + "method":"GET", + "requestUri":"/bundles" + }, + "input":{"shape":"ListBundlesRequest"}, + "output":{"shape":"ListBundlesResult"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ] + }, + "ListProjects":{ + "name":"ListProjects", + "http":{ + "method":"GET", + "requestUri":"/projects" + }, + "input":{"shape":"ListProjectsRequest"}, + "output":{"shape":"ListProjectsResult"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ] + }, + "UpdateProject":{ + "name":"UpdateProject", + "http":{ + "method":"POST", + "requestUri":"/update" + }, + "input":{"shape":"UpdateProjectRequest"}, + "output":{"shape":"UpdateProjectResult"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"AccountActionRequiredException"}, + {"shape":"LimitExceededException"} + ] + } + }, + "shapes":{ + "AccountActionRequiredException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":403}, + "exception":true + }, + "AttributeKey":{"type":"string"}, + "AttributeValue":{"type":"string"}, + "Attributes":{ + "type":"map", + "key":{"shape":"AttributeKey"}, + "value":{"shape":"AttributeValue"} + }, + "BadRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "Boolean":{"type":"boolean"}, + "BundleDescription":{"type":"string"}, + "BundleDetails":{ + "type":"structure", + "members":{ + "bundleId":{"shape":"BundleId"}, + "title":{"shape":"BundleTitle"}, + "version":{"shape":"BundleVersion"}, + "description":{"shape":"BundleDescription"}, + "iconUrl":{"shape":"IconUrl"}, + "availablePlatforms":{"shape":"Platforms"} + } + }, + "BundleId":{"type":"string"}, + "BundleList":{ + "type":"list", + "member":{"shape":"BundleDetails"} + }, + "BundleTitle":{"type":"string"}, + "BundleVersion":{"type":"string"}, + "ConsoleUrl":{"type":"string"}, + "Contents":{"type":"blob"}, + "CreateProjectRequest":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ProjectName", + "location":"querystring", + "locationName":"name" + }, + "region":{ + "shape":"ProjectRegion", + "location":"querystring", + "locationName":"region" + }, + "contents":{"shape":"Contents"}, + "snapshotId":{ + "shape":"SnapshotId", + "location":"querystring", + "locationName":"snapshotId" + } + }, + "payload":"contents" + }, + "CreateProjectResult":{ + "type":"structure", + "members":{ + "details":{"shape":"ProjectDetails"} + } + }, + "Date":{"type":"timestamp"}, + "DeleteProjectRequest":{ + "type":"structure", + "required":["projectId"], + "members":{ + "projectId":{ + "shape":"ProjectId", + "location":"uri", + "locationName":"projectId" + } + } + }, + "DeleteProjectResult":{ + "type":"structure", + "members":{ + "deletedResources":{"shape":"Resources"}, + "orphanedResources":{"shape":"Resources"} + } + }, + "DescribeBundleRequest":{ + "type":"structure", + "required":["bundleId"], + "members":{ + "bundleId":{ + "shape":"BundleId", + "location":"uri", + "locationName":"bundleId" + } + } + }, + "DescribeBundleResult":{ + "type":"structure", + "members":{ + "details":{"shape":"BundleDetails"} + } + }, + "DescribeProjectRequest":{ + "type":"structure", + "required":["projectId"], + "members":{ + "projectId":{ + "shape":"ProjectId", + "location":"querystring", + "locationName":"projectId" + }, + "syncFromResources":{ + "shape":"Boolean", + "location":"querystring", + "locationName":"syncFromResources" + } + } + }, + "DescribeProjectResult":{ + "type":"structure", + "members":{ + "details":{"shape":"ProjectDetails"} + } + }, + "DownloadUrl":{"type":"string"}, + "ErrorMessage":{"type":"string"}, + "ExportBundleRequest":{ + "type":"structure", + "required":["bundleId"], + "members":{ + "bundleId":{ + "shape":"BundleId", + "location":"uri", + "locationName":"bundleId" + }, + "projectId":{ + "shape":"ProjectId", + "location":"querystring", + "locationName":"projectId" + }, + "platform":{ + "shape":"Platform", + "location":"querystring", + "locationName":"platform" + } + } + }, + "ExportBundleResult":{ + "type":"structure", + "members":{ + "downloadUrl":{"shape":"DownloadUrl"} + } + }, + "ExportProjectRequest":{ + "type":"structure", + "required":["projectId"], + "members":{ + "projectId":{ + "shape":"ProjectId", + "location":"uri", + "locationName":"projectId" + } + } + }, + "ExportProjectResult":{ + "type":"structure", + "members":{ + "downloadUrl":{"shape":"DownloadUrl"}, + "shareUrl":{"shape":"ShareUrl"}, + "snapshotId":{"shape":"SnapshotId"} + } + }, + "Feature":{"type":"string"}, + "IconUrl":{"type":"string"}, + "InternalFailureException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "retryAfterSeconds":{ + "shape":"ErrorMessage", + "location":"header", + "locationName":"Retry-After" + }, + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":429}, + "exception":true + }, + "ListBundlesRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListBundlesResult":{ + "type":"structure", + "members":{ + "bundleList":{"shape":"BundleList"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListProjectsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListProjectsResult":{ + "type":"structure", + "members":{ + "projects":{"shape":"ProjectSummaries"}, + "nextToken":{"shape":"NextToken"} + } + }, + "MaxResults":{"type":"integer"}, + "NextToken":{"type":"string"}, + "NotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":404}, + "exception":true + }, + "Platform":{ + "type":"string", + "enum":[ + "OSX", + "WINDOWS", + "LINUX", + "OBJC", + "SWIFT", + "ANDROID", + "JAVASCRIPT" + ] + }, + "Platforms":{ + "type":"list", + "member":{"shape":"Platform"} + }, + "ProjectDetails":{ + "type":"structure", + "members":{ + "name":{"shape":"ProjectName"}, + "projectId":{"shape":"ProjectId"}, + "region":{"shape":"ProjectRegion"}, + "state":{"shape":"ProjectState"}, + "createdDate":{"shape":"Date"}, + "lastUpdatedDate":{"shape":"Date"}, + "consoleUrl":{"shape":"ConsoleUrl"}, + "resources":{"shape":"Resources"} + } + }, + "ProjectId":{"type":"string"}, + "ProjectName":{"type":"string"}, + "ProjectRegion":{"type":"string"}, + "ProjectState":{ + "type":"string", + "enum":[ + "NORMAL", + "SYNCING", + "IMPORTING" + ] + }, + "ProjectSummaries":{ + "type":"list", + "member":{"shape":"ProjectSummary"} + }, + "ProjectSummary":{ + "type":"structure", + "members":{ + "name":{"shape":"ProjectName"}, + "projectId":{"shape":"ProjectId"} + } + }, + "Resource":{ + "type":"structure", + "members":{ + "type":{"shape":"ResourceType"}, + "name":{"shape":"ResourceName"}, + "arn":{"shape":"ResourceArn"}, + "feature":{"shape":"Feature"}, + "attributes":{"shape":"Attributes"} + } + }, + "ResourceArn":{"type":"string"}, + "ResourceName":{"type":"string"}, + "ResourceType":{"type":"string"}, + "Resources":{ + "type":"list", + "member":{"shape":"Resource"} + }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "retryAfterSeconds":{ + "shape":"ErrorMessage", + "location":"header", + "locationName":"Retry-After" + }, + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":503}, + "exception":true, + "fault":true + }, + "ShareUrl":{"type":"string"}, + "SnapshotId":{"type":"string"}, + "TooManyRequestsException":{ + "type":"structure", + "members":{ + "retryAfterSeconds":{ + "shape":"ErrorMessage", + "location":"header", + "locationName":"Retry-After" + }, + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":429}, + "exception":true + }, + "UnauthorizedException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":401}, + "exception":true + }, + "UpdateProjectRequest":{ + "type":"structure", + "required":["projectId"], + "members":{ + "contents":{"shape":"Contents"}, + "projectId":{ + "shape":"ProjectId", + "location":"querystring", + "locationName":"projectId" + } + }, + "payload":"contents" + }, + "UpdateProjectResult":{ + "type":"structure", + "members":{ + "details":{"shape":"ProjectDetails"} + } + } + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/MobileHub/2017-07-01/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/MobileHub/2017-07-01/docs-2.json new file mode 100644 index 000000000..d40f070ce --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/MobileHub/2017-07-01/docs-2.json @@ -0,0 +1,392 @@ +{ + "version": "2.0", + "service": "

AWS Mobile Service provides mobile app and website developers with capabilities required to configure AWS resources and bootstrap their developer desktop projects with the necessary SDKs, constants, tools and samples to make use of those resources.

", + "operations": { + "CreateProject": "

Creates an AWS Mobile Hub project.

", + "DeleteProject": "

Delets a project in AWS Mobile Hub.

", + "DescribeBundle": "

Get the bundle details for the requested bundle id.

", + "DescribeProject": "

Gets details about a project in AWS Mobile Hub.

", + "ExportBundle": "

Generates customized software development kit (SDK) and or tool packages used to integrate mobile web or mobile app clients with backend AWS resources.

", + "ExportProject": "

Exports project configuration to a snapshot which can be downloaded and shared. Note that mobile app push credentials are encrypted in exported projects, so they can only be shared successfully within the same AWS account.

", + "ListBundles": "

List all available bundles.

", + "ListProjects": "

Lists projects in AWS Mobile Hub.

", + "UpdateProject": "

Update an existing project.

" + }, + "shapes": { + "AccountActionRequiredException": { + "base": "

Account Action is required in order to continue the request.

", + "refs": { + } + }, + "AttributeKey": { + "base": "

Key part of key-value attribute pairs.

", + "refs": { + "Attributes$key": null + } + }, + "AttributeValue": { + "base": "

Value part of key-value attribute pairs.

", + "refs": { + "Attributes$value": null + } + }, + "Attributes": { + "base": "

Key-value attribute pairs.

", + "refs": { + "Resource$attributes": null + } + }, + "BadRequestException": { + "base": "

The request cannot be processed because some parameter is not valid or the project state prevents the operation from being performed.

", + "refs": { + } + }, + "Boolean": { + "base": null, + "refs": { + "DescribeProjectRequest$syncFromResources": "

If set to true, causes AWS Mobile Hub to synchronize information from other services, e.g., update state of AWS CloudFormation stacks in the AWS Mobile Hub project.

" + } + }, + "BundleDescription": { + "base": "

Description of the download bundle.

", + "refs": { + "BundleDetails$description": null + } + }, + "BundleDetails": { + "base": "

The details of the bundle.

", + "refs": { + "BundleList$member": null, + "DescribeBundleResult$details": "

The details of the bundle.

" + } + }, + "BundleId": { + "base": "

Unique bundle identifier.

", + "refs": { + "BundleDetails$bundleId": null, + "DescribeBundleRequest$bundleId": "

Unique bundle identifier.

", + "ExportBundleRequest$bundleId": "

Unique bundle identifier.

" + } + }, + "BundleList": { + "base": "

A list of bundles.

", + "refs": { + "ListBundlesResult$bundleList": "

A list of bundles.

" + } + }, + "BundleTitle": { + "base": "

Title of the download bundle.

", + "refs": { + "BundleDetails$title": null + } + }, + "BundleVersion": { + "base": "

Version of the download bundle.

", + "refs": { + "BundleDetails$version": null + } + }, + "ConsoleUrl": { + "base": null, + "refs": { + "ProjectDetails$consoleUrl": "

Website URL for this project in the AWS Mobile Hub console.

" + } + }, + "Contents": { + "base": "

Binary file data.

", + "refs": { + "CreateProjectRequest$contents": "

ZIP or YAML file which contains configuration settings to be used when creating the project. This may be the contents of the file downloaded from the URL provided in an export project operation.

", + "UpdateProjectRequest$contents": "

ZIP or YAML file which contains project configuration to be updated. This should be the contents of the file downloaded from the URL provided in an export project operation.

" + } + }, + "CreateProjectRequest": { + "base": "

Request structure used to request a project be created.

", + "refs": { + } + }, + "CreateProjectResult": { + "base": "

Result structure used in response to a request to create a project.

", + "refs": { + } + }, + "Date": { + "base": null, + "refs": { + "ProjectDetails$createdDate": "

Date the project was created.

", + "ProjectDetails$lastUpdatedDate": "

Date of the last modification of the project.

" + } + }, + "DeleteProjectRequest": { + "base": "

Request structure used to request a project be deleted.

", + "refs": { + } + }, + "DeleteProjectResult": { + "base": "

Result structure used in response to request to delete a project.

", + "refs": { + } + }, + "DescribeBundleRequest": { + "base": "

Request structure to request the details of a specific bundle.

", + "refs": { + } + }, + "DescribeBundleResult": { + "base": "

Result structure contains the details of the bundle.

", + "refs": { + } + }, + "DescribeProjectRequest": { + "base": "

Request structure used to request details about a project.

", + "refs": { + } + }, + "DescribeProjectResult": { + "base": "

Result structure used for requests of project details.

", + "refs": { + } + }, + "DownloadUrl": { + "base": "

The download Url.

", + "refs": { + "ExportBundleResult$downloadUrl": "

URL which contains the custom-generated SDK and tool packages used to integrate the client mobile app or web app with the AWS resources created by the AWS Mobile Hub project.

", + "ExportProjectResult$downloadUrl": "

URL which can be used to download the exported project configuation file(s).

" + } + }, + "ErrorMessage": { + "base": "

The Exception Error Message.

", + "refs": { + "AccountActionRequiredException$message": null, + "BadRequestException$message": null, + "InternalFailureException$message": null, + "LimitExceededException$retryAfterSeconds": null, + "LimitExceededException$message": null, + "NotFoundException$message": null, + "ServiceUnavailableException$retryAfterSeconds": null, + "ServiceUnavailableException$message": null, + "TooManyRequestsException$retryAfterSeconds": null, + "TooManyRequestsException$message": null, + "UnauthorizedException$message": null + } + }, + "ExportBundleRequest": { + "base": "

Request structure used to request generation of custom SDK and tool packages required to integrate mobile web or app clients with backed AWS resources.

", + "refs": { + } + }, + "ExportBundleResult": { + "base": "

Result structure which contains link to download custom-generated SDK and tool packages used to integrate mobile web or app clients with backed AWS resources.

", + "refs": { + } + }, + "ExportProjectRequest": { + "base": "

Request structure used in requests to export project configuration details.

", + "refs": { + } + }, + "ExportProjectResult": { + "base": "

Result structure used for requests to export project configuration details.

", + "refs": { + } + }, + "Feature": { + "base": "

Identifies which feature in AWS Mobile Hub is associated with this AWS resource.

", + "refs": { + "Resource$feature": null + } + }, + "IconUrl": { + "base": "

Icon for the download bundle.

", + "refs": { + "BundleDetails$iconUrl": null + } + }, + "InternalFailureException": { + "base": "

The service has encountered an unexpected error condition which prevents it from servicing the request.

", + "refs": { + } + }, + "LimitExceededException": { + "base": "

There are too many AWS Mobile Hub projects in the account or the account has exceeded the maximum number of resources in some AWS service. You should create another sub-account using AWS Organizations or remove some resources and retry your request.

", + "refs": { + } + }, + "ListBundlesRequest": { + "base": "

Request structure to request all available bundles.

", + "refs": { + } + }, + "ListBundlesResult": { + "base": "

Result structure contains a list of all available bundles with details.

", + "refs": { + } + }, + "ListProjectsRequest": { + "base": "

Request structure used to request projects list in AWS Mobile Hub.

", + "refs": { + } + }, + "ListProjectsResult": { + "base": "

Result structure used for requests to list projects in AWS Mobile Hub.

", + "refs": { + } + }, + "MaxResults": { + "base": "

Maximum number of records to list in a single response.

", + "refs": { + "ListBundlesRequest$maxResults": "

Maximum number of records to list in a single response.

", + "ListProjectsRequest$maxResults": "

Maximum number of records to list in a single response.

" + } + }, + "NextToken": { + "base": "

Pagination token. Set to null to start listing records from start. If non-null pagination token is returned in a result, then pass its value in here in another request to list more entries.

", + "refs": { + "ListBundlesRequest$nextToken": "

Pagination token. Set to null to start listing bundles from start. If non-null pagination token is returned in a result, then pass its value in here in another request to list more bundles.

", + "ListBundlesResult$nextToken": "

Pagination token. If non-null pagination token is returned in a result, then pass its value in another request to fetch more entries.

", + "ListProjectsRequest$nextToken": "

Pagination token. Set to null to start listing projects from start. If non-null pagination token is returned in a result, then pass its value in here in another request to list more projects.

", + "ListProjectsResult$nextToken": null + } + }, + "NotFoundException": { + "base": "

No entity can be found with the specified identifier.

", + "refs": { + } + }, + "Platform": { + "base": "

Developer desktop or target mobile app or website platform.

", + "refs": { + "ExportBundleRequest$platform": "

Developer desktop or target application platform.

", + "Platforms$member": null + } + }, + "Platforms": { + "base": "

Developer desktop or mobile app or website platforms.

", + "refs": { + "BundleDetails$availablePlatforms": null + } + }, + "ProjectDetails": { + "base": "

Detailed information about an AWS Mobile Hub project.

", + "refs": { + "CreateProjectResult$details": "

Detailed information about the created AWS Mobile Hub project.

", + "DescribeProjectResult$details": null, + "UpdateProjectResult$details": "

Detailed information about the updated AWS Mobile Hub project.

" + } + }, + "ProjectId": { + "base": "

Unique project identifier.

", + "refs": { + "DeleteProjectRequest$projectId": "

Unique project identifier.

", + "DescribeProjectRequest$projectId": "

Unique project identifier.

", + "ExportBundleRequest$projectId": "

Unique project identifier.

", + "ExportProjectRequest$projectId": "

Unique project identifier.

", + "ProjectDetails$projectId": null, + "ProjectSummary$projectId": "

Unique project identifier.

", + "UpdateProjectRequest$projectId": "

Unique project identifier.

" + } + }, + "ProjectName": { + "base": "

Name of the project.

", + "refs": { + "CreateProjectRequest$name": "

Name of the project.

", + "ProjectDetails$name": null, + "ProjectSummary$name": "

Name of the project.

" + } + }, + "ProjectRegion": { + "base": "

Default region to use for AWS resource creation in the AWS Mobile Hub project.

", + "refs": { + "CreateProjectRequest$region": "

Default region where project resources should be created.

", + "ProjectDetails$region": null + } + }, + "ProjectState": { + "base": "

Synchronization state for a project.

", + "refs": { + "ProjectDetails$state": null + } + }, + "ProjectSummaries": { + "base": "

List of projects.

", + "refs": { + "ListProjectsResult$projects": null + } + }, + "ProjectSummary": { + "base": "

Summary information about an AWS Mobile Hub project.

", + "refs": { + "ProjectSummaries$member": null + } + }, + "Resource": { + "base": "

Information about an instance of an AWS resource associated with a project.

", + "refs": { + "Resources$member": null + } + }, + "ResourceArn": { + "base": "

AWS resource name which uniquely identifies the resource in AWS systems.

", + "refs": { + "Resource$arn": null + } + }, + "ResourceName": { + "base": "

Name of the AWS resource (e.g., for an Amazon S3 bucket this is the name of the bucket).

", + "refs": { + "Resource$name": null + } + }, + "ResourceType": { + "base": "

Simplified name for type of AWS resource (e.g., bucket is an Amazon S3 bucket).

", + "refs": { + "Resource$type": null + } + }, + "Resources": { + "base": "

List of AWS resources associated with a project.

", + "refs": { + "DeleteProjectResult$deletedResources": "

Resources which were deleted.

", + "DeleteProjectResult$orphanedResources": "

Resources which were not deleted, due to a risk of losing potentially important data or files.

", + "ProjectDetails$resources": null + } + }, + "ServiceUnavailableException": { + "base": "

The service is temporarily unavailable. The request should be retried after some time delay.

", + "refs": { + } + }, + "ShareUrl": { + "base": "

URL which can be shared to allow other AWS users to create their own project in AWS Mobile Hub with the same configuration as the specified project. This URL pertains to a snapshot in time of the project configuration that is created when this API is called. If you want to share additional changes to your project configuration, then you will need to create and share a new snapshot by calling this method again.

", + "refs": { + "ExportProjectResult$shareUrl": "

URL which can be shared to allow other AWS users to create their own project in AWS Mobile Hub with the same configuration as the specified project. This URL pertains to a snapshot in time of the project configuration that is created when this API is called. If you want to share additional changes to your project configuration, then you will need to create and share a new snapshot by calling this method again.

" + } + }, + "SnapshotId": { + "base": "

Unique identifier for the exported snapshot of the project configuration. This snapshot identifier is included in the share URL.

", + "refs": { + "CreateProjectRequest$snapshotId": "

Unique identifier for an exported snapshot of project configuration. This snapshot identifier is included in the share URL when a project is exported.

", + "ExportProjectResult$snapshotId": "

Unique identifier for the exported snapshot of the project configuration. This snapshot identifier is included in the share URL.

" + } + }, + "TooManyRequestsException": { + "base": "

Too many requests have been received for this AWS account in too short a time. The request should be retried after some time delay.

", + "refs": { + } + }, + "UnauthorizedException": { + "base": "

Credentials of the caller are insufficient to authorize the request.

", + "refs": { + } + }, + "UpdateProjectRequest": { + "base": "

Request structure used for requests to update project configuration.

", + "refs": { + } + }, + "UpdateProjectResult": { + "base": "

Result structure used for requests to updated project configuration.

", + "refs": { + } + } + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/MobileHub/2017-07-01/examples-1.json b/vendor/github.com/aws/aws-sdk-go/models/apis/MobileHub/2017-07-01/examples-1.json new file mode 100644 index 000000000..0ea7e3b0b --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/MobileHub/2017-07-01/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/MobileHub/2017-07-01/paginators-1.json b/vendor/github.com/aws/aws-sdk-go/models/apis/MobileHub/2017-07-01/paginators-1.json new file mode 100644 index 000000000..6dcde7763 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/MobileHub/2017-07-01/paginators-1.json @@ -0,0 +1,14 @@ +{ + "pagination": { + "ListBundles": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListProjects": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + } + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/apigateway/2015-07-09/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/apigateway/2015-07-09/api-2.json index 140458b29..bf2cbb9a1 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/apigateway/2015-07-09/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/apigateway/2015-07-09/api-2.json @@ -295,6 +295,8 @@ "errors":[ {"shape":"UnauthorizedException"}, {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"}, {"shape":"TooManyRequestsException"} ] }, @@ -1823,6 +1825,7 @@ "type":"string", "enum":[ "TOKEN", + "REQUEST", "COGNITO_USER_POOLS" ] }, @@ -1939,8 +1942,7 @@ "required":[ "restApiId", "name", - "type", - "identitySource" + "type" ], "members":{ "restApiId":{ diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/apigateway/2015-07-09/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/apigateway/2015-07-09/docs-2.json index 3d0d65a6c..e8a707808 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/apigateway/2015-07-09/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/apigateway/2015-07-09/docs-2.json @@ -156,10 +156,10 @@ } }, "AuthorizerType": { - "base": "

The authorizer type. the current value is TOKEN for a Lambda function or COGNITO_USER_POOLS for an Amazon Cognito Your User Pool.

", + "base": "

[Required] The authorizer type. Valid values are TOKEN for a Lambda function using a single authorization token submitted in a custom header, REQUEST for a Lambda function using incoming request parameters, and COGNITO_USER_POOLS for using an Amazon Cognito user pool.

", "refs": { - "Authorizer$type": "

[Required] The type of the authorizer. Currently, the valid type is TOKEN for a Lambda function or COGNITO_USER_POOLS for an Amazon Cognito user pool.

", - "CreateAuthorizerRequest$type": "

[Required] The type of the authorizer.

" + "Authorizer$type": "

[Required] The authorizer type. Valid values are TOKEN for a Lambda function using a single authorization token submitted in a custom header, REQUEST for a Lambda function using incoming request parameters, and COGNITO_USER_POOLS for using an Amazon Cognito user pool.

", + "CreateAuthorizerRequest$type": "

[Required] The authorizer type. Valid values are TOKEN for a Lambda function using a single authorization token submitted in a custom header, REQUEST for a Lambda function using incoming request parameters, and COGNITO_USER_POOLS for using an Amazon Cognito user pool.

" } }, "Authorizers": { @@ -168,7 +168,7 @@ } }, "BadRequestException": { - "base": null, + "base": "

The submitted request is not valid, for example, the input is incomplete or incorrect. See the accompanying error message for details.

", "refs": { } }, @@ -237,7 +237,7 @@ } }, "ClientCertificate": { - "base": "

Represents a client certificate used to configure client-side SSL authentication while sending requests to the integration endpoint.

Client certificates are used authenticate an API by the back-end server. To authenticate an API client (or user), use a custom Authorizer.
", + "base": "

Represents a client certificate used to configure client-side SSL authentication while sending requests to the integration endpoint.

Client certificates are used to authenticate an API by the backend server. To authenticate an API client (or user), use IAM roles and policies, a custom Authorizer or an Amazon Cognito user pool.
", "refs": { "ListOfClientCertificate$member": null } @@ -248,7 +248,7 @@ } }, "ConflictException": { - "base": null, + "base": "

The request configuration has conflicts. For details, see the accompanying error message.

", "refs": { } }, @@ -469,7 +469,7 @@ "DocumentationPartType": { "base": null, "refs": { - "DocumentationPartLocation$type": "

The type of API entity to which the documentation content applies. It is a valid and required field for API entity types of API, AUTHORIZER, MODEL, RESOURCE, METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. Content inheritance does not apply to any entity of the API, AUTHROZER, METHOD, MODEL, REQUEST_BODY, or RESOURCE type.

", + "DocumentationPartLocation$type": "

The type of API entity to which the documentation content applies. It is a valid and required field for API entity types of API, AUTHORIZER, MODEL, RESOURCE, METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. Content inheritance does not apply to any entity of the API, AUTHORIZER, METHOD, MODEL, REQUEST_BODY, or RESOURCE type.

", "GetDocumentationPartsRequest$type": "

The type of API entities of the to-be-retrieved documentation parts.

" } }, @@ -810,15 +810,15 @@ } }, "LimitExceededException": { - "base": null, + "base": "

The request exceeded the rate limit. Retry after the specified time period.

", "refs": { } }, "ListOfARNs": { "base": null, "refs": { - "Authorizer$providerARNs": "

A list of the provider ARNs of the authorizer. For an TOKEN authorizer, this is not defined. For authorizers of the COGNITO_USER_POOLS type, each element corresponds to a user pool ARN of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}.

", - "CreateAuthorizerRequest$providerARNs": "

A list of the Cognito Your User Pool authorizer's provider ARNs.

" + "Authorizer$providerARNs": "

A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer. Each element is of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}. For a TOKEN or REQUEST authorizer, this is not defined.

", + "CreateAuthorizerRequest$providerARNs": "

A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer. Each element is of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}. For a TOKEN or REQUEST authorizer, this is not defined.

" } }, "ListOfApiKey": { @@ -1076,7 +1076,7 @@ "GatewayResponse$responseParameters": "

Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.

", "GatewayResponse$responseTemplates": "

Response templates of the GatewayResponse as a string-to-string map of key-value pairs.

", "GetExportRequest$parameters": "

A key-value map of query string parameters that specify properties of the export, depending on the requested exportType. For exportType swagger, any combination of the following parameters are supported: integrations will export the API with x-amazon-apigateway-integration extensions. authorizers will export the API with x-amazon-apigateway-authorizer extensions. postman will export the API with Postman extensions, allowing for import to the Postman tool

", - "GetSdkRequest$parameters": "

A key-value map of query string parameters that specify properties of the SDK, depending on the requested sdkType. For sdkType of objectivec, a parameter named classPrefix is required. For sdkType of android, parameters named groupId, artifactId, artifactVersion, and invokerPackage are required.

", + "GetSdkRequest$parameters": "

A string-to-string key-value map of query parameters sdkType-dependent properties of the SDK. For sdkType of objectivec or swift, a parameter named classPrefix is required. For sdkType of android, parameters named groupId, artifactId, artifactVersion, and invokerPackage are required. For sdkType of java, parameters named serviceName and javaPackageName are required.

", "ImportRestApiRequest$parameters": "

Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set ignore=documentation as a parameters value, as in the AWS CLI command of aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json.

", "Integration$requestParameters": "

A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name must be a valid and unique method request parameter name.

", "Integration$requestTemplates": "

Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value.

", @@ -1136,7 +1136,7 @@ } }, "NotFoundException": { - "base": null, + "base": "

The requested resource is not found. Make sure that the request URI is correct.

", "refs": { } }, @@ -1153,8 +1153,8 @@ "NullableInteger": { "base": null, "refs": { - "Authorizer$authorizerResultTtlInSeconds": "

The TTL in seconds of cached authorizer results. If greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.

", - "CreateAuthorizerRequest$authorizerResultTtlInSeconds": "

The TTL of cached authorizer results.

", + "Authorizer$authorizerResultTtlInSeconds": "

The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.

", + "CreateAuthorizerRequest$authorizerResultTtlInSeconds": "

The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.

", "GetApiKeysRequest$limit": "

The maximum number of returned results per page.

", "GetAuthorizersRequest$limit": "

The maximum number of returned results per page.

", "GetBasePathMappingsRequest$limit": "

The maximum number of returned results per page. The value is 25 by default and could be between 1 - 500.

", @@ -1304,7 +1304,7 @@ } }, "ServiceUnavailableException": { - "base": null, + "base": "

The requested service is not available. For details see the accompanying error message. Retry after the specified time period.

", "refs": { } }, @@ -1357,11 +1357,11 @@ "ApiStage$stage": "

API stage name of the associated API stage in a usage plan.

", "Authorizer$id": "

The identifier for the authorizer resource.

", "Authorizer$name": "

[Required] The name of the authorizer.

", - "Authorizer$authType": "

Optional customer-defined field, used in Swagger imports/exports. Has no functional impact.

", - "Authorizer$authorizerUri": "

[Required] Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form arn:aws:apigateway:{region}:lambda:path/{service_api}, where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations.

", - "Authorizer$authorizerCredentials": "

Specifies the credentials required for the authorizer, if any. Two options are available. To specify an IAM role for Amazon API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.

", - "Authorizer$identitySource": "

[Required] The source of the identity in an incoming request. For a TOKEN authorizer, this value is a mapping expression with the same syntax as integration parameter mappings. The only valid source for tokens is 'header', so the expression should match 'method.request.header.[headerName]'. The value of the header '[headerName]' will be interpreted as the incoming token. For COGNITO_USER_POOLS authorizers, this property is used.

", - "Authorizer$identityValidationExpression": "

A validation expression for the incoming identity. For TOKEN authorizers, this value should be a regular expression. The incoming token from the client is matched against this expression, and will proceed if the token matches. If the token doesn't match, the client receives a 401 Unauthorized response.

", + "Authorizer$authType": "

Optional customer-defined field, used in Swagger imports and exports without functional impact.

", + "Authorizer$authorizerUri": "

Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN or REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form arn:aws:apigateway:{region}:lambda:path/{service_api}, where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations.

", + "Authorizer$authorizerCredentials": "

Specifies the required credentials as an IAM role for Amazon API Gateway to invoke the authorizer. To specify an IAM role for Amazon API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.

", + "Authorizer$identitySource": "

The identity source for which authorization is requested.

  • For a TOKEN authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is Auth, the header mapping expression is method.request.header.Auth.
  • For the REQUEST authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an Auth header, a Name query string parameter are defined as identity sources, this value is method.request.header.Auth, method.request.querystring.Name. These parameters will be used to derive the authorization caching key and to perform runtime validation of the REQUEST authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.
  • For a COGNITO_USER_POOLS authorizer, this property is not used.

", + "Authorizer$identityValidationExpression": "

A validation expression for the incoming identity token. For TOKEN authorizers, this value is a regular expression. Amazon API Gateway will match the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the REQUEST authorizer.

", "Authorizers$position": null, "BadRequestException$message": null, "BasePathMapping$basePath": "

The base path name that callers of the API must provide as part of the URL after the domain name.

", @@ -1379,11 +1379,11 @@ "CreateApiKeyRequest$customerId": "

An AWS Marketplace customer identifier , when integrating with the AWS SaaS Marketplace.

", "CreateAuthorizerRequest$restApiId": "

The string identifier of the associated RestApi.

", "CreateAuthorizerRequest$name": "

[Required] The name of the authorizer.

", - "CreateAuthorizerRequest$authType": "

Optional customer-defined field, used in Swagger imports/exports. Has no functional impact.

", - "CreateAuthorizerRequest$authorizerUri": "

[Required] Specifies the authorizer's Uniform Resource Identifier (URI).

", - "CreateAuthorizerRequest$authorizerCredentials": "

Specifies the credentials required for the authorizer, if any.

", - "CreateAuthorizerRequest$identitySource": "

[Required] The source of the identity in an incoming request.

", - "CreateAuthorizerRequest$identityValidationExpression": "

A validation expression for the incoming identity.

", + "CreateAuthorizerRequest$authType": "

Optional customer-defined field, used in Swagger imports and exports without functional impact.

", + "CreateAuthorizerRequest$authorizerUri": "

Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN or REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form arn:aws:apigateway:{region}:lambda:path/{service_api}, where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations.

", + "CreateAuthorizerRequest$authorizerCredentials": "

Specifies the required credentials as an IAM role for Amazon API Gateway to invoke the authorizer. To specify an IAM role for Amazon API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.

", + "CreateAuthorizerRequest$identitySource": "

The identity source for which authorization is requested.

  • For a TOKEN authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is Auth, the header mapping expression is method.request.header.Auth.
  • For the REQUEST authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an Auth header, a Name query string parameter are defined as identity sources, this value is method.request.header.Auth, method.request.querystring.Name. These parameters will be used to derive the authorization caching key and to perform runtime validation of the REQUEST authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.
  • For a COGNITO_USER_POOLS authorizer, this property is not used.

", + "CreateAuthorizerRequest$identityValidationExpression": "

A validation expression for the incoming identity token. For TOKEN authorizers, this value is a regular expression. Amazon API Gateway will match the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the REQUEST authorizer.

", "CreateBasePathMappingRequest$domainName": "

The domain name of the BasePathMapping resource to create.

", "CreateBasePathMappingRequest$basePath": "

The base path name that callers of the API must provide as part of the URL after the domain name. This value must be unique for all of the mappings across a single API. Leave this blank if you do not want callers to specify a base path name after the domain name.

", "CreateBasePathMappingRequest$restApiId": "

The string identifier of the associated RestApi.

", @@ -1405,7 +1405,7 @@ "CreateDomainNameRequest$certificateChain": "

[Deprecated] The intermediate certificates and optionally the root certificate, one after the other without any blank lines. If you include the root certificate, your certificate chain must start with intermediate certificates and end with the root certificate. Use the intermediate certificates that were provided by your certificate authority. Do not include any intermediaries that are not in the chain of trust path.

", "CreateDomainNameRequest$certificateArn": "

The reference to an AWS-managed certificate. AWS Certificate Manager is the only supported source.

", "CreateModelRequest$restApiId": "

The RestApi identifier under which the Model will be created.

", - "CreateModelRequest$name": "

The name of the model.

", + "CreateModelRequest$name": "

The name of the model. Must be alphanumeric.

", "CreateModelRequest$description": "

The description of the model.

", "CreateModelRequest$schema": "

The schema for the model. For application/json models, this should be JSON-schema draft v4 model.

", "CreateModelRequest$contentType": "

The content-type for the model.

", @@ -1558,7 +1558,7 @@ "GetRestApisRequest$position": "

The current pagination position in the paged result set.

", "GetSdkRequest$restApiId": "

The string identifier of the associated RestApi.

", "GetSdkRequest$stageName": "

The name of the Stage that the SDK will use.

", - "GetSdkRequest$sdkType": "

The language for the generated SDK. Currently javascript, android, and objectivec (for iOS) are supported.

", + "GetSdkRequest$sdkType": "

The language for the generated SDK. Currently java, javascript, android, objectivec and swift (for iOS) are supported.

", "GetSdkTypeRequest$id": "

The identifier of the queried SdkType instance.

", "GetSdkTypesRequest$position": "

The current pagination position in the paged result set.

", "GetStageRequest$restApiId": "

The string identifier of the associated RestApi.

", @@ -1608,7 +1608,7 @@ "MethodSetting$loggingLevel": "

Specifies the logging level for this method, which effects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/loglevel, and the available levels are OFF, ERROR, and INFO.

", "MethodSnapshot$authorizationType": "

The method's authorization type. Valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS for using a Cognito user pool.

", "Model$id": "

The identifier for the model resource.

", - "Model$name": "

The name of the model.

", + "Model$name": "

The name of the model. Must be an alphanumeric string.

", "Model$description": "

The description of the model.

", "Model$schema": "

The schema for the model. For application/json models, this should be JSON-schema draft v4 model. Do not include \"\\*/\" characters in the description of any properties because such \"\\*/\" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail.

", "Model$contentType": "

The content-type for the model.

", @@ -1796,7 +1796,7 @@ } }, "TooManyRequestsException": { - "base": null, + "base": "

The request has reached its throttling limit. Retry after the specified time period.

", "refs": { } }, @@ -1807,7 +1807,7 @@ } }, "UnauthorizedException": { - "base": null, + "base": "

The request is denied because the caller has insufficient permissions.

", "refs": { } }, diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/application-autoscaling/2016-02-06/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/application-autoscaling/2016-02-06/api-2.json index 69130ebcc..23a6e21cb 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/application-autoscaling/2016-02-06/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/application-autoscaling/2016-02-06/api-2.json @@ -261,6 +261,7 @@ "NextToken":{"shape":"XmlString"} } }, + "DisableScaleIn":{"type":"boolean"}, "ErrorMessage":{"type":"string"}, "FailedResourceAccessException":{ "type":"structure", @@ -582,7 +583,8 @@ "PredefinedMetricSpecification":{"shape":"PredefinedMetricSpecification"}, "CustomizedMetricSpecification":{"shape":"CustomizedMetricSpecification"}, "ScaleOutCooldown":{"shape":"Cooldown"}, - "ScaleInCooldown":{"shape":"Cooldown"} + "ScaleInCooldown":{"shape":"Cooldown"}, + "DisableScaleIn":{"shape":"DisableScaleIn"} } }, "TimestampType":{"type":"timestamp"}, diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/application-autoscaling/2016-02-06/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/application-autoscaling/2016-02-06/docs-2.json index 0b8e8ad61..73966aff0 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/application-autoscaling/2016-02-06/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/application-autoscaling/2016-02-06/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "

With Application Auto Scaling, you can automatically scale your AWS resources. The experience similar to that of Auto Scaling. You can use Application Auto Scaling to accomplish the following tasks:

  • Define scaling policies to automatically scale your AWS resources

  • Scale your resources in response to CloudWatch alarms

  • View the history of your scaling events

Application Auto Scaling can scale the following AWS resources:

For a list of supported regions, see AWS Regions and Endpoints: Application Auto Scaling in the AWS General Reference.

", + "service": "

With Application Auto Scaling, you can automatically scale your AWS resources. The experience similar to that of Auto Scaling. You can use Application Auto Scaling to accomplish the following tasks:

  • Define scaling policies to automatically scale your AWS resources

  • Scale your resources in response to CloudWatch alarms

  • View the history of your scaling events

Application Auto Scaling can scale the following AWS resources:

For a list of supported regions, see AWS Regions and Endpoints: Application Auto Scaling in the AWS General Reference.

", "operations": { "DeleteScalingPolicy": "

Deletes the specified Application Auto Scaling scaling policy.

Deleting a policy deletes the underlying alarm action, but does not delete the CloudWatch alarm associated with the scaling policy, even if it no longer has an associated action.

To create a scaling policy or update an existing one, see PutScalingPolicy.

", "DeregisterScalableTarget": "

Deregisters a scalable target.

Deregistering a scalable target deletes the scaling policies that are associated with it.

To create a scalable target or update an existing one, see RegisterScalableTarget.

", @@ -99,6 +99,12 @@ "refs": { } }, + "DisableScaleIn": { + "base": null, + "refs": { + "TargetTrackingScalingPolicyConfiguration$DisableScaleIn": "

Indicates whether scale in by the target tracking policy is disabled. If the value is true, scale in is disabled and the target tracking policy won't remove capacity from the scalable resource. Otherwise, scale in is enabled and the target tracking policy can remove capacity from the scalable resource. The default value is false.

" + } + }, "ErrorMessage": { "base": null, "refs": { diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/appstream/2016-12-01/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/appstream/2016-12-01/api-2.json index ece981dbb..73f184d09 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/appstream/2016-12-01/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/appstream/2016-12-01/api-2.json @@ -24,7 +24,21 @@ {"shape":"LimitExceededException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ConcurrentModificationException"}, - {"shape":"IncompatibleImageException"} + {"shape":"IncompatibleImageException"}, + {"shape":"OperationNotPermittedException"} + ] + }, + "CreateDirectoryConfig":{ + "name":"CreateDirectoryConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDirectoryConfigRequest"}, + "output":{"shape":"CreateDirectoryConfigResult"}, + "errors":[ + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"LimitExceededException"} ] }, "CreateFleet":{ @@ -41,7 +55,41 @@ {"shape":"ResourceNotFoundException"}, {"shape":"LimitExceededException"}, {"shape":"InvalidRoleException"}, - {"shape":"ConcurrentModificationException"} + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidParameterCombinationException"}, + {"shape":"IncompatibleImageException"} + ] + }, + "CreateImageBuilder":{ + "name":"CreateImageBuilder", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateImageBuilderRequest"}, + "output":{"shape":"CreateImageBuilderResult"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotAvailableException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRoleException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidParameterCombinationException"}, + {"shape":"IncompatibleImageException"} + ] + }, + "CreateImageBuilderStreamingURL":{ + "name":"CreateImageBuilderStreamingURL", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateImageBuilderStreamingURLRequest"}, + "output":{"shape":"CreateImageBuilderStreamingURLResult"}, + "errors":[ + {"shape":"OperationNotPermittedException"}, + {"shape":"ResourceNotFoundException"} ] }, "CreateStack":{ @@ -76,6 +124,19 @@ {"shape":"InvalidParameterCombinationException"} ] }, + "DeleteDirectoryConfig":{ + "name":"DeleteDirectoryConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDirectoryConfigRequest"}, + "output":{"shape":"DeleteDirectoryConfigResult"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "DeleteFleet":{ "name":"DeleteFleet", "http":{ @@ -90,6 +151,35 @@ {"shape":"ConcurrentModificationException"} ] }, + "DeleteImage":{ + "name":"DeleteImage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteImageRequest"}, + "output":{"shape":"DeleteImageResult"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"ConcurrentModificationException"} + ] + }, + "DeleteImageBuilder":{ + "name":"DeleteImageBuilder", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteImageBuilderRequest"}, + "output":{"shape":"DeleteImageBuilderResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"ConcurrentModificationException"} + ] + }, "DeleteStack":{ "name":"DeleteStack", "http":{ @@ -104,6 +194,18 @@ {"shape":"ConcurrentModificationException"} ] }, + "DescribeDirectoryConfigs":{ + "name":"DescribeDirectoryConfigs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDirectoryConfigsRequest"}, + "output":{"shape":"DescribeDirectoryConfigsResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ] + }, "DescribeFleets":{ "name":"DescribeFleets", "http":{ @@ -116,6 +218,18 @@ {"shape":"ResourceNotFoundException"} ] }, + "DescribeImageBuilders":{ + "name":"DescribeImageBuilders", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeImageBuildersRequest"}, + "output":{"shape":"DescribeImageBuildersResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ] + }, "DescribeImages":{ "name":"DescribeImages", "http":{ @@ -208,6 +322,20 @@ {"shape":"ConcurrentModificationException"} ] }, + "StartImageBuilder":{ + "name":"StartImageBuilder", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartImageBuilderRequest"}, + "output":{"shape":"StartImageBuilderResult"}, + "errors":[ + {"shape":"ResourceNotAvailableException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"} + ] + }, "StopFleet":{ "name":"StopFleet", "http":{ @@ -221,6 +349,34 @@ {"shape":"ConcurrentModificationException"} ] }, + "StopImageBuilder":{ + "name":"StopImageBuilder", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopImageBuilderRequest"}, + "output":{"shape":"StopImageBuilderResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"ConcurrentModificationException"} + ] + }, + "UpdateDirectoryConfig":{ + "name":"UpdateDirectoryConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDirectoryConfigRequest"}, + "output":{"shape":"UpdateDirectoryConfigResult"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"} + ] + }, "UpdateFleet":{ "name":"UpdateFleet", "http":{ @@ -237,7 +393,8 @@ {"shape":"ResourceNotAvailableException"}, {"shape":"InvalidParameterCombinationException"}, {"shape":"ConcurrentModificationException"}, - {"shape":"IncompatibleImageException"} + {"shape":"IncompatibleImageException"}, + {"shape":"OperationNotPermittedException"} ] }, "UpdateStack":{ @@ -259,6 +416,17 @@ } }, "shapes":{ + "AccountName":{ + "type":"string", + "min":1, + "sensitive":true + }, + "AccountPassword":{ + "type":"string", + "max":127, + "min":1, + "sensitive":true + }, "Application":{ "type":"structure", "members":{ @@ -329,6 +497,25 @@ }, "exception":true }, + "CreateDirectoryConfigRequest":{ + "type":"structure", + "required":[ + "DirectoryName", + "OrganizationalUnitDistinguishedNames", + "ServiceAccountCredentials" + ], + "members":{ + "DirectoryName":{"shape":"DirectoryName"}, + "OrganizationalUnitDistinguishedNames":{"shape":"OrganizationalUnitDistinguishedNamesList"}, + "ServiceAccountCredentials":{"shape":"ServiceAccountCredentials"} + } + }, + "CreateDirectoryConfigResult":{ + "type":"structure", + "members":{ + "DirectoryConfig":{"shape":"DirectoryConfig"} + } + }, "CreateFleetRequest":{ "type":"structure", "required":[ @@ -341,13 +528,15 @@ "Name":{"shape":"Name"}, "ImageName":{"shape":"String"}, "InstanceType":{"shape":"String"}, + "FleetType":{"shape":"FleetType"}, "ComputeCapacity":{"shape":"ComputeCapacity"}, "VpcConfig":{"shape":"VpcConfig"}, "MaxUserDurationInSeconds":{"shape":"Integer"}, "DisconnectTimeoutInSeconds":{"shape":"Integer"}, "Description":{"shape":"Description"}, "DisplayName":{"shape":"DisplayName"}, - "EnableDefaultInternetAccess":{"shape":"BooleanObject"} + "EnableDefaultInternetAccess":{"shape":"BooleanObject"}, + "DomainJoinInfo":{"shape":"DomainJoinInfo"} } }, "CreateFleetResult":{ @@ -356,6 +545,45 @@ "Fleet":{"shape":"Fleet"} } }, + "CreateImageBuilderRequest":{ + "type":"structure", + "required":[ + "Name", + "ImageName", + "InstanceType" + ], + "members":{ + "Name":{"shape":"Name"}, + "ImageName":{"shape":"String"}, + "InstanceType":{"shape":"String"}, + "Description":{"shape":"Description"}, + "DisplayName":{"shape":"DisplayName"}, + "VpcConfig":{"shape":"VpcConfig"}, + "EnableDefaultInternetAccess":{"shape":"BooleanObject"}, + "DomainJoinInfo":{"shape":"DomainJoinInfo"} + } + }, + "CreateImageBuilderResult":{ + "type":"structure", + "members":{ + "ImageBuilder":{"shape":"ImageBuilder"} + } + }, + "CreateImageBuilderStreamingURLRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"String"}, + "Validity":{"shape":"Long"} + } + }, + "CreateImageBuilderStreamingURLResult":{ + "type":"structure", + "members":{ + "StreamingURL":{"shape":"String"}, + "Expires":{"shape":"Timestamp"} + } + }, "CreateStackRequest":{ "type":"structure", "required":["Name"], @@ -382,7 +610,7 @@ "members":{ "StackName":{"shape":"String"}, "FleetName":{"shape":"String"}, - "UserId":{"shape":"UserId"}, + "UserId":{"shape":"StreamingUrlUserId"}, "ApplicationId":{"shape":"String"}, "Validity":{"shape":"Long"}, "SessionContext":{"shape":"String"} @@ -395,6 +623,18 @@ "Expires":{"shape":"Timestamp"} } }, + "DeleteDirectoryConfigRequest":{ + "type":"structure", + "required":["DirectoryName"], + "members":{ + "DirectoryName":{"shape":"DirectoryName"} + } + }, + "DeleteDirectoryConfigResult":{ + "type":"structure", + "members":{ + } + }, "DeleteFleetRequest":{ "type":"structure", "required":["Name"], @@ -407,6 +647,32 @@ "members":{ } }, + "DeleteImageBuilderRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"Name"} + } + }, + "DeleteImageBuilderResult":{ + "type":"structure", + "members":{ + "ImageBuilder":{"shape":"ImageBuilder"} + } + }, + "DeleteImageRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"Name"} + } + }, + "DeleteImageResult":{ + "type":"structure", + "members":{ + "Image":{"shape":"Image"} + } + }, "DeleteStackRequest":{ "type":"structure", "required":["Name"], @@ -419,6 +685,21 @@ "members":{ } }, + "DescribeDirectoryConfigsRequest":{ + "type":"structure", + "members":{ + "DirectoryNames":{"shape":"DirectoryNameList"}, + "MaxResults":{"shape":"Integer"}, + "NextToken":{"shape":"String"} + } + }, + "DescribeDirectoryConfigsResult":{ + "type":"structure", + "members":{ + "DirectoryConfigs":{"shape":"DirectoryConfigList"}, + "NextToken":{"shape":"String"} + } + }, "DescribeFleetsRequest":{ "type":"structure", "members":{ @@ -433,6 +714,21 @@ "NextToken":{"shape":"String"} } }, + "DescribeImageBuildersRequest":{ + "type":"structure", + "members":{ + "Names":{"shape":"StringList"}, + "MaxResults":{"shape":"Integer"}, + "NextToken":{"shape":"String"} + } + }, + "DescribeImageBuildersResult":{ + "type":"structure", + "members":{ + "ImageBuilders":{"shape":"ImageBuilderList"}, + "NextToken":{"shape":"String"} + } + }, "DescribeImagesRequest":{ "type":"structure", "members":{ @@ -485,6 +781,25 @@ "type":"string", "max":256 }, + "DirectoryConfig":{ + "type":"structure", + "required":["DirectoryName"], + "members":{ + "DirectoryName":{"shape":"DirectoryName"}, + "OrganizationalUnitDistinguishedNames":{"shape":"OrganizationalUnitDistinguishedNamesList"}, + "ServiceAccountCredentials":{"shape":"ServiceAccountCredentials"}, + "CreatedTime":{"shape":"Timestamp"} + } + }, + "DirectoryConfigList":{ + "type":"list", + "member":{"shape":"DirectoryConfig"} + }, + "DirectoryName":{"type":"string"}, + "DirectoryNameList":{ + "type":"list", + "member":{"shape":"DirectoryName"} + }, "DisassociateFleetRequest":{ "type":"structure", "required":[ @@ -505,6 +820,13 @@ "type":"string", "max":100 }, + "DomainJoinInfo":{ + "type":"structure", + "members":{ + "DirectoryName":{"shape":"DirectoryName"}, + "OrganizationalUnitDistinguishedName":{"shape":"OrganizationalUnitDistinguishedName"} + } + }, "ErrorMessage":{"type":"string"}, "ExpireSessionRequest":{ "type":"structure", @@ -535,6 +857,7 @@ "Description":{"shape":"String"}, "ImageName":{"shape":"String"}, "InstanceType":{"shape":"String"}, + "FleetType":{"shape":"FleetType"}, "ComputeCapacityStatus":{"shape":"ComputeCapacityStatus"}, "MaxUserDurationInSeconds":{"shape":"Integer"}, "DisconnectTimeoutInSeconds":{"shape":"Integer"}, @@ -542,14 +865,16 @@ "VpcConfig":{"shape":"VpcConfig"}, "CreatedTime":{"shape":"Timestamp"}, "FleetErrors":{"shape":"FleetErrors"}, - "EnableDefaultInternetAccess":{"shape":"BooleanObject"} + "EnableDefaultInternetAccess":{"shape":"BooleanObject"}, + "DomainJoinInfo":{"shape":"DomainJoinInfo"} } }, "FleetAttribute":{ "type":"string", "enum":[ "VPC_CONFIGURATION", - "VPC_CONFIGURATION_SECURITY_GROUP_IDS" + "VPC_CONFIGURATION_SECURITY_GROUP_IDS", + "DOMAIN_JOIN_INFO" ] }, "FleetAttributes":{ @@ -576,7 +901,22 @@ "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", - "INVALID_SUBNET_CONFIGURATION" + "INVALID_SUBNET_CONFIGURATION", + "SECURITY_GROUPS_NOT_FOUND", + "IGW_NOT_ATTACHED", + "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", + "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND", + "DOMAIN_JOIN_ERROR_ACCESS_DENIED", + "DOMAIN_JOIN_ERROR_LOGON_FAILURE", + "DOMAIN_JOIN_ERROR_INVALID_PARAMETER", + "DOMAIN_JOIN_ERROR_MORE_DATA", + "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN", + "DOMAIN_JOIN_ERROR_NOT_SUPPORTED", + "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME", + "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED", + "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED", + "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED", + "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR" ] }, "FleetErrors":{ @@ -596,6 +936,13 @@ "STOPPED" ] }, + "FleetType":{ + "type":"string", + "enum":[ + "ALWAYS_ON", + "ON_DEMAND" + ] + }, "Image":{ "type":"structure", "required":["Name"], @@ -615,6 +962,57 @@ "PublicBaseImageReleasedDate":{"shape":"Timestamp"} } }, + "ImageBuilder":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"String"}, + "Arn":{"shape":"Arn"}, + "ImageArn":{"shape":"Arn"}, + "Description":{"shape":"String"}, + "DisplayName":{"shape":"String"}, + "VpcConfig":{"shape":"VpcConfig"}, + "InstanceType":{"shape":"String"}, + "Platform":{"shape":"PlatformType"}, + "State":{"shape":"ImageBuilderState"}, + "StateChangeReason":{"shape":"ImageBuilderStateChangeReason"}, + "CreatedTime":{"shape":"Timestamp"}, + "EnableDefaultInternetAccess":{"shape":"BooleanObject"}, + "DomainJoinInfo":{"shape":"DomainJoinInfo"}, + "ImageBuilderErrors":{"shape":"ResourceErrors"} + } + }, + "ImageBuilderList":{ + "type":"list", + "member":{"shape":"ImageBuilder"} + }, + "ImageBuilderState":{ + "type":"string", + "enum":[ + "PENDING", + "RUNNING", + "STOPPING", + "STOPPED", + "REBOOTING", + "SNAPSHOTTING", + "DELETING", + "FAILED" + ] + }, + "ImageBuilderStateChangeReason":{ + "type":"structure", + "members":{ + "Code":{"shape":"ImageBuilderStateChangeReasonCode"}, + "Message":{"shape":"String"} + } + }, + "ImageBuilderStateChangeReasonCode":{ + "type":"string", + "enum":[ + "INTERNAL_ERROR", + "IMAGE_UNAVAILABLE" + ] + }, "ImageList":{ "type":"list", "member":{"shape":"Image"} @@ -718,6 +1116,14 @@ }, "exception":true }, + "OrganizationalUnitDistinguishedName":{ + "type":"string", + "max":2000 + }, + "OrganizationalUnitDistinguishedNamesList":{ + "type":"list", + "member":{"shape":"OrganizationalUnitDistinguishedName"} + }, "PlatformType":{ "type":"string", "enum":["WINDOWS"] @@ -729,6 +1135,18 @@ }, "exception":true }, + "ResourceError":{ + "type":"structure", + "members":{ + "ErrorCode":{"shape":"FleetErrorCode"}, + "ErrorMessage":{"shape":"String"}, + "ErrorTimestamp":{"shape":"Timestamp"} + } + }, + "ResourceErrors":{ + "type":"list", + "member":{"shape":"ResourceError"} + }, "ResourceIdentifier":{ "type":"string", "min":1 @@ -759,6 +1177,17 @@ "member":{"shape":"String"}, "max":5 }, + "ServiceAccountCredentials":{ + "type":"structure", + "required":[ + "AccountName", + "AccountPassword" + ], + "members":{ + "AccountName":{"shape":"AccountName"}, + "AccountPassword":{"shape":"AccountPassword"} + } + }, "Session":{ "type":"structure", "required":[ @@ -836,6 +1265,19 @@ "members":{ } }, + "StartImageBuilderRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"String"} + } + }, + "StartImageBuilderResult":{ + "type":"structure", + "members":{ + "ImageBuilder":{"shape":"ImageBuilder"} + } + }, "StopFleetRequest":{ "type":"structure", "required":["Name"], @@ -848,6 +1290,19 @@ "members":{ } }, + "StopImageBuilderRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"String"} + } + }, + "StopImageBuilderResult":{ + "type":"structure", + "members":{ + "ImageBuilder":{"shape":"ImageBuilder"} + } + }, "StorageConnector":{ "type":"structure", "required":["ConnectorType"], @@ -864,6 +1319,12 @@ "type":"string", "enum":["HOMEFOLDERS"] }, + "StreamingUrlUserId":{ + "type":"string", + "max":32, + "min":2, + "pattern":"[\\w+=,.@-]*" + }, "String":{ "type":"string", "min":1 @@ -877,6 +1338,21 @@ "member":{"shape":"String"} }, "Timestamp":{"type":"timestamp"}, + "UpdateDirectoryConfigRequest":{ + "type":"structure", + "required":["DirectoryName"], + "members":{ + "DirectoryName":{"shape":"DirectoryName"}, + "OrganizationalUnitDistinguishedNames":{"shape":"OrganizationalUnitDistinguishedNamesList"}, + "ServiceAccountCredentials":{"shape":"ServiceAccountCredentials"} + } + }, + "UpdateDirectoryConfigResult":{ + "type":"structure", + "members":{ + "DirectoryConfig":{"shape":"DirectoryConfig"} + } + }, "UpdateFleetRequest":{ "type":"structure", "required":["Name"], @@ -895,6 +1371,7 @@ "Description":{"shape":"Description"}, "DisplayName":{"shape":"DisplayName"}, "EnableDefaultInternetAccess":{"shape":"BooleanObject"}, + "DomainJoinInfo":{"shape":"DomainJoinInfo"}, "AttributesToDelete":{"shape":"FleetAttributes"} } }, diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/appstream/2016-12-01/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/appstream/2016-12-01/docs-2.json index 915e4bbf0..f4111a8d4 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/appstream/2016-12-01/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/appstream/2016-12-01/docs-2.json @@ -1,29 +1,52 @@ { "version": "2.0", - "service": "Amazon AppStream 2.0

API documentation for Amazon AppStream 2.0.

", + "service": "Amazon AppStream 2.0

You can use Amazon AppStream 2.0 to stream desktop applications to any device running a web browser, without rewriting them.

", "operations": { - "AssociateFleet": "

Associate a fleet to a stack.

", - "CreateFleet": "

Creates a new fleet.

", - "CreateStack": "

Create a new stack.

", - "CreateStreamingURL": "

Creates a URL to start an AppStream 2.0 streaming session for a user. By default, the URL is valid only for 1 minute from the time that it is generated.

", - "DeleteFleet": "

Deletes a fleet.

", - "DeleteStack": "

Deletes the stack. After this operation completes, the environment can no longer be activated, and any reservations made for the stack are released.

", - "DescribeFleets": "

If fleet names are provided, this operation describes the specified fleets; otherwise, all the fleets in the account are described.

", - "DescribeImages": "

Describes the images. If a list of names is not provided, all images in your account are returned. This operation does not return a paginated result.

", - "DescribeSessions": "

Describes the streaming sessions for a stack and a fleet. If a user ID is provided, this operation returns streaming sessions for only that user. Pass this value for the nextToken parameter in a subsequent call to this operation to retrieve the next set of items. If an authentication type is not provided, the operation defaults to users authenticated using a streaming URL.

", - "DescribeStacks": "

If stack names are not provided, this operation describes the specified stacks; otherwise, all stacks in the account are described. Pass the nextToken value in a subsequent call to this operation to retrieve the next set of items.

", - "DisassociateFleet": "

Disassociates a fleet from a stack.

", - "ExpireSession": "

This operation immediately stops a streaming session.

", - "ListAssociatedFleets": "

Lists all fleets associated with the stack.

", - "ListAssociatedStacks": "

Lists all stacks to which the specified fleet is associated.

", - "StartFleet": "

Starts a fleet.

", - "StopFleet": "

Stops a fleet.

", - "UpdateFleet": "

Updates an existing fleet. All the attributes except the fleet name can be updated in the STOPPED state. When a fleet is in the RUNNING state, only DisplayName and ComputeCapacity can be updated. A fleet cannot be updated in a status of STARTING or STOPPING.

", - "UpdateStack": "

Updates the specified fields in the stack with the specified name.

" + "AssociateFleet": "

Associates the specified fleet with the specified stack.

", + "CreateDirectoryConfig": "

Creates a directory configuration.

", + "CreateFleet": "

Creates a fleet.

", + "CreateImageBuilder": null, + "CreateImageBuilderStreamingURL": null, + "CreateStack": "

Creates a stack.

", + "CreateStreamingURL": "

Creates a URL to start a streaming session for the specified user.

By default, the URL is valid only for one minute from the time that it is generated.

", + "DeleteDirectoryConfig": "

Deletes the specified directory configuration.

", + "DeleteFleet": "

Deletes the specified fleet.

", + "DeleteImage": null, + "DeleteImageBuilder": null, + "DeleteStack": "

Deletes the specified stack. After this operation completes, the environment can no longer be activated and any reservations made for the stack are released.

", + "DescribeDirectoryConfigs": "

Describes the specified directory configurations.

", + "DescribeFleets": "

Describes the specified fleets or all fleets in the account.

", + "DescribeImageBuilders": null, + "DescribeImages": "

Describes the specified images or all images in the account.

", + "DescribeSessions": "

Describes the streaming sessions for the specified stack and fleet. If a user ID is provided, only the streaming sessions for only that user are returned. If an authentication type is not provided, the default is to authenticate users using a streaming URL.

", + "DescribeStacks": "

Describes the specified stacks or all stacks in the account.

", + "DisassociateFleet": "

Disassociates the specified fleet from the specified stack.

", + "ExpireSession": "

Stops the specified streaming session.

", + "ListAssociatedFleets": "

Lists the fleets associated with the specified stack.

", + "ListAssociatedStacks": "

Lists the stacks associated with the specified fleet.

", + "StartFleet": "

Starts the specified fleet.

", + "StartImageBuilder": null, + "StopFleet": "

Stops the specified fleet.

", + "StopImageBuilder": null, + "UpdateDirectoryConfig": "

Updates the specified directory configuration.

", + "UpdateFleet": "

Updates the specified fleet.

If the fleet is in the STOPPED state, you can update any attribute except the fleet name. If the fleet is in the RUNNING state, you can update the DisplayName and ComputeCapacity attributes. If the fleet is in the STARTING or STOPPING state, you can't update it.

", + "UpdateStack": "

Updates the specified stack.

" }, "shapes": { + "AccountName": { + "base": null, + "refs": { + "ServiceAccountCredentials$AccountName": "

The user name of the account. This account must have the following privileges: create computer objects, join computers to the domain, and change/reset the password on descendant computer objects for the organizational units specified.

" + } + }, + "AccountPassword": { + "base": null, + "refs": { + "ServiceAccountCredentials$AccountPassword": "

The password for the account.

" + } + }, "Application": { - "base": "

An entry for a single application in the application catalog.

", + "base": "

Describes an application in the application catalog.

", "refs": { "Applications$member": null } @@ -31,15 +54,17 @@ "Applications": { "base": null, "refs": { - "Image$Applications": "

The applications associated with an image.

" + "Image$Applications": "

The applications associated with the image.

" } }, "Arn": { "base": null, "refs": { "Fleet$Arn": "

The ARN for the fleet.

", - "Image$Arn": "

The ARN for the image.

", - "Image$BaseImageArn": "

The source image ARN from which this image was created.

", + "Image$Arn": "

The ARN of the image.

", + "Image$BaseImageArn": "

The ARN of the image from which this image was created.

", + "ImageBuilder$Arn": null, + "ImageBuilder$ImageArn": null, "Stack$Arn": "

The ARN of the stack.

" } }, @@ -56,38 +81,40 @@ "AuthenticationType": { "base": null, "refs": { - "DescribeSessionsRequest$AuthenticationType": "

The authentication method of the user. It can be API for a user authenticated using a streaming URL, or SAML for a SAML federated user. If an authentication type is not provided, the operation defaults to users authenticated using a streaming URL.

", - "Session$AuthenticationType": "

The authentication method of the user for whom the session was created. It can be API for a user authenticated using a streaming URL or SAML for a SAML federated user.

" + "DescribeSessionsRequest$AuthenticationType": "

The authentication method. Specify API for a user authenticated using a streaming URL or SAML for a SAML federated user. The default is to authenticate users using a streaming URL.

", + "Session$AuthenticationType": "

The authentication method. The user is authenticated using a streaming URL (API) or SAML federation (SAML).

" } }, "Boolean": { "base": null, "refs": { - "Application$Enabled": "

An application can be disabled after image creation if there is a problem.

", - "Image$ImageBuilderSupported": "

Whether an image builder can be launched from this image.

", - "UpdateFleetRequest$DeleteVpcConfig": "

Delete the VPC association for the specified fleet.

", - "UpdateStackRequest$DeleteStorageConnectors": "

Remove all the storage connectors currently enabled for the stack.

" + "Application$Enabled": "

If there is a problem, the application can be disabled after image creation.

", + "Image$ImageBuilderSupported": "

Indicates whether an image builder can be launched from this image.

", + "UpdateFleetRequest$DeleteVpcConfig": "

Deletes the VPC association for the specified fleet.

", + "UpdateStackRequest$DeleteStorageConnectors": "

Deletes the storage connectors currently enabled for the stack.

" } }, "BooleanObject": { "base": null, "refs": { - "CreateFleetRequest$EnableDefaultInternetAccess": "

Enables or disables default Internet access for the fleet.

", - "Fleet$EnableDefaultInternetAccess": "

Whether default Internet access is enabled for the fleet.

", - "UpdateFleetRequest$EnableDefaultInternetAccess": "

Enables or disables default Internet access for the fleet.

" + "CreateFleetRequest$EnableDefaultInternetAccess": "

Enables or disables default internet access for the fleet.

", + "CreateImageBuilderRequest$EnableDefaultInternetAccess": null, + "Fleet$EnableDefaultInternetAccess": "

Indicates whether default internet access is enabled for the fleet.

", + "ImageBuilder$EnableDefaultInternetAccess": null, + "UpdateFleetRequest$EnableDefaultInternetAccess": "

Enables or disables default internet access for the fleet.

" } }, "ComputeCapacity": { - "base": "

The capacity configuration for the fleet.

", + "base": "

Describes the capacity for a fleet.

", "refs": { - "CreateFleetRequest$ComputeCapacity": "

The parameters for the capacity allocated to the fleet.

", - "UpdateFleetRequest$ComputeCapacity": "

The parameters for the capacity allocated to the fleet.

" + "CreateFleetRequest$ComputeCapacity": "

The desired capacity for the fleet.

", + "UpdateFleetRequest$ComputeCapacity": "

The desired capacity for the fleet.

" } }, "ComputeCapacityStatus": { - "base": "

The capacity information for the fleet.

", + "base": "

Describes the capacity status for a fleet.

", "refs": { - "Fleet$ComputeCapacityStatus": "

The capacity information for the fleet.

" + "Fleet$ComputeCapacityStatus": "

The capacity status for the fleet.

" } }, "ConcurrentModificationException": { @@ -95,8 +122,18 @@ "refs": { } }, + "CreateDirectoryConfigRequest": { + "base": null, + "refs": { + } + }, + "CreateDirectoryConfigResult": { + "base": null, + "refs": { + } + }, "CreateFleetRequest": { - "base": "

Contains the parameters for the new fleet to create.

", + "base": null, "refs": { } }, @@ -105,6 +142,26 @@ "refs": { } }, + "CreateImageBuilderRequest": { + "base": null, + "refs": { + } + }, + "CreateImageBuilderResult": { + "base": null, + "refs": { + } + }, + "CreateImageBuilderStreamingURLRequest": { + "base": null, + "refs": { + } + }, + "CreateImageBuilderStreamingURLResult": { + "base": null, + "refs": { + } + }, "CreateStackRequest": { "base": null, "refs": { @@ -125,6 +182,16 @@ "refs": { } }, + "DeleteDirectoryConfigRequest": { + "base": null, + "refs": { + } + }, + "DeleteDirectoryConfigResult": { + "base": null, + "refs": { + } + }, "DeleteFleetRequest": { "base": null, "refs": { @@ -135,6 +202,26 @@ "refs": { } }, + "DeleteImageBuilderRequest": { + "base": null, + "refs": { + } + }, + "DeleteImageBuilderResult": { + "base": null, + "refs": { + } + }, + "DeleteImageRequest": { + "base": null, + "refs": { + } + }, + "DeleteImageResult": { + "base": null, + "refs": { + } + }, "DeleteStackRequest": { "base": null, "refs": { @@ -145,6 +232,16 @@ "refs": { } }, + "DescribeDirectoryConfigsRequest": { + "base": null, + "refs": { + } + }, + "DescribeDirectoryConfigsResult": { + "base": null, + "refs": { + } + }, "DescribeFleetsRequest": { "base": null, "refs": { @@ -155,6 +252,16 @@ "refs": { } }, + "DescribeImageBuildersRequest": { + "base": null, + "refs": { + } + }, + "DescribeImageBuildersResult": { + "base": null, + "refs": { + } + }, "DescribeImagesRequest": { "base": null, "refs": { @@ -188,10 +295,42 @@ "Description": { "base": null, "refs": { - "CreateFleetRequest$Description": "

The description of the fleet.

", - "CreateStackRequest$Description": "

The description displayed to end users on the AppStream 2.0 portal.

", - "UpdateFleetRequest$Description": "

The description displayed to end users on the AppStream 2.0 portal.

", - "UpdateStackRequest$Description": "

The description displayed to end users on the AppStream 2.0 portal.

" + "CreateFleetRequest$Description": "

The description displayed to end users.

", + "CreateImageBuilderRequest$Description": null, + "CreateStackRequest$Description": "

The description displayed to end users.

", + "UpdateFleetRequest$Description": "

The description displayed to end users.

", + "UpdateStackRequest$Description": "

The description displayed to end users.

" + } + }, + "DirectoryConfig": { + "base": "

Configuration information for the directory used to join domains.

", + "refs": { + "CreateDirectoryConfigResult$DirectoryConfig": "

Information about the directory configuration.

", + "DirectoryConfigList$member": null, + "UpdateDirectoryConfigResult$DirectoryConfig": "

Information about the directory configuration.

" + } + }, + "DirectoryConfigList": { + "base": null, + "refs": { + "DescribeDirectoryConfigsResult$DirectoryConfigs": "

Information about the directory configurations.

" + } + }, + "DirectoryName": { + "base": null, + "refs": { + "CreateDirectoryConfigRequest$DirectoryName": "

The fully qualified name of the directory (for example, corp.example.com).

", + "DeleteDirectoryConfigRequest$DirectoryName": "

The name of the directory configuration.

", + "DirectoryConfig$DirectoryName": "

The fully qualified name of the directory (for example, corp.example.com).

", + "DirectoryNameList$member": null, + "DomainJoinInfo$DirectoryName": "

The fully qualified name of the directory (for example, corp.example.com).

", + "UpdateDirectoryConfigRequest$DirectoryName": "

The name of the directory configuration.

" + } + }, + "DirectoryNameList": { + "base": null, + "refs": { + "DescribeDirectoryConfigsRequest$DirectoryNames": "

The directory names.

" } }, "DisassociateFleetRequest": { @@ -207,10 +346,21 @@ "DisplayName": { "base": null, "refs": { - "CreateFleetRequest$DisplayName": "

The display name of the fleet.

", - "CreateStackRequest$DisplayName": "

The name displayed to end users on the AppStream 2.0 portal.

", - "UpdateFleetRequest$DisplayName": "

The name displayed to end users on the AppStream 2.0 portal.

", - "UpdateStackRequest$DisplayName": "

The name displayed to end users on the AppStream 2.0 portal.

" + "CreateFleetRequest$DisplayName": "

The fleet name displayed to end users.

", + "CreateImageBuilderRequest$DisplayName": null, + "CreateStackRequest$DisplayName": "

The stack name displayed to end users.

", + "UpdateFleetRequest$DisplayName": "

The fleet name displayed to end users.

", + "UpdateStackRequest$DisplayName": "

The stack name displayed to end users.

" + } + }, + "DomainJoinInfo": { + "base": "

Contains the information needed for streaming instances to join a domain.

", + "refs": { + "CreateFleetRequest$DomainJoinInfo": "

The information needed for streaming instances to join a domain.

", + "CreateImageBuilderRequest$DomainJoinInfo": null, + "Fleet$DomainJoinInfo": "

The information needed for streaming instances to join a domain.

", + "ImageBuilder$DomainJoinInfo": null, + "UpdateFleetRequest$DomainJoinInfo": "

The information needed for streaming instances to join a domain.

" } }, "ErrorMessage": { @@ -241,25 +391,25 @@ "Fleet": { "base": "

Contains the parameters for a fleet.

", "refs": { - "CreateFleetResult$Fleet": "

The details for the created fleet.

", + "CreateFleetResult$Fleet": "

Information about the fleet.

", "FleetList$member": null, - "UpdateFleetResult$Fleet": "

A list of fleet details.

" + "UpdateFleetResult$Fleet": "

Information about the fleet.

" } }, "FleetAttribute": { - "base": "

Fleet attribute.

", + "base": "

The fleet attribute.

", "refs": { "FleetAttributes$member": null } }, "FleetAttributes": { - "base": "

A list of fleet attributes.

", + "base": "

The fleet attributes.

", "refs": { - "UpdateFleetRequest$AttributesToDelete": "

Fleet attributes to be deleted.

" + "UpdateFleetRequest$AttributesToDelete": "

The fleet attributes to delete.

" } }, "FleetError": { - "base": "

The details of the fleet error.

", + "base": "

Describes a fleet error.

", "refs": { "FleetErrors$member": null } @@ -267,19 +417,20 @@ "FleetErrorCode": { "base": null, "refs": { - "FleetError$ErrorCode": "

The error code for the fleet error.

" + "FleetError$ErrorCode": "

The error code.

", + "ResourceError$ErrorCode": null } }, "FleetErrors": { "base": null, "refs": { - "Fleet$FleetErrors": "

The list of fleet errors is appended to this list.

" + "Fleet$FleetErrors": "

The fleet errors.

" } }, "FleetList": { - "base": "

A list of fleets.

", + "base": "

The fleets.

", "refs": { - "DescribeFleetsResult$Fleets": "

The list of fleet details.

" + "DescribeFleetsResult$Fleets": "

Information about the fleets.

" } }, "FleetState": { @@ -288,26 +439,68 @@ "Fleet$State": "

The current state for the fleet.

" } }, - "Image": { - "base": "

New streaming instances are booted from images. The image stores the application catalog and is connected to fleets.

", + "FleetType": { + "base": null, "refs": { + "CreateFleetRequest$FleetType": null, + "Fleet$FleetType": null + } + }, + "Image": { + "base": "

Describes an image.

", + "refs": { + "DeleteImageResult$Image": null, "ImageList$member": null } }, + "ImageBuilder": { + "base": null, + "refs": { + "CreateImageBuilderResult$ImageBuilder": null, + "DeleteImageBuilderResult$ImageBuilder": null, + "ImageBuilderList$member": null, + "StartImageBuilderResult$ImageBuilder": null, + "StopImageBuilderResult$ImageBuilder": null + } + }, + "ImageBuilderList": { + "base": null, + "refs": { + "DescribeImageBuildersResult$ImageBuilders": null + } + }, + "ImageBuilderState": { + "base": null, + "refs": { + "ImageBuilder$State": null + } + }, + "ImageBuilderStateChangeReason": { + "base": null, + "refs": { + "ImageBuilder$StateChangeReason": null + } + }, + "ImageBuilderStateChangeReasonCode": { + "base": null, + "refs": { + "ImageBuilderStateChangeReason$Code": null + } + }, "ImageList": { "base": null, "refs": { - "DescribeImagesResult$Images": "

The list of images.

" + "DescribeImagesResult$Images": "

Information about the images.

" } }, "ImageState": { "base": null, "refs": { - "Image$State": "

The image starts in the PENDING state, and then moves to AVAILABLE if image creation succeeds and FAILED if image creation has failed.

" + "Image$State": "

The image starts in the PENDING state. If image creation succeeds, the state is AVAILABLE. If image creation fails, the state is FAILED.

" } }, "ImageStateChangeReason": { - "base": "

The reason why the last state change occurred.

", + "base": "

Describes the reason why the last state change occurred.

", "refs": { "Image$StateChangeReason": "

The reason why the last state change occurred.

" } @@ -315,7 +508,7 @@ "ImageStateChangeReasonCode": { "base": null, "refs": { - "ImageStateChangeReason$Code": "

The state change reason code of the image.

" + "ImageStateChangeReason$Code": "

The state change reason code.

" } }, "IncompatibleImageException": { @@ -329,15 +522,17 @@ "ComputeCapacity$DesiredInstances": "

The desired number of streaming instances.

", "ComputeCapacityStatus$Desired": "

The desired number of streaming instances.

", "ComputeCapacityStatus$Running": "

The total number of simultaneous streaming instances that are running.

", - "ComputeCapacityStatus$InUse": "

The number of instances that are being used for streaming.

", + "ComputeCapacityStatus$InUse": "

The number of instances in use for streaming.

", "ComputeCapacityStatus$Available": "

The number of currently available instances that can be used to stream sessions.

", - "CreateFleetRequest$MaxUserDurationInSeconds": "

The maximum time for which a streaming session can run. The input can be any numeric value in seconds between 600 and 57600.

", - "CreateFleetRequest$DisconnectTimeoutInSeconds": "

The time after disconnection when a session is considered to have ended. If a user who got disconnected reconnects within this timeout interval, the user is connected back to their previous session. The input can be any numeric value in seconds between 60 and 57600.

", - "DescribeSessionsRequest$Limit": "

The size of each page of results. The default value is 20 and the maximum supported value is 50.

", - "Fleet$MaxUserDurationInSeconds": "

The maximum time for which a streaming session can run. The value can be any numeric value in seconds between 600 and 57600.

", - "Fleet$DisconnectTimeoutInSeconds": "

The time after disconnection when a session is considered to have ended. If a user who got disconnected reconnects within this timeout interval, the user is connected back to their previous session. The input can be any numeric value in seconds between 60 and 57600.

", - "UpdateFleetRequest$MaxUserDurationInSeconds": "

The maximum time for which a streaming session can run. The input can be any numeric value in seconds between 600 and 57600.

", - "UpdateFleetRequest$DisconnectTimeoutInSeconds": "

The time after disconnection when a session is considered to have ended. If a user who got disconnected reconnects within this timeout interval, the user is connected back to their previous session. The input can be any numeric value in seconds between 60 and 57600.

" + "CreateFleetRequest$MaxUserDurationInSeconds": "

The maximum time that a streaming session can run, in seconds. Specify a value between 600 and 57600.

", + "CreateFleetRequest$DisconnectTimeoutInSeconds": "

The time after disconnection when a session is considered to have ended, in seconds. If a user who was disconnected reconnects within this time interval, the user is connected to their previous session. Specify a value between 60 and 57600.

", + "DescribeDirectoryConfigsRequest$MaxResults": "

The maximum size of each page of results.

", + "DescribeImageBuildersRequest$MaxResults": null, + "DescribeSessionsRequest$Limit": "

The size of each page of results. The default value is 20 and the maximum value is 50.

", + "Fleet$MaxUserDurationInSeconds": "

The maximum time that a streaming session can run, in seconds. Specify a value between 600 and 57600.

", + "Fleet$DisconnectTimeoutInSeconds": "

The time after disconnection when a session is considered to have ended, in seconds. If a user who was disconnected reconnects within this time interval, the user is connected to their previous session. Specify a value between 60 and 57600.

", + "UpdateFleetRequest$MaxUserDurationInSeconds": "

The maximum time that a streaming session can run, in seconds. Specify a value between 600 and 57600.

", + "UpdateFleetRequest$DisconnectTimeoutInSeconds": "

The time after disconnection when a session is considered to have ended, in seconds. If a user who was disconnected reconnects within this time interval, the user is connected to their previous session. Specify a value between 60 and 57600.

" } }, "InvalidParameterCombinationException": { @@ -361,7 +556,7 @@ } }, "ListAssociatedFleetsResult": { - "base": "

The response from a successful operation.

", + "base": null, "refs": { } }, @@ -371,14 +566,15 @@ } }, "ListAssociatedStacksResult": { - "base": "

The response from a successful operation.

", + "base": null, "refs": { } }, "Long": { "base": null, "refs": { - "CreateStreamingURLRequest$Validity": "

The duration up to which the URL returned by this action is valid. The input can be any numeric value in seconds between 1 and 604800 seconds.

" + "CreateImageBuilderStreamingURLRequest$Validity": null, + "CreateStreamingURLRequest$Validity": "

The time that the streaming URL will be valid, in seconds. Specify a value between 1 and 604800 seconds.

" } }, "Metadata": { @@ -390,7 +586,10 @@ "Name": { "base": null, "refs": { - "CreateFleetRequest$Name": "

A unique identifier for the fleet.

" + "CreateFleetRequest$Name": "

A unique name for the fleet.

", + "CreateImageBuilderRequest$Name": null, + "DeleteImageBuilderRequest$Name": null, + "DeleteImageRequest$Name": null } }, "OperationNotPermittedException": { @@ -398,10 +597,26 @@ "refs": { } }, + "OrganizationalUnitDistinguishedName": { + "base": null, + "refs": { + "DomainJoinInfo$OrganizationalUnitDistinguishedName": "

The distinguished name of the organizational unit for computer accounts.

", + "OrganizationalUnitDistinguishedNamesList$member": null + } + }, + "OrganizationalUnitDistinguishedNamesList": { + "base": null, + "refs": { + "CreateDirectoryConfigRequest$OrganizationalUnitDistinguishedNames": "

The distinguished names of the organizational units for computer accounts.

", + "DirectoryConfig$OrganizationalUnitDistinguishedNames": "

The distinguished names of the organizational units for computer accounts.

", + "UpdateDirectoryConfigRequest$OrganizationalUnitDistinguishedNames": "

The distinguished names of the organizational units for computer accounts.

" + } + }, "PlatformType": { "base": null, "refs": { - "Image$Platform": "

The operating system platform of the image.

" + "Image$Platform": "

The operating system platform of the image.

", + "ImageBuilder$Platform": null } }, "ResourceAlreadyExistsException": { @@ -409,10 +624,22 @@ "refs": { } }, + "ResourceError": { + "base": null, + "refs": { + "ResourceErrors$member": null + } + }, + "ResourceErrors": { + "base": null, + "refs": { + "ImageBuilder$ImageBuilderErrors": null + } + }, "ResourceIdentifier": { "base": "

The ARN of the resource.

", "refs": { - "StorageConnector$ResourceIdentifier": "

The ARN associated with the storage connector.

" + "StorageConnector$ResourceIdentifier": "

The ARN of the storage connector.

" } }, "ResourceInUseException": { @@ -431,13 +658,21 @@ } }, "SecurityGroupIdList": { - "base": "

A list of security groups.

", + "base": "

The security group IDs.

", "refs": { - "VpcConfig$SecurityGroupIds": "

Security groups associated with the fleet.

" + "VpcConfig$SecurityGroupIds": "

The security groups for the fleet.

" + } + }, + "ServiceAccountCredentials": { + "base": "

Describes the credentials for the service account used by the streaming instance to connect to the directory.

", + "refs": { + "CreateDirectoryConfigRequest$ServiceAccountCredentials": "

The credentials for the service account used by the streaming instance to connect to the directory.

", + "DirectoryConfig$ServiceAccountCredentials": "

The credentials for the service account used by the streaming instance to connect to the directory.

", + "UpdateDirectoryConfigRequest$ServiceAccountCredentials": "

The credentials for the service account used by the streaming instance to connect to the directory.

" } }, "Session": { - "base": "

Contains the parameters for a streaming session.

", + "base": "

Describes a streaming session.

", "refs": { "SessionList$member": null } @@ -445,7 +680,7 @@ "SessionList": { "base": "

List of sessions.

", "refs": { - "DescribeSessionsResult$Sessions": "

The list of streaming sessions.

" + "DescribeSessionsResult$Sessions": "

Information about the streaming sessions.

" } }, "SessionState": { @@ -455,15 +690,15 @@ } }, "Stack": { - "base": "

Details about a stack.

", + "base": "

Describes a stack.

", "refs": { - "CreateStackResult$Stack": "

The details for the created stack.

", + "CreateStackResult$Stack": "

Information about the stack.

", "StackList$member": null, - "UpdateStackResult$Stack": "

A list of stack details.

" + "UpdateStackResult$Stack": "

Information about the stack.

" } }, "StackError": { - "base": "

Contains the parameters for a stack error.

", + "base": "

Describes a stack error.

", "refs": { "StackErrors$member": null } @@ -471,19 +706,19 @@ "StackErrorCode": { "base": null, "refs": { - "StackError$ErrorCode": "

The error code of a stack error.

" + "StackError$ErrorCode": "

The error code.

" } }, "StackErrors": { - "base": "

A list of stack errors.

", + "base": "

The stack errors.

", "refs": { - "Stack$StackErrors": "

The list of errors associated with the stack.

" + "Stack$StackErrors": "

The errors for the stack.

" } }, "StackList": { - "base": "

A list of stacks.

", + "base": "

The stacks.

", "refs": { - "DescribeStacksResult$Stacks": "

The list of stack details.

" + "DescribeStacksResult$Stacks": "

Information about the stacks.

" } }, "StartFleetRequest": { @@ -496,6 +731,16 @@ "refs": { } }, + "StartImageBuilderRequest": { + "base": null, + "refs": { + } + }, + "StartImageBuilderResult": { + "base": null, + "refs": { + } + }, "StopFleetRequest": { "base": null, "refs": { @@ -506,117 +751,164 @@ "refs": { } }, + "StopImageBuilderRequest": { + "base": null, + "refs": { + } + }, + "StopImageBuilderResult": { + "base": null, + "refs": { + } + }, "StorageConnector": { - "base": "

Contains the parameters for a storage connector.

", + "base": "

Describes a storage connector.

", "refs": { "StorageConnectorList$member": null } }, "StorageConnectorList": { - "base": "

A list of storage connectors.

", + "base": "

The storage connectors.

", "refs": { - "CreateStackRequest$StorageConnectors": "

The storage connectors to be enabled for the stack.

", - "Stack$StorageConnectors": "

The storage connectors to be enabled for the stack.

", - "UpdateStackRequest$StorageConnectors": "

The storage connectors to be enabled for the stack.

" + "CreateStackRequest$StorageConnectors": "

The storage connectors to enable.

", + "Stack$StorageConnectors": "

The storage connectors to enable.

", + "UpdateStackRequest$StorageConnectors": "

The storage connectors to enable.

" } }, "StorageConnectorType": { - "base": "

The type of storage connector. The possible values include: HOMEFOLDERS.

", + "base": "

The type of storage connector.

", "refs": { - "StorageConnector$ConnectorType": "

The type of storage connector. The possible values include: HOMEFOLDERS.

" + "StorageConnector$ConnectorType": "

The type of storage connector.

" + } + }, + "StreamingUrlUserId": { + "base": null, + "refs": { + "CreateStreamingURLRequest$UserId": "

The ID of the user.

" } }, "String": { "base": null, "refs": { - "Application$Name": "

The unique identifier for the application.

", - "Application$DisplayName": "

The name of the application shown to the end users.

", - "Application$IconURL": "

The URL for the application icon. This URL may be time-limited.

", + "Application$Name": "

The name of the application.

", + "Application$DisplayName": "

The application name displayed to end users.

", + "Application$IconURL": "

The URL for the application icon. This URL might be time-limited.

", "Application$LaunchPath": "

The path to the application executable in the instance.

", - "Application$LaunchParameters": "

A list of arguments that are passed to the application at launch.

", - "AssociateFleetRequest$FleetName": "

The name of the fleet to associate.

", - "AssociateFleetRequest$StackName": "

The name of the stack to which the fleet is associated.

", - "CreateFleetRequest$ImageName": "

Unique name of the image used by the fleet.

", - "CreateFleetRequest$InstanceType": "

The instance type of compute resources for the fleet. Fleet instances are launched from this instance type.

", - "CreateStackRequest$Name": "

The unique identifier for this stack.

", - "CreateStreamingURLRequest$StackName": "

The stack for which the URL is generated.

", - "CreateStreamingURLRequest$FleetName": "

The fleet for which the URL is generated.

", + "Application$LaunchParameters": "

The arguments that are passed to the application at launch.

", + "AssociateFleetRequest$FleetName": "

The name of the fleet.

", + "AssociateFleetRequest$StackName": "

The name of the stack.

", + "CreateFleetRequest$ImageName": "

The name of the image used by the fleet.

", + "CreateFleetRequest$InstanceType": "

The instance type to use when launching fleet instances. The following instance types are available:

  • stream.standard.medium

  • stream.standard.large

  • stream.compute.large

  • stream.compute.xlarge

  • stream.compute.2xlarge

  • stream.compute.4xlarge

  • stream.compute.8xlarge

  • stream.memory.large

  • stream.memory.xlarge

  • stream.memory.2xlarge

  • stream.memory.4xlarge

  • stream.memory.8xlarge

  • stream.graphics-design.large

  • stream.graphics-design.xlarge

  • stream.graphics-design.2xlarge

  • stream.graphics-design.4xlarge

  • stream.graphics-desktop.2xlarge

  • stream.graphics-pro.4xlarge

  • stream.graphics-pro.8xlarge

  • stream.graphics-pro.16xlarge

", + "CreateImageBuilderRequest$ImageName": null, + "CreateImageBuilderRequest$InstanceType": null, + "CreateImageBuilderStreamingURLRequest$Name": null, + "CreateImageBuilderStreamingURLResult$StreamingURL": null, + "CreateStackRequest$Name": "

The name of the stack.

", + "CreateStreamingURLRequest$StackName": "

The name of the stack.

", + "CreateStreamingURLRequest$FleetName": "

The name of the fleet.

", "CreateStreamingURLRequest$ApplicationId": "

The ID of the application that must be launched after the session starts.

", - "CreateStreamingURLRequest$SessionContext": "

The sessionContext of the streaming URL.

", + "CreateStreamingURLRequest$SessionContext": "

The session context of the streaming URL.

", "CreateStreamingURLResult$StreamingURL": "

The URL to start the AppStream 2.0 streaming session.

", - "DeleteFleetRequest$Name": "

The name of the fleet to be deleted.

", - "DeleteStackRequest$Name": "

The name of the stack to delete.

", + "DeleteFleetRequest$Name": "

The name of the fleet.

", + "DeleteStackRequest$Name": "

The name of the stack.

", + "DescribeDirectoryConfigsRequest$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

", + "DescribeDirectoryConfigsResult$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

", "DescribeFleetsRequest$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

", "DescribeFleetsResult$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

", - "DescribeSessionsRequest$StackName": "

The name of the stack for which to list sessions.

", - "DescribeSessionsRequest$FleetName": "

The name of the fleet for which to list sessions.

", + "DescribeImageBuildersRequest$NextToken": null, + "DescribeImageBuildersResult$NextToken": null, + "DescribeSessionsRequest$StackName": "

The name of the stack.

", + "DescribeSessionsRequest$FleetName": "

The name of the fleet.

", "DescribeSessionsRequest$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

", "DescribeSessionsResult$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

", "DescribeStacksRequest$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

", "DescribeStacksResult$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

", - "DisassociateFleetRequest$FleetName": "

The name of the fleet to disassociate.

", - "DisassociateFleetRequest$StackName": "

The name of the stack with which the fleet is associated.

", - "ExpireSessionRequest$SessionId": "

The unique identifier of the streaming session to be stopped.

", + "DisassociateFleetRequest$FleetName": "

The name of the fleet.

", + "DisassociateFleetRequest$StackName": "

The name of the stack.

", + "ExpireSessionRequest$SessionId": "

The ID of the streaming session.

", "Fleet$Name": "

The name of the fleet.

", - "Fleet$DisplayName": "

The name displayed to end users on the AppStream 2.0 portal.

", - "Fleet$Description": "

The description displayed to end users on the AppStream 2.0 portal.

", + "Fleet$DisplayName": "

The fleet name displayed to end users.

", + "Fleet$Description": "

The description displayed to end users.

", "Fleet$ImageName": "

The image used by the fleet.

", - "Fleet$InstanceType": "

The instance type of compute resources for the fleet. The fleet instances are launched from this instance type.

", - "FleetError$ErrorMessage": "

The error message generated when the fleet has errors.

", - "Image$Name": "

The unique identifier for the image.

", - "Image$DisplayName": "

The display name for the image.

", - "Image$Description": "

A meaningful description for the image.

", - "ImageStateChangeReason$Message": "

The state change reason message to the end user.

", - "ListAssociatedFleetsRequest$StackName": "

The name of the stack whose associated fleets are listed.

", + "Fleet$InstanceType": "

The instance type to use when launching fleet instances.

", + "FleetError$ErrorMessage": "

The error message.

", + "Image$Name": "

The name of the image.

", + "Image$DisplayName": "

The image name displayed to end users.

", + "Image$Description": "

The description displayed to end users.

", + "ImageBuilder$Name": null, + "ImageBuilder$Description": null, + "ImageBuilder$DisplayName": null, + "ImageBuilder$InstanceType": null, + "ImageBuilderStateChangeReason$Message": null, + "ImageStateChangeReason$Message": "

The state change reason message.

", + "ListAssociatedFleetsRequest$StackName": "

The name of the stack.

", "ListAssociatedFleetsRequest$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

", "ListAssociatedFleetsResult$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

", - "ListAssociatedStacksRequest$FleetName": "

The name of the fleet whose associated stacks are listed.

", + "ListAssociatedStacksRequest$FleetName": "

The name of the fleet.

", "ListAssociatedStacksRequest$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

", "ListAssociatedStacksResult$NextToken": "

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

", "Metadata$key": null, "Metadata$value": null, + "ResourceError$ErrorMessage": null, "SecurityGroupIdList$member": null, - "Session$Id": "

The unique ID for a streaming session.

", - "Session$StackName": "

The name of the stack for which the streaming session was created.

", - "Session$FleetName": "

The name of the fleet for which the streaming session was created.

", - "Stack$Name": "

The unique identifier of the stack.

", - "Stack$Description": "

A meaningful description for the stack.

", - "Stack$DisplayName": "

A display name for the stack.

", - "StackError$ErrorMessage": "

The error message of a stack error.

", - "StartFleetRequest$Name": "

The name of the fleet to start.

", - "StopFleetRequest$Name": "

The name of the fleet to stop.

", + "Session$Id": "

The ID of the streaming session.

", + "Session$StackName": "

The name of the stack for the streaming session.

", + "Session$FleetName": "

The name of the fleet for the streaming session.

", + "Stack$Name": "

The name of the stack.

", + "Stack$Description": "

The description displayed to end users.

", + "Stack$DisplayName": "

The stack name displayed to end users.

", + "StackError$ErrorMessage": "

The error message.

", + "StartFleetRequest$Name": "

The name of the fleet.

", + "StartImageBuilderRequest$Name": null, + "StopFleetRequest$Name": "

The name of the fleet.

", + "StopImageBuilderRequest$Name": null, "StringList$member": null, "SubnetIdList$member": null, - "UpdateFleetRequest$ImageName": "

The image name from which a fleet is created.

", - "UpdateFleetRequest$Name": "

The name of the fleet.

", - "UpdateFleetRequest$InstanceType": "

The instance type of compute resources for the fleet. Fleet instances are launched from this instance type.

", - "UpdateStackRequest$Name": "

The name of the stack to update.

" + "UpdateFleetRequest$ImageName": "

The name of the image used by the fleet.

", + "UpdateFleetRequest$Name": "

A unique name for the fleet.

", + "UpdateFleetRequest$InstanceType": "

The instance type to use when launching fleet instances. The following instance types are available:

  • stream.standard.medium

  • stream.standard.large

  • stream.compute.large

  • stream.compute.xlarge

  • stream.compute.2xlarge

  • stream.compute.4xlarge

  • stream.compute.8xlarge

  • stream.memory.large

  • stream.memory.xlarge

  • stream.memory.2xlarge

  • stream.memory.4xlarge

  • stream.memory.8xlarge

  • stream.graphics-design.large

  • stream.graphics-design.xlarge

  • stream.graphics-design.2xlarge

  • stream.graphics-design.4xlarge

  • stream.graphics-desktop.2xlarge

  • stream.graphics-pro.4xlarge

  • stream.graphics-pro.8xlarge

  • stream.graphics-pro.16xlarge

", + "UpdateStackRequest$Name": "

The name of the stack.

" } }, "StringList": { "base": null, "refs": { - "DescribeFleetsRequest$Names": "

The fleet names to describe. Use null to describe all the fleets for the AWS account.

", - "DescribeImagesRequest$Names": "

A specific list of images to describe.

", - "DescribeStacksRequest$Names": "

The stack names to describe. Use null to describe all the stacks for the AWS account.

", - "ListAssociatedFleetsResult$Names": "

The names of associated fleets.

", - "ListAssociatedStacksResult$Names": "

The names of associated stacks.

" + "DescribeFleetsRequest$Names": "

The names of the fleets to describe.

", + "DescribeImageBuildersRequest$Names": null, + "DescribeImagesRequest$Names": "

The names of the images to describe.

", + "DescribeStacksRequest$Names": "

The names of the stacks to describe.

", + "ListAssociatedFleetsResult$Names": "

The names of the fleets.

", + "ListAssociatedStacksResult$Names": "

The names of the stacks.

" } }, "SubnetIdList": { - "base": "

A list of subnet IDs.

", + "base": "

The subnet IDs.

", "refs": { - "VpcConfig$SubnetIds": "

The list of subnets to which a network interface is established from the fleet instance.

" + "VpcConfig$SubnetIds": "

The subnets to which a network interface is established from the fleet instance.

" } }, "Timestamp": { "base": null, "refs": { - "CreateStreamingURLResult$Expires": "

Elapsed seconds after the Unix epoch, at which time this URL expires.

", - "Fleet$CreatedTime": "

The time at which the fleet was created.

", - "Image$CreatedTime": "

The timestamp when the image was created.

", - "Image$PublicBaseImageReleasedDate": "

The AWS release date of the public base image. For private images, this date is the release date of the base image from which the image was created.

", - "Stack$CreatedTime": "

The timestamp when the stack was created.

" + "CreateImageBuilderStreamingURLResult$Expires": null, + "CreateStreamingURLResult$Expires": "

The elapsed time, in seconds after the Unix epoch, when this URL expires.

", + "DirectoryConfig$CreatedTime": "

The time the directory configuration was created.

", + "Fleet$CreatedTime": "

The time the fleet was created.

", + "Image$CreatedTime": "

The time the image was created.

", + "Image$PublicBaseImageReleasedDate": "

The release date of the public base image. For private images, this date is the release date of the base image from which the image was created.

", + "ImageBuilder$CreatedTime": null, + "ResourceError$ErrorTimestamp": null, + "Stack$CreatedTime": "

The time the stack was created.

" + } + }, + "UpdateDirectoryConfigRequest": { + "base": null, + "refs": { + } + }, + "UpdateDirectoryConfigResult": { + "base": null, + "refs": { } }, "UpdateFleetRequest": { @@ -642,22 +934,23 @@ "UserId": { "base": null, "refs": { - "CreateStreamingURLRequest$UserId": "

A unique user ID for whom the URL is generated.

", - "DescribeSessionsRequest$UserId": "

The user for whom to list sessions. Use null to describe all the sessions for the stack and fleet.

", + "DescribeSessionsRequest$UserId": "

The user ID.

", "Session$UserId": "

The identifier of the user for whom the session was created.

" } }, "VisibilityType": { "base": null, "refs": { - "Image$Visibility": "

The visibility of an image to the user; images can be public or private.

" + "Image$Visibility": "

Indicates whether the image is public or private.

" } }, "VpcConfig": { - "base": "

VPC configuration information.

", + "base": "

Describes VPC configuration information.

", "refs": { "CreateFleetRequest$VpcConfig": "

The VPC configuration for the fleet.

", + "CreateImageBuilderRequest$VpcConfig": null, "Fleet$VpcConfig": "

The VPC configuration for the fleet.

", + "ImageBuilder$VpcConfig": null, "UpdateFleetRequest$VpcConfig": "

The VPC configuration for the fleet.

" } } diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/appstream/2016-12-01/waiters-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/appstream/2016-12-01/waiters-2.json index 6672ceed3..f53f609cb 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/appstream/2016-12-01/waiters-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/appstream/2016-12-01/waiters-2.json @@ -9,19 +9,19 @@ { "state": "success", "matcher": "pathAll", - "argument": "fleets[].state", + "argument": "Fleets[].State", "expected": "ACTIVE" }, { "state": "failure", "matcher": "pathAny", - "argument": "fleets[].state", + "argument": "Fleets[].State", "expected": "PENDING_DEACTIVATE" }, { "state": "failure", "matcher": "pathAny", - "argument": "fleets[].state", + "argument": "Fleets[].State", "expected": "INACTIVE" } ] @@ -34,19 +34,19 @@ { "state": "success", "matcher": "pathAll", - "argument": "fleets[].state", + "argument": "Fleets[].State", "expected": "INACTIVE" }, { "state": "failure", "matcher": "pathAny", - "argument": "fleets[].state", + "argument": "Fleets[].State", "expected": "PENDING_ACTIVATE" }, { "state": "failure", "matcher": "pathAny", - "argument": "fleets[].state", + "argument": "Fleets[].State", "expected": "ACTIVE" } ] diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/autoscaling/2011-01-01/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/autoscaling/2011-01-01/api-2.json index 364ae9a27..a0bc55cc8 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/autoscaling/2011-01-01/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/autoscaling/2011-01-01/api-2.json @@ -1045,6 +1045,7 @@ "VPCZoneIdentifier":{"shape":"XmlStringMaxLen2047"}, "TerminationPolicies":{"shape":"TerminationPolicies"}, "NewInstancesProtectedFromScaleIn":{"shape":"InstanceProtected"}, + "LifecycleHookSpecificationList":{"shape":"LifecycleHookSpecifications"}, "Tags":{"shape":"Tags"} } }, @@ -1589,6 +1590,23 @@ "member":{"shape":"AsciiStringMaxLen255"}, "max":50 }, + "LifecycleHookSpecification":{ + "type":"structure", + "required":["LifecycleHookName"], + "members":{ + "LifecycleHookName":{"shape":"AsciiStringMaxLen255"}, + "LifecycleTransition":{"shape":"LifecycleTransition"}, + "NotificationMetadata":{"shape":"XmlStringMaxLen1023"}, + "HeartbeatTimeout":{"shape":"HeartbeatTimeout"}, + "DefaultResult":{"shape":"LifecycleActionResult"}, + "NotificationTargetARN":{"shape":"NotificationTargetResourceName"}, + "RoleARN":{"shape":"ResourceName"} + } + }, + "LifecycleHookSpecifications":{ + "type":"list", + "member":{"shape":"LifecycleHookSpecification"} + }, "LifecycleHooks":{ "type":"list", "member":{"shape":"LifecycleHook"} diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/autoscaling/2011-01-01/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/autoscaling/2011-01-01/docs-2.json index 4af125181..1e17edba7 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/autoscaling/2011-01-01/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/autoscaling/2011-01-01/docs-2.json @@ -34,14 +34,14 @@ "DescribeScheduledActions": "

Describes the actions scheduled for your Auto Scaling group that haven't run. To describe the actions that have already run, use DescribeScalingActivities.

", "DescribeTags": "

Describes the specified tags.

You can use filters to limit the results. For example, you can query for the tags for a specific Auto Scaling group. You can specify multiple values for a filter. A tag must match at least one of the specified values for it to be included in the results.

You can also specify multiple filters. The result includes information for a particular tag only if it matches all the filters. If there's no match, no special message is returned.

", "DescribeTerminationPolicyTypes": "

Describes the termination policies supported by Auto Scaling.

", - "DetachInstances": "

Removes one or more instances from the specified Auto Scaling group.

After the instances are detached, you can manage them independently from the rest of the Auto Scaling group.

If you do not specify the option to decrement the desired capacity, Auto Scaling launches instances to replace the ones that are detached.

If there is a Classic Load Balancer attached to the Auto Scaling group, the instances are deregistered from the load balancer. If there are target groups attached to the Auto Scaling group, the instances are deregistered from the target groups.

For more information, see Detach EC2 Instances from Your Auto Scaling Group in the Auto Scaling User Guide.

", + "DetachInstances": "

Removes one or more instances from the specified Auto Scaling group.

After the instances are detached, you can manage them independent of the Auto Scaling group.

If you do not specify the option to decrement the desired capacity, Auto Scaling launches instances to replace the ones that are detached.

If there is a Classic Load Balancer attached to the Auto Scaling group, the instances are deregistered from the load balancer. If there are target groups attached to the Auto Scaling group, the instances are deregistered from the target groups.

For more information, see Detach EC2 Instances from Your Auto Scaling Group in the Auto Scaling User Guide.

", "DetachLoadBalancerTargetGroups": "

Detaches one or more target groups from the specified Auto Scaling group.

", "DetachLoadBalancers": "

Detaches one or more Classic Load Balancers from the specified Auto Scaling group.

Note that this operation detaches only Classic Load Balancers. If you have Application Load Balancers, use DetachLoadBalancerTargetGroups instead.

When you detach a load balancer, it enters the Removing state while deregistering the instances in the group. When all instances are deregistered, then you can no longer describe the load balancer using DescribeLoadBalancers. Note that the instances remain running.

", "DisableMetricsCollection": "

Disables group metrics for the specified Auto Scaling group.

", "EnableMetricsCollection": "

Enables group metrics for the specified Auto Scaling group. For more information, see Monitoring Your Auto Scaling Groups and Instances in the Auto Scaling User Guide.

", - "EnterStandby": "

Moves the specified instances into Standby mode.

For more information, see Auto Scaling Lifecycle in the Auto Scaling User Guide.

", + "EnterStandby": "

Moves the specified instances into the standby state.

For more information, see Temporarily Removing Instances from Your Auto Scaling Group in the Auto Scaling User Guide.

", "ExecutePolicy": "

Executes the specified policy.

", - "ExitStandby": "

Moves the specified instances out of Standby mode.

For more information, see Auto Scaling Lifecycle in the Auto Scaling User Guide.

", + "ExitStandby": "

Moves the specified instances out of the standby state.

For more information, see Temporarily Removing Instances from Your Auto Scaling Group in the Auto Scaling User Guide.

", "PutLifecycleHook": "

Creates or updates a lifecycle hook for the specified Auto Scaling Group.

A lifecycle hook tells Auto Scaling that you want to perform an action on an instance that is not actively in service; for example, either when the instance launches or before the instance terminates.

This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:

  1. (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Auto Scaling launches or terminates instances.

  2. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Auto Scaling to publish lifecycle notifications to the target.

  3. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.

  4. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state.

  5. If you finish before the timeout period ends, complete the lifecycle action.

For more information, see Auto Scaling Lifecycle Hooks in the Auto Scaling User Guide.

If you exceed your maximum limit of lifecycle hooks, which by default is 50 per Auto Scaling group, the call fails. For information about updating this limit, see AWS Service Limits in the Amazon Web Services General Reference.

", "PutNotificationConfiguration": "

Configures an Auto Scaling group to send notifications when specified events take place. Subscribers to the specified topic can have messages delivered to an endpoint such as a web server or an email address.

This configuration overwrites any existing configuration.

For more information see Getting SNS Notifications When Your Auto Scaling Group Scales in the Auto Scaling User Guide.

", "PutScalingPolicy": "

Creates or updates a policy for an Auto Scaling group. To update an existing policy, use the existing policy name and set the parameters you want to change. Any existing parameter not changed in an update to an existing policy is not changed in this update request.

If you exceed your maximum limit of step adjustments, which by default is 20 per region, the call fails. For information about updating this limit, see AWS Service Limits in the Amazon Web Services General Reference.

", @@ -53,7 +53,7 @@ "SetInstanceProtection": "

Updates the instance protection settings of the specified instances.

For more information, see Instance Protection in the Auto Scaling User Guide.

", "SuspendProcesses": "

Suspends the specified Auto Scaling processes, or all processes, for the specified Auto Scaling group.

Note that if you suspend either the Launch or Terminate process types, it can prevent other process types from functioning properly.

To resume processes that have been suspended, use ResumeProcesses.

For more information, see Suspending and Resuming Auto Scaling Processes in the Auto Scaling User Guide.

", "TerminateInstanceInAutoScalingGroup": "

Terminates the specified instance and optionally adjusts the desired group size.

This call simply makes a termination request. The instance is not terminated immediately.

", - "UpdateAutoScalingGroup": "

Updates the configuration for the specified Auto Scaling group.

To update an Auto Scaling group with a launch configuration with InstanceMonitoring set to False, you must first disable the collection of group metrics. Otherwise, you will get an error. If you have previously enabled the collection of group metrics, you can disable it using DisableMetricsCollection.

The new settings are registered upon the completion of this call. Any launch configuration settings take effect on any triggers after this call returns. Scaling activities that are currently in progress aren't affected.

Note the following:

  • If you specify a new value for MinSize without specifying a value for DesiredCapacity, and the new MinSize is larger than the current size of the group, we implicitly call SetDesiredCapacity to set the size of the group to the new value of MinSize.

  • If you specify a new value for MaxSize without specifying a value for DesiredCapacity, and the new MaxSize is smaller than the current size of the group, we implicitly call SetDesiredCapacity to set the size of the group to the new value of MaxSize.

  • All other optional parameters are left unchanged if not specified.

" + "UpdateAutoScalingGroup": "

Updates the configuration for the specified Auto Scaling group.

The new settings take effect on any scaling activities after this call returns. Scaling activities that are currently in progress aren't affected.

To update an Auto Scaling group with a launch configuration with InstanceMonitoring set to false, you must first disable the collection of group metrics. Otherwise, you will get an error. If you have previously enabled the collection of group metrics, you can disable it using DisableMetricsCollection.

Note the following:

  • If you specify a new value for MinSize without specifying a value for DesiredCapacity, and the new MinSize is larger than the current size of the group, we implicitly call SetDesiredCapacity to set the size of the group to the new value of MinSize.

  • If you specify a new value for MaxSize without specifying a value for DesiredCapacity, and the new MaxSize is smaller than the current size of the group, we implicitly call SetDesiredCapacity to set the size of the group to the new value of MaxSize.

  • All other optional parameters are left unchanged if not specified.

" }, "shapes": { "Activities": { @@ -66,7 +66,7 @@ } }, "ActivitiesType": { - "base": "

Contains the output of DescribeScalingActivities.

", + "base": null, "refs": { } }, @@ -84,7 +84,7 @@ } }, "ActivityType": { - "base": "

Contains the output of TerminateInstancesInAutoScalingGroup.

", + "base": null, "refs": { } }, @@ -109,7 +109,7 @@ "Alarms": { "base": null, "refs": { - "PolicyARNType$Alarms": "

The CloudWatch alarms created for the target tracking policy. This parameter will be empty if the policy type is anything other than TargetTrackingScaling.

", + "PolicyARNType$Alarms": "

The CloudWatch alarms created for the target tracking policy.

", "ScalingPolicy$Alarms": "

The CloudWatch alarms related to the policy.

" } }, @@ -125,6 +125,7 @@ "DeleteLifecycleHookType$LifecycleHookName": "

The name of the lifecycle hook.

", "LifecycleHook$LifecycleHookName": "

The name of the lifecycle hook.

", "LifecycleHookNames$member": null, + "LifecycleHookSpecification$LifecycleHookName": "

The name of the lifecycle hook.

", "PutLifecycleHookType$LifecycleHookName": "

The name of the lifecycle hook.

", "RecordLifecycleActionHeartbeatType$LifecycleHookName": "

The name of the lifecycle hook.

" } @@ -137,7 +138,7 @@ } }, "AttachInstancesQuery": { - "base": "

Contains the parameters for AttachInstances.

", + "base": null, "refs": { } }, @@ -147,17 +148,17 @@ } }, "AttachLoadBalancerTargetGroupsType": { - "base": "

Contains the parameters for AttachLoadBalancerTargetGroups.

", + "base": null, "refs": { } }, "AttachLoadBalancersResultType": { - "base": "

Contains the output of AttachLoadBalancers.

", + "base": null, "refs": { } }, "AttachLoadBalancersType": { - "base": "

Contains the parameters for AttachLoadBalancers.

", + "base": null, "refs": { } }, @@ -171,7 +172,7 @@ "base": null, "refs": { "AutoScalingGroup$DesiredCapacity": "

The desired size of the group.

", - "CreateAutoScalingGroupType$DesiredCapacity": "

The number of EC2 instances that should be running in the group. This number must be greater than or equal to the minimum size of the group and less than or equal to the maximum size of the group.

", + "CreateAutoScalingGroupType$DesiredCapacity": "

The number of EC2 instances that should be running in the group. This number must be greater than or equal to the minimum size of the group and less than or equal to the maximum size of the group. If you do not specify a desired capacity, the default is the minimum size of the group.

", "PutScheduledUpdateGroupActionType$DesiredCapacity": "

The number of EC2 instances that should be running in the group.

", "ScheduledUpdateGroupAction$DesiredCapacity": "

The number of instances you prefer to maintain in the group.

", "SetDesiredCapacityType$DesiredCapacity": "

The number of EC2 instances that should be running in the Auto Scaling group.

", @@ -206,7 +207,7 @@ } }, "AutoScalingGroupNamesType": { - "base": "

Contains the parameters for DescribeAutoScalingGroups.

", + "base": null, "refs": { } }, @@ -217,7 +218,7 @@ } }, "AutoScalingGroupsType": { - "base": "

Contains the output for DescribeAutoScalingGroups.

", + "base": null, "refs": { } }, @@ -234,7 +235,7 @@ } }, "AutoScalingInstancesType": { - "base": "

Contains the output of DescribeAutoScalingInstances.

", + "base": null, "refs": { } }, @@ -305,12 +306,12 @@ } }, "CompleteLifecycleActionAnswer": { - "base": "

Contains the output of CompleteLifecycleAction.

", + "base": null, "refs": { } }, "CompleteLifecycleActionType": { - "base": "

Contains the parameters for CompleteLifecycleAction.

", + "base": null, "refs": { } }, @@ -320,22 +321,22 @@ "AutoScalingGroup$DefaultCooldown": "

The amount of time, in seconds, after a scaling activity completes before another scaling activity can start.

", "CreateAutoScalingGroupType$DefaultCooldown": "

The amount of time, in seconds, after a scaling activity completes before another scaling activity can start. The default is 300.

For more information, see Auto Scaling Cooldowns in the Auto Scaling User Guide.

", "PutScalingPolicyType$Cooldown": "

The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start. If this parameter is not specified, the default cooldown period for the group applies.

This parameter is supported if the policy type is SimpleScaling.

For more information, see Auto Scaling Cooldowns in the Auto Scaling User Guide.

", - "ScalingPolicy$Cooldown": "

The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.

", + "ScalingPolicy$Cooldown": "

The amount of time, in seconds, after a scaling activity completes before any further dynamic scaling activities can start.

", "UpdateAutoScalingGroupType$DefaultCooldown": "

The amount of time, in seconds, after a scaling activity completes before another scaling activity can start. The default is 300.

For more information, see Auto Scaling Cooldowns in the Auto Scaling User Guide.

" } }, "CreateAutoScalingGroupType": { - "base": "

Contains the parameters for CreateAutoScalingGroup.

", + "base": null, "refs": { } }, "CreateLaunchConfigurationType": { - "base": "

Contains the parameters for CreateLaunchConfiguration.

", + "base": null, "refs": { } }, "CreateOrUpdateTagsType": { - "base": "

Contains the parameters for CreateOrUpdateTags.

", + "base": null, "refs": { } }, @@ -346,142 +347,142 @@ } }, "DeleteAutoScalingGroupType": { - "base": "

Contains the parameters for DeleteAutoScalingGroup.

", + "base": null, "refs": { } }, "DeleteLifecycleHookAnswer": { - "base": "

Contains the output of DeleteLifecycleHook.

", + "base": null, "refs": { } }, "DeleteLifecycleHookType": { - "base": "

Contains the parameters for DeleteLifecycleHook.

", + "base": null, "refs": { } }, "DeleteNotificationConfigurationType": { - "base": "

Contains the parameters for DeleteNotificationConfiguration.

", + "base": null, "refs": { } }, "DeletePolicyType": { - "base": "

Contains the parameters for DeletePolicy.

", + "base": null, "refs": { } }, "DeleteScheduledActionType": { - "base": "

Contains the parameters for DeleteScheduledAction.

", + "base": null, "refs": { } }, "DeleteTagsType": { - "base": "

Contains the parameters for DeleteTags.

", + "base": null, "refs": { } }, "DescribeAccountLimitsAnswer": { - "base": "

Contains the parameters for DescribeAccountLimits.

", + "base": null, "refs": { } }, "DescribeAdjustmentTypesAnswer": { - "base": "

Contains the parameters for DescribeAdjustmentTypes.

", + "base": null, "refs": { } }, "DescribeAutoScalingInstancesType": { - "base": "

Contains the parameters for DescribeAutoScalingInstances.

", + "base": null, "refs": { } }, "DescribeAutoScalingNotificationTypesAnswer": { - "base": "

Contains the output of DescribeAutoScalingNotificationTypes.

", + "base": null, "refs": { } }, "DescribeLifecycleHookTypesAnswer": { - "base": "

Contains the output of DescribeLifecycleHookTypes.

", + "base": null, "refs": { } }, "DescribeLifecycleHooksAnswer": { - "base": "

Contains the output of DescribeLifecycleHooks.

", + "base": null, "refs": { } }, "DescribeLifecycleHooksType": { - "base": "

Contains the parameters for DescribeLifecycleHooks.

", + "base": null, "refs": { } }, "DescribeLoadBalancerTargetGroupsRequest": { - "base": "

Contains the parameters for DescribeLoadBalancerTargetGroups.

", + "base": null, "refs": { } }, "DescribeLoadBalancerTargetGroupsResponse": { - "base": "

Contains the output of DescribeLoadBalancerTargetGroups.

", + "base": null, "refs": { } }, "DescribeLoadBalancersRequest": { - "base": "

Contains the parameters for DescribeLoadBalancers.

", + "base": null, "refs": { } }, "DescribeLoadBalancersResponse": { - "base": "

Contains the output of DescribeLoadBalancers.

", + "base": null, "refs": { } }, "DescribeMetricCollectionTypesAnswer": { - "base": "

Contains the output of DescribeMetricsCollectionTypes.

", + "base": null, "refs": { } }, "DescribeNotificationConfigurationsAnswer": { - "base": "

Contains the output from DescribeNotificationConfigurations.

", + "base": null, "refs": { } }, "DescribeNotificationConfigurationsType": { - "base": "

Contains the parameters for DescribeNotificationConfigurations.

", + "base": null, "refs": { } }, "DescribePoliciesType": { - "base": "

Contains the parameters for DescribePolicies.

", + "base": null, "refs": { } }, "DescribeScalingActivitiesType": { - "base": "

Contains the parameters for DescribeScalingActivities.

", + "base": null, "refs": { } }, "DescribeScheduledActionsType": { - "base": "

Contains the parameters for DescribeScheduledActions.

", + "base": null, "refs": { } }, "DescribeTagsType": { - "base": "

Contains the parameters for DescribeTags.

", + "base": null, "refs": { } }, "DescribeTerminationPolicyTypesAnswer": { - "base": "

Contains the output of DescribeTerminationPolicyTypes.

", + "base": null, "refs": { } }, "DetachInstancesAnswer": { - "base": "

Contains the output of DetachInstances.

", + "base": null, "refs": { } }, "DetachInstancesQuery": { - "base": "

Contains the parameters for DetachInstances.

", + "base": null, "refs": { } }, @@ -496,24 +497,24 @@ } }, "DetachLoadBalancersResultType": { - "base": "

Contains the output for DetachLoadBalancers.

", + "base": null, "refs": { } }, "DetachLoadBalancersType": { - "base": "

Contains the parameters for DetachLoadBalancers.

", + "base": null, "refs": { } }, "DisableMetricsCollectionQuery": { - "base": "

Contains the parameters for DisableMetricsCollection.

", + "base": null, "refs": { } }, "DisableScaleIn": { "base": null, "refs": { - "TargetTrackingConfiguration$DisableScaleIn": "

If the parameter is true, then scale-in will be disabled for the target tracking policy, i.e. the target tracking policy will not scale in the Auto Scaling group. The default value is false.

" + "TargetTrackingConfiguration$DisableScaleIn": "

Indicates whether scale in by the target tracking policy is disabled. If the value is true, scale in is disabled and the target tracking policy won't remove instances from the Auto Scaling group. Otherwise, scale in is enabled and the target tracking policy can remove instances from the Auto Scaling group. The default value is false.

" } }, "Ebs": { @@ -530,7 +531,7 @@ } }, "EnableMetricsCollectionQuery": { - "base": "

Contains the parameters for EnableMetricsCollection.

", + "base": null, "refs": { } }, @@ -547,12 +548,12 @@ } }, "EnterStandbyAnswer": { - "base": "

Contains the output of EnterStandby.

", + "base": null, "refs": { } }, "EnterStandbyQuery": { - "base": "

Contains the parameters for EnteStandby.

", + "base": null, "refs": { } }, @@ -564,17 +565,17 @@ } }, "ExecutePolicyType": { - "base": "

Contains the parameters for ExecutePolicy.

", + "base": null, "refs": { } }, "ExitStandbyAnswer": { - "base": "

Contains the parameters for ExitStandby.

", + "base": null, "refs": { } }, "ExitStandbyQuery": { - "base": "

Contains the parameters for ExitStandby.

", + "base": null, "refs": { } }, @@ -613,8 +614,9 @@ "HeartbeatTimeout": { "base": null, "refs": { - "LifecycleHook$HeartbeatTimeout": "

The maximum time, in seconds, that can elapse before the lifecycle hook times out. The default is 3600 seconds (1 hour). When the lifecycle hook times out, Auto Scaling performs the default action. You can prevent the lifecycle hook from timing out by calling RecordLifecycleActionHeartbeat.

", - "PutLifecycleHookType$HeartbeatTimeout": "

The amount of time, in seconds, that can elapse before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the default action. You can prevent the lifecycle hook from timing out by calling RecordLifecycleActionHeartbeat. The default is 3600 seconds (1 hour).

" + "LifecycleHook$HeartbeatTimeout": "

The maximum time, in seconds, that can elapse before the lifecycle hook times out. If the lifecycle hook times out, Auto Scaling performs the default action. You can prevent the lifecycle hook from timing out by calling RecordLifecycleActionHeartbeat.

", + "LifecycleHookSpecification$HeartbeatTimeout": "

The maximum time, in seconds, that can elapse before the lifecycle hook times out. If the lifecycle hook times out, Auto Scaling performs the default action. You can prevent the lifecycle hook from timing out by calling RecordLifecycleActionHeartbeat.

", + "PutLifecycleHookType$HeartbeatTimeout": "

The maximum time, in seconds, that can elapse before the lifecycle hook times out. The range is from 30 to 7200 seconds. The default is 3600 seconds (1 hour).

If the lifecycle hook times out, Auto Scaling performs the default action. You can prevent the lifecycle hook from timing out by calling RecordLifecycleActionHeartbeat.

" } }, "HonorCooldown": { @@ -642,9 +644,9 @@ } }, "InstanceMonitoring": { - "base": "

Describes whether instance monitoring is enabled.

", + "base": "

Describes whether detailed monitoring is enabled for the Auto Scaling instances.

", "refs": { - "CreateLaunchConfigurationType$InstanceMonitoring": "

Enables detailed monitoring (true) or basic monitoring (false) for the Auto Scaling instances.

", + "CreateLaunchConfigurationType$InstanceMonitoring": "

Enables detailed monitoring (true) or basic monitoring (false) for the Auto Scaling instances. The default is true.

", "LaunchConfiguration$InstanceMonitoring": "

Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.

" } }, @@ -676,7 +678,7 @@ } }, "LaunchConfigurationNameType": { - "base": "

Contains the parameters for DeleteLaunchConfiguration.

", + "base": null, "refs": { } }, @@ -687,7 +689,7 @@ } }, "LaunchConfigurationNamesType": { - "base": "

Contains the parameters for DescribeLaunchConfigurations.

", + "base": null, "refs": { } }, @@ -698,7 +700,7 @@ } }, "LaunchConfigurationsType": { - "base": "

Contains the output of DescribeLaunchConfigurations.

", + "base": null, "refs": { } }, @@ -707,6 +709,7 @@ "refs": { "CompleteLifecycleActionType$LifecycleActionResult": "

The action for the group to take. This parameter can be either CONTINUE or ABANDON.

", "LifecycleHook$DefaultResult": "

Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. The valid values are CONTINUE and ABANDON. The default value is CONTINUE.

", + "LifecycleHookSpecification$DefaultResult": "

Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. The valid values are CONTINUE and ABANDON. The default value is CONTINUE.

", "PutLifecycleHookType$DefaultResult": "

Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. This parameter can be either CONTINUE or ABANDON. The default value is ABANDON.

" } }, @@ -718,7 +721,7 @@ } }, "LifecycleHook": { - "base": "

Describes a lifecycle hook, which tells Auto Scaling that you want to perform an action when an instance launches or terminates. When you have a lifecycle hook in place, the Auto Scaling group will either:

  • Pause the instance after it launches, but before it is put into service

  • Pause the instance as it terminates, but before it is fully terminated

For more information, see Auto Scaling Lifecycle in the Auto Scaling User Guide.

", + "base": "

Describes a lifecycle hook, which tells Auto Scaling that you want to perform an action whenever it launches instances or whenever it terminates instances.

For more information, see Auto Scaling Lifecycle Hooks in the Auto Scaling User Guide.

", "refs": { "LifecycleHooks$member": null } @@ -729,6 +732,18 @@ "DescribeLifecycleHooksType$LifecycleHookNames": "

The names of one or more lifecycle hooks. If you omit this parameter, all lifecycle hooks are described.

" } }, + "LifecycleHookSpecification": { + "base": "

Describes a lifecycle hook, which tells Auto Scaling that you want to perform an action whenever it launches instances or whenever it terminates instances.

For more information, see Auto Scaling Lifecycle Hooks in the Auto Scaling User Guide.

", + "refs": { + "LifecycleHookSpecifications$member": null + } + }, + "LifecycleHookSpecifications": { + "base": null, + "refs": { + "CreateAutoScalingGroupType$LifecycleHookSpecificationList": "

One or more lifecycle hooks.

" + } + }, "LifecycleHooks": { "base": null, "refs": { @@ -745,6 +760,7 @@ "base": null, "refs": { "LifecycleHook$LifecycleTransition": "

The state of the EC2 instance to which you want to attach the lifecycle hook. For a list of lifecycle hook types, see DescribeLifecycleHookTypes.

", + "LifecycleHookSpecification$LifecycleTransition": "

The state of the EC2 instance to which you want to attach the lifecycle hook. For a list of lifecycle hook types, see DescribeLifecycleHookTypes.

", "PutLifecycleHookType$LifecycleTransition": "

The instance state to which you want to attach the lifecycle hook. For a list of lifecycle hook types, see DescribeLifecycleHookTypes.

This parameter is required for new lifecycle hooks, but optional when updating existing hooks.

" } }, @@ -925,7 +941,7 @@ "MonitoringEnabled": { "base": null, "refs": { - "InstanceMonitoring$Enabled": "

If True, instance monitoring is enabled.

" + "InstanceMonitoring$Enabled": "

If true, detailed monitoring is enabled. Otherwise, basic monitoring is enabled.

" } }, "NoDevice": { @@ -949,6 +965,7 @@ "NotificationTargetResourceName": { "base": null, "refs": { + "LifecycleHookSpecification$NotificationTargetARN": "

The ARN of the target that Auto Scaling sends notifications to when an instance is in the transition state for the lifecycle hook. The notification target can be either an SQS queue or an SNS topic.

", "PutLifecycleHookType$NotificationTargetARN": "

The ARN of the notification target that Auto Scaling will use to notify you when an instance is in the transition state for the lifecycle hook. This target can be either an SQS queue or an SNS topic. If you specify an empty string, this overrides the current ARN.

This operation uses the JSON format when sending notifications to an Amazon SQS queue, and an email key/value pair format when sending notifications to an Amazon SNS topic.

When you specify a notification target, Auto Scaling sends it a test message. Test messages contains the following additional key/value pair: \"Event\": \"autoscaling:TEST_NOTIFICATION\".

" } }, @@ -965,7 +982,7 @@ } }, "PoliciesType": { - "base": "

Contains the output of DescribePolicies.

", + "base": null, "refs": { } }, @@ -995,7 +1012,7 @@ } }, "PredefinedMetricSpecification": { - "base": "

Configures a predefined metric for a target tracking policy. The following predefined metrics are available:

  • ASGAverageCPUUtilization - average CPU utilization of the Auto Scaling group

  • ASGAverageNetworkIn - average number of bytes received on all network interfaces by the Auto Scaling group

  • ASGAverageNetworkOut - average number of bytes sent out on all network interfaces by the Auto Scaling group

  • ALBRequestCountPerTarget - number of requests completed per target in an Application Load Balancer target group

", + "base": "

Configures a predefined metric for a target tracking policy.

", "refs": { "TargetTrackingConfiguration$PredefinedMetricSpecification": "

A predefined metric. You can specify either a predefined metric or a customized metric.

" } @@ -1019,7 +1036,7 @@ } }, "ProcessesType": { - "base": "

Contains the output of DescribeScalingProcessTypes.

", + "base": null, "refs": { } }, @@ -1043,37 +1060,37 @@ } }, "PutLifecycleHookAnswer": { - "base": "

Contains the output of PutLifecycleHook.

", + "base": null, "refs": { } }, "PutLifecycleHookType": { - "base": "

Contains the parameters for PutLifecycleHook.

", + "base": null, "refs": { } }, "PutNotificationConfigurationType": { - "base": "

Contains the parameters for PutNotificationConfiguration.

", + "base": null, "refs": { } }, "PutScalingPolicyType": { - "base": "

Contains the parameters for PutScalingPolicy.

", + "base": null, "refs": { } }, "PutScheduledUpdateGroupActionType": { - "base": "

Contains the parameters for PutScheduledUpdateGroupAction.

", + "base": null, "refs": { } }, "RecordLifecycleActionHeartbeatAnswer": { - "base": "

Contains the output of RecordLifecycleActionHeartBeat.

", + "base": null, "refs": { } }, "RecordLifecycleActionHeartbeatType": { - "base": "

Contains the parameters for RecordLifecycleActionHeartbeat.

", + "base": null, "refs": { } }, @@ -1125,8 +1142,9 @@ "LaunchConfigurationNameType$LaunchConfigurationName": "

The name of the launch configuration.

", "LaunchConfigurationNames$member": null, "LifecycleHook$AutoScalingGroupName": "

The name of the Auto Scaling group for the lifecycle hook.

", - "LifecycleHook$NotificationTargetARN": "

The ARN of the notification target that Auto Scaling uses to notify you when an instance is in the transition state for the lifecycle hook. This ARN target can be either an SQS queue or an SNS topic. The notification message sent to the target includes the following:

  • Lifecycle action token

  • User account ID

  • Name of the Auto Scaling group

  • Lifecycle hook name

  • EC2 instance ID

  • Lifecycle transition

  • Notification metadata

", + "LifecycleHook$NotificationTargetARN": "

The ARN of the target that Auto Scaling sends notifications to when an instance is in the transition state for the lifecycle hook. The notification target can be either an SQS queue or an SNS topic.

", "LifecycleHook$RoleARN": "

The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target.

", + "LifecycleHookSpecification$RoleARN": "

The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target.

", "NotificationConfiguration$AutoScalingGroupName": "

The name of the group.

", "NotificationConfiguration$TopicARN": "

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic.

", "PolicyARNType$PolicyARN": "

The Amazon Resource Name (ARN) of the policy.

", @@ -1172,7 +1190,7 @@ } }, "ScalingProcessQuery": { - "base": "

Contains the parameters for SuspendProcesses and ResumeProcesses.

", + "base": null, "refs": { } }, @@ -1183,7 +1201,7 @@ } }, "ScheduledActionsType": { - "base": "

Contains the output of DescribeScheduledActions.

", + "base": null, "refs": { } }, @@ -1207,22 +1225,22 @@ } }, "SetDesiredCapacityType": { - "base": "

Contains the parameters for SetDesiredCapacity.

", + "base": null, "refs": { } }, "SetInstanceHealthQuery": { - "base": "

Contains the parameters for SetInstanceHealth.

", + "base": null, "refs": { } }, "SetInstanceProtectionAnswer": { - "base": "

Contains the output of SetInstanceProtection.

", + "base": null, "refs": { } }, "SetInstanceProtectionQuery": { - "base": "

Contains the parameters for SetInstanceProtection.

", + "base": null, "refs": { } }, @@ -1314,7 +1332,7 @@ } }, "TagsType": { - "base": "

Contains the output of DescribeTags.

", + "base": null, "refs": { } }, @@ -1330,12 +1348,12 @@ "TargetTrackingConfiguration": { "base": "

Represents a target tracking policy configuration.

", "refs": { - "PutScalingPolicyType$TargetTrackingConfiguration": "

The configuration of a target tracking policy.

This parameter is required if the policy type is TargetTrackingScaling and not supported otherwise.

", + "PutScalingPolicyType$TargetTrackingConfiguration": "

A target tracking policy.

This parameter is required if the policy type is TargetTrackingScaling and not supported otherwise.

", "ScalingPolicy$TargetTrackingConfiguration": "

A target tracking policy.

" } }, "TerminateInstanceInAutoScalingGroupType": { - "base": "

Contains the parameters for TerminateInstanceInAutoScalingGroup.

", + "base": null, "refs": { } }, @@ -1366,7 +1384,7 @@ } }, "UpdateAutoScalingGroupType": { - "base": "

Contains the parameters for UpdateAutoScalingGroup.

", + "base": null, "refs": { } }, @@ -1417,7 +1435,8 @@ "refs": { "Activity$Cause": "

The reason the activity began.

", "LifecycleHook$NotificationMetadata": "

Additional information that you want to include any time Auto Scaling sends a message to the notification target.

", - "PredefinedMetricSpecification$ResourceLabel": "

Identifies the resource associated with the metric type. For predefined metric types ASGAverageCPUUtilization, ASGAverageNetworkIn and ASGAverageNetworkOut, the parameter must not be specified as the resource associated with the metric type is the Auto Scaling group. For predefined metric type ALBRequestCountPerTarget, the parameter must be specified in the format app/load-balancer-name/load-balancer-id/targetgroup/target-group-name/target-group-id , where app/load-balancer-name/load-balancer-id is the final portion of the load balancer ARN, and targetgroup/target-group-name/target-group-id is the final portion of the target group ARN. The target group must be attached to the Auto Scaling group.

", + "LifecycleHookSpecification$NotificationMetadata": "

Additional information that you want to include any time Auto Scaling sends a message to the notification target.

", + "PredefinedMetricSpecification$ResourceLabel": "

Identifies the resource associated with the metric type. The following predefined metrics are available:

  • ASGAverageCPUUtilization - average CPU utilization of the Auto Scaling group

  • ASGAverageNetworkIn - average number of bytes received on all network interfaces by the Auto Scaling group

  • ASGAverageNetworkOut - average number of bytes sent out on all network interfaces by the Auto Scaling group

  • ALBRequestCountPerTarget - number of requests completed per target in an Application Load Balancer target group

For predefined metric types ASGAverageCPUUtilization, ASGAverageNetworkIn and ASGAverageNetworkOut, the parameter must not be specified as the resource associated with the metric type is the Auto Scaling group. For predefined metric type ALBRequestCountPerTarget, the parameter must be specified in the format: app/load-balancer-name/load-balancer-id/targetgroup/target-group-name/target-group-id , where app/load-balancer-name/load-balancer-id is the final portion of the load balancer ARN, and targetgroup/target-group-name/target-group-id is the final portion of the target group ARN. The target group must be attached to the Auto Scaling group.

", "PutLifecycleHookType$NotificationMetadata": "

Contains additional information that you want to include any time Auto Scaling sends a message to the notification target.

" } }, @@ -1435,7 +1454,7 @@ "AutoScalingInstanceDetails$InstanceId": "

The ID of the instance.

", "CompleteLifecycleActionType$InstanceId": "

The ID of the instance.

", "CreateAutoScalingGroupType$InstanceId": "

The ID of the instance used to create a launch configuration for the group. Alternatively, specify a launch configuration instead of an EC2 instance.

When you specify an ID of an instance, Auto Scaling creates a new launch configuration and associates it with the group. This launch configuration derives its attributes from the specified instance, with the exception of the block device mapping.

For more information, see Create an Auto Scaling Group Using an EC2 Instance in the Auto Scaling User Guide.

", - "CreateLaunchConfigurationType$InstanceId": "

The ID of the instance to use to create the launch configuration.

The new launch configuration derives attributes from the instance, with the exception of the block device mapping.

To create a launch configuration with a block device mapping or override any other instance attributes, specify them as part of the same request.

For more information, see Create a Launch Configuration Using an EC2 Instance in the Auto Scaling User Guide.

", + "CreateLaunchConfigurationType$InstanceId": "

The ID of the instance to use to create the launch configuration. The new launch configuration derives attributes from the instance, with the exception of the block device mapping.

If you do not specify InstanceId, you must specify both ImageId and InstanceType.

To create a launch configuration with a block device mapping or override any other instance attributes, specify them as part of the same request.

For more information, see Create a Launch Configuration Using an EC2 Instance in the Auto Scaling User Guide.

", "Instance$InstanceId": "

The ID of the instance.

", "InstanceIds$member": null, "RecordLifecycleActionHeartbeatType$InstanceId": "

The ID of the instance.

", @@ -1474,10 +1493,10 @@ "CreateAutoScalingGroupType$AutoScalingGroupName": "

The name of the group. This name must be unique within the scope of your AWS account.

", "CreateAutoScalingGroupType$PlacementGroup": "

The name of the placement group into which you'll launch your instances, if any. For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide.

", "CreateLaunchConfigurationType$LaunchConfigurationName": "

The name of the launch configuration. This name must be unique within the scope of your AWS account.

", - "CreateLaunchConfigurationType$ImageId": "

The ID of the Amazon Machine Image (AMI) to use to launch your EC2 instances. For more information, see Finding an AMI in the Amazon Elastic Compute Cloud User Guide.

", + "CreateLaunchConfigurationType$ImageId": "

The ID of the Amazon Machine Image (AMI) to use to launch your EC2 instances.

If you do not specify InstanceId, you must specify ImageId.

For more information, see Finding an AMI in the Amazon Elastic Compute Cloud User Guide.

", "CreateLaunchConfigurationType$KeyName": "

The name of the key pair. For more information, see Amazon EC2 Key Pairs in the Amazon Elastic Compute Cloud User Guide.

", "CreateLaunchConfigurationType$ClassicLinkVPCId": "

The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. This parameter is supported only if you are launching EC2-Classic instances. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

", - "CreateLaunchConfigurationType$InstanceType": "

The instance type of the EC2 instance. For information about available instance types, see Available Instance Types in the Amazon Elastic Compute Cloud User Guide.

", + "CreateLaunchConfigurationType$InstanceType": "

The instance type of the EC2 instance.

If you do not specify InstanceId, you must specify InstanceType.

For information about available instance types, see Available Instance Types in the Amazon Elastic Compute Cloud User Guide.

", "CreateLaunchConfigurationType$KernelId": "

The ID of the kernel associated with the AMI.

", "CreateLaunchConfigurationType$RamdiskId": "

The ID of the RAM disk associated with the AMI.

", "Ebs$SnapshotId": "

The ID of the snapshot.

", diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/batch/2016-08-10/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/batch/2016-08-10/api-2.json index 4d12d8664..531d0a338 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/batch/2016-08-10/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/batch/2016-08-10/api-2.json @@ -227,7 +227,8 @@ "containerInstanceArn":{"shape":"String"}, "taskArn":{"shape":"String"}, "exitCode":{"shape":"Integer"}, - "reason":{"shape":"String"} + "reason":{"shape":"String"}, + "logStreamName":{"shape":"String"} } }, "AttemptDetail":{ @@ -391,7 +392,8 @@ "exitCode":{"shape":"Integer"}, "reason":{"shape":"String"}, "containerInstanceArn":{"shape":"String"}, - "taskArn":{"shape":"String"} + "taskArn":{"shape":"String"}, + "logStreamName":{"shape":"String"} } }, "ContainerOverrides":{ diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/batch/2016-08-10/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/batch/2016-08-10/docs-2.json index eec7f6710..d05585ee0 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/batch/2016-08-10/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/batch/2016-08-10/docs-2.json @@ -3,16 +3,16 @@ "service": "

AWS Batch enables you to run batch computing workloads on the AWS Cloud. Batch computing is a common way for developers, scientists, and engineers to access large amounts of compute resources, and AWS Batch removes the undifferentiated heavy lifting of configuring and managing the required infrastructure. AWS Batch will be familiar to users of traditional batch computing software. This service can efficiently provision resources in response to jobs submitted in order to eliminate capacity constraints, reduce compute costs, and deliver results quickly.

As a fully managed service, AWS Batch enables developers, scientists, and engineers to run batch computing workloads of any scale. AWS Batch automatically provisions compute resources and optimizes the workload distribution based on the quantity and scale of the workloads. With AWS Batch, there is no need to install or manage batch computing software, which allows you to focus on analyzing results and solving problems. AWS Batch reduces operational complexities, saves time, and reduces costs, which makes it easy for developers, scientists, and engineers to run their batch jobs in the AWS Cloud.

", "operations": { "CancelJob": "

Cancels jobs in an AWS Batch job queue. Jobs that are in the SUBMITTED, PENDING, or RUNNABLE state are cancelled. Jobs that have progressed to STARTING or RUNNING are not cancelled (but the API operation still succeeds, even if no jobs are cancelled); these jobs must be terminated with the TerminateJob operation.

", - "CreateComputeEnvironment": "

Creates an AWS Batch compute environment. You can create MANAGED or UNMANAGED compute environments.

In a managed compute environment, AWS Batch manages the compute resources within the environment, based on the compute resources that you specify. Instances launched into a managed compute environment use the latest Amazon ECS-optimized AMI. You can choose to use Amazon EC2 On-Demand instances in your managed compute environment, or you can use Amazon EC2 Spot instances that only launch when the Spot bid price is below a specified percentage of the On-Demand price.

In an unmanaged compute environment, you can manage your own compute resources. This provides more compute resource configuration options, such as using a custom AMI, but you must ensure that your AMI meets the Amazon ECS container instance AMI specification. For more information, see Container Instance AMIs in the Amazon EC2 Container Service Developer Guide. After you have created your unmanaged compute environment, you can use the DescribeComputeEnvironments operation to find the Amazon ECS cluster that is associated with it and then manually launch your container instances into that Amazon ECS cluster. For more information, see Launching an Amazon ECS Container Instance in the Amazon EC2 Container Service Developer Guide.

", + "CreateComputeEnvironment": "

Creates an AWS Batch compute environment. You can create MANAGED or UNMANAGED compute environments.

In a managed compute environment, AWS Batch manages the compute resources within the environment, based on the compute resources that you specify. Instances launched into a managed compute environment use a recent, approved version of the Amazon ECS-optimized AMI. You can choose to use Amazon EC2 On-Demand instances in your managed compute environment, or you can use Amazon EC2 Spot instances that only launch when the Spot bid price is below a specified percentage of the On-Demand price.

In an unmanaged compute environment, you can manage your own compute resources. This provides more compute resource configuration options, such as using a custom AMI, but you must ensure that your AMI meets the Amazon ECS container instance AMI specification. For more information, see Container Instance AMIs in the Amazon EC2 Container Service Developer Guide. After you have created your unmanaged compute environment, you can use the DescribeComputeEnvironments operation to find the Amazon ECS cluster that is associated with it and then manually launch your container instances into that Amazon ECS cluster. For more information, see Launching an Amazon ECS Container Instance in the Amazon EC2 Container Service Developer Guide.

", "CreateJobQueue": "

Creates an AWS Batch job queue. When you create a job queue, you associate one or more compute environments to the queue and assign an order of preference for the compute environments.

You also set a priority to the job queue that determines the order in which the AWS Batch scheduler places jobs onto its associated compute environments. For example, if a compute environment is associated with more than one job queue, the job queue with a higher priority is given preference for scheduling jobs to that compute environment.

", "DeleteComputeEnvironment": "

Deletes an AWS Batch compute environment.

Before you can delete a compute environment, you must set its state to DISABLED with the UpdateComputeEnvironment API operation and disassociate it from any job queues with the UpdateJobQueue API operation.

", - "DeleteJobQueue": "

Deletes the specified job queue. You must first disable submissions for a queue with the UpdateJobQueue operation and terminate any jobs that have not completed with the TerminateJob.

It is not necessary to disassociate compute environments from a queue before submitting a DeleteJobQueue request.

", + "DeleteJobQueue": "

Deletes the specified job queue. You must first disable submissions for a queue with the UpdateJobQueue operation. All jobs in the queue are terminated when you delete a job queue.

It is not necessary to disassociate compute environments from a queue before submitting a DeleteJobQueue request.

", "DeregisterJobDefinition": "

Deregisters an AWS Batch job definition.

", "DescribeComputeEnvironments": "

Describes one or more of your compute environments.

If you are using an unmanaged compute environment, you can use the DescribeComputeEnvironment operation to determine the ecsClusterArn that you should launch your Amazon ECS container instances into.

", "DescribeJobDefinitions": "

Describes a list of job definitions. You can specify a status (such as ACTIVE) to only return job definitions that match that status.

", "DescribeJobQueues": "

Describes one or more of your job queues.

", "DescribeJobs": "

Describes a list of AWS Batch jobs.

", - "ListJobs": "

Returns a list of task jobs for a specified job queue. You can filter the results by job status with the jobStatus parameter.

", + "ListJobs": "

Returns a list of task jobs for a specified job queue. You can filter the results by job status with the jobStatus parameter. If you do not specify a status, only RUNNING jobs are returned.

", "RegisterJobDefinition": "

Registers an AWS Batch job definition.

", "SubmitJob": "

Submits an AWS Batch job from a job definition. Parameters specified during SubmitJob override parameters defined in the job definition.

", "TerminateJob": "

Terminates jobs in a job queue. Jobs that are in the STARTING or RUNNING state are terminated, which causes them to transition to FAILED. Jobs that have not progressed to the STARTING state are cancelled.

", @@ -269,9 +269,9 @@ "ContainerDetail$exitCode": "

The exit code to return upon completion.

", "ContainerOverrides$vcpus": "

The number of vCPUs to reserve for the container. This value overrides the value set in the job definition.

", "ContainerOverrides$memory": "

The number of MiB of memory reserved for the job. This value overrides the value set in the job definition.

", - "ContainerProperties$vcpus": "

The number of vCPUs reserved for the container. This parameter maps to CpuShares in the Create a container section of the Docker Remote API and the --cpu-shares option to docker run. Each vCPU is equivalent to 1,024 CPU shares.

", - "ContainerProperties$memory": "

The hard limit (in MiB) of memory to present to the container. If your container attempts to exceed the memory specified here, the container is killed. This parameter maps to Memory in the Create a container section of the Docker Remote API and the --memory option to docker run.

", - "CreateJobQueueRequest$priority": "

The priority of the job queue. Job queues with a higher priority (or a lower integer value for the priority parameter) are evaluated first when associated with same compute environment. Priority is determined in ascending order, for example, a job queue with a priority value of 1 is given scheduling preference over a job queue with a priority value of 10.

", + "ContainerProperties$vcpus": "

The number of vCPUs reserved for the container. This parameter maps to CpuShares in the Create a container section of the Docker Remote API and the --cpu-shares option to docker run. Each vCPU is equivalent to 1,024 CPU shares. You must specify at least 1 vCPU.

", + "ContainerProperties$memory": "

The hard limit (in MiB) of memory to present to the container. If your container attempts to exceed the memory specified here, the container is killed. This parameter maps to Memory in the Create a container section of the Docker Remote API and the --memory option to docker run. You must specify at least 4 MiB of memory for a job.

", + "CreateJobQueueRequest$priority": "

The priority of the job queue. Job queues with a higher priority (or a higher integer value for the priority parameter) are evaluated first when associated with same compute environment. Priority is determined in descending order, for example, a job queue with a priority value of 10 is given scheduling preference over a job queue with a priority value of 1.

", "DescribeComputeEnvironmentsRequest$maxResults": "

The maximum number of cluster results returned by DescribeComputeEnvironments in paginated output. When this parameter is used, DescribeComputeEnvironments only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeComputeEnvironments request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then DescribeComputeEnvironments returns up to 100 results and a nextToken value if applicable.

", "DescribeJobDefinitionsRequest$maxResults": "

The maximum number of results returned by DescribeJobDefinitions in paginated output. When this parameter is used, DescribeJobDefinitions only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeJobDefinitions request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then DescribeJobDefinitions returns up to 100 results and a nextToken value if applicable.

", "DescribeJobQueuesRequest$maxResults": "

The maximum number of results returned by DescribeJobQueues in paginated output. When this parameter is used, DescribeJobQueues only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeJobQueues request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then DescribeJobQueues returns up to 100 results and a nextToken value if applicable.

", @@ -282,7 +282,7 @@ "RetryStrategy$attempts": "

The number of times to move a job to the RUNNABLE status. You may specify between 1 and 10 attempts. If attempts is greater than one, the job is retried if it fails until it has moved to RUNNABLE that many times.

", "Ulimit$hardLimit": "

The hard limit for the ulimit type.

", "Ulimit$softLimit": "

The soft limit for the ulimit type.

", - "UpdateJobQueueRequest$priority": "

The priority of the job queue. Job queues with a higher priority (or a lower integer value for the priority parameter) are evaluated first when associated with same compute environment. Priority is determined in ascending order, for example, a job queue with a priority value of 1 is given scheduling preference over a job queue with a priority value of 10.

" + "UpdateJobQueueRequest$priority": "

The priority of the job queue. Job queues with a higher priority (or a higher integer value for the priority parameter) are evaluated first when associated with same compute environment. Priority is determined in descending order, for example, a job queue with a priority value of 10 is given scheduling preference over a job queue with a priority value of 1.

" } }, "JQState": { @@ -327,7 +327,7 @@ "base": null, "refs": { "JobDetail$dependsOn": "

A list of job names or IDs on which this job depends.

", - "SubmitJobRequest$dependsOn": "

A list of job IDs on which this job depends. A job can depend upon a maximum of 100 jobs.

" + "SubmitJobRequest$dependsOn": "

A list of job IDs on which this job depends. A job can depend upon a maximum of 20 jobs.

" } }, "JobDetail": { @@ -358,7 +358,7 @@ "base": null, "refs": { "JobDetail$status": "

The current status for the job.

", - "ListJobsRequest$jobStatus": "

The job status with which to filter jobs in the specified queue.

" + "ListJobsRequest$jobStatus": "

The job status with which to filter jobs in the specified queue. If you do not specify a status, only RUNNING jobs are returned.

" } }, "JobSummary": { @@ -451,6 +451,7 @@ "AttemptContainerDetail$containerInstanceArn": "

The Amazon Resource Name (ARN) of the Amazon ECS container instance that hosts the job attempt.

", "AttemptContainerDetail$taskArn": "

The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with the job attempt.

", "AttemptContainerDetail$reason": "

A short (255 max characters) human-readable string to provide additional details about a running or stopped container.

", + "AttemptContainerDetail$logStreamName": "

The name of the CloudWatch Logs log stream associated with the container. The log group for AWS Batch jobs is /aws/batch/job. Each container attempt receives a log stream name when they reach the RUNNING status.

", "AttemptDetail$statusReason": "

A short, human-readable string to provide additional details about the current status of the job attempt.

", "CancelJobRequest$jobId": "

A list of up to 100 job IDs to cancel.

", "CancelJobRequest$reason": "

A message to attach to the job that explains the reason for cancelling it. This message is returned by future DescribeJobs operations on the job. This message is also recorded in the AWS Batch activity logs.

", @@ -463,7 +464,7 @@ "ComputeEnvironmentOrder$computeEnvironment": "

The Amazon Resource Name (ARN) of the compute environment.

", "ComputeResource$imageId": "

The Amazon Machine Image (AMI) ID used for instances launched in the compute environment.

", "ComputeResource$ec2KeyPair": "

The EC2 key pair that is used for instances launched in the compute environment.

", - "ComputeResource$instanceRole": "

The Amazon ECS instance role applied to Amazon EC2 instances in a compute environment.

", + "ComputeResource$instanceRole": "

The Amazon ECS instance profile applied to Amazon EC2 instances in a compute environment. You can specify the short name or full Amazon Resource Name (ARN) of an instance profile. For example, ecsInstanceRole or arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole. For more information, see Amazon ECS Instance Role in the AWS Batch User Guide.

", "ComputeResource$spotIamFleetRole": "

The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied to a SPOT compute environment.

", "ContainerDetail$image": "

The image used to start the container.

", "ContainerDetail$jobRoleArn": "

The Amazon Resource Name (ARN) associated with the job upon execution.

", @@ -471,11 +472,12 @@ "ContainerDetail$reason": "

A short (255 max characters) human-readable string to provide additional details about a running or stopped container.

", "ContainerDetail$containerInstanceArn": "

The Amazon Resource Name (ARN) of the container instance on which the container is running.

", "ContainerDetail$taskArn": "

The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with the container job.

", + "ContainerDetail$logStreamName": "

The name of the CloudWatch Logs log stream associated with the container. The log group for AWS Batch jobs is /aws/batch/job. Each container attempt receives a log stream name when they reach the RUNNING status.

", "ContainerProperties$image": "

The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker Hub registry are available by default. Other repositories are specified with repository-url/image:tag . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the Create a container section of the Docker Remote API and the IMAGE parameter of docker run.

  • Images in Amazon ECR repositories use the full registry and repository URI (for example, 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>).

  • Images in official repositories on Docker Hub use a single name (for example, ubuntu or mongo).

  • Images in other repositories on Docker Hub are qualified with an organization name (for example, amazon/amazon-ecs-agent).

  • Images in other online repositories are qualified further by a domain name (for example, quay.io/assemblyline/ubuntu).

", "ContainerProperties$jobRoleArn": "

The Amazon Resource Name (ARN) of the IAM role that the container can assume for AWS permissions.

", "ContainerProperties$user": "

The user name to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.

", "CreateComputeEnvironmentRequest$computeEnvironmentName": "

The name for your compute environment. Up to 128 letters (uppercase and lowercase), numbers, and underscores are allowed.

", - "CreateComputeEnvironmentRequest$serviceRole": "

The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to make calls to other AWS services on your behalf.

", + "CreateComputeEnvironmentRequest$serviceRole": "

The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to make calls to other AWS services on your behalf.

If your specified role has a path other than /, then you must either specify the full role ARN (this is recommended) or prefix the role name with the path.

Depending on how you created your AWS Batch service role, its ARN may contain the service-role path prefix. When you only specify the name of the service role, AWS Batch assumes that your ARN does not use the service-role path prefix. Because of this, we recommend that you specify the full ARN of your service role when you create compute environments.

", "CreateComputeEnvironmentResponse$computeEnvironmentName": "

The name of the compute environment.

", "CreateComputeEnvironmentResponse$computeEnvironmentArn": "

The Amazon Resource Name (ARN) of the compute environment.

", "CreateJobQueueRequest$jobQueueName": "

The name of the job queue.

", @@ -517,12 +519,12 @@ "MountPoint$sourceVolume": "

The name of the volume to mount.

", "ParametersMap$key": null, "ParametersMap$value": null, - "RegisterJobDefinitionRequest$jobDefinitionName": "

The name of the job definition to register.

", - "RegisterJobDefinitionResponse$jobDefinitionName": "

The name of the job definition.

", + "RegisterJobDefinitionRequest$jobDefinitionName": "

The name of the job definition to register. Up to 128 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

", + "RegisterJobDefinitionResponse$jobDefinitionName": "

The name of the job definition.

", "RegisterJobDefinitionResponse$jobDefinitionArn": "

The Amazon Resource Name (ARN) of the job definition.

", "ServerException$message": null, "StringList$member": null, - "SubmitJobRequest$jobName": "

The name of the job. A name must be 1 to 128 characters in length.

Pattern: ^[a-zA-Z0-9_]+$

", + "SubmitJobRequest$jobName": "

The name of the job. The first character must be alphanumeric, and up to 128 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

", "SubmitJobRequest$jobQueue": "

The job queue into which the job will be submitted. You can specify either the name or the Amazon Resource Name (ARN) of the queue.

", "SubmitJobRequest$jobDefinition": "

The job definition used by this job. This value can be either a name:revision or the Amazon Resource Name (ARN) for the job definition.

", "SubmitJobResponse$jobName": "

The name of the job.

", @@ -533,7 +535,7 @@ "TerminateJobRequest$reason": "

A message to attach to the job that explains the reason for cancelling it. This message is returned by future DescribeJobs operations on the job. This message is also recorded in the AWS Batch activity logs.

", "Ulimit$name": "

The type of the ulimit.

", "UpdateComputeEnvironmentRequest$computeEnvironment": "

The name or full Amazon Resource Name (ARN) of the compute environment to update.

", - "UpdateComputeEnvironmentRequest$serviceRole": "

The name or full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to make calls to ECS, Auto Scaling, and EC2 on your behalf.

", + "UpdateComputeEnvironmentRequest$serviceRole": "

The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to make calls to other AWS services on your behalf.

If your specified role has a path other than /, then you must either specify the full role ARN (this is recommended) or prefix the role name with the path.

Depending on how you created your AWS Batch service role, its ARN may contain the service-role path prefix. When you only specify the name of the service role, AWS Batch assumes that your ARN does not use the service-role path prefix. Because of this, we recommend that you specify the full ARN of your service role when you create compute environments.

", "UpdateComputeEnvironmentResponse$computeEnvironmentName": "

The name of compute environment.

", "UpdateComputeEnvironmentResponse$computeEnvironmentArn": "

The Amazon Resource Name (ARN) of the compute environment.

", "UpdateJobQueueRequest$jobQueue": "

The name or the Amazon Resource Name (ARN) of the job queue.

", diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/batch/2016-08-10/examples-1.json b/vendor/github.com/aws/aws-sdk-go/models/apis/batch/2016-08-10/examples-1.json index ddaaf42d1..68001e3c6 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/batch/2016-08-10/examples-1.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/batch/2016-08-10/examples-1.json @@ -124,7 +124,7 @@ } ], "jobQueueName": "LowPriority", - "priority": 10, + "priority": 1, "state": "ENABLED" }, "output": { @@ -154,7 +154,7 @@ } ], "jobQueueName": "HighPriority", - "priority": 1, + "priority": 10, "state": "ENABLED" }, "output": { diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/budgets/2016-10-20/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/budgets/2016-10-20/api-2.json index 6d02085b5..12a939c11 100755 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/budgets/2016-10-20/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/budgets/2016-10-20/api-2.json @@ -188,7 +188,8 @@ "errors":[ {"shape":"InternalErrorException"}, {"shape":"InvalidParameterException"}, - {"shape":"NotFoundException"} + {"shape":"NotFoundException"}, + {"shape":"DuplicateRecordException"} ] }, "UpdateSubscriber":{ @@ -202,7 +203,8 @@ "errors":[ {"shape":"InternalErrorException"}, {"shape":"InvalidParameterException"}, - {"shape":"NotFoundException"} + {"shape":"NotFoundException"}, + {"shape":"DuplicateRecordException"} ] } }, @@ -542,12 +544,13 @@ "members":{ "NotificationType":{"shape":"NotificationType"}, "ComparisonOperator":{"shape":"ComparisonOperator"}, - "Threshold":{"shape":"NotificationThreshold"} + "Threshold":{"shape":"NotificationThreshold"}, + "ThresholdType":{"shape":"ThresholdType"} } }, "NotificationThreshold":{ "type":"double", - "max":300, + "max":1000000000, "min":0.1 }, "NotificationType":{ @@ -616,6 +619,13 @@ "EMAIL" ] }, + "ThresholdType":{ + "type":"string", + "enum":[ + "PERCENTAGE", + "ABSOLUTE_VALUE" + ] + }, "TimePeriod":{ "type":"structure", "required":[ diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/budgets/2016-10-20/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/budgets/2016-10-20/docs-2.json index 5ae2a9a6a..04955ae29 100755 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/budgets/2016-10-20/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/budgets/2016-10-20/docs-2.json @@ -73,7 +73,7 @@ } }, "CalculatedSpend": { - "base": "A structure holds the actual and forecasted spend for a budget.", + "base": "A structure that holds the actual and forecasted spend for a budget.", "refs": { "Budget$CalculatedSpend": null } @@ -85,7 +85,7 @@ } }, "CostFilters": { - "base": "A map represents the cost filters applied to the budget.", + "base": "A map that represents the cost filters applied to the budget.", "refs": { "Budget$CostFilters": null } @@ -262,7 +262,7 @@ } }, "MaxResults": { - "base": "An integer to represent how many entries should a pagianted response contains. Maxium is set to 100.", + "base": "An integer to represent how many entries a paginated response contains. Maximum is set to 100.", "refs": { "DescribeBudgetsRequest$MaxResults": null, "DescribeNotificationsForBudgetRequest$MaxResults": null, @@ -290,7 +290,7 @@ } }, "NotificationThreshold": { - "base": "The threshold of the a notification. It should be a number between 0 and 100.", + "base": "The threshold of a notification. It should be a number between 0 and 1,000,000,000.", "refs": { "Notification$Threshold": null } @@ -326,7 +326,7 @@ } }, "Spend": { - "base": "A structure represent either a cost spend or usage spend. Contains an amount and a unit.", + "base": "A structure that represents either a cost spend or usage spend. Contains an amount and a unit.", "refs": { "Budget$BudgetLimit": null, "CalculatedSpend$ActualSpend": null, @@ -357,8 +357,14 @@ "Subscriber$SubscriptionType": null } }, + "ThresholdType": { + "base": "The type of threshold for a notification. It can be PERCENTAGE or ABSOLUTE_VALUE.", + "refs": { + "Notification$ThresholdType": null + } + }, "TimePeriod": { - "base": "A time period indicated the start date and end date of a budget.", + "base": "A time period indicating the start date and end date of a budget.", "refs": { "Budget$TimePeriod": null } diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/clouddirectory/2016-05-10/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/clouddirectory/2016-05-10/api-2.json index 4d96e1608..dc21b1bb4 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/clouddirectory/2016-05-10/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/clouddirectory/2016-05-10/api-2.json @@ -136,6 +136,7 @@ {"shape":"ValidationException"}, {"shape":"LimitExceededException"}, {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, {"shape":"ResourceNotFoundException"}, {"shape":"InvalidAttachmentException"}, {"shape":"ValidationException"}, @@ -495,6 +496,7 @@ {"shape":"ValidationException"}, {"shape":"LimitExceededException"}, {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, {"shape":"ResourceNotFoundException"}, {"shape":"FacetValidationException"} ] @@ -774,6 +776,7 @@ {"shape":"ValidationException"}, {"shape":"LimitExceededException"}, {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, {"shape":"ResourceNotFoundException"}, {"shape":"InvalidNextTokenException"}, {"shape":"FacetValidationException"} @@ -927,6 +930,7 @@ {"shape":"ValidationException"}, {"shape":"LimitExceededException"}, {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, {"shape":"ResourceNotFoundException"}, {"shape":"InvalidNextTokenException"}, {"shape":"FacetValidationException"} @@ -1494,6 +1498,80 @@ "attachedObjectIdentifier":{"shape":"ObjectIdentifier"} } }, + "BatchAttachPolicy":{ + "type":"structure", + "required":[ + "PolicyReference", + "ObjectReference" + ], + "members":{ + "PolicyReference":{"shape":"ObjectReference"}, + "ObjectReference":{"shape":"ObjectReference"} + } + }, + "BatchAttachPolicyResponse":{ + "type":"structure", + "members":{ + } + }, + "BatchAttachToIndex":{ + "type":"structure", + "required":[ + "IndexReference", + "TargetReference" + ], + "members":{ + "IndexReference":{"shape":"ObjectReference"}, + "TargetReference":{"shape":"ObjectReference"} + } + }, + "BatchAttachToIndexResponse":{ + "type":"structure", + "members":{ + "AttachedObjectIdentifier":{"shape":"ObjectIdentifier"} + } + }, + "BatchAttachTypedLink":{ + "type":"structure", + "required":[ + "SourceObjectReference", + "TargetObjectReference", + "TypedLinkFacet", + "Attributes" + ], + "members":{ + "SourceObjectReference":{"shape":"ObjectReference"}, + "TargetObjectReference":{"shape":"ObjectReference"}, + "TypedLinkFacet":{"shape":"TypedLinkSchemaAndFacetName"}, + "Attributes":{"shape":"AttributeNameAndValueList"} + } + }, + "BatchAttachTypedLinkResponse":{ + "type":"structure", + "members":{ + "TypedLinkSpecifier":{"shape":"TypedLinkSpecifier"} + } + }, + "BatchCreateIndex":{ + "type":"structure", + "required":[ + "OrderedIndexedAttributeList", + "IsUnique" + ], + "members":{ + "OrderedIndexedAttributeList":{"shape":"AttributeKeyList"}, + "IsUnique":{"shape":"Bool"}, + "ParentReference":{"shape":"ObjectReference"}, + "LinkName":{"shape":"LinkName"}, + "BatchReferenceName":{"shape":"BatchReferenceName"} + } + }, + "BatchCreateIndexResponse":{ + "type":"structure", + "members":{ + "ObjectIdentifier":{"shape":"ObjectIdentifier"} + } + }, "BatchCreateObject":{ "type":"structure", "required":[ @@ -1529,6 +1607,23 @@ "members":{ } }, + "BatchDetachFromIndex":{ + "type":"structure", + "required":[ + "IndexReference", + "TargetReference" + ], + "members":{ + "IndexReference":{"shape":"ObjectReference"}, + "TargetReference":{"shape":"ObjectReference"} + } + }, + "BatchDetachFromIndexResponse":{ + "type":"structure", + "members":{ + "DetachedObjectIdentifier":{"shape":"ObjectIdentifier"} + } + }, "BatchDetachObject":{ "type":"structure", "required":[ @@ -1548,6 +1643,99 @@ "detachedObjectIdentifier":{"shape":"ObjectIdentifier"} } }, + "BatchDetachPolicy":{ + "type":"structure", + "required":[ + "PolicyReference", + "ObjectReference" + ], + "members":{ + "PolicyReference":{"shape":"ObjectReference"}, + "ObjectReference":{"shape":"ObjectReference"} + } + }, + "BatchDetachPolicyResponse":{ + "type":"structure", + "members":{ + } + }, + "BatchDetachTypedLink":{ + "type":"structure", + "required":["TypedLinkSpecifier"], + "members":{ + "TypedLinkSpecifier":{"shape":"TypedLinkSpecifier"} + } + }, + "BatchDetachTypedLinkResponse":{ + "type":"structure", + "members":{ + } + }, + "BatchGetObjectInformation":{ + "type":"structure", + "required":["ObjectReference"], + "members":{ + "ObjectReference":{"shape":"ObjectReference"} + } + }, + "BatchGetObjectInformationResponse":{ + "type":"structure", + "members":{ + "SchemaFacets":{"shape":"SchemaFacetList"}, + "ObjectIdentifier":{"shape":"ObjectIdentifier"} + } + }, + "BatchListAttachedIndices":{ + "type":"structure", + "required":["TargetReference"], + "members":{ + "TargetReference":{"shape":"ObjectReference"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"NumberResults"} + } + }, + "BatchListAttachedIndicesResponse":{ + "type":"structure", + "members":{ + "IndexAttachments":{"shape":"IndexAttachmentList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "BatchListIncomingTypedLinks":{ + "type":"structure", + "required":["ObjectReference"], + "members":{ + "ObjectReference":{"shape":"ObjectReference"}, + "FilterAttributeRanges":{"shape":"TypedLinkAttributeRangeList"}, + "FilterTypedLink":{"shape":"TypedLinkSchemaAndFacetName"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"NumberResults"} + } + }, + "BatchListIncomingTypedLinksResponse":{ + "type":"structure", + "members":{ + "LinkSpecifiers":{"shape":"TypedLinkSpecifierList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "BatchListIndex":{ + "type":"structure", + "required":["IndexReference"], + "members":{ + "RangesOnIndexedValues":{"shape":"ObjectAttributeRangeList"}, + "IndexReference":{"shape":"ObjectReference"}, + "MaxResults":{"shape":"NumberResults"}, + "NextToken":{"shape":"NextToken"} + } + }, + "BatchListIndexResponse":{ + "type":"structure", + "members":{ + "IndexAttachments":{"shape":"IndexAttachmentList"}, + "NextToken":{"shape":"NextToken"} + } + }, "BatchListObjectAttributes":{ "type":"structure", "required":["ObjectReference"], @@ -1581,6 +1769,88 @@ "NextToken":{"shape":"NextToken"} } }, + "BatchListObjectParentPaths":{ + "type":"structure", + "required":["ObjectReference"], + "members":{ + "ObjectReference":{"shape":"ObjectReference"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"NumberResults"} + } + }, + "BatchListObjectParentPathsResponse":{ + "type":"structure", + "members":{ + "PathToObjectIdentifiersList":{"shape":"PathToObjectIdentifiersList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "BatchListObjectPolicies":{ + "type":"structure", + "required":["ObjectReference"], + "members":{ + "ObjectReference":{"shape":"ObjectReference"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"NumberResults"} + } + }, + "BatchListObjectPoliciesResponse":{ + "type":"structure", + "members":{ + "AttachedPolicyIds":{"shape":"ObjectIdentifierList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "BatchListOutgoingTypedLinks":{ + "type":"structure", + "required":["ObjectReference"], + "members":{ + "ObjectReference":{"shape":"ObjectReference"}, + "FilterAttributeRanges":{"shape":"TypedLinkAttributeRangeList"}, + "FilterTypedLink":{"shape":"TypedLinkSchemaAndFacetName"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"NumberResults"} + } + }, + "BatchListOutgoingTypedLinksResponse":{ + "type":"structure", + "members":{ + "TypedLinkSpecifiers":{"shape":"TypedLinkSpecifierList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "BatchListPolicyAttachments":{ + "type":"structure", + "required":["PolicyReference"], + "members":{ + "PolicyReference":{"shape":"ObjectReference"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"NumberResults"} + } + }, + "BatchListPolicyAttachmentsResponse":{ + "type":"structure", + "members":{ + "ObjectIdentifiers":{"shape":"ObjectIdentifierList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "BatchLookupPolicy":{ + "type":"structure", + "required":["ObjectReference"], + "members":{ + "ObjectReference":{"shape":"ObjectReference"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"NumberResults"} + } + }, + "BatchLookupPolicyResponse":{ + "type":"structure", + "members":{ + "PolicyToPathList":{"shape":"PolicyToPathList"}, + "NextToken":{"shape":"NextToken"} + } + }, "BatchOperationIndex":{"type":"integer"}, "BatchReadException":{ "type":"structure", @@ -1597,14 +1867,30 @@ "ResourceNotFoundException", "InvalidNextTokenException", "AccessDeniedException", - "NotNodeException" + "NotNodeException", + "FacetValidationException", + "CannotListParentOfRootException", + "NotIndexException", + "NotPolicyException", + "DirectoryNotEnabledException", + "LimitExceededException", + "InternalServiceException" ] }, "BatchReadOperation":{ "type":"structure", "members":{ "ListObjectAttributes":{"shape":"BatchListObjectAttributes"}, - "ListObjectChildren":{"shape":"BatchListObjectChildren"} + "ListObjectChildren":{"shape":"BatchListObjectChildren"}, + "ListAttachedIndices":{"shape":"BatchListAttachedIndices"}, + "ListObjectParentPaths":{"shape":"BatchListObjectParentPaths"}, + "GetObjectInformation":{"shape":"BatchGetObjectInformation"}, + "ListObjectPolicies":{"shape":"BatchListObjectPolicies"}, + "ListPolicyAttachments":{"shape":"BatchListPolicyAttachments"}, + "LookupPolicy":{"shape":"BatchLookupPolicy"}, + "ListIndex":{"shape":"BatchListIndex"}, + "ListOutgoingTypedLinks":{"shape":"BatchListOutgoingTypedLinks"}, + "ListIncomingTypedLinks":{"shape":"BatchListIncomingTypedLinks"} } }, "BatchReadOperationList":{ @@ -1652,7 +1938,16 @@ "type":"structure", "members":{ "ListObjectAttributes":{"shape":"BatchListObjectAttributesResponse"}, - "ListObjectChildren":{"shape":"BatchListObjectChildrenResponse"} + "ListObjectChildren":{"shape":"BatchListObjectChildrenResponse"}, + "GetObjectInformation":{"shape":"BatchGetObjectInformationResponse"}, + "ListAttachedIndices":{"shape":"BatchListAttachedIndicesResponse"}, + "ListObjectParentPaths":{"shape":"BatchListObjectParentPathsResponse"}, + "ListObjectPolicies":{"shape":"BatchListObjectPoliciesResponse"}, + "ListPolicyAttachments":{"shape":"BatchListPolicyAttachmentsResponse"}, + "LookupPolicy":{"shape":"BatchLookupPolicyResponse"}, + "ListIndex":{"shape":"BatchListIndexResponse"}, + "ListOutgoingTypedLinks":{"shape":"BatchListOutgoingTypedLinksResponse"}, + "ListIncomingTypedLinks":{"shape":"BatchListIncomingTypedLinksResponse"} } }, "BatchReferenceName":{"type":"string"}, @@ -1709,7 +2004,15 @@ "FacetValidationException", "ObjectNotDetachedException", "ResourceNotFoundException", - "AccessDeniedException" + "AccessDeniedException", + "InvalidAttachmentException", + "NotIndexException", + "IndexedAttributeMissingException", + "ObjectAlreadyDetachedException", + "NotPolicyException", + "DirectoryNotEnabledException", + "LimitExceededException", + "UnsupportedIndexTypeException" ] }, "BatchWriteOperation":{ @@ -1721,7 +2024,14 @@ "UpdateObjectAttributes":{"shape":"BatchUpdateObjectAttributes"}, "DeleteObject":{"shape":"BatchDeleteObject"}, "AddFacetToObject":{"shape":"BatchAddFacetToObject"}, - "RemoveFacetFromObject":{"shape":"BatchRemoveFacetFromObject"} + "RemoveFacetFromObject":{"shape":"BatchRemoveFacetFromObject"}, + "AttachPolicy":{"shape":"BatchAttachPolicy"}, + "DetachPolicy":{"shape":"BatchDetachPolicy"}, + "CreateIndex":{"shape":"BatchCreateIndex"}, + "AttachToIndex":{"shape":"BatchAttachToIndex"}, + "DetachFromIndex":{"shape":"BatchDetachFromIndex"}, + "AttachTypedLink":{"shape":"BatchAttachTypedLink"}, + "DetachTypedLink":{"shape":"BatchDetachTypedLink"} } }, "BatchWriteOperationList":{ @@ -1737,7 +2047,14 @@ "UpdateObjectAttributes":{"shape":"BatchUpdateObjectAttributesResponse"}, "DeleteObject":{"shape":"BatchDeleteObjectResponse"}, "AddFacetToObject":{"shape":"BatchAddFacetToObjectResponse"}, - "RemoveFacetFromObject":{"shape":"BatchRemoveFacetFromObjectResponse"} + "RemoveFacetFromObject":{"shape":"BatchRemoveFacetFromObjectResponse"}, + "AttachPolicy":{"shape":"BatchAttachPolicyResponse"}, + "DetachPolicy":{"shape":"BatchDetachPolicyResponse"}, + "CreateIndex":{"shape":"BatchCreateIndexResponse"}, + "AttachToIndex":{"shape":"BatchAttachToIndexResponse"}, + "DetachFromIndex":{"shape":"BatchDetachFromIndexResponse"}, + "AttachTypedLink":{"shape":"BatchAttachTypedLinkResponse"}, + "DetachTypedLink":{"shape":"BatchDetachTypedLinkResponse"} } }, "BatchWriteOperationResponseList":{ diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/clouddirectory/2016-05-10/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/clouddirectory/2016-05-10/docs-2.json index 45e5b3087..c5e70f458 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/clouddirectory/2016-05-10/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/clouddirectory/2016-05-10/docs-2.json @@ -241,6 +241,7 @@ "AttributeKeyList": { "base": null, "refs": { + "BatchCreateIndex$OrderedIndexedAttributeList": "

Specifies the attributes that should be indexed on. Currently only a single attribute is supported.

", "CreateIndexRequest$OrderedIndexedAttributeList": "

Specifies the attributes that should be indexed on. Currently only a single attribute is supported.

" } }, @@ -266,6 +267,7 @@ "base": null, "refs": { "AttachTypedLinkRequest$Attributes": "

A set of attributes that are associated with the typed link.

", + "BatchAttachTypedLink$Attributes": "

A set of attributes that are associated with the typed link.

", "TypedLinkSpecifier$IdentityAttributeValues": "

Identifies the attribute value to update.

" } }, @@ -273,7 +275,7 @@ "base": null, "refs": { "GetTypedLinkFacetInformationResponse$IdentityAttributeOrder": "

The order of identity attributes for the facet, from most significant to least significant. The ability to filter typed links considers the order that the attributes are defined on the typed link facet. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range. Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls. For more information about identity attributes, see Typed link.

", - "TypedLinkFacet$IdentityAttributeOrder": "

The set of attributes that distinguish links made from this facet from each other, in the order of significance. Listing typed links can filter on the values of these attributes. See ListOutgoingTypedLinks and ListIncomingTypeLinks for details.

", + "TypedLinkFacet$IdentityAttributeOrder": "

The set of attributes that distinguish links made from this facet from each other, in the order of significance. Listing typed links can filter on the values of these attributes. See ListOutgoingTypedLinks and ListIncomingTypedLinks for details.

", "UpdateTypedLinkFacetRequest$IdentityAttributeOrder": "

The order of identity attributes for the facet, from most significant to least significant. The ability to filter typed links considers the order that the attributes are defined on the typed link facet. When providing ranges to a typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range. Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls. For more information about identity attributes, see Typed link.

" } }, @@ -290,77 +292,269 @@ } }, "BatchAttachObject": { - "base": "

Represents the output of an AttachObject operation.

", + "base": "

Represents the output of an AttachObject operation.

", "refs": { "BatchWriteOperation$AttachObject": "

Attaches an object to a Directory.

" } }, "BatchAttachObjectResponse": { - "base": "

Represents the output batch AttachObject response operation.

", + "base": "

Represents the output batch AttachObject response operation.

", "refs": { "BatchWriteOperationResponse$AttachObject": "

Attaches an object to a Directory.

" } }, + "BatchAttachPolicy": { + "base": "

Attaches a policy object to a regular object inside a BatchRead operation. For more information, see AttachPolicy and BatchReadRequest$Operations.

", + "refs": { + "BatchWriteOperation$AttachPolicy": "

Attaches a policy object to a regular object. An object can have a limited number of attached policies.

" + } + }, + "BatchAttachPolicyResponse": { + "base": "

Represents the output of an AttachPolicy response operation.

", + "refs": { + "BatchWriteOperationResponse$AttachPolicy": "

Attaches a policy object to a regular object. An object can have a limited number of attached policies.

" + } + }, + "BatchAttachToIndex": { + "base": "

Attaches the specified object to the specified index inside a BatchRead operation. For more information, see AttachToIndex and BatchReadRequest$Operations.

", + "refs": { + "BatchWriteOperation$AttachToIndex": "

Attaches the specified object to the specified index.

" + } + }, + "BatchAttachToIndexResponse": { + "base": "

Represents the output of a AttachToIndex response operation.

", + "refs": { + "BatchWriteOperationResponse$AttachToIndex": "

Attaches the specified object to the specified index.

" + } + }, + "BatchAttachTypedLink": { + "base": "

Attaches a typed link to a specified source and target object inside a BatchRead operation. For more information, see AttachTypedLink and BatchReadRequest$Operations.

", + "refs": { + "BatchWriteOperation$AttachTypedLink": "

Attaches a typed link to a specified source and target object. For more information, see Typed link.

" + } + }, + "BatchAttachTypedLinkResponse": { + "base": "

Represents the output of a AttachTypedLink response operation.

", + "refs": { + "BatchWriteOperationResponse$AttachTypedLink": "

Attaches a typed link to a specified source and target object. For more information, see Typed link.

" + } + }, + "BatchCreateIndex": { + "base": "

Creates an index object inside of a BatchRead operation. For more information, see CreateIndex and BatchReadRequest$Operations.

", + "refs": { + "BatchWriteOperation$CreateIndex": "

Creates an index object. See Indexing for more information.

" + } + }, + "BatchCreateIndexResponse": { + "base": "

Represents the output of a CreateIndex response operation.

", + "refs": { + "BatchWriteOperationResponse$CreateIndex": "

Creates an index object. See Indexing for more information.

" + } + }, "BatchCreateObject": { - "base": "

Represents the output of a CreateObject operation.

", + "base": "

Represents the output of a CreateObject operation.

", "refs": { "BatchWriteOperation$CreateObject": "

Creates an object.

" } }, "BatchCreateObjectResponse": { - "base": "

Represents the output of a CreateObject response operation.

", + "base": "

Represents the output of a CreateObject response operation.

", "refs": { "BatchWriteOperationResponse$CreateObject": "

Creates an object in a Directory.

" } }, "BatchDeleteObject": { - "base": "

Represents the output of a DeleteObject operation.

", + "base": "

Represents the output of a DeleteObject operation.

", "refs": { "BatchWriteOperation$DeleteObject": "

Deletes an object in a Directory.

" } }, "BatchDeleteObjectResponse": { - "base": "

Represents the output of a DeleteObject response operation.

", + "base": "

Represents the output of a DeleteObject response operation.

", "refs": { "BatchWriteOperationResponse$DeleteObject": "

Deletes an object in a Directory.

" } }, + "BatchDetachFromIndex": { + "base": "

Detaches the specified object from the specified index inside a BatchRead operation. For more information, see DetachFromIndex and BatchReadRequest$Operations.

", + "refs": { + "BatchWriteOperation$DetachFromIndex": "

Detaches the specified object from the specified index.

" + } + }, + "BatchDetachFromIndexResponse": { + "base": "

Represents the output of a DetachFromIndex response operation.

", + "refs": { + "BatchWriteOperationResponse$DetachFromIndex": "

Detaches the specified object from the specified index.

" + } + }, "BatchDetachObject": { - "base": "

Represents the output of a DetachObject operation.

", + "base": "

Represents the output of a DetachObject operation.

", "refs": { "BatchWriteOperation$DetachObject": "

Detaches an object from a Directory.

" } }, "BatchDetachObjectResponse": { - "base": "

Represents the output of a DetachObject response operation.

", + "base": "

Represents the output of a DetachObject response operation.

", "refs": { "BatchWriteOperationResponse$DetachObject": "

Detaches an object from a Directory.

" } }, + "BatchDetachPolicy": { + "base": "

Detaches the specified policy from the specified directory inside a BatchRead operation. For more information, see DetachPolicy and BatchReadRequest$Operations.

", + "refs": { + "BatchWriteOperation$DetachPolicy": "

Detaches a policy from a Directory.

" + } + }, + "BatchDetachPolicyResponse": { + "base": "

Represents the output of a DetachPolicy response operation.

", + "refs": { + "BatchWriteOperationResponse$DetachPolicy": "

Detaches a policy from a Directory.

" + } + }, + "BatchDetachTypedLink": { + "base": "

Detaches a typed link from a specified source and target object inside a BatchRead operation. For more information, see DetachTypedLink and BatchReadRequest$Operations.

", + "refs": { + "BatchWriteOperation$DetachTypedLink": "

Detaches a typed link from a specified source and target object. For more information, see Typed link.

" + } + }, + "BatchDetachTypedLinkResponse": { + "base": "

Represents the output of a DetachTypedLink response operation.

", + "refs": { + "BatchWriteOperationResponse$DetachTypedLink": "

Detaches a typed link from a specified source and target object. For more information, see Typed link.

" + } + }, + "BatchGetObjectInformation": { + "base": "

Retrieves metadata about an object inside a BatchRead operation. For more information, see GetObjectInformation and BatchReadRequest$Operations.

", + "refs": { + "BatchReadOperation$GetObjectInformation": "

Retrieves metadata about an object.

" + } + }, + "BatchGetObjectInformationResponse": { + "base": "

Represents the output of a GetObjectInformation response operation.

", + "refs": { + "BatchReadSuccessfulResponse$GetObjectInformation": "

Retrieves metadata about an object.

" + } + }, + "BatchListAttachedIndices": { + "base": "

Lists indices attached to an object inside a BatchRead operation. For more information, see ListAttachedIndices and BatchReadRequest$Operations.

", + "refs": { + "BatchReadOperation$ListAttachedIndices": "

Lists indices attached to an object.

" + } + }, + "BatchListAttachedIndicesResponse": { + "base": "

Represents the output of a ListAttachedIndices response operation.

", + "refs": { + "BatchReadSuccessfulResponse$ListAttachedIndices": "

Lists indices attached to an object.

" + } + }, + "BatchListIncomingTypedLinks": { + "base": "

Returns a paginated list of all the incoming TypedLinkSpecifier information for an object inside a BatchRead operation. For more information, see ListIncomingTypedLinks and BatchReadRequest$Operations.

", + "refs": { + "BatchReadOperation$ListIncomingTypedLinks": "

Returns a paginated list of all the incoming TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed link.

" + } + }, + "BatchListIncomingTypedLinksResponse": { + "base": "

Represents the output of a ListIncomingTypedLinks response operation.

", + "refs": { + "BatchReadSuccessfulResponse$ListIncomingTypedLinks": "

Returns a paginated list of all the incoming TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed link.

" + } + }, + "BatchListIndex": { + "base": "

Lists objects attached to the specified index inside a BatchRead operation. For more information, see ListIndex and BatchReadRequest$Operations.

", + "refs": { + "BatchReadOperation$ListIndex": "

Lists objects attached to the specified index.

" + } + }, + "BatchListIndexResponse": { + "base": "

Represents the output of a ListIndex response operation.

", + "refs": { + "BatchReadSuccessfulResponse$ListIndex": "

Lists objects attached to the specified index.

" + } + }, "BatchListObjectAttributes": { - "base": "

Represents the output of a ListObjectAttributes operation.

", + "base": "

Represents the output of a ListObjectAttributes operation.

", "refs": { "BatchReadOperation$ListObjectAttributes": "

Lists all attributes that are associated with an object.

" } }, "BatchListObjectAttributesResponse": { - "base": "

Represents the output of a ListObjectAttributes response operation.

", + "base": "

Represents the output of a ListObjectAttributes response operation.

", "refs": { "BatchReadSuccessfulResponse$ListObjectAttributes": "

Lists all attributes that are associated with an object.

" } }, "BatchListObjectChildren": { - "base": "

Represents the output of a ListObjectChildren operation.

", + "base": "

Represents the output of a ListObjectChildren operation.

", "refs": { "BatchReadOperation$ListObjectChildren": "

Returns a paginated list of child objects that are associated with a given object.

" } }, "BatchListObjectChildrenResponse": { - "base": "

Represents the output of a ListObjectChildren response operation.

", + "base": "

Represents the output of a ListObjectChildren response operation.

", "refs": { "BatchReadSuccessfulResponse$ListObjectChildren": "

Returns a paginated list of child objects that are associated with a given object.

" } }, + "BatchListObjectParentPaths": { + "base": "

Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects inside a BatchRead operation. For more information, see ListObjectParentPaths and BatchReadRequest$Operations.

", + "refs": { + "BatchReadOperation$ListObjectParentPaths": "

Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects. For more information about objects, see Directory Structure.

" + } + }, + "BatchListObjectParentPathsResponse": { + "base": "

Represents the output of a ListObjectParentPaths response operation.

", + "refs": { + "BatchReadSuccessfulResponse$ListObjectParentPaths": "

Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects. For more information about objects, see Directory Structure.

" + } + }, + "BatchListObjectPolicies": { + "base": "

Returns policies attached to an object in pagination fashion inside a BatchRead operation. For more information, see ListObjectPolicies and BatchReadRequest$Operations.

", + "refs": { + "BatchReadOperation$ListObjectPolicies": "

Returns policies attached to an object in pagination fashion.

" + } + }, + "BatchListObjectPoliciesResponse": { + "base": "

Represents the output of a ListObjectPolicies response operation.

", + "refs": { + "BatchReadSuccessfulResponse$ListObjectPolicies": "

Returns policies attached to an object in pagination fashion.

" + } + }, + "BatchListOutgoingTypedLinks": { + "base": "

Returns a paginated list of all the outgoing TypedLinkSpecifier information for an object inside a BatchRead operation. For more information, see ListOutgoingTypedLinks and BatchReadRequest$Operations.

", + "refs": { + "BatchReadOperation$ListOutgoingTypedLinks": "

Returns a paginated list of all the outgoing TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed link.

" + } + }, + "BatchListOutgoingTypedLinksResponse": { + "base": "

Represents the output of a ListOutgoingTypedLinks response operation.

", + "refs": { + "BatchReadSuccessfulResponse$ListOutgoingTypedLinks": "

Returns a paginated list of all the outgoing TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed link.

" + } + }, + "BatchListPolicyAttachments": { + "base": "

Returns all of the ObjectIdentifiers to which a given policy is attached inside a BatchRead operation. For more information, see ListPolicyAttachments and BatchReadRequest$Operations.

", + "refs": { + "BatchReadOperation$ListPolicyAttachments": "

Returns all of the ObjectIdentifiers to which a given policy is attached.

" + } + }, + "BatchListPolicyAttachmentsResponse": { + "base": "

Represents the output of a ListPolicyAttachments response operation.

", + "refs": { + "BatchReadSuccessfulResponse$ListPolicyAttachments": "

Returns all of the ObjectIdentifiers to which a given policy is attached.

" + } + }, + "BatchLookupPolicy": { + "base": "

Lists all policies from the root of the Directory to the object specified inside a BatchRead operation. For more information, see LookupPolicy and BatchReadRequest$Operations.

", + "refs": { + "BatchReadOperation$LookupPolicy": "

Lists all policies from the root of the Directory to the object specified. If there are no policies present, an empty list is returned. If policies are present, and if some objects don't have the policies attached, it returns the ObjectIdentifier for such objects. If policies are present, it returns ObjectIdentifier, policyId, and policyType. Paths that don't lead to the root from the target object are ignored. For more information, see Policies.

" + } + }, + "BatchLookupPolicyResponse": { + "base": "

Represents the output of a LookupPolicy response operation.

", + "refs": { + "BatchReadSuccessfulResponse$LookupPolicy": "

Lists all policies from the root of the Directory to the object specified. If there are no policies present, an empty list is returned. If policies are present, and if some objects don't have the policies attached, it returns the ObjectIdentifier for such objects. If policies are present, it returns ObjectIdentifier, policyId, and policyType. Paths that don't lead to the root from the target object are ignored. For more information, see Policies.

" + } + }, "BatchOperationIndex": { "base": null, "refs": { @@ -422,6 +616,7 @@ "BatchReferenceName": { "base": null, "refs": { + "BatchCreateIndex$BatchReferenceName": "

The batch reference name. See Batches for more information.

", "BatchCreateObject$BatchReferenceName": "

The batch reference name. See Batches for more information.

", "BatchDetachObject$BatchReferenceName": "

The batch reference name. See Batches for more information.

" } @@ -504,6 +699,7 @@ "Bool": { "base": null, "refs": { + "BatchCreateIndex$IsUnique": "

Indicates whether the attribute that is being indexed has unique values or not.

", "CreateIndexRequest$IsUnique": "

Indicates whether the attribute that is being indexed has unique values or not.

", "FacetAttributeDefinition$IsImmutable": "

Whether the attribute is mutable or not.

", "TypedLinkAttributeDefinition$IsImmutable": "

Whether the attribute is mutable or not.

" @@ -960,6 +1156,8 @@ "IndexAttachmentList": { "base": null, "refs": { + "BatchListAttachedIndicesResponse$IndexAttachments": "

The indices attached to the specified object.

", + "BatchListIndexResponse$IndexAttachments": "

The objects and indexed values attached to the index.

", "ListAttachedIndicesResponse$IndexAttachments": "

The indices attached to the specified object.

", "ListIndexResponse$IndexAttachments": "

The objects and indexed values attached to the index.

" } @@ -1019,6 +1217,7 @@ "refs": { "AttachObjectRequest$LinkName": "

The link name with which the child object is attached to the parent.

", "BatchAttachObject$LinkName": "

The name of the link.

", + "BatchCreateIndex$LinkName": "

The name of the link between the parent object and the index object.

", "BatchCreateObject$LinkName": "

The name of the link.

", "BatchDetachObject$LinkName": "

The name of the link.

", "CreateIndexRequest$LinkName": "

The name of the link between the parent object and the index object.

", @@ -1243,10 +1442,26 @@ "NextToken": { "base": null, "refs": { + "BatchListAttachedIndices$NextToken": "

The pagination token.

", + "BatchListAttachedIndicesResponse$NextToken": "

The pagination token.

", + "BatchListIncomingTypedLinks$NextToken": "

The pagination token.

", + "BatchListIncomingTypedLinksResponse$NextToken": "

The pagination token.

", + "BatchListIndex$NextToken": "

The pagination token.

", + "BatchListIndexResponse$NextToken": "

The pagination token.

", "BatchListObjectAttributes$NextToken": "

The pagination token.

", "BatchListObjectAttributesResponse$NextToken": "

The pagination token.

", "BatchListObjectChildren$NextToken": "

The pagination token.

", "BatchListObjectChildrenResponse$NextToken": "

The pagination token.

", + "BatchListObjectParentPaths$NextToken": "

The pagination token.

", + "BatchListObjectParentPathsResponse$NextToken": "

The pagination token.

", + "BatchListObjectPolicies$NextToken": "

The pagination token.

", + "BatchListObjectPoliciesResponse$NextToken": "

The pagination token.

", + "BatchListOutgoingTypedLinks$NextToken": "

The pagination token.

", + "BatchListOutgoingTypedLinksResponse$NextToken": "

The pagination token.

", + "BatchListPolicyAttachments$NextToken": "

The pagination token.

", + "BatchListPolicyAttachmentsResponse$NextToken": "

The pagination token.

", + "BatchLookupPolicy$NextToken": "

The pagination token.

", + "BatchLookupPolicyResponse$NextToken": "

The pagination token.

", "ListAppliedSchemaArnsRequest$NextToken": "

The pagination token.

", "ListAppliedSchemaArnsResponse$NextToken": "

The pagination token.

", "ListAttachedIndicesRequest$NextToken": "

The pagination token.

", @@ -1313,8 +1528,16 @@ "NumberResults": { "base": null, "refs": { + "BatchListAttachedIndices$MaxResults": "

The maximum number of results to retrieve.

", + "BatchListIncomingTypedLinks$MaxResults": "

The maximum number of results to retrieve.

", + "BatchListIndex$MaxResults": "

The maximum number of results to retrieve.

", "BatchListObjectAttributes$MaxResults": "

The maximum number of items to be retrieved in a single call. This is an approximate number.

", "BatchListObjectChildren$MaxResults": "

Maximum number of items to be retrieved in a single call. This is an approximate number.

", + "BatchListObjectParentPaths$MaxResults": "

The maximum number of results to retrieve.

", + "BatchListObjectPolicies$MaxResults": "

The maximum number of results to retrieve.

", + "BatchListOutgoingTypedLinks$MaxResults": "

The maximum number of results to retrieve.

", + "BatchListPolicyAttachments$MaxResults": "

The maximum number of results to retrieve.

", + "BatchLookupPolicy$MaxResults": "

The maximum number of results to retrieve.

", "ListAppliedSchemaArnsRequest$MaxResults": "

The maximum number of results to retrieve.

", "ListAttachedIndicesRequest$MaxResults": "

The maximum number of results to retrieve.

", "ListDevelopmentSchemaArnsRequest$MaxResults": "

The maximum number of results to retrieve.

", @@ -1356,6 +1579,7 @@ "ObjectAttributeRangeList": { "base": null, "refs": { + "BatchListIndex$RangesOnIndexedValues": "

Specifies the ranges of indexed values that you want to query.

", "ListIndexRequest$RangesOnIndexedValues": "

Specifies the ranges of indexed values that you want to query.

" } }, @@ -1378,8 +1602,12 @@ "AttachObjectResponse$AttachedObjectIdentifier": "

The attached ObjectIdentifier, which is the child ObjectIdentifier.

", "AttachToIndexResponse$AttachedObjectIdentifier": "

The ObjectIdentifier of the object that was attached to the index.

", "BatchAttachObjectResponse$attachedObjectIdentifier": "

The ObjectIdentifier of the object that has been attached.

", + "BatchAttachToIndexResponse$AttachedObjectIdentifier": "

The ObjectIdentifier of the object that was attached to the index.

", + "BatchCreateIndexResponse$ObjectIdentifier": "

The ObjectIdentifier of the index created by this operation.

", "BatchCreateObjectResponse$ObjectIdentifier": "

The ID that is associated with the object.

", + "BatchDetachFromIndexResponse$DetachedObjectIdentifier": "

The ObjectIdentifier of the object that was detached from the index.

", "BatchDetachObjectResponse$detachedObjectIdentifier": "

The ObjectIdentifier of the detached object.

", + "BatchGetObjectInformationResponse$ObjectIdentifier": "

The ObjectIdentifier of the specified object.

", "BatchUpdateObjectAttributesResponse$ObjectIdentifier": "

ID that is associated with the object.

", "CreateDirectoryResponse$ObjectIdentifier": "

The root object node of the created directory.

", "CreateIndexResponse$ObjectIdentifier": "

The ObjectIdentifier of the index created by this operation.

", @@ -1399,6 +1627,8 @@ "ObjectIdentifierList": { "base": null, "refs": { + "BatchListObjectPoliciesResponse$AttachedPolicyIds": "

A list of policy ObjectIdentifiers, that are attached to the object.

", + "BatchListPolicyAttachmentsResponse$ObjectIdentifiers": "

A list of ObjectIdentifiers to which the policy is attached.

", "ListObjectPoliciesResponse$AttachedPolicyIds": "

A list of policy ObjectIdentifiers, that are attached to the object.

", "ListPolicyAttachmentsResponse$ObjectIdentifiers": "

A list of ObjectIdentifiers to which the policy is attached.

", "PathToObjectIdentifiers$ObjectIdentifiers": "

Lists ObjectIdentifiers starting from directory root to the object in the request.

" @@ -1430,11 +1660,31 @@ "BatchAddFacetToObject$ObjectReference": "

A reference to the object being mutated.

", "BatchAttachObject$ParentReference": "

The parent object reference.

", "BatchAttachObject$ChildReference": "

The child object reference that is to be attached to the object.

", + "BatchAttachPolicy$PolicyReference": "

The reference that is associated with the policy object.

", + "BatchAttachPolicy$ObjectReference": "

The reference that identifies the object to which the policy will be attached.

", + "BatchAttachToIndex$IndexReference": "

A reference to the index that you are attaching the object to.

", + "BatchAttachToIndex$TargetReference": "

A reference to the object that you are attaching to the index.

", + "BatchAttachTypedLink$SourceObjectReference": "

Identifies the source object that the typed link will attach to.

", + "BatchAttachTypedLink$TargetObjectReference": "

Identifies the target object that the typed link will attach to.

", + "BatchCreateIndex$ParentReference": "

A reference to the parent object that contains the index object.

", "BatchCreateObject$ParentReference": "

If specified, the parent reference to which this object will be attached.

", "BatchDeleteObject$ObjectReference": "

The reference that identifies the object.

", + "BatchDetachFromIndex$IndexReference": "

A reference to the index object.

", + "BatchDetachFromIndex$TargetReference": "

A reference to the object being detached from the index.

", "BatchDetachObject$ParentReference": "

Parent reference from which the object with the specified link name is detached.

", + "BatchDetachPolicy$PolicyReference": "

Reference that identifies the policy object.

", + "BatchDetachPolicy$ObjectReference": "

Reference that identifies the object whose policy object will be detached.

", + "BatchGetObjectInformation$ObjectReference": "

A reference to the object.

", + "BatchListAttachedIndices$TargetReference": "

A reference to the object that has indices attached.

", + "BatchListIncomingTypedLinks$ObjectReference": "

The reference that identifies the object whose attributes will be listed.

", + "BatchListIndex$IndexReference": "

The reference to the index to list.

", "BatchListObjectAttributes$ObjectReference": "

Reference of the object whose attributes need to be listed.

", "BatchListObjectChildren$ObjectReference": "

Reference of the object for which child objects are being listed.

", + "BatchListObjectParentPaths$ObjectReference": "

The reference that identifies the object whose attributes will be listed.

", + "BatchListObjectPolicies$ObjectReference": "

The reference that identifies the object whose attributes will be listed.

", + "BatchListOutgoingTypedLinks$ObjectReference": "

The reference that identifies the object whose attributes will be listed.

", + "BatchListPolicyAttachments$PolicyReference": "

The reference that identifies the policy object.

", + "BatchLookupPolicy$ObjectReference": "

Reference that identifies the object whose policies will be looked up.

", "BatchRemoveFacetFromObject$ObjectReference": "

A reference to the object whose facet will be removed.

", "BatchUpdateObjectAttributes$ObjectReference": "

Reference that identifies the object.

", "CreateIndexRequest$ParentReference": "

A reference to the parent object that contains the index object.

", @@ -1446,7 +1696,7 @@ "DetachPolicyRequest$PolicyReference": "

Reference that identifies the policy object.

", "DetachPolicyRequest$ObjectReference": "

Reference that identifies the object whose policy object will be detached.

", "GetObjectInformationRequest$ObjectReference": "

A reference to the object.

", - "ListAttachedIndicesRequest$TargetReference": "

A reference to the object to that has indices attached.

", + "ListAttachedIndicesRequest$TargetReference": "

A reference to the object that has indices attached.

", "ListIncomingTypedLinksRequest$ObjectReference": "

Reference that identifies the object whose attributes will be listed.

", "ListIndexRequest$IndexReference": "

The reference to the index to list.

", "ListObjectAttributesRequest$ObjectReference": "

The reference that identifies the object whose attributes will be listed.

", @@ -1487,6 +1737,7 @@ "PathToObjectIdentifiersList": { "base": null, "refs": { + "BatchListObjectParentPathsResponse$PathToObjectIdentifiersList": "

Returns the path to the ObjectIdentifiers that are associated with the directory.

", "ListObjectParentPathsResponse$PathToObjectIdentifiersList": "

Returns the path to the ObjectIdentifiers that are associated with the directory.

" } }, @@ -1511,6 +1762,7 @@ "PolicyToPathList": { "base": null, "refs": { + "BatchLookupPolicyResponse$PolicyToPathList": "

Provides list of path to policies. Policies contain PolicyId, ObjectIdentifier, and PolicyType. For more information, see Policies.

", "LookupPolicyResponse$PolicyToPathList": "

Provides list of path to policies. Policies contain PolicyId, ObjectIdentifier, and PolicyType. For more information, see Policies.

" } }, @@ -1643,6 +1895,7 @@ "base": null, "refs": { "BatchCreateObject$SchemaFacet": "

A list of FacetArns that will be associated with the object. For more information, see arns.

", + "BatchGetObjectInformationResponse$SchemaFacets": "

The facets attached to the specified object.

", "CreateObjectRequest$SchemaFacets": "

A list of schema facets to be associated with the object that contains SchemaArn and facet name. For more information, see arns.

", "GetObjectInformationResponse$SchemaFacets": "

The facets attached to the specified object.

" } @@ -1770,6 +2023,8 @@ "TypedLinkAttributeRangeList": { "base": null, "refs": { + "BatchListIncomingTypedLinks$FilterAttributeRanges": "

Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.

", + "BatchListOutgoingTypedLinks$FilterAttributeRanges": "

Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.

", "ListIncomingTypedLinksRequest$FilterAttributeRanges": "

Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.

", "ListOutgoingTypedLinksRequest$FilterAttributeRanges": "

Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.

" } @@ -1814,6 +2069,9 @@ "base": "

Identifies the schema Amazon Resource Name (ARN) and facet name for the typed link.

", "refs": { "AttachTypedLinkRequest$TypedLinkFacet": "

Identifies the typed link facet that is associated with the typed link.

", + "BatchAttachTypedLink$TypedLinkFacet": "

Identifies the typed link facet that is associated with the typed link.

", + "BatchListIncomingTypedLinks$FilterTypedLink": "

Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls.

", + "BatchListOutgoingTypedLinks$FilterTypedLink": "

Filters are interpreted in the order of the attributes defined on the typed link facet, not the order they are supplied to any API calls.

", "ListIncomingTypedLinksRequest$FilterTypedLink": "

Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls.

", "ListOutgoingTypedLinksRequest$FilterTypedLink": "

Filters are interpreted in the order of the attributes defined on the typed link facet, not the order they are supplied to any API calls.

", "TypedLinkSpecifier$TypedLinkFacet": "

Identifies the typed link facet that is associated with the typed link.

" @@ -1823,6 +2081,8 @@ "base": "

Contains all the information that is used to uniquely identify a typed link. The parameters discussed in this topic are used to uniquely specify the typed link being operated on. The AttachTypedLink API returns a typed link specifier while the DetachTypedLink API accepts one as input. Similarly, the ListIncomingTypedLinks and ListOutgoingTypedLinks API operations provide typed link specifiers as output. You can also construct a typed link specifier from scratch.

", "refs": { "AttachTypedLinkResponse$TypedLinkSpecifier": "

Returns a typed link specifier as output.

", + "BatchAttachTypedLinkResponse$TypedLinkSpecifier": "

Returns a typed link specifier as output.

", + "BatchDetachTypedLink$TypedLinkSpecifier": "

Used to accept a typed link specifier as input.

", "DetachTypedLinkRequest$TypedLinkSpecifier": "

Used to accept a typed link specifier as input.

", "TypedLinkSpecifierList$member": null } @@ -1830,6 +2090,8 @@ "TypedLinkSpecifierList": { "base": null, "refs": { + "BatchListIncomingTypedLinksResponse$LinkSpecifiers": "

Returns one or more typed link specifiers as output.

", + "BatchListOutgoingTypedLinksResponse$TypedLinkSpecifiers": "

Returns a typed link specifier as output.

", "ListIncomingTypedLinksResponse$LinkSpecifiers": "

Returns one or more typed link specifiers as output.

", "ListOutgoingTypedLinksResponse$TypedLinkSpecifiers": "

Returns a typed link specifier as output.

" } diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/cloudformation/2010-05-15/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/cloudformation/2010-05-15/api-2.json index 517a91e09..a0eb8ef7d 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/cloudformation/2010-05-15/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/cloudformation/2010-05-15/api-2.json @@ -71,6 +71,43 @@ {"shape":"InsufficientCapabilitiesException"} ] }, + "CreateStackInstances":{ + "name":"CreateStackInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateStackInstancesInput"}, + "output":{ + "shape":"CreateStackInstancesOutput", + "resultWrapper":"CreateStackInstancesResult" + }, + "errors":[ + {"shape":"StackSetNotFoundException"}, + {"shape":"OperationInProgressException"}, + {"shape":"OperationIdAlreadyExistsException"}, + {"shape":"StaleRequestException"}, + {"shape":"InvalidOperationException"}, + {"shape":"LimitExceededException"} + ] + }, + "CreateStackSet":{ + "name":"CreateStackSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateStackSetInput"}, + "output":{ + "shape":"CreateStackSetOutput", + "resultWrapper":"CreateStackSetResult" + }, + "errors":[ + {"shape":"NameAlreadyExistsException"}, + {"shape":"CreatedButModifiedException"}, + {"shape":"LimitExceededException"} + ] + }, "DeleteChangeSet":{ "name":"DeleteChangeSet", "http":{ @@ -97,6 +134,41 @@ {"shape":"TokenAlreadyExistsException"} ] }, + "DeleteStackInstances":{ + "name":"DeleteStackInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteStackInstancesInput"}, + "output":{ + "shape":"DeleteStackInstancesOutput", + "resultWrapper":"DeleteStackInstancesResult" + }, + "errors":[ + {"shape":"StackSetNotFoundException"}, + {"shape":"OperationInProgressException"}, + {"shape":"OperationIdAlreadyExistsException"}, + {"shape":"StaleRequestException"}, + {"shape":"InvalidOperationException"} + ] + }, + "DeleteStackSet":{ + "name":"DeleteStackSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteStackSetInput"}, + "output":{ + "shape":"DeleteStackSetOutput", + "resultWrapper":"DeleteStackSetResult" + }, + "errors":[ + {"shape":"StackSetNotEmptyException"}, + {"shape":"OperationInProgressException"} + ] + }, "DescribeAccountLimits":{ "name":"DescribeAccountLimits", "http":{ @@ -136,6 +208,22 @@ "resultWrapper":"DescribeStackEventsResult" } }, + "DescribeStackInstance":{ + "name":"DescribeStackInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeStackInstanceInput"}, + "output":{ + "shape":"DescribeStackInstanceOutput", + "resultWrapper":"DescribeStackInstanceResult" + }, + "errors":[ + {"shape":"StackSetNotFoundException"}, + {"shape":"StackInstanceNotFoundException"} + ] + }, "DescribeStackResource":{ "name":"DescribeStackResource", "http":{ @@ -160,6 +248,37 @@ "resultWrapper":"DescribeStackResourcesResult" } }, + "DescribeStackSet":{ + "name":"DescribeStackSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeStackSetInput"}, + "output":{ + "shape":"DescribeStackSetOutput", + "resultWrapper":"DescribeStackSetResult" + }, + "errors":[ + {"shape":"StackSetNotFoundException"} + ] + }, + "DescribeStackSetOperation":{ + "name":"DescribeStackSetOperation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeStackSetOperationInput"}, + "output":{ + "shape":"DescribeStackSetOperationOutput", + "resultWrapper":"DescribeStackSetOperationResult" + }, + "errors":[ + {"shape":"StackSetNotFoundException"}, + {"shape":"OperationNotFoundException"} + ] + }, "DescribeStacks":{ "name":"DescribeStacks", "http":{ @@ -239,7 +358,10 @@ "output":{ "shape":"GetTemplateSummaryOutput", "resultWrapper":"GetTemplateSummaryResult" - } + }, + "errors":[ + {"shape":"StackSetNotFoundException"} + ] }, "ListChangeSets":{ "name":"ListChangeSets", @@ -277,6 +399,21 @@ "resultWrapper":"ListImportsResult" } }, + "ListStackInstances":{ + "name":"ListStackInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListStackInstancesInput"}, + "output":{ + "shape":"ListStackInstancesOutput", + "resultWrapper":"ListStackInstancesResult" + }, + "errors":[ + {"shape":"StackSetNotFoundException"} + ] + }, "ListStackResources":{ "name":"ListStackResources", "http":{ @@ -289,6 +426,49 @@ "resultWrapper":"ListStackResourcesResult" } }, + "ListStackSetOperationResults":{ + "name":"ListStackSetOperationResults", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListStackSetOperationResultsInput"}, + "output":{ + "shape":"ListStackSetOperationResultsOutput", + "resultWrapper":"ListStackSetOperationResultsResult" + }, + "errors":[ + {"shape":"StackSetNotFoundException"}, + {"shape":"OperationNotFoundException"} + ] + }, + "ListStackSetOperations":{ + "name":"ListStackSetOperations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListStackSetOperationsInput"}, + "output":{ + "shape":"ListStackSetOperationsOutput", + "resultWrapper":"ListStackSetOperationsResult" + }, + "errors":[ + {"shape":"StackSetNotFoundException"} + ] + }, + "ListStackSets":{ + "name":"ListStackSets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListStackSetsInput"}, + "output":{ + "shape":"ListStackSetsOutput", + "resultWrapper":"ListStackSetsResult" + } + }, "ListStacks":{ "name":"ListStacks", "http":{ @@ -317,6 +497,23 @@ }, "input":{"shape":"SignalResourceInput"} }, + "StopStackSetOperation":{ + "name":"StopStackSetOperation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopStackSetOperationInput"}, + "output":{ + "shape":"StopStackSetOperationOutput", + "resultWrapper":"StopStackSetOperationResult" + }, + "errors":[ + {"shape":"StackSetNotFoundException"}, + {"shape":"OperationNotFoundException"}, + {"shape":"InvalidOperationException"} + ] + }, "UpdateStack":{ "name":"UpdateStack", "http":{ @@ -333,6 +530,37 @@ {"shape":"TokenAlreadyExistsException"} ] }, + "UpdateStackSet":{ + "name":"UpdateStackSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateStackSetInput"}, + "output":{ + "shape":"UpdateStackSetOutput", + "resultWrapper":"UpdateStackSetResult" + }, + "errors":[ + {"shape":"StackSetNotFoundException"}, + {"shape":"OperationInProgressException"}, + {"shape":"OperationIdAlreadyExistsException"}, + {"shape":"StaleRequestException"}, + {"shape":"InvalidOperationException"} + ] + }, + "UpdateTerminationProtection":{ + "name":"UpdateTerminationProtection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateTerminationProtectionInput"}, + "output":{ + "shape":"UpdateTerminationProtectionOutput", + "resultWrapper":"UpdateTerminationProtectionResult" + } + }, "ValidateTemplate":{ "name":"ValidateTemplate", "http":{ @@ -347,6 +575,26 @@ } }, "shapes":{ + "Account":{ + "type":"string", + "pattern":"[0-9]{12}" + }, + "AccountGateResult":{ + "type":"structure", + "members":{ + "Status":{"shape":"AccountGateStatus"}, + "StatusReason":{"shape":"AccountGateStatusReason"} + } + }, + "AccountGateStatus":{ + "type":"string", + "enum":[ + "SUCCEEDED", + "FAILED", + "SKIPPED" + ] + }, + "AccountGateStatusReason":{"type":"string"}, "AccountLimit":{ "type":"structure", "members":{ @@ -358,6 +606,10 @@ "type":"list", "member":{"shape":"AccountLimit"} }, + "AccountList":{ + "type":"list", + "member":{"shape":"Account"} + }, "AllowedValue":{"type":"string"}, "AllowedValues":{ "type":"list", @@ -374,6 +626,7 @@ }, "exception":true }, + "Arn":{"type":"string"}, "CancelUpdateStackInput":{ "type":"structure", "required":["StackName"], @@ -496,7 +749,7 @@ "type":"string", "max":128, "min":1, - "pattern":"[a-zA-Z][-a-zA-Z0-9]*" + "pattern":"[a-zA-Z0-9][-a-zA-Z0-9]*" }, "ClientToken":{ "type":"string", @@ -533,6 +786,7 @@ "Capabilities":{"shape":"Capabilities"}, "ResourceTypes":{"shape":"ResourceTypes"}, "RoleARN":{"shape":"RoleARN"}, + "RollbackConfiguration":{"shape":"RollbackConfiguration"}, "NotificationARNs":{"shape":"NotificationARNs"}, "Tags":{"shape":"Tags"}, "ChangeSetName":{"shape":"ChangeSetName"}, @@ -557,6 +811,7 @@ "TemplateURL":{"shape":"TemplateURL"}, "Parameters":{"shape":"Parameters"}, "DisableRollback":{"shape":"DisableRollback"}, + "RollbackConfiguration":{"shape":"RollbackConfiguration"}, "TimeoutInMinutes":{"shape":"TimeoutMinutes"}, "NotificationARNs":{"shape":"NotificationARNs"}, "Capabilities":{"shape":"Capabilities"}, @@ -566,7 +821,32 @@ "StackPolicyBody":{"shape":"StackPolicyBody"}, "StackPolicyURL":{"shape":"StackPolicyURL"}, "Tags":{"shape":"Tags"}, - "ClientRequestToken":{"shape":"ClientRequestToken"} + "ClientRequestToken":{"shape":"ClientRequestToken"}, + "EnableTerminationProtection":{"shape":"EnableTerminationProtection"} + } + }, + "CreateStackInstancesInput":{ + "type":"structure", + "required":[ + "StackSetName", + "Accounts", + "Regions" + ], + "members":{ + "StackSetName":{"shape":"StackSetName"}, + "Accounts":{"shape":"AccountList"}, + "Regions":{"shape":"RegionList"}, + "OperationPreferences":{"shape":"StackSetOperationPreferences"}, + "OperationId":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } + } + }, + "CreateStackInstancesOutput":{ + "type":"structure", + "members":{ + "OperationId":{"shape":"ClientRequestToken"} } }, "CreateStackOutput":{ @@ -575,6 +855,40 @@ "StackId":{"shape":"StackId"} } }, + "CreateStackSetInput":{ + "type":"structure", + "required":["StackSetName"], + "members":{ + "StackSetName":{"shape":"StackSetName"}, + "Description":{"shape":"Description"}, + "TemplateBody":{"shape":"TemplateBody"}, + "TemplateURL":{"shape":"TemplateURL"}, + "Parameters":{"shape":"Parameters"}, + "Capabilities":{"shape":"Capabilities"}, + "Tags":{"shape":"Tags"}, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } + } + }, + "CreateStackSetOutput":{ + "type":"structure", + "members":{ + "StackSetId":{"shape":"StackSetId"} + } + }, + "CreatedButModifiedException":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"CreatedButModifiedException", + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, "CreationTime":{"type":"timestamp"}, "DeleteChangeSetInput":{ "type":"structure", @@ -599,6 +913,44 @@ "ClientRequestToken":{"shape":"ClientRequestToken"} } }, + "DeleteStackInstancesInput":{ + "type":"structure", + "required":[ + "StackSetName", + "Accounts", + "Regions", + "RetainStacks" + ], + "members":{ + "StackSetName":{"shape":"StackSetName"}, + "Accounts":{"shape":"AccountList"}, + "Regions":{"shape":"RegionList"}, + "OperationPreferences":{"shape":"StackSetOperationPreferences"}, + "RetainStacks":{"shape":"RetainStacks"}, + "OperationId":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } + } + }, + "DeleteStackInstancesOutput":{ + "type":"structure", + "members":{ + "OperationId":{"shape":"ClientRequestToken"} + } + }, + "DeleteStackSetInput":{ + "type":"structure", + "required":["StackSetName"], + "members":{ + "StackSetName":{"shape":"StackSetName"} + } + }, + "DeleteStackSetOutput":{ + "type":"structure", + "members":{ + } + }, "DeletionTime":{"type":"timestamp"}, "DescribeAccountLimitsInput":{ "type":"structure", @@ -636,6 +988,7 @@ "Status":{"shape":"ChangeSetStatus"}, "StatusReason":{"shape":"ChangeSetStatusReason"}, "NotificationARNs":{"shape":"NotificationARNs"}, + "RollbackConfiguration":{"shape":"RollbackConfiguration"}, "Capabilities":{"shape":"Capabilities"}, "Tags":{"shape":"Tags"}, "Changes":{"shape":"Changes"}, @@ -656,6 +1009,25 @@ "NextToken":{"shape":"NextToken"} } }, + "DescribeStackInstanceInput":{ + "type":"structure", + "required":[ + "StackSetName", + "StackInstanceAccount", + "StackInstanceRegion" + ], + "members":{ + "StackSetName":{"shape":"StackSetName"}, + "StackInstanceAccount":{"shape":"Account"}, + "StackInstanceRegion":{"shape":"Region"} + } + }, + "DescribeStackInstanceOutput":{ + "type":"structure", + "members":{ + "StackInstance":{"shape":"StackInstance"} + } + }, "DescribeStackResourceInput":{ "type":"structure", "required":[ @@ -687,6 +1059,36 @@ "StackResources":{"shape":"StackResources"} } }, + "DescribeStackSetInput":{ + "type":"structure", + "required":["StackSetName"], + "members":{ + "StackSetName":{"shape":"StackSetName"} + } + }, + "DescribeStackSetOperationInput":{ + "type":"structure", + "required":[ + "StackSetName", + "OperationId" + ], + "members":{ + "StackSetName":{"shape":"StackSetName"}, + "OperationId":{"shape":"ClientRequestToken"} + } + }, + "DescribeStackSetOperationOutput":{ + "type":"structure", + "members":{ + "StackSetOperation":{"shape":"StackSetOperation"} + } + }, + "DescribeStackSetOutput":{ + "type":"structure", + "members":{ + "StackSet":{"shape":"StackSet"} + } + }, "DescribeStacksInput":{ "type":"structure", "members":{ @@ -707,6 +1109,7 @@ "min":1 }, "DisableRollback":{"type":"boolean"}, + "EnableTerminationProtection":{"type":"boolean"}, "EstimateTemplateCostInput":{ "type":"structure", "members":{ @@ -768,6 +1171,15 @@ "type":"list", "member":{"shape":"Export"} }, + "FailureToleranceCount":{ + "type":"integer", + "min":0 + }, + "FailureTolerancePercentage":{ + "type":"integer", + "max":100, + "min":0 + }, "GetStackPolicyInput":{ "type":"structure", "required":["StackName"], @@ -801,7 +1213,8 @@ "members":{ "TemplateBody":{"shape":"TemplateBody"}, "TemplateURL":{"shape":"TemplateURL"}, - "StackName":{"shape":"StackNameOrId"} + "StackName":{"shape":"StackNameOrId"}, + "StackSetName":{"shape":"StackSetNameOrId"} } }, "GetTemplateSummaryOutput":{ @@ -843,6 +1256,17 @@ }, "exception":true }, + "InvalidOperationException":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"InvalidOperationException", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "LastUpdatedTime":{"type":"timestamp"}, "LimitExceededException":{ "type":"structure", @@ -900,6 +1324,24 @@ "NextToken":{"shape":"NextToken"} } }, + "ListStackInstancesInput":{ + "type":"structure", + "required":["StackSetName"], + "members":{ + "StackSetName":{"shape":"StackSetName"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"}, + "StackInstanceAccount":{"shape":"Account"}, + "StackInstanceRegion":{"shape":"Region"} + } + }, + "ListStackInstancesOutput":{ + "type":"structure", + "members":{ + "Summaries":{"shape":"StackInstanceSummaries"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListStackResourcesInput":{ "type":"structure", "required":["StackName"], @@ -915,6 +1357,57 @@ "NextToken":{"shape":"NextToken"} } }, + "ListStackSetOperationResultsInput":{ + "type":"structure", + "required":[ + "StackSetName", + "OperationId" + ], + "members":{ + "StackSetName":{"shape":"StackSetName"}, + "OperationId":{"shape":"ClientRequestToken"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "ListStackSetOperationResultsOutput":{ + "type":"structure", + "members":{ + "Summaries":{"shape":"StackSetOperationResultSummaries"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListStackSetOperationsInput":{ + "type":"structure", + "required":["StackSetName"], + "members":{ + "StackSetName":{"shape":"StackSetName"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "ListStackSetOperationsOutput":{ + "type":"structure", + "members":{ + "Summaries":{"shape":"StackSetOperationSummaries"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListStackSetsInput":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"}, + "Status":{"shape":"StackSetStatus"} + } + }, + "ListStackSetsOutput":{ + "type":"structure", + "members":{ + "Summaries":{"shape":"StackSetSummaries"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListStacksInput":{ "type":"structure", "members":{ @@ -930,7 +1423,37 @@ } }, "LogicalResourceId":{"type":"string"}, + "MaxConcurrentCount":{ + "type":"integer", + "min":1 + }, + "MaxConcurrentPercentage":{ + "type":"integer", + "max":100, + "min":1 + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, "Metadata":{"type":"string"}, + "MonitoringTimeInMinutes":{ + "type":"integer", + "max":180, + "min":0 + }, + "NameAlreadyExistsException":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"NameAlreadyExistsException", + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, "NextToken":{ "type":"string", "max":1024, @@ -951,12 +1474,46 @@ "DELETE" ] }, + "OperationIdAlreadyExistsException":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"OperationIdAlreadyExistsException", + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "OperationInProgressException":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"OperationInProgressException", + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "OperationNotFoundException":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"OperationNotFoundException", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, "Output":{ "type":"structure", "members":{ "OutputKey":{"shape":"OutputKey"}, "OutputValue":{"shape":"OutputValue"}, - "Description":{"shape":"Description"} + "Description":{"shape":"Description"}, + "ExportName":{"shape":"ExportName"} } }, "OutputKey":{"type":"string"}, @@ -1003,6 +1560,12 @@ }, "PhysicalResourceId":{"type":"string"}, "PropertyName":{"type":"string"}, + "Reason":{"type":"string"}, + "Region":{"type":"string"}, + "RegionList":{ + "type":"list", + "member":{"shape":"Region"} + }, "Replacement":{ "type":"string", "enum":[ @@ -1113,11 +1676,36 @@ "type":"list", "member":{"shape":"LogicalResourceId"} }, + "RetainStacks":{"type":"boolean"}, + "RetainStacksNullable":{"type":"boolean"}, "RoleARN":{ "type":"string", "max":2048, "min":20 }, + "RollbackConfiguration":{ + "type":"structure", + "members":{ + "RollbackTriggers":{"shape":"RollbackTriggers"}, + "MonitoringTimeInMinutes":{"shape":"MonitoringTimeInMinutes"} + } + }, + "RollbackTrigger":{ + "type":"structure", + "required":[ + "Arn", + "Type" + ], + "members":{ + "Arn":{"shape":"Arn"}, + "Type":{"shape":"Type"} + } + }, + "RollbackTriggers":{ + "type":"list", + "member":{"shape":"RollbackTrigger"}, + "max":5 + }, "Scope":{ "type":"list", "member":{"shape":"ResourceAttribute"} @@ -1160,7 +1748,9 @@ "Description":{"shape":"Description"}, "Parameters":{"shape":"Parameters"}, "CreationTime":{"shape":"CreationTime"}, + "DeletionTime":{"shape":"DeletionTime"}, "LastUpdatedTime":{"shape":"LastUpdatedTime"}, + "RollbackConfiguration":{"shape":"RollbackConfiguration"}, "StackStatus":{"shape":"StackStatus"}, "StackStatusReason":{"shape":"StackStatusReason"}, "DisableRollback":{"shape":"DisableRollback"}, @@ -1169,7 +1759,10 @@ "Capabilities":{"shape":"Capabilities"}, "Outputs":{"shape":"Outputs"}, "RoleARN":{"shape":"RoleARN"}, - "Tags":{"shape":"Tags"} + "Tags":{"shape":"Tags"}, + "EnableTerminationProtection":{"shape":"EnableTerminationProtection"}, + "ParentId":{"shape":"StackId"}, + "RootId":{"shape":"StackId"} } }, "StackEvent":{ @@ -1199,6 +1792,51 @@ "member":{"shape":"StackEvent"} }, "StackId":{"type":"string"}, + "StackInstance":{ + "type":"structure", + "members":{ + "StackSetId":{"shape":"StackSetId"}, + "Region":{"shape":"Region"}, + "Account":{"shape":"Account"}, + "StackId":{"shape":"StackId"}, + "Status":{"shape":"StackInstanceStatus"}, + "StatusReason":{"shape":"Reason"} + } + }, + "StackInstanceNotFoundException":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"StackInstanceNotFoundException", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "StackInstanceStatus":{ + "type":"string", + "enum":[ + "CURRENT", + "OUTDATED", + "INOPERABLE" + ] + }, + "StackInstanceSummaries":{ + "type":"list", + "member":{"shape":"StackInstanceSummary"} + }, + "StackInstanceSummary":{ + "type":"structure", + "members":{ + "StackSetId":{"shape":"StackSetId"}, + "Region":{"shape":"Region"}, + "Account":{"shape":"Account"}, + "StackId":{"shape":"StackId"}, + "Status":{"shape":"StackInstanceStatus"}, + "StatusReason":{"shape":"Reason"} + } + }, "StackName":{"type":"string"}, "StackNameOrId":{ "type":"string", @@ -1291,6 +1929,147 @@ "type":"list", "member":{"shape":"StackResource"} }, + "StackSet":{ + "type":"structure", + "members":{ + "StackSetName":{"shape":"StackSetName"}, + "StackSetId":{"shape":"StackSetId"}, + "Description":{"shape":"Description"}, + "Status":{"shape":"StackSetStatus"}, + "TemplateBody":{"shape":"TemplateBody"}, + "Parameters":{"shape":"Parameters"}, + "Capabilities":{"shape":"Capabilities"}, + "Tags":{"shape":"Tags"} + } + }, + "StackSetId":{"type":"string"}, + "StackSetName":{"type":"string"}, + "StackSetNameOrId":{ + "type":"string", + "min":1, + "pattern":"[a-zA-Z][-a-zA-Z0-9]*" + }, + "StackSetNotEmptyException":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"StackSetNotEmptyException", + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "StackSetNotFoundException":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"StackSetNotFoundException", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "StackSetOperation":{ + "type":"structure", + "members":{ + "OperationId":{"shape":"ClientRequestToken"}, + "StackSetId":{"shape":"StackSetId"}, + "Action":{"shape":"StackSetOperationAction"}, + "Status":{"shape":"StackSetOperationStatus"}, + "OperationPreferences":{"shape":"StackSetOperationPreferences"}, + "RetainStacks":{"shape":"RetainStacksNullable"}, + "CreationTimestamp":{"shape":"Timestamp"}, + "EndTimestamp":{"shape":"Timestamp"} + } + }, + "StackSetOperationAction":{ + "type":"string", + "enum":[ + "CREATE", + "UPDATE", + "DELETE" + ] + }, + "StackSetOperationPreferences":{ + "type":"structure", + "members":{ + "RegionOrder":{"shape":"RegionList"}, + "FailureToleranceCount":{"shape":"FailureToleranceCount"}, + "FailureTolerancePercentage":{"shape":"FailureTolerancePercentage"}, + "MaxConcurrentCount":{"shape":"MaxConcurrentCount"}, + "MaxConcurrentPercentage":{"shape":"MaxConcurrentPercentage"} + } + }, + "StackSetOperationResultStatus":{ + "type":"string", + "enum":[ + "PENDING", + "RUNNING", + "SUCCEEDED", + "FAILED", + "CANCELLED" + ] + }, + "StackSetOperationResultSummaries":{ + "type":"list", + "member":{"shape":"StackSetOperationResultSummary"} + }, + "StackSetOperationResultSummary":{ + "type":"structure", + "members":{ + "Account":{"shape":"Account"}, + "Region":{"shape":"Region"}, + "Status":{"shape":"StackSetOperationResultStatus"}, + "StatusReason":{"shape":"Reason"}, + "AccountGateResult":{"shape":"AccountGateResult"} + } + }, + "StackSetOperationStatus":{ + "type":"string", + "enum":[ + "RUNNING", + "SUCCEEDED", + "FAILED", + "STOPPING", + "STOPPED" + ] + }, + "StackSetOperationSummaries":{ + "type":"list", + "member":{"shape":"StackSetOperationSummary"} + }, + "StackSetOperationSummary":{ + "type":"structure", + "members":{ + "OperationId":{"shape":"ClientRequestToken"}, + "Action":{"shape":"StackSetOperationAction"}, + "Status":{"shape":"StackSetOperationStatus"}, + "CreationTimestamp":{"shape":"Timestamp"}, + "EndTimestamp":{"shape":"Timestamp"} + } + }, + "StackSetStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "DELETED" + ] + }, + "StackSetSummaries":{ + "type":"list", + "member":{"shape":"StackSetSummary"} + }, + "StackSetSummary":{ + "type":"structure", + "members":{ + "StackSetName":{"shape":"StackSetName"}, + "StackSetId":{"shape":"StackSetId"}, + "Description":{"shape":"Description"}, + "Status":{"shape":"StackSetStatus"} + } + }, "StackStatus":{ "type":"string", "enum":[ @@ -1337,7 +2116,9 @@ "LastUpdatedTime":{"shape":"LastUpdatedTime"}, "DeletionTime":{"shape":"DeletionTime"}, "StackStatus":{"shape":"StackStatus"}, - "StackStatusReason":{"shape":"StackStatusReason"} + "StackStatusReason":{"shape":"StackStatusReason"}, + "ParentId":{"shape":"StackId"}, + "RootId":{"shape":"StackId"} } }, "Stacks":{ @@ -1348,18 +2129,58 @@ "type":"list", "member":{"shape":"TemplateStage"} }, + "StaleRequestException":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"StaleRequestException", + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "StopStackSetOperationInput":{ + "type":"structure", + "required":[ + "StackSetName", + "OperationId" + ], + "members":{ + "StackSetName":{"shape":"StackSetName"}, + "OperationId":{"shape":"ClientRequestToken"} + } + }, + "StopStackSetOperationOutput":{ + "type":"structure", + "members":{ + } + }, "Tag":{ "type":"structure", + "required":[ + "Key", + "Value" + ], "members":{ "Key":{"shape":"TagKey"}, "Value":{"shape":"TagValue"} } }, - "TagKey":{"type":"string"}, - "TagValue":{"type":"string"}, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagValue":{ + "type":"string", + "max":256, + "min":1 + }, "Tags":{ "type":"list", - "member":{"shape":"Tag"} + "member":{"shape":"Tag"}, + "max":50 }, "TemplateBody":{ "type":"string", @@ -1412,6 +2233,7 @@ "type":"list", "member":{"shape":"TransformName"} }, + "Type":{"type":"string"}, "UpdateStackInput":{ "type":"structure", "required":["StackName"], @@ -1426,6 +2248,7 @@ "Capabilities":{"shape":"Capabilities"}, "ResourceTypes":{"shape":"ResourceTypes"}, "RoleARN":{"shape":"RoleARN"}, + "RollbackConfiguration":{"shape":"RollbackConfiguration"}, "StackPolicyBody":{"shape":"StackPolicyBody"}, "StackPolicyURL":{"shape":"StackPolicyURL"}, "NotificationARNs":{"shape":"NotificationARNs"}, @@ -1439,6 +2262,48 @@ "StackId":{"shape":"StackId"} } }, + "UpdateStackSetInput":{ + "type":"structure", + "required":["StackSetName"], + "members":{ + "StackSetName":{"shape":"StackSetName"}, + "Description":{"shape":"Description"}, + "TemplateBody":{"shape":"TemplateBody"}, + "TemplateURL":{"shape":"TemplateURL"}, + "UsePreviousTemplate":{"shape":"UsePreviousTemplate"}, + "Parameters":{"shape":"Parameters"}, + "Capabilities":{"shape":"Capabilities"}, + "Tags":{"shape":"Tags"}, + "OperationPreferences":{"shape":"StackSetOperationPreferences"}, + "OperationId":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } + } + }, + "UpdateStackSetOutput":{ + "type":"structure", + "members":{ + "OperationId":{"shape":"ClientRequestToken"} + } + }, + "UpdateTerminationProtectionInput":{ + "type":"structure", + "required":[ + "EnableTerminationProtection", + "StackName" + ], + "members":{ + "EnableTerminationProtection":{"shape":"EnableTerminationProtection"}, + "StackName":{"shape":"StackNameOrId"} + } + }, + "UpdateTerminationProtectionOutput":{ + "type":"structure", + "members":{ + "StackId":{"shape":"StackId"} + } + }, "Url":{"type":"string"}, "UsePreviousTemplate":{"type":"boolean"}, "UsePreviousValue":{"type":"boolean"}, diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/cloudformation/2010-05-15/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/cloudformation/2010-05-15/docs-2.json index 18072cbf7..0b7c5a7db 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/cloudformation/2010-05-15/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/cloudformation/2010-05-15/docs-2.json @@ -6,30 +6,73 @@ "ContinueUpdateRollback": "

For a specified stack that is in the UPDATE_ROLLBACK_FAILED state, continues rolling it back to the UPDATE_ROLLBACK_COMPLETE state. Depending on the cause of the failure, you can manually fix the error and continue the rollback. By continuing the rollback, you can return your stack to a working state (the UPDATE_ROLLBACK_COMPLETE state), and then try to update the stack again.

A stack goes into the UPDATE_ROLLBACK_FAILED state when AWS CloudFormation cannot roll back all changes after a failed stack update. For example, you might have a stack that is rolling back to an old database instance that was deleted outside of AWS CloudFormation. Because AWS CloudFormation doesn't know the database was deleted, it assumes that the database instance still exists and attempts to roll back to it, causing the update rollback to fail.

", "CreateChangeSet": "

Creates a list of changes that will be applied to a stack so that you can review the changes before executing them. You can create a change set for a stack that doesn't exist or an existing stack. If you create a change set for a stack that doesn't exist, the change set shows all of the resources that AWS CloudFormation will create. If you create a change set for an existing stack, AWS CloudFormation compares the stack's information with the information that you submit in the change set and lists the differences. Use change sets to understand which resources AWS CloudFormation will create or change, and how it will change resources in an existing stack, before you create or update a stack.

To create a change set for a stack that doesn't exist, for the ChangeSetType parameter, specify CREATE. To create a change set for an existing stack, specify UPDATE for the ChangeSetType parameter. After the CreateChangeSet call successfully completes, AWS CloudFormation starts creating the change set. To check the status of the change set or to review it, use the DescribeChangeSet action.

When you are satisfied with the changes the change set will make, execute the change set by using the ExecuteChangeSet action. AWS CloudFormation doesn't make changes until you execute the change set.

", "CreateStack": "

Creates a stack as specified in the template. After the call completes successfully, the stack creation starts. You can check the status of the stack via the DescribeStacks API.

", + "CreateStackInstances": "

Creates stack instances for the specified accounts, within the specified regions. A stack instance refers to a stack in a specific account and region. Accounts and Regions are required parameters—you must specify at least one account and one region.

", + "CreateStackSet": "

Creates a stack set.

", "DeleteChangeSet": "

Deletes the specified change set. Deleting change sets ensures that no one executes the wrong change set.

If the call successfully completes, AWS CloudFormation successfully deleted the change set.

", "DeleteStack": "

Deletes a specified stack. Once the call completes successfully, stack deletion starts. Deleted stacks do not show up in the DescribeStacks API if the deletion has been completed successfully.

", + "DeleteStackInstances": "

Deletes stack instances for the specified accounts, in the specified regions.

", + "DeleteStackSet": "

Deletes a stack set. Before you can delete a stack set, all of its member stack instances must be deleted. For more information about how to do this, see DeleteStackInstances.

", "DescribeAccountLimits": "

Retrieves your account's AWS CloudFormation limits, such as the maximum number of stacks that you can create in your account.

", "DescribeChangeSet": "

Returns the inputs for the change set and a list of changes that AWS CloudFormation will make if you execute the change set. For more information, see Updating Stacks Using Change Sets in the AWS CloudFormation User Guide.

", "DescribeStackEvents": "

Returns all stack related events for a specified stack in reverse chronological order. For more information about a stack's event history, go to Stacks in the AWS CloudFormation User Guide.

You can list events for stacks that have failed to create or have been deleted by specifying the unique stack identifier (stack ID).

", + "DescribeStackInstance": "

Returns the stack instance that's associated with the specified stack set, AWS account, and region.

For a list of stack instances that are associated with a specific stack set, use ListStackInstances.

", "DescribeStackResource": "

Returns a description of the specified resource in the specified stack.

For deleted stacks, DescribeStackResource returns resource information for up to 90 days after the stack has been deleted.

", "DescribeStackResources": "

Returns AWS resource descriptions for running and deleted stacks. If StackName is specified, all the associated resources that are part of the stack are returned. If PhysicalResourceId is specified, the associated resources of the stack that the resource belongs to are returned.

Only the first 100 resources will be returned. If your stack has more resources than this, you should use ListStackResources instead.

For deleted stacks, DescribeStackResources returns resource information for up to 90 days after the stack has been deleted.

You must specify either StackName or PhysicalResourceId, but not both. In addition, you can specify LogicalResourceId to filter the returned result. For more information about resources, the LogicalResourceId and PhysicalResourceId, go to the AWS CloudFormation User Guide.

A ValidationError is returned if you specify both StackName and PhysicalResourceId in the same request.

", + "DescribeStackSet": "

Returns the description of the specified stack set.

", + "DescribeStackSetOperation": "

Returns the description of the specified stack set operation.

", "DescribeStacks": "

Returns the description for the specified stack; if no stack name was specified, then it returns the description for all the stacks created.

If the stack does not exist, an AmazonCloudFormationException is returned.

", "EstimateTemplateCost": "

Returns the estimated monthly cost of a template. The return value is an AWS Simple Monthly Calculator URL with a query string that describes the resources required to run the template.

", "ExecuteChangeSet": "

Updates a stack using the input information that was provided when the specified change set was created. After the call successfully completes, AWS CloudFormation starts updating the stack. Use the DescribeStacks action to view the status of the update.

When you execute a change set, AWS CloudFormation deletes all other change sets associated with the stack because they aren't valid for the updated stack.

If a stack policy is associated with the stack, AWS CloudFormation enforces the policy during the update. You can't specify a temporary stack policy that overrides the current policy.

", "GetStackPolicy": "

Returns the stack policy for a specified stack. If a stack doesn't have a policy, a null value is returned.

", "GetTemplate": "

Returns the template body for a specified stack. You can get the template for running or deleted stacks.

For deleted stacks, GetTemplate returns the template for up to 90 days after the stack has been deleted.

If the template does not exist, a ValidationError is returned.

", - "GetTemplateSummary": "

Returns information about a new or existing template. The GetTemplateSummary action is useful for viewing parameter information, such as default parameter values and parameter types, before you create or update a stack.

You can use the GetTemplateSummary action when you submit a template, or you can get template information for a running or deleted stack.

For deleted stacks, GetTemplateSummary returns the template information for up to 90 days after the stack has been deleted. If the template does not exist, a ValidationError is returned.

", + "GetTemplateSummary": "

Returns information about a new or existing template. The GetTemplateSummary action is useful for viewing parameter information, such as default parameter values and parameter types, before you create or update a stack or stack set.

You can use the GetTemplateSummary action when you submit a template, or you can get template information for a stack set, or a running or deleted stack.

For deleted stacks, GetTemplateSummary returns the template information for up to 90 days after the stack has been deleted. If the template does not exist, a ValidationError is returned.

", "ListChangeSets": "

Returns the ID and status of each active change set for a stack. For example, AWS CloudFormation lists change sets that are in the CREATE_IN_PROGRESS or CREATE_PENDING state.

", "ListExports": "

Lists all exported output values in the account and region in which you call this action. Use this action to see the exported output values that you can import into other stacks. To import values, use the Fn::ImportValue function.

For more information, see AWS CloudFormation Export Stack Output Values.

", "ListImports": "

Lists all stacks that are importing an exported output value. To modify or remove an exported output value, first use this action to see which stacks are using it. To see the exported output values in your account, see ListExports.

For more information about importing an exported output value, see the Fn::ImportValue function.

", + "ListStackInstances": "

Returns summary information about stack instances that are associated with the specified stack set. You can filter for stack instances that are associated with a specific AWS account name or region.

", "ListStackResources": "

Returns descriptions of all resources of the specified stack.

For deleted stacks, ListStackResources returns resource information for up to 90 days after the stack has been deleted.

", + "ListStackSetOperationResults": "

Returns summary information about the results of a stack set operation.

", + "ListStackSetOperations": "

Returns summary information about operations performed on a stack set.

", + "ListStackSets": "

Returns summary information about stack sets that are associated with the user.

", "ListStacks": "

Returns the summary information for stacks whose status matches the specified StackStatusFilter. Summary information for stacks that have been deleted is kept for 90 days after the stack is deleted. If no StackStatusFilter is specified, summary information for all stacks is returned (including existing stacks and stacks that have been deleted).

", "SetStackPolicy": "

Sets a stack policy for a specified stack.

", "SignalResource": "

Sends a signal to the specified resource with a success or failure status. You can use the SignalResource API in conjunction with a creation policy or update policy. AWS CloudFormation doesn't proceed with a stack creation or update until resources receive the required number of signals or the timeout period is exceeded. The SignalResource API is useful in cases where you want to send signals from anywhere other than an Amazon EC2 instance.

", + "StopStackSetOperation": "

Stops an in-progress operation on a stack set and its associated stack instances.

", "UpdateStack": "

Updates a stack as specified in the template. After the call completes successfully, the stack update starts. You can check the status of the stack via the DescribeStacks action.

To get a copy of the template for an existing stack, you can use the GetTemplate action.

For more information about creating an update template, updating a stack, and monitoring the progress of the update, see Updating a Stack.

", + "UpdateStackSet": "

Updates the stack set and all associated stack instances.

Even if the stack set operation created by updating the stack set fails (completely or partially, below or above a specified failure tolerance), the stack set is updated with your changes. Subsequent CreateStackInstances calls on the specified stack set use the updated stack set.

", + "UpdateTerminationProtection": "

Updates termination protection for the specified stack. If a user attempts to delete a stack with termination protection enabled, the operation fails and the stack remains unchanged. For more information, see Protecting a Stack From Being Deleted in the AWS CloudFormation User Guide.

For nested stacks, termination protection is set on the root stack and cannot be changed directly on the nested stack.

", "ValidateTemplate": "

Validates a specified template. AWS CloudFormation first checks if the template is valid JSON. If it isn't, AWS CloudFormation checks if the template is valid YAML. If both these checks fail, AWS CloudFormation returns a template validation error.

" }, "shapes": { + "Account": { + "base": null, + "refs": { + "AccountList$member": null, + "DescribeStackInstanceInput$StackInstanceAccount": "

The ID of an AWS account that's associated with this stack instance.

", + "ListStackInstancesInput$StackInstanceAccount": "

The name of the AWS account that you want to list stack instances for.

", + "StackInstance$Account": "

The name of the AWS account that the stack instance is associated with.

", + "StackInstanceSummary$Account": "

The name of the AWS account that the stack instance is associated with.

", + "StackSetOperationResultSummary$Account": "

The name of the AWS account for this operation result.

" + } + }, + "AccountGateResult": { + "base": "

Structure that contains the results of the account gate function which AWS CloudFormation invokes, if present, before proceeding with a stack set operation in an account and region.

For each account and region, AWS CloudFormation lets you specify a Lamdba function that encapsulates any requirements that must be met before CloudFormation can proceed with a stack set operation in that account and region. CloudFormation invokes the function each time a stack set operation is requested for that account and region; if the function returns FAILED, CloudFormation cancels the operation in that account and region, and sets the stack set operation result status for that account and region to FAILED.

For more information, see Configuring a target account gate.

", + "refs": { + "StackSetOperationResultSummary$AccountGateResult": "

The results of the account gate function AWS CloudFormation invokes, if present, before proceeding with stack set operations in an account

" + } + }, + "AccountGateStatus": { + "base": null, + "refs": { + "AccountGateResult$Status": "

The status of the account gate function.

  • SUCCEEDED: The account gate function has determined that the account and region passes any requirements for a stack set operation to occur. AWS CloudFormation proceeds with the stack operation in that account and region.

  • FAILED: The account gate function has determined that the account and region does not meet the requirements for a stack set operation to occur. AWS CloudFormation cancels the stack set operation in that account and region, and sets the stack set operation result status for that account and region to FAILED.

  • SKIPPED: AWS CloudFormation has skipped calling the account gate function for this account and region, for one of the following reasons:

    • An account gate function has not been specified for the account and region. AWS CloudFormation proceeds with the stack set operation in this account and region.

    • The AWSCloudFormationStackSetExecutionRole of the stack set adminstration account lacks permissions to invoke the function. AWS CloudFormation proceeds with the stack set operation in this account and region.

    • Either no action is necessary, or no action is possible, on the stack. AWS CloudFormation skips the stack set operation in this account and region.

" + } + }, + "AccountGateStatusReason": { + "base": null, + "refs": { + "AccountGateResult$StatusReason": "

The reason for the account gate status assigned to this account and region for the stack set operation.

" + } + }, "AccountLimit": { "base": "

The AccountLimit data type.

", "refs": { @@ -42,6 +85,13 @@ "DescribeAccountLimitsOutput$AccountLimits": "

An account limit structure that contain a list of AWS CloudFormation account limits and their values.

" } }, + "AccountList": { + "base": null, + "refs": { + "CreateStackInstancesInput$Accounts": "

The names of one or more AWS accounts that you want to create stack instances in the specified region(s) for.

", + "DeleteStackInstancesInput$Accounts": "

The names of the AWS accounts that you want to delete stack instances for.

" + } + }, "AllowedValue": { "base": null, "refs": { @@ -55,10 +105,16 @@ } }, "AlreadyExistsException": { - "base": "

Resource with the name requested already exists.

", + "base": "

The resource with the name requested already exists.

", "refs": { } }, + "Arn": { + "base": null, + "refs": { + "RollbackTrigger$Arn": "

The Amazon Resource Name (ARN) of the rollback trigger.

" + } + }, "CancelUpdateStackInput": { "base": "

The input for the CancelUpdateStack action.

", "refs": { @@ -69,10 +125,13 @@ "refs": { "CreateChangeSetInput$Capabilities": "

A list of values that you must specify before AWS CloudFormation can update certain stacks. Some stack templates might include resources that can affect permissions in your AWS account, for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge their capabilities by specifying this parameter.

The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following resources require you to specify this parameter: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, and AWS::IAM::UserToGroupAddition. If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't specify this parameter, this action returns an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

", "CreateStackInput$Capabilities": "

A list of values that you must specify before AWS CloudFormation can create certain stacks. Some stack templates might include resources that can affect permissions in your AWS account, for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge their capabilities by specifying this parameter.

The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following resources require you to specify this parameter: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, and AWS::IAM::UserToGroupAddition. If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't specify this parameter, this action returns an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

", + "CreateStackSetInput$Capabilities": "

A list of values that you must specify before AWS CloudFormation can create certain stack sets. Some stack set templates might include resources that can affect permissions in your AWS account—for example, by creating new AWS Identity and Access Management (IAM) users. For those stack sets, you must explicitly acknowledge their capabilities by specifying this parameter.

The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following resources require you to specify this parameter:

  • AWS::IAM::AccessKey

  • AWS::IAM::Group

  • AWS::IAM::InstanceProfile

  • AWS::IAM::Policy

  • AWS::IAM::Role

  • AWS::IAM::User

  • AWS::IAM::UserToGroupAddition

If your stack template contains these resources, we recommend that you review all permissions that are associated with them and edit their permissions if necessary.

If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't specify this parameter, this action returns an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

", "DescribeChangeSetOutput$Capabilities": "

If you execute the change set, the list of capabilities that were explicitly acknowledged when the change set was created.

", "GetTemplateSummaryOutput$Capabilities": "

The capabilities found within the template. If your template contains IAM resources, you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value for this parameter when you use the CreateStack or UpdateStack actions with your template; otherwise, those actions return an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

", "Stack$Capabilities": "

The capabilities allowed in the stack.

", + "StackSet$Capabilities": "

The capabilities that are allowed in the stack set. Some stack set templates might include resources that can affect permissions in your AWS account—for example, by creating new AWS Identity and Access Management (IAM) users. For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

", "UpdateStackInput$Capabilities": "

A list of values that you must specify before AWS CloudFormation can update certain stacks. Some stack templates might include resources that can affect permissions in your AWS account, for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge their capabilities by specifying this parameter.

The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following resources require you to specify this parameter: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, and AWS::IAM::UserToGroupAddition. If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't specify this parameter, this action returns an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

", + "UpdateStackSetInput$Capabilities": "

A list of values that you must specify before AWS CloudFormation can create certain stack sets. Some stack set templates might include resources that can affect permissions in your AWS account—for example, by creating new AWS Identity and Access Management (IAM) users. For those stack sets, you must explicitly acknowledge their capabilities by specifying this parameter.

The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following resources require you to specify this parameter:

  • AWS::IAM::AccessKey

  • AWS::IAM::Group

  • AWS::IAM::InstanceProfile

  • AWS::IAM::Policy

  • AWS::IAM::Role

  • AWS::IAM::User

  • AWS::IAM::UserToGroupAddition

If your stack template contains these resources, we recommend that you review all permissions that are associated with them and edit their permissions if necessary.

If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't specify this parameter, this action returns an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

", "ValidateTemplateOutput$Capabilities": "

The capabilities found within the template. If your template contains IAM resources, you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value for this parameter when you use the CreateStack or UpdateStack actions with your template; otherwise, those actions return an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" } }, @@ -193,11 +252,23 @@ "refs": { "CancelUpdateStackInput$ClientRequestToken": "

A unique identifier for this CancelUpdateStack request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to cancel an update on a stack with the same name. You might retry CancelUpdateStack requests to ensure that AWS CloudFormation successfully received them.

", "ContinueUpdateRollbackInput$ClientRequestToken": "

A unique identifier for this ContinueUpdateRollback request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to continue the rollback to a stack with the same name. You might retry ContinueUpdateRollback requests to ensure that AWS CloudFormation successfully received them.

", - "CreateStackInput$ClientRequestToken": "

A unique identifier for this CreateStack request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to create a stack with the same name. You might retry CreateStack requests to ensure that AWS CloudFormation successfully received them.

", - "DeleteStackInput$ClientRequestToken": "

A unique identifier for this DeleteStack request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to delete a stack with the same name. You might retry DeleteStack requests to ensure that AWS CloudFormation successfully received them.

", + "CreateStackInput$ClientRequestToken": "

A unique identifier for this CreateStack request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to create a stack with the same name. You might retry CreateStack requests to ensure that AWS CloudFormation successfully received them.

All events triggered by a given stack operation are assigned the same client request token, which you can use to track operations. For example, if you execute a CreateStack operation with the token token1, then all the StackEvents generated by that operation will have ClientRequestToken set as token1.

In the console, stack operations display the client request token on the Events tab. Stack operations that are initiated from the console use the token format Console-StackOperation-ID, which helps you easily identify the stack operation . For example, if you create a stack using the console, each stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

", + "CreateStackInstancesInput$OperationId": "

The unique identifier for this stack set operation.

The operation ID also functions as an idempotency token, to ensure that AWS CloudFormation performs the stack set operation only once, even if you retry the request multiple times. You might retry stack set operation requests to ensure that AWS CloudFormation successfully received them.

If you don't specify an operation ID, the SDK generates one automatically.

Repeating this stack set operation with a new operation ID retries all stack instances whose status is OUTDATED.

", + "CreateStackInstancesOutput$OperationId": "

The unique identifier for this stack set operation.

", + "CreateStackSetInput$ClientRequestToken": "

A unique identifier for this CreateStackSet request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to create another stack set with the same name. You might retry CreateStackSet requests to ensure that AWS CloudFormation successfully received them.

If you don't specify an operation ID, the SDK generates one automatically.

", + "DeleteStackInput$ClientRequestToken": "

A unique identifier for this DeleteStack request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to delete a stack with the same name. You might retry DeleteStack requests to ensure that AWS CloudFormation successfully received them.

All events triggered by a given stack operation are assigned the same client request token, which you can use to track operations. For example, if you execute a CreateStack operation with the token token1, then all the StackEvents generated by that operation will have ClientRequestToken set as token1.

In the console, stack operations display the client request token on the Events tab. Stack operations that are initiated from the console use the token format Console-StackOperation-ID, which helps you easily identify the stack operation . For example, if you create a stack using the console, each stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

", + "DeleteStackInstancesInput$OperationId": "

The unique identifier for this stack set operation.

If you don't specify an operation ID, the SDK generates one automatically.

The operation ID also functions as an idempotency token, to ensure that AWS CloudFormation performs the stack set operation only once, even if you retry the request multiple times. You can retry stack set operation requests to ensure that AWS CloudFormation successfully received them.

Repeating this stack set operation with a new operation ID retries all stack instances whose status is OUTDATED.

", + "DeleteStackInstancesOutput$OperationId": "

The unique identifier for this stack set operation.

", + "DescribeStackSetOperationInput$OperationId": "

The unique ID of the stack set operation.

", "ExecuteChangeSetInput$ClientRequestToken": "

A unique identifier for this ExecuteChangeSet request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to execute a change set to update a stack with the same name. You might retry ExecuteChangeSet requests to ensure that AWS CloudFormation successfully received them.

", - "StackEvent$ClientRequestToken": "

The token passed to the operation that generated this event.

For example, if you execute a CreateStack operation with the token token1, then all the StackEvents generated by that operation will have ClientRequestToken set as token1.

", - "UpdateStackInput$ClientRequestToken": "

A unique identifier for this UpdateStack request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to update a stack with the same name. You might retry UpdateStack requests to ensure that AWS CloudFormation successfully received them.

" + "ListStackSetOperationResultsInput$OperationId": "

The ID of the stack set operation.

", + "StackEvent$ClientRequestToken": "

The token passed to the operation that generated this event.

All events triggered by a given stack operation are assigned the same client request token, which you can use to track operations. For example, if you execute a CreateStack operation with the token token1, then all the StackEvents generated by that operation will have ClientRequestToken set as token1.

In the console, stack operations display the client request token on the Events tab. Stack operations that are initiated from the console use the token format Console-StackOperation-ID, which helps you easily identify the stack operation . For example, if you create a stack using the console, each stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

", + "StackSetOperation$OperationId": "

The unique ID of a stack set operation.

", + "StackSetOperationSummary$OperationId": "

The unique ID of the stack set operation.

", + "StopStackSetOperationInput$OperationId": "

The ID of the stack operation.

", + "UpdateStackInput$ClientRequestToken": "

A unique identifier for this UpdateStack request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to update a stack with the same name. You might retry UpdateStack requests to ensure that AWS CloudFormation successfully received them.

All events triggered by a given stack operation are assigned the same client request token, which you can use to track operations. For example, if you execute a CreateStack operation with the token token1, then all the StackEvents generated by that operation will have ClientRequestToken set as token1.

In the console, stack operations display the client request token on the Events tab. Stack operations that are initiated from the console use the token format Console-StackOperation-ID, which helps you easily identify the stack operation . For example, if you create a stack using the console, each stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

", + "UpdateStackSetInput$OperationId": "

The unique ID for this stack set operation.

The operation ID also functions as an idempotency token, to ensure that AWS CloudFormation performs the stack set operation only once, even if you retry the request multiple times. You might retry stack set operation requests to ensure that AWS CloudFormation successfully received them.

If you don't specify an operation ID, AWS CloudFormation generates one automatically.

Repeating this stack set operation with a new operation ID retries all stack instances whose status is OUTDATED.

", + "UpdateStackSetOutput$OperationId": "

The unique ID for this stack set operation.

" } }, "ClientToken": { @@ -231,11 +302,36 @@ "refs": { } }, + "CreateStackInstancesInput": { + "base": null, + "refs": { + } + }, + "CreateStackInstancesOutput": { + "base": null, + "refs": { + } + }, "CreateStackOutput": { "base": "

The output for a CreateStack action.

", "refs": { } }, + "CreateStackSetInput": { + "base": null, + "refs": { + } + }, + "CreateStackSetOutput": { + "base": null, + "refs": { + } + }, + "CreatedButModifiedException": { + "base": "

The specified resource exists, but has been changed.

", + "refs": { + } + }, "CreationTime": { "base": null, "refs": { @@ -260,9 +356,30 @@ "refs": { } }, + "DeleteStackInstancesInput": { + "base": null, + "refs": { + } + }, + "DeleteStackInstancesOutput": { + "base": null, + "refs": { + } + }, + "DeleteStackSetInput": { + "base": null, + "refs": { + } + }, + "DeleteStackSetOutput": { + "base": null, + "refs": { + } + }, "DeletionTime": { "base": null, "refs": { + "Stack$DeletionTime": "

The time the stack was deleted.

", "StackSummary$DeletionTime": "

The time the stack was deleted.

" } }, @@ -296,6 +413,16 @@ "refs": { } }, + "DescribeStackInstanceInput": { + "base": null, + "refs": { + } + }, + "DescribeStackInstanceOutput": { + "base": null, + "refs": { + } + }, "DescribeStackResourceInput": { "base": "

The input for DescribeStackResource action.

", "refs": { @@ -316,6 +443,26 @@ "refs": { } }, + "DescribeStackSetInput": { + "base": null, + "refs": { + } + }, + "DescribeStackSetOperationInput": { + "base": null, + "refs": { + } + }, + "DescribeStackSetOperationOutput": { + "base": null, + "refs": { + } + }, + "DescribeStackSetOutput": { + "base": null, + "refs": { + } + }, "DescribeStacksInput": { "base": "

The input for DescribeStacks action.

", "refs": { @@ -331,6 +478,7 @@ "refs": { "ChangeSetSummary$Description": "

Descriptive information about the change set.

", "CreateChangeSetInput$Description": "

A description to help you identify this change set.

", + "CreateStackSetInput$Description": "

A description of the stack set. You can use the description to identify the stack set's purpose or other important information.

", "DescribeChangeSetOutput$Description": "

Information about the change set.

", "GetTemplateSummaryOutput$Description": "

The value that is defined in the Description property of the template.

", "Output$Description": "

User defined description associated with the output.

", @@ -338,7 +486,10 @@ "Stack$Description": "

A user-defined description associated with the stack.

", "StackResource$Description": "

User defined description associated with the resource.

", "StackResourceDetail$Description": "

User defined description associated with the resource.

", + "StackSet$Description": "

A description of the stack set that you specify when the stack set is created or updated.

", + "StackSetSummary$Description": "

A description of the stack set that you specify when the stack set is created or updated.

", "TemplateParameter$Description": "

User defined description associated with the parameter.

", + "UpdateStackSetInput$Description": "

A brief description of updates that you are making.

", "ValidateTemplateOutput$Description": "

The description found within the template.

" } }, @@ -349,6 +500,14 @@ "Stack$DisableRollback": "

Boolean to enable or disable rollback on stack creation failures:

  • true: disable rollback

  • false: enable rollback

" } }, + "EnableTerminationProtection": { + "base": null, + "refs": { + "CreateStackInput$EnableTerminationProtection": "

Whether to enable termination protection on the specified stack. If a user attempts to delete a stack with termination protection enabled, the operation fails and the stack remains unchanged. For more information, see Protecting a Stack From Being Deleted in the AWS CloudFormation User Guide. Termination protection is disabled on stacks by default.

For nested stacks, termination protection is set on the root stack and cannot be changed directly on the nested stack.

", + "Stack$EnableTerminationProtection": "

Whether termination protection is enabled for the stack.

For nested stacks, termination protection is set on the root stack and cannot be changed directly on the nested stack. For more information, see Protecting a Stack From Being Deleted in the AWS CloudFormation User Guide.

", + "UpdateTerminationProtectionInput$EnableTerminationProtection": "

Whether to enable termination protection on the specified stack.

" + } + }, "EstimateTemplateCostInput": { "base": "

The input for an EstimateTemplateCost action.

", "refs": { @@ -398,7 +557,8 @@ "base": null, "refs": { "Export$Name": "

The name of exported output value. Use this name and the Fn::ImportValue function to import the associated value into other stacks. The name is defined in the Export field in the associated stack's Outputs section.

", - "ListImportsInput$ExportName": "

The name of the exported output value. AWS CloudFormation returns the stack names that are importing this value.

" + "ListImportsInput$ExportName": "

The name of the exported output value. AWS CloudFormation returns the stack names that are importing this value.

", + "Output$ExportName": "

The name of the export associated with the output.

" } }, "ExportValue": { @@ -413,6 +573,18 @@ "ListExportsOutput$Exports": "

The output for the ListExports action.

" } }, + "FailureToleranceCount": { + "base": null, + "refs": { + "StackSetOperationPreferences$FailureToleranceCount": "

The number of accounts, per region, for which this operation can fail before AWS CloudFormation stops the operation in that region. If the operation is stopped in a region, AWS CloudFormation doesn't attempt the operation in any subsequent regions.

Conditional: You must specify either FailureToleranceCount or FailureTolerancePercentage (but not both).

" + } + }, + "FailureTolerancePercentage": { + "base": null, + "refs": { + "StackSetOperationPreferences$FailureTolerancePercentage": "

The percentage of accounts, per region, for which this stack operation can fail before AWS CloudFormation stops the operation in that region. If the operation is stopped in a region, AWS CloudFormation doesn't attempt the operation in any subsequent regions.

When calculating the number of accounts based on the specified percentage, AWS CloudFormation rounds down to the next whole number.

Conditional: You must specify either FailureToleranceCount or FailureTolerancePercentage, but not both.

" + } + }, "GetStackPolicyInput": { "base": "

The input for the GetStackPolicy action.

", "refs": { @@ -450,12 +622,17 @@ } }, "InsufficientCapabilitiesException": { - "base": "

The template contains resources with capabilities that were not specified in the Capabilities parameter.

", + "base": "

The template contains resources with capabilities that weren't specified in the Capabilities parameter.

", "refs": { } }, "InvalidChangeSetStatusException": { - "base": "

The specified change set cannot be used to update the stack. For example, the change set status might be CREATE_IN_PROGRESS or the stack status might be UPDATE_IN_PROGRESS.

", + "base": "

The specified change set can't be used to update the stack. For example, the change set status might be CREATE_IN_PROGRESS, or the stack status might be UPDATE_IN_PROGRESS.

", + "refs": { + } + }, + "InvalidOperationException": { + "base": "

The specified operation isn't valid.

", "refs": { } }, @@ -467,7 +644,7 @@ } }, "LimitExceededException": { - "base": "

Quota for the resource has already been reached.

", + "base": "

The quota for the resource has already been reached.

For information on stack set limitations, see Limitations of StackSets.

", "refs": { } }, @@ -513,6 +690,16 @@ "refs": { } }, + "ListStackInstancesInput": { + "base": null, + "refs": { + } + }, + "ListStackInstancesOutput": { + "base": null, + "refs": { + } + }, "ListStackResourcesInput": { "base": "

The input for the ListStackResource action.

", "refs": { @@ -523,6 +710,36 @@ "refs": { } }, + "ListStackSetOperationResultsInput": { + "base": null, + "refs": { + } + }, + "ListStackSetOperationResultsOutput": { + "base": null, + "refs": { + } + }, + "ListStackSetOperationsInput": { + "base": null, + "refs": { + } + }, + "ListStackSetOperationsOutput": { + "base": null, + "refs": { + } + }, + "ListStackSetsInput": { + "base": null, + "refs": { + } + }, + "ListStackSetsOutput": { + "base": null, + "refs": { + } + }, "ListStacksInput": { "base": "

The input for ListStacks action.

", "refs": { @@ -547,6 +764,27 @@ "StackResourceSummary$LogicalResourceId": "

The logical name of the resource specified in the template.

" } }, + "MaxConcurrentCount": { + "base": null, + "refs": { + "StackSetOperationPreferences$MaxConcurrentCount": "

The maximum number of accounts in which to perform this operation at one time. This is dependent on the value of FailureToleranceCountMaxConcurrentCount is at most one more than the FailureToleranceCount .

Note that this setting lets you specify the maximum for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.

Conditional: You must specify either MaxConcurrentCount or MaxConcurrentPercentage, but not both.

" + } + }, + "MaxConcurrentPercentage": { + "base": null, + "refs": { + "StackSetOperationPreferences$MaxConcurrentPercentage": "

The maximum percentage of accounts in which to perform this operation at one time.

When calculating the number of accounts based on the specified percentage, AWS CloudFormation rounds down to the next whole number. This is true except in cases where rounding down would result is zero. In this case, CloudFormation sets the number as one instead.

Note that this setting lets you specify the maximum for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.

Conditional: You must specify either MaxConcurrentCount or MaxConcurrentPercentage, but not both.

" + } + }, + "MaxResults": { + "base": null, + "refs": { + "ListStackInstancesInput$MaxResults": "

The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

", + "ListStackSetOperationResultsInput$MaxResults": "

The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

", + "ListStackSetOperationsInput$MaxResults": "

The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

", + "ListStackSetsInput$MaxResults": "

The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

" + } + }, "Metadata": { "base": null, "refs": { @@ -554,6 +792,17 @@ "StackResourceDetail$Metadata": "

The content of the Metadata attribute declared for the resource. For more information, see Metadata Attribute in the AWS CloudFormation User Guide.

" } }, + "MonitoringTimeInMinutes": { + "base": null, + "refs": { + "RollbackConfiguration$MonitoringTimeInMinutes": "

The amount of time, in minutes, during which CloudFormation should monitor all the rollback triggers after the stack creation or update operation deploys all necessary resources. If any of the alarms goes to ALERT state during the stack operation or this monitoring period, CloudFormation rolls back the entire stack operation. Then, for update operations, if the monitoring period expires without any alarms going to ALERT state CloudFormation proceeds to dispose of old resources as usual.

If you specify a monitoring period but do not specify any rollback triggers, CloudFormation still waits the specified period of time before cleaning up old resources for update operations. You can use this monitoring period to perform any manual stack validation desired, and manually cancel the stack creation or update (using CancelUpdateStack, for example) as necessary.

If you specify 0 for this parameter, CloudFormation still monitors the specified rollback triggers during stack creation and update operations. Then, for update operations, it begins disposing of old resources immediately once the operation completes.

" + } + }, + "NameAlreadyExistsException": { + "base": "

The specified name is already in use.

", + "refs": { + } + }, "NextToken": { "base": null, "refs": { @@ -571,8 +820,16 @@ "ListExportsOutput$NextToken": "

If the output exceeds 100 exported output values, a string that identifies the next page of exports. If there is no additional page, this value is null.

", "ListImportsInput$NextToken": "

A string (provided by the ListImports response output) that identifies the next page of stacks that are importing the specified exported output value.

", "ListImportsOutput$NextToken": "

A string that identifies the next page of exports. If there is no additional page, this value is null.

", + "ListStackInstancesInput$NextToken": "

If the previous request didn't return all of the remaining results, the response's NextToken parameter value is set to a token. To retrieve the next set of results, call ListStackInstances again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

", + "ListStackInstancesOutput$NextToken": "

If the request doesn't return all of the remaining results, NextToken is set to a token. To retrieve the next set of results, call ListStackInstances again and assign that token to the request object's NextToken parameter. If the request returns all results, NextToken is set to null.

", "ListStackResourcesInput$NextToken": "

A string that identifies the next page of stack resources that you want to retrieve.

", "ListStackResourcesOutput$NextToken": "

If the output exceeds 1 MB, a string that identifies the next page of stack resources. If no additional page exists, this value is null.

", + "ListStackSetOperationResultsInput$NextToken": "

If the previous request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call ListStackSetOperationResults again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

", + "ListStackSetOperationResultsOutput$NextToken": "

If the request doesn't return all results, NextToken is set to a token. To retrieve the next set of results, call ListOperationResults again and assign that token to the request object's NextToken parameter. If there are no remaining results, NextToken is set to null.

", + "ListStackSetOperationsInput$NextToken": "

If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call ListStackSetOperations again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

", + "ListStackSetOperationsOutput$NextToken": "

If the request doesn't return all results, NextToken is set to a token. To retrieve the next set of results, call ListOperationResults again and assign that token to the request object's NextToken parameter. If there are no remaining results, NextToken is set to null.

", + "ListStackSetsInput$NextToken": "

If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call ListStackSets again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

", + "ListStackSetsOutput$NextToken": "

If the request doesn't return all of the remaining results, NextToken is set to a token. To retrieve the next set of results, call ListStackInstances again and assign that token to the request object's NextToken parameter. If the request returns all results, NextToken is set to null.

", "ListStacksInput$NextToken": "

A string that identifies the next page of stacks that you want to retrieve.

", "ListStacksOutput$NextToken": "

If the output exceeds 1 MB in size, a string that identifies the next page of stacks. If no additional page exists, this value is null.

" } @@ -606,6 +863,21 @@ "CreateStackInput$OnFailure": "

Determines what action will be taken if stack creation fails. This must be one of: DO_NOTHING, ROLLBACK, or DELETE. You can specify either OnFailure or DisableRollback, but not both.

Default: ROLLBACK

" } }, + "OperationIdAlreadyExistsException": { + "base": "

The specified operation ID already exists.

", + "refs": { + } + }, + "OperationInProgressException": { + "base": "

Another operation is currently in progress for this stack set. Only one operation can be performed for a stack set at a given time.

", + "refs": { + } + }, + "OperationNotFoundException": { + "base": "

The specified ID refers to an operation that doesn't exist.

", + "refs": { + } + }, "Output": { "base": "

The Output data type.

", "refs": { @@ -681,10 +953,13 @@ "refs": { "CreateChangeSetInput$Parameters": "

A list of Parameter structures that specify input parameters for the change set. For more information, see the Parameter data type.

", "CreateStackInput$Parameters": "

A list of Parameter structures that specify input parameters for the stack. For more information, see the Parameter data type.

", + "CreateStackSetInput$Parameters": "

The input parameters for the stack set template.

", "DescribeChangeSetOutput$Parameters": "

A list of Parameter structures that describes the input parameters and their values used to create the change set. For more information, see the Parameter data type.

", "EstimateTemplateCostInput$Parameters": "

A list of Parameter structures that specify input parameters.

", "Stack$Parameters": "

A list of Parameter structures.

", - "UpdateStackInput$Parameters": "

A list of Parameter structures that specify input parameters for the stack. For more information, see the Parameter data type.

" + "StackSet$Parameters": "

A list of input parameters for a stack set.

", + "UpdateStackInput$Parameters": "

A list of Parameter structures that specify input parameters for the stack. For more information, see the Parameter data type.

", + "UpdateStackSetInput$Parameters": "

A list of input parameters for the stack set template.

" } }, "PhysicalResourceId": { @@ -704,6 +979,33 @@ "ResourceTargetDefinition$Name": "

If the Attribute value is Properties, the name of the property. For all other attributes, the value is null.

" } }, + "Reason": { + "base": null, + "refs": { + "StackInstance$StatusReason": "

The explanation for the specific status code that is assigned to this stack instance.

", + "StackInstanceSummary$StatusReason": "

The explanation for the specific status code assigned to this stack instance.

", + "StackSetOperationResultSummary$StatusReason": "

The reason for the assigned result status.

" + } + }, + "Region": { + "base": null, + "refs": { + "DescribeStackInstanceInput$StackInstanceRegion": "

The name of a region that's associated with this stack instance.

", + "ListStackInstancesInput$StackInstanceRegion": "

The name of the region where you want to list stack instances.

", + "RegionList$member": null, + "StackInstance$Region": "

The name of the AWS region that the stack instance is associated with.

", + "StackInstanceSummary$Region": "

The name of the AWS region that the stack instance is associated with.

", + "StackSetOperationResultSummary$Region": "

The name of the AWS region for this operation result.

" + } + }, + "RegionList": { + "base": null, + "refs": { + "CreateStackInstancesInput$Regions": "

The names of one or more regions where you want to create stack instances using the specified AWS account(s).

", + "DeleteStackInstancesInput$Regions": "

The regions where you want to delete stack set instances.

", + "StackSetOperationPreferences$RegionOrder": "

The order of the regions in where you want to perform the stack operation.

" + } + }, "Replacement": { "base": null, "refs": { @@ -812,7 +1114,7 @@ "ResourcesToSkip": { "base": null, "refs": { - "ContinueUpdateRollbackInput$ResourcesToSkip": "

A list of the logical IDs of the resources that AWS CloudFormation skips during the continue update rollback operation. You can specify only resources that are in the UPDATE_FAILED state because a rollback failed. You can't specify resources that are in the UPDATE_FAILED state for other reasons, for example, because an update was canceled. To check why a resource update failed, use the DescribeStackResources action, and view the resource status reason.

Specify this property to skip rolling back resources that AWS CloudFormation can't successfully roll back. We recommend that you troubleshoot resources before skipping them. AWS CloudFormation sets the status of the specified resources to UPDATE_COMPLETE and continues to roll back the stack. After the rollback is complete, the state of the skipped resources will be inconsistent with the state of the resources in the stack template. Before performing another stack update, you must update the stack or resources to be consistent with each other. If you don't, subsequent stack updates might fail, and the stack will become unrecoverable.

Specify the minimum number of resources required to successfully roll back your stack. For example, a failed resource update might cause dependent resources to fail. In this case, it might not be necessary to skip the dependent resources.

To specify resources in a nested stack, use the following format: NestedStackName.ResourceLogicalID. If the ResourceLogicalID is a stack resource (Type: AWS::CloudFormation::Stack), it must be in one of the following states: DELETE_IN_PROGRESS, DELETE_COMPLETE, or DELETE_FAILED.

" + "ContinueUpdateRollbackInput$ResourcesToSkip": "

A list of the logical IDs of the resources that AWS CloudFormation skips during the continue update rollback operation. You can specify only resources that are in the UPDATE_FAILED state because a rollback failed. You can't specify resources that are in the UPDATE_FAILED state for other reasons, for example, because an update was cancelled. To check why a resource update failed, use the DescribeStackResources action, and view the resource status reason.

Specify this property to skip rolling back resources that AWS CloudFormation can't successfully roll back. We recommend that you troubleshoot resources before skipping them. AWS CloudFormation sets the status of the specified resources to UPDATE_COMPLETE and continues to roll back the stack. After the rollback is complete, the state of the skipped resources will be inconsistent with the state of the resources in the stack template. Before performing another stack update, you must update the stack or resources to be consistent with each other. If you don't, subsequent stack updates might fail, and the stack will become unrecoverable.

Specify the minimum number of resources required to successfully roll back your stack. For example, a failed resource update might cause dependent resources to fail. In this case, it might not be necessary to skip the dependent resources.

To skip resources that are part of nested stacks, use the following format: NestedStackName.ResourceLogicalID. If you want to specify the logical ID of a stack resource (Type: AWS::CloudFormation::Stack) in the ResourcesToSkip list, then its corresponding embedded stack must be in one of the following states: DELETE_IN_PROGRESS, DELETE_COMPLETE, or DELETE_FAILED.

Don't confuse a child stack's name with its corresponding logical ID defined in the parent stack. For an example of a continue update rollback operation with nested stacks, see Using ResourcesToSkip to recover a nested stacks hierarchy.

" } }, "RetainResources": { @@ -821,6 +1123,18 @@ "DeleteStackInput$RetainResources": "

For stacks in the DELETE_FAILED state, a list of resource logical IDs that are associated with the resources you want to retain. During deletion, AWS CloudFormation deletes the stack but does not delete the retained resources.

Retaining resources is useful when you cannot delete a resource, such as a non-empty S3 bucket, but you want to delete the stack.

" } }, + "RetainStacks": { + "base": null, + "refs": { + "DeleteStackInstancesInput$RetainStacks": "

Removes the stack instances from the specified stack set, but doesn't delete the stacks. You can't reassociate a retained stack or add an existing, saved stack to a new stack set.

For more information, see Stack set operation options.

" + } + }, + "RetainStacksNullable": { + "base": null, + "refs": { + "StackSetOperation$RetainStacks": "

For stack set operations of action type DELETE, specifies whether to remove the stack instances from the specified stack set, but doesn't delete the stacks. You can't reassociate a retained stack, or add an existing, saved stack to a new stack set.

" + } + }, "RoleARN": { "base": null, "refs": { @@ -832,6 +1146,28 @@ "UpdateStackInput$RoleARN": "

The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes to update the stack. AWS CloudFormation uses the role's credentials to make calls on your behalf. AWS CloudFormation always uses this role for all future operations on the stack. As long as users have permission to operate on the stack, AWS CloudFormation uses this role even if the users don't have permission to pass it. Ensure that the role grants least privilege.

If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials.

" } }, + "RollbackConfiguration": { + "base": "

Structure containing the rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.

Rollback triggers enable you to have AWS CloudFormation monitor the state of your application during stack creation and updating, and to roll back that operation if the application breaches the threshold of any of the alarms you've specified. For each rollback trigger you create, you specify the Cloudwatch alarm that CloudFormation should monitor. CloudFormation monitors the specified alarms during the stack create or update operation, and for the specified amount of time after all resources have been deployed. If any of the alarms goes to ALERT state during the stack operation or the monitoring period, CloudFormation rolls back the entire stack operation. If the monitoring period expires without any alarms going to ALERT state, CloudFormation proceeds to dispose of old resources as usual.

By default, CloudFormation only rolls back stack operations if an alarm goes to ALERT state, not INSUFFICIENT_DATA state. To have CloudFormation roll back the stack operation if an alarm goes to INSUFFICIENT_DATA state as well, edit the CloudWatch alarm to treat missing data as breaching. For more information, see Configuring How CloudWatch Alarms Treats Missing Data.

AWS CloudFormation does not monitor rollback triggers when it rolls back a stack during an update operation.

", + "refs": { + "CreateChangeSetInput$RollbackConfiguration": "

The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.

", + "CreateStackInput$RollbackConfiguration": "

The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.

", + "DescribeChangeSetOutput$RollbackConfiguration": "

The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.

", + "Stack$RollbackConfiguration": "

The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.

", + "UpdateStackInput$RollbackConfiguration": "

The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.

" + } + }, + "RollbackTrigger": { + "base": "

A rollback trigger AWS CloudFormation monitors during creation and updating of stacks. If any of the alarms you specify goes to ALERT state during the stack operation or within the specified monitoring period afterwards, CloudFormation rolls back the entire stack operation.

", + "refs": { + "RollbackTriggers$member": null + } + }, + "RollbackTriggers": { + "base": null, + "refs": { + "RollbackConfiguration$RollbackTriggers": "

The triggers to monitor during stack creation or update actions.

By default, AWS CloudFormation saves the rollback triggers specified for a stack and applies them to any subsequent update operations for the stack, unless you specify otherwise. If you do specify rollback triggers for this parameter, those triggers replace any list of triggers previously specified for the stack. This means:

  • If you don't specify this parameter, AWS CloudFormation uses the rollback triggers previously specified for this stack, if any.

  • If you specify any rollback triggers using this parameter, you must specify all the triggers that you want used for this stack, even triggers you've specifed before (for example, when creating the stack or during a previous stack update). Any triggers that you don't include in the updated list of triggers are no longer applied to the stack.

  • If you specify an empty list, AWS CloudFormation removes all currently specified triggers.

If a specified Cloudwatch alarm is missing, the entire stack operation fails and is rolled back.

" + } + }, "Scope": { "base": null, "refs": { @@ -875,11 +1211,48 @@ "DescribeChangeSetOutput$StackId": "

The ARN of the stack that is associated with the change set.

", "Export$ExportingStackId": "

The stack that contains the exported output name and value.

", "Stack$StackId": "

Unique identifier of the stack.

", + "Stack$ParentId": "

For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack.

For more information, see Working with Nested Stacks in the AWS CloudFormation User Guide.

", + "Stack$RootId": "

For nested stacks--stacks created as resources for another stack--the stack ID of the the top-level stack to which the nested stack ultimately belongs.

For more information, see Working with Nested Stacks in the AWS CloudFormation User Guide.

", "StackEvent$StackId": "

The unique ID name of the instance of the stack.

", + "StackInstance$StackId": "

The ID of the stack instance.

", + "StackInstanceSummary$StackId": "

The ID of the stack instance.

", "StackResource$StackId": "

Unique identifier of the stack.

", "StackResourceDetail$StackId": "

Unique identifier of the stack.

", "StackSummary$StackId": "

Unique stack identifier.

", - "UpdateStackOutput$StackId": "

Unique identifier of the stack.

" + "StackSummary$ParentId": "

For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack.

For more information, see Working with Nested Stacks in the AWS CloudFormation User Guide.

", + "StackSummary$RootId": "

For nested stacks--stacks created as resources for another stack--the stack ID of the the top-level stack to which the nested stack ultimately belongs.

For more information, see Working with Nested Stacks in the AWS CloudFormation User Guide.

", + "UpdateStackOutput$StackId": "

Unique identifier of the stack.

", + "UpdateTerminationProtectionOutput$StackId": "

The unique ID of the stack.

" + } + }, + "StackInstance": { + "base": "

An AWS CloudFormation stack, in a specific account and region, that's part of a stack set operation. A stack instance is a reference to an attempted or actual stack in a given account within a given region. A stack instance can exist without a stack—for example, if the stack couldn't be created for some reason. A stack instance is associated with only one stack set. Each stack instance contains the ID of its associated stack set, as well as the ID of the actual stack and the stack status.

", + "refs": { + "DescribeStackInstanceOutput$StackInstance": "

The stack instance that matches the specified request parameters.

" + } + }, + "StackInstanceNotFoundException": { + "base": "

The specified stack instance doesn't exist.

", + "refs": { + } + }, + "StackInstanceStatus": { + "base": null, + "refs": { + "StackInstance$Status": "

The status of the stack instance, in terms of its synchronization with its associated stack set.

  • INOPERABLE: A DeleteStackInstances operation has failed and left the stack in an unstable state. Stacks in this state are excluded from further UpdateStackSet operations. You might need to perform a DeleteStackInstances operation, with RetainStacks set to true, to delete the stack instance, and then delete the stack manually.

  • OUTDATED: The stack isn't currently up to date with the stack set because:

    • The associated stack failed during a CreateStackSet or UpdateStackSet operation.

    • The stack was part of a CreateStackSet or UpdateStackSet operation that failed or was stopped before the stack was created or updated.

  • CURRENT: The stack is currently up to date with the stack set.

", + "StackInstanceSummary$Status": "

The status of the stack instance, in terms of its synchronization with its associated stack set.

  • INOPERABLE: A DeleteStackInstances operation has failed and left the stack in an unstable state. Stacks in this state are excluded from further UpdateStackSet operations. You might need to perform a DeleteStackInstances operation, with RetainStacks set to true, to delete the stack instance, and then delete the stack manually.

  • OUTDATED: The stack isn't currently up to date with the stack set because:

    • The associated stack failed during a CreateStackSet or UpdateStackSet operation.

    • The stack was part of a CreateStackSet or UpdateStackSet operation that failed or was stopped before the stack was created or updated.

  • CURRENT: The stack is currently up to date with the stack set.

" + } + }, + "StackInstanceSummaries": { + "base": null, + "refs": { + "ListStackInstancesOutput$Summaries": "

A list of StackInstanceSummary structures that contain information about the specified stack instances.

" + } + }, + "StackInstanceSummary": { + "base": "

The structure that contains summary information about a stack instance.

", + "refs": { + "StackInstanceSummaries$member": null } }, "StackName": { @@ -915,9 +1288,10 @@ "DeleteChangeSetInput$StackName": "

If you specified the name of a change set to delete, specify the stack name or ID (ARN) that is associated with it.

", "DescribeChangeSetInput$StackName": "

If you specified the name of a change set, specify the stack name or ID (ARN) of the change set you want to describe.

", "ExecuteChangeSetInput$StackName": "

If you specified the name of a change set, specify the stack name or ID (ARN) that is associated with the change set you want to execute.

", - "GetTemplateSummaryInput$StackName": "

The name or the stack ID that is associated with the stack, which are not always interchangeable. For running stacks, you can specify either the stack's name or its unique stack ID. For deleted stack, you must specify the unique stack ID.

Conditional: You must specify only one of the following parameters: StackName, TemplateBody, or TemplateURL.

", + "GetTemplateSummaryInput$StackName": "

The name or the stack ID that is associated with the stack, which are not always interchangeable. For running stacks, you can specify either the stack's name or its unique stack ID. For deleted stack, you must specify the unique stack ID.

Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.

", "ListChangeSetsInput$StackName": "

The name or the Amazon Resource Name (ARN) of the stack for which you want to list change sets.

", - "SignalResourceInput$StackName": "

The stack name or unique stack ID that includes the resource that you want to signal.

" + "SignalResourceInput$StackName": "

The stack name or unique stack ID that includes the resource that you want to signal.

", + "UpdateTerminationProtectionInput$StackName": "

The name or unique ID of the stack for which you want to set termination protection.

" } }, "StackPolicyBody": { @@ -979,6 +1353,137 @@ "DescribeStackResourcesOutput$StackResources": "

A list of StackResource structures.

" } }, + "StackSet": { + "base": "

A structure that contains information about a stack set. A stack set enables you to provision stacks into AWS accounts and across regions by using a single CloudFormation template. In the stack set, you specify the template to use, as well as any parameters and capabilities that the template requires.

", + "refs": { + "DescribeStackSetOutput$StackSet": "

The specified stack set.

" + } + }, + "StackSetId": { + "base": null, + "refs": { + "CreateStackSetOutput$StackSetId": "

The ID of the stack set that you're creating.

", + "StackInstance$StackSetId": "

The name or unique ID of the stack set that the stack instance is associated with.

", + "StackInstanceSummary$StackSetId": "

The name or unique ID of the stack set that the stack instance is associated with.

", + "StackSet$StackSetId": "

The ID of the stack set.

", + "StackSetOperation$StackSetId": "

The ID of the stack set.

", + "StackSetSummary$StackSetId": "

The ID of the stack set.

" + } + }, + "StackSetName": { + "base": null, + "refs": { + "CreateStackInstancesInput$StackSetName": "

The name or unique ID of the stack set that you want to create stack instances from.

", + "CreateStackSetInput$StackSetName": "

The name to associate with the stack set. The name must be unique in the region where you create your stack set.

A stack name can contain only alphanumeric characters (case-sensitive) and hyphens. It must start with an alphabetic character and can't be longer than 128 characters.

", + "DeleteStackInstancesInput$StackSetName": "

The name or unique ID of the stack set that you want to delete stack instances for.

", + "DeleteStackSetInput$StackSetName": "

The name or unique ID of the stack set that you're deleting. You can obtain this value by running ListStackSets.

", + "DescribeStackInstanceInput$StackSetName": "

The name or the unique stack ID of the stack set that you want to get stack instance information for.

", + "DescribeStackSetInput$StackSetName": "

The name or unique ID of the stack set whose description you want.

", + "DescribeStackSetOperationInput$StackSetName": "

The name or the unique stack ID of the stack set for the stack operation.

", + "ListStackInstancesInput$StackSetName": "

The name or unique ID of the stack set that you want to list stack instances for.

", + "ListStackSetOperationResultsInput$StackSetName": "

The name or unique ID of the stack set that you want to get operation results for.

", + "ListStackSetOperationsInput$StackSetName": "

The name or unique ID of the stack set that you want to get operation summaries for.

", + "StackSet$StackSetName": "

The name that's associated with the stack set.

", + "StackSetSummary$StackSetName": "

The name of the stack set.

", + "StopStackSetOperationInput$StackSetName": "

The name or unique ID of the stack set that you want to stop the operation for.

", + "UpdateStackSetInput$StackSetName": "

The name or unique ID of the stack set that you want to update.

" + } + }, + "StackSetNameOrId": { + "base": null, + "refs": { + "GetTemplateSummaryInput$StackSetName": "

The name or unique ID of the stack set from which the stack was created.

Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.

" + } + }, + "StackSetNotEmptyException": { + "base": "

You can't yet delete this stack set, because it still contains one or more stack instances. Delete all stack instances from the stack set before deleting the stack set.

", + "refs": { + } + }, + "StackSetNotFoundException": { + "base": "

The specified stack set doesn't exist.

", + "refs": { + } + }, + "StackSetOperation": { + "base": "

The structure that contains information about a stack set operation.

", + "refs": { + "DescribeStackSetOperationOutput$StackSetOperation": "

The specified stack set operation.

" + } + }, + "StackSetOperationAction": { + "base": null, + "refs": { + "StackSetOperation$Action": "

The type of stack set operation: CREATE, UPDATE, or DELETE. Create and delete operations affect only the specified stack set instances that are associated with the specified stack set. Update operations affect both the stack set itself, as well as all associated stack set instances.

", + "StackSetOperationSummary$Action": "

The type of operation: CREATE, UPDATE, or DELETE. Create and delete operations affect only the specified stack instances that are associated with the specified stack set. Update operations affect both the stack set itself as well as all associated stack set instances.

" + } + }, + "StackSetOperationPreferences": { + "base": "

The user-specified preferences for how AWS CloudFormation performs a stack set operation.

For more information on maximum concurrent accounts and failure tolerance, see Stack set operation options.

", + "refs": { + "CreateStackInstancesInput$OperationPreferences": "

Preferences for how AWS CloudFormation performs this stack set operation.

", + "DeleteStackInstancesInput$OperationPreferences": "

Preferences for how AWS CloudFormation performs this stack set operation.

", + "StackSetOperation$OperationPreferences": "

The preferences for how AWS CloudFormation performs this stack set operation.

", + "UpdateStackSetInput$OperationPreferences": "

Preferences for how AWS CloudFormation performs this stack set operation.

" + } + }, + "StackSetOperationResultStatus": { + "base": null, + "refs": { + "StackSetOperationResultSummary$Status": "

The result status of the stack set operation for the given account in the given region.

  • CANCELLED: The operation in the specified account and region has been cancelled. This is either because a user has stopped the stack set operation, or because the failure tolerance of the stack set operation has been exceeded.

  • FAILED: The operation in the specified account and region failed.

    If the stack set operation fails in enough accounts within a region, the failure tolerance for the stack set operation as a whole might be exceeded.

  • RUNNING: The operation in the specified account and region is currently in progress.

  • PENDING: The operation in the specified account and region has yet to start.

  • SUCCEEDED: The operation in the specified account and region completed successfully.

" + } + }, + "StackSetOperationResultSummaries": { + "base": null, + "refs": { + "ListStackSetOperationResultsOutput$Summaries": "

A list of StackSetOperationResultSummary structures that contain information about the specified operation results, for accounts and regions that are included in the operation.

" + } + }, + "StackSetOperationResultSummary": { + "base": "

The structure that contains information about a specified operation's results for a given account in a given region.

", + "refs": { + "StackSetOperationResultSummaries$member": null + } + }, + "StackSetOperationStatus": { + "base": null, + "refs": { + "StackSetOperation$Status": "

The status of the operation.

  • FAILED: The operation exceeded the specified failure tolerance. The failure tolerance value that you've set for an operation is applied for each region during stack create and update operations. If the number of failed stacks within a region exceeds the failure tolerance, the status of the operation in the region is set to FAILED. This in turn sets the status of the operation as a whole to FAILED, and AWS CloudFormation cancels the operation in any remaining regions.

  • RUNNING: The operation is currently being performed.

  • STOPPED: The user has cancelled the operation.

  • STOPPING: The operation is in the process of stopping, at user request.

  • SUCCEEDED: The operation completed creating or updating all the specified stacks without exceeding the failure tolerance for the operation.

", + "StackSetOperationSummary$Status": "

The overall status of the operation.

  • FAILED: The operation exceeded the specified failure tolerance. The failure tolerance value that you've set for an operation is applied for each region during stack create and update operations. If the number of failed stacks within a region exceeds the failure tolerance, the status of the operation in the region is set to FAILED. This in turn sets the status of the operation as a whole to FAILED, and AWS CloudFormation cancels the operation in any remaining regions.

  • RUNNING: The operation is currently being performed.

  • STOPPED: The user has cancelled the operation.

  • STOPPING: The operation is in the process of stopping, at user request.

  • SUCCEEDED: The operation completed creating or updating all the specified stacks without exceeding the failure tolerance for the operation.

" + } + }, + "StackSetOperationSummaries": { + "base": null, + "refs": { + "ListStackSetOperationsOutput$Summaries": "

A list of StackSetOperationSummary structures that contain summary information about operations for the specified stack set.

" + } + }, + "StackSetOperationSummary": { + "base": "

The structures that contain summary information about the specified operation.

", + "refs": { + "StackSetOperationSummaries$member": null + } + }, + "StackSetStatus": { + "base": null, + "refs": { + "ListStackSetsInput$Status": "

The status of the stack sets that you want to get summary information about.

", + "StackSet$Status": "

The status of the stack set.

", + "StackSetSummary$Status": "

The status of the stack set.

" + } + }, + "StackSetSummaries": { + "base": null, + "refs": { + "ListStackSetsOutput$Summaries": "

A list of StackSetSummary structures that contain information about the user's stack sets.

" + } + }, + "StackSetSummary": { + "base": "

The structures that contain summary information about the specified stack set.

", + "refs": { + "StackSetSummaries$member": null + } + }, "StackStatus": { "base": null, "refs": { @@ -1024,6 +1529,21 @@ "GetTemplateOutput$StagesAvailable": "

The stage of the template that you can retrieve. For stacks, the Original and Processed templates are always available. For change sets, the Original template is always available. After AWS CloudFormation finishes creating the change set, the Processed template becomes available.

" } }, + "StaleRequestException": { + "base": "

Another operation has been performed on this stack set since the specified operation was performed.

", + "refs": { + } + }, + "StopStackSetOperationInput": { + "base": null, + "refs": { + } + }, + "StopStackSetOperationOutput": { + "base": null, + "refs": { + } + }, "Tag": { "base": "

The Tag type enables you to specify a key-value pair that can be used to store information about an AWS CloudFormation stack.

", "refs": { @@ -1045,11 +1565,14 @@ "Tags": { "base": null, "refs": { - "CreateChangeSetInput$Tags": "

Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to resources in the stack. You can specify a maximum of 10 tags.

", - "CreateStackInput$Tags": "

Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 10 tags can be specified.

", + "CreateChangeSetInput$Tags": "

Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to resources in the stack. You can specify a maximum of 50 tags.

", + "CreateStackInput$Tags": "

Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified.

", + "CreateStackSetInput$Tags": "

The key-value pairs to associate with this stack set and the stacks created from it. AWS CloudFormation also propagates these tags to supported resources that are created in the stacks. A maximum number of 50 tags can be specified.

If you specify tags as part of a CreateStackSet action, AWS CloudFormation checks to see if you have the required IAM permission to tag resources. If you don't, the entire CreateStackSet action fails with an access denied error, and the stack set is not created.

", "DescribeChangeSetOutput$Tags": "

If you execute the change set, the tags that will be associated with the stack.

", "Stack$Tags": "

A list of Tags that specify information about the stack.

", - "UpdateStackInput$Tags": "

Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to supported resources in the stack. You can specify a maximum number of 10 tags.

If you don't specify this parameter, AWS CloudFormation doesn't modify the stack's tags. If you specify an empty value, AWS CloudFormation removes all associated tags.

" + "StackSet$Tags": "

A list of tags that specify information about the stack set. A maximum number of 50 tags can be specified.

", + "UpdateStackInput$Tags": "

Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to supported resources in the stack. You can specify a maximum number of 50 tags.

If you don't specify this parameter, AWS CloudFormation doesn't modify the stack's tags. If you specify an empty value, AWS CloudFormation removes all associated tags.

", + "UpdateStackSetInput$Tags": "

The key-value pairs to associate with this stack set and the stacks created from it. AWS CloudFormation also propagates these tags to supported resources that are created in the stacks. You can specify a maximum number of 50 tags.

If you specify tags for this parameter, those tags replace any list of tags that are currently associated with this stack set. This means:

  • If you don't specify this parameter, AWS CloudFormation doesn't modify the stack's tags.

  • If you specify any tags using this parameter, you must specify all the tags that you want associated with this stack set, even tags you've specifed before (for example, when creating the stack set or during a previous update of the stack set.). Any tags that you don't include in the updated list of tags are removed from the stack set, and therefore from the stacks and resources as well.

  • If you specify an empty value, AWS CloudFormation removes all currently associated tags.

If you specify new tags as part of an UpdateStackSet action, AWS CloudFormation checks to see if you have the required IAM permission to tag resources. If you omit tags that are currently associated with the stack set from the list of tags you specify, AWS CloudFormation assumes that you want to remove those tags from the stack set, and checks to see if you have permission to untag resources. If you don't have the necessary permission(s), the entire UpdateStackSet action fails with an access denied error, and the stack set is not updated.

" } }, "TemplateBody": { @@ -1057,10 +1580,13 @@ "refs": { "CreateChangeSetInput$TemplateBody": "

A structure that contains the body of the revised template, with a minimum length of 1 byte and a maximum length of 51,200 bytes. AWS CloudFormation generates the change set by comparing this template with the template of the stack that you specified.

Conditional: You must specify only TemplateBody or TemplateURL.

", "CreateStackInput$TemplateBody": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

", + "CreateStackSetInput$TemplateBody": "

The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

", "EstimateTemplateCostInput$TemplateBody": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. (For more information, go to Template Anatomy in the AWS CloudFormation User Guide.)

Conditional: You must pass TemplateBody or TemplateURL. If both are passed, only TemplateBody is used.

", "GetTemplateOutput$TemplateBody": "

Structure containing the template body. (For more information, go to Template Anatomy in the AWS CloudFormation User Guide.)

AWS CloudFormation returns the same template that was used when the stack was created.

", - "GetTemplateSummaryInput$TemplateBody": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information about templates, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: StackName, TemplateBody, or TemplateURL.

", + "GetTemplateSummaryInput$TemplateBody": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information about templates, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.

", + "StackSet$TemplateBody": "

The structure that contains the body of the template that was used to create or update the stack set.

", "UpdateStackInput$TemplateBody": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. (For more information, go to Template Anatomy in the AWS CloudFormation User Guide.)

Conditional: You must specify only one of the following parameters: TemplateBody, TemplateURL, or set the UsePreviousTemplate to true.

", + "UpdateStackSetInput$TemplateBody": "

The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: TemplateBody or TemplateURL—or set UsePreviousTemplate to true.

", "ValidateTemplateInput$TemplateBody": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.

" } }, @@ -1094,9 +1620,11 @@ "refs": { "CreateChangeSetInput$TemplateURL": "

The location of the file that contains the revised template. The URL must point to a template (max size: 460,800 bytes) that is located in an S3 bucket. AWS CloudFormation generates the change set by comparing this template with the stack that you specified.

Conditional: You must specify only TemplateBody or TemplateURL.

", "CreateStackInput$TemplateURL": "

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, go to the Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

", + "CreateStackSetInput$TemplateURL": "

The location of the file that contains the template body. The URL must point to a template (maximum size: 460,800 bytes) that's located in an Amazon S3 bucket. For more information, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

", "EstimateTemplateCostInput$TemplateURL": "

Location of file containing the template body. The URL must point to a template that is located in an Amazon S3 bucket. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.

", - "GetTemplateSummaryInput$TemplateURL": "

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information about templates, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: StackName, TemplateBody, or TemplateURL.

", + "GetTemplateSummaryInput$TemplateURL": "

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information about templates, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.

", "UpdateStackInput$TemplateURL": "

Location of file containing the template body. The URL must point to a template that is located in an Amazon S3 bucket. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: TemplateBody, TemplateURL, or set the UsePreviousTemplate to true.

", + "UpdateStackSetInput$TemplateURL": "

The location of the file that contains the template body. The URL must point to a template (maximum size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: TemplateBody or TemplateURL—or set UsePreviousTemplate to true.

", "ValidateTemplateInput$TemplateURL": "

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.

" } }, @@ -1113,7 +1641,11 @@ "StackEvent$Timestamp": "

Time the status was updated.

", "StackResource$Timestamp": "

Time the status was updated.

", "StackResourceDetail$LastUpdatedTimestamp": "

Time the status was updated.

", - "StackResourceSummary$LastUpdatedTimestamp": "

Time the status was updated.

" + "StackResourceSummary$LastUpdatedTimestamp": "

Time the status was updated.

", + "StackSetOperation$CreationTimestamp": "

The time at which the operation was initiated. Note that the creation times for the stack set operation might differ from the creation time of the individual stacks themselves. This is because AWS CloudFormation needs to perform preparatory work for the operation, such as dispatching the work to the requested regions, before actually creating the first stacks.

", + "StackSetOperation$EndTimestamp": "

The time at which the stack set operation ended, across all accounts and regions specified. Note that this doesn't necessarily mean that the stack set operation was successful, or even attempted, in each account or region.

", + "StackSetOperationSummary$CreationTimestamp": "

The time at which the operation was initiated. Note that the creation times for the stack set operation might differ from the creation time of the individual stacks themselves. This is because AWS CloudFormation needs to perform preparatory work for the operation, such as dispatching the work to the requested regions, before actually creating the first stacks.

", + "StackSetOperationSummary$EndTimestamp": "

The time at which the stack set operation ended, across all accounts and regions specified. Note that this doesn't necessarily mean that the stack set operation was successful, or even attempted, in each account or region.

" } }, "TokenAlreadyExistsException": { @@ -1134,6 +1666,12 @@ "ValidateTemplateOutput$DeclaredTransforms": "

A list of the transforms that are declared in the template.

" } }, + "Type": { + "base": null, + "refs": { + "RollbackTrigger$Type": "

The resource type of the rollback trigger. Currently, AWS::CloudWatch::Alarm is the only supported resource type.

" + } + }, "UpdateStackInput": { "base": "

The input for an UpdateStack action.

", "refs": { @@ -1144,6 +1682,26 @@ "refs": { } }, + "UpdateStackSetInput": { + "base": null, + "refs": { + } + }, + "UpdateStackSetOutput": { + "base": null, + "refs": { + } + }, + "UpdateTerminationProtectionInput": { + "base": null, + "refs": { + } + }, + "UpdateTerminationProtectionOutput": { + "base": null, + "refs": { + } + }, "Url": { "base": null, "refs": { @@ -1154,7 +1712,8 @@ "base": null, "refs": { "CreateChangeSetInput$UsePreviousTemplate": "

Whether to reuse the template that is associated with the stack to create the change set.

", - "UpdateStackInput$UsePreviousTemplate": "

Reuse the existing template that is associated with the stack that you are updating.

Conditional: You must specify only one of the following parameters: TemplateBody, TemplateURL, or set the UsePreviousTemplate to true.

" + "UpdateStackInput$UsePreviousTemplate": "

Reuse the existing template that is associated with the stack that you are updating.

Conditional: You must specify only one of the following parameters: TemplateBody, TemplateURL, or set the UsePreviousTemplate to true.

", + "UpdateStackSetInput$UsePreviousTemplate": "

Use the existing template that's associated with the stack set that you're updating.

Conditional: You must specify only one of the following parameters: TemplateBody or TemplateURL—or set UsePreviousTemplate to true.

" } }, "UsePreviousValue": { diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/cloudhsmv2/2017-04-28/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/cloudhsmv2/2017-04-28/api-2.json new file mode 100644 index 000000000..2ad3d434c --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/cloudhsmv2/2017-04-28/api-2.json @@ -0,0 +1,604 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-04-28", + "endpointPrefix":"cloudhsmv2", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"CloudHSM V2", + "serviceFullName":"AWS CloudHSM V2", + "signatureVersion":"v4", + "signingName":"cloudhsm", + "targetPrefix":"BaldrApiService", + "uid":"cloudhsmv2-2017-04-28" + }, + "operations":{ + "CreateCluster":{ + "name":"CreateCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateClusterRequest"}, + "output":{"shape":"CreateClusterResponse"}, + "errors":[ + {"shape":"CloudHsmInternalFailureException"}, + {"shape":"CloudHsmServiceException"}, + {"shape":"CloudHsmResourceNotFoundException"}, + {"shape":"CloudHsmInvalidRequestException"}, + {"shape":"CloudHsmAccessDeniedException"} + ] + }, + "CreateHsm":{ + "name":"CreateHsm", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateHsmRequest"}, + "output":{"shape":"CreateHsmResponse"}, + "errors":[ + {"shape":"CloudHsmInternalFailureException"}, + {"shape":"CloudHsmServiceException"}, + {"shape":"CloudHsmInvalidRequestException"}, + {"shape":"CloudHsmResourceNotFoundException"}, + {"shape":"CloudHsmAccessDeniedException"} + ] + }, + "DeleteCluster":{ + "name":"DeleteCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteClusterRequest"}, + "output":{"shape":"DeleteClusterResponse"}, + "errors":[ + {"shape":"CloudHsmInternalFailureException"}, + {"shape":"CloudHsmServiceException"}, + {"shape":"CloudHsmResourceNotFoundException"}, + {"shape":"CloudHsmInvalidRequestException"}, + {"shape":"CloudHsmAccessDeniedException"} + ] + }, + "DeleteHsm":{ + "name":"DeleteHsm", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteHsmRequest"}, + "output":{"shape":"DeleteHsmResponse"}, + "errors":[ + {"shape":"CloudHsmInternalFailureException"}, + {"shape":"CloudHsmServiceException"}, + {"shape":"CloudHsmResourceNotFoundException"}, + {"shape":"CloudHsmInvalidRequestException"}, + {"shape":"CloudHsmAccessDeniedException"} + ] + }, + "DescribeBackups":{ + "name":"DescribeBackups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeBackupsRequest"}, + "output":{"shape":"DescribeBackupsResponse"}, + "errors":[ + {"shape":"CloudHsmInternalFailureException"}, + {"shape":"CloudHsmServiceException"}, + {"shape":"CloudHsmResourceNotFoundException"}, + {"shape":"CloudHsmInvalidRequestException"}, + {"shape":"CloudHsmAccessDeniedException"} + ] + }, + "DescribeClusters":{ + "name":"DescribeClusters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeClustersRequest"}, + "output":{"shape":"DescribeClustersResponse"}, + "errors":[ + {"shape":"CloudHsmInternalFailureException"}, + {"shape":"CloudHsmServiceException"}, + {"shape":"CloudHsmInvalidRequestException"}, + {"shape":"CloudHsmAccessDeniedException"} + ] + }, + "InitializeCluster":{ + "name":"InitializeCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"InitializeClusterRequest"}, + "output":{"shape":"InitializeClusterResponse"}, + "errors":[ + {"shape":"CloudHsmInternalFailureException"}, + {"shape":"CloudHsmServiceException"}, + {"shape":"CloudHsmResourceNotFoundException"}, + {"shape":"CloudHsmInvalidRequestException"}, + {"shape":"CloudHsmAccessDeniedException"} + ] + }, + "ListTags":{ + "name":"ListTags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsRequest"}, + "output":{"shape":"ListTagsResponse"}, + "errors":[ + {"shape":"CloudHsmInternalFailureException"}, + {"shape":"CloudHsmServiceException"}, + {"shape":"CloudHsmResourceNotFoundException"}, + {"shape":"CloudHsmInvalidRequestException"}, + {"shape":"CloudHsmAccessDeniedException"} + ] + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"CloudHsmInternalFailureException"}, + {"shape":"CloudHsmServiceException"}, + {"shape":"CloudHsmResourceNotFoundException"}, + {"shape":"CloudHsmInvalidRequestException"}, + {"shape":"CloudHsmAccessDeniedException"} + ] + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"CloudHsmInternalFailureException"}, + {"shape":"CloudHsmServiceException"}, + {"shape":"CloudHsmResourceNotFoundException"}, + {"shape":"CloudHsmInvalidRequestException"}, + {"shape":"CloudHsmAccessDeniedException"} + ] + } + }, + "shapes":{ + "Backup":{ + "type":"structure", + "required":["BackupId"], + "members":{ + "BackupId":{"shape":"BackupId"}, + "BackupState":{"shape":"BackupState"}, + "ClusterId":{"shape":"ClusterId"}, + "CreateTimestamp":{"shape":"Timestamp"} + } + }, + "BackupId":{ + "type":"string", + "pattern":"backup-[2-7a-zA-Z]{11,16}" + }, + "BackupPolicy":{ + "type":"string", + "enum":["DEFAULT"] + }, + "BackupState":{ + "type":"string", + "enum":[ + "CREATE_IN_PROGRESS", + "READY", + "DELETED" + ] + }, + "Backups":{ + "type":"list", + "member":{"shape":"Backup"} + }, + "Cert":{ + "type":"string", + "max":5000, + "pattern":"[a-zA-Z0-9+-/=\\s]*" + }, + "Certificates":{ + "type":"structure", + "members":{ + "ClusterCsr":{"shape":"Cert"}, + "HsmCertificate":{"shape":"Cert"}, + "AwsHardwareCertificate":{"shape":"Cert"}, + "ManufacturerHardwareCertificate":{"shape":"Cert"}, + "ClusterCertificate":{"shape":"Cert"} + } + }, + "CloudHsmAccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"errorMessage"} + }, + "exception":true + }, + "CloudHsmInternalFailureException":{ + "type":"structure", + "members":{ + "Message":{"shape":"errorMessage"} + }, + "exception":true, + "fault":true + }, + "CloudHsmInvalidRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"errorMessage"} + }, + "exception":true + }, + "CloudHsmResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"errorMessage"} + }, + "exception":true + }, + "CloudHsmServiceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"errorMessage"} + }, + "exception":true + }, + "Cluster":{ + "type":"structure", + "members":{ + "BackupPolicy":{"shape":"BackupPolicy"}, + "ClusterId":{"shape":"ClusterId"}, + "CreateTimestamp":{"shape":"Timestamp"}, + "Hsms":{"shape":"Hsms"}, + "HsmType":{"shape":"HsmType"}, + "PreCoPassword":{"shape":"PreCoPassword"}, + "SecurityGroup":{"shape":"SecurityGroup"}, + "SourceBackupId":{"shape":"BackupId"}, + "State":{"shape":"ClusterState"}, + "StateMessage":{"shape":"StateMessage"}, + "SubnetMapping":{"shape":"ExternalSubnetMapping"}, + "VpcId":{"shape":"VpcId"}, + "Certificates":{"shape":"Certificates"} + } + }, + "ClusterId":{ + "type":"string", + "pattern":"cluster-[2-7a-zA-Z]{11,16}" + }, + "ClusterState":{ + "type":"string", + "enum":[ + "CREATE_IN_PROGRESS", + "UNINITIALIZED", + "INITIALIZE_IN_PROGRESS", + "INITIALIZED", + "ACTIVE", + "UPDATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "DELETED", + "DEGRADED" + ] + }, + "Clusters":{ + "type":"list", + "member":{"shape":"Cluster"} + }, + "CreateClusterRequest":{ + "type":"structure", + "required":[ + "SubnetIds", + "HsmType" + ], + "members":{ + "SubnetIds":{"shape":"SubnetIds"}, + "HsmType":{"shape":"HsmType"}, + "SourceBackupId":{"shape":"BackupId"} + } + }, + "CreateClusterResponse":{ + "type":"structure", + "members":{ + "Cluster":{"shape":"Cluster"} + } + }, + "CreateHsmRequest":{ + "type":"structure", + "required":[ + "ClusterId", + "AvailabilityZone" + ], + "members":{ + "ClusterId":{"shape":"ClusterId"}, + "AvailabilityZone":{"shape":"ExternalAz"}, + "IpAddress":{"shape":"IpAddress"} + } + }, + "CreateHsmResponse":{ + "type":"structure", + "members":{ + "Hsm":{"shape":"Hsm"} + } + }, + "DeleteClusterRequest":{ + "type":"structure", + "required":["ClusterId"], + "members":{ + "ClusterId":{"shape":"ClusterId"} + } + }, + "DeleteClusterResponse":{ + "type":"structure", + "members":{ + "Cluster":{"shape":"Cluster"} + } + }, + "DeleteHsmRequest":{ + "type":"structure", + "required":["ClusterId"], + "members":{ + "ClusterId":{"shape":"ClusterId"}, + "HsmId":{"shape":"HsmId"}, + "EniId":{"shape":"EniId"}, + "EniIp":{"shape":"IpAddress"} + } + }, + "DeleteHsmResponse":{ + "type":"structure", + "members":{ + "HsmId":{"shape":"HsmId"} + } + }, + "DescribeBackupsRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxSize"}, + "Filters":{"shape":"Filters"} + } + }, + "DescribeBackupsResponse":{ + "type":"structure", + "members":{ + "Backups":{"shape":"Backups"}, + "NextToken":{"shape":"NextToken"} + } + }, + "DescribeClustersRequest":{ + "type":"structure", + "members":{ + "Filters":{"shape":"Filters"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxSize"} + } + }, + "DescribeClustersResponse":{ + "type":"structure", + "members":{ + "Clusters":{"shape":"Clusters"}, + "NextToken":{"shape":"NextToken"} + } + }, + "EniId":{ + "type":"string", + "pattern":"eni-[0-9a-fA-F]{8}" + }, + "ExternalAz":{ + "type":"string", + "pattern":"[a-z]{2}(-(gov|isob|iso))?-(east|west|north|south|central){1,2}-\\d[a-z]" + }, + "ExternalSubnetMapping":{ + "type":"map", + "key":{"shape":"ExternalAz"}, + "value":{"shape":"SubnetId"} + }, + "Field":{ + "type":"string", + "pattern":"[a-zA-Z0-9_-]+" + }, + "Filters":{ + "type":"map", + "key":{"shape":"Field"}, + "value":{"shape":"Strings"} + }, + "Hsm":{ + "type":"structure", + "required":["HsmId"], + "members":{ + "AvailabilityZone":{"shape":"ExternalAz"}, + "ClusterId":{"shape":"ClusterId"}, + "SubnetId":{"shape":"SubnetId"}, + "EniId":{"shape":"EniId"}, + "EniIp":{"shape":"IpAddress"}, + "HsmId":{"shape":"HsmId"}, + "State":{"shape":"HsmState"}, + "StateMessage":{"shape":"String"} + } + }, + "HsmId":{ + "type":"string", + "pattern":"hsm-[2-7a-zA-Z]{11,16}" + }, + "HsmState":{ + "type":"string", + "enum":[ + "CREATE_IN_PROGRESS", + "ACTIVE", + "DEGRADED", + "DELETE_IN_PROGRESS", + "DELETED" + ] + }, + "HsmType":{ + "type":"string", + "pattern":"(hsm1\\.medium)" + }, + "Hsms":{ + "type":"list", + "member":{"shape":"Hsm"} + }, + "InitializeClusterRequest":{ + "type":"structure", + "required":[ + "ClusterId", + "SignedCert", + "TrustAnchor" + ], + "members":{ + "ClusterId":{"shape":"ClusterId"}, + "SignedCert":{"shape":"Cert"}, + "TrustAnchor":{"shape":"Cert"} + } + }, + "InitializeClusterResponse":{ + "type":"structure", + "members":{ + "State":{"shape":"ClusterState"}, + "StateMessage":{"shape":"StateMessage"} + } + }, + "IpAddress":{ + "type":"string", + "pattern":"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}" + }, + "ListTagsRequest":{ + "type":"structure", + "required":["ResourceId"], + "members":{ + "ResourceId":{"shape":"ClusterId"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxSize"} + } + }, + "ListTagsResponse":{ + "type":"structure", + "required":["TagList"], + "members":{ + "TagList":{"shape":"TagList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "MaxSize":{ + "type":"integer", + "max":100, + "min":1 + }, + "NextToken":{ + "type":"string", + "max":256, + "pattern":".*" + }, + "PreCoPassword":{ + "type":"string", + "max":32, + "min":7 + }, + "SecurityGroup":{ + "type":"string", + "pattern":"sg-[0-9a-fA-F]" + }, + "StateMessage":{ + "type":"string", + "max":300, + "pattern":".*" + }, + "String":{"type":"string"}, + "Strings":{ + "type":"list", + "member":{"shape":"String"} + }, + "SubnetId":{ + "type":"string", + "pattern":"subnet-[0-9a-fA-F]{8}" + }, + "SubnetIds":{ + "type":"list", + "member":{"shape":"SubnetId"}, + "max":10, + "min":1 + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{"shape":"TagKey"}, + "Value":{"shape":"TagValue"} + } + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceId", + "TagList" + ], + "members":{ + "ResourceId":{"shape":"ClusterId"}, + "TagList":{"shape":"TagList"} + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "Timestamp":{"type":"timestamp"}, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceId", + "TagKeyList" + ], + "members":{ + "ResourceId":{"shape":"ClusterId"}, + "TagKeyList":{"shape":"TagKeyList"} + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "VpcId":{ + "type":"string", + "pattern":"vpc-[0-9a-fA-F]" + }, + "errorMessage":{"type":"string"} + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/cloudhsmv2/2017-04-28/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/cloudhsmv2/2017-04-28/docs-2.json new file mode 100644 index 000000000..b074fd46a --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/cloudhsmv2/2017-04-28/docs-2.json @@ -0,0 +1,425 @@ +{ + "version": "2.0", + "service": "

For more information about AWS CloudHSM, see AWS CloudHSM and the AWS CloudHSM User Guide.

", + "operations": { + "CreateCluster": "

Creates a new AWS CloudHSM cluster.

", + "CreateHsm": "

Creates a new hardware security module (HSM) in the specified AWS CloudHSM cluster.

", + "DeleteCluster": "

Deletes the specified AWS CloudHSM cluster. Before you can delete a cluster, you must delete all HSMs in the cluster. To see if the cluster contains any HSMs, use DescribeClusters. To delete an HSM, use DeleteHsm.

", + "DeleteHsm": "

Deletes the specified HSM. To specify an HSM, you can use its identifier (ID), the IP address of the HSM's elastic network interface (ENI), or the ID of the HSM's ENI. You need to specify only one of these values. To find these values, use DescribeClusters.

", + "DescribeBackups": "

Gets information about backups of AWS CloudHSM clusters.

This is a paginated operation, which means that each response might contain only a subset of all the backups. When the response contains only a subset of backups, it includes a NextToken value. Use this value in a subsequent DescribeBackups request to get more backups. When you receive a response with no NextToken (or an empty or null value), that means there are no more backups to get.

", + "DescribeClusters": "

Gets information about AWS CloudHSM clusters.

This is a paginated operation, which means that each response might contain only a subset of all the clusters. When the response contains only a subset of clusters, it includes a NextToken value. Use this value in a subsequent DescribeClusters request to get more clusters. When you receive a response with no NextToken (or an empty or null value), that means there are no more clusters to get.

", + "InitializeCluster": "

Claims an AWS CloudHSM cluster by submitting the cluster certificate issued by your issuing certificate authority (CA) and the CA's root certificate. Before you can claim a cluster, you must sign the cluster's certificate signing request (CSR) with your issuing CA. To get the cluster's CSR, use DescribeClusters.

", + "ListTags": "

Gets a list of tags for the specified AWS CloudHSM cluster.

This is a paginated operation, which means that each response might contain only a subset of all the tags. When the response contains only a subset of tags, it includes a NextToken value. Use this value in a subsequent ListTags request to get more tags. When you receive a response with no NextToken (or an empty or null value), that means there are no more tags to get.

", + "TagResource": "

Adds or overwrites one or more tags for the specified AWS CloudHSM cluster.

", + "UntagResource": "

Removes the specified tag or tags from the specified AWS CloudHSM cluster.

" + }, + "shapes": { + "Backup": { + "base": "

Contains information about a backup of an AWS CloudHSM cluster.

", + "refs": { + "Backups$member": null + } + }, + "BackupId": { + "base": null, + "refs": { + "Backup$BackupId": "

The identifier (ID) of the backup.

", + "Cluster$SourceBackupId": "

The identifier (ID) of the backup used to create the cluster. This value exists only when the cluster was created from a backup.

", + "CreateClusterRequest$SourceBackupId": "

The identifier (ID) of the cluster backup to restore. Use this value to restore the cluster from a backup instead of creating a new cluster. To find the backup ID, use DescribeBackups.

" + } + }, + "BackupPolicy": { + "base": null, + "refs": { + "Cluster$BackupPolicy": "

The cluster's backup policy.

" + } + }, + "BackupState": { + "base": null, + "refs": { + "Backup$BackupState": "

The state of the backup.

" + } + }, + "Backups": { + "base": null, + "refs": { + "DescribeBackupsResponse$Backups": "

A list of backups.

" + } + }, + "Cert": { + "base": null, + "refs": { + "Certificates$ClusterCsr": "

The cluster's certificate signing request (CSR). The CSR exists only when the cluster's state is UNINITIALIZED.

", + "Certificates$HsmCertificate": "

The HSM certificate issued (signed) by the HSM hardware.

", + "Certificates$AwsHardwareCertificate": "

The HSM hardware certificate issued (signed) by AWS CloudHSM.

", + "Certificates$ManufacturerHardwareCertificate": "

The HSM hardware certificate issued (signed) by the hardware manufacturer.

", + "Certificates$ClusterCertificate": "

The cluster certificate issued (signed) by the issuing certificate authority (CA) of the cluster's owner.

", + "InitializeClusterRequest$SignedCert": "

The cluster certificate issued (signed) by your issuing certificate authority (CA). The certificate must be in PEM format.

", + "InitializeClusterRequest$TrustAnchor": "

The issuing certificate of the issuing certificate authority (CA) that issued (signed) the cluster certificate. This can be a root (self-signed) certificate or a certificate chain that begins with the certificate that issued the cluster certificate and ends with a root certificate. The certificate or certificate chain must be in PEM format.

" + } + }, + "Certificates": { + "base": "

Contains one or more certificates or a certificate signing request (CSR).

", + "refs": { + "Cluster$Certificates": "

Contains one or more certificates or a certificate signing request (CSR).

" + } + }, + "CloudHsmAccessDeniedException": { + "base": "

The request was rejected because the requester does not have permission to perform the requested operation.

", + "refs": { + } + }, + "CloudHsmInternalFailureException": { + "base": "

The request was rejected because of an AWS CloudHSM internal failure. The request can be retried.

", + "refs": { + } + }, + "CloudHsmInvalidRequestException": { + "base": "

The request was rejected because it is not a valid request.

", + "refs": { + } + }, + "CloudHsmResourceNotFoundException": { + "base": "

The request was rejected because it refers to a resource that cannot be found.

", + "refs": { + } + }, + "CloudHsmServiceException": { + "base": "

The request was rejected because an error occurred.

", + "refs": { + } + }, + "Cluster": { + "base": "

Contains information about an AWS CloudHSM cluster.

", + "refs": { + "Clusters$member": null, + "CreateClusterResponse$Cluster": "

Information about the cluster that was created.

", + "DeleteClusterResponse$Cluster": "

Information about the cluster that was deleted.

" + } + }, + "ClusterId": { + "base": null, + "refs": { + "Backup$ClusterId": "

The identifier (ID) of the cluster that was backed up.

", + "Cluster$ClusterId": "

The cluster's identifier (ID).

", + "CreateHsmRequest$ClusterId": "

The identifier (ID) of the HSM's cluster. To find the cluster ID, use DescribeClusters.

", + "DeleteClusterRequest$ClusterId": "

The identifier (ID) of the cluster that you are deleting. To find the cluster ID, use DescribeClusters.

", + "DeleteHsmRequest$ClusterId": "

The identifier (ID) of the cluster that contains the HSM that you are deleting.

", + "Hsm$ClusterId": "

The identifier (ID) of the cluster that contains the HSM.

", + "InitializeClusterRequest$ClusterId": "

The identifier (ID) of the cluster that you are claiming. To find the cluster ID, use DescribeClusters.

", + "ListTagsRequest$ResourceId": "

The cluster identifier (ID) for the cluster whose tags you are getting. To find the cluster ID, use DescribeClusters.

", + "TagResourceRequest$ResourceId": "

The cluster identifier (ID) for the cluster that you are tagging. To find the cluster ID, use DescribeClusters.

", + "UntagResourceRequest$ResourceId": "

The cluster identifier (ID) for the cluster whose tags you are removing. To find the cluster ID, use DescribeClusters.

" + } + }, + "ClusterState": { + "base": null, + "refs": { + "Cluster$State": "

The cluster's state.

", + "InitializeClusterResponse$State": "

The cluster's state.

" + } + }, + "Clusters": { + "base": null, + "refs": { + "DescribeClustersResponse$Clusters": "

A list of clusters.

" + } + }, + "CreateClusterRequest": { + "base": null, + "refs": { + } + }, + "CreateClusterResponse": { + "base": null, + "refs": { + } + }, + "CreateHsmRequest": { + "base": null, + "refs": { + } + }, + "CreateHsmResponse": { + "base": null, + "refs": { + } + }, + "DeleteClusterRequest": { + "base": null, + "refs": { + } + }, + "DeleteClusterResponse": { + "base": null, + "refs": { + } + }, + "DeleteHsmRequest": { + "base": null, + "refs": { + } + }, + "DeleteHsmResponse": { + "base": null, + "refs": { + } + }, + "DescribeBackupsRequest": { + "base": null, + "refs": { + } + }, + "DescribeBackupsResponse": { + "base": null, + "refs": { + } + }, + "DescribeClustersRequest": { + "base": null, + "refs": { + } + }, + "DescribeClustersResponse": { + "base": null, + "refs": { + } + }, + "EniId": { + "base": null, + "refs": { + "DeleteHsmRequest$EniId": "

The identifier (ID) of the elastic network interface (ENI) of the HSM that you are deleting.

", + "Hsm$EniId": "

The identifier (ID) of the HSM's elastic network interface (ENI).

" + } + }, + "ExternalAz": { + "base": null, + "refs": { + "CreateHsmRequest$AvailabilityZone": "

The Availability Zone where you are creating the HSM. To find the cluster's Availability Zones, use DescribeClusters.

", + "ExternalSubnetMapping$key": null, + "Hsm$AvailabilityZone": "

The Availability Zone that contains the HSM.

" + } + }, + "ExternalSubnetMapping": { + "base": null, + "refs": { + "Cluster$SubnetMapping": "

A map of the cluster's subnets and their corresponding Availability Zones.

" + } + }, + "Field": { + "base": null, + "refs": { + "Filters$key": null + } + }, + "Filters": { + "base": null, + "refs": { + "DescribeBackupsRequest$Filters": "

One or more filters to limit the items returned in the response.

Use the backupIds filter to return only the specified backups. Specify backups by their backup identifier (ID).

Use the clusterIds filter to return only the backups for the specified clusters. Specify clusters by their cluster identifier (ID).

Use the states filter to return only backups that match the specified state.

", + "DescribeClustersRequest$Filters": "

One or more filters to limit the items returned in the response.

Use the clusterIds filter to return only the specified clusters. Specify clusters by their cluster identifier (ID).

Use the vpcIds filter to return only the clusters in the specified virtual private clouds (VPCs). Specify VPCs by their VPC identifier (ID).

Use the states filter to return only clusters that match the specified state.

" + } + }, + "Hsm": { + "base": "

Contains information about a hardware security module (HSM) in an AWS CloudHSM cluster.

", + "refs": { + "CreateHsmResponse$Hsm": "

Information about the HSM that was created.

", + "Hsms$member": null + } + }, + "HsmId": { + "base": null, + "refs": { + "DeleteHsmRequest$HsmId": "

The identifier (ID) of the HSM that you are deleting.

", + "DeleteHsmResponse$HsmId": "

The identifier (ID) of the HSM that was deleted.

", + "Hsm$HsmId": "

The HSM's identifier (ID).

" + } + }, + "HsmState": { + "base": null, + "refs": { + "Hsm$State": "

The HSM's state.

" + } + }, + "HsmType": { + "base": null, + "refs": { + "Cluster$HsmType": "

The type of HSM that the cluster contains.

", + "CreateClusterRequest$HsmType": "

The type of HSM to use in the cluster. Currently the only allowed value is hsm1.medium.

" + } + }, + "Hsms": { + "base": null, + "refs": { + "Cluster$Hsms": "

Contains information about the HSMs in the cluster.

" + } + }, + "InitializeClusterRequest": { + "base": null, + "refs": { + } + }, + "InitializeClusterResponse": { + "base": null, + "refs": { + } + }, + "IpAddress": { + "base": null, + "refs": { + "CreateHsmRequest$IpAddress": "

The HSM's IP address. If you specify an IP address, use an available address from the subnet that maps to the Availability Zone where you are creating the HSM. If you don't specify an IP address, one is chosen for you from that subnet.

", + "DeleteHsmRequest$EniIp": "

The IP address of the elastic network interface (ENI) of the HSM that you are deleting.

", + "Hsm$EniIp": "

The IP address of the HSM's elastic network interface (ENI).

" + } + }, + "ListTagsRequest": { + "base": null, + "refs": { + } + }, + "ListTagsResponse": { + "base": null, + "refs": { + } + }, + "MaxSize": { + "base": null, + "refs": { + "DescribeBackupsRequest$MaxResults": "

The maximum number of backups to return in the response. When there are more backups than the number you specify, the response contains a NextToken value.

", + "DescribeClustersRequest$MaxResults": "

The maximum number of clusters to return in the response. When there are more clusters than the number you specify, the response contains a NextToken value.

", + "ListTagsRequest$MaxResults": "

The maximum number of tags to return in the response. When there are more tags than the number you specify, the response contains a NextToken value.

" + } + }, + "NextToken": { + "base": null, + "refs": { + "DescribeBackupsRequest$NextToken": "

The NextToken value that you received in the previous response. Use this value to get more backups.

", + "DescribeBackupsResponse$NextToken": "

An opaque string that indicates that the response contains only a subset of backups. Use this value in a subsequent DescribeBackups request to get more backups.

", + "DescribeClustersRequest$NextToken": "

The NextToken value that you received in the previous response. Use this value to get more clusters.

", + "DescribeClustersResponse$NextToken": "

An opaque string that indicates that the response contains only a subset of clusters. Use this value in a subsequent DescribeClusters request to get more clusters.

", + "ListTagsRequest$NextToken": "

The NextToken value that you received in the previous response. Use this value to get more tags.

", + "ListTagsResponse$NextToken": "

An opaque string that indicates that the response contains only a subset of tags. Use this value in a subsequent ListTags request to get more tags.

" + } + }, + "PreCoPassword": { + "base": null, + "refs": { + "Cluster$PreCoPassword": "

The default password for the cluster's Pre-Crypto Officer (PRECO) user.

" + } + }, + "SecurityGroup": { + "base": null, + "refs": { + "Cluster$SecurityGroup": "

The identifier (ID) of the cluster's security group.

" + } + }, + "StateMessage": { + "base": null, + "refs": { + "Cluster$StateMessage": "

A description of the cluster's state.

", + "InitializeClusterResponse$StateMessage": "

A description of the cluster's state.

" + } + }, + "String": { + "base": null, + "refs": { + "Hsm$StateMessage": "

A description of the HSM's state.

", + "Strings$member": null + } + }, + "Strings": { + "base": null, + "refs": { + "Filters$value": null + } + }, + "SubnetId": { + "base": null, + "refs": { + "ExternalSubnetMapping$value": null, + "Hsm$SubnetId": "

The subnet that contains the HSM's elastic network interface (ENI).

", + "SubnetIds$member": null + } + }, + "SubnetIds": { + "base": null, + "refs": { + "CreateClusterRequest$SubnetIds": "

The identifiers (IDs) of the subnets where you are creating the cluster. You must specify at least one subnet. If you specify multiple subnets, they must meet the following criteria:

  • All subnets must be in the same virtual private cloud (VPC).

  • You can specify only one subnet per Availability Zone.

" + } + }, + "Tag": { + "base": "

Contains a tag. A tag is a key-value pair.

", + "refs": { + "TagList$member": null + } + }, + "TagKey": { + "base": null, + "refs": { + "Tag$Key": "

The key of the tag.

", + "TagKeyList$member": null + } + }, + "TagKeyList": { + "base": null, + "refs": { + "UntagResourceRequest$TagKeyList": "

A list of one or more tag keys for the tags that you are removing. Specify only the tag keys, not the tag values.

" + } + }, + "TagList": { + "base": null, + "refs": { + "ListTagsResponse$TagList": "

A list of tags.

", + "TagResourceRequest$TagList": "

A list of one or more tags.

" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagResourceResponse": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "Tag$Value": "

The value of the tag.

" + } + }, + "Timestamp": { + "base": null, + "refs": { + "Backup$CreateTimestamp": "

The date and time when the backup was created.

", + "Cluster$CreateTimestamp": "

The date and time when the cluster was created.

" + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResponse": { + "base": null, + "refs": { + } + }, + "VpcId": { + "base": null, + "refs": { + "Cluster$VpcId": "

The identifier (ID) of the virtual private cloud (VPC) that contains the cluster.

" + } + }, + "errorMessage": { + "base": null, + "refs": { + "CloudHsmAccessDeniedException$Message": null, + "CloudHsmInternalFailureException$Message": null, + "CloudHsmInvalidRequestException$Message": null, + "CloudHsmResourceNotFoundException$Message": null, + "CloudHsmServiceException$Message": null + } + } + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/cloudhsmv2/2017-04-28/examples-1.json b/vendor/github.com/aws/aws-sdk-go/models/apis/cloudhsmv2/2017-04-28/examples-1.json new file mode 100644 index 000000000..0ea7e3b0b --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/cloudhsmv2/2017-04-28/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/cloudhsmv2/2017-04-28/paginators-1.json b/vendor/github.com/aws/aws-sdk-go/models/apis/cloudhsmv2/2017-04-28/paginators-1.json new file mode 100644 index 000000000..c0e07e740 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/cloudhsmv2/2017-04-28/paginators-1.json @@ -0,0 +1,19 @@ +{ + "pagination": { + "DescribeBackups": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "DescribeClusters": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListTags": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + } + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/codebuild/2016-10-06/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/codebuild/2016-10-06/api-2.json index c10569b63..0bfe4b841 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/codebuild/2016-10-06/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/codebuild/2016-10-06/api-2.json @@ -11,6 +11,18 @@ "uid":"codebuild-2016-10-06" }, "operations":{ + "BatchDeleteBuilds":{ + "name":"BatchDeleteBuilds", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDeleteBuildsInput"}, + "output":{"shape":"BatchDeleteBuildsOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ] + }, "BatchGetBuilds":{ "name":"BatchGetBuilds", "http":{ @@ -49,6 +61,21 @@ {"shape":"AccountLimitExceededException"} ] }, + "CreateWebhook":{ + "name":"CreateWebhook", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateWebhookInput"}, + "output":{"shape":"CreateWebhookOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"OAuthProviderException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "DeleteProject":{ "name":"DeleteProject", "http":{ @@ -61,6 +88,20 @@ {"shape":"InvalidInputException"} ] }, + "DeleteWebhook":{ + "name":"DeleteWebhook", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteWebhookInput"}, + "output":{"shape":"DeleteWebhookOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"OAuthProviderException"} + ] + }, "ListBuilds":{ "name":"ListBuilds", "http":{ @@ -177,6 +218,20 @@ "NO_ARTIFACTS" ] }, + "BatchDeleteBuildsInput":{ + "type":"structure", + "required":["ids"], + "members":{ + "ids":{"shape":"BuildIds"} + } + }, + "BatchDeleteBuildsOutput":{ + "type":"structure", + "members":{ + "buildsDeleted":{"shape":"BuildIds"}, + "buildsNotDeleted":{"shape":"BuildsNotDeleted"} + } + }, "BatchGetBuildsInput":{ "type":"structure", "required":["ids"], @@ -241,6 +296,13 @@ "max":100, "min":1 }, + "BuildNotDeleted":{ + "type":"structure", + "members":{ + "id":{"shape":"NonEmptyString"}, + "statusCode":{"shape":"String"} + } + }, "BuildPhase":{ "type":"structure", "members":{ @@ -275,6 +337,10 @@ "type":"list", "member":{"shape":"Build"} }, + "BuildsNotDeleted":{ + "type":"list", + "member":{"shape":"BuildNotDeleted"} + }, "ComputeType":{ "type":"string", "enum":[ @@ -309,6 +375,19 @@ "project":{"shape":"Project"} } }, + "CreateWebhookInput":{ + "type":"structure", + "required":["projectName"], + "members":{ + "projectName":{"shape":"ProjectName"} + } + }, + "CreateWebhookOutput":{ + "type":"structure", + "members":{ + "webhook":{"shape":"Webhook"} + } + }, "DeleteProjectInput":{ "type":"structure", "required":["name"], @@ -321,6 +400,18 @@ "members":{ } }, + "DeleteWebhookInput":{ + "type":"structure", + "required":["projectName"], + "members":{ + "projectName":{"shape":"ProjectName"} + } + }, + "DeleteWebhookOutput":{ + "type":"structure", + "members":{ + } + }, "EnvironmentImage":{ "type":"structure", "members":{ @@ -366,9 +457,17 @@ ], "members":{ "name":{"shape":"NonEmptyString"}, - "value":{"shape":"String"} + "value":{"shape":"String"}, + "type":{"shape":"EnvironmentVariableType"} } }, + "EnvironmentVariableType":{ + "type":"string", + "enum":[ + "PLAINTEXT", + "PARAMETER_STORE" + ] + }, "EnvironmentVariables":{ "type":"list", "member":{"shape":"EnvironmentVariable"} @@ -395,6 +494,7 @@ "GOLANG", "DOCKER", "ANDROID", + "DOTNET", "BASE" ] }, @@ -466,6 +566,12 @@ "type":"string", "min":1 }, + "OAuthProviderException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "PhaseContext":{ "type":"structure", "members":{ @@ -499,7 +605,8 @@ "encryptionKey":{"shape":"NonEmptyString"}, "tags":{"shape":"TagList"}, "created":{"shape":"Timestamp"}, - "lastModified":{"shape":"Timestamp"} + "lastModified":{"shape":"Timestamp"}, + "webhook":{"shape":"Webhook"} } }, "ProjectArtifacts":{ @@ -605,7 +712,8 @@ "CODECOMMIT", "CODEPIPELINE", "GITHUB", - "S3" + "S3", + "BITBUCKET" ] }, "StartBuildInput":{ @@ -697,6 +805,12 @@ "min":1, "pattern":"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=@+\\\\-]*)$" }, + "Webhook":{ + "type":"structure", + "members":{ + "url":{"shape":"NonEmptyString"} + } + }, "WrapperBoolean":{"type":"boolean"}, "WrapperInt":{"type":"integer"}, "WrapperLong":{"type":"long"} diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/codebuild/2016-10-06/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/codebuild/2016-10-06/docs-2.json index 801df5a87..f47b06e7e 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/codebuild/2016-10-06/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/codebuild/2016-10-06/docs-2.json @@ -1,11 +1,14 @@ { "version": "2.0", - "service": "AWS CodeBuild

AWS CodeBuild is a fully managed build service in the cloud. AWS CodeBuild compiles your source code, runs unit tests, and produces artifacts that are ready to deploy. AWS CodeBuild eliminates the need to provision, manage, and scale your own build servers. It provides prepackaged build environments for the most popular programming languages and build tools, such as Apach Maven, Gradle, and more. You can also fully customize build environments in AWS CodeBuild to use your own build tools. AWS CodeBuild scales automatically to meet peak build requests, and you pay only for the build time you consume. For more information about AWS CodeBuild, see the AWS CodeBuild User Guide.

AWS CodeBuild supports these operations:

  • BatchGetProjects: Gets information about one or more build projects. A build project defines how AWS CodeBuild will run a build. This includes information such as where to get the source code to build, the build environment to use, the build commands to run, and where to store the build output. A build environment represents a combination of operating system, programming language runtime, and tools that AWS CodeBuild will use to run a build. Also, you can add tags to build projects to help manage your resources and costs.

  • CreateProject: Creates a build project.

  • DeleteProject: Deletes a build project.

  • ListProjects: Gets a list of build project names, with each build project name representing a single build project.

  • UpdateProject: Changes the settings of an existing build project.

  • BatchGetBuilds: Gets information about one or more builds.

  • ListBuilds: Gets a list of build IDs, with each build ID representing a single build.

  • ListBuildsForProject: Gets a list of build IDs for the specified build project, with each build ID representing a single build.

  • StartBuild: Starts running a build.

  • StopBuild: Attempts to stop running a build.

  • ListCuratedEnvironmentImages: Gets information about Docker images that are managed by AWS CodeBuild.

", + "service": "AWS CodeBuild

AWS CodeBuild is a fully managed build service in the cloud. AWS CodeBuild compiles your source code, runs unit tests, and produces artifacts that are ready to deploy. AWS CodeBuild eliminates the need to provision, manage, and scale your own build servers. It provides prepackaged build environments for the most popular programming languages and build tools, such as Apache Maven, Gradle, and more. You can also fully customize build environments in AWS CodeBuild to use your own build tools. AWS CodeBuild scales automatically to meet peak build requests, and you pay only for the build time you consume. For more information about AWS CodeBuild, see the AWS CodeBuild User Guide.

AWS CodeBuild supports these operations:

  • BatchDeleteBuilds: Deletes one or more builds.

  • BatchGetProjects: Gets information about one or more build projects. A build project defines how AWS CodeBuild will run a build. This includes information such as where to get the source code to build, the build environment to use, the build commands to run, and where to store the build output. A build environment represents a combination of operating system, programming language runtime, and tools that AWS CodeBuild will use to run a build. Also, you can add tags to build projects to help manage your resources and costs.

  • CreateProject: Creates a build project.

  • CreateWebhook: For an existing AWS CodeBuild build project that has its source code stored in a GitHub repository, enables AWS CodeBuild to begin automatically rebuilding the source code every time a code change is pushed to the repository.

  • DeleteProject: Deletes a build project.

  • DeleteWebhook: For an existing AWS CodeBuild build project that has its source code stored in a GitHub repository, stops AWS CodeBuild from automatically rebuilding the source code every time a code change is pushed to the repository.

  • ListProjects: Gets a list of build project names, with each build project name representing a single build project.

  • UpdateProject: Changes the settings of an existing build project.

  • BatchGetBuilds: Gets information about one or more builds.

  • ListBuilds: Gets a list of build IDs, with each build ID representing a single build.

  • ListBuildsForProject: Gets a list of build IDs for the specified build project, with each build ID representing a single build.

  • StartBuild: Starts running a build.

  • StopBuild: Attempts to stop running a build.

  • ListCuratedEnvironmentImages: Gets information about Docker images that are managed by AWS CodeBuild.

", "operations": { + "BatchDeleteBuilds": "

Deletes one or more builds.

", "BatchGetBuilds": "

Gets information about builds.

", "BatchGetProjects": "

Gets information about build projects.

", "CreateProject": "

Creates a build project.

", + "CreateWebhook": "

For an existing AWS CodeBuild build project that has its source code stored in a GitHub repository, enables AWS CodeBuild to begin automatically rebuilding the source code every time a code change is pushed to the repository.

If you enable webhooks for an AWS CodeBuild project, and the project is used as a build step in AWS CodePipeline, then two identical builds will be created for each commit. One build is triggered through webhooks, and one through AWS CodePipeline. Because billing is on a per-build basis, you will be billed for both builds. Therefore, if you are using AWS CodePipeline, we recommend that you disable webhooks in CodeBuild. In the AWS CodeBuild console, clear the Webhook box. For more information, see step 9 in Change a Build Project’s Settings.

", "DeleteProject": "

Deletes a build project.

", + "DeleteWebhook": "

For an existing AWS CodeBuild build project that has its source code stored in a GitHub repository, stops AWS CodeBuild from automatically rebuilding the source code every time a code change is pushed to the repository.

", "ListBuilds": "

Gets a list of build IDs, with each build ID representing a single build.

", "ListBuildsForProject": "

Gets a list of build IDs for the specified build project, with each build ID representing a single build.

", "ListCuratedEnvironmentImages": "

Gets information about Docker images that are managed by AWS CodeBuild.

", @@ -38,6 +41,16 @@ "ProjectArtifacts$type": "

The type of build output artifact. Valid values include:

  • CODEPIPELINE: The build project will have build output generated through AWS CodePipeline.

  • NO_ARTIFACTS: The build project will not produce any build output.

  • S3: The build project will store build output in Amazon Simple Storage Service (Amazon S3).

" } }, + "BatchDeleteBuildsInput": { + "base": null, + "refs": { + } + }, + "BatchDeleteBuildsOutput": { + "base": null, + "refs": { + } + }, "BatchGetBuildsInput": { "base": null, "refs": { @@ -81,12 +94,20 @@ "BuildIds": { "base": null, "refs": { + "BatchDeleteBuildsInput$ids": "

The IDs of the builds to delete.

", + "BatchDeleteBuildsOutput$buildsDeleted": "

The IDs of the builds that were successfully deleted.

", "BatchGetBuildsInput$ids": "

The IDs of the builds.

", "BatchGetBuildsOutput$buildsNotFound": "

The IDs of builds for which information could not be found.

", "ListBuildsForProjectOutput$ids": "

A list of build IDs for the specified build project, with each build ID representing a single build.

", "ListBuildsOutput$ids": "

A list of build IDs, with each build ID representing a single build.

" } }, + "BuildNotDeleted": { + "base": "

Information about a build that could not be successfully deleted.

", + "refs": { + "BuildsNotDeleted$member": null + } + }, "BuildPhase": { "base": "

Information about a stage for a build.

", "refs": { @@ -111,6 +132,12 @@ "BatchGetBuildsOutput$builds": "

Information about the requested builds.

" } }, + "BuildsNotDeleted": { + "base": null, + "refs": { + "BatchDeleteBuildsOutput$buildsNotDeleted": "

Information about any builds that could not be successfully deleted.

" + } + }, "ComputeType": { "base": null, "refs": { @@ -127,6 +154,16 @@ "refs": { } }, + "CreateWebhookInput": { + "base": null, + "refs": { + } + }, + "CreateWebhookOutput": { + "base": null, + "refs": { + } + }, "DeleteProjectInput": { "base": null, "refs": { @@ -137,6 +174,16 @@ "refs": { } }, + "DeleteWebhookInput": { + "base": null, + "refs": { + } + }, + "DeleteWebhookOutput": { + "base": null, + "refs": { + } + }, "EnvironmentImage": { "base": "

Information about a Docker image that is managed by AWS CodeBuild.

", "refs": { @@ -185,6 +232,12 @@ "EnvironmentVariables$member": null } }, + "EnvironmentVariableType": { + "base": null, + "refs": { + "EnvironmentVariable$type": "

The type of environment variable. Valid values include:

  • PARAMETER_STORE: An environment variable stored in Amazon EC2 Systems Manager Parameter Store.

  • PLAINTEXT: An environment variable in plaintext format.

" + } + }, "EnvironmentVariables": { "base": null, "refs": { @@ -263,6 +316,7 @@ "Build$sourceVersion": "

Any version identifier for the version of the source code to be built.

", "Build$projectName": "

The name of the build project.

", "BuildIds$member": null, + "BuildNotDeleted$id": "

The ID of the build that could not be successfully deleted.

", "CreateProjectInput$serviceRole": "

The ARN of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.

", "CreateProjectInput$encryptionKey": "

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

You can specify either the CMK's Amazon Resource Name (ARN) or, if available, the CMK's alias (using the format alias/alias-name ).

", "DeleteProjectInput$name": "

The name of the build project.

", @@ -277,7 +331,13 @@ "StopBuildInput$id": "

The ID of the build.

", "UpdateProjectInput$name": "

The name of the build project.

You cannot change a build project's name.

", "UpdateProjectInput$serviceRole": "

The replacement ARN of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.

", - "UpdateProjectInput$encryptionKey": "

The replacement AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

You can specify either the CMK's Amazon Resource Name (ARN) or, if available, the CMK's alias (using the format alias/alias-name ).

" + "UpdateProjectInput$encryptionKey": "

The replacement AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

You can specify either the CMK's Amazon Resource Name (ARN) or, if available, the CMK's alias (using the format alias/alias-name ).

", + "Webhook$url": "

The URL to the webhook.

" + } + }, + "OAuthProviderException": { + "base": "

There was a problem with the underlying OAuth provider.

", + "refs": { } }, "PhaseContext": { @@ -336,6 +396,8 @@ "base": null, "refs": { "CreateProjectInput$name": "

The name of the build project.

", + "CreateWebhookInput$projectName": "

The name of the build project.

", + "DeleteWebhookInput$projectName": "

The name of the build project.

", "Project$name": "

The name of the build project.

" } }, @@ -387,9 +449,9 @@ } }, "SourceAuth": { - "base": "

Information about the authorization settings for AWS CodeBuild to access the source code to be built.

This information is for the AWS CodeBuild console's use only. Your code should not get or set this information directly (unless the build project's source type value is GITHUB).

", + "base": "

Information about the authorization settings for AWS CodeBuild to access the source code to be built.

This information is for the AWS CodeBuild console's use only. Your code should not get or set this information directly (unless the build project's source type value is BITBUCKET or GITHUB).

", "refs": { - "ProjectSource$auth": "

Information about the authorization settings for AWS CodeBuild to access the source code to be built.

This information is for the AWS CodeBuild console's use only. Your code should not get or set this information directly (unless the build project's source type value is GITHUB).

" + "ProjectSource$auth": "

Information about the authorization settings for AWS CodeBuild to access the source code to be built.

This information is for the AWS CodeBuild console's use only. Your code should not get or set this information directly (unless the build project's source type value is BITBUCKET or GITHUB).

" } }, "SourceAuthType": { @@ -401,7 +463,7 @@ "SourceType": { "base": null, "refs": { - "ProjectSource$type": "

The type of repository that contains the source code to be built. Valid values include:

  • CODECOMMIT: The source code is in an AWS CodeCommit repository.

  • CODEPIPELINE: The source code settings are specified in the source action of a pipeline in AWS CodePipeline.

  • GITHUB: The source code is in a GitHub repository.

  • S3: The source code is in an Amazon Simple Storage Service (Amazon S3) input bucket.

" + "ProjectSource$type": "

The type of repository that contains the source code to be built. Valid values include:

  • BITBUCKET: The source code is in a Bitbucket repository.

  • CODECOMMIT: The source code is in an AWS CodeCommit repository.

  • CODEPIPELINE: The source code settings are specified in the source action of a pipeline in AWS CodePipeline.

  • GITHUB: The source code is in a GitHub repository.

  • S3: The source code is in an Amazon Simple Storage Service (Amazon S3) input bucket.

" } }, "StartBuildInput": { @@ -439,6 +501,7 @@ "BuildArtifacts$location": "

Information about the location of the build artifacts.

", "BuildArtifacts$sha256sum": "

The SHA-256 hash of the build artifact.

You can use this hash along with a checksum tool to confirm both file integrity and authenticity.

This value is available only if the build project's packaging value is set to ZIP.

", "BuildArtifacts$md5sum": "

The MD5 hash of the build artifact.

You can use this hash along with a checksum tool to confirm both file integrity and authenticity.

This value is available only if the build project's packaging value is set to ZIP.

", + "BuildNotDeleted$statusCode": "

Additional information about the build that could not be successfully deleted.

", "EnvironmentImage$name": "

The name of the Docker image.

", "EnvironmentImage$description": "

The description of the Docker image.

", "EnvironmentVariable$value": "

The value of the environment variable.

We strongly discourage using environment variables to store sensitive values, especially AWS secret key IDs and secret access keys. Environment variables can be displayed in plain text using tools such as the AWS CodeBuild console and the AWS Command Line Interface (AWS CLI).

", @@ -456,10 +519,10 @@ "ProjectArtifacts$location": "

Information about the build output artifact location, as follows:

  • If type is set to CODEPIPELINE, then AWS CodePipeline will ignore this value if specified. This is because AWS CodePipeline manages its build output locations instead of AWS CodeBuild.

  • If type is set to NO_ARTIFACTS, then this value will be ignored if specified, because no build output will be produced.

  • If type is set to S3, this is the name of the output bucket.

", "ProjectArtifacts$path": "

Along with namespaceType and name, the pattern that AWS CodeBuild will use to name and store the output artifact, as follows:

  • If type is set to CODEPIPELINE, then AWS CodePipeline will ignore this value if specified. This is because AWS CodePipeline manages its build output names instead of AWS CodeBuild.

  • If type is set to NO_ARTIFACTS, then this value will be ignored if specified, because no build output will be produced.

  • If type is set to S3, this is the path to the output artifact. If path is not specified, then path will not be used.

For example, if path is set to MyArtifacts, namespaceType is set to NONE, and name is set to MyArtifact.zip, then the output artifact would be stored in the output bucket at MyArtifacts/MyArtifact.zip.

", "ProjectArtifacts$name": "

Along with path and namespaceType, the pattern that AWS CodeBuild will use to name and store the output artifact, as follows:

  • If type is set to CODEPIPELINE, then AWS CodePipeline will ignore this value if specified. This is because AWS CodePipeline manages its build output names instead of AWS CodeBuild.

  • If type is set to NO_ARTIFACTS, then this value will be ignored if specified, because no build output will be produced.

  • If type is set to S3, this is the name of the output artifact object.

For example, if path is set to MyArtifacts, namespaceType is set to BUILD_ID, and name is set to MyArtifact.zip, then the output artifact would be stored in MyArtifacts/build-ID/MyArtifact.zip.

", - "ProjectSource$location": "

Information about the location of the source code to be built. Valid values include:

  • For source code settings that are specified in the source action of a pipeline in AWS CodePipeline, location should not be specified. If it is specified, AWS CodePipeline will ignore it. This is because AWS CodePipeline uses the settings in a pipeline's source action instead of this value.

  • For source code in an AWS CodeCommit repository, the HTTPS clone URL to the repository that contains the source code and the build spec (for example, https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name ).

  • For source code in an Amazon Simple Storage Service (Amazon S3) input bucket, the path to the ZIP file that contains the source code (for example, bucket-name/path/to/object-name.zip)

  • For source code in a GitHub repository, the HTTPS clone URL to the repository that contains the source and the build spec. Also, you must connect your AWS account to your GitHub account. To do this, use the AWS CodeBuild console to begin creating a build project. When you use the console to connect (or reconnect) with GitHub, on the GitHub Authorize application page that displays, for Organization access, choose Request access next to each repository you want to allow AWS CodeBuild to have access to. Then choose Authorize application. (After you have connected to your GitHub account, you do not need to finish creating the build project, and you may then leave the AWS CodeBuild console.) To instruct AWS CodeBuild to then use this connection, in the source object, set the auth object's type value to OAUTH.

", + "ProjectSource$location": "

Information about the location of the source code to be built. Valid values include:

  • For source code settings that are specified in the source action of a pipeline in AWS CodePipeline, location should not be specified. If it is specified, AWS CodePipeline will ignore it. This is because AWS CodePipeline uses the settings in a pipeline's source action instead of this value.

  • For source code in an AWS CodeCommit repository, the HTTPS clone URL to the repository that contains the source code and the build spec (for example, https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name ).

  • For source code in an Amazon Simple Storage Service (Amazon S3) input bucket, the path to the ZIP file that contains the source code (for example, bucket-name/path/to/object-name.zip)

  • For source code in a GitHub repository, the HTTPS clone URL to the repository that contains the source and the build spec. Also, you must connect your AWS account to your GitHub account. To do this, use the AWS CodeBuild console to begin creating a build project. When you use the console to connect (or reconnect) with GitHub, on the GitHub Authorize application page that displays, for Organization access, choose Request access next to each repository you want to allow AWS CodeBuild to have access to. Then choose Authorize application. (After you have connected to your GitHub account, you do not need to finish creating the build project, and you may then leave the AWS CodeBuild console.) To instruct AWS CodeBuild to then use this connection, in the source object, set the auth object's type value to OAUTH.

  • For source code in a Bitbucket repository, the HTTPS clone URL to the repository that contains the source and the build spec. Also, you must connect your AWS account to your Bitbucket account. To do this, use the AWS CodeBuild console to begin creating a build project. When you use the console to connect (or reconnect) with Bitbucket, on the Bitbucket Confirm access to your account page that displays, choose Grant access. (After you have connected to your Bitbucket account, you do not need to finish creating the build project, and you may then leave the AWS CodeBuild console.) To instruct AWS CodeBuild to then use this connection, in the source object, set the auth object's type value to OAUTH.

", "ProjectSource$buildspec": "

The build spec declaration to use for the builds in this build project.

If this value is not specified, a build spec must be included along with the source code to be built.

", "SourceAuth$resource": "

The resource value that applies to the specified authorization type.

", - "StartBuildInput$sourceVersion": "

A version of the build input to be built, for this build only. If not specified, the latest version will be used. If specified, must be one of:

  • For AWS CodeCommit or GitHub: the commit ID to use.

  • For Amazon Simple Storage Service (Amazon S3): the version ID of the object representing the build input ZIP file to use.

", + "StartBuildInput$sourceVersion": "

A version of the build input to be built, for this build only. If not specified, the latest version will be used. If specified, must be one of:

  • For AWS CodeCommit: the commit ID to use.

  • For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format pr/pull-request-ID (for example pr/25). If a branch name is specified, the branch's HEAD commit ID will be used. If not specified, the default branch's HEAD commit ID will be used.

  • For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID will be used. If not specified, the default branch's HEAD commit ID will be used.

  • For Amazon Simple Storage Service (Amazon S3): the version ID of the object representing the build input ZIP file to use.

", "StartBuildInput$buildspecOverride": "

A build spec declaration that overrides, for this build only, the latest one already defined in the build project.

" } }, @@ -513,10 +576,17 @@ "Tag$value": "

The tag's value.

" } }, + "Webhook": { + "base": "

Information about a webhook in GitHub that connects repository events to a build project in AWS CodeBuild.

", + "refs": { + "CreateWebhookOutput$webhook": "

Information about a webhook in GitHub that connects repository events to a build project in AWS CodeBuild.

", + "Project$webhook": "

Information about a webhook in GitHub that connects repository events to a build project in AWS CodeBuild.

" + } + }, "WrapperBoolean": { "base": null, "refs": { - "ProjectEnvironment$privilegedMode": "

If set to true, enables running the Docker daemon inside a Docker container; otherwise, false or not specified (the default). This value must be set to true only if this build project will be used to build Docker images, and the specified build environment image is not one provided by AWS CodeBuild with Docker support. Otherwise, all associated builds that attempt to interact with the Docker daemon will fail. Note that you must also start the Docker daemon so that your builds can interact with it as needed. One way to do this is to initialize the Docker daemon in the install phase of your build spec by running the following build commands. (Do not run the following build commands if the specified build environment image is provided by AWS CodeBuild with Docker support.)

- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=vfs& - timeout -t 15 sh -c \"until docker info; do echo .; sleep 1; done\"

" + "ProjectEnvironment$privilegedMode": "

If set to true, enables running the Docker daemon inside a Docker container; otherwise, false or not specified (the default). This value must be set to true only if this build project will be used to build Docker images, and the specified build environment image is not one provided by AWS CodeBuild with Docker support. Otherwise, all associated builds that attempt to interact with the Docker daemon will fail. Note that you must also start the Docker daemon so that your builds can interact with it as needed. One way to do this is to initialize the Docker daemon in the install phase of your build spec by running the following build commands. (Do not run the following build commands if the specified build environment image is provided by AWS CodeBuild with Docker support.)

- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay& - timeout -t 15 sh -c \"until docker info; do echo .; sleep 1; done\"

" } }, "WrapperInt": { diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/codebuild/2016-10-06/examples-1.json b/vendor/github.com/aws/aws-sdk-go/models/apis/codebuild/2016-10-06/examples-1.json index 0ea7e3b0b..a5fb660e2 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/codebuild/2016-10-06/examples-1.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/codebuild/2016-10-06/examples-1.json @@ -1,5 +1,281 @@ { "version": "1.0", "examples": { + "BatchGetBuilds": [ + { + "input": { + "ids": [ + "codebuild-demo-project:9b0ac37f-d19e-4254-9079-f47e9a389eEX", + "codebuild-demo-project:b79a46f7-1473-4636-a23f-da9c45c208EX" + ] + }, + "output": { + "builds": [ + { + "arn": "arn:aws:codebuild:us-east-1:123456789012:build/codebuild-demo-project:9b0ac37f-d19e-4254-9079-f47e9a389eEX", + "artifacts": { + "location": "arn:aws:s3:::codebuild-123456789012-output-bucket/codebuild-demo-project" + }, + "buildComplete": true, + "buildStatus": "SUCCEEDED", + "currentPhase": "COMPLETED", + "endTime": 1479832474.764, + "environment": { + "type": "LINUX_CONTAINER", + "computeType": "BUILD_GENERAL1_SMALL", + "environmentVariables": [ + + ], + "image": "aws/codebuild/java:openjdk-8", + "privilegedMode": false + }, + "id": "codebuild-demo-project:9b0ac37f-d19e-4254-9079-f47e9a389eEX", + "initiator": "MyDemoUser", + "logs": { + "deepLink": "https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#logEvent:group=/aws/codebuild/codebuild-demo-project;stream=9b0ac37f-d19e-4254-9079-f47e9a389eEX", + "groupName": "/aws/codebuild/codebuild-demo-project", + "streamName": "9b0ac37f-d19e-4254-9079-f47e9a389eEX" + }, + "phases": [ + { + "durationInSeconds": 0, + "endTime": 1479832342.23, + "phaseStatus": "SUCCEEDED", + "phaseType": "SUBMITTED", + "startTime": 1479832341.854 + }, + { + "contexts": [ + + ], + "durationInSeconds": 72, + "endTime": 1479832415.064, + "phaseStatus": "SUCCEEDED", + "phaseType": "PROVISIONING", + "startTime": 1479832342.23 + }, + { + "contexts": [ + + ], + "durationInSeconds": 46, + "endTime": 1479832461.261, + "phaseStatus": "SUCCEEDED", + "phaseType": "DOWNLOAD_SOURCE", + "startTime": 1479832415.064 + }, + { + "contexts": [ + + ], + "durationInSeconds": 0, + "endTime": 1479832461.354, + "phaseStatus": "SUCCEEDED", + "phaseType": "INSTALL", + "startTime": 1479832461.261 + }, + { + "contexts": [ + + ], + "durationInSeconds": 0, + "endTime": 1479832461.448, + "phaseStatus": "SUCCEEDED", + "phaseType": "PRE_BUILD", + "startTime": 1479832461.354 + }, + { + "contexts": [ + + ], + "durationInSeconds": 9, + "endTime": 1479832471.115, + "phaseStatus": "SUCCEEDED", + "phaseType": "BUILD", + "startTime": 1479832461.448 + }, + { + "contexts": [ + + ], + "durationInSeconds": 0, + "endTime": 1479832471.224, + "phaseStatus": "SUCCEEDED", + "phaseType": "POST_BUILD", + "startTime": 1479832471.115 + }, + { + "contexts": [ + + ], + "durationInSeconds": 0, + "endTime": 1479832471.791, + "phaseStatus": "SUCCEEDED", + "phaseType": "UPLOAD_ARTIFACTS", + "startTime": 1479832471.224 + }, + { + "contexts": [ + + ], + "durationInSeconds": 2, + "endTime": 1479832474.764, + "phaseStatus": "SUCCEEDED", + "phaseType": "FINALIZING", + "startTime": 1479832471.791 + }, + { + "phaseType": "COMPLETED", + "startTime": 1479832474.764 + } + ], + "projectName": "codebuild-demo-project", + "source": { + "type": "S3", + "buildspec": "", + "location": "arn:aws:s3:::codebuild-123456789012-input-bucket/MessageUtil.zip" + }, + "startTime": 1479832341.854, + "timeoutInMinutes": 60 + }, + { + "arn": "arn:aws:codebuild:us-east-1:123456789012:build/codebuild-demo-project:b79a46f7-1473-4636-a23f-da9c45c208EX", + "artifacts": { + "location": "arn:aws:s3:::codebuild-123456789012-output-bucket/codebuild-demo-project" + }, + "buildComplete": true, + "buildStatus": "SUCCEEDED", + "currentPhase": "COMPLETED", + "endTime": 1479401214.239, + "environment": { + "type": "LINUX_CONTAINER", + "computeType": "BUILD_GENERAL1_SMALL", + "environmentVariables": [ + + ], + "image": "aws/codebuild/java:openjdk-8", + "privilegedMode": false + }, + "id": "codebuild-demo-project:b79a46f7-1473-4636-a23f-da9c45c208EX", + "initiator": "MyDemoUser", + "logs": { + "deepLink": "https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#logEvent:group=/aws/codebuild/codebuild-demo-project;stream=b79a46f7-1473-4636-a23f-da9c45c208EX", + "groupName": "/aws/codebuild/codebuild-demo-project", + "streamName": "b79a46f7-1473-4636-a23f-da9c45c208EX" + }, + "phases": [ + { + "durationInSeconds": 0, + "endTime": 1479401082.342, + "phaseStatus": "SUCCEEDED", + "phaseType": "SUBMITTED", + "startTime": 1479401081.869 + }, + { + "contexts": [ + + ], + "durationInSeconds": 71, + "endTime": 1479401154.129, + "phaseStatus": "SUCCEEDED", + "phaseType": "PROVISIONING", + "startTime": 1479401082.342 + }, + { + "contexts": [ + + ], + "durationInSeconds": 45, + "endTime": 1479401199.136, + "phaseStatus": "SUCCEEDED", + "phaseType": "DOWNLOAD_SOURCE", + "startTime": 1479401154.129 + }, + { + "contexts": [ + + ], + "durationInSeconds": 0, + "endTime": 1479401199.236, + "phaseStatus": "SUCCEEDED", + "phaseType": "INSTALL", + "startTime": 1479401199.136 + }, + { + "contexts": [ + + ], + "durationInSeconds": 0, + "endTime": 1479401199.345, + "phaseStatus": "SUCCEEDED", + "phaseType": "PRE_BUILD", + "startTime": 1479401199.236 + }, + { + "contexts": [ + + ], + "durationInSeconds": 9, + "endTime": 1479401208.68, + "phaseStatus": "SUCCEEDED", + "phaseType": "BUILD", + "startTime": 1479401199.345 + }, + { + "contexts": [ + + ], + "durationInSeconds": 0, + "endTime": 1479401208.783, + "phaseStatus": "SUCCEEDED", + "phaseType": "POST_BUILD", + "startTime": 1479401208.68 + }, + { + "contexts": [ + + ], + "durationInSeconds": 0, + "endTime": 1479401209.463, + "phaseStatus": "SUCCEEDED", + "phaseType": "UPLOAD_ARTIFACTS", + "startTime": 1479401208.783 + }, + { + "contexts": [ + + ], + "durationInSeconds": 4, + "endTime": 1479401214.239, + "phaseStatus": "SUCCEEDED", + "phaseType": "FINALIZING", + "startTime": 1479401209.463 + }, + { + "phaseType": "COMPLETED", + "startTime": 1479401214.239 + } + ], + "projectName": "codebuild-demo-project", + "source": { + "type": "S3", + "location": "arn:aws:s3:::codebuild-123456789012-input-bucket/MessageUtil.zip" + }, + "startTime": 1479401081.869, + "timeoutInMinutes": 60 + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example gets information about builds with the specified build IDs.", + "id": "to-get-information-about-builds-1501187184588", + "title": "To get information about builds" + } + ] } } diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/codedeploy/2014-10-06/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/codedeploy/2014-10-06/api-2.json index ae064d4ab..35b14d6b9 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/codedeploy/2014-10-06/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/codedeploy/2014-10-06/api-2.json @@ -229,7 +229,10 @@ {"shape":"InvalidAutoRollbackConfigException"}, {"shape":"InvalidLoadBalancerInfoException"}, {"shape":"InvalidDeploymentStyleException"}, - {"shape":"InvalidBlueGreenDeploymentConfigurationException"} + {"shape":"InvalidBlueGreenDeploymentConfigurationException"}, + {"shape":"InvalidEC2TagCombinationException"}, + {"shape":"InvalidOnPremisesTagCombinationException"}, + {"shape":"TagSetListLimitExceededException"} ] }, "DeleteApplication":{ @@ -646,7 +649,10 @@ {"shape":"InvalidAutoRollbackConfigException"}, {"shape":"InvalidLoadBalancerInfoException"}, {"shape":"InvalidDeploymentStyleException"}, - {"shape":"InvalidBlueGreenDeploymentConfigurationException"} + {"shape":"InvalidBlueGreenDeploymentConfigurationException"}, + {"shape":"InvalidEC2TagCombinationException"}, + {"shape":"InvalidOnPremisesTagCombinationException"}, + {"shape":"TagSetListLimitExceededException"} ] } }, @@ -929,7 +935,10 @@ }, "CreateDeploymentConfigInput":{ "type":"structure", - "required":["deploymentConfigName"], + "required":[ + "deploymentConfigName", + "minimumHealthyHosts" + ], "members":{ "deploymentConfigName":{"shape":"DeploymentConfigName"}, "minimumHealthyHosts":{"shape":"MinimumHealthyHosts"} @@ -961,7 +970,9 @@ "autoRollbackConfiguration":{"shape":"AutoRollbackConfiguration"}, "deploymentStyle":{"shape":"DeploymentStyle"}, "blueGreenDeploymentConfiguration":{"shape":"BlueGreenDeploymentConfiguration"}, - "loadBalancerInfo":{"shape":"LoadBalancerInfo"} + "loadBalancerInfo":{"shape":"LoadBalancerInfo"}, + "ec2TagSet":{"shape":"EC2TagSet"}, + "onPremisesTagSet":{"shape":"OnPremisesTagSet"} } }, "CreateDeploymentGroupOutput":{ @@ -1124,7 +1135,9 @@ "blueGreenDeploymentConfiguration":{"shape":"BlueGreenDeploymentConfiguration"}, "loadBalancerInfo":{"shape":"LoadBalancerInfo"}, "lastSuccessfulDeployment":{"shape":"LastDeploymentInfo"}, - "lastAttemptedDeployment":{"shape":"LastDeploymentInfo"} + "lastAttemptedDeployment":{"shape":"LastDeploymentInfo"}, + "ec2TagSet":{"shape":"EC2TagSet"}, + "onPremisesTagSet":{"shape":"OnPremisesTagSet"} } }, "DeploymentGroupInfoList":{ @@ -1321,6 +1334,16 @@ "KEY_AND_VALUE" ] }, + "EC2TagSet":{ + "type":"structure", + "members":{ + "ec2TagSetList":{"shape":"EC2TagSetList"} + } + }, + "EC2TagSetList":{ + "type":"list", + "member":{"shape":"EC2TagFilterList"} + }, "ELBInfo":{ "type":"structure", "members":{ @@ -1735,6 +1758,12 @@ }, "exception":true }, + "InvalidEC2TagCombinationException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "InvalidEC2TagException":{ "type":"structure", "members":{ @@ -1801,6 +1830,12 @@ }, "exception":true }, + "InvalidOnPremisesTagCombinationException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "InvalidOperationException":{ "type":"structure", "members":{ @@ -2056,7 +2091,8 @@ "LoadBalancerInfo":{ "type":"structure", "members":{ - "elbInfoList":{"shape":"ELBInfoList"} + "elbInfoList":{"shape":"ELBInfoList"}, + "targetGroupInfoList":{"shape":"TargetGroupInfoList"} } }, "LogTail":{"type":"string"}, @@ -2084,6 +2120,16 @@ }, "NextToken":{"type":"string"}, "NullableBoolean":{"type":"boolean"}, + "OnPremisesTagSet":{ + "type":"structure", + "members":{ + "onPremisesTagSetList":{"shape":"OnPremisesTagSetList"} + } + }, + "OnPremisesTagSetList":{ + "type":"list", + "member":{"shape":"TagFilterList"} + }, "RegisterApplicationRevisionInput":{ "type":"structure", "required":[ @@ -2278,11 +2324,29 @@ }, "exception":true }, + "TagSetListLimitExceededException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "TargetGroupInfo":{ + "type":"structure", + "members":{ + "name":{"shape":"TargetGroupName"} + } + }, + "TargetGroupInfoList":{ + "type":"list", + "member":{"shape":"TargetGroupInfo"} + }, + "TargetGroupName":{"type":"string"}, "TargetInstances":{ "type":"structure", "members":{ "tagFilters":{"shape":"EC2TagFilterList"}, - "autoScalingGroups":{"shape":"AutoScalingGroupNameList"} + "autoScalingGroups":{"shape":"AutoScalingGroupNameList"}, + "ec2TagSet":{"shape":"EC2TagSet"} } }, "TimeRange":{ @@ -2365,7 +2429,9 @@ "autoRollbackConfiguration":{"shape":"AutoRollbackConfiguration"}, "deploymentStyle":{"shape":"DeploymentStyle"}, "blueGreenDeploymentConfiguration":{"shape":"BlueGreenDeploymentConfiguration"}, - "loadBalancerInfo":{"shape":"LoadBalancerInfo"} + "loadBalancerInfo":{"shape":"LoadBalancerInfo"}, + "ec2TagSet":{"shape":"EC2TagSet"}, + "onPremisesTagSet":{"shape":"OnPremisesTagSet"} } }, "UpdateDeploymentGroupOutput":{ diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/codedeploy/2014-10-06/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/codedeploy/2014-10-06/docs-2.json index 1fa67463c..21caee747 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/codedeploy/2014-10-06/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/codedeploy/2014-10-06/docs-2.json @@ -691,9 +691,10 @@ "EC2TagFilterList": { "base": null, "refs": { - "CreateDeploymentGroupInput$ec2TagFilters": "

The Amazon EC2 tags on which to filter. The deployment group will include EC2 instances with any of the specified tags.

", - "DeploymentGroupInfo$ec2TagFilters": "

The Amazon EC2 tags on which to filter.

", - "TargetInstances$tagFilters": "

The tag filter key, type, and value used to identify Amazon EC2 instances in a replacement environment for a blue/green deployment.

", + "CreateDeploymentGroupInput$ec2TagFilters": "

The Amazon EC2 tags on which to filter. The deployment group will include EC2 instances with any of the specified tags. Cannot be used in the same call as ec2TagSet.

", + "DeploymentGroupInfo$ec2TagFilters": "

The Amazon EC2 tags on which to filter. The deployment group includes EC2 instances with any of the specified tags.

", + "EC2TagSetList$member": null, + "TargetInstances$tagFilters": "

The tag filter key, type, and value used to identify Amazon EC2 instances in a replacement environment for a blue/green deployment. Cannot be used in the same call as ec2TagSet.

", "UpdateDeploymentGroupInput$ec2TagFilters": "

The replacement set of Amazon EC2 tags on which to filter, if you want to change them. To keep the existing tags, enter their names. To remove tags, do not enter any tag names.

" } }, @@ -703,8 +704,23 @@ "EC2TagFilter$Type": "

The tag filter type:

  • KEY_ONLY: Key only.

  • VALUE_ONLY: Value only.

  • KEY_AND_VALUE: Key and value.

" } }, + "EC2TagSet": { + "base": "

Information about groups of EC2 instance tags.

", + "refs": { + "CreateDeploymentGroupInput$ec2TagSet": "

Information about groups of tags applied to EC2 instances. The deployment group will include only EC2 instances identified by all the tag groups. Cannot be used in the same call as ec2TagFilters.

", + "DeploymentGroupInfo$ec2TagSet": "

Information about groups of tags applied to an EC2 instance. The deployment group includes only EC2 instances identified by all the tag groups. Cannot be used in the same call as ec2TagFilters.

", + "TargetInstances$ec2TagSet": "

Information about the groups of EC2 instance tags that an instance must be identified by in order for it to be included in the replacement environment for a blue/green deployment. Cannot be used in the same call as tagFilters.

", + "UpdateDeploymentGroupInput$ec2TagSet": "

Information about groups of tags applied to on-premises instances. The deployment group will include only EC2 instances identified by all the tag groups.

" + } + }, + "EC2TagSetList": { + "base": null, + "refs": { + "EC2TagSet$ec2TagSetList": "

A list containing other lists of EC2 instance tag groups. In order for an instance to be included in the deployment group, it must be identified by all the tag groups in the list.

" + } + }, "ELBInfo": { - "base": "

Information about a load balancer in Elastic Load Balancing to use in a deployment.

", + "base": "

Information about a load balancer in Elastic Load Balancing to use in a deployment. Instances are registered directly with a load balancer, and traffic is routed to the load balancer.

", "refs": { "ELBInfoList$member": null } @@ -712,13 +728,13 @@ "ELBInfoList": { "base": null, "refs": { - "LoadBalancerInfo$elbInfoList": "

An array containing information about the load balancer in Elastic Load Balancing to use in a deployment.

" + "LoadBalancerInfo$elbInfoList": "

An array containing information about the load balancer to use for load balancing in a deployment. In Elastic Load Balancing, load balancers are used with Classic Load Balancers.

" } }, "ELBName": { "base": null, "refs": { - "ELBInfo$name": "

For blue/green deployments, the name of the load balancer that will be used to route traffic from original instances to replacement instances in a blue/green deployment. For in-place deployments, the name of the load balancer that instances are deregistered from so they are not serving traffic during a deployment, and then re-registered with after the deployment completes.

" + "ELBInfo$name": "

For blue/green deployments, the name of the load balancer that will be used to route traffic from original instances to replacement instances in a blue/green deployment. For in-place deployments, the name of the load balancer that instances are deregistered from, so they are not serving traffic during a deployment, and then re-registered with after the deployment completes.

" } }, "ETag": { @@ -1106,6 +1122,11 @@ "refs": { } }, + "InvalidEC2TagCombinationException": { + "base": "

A call was submitted that specified both Ec2TagFilters and Ec2TagSet, but only one of these data types can be used in a single call.

", + "refs": { + } + }, "InvalidEC2TagException": { "base": "

The tag was specified in an invalid format.

", "refs": { @@ -1161,6 +1182,11 @@ "refs": { } }, + "InvalidOnPremisesTagCombinationException": { + "base": "

A call was submitted that specified both OnPremisesTagFilters and OnPremisesTagSet, but only one of these data types can be used in a single call.

", + "refs": { + } + }, "InvalidOperationException": { "base": "

An invalid operation was detected.

", "refs": { @@ -1359,7 +1385,7 @@ } }, "LoadBalancerInfo": { - "base": "

Information about the load balancer used in a deployment.

", + "base": "

Information about the Elastic Load Balancing load balancer or target group used in a deployment.

", "refs": { "CreateDeploymentGroupInput$loadBalancerInfo": "

Information about the load balancer used in a deployment.

", "DeploymentGroupInfo$loadBalancerInfo": "

Information about the load balancer to use in a deployment.

", @@ -1430,6 +1456,20 @@ "StopDeploymentInput$autoRollbackEnabled": "

Indicates, when a deployment is stopped, whether instances that have been updated should be rolled back to the previous version of the application revision.

" } }, + "OnPremisesTagSet": { + "base": "

Information about groups of on-premises instance tags.

", + "refs": { + "CreateDeploymentGroupInput$onPremisesTagSet": "

Information about groups of tags applied to on-premises instances. The deployment group will include only on-premises instances identified by all the tag groups. Cannot be used in the same call as onPremisesInstanceTagFilters.

", + "DeploymentGroupInfo$onPremisesTagSet": "

Information about groups of tags applied to an on-premises instance. The deployment group includes only on-premises instances identified by all the tag groups. Cannot be used in the same call as onPremisesInstanceTagFilters.

", + "UpdateDeploymentGroupInput$onPremisesTagSet": "

Information about an on-premises instance tag set. The deployment group will include only on-premises instances identified by all the tag groups.

" + } + }, + "OnPremisesTagSetList": { + "base": null, + "refs": { + "OnPremisesTagSet$onPremisesTagSetList": "

A list containing other lists of on-premises instance tag groups. In order for an instance to be included in the deployment group, it must be identified by all the tag groups in the list.

" + } + }, "RegisterApplicationRevisionInput": { "base": "

Represents the input of a RegisterApplicationRevision operation.

", "refs": { @@ -1598,9 +1638,10 @@ "TagFilterList": { "base": null, "refs": { - "CreateDeploymentGroupInput$onPremisesInstanceTagFilters": "

The on-premises instance tags on which to filter. The deployment group will include on-premises instances with any of the specified tags.

", - "DeploymentGroupInfo$onPremisesInstanceTagFilters": "

The on-premises instance tags on which to filter.

", + "CreateDeploymentGroupInput$onPremisesInstanceTagFilters": "

The on-premises instance tags on which to filter. The deployment group will include on-premises instances with any of the specified tags. Cannot be used in the same call as OnPremisesTagSet.

", + "DeploymentGroupInfo$onPremisesInstanceTagFilters": "

The on-premises instance tags on which to filter. The deployment group includes on-premises instances with any of the specified tags.

", "ListOnPremisesInstancesInput$tagFilters": "

The on-premises instance tags that will be used to restrict the corresponding on-premises instance names returned.

", + "OnPremisesTagSetList$member": null, "UpdateDeploymentGroupInput$onPremisesInstanceTagFilters": "

The replacement set of on-premises instance tags on which to filter, if you want to change them. To keep the existing tags, enter their names. To remove tags, do not enter any tag names.

" } }, @@ -1628,6 +1669,29 @@ "refs": { } }, + "TagSetListLimitExceededException": { + "base": "

The number of tag groups included in the tag set list exceeded the maximum allowed limit of 3.

", + "refs": { + } + }, + "TargetGroupInfo": { + "base": "

Information about a target group in Elastic Load Balancing to use in a deployment. Instances are registered as targets in a target group, and traffic is routed to the target group.

", + "refs": { + "TargetGroupInfoList$member": null + } + }, + "TargetGroupInfoList": { + "base": null, + "refs": { + "LoadBalancerInfo$targetGroupInfoList": "

An array containing information about the target group to use for load balancing in a deployment. In Elastic Load Balancing, target groups are used with Application Load Balancers.

" + } + }, + "TargetGroupName": { + "base": null, + "refs": { + "TargetGroupInfo$name": "

For blue/green deployments, the name of the target group that instances in the original environment are deregistered from, and instances in the replacement environment registered with. For in-place deployments, the name of the target group that instances are deregistered from, so they are not serving traffic during a deployment, and then re-registered with after the deployment completes.

" + } + }, "TargetInstances": { "base": "

Information about the instances to be used in the replacement environment in a blue/green deployment.

", "refs": { diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/codepipeline/2015-07-09/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/codepipeline/2015-07-09/api-2.json index 40fc4c1a9..6d93f1ccf 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/codepipeline/2015-07-09/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/codepipeline/2015-07-09/api-2.json @@ -798,7 +798,11 @@ "type":"string", "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" }, - "ClientToken":{"type":"string"}, + "ClientToken":{ + "type":"string", + "max":256, + "min":1 + }, "Code":{"type":"string"}, "ContinuationToken":{"type":"string"}, "CreateCustomActionTypeInput":{ @@ -1018,7 +1022,8 @@ "GetPipelineOutput":{ "type":"structure", "members":{ - "pipeline":{"shape":"PipelineDeclaration"} + "pipeline":{"shape":"PipelineDeclaration"}, + "metadata":{"shape":"PipelineMetadata"} } }, "GetPipelineStateInput":{ @@ -1255,7 +1260,11 @@ "max":5, "min":0 }, - "NextToken":{"type":"string"}, + "NextToken":{ + "type":"string", + "max":2048, + "min":1 + }, "Nonce":{"type":"string"}, "NotLatestPipelineExecutionException":{ "type":"structure", @@ -1279,6 +1288,10 @@ "max":100, "min":0 }, + "PipelineArn":{ + "type":"string", + "pattern":"arn:aws(-[\\w]+)*:codepipeline:.+:[0-9]{12}:.+" + }, "PipelineContext":{ "type":"structure", "members":{ @@ -1349,6 +1362,14 @@ "type":"list", "member":{"shape":"PipelineSummary"} }, + "PipelineMetadata":{ + "type":"structure", + "members":{ + "pipelineArn":{"shape":"PipelineArn"}, + "created":{"shape":"Timestamp"}, + "updated":{"shape":"Timestamp"} + } + }, "PipelineName":{ "type":"string", "max":100, diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/codepipeline/2015-07-09/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/codepipeline/2015-07-09/docs-2.json index a4af4c7f3..e3d123320 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/codepipeline/2015-07-09/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/codepipeline/2015-07-09/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "AWS CodePipeline

Overview

This is the AWS CodePipeline API Reference. This guide provides descriptions of the actions and data types for AWS CodePipeline. Some functionality for your pipeline is only configurable through the API. For additional information, see the AWS CodePipeline User Guide.

You can use the AWS CodePipeline API to work with pipelines, stages, actions, gates, and transitions, as described below.

Pipelines are models of automated release processes. Each pipeline is uniquely named, and consists of actions, gates, and stages.

You can work with pipelines by calling:

  • CreatePipeline, which creates a uniquely-named pipeline.

  • DeletePipeline, which deletes the specified pipeline.

  • GetPipeline, which returns information about a pipeline structure.

  • GetPipelineExecution, which returns information about a specific execution of a pipeline.

  • GetPipelineState, which returns information about the current state of the stages and actions of a pipeline.

  • ListPipelines, which gets a summary of all of the pipelines associated with your account.

  • StartPipelineExecution, which runs the the most recent revision of an artifact through the pipeline.

  • UpdatePipeline, which updates a pipeline with edits or changes to the structure of the pipeline.

Pipelines include stages, which are logical groupings of gates and actions. Each stage contains one or more actions that must complete before the next stage begins. A stage will result in success or failure. If a stage fails, then the pipeline stops at that stage and will remain stopped until either a new version of an artifact appears in the source location, or a user takes action to re-run the most recent artifact through the pipeline. You can call GetPipelineState, which displays the status of a pipeline, including the status of stages in the pipeline, or GetPipeline, which returns the entire structure of the pipeline, including the stages of that pipeline. For more information about the structure of stages and actions, also refer to the AWS CodePipeline Pipeline Structure Reference.

Pipeline stages include actions, which are categorized into categories such as source or build actions performed within a stage of a pipeline. For example, you can use a source action to import artifacts into a pipeline from a source such as Amazon S3. Like stages, you do not work with actions directly in most cases, but you do define and interact with actions when working with pipeline operations such as CreatePipeline and GetPipelineState.

Pipelines also include transitions, which allow the transition of artifacts from one stage to the next in a pipeline after the actions in one stage complete.

You can work with transitions by calling:

Using the API to integrate with AWS CodePipeline

For third-party integrators or developers who want to create their own integrations with AWS CodePipeline, the expected sequence varies from the standard API user. In order to integrate with AWS CodePipeline, developers will need to work with the following items:

Jobs, which are instances of an action. For example, a job for a source action might import a revision of an artifact from a source.

You can work with jobs by calling:

Third party jobs, which are instances of an action created by a partner action and integrated into AWS CodePipeline. Partner actions are created by members of the AWS Partner Network.

You can work with third party jobs by calling:

", + "service": "AWS CodePipeline

Overview

This is the AWS CodePipeline API Reference. This guide provides descriptions of the actions and data types for AWS CodePipeline. Some functionality for your pipeline is only configurable through the API. For additional information, see the AWS CodePipeline User Guide.

You can use the AWS CodePipeline API to work with pipelines, stages, actions, gates, and transitions, as described below.

Pipelines are models of automated release processes. Each pipeline is uniquely named, and consists of actions, gates, and stages.

You can work with pipelines by calling:

  • CreatePipeline, which creates a uniquely-named pipeline.

  • DeletePipeline, which deletes the specified pipeline.

  • GetPipeline, which returns information about the pipeline structure and pipeline metadata, including the pipeline Amazon Resource Name (ARN).

  • GetPipelineExecution, which returns information about a specific execution of a pipeline.

  • GetPipelineState, which returns information about the current state of the stages and actions of a pipeline.

  • ListPipelines, which gets a summary of all of the pipelines associated with your account.

  • ListPipelineExecutions, which gets a summary of the most recent executions for a pipeline.

  • StartPipelineExecution, which runs the the most recent revision of an artifact through the pipeline.

  • UpdatePipeline, which updates a pipeline with edits or changes to the structure of the pipeline.

Pipelines include stages, which are logical groupings of gates and actions. Each stage contains one or more actions that must complete before the next stage begins. A stage will result in success or failure. If a stage fails, then the pipeline stops at that stage and will remain stopped until either a new version of an artifact appears in the source location, or a user takes action to re-run the most recent artifact through the pipeline. You can call GetPipelineState, which displays the status of a pipeline, including the status of stages in the pipeline, or GetPipeline, which returns the entire structure of the pipeline, including the stages of that pipeline. For more information about the structure of stages and actions, also refer to the AWS CodePipeline Pipeline Structure Reference.

Pipeline stages include actions, which are categorized into categories such as source or build actions performed within a stage of a pipeline. For example, you can use a source action to import artifacts into a pipeline from a source such as Amazon S3. Like stages, you do not work with actions directly in most cases, but you do define and interact with actions when working with pipeline operations such as CreatePipeline and GetPipelineState.

Pipelines also include transitions, which allow the transition of artifacts from one stage to the next in a pipeline after the actions in one stage complete.

You can work with transitions by calling:

Using the API to integrate with AWS CodePipeline

For third-party integrators or developers who want to create their own integrations with AWS CodePipeline, the expected sequence varies from the standard API user. In order to integrate with AWS CodePipeline, developers will need to work with the following items:

Jobs, which are instances of an action. For example, a job for a source action might import a revision of an artifact from a source.

You can work with jobs by calling:

Third party jobs, which are instances of an action created by a partner action and integrated into AWS CodePipeline. Partner actions are created by members of the AWS Partner Network.

You can work with third party jobs by calling:

", "operations": { "AcknowledgeJob": "

Returns information about a specified job and whether that job has been received by the job worker. Only used for custom actions.

", "AcknowledgeThirdPartyJob": "

Confirms a job worker has received the specified job. Only used for partner actions.

", @@ -52,22 +52,22 @@ } }, "AcknowledgeJobInput": { - "base": "

Represents the input of an acknowledge job action.

", + "base": "

Represents the input of an AcknowledgeJob action.

", "refs": { } }, "AcknowledgeJobOutput": { - "base": "

Represents the output of an acknowledge job action.

", + "base": "

Represents the output of an AcknowledgeJob action.

", "refs": { } }, "AcknowledgeThirdPartyJobInput": { - "base": "

Represents the input of an acknowledge third party job action.

", + "base": "

Represents the input of an AcknowledgeThirdPartyJob action.

", "refs": { } }, "AcknowledgeThirdPartyJobOutput": { - "base": "

Represents the output of an acknowledge third party job action.

", + "base": "

Represents the output of an AcknowledgeThirdPartyJob action.

", "refs": { } }, @@ -135,7 +135,7 @@ "ActionContext": { "base": "

Represents the context of an action within the stage of a pipeline to a job worker.

", "refs": { - "PipelineContext$action": "

" + "PipelineContext$action": "

The context of an action to a job worker within the stage of a pipeline.

" } }, "ActionDeclaration": { @@ -342,7 +342,7 @@ "ArtifactStore": { "base": "

The Amazon S3 bucket where artifacts are stored for the pipeline.

", "refs": { - "PipelineDeclaration$artifactStore": "

Represents the context of an action within the stage of a pipeline to a job worker.

" + "PipelineDeclaration$artifactStore": "

Represents information about the Amazon S3 bucket where artifacts are stored for the pipeline.

" } }, "ArtifactStoreLocation": { @@ -381,7 +381,7 @@ "ActionConfigurationProperty$required": "

Whether the configuration property is a required value.

", "ActionConfigurationProperty$key": "

Whether the configuration property is a key.

", "ActionConfigurationProperty$secret": "

Whether the configuration property is secret. Secrets are hidden from all calls except for GetJobDetails, GetThirdPartyJobDetails, PollForJobs, and PollForThirdPartyJobs.

When updating a pipeline, passing * * * * * without changing any other values of the action will preserve the prior value of the secret.

", - "ActionConfigurationProperty$queryable": "

Indicates that the proprety will be used in conjunction with PollForJobs. When creating a custom action, an action can have up to one queryable property. If it has one, that property must be both required and not secret.

If you create a pipeline with a custom action type, and that custom action contains a queryable property, the value for that configuration property is subject to additional restrictions. The value must be less than or equal to twenty (20) characters. The value can contain only alphanumeric characters, underscores, and hyphens.

", + "ActionConfigurationProperty$queryable": "

Indicates that the property will be used in conjunction with PollForJobs. When creating a custom action, an action can have up to one queryable property. If it has one, that property must be both required and not secret.

If you create a pipeline with a custom action type, and that custom action contains a queryable property, the value for that configuration property is subject to additional restrictions. The value must be less than or equal to twenty (20) characters. The value can contain only alphanumeric characters, underscores, and hyphens.

", "PutActionRevisionOutput$newRevision": "

Indicates whether the artifact revision was previously used in an execution of the specified pipeline.

" } }, @@ -416,22 +416,22 @@ } }, "CreateCustomActionTypeInput": { - "base": "

Represents the input of a create custom action operation.

", + "base": "

Represents the input of a CreateCustomActionType operation.

", "refs": { } }, "CreateCustomActionTypeOutput": { - "base": "

Represents the output of a create custom action operation.

", + "base": "

Represents the output of a CreateCustomActionType operation.

", "refs": { } }, "CreatePipelineInput": { - "base": "

Represents the input of a create pipeline action.

", + "base": "

Represents the input of a CreatePipeline action.

", "refs": { } }, "CreatePipelineOutput": { - "base": "

Represents the output of a create pipeline action.

", + "base": "

Represents the output of a CreatePipeline action.

", "refs": { } }, @@ -443,12 +443,12 @@ } }, "DeleteCustomActionTypeInput": { - "base": "

Represents the input of a delete custom action operation. The custom action will be marked as deleted.

", + "base": "

Represents the input of a DeleteCustomActionType operation. The custom action will be marked as deleted.

", "refs": { } }, "DeletePipelineInput": { - "base": "

Represents the input of a delete pipeline action.

", + "base": "

Represents the input of a DeletePipeline action.

", "refs": { } }, @@ -459,7 +459,7 @@ } }, "DisableStageTransitionInput": { - "base": "

Represents the input of a disable stage transition input action.

", + "base": "

Represents the input of a DisableStageTransition action.

", "refs": { } }, @@ -471,7 +471,7 @@ } }, "EnableStageTransitionInput": { - "base": "

Represents the input of an enable stage transition action.

", + "base": "

Represents the input of an EnableStageTransition action.

", "refs": { } }, @@ -543,52 +543,52 @@ } }, "GetJobDetailsInput": { - "base": "

Represents the input of a get job details action.

", + "base": "

Represents the input of a GetJobDetails action.

", "refs": { } }, "GetJobDetailsOutput": { - "base": "

Represents the output of a get job details action.

", + "base": "

Represents the output of a GetJobDetails action.

", "refs": { } }, "GetPipelineExecutionInput": { - "base": "

Represents the input of a get pipeline execution action.

", + "base": "

Represents the input of a GetPipelineExecution action.

", "refs": { } }, "GetPipelineExecutionOutput": { - "base": "

Represents the output of a get pipeline execution action.

", + "base": "

Represents the output of a GetPipelineExecution action.

", "refs": { } }, "GetPipelineInput": { - "base": "

Represents the input of a get pipeline action.

", + "base": "

Represents the input of a GetPipeline action.

", "refs": { } }, "GetPipelineOutput": { - "base": "

Represents the output of a get pipeline action.

", + "base": "

Represents the output of a GetPipeline action.

", "refs": { } }, "GetPipelineStateInput": { - "base": "

Represents the input of a get pipeline state action.

", + "base": "

Represents the input of a GetPipelineState action.

", "refs": { } }, "GetPipelineStateOutput": { - "base": "

Represents the output of a get pipeline state action.

", + "base": "

Represents the output of a GetPipelineState action.

", "refs": { } }, "GetThirdPartyJobDetailsInput": { - "base": "

Represents the input of a get third party job details action.

", + "base": "

Represents the input of a GetThirdPartyJobDetails action.

", "refs": { } }, "GetThirdPartyJobDetailsOutput": { - "base": "

Represents the output of a get third party job details action.

", + "base": "

Represents the output of a GetThirdPartyJobDetails action.

", "refs": { } }, @@ -727,32 +727,32 @@ } }, "ListActionTypesInput": { - "base": "

Represents the input of a list action types action.

", + "base": "

Represents the input of a ListActionTypes action.

", "refs": { } }, "ListActionTypesOutput": { - "base": "

Represents the output of a list action types action.

", + "base": "

Represents the output of a ListActionTypes action.

", "refs": { } }, "ListPipelineExecutionsInput": { - "base": "

Represents the input of a list pipeline executions action.

", + "base": "

Represents the input of a ListPipelineExecutions action.

", "refs": { } }, "ListPipelineExecutionsOutput": { - "base": "

Represents the output of a list pipeline executions action.

", + "base": "

Represents the output of a ListPipelineExecutions action.

", "refs": { } }, "ListPipelinesInput": { - "base": "

Represents the input of a list pipelines action.

", + "base": "

Represents the input of a ListPipelines action.

", "refs": { } }, "ListPipelinesOutput": { - "base": "

Represents the output of a list pipelines action.

", + "base": "

Represents the output of a ListPipelines action.

", "refs": { } }, @@ -793,8 +793,8 @@ "refs": { "ListActionTypesInput$nextToken": "

An identifier that was returned from the previous list action types call, which can be used to return the next set of action types in the list.

", "ListActionTypesOutput$nextToken": "

If the amount of returned information is significantly large, an identifier is also returned which can be used in a subsequent list action types call to return the next set of action types in the list.

", - "ListPipelineExecutionsInput$nextToken": "

The token that was returned from the previous list pipeline executions call, which can be used to return the next set of pipeline executions in the list.

", - "ListPipelineExecutionsOutput$nextToken": "

A token that can be used in the next list pipeline executions call to return the next set of pipeline executions. To view all items in the list, continue to call this operation with each subsequent token until no more nextToken values are returned.

", + "ListPipelineExecutionsInput$nextToken": "

The token that was returned from the previous ListPipelineExecutions call, which can be used to return the next set of pipeline executions in the list.

", + "ListPipelineExecutionsOutput$nextToken": "

A token that can be used in the next ListPipelineExecutions call. To view all items in the list, continue to call this operation with each subsequent token until no more nextToken values are returned.

", "ListPipelinesInput$nextToken": "

An identifier that was returned from the previous list pipelines call, which can be used to return the next set of pipelines in the list.

", "ListPipelinesOutput$nextToken": "

If the amount of returned information is significantly large, an identifier is also returned which can be used in a subsequent list pipelines call to return the next set of pipelines in the list.

" } @@ -832,6 +832,12 @@ "ExecutionDetails$percentComplete": "

The percentage of work completed on the action, represented on a scale of zero to one hundred percent.

" } }, + "PipelineArn": { + "base": null, + "refs": { + "PipelineMetadata$pipelineArn": "

The Amazon Resource Name (ARN) of the pipeline.

" + } + }, "PipelineContext": { "base": "

Represents information about a pipeline to a job worker.

", "refs": { @@ -876,8 +882,8 @@ "PipelineExecutionStatus": { "base": null, "refs": { - "PipelineExecution$status": "

The status of the pipeline execution.

  • InProgress: The pipeline execution is currently running.

  • Succeeded: The pipeline execution completed successfully.

  • Superseded: While this pipeline execution was waiting for the next stage to be completed, a newer pipeline execution caught up and continued through the pipeline instead.

  • Failed: The pipeline execution did not complete successfully.

", - "PipelineExecutionSummary$status": "

The status of the pipeline execution.

  • InProgress: The pipeline execution is currently running.

  • Succeeded: The pipeline execution completed successfully.

  • Superseded: While this pipeline execution was waiting for the next stage to be completed, a newer pipeline execution caught up and continued through the pipeline instead.

  • Failed: The pipeline execution did not complete successfully.

" + "PipelineExecution$status": "

The status of the pipeline execution.

  • InProgress: The pipeline execution is currently running.

  • Succeeded: The pipeline execution was completed successfully.

  • Superseded: While this pipeline execution was waiting for the next stage to be completed, a newer pipeline execution advanced and continued through the pipeline instead.

  • Failed: The pipeline execution was not completed successfully.

", + "PipelineExecutionSummary$status": "

The status of the pipeline execution.

  • InProgress: The pipeline execution is currently running.

  • Succeeded: The pipeline execution was completed successfully.

  • Superseded: While this pipeline execution was waiting for the next stage to be completed, a newer pipeline execution advanced and continued through the pipeline instead.

  • Failed: The pipeline execution was not completed successfully.

" } }, "PipelineExecutionSummary": { @@ -898,6 +904,12 @@ "ListPipelinesOutput$pipelines": "

The list of pipelines.

" } }, + "PipelineMetadata": { + "base": "

Information about a pipeline.

", + "refs": { + "GetPipelineOutput$metadata": "

Represents the pipeline metadata information returned as part of the output of a GetPipeline action.

" + } + }, "PipelineName": { "base": null, "refs": { @@ -957,62 +969,62 @@ } }, "PollForJobsInput": { - "base": "

Represents the input of a poll for jobs action.

", + "base": "

Represents the input of a PollForJobs action.

", "refs": { } }, "PollForJobsOutput": { - "base": "

Represents the output of a poll for jobs action.

", + "base": "

Represents the output of a PollForJobs action.

", "refs": { } }, "PollForThirdPartyJobsInput": { - "base": "

Represents the input of a poll for third party jobs action.

", + "base": "

Represents the input of a PollForThirdPartyJobs action.

", "refs": { } }, "PollForThirdPartyJobsOutput": { - "base": "

Represents the output of a poll for third party jobs action.

", + "base": "

Represents the output of a PollForThirdPartyJobs action.

", "refs": { } }, "PutActionRevisionInput": { - "base": "

Represents the input of a put action revision action.

", + "base": "

Represents the input of a PutActionRevision action.

", "refs": { } }, "PutActionRevisionOutput": { - "base": "

Represents the output of a put action revision action.

", + "base": "

Represents the output of a PutActionRevision action.

", "refs": { } }, "PutApprovalResultInput": { - "base": "

Represents the input of a put approval result action.

", + "base": "

Represents the input of a PutApprovalResult action.

", "refs": { } }, "PutApprovalResultOutput": { - "base": "

Represents the output of a put approval result action.

", + "base": "

Represents the output of a PutApprovalResult action.

", "refs": { } }, "PutJobFailureResultInput": { - "base": "

Represents the input of a put job failure result action.

", + "base": "

Represents the input of a PutJobFailureResult action.

", "refs": { } }, "PutJobSuccessResultInput": { - "base": "

Represents the input of a put job success result action.

", + "base": "

Represents the input of a PutJobSuccessResult action.

", "refs": { } }, "PutThirdPartyJobFailureResultInput": { - "base": "

Represents the input of a third party job failure result action.

", + "base": "

Represents the input of a PutThirdPartyJobFailureResult action.

", "refs": { } }, "PutThirdPartyJobSuccessResultInput": { - "base": "

Represents the input of a put third party job success result action.

", + "base": "

Represents the input of a PutThirdPartyJobSuccessResult action.

", "refs": { } }, @@ -1023,12 +1035,12 @@ } }, "RetryStageExecutionInput": { - "base": "

Represents the input of a retry stage execution action.

", + "base": "

Represents the input of a RetryStageExecution action.

", "refs": { } }, "RetryStageExecutionOutput": { - "base": "

Represents the output of a retry stage execution action.

", + "base": "

Represents the output of a RetryStageExecution action.

", "refs": { } }, @@ -1178,12 +1190,12 @@ } }, "StartPipelineExecutionInput": { - "base": "

Represents the input of a start pipeline execution action.

", + "base": "

Represents the input of a StartPipelineExecution action.

", "refs": { } }, "StartPipelineExecutionOutput": { - "base": "

Represents the output of a start pipeline execution action.

", + "base": "

Represents the output of a StartPipelineExecution action.

", "refs": { } }, @@ -1237,6 +1249,8 @@ "GetPipelineStateOutput$updated": "

The date and time the pipeline was last updated, in timestamp format.

", "PipelineExecutionSummary$startTime": "

The date and time when the pipeline execution began, in timestamp format.

", "PipelineExecutionSummary$lastUpdateTime": "

The date and time of the last change to the pipeline execution, in timestamp format.

", + "PipelineMetadata$created": "

The date and time the pipeline was created, in timestamp format.

", + "PipelineMetadata$updated": "

The date and time the pipeline was last updated, in timestamp format.

", "PipelineSummary$created": "

The date and time the pipeline was created, in timestamp format.

", "PipelineSummary$updated": "

The date and time of the last update to the pipeline, in timestamp format.

", "PutApprovalResultOutput$approvedAt": "

The timestamp showing when the approval or rejection was submitted.

" @@ -1249,12 +1263,12 @@ } }, "UpdatePipelineInput": { - "base": "

Represents the input of an update pipeline action.

", + "base": "

Represents the input of an UpdatePipeline action.

", "refs": { } }, "UpdatePipelineOutput": { - "base": "

Represents the output of an update pipeline action.

", + "base": "

Represents the output of an UpdatePipeline action.

", "refs": { } }, diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/codestar/2017-04-19/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/codestar/2017-04-19/api-2.json index 887b71767..172ee6374 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/codestar/2017-04-19/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/codestar/2017-04-19/api-2.json @@ -158,6 +158,20 @@ {"shape":"ValidationException"} ] }, + "ListTagsForProject":{ + "name":"ListTagsForProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForProjectRequest"}, + "output":{"shape":"ListTagsForProjectResult"}, + "errors":[ + {"shape":"ProjectNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InvalidNextTokenException"} + ] + }, "ListTeamMembers":{ "name":"ListTeamMembers", "http":{ @@ -185,6 +199,36 @@ {"shape":"ValidationException"} ] }, + "TagProject":{ + "name":"TagProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagProjectRequest"}, + "output":{"shape":"TagProjectResult"}, + "errors":[ + {"shape":"ProjectNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"ConcurrentModificationException"} + ] + }, + "UntagProject":{ + "name":"UntagProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagProjectRequest"}, + "output":{"shape":"UntagProjectResult"}, + "errors":[ + {"shape":"ProjectNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"ConcurrentModificationException"} + ] + }, "UpdateProject":{ "name":"UpdateProject", "http":{ @@ -414,7 +458,8 @@ "type":"string", "max":128, "min":3, - "pattern":"^[\\w-.+]+@[\\w-.+]+$" + "pattern":"^[\\w-.+]+@[\\w-.+]+$", + "sensitive":true }, "InvalidNextTokenException":{ "type":"structure", @@ -472,6 +517,25 @@ "nextToken":{"shape":"PaginationToken"} } }, + "ListTagsForProjectRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{"shape":"ProjectId"}, + "nextToken":{"shape":"PaginationToken"}, + "maxResults":{ + "shape":"MaxResults", + "box":true + } + } + }, + "ListTagsForProjectResult":{ + "type":"structure", + "members":{ + "tags":{"shape":"Tags"}, + "nextToken":{"shape":"PaginationToken"} + } + }, "ListTeamMembersRequest":{ "type":"structure", "required":["projectId"], @@ -517,7 +581,7 @@ }, "PaginationToken":{ "type":"string", - "max":256, + "max":512, "min":1, "pattern":"^[\\w/+=]+$" }, @@ -614,6 +678,43 @@ "type":"string", "pattern":"^arn:aws[^:\\s]*:cloudformation:[^:\\s]+:[0-9]{12}:stack\\/[^:\\s]+\\/[^:\\s]+$" }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagProjectRequest":{ + "type":"structure", + "required":[ + "id", + "tags" + ], + "members":{ + "id":{"shape":"ProjectId"}, + "tags":{"shape":"Tags"} + } + }, + "TagProjectResult":{ + "type":"structure", + "members":{ + "tags":{"shape":"Tags"} + } + }, + "TagValue":{ + "type":"string", + "max":256, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "Tags":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"} + }, "TeamMember":{ "type":"structure", "required":[ @@ -645,6 +746,22 @@ "type":"list", "member":{"shape":"TeamMember"} }, + "UntagProjectRequest":{ + "type":"structure", + "required":[ + "id", + "tags" + ], + "members":{ + "id":{"shape":"ProjectId"}, + "tags":{"shape":"TagKeys"} + } + }, + "UntagProjectResult":{ + "type":"structure", + "members":{ + } + }, "UpdateProjectRequest":{ "type":"structure", "required":["id"], @@ -712,7 +829,7 @@ "type":"string", "max":95, "min":32, - "pattern":"arn:aws:iam::\\d{12}:user\\/[\\w-]+" + "pattern":"^arn:aws:iam::\\d{12}:user(?:(\\u002F)|(\\u002F[\\u0021-\\u007E]+\\u002F))[\\w+=,.@-]+$" }, "UserProfileAlreadyExistsException":{ "type":"structure", diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/codestar/2017-04-19/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/codestar/2017-04-19/docs-2.json index 765917367..017d22d3a 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/codestar/2017-04-19/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/codestar/2017-04-19/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "AWS CodeStar

This is the API reference for AWS CodeStar. This reference provides descriptions of the operations and data types for the AWS CodeStar API along with usage examples.

You can use the AWS CodeStar API to work with:

Projects and their resources, by calling the following:

  • DeleteProject, which deletes a project in AWS CodeStar.

  • DescribeProject, which lists the attributes of a project.

  • ListProjects, which lists all AWS CodeStar projects associated with your AWS account.

  • ListResources, which lists the resources associated with an AWS CodeStar project.

  • UpdateProject, which updates the attributes of an AWS CodeStar project.

Teams and team members, by calling the following:

  • AssociateTeamMember, which adds an IAM user to the team for an AWS CodeStar project.

  • DisassociateTeamMember, which removes an IAM user from the team for an AWS CodeStar project.

  • ListTeamMembers, which lists all the IAM users in the team for an AWS CodeStar project, including their roles and attributes.

Users, by calling the following:

", + "service": "AWS CodeStar

This is the API reference for AWS CodeStar. This reference provides descriptions of the operations and data types for the AWS CodeStar API along with usage examples.

You can use the AWS CodeStar API to work with:

Projects and their resources, by calling the following:

  • DeleteProject, which deletes a project.

  • DescribeProject, which lists the attributes of a project.

  • ListProjects, which lists all projects associated with your AWS account.

  • ListResources, which lists the resources associated with a project.

  • ListTagsForProject, which lists the tags associated with a project.

  • TagProject, which adds tags to a project.

  • UntagProject, which removes tags from a project.

  • UpdateProject, which updates the attributes of a project.

Teams and team members, by calling the following:

  • AssociateTeamMember, which adds an IAM user to the team for a project.

  • DisassociateTeamMember, which removes an IAM user from the team for a project.

  • ListTeamMembers, which lists all the IAM users in the team for a project, including their roles and attributes.

  • UpdateTeamMember, which updates a team member's attributes in a project.

Users, by calling the following:

  • CreateUserProfile, which creates a user profile that contains data associated with the user across all projects.

  • DeleteUserProfile, which deletes all user profile information across all projects.

  • DescribeUserProfile, which describes the profile of a user.

  • ListUserProfiles, which lists all user profiles.

  • UpdateUserProfile, which updates the profile for a user.

", "operations": { "AssociateTeamMember": "

Adds an IAM user to the team for an AWS CodeStar project.

", "CreateProject": "

Reserved for future use. To create a project, use the AWS CodeStar console.

", @@ -12,8 +12,11 @@ "DisassociateTeamMember": "

Removes a user from a project. Removing a user from a project also removes the IAM policies from that user that allowed access to the project and its resources. Disassociating a team member does not remove that user's profile from AWS CodeStar. It does not remove the user from IAM.

", "ListProjects": "

Lists all projects in AWS CodeStar associated with your AWS account.

", "ListResources": "

Lists resources associated with a project in AWS CodeStar.

", + "ListTagsForProject": "

Gets the tags for a project.

", "ListTeamMembers": "

Lists all team members associated with a project.

", "ListUserProfiles": "

Lists all the user profiles configured for your AWS account in AWS CodeStar.

", + "TagProject": "

Adds tags to a project.

", + "UntagProject": "

Removes tags from a project.

", "UpdateProject": "

Updates a project in AWS CodeStar.

", "UpdateTeamMember": "

Updates a team member's attributes in an AWS CodeStar project. For example, you can change a team member's role in the project, or change whether they have remote access to project resources.

", "UpdateUserProfile": "

Updates a user's profile in AWS CodeStar. The user profile is not project-specific. Information in the user profile is displayed wherever the user's information appears to other users in AWS CodeStar.

" @@ -32,8 +35,8 @@ "ClientRequestToken": { "base": null, "refs": { - "AssociateTeamMemberRequest$clientRequestToken": "

A user- or system-generated token that identifies the entity that requested the team member association to the project. This token can be used to repeat the request.

", - "AssociateTeamMemberResult$clientRequestToken": "

The user- or system-generated token from the initial request that can be used to repeat the request.

", + "AssociateTeamMemberRequest$clientRequestToken": "

A user- or system-generated token that identifies the entity that requested the team member association to the project. This token can be used to repeat the request.

", + "AssociateTeamMemberResult$clientRequestToken": "

The user- or system-generated token from the initial request that can be used to repeat the request.

", "CreateProjectRequest$clientRequestToken": "

Reserved for future use.

", "CreateProjectResult$clientRequestToken": "

Reserved for future use.

", "DeleteProjectRequest$clientRequestToken": "

A user- or system-generated token that identifies the entity that requested project deletion. This token can be used to repeat the request.

", @@ -184,6 +187,16 @@ "refs": { } }, + "ListTagsForProjectRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForProjectResult": { + "base": null, + "refs": { + } + }, "ListTeamMembersRequest": { "base": null, "refs": { @@ -208,7 +221,8 @@ "base": null, "refs": { "ListProjectsRequest$maxResults": "

The maximum amount of data that can be contained in a single set of results.

", - "ListResourcesRequest$maxResults": "

he maximum amount of data that can be contained in a single set of results.

", + "ListResourcesRequest$maxResults": "

The maximum amount of data that can be contained in a single set of results.

", + "ListTagsForProjectRequest$maxResults": "

Reserved for future use.

", "ListTeamMembersRequest$maxResults": "

The maximum number of team members you want returned in a response.

", "ListUserProfilesRequest$maxResults": "

The maximum number of results to return in a response.

" } @@ -220,6 +234,8 @@ "ListProjectsResult$nextToken": "

The continuation token to use when requesting the next set of results, if there are more results to be returned.

", "ListResourcesRequest$nextToken": "

The continuation token for the next set of results, if the results cannot be returned in one response.

", "ListResourcesResult$nextToken": "

The continuation token to use when requesting the next set of results, if there are more results to be returned.

", + "ListTagsForProjectRequest$nextToken": "

Reserved for future use.

", + "ListTagsForProjectResult$nextToken": "

Reserved for future use.

", "ListTeamMembersRequest$nextToken": "

The continuation token for the next set of results, if the results cannot be returned in one response.

", "ListTeamMembersResult$nextToken": "

The continuation token to use when requesting the next set of results, if there are more results to be returned.

", "ListUserProfilesRequest$nextToken": "

The continuation token for the next set of results, if the results cannot be returned in one response.

", @@ -269,8 +285,11 @@ "DescribeProjectResult$id": "

The ID of the project.

", "DisassociateTeamMemberRequest$projectId": "

The ID of the AWS CodeStar project from which you want to remove a team member.

", "ListResourcesRequest$projectId": "

The ID of the project.

", + "ListTagsForProjectRequest$id": "

The ID of the project to get tags for.

", "ListTeamMembersRequest$projectId": "

The ID of the project for which you want to list team members.

", "ProjectSummary$projectId": "

The ID of the project.

", + "TagProjectRequest$id": "

The ID of the project you want to add a tag to.

", + "UntagProjectRequest$id": "

The ID of the project to remove tags from.

", "UpdateProjectRequest$id": "

The ID of the project you want to update.

", "UpdateTeamMemberRequest$projectId": "

The ID of the project.

" } @@ -338,8 +357,8 @@ "base": null, "refs": { "AssociateTeamMemberRequest$projectRole": "

The AWS CodeStar project role that will apply to this user. This role determines what actions a user can take in an AWS CodeStar project.

", - "TeamMember$projectRole": "

The role assigned to the user in the project. Project roles have different levels of access. For more information, see Working with Teams in the AWS CodeStar User Guide.

", - "UpdateTeamMemberRequest$projectRole": "

The role assigned to the user in the project. Project roles have different levels of access. For more information, see Working with Teams in the AWS CodeStar User Guide.

", + "TeamMember$projectRole": "

The role assigned to the user in the project. Project roles have different levels of access. For more information, see Working with Teams in the AWS CodeStar User Guide.

", + "UpdateTeamMemberRequest$projectRole": "

The role assigned to the user in the project. Project roles have different levels of access. For more information, see Working with Teams in the AWS CodeStar User Guide.

", "UpdateTeamMemberResult$projectRole": "

The project role granted to the user.

" } }, @@ -361,6 +380,43 @@ "DescribeProjectResult$stackId": "

The ID of the primary stack in AWS CloudFormation used to generate resources for the project.

" } }, + "TagKey": { + "base": null, + "refs": { + "TagKeys$member": null, + "Tags$key": null + } + }, + "TagKeys": { + "base": null, + "refs": { + "UntagProjectRequest$tags": "

The tags to remove from the project.

" + } + }, + "TagProjectRequest": { + "base": null, + "refs": { + } + }, + "TagProjectResult": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "Tags$value": null + } + }, + "Tags": { + "base": null, + "refs": { + "ListTagsForProjectResult$tags": "

The tags for the project.

", + "TagProjectRequest$tags": "

The tags you want to add to the project.

", + "TagProjectResult$tags": "

The tags for the project.

" + } + }, "TeamMember": { "base": "

Information about a team member in a project.

", "refs": { @@ -383,6 +439,16 @@ "ListTeamMembersResult$teamMembers": "

A list of team member objects for the project.

" } }, + "UntagProjectRequest": { + "base": null, + "refs": { + } + }, + "UntagProjectResult": { + "base": null, + "refs": { + } + }, "UpdateProjectRequest": { "base": null, "refs": { @@ -416,7 +482,7 @@ "UserArn": { "base": null, "refs": { - "AssociateTeamMemberRequest$userArn": "

The Amazon Resource Name (ARN) for the IAM user you want to add to the DevHub project.

", + "AssociateTeamMemberRequest$userArn": "

The Amazon Resource Name (ARN) for the IAM user you want to add to the AWS CodeStar project.

", "CreateUserProfileRequest$userArn": "

The Amazon Resource Name (ARN) of the user in IAM.

", "CreateUserProfileResult$userArn": "

The Amazon Resource Name (ARN) of the user in IAM.

", "DeleteUserProfileRequest$userArn": "

The Amazon Resource Name (ARN) of the user to delete from AWS CodeStar.

", diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/cognito-idp/2016-04-18/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/cognito-idp/2016-04-18/api-2.json index f8ce0e3de..9043eb272 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/cognito-idp/2016-04-18/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/cognito-idp/2016-04-18/api-2.json @@ -126,6 +126,24 @@ {"shape":"InternalErrorException"} ] }, + "AdminDisableProviderForUser":{ + "name":"AdminDisableProviderForUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AdminDisableProviderForUserRequest"}, + "output":{"shape":"AdminDisableProviderForUserResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"UserNotFoundException"}, + {"shape":"AliasExistsException"}, + {"shape":"InternalErrorException"} + ] + }, "AdminDisableUser":{ "name":"AdminDisableUser", "http":{ @@ -237,6 +255,24 @@ {"shape":"UserNotConfirmedException"} ] }, + "AdminLinkProviderForUser":{ + "name":"AdminLinkProviderForUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AdminLinkProviderForUserRequest"}, + "output":{"shape":"AdminLinkProviderForUserResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"UserNotFoundException"}, + {"shape":"AliasExistsException"}, + {"shape":"InternalErrorException"} + ] + }, "AdminListDevices":{ "name":"AdminListDevices", "http":{ @@ -547,6 +583,23 @@ {"shape":"InternalErrorException"} ] }, + "CreateResourceServer":{ + "name":"CreateResourceServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateResourceServerRequest"}, + "output":{"shape":"CreateResourceServerResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalErrorException"} + ] + }, "CreateUserImportJob":{ "name":"CreateUserImportJob", "http":{ @@ -650,6 +703,21 @@ {"shape":"InternalErrorException"} ] }, + "DeleteResourceServer":{ + "name":"DeleteResourceServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteResourceServerRequest"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ] + }, "DeleteUser":{ "name":"DeleteUser", "http":{ @@ -751,6 +819,22 @@ {"shape":"InternalErrorException"} ] }, + "DescribeResourceServer":{ + "name":"DescribeResourceServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeResourceServerRequest"}, + "output":{"shape":"DescribeResourceServerResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ] + }, "DescribeUserImportJob":{ "name":"DescribeUserImportJob", "http":{ @@ -929,6 +1013,22 @@ {"shape":"InternalErrorException"} ] }, + "GetUICustomization":{ + "name":"GetUICustomization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetUICustomizationRequest"}, + "output":{"shape":"GetUICustomizationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ] + }, "GetUser":{ "name":"GetUser", "http":{ @@ -1070,6 +1170,22 @@ {"shape":"InternalErrorException"} ] }, + "ListResourceServers":{ + "name":"ListResourceServers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListResourceServersRequest"}, + "output":{"shape":"ListResourceServersResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ] + }, "ListUserImportJobs":{ "name":"ListUserImportJobs", "http":{ @@ -1205,6 +1321,22 @@ {"shape":"InternalErrorException"} ] }, + "SetUICustomization":{ + "name":"SetUICustomization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SetUICustomizationRequest"}, + "output":{"shape":"SetUICustomizationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ] + }, "SetUserSettings":{ "name":"SetUserSettings", "http":{ @@ -1337,6 +1469,22 @@ {"shape":"InternalErrorException"} ] }, + "UpdateResourceServer":{ + "name":"UpdateResourceServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateResourceServerRequest"}, + "output":{"shape":"UpdateResourceServerResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ] + }, "UpdateUserAttributes":{ "name":"UpdateUserAttributes", "http":{ @@ -1543,6 +1691,22 @@ "Username":{"shape":"UsernameType"} } }, + "AdminDisableProviderForUserRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "User" + ], + "members":{ + "UserPoolId":{"shape":"StringType"}, + "User":{"shape":"ProviderUserIdentifierType"} + } + }, + "AdminDisableProviderForUserResponse":{ + "type":"structure", + "members":{ + } + }, "AdminDisableUserRequest":{ "type":"structure", "required":[ @@ -1656,6 +1820,24 @@ "AuthenticationResult":{"shape":"AuthenticationResultType"} } }, + "AdminLinkProviderForUserRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "DestinationUser", + "SourceUser" + ], + "members":{ + "UserPoolId":{"shape":"StringType"}, + "DestinationUser":{"shape":"ProviderUserIdentifierType"}, + "SourceUser":{"shape":"ProviderUserIdentifierType"} + } + }, + "AdminLinkProviderForUserResponse":{ + "type":"structure", + "members":{ + } + }, "AdminListDevicesRequest":{ "type":"structure", "required":[ @@ -1858,9 +2040,14 @@ "type":"list", "member":{"shape":"AttributeType"} }, + "AttributeMappingKeyType":{ + "type":"string", + "max":32, + "min":1 + }, "AttributeMappingType":{ "type":"map", - "key":{"shape":"CustomAttributeNameType"}, + "key":{"shape":"AttributeMappingKeyType"}, "value":{"shape":"StringType"} }, "AttributeNameListType":{ @@ -1913,6 +2100,8 @@ } }, "BooleanType":{"type":"boolean"}, + "CSSType":{"type":"string"}, + "CSSVersionType":{"type":"string"}, "CallbackURLsListType":{ "type":"list", "member":{"shape":"RedirectUrlType"}, @@ -2128,7 +2317,7 @@ ], "members":{ "UserPoolId":{"shape":"UserPoolIdType"}, - "ProviderName":{"shape":"ProviderNameType"}, + "ProviderName":{"shape":"ProviderNameTypeV1"}, "ProviderType":{"shape":"IdentityProviderTypeType"}, "ProviderDetails":{"shape":"ProviderDetailsType"}, "AttributeMapping":{"shape":"AttributeMappingType"}, @@ -2142,6 +2331,27 @@ "IdentityProvider":{"shape":"IdentityProviderType"} } }, + "CreateResourceServerRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "Identifier", + "Name" + ], + "members":{ + "UserPoolId":{"shape":"UserPoolIdType"}, + "Identifier":{"shape":"ResourceServerIdentifierType"}, + "Name":{"shape":"ResourceServerNameType"}, + "Scopes":{"shape":"ResourceServerScopeListType"} + } + }, + "CreateResourceServerResponse":{ + "type":"structure", + "required":["ResourceServer"], + "members":{ + "ResourceServer":{"shape":"ResourceServerType"} + } + }, "CreateUserImportJobRequest":{ "type":"structure", "required":[ @@ -2219,6 +2429,7 @@ "SmsVerificationMessage":{"shape":"SmsVerificationMessageType"}, "EmailVerificationMessage":{"shape":"EmailVerificationMessageType"}, "EmailVerificationSubject":{"shape":"EmailVerificationSubjectType"}, + "VerificationMessageTemplate":{"shape":"VerificationMessageTemplateType"}, "SmsAuthenticationMessage":{"shape":"SmsVerificationMessageType"}, "MfaConfiguration":{"shape":"UserPoolMfaType"}, "DeviceConfiguration":{"shape":"DeviceConfigurationType"}, @@ -2248,6 +2459,13 @@ "min":1 }, "DateType":{"type":"timestamp"}, + "DefaultEmailOptionType":{ + "type":"string", + "enum":[ + "CONFIRM_WITH_LINK", + "CONFIRM_WITH_CODE" + ] + }, "DeleteGroupRequest":{ "type":"structure", "required":[ @@ -2270,6 +2488,17 @@ "ProviderName":{"shape":"ProviderNameType"} } }, + "DeleteResourceServerRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "Identifier" + ], + "members":{ + "UserPoolId":{"shape":"UserPoolIdType"}, + "Identifier":{"shape":"ResourceServerIdentifierType"} + } + }, "DeleteUserAttributesRequest":{ "type":"structure", "required":[ @@ -2356,6 +2585,24 @@ "IdentityProvider":{"shape":"IdentityProviderType"} } }, + "DescribeResourceServerRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "Identifier" + ], + "members":{ + "UserPoolId":{"shape":"UserPoolIdType"}, + "Identifier":{"shape":"ResourceServerIdentifierType"} + } + }, + "DescribeResourceServerResponse":{ + "type":"structure", + "required":["ResourceServer"], + "members":{ + "ResourceServer":{"shape":"ResourceServerType"} + } + }, "DescribeUserImportJobRequest":{ "type":"structure", "required":[ @@ -2484,13 +2731,15 @@ "CREATING", "DELETING", "UPDATING", - "ACTIVE" + "ACTIVE", + "FAILED" ] }, "DomainType":{ "type":"string", - "max":1024, - "min":1 + "max":63, + "min":1, + "pattern":"^[a-z0-9](?:[a-z0-9\\-]{0,61}[a-z0-9])?$" }, "DomainVersionType":{ "type":"string", @@ -2515,12 +2764,24 @@ "ReplyToEmailAddress":{"shape":"EmailAddressType"} } }, + "EmailVerificationMessageByLinkType":{ + "type":"string", + "max":20000, + "min":6, + "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s*]*\\{##[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s*]*##\\}[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s*]*" + }, "EmailVerificationMessageType":{ "type":"string", "max":20000, "min":6, "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s*]*\\{####\\}[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s*]*" }, + "EmailVerificationSubjectByLinkType":{ + "type":"string", + "max":140, + "min":1, + "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s]+" + }, "EmailVerificationSubjectType":{ "type":"string", "max":140, @@ -2637,6 +2898,21 @@ "IdentityProvider":{"shape":"IdentityProviderType"} } }, + "GetUICustomizationRequest":{ + "type":"structure", + "required":["UserPoolId"], + "members":{ + "UserPoolId":{"shape":"UserPoolIdType"}, + "ClientId":{"shape":"ClientIdType"} + } + }, + "GetUICustomizationResponse":{ + "type":"structure", + "required":["UICustomization"], + "members":{ + "UICustomization":{"shape":"UICustomizationType"} + } + }, "GetUserAttributeVerificationCodeRequest":{ "type":"structure", "required":[ @@ -2729,7 +3005,12 @@ }, "IdentityProviderTypeType":{ "type":"string", - "enum":["SAML"] + "enum":[ + "SAML", + "Facebook", + "Google", + "LoginWithAmazon" + ] }, "IdpIdentifierType":{ "type":"string", @@ -2743,6 +3024,8 @@ "max":50, "min":0 }, + "ImageFileType":{"type":"blob"}, + "ImageUrlType":{"type":"string"}, "InitiateAuthRequest":{ "type":"structure", "required":[ @@ -2908,6 +3191,28 @@ "max":60, "min":1 }, + "ListResourceServersLimitType":{ + "type":"integer", + "max":50, + "min":1 + }, + "ListResourceServersRequest":{ + "type":"structure", + "required":["UserPoolId"], + "members":{ + "UserPoolId":{"shape":"UserPoolIdType"}, + "MaxResults":{"shape":"ListResourceServersLimitType"}, + "NextToken":{"shape":"PaginationKeyType"} + } + }, + "ListResourceServersResponse":{ + "type":"structure", + "required":["ResourceServers"], + "members":{ + "ResourceServers":{"shape":"ResourceServersListType"}, + "NextToken":{"shape":"PaginationKeyType"} + } + }, "ListUserImportJobsRequest":{ "type":"structure", "required":[ @@ -3152,6 +3457,20 @@ "min":1, "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+" }, + "ProviderNameTypeV1":{ + "type":"string", + "max":32, + "min":1, + "pattern":"[^_][\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}][^_]+" + }, + "ProviderUserIdentifierType":{ + "type":"structure", + "members":{ + "ProviderName":{"shape":"ProviderNameType"}, + "ProviderAttributeName":{"shape":"StringType"}, + "ProviderAttributeValue":{"shape":"StringType"} + } + }, "ProvidersListType":{ "type":"list", "member":{"shape":"ProviderDescription"}, @@ -3204,6 +3523,58 @@ }, "exception":true }, + "ResourceServerIdentifierType":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\x21\\x23-\\x5B\\x5D-\\x7E]+" + }, + "ResourceServerNameType":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\w\\s+=,.@-]+" + }, + "ResourceServerScopeDescriptionType":{ + "type":"string", + "max":256, + "min":1 + }, + "ResourceServerScopeListType":{ + "type":"list", + "member":{"shape":"ResourceServerScopeType"}, + "max":25 + }, + "ResourceServerScopeNameType":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\x21\\x23-\\x2E\\x30-\\x5B\\x5D-\\x7E]+" + }, + "ResourceServerScopeType":{ + "type":"structure", + "required":[ + "ScopeName", + "ScopeDescription" + ], + "members":{ + "ScopeName":{"shape":"ResourceServerScopeNameType"}, + "ScopeDescription":{"shape":"ResourceServerScopeDescriptionType"} + } + }, + "ResourceServerType":{ + "type":"structure", + "members":{ + "UserPoolId":{"shape":"UserPoolIdType"}, + "Identifier":{"shape":"ResourceServerIdentifierType"}, + "Name":{"shape":"ResourceServerNameType"}, + "Scopes":{"shape":"ResourceServerScopeListType"} + } + }, + "ResourceServersListType":{ + "type":"list", + "member":{"shape":"ResourceServerType"} + }, "RespondToAuthChallengeRequest":{ "type":"structure", "required":[ @@ -3268,7 +3639,8 @@ }, "ScopeListType":{ "type":"list", - "member":{"shape":"ScopeType"} + "member":{"shape":"ScopeType"}, + "max":25 }, "ScopeType":{ "type":"string", @@ -3297,6 +3669,23 @@ "max":2048, "min":20 }, + "SetUICustomizationRequest":{ + "type":"structure", + "required":["UserPoolId"], + "members":{ + "UserPoolId":{"shape":"UserPoolIdType"}, + "ClientId":{"shape":"ClientIdType"}, + "CSS":{"shape":"CSSType"}, + "ImageFile":{"shape":"ImageFileType"} + } + }, + "SetUICustomizationResponse":{ + "type":"structure", + "required":["UICustomization"], + "members":{ + "UICustomization":{"shape":"UICustomizationType"} + } + }, "SetUserSettingsRequest":{ "type":"structure", "required":[ @@ -3427,6 +3816,18 @@ }, "exception":true }, + "UICustomizationType":{ + "type":"structure", + "members":{ + "UserPoolId":{"shape":"UserPoolIdType"}, + "ClientId":{"shape":"ClientIdType"}, + "ImageUrl":{"shape":"ImageUrlType"}, + "CSS":{"shape":"CSSType"}, + "CSSVersion":{"shape":"CSSVersionType"}, + "LastModifiedDate":{"shape":"DateType"}, + "CreationDate":{"shape":"DateType"} + } + }, "UnexpectedLambdaException":{ "type":"structure", "members":{ @@ -3506,6 +3907,27 @@ "IdentityProvider":{"shape":"IdentityProviderType"} } }, + "UpdateResourceServerRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "Identifier", + "Name" + ], + "members":{ + "UserPoolId":{"shape":"UserPoolIdType"}, + "Identifier":{"shape":"ResourceServerIdentifierType"}, + "Name":{"shape":"ResourceServerNameType"}, + "Scopes":{"shape":"ResourceServerScopeListType"} + } + }, + "UpdateResourceServerResponse":{ + "type":"structure", + "required":["ResourceServer"], + "members":{ + "ResourceServer":{"shape":"ResourceServerType"} + } + }, "UpdateUserAttributesRequest":{ "type":"structure", "required":[ @@ -3563,6 +3985,7 @@ "SmsVerificationMessage":{"shape":"SmsVerificationMessageType"}, "EmailVerificationMessage":{"shape":"EmailVerificationMessageType"}, "EmailVerificationSubject":{"shape":"EmailVerificationSubjectType"}, + "VerificationMessageTemplate":{"shape":"VerificationMessageTemplateType"}, "SmsAuthenticationMessage":{"shape":"SmsVerificationMessageType"}, "MfaConfiguration":{"shape":"UserPoolMfaType"}, "DeviceConfiguration":{"shape":"DeviceConfigurationType"}, @@ -3765,6 +4188,7 @@ "SmsVerificationMessage":{"shape":"SmsVerificationMessageType"}, "EmailVerificationMessage":{"shape":"EmailVerificationMessageType"}, "EmailVerificationSubject":{"shape":"EmailVerificationSubjectType"}, + "VerificationMessageTemplate":{"shape":"VerificationMessageTemplateType"}, "SmsAuthenticationMessage":{"shape":"SmsVerificationMessageType"}, "MfaConfiguration":{"shape":"UserPoolMfaType"}, "DeviceConfiguration":{"shape":"DeviceConfigurationType"}, @@ -3830,6 +4254,17 @@ "type":"list", "member":{"shape":"UserType"} }, + "VerificationMessageTemplateType":{ + "type":"structure", + "members":{ + "SmsMessage":{"shape":"SmsVerificationMessageType"}, + "EmailMessage":{"shape":"EmailVerificationMessageType"}, + "EmailSubject":{"shape":"EmailVerificationSubjectType"}, + "EmailMessageByLink":{"shape":"EmailVerificationMessageByLinkType"}, + "EmailSubjectByLink":{"shape":"EmailVerificationSubjectByLinkType"}, + "DefaultEmailOption":{"shape":"DefaultEmailOptionType"} + } + }, "VerifiedAttributeType":{ "type":"string", "enum":[ diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/cognito-idp/2016-04-18/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/cognito-idp/2016-04-18/docs-2.json index dfdc5717b..4156e5239 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/cognito-idp/2016-04-18/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/cognito-idp/2016-04-18/docs-2.json @@ -8,12 +8,14 @@ "AdminCreateUser": "

Creates a new user in the specified user pool and sends a welcome message via email or phone (SMS). This message is based on a template that you configured in your call to CreateUserPool or UpdateUserPool. This template includes your custom sign-up instructions and placeholders for user name and temporary password.

Requires developer credentials.

", "AdminDeleteUser": "

Deletes a user as an administrator. Works on any user.

Requires developer credentials.

", "AdminDeleteUserAttributes": "

Deletes the user attributes in a user pool as an administrator. Works on any user.

Requires developer credentials.

", + "AdminDisableProviderForUser": "

Disables the user from signing in with the specified external (SAML or social) identity provider. If the user to disable is a Cognito User Pools native username + password user, they are not permitted to use their password to sign-in. If the user to disable is a linked external IdP user, any link between that user and an existing user is removed. The next time the external user (no longer attached to the previously linked DestinationUser) signs in, they must create a new user account. See AdminLinkProviderForUser.

This action is enabled only for admin access and requires developer credentials.

The ProviderName must match the value specified when creating an IdP for the pool.

To disable a native username + password user, the ProviderName value must be Cognito and the ProviderAttributeName must be Cognito_Subject, with the ProviderAttributeValue being the name that is used in the user pool for the user.

The ProviderAttributeName must always be Cognito_Subject for social identity providers. The ProviderAttributeValue must always be the exact subject that was used when the user was originally linked as a source user.

For de-linking a SAML identity, there are two scenarios. If the linked identity has not yet been used to sign-in, the ProviderAttributeName and ProviderAttributeValue must be the same values that were used for the SourceUser when the identities were originally linked in the AdminLinkProviderForUser call. (If the linking was done with ProviderAttributeName set to Cognito_Subject, the same applies here). However, if the user has already signed in, the ProviderAttributeName must be Cognito_Subject and ProviderAttributeValue must be the subject of the SAML assertion.

", "AdminDisableUser": "

Disables the specified user as an administrator. Works on any user.

Requires developer credentials.

", "AdminEnableUser": "

Enables the specified user as an administrator. Works on any user.

Requires developer credentials.

", "AdminForgetDevice": "

Forgets the device, as an administrator.

Requires developer credentials.

", "AdminGetDevice": "

Gets the device, as an administrator.

Requires developer credentials.

", "AdminGetUser": "

Gets the specified user by user name in a user pool as an administrator. Works on any user.

Requires developer credentials.

", "AdminInitiateAuth": "

Initiates the authentication flow, as an administrator.

Requires developer credentials.

", + "AdminLinkProviderForUser": "

Links an existing user account in a user pool (DestinationUser) to an identity from an external identity provider (SourceUser) based on a specified attribute name and value from the external identity provider. This allows you to create a link from the existing user account to an external federated user identity that has not yet been used to sign in, so that the federated user identity can be used to sign in as the existing user account.

For example, if there is an existing user with a username and password, this API links that user to a federated user identity, so that when the federated user identity is used, the user signs in as the existing user account.

Because this API allows a user with an external federated identity to sign in as an existing user in the user pool, it is critical that it only be used with external identity providers and provider attributes that have been trusted by the application owner.

See also AdminDisableProviderForUser.

This action is enabled only for admin access and requires developer credentials.

", "AdminListDevices": "

Lists devices, as an administrator.

Requires developer credentials.

", "AdminListGroupsForUser": "

Lists the groups that the user belongs to.

Requires developer credentials.

", "AdminRemoveUserFromGroup": "

Removes the specified user from the specified group.

Requires developer credentials.

", @@ -29,18 +31,21 @@ "ConfirmSignUp": "

Confirms registration of a user and handles the existing alias from a previous user.

", "CreateGroup": "

Creates a new group in the specified user pool.

Requires developer credentials.

", "CreateIdentityProvider": "

Creates an identity provider for a user pool.

", + "CreateResourceServer": "

Creates a new OAuth2.0 resource server and defines custom scopes in it.

", "CreateUserImportJob": "

Creates the user import job.

", "CreateUserPool": "

Creates a new Amazon Cognito user pool and sets the password policy for the pool.

", "CreateUserPoolClient": "

Creates the user pool client.

", "CreateUserPoolDomain": "

Creates a new domain for a user pool.

", "DeleteGroup": "

Deletes a group. Currently only groups with no members can be deleted.

Requires developer credentials.

", "DeleteIdentityProvider": "

Deletes an identity provider for a user pool.

", - "DeleteUser": "

Allows a user to delete one's self.

", + "DeleteResourceServer": "

Deletes a resource server.

", + "DeleteUser": "

Allows a user to delete himself or herself.

", "DeleteUserAttributes": "

Deletes the attributes for a user.

", "DeleteUserPool": "

Deletes the specified Amazon Cognito user pool.

", "DeleteUserPoolClient": "

Allows the developer to delete the user pool client.

", "DeleteUserPoolDomain": "

Deletes a domain for a user pool.

", "DescribeIdentityProvider": "

Gets information about a specific identity provider.

", + "DescribeResourceServer": "

Describes a resource server.

", "DescribeUserImportJob": "

Describes the user import job.

", "DescribeUserPool": "

Returns the configuration information and metadata of the specified user pool.

", "DescribeUserPoolClient": "

Client method for returning the configuration information and metadata of the specified user pool client.

", @@ -51,6 +56,7 @@ "GetDevice": "

Gets the device.

", "GetGroup": "

Gets a group.

Requires developer credentials.

", "GetIdentityProviderByIdentifier": "

Gets the specified identity provider.

", + "GetUICustomization": "

Gets the UI Customization information for a particular app client's app UI, if there is something set. If nothing is set for the particular client, but there is an existing pool level customization (app clientId will be ALL), then that is returned. If nothing is present, then an empty shape is returned.

", "GetUser": "

Gets the user attributes and metadata for a user.

", "GetUserAttributeVerificationCode": "

Gets the user attribute verification code for the specified attribute name.

", "GlobalSignOut": "

Signs out users from all devices.

", @@ -58,6 +64,7 @@ "ListDevices": "

Lists the devices.

", "ListGroups": "

Lists the groups associated with a user pool.

Requires developer credentials.

", "ListIdentityProviders": "

Lists information about all identity providers for a user pool.

", + "ListResourceServers": "

Lists the resource servers for a user pool.

", "ListUserImportJobs": "

Lists the user import jobs.

", "ListUserPoolClients": "

Lists the clients that have been created for the specified user pool.

", "ListUserPools": "

Lists the user pools associated with an AWS account.

", @@ -65,6 +72,7 @@ "ListUsersInGroup": "

Lists the users in the specified group.

Requires developer credentials.

", "ResendConfirmationCode": "

Resends the confirmation (for confirmation of registration) to a specific user in the user pool.

", "RespondToAuthChallenge": "

Responds to the authentication challenge.

", + "SetUICustomization": "

Sets the UI customization information for a user pool's built-in app UI.

You can specify app UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to ALL). If you specify ALL, the default configuration will be used for every client that has no UI customization set previously. If you specify UI customization settings for a particular client, it will no longer fall back to the ALL configuration.

To use this API, your user pool must have a domain associated with it. Otherwise, there is no place to host the app's pages, and the service will throw an error.

", "SetUserSettings": "

Sets the user settings like multi-factor authentication (MFA). If MFA is to be removed for a particular attribute pass the attribute with code delivery as null. If null list is passed, all MFA options are removed.

", "SignUp": "

Registers the user in the specified user pool and creates a user name, password, and user attributes.

", "StartUserImportJob": "

Starts the user import.

", @@ -72,6 +80,7 @@ "UpdateDeviceStatus": "

Updates the device status.

", "UpdateGroup": "

Updates the specified group with the specified attributes.

Requires developer credentials.

", "UpdateIdentityProvider": "

Updates identity provider information for a user pool.

", + "UpdateResourceServer": "

Updates the name and scopes of resource server. All other fields are read-only.

", "UpdateUserAttributes": "

Allows a user to update a specific attribute (one at a time).

", "UpdateUserPool": "

Updates the specified user pool with the specified attributes.

", "UpdateUserPoolClient": "

Allows the developer to update the specified user pool client and password policy.

", @@ -148,6 +157,16 @@ "refs": { } }, + "AdminDisableProviderForUserRequest": { + "base": null, + "refs": { + } + }, + "AdminDisableProviderForUserResponse": { + "base": null, + "refs": { + } + }, "AdminDisableUserRequest": { "base": "

Represents the request to disable any user as an administrator.

", "refs": { @@ -203,6 +222,16 @@ "refs": { } }, + "AdminLinkProviderForUserRequest": { + "base": null, + "refs": { + } + }, + "AdminLinkProviderForUserResponse": { + "base": null, + "refs": { + } + }, "AdminListDevicesRequest": { "base": "

Represents the request to list devices, as an administrator.

", "refs": { @@ -348,6 +377,12 @@ "UserType$Attributes": "

A container with information about the user type attributes.

" } }, + "AttributeMappingKeyType": { + "base": null, + "refs": { + "AttributeMappingType$key": null + } + }, "AttributeMappingType": { "base": null, "refs": { @@ -432,6 +467,19 @@ "UserType$Enabled": "

Specifies whether the user is enabled.

" } }, + "CSSType": { + "base": null, + "refs": { + "SetUICustomizationRequest$CSS": "

The CSS values in the UI customization.

", + "UICustomizationType$CSS": "

The CSS values in the UI customization.

" + } + }, + "CSSVersionType": { + "base": null, + "refs": { + "UICustomizationType$CSSVersion": "

The CSS version number.

" + } + }, "CallbackURLsListType": { "base": null, "refs": { @@ -482,15 +530,18 @@ "refs": { "AdminInitiateAuthRequest$ClientId": "

The app client ID.

", "AdminRespondToAuthChallengeRequest$ClientId": "

The app client ID.

", - "ConfirmForgotPasswordRequest$ClientId": "

The ID of the client associated with the user pool.

", - "ConfirmSignUpRequest$ClientId": "

The ID of the client associated with the user pool.

", - "DeleteUserPoolClientRequest$ClientId": "

The ID of the client associated with the user pool.

", - "DescribeUserPoolClientRequest$ClientId": "

The ID of the client associated with the user pool.

", + "ConfirmForgotPasswordRequest$ClientId": "

The app client ID of the app associated with the user pool.

", + "ConfirmSignUpRequest$ClientId": "

The ID of the app client associated with the user pool.

", + "DeleteUserPoolClientRequest$ClientId": "

The app client ID of the app associated with the user pool.

", + "DescribeUserPoolClientRequest$ClientId": "

The app client ID of the app associated with the user pool.

", "ForgotPasswordRequest$ClientId": "

The ID of the client associated with the user pool.

", + "GetUICustomizationRequest$ClientId": "

The client ID for the client app.

", "InitiateAuthRequest$ClientId": "

The app client ID.

", "ResendConfirmationCodeRequest$ClientId": "

The ID of the client associated with the user pool.

", "RespondToAuthChallengeRequest$ClientId": "

The app client ID.

", + "SetUICustomizationRequest$ClientId": "

The client ID for the client app.

", "SignUpRequest$ClientId": "

The ID of the client associated with the user pool.

", + "UICustomizationType$ClientId": "

The client ID for the client app.

", "UpdateUserPoolClientRequest$ClientId": "

The ID of the client associated with the user pool.

", "UserPoolClientDescription$ClientId": "

The ID of the client associated with the user pool.

", "UserPoolClientType$ClientId": "

The ID of the client associated with the user pool.

" @@ -630,6 +681,16 @@ "refs": { } }, + "CreateResourceServerRequest": { + "base": null, + "refs": { + } + }, + "CreateResourceServerResponse": { + "base": null, + "refs": { + } + }, "CreateUserImportJobRequest": { "base": "

Represents the request to create the user import job.

", "refs": { @@ -673,7 +734,6 @@ "CustomAttributeNameType": { "base": null, "refs": { - "AttributeMappingType$key": null, "SchemaAttributeType$Name": "

A schema attribute of the name type.

" } }, @@ -697,6 +757,8 @@ "IdentityProviderType$CreationDate": "

The date the identity provider was created.

", "ProviderDescription$LastModifiedDate": "

The date the provider was last modified.

", "ProviderDescription$CreationDate": "

The date the provider was added to the user pool.

", + "UICustomizationType$LastModifiedDate": "

The last-modified date for the UI customization.

", + "UICustomizationType$CreationDate": "

The creation date for the UI customization.

", "UserImportJobType$CreationDate": "

The date the user import job was created.

", "UserImportJobType$StartDate": "

The date when the user import job was started.

", "UserImportJobType$CompletionDate": "

The date when the user import job was completed.

", @@ -710,6 +772,12 @@ "UserType$UserLastModifiedDate": "

The last modified date of the user.

" } }, + "DefaultEmailOptionType": { + "base": null, + "refs": { + "VerificationMessageTemplateType$DefaultEmailOption": "

The default email option.

" + } + }, "DeleteGroupRequest": { "base": null, "refs": { @@ -720,6 +788,11 @@ "refs": { } }, + "DeleteResourceServerRequest": { + "base": null, + "refs": { + } + }, "DeleteUserAttributesRequest": { "base": "

Represents the request to delete user attributes.

", "refs": { @@ -779,6 +852,16 @@ "refs": { } }, + "DescribeResourceServerRequest": { + "base": null, + "refs": { + } + }, + "DescribeResourceServerResponse": { + "base": null, + "refs": { + } + }, "DescribeUserImportJobRequest": { "base": "

Represents the request to describe the user import job.

", "refs": { @@ -929,13 +1012,26 @@ "UserPoolType$EmailConfiguration": "

The email configuration.

" } }, + "EmailVerificationMessageByLinkType": { + "base": null, + "refs": { + "VerificationMessageTemplateType$EmailMessageByLink": "

The email message template for sending a confirmation link to the user.

" + } + }, "EmailVerificationMessageType": { "base": null, "refs": { "CreateUserPoolRequest$EmailVerificationMessage": "

A string representing the email verification message.

", "MessageTemplateType$EmailMessage": "

The message template for email messages.

", "UpdateUserPoolRequest$EmailVerificationMessage": "

The contents of the email verification message.

", - "UserPoolType$EmailVerificationMessage": "

The contents of the email verification message.

" + "UserPoolType$EmailVerificationMessage": "

The contents of the email verification message.

", + "VerificationMessageTemplateType$EmailMessage": "

The email message template.

" + } + }, + "EmailVerificationSubjectByLinkType": { + "base": null, + "refs": { + "VerificationMessageTemplateType$EmailSubjectByLink": "

The subject line for the email message template for sending a confirmation link to the user.

" } }, "EmailVerificationSubjectType": { @@ -944,7 +1040,8 @@ "CreateUserPoolRequest$EmailVerificationSubject": "

A string representing the email verification subject.

", "MessageTemplateType$EmailSubject": "

The subject line for email messages.

", "UpdateUserPoolRequest$EmailVerificationSubject": "

The subject of the email verification message.

", - "UserPoolType$EmailVerificationSubject": "

The subject of the email verification message.

" + "UserPoolType$EmailVerificationSubject": "

The subject of the email verification message.

", + "VerificationMessageTemplateType$EmailSubject": "

The subject line for the email message template.

" } }, "ExpiredCodeException": { @@ -1034,6 +1131,16 @@ "refs": { } }, + "GetUICustomizationRequest": { + "base": null, + "refs": { + } + }, + "GetUICustomizationResponse": { + "base": null, + "refs": { + } + }, "GetUserAttributeVerificationCodeRequest": { "base": "

Represents the request to get user attribute verification.

", "refs": { @@ -1130,6 +1237,18 @@ "UpdateIdentityProviderRequest$IdpIdentifiers": "

A list of identity provider identifiers.

" } }, + "ImageFileType": { + "base": null, + "refs": { + "SetUICustomizationRequest$ImageFile": "

The uploaded logo image for the UI customization.

" + } + }, + "ImageUrlType": { + "base": null, + "refs": { + "UICustomizationType$ImageUrl": "

The logo image for the UI customization.

" + } + }, "InitiateAuthRequest": { "base": "

Initiates the authentication request.

", "refs": { @@ -1248,6 +1367,22 @@ "ListIdentityProvidersRequest$MaxResults": "

The maximum number of identity providers to return.

" } }, + "ListResourceServersLimitType": { + "base": null, + "refs": { + "ListResourceServersRequest$MaxResults": "

The maximum number of resource servers to return.

" + } + }, + "ListResourceServersRequest": { + "base": null, + "refs": { + } + }, + "ListResourceServersResponse": { + "base": null, + "refs": { + } + }, "ListUserImportJobsRequest": { "base": "

Represents the request to list the user import jobs.

", "refs": { @@ -1302,8 +1437,8 @@ "base": null, "refs": { "CreateUserPoolClientRequest$LogoutURLs": "

A list of allowed logout URLs for the identity providers.

", - "UpdateUserPoolClientRequest$LogoutURLs": "

A list ofallowed logout URLs for the identity providers.

", - "UserPoolClientType$LogoutURLs": "

A list ofallowed logout URLs for the identity providers.

" + "UpdateUserPoolClientRequest$LogoutURLs": "

A list of allowed logout URLs for the identity providers.

", + "UserPoolClientType$LogoutURLs": "

A list of allowed logout URLs for the identity providers.

" } }, "LongType": { @@ -1435,6 +1570,8 @@ "refs": { "ListIdentityProvidersRequest$NextToken": "

A pagination token.

", "ListIdentityProvidersResponse$NextToken": "

A pagination token.

", + "ListResourceServersRequest$NextToken": "

A pagination token.

", + "ListResourceServersResponse$NextToken": "

A pagination token.

", "ListUserImportJobsRequest$PaginationToken": "

An identifier that was returned from the previous call to ListUserImportJobs, which can be used to return the next set of import jobs in the list.

", "ListUserImportJobsResponse$PaginationToken": "

An identifier that can be used to return the next set of user import jobs in the list.

", "ListUserPoolsRequest$NextToken": "

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

", @@ -1511,15 +1648,29 @@ "ProviderNameType": { "base": null, "refs": { - "CreateIdentityProviderRequest$ProviderName": "

The identity provider name.

", "DeleteIdentityProviderRequest$ProviderName": "

The identity provider name.

", "DescribeIdentityProviderRequest$ProviderName": "

The identity provider name.

", "IdentityProviderType$ProviderName": "

The identity provider name.

", "ProviderDescription$ProviderName": "

The identity provider name.

", + "ProviderUserIdentifierType$ProviderName": "

The name of the provider, for example, Facebook, Google, or Login with Amazon.

", "SupportedIdentityProvidersListType$member": null, "UpdateIdentityProviderRequest$ProviderName": "

The identity provider name.

" } }, + "ProviderNameTypeV1": { + "base": null, + "refs": { + "CreateIdentityProviderRequest$ProviderName": "

The identity provider name.

" + } + }, + "ProviderUserIdentifierType": { + "base": "

A container for information about an identity provider for a user pool.

", + "refs": { + "AdminDisableProviderForUserRequest$User": "

The user to be disabled.

", + "AdminLinkProviderForUserRequest$DestinationUser": "

The existing user in the user pool to be linked to the external identity provider user account. Can be a native (Username + Password) Cognito User Pools user or a federated user (for example, a SAML or Facebook user). If the user doesn't exist, an exception is thrown. This is the user that is returned when the new user (with the linked identity provider attribute) signs in.

The ProviderAttributeValue for the DestinationUser must match the username for the user in the user pool. The ProviderAttributeName will always be ignored.

", + "AdminLinkProviderForUserRequest$SourceUser": "

An external identity provider account for a user who does not currently exist yet in the user pool. This user must be a federated user (for example, a SAML or Facebook user), not another native user.

If the SourceUser is a federated social identity provider user (Facebook, Google, or Login with Amazon), you must set the ProviderAttributeName to Cognito_Subject. For social identity providers, the ProviderName will be Facebook, Google, or LoginWithAmazon, and Cognito will automatically parse the Facebook, Google, and Login with Amazon tokens for id, sub, and user_id, respectively. The ProviderAttributeValue for the user must be the same value as the id, sub, or user_id value found in the social identity provider token.

For SAML, the ProviderAttributeName can be any value that matches a claim in the SAML assertion. If you wish to link SAML users based on the subject of the SAML assertion, you should map the subject to a claim through the SAML identity provider and submit that claim name as the ProviderAttributeName. If you set ProviderAttributeName to Cognito_Subject, Cognito will automatically parse the default unique identifier found in the subject from the SAML token.

" + } + }, "ProvidersListType": { "base": null, "refs": { @@ -1576,6 +1727,65 @@ "refs": { } }, + "ResourceServerIdentifierType": { + "base": null, + "refs": { + "CreateResourceServerRequest$Identifier": "

A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example, https://my-weather-api.example.com.

", + "DeleteResourceServerRequest$Identifier": "

The identifier for the resource server.

", + "DescribeResourceServerRequest$Identifier": "

The identifier for the resource server

", + "ResourceServerType$Identifier": "

The identifier for the resource server.

", + "UpdateResourceServerRequest$Identifier": "

The identifier for the resource server.

" + } + }, + "ResourceServerNameType": { + "base": null, + "refs": { + "CreateResourceServerRequest$Name": "

A friendly name for the resource server.

", + "ResourceServerType$Name": "

The name of the resource server.

", + "UpdateResourceServerRequest$Name": "

The name of the resource server.

" + } + }, + "ResourceServerScopeDescriptionType": { + "base": null, + "refs": { + "ResourceServerScopeType$ScopeDescription": "

A description of the scope.

" + } + }, + "ResourceServerScopeListType": { + "base": null, + "refs": { + "CreateResourceServerRequest$Scopes": "

A list of scopes. Each scope is map, where the keys are name and description.

", + "ResourceServerType$Scopes": "

A list of scopes that are defined for the resource server.

", + "UpdateResourceServerRequest$Scopes": "

The scope values to be set for the resource server.

" + } + }, + "ResourceServerScopeNameType": { + "base": null, + "refs": { + "ResourceServerScopeType$ScopeName": "

The name of the scope.

" + } + }, + "ResourceServerScopeType": { + "base": "

A resource server scope.

", + "refs": { + "ResourceServerScopeListType$member": null + } + }, + "ResourceServerType": { + "base": "

A container for information about a resource server for a user pool.

", + "refs": { + "CreateResourceServerResponse$ResourceServer": "

The newly created resource server.

", + "DescribeResourceServerResponse$ResourceServer": "

The resource server.

", + "ResourceServersListType$member": null, + "UpdateResourceServerResponse$ResourceServer": "

The resource server.

" + } + }, + "ResourceServersListType": { + "base": null, + "refs": { + "ListResourceServersResponse$ResourceServers": "

The resource servers.

" + } + }, "RespondToAuthChallengeRequest": { "base": "

The request to respond to an authentication challenge.

", "refs": { @@ -1663,6 +1873,16 @@ "RespondToAuthChallengeResponse$Session": "

The session which should be passed both ways in challenge-response calls to the service. If the InitiateAuth or RespondToAuthChallenge API call determines that the caller needs to go through another challenge, they return a session with other challenge parameters. This session should be passed as it is to the next RespondToAuthChallenge API call.

" } }, + "SetUICustomizationRequest": { + "base": null, + "refs": { + } + }, + "SetUICustomizationResponse": { + "base": null, + "refs": { + } + }, "SetUserSettingsRequest": { "base": "

Represents the request to set user settings.

", "refs": { @@ -1700,7 +1920,8 @@ "UpdateUserPoolRequest$SmsVerificationMessage": "

A container with information about the SMS verification message.

", "UpdateUserPoolRequest$SmsAuthenticationMessage": "

The contents of the SMS authentication message.

", "UserPoolType$SmsVerificationMessage": "

The contents of the SMS verification message.

", - "UserPoolType$SmsAuthenticationMessage": "

The contents of the SMS authentication message.

" + "UserPoolType$SmsAuthenticationMessage": "

The contents of the SMS authentication message.

", + "VerificationMessageTemplateType$SmsMessage": "

The SMS message template.

" } }, "StartUserImportJobRequest": { @@ -1739,6 +1960,8 @@ "StringType": { "base": null, "refs": { + "AdminDisableProviderForUserRequest$UserPoolId": "

The user pool ID for the user pool.

", + "AdminLinkProviderForUserRequest$UserPoolId": "

The user pool ID for the user pool.

", "AttributeMappingType$value": null, "AuthParametersType$key": null, "AuthParametersType$value": null, @@ -1758,6 +1981,8 @@ "NumberAttributeConstraintsType$MaxValue": "

The maximum value of an attribute that is of the number data type.

", "ProviderDetailsType$key": null, "ProviderDetailsType$value": null, + "ProviderUserIdentifierType$ProviderAttributeName": "

The name of the provider attribute to link to, for example, NameID.

", + "ProviderUserIdentifierType$ProviderAttributeValue": "

The value of the provider attribute to link to, for example, xxxxx_account.

", "SignUpResponse$UserSub": "

The UUID of the authenticated user. This is not the same as username.

", "SmsConfigurationType$ExternalId": "

The external ID.

", "StringAttributeConstraintsType$MinLength": "

The minimum length of an attribute value of the string type.

", @@ -1808,6 +2033,13 @@ "refs": { } }, + "UICustomizationType": { + "base": "

A container for the UI customization information for a user pool's built-in app UI.

", + "refs": { + "GetUICustomizationResponse$UICustomization": "

The UI customization information.

", + "SetUICustomizationResponse$UICustomization": "

The UI customization information.

" + } + }, "UnexpectedLambdaException": { "base": "

This exception is thrown when the Amazon Cognito service encounters an unexpected exception with the AWS Lambda service.

", "refs": { @@ -1853,6 +2085,16 @@ "refs": { } }, + "UpdateResourceServerRequest": { + "base": null, + "refs": { + } + }, + "UpdateResourceServerResponse": { + "base": null, + "refs": { + } + }, "UpdateUserAttributesRequest": { "base": "

Represents the request to update user attributes.

", "refs": { @@ -1960,7 +2202,7 @@ } }, "UserPoolClientType": { - "base": "

A user pool of the client type.

", + "base": "

Contains information about a user pool client.

", "refs": { "CreateUserPoolClientResponse$UserPoolClient": "

The user pool client that was just created.

", "DescribeUserPoolClientResponse$UserPoolClient": "

The user pool client from a server response to describe the user pool client.

", @@ -1999,15 +2241,18 @@ "AdminUserGlobalSignOutRequest$UserPoolId": "

The user pool ID.

", "CreateGroupRequest$UserPoolId": "

The user pool ID for the user pool.

", "CreateIdentityProviderRequest$UserPoolId": "

The user pool ID.

", + "CreateResourceServerRequest$UserPoolId": "

The user pool ID for the user pool.

", "CreateUserImportJobRequest$UserPoolId": "

The user pool ID for the user pool that the users are being imported into.

", "CreateUserPoolClientRequest$UserPoolId": "

The user pool ID for the user pool where you want to create a user pool client.

", "CreateUserPoolDomainRequest$UserPoolId": "

The user pool ID.

", "DeleteGroupRequest$UserPoolId": "

The user pool ID for the user pool.

", "DeleteIdentityProviderRequest$UserPoolId": "

The user pool ID.

", + "DeleteResourceServerRequest$UserPoolId": "

The user pool ID for the user pool that hosts the resource server.

", "DeleteUserPoolClientRequest$UserPoolId": "

The user pool ID for the user pool where you want to delete the client.

", "DeleteUserPoolDomainRequest$UserPoolId": "

The user pool ID.

", "DeleteUserPoolRequest$UserPoolId": "

The user pool ID for the user pool you want to delete.

", "DescribeIdentityProviderRequest$UserPoolId": "

The user pool ID.

", + "DescribeResourceServerRequest$UserPoolId": "

The user pool ID for the user pool that hosts the resource server.

", "DescribeUserImportJobRequest$UserPoolId": "

The user pool ID for the user pool that the users are being imported into.

", "DescribeUserPoolClientRequest$UserPoolId": "

The user pool ID for the user pool you want to describe.

", "DescribeUserPoolRequest$UserPoolId": "

The user pool ID for the user pool you want to describe.

", @@ -2016,18 +2261,24 @@ "GetCSVHeaderResponse$UserPoolId": "

The user pool ID for the user pool that the users are to be imported into.

", "GetGroupRequest$UserPoolId": "

The user pool ID for the user pool.

", "GetIdentityProviderByIdentifierRequest$UserPoolId": "

The user pool ID.

", + "GetUICustomizationRequest$UserPoolId": "

The user pool ID for the user pool.

", "GroupType$UserPoolId": "

The user pool ID for the user pool.

", "IdentityProviderType$UserPoolId": "

The user pool ID.

", "ListGroupsRequest$UserPoolId": "

The user pool ID for the user pool.

", "ListIdentityProvidersRequest$UserPoolId": "

The user pool ID.

", + "ListResourceServersRequest$UserPoolId": "

The user pool ID for the user pool.

", "ListUserImportJobsRequest$UserPoolId": "

The user pool ID for the user pool that the users are being imported into.

", "ListUserPoolClientsRequest$UserPoolId": "

The user pool ID for the user pool where you want to list user pool clients.

", "ListUsersInGroupRequest$UserPoolId": "

The user pool ID for the user pool.

", "ListUsersRequest$UserPoolId": "

The user pool ID for the user pool on which the search should be performed.

", + "ResourceServerType$UserPoolId": "

The user pool ID for the user pool that hosts the resource server.

", + "SetUICustomizationRequest$UserPoolId": "

The user pool ID for the user pool.

", "StartUserImportJobRequest$UserPoolId": "

The user pool ID for the user pool that the users are being imported into.

", "StopUserImportJobRequest$UserPoolId": "

The user pool ID for the user pool that the users are being imported into.

", + "UICustomizationType$UserPoolId": "

The user pool ID for the user pool.

", "UpdateGroupRequest$UserPoolId": "

The user pool ID for the user pool.

", "UpdateIdentityProviderRequest$UserPoolId": "

The user pool ID.

", + "UpdateResourceServerRequest$UserPoolId": "

The user pool ID for the user pool.

", "UpdateUserPoolClientRequest$UserPoolId": "

The user pool ID for the user pool where you want to update the user pool client.

", "UpdateUserPoolRequest$UserPoolId": "

The user pool ID for the user pool you want to update.

", "UserImportJobType$UserPoolId": "

The user pool ID for the user pool that the users are being imported into.

", @@ -2097,7 +2348,7 @@ "UserType": { "base": "

The user type.

", "refs": { - "AdminCreateUserResponse$User": "

The user returned in the request to create a new user.

", + "AdminCreateUserResponse$User": "

The newly created user.

", "UsersListType$member": null } }, @@ -2157,6 +2408,14 @@ "ListUsersResponse$Users": "

The users returned in the request to list users.

" } }, + "VerificationMessageTemplateType": { + "base": "

The template for verification messages.

", + "refs": { + "CreateUserPoolRequest$VerificationMessageTemplate": "

The template for the verification message that the user sees when the app requests permission to access the user's information.

", + "UpdateUserPoolRequest$VerificationMessageTemplate": "

The template for verification messages.

", + "UserPoolType$VerificationMessageTemplate": "

The template for verification messages.

" + } + }, "VerifiedAttributeType": { "base": null, "refs": { diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/config/2014-11-12/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/config/2014-11-12/api-2.json index e91758a05..0ec96b945 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/config/2014-11-12/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/config/2014-11-12/api-2.json @@ -222,6 +222,20 @@ {"shape":"InvalidParameterValueException"} ] }, + "GetDiscoveredResourceCounts":{ + "name":"GetDiscoveredResourceCounts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDiscoveredResourceCountsRequest"}, + "output":{"shape":"GetDiscoveredResourceCountsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidLimitException"}, + {"shape":"InvalidNextTokenException"} + ] + }, "GetResourceConfigHistory":{ "name":"GetResourceConfigHistory", "http":{ @@ -359,6 +373,11 @@ "AllSupported":{"type":"boolean"}, "AvailabilityZone":{"type":"string"}, "AwsRegion":{"type":"string"}, + "BaseResourceId":{ + "type":"string", + "max":768, + "min":1 + }, "Boolean":{"type":"boolean"}, "ChannelName":{ "type":"string", @@ -394,7 +413,7 @@ "type":"structure", "members":{ "ResourceType":{"shape":"StringWithCharLimit256"}, - "ResourceId":{"shape":"StringWithCharLimit256"}, + "ResourceId":{"shape":"BaseResourceId"}, "Compliance":{"shape":"Compliance"} } }, @@ -707,7 +726,7 @@ "type":"structure", "members":{ "ResourceType":{"shape":"StringWithCharLimit256"}, - "ResourceId":{"shape":"StringWithCharLimit256"}, + "ResourceId":{"shape":"BaseResourceId"}, "ComplianceTypes":{"shape":"ComplianceTypes"}, "Limit":{"shape":"Limit"}, "NextToken":{"shape":"NextToken"} @@ -813,7 +832,7 @@ ], "members":{ "ComplianceResourceType":{"shape":"StringWithCharLimit256"}, - "ComplianceResourceId":{"shape":"StringWithCharLimit256"}, + "ComplianceResourceId":{"shape":"BaseResourceId"}, "ComplianceType":{"shape":"ComplianceType"}, "Annotation":{"shape":"StringWithCharLimit256"}, "OrderingTimestamp":{"shape":"OrderingTimestamp"} @@ -842,7 +861,7 @@ "members":{ "ConfigRuleName":{"shape":"StringWithCharLimit64"}, "ResourceType":{"shape":"StringWithCharLimit256"}, - "ResourceId":{"shape":"StringWithCharLimit256"} + "ResourceId":{"shape":"BaseResourceId"} } }, "EvaluationResults":{ @@ -884,7 +903,7 @@ ], "members":{ "ResourceType":{"shape":"StringWithCharLimit256"}, - "ResourceId":{"shape":"StringWithCharLimit256"}, + "ResourceId":{"shape":"BaseResourceId"}, "ComplianceTypes":{"shape":"ComplianceTypes"}, "NextToken":{"shape":"String"} } @@ -914,6 +933,22 @@ "ComplianceSummariesByResourceType":{"shape":"ComplianceSummariesByResourceType"} } }, + "GetDiscoveredResourceCountsRequest":{ + "type":"structure", + "members":{ + "resourceTypes":{"shape":"ResourceTypes"}, + "limit":{"shape":"Limit"}, + "nextToken":{"shape":"NextToken"} + } + }, + "GetDiscoveredResourceCountsResponse":{ + "type":"structure", + "members":{ + "totalDiscoveredResources":{"shape":"Long"}, + "resourceCounts":{"shape":"ResourceCounts"}, + "nextToken":{"shape":"NextToken"} + } + }, "GetResourceConfigHistoryRequest":{ "type":"structure", "required":[ @@ -1054,6 +1089,7 @@ "nextToken":{"shape":"NextToken"} } }, + "Long":{"type":"long"}, "MaxNumberOfConfigRulesExceededException":{ "type":"structure", "members":{ @@ -1225,6 +1261,17 @@ "member":{"shape":"Relationship"} }, "RelationshipName":{"type":"string"}, + "ResourceCount":{ + "type":"structure", + "members":{ + "resourceType":{"shape":"ResourceType"}, + "count":{"shape":"Long"} + } + }, + "ResourceCounts":{ + "type":"list", + "member":{"shape":"ResourceCount"} + }, "ResourceCreationTime":{"type":"timestamp"}, "ResourceDeletionTime":{"type":"timestamp"}, "ResourceId":{"type":"string"}, @@ -1295,7 +1342,13 @@ "AWS::Redshift::ClusterSecurityGroup", "AWS::Redshift::ClusterSubnetGroup", "AWS::Redshift::EventSubscription", - "AWS::CloudWatch::Alarm" + "AWS::CloudWatch::Alarm", + "AWS::CloudFormation::Stack", + "AWS::DynamoDB::Table", + "AWS::AutoScaling::AutoScalingGroup", + "AWS::AutoScaling::LaunchConfiguration", + "AWS::AutoScaling::ScalingPolicy", + "AWS::AutoScaling::ScheduledAction" ] }, "ResourceTypeList":{ @@ -1319,7 +1372,7 @@ "ComplianceResourceTypes":{"shape":"ComplianceResourceTypes"}, "TagKey":{"shape":"StringWithCharLimit128"}, "TagValue":{"shape":"StringWithCharLimit256"}, - "ComplianceResourceId":{"shape":"StringWithCharLimit256"} + "ComplianceResourceId":{"shape":"BaseResourceId"} } }, "Source":{ diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/config/2014-11-12/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/config/2014-11-12/docs-2.json index 6412d8031..9df01a32f 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/config/2014-11-12/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/config/2014-11-12/docs-2.json @@ -19,8 +19,9 @@ "GetComplianceDetailsByResource": "

Returns the evaluation results for the specified AWS resource. The results indicate which AWS Config rules were used to evaluate the resource, when each rule was last used, and whether the resource complies with each rule.

", "GetComplianceSummaryByConfigRule": "

Returns the number of AWS Config rules that are compliant and noncompliant, up to a maximum of 25 for each.

", "GetComplianceSummaryByResourceType": "

Returns the number of resources that are compliant and the number that are noncompliant. You can specify one or more resource types to get these numbers for each resource type. The maximum number returned is 100.

", - "GetResourceConfigHistory": "

Returns a list of configuration items for the specified resource. The list contains details about each state of the resource during the specified time interval.

The response is paginated, and by default, AWS Config returns a limit of 10 configuration items per page. You can customize this number with the limit parameter. The response includes a nextToken string, and to get the next page of results, run the request again and enter this string for the nextToken parameter.

Each call to the API is limited to span a duration of seven days. It is likely that the number of records returned is smaller than the specified limit. In such cases, you can make another call, using the nextToken.

", - "ListDiscoveredResources": "

Accepts a resource type and returns a list of resource identifiers for the resources of that type. A resource identifier includes the resource type, ID, and (if available) the custom resource name. The results consist of resources that AWS Config has discovered, including those that AWS Config is not currently recording. You can narrow the results to include only resources that have specific resource IDs or a resource name.

You can specify either resource IDs or a resource name but not both in the same request.

The response is paginated, and by default AWS Config lists 100 resource identifiers on each page. You can customize this number with the limit parameter. The response includes a nextToken string, and to get the next page of results, run the request again and enter this string for the nextToken parameter.

", + "GetDiscoveredResourceCounts": "

Returns the resource types, the number of each resource type, and the total number of resources that AWS Config is recording in this region for your AWS account.

Example

  1. AWS Config is recording three resource types in the US East (Ohio) Region for your account: 25 EC2 instances, 20 IAM users, and 15 S3 buckets.

  2. You make a call to the GetDiscoveredResourceCounts action and specify that you want all resource types.

  3. AWS Config returns the following:

    • The resource types (EC2 instances, IAM users, and S3 buckets)

    • The number of each resource type (25, 20, and 15)

    • The total number of all resources (60)

The response is paginated. By default, AWS Config lists 100 ResourceCount objects on each page. You can customize this number with the limit parameter. The response includes a nextToken string. To get the next page of results, run the request again and specify the string for the nextToken parameter.

If you make a call to the GetDiscoveredResourceCounts action, you may not immediately receive resource counts in the following situations:

  • You are a new AWS Config customer

  • You just enabled resource recording

It may take a few minutes for AWS Config to record and count your resources. Wait a few minutes and then retry the GetDiscoveredResourceCounts action.

", + "GetResourceConfigHistory": "

Returns a list of configuration items for the specified resource. The list contains details about each state of the resource during the specified time interval.

The response is paginated. By default, AWS Config returns a limit of 10 configuration items per page. You can customize this number with the limit parameter. The response includes a nextToken string. To get the next page of results, run the request again and specify the string for the nextToken parameter.

Each call to the API is limited to span a duration of seven days. It is likely that the number of records returned is smaller than the specified limit. In such cases, you can make another call, using the nextToken.

", + "ListDiscoveredResources": "

Accepts a resource type and returns a list of resource identifiers for the resources of that type. A resource identifier includes the resource type, ID, and (if available) the custom resource name. The results consist of resources that AWS Config has discovered, including those that AWS Config is not currently recording. You can narrow the results to include only resources that have specific resource IDs or a resource name.

You can specify either resource IDs or a resource name but not both in the same request.

The response is paginated. By default, AWS Config lists 100 resource identifiers on each page. You can customize this number with the limit parameter. The response includes a nextToken string. To get the next page of results, run the request again and specify the string for the nextToken parameter.

", "PutConfigRule": "

Adds or updates an AWS Config rule for evaluating whether your AWS resources comply with your desired configurations.

You can use this action for custom Config rules and AWS managed Config rules. A custom Config rule is a rule that you develop and maintain. An AWS managed Config rule is a customizable, predefined rule that AWS Config provides.

If you are adding a new custom Config rule, you must first create the AWS Lambda function that the rule invokes to evaluate your resources. When you use the PutConfigRule action to add the rule to AWS Config, you must specify the Amazon Resource Name (ARN) that AWS Lambda assigns to the function. Specify the ARN for the SourceIdentifier key. This key is part of the Source object, which is part of the ConfigRule object.

If you are adding an AWS managed Config rule, specify the rule's identifier for the SourceIdentifier key. To reference AWS managed Config rule identifiers, see About AWS Managed Config Rules.

For any new rule that you add, specify the ConfigRuleName in the ConfigRule object. Do not specify the ConfigRuleArn or the ConfigRuleId. These values are generated by AWS Config for new rules.

If you are updating a rule that you added previously, you can specify the rule by ConfigRuleName, ConfigRuleId, or ConfigRuleArn in the ConfigRule data type that you use in this request.

The maximum number of rules that AWS Config supports is 50.

For more information about requesting a rule limit increase, see AWS Config Limits in the AWS General Reference Guide.

For more information about developing and using AWS Config rules, see Evaluating AWS Resource Configurations with AWS Config in the AWS Config Developer Guide.

", "PutConfigurationRecorder": "

Creates a new configuration recorder to record the selected resource configurations.

You can use this action to change the role roleARN and/or the recordingGroup of an existing recorder. To change the role, call the action on the existing configuration recorder and specify a role.

Currently, you can specify only one configuration recorder per region in your account.

If ConfigurationRecorder does not have the recordingGroup parameter specified, the default is to record all supported resource types.

", "PutDeliveryChannel": "

Creates a delivery channel object to deliver configuration information to an Amazon S3 bucket and Amazon SNS topic.

Before you can create a delivery channel, you must create a configuration recorder.

You can use this action to change the Amazon S3 bucket or an Amazon SNS topic of the existing delivery channel. To change the Amazon S3 bucket or an Amazon SNS topic, call this action and specify the changed values for the S3 bucket and the SNS topic. If you specify a different value for either the S3 bucket or the SNS topic, this action will keep the existing value for the parameter that is not changed.

You can have only one delivery channel per region in your account.

", @@ -60,6 +61,17 @@ "ConfigurationItem$awsRegion": "

The region where the resource resides.

" } }, + "BaseResourceId": { + "base": null, + "refs": { + "ComplianceByResource$ResourceId": "

The ID of the AWS resource that was evaluated.

", + "DescribeComplianceByResourceRequest$ResourceId": "

The ID of the AWS resource for which you want compliance information. You can specify only one resource ID. If you specify a resource ID, you must also specify a type for ResourceType.

", + "Evaluation$ComplianceResourceId": "

The ID of the AWS resource that was evaluated.

", + "EvaluationResultQualifier$ResourceId": "

The ID of the evaluated AWS resource.

", + "GetComplianceDetailsByResourceRequest$ResourceId": "

The ID of the AWS resource for which you want compliance information.

", + "Scope$ComplianceResourceId": "

The IDs of the only AWS resource that you want to trigger an evaluation for the rule. If you specify a resource ID, you must specify one resource type for ComplianceResourceTypes.

" + } + }, "Boolean": { "base": null, "refs": { @@ -168,7 +180,7 @@ } }, "ConfigExportDeliveryInfo": { - "base": "

A list that contains the status of the delivery of either the snapshot or the configuration history to the specified Amazon S3 bucket.

", + "base": "

Provides status of the delivery of the snapshot or the configuration history to the specified Amazon S3 bucket. Also provides the status of notifications about the Amazon S3 delivery to the specified Amazon SNS topic.

", "refs": { "DeliveryChannelStatus$configSnapshotDeliveryInfo": "

A list containing the status of the delivery of the snapshot to the specified Amazon S3 bucket.

", "DeliveryChannelStatus$configHistoryDeliveryInfo": "

A list that contains the status of the delivery of the configuration history to the specified Amazon S3 bucket.

" @@ -565,6 +577,16 @@ "refs": { } }, + "GetDiscoveredResourceCountsRequest": { + "base": null, + "refs": { + } + }, + "GetDiscoveredResourceCountsResponse": { + "base": null, + "refs": { + } + }, "GetResourceConfigHistoryRequest": { "base": "

The input for the GetResourceConfigHistory action.

", "refs": { @@ -668,6 +690,7 @@ "refs": { "DescribeComplianceByResourceRequest$Limit": "

The maximum number of evaluation results returned on each page. The default is 10. You cannot specify a limit greater than 100. If you specify 0, AWS Config uses the default.

", "GetComplianceDetailsByConfigRuleRequest$Limit": "

The maximum number of evaluation results returned on each page. The default is 10. You cannot specify a limit greater than 100. If you specify 0, AWS Config uses the default.

", + "GetDiscoveredResourceCountsRequest$limit": "

The maximum number of ResourceCount objects returned on each page. The default is 100. You cannot specify a limit greater than 100. If you specify 0, AWS Config uses the default.

", "GetResourceConfigHistoryRequest$limit": "

The maximum number of configuration items returned on each page. The default is 10. You cannot specify a limit greater than 100. If you specify 0, AWS Config uses the default.

", "ListDiscoveredResourcesRequest$limit": "

The maximum number of resource identifiers returned on each page. The default is 100. You cannot specify a limit greater than 100. If you specify 0, AWS Config uses the default.

" } @@ -687,6 +710,13 @@ "refs": { } }, + "Long": { + "base": null, + "refs": { + "GetDiscoveredResourceCountsResponse$totalDiscoveredResources": "

The total number of resources that AWS Config is recording in the region for your account. If you specify resource types in the request, AWS Config returns only the total number of resources for those resource types.

Example

  1. AWS Config is recording three resource types in the US East (Ohio) Region for your account: 25 EC2 instances, 20 IAM users, and 15 S3 buckets, for a total of 60 resources.

  2. You make a call to the GetDiscoveredResourceCounts action and specify the resource type, \"AWS::EC2::Instances\" in the request.

  3. AWS Config returns 25 for totalDiscoveredResources.

", + "ResourceCount$count": "

The number of resources.

" + } + }, "MaxNumberOfConfigRulesExceededException": { "base": "

Failed to add the AWS Config rule because the account already contains the maximum number of 50 rules. Consider deleting any deactivated rules before adding new rules.

", "refs": { @@ -729,6 +759,8 @@ "DescribeComplianceByResourceResponse$NextToken": "

The string that you use in a subsequent request to get the next page of results in a paginated response.

", "GetComplianceDetailsByConfigRuleRequest$NextToken": "

The NextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", "GetComplianceDetailsByConfigRuleResponse$NextToken": "

The string that you use in a subsequent request to get the next page of results in a paginated response.

", + "GetDiscoveredResourceCountsRequest$nextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", + "GetDiscoveredResourceCountsResponse$nextToken": "

The string that you use in a subsequent request to get the next page of results in a paginated response.

", "GetResourceConfigHistoryRequest$nextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", "GetResourceConfigHistoryResponse$nextToken": "

The string that you use in a subsequent request to get the next page of results in a paginated response.

", "ListDiscoveredResourcesRequest$nextToken": "

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

", @@ -865,6 +897,18 @@ "Relationship$relationshipName": "

The type of relationship with the related resource.

" } }, + "ResourceCount": { + "base": "

An object that contains the resource type and the number of resources.

", + "refs": { + "ResourceCounts$member": null + } + }, + "ResourceCounts": { + "base": null, + "refs": { + "GetDiscoveredResourceCountsResponse$resourceCounts": "

The list of ResourceCount objects. Each object is listed in descending order by the number of resources.

" + } + }, "ResourceCreationTime": { "base": null, "refs": { @@ -931,6 +975,7 @@ "GetResourceConfigHistoryRequest$resourceType": "

The resource type.

", "ListDiscoveredResourcesRequest$resourceType": "

The type of resources that you want AWS Config to list in the response.

", "Relationship$resourceType": "

The resource type of the related resource.

", + "ResourceCount$resourceType": "

The resource type, for example \"AWS::EC2::Instance\".

", "ResourceIdentifier$resourceType": "

The type of resource.

", "ResourceTypeList$member": null } @@ -944,7 +989,8 @@ "ResourceTypes": { "base": null, "refs": { - "GetComplianceSummaryByResourceTypeRequest$ResourceTypes": "

Specify one or more resource types to get the number of resources that are compliant and the number that are noncompliant for each resource type.

For this request, you can specify an AWS resource type such as AWS::EC2::Instance, and you can specify that the resource type is an AWS account by specifying AWS::::Account.

" + "GetComplianceSummaryByResourceTypeRequest$ResourceTypes": "

Specify one or more resource types to get the number of resources that are compliant and the number that are noncompliant for each resource type.

For this request, you can specify an AWS resource type such as AWS::EC2::Instance, and you can specify that the resource type is an AWS account by specifying AWS::::Account.

", + "GetDiscoveredResourceCountsRequest$resourceTypes": "

The comma-separated list that specifies the resource types that you want the AWS Config to return. For example, (\"AWS::EC2::Instance\", \"AWS::IAM::User\").

If a value for resourceTypes is not specified, AWS Config returns all resource types that AWS Config is recording in the region for your account.

If the configuration recorder is turned off, AWS Config returns an empty list of ResourceCount objects. If the configuration recorder is not recording a specific resource type (for example, S3 buckets), that resource type is not returned in the list of ResourceCount objects.

" } }, "RuleLimit": { @@ -1040,30 +1086,24 @@ "StringWithCharLimit128": { "base": null, "refs": { - "Scope$TagKey": "

The tag key that is applied to only those AWS resources that you want you want to trigger an evaluation for the rule.

" + "Scope$TagKey": "

The tag key that is applied to only those AWS resources that you want to trigger an evaluation for the rule.

" } }, "StringWithCharLimit256": { "base": null, "refs": { "ComplianceByResource$ResourceType": "

The type of the AWS resource that was evaluated.

", - "ComplianceByResource$ResourceId": "

The ID of the AWS resource that was evaluated.

", "ComplianceResourceTypes$member": null, "ComplianceSummaryByResourceType$ResourceType": "

The type of AWS resource.

", "DescribeComplianceByResourceRequest$ResourceType": "

The types of AWS resources for which you want compliance information; for example, AWS::EC2::Instance. For this action, you can specify that the resource type is an AWS account by specifying AWS::::Account.

", - "DescribeComplianceByResourceRequest$ResourceId": "

The ID of the AWS resource for which you want compliance information. You can specify only one resource ID. If you specify a resource ID, you must also specify a type for ResourceType.

", "Evaluation$ComplianceResourceType": "

The type of AWS resource that was evaluated.

", - "Evaluation$ComplianceResourceId": "

The ID of the AWS resource that was evaluated.

", "Evaluation$Annotation": "

Supplementary information about how the evaluation determined the compliance.

", "EvaluationResult$Annotation": "

Supplementary information about how the evaluation determined the compliance.

", "EvaluationResultQualifier$ResourceType": "

The type of AWS resource that was evaluated.

", - "EvaluationResultQualifier$ResourceId": "

The ID of the evaluated AWS resource.

", "GetComplianceDetailsByResourceRequest$ResourceType": "

The type of the AWS resource for which you want compliance information.

", - "GetComplianceDetailsByResourceRequest$ResourceId": "

The ID of the AWS resource for which you want compliance information.

", "ResourceTypes$member": null, "Scope$TagValue": "

The tag value applied to only those AWS resources that you want to trigger an evaluation for the rule. If you specify a value for TagValue, you must also specify a value for TagKey.

", - "Scope$ComplianceResourceId": "

The IDs of the only AWS resource that you want to trigger an evaluation for the rule. If you specify a resource ID, you must specify one resource type for ComplianceResourceTypes.

", - "Source$SourceIdentifier": "

For AWS Config managed rules, a predefined identifier from a list. For example, IAM_PASSWORD_POLICY is a managed rule. To reference a managed rule, see Using AWS Managed Config Rules.

For custom rules, the identifier is the Amazon Resource Name (ARN) of the rule's AWS Lambda function, such as arn:aws:lambda:us-east-1:123456789012:function:custom_rule_name.

" + "Source$SourceIdentifier": "

For AWS Config managed rules, a predefined identifier from a list. For example, IAM_PASSWORD_POLICY is a managed rule. To reference a managed rule, see Using AWS Managed Config Rules.

For custom rules, the identifier is the Amazon Resource Name (ARN) of the rule's AWS Lambda function, such as arn:aws:lambda:us-east-2:123456789012:function:custom_rule_name.

" } }, "StringWithCharLimit64": { diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/devicefarm/2015-06-23/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/devicefarm/2015-06-23/api-2.json index c8684371b..749342afe 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/devicefarm/2015-06-23/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/devicefarm/2015-06-23/api-2.json @@ -781,6 +781,10 @@ "type":"list", "member":{"shape":"AmazonResourceName"} }, + "AndroidPaths":{ + "type":"list", + "member":{"shape":"String"} + }, "AppPackagesCleanup":{"type":"boolean"}, "ArgumentException":{ "type":"structure", @@ -834,7 +838,9 @@ "EXPLORER_SUMMARY_LOG", "APPLICATION_CRASH_REPORT", "XCTEST_LOG", - "VIDEO" + "VIDEO", + "CUSTOMER_ARTIFACT", + "CUSTOMER_ARTIFACT_LOG" ] }, "Artifacts":{ @@ -857,6 +863,11 @@ "clock":{"shape":"Double"} } }, + "ClientId":{ + "type":"string", + "max":64, + "min":0 + }, "ContentType":{ "type":"string", "max":64, @@ -950,7 +961,10 @@ "members":{ "projectArn":{"shape":"AmazonResourceName"}, "deviceArn":{"shape":"AmazonResourceName"}, + "sshPublicKey":{"shape":"SshPublicKey"}, + "remoteDebugEnabled":{"shape":"Boolean"}, "name":{"shape":"Name"}, + "clientId":{"shape":"ClientId"}, "configuration":{"shape":"CreateRemoteAccessSessionConfiguration"} } }, @@ -984,6 +998,14 @@ "type":"string", "enum":["USD"] }, + "CustomerArtifactPaths":{ + "type":"structure", + "members":{ + "iosPaths":{"shape":"IosPaths"}, + "androidPaths":{"shape":"AndroidPaths"}, + "deviceHostPaths":{"shape":"DeviceHostPaths"} + } + }, "DateTime":{"type":"timestamp"}, "DeleteDevicePoolRequest":{ "type":"structure", @@ -1075,6 +1097,7 @@ "carrier":{"shape":"String"}, "radio":{"shape":"String"}, "remoteAccessEnabled":{"shape":"Boolean"}, + "remoteDebugEnabled":{"shape":"Boolean"}, "fleetType":{"shape":"String"}, "fleetName":{"shape":"String"} } @@ -1087,6 +1110,7 @@ "FORM_FACTOR", "MANUFACTURER", "REMOTE_ACCESS_ENABLED", + "REMOTE_DEBUG_ENABLED", "APPIUM_VERSION" ] }, @@ -1097,6 +1121,10 @@ "TABLET" ] }, + "DeviceHostPaths":{ + "type":"list", + "member":{"shape":"String"} + }, "DeviceMinutes":{ "type":"structure", "members":{ @@ -1170,6 +1198,10 @@ "STOPPED" ] }, + "ExecutionResultCode":{ + "type":"string", + "enum":["PARSING_FAILED"] + }, "ExecutionStatus":{ "type":"string", "enum":[ @@ -1361,6 +1393,10 @@ "upload":{"shape":"Upload"} } }, + "HostAddress":{ + "type":"string", + "max":1024 + }, "IdempotencyException":{ "type":"structure", "members":{ @@ -1397,6 +1433,10 @@ } }, "Integer":{"type":"integer"}, + "IosPaths":{ + "type":"list", + "member":{"shape":"String"} + }, "Job":{ "type":"structure", "members":{ @@ -1919,9 +1959,13 @@ "started":{"shape":"DateTime"}, "stopped":{"shape":"DateTime"}, "device":{"shape":"Device"}, + "remoteDebugEnabled":{"shape":"Boolean"}, + "hostAddress":{"shape":"HostAddress"}, + "clientId":{"shape":"ClientId"}, "billingMethod":{"shape":"BillingMethod"}, "deviceMinutes":{"shape":"DeviceMinutes"}, - "endpoint":{"shape":"String"} + "endpoint":{"shape":"String"}, + "deviceUdid":{"shape":"String"} } }, "RemoteAccessSessions":{ @@ -1989,7 +2033,10 @@ "completedJobs":{"shape":"Integer"}, "billingMethod":{"shape":"BillingMethod"}, "deviceMinutes":{"shape":"DeviceMinutes"}, - "networkProfile":{"shape":"NetworkProfile"} + "networkProfile":{"shape":"NetworkProfile"}, + "parsingResultUrl":{"shape":"String"}, + "resultCode":{"shape":"ExecutionResultCode"}, + "customerArtifactPaths":{"shape":"CustomerArtifactPaths"} } }, "Runs":{ @@ -2037,6 +2084,7 @@ "networkProfileArn":{"shape":"AmazonResourceName"}, "locale":{"shape":"String"}, "location":{"shape":"Location"}, + "customerArtifactPaths":{"shape":"CustomerArtifactPaths"}, "radios":{"shape":"Radios"}, "auxiliaryApps":{"shape":"AmazonResourceNames"}, "billingMethod":{"shape":"BillingMethod"} @@ -2082,6 +2130,11 @@ }, "exception":true }, + "SshPublicKey":{ + "type":"string", + "max":8192, + "min":0 + }, "StopRemoteAccessSessionRequest":{ "type":"structure", "required":["arn"], diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/devicefarm/2015-06-23/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/devicefarm/2015-06-23/docs-2.json index d65687ff3..a8188e597 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/devicefarm/2015-06-23/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/devicefarm/2015-06-23/docs-2.json @@ -145,6 +145,12 @@ "ScheduleRunConfiguration$auxiliaryApps": "

A list of auxiliary apps for the run.

" } }, + "AndroidPaths": { + "base": null, + "refs": { + "CustomerArtifactPaths$androidPaths": "

Comma-separated list of paths on the Android device where the artifacts generated by the customer's tests will be pulled from.

" + } + }, "AppPackagesCleanup": { "base": null, "refs": { @@ -192,12 +198,15 @@ "Boolean": { "base": null, "refs": { + "CreateRemoteAccessSessionRequest$remoteDebugEnabled": "

Set to true if you want to access devices remotely for debugging in your remote access session.

", "Device$remoteAccessEnabled": "

Specifies whether remote access has been enabled for the specified device.

", + "Device$remoteDebugEnabled": "

This flag is set to true if remote debugging is enabled for the device.

", "DevicePoolCompatibilityResult$compatible": "

Whether the result was compatible with the device pool.

", "Radios$wifi": "

True if Wi-Fi is enabled at the beginning of the test; otherwise, false.

", "Radios$bluetooth": "

True if Bluetooth is enabled at the beginning of the test; otherwise, false.

", "Radios$nfc": "

True if NFC is enabled at the beginning of the test; otherwise, false.

", - "Radios$gps": "

True if GPS is enabled at the beginning of the test; otherwise, false.

" + "Radios$gps": "

True if GPS is enabled at the beginning of the test; otherwise, false.

", + "RemoteAccessSession$remoteDebugEnabled": "

This flag is set to true if remote debugging is enabled for the remote access session.

" } }, "CPU": { @@ -206,6 +215,13 @@ "Device$cpu": "

Information about the device's CPU.

" } }, + "ClientId": { + "base": null, + "refs": { + "CreateRemoteAccessSessionRequest$clientId": "

Unique identifier for the client. If you want access to multiple devices on the same client, you should pass the same clientId value in each call to CreateRemoteAccessSession. This is required only if remoteDebugEnabled is set to true true.

", + "RemoteAccessSession$clientId": "

Unique identifier of your client for the remote access session. Only returned if remote debugging is enabled for the remote access session.

" + } + }, "ContentType": { "base": null, "refs": { @@ -284,6 +300,13 @@ "MonetaryAmount$currencyCode": "

The currency code of a monetary amount. For example, USD means \"U.S. dollars.\"

" } }, + "CustomerArtifactPaths": { + "base": "

A JSON object specifying the paths where the artifacts generated by the customer's tests, on the device or in the test environment, will be pulled from.

Specify deviceHostPaths and optionally specify either iosPaths or androidPaths.

For web app tests, you can specify both iosPaths and androidPaths.

", + "refs": { + "Run$customerArtifactPaths": "

Output CustomerArtifactPaths object for the test run.

", + "ScheduleRunConfiguration$customerArtifactPaths": "

Input CustomerArtifactPaths object for the scheduled run configuration.

" + } + }, "DateTime": { "base": null, "refs": { @@ -392,6 +415,12 @@ "Device$formFactor": "

The device's form factor.

Allowed values include:

  • PHONE: The phone form factor.

  • TABLET: The tablet form factor.

" } }, + "DeviceHostPaths": { + "base": null, + "refs": { + "CustomerArtifactPaths$deviceHostPaths": "

Comma-separated list of paths in the test execution environment where the artifacts generated by the customer's tests will be pulled from.

" + } + }, "DeviceMinutes": { "base": "

Represents the total (metered or unmetered) minutes used by the resource to run tests. Contains the sum of minutes consumed by all children.

", "refs": { @@ -484,6 +513,12 @@ "UniqueProblemsByExecutionResultMap$key": null } }, + "ExecutionResultCode": { + "base": null, + "refs": { + "Run$resultCode": "

Supporting field for the result field. Set only if result is SKIPPED. PARSING_FAILED if the result is skipped because of test package parsing failure.

" + } + }, "ExecutionStatus": { "base": null, "refs": { @@ -630,6 +665,12 @@ "refs": { } }, + "HostAddress": { + "base": null, + "refs": { + "RemoteAccessSession$hostAddress": "

IP address of the EC2 host where you need to connect to remotely debug devices. Only returned if remote debugging is enabled for the remote access session.

" + } + }, "IdempotencyException": { "base": "

An entity with the same name already exists.

", "refs": { @@ -678,6 +719,12 @@ "Run$completedJobs": "

The total number of completed jobs.

" } }, + "IosPaths": { + "base": null, + "refs": { + "CustomerArtifactPaths$iosPaths": "

Comma-separated list of paths on the iOS device where the artifacts generated by the customer's tests will be pulled from.

" + } + }, "Job": { "base": "

Represents a device.

", "refs": { @@ -1267,7 +1314,7 @@ } }, "Run": { - "base": "

Represents an app on a set of devices with a specific test and configuration.

", + "base": "

Represents a test run on a set of devices with a given app package, test parameters, etc.

", "refs": { "GetRunResult$run": "

The run you wish to get results from.

", "Runs$member": null, @@ -1327,6 +1374,12 @@ "refs": { } }, + "SshPublicKey": { + "base": null, + "refs": { + "CreateRemoteAccessSessionRequest$sshPublicKey": "

The public key of the ssh key pair you want to use for connecting to remote devices in your remote debugging session. This is only required if remoteDebugEnabled is set to true.

" + } + }, "StopRemoteAccessSessionRequest": { "base": "

Represents the request to stop the remote access session.

", "refs": { @@ -1350,6 +1403,7 @@ "String": { "base": null, "refs": { + "AndroidPaths$member": null, "Artifact$extension": "

The artifact's file extension.

", "CPU$frequency": "

The CPU's frequency.

", "CPU$architecture": "

The CPU's architecture, for example x86 or ARM.

", @@ -1361,9 +1415,13 @@ "Device$radio": "

The device's radio.

", "Device$fleetType": "

The type of fleet to which this device belongs. Possible values for fleet type are PRIVATE and PUBLIC.

", "Device$fleetName": "

The name of the fleet to which this device belongs.

", + "DeviceHostPaths$member": null, + "IosPaths$member": null, "MaxSlotMap$key": null, "RemoteAccessSession$endpoint": "

The endpoint for the remote access sesssion.

", + "RemoteAccessSession$deviceUdid": "

Unique device identifier for the remote device. Only returned if remote debugging is enabled for the remote access session.

", "Rule$value": "

The rule's value.

", + "Run$parsingResultUrl": "

Read-only URL for an object in S3 bucket where you can get the parsing results of the test package. If the test package doesn't parse, the reason why it doesn't parse appears in the file that this URL points to.

", "ScheduleRunConfiguration$locale": "

Information about the locale that is used for the run.

", "TestParameters$key": null, "TestParameters$value": null diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/dynamodb/2012-08-10/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/dynamodb/2012-08-10/docs-2.json index f657f0134..98f1bb224 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/dynamodb/2012-08-10/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/dynamodb/2012-08-10/docs-2.json @@ -13,14 +13,14 @@ "GetItem": "

The GetItem operation returns a set of attributes for the item with the given primary key. If there is no matching item, GetItem does not return any data and there will be no Item element in the response.

GetItem provides an eventually consistent read by default. If your application requires a strongly consistent read, set ConsistentRead to true. Although a strongly consistent read might take more time than an eventually consistent read, it always returns the last updated value.

", "ListTables": "

Returns an array of table names associated with the current account and endpoint. The output from ListTables is paginated, with each page returning a maximum of 100 table names.

", "ListTagsOfResource": "

List all tags on an Amazon DynamoDB resource. You can call ListTagsOfResource up to 10 times per second, per account.

For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide.

", - "PutItem": "

Creates a new item, or replaces an old item with a new item. If an item that has the same primary key as the new item already exists in the specified table, the new item completely replaces the existing item. You can perform a conditional put operation (add a new item if one with the specified primary key doesn't exist), or replace an existing item if it has certain attribute values.

In addition to putting an item, you can also return the item's attribute values in the same operation, using the ReturnValues parameter.

When you add an item, the primary key attribute(s) are the only required attributes. Attribute values cannot be null. String and Binary type attributes must have lengths greater than zero. Set type attributes cannot be empty. Requests with empty values will be rejected with a ValidationException exception.

To prevent a new item from replacing an existing item, use a conditional expression that contains the attribute_not_exists function with the name of the attribute being used as the partition key for the table. Since every record must contain that attribute, the attribute_not_exists function will only succeed if no matching item exists.

For more information about PutItem, see Working with Items in the Amazon DynamoDB Developer Guide.

", - "Query": "

A Query operation uses the primary key of a table or a secondary index to directly access items from that table or index.

Use the KeyConditionExpression parameter to provide a specific value for the partition key. The Query operation will return all of the items from the table or index with that partition key value. You can optionally narrow the scope of the Query operation by specifying a sort key value and a comparison operator in KeyConditionExpression. You can use the ScanIndexForward parameter to get results in forward or reverse order, by sort key.

Queries that do not return results consume the minimum number of read capacity units for that type of read operation.

If the total number of items meeting the query criteria exceeds the result set size limit of 1 MB, the query stops and results are returned to the user with the LastEvaluatedKey element to continue the query in a subsequent operation. Unlike a Scan operation, a Query operation never returns both an empty result set and a LastEvaluatedKey value. LastEvaluatedKey is only provided if you have used the Limit parameter, or if the result set exceeds 1 MB (prior to applying a filter).

You can query a table, a local secondary index, or a global secondary index. For a query on a table or on a local secondary index, you can set the ConsistentRead parameter to true and obtain a strongly consistent result. Global secondary indexes support eventually consistent reads only, so do not specify ConsistentRead when querying a global secondary index.

", - "Scan": "

The Scan operation returns one or more items and item attributes by accessing every item in a table or a secondary index. To have DynamoDB return fewer items, you can provide a FilterExpression operation.

If the total number of scanned items exceeds the maximum data set size limit of 1 MB, the scan stops and results are returned to the user as a LastEvaluatedKey value to continue the scan in a subsequent operation. The results also include the number of items exceeding the limit. A scan can result in no table data meeting the filter criteria.

By default, Scan operations proceed sequentially; however, for faster performance on a large table or secondary index, applications can request a parallel Scan operation by providing the Segment and TotalSegments parameters. For more information, see Parallel Scan in the Amazon DynamoDB Developer Guide.

By default, Scan uses eventually consistent reads when accessing the data in a table; therefore, the result set might not include the changes to data in the table immediately before the operation began. If you need a consistent copy of the data, as of the time that the Scan begins, you can set the ConsistentRead parameter to true.

", + "PutItem": "

Creates a new item, or replaces an old item with a new item. If an item that has the same primary key as the new item already exists in the specified table, the new item completely replaces the existing item. You can perform a conditional put operation (add a new item if one with the specified primary key doesn't exist), or replace an existing item if it has certain attribute values. You can return the item's attribute values in the same operation, using the ReturnValues parameter.

This topic provides general information about the PutItem API.

For information on how to call the PutItem API using the AWS SDK in specific languages, see the following:

When you add an item, the primary key attribute(s) are the only required attributes. Attribute values cannot be null. String and Binary type attributes must have lengths greater than zero. Set type attributes cannot be empty. Requests with empty values will be rejected with a ValidationException exception.

To prevent a new item from replacing an existing item, use a conditional expression that contains the attribute_not_exists function with the name of the attribute being used as the partition key for the table. Since every record must contain that attribute, the attribute_not_exists function will only succeed if no matching item exists.

For more information about PutItem, see Working with Items in the Amazon DynamoDB Developer Guide.

", + "Query": "

The Query operation finds items based on primary key values. You can query any table or secondary index that has a composite primary key (a partition key and a sort key).

Use the KeyConditionExpression parameter to provide a specific value for the partition key. The Query operation will return all of the items from the table or index with that partition key value. You can optionally narrow the scope of the Query operation by specifying a sort key value and a comparison operator in KeyConditionExpression. To further refine the Query results, you can optionally provide a FilterExpression. A FilterExpression determines which items within the results should be returned to you. All of the other results are discarded.

A Query operation always returns a result set. If no matching items are found, the result set will be empty. Queries that do not return results consume the minimum number of read capacity units for that type of read operation.

DynamoDB calculates the number of read capacity units consumed based on item size, not on the amount of data that is returned to an application. The number of capacity units consumed will be the same whether you request all of the attributes (the default behavior) or just some of them (using a projection expression). The number will also be the same whether or not you use a FilterExpression.

Query results are always sorted by the sort key value. If the data type of the sort key is Number, the results are returned in numeric order; otherwise, the results are returned in order of UTF-8 bytes. By default, the sort order is ascending. To reverse the order, set the ScanIndexForward parameter to false.

A single Query operation will read up to the maximum number of items set (if using the Limit parameter) or a maximum of 1 MB of data and then apply any filtering to the results using FilterExpression. If LastEvaluatedKey is present in the response, you will need to paginate the result set. For more information, see Paginating the Results in the Amazon DynamoDB Developer Guide.

FilterExpression is applied after a Query finishes, but before the results are returned. A FilterExpression cannot contain partition key or sort key attributes. You need to specify those attributes in the KeyConditionExpression.

A Query operation can return an empty result set and a LastEvaluatedKey if all the items read for the page of results are filtered out.

You can query a table, a local secondary index, or a global secondary index. For a query on a table or on a local secondary index, you can set the ConsistentRead parameter to true and obtain a strongly consistent result. Global secondary indexes support eventually consistent reads only, so do not specify ConsistentRead when querying a global secondary index.

", + "Scan": "

The Scan operation returns one or more items and item attributes by accessing every item in a table or a secondary index. To have DynamoDB return fewer items, you can provide a FilterExpression operation.

If the total number of scanned items exceeds the maximum data set size limit of 1 MB, the scan stops and results are returned to the user as a LastEvaluatedKey value to continue the scan in a subsequent operation. The results also include the number of items exceeding the limit. A scan can result in no table data meeting the filter criteria.

A single Scan operation will read up to the maximum number of items set (if using the Limit parameter) or a maximum of 1 MB of data and then apply any filtering to the results using FilterExpression. If LastEvaluatedKey is present in the response, you will need to paginate the result set. For more information, see Paginating the Results in the Amazon DynamoDB Developer Guide.

Scan operations proceed sequentially; however, for faster performance on a large table or secondary index, applications can request a parallel Scan operation by providing the Segment and TotalSegments parameters. For more information, see Parallel Scan in the Amazon DynamoDB Developer Guide.

Scan uses eventually consistent reads when accessing the data in a table; therefore, the result set might not include the changes to data in the table immediately before the operation began. If you need a consistent copy of the data, as of the time that the Scan begins, you can set the ConsistentRead parameter to true.

", "TagResource": "

Associate a set of tags with an Amazon DynamoDB resource. You can then activate these user-defined tags so that they appear on the Billing and Cost Management console for cost allocation tracking. You can call TagResource up to 5 times per second, per account.

For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide.

", "UntagResource": "

Removes the association of tags from an Amazon DynamoDB resource. You can call UntagResource up to 5 times per second, per account.

For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide.

", "UpdateItem": "

Edits an existing item's attributes, or adds a new item to the table if it does not already exist. You can put, delete, or add attribute values. You can also perform a conditional update on an existing item (insert a new attribute name-value pair if it doesn't exist, or replace an existing name-value pair if it has certain expected attribute values).

You can also return the item's attribute values in the same UpdateItem operation using the ReturnValues parameter.

", "UpdateTable": "

Modifies the provisioned throughput settings, global secondary indexes, or DynamoDB Streams settings for a given table.

You can only perform one of the following operations at once:

  • Modify the provisioned throughput settings of the table.

  • Enable or disable Streams on the table.

  • Remove a global secondary index from the table.

  • Create a new global secondary index on the table. Once the index begins backfilling, you can use UpdateTable to perform other operations.

UpdateTable is an asynchronous operation; while it is executing, the table status changes from ACTIVE to UPDATING. While it is UPDATING, you cannot issue another UpdateTable request. When the table returns to the ACTIVE state, the UpdateTable operation is complete.

", - "UpdateTimeToLive": "

Specify the lifetime of individual table items. The database automatically removes the item at the expiration of the item. The UpdateTimeToLive method will enable or disable TTL for the specified table. A successful UpdateTimeToLive call returns the current TimeToLiveSpecification; it may take up to one hour for the change to fully process.

TTL compares the current time in epoch time format to the time stored in the TTL attribute of an item. If the epoch time value stored in the attribute is less than the current time, the item is marked as expired and subsequently deleted.

The epoch time format is the number of seconds elapsed since 12:00:00 AM January 1st, 1970 UTC.

DynamoDB deletes expired items on a best-effort basis to ensure availability of throughput for other data operations.

DynamoDB typically deletes expired items within two days of expiration. The exact duration within which an item gets deleted after expiration is specific to the nature of the workload. Items that have expired and not been deleted will still show up in reads, queries, and scans.

As items are deleted, they are removed from any Local Secondary Index and Global Secondary Index immediately in the same eventually consistent way as a standard delete operation.

For more information, see Time To Live in the Amazon DynamoDB Developer Guide.

" + "UpdateTimeToLive": "

The UpdateTimeToLive method will enable or disable TTL for the specified table. A successful UpdateTimeToLive call returns the current TimeToLiveSpecification; it may take up to one hour for the change to fully process. Any additional UpdateTimeToLive calls for the same table during this one hour duration result in a ValidationException.

TTL compares the current time in epoch time format to the time stored in the TTL attribute of an item. If the epoch time value stored in the attribute is less than the current time, the item is marked as expired and subsequently deleted.

The epoch time format is the number of seconds elapsed since 12:00:00 AM January 1st, 1970 UTC.

DynamoDB deletes expired items on a best-effort basis to ensure availability of throughput for other data operations.

DynamoDB typically deletes expired items within two days of expiration. The exact duration within which an item gets deleted after expiration is specific to the nature of the workload. Items that have expired and not been deleted will still show up in reads, queries, and scans.

As items are deleted, they are removed from any Local Secondary Index and Global Secondary Index immediately in the same eventually consistent way as a standard delete operation.

For more information, see Time To Live in the Amazon DynamoDB Developer Guide.

" }, "shapes": { "AttributeAction": { @@ -50,7 +50,7 @@ "GetItemOutput$Item": "

A map of attribute names to AttributeValue objects, as specified by ProjectionExpression.

", "ItemList$member": null, "PutItemOutput$Attributes": "

The attribute values as they appeared before the PutItem operation, but only if ReturnValues is specified as ALL_OLD in the request. Each element consists of an attribute name and an attribute value.

", - "UpdateItemOutput$Attributes": "

A map of attribute values as they appeared before the UpdateItem operation. This map only appears if ReturnValues was specified as something other than NONE in the request. Each element represents one attribute.

" + "UpdateItemOutput$Attributes": "

A map of attribute values as they appear before or after the UpdateItem operation, as determined by the ReturnValues parameter.

The Attributes map is only present if ReturnValues was specified as something other than NONE in the request. Each element represents one attribute.

" } }, "AttributeName": { @@ -154,7 +154,7 @@ "BatchWriteItemRequestMap": { "base": null, "refs": { - "BatchWriteItemInput$RequestItems": "

A map of one or more table names and, for each table, a list of operations to be performed (DeleteRequest or PutRequest). Each element in the map consists of the following:

  • DeleteRequest - Perform a DeleteItem operation on the specified item. The item to be deleted is identified by a Key subelement:

    • Key - A map of primary key attribute values that uniquely identify the ! item. Each entry in this map consists of an attribute name and an attribute value. For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.

  • PutRequest - Perform a PutItem operation on the specified item. The item to be put is identified by an Item subelement:

    • Item - A map of attributes and their values. Each entry in this map consists of an attribute name and an attribute value. Attribute values must not be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests that contain empty values will be rejected with a ValidationException exception.

      If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.

", + "BatchWriteItemInput$RequestItems": "

A map of one or more table names and, for each table, a list of operations to be performed (DeleteRequest or PutRequest). Each element in the map consists of the following:

  • DeleteRequest - Perform a DeleteItem operation on the specified item. The item to be deleted is identified by a Key subelement:

    • Key - A map of primary key attribute values that uniquely identify the item. Each entry in this map consists of an attribute name and an attribute value. For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.

  • PutRequest - Perform a PutItem operation on the specified item. The item to be put is identified by an Item subelement:

    • Item - A map of attributes and their values. Each entry in this map consists of an attribute name and an attribute value. Attribute values must not be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests that contain empty values will be rejected with a ValidationException exception.

      If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.

", "BatchWriteItemOutput$UnprocessedItems": "

A map of tables and requests against those tables that were not processed. The UnprocessedItems value is in the same form as RequestItems, so you can provide this value directly to a subsequent BatchGetItem operation. For more information, see RequestItems in the Request Parameters section.

Each UnprocessedItems entry consists of a table name and, for that table, a list of operations to perform (DeleteRequest or PutRequest).

  • DeleteRequest - Perform a DeleteItem operation on the specified item. The item to be deleted is identified by a Key subelement:

    • Key - A map of primary key attribute values that uniquely identify the item. Each entry in this map consists of an attribute name and an attribute value.

  • PutRequest - Perform a PutItem operation on the specified item. The item to be put is identified by an Item subelement:

    • Item - A map of attributes and their values. Each entry in this map consists of an attribute name and an attribute value. Attribute values must not be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests that contain empty values will be rejected with a ValidationException exception.

      If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.

If there are no unprocessed items remaining, the response contains an empty UnprocessedItems map.

" } }, @@ -366,9 +366,9 @@ "ExpectedAttributeMap": { "base": null, "refs": { - "DeleteItemInput$Expected": "

This is a legacy parameter. Use ConditionExpresssion instead. For more information, see Expected in the Amazon DynamoDB Developer Guide.

", - "PutItemInput$Expected": "

This is a legacy parameter. Use ConditionExpresssion instead. For more information, see Expected in the Amazon DynamoDB Developer Guide.

", - "UpdateItemInput$Expected": "

This is a legacy parameter. Use ConditionExpresssion instead. For more information, see Expected in the Amazon DynamoDB Developer Guide.

" + "DeleteItemInput$Expected": "

This is a legacy parameter. Use ConditionExpression instead. For more information, see Expected in the Amazon DynamoDB Developer Guide.

", + "PutItemInput$Expected": "

This is a legacy parameter. Use ConditionExpression instead. For more information, see Expected in the Amazon DynamoDB Developer Guide.

", + "UpdateItemInput$Expected": "

This is a legacy parameter. Use ConditionExpression instead. For more information, see Expected in the Amazon DynamoDB Developer Guide.

" } }, "ExpectedAttributeValue": { @@ -882,7 +882,7 @@ "refs": { "DeleteItemInput$ReturnValues": "

Use ReturnValues if you want to get the item attributes as they appeared before they were deleted. For DeleteItem, the valid values are:

  • NONE - If ReturnValues is not specified, or if its value is NONE, then nothing is returned. (This setting is the default for ReturnValues.)

  • ALL_OLD - The content of the old item is returned.

The ReturnValues parameter is used by several DynamoDB operations; however, DeleteItem does not recognize any values other than NONE or ALL_OLD.

", "PutItemInput$ReturnValues": "

Use ReturnValues if you want to get the item attributes as they appeared before they were updated with the PutItem request. For PutItem, the valid values are:

  • NONE - If ReturnValues is not specified, or if its value is NONE, then nothing is returned. (This setting is the default for ReturnValues.)

  • ALL_OLD - If PutItem overwrote an attribute name-value pair, then the content of the old item is returned.

The ReturnValues parameter is used by several DynamoDB operations; however, PutItem does not recognize any values other than NONE or ALL_OLD.

", - "UpdateItemInput$ReturnValues": "

Use ReturnValues if you want to get the item attributes as they appeared either before or after they were updated. For UpdateItem, the valid values are:

  • NONE - If ReturnValues is not specified, or if its value is NONE, then nothing is returned. (This setting is the default for ReturnValues.)

  • ALL_OLD - Returns all of the attributes of the item, as they appeared before the UpdateItem operation.

  • UPDATED_OLD - Returns only the updated attributes, as they appeared before the UpdateItem operation.

  • ALL_NEW - Returns all of the attributes of the item, as they appear after the UpdateItem operation.

  • UPDATED_NEW - Returns only the updated attributes, as they appear after the UpdateItem operation.

There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No Read Capacity Units are consumed.

Values returned are strongly consistent

" + "UpdateItemInput$ReturnValues": "

Use ReturnValues if you want to get the item attributes as they appear before or after they are updated. For UpdateItem, the valid values are:

  • NONE - If ReturnValues is not specified, or if its value is NONE, then nothing is returned. (This setting is the default for ReturnValues.)

  • ALL_OLD - Returns all of the attributes of the item, as they appeared before the UpdateItem operation.

  • UPDATED_OLD - Returns only the updated attributes, as they appeared before the UpdateItem operation.

  • ALL_NEW - Returns all of the attributes of the item, as they appear after the UpdateItem operation.

  • UPDATED_NEW - Returns only the updated attributes, as they appear after the UpdateItem operation.

There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed.

The values returned are strongly consistent.

" } }, "ScalarAttributeType": { diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/dynamodb/2012-08-10/examples-1.json b/vendor/github.com/aws/aws-sdk-go/models/apis/dynamodb/2012-08-10/examples-1.json index e66e704b0..5b6ad0f62 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/dynamodb/2012-08-10/examples-1.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/dynamodb/2012-08-10/examples-1.json @@ -548,13 +548,16 @@ "output": { "Attributes": { "AlbumTitle": { - "S": "Songs About Life" + "S": "Louder Than Ever" }, "Artist": { "S": "Acme Band" }, "SongTitle": { "S": "Happy Day" + }, + "Year": { + "N": "2015" } } }, diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/ec2/2016-11-15/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/ec2/2016-11-15/api-2.json index c0bb8653b..f4a37dbf3 100755 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/ec2/2016-11-15/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/ec2/2016-11-15/api-2.json @@ -256,6 +256,15 @@ "input":{"shape":"ConfirmProductInstanceRequest"}, "output":{"shape":"ConfirmProductInstanceResult"} }, + "CopyFpgaImage":{ + "name":"CopyFpgaImage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CopyFpgaImageRequest"}, + "output":{"shape":"CopyFpgaImageResult"} + }, "CopyImage":{ "name":"CopyImage", "http":{ @@ -283,6 +292,15 @@ "input":{"shape":"CreateCustomerGatewayRequest"}, "output":{"shape":"CreateCustomerGatewayResult"} }, + "CreateDefaultVpc":{ + "name":"CreateDefaultVpc", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDefaultVpcRequest"}, + "output":{"shape":"CreateDefaultVpcResult"} + }, "CreateDhcpOptions":{ "name":"CreateDhcpOptions", "http":{ @@ -574,6 +592,15 @@ "input":{"shape":"DeleteFlowLogsRequest"}, "output":{"shape":"DeleteFlowLogsResult"} }, + "DeleteFpgaImage":{ + "name":"DeleteFpgaImage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteFpgaImageRequest"}, + "output":{"shape":"DeleteFpgaImageResult"} + }, "DeleteInternetGateway":{ "name":"DeleteInternetGateway", "http":{ @@ -843,6 +870,15 @@ "input":{"shape":"DescribeEgressOnlyInternetGatewaysRequest"}, "output":{"shape":"DescribeEgressOnlyInternetGatewaysResult"} }, + "DescribeElasticGpus":{ + "name":"DescribeElasticGpus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeElasticGpusRequest"}, + "output":{"shape":"DescribeElasticGpusResult"} + }, "DescribeExportTasks":{ "name":"DescribeExportTasks", "http":{ @@ -861,6 +897,15 @@ "input":{"shape":"DescribeFlowLogsRequest"}, "output":{"shape":"DescribeFlowLogsResult"} }, + "DescribeFpgaImageAttribute":{ + "name":"DescribeFpgaImageAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeFpgaImageAttributeRequest"}, + "output":{"shape":"DescribeFpgaImageAttributeResult"} + }, "DescribeFpgaImages":{ "name":"DescribeFpgaImages", "http":{ @@ -1618,6 +1663,15 @@ "input":{"shape":"ImportVolumeRequest"}, "output":{"shape":"ImportVolumeResult"} }, + "ModifyFpgaImageAttribute":{ + "name":"ModifyFpgaImageAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyFpgaImageAttributeRequest"}, + "output":{"shape":"ModifyFpgaImageAttributeResult"} + }, "ModifyHosts":{ "name":"ModifyHosts", "http":{ @@ -1910,6 +1964,15 @@ "input":{"shape":"RequestSpotInstancesRequest"}, "output":{"shape":"RequestSpotInstancesResult"} }, + "ResetFpgaImageAttribute":{ + "name":"ResetFpgaImageAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResetFpgaImageAttributeRequest"}, + "output":{"shape":"ResetFpgaImageAttributeResult"} + }, "ResetImageAttribute":{ "name":"ResetImageAttribute", "http":{ @@ -2037,6 +2100,24 @@ }, "input":{"shape":"UnmonitorInstancesRequest"}, "output":{"shape":"UnmonitorInstancesResult"} + }, + "UpdateSecurityGroupRuleDescriptionsEgress":{ + "name":"UpdateSecurityGroupRuleDescriptionsEgress", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSecurityGroupRuleDescriptionsEgressRequest"}, + "output":{"shape":"UpdateSecurityGroupRuleDescriptionsEgressResult"} + }, + "UpdateSecurityGroupRuleDescriptionsIngress":{ + "name":"UpdateSecurityGroupRuleDescriptionsIngress", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSecurityGroupRuleDescriptionsIngressRequest"}, + "output":{"shape":"UpdateSecurityGroupRuleDescriptionsIngressResult"} } }, "shapes":{ @@ -2228,6 +2309,7 @@ "type":"structure", "members":{ "Domain":{"shape":"DomainType"}, + "Address":{"shape":"String"}, "DryRun":{ "shape":"Boolean", "locationName":"dryRun" @@ -2510,6 +2592,7 @@ "shape":"Boolean", "locationName":"amazonProvidedIpv6CidrBlock" }, + "CidrBlock":{"shape":"String"}, "VpcId":{ "shape":"String", "locationName":"vpcId" @@ -2523,6 +2606,10 @@ "shape":"VpcIpv6CidrBlockAssociation", "locationName":"ipv6CidrBlockAssociation" }, + "CidrBlockAssociation":{ + "shape":"VpcCidrBlockAssociation", + "locationName":"cidrBlockAssociation" + }, "VpcId":{ "shape":"String", "locationName":"vpcId" @@ -3258,6 +3345,22 @@ "locationName":"item" } }, + "CidrBlock":{ + "type":"structure", + "members":{ + "CidrBlock":{ + "shape":"String", + "locationName":"cidrBlock" + } + } + }, + "CidrBlockSet":{ + "type":"list", + "member":{ + "shape":"CidrBlock", + "locationName":"item" + } + }, "ClassicLinkDnsSupport":{ "type":"structure", "members":{ @@ -3400,6 +3503,30 @@ "completed" ] }, + "CopyFpgaImageRequest":{ + "type":"structure", + "required":[ + "SourceFpgaImageId", + "SourceRegion" + ], + "members":{ + "DryRun":{"shape":"Boolean"}, + "SourceFpgaImageId":{"shape":"String"}, + "Description":{"shape":"String"}, + "Name":{"shape":"String"}, + "SourceRegion":{"shape":"String"}, + "ClientToken":{"shape":"String"} + } + }, + "CopyFpgaImageResult":{ + "type":"structure", + "members":{ + "FpgaImageId":{ + "shape":"String", + "locationName":"fpgaImageId" + } + } + }, "CopyImageRequest":{ "type":"structure", "required":[ @@ -3506,6 +3633,21 @@ } } }, + "CreateDefaultVpcRequest":{ + "type":"structure", + "members":{ + "DryRun":{"shape":"Boolean"} + } + }, + "CreateDefaultVpcResult":{ + "type":"structure", + "members":{ + "Vpc":{ + "shape":"Vpc", + "locationName":"vpc" + } + } + }, "CreateDhcpOptionsRequest":{ "type":"structure", "required":["DhcpConfigurations"], @@ -4454,6 +4596,23 @@ } } }, + "DeleteFpgaImageRequest":{ + "type":"structure", + "required":["FpgaImageId"], + "members":{ + "DryRun":{"shape":"Boolean"}, + "FpgaImageId":{"shape":"String"} + } + }, + "DeleteFpgaImageResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "locationName":"return" + } + } + }, "DeleteInternetGatewayRequest":{ "type":"structure", "required":["InternetGatewayId"], @@ -5034,6 +5193,39 @@ } } }, + "DescribeElasticGpusRequest":{ + "type":"structure", + "members":{ + "ElasticGpuIds":{ + "shape":"ElasticGpuIdSet", + "locationName":"ElasticGpuId" + }, + "DryRun":{"shape":"Boolean"}, + "Filters":{ + "shape":"FilterList", + "locationName":"Filter" + }, + "MaxResults":{"shape":"Integer"}, + "NextToken":{"shape":"String"} + } + }, + "DescribeElasticGpusResult":{ + "type":"structure", + "members":{ + "ElasticGpuSet":{ + "shape":"ElasticGpuSet", + "locationName":"elasticGpuSet" + }, + "MaxResults":{ + "shape":"Integer", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "locationName":"nextToken" + } + } + }, "DescribeExportTasksRequest":{ "type":"structure", "members":{ @@ -5077,6 +5269,27 @@ } } }, + "DescribeFpgaImageAttributeRequest":{ + "type":"structure", + "required":[ + "FpgaImageId", + "Attribute" + ], + "members":{ + "DryRun":{"shape":"Boolean"}, + "FpgaImageId":{"shape":"String"}, + "Attribute":{"shape":"FpgaImageAttributeName"} + } + }, + "DescribeFpgaImageAttributeResult":{ + "type":"structure", + "members":{ + "FpgaImageAttribute":{ + "shape":"FpgaImageAttribute", + "locationName":"fpgaImageAttribute" + } + } + }, "DescribeFpgaImagesRequest":{ "type":"structure", "members":{ @@ -7103,6 +7316,10 @@ "shape":"VpcIpv6CidrBlockAssociation", "locationName":"ipv6CidrBlockAssociation" }, + "CidrBlockAssociation":{ + "shape":"VpcCidrBlockAssociation", + "locationName":"cidrBlockAssociation" + }, "VpcId":{ "shape":"String", "locationName":"vpcId" @@ -7290,6 +7507,111 @@ "locationName":"item" } }, + "ElasticGpuAssociation":{ + "type":"structure", + "members":{ + "ElasticGpuId":{ + "shape":"String", + "locationName":"elasticGpuId" + }, + "ElasticGpuAssociationId":{ + "shape":"String", + "locationName":"elasticGpuAssociationId" + }, + "ElasticGpuAssociationState":{ + "shape":"String", + "locationName":"elasticGpuAssociationState" + }, + "ElasticGpuAssociationTime":{ + "shape":"String", + "locationName":"elasticGpuAssociationTime" + } + } + }, + "ElasticGpuAssociationList":{ + "type":"list", + "member":{ + "shape":"ElasticGpuAssociation", + "locationName":"item" + } + }, + "ElasticGpuHealth":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"ElasticGpuStatus", + "locationName":"status" + } + } + }, + "ElasticGpuIdSet":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"item" + } + }, + "ElasticGpuSet":{ + "type":"list", + "member":{ + "shape":"ElasticGpus", + "locationName":"item" + } + }, + "ElasticGpuSpecification":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{"shape":"String"} + } + }, + "ElasticGpuSpecifications":{ + "type":"list", + "member":{ + "shape":"ElasticGpuSpecification", + "locationName":"item" + } + }, + "ElasticGpuState":{ + "type":"string", + "enum":["ATTACHED"] + }, + "ElasticGpuStatus":{ + "type":"string", + "enum":[ + "OK", + "IMPAIRED" + ] + }, + "ElasticGpus":{ + "type":"structure", + "members":{ + "ElasticGpuId":{ + "shape":"String", + "locationName":"elasticGpuId" + }, + "AvailabilityZone":{ + "shape":"String", + "locationName":"availabilityZone" + }, + "ElasticGpuType":{ + "shape":"String", + "locationName":"elasticGpuType" + }, + "ElasticGpuHealth":{ + "shape":"ElasticGpuHealth", + "locationName":"elasticGpuHealth" + }, + "ElasticGpuState":{ + "shape":"ElasticGpuState", + "locationName":"elasticGpuState" + }, + "InstanceId":{ + "shape":"String", + "locationName":"instanceId" + } + } + }, "EnableVgwRoutePropagationRequest":{ "type":"structure", "required":[ @@ -7639,9 +7961,47 @@ "Tags":{ "shape":"TagList", "locationName":"tags" + }, + "Public":{ + "shape":"Boolean", + "locationName":"public" } } }, + "FpgaImageAttribute":{ + "type":"structure", + "members":{ + "FpgaImageId":{ + "shape":"String", + "locationName":"fpgaImageId" + }, + "Name":{ + "shape":"String", + "locationName":"name" + }, + "Description":{ + "shape":"String", + "locationName":"description" + }, + "LoadPermissions":{ + "shape":"LoadPermissionList", + "locationName":"loadPermissions" + }, + "ProductCodes":{ + "shape":"ProductCodeList", + "locationName":"productCodes" + } + } + }, + "FpgaImageAttributeName":{ + "type":"string", + "enum":[ + "description", + "name", + "loadPermission", + "productCodes" + ] + }, "FpgaImageIdList":{ "type":"list", "member":{ @@ -8021,7 +8381,10 @@ }, "HostOfferingSet":{ "type":"list", - "member":{"shape":"HostOffering"} + "member":{ + "shape":"HostOffering", + "locationName":"item" + } }, "HostProperties":{ "type":"structure", @@ -8110,7 +8473,10 @@ }, "HostReservationSet":{ "type":"list", - "member":{"shape":"HostReservation"} + "member":{ + "shape":"HostReservation", + "locationName":"item" + } }, "HostTenancy":{ "type":"string", @@ -8986,6 +9352,10 @@ "shape":"InstanceLifecycleType", "locationName":"instanceLifecycle" }, + "ElasticGpuAssociations":{ + "shape":"ElasticGpuAssociationList", + "locationName":"elasticGpuAssociationSet" + }, "NetworkInterfaces":{ "shape":"InstanceNetworkInterfaceList", "locationName":"networkInterfaceSet" @@ -9231,6 +9601,13 @@ "locationName":"InstanceId" } }, + "InstanceInterruptionBehavior":{ + "type":"string", + "enum":[ + "stop", + "terminate" + ] + }, "InstanceIpv6Address":{ "type":"structure", "members":{ @@ -9676,6 +10053,7 @@ "r4.16xlarge", "x1.16xlarge", "x1.32xlarge", + "x1e.32xlarge", "i2.xlarge", "i2.2xlarge", "i2.4xlarge", @@ -9821,6 +10199,10 @@ "CidrIp":{ "shape":"String", "locationName":"cidrIp" + }, + "Description":{ + "shape":"String", + "locationName":"description" } } }, @@ -9868,6 +10250,10 @@ "CidrIpv6":{ "shape":"String", "locationName":"cidrIpv6" + }, + "Description":{ + "shape":"String", + "locationName":"description" } } }, @@ -10040,12 +10426,87 @@ "closed" ] }, + "LoadPermission":{ + "type":"structure", + "members":{ + "UserId":{ + "shape":"String", + "locationName":"userId" + }, + "Group":{ + "shape":"PermissionGroup", + "locationName":"group" + } + } + }, + "LoadPermissionList":{ + "type":"list", + "member":{ + "shape":"LoadPermission", + "locationName":"item" + } + }, + "LoadPermissionListRequest":{ + "type":"list", + "member":{ + "shape":"LoadPermissionRequest", + "locationName":"item" + } + }, + "LoadPermissionModifications":{ + "type":"structure", + "members":{ + "Add":{"shape":"LoadPermissionListRequest"}, + "Remove":{"shape":"LoadPermissionListRequest"} + } + }, + "LoadPermissionRequest":{ + "type":"structure", + "members":{ + "Group":{"shape":"PermissionGroup"}, + "UserId":{"shape":"String"} + } + }, "Long":{"type":"long"}, "MaxResults":{ "type":"integer", "max":255, "min":5 }, + "ModifyFpgaImageAttributeRequest":{ + "type":"structure", + "required":["FpgaImageId"], + "members":{ + "DryRun":{"shape":"Boolean"}, + "FpgaImageId":{"shape":"String"}, + "Attribute":{"shape":"FpgaImageAttributeName"}, + "OperationType":{"shape":"OperationType"}, + "UserIds":{ + "shape":"UserIdStringList", + "locationName":"UserId" + }, + "UserGroups":{ + "shape":"UserGroupStringList", + "locationName":"UserGroup" + }, + "ProductCodes":{ + "shape":"ProductCodeStringList", + "locationName":"ProductCode" + }, + "LoadPermission":{"shape":"LoadPermissionModifications"}, + "Description":{"shape":"String"}, + "Name":{"shape":"String"} + } + }, + "ModifyFpgaImageAttributeResult":{ + "type":"structure", + "members":{ + "FpgaImageAttribute":{ + "shape":"FpgaImageAttribute", + "locationName":"fpgaImageAttribute" + } + } + }, "ModifyHostsRequest":{ "type":"structure", "required":[ @@ -10587,6 +11048,10 @@ "VpcId":{ "shape":"String", "locationName":"vpcId" + }, + "Tags":{ + "shape":"TagList", + "locationName":"tagSet" } } }, @@ -11264,6 +11729,10 @@ "PrefixListId":{ "type":"structure", "members":{ + "Description":{ + "shape":"String", + "locationName":"description" + }, "PrefixListId":{ "shape":"String", "locationName":"prefixListId" @@ -12163,7 +12632,8 @@ "ValidUntil":{ "shape":"DateTime", "locationName":"validUntil" - } + }, + "InstanceInterruptionBehavior":{"shape":"InstanceInterruptionBehavior"} } }, "RequestSpotInstancesResult":{ @@ -12693,6 +13163,28 @@ "locationName":"item" } }, + "ResetFpgaImageAttributeName":{ + "type":"string", + "enum":["loadPermission"] + }, + "ResetFpgaImageAttributeRequest":{ + "type":"structure", + "required":["FpgaImageId"], + "members":{ + "DryRun":{"shape":"Boolean"}, + "FpgaImageId":{"shape":"String"}, + "Attribute":{"shape":"ResetFpgaImageAttributeName"} + } + }, + "ResetFpgaImageAttributeResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "locationName":"return" + } + } + }, "ResetImageAttributeName":{ "type":"string", "enum":["launchPermission"] @@ -13125,6 +13617,7 @@ "shape":"String", "locationName":"privateIpAddress" }, + "ElasticGpuSpecification":{"shape":"ElasticGpuSpecifications"}, "TagSpecifications":{ "shape":"TagSpecificationList", "locationName":"TagSpecification" @@ -13894,6 +14387,10 @@ "WeightedCapacity":{ "shape":"Double", "locationName":"weightedCapacity" + }, + "TagSpecifications":{ + "shape":"SpotFleetTagSpecificationList", + "locationName":"tagSpecificationSet" } } }, @@ -13997,6 +14494,10 @@ "ReplaceUnhealthyInstances":{ "shape":"Boolean", "locationName":"replaceUnhealthyInstances" + }, + "InstanceInterruptionBehavior":{ + "shape":"InstanceInterruptionBehavior", + "locationName":"instanceInterruptionBehavior" } } }, @@ -14007,6 +14508,26 @@ "locationName":"item" } }, + "SpotFleetTagSpecification":{ + "type":"structure", + "members":{ + "ResourceType":{ + "shape":"ResourceType", + "locationName":"resourceType" + }, + "Tags":{ + "shape":"TagList", + "locationName":"tag" + } + } + }, + "SpotFleetTagSpecificationList":{ + "type":"list", + "member":{ + "shape":"SpotFleetTagSpecification", + "locationName":"item" + } + }, "SpotInstanceRequest":{ "type":"structure", "members":{ @@ -14081,6 +14602,10 @@ "ValidUntil":{ "shape":"DateTime", "locationName":"validUntil" + }, + "InstanceInterruptionBehavior":{ + "shape":"InstanceInterruptionBehavior", + "locationName":"instanceInterruptionBehavior" } } }, @@ -14783,6 +15308,44 @@ "locationName":"item" } }, + "UpdateSecurityGroupRuleDescriptionsEgressRequest":{ + "type":"structure", + "required":["IpPermissions"], + "members":{ + "DryRun":{"shape":"Boolean"}, + "GroupId":{"shape":"String"}, + "GroupName":{"shape":"String"}, + "IpPermissions":{"shape":"IpPermissionList"} + } + }, + "UpdateSecurityGroupRuleDescriptionsEgressResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "locationName":"return" + } + } + }, + "UpdateSecurityGroupRuleDescriptionsIngressRequest":{ + "type":"structure", + "required":["IpPermissions"], + "members":{ + "DryRun":{"shape":"Boolean"}, + "GroupId":{"shape":"String"}, + "GroupName":{"shape":"String"}, + "IpPermissions":{"shape":"IpPermissionList"} + } + }, + "UpdateSecurityGroupRuleDescriptionsIngressResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "locationName":"return" + } + } + }, "UserBucket":{ "type":"structure", "members":{ @@ -14822,6 +15385,10 @@ "UserIdGroupPair":{ "type":"structure", "members":{ + "Description":{ + "shape":"String", + "locationName":"description" + }, "GroupId":{ "shape":"String", "locationName":"groupId" @@ -15301,6 +15868,10 @@ "shape":"VpcIpv6CidrBlockAssociationSet", "locationName":"ipv6CidrBlockAssociationSet" }, + "CidrBlockAssociationSet":{ + "shape":"VpcCidrBlockAssociationSet", + "locationName":"cidrBlockAssociationSet" + }, "IsDefault":{ "shape":"Boolean", "locationName":"isDefault" @@ -15338,6 +15909,30 @@ "enableDnsHostnames" ] }, + "VpcCidrBlockAssociation":{ + "type":"structure", + "members":{ + "AssociationId":{ + "shape":"String", + "locationName":"associationId" + }, + "CidrBlock":{ + "shape":"String", + "locationName":"cidrBlock" + }, + "CidrBlockState":{ + "shape":"VpcCidrBlockState", + "locationName":"cidrBlockState" + } + } + }, + "VpcCidrBlockAssociationSet":{ + "type":"list", + "member":{ + "shape":"VpcCidrBlockAssociation", + "locationName":"item" + } + }, "VpcCidrBlockState":{ "type":"structure", "members":{ @@ -15562,6 +16157,10 @@ "shape":"Ipv6CidrBlockSet", "locationName":"ipv6CidrBlockSet" }, + "CidrBlockSet":{ + "shape":"CidrBlockSet", + "locationName":"cidrBlockSet" + }, "OwnerId":{ "shape":"String", "locationName":"ownerId" diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/ec2/2016-11-15/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/ec2/2016-11-15/docs-2.json index fa7d8c980..339b12d87 100755 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/ec2/2016-11-15/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/ec2/2016-11-15/docs-2.json @@ -4,7 +4,7 @@ "operations": { "AcceptReservedInstancesExchangeQuote": "

Accepts the Convertible Reserved Instance exchange quote described in the GetReservedInstancesExchangeQuote call.

", "AcceptVpcPeeringConnection": "

Accept a VPC peering connection request. To accept a request, the VPC peering connection must be in the pending-acceptance state, and you must be the owner of the peer VPC. Use DescribeVpcPeeringConnections to view your outstanding VPC peering connection requests.

", - "AllocateAddress": "

Acquires an Elastic IP address.

An Elastic IP address is for use either in the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

", + "AllocateAddress": "

Allocates an Elastic IP address.

An Elastic IP address is for use either in the EC2-Classic platform or in a VPC. By default, you can allocate 5 Elastic IP addresses for EC2-Classic per region and 5 Elastic IP addresses for EC2-VPC per region.

If you release an Elastic IP address for use in a VPC, you might be able to recover it. To recover an Elastic IP address that you released, specify it in the Address parameter. Note that you cannot recover an Elastic IP address that you released after it is allocated to another AWS account.

For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

", "AllocateHosts": "

Allocates a Dedicated Host to your account. At minimum you need to specify the instance size type, Availability Zone, and quantity of hosts you want to allocate.

", "AssignIpv6Addresses": "

Assigns one or more IPv6 addresses to the specified network interface. You can specify one or more specific IPv6 addresses, or you can specify the number of IPv6 addresses to be automatically assigned from within the subnet's IPv6 CIDR block range. You can assign as many IPv6 addresses to a network interface as you can assign private IPv4 addresses, and the limit varies per instance type. For information, see IP Addresses Per Network Interface Per Instance Type in the Amazon Elastic Compute Cloud User Guide.

", "AssignPrivateIpAddresses": "

Assigns one or more secondary private IP addresses to the specified network interface. You can specify one or more specific secondary IP addresses, or you can specify the number of secondary IP addresses to be automatically assigned within the subnet's CIDR block range. The number of secondary IP addresses that you can assign to an instance varies by instance type. For information about instance types, see Instance Types in the Amazon Elastic Compute Cloud User Guide. For more information about Elastic IP addresses, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

AssignPrivateIpAddresses is available only in EC2-VPC.

", @@ -13,14 +13,14 @@ "AssociateIamInstanceProfile": "

Associates an IAM instance profile with a running or stopped instance. You cannot associate more than one IAM instance profile with an instance.

", "AssociateRouteTable": "

Associates a subnet with a route table. The subnet and route table must be in the same VPC. This association causes traffic originating from the subnet to be routed according to the routes in the route table. The action returns an association ID, which you need in order to disassociate the route table from the subnet later. A route table can be associated with multiple subnets.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

", "AssociateSubnetCidrBlock": "

Associates a CIDR block with your subnet. You can only associate a single IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a prefix length of /64.

", - "AssociateVpcCidrBlock": "

Associates a CIDR block with your VPC. You can only associate a single Amazon-provided IPv6 CIDR block with your VPC. The IPv6 CIDR block size is fixed at /56.

", + "AssociateVpcCidrBlock": "

Associates a CIDR block with your VPC. You can associate a secondary IPv4 CIDR block, or you can associate an Amazon-provided IPv6 CIDR block. The IPv6 CIDR block size is fixed at /56.

For more information about associating CIDR blocks with your VPC and applicable restrictions, see VPC and Subnet Sizing in the Amazon Virtual Private Cloud User Guide.

", "AttachClassicLinkVpc": "

Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or more of the VPC's security groups. You cannot link an EC2-Classic instance to more than one VPC at a time. You can only link an instance that's in the running state. An instance is automatically unlinked from a VPC when it's stopped - you can link it to the VPC again when you restart it.

After you've linked an instance, you cannot change the VPC security groups that are associated with it. To change the security groups, you must first unlink the instance, and then link it again.

Linking your instance to a VPC is sometimes referred to as attaching your instance.

", "AttachInternetGateway": "

Attaches an Internet gateway to a VPC, enabling connectivity between the Internet and the VPC. For more information about your VPC and Internet gateway, see the Amazon Virtual Private Cloud User Guide.

", "AttachNetworkInterface": "

Attaches a network interface to an instance.

", "AttachVolume": "

Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.

Encrypted EBS volumes may only be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

For a list of supported device names, see Attaching an EBS Volume to an Instance. Any device names that aren't reserved for instance store volumes can be used for EBS volumes. For more information, see Amazon EC2 Instance Store in the Amazon Elastic Compute Cloud User Guide.

If a volume has an AWS Marketplace product code:

  • The volume can be attached only to a stopped instance.

  • AWS Marketplace product codes are copied from the volume to the instance.

  • You must be subscribed to the product.

  • The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.

For an overview of the AWS Marketplace, see Introducing AWS Marketplace.

For more information about EBS volumes, see Attaching Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

", "AttachVpnGateway": "

Attaches a virtual private gateway to a VPC. You can attach one virtual private gateway to one VPC at a time.

For more information, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

", - "AuthorizeSecurityGroupEgress": "

[EC2-VPC only] Adds one or more egress rules to a security group for use with a VPC. Specifically, this action permits instances to send traffic to one or more destination IPv4 or IPv6 CIDR address ranges, or to one or more destination security groups for the same VPC. This action doesn't apply to security groups for use in EC2-Classic. For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide. For more information about security group limits, see Amazon VPC Limits.

Each rule consists of the protocol (for example, TCP), plus either a CIDR range or a source group. For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes.

Rule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.

", - "AuthorizeSecurityGroupIngress": "

Adds one or more ingress rules to a security group.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

[EC2-Classic] This action gives one or more IPv4 CIDR address ranges permission to access a security group in your account, or gives one or more security groups (called the source groups) permission to access a security group for your account. A source group can be for your own AWS account, or another. You can have up to 100 rules per group.

[EC2-VPC] This action gives one or more IPv4 or IPv6 CIDR address ranges permission to access a security group in your VPC, or gives one or more other security groups (called the source groups) permission to access a security group for your VPC. The security groups must all be for the same VPC or a peer VPC in a VPC peering connection. For more information about VPC security group limits, see Amazon VPC Limits.

", + "AuthorizeSecurityGroupEgress": "

[EC2-VPC only] Adds one or more egress rules to a security group for use with a VPC. Specifically, this action permits instances to send traffic to one or more destination IPv4 or IPv6 CIDR address ranges, or to one or more destination security groups for the same VPC. This action doesn't apply to security groups for use in EC2-Classic. For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide. For more information about security group limits, see Amazon VPC Limits.

Each rule consists of the protocol (for example, TCP), plus either a CIDR range or a source group. For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes. You can optionally specify a description for the rule.

Rule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.

", + "AuthorizeSecurityGroupIngress": "

Adds one or more ingress rules to a security group.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

[EC2-Classic] This action gives one or more IPv4 CIDR address ranges permission to access a security group in your account, or gives one or more security groups (called the source groups) permission to access a security group for your account. A source group can be for your own AWS account, or another. You can have up to 100 rules per group.

[EC2-VPC] This action gives one or more IPv4 or IPv6 CIDR address ranges permission to access a security group in your VPC, or gives one or more other security groups (called the source groups) permission to access a security group for your VPC. The security groups must all be for the same VPC or a peer VPC in a VPC peering connection. For more information about VPC security group limits, see Amazon VPC Limits.

You can optionally specify a description for the security group rule.

", "BundleInstance": "

Bundles an Amazon instance store-backed Windows instance.

During bundling, only the root device volume (C:\\) is bundled. Data on other instance store volumes is not preserved.

This action is not applicable for Linux/Unix instances or Windows instances that are backed by Amazon EBS.

For more information, see Creating an Instance Store-Backed Windows AMI.

", "CancelBundleTask": "

Cancels a bundling operation for an instance store-backed Windows instance.

", "CancelConversionTask": "

Cancels an active conversion task. The task can be the import of an instance or volume. The action removes all artifacts of the conversion, including a partially uploaded volume or instance. If the conversion is complete or is in the process of transferring the final disk image, the command fails and returns an exception.

For more information, see Importing a Virtual Machine Using the Amazon EC2 CLI.

", @@ -30,9 +30,11 @@ "CancelSpotFleetRequests": "

Cancels the specified Spot fleet requests.

After you cancel a Spot fleet request, the Spot fleet launches no new Spot instances. You must specify whether the Spot fleet should also terminate its Spot instances. If you terminate the instances, the Spot fleet request enters the cancelled_terminating state. Otherwise, the Spot fleet request enters the cancelled_running state and the instances continue to run until they are interrupted or you terminate them manually.

", "CancelSpotInstanceRequests": "

Cancels one or more Spot instance requests. Spot instances are instances that Amazon EC2 starts on your behalf when the bid price that you specify exceeds the current Spot price. Amazon EC2 periodically sets the Spot price based on available Spot instance capacity and current Spot instance requests. For more information, see Spot Instance Requests in the Amazon Elastic Compute Cloud User Guide.

Canceling a Spot instance request does not terminate running Spot instances associated with the request.

", "ConfirmProductInstance": "

Determines whether a product code is associated with an instance. This action can only be used by the owner of the product code. It is useful when a product code owner needs to verify whether another user's instance is eligible for support.

", + "CopyFpgaImage": "

Copies the specified Amazon FPGA Image (AFI) to the current region.

", "CopyImage": "

Initiates the copy of an AMI from the specified source region to the current region. You specify the destination region by using its endpoint when making the request.

For more information about the prerequisites and limits when copying an AMI, see Copying an AMI in the Amazon Elastic Compute Cloud User Guide.

", "CopySnapshot": "

Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy the snapshot within the same region or from one region to another. You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs). The snapshot is copied to the regional endpoint that you send the HTTP request to.

Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted, unless the Encrypted flag is specified during the snapshot copy operation. By default, encrypted snapshot copies use the default AWS Key Management Service (AWS KMS) customer master key (CMK); however, you can specify a non-default CMK with the KmsKeyId parameter.

To copy an encrypted snapshot that has been shared from another account, you must have permissions for the CMK used to encrypt the snapshot.

Snapshots created by the CopySnapshot action have an arbitrary volume ID that should not be used for any purpose.

For more information, see Copying an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.

", "CreateCustomerGateway": "

Provides information to AWS about your VPN customer gateway device. The customer gateway is the appliance at your end of the VPN connection. (The device on the AWS side of the VPN connection is the virtual private gateway.) You must provide the Internet-routable IP address of the customer gateway's external interface. The IP address must be static and may be behind a device performing network address translation (NAT).

For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN (in the 64512 - 65534 range).

Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with the exception of 7224, which is reserved in the us-east-1 region, and 9059, which is reserved in the eu-west-1 region.

For more information about VPN customer gateways, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

You cannot create more than one customer gateway with the same VPN type, IP address, and BGP ASN parameter values. If you run an identical request more than one time, the first request creates the customer gateway, and subsequent requests return information about the existing customer gateway. The subsequent requests do not create new customer gateway resources.

", + "CreateDefaultVpc": "

Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet in each Availability Zone. For more information about the components of a default VPC, see Default VPC and Default Subnets in the Amazon Virtual Private Cloud User Guide. You cannot specify the components of the default VPC yourself.

You can create a default VPC if you deleted your previous default VPC. You cannot have more than one default VPC per region.

If your account supports EC2-Classic, you cannot use this action to create a default VPC in a region that supports EC2-Classic. If you want a default VPC in a region that supports EC2-Classic, see \"I really want a default VPC for my existing EC2 account. Is that possible?\" in the Default VPCs FAQ.

", "CreateDhcpOptions": "

Creates a set of DHCP options for your VPC. After creating the set, you must associate it with the VPC, causing all existing and new instances that you launch in the VPC to use this set of DHCP options. The following are the individual DHCP options you can specify. For more information about the options, see RFC 2132.

  • domain-name-servers - The IP addresses of up to four domain name servers, or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS. If specifying more than one domain name server, specify the IP addresses in a single parameter, separated by commas. If you want your instance to receive a custom DNS hostname as specified in domain-name, you must set domain-name-servers to a custom DNS server.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in another region, specify region.compute.internal (for example, ap-northeast-1.compute.internal). Otherwise, specify a domain name (for example, MyCompany.com). This value is used to complete unqualified DNS hostnames. Important: Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP options set is associated with a VPC that has instances with multiple operating systems, specify only one domain name.

  • ntp-servers - The IP addresses of up to four Network Time Protocol (NTP) servers.

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2 (broadcast and multicast are not currently supported). For more information about these node types, see RFC 2132.

Your VPC automatically starts out with a set of DHCP options that includes only a DNS server that we provide (AmazonProvidedDNS). If you create a set of options, and if your VPC has an Internet gateway, make sure to set the domain-name-servers option either to AmazonProvidedDNS or to a domain name server of your choice. For more information about DHCP options, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

", "CreateEgressOnlyInternetGateway": "

[IPv6 only] Creates an egress-only Internet gateway for your VPC. An egress-only Internet gateway is used to enable outbound communication over IPv6 from instances in your VPC to the Internet, and prevents hosts outside of your VPC from initiating an IPv6 connection with your instance.

", "CreateFlowLogs": "

Creates one or more flow logs to capture IP traffic for a specific network interface, subnet, or VPC. Flow logs are delivered to a specified log group in Amazon CloudWatch Logs. If you specify a VPC or subnet in the request, a log stream is created in CloudWatch Logs for each network interface in the subnet or VPC. Log streams can include information about accepted and rejected traffic to a network interface. You can view the data in your log streams using Amazon CloudWatch Logs.

In your request, you must also specify an IAM role that has permission to publish logs to CloudWatch Logs.

", @@ -53,7 +55,7 @@ "CreateSecurityGroup": "

Creates a security group.

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

EC2-Classic: You can have up to 500 security groups.

EC2-VPC: You can create up to 500 security groups per VPC.

When you create a security group, you specify a friendly name of your choice. You can have a security group for use in EC2-Classic with the same name as a security group for use in a VPC. However, you can't have two security groups for use in EC2-Classic with the same name or two security groups for use in a VPC with the same name.

You have a default security group for use in EC2-Classic and a default security group for use in your VPC. If you don't specify a security group when you launch an instance, the instance is launched into the appropriate default security group. A default security group includes a default rule that grants instances unrestricted network access to each other.

You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress, AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.

", "CreateSnapshot": "

Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance.

When a snapshot is created, any AWS Marketplace product codes that are associated with the source volume are propagated to the snapshot.

You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your EBS volume at the time the snapshot command is issued; this may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending.

To create a snapshot for EBS volumes that serve as root devices, you should stop the instance before taking the snapshot.

Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected.

For more information, see Amazon Elastic Block Store and Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

", "CreateSpotDatafeedSubscription": "

Creates a data feed for Spot instances, enabling you to view Spot instance usage logs. You can create one data feed per AWS account. For more information, see Spot Instance Data Feed in the Amazon Elastic Compute Cloud User Guide.

", - "CreateSubnet": "

Creates a subnet in an existing VPC.

When you create each subnet, you provide the VPC ID and the CIDR block you want for the subnet. After you create a subnet, you can't change its CIDR block. The subnet's IPv4 CIDR block can be the same as the VPC's IPv4 CIDR block (assuming you want only a single subnet in the VPC), or a subset of the VPC's IPv4 CIDR block. If you create more than one subnet in a VPC, the subnets' CIDR blocks must not overlap. The smallest IPv4 subnet (and VPC) you can create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16 netmask (65,536 IPv4 addresses).

If you've associated an IPv6 CIDR block with your VPC, you can create a subnet with an IPv6 CIDR block that uses a /64 prefix length.

AWS reserves both the first four and the last IPv4 address in each subnet's CIDR block. They're not available for use.

If you add more than one subnet to a VPC, they're set up in a star topology with a logical router in the middle.

If you launch an instance in a VPC using an Amazon EBS-backed AMI, the IP address doesn't change if you stop and restart the instance (unlike a similar instance launched outside a VPC, which gets a new IP address when restarted). It's therefore possible to have a subnet with no running instances (they're all stopped), but no remaining IP addresses available.

For more information about subnets, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

", + "CreateSubnet": "

Creates a subnet in an existing VPC.

When you create each subnet, you provide the VPC ID and the IPv4 CIDR block you want for the subnet. After you create a subnet, you can't change its CIDR block. The size of the subnet's IPv4 CIDR block can be the same as a VPC's IPv4 CIDR block, or a subset of a VPC's IPv4 CIDR block. If you create more than one subnet in a VPC, the subnets' CIDR blocks must not overlap. The smallest IPv4 subnet (and VPC) you can create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16 netmask (65,536 IPv4 addresses).

If you've associated an IPv6 CIDR block with your VPC, you can create a subnet with an IPv6 CIDR block that uses a /64 prefix length.

AWS reserves both the first four and the last IPv4 address in each subnet's CIDR block. They're not available for use.

If you add more than one subnet to a VPC, they're set up in a star topology with a logical router in the middle.

If you launch an instance in a VPC using an Amazon EBS-backed AMI, the IP address doesn't change if you stop and restart the instance (unlike a similar instance launched outside a VPC, which gets a new IP address when restarted). It's therefore possible to have a subnet with no running instances (they're all stopped), but no remaining IP addresses available.

For more information about subnets, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

", "CreateTags": "

Adds or overwrites one or more tags for the specified Amazon EC2 resource or resources. Each resource can have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be unique per resource.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide. For more information about creating IAM policies that control users' access to resources based on tags, see Supported Resource-Level Permissions for Amazon EC2 API Actions in the Amazon Elastic Compute Cloud User Guide.

", "CreateVolume": "

Creates an EBS volume that can be attached to an instance in the same Availability Zone. The volume is created in the regional endpoint that you send the HTTP request to. For more information see Regions and Endpoints.

You can create a new empty volume or restore a volume from an EBS snapshot. Any AWS Marketplace product codes from the snapshot are propagated to the volume.

You can create encrypted volumes with the Encrypted parameter. Encrypted volumes may only be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

You can tag your volumes during creation. For more information, see Tagging Your Amazon EC2 Resources.

For more information, see Creating an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

", "CreateVpc": "

Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16 netmask (65,536 IPv4 addresses). To help you decide how big to make your VPC, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

You can optionally request an Amazon-provided IPv6 CIDR block for the VPC. The IPv6 CIDR block uses a /56 prefix length, and is allocated from Amazon's pool of IPv6 addresses. You cannot choose the IPv6 range for your VPC.

By default, each instance you launch in the VPC has the default DHCP options, which includes only a default DNS server that we provide (AmazonProvidedDNS). For more information about DHCP options, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

You can specify the instance tenancy value for the VPC when you create it. You can't change this value for the VPC after you create it. For more information, see Dedicated Instances in the Amazon Elastic Compute Cloud User Guide.

", @@ -66,6 +68,7 @@ "DeleteDhcpOptions": "

Deletes the specified set of DHCP options. You must disassociate the set of DHCP options before you can delete it. You can disassociate the set of DHCP options by associating either a new set of options or the default set of options with the VPC.

", "DeleteEgressOnlyInternetGateway": "

Deletes an egress-only Internet gateway.

", "DeleteFlowLogs": "

Deletes one or more flow logs.

", + "DeleteFpgaImage": "

Deletes the specified Amazon FPGA Image (AFI).

", "DeleteInternetGateway": "

Deletes the specified Internet gateway. You must detach the Internet gateway from the VPC before you can delete it.

", "DeleteKeyPair": "

Deletes the specified key pair, by removing the public key from Amazon EC2.

", "DeleteNatGateway": "

Deletes the specified NAT gateway. Deleting a NAT gateway disassociates its Elastic IP address, but does not release the address from your account. Deleting a NAT gateway does not delete any NAT gateway routes in your route tables.

", @@ -80,7 +83,7 @@ "DeleteSnapshot": "

Deletes the specified snapshot.

When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.

You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot.

For more information, see Deleting an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.

", "DeleteSpotDatafeedSubscription": "

Deletes the data feed for Spot instances.

", "DeleteSubnet": "

Deletes the specified subnet. You must terminate all running instances in the subnet before you can delete the subnet.

", - "DeleteTags": "

Deletes the specified set of tags from the specified set of resources. This call is designed to follow a DescribeTags request.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide.

", + "DeleteTags": "

Deletes the specified set of tags from the specified set of resources.

To list the current tags, use DescribeTags. For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide.

", "DeleteVolume": "

Deletes the specified EBS volume. The volume must be in the available state (not attached to an instance).

The volume may remain in the deleting state for several minutes.

For more information, see Deleting an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

", "DeleteVpc": "

Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. For example, you must terminate all instances running in the VPC, delete all security groups associated with the VPC (except the default one), delete all route tables associated with the VPC (except the default one), and so on.

", "DeleteVpcEndpoints": "

Deletes one or more specified VPC endpoints. Deleting the endpoint also deletes the endpoint routes in the route tables that were associated with the endpoint.

", @@ -88,7 +91,7 @@ "DeleteVpnConnection": "

Deletes the specified VPN connection.

If you're deleting the VPC and its associated components, we recommend that you detach the virtual private gateway from the VPC and delete the VPC before deleting the VPN connection. If you believe that the tunnel credentials for your VPN connection have been compromised, you can delete the VPN connection and create a new one that has new keys, without needing to delete the VPC or virtual private gateway. If you create a new VPN connection, you must reconfigure the customer gateway using the new configuration information returned with the new VPN connection ID.

", "DeleteVpnConnectionRoute": "

Deletes the specified static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

", "DeleteVpnGateway": "

Deletes the specified virtual private gateway. We recommend that before you delete a virtual private gateway, you detach it from the VPC and delete the VPN connection. Note that you don't need to delete the virtual private gateway if you plan to delete and recreate the VPN connection between your VPC and your network.

", - "DeregisterImage": "

Deregisters the specified AMI. After you deregister an AMI, it can't be used to launch new instances.

This command does not delete the AMI.

", + "DeregisterImage": "

Deregisters the specified AMI. After you deregister an AMI, it can't be used to launch new instances; however, it doesn't affect any instances that you've already launched from the AMI. You'll continue to incur usage costs for those instances until you terminate them.

When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot that was created for the root volume of the instance during the AMI creation process. When you deregister an instance store-backed AMI, it doesn't affect the files that you uploaded to Amazon S3 when you created the AMI.

", "DescribeAccountAttributes": "

Describes attributes of your AWS account. The following are the supported account attributes:

  • supported-platforms: Indicates whether your account can launch instances into EC2-Classic and EC2-VPC, or only into EC2-VPC.

  • default-vpc: The ID of the default VPC for your account, or none.

  • max-instances: The maximum number of On-Demand instances that you can run.

  • vpc-max-security-groups-per-interface: The maximum number of security groups that you can assign to a network interface.

  • max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate for use with EC2-Classic.

  • vpc-max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate for use with EC2-VPC.

", "DescribeAddresses": "

Describes one or more of your Elastic IP addresses.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

", "DescribeAvailabilityZones": "

Describes one or more of the Availability Zones that are available to you. The results include zones only for the region you're currently using. If there is an event impacting an Availability Zone, you can use this request to view the state and any provided message for that Availability Zone.

For more information, see Regions and Availability Zones in the Amazon Elastic Compute Cloud User Guide.

", @@ -98,8 +101,10 @@ "DescribeCustomerGateways": "

Describes one or more of your VPN customer gateways.

For more information about VPN customer gateways, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

", "DescribeDhcpOptions": "

Describes one or more of your DHCP options sets.

For more information about DHCP options sets, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

", "DescribeEgressOnlyInternetGateways": "

Describes one or more of your egress-only Internet gateways.

", + "DescribeElasticGpus": "

Describes the Elastic GPUs associated with your instances. For more information about Elastic GPUs, see Amazon EC2 Elastic GPUs.

", "DescribeExportTasks": "

Describes one or more of your export tasks.

", "DescribeFlowLogs": "

Describes one or more flow logs. To view the information in your flow logs (the log streams for the network interfaces), you must use the CloudWatch Logs console or the CloudWatch Logs API.

", + "DescribeFpgaImageAttribute": "

Describes the specified attribute of the specified Amazon FPGA Image (AFI).

", "DescribeFpgaImages": "

Describes one or more available Amazon FPGA Images (AFIs). These include public AFIs, private AFIs that you own, and AFIs owned by other AWS accounts for which you have load permissions.

", "DescribeHostReservationOfferings": "

Describes the Dedicated Host Reservations that are available to purchase.

The results describe all the Dedicated Host Reservation offerings, including offerings that may not match the instance family and region of your Dedicated Hosts. When purchasing an offering, ensure that the the instance family and region of the offering matches that of the Dedicated Host/s it will be associated with. For an overview of supported instance types, see Dedicated Hosts Overview in the Amazon Elastic Compute Cloud User Guide.

", "DescribeHostReservations": "

Describes Dedicated Host Reservations which are associated with Dedicated Hosts in your account.

", @@ -170,7 +175,7 @@ "DisassociateIamInstanceProfile": "

Disassociates an IAM instance profile from a running or stopped instance.

Use DescribeIamInstanceProfileAssociations to get the association ID.

", "DisassociateRouteTable": "

Disassociates a subnet from a route table.

After you perform this action, the subnet no longer uses the routes in the route table. Instead, it uses the routes in the VPC's main route table. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

", "DisassociateSubnetCidrBlock": "

Disassociates a CIDR block from a subnet. Currently, you can disassociate an IPv6 CIDR block only. You must detach or delete all gateways and resources that are associated with the CIDR block before you can disassociate it.

", - "DisassociateVpcCidrBlock": "

Disassociates a CIDR block from a VPC. Currently, you can disassociate an IPv6 CIDR block only. You must detach or delete all gateways and resources that are associated with the CIDR block before you can disassociate it.

", + "DisassociateVpcCidrBlock": "

Disassociates a CIDR block from a VPC. To disassociate the CIDR block, you must specify its association ID. You can get the association ID by using DescribeVpcs. You must detach or delete all gateways and resources that are associated with the CIDR block before you can disassociate it.

You cannot disassociate the CIDR block with which you originally created the VPC (the primary CIDR block).

", "EnableVgwRoutePropagation": "

Enables a virtual private gateway (VGW) to propagate routes to the specified route table of a VPC.

", "EnableVolumeIO": "

Enables I/O operations for a volume that had I/O operations disabled because the data on the volume was potentially inconsistent.

", "EnableVpcClassicLink": "

Enables a VPC for ClassicLink. You can then link EC2-Classic instances to your ClassicLink-enabled VPC to allow communication over private IP addresses. You cannot enable your VPC for ClassicLink if any of your VPC's route tables have existing routes for address ranges within the 10.0.0.0/8 IP address range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16 IP address ranges. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

", @@ -178,13 +183,14 @@ "GetConsoleOutput": "

Gets the console output for the specified instance.

Instances do not have a physical monitor through which you can view their console output. They also lack physical controls that allow you to power up, reboot, or shut them down. To allow these actions, we provide them through the Amazon EC2 API and command line interface.

Instance console output is buffered and posted shortly after instance boot, reboot, and termination. Amazon EC2 preserves the most recent 64 KB output which is available for at least one hour after the most recent post.

For Linux instances, the instance console output displays the exact console output that would normally be displayed on a physical monitor attached to a computer. This output is buffered because the instance produces it and then posts it to a store where the instance's owner can retrieve it.

For Windows instances, the instance console output includes output from the EC2Config service.

", "GetConsoleScreenshot": "

Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

The returned content is Base64-encoded.

", "GetHostReservationPurchasePreview": "

Preview a reservation purchase with configurations that match those of your Dedicated Host. You must have active Dedicated Hosts in your account before you purchase a reservation.

This is a preview of the PurchaseHostReservation action and does not result in the offering being purchased.

", - "GetPasswordData": "

Retrieves the encrypted administrator password for an instance running Windows.

The Windows password is generated at boot if the EC2Config service plugin, Ec2SetPassword, is enabled. This usually only happens the first time an AMI is launched, and then Ec2SetPassword is automatically disabled. The password is not generated for rebundled AMIs unless Ec2SetPassword is enabled before bundling.

The password is encrypted using the key pair that you specified when you launched the instance. You must provide the corresponding key pair file.

Password generation and encryption takes a few moments. We recommend that you wait up to 15 minutes after launching an instance before trying to retrieve the generated password.

", + "GetPasswordData": "

Retrieves the encrypted administrator password for a running Windows instance.

The Windows password is generated at boot by the EC2Config service or EC2Launch scripts (Windows Server 2016 and later). This usually only happens the first time an instance is launched. For more information, see EC2Config and EC2Launch in the Amazon Elastic Compute Cloud User Guide.

For the EC2Config service, the password is not generated for rebundled AMIs unless Ec2SetPassword is enabled before bundling.

The password is encrypted using the key pair that you specified when you launched the instance. You must provide the corresponding key pair file.

When you launch an instance, password generation and encryption may take a few minutes. If you try to retrieve the password before it's available, the output returns an empty string. We recommend that you wait up to 15 minutes after launching an instance before trying to retrieve the generated password.

", "GetReservedInstancesExchangeQuote": "

Returns details about the values and term of your specified Convertible Reserved Instances. When a target configuration is specified, it returns information about whether the exchange is valid and can be performed.

", "ImportImage": "

Import single or multi-volume disk images or EBS snapshots into an Amazon Machine Image (AMI). For more information, see Importing a VM as an Image Using VM Import/Export in the VM Import/Export User Guide.

", "ImportInstance": "

Creates an import instance task using metadata from the specified disk image. ImportInstance only supports single-volume VMs. To import multi-volume VMs, use ImportImage. For more information, see Importing a Virtual Machine Using the Amazon EC2 CLI.

For information about the import manifest referenced by this API action, see VM Import Manifest.

", "ImportKeyPair": "

Imports the public key from an RSA key pair that you created with a third-party tool. Compare this with CreateKeyPair, in which AWS creates the key pair and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair, you create the key pair and give AWS just the public key. The private key is never transferred between you and AWS.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

", "ImportSnapshot": "

Imports a disk into an EBS snapshot.

", "ImportVolume": "

Creates an import volume task using metadata from the specified disk image.For more information, see Importing Disks to Amazon EBS.

For information about the import manifest referenced by this API action, see VM Import Manifest.

", + "ModifyFpgaImageAttribute": "

Modifies the specified attribute of the specified Amazon FPGA Image (AFI).

", "ModifyHosts": "

Modify the auto-placement setting of a Dedicated Host. When auto-placement is enabled, AWS will place instances that you launch with a tenancy of host, but without targeting a specific host ID, onto any available Dedicated Host in your account which has auto-placement enabled. When auto-placement is disabled, you need to provide a host ID if you want the instance to launch onto a specific host. If no host ID is provided, the instance will be launched onto a suitable host which has auto-placement enabled.

", "ModifyIdFormat": "

Modifies the ID format for the specified resource on a per-region basis. You can specify that resources should receive longer IDs (17-character IDs) when they are created. The following resource types support longer IDs: instance | reservation | snapshot | volume.

This setting applies to the IAM user who makes the request; it does not apply to the entire AWS account. By default, an IAM user defaults to the same settings as the root user. If you're using this action as the root user, then these settings apply to the entire account, unless an IAM user explicitly overrides these settings for themselves. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

Resources created with longer IDs are visible to all IAM roles and users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

", "ModifyIdentityIdFormat": "

Modifies the ID format of a resource for a specified IAM user, IAM role, or the root user for an account; or all IAM users, IAM roles, and the root user for an account. You can specify that resources should receive longer IDs (17-character IDs) when they are created.

The following resource types support longer IDs: instance | reservation | snapshot | volume. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

This setting applies to the principal specified in the request; it does not apply to the principal that makes the request.

Resources created with longer IDs are visible to all IAM roles and users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

", @@ -209,7 +215,7 @@ "RebootInstances": "

Requests a reboot of one or more instances. This operation is asynchronous; it only queues a request to reboot the specified instances. The operation succeeds if the instances are valid and belong to you. Requests to reboot terminated instances are ignored.

If an instance does not cleanly shut down within four minutes, Amazon EC2 performs a hard reboot.

For more information about troubleshooting, see Getting Console Output and Rebooting Instances in the Amazon Elastic Compute Cloud User Guide.

", "RegisterImage": "

Registers an AMI. When you're creating an AMI, this is the final step you must complete before you can launch an instance from the AMI. For more information about creating AMIs, see Creating Your Own AMIs in the Amazon Elastic Compute Cloud User Guide.

For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single request, so you don't have to register the AMI yourself.

You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. You specify the snapshot using the block device mapping. For more information, see Launching a Linux Instance from a Backup in the Amazon Elastic Compute Cloud User Guide.

You can't register an image where a secondary (non-root) snapshot has AWS Marketplace product codes.

Some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES), use the EC2 billing product code associated with an AMI to verify the subscription status for package updates. Creating an AMI from an EBS snapshot does not maintain this billing code, and subsequent instances launched from such an AMI will not be able to connect to package update infrastructure. To create an AMI that must retain billing codes, see CreateImage.

If needed, you can deregister an AMI at any time. Any modifications you make to an AMI backed by an instance store volume invalidates its registration. If you make changes to an image, deregister the previous image and register the new image.

", "RejectVpcPeeringConnection": "

Rejects a VPC peering connection request. The VPC peering connection must be in the pending-acceptance state. Use the DescribeVpcPeeringConnections request to view your outstanding VPC peering connection requests. To delete an active VPC peering connection, or to delete a VPC peering connection request that you initiated, use DeleteVpcPeeringConnection.

", - "ReleaseAddress": "

Releases the specified Elastic IP address.

After releasing an Elastic IP address, it is released to the IP address pool and might be unavailable to you. Be sure to update your DNS records and any servers or devices that communicate with the address. If you attempt to release an Elastic IP address that you already released, you'll get an AuthFailure error if the address is already allocated to another AWS account.

[EC2-Classic, default VPC] Releasing an Elastic IP address automatically disassociates it from any instance that it's associated with. To disassociate an Elastic IP address without releasing it, use DisassociateAddress.

[Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic IP address before you try to release it. Otherwise, Amazon EC2 returns an error (InvalidIPAddress.InUse).

", + "ReleaseAddress": "

Releases the specified Elastic IP address.

[EC2-Classic, default VPC] Releasing an Elastic IP address automatically disassociates it from any instance that it's associated with. To disassociate an Elastic IP address without releasing it, use DisassociateAddress.

[Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic IP address before you can release it. Otherwise, Amazon EC2 returns an error (InvalidIPAddress.InUse).

After releasing an Elastic IP address, it is released to the IP address pool. Be sure to update your DNS records and any servers or devices that communicate with the address. If you attempt to release an Elastic IP address that you already released, you'll get an AuthFailure error if the address is already allocated to another AWS account.

[EC2-VPC] After you release an Elastic IP address for use in a VPC, you might be able to recover it. For more information, see AllocateAddress.

", "ReleaseHosts": "

When you no longer want to use an On-Demand Dedicated Host it can be released. On-Demand billing is stopped and the host goes into released state. The host ID of Dedicated Hosts that have been released can no longer be specified in another request, e.g., ModifyHosts. You must stop or terminate all instances on a host before it can be released.

When Dedicated Hosts are released, it make take some time for them to stop counting toward your limit and you may receive capacity errors when trying to allocate new Dedicated hosts. Try waiting a few minutes, and then try again.

Released hosts will still appear in a DescribeHosts response.

", "ReplaceIamInstanceProfileAssociation": "

Replaces an IAM instance profile for the specified running instance. You can use this action to change the IAM instance profile that's associated with an instance without having to disassociate the existing IAM instance profile first.

Use DescribeIamInstanceProfileAssociations to get the association ID.

", "ReplaceNetworkAclAssociation": "

Changes which network ACL a subnet is associated with. By default when you create a subnet, it's automatically associated with the default network ACL. For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

", @@ -219,13 +225,14 @@ "ReportInstanceStatus": "

Submits feedback about the status of an instance. The instance must be in the running state. If your experience with the instance differs from the instance status returned by DescribeInstanceStatus, use ReportInstanceStatus to report your experience with the instance. Amazon EC2 collects this information to improve the accuracy of status checks.

Use of this action does not change the value returned by DescribeInstanceStatus.

", "RequestSpotFleet": "

Creates a Spot fleet request.

You can submit a single request that includes multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet.

By default, the Spot fleet requests Spot instances in the Spot pool where the price per unit is the lowest. Each launch specification can include its own instance weighting that reflects the value of the instance type to your application workload.

Alternatively, you can specify that the Spot fleet distribute the target capacity across the Spot pools included in its launch specifications. By ensuring that the Spot instances in your Spot fleet are in different Spot pools, you can improve the availability of your fleet.

For more information, see Spot Fleet Requests in the Amazon Elastic Compute Cloud User Guide.

", "RequestSpotInstances": "

Creates a Spot instance request. Spot instances are instances that Amazon EC2 launches when the bid price that you specify exceeds the current Spot price. Amazon EC2 periodically sets the Spot price based on available Spot Instance capacity and current Spot instance requests. For more information, see Spot Instance Requests in the Amazon Elastic Compute Cloud User Guide.

", + "ResetFpgaImageAttribute": "

Resets the specified attribute of the specified Amazon FPGA Image (AFI) to its default value. You can only reset the load permission attribute.

", "ResetImageAttribute": "

Resets an attribute of an AMI to its default value.

The productCodes attribute can't be reset.

", "ResetInstanceAttribute": "

Resets an attribute of an instance to its default value. To reset the kernel or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck, the instance can be either running or stopped.

The sourceDestCheck attribute controls whether source/destination checking is enabled. The default value is true, which means checking is enabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.

", "ResetNetworkInterfaceAttribute": "

Resets a network interface attribute. You can specify only one attribute at a time.

", "ResetSnapshotAttribute": "

Resets permission settings for the specified snapshot.

For more information on modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide.

", "RestoreAddressToClassic": "

Restores an Elastic IP address that was previously moved to the EC2-VPC platform back to the EC2-Classic platform. You cannot move an Elastic IP address that was originally allocated for use in EC2-VPC. The Elastic IP address must not be associated with an instance or network interface.

", - "RevokeSecurityGroupEgress": "

[EC2-VPC only] Removes one or more egress rules from a security group for EC2-VPC. This action doesn't apply to security groups for use in EC2-Classic. The values that you specify in the revoke request (for example, ports) must match the existing rule's values for the rule to be revoked.

Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

", - "RevokeSecurityGroupIngress": "

Removes one or more ingress rules from a security group. The values that you specify in the revoke request (for example, ports) must match the existing rule's values for the rule to be removed.

Each rule consists of the protocol and the CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

", + "RevokeSecurityGroupEgress": "

[EC2-VPC only] Removes one or more egress rules from a security group for EC2-VPC. This action doesn't apply to security groups for use in EC2-Classic. To remove a rule, the values that you specify (for example, ports) must match the existing rule's values exactly.

Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule has a description, you do not have to specify the description to revoke the rule.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

", + "RevokeSecurityGroupIngress": "

Removes one or more ingress rules from a security group. To remove a rule, the values that you specify (for example, ports) must match the existing rule's values exactly.

[EC2-Classic security groups only] If the values you specify do not match the existing rule's values, no error is returned. Use DescribeSecurityGroups to verify that the rule has been removed.

Each rule consists of the protocol and the CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule has a description, you do not have to specify the description to revoke the rule.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

", "RunInstances": "

Launches the specified number of instances using an AMI for which you have permissions.

You can specify a number of options, or leave the default options. The following rules apply:

  • [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet from your default VPC for you. If you don't have a default VPC, you must specify a subnet ID in the request.

  • [EC2-Classic] If don't specify an Availability Zone, we choose one for you.

  • Some instance types must be launched into a VPC. If you do not have a default VPC, or if you do not specify a subnet ID, the request fails. For more information, see Instance Types Available Only in a VPC.

  • [EC2-VPC] All instances have a network interface with a primary private IPv4 address. If you don't specify this address, we choose one from the IPv4 range of your subnet.

  • Not all instance types support IPv6 addresses. For more information, see Instance Types.

  • If you don't specify a security group ID, we use the default security group. For more information, see Security Groups.

  • If any of the AMIs have a product code attached for which the user has not subscribed, the request fails.

To ensure faster instance launches, break up large requests into smaller batches. For example, create 5 separate launch requests for 100 instances each instead of 1 launch request for 500 instances.

An instance is ready for you to use when it's in the running state. You can check the state of your instance using DescribeInstances. You can tag instances and EBS volumes during launch, after launch, or both. For more information, see CreateTags and Tagging Your Amazon EC2 Resources.

Linux instances have access to the public key of the key pair at boot. You can use this key to provide secure access to the instance. Amazon EC2 public images use this feature to provide secure access without passwords. For more information, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

For troubleshooting, see What To Do If An Instance Immediately Terminates, and Troubleshooting Connecting to Your Instance in the Amazon Elastic Compute Cloud User Guide.

", "RunScheduledInstances": "

Launches the specified Scheduled Instances.

Before you can launch a Scheduled Instance, you must purchase it and obtain an identifier using PurchaseScheduledInstances.

You must launch a Scheduled Instance during its scheduled time period. You can't stop or reboot a Scheduled Instance, but you can terminate it as needed. If you terminate a Scheduled Instance before the current scheduled time period ends, you can launch it again after a few minutes. For more information, see Scheduled Instances in the Amazon Elastic Compute Cloud User Guide.

", "StartInstances": "

Starts an Amazon EBS-backed AMI that you've previously stopped.

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for hourly instance usage. However, your root partition Amazon EBS volume remains, continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time. Each time you transition an instance from stopped to started, Amazon EC2 charges a full instance hour, even if transitions happen multiple times within a single hour.

Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Performing this operation on an instance that uses an instance store as its root device returns an error.

For more information, see Stopping Instances in the Amazon Elastic Compute Cloud User Guide.

", @@ -233,7 +240,9 @@ "TerminateInstances": "

Shuts down one or more instances. This operation is idempotent; if you terminate an instance more than once, each call succeeds.

If you specify multiple instances and the request fails (for example, because of a single incorrect instance ID), none of the instances are terminated.

Terminated instances remain visible after termination (for approximately one hour).

By default, Amazon EC2 deletes all EBS volumes that were attached when the instance launched. Volumes attached after instance launch continue running.

You can stop, start, and terminate EBS-backed instances. You can only terminate instance store-backed instances. What happens to an instance differs if you stop it or terminate it. For example, when you stop an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, any attached EBS volumes with the DeleteOnTermination block device mapping parameter set to true are automatically deleted. For more information about the differences between stopping and terminating instances, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

For more information about troubleshooting, see Troubleshooting Terminating Your Instance in the Amazon Elastic Compute Cloud User Guide.

", "UnassignIpv6Addresses": "

Unassigns one or more IPv6 addresses from a network interface.

", "UnassignPrivateIpAddresses": "

Unassigns one or more secondary private IP addresses from a network interface.

", - "UnmonitorInstances": "

Disables detailed monitoring for a running instance. For more information, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide.

" + "UnmonitorInstances": "

Disables detailed monitoring for a running instance. For more information, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide.

", + "UpdateSecurityGroupRuleDescriptionsEgress": "

[EC2-VPC only] Updates the description of an egress (outbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously.

You specify the description as part of the IP permissions structure. You can remove a description for a security group rule by omitting the description parameter in the request.

", + "UpdateSecurityGroupRuleDescriptionsIngress": "

Updates the description of an ingress (inbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously.

You specify the description as part of the IP permissions structure. You can remove a description for a security group rule by omitting the description parameter in the request.

" }, "shapes": { "AcceptReservedInstancesExchangeQuoteRequest": { @@ -693,11 +702,13 @@ "ClassicLinkDnsSupport$ClassicLinkDnsSupported": "

Indicates whether ClassicLink DNS support is enabled for the VPC.

", "ConfirmProductInstanceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "ConfirmProductInstanceResult$Return": "

The return value of the request. Returns true if the specified product code is owned by the requester and associated with the specified instance.

", + "CopyFpgaImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "CopyImageRequest$Encrypted": "

Specifies whether the destination snapshots of the copied image should be encrypted. The default CMK for EBS is used unless a non-default AWS Key Management Service (AWS KMS) CMK is specified with KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

", "CopyImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "CopySnapshotRequest$Encrypted": "

Specifies whether the destination snapshot should be encrypted. You can encrypt a copy of an unencrypted snapshot using this flag, but you cannot use it to create an unencrypted copy from an encrypted snapshot. Your default CMK for EBS is used unless a non-default AWS Key Management Service (AWS KMS) CMK is specified with KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

", "CopySnapshotRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "CreateCustomerGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "CreateDefaultVpcRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "CreateDhcpOptionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "CreateEgressOnlyInternetGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "CreateFpgaImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -731,6 +742,8 @@ "DeleteDhcpOptionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DeleteEgressOnlyInternetGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DeleteEgressOnlyInternetGatewayResult$ReturnCode": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "DeleteFpgaImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "DeleteFpgaImageResult$Return": "

Is true if the request succeeds, and an error otherwise.

", "DeleteInternetGatewayRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DeleteKeyPairRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DeleteNetworkAclEntryRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -765,6 +778,8 @@ "DescribeCustomerGatewaysRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DescribeDhcpOptionsRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DescribeEgressOnlyInternetGatewaysRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "DescribeElasticGpusRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "DescribeFpgaImageAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DescribeFpgaImagesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DescribeImageAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "DescribeImagesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -835,6 +850,7 @@ "EnableVpcClassicLinkDnsSupportResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", "EnableVpcClassicLinkRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "EnableVpcClassicLinkResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "FpgaImage$Public": "

Indicates whether the AFI is public.

", "GetConsoleOutputRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "GetConsoleScreenshotRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "GetConsoleScreenshotRequest$WakeUp": "

When set to true, acts as keystroke input and wakes up an instance that's in standby or \"sleep\" mode.

", @@ -859,6 +875,7 @@ "InstanceNetworkInterfaceSpecification$DeleteOnTermination": "

If set to true, the interface is deleted when the instance is terminated. You can specify true only if creating a new network interface when launching an instance.

", "InstancePrivateIpAddress$Primary": "

Indicates whether this IPv4 address is the primary private IP address of the network interface.

", "LaunchSpecification$EbsOptimized": "

Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

Default: false

", + "ModifyFpgaImageAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "ModifyIdFormatRequest$UseLongIds": "

Indicate whether the resource should use longer IDs (17-character IDs).

", "ModifyIdentityIdFormatRequest$UseLongIds": "

Indicates whether the resource should use longer IDs (17-character IDs)

", "ModifyImageAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -908,6 +925,8 @@ "RequestSpotInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "RequestSpotLaunchSpecification$EbsOptimized": "

Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

Default: false

", "ReservedInstancesOffering$Marketplace": "

Indicates whether the offering is available through the Reserved Instance Marketplace (resale) or AWS. If it's a Reserved Instance Marketplace offering, this is true.

", + "ResetFpgaImageAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "ResetFpgaImageAttributeResult$Return": "

Is true if the request succeeds, and an error otherwise.

", "ResetImageAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "ResetInstanceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "ResetNetworkInterfaceAttributeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", @@ -943,6 +962,10 @@ "Subnet$AssignIpv6AddressOnCreation": "

Indicates whether a network interface created in this subnet (including a network interface created by RunInstances) receives an IPv6 address.

", "TerminateInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "UnmonitorInstancesRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "UpdateSecurityGroupRuleDescriptionsEgressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "UpdateSecurityGroupRuleDescriptionsEgressResult$Return": "

Returns true if the request succeeds; otherwise, returns an error.

", + "UpdateSecurityGroupRuleDescriptionsIngressRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "UpdateSecurityGroupRuleDescriptionsIngressResult$Return": "

Returns true if the request succeeds; otherwise, returns an error.

", "Volume$Encrypted": "

Indicates whether the volume will be encrypted.

", "VolumeAttachment$DeleteOnTermination": "

Indicates whether the EBS volume is deleted on instance termination.

", "Vpc$IsDefault": "

Indicates whether the VPC is the default VPC.

", @@ -1110,6 +1133,18 @@ "CancelSpotInstanceRequestsResult$CancelledSpotInstanceRequests": "

One or more Spot instance requests.

" } }, + "CidrBlock": { + "base": "

Describes an IPv4 CIDR block.

", + "refs": { + "CidrBlockSet$member": null + } + }, + "CidrBlockSet": { + "base": null, + "refs": { + "VpcPeeringConnectionVpcInfo$CidrBlockSet": "

Information about the IPv4 CIDR blocks for the VPC.

" + } + }, "ClassicLinkDnsSupport": { "base": "

Describes the ClassicLink DNS support status of a VPC.

", "refs": { @@ -1178,6 +1213,16 @@ "ConversionTask$State": "

The state of the conversion task.

" } }, + "CopyFpgaImageRequest": { + "base": null, + "refs": { + } + }, + "CopyFpgaImageResult": { + "base": null, + "refs": { + } + }, "CopyImageRequest": { "base": "

Contains the parameters for CopyImage.

", "refs": { @@ -1208,6 +1253,16 @@ "refs": { } }, + "CreateDefaultVpcRequest": { + "base": "

Contains the parameters for CreateDefaultVpc.

", + "refs": { + } + }, + "CreateDefaultVpcResult": { + "base": "

Contains the output of CreateDefaultVpc.

", + "refs": { + } + }, "CreateDhcpOptionsRequest": { "base": "

Contains the parameters for CreateDhcpOptions.

", "refs": { @@ -1309,12 +1364,12 @@ } }, "CreateNetworkInterfacePermissionRequest": { - "base": null, + "base": "

Contains the parameters for CreateNetworkInterfacePermission.

", "refs": { } }, "CreateNetworkInterfacePermissionResult": { - "base": null, + "base": "

Contains the output of CreateNetworkInterfacePermission.

", "refs": { } }, @@ -1629,6 +1684,16 @@ "refs": { } }, + "DeleteFpgaImageRequest": { + "base": null, + "refs": { + } + }, + "DeleteFpgaImageResult": { + "base": null, + "refs": { + } + }, "DeleteInternetGatewayRequest": { "base": "

Contains the parameters for DeleteInternetGateway.

", "refs": { @@ -1660,12 +1725,12 @@ } }, "DeleteNetworkInterfacePermissionRequest": { - "base": null, + "base": "

Contains the parameters for DeleteNetworkInterfacePermission.

", "refs": { } }, "DeleteNetworkInterfacePermissionResult": { - "base": null, + "base": "

Contains the output for DeleteNetworkInterfacePermission.

", "refs": { } }, @@ -1860,6 +1925,16 @@ "refs": { } }, + "DescribeElasticGpusRequest": { + "base": null, + "refs": { + } + }, + "DescribeElasticGpusResult": { + "base": null, + "refs": { + } + }, "DescribeExportTasksRequest": { "base": "

Contains the parameters for DescribeExportTasks.

", "refs": { @@ -1880,6 +1955,16 @@ "refs": { } }, + "DescribeFpgaImageAttributeRequest": { + "base": null, + "refs": { + } + }, + "DescribeFpgaImageAttributeResult": { + "base": null, + "refs": { + } + }, "DescribeFpgaImagesRequest": { "base": null, "refs": { @@ -2071,12 +2156,12 @@ } }, "DescribeNetworkInterfacePermissionsRequest": { - "base": null, + "base": "

Contains the parameters for DescribeNetworkInterfacePermissions.

", "refs": { } }, "DescribeNetworkInterfacePermissionsResult": { - "base": null, + "base": "

Contains the output for DescribeNetworkInterfacePermissions.

", "refs": { } }, @@ -2699,6 +2784,66 @@ "DescribeEgressOnlyInternetGatewaysResult$EgressOnlyInternetGateways": "

Information about the egress-only Internet gateways.

" } }, + "ElasticGpuAssociation": { + "base": "

Describes the association between an instance and an Elastic GPU.

", + "refs": { + "ElasticGpuAssociationList$member": null + } + }, + "ElasticGpuAssociationList": { + "base": null, + "refs": { + "Instance$ElasticGpuAssociations": "

The Elastic GPU associated with the instance.

" + } + }, + "ElasticGpuHealth": { + "base": "

Describes the status of an Elastic GPU.

", + "refs": { + "ElasticGpus$ElasticGpuHealth": "

The status of the Elastic GPU.

" + } + }, + "ElasticGpuIdSet": { + "base": null, + "refs": { + "DescribeElasticGpusRequest$ElasticGpuIds": "

One or more Elastic GPU IDs.

" + } + }, + "ElasticGpuSet": { + "base": null, + "refs": { + "DescribeElasticGpusResult$ElasticGpuSet": "

Information about the Elastic GPUs.

" + } + }, + "ElasticGpuSpecification": { + "base": "

A specification for an Elastic GPU.

", + "refs": { + "ElasticGpuSpecifications$member": null + } + }, + "ElasticGpuSpecifications": { + "base": null, + "refs": { + "RunInstancesRequest$ElasticGpuSpecification": "

An Elastic GPU to associate with the instance.

" + } + }, + "ElasticGpuState": { + "base": null, + "refs": { + "ElasticGpus$ElasticGpuState": "

The state of the Elastic GPU.

" + } + }, + "ElasticGpuStatus": { + "base": null, + "refs": { + "ElasticGpuHealth$Status": "

The health status.

" + } + }, + "ElasticGpus": { + "base": "

Describes an Elastic GPU.

", + "refs": { + "ElasticGpuSet$member": null + } + }, "EnableVgwRoutePropagationRequest": { "base": "

Contains the parameters for EnableVgwRoutePropagation.

", "refs": { @@ -2820,6 +2965,7 @@ "DescribeClassicLinkInstancesRequest$Filters": "

One or more filters.

  • group-id - The ID of a VPC security group that's associated with the instance.

  • instance-id - The ID of the instance.

  • tag:key=value - The key/value combination of a tag assigned to the resource.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • vpc-id - The ID of the VPC that the instance is linked to.

", "DescribeCustomerGatewaysRequest$Filters": "

One or more filters.

  • bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

  • customer-gateway-id - The ID of the customer gateway.

  • ip-address - The IP address of the customer gateway's Internet-routable external interface.

  • state - The state of the customer gateway (pending | available | deleting | deleted).

  • type - The type of customer gateway. Currently, the only supported type is ipsec.1.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

", "DescribeDhcpOptionsRequest$Filters": "

One or more filters.

  • dhcp-options-id - The ID of a set of DHCP options.

  • key - The key for one of the options (for example, domain-name).

  • value - The value for one of the options.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

", + "DescribeElasticGpusRequest$Filters": "

One or more filters.

  • availability-zone - The Availability Zone in which the Elastic GPU resides.

  • elastic-gpu-health - The status of the Elastic GPU (OK | IMPAIRED).

  • elastic-gpu-state - The state of the Elastic GPU (ATTACHED).

  • elastic-gpu-type - The type of Elastic GPU; for example, eg1.medium.

  • instance-id - The ID of the instance to which the Elastic GPU is associated.

", "DescribeFlowLogsRequest$Filter": "

One or more filters.

  • deliver-log-status - The status of the logs delivery (SUCCESS | FAILED).

  • flow-log-id - The ID of the flow log.

  • log-group-name - The name of the log group.

  • resource-id - The ID of the VPC, subnet, or network interface.

  • traffic-type - The type of traffic (ACCEPT | REJECT | ALL)

", "DescribeFpgaImagesRequest$Filters": "

One or more filters.

  • create-time - The creation time of the AFI.

  • fpga-image-id - The FPGA image identifier (AFI ID).

  • fpga-image-global-id - The global FPGA image identifier (AGFI ID).

  • name - The name of the AFI.

  • owner-id - The AWS account ID of the AFI owner.

  • product-code - The product code.

  • shell-version - The version of the AWS Shell that was used to create the bitstream.

  • state - The state of the AFI (pending | failed | available | unavailable).

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • update-time - The time of the most recent update.

", "DescribeHostReservationOfferingsRequest$Filter": "

One or more filters.

  • instance-family - The instance family of the offering (e.g., m4).

  • payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).

", @@ -2834,7 +2980,7 @@ "DescribeInternetGatewaysRequest$Filters": "

One or more filters.

  • attachment.state - The current state of the attachment between the gateway and the VPC (available). Present only if a VPC is attached.

  • attachment.vpc-id - The ID of an attached VPC.

  • internet-gateway-id - The ID of the Internet gateway.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

", "DescribeKeyPairsRequest$Filters": "

One or more filters.

  • fingerprint - The fingerprint of the key pair.

  • key-name - The name of the key pair.

", "DescribeMovingAddressesRequest$Filters": "

One or more filters.

  • moving-status - The status of the Elastic IP address (MovingToVpc | RestoringToClassic).

", - "DescribeNatGatewaysRequest$Filter": "

One or more filters.

  • nat-gateway-id - The ID of the NAT gateway.

  • state - The state of the NAT gateway (pending | failed | available | deleting | deleted).

  • subnet-id - The ID of the subnet in which the NAT gateway resides.

  • vpc-id - The ID of the VPC in which the NAT gateway resides.

", + "DescribeNatGatewaysRequest$Filter": "

One or more filters.

  • nat-gateway-id - The ID of the NAT gateway.

  • state - The state of the NAT gateway (pending | failed | available | deleting | deleted).

  • subnet-id - The ID of the subnet in which the NAT gateway resides.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • vpc-id - The ID of the VPC in which the NAT gateway resides.

", "DescribeNetworkAclsRequest$Filters": "

One or more filters.

  • association.association-id - The ID of an association ID for the ACL.

  • association.network-acl-id - The ID of the network ACL involved in the association.

  • association.subnet-id - The ID of the subnet involved in the association.

  • default - Indicates whether the ACL is the default network ACL for the VPC.

  • entry.cidr - The IPv4 CIDR range specified in the entry.

  • entry.egress - Indicates whether the entry applies to egress traffic.

  • entry.icmp.code - The ICMP code specified in the entry, if any.

  • entry.icmp.type - The ICMP type specified in the entry, if any.

  • entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.

  • entry.port-range.from - The start of the port range specified in the entry.

  • entry.port-range.to - The end of the port range specified in the entry.

  • entry.protocol - The protocol specified in the entry (tcp | udp | icmp or a protocol number).

  • entry.rule-action - Allows or denies the matching traffic (allow | deny).

  • entry.rule-number - The number of an entry (in other words, rule) in the ACL's set of entries.

  • network-acl-id - The ID of the network ACL.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • vpc-id - The ID of the VPC for the network ACL.

", "DescribeNetworkInterfacePermissionsRequest$Filters": "

One or more filters.

  • network-interface-permission.network-interface-permission-id - The ID of the permission.

  • network-interface-permission.network-interface-id - The ID of the network interface.

  • network-interface-permission.aws-account-id - The AWS account ID.

  • network-interface-permission.aws-service - The AWS service.

  • network-interface-permission.permission - The type of permission (INSTANCE-ATTACH | EIP-ASSOCIATE).

", "DescribeNetworkInterfacesRequest$Filters": "

One or more filters.

  • addresses.private-ip-address - The private IPv4 addresses associated with the network interface.

  • addresses.primary - Whether the private IPv4 address is the primary IP address associated with the network interface.

  • addresses.association.public-ip - The association ID returned when the network interface was associated with the Elastic IP address (IPv4).

  • addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

  • association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

  • association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

  • association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

  • association.public-dns-name - The public DNS name for the network interface (IPv4).

  • attachment.attachment-id - The ID of the interface attachment.

  • attachment.attach.time - The time that the network interface was attached to an instance.

  • attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

  • attachment.device-index - The device index to which the network interface is attached.

  • attachment.instance-id - The ID of the instance to which the network interface is attached.

  • attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

  • attachment.nat-gateway-id - The ID of the NAT gateway to which the network interface is attached.

  • attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • availability-zone - The Availability Zone of the network interface.

  • description - The description of the network interface.

  • group-id - The ID of a security group associated with the network interface.

  • group-name - The name of a security group associated with the network interface.

  • ipv6-addresses.ipv6-address - An IPv6 address associated with the network interface.

  • mac-address - The MAC address of the network interface.

  • network-interface-id - The ID of the network interface.

  • owner-id - The AWS account ID of the network interface owner.

  • private-ip-address - The private IPv4 address or addresses of the network interface.

  • private-dns-name - The private DNS name of the network interface (IPv4).

  • requester-id - The ID of the entity that launched the instance on your behalf (for example, AWS Management Console, Auto Scaling, and so on).

  • requester-managed - Indicates whether the network interface is being managed by an AWS service (for example, AWS Management Console, Auto Scaling, and so on).

  • source-desk-check - Indicates whether the network interface performs source/destination checking. A value of true means checking is enabled, and false means checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

  • status - The status of the network interface. If the network interface is not attached to an instance, the status is available; if a network interface is attached to an instance the status is in-use.

  • subnet-id - The ID of the subnet for the network interface.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • vpc-id - The ID of the VPC for the network interface.

", @@ -2860,7 +3006,7 @@ "DescribeVpcClassicLinkRequest$Filters": "

One or more filters.

  • is-classic-link-enabled - Whether the VPC is enabled for ClassicLink (true | false).

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

", "DescribeVpcEndpointsRequest$Filters": "

One or more filters.

  • service-name: The name of the AWS service.

  • vpc-id: The ID of the VPC in which the endpoint resides.

  • vpc-endpoint-id: The ID of the endpoint.

  • vpc-endpoint-state: The state of the endpoint. (pending | available | deleting | deleted)

", "DescribeVpcPeeringConnectionsRequest$Filters": "

One or more filters.

  • accepter-vpc-info.cidr-block - The IPv4 CIDR block of the peer VPC.

  • accepter-vpc-info.owner-id - The AWS account ID of the owner of the peer VPC.

  • accepter-vpc-info.vpc-id - The ID of the peer VPC.

  • expiration-time - The expiration date and time for the VPC peering connection.

  • requester-vpc-info.cidr-block - The IPv4 CIDR block of the requester's VPC.

  • requester-vpc-info.owner-id - The AWS account ID of the owner of the requester VPC.

  • requester-vpc-info.vpc-id - The ID of the requester VPC.

  • status-code - The status of the VPC peering connection (pending-acceptance | failed | expired | provisioning | active | deleted | rejected).

  • status-message - A message that provides more information about the status of the VPC peering connection, if applicable.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • vpc-peering-connection-id - The ID of the VPC peering connection.

", - "DescribeVpcsRequest$Filters": "

One or more filters.

  • cidr - The IPv4 CIDR block of the VPC. The CIDR block you specify must exactly match the VPC's CIDR block for information to be returned for the VPC. Must contain the slash followed by one or two digits (for example, /28).

  • dhcp-options-id - The ID of a set of DHCP options.

  • ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated with the VPC.

  • ipv6-cidr-block-association.association-id - The association ID for an IPv6 CIDR block associated with the VPC.

  • ipv6-cidr-block-association.state - The state of an IPv6 CIDR block associated with the VPC.

  • isDefault - Indicates whether the VPC is the default VPC.

  • state - The state of the VPC (pending | available).

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • vpc-id - The ID of the VPC.

", + "DescribeVpcsRequest$Filters": "

One or more filters.

  • cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you specify must exactly match the VPC's CIDR block for information to be returned for the VPC. Must contain the slash followed by one or two digits (for example, /28).

  • cidr-block-association.cidr-block - An IPv4 CIDR block associated with the VPC.

  • cidr-block-association.association-id - The association ID for an IPv4 CIDR block associated with the VPC.

  • cidr-block-association.state - The state of an IPv4 CIDR block associated with the VPC.

  • dhcp-options-id - The ID of a set of DHCP options.

  • ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated with the VPC.

  • ipv6-cidr-block-association.association-id - The association ID for an IPv6 CIDR block associated with the VPC.

  • ipv6-cidr-block-association.state - The state of an IPv6 CIDR block associated with the VPC.

  • isDefault - Indicates whether the VPC is the default VPC.

  • state - The state of the VPC (pending | available).

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • vpc-id - The ID of the VPC.

", "DescribeVpnConnectionsRequest$Filters": "

One or more filters.

  • customer-gateway-configuration - The configuration information for the customer gateway.

  • customer-gateway-id - The ID of a customer gateway associated with the VPN connection.

  • state - The state of the VPN connection (pending | available | deleting | deleted).

  • option.static-routes-only - Indicates whether the connection has static routes only. Used for devices that do not support Border Gateway Protocol (BGP).

  • route.destination-cidr-block - The destination CIDR block. This corresponds to the subnet used in a customer data center.

  • bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP device.

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • type - The type of VPN connection. Currently the only supported type is ipsec.1.

  • vpn-connection-id - The ID of the VPN connection.

  • vpn-gateway-id - The ID of a virtual private gateway associated with the VPN connection.

", "DescribeVpnGatewaysRequest$Filters": "

One or more filters.

  • attachment.state - The current state of the attachment between the gateway and the VPC (attaching | attached | detaching | detached).

  • attachment.vpc-id - The ID of an attached VPC.

  • availability-zone - The Availability Zone for the virtual private gateway (if applicable).

  • state - The state of the virtual private gateway (pending | available | deleting | deleted).

  • tag:key=value - The key/value combination of a tag assigned to the resource. Specify the key of the tag in the filter name and the value of the tag in the filter value. For example, for the tag Purpose=X, specify tag:Purpose for the filter name and X for the filter value.

  • tag-key - The key of a tag assigned to the resource. This filter is independent of the tag-value filter. For example, if you use both the filter \"tag-key=Purpose\" and the filter \"tag-value=X\", you get any resources assigned both the tag key Purpose (regardless of what the tag's value is), and the tag value X (regardless of what the tag's key is). If you want to list only resources where Purpose is X, see the tag:key=value filter.

  • tag-value - The value of a tag assigned to the resource. This filter is independent of the tag-key filter.

  • type - The type of virtual private gateway. Currently the only supported type is ipsec.1.

  • vpn-gateway-id - The ID of the virtual private gateway.

" } @@ -2904,6 +3050,20 @@ "FpgaImageList$member": null } }, + "FpgaImageAttribute": { + "base": "

Describes an Amazon FPGA image (AFI) attribute.

", + "refs": { + "DescribeFpgaImageAttributeResult$FpgaImageAttribute": "

Information about the attribute.

", + "ModifyFpgaImageAttributeResult$FpgaImageAttribute": "

Information about the attribute.

" + } + }, + "FpgaImageAttributeName": { + "base": null, + "refs": { + "DescribeFpgaImageAttributeRequest$Attribute": "

The AFI attribute.

", + "ModifyFpgaImageAttributeRequest$Attribute": "

The name of the attribute.

" + } + }, "FpgaImageIdList": { "base": null, "refs": { @@ -3432,6 +3592,14 @@ "UnmonitorInstancesRequest$InstanceIds": "

One or more instance IDs.

" } }, + "InstanceInterruptionBehavior": { + "base": null, + "refs": { + "RequestSpotInstancesRequest$InstanceInterruptionBehavior": "

Indicates whether a Spot instance stops or terminates when it is interrupted.

", + "SpotFleetRequestConfigData$InstanceInterruptionBehavior": "

Indicates whether a Spot instance stops or terminates when it is interrupted.

", + "SpotInstanceRequest$InstanceInterruptionBehavior": "

Indicates whether a Spot instance stops or terminates when it is interrupted.

" + } + }, "InstanceIpv6Address": { "base": "

Describes an IPv6 address.

", "refs": { @@ -3628,8 +3796,8 @@ "AttachNetworkInterfaceRequest$DeviceIndex": "

The index of the device for the network interface attachment.

", "AuthorizeSecurityGroupEgressRequest$FromPort": "

The start of port range for the TCP and UDP protocols, or an ICMP type number. We recommend that you specify the port range in a set of IP permissions instead.

", "AuthorizeSecurityGroupEgressRequest$ToPort": "

The end of port range for the TCP and UDP protocols, or an ICMP type number. We recommend that you specify the port range in a set of IP permissions instead.

", - "AuthorizeSecurityGroupIngressRequest$FromPort": "

The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. For the ICMP/ICMPv6 type number, use -1 to specify all types.

", - "AuthorizeSecurityGroupIngressRequest$ToPort": "

The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code number. For the ICMP/ICMPv6 code number, use -1 to specify all codes.

", + "AuthorizeSecurityGroupIngressRequest$FromPort": "

The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. For the ICMP/ICMPv6 type number, use -1 to specify all types. If you specify all ICMP/ICMPv6 types, you must specify all codes.

", + "AuthorizeSecurityGroupIngressRequest$ToPort": "

The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code number. For the ICMP/ICMPv6 code number, use -1 to specify all codes. If you specify all ICMP/ICMPv6 types, you must specify all codes.

", "AvailableCapacity$AvailableVCpus": "

The number of vCPUs available on the Dedicated Host.

", "CreateCustomerGatewayRequest$BgpAsn": "

For devices that support BGP, the customer gateway's BGP ASN.

Default: 65000

", "CreateNetworkAclEntryRequest$RuleNumber": "

The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number.

Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is reserved for internal use.

", @@ -3641,6 +3809,8 @@ "DeleteNetworkAclEntryRequest$RuleNumber": "

The rule number of the entry to delete.

", "DescribeClassicLinkInstancesRequest$MaxResults": "

The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value larger than 1000, only 1000 results are returned. You cannot specify this parameter and the instance IDs parameter in the same request.

Constraint: If the value is greater than 1000, we return only 1000 items.

", "DescribeEgressOnlyInternetGatewaysRequest$MaxResults": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value larger than 1000, only 1000 results are returned.

", + "DescribeElasticGpusRequest$MaxResults": "

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 5 and 1000.

", + "DescribeElasticGpusResult$MaxResults": "

The total number of items to return. If the total number of items available is more than the value specified in max-items then a Next-Token will be provided in the output that you can use to resume pagination.

", "DescribeFlowLogsRequest$MaxResults": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value larger than 1000, only 1000 results are returned. You cannot specify this parameter and the flow log IDs parameter in the same request.

", "DescribeHostReservationOfferingsRequest$MaxDuration": "

This is the maximum duration of the reservation you'd like to purchase, specified in seconds. Reservations are available in one-year and three-year terms. The number of seconds specified must be the number of seconds in a year (365x24x60x60) times one of the supported durations (1 or 3). For example, specify 94608000 for three years.

", "DescribeHostReservationOfferingsRequest$MaxResults": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500; if maxResults is given a larger value than 500, you will receive an error.

", @@ -3691,8 +3861,8 @@ "InstanceNetworkInterfaceSpecification$Ipv6AddressCount": "

A number of IPv6 addresses to assign to the network interface. Amazon EC2 chooses the IPv6 addresses from the range of the subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.

", "InstanceNetworkInterfaceSpecification$SecondaryPrivateIpAddressCount": "

The number of secondary private IPv4 addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option. You cannot specify this option if you're launching more than one instance in a RunInstances request.

", "InstanceState$Code": "

The low byte represents the state. The high byte is an opaque internal value and should be ignored.

  • 0 : pending

  • 16 : running

  • 32 : shutting-down

  • 48 : terminated

  • 64 : stopping

  • 80 : stopped

", - "IpPermission$FromPort": "

The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types.

", - "IpPermission$ToPort": "

The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes for the specified ICMP type.

", + "IpPermission$FromPort": "

The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.

", + "IpPermission$ToPort": "

The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes for the specified ICMP type. If you specify all ICMP/ICMPv6 types, you must specify all codes.

", "ModifySpotFleetRequestRequest$TargetCapacity": "

The size of the fleet.

", "ModifyVolumeRequest$Size": "

Target size in GiB of the volume to be modified. Target volume size must be greater than or equal to than the existing size of the volume. For information about available EBS volume sizes, see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html.

Default: If no size is specified, the existing size is retained.

", "ModifyVolumeRequest$Iops": "

Target IOPS rate of the volume to be modified.

Only valid for Provisioned IOPS SSD (io1) volumes. For more information about io1 IOPS configuration, see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_piops.

Default: If no IOPS value is specified, the existing value is retained.

", @@ -3798,7 +3968,9 @@ "RevokeSecurityGroupEgressRequest$IpPermissions": "

A set of IP permissions. You can't specify a destination security group and a CIDR IP address range.

", "RevokeSecurityGroupIngressRequest$IpPermissions": "

A set of IP permissions. You can't specify a source security group and a CIDR IP address range.

", "SecurityGroup$IpPermissions": "

One or more inbound rules associated with the security group.

", - "SecurityGroup$IpPermissionsEgress": "

[EC2-VPC] One or more outbound rules associated with the security group.

" + "SecurityGroup$IpPermissionsEgress": "

[EC2-VPC] One or more outbound rules associated with the security group.

", + "UpdateSecurityGroupRuleDescriptionsEgressRequest$IpPermissions": "

The IP permissions for the security group rule.

", + "UpdateSecurityGroupRuleDescriptionsIngressRequest$IpPermissions": "

The IP permissions for the security group rule.

" } }, "IpRange": { @@ -3925,6 +4097,37 @@ "ReservedInstancesListing$Status": "

The status of the Reserved Instance listing.

" } }, + "LoadPermission": { + "base": "

Describes a load permission.

", + "refs": { + "LoadPermissionList$member": null + } + }, + "LoadPermissionList": { + "base": null, + "refs": { + "FpgaImageAttribute$LoadPermissions": "

One or more load permissions.

" + } + }, + "LoadPermissionListRequest": { + "base": null, + "refs": { + "LoadPermissionModifications$Add": "

The load permissions to add.

", + "LoadPermissionModifications$Remove": "

The load permissions to remove.

" + } + }, + "LoadPermissionModifications": { + "base": "

Describes modifications to the load permissions of an Amazon FPGA image (AFI).

", + "refs": { + "ModifyFpgaImageAttributeRequest$LoadPermission": "

The load permission for the AFI.

" + } + }, + "LoadPermissionRequest": { + "base": "

Describes a load permission.

", + "refs": { + "LoadPermissionListRequest$member": null + } + }, "Long": { "base": null, "refs": { @@ -3952,6 +4155,16 @@ "DescribeVpcClassicLinkDnsSupportRequest$MaxResults": "

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

" } }, + "ModifyFpgaImageAttributeRequest": { + "base": null, + "refs": { + } + }, + "ModifyFpgaImageAttributeResult": { + "base": null, + "refs": { + } + }, "ModifyHostsRequest": { "base": "

Contains the parameters for ModifyHosts.

", "refs": { @@ -4356,6 +4569,7 @@ "OperationType": { "base": null, "refs": { + "ModifyFpgaImageAttributeRequest$OperationType": "

The operation type.

", "ModifyImageAttributeRequest$OperationType": "

The operation type.

", "ModifySnapshotAttributeRequest$OperationType": "

The type of operation to perform to the attribute.

" } @@ -4400,7 +4614,9 @@ "base": null, "refs": { "CreateVolumePermission$Group": "

The specific group that is to be added or removed from a volume's list of create volume permissions.

", - "LaunchPermission$Group": "

The name of the group.

" + "LaunchPermission$Group": "

The name of the group.

", + "LoadPermission$Group": "

The name of the group.

", + "LoadPermissionRequest$Group": "

The name of the group.

" } }, "Placement": { @@ -4563,6 +4779,7 @@ "DescribeSnapshotAttributeResult$ProductCodes": "

A list of product codes.

", "DescribeVolumeAttributeResult$ProductCodes": "

A list of product codes.

", "FpgaImage$ProductCodes": "

The product codes for the AFI.

", + "FpgaImageAttribute$ProductCodes": "

One or more product codes.

", "Image$ProductCodes": "

Any product codes associated with the AMI.

", "ImageAttribute$ProductCodes": "

One or more product codes.

", "Instance$ProductCodes": "

The product codes attached to this instance, if applicable.

", @@ -4572,6 +4789,7 @@ "ProductCodeStringList": { "base": null, "refs": { + "ModifyFpgaImageAttributeRequest$ProductCodes": "

One or more product codes. After you add a product code to an AFI, it can't be removed. This parameter is valid only when modifying the productCodes attribute.

", "ModifyImageAttributeRequest$ProductCodes": "

One or more product codes. After you add a product code to an AMI, it can't be removed. This is only valid when modifying the productCodes attribute.

" } }, @@ -5027,6 +5245,22 @@ "ReservedInstancesModification$ReservedInstancesIds": "

The IDs of one or more Reserved Instances.

" } }, + "ResetFpgaImageAttributeName": { + "base": null, + "refs": { + "ResetFpgaImageAttributeRequest$Attribute": "

The attribute.

" + } + }, + "ResetFpgaImageAttributeRequest": { + "base": null, + "refs": { + } + }, + "ResetFpgaImageAttributeResult": { + "base": null, + "refs": { + } + }, "ResetImageAttributeName": { "base": null, "refs": { @@ -5057,12 +5291,13 @@ "base": null, "refs": { "CreateTagsRequest$Resources": "

The IDs of one or more resources to tag. For example, ami-1a2b3c4d.

", - "DeleteTagsRequest$Resources": "

The ID of the resource. For example, ami-1a2b3c4d. You can specify more than one resource ID.

" + "DeleteTagsRequest$Resources": "

The IDs of one or more resources.

" } }, "ResourceType": { "base": null, "refs": { + "SpotFleetTagSpecification$ResourceType": "

The type of resource. Currently, the only resource type that is supported is instance.

", "TagDescription$ResourceType": "

The resource type.

", "TagSpecification$ResourceType": "

The type of resource to tag. Currently, the resource types that support tagging on creation are instance and volume.

" } @@ -5473,6 +5708,18 @@ "DescribeSpotFleetRequestsResponse$SpotFleetRequestConfigs": "

Information about the configuration of your Spot fleet.

" } }, + "SpotFleetTagSpecification": { + "base": "

The tags for a Spot fleet resource.

", + "refs": { + "SpotFleetTagSpecificationList$member": null + } + }, + "SpotFleetTagSpecificationList": { + "base": null, + "refs": { + "SpotFleetLaunchSpecification$TagSpecifications": "

The tags to apply during creation.

" + } + }, "SpotInstanceRequest": { "base": "

Describes a Spot instance request.

", "refs": { @@ -5647,6 +5894,7 @@ "Address$NetworkInterfaceId": "

The ID of the network interface.

", "Address$NetworkInterfaceOwnerId": "

The ID of the AWS account that owns the network interface.

", "Address$PrivateIpAddress": "

The private IP address associated with the Elastic IP address.

", + "AllocateAddressRequest$Address": "

[EC2-VPC] The Elastic IP address to recover.

", "AllocateAddressResult$PublicIp": "

The Elastic IP address.

", "AllocateAddressResult$AllocationId": "

[EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic IP address for use with instances in a VPC.

", "AllocateHostsRequest$AvailabilityZone": "

The Availability Zone for the Dedicated Hosts.

", @@ -5671,6 +5919,7 @@ "AssociateSubnetCidrBlockRequest$Ipv6CidrBlock": "

The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix length.

", "AssociateSubnetCidrBlockRequest$SubnetId": "

The ID of your subnet.

", "AssociateSubnetCidrBlockResult$SubnetId": "

The ID of the subnet.

", + "AssociateVpcCidrBlockRequest$CidrBlock": "

An IPv4 CIDR block to associate with the VPC.

", "AssociateVpcCidrBlockRequest$VpcId": "

The ID of the VPC.

", "AssociateVpcCidrBlockResult$VpcId": "

The ID of the VPC.

", "AssociationIdList$member": null, @@ -5693,8 +5942,8 @@ "AuthorizeSecurityGroupEgressRequest$SourceSecurityGroupName": "

The name of a destination security group. To authorize outbound access to a destination security group, we recommend that you use a set of IP permissions instead.

", "AuthorizeSecurityGroupEgressRequest$SourceSecurityGroupOwnerId": "

The AWS account number for a destination security group. To authorize outbound access to a destination security group, we recommend that you use a set of IP permissions instead.

", "AuthorizeSecurityGroupIngressRequest$CidrIp": "

The CIDR IPv4 address range. You can't specify this parameter when specifying a source security group.

", - "AuthorizeSecurityGroupIngressRequest$GroupId": "

The ID of the security group. Required for a nondefault VPC.

", - "AuthorizeSecurityGroupIngressRequest$GroupName": "

[EC2-Classic, default VPC] The name of the security group.

", + "AuthorizeSecurityGroupIngressRequest$GroupId": "

The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.

", + "AuthorizeSecurityGroupIngressRequest$GroupName": "

[EC2-Classic, default VPC] The name of the security group. You must specify either the security group ID or the security group name in the request.

", "AuthorizeSecurityGroupIngressRequest$IpProtocol": "

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). (VPC only) Use -1 to specify all protocols. If you specify -1, or a protocol number other than tcp, udp, icmp, or 58 (ICMPv6), traffic on all ports is allowed, regardless of any ports you specify. For tcp, udp, and icmp, you must specify a port range. For protocol 58 (ICMPv6), you can optionally specify a port range; if you don't, traffic for all types and codes is allowed.

", "AuthorizeSecurityGroupIngressRequest$SourceSecurityGroupName": "

[EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol and port range, use a set of IP permissions instead. For EC2-VPC, the source security group must be in the same VPC.

", "AuthorizeSecurityGroupIngressRequest$SourceSecurityGroupOwnerId": "

[EC2-Classic] The AWS account number for the source security group, if the source security group is in a different account. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol and port range, use a set of IP permissions instead.

", @@ -5726,6 +5975,7 @@ "CancelSpotFleetRequestsErrorItem$SpotFleetRequestId": "

The ID of the Spot fleet request.

", "CancelSpotFleetRequestsSuccessItem$SpotFleetRequestId": "

The ID of the Spot fleet request.

", "CancelledSpotInstanceRequest$SpotInstanceRequestId": "

The ID of the Spot instance request.

", + "CidrBlock$CidrBlock": "

The IPv4 CIDR block.

", "ClassicLinkDnsSupport$VpcId": "

The ID of the VPC.

", "ClassicLinkInstance$InstanceId": "

The ID of the instance.

", "ClassicLinkInstance$VpcId": "

The ID of the VPC.

", @@ -5737,6 +5987,12 @@ "ConversionTask$ConversionTaskId": "

The ID of the conversion task.

", "ConversionTask$ExpirationTime": "

The time when the task expires. If the upload isn't complete before the expiration time, we automatically cancel the task.

", "ConversionTask$StatusMessage": "

The status message related to the conversion task.

", + "CopyFpgaImageRequest$SourceFpgaImageId": "

The ID of the source AFI.

", + "CopyFpgaImageRequest$Description": "

The description for the new AFI.

", + "CopyFpgaImageRequest$Name": "

The name for the new AFI. The default is the name of the source AFI.

", + "CopyFpgaImageRequest$SourceRegion": "

The region that contains the source AFI.

", + "CopyFpgaImageRequest$ClientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

", + "CopyFpgaImageResult$FpgaImageId": "

The ID of the new AFI.

", "CopyImageRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.

", "CopyImageRequest$Description": "

A description for the new AMI in the destination region.

", "CopyImageRequest$KmsKeyId": "

The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when encrypting the snapshots of an image during a copy operation. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used. The ARN contains the arn:aws:kms namespace, followed by the region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. The specified CMK must exist in the region that the snapshot is being copied to. If a KmsKeyId is specified, the Encrypted flag must also be set.

", @@ -5838,6 +6094,7 @@ "CustomerGatewayIdStringList$member": null, "DeleteCustomerGatewayRequest$CustomerGatewayId": "

The ID of the customer gateway.

", "DeleteDhcpOptionsRequest$DhcpOptionsId": "

The ID of the DHCP options set.

", + "DeleteFpgaImageRequest$FpgaImageId": "

The ID of the AFI.

", "DeleteInternetGatewayRequest$InternetGatewayId": "

The ID of the Internet gateway.

", "DeleteKeyPairRequest$KeyName": "

The name of the key pair.

", "DeleteNatGatewayRequest$NatGatewayId": "

The ID of the NAT gateway.

", @@ -5867,8 +6124,11 @@ "DescribeClassicLinkInstancesResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "DescribeEgressOnlyInternetGatewaysRequest$NextToken": "

The token to retrieve the next page of results.

", "DescribeEgressOnlyInternetGatewaysResult$NextToken": "

The token to use to retrieve the next page of results.

", + "DescribeElasticGpusRequest$NextToken": "

The token to request the next page of results.

", + "DescribeElasticGpusResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "DescribeFlowLogsRequest$NextToken": "

The token to retrieve the next page of results.

", "DescribeFlowLogsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "DescribeFpgaImageAttributeRequest$FpgaImageId": "

The ID of the AFI.

", "DescribeHostReservationOfferingsRequest$NextToken": "

The token to use to retrieve the next page of results.

", "DescribeHostReservationOfferingsRequest$OfferingId": "

The ID of the reservation offering.

", "DescribeHostReservationOfferingsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", @@ -5978,6 +6238,16 @@ "EbsBlockDevice$SnapshotId": "

The ID of the snapshot.

", "EbsInstanceBlockDevice$VolumeId": "

The ID of the EBS volume.

", "EbsInstanceBlockDeviceSpecification$VolumeId": "

The ID of the EBS volume.

", + "ElasticGpuAssociation$ElasticGpuId": "

The ID of the Elastic GPU.

", + "ElasticGpuAssociation$ElasticGpuAssociationId": "

The ID of the association.

", + "ElasticGpuAssociation$ElasticGpuAssociationState": "

The state of the association between the instance and the Elastic GPU.

", + "ElasticGpuAssociation$ElasticGpuAssociationTime": "

The time the Elastic GPU was associated with the instance.

", + "ElasticGpuIdSet$member": null, + "ElasticGpuSpecification$Type": "

The type of Elastic GPU.

", + "ElasticGpus$ElasticGpuId": "

The ID of the Elastic GPU.

", + "ElasticGpus$AvailabilityZone": "

The Availability Zone in the which the Elastic GPU resides.

", + "ElasticGpus$ElasticGpuType": "

The type of Elastic GPU.

", + "ElasticGpus$InstanceId": "

The ID of the instance to which the Elastic GPU is attached.

", "EnableVgwRoutePropagationRequest$GatewayId": "

The ID of the virtual private gateway.

", "EnableVgwRoutePropagationRequest$RouteTableId": "

The ID of the route table.

", "EnableVolumeIORequest$VolumeId": "

The ID of the volume.

", @@ -6010,6 +6280,9 @@ "FpgaImage$ShellVersion": "

The version of the AWS Shell that was used to create the bitstream.

", "FpgaImage$OwnerId": "

The AWS account ID of the AFI owner.

", "FpgaImage$OwnerAlias": "

The alias of the AFI owner. Possible values include self, amazon, and aws-marketplace.

", + "FpgaImageAttribute$FpgaImageId": "

The ID of the AFI.

", + "FpgaImageAttribute$Name": "

The name of the AFI.

", + "FpgaImageAttribute$Description": "

The description of the AFI.

", "FpgaImageIdList$member": null, "FpgaImageState$Message": "

If the state is failed, this is the error message.

", "GetConsoleOutputRequest$InstanceId": "

The ID of the instance.

", @@ -6023,7 +6296,7 @@ "GetHostReservationPurchasePreviewResult$TotalUpfrontPrice": "

The potential total upfront price. This is billed immediately.

", "GetPasswordDataRequest$InstanceId": "

The ID of the Windows instance.

", "GetPasswordDataResult$InstanceId": "

The ID of the Windows instance.

", - "GetPasswordDataResult$PasswordData": "

The password of the instance.

", + "GetPasswordDataResult$PasswordData": "

The password of the instance. Returns an empty string if the password is not available.

", "GetReservedInstancesExchangeQuoteResult$CurrencyCode": "

The currency of the transaction.

", "GetReservedInstancesExchangeQuoteResult$PaymentDue": "

The total true upfront charge for the exchange.

", "GetReservedInstancesExchangeQuoteResult$ValidationFailureReason": "

Describes the reason why the exchange cannot be completed.

", @@ -6179,10 +6452,12 @@ "InternetGatewayAttachment$VpcId": "

The ID of the VPC.

", "IpPermission$IpProtocol": "

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers).

[EC2-VPC only] Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or 58 (ICMPv6) allows traffic on all ports, regardless of any port range you specify. For tcp, udp, and icmp, you must specify a port range. For 58 (ICMPv6), you can optionally specify a port range; if you don't, traffic for all types and codes is allowed when authorizing rules.

", "IpRange$CidrIp": "

The IPv4 CIDR range. You can either specify a CIDR range or a source security group, not both. To specify a single IPv4 address, use the /32 prefix.

", + "IpRange$Description": "

A description for the security group rule that references this IPv4 address range.

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*

", "IpRanges$member": null, "Ipv6AddressList$member": null, "Ipv6CidrBlock$Ipv6CidrBlock": "

The IPv6 CIDR block.

", "Ipv6Range$CidrIpv6": "

The IPv6 CIDR range. You can either specify a CIDR range or a source security group, not both. To specify a single IPv6 address, use the /128 prefix.

", + "Ipv6Range$Description": "

A description for the security group rule that references this IPv6 address range.

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*

", "KeyNameStringList$member": null, "KeyPair$KeyFingerprint": "

The SHA-1 digest of the DER encoded private key.

", "KeyPair$KeyMaterial": "

An unencrypted PEM encoded RSA private key.

", @@ -6197,6 +6472,11 @@ "LaunchSpecification$KeyName": "

The name of the key pair.

", "LaunchSpecification$RamdiskId": "

The ID of the RAM disk.

", "LaunchSpecification$SubnetId": "

The ID of the subnet in which to launch the instance.

", + "LoadPermission$UserId": "

The AWS account ID.

", + "LoadPermissionRequest$UserId": "

The AWS account ID.

", + "ModifyFpgaImageAttributeRequest$FpgaImageId": "

The ID of the AFI.

", + "ModifyFpgaImageAttributeRequest$Description": "

A description for the AFI.

", + "ModifyFpgaImageAttributeRequest$Name": "

A name for the AFI.

", "ModifyIdFormatRequest$Resource": "

The type of resource: instance | reservation | snapshot | volume

", "ModifyIdentityIdFormatRequest$PrincipalArn": "

The ARN of the principal, which can be an IAM user, IAM role, or the root user. Specify all to modify the ID format for all IAM users, IAM roles, and the root user of the account.

", "ModifyIdentityIdFormatRequest$Resource": "

The type of resource: instance | reservation | snapshot | volume

", @@ -6283,6 +6563,7 @@ "PlacementGroupStringList$member": null, "PrefixList$PrefixListId": "

The ID of the prefix.

", "PrefixList$PrefixListName": "

The name of the prefix.

", + "PrefixListId$Description": "

A description for the security group rule that references this prefix list ID.

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*

", "PrefixListId$PrefixListId": "

The ID of the prefix.

", "PrefixListIdSet$member": null, "PrivateIpAddressSpecification$PrivateIpAddress": "

The private IPv4 addresses.

", @@ -6386,6 +6667,7 @@ "ReservedInstancesOffering$AvailabilityZone": "

The Availability Zone in which the Reserved Instance can be used.

", "ReservedInstancesOffering$ReservedInstancesOfferingId": "

The ID of the Reserved Instance offering. This is the offering ID used in GetReservedInstancesExchangeQuote to confirm that an exchange can be made.

", "ReservedInstancesOfferingIdStringList$member": null, + "ResetFpgaImageAttributeRequest$FpgaImageId": "

The ID of the AFI.

", "ResetImageAttributeRequest$ImageId": "

The ID of the AMI.

", "ResetInstanceAttributeRequest$InstanceId": "

The ID of the instance.

", "ResetNetworkInterfaceAttributeRequest$NetworkInterfaceId": "

The ID of the network interface.

", @@ -6553,7 +6835,7 @@ "StaleSecurityGroup$VpcId": "

The ID of the VPC for the security group.

", "StartInstancesRequest$AdditionalInfo": "

Reserved.

", "StateReason$Code": "

The reason code for the state change.

", - "StateReason$Message": "

The message for the state change.

  • Server.InsufficientInstanceCapacity: There was insufficient instance capacity to satisfy the launch request.

  • Server.InternalError: An internal error occurred during instance launch, resulting in termination.

  • Server.ScheduledStop: The instance was stopped due to a scheduled retirement.

  • Server.SpotInstanceTermination: A Spot instance was terminated due to an increase in the market price.

  • Client.InternalError: A client error caused the instance to terminate on launch.

  • Client.InstanceInitiatedShutdown: The instance was shut down using the shutdown -h command from the instance.

  • Client.UserInitiatedShutdown: The instance was shut down using the Amazon EC2 API.

  • Client.VolumeLimitExceeded: The limit on the number of EBS volumes or total storage was exceeded. Decrease usage or request an increase in your limits.

  • Client.InvalidSnapshot.NotFound: The specified snapshot was not found.

", + "StateReason$Message": "

The message for the state change.

  • Server.InsufficientInstanceCapacity: There was insufficient instance capacity to satisfy the launch request.

  • Server.InternalError: An internal error occurred during instance launch, resulting in termination.

  • Server.ScheduledStop: The instance was stopped due to a scheduled retirement.

  • Server.SpotInstanceTermination: A Spot instance was terminated due to an increase in the market price.

  • Client.InternalError: A client error caused the instance to terminate on launch.

  • Client.InstanceInitiatedShutdown: The instance was shut down using the shutdown -h command from the instance.

  • Client.InstanceTerminated: The instance was terminated or rebooted during AMI creation.

  • Client.UserInitiatedShutdown: The instance was shut down using the Amazon EC2 API.

  • Client.VolumeLimitExceeded: The limit on the number of EBS volumes or total storage was exceeded. Decrease usage or request an increase in your limits.

  • Client.InvalidSnapshot.NotFound: The specified snapshot was not found.

", "StorageLocation$Bucket": "

The name of the S3 bucket.

", "StorageLocation$Key": "

The key.

", "Subnet$AvailabilityZone": "

The Availability Zone of the subnet.

", @@ -6577,12 +6859,17 @@ "UnsuccessfulItem$ResourceId": "

The ID of the resource.

", "UnsuccessfulItemError$Code": "

The error code.

", "UnsuccessfulItemError$Message": "

The error message accompanying the error code.

", + "UpdateSecurityGroupRuleDescriptionsEgressRequest$GroupId": "

The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.

", + "UpdateSecurityGroupRuleDescriptionsEgressRequest$GroupName": "

[Default VPC] The name of the security group. You must specify either the security group ID or the security group name in the request.

", + "UpdateSecurityGroupRuleDescriptionsIngressRequest$GroupId": "

The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.

", + "UpdateSecurityGroupRuleDescriptionsIngressRequest$GroupName": "

[EC2-Classic, default VPC] The name of the security group. You must specify either the security group ID or the security group name in the request.

", "UserBucket$S3Bucket": "

The name of the S3 bucket where the disk image is located.

", "UserBucket$S3Key": "

The file name of the disk image.

", "UserBucketDetails$S3Bucket": "

The S3 bucket from which the disk image was created.

", "UserBucketDetails$S3Key": "

The file name of the disk image.

", "UserData$Data": "

The user data. If you are using an AWS SDK or command line tool, Base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide Base64-encoded text.

", "UserGroupStringList$member": null, + "UserIdGroupPair$Description": "

A description for the security group rule that references this user ID group pair.

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*

", "UserIdGroupPair$GroupId": "

The ID of the security group.

", "UserIdGroupPair$GroupName": "

The name of the security group. In a request, use this parameter for a security group in EC2-Classic or a default VPC only. For a security group in a nondefault VPC, use the security group ID.

", "UserIdGroupPair$PeeringStatus": "

The status of a VPC peering connection, if applicable.

", @@ -6613,10 +6900,12 @@ "VolumeStatusEvent$EventType": "

The type of this event.

", "VolumeStatusItem$AvailabilityZone": "

The Availability Zone of the volume.

", "VolumeStatusItem$VolumeId": "

The volume ID.

", - "Vpc$CidrBlock": "

The IPv4 CIDR block for the VPC.

", + "Vpc$CidrBlock": "

The primary IPv4 CIDR block for the VPC.

", "Vpc$DhcpOptionsId": "

The ID of the set of DHCP options you've associated with the VPC (or default if the default options are associated with the VPC).

", "Vpc$VpcId": "

The ID of the VPC.

", "VpcAttachment$VpcId": "

The ID of the VPC.

", + "VpcCidrBlockAssociation$AssociationId": "

The association ID for the IPv4 CIDR block.

", + "VpcCidrBlockAssociation$CidrBlock": "

The IPv4 CIDR block.

", "VpcCidrBlockState$StatusMessage": "

A message about the status of the CIDR block, if applicable.

", "VpcClassicLink$VpcId": "

The ID of the VPC.

", "VpcClassicLinkIdList$member": null, @@ -6726,12 +7015,13 @@ "ConversionTask$Tags": "

Any tags assigned to the task.

", "CreateTagsRequest$Tags": "

One or more tags. The value parameter is required, but if you don't want the tag to have a value, specify the parameter with no value, and we set the value to an empty string.

", "CustomerGateway$Tags": "

Any tags assigned to the customer gateway.

", - "DeleteTagsRequest$Tags": "

One or more tags to delete. If you omit the value parameter, we delete the tag regardless of its value. If you specify this parameter with an empty string as the value, we delete the key only if its value is an empty string.

", + "DeleteTagsRequest$Tags": "

One or more tags to delete. If you omit this parameter, we delete all tags for the specified resources. Specify a tag key and an optional tag value to delete specific tags. If you specify a tag key without a tag value, we delete any tag with this key regardless of its value. If you specify a tag key with an empty string as the tag value, we delete the tag only if its value is an empty string.

", "DhcpOptions$Tags": "

Any tags assigned to the DHCP options set.

", "FpgaImage$Tags": "

Any tags assigned to the AFI.

", "Image$Tags": "

Any tags assigned to the image.

", "Instance$Tags": "

Any tags assigned to the instance.

", "InternetGateway$Tags": "

Any tags assigned to the Internet gateway.

", + "NatGateway$Tags": "

The tags for the NAT gateway.

", "NetworkAcl$Tags": "

Any tags assigned to the network ACL.

", "NetworkInterface$TagSet": "

Any tags assigned to the network interface.

", "ReservedInstances$Tags": "

Any tags assigned to the resource.

", @@ -6739,6 +7029,7 @@ "RouteTable$Tags": "

Any tags assigned to the route table.

", "SecurityGroup$Tags": "

Any tags assigned to the security group.

", "Snapshot$Tags": "

Any tags assigned to the snapshot.

", + "SpotFleetTagSpecification$Tags": "

The tags.

", "SpotInstanceRequest$Tags": "

Any tags assigned to the resource.

", "Subnet$Tags": "

Any tags assigned to the subnet.

", "TagSpecification$Tags": "

The tags to apply to the resource.

", @@ -6882,6 +7173,26 @@ "DeleteVpcEndpointsResult$Unsuccessful": "

Information about the endpoints that were not successfully deleted.

" } }, + "UpdateSecurityGroupRuleDescriptionsEgressRequest": { + "base": "

Contains the parameters for UpdateSecurityGroupRuleDescriptionsEgress.

", + "refs": { + } + }, + "UpdateSecurityGroupRuleDescriptionsEgressResult": { + "base": "

Contains the output of UpdateSecurityGroupRuleDescriptionsEgress.

", + "refs": { + } + }, + "UpdateSecurityGroupRuleDescriptionsIngressRequest": { + "base": "

Contains the parameters for UpdateSecurityGroupRuleDescriptionsIngress.

", + "refs": { + } + }, + "UpdateSecurityGroupRuleDescriptionsIngressResult": { + "base": "

Contains the output of UpdateSecurityGroupRuleDescriptionsIngress.

", + "refs": { + } + }, "UserBucket": { "base": "

Describes the S3 bucket for the disk image.

", "refs": { @@ -6905,6 +7216,7 @@ "UserGroupStringList": { "base": null, "refs": { + "ModifyFpgaImageAttributeRequest$UserGroups": "

One or more user groups. This parameter is valid only when modifying the loadPermission attribute.

", "ModifyImageAttributeRequest$UserGroups": "

One or more user groups. This is only valid when modifying the launchPermission attribute.

" } }, @@ -6930,6 +7242,7 @@ "UserIdStringList": { "base": null, "refs": { + "ModifyFpgaImageAttributeRequest$UserIds": "

One or more AWS account IDs. This parameter is valid only when modifying the loadPermission attribute.

", "ModifyImageAttributeRequest$UserIds": "

One or more AWS account IDs. This is only valid when modifying the launchPermission attribute.

", "ModifySnapshotAttributeRequest$UserIds": "

The account ID to modify for the snapshot.

" } @@ -7139,6 +7452,7 @@ "Vpc": { "base": "

Describes a VPC.

", "refs": { + "CreateDefaultVpcResult$Vpc": "

Information about the VPC.

", "CreateVpcResult$Vpc": "

Information about the VPC.

", "VpcList$member": null } @@ -7162,9 +7476,24 @@ "DescribeVpcAttributeRequest$Attribute": "

The VPC attribute.

" } }, + "VpcCidrBlockAssociation": { + "base": "

Describes an IPv4 CIDR block associated with a VPC.

", + "refs": { + "AssociateVpcCidrBlockResult$CidrBlockAssociation": "

Information about the IPv4 CIDR block association.

", + "DisassociateVpcCidrBlockResult$CidrBlockAssociation": "

Information about the IPv4 CIDR block association.

", + "VpcCidrBlockAssociationSet$member": null + } + }, + "VpcCidrBlockAssociationSet": { + "base": null, + "refs": { + "Vpc$CidrBlockAssociationSet": "

Information about the IPv4 CIDR blocks associated with the VPC.

" + } + }, "VpcCidrBlockState": { "base": "

Describes the state of a CIDR block.

", "refs": { + "VpcCidrBlockAssociation$CidrBlockState": "

Information about the state of the CIDR block.

", "VpcIpv6CidrBlockAssociation$Ipv6CidrBlockState": "

Information about the state of the CIDR block.

" } }, diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/ec2/2016-11-15/waiters-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/ec2/2016-11-15/waiters-2.json index 7d8b7cdcd..0f141739c 100755 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/ec2/2016-11-15/waiters-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/ec2/2016-11-15/waiters-2.json @@ -413,6 +413,11 @@ "matcher": "pathAny", "argument": "SpotInstanceRequests[].Status.Code", "expected": "system-error" + }, + { + "state": "retry", + "matcher": "error", + "expected": "InvalidSpotInstanceRequestID.NotFound" } ] }, diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/ecs/2014-11-13/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/ecs/2014-11-13/api-2.json index 1adc48d48..3afcced27 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/ecs/2014-11-13/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/ecs/2014-11-13/api-2.json @@ -578,6 +578,7 @@ "environment":{"shape":"EnvironmentVariables"}, "mountPoints":{"shape":"MountPointList"}, "volumesFrom":{"shape":"VolumeFromList"}, + "linuxParameters":{"shape":"LinuxParameters"}, "hostname":{"shape":"String"}, "user":{"shape":"String"}, "workingDirectory":{"shape":"String"}, @@ -918,6 +919,13 @@ }, "exception":true }, + "KernelCapabilities":{ + "type":"structure", + "members":{ + "add":{"shape":"StringList"}, + "drop":{"shape":"StringList"} + } + }, "KeyValuePair":{ "type":"structure", "members":{ @@ -925,6 +933,12 @@ "value":{"shape":"String"} } }, + "LinuxParameters":{ + "type":"structure", + "members":{ + "capabilities":{"shape":"KernelCapabilities"} + } + }, "ListAttributesRequest":{ "type":"structure", "required":["targetType"], diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/ecs/2014-11-13/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/ecs/2014-11-13/docs-2.json index b624b3f3c..f1df48adb 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/ecs/2014-11-13/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/ecs/2014-11-13/docs-2.json @@ -78,7 +78,7 @@ "ContainerDefinition$disableNetworking": "

When this parameter is true, networking is disabled within the container. This parameter maps to NetworkDisabled in the Create a container section of the Docker Remote API.

", "ContainerDefinition$privileged": "

When this parameter is true, the container is given elevated privileges on the host container instance (similar to the root user). This parameter maps to Privileged in the Create a container section of the Docker Remote API and the --privileged option to docker run.

", "ContainerDefinition$readonlyRootFilesystem": "

When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and the --read-only option to docker run.

", - "DeregisterContainerInstanceRequest$force": "

Forces the deregistration of the container instance. If you have tasks running on the container instance when you deregister it with the force option, these tasks remain running until you terminate the instance or the tasks stop through some other means, but they are orphaned (no longer monitored or accounted for by Amazon ECS). If an orphaned task on your container instance is part of an Amazon ECS service, then the service scheduler starts another copy of that task, on a different container instance if possible.

Any containers in orphaned service tasks that are registered with a Classic load balancer or an Application load balancer target group are deregistered, and they will begin connection draining according to the settings on the load balancer or target group.

", + "DeregisterContainerInstanceRequest$force": "

Forces the deregistration of the container instance. If you have tasks running on the container instance when you deregister it with the force option, these tasks remain running until you terminate the instance or the tasks stop through some other means, but they are orphaned (no longer monitored or accounted for by Amazon ECS). If an orphaned task on your container instance is part of an Amazon ECS service, then the service scheduler starts another copy of that task, on a different container instance if possible.

Any containers in orphaned service tasks that are registered with a Classic Load Balancer or an Application Load Balancer target group are deregistered, and they will begin connection draining according to the settings on the load balancer or target group.

", "MountPoint$readOnly": "

If this value is true, the container has read-only access to the volume. If this value is false, then the container can write to the volume. The default value is false.

", "VolumeFrom$readOnly": "

If this value is true, the container has read-only access to the volume. If this value is false, then the container can write to the volume. The default value is false.

" } @@ -444,12 +444,24 @@ "refs": { } }, + "KernelCapabilities": { + "base": "

The Linux capabilities for the container that are added to or dropped from the default configuration provided by Docker. For more information on the default capabilities and the non-default available capabilities, see Runtime privilege and Linux capabilities in the Docker run reference. For more detailed information on these Linux capabilities, see the capabilities(7) Linux manual page.

", + "refs": { + "LinuxParameters$capabilities": "

The Linux capabilities for the container that are added to or dropped from the default configuration provided by Docker.

" + } + }, "KeyValuePair": { "base": "

A key and value pair object.

", "refs": { "EnvironmentVariables$member": null } }, + "LinuxParameters": { + "base": "

Linux-specific options that are applied to the container, such as Linux KernelCapabilities.

", + "refs": { + "ContainerDefinition$linuxParameters": "

Linux-specific modifications that are applied to the container, such as Linux KernelCapabilities.

" + } + }, "ListAttributesRequest": { "base": null, "refs": { @@ -529,7 +541,7 @@ "LoadBalancers": { "base": null, "refs": { - "CreateServiceRequest$loadBalancers": "

A load balancer object representing the load balancer to use with your service. Currently, you are limited to one load balancer or target group per service. After you create a service, the load balancer name or target group ARN, container name, and container port specified in the service definition are immutable.

For Elastic Load Balancing Classic load balancers, this object must contain the load balancer name, the container name (as it appears in a container definition), and the container port to access from the load balancer. When a task from this service is placed on a container instance, the container instance is registered with the load balancer specified here.

For Elastic Load Balancing Application load balancers, this object must contain the load balancer target group ARN, the container name (as it appears in a container definition), and the container port to access from the load balancer. When a task from this service is placed on a container instance, the container instance and port combination is registered as a target in the target group specified here.

", + "CreateServiceRequest$loadBalancers": "

A load balancer object representing the load balancer to use with your service. Currently, you are limited to one load balancer or target group per service. After you create a service, the load balancer name or target group ARN, container name, and container port specified in the service definition are immutable.

For Classic Load Balancers, this object must contain the load balancer name, the container name (as it appears in a container definition), and the container port to access from the load balancer. When a task from this service is placed on a container instance, the container instance is registered with the load balancer specified here.

For Application Load Balancers and Network Load Balancers, this object must contain the load balancer target group ARN, the container name (as it appears in a container definition), and the container port to access from the load balancer. When a task from this service is placed on a container instance, the container instance and port combination is registered as a target in the target group specified here.

", "Service$loadBalancers": "

A list of Elastic Load Balancing load balancer objects, containing the load balancer name, the container name (as it appears in a container definition), and the container port to access from the load balancer.

" } }, @@ -797,7 +809,7 @@ "Container$lastStatus": "

The last known status of the container.

", "Container$reason": "

A short (255 max characters) human-readable string to provide additional details about a running or stopped container.

", "ContainerDefinition$name": "

The name of a container. If you are linking multiple containers together in a task definition, the name of one container can be entered in the links of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. This parameter maps to name in the Create a container section of the Docker Remote API and the --name option to docker run.

", - "ContainerDefinition$image": "

The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker Hub registry are available by default. Other repositories are specified with repository-url/image:tag . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the Create a container section of the Docker Remote API and the IMAGE parameter of docker run.

  • Images in Amazon ECR repositories use the full registry and repository URI (for example, 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>).

  • Images in official repositories on Docker Hub use a single name (for example, ubuntu or mongo).

  • Images in other repositories on Docker Hub are qualified with an organization name (for example, amazon/amazon-ecs-agent).

  • Images in other online repositories are qualified further by a domain name (for example, quay.io/assemblyline/ubuntu).

", + "ContainerDefinition$image": "

The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker Hub registry are available by default. Other repositories are specified with either repository-url/image:tag or repository-url/image@digest . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the Create a container section of the Docker Remote API and the IMAGE parameter of docker run.

  • Images in Amazon ECR repositories can be specified by either using the full registry/repository:tag or registry/repository@digest. For example, 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest or 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE.

  • Images in official repositories on Docker Hub use a single name (for example, ubuntu or mongo).

  • Images in other repositories on Docker Hub are qualified with an organization name (for example, amazon/amazon-ecs-agent).

  • Images in other online repositories are qualified further by a domain name (for example, quay.io/assemblyline/ubuntu).

", "ContainerDefinition$hostname": "

The hostname to use for your container. This parameter maps to Hostname in the Create a container section of the Docker Remote API and the --hostname option to docker run.

", "ContainerDefinition$user": "

The user name to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.

", "ContainerDefinition$workingDirectory": "

The working directory in which to run commands inside the container. This parameter maps to WorkingDir in the Create a container section of the Docker Remote API and the --workdir option to docker run.

", @@ -866,7 +878,7 @@ "ListTasksRequest$serviceName": "

The name of the service with which to filter the ListTasks results. Specifying a serviceName limits the results to tasks that belong to that service.

", "ListTasksResponse$nextToken": "

The nextToken value to include in a future ListTasks request. When the results of a ListTasks request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

", "LoadBalancer$targetGroupArn": "

The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group associated with a service.

", - "LoadBalancer$loadBalancerName": "

The name of a Classic load balancer.

", + "LoadBalancer$loadBalancerName": "

The name of a load balancer.

", "LoadBalancer$containerName": "

The name of the container (as it appears in a container definition) to associate with the load balancer.

", "LogConfigurationOptionsMap$key": null, "LogConfigurationOptionsMap$value": null, @@ -957,6 +969,8 @@ "DescribeContainerInstancesRequest$containerInstances": "

A list of container instance IDs or full Amazon Resource Name (ARN) entries.

", "DescribeServicesRequest$services": "

A list of services to describe. You may specify up to 10 services to describe in a single operation.

", "DescribeTasksRequest$tasks": "

A list of up to 100 task IDs or full Amazon Resource Name (ARN) entries.

", + "KernelCapabilities$add": "

The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to CapAdd in the Create a container section of the Docker Remote API and the --cap-add option to docker run.

", + "KernelCapabilities$drop": "

The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to CapDrop in the Create a container section of the Docker Remote API and the --cap-drop option to docker run.

", "ListClustersResponse$clusterArns": "

The list of full Amazon Resource Name (ARN) entries for each cluster associated with your account.

", "ListContainerInstancesResponse$containerInstanceArns": "

The list of container instances with full Amazon Resource Name (ARN) entries for each container instance associated with the specified cluster.

", "ListServicesResponse$serviceArns": "

The list of full Amazon Resource Name (ARN) entries for each service associated with the specified cluster.

", diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/elasticbeanstalk/2010-12-01/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/elasticbeanstalk/2010-12-01/api-2.json index 8b59a010b..14b09655a 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/elasticbeanstalk/2010-12-01/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/elasticbeanstalk/2010-12-01/api-2.json @@ -1225,7 +1225,9 @@ "EnvironmentIds":{"shape":"EnvironmentIdList"}, "EnvironmentNames":{"shape":"EnvironmentNamesList"}, "IncludeDeleted":{"shape":"IncludeDeleted"}, - "IncludedDeletedBackTo":{"shape":"IncludeDeletedBackTo"} + "IncludedDeletedBackTo":{"shape":"IncludeDeletedBackTo"}, + "MaxRecords":{"shape":"MaxRecords"}, + "NextToken":{"shape":"Token"} } }, "DescribeEventsMessage":{ @@ -1287,6 +1289,7 @@ "exception":true }, "EndpointURL":{"type":"string"}, + "EnvironmentArn":{"type":"string"}, "EnvironmentDescription":{ "type":"structure", "members":{ @@ -1308,7 +1311,8 @@ "HealthStatus":{"shape":"EnvironmentHealthStatus"}, "Resources":{"shape":"EnvironmentResourcesDescription"}, "Tier":{"shape":"EnvironmentTier"}, - "EnvironmentLinks":{"shape":"EnvironmentLinks"} + "EnvironmentLinks":{"shape":"EnvironmentLinks"}, + "EnvironmentArn":{"shape":"EnvironmentArn"} } }, "EnvironmentDescriptionsList":{ @@ -1318,7 +1322,8 @@ "EnvironmentDescriptionsMessage":{ "type":"structure", "members":{ - "Environments":{"shape":"EnvironmentDescriptionsList"} + "Environments":{"shape":"EnvironmentDescriptionsList"}, + "NextToken":{"shape":"Token"} } }, "EnvironmentHealth":{ diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/elasticbeanstalk/2010-12-01/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/elasticbeanstalk/2010-12-01/docs-2.json index 2cabdf3b5..293eba254 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/elasticbeanstalk/2010-12-01/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/elasticbeanstalk/2010-12-01/docs-2.json @@ -576,7 +576,7 @@ "DeploymentTimestamp": { "base": null, "refs": { - "Deployment$DeploymentTime": "

For in-progress deployments, the time that the deloyment started.

For completed deployments, the time that the deployment ended.

" + "Deployment$DeploymentTime": "

For in-progress deployments, the time that the deployment started.

For completed deployments, the time that the deployment ended.

" } }, "DescribeApplicationVersionsMessage": { @@ -699,6 +699,12 @@ "EnvironmentDescription$EndpointURL": "

For load-balanced, autoscaling environments, the URL to the LoadBalancer. For single-instance environments, the IP address of the instance.

" } }, + "EnvironmentArn": { + "base": null, + "refs": { + "EnvironmentDescription$EnvironmentArn": "

The environment's Amazon Resource Name (ARN), which can be used in other API reuqests that require an ARN.

" + } + }, "EnvironmentDescription": { "base": "

Describes the properties of an environment.

", "refs": { @@ -806,7 +812,7 @@ "refs": { "AbortEnvironmentUpdateMessage$EnvironmentName": "

This specifies the name of the environment with the in-progress update that you want to cancel.

", "ConfigurationSettingsDescription$EnvironmentName": "

If not null, the name of the environment for this configuration set.

", - "CreateEnvironmentMessage$EnvironmentName": "

A unique name for the deployment environment. Used in the application URL.

Constraint: Must be from 4 to 40 characters in length. The name can contain only letters, numbers, and hyphens. It cannot start or end with a hyphen. This name must be unique in your account. If the specified name already exists, AWS Elastic Beanstalk returns an InvalidParameterValue error.

Default: If the CNAME parameter is not specified, the environment name becomes part of the CNAME, and therefore part of the visible URL for your application.

", + "CreateEnvironmentMessage$EnvironmentName": "

A unique name for the deployment environment. Used in the application URL.

Constraint: Must be from 4 to 40 characters in length. The name can contain only letters, numbers, and hyphens. It cannot start or end with a hyphen. This name must be unique within a region in your account. If the specified name already exists in the region, AWS Elastic Beanstalk returns an InvalidParameterValue error.

Default: If the CNAME parameter is not specified, the environment name becomes part of the CNAME, and therefore part of the visible URL for your application.

", "CreatePlatformVersionRequest$EnvironmentName": "

The name of the builder environment.

", "DeleteEnvironmentConfigurationMessage$EnvironmentName": "

The name of the environment to delete the draft configuration from.

", "DescribeConfigurationOptionsMessage$EnvironmentName": "

The name of the environment whose configuration options you want to describe.

", @@ -1145,7 +1151,8 @@ "MaxRecords": { "base": null, "refs": { - "DescribeApplicationVersionsMessage$MaxRecords": "

Specify a maximum number of application versions to paginate in the request.

", + "DescribeApplicationVersionsMessage$MaxRecords": "

For a paginated request. Specify a maximum number of application versions to include in each response.

If no MaxRecords is specified, all available application versions are retrieved in a single response.

", + "DescribeEnvironmentsMessage$MaxRecords": "

For a paginated request. Specify a maximum number of environments to include in each response.

If no MaxRecords is specified, all available environments are retrieved in a single response.

", "DescribeEventsMessage$MaxRecords": "

Specifies the maximum number of events that can be returned, beginning with the most recent event.

" } }, @@ -1283,16 +1290,16 @@ "PlatformArn": { "base": null, "refs": { - "ConfigurationOptionsDescription$PlatformArn": "

The ARN of the custom platform.

", - "ConfigurationSettingsDescription$PlatformArn": "

The ARN of the custom platform.

", + "ConfigurationOptionsDescription$PlatformArn": "

The ARN of the platform.

", + "ConfigurationSettingsDescription$PlatformArn": "

The ARN of the platform.

", "CreateConfigurationTemplateMessage$PlatformArn": "

The ARN of the custome platform.

", - "CreateEnvironmentMessage$PlatformArn": "

The ARN of the custom platform.

", + "CreateEnvironmentMessage$PlatformArn": "

The ARN of the platform.

", "DeletePlatformVersionRequest$PlatformArn": "

The ARN of the version of the custom platform.

", "DescribeConfigurationOptionsMessage$PlatformArn": "

The ARN of the custom platform.

", "DescribeEventsMessage$PlatformArn": "

The ARN of the version of the custom platform.

", "DescribePlatformVersionRequest$PlatformArn": "

The ARN of the version of the platform.

", - "EnvironmentDescription$PlatformArn": "

The ARN of the custom platform.

", - "EventDescription$PlatformArn": "

The ARN of the custom platform.

", + "EnvironmentDescription$PlatformArn": "

The ARN of the platform.

", + "EventDescription$PlatformArn": "

The ARN of the platform.

", "PlatformDescription$PlatformArn": "

The ARN of the platform.

", "PlatformSummary$PlatformArn": "

The ARN of the platform.

", "UpdateEnvironmentMessage$PlatformArn": "

The ARN of the platform, if used.

" @@ -1768,9 +1775,11 @@ "Token": { "base": null, "refs": { - "ApplicationVersionDescriptionsMessage$NextToken": "

For a paginated request, the token that you can pass in a subsequent request to get the next page.

", - "DescribeApplicationVersionsMessage$NextToken": "

Specify a next token to retrieve the next page in a paginated request.

", + "ApplicationVersionDescriptionsMessage$NextToken": "

In a paginated request, the token that you can pass in a subsequent request to get the next response page.

", + "DescribeApplicationVersionsMessage$NextToken": "

For a paginated request. Specify a token from a previous response page to retrieve the next response page. All other parameter values must be identical to the ones specified in the initial request.

If no NextToken is specified, the first page is retrieved.

", + "DescribeEnvironmentsMessage$NextToken": "

For a paginated request. Specify a token from a previous response page to retrieve the next response page. All other parameter values must be identical to the ones specified in the initial request.

If no NextToken is specified, the first page is retrieved.

", "DescribeEventsMessage$NextToken": "

Pagination token. If specified, the events return the next batch of results.

", + "EnvironmentDescriptionsMessage$NextToken": "

In a paginated request, the token that you can pass in a subsequent request to get the next response page.

", "EventDescriptionsMessage$NextToken": "

If returned, this indicates that there are more results to obtain. Use this token in the next DescribeEvents call to get the next batch of events.

", "ListPlatformVersionsRequest$NextToken": "

The starting index into the remaining list of platforms. Use the NextToken value from a previous ListPlatformVersion call.

", "ListPlatformVersionsResult$NextToken": "

The starting index into the remaining list of platforms. if this value is not null, you can use it in a subsequent ListPlatformVersion call.

" diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/elasticfilesystem/2015-02-01/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/elasticfilesystem/2015-02-01/api-2.json index ee0a4d4f4..530c6b794 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/elasticfilesystem/2015-02-01/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/elasticfilesystem/2015-02-01/api-2.json @@ -205,7 +205,9 @@ "required":["CreationToken"], "members":{ "CreationToken":{"shape":"CreationToken"}, - "PerformanceMode":{"shape":"PerformanceMode"} + "PerformanceMode":{"shape":"PerformanceMode"}, + "Encrypted":{"shape":"Encrypted"}, + "KmsKeyId":{"shape":"KmsKeyId"} } }, "CreateMountTargetRequest":{ @@ -402,6 +404,7 @@ "NextMarker":{"shape":"Marker"} } }, + "Encrypted":{"type":"boolean"}, "ErrorCode":{ "type":"string", "min":1 @@ -442,7 +445,9 @@ "Name":{"shape":"TagValue"}, "NumberOfMountTargets":{"shape":"MountTargetCount"}, "SizeInBytes":{"shape":"FileSystemSize"}, - "PerformanceMode":{"shape":"PerformanceMode"} + "PerformanceMode":{"shape":"PerformanceMode"}, + "Encrypted":{"shape":"Encrypted"}, + "KmsKeyId":{"shape":"KmsKeyId"} } }, "FileSystemDescriptions":{ @@ -533,6 +538,11 @@ "error":{"httpStatusCode":409}, "exception":true }, + "KmsKeyId":{ + "type":"string", + "max":2048, + "min":1 + }, "LifeCycleState":{ "type":"string", "enum":[ diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/elasticfilesystem/2015-02-01/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/elasticfilesystem/2015-02-01/docs-2.json index a116bafc2..eea383838 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/elasticfilesystem/2015-02-01/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/elasticfilesystem/2015-02-01/docs-2.json @@ -110,6 +110,13 @@ "refs": { } }, + "Encrypted": { + "base": null, + "refs": { + "CreateFileSystemRequest$Encrypted": "

A boolean value that, if true, creates an encrypted file system. When creating an encrypted file system, you have the option of specifying a CreateFileSystemRequest$KmsKeyId for an existing AWS Key Management Service (AWS KMS) customer master key (CMK). If you don't specify a CMK, then the default CMK for Amazon EFS, /aws/elasticfilesystem, is used to protect the encrypted file system.

", + "FileSystemDescription$Encrypted": "

A boolean value that, if true, indicates that the file system is encrypted.

" + } + }, "ErrorCode": { "base": null, "refs": { @@ -242,6 +249,13 @@ "refs": { } }, + "KmsKeyId": { + "base": null, + "refs": { + "CreateFileSystemRequest$KmsKeyId": "

The id of the AWS KMS CMK that will be used to protect the encrypted file system. This parameter is only required if you want to use a non-default CMK. If this parameter is not specified, the default CMK for Amazon EFS is used. This id can be in one of the following formats:

  • Key ID - A unique identifier of the key. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

  • ARN - An Amazon Resource Name for the key. For example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias - A previously created display name for a key. For example, alias/projectKey1.

  • Key alias ARN - An Amazon Resource Name for a key alias. For example, arn:aws:kms:us-west-2:444455556666:alias/projectKey1.

Note that if the KmsKeyId is specified, the CreateFileSystemRequest$Encrypted parameter must be set to true.

", + "FileSystemDescription$KmsKeyId": "

The id of an AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the encrypted file system.

" + } + }, "LifeCycleState": { "base": null, "refs": { @@ -414,7 +428,7 @@ } }, "UnsupportedAvailabilityZone": { - "base": "

", + "base": "

", "refs": { } } diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/elasticfilesystem/2015-02-01/paginators-1.json b/vendor/github.com/aws/aws-sdk-go/models/apis/elasticfilesystem/2015-02-01/paginators-1.json new file mode 100644 index 000000000..5677bd8e4 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/elasticfilesystem/2015-02-01/paginators-1.json @@ -0,0 +1,4 @@ +{ + "pagination": { + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/elasticloadbalancingv2/2015-12-01/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/elasticloadbalancingv2/2015-12-01/api-2.json index 4d3ea63fe..607adb71b 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/elasticloadbalancingv2/2015-12-01/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/elasticloadbalancingv2/2015-12-01/api-2.json @@ -52,7 +52,8 @@ {"shape":"SSLPolicyNotFoundException"}, {"shape":"CertificateNotFoundException"}, {"shape":"UnsupportedProtocolException"}, - {"shape":"TooManyRegistrationsForTargetIdException"} + {"shape":"TooManyRegistrationsForTargetIdException"}, + {"shape":"TooManyTargetsException"} ] }, "CreateLoadBalancer":{ @@ -75,7 +76,10 @@ {"shape":"InvalidSecurityGroupException"}, {"shape":"InvalidSchemeException"}, {"shape":"TooManyTagsException"}, - {"shape":"DuplicateTagKeysException"} + {"shape":"DuplicateTagKeysException"}, + {"shape":"ResourceInUseException"}, + {"shape":"AllocationIdNotFoundException"}, + {"shape":"AvailabilityZoneNotSupportedException"} ] }, "CreateRule":{ @@ -94,10 +98,12 @@ {"shape":"TooManyTargetGroupsException"}, {"shape":"TooManyRulesException"}, {"shape":"TargetGroupAssociationLimitException"}, + {"shape":"IncompatibleProtocolsException"}, {"shape":"ListenerNotFoundException"}, {"shape":"TargetGroupNotFoundException"}, {"shape":"InvalidConfigurationRequestException"}, - {"shape":"TooManyRegistrationsForTargetIdException"} + {"shape":"TooManyRegistrationsForTargetIdException"}, + {"shape":"TooManyTargetsException"} ] }, "CreateTargetGroup":{ @@ -113,7 +119,8 @@ }, "errors":[ {"shape":"DuplicateTargetGroupNameException"}, - {"shape":"TooManyTargetGroupsException"} + {"shape":"TooManyTargetGroupsException"}, + {"shape":"InvalidConfigurationRequestException"} ] }, "DeleteListener":{ @@ -372,7 +379,8 @@ {"shape":"CertificateNotFoundException"}, {"shape":"InvalidConfigurationRequestException"}, {"shape":"UnsupportedProtocolException"}, - {"shape":"TooManyRegistrationsForTargetIdException"} + {"shape":"TooManyRegistrationsForTargetIdException"}, + {"shape":"TooManyTargetsException"} ] }, "ModifyLoadBalancerAttributes":{ @@ -404,6 +412,7 @@ }, "errors":[ {"shape":"TargetGroupAssociationLimitException"}, + {"shape":"IncompatibleProtocolsException"}, {"shape":"RuleNotFoundException"}, {"shape":"OperationNotPermittedException"}, {"shape":"TooManyRegistrationsForTargetIdException"}, @@ -423,7 +432,8 @@ "resultWrapper":"ModifyTargetGroupResult" }, "errors":[ - {"shape":"TargetGroupNotFoundException"} + {"shape":"TargetGroupNotFoundException"}, + {"shape":"InvalidConfigurationRequestException"} ] }, "ModifyTargetGroupAttributes":{ @@ -438,7 +448,8 @@ "resultWrapper":"ModifyTargetGroupAttributesResult" }, "errors":[ - {"shape":"TargetGroupNotFoundException"} + {"shape":"TargetGroupNotFoundException"}, + {"shape":"InvalidConfigurationRequestException"} ] }, "RegisterTargets":{ @@ -544,7 +555,9 @@ {"shape":"LoadBalancerNotFoundException"}, {"shape":"InvalidConfigurationRequestException"}, {"shape":"SubnetNotFoundException"}, - {"shape":"InvalidSubnetException"} + {"shape":"InvalidSubnetException"}, + {"shape":"AllocationIdNotFoundException"}, + {"shape":"AvailabilityZoneNotSupportedException"} ] } }, @@ -584,13 +597,37 @@ "members":{ } }, + "AllocationId":{"type":"string"}, + "AllocationIdNotFoundException":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"AllocationIdNotFound", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "AvailabilityZone":{ "type":"structure", "members":{ "ZoneName":{"shape":"ZoneName"}, - "SubnetId":{"shape":"SubnetId"} + "SubnetId":{"shape":"SubnetId"}, + "LoadBalancerAddresses":{"shape":"LoadBalancerAddresses"} } }, + "AvailabilityZoneNotSupportedException":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"AvailabilityZoneNotSupported", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "AvailabilityZones":{ "type":"list", "member":{"shape":"AvailabilityZone"} @@ -660,16 +697,15 @@ }, "CreateLoadBalancerInput":{ "type":"structure", - "required":[ - "Name", - "Subnets" - ], + "required":["Name"], "members":{ "Name":{"shape":"LoadBalancerName"}, "Subnets":{"shape":"Subnets"}, + "SubnetMappings":{"shape":"SubnetMappings"}, "SecurityGroups":{"shape":"SecurityGroups"}, "Scheme":{"shape":"LoadBalancerSchemeEnum"}, "Tags":{"shape":"TagList"}, + "Type":{"shape":"LoadBalancerTypeEnum"}, "IpAddressType":{"shape":"IpAddressType"} } }, @@ -720,7 +756,8 @@ "HealthCheckTimeoutSeconds":{"shape":"HealthCheckTimeoutSeconds"}, "HealthyThresholdCount":{"shape":"HealthCheckThresholdCount"}, "UnhealthyThresholdCount":{"shape":"HealthCheckThresholdCount"}, - "Matcher":{"shape":"Matcher"} + "Matcher":{"shape":"Matcher"}, + "TargetType":{"shape":"TargetTypeEnum"} } }, "CreateTargetGroupOutput":{ @@ -1080,6 +1117,7 @@ }, "exception":true }, + "IpAddress":{"type":"string"}, "IpAddressType":{ "type":"string", "enum":[ @@ -1152,6 +1190,17 @@ "IpAddressType":{"shape":"IpAddressType"} } }, + "LoadBalancerAddress":{ + "type":"structure", + "members":{ + "IpAddress":{"shape":"IpAddress"}, + "AllocationId":{"shape":"AllocationId"} + } + }, + "LoadBalancerAddresses":{ + "type":"list", + "member":{"shape":"LoadBalancerAddress"} + }, "LoadBalancerArn":{"type":"string"}, "LoadBalancerArns":{ "type":"list", @@ -1213,12 +1262,16 @@ "enum":[ "active", "provisioning", + "active_impaired", "failed" ] }, "LoadBalancerTypeEnum":{ "type":"string", - "enum":["application"] + "enum":[ + "application", + "network" + ] }, "LoadBalancers":{ "type":"list", @@ -1363,7 +1416,8 @@ "type":"string", "enum":[ "HTTP", - "HTTPS" + "HTTPS", + "TCP" ] }, "RegisterTargetsInput":{ @@ -1453,7 +1507,7 @@ }, "RulePriority":{ "type":"integer", - "max":99999, + "max":50000, "min":1 }, "RulePriorityList":{ @@ -1542,7 +1596,8 @@ ], "members":{ "LoadBalancerArn":{"shape":"LoadBalancerArn"}, - "Subnets":{"shape":"Subnets"} + "Subnets":{"shape":"Subnets"}, + "SubnetMappings":{"shape":"SubnetMappings"} } }, "SetSubnetsOutput":{ @@ -1577,6 +1632,17 @@ "String":{"type":"string"}, "StringValue":{"type":"string"}, "SubnetId":{"type":"string"}, + "SubnetMapping":{ + "type":"structure", + "members":{ + "SubnetId":{"shape":"SubnetId"}, + "AllocationId":{"shape":"AllocationId"} + } + }, + "SubnetMappings":{ + "type":"list", + "member":{"shape":"SubnetMapping"} + }, "SubnetNotFoundException":{ "type":"structure", "members":{ @@ -1637,7 +1703,8 @@ "required":["Id"], "members":{ "Id":{"shape":"TargetId"}, - "Port":{"shape":"Port"} + "Port":{"shape":"Port"}, + "AvailabilityZone":{"shape":"ZoneName"} } }, "TargetDescriptions":{ @@ -1660,7 +1727,8 @@ "UnhealthyThresholdCount":{"shape":"HealthCheckThresholdCount"}, "HealthCheckPath":{"shape":"Path"}, "Matcher":{"shape":"Matcher"}, - "LoadBalancerArns":{"shape":"LoadBalancerArns"} + "LoadBalancerArns":{"shape":"LoadBalancerArns"}, + "TargetType":{"shape":"TargetTypeEnum"} } }, "TargetGroupArn":{"type":"string"}, @@ -1748,6 +1816,7 @@ "Target.NotInUse", "Target.DeregistrationInProgress", "Target.InvalidState", + "Target.IpUnusable", "Elb.InternalError" ] }, @@ -1758,10 +1827,18 @@ "healthy", "unhealthy", "unused", - "draining" + "draining", + "unavailable" ] }, "TargetId":{"type":"string"}, + "TargetTypeEnum":{ + "type":"string", + "enum":[ + "instance", + "ip" + ] + }, "TooManyCertificatesException":{ "type":"structure", "members":{ diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/elasticloadbalancingv2/2015-12-01/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/elasticloadbalancingv2/2015-12-01/docs-2.json index 4c09965eb..d92d41b6f 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/elasticloadbalancingv2/2015-12-01/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/elasticloadbalancingv2/2015-12-01/docs-2.json @@ -1,38 +1,38 @@ { "version": "2.0", - "service": "Elastic Load Balancing

A load balancer distributes incoming traffic across targets, such as your EC2 instances. This enables you to increase the availability of your application. The load balancer also monitors the health of its registered targets and ensures that it routes traffic only to healthy targets. You configure your load balancer to accept incoming traffic by specifying one or more listeners, which are configured with a protocol and port number for connections from clients to the load balancer. You configure a target group with a protocol and port number for connections from the load balancer to the targets, and with health check settings to be used when checking the health status of the targets.

Elastic Load Balancing supports two types of load balancers: Classic Load Balancers and Application Load Balancers. A Classic Load Balancer makes routing and load balancing decisions either at the transport layer (TCP/SSL) or the application layer (HTTP/HTTPS), and supports either EC2-Classic or a VPC. An Application Load Balancer makes routing and load balancing decisions at the application layer (HTTP/HTTPS), supports path-based routing, and can route requests to one or more ports on each EC2 instance or container instance in your virtual private cloud (VPC). For more information, see the Elastic Load Balancing User Guide.

This reference covers the 2015-12-01 API, which supports Application Load Balancers. The 2012-06-01 API supports Classic Load Balancers.

To get started, complete the following tasks:

  1. Create an Application Load Balancer using CreateLoadBalancer.

  2. Create a target group using CreateTargetGroup.

  3. Register targets for the target group using RegisterTargets.

  4. Create one or more listeners for your load balancer using CreateListener.

  5. (Optional) Create one or more rules for content routing based on URL using CreateRule.

To delete an Application Load Balancer and its related resources, complete the following tasks:

  1. Delete the load balancer using DeleteLoadBalancer.

  2. Delete the target group using DeleteTargetGroup.

All Elastic Load Balancing operations are idempotent, which means that they complete at most one time. If you repeat an operation, it succeeds.

", + "service": "Elastic Load Balancing

A load balancer distributes incoming traffic across targets, such as your EC2 instances. This enables you to increase the availability of your application. The load balancer also monitors the health of its registered targets and ensures that it routes traffic only to healthy targets. You configure your load balancer to accept incoming traffic by specifying one or more listeners, which are configured with a protocol and port number for connections from clients to the load balancer. You configure a target group with a protocol and port number for connections from the load balancer to the targets, and with health check settings to be used when checking the health status of the targets.

Elastic Load Balancing supports the following types of load balancers: Application Load Balancers, Network Load Balancers, and Classic Load Balancers.

An Application Load Balancer makes routing and load balancing decisions at the application layer (HTTP/HTTPS). A Network Load Balancer makes routing and load balancing decisions at the transport layer (TCP). Both Application Load Balancers and Network Load Balancers can route requests to one or more ports on each EC2 instance or container instance in your virtual private cloud (VPC).

A Classic Load Balancer makes routing and load balancing decisions either at the transport layer (TCP/SSL) or the application layer (HTTP/HTTPS), and supports either EC2-Classic or a VPC. For more information, see the Elastic Load Balancing User Guide.

This reference covers the 2015-12-01 API, which supports Application Load Balancers and Network Load Balancers. The 2012-06-01 API supports Classic Load Balancers.

To get started, complete the following tasks:

  1. Create a load balancer using CreateLoadBalancer.

  2. Create a target group using CreateTargetGroup.

  3. Register targets for the target group using RegisterTargets.

  4. Create one or more listeners for your load balancer using CreateListener.

To delete a load balancer and its related resources, complete the following tasks:

  1. Delete the load balancer using DeleteLoadBalancer.

  2. Delete the target group using DeleteTargetGroup.

All Elastic Load Balancing operations are idempotent, which means that they complete at most one time. If you repeat an operation, it succeeds.

", "operations": { - "AddTags": "

Adds the specified tags to the specified resource. You can tag your Application Load Balancers and your target groups.

Each tag consists of a key and an optional value. If a resource already has a tag with the same key, AddTags updates its value.

To list the current tags for your resources, use DescribeTags. To remove tags from your resources, use RemoveTags.

", - "CreateListener": "

Creates a listener for the specified Application Load Balancer.

You can create up to 10 listeners per load balancer.

To update a listener, use ModifyListener. When you are finished with a listener, you can delete it using DeleteListener. If you are finished with both the listener and the load balancer, you can delete them both using DeleteLoadBalancer.

For more information, see Listeners for Your Application Load Balancers in the Application Load Balancers Guide.

", - "CreateLoadBalancer": "

Creates an Application Load Balancer.

When you create a load balancer, you can specify security groups, subnets, IP address type, and tags. Otherwise, you could do so later using SetSecurityGroups, SetSubnets, SetIpAddressType, and AddTags.

To create listeners for your load balancer, use CreateListener. To describe your current load balancers, see DescribeLoadBalancers. When you are finished with a load balancer, you can delete it using DeleteLoadBalancer.

You can create up to 20 load balancers per region per account. You can request an increase for the number of load balancers for your account. For more information, see Limits for Your Application Load Balancer in the Application Load Balancers Guide.

For more information, see Application Load Balancers in the Application Load Balancers Guide.

", - "CreateRule": "

Creates a rule for the specified listener.

Each rule can have one action and one condition. Rules are evaluated in priority order, from the lowest value to the highest value. When the condition for a rule is met, the specified action is taken. If no conditions are met, the default action for the default rule is taken. For more information, see Listener Rules in the Application Load Balancers Guide.

To view your current rules, use DescribeRules. To update a rule, use ModifyRule. To set the priorities of your rules, use SetRulePriorities. To delete a rule, use DeleteRule.

", - "CreateTargetGroup": "

Creates a target group.

To register targets with the target group, use RegisterTargets. To update the health check settings for the target group, use ModifyTargetGroup. To monitor the health of targets in the target group, use DescribeTargetHealth.

To route traffic to the targets in a target group, specify the target group in an action using CreateListener or CreateRule.

To delete a target group, use DeleteTargetGroup.

For more information, see Target Groups for Your Application Load Balancers in the Application Load Balancers Guide.

", + "AddTags": "

Adds the specified tags to the specified Elastic Load Balancing resource. You can tag your Application Load Balancers, Network Load Balancers, and your target groups.

Each tag consists of a key and an optional value. If a resource already has a tag with the same key, AddTags updates its value.

To list the current tags for your resources, use DescribeTags. To remove tags from your resources, use RemoveTags.

", + "CreateListener": "

Creates a listener for the specified Application Load Balancer or Network Load Balancer.

You can create up to 10 listeners per load balancer.

To update a listener, use ModifyListener. When you are finished with a listener, you can delete it using DeleteListener. If you are finished with both the listener and the load balancer, you can delete them both using DeleteLoadBalancer.

For more information, see Listeners for Your Application Load Balancers in the Application Load Balancers Guide and Listeners for Your Network Load Balancers in the Network Load Balancers Guide.

", + "CreateLoadBalancer": "

Creates an Application Load Balancer or a Network Load Balancer.

When you create a load balancer, you can specify security groups, subnets, IP address type, and tags. Otherwise, you could do so later using SetSecurityGroups, SetSubnets, SetIpAddressType, and AddTags.

To create listeners for your load balancer, use CreateListener. To describe your current load balancers, see DescribeLoadBalancers. When you are finished with a load balancer, you can delete it using DeleteLoadBalancer.

You can create up to 20 load balancers per region per account. You can request an increase for the number of load balancers for your account. For more information, see Limits for Your Application Load Balancer in the Application Load Balancers Guide and Limits for Your Network Load Balancer in the Network Load Balancers Guide.

For more information, see Application Load Balancers in the Application Load Balancers Guide and Network Load Balancers in the Network Load Balancers Guide.

", + "CreateRule": "

Creates a rule for the specified listener. The listener must be associated with an Application Load Balancer.

Rules are evaluated in priority order, from the lowest value to the highest value. When the condition for a rule is met, the specified action is taken. If no conditions are met, the action for the default rule is taken. For more information, see Listener Rules in the Application Load Balancers Guide.

To view your current rules, use DescribeRules. To update a rule, use ModifyRule. To set the priorities of your rules, use SetRulePriorities. To delete a rule, use DeleteRule.

", + "CreateTargetGroup": "

Creates a target group.

To register targets with the target group, use RegisterTargets. To update the health check settings for the target group, use ModifyTargetGroup. To monitor the health of targets in the target group, use DescribeTargetHealth.

To route traffic to the targets in a target group, specify the target group in an action using CreateListener or CreateRule.

To delete a target group, use DeleteTargetGroup.

For more information, see Target Groups for Your Application Load Balancers in the Application Load Balancers Guide or Target Groups for Your Network Load Balancers in the Network Load Balancers Guide.

", "DeleteListener": "

Deletes the specified listener.

Alternatively, your listener is deleted when you delete the load balancer it is attached to using DeleteLoadBalancer.

", - "DeleteLoadBalancer": "

Deletes the specified Application Load Balancer and its attached listeners.

You can't delete a load balancer if deletion protection is enabled. If the load balancer does not exist or has already been deleted, the call succeeds.

Deleting a load balancer does not affect its registered targets. For example, your EC2 instances continue to run and are still registered to their target groups. If you no longer need these EC2 instances, you can stop or terminate them.

", + "DeleteLoadBalancer": "

Deletes the specified Application Load Balancer or Network Load Balancer and its attached listeners.

You can't delete a load balancer if deletion protection is enabled. If the load balancer does not exist or has already been deleted, the call succeeds.

Deleting a load balancer does not affect its registered targets. For example, your EC2 instances continue to run and are still registered to their target groups. If you no longer need these EC2 instances, you can stop or terminate them.

", "DeleteRule": "

Deletes the specified rule.

", "DeleteTargetGroup": "

Deletes the specified target group.

You can delete a target group if it is not referenced by any actions. Deleting a target group also deletes any associated health checks.

", "DeregisterTargets": "

Deregisters the specified targets from the specified target group. After the targets are deregistered, they no longer receive traffic from the load balancer.

", - "DescribeAccountLimits": "

Describes the current Elastic Load Balancing resource limits for your AWS account.

For more information, see Limits for Your Application Load Balancer in the Application Load Balancer Guide.

", - "DescribeListeners": "

Describes the specified listeners or the listeners for the specified Application Load Balancer. You must specify either a load balancer or one or more listeners.

", - "DescribeLoadBalancerAttributes": "

Describes the attributes for the specified Application Load Balancer.

", - "DescribeLoadBalancers": "

Describes the specified Application Load Balancers or all of your Application Load Balancers.

To describe the listeners for a load balancer, use DescribeListeners. To describe the attributes for a load balancer, use DescribeLoadBalancerAttributes.

", + "DescribeAccountLimits": "

Describes the current Elastic Load Balancing resource limits for your AWS account.

For more information, see Limits for Your Application Load Balancers in the Application Load Balancer Guide or Limits for Your Network Load Balancers in the Network Load Balancers Guide.

", + "DescribeListeners": "

Describes the specified listeners or the listeners for the specified Application Load Balancer or Network Load Balancer. You must specify either a load balancer or one or more listeners.

", + "DescribeLoadBalancerAttributes": "

Describes the attributes for the specified Application Load Balancer or Network Load Balancer.

", + "DescribeLoadBalancers": "

Describes the specified load balancers or all of your load balancers.

To describe the listeners for a load balancer, use DescribeListeners. To describe the attributes for a load balancer, use DescribeLoadBalancerAttributes.

", "DescribeRules": "

Describes the specified rules or the rules for the specified listener. You must specify either a listener or one or more rules.

", "DescribeSSLPolicies": "

Describes the specified policies or all policies used for SSL negotiation.

For more information, see Security Policies in the Application Load Balancers Guide.

", - "DescribeTags": "

Describes the tags for the specified resources. You can describe the tags for one or more Application Load Balancers and target groups.

", + "DescribeTags": "

Describes the tags for the specified resources. You can describe the tags for one or more Application Load Balancers, Network Load Balancers, and target groups.

", "DescribeTargetGroupAttributes": "

Describes the attributes for the specified target group.

", "DescribeTargetGroups": "

Describes the specified target groups or all of your target groups. By default, all target groups are described. Alternatively, you can specify one of the following to filter the results: the ARN of the load balancer, the names of one or more target groups, or the ARNs of one or more target groups.

To describe the targets for a target group, use DescribeTargetHealth. To describe the attributes of a target group, use DescribeTargetGroupAttributes.

", "DescribeTargetHealth": "

Describes the health of the specified targets or all of your targets.

", "ModifyListener": "

Modifies the specified properties of the specified listener.

Any properties that you do not specify retain their current values. However, changing the protocol from HTTPS to HTTP removes the security policy and SSL certificate properties. If you change the protocol from HTTP to HTTPS, you must add the security policy and server certificate.

", - "ModifyLoadBalancerAttributes": "

Modifies the specified attributes of the specified Application Load Balancer.

If any of the specified attributes can't be modified as requested, the call fails. Any existing attributes that you do not modify retain their current values.

", + "ModifyLoadBalancerAttributes": "

Modifies the specified attributes of the specified Application Load Balancer or Network Load Balancer.

If any of the specified attributes can't be modified as requested, the call fails. Any existing attributes that you do not modify retain their current values.

", "ModifyRule": "

Modifies the specified rule.

Any existing properties that you do not modify retain their current values.

To modify the default action, use ModifyListener.

", "ModifyTargetGroup": "

Modifies the health checks used when evaluating the health state of the targets in the specified target group.

To monitor the health of the targets, use DescribeTargetHealth.

", "ModifyTargetGroupAttributes": "

Modifies the specified attributes of the specified target group.

", - "RegisterTargets": "

Registers the specified targets with the specified target group.

By default, the load balancer routes requests to registered targets using the protocol and port number for the target group. Alternatively, you can override the port for a target when you register it.

The target must be in the virtual private cloud (VPC) that you specified for the target group. If the target is an EC2 instance, it must be in the running state when you register it.

To remove a target from a target group, use DeregisterTargets.

", - "RemoveTags": "

Removes the specified tags from the specified resource.

To list the current tags for your resources, use DescribeTags.

", - "SetIpAddressType": "

Sets the type of IP addresses used by the subnets of the specified Application Load Balancer.

", + "RegisterTargets": "

Registers the specified targets with the specified target group.

By default, the load balancer routes requests to registered targets using the protocol and port number for the target group. Alternatively, you can override the port for a target when you register it.

The target must be in the virtual private cloud (VPC) that you specified for the target group. If the target is an EC2 instance, it must be in the running state when you register it.

Network Load Balancers do not support the following instance types as targets: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, M3, and T1.

To remove a target from a target group, use DeregisterTargets.

", + "RemoveTags": "

Removes the specified tags from the specified Elastic Load Balancing resource.

To list the current tags for your resources, use DescribeTags.

", + "SetIpAddressType": "

Sets the type of IP addresses used by the subnets of the specified Application Load Balancer or Network Load Balancer.

Note that Network Load Balancers must use ipv4.

", "SetRulePriorities": "

Sets the priorities of the specified rules.

You can reorder the rules as long as there are no priority conflicts in the new order. Any existing rules that you do not specify retain their current priority.

", - "SetSecurityGroups": "

Associates the specified security groups with the specified load balancer. The specified security groups override the previously associated security groups.

", - "SetSubnets": "

Enables the Availability Zone for the specified subnets for the specified load balancer. The specified subnets replace the previously enabled subnets.

" + "SetSecurityGroups": "

Associates the specified security groups with the specified Application Load Balancer. The specified security groups override the previously associated security groups.

Note that you can't specify a security group for a Network Load Balancer.

", + "SetSubnets": "

Enables the Availability Zone for the specified subnets for the specified Application Load Balancer. The specified subnets replace the previously enabled subnets.

Note that you can't change the subnets for a Network Load Balancer.

" }, "shapes": { "Action": { @@ -50,11 +50,11 @@ "Actions": { "base": null, "refs": { - "CreateListenerInput$DefaultActions": "

The default action for the listener.

", + "CreateListenerInput$DefaultActions": "

The default action for the listener. For Application Load Balancers, the protocol of the specified target group must be HTTP or HTTPS. For Network Load Balancers, the protocol of the specified target group must be TCP.

", "CreateRuleInput$Actions": "

An action. Each action has the type forward and specifies a target group.

", "Listener$DefaultActions": "

The default actions for the listener.

", - "ModifyListenerInput$DefaultActions": "

The default actions.

", - "ModifyRuleInput$Actions": "

The actions.

", + "ModifyListenerInput$DefaultActions": "

The default action. For Application Load Balancers, the protocol of the specified target group must be HTTP or HTTPS. For Network Load Balancers, the protocol of the specified target group must be TCP.

", + "ModifyRuleInput$Actions": "

The actions. The target group must use the HTTP or HTTPS protocol.

", "Rule$Actions": "

The actions.

" } }, @@ -68,12 +68,29 @@ "refs": { } }, + "AllocationId": { + "base": null, + "refs": { + "LoadBalancerAddress$AllocationId": "

[Network Load Balancers] The allocation ID of the Elastic IP address.

", + "SubnetMapping$AllocationId": "

[Network Load Balancers] The allocation ID of the Elastic IP address.

" + } + }, + "AllocationIdNotFoundException": { + "base": "

The specified allocation ID does not exist.

", + "refs": { + } + }, "AvailabilityZone": { "base": "

Information about an Availability Zone.

", "refs": { "AvailabilityZones$member": null } }, + "AvailabilityZoneNotSupportedException": { + "base": "

The specified Availability Zone is not supported.

", + "refs": { + } + }, "AvailabilityZones": { "base": null, "refs": { @@ -102,7 +119,7 @@ "CertificateList": { "base": null, "refs": { - "CreateListenerInput$Certificates": "

The SSL server certificate. You must provide exactly one certificate if the protocol is HTTPS.

", + "CreateListenerInput$Certificates": "

[HTTPS listeners] The SSL server certificate. You must provide exactly one certificate.

", "Listener$Certificates": "

The SSL server certificate. You must provide a certificate if the protocol is HTTPS.

", "ModifyListenerInput$Certificates": "

The SSL server certificate.

" } @@ -373,16 +390,16 @@ "HealthCheckIntervalSeconds": { "base": null, "refs": { - "CreateTargetGroupInput$HealthCheckIntervalSeconds": "

The approximate amount of time, in seconds, between health checks of an individual target. The default is 30 seconds.

", - "ModifyTargetGroupInput$HealthCheckIntervalSeconds": "

The approximate amount of time, in seconds, between health checks of an individual target.

", + "CreateTargetGroupInput$HealthCheckIntervalSeconds": "

The approximate amount of time, in seconds, between health checks of an individual target. For Application Load Balancers, the range is 5 to 300 seconds. For Network Load Balancers, the supported values are 10 or 30 seconds. The default is 30 seconds.

", + "ModifyTargetGroupInput$HealthCheckIntervalSeconds": "

The approximate amount of time, in seconds, between health checks of an individual target. For Application Load Balancers, the range is 5 to 300 seconds. For Network Load Balancers, the supported values are 10 or 30 seconds.

", "TargetGroup$HealthCheckIntervalSeconds": "

The approximate amount of time, in seconds, between health checks of an individual target.

" } }, "HealthCheckPort": { "base": null, "refs": { - "CreateTargetGroupInput$HealthCheckPort": "

The port the load balancer uses when performing health checks on targets. The default is traffic-port, which indicates the port on which each target receives traffic from the load balancer.

", - "ModifyTargetGroupInput$HealthCheckPort": "

The port to use to connect with the target.

", + "CreateTargetGroupInput$HealthCheckPort": "

The port the load balancer uses when performing health checks on targets. The default is traffic-port, which is the port on which each target receives traffic from the load balancer.

", + "ModifyTargetGroupInput$HealthCheckPort": "

The port the load balancer uses when performing health checks on targets.

", "TargetGroup$HealthCheckPort": "

The port to use to connect with the target.

", "TargetHealthDescription$HealthCheckPort": "

The port to use to connect with the target.

" } @@ -390,10 +407,10 @@ "HealthCheckThresholdCount": { "base": null, "refs": { - "CreateTargetGroupInput$HealthyThresholdCount": "

The number of consecutive health checks successes required before considering an unhealthy target healthy. The default is 5.

", - "CreateTargetGroupInput$UnhealthyThresholdCount": "

The number of consecutive health check failures required before considering a target unhealthy. The default is 2.

", + "CreateTargetGroupInput$HealthyThresholdCount": "

The number of consecutive health checks successes required before considering an unhealthy target healthy. For Application Load Balancers, the default is 5. For Network Load Balancers, the default is 3.

", + "CreateTargetGroupInput$UnhealthyThresholdCount": "

The number of consecutive health check failures required before considering a target unhealthy. For Application Load Balancers, the default is 2. For Network Load Balancers, this value must be the same as the healthy threshold count.

", "ModifyTargetGroupInput$HealthyThresholdCount": "

The number of consecutive health checks successes required before considering an unhealthy target healthy.

", - "ModifyTargetGroupInput$UnhealthyThresholdCount": "

The number of consecutive health check failures required before considering the target unhealthy.

", + "ModifyTargetGroupInput$UnhealthyThresholdCount": "

The number of consecutive health check failures required before considering the target unhealthy. For Network Load Balancers, this value must be the same as the healthy threshold count.

", "TargetGroup$HealthyThresholdCount": "

The number of consecutive health checks successes required before considering an unhealthy target healthy.

", "TargetGroup$UnhealthyThresholdCount": "

The number of consecutive health check failures required before considering the target unhealthy.

" } @@ -401,8 +418,8 @@ "HealthCheckTimeoutSeconds": { "base": null, "refs": { - "CreateTargetGroupInput$HealthCheckTimeoutSeconds": "

The amount of time, in seconds, during which no response from a target means a failed health check. The default is 5 seconds.

", - "ModifyTargetGroupInput$HealthCheckTimeoutSeconds": "

The amount of time, in seconds, during which no response means a failed health check.

", + "CreateTargetGroupInput$HealthCheckTimeoutSeconds": "

The amount of time, in seconds, during which no response from a target means a failed health check. For Application Load Balancers, the range is 2 to 60 seconds and the default is 5 seconds. For Network Load Balancers, this is 10 seconds for TCP and HTTPS health checks and 6 seconds for HTTP health checks.

", + "ModifyTargetGroupInput$HealthCheckTimeoutSeconds": "

[HTTP/HTTPS health checks] The amount of time, in seconds, during which no response means a failed health check.

", "TargetGroup$HealthCheckTimeoutSeconds": "

The amount of time, in seconds, during which no response means a failed health check.

" } }, @@ -414,7 +431,7 @@ "HttpCode": { "base": null, "refs": { - "Matcher$HttpCode": "

The HTTP codes. You can specify values between 200 and 499. The default value is 200. You can specify multiple values (for example, \"200,202\") or a range of values (for example, \"200-299\").

" + "Matcher$HttpCode": "

The HTTP codes.

For Application Load Balancers, you can specify values between 200 and 499, and the default value is 200. You can specify multiple values (for example, \"200,202\") or a range of values (for example, \"200-299\").

For Network Load Balancers, this is 200 to 399.

" } }, "IncompatibleProtocolsException": { @@ -447,10 +464,16 @@ "refs": { } }, + "IpAddress": { + "base": null, + "refs": { + "LoadBalancerAddress$IpAddress": "

The static IP address.

" + } + }, "IpAddressType": { "base": null, "refs": { - "CreateLoadBalancerInput$IpAddressType": "

The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses). Internal load balancers must use ipv4.

", + "CreateLoadBalancerInput$IpAddressType": "

[Application Load Balancers] The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses). Internal load balancers must use ipv4.

", "LoadBalancer$IpAddressType": "

The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses).

", "SetIpAddressTypeInput$IpAddressType": "

The IP address type. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses). Internal load balancers must use ipv4.

", "SetIpAddressTypeOutput$IpAddressType": "

The IP address type.

" @@ -522,6 +545,18 @@ "LoadBalancers$member": null } }, + "LoadBalancerAddress": { + "base": "

Information about a static IP address for a load balancer.

", + "refs": { + "LoadBalancerAddresses$member": null + } + }, + "LoadBalancerAddresses": { + "base": null, + "refs": { + "AvailabilityZone$LoadBalancerAddresses": "

[Network Load Balancers] The static IP address.

" + } + }, "LoadBalancerArn": { "base": null, "refs": { @@ -555,7 +590,7 @@ "LoadBalancerAttributeKey": { "base": null, "refs": { - "LoadBalancerAttribute$Key": "

The name of the attribute.

  • access_logs.s3.enabled - Indicates whether access logs stored in Amazon S3 are enabled. The value is true or false.

  • access_logs.s3.bucket - The name of the S3 bucket for the access logs. This attribute is required if access logs in Amazon S3 are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permission to write to the bucket.

  • access_logs.s3.prefix - The prefix for the location in the S3 bucket. If you don't specify a prefix, the access logs are stored in the root of the bucket.

  • deletion_protection.enabled - Indicates whether deletion protection is enabled. The value is true or false.

  • idle_timeout.timeout_seconds - The idle timeout value, in seconds. The valid range is 1-3600. The default is 60 seconds.

" + "LoadBalancerAttribute$Key": "

The name of the attribute.

  • access_logs.s3.enabled - [Application Load Balancers] Indicates whether access logs stored in Amazon S3 are enabled. The value is true or false.

  • access_logs.s3.bucket - [Application Load Balancers] The name of the S3 bucket for the access logs. This attribute is required if access logs in Amazon S3 are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permission to write to the bucket.

  • access_logs.s3.prefix - [Application Load Balancers] The prefix for the location in the S3 bucket. If you don't specify a prefix, the access logs are stored in the root of the bucket.

  • deletion_protection.enabled - Indicates whether deletion protection is enabled. The value is true or false.

  • idle_timeout.timeout_seconds - [Application Load Balancers] The idle timeout value, in seconds. The valid range is 1-4000. The default is 60 seconds.

" } }, "LoadBalancerAttributeValue": { @@ -613,6 +648,7 @@ "LoadBalancerTypeEnum": { "base": null, "refs": { + "CreateLoadBalancerInput$Type": "

The type of load balancer to create. The default is application.

", "LoadBalancer$Type": "

The type of load balancer.

" } }, @@ -643,8 +679,8 @@ "Matcher": { "base": "

Information to use when checking for a successful response from a target.

", "refs": { - "CreateTargetGroupInput$Matcher": "

The HTTP codes to use when checking for a successful response from a target. The default is 200.

", - "ModifyTargetGroupInput$Matcher": "

The HTTP codes to use when checking for a successful response from a target.

", + "CreateTargetGroupInput$Matcher": "

[HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful response from a target.

", + "ModifyTargetGroupInput$Matcher": "

[HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful response from a target.

", "TargetGroup$Matcher": "

The HTTP codes to use when checking for a successful response from a target.

" } }, @@ -707,7 +743,7 @@ "Name": { "base": null, "refs": { - "Limit$Name": "

The name of the limit. The possible values are:

  • application-load-balancers

  • listeners-per-application-load-balancer

  • rules-per-application-load-balancer

  • target-groups

  • targets-per-application-load-balancer

" + "Limit$Name": "

The name of the limit. The possible values are:

  • application-load-balancers

  • listeners-per-application-load-balancer

  • listeners-per-network-load-balancer

  • network-load-balancers

  • rules-per-application-load-balancer

  • target-groups

  • targets-per-application-load-balancer

" } }, "OperationNotPermittedException": { @@ -729,8 +765,8 @@ "Path": { "base": null, "refs": { - "CreateTargetGroupInput$HealthCheckPath": "

The ping path that is the destination on the targets for health checks. The default is /.

", - "ModifyTargetGroupInput$HealthCheckPath": "

The ping path that is the destination for the health check request.

", + "CreateTargetGroupInput$HealthCheckPath": "

[HTTP/HTTPS health checks] The ping path that is the destination on the targets for health checks. The default is /.

", + "ModifyTargetGroupInput$HealthCheckPath": "

[HTTP/HTTPS health checks] The ping path that is the destination for the health check request.

", "TargetGroup$HealthCheckPath": "

The destination for the health check request.

" } }, @@ -753,12 +789,12 @@ "ProtocolEnum": { "base": null, "refs": { - "CreateListenerInput$Protocol": "

The protocol for connections from clients to the load balancer.

", - "CreateTargetGroupInput$Protocol": "

The protocol to use for routing traffic to the targets.

", - "CreateTargetGroupInput$HealthCheckProtocol": "

The protocol the load balancer uses when performing health checks on targets. The default is the HTTP protocol.

", + "CreateListenerInput$Protocol": "

The protocol for connections from clients to the load balancer. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocol is TCP.

", + "CreateTargetGroupInput$Protocol": "

The protocol to use for routing traffic to the targets. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocol is TCP.

", + "CreateTargetGroupInput$HealthCheckProtocol": "

The protocol the load balancer uses when performing health checks on targets. The TCP protocol is supported only if the protocol of the target group is TCP. For Application Load Balancers, the default is HTTP. For Network Load Balancers, the default is TCP.

", "Listener$Protocol": "

The protocol for connections from clients to the load balancer.

", - "ModifyListenerInput$Protocol": "

The protocol for connections from clients to the load balancer.

", - "ModifyTargetGroupInput$HealthCheckProtocol": "

The protocol to use to connect with the target.

", + "ModifyListenerInput$Protocol": "

The protocol for connections from clients to the load balancer. Application Load Balancers support HTTP and HTTPS and Network Load Balancers support TCP.

", + "ModifyTargetGroupInput$HealthCheckProtocol": "

The protocol the load balancer uses when performing health checks on targets. The TCP protocol is supported only if the protocol of the target group is TCP.

", "TargetGroup$Protocol": "

The protocol to use for routing traffic to the targets.

", "TargetGroup$HealthCheckProtocol": "

The protocol to use to connect with the target.

" } @@ -834,7 +870,7 @@ "RuleConditionList": { "base": null, "refs": { - "CreateRuleInput$Conditions": "

A condition. Each condition specifies a field name and a single value.

If the field name is host-header, you can specify a single host name (for example, my.example.com). A host name is case insensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters.

  • A-Z, a-z, 0-9

  • - .

  • * (matches 0 or more characters)

  • ? (matches exactly 1 character)

If the field name is path-pattern, you can specify a single path pattern. A path pattern is case sensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters.

  • A-Z, a-z, 0-9

  • _ - . $ / ~ \" ' @ : +

  • & (using &amp;)

  • * (matches 0 or more characters)

  • ? (matches exactly 1 character)

", + "CreateRuleInput$Conditions": "

The conditions. Each condition specifies a field name and a single value.

If the field name is host-header, you can specify a single host name (for example, my.example.com). A host name is case insensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters.

  • A-Z, a-z, 0-9

  • - .

  • * (matches 0 or more characters)

  • ? (matches exactly 1 character)

If the field name is path-pattern, you can specify a single path pattern. A path pattern is case sensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters.

  • A-Z, a-z, 0-9

  • _ - . $ / ~ \" ' @ : +

  • & (using &amp;)

  • * (matches 0 or more characters)

  • ? (matches exactly 1 character)

", "ModifyRuleInput$Conditions": "

The conditions.

", "Rule$Conditions": "

The conditions.

" } @@ -886,7 +922,7 @@ "SecurityGroups": { "base": null, "refs": { - "CreateLoadBalancerInput$SecurityGroups": "

The IDs of the security groups to assign to the load balancer.

", + "CreateLoadBalancerInput$SecurityGroups": "

[Application Load Balancers] The IDs of the security groups to assign to the load balancer.

", "LoadBalancer$SecurityGroups": "

The IDs of the security groups for the load balancer.

", "SetSecurityGroupsInput$SecurityGroups": "

The IDs of the security groups.

", "SetSecurityGroupsOutput$SecurityGroupIds": "

The IDs of the security groups associated with the load balancer.

" @@ -947,7 +983,7 @@ "SslPolicyName": { "base": null, "refs": { - "CreateListenerInput$SslPolicy": "

The security policy that defines which ciphers and protocols are supported. The default is the current predefined security policy.

", + "CreateListenerInput$SslPolicy": "

[HTTPS listeners] The security policy that defines which ciphers and protocols are supported. The default is the current predefined security policy.

", "Listener$SslPolicy": "

The security policy that defines which ciphers and protocols are supported. The default is the current predefined security policy.

", "ModifyListenerInput$SslPolicy": "

The security policy that defines which protocols and ciphers are supported. For more information, see Security Policies in the Application Load Balancers Guide.

", "SslPolicy$Name": "

The name of the policy.

", @@ -994,9 +1030,23 @@ "base": null, "refs": { "AvailabilityZone$SubnetId": "

The ID of the subnet.

", + "SubnetMapping$SubnetId": "

The ID of the subnet.

", "Subnets$member": null } }, + "SubnetMapping": { + "base": "

Information about a subnet mapping.

", + "refs": { + "SubnetMappings$member": null + } + }, + "SubnetMappings": { + "base": null, + "refs": { + "CreateLoadBalancerInput$SubnetMappings": "

The IDs of the subnets to attach to the load balancer. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.

[Network Load Balancers] You can specify one Elastic IP address per subnet.

[Application Load Balancers] You cannot specify Elastic IP addresses for your subnets.

", + "SetSubnetsInput$SubnetMappings": "

The IDs of the subnets. You must specify subnets from at least two Availability Zones. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.

The load balancer is allocated one static IP address per subnet. You cannot specify your own Elastic IP addresses.

" + } + }, "SubnetNotFoundException": { "base": "

The specified subnet does not exist.

", "refs": { @@ -1005,8 +1055,8 @@ "Subnets": { "base": null, "refs": { - "CreateLoadBalancerInput$Subnets": "

The IDs of the subnets to attach to the load balancer. You can specify only one subnet per Availability Zone. You must specify subnets from at least two Availability Zones.

", - "SetSubnetsInput$Subnets": "

The IDs of the subnets. You must specify at least two subnets. You can add only one subnet per Availability Zone.

" + "CreateLoadBalancerInput$Subnets": "

The IDs of the subnets to attach to the load balancer. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.

[Application Load Balancers] You must specify subnets from at least two Availability Zones.

", + "SetSubnetsInput$Subnets": "

The IDs of the subnets. You must specify subnets from at least two Availability Zones. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.

" } }, "Tag": { @@ -1110,7 +1160,7 @@ "TargetGroupAttributeKey": { "base": null, "refs": { - "TargetGroupAttribute$Key": "

The name of the attribute.

  • deregistration_delay.timeout_seconds - The amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds.

  • stickiness.enabled - Indicates whether sticky sessions are enabled. The value is true or false.

  • stickiness.type - The type of sticky sessions. The possible value is lb_cookie.

  • stickiness.lb_cookie.duration_seconds - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).

" + "TargetGroupAttribute$Key": "

The name of the attribute.

  • deregistration_delay.timeout_seconds - The amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds.

  • stickiness.enabled - [Application Load Balancers] Indicates whether sticky sessions are enabled. The value is true or false.

  • stickiness.type - [Application Load Balancers] The type of sticky sessions. The possible value is lb_cookie.

  • stickiness.lb_cookie.duration_seconds - [Application Load Balancers] The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).

" } }, "TargetGroupAttributeValue": { @@ -1175,7 +1225,7 @@ "TargetHealthReasonEnum": { "base": null, "refs": { - "TargetHealth$Reason": "

The reason code. If the target state is healthy, a reason code is not provided.

If the target state is initial, the reason code can be one of the following values:

  • Elb.RegistrationInProgress - The target is in the process of being registered with the load balancer.

  • Elb.InitialHealthChecking - The load balancer is still sending the target the minimum number of health checks required to determine its health status.

If the target state is unhealthy, the reason code can be one of the following values:

  • Target.ResponseCodeMismatch - The health checks did not return an expected HTTP code.

  • Target.Timeout - The health check requests timed out.

  • Target.FailedHealthChecks - The health checks failed because the connection to the target timed out, the target response was malformed, or the target failed the health check for an unknown reason.

  • Elb.InternalError - The health checks failed due to an internal error.

If the target state is unused, the reason code can be one of the following values:

  • Target.NotRegistered - The target is not registered with the target group.

  • Target.NotInUse - The target group is not used by any load balancer or the target is in an Availability Zone that is not enabled for its load balancer.

  • Target.InvalidState - The target is in the stopped or terminated state.

If the target state is draining, the reason code can be the following value:

  • Target.DeregistrationInProgress - The target is in the process of being deregistered and the deregistration delay period has not expired.

" + "TargetHealth$Reason": "

The reason code. If the target state is healthy, a reason code is not provided.

If the target state is initial, the reason code can be one of the following values:

  • Elb.RegistrationInProgress - The target is in the process of being registered with the load balancer.

  • Elb.InitialHealthChecking - The load balancer is still sending the target the minimum number of health checks required to determine its health status.

If the target state is unhealthy, the reason code can be one of the following values:

  • Target.ResponseCodeMismatch - The health checks did not return an expected HTTP code.

  • Target.Timeout - The health check requests timed out.

  • Target.FailedHealthChecks - The health checks failed because the connection to the target timed out, the target response was malformed, or the target failed the health check for an unknown reason.

  • Elb.InternalError - The health checks failed due to an internal error.

If the target state is unused, the reason code can be one of the following values:

  • Target.NotRegistered - The target is not registered with the target group.

  • Target.NotInUse - The target group is not used by any load balancer or the target is in an Availability Zone that is not enabled for its load balancer.

  • Target.IpUnusable - The target IP address is reserved for use by a load balancer.

  • Target.InvalidState - The target is in the stopped or terminated state.

If the target state is draining, the reason code can be the following value:

  • Target.DeregistrationInProgress - The target is in the process of being deregistered and the deregistration delay period has not expired.

" } }, "TargetHealthStateEnum": { @@ -1187,7 +1237,14 @@ "TargetId": { "base": null, "refs": { - "TargetDescription$Id": "

The ID of the target.

" + "TargetDescription$Id": "

The ID of the target. If the target type of the target group is instance, specify an instance ID. If the target type is ip, specify an IP address.

" + } + }, + "TargetTypeEnum": { + "base": null, + "refs": { + "CreateTargetGroupInput$TargetType": "

The type of target that you must specify when registering targets with this target group. The possible values are instance (targets are specified by instance ID) or ip (targets are specified by IP address). The default is instance. Note that you can't specify targets for a target group using both instance IDs and IP addresses.

If the target type is ip, specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.

", + "TargetGroup$TargetType": "

The type of target that you must specify when registering targets with this target group. The possible values are instance (targets are specified by instance ID) or ip (targets are specified by IP address).

" } }, "TooManyCertificatesException": { @@ -1246,7 +1303,8 @@ "ZoneName": { "base": null, "refs": { - "AvailabilityZone$ZoneName": "

The name of the Availability Zone.

" + "AvailabilityZone$ZoneName": "

The name of the Availability Zone.

", + "TargetDescription$AvailabilityZone": "

The Availability Zone where the IP address is to be registered. Specify all to register an IP address outside the target group VPC with all Availability Zones that are enabled for the load balancer.

If the IP address is in a subnet of the VPC for the target group, the Availability Zone is automatically detected and this parameter is optional.

This parameter is not supported if the target type of the target group is instance.

" } } } diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/elasticloadbalancingv2/2015-12-01/waiters-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/elasticloadbalancingv2/2015-12-01/waiters-2.json index b4e85719c..9f3d77d82 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/elasticloadbalancingv2/2015-12-01/waiters-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/elasticloadbalancingv2/2015-12-01/waiters-2.json @@ -59,6 +59,42 @@ "state": "success" } ] + }, + "TargetInService":{ + "delay":15, + "maxAttempts":40, + "operation":"DescribeTargetHealth", + "acceptors":[ + { + "argument":"TargetHealthDescriptions[].TargetHealth.State", + "expected":"healthy", + "matcher":"pathAll", + "state":"success" + }, + { + "matcher": "error", + "expected": "InvalidInstance", + "state": "retry" + } + ] + }, + "TargetDeregistered": { + "delay": 15, + "maxAttempts": 40, + "operation": "DescribeTargetHealth", + "acceptors": [ + { + "matcher": "error", + "expected": "InvalidTarget", + "state": "success" + }, + { + "argument":"TargetHealthDescriptions[].TargetHealth.State", + "expected":"unused", + "matcher":"pathAll", + "state":"success" + } + ] } } } diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/email/2010-12-01/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/email/2010-12-01/api-2.json index 1a70d5450..9c3287ccf 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/email/2010-12-01/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/email/2010-12-01/api-2.json @@ -1,7 +1,6 @@ { "version":"2.0", "metadata":{ - "uid":"email-2010-12-01", "apiVersion":"2010-12-01", "endpointPrefix":"email", "protocol":"query", @@ -9,6 +8,7 @@ "serviceFullName":"Amazon Simple Email Service", "signatureVersion":"v4", "signingName":"ses", + "uid":"email-2010-12-01", "xmlNamespace":"http://ses.amazonaws.com/doc/2010-12-01/" }, "operations":{ @@ -62,9 +62,27 @@ {"shape":"EventDestinationAlreadyExistsException"}, {"shape":"InvalidCloudWatchDestinationException"}, {"shape":"InvalidFirehoseDestinationException"}, + {"shape":"InvalidSNSDestinationException"}, {"shape":"LimitExceededException"} ] }, + "CreateConfigurationSetTrackingOptions":{ + "name":"CreateConfigurationSetTrackingOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateConfigurationSetTrackingOptionsRequest"}, + "output":{ + "shape":"CreateConfigurationSetTrackingOptionsResponse", + "resultWrapper":"CreateConfigurationSetTrackingOptionsResult" + }, + "errors":[ + {"shape":"ConfigurationSetDoesNotExistException"}, + {"shape":"TrackingOptionsAlreadyExistsException"}, + {"shape":"InvalidTrackingOptionsException"} + ] + }, "CreateReceiptFilter":{ "name":"CreateReceiptFilter", "http":{ @@ -149,6 +167,22 @@ {"shape":"EventDestinationDoesNotExistException"} ] }, + "DeleteConfigurationSetTrackingOptions":{ + "name":"DeleteConfigurationSetTrackingOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteConfigurationSetTrackingOptionsRequest"}, + "output":{ + "shape":"DeleteConfigurationSetTrackingOptionsResponse", + "resultWrapper":"DeleteConfigurationSetTrackingOptionsResult" + }, + "errors":[ + {"shape":"ConfigurationSetDoesNotExistException"}, + {"shape":"TrackingOptionsDoesNotExistException"} + ] + }, "DeleteIdentity":{ "name":"DeleteIdentity", "http":{ @@ -620,7 +654,25 @@ {"shape":"ConfigurationSetDoesNotExistException"}, {"shape":"EventDestinationDoesNotExistException"}, {"shape":"InvalidCloudWatchDestinationException"}, - {"shape":"InvalidFirehoseDestinationException"} + {"shape":"InvalidFirehoseDestinationException"}, + {"shape":"InvalidSNSDestinationException"} + ] + }, + "UpdateConfigurationSetTrackingOptions":{ + "name":"UpdateConfigurationSetTrackingOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateConfigurationSetTrackingOptionsRequest"}, + "output":{ + "shape":"UpdateConfigurationSetTrackingOptionsResponse", + "resultWrapper":"UpdateConfigurationSetTrackingOptionsResult" + }, + "errors":[ + {"shape":"ConfigurationSetDoesNotExistException"}, + {"shape":"TrackingOptionsDoesNotExistException"}, + {"shape":"InvalidTrackingOptionsException"} ] }, "UpdateReceiptRule":{ @@ -851,7 +903,10 @@ }, "ConfigurationSetAttribute":{ "type":"string", - "enum":["eventDestinations"] + "enum":[ + "eventDestinations", + "trackingOptions" + ] }, "ConfigurationSetAttributeList":{ "type":"list", @@ -911,6 +966,22 @@ "members":{ } }, + "CreateConfigurationSetTrackingOptionsRequest":{ + "type":"structure", + "required":[ + "ConfigurationSetName", + "TrackingOptions" + ], + "members":{ + "ConfigurationSetName":{"shape":"ConfigurationSetName"}, + "TrackingOptions":{"shape":"TrackingOptions"} + } + }, + "CreateConfigurationSetTrackingOptionsResponse":{ + "type":"structure", + "members":{ + } + }, "CreateReceiptFilterRequest":{ "type":"structure", "required":["Filter"], @@ -961,6 +1032,7 @@ "TemporaryFailure" ] }, + "CustomRedirectDomain":{"type":"string"}, "DefaultDimensionValue":{"type":"string"}, "DeleteConfigurationSetEventDestinationRequest":{ "type":"structure", @@ -990,6 +1062,18 @@ "members":{ } }, + "DeleteConfigurationSetTrackingOptionsRequest":{ + "type":"structure", + "required":["ConfigurationSetName"], + "members":{ + "ConfigurationSetName":{"shape":"ConfigurationSetName"} + } + }, + "DeleteConfigurationSetTrackingOptionsResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteIdentityPolicyRequest":{ "type":"structure", "required":[ @@ -1089,7 +1173,8 @@ "type":"structure", "members":{ "ConfigurationSet":{"shape":"ConfigurationSet"}, - "EventDestinations":{"shape":"EventDestinations"} + "EventDestinations":{"shape":"EventDestinations"}, + "TrackingOptions":{"shape":"TrackingOptions"} } }, "DescribeReceiptRuleRequest":{ @@ -1137,7 +1222,8 @@ "type":"string", "enum":[ "messageTag", - "emailHeader" + "emailHeader", + "linkTag" ] }, "DkimAttributes":{ @@ -1169,7 +1255,8 @@ "Enabled":{"shape":"Enabled"}, "MatchingEventTypes":{"shape":"EventTypes"}, "KinesisFirehoseDestination":{"shape":"KinesisFirehoseDestination"}, - "CloudWatchDestination":{"shape":"CloudWatchDestination"} + "CloudWatchDestination":{"shape":"CloudWatchDestination"}, + "SNSDestination":{"shape":"SNSDestination"} } }, "EventDestinationAlreadyExistsException":{ @@ -1210,7 +1297,9 @@ "reject", "bounce", "complaint", - "delivery" + "delivery", + "open", + "click" ] }, "EventTypes":{ @@ -1460,6 +1549,19 @@ }, "exception":true }, + "InvalidSNSDestinationException":{ + "type":"structure", + "members":{ + "ConfigurationSetName":{"shape":"ConfigurationSetName"}, + "EventDestinationName":{"shape":"EventDestinationName"} + }, + "error":{ + "code":"InvalidSNSDestination", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidSnsTopicException":{ "type":"structure", "members":{ @@ -1472,6 +1574,17 @@ }, "exception":true }, + "InvalidTrackingOptionsException":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"InvalidTrackingOptions", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvocationType":{ "type":"string", "enum":[ @@ -1888,6 +2001,13 @@ "Base64" ] }, + "SNSDestination":{ + "type":"structure", + "required":["TopicARN"], + "members":{ + "TopicARN":{"shape":"AmazonResourceName"} + } + }, "SendBounceRequest":{ "type":"structure", "required":[ @@ -2101,6 +2221,36 @@ "Optional" ] }, + "TrackingOptions":{ + "type":"structure", + "members":{ + "CustomRedirectDomain":{"shape":"CustomRedirectDomain"} + } + }, + "TrackingOptionsAlreadyExistsException":{ + "type":"structure", + "members":{ + "ConfigurationSetName":{"shape":"ConfigurationSetName"} + }, + "error":{ + "code":"TrackingOptionsAlreadyExistsException", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "TrackingOptionsDoesNotExistException":{ + "type":"structure", + "members":{ + "ConfigurationSetName":{"shape":"ConfigurationSetName"} + }, + "error":{ + "code":"TrackingOptionsDoesNotExistException", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "UpdateConfigurationSetEventDestinationRequest":{ "type":"structure", "required":[ @@ -2117,6 +2267,22 @@ "members":{ } }, + "UpdateConfigurationSetTrackingOptionsRequest":{ + "type":"structure", + "required":[ + "ConfigurationSetName", + "TrackingOptions" + ], + "members":{ + "ConfigurationSetName":{"shape":"ConfigurationSetName"}, + "TrackingOptions":{"shape":"TrackingOptions"} + } + }, + "UpdateConfigurationSetTrackingOptionsResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateReceiptRuleRequest":{ "type":"structure", "required":[ diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/email/2010-12-01/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/email/2010-12-01/docs-2.json index 30903441b..bec44e2a5 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/email/2010-12-01/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/email/2010-12-01/docs-2.json @@ -1,56 +1,59 @@ { "version": "2.0", - "service": "Amazon Simple Email Service

This is the API Reference for Amazon Simple Email Service (Amazon SES). This documentation is intended to be used in conjunction with the Amazon SES Developer Guide.

For a list of Amazon SES endpoints to use in service requests, see Regions and Amazon SES in the Amazon SES Developer Guide.

", + "service": "Amazon Simple Email Service

This is the API Reference for Amazon Simple Email Service (Amazon SES). This documentation is intended to be used in conjunction with the Amazon SES Developer Guide.

For a list of Amazon SES endpoints to use in service requests, see Regions and Amazon SES in the Amazon SES Developer Guide.

", "operations": { - "CloneReceiptRuleSet": "

Creates a receipt rule set by cloning an existing one. All receipt rules and configurations are copied to the new receipt rule set and are completely independent of the source rule set.

For information about setting up rule sets, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "CreateConfigurationSet": "

Creates a configuration set.

Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "CreateConfigurationSetEventDestination": "

Creates a configuration set event destination.

When you create or update an event destination, you must provide one, and only one, destination. The destination can be either Amazon CloudWatch or Amazon Kinesis Firehose.

An event destination is the AWS service to which Amazon SES publishes the email sending events associated with a configuration set. For information about using configuration sets, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "CreateReceiptFilter": "

Creates a new IP address filter.

For information about setting up IP address filters, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "CreateReceiptRule": "

Creates a receipt rule.

For information about setting up receipt rules, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "CreateReceiptRuleSet": "

Creates an empty receipt rule set.

For information about setting up receipt rule sets, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "DeleteConfigurationSet": "

Deletes a configuration set.

Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "DeleteConfigurationSetEventDestination": "

Deletes a configuration set event destination.

Configuration set event destinations are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "DeleteIdentity": "

Deletes the specified identity (an email address or a domain) from the list of verified identities.

This action is throttled at one request per second.

", - "DeleteIdentityPolicy": "

Deletes the specified sending authorization policy for the given identity (an email address or a domain). This API returns successfully even if a policy with the specified name does not exist.

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "DeleteReceiptFilter": "

Deletes the specified IP address filter.

For information about managing IP address filters, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "DeleteReceiptRule": "

Deletes the specified receipt rule.

For information about managing receipt rules, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "DeleteReceiptRuleSet": "

Deletes the specified receipt rule set and all of the receipt rules it contains.

The currently active rule set cannot be deleted.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "DeleteVerifiedEmailAddress": "

Deletes the specified email address from the list of verified addresses.

The DeleteVerifiedEmailAddress action is deprecated as of the May 15, 2012 release of Domain Verification. The DeleteIdentity action is now preferred.

This action is throttled at one request per second.

", - "DescribeActiveReceiptRuleSet": "

Returns the metadata and receipt rules for the receipt rule set that is currently active.

For information about setting up receipt rule sets, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "DescribeConfigurationSet": "

Returns the details of the specified configuration set.

Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "DescribeReceiptRule": "

Returns the details of the specified receipt rule.

For information about setting up receipt rules, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "DescribeReceiptRuleSet": "

Returns the details of the specified receipt rule set.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "GetIdentityDkimAttributes": "

Returns the current status of Easy DKIM signing for an entity. For domain name identities, this action also returns the DKIM tokens that are required for Easy DKIM signing, and whether Amazon SES has successfully verified that these tokens have been published.

This action takes a list of identities as input and returns the following information for each:

  • Whether Easy DKIM signing is enabled or disabled.

  • A set of DKIM tokens that represent the identity. If the identity is an email address, the tokens represent the domain of that address.

  • Whether Amazon SES has successfully verified the DKIM tokens published in the domain's DNS. This information is only returned for domain name identities, not for email addresses.

This action is throttled at one request per second and can only get DKIM attributes for up to 100 identities at a time.

For more information about creating DNS records using DKIM tokens, go to the Amazon SES Developer Guide.

", - "GetIdentityMailFromDomainAttributes": "

Returns the custom MAIL FROM attributes for a list of identities (email addresses and/or domains).

This action is throttled at one request per second and can only get custom MAIL FROM attributes for up to 100 identities at a time.

", - "GetIdentityNotificationAttributes": "

Given a list of verified identities (email addresses and/or domains), returns a structure describing identity notification attributes.

This action is throttled at one request per second and can only get notification attributes for up to 100 identities at a time.

For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide.

", - "GetIdentityPolicies": "

Returns the requested sending authorization policies for the given identity (an email address or a domain). The policies are returned as a map of policy names to policy contents. You can retrieve a maximum of 20 policies at a time.

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "GetIdentityVerificationAttributes": "

Given a list of identities (email addresses and/or domains), returns the verification status and (for domain identities) the verification token for each identity.

This action is throttled at one request per second and can only get verification attributes for up to 100 identities at a time.

", - "GetSendQuota": "

Returns the user's current sending limits.

This action is throttled at one request per second.

", - "GetSendStatistics": "

Returns the user's sending statistics. The result is a list of data points, representing the last two weeks of sending activity.

Each data point in the list contains statistics for a 15-minute interval.

This action is throttled at one request per second.

", - "ListConfigurationSets": "

Lists the configuration sets associated with your AWS account.

Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

This action is throttled at one request per second and can return up to 50 configuration sets at a time.

", - "ListIdentities": "

Returns a list containing all of the identities (email addresses and domains) for your AWS account, regardless of verification status.

This action is throttled at one request per second.

", - "ListIdentityPolicies": "

Returns a list of sending authorization policies that are attached to the given identity (an email address or a domain). This API returns only a list. If you want the actual policy content, you can use GetIdentityPolicies.

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "ListReceiptFilters": "

Lists the IP address filters associated with your AWS account.

For information about managing IP address filters, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "ListReceiptRuleSets": "

Lists the receipt rule sets that exist under your AWS account. If there are additional receipt rule sets to be retrieved, you will receive a NextToken that you can provide to the next call to ListReceiptRuleSets to retrieve the additional entries.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "ListVerifiedEmailAddresses": "

Returns a list containing all of the email addresses that have been verified.

The ListVerifiedEmailAddresses action is deprecated as of the May 15, 2012 release of Domain Verification. The ListIdentities action is now preferred.

This action is throttled at one request per second.

", - "PutIdentityPolicy": "

Adds or updates a sending authorization policy for the specified identity (an email address or a domain).

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "ReorderReceiptRuleSet": "

Reorders the receipt rules within a receipt rule set.

All of the rules in the rule set must be represented in this request. That is, this API will return an error if the reorder request doesn't explicitly position all of the rules.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "SendBounce": "

Generates and sends a bounce message to the sender of an email you received through Amazon SES. You can only use this API on an email up to 24 hours after you receive it.

You cannot use this API to send generic bounces for mail that was not received by Amazon SES.

For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "SendEmail": "

Composes an email message based on input data, and then immediately queues the message for sending.

There are several important points to know about SendEmail:

  • You can only send email from verified email addresses and domains; otherwise, you will get an \"Email address not verified\" error. If your account is still in the Amazon SES sandbox, you must also verify every recipient email address except for the recipients provided by the Amazon SES mailbox simulator. For more information, go to the Amazon SES Developer Guide.

  • The total size of the message cannot exceed 10 MB. This includes any attachments that are part of the message.

  • Amazon SES has a limit on the total number of recipients per message. The combined number of To:, CC: and BCC: email addresses cannot exceed 50. If you need to send an email message to a larger audience, you can divide your recipient list into groups of 50 or fewer, and then call Amazon SES repeatedly to send the message to each group.

  • For every message that you send, the total number of recipients (To:, CC: and BCC:) is counted against your sending quota - the maximum number of emails you can send in a 24-hour period. For information about your sending quota, go to the Amazon SES Developer Guide.

", - "SendRawEmail": "

Sends an email message, with header and content specified by the client. The SendRawEmail action is useful for sending multipart MIME emails. The raw text of the message must comply with Internet email standards; otherwise, the message cannot be sent.

There are several important points to know about SendRawEmail:

  • You can only send email from verified email addresses and domains; otherwise, you will get an \"Email address not verified\" error. If your account is still in the Amazon SES sandbox, you must also verify every recipient email address except for the recipients provided by the Amazon SES mailbox simulator. For more information, go to the Amazon SES Developer Guide.

  • The total size of the message cannot exceed 10 MB. This includes any attachments that are part of the message.

  • Amazon SES has a limit on the total number of recipients per message. The combined number of To:, CC: and BCC: email addresses cannot exceed 50. If you need to send an email message to a larger audience, you can divide your recipient list into groups of 50 or fewer, and then call Amazon SES repeatedly to send the message to each group.

  • The To:, CC:, and BCC: headers in the raw message can contain a group list. Note that each recipient in a group list counts towards the 50-recipient limit.

  • Amazon SES overrides any Message-ID and Date headers you provide.

  • For every message that you send, the total number of recipients (To:, CC: and BCC:) is counted against your sending quota - the maximum number of emails you can send in a 24-hour period. For information about your sending quota, go to the Amazon SES Developer Guide.

  • If you are using sending authorization to send on behalf of another user, SendRawEmail enables you to specify the cross-account identity for the email's \"Source,\" \"From,\" and \"Return-Path\" parameters in one of two ways: you can pass optional parameters SourceArn, FromArn, and/or ReturnPathArn to the API, or you can include the following X-headers in the header of your raw email:

    • X-SES-SOURCE-ARN

    • X-SES-FROM-ARN

    • X-SES-RETURN-PATH-ARN

    Do not include these X-headers in the DKIM signature, because they are removed by Amazon SES before sending the email.

    For the most common sending authorization use case, we recommend that you specify the SourceIdentityArn and do not specify either the FromIdentityArn or ReturnPathIdentityArn. (The same note applies to the corresponding X-headers.) If you only specify the SourceIdentityArn, Amazon SES will simply set the \"From\" address and the \"Return Path\" address to the identity specified in SourceIdentityArn. For more information about sending authorization, see the Amazon SES Developer Guide.

", - "SetActiveReceiptRuleSet": "

Sets the specified receipt rule set as the active receipt rule set.

To disable your email-receiving through Amazon SES completely, you can call this API with RuleSetName set to null.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "SetIdentityDkimEnabled": "

Enables or disables Easy DKIM signing of email sent from an identity:

  • If Easy DKIM signing is enabled for a domain name identity (e.g., example.com), then Amazon SES will DKIM-sign all email sent by addresses under that domain name (e.g., user@example.com).

  • If Easy DKIM signing is enabled for an email address, then Amazon SES will DKIM-sign all email sent by that email address.

For email addresses (e.g., user@example.com), you can only enable Easy DKIM signing if the corresponding domain (e.g., example.com) has been set up for Easy DKIM using the AWS Console or the VerifyDomainDkim action.

This action is throttled at one request per second.

For more information about Easy DKIM signing, go to the Amazon SES Developer Guide.

", - "SetIdentityFeedbackForwardingEnabled": "

Given an identity (an email address or a domain), enables or disables whether Amazon SES forwards bounce and complaint notifications as email. Feedback forwarding can only be disabled when Amazon Simple Notification Service (Amazon SNS) topics are specified for both bounces and complaints.

Feedback forwarding does not apply to delivery notifications. Delivery notifications are only available through Amazon SNS.

This action is throttled at one request per second.

For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide.

", - "SetIdentityHeadersInNotificationsEnabled": "

Given an identity (an email address or a domain), sets whether Amazon SES includes the original email headers in the Amazon Simple Notification Service (Amazon SNS) notifications of a specified type.

This action is throttled at one request per second.

For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide.

", - "SetIdentityMailFromDomain": "

Enables or disables the custom MAIL FROM domain setup for a verified identity (an email address or a domain).

To send emails using the specified MAIL FROM domain, you must add an MX record to your MAIL FROM domain's DNS settings. If you want your emails to pass Sender Policy Framework (SPF) checks, you must also add or update an SPF record. For more information, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "SetIdentityNotificationTopic": "

Given an identity (an email address or a domain), sets the Amazon Simple Notification Service (Amazon SNS) topic to which Amazon SES will publish bounce, complaint, and/or delivery notifications for emails sent with that identity as the Source.

Unless feedback forwarding is enabled, you must specify Amazon SNS topics for bounce and complaint notifications. For more information, see SetIdentityFeedbackForwardingEnabled.

This action is throttled at one request per second.

For more information about feedback notification, see the Amazon SES Developer Guide.

", - "SetReceiptRulePosition": "

Sets the position of the specified receipt rule in the receipt rule set.

For information about managing receipt rules, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "UpdateConfigurationSetEventDestination": "

Updates the event destination of a configuration set.

When you create or update an event destination, you must provide one, and only one, destination. The destination can be either Amazon CloudWatch or Amazon Kinesis Firehose.

Event destinations are associated with configuration sets, which enable you to publish email sending events to Amazon CloudWatch or Amazon Kinesis Firehose. For information about using configuration sets, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "UpdateReceiptRule": "

Updates a receipt rule.

For information about managing receipt rules, see the Amazon SES Developer Guide.

This action is throttled at one request per second.

", - "VerifyDomainDkim": "

Returns a set of DKIM tokens for a domain. DKIM tokens are character strings that represent your domain's identity. Using these tokens, you will need to create DNS CNAME records that point to DKIM public keys hosted by Amazon SES. Amazon Web Services will eventually detect that you have updated your DNS records; this detection process may take up to 72 hours. Upon successful detection, Amazon SES will be able to DKIM-sign email originating from that domain.

This action is throttled at one request per second.

To enable or disable Easy DKIM signing for a domain, use the SetIdentityDkimEnabled action.

For more information about creating DNS records using DKIM tokens, go to the Amazon SES Developer Guide.

", - "VerifyDomainIdentity": "

Verifies a domain.

This action is throttled at one request per second.

", - "VerifyEmailAddress": "

Verifies an email address. This action causes a confirmation email message to be sent to the specified address.

The VerifyEmailAddress action is deprecated as of the May 15, 2012 release of Domain Verification. The VerifyEmailIdentity action is now preferred.

This action is throttled at one request per second.

", - "VerifyEmailIdentity": "

Verifies an email address. This action causes a confirmation email message to be sent to the specified address.

This action is throttled at one request per second.

" + "CloneReceiptRuleSet": "

Creates a receipt rule set by cloning an existing one. All receipt rules and configurations are copied to the new receipt rule set and are completely independent of the source rule set.

For information about setting up rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "CreateConfigurationSet": "

Creates a configuration set.

Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "CreateConfigurationSetEventDestination": "

Creates a configuration set event destination.

When you create or update an event destination, you must provide one, and only one, destination. The destination can be Amazon CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS).

An event destination is the AWS service to which Amazon SES publishes the email sending events associated with a configuration set. For information about using configuration sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "CreateConfigurationSetTrackingOptions": "

Creates an association between a configuration set and a custom domain for open and click event tracking.

By default, images and links used for tracking open and click events are hosted on domains operated by Amazon SES. You can configure a subdomain of your own to handle these events by redirecting them to the Amazon SES-operated domain. For information about using configuration sets, see Configuring Custom Domains to Handle Open and Click Tracking in the Amazon SES Developer Guide.

", + "CreateReceiptFilter": "

Creates a new IP address filter.

For information about setting up IP address filters, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "CreateReceiptRule": "

Creates a receipt rule.

For information about setting up receipt rules, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "CreateReceiptRuleSet": "

Creates an empty receipt rule set.

For information about setting up receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "DeleteConfigurationSet": "

Deletes a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "DeleteConfigurationSetEventDestination": "

Deletes a configuration set event destination. Configuration set event destinations are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "DeleteConfigurationSetTrackingOptions": "

Deletes an association between a configuration set and a custom domain for open and click event tracking.

By default, images and links used for tracking open and click events are hosted on domains operated by Amazon SES. You can configure a subdomain of your own to handle these events by redirecting them to the Amazon SES-operated domain. For information about using configuration sets, see Configuring Custom Domains to Handle Open and Click Tracking in the Amazon SES Developer Guide.

Deleting this kind of association will result in emails sent using the specified configuration set to capture open and click events using the standard, Amazon SES-operated domains.

", + "DeleteIdentity": "

Deletes the specified identity (an email address or a domain) from the list of verified identities.

You can execute this operation no more than once per second.

", + "DeleteIdentityPolicy": "

Deletes the specified sending authorization policy for the given identity (an email address or a domain). This API returns successfully even if a policy with the specified name does not exist.

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "DeleteReceiptFilter": "

Deletes the specified IP address filter.

For information about managing IP address filters, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "DeleteReceiptRule": "

Deletes the specified receipt rule.

For information about managing receipt rules, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "DeleteReceiptRuleSet": "

Deletes the specified receipt rule set and all of the receipt rules it contains.

The currently active rule set cannot be deleted.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "DeleteVerifiedEmailAddress": "

Deprecated. Use the DeleteIdentity operation to delete email addresses and domains.

", + "DescribeActiveReceiptRuleSet": "

Returns the metadata and receipt rules for the receipt rule set that is currently active.

For information about setting up receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "DescribeConfigurationSet": "

Returns the details of the specified configuration set. For information about using configuration sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "DescribeReceiptRule": "

Returns the details of the specified receipt rule.

For information about setting up receipt rules, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "DescribeReceiptRuleSet": "

Returns the details of the specified receipt rule set.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "GetIdentityDkimAttributes": "

Returns the current status of Easy DKIM signing for an entity. For domain name identities, this operation also returns the DKIM tokens that are required for Easy DKIM signing, and whether Amazon SES has successfully verified that these tokens have been published.

This operation takes a list of identities as input and returns the following information for each:

  • Whether Easy DKIM signing is enabled or disabled.

  • A set of DKIM tokens that represent the identity. If the identity is an email address, the tokens represent the domain of that address.

  • Whether Amazon SES has successfully verified the DKIM tokens published in the domain's DNS. This information is only returned for domain name identities, not for email addresses.

This operation is throttled at one request per second and can only get DKIM attributes for up to 100 identities at a time.

For more information about creating DNS records using DKIM tokens, go to the Amazon SES Developer Guide.

", + "GetIdentityMailFromDomainAttributes": "

Returns the custom MAIL FROM attributes for a list of identities (email addresses : domains).

This operation is throttled at one request per second and can only get custom MAIL FROM attributes for up to 100 identities at a time.

", + "GetIdentityNotificationAttributes": "

Given a list of verified identities (email addresses and/or domains), returns a structure describing identity notification attributes.

This operation is throttled at one request per second and can only get notification attributes for up to 100 identities at a time.

For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide.

", + "GetIdentityPolicies": "

Returns the requested sending authorization policies for the given identity (an email address or a domain). The policies are returned as a map of policy names to policy contents. You can retrieve a maximum of 20 policies at a time.

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "GetIdentityVerificationAttributes": "

Given a list of identities (email addresses and/or domains), returns the verification status and (for domain identities) the verification token for each identity.

The verification status of an email address is \"Pending\" until the email address owner clicks the link within the verification email that Amazon SES sent to that address. If the email address owner clicks the link within 24 hours, the verification status of the email address changes to \"Success\". If the link is not clicked within 24 hours, the verification status changes to \"Failed.\" In that case, if you still want to verify the email address, you must restart the verification process from the beginning.

For domain identities, the domain's verification status is \"Pending\" as Amazon SES searches for the required TXT record in the DNS settings of the domain. When Amazon SES detects the record, the domain's verification status changes to \"Success\". If Amazon SES is unable to detect the record within 72 hours, the domain's verification status changes to \"Failed.\" In that case, if you still want to verify the domain, you must restart the verification process from the beginning.

This operation is throttled at one request per second and can only get verification attributes for up to 100 identities at a time.

", + "GetSendQuota": "

Provides the sending limits for the Amazon SES account.

You can execute this operation no more than once per second.

", + "GetSendStatistics": "

Provides sending statistics for the Amazon SES account. The result is a list of data points, representing the last two weeks of sending activity. Each data point in the list contains statistics for a 15-minute period of time.

You can execute this operation no more than once per second.

", + "ListConfigurationSets": "

Provides a list of the configuration sets associated with your Amazon SES account. For information about using configuration sets, see Monitoring Your Amazon SES Sending Activity in the Amazon SES Developer Guide.

You can execute this operation no more than once per second. This operation will return up to 50 configuration sets each time it is run. If your Amazon SES account has more than 50 configuration sets, this operation will also return a NextToken element. You can then execute the ListConfigurationSets operation again, passing the NextToken parameter and the value of the NextToken element to retrieve additional results.

", + "ListIdentities": "

Returns a list containing all of the identities (email addresses and domains) for your AWS account, regardless of verification status.

You can execute this operation no more than once per second.

", + "ListIdentityPolicies": "

Returns a list of sending authorization policies that are attached to the given identity (an email address or a domain). This API returns only a list. If you want the actual policy content, you can use GetIdentityPolicies.

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "ListReceiptFilters": "

Lists the IP address filters associated with your AWS account.

For information about managing IP address filters, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "ListReceiptRuleSets": "

Lists the receipt rule sets that exist under your AWS account. If there are additional receipt rule sets to be retrieved, you will receive a NextToken that you can provide to the next call to ListReceiptRuleSets to retrieve the additional entries.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "ListVerifiedEmailAddresses": "

Deprecated. Use the ListIdentities operation to list the email addresses and domains associated with your account.

", + "PutIdentityPolicy": "

Adds or updates a sending authorization policy for the specified identity (an email address or a domain).

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "ReorderReceiptRuleSet": "

Reorders the receipt rules within a receipt rule set.

All of the rules in the rule set must be represented in this request. That is, this API will return an error if the reorder request doesn't explicitly position all of the rules.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "SendBounce": "

Generates and sends a bounce message to the sender of an email you received through Amazon SES. You can only use this API on an email up to 24 hours after you receive it.

You cannot use this API to send generic bounces for mail that was not received by Amazon SES.

For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "SendEmail": "

Composes an email message and immediately queues it for sending. In order to send email using the SendEmail operation, your message must meet the following requirements:

  • The message must be sent from a verified email address or domain. If you attempt to send email using a non-verified address or domain, the operation will result in an \"Email address not verified\" error.

  • If your account is still in the Amazon SES sandbox, you may only send to verified addresses or domains, or to email addresses associated with the Amazon SES Mailbox Simulator. For more information, see Verifying Email Addresses and Domains in the Amazon SES Developer Guide.

  • The total size of the message, including attachments, must be smaller than 10 MB.

  • The message must include at least one recipient email address. The recipient address can be a To: address, a CC: address, or a BCC: address. If a recipient email address is invalid (that is, it is not in the format UserName@[SubDomain.]Domain.TopLevelDomain), the entire message will be rejected, even if the message contains other recipients that are valid.

  • The message may not include more than 50 recipients, across the To:, CC: and BCC: fields. If you need to send an email message to a larger audience, you can divide your recipient list into groups of 50 or fewer, and then call the SendEmail operation several times to send the message to each group.

For every message that you send, the total number of recipients (including each recipient in the To:, CC: and BCC: fields) is counted against the maximum number of emails you can send in a 24-hour period (your sending quota). For more information about sending quotas in Amazon SES, see Managing Your Amazon SES Sending Limits in the Amazon SES Developer Guide.

", + "SendRawEmail": "

Composes an email message and immediately queues it for sending. When calling this operation, you may specify the message headers as well as the content. The SendRawEmail operation is particularly useful for sending multipart MIME emails (such as those that contain both a plain-text and an HTML version).

In order to send email using the SendRawEmail operation, your message must meet the following requirements:

  • The message must be sent from a verified email address or domain. If you attempt to send email using a non-verified address or domain, the operation will result in an \"Email address not verified\" error.

  • If your account is still in the Amazon SES sandbox, you may only send to verified addresses or domains, or to email addresses associated with the Amazon SES Mailbox Simulator. For more information, see Verifying Email Addresses and Domains in the Amazon SES Developer Guide.

  • The total size of the message, including attachments, must be smaller than 10 MB.

  • The message must include at least one recipient email address. The recipient address can be a To: address, a CC: address, or a BCC: address. If a recipient email address is invalid (that is, it is not in the format UserName@[SubDomain.]Domain.TopLevelDomain), the entire message will be rejected, even if the message contains other recipients that are valid.

  • The message may not include more than 50 recipients, across the To:, CC: and BCC: fields. If you need to send an email message to a larger audience, you can divide your recipient list into groups of 50 or fewer, and then call the SendRawEmail operation several times to send the message to each group.

For every message that you send, the total number of recipients (including each recipient in the To:, CC: and BCC: fields) is counted against the maximum number of emails you can send in a 24-hour period (your sending quota). For more information about sending quotas in Amazon SES, see Managing Your Amazon SES Sending Limits in the Amazon SES Developer Guide.

Additionally, keep the following considerations in mind when using the SendRawEmail operation:

  • Although you can customize the message headers when using the SendRawEmail operation, Amazon SES will automatically apply its own Message-ID and Date headers; if you passed these headers when creating the message, they will be overwritten by the values that Amazon SES provides.

  • If you are using sending authorization to send on behalf of another user, SendRawEmail enables you to specify the cross-account identity for the email's Source, From, and Return-Path parameters in one of two ways: you can pass optional parameters SourceArn, FromArn, and/or ReturnPathArn to the API, or you can include the following X-headers in the header of your raw email:

    • X-SES-SOURCE-ARN

    • X-SES-FROM-ARN

    • X-SES-RETURN-PATH-ARN

    Do not include these X-headers in the DKIM signature; Amazon SES will remove them before sending the email.

    For most common sending authorization scenarios, we recommend that you specify the SourceIdentityArn parameter and not the FromIdentityArn or ReturnPathIdentityArn parameters. If you only specify the SourceIdentityArn parameter, Amazon SES will set the From and Return Path addresses to the identity specified in SourceIdentityArn. For more information about sending authorization, see the Using Sending Authorization with Amazon SES in the Amazon SES Developer Guide.

", + "SetActiveReceiptRuleSet": "

Sets the specified receipt rule set as the active receipt rule set.

To disable your email-receiving through Amazon SES completely, you can call this API with RuleSetName set to null.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "SetIdentityDkimEnabled": "

Enables or disables Easy DKIM signing of email sent from an identity:

  • If Easy DKIM signing is enabled for a domain name identity (such as example.com), then Amazon SES will DKIM-sign all email sent by addresses under that domain name (for example, user@example.com).

  • If Easy DKIM signing is enabled for an email address, then Amazon SES will DKIM-sign all email sent by that email address.

For email addresses (for example, user@example.com), you can only enable Easy DKIM signing if the corresponding domain (in this case, example.com) has been set up for Easy DKIM using the AWS Console or the VerifyDomainDkim operation.

You can execute this operation no more than once per second.

For more information about Easy DKIM signing, go to the Amazon SES Developer Guide.

", + "SetIdentityFeedbackForwardingEnabled": "

Given an identity (an email address or a domain), enables or disables whether Amazon SES forwards bounce and complaint notifications as email. Feedback forwarding can only be disabled when Amazon Simple Notification Service (Amazon SNS) topics are specified for both bounces and complaints.

Feedback forwarding does not apply to delivery notifications. Delivery notifications are only available through Amazon SNS.

You can execute this operation no more than once per second.

For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide.

", + "SetIdentityHeadersInNotificationsEnabled": "

Given an identity (an email address or a domain), sets whether Amazon SES includes the original email headers in the Amazon Simple Notification Service (Amazon SNS) notifications of a specified type.

You can execute this operation no more than once per second.

For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide.

", + "SetIdentityMailFromDomain": "

Enables or disables the custom MAIL FROM domain setup for a verified identity (an email address or a domain).

To send emails using the specified MAIL FROM domain, you must add an MX record to your MAIL FROM domain's DNS settings. If you want your emails to pass Sender Policy Framework (SPF) checks, you must also add or update an SPF record. For more information, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "SetIdentityNotificationTopic": "

Given an identity (an email address or a domain), sets the Amazon Simple Notification Service (Amazon SNS) topic to which Amazon SES will publish bounce, complaint, and/or delivery notifications for emails sent with that identity as the Source.

Unless feedback forwarding is enabled, you must specify Amazon SNS topics for bounce and complaint notifications. For more information, see SetIdentityFeedbackForwardingEnabled.

You can execute this operation no more than once per second.

For more information about feedback notification, see the Amazon SES Developer Guide.

", + "SetReceiptRulePosition": "

Sets the position of the specified receipt rule in the receipt rule set.

For information about managing receipt rules, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "UpdateConfigurationSetEventDestination": "

Updates the event destination of a configuration set. Event destinations are associated with configuration sets, which enable you to publish email sending events to Amazon CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS). For information about using configuration sets, see Monitoring Your Amazon SES Sending Activity in the Amazon SES Developer Guide.

When you create or update an event destination, you must provide one, and only one, destination. The destination can be Amazon CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS).

You can execute this operation no more than once per second.

", + "UpdateConfigurationSetTrackingOptions": "

Modifies an association between a configuration set and a custom domain for open and click event tracking.

By default, images and links used for tracking open and click events are hosted on domains operated by Amazon SES. You can configure a subdomain of your own to handle these events by redirecting them to the Amazon SES-operated domain. For information about using configuration sets, see Configuring Custom Domains to Handle Open and Click Tracking in the Amazon SES Developer Guide.

", + "UpdateReceiptRule": "

Updates a receipt rule.

For information about managing receipt rules, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "VerifyDomainDkim": "

Returns a set of DKIM tokens for a domain. DKIM tokens are character strings that represent your domain's identity. Using these tokens, you will need to create DNS CNAME records that point to DKIM public keys hosted by Amazon SES. Amazon Web Services will eventually detect that you have updated your DNS records; this detection process may take up to 72 hours. Upon successful detection, Amazon SES will be able to DKIM-sign email originating from that domain.

You can execute this operation no more than once per second.

To enable or disable Easy DKIM signing for a domain, use the SetIdentityDkimEnabled operation.

For more information about creating DNS records using DKIM tokens, go to the Amazon SES Developer Guide.

", + "VerifyDomainIdentity": "

Adds a domain to the list of identities for your Amazon SES account and attempts to verify it. For more information about verifying domains, see Verifying Email Addresses and Domains in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "VerifyEmailAddress": "

Deprecated. Use the VerifyEmailIdentity operation to verify a new email address.

", + "VerifyEmailIdentity": "

Adds an email address to the list of identities for your Amazon SES account and attempts to verify it. This operation causes a confirmation email message to be sent to the specified address.

You can execute this operation no more than once per second.

" }, "shapes": { "AddHeaderAction": { @@ -66,11 +69,11 @@ "BounceAction$Sender": "

The email address of the sender of the bounced email. This is the address from which the bounce message will be sent.

", "BouncedRecipientInfo$Recipient": "

The email address of the recipient of the bounced email.

", "DeleteVerifiedEmailAddressRequest$EmailAddress": "

An email address to be removed from the list of verified addresses.

", - "RecipientDsnFields$FinalRecipient": "

The email address to which the message was ultimately delivered. This corresponds to the Final-Recipient in the DSN. If not specified, FinalRecipient will be set to the Recipient specified in the BouncedRecipientInfo structure. Either FinalRecipient or the recipient in BouncedRecipientInfo must be a recipient of the original bounced message.

Do not prepend the FinalRecipient email address with rfc 822;, as described in RFC 3798.

", + "RecipientDsnFields$FinalRecipient": "

The email address that the message was ultimately delivered to. This corresponds to the Final-Recipient in the DSN. If not specified, FinalRecipient will be set to the Recipient specified in the BouncedRecipientInfo structure. Either FinalRecipient or the recipient in BouncedRecipientInfo must be a recipient of the original bounced message.

Do not prepend the FinalRecipient email address with rfc 822;, as described in RFC 3798.

", "SendBounceRequest$BounceSender": "

The address to use in the \"From\" header of the bounce message. This must be an identity that you have verified with Amazon SES.

", - "SendEmailRequest$Source": "

The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about verifying identities, see the Amazon SES Developer Guide.

If you are sending on behalf of another user and have been permitted to do so by a sending authorization policy, then you must also specify the SourceArn parameter. For more information about sending authorization, see the Amazon SES Developer Guide.

In all cases, the email address must be 7-bit ASCII. If the text must contain any other characters, then you must use MIME encoded-word syntax (RFC 2047) instead of a literal string. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. For more information, see RFC 2047.

", - "SendEmailRequest$ReturnPath": "

The email address to which bounces and complaints are to be forwarded when feedback forwarding is enabled. If the message cannot be delivered to the recipient, then an error message will be returned from the recipient's ISP; this message will then be forwarded to the email address specified by the ReturnPath parameter. The ReturnPath parameter is never overwritten. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES.

", - "SendRawEmailRequest$Source": "

The identity's email address. If you do not provide a value for this parameter, you must specify a \"From\" address in the raw text of the message. (You can also specify both.)

By default, the string must be 7-bit ASCII. If the text must contain any other characters, then you must use MIME encoded-word syntax (RFC 2047) instead of a literal string. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. For more information, see RFC 2047.

If you specify the Source parameter and have feedback forwarding enabled, then bounces and complaints will be sent to this email address. This takes precedence over any Return-Path header that you might include in the raw text of the message.

", + "SendEmailRequest$Source": "

The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about verifying identities, see the Amazon SES Developer Guide.

If you are sending on behalf of another user and have been permitted to do so by a sending authorization policy, then you must also specify the SourceArn parameter. For more information about sending authorization, see the Amazon SES Developer Guide.

In all cases, the email address must be 7-bit ASCII. If the text must contain any other characters, then you must use MIME encoded-word syntax (RFC 2047) instead of a literal string. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. For more information, see RFC 2047.

", + "SendEmailRequest$ReturnPath": "

The email address that bounces and complaints will be forwarded to when feedback forwarding is enabled. If the message cannot be delivered to the recipient, then an error message will be returned from the recipient's ISP; this message will then be forwarded to the email address specified by the ReturnPath parameter. The ReturnPath parameter is never overwritten. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES.

", + "SendRawEmailRequest$Source": "

The identity's email address. If you do not provide a value for this parameter, you must specify a \"From\" address in the raw text of the message. (You can also specify both.)

By default, the string must be 7-bit ASCII. If the text must contain any other characters, then you must use MIME encoded-word syntax (RFC 2047) instead of a literal string. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. For more information, see RFC 2047.

If you specify the Source parameter and have feedback forwarding enabled, then bounces and complaints will be sent to this email address. This takes precedence over any Return-Path header that you might include in the raw text of the message.

", "VerifyEmailAddressRequest$EmailAddress": "

The email address to be verified.

", "VerifyEmailIdentityRequest$EmailAddress": "

The email address to be verified.

" } @@ -96,15 +99,16 @@ "refs": { "BounceAction$TopicArn": "

The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the bounce action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

", "BouncedRecipientInfo$RecipientArn": "

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to receive email for the recipient of the bounced email. For more information about sending authorization, see the Amazon SES Developer Guide.

", - "InvalidLambdaFunctionException$FunctionArn": null, - "InvalidSnsTopicException$Topic": null, + "InvalidLambdaFunctionException$FunctionArn": "

Indicates that the ARN of the function was not found.

", + "InvalidSnsTopicException$Topic": "

Indicates that the topic does not exist.

", "KinesisFirehoseDestination$IAMRoleARN": "

The ARN of the IAM role under which Amazon SES publishes email sending events to the Amazon Kinesis Firehose stream.

", - "KinesisFirehoseDestination$DeliveryStreamARN": "

The ARN of the Amazon Kinesis Firehose stream to which to publish email sending events.

", - "LambdaAction$TopicArn": "

The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the Lambda action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

", - "LambdaAction$FunctionArn": "

The Amazon Resource Name (ARN) of the AWS Lambda function. An example of an AWS Lambda function ARN is arn:aws:lambda:us-west-2:account-id:function:MyFunction. For more information about AWS Lambda, see the AWS Lambda Developer Guide.

", + "KinesisFirehoseDestination$DeliveryStreamARN": "

The ARN of the Amazon Kinesis Firehose stream that email sending events should be published to.

", + "LambdaAction$TopicArn": "

The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the Lambda action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

", + "LambdaAction$FunctionArn": "

The Amazon Resource Name (ARN) of the AWS Lambda function. An example of an AWS Lambda function ARN is arn:aws:lambda:us-west-2:account-id:function:MyFunction. For more information about AWS Lambda, see the AWS Lambda Developer Guide.

", "S3Action$TopicArn": "

The ARN of the Amazon SNS topic to notify when the message is saved to the Amazon S3 bucket. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

", - "S3Action$KmsKeyArn": "

The customer master key that Amazon SES should use to encrypt your emails before saving them to the Amazon S3 bucket. You can use the default master key or a custom master key you created in AWS KMS as follows:

  • To use the default master key, provide an ARN in the form of arn:aws:kms:REGION:ACCOUNT-ID-WITHOUT-HYPHENS:alias/aws/ses. For example, if your AWS account ID is 123456789012 and you want to use the default master key in the US West (Oregon) region, the ARN of the default master key would be arn:aws:kms:us-west-2:123456789012:alias/aws/ses. If you use the default master key, you don't need to perform any extra steps to give Amazon SES permission to use the key.

  • To use a custom master key you created in AWS KMS, provide the ARN of the master key and ensure that you add a statement to your key's policy to give Amazon SES permission to use it. For more information about giving permissions, see the Amazon SES Developer Guide.

For more information about key policies, see the AWS KMS Developer Guide. If you do not specify a master key, Amazon SES will not encrypt your emails.

Your mail is encrypted by Amazon SES using the Amazon S3 encryption client before the mail is submitted to Amazon S3 for storage. It is not encrypted using Amazon S3 server-side encryption. This means that you must use the Amazon S3 encryption client to decrypt the email after retrieving it from Amazon S3, as the service has no access to use your AWS KMS keys for decryption. This encryption client is currently available with the AWS Java SDK and AWS Ruby SDK only. For more information about client-side encryption using AWS KMS master keys, see the Amazon S3 Developer Guide.

", + "S3Action$KmsKeyArn": "

The customer master key that Amazon SES should use to encrypt your emails before saving them to the Amazon S3 bucket. You can use the default master key or a custom master key you created in AWS KMS as follows:

  • To use the default master key, provide an ARN in the form of arn:aws:kms:REGION:ACCOUNT-ID-WITHOUT-HYPHENS:alias/aws/ses. For example, if your AWS account ID is 123456789012 and you want to use the default master key in the US West (Oregon) region, the ARN of the default master key would be arn:aws:kms:us-west-2:123456789012:alias/aws/ses. If you use the default master key, you don't need to perform any extra steps to give Amazon SES permission to use the key.

  • To use a custom master key you created in AWS KMS, provide the ARN of the master key and ensure that you add a statement to your key's policy to give Amazon SES permission to use it. For more information about giving permissions, see the Amazon SES Developer Guide.

For more information about key policies, see the AWS KMS Developer Guide. If you do not specify a master key, Amazon SES will not encrypt your emails.

Your mail is encrypted by Amazon SES using the Amazon S3 encryption client before the mail is submitted to Amazon S3 for storage. It is not encrypted using Amazon S3 server-side encryption. This means that you must use the Amazon S3 encryption client to decrypt the email after retrieving it from Amazon S3, as the service has no access to use your AWS KMS keys for decryption. This encryption client is currently available with the AWS Java SDK and AWS Ruby SDK only. For more information about client-side encryption using AWS KMS master keys, see the Amazon S3 Developer Guide.

", "SNSAction$TopicArn": "

The Amazon Resource Name (ARN) of the Amazon SNS topic to notify. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

", + "SNSDestination$TopicARN": "

The ARN of the Amazon SNS topic that email sending events will be published to. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

", "SendBounceRequest$BounceSenderArn": "

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the address in the \"From\" header of the bounce. For more information about sending authorization, see the Amazon SES Developer Guide.

", "SendEmailRequest$SourceArn": "

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified in the Source parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to send from user@example.com, then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the Source to be user@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

", "SendEmailRequest$ReturnPathArn": "

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the ReturnPath parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the ReturnPath to be feedback@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

", @@ -223,7 +227,7 @@ } }, "ConfigurationSet": { - "base": "

The name of the configuration set.

Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

", + "base": "

The name of the configuration set.

Configuration sets let you create groups of rules that you can apply to the emails you send using Amazon SES. For more information about using configuration sets, see Using Amazon SES Configuration Sets in the Amazon SES Developer Guide.

", "refs": { "ConfigurationSets$member": null, "CreateConfigurationSetRequest$ConfigurationSet": "

A data structure that contains the name of the configuration set.

", @@ -255,20 +259,26 @@ "ConfigurationSetName": { "base": null, "refs": { - "ConfigurationSet$Name": "

The name of the configuration set. The name must:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

  • Contain less than 64 characters.

", - "ConfigurationSetAlreadyExistsException$ConfigurationSetName": null, - "ConfigurationSetDoesNotExistException$ConfigurationSetName": null, - "CreateConfigurationSetEventDestinationRequest$ConfigurationSetName": "

The name of the configuration set to which to apply the event destination.

", + "ConfigurationSet$Name": "

The name of the configuration set. The name must meet the following requirements:

  • Contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

  • Contain 64 characters or fewer.

", + "ConfigurationSetAlreadyExistsException$ConfigurationSetName": "

Indicates that the configuration set does not exist.

", + "ConfigurationSetDoesNotExistException$ConfigurationSetName": "

Indicates that the configuration set does not exist.

", + "CreateConfigurationSetEventDestinationRequest$ConfigurationSetName": "

The name of the configuration set that the event destination should be associated with.

", + "CreateConfigurationSetTrackingOptionsRequest$ConfigurationSetName": "

The name of the configuration set that the tracking options should be associated with.

", "DeleteConfigurationSetEventDestinationRequest$ConfigurationSetName": "

The name of the configuration set from which to delete the event destination.

", "DeleteConfigurationSetRequest$ConfigurationSetName": "

The name of the configuration set to delete.

", + "DeleteConfigurationSetTrackingOptionsRequest$ConfigurationSetName": "

The name of the configuration set from which you want to delete the tracking options.

", "DescribeConfigurationSetRequest$ConfigurationSetName": "

The name of the configuration set to describe.

", - "EventDestinationAlreadyExistsException$ConfigurationSetName": null, - "EventDestinationDoesNotExistException$ConfigurationSetName": null, - "InvalidCloudWatchDestinationException$ConfigurationSetName": null, - "InvalidFirehoseDestinationException$ConfigurationSetName": null, + "EventDestinationAlreadyExistsException$ConfigurationSetName": "

Indicates that the configuration set does not exist.

", + "EventDestinationDoesNotExistException$ConfigurationSetName": "

Indicates that the configuration set does not exist.

", + "InvalidCloudWatchDestinationException$ConfigurationSetName": "

Indicates that the configuration set does not exist.

", + "InvalidFirehoseDestinationException$ConfigurationSetName": "

Indicates that the configuration set does not exist.

", + "InvalidSNSDestinationException$ConfigurationSetName": "

Indicates that the configuration set does not exist.

", "SendEmailRequest$ConfigurationSetName": "

The name of the configuration set to use when you send an email using SendEmail.

", "SendRawEmailRequest$ConfigurationSetName": "

The name of the configuration set to use when you send an email using SendRawEmail.

", - "UpdateConfigurationSetEventDestinationRequest$ConfigurationSetName": "

The name of the configuration set that you want to update.

" + "TrackingOptionsAlreadyExistsException$ConfigurationSetName": "

Indicates that a TrackingOptions object already exists in the specified configuration set.

", + "TrackingOptionsDoesNotExistException$ConfigurationSetName": "

Indicates that a TrackingOptions object does not exist in the specified configuration set.

", + "UpdateConfigurationSetEventDestinationRequest$ConfigurationSetName": "

The name of the configuration set that contains the event destination that you want to update.

", + "UpdateConfigurationSetTrackingOptionsRequest$ConfigurationSetName": "

The name of the configuration set for which you want to update the custom tracking domain.

" } }, "ConfigurationSets": { @@ -314,6 +324,16 @@ "refs": { } }, + "CreateConfigurationSetTrackingOptionsRequest": { + "base": "

Represents a request to create an open and click tracking option object in a configuration set.

", + "refs": { + } + }, + "CreateConfigurationSetTrackingOptionsResponse": { + "base": "

An empty element returned on a successful request.

", + "refs": { + } + }, "CreateReceiptFilterRequest": { "base": "

Represents a request to create a new IP address filter. You use IP address filters when you receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

", "refs": { @@ -350,6 +370,12 @@ "IdentityMailFromDomainAttributes$MailFromDomainStatus": "

The state that indicates whether Amazon SES has successfully read the MX record required for custom MAIL FROM domain setup. If the state is Success, Amazon SES uses the specified custom MAIL FROM domain when the verified identity sends an email. All other states indicate that Amazon SES takes the action described by BehaviorOnMXFailure.

" } }, + "CustomRedirectDomain": { + "base": null, + "refs": { + "TrackingOptions$CustomRedirectDomain": "

The custom subdomain that will be used to redirect email recipients to the Amazon SES event tracking domain.

" + } + }, "DefaultDimensionValue": { "base": null, "refs": { @@ -376,6 +402,16 @@ "refs": { } }, + "DeleteConfigurationSetTrackingOptionsRequest": { + "base": "

Represents a request to delete open and click tracking options in a configuration set.

", + "refs": { + } + }, + "DeleteConfigurationSetTrackingOptionsResponse": { + "base": "

An empty element returned on a successful request.

", + "refs": { + } + }, "DeleteIdentityPolicyRequest": { "base": "

Represents a request to delete a sending authorization policy for an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. For information, see the Amazon SES Developer Guide.

", "refs": { @@ -472,7 +508,7 @@ } }, "Destination": { - "base": "

Represents the destination of the message, consisting of To:, CC:, and BCC: fields.

By default, the string must be 7-bit ASCII. If the text must contain any other characters, then you must use MIME encoded-word syntax (RFC 2047) instead of a literal string. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. For more information, see RFC 2047.

", + "base": "

Represents the destination of the message, consisting of To:, CC:, and BCC: fields.

By default, the string must be 7-bit ASCII. If the text must contain any other characters, then you must use MIME encoded-word syntax (RFC 2047) instead of a literal string. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. For more information, see RFC 2047.

", "refs": { "SendEmailRequest$Destination": "

The destination for this email, composed of To:, CC:, and BCC: fields.

" } @@ -530,16 +566,16 @@ "IdentityNotificationAttributes$HeadersInComplaintNotificationsEnabled": "

Describes whether Amazon SES includes the original email headers in Amazon SNS notifications of type Complaint. A value of true specifies that Amazon SES will include headers in complaint notifications, and a value of false specifies that Amazon SES will not include headers in complaint notifications.

", "IdentityNotificationAttributes$HeadersInDeliveryNotificationsEnabled": "

Describes whether Amazon SES includes the original email headers in Amazon SNS notifications of type Delivery. A value of true specifies that Amazon SES will include headers in delivery notifications, and a value of false specifies that Amazon SES will not include headers in delivery notifications.

", "ReceiptRule$Enabled": "

If true, the receipt rule is active. The default value is false.

", - "ReceiptRule$ScanEnabled": "

If true, then messages to which this receipt rule applies are scanned for spam and viruses. The default value is false.

", + "ReceiptRule$ScanEnabled": "

If true, then messages that this receipt rule applies to are scanned for spam and viruses. The default value is false.

", "SetIdentityDkimEnabledRequest$DkimEnabled": "

Sets whether DKIM signing is enabled for an identity. Set to true to enable DKIM signing for this identity; false to disable it.

", "SetIdentityFeedbackForwardingEnabledRequest$ForwardingEnabled": "

Sets whether Amazon SES will forward bounce and complaint notifications as email. true specifies that Amazon SES will forward bounce and complaint notifications as email, in addition to any Amazon SNS topic publishing otherwise specified. false specifies that Amazon SES will publish bounce and complaint notifications only through Amazon SNS. This value can only be set to false when Amazon SNS topics are set for both Bounce and Complaint notification types.

", "SetIdentityHeadersInNotificationsEnabledRequest$Enabled": "

Sets whether Amazon SES includes the original email headers in Amazon SNS notifications of the specified notification type. A value of true specifies that Amazon SES will include headers in notifications, and a value of false specifies that Amazon SES will not include headers in notifications.

This value can only be set when NotificationType is already set to use a particular Amazon SNS topic.

" } }, "EventDestination": { - "base": "

Contains information about the event destination to which the specified email sending events are published.

When you create or update an event destination, you must provide one, and only one, destination. The destination can be either Amazon CloudWatch or Amazon Kinesis Firehose.

Event destinations are associated with configuration sets, which enable you to publish email sending events to Amazon CloudWatch or Amazon Kinesis Firehose. For information about using configuration sets, see the Amazon SES Developer Guide.

", + "base": "

Contains information about the event destination that the specified email sending events will be published to.

When you create or update an event destination, you must provide one, and only one, destination. The destination can be Amazon CloudWatch, Amazon Kinesis Firehose or Amazon Simple Notification Service (Amazon SNS).

Event destinations are associated with configuration sets, which enable you to publish email sending events to Amazon CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS). For information about using configuration sets, see the Amazon SES Developer Guide.

", "refs": { - "CreateConfigurationSetEventDestinationRequest$EventDestination": "

An object that describes the AWS service to which Amazon SES will publish the email sending events associated with the specified configuration set.

", + "CreateConfigurationSetEventDestinationRequest$EventDestination": "

An object that describes the AWS service that email sending event information will be published to.

", "EventDestinations$member": null, "UpdateConfigurationSetEventDestinationRequest$EventDestination": "

The event destination object that you want to apply to the specified configuration set.

" } @@ -559,10 +595,11 @@ "refs": { "DeleteConfigurationSetEventDestinationRequest$EventDestinationName": "

The name of the event destination to delete.

", "EventDestination$Name": "

The name of the event destination. The name must:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

  • Contain less than 64 characters.

", - "EventDestinationAlreadyExistsException$EventDestinationName": null, - "EventDestinationDoesNotExistException$EventDestinationName": null, - "InvalidCloudWatchDestinationException$EventDestinationName": null, - "InvalidFirehoseDestinationException$EventDestinationName": null + "EventDestinationAlreadyExistsException$EventDestinationName": "

Indicates that the event destination does not exist.

", + "EventDestinationDoesNotExistException$EventDestinationName": "

Indicates that the event destination does not exist.

", + "InvalidCloudWatchDestinationException$EventDestinationName": "

Indicates that the event destination does not exist.

", + "InvalidFirehoseDestinationException$EventDestinationName": "

Indicates that the event destination does not exist.

", + "InvalidSNSDestinationException$EventDestinationName": "

Indicates that the event destination does not exist.

" } }, "EventDestinations": { @@ -697,7 +734,7 @@ "ListIdentityPoliciesRequest$Identity": "

The identity that is associated with the policy for which the policies will be listed. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.

To successfully call this API, you must own the identity.

", "MailFromDomainAttributes$key": null, "NotificationAttributes$key": null, - "PutIdentityPolicyRequest$Identity": "

The identity to which the policy will apply. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.

To successfully call this API, you must own the identity.

", + "PutIdentityPolicyRequest$Identity": "

The identity that the policy will apply to. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.

To successfully call this API, you must own the identity.

", "SetIdentityDkimEnabledRequest$Identity": "

The identity for which DKIM signing should be enabled or disabled.

", "SetIdentityFeedbackForwardingEnabledRequest$Identity": "

The identity for which to set bounce and complaint notification forwarding. Examples: user@example.com, example.com.

", "SetIdentityHeadersInNotificationsEnabledRequest$Identity": "

The identity for which to enable or disable headers in notifications. Examples: user@example.com, example.com.

", @@ -776,25 +813,35 @@ "refs": { } }, + "InvalidSNSDestinationException": { + "base": "

Indicates that the Amazon Simple Notification Service (Amazon SNS) destination is invalid. See the error message for details.

", + "refs": { + } + }, "InvalidSnsTopicException": { "base": "

Indicates that the provided Amazon SNS topic is invalid, or that Amazon SES could not publish to the topic, possibly due to permissions issues. For information about giving permissions, see the Amazon SES Developer Guide.

", "refs": { } }, + "InvalidTrackingOptionsException": { + "base": "

Indicates that the custom domain to be used for open and click tracking redirects is invalid. This error appears most often in the following situations:

  • When the tracking domain you specified is not verified in Amazon SES.

  • When the tracking domain you specified is not a valid domain or subdomain.

", + "refs": { + } + }, "InvocationType": { "base": null, "refs": { - "LambdaAction$InvocationType": "

The invocation type of the AWS Lambda function. An invocation type of RequestResponse means that the execution of the function will immediately result in a response, and a value of Event means that the function will be invoked asynchronously. The default value is Event. For information about AWS Lambda invocation types, see the AWS Lambda Developer Guide.

There is a 30-second timeout on RequestResponse invocations. You should use Event invocation in most cases. Use RequestResponse only when you want to make a mail flow decision, such as whether to stop the receipt rule or the receipt rule set.

" + "LambdaAction$InvocationType": "

The invocation type of the AWS Lambda function. An invocation type of RequestResponse means that the execution of the function will immediately result in a response, and a value of Event means that the function will be invoked asynchronously. The default value is Event. For information about AWS Lambda invocation types, see the AWS Lambda Developer Guide.

There is a 30-second timeout on RequestResponse invocations. You should use Event invocation in most cases. Use RequestResponse only when you want to make a mail flow decision, such as whether to stop the receipt rule or the receipt rule set.

" } }, "KinesisFirehoseDestination": { - "base": "

Contains the delivery stream ARN and the IAM role ARN associated with an Amazon Kinesis Firehose event destination.

Event destinations, such as Amazon Kinesis Firehose, are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

", + "base": "

Contains the delivery stream ARN and the IAM role ARN associated with an Amazon Kinesis Firehose event destination.

Event destinations, such as Amazon Kinesis Firehose, are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

", "refs": { "EventDestination$KinesisFirehoseDestination": "

An object that contains the delivery stream ARN and the IAM role ARN associated with an Amazon Kinesis Firehose event destination.

" } }, "LambdaAction": { - "base": "

When included in a receipt rule, this action calls an AWS Lambda function and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

To enable Amazon SES to call your AWS Lambda function or to publish to an Amazon SNS topic of another account, Amazon SES must have permission to access those resources. For information about giving permissions, see the Amazon SES Developer Guide.

For information about using AWS Lambda actions in receipt rules, see the Amazon SES Developer Guide.

", + "base": "

When included in a receipt rule, this action calls an AWS Lambda function and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

To enable Amazon SES to call your AWS Lambda function or to publish to an Amazon SNS topic of another account, Amazon SES must have permission to access those resources. For information about giving permissions, see the Amazon SES Developer Guide.

For information about using AWS Lambda actions in receipt rules, see the Amazon SES Developer Guide.

", "refs": { "ReceiptAction$LambdaAction": "

Calls an AWS Lambda function, and optionally, publishes a notification to Amazon SNS.

" } @@ -915,7 +962,7 @@ } }, "MessageDsn": { - "base": "

Message-related information to include in the Delivery Status Notification (DSN) when an email that Amazon SES receives on your behalf bounces.

For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

", + "base": "

Message-related information to include in the Delivery Status Notification (DSN) when an email that Amazon SES receives on your behalf bounces.

For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

", "refs": { "SendBounceRequest$MessageDsn": "

Message-related DSN fields. If not specified, Amazon SES will choose the values.

" } @@ -1034,13 +1081,13 @@ "RawMessage": { "base": "

Represents the raw data of the message.

", "refs": { - "SendRawEmailRequest$RawMessage": "

The raw text of the message. The client is responsible for ensuring the following:

  • Message must contain a header and a body, separated by a blank line.

  • All required header fields must be present.

  • Each part of a multipart MIME message must be formatted properly.

  • MIME content types must be among those supported by Amazon SES. For more information, go to the Amazon SES Developer Guide.

  • Must be base64-encoded.

" + "SendRawEmailRequest$RawMessage": "

The raw text of the message. The client is responsible for ensuring the following:

  • Message must contain a header and a body, separated by a blank line.

  • All required header fields must be present.

  • Each part of a multipart MIME message must be formatted properly.

  • MIME content types must be among those supported by Amazon SES. For more information, go to the Amazon SES Developer Guide.

  • Must be base64-encoded.

  • Per RFC 5321, the maximum length of each line of text, including the <CRLF>, must not exceed 1,000 characters.

" } }, "RawMessageData": { "base": null, "refs": { - "RawMessage$Data": "

The raw data of the message. The client must ensure that the message format complies with Internet email standards regarding email header fields, MIME types, MIME encoding, and base64 encoding.

The To:, CC:, and BCC: headers in the raw message can contain a group list.

If you are using SendRawEmail with sending authorization, you can include X-headers in the raw message to specify the \"Source,\" \"From,\" and \"Return-Path\" addresses. For more information, see the documentation for SendRawEmail.

Do not include these X-headers in the DKIM signature, because they are removed by Amazon SES before sending the email.

For more information, go to the Amazon SES Developer Guide.

" + "RawMessage$Data": "

The raw data of the message. This data needs to base64-encoded if you are accessing Amazon SES directly through the HTTPS interface. If you are accessing Amazon SES using an AWS SDK, the SDK takes care of the base 64-encoding for you. In all cases, the client must ensure that the message format complies with Internet email standards regarding email header fields, MIME types, and MIME encoding.

The To:, CC:, and BCC: headers in the raw message can contain a group list.

If you are using SendRawEmail with sending authorization, you can include X-headers in the raw message to specify the \"Source,\" \"From,\" and \"Return-Path\" addresses. For more information, see the documentation for SendRawEmail.

Do not include these X-headers in the DKIM signature, because they are removed by Amazon SES before sending the email.

For more information, go to the Amazon SES Developer Guide.

" } }, "ReceiptAction": { @@ -1088,7 +1135,7 @@ } }, "ReceiptRule": { - "base": "

Receipt rules enable you to specify which actions Amazon SES should take when it receives mail on behalf of one or more email addresses or domains that you own.

Each receipt rule defines a set of email addresses or domains to which it applies. If the email addresses or domains match at least one recipient address of the message, Amazon SES executes all of the receipt rule's actions on the message.

For information about setting up receipt rules, see the Amazon SES Developer Guide.

", + "base": "

Receipt rules enable you to specify which actions Amazon SES should take when it receives mail on behalf of one or more email addresses or domains that you own.

Each receipt rule defines a set of email addresses or domains that it applies to. If the email addresses or domains match at least one recipient address of the message, Amazon SES executes all of the receipt rule's actions on the message.

For information about setting up receipt rules, see the Amazon SES Developer Guide.

", "refs": { "CreateReceiptRuleRequest$Rule": "

A data structure that contains the specified rule's name, actions, recipients, domains, enabled status, scan status, and TLS policy.

", "DescribeReceiptRuleResponse$Rule": "

A data structure that contains the specified receipt rule's name, actions, recipients, domains, enabled status, scan status, and Transport Layer Security (TLS) policy.

", @@ -1127,17 +1174,17 @@ "refs": { "CloneReceiptRuleSetRequest$RuleSetName": "

The name of the rule set to create. The name must:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-).

  • Start and end with a letter or number.

  • Contain less than 64 characters.

", "CloneReceiptRuleSetRequest$OriginalRuleSetName": "

The name of the rule set to clone.

", - "CreateReceiptRuleRequest$RuleSetName": "

The name of the rule set to which to add the rule.

", + "CreateReceiptRuleRequest$RuleSetName": "

The name of the rule set that the receipt rule will be added to.

", "CreateReceiptRuleSetRequest$RuleSetName": "

The name of the rule set to create. The name must:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-).

  • Start and end with a letter or number.

  • Contain less than 64 characters.

", "DeleteReceiptRuleRequest$RuleSetName": "

The name of the receipt rule set that contains the receipt rule to delete.

", "DeleteReceiptRuleSetRequest$RuleSetName": "

The name of the receipt rule set to delete.

", - "DescribeReceiptRuleRequest$RuleSetName": "

The name of the receipt rule set to which the receipt rule belongs.

", + "DescribeReceiptRuleRequest$RuleSetName": "

The name of the receipt rule set that the receipt rule belongs to.

", "DescribeReceiptRuleSetRequest$RuleSetName": "

The name of the receipt rule set to describe.

", "ReceiptRuleSetMetadata$Name": "

The name of the receipt rule set. The name must:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-).

  • Start and end with a letter or number.

  • Contain less than 64 characters.

", "ReorderReceiptRuleSetRequest$RuleSetName": "

The name of the receipt rule set to reorder.

", "SetActiveReceiptRuleSetRequest$RuleSetName": "

The name of the receipt rule set to make active. Setting this value to null disables all email receiving.

", "SetReceiptRulePositionRequest$RuleSetName": "

The name of the receipt rule set that contains the receipt rule to reposition.

", - "UpdateReceiptRuleRequest$RuleSetName": "

The name of the receipt rule set to which the receipt rule belongs.

" + "UpdateReceiptRuleRequest$RuleSetName": "

The name of the receipt rule set that the receipt rule belongs to.

" } }, "ReceiptRuleSetsLists": { @@ -1168,7 +1215,7 @@ "RecipientsList": { "base": null, "refs": { - "ReceiptRule$Recipients": "

The recipient domains and email addresses to which the receipt rule applies. If this field is not specified, this rule will match all recipients under all verified domains.

" + "ReceiptRule$Recipients": "

The recipient domains and email addresses that the receipt rule applies to. If this field is not specified, this rule will match all recipients under all verified domains.

" } }, "RemoteMta": { @@ -1201,10 +1248,10 @@ "RuleOrRuleSetName": { "base": null, "refs": { - "AlreadyExistsException$Name": null, - "CannotDeleteException$Name": null, - "RuleDoesNotExistException$Name": null, - "RuleSetDoesNotExistException$Name": null + "AlreadyExistsException$Name": "

Indicates that a resource could not be created because the resource name already exists.

", + "CannotDeleteException$Name": "

Indicates that a resource could not be deleted because no resource with the specified name exists.

", + "RuleDoesNotExistException$Name": "

Indicates that the named receipt rule does not exist.

", + "RuleSetDoesNotExistException$Name": "

Indicates that the named receipt rule set does not exist.

" } }, "RuleSetDoesNotExistException": { @@ -1221,8 +1268,8 @@ "S3BucketName": { "base": null, "refs": { - "InvalidS3ConfigurationException$Bucket": null, - "S3Action$BucketName": "

The name of the Amazon S3 bucket to which to save the received email.

" + "InvalidS3ConfigurationException$Bucket": "

Indicated that the S3 Bucket was not found.

", + "S3Action$BucketName": "

The name of the Amazon S3 bucket that incoming email will be saved to.

" } }, "S3KeyPrefix": { @@ -1243,6 +1290,12 @@ "SNSAction$Encoding": "

The encoding to use for the email within the Amazon SNS notification. UTF-8 is easier to use, but may not preserve all special characters when a message was encoded with a different encoding format. Base64 preserves all special characters. The default value is UTF-8.

" } }, + "SNSDestination": { + "base": "

Contains the topic ARN associated with an Amazon Simple Notification Service (Amazon SNS) event destination.

Event destinations, such as Amazon SNS, are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

", + "refs": { + "EventDestination$SNSDestination": "

An object that contains the topic ARN associated with an Amazon Simple Notification Service (Amazon SNS) event destination.

" + } + }, "SendBounceRequest": { "base": "

Represents a request to send a bounce message to the sender of an email you received through Amazon SES.

", "refs": { @@ -1362,7 +1415,7 @@ } }, "StopAction": { - "base": "

When included in a receipt rule, this action terminates the evaluation of the receipt rule set and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

For information about setting a stop action in a receipt rule, see the Amazon SES Developer Guide.

", + "base": "

When included in a receipt rule, this action terminates the evaluation of the receipt rule set and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

For information about setting a stop action in a receipt rule, see the Amazon SES Developer Guide.

", "refs": { "ReceiptAction$StopAction": "

Terminates the evaluation of the receipt rule set and optionally publishes a notification to Amazon SNS.

" } @@ -1370,7 +1423,7 @@ "StopScope": { "base": null, "refs": { - "StopAction$Scope": "

The scope to which the Stop action applies. That is, what is being stopped.

" + "StopAction$Scope": "

The name of the RuleSet that is being stopped.

" } }, "Timestamp": { @@ -1386,6 +1439,24 @@ "ReceiptRule$TlsPolicy": "

Specifies whether Amazon SES should require that incoming email is delivered over a connection encrypted with Transport Layer Security (TLS). If this parameter is set to Require, Amazon SES will bounce emails that are not received over TLS. The default is Optional.

" } }, + "TrackingOptions": { + "base": "

A domain that is used to redirect email recipients to an Amazon SES-operated domain. This domain captures open and click events generated by Amazon SES emails.

For more information, see Configuring Custom Domains to Handle Open and Click Tracking in the Amazon SES Developer Guide.

", + "refs": { + "CreateConfigurationSetTrackingOptionsRequest$TrackingOptions": null, + "DescribeConfigurationSetResponse$TrackingOptions": "

The name of the custom open and click tracking domain associated with the configuration set.

", + "UpdateConfigurationSetTrackingOptionsRequest$TrackingOptions": null + } + }, + "TrackingOptionsAlreadyExistsException": { + "base": "

Indicates that the configuration set you specified already contains a TrackingOptions object.

", + "refs": { + } + }, + "TrackingOptionsDoesNotExistException": { + "base": "

Indicates that the TrackingOptions object you specified does not exist.

", + "refs": { + } + }, "UpdateConfigurationSetEventDestinationRequest": { "base": "

Represents a request to update the event destination of a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

", "refs": { @@ -1396,6 +1467,16 @@ "refs": { } }, + "UpdateConfigurationSetTrackingOptionsRequest": { + "base": "

Represents a request to update the tracking options for a configuration set.

", + "refs": { + } + }, + "UpdateConfigurationSetTrackingOptionsResponse": { + "base": "

An empty element returned on a successful request.

", + "refs": { + } + }, "UpdateReceiptRuleRequest": { "base": "

Represents a request to update a receipt rule. You use receipt rules to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

", "refs": { @@ -1424,7 +1505,7 @@ "refs": { "IdentityVerificationAttributes$VerificationToken": "

The verification token for a domain identity. Null for email address identities.

", "VerificationTokenList$member": null, - "VerifyDomainIdentityResponse$VerificationToken": "

A TXT record that must be placed in the DNS settings for the domain, in order to complete domain verification.

" + "VerifyDomainIdentityResponse$VerificationToken": "

A TXT record that you must place in the DNS settings of the domain to complete domain verification with Amazon SES.

As Amazon SES searches for the TXT record, the domain's verification status is \"Pending\". When Amazon SES detects the record, the domain's verification status changes to \"Success\". If Amazon SES is unable to detect the record within 72 hours, the domain's verification status changes to \"Failed.\" In that case, if you still want to verify the domain, you must restart the verification process from the beginning.

" } }, "VerificationTokenList": { diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/email/2010-12-01/examples-1.json b/vendor/github.com/aws/aws-sdk-go/models/apis/email/2010-12-01/examples-1.json index 88555294c..67d43a0dd 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/email/2010-12-01/examples-1.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/email/2010-12-01/examples-1.json @@ -367,6 +367,8 @@ "NotificationAttributes": { "example.com": { "BounceTopic": "arn:aws:sns:us-east-1:EXAMPLE65304:ExampleTopic", + "ComplaintTopic": "arn:aws:sns:us-east-1:EXAMPLE65304:ExampleTopic", + "DeliveryTopic": "arn:aws:sns:us-east-1:EXAMPLE65304:ExampleTopic", "ForwardingEnabled": true, "HeadersInBounceNotificationsEnabled": false, "HeadersInComplaintNotificationsEnabled": false, diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/email/2010-12-01/paginators-1.json b/vendor/github.com/aws/aws-sdk-go/models/apis/email/2010-12-01/paginators-1.json index e12811f5e..8a21098f8 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/email/2010-12-01/paginators-1.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/email/2010-12-01/paginators-1.json @@ -2,12 +2,12 @@ "pagination": { "ListIdentities": { "input_token": "NextToken", - "output_token": "NextToken", "limit_key": "MaxItems", + "output_token": "NextToken", "result_key": "Identities" }, "ListVerifiedEmailAddresses": { "result_key": "VerifiedEmailAddresses" } } -} +} \ No newline at end of file diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/events/2015-10-07/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/events/2015-10-07/api-2.json index 16fdb89de..acfd4b24c 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/events/2015-10-07/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/events/2015-10-07/api-2.json @@ -134,7 +134,8 @@ "errors":[ {"shape":"ResourceNotFoundException"}, {"shape":"PolicyLengthExceededException"}, - {"shape":"InternalException"} + {"shape":"InternalException"}, + {"shape":"ConcurrentModificationException"} ] }, "PutRule":{ @@ -176,7 +177,8 @@ "input":{"shape":"RemovePermissionRequest"}, "errors":[ {"shape":"ResourceNotFoundException"}, - {"shape":"InternalException"} + {"shape":"InternalException"}, + {"shape":"ConcurrentModificationException"} ] }, "RemoveTargets":{ diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/events/2015-10-07/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/events/2015-10-07/docs-2.json index 31c8073e1..9a02593a1 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/events/2015-10-07/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/events/2015-10-07/docs-2.json @@ -11,9 +11,9 @@ "ListRules": "

Lists your Amazon CloudWatch Events rules. You can either list all the rules or you can provide a prefix to match to the rule names.

", "ListTargetsByRule": "

Lists the targets assigned to the specified rule.

", "PutEvents": "

Sends custom events to Amazon CloudWatch Events so that they can be matched to rules.

", - "PutPermission": "

Running PutPermission permits the specified AWS account to put events to your account's default event bus. CloudWatch Events rules in your account are triggered by these events arriving to your default event bus.

For another account to send events to your account, that external account must have a CloudWatch Events rule with your account's default event bus as a target.

To enable multiple AWS accounts to put events to your default event bus, run PutPermission once for each of these accounts.

", + "PutPermission": "

Running PutPermission permits the specified AWS account to put events to your account's default event bus. CloudWatch Events rules in your account are triggered by these events arriving to your default event bus.

For another account to send events to your account, that external account must have a CloudWatch Events rule with your account's default event bus as a target.

To enable multiple AWS accounts to put events to your default event bus, run PutPermission once for each of these accounts.

The permission policy on the default event bus cannot exceed 10KB in size.

", "PutRule": "

Creates or updates the specified rule. Rules are enabled by default, or based on value of the state. You can disable a rule using DisableRule.

When you create or update a rule, incoming events might not immediately start matching to new or updated rules. Please allow a short period of time for changes to take effect.

A rule must contain at least an EventPattern or ScheduleExpression. Rules with EventPatterns are triggered when a matching event is observed. Rules with ScheduleExpressions self-trigger based on the given schedule. A rule can have both an EventPattern and a ScheduleExpression, in which case the rule triggers on matching events as well as on a schedule.

Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). However, CloudWatch Events uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match.

", - "PutTargets": "

Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule.

Targets are the resources that are invoked when a rule is triggered.

You can configure the following as targets for CloudWatch Events:

  • EC2 instances

  • AWS Lambda functions

  • Streams in Amazon Kinesis Streams

  • Delivery streams in Amazon Kinesis Firehose

  • Amazon ECS tasks

  • AWS Step Functions state machines

  • Amazon SNS topics

  • Amazon SQS queues

Note that creating rules with built-in targets is supported only in the AWS Management Console.

For some target types, PutTargets provides target-specific parameters. If the target is an Amazon Kinesis stream, you can optionally specify which shard the event goes to by using the KinesisParameters argument. To invoke a command on multiple EC2 instances with one rule, you can use the RunCommandParameters field.

To be able to make API calls against the resources that you own, Amazon CloudWatch Events needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, CloudWatch Events relies on resource-based policies. For EC2 instances, Amazon Kinesis streams, and AWS Step Functions state machines, CloudWatch Events relies on IAM roles that you specify in the RoleARN argument in PutTargets. For more information, see Authentication and Access Control in the Amazon CloudWatch Events User Guide.

If another AWS account is in the same region and has granted you permission (using PutPermission), you can set that account's event bus as a target of the rules in your account. To send the matched events to the other account, specify that account's event bus as the Arn when you run PutTargets. For more information about enabling cross-account events, see PutPermission.

Input, InputPath and InputTransformer are mutually exclusive and optional parameters of a target. When a rule is triggered due to a matched event:

  • If none of the following arguments are specified for a target, then the entire event is passed to the target in JSON form (unless the target is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from the event is passed to the target).

  • If Input is specified in the form of valid JSON, then the matched event is overridden with this constant.

  • If InputPath is specified in the form of JSONPath (for example, $.detail), then only the part of the event specified in the path is passed to the target (for example, only the detail part of the event is passed).

  • If InputTransformer is specified, then one or more specified JSONPaths are extracted from the event and used as values in a template that you specify as the input to the target.

When you specify Input, InputPath, or InputTransformer, you must use JSON dot notation, not bracket notation.

When you add targets to a rule and the associated rule triggers soon after, new or updated targets might not be immediately invoked. Please allow a short period of time for changes to take effect.

This action can partially fail if too many requests are made at the same time. If that happens, FailedEntryCount is non-zero in the response and each entry in FailedEntries provides the ID of the failed target and the error code.

", + "PutTargets": "

Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule.

Targets are the resources that are invoked when a rule is triggered.

You can configure the following as targets for CloudWatch Events:

  • EC2 instances

  • AWS Lambda functions

  • Streams in Amazon Kinesis Streams

  • Delivery streams in Amazon Kinesis Firehose

  • Amazon ECS tasks

  • AWS Step Functions state machines

  • Pipelines in Amazon Code Pipeline

  • Amazon Inspector assessment templates

  • Amazon SNS topics

  • Amazon SQS queues

  • The default event bus of another AWS account

Note that creating rules with built-in targets is supported only in the AWS Management Console.

For some target types, PutTargets provides target-specific parameters. If the target is an Amazon Kinesis stream, you can optionally specify which shard the event goes to by using the KinesisParameters argument. To invoke a command on multiple EC2 instances with one rule, you can use the RunCommandParameters field.

To be able to make API calls against the resources that you own, Amazon CloudWatch Events needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, CloudWatch Events relies on resource-based policies. For EC2 instances, Amazon Kinesis streams, and AWS Step Functions state machines, CloudWatch Events relies on IAM roles that you specify in the RoleARN argument in PutTargets. For more information, see Authentication and Access Control in the Amazon CloudWatch Events User Guide.

If another AWS account is in the same region and has granted you permission (using PutPermission), you can send events to that account by setting that account's event bus as a target of the rules in your account. To send the matched events to the other account, specify that account's event bus as the Arn when you run PutTargets. If your account sends events to another account, your account is charged for each sent event. Each event sent to antoher account is charged as a custom event. The account receiving the event is not charged. For more information on pricing, see Amazon CloudWatch Pricing.

For more information about enabling cross-account events, see PutPermission.

Input, InputPath and InputTransformer are mutually exclusive and optional parameters of a target. When a rule is triggered due to a matched event:

  • If none of the following arguments are specified for a target, then the entire event is passed to the target in JSON form (unless the target is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from the event is passed to the target).

  • If Input is specified in the form of valid JSON, then the matched event is overridden with this constant.

  • If InputPath is specified in the form of JSONPath (for example, $.detail), then only the part of the event specified in the path is passed to the target (for example, only the detail part of the event is passed).

  • If InputTransformer is specified, then one or more specified JSONPaths are extracted from the event and used as values in a template that you specify as the input to the target.

When you specify Input, InputPath, or InputTransformer, you must use JSON dot notation, not bracket notation.

When you add targets to a rule and the associated rule triggers soon after, new or updated targets might not be immediately invoked. Please allow a short period of time for changes to take effect.

This action can partially fail if too many requests are made at the same time. If that happens, FailedEntryCount is non-zero in the response and each entry in FailedEntries provides the ID of the failed target and the error code.

", "RemovePermission": "

Revokes the permission of another AWS account to be able to put events to your default event bus. Specify the account to revoke by the StatementId value that you associated with the account when you granted it permission with PutPermission. You can find the StatementId by using DescribeEventBus.

", "RemoveTargets": "

Removes the specified targets from the specified rule. When the rule is triggered, those targets are no longer be invoked.

When you remove a target, when the associated rule triggers, removed targets might continue to be invoked. Please allow a short period of time for changes to take effect.

This action can partially fail if too many requests are made at the same time. If that happens, FailedEntryCount is non-zero in the response and each entry in FailedEntries provides the ID of the failed target and the error code.

", "TestEventPattern": "

Tests whether the specified event pattern matches the provided event.

Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). However, CloudWatch Events uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match.

" diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/firehose/2015-08-04/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/firehose/2015-08-04/api-2.json index 2e21535ca..40b690197 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/firehose/2015-08-04/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/firehose/2015-08-04/api-2.json @@ -51,6 +51,21 @@ {"shape":"ResourceNotFoundException"} ] }, + "GetKinesisStream":{ + "name":"GetKinesisStream", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetKinesisStreamInput"}, + "output":{"shape":"GetKinesisStreamOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"InvalidStreamTypeException"} + ], + "internalonly":true + }, "ListDeliveryStreams":{ "name":"ListDeliveryStreams", "http":{ @@ -111,6 +126,7 @@ "min":1, "pattern":"arn:.*" }, + "AccessKeyId":{"type":"string"}, "BooleanObject":{"type":"boolean"}, "BucketARN":{ "type":"string", @@ -169,6 +185,8 @@ "required":["DeliveryStreamName"], "members":{ "DeliveryStreamName":{"shape":"DeliveryStreamName"}, + "DeliveryStreamType":{"shape":"DeliveryStreamType"}, + "KinesisStreamSourceConfiguration":{"shape":"KinesisStreamSourceConfiguration"}, "S3DestinationConfiguration":{ "shape":"S3DestinationConfiguration", "deprecated":true @@ -206,6 +224,7 @@ "members":{ } }, + "DeliveryStartTimestamp":{"type":"timestamp"}, "DeliveryStreamARN":{ "type":"string", "max":512, @@ -218,6 +237,7 @@ "DeliveryStreamName", "DeliveryStreamARN", "DeliveryStreamStatus", + "DeliveryStreamType", "VersionId", "Destinations", "HasMoreDestinations" @@ -226,9 +246,11 @@ "DeliveryStreamName":{"shape":"DeliveryStreamName"}, "DeliveryStreamARN":{"shape":"DeliveryStreamARN"}, "DeliveryStreamStatus":{"shape":"DeliveryStreamStatus"}, + "DeliveryStreamType":{"shape":"DeliveryStreamType"}, "VersionId":{"shape":"DeliveryStreamVersionId"}, "CreateTimestamp":{"shape":"Timestamp"}, "LastUpdateTimestamp":{"shape":"Timestamp"}, + "Source":{"shape":"SourceDescription"}, "Destinations":{"shape":"DestinationDescriptionList"}, "HasMoreDestinations":{"shape":"BooleanObject"} } @@ -251,6 +273,13 @@ "ACTIVE" ] }, + "DeliveryStreamType":{ + "type":"string", + "enum":[ + "DirectPut", + "KinesisStreamAsSource" + ] + }, "DeliveryStreamVersionId":{ "type":"string", "max":50, @@ -478,6 +507,21 @@ "S3BackupUpdate":{"shape":"S3DestinationUpdate"} } }, + "FirehoseSource":{"type":"string"}, + "GetKinesisStreamInput":{ + "type":"structure", + "required":["DeliveryStreamARN"], + "members":{ + "DeliveryStreamARN":{"shape":"DeliveryStreamARN"} + } + }, + "GetKinesisStreamOutput":{ + "type":"structure", + "members":{ + "KinesisStreamARN":{"shape":"KinesisStreamARN"}, + "CredentialsForReadingKinesisStream":{"shape":"SessionCredentials"} + } + }, "IntervalInSeconds":{ "type":"integer", "max":900, @@ -490,6 +534,14 @@ }, "exception":true }, + "InvalidStreamTypeException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"}, + "source":{"shape":"FirehoseSource"} + }, + "exception":true + }, "KMSEncryptionConfig":{ "type":"structure", "required":["AWSKMSKeyARN"], @@ -497,6 +549,31 @@ "AWSKMSKeyARN":{"shape":"AWSKMSKeyARN"} } }, + "KinesisStreamARN":{ + "type":"string", + "max":512, + "min":1, + "pattern":"arn:.*" + }, + "KinesisStreamSourceConfiguration":{ + "type":"structure", + "required":[ + "KinesisStreamARN", + "RoleARN" + ], + "members":{ + "KinesisStreamARN":{"shape":"KinesisStreamARN"}, + "RoleARN":{"shape":"RoleARN"} + } + }, + "KinesisStreamSourceDescription":{ + "type":"structure", + "members":{ + "KinesisStreamARN":{"shape":"KinesisStreamARN"}, + "RoleARN":{"shape":"RoleARN"}, + "DeliveryStartTimestamp":{"shape":"DeliveryStartTimestamp"} + } + }, "LimitExceededException":{ "type":"structure", "members":{ @@ -508,6 +585,7 @@ "type":"structure", "members":{ "Limit":{"shape":"ListDeliveryStreamsInputLimit"}, + "DeliveryStreamType":{"shape":"DeliveryStreamType"}, "ExclusiveStartDeliveryStreamName":{"shape":"DeliveryStreamName"} } }, @@ -818,6 +896,7 @@ "CloudWatchLoggingOptions":{"shape":"CloudWatchLoggingOptions"} } }, + "SecretAccessKey":{"type":"string"}, "ServiceUnavailableException":{ "type":"structure", "members":{ @@ -826,11 +905,33 @@ "exception":true, "fault":true }, + "SessionCredentials":{ + "type":"structure", + "required":[ + "AccessKeyId", + "SecretAccessKey", + "SessionToken", + "Expiration" + ], + "members":{ + "AccessKeyId":{"shape":"AccessKeyId"}, + "SecretAccessKey":{"shape":"SecretAccessKey"}, + "SessionToken":{"shape":"SessionToken"}, + "Expiration":{"shape":"Timestamp"} + } + }, + "SessionToken":{"type":"string"}, "SizeInMBs":{ "type":"integer", "max":128, "min":1 }, + "SourceDescription":{ + "type":"structure", + "members":{ + "KinesisStreamSourceDescription":{"shape":"KinesisStreamSourceDescription"} + } + }, "Timestamp":{"type":"timestamp"}, "UpdateDestinationInput":{ "type":"structure", diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/firehose/2015-08-04/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/firehose/2015-08-04/docs-2.json index c06142063..e28d48a25 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/firehose/2015-08-04/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/firehose/2015-08-04/docs-2.json @@ -1,14 +1,15 @@ { "version": "2.0", - "service": "Amazon Kinesis Firehose API Reference

Amazon Kinesis Firehose is a fully-managed service that delivers real-time streaming data to destinations such as Amazon Simple Storage Service (Amazon S3), Amazon Elasticsearch Service (Amazon ES), and Amazon Redshift.

", + "service": "Amazon Kinesis Firehose API Reference

Amazon Kinesis Firehose is a fully managed service that delivers real-time streaming data to destinations such as Amazon Simple Storage Service (Amazon S3), Amazon Elasticsearch Service (Amazon ES), and Amazon Redshift.

", "operations": { - "CreateDeliveryStream": "

Creates a delivery stream.

By default, you can create up to 20 delivery streams per region.

This is an asynchronous operation that immediately returns. The initial status of the delivery stream is CREATING. After the delivery stream is created, its status is ACTIVE and it now accepts data. Attempts to send data to a delivery stream that is not in the ACTIVE state cause an exception. To check the state of a delivery stream, use DescribeDeliveryStream.

A delivery stream is configured with a single destination: Amazon S3, Amazon Elasticsearch Service, or Amazon Redshift. You must specify only one of the following destination configuration parameters: ExtendedS3DestinationConfiguration, S3DestinationConfiguration, ElasticsearchDestinationConfiguration, or RedshiftDestinationConfiguration.

When you specify S3DestinationConfiguration, you can also provide the following optional values: BufferingHints, EncryptionConfiguration, and CompressionFormat. By default, if no BufferingHints value is provided, Firehose buffers data up to 5 MB or for 5 minutes, whichever condition is satisfied first. Note that BufferingHints is a hint, so there are some cases where the service cannot adhere to these conditions strictly; for example, record boundaries are such that the size is a little over or under the configured buffering size. By default, no encryption is performed. We strongly recommend that you enable encryption to ensure secure data storage in Amazon S3.

A few notes about Amazon Redshift as a destination:

  • An Amazon Redshift destination requires an S3 bucket as intermediate location, as Firehose first delivers data to S3 and then uses COPY syntax to load data into an Amazon Redshift table. This is specified in the RedshiftDestinationConfiguration.S3Configuration parameter.

  • The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration because the Amazon Redshift COPY operation that reads from the S3 bucket doesn't support these compression formats.

  • We strongly recommend that you use the user name and password you provide exclusively with Firehose, and that the permissions for the account are restricted for Amazon Redshift INSERT permissions.

Firehose assumes the IAM role that is configured as part of the destination. The role should allow the Firehose principal to assume the role, and the role should have permissions that allows the service to deliver the data. For more information, see Amazon S3 Bucket Access in the Amazon Kinesis Firehose Developer Guide.

", + "CreateDeliveryStream": "

Creates a delivery stream.

By default, you can create up to 20 delivery streams per region.

This is an asynchronous operation that immediately returns. The initial status of the delivery stream is CREATING. After the delivery stream is created, its status is ACTIVE and it now accepts data. Attempts to send data to a delivery stream that is not in the ACTIVE state cause an exception. To check the state of a delivery stream, use DescribeDeliveryStream.

A Kinesis Firehose delivery stream can be configured to receive records directly from providers using PutRecord or PutRecordBatch, or it can be configured to use an existing Kinesis stream as its source. To specify a Kinesis stream as input, set the DeliveryStreamType parameter to KinesisStreamAsSource, and provide the Kinesis stream ARN and role ARN in the KinesisStreamSourceConfiguration parameter.

A delivery stream is configured with a single destination: Amazon S3, Amazon ES, or Amazon Redshift. You must specify only one of the following destination configuration parameters: ExtendedS3DestinationConfiguration, S3DestinationConfiguration, ElasticsearchDestinationConfiguration, or RedshiftDestinationConfiguration.

When you specify S3DestinationConfiguration, you can also provide the following optional values: BufferingHints, EncryptionConfiguration, and CompressionFormat. By default, if no BufferingHints value is provided, Kinesis Firehose buffers data up to 5 MB or for 5 minutes, whichever condition is satisfied first. Note that BufferingHints is a hint, so there are some cases where the service cannot adhere to these conditions strictly; for example, record boundaries are such that the size is a little over or under the configured buffering size. By default, no encryption is performed. We strongly recommend that you enable encryption to ensure secure data storage in Amazon S3.

A few notes about Amazon Redshift as a destination:

  • An Amazon Redshift destination requires an S3 bucket as intermediate location, as Kinesis Firehose first delivers data to S3 and then uses COPY syntax to load data into an Amazon Redshift table. This is specified in the RedshiftDestinationConfiguration.S3Configuration parameter.

  • The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration because the Amazon Redshift COPY operation that reads from the S3 bucket doesn't support these compression formats.

  • We strongly recommend that you use the user name and password you provide exclusively with Kinesis Firehose, and that the permissions for the account are restricted for Amazon Redshift INSERT permissions.

Kinesis Firehose assumes the IAM role that is configured as part of the destination. The role should allow the Kinesis Firehose principal to assume the role, and the role should have permissions that allow the service to deliver the data. For more information, see Amazon S3 Bucket Access in the Amazon Kinesis Firehose Developer Guide.

", "DeleteDeliveryStream": "

Deletes a delivery stream and its data.

You can delete a delivery stream only if it is in ACTIVE or DELETING state, and not in the CREATING state. While the deletion request is in process, the delivery stream is in the DELETING state.

To check the state of a delivery stream, use DescribeDeliveryStream.

While the delivery stream is DELETING state, the service may continue to accept the records, but the service doesn't make any guarantees with respect to delivering the data. Therefore, as a best practice, you should first stop any applications that are sending records before deleting a delivery stream.

", "DescribeDeliveryStream": "

Describes the specified delivery stream and gets the status. For example, after your delivery stream is created, call DescribeDeliveryStream to see if the delivery stream is ACTIVE and therefore ready for data to be sent to it.

", + "GetKinesisStream": null, "ListDeliveryStreams": "

Lists your delivery streams.

The number of delivery streams might be too large to return using a single call to ListDeliveryStreams. You can limit the number of delivery streams returned, using the Limit parameter. To determine whether there are more delivery streams to list, check the value of HasMoreDeliveryStreams in the output. If there are more delivery streams to list, you can request them by specifying the name of the last delivery stream returned in the call in the ExclusiveStartDeliveryStreamName parameter of a subsequent call.

", - "PutRecord": "

Writes a single data record into an Amazon Kinesis Firehose delivery stream. To write multiple data records into a delivery stream, use PutRecordBatch. Applications using these operations are referred to as producers.

By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. Note that if you use PutRecord and PutRecordBatch, the limits are an aggregate across these two operations for each delivery stream. For more information about limits and how to request an increase, see Amazon Kinesis Firehose Limits.

You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data, for example, a segment from a log file, geographic location data, web site clickstream data, etc.

Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\\n) or some other character unique within the data. This allows the consumer application(s) to parse individual data items when reading the data from the destination.

The PutRecord operation returns a RecordId, which is a unique string assigned to each record. Producer applications can use this ID for purposes such as auditability and investigation.

If the PutRecord operation throws a ServiceUnavailableException, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

Data records sent to Firehose are stored for 24 hours from the time they are added to a delivery stream as it attempts to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

", - "PutRecordBatch": "

Writes multiple data records into a delivery stream in a single call, which can achieve higher throughput per producer than when writing single records. To write single data records into a delivery stream, use PutRecord. Applications using these operations are referred to as producers.

By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. Note that if you use PutRecord and PutRecordBatch, the limits are an aggregate across these two operations for each delivery stream. For more information about limits, see Amazon Kinesis Firehose Limits.

Each PutRecordBatch request supports up to 500 records. Each record in the request can be as large as 1,000 KB (before 64-bit encoding), up to a limit of 4 MB for the entire request. These limits cannot be changed.

You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data, for example, a segment from a log file, geographic location data, web site clickstream data, and so on.

Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\\n) or some other character unique within the data. This allows the consumer application(s) to parse individual data items when reading the data from the destination.

The PutRecordBatch response includes a count of failed records, FailedPutCount, and an array of responses, RequestResponses. Each entry in the RequestResponses array provides additional information about the processed record, and directly correlates with a record in the request array using the same ordering, from the top to the bottom. The response array always includes the same number of records as the request array. RequestResponses includes both successfully and unsuccessfully processed records. Firehose attempts to process all records in each PutRecordBatch request. A single record failure does not stop the processing of subsequent records.

A successfully processed record includes a RecordId value, which is unique for the record. An unsuccessfully processed record includes ErrorCode and ErrorMessage values. ErrorCode reflects the type of error, and is one of the following values: ServiceUnavailable or InternalFailure. ErrorMessage provides more detailed information about the error.

If there is an internal server error or a timeout, the write might have completed or it might have failed. If FailedPutCount is greater than 0, retry the request, resending only those records that might have failed processing. This minimizes the possible duplicate records and also reduces the total bytes sent (and corresponding charges). We recommend that you handle any duplicates at the destination.

If PutRecordBatch throws ServiceUnavailableException, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

Data records sent to Firehose are stored for 24 hours from the time they are added to a delivery stream as it attempts to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

", - "UpdateDestination": "

Updates the specified destination of the specified delivery stream.

You can use this operation to change the destination type (for example, to replace the Amazon S3 destination with Amazon Redshift) or change the parameters associated with a destination (for example, to change the bucket name of the Amazon S3 destination). The update might not occur immediately. The target delivery stream remains active while the configurations are updated, so data writes to the delivery stream can continue during this process. The updated configurations are usually effective within a few minutes.

Note that switching between Amazon ES and other services is not supported. For an Amazon ES destination, you can only update to another Amazon ES destination.

If the destination type is the same, Firehose merges the configuration parameters specified with the destination configuration that already exists on the delivery stream. If any of the parameters are not specified in the call, the existing values are retained. For example, in the Amazon S3 destination, if EncryptionConfiguration is not specified then the existing EncryptionConfiguration is maintained on the destination.

If the destination type is not the same, for example, changing the destination from Amazon S3 to Amazon Redshift, Firehose does not merge any parameters. In this case, all parameters must be specified.

Firehose uses CurrentDeliveryStreamVersionId to avoid race conditions and conflicting merges. This is a required field, and the service updates the configuration only if the existing configuration has a version ID that matches. After the update is applied successfully, the version ID is updated, and can be retrieved using DescribeDeliveryStream. You should use the new version ID to set CurrentDeliveryStreamVersionId in the next call.

" + "PutRecord": "

Writes a single data record into an Amazon Kinesis Firehose delivery stream. To write multiple data records into a delivery stream, use PutRecordBatch. Applications using these operations are referred to as producers.

By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. Note that if you use PutRecord and PutRecordBatch, the limits are an aggregate across these two operations for each delivery stream. For more information about limits and how to request an increase, see Amazon Kinesis Firehose Limits.

You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data, for example, a segment from a log file, geographic location data, website clickstream data, and so on.

Kinesis Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\\n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination.

The PutRecord operation returns a RecordId, which is a unique string assigned to each record. Producer applications can use this ID for purposes such as auditability and investigation.

If the PutRecord operation throws a ServiceUnavailableException, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

Data records sent to Kinesis Firehose are stored for 24 hours from the time they are added to a delivery stream as it attempts to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

", + "PutRecordBatch": "

Writes multiple data records into a delivery stream in a single call, which can achieve higher throughput per producer than when writing single records. To write single data records into a delivery stream, use PutRecord. Applications using these operations are referred to as producers.

By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. If you use PutRecord and PutRecordBatch, the limits are an aggregate across these two operations for each delivery stream. For more information about limits, see Amazon Kinesis Firehose Limits.

Each PutRecordBatch request supports up to 500 records. Each record in the request can be as large as 1,000 KB (before 64-bit encoding), up to a limit of 4 MB for the entire request. These limits cannot be changed.

You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data. For example, it could be a segment from a log file, geographic location data, web site clickstream data, and so on.

Kinesis Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\\n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination.

The PutRecordBatch response includes a count of failed records, FailedPutCount, and an array of responses, RequestResponses. Each entry in the RequestResponses array provides additional information about the processed record. It directly correlates with a record in the request array using the same ordering, from the top to the bottom. The response array always includes the same number of records as the request array. RequestResponses includes both successfully and unsuccessfully processed records. Kinesis Firehose attempts to process all records in each PutRecordBatch request. A single record failure does not stop the processing of subsequent records.

A successfully processed record includes a RecordId value, which is unique for the record. An unsuccessfully processed record includes ErrorCode and ErrorMessage values. ErrorCode reflects the type of error, and is one of the following values: ServiceUnavailable or InternalFailure. ErrorMessage provides more detailed information about the error.

If there is an internal server error or a timeout, the write might have completed or it might have failed. If FailedPutCount is greater than 0, retry the request, resending only those records that might have failed processing. This minimizes the possible duplicate records and also reduces the total bytes sent (and corresponding charges). We recommend that you handle any duplicates at the destination.

If PutRecordBatch throws ServiceUnavailableException, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

Data records sent to Kinesis Firehose are stored for 24 hours from the time they are added to a delivery stream as it attempts to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

", + "UpdateDestination": "

Updates the specified destination of the specified delivery stream.

You can use this operation to change the destination type (for example, to replace the Amazon S3 destination with Amazon Redshift) or change the parameters associated with a destination (for example, to change the bucket name of the Amazon S3 destination). The update might not occur immediately. The target delivery stream remains active while the configurations are updated, so data writes to the delivery stream can continue during this process. The updated configurations are usually effective within a few minutes.

Note that switching between Amazon ES and other services is not supported. For an Amazon ES destination, you can only update to another Amazon ES destination.

If the destination type is the same, Kinesis Firehose merges the configuration parameters specified with the destination configuration that already exists on the delivery stream. If any of the parameters are not specified in the call, the existing values are retained. For example, in the Amazon S3 destination, if EncryptionConfiguration is not specified, then the existing EncryptionConfiguration is maintained on the destination.

If the destination type is not the same, for example, changing the destination from Amazon S3 to Amazon Redshift, Kinesis Firehose does not merge any parameters. In this case, all parameters must be specified.

Kinesis Firehose uses CurrentDeliveryStreamVersionId to avoid race conditions and conflicting merges. This is a required field, and the service updates the configuration only if the existing configuration has a version ID that matches. After the update is applied successfully, the version ID is updated, and can be retrieved using DescribeDeliveryStream. Use the new version ID to set CurrentDeliveryStreamVersionId in the next call.

" }, "shapes": { "AWSKMSKeyARN": { @@ -17,6 +18,12 @@ "KMSEncryptionConfig$AWSKMSKeyARN": "

The ARN of the encryption key. Must belong to the same region as the destination Amazon S3 bucket.

" } }, + "AccessKeyId": { + "base": null, + "refs": { + "SessionCredentials$AccessKeyId": null + } + }, "BooleanObject": { "base": null, "refs": { @@ -38,7 +45,7 @@ } }, "BufferingHints": { - "base": "

Describes hints for the buffering to perform before delivering data to the destination. Please note that these options are treated as hints, and therefore Firehose may choose to use different values when it is optimal.

", + "base": "

Describes hints for the buffering to perform before delivering data to the destination. Please note that these options are treated as hints, and therefore Kinesis Firehose may choose to use different values when it is optimal.

", "refs": { "ExtendedS3DestinationConfiguration$BufferingHints": "

The buffering option.

", "ExtendedS3DestinationDescription$BufferingHints": "

The buffering option.

", @@ -49,7 +56,7 @@ } }, "CloudWatchLoggingOptions": { - "base": "

Describes the CloudWatch logging options for your delivery stream.

", + "base": "

Describes the Amazon CloudWatch logging options for your delivery stream.

", "refs": { "ElasticsearchDestinationConfiguration$CloudWatchLoggingOptions": "

The CloudWatch logging options for your delivery stream.

", "ElasticsearchDestinationDescription$CloudWatchLoggingOptions": "

The CloudWatch logging options.

", @@ -100,7 +107,7 @@ "CopyOptions": { "base": null, "refs": { - "CopyCommand$CopyOptions": "

Optional parameters to use with the Amazon Redshift COPY command. For more information, see the \"Optional Parameters\" section of Amazon Redshift COPY command. Some possible examples that would apply to Firehose are as follows:

delimiter '\\t' lzop; - fields are delimited with \"\\t\" (TAB character) and compressed using lzop.

delimiter '| - fields are delimited with \"|\" (this is the default delimiter).

delimiter '|' escape - the delimiter should be escaped.

fixedwidth 'venueid:3,venuename:25,venuecity:12,venuestate:2,venueseats:6' - fields are fixed width in the source, with each width specified after every column in the table.

JSON 's3://mybucket/jsonpaths.txt' - data is in JSON format, and the path specified is the format of the data.

For more examples, see Amazon Redshift COPY command examples.

" + "CopyCommand$CopyOptions": "

Optional parameters to use with the Amazon Redshift COPY command. For more information, see the \"Optional Parameters\" section of Amazon Redshift COPY command. Some possible examples that would apply to Kinesis Firehose are as follows:

delimiter '\\t' lzop; - fields are delimited with \"\\t\" (TAB character) and compressed using lzop.

delimiter '|' - fields are delimited with \"|\" (this is the default delimiter).

delimiter '|' escape - the delimiter should be escaped.

fixedwidth 'venueid:3,venuename:25,venuecity:12,venuestate:2,venueseats:6' - fields are fixed width in the source, with each width specified after every column in the table.

JSON 's3://mybucket/jsonpaths.txt' - data is in JSON format, and the path specified is the format of the data.

For more examples, see Amazon Redshift COPY command examples.

" } }, "CreateDeliveryStreamInput": { @@ -141,11 +148,18 @@ "refs": { } }, + "DeliveryStartTimestamp": { + "base": null, + "refs": { + "KinesisStreamSourceDescription$DeliveryStartTimestamp": "

Kinesis Firehose starts retrieving records from the Kinesis stream starting with this time stamp.

" + } + }, "DeliveryStreamARN": { "base": null, "refs": { "CreateDeliveryStreamOutput$DeliveryStreamARN": "

The ARN of the delivery stream.

", - "DeliveryStreamDescription$DeliveryStreamARN": "

The Amazon Resource Name (ARN) of the delivery stream.

" + "DeliveryStreamDescription$DeliveryStreamARN": "

The Amazon Resource Name (ARN) of the delivery stream.

", + "GetKinesisStreamInput$DeliveryStreamARN": null } }, "DeliveryStreamDescription": { @@ -157,7 +171,7 @@ "DeliveryStreamName": { "base": null, "refs": { - "CreateDeliveryStreamInput$DeliveryStreamName": "

The name of the delivery stream. This name must be unique per AWS account in the same region. You can have multiple delivery streams with the same name if they are in different accounts or different regions.

", + "CreateDeliveryStreamInput$DeliveryStreamName": "

The name of the delivery stream. This name must be unique per AWS account in the same region. If the delivery streams are in different accounts or different regions, you can have multiple delivery streams with the same name.

", "DeleteDeliveryStreamInput$DeliveryStreamName": "

The name of the delivery stream.

", "DeliveryStreamDescription$DeliveryStreamName": "

The name of the delivery stream.

", "DeliveryStreamNameList$member": null, @@ -180,11 +194,19 @@ "DeliveryStreamDescription$DeliveryStreamStatus": "

The status of the delivery stream.

" } }, + "DeliveryStreamType": { + "base": null, + "refs": { + "CreateDeliveryStreamInput$DeliveryStreamType": "

The delivery stream type. This parameter can be one of the following values:

  • DirectPut: Provider applications access the delivery stream directly.

  • KinesisStreamAsSource: The delivery stream uses a Kinesis stream as a source.

", + "DeliveryStreamDescription$DeliveryStreamType": "

The delivery stream type. This can be one of the following values:

  • DirectPut: Provider applications access the delivery stream directly.

  • KinesisStreamAsSource: The delivery stream uses a Kinesis stream as a source.

", + "ListDeliveryStreamsInput$DeliveryStreamType": "

The delivery stream type. This can be one of the following values:

  • DirectPut: Provider applications access the delivery stream directly.

  • KinesisStreamAsSource: The delivery stream uses a Kinesis stream as a source.

This parameter is optional. If this parameter is omitted, delivery streams of all types are returned.

" + } + }, "DeliveryStreamVersionId": { "base": null, "refs": { "DeliveryStreamDescription$VersionId": "

Each time the destination is updated for a delivery stream, the version ID is changed, and the current version ID is required when updating the destination. This is so that the service knows it is applying the changes to the correct version of the delivery stream.

", - "UpdateDestinationInput$CurrentDeliveryStreamVersionId": "

Obtain this value from the VersionId result of DeliveryStreamDescription. This value is required, and helps the service to perform conditional operations. For example, if there is a interleaving update and this value is null, then the update destination fails. After the update is successful, the VersionId value is updated. The service then performs a merge of the old configuration with the new configuration.

" + "UpdateDestinationInput$CurrentDeliveryStreamVersionId": "

Obtain this value from the VersionId result of DeliveryStreamDescription. This value is required, and helps the service to perform conditional operations. For example, if there is an interleaving update and this value is null, then the update destination fails. After the update is successful, the VersionId value is updated. The service then performs a merge of the old configuration with the new configuration.

" } }, "DescribeDeliveryStreamInput": { @@ -218,7 +240,7 @@ "DestinationId": { "base": null, "refs": { - "DescribeDeliveryStreamInput$ExclusiveStartDestinationId": "

The ID of the destination to start returning the destination information. Currently Firehose supports one destination per delivery stream.

", + "DescribeDeliveryStreamInput$ExclusiveStartDestinationId": "

The ID of the destination to start returning the destination information. Currently, Kinesis Firehose supports one destination per delivery stream.

", "DestinationDescription$DestinationId": "

The ID of the destination.

", "UpdateDestinationInput$DestinationId": "

The ID of the destination.

" } @@ -280,29 +302,29 @@ "ElasticsearchIndexRotationPeriod": { "base": null, "refs": { - "ElasticsearchDestinationConfiguration$IndexRotationPeriod": "

The Elasticsearch index rotation period. Index rotation appends a timestamp to the IndexName to facilitate expiration of old data. For more information, see Index Rotation for Amazon Elasticsearch Service Destination. The default value is OneDay.

", + "ElasticsearchDestinationConfiguration$IndexRotationPeriod": "

The Elasticsearch index rotation period. Index rotation appends a time stamp to the IndexName to facilitate the expiration of old data. For more information, see Index Rotation for Amazon Elasticsearch Service Destination. The default value is OneDay.

", "ElasticsearchDestinationDescription$IndexRotationPeriod": "

The Elasticsearch index rotation period

", - "ElasticsearchDestinationUpdate$IndexRotationPeriod": "

The Elasticsearch index rotation period. Index rotation appends a timestamp to IndexName to facilitate the expiration of old data. For more information, see Index Rotation for Amazon Elasticsearch Service Destination. Default value is OneDay.

" + "ElasticsearchDestinationUpdate$IndexRotationPeriod": "

The Elasticsearch index rotation period. Index rotation appends a time stamp to IndexName to facilitate the expiration of old data. For more information, see Index Rotation for Amazon Elasticsearch Service Destination. Default value is OneDay.

" } }, "ElasticsearchRetryDurationInSeconds": { "base": null, "refs": { - "ElasticsearchRetryOptions$DurationInSeconds": "

After an initial failure to deliver to Amazon ES, the total amount of time during which Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. Default value is 300 seconds (5 minutes). A value of 0 (zero) results in no retries.

" + "ElasticsearchRetryOptions$DurationInSeconds": "

After an initial failure to deliver to Amazon ES, the total amount of time during which Kinesis Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. Default value is 300 seconds (5 minutes). A value of 0 (zero) results in no retries.

" } }, "ElasticsearchRetryOptions": { - "base": "

Configures retry behavior in the event that Firehose is unable to deliver documents to Amazon ES.

", + "base": "

Configures retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon ES.

", "refs": { - "ElasticsearchDestinationConfiguration$RetryOptions": "

The retry behavior in the event that Firehose is unable to deliver documents to Amazon ES. The default value is 300 (5 minutes).

", + "ElasticsearchDestinationConfiguration$RetryOptions": "

The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon ES. The default value is 300 (5 minutes).

", "ElasticsearchDestinationDescription$RetryOptions": "

The Amazon ES retry options.

", - "ElasticsearchDestinationUpdate$RetryOptions": "

The retry behavior in the event that Firehose is unable to deliver documents to Amazon ES. Default value is 300 (5 minutes).

" + "ElasticsearchDestinationUpdate$RetryOptions": "

The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon ES. The default value is 300 (5 minutes).

" } }, "ElasticsearchS3BackupMode": { "base": null, "refs": { - "ElasticsearchDestinationConfiguration$S3BackupMode": "

Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, Firehose writes any documents that could not be indexed to the configured Amazon S3 destination, with elasticsearch-failed/ appended to the key prefix. When set to AllDocuments, Firehose delivers all incoming records to Amazon S3, and also writes failed documents with elasticsearch-failed/ appended to the prefix. For more information, see Amazon S3 Backup for Amazon Elasticsearch Service Destination. Default value is FailedDocumentsOnly.

", + "ElasticsearchDestinationConfiguration$S3BackupMode": "

Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, Kinesis Firehose writes any documents that could not be indexed to the configured Amazon S3 destination, with elasticsearch-failed/ appended to the key prefix. When set to AllDocuments, Kinesis Firehose delivers all incoming records to Amazon S3, and also writes failed documents with elasticsearch-failed/ appended to the prefix. For more information, see Amazon S3 Backup for Amazon Elasticsearch Service Destination. Default value is FailedDocumentsOnly.

", "ElasticsearchDestinationDescription$S3BackupMode": "

The Amazon S3 backup mode.

" } }, @@ -336,6 +358,7 @@ "refs": { "ConcurrentModificationException$message": "

A message that provides information about the error.

", "InvalidArgumentException$message": "

A message that provides information about the error.

", + "InvalidStreamTypeException$message": null, "LimitExceededException$message": "

A message that provides information about the error.

", "PutRecordBatchResponseEntry$ErrorMessage": "

The error message for an individual record result.

", "ResourceInUseException$message": "

A message that provides information about the error.

", @@ -361,6 +384,22 @@ "UpdateDestinationInput$ExtendedS3DestinationUpdate": "

Describes an update for a destination in Amazon S3.

" } }, + "FirehoseSource": { + "base": null, + "refs": { + "InvalidStreamTypeException$source": null + } + }, + "GetKinesisStreamInput": { + "base": null, + "refs": { + } + }, + "GetKinesisStreamOutput": { + "base": null, + "refs": { + } + }, "IntervalInSeconds": { "base": null, "refs": { @@ -368,7 +407,12 @@ } }, "InvalidArgumentException": { - "base": "

The specified input parameter has an value that is not valid.

", + "base": "

The specified input parameter has a value that is not valid.

", + "refs": { + } + }, + "InvalidStreamTypeException": { + "base": null, "refs": { } }, @@ -378,6 +422,26 @@ "EncryptionConfiguration$KMSEncryptionConfig": "

The encryption key.

" } }, + "KinesisStreamARN": { + "base": null, + "refs": { + "GetKinesisStreamOutput$KinesisStreamARN": null, + "KinesisStreamSourceConfiguration$KinesisStreamARN": "

The ARN of the source Kinesis stream.

", + "KinesisStreamSourceDescription$KinesisStreamARN": "

The ARN of the source Kinesis stream.

" + } + }, + "KinesisStreamSourceConfiguration": { + "base": "

The stream and role ARNs for a Kinesis stream used as the source for a delivery stream.

", + "refs": { + "CreateDeliveryStreamInput$KinesisStreamSourceConfiguration": "

When a Kinesis stream is used as the source for the delivery stream, a KinesisStreamSourceConfiguration containing the Kinesis stream ARN and the role ARN for the source stream.

" + } + }, + "KinesisStreamSourceDescription": { + "base": "

Details about a Kinesis stream used as the source for a Kinesis Firehose delivery stream.

", + "refs": { + "SourceDescription$KinesisStreamSourceDescription": "

The KinesisStreamSourceDescription value for the source Kinesis stream.

" + } + }, "LimitExceededException": { "base": "

You have already reached the limit for a requested resource.

", "refs": { @@ -414,7 +478,7 @@ "NoEncryptionConfig": { "base": null, "refs": { - "EncryptionConfiguration$NoEncryptionConfig": "

Specifically override existing encryption information to ensure no encryption is used.

" + "EncryptionConfiguration$NoEncryptionConfig": "

Specifically override existing encryption information to ensure that no encryption is used.

" } }, "NonNegativeIntegerObject": { @@ -433,12 +497,12 @@ "Prefix": { "base": null, "refs": { - "ExtendedS3DestinationConfiguration$Prefix": "

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide.

", - "ExtendedS3DestinationDescription$Prefix": "

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide.

", - "ExtendedS3DestinationUpdate$Prefix": "

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide.

", - "S3DestinationConfiguration$Prefix": "

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide.

", - "S3DestinationDescription$Prefix": "

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide.

", - "S3DestinationUpdate$Prefix": "

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide.

" + "ExtendedS3DestinationConfiguration$Prefix": "

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide.

", + "ExtendedS3DestinationDescription$Prefix": "

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide.

", + "ExtendedS3DestinationUpdate$Prefix": "

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide.

", + "S3DestinationConfiguration$Prefix": "

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide.

", + "S3DestinationDescription$Prefix": "

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide.

", + "S3DestinationUpdate$Prefix": "

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide.

" } }, "ProcessingConfiguration": { @@ -570,15 +634,15 @@ "RedshiftRetryDurationInSeconds": { "base": null, "refs": { - "RedshiftRetryOptions$DurationInSeconds": "

The length of time during which Firehose retries delivery after a failure, starting from the initial request and including the first attempt. The default value is 3600 seconds (60 minutes). Firehose does not retry if the value of DurationInSeconds is 0 (zero) or if the first delivery attempt takes longer than the current value.

" + "RedshiftRetryOptions$DurationInSeconds": "

The length of time during which Kinesis Firehose retries delivery after a failure, starting from the initial request and including the first attempt. The default value is 3600 seconds (60 minutes). Kinesis Firehose does not retry if the value of DurationInSeconds is 0 (zero) or if the first delivery attempt takes longer than the current value.

" } }, "RedshiftRetryOptions": { - "base": "

Configures retry behavior in the event that Firehose is unable to deliver documents to Amazon Redshift.

", + "base": "

Configures retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon Redshift.

", "refs": { - "RedshiftDestinationConfiguration$RetryOptions": "

The retry behavior in the event that Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).

", - "RedshiftDestinationDescription$RetryOptions": "

The retry behavior in the event that Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).

", - "RedshiftDestinationUpdate$RetryOptions": "

The retry behavior in the event that Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).

" + "RedshiftDestinationConfiguration$RetryOptions": "

The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).

", + "RedshiftDestinationDescription$RetryOptions": "

The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).

", + "RedshiftDestinationUpdate$RetryOptions": "

The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).

" } }, "RedshiftS3BackupMode": { @@ -602,12 +666,14 @@ "RoleARN": { "base": null, "refs": { - "ElasticsearchDestinationConfiguration$RoleARN": "

The ARN of the IAM role to be assumed by Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see Amazon S3 Bucket Access.

", + "ElasticsearchDestinationConfiguration$RoleARN": "

The ARN of the IAM role to be assumed by Kinesis Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see Amazon S3 Bucket Access.

", "ElasticsearchDestinationDescription$RoleARN": "

The ARN of the AWS credentials.

", - "ElasticsearchDestinationUpdate$RoleARN": "

The ARN of the IAM role to be assumed by Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see Amazon S3 Bucket Access.

", + "ElasticsearchDestinationUpdate$RoleARN": "

The ARN of the IAM role to be assumed by Kinesis Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see Amazon S3 Bucket Access.

", "ExtendedS3DestinationConfiguration$RoleARN": "

The ARN of the AWS credentials.

", "ExtendedS3DestinationDescription$RoleARN": "

The ARN of the AWS credentials.

", "ExtendedS3DestinationUpdate$RoleARN": "

The ARN of the AWS credentials.

", + "KinesisStreamSourceConfiguration$RoleARN": "

The ARN of the role that provides access to the source Kinesis stream.

", + "KinesisStreamSourceDescription$RoleARN": "

The ARN of the role used by the source Kinesis stream.

", "RedshiftDestinationConfiguration$RoleARN": "

The ARN of the AWS credentials.

", "RedshiftDestinationDescription$RoleARN": "

The ARN of the AWS credentials.

", "RedshiftDestinationUpdate$RoleARN": "

The ARN of the AWS credentials.

", @@ -628,7 +694,7 @@ "base": "

Describes the configuration of a destination in Amazon S3.

", "refs": { "CreateDeliveryStreamInput$S3DestinationConfiguration": "

[Deprecated] The destination in Amazon S3. You can specify only one destination.

", - "ElasticsearchDestinationConfiguration$S3Configuration": "

The configuration for the intermediate Amazon S3 location from which Amazon ES obtains data.

", + "ElasticsearchDestinationConfiguration$S3Configuration": "

The configuration for the backup Amazon S3 location.

", "ExtendedS3DestinationConfiguration$S3BackupConfiguration": "

The configuration for backup in Amazon S3.

", "RedshiftDestinationConfiguration$S3Configuration": "

The configuration for the intermediate Amazon S3 location from which Amazon Redshift obtains data. Restrictions are described in the topic for CreateDeliveryStream.

The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration because the Amazon Redshift COPY operation that reads from the S3 bucket doesn't support these compression formats.

", "RedshiftDestinationConfiguration$S3BackupConfiguration": "

The configuration for backup in Amazon S3.

" @@ -654,22 +720,47 @@ "UpdateDestinationInput$S3DestinationUpdate": "

[Deprecated] Describes an update for a destination in Amazon S3.

" } }, + "SecretAccessKey": { + "base": null, + "refs": { + "SessionCredentials$SecretAccessKey": null + } + }, "ServiceUnavailableException": { "base": "

The service is unavailable, back off and retry the operation. If you continue to see the exception, throughput limits for the delivery stream may have been exceeded. For more information about limits and how to request an increase, see Amazon Kinesis Firehose Limits.

", "refs": { } }, + "SessionCredentials": { + "base": null, + "refs": { + "GetKinesisStreamOutput$CredentialsForReadingKinesisStream": null + } + }, + "SessionToken": { + "base": null, + "refs": { + "SessionCredentials$SessionToken": null + } + }, "SizeInMBs": { "base": null, "refs": { "BufferingHints$SizeInMBs": "

Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5.

We recommend setting this parameter to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec, the value should be 10 MB or higher.

" } }, + "SourceDescription": { + "base": "

Details about a Kinesis stream used as the source for a Kinesis Firehose delivery stream.

", + "refs": { + "DeliveryStreamDescription$Source": "

If the DeliveryStreamType parameter is KinesisStreamAsSource, a SourceDescription object describing the source Kinesis stream.

" + } + }, "Timestamp": { "base": null, "refs": { "DeliveryStreamDescription$CreateTimestamp": "

The date and time that the delivery stream was created.

", - "DeliveryStreamDescription$LastUpdateTimestamp": "

The date and time that the delivery stream was last updated.

" + "DeliveryStreamDescription$LastUpdateTimestamp": "

The date and time that the delivery stream was last updated.

", + "SessionCredentials$Expiration": null } }, "UpdateDestinationInput": { diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/firehose/2015-08-04/paginators-1.json b/vendor/github.com/aws/aws-sdk-go/models/apis/firehose/2015-08-04/paginators-1.json new file mode 100644 index 000000000..5677bd8e4 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/firehose/2015-08-04/paginators-1.json @@ -0,0 +1,4 @@ +{ + "pagination": { + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/gamelift/2015-10-01/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/gamelift/2015-10-01/api-2.json index 6d47ede80..1b6f23c7b 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/gamelift/2015-10-01/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/gamelift/2015-10-01/api-2.json @@ -11,6 +11,21 @@ "uid":"gamelift-2015-10-01" }, "operations":{ + "AcceptMatch":{ + "name":"AcceptMatch", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AcceptMatchInput"}, + "output":{"shape":"AcceptMatchOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"UnsupportedRegionException"} + ] + }, "CreateAlias":{ "name":"CreateAlias", "http":{ @@ -95,6 +110,36 @@ {"shape":"LimitExceededException"} ] }, + "CreateMatchmakingConfiguration":{ + "name":"CreateMatchmakingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateMatchmakingConfigurationInput"}, + "output":{"shape":"CreateMatchmakingConfigurationOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"UnsupportedRegionException"} + ] + }, + "CreateMatchmakingRuleSet":{ + "name":"CreateMatchmakingRuleSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateMatchmakingRuleSetInput"}, + "output":{"shape":"CreateMatchmakingRuleSetOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceException"}, + {"shape":"UnsupportedRegionException"} + ] + }, "CreatePlayerSession":{ "name":"CreatePlayerSession", "http":{ @@ -131,6 +176,36 @@ {"shape":"NotFoundException"} ] }, + "CreateVpcPeeringAuthorization":{ + "name":"CreateVpcPeeringAuthorization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateVpcPeeringAuthorizationInput"}, + "output":{"shape":"CreateVpcPeeringAuthorizationOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"} + ] + }, + "CreateVpcPeeringConnection":{ + "name":"CreateVpcPeeringConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateVpcPeeringConnectionInput"}, + "output":{"shape":"CreateVpcPeeringConnectionOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"} + ] + }, "DeleteAlias":{ "name":"DeleteAlias", "http":{ @@ -189,6 +264,21 @@ {"shape":"UnauthorizedException"} ] }, + "DeleteMatchmakingConfiguration":{ + "name":"DeleteMatchmakingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteMatchmakingConfigurationInput"}, + "output":{"shape":"DeleteMatchmakingConfigurationOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"UnsupportedRegionException"} + ] + }, "DeleteScalingPolicy":{ "name":"DeleteScalingPolicy", "http":{ @@ -203,6 +293,36 @@ {"shape":"NotFoundException"} ] }, + "DeleteVpcPeeringAuthorization":{ + "name":"DeleteVpcPeeringAuthorization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteVpcPeeringAuthorizationInput"}, + "output":{"shape":"DeleteVpcPeeringAuthorizationOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"} + ] + }, + "DeleteVpcPeeringConnection":{ + "name":"DeleteVpcPeeringConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteVpcPeeringConnectionInput"}, + "output":{"shape":"DeleteVpcPeeringConnectionOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"} + ] + }, "DescribeAlias":{ "name":"DescribeAlias", "http":{ @@ -399,6 +519,49 @@ {"shape":"InternalServiceException"} ] }, + "DescribeMatchmaking":{ + "name":"DescribeMatchmaking", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeMatchmakingInput"}, + "output":{"shape":"DescribeMatchmakingOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceException"}, + {"shape":"UnsupportedRegionException"} + ] + }, + "DescribeMatchmakingConfigurations":{ + "name":"DescribeMatchmakingConfigurations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeMatchmakingConfigurationsInput"}, + "output":{"shape":"DescribeMatchmakingConfigurationsOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceException"}, + {"shape":"UnsupportedRegionException"} + ] + }, + "DescribeMatchmakingRuleSets":{ + "name":"DescribeMatchmakingRuleSets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeMatchmakingRuleSetsInput"}, + "output":{"shape":"DescribeMatchmakingRuleSetsOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceException"}, + {"shape":"NotFoundException"}, + {"shape":"UnsupportedRegionException"} + ] + }, "DescribePlayerSessions":{ "name":"DescribePlayerSessions", "http":{ @@ -444,6 +607,35 @@ {"shape":"NotFoundException"} ] }, + "DescribeVpcPeeringAuthorizations":{ + "name":"DescribeVpcPeeringAuthorizations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeVpcPeeringAuthorizationsInput"}, + "output":{"shape":"DescribeVpcPeeringAuthorizationsOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceException"} + ] + }, + "DescribeVpcPeeringConnections":{ + "name":"DescribeVpcPeeringConnections", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeVpcPeeringConnectionsInput"}, + "output":{"shape":"DescribeVpcPeeringConnectionsOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"} + ] + }, "GetGameSessionLogUrl":{ "name":"GetGameSessionLogUrl", "http":{ @@ -594,6 +786,21 @@ {"shape":"UnauthorizedException"} ] }, + "StartMatchmaking":{ + "name":"StartMatchmaking", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartMatchmakingInput"}, + "output":{"shape":"StartMatchmakingOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"UnsupportedRegionException"} + ] + }, "StopGameSessionPlacement":{ "name":"StopGameSessionPlacement", "http":{ @@ -609,6 +816,21 @@ {"shape":"UnauthorizedException"} ] }, + "StopMatchmaking":{ + "name":"StopMatchmaking", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopMatchmakingInput"}, + "output":{"shape":"StopMatchmakingOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"UnsupportedRegionException"} + ] + }, "UpdateAlias":{ "name":"UpdateAlias", "http":{ @@ -725,6 +947,21 @@ {"shape":"UnauthorizedException"} ] }, + "UpdateMatchmakingConfiguration":{ + "name":"UpdateMatchmakingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateMatchmakingConfigurationInput"}, + "output":{"shape":"UpdateMatchmakingConfigurationOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"UnsupportedRegionException"} + ] + }, "UpdateRuntimeConfiguration":{ "name":"UpdateRuntimeConfiguration", "http":{ @@ -740,9 +977,48 @@ {"shape":"InvalidRequestException"}, {"shape":"InvalidFleetStatusException"} ] + }, + "ValidateMatchmakingRuleSet":{ + "name":"ValidateMatchmakingRuleSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ValidateMatchmakingRuleSetInput"}, + "output":{"shape":"ValidateMatchmakingRuleSetOutput"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"UnsupportedRegionException"}, + {"shape":"InvalidRequestException"} + ] } }, "shapes":{ + "AcceptMatchInput":{ + "type":"structure", + "required":[ + "TicketId", + "PlayerIds", + "AcceptanceType" + ], + "members":{ + "TicketId":{"shape":"MatchmakingIdStringModel"}, + "PlayerIds":{"shape":"MatchmakingPlayerIdList"}, + "AcceptanceType":{"shape":"AcceptanceType"} + } + }, + "AcceptMatchOutput":{ + "type":"structure", + "members":{ + } + }, + "AcceptanceType":{ + "type":"string", + "enum":[ + "ACCEPT", + "REJECT" + ] + }, "Alias":{ "type":"structure", "members":{ @@ -769,6 +1045,15 @@ "min":1, "pattern":"[a-zA-Z0-9:/-]+" }, + "AttributeValue":{ + "type":"structure", + "members":{ + "S":{"shape":"NonZeroAndMaxString"}, + "N":{"shape":"DoubleObject"}, + "SL":{"shape":"StringList"}, + "SDM":{"shape":"StringDoubleMap"} + } + }, "AwsCredentials":{ "type":"structure", "members":{ @@ -778,6 +1063,7 @@ }, "sensitive":true }, + "Boolean":{"type":"boolean"}, "Build":{ "type":"structure", "members":{ @@ -876,7 +1162,9 @@ "NewGameSessionProtectionPolicy":{"shape":"ProtectionPolicy"}, "RuntimeConfiguration":{"shape":"RuntimeConfiguration"}, "ResourceCreationLimitPolicy":{"shape":"ResourceCreationLimitPolicy"}, - "MetricGroups":{"shape":"MetricGroupList"} + "MetricGroups":{"shape":"MetricGroupList"}, + "PeerVpcAwsAccountId":{"shape":"NonZeroAndMaxString"}, + "PeerVpcId":{"shape":"NonZeroAndMaxString"} } }, "CreateFleetOutput":{ @@ -896,7 +1184,8 @@ "GameProperties":{"shape":"GamePropertyList"}, "CreatorId":{"shape":"NonZeroAndMaxString"}, "GameSessionId":{"shape":"IdStringModel"}, - "IdempotencyToken":{"shape":"IdStringModel"} + "IdempotencyToken":{"shape":"IdStringModel"}, + "GameSessionData":{"shape":"GameSessionData"} } }, "CreateGameSessionOutput":{ @@ -921,6 +1210,54 @@ "GameSessionQueue":{"shape":"GameSessionQueue"} } }, + "CreateMatchmakingConfigurationInput":{ + "type":"structure", + "required":[ + "Name", + "GameSessionQueueArns", + "RequestTimeoutSeconds", + "AcceptanceRequired", + "RuleSetName" + ], + "members":{ + "Name":{"shape":"MatchmakingIdStringModel"}, + "Description":{"shape":"NonZeroAndMaxString"}, + "GameSessionQueueArns":{"shape":"QueueArnsList"}, + "RequestTimeoutSeconds":{"shape":"MatchmakingRequestTimeoutInteger"}, + "AcceptanceTimeoutSeconds":{"shape":"MatchmakingAcceptanceTimeoutInteger"}, + "AcceptanceRequired":{"shape":"Boolean"}, + "RuleSetName":{"shape":"MatchmakingIdStringModel"}, + "NotificationTarget":{"shape":"SnsArnStringModel"}, + "AdditionalPlayerCount":{"shape":"WholeNumber"}, + "CustomEventData":{"shape":"CustomEventData"}, + "GameProperties":{"shape":"GamePropertyList"}, + "GameSessionData":{"shape":"GameSessionData"} + } + }, + "CreateMatchmakingConfigurationOutput":{ + "type":"structure", + "members":{ + "Configuration":{"shape":"MatchmakingConfiguration"} + } + }, + "CreateMatchmakingRuleSetInput":{ + "type":"structure", + "required":[ + "Name", + "RuleSetBody" + ], + "members":{ + "Name":{"shape":"MatchmakingIdStringModel"}, + "RuleSetBody":{"shape":"RuleSetBody"} + } + }, + "CreateMatchmakingRuleSetOutput":{ + "type":"structure", + "required":["RuleSet"], + "members":{ + "RuleSet":{"shape":"MatchmakingRuleSet"} + } + }, "CreatePlayerSessionInput":{ "type":"structure", "required":[ @@ -957,6 +1294,46 @@ "PlayerSessions":{"shape":"PlayerSessionList"} } }, + "CreateVpcPeeringAuthorizationInput":{ + "type":"structure", + "required":[ + "GameLiftAwsAccountId", + "PeerVpcId" + ], + "members":{ + "GameLiftAwsAccountId":{"shape":"NonZeroAndMaxString"}, + "PeerVpcId":{"shape":"NonZeroAndMaxString"} + } + }, + "CreateVpcPeeringAuthorizationOutput":{ + "type":"structure", + "members":{ + "VpcPeeringAuthorization":{"shape":"VpcPeeringAuthorization"} + } + }, + "CreateVpcPeeringConnectionInput":{ + "type":"structure", + "required":[ + "FleetId", + "PeerVpcAwsAccountId", + "PeerVpcId" + ], + "members":{ + "FleetId":{"shape":"FleetId"}, + "PeerVpcAwsAccountId":{"shape":"NonZeroAndMaxString"}, + "PeerVpcId":{"shape":"NonZeroAndMaxString"} + } + }, + "CreateVpcPeeringConnectionOutput":{ + "type":"structure", + "members":{ + } + }, + "CustomEventData":{ + "type":"string", + "max":256, + "min":0 + }, "DeleteAliasInput":{ "type":"structure", "required":["AliasId"], @@ -990,6 +1367,18 @@ "members":{ } }, + "DeleteMatchmakingConfigurationInput":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"MatchmakingIdStringModel"} + } + }, + "DeleteMatchmakingConfigurationOutput":{ + "type":"structure", + "members":{ + } + }, "DeleteScalingPolicyInput":{ "type":"structure", "required":[ @@ -1001,6 +1390,38 @@ "FleetId":{"shape":"FleetId"} } }, + "DeleteVpcPeeringAuthorizationInput":{ + "type":"structure", + "required":[ + "GameLiftAwsAccountId", + "PeerVpcId" + ], + "members":{ + "GameLiftAwsAccountId":{"shape":"NonZeroAndMaxString"}, + "PeerVpcId":{"shape":"NonZeroAndMaxString"} + } + }, + "DeleteVpcPeeringAuthorizationOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteVpcPeeringConnectionInput":{ + "type":"structure", + "required":[ + "FleetId", + "VpcPeeringConnectionId" + ], + "members":{ + "FleetId":{"shape":"FleetId"}, + "VpcPeeringConnectionId":{"shape":"NonZeroAndMaxString"} + } + }, + "DeleteVpcPeeringConnectionOutput":{ + "type":"structure", + "members":{ + } + }, "DescribeAliasInput":{ "type":"structure", "required":["AliasId"], @@ -1196,6 +1617,51 @@ "NextToken":{"shape":"NonZeroAndMaxString"} } }, + "DescribeMatchmakingConfigurationsInput":{ + "type":"structure", + "members":{ + "Names":{"shape":"MatchmakingIdList"}, + "RuleSetName":{"shape":"MatchmakingIdStringModel"}, + "Limit":{"shape":"PositiveInteger"}, + "NextToken":{"shape":"NonZeroAndMaxString"} + } + }, + "DescribeMatchmakingConfigurationsOutput":{ + "type":"structure", + "members":{ + "Configurations":{"shape":"MatchmakingConfigurationList"}, + "NextToken":{"shape":"NonZeroAndMaxString"} + } + }, + "DescribeMatchmakingInput":{ + "type":"structure", + "required":["TicketIds"], + "members":{ + "TicketIds":{"shape":"MatchmakingIdList"} + } + }, + "DescribeMatchmakingOutput":{ + "type":"structure", + "members":{ + "TicketList":{"shape":"MatchmakingTicketList"} + } + }, + "DescribeMatchmakingRuleSetsInput":{ + "type":"structure", + "members":{ + "Names":{"shape":"MatchmakingRuleSetNameList"}, + "Limit":{"shape":"RuleSetLimit"}, + "NextToken":{"shape":"NonZeroAndMaxString"} + } + }, + "DescribeMatchmakingRuleSetsOutput":{ + "type":"structure", + "required":["RuleSets"], + "members":{ + "RuleSets":{"shape":"MatchmakingRuleSetList"}, + "NextToken":{"shape":"NonZeroAndMaxString"} + } + }, "DescribePlayerSessionsInput":{ "type":"structure", "members":{ @@ -1244,6 +1710,29 @@ "NextToken":{"shape":"NonZeroAndMaxString"} } }, + "DescribeVpcPeeringAuthorizationsInput":{ + "type":"structure", + "members":{ + } + }, + "DescribeVpcPeeringAuthorizationsOutput":{ + "type":"structure", + "members":{ + "VpcPeeringAuthorizations":{"shape":"VpcPeeringAuthorizationList"} + } + }, + "DescribeVpcPeeringConnectionsInput":{ + "type":"structure", + "members":{ + "FleetId":{"shape":"FleetId"} + } + }, + "DescribeVpcPeeringConnectionsOutput":{ + "type":"structure", + "members":{ + "VpcPeeringConnections":{"shape":"VpcPeeringConnectionList"} + } + }, "DesiredPlayerSession":{ "type":"structure", "members":{ @@ -1256,6 +1745,7 @@ "member":{"shape":"DesiredPlayerSession"} }, "Double":{"type":"double"}, + "DoubleObject":{"type":"double"}, "EC2InstanceCounts":{ "type":"structure", "members":{ @@ -1302,6 +1792,12 @@ "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", + "r4.large", + "r4.xlarge", + "r4.2xlarge", + "r4.4xlarge", + "r4.8xlarge", + "r4.16xlarge", "m3.medium", "m3.large", "m3.xlarge", @@ -1355,7 +1851,10 @@ "GAME_SESSION_ACTIVATION_TIMEOUT", "FLEET_CREATION_EXTRACTING_BUILD", "FLEET_CREATION_RUNNING_INSTALLER", - "FLEET_CREATION_VALIDATING_RUNTIME_CONFIG" + "FLEET_CREATION_VALIDATING_RUNTIME_CONFIG", + "FLEET_VPC_PEERING_SUCCEEDED", + "FLEET_VPC_PEERING_FAILED", + "FLEET_VPC_PEERING_DELETED" ] }, "EventList":{ @@ -1483,7 +1982,8 @@ "IpAddress":{"shape":"IpAddress"}, "Port":{"shape":"PortNumber"}, "PlayerSessionCreationPolicy":{"shape":"PlayerSessionCreationPolicy"}, - "CreatorId":{"shape":"NonZeroAndMaxString"} + "CreatorId":{"shape":"NonZeroAndMaxString"}, + "GameSessionData":{"shape":"GameSessionData"} } }, "GameSessionActivationTimeoutSeconds":{ @@ -1491,6 +1991,20 @@ "max":600, "min":1 }, + "GameSessionConnectionInfo":{ + "type":"structure", + "members":{ + "GameSessionArn":{"shape":"ArnStringModel"}, + "IpAddress":{"shape":"StringModel"}, + "Port":{"shape":"PositiveInteger"}, + "MatchedPlayerSessions":{"shape":"MatchedPlayerSessionList"} + } + }, + "GameSessionData":{ + "type":"string", + "max":4096, + "min":1 + }, "GameSessionDetail":{ "type":"structure", "members":{ @@ -1530,7 +2044,8 @@ "EndTime":{"shape":"Timestamp"}, "IpAddress":{"shape":"IpAddress"}, "Port":{"shape":"PortNumber"}, - "PlacedPlayerSessions":{"shape":"PlacedPlayerSessionList"} + "PlacedPlayerSessions":{"shape":"PlacedPlayerSessionList"}, + "GameSessionData":{"shape":"GameSessionData"} } }, "GameSessionPlacementState":{ @@ -1733,6 +2248,11 @@ "UDP" ] }, + "LatencyMap":{ + "type":"map", + "key":{"shape":"NonEmptyString"}, + "value":{"shape":"PositiveInteger"} + }, "LimitExceededException":{ "type":"structure", "members":{ @@ -1786,6 +2306,114 @@ "NextToken":{"shape":"NonZeroAndMaxString"} } }, + "MatchedPlayerSession":{ + "type":"structure", + "members":{ + "PlayerId":{"shape":"NonZeroAndMaxString"}, + "PlayerSessionId":{"shape":"PlayerSessionId"} + } + }, + "MatchedPlayerSessionList":{ + "type":"list", + "member":{"shape":"MatchedPlayerSession"} + }, + "MatchmakingAcceptanceTimeoutInteger":{ + "type":"integer", + "max":600, + "min":1 + }, + "MatchmakingConfiguration":{ + "type":"structure", + "members":{ + "Name":{"shape":"MatchmakingIdStringModel"}, + "Description":{"shape":"NonZeroAndMaxString"}, + "GameSessionQueueArns":{"shape":"QueueArnsList"}, + "RequestTimeoutSeconds":{"shape":"MatchmakingRequestTimeoutInteger"}, + "AcceptanceTimeoutSeconds":{"shape":"MatchmakingAcceptanceTimeoutInteger"}, + "AcceptanceRequired":{"shape":"Boolean"}, + "RuleSetName":{"shape":"MatchmakingIdStringModel"}, + "NotificationTarget":{"shape":"SnsArnStringModel"}, + "AdditionalPlayerCount":{"shape":"WholeNumber"}, + "CustomEventData":{"shape":"CustomEventData"}, + "CreationTime":{"shape":"Timestamp"}, + "GameProperties":{"shape":"GamePropertyList"}, + "GameSessionData":{"shape":"GameSessionData"} + } + }, + "MatchmakingConfigurationList":{ + "type":"list", + "member":{"shape":"MatchmakingConfiguration"} + }, + "MatchmakingConfigurationStatus":{ + "type":"string", + "enum":[ + "CANCELLED", + "COMPLETED", + "FAILED", + "PLACING", + "QUEUED", + "REQUIRES_ACCEPTANCE", + "SEARCHING", + "TIMED_OUT" + ] + }, + "MatchmakingIdList":{ + "type":"list", + "member":{"shape":"MatchmakingIdStringModel"} + }, + "MatchmakingIdStringModel":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9-\\.]+" + }, + "MatchmakingPlayerIdList":{ + "type":"list", + "member":{"shape":"PlayerIdStringModel"} + }, + "MatchmakingRequestTimeoutInteger":{ + "type":"integer", + "max":43200, + "min":1 + }, + "MatchmakingRuleSet":{ + "type":"structure", + "required":["RuleSetBody"], + "members":{ + "RuleSetName":{"shape":"MatchmakingIdStringModel"}, + "RuleSetBody":{"shape":"RuleSetBody"}, + "CreationTime":{"shape":"Timestamp"} + } + }, + "MatchmakingRuleSetList":{ + "type":"list", + "member":{"shape":"MatchmakingRuleSet"} + }, + "MatchmakingRuleSetNameList":{ + "type":"list", + "member":{"shape":"MatchmakingIdStringModel"}, + "max":10, + "min":1 + }, + "MatchmakingTicket":{ + "type":"structure", + "members":{ + "TicketId":{"shape":"MatchmakingIdStringModel"}, + "ConfigurationName":{"shape":"MatchmakingIdStringModel"}, + "Status":{"shape":"MatchmakingConfigurationStatus"}, + "StatusReason":{"shape":"StringModel"}, + "StatusMessage":{"shape":"StringModel"}, + "StartTime":{"shape":"Timestamp"}, + "EndTime":{"shape":"Timestamp"}, + "Players":{"shape":"PlayerList"}, + "GameSessionConnectionInfo":{"shape":"GameSessionConnectionInfo"}, + "EstimatedWaitTime":{"shape":"WholeNumber"} + } + }, + "MatchmakingTicketList":{ + "type":"list", + "member":{"shape":"MatchmakingTicket"} + }, "MaxConcurrentGameSessionActivations":{ "type":"integer", "max":2147483647, @@ -1861,6 +2489,20 @@ "type":"list", "member":{"shape":"PlacedPlayerSession"} }, + "Player":{ + "type":"structure", + "members":{ + "PlayerId":{"shape":"PlayerIdStringModel"}, + "PlayerAttributes":{"shape":"PlayerAttributeMap"}, + "Team":{"shape":"NonZeroAndMaxString"}, + "LatencyInMs":{"shape":"LatencyMap"} + } + }, + "PlayerAttributeMap":{ + "type":"map", + "key":{"shape":"NonZeroAndMaxString"}, + "value":{"shape":"AttributeValue"} + }, "PlayerData":{ "type":"string", "max":2048, @@ -1877,6 +2519,12 @@ "max":25, "min":1 }, + "PlayerIdStringModel":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9-\\.]+" + }, "PlayerLatency":{ "type":"structure", "members":{ @@ -1900,6 +2548,10 @@ "type":"list", "member":{"shape":"PlayerLatencyPolicy"} }, + "PlayerList":{ + "type":"list", + "member":{"shape":"Player"} + }, "PlayerSession":{ "type":"structure", "members":{ @@ -1988,6 +2640,10 @@ "Name":{"shape":"NonZeroAndMaxString"} } }, + "QueueArnsList":{ + "type":"list", + "member":{"shape":"ArnStringModel"} + }, "RequestUploadCredentialsInput":{ "type":"structure", "required":["BuildId"], @@ -2037,6 +2693,16 @@ "TERMINAL" ] }, + "RuleSetBody":{ + "type":"string", + "max":65535, + "min":1 + }, + "RuleSetLimit":{ + "type":"integer", + "max":10, + "min":1 + }, "RuntimeConfiguration":{ "type":"structure", "members":{ @@ -2127,6 +2793,12 @@ "max":50, "min":1 }, + "SnsArnStringModel":{ + "type":"string", + "max":300, + "min":0, + "pattern":"[a-zA-Z0-9:_/-]*" + }, "StartGameSessionPlacementInput":{ "type":"structure", "required":[ @@ -2141,7 +2813,8 @@ "MaximumPlayerSessionCount":{"shape":"WholeNumber"}, "GameSessionName":{"shape":"NonZeroAndMaxString"}, "PlayerLatencies":{"shape":"PlayerLatencyList"}, - "DesiredPlayerSessions":{"shape":"DesiredPlayerSessionList"} + "DesiredPlayerSessions":{"shape":"DesiredPlayerSessionList"}, + "GameSessionData":{"shape":"GameSessionData"} } }, "StartGameSessionPlacementOutput":{ @@ -2150,6 +2823,24 @@ "GameSessionPlacement":{"shape":"GameSessionPlacement"} } }, + "StartMatchmakingInput":{ + "type":"structure", + "required":[ + "ConfigurationName", + "Players" + ], + "members":{ + "TicketId":{"shape":"MatchmakingIdStringModel"}, + "ConfigurationName":{"shape":"MatchmakingIdStringModel"}, + "Players":{"shape":"PlayerList"} + } + }, + "StartMatchmakingOutput":{ + "type":"structure", + "members":{ + "MatchmakingTicket":{"shape":"MatchmakingTicket"} + } + }, "StopGameSessionPlacementInput":{ "type":"structure", "required":["PlacementId"], @@ -2163,10 +2854,28 @@ "GameSessionPlacement":{"shape":"GameSessionPlacement"} } }, + "StopMatchmakingInput":{ + "type":"structure", + "required":["TicketId"], + "members":{ + "TicketId":{"shape":"MatchmakingIdStringModel"} + } + }, + "StopMatchmakingOutput":{ + "type":"structure", + "members":{ + } + }, + "StringDoubleMap":{ + "type":"map", + "key":{"shape":"NonZeroAndMaxString"}, + "value":{"shape":"DoubleObject"} + }, "StringList":{ "type":"list", "member":{"shape":"NonZeroAndMaxString"} }, + "StringModel":{"type":"string"}, "TerminalRoutingStrategyException":{ "type":"structure", "members":{ @@ -2182,6 +2891,13 @@ }, "exception":true }, + "UnsupportedRegionException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"} + }, + "exception":true + }, "UpdateAliasInput":{ "type":"structure", "required":["AliasId"], @@ -2295,6 +3011,30 @@ "GameSessionQueue":{"shape":"GameSessionQueue"} } }, + "UpdateMatchmakingConfigurationInput":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"MatchmakingIdStringModel"}, + "Description":{"shape":"NonZeroAndMaxString"}, + "GameSessionQueueArns":{"shape":"QueueArnsList"}, + "RequestTimeoutSeconds":{"shape":"MatchmakingRequestTimeoutInteger"}, + "AcceptanceTimeoutSeconds":{"shape":"MatchmakingAcceptanceTimeoutInteger"}, + "AcceptanceRequired":{"shape":"Boolean"}, + "RuleSetName":{"shape":"MatchmakingIdStringModel"}, + "NotificationTarget":{"shape":"SnsArnStringModel"}, + "AdditionalPlayerCount":{"shape":"WholeNumber"}, + "CustomEventData":{"shape":"CustomEventData"}, + "GameProperties":{"shape":"GamePropertyList"}, + "GameSessionData":{"shape":"GameSessionData"} + } + }, + "UpdateMatchmakingConfigurationOutput":{ + "type":"structure", + "members":{ + "Configuration":{"shape":"MatchmakingConfiguration"} + } + }, "UpdateRuntimeConfigurationInput":{ "type":"structure", "required":[ @@ -2312,6 +3052,55 @@ "RuntimeConfiguration":{"shape":"RuntimeConfiguration"} } }, + "ValidateMatchmakingRuleSetInput":{ + "type":"structure", + "required":["RuleSetBody"], + "members":{ + "RuleSetBody":{"shape":"RuleSetBody"} + } + }, + "ValidateMatchmakingRuleSetOutput":{ + "type":"structure", + "members":{ + "Valid":{"shape":"Boolean"} + } + }, + "VpcPeeringAuthorization":{ + "type":"structure", + "members":{ + "GameLiftAwsAccountId":{"shape":"NonZeroAndMaxString"}, + "PeerVpcAwsAccountId":{"shape":"NonZeroAndMaxString"}, + "PeerVpcId":{"shape":"NonZeroAndMaxString"}, + "CreationTime":{"shape":"Timestamp"}, + "ExpirationTime":{"shape":"Timestamp"} + } + }, + "VpcPeeringAuthorizationList":{ + "type":"list", + "member":{"shape":"VpcPeeringAuthorization"} + }, + "VpcPeeringConnection":{ + "type":"structure", + "members":{ + "FleetId":{"shape":"FleetId"}, + "IpV4CidrBlock":{"shape":"NonZeroAndMaxString"}, + "VpcPeeringConnectionId":{"shape":"NonZeroAndMaxString"}, + "Status":{"shape":"VpcPeeringConnectionStatus"}, + "PeerVpcId":{"shape":"NonZeroAndMaxString"}, + "GameLiftVpcId":{"shape":"NonZeroAndMaxString"} + } + }, + "VpcPeeringConnectionList":{ + "type":"list", + "member":{"shape":"VpcPeeringConnection"} + }, + "VpcPeeringConnectionStatus":{ + "type":"structure", + "members":{ + "Code":{"shape":"NonZeroAndMaxString"}, + "Message":{"shape":"NonZeroAndMaxString"} + } + }, "WholeNumber":{ "type":"integer", "min":0 diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/gamelift/2015-10-01/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/gamelift/2015-10-01/docs-2.json index d627cf26b..e247689fd 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/gamelift/2015-10-01/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/gamelift/2015-10-01/docs-2.json @@ -1,19 +1,27 @@ { "version": "2.0", - "service": "Amazon GameLift Service

Amazon GameLift is a managed service for developers who need a scalable, dedicated server solution for their multiplayer games. Amazon GameLift provides tools for the following tasks: (1) acquire computing resources and deploy game servers, (2) scale game server capacity to meet player demand, (3) host game sessions and manage player access, and (4) track in-depth metrics on player usage and server performance.

The Amazon GameLift service API includes two important function sets:

  • Manage game sessions and player access – Retrieve information on available game sessions; create new game sessions; send player requests to join a game session.

  • Configure and manage game server resources – Manage builds, fleets, queues, and aliases; set autoscaling policies; retrieve logs and metrics.

This reference guide describes the low-level service API for Amazon GameLift. You can use the API functionality with these tools:

  • The Amazon Web Services software development kit (AWS SDK) is available in multiple languages including C++ and C#. Use the SDK to access the API programmatically from an application, such as a game client.

  • The AWS command-line interface (CLI) tool is primarily useful for handling administrative actions, such as setting up and managing Amazon GameLift settings and resources. You can use the AWS CLI to manage all of your AWS services.

  • The AWS Management Console for Amazon GameLift provides a web interface to manage your Amazon GameLift settings and resources. The console includes a dashboard for tracking key resources, includings builds and fleets, and displays usage and performance metrics for your games as customizable graphs.

  • Amazon GameLift Local is a tool for testing your game's integration with Amazon GameLift before deploying it on the service. This tools supports a subset of key API actions, which can be called from either the AWS CLI or programmatically. See Testing an Integration.

MORE RESOURCES

API SUMMARY

This list offers a functional overview of the Amazon GameLift service API.

Managing Games and Players

These actions allow you to start new game sessions, find existing game sessions, track status and other game session information, and enable access for players to join game sessions.

  • Discover existing game sessions

    • SearchGameSessions – Get all available game sessions or search for game sessions that match a set of criteria.

  • Start a new game session

    • Game session placement – Use a queue to process requests for new game sessions and place them on the best available fleet. Placement requests are asynchronous; game sessions are started whenever acceptable resources become available.

    • CreateGameSession – Request a new game session on a specific fleet. Available in Amazon GameLift Local.

  • Manage game session data

    • DescribeGameSessions – Retrieve metadata for one or more game sessions, including length of time active and current player count. Available in Amazon GameLift Local.

    • DescribeGameSessionDetails – Retrieve metadata and the game session protection setting for one or more game sessions.

    • UpdateGameSession – Change game session settings, such as maximum player count and join policy.

    • GetGameSessionLogUrl – Get the location of saved logs for a game session.

  • Manage player sessions

    • CreatePlayerSession – Send a request for a player to join a game session. Available in Amazon GameLift Local.

    • CreatePlayerSessions – Send a request for multiple players to join a game session. Available in Amazon GameLift Local.

    • DescribePlayerSessions – Get details on player activity, including status, playing time, and player data. Available in Amazon GameLift Local.

Setting Up and Managing Game Servers

When setting up Amazon GameLift resources for your game, you first create a game build and upload it to Amazon GameLift. You can then use these actions to configure and manage a fleet of resources to run your game servers, scale capacity to meet player demand, access performance and utilization metrics, and more.

  • Manage game builds

    • CreateBuild – Create a new build using files stored in an Amazon S3 bucket. (Update uploading permissions with RequestUploadCredentials.) To create a build and upload files from a local path, use the AWS CLI command upload-build.

    • ListBuilds – Get a list of all builds uploaded to a Amazon GameLift region.

    • DescribeBuild – Retrieve information associated with a build.

    • UpdateBuild – Change build metadata, including build name and version.

    • DeleteBuild – Remove a build from Amazon GameLift.

  • Manage fleets

  • Control fleet capacity

    • DescribeEC2InstanceLimits – Retrieve maximum number of instances allowed for the current AWS account and the current usage level.

    • DescribeFleetCapacity / UpdateFleetCapacity – Retrieve the capacity settings and the current number of instances in a fleet; adjust fleet capacity settings to scale up or down.

    • Autoscale – Manage autoscaling rules and apply them to a fleet.

  • Access fleet activity statistics

    • DescribeFleetUtilization – Get current data on the number of server processes, game sessions, and players currently active on a fleet.

    • DescribeFleetEvents – Get a fleet's logged events for a specified time span.

    • DescribeGameSessions – Retrieve metadata associated with one or more game sessions, including length of time active and current player count.

  • Remotely access an instance

    • DescribeInstances – Get information on each instance in a fleet, including instance ID, IP address, and status.

    • GetInstanceAccess – Request access credentials needed to remotely connect to a specified instance in a fleet.

  • Manage fleet aliases

    • CreateAlias – Define a new alias and optionally assign it to a fleet.

    • ListAliases – Get all fleet aliases defined in a Amazon GameLift region.

    • DescribeAlias – Retrieve information on an existing alias.

    • UpdateAlias – Change settings for a alias, such as redirecting it from one fleet to another.

    • DeleteAlias – Remove an alias from the region.

    • ResolveAlias – Get the fleet ID that a specified alias points to.

  • Manage game session queues

", + "service": "Amazon GameLift Service

Amazon GameLift is a managed service for developers who need a scalable, dedicated server solution for their multiplayer games. Amazon GameLift provides tools for the following tasks: (1) acquire computing resources and deploy game servers, (2) scale game server capacity to meet player demand, (3) host game sessions and manage player access, and (4) track in-depth metrics on player usage and server performance.

The Amazon GameLift service API includes two important function sets:

  • Manage game sessions and player access -- Retrieve information on available game sessions; create new game sessions; send player requests to join a game session.

  • Configure and manage game server resources -- Manage builds, fleets, queues, and aliases; set autoscaling policies; retrieve logs and metrics.

This reference guide describes the low-level service API for Amazon GameLift. You can use the API functionality with these tools:

  • The Amazon Web Services software development kit (AWS SDK) is available in multiple languages including C++ and C#. Use the SDK to access the API programmatically from an application, such as a game client.

  • The AWS command-line interface (CLI) tool is primarily useful for handling administrative actions, such as setting up and managing Amazon GameLift settings and resources. You can use the AWS CLI to manage all of your AWS services.

  • The AWS Management Console for Amazon GameLift provides a web interface to manage your Amazon GameLift settings and resources. The console includes a dashboard for tracking key resources, including builds and fleets, and displays usage and performance metrics for your games as customizable graphs.

  • Amazon GameLift Local is a tool for testing your game's integration with Amazon GameLift before deploying it on the service. This tools supports a subset of key API actions, which can be called from either the AWS CLI or programmatically. See Testing an Integration.

MORE RESOURCES

API SUMMARY

This list offers a functional overview of the Amazon GameLift service API.

Managing Games and Players

Use these actions to start new game sessions, find existing game sessions, track game session status and other information, and enable player access to game sessions.

  • Discover existing game sessions

    • SearchGameSessions -- Retrieve all available game sessions or search for game sessions that match a set of criteria.

  • Start new game sessions

    • Start new games with Queues to find the best available hosting resources across multiple regions, minimize player latency, and balance game session activity for efficiency and cost effectiveness.

    • CreateGameSession -- Start a new game session on a specific fleet. Available in Amazon GameLift Local.

  • Start new game sessions with FlexMatch matchmaking

    • StartMatchmaking -- Request matchmaking for one players or a group who want to play together.

    • DescribeMatchmaking -- Get details on a matchmaking request, including status.

    • AcceptMatch -- Register that a player accepts a proposed match, for matches that require player acceptance.

    • StopMatchmaking -- Cancel a matchmaking request.

  • Manage game session data

    • DescribeGameSessions -- Retrieve metadata for one or more game sessions, including length of time active and current player count. Available in Amazon GameLift Local.

    • DescribeGameSessionDetails -- Retrieve metadata and the game session protection setting for one or more game sessions.

    • UpdateGameSession -- Change game session settings, such as maximum player count and join policy.

    • GetGameSessionLogUrl -- Get the location of saved logs for a game session.

  • Manage player sessions

    • CreatePlayerSession -- Send a request for a player to join a game session. Available in Amazon GameLift Local.

    • CreatePlayerSessions -- Send a request for multiple players to join a game session. Available in Amazon GameLift Local.

    • DescribePlayerSessions -- Get details on player activity, including status, playing time, and player data. Available in Amazon GameLift Local.

Setting Up and Managing Game Servers

When setting up Amazon GameLift resources for your game, you first create a game build and upload it to Amazon GameLift. You can then use these actions to configure and manage a fleet of resources to run your game servers, scale capacity to meet player demand, access performance and utilization metrics, and more.

", "operations": { + "AcceptMatch": "

Registers a player's acceptance or rejection of a proposed FlexMatch match. A matchmaking configuration may require player acceptance; if so, then matches built with that configuration cannot be completed unless all players accept the proposed match within a specified time limit.

When FlexMatch builds a match, all the matchmaking tickets involved in the proposed match are placed into status REQUIRES_ACCEPTANCE. This is a trigger for your game to get acceptance from all players in the ticket. Acceptances are only valid for tickets when they are in this status; all other acceptances result in an error.

To register acceptance, specify the ticket ID, a response, and one or more players. Once all players have registered acceptance, the matchmaking tickets advance to status PLACING, where a new game session is created for the match.

If any player rejects the match, or if acceptances are not received before a specified timeout, the proposed match is dropped. The matchmaking tickets are then handled in one of two ways: For tickets where all players accepted the match, the ticket status is returned to SEARCHING to find a new match. For tickets where one or more players failed to accept the match, the ticket status is set to FAILED, and processing is terminated. A new matchmaking request for these players can be submitted as needed.

Matchmaking-related operations include:

", "CreateAlias": "

Creates an alias for a fleet. In most situations, you can use an alias ID in place of a fleet ID. By using a fleet alias instead of a specific fleet ID, you can switch gameplay and players to a new fleet without changing your game client or other game components. For example, for games in production, using an alias allows you to seamlessly redirect your player base to a new game server update.

Amazon GameLift supports two types of routing strategies for aliases: simple and terminal. A simple alias points to an active fleet. A terminal alias is used to display messaging or link to a URL instead of routing players to an active fleet. For example, you might use a terminal alias when a game version is no longer supported and you want to direct players to an upgrade site.

To create a fleet alias, specify an alias name, routing strategy, and optional description. Each simple alias can point to only one fleet, but a fleet can have multiple aliases. If successful, a new alias record is returned, including an alias ID, which you can reference when creating a game session. You can reassign an alias to another fleet by calling UpdateAlias.

Alias-related operations include:

", "CreateBuild": "

Creates a new Amazon GameLift build from a set of game server binary files stored in an Amazon Simple Storage Service (Amazon S3) location. To use this API call, create a .zip file containing all of the files for the build and store it in an Amazon S3 bucket under your AWS account. For help on packaging your build files and creating a build, see Uploading Your Game to Amazon GameLift.

Use this API action ONLY if you are storing your game build files in an Amazon S3 bucket. To create a build using files stored locally, use the CLI command upload-build , which uploads the build files from a file location you specify.

To create a new build using CreateBuild, identify the storage location and operating system of your game build. You also have the option of specifying a build name and version. If successful, this action creates a new build record with an unique build ID and in INITIALIZED status. Use the API call DescribeBuild to check the status of your build. A build must be in READY status before it can be used to create fleets to host your game.

Build-related operations include:

", - "CreateFleet": "

Creates a new fleet to run your game servers. A fleet is a set of Amazon Elastic Compute Cloud (Amazon EC2) instances, each of which can run multiple server processes to host game sessions. You configure a fleet to create instances with certain hardware specifications (see Amazon EC2 Instance Types for more information), and deploy a specified game build to each instance. A newly created fleet passes through several statuses; once it reaches the ACTIVE status, it can begin hosting game sessions.

To create a new fleet, you must specify the following: (1) fleet name, (2) build ID of an uploaded game build, (3) an EC2 instance type, and (4) a run-time configuration that describes which server processes to run on each instance in the fleet. (Although the run-time configuration is not a required parameter, the fleet cannot be successfully activated without it.)

You can also configure the new fleet with the following settings:

  • Fleet description

  • Access permissions for inbound traffic

  • Fleetwide game session protection

  • Resource creation limit

If you use Amazon CloudWatch for metrics, you can add the new fleet to a metric group. This allows you to view aggregated metrics for a set of fleets. Once you specify a metric group, the new fleet's metrics are included in the metric group's data.

If the CreateFleet call is successful, Amazon GameLift performs the following tasks:

  • Creates a fleet record and sets the status to NEW (followed by other statuses as the fleet is activated).

  • Sets the fleet's target capacity to 1 (desired instances), which causes Amazon GameLift to start one new EC2 instance.

  • Starts launching server processes on the instance. If the fleet is configured to run multiple server processes per instance, Amazon GameLift staggers each launch by a few seconds.

  • Begins writing events to the fleet event log, which can be accessed in the Amazon GameLift console.

  • Sets the fleet's status to ACTIVE as soon as one server process in the fleet is ready to host a game session.

Fleet-related operations include:

", - "CreateGameSession": "

Creates a multiplayer game session for players. This action creates a game session record and assigns an available server process in the specified fleet to host the game session. A fleet must have an ACTIVE status before a game session can be created in it.

To create a game session, specify either fleet ID or alias ID and indicate a maximum number of players to allow in the game session. You can also provide a name and game-specific properties for this game session. If successful, a GameSession object is returned containing game session properties, including a game session ID with the custom string you provided.

Idempotency tokens. You can add a token that uniquely identifies game session requests. This is useful for ensuring that game session requests are idempotent. Multiple requests with the same idempotency token are processed only once; subsequent requests return the original result. All response values are the same with the exception of game session status, which may change.

Resource creation limits. If you are creating a game session on a fleet with a resource creation limit policy in force, then you must specify a creator ID. Without this ID, Amazon GameLift has no way to evaluate the policy for this new game session request.

By default, newly created game sessions allow new players to join. Use UpdateGameSession to change the game session's player session creation policy.

Available in Amazon GameLift Local.

Game-session-related operations include:

", + "CreateFleet": "

Creates a new fleet to run your game servers. A fleet is a set of Amazon Elastic Compute Cloud (Amazon EC2) instances, each of which can run multiple server processes to host game sessions. You configure a fleet to create instances with certain hardware specifications (see Amazon EC2 Instance Types for more information), and deploy a specified game build to each instance. A newly created fleet passes through several statuses; once it reaches the ACTIVE status, it can begin hosting game sessions.

To create a new fleet, you must specify the following: (1) fleet name, (2) build ID of an uploaded game build, (3) an EC2 instance type, and (4) a run-time configuration that describes which server processes to run on each instance in the fleet. (Although the run-time configuration is not a required parameter, the fleet cannot be successfully activated without it.)

You can also configure the new fleet with the following settings:

  • Fleet description

  • Access permissions for inbound traffic

  • Fleet-wide game session protection

  • Resource creation limit

If you use Amazon CloudWatch for metrics, you can add the new fleet to a metric group. This allows you to view aggregated metrics for a set of fleets. Once you specify a metric group, the new fleet's metrics are included in the metric group's data.

You have the option of creating a VPC peering connection with the new fleet. For more information, see VPC Peering with Amazon GameLift Fleets.

If the CreateFleet call is successful, Amazon GameLift performs the following tasks:

  • Creates a fleet record and sets the status to NEW (followed by other statuses as the fleet is activated).

  • Sets the fleet's target capacity to 1 (desired instances), which causes Amazon GameLift to start one new EC2 instance.

  • Starts launching server processes on the instance. If the fleet is configured to run multiple server processes per instance, Amazon GameLift staggers each launch by a few seconds.

  • Begins writing events to the fleet event log, which can be accessed in the Amazon GameLift console.

  • Sets the fleet's status to ACTIVE as soon as one server process in the fleet is ready to host a game session.

Fleet-related operations include:

", + "CreateGameSession": "

Creates a multiplayer game session for players. This action creates a game session record and assigns an available server process in the specified fleet to host the game session. A fleet must have an ACTIVE status before a game session can be created in it.

To create a game session, specify either fleet ID or alias ID and indicate a maximum number of players to allow in the game session. You can also provide a name and game-specific properties for this game session. If successful, a GameSession object is returned containing the game session properties and other settings you specified.

Idempotency tokens. You can add a token that uniquely identifies game session requests. This is useful for ensuring that game session requests are idempotent. Multiple requests with the same idempotency token are processed only once; subsequent requests return the original result. All response values are the same with the exception of game session status, which may change.

Resource creation limits. If you are creating a game session on a fleet with a resource creation limit policy in force, then you must specify a creator ID. Without this ID, Amazon GameLift has no way to evaluate the policy for this new game session request.

Player acceptance policy. By default, newly created game sessions are open to new players. You can restrict new player access by using UpdateGameSession to change the game session's player session creation policy.

Game session logs. Logs are retained for all active game sessions for 14 days. To access the logs, call GetGameSessionLogUrl to download the log files.

Available in Amazon GameLift Local.

Game-session-related operations include:

", "CreateGameSessionQueue": "

Establishes a new queue for processing requests to place new game sessions. A queue identifies where new game sessions can be hosted -- by specifying a list of destinations (fleets or aliases) -- and how long requests can wait in the queue before timing out. You can set up a queue to try to place game sessions on fleets in multiple regions. To add placement requests to a queue, call StartGameSessionPlacement and reference the queue name.

Destination order. When processing a request for a game session, Amazon GameLift tries each destination in order until it finds one with available resources to host the new game session. A queue's default order is determined by how destinations are listed. The default order is overridden when a game session placement request provides player latency information. Player latency information enables Amazon GameLift to prioritize destinations where players report the lowest average latency, as a result placing the new game session where the majority of players will have the best possible gameplay experience.

Player latency policies. For placement requests containing player latency information, use player latency policies to protect individual players from very high latencies. With a latency cap, even when a destination can deliver a low latency for most players, the game is not placed where any individual player is reporting latency higher than a policy's maximum. A queue can have multiple latency policies, which are enforced consecutively starting with the policy with the lowest latency cap. Use multiple policies to gradually relax latency controls; for example, you might set a policy with a low latency cap for the first 60 seconds, a second policy with a higher cap for the next 60 seconds, etc.

To create a new queue, provide a name, timeout value, a list of destinations and, if desired, a set of latency policies. If successful, a new queue object is returned.

Queue-related operations include:

", + "CreateMatchmakingConfiguration": "

Defines a new matchmaking configuration for use with FlexMatch. A matchmaking configuration sets out guidelines for matching players and getting the matches into games. You can set up multiple matchmaking configurations to handle the scenarios needed for your game. Each matchmaking request (StartMatchmaking) specifies a configuration for the match and provides player attributes to support the configuration being used.

To create a matchmaking configuration, at a minimum you must specify the following: configuration name; a rule set that governs how to evaluate players and find acceptable matches; a game session queue to use when placing a new game session for the match; and the maximum time allowed for a matchmaking attempt.

Player acceptance -- In each configuration, you have the option to require that all players accept participation in a proposed match. To enable this feature, set AcceptanceRequired to true and specify a time limit for player acceptance. Players have the option to accept or reject a proposed match, and a match does not move ahead to game session placement unless all matched players accept.

Matchmaking status notification -- There are two ways to track the progress of matchmaking tickets: (1) polling ticket status with DescribeMatchmaking; or (2) receiving notifications with Amazon Simple Notification Service (SNS). To use notifications, you first need to set up an SNS topic to receive the notifications, and provide the topic ARN in the matchmaking configuration (see Setting up Notifications for Matchmaking). Since notifications promise only \"best effort\" delivery, we recommend calling DescribeMatchmaking if no notifications are received within 30 seconds.

Operations related to match configurations and rule sets include:

", + "CreateMatchmakingRuleSet": "

Creates a new rule set for FlexMatch matchmaking. A rule set describes the type of match to create, such as the number and size of teams, and sets the parameters for acceptable player matches, such as minimum skill level or character type. Rule sets are used in matchmaking configurations, which define how matchmaking requests are handled. Each MatchmakingConfiguration uses one rule set; you can set up multiple rule sets to handle the scenarios that suit your game (such as for different game modes), and create a separate matchmaking configuration for each rule set. See additional information on rule set content in the MatchmakingRuleSet structure. For help creating rule sets, including useful examples, see the topic Adding FlexMatch to Your Game.

Once created, matchmaking rule sets cannot be changed or deleted, so we recommend checking the rule set syntax using ValidateMatchmakingRuleSetbefore creating the rule set.

To create a matchmaking rule set, provide the set of rules and a unique name. Rule sets must be defined in the same region as the matchmaking configuration they will be used with. Rule sets cannot be edited or deleted. If you need to change a rule set, create a new one with the necessary edits and then update matchmaking configurations to use the new rule set.

Operations related to match configurations and rule sets include:

", "CreatePlayerSession": "

Adds a player to a game session and creates a player session record. Before a player can be added, a game session must have an ACTIVE status, have a creation policy of ALLOW_ALL, and have an open player slot. To add a group of players to a game session, use CreatePlayerSessions.

To create a player session, specify a game session ID, player ID, and optionally a string of player data. If successful, the player is added to the game session and a new PlayerSession object is returned. Player sessions cannot be updated.

Available in Amazon GameLift Local.

Player-session-related operations include:

", "CreatePlayerSessions": "

Adds a group of players to a game session. This action is useful with a team matching feature. Before players can be added, a game session must have an ACTIVE status, have a creation policy of ALLOW_ALL, and have an open player slot. To add a single player to a game session, use CreatePlayerSession.

To create player sessions, specify a game session ID, a list of player IDs, and optionally a set of player data strings. If successful, the players are added to the game session and a set of new PlayerSession objects is returned. Player sessions cannot be updated.

Available in Amazon GameLift Local.

Player-session-related operations include:

", + "CreateVpcPeeringAuthorization": "

Requests authorization to create or delete a peer connection between the VPC for your Amazon GameLift fleet and a virtual private cloud (VPC) in your AWS account. VPC peering enables the game servers on your fleet to communicate directly with other AWS resources. Once you've received authorization, call CreateVpcPeeringConnection to establish the peering connection. For more information, see VPC Peering with Amazon GameLift Fleets.

You can peer with VPCs that are owned by any AWS account you have access to, including the account that you use to manage your Amazon GameLift fleets. You cannot peer with VPCs that are in different regions.

To request authorization to create a connection, call this operation from the AWS account with the VPC that you want to peer to your Amazon GameLift fleet. For example, to enable your game servers to retrieve data from a DynamoDB table, use the account that manages that DynamoDB resource. Identify the following values: (1) The ID of the VPC that you want to peer with, and (2) the ID of the AWS account that you use to manage Amazon GameLift. If successful, VPC peering is authorized for the specified VPC.

To request authorization to delete a connection, call this operation from the AWS account with the VPC that is peered with your Amazon GameLift fleet. Identify the following values: (1) VPC ID that you want to delete the peering connection for, and (2) ID of the AWS account that you use to manage Amazon GameLift.

The authorization remains valid for 24 hours unless it is canceled by a call to DeleteVpcPeeringAuthorization. You must create or delete the peering connection while the authorization is valid.

VPC peering connection operations include:

", + "CreateVpcPeeringConnection": "

Establishes a VPC peering connection between a virtual private cloud (VPC) in an AWS account with the VPC for your Amazon GameLift fleet. VPC peering enables the game servers on your fleet to communicate directly with other AWS resources. You can peer with VPCs in any AWS account that you have access to, including the account that you use to manage your Amazon GameLift fleets. You cannot peer with VPCs that are in different regions. For more information, see VPC Peering with Amazon GameLift Fleets.

Before calling this operation to establish the peering connection, you first need to call CreateVpcPeeringAuthorization and identify the VPC you want to peer with. Once the authorization for the specified VPC is issued, you have 24 hours to establish the connection. These two operations handle all tasks necessary to peer the two VPCs, including acceptance, updating routing tables, etc.

To establish the connection, call this operation from the AWS account that is used to manage the Amazon GameLift fleets. Identify the following values: (1) The ID of the fleet you want to be enable a VPC peering connection for; (2) The AWS account with the VPC that you want to peer with; and (3) The ID of the VPC you want to peer with. This operation is asynchronous. If successful, a VpcPeeringConnection request is created. You can use continuous polling to track the request's status using DescribeVpcPeeringConnections, or by monitoring fleet events for success or failure using DescribeFleetEvents.

VPC peering connection operations include:

", "DeleteAlias": "

Deletes an alias. This action removes all record of the alias. Game clients attempting to access a server process using the deleted alias receive an error. To delete an alias, specify the alias ID to be deleted.

Alias-related operations include:

", "DeleteBuild": "

Deletes a build. This action permanently deletes the build record and any uploaded build files.

To delete a build, specify its ID. Deleting a build does not affect the status of any active fleets using the build, but you can no longer create new fleets with the deleted build.

Build-related operations include:

", "DeleteFleet": "

Deletes everything related to a fleet. Before deleting a fleet, you must set the fleet's desired capacity to zero. See UpdateFleetCapacity.

This action removes the fleet's resources and the fleet record. Once a fleet is deleted, you can no longer use that fleet.

Fleet-related operations include:

", "DeleteGameSessionQueue": "

Deletes a game session queue. This action means that any StartGameSessionPlacement requests that reference this queue will fail. To delete a queue, specify the queue name.

Queue-related operations include:

", + "DeleteMatchmakingConfiguration": "

Permanently removes a FlexMatch matchmaking configuration. To delete, specify the configuration name. A matchmaking configuration cannot be deleted if it is being used in any active matchmaking tickets.

Operations related to match configurations and rule sets include:

", "DeleteScalingPolicy": "

Deletes a fleet scaling policy. This action means that the policy is no longer in force and removes all record of it. To delete a scaling policy, specify both the scaling policy name and the fleet ID it is associated with.

Fleet-related operations include:

", + "DeleteVpcPeeringAuthorization": "

Cancels a pending VPC peering authorization for the specified VPC. If the authorization has already been used to create a peering connection, call DeleteVpcPeeringConnection to remove the connection.

VPC peering connection operations include:

", + "DeleteVpcPeeringConnection": "

Removes a VPC peering connection. To delete the connection, you must have a valid authorization for the VPC peering connection that you want to delete. You can check for an authorization by calling DescribeVpcPeeringAuthorizations or request a new one using CreateVpcPeeringAuthorization.

Once a valid authorization exists, call this operation from the AWS account that is used to manage the Amazon GameLift fleets. Identify the connection to delete by the connection ID and fleet ID. If successful, the connection is removed.

VPC peering connection operations include:

", "DescribeAlias": "

Retrieves properties for an alias. This operation returns all alias metadata and settings. To get an alias's target fleet ID only, use ResolveAlias.

To get alias properties, specify the alias ID. If successful, the requested alias record is returned.

Alias-related operations include:

", "DescribeBuild": "

Retrieves properties for a build. To get a build record, specify a build ID. If successful, an object containing the build properties is returned.

Build-related operations include:

", "DescribeEC2InstanceLimits": "

Retrieves the following information for the specified EC2 instance type:

  • maximum number of instances allowed per AWS account (service limit)

  • current usage level for the AWS account

Service limits vary depending on region. Available regions for Amazon GameLift can be found in the AWS Management Console for Amazon GameLift (see the drop-down list in the upper right corner).

Fleet-related operations include:

", @@ -27,10 +35,15 @@ "DescribeGameSessionQueues": "

Retrieves the properties for one or more game session queues. When requesting multiple queues, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a GameSessionQueue object is returned for each requested queue. When specifying a list of queues, objects are returned only for queues that currently exist in the region.

Queue-related operations include:

", "DescribeGameSessions": "

Retrieves a set of one or more game sessions. Request a specific game session or request all game sessions on a fleet. Alternatively, use SearchGameSessions to request a set of active game sessions that are filtered by certain criteria. To retrieve protection policy settings for game sessions, use DescribeGameSessionDetails.

To get game sessions, specify one of the following: game session ID, fleet ID, or alias ID. You can filter this request by game session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a GameSession object is returned for each game session matching the request.

Available in Amazon GameLift Local.

Game-session-related operations include:

", "DescribeInstances": "

Retrieves information about a fleet's instances, including instance IDs. Use this action to get details on all instances in the fleet or get details on one specific instance.

To get a specific instance, specify fleet ID and instance ID. To get all instances in a fleet, specify a fleet ID only. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, an Instance object is returned for each result.

", + "DescribeMatchmaking": "

Retrieves a set of one or more matchmaking tickets. Use this operation to retrieve ticket information, including status and--once a successful match is made--acquire connection information for the resulting new game session.

You can use this operation to track the progress of matchmaking requests (through polling) as an alternative to using event notifications. See more details on tracking matchmaking requests through polling or notifications in StartMatchmaking.

You can request data for a one or a list of ticket IDs. If the request is successful, a ticket object is returned for each requested ID. When specifying a list of ticket IDs, objects are returned only for tickets that currently exist.

Matchmaking-related operations include:

", + "DescribeMatchmakingConfigurations": "

Retrieves the details of FlexMatch matchmaking configurations. with this operation, you have the following options: (1) retrieve all existing configurations, (2) provide the names of one or more configurations to retrieve, or (3) retrieve all configurations that use a specified rule set name. When requesting multiple items, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a configuration is returned for each requested name. When specifying a list of names, only configurations that currently exist are returned.

Operations related to match configurations and rule sets include:

", + "DescribeMatchmakingRuleSets": "

Retrieves the details for FlexMatch matchmaking rule sets. You can request all existing rule sets for the region, or provide a list of one or more rule set names. When requesting multiple items, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a rule set is returned for each requested name.

Operations related to match configurations and rule sets include:

", "DescribePlayerSessions": "

Retrieves properties for one or more player sessions. This action can be used in several ways: (1) provide a PlayerSessionId to request properties for a specific player session; (2) provide a GameSessionId to request properties for all player sessions in the specified game session; (3) provide a PlayerId to request properties for all player sessions of a specified player.

To get game session record(s), specify only one of the following: a player session ID, a game session ID, or a player ID. You can filter this request by player session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a PlayerSession object is returned for each session matching the request.

Available in Amazon GameLift Local.

Player-session-related operations include:

", "DescribeRuntimeConfiguration": "

Retrieves the current run-time configuration for the specified fleet. The run-time configuration tells Amazon GameLift how to launch server processes on instances in the fleet.

Fleet-related operations include:

", "DescribeScalingPolicies": "

Retrieves all scaling policies applied to a fleet.

To get a fleet's scaling policies, specify the fleet ID. You can filter this request by policy status, such as to retrieve only active scaling policies. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, set of ScalingPolicy objects is returned for the fleet.

Fleet-related operations include:

", - "GetGameSessionLogUrl": "

Retrieves the location of stored game session logs for a specified game session. When a game session is terminated, Amazon GameLift automatically stores the logs in Amazon S3. Use this URL to download the logs.

See the AWS Service Limits page for maximum log file sizes. Log files that exceed this limit are not saved.

Game-session-related operations include:

", + "DescribeVpcPeeringAuthorizations": "

Retrieves valid VPC peering authorizations that are pending for the AWS account. This operation returns all VPC peering authorizations and requests for peering. This includes those initiated and received by this account.

VPC peering connection operations include:

", + "DescribeVpcPeeringConnections": "

Retrieves information on VPC peering connections. Use this operation to get peering information for all fleets or for one specific fleet ID.

To retrieve connection information, call this operation from the AWS account that is used to manage the Amazon GameLift fleets. Specify a fleet ID or leave the parameter empty to retrieve all connection records. If successful, the retrieved information includes both active and pending connections. Active connections identify the IpV4 CIDR block that the VPC uses to connect.

VPC peering connection operations include:

", + "GetGameSessionLogUrl": "

Retrieves the location of stored game session logs for a specified game session. When a game session is terminated, Amazon GameLift automatically stores the logs in Amazon S3 and retains them for 14 days. Use this URL to download the logs.

See the AWS Service Limits page for maximum log file sizes. Log files that exceed this limit are not saved.

Game-session-related operations include:

", "GetInstanceAccess": "

Requests remote access to a fleet instance. Remote access is useful for debugging, gathering benchmarking data, or watching activity in real time.

Access requires credentials that match the operating system of the instance. For a Windows instance, Amazon GameLift returns a user name and password as strings for use with a Windows Remote Desktop client. For a Linux instance, Amazon GameLift returns a user name and RSA private key, also as strings, for use with an SSH client. The private key must be saved in the proper format to a .pem file before using. If you're making this request using the AWS CLI, saving the secret can be handled as part of the GetInstanceAccess request. (See the example later in this topic). For more information on remote access, see Remotely Accessing an Instance.

To request access to a specific instance, specify the IDs of the instance and the fleet it belongs to. If successful, an InstanceAccess object is returned containing the instance's IP address and a set of credentials.

", "ListAliases": "

Retrieves all aliases for this AWS account. You can filter the result set by alias name and/or routing strategy type. Use the pagination parameters to retrieve results in sequential pages.

Returned aliases are not listed in any particular order.

Alias-related operations include:

", "ListBuilds": "

Retrieves build records for all builds associated with the AWS account in use. You can limit results to builds that are in a specific status by using the Status parameter. Use the pagination parameters to retrieve results in a set of sequential pages.

Build records are not listed in any particular order.

Build-related operations include:

", @@ -39,8 +52,10 @@ "RequestUploadCredentials": "

This API call is not currently in use. Retrieves a fresh set of upload credentials and the assigned Amazon S3 storage location for a specific build. Valid credentials are required to upload your game build files to Amazon S3.

", "ResolveAlias": "

Retrieves the fleet ID that a specified alias is currently pointing to.

Alias-related operations include:

", "SearchGameSessions": "

Retrieves a set of game sessions that match a set of search criteria and sorts them in a specified order. A game session search is limited to a single fleet. Search results include only game sessions that are in ACTIVE status. If you need to retrieve game sessions with a status other than active, use DescribeGameSessions. If you need to retrieve the protection policy for each game session, use DescribeGameSessionDetails.

You can search or sort by the following game session attributes:

  • gameSessionId -- Unique identifier for the game session. You can use either a GameSessionId or GameSessionArn value.

  • gameSessionName -- Name assigned to a game session. This value is set when requesting a new game session with CreateGameSession or updating with UpdateGameSession. Game session names do not need to be unique to a game session.

  • creationTimeMillis -- Value indicating when a game session was created. It is expressed in Unix time as milliseconds.

  • playerSessionCount -- Number of players currently connected to a game session. This value changes rapidly as players join the session or drop out.

  • maximumSessions -- Maximum number of player sessions allowed for a game session. This value is set when requesting a new game session with CreateGameSession or updating with UpdateGameSession.

  • hasAvailablePlayerSessions -- Boolean value indicating whether a game session has reached its maximum number of players. When searching with this attribute, the search value must be true or false. It is highly recommended that all search requests include this filter attribute to optimize search performance and return only sessions that players can join.

To search or sort, specify either a fleet ID or an alias ID, and provide a search filter expression, a sort expression, or both. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a collection of GameSession objects matching the request is returned.

Returned values for playerSessionCount and hasAvailablePlayerSessions change quickly as players join sessions and others drop out. Results should be considered a snapshot in time. Be sure to refresh search results often, and handle sessions that fill up before a player can join.

Game-session-related operations include:

", - "StartGameSessionPlacement": "

Places a request for a new game session in a queue (see CreateGameSessionQueue). When processing a placement request, Amazon GameLift searches for available resources on the queue's destinations, scanning each until it finds resources or the placement request times out.

A game session placement request can also request player sessions. When a new game session is successfully created, Amazon GameLift creates a player session for each player included in the request.

When placing a game session, by default Amazon GameLift tries each fleet in the order they are listed in the queue configuration. Ideally, a queue's destinations are listed in preference order.

Alternatively, when requesting a game session with players, you can also provide latency data for each player in relevant regions. Latency data indicates the performance lag a player experiences when connected to a fleet in the region. Amazon GameLift uses latency data to reorder the list of destinations to place the game session in a region with minimal lag. If latency data is provided for multiple players, Amazon GameLift calculates each region's average lag for all players and reorders to get the best game play across all players.

To place a new game session request, specify the following:

  • The queue name and a set of game session properties and settings

  • A unique ID (such as a UUID) for the placement. You use this ID to track the status of the placement request

  • (Optional) A set of IDs and player data for each player you want to join to the new game session

  • Latency data for all players (if you want to optimize game play for the players)

If successful, a new game session placement is created.

To track the status of a placement request, call DescribeGameSessionPlacement and check the request's status. If the status is Fulfilled, a new game session has been created and a game session ARN and region are referenced. If the placement request times out, you can resubmit the request or retry it with a different queue.

Game-session-related operations include:

", - "StopGameSessionPlacement": "

Cancels a game session placement that is in Pending status. To stop a placement, provide the placement ID values. If successful, the placement is moved to Cancelled status.

Game-session-related operations include:

", + "StartGameSessionPlacement": "

Places a request for a new game session in a queue (see CreateGameSessionQueue). When processing a placement request, Amazon GameLift searches for available resources on the queue's destinations, scanning each until it finds resources or the placement request times out.

A game session placement request can also request player sessions. When a new game session is successfully created, Amazon GameLift creates a player session for each player included in the request.

When placing a game session, by default Amazon GameLift tries each fleet in the order they are listed in the queue configuration. Ideally, a queue's destinations are listed in preference order.

Alternatively, when requesting a game session with players, you can also provide latency data for each player in relevant regions. Latency data indicates the performance lag a player experiences when connected to a fleet in the region. Amazon GameLift uses latency data to reorder the list of destinations to place the game session in a region with minimal lag. If latency data is provided for multiple players, Amazon GameLift calculates each region's average lag for all players and reorders to get the best game play across all players.

To place a new game session request, specify the following:

  • The queue name and a set of game session properties and settings

  • A unique ID (such as a UUID) for the placement. You use this ID to track the status of the placement request

  • (Optional) A set of IDs and player data for each player you want to join to the new game session

  • Latency data for all players (if you want to optimize game play for the players)

If successful, a new game session placement is created.

To track the status of a placement request, call DescribeGameSessionPlacement and check the request's status. If the status is FULFILLED, a new game session has been created and a game session ARN and region are referenced. If the placement request times out, you can resubmit the request or retry it with a different queue.

Game-session-related operations include:

", + "StartMatchmaking": "

Uses FlexMatch to create a game match for a group of players based on custom matchmaking rules, and starts a new game for the matched players. Each matchmaking request specifies the type of match to build (team configuration, rules for an acceptable match, etc.). The request also specifies the players to find a match for and where to host the new game session for optimal performance. A matchmaking request might start with a single player or a group of players who want to play together. FlexMatch finds additional players as needed to fill the match. Match type, rules, and the queue used to place a new game session are defined in a MatchmakingConfiguration. For complete information on setting up and using FlexMatch, see the topic Adding FlexMatch to Your Game.

To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration, and include the players to be matched. You must also include a set of player attributes relevant for the matchmaking configuration. If successful, a matchmaking ticket is returned with status set to QUEUED. Track the status of the ticket to respond as needed and acquire game session connection information for successfully completed matches.

Tracking ticket status -- A couple of options are available for tracking the status of matchmaking requests:

  • Polling -- Call DescribeMatchmaking. This operation returns the full ticket object, including current status and (for completed tickets) game session connection info. We recommend polling no more than once every 10 seconds.

  • Notifications -- Get event notifications for changes in ticket status using Amazon Simple Notification Service (SNS). Notifications are easy to set up (see CreateMatchmakingConfiguration) and typically deliver match status changes faster and more efficiently than polling. We recommend that you use polling to back up to notifications (since delivery is not guaranteed) and call DescribeMatchmaking only when notifications are not received within 30 seconds.

Processing a matchmaking request -- FlexMatch handles a matchmaking request as follows:

  1. Your client code submits a StartMatchmaking request for one or more players and tracks the status of the request ticket.

  2. FlexMatch uses this ticket and others in process to build an acceptable match. When a potential match is identified, all tickets in the proposed match are advanced to the next status.

  3. If the match requires player acceptance (set in the matchmaking configuration), the tickets move into status REQUIRES_ACCEPTANCE. This status triggers your client code to solicit acceptance from all players in every ticket involved in the match, and then call AcceptMatch for each player. If any player rejects or fails to accept the match before a specified timeout, the proposed match is dropped (see AcceptMatch for more details).

  4. Once a match is proposed and accepted, the matchmaking tickets move into status PLACING. FlexMatch locates resources for a new game session using the game session queue (set in the matchmaking configuration) and creates the game session based on the match data.

  5. When the match is successfully placed, the matchmaking tickets move into COMPLETED status. Connection information (including game session endpoint and player session) is added to the matchmaking tickets. Matched players can use the connection information to join the game.

Matchmaking-related operations include:

", + "StopGameSessionPlacement": "

Cancels a game session placement that is in PENDING status. To stop a placement, provide the placement ID values. If successful, the placement is moved to CANCELLED status.

Game-session-related operations include:

", + "StopMatchmaking": "

Cancels a matchmaking ticket that is currently being processed. To stop the matchmaking operation, specify the ticket ID. If successful, work on the ticket is stopped, and the ticket status is changed to CANCELLED.

Matchmaking-related operations include:

", "UpdateAlias": "

Updates properties for an alias. To update properties, specify the alias ID to be updated and provide the information to be changed. To reassign an alias to another fleet, provide an updated routing strategy. If successful, the updated alias record is returned.

Alias-related operations include:

", "UpdateBuild": "

Updates metadata in a build record, including the build name and version. To update the metadata, specify the build ID to update and provide the new values. If successful, a build object containing the updated metadata is returned.

Build-related operations include:

", "UpdateFleetAttributes": "

Updates fleet properties, including name and description, for a fleet. To update metadata, specify the fleet ID and the property values that you want to change. If successful, the fleet ID for the updated fleet is returned.

Fleet-related operations include:

", @@ -48,9 +63,27 @@ "UpdateFleetPortSettings": "

Updates port settings for a fleet. To update settings, specify the fleet ID to be updated and list the permissions you want to update. List the permissions you want to add in InboundPermissionAuthorizations, and permissions you want to remove in InboundPermissionRevocations. Permissions to be removed must match existing fleet permissions. If successful, the fleet ID for the updated fleet is returned.

Fleet-related operations include:

", "UpdateGameSession": "

Updates game session properties. This includes the session name, maximum player count, protection policy, which controls whether or not an active game session can be terminated during a scale-down event, and the player session creation policy, which controls whether or not new players can join the session. To update a game session, specify the game session ID and the values you want to change. If successful, an updated GameSession object is returned.

Game-session-related operations include:

", "UpdateGameSessionQueue": "

Updates settings for a game session queue, which determines how new game session requests in the queue are processed. To update settings, specify the queue name to be updated and provide the new settings. When updating destinations, provide a complete list of destinations.

Queue-related operations include:

", - "UpdateRuntimeConfiguration": "

Updates the current run-time configuration for the specified fleet, which tells Amazon GameLift how to launch server processes on instances in the fleet. You can update a fleet's run-time configuration at any time after the fleet is created; it does not need to be in an ACTIVE status.

To update run-time configuration, specify the fleet ID and provide a RuntimeConfiguration object with the updated collection of server process configurations.

Each instance in a Amazon GameLift fleet checks regularly for an updated run-time configuration and changes how it launches server processes to comply with the latest version. Existing server processes are not affected by the update; they continue to run until they end, while Amazon GameLift simply adds new server processes to fit the current run-time configuration. As a result, the run-time configuration changes are applied gradually as existing processes shut down and new processes are launched in Amazon GameLift's normal process recycling activity.

Fleet-related operations include:

" + "UpdateMatchmakingConfiguration": "

Updates settings for a FlexMatch matchmaking configuration. To update settings, specify the configuration name to be updated and provide the new settings.

Operations related to match configurations and rule sets include:

", + "UpdateRuntimeConfiguration": "

Updates the current run-time configuration for the specified fleet, which tells Amazon GameLift how to launch server processes on instances in the fleet. You can update a fleet's run-time configuration at any time after the fleet is created; it does not need to be in an ACTIVE status.

To update run-time configuration, specify the fleet ID and provide a RuntimeConfiguration object with the updated collection of server process configurations.

Each instance in a Amazon GameLift fleet checks regularly for an updated run-time configuration and changes how it launches server processes to comply with the latest version. Existing server processes are not affected by the update; they continue to run until they end, while Amazon GameLift simply adds new server processes to fit the current run-time configuration. As a result, the run-time configuration changes are applied gradually as existing processes shut down and new processes are launched in Amazon GameLift's normal process recycling activity.

Fleet-related operations include:

", + "ValidateMatchmakingRuleSet": "

Validates the syntax of a matchmaking rule or rule set. This operation checks that the rule set uses syntactically correct JSON and that it conforms to allowed property expressions. To validate syntax, provide a rule set string.

Operations related to match configurations and rule sets include:

" }, "shapes": { + "AcceptMatchInput": { + "base": "

Represents the input for a request action.

", + "refs": { + } + }, + "AcceptMatchOutput": { + "base": null, + "refs": { + } + }, + "AcceptanceType": { + "base": null, + "refs": { + "AcceptMatchInput$AcceptanceType": "

Player response to the proposed match.

" + } + }, "Alias": { "base": "

Properties describing a fleet alias.

Alias-related operations include:

", "refs": { @@ -90,19 +123,36 @@ "DescribeGameSessionsInput$GameSessionId": "

Unique identifier for the game session to retrieve. You can use either a GameSessionId or GameSessionArn value.

", "DescribePlayerSessionsInput$GameSessionId": "

Unique identifier for the game session to retrieve player sessions for.

", "FleetAttributes$FleetArn": "

Identifier for a fleet that is unique across all regions.

", + "GameSessionConnectionInfo$GameSessionArn": "

Amazon Resource Name (ARN) that is assigned to a game session and uniquely identifies it.

", "GameSessionQueue$GameSessionQueueArn": "

Amazon Resource Name (ARN) that is assigned to a game session queue and uniquely identifies it. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.

", "GameSessionQueueDestination$DestinationArn": "

Amazon Resource Name (ARN) assigned to fleet or fleet alias. ARNs, which include a fleet ID or alias ID and a region name, provide a unique identifier across all regions.

", "GetGameSessionLogUrlInput$GameSessionId": "

Unique identifier for the game session to get logs for.

", + "QueueArnsList$member": null, "UpdateGameSessionInput$GameSessionId": "

Unique identifier for the game session to update.

" } }, + "AttributeValue": { + "base": "

Values for use in Player attribute type:value pairs. This object lets you specify an attribute value using any of the valid data types: string, number, string array or data map. Each AttributeValue object can use only one of the available properties.

", + "refs": { + "PlayerAttributeMap$value": null + } + }, "AwsCredentials": { - "base": "

AWS access credentials sometimes used for uploading game build files to Amazon GameLift. They are valid for a limited time. If they expire before you upload your game build, get a new set by calling RequestUploadCredentials.

", + "base": "

Temporary access credentials used for uploading game build files to Amazon GameLift. They are valid for a limited time. If they expire before you upload your game build, get a new set by calling RequestUploadCredentials.

", "refs": { "CreateBuildOutput$UploadCredentials": "

This element is not currently in use.

", "RequestUploadCredentialsOutput$UploadCredentials": "

AWS credentials required when uploading a game build to the storage location. These credentials have a limited lifespan and are valid only for the build they were issued for.

" } }, + "Boolean": { + "base": null, + "refs": { + "CreateMatchmakingConfigurationInput$AcceptanceRequired": "

Flag that determines whether or not a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to TRUE.

", + "MatchmakingConfiguration$AcceptanceRequired": "

Flag that determines whether or not a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to TRUE.

", + "UpdateMatchmakingConfigurationInput$AcceptanceRequired": "

Flag that determines whether or not a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to TRUE.

", + "ValidateMatchmakingRuleSetOutput$Valid": "

Response indicating whether or not the rule set is valid.

" + } + }, "Build": { "base": "

Properties describing a game build.

Build-related operations include:

", "refs": { @@ -134,8 +184,8 @@ "BuildStatus": { "base": null, "refs": { - "Build$Status": "

Current status of the build.

Possible build statuses include the following:

  • INITIALIZED – A new build has been defined, but no files have been uploaded. You cannot create fleets for builds that are in this status. When a build is successfully created, the build status is set to this value.

  • READY – The game build has been successfully uploaded. You can now create new fleets for this build.

  • FAILED – The game build upload failed. You cannot create new fleets for this build.

", - "ListBuildsInput$Status": "

Build status to filter results by. To retrieve all builds, leave this parameter empty.

Possible build statuses include the following:

  • INITIALIZED – A new build has been defined, but no files have been uploaded. You cannot create fleets for builds that are in this status. When a build is successfully created, the build status is set to this value.

  • READY – The game build has been successfully uploaded. You can now create new fleets for this build.

  • FAILED – The game build upload failed. You cannot create new fleets for this build.

" + "Build$Status": "

Current status of the build.

Possible build statuses include the following:

  • INITIALIZED -- A new build has been defined, but no files have been uploaded. You cannot create fleets for builds that are in this status. When a build is successfully created, the build status is set to this value.

  • READY -- The game build has been successfully uploaded. You can now create new fleets for this build.

  • FAILED -- The game build upload failed. You cannot create new fleets for this build.

", + "ListBuildsInput$Status": "

Build status to filter results by. To retrieve all builds, leave this parameter empty.

Possible build statuses include the following:

  • INITIALIZED -- A new build has been defined, but no files have been uploaded. You cannot create fleets for builds that are in this status. When a build is successfully created, the build status is set to this value.

  • READY -- The game build has been successfully uploaded. You can now create new fleets for this build.

  • FAILED -- The game build upload failed. You cannot create new fleets for this build.

" } }, "ComparisonOperatorType": { @@ -200,6 +250,26 @@ "refs": { } }, + "CreateMatchmakingConfigurationInput": { + "base": "

Represents the input for a request action.

", + "refs": { + } + }, + "CreateMatchmakingConfigurationOutput": { + "base": "

Represents the returned data in response to a request action.

", + "refs": { + } + }, + "CreateMatchmakingRuleSetInput": { + "base": "

Represents the input for a request action.

", + "refs": { + } + }, + "CreateMatchmakingRuleSetOutput": { + "base": "

Represents the returned data in response to a request action.

", + "refs": { + } + }, "CreatePlayerSessionInput": { "base": "

Represents the input for a request action.

", "refs": { @@ -220,6 +290,34 @@ "refs": { } }, + "CreateVpcPeeringAuthorizationInput": { + "base": "

Represents the input for a request action.

", + "refs": { + } + }, + "CreateVpcPeeringAuthorizationOutput": { + "base": "

Represents the returned data in response to a request action.

", + "refs": { + } + }, + "CreateVpcPeeringConnectionInput": { + "base": "

Represents the input for a request action.

", + "refs": { + } + }, + "CreateVpcPeeringConnectionOutput": { + "base": null, + "refs": { + } + }, + "CustomEventData": { + "base": null, + "refs": { + "CreateMatchmakingConfigurationInput$CustomEventData": "

Information to attached to all events related to the matchmaking configuration.

", + "MatchmakingConfiguration$CustomEventData": "

Information to attached to all events related to the matchmaking configuration.

", + "UpdateMatchmakingConfigurationInput$CustomEventData": "

Information to attached to all events related to the matchmaking configuration.

" + } + }, "DeleteAliasInput": { "base": "

Represents the input for a request action.

", "refs": { @@ -245,11 +343,41 @@ "refs": { } }, + "DeleteMatchmakingConfigurationInput": { + "base": "

Represents the input for a request action.

", + "refs": { + } + }, + "DeleteMatchmakingConfigurationOutput": { + "base": null, + "refs": { + } + }, "DeleteScalingPolicyInput": { "base": "

Represents the input for a request action.

", "refs": { } }, + "DeleteVpcPeeringAuthorizationInput": { + "base": "

Represents the input for a request action.

", + "refs": { + } + }, + "DeleteVpcPeeringAuthorizationOutput": { + "base": null, + "refs": { + } + }, + "DeleteVpcPeeringConnectionInput": { + "base": "

Represents the input for a request action.

", + "refs": { + } + }, + "DeleteVpcPeeringConnectionOutput": { + "base": null, + "refs": { + } + }, "DescribeAliasInput": { "base": "

Represents the input for a request action.

", "refs": { @@ -380,6 +508,36 @@ "refs": { } }, + "DescribeMatchmakingConfigurationsInput": { + "base": "

Represents the input for a request action.

", + "refs": { + } + }, + "DescribeMatchmakingConfigurationsOutput": { + "base": "

Represents the returned data in response to a request action.

", + "refs": { + } + }, + "DescribeMatchmakingInput": { + "base": "

Represents the input for a request action.

", + "refs": { + } + }, + "DescribeMatchmakingOutput": { + "base": "

Represents the returned data in response to a request action.

", + "refs": { + } + }, + "DescribeMatchmakingRuleSetsInput": { + "base": "

Represents the input for a request action.

", + "refs": { + } + }, + "DescribeMatchmakingRuleSetsOutput": { + "base": "

Represents the returned data in response to a request action.

", + "refs": { + } + }, "DescribePlayerSessionsInput": { "base": "

Represents the input for a request action.

", "refs": { @@ -410,6 +568,26 @@ "refs": { } }, + "DescribeVpcPeeringAuthorizationsInput": { + "base": null, + "refs": { + } + }, + "DescribeVpcPeeringAuthorizationsOutput": { + "base": null, + "refs": { + } + }, + "DescribeVpcPeeringConnectionsInput": { + "base": "

Represents the input for a request action.

", + "refs": { + } + }, + "DescribeVpcPeeringConnectionsOutput": { + "base": "

Represents the returned data in response to a request action.

", + "refs": { + } + }, "DesiredPlayerSession": { "base": "

Player information for use when creating player sessions using a game session placement request with StartGameSessionPlacement.

", "refs": { @@ -429,6 +607,13 @@ "ScalingPolicy$Threshold": "

Metric value used to trigger a scaling event.

" } }, + "DoubleObject": { + "base": null, + "refs": { + "AttributeValue$N": "

For number values, expressed as double.

", + "StringDoubleMap$value": null + } + }, "EC2InstanceCounts": { "base": "

Current status of fleet capacity. The number of active instances should match or be in the process of matching the number of desired instances. Pending and terminating counts are non-zero only if fleet capacity is adjusting to an UpdateFleetCapacity request, or if access to resources is temporarily affected.

Fleet-related operations include:

", "refs": { @@ -466,7 +651,7 @@ "EventCode": { "base": null, "refs": { - "Event$EventCode": "

Type of event being logged. The following events are currently in use:

  • General events:

    • GENERIC_EVENT – An unspecified event has occurred.

  • Fleet creation events:

    • FLEET_CREATED – A fleet record was successfully created with a status of NEW. Event messaging includes the fleet ID.

    • FLEET_STATE_DOWNLOADING – Fleet status changed from NEW to DOWNLOADING. The compressed build has started downloading to a fleet instance for installation.

    • FLEET_BINARY_DOWNLOAD_FAILED – The build failed to download to the fleet instance.

    • FLEET_CREATION_EXTRACTING_BUILD – The game server build was successfully downloaded to an instance, and the build files are now being extracted from the uploaded build and saved to an instance. Failure at this stage prevents a fleet from moving to ACTIVE status. Logs for this stage display a list of the files that are extracted and saved on the instance. Access the logs by using the URL in PreSignedLogUrl).

    • FLEET_CREATION_RUNNING_INSTALLER – The game server build files were successfully extracted, and the Amazon GameLift is now running the build's install script (if one is included). Failure in this stage prevents a fleet from moving to ACTIVE status. Logs for this stage list the installation steps and whether or not the install completed sucessfully. Access the logs by using the URL in PreSignedLogUrl).

    • FLEET_CREATION_VALIDATING_RUNTIME_CONFIG – The build process was successful, and the Amazon GameLift is now verifying that the game server launch path(s), which are specified in the fleet's run-time configuration, exist. If any listed launch path exists, Amazon GameLift tries to launch a game server process and waits for the process to report ready. Failures in this stage prevent a fleet from moving to ACTIVE status. Logs for this stage list the launch paths in the run-time configuration and indicate whether each is found. Access the logs by using the URL in PreSignedLogUrl). Once the game server is launched, failures and crashes are logged; these logs can be downloaded from the Amazon GameLift console.

    • FLEET_STATE_VALIDATING – Fleet status changed from DOWNLOADING to VALIDATING.

    • FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND – Validation of the run-time validation failed because the executable specified in a launch path does not exist on the instance.

    • FLEET_STATE_BUILDING – Fleet status changed from VALIDATING to BUILDING.

    • FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE – Validation of the runtime validation failed because the executable specified in a launch path failed to run on the fleet instance.

    • FLEET_STATE_ACTIVATING – Fleet status changed from BUILDING to ACTIVATING.

    • FLEET_ACTIVATION_FAILED - The fleet failed to successfully complete one of the steps in the fleet activation process. This event code indicates that the game build was successfully downloaded to a fleet instance, built, and validated, but was not able to start a server process. A possible reason for failure is that the game server is not reporting \"process ready\" to the Amazon GameLift service.

    • FLEET_STATE_ACTIVE – The fleet's status changed from ACTIVATING to ACTIVE. The fleet is now ready to host game sessions.

  • Other fleet events:

    • FLEET_SCALING_EVENT – A change was made to the fleet's capacity settings (desired instances, minimum/maximum scaling limits). Event messaging includes the new capacity settings.

    • FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED – A change was made to the fleet's game session protection policy setting. Event messaging includes both the old and new policy setting.

    • FLEET_DELETED – A request to delete a fleet was initiated.

" + "Event$EventCode": "

Type of event being logged. The following events are currently in use:

General events:

  • GENERIC_EVENT -- An unspecified event has occurred.

Fleet creation events:

  • FLEET_CREATED -- A fleet record was successfully created with a status of NEW. Event messaging includes the fleet ID.

  • FLEET_STATE_DOWNLOADING -- Fleet status changed from NEW to DOWNLOADING. The compressed build has started downloading to a fleet instance for installation.

  • FLEET_BINARY_DOWNLOAD_FAILED -- The build failed to download to the fleet instance.

  • FLEET_CREATION_EXTRACTING_BUILD – The game server build was successfully downloaded to an instance, and the build files are now being extracted from the uploaded build and saved to an instance. Failure at this stage prevents a fleet from moving to ACTIVE status. Logs for this stage display a list of the files that are extracted and saved on the instance. Access the logs by using the URL in PreSignedLogUrl.

  • FLEET_CREATION_RUNNING_INSTALLER – The game server build files were successfully extracted, and the Amazon GameLift is now running the build's install script (if one is included). Failure in this stage prevents a fleet from moving to ACTIVE status. Logs for this stage list the installation steps and whether or not the install completed successfully. Access the logs by using the URL in PreSignedLogUrl.

  • FLEET_CREATION_VALIDATING_RUNTIME_CONFIG -- The build process was successful, and the Amazon GameLift is now verifying that the game server launch paths, which are specified in the fleet's run-time configuration, exist. If any listed launch path exists, Amazon GameLift tries to launch a game server process and waits for the process to report ready. Failures in this stage prevent a fleet from moving to ACTIVE status. Logs for this stage list the launch paths in the run-time configuration and indicate whether each is found. Access the logs by using the URL in PreSignedLogUrl.

  • FLEET_STATE_VALIDATING -- Fleet status changed from DOWNLOADING to VALIDATING.

  • FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND -- Validation of the run-time configuration failed because the executable specified in a launch path does not exist on the instance.

  • FLEET_STATE_BUILDING -- Fleet status changed from VALIDATING to BUILDING.

  • FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE -- Validation of the run-time configuration failed because the executable specified in a launch path failed to run on the fleet instance.

  • FLEET_STATE_ACTIVATING -- Fleet status changed from BUILDING to ACTIVATING.

  • FLEET_ACTIVATION_FAILED - The fleet failed to successfully complete one of the steps in the fleet activation process. This event code indicates that the game build was successfully downloaded to a fleet instance, built, and validated, but was not able to start a server process. A possible reason for failure is that the game server is not reporting \"process ready\" to the Amazon GameLift service.

  • FLEET_STATE_ACTIVE -- The fleet's status changed from ACTIVATING to ACTIVE. The fleet is now ready to host game sessions.

VPC peering events:

  • FLEET_VPC_PEERING_SUCCEEDED -- A VPC peering connection has been established between the VPC for an Amazon GameLift fleet and a VPC in your AWS account.

  • FLEET_VPC_PEERING_FAILED -- A requested VPC peering connection has failed. Event details and status information (see DescribeVpcPeeringConnections) provide additional detail. A common reason for peering failure is that the two VPCs have overlapping CIDR blocks of IPv4 addresses. To resolve this, change the CIDR block for the VPC in your AWS account. For more information on VPC peering failures, see http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html

  • FLEET_VPC_PEERING_DELETED -- A VPC peering connection has been successfully deleted.

Other fleet events:

  • FLEET_SCALING_EVENT -- A change was made to the fleet's capacity settings (desired instances, minimum/maximum scaling limits). Event messaging includes the new capacity settings.

  • FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED -- A change was made to the fleet's game session protection policy setting. Event messaging includes both the old and new policy setting.

  • FLEET_DELETED -- A request to delete a fleet was initiated.

" } }, "EventList": { @@ -509,8 +694,10 @@ "base": null, "refs": { "CreateGameSessionInput$FleetId": "

Unique identifier for a fleet to create a game session in. Each request must reference either a fleet ID or alias ID, but not both.

", + "CreateVpcPeeringConnectionInput$FleetId": "

Unique identifier for a fleet. This tells Amazon GameLift which GameLift VPC to peer with.

", "DeleteFleetInput$FleetId": "

Unique identifier for a fleet to be deleted.

", "DeleteScalingPolicyInput$FleetId": "

Unique identifier for a fleet to be deleted.

", + "DeleteVpcPeeringConnectionInput$FleetId": "

Unique identifier for a fleet. This value must match the fleet ID referenced in the VPC peering connection record.

", "DescribeFleetEventsInput$FleetId": "

Unique identifier for a fleet to get event logs for.

", "DescribeFleetPortSettingsInput$FleetId": "

Unique identifier for a fleet to retrieve port settings for.

", "DescribeGameSessionDetailsInput$FleetId": "

Unique identifier for a fleet to retrieve all game sessions active on the fleet.

", @@ -518,11 +705,12 @@ "DescribeInstancesInput$FleetId": "

Unique identifier for a fleet to retrieve instance information for.

", "DescribeRuntimeConfigurationInput$FleetId": "

Unique identifier for a fleet to get the run-time configuration for.

", "DescribeScalingPoliciesInput$FleetId": "

Unique identifier for a fleet to retrieve scaling policies for.

", + "DescribeVpcPeeringConnectionsInput$FleetId": "

Unique identifier for a fleet.

", "FleetAttributes$FleetId": "

Unique identifier for a fleet.

", "FleetCapacity$FleetId": "

Unique identifier for a fleet.

", "FleetIdList$member": null, "FleetUtilization$FleetId": "

Unique identifier for a fleet.

", - "GameSession$FleetId": "

Unique identifier for a fleet the game session is running on.

", + "GameSession$FleetId": "

Unique identifier for a fleet that the game session is running on.

", "GetInstanceAccessInput$FleetId": "

Unique identifier for a fleet that contains the instance you want access to. The fleet can be in any of the following statuses: ACTIVATING, ACTIVE, or ERROR. Fleets with an ERROR status may be accessible for a short time before they are deleted.

", "Instance$FleetId": "

Unique identifier for a fleet that the instance is in.

", "InstanceAccess$FleetId": "

Unique identifier for a fleet containing the instance being accessed.

", @@ -538,7 +726,8 @@ "UpdateFleetCapacityOutput$FleetId": "

Unique identifier for a fleet that was updated.

", "UpdateFleetPortSettingsInput$FleetId": "

Unique identifier for a fleet to update port settings for.

", "UpdateFleetPortSettingsOutput$FleetId": "

Unique identifier for a fleet that was updated.

", - "UpdateRuntimeConfigurationInput$FleetId": "

Unique identifier for a fleet to update run-time configuration for.

" + "UpdateRuntimeConfigurationInput$FleetId": "

Unique identifier for a fleet to update run-time configuration for.

", + "VpcPeeringConnection$FleetId": "

Unique identifier for a fleet. This ID determines the ID of the Amazon GameLift VPC for your fleet.

" } }, "FleetIdList": { @@ -553,7 +742,7 @@ "FleetStatus": { "base": null, "refs": { - "FleetAttributes$Status": "

Current status of the fleet.

Possible fleet statuses include the following:

  • NEW – A new fleet has been defined and desired instances is set to 1.

  • DOWNLOADING/VALIDATING/BUILDING/ACTIVATING – Amazon GameLift is setting up the new fleet, creating new instances with the game build and starting server processes.

  • ACTIVE – Hosts can now accept game sessions.

  • ERROR – An error occurred when downloading, validating, building, or activating the fleet.

  • DELETING – Hosts are responding to a delete fleet request.

  • TERMINATED – The fleet no longer exists.

" + "FleetAttributes$Status": "

Current status of the fleet.

Possible fleet statuses include the following:

  • NEW -- A new fleet has been defined and desired instances is set to 1.

  • DOWNLOADING/VALIDATING/BUILDING/ACTIVATING -- Amazon GameLift is setting up the new fleet, creating new instances with the game build and starting server processes.

  • ACTIVE -- Hosts can now accept game sessions.

  • ERROR -- An error occurred when downloading, validating, building, or activating the fleet.

  • DELETING -- Hosts are responding to a delete fleet request.

  • TERMINATED -- The fleet no longer exists.

" } }, "FleetUtilization": { @@ -584,7 +773,7 @@ } }, "GameProperty": { - "base": "

Set of key-value pairs containing information a server process requires to set up a game session. This object allows you to pass in any set of data needed for your game. For more information, see the Amazon GameLift Developer Guide.

", + "base": "

Set of key-value pairs that contain information about a game session. When included in a game session request, these properties communicate details to be used when setting up the new game session, such as to specify a game mode, level, or map. Game properties are passed to the game server process when initiating a new game session; the server process uses the properties as appropriate. For more information, see the Amazon GameLift Developer Guide.

", "refs": { "GamePropertyList$member": null } @@ -592,26 +781,29 @@ "GamePropertyKey": { "base": null, "refs": { - "GameProperty$Key": "

TBD

" + "GameProperty$Key": "

Game property identifier.

" } }, "GamePropertyList": { "base": null, "refs": { - "CreateGameSessionInput$GameProperties": "

Set of developer-defined properties for a game session. These properties are passed to the server process hosting the game session.

", - "GameSession$GameProperties": "

Set of developer-defined properties for a game session. These properties are passed to the server process hosting the game session.

", - "GameSessionPlacement$GameProperties": "

Set of developer-defined properties for a game session. These properties are passed to the server process hosting the game session.

", - "StartGameSessionPlacementInput$GameProperties": "

Set of developer-defined properties for a game session. These properties are passed to the server process hosting the game session.

" + "CreateGameSessionInput$GameProperties": "

Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session).

", + "CreateMatchmakingConfigurationInput$GameProperties": "

Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

", + "GameSession$GameProperties": "

Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session).

", + "GameSessionPlacement$GameProperties": "

Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session).

", + "MatchmakingConfiguration$GameProperties": "

Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

", + "StartGameSessionPlacementInput$GameProperties": "

Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session).

", + "UpdateMatchmakingConfigurationInput$GameProperties": "

Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" } }, "GamePropertyValue": { "base": null, "refs": { - "GameProperty$Value": "

TBD

" + "GameProperty$Value": "

Game property value.

" } }, "GameSession": { - "base": "

Properties describing a game session.

Game-session-related operations include:

", + "base": "

Properties describing a game session.

A game session in ACTIVE status can host players. When a game session ends, its status is set to TERMINATED.

Once the session ends, the game session object is retained for 30 days. This means you can reuse idempotency token values after this time. Game session logs are retained for 14 days.

Game-session-related operations include:

", "refs": { "CreateGameSessionOutput$GameSession": "

Object that describes the newly created game session record.

", "GameSessionDetail$GameSession": "

Object that describes a game session.

", @@ -625,6 +817,24 @@ "RuntimeConfiguration$GameSessionActivationTimeoutSeconds": "

Maximum amount of time (in seconds) that a game session can remain in status ACTIVATING. If the game session is not active before the timeout, activation is terminated and the game session status is changed to TERMINATED.

" } }, + "GameSessionConnectionInfo": { + "base": "

Connection information for the new game session that is created with matchmaking. (with StartMatchmaking). Once a match is set, the FlexMatch engine places the match and creates a new game session for it. This information, including the game session endpoint and player sessions for each player in the original matchmaking request, is added to the MatchmakingTicket, which can be retrieved by calling DescribeMatchmaking.

", + "refs": { + "MatchmakingTicket$GameSessionConnectionInfo": "

Identifier and connection information of the game session created for the match. This information is added to the ticket only after the matchmaking request has been successfully completed.

" + } + }, + "GameSessionData": { + "base": null, + "refs": { + "CreateGameSessionInput$GameSessionData": "

Set of developer-defined game session properties, formatted as a single string value. This data is included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session).

", + "CreateMatchmakingConfigurationInput$GameSessionData": "

Set of developer-defined game session properties, formatted as a single string value. This data is included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

", + "GameSession$GameSessionData": "

Set of developer-defined game session properties, formatted as a single string value. This data is included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session).

", + "GameSessionPlacement$GameSessionData": "

Set of developer-defined game session properties, formatted as a single string value. This data is included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session).

", + "MatchmakingConfiguration$GameSessionData": "

Set of developer-defined game session properties, formatted as a single string value. This data is included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

", + "StartGameSessionPlacementInput$GameSessionData": "

Set of developer-defined game session properties, formatted as a single string value. This data is included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session).

", + "UpdateMatchmakingConfigurationInput$GameSessionData": "

Set of developer-defined game session properties, formatted as a single string value. This data is included in the GameSession object, which is passed to the game server with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" + } + }, "GameSessionDetail": { "base": "

A game session's properties plus the protection policy currently in force.

", "refs": { @@ -654,17 +864,17 @@ "refs": { "DescribeGameSessionPlacementOutput$GameSessionPlacement": "

Object that describes the requested game session placement.

", "StartGameSessionPlacementOutput$GameSessionPlacement": "

Object that describes the newly created game session placement. This object includes all the information provided in the request, as well as start/end time stamps and placement status.

", - "StopGameSessionPlacementOutput$GameSessionPlacement": "

Object that describes the canceled game session placement, with Cancelled status and an end time stamp.

" + "StopGameSessionPlacementOutput$GameSessionPlacement": "

Object that describes the canceled game session placement, with CANCELLED status and an end time stamp.

" } }, "GameSessionPlacementState": { "base": null, "refs": { - "GameSessionPlacement$Status": "

Current status of the game session placement request.

  • PENDING – The placement request is currently in the queue waiting to be processed.

  • FULFILLED – A new game session and player sessions (if requested) have been successfully created. Values for GameSessionArn and GameSessionRegion are available.

  • CANCELLED – The placement request was canceled with a call to StopGameSessionPlacement.

  • TIMED_OUT – A new game session was not successfully created before the time limit expired. You can resubmit the placement request as needed.

" + "GameSessionPlacement$Status": "

Current status of the game session placement request.

  • PENDING -- The placement request is currently in the queue waiting to be processed.

  • FULFILLED -- A new game session and player sessions (if requested) have been successfully created. Values for GameSessionArn and GameSessionRegion are available.

  • CANCELLED -- The placement request was canceled with a call to StopGameSessionPlacement.

  • TIMED_OUT -- A new game session was not successfully created before the time limit expired. You can resubmit the placement request as needed.

" } }, "GameSessionQueue": { - "base": "

Configuration of a queue that is used to process game session placement requests. The queue configuration identifies several game features:

Queue-related operations include:

  • The destinations where a new game session can potentially be hosted. Amazon GameLift tries these destinations in an order based on either the queue's default order or player latency information, if provided in a placement request. With latency information, Amazon GameLift can place game sessions where the majority of players are reporting the lowest possible latency.

  • The length of time that placement requests can wait in the queue before timing out.

  • A set of optional latency policies that protect individual players from high latencies, preventing game sessions from being placed where any individual player is reporting latency higher than a policy's maximum.

Queue-related operations include the following:

", + "base": "

Configuration of a queue that is used to process game session placement requests. The queue configuration identifies several game features:

  • The destinations where a new game session can potentially be hosted. Amazon GameLift tries these destinations in an order based on either the queue's default order or player latency information, if provided in a placement request. With latency information, Amazon GameLift can place game sessions where the majority of players are reporting the lowest possible latency.

  • The length of time that placement requests can wait in the queue before timing out.

  • A set of optional latency policies that protect individual players from high latencies, preventing game sessions from being placed where any individual player is reporting latency higher than a policy's maximum.

Queue-related operations include:

", "refs": { "CreateGameSessionQueueOutput$GameSessionQueue": "

Object that describes the newly created game session queue.

", "GameSessionQueueList$member": null, @@ -694,13 +904,13 @@ "GameSessionQueueName": { "base": null, "refs": { - "CreateGameSessionQueueInput$Name": "

Descriptive label that is associated with queue. Queue names must be unique within each region.

", - "DeleteGameSessionQueueInput$Name": "

Descriptive label that is associated with queue. Queue names must be unique within each region.

", - "GameSessionPlacement$GameSessionQueueName": "

Descriptive label that is associated with queue. Queue names must be unique within each region.

", - "GameSessionQueue$Name": "

Descriptive label that is associated with queue. Queue names must be unique within each region.

", + "CreateGameSessionQueueInput$Name": "

Descriptive label that is associated with game session queue. Queue names must be unique within each region.

", + "DeleteGameSessionQueueInput$Name": "

Descriptive label that is associated with game session queue. Queue names must be unique within each region.

", + "GameSessionPlacement$GameSessionQueueName": "

Descriptive label that is associated with game session queue. Queue names must be unique within each region.

", + "GameSessionQueue$Name": "

Descriptive label that is associated with game session queue. Queue names must be unique within each region.

", "GameSessionQueueNameList$member": null, "StartGameSessionPlacementInput$GameSessionQueueName": "

Name of the queue to use to place the new game session.

", - "UpdateGameSessionQueueInput$Name": "

Descriptive label that is associated with queue. Queue names must be unique within each region.

" + "UpdateGameSessionQueueInput$Name": "

Descriptive label that is associated with game session queue. Queue names must be unique within each region.

" } }, "GameSessionQueueNameList": { @@ -738,8 +948,8 @@ "IdStringModel": { "base": null, "refs": { - "CreateGameSessionInput$GameSessionId": "

This parameter is no longer preferred. Please use IdempotencyToken instead. Custom string that uniquely identifies a request for a new game session. Maximum token length is 48 characters. If provided, this string is included in the new game session's ID. (A game session ID has the following format: arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>.)

", - "CreateGameSessionInput$IdempotencyToken": "

Custom string that uniquely identifies a request for a new game session. Maximum token length is 48 characters. If provided, this string is included in the new game session's ID. (A game session ID has the following format: arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>.)

", + "CreateGameSessionInput$GameSessionId": "

This parameter is no longer preferred. Please use IdempotencyToken instead. Custom string that uniquely identifies a request for a new game session. Maximum token length is 48 characters. If provided, this string is included in the new game session's ID. (A game session ARN has the following format: arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>.)

", + "CreateGameSessionInput$IdempotencyToken": "

Custom string that uniquely identifies a request for a new game session. Maximum token length is 48 characters. If provided, this string is included in the new game session's ID. (A game session ARN has the following format: arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>.) Idempotency tokens remain in use for 30 days after a game session has ended; game session objects are retained for this time period and then deleted.

", "DescribeGameSessionPlacementInput$PlacementId": "

Unique identifier for a game session placement to retrieve.

", "GameSessionPlacement$PlacementId": "

Unique identifier for a game session placement.

", "StartGameSessionPlacementInput$PlacementId": "

Unique identifier to assign to the new game session placement. This value is developer-defined. The value must be unique across all regions and cannot be reused unless you are resubmitting a canceled or timed-out placement request.

", @@ -752,7 +962,7 @@ } }, "Instance": { - "base": "

Properties that describe an instance of a virtual computing resource that hosts one or more game servers. A fleet contains zero or more instances.

", + "base": "

Properties that describe an instance of a virtual computing resource that hosts one or more game servers. A fleet may contain zero or more instances.

", "refs": { "InstanceList$member": null } @@ -787,7 +997,7 @@ "InstanceStatus": { "base": null, "refs": { - "Instance$Status": "

Current status of the instance. Possible statuses include the following:

  • PENDING – The instance is in the process of being created and launching server processes as defined in the fleet's run-time configuration.

  • ACTIVE – The instance has been successfully created and at least one server process has successfully launched and reported back to Amazon GameLift that it is ready to host a game session. The instance is now considered ready to host game sessions.

  • TERMINATING – The instance is in the process of shutting down. This may happen to reduce capacity during a scaling down event or to recycle resources in the event of a problem.

" + "Instance$Status": "

Current status of the instance. Possible statuses include the following:

  • PENDING -- The instance is in the process of being created and launching server processes as defined in the fleet's run-time configuration.

  • ACTIVE -- The instance has been successfully created and at least one server process has successfully launched and reported back to Amazon GameLift that it is ready to host a game session. The instance is now considered ready to host game sessions.

  • TERMINATING -- The instance is in the process of shutting down. This may happen to reduce capacity during a scaling down event or to recycle resources in the event of a problem.

" } }, "Integer": { @@ -821,7 +1031,7 @@ "base": null, "refs": { "GameSession$IpAddress": "

IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

", - "GameSessionPlacement$IpAddress": "

IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. This value is set once the new game session is placed (placement status is Fulfilled).

", + "GameSessionPlacement$IpAddress": "

IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. This value is set once the new game session is placed (placement status is FULFILLED).

", "Instance$IpAddress": "

IP address assigned to the instance.

", "InstanceAccess$IpAddress": "

IP address assigned to the instance.

", "PlayerSession$IpAddress": "

IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

" @@ -848,6 +1058,12 @@ "IpPermission$Protocol": "

Network communication protocol used by the fleet.

" } }, + "LatencyMap": { + "base": null, + "refs": { + "Player$LatencyInMs": "

Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS regions. If this property is present, FlexMatch considers placing the match only in regions for which latency is reported.

If a matchmaker has a rule that evaluates player latency, players must report latency in order to be matched. If no latency is reported in this scenario, FlexMatch assumes that no regions are available to the player and the ticket is not matchable.

" + } + }, "LimitExceededException": { "base": "

The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue before retrying.

", "refs": { @@ -883,6 +1099,122 @@ "refs": { } }, + "MatchedPlayerSession": { + "base": "

Represents a new player session that is created as a result of a successful FlexMatch match. A successful match automatically creates new player sessions for every player ID in the original matchmaking request.

When players connect to the match's game session, they must include both player ID and player session ID in order to claim their assigned player slot.

", + "refs": { + "MatchedPlayerSessionList$member": null + } + }, + "MatchedPlayerSessionList": { + "base": null, + "refs": { + "GameSessionConnectionInfo$MatchedPlayerSessions": "

Collection of player session IDs, one for each player ID that was included in the original matchmaking request.

" + } + }, + "MatchmakingAcceptanceTimeoutInteger": { + "base": null, + "refs": { + "CreateMatchmakingConfigurationInput$AcceptanceTimeoutSeconds": "

Length of time (in seconds) to wait for players to accept a proposed match. If any player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable match.

", + "MatchmakingConfiguration$AcceptanceTimeoutSeconds": "

Length of time (in seconds) to wait for players to accept a proposed match. If any player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable match.

", + "UpdateMatchmakingConfigurationInput$AcceptanceTimeoutSeconds": "

Length of time (in seconds) to wait for players to accept a proposed match. If any player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable match.

" + } + }, + "MatchmakingConfiguration": { + "base": "

Guidelines for use with FlexMatch to match players into games. All matchmaking requests must specify a matchmaking configuration.

", + "refs": { + "CreateMatchmakingConfigurationOutput$Configuration": "

Object that describes the newly created matchmaking configuration.

", + "MatchmakingConfigurationList$member": null, + "UpdateMatchmakingConfigurationOutput$Configuration": "

Object that describes the updated matchmaking configuration.

" + } + }, + "MatchmakingConfigurationList": { + "base": null, + "refs": { + "DescribeMatchmakingConfigurationsOutput$Configurations": "

Collection of requested matchmaking configuration objects.

" + } + }, + "MatchmakingConfigurationStatus": { + "base": null, + "refs": { + "MatchmakingTicket$Status": "

Current status of the matchmaking request.

  • QUEUED -- The matchmaking request has been received and is currently waiting to be processed.

  • SEARCHING -- The matchmaking request is currently being processed.

  • REQUIRES_ACCEPTANCE -- A match has been proposed and the players must accept the match (see AcceptMatch). This status is used only with requests that use a matchmaking configuration with a player acceptance requirement.

  • PLACING -- The FlexMatch engine has matched players and is in the process of placing a new game session for the match.

  • COMPLETED -- Players have been matched and a game session is ready to host the players. A ticket in this state contains the necessary connection information for players.

  • FAILED -- The matchmaking request was not completed. Tickets with players who fail to accept a proposed match are placed in FAILED status; new matchmaking requests can be submitted for these players.

  • CANCELLED -- The matchmaking request was canceled with a call to StopMatchmaking.

  • TIMED_OUT -- The matchmaking request was not completed within the duration specified in the matchmaking configuration. Matchmaking requests that time out can be resubmitted.

" + } + }, + "MatchmakingIdList": { + "base": null, + "refs": { + "DescribeMatchmakingConfigurationsInput$Names": "

Unique identifier for a matchmaking configuration(s) to retrieve. To request all existing configurations, leave this parameter empty.

", + "DescribeMatchmakingInput$TicketIds": "

Unique identifier for a matchmaking ticket. To request all existing tickets, leave this parameter empty.

" + } + }, + "MatchmakingIdStringModel": { + "base": null, + "refs": { + "AcceptMatchInput$TicketId": "

Unique identifier for a matchmaking ticket. The ticket must be in status REQUIRES_ACCEPTANCE; otherwise this request will fail.

", + "CreateMatchmakingConfigurationInput$Name": "

Unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a matchmaking request or ticket.

", + "CreateMatchmakingConfigurationInput$RuleSetName": "

Unique identifier for a matchmaking rule set to use with this configuration. A matchmaking configuration can only use rule sets that are defined in the same region.

", + "CreateMatchmakingRuleSetInput$Name": "

Unique identifier for a matchmaking rule set. This name is used to identify the rule set associated with a matchmaking configuration.

", + "DeleteMatchmakingConfigurationInput$Name": "

Unique identifier for a matchmaking configuration

", + "DescribeMatchmakingConfigurationsInput$RuleSetName": "

Unique identifier for a matchmaking rule set. Use this parameter to retrieve all matchmaking configurations that use this rule set.

", + "MatchmakingConfiguration$Name": "

Unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a matchmaking request or ticket.

", + "MatchmakingConfiguration$RuleSetName": "

Unique identifier for a matchmaking rule set to use with this configuration. A matchmaking configuration can only use rule sets that are defined in the same region.

", + "MatchmakingIdList$member": null, + "MatchmakingRuleSet$RuleSetName": "

Unique identifier for a matchmaking rule set

", + "MatchmakingRuleSetNameList$member": null, + "MatchmakingTicket$TicketId": "

Unique identifier for a matchmaking ticket.

", + "MatchmakingTicket$ConfigurationName": "

Name of the MatchmakingConfiguration that is used with this ticket. Matchmaking configurations determine how players are grouped into a match and how a new game session is created for the match.

", + "StartMatchmakingInput$TicketId": "

Unique identifier for a matchmaking ticket. Use this identifier to track the matchmaking ticket status and retrieve match results.

", + "StartMatchmakingInput$ConfigurationName": "

Name of the matchmaking configuration to use for this request. Matchmaking configurations must exist in the same region as this request.

", + "StopMatchmakingInput$TicketId": "

Unique identifier for a matchmaking ticket.

", + "UpdateMatchmakingConfigurationInput$Name": "

Unique identifier for a matchmaking configuration to update.

", + "UpdateMatchmakingConfigurationInput$RuleSetName": "

Unique identifier for a matchmaking rule set to use with this configuration. A matchmaking configuration can only use rule sets that are defined in the same region.

" + } + }, + "MatchmakingPlayerIdList": { + "base": null, + "refs": { + "AcceptMatchInput$PlayerIds": "

Unique identifier for a player delivering the response. This parameter can include one or multiple player IDs.

" + } + }, + "MatchmakingRequestTimeoutInteger": { + "base": null, + "refs": { + "CreateMatchmakingConfigurationInput$RequestTimeoutSeconds": "

Maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that time out can be resubmitted as needed.

", + "MatchmakingConfiguration$RequestTimeoutSeconds": "

Maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that time out can be resubmitted as needed.

", + "UpdateMatchmakingConfigurationInput$RequestTimeoutSeconds": "

Maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that time out can be resubmitted as needed.

" + } + }, + "MatchmakingRuleSet": { + "base": "

Set of rule statements, used with FlexMatch, that determine how to build a certain kind of player match. Each rule set describes a type of group to be created and defines the parameters for acceptable player matches. Rule sets are used in MatchmakingConfiguration objects.

A rule set may define the following elements for a match. For detailed information and examples showing how to construct a rule set, see Create Matchmaking Rules for Your Game.

  • Teams -- Required. A rule set must define one or multiple teams for the match and set minimum and maximum team sizes. For example, a rule set might describe a 4x4 match that requires all eight slots to be filled.

  • Player attributes -- Optional. These attributes specify a set of player characteristics to evaluate when looking for a match. Matchmaking requests that use a rule set with player attributes must provide the corresponding attribute values. For example, an attribute might specify a player's skill or level.

  • Rules -- Optional. Rules define how to evaluate potential players for a match based on player attributes. A rule might specify minimum requirements for individual players--such as each player must meet a certain skill level, or may describe an entire group--such as all teams must be evenly matched or have at least one player in a certain role.

  • Expansions -- Optional. Expansions allow you to relax the rules after a period of time if no acceptable matches are found. This feature lets you balance getting players into games in a reasonable amount of time instead of making them wait indefinitely for the best possible match. For example, you might use an expansion to increase the maximum skill variance between players after 30 seconds.

", + "refs": { + "CreateMatchmakingRuleSetOutput$RuleSet": "

Object that describes the newly created matchmaking rule set.

", + "MatchmakingRuleSetList$member": null + } + }, + "MatchmakingRuleSetList": { + "base": null, + "refs": { + "DescribeMatchmakingRuleSetsOutput$RuleSets": "

Collection of requested matchmaking rule set objects.

" + } + }, + "MatchmakingRuleSetNameList": { + "base": null, + "refs": { + "DescribeMatchmakingRuleSetsInput$Names": "

Unique identifier for a matchmaking rule set. This name is used to identify the rule set associated with a matchmaking configuration.

" + } + }, + "MatchmakingTicket": { + "base": "

Ticket generated to track the progress of a matchmaking request. Each ticket is uniquely identified by a ticket ID, supplied by the requester, when creating a matchmaking request with StartMatchmaking. Tickets can be retrieved by calling DescribeMatchmaking with the ticket ID.

", + "refs": { + "MatchmakingTicketList$member": null, + "StartMatchmakingOutput$MatchmakingTicket": "

Ticket representing the matchmaking request. This object include the information included in the request, ticket status, and match results as generated during the matchmaking process.

" + } + }, + "MatchmakingTicketList": { + "base": null, + "refs": { + "DescribeMatchmakingOutput$TicketList": "

Collection of existing matchmaking ticket objects matching the request.

" + } + }, "MaxConcurrentGameSessionActivations": { "base": null, "refs": { @@ -906,8 +1238,8 @@ "MetricName": { "base": null, "refs": { - "PutScalingPolicyInput$MetricName": "

Name of the Amazon GameLift-defined metric that is used to trigger an adjustment.

  • ActivatingGameSessions – number of game sessions in the process of being created (game session status = ACTIVATING).

  • ActiveGameSessions – number of game sessions currently running (game session status = ACTIVE).

  • CurrentPlayerSessions – number of active or reserved player sessions (player session status = ACTIVE or RESERVED).

  • AvailablePlayerSessions – number of player session slots currently available in active game sessions across the fleet, calculated by subtracting a game session's current player session count from its maximum player session count. This number includes game sessions that are not currently accepting players (game session PlayerSessionCreationPolicy = DENY_ALL).

  • ActiveInstances – number of instances currently running a game session.

  • IdleInstances – number of instances not currently running a game session.

", - "ScalingPolicy$MetricName": "

Name of the Amazon GameLift-defined metric that is used to trigger an adjustment.

  • ActivatingGameSessions – number of game sessions in the process of being created (game session status = ACTIVATING).

  • ActiveGameSessions – number of game sessions currently running (game session status = ACTIVE).

  • CurrentPlayerSessions – number of active or reserved player sessions (player session status = ACTIVE or RESERVED).

  • AvailablePlayerSessions – number of player session slots currently available in active game sessions across the fleet, calculated by subtracting a game session's current player session count from its maximum player session count. This number does include game sessions that are not currently accepting players (game session PlayerSessionCreationPolicy = DENY_ALL).

  • ActiveInstances – number of instances currently running a game session.

  • IdleInstances – number of instances not currently running a game session.

" + "PutScalingPolicyInput$MetricName": "

Name of the Amazon GameLift-defined metric that is used to trigger an adjustment.

  • ActivatingGameSessions -- number of game sessions in the process of being created (game session status = ACTIVATING).

  • ActiveGameSessions -- number of game sessions currently running (game session status = ACTIVE).

  • CurrentPlayerSessions -- number of active or reserved player sessions (player session status = ACTIVE or RESERVED).

  • AvailablePlayerSessions -- number of player session slots currently available in active game sessions across the fleet, calculated by subtracting a game session's current player session count from its maximum player session count. This number includes game sessions that are not currently accepting players (game session PlayerSessionCreationPolicy = DENY_ALL).

  • ActiveInstances -- number of instances currently running a game session.

  • IdleInstances -- number of instances not currently running a game session.

", + "ScalingPolicy$MetricName": "

Name of the Amazon GameLift-defined metric that is used to trigger an adjustment.

  • ActivatingGameSessions -- number of game sessions in the process of being created (game session status = ACTIVATING).

  • ActiveGameSessions -- number of game sessions currently running (game session status = ACTIVE).

  • CurrentPlayerSessions -- number of active or reserved player sessions (player session status = ACTIVE or RESERVED).

  • AvailablePlayerSessions -- number of player session slots currently available in active game sessions across the fleet, calculated by subtracting a game session's current player session count from its maximum player session count. This number does include game sessions that are not currently accepting players (game session PlayerSessionCreationPolicy = DENY_ALL).

  • ActiveInstances -- number of instances currently running a game session.

  • IdleInstances -- number of instances not currently running a game session.

" } }, "NonBlankAndLengthConstraintString": { @@ -927,9 +1259,9 @@ "NonEmptyString": { "base": null, "refs": { - "AwsCredentials$AccessKeyId": "

Access key for an AWS account.

", - "AwsCredentials$SecretAccessKey": "

Secret key for an AWS account.

", - "AwsCredentials$SessionToken": "

Token specific to a build ID.

", + "AwsCredentials$AccessKeyId": "

Temporary key allowing access to the Amazon GameLift S3 account.

", + "AwsCredentials$SecretAccessKey": "

Temporary secret key allowing access to the Amazon GameLift S3 account.

", + "AwsCredentials$SessionToken": "

Token used to associate a specific build ID with the files uploaded using these credentials.

", "ConflictException$Message": null, "Event$Message": "

Additional information related to the event.

", "FleetCapacityExceededException$Message": null, @@ -941,23 +1273,26 @@ "InvalidFleetStatusException$Message": null, "InvalidGameSessionStatusException$Message": null, "InvalidRequestException$Message": null, + "LatencyMap$key": null, "LimitExceededException$Message": null, "ListAliasesInput$Name": "

Descriptive label that is associated with an alias. Alias names do not need to be unique.

", - "ListAliasesInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

", + "ListAliasesInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

", "ListAliasesOutput$NextToken": "

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

", - "ListBuildsInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

", + "ListBuildsInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

", "ListBuildsOutput$NextToken": "

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

", "NotFoundException$Message": null, "S3Location$Bucket": "

Amazon S3 bucket identifier. This is the name of your S3 bucket.

", "S3Location$Key": "

Name of the zip file containing your build files.

", "S3Location$RoleArn": "

Amazon Resource Name (ARN) for the access role that allows Amazon GameLift to access your S3 bucket.

", "TerminalRoutingStrategyException$Message": null, - "UnauthorizedException$Message": null + "UnauthorizedException$Message": null, + "UnsupportedRegionException$Message": null } }, "NonZeroAndMaxString": { "base": null, "refs": { + "AttributeValue$S": "

For single string values. Maximum string length is 100 characters.

", "CreateAliasInput$Description": "

Human-readable description of an alias.

", "CreateBuildInput$Name": "

Descriptive label that is associated with a build. Build names do not need to be unique. You can use UpdateBuild to change this value later.

", "CreateBuildInput$Version": "

Version that is associated with this build. Version strings do not need to be unique. You can use UpdateBuild to change this value later.

", @@ -965,53 +1300,71 @@ "CreateFleetInput$Description": "

Human-readable description of a fleet.

", "CreateFleetInput$ServerLaunchPath": "

This parameter is no longer used. Instead, specify a server launch path using the RuntimeConfiguration parameter. (Requests that specify a server launch path and launch parameters instead of a run-time configuration will continue to work.)

", "CreateFleetInput$ServerLaunchParameters": "

This parameter is no longer used. Instead, specify server launch parameters in the RuntimeConfiguration parameter. (Requests that specify a server launch path and launch parameters instead of a run-time configuration will continue to work.)

", + "CreateFleetInput$PeerVpcAwsAccountId": "

Unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift fleet with. You can find your Account ID in the AWS Management Console under account settings.

", + "CreateFleetInput$PeerVpcId": "

Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.

", "CreateGameSessionInput$Name": "

Descriptive label that is associated with a game session. Session names do not need to be unique.

", "CreateGameSessionInput$CreatorId": "

Unique identifier for a player or entity creating the game session. This ID is used to enforce a resource protection policy (if one exists) that limits the number of concurrent active game sessions one player can have.

", + "CreateMatchmakingConfigurationInput$Description": "

Meaningful description of the matchmaking configuration.

", "CreatePlayerSessionInput$PlayerId": "

Unique identifier for a player. Player IDs are developer-defined.

", + "CreateVpcPeeringAuthorizationInput$GameLiftAwsAccountId": "

Unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. You can find your Account ID in the AWS Management Console under account settings.

", + "CreateVpcPeeringAuthorizationInput$PeerVpcId": "

Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.

", + "CreateVpcPeeringConnectionInput$PeerVpcAwsAccountId": "

Unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift fleet with. You can find your Account ID in the AWS Management Console under account settings.

", + "CreateVpcPeeringConnectionInput$PeerVpcId": "

Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.

", "DeleteScalingPolicyInput$Name": "

Descriptive label that is associated with a scaling policy. Policy names do not need to be unique.

", - "DescribeFleetAttributesInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.

", + "DeleteVpcPeeringAuthorizationInput$GameLiftAwsAccountId": "

Unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. You can find your Account ID in the AWS Management Console under account settings.

", + "DeleteVpcPeeringAuthorizationInput$PeerVpcId": "

Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.

", + "DeleteVpcPeeringConnectionInput$VpcPeeringConnectionId": "

Unique identifier for a VPC peering connection. This value is included in the VpcPeeringConnection object, which can be retrieved by calling DescribeVpcPeeringConnections.

", + "DescribeFleetAttributesInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.

", "DescribeFleetAttributesOutput$NextToken": "

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

", - "DescribeFleetCapacityInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.

", + "DescribeFleetCapacityInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.

", "DescribeFleetCapacityOutput$NextToken": "

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

", - "DescribeFleetEventsInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

", + "DescribeFleetEventsInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

", "DescribeFleetEventsOutput$NextToken": "

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

", - "DescribeFleetUtilizationInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.

", + "DescribeFleetUtilizationInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.

", "DescribeFleetUtilizationOutput$NextToken": "

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

", "DescribeGameSessionDetailsInput$StatusFilter": "

Game session status to filter results on. Possible game session statuses include ACTIVE, TERMINATED, ACTIVATING and TERMINATING (the last two are transitory).

", - "DescribeGameSessionDetailsInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

", + "DescribeGameSessionDetailsInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

", "DescribeGameSessionDetailsOutput$NextToken": "

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

", - "DescribeGameSessionQueuesInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

", + "DescribeGameSessionQueuesInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

", "DescribeGameSessionQueuesOutput$NextToken": "

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

", "DescribeGameSessionsInput$StatusFilter": "

Game session status to filter results on. Possible game session statuses include ACTIVE, TERMINATED, ACTIVATING, and TERMINATING (the last two are transitory).

", - "DescribeGameSessionsInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

", + "DescribeGameSessionsInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

", "DescribeGameSessionsOutput$NextToken": "

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

", - "DescribeInstancesInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

", + "DescribeInstancesInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

", "DescribeInstancesOutput$NextToken": "

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

", + "DescribeMatchmakingConfigurationsInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

", + "DescribeMatchmakingConfigurationsOutput$NextToken": "

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

", + "DescribeMatchmakingRuleSetsInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

", + "DescribeMatchmakingRuleSetsOutput$NextToken": "

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

", "DescribePlayerSessionsInput$PlayerId": "

Unique identifier for a player to retrieve player sessions for.

", - "DescribePlayerSessionsInput$PlayerSessionStatusFilter": "

Player session status to filter results on.

Possible player session statuses include the following:

  • RESERVED – The player session request has been received, but the player has not yet connected to the server process and/or been validated.

  • ACTIVE – The player has been validated by the server process and is currently connected.

  • COMPLETED – The player connection has been dropped.

  • TIMEDOUT – A player session request was received, but the player did not connect and/or was not validated within the time-out limit (60 seconds).

", - "DescribePlayerSessionsInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value. If a player session ID is specified, this parameter is ignored.

", + "DescribePlayerSessionsInput$PlayerSessionStatusFilter": "

Player session status to filter results on.

Possible player session statuses include the following:

  • RESERVED -- The player session request has been received, but the player has not yet connected to the server process and/or been validated.

  • ACTIVE -- The player has been validated by the server process and is currently connected.

  • COMPLETED -- The player connection has been dropped.

  • TIMEDOUT -- A player session request was received, but the player did not connect and/or was not validated within the timeout limit (60 seconds).

", + "DescribePlayerSessionsInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. If a player session ID is specified, this parameter is ignored.

", "DescribePlayerSessionsOutput$NextToken": "

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

", - "DescribeScalingPoliciesInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

", + "DescribeScalingPoliciesInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

", "DescribeScalingPoliciesOutput$NextToken": "

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

", "DesiredPlayerSession$PlayerId": "

Unique identifier for a player to associate with the player session.

", "Event$EventId": "

Unique identifier for a fleet event.

", "Event$ResourceId": "

Unique identifier for an event resource, such as a fleet ID.

", - "Event$PreSignedLogUrl": "

Location of stored logs with additional detail related to the event, useful for debugging issues. The URL is valid for 15 minutes. Fleet creation logs can also be accessed through the Amazon GameLift console.

", + "Event$PreSignedLogUrl": "

Location of stored logs with additional detail that is related to the event. This is useful for debugging issues. The URL is valid for 15 minutes. You can also access fleet creation logs through the Amazon GameLift console.

", "FleetAttributes$Description": "

Human-readable description of the fleet.

", "FleetAttributes$Name": "

Descriptive label that is associated with a fleet. Fleet names do not need to be unique.

", "FleetAttributes$ServerLaunchPath": "

Path to a game server executable in the fleet's build, specified for fleets created before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch paths for fleets created after this date are specified in the fleet's RuntimeConfiguration.

", "FleetAttributes$ServerLaunchParameters": "

Game server launch parameters specified for fleets created before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch parameters for fleets created after this date are specified in the fleet's RuntimeConfiguration.

", - "GameSession$GameSessionId": "

Unique identifier for the game session. A game session ID has the following format: arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>.

", + "GameSession$GameSessionId": "

Unique identifier for the game session. A game session ARN has the following format: arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>.

", "GameSession$Name": "

Descriptive label that is associated with a game session. Session names do not need to be unique.

", "GameSession$CreatorId": "

Unique identifier for a player. This ID is used to enforce a resource protection policy (if one exists), that limits the number of game sessions a player can create.

", "GameSessionPlacement$GameSessionName": "

Descriptive label that is associated with a game session. Session names do not need to be unique.

", - "GameSessionPlacement$GameSessionId": "

Unique identifier for the game session. This value is set once the new game session is placed (placement status is Fulfilled).

", - "GameSessionPlacement$GameSessionArn": "

Identifier for the game session created by this placement request. This value is set once the new game session is placed (placement status is Fulfilled). This identifier is unique across all regions. You can use this value as a GameSessionId value as needed.

", - "GameSessionPlacement$GameSessionRegion": "

Name of the region where the game session created by this placement request is running. This value is set once the new game session is placed (placement status is Fulfilled).

", + "GameSessionPlacement$GameSessionId": "

Unique identifier for the game session. This value is set once the new game session is placed (placement status is FULFILLED).

", + "GameSessionPlacement$GameSessionArn": "

Identifier for the game session created by this placement request. This value is set once the new game session is placed (placement status is FULFILLED). This identifier is unique across all regions. You can use this value as a GameSessionId value as needed.

", + "GameSessionPlacement$GameSessionRegion": "

Name of the region where the game session created by this placement request is running. This value is set once the new game session is placed (placement status is FULFILLED).

", "GetGameSessionLogUrlOutput$PreSignedUrl": "

Location of the requested game session logs, available for download.

", - "ListFleetsInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

", + "ListFleetsInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

", "ListFleetsOutput$NextToken": "

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

", + "MatchedPlayerSession$PlayerId": "

Unique identifier for a player

", + "MatchmakingConfiguration$Description": "

Descriptive label that is associated with matchmaking configuration.

", "PlacedPlayerSession$PlayerId": "

Unique identifier for a player that is associated with this player session.

", + "Player$Team": "

Name of the team that the player is assigned to in a match. Team names are defined in a matchmaking rule set.

", + "PlayerAttributeMap$key": null, "PlayerDataMap$key": null, "PlayerIdList$member": null, "PlayerLatency$PlayerId": "

Unique identifier for a player associated with the latency data.

", @@ -1023,18 +1376,29 @@ "ScalingPolicy$Name": "

Descriptive label that is associated with a scaling policy. Policy names do not need to be unique.

", "SearchGameSessionsInput$FilterExpression": "

String containing the search criteria for the session search. If no filter expression is included, the request returns results for all game sessions in the fleet that are in ACTIVE status.

A filter expression can contain one or multiple conditions. Each condition consists of the following:

  • Operand -- Name of a game session attribute. Valid values are gameSessionName, gameSessionId, creationTimeMillis, playerSessionCount, maximumSessions, hasAvailablePlayerSessions.

  • Comparator -- Valid comparators are: =, <>, <, >, <=, >=.

  • Value -- Value to be searched for. Values can be numbers, boolean values (true/false) or strings. String values are case sensitive, enclosed in single quotes. Special characters must be escaped. Boolean and string values can only be used with the comparators = and <>. For example, the following filter expression searches on gameSessionName: \"FilterExpression\": \"gameSessionName = 'Matt\\\\'s Awesome Game 1'\".

To chain multiple conditions in a single expression, use the logical keywords AND, OR, and NOT and parentheses as needed. For example: x AND y AND NOT z, NOT (x OR y).

Session search evaluates conditions from left to right using the following precedence rules:

  1. =, <>, <, >, <=, >=

  2. Parentheses

  3. NOT

  4. AND

  5. OR

For example, this filter expression retrieves game sessions hosting at least ten players that have an open player slot: \"maximumSessions>=10 AND hasAvailablePlayerSessions=true\".

", "SearchGameSessionsInput$SortExpression": "

Instructions on how to sort the search results. If no sort expression is included, the request returns results in random order. A sort expression consists of the following elements:

  • Operand -- Name of a game session attribute. Valid values are gameSessionName, gameSessionId, creationTimeMillis, playerSessionCount, maximumSessions, hasAvailablePlayerSessions.

  • Order -- Valid sort orders are ASC (ascending) and DESC (descending).

For example, this sort expression returns the oldest active sessions first: \"SortExpression\": \"creationTimeMillis ASC\". Results with a null value for the sort operand are returned at the end of the list.

", - "SearchGameSessionsInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.

", + "SearchGameSessionsInput$NextToken": "

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

", "SearchGameSessionsOutput$NextToken": "

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

", "ServerProcess$LaunchPath": "

Location of the server executable in a game build. All game builds are installed on instances at the root : for Windows instances C:\\game, and for Linux instances /local/game. A Windows game build with an executable file located at MyGame\\latest\\server.exe must have a launch path of \"C:\\game\\MyGame\\latest\\server.exe\". A Linux game build with an executable file located at MyGame/latest/server.exe must have a launch path of \"/local/game/MyGame/latest/server.exe\".

", "ServerProcess$Parameters": "

Optional list of parameters to pass to the server executable on launch.

", "StartGameSessionPlacementInput$GameSessionName": "

Descriptive label that is associated with a game session. Session names do not need to be unique.

", + "StringDoubleMap$key": null, "StringList$member": null, "UpdateAliasInput$Description": "

Human-readable description of an alias.

", "UpdateBuildInput$Name": "

Descriptive label that is associated with a build. Build names do not need to be unique.

", "UpdateBuildInput$Version": "

Version that is associated with this build. Version strings do not need to be unique.

", "UpdateFleetAttributesInput$Name": "

Descriptive label that is associated with a fleet. Fleet names do not need to be unique.

", "UpdateFleetAttributesInput$Description": "

Human-readable description of a fleet.

", - "UpdateGameSessionInput$Name": "

Descriptive label that is associated with a game session. Session names do not need to be unique.

" + "UpdateGameSessionInput$Name": "

Descriptive label that is associated with a game session. Session names do not need to be unique.

", + "UpdateMatchmakingConfigurationInput$Description": "

Descriptive label that is associated with matchmaking configuration.

", + "VpcPeeringAuthorization$GameLiftAwsAccountId": "

Unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. You can find your Account ID in the AWS Management Console under account settings.

", + "VpcPeeringAuthorization$PeerVpcAwsAccountId": "

", + "VpcPeeringAuthorization$PeerVpcId": "

Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.

", + "VpcPeeringConnection$IpV4CidrBlock": "

CIDR block of IPv4 addresses assigned to the VPC peering connection for the GameLift VPC. The peered VPC also has an IPv4 CIDR block associated with it; these blocks cannot overlap or the peering connection cannot be created.

", + "VpcPeeringConnection$VpcPeeringConnectionId": "

Unique identifier that is automatically assigned to the connection record. This ID is referenced in VPC peering connection events, and is used when deleting a connection with DeleteVpcPeeringConnection.

", + "VpcPeeringConnection$PeerVpcId": "

Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.

", + "VpcPeeringConnection$GameLiftVpcId": "

Unique identifier for the VPC that contains the Amazon GameLift fleet for this connection. This VPC is managed by Amazon GameLift and does not appear in your AWS account.

", + "VpcPeeringConnectionStatus$Code": "

Code indicating the status of a VPC peering connection.

", + "VpcPeeringConnectionStatus$Message": "

Additional messaging associated with the connection status.

" } }, "NotFoundException": { @@ -1061,7 +1425,19 @@ "PlacedPlayerSessionList": { "base": null, "refs": { - "GameSessionPlacement$PlacedPlayerSessions": "

Collection of information on player sessions created in response to the game session placement request. These player sessions are created only once a new game session is successfully placed (placement status is Fulfilled). This information includes the player ID (as provided in the placement request) and the corresponding player session ID. Retrieve full player sessions by calling DescribePlayerSessions with the player session ID.

" + "GameSessionPlacement$PlacedPlayerSessions": "

Collection of information on player sessions created in response to the game session placement request. These player sessions are created only once a new game session is successfully placed (placement status is FULFILLED). This information includes the player ID (as provided in the placement request) and the corresponding player session ID. Retrieve full player sessions by calling DescribePlayerSessions with the player session ID.

" + } + }, + "Player": { + "base": "

Represents a player in matchmaking. When starting a matchmaking request, a player has a player ID, attributes, and may have latency data. Team information is added after a match has been successfully completed.

", + "refs": { + "PlayerList$member": null + } + }, + "PlayerAttributeMap": { + "base": null, + "refs": { + "Player$PlayerAttributes": "

Collection of name:value pairs containing player information for use in matchmaking. Player attribute names need to match playerAttributes names in the rule set being used. Example: \"PlayerAttributes\": {\"skill\": {\"N\": \"23\"}, \"gameMode\": {\"S\": \"deathmatch\"}}.

" } }, "PlayerData": { @@ -1085,6 +1461,13 @@ "CreatePlayerSessionsInput$PlayerIds": "

List of unique identifiers for the players to be added.

" } }, + "PlayerIdStringModel": { + "base": null, + "refs": { + "MatchmakingPlayerIdList$member": null, + "Player$PlayerId": "

Unique identifier for a player

" + } + }, "PlayerLatency": { "base": "

Regional latency information for a player, used when requesting a new game session with StartGameSessionPlacement. This value indicates the amount of time lag that exists when the player is connected to a fleet in the specified region. The relative difference between a player's latency values for multiple regions are used to determine which fleets are best suited to place a new game session for the player.

", "refs": { @@ -1094,8 +1477,8 @@ "PlayerLatencyList": { "base": null, "refs": { - "GameSessionPlacement$PlayerLatencies": "

Set of values, expressed in milliseconds, indicating the amount of latency that players are experiencing when connected to AWS regions.

", - "StartGameSessionPlacementInput$PlayerLatencies": "

Set of values, expressed in milliseconds, indicating the amount of latency that players are experiencing when connected to AWS regions. This information is used to try to place the new game session where it can offer the best possible gameplay experience for the players.

" + "GameSessionPlacement$PlayerLatencies": "

Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS regions.

", + "StartGameSessionPlacementInput$PlayerLatencies": "

Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS regions. This information is used to try to place the new game session where it can offer the best possible gameplay experience for the players.

" } }, "PlayerLatencyPolicy": { @@ -1112,8 +1495,15 @@ "UpdateGameSessionQueueInput$PlayerLatencyPolicies": "

Collection of latency policies to apply when processing game sessions placement requests with player latency information. Multiple policies are evaluated in order of the maximum latency value, starting with the lowest latency values. With just one policy, it is enforced at the start of the game session placement for the duration period. With multiple policies, each policy is enforced consecutively for its duration period. For example, a queue might enforce a 60-second policy followed by a 120-second policy, and then no policy for the remainder of the placement. When updating policies, provide a complete collection of policies.

" } }, + "PlayerList": { + "base": null, + "refs": { + "MatchmakingTicket$Players": "

A set of Player objects, each representing a player to find matches for. Players are identified by a unique player ID and may include latency data for use during matchmaking. If the ticket is in status COMPLETED, the Player objects include the team the players were assigned to in the resulting match.

", + "StartMatchmakingInput$Players": "

Information on each player to be matched. This information must include a player ID, and may contain player attributes and latency data to be used in the matchmaking process. After a successful match, Player objects contain the name of the team the player is assigned to.

" + } + }, "PlayerSession": { - "base": "

Properties describing a player session. A player session represents either a player reservation for a game session or actual player activity in a game session. A player session object (including player data) is automatically passed to a game session when the player connects to the game session and is validated.

Player-session-related operations include:

", + "base": "

Properties describing a player session. Player session objects are created either by creating a player session for a specific game session, or as part of a game session placement. A player session represents either a player reservation for a game session (status RESERVED) or actual player activity in a game session (status ACTIVE). A player session object (including player data) is automatically passed to a game session when the player connects to the game session and is validated.

When a player disconnects, the player session status changes to COMPLETED. Once the session ends, the player session object is retained for 30 days and then removed.

Player-session-related operations include:

", "refs": { "CreatePlayerSessionOutput$PlayerSession": "

Object that describes the newly created player session record.

", "PlayerSessionList$member": null @@ -1130,6 +1520,7 @@ "base": null, "refs": { "DescribePlayerSessionsInput$PlayerSessionId": "

Unique identifier for a player session to retrieve.

", + "MatchedPlayerSession$PlayerSessionId": "

Unique identifier for a player session

", "PlacedPlayerSession$PlayerSessionId": "

Unique identifier for a player session.

", "PlayerSession$PlayerSessionId": "

Unique identifier for a player session.

" } @@ -1144,14 +1535,14 @@ "PlayerSessionStatus": { "base": null, "refs": { - "PlayerSession$Status": "

Current status of the player session.

Possible player session statuses include the following:

  • RESERVED – The player session request has been received, but the player has not yet connected to the server process and/or been validated.

  • ACTIVE – The player has been validated by the server process and is currently connected.

  • COMPLETED – The player connection has been dropped.

  • TIMEDOUT – A player session request was received, but the player did not connect and/or was not validated within the time-out limit (60 seconds).

" + "PlayerSession$Status": "

Current status of the player session.

Possible player session statuses include the following:

  • RESERVED -- The player session request has been received, but the player has not yet connected to the server process and/or been validated.

  • ACTIVE -- The player has been validated by the server process and is currently connected.

  • COMPLETED -- The player connection has been dropped.

  • TIMEDOUT -- A player session request was received, but the player did not connect and/or was not validated within the timeout limit (60 seconds).

" } }, "PortNumber": { "base": null, "refs": { "GameSession$Port": "

Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

", - "GameSessionPlacement$Port": "

Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. This value is set once the new game session is placed (placement status is Fulfilled).

", + "GameSessionPlacement$Port": "

Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. This value is set once the new game session is placed (placement status is FULFILLED).

", "IpPermission$FromPort": "

Starting value for a range of allowed port numbers.

", "IpPermission$ToPort": "

Ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort.

", "PlayerSession$Port": "

Port number for the game session. To connect to a Amazon GameLift server process, an app needs both the IP address and port number.

" @@ -1168,8 +1559,11 @@ "DescribeGameSessionQueuesInput$Limit": "

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

", "DescribeGameSessionsInput$Limit": "

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

", "DescribeInstancesInput$Limit": "

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

", + "DescribeMatchmakingConfigurationsInput$Limit": "

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is limited to 10.

", "DescribePlayerSessionsInput$Limit": "

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. If a player session ID is specified, this parameter is ignored.

", "DescribeScalingPoliciesInput$Limit": "

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

", + "GameSessionConnectionInfo$Port": "

Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

", + "LatencyMap$value": null, "ListAliasesInput$Limit": "

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

", "ListBuildsInput$Limit": "

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

", "ListFleetsInput$Limit": "

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

", @@ -1188,11 +1582,11 @@ "ProtectionPolicy": { "base": null, "refs": { - "CreateFleetInput$NewGameSessionProtectionPolicy": "

Game session protection policy to apply to all instances in this fleet. If this parameter is not set, instances in this fleet default to no protection. You can change a fleet's protection policy using UpdateFleetAttributes, but this change will only affect sessions created after the policy change. You can also set protection for individual instances using UpdateGameSession.

  • NoProtection – The game session can be terminated during a scale-down event.

  • FullProtection – If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

", - "FleetAttributes$NewGameSessionProtectionPolicy": "

Type of game session protection to set for all new instances started in the fleet.

  • NoProtection – The game session can be terminated during a scale-down event.

  • FullProtection – If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

", - "GameSessionDetail$ProtectionPolicy": "

Current status of protection for the game session.

  • NoProtection – The game session can be terminated during a scale-down event.

  • FullProtection – If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

", - "UpdateFleetAttributesInput$NewGameSessionProtectionPolicy": "

Game session protection policy to apply to all new instances created in this fleet. Instances that already exist are not affected. You can set protection for individual instances using UpdateGameSession.

  • NoProtection – The game session can be terminated during a scale-down event.

  • FullProtection – If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

", - "UpdateGameSessionInput$ProtectionPolicy": "

Game session protection policy to apply to this game session only.

  • NoProtection – The game session can be terminated during a scale-down event.

  • FullProtection – If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

" + "CreateFleetInput$NewGameSessionProtectionPolicy": "

Game session protection policy to apply to all instances in this fleet. If this parameter is not set, instances in this fleet default to no protection. You can change a fleet's protection policy using UpdateFleetAttributes, but this change will only affect sessions created after the policy change. You can also set protection for individual instances using UpdateGameSession.

  • NoProtection -- The game session can be terminated during a scale-down event.

  • FullProtection -- If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

", + "FleetAttributes$NewGameSessionProtectionPolicy": "

Type of game session protection to set for all new instances started in the fleet.

  • NoProtection -- The game session can be terminated during a scale-down event.

  • FullProtection -- If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

", + "GameSessionDetail$ProtectionPolicy": "

Current status of protection for the game session.

  • NoProtection -- The game session can be terminated during a scale-down event.

  • FullProtection -- If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

", + "UpdateFleetAttributesInput$NewGameSessionProtectionPolicy": "

Game session protection policy to apply to all new instances created in this fleet. Instances that already exist are not affected. You can set protection for individual instances using UpdateGameSession.

  • NoProtection -- The game session can be terminated during a scale-down event.

  • FullProtection -- If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

", + "UpdateGameSessionInput$ProtectionPolicy": "

Game session protection policy to apply to this game session only.

  • NoProtection -- The game session can be terminated during a scale-down event.

  • FullProtection -- If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

" } }, "PutScalingPolicyInput": { @@ -1205,6 +1599,14 @@ "refs": { } }, + "QueueArnsList": { + "base": null, + "refs": { + "CreateMatchmakingConfigurationInput$GameSessionQueueArns": "

Amazon Resource Name (ARN) that is assigned to a game session queue and uniquely identifies it. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. These queues are used when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any region.

", + "MatchmakingConfiguration$GameSessionQueueArns": "

Amazon Resource Name (ARN) that is assigned to a game session queue and uniquely identifies it. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. These queues are used when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any region.

", + "UpdateMatchmakingConfigurationInput$GameSessionQueueArns": "

Amazon Resource Name (ARN) that is assigned to a game session queue and uniquely identifies it. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. These queues are used when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any region.

" + } + }, "RequestUploadCredentialsInput": { "base": "

Represents the input for a request action.

", "refs": { @@ -1244,12 +1646,26 @@ "RoutingStrategyType": { "base": null, "refs": { - "ListAliasesInput$RoutingStrategyType": "

Type of routing to filter results on. Use this parameter to retrieve only aliases of a certain type. To retrieve all aliases, leave this parameter empty.

Possible routing types include the following:

  • SIMPLE – The alias resolves to one specific fleet. Use this type when routing to active fleets.

  • TERMINAL – The alias does not resolve to a fleet but instead can be used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException with the RoutingStrategy message embedded.

", - "RoutingStrategy$Type": "

Type of routing strategy.

Possible routing types include the following:

  • SIMPLE – The alias resolves to one specific fleet. Use this type when routing to active fleets.

  • TERMINAL – The alias does not resolve to a fleet but instead can be used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException with the RoutingStrategy message embedded.

" + "ListAliasesInput$RoutingStrategyType": "

Type of routing to filter results on. Use this parameter to retrieve only aliases of a certain type. To retrieve all aliases, leave this parameter empty.

Possible routing types include the following:

  • SIMPLE -- The alias resolves to one specific fleet. Use this type when routing to active fleets.

  • TERMINAL -- The alias does not resolve to a fleet but instead can be used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException with the RoutingStrategy message embedded.

", + "RoutingStrategy$Type": "

Type of routing strategy.

Possible routing types include the following:

  • SIMPLE -- The alias resolves to one specific fleet. Use this type when routing to active fleets.

  • TERMINAL -- The alias does not resolve to a fleet but instead can be used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException with the RoutingStrategy message embedded.

" + } + }, + "RuleSetBody": { + "base": null, + "refs": { + "CreateMatchmakingRuleSetInput$RuleSetBody": "

Collection of matchmaking rules, formatted as a JSON string. (Note that comments are not allowed in JSON, but most elements support a description field.)

", + "MatchmakingRuleSet$RuleSetBody": "

Collection of matchmaking rules, formatted as a JSON string. (Note that comments14 are not allowed in JSON, but most elements support a description field.)

", + "ValidateMatchmakingRuleSetInput$RuleSetBody": "

Collection of matchmaking rules to validate, formatted as a JSON string.

" + } + }, + "RuleSetLimit": { + "base": null, + "refs": { + "DescribeMatchmakingRuleSetsInput$Limit": "

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

" } }, "RuntimeConfiguration": { - "base": "

A collection of server process configurations that describe what processes to run on each instance in a fleet. All fleets must have a runtime configuration. Each instance in the fleet launches the server processes specified in the run-time configuration and launches new ones as existing processes end. Each instance regularly checks for an updated run-time configuration and follows the new instructions.

The run-time configuration enables the instances in a fleet to run multiple processes simultaneously. Potential scenarios are as follows: (1) Run multiple processes of a single game server executable to maximize usage of your hosting resources. (2) Run one or more processes of different build executables, such as your game server executable and a related program, or two or more different versions of a game server. (3) Run multiple processes of a single game server but with different launch parameters, for example to run one process on each instance in debug mode.

A Amazon GameLift instance is limited to 50 processes running simultaneously. A run-time configuration must specify fewer than this limit. To calculate the total number of processes specified in a run-time configuration, add the values of the ConcurrentExecutions parameter for each ServerProcess object in the run-time configuration.

Fleet-related operations include:

", + "base": "

A collection of server process configurations that describe what processes to run on each instance in a fleet. All fleets must have a run-time configuration. Each instance in the fleet launches the server processes specified in the run-time configuration and launches new ones as existing processes end. Each instance regularly checks for an updated run-time configuration and follows the new instructions.

The run-time configuration enables the instances in a fleet to run multiple processes simultaneously. Potential scenarios are as follows: (1) Run multiple processes of a single game server executable to maximize usage of your hosting resources. (2) Run one or more processes of different build executables, such as your game server executable and a related program, or two or more different versions of a game server. (3) Run multiple processes of a single game server but with different launch parameters, for example to run one process on each instance in debug mode.

A Amazon GameLift instance is limited to 50 processes running simultaneously. A run-time configuration must specify fewer than this limit. To calculate the total number of processes specified in a run-time configuration, add the values of the ConcurrentExecutions parameter for each ServerProcess object in the run-time configuration.

Fleet-related operations include:

", "refs": { "CreateFleetInput$RuntimeConfiguration": "

Instructions for launching server processes on each instance in the fleet. The run-time configuration for a fleet has a collection of server process configurations, one for each type of server process to run on an instance. A server process configuration specifies the location of the server executable, launch parameters, and the number of concurrent processes with that configuration to maintain on each instance. A CreateFleet request must include a run-time configuration with at least one server process configuration; otherwise the request fails with an invalid request exception. (This parameter replaces the parameters ServerLaunchPath and ServerLaunchParameters; requests that contain values for these parameters instead of a run-time configuration will continue to work.)

", "DescribeRuntimeConfigurationOutput$RuntimeConfiguration": "

Instructions describing how server processes should be launched and maintained on each instance in the fleet.

", @@ -1268,8 +1684,8 @@ "ScalingAdjustmentType": { "base": null, "refs": { - "PutScalingPolicyInput$ScalingAdjustmentType": "

Type of adjustment to make to a fleet's instance count (see FleetCapacity):

  • ChangeInCapacity – add (or subtract) the scaling adjustment value from the current instance count. Positive values scale up while negative values scale down.

  • ExactCapacity – set the instance count to the scaling adjustment value.

  • PercentChangeInCapacity – increase or reduce the current instance count by the scaling adjustment, read as a percentage. Positive values scale up while negative values scale down; for example, a value of \"-10\" scales the fleet down by 10%.

", - "ScalingPolicy$ScalingAdjustmentType": "

Type of adjustment to make to a fleet's instance count (see FleetCapacity):

  • ChangeInCapacity – add (or subtract) the scaling adjustment value from the current instance count. Positive values scale up while negative values scale down.

  • ExactCapacity – set the instance count to the scaling adjustment value.

  • PercentChangeInCapacity – increase or reduce the current instance count by the scaling adjustment, read as a percentage. Positive values scale up while negative values scale down.

" + "PutScalingPolicyInput$ScalingAdjustmentType": "

Type of adjustment to make to a fleet's instance count (see FleetCapacity):

  • ChangeInCapacity -- add (or subtract) the scaling adjustment value from the current instance count. Positive values scale up while negative values scale down.

  • ExactCapacity -- set the instance count to the scaling adjustment value.

  • PercentChangeInCapacity -- increase or reduce the current instance count by the scaling adjustment, read as a percentage. Positive values scale up while negative values scale down; for example, a value of \"-10\" scales the fleet down by 10%.

", + "ScalingPolicy$ScalingAdjustmentType": "

Type of adjustment to make to a fleet's instance count (see FleetCapacity):

  • ChangeInCapacity -- add (or subtract) the scaling adjustment value from the current instance count. Positive values scale up while negative values scale down.

  • ExactCapacity -- set the instance count to the scaling adjustment value.

  • PercentChangeInCapacity -- increase or reduce the current instance count by the scaling adjustment, read as a percentage. Positive values scale up while negative values scale down.

" } }, "ScalingPolicy": { @@ -1287,8 +1703,8 @@ "ScalingStatusType": { "base": null, "refs": { - "DescribeScalingPoliciesInput$StatusFilter": "

Scaling policy status to filter results on. A scaling policy is only in force when in an ACTIVE status.

  • ACTIVE – The scaling policy is currently in force.

  • UPDATEREQUESTED – A request to update the scaling policy has been received.

  • UPDATING – A change is being made to the scaling policy.

  • DELETEREQUESTED – A request to delete the scaling policy has been received.

  • DELETING – The scaling policy is being deleted.

  • DELETED – The scaling policy has been deleted.

  • ERROR – An error occurred in creating the policy. It should be removed and recreated.

", - "ScalingPolicy$Status": "

Current status of the scaling policy. The scaling policy is only in force when in an ACTIVE status.

  • ACTIVE – The scaling policy is currently in force.

  • UPDATE_REQUESTED – A request to update the scaling policy has been received.

  • UPDATING – A change is being made to the scaling policy.

  • DELETE_REQUESTED – A request to delete the scaling policy has been received.

  • DELETING – The scaling policy is being deleted.

  • DELETED – The scaling policy has been deleted.

  • ERROR – An error occurred in creating the policy. It should be removed and recreated.

" + "DescribeScalingPoliciesInput$StatusFilter": "

Scaling policy status to filter results on. A scaling policy is only in force when in an ACTIVE status.

  • ACTIVE -- The scaling policy is currently in force.

  • UPDATEREQUESTED -- A request to update the scaling policy has been received.

  • UPDATING -- A change is being made to the scaling policy.

  • DELETEREQUESTED -- A request to delete the scaling policy has been received.

  • DELETING -- The scaling policy is being deleted.

  • DELETED -- The scaling policy has been deleted.

  • ERROR -- An error occurred in creating the policy. It should be removed and recreated.

", + "ScalingPolicy$Status": "

Current status of the scaling policy. The scaling policy is only in force when in an ACTIVE status.

  • ACTIVE -- The scaling policy is currently in force.

  • UPDATE_REQUESTED -- A request to update the scaling policy has been received.

  • UPDATING -- A change is being made to the scaling policy.

  • DELETE_REQUESTED -- A request to delete the scaling policy has been received.

  • DELETING -- The scaling policy is being deleted.

  • DELETED -- The scaling policy has been deleted.

  • ERROR -- An error occurred in creating the policy. It should be removed and recreated.

" } }, "SearchGameSessionsInput": { @@ -1313,6 +1729,14 @@ "RuntimeConfiguration$ServerProcesses": "

Collection of server process configurations that describe which server processes to run on each instance in a fleet.

" } }, + "SnsArnStringModel": { + "base": null, + "refs": { + "CreateMatchmakingConfigurationInput$NotificationTarget": "

SNS topic ARN that is set up to receive matchmaking notifications.

", + "MatchmakingConfiguration$NotificationTarget": "

SNS topic ARN that is set up to receive matchmaking notifications.

", + "UpdateMatchmakingConfigurationInput$NotificationTarget": "

SNS topic ARN that is set up to receive matchmaking notifications. See Setting up Notifications for Matchmaking for more information.

" + } + }, "StartGameSessionPlacementInput": { "base": "

Represents the input for a request action.

", "refs": { @@ -1323,6 +1747,16 @@ "refs": { } }, + "StartMatchmakingInput": { + "base": "

Represents the input for a request action.

", + "refs": { + } + }, + "StartMatchmakingOutput": { + "base": "

Represents the returned data in response to a request action.

", + "refs": { + } + }, "StopGameSessionPlacementInput": { "base": "

Represents the input for a request action.

", "refs": { @@ -1333,13 +1767,38 @@ "refs": { } }, + "StopMatchmakingInput": { + "base": "

Represents the input for a request action.

", + "refs": { + } + }, + "StopMatchmakingOutput": { + "base": null, + "refs": { + } + }, + "StringDoubleMap": { + "base": null, + "refs": { + "AttributeValue$SDM": "

For a map of up to 10 type:value pairs. Maximum length for each string value is 100 characters.

" + } + }, "StringList": { "base": null, "refs": { + "AttributeValue$SL": "

For a list of up to 10 strings. Maximum length for each string is 100 characters. Duplicate values are not recognized; all occurrences of the repeated value after the first of a repeated value are ignored.

", "CreateFleetInput$LogPaths": "

This parameter is no longer used. Instead, to specify where Amazon GameLift should store log files once a server process shuts down, use the Amazon GameLift server API ProcessReady() and specify one or more directory paths in logParameters. See more information in the Server API Reference.

", "FleetAttributes$LogPaths": "

Location of default log files. When a server process is shut down, Amazon GameLift captures and stores any log files in this location. These logs are in addition to game session logs; see more on game session logs in the Amazon GameLift Developer Guide. If no default log path for a fleet is specified, Amazon GameLift automatically uploads logs that are stored on each instance at C:\\game\\logs (for Windows) or /local/game/logs (for Linux). Use the Amazon GameLift console to access stored logs.

" } }, + "StringModel": { + "base": null, + "refs": { + "GameSessionConnectionInfo$IpAddress": "

IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

", + "MatchmakingTicket$StatusReason": "

Code to explain the current status. For example, a status reason may indicate when a ticket has returned to SEARCHING status after a proposed match fails to receive player acceptances.

", + "MatchmakingTicket$StatusMessage": "

Additional information about the current status.

" + } + }, "TerminalRoutingStrategyException": { "base": "

The service is unable to resolve the routing for a particular alias because it has a terminal RoutingStrategy associated with it. The message returned in this exception is the message defined in the routing strategy itself. Such requests should only be retried if the routing strategy for the specified alias is modified.

", "refs": { @@ -1361,8 +1820,14 @@ "GameSessionPlacement$StartTime": "

Time stamp indicating when this request was placed in the queue. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

", "GameSessionPlacement$EndTime": "

Time stamp indicating when this request was completed, canceled, or timed out.

", "Instance$CreationTime": "

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

", + "MatchmakingConfiguration$CreationTime": "

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

", + "MatchmakingRuleSet$CreationTime": "

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

", + "MatchmakingTicket$StartTime": "

Time stamp indicating when this matchmaking request was received. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

", + "MatchmakingTicket$EndTime": "

Time stamp indicating when the matchmaking request stopped being processed due to successful completion, timeout, or cancellation. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

", "PlayerSession$CreationTime": "

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

", - "PlayerSession$TerminationTime": "

Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" + "PlayerSession$TerminationTime": "

Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

", + "VpcPeeringAuthorization$CreationTime": "

Time stamp indicating when this authorization was issued. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

", + "VpcPeeringAuthorization$ExpirationTime": "

Time stamp indicating when this authorization expires (24 hours after issuance). Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" } }, "UnauthorizedException": { @@ -1370,6 +1835,11 @@ "refs": { } }, + "UnsupportedRegionException": { + "base": "

The requested operation is not supported in the region specified.

", + "refs": { + } + }, "UpdateAliasInput": { "base": "

Represents the input for a request action.

", "refs": { @@ -1440,6 +1910,16 @@ "refs": { } }, + "UpdateMatchmakingConfigurationInput": { + "base": "

Represents the input for a request action.

", + "refs": { + } + }, + "UpdateMatchmakingConfigurationOutput": { + "base": "

Represents the returned data in response to a request action.

", + "refs": { + } + }, "UpdateRuntimeConfigurationInput": { "base": "

Represents the input for a request action.

", "refs": { @@ -1450,11 +1930,53 @@ "refs": { } }, + "ValidateMatchmakingRuleSetInput": { + "base": "

Represents the input for a request action.

", + "refs": { + } + }, + "ValidateMatchmakingRuleSetOutput": { + "base": "

Represents the returned data in response to a request action.

", + "refs": { + } + }, + "VpcPeeringAuthorization": { + "base": "

Represents an authorization for a VPC peering connection between the VPC for an Amazon GameLift fleet and another VPC on an account you have access to. This authorization must exist and be valid for the peering connection to be established. Authorizations are valid for 24 hours after they are issued.

VPC peering connection operations include:

", + "refs": { + "CreateVpcPeeringAuthorizationOutput$VpcPeeringAuthorization": "

Details on the requested VPC peering authorization, including expiration.

", + "VpcPeeringAuthorizationList$member": null + } + }, + "VpcPeeringAuthorizationList": { + "base": null, + "refs": { + "DescribeVpcPeeringAuthorizationsOutput$VpcPeeringAuthorizations": "

Collection of objects that describe all valid VPC peering operations for the current AWS account.

" + } + }, + "VpcPeeringConnection": { + "base": "

Represents a peering connection between a VPC on one of your AWS accounts and the VPC for your Amazon GameLift fleets. This record may be for an active peering connection or a pending connection that has not yet been established.

VPC peering connection operations include:

", + "refs": { + "VpcPeeringConnectionList$member": null + } + }, + "VpcPeeringConnectionList": { + "base": null, + "refs": { + "DescribeVpcPeeringConnectionsOutput$VpcPeeringConnections": "

Collection of VPC peering connection records that match the request.

" + } + }, + "VpcPeeringConnectionStatus": { + "base": "

Represents status information for a VPC peering connection. Status is associated with a VpcPeeringConnection object. Status codes and messages are provided from EC2 (). Connection status information is also communicated as a fleet Event.

", + "refs": { + "VpcPeeringConnection$Status": "

Object that contains status information about the connection. Status indicates if a connection is pending, successful, or failed.

" + } + }, "WholeNumber": { "base": null, "refs": { "CreateGameSessionInput$MaximumPlayerSessionCount": "

Maximum number of players that can be connected simultaneously to the game session.

", - "CreateGameSessionQueueInput$TimeoutInSeconds": "

Maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status.

", + "CreateGameSessionQueueInput$TimeoutInSeconds": "

Maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status.

", + "CreateMatchmakingConfigurationInput$AdditionalPlayerCount": "

Number of player slots in a match to keep open for future players. For example, if the configuration's rule set specifies a match for a single 12-person team, and the additional player count is set to 2, only 10 players are selected for the match.

", "EC2InstanceCounts$DESIRED": "

Ideal number of active instances in the fleet.

", "EC2InstanceCounts$MINIMUM": "

Minimum value allowed for the fleet's instance count.

", "EC2InstanceCounts$MAXIMUM": "

Maximum value allowed for the fleet's instance count.

", @@ -1471,7 +1993,9 @@ "GameSession$CurrentPlayerSessionCount": "

Number of players currently in the game session.

", "GameSession$MaximumPlayerSessionCount": "

Maximum number of players that can be connected simultaneously to the game session.

", "GameSessionPlacement$MaximumPlayerSessionCount": "

Maximum number of players that can be connected simultaneously to the game session.

", - "GameSessionQueue$TimeoutInSeconds": "

Maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status.

", + "GameSessionQueue$TimeoutInSeconds": "

Maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status.

", + "MatchmakingConfiguration$AdditionalPlayerCount": "

Number of player slots in a match to keep open for future players. For example, if the configuration's rule set specifies a match for a single 12-person team, and the additional player count is set to 2, only 10 players are selected for the match.

", + "MatchmakingTicket$EstimatedWaitTime": "

Average amount of time (in seconds) that players are currently waiting for a match. If there is not enough recent data, this property may be empty.

", "PlayerLatencyPolicy$MaximumIndividualPlayerLatencyMilliseconds": "

The maximum latency value that is allowed for any player, in milliseconds. All policies must have a value set for this property.

", "PlayerLatencyPolicy$PolicyDurationSeconds": "

The length of time, in seconds, that the policy is enforced while placing a new game session. A null value for this property means that the policy is enforced until the queue times out.

", "ResourceCreationLimitPolicy$NewGameSessionsPerCreator": "

Maximum number of game sessions that an individual can create during the policy period.

", @@ -1481,7 +2005,8 @@ "UpdateFleetCapacityInput$MinSize": "

Minimum value allowed for the fleet's instance count. Default if not set is 0.

", "UpdateFleetCapacityInput$MaxSize": "

Maximum value allowed for the fleet's instance count. Default if not set is 1.

", "UpdateGameSessionInput$MaximumPlayerSessionCount": "

Maximum number of players that can be connected simultaneously to the game session.

", - "UpdateGameSessionQueueInput$TimeoutInSeconds": "

Maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status.

" + "UpdateGameSessionQueueInput$TimeoutInSeconds": "

Maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status.

", + "UpdateMatchmakingConfigurationInput$AdditionalPlayerCount": "

Number of player slots in a match to keep open for future players. For example, if the configuration's rule set specifies a match for a single 12-person team, and the additional player count is set to 2, only 10 players are selected for the match.

" } } } diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/greengrass/2017-06-07/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/greengrass/2017-06-07/api-2.json index fca40b45a..35cd03952 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/greengrass/2017-06-07/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/greengrass/2017-06-07/api-2.json @@ -968,6 +968,23 @@ }, "errors" : [ ] }, + "ResetDeployments" : { + "name" : "ResetDeployments", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/groups/{GroupId}/deployments/$reset", + "responseCode" : 200 + }, + "input" : { + "shape" : "ResetDeploymentsRequest" + }, + "output" : { + "shape" : "ResetDeploymentsResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + } ] + }, "UpdateConnectivityInfo" : { "name" : "UpdateConnectivityInfo", "http" : { @@ -1873,6 +1890,9 @@ "DeploymentId" : { "shape" : "__string" }, + "DeploymentType" : { + "shape" : "DeploymentType" + }, "GroupArn" : { "shape" : "__string" } @@ -1880,7 +1900,7 @@ }, "DeploymentType" : { "type" : "string", - "enum" : [ "NewDeployment", "Redeployment" ] + "enum" : [ "NewDeployment", "Redeployment", "ResetDeployment", "ForceResetDeployment" ] }, "Deployments" : { "type" : "list", @@ -2169,6 +2189,12 @@ "DeploymentStatus" : { "shape" : "__string" }, + "DeploymentType" : { + "shape" : "DeploymentType" + }, + "ErrorDetails" : { + "shape" : "ErrorDetails" + }, "ErrorMessage" : { "shape" : "__string" }, @@ -3228,6 +3254,36 @@ "shape" : "__string" } }, + "ResetDeploymentsRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token" + }, + "Force" : { + "shape" : "__boolean" + }, + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId" + } + }, + "required" : [ "GroupId" ] + }, + "ResetDeploymentsResponse" : { + "type" : "structure", + "members" : { + "DeploymentArn" : { + "shape" : "__string" + }, + "DeploymentId" : { + "shape" : "__string" + } + } + }, "Subscription" : { "type" : "structure", "members" : { diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/greengrass/2017-06-07/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/greengrass/2017-06-07/docs-2.json index 30bff0a38..e079aadcd 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/greengrass/2017-06-07/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/greengrass/2017-06-07/docs-2.json @@ -1,5 +1,5 @@ { - "version" : "1.0", + "version" : "2.0", "service" : "AWS Greengrass seamlessly extends AWS onto physical devices so they can act locally on the data they generate, while still using the cloud for management, analytics, and durable storage. AWS Greengrass ensures your devices can respond quickly to local events and operate with intermittent connectivity. AWS Greengrass minimizes the cost of transmitting data to the cloud by allowing you to author AWS Lambda functions that execute locally.", "operations" : { "AssociateRoleToGroup" : "Associates a role with a group. The role will be used by the AWS Greengrass core in order to access AWS cloud services. The role's permissions will allow Greengrass core Lambda functions to perform actions against the cloud.", @@ -58,6 +58,7 @@ "ListLoggerDefinitions" : "Retrieves a list of logger definitions.", "ListSubscriptionDefinitionVersions" : "Lists the versions of a subscription definition.", "ListSubscriptionDefinitions" : "Retrieves a list of subscription definitions.", + "ResetDeployments" : "Resets a group's deployments.", "UpdateConnectivityInfo" : "Updates the connectivity information for the core. Any devices that belong to the group which has this core will receive this information in order to find the location of the core and connect to it.", "UpdateCoreDefinition" : "Updates a core definition.", "UpdateDeviceDefinition" : "Updates a device definition.", @@ -91,8 +92,8 @@ "ConnectivityInfo" : { "base" : "Connectivity Info", "refs" : { - "GetConnectivityInfoResponse$ConnectivityInfo" : "Connectivity info array", - "UpdateConnectivityInfoRequest$ConnectivityInfo" : "Connectivity info array" + "GetConnectivityInfoResponse$ConnectivityInfo" : "Connectivity info list", + "UpdateConnectivityInfoRequest$ConnectivityInfo" : "Connectivity info list" } }, "Core" : { @@ -134,13 +135,15 @@ "DeploymentType" : { "base" : null, "refs" : { - "CreateDeploymentRequest$DeploymentType" : "Type of deployment" + "CreateDeploymentRequest$DeploymentType" : "Type of deployment. When used in CreateDeployment, only NewDeployment and Redeployment are valid. ", + "Deployment$DeploymentType" : "The type of deployment.", + "GetDeploymentStatusResponse$DeploymentType" : "The type of the deployment." } }, "Deployments" : { "base" : null, "refs" : { - "ListDeploymentsResponse$Deployments" : "Information on deployments" + "ListDeploymentsResponse$Deployments" : "List of deployments for the requested groups" } }, "Device" : { @@ -176,7 +179,8 @@ "ErrorDetails" : { "base" : "Error Details", "refs" : { - "GeneralError$ErrorDetails" : "Error Details" + "GeneralError$ErrorDetails" : "Error Details", + "GetDeploymentStatusResponse$ErrorDetails" : "The error Details" } }, "Function" : { @@ -262,7 +266,7 @@ "refs" : { } }, "GroupInformation" : { - "base" : "Information of a group", + "base" : "Information on the group", "refs" : { "ListGroupsResponse$Groups" : "Groups" } @@ -274,11 +278,11 @@ } }, "InternalServerErrorException" : { - "base" : "This request was invalid.", + "base" : "Server Error", "refs" : { } }, "ListDefinitionsResponse" : { - "base" : "List of definition response", + "base" : "List of definition responses", "refs" : { } }, "ListDeploymentsResponse" : { @@ -371,6 +375,14 @@ "base" : null, "refs" : { } }, + "ResetDeploymentsRequest" : { + "base" : "Information needed to perform a reset of a group's deployments.", + "refs" : { } + }, + "ResetDeploymentsResponse" : { + "base" : null, + "refs" : { } + }, "Subscription" : { "base" : "Information on subscription", "refs" : { @@ -406,7 +418,8 @@ "refs" : { "Core$SyncShadow" : "If true, the local shadow value automatically syncs with the cloud's shadow state.", "Device$SyncShadow" : "If true, the local shadow value automatically syncs with the cloud's shadow state.", - "FunctionConfiguration$Pinned" : "Whether the function is pinned or not. Pinned means the function is long-lived and starts when the core starts." + "FunctionConfiguration$Pinned" : "Whether the function is pinned or not. Pinned means the function is long-lived and starts when the core starts.", + "ResetDeploymentsRequest$Force" : "When set to true, perform a best-effort only core reset." } }, "__integer" : { @@ -433,8 +446,8 @@ "Core$ThingArn" : "Thing arn of the core.", "CreateDeploymentRequest$DeploymentId" : "Id of the deployment if you wish to redeploy a previous deployment.", "CreateDeploymentRequest$GroupVersionId" : "Group Version you wish to deploy.", - "CreateDeploymentResponse$DeploymentArn" : "Arn of the deployment.", - "CreateDeploymentResponse$DeploymentId" : "Id of the deployment.", + "CreateDeploymentResponse$DeploymentArn" : "The arn of the deployment.", + "CreateDeploymentResponse$DeploymentId" : "The id of the deployment.", "CreateGroupCertificateAuthorityResponse$GroupCertificateAuthorityArn" : "Arn of the group certificate authority.", "DefinitionInformation$Arn" : "Arn of the definition.", "DefinitionInformation$CreationTimestamp" : "Timestamp of when the definition was created.", @@ -458,7 +471,7 @@ "Function$Id" : "Id of the function in this version.", "FunctionConfiguration$ExecArgs" : "Execution Arguments", "FunctionConfiguration$Executable" : "Executable", - "GeneralError$Message" : "Message", + "GeneralError$Message" : "Message containing information about the error", "GetAssociatedRoleResponse$AssociatedAt" : "Time when the role was associated for the group.", "GetAssociatedRoleResponse$RoleArn" : "Arn of the role that is associated with the group.", "GetConnectivityInfoResponse$message" : "Response Text", @@ -516,6 +529,8 @@ "ListGroupsResponse$NextToken" : "The token for the next set of results, or ''null'' if there are no additional results.", "ListVersionsResponse$NextToken" : "The token for the next set of results, or ''null'' if there are no additional results.", "Logger$Id" : "Element Id for this entry in the list.", + "ResetDeploymentsResponse$DeploymentArn" : "The arn of the reset deployment.", + "ResetDeploymentsResponse$DeploymentId" : "The id of the reset deployment.", "Subscription$Id" : "Element Id for this entry in the list.", "Subscription$Source" : "Source of the subscription. Can be a thing arn, lambda arn or word 'cloud'", "Subscription$Subject" : "Subject of the message.", @@ -530,4 +545,4 @@ } } } -} +} \ No newline at end of file diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/iam/2010-05-08/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/iam/2010-05-08/api-2.json index 43d608e1f..e3bb8b76f 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/iam/2010-05-08/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/iam/2010-05-08/api-2.json @@ -65,6 +65,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"LimitExceededException"}, {"shape":"InvalidInputException"}, + {"shape":"PolicyNotAttachableException"}, {"shape":"ServiceFailureException"} ] }, @@ -80,6 +81,7 @@ {"shape":"LimitExceededException"}, {"shape":"InvalidInputException"}, {"shape":"UnmodifiableEntityException"}, + {"shape":"PolicyNotAttachableException"}, {"shape":"ServiceFailureException"} ] }, @@ -94,6 +96,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"LimitExceededException"}, {"shape":"InvalidInputException"}, + {"shape":"PolicyNotAttachableException"}, {"shape":"ServiceFailureException"} ] }, @@ -578,6 +581,23 @@ {"shape":"ServiceFailureException"} ] }, + "DeleteServiceLinkedRole":{ + "name":"DeleteServiceLinkedRole", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteServiceLinkedRoleRequest"}, + "output":{ + "shape":"DeleteServiceLinkedRoleResponse", + "resultWrapper":"DeleteServiceLinkedRoleResult" + }, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceFailureException"} + ] + }, "DeleteServiceSpecificCredential":{ "name":"DeleteServiceSpecificCredential", "http":{ @@ -1020,6 +1040,23 @@ {"shape":"ServiceFailureException"} ] }, + "GetServiceLinkedRoleDeletionStatus":{ + "name":"GetServiceLinkedRoleDeletionStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetServiceLinkedRoleDeletionStatusRequest"}, + "output":{ + "shape":"GetServiceLinkedRoleDeletionStatusResponse", + "resultWrapper":"GetServiceLinkedRoleDeletionStatusResult" + }, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceFailureException"} + ] + }, "GetUser":{ "name":"GetUser", "http":{ @@ -1926,6 +1963,10 @@ "UserName":{"shape":"existingUserNameType"} } }, + "ArnListType":{ + "type":"list", + "member":{"shape":"arnType"} + }, "AttachGroupPolicyRequest":{ "type":"structure", "required":[ @@ -2421,6 +2462,20 @@ "ServerCertificateName":{"shape":"serverCertificateNameType"} } }, + "DeleteServiceLinkedRoleRequest":{ + "type":"structure", + "required":["RoleName"], + "members":{ + "RoleName":{"shape":"roleNameType"} + } + }, + "DeleteServiceLinkedRoleResponse":{ + "type":"structure", + "required":["DeletionTaskId"], + "members":{ + "DeletionTaskId":{"shape":"DeletionTaskIdType"} + } + }, "DeleteServiceSpecificCredentialRequest":{ "type":"structure", "required":["ServiceSpecificCredentialId"], @@ -2462,6 +2517,27 @@ "SerialNumber":{"shape":"serialNumberType"} } }, + "DeletionTaskFailureReasonType":{ + "type":"structure", + "members":{ + "Reason":{"shape":"ReasonType"}, + "RoleUsageList":{"shape":"RoleUsageListType"} + } + }, + "DeletionTaskIdType":{ + "type":"string", + "max":1000, + "min":1 + }, + "DeletionTaskStatusType":{ + "type":"string", + "enum":[ + "SUCCEEDED", + "IN_PROGRESS", + "FAILED", + "NOT_STARTED" + ] + }, "DetachGroupPolicyRequest":{ "type":"structure", "required":[ @@ -2887,6 +2963,21 @@ "ServerCertificate":{"shape":"ServerCertificate"} } }, + "GetServiceLinkedRoleDeletionStatusRequest":{ + "type":"structure", + "required":["DeletionTaskId"], + "members":{ + "DeletionTaskId":{"shape":"DeletionTaskIdType"} + } + }, + "GetServiceLinkedRoleDeletionStatusResponse":{ + "type":"structure", + "required":["Status"], + "members":{ + "Status":{"shape":"DeletionTaskStatusType"}, + "Reason":{"shape":"DeletionTaskFailureReasonType"} + } + }, "GetUserPolicyRequest":{ "type":"structure", "required":[ @@ -3659,6 +3750,18 @@ "member":{"shape":"PolicyGroup"} }, "PolicyIdentifierType":{"type":"string"}, + "PolicyNotAttachableException":{ + "type":"structure", + "members":{ + "message":{"shape":"policyNotAttachableMessage"} + }, + "error":{ + "code":"PolicyNotAttachable", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "PolicyRole":{ "type":"structure", "members":{ @@ -3748,6 +3851,15 @@ "PolicyDocument":{"shape":"policyDocumentType"} } }, + "ReasonType":{ + "type":"string", + "max":1000 + }, + "RegionNameType":{ + "type":"string", + "max":100, + "min":1 + }, "RemoveClientIDFromOpenIDConnectProviderRequest":{ "type":"structure", "required":[ @@ -3889,6 +4001,17 @@ "AttachedManagedPolicies":{"shape":"attachedPoliciesListType"} } }, + "RoleUsageListType":{ + "type":"list", + "member":{"shape":"RoleUsageType"} + }, + "RoleUsageType":{ + "type":"structure", + "members":{ + "Region":{"shape":"RegionNameType"}, + "Resources":{"shape":"ArnListType"} + } + }, "SAMLMetadataDocumentType":{ "type":"string", "max":10000000, @@ -4655,6 +4778,7 @@ "min":1, "pattern":"[\\w+=,.@-]+" }, + "policyNotAttachableMessage":{"type":"string"}, "policyPathType":{ "type":"string", "pattern":"((/[A-Za-z0-9\\.,\\+@=_-]+)*)/" diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/iam/2010-05-08/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/iam/2010-05-08/docs-2.json index fc004a129..e0b6fc45f 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/iam/2010-05-08/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/iam/2010-05-08/docs-2.json @@ -39,6 +39,7 @@ "DeleteSAMLProvider": "

Deletes a SAML provider resource in IAM.

Deleting the provider resource from IAM does not update any roles that reference the SAML provider resource's ARN as a principal in their trust policies. Any attempt to assume a role that references a non-existent provider resource ARN fails.

This operation requires Signature Version 4.

", "DeleteSSHPublicKey": "

Deletes the specified SSH public key.

The SSH public key deleted by this action is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

", "DeleteServerCertificate": "

Deletes the specified server certificate.

For more information about working with server certificates, including a list of AWS services that can use the server certificates that you manage with IAM, go to Working with Server Certificates in the IAM User Guide.

If you are using a server certificate with Elastic Load Balancing, deleting the certificate could have implications for your application. If Elastic Load Balancing doesn't detect the deletion of bound certificates, it may continue to use the certificates. This could cause Elastic Load Balancing to stop accepting traffic. We recommend that you remove the reference to the certificate from Elastic Load Balancing before using this command to delete the certificate. For more information, go to DeleteLoadBalancerListeners in the Elastic Load Balancing API Reference.

", + "DeleteServiceLinkedRole": "

Submits a service-linked role deletion request and returns a DeletionTaskId, which you can use to check the status of the deletion. Before you call this operation, confirm that the role has no active sessions and that any resources used by the role in the linked service are deleted. If you call this operation more than once for the same service-linked role and an earlier deletion task is not complete, then the DeletionTaskId of the earlier request is returned.

If you submit a deletion request for a service-linked role whose linked service is still accessing a resource, then the deletion task fails. If it fails, the GetServiceLinkedRoleDeletionStatus API operation returns the reason for the failure, including the resources that must be deleted. To delete the service-linked role, you must first remove those resources from the linked service and then submit the deletion request again. Resources are specific to the service that is linked to the role. For more information about removing resources from a service, see the AWS documentation for your service.

For more information about service-linked roles, see Roles Terms and Concepts: AWS Service-Linked Role in the IAM User Guide.

", "DeleteServiceSpecificCredential": "

Deletes the specified service-specific credential.

", "DeleteSigningCertificate": "

Deletes a signing certificate associated with the specified IAM user.

If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated IAM users.

", "DeleteUser": "

Deletes the specified IAM user. The user must not belong to any groups or have any access keys, signing certificates, or attached policies.

", @@ -68,6 +69,7 @@ "GetSAMLProvider": "

Returns the SAML provider metadocument that was uploaded when the IAM SAML provider resource object was created or updated.

This operation requires Signature Version 4.

", "GetSSHPublicKey": "

Retrieves the specified SSH public key, including metadata about the key.

The SSH public key retrieved by this action is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

", "GetServerCertificate": "

Retrieves information about the specified server certificate stored in IAM.

For more information about working with server certificates, including a list of AWS services that can use the server certificates that you manage with IAM, go to Working with Server Certificates in the IAM User Guide.

", + "GetServiceLinkedRoleDeletionStatus": "

Retrieves the status of your service-linked role deletion. After you use the DeleteServiceLinkedRole API operation to submit a service-linked role for deletion, you can use the DeletionTaskId parameter in GetServiceLinkedRoleDeletionStatus to check the status of the deletion. If the deletion fails, this operation returns the reason that it failed.

", "GetUser": "

Retrieves information about the specified IAM user, including the user's creation date, path, unique ID, and ARN.

If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID used to sign the request to this API.

", "GetUserPolicy": "

Retrieves the specified inline policy document that is embedded in the specified IAM user.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

An IAM user can also have managed policies attached to it. To retrieve a managed policy document that is attached to a user, use GetPolicy to determine the policy's default version, then use GetPolicyVersion to retrieve the policy document.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

", "ListAccessKeys": "

Returns information about the access key IDs associated with the specified IAM user. If there are none, the action returns an empty list.

Although each user is limited to a small number of keys, you can still paginate the results using the MaxItems and Marker parameters.

If the UserName field is not specified, the UserName is determined implicitly based on the AWS access key ID used to sign the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users.

To ensure the security of your AWS account, the secret access key is accessible only during key and user creation.

", @@ -171,6 +173,12 @@ "refs": { } }, + "ArnListType": { + "base": null, + "refs": { + "RoleUsageType$Resources": "

The name of the resource that is using the service-linked role.

" + } + }, "AttachGroupPolicyRequest": { "base": null, "refs": { @@ -486,6 +494,16 @@ "refs": { } }, + "DeleteServiceLinkedRoleRequest": { + "base": null, + "refs": { + } + }, + "DeleteServiceLinkedRoleResponse": { + "base": null, + "refs": { + } + }, "DeleteServiceSpecificCredentialRequest": { "base": null, "refs": { @@ -511,6 +529,25 @@ "refs": { } }, + "DeletionTaskFailureReasonType": { + "base": "

The reason that the service-linked role deletion failed.

This data type is used as a response element in the GetServiceLinkedRoleDeletionStatus operation.

", + "refs": { + "GetServiceLinkedRoleDeletionStatusResponse$Reason": "

An object that contains details about the reason the deletion failed.

" + } + }, + "DeletionTaskIdType": { + "base": null, + "refs": { + "DeleteServiceLinkedRoleResponse$DeletionTaskId": "

The deletion task identifier that you can use to check the status of the deletion. This identifier is returned in the format task/aws-service-role/<service-principal-name>/<role-name>/<task-uuid>.

", + "GetServiceLinkedRoleDeletionStatusRequest$DeletionTaskId": "

The deletion task identifier. This identifier is returned by the DeleteServiceLinkedRole operation in the format task/aws-service-role/<service-principal-name>/<role-name>/<task-uuid>.

" + } + }, + "DeletionTaskStatusType": { + "base": null, + "refs": { + "GetServiceLinkedRoleDeletionStatusResponse$Status": "

The status of the deletion.

" + } + }, "DetachGroupPolicyRequest": { "base": null, "refs": { @@ -758,6 +795,16 @@ "refs": { } }, + "GetServiceLinkedRoleDeletionStatusRequest": { + "base": null, + "refs": { + } + }, + "GetServiceLinkedRoleDeletionStatusResponse": { + "base": null, + "refs": { + } + }, "GetUserPolicyRequest": { "base": null, "refs": { @@ -1190,7 +1237,7 @@ } }, "PolicyEvaluationException": { - "base": "

The request failed because a provided policy could not be successfully evaluated. An additional detail message indicates the source of the failure.

", + "base": "

The request failed because a provided policy could not be successfully evaluated. An additional detailed message indicates the source of the failure.

", "refs": { } }, @@ -1212,6 +1259,11 @@ "Statement$SourcePolicyId": "

The identifier of the policy that was provided as an input.

" } }, + "PolicyNotAttachableException": { + "base": "

The request failed because AWS service role policies can only be attached to the service-linked role for that service.

", + "refs": { + } + }, "PolicyRole": { "base": "

Contains information about a role that a managed policy is attached to.

This data type is used as a response element in the ListEntitiesForPolicy action.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

", "refs": { @@ -1272,6 +1324,18 @@ "refs": { } }, + "ReasonType": { + "base": null, + "refs": { + "DeletionTaskFailureReasonType$Reason": "

A short description of the reason that the service-linked role deletion failed.

" + } + }, + "RegionNameType": { + "base": null, + "refs": { + "RoleUsageType$Region": "

The name of the region where the service-linked role is being used.

" + } + }, "RemoveClientIDFromOpenIDConnectProviderRequest": { "base": null, "refs": { @@ -1380,6 +1444,18 @@ "roleDetailListType$member": null } }, + "RoleUsageListType": { + "base": null, + "refs": { + "DeletionTaskFailureReasonType$RoleUsageList": "

A list of objects that contains details about the service-linked role deletion failure. If the service-linked role has active sessions or if any resources that were used by the role have not been deleted from the linked service, the role can't be deleted. This parameter includes a list of the resources that are associated with the role and the region in which the resources are being used.

" + } + }, + "RoleUsageType": { + "base": "

An object that contains details about how a service-linked role is used.

This data type is used as a response element in the GetServiceLinkedRoleDeletionStatus operation.

", + "refs": { + "RoleUsageListType$member": null + } + }, "SAMLMetadataDocumentType": { "base": null, "refs": { @@ -1694,6 +1770,7 @@ "base": "

The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", "refs": { "AddClientIDToOpenIDConnectProviderRequest$OpenIDConnectProviderArn": "

The Amazon Resource Name (ARN) of the IAM OpenID Connect (OIDC) provider resource to add the client ID to. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders action.

", + "ArnListType$member": null, "AttachGroupPolicyRequest$PolicyArn": "

The Amazon Resource Name (ARN) of the IAM policy you want to attach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", "AttachRolePolicyRequest$PolicyArn": "

The Amazon Resource Name (ARN) of the IAM policy you want to attach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", "AttachUserPolicyRequest$PolicyArn": "

The Amazon Resource Name (ARN) of the IAM policy you want to attach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", @@ -1926,7 +2003,7 @@ "ServiceSpecificCredentialMetadata$CreateDate": "

The date and time, in ISO 8601 date-time format, when the service-specific credential were created.

", "SigningCertificate$UploadDate": "

The date when the signing certificate was uploaded.

", "User$CreateDate": "

The date and time, in ISO 8601 date-time format, when the user was created.

", - "User$PasswordLastUsed": "

The date and time, in ISO 8601 date-time format, when the user's password was last used to sign in to an AWS website. For a list of AWS websites that capture a user's last sign-in time, see the Credential Reports topic in the Using IAM guide. If a password is used more than once in a five-minute span, only the first use is returned in this field. This field is null (not present) when:

  • The user does not have a password

  • The password exists but has never been used (at least not since IAM started tracking this information on October 20th, 2014

  • there is no sign-in data associated with the user

This value is returned only in the GetUser and ListUsers actions.

", + "User$PasswordLastUsed": "

The date and time, in ISO 8601 date-time format, when the user's password was last used to sign in to an AWS website. For a list of AWS websites that capture a user's last sign-in time, see the Credential Reports topic in the Using IAM guide. If a password is used more than once in a five-minute span, only the first use is returned in this field. If the field is null (no value) then it indicates that they never signed in with a password. This can be because:

  • The user never had a password.

  • A password exists but has not been used since IAM started tracking this information on October 20th, 2014.

A null does not mean that the user never had a password. Also, if the user does not currently have a password, but had one in the past, then this field contains the date and time the most recent password was used.

This value is returned only in the GetUser and ListUsers actions.

", "UserDetail$CreateDate": "

The date and time, in ISO 8601 date-time format, when the user was created.

", "VirtualMFADevice$EnableDate": "

The date and time on which the virtual MFA device was enabled.

" } @@ -2365,7 +2442,7 @@ "policyNameListType": { "base": "

Contains a list of policy names.

This data type is used as a response element in the ListPolicies action.

", "refs": { - "ListGroupPoliciesResponse$PolicyNames": "

A list of policy names.

", + "ListGroupPoliciesResponse$PolicyNames": "

A list of policy names.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-+

", "ListRolePoliciesResponse$PolicyNames": "

A list of policy names.

", "ListUserPoliciesResponse$PolicyNames": "

A list of policy names.

" } @@ -2374,25 +2451,31 @@ "base": null, "refs": { "AttachedPolicy$PolicyName": "

The friendly name of the attached policy.

", - "CreatePolicyRequest$PolicyName": "

The friendly name of the policy.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

", - "DeleteGroupPolicyRequest$PolicyName": "

The name identifying the policy document to delete.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

", - "DeleteRolePolicyRequest$PolicyName": "

The name of the inline policy to delete from the specified IAM role.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

", - "DeleteUserPolicyRequest$PolicyName": "

The name identifying the policy document to delete.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

", - "GetGroupPolicyRequest$PolicyName": "

The name of the policy document to get.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

", + "CreatePolicyRequest$PolicyName": "

The friendly name of the policy.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-+

", + "DeleteGroupPolicyRequest$PolicyName": "

The name identifying the policy document to delete.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-+

", + "DeleteRolePolicyRequest$PolicyName": "

The name of the inline policy to delete from the specified IAM role.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-+

", + "DeleteUserPolicyRequest$PolicyName": "

The name identifying the policy document to delete.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-+

", + "GetGroupPolicyRequest$PolicyName": "

The name of the policy document to get.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-+

", "GetGroupPolicyResponse$PolicyName": "

The name of the policy.

", - "GetRolePolicyRequest$PolicyName": "

The name of the policy document to get.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

", + "GetRolePolicyRequest$PolicyName": "

The name of the policy document to get.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-+

", "GetRolePolicyResponse$PolicyName": "

The name of the policy.

", - "GetUserPolicyRequest$PolicyName": "

The name of the policy document to get.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

", + "GetUserPolicyRequest$PolicyName": "

The name of the policy document to get.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-+

", "GetUserPolicyResponse$PolicyName": "

The name of the policy.

", "ManagedPolicyDetail$PolicyName": "

The friendly name (not ARN) identifying the policy.

", "Policy$PolicyName": "

The friendly name (not ARN) identifying the policy.

", "PolicyDetail$PolicyName": "

The name of the policy.

", - "PutGroupPolicyRequest$PolicyName": "

The name of the policy document.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

", - "PutRolePolicyRequest$PolicyName": "

The name of the policy document.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

", - "PutUserPolicyRequest$PolicyName": "

The name of the policy document.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

", + "PutGroupPolicyRequest$PolicyName": "

The name of the policy document.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-+

", + "PutRolePolicyRequest$PolicyName": "

The name of the policy document.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-+

", + "PutUserPolicyRequest$PolicyName": "

The name of the policy document.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-+

", "policyNameListType$member": null } }, + "policyNotAttachableMessage": { + "base": null, + "refs": { + "PolicyNotAttachableException$message": null + } + }, "policyPathType": { "base": null, "refs": { @@ -2481,6 +2564,7 @@ "CreateRoleRequest$RoleName": "

The name of the role to create.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

Role names are not distinguished by case. For example, you cannot create roles named both \"PRODROLE\" and \"prodrole\".

", "DeleteRolePolicyRequest$RoleName": "

The name (friendly name, not ARN) identifying the role that the policy is embedded in.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

", "DeleteRoleRequest$RoleName": "

The name of the role to delete.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

", + "DeleteServiceLinkedRoleRequest$RoleName": "

The name of the service-linked role to be deleted.

", "DetachRolePolicyRequest$RoleName": "

The name (friendly name, not ARN) of the IAM role to detach the policy from.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

", "GetRolePolicyRequest$RoleName": "

The name of the role associated with the policy.

This parameter allows (per its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

", "GetRolePolicyResponse$RoleName": "

The role the policy is associated with.

", diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/inspector/2016-02-16/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/inspector/2016-02-16/api-2.json index 425f3a751..b24199e76 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/inspector/2016-02-16/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/inspector/2016-02-16/api-2.json @@ -819,7 +819,8 @@ "FAILED", "ERROR", "COMPLETED", - "COMPLETED_WITH_ERRORS" + "COMPLETED_WITH_ERRORS", + "CANCELED" ] }, "AssessmentRunStateChange":{ @@ -1894,11 +1895,19 @@ "assessmentRunArn":{"shape":"Arn"} } }, + "StopAction":{ + "type":"string", + "enum":[ + "START_EVALUATION", + "SKIP_EVALUATION" + ] + }, "StopAssessmentRunRequest":{ "type":"structure", "required":["assessmentRunArn"], "members":{ - "assessmentRunArn":{"shape":"Arn"} + "assessmentRunArn":{"shape":"Arn"}, + "stopAction":{"shape":"StopAction"} } }, "SubscribeToEventRequest":{ diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/inspector/2016-02-16/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/inspector/2016-02-16/docs-2.json index 718692843..59f2134e2 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/inspector/2016-02-16/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/inspector/2016-02-16/docs-2.json @@ -1107,6 +1107,12 @@ "refs": { } }, + "StopAction": { + "base": null, + "refs": { + "StopAssessmentRunRequest$stopAction": "

An input option that can be set to either START_EVALUATION or SKIP_EVALUATION. START_EVALUATION (the default value), stops the AWS agent from collecting data and begins the results evaluation and the findings generation process. SKIP_EVALUATION cancels the assessment run immediately, after which no findings are generated.

" + } + }, "StopAssessmentRunRequest": { "base": null, "refs": { @@ -1241,7 +1247,7 @@ "AddAttributesToFindingsRequest$attributes": "

The array of attributes that you want to assign to specified findings.

", "AssessmentRun$userAttributesForFindings": "

The user-defined attributes that are assigned to every generated finding.

", "AssessmentTemplate$userAttributesForFindings": "

The user-defined attributes that are assigned to every generated finding from the assessment run that uses this assessment template.

", - "CreateAssessmentTemplateRequest$userAttributesForFindings": "

The user-defined attributes that are assigned to every finding that is generated by the assessment run that uses this assessment template.

", + "CreateAssessmentTemplateRequest$userAttributesForFindings": "

The user-defined attributes that are assigned to every finding that is generated by the assessment run that uses this assessment template. An attribute is a key and value pair (an Attribute object). Within an assessment template, each key must be unique.

", "Finding$userAttributes": "

The user-defined attributes that are assigned to the finding.

" } }, diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/inspector/2016-02-16/paginators-1.json b/vendor/github.com/aws/aws-sdk-go/models/apis/inspector/2016-02-16/paginators-1.json index 5677bd8e4..0f2aaeeb2 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/inspector/2016-02-16/paginators-1.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/inspector/2016-02-16/paginators-1.json @@ -1,4 +1,44 @@ { "pagination": { + "ListAssessmentRunAgents": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListAssessmentRuns": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListAssessmentTargets": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListAssessmentTemplates": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListEventSubscriptions": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListFindings": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListRulesPackages": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "PreviewAgents": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + } } } diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/kinesisanalytics/2015-08-14/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/kinesisanalytics/2015-08-14/api-2.json index bb891d3a9..1b9dbb978 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/kinesisanalytics/2015-08-14/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/kinesisanalytics/2015-08-14/api-2.json @@ -40,7 +40,8 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ResourceInUseException"}, {"shape":"InvalidArgumentException"}, - {"shape":"ConcurrentModificationException"} + {"shape":"ConcurrentModificationException"}, + {"shape":"CodeValidationException"} ] }, "AddApplicationOutput":{ @@ -170,7 +171,8 @@ "errors":[ {"shape":"InvalidArgumentException"}, {"shape":"UnableToDetectSchemaException"}, - {"shape":"ResourceProvisionedThroughputExceededException"} + {"shape":"ResourceProvisionedThroughputExceededException"}, + {"shape":"ServiceUnavailableException"} ] }, "ListApplications":{ @@ -666,7 +668,7 @@ }, "InputParallelismCount":{ "type":"integer", - "max":10, + "max":64, "min":1 }, "InputParallelismUpdate":{ @@ -960,7 +962,7 @@ "RecordColumnMapping":{"type":"string"}, "RecordColumnName":{ "type":"string", - "pattern":"[a-zA-Z][a-zA-Z0-9_]+" + "pattern":"[a-zA-Z_][a-zA-Z0-9_]*" }, "RecordColumnSqlType":{"type":"string"}, "RecordColumns":{ @@ -1104,6 +1106,13 @@ "ReferenceRoleARNUpdate":{"shape":"RoleARN"} } }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "exception":true + }, "SourceSchema":{ "type":"structure", "required":[ diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/kinesisanalytics/2015-08-14/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/kinesisanalytics/2015-08-14/docs-2.json index 06e6949c0..93e3fb55c 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/kinesisanalytics/2015-08-14/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/kinesisanalytics/2015-08-14/docs-2.json @@ -2,13 +2,13 @@ "version": "2.0", "service": null, "operations": { - "AddApplicationCloudWatchLoggingOption": "

Adds a CloudWatch log stream to monitor application configuration errors. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see Monitoring Configuration Errors.

", + "AddApplicationCloudWatchLoggingOption": "

Adds a CloudWatch log stream to monitor application configuration errors. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see Working with Amazon CloudWatch Logs.

", "AddApplicationInput": "

Adds a streaming source to your Amazon Kinesis application. For conceptual information, see Configuring Application Input.

You can add a streaming source either when you create an application or you can use this operation to add a streaming source after you create an application. For more information, see CreateApplication.

Any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the DescribeApplication operation to find the current application version.

This operation requires permissions to perform the kinesisanalytics:AddApplicationInput action.

", "AddApplicationOutput": "

Adds an external destination to your Amazon Kinesis Analytics application.

If you want Amazon Kinesis Analytics to deliver data from an in-application stream within your application to an external destination (such as an Amazon Kinesis stream or a Firehose delivery stream), you add the relevant configuration to your application using this operation. You can configure one or more outputs for your application. Each output configuration maps an in-application stream and an external destination.

You can use one of the output configurations to deliver data from your in-application error stream to an external destination so that you can analyze the errors. For conceptual information, see Understanding Application Output (Destination).

Note that any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the DescribeApplication operation to find the current application version.

For the limits on the number of application inputs and outputs you can configure, see Limits.

This operation requires permissions to perform the kinesisanalytics:AddApplicationOutput action.

", "AddApplicationReferenceDataSource": "

Adds a reference data source to an existing application.

Amazon Kinesis Analytics reads reference data (that is, an Amazon S3 object) and creates an in-application table within your application. In the request, you provide the source (S3 bucket name and object key name), name of the in-application table to create, and the necessary mapping information that describes how data in Amazon S3 object maps to columns in the resulting in-application table.

For conceptual information, see Configuring Application Input. For the limits on data sources you can add to your application, see Limits.

This operation requires permissions to perform the kinesisanalytics:AddApplicationOutput action.

", "CreateApplication": "

Creates an Amazon Kinesis Analytics application. You can configure each application with one streaming source as input, application code to process the input, and up to five streaming destinations where you want Amazon Kinesis Analytics to write the output data from your application. For an overview, see How it Works.

In the input configuration, you map the streaming source to an in-application stream, which you can think of as a constantly updating table. In the mapping, you must provide a schema for the in-application stream and map each data column in the in-application stream to a data element in the streaming source.

Your application code is one or more SQL statements that read input data, transform it, and generate output. Your application code can create one or more SQL artifacts like SQL streams or pumps.

In the output configuration, you can configure the application to write data from in-application streams created in your applications to up to five streaming destinations.

To read data from your source stream or write data to destination streams, Amazon Kinesis Analytics needs your permissions. You grant these permissions by creating IAM roles. This operation requires permissions to perform the kinesisanalytics:CreateApplication action.

For introductory exercises to create an Amazon Kinesis Analytics application, see Getting Started.

", "DeleteApplication": "

Deletes the specified application. Amazon Kinesis Analytics halts application execution and deletes the application, including any application artifacts (such as in-application streams, reference table, and application code).

This operation requires permissions to perform the kinesisanalytics:DeleteApplication action.

", - "DeleteApplicationCloudWatchLoggingOption": "

Deletes a CloudWatch log stream from an application. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see Monitoring Configuration Errors.

", + "DeleteApplicationCloudWatchLoggingOption": "

Deletes a CloudWatch log stream from an application. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see Working with Amazon CloudWatch Logs.

", "DeleteApplicationOutput": "

Deletes output destination configuration from your application configuration. Amazon Kinesis Analytics will no longer write data from the corresponding in-application stream to the external output destination.

This operation requires permissions to perform the kinesisanalytics:DeleteApplicationOutput action.

", "DeleteApplicationReferenceDataSource": "

Deletes a reference data source configuration from the specified application configuration.

If the application is running, Amazon Kinesis Analytics immediately removes the in-application table that you created using the AddApplicationReferenceDataSource operation.

This operation requires permissions to perform the kinesisanalytics.DeleteApplicationReferenceDataSource action.

", "DescribeApplication": "

Returns information about a specific Amazon Kinesis Analytics application.

If you want to retrieve a list of all applications in your account, use the ListApplications operation.

This operation requires permissions to perform the kinesisanalytics:DescribeApplication action. You can use DescribeApplication to get the current application versionId, which you need to call other operations such as Update.

", @@ -83,14 +83,14 @@ "ApplicationName": { "base": null, "refs": { - "AddApplicationCloudWatchLoggingOptionRequest$ApplicationName": "

The Amazon Kinesis Analytics application name.

", + "AddApplicationCloudWatchLoggingOptionRequest$ApplicationName": "

The Kinesis Analytics application name.

", "AddApplicationInputRequest$ApplicationName": "

Name of your existing Amazon Kinesis Analytics application to which you want to add the streaming source.

", "AddApplicationOutputRequest$ApplicationName": "

Name of the application to which you want to add the output configuration.

", "AddApplicationReferenceDataSourceRequest$ApplicationName": "

Name of an existing application.

", "ApplicationDetail$ApplicationName": "

Name of the application.

", "ApplicationSummary$ApplicationName": "

Name of the application.

", "CreateApplicationRequest$ApplicationName": "

Name of your Amazon Kinesis Analytics application (for example, sample-app).

", - "DeleteApplicationCloudWatchLoggingOptionRequest$ApplicationName": "

The Amazon Kinesis Analytics application name.

", + "DeleteApplicationCloudWatchLoggingOptionRequest$ApplicationName": "

The Kinesis Analytics application name.

", "DeleteApplicationOutputRequest$ApplicationName": "

Amazon Kinesis Analytics application name.

", "DeleteApplicationReferenceDataSourceRequest$ApplicationName": "

Name of an existing application.

", "DeleteApplicationRequest$ApplicationName": "

Name of the Amazon Kinesis Analytics application to delete.

", @@ -130,12 +130,12 @@ "ApplicationVersionId": { "base": null, "refs": { - "AddApplicationCloudWatchLoggingOptionRequest$CurrentApplicationVersionId": "

The version ID of the Amazon Kinesis Analytics application.

", + "AddApplicationCloudWatchLoggingOptionRequest$CurrentApplicationVersionId": "

The version ID of the Kinesis Analytics application.

", "AddApplicationInputRequest$CurrentApplicationVersionId": "

Current version of your Amazon Kinesis Analytics application. You can use the DescribeApplication operation to find the current application version.

", "AddApplicationOutputRequest$CurrentApplicationVersionId": "

Version of the application to which you want add the output configuration. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

", "AddApplicationReferenceDataSourceRequest$CurrentApplicationVersionId": "

Version of the application for which you are adding the reference data source. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

", "ApplicationDetail$ApplicationVersionId": "

Provides the current application version.

", - "DeleteApplicationCloudWatchLoggingOptionRequest$CurrentApplicationVersionId": "

The version ID of the Amazon Kinesis Analytics application.

", + "DeleteApplicationCloudWatchLoggingOptionRequest$CurrentApplicationVersionId": "

The version ID of the Kinesis Analytics application.

", "DeleteApplicationOutputRequest$CurrentApplicationVersionId": "

Amazon Kinesis Analytics application version. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

", "DeleteApplicationReferenceDataSourceRequest$CurrentApplicationVersionId": "

Version of the application. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

", "UpdateApplicationRequest$CurrentApplicationVersionId": "

The current application version ID. You can use the DescribeApplication operation to get this value.

" @@ -162,9 +162,9 @@ } }, "CloudWatchLoggingOption": { - "base": "

Provides a description of CloudWatch logging options, including the log stream ARN and the role ARN.

", + "base": "

Provides a description of CloudWatch logging options, including the log stream Amazon Resource Name (ARN) and the role ARN.

", "refs": { - "AddApplicationCloudWatchLoggingOptionRequest$CloudWatchLoggingOption": "

Provide the CloudWatch log stream ARN and the IAM role ARN. Note: To write application messages to CloudWatch, the IAM role used must have the PutLogEvents policy action enabled.

", + "AddApplicationCloudWatchLoggingOptionRequest$CloudWatchLoggingOption": "

Provides the CloudWatch log stream Amazon Resource Name (ARN) and the IAM role ARN. Note: To write application messages to CloudWatch, the IAM role that is used must have the PutLogEvents policy action enabled.

", "CloudWatchLoggingOptions$member": null } }, @@ -177,7 +177,7 @@ "CloudWatchLoggingOptionDescriptions": { "base": null, "refs": { - "ApplicationDetail$CloudWatchLoggingOptionDescriptions": "

Describes the CloudWatch log streams configured to receive application messages. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see Monitoring Configuration Errors.

" + "ApplicationDetail$CloudWatchLoggingOptionDescriptions": "

Describes the CloudWatch log streams that are configured to receive application messages. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see Working with Amazon CloudWatch Logs.

" } }, "CloudWatchLoggingOptionUpdate": { @@ -195,7 +195,7 @@ "CloudWatchLoggingOptions": { "base": null, "refs": { - "CreateApplicationRequest$CloudWatchLoggingOptions": "

Use this parameter to configure a CloudWatch log stream to monitor application configuration errors. For more information, see Monitoring Configuration Errors.

" + "CreateApplicationRequest$CloudWatchLoggingOptions": "

Use this parameter to configure a CloudWatch log stream to monitor application configuration errors. For more information, see Working with Amazon CloudWatch Logs.

" } }, "CodeValidationException": { @@ -297,6 +297,7 @@ "ResourceInUseException$message": "

", "ResourceNotFoundException$message": "

", "ResourceProvisionedThroughputExceededException$message": null, + "ServiceUnavailableException$message": null, "UnableToDetectSchemaException$message": null } }, @@ -459,7 +460,7 @@ "KinesisFirehoseInput": { "base": "

Identifies an Amazon Kinesis Firehose delivery stream as the streaming source. You provide the Firehose delivery stream's Amazon Resource Name (ARN) and an IAM role ARN that enables Amazon Kinesis Analytics to access the stream on your behalf.

", "refs": { - "Input$KinesisFirehoseInput": "

If the streaming source is an Amazon Kinesis Firehose delivery stream, identifies the Firehose delivery stream's ARN and an IAM role that enables Amazon Kinesis Analytics to access the stream on your behalf.

" + "Input$KinesisFirehoseInput": "

If the streaming source is an Amazon Kinesis Firehose delivery stream, identifies the Firehose delivery stream's ARN and an IAM role that enables Amazon Kinesis Analytics to access the stream on your behalf.

Note: Either KinesisStreamsInput or KinesisFirehoseInput is required.

" } }, "KinesisFirehoseInputDescription": { @@ -495,7 +496,7 @@ "KinesisStreamsInput": { "base": "

Identifies an Amazon Kinesis stream as the streaming source. You provide the stream's ARN and an IAM role ARN that enables Amazon Kinesis Analytics to access the stream on your behalf.

", "refs": { - "Input$KinesisStreamsInput": "

If the streaming source is an Amazon Kinesis stream, identifies the stream's Amazon Resource Name (ARN) and an IAM role that enables Amazon Kinesis Analytics to access the stream on your behalf.

" + "Input$KinesisStreamsInput": "

If the streaming source is an Amazon Kinesis stream, identifies the stream's Amazon Resource Name (ARN) and an IAM role that enables Amazon Kinesis Analytics to access the stream on your behalf.

Note: Either KinesisStreamsInput or KinesisFirehoseInput is required.

" } }, "KinesisStreamsInputDescription": { @@ -698,7 +699,7 @@ "RecordRowPath": { "base": null, "refs": { - "JSONMappingParameters$RecordRowPath": "

Path to the top-level parent that contains the records.

For example, consider the following JSON record:

In the RecordRowPath, \"$\" refers to the root and path \"$.vehicle.Model\" refers to the specific \"Model\" key in the JSON.

" + "JSONMappingParameters$RecordRowPath": "

Path to the top-level parent that contains the records.

" } }, "ReferenceDataSource": { @@ -769,7 +770,7 @@ "RoleARN": { "base": null, "refs": { - "CloudWatchLoggingOption$RoleARN": "

IAM ARN of the role to use to send application messages. Note: To write application messages to CloudWatch, the IAM role used must have the PutLogEvents policy action enabled.

", + "CloudWatchLoggingOption$RoleARN": "

IAM ARN of the role to use to send application messages. Note: To write application messages to CloudWatch, the IAM role that is used must have the PutLogEvents policy action enabled.

", "CloudWatchLoggingOptionDescription$RoleARN": "

IAM ARN of the role to use to send application messages. Note: To write application messages to CloudWatch, the IAM role used must have the PutLogEvents policy action enabled.

", "CloudWatchLoggingOptionUpdate$RoleARNUpdate": "

IAM ARN of the role to use to send application messages. Note: To write application messages to CloudWatch, the IAM role used must have the PutLogEvents policy action enabled.

", "DiscoverInputSchemaRequest$RoleARN": "

ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream on your behalf.

", @@ -808,6 +809,11 @@ "ReferenceDataSourceUpdate$S3ReferenceDataSourceUpdate": "

Describes the S3 bucket name, object key name, and IAM role that Amazon Kinesis Analytics can assume to read the Amazon S3 object on your behalf and populate the in-application reference table.

" } }, + "ServiceUnavailableException": { + "base": "

The service is unavailable, back off and retry the operation.

", + "refs": { + } + }, "SourceSchema": { "base": "

Describes the format of the data in the streaming source, and how each data element maps to corresponding columns created in the in-application stream.

", "refs": { diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/lex-models/2017-04-19/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/lex-models/2017-04-19/api-2.json index 94bf9ae18..7c1620e1a 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/lex-models/2017-04-19/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/lex-models/2017-04-19/api-2.json @@ -371,6 +371,22 @@ {"shape":"BadRequestException"} ] }, + "GetExport":{ + "name":"GetExport", + "http":{ + "method":"GET", + "requestUri":"/exports/", + "responseCode":200 + }, + "input":{"shape":"GetExportRequest"}, + "output":{"shape":"GetExportResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ] + }, "GetIntent":{ "name":"GetIntent", "http":{ @@ -677,7 +693,8 @@ "key":{"shape":"String"}, "value":{"shape":"String"}, "max":10, - "min":1 + "min":1, + "sensitive":true }, "ChannelType":{ "type":"string", @@ -804,7 +821,8 @@ "lastUpdatedDate":{"shape":"Timestamp"}, "createdDate":{"shape":"Timestamp"}, "version":{"shape":"Version"}, - "checksum":{"shape":"String"} + "checksum":{"shape":"String"}, + "valueSelectionStrategy":{"shape":"SlotValueSelectionStrategy"} } }, "CustomOrBuiltinSlotTypeName":{ @@ -975,7 +993,8 @@ "type":"structure", "required":["value"], "members":{ - "value":{"shape":"Value"} + "value":{"shape":"Value"}, + "synonyms":{"shape":"SynonymList"} } }, "EnumerationValues":{ @@ -984,6 +1003,18 @@ "max":10000, "min":1 }, + "ExportStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "READY", + "FAILED" + ] + }, + "ExportType":{ + "type":"string", + "enum":["ALEXA_SKILLS_KIT"] + }, "FollowUpPrompt":{ "type":"structure", "required":[ @@ -1329,6 +1360,49 @@ "nextToken":{"shape":"NextToken"} } }, + "GetExportRequest":{ + "type":"structure", + "required":[ + "name", + "version", + "resourceType", + "exportType" + ], + "members":{ + "name":{ + "shape":"Name", + "location":"querystring", + "locationName":"name" + }, + "version":{ + "shape":"NumericalVersion", + "location":"querystring", + "locationName":"version" + }, + "resourceType":{ + "shape":"ResourceType", + "location":"querystring", + "locationName":"resourceType" + }, + "exportType":{ + "shape":"ExportType", + "location":"querystring", + "locationName":"exportType" + } + } + }, + "GetExportResponse":{ + "type":"structure", + "members":{ + "name":{"shape":"Name"}, + "version":{"shape":"NumericalVersion"}, + "resourceType":{"shape":"ResourceType"}, + "exportType":{"shape":"ExportType"}, + "exportStatus":{"shape":"ExportStatus"}, + "failureReason":{"shape":"String"}, + "url":{"shape":"String"} + } + }, "GetIntentRequest":{ "type":"structure", "required":[ @@ -1451,7 +1525,8 @@ "lastUpdatedDate":{"shape":"Timestamp"}, "createdDate":{"shape":"Timestamp"}, "version":{"shape":"Version"}, - "checksum":{"shape":"String"} + "checksum":{"shape":"String"}, + "valueSelectionStrategy":{"shape":"SlotValueSelectionStrategy"} } }, "GetSlotTypeVersionsRequest":{ @@ -1554,9 +1629,7 @@ }, "IntentList":{ "type":"list", - "member":{"shape":"Intent"}, - "max":100, - "min":1 + "member":{"shape":"Intent"} }, "IntentMetadata":{ "type":"structure", @@ -1660,7 +1733,7 @@ "type":"string", "max":64, "min":1, - "pattern":"[a-zA-Z]+" + "pattern":"[a-zA-Z_]+" }, "NextToken":{"type":"string"}, "NotFoundException":{ @@ -1847,7 +1920,8 @@ }, "description":{"shape":"Description"}, "enumerationValues":{"shape":"EnumerationValues"}, - "checksum":{"shape":"String"} + "checksum":{"shape":"String"}, + "valueSelectionStrategy":{"shape":"SlotValueSelectionStrategy"} } }, "PutSlotTypeResponse":{ @@ -1859,7 +1933,8 @@ "lastUpdatedDate":{"shape":"Timestamp"}, "createdDate":{"shape":"Timestamp"}, "version":{"shape":"Version"}, - "checksum":{"shape":"String"} + "checksum":{"shape":"String"}, + "valueSelectionStrategy":{"shape":"SlotValueSelectionStrategy"} } }, "ReferenceType":{ @@ -1887,6 +1962,10 @@ "version":{"shape":"Version"} } }, + "ResourceType":{ + "type":"string", + "enum":["BOT"] + }, "ResponseCard":{ "type":"string", "max":50000, @@ -1960,6 +2039,13 @@ "max":10, "min":0 }, + "SlotValueSelectionStrategy":{ + "type":"string", + "enum":[ + "ORIGINAL_VALUE", + "TOP_RESOLUTION" + ] + }, "Statement":{ "type":"structure", "required":["messages"], @@ -1985,6 +2071,10 @@ ] }, "String":{"type":"string"}, + "SynonymList":{ + "type":"list", + "member":{"shape":"Value"} + }, "Timestamp":{"type":"timestamp"}, "UserId":{ "type":"string", diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/lex-models/2017-04-19/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/lex-models/2017-04-19/docs-2.json index e24ff6cd0..54fe1e7d8 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/lex-models/2017-04-19/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/lex-models/2017-04-19/docs-2.json @@ -14,7 +14,7 @@ "DeleteSlotType": "

Deletes all versions of the slot type, including the $LATEST version. To delete a specific version of the slot type, use the DeleteSlotTypeVersion operation.

You can delete a version of a slot type only if it is not referenced. To delete a slot type that is referred to in one or more intents, you must remove those references first.

If you get the ResourceInUseException exception, the exception provides an example reference that shows the intent where the slot type is referenced. To remove the reference to the slot type, either update the intent or delete it. If you get the same exception when you attempt to delete the slot type again, repeat until the slot type has no references and the DeleteSlotType call is successful.

This operation requires permission for the lex:DeleteSlotType action.

", "DeleteSlotTypeVersion": "

Deletes a specific version of a slot type. To delete all versions of a slot type, use the DeleteSlotType operation.

This operation requires permissions for the lex:DeleteSlotTypeVersion action.

", "DeleteUtterances": "

Deletes stored utterances.

Amazon Lex stores the utterances that users send to your bot unless the childDirected field in the bot is set to true. Utterances are stored for 15 days for use with the GetUtterancesView operation, and then stored indefinately for use in improving the ability of your bot to respond to user input.

Use the DeleteStoredUtterances operation to manually delete stored utterances for a specific user.

This operation requires permissions for the lex:DeleteUtterances action.

", - "GetBot": "

Returns metadata information for a specific bot. You must provide the bot name and the bot version or alias.

The GetBot operation requires permissions for the lex:GetBot action.

", + "GetBot": "

Returns metadata information for a specific bot. You must provide the bot name and the bot version or alias.

This operation requires permissions for the lex:GetBot action.

", "GetBotAlias": "

Returns information about an Amazon Lex bot alias. For more information about aliases, see versioning-aliases.

This operation requires permissions for the lex:GetBotAlias action.

", "GetBotAliases": "

Returns a list of aliases for a specified Amazon Lex bot.

This operation requires permissions for the lex:GetBotAliases action.

", "GetBotChannelAssociation": "

Returns information about the association between an Amazon Lex bot and a messaging platform.

This operation requires permissions for the lex:GetBotChannelAssociation action.

", @@ -24,6 +24,7 @@ "GetBuiltinIntent": "

Returns information about a built-in intent.

This operation requires permission for the lex:GetBuiltinIntent action.

", "GetBuiltinIntents": "

Gets a list of built-in intents that meet the specified criteria.

This operation requires permission for the lex:GetBuiltinIntents action.

", "GetBuiltinSlotTypes": "

Gets a list of built-in slot types that meet the specified criteria.

For a list of built-in slot types, see Slot Type Reference in the Alexa Skills Kit.

This operation requires permission for the lex:GetBuiltInSlotTypes action.

", + "GetExport": "

Exports the contents of a Amazon Lex resource in a specified format.

", "GetIntent": "

Returns information about an intent. In addition to the intent name, you must specify the intent version.

This operation requires permissions to perform the lex:GetIntent action.

", "GetIntentVersions": "

Gets information about all of the versions of an intent.

The GetIntentVersions operation returns an IntentMetadata object for each version of an intent. For example, if an intent has three numbered versions, the GetIntentVersions operation returns four IntentMetadata objects in the response, one for each numbered version and one for the $LATEST version.

The GetIntentVersions operation always returns at least one version, the $LATEST version.

This operation requires permissions for the lex:GetIntentVersions action.

", "GetIntents": "

Returns intent information as follows:

  • If you specify the nameContains field, returns the $LATEST version of all intents that contain the specified string.

  • If you don't specify the nameContains field, returns information about the $LATEST version of all intents.

The operation requires permission for the lex:GetIntents action.

", @@ -378,10 +379,23 @@ "refs": { "CreateSlotTypeVersionResponse$enumerationValues": "

A list of EnumerationValue objects that defines the values that the slot type can take.

", "GetSlotTypeResponse$enumerationValues": "

A list of EnumerationValue objects that defines the values that the slot type can take.

", - "PutSlotTypeRequest$enumerationValues": "

A list of EnumerationValue objects that defines the values that the slot type can take.

", + "PutSlotTypeRequest$enumerationValues": "

A list of EnumerationValue objects that defines the values that the slot type can take. Each value can have a list of synonyms, which are additional values that help train the machine learning model about the values that it resolves for a slot.

When Amazon Lex resolves a slot value, it generates a resolution list that contains up to five possible values for the slot. If you are using a Lambda function, this resolution list is passed to the function. If you are not using a Lambda function you can choose to return the value that the user entered or the first value in the resolution list as the slot value. The valueSelectionStrategy field indicates the option to use.

", "PutSlotTypeResponse$enumerationValues": "

A list of EnumerationValue objects that defines the values that the slot type can take.

" } }, + "ExportStatus": { + "base": null, + "refs": { + "GetExportResponse$exportStatus": "

The status of the export.

  • IN_PROGRESS - The export is in progress.

  • READY - The export is complete.

  • FAILED - The export could not be completed.

" + } + }, + "ExportType": { + "base": null, + "refs": { + "GetExportRequest$exportType": "

The format of the exported data.

", + "GetExportResponse$exportType": "

The format of the exported data.

" + } + }, "FollowUpPrompt": { "base": "

A prompt for additional activity after an intent is fulfilled. For example, after the OrderPizza intent is fulfilled, you might prompt the user to find out whether the user wants to order drinks.

", "refs": { @@ -396,7 +410,7 @@ "refs": { "CreateIntentVersionResponse$fulfillmentActivity": "

Describes how the intent is fulfilled.

", "GetIntentResponse$fulfillmentActivity": "

Describes how the intent is fulfilled. For more information, see PutIntent.

", - "PutIntentRequest$fulfillmentActivity": "

Describes how the intent is fulfilled. For example, after a user provides all of the information for a pizza order, fulfillmentActivity defines how the bot places an order with a local pizza store.

You might configure Amazon Lex to return all of the intent information to the client application, or direct it to invoke a Lambda function that can process the intent (for example, place an order with a pizzeria).

", + "PutIntentRequest$fulfillmentActivity": "

Required. Describes how the intent is fulfilled. For example, after a user provides all of the information for a pizza order, fulfillmentActivity defines how the bot places an order with a local pizza store.

You might configure Amazon Lex to return all of the intent information to the client application, or direct it to invoke a Lambda function that can process the intent (for example, place an order with a pizzeria).

", "PutIntentResponse$fulfillmentActivity": "

If defined in the intent, Amazon Lex invokes this Lambda function to fulfill the intent after the user provides all of the information required by the intent.

" } }, @@ -506,6 +520,16 @@ "refs": { } }, + "GetExportRequest": { + "base": null, + "refs": { + } + }, + "GetExportResponse": { + "base": null, + "refs": { + } + }, "GetIntentRequest": { "base": null, "refs": { @@ -715,6 +739,8 @@ "Name": { "base": null, "refs": { + "GetExportRequest$name": "

The name of the bot to export.

", + "GetExportResponse$name": "

The name of the bot being exported.

", "ResourceReference$name": "

The name of the resource that is using the resource that you are trying to delete.

" } }, @@ -753,7 +779,9 @@ "refs": { "DeleteBotVersionRequest$version": "

The version of the bot to delete. You cannot delete the $LATEST version of the bot. To delete the $LATEST version, use the DeleteBot operation.

", "DeleteIntentVersionRequest$version": "

The version of the intent to delete. You cannot delete the $LATEST version of the intent. To delete the $LATEST version, use the DeleteIntent operation.

", - "DeleteSlotTypeVersionRequest$version": "

The version of the slot type to delete. You cannot delete the $LATEST version of the slot type. To delete the $LATEST version, use the DeleteSlotType operation.

" + "DeleteSlotTypeVersionRequest$version": "

The version of the slot type to delete. You cannot delete the $LATEST version of the slot type. To delete the $LATEST version, use the DeleteSlotType operation.

", + "GetExportRequest$version": "

The version of the bot to export.

", + "GetExportResponse$version": "

The version of the bot being exported.

" } }, "PreconditionFailedException": { @@ -851,6 +879,13 @@ "ResourceInUseException$exampleReference": null } }, + "ResourceType": { + "base": null, + "refs": { + "GetExportRequest$resourceType": "

The type of resource to export.

", + "GetExportResponse$resourceType": "

The type of the exported resource.

" + } + }, "ResponseCard": { "base": null, "refs": { @@ -885,7 +920,7 @@ "refs": { "CreateIntentVersionResponse$slots": "

An array of slot types that defines the information required to fulfill the intent.

", "GetIntentResponse$slots": "

An array of intent slots configured for the intent.

", - "PutIntentRequest$slots": "

An array of intent slots. At runtime, Amazon Lex elicits required slot values from the user using prompts defined in the slots. For more information, see <xref linkend=\"how-it-works\"/>.

", + "PutIntentRequest$slots": "

An array of intent slots. At runtime, Amazon Lex elicits required slot values from the user using prompts defined in the slots. For more information, see how-it-works.

", "PutIntentResponse$slots": "

An array of intent slots that are configured for the intent.

" } }, @@ -930,6 +965,15 @@ "Slot$sampleUtterances": "

If you know a specific pattern with which users might respond to an Amazon Lex request for a slot value, you can provide those utterances to improve accuracy. This is optional. In most cases, Amazon Lex is capable of understanding user utterances.

" } }, + "SlotValueSelectionStrategy": { + "base": null, + "refs": { + "CreateSlotTypeVersionResponse$valueSelectionStrategy": "

The strategy that Amazon Lex uses to determine the value of the slot. For more information, see PutSlotType.

", + "GetSlotTypeResponse$valueSelectionStrategy": "

The strategy that Amazon Lex uses to determine the value of the slot. For more information, see PutSlotType.

", + "PutSlotTypeRequest$valueSelectionStrategy": "

Determines the slot resolution strategy that Amazon Lex uses to return slot type values. The field can be set to one of the following values:

  • ORIGINAL_VALUE - Returns the value entered by the user, if the user value is similar to the slot value.

  • TOP_RESOLUTION - If there is a resolution list for the slot, return the first value in the resolution list as the slot type value. If there is no resolution list, null is returned.

If you don't specify the valueSelectionStrategy, the default is ORIGINAL_VALUE.

", + "PutSlotTypeResponse$valueSelectionStrategy": "

The slot resolution strategy that Amazon Lex uses to determine the value of the slot. For more information, see PutSlotType.

" + } + }, "Statement": { "base": "

A collection of messages that convey information to the user. At runtime, Amazon Lex selects the message to convey.

", "refs": { @@ -987,6 +1031,8 @@ "GetBotResponse$checksum": "

Checksum of the bot used to identify a specific revision of the bot's $LATEST version.

", "GetBuiltinIntentsRequest$signatureContains": "

Substring to match in built-in intent signatures. An intent will be returned if any part of its signature matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\" To find the signature for an intent, see Standard Built-in Intents in the Alexa Skills Kit.

", "GetBuiltinSlotTypesRequest$signatureContains": "

Substring to match in built-in slot type signatures. A slot type will be returned if any part of its signature matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"

", + "GetExportResponse$failureReason": "

If status is FAILED, Amazon Lex provides the reason that it failed to export the resource.

", + "GetExportResponse$url": "

An S3 pre-signed URL that provides the location of the exported resource. The exported resource is a ZIP archive that contains the exported resource in JSON format. The structure of the archive may change. Your code should not rely on the archive structure.

", "GetIntentResponse$checksum": "

Checksum of the intent.

", "GetSlotTypeResponse$checksum": "

Checksum of the $LATEST version of the slot type.

", "InternalFailureException$message": null, @@ -1007,6 +1053,12 @@ "PutSlotTypeResponse$checksum": "

Checksum of the $LATEST version of the slot type.

" } }, + "SynonymList": { + "base": null, + "refs": { + "EnumerationValue$synonyms": "

Additional values related to the slot type value.

" + } + }, "Timestamp": { "base": null, "refs": { @@ -1080,7 +1132,8 @@ "Value": { "base": null, "refs": { - "EnumerationValue$value": "

The value of the slot type.

" + "EnumerationValue$value": "

The value of the slot type.

", + "SynonymList$member": null } }, "Version": { diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/logs/2014-03-28/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/logs/2014-03-28/api-2.json index 7fbc9874a..ddc47eaa9 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/logs/2014-03-28/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/logs/2014-03-28/api-2.json @@ -11,6 +11,20 @@ "uid":"logs-2014-03-28" }, "operations":{ + "AssociateKmsKey":{ + "name":"AssociateKmsKey", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateKmsKeyRequest"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"OperationAbortedException"}, + {"shape":"ServiceUnavailableException"} + ] + }, "CancelExportTask":{ "name":"CancelExportTask", "http":{ @@ -127,6 +141,19 @@ {"shape":"ServiceUnavailableException"} ] }, + "DeleteResourcePolicy":{ + "name":"DeleteResourcePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteResourcePolicyRequest"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceUnavailableException"} + ] + }, "DeleteRetentionPolicy":{ "name":"DeleteRetentionPolicy", "http":{ @@ -222,6 +249,19 @@ {"shape":"ServiceUnavailableException"} ] }, + "DescribeResourcePolicies":{ + "name":"DescribeResourcePolicies", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeResourcePoliciesRequest"}, + "output":{"shape":"DescribeResourcePoliciesResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ServiceUnavailableException"} + ] + }, "DescribeSubscriptionFilters":{ "name":"DescribeSubscriptionFilters", "http":{ @@ -236,6 +276,20 @@ {"shape":"ServiceUnavailableException"} ] }, + "DisassociateKmsKey":{ + "name":"DisassociateKmsKey", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateKmsKeyRequest"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"OperationAbortedException"}, + {"shape":"ServiceUnavailableException"} + ] + }, "FilterLogEvents":{ "name":"FilterLogEvents", "http":{ @@ -335,6 +389,20 @@ {"shape":"ServiceUnavailableException"} ] }, + "PutResourcePolicy":{ + "name":"PutResourcePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutResourcePolicyRequest"}, + "output":{"shape":"PutResourcePolicyResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceUnavailableException"} + ] + }, "PutRetentionPolicy":{ "name":"PutRetentionPolicy", "http":{ @@ -407,6 +475,17 @@ "min":1 }, "Arn":{"type":"string"}, + "AssociateKmsKeyRequest":{ + "type":"structure", + "required":[ + "logGroupName", + "kmsKeyId" + ], + "members":{ + "logGroupName":{"shape":"LogGroupName"}, + "kmsKeyId":{"shape":"KmsKeyId"} + } + }, "CancelExportTaskRequest":{ "type":"structure", "required":["taskId"], @@ -443,6 +522,7 @@ "required":["logGroupName"], "members":{ "logGroupName":{"shape":"LogGroupName"}, + "kmsKeyId":{"shape":"KmsKeyId"}, "tags":{"shape":"Tags"} } }, @@ -502,6 +582,12 @@ "filterName":{"shape":"FilterName"} } }, + "DeleteResourcePolicyRequest":{ + "type":"structure", + "members":{ + "policyName":{"shape":"PolicyName"} + } + }, "DeleteRetentionPolicyRequest":{ "type":"structure", "required":["logGroupName"], @@ -609,6 +695,20 @@ "nextToken":{"shape":"NextToken"} } }, + "DescribeResourcePoliciesRequest":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"NextToken"}, + "limit":{"shape":"DescribeLimit"} + } + }, + "DescribeResourcePoliciesResponse":{ + "type":"structure", + "members":{ + "resourcePolicies":{"shape":"ResourcePolicies"}, + "nextToken":{"shape":"NextToken"} + } + }, "DescribeSubscriptionFiltersRequest":{ "type":"structure", "required":["logGroupName"], @@ -651,6 +751,13 @@ "type":"list", "member":{"shape":"Destination"} }, + "DisassociateKmsKeyRequest":{ + "type":"structure", + "required":["logGroupName"], + "members":{ + "logGroupName":{"shape":"LogGroupName"} + } + }, "Distribution":{ "type":"string", "enum":[ @@ -849,6 +956,10 @@ }, "exception":true }, + "KmsKeyId":{ + "type":"string", + "max":256 + }, "LimitExceededException":{ "type":"structure", "members":{ @@ -877,7 +988,8 @@ "retentionInDays":{"shape":"Days"}, "metricFilterCount":{"shape":"FilterCount"}, "arn":{"shape":"Arn"}, - "storedBytes":{"shape":"StoredBytes"} + "storedBytes":{"shape":"StoredBytes"}, + "kmsKeyId":{"shape":"KmsKeyId"} } }, "LogGroupName":{ @@ -1003,6 +1115,12 @@ "type":"list", "member":{"shape":"OutputLogEvent"} }, + "PolicyDocument":{ + "type":"string", + "max":5120, + "min":1 + }, + "PolicyName":{"type":"string"}, "PutDestinationPolicyRequest":{ "type":"structure", "required":[ @@ -1069,6 +1187,19 @@ "metricTransformations":{"shape":"MetricTransformations"} } }, + "PutResourcePolicyRequest":{ + "type":"structure", + "members":{ + "policyName":{"shape":"PolicyName"}, + "policyDocument":{"shape":"PolicyDocument"} + } + }, + "PutResourcePolicyResponse":{ + "type":"structure", + "members":{ + "resourcePolicy":{"shape":"ResourcePolicy"} + } + }, "PutRetentionPolicyRequest":{ "type":"structure", "required":[ @@ -1117,6 +1248,18 @@ }, "exception":true }, + "ResourcePolicies":{ + "type":"list", + "member":{"shape":"ResourcePolicy"} + }, + "ResourcePolicy":{ + "type":"structure", + "members":{ + "policyName":{"shape":"PolicyName"}, + "policyDocument":{"shape":"PolicyDocument"}, + "lastUpdatedTime":{"shape":"Timestamp"} + } + }, "RoleArn":{ "type":"string", "min":1 diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/logs/2014-03-28/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/logs/2014-03-28/docs-2.json index 4b5fc5670..0ae429da0 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/logs/2014-03-28/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/logs/2014-03-28/docs-2.json @@ -1,32 +1,37 @@ { "version": "2.0", - "service": "

You can use Amazon CloudWatch Logs to monitor, store, and access your log files from EC2 instances, Amazon CloudTrail, or other sources. You can then retrieve the associated log data from CloudWatch Logs using the Amazon CloudWatch console, the CloudWatch Logs commands in the AWS CLI, the CloudWatch Logs API, or the CloudWatch Logs SDK.

You can use CloudWatch Logs to:

  • Monitor Logs from Amazon EC2 Instances in Real-time: You can use CloudWatch Logs to monitor applications and systems using log data. For example, CloudWatch Logs can track the number of errors that occur in your application logs and send you a notification whenever the rate of errors exceeds a threshold you specify. CloudWatch Logs uses your log data for monitoring; so, no code changes are required. For example, you can monitor application logs for specific literal terms (such as \"NullReferenceException\") or count the number of occurrences of a literal term at a particular position in log data (such as \"404\" status codes in an Apache access log). When the term you are searching for is found, CloudWatch Logs reports the data to a Amazon CloudWatch metric that you specify.

  • Monitor Amazon CloudTrail Logged Events: You can create alarms in Amazon CloudWatch and receive notifications of particular API activity as captured by CloudTrail and use the notification to perform troubleshooting.

  • Archive Log Data: You can use CloudWatch Logs to store your log data in highly durable storage. You can change the log retention setting so that any log events older than this setting are automatically deleted. The CloudWatch Logs agent makes it easy to quickly send both rotated and non-rotated log data off of a host and into the log service. You can then access the raw log data when you need it.

", + "service": "

You can use Amazon CloudWatch Logs to monitor, store, and access your log files from Amazon EC2 instances, AWS CloudTrail, or other sources. You can then retrieve the associated log data from CloudWatch Logs using the CloudWatch console, CloudWatch Logs commands in the AWS CLI, CloudWatch Logs API, or CloudWatch Logs SDK.

You can use CloudWatch Logs to:

  • Monitor logs from EC2 instances in real-time: You can use CloudWatch Logs to monitor applications and systems using log data. For example, CloudWatch Logs can track the number of errors that occur in your application logs and send you a notification whenever the rate of errors exceeds a threshold that you specify. CloudWatch Logs uses your log data for monitoring; so, no code changes are required. For example, you can monitor application logs for specific literal terms (such as \"NullReferenceException\") or count the number of occurrences of a literal term at a particular position in log data (such as \"404\" status codes in an Apache access log). When the term you are searching for is found, CloudWatch Logs reports the data to a CloudWatch metric that you specify.

  • Monitor AWS CloudTrail logged events: You can create alarms in CloudWatch and receive notifications of particular API activity as captured by CloudTrail and use the notification to perform troubleshooting.

  • Archive log data: You can use CloudWatch Logs to store your log data in highly durable storage. You can change the log retention setting so that any log events older than this setting are automatically deleted. The CloudWatch Logs agent makes it easy to quickly send both rotated and non-rotated log data off of a host and into the log service. You can then access the raw log data when you need it.

", "operations": { + "AssociateKmsKey": "

Associates the specified AWS Key Management Service (AWS KMS) customer master key (CMK) with the specified log group.

Associating an AWS KMS CMK with a log group overrides any existing associations between the log group and a CMK. After a CMK is associated with a log group, all newly ingested data for the log group is encrypted using the CMK. This association is stored as long as the data encrypted with the CMK is still within Amazon CloudWatch Logs. This enables Amazon CloudWatch Logs to decrypt this data whenever it is requested.

Note that it can take up to 5 minutes for this operation to take effect.

If you attempt to associate a CMK with a log group but the CMK does not exist or the CMK is disabled, you will receive an InvalidParameterException error.

", "CancelExportTask": "

Cancels the specified export task.

The task must be in the PENDING or RUNNING state.

", - "CreateExportTask": "

Creates an export task, which allows you to efficiently export data from a log group to an Amazon S3 bucket.

This is an asynchronous call. If all the required information is provided, this operation initiates an export task and responds with the ID of the task. After the task has started, you can use DescribeExportTasks to get the status of the export task. Each account can only have one active (RUNNING or PENDING) export task at a time. To cancel an export task, use CancelExportTask.

You can export logs from multiple log groups or multiple time ranges to the same S3 bucket. To separate out log data for each export task, you can specify a prefix that will be used as the Amazon S3 key prefix for all exported objects.

", - "CreateLogGroup": "

Creates a log group with the specified name.

You can create up to 5000 log groups per account.

You must use the following guidelines when naming a log group:

  • Log group names must be unique within a region for an AWS account.

  • Log group names can be between 1 and 512 characters long.

  • Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period).

", + "CreateExportTask": "

Creates an export task, which allows you to efficiently export data from a log group to an Amazon S3 bucket.

This is an asynchronous call. If all the required information is provided, this operation initiates an export task and responds with the ID of the task. After the task has started, you can use DescribeExportTasks to get the status of the export task. Each account can only have one active (RUNNING or PENDING) export task at a time. To cancel an export task, use CancelExportTask.

You can export logs from multiple log groups or multiple time ranges to the same S3 bucket. To separate out log data for each export task, you can specify a prefix to be used as the Amazon S3 key prefix for all exported objects.

", + "CreateLogGroup": "

Creates a log group with the specified name.

You can create up to 5000 log groups per account.

You must use the following guidelines when naming a log group:

  • Log group names must be unique within a region for an AWS account.

  • Log group names can be between 1 and 512 characters long.

  • Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period).

If you associate a AWS Key Management Service (AWS KMS) customer master key (CMK) with the log group, ingested data is encrypted using the CMK. This association is stored as long as the data encrypted with the CMK is still within Amazon CloudWatch Logs. This enables Amazon CloudWatch Logs to decrypt this data whenever it is requested.

If you attempt to associate a CMK with the log group but the CMK does not exist or the CMK is disabled, you will receive an InvalidParameterException error.

", "CreateLogStream": "

Creates a log stream for the specified log group.

There is no limit on the number of log streams that you can create for a log group.

You must use the following guidelines when naming a log stream:

  • Log stream names must be unique within the log group.

  • Log stream names can be between 1 and 512 characters long.

  • The ':' (colon) and '*' (asterisk) characters are not allowed.

", "DeleteDestination": "

Deletes the specified destination, and eventually disables all the subscription filters that publish to it. This operation does not delete the physical resource encapsulated by the destination.

", "DeleteLogGroup": "

Deletes the specified log group and permanently deletes all the archived log events associated with the log group.

", "DeleteLogStream": "

Deletes the specified log stream and permanently deletes all the archived log events associated with the log stream.

", "DeleteMetricFilter": "

Deletes the specified metric filter.

", + "DeleteResourcePolicy": "

Deletes a resource policy from this account. This revokes the access of the identities in that policy to put log events to this account.

", "DeleteRetentionPolicy": "

Deletes the specified retention policy.

Log events do not expire if they belong to log groups without a retention policy.

", "DeleteSubscriptionFilter": "

Deletes the specified subscription filter.

", "DescribeDestinations": "

Lists all your destinations. The results are ASCII-sorted by destination name.

", "DescribeExportTasks": "

Lists the specified export tasks. You can list all your export tasks or filter the results based on task ID or task status.

", "DescribeLogGroups": "

Lists the specified log groups. You can list all your log groups or filter the results by prefix. The results are ASCII-sorted by log group name.

", "DescribeLogStreams": "

Lists the log streams for the specified log group. You can list all the log streams or filter the results by prefix. You can also control how the results are ordered.

This operation has a limit of five transactions per second, after which transactions are throttled.

", - "DescribeMetricFilters": "

Lists the specified metric filters. You can list all the metric filters or filter the results by log name, prefix, metric name, and metric namespace. The results are ASCII-sorted by filter name.

", + "DescribeMetricFilters": "

Lists the specified metric filters. You can list all the metric filters or filter the results by log name, prefix, metric name, or metric namespace. The results are ASCII-sorted by filter name.

", + "DescribeResourcePolicies": "

Lists the resource policies in this account.

", "DescribeSubscriptionFilters": "

Lists the subscription filters for the specified log group. You can list all the subscription filters or filter the results by prefix. The results are ASCII-sorted by filter name.

", - "FilterLogEvents": "

Lists log events from the specified log group. You can list all the log events or filter the results using a filter pattern, a time range, and the name of the log stream.

By default, this operation returns as many log events as can fit in 1MB (up to 10,000 log events), or all the events found within the time range that you specify. If the results include a token, then there are more log events available, and you can get additional results by specifying the token in a subsequent call.

", - "GetLogEvents": "

Lists log events from the specified log stream. You can list all the log events or filter using a time range.

By default, this operation returns as many log events as can fit in a response size of 1MB (up to 10,000 log events). If the results include tokens, there are more log events available. You can get additional log events by specifying one of the tokens in a subsequent call.

", - "ListTagsLogGroup": "

Lists the tags for the specified log group.

To add tags, use TagLogGroup. To remove tags, use UntagLogGroup.

", - "PutDestination": "

Creates or updates a destination. A destination encapsulates a physical resource (such as a Kinesis stream) and enables you to subscribe to a real-time stream of log events of a different account, ingested using PutLogEvents. Currently, the only supported physical resource is a Amazon Kinesis stream belonging to the same account as the destination.

A destination controls what is written to its Amazon Kinesis stream through an access policy. By default, PutDestination does not set any access policy with the destination, which means a cross-account user cannot call PutSubscriptionFilter against this destination. To enable this, the destination owner must call PutDestinationPolicy after PutDestination.

", + "DisassociateKmsKey": "

Disassociates the associated AWS Key Management Service (AWS KMS) customer master key (CMK) from the specified log group.

After the AWS KMS CMK is disassociated from the log group, AWS CloudWatch Logs stops encrypting newly ingested data for the log group. All previously ingested data remains encrypted, and AWS CloudWatch Logs requires permissions for the CMK whenever the encrypted data is requested.

Note that it can take up to 5 minutes for this operation to take effect.

", + "FilterLogEvents": "

Lists log events from the specified log group. You can list all the log events or filter the results using a filter pattern, a time range, and the name of the log stream.

By default, this operation returns as many log events as can fit in 1 MB (up to 10,000 log events), or all the events found within the time range that you specify. If the results include a token, then there are more log events available, and you can get additional results by specifying the token in a subsequent call.

", + "GetLogEvents": "

Lists log events from the specified log stream. You can list all the log events or filter using a time range.

By default, this operation returns as many log events as can fit in a response size of 1MB (up to 10,000 log events). You can get additional log events by specifying one of the tokens in a subsequent call.

", + "ListTagsLogGroup": "

Lists the tags for the specified log group.

", + "PutDestination": "

Creates or updates a destination. A destination encapsulates a physical resource (such as an Amazon Kinesis stream) and enables you to subscribe to a real-time stream of log events for a different account, ingested using PutLogEvents. Currently, the only supported physical resource is a Kinesis stream belonging to the same account as the destination.

Through an access policy, a destination controls what is written to its Kinesis stream. By default, PutDestination does not set any access policy with the destination, which means a cross-account user cannot call PutSubscriptionFilter against this destination. To enable this, the destination owner must call PutDestinationPolicy after PutDestination.

", "PutDestinationPolicy": "

Creates or updates an access policy associated with an existing destination. An access policy is an IAM policy document that is used to authorize claims to register a subscription filter against a given destination.

", - "PutLogEvents": "

Uploads a batch of log events to the specified log stream.

You must include the sequence token obtained from the response of the previous call. An upload in a newly created log stream does not require a sequence token. You can also get the sequence token using DescribeLogStreams.

The batch of events must satisfy the following constraints:

  • The maximum batch size is 1,048,576 bytes, and this size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event.

  • None of the log events in the batch can be more than 2 hours in the future.

  • None of the log events in the batch can be older than 14 days or the retention period of the log group.

  • The log events in the batch must be in chronological ordered by their timestamp (the time the event occurred, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC).

  • The maximum number of log events in a batch is 10,000.

  • A batch of log events in a single request cannot span more than 24 hours. Otherwise, the operation fails.

", + "PutLogEvents": "

Uploads a batch of log events to the specified log stream.

You must include the sequence token obtained from the response of the previous call. An upload in a newly created log stream does not require a sequence token. You can also get the sequence token using DescribeLogStreams. If you call PutLogEvents twice within a narrow time period using the same value for sequenceToken, both calls may be successful, or one may be rejected.

The batch of events must satisfy the following constraints:

  • The maximum batch size is 1,048,576 bytes, and this size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event.

  • None of the log events in the batch can be more than 2 hours in the future.

  • None of the log events in the batch can be older than 14 days or the retention period of the log group.

  • The log events in the batch must be in chronological ordered by their time stamp (the time the event occurred, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC).

  • The maximum number of log events in a batch is 10,000.

  • A batch of log events in a single request cannot span more than 24 hours. Otherwise, the operation fails.

", "PutMetricFilter": "

Creates or updates a metric filter and associates it with the specified log group. Metric filters allow you to configure rules to extract metric data from log events ingested through PutLogEvents.

The maximum number of metric filters that can be associated with a log group is 100.

", - "PutRetentionPolicy": "

Sets the retention of the specified log group. A retention policy allows you to configure the number of days you want to retain log events in the specified log group.

", - "PutSubscriptionFilter": "

Creates or updates a subscription filter and associates it with the specified log group. Subscription filters allow you to subscribe to a real-time stream of log events ingested through PutLogEvents and have them delivered to a specific destination. Currently, the supported destinations are:

  • An Amazon Kinesis stream belonging to the same account as the subscription filter, for same-account delivery.

  • A logical destination that belongs to a different account, for cross-account delivery.

  • An Amazon Kinesis Firehose stream that belongs to the same account as the subscription filter, for same-account delivery.

  • An AWS Lambda function that belongs to the same account as the subscription filter, for same-account delivery.

There can only be one subscription filter associated with a log group. If you are updating an existing filter, you must specify the correct name in filterName. Otherwise, the call will fail because you cannot associate a second filter with a log group.

", + "PutResourcePolicy": "

Creates or updates a resource policy allowing other AWS services to put log events to this account, such as Amazon Route 53. An account can have up to 50 resource policies per region.

", + "PutRetentionPolicy": "

Sets the retention of the specified log group. A retention policy allows you to configure the number of days for which to retain log events in the specified log group.

", + "PutSubscriptionFilter": "

Creates or updates a subscription filter and associates it with the specified log group. Subscription filters allow you to subscribe to a real-time stream of log events ingested through PutLogEvents and have them delivered to a specific destination. Currently, the supported destinations are:

  • An Amazon Kinesis stream belonging to the same account as the subscription filter, for same-account delivery.

  • A logical destination that belongs to a different account, for cross-account delivery.

  • An Amazon Kinesis Firehose delivery stream that belongs to the same account as the subscription filter, for same-account delivery.

  • An AWS Lambda function that belongs to the same account as the subscription filter, for same-account delivery.

There can only be one subscription filter associated with a log group. If you are updating an existing filter, you must specify the correct name in filterName. Otherwise, the call fails because you cannot associate a second filter with a log group.

", "TagLogGroup": "

Adds or updates the specified tags for the specified log group.

To list the tags for a log group, use ListTagsLogGroup. To remove tags, use UntagLogGroup.

For more information about tags, see Tag Log Groups in Amazon CloudWatch Logs in the Amazon CloudWatch Logs User Guide.

", "TestMetricFilter": "

Tests the filter pattern of a metric filter against a sample of log event messages. You can use this operation to validate the correctness of a metric filter pattern.

", "UntagLogGroup": "

Removes the specified tags from the specified log group.

To list the tags for a log group, use ListTagsLogGroup. To add tags, use UntagLogGroup.

" @@ -47,6 +52,11 @@ "LogStream$arn": "

The Amazon Resource Name (ARN) of the log stream.

" } }, + "AssociateKmsKeyRequest": { + "base": null, + "refs": { + } + }, "CancelExportTaskRequest": { "base": null, "refs": { @@ -110,6 +120,11 @@ "refs": { } }, + "DeleteResourcePolicyRequest": { + "base": null, + "refs": { + } + }, "DeleteRetentionPolicyRequest": { "base": null, "refs": { @@ -154,6 +169,7 @@ "DescribeLogGroupsRequest$limit": "

The maximum number of items returned. If you don't specify a value, the default is up to 50 items.

", "DescribeLogStreamsRequest$limit": "

The maximum number of items returned. If you don't specify a value, the default is up to 50 items.

", "DescribeMetricFiltersRequest$limit": "

The maximum number of items returned. If you don't specify a value, the default is up to 50 items.

", + "DescribeResourcePoliciesRequest$limit": "

The maximum number of resource policies to be displayed with one call of this API.

", "DescribeSubscriptionFiltersRequest$limit": "

The maximum number of items returned. If you don't specify a value, the default is up to 50 items.

" } }, @@ -187,6 +203,16 @@ "refs": { } }, + "DescribeResourcePoliciesRequest": { + "base": null, + "refs": { + } + }, + "DescribeResourcePoliciesResponse": { + "base": null, + "refs": { + } + }, "DescribeSubscriptionFiltersRequest": { "base": null, "refs": { @@ -207,7 +233,7 @@ "DestinationArn": { "base": null, "refs": { - "PutSubscriptionFilterRequest$destinationArn": "

The ARN of the destination to deliver matching log events to. Currently, the supported destinations are:

  • An Amazon Kinesis stream belonging to the same account as the subscription filter, for same-account delivery.

  • A logical destination (specified using an ARN) belonging to a different account, for cross-account delivery.

  • An Amazon Kinesis Firehose stream belonging to the same account as the subscription filter, for same-account delivery.

  • An AWS Lambda function belonging to the same account as the subscription filter, for same-account delivery.

", + "PutSubscriptionFilterRequest$destinationArn": "

The ARN of the destination to deliver matching log events to. Currently, the supported destinations are:

  • An Amazon Kinesis stream belonging to the same account as the subscription filter, for same-account delivery.

  • A logical destination (specified using an ARN) belonging to a different account, for cross-account delivery.

  • An Amazon Kinesis Firehose delivery stream belonging to the same account as the subscription filter, for same-account delivery.

  • An AWS Lambda function belonging to the same account as the subscription filter, for same-account delivery.

", "SubscriptionFilter$destinationArn": "

The Amazon Resource Name (ARN) of the destination.

" } }, @@ -227,11 +253,16 @@ "DescribeDestinationsResponse$destinations": "

The destinations.

" } }, - "Distribution": { + "DisassociateKmsKeyRequest": { "base": null, "refs": { - "PutSubscriptionFilterRequest$distribution": "

The method used to distribute log data to the destination, when the destination is an Amazon Kinesis stream. By default, log data is grouped by log stream. For a more even distribution, you can group log data randomly.

", - "SubscriptionFilter$distribution": "

The method used to distribute log data to the destination, when the destination is an Amazon Kinesis stream.

" + } + }, + "Distribution": { + "base": "

The method used to distribute log data to the destination, which can be either random or grouped by log stream.

", + "refs": { + "PutSubscriptionFilterRequest$distribution": "

The method used to distribute log data to the destination. By default log data is grouped by log stream, but the grouping can be set to random for a more even distribution. This property is only applicable when the destination is an Amazon Kinesis stream.

", + "SubscriptionFilter$distribution": null } }, "EventId": { @@ -260,7 +291,7 @@ "base": null, "refs": { "FilterLogEventsRequest$limit": "

The maximum number of events to return. The default is 10,000 events.

", - "GetLogEventsRequest$limit": "

The maximum number of log events returned. If you don't specify a value, the maximum is as many log events as can fit in a response size of 1MB, up to 10,000 log events.

" + "GetLogEventsRequest$limit": "

The maximum number of log events returned. If you don't specify a value, the maximum is as many log events as can fit in a response size of 1 MB, up to 10,000 log events.

" } }, "ExportDestinationBucket": { @@ -361,12 +392,12 @@ "DescribeSubscriptionFiltersRequest$filterNamePrefix": "

The prefix to match. If you don't specify a value, no prefix filter is applied.

", "MetricFilter$filterName": "

The name of the metric filter.

", "PutMetricFilterRequest$filterName": "

A name for the metric filter.

", - "PutSubscriptionFilterRequest$filterName": "

A name for the subscription filter. If you are updating an existing filter, you must specify the correct name in filterName. Otherwise, the call will fail because you cannot associate a second filter with a log group. To find the name of the filter currently associated with a log group, use DescribeSubscriptionFilters.

", + "PutSubscriptionFilterRequest$filterName": "

A name for the subscription filter. If you are updating an existing filter, you must specify the correct name in filterName. Otherwise, the call fails because you cannot associate a second filter with a log group. To find the name of the filter currently associated with a log group, use DescribeSubscriptionFilters.

", "SubscriptionFilter$filterName": "

The name of the subscription filter.

" } }, "FilterPattern": { - "base": "

A symbolic description of how CloudWatch Logs should interpret the data in each log event. For example, a log event may contain timestamps, IP addresses, strings, and so on. You use the filter pattern to specify what to look for in the log event message.

", + "base": "

A symbolic description of how CloudWatch Logs should interpret the data in each log event. For example, a log event may contain time stamps, IP addresses, strings, and so on. You use the filter pattern to specify what to look for in the log event message.

", "refs": { "FilterLogEventsRequest$filterPattern": "

The filter pattern to use. If not provided, all the events are matched.

", "MetricFilter$filterPattern": null, @@ -419,7 +450,7 @@ "Interleaved": { "base": null, "refs": { - "FilterLogEventsRequest$interleaved": "

If the value is true, the operation makes a best effort to provide responses that contain events from multiple log streams within the log group interleaved in a single response. If the value is false all the matched log events in the first log stream are searched first, then those in the next log stream, and so on. The default is false.

" + "FilterLogEventsRequest$interleaved": "

If the value is true, the operation makes a best effort to provide responses that contain events from multiple log streams within the log group, interleaved in a single response. If the value is false, all the matched log events in the first log stream are searched first, then those in the next log stream, and so on. The default is false.

" } }, "InvalidOperationException": { @@ -437,6 +468,14 @@ "refs": { } }, + "KmsKeyId": { + "base": null, + "refs": { + "AssociateKmsKeyRequest$kmsKeyId": "

The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. For more information, see Amazon Resource Names - AWS Key Management Service (AWS KMS).

", + "CreateLogGroupRequest$kmsKeyId": "

The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. For more information, see Amazon Resource Names - AWS Key Management Service (AWS KMS).

", + "LogGroup$kmsKeyId": "

The Amazon Resource Name (ARN) of the CMK to use when encrypting log data.

" + } + }, "LimitExceededException": { "base": "

You have reached the maximum number of resources that can be created.

", "refs": { @@ -469,6 +508,7 @@ "LogGroupName": { "base": null, "refs": { + "AssociateKmsKeyRequest$logGroupName": "

The name of the log group.

", "CreateExportTaskRequest$logGroupName": "

The name of the log group.

", "CreateLogGroupRequest$logGroupName": "

The name of the log group.

", "CreateLogStreamRequest$logGroupName": "

The name of the log group.

", @@ -481,6 +521,7 @@ "DescribeLogStreamsRequest$logGroupName": "

The name of the log group.

", "DescribeMetricFiltersRequest$logGroupName": "

The name of the log group.

", "DescribeSubscriptionFiltersRequest$logGroupName": "

The name of the log group.

", + "DisassociateKmsKeyRequest$logGroupName": "

The name of the log group.

", "ExportTask$logGroupName": "

The name of the log group from which logs data was exported.

", "FilterLogEventsRequest$logGroupName": "

The name of the log group.

", "GetLogEventsRequest$logGroupName": "

The name of the log group.

", @@ -514,7 +555,7 @@ "CreateExportTaskRequest$logStreamNamePrefix": "

Export only log streams that match the provided prefix. If you don't specify a value, no prefix filter is applied.

", "CreateLogStreamRequest$logStreamName": "

The name of the log stream.

", "DeleteLogStreamRequest$logStreamName": "

The name of the log stream.

", - "DescribeLogStreamsRequest$logStreamNamePrefix": "

The prefix to match.

You cannot specify this parameter if orderBy is LastEventTime.

", + "DescribeLogStreamsRequest$logStreamNamePrefix": "

The prefix to match.

iIf orderBy is LastEventTime,you cannot specify this parameter.

", "FilteredLogEvent$logStreamName": "

The name of the log stream this event belongs to.

", "GetLogEventsRequest$logStreamName": "

The name of the log stream.

", "InputLogStreamNames$member": null, @@ -562,7 +603,7 @@ "MetricName": { "base": "

The name of the CloudWatch metric to which the monitored log information should be published. For example, you may publish to a metric called ErrorCount.

", "refs": { - "DescribeMetricFiltersRequest$metricName": "

The name of the CloudWatch metric.

", + "DescribeMetricFiltersRequest$metricName": null, "MetricTransformation$metricName": "

The name of the CloudWatch metric.

" } }, @@ -574,7 +615,7 @@ } }, "MetricTransformation": { - "base": "

Indicates how to transform ingested log events into metric data in a CloudWatch metric.

", + "base": "

Indicates how to transform ingested log events in to metric data in a CloudWatch metric.

", "refs": { "MetricTransformations$member": null } @@ -583,7 +624,7 @@ "base": null, "refs": { "MetricFilter$metricTransformations": "

The metric transformations.

", - "PutMetricFilterRequest$metricTransformations": "

A collection of information needed to define how metric data gets emitted.

" + "PutMetricFilterRequest$metricTransformations": "

A collection of information that defines how metric data gets emitted.

" } }, "MetricValue": { @@ -605,6 +646,8 @@ "DescribeLogStreamsResponse$nextToken": null, "DescribeMetricFiltersRequest$nextToken": "

The token for the next set of items to return. (You received this token from a previous call.)

", "DescribeMetricFiltersResponse$nextToken": null, + "DescribeResourcePoliciesRequest$nextToken": null, + "DescribeResourcePoliciesResponse$nextToken": null, "DescribeSubscriptionFiltersRequest$nextToken": "

The token for the next set of items to return. (You received this token from a previous call.)

", "DescribeSubscriptionFiltersResponse$nextToken": null, "FilterLogEventsRequest$nextToken": "

The token for the next set of events to return. (You received this token from a previous call.)

", @@ -622,7 +665,7 @@ "OrderBy": { "base": null, "refs": { - "DescribeLogStreamsRequest$orderBy": "

If the value is LogStreamName, the results are ordered by log stream name. If the value is LastEventTime, the results are ordered by the event time. The default value is LogStreamName.

If you order the results by event time, you cannot specify the logStreamNamePrefix parameter.

lastEventTimestamp represents the time of the most recent log event in the log stream in CloudWatch Logs. This number is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. lastEventTimeStamp updates on an eventual consistency basis. It typically updates in less than an hour from ingestion, but may take longer in some rare situations.

" + "DescribeLogStreamsRequest$orderBy": "

If the value is LogStreamName, the results are ordered by log stream name. If the value is LastEventTime, the results are ordered by the event time. The default value is LogStreamName.

If you order the results by event time, you cannot specify the logStreamNamePrefix parameter.

lastEventTimestamp represents the time of the most recent log event in the log stream in CloudWatch Logs. This number is expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. lastEventTimeStamp updates on an eventual consistency basis. It typically updates in less than an hour from ingestion, but may take longer in some rare situations.

" } }, "OutputLogEvent": { @@ -637,6 +680,21 @@ "GetLogEventsResponse$events": "

The events.

" } }, + "PolicyDocument": { + "base": null, + "refs": { + "PutResourcePolicyRequest$policyDocument": "

Details of the new policy, including the identity of the principal that is enabled to put logs to this account. This is formatted as a JSON string.

The following example creates a resource policy enabling the Route 53 service to put DNS query logs in to the specified log group. Replace \"logArn\" with the ARN of your CloudWatch Logs resource, such as a log group or log stream.

{ \"Version\": \"2012-10-17\" \"Statement\": [ { \"Sid\": \"Route53LogsToCloudWatchLogs\", \"Effect\": \"Allow\", \"Principal\": { \"Service\": [ \"route53.amazonaws.com\" ] }, \"Action\":\"logs:PutLogEvents\", \"Resource\": logArn } ] }

", + "ResourcePolicy$policyDocument": "

The details of the policy.

" + } + }, + "PolicyName": { + "base": null, + "refs": { + "DeleteResourcePolicyRequest$policyName": "

The name of the policy to be revoked. This parameter is required.

", + "PutResourcePolicyRequest$policyName": "

Name of the new policy. This parameter is required.

", + "ResourcePolicy$policyName": "

The name of the resource policy.

" + } + }, "PutDestinationPolicyRequest": { "base": null, "refs": { @@ -667,6 +725,16 @@ "refs": { } }, + "PutResourcePolicyRequest": { + "base": null, + "refs": { + } + }, + "PutResourcePolicyResponse": { + "base": null, + "refs": { + } + }, "PutRetentionPolicyRequest": { "base": null, "refs": { @@ -693,11 +761,24 @@ "refs": { } }, + "ResourcePolicies": { + "base": null, + "refs": { + "DescribeResourcePoliciesResponse$resourcePolicies": "

The resource policies that exist in this account.

" + } + }, + "ResourcePolicy": { + "base": "

A policy enabling one or more entities to put logs to a log group in this account.

", + "refs": { + "PutResourcePolicyResponse$resourcePolicy": "

The new policy.

", + "ResourcePolicies$member": null + } + }, "RoleArn": { "base": null, "refs": { "Destination$roleArn": "

A role for impersonation, used when delivering log events to the target.

", - "PutDestinationRequest$roleArn": "

The ARN of an IAM role that grants CloudWatch Logs permissions to call Amazon Kinesis PutRecord on the destination stream.

", + "PutDestinationRequest$roleArn": "

The ARN of an IAM role that grants CloudWatch Logs permissions to call the Amazon Kinesis PutRecord operation on the destination stream.

", "PutSubscriptionFilterRequest$roleArn": "

The ARN of an IAM role that grants CloudWatch Logs permissions to deliver ingested log events to the destination stream. You don't need to provide the ARN when you are working with a logical destination for cross-account delivery.

", "SubscriptionFilter$roleArn": "

" } @@ -720,7 +801,7 @@ "DataAlreadyAcceptedException$expectedSequenceToken": null, "InvalidSequenceTokenException$expectedSequenceToken": null, "LogStream$uploadSequenceToken": "

The sequence token.

", - "PutLogEventsRequest$sequenceToken": "

The sequence token.

", + "PutLogEventsRequest$sequenceToken": "

The sequence token obtained from the response of the previous PutLogEvents call. An upload in a newly created log stream does not require a sequence token. You can also get the sequence token using DescribeLogStreams. If you call PutLogEvents twice within a narrow time period using the same value for sequenceToken, both calls may be successful, or one may be rejected.

", "PutLogEventsResponse$nextSequenceToken": "

The next sequence token.

" } }, @@ -782,15 +863,15 @@ "base": null, "refs": { "CreateLogGroupRequest$tags": "

The key-value pairs to use for the tags.

", - "ListTagsLogGroupResponse$tags": "

The tags.

", + "ListTagsLogGroupResponse$tags": "

The tags for the log group.

", "TagLogGroupRequest$tags": "

The key-value pairs to use for the tags.

" } }, "TargetArn": { "base": null, "refs": { - "Destination$targetArn": "

The Amazon Resource Name (ARN) of the physical target where the log events will be delivered (for example, a Kinesis stream).

", - "PutDestinationRequest$targetArn": "

The ARN of an Amazon Kinesis stream to deliver matching log events to.

" + "Destination$targetArn": "

The Amazon Resource Name (ARN) of the physical target to where the log events are delivered (for example, a Kinesis stream).

", + "PutDestinationRequest$targetArn": "

The ARN of an Amazon Kinesis stream to which to deliver matching log events.

" } }, "TestEventMessages": { @@ -812,29 +893,30 @@ "Timestamp": { "base": null, "refs": { - "CreateExportTaskRequest$from": "

The start time of the range for the request, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. Events with a timestamp earlier than this time are not exported.

", - "CreateExportTaskRequest$to": "

The end time of the range for the request, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. Events with a timestamp later than this time are not exported.

", - "Destination$creationTime": "

The creation time of the destination, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

", - "ExportTask$from": "

The start time, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. Events with a timestamp prior to this time are not exported.

", - "ExportTask$to": "

The end time, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. Events with a timestamp later than this time are not exported.

", - "ExportTaskExecutionInfo$creationTime": "

The creation time of the export task, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

", - "ExportTaskExecutionInfo$completionTime": "

The completion time of the export task, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

", - "FilterLogEventsRequest$startTime": "

The start of the time range, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. Events with a timestamp prior to this time are not returned.

", - "FilterLogEventsRequest$endTime": "

The end of the time range, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. Events with a timestamp later than this time are not returned.

", - "FilteredLogEvent$timestamp": "

The time the event occurred, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

", - "FilteredLogEvent$ingestionTime": "

The time the event was ingested, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

", - "GetLogEventsRequest$startTime": "

The start of the time range, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. Events with a timestamp earlier than this time are not included.

", - "GetLogEventsRequest$endTime": "

The end of the time range, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. Events with a timestamp later than this time are not included.

", - "InputLogEvent$timestamp": "

The time the event occurred, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

", - "LogGroup$creationTime": "

The creation time of the log group, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

", - "LogStream$creationTime": "

The creation time of the stream, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

", - "LogStream$firstEventTimestamp": "

The time of the first event, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

", - "LogStream$lastEventTimestamp": "

the time of the most recent log event in the log stream in CloudWatch Logs. This number is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. lastEventTime updates on an eventual consistency basis. It typically updates in less than an hour from ingestion, but may take longer in some rare situations.

", - "LogStream$lastIngestionTime": "

The ingestion time, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

", - "MetricFilter$creationTime": "

The creation time of the metric filter, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

", - "OutputLogEvent$timestamp": "

The time the event occurred, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

", - "OutputLogEvent$ingestionTime": "

The time the event was ingested, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

", - "SubscriptionFilter$creationTime": "

The creation time of the subscription filter, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

" + "CreateExportTaskRequest$from": "

The start time of the range for the request, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a time stamp earlier than this time are not exported.

", + "CreateExportTaskRequest$to": "

The end time of the range for the request, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a time stamp later than this time are not exported.

", + "Destination$creationTime": "

The creation time of the destination, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

", + "ExportTask$from": "

The start time, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a time stamp before this time are not exported.

", + "ExportTask$to": "

The end time, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a time stamp later than this time are not exported.

", + "ExportTaskExecutionInfo$creationTime": "

The creation time of the export task, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

", + "ExportTaskExecutionInfo$completionTime": "

The completion time of the export task, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

", + "FilterLogEventsRequest$startTime": "

The start of the time range, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a time stamp before this time are not returned.

", + "FilterLogEventsRequest$endTime": "

The end of the time range, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a time stamp later than this time are not returned.

", + "FilteredLogEvent$timestamp": "

The time the event occurred, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

", + "FilteredLogEvent$ingestionTime": "

The time the event was ingested, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

", + "GetLogEventsRequest$startTime": "

The start of the time range, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a time stamp earlier than this time are not included.

", + "GetLogEventsRequest$endTime": "

The end of the time range, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a time stamp later than this time are not included.

", + "InputLogEvent$timestamp": "

The time the event occurred, expressed as the number of milliseconds fter Jan 1, 1970 00:00:00 UTC.

", + "LogGroup$creationTime": "

The creation time of the log group, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

", + "LogStream$creationTime": "

The creation time of the stream, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

", + "LogStream$firstEventTimestamp": "

The time of the first event, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

", + "LogStream$lastEventTimestamp": "

the time of the most recent log event in the log stream in CloudWatch Logs. This number is expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. lastEventTime updates on an eventual consistency basis. It typically updates in less than an hour from ingestion, but may take longer in some rare situations.

", + "LogStream$lastIngestionTime": "

The ingestion time, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

", + "MetricFilter$creationTime": "

The creation time of the metric filter, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

", + "OutputLogEvent$timestamp": "

The time the event occurred, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

", + "OutputLogEvent$ingestionTime": "

The time the event was ingested, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

", + "ResourcePolicy$lastUpdatedTime": "

Time stamp showing when this policy was last updated, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

", + "SubscriptionFilter$creationTime": "

The creation time of the subscription filter, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" } }, "Token": { diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/mgh/2017-05-31/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/mgh/2017-05-31/api-2.json new file mode 100644 index 000000000..d545cff2a --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/mgh/2017-05-31/api-2.json @@ -0,0 +1,839 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-05-31", + "endpointPrefix":"mgh", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"AWS Migration Hub", + "signatureVersion":"v4", + "targetPrefix":"AWSMigrationHub", + "uid":"AWSMigrationHub-2017-05-31" + }, + "operations":{ + "AssociateCreatedArtifact":{ + "name":"AssociateCreatedArtifact", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateCreatedArtifactRequest"}, + "output":{"shape":"AssociateCreatedArtifactResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DryRunOperation"}, + {"shape":"UnauthorizedOperation"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "AssociateDiscoveredResource":{ + "name":"AssociateDiscoveredResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateDiscoveredResourceRequest"}, + "output":{"shape":"AssociateDiscoveredResourceResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DryRunOperation"}, + {"shape":"UnauthorizedOperation"}, + {"shape":"InvalidInputException"}, + {"shape":"PolicyErrorException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "CreateProgressUpdateStream":{ + "name":"CreateProgressUpdateStream", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateProgressUpdateStreamRequest"}, + "output":{"shape":"CreateProgressUpdateStreamResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DryRunOperation"}, + {"shape":"UnauthorizedOperation"}, + {"shape":"InvalidInputException"} + ] + }, + "DeleteProgressUpdateStream":{ + "name":"DeleteProgressUpdateStream", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteProgressUpdateStreamRequest"}, + "output":{"shape":"DeleteProgressUpdateStreamResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DryRunOperation"}, + {"shape":"UnauthorizedOperation"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "DescribeApplicationState":{ + "name":"DescribeApplicationState", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeApplicationStateRequest"}, + "output":{"shape":"DescribeApplicationStateResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidInputException"}, + {"shape":"PolicyErrorException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "DescribeMigrationTask":{ + "name":"DescribeMigrationTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeMigrationTaskRequest"}, + "output":{"shape":"DescribeMigrationTaskResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "DisassociateCreatedArtifact":{ + "name":"DisassociateCreatedArtifact", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateCreatedArtifactRequest"}, + "output":{"shape":"DisassociateCreatedArtifactResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DryRunOperation"}, + {"shape":"UnauthorizedOperation"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "DisassociateDiscoveredResource":{ + "name":"DisassociateDiscoveredResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateDiscoveredResourceRequest"}, + "output":{"shape":"DisassociateDiscoveredResourceResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DryRunOperation"}, + {"shape":"UnauthorizedOperation"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ImportMigrationTask":{ + "name":"ImportMigrationTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ImportMigrationTaskRequest"}, + "output":{"shape":"ImportMigrationTaskResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DryRunOperation"}, + {"shape":"UnauthorizedOperation"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ListCreatedArtifacts":{ + "name":"ListCreatedArtifacts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCreatedArtifactsRequest"}, + "output":{"shape":"ListCreatedArtifactsResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ListDiscoveredResources":{ + "name":"ListDiscoveredResources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDiscoveredResourcesRequest"}, + "output":{"shape":"ListDiscoveredResourcesResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ListMigrationTasks":{ + "name":"ListMigrationTasks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListMigrationTasksRequest"}, + "output":{"shape":"ListMigrationTasksResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidInputException"}, + {"shape":"PolicyErrorException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ListProgressUpdateStreams":{ + "name":"ListProgressUpdateStreams", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListProgressUpdateStreamsRequest"}, + "output":{"shape":"ListProgressUpdateStreamsResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidInputException"} + ] + }, + "NotifyApplicationState":{ + "name":"NotifyApplicationState", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"NotifyApplicationStateRequest"}, + "output":{"shape":"NotifyApplicationStateResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DryRunOperation"}, + {"shape":"UnauthorizedOperation"}, + {"shape":"InvalidInputException"}, + {"shape":"PolicyErrorException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "NotifyMigrationTaskState":{ + "name":"NotifyMigrationTaskState", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"NotifyMigrationTaskStateRequest"}, + "output":{"shape":"NotifyMigrationTaskStateResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DryRunOperation"}, + {"shape":"UnauthorizedOperation"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "PutResourceAttributes":{ + "name":"PutResourceAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutResourceAttributesRequest"}, + "output":{"shape":"PutResourceAttributesResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DryRunOperation"}, + {"shape":"UnauthorizedOperation"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ] + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "ApplicationId":{ + "type":"string", + "max":1600, + "min":1 + }, + "ApplicationStatus":{ + "type":"string", + "enum":[ + "NOT_STARTED", + "IN_PROGRESS", + "COMPLETED" + ] + }, + "AssociateCreatedArtifactRequest":{ + "type":"structure", + "required":[ + "ProgressUpdateStream", + "MigrationTaskName", + "CreatedArtifact" + ], + "members":{ + "ProgressUpdateStream":{"shape":"ProgressUpdateStream"}, + "MigrationTaskName":{"shape":"MigrationTaskName"}, + "CreatedArtifact":{"shape":"CreatedArtifact"}, + "DryRun":{"shape":"DryRun"} + } + }, + "AssociateCreatedArtifactResult":{ + "type":"structure", + "members":{ + } + }, + "AssociateDiscoveredResourceRequest":{ + "type":"structure", + "required":[ + "ProgressUpdateStream", + "MigrationTaskName", + "DiscoveredResource" + ], + "members":{ + "ProgressUpdateStream":{"shape":"ProgressUpdateStream"}, + "MigrationTaskName":{"shape":"MigrationTaskName"}, + "DiscoveredResource":{"shape":"DiscoveredResource"}, + "DryRun":{"shape":"DryRun"} + } + }, + "AssociateDiscoveredResourceResult":{ + "type":"structure", + "members":{ + } + }, + "ConfigurationId":{ + "type":"string", + "min":1 + }, + "CreateProgressUpdateStreamRequest":{ + "type":"structure", + "required":["ProgressUpdateStreamName"], + "members":{ + "ProgressUpdateStreamName":{"shape":"ProgressUpdateStream"}, + "DryRun":{"shape":"DryRun"} + } + }, + "CreateProgressUpdateStreamResult":{ + "type":"structure", + "members":{ + } + }, + "CreatedArtifact":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"CreatedArtifactName"}, + "Description":{"shape":"CreatedArtifactDescription"} + } + }, + "CreatedArtifactDescription":{ + "type":"string", + "max":500, + "min":0 + }, + "CreatedArtifactList":{ + "type":"list", + "member":{"shape":"CreatedArtifact"} + }, + "CreatedArtifactName":{ + "type":"string", + "max":1600, + "min":1, + "pattern":"arn:[a-z-]+:[a-z0-9-]+:(?:[a-z0-9-]+|):(?:[0-9]{12}|):.*" + }, + "DeleteProgressUpdateStreamRequest":{ + "type":"structure", + "required":["ProgressUpdateStreamName"], + "members":{ + "ProgressUpdateStreamName":{"shape":"ProgressUpdateStream"}, + "DryRun":{"shape":"DryRun"} + } + }, + "DeleteProgressUpdateStreamResult":{ + "type":"structure", + "members":{ + } + }, + "DescribeApplicationStateRequest":{ + "type":"structure", + "required":["ApplicationId"], + "members":{ + "ApplicationId":{"shape":"ApplicationId"} + } + }, + "DescribeApplicationStateResult":{ + "type":"structure", + "members":{ + "ApplicationStatus":{"shape":"ApplicationStatus"}, + "LastUpdatedTime":{"shape":"UpdateDateTime"} + } + }, + "DescribeMigrationTaskRequest":{ + "type":"structure", + "required":[ + "ProgressUpdateStream", + "MigrationTaskName" + ], + "members":{ + "ProgressUpdateStream":{"shape":"ProgressUpdateStream"}, + "MigrationTaskName":{"shape":"MigrationTaskName"} + } + }, + "DescribeMigrationTaskResult":{ + "type":"structure", + "members":{ + "MigrationTask":{"shape":"MigrationTask"} + } + }, + "DisassociateCreatedArtifactRequest":{ + "type":"structure", + "required":[ + "ProgressUpdateStream", + "MigrationTaskName", + "CreatedArtifactName" + ], + "members":{ + "ProgressUpdateStream":{"shape":"ProgressUpdateStream"}, + "MigrationTaskName":{"shape":"MigrationTaskName"}, + "CreatedArtifactName":{"shape":"CreatedArtifactName"}, + "DryRun":{"shape":"DryRun"} + } + }, + "DisassociateCreatedArtifactResult":{ + "type":"structure", + "members":{ + } + }, + "DisassociateDiscoveredResourceRequest":{ + "type":"structure", + "required":[ + "ProgressUpdateStream", + "MigrationTaskName", + "ConfigurationId" + ], + "members":{ + "ProgressUpdateStream":{"shape":"ProgressUpdateStream"}, + "MigrationTaskName":{"shape":"MigrationTaskName"}, + "ConfigurationId":{"shape":"ConfigurationId"}, + "DryRun":{"shape":"DryRun"} + } + }, + "DisassociateDiscoveredResourceResult":{ + "type":"structure", + "members":{ + } + }, + "DiscoveredResource":{ + "type":"structure", + "required":["ConfigurationId"], + "members":{ + "ConfigurationId":{"shape":"ConfigurationId"}, + "Description":{"shape":"DiscoveredResourceDescription"} + } + }, + "DiscoveredResourceDescription":{ + "type":"string", + "max":500, + "min":0 + }, + "DiscoveredResourceList":{ + "type":"list", + "member":{"shape":"DiscoveredResource"} + }, + "DryRun":{"type":"boolean"}, + "DryRunOperation":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "ErrorMessage":{"type":"string"}, + "ImportMigrationTaskRequest":{ + "type":"structure", + "required":[ + "ProgressUpdateStream", + "MigrationTaskName" + ], + "members":{ + "ProgressUpdateStream":{"shape":"ProgressUpdateStream"}, + "MigrationTaskName":{"shape":"MigrationTaskName"}, + "DryRun":{"shape":"DryRun"} + } + }, + "ImportMigrationTaskResult":{ + "type":"structure", + "members":{ + } + }, + "InternalServerError":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true, + "fault":true + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "LatestResourceAttributeList":{ + "type":"list", + "member":{"shape":"ResourceAttribute"}, + "max":100, + "min":0 + }, + "ListCreatedArtifactsRequest":{ + "type":"structure", + "required":[ + "ProgressUpdateStream", + "MigrationTaskName" + ], + "members":{ + "ProgressUpdateStream":{"shape":"ProgressUpdateStream"}, + "MigrationTaskName":{"shape":"MigrationTaskName"}, + "NextToken":{"shape":"Token"}, + "MaxResults":{"shape":"MaxResultsCreatedArtifacts"} + } + }, + "ListCreatedArtifactsResult":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"Token"}, + "CreatedArtifactList":{"shape":"CreatedArtifactList"} + } + }, + "ListDiscoveredResourcesRequest":{ + "type":"structure", + "required":[ + "ProgressUpdateStream", + "MigrationTaskName" + ], + "members":{ + "ProgressUpdateStream":{"shape":"ProgressUpdateStream"}, + "MigrationTaskName":{"shape":"MigrationTaskName"}, + "NextToken":{"shape":"Token"}, + "MaxResults":{"shape":"MaxResultsResources"} + } + }, + "ListDiscoveredResourcesResult":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"Token"}, + "DiscoveredResourceList":{"shape":"DiscoveredResourceList"} + } + }, + "ListMigrationTasksRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"Token"}, + "MaxResults":{"shape":"MaxResults"}, + "ResourceName":{"shape":"ResourceName"} + } + }, + "ListMigrationTasksResult":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"Token"}, + "MigrationTaskSummaryList":{"shape":"MigrationTaskSummaryList"} + } + }, + "ListProgressUpdateStreamsRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"Token"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "ListProgressUpdateStreamsResult":{ + "type":"structure", + "members":{ + "ProgressUpdateStreamSummaryList":{"shape":"ProgressUpdateStreamSummaryList"}, + "NextToken":{"shape":"Token"} + } + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "MaxResultsCreatedArtifacts":{ + "type":"integer", + "box":true, + "max":10, + "min":1 + }, + "MaxResultsResources":{ + "type":"integer", + "box":true, + "max":10, + "min":1 + }, + "MigrationTask":{ + "type":"structure", + "members":{ + "ProgressUpdateStream":{"shape":"ProgressUpdateStream"}, + "MigrationTaskName":{"shape":"MigrationTaskName"}, + "Task":{"shape":"Task"}, + "UpdateDateTime":{"shape":"UpdateDateTime"}, + "ResourceAttributeList":{"shape":"LatestResourceAttributeList"} + } + }, + "MigrationTaskName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[^:|]+" + }, + "MigrationTaskSummary":{ + "type":"structure", + "members":{ + "ProgressUpdateStream":{"shape":"ProgressUpdateStream"}, + "MigrationTaskName":{"shape":"MigrationTaskName"}, + "Status":{"shape":"Status"}, + "ProgressPercent":{"shape":"ProgressPercent"}, + "StatusDetail":{"shape":"StatusDetail"}, + "UpdateDateTime":{"shape":"UpdateDateTime"} + } + }, + "MigrationTaskSummaryList":{ + "type":"list", + "member":{"shape":"MigrationTaskSummary"} + }, + "NextUpdateSeconds":{ + "type":"integer", + "min":0 + }, + "NotifyApplicationStateRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "Status" + ], + "members":{ + "ApplicationId":{"shape":"ApplicationId"}, + "Status":{"shape":"ApplicationStatus"}, + "DryRun":{"shape":"DryRun"} + } + }, + "NotifyApplicationStateResult":{ + "type":"structure", + "members":{ + } + }, + "NotifyMigrationTaskStateRequest":{ + "type":"structure", + "required":[ + "ProgressUpdateStream", + "MigrationTaskName", + "Task", + "UpdateDateTime", + "NextUpdateSeconds" + ], + "members":{ + "ProgressUpdateStream":{"shape":"ProgressUpdateStream"}, + "MigrationTaskName":{"shape":"MigrationTaskName"}, + "Task":{"shape":"Task"}, + "UpdateDateTime":{"shape":"UpdateDateTime"}, + "NextUpdateSeconds":{"shape":"NextUpdateSeconds"}, + "DryRun":{"shape":"DryRun"} + } + }, + "NotifyMigrationTaskStateResult":{ + "type":"structure", + "members":{ + } + }, + "PolicyErrorException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "ProgressPercent":{ + "type":"integer", + "box":true, + "max":100, + "min":0 + }, + "ProgressUpdateStream":{ + "type":"string", + "max":50, + "min":1, + "pattern":"[^/:|\\000-\\037]+" + }, + "ProgressUpdateStreamSummary":{ + "type":"structure", + "members":{ + "ProgressUpdateStreamName":{"shape":"ProgressUpdateStream"} + } + }, + "ProgressUpdateStreamSummaryList":{ + "type":"list", + "member":{"shape":"ProgressUpdateStreamSummary"} + }, + "PutResourceAttributesRequest":{ + "type":"structure", + "required":[ + "ProgressUpdateStream", + "MigrationTaskName", + "ResourceAttributeList" + ], + "members":{ + "ProgressUpdateStream":{"shape":"ProgressUpdateStream"}, + "MigrationTaskName":{"shape":"MigrationTaskName"}, + "ResourceAttributeList":{"shape":"ResourceAttributeList"}, + "DryRun":{"shape":"DryRun"} + } + }, + "PutResourceAttributesResult":{ + "type":"structure", + "members":{ + } + }, + "ResourceAttribute":{ + "type":"structure", + "required":[ + "Type", + "Value" + ], + "members":{ + "Type":{"shape":"ResourceAttributeType"}, + "Value":{"shape":"ResourceAttributeValue"} + } + }, + "ResourceAttributeList":{ + "type":"list", + "member":{"shape":"ResourceAttribute"}, + "max":100, + "min":1 + }, + "ResourceAttributeType":{ + "type":"string", + "enum":[ + "IPV4_ADDRESS", + "IPV6_ADDRESS", + "MAC_ADDRESS", + "FQDN", + "VM_MANAGER_ID", + "VM_MANAGED_OBJECT_REFERENCE", + "VM_NAME", + "VM_PATH", + "BIOS_ID", + "MOTHERBOARD_SERIAL_NUMBER", + "LABEL" + ] + }, + "ResourceAttributeValue":{ + "type":"string", + "max":256, + "min":1 + }, + "ResourceName":{ + "type":"string", + "max":1600, + "min":1 + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true, + "fault":true + }, + "Status":{ + "type":"string", + "enum":[ + "NOT_STARTED", + "IN_PROGRESS", + "FAILED", + "COMPLETED" + ] + }, + "StatusDetail":{ + "type":"string", + "max":500, + "min":0 + }, + "Task":{ + "type":"structure", + "required":["Status"], + "members":{ + "Status":{"shape":"Status"}, + "StatusDetail":{"shape":"StatusDetail"}, + "ProgressPercent":{"shape":"ProgressPercent"} + } + }, + "Token":{"type":"string"}, + "UnauthorizedOperation":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "UpdateDateTime":{"type":"timestamp"} + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/mgh/2017-05-31/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/mgh/2017-05-31/docs-2.json new file mode 100644 index 000000000..674c7721c --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/mgh/2017-05-31/docs-2.json @@ -0,0 +1,497 @@ +{ + "version": "2.0", + "service": "

", + "operations": { + "AssociateCreatedArtifact": "

Associates a created artifact of an AWS cloud resource, the target receiving the migration, with the migration task performed by a migration tool. This API has the following traits:

  • Migration tools can call the AssociateCreatedArtifact operation to indicate which AWS artifact is associated with a migration task.

  • The created artifact name must be provided in ARN (Amazon Resource Name) format which will contain information about type and region; for example: arn:aws:ec2:us-east-1:488216288981:image/ami-6d0ba87b.

  • Examples of the AWS resource behind the created artifact are, AMI's, EC2 instance, or DMS endpoint, etc.

", + "AssociateDiscoveredResource": "

Associates a discovered resource ID from Application Discovery Service (ADS) with a migration task.

", + "CreateProgressUpdateStream": "

Creates a progress update stream which is an AWS resource used for access control as well as a namespace for migration task names that is implicitly linked to your AWS account. It must uniquely identify the migration tool as it is used for all updates made by the tool; however, it does not need to be unique for each AWS account because it is scoped to the AWS account.

", + "DeleteProgressUpdateStream": "

Deletes a progress update stream, including all of its tasks, which was previously created as an AWS resource used for access control. This API has the following traits:

  • The only parameter needed for DeleteProgressUpdateStream is the stream name (same as a CreateProgressUpdateStream call).

  • The call will return, and a background process will asynchronously be doing the actual delete of the stream and all of its resources (tasks, associated resources, resource attributes, created artifacts).

  • If the stream takes time to be deleted, it might still show up on a ListProgressUpdateStreams call.

  • CreateProgressUpdateStream, ImportMigrationTask, NotifyMigrationTaskState, and all Associate[*] APIs realted to the tasks belonging to the stream will throw \"InvalidInputException\" if the stream of the same name is in the process of being deleted.

  • Once the stream and all of its resources are deleted, CreateProgressUpdateStream for a stream of the same name will succeed, and that stream will be an entirely new logical resource (without any resources associated with the old stream).

", + "DescribeApplicationState": "

Gets the migration status of an application.

", + "DescribeMigrationTask": "

Retrieves a list of all attributes associated with a specific migration task.

", + "DisassociateCreatedArtifact": "

Disassociates a created artifact of an AWS resource with a migration task performed by a migration tool that was previously associated. This API has the following traits:

  • A migration user can call the DisassociateCreatedArtifacts operation to disassociate a created AWS Artifact from a migration task.

  • The created artifact name must be provided in ARN (Amazon Resource Name) format which will contain information about type and region; for example: arn:aws:ec2:us-east-1:488216288981:image/ami-6d0ba87b.

  • Examples of the AWS resource behind the created artifact are, AMI's, EC2 instance, or RDS instance, etc.

", + "DisassociateDiscoveredResource": "

Disassociate an Application Discovery Service (ADS) discovered resource from a migration task.

", + "ImportMigrationTask": "

Registers a new migration task which represents a server, database, etc., being migrated to AWS by a migration tool.

This API is a prerequisite to calling the NotifyMigrationTaskState API as the migration tool must first register the migration task with Migration Hub.

", + "ListCreatedArtifacts": "

Lists the created artifacts attached to a given migration task in an update stream. This API has the following traits:

  • Gets the list of the created artifacts while migration is taking place.

  • Shows the artifacts created by the migration tool that was associated by the AssociateCreatedArtifact API.

  • Lists created artifacts in a paginated interface.

", + "ListDiscoveredResources": "

Lists discovered resources associated with the given MigrationTask.

", + "ListMigrationTasks": "

Lists all, or filtered by resource name, migration tasks associated with the user account making this call. This API has the following traits:

  • Can show a summary list of the most recent migration tasks.

  • Can show a summary list of migration tasks associated with a given discovered resource.

  • Lists migration tasks in a paginated interface.

", + "ListProgressUpdateStreams": "

Lists progress update streams associated with the user account making this call.

", + "NotifyApplicationState": "

Sets the migration state of an application. For a given application identified by the value passed to ApplicationId, its status is set or updated by passing one of three values to Status: NOT_STARTED | IN_PROGRESS | COMPLETED.

", + "NotifyMigrationTaskState": "

Notifies Migration Hub of the current status, progress, or other detail regarding a migration task. This API has the following traits:

  • Migration tools will call the NotifyMigrationTaskState API to share the latest progress and status.

  • MigrationTaskName is used for addressing updates to the correct target.

  • ProgressUpdateStream is used for access control and to provide a namespace for each migration tool.

", + "PutResourceAttributes": "

Provides identifying details of the resource being migrated so that it can be associated in the Application Discovery Service (ADS)'s repository. This association occurs asynchronously after PutResourceAttributes returns.

Keep in mind that subsequent calls to PutResourceAttributes will override previously stored attributes. For example, if it is first called with a MAC address, but later, it is desired to add an IP address, it will then be required to call it with both the IP and MAC addresses to prevent overiding the MAC address.

Because this is an asynchronous call, it will always return 200, whether an association occurs or not. To confirm if an association was found based on the provided details, call ListAssociatedResource.

" + }, + "shapes": { + "AccessDeniedException": { + "base": "

Exception raised when the account making the call is not whitelisted or there are other authentication errors.

", + "refs": { + } + }, + "ApplicationId": { + "base": null, + "refs": { + "DescribeApplicationStateRequest$ApplicationId": "

The configurationId in ADS that uniquely identifies the grouped application.

", + "NotifyApplicationStateRequest$ApplicationId": "

The configurationId in ADS that uniquely identifies the grouped application.

" + } + }, + "ApplicationStatus": { + "base": null, + "refs": { + "DescribeApplicationStateResult$ApplicationStatus": "

Status of the application - Not Started, In-Progress, Complete.

", + "NotifyApplicationStateRequest$Status": "

Status of the application - Not Started, In-Progress, Complete.

" + } + }, + "AssociateCreatedArtifactRequest": { + "base": null, + "refs": { + } + }, + "AssociateCreatedArtifactResult": { + "base": null, + "refs": { + } + }, + "AssociateDiscoveredResourceRequest": { + "base": null, + "refs": { + } + }, + "AssociateDiscoveredResourceResult": { + "base": null, + "refs": { + } + }, + "ConfigurationId": { + "base": null, + "refs": { + "DisassociateDiscoveredResourceRequest$ConfigurationId": "

ConfigurationId of the ADS resource to be disassociated.

", + "DiscoveredResource$ConfigurationId": "

The configurationId in ADS that uniquely identifies the on-premise resource.

" + } + }, + "CreateProgressUpdateStreamRequest": { + "base": null, + "refs": { + } + }, + "CreateProgressUpdateStreamResult": { + "base": null, + "refs": { + } + }, + "CreatedArtifact": { + "base": "

An ARN of the AWS cloud resource target receiving the migration (e.g., AMI, EC2 instance, RDS instance, etc.).

", + "refs": { + "AssociateCreatedArtifactRequest$CreatedArtifact": "

An ARN of the AWS resource related to the migration (e.g., AMI, EC2 instance, RDS instance, etc.)

", + "CreatedArtifactList$member": null + } + }, + "CreatedArtifactDescription": { + "base": null, + "refs": { + "CreatedArtifact$Description": "

A description that can be free-form text to record additional detail about the artifact for clarity or for later reference.

" + } + }, + "CreatedArtifactList": { + "base": null, + "refs": { + "ListCreatedArtifactsResult$CreatedArtifactList": "

List of created artifacts up to the maximum number of results specified in the request.

" + } + }, + "CreatedArtifactName": { + "base": null, + "refs": { + "CreatedArtifact$Name": "

An ARN that uniquely identifies the result of a migration task.

", + "DisassociateCreatedArtifactRequest$CreatedArtifactName": "

An ARN of the AWS resource related to the migration (e.g., AMI, EC2 instance, RDS instance, etc.)

" + } + }, + "DeleteProgressUpdateStreamRequest": { + "base": null, + "refs": { + } + }, + "DeleteProgressUpdateStreamResult": { + "base": null, + "refs": { + } + }, + "DescribeApplicationStateRequest": { + "base": null, + "refs": { + } + }, + "DescribeApplicationStateResult": { + "base": null, + "refs": { + } + }, + "DescribeMigrationTaskRequest": { + "base": null, + "refs": { + } + }, + "DescribeMigrationTaskResult": { + "base": null, + "refs": { + } + }, + "DisassociateCreatedArtifactRequest": { + "base": null, + "refs": { + } + }, + "DisassociateCreatedArtifactResult": { + "base": null, + "refs": { + } + }, + "DisassociateDiscoveredResourceRequest": { + "base": null, + "refs": { + } + }, + "DisassociateDiscoveredResourceResult": { + "base": null, + "refs": { + } + }, + "DiscoveredResource": { + "base": "

Object representing the on-premises resource being migrated.

", + "refs": { + "AssociateDiscoveredResourceRequest$DiscoveredResource": "

Object representing a Resource.

", + "DiscoveredResourceList$member": null + } + }, + "DiscoveredResourceDescription": { + "base": null, + "refs": { + "DiscoveredResource$Description": "

A description that can be free-form text to record additional detail about the discovered resource for clarity or later reference.

" + } + }, + "DiscoveredResourceList": { + "base": null, + "refs": { + "ListDiscoveredResourcesResult$DiscoveredResourceList": "

Returned list of discovered resources associated with the given MigrationTask.

" + } + }, + "DryRun": { + "base": null, + "refs": { + "AssociateCreatedArtifactRequest$DryRun": "

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

", + "AssociateDiscoveredResourceRequest$DryRun": "

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

", + "CreateProgressUpdateStreamRequest$DryRun": "

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

", + "DeleteProgressUpdateStreamRequest$DryRun": "

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

", + "DisassociateCreatedArtifactRequest$DryRun": "

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

", + "DisassociateDiscoveredResourceRequest$DryRun": "

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

", + "ImportMigrationTaskRequest$DryRun": "

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

", + "NotifyApplicationStateRequest$DryRun": "

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

", + "NotifyMigrationTaskStateRequest$DryRun": "

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

", + "PutResourceAttributesRequest$DryRun": "

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

" + } + }, + "DryRunOperation": { + "base": "

Exception raised to indicate a successfully authorized action when the DryRun flag is set to \"true\".

", + "refs": { + } + }, + "ErrorMessage": { + "base": null, + "refs": { + "AccessDeniedException$Message": null, + "DryRunOperation$Message": null, + "InternalServerError$Message": null, + "InvalidInputException$Message": null, + "PolicyErrorException$Message": null, + "ResourceNotFoundException$Message": null, + "ServiceUnavailableException$Message": null, + "UnauthorizedOperation$Message": null + } + }, + "ImportMigrationTaskRequest": { + "base": null, + "refs": { + } + }, + "ImportMigrationTaskResult": { + "base": null, + "refs": { + } + }, + "InternalServerError": { + "base": "

Exception raised when there is an internal, configuration, or dependency error encountered.

", + "refs": { + } + }, + "InvalidInputException": { + "base": "

Exception raised when the provided input violates a policy constraint or is entered in the wrong format or data type.

", + "refs": { + } + }, + "LatestResourceAttributeList": { + "base": null, + "refs": { + "MigrationTask$ResourceAttributeList": "

" + } + }, + "ListCreatedArtifactsRequest": { + "base": null, + "refs": { + } + }, + "ListCreatedArtifactsResult": { + "base": null, + "refs": { + } + }, + "ListDiscoveredResourcesRequest": { + "base": null, + "refs": { + } + }, + "ListDiscoveredResourcesResult": { + "base": null, + "refs": { + } + }, + "ListMigrationTasksRequest": { + "base": null, + "refs": { + } + }, + "ListMigrationTasksResult": { + "base": null, + "refs": { + } + }, + "ListProgressUpdateStreamsRequest": { + "base": null, + "refs": { + } + }, + "ListProgressUpdateStreamsResult": { + "base": null, + "refs": { + } + }, + "MaxResults": { + "base": null, + "refs": { + "ListMigrationTasksRequest$MaxResults": "

Value to specify how many results are returned per page.

", + "ListProgressUpdateStreamsRequest$MaxResults": "

Filter to limit the maximum number of results to list per page.

" + } + }, + "MaxResultsCreatedArtifacts": { + "base": null, + "refs": { + "ListCreatedArtifactsRequest$MaxResults": "

Maximum number of results to be returned per page.

" + } + }, + "MaxResultsResources": { + "base": null, + "refs": { + "ListDiscoveredResourcesRequest$MaxResults": "

The maximum number of results returned per page.

" + } + }, + "MigrationTask": { + "base": "

Represents a migration task in a migration tool.

", + "refs": { + "DescribeMigrationTaskResult$MigrationTask": "

Object encapsulating information about the migration task.

" + } + }, + "MigrationTaskName": { + "base": null, + "refs": { + "AssociateCreatedArtifactRequest$MigrationTaskName": "

Unique identifier that references the migration task.

", + "AssociateDiscoveredResourceRequest$MigrationTaskName": "

The identifier given to the MigrationTask.

", + "DescribeMigrationTaskRequest$MigrationTaskName": "

The identifier given to the MigrationTask.

", + "DisassociateCreatedArtifactRequest$MigrationTaskName": "

Unique identifier that references the migration task to be disassociated with the artifact.

", + "DisassociateDiscoveredResourceRequest$MigrationTaskName": "

The identifier given to the MigrationTask.

", + "ImportMigrationTaskRequest$MigrationTaskName": "

Unique identifier that references the migration task.

", + "ListCreatedArtifactsRequest$MigrationTaskName": "

Unique identifier that references the migration task.

", + "ListDiscoveredResourcesRequest$MigrationTaskName": "

The name of the MigrationTask.

", + "MigrationTask$MigrationTaskName": "

Unique identifier that references the migration task.

", + "MigrationTaskSummary$MigrationTaskName": "

Unique identifier that references the migration task.

", + "NotifyMigrationTaskStateRequest$MigrationTaskName": "

Unique identifier that references the migration task.

", + "PutResourceAttributesRequest$MigrationTaskName": "

Unique identifier that references the migration task.

" + } + }, + "MigrationTaskSummary": { + "base": "

MigrationTaskSummary includes MigrationTaskName, ProgressPercent, ProgressUpdateStream, Status, and UpdateDateTime for each task.

", + "refs": { + "MigrationTaskSummaryList$member": null + } + }, + "MigrationTaskSummaryList": { + "base": null, + "refs": { + "ListMigrationTasksResult$MigrationTaskSummaryList": "

Lists the migration task's summary which includes: MigrationTaskName, ProgressPercent, ProgressUpdateStream, Status, and the UpdateDateTime for each task.

" + } + }, + "NextUpdateSeconds": { + "base": null, + "refs": { + "NotifyMigrationTaskStateRequest$NextUpdateSeconds": "

Number of seconds after the UpdateDateTime within which the Migration Hub can expect an update. If Migration Hub does not receive an update within the specified interval, then the migration task will be considered stale.

" + } + }, + "NotifyApplicationStateRequest": { + "base": null, + "refs": { + } + }, + "NotifyApplicationStateResult": { + "base": null, + "refs": { + } + }, + "NotifyMigrationTaskStateRequest": { + "base": null, + "refs": { + } + }, + "NotifyMigrationTaskStateResult": { + "base": null, + "refs": { + } + }, + "PolicyErrorException": { + "base": "

Exception raised when there are problems accessing ADS (Application Discovery Service); most likely due to a misconfigured policy or the ADSCaller role is missing or not configured correctly.

", + "refs": { + } + }, + "ProgressPercent": { + "base": null, + "refs": { + "MigrationTaskSummary$ProgressPercent": "

", + "Task$ProgressPercent": "

Indication of the percentage completion of the task.

" + } + }, + "ProgressUpdateStream": { + "base": null, + "refs": { + "AssociateCreatedArtifactRequest$ProgressUpdateStream": "

The name of the ProgressUpdateStream.

", + "AssociateDiscoveredResourceRequest$ProgressUpdateStream": "

The name of the ProgressUpdateStream.

", + "CreateProgressUpdateStreamRequest$ProgressUpdateStreamName": "

The name of the ProgressUpdateStream.

", + "DeleteProgressUpdateStreamRequest$ProgressUpdateStreamName": "

The name of the ProgressUpdateStream.

", + "DescribeMigrationTaskRequest$ProgressUpdateStream": "

The name of the ProgressUpdateStream.

", + "DisassociateCreatedArtifactRequest$ProgressUpdateStream": "

The name of the ProgressUpdateStream.

", + "DisassociateDiscoveredResourceRequest$ProgressUpdateStream": "

The name of the ProgressUpdateStream.

", + "ImportMigrationTaskRequest$ProgressUpdateStream": "

The name of the ProgressUpdateStream.

", + "ListCreatedArtifactsRequest$ProgressUpdateStream": "

The name of the ProgressUpdateStream.

", + "ListDiscoveredResourcesRequest$ProgressUpdateStream": "

The name of the ProgressUpdateStream.

", + "MigrationTask$ProgressUpdateStream": "

A name that identifies the vendor of the migration tool being used.

", + "MigrationTaskSummary$ProgressUpdateStream": "

An AWS resource used for access control. It should uniquely identify the migration tool as it is used for all updates made by the tool.

", + "NotifyMigrationTaskStateRequest$ProgressUpdateStream": "

The name of the ProgressUpdateStream.

", + "ProgressUpdateStreamSummary$ProgressUpdateStreamName": "

The name of the ProgressUpdateStream.

", + "PutResourceAttributesRequest$ProgressUpdateStream": "

The name of the ProgressUpdateStream.

" + } + }, + "ProgressUpdateStreamSummary": { + "base": "

Summary of the AWS resource used for access control that is implicitly linked to your AWS account.

", + "refs": { + "ProgressUpdateStreamSummaryList$member": null + } + }, + "ProgressUpdateStreamSummaryList": { + "base": null, + "refs": { + "ListProgressUpdateStreamsResult$ProgressUpdateStreamSummaryList": "

List of progress update streams up to the max number of results passed in the input.

" + } + }, + "PutResourceAttributesRequest": { + "base": null, + "refs": { + } + }, + "PutResourceAttributesResult": { + "base": null, + "refs": { + } + }, + "ResourceAttribute": { + "base": "

Attribute associated with a resource.

", + "refs": { + "LatestResourceAttributeList$member": null, + "ResourceAttributeList$member": null + } + }, + "ResourceAttributeList": { + "base": null, + "refs": { + "PutResourceAttributesRequest$ResourceAttributeList": "

Information about the resource that is being migrated. This data will be used to map the task to a resource in the Application Discovery Service (ADS)'s repository.

" + } + }, + "ResourceAttributeType": { + "base": null, + "refs": { + "ResourceAttribute$Type": "

Type of resource.

" + } + }, + "ResourceAttributeValue": { + "base": null, + "refs": { + "ResourceAttribute$Value": "

Value of the resource type.

" + } + }, + "ResourceName": { + "base": null, + "refs": { + "ListMigrationTasksRequest$ResourceName": "

Filter migration tasks by discovered resource name.

" + } + }, + "ResourceNotFoundException": { + "base": "

Exception raised when the request references a resource (ADS configuration, update stream, migration task, etc.) that does not exist in ADS (Application Discovery Service) or in Migration Hub's repository.

", + "refs": { + } + }, + "ServiceUnavailableException": { + "base": "

Exception raised when the service encounters throttled communication with upstream dependencies or is overloaded with requests.

", + "refs": { + } + }, + "Status": { + "base": null, + "refs": { + "MigrationTaskSummary$Status": "

Status of the task.

", + "Task$Status": "

Status of the task - Not Started, In-Progress, Complete.

" + } + }, + "StatusDetail": { + "base": null, + "refs": { + "MigrationTaskSummary$StatusDetail": "

Detail information of what is being done within the overall status state.

", + "Task$StatusDetail": "

Details of task status as notified by a migration tool. A tool might use this field to provide clarifying information about the status that is unique to that tool or that explains an error state.

" + } + }, + "Task": { + "base": "

Task object encapsulating task information.

", + "refs": { + "MigrationTask$Task": "

Task object encapsulating task information.

", + "NotifyMigrationTaskStateRequest$Task": "

Information about the task's progress and status.

" + } + }, + "Token": { + "base": null, + "refs": { + "ListCreatedArtifactsRequest$NextToken": "

If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken.

", + "ListCreatedArtifactsResult$NextToken": "

If there are more created artifacts than the max result, return the next token to be passed to the next call as a bookmark of where to start from.

", + "ListDiscoveredResourcesRequest$NextToken": "

If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken.

", + "ListDiscoveredResourcesResult$NextToken": "

If there are more discovered resources than the max result, return the next token to be passed to the next call as a bookmark of where to start from.

", + "ListMigrationTasksRequest$NextToken": "

If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken.

", + "ListMigrationTasksResult$NextToken": "

If there are more migration tasks than the max result, return the next token to be passed to the next call as a bookmark of where to start from.

", + "ListProgressUpdateStreamsRequest$NextToken": "

If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken.

", + "ListProgressUpdateStreamsResult$NextToken": "

If there are more streams created than the max result, return the next token to be passed to the next call as a bookmark of where to start from.

" + } + }, + "UnauthorizedOperation": { + "base": "

Exception raised to indicate a request was not authorized when the DryRun flag is set to \"true\".

", + "refs": { + } + }, + "UpdateDateTime": { + "base": null, + "refs": { + "DescribeApplicationStateResult$LastUpdatedTime": "

The timestamp when the application status was last updated.

", + "MigrationTask$UpdateDateTime": "

The timestamp when the task was gathered.

", + "MigrationTaskSummary$UpdateDateTime": "

The timestamp when the task was gathered.

", + "NotifyMigrationTaskStateRequest$UpdateDateTime": "

The timestamp when the task was gathered.

" + } + } + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/mgh/2017-05-31/examples-1.json b/vendor/github.com/aws/aws-sdk-go/models/apis/mgh/2017-05-31/examples-1.json new file mode 100644 index 000000000..0ea7e3b0b --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/mgh/2017-05-31/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/mgh/2017-05-31/paginators-1.json b/vendor/github.com/aws/aws-sdk-go/models/apis/mgh/2017-05-31/paginators-1.json new file mode 100644 index 000000000..5677bd8e4 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/mgh/2017-05-31/paginators-1.json @@ -0,0 +1,4 @@ +{ + "pagination": { + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/monitoring/2010-08-01/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/monitoring/2010-08-01/docs-2.json index 942d93e33..23027d371 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/monitoring/2010-08-01/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/monitoring/2010-08-01/docs-2.json @@ -10,10 +10,10 @@ "DisableAlarmActions": "

Disables the actions for the specified alarms. When an alarm's actions are disabled, the alarm actions do not execute when the alarm state changes.

", "EnableAlarmActions": "

Enables the actions for the specified alarms.

", "GetDashboard": "

Displays the details of the dashboard that you specify.

To copy an existing dashboard, use GetDashboard, and then use the data returned within DashboardBody as the template for the new dashboard when you call PutDashboard to create the copy.

", - "GetMetricStatistics": "

Gets statistics for the specified metric.

Amazon CloudWatch retains metric data as follows:

  • Data points with a period of 60 seconds (1-minute) are available for 15 days

  • Data points with a period of 300 seconds (5-minute) are available for 63 days

  • Data points with a period of 3600 seconds (1 hour) are available for 455 days (15 months)

CloudWatch started retaining 5-minute and 1-hour metric data as of July 9, 2016.

The maximum number of data points returned from a single call is 1,440. If you request more than 1,440 data points, CloudWatch returns an error. To reduce the number of data points, you can narrow the specified time range and make multiple requests across adjacent time ranges, or you can increase the specified period. A period can be as short as one minute (60 seconds). Data points are not returned in chronological order.

CloudWatch aggregates data points based on the length of the period that you specify. For example, if you request statistics with a one-hour period, CloudWatch aggregates all data points with time stamps that fall within each one-hour period. Therefore, the number of values aggregated by CloudWatch is larger than the number of data points returned.

CloudWatch needs raw data points to calculate percentile statistics. If you publish data using a statistic set instead, you can only retrieve percentile statistics for this data if one of the following conditions is true:

  • The SampleCount value of the statistic set is 1.

  • The Min and the Max values of the statistic set are equal.

For a list of metrics and dimensions supported by AWS services, see the Amazon CloudWatch Metrics and Dimensions Reference in the Amazon CloudWatch User Guide.

", + "GetMetricStatistics": "

Gets statistics for the specified metric.

The maximum number of data points returned from a single call is 1,440. If you request more than 1,440 data points, CloudWatch returns an error. To reduce the number of data points, you can narrow the specified time range and make multiple requests across adjacent time ranges, or you can increase the specified period. Data points are not returned in chronological order.

CloudWatch aggregates data points based on the length of the period that you specify. For example, if you request statistics with a one-hour period, CloudWatch aggregates all data points with time stamps that fall within each one-hour period. Therefore, the number of values aggregated by CloudWatch is larger than the number of data points returned.

CloudWatch needs raw data points to calculate percentile statistics. If you publish data using a statistic set instead, you can only retrieve percentile statistics for this data if one of the following conditions is true:

  • The SampleCount value of the statistic set is 1.

  • The Min and the Max values of the statistic set are equal.

Amazon CloudWatch retains metric data as follows:

  • Data points with a period of less than 60 seconds are available for 3 hours. These data points are high-resolution metrics and are available only for custom metrics that have been defined with a StorageResolution of 1.

  • Data points with a period of 60 seconds (1-minute) are available for 15 days.

  • Data points with a period of 300 seconds (5-minute) are available for 63 days.

  • Data points with a period of 3600 seconds (1 hour) are available for 455 days (15 months).

Data points that are initially published with a shorter period are aggregated together for long-term storage. For example, if you collect data using a period of 1 minute, the data remains available for 15 days with 1-minute resolution. After 15 days, this data is still available, but is aggregated and retrievable only with a resolution of 5 minutes. After 63 days, the data is further aggregated and is available with a resolution of 1 hour.

CloudWatch started retaining 5-minute and 1-hour metric data as of July 9, 2016.

For information about metrics and dimensions supported by AWS services, see the Amazon CloudWatch Metrics and Dimensions Reference in the Amazon CloudWatch User Guide.

", "ListDashboards": "

Returns a list of the dashboards for your account. If you include DashboardNamePrefix, only those dashboards with names starting with the prefix are listed. Otherwise, all dashboards in your account are listed.

", "ListMetrics": "

List the specified metrics. You can use the returned metrics with GetMetricStatistics to obtain statistical data.

Up to 500 results are returned for any one call. To retrieve additional results, use the returned token with subsequent calls.

After you create a metric, allow up to fifteen minutes before the metric appears. Statistics about the metric, however, are available sooner using GetMetricStatistics.

", - "PutDashboard": "

Creates a dashboard if it does not already exist, or updates an existing dashboard. If you update a dashboard, the entire contents are replaced with what you specify here.

You can have up to 500 dashboards per account. All dashboards in your account are global, not region-specific.

To copy an existing dashboard, use GetDashboard, and then use the data returned within DashboardBody as the template for the new dashboard when you call PutDashboard to create the copy.

", + "PutDashboard": "

Creates a dashboard if it does not already exist, or updates an existing dashboard. If you update a dashboard, the entire contents are replaced with what you specify here.

You can have up to 500 dashboards per account. All dashboards in your account are global, not region-specific.

A simple way to create a dashboard using PutDashboard is to copy an existing dashboard. To copy an existing dashboard using the console, you can load the dashboard and then use the View/edit source command in the Actions menu to display the JSON block for that dashboard. Another way to copy a dashboard is to use GetDashboard, and then use the data returned within DashboardBody as the template for the new dashboard when you call PutDashboard.

When you create a dashboard with PutDashboard, a good practice is to add a text widget at the top of the dashboard with a message that the dashboard was created by script and should not be changed in the console. This message could also point console users to the location of the DashboardBody script or the CloudFormation template used to create the dashboard.

", "PutMetricAlarm": "

Creates or updates an alarm and associates it with the specified metric. Optionally, this operation can associate one or more Amazon SNS resources with the alarm.

When this operation creates an alarm, the alarm state is immediately set to INSUFFICIENT_DATA. The alarm is evaluated and its state is set appropriately. Any actions associated with the state are then executed.

When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm.

If you are an IAM user, you must have Amazon EC2 permissions for some operations:

  • ec2:DescribeInstanceStatus and ec2:DescribeInstances for all alarms on EC2 instance status metrics

  • ec2:StopInstances for alarms with stop actions

  • ec2:TerminateInstances for alarms with terminate actions

  • ec2:DescribeInstanceRecoveryAttribute and ec2:RecoverInstances for alarms with recover actions

If you have read/write permissions for Amazon CloudWatch but not for Amazon EC2, you can still create an alarm, but the stop or terminate actions are not performed. However, if you are later granted the required permissions, the alarm actions that you created earlier are performed.

If you are using an IAM role (for example, an EC2 instance profile), you cannot stop or terminate the instance using alarm actions. However, you can still see the alarm state and perform any other actions such as Amazon SNS notifications or Auto Scaling policies.

If you are using temporary security credentials granted using AWS STS, you cannot stop or terminate an EC2 instance using alarm actions.

You must create at least one stop, terminate, or reboot alarm using either the Amazon EC2 or CloudWatch consoles to create the EC2ActionsAccess IAM role. After this IAM role is created, you can create stop, terminate, or reboot alarms using a command-line interface or API.

", "PutMetricData": "

Publishes metric data points to Amazon CloudWatch. CloudWatch associates the data points with the specified metric. If the specified metric does not exist, CloudWatch creates the metric. When CloudWatch creates a metric, it can take up to fifteen minutes for the metric to appear in calls to ListMetrics.

Each PutMetricData request is limited to 40 KB in size for HTTP POST requests.

Although the Value parameter accepts numbers of type Double, CloudWatch rejects values that are either too small or too large. Values must be in the range of 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2). In addition, special values (for example, NaN, +Infinity, -Infinity) are not supported.

You can use up to 10 dimensions per metric to further clarify what data the metric collects. For more information about specifying dimensions, see Publishing Metrics in the Amazon CloudWatch User Guide.

Data points with time stamps from 24 hours ago or longer can take at least 48 hours to become available for GetMetricStatistics from the time they are submitted.

CloudWatch needs raw data points to calculate percentile statistics. If you publish data using a statistic set instead, you can only retrieve percentile statistics for this data if one of the following conditions is true:

  • The SampleCount value of the statistic set is 1

  • The Min and the Max values of the statistic set are equal

", "SetAlarmState": "

Temporarily sets the state of an alarm for testing purposes. When the updated state differs from the previous value, the action configured for the appropriate state is invoked. For example, if your alarm is configured to send an Amazon SNS message when an alarm is triggered, temporarily changing the alarm state to ALARM sends an SNS message. The alarm returns to its actual state (often within seconds). Because the alarm state change happens quickly, it is typically only visible in the alarm's History tab in the Amazon CloudWatch console or through DescribeAlarmHistory.

" @@ -143,7 +143,7 @@ "DashboardNames$member": null, "GetDashboardInput$DashboardName": "

The name of the dashboard to be described.

", "GetDashboardOutput$DashboardName": "

The name of the dashboard.

", - "PutDashboardInput$DashboardName": "

The name of the dashboard. If a dashboard with this name already exists, this call modifies that dashboard, replacing its current contents. Otherwise, a new dashboard is created. The maximum length is 255, and valid characters are A-Z, a-z, 0-9, \".\", \"-\", and \"_\".

" + "PutDashboardInput$DashboardName": "

The name of the dashboard. If a dashboard with this name already exists, this call modifies that dashboard, replacing its current contents. Otherwise, a new dashboard is created. The maximum length is 255, and valid characters are A-Z, a-z, 0-9, \"-\", and \"_\".

" } }, "DashboardNamePrefix": { @@ -326,7 +326,7 @@ "EvaluateLowSampleCountPercentile": { "base": null, "refs": { - "MetricAlarm$EvaluateLowSampleCountPercentile": "

Used only for alarms based on percentiles. If ignore, the alarm state does not change during periods with too few data points to be statistically significant. If evaluate or this parameter is not used, the alarm will always be evaluated and possibly change state no matter how many data points are available.

", + "MetricAlarm$EvaluateLowSampleCountPercentile": "

Used only for alarms based on percentiles. If ignore, the alarm state does not change during periods with too few data points to be statistically significant. If evaluate or this parameter is not used, the alarm is always evaluated and possibly changes state no matter how many data points are available.

", "PutMetricAlarmInput$EvaluateLowSampleCountPercentile": "

Used only for alarms based on percentiles. If you specify ignore, the alarm state does not change during periods with too few data points to be statistically significant. If you specify evaluate or omit this parameter, the alarm is always evaluated and possibly changes state no matter how many data points are available. For more information, see Percentile-Based CloudWatch Alarms and Low Data Samples.

Valid Values: evaluate | ignore

" } }, @@ -334,7 +334,7 @@ "base": null, "refs": { "MetricAlarm$EvaluationPeriods": "

The number of periods over which data is compared to the specified threshold.

", - "PutMetricAlarmInput$EvaluationPeriods": "

The number of periods over which data is compared to the specified threshold. An alarm's total current evaluation period can be no longer than one day, so this number multiplied by Period must be 86,400 or less.

" + "PutMetricAlarmInput$EvaluationPeriods": "

The number of periods over which data is compared to the specified threshold. An alarm's total current evaluation period can be no longer than one day, so this number multiplied by Period cannot be more than 86,400 seconds.

" } }, "ExtendedStatistic": { @@ -556,9 +556,9 @@ "base": null, "refs": { "DescribeAlarmsForMetricInput$Period": "

The period, in seconds, over which the statistic is applied.

", - "GetMetricStatisticsInput$Period": "

The granularity, in seconds, of the returned data points. A period can be as short as one minute (60 seconds) and must be a multiple of 60.

If the StartTime parameter specifies a time stamp that is greater than 15 days ago, you must specify the period as follows or no data points in that time range is returned:

  • Start time between 15 and 63 days ago - Use a multiple of 300 seconds (5 minutes).

  • Start time greater than 63 days ago - Use a multiple of 3600 seconds (1 hour).

", + "GetMetricStatisticsInput$Period": "

The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a PutMetricData call that includes a StorageResolution of 1 second.

If the StartTime parameter specifies a time stamp that is greater than 3 hours ago, you must specify the period as follows or no data points in that time range is returned:

  • Start time between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).

  • Start time between 15 and 63 days ago - Use a multiple of 300 seconds (5 minutes).

  • Start time greater than 63 days ago - Use a multiple of 3600 seconds (1 hour).

", "MetricAlarm$Period": "

The period, in seconds, over which the statistic is applied.

", - "PutMetricAlarmInput$Period": "

The period, in seconds, over which the specified statistic is applied. An alarm's total current evaluation period can be no longer than one day, so this number multiplied by EvaluationPeriods must be 86,400 or less.

" + "PutMetricAlarmInput$Period": "

The period, in seconds, over which the specified statistic is applied. Valid values are 10, 30, and any multiple of 60.

Be sure to specify 10 or 30 only for metrics that are stored by a PutMetricData call with a StorageResolution of 1. If you specify a Period of 10 or 30 for a metric that does not have sub-minute resolution, the alarm still attempts to gather data at the period rate that you specify. In this case, it does not receive data for the attempts that do not correspond to a one-minute data resolution, and the alarm may often lapse into INSUFFICENT_DATA status. Specifying 10 or 30 also sets this alarm as a high-resolution alarm, which has a higher charge than other alarms. For more information about pricing, see Amazon CloudWatch Pricing.

An alarm's total current evaluation period can be no longer than one day, so Period multiplied by EvaluationPeriods cannot be more than 86,400 seconds.

" } }, "PutDashboardInput": { @@ -671,7 +671,7 @@ "StorageResolution": { "base": null, "refs": { - "MetricDatum$StorageResolution": null + "MetricDatum$StorageResolution": "

Valid values are 1 and 60. Setting this to 1 specifies this metric as a high-resolution metric, so that CloudWatch stores the metric with sub-minute resolution down to one second. Setting this to 60 specifies this metric as a regular-resolution metric, which CloudWatch stores at 1-minute resolution. Currently, high resolution is available only for custom metrics. For more information about high-resolution metrics, see High-Resolution Metrics in the Amazon CloudWatch User Guide.

This field is optional, if you do not specify it the default of 60 is used.

" } }, "Threshold": { @@ -688,7 +688,7 @@ "Datapoint$Timestamp": "

The time stamp used for the data point.

", "DescribeAlarmHistoryInput$StartDate": "

The starting date to retrieve alarm history.

", "DescribeAlarmHistoryInput$EndDate": "

The ending date to retrieve alarm history.

", - "GetMetricStatisticsInput$StartTime": "

The time stamp that determines the first data point to return. Start times are evaluated relative to the time that CloudWatch receives the request.

The value specified is inclusive; results include data points with the specified time stamp. The time stamp must be in ISO 8601 UTC format (for example, 2016-10-03T23:00:00Z).

CloudWatch rounds the specified time stamp as follows:

  • Start time less than 15 days ago - Round down to the nearest whole minute. For example, 12:32:34 is rounded down to 12:32:00.

  • Start time between 15 and 63 days ago - Round down to the nearest 5-minute clock interval. For example, 12:32:34 is rounded down to 12:30:00.

  • Start time greater than 63 days ago - Round down to the nearest 1-hour clock interval. For example, 12:32:34 is rounded down to 12:00:00.

", + "GetMetricStatisticsInput$StartTime": "

The time stamp that determines the first data point to return. Start times are evaluated relative to the time that CloudWatch receives the request.

The value specified is inclusive; results include data points with the specified time stamp. The time stamp must be in ISO 8601 UTC format (for example, 2016-10-03T23:00:00Z).

CloudWatch rounds the specified time stamp as follows:

  • Start time less than 15 days ago - Round down to the nearest whole minute. For example, 12:32:34 is rounded down to 12:32:00.

  • Start time between 15 and 63 days ago - Round down to the nearest 5-minute clock interval. For example, 12:32:34 is rounded down to 12:30:00.

  • Start time greater than 63 days ago - Round down to the nearest 1-hour clock interval. For example, 12:32:34 is rounded down to 12:00:00.

If you set Period to 5, 10, or 30, the start time of your request is rounded down to the nearest time that corresponds to even 5-, 10-, or 30-second divisions of a minute. For example, if you make a query at (HH:mm:ss) 01:05:23 for the previous 10-second period, the start time of your request is rounded down and you receive data from 01:05:10 to 01:05:20. If you make a query at 15:07:17 for the previous 5 minutes of data, using a period of 5 seconds, you receive data timestamped between 15:02:15 and 15:07:15.

", "GetMetricStatisticsInput$EndTime": "

The time stamp that determines the last data point to return.

The value specified is exclusive; results include data points up to the specified time stamp. The time stamp must be in ISO 8601 UTC format (for example, 2016-10-10T23:00:00Z).

", "MetricAlarm$AlarmConfigurationUpdatedTimestamp": "

The time stamp of the last update to the alarm configuration.

", "MetricAlarm$StateUpdatedTimestamp": "

The time stamp of the last update to the alarm state.

", diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/mturk-requester/2017-01-17/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/mturk-requester/2017-01-17/api-2.json index 2751c756f..3d8c2155c 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/mturk-requester/2017-01-17/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/mturk-requester/2017-01-17/api-2.json @@ -629,7 +629,7 @@ "type":"structure", "members":{ "WorkerId":{"shape":"CustomerId"}, - "BonusAmount":{"shape":"NumericValue"}, + "BonusAmount":{"shape":"CurrencyAmount"}, "AssignmentId":{"shape":"EntityId"}, "Reason":{"shape":"String"}, "GrantTime":{"shape":"Timestamp"} @@ -662,7 +662,10 @@ }, "CreateAdditionalAssignmentsForHITRequest":{ "type":"structure", - "required":["HITId"], + "required":[ + "HITId", + "NumberOfAdditionalAssignments" + ], "members":{ "HITId":{"shape":"EntityId"}, "NumberOfAdditionalAssignments":{"shape":"Integer"}, @@ -688,7 +691,7 @@ "AutoApprovalDelayInSeconds":{"shape":"Long"}, "LifetimeInSeconds":{"shape":"Long"}, "AssignmentDurationInSeconds":{"shape":"Long"}, - "Reward":{"shape":"NumericValue"}, + "Reward":{"shape":"CurrencyAmount"}, "Title":{"shape":"String"}, "Keywords":{"shape":"String"}, "Description":{"shape":"String"}, @@ -719,7 +722,7 @@ "members":{ "AutoApprovalDelayInSeconds":{"shape":"Long"}, "AssignmentDurationInSeconds":{"shape":"Long"}, - "Reward":{"shape":"NumericValue"}, + "Reward":{"shape":"CurrencyAmount"}, "Title":{"shape":"String"}, "Keywords":{"shape":"String"}, "Description":{"shape":"String"}, @@ -799,6 +802,10 @@ "members":{ } }, + "CurrencyAmount":{ + "type":"string", + "pattern":"^[0-9]+(\\.)?[0-9]{0,2}$" + }, "CustomerId":{ "type":"string", "max":64, @@ -899,8 +906,8 @@ "GetAccountBalanceResponse":{ "type":"structure", "members":{ - "AvailableBalance":{"shape":"NumericValue"}, - "OnHoldBalance":{"shape":"NumericValue"} + "AvailableBalance":{"shape":"CurrencyAmount"}, + "OnHoldBalance":{"shape":"CurrencyAmount"} } }, "GetAssignmentRequest":{ @@ -991,7 +998,7 @@ "Keywords":{"shape":"String"}, "HITStatus":{"shape":"HITStatus"}, "MaxAssignments":{"shape":"Integer"}, - "Reward":{"shape":"NumericValue"}, + "Reward":{"shape":"CurrencyAmount"}, "AutoApprovalDelayInSeconds":{"shape":"Long"}, "Expiration":{"shape":"Timestamp"}, "AssignmentDurationInSeconds":{"shape":"Long"}, @@ -1005,6 +1012,10 @@ }, "HITLayoutParameter":{ "type":"structure", + "required":[ + "Name", + "Value" + ], "members":{ "Name":{"shape":"String"}, "Value":{"shape":"String"} @@ -1239,7 +1250,9 @@ "type":"structure", "required":[ "Destination", - "Transport" + "Transport", + "Version", + "EventTypes" ], "members":{ "Destination":{"shape":"String"}, @@ -1252,7 +1265,8 @@ "type":"string", "enum":[ "Email", - "SQS" + "SQS", + "SNS" ] }, "NotifyWorkersFailureCode":{ @@ -1293,10 +1307,6 @@ "NotifyWorkersFailureStatuses":{"shape":"NotifyWorkersFailureStatusList"} } }, - "NumericValue":{ - "type":"string", - "pattern":"^[0-9]+(\\.)?[0-9]*$" - }, "PaginationToken":{ "type":"string", "max":255, @@ -1411,7 +1421,10 @@ }, "RejectAssignmentRequest":{ "type":"structure", - "required":["AssignmentId"], + "required":[ + "AssignmentId", + "RequesterFeedback" + ], "members":{ "AssignmentId":{"shape":"EntityId"}, "RequesterFeedback":{"shape":"String"} @@ -1476,6 +1489,7 @@ }, "ReviewPolicy":{ "type":"structure", + "required":["PolicyName"], "members":{ "PolicyName":{"shape":"String"}, "Parameters":{"shape":"PolicyParameterList"} @@ -1526,11 +1540,12 @@ "required":[ "WorkerId", "BonusAmount", - "AssignmentId" + "AssignmentId", + "Reason" ], "members":{ "WorkerId":{"shape":"CustomerId"}, - "BonusAmount":{"shape":"NumericValue"}, + "BonusAmount":{"shape":"CurrencyAmount"}, "AssignmentId":{"shape":"EntityId"}, "Reason":{"shape":"String"}, "UniqueRequestToken":{"shape":"IdempotencyToken"} @@ -1575,7 +1590,10 @@ "TurkErrorCode":{"type":"string"}, "UpdateExpirationForHITRequest":{ "type":"structure", - "required":["HITId"], + "required":[ + "HITId", + "ExpireAt" + ], "members":{ "HITId":{"shape":"EntityId"}, "ExpireAt":{"shape":"Timestamp"} diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/mturk-requester/2017-01-17/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/mturk-requester/2017-01-17/docs-2.json index 5d0b9a551..9f98ce075 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/mturk-requester/2017-01-17/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/mturk-requester/2017-01-17/docs-2.json @@ -202,6 +202,18 @@ "refs": { } }, + "CurrencyAmount": { + "base": "

A string representing a currency amount.

", + "refs": { + "BonusPayment$BonusAmount": null, + "CreateHITRequest$Reward": "

The amount of money the Requester will pay a Worker for successfully completing the HIT.

", + "CreateHITTypeRequest$Reward": "

The amount of money the Requester will pay a Worker for successfully completing the HIT.

", + "GetAccountBalanceResponse$AvailableBalance": null, + "GetAccountBalanceResponse$OnHoldBalance": null, + "HIT$Reward": null, + "SendBonusRequest$BonusAmount": "

The Bonus amount is a US Dollar amount specified using a string (for example, \"5\" represents $5.00 USD and \"101.42\" represents $101.42 USD). Do not include currency symbols or currency codes.

" + } + }, "CustomerId": { "base": null, "refs": { @@ -626,7 +638,7 @@ "NotificationTransport": { "base": null, "refs": { - "NotificationSpecification$Transport": "

The method Amazon Mechanical Turk uses to send the notification. Valid Values: Email | SQS.

" + "NotificationSpecification$Transport": "

The method Amazon Mechanical Turk uses to send the notification. Valid Values: Email | SQS | SNS.

" } }, "NotifyWorkersFailureCode": { @@ -657,18 +669,6 @@ "refs": { } }, - "NumericValue": { - "base": "

A string representing a numeric value.

", - "refs": { - "BonusPayment$BonusAmount": null, - "CreateHITRequest$Reward": "

The amount of money the Requester will pay a Worker for successfully completing the HIT.

", - "CreateHITTypeRequest$Reward": "

The amount of money the Requester will pay a Worker for successfully completing the HIT.

", - "GetAccountBalanceResponse$AvailableBalance": null, - "GetAccountBalanceResponse$OnHoldBalance": null, - "HIT$Reward": null, - "SendBonusRequest$BonusAmount": "

The Bonus amount is a US Dollar amount specified using a string (for example, \"5\" represents $5.00 USD and \"101.42\" represents $101.42 USD). Do not include currency symbols or currency codes.

" - } - }, "PaginationToken": { "base": "

If the previous response was incomplete (because there is more data to retrieve), Amazon Mechanical Turk returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

", "refs": { @@ -954,7 +954,7 @@ "HITLayoutParameter$Name": "

The name of the parameter in the HITLayout.

", "HITLayoutParameter$Value": "

The value substituted for the parameter referenced in the HITLayout.

", "ListQualificationTypesRequest$Query": "

A text query against all of the searchable attributes of Qualification types.

", - "NotificationSpecification$Destination": "

The destination for notification messages. or email notifications (if Transport is Email), this is an email address. For Amazon Simple Queue Service (Amazon SQS) notifications (if Transport is SQS), this is the URL for your Amazon SQS queue.

", + "NotificationSpecification$Destination": "

The target for notification messages. The Destination’s format is determined by the specified Transport:

  • When Transport is Email, the Destination is your email address.

  • When Transport is SQS, the Destination is your queue URL.

  • When Transport is SNS, the Destination is the ARN of your topic.

", "NotificationSpecification$Version": "

The version of the Notification API to use. Valid value is 2006-05-05.

", "NotifyWorkersFailureStatus$NotifyWorkersFailureMessage": "

A message detailing the reason the Worker could not be notified.

", "NotifyWorkersRequest$Subject": "

The subject line of the email message to send. Can include up to 200 characters.

", diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/organizations/2016-11-28/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/organizations/2016-11-28/api-2.json index b1f674e2c..b2addb85c 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/organizations/2016-11-28/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/organizations/2016-11-28/api-2.json @@ -898,7 +898,8 @@ "MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED", "MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED", "ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED", - "MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE" + "MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE", + "MASTER_ACCOUNT_MISSING_CONTACT_INFO" ] }, "CreateAccountFailureReason":{ @@ -1309,6 +1310,10 @@ }, "HandshakeParty":{ "type":"structure", + "required":[ + "Id", + "Type" + ], "members":{ "Id":{"shape":"HandshakePartyId"}, "Type":{"shape":"HandshakePartyType"} diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/organizations/2016-11-28/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/organizations/2016-11-28/docs-2.json index ff05ccab6..009c6eff8 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/organizations/2016-11-28/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/organizations/2016-11-28/docs-2.json @@ -5,12 +5,12 @@ "AcceptHandshake": "

Sends a response to the originator of a handshake agreeing to the action proposed by the handshake request.

This operation can be called only by the following principals when they also have the relevant IAM permissions:

  • Invitation to join or Approve all features request handshakes: only a principal from the member account.

  • Enable all features final confirmation handshake: only a principal from the master account.

    For more information about invitations, see Inviting an AWS Account to Join Your Organization in the AWS Organizations User Guide. For more information about requests to enable all features in the organization, see Enabling All Features in Your Organization in the AWS Organizations User Guide.

After you accept a handshake, it continues to appear in the results of relevant APIs for only 30 days. After that it is deleted.

", "AttachPolicy": "

Attaches a policy to a root, an organizational unit, or an individual account. How the policy affects accounts depends on the type of policy:

  • Service control policy (SCP) - An SCP specifies what permissions can be delegated to users in affected member accounts. The scope of influence for a policy depends on what you attach the policy to:

    • If you attach an SCP to a root, it affects all accounts in the organization.

    • If you attach an SCP to an OU, it affects all accounts in that OU and in any child OUs.

    • If you attach the policy directly to an account, then it affects only that account.

    SCPs essentially are permission \"filters\". When you attach one SCP to a higher level root or OU, and you also attach a different SCP to a child OU or to an account, the child policy can further restrict only the permissions that pass through the parent filter and are available to the child. An SCP that is attached to a child cannot grant a permission that is not already granted by the parent. For example, imagine that the parent SCP allows permissions A, B, C, D, and E. The child SCP allows C, D, E, F, and G. The result is that the accounts affected by the child SCP are allowed to use only C, D, and E. They cannot use A or B because they were filtered out by the child OU. They also cannot use F and G because they were filtered out by the parent OU. They cannot be granted back by the child SCP; child SCPs can only filter the permissions they receive from the parent SCP.

    AWS Organizations attaches a default SCP named \"FullAWSAccess to every root, OU, and account. This default SCP allows all services and actions, enabling any new child OU or account to inherit the permissions of the parent root or OU. If you detach the default policy, you must replace it with a policy that specifies the permissions that you want to allow in that OU or account.

    For more information about how Organizations policies permissions work, see Using Service Control Policies in the AWS Organizations User Guide.

This operation can be called only from the organization's master account.

", "CancelHandshake": "

Cancels a handshake. Canceling a handshake sets the handshake state to CANCELED.

This operation can be called only from the account that originated the handshake. The recipient of the handshake can't cancel it, but can use DeclineHandshake instead. After a handshake is canceled, the recipient can no longer respond to that handshake.

After you cancel a handshake, it continues to appear in the results of relevant APIs for only 30 days. After that it is deleted.

", - "CreateAccount": "

Creates an AWS account that is automatically a member of the organization whose credentials made the request. This is an asynchronous request that AWS performs in the background. If you want to check the status of the request later, you need the OperationId response element from this operation to provide as a parameter to the DescribeCreateAccountStatus operation.

AWS Organizations preconfigures the new member account with a role (named OrganizationAccountAccessRole by default) that grants administrator permissions to the new account. Principals in the master account can assume the role. AWS Organizations clones the company name and address information for the new account from the organization's master account.

For more information about creating accounts, see Creating an AWS Account in Your Organization in the AWS Organizations User Guide.

You cannot remove accounts that are created with this operation from an organization. That also means that you cannot delete an organization that contains an account that is created with this operation.

When you create a member account with this operation, you can choose whether to create the account with the IAM User and Role Access to Billing Information switch enabled. If you enable it, IAM users and roles that have appropriate permissions can view billing information for the account. If you disable this, then only the account root user can access billing information. For information about how to disable this for an account, see Granting Access to Your Billing Information and Tools.

This operation can be called only from the organization's master account.

", + "CreateAccount": "

Creates an AWS account that is automatically a member of the organization whose credentials made the request. This is an asynchronous request that AWS performs in the background. If you want to check the status of the request later, you need the OperationId response element from this operation to provide as a parameter to the DescribeCreateAccountStatus operation.

AWS Organizations preconfigures the new member account with a role (named OrganizationAccountAccessRole by default) that grants administrator permissions to the new account. Principals in the master account can assume the role. AWS Organizations clones the company name and address information for the new account from the organization's master account.

For more information about creating accounts, see Creating an AWS Account in Your Organization in the AWS Organizations User Guide.

When you create an account in an organization using the AWS Organizations console, API, or CLI commands, the information required for the account to operate as a standalone account, such as a payment method and signing the End User Licence Agreement (EULA) is not automatically collected. If you must remove an account from your organization later, you can do so only after you provide the missing information. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

When you create a member account with this operation, you can choose whether to create the account with the IAM User and Role Access to Billing Information switch enabled. If you enable it, IAM users and roles that have appropriate permissions can view billing information for the account. If you disable this, then only the account root user can access billing information. For information about how to disable this for an account, see Granting Access to Your Billing Information and Tools.

This operation can be called only from the organization's master account.

If you get an exception that indicates that you exceeded your account limits for the organization or that you can\"t add an account because your organization is still initializing, please contact AWS Customer Support.

", "CreateOrganization": "

Creates an AWS organization. The account whose user is calling the CreateOrganization operation automatically becomes the master account of the new organization.

This operation must be called using credentials from the account that is to become the new organization's master account. The principal must also have the relevant IAM permissions.

By default (or if you set the FeatureSet parameter to ALL), the new organization is created with all features enabled and service control policies automatically enabled in the root. If you instead choose to create the organization supporting only the consolidated billing features by setting the FeatureSet parameter to CONSOLIDATED_BILLING\", then no policy types are enabled by default and you cannot use organization policies.

", "CreateOrganizationalUnit": "

Creates an organizational unit (OU) within a root or parent OU. An OU is a container for accounts that enables you to organize your accounts to apply policies according to your business requirements. The number of levels deep that you can nest OUs is dependent upon the policy types enabled for that root. For service control policies, the limit is five.

For more information about OUs, see Managing Organizational Units in the AWS Organizations User Guide.

This operation can be called only from the organization's master account.

", "CreatePolicy": "

Creates a policy of a specified type that you can attach to a root, an organizational unit (OU), or an individual AWS account.

For more information about policies and their use, see Managing Organization Policies.

This operation can be called only from the organization's master account.

", "DeclineHandshake": "

Declines a handshake request. This sets the handshake state to DECLINED and effectively deactivates the request.

This operation can be called only from the account that received the handshake. The originator of the handshake can use CancelHandshake instead. The originator can't reactivate a declined request, but can re-initiate the process with a new handshake request.

After you decline a handshake, it continues to appear in the results of relevant APIs for only 30 days. After that it is deleted.

", - "DeleteOrganization": "

Deletes the organization. You can delete an organization only by using credentials from the master account. The organization must be empty of member accounts, OUs, and policies.

If you create any accounts using Organizations operations or the Organizations console, you can't remove those accounts from the organization, which means that you can't delete the organization.

", + "DeleteOrganization": "

Deletes the organization. You can delete an organization only by using credentials from the master account. The organization must be empty of member accounts, OUs, and policies.

", "DeleteOrganizationalUnit": "

Deletes an organizational unit from a root or another OU. You must first remove all accounts and child OUs from the OU that you want to delete.

This operation can be called only from the organization's master account.

", "DeletePolicy": "

Deletes the specified policy from your organization. Before you perform this operation, you must first detach the policy from all OUs, roots, and accounts.

This operation can be called only from the organization's master account.

", "DescribeAccount": "

Retrieves Organizations-related information about the specified account.

This operation can be called only from the organization's master account.

", @@ -20,11 +20,11 @@ "DescribeOrganizationalUnit": "

Retrieves information about an organizational unit (OU).

This operation can be called only from the organization's master account.

", "DescribePolicy": "

Retrieves information about a policy.

This operation can be called only from the organization's master account.

", "DetachPolicy": "

Detaches a policy from a target root, organizational unit, or account. If the policy being detached is a service control policy (SCP), the changes to permissions for IAM users and roles in affected accounts are immediate.

Note: Every root, OU, and account must have at least one SCP attached. If you want to replace the default FullAWSAccess policy with one that limits the permissions that can be delegated, then you must attach the replacement policy before you can remove the default one. This is the authorization strategy of whitelisting. If you instead attach a second SCP and leave the FullAWSAccess SCP still attached, and specify \"Effect\": \"Deny\" in the second SCP to override the \"Effect\": \"Allow\" in the FullAWSAccess policy (or any other attached SCP), then you are using the authorization strategy of blacklisting.

This operation can be called only from the organization's master account.

", - "DisablePolicyType": "

Disables an organizational control policy type in a root. A poicy of a certain type can be attached to entities in a root only if that type is enabled in the root. After you perform this operation, you no longer can attach policies of the specified type to that root or to any OU or account in that root. You can undo this by using the EnablePolicyType operation.

This operation can be called only from the organization's master account.

", + "DisablePolicyType": "

Disables an organizational control policy type in a root. A policy of a certain type can be attached to entities in a root only if that type is enabled in the root. After you perform this operation, you no longer can attach policies of the specified type to that root or to any OU or account in that root. You can undo this by using the EnablePolicyType operation.

This operation can be called only from the organization's master account.

", "EnableAllFeatures": "

Enables all features in an organization. This enables the use of organization policies that can restrict the services and actions that can be called in each account. Until you enable all features, you have access only to consolidated billing, and you can't use any of the advanced account administration features that AWS Organizations supports. For more information, see Enabling All Features in Your Organization in the AWS Organizations User Guide.

This operation is required only for organizations that were created explicitly with only the consolidated billing features enabled, or that were migrated from a Consolidated Billing account family to Organizations. Calling this operation sends a handshake to every invited account in the organization. The feature set change can be finalized and the additional features enabled only after all administrators in the invited accounts approve the change by accepting the handshake.

After all invited member accounts accept the handshake, you finalize the feature set change by accepting the handshake that contains \"Action\": \"ENABLE_ALL_FEATURES\". This completes the change.

After you enable all features in your organization, the master account in the organization can apply policies on all member accounts. These policies can restrict what users and even administrators in those accounts can do. The master account can apply policies that prevent accounts from leaving the organization. Ensure that your account administrators are aware of this.

This operation can be called only from the organization's master account.

", "EnablePolicyType": "

Enables a policy type in a root. After you enable a policy type in a root, you can attach policies of that type to the root, any OU, or account in that root. You can undo this by using the DisablePolicyType operation.

This operation can be called only from the organization's master account.

", - "InviteAccountToOrganization": "

Sends an invitation to another account to join your organization as a member account. Organizations sends email on your behalf to the email address that is associated with the other account's owner. The invitation is implemented as a Handshake whose details are in the response.

You can invite AWS accounts only from the same reseller as the master account. For example, if your organization's master account was created by Amazon Internet Services Pvt. Ltd (AISPL), an AWS reseller in India, then you can only invite other AISPL accounts to your organization. You can't combine accounts from AISPL and AWS. For more information, see Consolidated Billing in India.

This operation can be called only from the organization's master account.

", - "LeaveOrganization": "

Removes a member account from its parent organization. This version of the operation is performed by the account that wants to leave. To remove a member account as a user in the master account, use RemoveAccountFromOrganization instead.

This operation can be called only from a member account in the organization.

  • The master account in an organization with all features enabled can set service control policies (SCPs) that can restrict what administrators of member accounts can do, including preventing them from successfully calling LeaveOrganization and leaving the organization.

  • If you created the account using the AWS Organizations console, the Organizations API, or the Organizations CLI commands, then you cannot remove the account.

  • You can leave an organization only after you enable IAM user access to billing in your account. For more information, see Activating Access to the Billing and Cost Management Console in the AWS Billing and Cost Management User Guide.

", + "InviteAccountToOrganization": "

Sends an invitation to another account to join your organization as a member account. Organizations sends email on your behalf to the email address that is associated with the other account's owner. The invitation is implemented as a Handshake whose details are in the response.

You can invite AWS accounts only from the same seller as the master account. For example, if your organization's master account was created by Amazon Internet Services Pvt. Ltd (AISPL), an AWS seller in India, then you can only invite other AISPL accounts to your organization. You can't combine accounts from AISPL and AWS, or any other AWS seller. For more information, see Consolidated Billing in India.

This operation can be called only from the organization's master account.

If you get an exception that indicates that you exceeded your account limits for the organization or that you can\"t add an account because your organization is still initializing, please contact AWS Customer Support.

", + "LeaveOrganization": "

Removes a member account from its parent organization. This version of the operation is performed by the account that wants to leave. To remove a member account as a user in the master account, use RemoveAccountFromOrganization instead.

This operation can be called only from a member account in the organization.

  • The master account in an organization with all features enabled can set service control policies (SCPs) that can restrict what administrators of member accounts can do, including preventing them from successfully calling LeaveOrganization and leaving the organization.

  • You can leave an organization as a member account only if the account is configured with the information required to operate as a standalone account. When you create an account in an organization using the AWS Organizations console, API, or CLI commands, the information required of standalone accounts is not automatically collected. For each account that you want to make standalone, you must accept the End User License Agreement (EULA), choose a support plan, provide and verify the required contact information, and provide a current payment method. AWS uses the payment method to charge for any billable (not free tier) AWS activity that occurs while the account is not attached to an organization. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • You can leave an organization only after you enable IAM user access to billing in your account. For more information, see Activating Access to the Billing and Cost Management Console in the AWS Billing and Cost Management User Guide.

", "ListAccounts": "

Lists all the accounts in the organization. To request only the accounts in a root or OU, use the ListAccountsForParent operation instead.

This operation can be called only from the organization's master account.

", "ListAccountsForParent": "

Lists the accounts in an organization that are contained by the specified target root or organizational unit (OU). If you specify the root, you get a list of all the accounts that are not in any OU. If you specify an OU, you get a list of all the accounts in only that OU, and not in any child OUs. To get a list of all accounts in the organization, use the ListAccounts operation.

", "ListChildren": "

Lists all of the OUs or accounts that are contained in the specified parent OU or root. This operation, along with ListParents enables you to traverse the tree structure that makes up this root.

", @@ -38,7 +38,7 @@ "ListRoots": "

Lists the roots that are defined in the current organization.

This operation can be called only from the organization's master account.

", "ListTargetsForPolicy": "

Lists all the roots, OUs, and accounts to which the specified policy is attached.

This operation can be called only from the organization's master account.

", "MoveAccount": "

Moves an account from its current source parent root or OU to the specified destination parent root or OU.

This operation can be called only from the organization's master account.

", - "RemoveAccountFromOrganization": "

Removes the specified account from the organization.

The removed account becomes a stand-alone account that is not a member of any organization. It is no longer subject to any policies and is responsible for its own bill payments. The organization's master account is no longer charged for any expenses accrued by the member account after it is removed from the organization.

This operation can be called only from the organization's master account. Member accounts can remove themselves with LeaveOrganization instead.

  • You can remove only accounts that were created outside your organization and invited to join. If you created the account using the AWS Organizations console, the Organizations API, or the Organizations CLI commands, then you cannot remove the account.

  • You can remove a member account only after you enable IAM user access to billing in the member account. For more information, see Activating Access to the Billing and Cost Management Console in the AWS Billing and Cost Management User Guide.

", + "RemoveAccountFromOrganization": "

Removes the specified account from the organization.

The removed account becomes a stand-alone account that is not a member of any organization. It is no longer subject to any policies and is responsible for its own bill payments. The organization's master account is no longer charged for any expenses accrued by the member account after it is removed from the organization.

This operation can be called only from the organization's master account. Member accounts can remove themselves with LeaveOrganization instead.

  • You can remove an account from your organization only if the account is configured with the information required to operate as a standalone account. When you create an account in an organization using the AWS Organizations console, API, or CLI commands, the information required of standalone accounts is not automatically collected. For an account that you want to make standalone, you must accept the End User License Agreement (EULA), choose a support plan, provide and verify the required contact information, and provide a current payment method. AWS uses the payment method to charge for any billable (not free tier) AWS activity that occurs while the account is not attached to an organization. To remove an account that does not yet have this information, you must sign in as the member account and follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • You can remove a member account only after you enable IAM user access to billing in the member account. For more information, see Activating Access to the Billing and Cost Management Console in the AWS Billing and Cost Management User Guide.

", "UpdateOrganizationalUnit": "

Renames the specified organizational unit (OU). The ID and ARN do not change. The child OUs and accounts remain in place, and any attached policies of the OU remain attached.

This operation can be called only from the organization's master account.

", "UpdatePolicy": "

Updates an existing policy with a new name, description, or content. If any parameter is not supplied, that value remains unchanged. Note that you cannot change a policy's type.

This operation can be called only from the organization's master account.

" }, @@ -190,7 +190,7 @@ } }, "ConstraintViolationException": { - "base": "

Performing this operation violates a minimum or maximum value limit. For example, attempting to removing the last SCP from an OU or root, inviting or creating too many accounts to the organization, or attaching too many policies to an account, OU, or root. This exception includes a reason that contains additional information about the violated limit:

  • ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an organization. If you need more accounts, contact AWS Support to request an increase in your limit.

    Or, The number of invitations that you tried to send would cause you to exceed the limit of accounts in your organization. Send fewer invitations, or contact AWS Support to request an increase in the number of accounts.

    Note: deleted and closed accounts still count toward your limit.

  • HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes you can send in one day.

  • OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of organizational units you can have in an organization.

  • OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an organizational unit tree that is too many levels deep.

  • POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of policies that you can have in an organization.

  • MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain type that can be attached to an entity at one time.

  • MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would cause the entity to have fewer than the minimum number of policies of a certain type required.

  • ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account from the organization that does not yet have enough information to exist as a stand-alone account. This account requires you to first agree to the End-User License Agreement (EULA).

  • ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization that does not yet have enough information to exist as a stand-alone account. This account requires you to first complete phone verification.

  • MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this account, you first must associate a payment instrument, such as a credit card, with the account.

  • MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you first must associate a payment instrument, such as a credit card, with the account.

  • ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create in one day.

  • MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first must migrate the organization's master account to the marketplace that corresponds to the master account's address. For example, accounts with India addresses must be associated with the AISPL marketplace. All accounts in an organization must be associated with the same marketplace.

", + "base": "

Performing this operation violates a minimum or maximum value limit. For example, attempting to removing the last SCP from an OU or root, inviting or creating too many accounts to the organization, or attaching too many policies to an account, OU, or root. This exception includes a reason that contains additional information about the violated limit:

  • ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an organization. If you need more accounts, contact AWS Support to request an increase in your limit.

    Or, The number of invitations that you tried to send would cause you to exceed the limit of accounts in your organization. Send fewer invitations, or contact AWS Support to request an increase in the number of accounts.

    Note: deleted and closed accounts still count toward your limit.

    If you get an exception that indicates that you exceeded your account limits for the organization or that you can\"t add an account because your organization is still initializing, please contact AWS Customer Support.

  • HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes you can send in one day.

  • OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of organizational units you can have in an organization.

  • OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an organizational unit tree that is too many levels deep.

  • POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of policies that you can have in an organization.

  • MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain type that can be attached to an entity at one time.

  • MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would cause the entity to have fewer than the minimum number of policies of a certain type required.

  • ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account from the organization that does not yet have enough information to exist as a stand-alone account. This account requires you to first agree to the AWS Customer Agreement. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization that does not yet have enough information to exist as a stand-alone account. This account requires you to first complete phone verification. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this account, you first must associate a payment instrument, such as a credit card, with the account. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you first must associate a payment instrument, such as a credit card, with the account. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create in one day.

  • MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first must migrate the organization's master account to the marketplace that corresponds to the master account's address. For example, accounts with India addresses must be associated with the AISPL marketplace. All accounts in an organization must be associated with the same marketplace.

  • MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide contact a valid address and phone number for the master account. Then try the operation again.

", "refs": { } }, @@ -409,7 +409,7 @@ "base": null, "refs": { "Account$Email": "

The email address associated with the AWS account.

The regex pattern for this parameter is a string of characters that represents a standard Internet email address.

", - "CreateAccountRequest$Email": "

The email address of the owner to assign to the new member account. This email address must not already be associated with another AWS account.

", + "CreateAccountRequest$Email": "

The email address of the owner to assign to the new member account. This email address must not already be associated with another AWS account. You must use a valid email address to complete account creation. You cannot access the root user of the account or remove an account that was created with an invalid email address.

", "Organization$MasterAccountEmail": "

The email address that is associated with the AWS account that is designated as the master account for the organization.

" } }, @@ -516,7 +516,7 @@ } }, "HandshakeConstraintViolationException": { - "base": "

The requested operation would violate the constraint identified in the reason code.

  • ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an organization. Note: deleted and closed accounts still count toward your limit.

  • HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes you can send in one day.

  • ALREADY_IN_AN_ORGANIZATION: The handshake request is invalid because the invited account is already a member of an organization.

  • ORGANIZATION_ALREADY_HAS_ALL_FEATURES: The handshake request is invalid because the organization has already enabled all features.

  • INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES: You cannot issue new invitations to join an organization while it is in the process of enabling all features. You can resume inviting accounts after you finalize the process when all accounts have agreed to the change.

  • PAYMENT_INSTRUMENT_REQUIRED: You cannot complete the operation with an account that does not have a payment instrument, such as a credit card, associated with it.

  • ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD: The request failed because the account is from a different marketplace than the accounts in the organization. For example, accounts with India addresses must be associated with the AISPL marketplace. All accounts in an organization must be from the same marketplace.

  • ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED: You attempted to change the membership of an account too quickly after its previous change.

", + "base": "

The requested operation would violate the constraint identified in the reason code.

  • ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an organization. Note: deleted and closed accounts still count toward your limit.

    If you get an exception that indicates that you exceeded your account limits for the organization or that you can\"t add an account because your organization is still initializing, please contact AWS Customer Support.

  • HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes you can send in one day.

  • ALREADY_IN_AN_ORGANIZATION: The handshake request is invalid because the invited account is already a member of an organization.

  • ORGANIZATION_ALREADY_HAS_ALL_FEATURES: The handshake request is invalid because the organization has already enabled all features.

  • INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES: You cannot issue new invitations to join an organization while it is in the process of enabling all features. You can resume inviting accounts after you finalize the process when all accounts have agreed to the change.

  • PAYMENT_INSTRUMENT_REQUIRED: You cannot complete the operation with an account that does not have a payment instrument, such as a credit card, associated with it.

  • ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD: The request failed because the account is from a different marketplace than the accounts in the organization. For example, accounts with India addresses must be associated with the AISPL marketplace. All accounts in an organization must be from the same marketplace.

  • ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED: You attempted to change the membership of an account too quickly after its previous change.

", "refs": { } }, @@ -565,7 +565,7 @@ "base": "

Identifies a participant in a handshake.

", "refs": { "HandshakeParties$member": null, - "InviteAccountToOrganizationRequest$Target": "

The identifier (ID) of the AWS account that you want to invite to join your organization. This is a JSON object that contains the following elements:

{ \"Type\": \"ACCOUNT\", \"Id\": \"< account id number >\" }

If you use the AWS CLI, you can submit this as a single string, similar to the following example:

--target id=123456789012,type=ACCOUNT

If you specify \"Type\": \"ACCOUNT\", then you must provide the AWS account ID number as the Id. If you specify \"Type\": \"EMAIL\", then you must specify the email address that is associated with the account.

--target id=bill@example.com,type=EMAIL

" + "InviteAccountToOrganizationRequest$Target": "

The identifier (ID) of the AWS account that you want to invite to join your organization. This is a JSON object that contains the following elements:

{ \"Type\": \"ACCOUNT\", \"Id\": \"< account id number >\" }

If you use the AWS CLI, you can submit this as a single string, similar to the following example:

--target Id=123456789012,Type=ACCOUNT

If you specify \"Type\": \"ACCOUNT\", then you must provide the AWS account ID number as the Id. If you specify \"Type\": \"EMAIL\", then you must specify the email address that is associated with the account.

--target Id=bill@example.com,Type=EMAIL

" } }, "HandshakePartyId": { @@ -1119,7 +1119,7 @@ "RootId": { "base": null, "refs": { - "DisablePolicyTypeRequest$RootId": "

The unique identifier (ID) of the root in which you want to disable a policy type. You can get the ID from the ListPolicies operation.

The regex pattern for a root ID string requires \"r-\" followed by from 4 to 32 lower-case letters or digits.

", + "DisablePolicyTypeRequest$RootId": "

The unique identifier (ID) of the root in which you want to disable a policy type. You can get the ID from the ListRoots operation.

The regex pattern for a root ID string requires \"r-\" followed by from 4 to 32 lower-case letters or digits.

", "EnablePolicyTypeRequest$RootId": "

The unique identifier (ID) of the root in which you want to enable a policy type. You can get the ID from the ListRoots operation.

The regex pattern for a root ID string requires \"r-\" followed by from 4 to 32 lower-case letters or digits.

", "Root$Id": "

The unique identifier (ID) for the root.

The regex pattern for a root ID string requires \"r-\" followed by from 4 to 32 lower-case letters or digits.

" } diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/pinpoint/2016-12-01/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/pinpoint/2016-12-01/api-2.json index 18c2d07d8..6a9d11ee1 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/pinpoint/2016-12-01/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/pinpoint/2016-12-01/api-2.json @@ -6,9 +6,37 @@ "serviceFullName" : "Amazon Pinpoint", "signatureVersion":"v4", "protocol" : "rest-json", - "jsonVersion" : "1.1" + "jsonVersion" : "1.1", + "uid":"pinpoint-2016-12-01" }, "operations" : { + "CreateApp" : { + "name" : "CreateApp", + "http" : { + "method" : "POST", + "requestUri" : "/v1/apps", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateAppRequest" + }, + "output" : { + "shape" : "CreateAppResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ] + }, "CreateCampaign" : { "name" : "CreateCampaign", "http" : { @@ -90,6 +118,33 @@ "shape" : "TooManyRequestsException" } ] }, + "DeleteAdmChannel" : { + "name" : "DeleteAdmChannel", + "http" : { + "method" : "DELETE", + "requestUri" : "/v1/apps/{application-id}/channels/adm", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteAdmChannelRequest" + }, + "output" : { + "shape" : "DeleteAdmChannelResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ] + }, "DeleteApnsChannel" : { "name" : "DeleteApnsChannel", "http" : { @@ -144,6 +199,60 @@ "shape" : "TooManyRequestsException" } ] }, + "DeleteApp" : { + "name" : "DeleteApp", + "http" : { + "method" : "DELETE", + "requestUri" : "/v1/apps/{application-id}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteAppRequest" + }, + "output" : { + "shape" : "DeleteAppResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ] + }, + "DeleteBaiduChannel" : { + "name" : "DeleteBaiduChannel", + "http" : { + "method" : "DELETE", + "requestUri" : "/v1/apps/{application-id}/channels/baidu", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteBaiduChannelRequest" + }, + "output" : { + "shape" : "DeleteBaiduChannelResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ] + }, "DeleteCampaign" : { "name" : "DeleteCampaign", "http" : { @@ -306,6 +415,33 @@ "shape" : "TooManyRequestsException" } ] }, + "GetAdmChannel" : { + "name" : "GetAdmChannel", + "http" : { + "method" : "GET", + "requestUri" : "/v1/apps/{application-id}/channels/adm", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetAdmChannelRequest" + }, + "output" : { + "shape" : "GetAdmChannelResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ] + }, "GetApnsChannel" : { "name" : "GetApnsChannel", "http" : { @@ -360,6 +496,33 @@ "shape" : "TooManyRequestsException" } ] }, + "GetApp" : { + "name" : "GetApp", + "http" : { + "method" : "GET", + "requestUri" : "/v1/apps/{application-id}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetAppRequest" + }, + "output" : { + "shape" : "GetAppResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ] + }, "GetApplicationSettings" : { "name" : "GetApplicationSettings", "http" : { @@ -387,6 +550,60 @@ "shape" : "TooManyRequestsException" } ] }, + "GetApps" : { + "name" : "GetApps", + "http" : { + "method" : "GET", + "requestUri" : "/v1/apps", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetAppsRequest" + }, + "output" : { + "shape" : "GetAppsResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ] + }, + "GetBaiduChannel" : { + "name" : "GetBaiduChannel", + "http" : { + "method" : "GET", + "requestUri" : "/v1/apps/{application-id}/channels/baidu", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetBaiduChannelRequest" + }, + "output" : { + "shape" : "GetBaiduChannelResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ] + }, "GetCampaign" : { "name" : "GetCampaign", "http" : { @@ -900,6 +1117,60 @@ "shape" : "TooManyRequestsException" } ] }, + "SendUsersMessages" : { + "name" : "SendUsersMessages", + "http" : { + "method" : "POST", + "requestUri" : "/v1/apps/{application-id}/users-messages", + "responseCode" : 200 + }, + "input" : { + "shape" : "SendUsersMessagesRequest" + }, + "output" : { + "shape" : "SendUsersMessagesResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ] + }, + "UpdateAdmChannel" : { + "name" : "UpdateAdmChannel", + "http" : { + "method" : "PUT", + "requestUri" : "/v1/apps/{application-id}/channels/adm", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateAdmChannelRequest" + }, + "output" : { + "shape" : "UpdateAdmChannelResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ] + }, "UpdateApnsChannel" : { "name" : "UpdateApnsChannel", "http" : { @@ -981,6 +1252,33 @@ "shape" : "TooManyRequestsException" } ] }, + "UpdateBaiduChannel" : { + "name" : "UpdateBaiduChannel", + "http" : { + "method" : "PUT", + "requestUri" : "/v1/apps/{application-id}/channels/baidu", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateBaiduChannelRequest" + }, + "output" : { + "shape" : "UpdateBaiduChannelResponse" + }, + "errors" : [ { + "shape" : "BadRequestException" + }, { + "shape" : "InternalServerErrorException" + }, { + "shape" : "ForbiddenException" + }, { + "shape" : "NotFoundException" + }, { + "shape" : "MethodNotAllowedException" + }, { + "shape" : "TooManyRequestsException" + } ] + }, "UpdateCampaign" : { "name" : "UpdateCampaign", "http" : { @@ -1172,17 +1470,134 @@ } }, "shapes" : { + "ADMChannelRequest" : { + "type" : "structure", + "members" : { + "ClientId" : { + "shape" : "__string" + }, + "ClientSecret" : { + "shape" : "__string" + }, + "Enabled" : { + "shape" : "__boolean" + } + } + }, + "ADMChannelResponse" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string" + }, + "CreationDate" : { + "shape" : "__string" + }, + "Enabled" : { + "shape" : "__boolean" + }, + "Id" : { + "shape" : "__string" + }, + "IsArchived" : { + "shape" : "__boolean" + }, + "LastModifiedBy" : { + "shape" : "__string" + }, + "LastModifiedDate" : { + "shape" : "__string" + }, + "Platform" : { + "shape" : "__string" + }, + "Version" : { + "shape" : "__integer" + } + } + }, + "ADMMessage" : { + "type" : "structure", + "members" : { + "Action" : { + "shape" : "Action" + }, + "Body" : { + "shape" : "__string" + }, + "ConsolidationKey" : { + "shape" : "__string" + }, + "Data" : { + "shape" : "MapOf__string" + }, + "ExpiresAfter" : { + "shape" : "__string" + }, + "IconReference" : { + "shape" : "__string" + }, + "ImageIconUrl" : { + "shape" : "__string" + }, + "ImageUrl" : { + "shape" : "__string" + }, + "JsonData" : { + "shape" : "__string" + }, + "MD5" : { + "shape" : "__string" + }, + "RawContent" : { + "shape" : "__string" + }, + "SilentPush" : { + "shape" : "__boolean" + }, + "SmallImageIconUrl" : { + "shape" : "__string" + }, + "Sound" : { + "shape" : "__string" + }, + "Substitutions" : { + "shape" : "MapOfListOf__string" + }, + "Title" : { + "shape" : "__string" + }, + "Url" : { + "shape" : "__string" + } + } + }, "APNSChannelRequest" : { "type" : "structure", "members" : { + "BundleId" : { + "shape" : "__string" + }, "Certificate" : { "shape" : "__string" }, + "DefaultAuthenticationMethod" : { + "shape" : "__string" + }, "Enabled" : { "shape" : "__boolean" }, "PrivateKey" : { "shape" : "__string" + }, + "TeamId" : { + "shape" : "__string" + }, + "TokenKey" : { + "shape" : "__string" + }, + "TokenKeyId" : { + "shape" : "__string" } } }, @@ -1236,9 +1651,15 @@ "Data" : { "shape" : "MapOf__string" }, + "JsonData" : { + "shape" : "__string" + }, "MediaUrl" : { "shape" : "__string" }, + "PreferredAuthenticationMethod" : { + "shape" : "__string" + }, "RawContent" : { "shape" : "__string" }, @@ -1265,14 +1686,29 @@ "APNSSandboxChannelRequest" : { "type" : "structure", "members" : { + "BundleId" : { + "shape" : "__string" + }, "Certificate" : { "shape" : "__string" }, + "DefaultAuthenticationMethod" : { + "shape" : "__string" + }, "Enabled" : { "shape" : "__boolean" }, "PrivateKey" : { "shape" : "__string" + }, + "TeamId" : { + "shape" : "__string" + }, + "TokenKey" : { + "shape" : "__string" + }, + "TokenKeyId" : { + "shape" : "__string" } } }, @@ -1387,6 +1823,17 @@ } } }, + "ApplicationResponse" : { + "type" : "structure", + "members" : { + "Id" : { + "shape" : "__string" + }, + "Name" : { + "shape" : "__string" + } + } + }, "ApplicationSettingsResource" : { "type" : "structure", "members" : { @@ -1404,6 +1851,17 @@ } } }, + "ApplicationsResponse" : { + "type" : "structure", + "members" : { + "Item" : { + "shape" : "ListOfApplicationResponse" + }, + "NextToken" : { + "shape" : "__string" + } + } + }, "AttributeDimension" : { "type" : "structure", "members" : { @@ -1434,12 +1892,111 @@ "httpStatusCode" : 400 } }, + "BaiduChannelRequest" : { + "type" : "structure", + "members" : { + "ApiKey" : { + "shape" : "__string" + }, + "Enabled" : { + "shape" : "__boolean" + }, + "SecretKey" : { + "shape" : "__string" + } + } + }, + "BaiduChannelResponse" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string" + }, + "CreationDate" : { + "shape" : "__string" + }, + "Credential" : { + "shape" : "__string" + }, + "Enabled" : { + "shape" : "__boolean" + }, + "Id" : { + "shape" : "__string" + }, + "IsArchived" : { + "shape" : "__boolean" + }, + "LastModifiedBy" : { + "shape" : "__string" + }, + "LastModifiedDate" : { + "shape" : "__string" + }, + "Platform" : { + "shape" : "__string" + }, + "Version" : { + "shape" : "__integer" + } + } + }, + "BaiduMessage" : { + "type" : "structure", + "members" : { + "Action" : { + "shape" : "Action" + }, + "Body" : { + "shape" : "__string" + }, + "Data" : { + "shape" : "MapOf__string" + }, + "IconReference" : { + "shape" : "__string" + }, + "ImageIconUrl" : { + "shape" : "__string" + }, + "ImageUrl" : { + "shape" : "__string" + }, + "JsonData" : { + "shape" : "__string" + }, + "RawContent" : { + "shape" : "__string" + }, + "SilentPush" : { + "shape" : "__boolean" + }, + "SmallImageIconUrl" : { + "shape" : "__string" + }, + "Sound" : { + "shape" : "__string" + }, + "Substitutions" : { + "shape" : "MapOfListOf__string" + }, + "Title" : { + "shape" : "__string" + }, + "Url" : { + "shape" : "__string" + } + } + }, "CampaignEmailMessage" : { "type" : "structure", "members" : { "Body" : { "shape" : "__string" }, + "FromAddress" : { + "shape" : "__string" + }, "HtmlBody" : { "shape" : "__string" }, @@ -1454,6 +2011,12 @@ "Daily" : { "shape" : "__integer" }, + "MaximumDuration" : { + "shape" : "__integer" + }, + "MessagesPerSecond" : { + "shape" : "__integer" + }, "Total" : { "shape" : "__integer" } @@ -1560,7 +2123,35 @@ }, "ChannelType" : { "type" : "string", - "enum" : [ "GCM", "APNS", "APNS_SANDBOX", "ADM", "SMS", "EMAIL" ] + "enum" : [ "GCM", "APNS", "APNS_SANDBOX", "ADM", "SMS", "EMAIL", "BAIDU" ] + }, + "CreateAppRequest" : { + "type" : "structure", + "members" : { + "CreateApplicationRequest" : { + "shape" : "CreateApplicationRequest" + } + }, + "required" : [ "CreateApplicationRequest" ], + "payload" : "CreateApplicationRequest" + }, + "CreateAppResponse" : { + "type" : "structure", + "members" : { + "ApplicationResponse" : { + "shape" : "ApplicationResponse" + } + }, + "required" : [ "ApplicationResponse" ], + "payload" : "ApplicationResponse" + }, + "CreateApplicationRequest" : { + "type" : "structure", + "members" : { + "Name" : { + "shape" : "__string" + } + } }, "CreateCampaignRequest" : { "type" : "structure", @@ -1660,6 +2251,9 @@ "Data" : { "shape" : "MapOf__string" }, + "JsonData" : { + "shape" : "__string" + }, "SilentPush" : { "shape" : "__boolean" }, @@ -1674,6 +2268,27 @@ } } }, + "DeleteAdmChannelRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + } + }, + "required" : [ "ApplicationId" ] + }, + "DeleteAdmChannelResponse" : { + "type" : "structure", + "members" : { + "ADMChannelResponse" : { + "shape" : "ADMChannelResponse" + } + }, + "required" : [ "ADMChannelResponse" ], + "payload" : "ADMChannelResponse" + }, "DeleteApnsChannelRequest" : { "type" : "structure", "members" : { @@ -1716,6 +2331,48 @@ "required" : [ "APNSSandboxChannelResponse" ], "payload" : "APNSSandboxChannelResponse" }, + "DeleteAppRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + } + }, + "required" : [ "ApplicationId" ] + }, + "DeleteAppResponse" : { + "type" : "structure", + "members" : { + "ApplicationResponse" : { + "shape" : "ApplicationResponse" + } + }, + "required" : [ "ApplicationResponse" ], + "payload" : "ApplicationResponse" + }, + "DeleteBaiduChannelRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + } + }, + "required" : [ "ApplicationId" ] + }, + "DeleteBaiduChannelResponse" : { + "type" : "structure", + "members" : { + "BaiduChannelResponse" : { + "shape" : "BaiduChannelResponse" + } + }, + "required" : [ "BaiduChannelResponse" ], + "payload" : "BaiduChannelResponse" + }, "DeleteCampaignRequest" : { "type" : "structure", "members" : { @@ -1854,7 +2511,7 @@ }, "DeliveryStatus" : { "type" : "string", - "enum" : [ "SUCCESSFUL", "THROTTLED", "TEMPORARY_FAILURE", "PERMANENT_FAILURE" ] + "enum" : [ "SUCCESSFUL", "THROTTLED", "TEMPORARY_FAILURE", "PERMANENT_FAILURE", "UNKNOWN_FAILURE", "OPT_OUT", "DUPLICATE" ] }, "DimensionType" : { "type" : "string", @@ -1863,15 +2520,24 @@ "DirectMessageConfiguration" : { "type" : "structure", "members" : { + "ADMMessage" : { + "shape" : "ADMMessage" + }, "APNSMessage" : { "shape" : "APNSMessage" }, + "BaiduMessage" : { + "shape" : "BaiduMessage" + }, "DefaultMessage" : { "shape" : "DefaultMessage" }, "DefaultPushNotificationMessage" : { "shape" : "DefaultPushNotificationMessage" }, + "EmailMessage" : { + "shape" : "EmailMessage" + }, "GCMMessage" : { "shape" : "GCMMessage" }, @@ -1942,6 +2608,29 @@ } } }, + "EmailMessage" : { + "type" : "structure", + "members" : { + "Body" : { + "shape" : "__string" + }, + "FromAddress" : { + "shape" : "__string" + }, + "HtmlBody" : { + "shape" : "__string" + }, + "Substitutions" : { + "shape" : "MapOfListOf__string" + }, + "TemplateArn" : { + "shape" : "__string" + }, + "Title" : { + "shape" : "__string" + } + } + }, "EndpointBatchItem" : { "type" : "structure", "members" : { @@ -2043,6 +2732,26 @@ } } }, + "EndpointMessageResult" : { + "type" : "structure", + "members" : { + "Address" : { + "shape" : "__string" + }, + "DeliveryStatus" : { + "shape" : "DeliveryStatus" + }, + "StatusCode" : { + "shape" : "__integer" + }, + "StatusMessage" : { + "shape" : "__string" + }, + "UpdatedToken" : { + "shape" : "__string" + } + } + }, "EndpointRequest" : { "type" : "structure", "members" : { @@ -2134,6 +2843,26 @@ } } }, + "EndpointSendConfiguration" : { + "type" : "structure", + "members" : { + "BodyOverride" : { + "shape" : "__string" + }, + "Context" : { + "shape" : "MapOf__string" + }, + "RawContent" : { + "shape" : "__string" + }, + "Substitutions" : { + "shape" : "MapOfListOf__string" + }, + "TitleOverride" : { + "shape" : "__string" + } + } + }, "EndpointUser" : { "type" : "structure", "members" : { @@ -2261,6 +2990,9 @@ "ImageUrl" : { "shape" : "__string" }, + "JsonData" : { + "shape" : "__string" + }, "RawContent" : { "shape" : "__string" }, @@ -2287,6 +3019,27 @@ } } }, + "GetAdmChannelRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + } + }, + "required" : [ "ApplicationId" ] + }, + "GetAdmChannelResponse" : { + "type" : "structure", + "members" : { + "ADMChannelResponse" : { + "shape" : "ADMChannelResponse" + } + }, + "required" : [ "ADMChannelResponse" ], + "payload" : "ADMChannelResponse" + }, "GetApnsChannelRequest" : { "type" : "structure", "members" : { @@ -2329,6 +3082,27 @@ "required" : [ "APNSSandboxChannelResponse" ], "payload" : "APNSSandboxChannelResponse" }, + "GetAppRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + } + }, + "required" : [ "ApplicationId" ] + }, + "GetAppResponse" : { + "type" : "structure", + "members" : { + "ApplicationResponse" : { + "shape" : "ApplicationResponse" + } + }, + "required" : [ "ApplicationResponse" ], + "payload" : "ApplicationResponse" + }, "GetApplicationSettingsRequest" : { "type" : "structure", "members" : { @@ -2350,6 +3124,52 @@ "required" : [ "ApplicationSettingsResource" ], "payload" : "ApplicationSettingsResource" }, + "GetAppsRequest" : { + "type" : "structure", + "members" : { + "PageSize" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "page-size" + }, + "Token" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "token" + } + } + }, + "GetAppsResponse" : { + "type" : "structure", + "members" : { + "ApplicationsResponse" : { + "shape" : "ApplicationsResponse" + } + }, + "required" : [ "ApplicationsResponse" ], + "payload" : "ApplicationsResponse" + }, + "GetBaiduChannelRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + } + }, + "required" : [ "ApplicationId" ] + }, + "GetBaiduChannelResponse" : { + "type" : "structure", + "members" : { + "BaiduChannelResponse" : { + "shape" : "BaiduChannelResponse" + } + }, + "required" : [ "BaiduChannelResponse" ], + "payload" : "BaiduChannelResponse" + }, "GetCampaignActivitiesRequest" : { "type" : "structure", "members" : { @@ -2975,6 +3795,12 @@ "shape" : "ActivityResponse" } }, + "ListOfApplicationResponse" : { + "type" : "list", + "member" : { + "shape" : "ApplicationResponse" + } + }, "ListOfCampaignResponse" : { "type" : "list", "member" : { @@ -3035,6 +3861,24 @@ "shape" : "AttributeDimension" } }, + "MapOfEndpointMessageResult" : { + "type" : "map", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "EndpointMessageResult" + } + }, + "MapOfEndpointSendConfiguration" : { + "type" : "map", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "EndpointSendConfiguration" + } + }, "MapOfListOf__string" : { "type" : "map", "key" : { @@ -3044,6 +3888,15 @@ "shape" : "ListOf__string" } }, + "MapOfMapOfEndpointMessageResult" : { + "type" : "map", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "MapOfEndpointMessageResult" + } + }, "MapOfMessageResult" : { "type" : "map", "key" : { @@ -3104,6 +3957,9 @@ "MediaUrl" : { "shape" : "__string" }, + "RawContent" : { + "shape" : "__string" + }, "SilentPush" : { "shape" : "__boolean" }, @@ -3152,11 +4008,20 @@ "Addresses" : { "shape" : "MapOfAddressConfiguration" }, + "Campaign" : { + "shape" : "MapOf__string" + }, "Context" : { "shape" : "MapOf__string" }, + "Endpoints" : { + "shape" : "MapOfEndpointSendConfiguration" + }, "MessageConfiguration" : { "shape" : "DirectMessageConfiguration" + }, + "RequestId" : { + "shape" : "__string" } } }, @@ -3166,6 +4031,9 @@ "ApplicationId" : { "shape" : "__string" }, + "EndpointResult" : { + "shape" : "MapOfEndpointMessageResult" + }, "RequestId" : { "shape" : "__string" }, @@ -3284,6 +4152,9 @@ }, "SenderId" : { "shape" : "__string" + }, + "ShortCode" : { + "shape" : "__string" } } }, @@ -3519,6 +4390,62 @@ "required" : [ "MessageResponse" ], "payload" : "MessageResponse" }, + "SendUsersMessageRequest" : { + "type" : "structure", + "members" : { + "Context" : { + "shape" : "MapOf__string" + }, + "MessageConfiguration" : { + "shape" : "DirectMessageConfiguration" + }, + "RequestId" : { + "shape" : "__string" + }, + "Users" : { + "shape" : "MapOfEndpointSendConfiguration" + } + } + }, + "SendUsersMessageResponse" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string" + }, + "RequestId" : { + "shape" : "__string" + }, + "Result" : { + "shape" : "MapOfMapOfEndpointMessageResult" + } + } + }, + "SendUsersMessagesRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + }, + "SendUsersMessageRequest" : { + "shape" : "SendUsersMessageRequest" + } + }, + "required" : [ "ApplicationId", "SendUsersMessageRequest" ], + "payload" : "SendUsersMessageRequest" + }, + "SendUsersMessagesResponse" : { + "type" : "structure", + "members" : { + "SendUsersMessageResponse" : { + "shape" : "SendUsersMessageResponse" + } + }, + "required" : [ "SendUsersMessageResponse" ], + "payload" : "SendUsersMessageResponse" + }, "SetDimension" : { "type" : "structure", "members" : { @@ -3571,6 +4498,31 @@ } } }, + "UpdateAdmChannelRequest" : { + "type" : "structure", + "members" : { + "ADMChannelRequest" : { + "shape" : "ADMChannelRequest" + }, + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + } + }, + "required" : [ "ApplicationId", "ADMChannelRequest" ], + "payload" : "ADMChannelRequest" + }, + "UpdateAdmChannelResponse" : { + "type" : "structure", + "members" : { + "ADMChannelResponse" : { + "shape" : "ADMChannelResponse" + } + }, + "required" : [ "ADMChannelResponse" ], + "payload" : "ADMChannelResponse" + }, "UpdateApnsChannelRequest" : { "type" : "structure", "members" : { @@ -3646,6 +4598,31 @@ "required" : [ "ApplicationSettingsResource" ], "payload" : "ApplicationSettingsResource" }, + "UpdateBaiduChannelRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "application-id" + }, + "BaiduChannelRequest" : { + "shape" : "BaiduChannelRequest" + } + }, + "required" : [ "ApplicationId", "BaiduChannelRequest" ], + "payload" : "BaiduChannelRequest" + }, + "UpdateBaiduChannelResponse" : { + "type" : "structure", + "members" : { + "BaiduChannelResponse" : { + "shape" : "BaiduChannelResponse" + } + }, + "required" : [ "BaiduChannelResponse" ], + "payload" : "BaiduChannelResponse" + }, "UpdateCampaignRequest" : { "type" : "structure", "members" : { @@ -3880,6 +4857,9 @@ "SegmentVersion" : { "shape" : "__integer" }, + "Trace" : { + "shape" : "__boolean" + }, "TreatmentDescription" : { "shape" : "__string" }, @@ -3894,6 +4874,9 @@ "DestinationStreamArn" : { "shape" : "__string" }, + "ExternalId" : { + "shape" : "__string" + }, "RoleArn" : { "shape" : "__string" } diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/pinpoint/2016-12-01/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/pinpoint/2016-12-01/docs-2.json index 269407585..10f3d6056 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/pinpoint/2016-12-01/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/pinpoint/2016-12-01/docs-2.json @@ -2,20 +2,28 @@ "version" : "2.0", "service" : null, "operations" : { + "CreateApp" : "Creates or updates an app.", "CreateCampaign" : "Creates or updates a campaign.", "CreateImportJob" : "Creates or updates an import job.", "CreateSegment" : "Used to create or update a segment.", + "DeleteAdmChannel" : "Delete an ADM channel", "DeleteApnsChannel" : "Deletes the APNs channel for an app.", "DeleteApnsSandboxChannel" : "Delete an APNS sandbox channel", + "DeleteApp" : "Deletes an app.", + "DeleteBaiduChannel" : "Delete a BAIDU GCM channel", "DeleteCampaign" : "Deletes a campaign.", "DeleteEmailChannel" : "Delete an email channel", "DeleteEventStream" : "Deletes the event stream for an app.", "DeleteGcmChannel" : "Deletes the GCM channel for an app.", "DeleteSegment" : "Deletes a segment.", "DeleteSmsChannel" : "Delete an SMS channel", + "GetAdmChannel" : "Get an ADM channel", "GetApnsChannel" : "Returns information about the APNs channel for an app.", "GetApnsSandboxChannel" : "Get an APNS sandbox channel", + "GetApp" : "Returns information about an app.", "GetApplicationSettings" : "Used to request the settings for an app.", + "GetApps" : "Returns information about your apps.", + "GetBaiduChannel" : "Get a BAIDU GCM channel", "GetCampaign" : "Returns information about a campaign.", "GetCampaignActivities" : "Returns information about the activity performed by a campaign.", "GetCampaignVersion" : "Returns information about a specific version of a campaign.", @@ -35,9 +43,12 @@ "GetSmsChannel" : "Get an SMS channel", "PutEventStream" : "Use to create or update the event stream for an app.", "SendMessages" : "Send a batch of messages", + "SendUsersMessages" : "Send a batch of messages to users", + "UpdateAdmChannel" : "Update an ADM channel", "UpdateApnsChannel" : "Use to update the APNs channel for an app.", "UpdateApnsSandboxChannel" : "Update an APNS sandbox channel", "UpdateApplicationSettings" : "Used to update the settings for an app.", + "UpdateBaiduChannel" : "Update a BAIDU GCM channel", "UpdateCampaign" : "Use to update a campaign.", "UpdateEmailChannel" : "Update an email channel", "UpdateEndpoint" : "Use to update an endpoint.", @@ -47,6 +58,20 @@ "UpdateSmsChannel" : "Update an SMS channel" }, "shapes" : { + "ADMChannelRequest" : { + "base" : "Amazon Device Messaging channel definition.", + "refs" : { } + }, + "ADMChannelResponse" : { + "base" : "Amazon Device Messaging channel definition.", + "refs" : { } + }, + "ADMMessage" : { + "base" : "ADM Message.", + "refs" : { + "DirectMessageConfiguration$ADMMessage" : "The message to ADM channels. Overrides the default push notification message." + } + }, "APNSChannelRequest" : { "base" : "Apple Push Notification Service channel definition.", "refs" : { } @@ -72,7 +97,9 @@ "Action" : { "base" : null, "refs" : { + "ADMMessage$Action" : "The action that occurs if the user taps a push notification delivered by the campaign: OPEN_APP - Your app launches, or it becomes the foreground app if it has been sent to the background. This is the default action. DEEP_LINK - Uses deep linking features in iOS and Android to open your app and display a designated user interface within the app. URL - The default mobile browser on the user's device launches and opens a web page at the URL you specify. Possible values include: OPEN_APP | DEEP_LINK | URL", "APNSMessage$Action" : "The action that occurs if the user taps a push notification delivered by the campaign: OPEN_APP - Your app launches, or it becomes the foreground app if it has been sent to the background. This is the default action. DEEP_LINK - Uses deep linking features in iOS and Android to open your app and display a designated user interface within the app. URL - The default mobile browser on the user's device launches and opens a web page at the URL you specify. Possible values include: OPEN_APP | DEEP_LINK | URL", + "BaiduMessage$Action" : "The action that occurs if the user taps a push notification delivered by the campaign: OPEN_APP - Your app launches, or it becomes the foreground app if it has been sent to the background. This is the default action. DEEP_LINK - Uses deep linking features in iOS and Android to open your app and display a designated user interface within the app. URL - The default mobile browser on the user's device launches and opens a web page at the URL you specify. Possible values include: OPEN_APP | DEEP_LINK | URL", "DefaultPushNotificationMessage$Action" : "The action that occurs if the user taps a push notification delivered by the campaign: OPEN_APP - Your app launches, or it becomes the foreground app if it has been sent to the background. This is the default action. DEEP_LINK - Uses deep linking features in iOS and Android to open your app and display a designated user interface within the app. URL - The default mobile browser on the user's device launches and opens a web page at the URL you specify. Possible values include: OPEN_APP | DEEP_LINK | URL", "GCMMessage$Action" : "The action that occurs if the user taps a push notification delivered by the campaign: OPEN_APP - Your app launches, or it becomes the foreground app if it has been sent to the background. This is the default action. DEEP_LINK - Uses deep linking features in iOS and Android to open your app and display a designated user interface within the app. URL - The default mobile browser on the user's device launches and opens a web page at the URL you specify. Possible values include: OPEN_APP | DEEP_LINK | URL", "Message$Action" : "The action that occurs if the user taps a push notification delivered by the campaign:\nOPEN_APP - Your app launches, or it becomes the foreground app if it has been sent to the background. This is the default action.\n\nDEEP_LINK - Uses deep linking features in iOS and Android to open your app and display a designated user interface within the app.\n\nURL - The default mobile browser on the user's device launches and opens a web page at the URL you specify." @@ -94,10 +121,20 @@ "MessageRequest$Addresses" : "A map of destination addresses, with the address as the key(Email address, phone number or push token) and the Address Configuration as the value." } }, + "ApplicationResponse" : { + "base" : "Application Response.", + "refs" : { + "ApplicationsResponse$Item" : "List of applications returned in this page." + } + }, "ApplicationSettingsResource" : { "base" : "Application settings.", "refs" : { } }, + "ApplicationsResponse" : { + "base" : "Get Applications Result.", + "refs" : { } + }, "AttributeDimension" : { "base" : "Custom attibute dimension", "refs" : { @@ -115,6 +152,20 @@ "base" : null, "refs" : { } }, + "BaiduChannelRequest" : { + "base" : "Baidu Cloud Push credentials", + "refs" : { } + }, + "BaiduChannelResponse" : { + "base" : "Baidu Cloud Messaging channel definition", + "refs" : { } + }, + "BaiduMessage" : { + "base" : "Baidu Message.", + "refs" : { + "DirectMessageConfiguration$BaiduMessage" : "The message to Baidu GCM channels. Overrides the default push notification message." + } + }, "CampaignEmailMessage" : { "base" : "The email message configuration.", "refs" : { @@ -163,12 +214,16 @@ "ChannelType" : { "base" : null, "refs" : { - "AddressConfiguration$ChannelType" : "Type of channel of this address", - "EndpointBatchItem$ChannelType" : "The channel type.\n\nValid values: APNS, GCM", - "EndpointRequest$ChannelType" : "The channel type.\n\nValid values: APNS, GCM", - "EndpointResponse$ChannelType" : "The channel type.\n\nValid values: APNS, GCM" + "AddressConfiguration$ChannelType" : "The channel type.\n\nValid values: GCM | APNS | SMS | EMAIL", + "EndpointBatchItem$ChannelType" : "The channel type.\n\nValid values: GCM | APNS | SMS | EMAIL", + "EndpointRequest$ChannelType" : "The channel type.\n\nValid values: GCM | APNS | SMS | EMAIL", + "EndpointResponse$ChannelType" : "The channel type.\n\nValid values: GCM | APNS | SMS | EMAIL" } }, + "CreateApplicationRequest" : { + "base" : "Application Request.", + "refs" : { } + }, "DefaultMessage" : { "base" : "Default Message across push notification, email, and sms.", "refs" : { @@ -184,6 +239,7 @@ "DeliveryStatus" : { "base" : null, "refs" : { + "EndpointMessageResult$DeliveryStatus" : "Delivery status of message.", "MessageResult$DeliveryStatus" : "Delivery status of message." } }, @@ -196,7 +252,8 @@ "DirectMessageConfiguration" : { "base" : "The message configuration.", "refs" : { - "MessageRequest$MessageConfiguration" : "Message configuration." + "MessageRequest$MessageConfiguration" : "Message configuration.", + "SendUsersMessageRequest$MessageConfiguration" : "Message configuration." } }, "Duration" : { @@ -213,6 +270,12 @@ "base" : "Email Channel Response.", "refs" : { } }, + "EmailMessage" : { + "base" : "Email Message.", + "refs" : { + "DirectMessageConfiguration$EmailMessage" : "The message to Email channels. Overrides the default message." + } + }, "EndpointBatchItem" : { "base" : "Endpoint update request", "refs" : { @@ -239,6 +302,13 @@ "EndpointResponse$Location" : "The endpoint location attributes." } }, + "EndpointMessageResult" : { + "base" : "The result from sending a message to an endpoint.", + "refs" : { + "MessageResponse$EndpointResult" : "A map containing a multi part response for each address, with the endpointId as the key and the result as the value.", + "SendUsersMessageResponse$Result" : "A map containing of UserId to Map of EndpointId to Endpoint Message Result." + } + }, "EndpointRequest" : { "base" : "Endpoint update request", "refs" : { } @@ -247,6 +317,13 @@ "base" : "Endpoint response", "refs" : { } }, + "EndpointSendConfiguration" : { + "base" : "Endpoint send configuration.", + "refs" : { + "MessageRequest$Endpoints" : "A map of destination addresses, with the address as the key(Email address, phone number or push token) and the Address Configuration as the value.", + "SendUsersMessageRequest$Users" : "A map of destination endpoints, with the EndpointId as the key Endpoint Message Configuration as the value." + } + }, "EndpointUser" : { "base" : "Endpoint user specific custom userAttributes", "refs" : { @@ -325,6 +402,10 @@ "base" : null, "refs" : { } }, + "ListOfApplicationResponse" : { + "base" : null, + "refs" : { } + }, "ListOfCampaignResponse" : { "base" : null, "refs" : { } @@ -361,10 +442,22 @@ "base" : null, "refs" : { } }, + "MapOfEndpointMessageResult" : { + "base" : null, + "refs" : { } + }, + "MapOfEndpointSendConfiguration" : { + "base" : null, + "refs" : { } + }, "MapOfListOf__string" : { "base" : null, "refs" : { } }, + "MapOfMapOfEndpointMessageResult" : { + "base" : null, + "refs" : { } + }, "MapOfMessageResult" : { "base" : null, "refs" : { } @@ -521,6 +614,14 @@ "base" : "Segments in your account.", "refs" : { } }, + "SendUsersMessageRequest" : { + "base" : "Send message request.", + "refs" : { } + }, + "SendUsersMessageResponse" : { + "base" : "User send message response.", + "refs" : { } + }, "SetDimension" : { "base" : "Dimension specification of a segment.", "refs" : { @@ -568,6 +669,10 @@ "__boolean" : { "base" : null, "refs" : { + "ADMChannelRequest$Enabled" : "If the channel is enabled for sending messages.", + "ADMChannelResponse$Enabled" : "If the channel is enabled for sending messages.", + "ADMChannelResponse$IsArchived" : "Is this channel archived", + "ADMMessage$SilentPush" : "Indicates if the message should display on the users device. Silent pushes can be used for Remote Configuration and Phone Home use cases.", "APNSChannelRequest$Enabled" : "If the channel is enabled for sending messages.", "APNSChannelResponse$Enabled" : "If the channel is enabled for sending messages.", "APNSChannelResponse$IsArchived" : "Is this channel archived", @@ -575,6 +680,10 @@ "APNSSandboxChannelRequest$Enabled" : "If the channel is enabled for sending messages.", "APNSSandboxChannelResponse$Enabled" : "If the channel is enabled for sending messages.", "APNSSandboxChannelResponse$IsArchived" : "Is this channel archived", + "BaiduChannelRequest$Enabled" : "If the channel is enabled for sending messages.", + "BaiduChannelResponse$Enabled" : "If the channel is enabled for sending messages.", + "BaiduChannelResponse$IsArchived" : "Is this channel archived", + "BaiduMessage$SilentPush" : "Indicates if the message should display on the users device. Silent pushes can be used for Remote Configuration and Phone Home use cases.", "CampaignResponse$IsPaused" : "Indicates whether the campaign is paused. A paused campaign does not send messages unless you resume it by setting IsPaused to false.", "DefaultPushNotificationMessage$SilentPush" : "Indicates if the message should display on the users device. Silent pushes can be used for Remote Configuration and Phone Home use cases.", "EmailChannelRequest$Enabled" : "If the channel is enabled for sending messages.", @@ -593,7 +702,8 @@ "SMSChannelResponse$Enabled" : "If the channel is enabled for sending messages.", "SMSChannelResponse$IsArchived" : "Is this channel archived", "Schedule$IsLocalTime" : "Indicates whether the campaign schedule takes effect according to each user's local time.", - "WriteCampaignRequest$IsPaused" : "Indicates whether the campaign is paused. A paused campaign does not send messages unless you resume it by setting IsPaused to false." + "WriteCampaignRequest$IsPaused" : "Indicates whether the campaign is paused. A paused campaign does not send messages unless you resume it by setting IsPaused to false.", + "WriteCampaignRequest$Trace" : "Whether or not to enable trace logging for the campaign. Undocumented" } }, "__double" : { @@ -606,6 +716,7 @@ "__integer" : { "base" : null, "refs" : { + "ADMChannelResponse$Version" : "Version of channel", "APNSChannelResponse$Version" : "Version of channel", "APNSMessage$Badge" : "Include this key when you want the system to modify the badge of your app icon. If this key is not included in the dictionary, the badge is not changed. To remove the badge, set the value of this key to 0.", "APNSSandboxChannelResponse$Version" : "Version of channel", @@ -613,12 +724,16 @@ "ActivityResponse$TimezonesCompletedCount" : "The total number of timezones completed.", "ActivityResponse$TimezonesTotalCount" : "The total number of unique timezones present in the segment.", "ActivityResponse$TotalEndpointCount" : "The total number of endpoints to which the campaign attempts to deliver messages.", + "BaiduChannelResponse$Version" : "Version of channel", "CampaignLimits$Daily" : "The maximum number of messages that the campaign can send daily.", + "CampaignLimits$MaximumDuration" : "The maximum duration of a campaign from the scheduled start. Must be a minimum of 60 seconds.", + "CampaignLimits$MessagesPerSecond" : "The maximum number of messages per second that the campaign will send. This is a best effort maximum cap and can go as high as 20000 and as low as 50", "CampaignLimits$Total" : "The maximum total number of messages that the campaign can send.", "CampaignResponse$HoldoutPercent" : "The allocated percentage of end users who will not receive messages from this campaign.", "CampaignResponse$SegmentVersion" : "The version of the segment to which the campaign sends messages.", "CampaignResponse$Version" : "The campaign version number.", "EmailChannelResponse$Version" : "Version of channel", + "EndpointMessageResult$StatusCode" : "Downstream service status code.", "GCMChannelResponse$Version" : "Version of channel", "ImportJobResponse$CompletedPieces" : "The number of pieces that have successfully imported as of the time of the request.", "ImportJobResponse$FailedPieces" : "The number of pieces that have failed to import as of the time of the request.", @@ -638,30 +753,63 @@ "__string" : { "base" : null, "refs" : { + "ADMChannelRequest$ClientId" : "Client ID as gotten from Amazon", + "ADMChannelRequest$ClientSecret" : "Client secret as gotten from Amazon", + "ADMChannelResponse$ApplicationId" : "Application id", + "ADMChannelResponse$CreationDate" : "When was this segment created", + "ADMChannelResponse$Id" : "Channel ID. Not used, only for backwards compatibility.", + "ADMChannelResponse$LastModifiedBy" : "Who last updated this entry", + "ADMChannelResponse$LastModifiedDate" : "Last date this was updated", + "ADMChannelResponse$Platform" : "Platform type. Will be \"ADM\"", + "ADMMessage$Body" : "The message body of the notification, the email body or the text message.", + "ADMMessage$ConsolidationKey" : "Optional. Arbitrary string used to indicate multiple messages are logically the same and that ADM is allowed to drop previously enqueued messages in favor of this one.", + "ADMMessage$ExpiresAfter" : "Optional. Number of seconds ADM should retain the message if the device is offline", + "ADMMessage$IconReference" : "The icon image name of the asset saved in your application.", + "ADMMessage$ImageIconUrl" : "The URL that points to an image used as the large icon to the notification content view.", + "ADMMessage$ImageUrl" : "The URL that points to an image used in the push notification.", + "ADMMessage$JsonData" : "The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object", + "ADMMessage$MD5" : "Optional. Base-64-encoded MD5 checksum of the data parameter. Used to verify data integrity", + "ADMMessage$RawContent" : "The Raw JSON formatted string to be used as the payload. This value overrides the message.", + "ADMMessage$SmallImageIconUrl" : "The URL that points to an image used as the small icon for the notification which will be used to represent the notification in the status bar and content view", + "ADMMessage$Sound" : "Indicates a sound to play when the device receives the notification. Supports default, or the filename of a sound resource bundled in the app. Android sound files must reside in /res/raw/", + "ADMMessage$Title" : "The message title that displays above the message on the user's device.", + "ADMMessage$Url" : "The URL to open in the user's mobile browser. Used if the value for Action is URL.", + "APNSChannelRequest$BundleId" : "The bundle id used for APNs Tokens.", "APNSChannelRequest$Certificate" : "The distribution certificate from Apple.", + "APNSChannelRequest$DefaultAuthenticationMethod" : "The default authentication method used for APNs.", "APNSChannelRequest$PrivateKey" : "The certificate private key.", + "APNSChannelRequest$TeamId" : "The team id used for APNs Tokens.", + "APNSChannelRequest$TokenKey" : "The token key used for APNs Tokens.", + "APNSChannelRequest$TokenKeyId" : "The token key used for APNs Tokens.", "APNSChannelResponse$ApplicationId" : "The ID of the application to which the channel applies.", "APNSChannelResponse$CreationDate" : "When was this segment created", - "APNSChannelResponse$Id" : "Channel ID. Not used, only for backwards compatibility.", + "APNSChannelResponse$Id" : "Channel ID. Not used. Present only for backwards compatibility.", "APNSChannelResponse$LastModifiedBy" : "Who last updated this entry", "APNSChannelResponse$LastModifiedDate" : "Last date this was updated", "APNSChannelResponse$Platform" : "The platform type. Will be APNS.", "APNSMessage$Body" : "The message body of the notification, the email body or the text message.", "APNSMessage$Category" : "Provide this key with a string value that represents the notification's type. This value corresponds to the value in the identifier property of one of your app's registered categories.", + "APNSMessage$JsonData" : "The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object", "APNSMessage$MediaUrl" : "The URL that points to a video used in the push notification.", + "APNSMessage$PreferredAuthenticationMethod" : "The preferred authentication method, either \"CERTIFICATE\" or \"TOKEN\"", "APNSMessage$RawContent" : "The Raw JSON formatted string to be used as the payload. This value overrides the message.", "APNSMessage$Sound" : "Include this key when you want the system to play a sound. The value of this key is the name of a sound file in your app's main bundle or in the Library/Sounds folder of your app's data container. If the sound file cannot be found, or if you specify defaultfor the value, the system plays the default alert sound.", "APNSMessage$ThreadId" : "Provide this key with a string value that represents the app-specific identifier for grouping notifications. If you provide a Notification Content app extension, you can use this value to group your notifications together.", "APNSMessage$Title" : "The message title that displays above the message on the user's device.", "APNSMessage$Url" : "The URL to open in the user's mobile browser. Used if the value for Action is URL.", + "APNSSandboxChannelRequest$BundleId" : "The bundle id used for APNs Tokens.", "APNSSandboxChannelRequest$Certificate" : "The distribution certificate from Apple.", + "APNSSandboxChannelRequest$DefaultAuthenticationMethod" : "The default authentication method used for APNs.", "APNSSandboxChannelRequest$PrivateKey" : "The certificate private key.", + "APNSSandboxChannelRequest$TeamId" : "The team id used for APNs Tokens.", + "APNSSandboxChannelRequest$TokenKey" : "The token key used for APNs Tokens.", + "APNSSandboxChannelRequest$TokenKeyId" : "The token key used for APNs Tokens.", "APNSSandboxChannelResponse$ApplicationId" : "Application id", "APNSSandboxChannelResponse$CreationDate" : "When was this segment created", "APNSSandboxChannelResponse$Id" : "Channel ID. Not used, only for backwards compatibility.", "APNSSandboxChannelResponse$LastModifiedBy" : "Who last updated this entry", "APNSSandboxChannelResponse$LastModifiedDate" : "Last date this was updated", - "APNSSandboxChannelResponse$Platform" : "The platform type. Will be APNS.", + "APNSSandboxChannelResponse$Platform" : "The platform type. Will be APNS_SANDBOX.", "ActivityResponse$ApplicationId" : "The ID of the application to which the campaign applies.", "ActivityResponse$CampaignId" : "The ID of the campaign to which the activity applies.", "ActivityResponse$End" : "The actual time the activity was marked CANCELLED or COMPLETED. Provided in ISO 8601 format.", @@ -674,9 +822,32 @@ "AddressConfiguration$BodyOverride" : "Body override. If specified will override default body.", "AddressConfiguration$RawContent" : "The Raw JSON formatted string to be used as the payload. This value overrides the message.", "AddressConfiguration$TitleOverride" : "Title override. If specified will override default title if applicable.", + "ApplicationResponse$Id" : "The unique application ID.", + "ApplicationResponse$Name" : "The display name of the application.", "ApplicationSettingsResource$ApplicationId" : "The unique ID for the application.", "ApplicationSettingsResource$LastModifiedDate" : "The date that the settings were last updated in ISO 8601 format.", + "ApplicationsResponse$NextToken" : "The string that you use in a subsequent request to get the next page of results in a paginated response.", + "BaiduChannelRequest$ApiKey" : "Platform credential API key from Baidu.", + "BaiduChannelRequest$SecretKey" : "Platform credential Secret key from Baidu.", + "BaiduChannelResponse$ApplicationId" : "Application id", + "BaiduChannelResponse$CreationDate" : "When was this segment created", + "BaiduChannelResponse$Credential" : "The Baidu API key from Baidu.", + "BaiduChannelResponse$Id" : "Channel ID. Not used, only for backwards compatibility.", + "BaiduChannelResponse$LastModifiedBy" : "Who made the last change", + "BaiduChannelResponse$LastModifiedDate" : "Last date this was updated", + "BaiduChannelResponse$Platform" : "The platform type. Will be BAIDU", + "BaiduMessage$Body" : "The message body of the notification, the email body or the text message.", + "BaiduMessage$IconReference" : "The icon image name of the asset saved in your application.", + "BaiduMessage$ImageIconUrl" : "The URL that points to an image used as the large icon to the notification content view.", + "BaiduMessage$ImageUrl" : "The URL that points to an image used in the push notification.", + "BaiduMessage$JsonData" : "The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object", + "BaiduMessage$RawContent" : "The Raw JSON formatted string to be used as the payload. This value overrides the message.", + "BaiduMessage$SmallImageIconUrl" : "The URL that points to an image used as the small icon for the notification which will be used to represent the notification in the status bar and content view", + "BaiduMessage$Sound" : "Indicates a sound to play when the device receives the notification. Supports default, or the filename of a sound resource bundled in the app. Android sound files must reside in /res/raw/", + "BaiduMessage$Title" : "The message title that displays above the message on the user's device.", + "BaiduMessage$Url" : "The URL to open in the user's mobile browser. Used if the value for Action is URL.", "CampaignEmailMessage$Body" : "The email text body.", + "CampaignEmailMessage$FromAddress" : "The email address used to send the email from. Defaults to use FromAddress specified in the Email Channel.", "CampaignEmailMessage$HtmlBody" : "The email html body.", "CampaignEmailMessage$Title" : "The email title (Or subject).", "CampaignResponse$ApplicationId" : "The ID of the application to which the campaign applies.", @@ -691,14 +862,16 @@ "CampaignSmsMessage$Body" : "The SMS text body.", "CampaignSmsMessage$SenderId" : "Sender ID of sent message.", "CampaignsResponse$NextToken" : "The string that you use in a subsequent request to get the next page of results in a paginated response.", + "CreateApplicationRequest$Name" : "The display name of the application. Used in the Amazon Pinpoint console.", "DefaultMessage$Body" : "The message body of the notification, the email body or the text message.", "DefaultPushNotificationMessage$Body" : "The message body of the notification, the email body or the text message.", + "DefaultPushNotificationMessage$JsonData" : "The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object", "DefaultPushNotificationMessage$Title" : "The message title that displays above the message on the user's device.", "DefaultPushNotificationMessage$Url" : "The URL to open in the user's mobile browser. Used if the value for Action is URL.", "EmailChannelRequest$FromAddress" : "The email address used to send emails from.", "EmailChannelRequest$Identity" : "The ARN of an identity verified with SES.", "EmailChannelRequest$RoleArn" : "The ARN of an IAM Role used to submit events to Mobile Analytics' event ingestion service", - "EmailChannelResponse$ApplicationId" : "Application id", + "EmailChannelResponse$ApplicationId" : "The unique ID of the application to which the email channel belongs.", "EmailChannelResponse$CreationDate" : "The date that the settings were last updated in ISO 8601 format.", "EmailChannelResponse$FromAddress" : "The email address used to send emails from.", "EmailChannelResponse$Id" : "Channel ID. Not used, only for backwards compatibility.", @@ -707,11 +880,16 @@ "EmailChannelResponse$LastModifiedDate" : "Last date this was updated", "EmailChannelResponse$Platform" : "Platform type. Will be \"EMAIL\"", "EmailChannelResponse$RoleArn" : "The ARN of an IAM Role used to submit events to Mobile Analytics' event ingestion service", + "EmailMessage$Body" : "The message body of the notification, the email body or the text message.", + "EmailMessage$FromAddress" : "The email address used to send the email from. Defaults to use FromAddress specified in the Email Channel.", + "EmailMessage$HtmlBody" : "The HTML part of the email.", + "EmailMessage$TemplateArn" : "The ARN of the template to use for the email.", + "EmailMessage$Title" : "The subject of the email.", "EndpointBatchItem$Address" : "The address or token of the endpoint as provided by your push provider (e.g. DeviceToken or RegistrationId).", "EndpointBatchItem$EffectiveDate" : "The last time the endpoint was updated. Provided in ISO 8601 format.", "EndpointBatchItem$EndpointStatus" : "The endpoint status. Can be either ACTIVE or INACTIVE. Will be set to INACTIVE if a delivery fails. Will be set to ACTIVE if the address is updated.", "EndpointBatchItem$Id" : "The unique Id for the Endpoint in the batch.", - "EndpointBatchItem$OptOut" : "Indicates whether a user has opted out of receiving messages with one of the following values:\n\nALL – User receives all messages.\nNONE – User receives no messages.", + "EndpointBatchItem$OptOut" : "Indicates whether a user has opted out of receiving messages with one of the following values:\n\nALL - User has opted out of all messages.\n\nNONE - Users has not opted out and receives all messages.", "EndpointBatchItem$RequestId" : "The unique ID for the most recent request to update the endpoint.", "EndpointDemographic$AppVersion" : "The version of the application associated with the endpoint.", "EndpointDemographic$Locale" : "The endpoint locale in the following format: The ISO 639-1 alpha-2 code, followed by an underscore, followed by an ISO 3166-1 alpha-2 value.\n", @@ -725,10 +903,13 @@ "EndpointLocation$Country" : "Country according to ISO 3166-1 Alpha-2 codes. For example, US.", "EndpointLocation$PostalCode" : "The postal code or zip code of the endpoint.", "EndpointLocation$Region" : "The region of the endpoint location. For example, corresponds to a state in US.", + "EndpointMessageResult$Address" : "Address that endpoint message was delivered to.", + "EndpointMessageResult$StatusMessage" : "Status message for message delivery.", + "EndpointMessageResult$UpdatedToken" : "If token was updated as part of delivery. (This is GCM Specific)", "EndpointRequest$Address" : "The address or token of the endpoint as provided by your push provider (e.g. DeviceToken or RegistrationId).", "EndpointRequest$EffectiveDate" : "The last time the endpoint was updated. Provided in ISO 8601 format.", "EndpointRequest$EndpointStatus" : "The endpoint status. Can be either ACTIVE or INACTIVE. Will be set to INACTIVE if a delivery fails. Will be set to ACTIVE if the address is updated.", - "EndpointRequest$OptOut" : "Indicates whether a user has opted out of receiving messages with one of the following values:\n\nALL – User receives all messages.\nNONE – User receives no messages.", + "EndpointRequest$OptOut" : "Indicates whether a user has opted out of receiving messages with one of the following values:\n\nALL - User has opted out of all messages.\n\nNONE - Users has not opted out and receives all messages.", "EndpointRequest$RequestId" : "The unique ID for the most recent request to update the endpoint.", "EndpointResponse$Address" : "The address or token of the endpoint as provided by your push provider (e.g. DeviceToken or RegistrationId).", "EndpointResponse$ApplicationId" : "The ID of the application associated with the endpoint.", @@ -737,8 +918,12 @@ "EndpointResponse$EffectiveDate" : "The last time the endpoint was updated. Provided in ISO 8601 format.", "EndpointResponse$EndpointStatus" : "The endpoint status. Can be either ACTIVE or INACTIVE. Will be set to INACTIVE if a delivery fails. Will be set to ACTIVE if the address is updated.", "EndpointResponse$Id" : "The unique ID that you assigned to the endpoint. The ID should be a globally unique identifier (GUID) to ensure that it is unique compared to all other endpoints for the application.", - "EndpointResponse$OptOut" : "Indicates whether a user has opted out of receiving messages with one of the following values:\n\nALL – User receives all messages.\nNONE – User receives no messages.", + "EndpointResponse$OptOut" : "Indicates whether a user has opted out of receiving messages with one of the following values:\n\nALL - User has opted out of all messages.\n\nNONE - Users has not opted out and receives all messages.", "EndpointResponse$RequestId" : "The unique ID for the most recent request to update the endpoint.", + "EndpointResponse$ShardId" : "The ShardId of endpoint.", + "EndpointSendConfiguration$BodyOverride" : "Body override. If specified will override default body.", + "EndpointSendConfiguration$RawContent" : "The Raw JSON formatted string to be used as the payload. This value overrides the message.", + "EndpointSendConfiguration$TitleOverride" : "Title override. If specified will override default title if applicable.", "EndpointUser$UserId" : "The unique ID of the user.", "EventStream$ApplicationId" : "The ID of the application from which events should be published.", "EventStream$DestinationStreamArn" : "The Amazon Resource Name (ARN) of the Amazon Kinesis stream or Firehose delivery stream to which you want to publish events.\n Firehose ARN: arn:aws:firehose:REGION:ACCOUNT_ID:deliverystream/STREAM_NAME\n Kinesis ARN: arn:aws:kinesis:REGION:ACCOUNT_ID:stream/STREAM_NAME", @@ -750,7 +935,7 @@ "GCMChannelResponse$ApplicationId" : "The ID of the application to which the channel applies.", "GCMChannelResponse$CreationDate" : "When was this segment created", "GCMChannelResponse$Credential" : "The GCM API key from Google.", - "GCMChannelResponse$Id" : "Channel ID. Not used, only for backwards compatibility.", + "GCMChannelResponse$Id" : "Channel ID. Not used. Present only for backwards compatibility.", "GCMChannelResponse$LastModifiedBy" : "Who last updated this entry", "GCMChannelResponse$LastModifiedDate" : "Last date this was updated", "GCMChannelResponse$Platform" : "The platform type. Will be GCM", @@ -759,6 +944,7 @@ "GCMMessage$IconReference" : "The icon image name of the asset saved in your application.", "GCMMessage$ImageIconUrl" : "The URL that points to an image used as the large icon to the notification content view.", "GCMMessage$ImageUrl" : "The URL that points to an image used in the push notification.", + "GCMMessage$JsonData" : "The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object", "GCMMessage$RawContent" : "The Raw JSON formatted string to be used as the payload. This value overrides the message.", "GCMMessage$RestrictedPackageName" : "This parameter specifies the package name of the application where the registration tokens must match in order to receive the message.", "GCMMessage$SmallImageIconUrl" : "The URL that points to an image used as the small icon for the notification which will be used to represent the notification in the status bar and content view", @@ -787,10 +973,12 @@ "Message$ImageUrl" : "The URL that points to an image used in the push notification.", "Message$JsonBody" : "The JSON payload used for a silent push.", "Message$MediaUrl" : "The URL that points to the media resource, for example a .mp4 or .gif file.", + "Message$RawContent" : "The Raw JSON formatted string to be used as the payload. This value overrides the message.", "Message$Title" : "The message title that displays above the message on the user's device.", "Message$Url" : "The URL to open in the user's mobile browser. Used if the value for Action is URL.", "MessageBody$Message" : "The error message returned from the API.", "MessageBody$RequestID" : "The unique message body ID.", + "MessageRequest$RequestId" : "Original request Id for which this message is delivered.", "MessageResponse$ApplicationId" : "Application id of the message.", "MessageResponse$RequestId" : "Original request Id for which this message was delivered.", "MessageResult$StatusMessage" : "Status message for message delivery.", @@ -798,7 +986,8 @@ "QuietTime$End" : "The default end time for quiet time in ISO 8601 format.", "QuietTime$Start" : "The default start time for quiet time in ISO 8601 format.", "SMSChannelRequest$SenderId" : "Sender identifier of your messages.", - "SMSChannelResponse$ApplicationId" : "Application id", + "SMSChannelRequest$ShortCode" : "ShortCode registered with phone provider.", + "SMSChannelResponse$ApplicationId" : "The unique ID of the application to which the SMS channel belongs.", "SMSChannelResponse$CreationDate" : "The date that the settings were last updated in ISO 8601 format.", "SMSChannelResponse$Id" : "Channel ID. Not used, only for backwards compatibility.", "SMSChannelResponse$LastModifiedBy" : "Who last updated this entry", @@ -820,6 +1009,9 @@ "SegmentResponse$LastModifiedDate" : "The date the segment was last updated in ISO 8601 format.", "SegmentResponse$Name" : "The name of segment", "SegmentsResponse$NextToken" : "An identifier used to retrieve the next page of results. The token is null if no additional pages exist.", + "SendUsersMessageRequest$RequestId" : "Original request Id for which this message is delivered.", + "SendUsersMessageResponse$ApplicationId" : "Application id of the message.", + "SendUsersMessageResponse$RequestId" : "Original request Id for which this message was delivered.", "TreatmentResource$Id" : "The unique treatment ID.", "TreatmentResource$TreatmentDescription" : "A custom description for the treatment.", "TreatmentResource$TreatmentName" : "The custom name of a variation of the campaign used for A/B testing.", @@ -829,14 +1021,11 @@ "WriteCampaignRequest$TreatmentDescription" : "A custom description for the treatment.", "WriteCampaignRequest$TreatmentName" : "The custom name of a variation of the campaign used for A/B testing.", "WriteEventStream$DestinationStreamArn" : "The Amazon Resource Name (ARN) of the Amazon Kinesis stream or Firehose delivery stream to which you want to publish events.\n Firehose ARN: arn:aws:firehose:REGION:ACCOUNT_ID:deliverystream/STREAM_NAME\n Kinesis ARN: arn:aws:kinesis:REGION:ACCOUNT_ID:stream/STREAM_NAME", + "WriteEventStream$ExternalId" : "The external ID assigned the IAM role that authorizes Amazon Pinpoint to publish to the stream.", "WriteEventStream$RoleArn" : "The IAM role that authorizes Amazon Pinpoint to publish events to the stream in your account.", "WriteSegmentRequest$Name" : "The name of segment", "WriteTreatmentResource$TreatmentDescription" : "A custom description for the treatment.", - "WriteTreatmentResource$TreatmentName" : "The custom name of a variation of the campaign used for A/B testing.", - "PutEventStreamRequest$ApplicationId": "Application Id.", - "PutEventStreamRequest$WriteEventStream": "Write event stream wrapper.", - "GetEventStreamRequest$ApplicationId": "Application Id.", - "DeleteEventStreamRequest$ApplicationId": "Application Id." + "WriteTreatmentResource$TreatmentName" : "The custom name of a variation of the campaign used for A/B testing." } } } diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/rds/2014-10-31/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/rds/2014-10-31/api-2.json index 1f0041163..64144feb2 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/rds/2014-10-31/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/rds/2014-10-31/api-2.json @@ -1983,7 +1983,9 @@ "DomainIAMRoleName":{"shape":"String"}, "PromotionTier":{"shape":"IntegerOptional"}, "Timezone":{"shape":"String"}, - "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"} + "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"}, + "EnablePerformanceInsights":{"shape":"BooleanOptional"}, + "PerformanceInsightsKMSKeyId":{"shape":"String"} } }, "CreateDBInstanceReadReplicaMessage":{ @@ -2010,7 +2012,9 @@ "MonitoringRoleArn":{"shape":"String"}, "KmsKeyId":{"shape":"String"}, "PreSignedUrl":{"shape":"String"}, - "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"} + "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"}, + "EnablePerformanceInsights":{"shape":"BooleanOptional"}, + "PerformanceInsightsKMSKeyId":{"shape":"String"} } }, "CreateDBInstanceReadReplicaResult":{ @@ -2522,7 +2526,9 @@ "PromotionTier":{"shape":"IntegerOptional"}, "DBInstanceArn":{"shape":"String"}, "Timezone":{"shape":"String"}, - "IAMDatabaseAuthenticationEnabled":{"shape":"Boolean"} + "IAMDatabaseAuthenticationEnabled":{"shape":"Boolean"}, + "PerformanceInsightsEnabled":{"shape":"BooleanOptional"}, + "PerformanceInsightsKMSKeyId":{"shape":"String"} }, "wrapper":true }, @@ -3952,7 +3958,9 @@ "MonitoringRoleArn":{"shape":"String"}, "DomainIAMRoleName":{"shape":"String"}, "PromotionTier":{"shape":"IntegerOptional"}, - "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"} + "EnableIAMDatabaseAuthentication":{"shape":"BooleanOptional"}, + "EnablePerformanceInsights":{"shape":"BooleanOptional"}, + "PerformanceInsightsKMSKeyId":{"shape":"String"} } }, "ModifyDBInstanceResult":{ @@ -3996,7 +4004,8 @@ "required":["DBSnapshotIdentifier"], "members":{ "DBSnapshotIdentifier":{"shape":"String"}, - "EngineVersion":{"shape":"String"} + "EngineVersion":{"shape":"String"}, + "OptionGroupName":{"shape":"String"} } }, "ModifyDBSnapshotResult":{ @@ -4153,6 +4162,9 @@ "OptionsConflictsWith":{"shape":"OptionsConflictsWith"}, "Persistent":{"shape":"Boolean"}, "Permanent":{"shape":"Boolean"}, + "RequiresAutoMinorEngineVersionUpgrade":{"shape":"Boolean"}, + "VpcOnly":{"shape":"Boolean"}, + "SupportsOptionVersionDowngrade":{"shape":"BooleanOptional"}, "OptionGroupOptionSettings":{"shape":"OptionGroupOptionSettingsList"}, "OptionGroupOptionVersions":{"shape":"OptionGroupOptionVersionsList"} } @@ -4296,7 +4308,8 @@ "StorageType":{"shape":"String"}, "SupportsIops":{"shape":"Boolean"}, "SupportsEnhancedMonitoring":{"shape":"Boolean"}, - "SupportsIAMDatabaseAuthentication":{"shape":"Boolean"} + "SupportsIAMDatabaseAuthentication":{"shape":"Boolean"}, + "SupportsPerformanceInsights":{"shape":"Boolean"} }, "wrapper":true }, diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/rds/2014-10-31/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/rds/2014-10-31/docs-2.json index 9d1654890..09cdcc63a 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/rds/2014-10-31/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/rds/2014-10-31/docs-2.json @@ -6,27 +6,27 @@ "AddSourceIdentifierToSubscription": "

Adds a source identifier to an existing RDS event notification subscription.

", "AddTagsToResource": "

Adds metadata tags to an Amazon RDS resource. These tags can also be used with cost allocation reporting to track cost associated with Amazon RDS resources, or used in a Condition statement in an IAM policy for Amazon RDS.

For an overview on tagging Amazon RDS resources, see Tagging Amazon RDS Resources.

", "ApplyPendingMaintenanceAction": "

Applies a pending maintenance action to a resource (for example, to a DB instance).

", - "AuthorizeDBSecurityGroupIngress": "

Enables ingress to a DBSecurityGroup using one of two forms of authorization. First, EC2 or VPC security groups can be added to the DBSecurityGroup if the application using the database is running on EC2 or VPC instances. Second, IP ranges are available if the application accessing your database is running on the Internet. Required parameters for this API are one of CIDR range, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId for non-VPC).

You cannot authorize ingress from an EC2 security group in one region to an Amazon RDS DB instance in another. You cannot authorize ingress from a VPC security group in one VPC to an Amazon RDS DB instance in another.

For an overview of CIDR ranges, go to the Wikipedia Tutorial.

", + "AuthorizeDBSecurityGroupIngress": "

Enables ingress to a DBSecurityGroup using one of two forms of authorization. First, EC2 or VPC security groups can be added to the DBSecurityGroup if the application using the database is running on EC2 or VPC instances. Second, IP ranges are available if the application accessing your database is running on the Internet. Required parameters for this API are one of CIDR range, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId for non-VPC).

You cannot authorize ingress from an EC2 security group in one AWS Region to an Amazon RDS DB instance in another. You cannot authorize ingress from a VPC security group in one VPC to an Amazon RDS DB instance in another.

For an overview of CIDR ranges, go to the Wikipedia Tutorial.

", "CopyDBClusterParameterGroup": "

Copies the specified DB cluster parameter group.

", - "CopyDBClusterSnapshot": "

Copies a snapshot of a DB cluster.

To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.

You can copy an encrypted DB cluster snapshot from another AWS region. In that case, the region where you call the CopyDBClusterSnapshot action is the destination region for the encrypted DB cluster snapshot to be copied to. To copy an encrypted DB cluster snapshot from another region, you must provide the following values:

  • KmsKeyId - The AWS Key Management System (KMS) key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination region.

  • PreSignedUrl - A URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot action to be called in the source region where the DB cluster snapshot will be copied from. The pre-signed URL must be a valid request for the CopyDBClusterSnapshot API action that can be executed in the source region that contains the encrypted DB cluster snapshot to be copied.

    The pre-signed URL request must contain the following parameter values:

    • KmsKeyId - The KMS key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination region. This is the same identifier for both the CopyDBClusterSnapshot action that is called in the destination region, and the action contained in the pre-signed URL.

    • DestinationRegion - The name of the region that the DB cluster snapshot will be created in.

    • SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source region. For example, if you are copying an encrypted DB cluster snapshot from the us-west-2 region, then your SourceDBClusterSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.

    To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

  • TargetDBClusterSnapshotIdentifier - The identifier for the new copy of the DB cluster snapshot in the destination region.

  • SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the ARN format for the source region and is the same value as the SourceDBClusterSnapshotIdentifier in the pre-signed URL.

To cancel the copy operation once it is in progress, delete the target DB cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that DB cluster snapshot is in \"copying\" status.

For more information on copying encrypted DB cluster snapshots from one region to another, see Copying a DB Cluster Snapshot in the Same Account, Either in the Same Region or Across Regions in the Amazon RDS User Guide.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", + "CopyDBClusterSnapshot": "

Copies a snapshot of a DB cluster.

To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.

You can copy an encrypted DB cluster snapshot from another AWS Region. In that case, the AWS Region where you call the CopyDBClusterSnapshot action is the destination AWS Region for the encrypted DB cluster snapshot to be copied to. To copy an encrypted DB cluster snapshot from another AWS Region, you must provide the following values:

  • KmsKeyId - The AWS Key Management System (KMS) key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region.

  • PreSignedUrl - A URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot action to be called in the source AWS Region where the DB cluster snapshot will be copied from. The pre-signed URL must be a valid request for the CopyDBClusterSnapshot API action that can be executed in the source AWS Region that contains the encrypted DB cluster snapshot to be copied.

    The pre-signed URL request must contain the following parameter values:

    • KmsKeyId - The KMS key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region. This is the same identifier for both the CopyDBClusterSnapshot action that is called in the destination AWS Region, and the action contained in the pre-signed URL.

    • DestinationRegion - The name of the AWS Region that the DB cluster snapshot will be created in.

    • SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB cluster snapshot from the us-west-2 region, then your SourceDBClusterSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.

    To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

  • TargetDBClusterSnapshotIdentifier - The identifier for the new copy of the DB cluster snapshot in the destination AWS Region.

  • SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the ARN format for the source AWS Region and is the same value as the SourceDBClusterSnapshotIdentifier in the pre-signed URL.

To cancel the copy operation once it is in progress, delete the target DB cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that DB cluster snapshot is in \"copying\" status.

For more information on copying encrypted DB cluster snapshots from one AWS Region to another, see Copying a DB Cluster Snapshot in the Same Account, Either in the Same Region or Across Regions in the Amazon RDS User Guide.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", "CopyDBParameterGroup": "

Copies the specified DB parameter group.

", - "CopyDBSnapshot": "

Copies the specified DB snapshot. The source DB snapshot must be in the \"available\" state.

You can copy a snapshot from one AWS region to another. In that case, the region where you call the CopyDBSnapshot action is the destination region for the DB snapshot copy.

You cannot copy an encrypted, shared DB snapshot from one AWS region to another.

For more information about copying snapshots, see Copying a DB Snapshot in the Amazon RDS User Guide.

", + "CopyDBSnapshot": "

Copies the specified DB snapshot. The source DB snapshot must be in the \"available\" state.

You can copy a snapshot from one AWS Region to another. In that case, the AWS Region where you call the CopyDBSnapshot action is the destination AWS Region for the DB snapshot copy.

You cannot copy an encrypted, shared DB snapshot from one AWS Region to another.

For more information about copying snapshots, see Copying a DB Snapshot in the Amazon RDS User Guide.

", "CopyOptionGroup": "

Copies the specified option group.

", "CreateDBCluster": "

Creates a new Amazon Aurora DB cluster.

You can use the ReplicationSourceIdentifier parameter to create the DB cluster as a Read Replica of another DB cluster or Amazon RDS MySQL DB instance. For cross-region replication where the DB cluster identified by ReplicationSourceIdentifier is encrypted, you must also specify the PreSignedUrl parameter.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", "CreateDBClusterParameterGroup": "

Creates a new DB cluster parameter group.

Parameters in a DB cluster parameter group apply to all of the instances in a DB cluster.

A DB cluster parameter group is initially created with the default parameters for the database engine used by instances in the DB cluster. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBClusterParameterGroup. Once you've created a DB cluster parameter group, you need to associate it with your DB cluster using ModifyDBCluster. When you associate a new DB cluster parameter group with a running DB cluster, you need to reboot the DB instances in the DB cluster without failover for the new DB cluster parameter group and associated settings to take effect.

After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the DB cluster parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBClusterParameters command to verify that your DB cluster parameter group has been created or modified.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", "CreateDBClusterSnapshot": "

Creates a snapshot of a DB cluster. For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", "CreateDBInstance": "

Creates a new DB instance.

", - "CreateDBInstanceReadReplica": "

Creates a DB instance for a DB instance running MySQL, MariaDB, or PostgreSQL that acts as a Read Replica of a source DB instance.

Amazon Aurora does not support this action. You must call the CreateDBInstance action to create a DB instance for an Aurora DB cluster.

All Read Replica DB instances are created as Single-AZ deployments with backups disabled. All other DB instance attributes (including DB security groups and DB parameter groups) are inherited from the source DB instance, except as specified below.

The source DB instance must have backup retention enabled.

You can create an encrypted Read Replica in a different AWS Region than the source DB instance. In that case, the region where you call the CreateDBInstanceReadReplica action is the destination region of the encrypted Read Replica. The source DB instance must be encrypted.

To create an encrypted Read Replica in another AWS Region, you must provide the following values:

  • KmsKeyId - The AWS Key Management System (KMS) key identifier for the key to use to encrypt the Read Replica in the destination region.

  • PreSignedUrl - A URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica API action in the AWS region that contains the source DB instance. The PreSignedUrl parameter must be used when encrypting a Read Replica from another AWS region.

    The presigned URL must be a valid request for the CreateDBInstanceReadReplica API action that can be executed in the source region that contains the encrypted DB instance. The presigned URL request must contain the following parameter values:

    • DestinationRegion - The AWS Region that the Read Replica is created in. This region is the same one where the CreateDBInstanceReadReplica action is called that contains this presigned URL.

      For example, if you create an encrypted Read Replica in the us-east-1 region, and the source DB instance is in the west-2 region, then you call the CreateDBInstanceReadReplica action in the us-east-1 region and provide a presigned URL that contains a call to the CreateDBInstanceReadReplica action in the us-west-2 region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 region.

    • KmsKeyId - The KMS key identifier for the key to use to encrypt the Read Replica in the destination region. This is the same identifier for both the CreateDBInstanceReadReplica action that is called in the destination region, and the action contained in the presigned URL.

    • SourceDBInstanceIdentifier - The DB instance identifier for the encrypted Read Replica to be created. This identifier must be in the Amazon Resource Name (ARN) format for the source region. For example, if you create an encrypted Read Replica from a DB instance in the us-west-2 region, then your SourceDBInstanceIdentifier would look like this example: arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-instance-20161115.

    To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

  • DBInstanceIdentifier - The identifier for the encrypted Read Replica in the destination region.

  • SourceDBInstanceIdentifier - The DB instance identifier for the encrypted Read Replica. This identifier must be in the ARN format for the source region and is the same value as the SourceDBInstanceIdentifier in the presigned URL.

", + "CreateDBInstanceReadReplica": "

Creates a new DB instance that acts as a Read Replica for an existing source DB instance. You can create a Read Replica for a DB instance running MySQL, MariaDB, or PostgreSQL.

Amazon Aurora does not support this action. You must call the CreateDBInstance action to create a DB instance for an Aurora DB cluster.

All Read Replica DB instances are created as Single-AZ deployments with backups disabled. All other DB instance attributes (including DB security groups and DB parameter groups) are inherited from the source DB instance, except as specified below.

The source DB instance must have backup retention enabled.

For more information, see Working with PostgreSQL, MySQL, and MariaDB Read Replicas.

", "CreateDBParameterGroup": "

Creates a new DB parameter group.

A DB parameter group is initially created with the default parameters for the database engine used by the DB instance. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBParameterGroup. Once you've created a DB parameter group, you need to associate it with your DB instance using ModifyDBInstance. When you associate a new DB parameter group with a running DB instance, you need to reboot the DB instance without failover for the new DB parameter group and associated settings to take effect.

After you create a DB parameter group, you should wait at least 5 minutes before creating your first DB instance that uses that DB parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the parameter group is used as the default for a new DB instance. This is especially important for parameters that are critical when creating the default database for a DB instance, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBParameters command to verify that your DB parameter group has been created or modified.

", "CreateDBSecurityGroup": "

Creates a new DB security group. DB security groups control access to a DB instance.

", "CreateDBSnapshot": "

Creates a DBSnapshot. The source DBInstance must be in \"available\" state.

", - "CreateDBSubnetGroup": "

Creates a new DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the region.

", + "CreateDBSubnetGroup": "

Creates a new DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the AWS Region.

", "CreateEventSubscription": "

Creates an RDS event notification subscription. This action requires a topic ARN (Amazon Resource Name) created by either the RDS console, the SNS console, or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon SNS and subscribe to the topic. The ARN is displayed in the SNS console.

You can specify the type of source (SourceType) you want to be notified of, provide a list of RDS sources (SourceIds) that triggers the events, and provide a list of event categories (EventCategories) for events you want to be notified of. For example, you can specify SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 and EventCategories = Availability, Backup.

If you specify both the SourceType and SourceIds, such as SourceType = db-instance and SourceIdentifier = myDBInstance1, you will be notified of all the db-instance events for the specified source. If you specify a SourceType but do not specify a SourceIdentifier, you will receive notice of the events for that source type for all your RDS sources. If you do not specify either the SourceType nor the SourceIdentifier, you will be notified of events generated from all RDS sources belonging to your customer account.

", "CreateOptionGroup": "

Creates a new option group. You can create up to 20 option groups.

", "DeleteDBCluster": "

The DeleteDBCluster action deletes a previously provisioned DB cluster. When you delete a DB cluster, all automated backups for that DB cluster are deleted and cannot be recovered. Manual DB cluster snapshots of the specified DB cluster are not deleted.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", "DeleteDBClusterParameterGroup": "

Deletes a specified DB cluster parameter group. The DB cluster parameter group to be deleted cannot be associated with any DB clusters.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", "DeleteDBClusterSnapshot": "

Deletes a DB cluster snapshot. If the snapshot is being copied, the copy operation is terminated.

The DB cluster snapshot must be in the available state to be deleted.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", - "DeleteDBInstance": "

The DeleteDBInstance action deletes a previously provisioned DB instance. When you delete a DB instance, all automated backups for that instance are deleted and cannot be recovered. Manual DB snapshots of the DB instance to be deleted by DeleteDBInstance are not deleted.

If you request a final DB snapshot the status of the Amazon RDS DB instance is deleting until the DB snapshot is created. The API action DescribeDBInstance is used to monitor the status of this operation. The action cannot be canceled or reverted once submitted.

Note that when a DB instance is in a failure state and has a status of failed, incompatible-restore, or incompatible-network, you can only delete it when the SkipFinalSnapshot parameter is set to true.

If the specified DB instance is part of an Amazon Aurora DB cluster, you cannot delete the DB instance if the following are true:

  • The DB cluster is a Read Replica of another Amazon Aurora DB cluster.

  • The DB instance is the only instance in the DB cluster.

To delete a DB instance in this case, first call the PromoteReadReplicaDBCluster API action to promote the DB cluster so it's no longer a Read Replica. After the promotion completes, then call the DeleteDBInstance API action to delete the final instance in the DB cluster.

", + "DeleteDBInstance": "

The DeleteDBInstance action deletes a previously provisioned DB instance. When you delete a DB instance, all automated backups for that instance are deleted and cannot be recovered. Manual DB snapshots of the DB instance to be deleted by DeleteDBInstance are not deleted.

If you request a final DB snapshot the status of the Amazon RDS DB instance is deleting until the DB snapshot is created. The API action DescribeDBInstance is used to monitor the status of this operation. The action cannot be canceled or reverted once submitted.

Note that when a DB instance is in a failure state and has a status of failed, incompatible-restore, or incompatible-network, you can only delete it when the SkipFinalSnapshot parameter is set to true.

If the specified DB instance is part of an Amazon Aurora DB cluster, you cannot delete the DB instance if both of the following conditions are true:

  • The DB cluster is a Read Replica of another Amazon Aurora DB cluster.

  • The DB instance is the only instance in the DB cluster.

To delete a DB instance in this case, first call the PromoteReadReplicaDBCluster API action to promote the DB cluster so it's no longer a Read Replica. After the promotion completes, then call the DeleteDBInstance API action to delete the final instance in the DB cluster.

", "DeleteDBParameterGroup": "

Deletes a specified DBParameterGroup. The DBParameterGroup to be deleted cannot be associated with any DB instances.

", "DeleteDBSecurityGroup": "

Deletes a DB security group.

The specified DB security group must not be associated with any DB instances.

", "DeleteDBSnapshot": "

Deletes a DBSnapshot. If the snapshot is being copied, the copy operation is terminated.

The DBSnapshot must be in the available state to be deleted.

", @@ -60,7 +60,7 @@ "DescribePendingMaintenanceActions": "

Returns a list of resources (for example, DB instances) that have at least one pending maintenance action.

", "DescribeReservedDBInstances": "

Returns information about reserved DB instances for this account, or about a specified reserved DB instance.

", "DescribeReservedDBInstancesOfferings": "

Lists available reserved DB instance offerings.

", - "DescribeSourceRegions": "

Returns a list of the source AWS regions where the current AWS region can create a Read Replica or copy a DB snapshot from. This API action supports pagination.

", + "DescribeSourceRegions": "

Returns a list of the source AWS regions where the current AWS Region can create a Read Replica or copy a DB snapshot from. This API action supports pagination.

", "DownloadDBLogFilePortion": "

Downloads all or a portion of the specified log file, up to 1 MB in size.

", "FailoverDBCluster": "

Forces a failover for a DB cluster.

A failover for a DB cluster promotes one of the Aurora Replicas (read-only instances) in the DB cluster to be the primary instance (the cluster writer).

Amazon Aurora will automatically fail over to an Aurora Replica, if one exists, when the primary instance fails. You can force a failover when you want to simulate a failure of a primary instance for testing. Because each instance in a DB cluster has its own endpoint address, you will need to clean up and re-establish any existing connections that use those endpoint addresses when the failover is complete.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", "ListTagsForResource": "

Lists all tags on an Amazon RDS resource.

For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS Resources.

", @@ -69,9 +69,9 @@ "ModifyDBClusterSnapshotAttribute": "

Adds an attribute and values to, or removes an attribute and values from, a manual DB cluster snapshot.

To share a manual DB cluster snapshot with other AWS accounts, specify restore as the AttributeName and use the ValuesToAdd parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB cluster snapshot. Use the value all to make the manual DB cluster snapshot public, which means that it can be copied or restored by all AWS accounts. Do not add the all value for any manual DB cluster snapshots that contain private information that you don't want available to all AWS accounts. If a manual DB cluster snapshot is encrypted, it can be shared, but only by specifying a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't use all as a value for that parameter in this case.

To view which AWS accounts have access to copy or restore a manual DB cluster snapshot, or whether a manual DB cluster snapshot public or private, use the DescribeDBClusterSnapshotAttributes API action.

", "ModifyDBInstance": "

Modifies settings for a DB instance. You can change one or more database configuration parameters by specifying these parameters and the new values in the request.

", "ModifyDBParameterGroup": "

Modifies the parameters of a DB parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB instance associated with the parameter group before the change can take effect.

After you modify a DB parameter group, you should wait at least 5 minutes before creating your first DB instance that uses that DB parameter group as the default parameter group. This allows Amazon RDS to fully complete the modify action before the parameter group is used as the default for a new DB instance. This is especially important for parameters that are critical when creating the default database for a DB instance, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBParameters command to verify that your DB parameter group has been created or modified.

", - "ModifyDBSnapshot": "

Updates a manual DB snapshot, which can be encrypted or not encrypted, with a new engine version. You can update the engine version to either a new major or minor engine version.

Amazon RDS supports upgrading a MySQL DB snapshot from MySQL 5.1 to MySQL 5.5.

", + "ModifyDBSnapshot": "

Updates a manual DB snapshot, which can be encrypted or not encrypted, with a new engine version.

Amazon RDS supports upgrading DB snapshots for MySQL and Oracle.

", "ModifyDBSnapshotAttribute": "

Adds an attribute and values to, or removes an attribute and values from, a manual DB snapshot.

To share a manual DB snapshot with other AWS accounts, specify restore as the AttributeName and use the ValuesToAdd parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB snapshot. Uses the value all to make the manual DB snapshot public, which means it can be copied or restored by all AWS accounts. Do not add the all value for any manual DB snapshots that contain private information that you don't want available to all AWS accounts. If the manual DB snapshot is encrypted, it can be shared, but only by specifying a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't use all as a value for that parameter in this case.

To view which AWS accounts have access to copy or restore a manual DB snapshot, or whether a manual DB snapshot public or private, use the DescribeDBSnapshotAttributes API action.

", - "ModifyDBSubnetGroup": "

Modifies an existing DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the region.

", + "ModifyDBSubnetGroup": "

Modifies an existing DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the AWS Region.

", "ModifyEventSubscription": "

Modifies an existing RDS event notification subscription. Note that you cannot modify the source identifiers using this call; to change source identifiers for a subscription, use the AddSourceIdentifierToSubscription and RemoveSourceIdentifierFromSubscription calls.

You can see a list of the event categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action.

", "ModifyOptionGroup": "

Modifies an existing option group.

", "PromoteReadReplica": "

Promotes a Read Replica DB instance to a standalone DB instance.

We recommend that you enable automated backups on your Read Replica before promoting the Read Replica. This ensures that no backup is taken during the promotion process. Once the instance is promoted to a primary instance, backups are taken based on your backup settings.

", @@ -84,8 +84,8 @@ "ResetDBClusterParameterGroup": "

Modifies the parameters of a DB cluster parameter group to the default value. To reset specific parameters submit a list of the following: ParameterName and ApplyMethod. To reset the entire DB cluster parameter group, specify the DBClusterParameterGroupName and ResetAllParameters parameters.

When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request. You must call RebootDBInstance for every DB instance in your DB cluster that you want the updated static parameter to apply to.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", "ResetDBParameterGroup": "

Modifies the parameters of a DB parameter group to the engine/system default value. To reset specific parameters, provide a list of the following: ParameterName and ApplyMethod. To reset the entire DB parameter group, specify the DBParameterGroup name and ResetAllParameters parameters. When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request.

", "RestoreDBClusterFromS3": "

Creates an Amazon Aurora DB cluster from data stored in an Amazon S3 bucket. Amazon RDS must be authorized to access the Amazon S3 bucket and the data must be created using the Percona XtraBackup utility as described in Migrating Data from MySQL by Using an Amazon S3 Bucket.

", - "RestoreDBClusterFromSnapshot": "

Creates a new DB cluster from a DB cluster snapshot. The target DB cluster is created from the source DB cluster restore point with the same configuration as the original source DB cluster, except that the new DB cluster is created with the default security group.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", - "RestoreDBClusterToPointInTime": "

Restores a DB cluster to an arbitrary point in time. Users can restore to any point in time before LatestRestorableTime for up to BackupRetentionPeriod days. The target DB cluster is created from the source DB cluster with the same configuration as the original DB cluster, except that the new DB cluster is created with the default DB security group.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", + "RestoreDBClusterFromSnapshot": "

Creates a new DB cluster from a DB snapshot or DB cluster snapshot.

If a DB snapshot is specified, the target DB cluster is created from the source DB snapshot with a default configuration and default security group.

If a DB cluster snapshot is specified, the target DB cluster is created from the source DB cluster restore point with the same configuration as the original source DB cluster, except that the new DB cluster is created with the default security group.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", + "RestoreDBClusterToPointInTime": "

Restores a DB cluster to an arbitrary point in time. Users can restore to any point in time before LatestRestorableTime for up to BackupRetentionPeriod days. The target DB cluster is created from the source DB cluster with the same configuration as the original DB cluster, except that the new DB cluster is created with the default DB security group.

This action only restores the DB cluster, not the DB instances for that DB cluster. You must invoke the CreateDBInstance action to create DB instances for the restored DB cluster, specifying the identifier of the restored DB cluster in DBClusterIdentifier. You can create DB instances only after the RestoreDBClusterToPointInTime action has completed and the DB cluster is available.

For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

", "RestoreDBInstanceFromDBSnapshot": "

Creates a new DB instance from a DB snapshot. The target database is created from the source database restore point with the most of original configuration with the default security group and the default DB parameter group. By default, the new DB instance is created as a single-AZ deployment except when the instance is a SQL Server instance that has an option group that is associated with mirroring; in this case, the instance becomes a mirrored AZ deployment and not a single-AZ deployment.

If your intent is to replace your original DB instance with the new, restored DB instance, then rename your original DB instance before you call the RestoreDBInstanceFromDBSnapshot action. RDS does not allow two DB instances with the same name. Once you have renamed your original DB instance with a different identifier, then you can pass the original name of the DB instance as the DBInstanceIdentifier in the call to the RestoreDBInstanceFromDBSnapshot action. The result is that you will replace the original DB instance with the DB instance created from the snapshot.

If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier must be the ARN of the shared DB snapshot.

", "RestoreDBInstanceToPointInTime": "

Restores a DB instance to an arbitrary point in time. You can restore to any point in time before the time identified by the LatestRestorableTime property. You can restore to a point up to the number of days specified by the BackupRetentionPeriod property.

The target database is created with most of the original configuration, but in a system-selected availability zone, with the default security group, the default subnet group, and the default DB parameter group. By default, the new DB instance is created as a single-AZ deployment except when the instance is a SQL Server instance that has an option group that is associated with mirroring; in this case, the instance becomes a mirrored deployment and not a single-AZ deployment.

", "RevokeDBSecurityGroupIngress": "

Revokes ingress from a DBSecurityGroup for previously authorized IP ranges or EC2 or VPC Security Groups. Required parameters for this API are one of CIDRIP, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId).

", @@ -242,6 +242,8 @@ "OptionGroupOption$PortRequired": "

Specifies whether the option requires a port.

", "OptionGroupOption$Persistent": "

Persistent options can't be removed from an option group while DB instances are associated with the option group. If you disassociate all DB instances from the option group, your can remove the persistent option from the option group.

", "OptionGroupOption$Permanent": "

Permanent options can never be removed from an option group. An option group containing a permanent option can't be removed from a DB instance.

", + "OptionGroupOption$RequiresAutoMinorEngineVersionUpgrade": "

If true, you must enable the Auto Minor Version Upgrade setting for your DB instance before you can use this option. You can enable Auto Minor Version Upgrade when you first create your DB instance, or by modifying your DB instance later.

", + "OptionGroupOption$VpcOnly": "

If true, you can only use this option with a DB instance that is in a VPC.

", "OptionGroupOptionSetting$IsModifiable": "

Boolean value where true indicates that this option group option can be changed from the default value.

", "OptionSetting$IsModifiable": "

A Boolean value that, when true, indicates the option setting can be modified from the default.

", "OptionSetting$IsCollection": "

Indicates if the option setting is part of a collection.

", @@ -253,6 +255,7 @@ "OrderableDBInstanceOption$SupportsIops": "

Indicates whether this orderable DB instance supports provisioned IOPS.

", "OrderableDBInstanceOption$SupportsEnhancedMonitoring": "

Indicates whether the DB instance supports enhanced monitoring at intervals from 1 to 60 seconds.

", "OrderableDBInstanceOption$SupportsIAMDatabaseAuthentication": "

Indicates whether this orderable DB instance supports IAM database authentication.

", + "OrderableDBInstanceOption$SupportsPerformanceInsights": null, "Parameter$IsModifiable": "

Indicates whether (true) or not (false) the parameter can be modified. Some parameters have security or operational implications that prevent them from being changed.

", "ReservedDBInstance$MultiAZ": "

Indicates if the reservation applies to Multi-AZ deployments.

", "ReservedDBInstancesOffering$MultiAZ": "

Indicates if the offering applies to Multi-AZ deployments.

", @@ -274,14 +277,17 @@ "CreateDBInstanceMessage$MultiAZ": "

Specifies if the DB instance is a Multi-AZ deployment. You cannot set the AvailabilityZone parameter if the MultiAZ parameter is set to true.

", "CreateDBInstanceMessage$AutoMinorVersionUpgrade": "

Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window.

Default: true

", "CreateDBInstanceMessage$PubliclyAccessible": "

Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address.

Default: The default behavior varies depending on whether a VPC has been requested or not. The following list shows the default behavior in each case.

  • Default VPC: true

  • VPC: false

If no DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be publicly accessible. If a specific DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be private.

", - "CreateDBInstanceMessage$StorageEncrypted": "

Specifies whether the DB instance is encrypted.

Default: false

", + "CreateDBInstanceMessage$StorageEncrypted": "

Specifies whether the DB instance is encrypted.

Amazon Aurora

Not applicable. The encryption for DB instances is managed by the DB cluster. For more information, see CreateDBCluster.

Default: false

", "CreateDBInstanceMessage$CopyTagsToSnapshot": "

True to copy all tags from the DB instance to snapshots of the DB instance; otherwise false. The default is false.

", - "CreateDBInstanceMessage$EnableIAMDatabaseAuthentication": "

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts; otherwise false.

You can enable IAM database authentication for the following database engines:

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

Default: false

", + "CreateDBInstanceMessage$EnableIAMDatabaseAuthentication": "

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts; otherwise false.

You can enable IAM database authentication for the following database engines:

Amazon Aurora

Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster. For more information, see CreateDBCluster.

MySQL

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

Default: false

", + "CreateDBInstanceMessage$EnablePerformanceInsights": null, "CreateDBInstanceReadReplicaMessage$AutoMinorVersionUpgrade": "

Indicates that minor engine upgrades will be applied automatically to the Read Replica during the maintenance window.

Default: Inherits from the source DB instance

", "CreateDBInstanceReadReplicaMessage$PubliclyAccessible": "

Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address.

Default: The default behavior varies depending on whether a VPC has been requested or not. The following list shows the default behavior in each case.

  • Default VPC:true

  • VPC:false

If no DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be publicly accessible. If a specific DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be private.

", "CreateDBInstanceReadReplicaMessage$CopyTagsToSnapshot": "

True to copy all tags from the Read Replica to snapshots of the Read Replica; otherwise false. The default is false.

", "CreateDBInstanceReadReplicaMessage$EnableIAMDatabaseAuthentication": "

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts; otherwise false.

You can enable IAM database authentication for the following database engines

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

  • Aurora 5.6 or higher.

Default: false

", + "CreateDBInstanceReadReplicaMessage$EnablePerformanceInsights": null, "CreateEventSubscriptionMessage$Enabled": "

A Boolean value; set to true to activate the subscription, set to false to create the subscription but not active it.

", + "DBInstance$PerformanceInsightsEnabled": null, "DescribeDBEngineVersionsMessage$ListSupportedCharacterSets": "

If this parameter is specified and the requested engine supports the CharacterSetName parameter for CreateDBInstance, the response includes a list of supported character sets for each engine version.

", "DescribeDBEngineVersionsMessage$ListSupportedTimezones": "

If this parameter is specified and the requested engine supports the TimeZone parameter for CreateDBInstance, the response includes a list of supported time zones for each engine version.

", "DescribeOrderableDBInstanceOptionsMessage$Vpc": "

The VPC filter value. Specify this parameter to show only the available VPC or non-VPC offerings.

", @@ -292,8 +298,10 @@ "ModifyDBInstanceMessage$AutoMinorVersionUpgrade": "

Indicates that minor version upgrades will be applied automatically to the DB instance during the maintenance window. Changing this parameter does not result in an outage except in the following case and the change is asynchronously applied as soon as possible. An outage will result if this parameter is set to true during the maintenance window, and a newer minor version is available, and RDS has enabled auto patching for that engine version.

", "ModifyDBInstanceMessage$CopyTagsToSnapshot": "

True to copy all tags from the DB instance to snapshots of the DB instance; otherwise false. The default is false.

", "ModifyDBInstanceMessage$PubliclyAccessible": "

Boolean value that indicates if the DB instance has a publicly resolvable DNS name. Set to True to make the DB instance Internet-facing with a publicly resolvable DNS name, which resolves to a public IP address. Set to False to make the DB instance internal with a DNS name that resolves to a private IP address.

PubliclyAccessible only applies to DB instances in a VPC. The DB instance must be part of a public subnet and PubliclyAccessible must be true in order for it to be publicly accessible.

Changes to the PubliclyAccessible parameter are applied immediately regardless of the value of the ApplyImmediately parameter.

Default: false

", - "ModifyDBInstanceMessage$EnableIAMDatabaseAuthentication": "

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts; otherwise false.

You can enable IAM database authentication for the following database engines

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

Default: false

", + "ModifyDBInstanceMessage$EnableIAMDatabaseAuthentication": "

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts; otherwise false.

You can enable IAM database authentication for the following database engines

Amazon Aurora

Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster. For more information, see ModifyDBCluster.

MySQL

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

Default: false

", + "ModifyDBInstanceMessage$EnablePerformanceInsights": null, "ModifyEventSubscriptionMessage$Enabled": "

A Boolean value; set to true to activate the subscription.

", + "OptionGroupOption$SupportsOptionVersionDowngrade": "

If true, you can change the option to an earlier version of the option. This only applies to options that have different versions available.

", "PendingModifiedValues$MultiAZ": "

Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.

", "RebootDBInstanceMessage$ForceFailover": "

When true, the reboot will be conducted through a MultiAZ failover.

Constraint: You cannot specify true if the instance is not configured for MultiAZ.

", "RestoreDBClusterFromS3Message$StorageEncrypted": "

Specifies whether the restored DB cluster is encrypted.

", @@ -1463,8 +1471,8 @@ "refs": { "CreateDBClusterMessage$BackupRetentionPeriod": "

The number of days for which automated backups are retained. You must specify a minimum value of 1.

Default: 1

Constraints:

  • Must be a value from 1 to 35

", "CreateDBClusterMessage$Port": "

The port number on which the instances in the DB cluster accept connections.

Default: 3306

", - "CreateDBInstanceMessage$AllocatedStorage": "

The amount of storage (in gigabytes) to be initially allocated for the database instance.

Type: Integer

Amazon Aurora

Not applicable. Aurora cluster volumes automatically grow as the amount of data in your database increases, though you are only charged for the space that you use in an Aurora cluster volume.

MySQL

Constraints: Must be an integer from 5 to 6144.

MariaDB

Constraints: Must be an integer from 5 to 6144.

PostgreSQL

Constraints: Must be an integer from 5 to 6144.

Oracle

Constraints: Must be an integer from 10 to 6144.

SQL Server

Constraints: Must be an integer from 200 to 4096 (Standard Edition and Enterprise Edition) or from 20 to 4096 (Express Edition and Web Edition)

", - "CreateDBInstanceMessage$BackupRetentionPeriod": "

The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

Default: 1

Constraints:

  • Must be a value from 0 to 35

  • Cannot be set to 0 if the DB instance is a source to Read Replicas

", + "CreateDBInstanceMessage$AllocatedStorage": "

The amount of storage (in gigabytes) to be initially allocated for the database instance.

Type: Integer

Amazon Aurora

Not applicable. Aurora cluster volumes automatically grow as the amount of data in your database increases, though you are only charged for the space that you use in an Aurora cluster volume.

MySQL

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2): Must be an integer from 5 to 6144.

  • Provisioned IOPS storage (io1): Must be an integer from 100 to 6144.

  • Magnetic storage (standard): Must be an integer from 5 to 3072.

MariaDB

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2): Must be an integer from 5 to 6144.

  • Provisioned IOPS storage (io1): Must be an integer from 100 to 6144.

  • Magnetic storage (standard): Must be an integer from 5 to 3072.

PostgreSQL

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2): Must be an integer from 5 to 6144.

  • Provisioned IOPS storage (io1): Must be an integer from 100 to 6144.

  • Magnetic storage (standard): Must be an integer from 5 to 3072.

Oracle

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2): Must be an integer from 10 to 6144.

  • Provisioned IOPS storage (io1): Must be an integer from 100 to 6144.

  • Magnetic storage (standard): Must be an integer from 10 to 3072.

SQL Server

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2):

    • Enterprise and Standard editions: Must be an integer from 200 to 16384.

    • Web and Express editions: Must be an integer from 20 to 16384.

  • Provisioned IOPS storage (io1):

    • Enterprise and Standard editions: Must be an integer from 200 to 16384.

    • Web and Express editions: Must be an integer from 100 to 16384.

  • Magnetic storage (standard):

    • Enterprise and Standard editions: Must be an integer from 200 to 1024.

    • Web and Express editions: Must be an integer from 20 to 1024.

", + "CreateDBInstanceMessage$BackupRetentionPeriod": "

The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

Amazon Aurora

Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, see CreateDBCluster.

Default: 1

Constraints:

  • Must be a value from 0 to 35

  • Cannot be set to 0 if the DB instance is a source to Read Replicas

", "CreateDBInstanceMessage$Port": "

The port number on which the database accepts connections.

MySQL

Default: 3306

Valid Values: 1150-65535

Type: Integer

MariaDB

Default: 3306

Valid Values: 1150-65535

Type: Integer

PostgreSQL

Default: 5432

Valid Values: 1150-65535

Type: Integer

Oracle

Default: 1521

Valid Values: 1150-65535

SQL Server

Default: 1433

Valid Values: 1150-65535 except for 1434, 3389, 47001, 49152, and 49152 through 49156.

Amazon Aurora

Default: 3306

Valid Values: 1150-65535

Type: Integer

", "CreateDBInstanceMessage$Iops": "

The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.

Constraints: Must be a multiple between 3 and 10 of the storage amount for the DB instance. Must also be an integer multiple of 1000. For example, if the size of your DB instance is 500 GB, then your Iops value can be 2000, 3000, 4000, or 5000.

", "CreateDBInstanceMessage$MonitoringInterval": "

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

If MonitoringRoleArn is specified, then you must also set MonitoringInterval to a value other than 0.

Valid Values: 0, 1, 5, 10, 15, 30, 60

", @@ -1508,7 +1516,7 @@ "ModifyDBClusterMessage$BackupRetentionPeriod": "

The number of days for which automated backups are retained. You must specify a minimum value of 1.

Default: 1

Constraints:

  • Must be a value from 1 to 35

", "ModifyDBClusterMessage$Port": "

The port number on which the DB cluster accepts connections.

Constraints: Value must be 1150-65535

Default: The same port as the original DB cluster.

", "ModifyDBInstanceMessage$AllocatedStorage": "

The new storage capacity of the RDS instance. Changing this setting does not result in an outage and the change is applied during the next maintenance window unless ApplyImmediately is set to true for this request.

MySQL

Default: Uses existing setting

Valid Values: 5-6144

Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value.

Type: Integer

MariaDB

Default: Uses existing setting

Valid Values: 5-6144

Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value.

Type: Integer

PostgreSQL

Default: Uses existing setting

Valid Values: 5-6144

Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value.

Type: Integer

Oracle

Default: Uses existing setting

Valid Values: 10-6144

Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value.

SQL Server

Cannot be modified.

If you choose to migrate your DB instance from using standard storage to using Provisioned IOPS, or from using Provisioned IOPS to using standard storage, the process can take time. The duration of the migration depends on several factors such as database load, storage size, storage type (standard or Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior scale storage operations. Typical migration times are under 24 hours, but the process can take up to several days in some cases. During the migration, the DB instance will be available for use, but might experience performance degradation. While the migration takes place, nightly backups for the instance will be suspended. No other Amazon RDS operations can take place for the instance, including modifying the instance, rebooting the instance, deleting the instance, creating a Read Replica for the instance, and creating a DB snapshot of the instance.

", - "ModifyDBInstanceMessage$BackupRetentionPeriod": "

The number of days to retain automated backups. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

Changing this parameter can result in an outage if you change from 0 to a non-zero value or from a non-zero value to 0. These changes are applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If you change the parameter from one non-zero value to another non-zero value, the change is asynchronously applied as soon as possible.

Default: Uses existing setting

Constraints:

  • Must be a value from 0 to 35

  • Can be specified for a MySQL Read Replica only if the source is running MySQL 5.6

  • Can be specified for a PostgreSQL Read Replica only if the source is running PostgreSQL 9.3.5

  • Cannot be set to 0 if the DB instance is a source to Read Replicas

", + "ModifyDBInstanceMessage$BackupRetentionPeriod": "

The number of days to retain automated backups. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

Changing this parameter can result in an outage if you change from 0 to a non-zero value or from a non-zero value to 0. These changes are applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If you change the parameter from one non-zero value to another non-zero value, the change is asynchronously applied as soon as possible.

Amazon Aurora

Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, see ModifyDBCluster.

Default: Uses existing setting

Constraints:

  • Must be a value from 0 to 35

  • Can be specified for a MySQL Read Replica only if the source is running MySQL 5.6

  • Can be specified for a PostgreSQL Read Replica only if the source is running PostgreSQL 9.3.5

  • Cannot be set to 0 if the DB instance is a source to Read Replicas

", "ModifyDBInstanceMessage$Iops": "

The new Provisioned IOPS (I/O operations per second) value for the RDS instance. Changing this setting does not result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request.

Default: Uses existing setting

Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value. If you are migrating from Provisioned IOPS to standard storage, set this value to 0. The DB instance will require a reboot for the change in storage type to take effect.

SQL Server

Setting the IOPS value for the SQL Server database engine is not supported.

Type: Integer

If you choose to migrate your DB instance from using standard storage to using Provisioned IOPS, or from using Provisioned IOPS to using standard storage, the process can take time. The duration of the migration depends on several factors such as database load, storage size, storage type (standard or Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior scale storage operations. Typical migration times are under 24 hours, but the process can take up to several days in some cases. During the migration, the DB instance will be available for use, but might experience performance degradation. While the migration takes place, nightly backups for the instance will be suspended. No other Amazon RDS operations can take place for the instance, including modifying the instance, rebooting the instance, deleting the instance, creating a Read Replica for the instance, and creating a DB snapshot of the instance.

", "ModifyDBInstanceMessage$MonitoringInterval": "

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

If MonitoringRoleArn is specified, then you must also set MonitoringInterval to a value other than 0.

Valid Values: 0, 1, 5, 10, 15, 30, 60

", "ModifyDBInstanceMessage$DBPortNumber": "

The port number on which the database accepts connections.

The value of the DBPortNumber parameter must not match any of the port values specified for options in the option group for the DB instance.

Your database will restart when you change the DBPortNumber value regardless of the value of the ApplyImmediately parameter.

MySQL

Default: 3306

Valid Values: 1150-65535

MariaDB

Default: 3306

Valid Values: 1150-65535

PostgreSQL

Default: 5432

Valid Values: 1150-65535

Type: Integer

Oracle

Default: 1521

Valid Values: 1150-65535

SQL Server

Default: 1433

Valid Values: 1150-65535 except for 1434, 3389, 47001, 49152, and 49152 through 49156.

Amazon Aurora

Default: 3306

Valid Values: 1150-65535

", @@ -2221,7 +2229,7 @@ "SourceRegionList": { "base": null, "refs": { - "SourceRegionMessage$SourceRegions": "

A list of SourceRegion instances that contains each source AWS Region that the current region can get a Read Replica or a DB snapshot from.

" + "SourceRegionMessage$SourceRegions": "

A list of SourceRegion instances that contains each source AWS Region that the current AWS Region can get a Read Replica or a DB snapshot from.

" } }, "SourceRegionMessage": { @@ -2293,22 +2301,22 @@ "CertificateMessage$Marker": "

An optional pagination token provided by a previous DescribeCertificates request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

", "CharacterSet$CharacterSetName": "

The name of the character set.

", "CharacterSet$CharacterSetDescription": "

The description of the character set.

", - "CopyDBClusterParameterGroupMessage$SourceDBClusterParameterGroupIdentifier": "

The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter group. For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

Constraints:

  • Must specify a valid DB cluster parameter group.

  • If the source DB cluster parameter group is in the same region as the copy, specify a valid DB parameter group identifier, for example my-db-cluster-param-group, or a valid ARN.

  • If the source DB parameter group is in a different region than the copy, specify a valid DB cluster parameter group ARN, for example arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1.

", + "CopyDBClusterParameterGroupMessage$SourceDBClusterParameterGroupIdentifier": "

The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter group. For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

Constraints:

  • Must specify a valid DB cluster parameter group.

  • If the source DB cluster parameter group is in the same AWS Region as the copy, specify a valid DB parameter group identifier, for example my-db-cluster-param-group, or a valid ARN.

  • If the source DB parameter group is in a different AWS Region than the copy, specify a valid DB cluster parameter group ARN, for example arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1.

", "CopyDBClusterParameterGroupMessage$TargetDBClusterParameterGroupIdentifier": "

The identifier for the copied DB cluster parameter group.

Constraints:

  • Cannot be null, empty, or blank

  • Must contain from 1 to 255 alphanumeric characters or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-cluster-param-group1

", "CopyDBClusterParameterGroupMessage$TargetDBClusterParameterGroupDescription": "

A description for the copied DB cluster parameter group.

", - "CopyDBClusterSnapshotMessage$SourceDBClusterSnapshotIdentifier": "

The identifier of the DB cluster snapshot to copy. This parameter is not case-sensitive.

You cannot copy an encrypted, shared DB cluster snapshot from one AWS region to another.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

  • Must specify a valid system snapshot in the \"available\" state.

  • If the source snapshot is in the same region as the copy, specify a valid DB snapshot identifier.

  • If the source snapshot is in a different region than the copy, specify a valid DB cluster snapshot ARN. For more information, go to Copying a DB Snapshot or DB Cluster Snapshot.

Example: my-cluster-snapshot1

", + "CopyDBClusterSnapshotMessage$SourceDBClusterSnapshotIdentifier": "

The identifier of the DB cluster snapshot to copy. This parameter is not case-sensitive.

You cannot copy an encrypted, shared DB cluster snapshot from one AWS Region to another.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

  • Must specify a valid system snapshot in the \"available\" state.

  • If the source snapshot is in the same AWS Region as the copy, specify a valid DB snapshot identifier.

  • If the source snapshot is in a different AWS Region than the copy, specify a valid DB cluster snapshot ARN. For more information, go to Copying a DB Snapshot or DB Cluster Snapshot.

Example: my-cluster-snapshot1

", "CopyDBClusterSnapshotMessage$TargetDBClusterSnapshotIdentifier": "

The identifier of the new DB cluster snapshot to create from the source DB cluster snapshot. This parameter is not case-sensitive.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster-snapshot2

", - "CopyDBClusterSnapshotMessage$KmsKeyId": "

The AWS KMS key ID for an encrypted DB cluster snapshot. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

If you copy an unencrypted DB cluster snapshot and specify a value for the KmsKeyId parameter, Amazon RDS encrypts the target DB cluster snapshot using the specified KMS encryption key.

If you copy an encrypted DB cluster snapshot from your AWS account, you can specify a value for KmsKeyId to encrypt the copy with a new KMS encryption key. If you don't specify a value for KmsKeyId, then the copy of the DB cluster snapshot is encrypted with the same KMS key as the source DB cluster snapshot.

If you copy an encrypted DB cluster snapshot that is shared from another AWS account, then you must specify a value for KmsKeyId.

To copy an encrypted DB cluster snapshot to another region, you must set KmsKeyId to the KMS key ID you want to use to encrypt the copy of the DB cluster snapshot in the destination region. KMS encryption keys are specific to the region that they are created in, and you cannot use encryption keys from one region in another region.

", - "CopyDBClusterSnapshotMessage$PreSignedUrl": "

The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot API action in the AWS region that contains the source DB cluster snapshot to copy. The PreSignedUrl parameter must be used when copying an encrypted DB cluster snapshot from another AWS region.

The pre-signed URL must be a valid request for the CopyDBSClusterSnapshot API action that can be executed in the source region that contains the encrypted DB cluster snapshot to be copied. The pre-signed URL request must contain the following parameter values:

  • KmsKeyId - The KMS key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination region. This is the same identifier for both the CopyDBClusterSnapshot action that is called in the destination region, and the action contained in the pre-signed URL.

  • DestinationRegion - The name of the region that the DB cluster snapshot will be created in.

  • SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source region. For example, if you are copying an encrypted DB cluster snapshot from the us-west-2 region, then your SourceDBClusterSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

", + "CopyDBClusterSnapshotMessage$KmsKeyId": "

The AWS KMS key ID for an encrypted DB cluster snapshot. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

If you copy an unencrypted DB cluster snapshot and specify a value for the KmsKeyId parameter, Amazon RDS encrypts the target DB cluster snapshot using the specified KMS encryption key.

If you copy an encrypted DB cluster snapshot from your AWS account, you can specify a value for KmsKeyId to encrypt the copy with a new KMS encryption key. If you don't specify a value for KmsKeyId, then the copy of the DB cluster snapshot is encrypted with the same KMS key as the source DB cluster snapshot.

If you copy an encrypted DB cluster snapshot that is shared from another AWS account, then you must specify a value for KmsKeyId.

To copy an encrypted DB cluster snapshot to another AWS Region, you must set KmsKeyId to the KMS key ID you want to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region. KMS encryption keys are specific to the AWS Region that they are created in, and you cannot use encryption keys from one AWS Region in another AWS Region.

", + "CopyDBClusterSnapshotMessage$PreSignedUrl": "

The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot API action in the AWS Region that contains the source DB cluster snapshot to copy. The PreSignedUrl parameter must be used when copying an encrypted DB cluster snapshot from another AWS Region.

The pre-signed URL must be a valid request for the CopyDBSClusterSnapshot API action that can be executed in the source AWS Region that contains the encrypted DB cluster snapshot to be copied. The pre-signed URL request must contain the following parameter values:

  • KmsKeyId - The KMS key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region. This is the same identifier for both the CopyDBClusterSnapshot action that is called in the destination AWS Region, and the action contained in the pre-signed URL.

  • DestinationRegion - The name of the AWS Region that the DB cluster snapshot will be created in.

  • SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB cluster snapshot from the us-west-2 region, then your SourceDBClusterSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

", "CopyDBParameterGroupMessage$SourceDBParameterGroupIdentifier": "

The identifier or ARN for the source DB parameter group. For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

Constraints:

  • Must specify a valid DB parameter group.

  • Must specify a valid DB parameter group identifier, for example my-db-param-group, or a valid ARN.

", "CopyDBParameterGroupMessage$TargetDBParameterGroupIdentifier": "

The identifier for the copied DB parameter group.

Constraints:

  • Cannot be null, empty, or blank

  • Must contain from 1 to 255 alphanumeric characters or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-db-parameter-group

", "CopyDBParameterGroupMessage$TargetDBParameterGroupDescription": "

A description for the copied DB parameter group.

", - "CopyDBSnapshotMessage$SourceDBSnapshotIdentifier": "

The identifier for the source DB snapshot.

If the source snapshot is in the same region as the copy, specify a valid DB snapshot identifier. For example, rds:mysql-instance1-snapshot-20130805.

If the source snapshot is in a different region than the copy, specify a valid DB snapshot ARN. For example, arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805.

If you are copying from a shared manual DB snapshot, this parameter must be the Amazon Resource Name (ARN) of the shared DB snapshot.

If you are copying an encrypted snapshot this parameter must be in the ARN format for the source region, and must match the SourceDBSnapshotIdentifier in the PreSignedUrl parameter.

Constraints:

  • Must specify a valid system snapshot in the \"available\" state.

Example: rds:mydb-2012-04-02-00-01

Example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805

", + "CopyDBSnapshotMessage$SourceDBSnapshotIdentifier": "

The identifier for the source DB snapshot.

If the source snapshot is in the same AWS Region as the copy, specify a valid DB snapshot identifier. For example, you might specify rds:mysql-instance1-snapshot-20130805.

If the source snapshot is in a different AWS Region than the copy, specify a valid DB snapshot ARN. For example, you might specify arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805.

If you are copying from a shared manual DB snapshot, this parameter must be the Amazon Resource Name (ARN) of the shared DB snapshot.

If you are copying an encrypted snapshot this parameter must be in the ARN format for the source AWS Region, and must match the SourceDBSnapshotIdentifier in the PreSignedUrl parameter.

Constraints:

  • Must specify a valid system snapshot in the \"available\" state.

Example: rds:mydb-2012-04-02-00-01

Example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805

", "CopyDBSnapshotMessage$TargetDBSnapshotIdentifier": "

The identifier for the copy of the snapshot.

Constraints:

  • Cannot be null, empty, or blank

  • Must contain from 1 to 255 alphanumeric characters or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-db-snapshot

", - "CopyDBSnapshotMessage$KmsKeyId": "

The AWS KMS key ID for an encrypted DB snapshot. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

If you copy an encrypted DB snapshot from your AWS account, you can specify a value for this parameter to encrypt the copy with a new KMS encryption key. If you don't specify a value for this parameter, then the copy of the DB snapshot is encrypted with the same KMS key as the source DB snapshot.

If you copy an encrypted DB snapshot that is shared from another AWS account, then you must specify a value for this parameter.

If you specify this parameter when you copy an unencrypted snapshot, the copy is encrypted.

If you copy an encrypted snapshot to a different AWS region, then you must specify a KMS key for the destination AWS region. KMS encryption keys are specific to the region that they are created in, and you cannot use encryption keys from one region in another region.

", - "CopyDBSnapshotMessage$PreSignedUrl": "

The URL that contains a Signature Version 4 signed request for the CopyDBSnapshot API action in the source AWS region that contains the source DB snapshot to copy.

You must specify this parameter when you copy an encrypted DB snapshot from another AWS region by using the Amazon RDS API. You can specify the source region option instead of this parameter when you copy an encrypted DB snapshot from another AWS region by using the AWS CLI.

The presigned URL must be a valid request for the CopyDBSnapshot API action that can be executed in the source region that contains the encrypted DB snapshot to be copied. The presigned URL request must contain the following parameter values:

  • DestinationRegion - The AWS Region that the encrypted DB snapshot will be copied to. This region is the same one where the CopyDBSnapshot action is called that contains this presigned URL.

    For example, if you copy an encrypted DB snapshot from the us-west-2 region to the us-east-1 region, then you will call the CopyDBSnapshot action in the us-east-1 region and provide a presigned URL that contains a call to the CopyDBSnapshot action in the us-west-2 region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 region.

  • KmsKeyId - The KMS key identifier for the key to use to encrypt the copy of the DB snapshot in the destination region. This is the same identifier for both the CopyDBSnapshot action that is called in the destination region, and the action contained in the presigned URL.

  • SourceDBSnapshotIdentifier - The DB snapshot identifier for the encrypted snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source region. For example, if you are copying an encrypted DB snapshot from the us-west-2 region, then your SourceDBSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

", - "CopyDBSnapshotMessage$OptionGroupName": "

The name of an option group to associate with the copy.

Specify this option if you are copying a snapshot from one AWS region to another, and your DB instance uses a non-default option group. If your source DB instance uses Transparent Data Encryption for Oracle or Microsoft SQL Server, you must specify this option when copying across regions. For more information, see Option Group Considerations.

", - "CopyOptionGroupMessage$SourceOptionGroupIdentifier": "

The identifier or ARN for the source option group. For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

Constraints:

  • Must specify a valid option group.

  • If the source option group is in the same region as the copy, specify a valid option group identifier, for example my-option-group, or a valid ARN.

  • If the source option group is in a different region than the copy, specify a valid option group ARN, for example arn:aws:rds:us-west-2:123456789012:og:special-options.

", + "CopyDBSnapshotMessage$KmsKeyId": "

The AWS KMS key ID for an encrypted DB snapshot. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

If you copy an encrypted DB snapshot from your AWS account, you can specify a value for this parameter to encrypt the copy with a new KMS encryption key. If you don't specify a value for this parameter, then the copy of the DB snapshot is encrypted with the same KMS key as the source DB snapshot.

If you copy an encrypted DB snapshot that is shared from another AWS account, then you must specify a value for this parameter.

If you specify this parameter when you copy an unencrypted snapshot, the copy is encrypted.

If you copy an encrypted snapshot to a different AWS Region, then you must specify a KMS key for the destination AWS Region. KMS encryption keys are specific to the AWS Region that they are created in, and you cannot use encryption keys from one AWS Region in another AWS Region.

", + "CopyDBSnapshotMessage$PreSignedUrl": "

The URL that contains a Signature Version 4 signed request for the CopyDBSnapshot API action in the source AWS Region that contains the source DB snapshot to copy.

You must specify this parameter when you copy an encrypted DB snapshot from another AWS Region by using the Amazon RDS API. You can specify the source region option instead of this parameter when you copy an encrypted DB snapshot from another AWS Region by using the AWS CLI.

The presigned URL must be a valid request for the CopyDBSnapshot API action that can be executed in the source AWS Region that contains the encrypted DB snapshot to be copied. The presigned URL request must contain the following parameter values:

  • DestinationRegion - The AWS Region that the encrypted DB snapshot will be copied to. This AWS Region is the same one where the CopyDBSnapshot action is called that contains this presigned URL.

    For example, if you copy an encrypted DB snapshot from the us-west-2 region to the us-east-1 region, then you call the CopyDBSnapshot action in the us-east-1 region and provide a presigned URL that contains a call to the CopyDBSnapshot action in the us-west-2 region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 region.

  • KmsKeyId - The KMS key identifier for the key to use to encrypt the copy of the DB snapshot in the destination AWS Region. This is the same identifier for both the CopyDBSnapshot action that is called in the destination AWS Region, and the action contained in the presigned URL.

  • SourceDBSnapshotIdentifier - The DB snapshot identifier for the encrypted snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB snapshot from the us-west-2 region, then your SourceDBSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

", + "CopyDBSnapshotMessage$OptionGroupName": "

The name of an option group to associate with the copy of the snapshot.

Specify this option if you are copying a snapshot from one AWS Region to another, and your DB instance uses a nondefault option group. If your source DB instance uses Transparent Data Encryption for Oracle or Microsoft SQL Server, you must specify this option when copying across regions. For more information, see Option Group Considerations.

", + "CopyOptionGroupMessage$SourceOptionGroupIdentifier": "

The identifier or ARN for the source option group. For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

Constraints:

  • Must specify a valid option group.

  • If the source option group is in the same AWS Region as the copy, specify a valid option group identifier, for example my-option-group, or a valid ARN.

  • If the source option group is in a different AWS Region than the copy, specify a valid option group ARN, for example arn:aws:rds:us-west-2:123456789012:og:special-options.

", "CopyOptionGroupMessage$TargetOptionGroupIdentifier": "

The identifier for the copied option group.

Constraints:

  • Cannot be null, empty, or blank

  • Must contain from 1 to 255 alphanumeric characters or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-option-group

", "CopyOptionGroupMessage$TargetOptionGroupDescription": "

The description for the copied option group.

", "CreateDBClusterMessage$CharacterSetName": "

A value that indicates that the DB cluster should be associated with the specified CharacterSet.

", @@ -2321,50 +2329,52 @@ "CreateDBClusterMessage$MasterUsername": "

The name of the master user for the DB cluster.

Constraints:

  • Must be 1 to 16 alphanumeric characters.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

", "CreateDBClusterMessage$MasterUserPassword": "

The password for the master database user. This password can contain any printable ASCII character except \"/\", \"\"\", or \"@\".

Constraints: Must contain from 8 to 41 characters.

", "CreateDBClusterMessage$OptionGroupName": "

A value that indicates that the DB cluster should be associated with the specified option group.

Permanent options cannot be removed from an option group. The option group cannot be removed from a DB cluster once it is associated with a DB cluster.

", - "CreateDBClusterMessage$PreferredBackupWindow": "

The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.

Default: A 30-minute window selected at random from an 8-hour block of time per region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Times should be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

", - "CreateDBClusterMessage$PreferredMaintenanceWindow": "

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

", + "CreateDBClusterMessage$PreferredBackupWindow": "

The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.

Default: A 30-minute window selected at random from an 8-hour block of time per AWS Region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Times should be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

", + "CreateDBClusterMessage$PreferredMaintenanceWindow": "

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

Default: A 30-minute window selected at random from an 8-hour block of time per AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

", "CreateDBClusterMessage$ReplicationSourceIdentifier": "

The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a Read Replica.

", - "CreateDBClusterMessage$KmsKeyId": "

The KMS key identifier for an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

If the StorageEncrypted parameter is true, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.

If you create a Read Replica of an encrypted DB cluster in another region, you must set KmsKeyId to a KMS key ID that is valid in the destination region. This key is used to encrypt the Read Replica in that region.

", - "CreateDBClusterMessage$PreSignedUrl": "

A URL that contains a Signature Version 4 signed request for the CreateDBCluster action to be called in the source region where the DB cluster will be replicated from. You only need to specify PreSignedUrl when you are performing cross-region replication from an encrypted DB cluster.

The pre-signed URL must be a valid request for the CreateDBCluster API action that can be executed in the source region that contains the encrypted DB cluster to be copied.

The pre-signed URL request must contain the following parameter values:

  • KmsKeyId - The KMS key identifier for the key to use to encrypt the copy of the DB cluster in the destination region. This should refer to the same KMS key for both the CreateDBCluster action that is called in the destination region, and the action contained in the pre-signed URL.

  • DestinationRegion - The name of the region that Aurora Read Replica will be created in.

  • ReplicationSourceIdentifier - The DB cluster identifier for the encrypted DB cluster to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source region. For example, if you are copying an encrypted DB cluster from the us-west-2 region, then your ReplicationSourceIdentifier would look like Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

", + "CreateDBClusterMessage$KmsKeyId": "

The KMS key identifier for an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

If an encryption key is not specified in KmsKeyId:

  • If ReplicationSourceIdentifier identifies an encrypted source, then Amazon RDS will use the encryption key used to encrypt the source. Otherwise, Amazon RDS will use your default encryption key.

  • If the StorageEncrypted parameter is true and ReplicationSourceIdentifier is not specified, then Amazon RDS will use your default encryption key.

AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

If you create a Read Replica of an encrypted DB cluster in another AWS Region, you must set KmsKeyId to a KMS key ID that is valid in the destination AWS Region. This key is used to encrypt the Read Replica in that AWS Region.

", + "CreateDBClusterMessage$PreSignedUrl": "

A URL that contains a Signature Version 4 signed request for the CreateDBCluster action to be called in the source AWS Region where the DB cluster will be replicated from. You only need to specify PreSignedUrl when you are performing cross-region replication from an encrypted DB cluster.

The pre-signed URL must be a valid request for the CreateDBCluster API action that can be executed in the source AWS Region that contains the encrypted DB cluster to be copied.

The pre-signed URL request must contain the following parameter values:

  • KmsKeyId - The KMS key identifier for the key to use to encrypt the copy of the DB cluster in the destination AWS Region. This should refer to the same KMS key for both the CreateDBCluster action that is called in the destination AWS Region, and the action contained in the pre-signed URL.

  • DestinationRegion - The name of the AWS Region that Aurora Read Replica will be created in.

  • ReplicationSourceIdentifier - The DB cluster identifier for the encrypted DB cluster to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB cluster from the us-west-2 region, then your ReplicationSourceIdentifier would look like Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

", "CreateDBClusterParameterGroupMessage$DBClusterParameterGroupName": "

The name of the DB cluster parameter group.

Constraints:

  • Must be 1 to 255 alphanumeric characters

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

This value is stored as a lowercase string.

", "CreateDBClusterParameterGroupMessage$DBParameterGroupFamily": "

The DB cluster parameter group family name. A DB cluster parameter group can be associated with one and only one DB cluster parameter group family, and can be applied only to a DB cluster running a database engine and engine version compatible with that DB cluster parameter group family.

", "CreateDBClusterParameterGroupMessage$Description": "

The description for the DB cluster parameter group.

", "CreateDBClusterSnapshotMessage$DBClusterSnapshotIdentifier": "

The identifier of the DB cluster snapshot. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster1-snapshot1

", "CreateDBClusterSnapshotMessage$DBClusterIdentifier": "

The identifier of the DB cluster to create a snapshot for. This parameter is not case-sensitive.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster1

", "CreateDBInstanceMessage$DBName": "

The meaning of this parameter differs according to the database engine you use.

Type: String

MySQL

The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.

Constraints:

  • Must contain 1 to 64 alphanumeric characters

  • Cannot be a word reserved by the specified database engine

MariaDB

The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.

Constraints:

  • Must contain 1 to 64 alphanumeric characters

  • Cannot be a word reserved by the specified database engine

PostgreSQL

The name of the database to create when the DB instance is created. If this parameter is not specified, the default \"postgres\" database is created in the DB instance.

Constraints:

  • Must contain 1 to 63 alphanumeric characters

  • Must begin with a letter or an underscore. Subsequent characters can be letters, underscores, or digits (0-9).

  • Cannot be a word reserved by the specified database engine

Oracle

The Oracle System ID (SID) of the created DB instance. If you specify null, the default value ORCL is used. You can't specify the string NULL, or any other reserved word, for DBName.

Default: ORCL

Constraints:

  • Cannot be longer than 8 characters

SQL Server

Not applicable. Must be null.

Amazon Aurora

The name of the database to create when the primary instance of the DB cluster is created. If this parameter is not specified, no database is created in the DB instance.

Constraints:

  • Must contain 1 to 64 alphanumeric characters

  • Cannot be a word reserved by the specified database engine

", - "CreateDBInstanceMessage$DBInstanceIdentifier": "

The DB instance identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens (1 to 15 for SQL Server).

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: mydbinstance

", + "CreateDBInstanceMessage$DBInstanceIdentifier": "

The DB instance identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: mydbinstance

", "CreateDBInstanceMessage$DBInstanceClass": "

The compute and memory capacity of the DB instance. Note that not all instance classes are available in all regions for all DB engines.

Valid Values: db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge |db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large

", - "CreateDBInstanceMessage$Engine": "

The name of the database engine to be used for this instance.

Not every database engine is available for every AWS region.

Valid Values:

  • aurora

  • mariadb

  • mysql

  • oracle-ee

  • oracle-se2

  • oracle-se1

  • oracle-se

  • postgres

  • sqlserver-ee

  • sqlserver-se

  • sqlserver-ex

  • sqlserver-web

", - "CreateDBInstanceMessage$MasterUsername": "

The name for the master database user.

Amazon Aurora

Not applicable. You specify the name for the master database user when you create your DB cluster.

MariaDB

Constraints:

  • Must be 1 to 16 alphanumeric characters.

  • Cannot be a reserved word for the chosen database engine.

Microsoft SQL Server

Constraints:

  • Must be 1 to 128 alphanumeric characters.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

MySQL

Constraints:

  • Must be 1 to 16 alphanumeric characters.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

Oracle

Constraints:

  • Must be 1 to 30 alphanumeric characters.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

PostgreSQL

Constraints:

  • Must be 1 to 63 alphanumeric characters.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

", - "CreateDBInstanceMessage$MasterUserPassword": "

The password for the master database user. Can be any printable ASCII character except \"/\", \"\"\", or \"@\".

Amazon Aurora

Not applicable. You specify the password for the master database user when you create your DB cluster.

MariaDB

Constraints: Must contain from 8 to 41 characters.

Microsoft SQL Server

Constraints: Must contain from 8 to 128 characters.

MySQL

Constraints: Must contain from 8 to 41 characters.

Oracle

Constraints: Must contain from 8 to 30 characters.

PostgreSQL

Constraints: Must contain from 8 to 128 characters.

", - "CreateDBInstanceMessage$AvailabilityZone": "

The EC2 Availability Zone that the database instance will be created in. For information on regions and Availability Zones, see Regions and Availability Zones.

Default: A random, system-chosen Availability Zone in the endpoint's region.

Example: us-east-1d

Constraint: The AvailabilityZone parameter cannot be specified if the MultiAZ parameter is set to true. The specified Availability Zone must be in the same region as the current endpoint.

", + "CreateDBInstanceMessage$Engine": "

The name of the database engine to be used for this instance.

Not every database engine is available for every AWS Region.

Valid Values:

  • aurora

  • mariadb

  • mysql

  • oracle-ee

  • oracle-se2

  • oracle-se1

  • oracle-se

  • postgres

  • sqlserver-ee

  • sqlserver-se

  • sqlserver-ex

  • sqlserver-web

", + "CreateDBInstanceMessage$MasterUsername": "

The name for the master user.

Amazon Aurora

Not applicable. The name for the master user is managed by the DB cluster. For more information, see CreateDBCluster.

MariaDB

Constraints:

  • Must be 1 to 16 alphanumeric characters.

  • Cannot be a reserved word for the chosen database engine.

Microsoft SQL Server

Constraints:

  • Must be 1 to 128 alphanumeric characters.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

MySQL

Constraints:

  • Must be 1 to 16 alphanumeric characters.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

Oracle

Constraints:

  • Must be 1 to 30 alphanumeric characters.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

PostgreSQL

Constraints:

  • Must be 1 to 63 alphanumeric characters.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

", + "CreateDBInstanceMessage$MasterUserPassword": "

The password for the master user. Can be any printable ASCII character except \"/\", \"\"\", or \"@\".

Amazon Aurora

Not applicable. The password for the master user is managed by the DB cluster. For more information, see CreateDBCluster.

MariaDB

Constraints: Must contain from 8 to 41 characters.

Microsoft SQL Server

Constraints: Must contain from 8 to 128 characters.

MySQL

Constraints: Must contain from 8 to 41 characters.

Oracle

Constraints: Must contain from 8 to 30 characters.

PostgreSQL

Constraints: Must contain from 8 to 128 characters.

", + "CreateDBInstanceMessage$AvailabilityZone": "

The EC2 Availability Zone that the database instance will be created in. For information on regions and Availability Zones, see Regions and Availability Zones.

Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

Example: us-east-1d

Constraint: The AvailabilityZone parameter cannot be specified if the MultiAZ parameter is set to true. The specified Availability Zone must be in the same AWS Region as the current endpoint.

", "CreateDBInstanceMessage$DBSubnetGroupName": "

A DB subnet group to associate with this DB instance.

If there is no DB subnet group, then it is a non-VPC DB instance.

", - "CreateDBInstanceMessage$PreferredMaintenanceWindow": "

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see DB Instance Maintenance.

Format: ddd:hh24:mi-ddd:hh24:mi

Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

", + "CreateDBInstanceMessage$PreferredMaintenanceWindow": "

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see DB Instance Maintenance.

Format: ddd:hh24:mi-ddd:hh24:mi

Default: A 30-minute window selected at random from an 8-hour block of time per AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

", "CreateDBInstanceMessage$DBParameterGroupName": "

The name of the DB parameter group to associate with this DB instance. If this argument is omitted, the default DBParameterGroup for the specified engine will be used.

Constraints:

  • Must be 1 to 255 alphanumeric characters

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

", - "CreateDBInstanceMessage$PreferredBackupWindow": "

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter. For more information, see DB Instance Backups.

Default: A 30-minute window selected at random from an 8-hour block of time per region. To see the time blocks available, see Adjusting the Preferred DB Instance Maintenance Window.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Times should be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

", - "CreateDBInstanceMessage$EngineVersion": "

The version number of the database engine to use.

The following are the database engines and major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS region.

Amazon Aurora

  • Version 5.6 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-2, eu-west-1, us-east-1, us-east-2, us-west-2): 5.6.10a

MariaDB

  • 10.1.19 (supported in all AWS regions)

  • 10.1.14 (supported in all regions except us-east-2)

  • 10.0.28 (supported in all AWS regions)

  • 10.0.24 (supported in all AWS regions)

  • 10.0.17 (supported in all regions except us-east-2, ca-central-1, eu-west-2)

Microsoft SQL Server 2016

  • 13.00.4422.0.v1 (supported for all editions, and all AWS regions)

  • 13.00.2164.0.v1 (supported for all editions, and all AWS regions)

Microsoft SQL Server 2014

  • 12.00.5546.0.v1 (supported for all editions, and all AWS regions)

  • 12.00.5000.0.v1 (supported for all editions, and all AWS regions)

  • 12.00.4422.0.v1 (supported for all editions except Enterprise Edition, and all AWS regions except ca-central-1 and eu-west-2)

Microsoft SQL Server 2012

  • 11.00.6594.0.v1 (supported for all editions, and all AWS regions)

  • 11.00.6020.0.v1 (supported for all editions, and all AWS regions)

  • 11.00.5058.0.v1 (supported for all editions, and all AWS regions except us-east-2, ca-central-1, and eu-west-2)

  • 11.00.2100.60.v1 (supported for all editions, and all AWS regions except us-east-2, ca-central-1, and eu-west-2)

Microsoft SQL Server 2008 R2

  • 10.50.6529.0.v1 (supported for all editions, and all AWS regions except us-east-2, ca-central-1, and eu-west-2)

  • 10.50.6000.34.v1 (supported for all editions, and all AWS regions except us-east-2, ca-central-1, and eu-west-2)

  • 10.50.2789.0.v1 (supported for all editions, and all AWS regions except us-east-2, ca-central-1, and eu-west-2)

MySQL

  • 5.7.17 (supported in all AWS regions)

  • 5.7.16 (supported in all AWS regions)

  • 5.7.11 (supported in all AWS regions)

  • 5.7.10 (supported in all regions except us-east-2, ca-central-1, eu-west-2)

  • 5.6.35 (supported in all AWS regions)

  • 5.6.34 (supported in all AWS regions)

  • 5.6.29 (supported in all AWS regions)

  • 5.6.27 (supported in all regions except us-east-2, ca-central-1, eu-west-2)

  • 5.6.23 (supported in all regions except us-east-2, ap-south-1, ca-central-1, eu-west-2)

  • 5.6.22 (supported in all regions except us-east-2, ap-south-1, ap-northeast-2, ca-central-1, eu-west-2)

  • 5.6.21b (supported in all regions except us-east-2, ap-south-1, ap-northeast-2, ca-central-1, eu-west-2)

  • 5.6.21 (supported in all regions except us-east-2, ap-south-1, ap-northeast-2, ca-central-1, eu-west-2)

  • 5.6.19b (supported in all regions except us-east-2, ap-south-1, ap-northeast-2, ca-central-1, eu-west-2)

  • 5.6.19a (supported in all regions except us-east-2, ap-south-1, ap-northeast-2, ca-central-1, eu-west-2)

  • 5.5.54 (supported in all AWS regions)

  • 5.5.53 (supported in all AWS regions)

  • 5.5.46 (supported in all AWS regions)

Oracle 12c

  • 12.1.0.2.v8 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v7 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v6 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v5 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v4 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v3 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v2 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v1 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

Oracle 11g

  • 11.2.0.4.v12 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v11 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v10 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v9 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v8 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v7 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v6 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v5 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v4 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v3 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v1 (supported for EE, SE1, and SE, in all AWS regions)

PostgreSQL

  • Version 9.6.x: 9.6.1 | 9.6.2

  • Version 9.5.x: 9.5.6 | 9.5.4 | 9.5.2

  • Version 9.4.x: 9.4.11 | 9.4.9 | 9.4.7

  • Version 9.3.x: 9.3.16 | 9.3.14 | 9.3.12

", + "CreateDBInstanceMessage$PreferredBackupWindow": "

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter. For more information, see DB Instance Backups.

Amazon Aurora

Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see CreateDBCluster.

Default: A 30-minute window selected at random from an 8-hour block of time per AWS Region. To see the time blocks available, see Adjusting the Preferred DB Instance Maintenance Window.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Times should be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

", + "CreateDBInstanceMessage$EngineVersion": "

The version number of the database engine to use.

The following are the database engines and major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS Region.

Amazon Aurora

Not applicable. The version number of the database engine to be used by the DB instance is managed by the DB cluster. For more information, see CreateDBCluster.

MariaDB

  • 10.1.23 (supported in all AWS regions)

  • 10.1.19 (supported in all AWS regions)

  • 10.1.14 (supported in all regions except us-east-2)

  • 10.0.31 (supported in all AWS regions)

  • 10.0.28 (supported in all AWS regions)

  • 10.0.24 (supported in all AWS regions)

  • 10.0.17 (supported in all regions except us-east-2, ca-central-1, eu-west-2)

Microsoft SQL Server 2016

  • 13.00.4422.0.v1 (supported for all editions, and all AWS regions)

  • 13.00.2164.0.v1 (supported for all editions, and all AWS regions)

Microsoft SQL Server 2014

  • 12.00.5546.0.v1 (supported for all editions, and all AWS regions)

  • 12.00.5000.0.v1 (supported for all editions, and all AWS regions)

  • 12.00.4422.0.v1 (supported for all editions except Enterprise Edition, and all AWS regions except ca-central-1 and eu-west-2)

Microsoft SQL Server 2012

  • 11.00.6594.0.v1 (supported for all editions, and all AWS regions)

  • 11.00.6020.0.v1 (supported for all editions, and all AWS regions)

  • 11.00.5058.0.v1 (supported for all editions, and all AWS regions except us-east-2, ca-central-1, and eu-west-2)

  • 11.00.2100.60.v1 (supported for all editions, and all AWS regions except us-east-2, ca-central-1, and eu-west-2)

Microsoft SQL Server 2008 R2

  • 10.50.6529.0.v1 (supported for all editions, and all AWS regions except us-east-2, ca-central-1, and eu-west-2)

  • 10.50.6000.34.v1 (supported for all editions, and all AWS regions except us-east-2, ca-central-1, and eu-west-2)

  • 10.50.2789.0.v1 (supported for all editions, and all AWS regions except us-east-2, ca-central-1, and eu-west-2)

MySQL

  • 5.7.17 (supported in all AWS regions)

  • 5.7.16 (supported in all AWS regions)

  • 5.7.11 (supported in all AWS regions)

  • 5.6.35 (supported in all AWS regions)

  • 5.6.34 (supported in all AWS regions)

  • 5.6.29 (supported in all AWS regions)

  • 5.6.27 (supported in all regions except us-east-2, ca-central-1, eu-west-2)

  • 5.5.54 (supported in all AWS regions)

  • 5.5.53 (supported in all AWS regions)

  • 5.5.46 (supported in all AWS regions)

Oracle 12c

  • 12.1.0.2.v8 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v7 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v6 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v5 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v4 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v3 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v2 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

  • 12.1.0.2.v1 (supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)

Oracle 11g

  • 11.2.0.4.v12 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v11 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v10 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v9 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v8 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v7 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v6 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v5 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v4 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v3 (supported for EE, SE1, and SE, in all AWS regions)

  • 11.2.0.4.v1 (supported for EE, SE1, and SE, in all AWS regions)

PostgreSQL

  • Version 9.6.x: 9.6.1 | 9.6.2 | 9.6.3

  • Version 9.5.x: 9.5.6 | 9.5.4 | 9.5.2

  • Version 9.4.x: 9.4.11 | 9.4.9 | 9.4.7

  • Version 9.3.x: 9.3.16 | 9.3.14 | 9.3.12

", "CreateDBInstanceMessage$LicenseModel": "

License model information for this DB instance.

Valid values: license-included | bring-your-own-license | general-public-license

", "CreateDBInstanceMessage$OptionGroupName": "

Indicates that the DB instance should be associated with the specified option group.

Permanent options, such as the TDE option for Oracle Advanced Security TDE, cannot be removed from an option group, and that option group cannot be removed from a DB instance once it is associated with a DB instance

", - "CreateDBInstanceMessage$CharacterSetName": "

For supported engines, indicates that the DB instance should be associated with the specified CharacterSet.

", + "CreateDBInstanceMessage$CharacterSetName": "

For supported engines, indicates that the DB instance should be associated with the specified CharacterSet.

Amazon Aurora

Not applicable. The character set is managed by the DB cluster. For more information, see CreateDBCluster.

", "CreateDBInstanceMessage$DBClusterIdentifier": "

The identifier of the DB cluster that the instance will belong to.

For information on creating a DB cluster, see CreateDBCluster.

Type: String

", "CreateDBInstanceMessage$StorageType": "

Specifies the storage type to be associated with the DB instance.

Valid values: standard | gp2 | io1

If you specify io1, you must also include a value for the Iops parameter.

Default: io1 if the Iops parameter is specified; otherwise standard

", "CreateDBInstanceMessage$TdeCredentialArn": "

The ARN from the Key Store with which to associate the instance for TDE encryption.

", "CreateDBInstanceMessage$TdeCredentialPassword": "

The password for the given ARN from the Key Store in order to access the device.

", - "CreateDBInstanceMessage$KmsKeyId": "

The KMS key identifier for an encrypted DB instance.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key.

If the StorageEncrypted parameter is true, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.

", + "CreateDBInstanceMessage$KmsKeyId": "

The KMS key identifier for an encrypted DB instance.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key.

Amazon Aurora

Not applicable. The KMS key identifier is managed by the DB cluster. For more information, see CreateDBCluster.

If the StorageEncrypted parameter is true, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

", "CreateDBInstanceMessage$Domain": "

Specify the Active Directory Domain to create the instance in.

", "CreateDBInstanceMessage$MonitoringRoleArn": "

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to Setting Up and Enabling Enhanced Monitoring.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

", "CreateDBInstanceMessage$DomainIAMRoleName": "

Specify the name of the IAM role to be used when making API calls to the Directory Service.

", "CreateDBInstanceMessage$Timezone": "

The time zone of the DB instance. The time zone parameter is currently supported only by Microsoft SQL Server.

", + "CreateDBInstanceMessage$PerformanceInsightsKMSKeyId": null, "CreateDBInstanceReadReplicaMessage$DBInstanceIdentifier": "

The DB instance identifier of the Read Replica. This identifier is the unique key that identifies a DB instance. This parameter is stored as a lowercase string.

", - "CreateDBInstanceReadReplicaMessage$SourceDBInstanceIdentifier": "

The identifier of the DB instance that will act as the source for the Read Replica. Each DB instance can have up to five Read Replicas.

Constraints:

  • Must be the identifier of an existing MySQL, MariaDB, or PostgreSQL DB instance.

  • Can specify a DB instance that is a MySQL Read Replica only if the source is running MySQL 5.6.

  • Can specify a DB instance that is a PostgreSQL DB instance only if the source is running PostgreSQL 9.3.5 or later.

  • The specified DB instance must have automatic backups enabled, its backup retention period must be greater than 0.

  • If the source DB instance is in the same region as the Read Replica, specify a valid DB instance identifier.

  • If the source DB instance is in a different region than the Read Replica, specify a valid DB instance ARN. For more information, go to Constructing a Amazon RDS Amazon Resource Name (ARN).

", + "CreateDBInstanceReadReplicaMessage$SourceDBInstanceIdentifier": "

The identifier of the DB instance that will act as the source for the Read Replica. Each DB instance can have up to five Read Replicas.

Constraints:

  • Must be the identifier of an existing MySQL, MariaDB, or PostgreSQL DB instance.

  • Can specify a DB instance that is a MySQL Read Replica only if the source is running MySQL 5.6.

  • Can specify a DB instance that is a PostgreSQL DB instance only if the source is running PostgreSQL 9.3.5 or later (9.4.7 and higher for cross region replication).

  • The specified DB instance must have automatic backups enabled, its backup retention period must be greater than 0.

  • If the source DB instance is in the same AWS Region as the Read Replica, specify a valid DB instance identifier.

  • If the source DB instance is in a different AWS Region than the Read Replica, specify a valid DB instance ARN. For more information, go to Constructing a Amazon RDS Amazon Resource Name (ARN).

", "CreateDBInstanceReadReplicaMessage$DBInstanceClass": "

The compute and memory capacity of the Read Replica. Note that not all instance classes are available in all regions for all DB engines.

Valid Values: db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge |db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large

Default: Inherits from the source DB instance.

", - "CreateDBInstanceReadReplicaMessage$AvailabilityZone": "

The Amazon EC2 Availability Zone that the Read Replica will be created in.

Default: A random, system-chosen Availability Zone in the endpoint's region.

Example: us-east-1d

", + "CreateDBInstanceReadReplicaMessage$AvailabilityZone": "

The Amazon EC2 Availability Zone that the Read Replica will be created in.

Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

Example: us-east-1d

", "CreateDBInstanceReadReplicaMessage$OptionGroupName": "

The option group the DB instance will be associated with. If omitted, the default option group for the engine specified will be used.

", - "CreateDBInstanceReadReplicaMessage$DBSubnetGroupName": "

Specifies a DB subnet group for the DB instance. The new DB instance will be created in the VPC associated with the DB subnet group. If no DB subnet group is specified, then the new DB instance is not created in a VPC.

Constraints:

  • Can only be specified if the source DB instance identifier specifies a DB instance in another region.

  • The specified DB subnet group must be in the same region in which the operation is running.

  • All Read Replicas in one region that are created from the same source DB instance must either:>

    • Specify DB subnet groups from the same VPC. All these Read Replicas will be created in the same VPC.

    • Not specify a DB subnet group. All these Read Replicas will be created outside of any VPC.

Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.

Example: mySubnetgroup

", + "CreateDBInstanceReadReplicaMessage$DBSubnetGroupName": "

Specifies a DB subnet group for the DB instance. The new DB instance will be created in the VPC associated with the DB subnet group. If no DB subnet group is specified, then the new DB instance is not created in a VPC.

Constraints:

  • Can only be specified if the source DB instance identifier specifies a DB instance in another AWS Region.

  • The specified DB subnet group must be in the same AWS Region in which the operation is running.

  • All Read Replicas in one AWS Region that are created from the same source DB instance must either:>

    • Specify DB subnet groups from the same VPC. All these Read Replicas will be created in the same VPC.

    • Not specify a DB subnet group. All these Read Replicas will be created outside of any VPC.

Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.

Example: mySubnetgroup

", "CreateDBInstanceReadReplicaMessage$StorageType": "

Specifies the storage type to be associated with the Read Replica.

Valid values: standard | gp2 | io1

If you specify io1, you must also include a value for the Iops parameter.

Default: io1 if the Iops parameter is specified; otherwise standard

", "CreateDBInstanceReadReplicaMessage$MonitoringRoleArn": "

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

", - "CreateDBInstanceReadReplicaMessage$KmsKeyId": "

The AWS KMS key ID for an encrypted Read Replica. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

If you create an unencrypted Read Replica and specify a value for the KmsKeyId parameter, Amazon RDS encrypts the target Read Replica using the specified KMS encryption key.

If you create an encrypted Read Replica from your AWS account, you can specify a value for KmsKeyId to encrypt the Read Replica with a new KMS encryption key. If you don't specify a value for KmsKeyId, then the Read Replica is encrypted with the same KMS key as the source DB instance.

If you create an encrypted Read Replica in a different AWS region, then you must specify a KMS key for the destination AWS region. KMS encryption keys are specific to the region that they are created in, and you cannot use encryption keys from one region in another region.

", - "CreateDBInstanceReadReplicaMessage$PreSignedUrl": "

The URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica API action in the AWS region that contains the source DB instance. The PreSignedUrl parameter must be used when encrypting a Read Replica from another AWS region.

The presigned URL must be a valid request for the CreateDBInstanceReadReplica API action that can be executed in the source region that contains the encrypted DB instance. The presigned URL request must contain the following parameter values:

  • DestinationRegion - The AWS Region that the Read Replica is created in. This region is the same one where the CreateDBInstanceReadReplica action is called that contains this presigned URL.

    For example, if you create an encrypted Read Replica in the us-east-1 region, and the source DB instance is in the west-2 region, then you call the CreateDBInstanceReadReplica action in the us-east-1 region and provide a presigned URL that contains a call to the CreateDBInstanceReadReplica action in the us-west-2 region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 region.

  • KmsKeyId - The KMS key identifier for the key to use to encrypt the Read Replica in the destination region. This is the same identifier for both the CreateDBInstanceReadReplica action that is called in the destination region, and the action contained in the presigned URL.

  • SourceDBInstanceIdentifier - The DB instance identifier for the encrypted Read Replica to be created. This identifier must be in the Amazon Resource Name (ARN) format for the source region. For example, if you create an encrypted Read Replica from a DB instance in the us-west-2 region, then your SourceDBInstanceIdentifier would look like this example: arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-instance-20161115.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

", + "CreateDBInstanceReadReplicaMessage$KmsKeyId": "

The AWS KMS key ID for an encrypted Read Replica. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

If you specify this parameter when you create a Read Replica from an unencrypted DB instance, the Read Replica is encrypted.

If you create an encrypted Read Replica in the same AWS Region as the source DB instance, then you do not have to specify a value for this parameter. The Read Replica is encrypted with the same KMS key as the source DB instance.

If you create an encrypted Read Replica in a different AWS Region, then you must specify a KMS key for the destination AWS Region. KMS encryption keys are specific to the AWS Region that they are created in, and you cannot use encryption keys from one AWS Region in another AWS Region.

", + "CreateDBInstanceReadReplicaMessage$PreSignedUrl": "

The URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica API action in the source AWS Region that contains the source DB instance.

You must specify this parameter when you create an encrypted Read Replica from another AWS Region by using the Amazon RDS API. You can specify the source region option instead of this parameter when you create an encrypted Read Replica from another AWS Region by using the AWS CLI.

The presigned URL must be a valid request for the CreateDBInstanceReadReplica API action that can be executed in the source AWS Region that contains the encrypted source DB instance. The presigned URL request must contain the following parameter values:

  • DestinationRegion - The AWS Region that the encrypted Read Replica will be created in. This AWS Region is the same one where the CreateDBInstanceReadReplica action is called that contains this presigned URL.

    For example, if you create an encrypted DB instance in the us-west-1 region, from a source DB instance in the us-east-2 region, then you call the CreateDBInstanceReadReplica action in the us-east-1 region and provide a presigned URL that contains a call to the CreateDBInstanceReadReplica action in the us-west-2 region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 region.

  • KmsKeyId - The KMS key identifier for the key to use to encrypt the Read Replica in the destination AWS Region. This is the same identifier for both the CreateDBInstanceReadReplica action that is called in the destination AWS Region, and the action contained in the presigned URL.

  • SourceDBInstanceIdentifier - The DB instance identifier for the encrypted DB instance to be replicated. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are creating an encrypted Read Replica from a DB instance in the us-west-2 region, then your SourceDBInstanceIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

", + "CreateDBInstanceReadReplicaMessage$PerformanceInsightsKMSKeyId": null, "CreateDBParameterGroupMessage$DBParameterGroupName": "

The name of the DB parameter group.

Constraints:

  • Must be 1 to 255 alphanumeric characters

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

This value is stored as a lowercase string.

", "CreateDBParameterGroupMessage$DBParameterGroupFamily": "

The DB parameter group family name. A DB parameter group can be associated with one and only one DB parameter group family, and can be applied only to a DB instance running a database engine and engine version compatible with that DB parameter group family.

", "CreateDBParameterGroupMessage$Description": "

The description for the DB parameter group.

", @@ -2460,6 +2470,7 @@ "DBInstance$MonitoringRoleArn": "

The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to CloudWatch Logs.

", "DBInstance$DBInstanceArn": "

The Amazon Resource Name (ARN) for the DB instance.

", "DBInstance$Timezone": "

The time zone of the DB instance. In most cases, the Timezone element is empty. Timezone content appears only for Microsoft SQL Server DB instances that were created with a time zone specified.

", + "DBInstance$PerformanceInsightsKMSKeyId": null, "DBInstanceMessage$Marker": "

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

", "DBInstanceStatusInfo$StatusType": "

This value is currently \"read replication.\"

", "DBInstanceStatusInfo$Status": "

Status of the DB instance. For a StatusType of read replica, the values can be replicating, error, stopped, or terminated.

", @@ -2493,8 +2504,8 @@ "DBSnapshot$LicenseModel": "

License model information for the restored DB instance.

", "DBSnapshot$SnapshotType": "

Provides the type of the DB snapshot.

", "DBSnapshot$OptionGroupName": "

Provides the option group name for the DB snapshot.

", - "DBSnapshot$SourceRegion": "

The region that the DB snapshot was created in or copied from.

", - "DBSnapshot$SourceDBSnapshotIdentifier": "

The DB snapshot Arn that the DB snapshot was copied from. It only has value in case of cross customer or cross region copy.

", + "DBSnapshot$SourceRegion": "

The AWS Region that the DB snapshot was created in or copied from.

", + "DBSnapshot$SourceDBSnapshotIdentifier": "

The DB snapshot Amazon Resource Name (ARN) that the DB snapshot was copied from. It only has value in case of cross-customer or cross-region copy.

", "DBSnapshot$StorageType": "

Specifies the storage type associated with DB snapshot.

", "DBSnapshot$TdeCredentialArn": "

The ARN from the key store with which to associate the instance for TDE encryption.

", "DBSnapshot$KmsKeyId": "

If Encrypted is true, the KMS key identifier for the encrypted DB snapshot.

", @@ -2596,7 +2607,7 @@ "DescribeReservedDBInstancesOfferingsMessage$ProductDescription": "

Product description filter value. Specify this parameter to show only the available offerings matching the specified product description.

", "DescribeReservedDBInstancesOfferingsMessage$OfferingType": "

The offering type filter value. Specify this parameter to show only the available offerings matching the specified offering type.

Valid Values: \"Partial Upfront\" | \"All Upfront\" | \"No Upfront\"

", "DescribeReservedDBInstancesOfferingsMessage$Marker": "

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", - "DescribeSourceRegionsMessage$RegionName": "

The source region name. For example, us-east-1.

Constraints:

  • Must specify a valid AWS Region name.

", + "DescribeSourceRegionsMessage$RegionName": "

The source AWS Region name. For example, us-east-1.

Constraints:

  • Must specify a valid AWS Region name.

", "DescribeSourceRegionsMessage$Marker": "

An optional pagination token provided by a previous DescribeSourceRegions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", "DomainMembership$Domain": "

The identifier of the Active Directory Domain.

", "DomainMembership$Status": "

The status of the DB instance's Active Directory Domain membership, such as joined, pending-join, failed etc).

", @@ -2642,19 +2653,19 @@ "ModifyDBClusterMessage$DBClusterParameterGroupName": "

The name of the DB cluster parameter group to use for the DB cluster.

", "ModifyDBClusterMessage$MasterUserPassword": "

The new password for the master database user. This password can contain any printable ASCII character except \"/\", \"\"\", or \"@\".

Constraints: Must contain from 8 to 41 characters.

", "ModifyDBClusterMessage$OptionGroupName": "

A value that indicates that the DB cluster should be associated with the specified option group. Changing this parameter does not result in an outage except in the following case, and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted.

Permanent options cannot be removed from an option group. The option group cannot be removed from a DB cluster once it is associated with a DB cluster.

", - "ModifyDBClusterMessage$PreferredBackupWindow": "

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter.

Default: A 30-minute window selected at random from an 8-hour block of time per region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Times should be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

", - "ModifyDBClusterMessage$PreferredMaintenanceWindow": "

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

", + "ModifyDBClusterMessage$PreferredBackupWindow": "

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter.

Default: A 30-minute window selected at random from an 8-hour block of time per AWS Region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Times should be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

", + "ModifyDBClusterMessage$PreferredMaintenanceWindow": "

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

Default: A 30-minute window selected at random from an 8-hour block of time per AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

", "ModifyDBClusterParameterGroupMessage$DBClusterParameterGroupName": "

The name of the DB cluster parameter group to modify.

", "ModifyDBClusterSnapshotAttributeMessage$DBClusterSnapshotIdentifier": "

The identifier for the DB cluster snapshot to modify the attributes for.

", "ModifyDBClusterSnapshotAttributeMessage$AttributeName": "

The name of the DB cluster snapshot attribute to modify.

To manage authorization for other AWS accounts to copy or restore a manual DB cluster snapshot, set this value to restore.

", "ModifyDBInstanceMessage$DBInstanceIdentifier": "

The DB instance identifier. This value is stored as a lowercase string.

Constraints:

  • Must be the identifier for an existing DB instance

  • Must contain from 1 to 63 alphanumeric characters or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

", "ModifyDBInstanceMessage$DBInstanceClass": "

The new compute and memory capacity of the DB instance. To determine the instance classes that are available for a particular DB engine, use the DescribeOrderableDBInstanceOptions action. Note that not all instance classes are available in all regions for all DB engines.

Passing a value for this setting causes an outage during the change and is applied during the next maintenance window, unless ApplyImmediately is specified as true for this request.

Default: Uses existing setting

Valid Values: db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge | db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large

", "ModifyDBInstanceMessage$DBSubnetGroupName": "

The new DB subnet group for the DB instance. You can use this parameter to move your DB instance to a different VPC. If your DB instance is not in a VPC, you can also use this parameter to move your DB instance into a VPC. For more information, see Updating the VPC for a DB Instance.

Changing the subnet group causes an outage during the change. The change is applied during the next maintenance window, unless you specify true for the ApplyImmediately parameter.

Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens.

Example: mySubnetGroup

", - "ModifyDBInstanceMessage$MasterUserPassword": "

The new password for the DB instance master user. Can be any printable ASCII character except \"/\", \"\"\", or \"@\".

Changing this parameter does not result in an outage and the change is asynchronously applied as soon as possible. Between the time of the request and the completion of the request, the MasterUserPassword element exists in the PendingModifiedValues element of the operation response.

Default: Uses existing setting

Constraints: Must be 8 to 41 alphanumeric characters (MySQL, MariaDB, and Amazon Aurora), 8 to 30 alphanumeric characters (Oracle), or 8 to 128 alphanumeric characters (SQL Server).

Amazon RDS API actions never return the password, so this action provides a way to regain access to a primary instance user if the password is lost. This includes restoring privileges that might have been accidentally revoked.

", + "ModifyDBInstanceMessage$MasterUserPassword": "

The new password for the master user. Can be any printable ASCII character except \"/\", \"\"\", or \"@\".

Changing this parameter does not result in an outage and the change is asynchronously applied as soon as possible. Between the time of the request and the completion of the request, the MasterUserPassword element exists in the PendingModifiedValues element of the operation response.

Amazon Aurora

Not applicable. The password for the master user is managed by the DB cluster. For more information, see ModifyDBCluster.

Default: Uses existing setting

Constraints: Must be 8 to 41 alphanumeric characters (MySQL, MariaDB, and Amazon Aurora), 8 to 30 alphanumeric characters (Oracle), or 8 to 128 alphanumeric characters (SQL Server).

Amazon RDS API actions never return the password, so this action provides a way to regain access to a primary instance user if the password is lost. This includes restoring privileges that might have been accidentally revoked.

", "ModifyDBInstanceMessage$DBParameterGroupName": "

The name of the DB parameter group to apply to the DB instance. Changing this setting does not result in an outage. The parameter group name itself is changed immediately, but the actual parameter changes are not applied until you reboot the instance without failover. The db instance will NOT be rebooted automatically and the parameter changes will NOT be applied during the next maintenance window.

Default: Uses existing setting

Constraints: The DB parameter group must be in the same DB parameter group family as this DB instance.

", - "ModifyDBInstanceMessage$PreferredBackupWindow": "

The daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod parameter. Changing this parameter does not result in an outage and the change is asynchronously applied as soon as possible.

Constraints:

  • Must be in the format hh24:mi-hh24:mi

  • Times should be in Universal Time Coordinated (UTC)

  • Must not conflict with the preferred maintenance window

  • Must be at least 30 minutes

", + "ModifyDBInstanceMessage$PreferredBackupWindow": "

The daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod parameter. Changing this parameter does not result in an outage and the change is asynchronously applied as soon as possible.

Amazon Aurora

Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see ModifyDBCluster.

Constraints:

  • Must be in the format hh24:mi-hh24:mi

  • Times should be in Universal Time Coordinated (UTC)

  • Must not conflict with the preferred maintenance window

  • Must be at least 30 minutes

", "ModifyDBInstanceMessage$PreferredMaintenanceWindow": "

The weekly time range (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter does not result in an outage, except in the following situation, and the change is asynchronously applied as soon as possible. If there are pending actions that cause a reboot, and the maintenance window is changed to include the current time, then changing this parameter will cause a reboot of the DB instance. If moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure pending changes are applied.

Default: Uses existing setting

Format: ddd:hh24:mi-ddd:hh24:mi

Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

Constraints: Must be at least 30 minutes

", - "ModifyDBInstanceMessage$EngineVersion": "

The version number of the database engine to upgrade to. Changing this parameter results in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request.

For major version upgrades, if a non-default DB parameter group is currently in use, a new DB parameter group in the DB parameter group family for the new engine version must be specified. The new DB parameter group can be the default for that DB parameter group family.

For a list of valid engine versions, see CreateDBInstance.

", + "ModifyDBInstanceMessage$EngineVersion": "

The version number of the database engine to upgrade to. Changing this parameter results in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request.

For major version upgrades, if a nondefault DB parameter group is currently in use, a new DB parameter group in the DB parameter group family for the new engine version must be specified. The new DB parameter group can be the default for that DB parameter group family.

For a list of valid engine versions, see CreateDBInstance.

", "ModifyDBInstanceMessage$LicenseModel": "

The license model for the DB instance.

Valid values: license-included | bring-your-own-license | general-public-license

", "ModifyDBInstanceMessage$OptionGroupName": "

Indicates that the DB instance should be associated with the specified option group. Changing this parameter does not result in an outage except in the following case and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted.

Permanent options, such as the TDE option for Oracle Advanced Security TDE, cannot be removed from an option group, and that option group cannot be removed from a DB instance once it is associated with a DB instance

", "ModifyDBInstanceMessage$NewDBInstanceIdentifier": "

The new DB instance identifier for the DB instance when renaming a DB instance. When you change the DB instance identifier, an instance reboot will occur immediately if you set Apply Immediately to true, or will occur during the next maintenance window if Apply Immediately to false. This value is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

", @@ -2665,11 +2676,13 @@ "ModifyDBInstanceMessage$Domain": "

The Active Directory Domain to move the instance to. Specify none to remove the instance from its current domain. The domain must be created prior to this operation. Currently only a Microsoft SQL Server instance can be created in a Active Directory Domain.

", "ModifyDBInstanceMessage$MonitoringRoleArn": "

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

", "ModifyDBInstanceMessage$DomainIAMRoleName": "

The name of the IAM role to use when making API calls to the Directory Service.

", + "ModifyDBInstanceMessage$PerformanceInsightsKMSKeyId": null, "ModifyDBParameterGroupMessage$DBParameterGroupName": "

The name of the DB parameter group.

Constraints:

  • Must be the name of an existing DB parameter group

  • Must be 1 to 255 alphanumeric characters

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

", "ModifyDBSnapshotAttributeMessage$DBSnapshotIdentifier": "

The identifier for the DB snapshot to modify the attributes for.

", "ModifyDBSnapshotAttributeMessage$AttributeName": "

The name of the DB snapshot attribute to modify.

To manage authorization for other AWS accounts to copy or restore a manual DB snapshot, set this value to restore.

", "ModifyDBSnapshotMessage$DBSnapshotIdentifier": "

The identifier of the DB snapshot to modify.

", - "ModifyDBSnapshotMessage$EngineVersion": "

The engine version to update the DB snapshot to.

", + "ModifyDBSnapshotMessage$EngineVersion": "

The engine version to upgrade the DB snapshot to.

The following are the database engines and engine versions that are available when you upgrade a DB snapshot.

MySQL

  • 5.5.46 (supported for 5.1 DB snapshots)

Oracle

  • 12.1.0.2.v8 (supported for 12.1.0.1 DB snapshots)

  • 11.2.0.4.v12 (supported for 11.2.0.2 DB snapshots)

  • 11.2.0.4.v11 (supported for 11.2.0.3 DB snapshots)

", + "ModifyDBSnapshotMessage$OptionGroupName": "

The option group to identify with the upgraded DB snapshot.

You can specify this parameter when you upgrade an Oracle DB snapshot. The same option group considerations apply when upgrading a DB snapshot as when upgrading a DB instance. For more information, see Option Group Considerations.

", "ModifyDBSubnetGroupMessage$DBSubnetGroupName": "

The name for the DB subnet group. This value is stored as a lowercase string.

Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.

Example: mySubnetgroup

", "ModifyDBSubnetGroupMessage$DBSubnetGroupDescription": "

The description for the DB subnet group.

", "ModifyEventSubscriptionMessage$SubscriptionName": "

The name of the RDS event notification subscription.

", @@ -2740,7 +2753,7 @@ "PendingModifiedValues$DBSubnetGroupName": "

The new DB subnet group for the DB instance.

", "PromoteReadReplicaDBClusterMessage$DBClusterIdentifier": "

The identifier of the DB cluster Read Replica to promote. This parameter is not case-sensitive.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster-replica1

", "PromoteReadReplicaMessage$DBInstanceIdentifier": "

The DB instance identifier. This value is stored as a lowercase string.

Constraints:

  • Must be the identifier for an existing Read Replica DB instance

  • Must contain from 1 to 63 alphanumeric characters or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: mydbinstance

", - "PromoteReadReplicaMessage$PreferredBackupWindow": "

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter.

Default: A 30-minute window selected at random from an 8-hour block of time per region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Times should be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

", + "PromoteReadReplicaMessage$PreferredBackupWindow": "

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter.

Default: A 30-minute window selected at random from an 8-hour block of time per AWS Region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Times should be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

", "PurchaseReservedDBInstancesOfferingMessage$ReservedDBInstancesOfferingId": "

The ID of the Reserved DB instance offering to purchase.

Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

", "PurchaseReservedDBInstancesOfferingMessage$ReservedDBInstanceId": "

Customer-specified identifier to track this reservation.

Example: myreservationID

", "ReadReplicaDBClusterIdentifierList$member": null, @@ -2781,29 +2794,29 @@ "RestoreDBClusterFromS3Message$MasterUsername": "

The name of the master user for the restored DB cluster.

Constraints:

  • Must be 1 to 16 alphanumeric characters.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

", "RestoreDBClusterFromS3Message$MasterUserPassword": "

The password for the master database user. This password can contain any printable ASCII character except \"/\", \"\"\", or \"@\".

Constraints: Must contain from 8 to 41 characters.

", "RestoreDBClusterFromS3Message$OptionGroupName": "

A value that indicates that the restored DB cluster should be associated with the specified option group.

Permanent options cannot be removed from an option group. An option group cannot be removed from a DB cluster once it is associated with a DB cluster.

", - "RestoreDBClusterFromS3Message$PreferredBackupWindow": "

The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.

Default: A 30-minute window selected at random from an 8-hour block of time per region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Times should be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

", - "RestoreDBClusterFromS3Message$PreferredMaintenanceWindow": "

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

", - "RestoreDBClusterFromS3Message$KmsKeyId": "

The KMS key identifier for an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KM encryption key.

If the StorageEncrypted parameter is true, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.

", + "RestoreDBClusterFromS3Message$PreferredBackupWindow": "

The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.

Default: A 30-minute window selected at random from an 8-hour block of time per AWS Region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Times should be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

", + "RestoreDBClusterFromS3Message$PreferredMaintenanceWindow": "

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

Default: A 30-minute window selected at random from an 8-hour block of time per AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

", + "RestoreDBClusterFromS3Message$KmsKeyId": "

The KMS key identifier for an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KM encryption key.

If the StorageEncrypted parameter is true, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

", "RestoreDBClusterFromS3Message$SourceEngine": "

The identifier for the database engine that was backed up to create the files stored in the Amazon S3 bucket.

Valid values: mysql

", "RestoreDBClusterFromS3Message$SourceEngineVersion": "

The version of the database that the backup files were created from.

MySQL version 5.5 and 5.6 are supported.

Example: 5.6.22

", "RestoreDBClusterFromS3Message$S3BucketName": "

The name of the Amazon S3 bucket that contains the data used to create the Amazon Aurora DB cluster.

", "RestoreDBClusterFromS3Message$S3Prefix": "

The prefix for all of the file names that contain the data used to create the Amazon Aurora DB cluster. If you do not specify a SourceS3Prefix value, then the Amazon Aurora DB cluster is created by using all of the files in the Amazon S3 bucket.

", "RestoreDBClusterFromS3Message$S3IngestionRoleArn": "

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorizes Amazon RDS to access the Amazon S3 bucket on your behalf.

", - "RestoreDBClusterFromSnapshotMessage$DBClusterIdentifier": "

The name of the DB cluster to create from the DB cluster snapshot. This parameter isn't case-sensitive.

Constraints:

  • Must contain from 1 to 255 alphanumeric characters or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-snapshot-id

", - "RestoreDBClusterFromSnapshotMessage$SnapshotIdentifier": "

The identifier for the DB cluster snapshot to restore from.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

", + "RestoreDBClusterFromSnapshotMessage$DBClusterIdentifier": "

The name of the DB cluster to create from the DB snapshot or DB cluster snapshot. This parameter isn't case-sensitive.

Constraints:

  • Must contain from 1 to 255 alphanumeric characters or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-snapshot-id

", + "RestoreDBClusterFromSnapshotMessage$SnapshotIdentifier": "

The identifier for the DB snapshot or DB cluster snapshot to restore from.

You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can use only the ARN to specify a DB snapshot.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

", "RestoreDBClusterFromSnapshotMessage$Engine": "

The database engine to use for the new DB cluster.

Default: The same as source

Constraint: Must be compatible with the engine of the source

", "RestoreDBClusterFromSnapshotMessage$EngineVersion": "

The version of the database engine to use for the new DB cluster.

", "RestoreDBClusterFromSnapshotMessage$DBSubnetGroupName": "

The name of the DB subnet group to use for the new DB cluster.

Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.

Example: mySubnetgroup

", "RestoreDBClusterFromSnapshotMessage$DatabaseName": "

The database name for the restored DB cluster.

", "RestoreDBClusterFromSnapshotMessage$OptionGroupName": "

The name of the option group to use for the restored DB cluster.

", - "RestoreDBClusterFromSnapshotMessage$KmsKeyId": "

The KMS key identifier to use when restoring an encrypted DB cluster from a DB cluster snapshot.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

If you do not specify a value for the KmsKeyId parameter, then the following will occur:

  • If the DB cluster snapshot is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the DB cluster snapshot.

  • If the DB cluster snapshot is not encrypted, then the restored DB cluster is encrypted using the specified encryption key.

", + "RestoreDBClusterFromSnapshotMessage$KmsKeyId": "

The KMS key identifier to use when restoring an encrypted DB cluster from a DB snapshot or DB cluster snapshot.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

If you do not specify a value for the KmsKeyId parameter, then the following will occur:

  • If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the DB snapshot or DB cluster snapshot.

  • If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is not encrypted, then the restored DB cluster is not encrypted.

", "RestoreDBClusterToPointInTimeMessage$DBClusterIdentifier": "

The name of the new DB cluster to be created.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

", "RestoreDBClusterToPointInTimeMessage$RestoreType": "

The type of restore to be performed. You can specify one of the following values:

  • full-copy - The new DB cluster is restored as a full copy of the source DB cluster.

  • copy-on-write - The new DB cluster is restored as a clone of the source DB cluster.

Constraints: You cannot specify copy-on-write if the engine version of the source DB cluster is earlier than 1.11.

If you don't specify a RestoreType value, then the new DB cluster is restored as a full copy of the source DB cluster.

", "RestoreDBClusterToPointInTimeMessage$SourceDBClusterIdentifier": "

The identifier of the source DB cluster from which to restore.

Constraints:

  • Must be the identifier of an existing database instance

  • Must contain from 1 to 63 alphanumeric characters or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

", "RestoreDBClusterToPointInTimeMessage$DBSubnetGroupName": "

The DB subnet group name to use for the new DB cluster.

Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.

Example: mySubnetgroup

", "RestoreDBClusterToPointInTimeMessage$OptionGroupName": "

The name of the option group for the new DB cluster.

", "RestoreDBClusterToPointInTimeMessage$KmsKeyId": "

The KMS key identifier to use when restoring an encrypted DB cluster from an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

You can restore to a new DB cluster and encrypt the new DB cluster with a KMS key that is different than the KMS key used to encrypt the source DB cluster. The new DB cluster will be encrypted with the KMS key identified by the KmsKeyId parameter.

If you do not specify a value for the KmsKeyId parameter, then the following will occur:

  • If the DB cluster is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the source DB cluster.

  • If the DB cluster is not encrypted, then the restored DB cluster is not encrypted.

If DBClusterIdentifier refers to a DB cluster that is not encrypted, then the restore request is rejected.

", - "RestoreDBInstanceFromDBSnapshotMessage$DBInstanceIdentifier": "

Name of the DB instance to create from the DB snapshot. This parameter isn't case-sensitive.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens (1 to 15 for SQL Server)

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-snapshot-id

", + "RestoreDBInstanceFromDBSnapshotMessage$DBInstanceIdentifier": "

Name of the DB instance to create from the DB snapshot. This parameter isn't case-sensitive.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-snapshot-id

", "RestoreDBInstanceFromDBSnapshotMessage$DBSnapshotIdentifier": "

The identifier for the DB snapshot to restore from.

Constraints:

  • Must contain from 1 to 255 alphanumeric characters or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier must be the ARN of the shared DB snapshot.

", "RestoreDBInstanceFromDBSnapshotMessage$DBInstanceClass": "

The compute and memory capacity of the Amazon RDS DB instance.

Valid Values: db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large

", "RestoreDBInstanceFromDBSnapshotMessage$AvailabilityZone": "

The EC2 Availability Zone that the database instance will be created in.

Default: A random, system-chosen Availability Zone.

Constraint: You cannot specify the AvailabilityZone parameter if the MultiAZ parameter is set to true.

Example: us-east-1a

", @@ -2837,9 +2850,9 @@ "RevokeDBSecurityGroupIngressMessage$EC2SecurityGroupId": "

The id of the EC2 security group to revoke access from. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.

", "RevokeDBSecurityGroupIngressMessage$EC2SecurityGroupOwnerId": "

The AWS Account Number of the owner of the EC2 security group specified in the EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable value. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.

", "SourceIdsList$member": null, - "SourceRegion$RegionName": "

The source region name.

", - "SourceRegion$Endpoint": "

The source region endpoint.

", - "SourceRegion$Status": "

The status of the source region.

", + "SourceRegion$RegionName": "

The name of the source AWS Region.

", + "SourceRegion$Endpoint": "

The endpoint for the source AWS Region endpoint.

", + "SourceRegion$Status": "

The status of the source AWS Region.

", "SourceRegionMessage$Marker": "

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", "StartDBInstanceMessage$DBInstanceIdentifier": "

The user-supplied instance identifier.

", "StopDBInstanceMessage$DBInstanceIdentifier": "

The user-supplied instance identifier.

", @@ -2996,9 +3009,9 @@ "base": null, "refs": { "CreateDBClusterMessage$VpcSecurityGroupIds": "

A list of EC2 VPC security groups to associate with this DB cluster.

", - "CreateDBInstanceMessage$VpcSecurityGroupIds": "

A list of EC2 VPC security groups to associate with this DB instance.

Default: The default EC2 VPC security group for the DB subnet group's VPC.

", + "CreateDBInstanceMessage$VpcSecurityGroupIds": "

A list of EC2 VPC security groups to associate with this DB instance.

Amazon Aurora

Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more information, see CreateDBCluster.

Default: The default EC2 VPC security group for the DB subnet group's VPC.

", "ModifyDBClusterMessage$VpcSecurityGroupIds": "

A list of VPC security groups that the DB cluster will belong to.

", - "ModifyDBInstanceMessage$VpcSecurityGroupIds": "

A list of EC2 VPC security groups to authorize on this DB instance. This change is asynchronously applied as soon as possible.

Constraints:

  • Must be 1 to 255 alphanumeric characters

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

", + "ModifyDBInstanceMessage$VpcSecurityGroupIds": "

A list of EC2 VPC security groups to authorize on this DB instance. This change is asynchronously applied as soon as possible.

Amazon Aurora

Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more information, see ModifyDBCluster.

Constraints:

  • Must be 1 to 255 alphanumeric characters

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

", "OptionConfiguration$VpcSecurityGroupMemberships": "

A list of VpcSecurityGroupMemebrship name strings used for this option.

", "RestoreDBClusterFromS3Message$VpcSecurityGroupIds": "

A list of EC2 VPC security groups to associate with the restored DB cluster.

", "RestoreDBClusterFromSnapshotMessage$VpcSecurityGroupIds": "

A list of VPC security groups that the new DB cluster will belong to.

", diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/rekognition/2016-06-27/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/rekognition/2016-06-27/api-2.json index b2d0df947..3a1cd253f 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/rekognition/2016-06-27/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/rekognition/2016-06-27/api-2.json @@ -612,8 +612,8 @@ "GenderType":{ "type":"string", "enum":[ - "MALE", - "FEMALE" + "Male", + "Female" ] }, "GetCelebrityInfoRequest":{ @@ -732,31 +732,31 @@ "LandmarkType":{ "type":"string", "enum":[ - "EYE_LEFT", - "EYE_RIGHT", - "NOSE", - "MOUTH_LEFT", - "MOUTH_RIGHT", - "LEFT_EYEBROW_LEFT", - "LEFT_EYEBROW_RIGHT", - "LEFT_EYEBROW_UP", - "RIGHT_EYEBROW_LEFT", - "RIGHT_EYEBROW_RIGHT", - "RIGHT_EYEBROW_UP", - "LEFT_EYE_LEFT", - "LEFT_EYE_RIGHT", - "LEFT_EYE_UP", - "LEFT_EYE_DOWN", - "RIGHT_EYE_LEFT", - "RIGHT_EYE_RIGHT", - "RIGHT_EYE_UP", - "RIGHT_EYE_DOWN", - "NOSE_LEFT", - "NOSE_RIGHT", - "MOUTH_UP", - "MOUTH_DOWN", - "LEFT_PUPIL", - "RIGHT_PUPIL" + "eyeLeft", + "eyeRight", + "nose", + "mouthLeft", + "mouthRight", + "leftEyeBrowLeft", + "leftEyeBrowRight", + "leftEyeBrowUp", + "rightEyeBrowLeft", + "rightEyeBrowRight", + "rightEyeBrowUp", + "leftEyeLeft", + "leftEyeRight", + "leftEyeUp", + "leftEyeDown", + "rightEyeLeft", + "rightEyeRight", + "rightEyeUp", + "rightEyeDown", + "noseLeft", + "noseRight", + "mouthUp", + "mouthDown", + "leftPupil", + "rightPupil" ] }, "Landmarks":{ diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/rekognition/2016-06-27/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/rekognition/2016-06-27/docs-2.json index 8b9324534..4bec8dcda 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/rekognition/2016-06-27/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/rekognition/2016-06-27/docs-2.json @@ -332,8 +332,8 @@ "BoundingBox$Top": "

Top coordinate of the bounding box as a ratio of overall image height.

", "ImageQuality$Brightness": "

Value representing brightness of the face. The service returns a value between 0 and 100 (inclusive). A higher value indicates a brighter face image.

", "ImageQuality$Sharpness": "

Value representing sharpness of the face. The service returns a value between 0 and 100 (inclusive). A higher value indicates a sharper face image.

", - "Landmark$X": "

x-coordinate from the top left of the landmark expressed as the ration of the width of the image. For example, if the images is 700x200 and the x-coordinate of the landmark is at 350 pixels, this value is 0.5.

", - "Landmark$Y": "

y-coordinate from the top left of the landmark expressed as the ration of the height of the image. For example, if the images is 700x200 and the y-coordinate of the landmark is at 100 pixels, this value is 0.5.

" + "Landmark$X": "

x-coordinate from the top left of the landmark expressed as the ratio of the width of the image. For example, if the images is 700x200 and the x-coordinate of the landmark is at 350 pixels, this value is 0.5.

", + "Landmark$Y": "

y-coordinate from the top left of the landmark expressed as the ratio of the height of the image. For example, if the images is 700x200 and the y-coordinate of the landmark is at 100 pixels, this value is 0.5.

" } }, "Gender": { diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/rekognition/2016-06-27/examples-1.json b/vendor/github.com/aws/aws-sdk-go/models/apis/rekognition/2016-06-27/examples-1.json index 20b032800..039e04d60 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/rekognition/2016-06-27/examples-1.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/rekognition/2016-06-27/examples-1.json @@ -139,27 +139,27 @@ "Confidence": 100, "Landmarks": [ { - "Type": "EYE_LEFT", + "Type": "eyeLeft", "X": 0.6394737362861633, "Y": 0.40819624066352844 }, { - "Type": "EYE_RIGHT", + "Type": "eyeRight", "X": 0.7266660928726196, "Y": 0.41039225459098816 }, { - "Type": "NOSE_LEFT", + "Type": "eyeRight", "X": 0.6912462115287781, "Y": 0.44240960478782654 }, { - "Type": "MOUTH_DOWN", + "Type": "mouthDown", "X": 0.6306198239326477, "Y": 0.46700039505958557 }, { - "Type": "MOUTH_UP", + "Type": "mouthUp", "X": 0.7215608954429626, "Y": 0.47114261984825134 } @@ -262,27 +262,27 @@ "Confidence": 99.9991226196289, "Landmarks": [ { - "Type": "EYE_LEFT", + "Type": "eyeLeft", "X": 0.3976764678955078, "Y": 0.6248345971107483 }, { - "Type": "EYE_RIGHT", + "Type": "eyeRight", "X": 0.4810936450958252, "Y": 0.6317117214202881 }, { - "Type": "NOSE_LEFT", + "Type": "noseLeft", "X": 0.41986238956451416, "Y": 0.7111940383911133 }, { - "Type": "MOUTH_DOWN", + "Type": "mouthDown", "X": 0.40525302290916443, "Y": 0.7497701048851013 }, { - "Type": "MOUTH_UP", + "Type": "mouthUp", "X": 0.4753248989582062, "Y": 0.7558549642562866 } @@ -320,27 +320,27 @@ "Confidence": 99.99950408935547, "Landmarks": [ { - "Type": "EYE_LEFT", + "Type": "eyeLeft", "X": 0.6006892323493958, "Y": 0.290842205286026 }, { - "Type": "EYE_RIGHT", + "Type": "eyeRight", "X": 0.6808141469955444, "Y": 0.29609042406082153 }, { - "Type": "NOSE_LEFT", + "Type": "noseLeft", "X": 0.6395332217216492, "Y": 0.3522595763206482 }, { - "Type": "MOUTH_DOWN", + "Type": "mouthDown", "X": 0.5892083048820496, "Y": 0.38689887523651123 }, { - "Type": "MOUTH_UP", + "Type": "mouthUp", "X": 0.674560010433197, "Y": 0.394125759601593 } diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/route53/2013-04-01/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/route53/2013-04-01/api-2.json index bb8ad6cce..523211ff4 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/route53/2013-04-01/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/route53/2013-04-01/api-2.json @@ -117,6 +117,28 @@ {"shape":"DelegationSetNotReusable"} ] }, + "CreateQueryLoggingConfig":{ + "name":"CreateQueryLoggingConfig", + "http":{ + "method":"POST", + "requestUri":"/2013-04-01/queryloggingconfig", + "responseCode":201 + }, + "input":{ + "shape":"CreateQueryLoggingConfigRequest", + "locationName":"CreateQueryLoggingConfigRequest", + "xmlNamespace":{"uri":"https://route53.amazonaws.com/doc/2013-04-01/"} + }, + "output":{"shape":"CreateQueryLoggingConfigResponse"}, + "errors":[ + {"shape":"ConcurrentModification"}, + {"shape":"NoSuchHostedZone"}, + {"shape":"NoSuchCloudWatchLogsLogGroup"}, + {"shape":"InvalidInput"}, + {"shape":"QueryLoggingConfigAlreadyExists"}, + {"shape":"InsufficientCloudWatchLogsResourcePolicy"} + ] + }, "CreateReusableDelegationSet":{ "name":"CreateReusableDelegationSet", "http":{ @@ -251,6 +273,20 @@ {"shape":"InvalidDomainName"} ] }, + "DeleteQueryLoggingConfig":{ + "name":"DeleteQueryLoggingConfig", + "http":{ + "method":"DELETE", + "requestUri":"/2013-04-01/queryloggingconfig/{Id}" + }, + "input":{"shape":"DeleteQueryLoggingConfigRequest"}, + "output":{"shape":"DeleteQueryLoggingConfigResponse"}, + "errors":[ + {"shape":"ConcurrentModification"}, + {"shape":"NoSuchQueryLoggingConfig"}, + {"shape":"InvalidInput"} + ] + }, "DeleteReusableDelegationSet":{ "name":"DeleteReusableDelegationSet", "http":{ @@ -444,6 +480,19 @@ {"shape":"InvalidInput"} ] }, + "GetQueryLoggingConfig":{ + "name":"GetQueryLoggingConfig", + "http":{ + "method":"GET", + "requestUri":"/2013-04-01/queryloggingconfig/{Id}" + }, + "input":{"shape":"GetQueryLoggingConfigRequest"}, + "output":{"shape":"GetQueryLoggingConfigResponse"}, + "errors":[ + {"shape":"NoSuchQueryLoggingConfig"}, + {"shape":"InvalidInput"} + ] + }, "GetReusableDelegationSet":{ "name":"GetReusableDelegationSet", "http":{ @@ -545,6 +594,20 @@ {"shape":"InvalidDomainName"} ] }, + "ListQueryLoggingConfigs":{ + "name":"ListQueryLoggingConfigs", + "http":{ + "method":"GET", + "requestUri":"/2013-04-01/queryloggingconfig" + }, + "input":{"shape":"ListQueryLoggingConfigsRequest"}, + "output":{"shape":"ListQueryLoggingConfigsResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"InvalidPaginationToken"}, + {"shape":"NoSuchHostedZone"} + ] + }, "ListResourceRecordSets":{ "name":"ListResourceRecordSets", "http":{ @@ -966,6 +1029,7 @@ "Dimensions":{"shape":"DimensionList"} } }, + "CloudWatchLogsLogGroupArn":{"type":"string"}, "CloudWatchRegion":{ "type":"string", "enum":[ @@ -1079,6 +1143,32 @@ } } }, + "CreateQueryLoggingConfigRequest":{ + "type":"structure", + "required":[ + "HostedZoneId", + "CloudWatchLogsLogGroupArn" + ], + "members":{ + "HostedZoneId":{"shape":"ResourceId"}, + "CloudWatchLogsLogGroupArn":{"shape":"CloudWatchLogsLogGroupArn"} + } + }, + "CreateQueryLoggingConfigResponse":{ + "type":"structure", + "required":[ + "QueryLoggingConfig", + "Location" + ], + "members":{ + "QueryLoggingConfig":{"shape":"QueryLoggingConfig"}, + "Location":{ + "shape":"ResourceURI", + "location":"header", + "locationName":"Location" + } + } + }, "CreateReusableDelegationSetRequest":{ "type":"structure", "required":["CallerReference"], @@ -1316,6 +1406,22 @@ "ChangeInfo":{"shape":"ChangeInfo"} } }, + "DeleteQueryLoggingConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"QueryLoggingConfigId", + "location":"uri", + "locationName":"Id" + } + } + }, + "DeleteQueryLoggingConfigResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteReusableDelegationSetRequest":{ "type":"structure", "required":["Id"], @@ -1673,6 +1779,24 @@ "VPCs":{"shape":"VPCs"} } }, + "GetQueryLoggingConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"QueryLoggingConfigId", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetQueryLoggingConfigResponse":{ + "type":"structure", + "required":["QueryLoggingConfig"], + "members":{ + "QueryLoggingConfig":{"shape":"QueryLoggingConfig"} + } + }, "GetReusableDelegationSetRequest":{ "type":"structure", "required":["Id"], @@ -1803,6 +1927,7 @@ "members":{ "message":{"shape":"ErrorMessage"} }, + "deprecated":true, "error":{"httpStatusCode":400}, "exception":true }, @@ -1954,6 +2079,14 @@ "error":{"httpStatusCode":400}, "exception":true }, + "InsufficientCloudWatchLogsResourcePolicy":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "InsufficientDataHealthStatus":{ "type":"string", "enum":[ @@ -2179,6 +2312,34 @@ "MaxItems":{"shape":"PageMaxItems"} } }, + "ListQueryLoggingConfigsRequest":{ + "type":"structure", + "members":{ + "HostedZoneId":{ + "shape":"ResourceId", + "location":"querystring", + "locationName":"hostedzoneid" + }, + "NextToken":{ + "shape":"PaginationToken", + "location":"querystring", + "locationName":"nexttoken" + }, + "MaxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxresults" + } + } + }, + "ListQueryLoggingConfigsResponse":{ + "type":"structure", + "required":["QueryLoggingConfigs"], + "members":{ + "QueryLoggingConfigs":{"shape":"QueryLoggingConfigs"}, + "NextToken":{"shape":"PaginationToken"} + } + }, "ListResourceRecordSetsRequest":{ "type":"structure", "required":["HostedZoneId"], @@ -2570,6 +2731,14 @@ "error":{"httpStatusCode":404}, "exception":true }, + "NoSuchCloudWatchLogsLogGroup":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":404}, + "exception":true + }, "NoSuchDelegationSet":{ "type":"structure", "members":{ @@ -2601,6 +2770,14 @@ "error":{"httpStatusCode":404}, "exception":true }, + "NoSuchQueryLoggingConfig":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":404}, + "exception":true + }, "NoSuchTrafficPolicy":{ "type":"structure", "members":{ @@ -2665,6 +2842,39 @@ "error":{"httpStatusCode":400}, "exception":true }, + "QueryLoggingConfig":{ + "type":"structure", + "required":[ + "Id", + "HostedZoneId", + "CloudWatchLogsLogGroupArn" + ], + "members":{ + "Id":{"shape":"QueryLoggingConfigId"}, + "HostedZoneId":{"shape":"ResourceId"}, + "CloudWatchLogsLogGroupArn":{"shape":"CloudWatchLogsLogGroupArn"} + } + }, + "QueryLoggingConfigAlreadyExists":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "QueryLoggingConfigId":{ + "type":"string", + "max":36, + "min":1 + }, + "QueryLoggingConfigs":{ + "type":"list", + "member":{ + "shape":"QueryLoggingConfig", + "locationName":"QueryLoggingConfig" + } + }, "RData":{ "type":"string", "max":4000 @@ -2682,7 +2892,8 @@ "PTR", "SRV", "SPF", - "AAAA" + "AAAA", + "CAA" ] }, "RecordData":{ @@ -2702,6 +2913,25 @@ "max":30, "min":10 }, + "ResettableElementName":{ + "type":"string", + "enum":[ + "FullyQualifiedDomainName", + "Regions", + "ResourcePath", + "ChildHealthChecks" + ], + "max":64, + "min":1 + }, + "ResettableElementNameList":{ + "type":"list", + "member":{ + "shape":"ResettableElementName", + "locationName":"ResettableElementName" + }, + "max":64 + }, "ResourceDescription":{ "type":"string", "max":256 @@ -3171,7 +3401,8 @@ "EnableSNI":{"shape":"EnableSNI"}, "Regions":{"shape":"HealthCheckRegionList"}, "AlarmIdentifier":{"shape":"AlarmIdentifier"}, - "InsufficientDataHealthStatus":{"shape":"InsufficientDataHealthStatus"} + "InsufficientDataHealthStatus":{"shape":"InsufficientDataHealthStatus"}, + "ResetElements":{"shape":"ResettableElementNameList"} } }, "UpdateHealthCheckResponse":{ diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/route53/2013-04-01/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/route53/2013-04-01/docs-2.json index 57a8b3a34..798b799be 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/route53/2013-04-01/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/route53/2013-04-01/docs-2.json @@ -7,6 +7,7 @@ "ChangeTagsForResource": "

Adds, edits, or deletes tags for a health check or a hosted zone.

For information about using tags for cost allocation, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

", "CreateHealthCheck": "

Creates a new health check.

For information about adding health checks to resource record sets, see ResourceRecordSet$HealthCheckId in ChangeResourceRecordSets.

ELB Load Balancers

If you're registering EC2 instances with an Elastic Load Balancing (ELB) load balancer, do not create Amazon Route 53 health checks for the EC2 instances. When you register an EC2 instance with a load balancer, you configure settings for an ELB health check, which performs a similar function to an Amazon Route 53 health check.

Private Hosted Zones

You can associate health checks with failover resource record sets in a private hosted zone. Note the following:

  • Amazon Route 53 health checkers are outside the VPC. To check the health of an endpoint within a VPC by IP address, you must assign a public IP address to the instance in the VPC.

  • You can configure a health checker to check the health of an external resource that the instance relies on, such as a database server.

  • You can create a CloudWatch metric, associate an alarm with the metric, and then create a health check that is based on the state of the alarm. For example, you might create a CloudWatch metric that checks the status of the Amazon EC2 StatusCheckFailed metric, add an alarm to the metric, and then create a health check that is based on the state of the alarm. For information about creating CloudWatch metrics and alarms by using the CloudWatch console, see the Amazon CloudWatch User Guide.

", "CreateHostedZone": "

Creates a new public hosted zone, which you use to specify how the Domain Name System (DNS) routes traffic on the Internet for a domain, such as example.com, and its subdomains.

You can't convert a public hosted zones to a private hosted zone or vice versa. Instead, you must create a new hosted zone with the same name and create new resource record sets.

For more information about charges for hosted zones, see Amazon Route 53 Pricing.

Note the following:

  • You can't create a hosted zone for a top-level domain (TLD).

  • Amazon Route 53 automatically creates a default SOA record and four NS records for the zone. For more information about SOA and NS records, see NS and SOA Records that Amazon Route 53 Creates for a Hosted Zone in the Amazon Route 53 Developer Guide.

    If you want to use the same name servers for multiple hosted zones, you can optionally associate a reusable delegation set with the hosted zone. See the DelegationSetId element.

  • If your domain is registered with a registrar other than Amazon Route 53, you must update the name servers with your registrar to make Amazon Route 53 your DNS service. For more information, see Configuring Amazon Route 53 as your DNS Service in the Amazon Route 53 Developer Guide.

When you submit a CreateHostedZone request, the initial status of the hosted zone is PENDING. This means that the NS and SOA records are not yet available on all Amazon Route 53 DNS servers. When the NS and SOA records are available, the status of the zone changes to INSYNC.

", + "CreateQueryLoggingConfig": "

Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group.

DNS query logs contain information about the queries that Amazon Route 53 receives for a specified public hosted zone, such as the following:

  • Amazon Route 53 edge location that responded to the DNS query

  • Domain or subdomain that was requested

  • DNS record type, such as A or AAAA

  • DNS response code, such as NoError or ServFail

Log Group and Resource Policy

Before you create a query logging configuration, perform the following operations.

If you create a query logging configuration using the Amazon Route 53 console, Amazon Route 53 performs these operations automatically.

  1. Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following:

    • You must create the log group in the us-east-1 region.

    • You must use the same AWS account to create the log group and the hosted zone that you want to configure query logging for.

    • When you create log groups for query logging, we recommend that you use a consistent prefix, for example:

      /aws/route53/hosted zone name

      In the next step, you'll create a resource policy, which controls access to one or more log groups and the associated AWS resources, such as Amazon Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging.

  2. Create a CloudWatch Logs resource policy, and give it the permissions that Amazon Route 53 needs to create log streams and to to send query logs to log streams. For the value of Resource, specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with *, for example:

    arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*

    You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the AWS SDKs, or the AWS CLI.

Log Streams and Edge Locations

When Amazon Route 53 finishes creating the configuration for DNS query logging, it does the following:

  • Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Amazon Route 53 responds to for that edge location.

  • Begins to send query logs to the applicable log stream.

The name of each log stream is in the following format:

hosted zone ID/edge location code

The edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see \"The Amazon Route 53 Global Network\" on the Amazon Route 53 Product Details page.

Queries That Are Logged

Query logs contain only the queries that DNS resolvers forward to Amazon Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Amazon Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see Routing Internet Traffic to Your Website or Web Application in the Amazon Route 53 Developer Guide.

Log File Format

For a list of the values in each query log and the format of each value, see Logging DNS Queries in the Amazon Route 53 Developer Guide.

Pricing

For information about charges for query logs, see Amazon CloudWatch Pricing.

How to Stop Logging

If you want Amazon Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see DeleteQueryLoggingConfig.

", "CreateReusableDelegationSet": "

Creates a delegation set (a group of four name servers) that can be reused by multiple hosted zones. If a hosted zoned ID is specified, CreateReusableDelegationSet marks the delegation set associated with that zone as reusable

A reusable delegation set can't be associated with a private hosted zone.

For information on how to use a reusable delegation set to configure white label name servers, see Configuring White Label Name Servers.

", "CreateTrafficPolicy": "

Creates a traffic policy, which you use to create multiple DNS resource record sets for one domain name (such as example.com) or one subdomain name (such as www.example.com).

", "CreateTrafficPolicyInstance": "

Creates resource record sets in a specified hosted zone based on the settings in a specified traffic policy version. In addition, CreateTrafficPolicyInstance associates the resource record sets with a specified domain name (such as example.com) or subdomain name (such as www.example.com). Amazon Route 53 responds to DNS queries for the domain or subdomain name by using the resource record sets that CreateTrafficPolicyInstance created.

", @@ -14,6 +15,7 @@ "CreateVPCAssociationAuthorization": "

Authorizes the AWS account that created a specified VPC to submit an AssociateVPCWithHostedZone request to associate the VPC with a specified hosted zone that was created by a different account. To submit a CreateVPCAssociationAuthorization request, you must use the account that created the hosted zone. After you authorize the association, use the account that created the VPC to submit an AssociateVPCWithHostedZone request.

If you want to associate multiple VPCs that you created by using one account with a hosted zone that you created by using a different account, you must submit one authorization request for each VPC.

", "DeleteHealthCheck": "

Deletes a health check.

Amazon Route 53 does not prevent you from deleting a health check even if the health check is associated with one or more resource record sets. If you delete a health check and you don't update the associated resource record sets, the future status of the health check can't be predicted and may change. This will affect the routing of DNS queries for your DNS failover configuration. For more information, see Replacing and Deleting Health Checks in the Amazon Route 53 Developer Guide.

", "DeleteHostedZone": "

Deletes a hosted zone.

If the name servers for the hosted zone are associated with a domain and if you want to make the domain unavailable on the Internet, we recommend that you delete the name servers from the domain to prevent future DNS queries from possibly being misrouted. If the domain is registered with Amazon Route 53, see UpdateDomainNameservers. If the domain is registered with another registrar, use the method provided by the registrar to delete name servers for the domain.

Some domain registries don't allow you to remove all of the name servers for a domain. If the registry for your domain requires one or more name servers, we recommend that you delete the hosted zone only if you transfer DNS service to another service provider, and you replace the name servers for the domain with name servers from the new provider.

You can delete a hosted zone only if it contains only the default SOA record and NS resource record sets. If the hosted zone contains other resource record sets, you must delete them before you can delete the hosted zone. If you try to delete a hosted zone that contains other resource record sets, the request fails, and Amazon Route 53 returns a HostedZoneNotEmpty error. For information about deleting records from your hosted zone, see ChangeResourceRecordSets.

To verify that the hosted zone has been deleted, do one of the following:

  • Use the GetHostedZone action to request information about the hosted zone.

  • Use the ListHostedZones action to get a list of the hosted zones associated with the current AWS account.

", + "DeleteQueryLoggingConfig": "

Deletes a configuration for DNS query logging. If you delete a configuration, Amazon Route 53 stops sending query logs to CloudWatch Logs. Amazon Route 53 doesn't delete any logs that are already in CloudWatch Logs.

For more information about DNS query logs, see CreateQueryLoggingConfig.

", "DeleteReusableDelegationSet": "

Deletes a reusable delegation set.

You can delete a reusable delegation set only if it isn't associated with any hosted zones.

To verify that the reusable delegation set is not associated with any hosted zones, submit a GetReusableDelegationSet request and specify the ID of the reusable delegation set that you want to delete.

", "DeleteTrafficPolicy": "

Deletes a traffic policy.

", "DeleteTrafficPolicyInstance": "

Deletes a traffic policy instance and all of the resource record sets that Amazon Route 53 created when you created the instance.

In the Amazon Route 53 console, traffic policy instances are known as policy records.

", @@ -28,6 +30,7 @@ "GetHealthCheckStatus": "

Gets status of a specified health check.

", "GetHostedZone": "

Gets information about a specified hosted zone including the four name servers assigned to the hosted zone.

", "GetHostedZoneCount": "

Retrieves the number of hosted zones that are associated with the current AWS account.

", + "GetQueryLoggingConfig": "

Gets information about a specified configuration for DNS query logging.

For more information about DNS query logs, see CreateQueryLoggingConfig and Logging DNS Queries.

", "GetReusableDelegationSet": "

Retrieves information about a specified reusable delegation set, including the four name servers that are assigned to the delegation set.

", "GetTrafficPolicy": "

Gets information about a specific traffic policy version.

", "GetTrafficPolicyInstance": "

Gets information about a specified traffic policy instance.

After you submit a CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance request, there's a brief delay while Amazon Route 53 creates the resource record sets that are specified in the traffic policy definition. For more information, see the State response element.

In the Amazon Route 53 console, traffic policy instances are known as policy records.

", @@ -36,6 +39,7 @@ "ListHealthChecks": "

Retrieve a list of the health checks that are associated with the current AWS account.

", "ListHostedZones": "

Retrieves a list of the public and private hosted zones that are associated with the current AWS account. The response includes a HostedZones child element for each hosted zone.

Amazon Route 53 returns a maximum of 100 items in each response. If you have a lot of hosted zones, you can use the maxitems parameter to list them in groups of up to 100.

", "ListHostedZonesByName": "

Retrieves a list of your hosted zones in lexicographic order. The response includes a HostedZones child element for each hosted zone created by the current AWS account.

ListHostedZonesByName sorts hosted zones by name with the labels reversed. For example:

com.example.www.

Note the trailing dot, which can change the sort order in some circumstances.

If the domain name includes escape characters or Punycode, ListHostedZonesByName alphabetizes the domain name using the escaped or Punycoded value, which is the format that Amazon Route 53 saves in its database. For example, to create a hosted zone for exämple.com, you specify ex\\344mple.com for the domain name. ListHostedZonesByName alphabetizes it as:

com.ex\\344mple.

The labels are reversed and alphabetized using the escaped value. For more information about valid domain name formats, including internationalized domain names, see DNS Domain Name Format in the Amazon Route 53 Developer Guide.

Amazon Route 53 returns up to 100 items in each response. If you have a lot of hosted zones, use the MaxItems parameter to list them in groups of up to 100. The response includes values that help navigate from one group of MaxItems hosted zones to the next:

  • The DNSName and HostedZoneId elements in the response contain the values, if any, specified for the dnsname and hostedzoneid parameters in the request that produced the current response.

  • The MaxItems element in the response contains the value, if any, that you specified for the maxitems parameter in the request that produced the current response.

  • If the value of IsTruncated in the response is true, there are more hosted zones associated with the current AWS account.

    If IsTruncated is false, this response includes the last hosted zone that is associated with the current account. The NextDNSName element and NextHostedZoneId elements are omitted from the response.

  • The NextDNSName and NextHostedZoneId elements in the response contain the domain name and the hosted zone ID of the next hosted zone that is associated with the current AWS account. If you want to list more hosted zones, make another call to ListHostedZonesByName, and specify the value of NextDNSName and NextHostedZoneId in the dnsname and hostedzoneid parameters, respectively.

", + "ListQueryLoggingConfigs": "

Lists the configurations for DNS query logging that are associated with the current AWS account or the configuration that is associated with a specified hosted zone.

For more information about DNS query logs, see CreateQueryLoggingConfig. Additional information, including the format of DNS query logs, appears in Logging DNS Queries in the Amazon Route 53 Developer Guide.

", "ListResourceRecordSets": "

Lists the resource record sets in a specified hosted zone.

ListResourceRecordSets returns up to 100 resource record sets at a time in ASCII order, beginning at a position specified by the name and type elements. The action sorts results first by DNS name with the labels reversed, for example:

com.example.www.

Note the trailing dot, which can change the sort order in some circumstances.

When multiple records have the same DNS name, the action sorts results by the record type.

You can use the name and type elements to adjust the beginning position of the list of resource record sets returned:

If you do not specify Name or Type

The results begin with the first resource record set that the hosted zone contains.

If you specify Name but not Type

The results begin with the first resource record set in the list whose name is greater than or equal to Name.

If you specify Type but not Name

Amazon Route 53 returns the InvalidInput error.

If you specify both Name and Type

The results begin with the first resource record set in the list whose name is greater than or equal to Name, and whose type is greater than or equal to Type.

This action returns the most current version of the records. This includes records that are PENDING, and that are not yet available on all Amazon Route 53 DNS servers.

To ensure that you get an accurate listing of the resource record sets for a hosted zone at a point in time, do not submit a ChangeResourceRecordSets request while you're paging through the results of a ListResourceRecordSets request. If you do, some pages may display results without the latest changes while other pages display results with the latest changes.

", "ListReusableDelegationSets": "

Retrieves a list of the reusable delegation sets that are associated with the current AWS account.

", "ListTagsForResource": "

Lists tags for one health check or hosted zone.

For information about using tags for cost allocation, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

", @@ -174,6 +178,13 @@ "HealthCheck$CloudWatchAlarmConfiguration": "

A complex type that contains information about the CloudWatch alarm that Amazon Route 53 is monitoring for this health check.

" } }, + "CloudWatchLogsLogGroupArn": { + "base": null, + "refs": { + "CreateQueryLoggingConfigRequest$CloudWatchLogsLogGroupArn": "

The Amazon Resource Name (ARN) for the log group that you want to Amazon Route 53 to send query logs to. This is the format of the ARN:

arn:aws:logs:region:account-id:log-group:log_group_name

To get the ARN for a log group, you can use the CloudWatch console, the DescribeLogGroups API action, the describe-log-groups command, or the applicable command in one of the AWS SDKs.

", + "QueryLoggingConfig$CloudWatchLogsLogGroupArn": "

The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon Route 53 is publishing logs to.

" + } + }, "CloudWatchRegion": { "base": null, "refs": { @@ -187,7 +198,7 @@ } }, "ConcurrentModification": { - "base": "

Another user submitted a request to update the object at the same time that you did. Retry the request.

", + "base": "

Another user submitted a request to create, update, or delete the object at the same time that you did. Retry the request.

", "refs": { } }, @@ -221,6 +232,16 @@ "refs": { } }, + "CreateQueryLoggingConfigRequest": { + "base": null, + "refs": { + } + }, + "CreateQueryLoggingConfigResponse": { + "base": null, + "refs": { + } + }, "CreateReusableDelegationSetRequest": { "base": null, "refs": { @@ -274,7 +295,7 @@ "DNSName": { "base": null, "refs": { - "AliasTarget$DNSName": "

Alias resource record sets only: The value that you specify depends on where you want to route queries:

CloudFront distribution

Specify the domain name that CloudFront assigned when you created your distribution.

Your CloudFront distribution must include an alternate domain name that matches the name of the resource record set. For example, if the name of the resource record set is acme.example.com, your CloudFront distribution must include acme.example.com as one of the alternate domain names. For more information, see Using Alternate Domain Names (CNAMEs) in the Amazon CloudFront Developer Guide.

Elastic Beanstalk environment

Specify the CNAME attribute for the environment. (The environment must have a regionalized domain name.) You can use the following methods to get the value of the CNAME attribute:

  • AWS Management Console: For information about how to get the value by using the console, see Using Custom Domains with AWS Elastic Beanstalk in the AWS Elastic Beanstalk Developer Guide.

  • Elastic Beanstalk API: Use the DescribeEnvironments action to get the value of the CNAME attribute. For more information, see DescribeEnvironments in the AWS Elastic Beanstalk API Reference.

  • AWS CLI: Use the describe-environments command to get the value of the CNAME attribute. For more information, see describe-environments in the AWS Command Line Interface Reference.

ELB load balancer

Specify the DNS name that is associated with the load balancer. Get the DNS name by using the AWS Management Console, the ELB API, or the AWS CLI.

  • AWS Management Console: Go to the EC2 page, choose Load Balancers in the navigation pane, choose the load balancer, choose the Description tab, and get the value of the DNS name field. (If you're routing traffic to a Classic Load Balancer, get the value that begins with dualstack.)

  • Elastic Load Balancing API: Use DescribeLoadBalancers to get the value of DNSName. For more information, see the applicable guide:

  • AWS CLI: Use describe-load-balancers to get the value of DNSName.

Amazon S3 bucket that is configured as a static website

Specify the domain name of the Amazon S3 website endpoint in which you created the bucket, for example, s3-website-us-east-2.amazonaws.com. For more information about valid values, see the table Amazon Simple Storage Service (S3) Website Endpoints in the Amazon Web Services General Reference. For more information about using S3 buckets for websites, see Getting Started with Amazon Route 53 in the Amazon Route 53 Developer Guide.

Another Amazon Route 53 resource record set

Specify the value of the Name element for a resource record set in the current hosted zone.

", + "AliasTarget$DNSName": "

Alias resource record sets only: The value that you specify depends on where you want to route queries:

CloudFront distribution

Specify the domain name that CloudFront assigned when you created your distribution.

Your CloudFront distribution must include an alternate domain name that matches the name of the resource record set. For example, if the name of the resource record set is acme.example.com, your CloudFront distribution must include acme.example.com as one of the alternate domain names. For more information, see Using Alternate Domain Names (CNAMEs) in the Amazon CloudFront Developer Guide.

Elastic Beanstalk environment

Specify the CNAME attribute for the environment. (The environment must have a regionalized domain name.) You can use the following methods to get the value of the CNAME attribute:

  • AWS Management Console: For information about how to get the value by using the console, see Using Custom Domains with AWS Elastic Beanstalk in the AWS Elastic Beanstalk Developer Guide.

  • Elastic Beanstalk API: Use the DescribeEnvironments action to get the value of the CNAME attribute. For more information, see DescribeEnvironments in the AWS Elastic Beanstalk API Reference.

  • AWS CLI: Use the describe-environments command to get the value of the CNAME attribute. For more information, see describe-environments in the AWS Command Line Interface Reference.

ELB load balancer

Specify the DNS name that is associated with the load balancer. Get the DNS name by using the AWS Management Console, the ELB API, or the AWS CLI.

  • AWS Management Console: Go to the EC2 page, choose Load Balancers in the navigation pane, choose the load balancer, choose the Description tab, and get the value of the DNS name field. (If you're routing traffic to a Classic Load Balancer, get the value that begins with dualstack.)

  • Elastic Load Balancing API: Use DescribeLoadBalancers to get the value of DNSName. For more information, see the applicable guide:

  • AWS CLI: Use describe-load-balancers to get the value of DNSName. For more information, see the applicable guide:

Amazon S3 bucket that is configured as a static website

Specify the domain name of the Amazon S3 website endpoint in which you created the bucket, for example, s3-website-us-east-2.amazonaws.com. For more information about valid values, see the table Amazon Simple Storage Service (S3) Website Endpoints in the Amazon Web Services General Reference. For more information about using S3 buckets for websites, see Getting Started with Amazon Route 53 in the Amazon Route 53 Developer Guide.

Another Amazon Route 53 resource record set

Specify the value of the Name element for a resource record set in the current hosted zone.

", "CreateHostedZoneRequest$Name": "

The name of the domain. For resource record types that include a domain name, specify a fully qualified domain name, for example, www.example.com. The trailing dot is optional; Amazon Route 53 assumes that the domain name is fully qualified. This means that Amazon Route 53 treats www.example.com (without a trailing dot) and www.example.com. (with a trailing dot) as identical.

If you're creating a public hosted zone, this is the name you have registered with your DNS registrar. If your domain name is registered with a registrar other than Amazon Route 53, change the name servers for your domain to the set of NameServers that CreateHostedZone returns in DelegationSet.

", "CreateTrafficPolicyInstanceRequest$Name": "

The domain name (such as example.com) or subdomain name (such as www.example.com) for which Amazon Route 53 responds to DNS queries by using the resource record sets that Amazon Route 53 creates for this traffic policy instance.

", "DelegationSetNameServers$member": null, @@ -369,6 +390,16 @@ "refs": { } }, + "DeleteQueryLoggingConfigRequest": { + "base": null, + "refs": { + } + }, + "DeleteQueryLoggingConfigResponse": { + "base": null, + "refs": { + } + }, "DeleteReusableDelegationSetRequest": { "base": "

A request to delete a reusable delegation set.

", "refs": { @@ -470,6 +501,7 @@ "HostedZoneNotEmpty$message": "

Descriptive message for the error response.

", "HostedZoneNotFound$message": "

Descriptive message for the error response.

", "IncompatibleVersion$message": null, + "InsufficientCloudWatchLogsResourcePolicy$message": null, "InvalidArgument$message": "

Descriptive message for the error response.

", "InvalidChangeBatch$message": null, "InvalidDomainName$message": "

Descriptive message for the error response.

", @@ -480,15 +512,18 @@ "LastVPCAssociation$message": "

Descriptive message for the error response.

", "LimitsExceeded$message": "

Descriptive message for the error response.

", "NoSuchChange$message": null, + "NoSuchCloudWatchLogsLogGroup$message": null, "NoSuchDelegationSet$message": "

Descriptive message for the error response.

", "NoSuchGeoLocation$message": "

Descriptive message for the error response.

", "NoSuchHealthCheck$message": "

Descriptive message for the error response.

", "NoSuchHostedZone$message": "

Descriptive message for the error response.

", + "NoSuchQueryLoggingConfig$message": null, "NoSuchTrafficPolicy$message": "

Descriptive message for the error response.

", "NoSuchTrafficPolicyInstance$message": "

Descriptive message for the error response.

", "NotAuthorizedException$message": "

Descriptive message for the error response.

", "PriorRequestNotComplete$message": null, "PublicZoneVPCAssociation$message": "

Descriptive message for the error response.

", + "QueryLoggingConfigAlreadyExists$message": null, "ThrottlingException$message": null, "TooManyHealthChecks$message": null, "TooManyHostedZones$message": "

Descriptive message for the error response.

", @@ -685,6 +720,16 @@ "refs": { } }, + "GetQueryLoggingConfigRequest": { + "base": null, + "refs": { + } + }, + "GetQueryLoggingConfigResponse": { + "base": null, + "refs": { + } + }, "GetReusableDelegationSetRequest": { "base": "

A request to get information about a specified reusable delegation set.

", "refs": { @@ -906,6 +951,11 @@ "refs": { } }, + "InsufficientCloudWatchLogsResourcePolicy": { + "base": "

Amazon Route 53 doesn't have the permissions required to create log streams and send query logs to log streams. Possible causes include the following:

  • There is no resource policy that specifies the log group ARN in the value for Resource.

  • The resource policy that includes the log group ARN in the value for Resource doesn't have the necessary permissions.

  • The resource policy hasn't finished propagating yet.

", + "refs": { + } + }, "InsufficientDataHealthStatus": { "base": null, "refs": { @@ -934,7 +984,7 @@ } }, "InvalidPaginationToken": { - "base": null, + "base": "

The value that you specified to get the second or subsequent page of results is invalid.

", "refs": { } }, @@ -1011,6 +1061,16 @@ "refs": { } }, + "ListQueryLoggingConfigsRequest": { + "base": null, + "refs": { + } + }, + "ListQueryLoggingConfigsResponse": { + "base": null, + "refs": { + } + }, "ListResourceRecordSetsRequest": { "base": "

A request for the resource record sets that are associated with a specified hosted zone.

", "refs": { @@ -1114,6 +1174,7 @@ "MaxResults": { "base": null, "refs": { + "ListQueryLoggingConfigsRequest$MaxResults": "

(Optional) The maximum number of query logging configurations that you want Amazon Route 53 to return in response to the current request. If the current AWS account has more than MaxResults configurations, use the value of ListQueryLoggingConfigsResponse$NextToken in the response to get the next page of results.

If you don't specify a value for MaxResults, Amazon Route 53 returns up to 100 configurations.

", "ListVPCAssociationAuthorizationsRequest$MaxResults": "

Optional: An integer that specifies the maximum number of VPCs that you want Amazon Route 53 to return. If you don't specify a value for MaxResults, Amazon Route 53 returns up to 50 VPCs per page.

" } }, @@ -1152,6 +1213,11 @@ "refs": { } }, + "NoSuchCloudWatchLogsLogGroup": { + "base": "

There is no CloudWatch Logs log group with the specified ARN.

", + "refs": { + } + }, "NoSuchDelegationSet": { "base": "

A reusable delegation set with the specified ID does not exist.

", "refs": { @@ -1172,6 +1238,11 @@ "refs": { } }, + "NoSuchQueryLoggingConfig": { + "base": "

There is no DNS query logging configuration with the specified ID.

", + "refs": { + } + }, "NoSuchTrafficPolicy": { "base": "

No traffic policy exists with the specified ID.

", "refs": { @@ -1256,6 +1327,8 @@ "PaginationToken": { "base": null, "refs": { + "ListQueryLoggingConfigsRequest$NextToken": "

(Optional) If the current AWS account has more than MaxResults query logging configurations, use NextToken to get the second and subsequent pages of results.

For the first ListQueryLoggingConfigs request, omit this value.

For the second and subsequent requests, get the value of NextToken from the previous response and specify that value for NextToken in the request.

", + "ListQueryLoggingConfigsResponse$NextToken": "

If a response includes the last of the query logging configurations that are associated with the current AWS account, NextToken doesn't appear in the response.

If a response doesn't include the last of the configurations, you can get more configurations by submitting another ListQueryLoggingConfigs request. Get the value of NextToken that Amazon Route 53 returned in the previous response and include it in NextToken in the next request.

", "ListVPCAssociationAuthorizationsRequest$NextToken": "

Optional: If a response includes a NextToken element, there are more VPCs that can be associated with the specified hosted zone. To get the next page of results, submit another request, and include the value of NextToken from the response in the nexttoken parameter in another ListVPCAssociationAuthorizations request.

", "ListVPCAssociationAuthorizationsResponse$NextToken": "

When the response includes a NextToken element, there are more VPCs that can be associated with the specified hosted zone. To get the next page of VPCs, submit another ListVPCAssociationAuthorizations request, and include the value of the NextToken element from the response in the nexttoken request parameter.

" } @@ -1283,6 +1356,33 @@ "refs": { } }, + "QueryLoggingConfig": { + "base": "

A complex type that contains information about a configuration for DNS query logging.

", + "refs": { + "CreateQueryLoggingConfigResponse$QueryLoggingConfig": "

A complex type that contains the ID for a query logging configuration, the ID of the hosted zone that you want to log queries for, and the ARN for the log group that you want Amazon Route 53 to send query logs to.

", + "GetQueryLoggingConfigResponse$QueryLoggingConfig": "

A complex type that contains information about the query logging configuration that you specified in a GetQueryLoggingConfig request.

", + "QueryLoggingConfigs$member": null + } + }, + "QueryLoggingConfigAlreadyExists": { + "base": "

You can create only one query logging configuration for a hosted zone, and a query logging configuration already exists for this hosted zone.

", + "refs": { + } + }, + "QueryLoggingConfigId": { + "base": null, + "refs": { + "DeleteQueryLoggingConfigRequest$Id": "

The ID of the configuration that you want to delete.

", + "GetQueryLoggingConfigRequest$Id": "

The ID of the configuration for DNS query logging that you want to get information about.

", + "QueryLoggingConfig$Id": "

The ID for a configuration for DNS query logging.

" + } + }, + "QueryLoggingConfigs": { + "base": null, + "refs": { + "ListQueryLoggingConfigsResponse$QueryLoggingConfigs": "

An array that contains one QueryLoggingConfig element for each configuration for DNS query logging that is associated with the current AWS account.

" + } + }, "RData": { "base": null, "refs": { @@ -1292,7 +1392,7 @@ "RRType": { "base": null, "refs": { - "ListResourceRecordSetsRequest$StartRecordType": "

The type of resource record set to begin the record listing from.

Valid values for basic resource record sets: A | AAAA | CNAME | MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT

Values for weighted, latency, geo, and failover resource record sets: A | AAAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT

Values for alias resource record sets:

  • CloudFront distribution: A or AAAA

  • Elastic Beanstalk environment that has a regionalized subdomain: A

  • ELB load balancer: A | AAAA

  • Amazon S3 bucket: A

Constraint: Specifying type without specifying name returns an InvalidInput error.

", + "ListResourceRecordSetsRequest$StartRecordType": "

The type of resource record set to begin the record listing from.

Valid values for basic resource record sets: A | AAAA | CAA | CNAME | MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT

Values for weighted, latency, geo, and failover resource record sets: A | AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT

Values for alias resource record sets:

  • CloudFront distribution: A or AAAA

  • Elastic Beanstalk environment that has a regionalized subdomain: A

  • ELB load balancer: A | AAAA

  • Amazon S3 bucket: A

  • Another resource record set in this hosted zone: The type of the resource record set that the alias references.

Constraint: Specifying type without specifying name returns an InvalidInput error.

", "ListResourceRecordSetsResponse$NextRecordType": "

If the results were truncated, the type of the next record in the list.

This element is present only if IsTruncated is true.

", "ListTrafficPolicyInstancesByHostedZoneRequest$TrafficPolicyInstanceTypeMarker": "

If the value of IsTruncated in the previous response is true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of trafficpolicyinstancetype, specify the value of TrafficPolicyInstanceTypeMarker from the previous response, which is the type of the first traffic policy instance in the next group of traffic policy instances.

If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

", "ListTrafficPolicyInstancesByHostedZoneResponse$TrafficPolicyInstanceTypeMarker": "

If IsTruncated is true, TrafficPolicyInstanceTypeMarker is the DNS type of the resource record sets that are associated with the first traffic policy instance in the next group of traffic policy instances.

", @@ -1300,7 +1400,7 @@ "ListTrafficPolicyInstancesByPolicyResponse$TrafficPolicyInstanceTypeMarker": "

If IsTruncated is true, TrafficPolicyInstanceTypeMarker is the DNS type of the resource record sets that are associated with the first traffic policy instance in the next group of MaxItems traffic policy instances.

", "ListTrafficPolicyInstancesRequest$TrafficPolicyInstanceTypeMarker": "

If the value of IsTruncated in the previous response was true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of trafficpolicyinstancetype, specify the value of TrafficPolicyInstanceTypeMarker from the previous response, which is the type of the first traffic policy instance in the next group of traffic policy instances.

If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

", "ListTrafficPolicyInstancesResponse$TrafficPolicyInstanceTypeMarker": "

If IsTruncated is true, TrafficPolicyInstanceTypeMarker is the DNS type of the resource record sets that are associated with the first traffic policy instance that Amazon Route 53 will return if you submit another ListTrafficPolicyInstances request.

", - "ResourceRecordSet$Type": "

The DNS record type. For information about different record types and how data is encoded for them, see Supported DNS Resource Record Types in the Amazon Route 53 Developer Guide.

Valid values for basic resource record sets: A | AAAA | CNAME | MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT

Values for weighted, latency, geolocation, and failover resource record sets: A | AAAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT. When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.

Valid values for multivalue answer resource record sets: A | AAAA | MX | NAPTR | PTR | SPF | SRV | TXT

SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of Type is SPF. RFC 7208, Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1, has been updated to say, \"...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.\" In RFC 7208, see section 14.1, The SPF DNS Record Type.

Values for alias resource record sets:

  • CloudFront distributions: A

    If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of A and one with a value of AAAA.

  • AWS Elastic Beanstalk environment that has a regionalized subdomain: A

  • ELB load balancers: A | AAAA

  • Amazon S3 buckets: A

  • Another resource record set in this hosted zone: Specify the type of the resource record set that you're creating the alias for. All values are supported except NS and SOA.

", + "ResourceRecordSet$Type": "

The DNS record type. For information about different record types and how data is encoded for them, see Supported DNS Resource Record Types in the Amazon Route 53 Developer Guide.

Valid values for basic resource record sets: A | AAAA | CAA | CNAME | MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT

Values for weighted, latency, geolocation, and failover resource record sets: A | AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT. When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.

Valid values for multivalue answer resource record sets: A | AAAA | MX | NAPTR | PTR | SPF | SRV | TXT

SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of Type is SPF. RFC 7208, Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1, has been updated to say, \"...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.\" In RFC 7208, see section 14.1, The SPF DNS Record Type.

Values for alias resource record sets:

  • CloudFront distributions: A

    If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of A and one with a value of AAAA.

  • AWS Elastic Beanstalk environment that has a regionalized subdomain: A

  • ELB load balancers: A | AAAA

  • Amazon S3 buckets: A

  • Another resource record set in this hosted zone: Specify the type of the resource record set that you're creating the alias for. All values are supported except NS and SOA.

", "TestDNSAnswerRequest$RecordType": "

The type of the resource record set.

", "TestDNSAnswerResponse$RecordType": "

The type of the resource record set that you submitted a request for.

", "TrafficPolicy$Type": "

The DNS type of the resource record sets that Amazon Route 53 creates when you use a traffic policy to create a traffic policy instance.

", @@ -1326,6 +1426,18 @@ "HealthCheckConfig$RequestInterval": "

The number of seconds between the time that Amazon Route 53 gets a response from your endpoint and the time that it sends the next health check request. Each Amazon Route 53 health checker makes requests at this interval.

You can't change the value of RequestInterval after you create a health check.

If you don't specify a value for RequestInterval, the default value is 30 seconds.

" } }, + "ResettableElementName": { + "base": null, + "refs": { + "ResettableElementNameList$member": null + } + }, + "ResettableElementNameList": { + "base": null, + "refs": { + "UpdateHealthCheckRequest$ResetElements": "

A complex type that contains one ResetElement element for each element that you want to reset to the default value. Valid values for ResetElement include the following:

" + } + }, "ResourceDescription": { "base": null, "refs": { @@ -1338,11 +1450,12 @@ "ResourceId": { "base": null, "refs": { - "AliasTarget$HostedZoneId": "

Alias resource records sets only: The value used depends on where you want to route traffic:

CloudFront distribution

Specify Z2FDTNDATAQYW2.

Alias resource record sets for CloudFront can't be created in a private zone.

Elastic Beanstalk environment

Specify the hosted zone ID for the region in which you created the environment. The environment must have a regionalized subdomain. For a list of regions and the corresponding hosted zone IDs, see AWS Elastic Beanstalk in the \"AWS Regions and Endpoints\" chapter of the Amazon Web Services General Reference.

ELB load balancer

Specify the value of the hosted zone ID for the load balancer. Use the following methods to get the hosted zone ID:

  • Elastic Load Balancing table in the \"AWS Regions and Endpoints\" chapter of the Amazon Web Services General Reference: Use the value in the \"Amazon Route 53 Hosted Zone ID\" column that corresponds with the region that you created your load balancer in.

  • AWS Management Console: Go to the Amazon EC2 page, click Load Balancers in the navigation pane, select the load balancer, and get the value of the Hosted zone field on the Description tab.

  • Elastic Load Balancing API: Use DescribeLoadBalancers to get the value of CanonicalHostedZoneNameId. For more information, see the applicable guide:

  • AWS CLI: Use describe-load-balancers to get the value of CanonicalHostedZoneNameID.

An Amazon S3 bucket configured as a static website

Specify the hosted zone ID for the region that you created the bucket in. For more information about valid values, see the Amazon Simple Storage Service Website Endpoints table in the \"AWS Regions and Endpoints\" chapter of the Amazon Web Services General Reference.

Another Amazon Route 53 resource record set in your hosted zone

Specify the hosted zone ID of your hosted zone. (An alias resource record set can't reference a resource record set in a different hosted zone.)

", + "AliasTarget$HostedZoneId": "

Alias resource records sets only: The value used depends on where you want to route traffic:

CloudFront distribution

Specify Z2FDTNDATAQYW2.

Alias resource record sets for CloudFront can't be created in a private zone.

Elastic Beanstalk environment

Specify the hosted zone ID for the region in which you created the environment. The environment must have a regionalized subdomain. For a list of regions and the corresponding hosted zone IDs, see AWS Elastic Beanstalk in the \"AWS Regions and Endpoints\" chapter of the Amazon Web Services General Reference.

ELB load balancer

Specify the value of the hosted zone ID for the load balancer. Use the following methods to get the hosted zone ID:

  • Elastic Load Balancing table in the \"AWS Regions and Endpoints\" chapter of the Amazon Web Services General Reference: Use the value that corresponds with the region that you created your load balancer in. Note that there are separate columns for Application and Classic Load Balancers and for Network Load Balancers.

  • AWS Management Console: Go to the Amazon EC2 page, choose Load Balancers in the navigation pane, select the load balancer, and get the value of the Hosted zone field on the Description tab.

  • Elastic Load Balancing API: Use DescribeLoadBalancers to get the value of CanonicalHostedZoneNameId. For more information, see the applicable guide:

  • AWS CLI: Use describe-load-balancers to get the value of CanonicalHostedZoneNameID (for Classic Load Balancers) or CanonicalHostedZoneNameID (for Application and Network Load Balancers). For more information, see the applicable guide:

An Amazon S3 bucket configured as a static website

Specify the hosted zone ID for the region that you created the bucket in. For more information about valid values, see the Amazon Simple Storage Service Website Endpoints table in the \"AWS Regions and Endpoints\" chapter of the Amazon Web Services General Reference.

Another Amazon Route 53 resource record set in your hosted zone

Specify the hosted zone ID of your hosted zone. (An alias resource record set can't reference a resource record set in a different hosted zone.)

", "AssociateVPCWithHostedZoneRequest$HostedZoneId": "

The ID of the private hosted zone that you want to associate an Amazon VPC with.

Note that you can't associate a VPC with a hosted zone that doesn't have an existing VPC association.

", "ChangeInfo$Id": "

The ID of the request.

", "ChangeResourceRecordSetsRequest$HostedZoneId": "

The ID of the hosted zone that contains the resource record sets that you want to change.

", "CreateHostedZoneRequest$DelegationSetId": "

If you want to associate a reusable delegation set with this hosted zone, the ID that Amazon Route 53 assigned to the reusable delegation set when you created it. For more information about reusable delegation sets, see CreateReusableDelegationSet.

", + "CreateQueryLoggingConfigRequest$HostedZoneId": "

The ID of the hosted zone that you want to log queries for. You can log queries only for public hosted zones.

", "CreateReusableDelegationSetRequest$HostedZoneId": "

If you want to mark the delegation set for an existing hosted zone as reusable, the ID for that hosted zone.

", "CreateTrafficPolicyInstanceRequest$HostedZoneId": "

The ID of the hosted zone in which you want Amazon Route 53 to create resource record sets by using the configuration in a traffic policy.

", "CreateVPCAssociationAuthorizationRequest$HostedZoneId": "

The ID of the private hosted zone that you want to authorize associating a VPC with.

", @@ -1360,6 +1473,7 @@ "ListHostedZonesByNameResponse$HostedZoneId": "

The ID that Amazon Route 53 assigned to the hosted zone when you created it.

", "ListHostedZonesByNameResponse$NextHostedZoneId": "

If IsTruncated is true, the value of NextHostedZoneId identifies the first hosted zone in the next group of maxitems hosted zones. Call ListHostedZonesByName again and specify the value of NextDNSName and NextHostedZoneId in the dnsname and hostedzoneid parameters, respectively.

This element is present only if IsTruncated is true.

", "ListHostedZonesRequest$DelegationSetId": "

If you're using reusable delegation sets and you want to list all of the hosted zones that are associated with a reusable delegation set, specify the ID of that reusable delegation set.

", + "ListQueryLoggingConfigsRequest$HostedZoneId": "

(Optional) If you want to list the query logging configuration that is associated with a hosted zone, specify the ID in HostedZoneId.

If you don't specify a hosted zone ID, ListQueryLoggingConfigs returns all of the configurations that are associated with the current AWS account.

", "ListResourceRecordSetsRequest$HostedZoneId": "

The ID of the hosted zone that contains the resource record sets that you want to list.

", "ListTrafficPolicyInstancesByHostedZoneRequest$HostedZoneId": "

The ID of the hosted zone that you want to list traffic policy instances for.

", "ListTrafficPolicyInstancesByPolicyRequest$HostedZoneIdMarker": "

If the value of IsTruncated in the previous response was true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstancesByPolicy request.

For the value of hostedzoneid, specify the value of HostedZoneIdMarker from the previous response, which is the hosted zone ID of the first traffic policy instance that Amazon Route 53 will return if you submit another request.

If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

", @@ -1368,6 +1482,7 @@ "ListTrafficPolicyInstancesResponse$HostedZoneIdMarker": "

If IsTruncated is true, HostedZoneIdMarker is the ID of the hosted zone of the first traffic policy instance that Amazon Route 53 will return if you submit another ListTrafficPolicyInstances request.

", "ListVPCAssociationAuthorizationsRequest$HostedZoneId": "

The ID of the hosted zone for which you want a list of VPCs that can be associated with the hosted zone.

", "ListVPCAssociationAuthorizationsResponse$HostedZoneId": "

The ID of the hosted zone that you can associate the listed VPCs with.

", + "QueryLoggingConfig$HostedZoneId": "

The ID of the hosted zone that CloudWatch Logs is logging queries for.

", "TestDNSAnswerRequest$HostedZoneId": "

The ID of the hosted zone that you want Amazon Route 53 to simulate a query for.

", "TrafficPolicyInstance$HostedZoneId": "

The ID of the hosted zone that Amazon Route 53 created resource record sets in.

", "UpdateHostedZoneCommentRequest$Id": "

The ID for the hosted zone that you want to update the comment for.

" @@ -1455,6 +1570,7 @@ "refs": { "CreateHealthCheckResponse$Location": "

The unique URL representing the new health check.

", "CreateHostedZoneResponse$Location": "

The unique URL representing the new hosted zone.

", + "CreateQueryLoggingConfigResponse$Location": "

The unique URL representing the new query logging configuration.

", "CreateReusableDelegationSetResponse$Location": "

The unique URL representing the new reusable delegation set.

", "CreateTrafficPolicyInstanceResponse$Location": "

A unique URL that represents a new traffic policy instance.

", "CreateTrafficPolicyResponse$Location": "

A unique URL that represents a new traffic policy.

", @@ -1681,7 +1797,7 @@ } }, "TrafficPolicyInstanceAlreadyExists": { - "base": "

Traffic policy instance with given Id already exists.

", + "base": "

There is already a traffic policy instance with the specified ID.

", "refs": { } }, diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/runtime.lex/2016-11-28/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/runtime.lex/2016-11-28/api-2.json index d47e4edd9..91d42c10f 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/runtime.lex/2016-11-28/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/runtime.lex/2016-11-28/api-2.json @@ -56,6 +56,10 @@ }, "shapes":{ "Accept":{"type":"string"}, + "AttributesString":{ + "type":"string", + "sensitive":true + }, "BadGatewayException":{ "type":"structure", "members":{ @@ -215,11 +219,17 @@ "locationName":"userId" }, "sessionAttributes":{ - "shape":"String", + "shape":"AttributesString", "jsonvalue":true, "location":"header", "locationName":"x-amz-lex-session-attributes" }, + "requestAttributes":{ + "shape":"AttributesString", + "jsonvalue":true, + "location":"header", + "locationName":"x-amz-lex-request-attributes" + }, "contentType":{ "shape":"HttpContentType", "location":"header", @@ -308,6 +318,7 @@ "locationName":"userId" }, "sessionAttributes":{"shape":"StringMap"}, + "requestAttributes":{"shape":"StringMap"}, "inputText":{"shape":"Text"} } }, @@ -343,7 +354,8 @@ "StringMap":{ "type":"map", "key":{"shape":"String"}, - "value":{"shape":"String"} + "value":{"shape":"String"}, + "sensitive":true }, "StringUrlWithLength":{ "type":"string", @@ -358,7 +370,8 @@ "Text":{ "type":"string", "max":1024, - "min":1 + "min":1, + "sensitive":true }, "UnsupportedMediaTypeException":{ "type":"structure", diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/runtime.lex/2016-11-28/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/runtime.lex/2016-11-28/docs-2.json index fb52a9b70..00f049c8f 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/runtime.lex/2016-11-28/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/runtime.lex/2016-11-28/docs-2.json @@ -2,7 +2,7 @@ "version": "2.0", "service": "

Amazon Lex provides both build and runtime endpoints. Each endpoint provides a set of operations (API). Your conversational bot uses the runtime API to understand user utterances (user input text or voice). For example, suppose a user says \"I want pizza\", your bot sends this input to Amazon Lex using the runtime API. Amazon Lex recognizes that the user request is for the OrderPizza intent (one of the intents defined in the bot). Then Amazon Lex engages in user conversation on behalf of the bot to elicit required information (slot values, such as pizza size and crust type), and then performs fulfillment activity (that you configured when you created the bot). You use the build-time API to create and manage your Amazon Lex bot. For a list of build-time operations, see the build-time API, .

", "operations": { - "PostContent": "

Sends user input (text or speech) to Amazon Lex. Clients use this API to send requests to Amazon Lex at runtime. Amazon Lex interprets the user input using the machine learning model that it built for the bot.

In response, Amazon Lex returns the next message to convey to the user. Consider the following example messages:

  • For a user input \"I would like a pizza,\" Amazon Lex might return a response with a message eliciting slot data (for example, PizzaSize): \"What size pizza would you like?\".

  • After the user provides all of the pizza order information, Amazon Lex might return a response with a message to get user confirmation: \"Order the pizza?\".

  • After the user replies \"Yes\" to the confirmation prompt, Amazon Lex might return a conclusion statement: \"Thank you, your cheese pizza has been ordered.\".

Not all Amazon Lex messages require a response from the user. For example, conclusion statements do not require a response. Some messages require only a yes or no response. In addition to the message, Amazon Lex provides additional context about the message in the response that you can use to enhance client behavior, such as displaying the appropriate client user interface. Consider the following examples:

  • If the message is to elicit slot data, Amazon Lex returns the following context information:

    • x-amz-lex-dialog-state header set to ElicitSlot

    • x-amz-lex-intent-name header set to the intent name in the current context

    • x-amz-lex-slot-to-elicit header set to the slot name for which the message is eliciting information

    • x-amz-lex-slots header set to a map of slots configured for the intent with their current values

  • If the message is a confirmation prompt, the x-amz-lex-dialog-state header is set to Confirmation and the x-amz-lex-slot-to-elicit header is omitted.

  • If the message is a clarification prompt configured for the intent, indicating that the user intent is not understood, the x-amz-dialog-state header is set to ElicitIntent and the x-amz-slot-to-elicit header is omitted.

In addition, Amazon Lex also returns your application-specific sessionAttributes. For more information, see Managing Conversation Context.

", + "PostContent": "

Sends user input (text or speech) to Amazon Lex. Clients use this API to send text and audio requests to Amazon Lex at runtime. Amazon Lex interprets the user input using the machine learning model that it built for the bot.

The PostContent operation supports audio input at 8kHz and 16kHz. You can use 8kHz audio to achieve higher speech recognition accuracy in telephone audio applications.

In response, Amazon Lex returns the next message to convey to the user. Consider the following example messages:

  • For a user input \"I would like a pizza,\" Amazon Lex might return a response with a message eliciting slot data (for example, PizzaSize): \"What size pizza would you like?\".

  • After the user provides all of the pizza order information, Amazon Lex might return a response with a message to get user confirmation: \"Order the pizza?\".

  • After the user replies \"Yes\" to the confirmation prompt, Amazon Lex might return a conclusion statement: \"Thank you, your cheese pizza has been ordered.\".

Not all Amazon Lex messages require a response from the user. For example, conclusion statements do not require a response. Some messages require only a yes or no response. In addition to the message, Amazon Lex provides additional context about the message in the response that you can use to enhance client behavior, such as displaying the appropriate client user interface. Consider the following examples:

  • If the message is to elicit slot data, Amazon Lex returns the following context information:

    • x-amz-lex-dialog-state header set to ElicitSlot

    • x-amz-lex-intent-name header set to the intent name in the current context

    • x-amz-lex-slot-to-elicit header set to the slot name for which the message is eliciting information

    • x-amz-lex-slots header set to a map of slots configured for the intent with their current values

  • If the message is a confirmation prompt, the x-amz-lex-dialog-state header is set to Confirmation and the x-amz-lex-slot-to-elicit header is omitted.

  • If the message is a clarification prompt configured for the intent, indicating that the user intent is not understood, the x-amz-dialog-state header is set to ElicitIntent and the x-amz-slot-to-elicit header is omitted.

In addition, Amazon Lex also returns your application-specific sessionAttributes. For more information, see Managing Conversation Context.

", "PostText": "

Sends user input (text-only) to Amazon Lex. Client applications can use this API to send requests to Amazon Lex at runtime. Amazon Lex then interprets the user input using the machine learning model it built for the bot.

In response, Amazon Lex returns the next message to convey to the user an optional responseCard to display. Consider the following example messages:

  • For a user input \"I would like a pizza\", Amazon Lex might return a response with a message eliciting slot data (for example, PizzaSize): \"What size pizza would you like?\"

  • After the user provides all of the pizza order information, Amazon Lex might return a response with a message to obtain user confirmation \"Proceed with the pizza order?\".

  • After the user replies to a confirmation prompt with a \"yes\", Amazon Lex might return a conclusion statement: \"Thank you, your cheese pizza has been ordered.\".

Not all Amazon Lex messages require a user response. For example, a conclusion statement does not require a response. Some messages require only a \"yes\" or \"no\" user response. In addition to the message, Amazon Lex provides additional context about the message in the response that you might use to enhance client behavior, for example, to display the appropriate client user interface. These are the slotToElicit, dialogState, intentName, and slots fields in the response. Consider the following examples:

  • If the message is to elicit slot data, Amazon Lex returns the following context information:

    • dialogState set to ElicitSlot

    • intentName set to the intent name in the current context

    • slotToElicit set to the slot name for which the message is eliciting information

    • slots set to a map of slots, configured for the intent, with currently known values

  • If the message is a confirmation prompt, the dialogState is set to ConfirmIntent and SlotToElicit is set to null.

  • If the message is a clarification prompt (configured for the intent) that indicates that user intent is not understood, the dialogState is set to ElicitIntent and slotToElicit is set to null.

In addition, Amazon Lex also returns your application-specific sessionAttributes. For more information, see Managing Conversation Context.

" }, "shapes": { @@ -12,20 +12,27 @@ "PostContentRequest$accept": "

You pass this value as the Accept HTTP header.

The message Amazon Lex returns in the response can be either text or speech based on the Accept HTTP header value in the request.

  • If the value is text/plain; charset=utf-8, Amazon Lex returns text in the response.

  • If the value begins with audio/, Amazon Lex returns speech in the response. Amazon Lex uses Amazon Polly to generate the speech (using the configuration you specified in the Accept header). For example, if you specify audio/mpeg as the value, Amazon Lex returns speech in the MPEG format.

    The following are the accepted values:

    • audio/mpeg

    • audio/ogg

    • audio/pcm

    • text/plain; charset=utf-8

    • audio/* (defaults to mpeg)

" } }, + "AttributesString": { + "base": null, + "refs": { + "PostContentRequest$sessionAttributes": "

You pass this value as the x-amz-lex-session-attributes HTTP header.

Application-specific information passed between Amazon Lex and a client application. The value must be a JSON serialized and base64 encoded map with string keys and values. The total size of the sessionAttributes and requestAttributes headers is limited to 12 KB.

For more information, see Setting Session Attributes.

", + "PostContentRequest$requestAttributes": "

You pass this value as the x-amz-lex-request-attributes HTTP header.

Request-specific information passed between Amazon Lex and a client application. The value must be a JSON serialized and base64 encoded map with string keys and values. The total size of the requestAttributes and sessionAttributes headers is limited to 12 KB.

The namespace x-amz-lex: is reserved for special attributes. Don't create any request attributes with the prefix x-amz-lex:.

For more information, see Setting Request Attributes.

" + } + }, "BadGatewayException": { "base": "

Either the Amazon Lex bot is still building, or one of the dependent services (Amazon Polly, AWS Lambda) failed with an internal service error.

", "refs": { } }, "BadRequestException": { - "base": "

Request validation failed, there is no usable message in the context, or the bot build failed.

", + "base": "

Request validation failed, there is no usable message in the context, or the bot build failed, is still in progress, or contains unbuilt changes.

", "refs": { } }, "BlobStream": { "base": null, "refs": { - "PostContentRequest$inputStream": "

User input in PCM or Opus audio format or text format as described in the Content-Type HTTP header.

", + "PostContentRequest$inputStream": "

User input in PCM or Opus audio format or text format as described in the Content-Type HTTP header.

You can stream audio data to Amazon Lex or you can create a local buffer that captures all of the audio data before sending. In general, you get better performance if you stream audio data rather than buffering the data locally.

", "PostContentResponse$audioStream": "

The prompt (or statement) to convey to the user. This is based on the bot configuration and context. For example, if Amazon Lex did not understand the user intent, it sends the clarificationPrompt configured for the bot. If the intent requires confirmation before taking the fulfillment action, it sends the confirmationPrompt. Another example: Suppose that the Lambda function successfully fulfilled the intent, and sent a message to convey to the user. Then Amazon Lex sends that message in the response.

" } }, @@ -73,15 +80,15 @@ } }, "DependencyFailedException": { - "base": "

One of the downstream dependencies, such as AWS Lambda or Amazon Polly, threw an exception. For example, if Amazon Lex does not have sufficient permissions to call a Lambda function, it results in Lambda throwing an exception.

", + "base": "

One of the dependencies, such as AWS Lambda or Amazon Polly, threw an exception. For example,

  • If Amazon Lex does not have sufficient permissions to call a Lambda function.

  • If a Lambda function takes longer than 30 seconds to execute.

  • If a fulfillment Lambda function returns a Delegate dialog action without removing any slot values.

", "refs": { } }, "DialogState": { "base": null, "refs": { - "PostContentResponse$dialogState": "

Identifies the current state of the user interaction. Amazon Lex returns one of the following values as dialogState. The client can optionally use this information to customize the user interface.

  • ElicitIntent – Amazon Lex wants to elicit the user's intent. Consider the following examples:

    For example, a user might utter an intent (\"I want to order a pizza\"). If Amazon Lex cannot infer the user intent from this utterance, it will return this dialog state.

  • ConfirmIntent – Amazon Lex is expecting a \"yes\" or \"no\" response.

    For example, Amazon Lex wants user confirmation before fulfilling an intent. Instead of a simple \"yes\" or \"no\" response, a user might respond with additional information. For example, \"yes, but make it a thick crust pizza\" or \"no, I want to order a drink.\" Amazon Lex can process such additional information (in these examples, update the crust type slot or change the intent from OrderPizza to OrderDrink).

  • ElicitSlot – Amazon Lex is expecting the value of a slot for the current intent.

    For example, suppose that in the response Amazon Lex sends this message: \"What size pizza would you like?\". A user might reply with the slot value (e.g., \"medium\"). The user might also provide additional information in the response (e.g., \"medium thick crust pizza\"). Amazon Lex can process such additional information appropriately.

  • Fulfilled – Conveys that the Lambda function has successfully fulfilled the intent.

  • ReadyForFulfillment – Conveys that the client has to fullfill the request.

  • Failed – Conveys that the conversation with the user failed.

    This can happen for various reasons, including that the user does not provide an appropriate response to prompts from the service (you can configure how many times Amazon Lex can prompt a user for specific information), or if the Lambda function fails to fulfill the intent.

", - "PostTextResponse$dialogState": "

Identifies the current state of the user interaction. Amazon Lex returns one of the following values as dialogState. The client can optionally use this information to customize the user interface.

  • ElicitIntent – Amazon Lex wants to elicit user intent.

    For example, a user might utter an intent (\"I want to order a pizza\"). If Amazon Lex cannot infer the user intent from this utterance, it will return this dialogState.

  • ConfirmIntent – Amazon Lex is expecting a \"yes\" or \"no\" response.

    For example, Amazon Lex wants user confirmation before fulfilling an intent.

    Instead of a simple \"yes\" or \"no,\" a user might respond with additional information. For example, \"yes, but make it thick crust pizza\" or \"no, I want to order a drink\". Amazon Lex can process such additional information (in these examples, update the crust type slot value, or change intent from OrderPizza to OrderDrink).

  • ElicitSlot – Amazon Lex is expecting a slot value for the current intent.

    For example, suppose that in the response Amazon Lex sends this message: \"What size pizza would you like?\". A user might reply with the slot value (e.g., \"medium\"). The user might also provide additional information in the response (e.g., \"medium thick crust pizza\"). Amazon Lex can process such additional information appropriately.

  • Fulfilled – Conveys that the Lambda function configured for the intent has successfully fulfilled the intent.

  • ReadyForFulfillment – Conveys that the client has to fulfill the intent.

  • Failed – Conveys that the conversation with the user failed.

    This can happen for various reasons including that the user did not provide an appropriate response to prompts from the service (you can configure how many times Amazon Lex can prompt a user for specific information), or the Lambda function failed to fulfill the intent.

" + "PostContentResponse$dialogState": "

Identifies the current state of the user interaction. Amazon Lex returns one of the following values as dialogState. The client can optionally use this information to customize the user interface.

  • ElicitIntent - Amazon Lex wants to elicit the user's intent. Consider the following examples:

    For example, a user might utter an intent (\"I want to order a pizza\"). If Amazon Lex cannot infer the user intent from this utterance, it will return this dialog state.

  • ConfirmIntent - Amazon Lex is expecting a \"yes\" or \"no\" response.

    For example, Amazon Lex wants user confirmation before fulfilling an intent. Instead of a simple \"yes\" or \"no\" response, a user might respond with additional information. For example, \"yes, but make it a thick crust pizza\" or \"no, I want to order a drink.\" Amazon Lex can process such additional information (in these examples, update the crust type slot or change the intent from OrderPizza to OrderDrink).

  • ElicitSlot - Amazon Lex is expecting the value of a slot for the current intent.

    For example, suppose that in the response Amazon Lex sends this message: \"What size pizza would you like?\". A user might reply with the slot value (e.g., \"medium\"). The user might also provide additional information in the response (e.g., \"medium thick crust pizza\"). Amazon Lex can process such additional information appropriately.

  • Fulfilled - Conveys that the Lambda function has successfully fulfilled the intent.

  • ReadyForFulfillment - Conveys that the client has to fulfill the request.

  • Failed - Conveys that the conversation with the user failed.

    This can happen for various reasons, including that the user does not provide an appropriate response to prompts from the service (you can configure how many times Amazon Lex can prompt a user for specific information), or if the Lambda function fails to fulfill the intent.

", + "PostTextResponse$dialogState": "

Identifies the current state of the user interaction. Amazon Lex returns one of the following values as dialogState. The client can optionally use this information to customize the user interface.

  • ElicitIntent - Amazon Lex wants to elicit user intent.

    For example, a user might utter an intent (\"I want to order a pizza\"). If Amazon Lex cannot infer the user intent from this utterance, it will return this dialogState.

  • ConfirmIntent - Amazon Lex is expecting a \"yes\" or \"no\" response.

    For example, Amazon Lex wants user confirmation before fulfilling an intent.

    Instead of a simple \"yes\" or \"no,\" a user might respond with additional information. For example, \"yes, but make it thick crust pizza\" or \"no, I want to order a drink\". Amazon Lex can process such additional information (in these examples, update the crust type slot value, or change intent from OrderPizza to OrderDrink).

  • ElicitSlot - Amazon Lex is expecting a slot value for the current intent.

    For example, suppose that in the response Amazon Lex sends this message: \"What size pizza would you like?\". A user might reply with the slot value (e.g., \"medium\"). The user might also provide additional information in the response (e.g., \"medium thick crust pizza\"). Amazon Lex can process such additional information appropriately.

  • Fulfilled - Conveys that the Lambda function configured for the intent has successfully fulfilled the intent.

  • ReadyForFulfillment - Conveys that the client has to fulfill the intent.

  • Failed - Conveys that the conversation with the user failed.

    This can happen for various reasons including that the user did not provide an appropriate response to prompts from the service (you can configure how many times Amazon Lex can prompt a user for specific information), or the Lambda function failed to fulfill the intent.

" } }, "ErrorMessage": { @@ -101,7 +108,7 @@ "HttpContentType": { "base": null, "refs": { - "PostContentRequest$contentType": "

You pass this values as the Content-Type HTTP header.

Indicates the audio format or text. The header value must start with one of the following prefixes:

  • PCM format

    • audio/l16; rate=16000; channels=1

    • audio/x-l16; sample-rate=16000; channel-count=1

  • Opus format

    • audio/x-cbr-opus-with-preamble; preamble-size=0; bit-rate=1; frame-size-milliseconds=1.1

  • Text format

    • text/plain; charset=utf-8

", + "PostContentRequest$contentType": "

You pass this value as the Content-Type HTTP header.

Indicates the audio format or text. The header value must start with one of the following prefixes:

  • PCM format, audio data must be in little-endian byte order.

    • audio/l16; rate=16000; channels=1

    • audio/x-l16; sample-rate=16000; channel-count=1

    • audio/lpcm; sample-rate=8000; sample-size-bits=16; channel-count=1; is-big-endian=false

  • Opus format

    • audio/x-cbr-opus-with-preamble; preamble-size=0; bit-rate=256000; frame-size-milliseconds=4

  • Text format

    • text/plain; charset=utf-8

", "PostContentResponse$contentType": "

Content type as specified in the Accept HTTP header in the request.

" } }, @@ -123,7 +130,7 @@ } }, "LoopDetectedException": { - "base": "

Lambda fulfilment function returned DelegateDialogAction to Amazon Lex without changing any slot values.

", + "base": "

This exception is not used.

", "refs": { } }, @@ -178,11 +185,10 @@ "LimitExceededException$message": null, "NotAcceptableException$message": null, "NotFoundException$message": null, - "PostContentRequest$sessionAttributes": "

You pass this value in the x-amz-lex-session-attributes HTTP header. The value must be map (keys and values must be strings) that is JSON serialized and then base64 encoded.

A session represents dialog between a user and Amazon Lex. At runtime, a client application can pass contextual information, in the request to Amazon Lex. For example,

  • You might use session attributes to track the requestID of user requests.

  • In Getting Started Exercise 1, the example bot uses the price session attribute to maintain the price of flowers ordered (for example, \"price\":25). The code hook (Lambda function) sets this attribute based on the type of flowers ordered. For more information, see Review the Details of Information Flow.

  • In the BookTrip bot exercise, the bot uses the currentReservation session attribute to maintains the slot data during the in-progress conversation to book a hotel or book a car. For more information, see Details of Information Flow.

Amazon Lex passes these session attributes to the Lambda functions configured for the intent In the your Lambda function, you can use the session attributes for initialization and customization (prompts). Some examples are:

  • Initialization - In a pizza ordering bot, if you pass user location (for example, \"Location : 111 Maple Street\"), then your Lambda function might use this information to determine the closest pizzeria to place the order (and perhaps set the storeAddress slot value as well).

    Personalized prompts - For example, you can configure prompts to refer to the user by name (for example, \"Hey [firstName], what toppings would you like?\"). You can pass the user's name as a session attribute (\"firstName\": \"Joe\") so that Amazon Lex can substitute the placeholder to provide a personalized prompt to the user (\"Hey Joe, what toppings would you like?\").

Amazon Lex does not persist session attributes.

If you configured a code hook for the intent, Amazon Lex passes the incoming session attributes to the Lambda function. The Lambda function must return these session attributes if you want Amazon Lex to return them to the client.

If there is no code hook configured for the intent Amazon Lex simply returns the session attributes to the client application.

", - "PostContentResponse$slots": "

Map of zero or more intent slots (name/value pairs) Amazon Lex detected from the user input during the conversation.

", + "PostContentResponse$slots": "

Map of zero or more intent slots (name/value pairs) Amazon Lex detected from the user input during the conversation.

Amazon Lex creates a resolution list containing likely values for a slot. The value that it returns is determined by the valueSelectionStrategy selected when the slot type was created or updated. If valueSelectionStrategy is set to ORIGINAL_VALUE, the value provided by the user is returned, if the user value is similar to the slot values. If valueSelectionStrategy is set to TOP_RESOLUTION Amazon Lex returns the first value in the resolution list or, if there is no resolution list, null. If you don't specify a valueSelectionStrategy, the default is ORIGINAL_VALUE.

", "PostContentResponse$sessionAttributes": "

Map of key/value pairs representing the session-specific context information.

", "PostContentResponse$slotToElicit": "

If the dialogState value is ElicitSlot, returns the name of the slot for which Amazon Lex is eliciting a value.

", - "PostContentResponse$inputTranscript": "

Transcript of the voice input to the operation.

", + "PostContentResponse$inputTranscript": "

The text used to process the request.

If the input was an audio stream, the inputTranscript field contains the text extracted from the audio stream. This is the text that is actually processed to recognize intents and slot values. You can use this information to determine if Amazon Lex is correctly processing the audio that you send.

", "PostTextResponse$slotToElicit": "

If the dialogState value is ElicitSlot, returns the name of the slot for which Amazon Lex is eliciting a value.

", "RequestTimeoutException$message": null, "ResponseCard$version": "

The version of the response card format.

", @@ -194,8 +200,9 @@ "StringMap": { "base": null, "refs": { - "PostTextRequest$sessionAttributes": "

By using session attributes, a client application can pass contextual information in the request to Amazon Lex For example,

  • In Getting Started Exercise 1, the example bot uses the price session attribute to maintain the price of the flowers ordered (for example, \"Price\":25). The code hook (the Lambda function) sets this attribute based on the type of flowers ordered. For more information, see Review the Details of Information Flow.

  • In the BookTrip bot exercise, the bot uses the currentReservation session attribute to maintain slot data during the in-progress conversation to book a hotel or book a car. For more information, see Details of Information Flow.

  • You might use the session attributes (key, value pairs) to track the requestID of user requests.

Amazon Lex simply passes these session attributes to the Lambda functions configured for the intent.

In your Lambda function, you can also use the session attributes for initialization and customization (prompts and response cards). Some examples are:

  • Initialization - In a pizza ordering bot, if you can pass the user location as a session attribute (for example, \"Location\" : \"111 Maple street\"), then your Lambda function might use this information to determine the closest pizzeria to place the order (perhaps to set the storeAddress slot value).

  • Personalize prompts - For example, you can configure prompts to refer to the user name. (For example, \"Hey [FirstName], what toppings would you like?\"). You can pass the user name as a session attribute (\"FirstName\" : \"Joe\") so that Amazon Lex can substitute the placeholder to provide a personalize prompt to the user (\"Hey Joe, what toppings would you like?\").

Amazon Lex does not persist session attributes.

If you configure a code hook for the intent, Amazon Lex passes the incoming session attributes to the Lambda function. If you want Amazon Lex to return these session attributes back to the client, the Lambda function must return them.

If there is no code hook configured for the intent, Amazon Lex simply returns the session attributes back to the client application.

", - "PostTextResponse$slots": "

The intent slots (name/value pairs) that Amazon Lex detected so far from the user input in the conversation.

", + "PostTextRequest$sessionAttributes": "

Application-specific information passed between Amazon Lex and a client application.

For more information, see Setting Session Attributes.

", + "PostTextRequest$requestAttributes": "

Request-specific information passed between Amazon Lex and a client application.

The namespace x-amz-lex: is reserved for special attributes. Don't create any request attributes with the prefix x-amz-lex:.

For more information, see Setting Request Attributes.

", + "PostTextResponse$slots": "

The intent slots that Amazon Lex detected from the user input in the conversation.

Amazon Lex creates a resolution list containing likely values for a slot. The value that it returns is determined by the valueSelectionStrategy selected when the slot type was created or updated. If valueSelectionStrategy is set to ORIGINAL_VALUE, the value provided by the user is returned, if the user value is similar to the slot values. If valueSelectionStrategy is set to TOP_RESOLUTION Amazon Lex returns the first value in the resolution list or, if there is no resolution list, null. If you don't specify a valueSelectionStrategy, the default is ORIGINAL_VALUE.

", "PostTextResponse$sessionAttributes": "

A map of key-value pairs representing the session-specific context information.

" } }, @@ -229,8 +236,8 @@ "UserId": { "base": null, "refs": { - "PostContentRequest$userId": "

ID of the client application user. Typically, each of your application users should have a unique ID. The application developer decides the user IDs. At runtime, each request must include the user ID. Note the following considerations:

  • If you want a user to start conversation on one device and continue the conversation on another device, you might choose a user-specific identifier, such as the user's login, or Amazon Cognito user ID (assuming your application is using Amazon Cognito).

  • If you want the same user to be able to have two independent conversations on two different devices, you might choose device-specific identifier, such as device ID, or some globally unique identifier.

", - "PostTextRequest$userId": "

The ID of the client application user. The application developer decides the user IDs. At runtime, each request must include the user ID. Typically, each of your application users should have a unique ID. Note the following considerations:

  • If you want a user to start a conversation on one device and continue the conversation on another device, you might choose a user-specific identifier, such as a login or Amazon Cognito user ID (assuming your application is using Amazon Cognito).

  • If you want the same user to be able to have two independent conversations on two different devices, you might choose a device-specific identifier, such as device ID, or some globally unique identifier.

" + "PostContentRequest$userId": "

The ID of the client application user. Amazon Lex uses this to identify a user's conversation with your bot. At runtime, each request must contain the userID field.

To decide the user ID to use for your application, consider the following factors.

  • The userID field must not contain any personally identifiable information of the user, for example, name, personal identification numbers, or other end user personal information.

  • If you want a user to start a conversation on one device and continue on another device, use a user-specific identifier.

  • If you want the same user to be able to have two independent conversations on two different devices, choose a device-specific identifier.

  • A user can't have two independent conversations with two different versions of the same bot. For example, a user can't have a conversation with the PROD and BETA versions of the same bot. If you anticipate that a user will need to have conversation with two different versions, for example, while testing, include the bot alias in the user ID to separate the two conversations.

", + "PostTextRequest$userId": "

The ID of the client application user. Amazon Lex uses this to identify a user's conversation with your bot. At runtime, each request must contain the userID field.

To decide the user ID to use for your application, consider the following factors.

  • The userID field must not contain any personally identifiable information of the user, for example, name, personal identification numbers, or other end user personal information.

  • If you want a user to start a conversation on one device and continue on another device, use a user-specific identifier.

  • If you want the same user to be able to have two independent conversations on two different devices, choose a device-specific identifier.

  • A user can't have two independent conversations with two different versions of the same bot. For example, a user can't have a conversation with the PROD and BETA versions of the same bot. If you anticipate that a user will need to have conversation with two different versions, for example, while testing, include the bot alias in the user ID to separate the two conversations.

" } }, "genericAttachmentList": { diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/servicecatalog/2015-12-10/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/servicecatalog/2015-12-10/api-2.json index 38f70e553..2d6b3ceb5 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/servicecatalog/2015-12-10/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/servicecatalog/2015-12-10/api-2.json @@ -70,6 +70,19 @@ {"shape":"InvalidStateException"} ] }, + "CopyProduct":{ + "name":"CopyProduct", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CopyProductInput"}, + "output":{"shape":"CopyProductOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"} + ] + }, "CreateConstraint":{ "name":"CreateConstraint", "http":{ @@ -236,6 +249,18 @@ {"shape":"ResourceNotFoundException"} ] }, + "DescribeCopyProductStatus":{ + "name":"DescribeCopyProductStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCopyProductStatusInput"}, + "output":{"shape":"DescribeCopyProductStatusOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ] + }, "DescribePortfolio":{ "name":"DescribePortfolio", "http":{ @@ -825,6 +850,47 @@ "max":1024, "min":1 }, + "CopyOption":{ + "type":"string", + "enum":["CopyTags"] + }, + "CopyOptions":{ + "type":"list", + "member":{"shape":"CopyOption"} + }, + "CopyProductInput":{ + "type":"structure", + "required":[ + "SourceProductArn", + "IdempotencyToken" + ], + "members":{ + "AcceptLanguage":{"shape":"AcceptLanguage"}, + "SourceProductArn":{"shape":"ProductArn"}, + "TargetProductId":{"shape":"Id"}, + "TargetProductName":{"shape":"ProductViewName"}, + "SourceProvisioningArtifactIdentifiers":{"shape":"SourceProvisioningArtifactProperties"}, + "CopyOptions":{"shape":"CopyOptions"}, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "idempotencyToken":true + } + } + }, + "CopyProductOutput":{ + "type":"structure", + "members":{ + "CopyProductToken":{"shape":"Id"} + } + }, + "CopyProductStatus":{ + "type":"string", + "enum":[ + "SUCCEEDED", + "IN_PROGRESS", + "FAILED" + ] + }, "CreateConstraintInput":{ "type":"structure", "required":[ @@ -1067,6 +1133,22 @@ "Status":{"shape":"Status"} } }, + "DescribeCopyProductStatusInput":{ + "type":"structure", + "required":["CopyProductToken"], + "members":{ + "AcceptLanguage":{"shape":"AcceptLanguage"}, + "CopyProductToken":{"shape":"Id"} + } + }, + "DescribeCopyProductStatusOutput":{ + "type":"structure", + "members":{ + "CopyProductStatus":{"shape":"CopyProductStatus"}, + "TargetProductId":{"shape":"Id"}, + "StatusDetail":{"shape":"StatusDetail"} + } + }, "DescribePortfolioInput":{ "type":"structure", "required":["Id"], @@ -1601,6 +1683,12 @@ "type":"list", "member":{"shape":"Principal"} }, + "ProductArn":{ + "type":"string", + "max":1224, + "min":1, + "pattern":"arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}" + }, "ProductSource":{ "type":"string", "enum":["ACCOUNT"] @@ -1829,6 +1917,11 @@ "Type":{"shape":"ProvisioningArtifactType"} } }, + "ProvisioningArtifactPropertyName":{ + "type":"string", + "enum":["Id"] + }, + "ProvisioningArtifactPropertyValue":{"type":"string"}, "ProvisioningArtifactSummaries":{ "type":"list", "member":{"shape":"ProvisioningArtifactSummary"} @@ -2061,6 +2154,15 @@ "DESCENDING" ] }, + "SourceProvisioningArtifactProperties":{ + "type":"list", + "member":{"shape":"SourceProvisioningArtifactPropertiesMap"} + }, + "SourceProvisioningArtifactPropertiesMap":{ + "type":"map", + "key":{"shape":"ProvisioningArtifactPropertyName"}, + "value":{"shape":"ProvisioningArtifactPropertyValue"} + }, "Status":{ "type":"string", "enum":[ @@ -2069,6 +2171,7 @@ "FAILED" ] }, + "StatusDetail":{"type":"string"}, "SupportDescription":{"type":"string"}, "SupportEmail":{"type":"string"}, "SupportUrl":{"type":"string"}, diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/servicecatalog/2015-12-10/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/servicecatalog/2015-12-10/docs-2.json index 6b95bf0ba..8276f503e 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/servicecatalog/2015-12-10/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/servicecatalog/2015-12-10/docs-2.json @@ -6,11 +6,12 @@ "AssociatePrincipalWithPortfolio": "

Associates the specified principal ARN with the specified portfolio.

", "AssociateProductWithPortfolio": "

Associates a product with a portfolio.

", "AssociateTagOptionWithResource": "

Associate a TagOption identifier with a resource identifier.

", + "CopyProduct": "

Copies the specified source product to the specified target product or a new product.

You can copy the product to the same account or another account. You can copy the product to the same region or another region.

This operation is performed asynchronously. To track the progress of the operation, use DescribeCopyProductStatus.

", "CreateConstraint": "

Creates a new constraint. For more information, see Using Constraints.

", "CreatePortfolio": "

Creates a new portfolio.

", "CreatePortfolioShare": "

Creates a new portfolio share.

", "CreateProduct": "

Creates a new product.

", - "CreateProvisioningArtifact": "

Create a new provisioning artifact for the specified product. This operation does not work with a product that has been shared with you.

See the bottom of this topic for an example JSON request.

", + "CreateProvisioningArtifact": "

Create a new provisioning artifact for the specified product. This operation does not work with a product that has been shared with you.

", "CreateTagOption": "

Create a new TagOption.

", "DeleteConstraint": "

Deletes the specified constraint.

", "DeletePortfolio": "

Deletes the specified portfolio. This operation does not work with a portfolio that has been shared with you or if it has products, users, constraints, or shared accounts associated with it.

", @@ -18,6 +19,7 @@ "DeleteProduct": "

Deletes the specified product. This operation does not work with a product that has been shared with you or is associated with a portfolio.

", "DeleteProvisioningArtifact": "

Deletes the specified provisioning artifact. This operation does not work on a provisioning artifact associated with a product that has been shared with you, or on the last provisioning artifact associated with a product (a product must have at least one provisioning artifact).

", "DescribeConstraint": "

Retrieves detailed information for a specified constraint.

", + "DescribeCopyProductStatus": "

Describes the status of the specified copy product operation.

", "DescribePortfolio": "

Retrieves detailed information and any tags associated with the specified portfolio.

", "DescribeProduct": "

Retrieves information about a specified product.

This operation is functionally identical to DescribeProductView except that it takes as input ProductId instead of ProductViewId.

", "DescribeProductAsAdmin": "

Retrieves information about a specified product, run with administrator access.

", @@ -58,50 +60,52 @@ "AcceptLanguage": { "base": null, "refs": { - "AcceptPortfolioShareInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "AssociatePrincipalWithPortfolioInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "AssociateProductWithPortfolioInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "CreateConstraintInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "CreatePortfolioInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "CreatePortfolioShareInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "CreateProductInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "CreateProvisioningArtifactInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "DeleteConstraintInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "DeletePortfolioInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "DeletePortfolioShareInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "DeleteProductInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "DeleteProvisioningArtifactInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "DescribeConstraintInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "DescribePortfolioInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "DescribeProductAsAdminInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "DescribeProductInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "DescribeProductViewInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "DescribeProvisionedProductInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "DescribeProvisioningArtifactInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "DescribeProvisioningParametersInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "DescribeRecordInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "DisassociatePrincipalFromPortfolioInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "DisassociateProductFromPortfolioInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "ListAcceptedPortfolioSharesInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "ListConstraintsForPortfolioInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "ListLaunchPathsInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "ListPortfolioAccessInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "ListPortfoliosForProductInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "ListPortfoliosInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "ListPrincipalsForPortfolioInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "ListProvisioningArtifactsInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "ListRecordHistoryInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "ProvisionProductInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "RejectPortfolioShareInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "ScanProvisionedProductsInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "SearchProductsAsAdminInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "SearchProductsInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "TerminateProvisionedProductInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "UpdateConstraintInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "UpdatePortfolioInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "UpdateProductInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "UpdateProvisionedProductInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

", - "UpdateProvisioningArtifactInput$AcceptLanguage": "

The language code to use for this operation. Supported language codes are as follows:

\"en\" (English)

\"jp\" (Japanese)

\"zh\" (Chinese)

If no code is specified, \"en\" is used as the default.

" + "AcceptPortfolioShareInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "AssociatePrincipalWithPortfolioInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "AssociateProductWithPortfolioInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "CopyProductInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "CreateConstraintInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "CreatePortfolioInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "CreatePortfolioShareInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "CreateProductInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "CreateProvisioningArtifactInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "DeleteConstraintInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "DeletePortfolioInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "DeletePortfolioShareInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "DeleteProductInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "DeleteProvisioningArtifactInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "DescribeConstraintInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "DescribeCopyProductStatusInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "DescribePortfolioInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "DescribeProductAsAdminInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "DescribeProductInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "DescribeProductViewInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "DescribeProvisionedProductInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "DescribeProvisioningArtifactInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "DescribeProvisioningParametersInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "DescribeRecordInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "DisassociatePrincipalFromPortfolioInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "DisassociateProductFromPortfolioInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "ListAcceptedPortfolioSharesInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "ListConstraintsForPortfolioInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "ListLaunchPathsInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "ListPortfolioAccessInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "ListPortfoliosForProductInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "ListPortfoliosInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "ListPrincipalsForPortfolioInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "ListProvisioningArtifactsInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "ListRecordHistoryInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "ProvisionProductInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "RejectPortfolioShareInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "ScanProvisionedProductsInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "SearchProductsAsAdminInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "SearchProductsInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "TerminateProvisionedProductInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "UpdateConstraintInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "UpdatePortfolioInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "UpdateProductInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "UpdateProvisionedProductInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

", + "UpdateProvisioningArtifactInput$AcceptLanguage": "

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" } }, "AcceptPortfolioShareInput": { @@ -238,7 +242,7 @@ "ConstraintParameters": { "base": null, "refs": { - "CreateConstraintInput$Parameters": "

The constraint parameters. Expected values vary depending on which Type is specified. For examples, see the bottom of this topic.

For Type LAUNCH, the RoleArn property is required.

For Type NOTIFICATION, the NotificationArns property is required.

For Type TEMPLATE, the Rules property is required.

", + "CreateConstraintInput$Parameters": "

The constraint parameters. Expected values vary depending on which Type is specified. For more information, see the Examples section.

For Type LAUNCH, the RoleArn property is required.

For Type NOTIFICATION, the NotificationArns property is required.

For Type TEMPLATE, the Rules property is required.

", "CreateConstraintOutput$ConstraintParameters": "

The resulting constraint parameters.

", "DescribeConstraintOutput$ConstraintParameters": "

The current parameters associated with the specified constraint.

", "UpdateConstraintOutput$ConstraintParameters": "

The resulting updated constraint parameters.

" @@ -265,6 +269,34 @@ "CreateConstraintInput$Type": "

The type of the constraint. Case-sensitive valid values are: LAUNCH, NOTIFICATION, or TEMPLATE.

" } }, + "CopyOption": { + "base": null, + "refs": { + "CopyOptions$member": null + } + }, + "CopyOptions": { + "base": null, + "refs": { + "CopyProductInput$CopyOptions": "

The copy options. If the value is CopyTags, the tags from the source product are copied to the target product.

" + } + }, + "CopyProductInput": { + "base": null, + "refs": { + } + }, + "CopyProductOutput": { + "base": null, + "refs": { + } + }, + "CopyProductStatus": { + "base": null, + "refs": { + "DescribeCopyProductStatusOutput$CopyProductStatus": "

The status of the copy product operation.

" + } + }, "CreateConstraintInput": { "base": null, "refs": { @@ -406,6 +438,16 @@ "refs": { } }, + "DescribeCopyProductStatusInput": { + "base": null, + "refs": { + } + }, + "DescribeCopyProductStatusOutput": { + "base": null, + "refs": { + } + }, "DescribePortfolioInput": { "base": null, "refs": { @@ -565,6 +607,8 @@ "AssociateProductWithPortfolioInput$PortfolioId": "

The portfolio identifier.

", "AssociateProductWithPortfolioInput$SourcePortfolioId": "

The identifier of the source portfolio to use with this association.

", "ConstraintDetail$ConstraintId": "

The identifier of the constraint.

", + "CopyProductInput$TargetProductId": "

The ID of the target product. By default, a new product is created.

", + "CopyProductOutput$CopyProductToken": "

A unique token to pass to DescribeCopyProductStatus to track the progress of the operation.

", "CreateConstraintInput$PortfolioId": "

The portfolio identifier.

", "CreateConstraintInput$ProductId": "

The product identifier.

", "CreatePortfolioShareInput$PortfolioId": "

The portfolio identifier.

", @@ -576,6 +620,8 @@ "DeleteProvisioningArtifactInput$ProductId": "

The product identifier.

", "DeleteProvisioningArtifactInput$ProvisioningArtifactId": "

The identifier of the provisioning artifact for the delete request. This is sometimes referred to as the product version.

", "DescribeConstraintInput$Id": "

The identifier of the constraint.

", + "DescribeCopyProductStatusInput$CopyProductToken": "

The token returned from the call to CopyProduct that initiated the operation.

", + "DescribeCopyProductStatusOutput$TargetProductId": "

The ID of the copied product.

", "DescribePortfolioInput$Id": "

The identifier of the portfolio for which to retrieve information.

", "DescribeProductAsAdminInput$Id": "

The identifier of the product for which to retrieve information.

", "DescribeProductInput$Id": "

The ProductId of the product to describe.

", @@ -629,12 +675,13 @@ "IdempotencyToken": { "base": null, "refs": { - "CreateConstraintInput$IdempotencyToken": "

A token to disambiguate duplicate requests. You can create multiple resources using the same input in multiple requests, provided that you also specify a different idempotency token for each request.

", - "CreatePortfolioInput$IdempotencyToken": "

A token to disambiguate duplicate requests. You can create multiple resources using the same input in multiple requests, provided that you also specify a different idempotency token for each request.

", - "CreateProductInput$IdempotencyToken": "

A token to disambiguate duplicate requests. You can create multiple resources using the same input in multiple requests, provided that you also specify a different idempotency token for each request.

", - "CreateProvisioningArtifactInput$IdempotencyToken": "

A token to disambiguate duplicate requests. You can create multiple resources using the same input in multiple requests, provided that you also specify a different idempotency token for each request.

", + "CopyProductInput$IdempotencyToken": "

A token to disambiguate duplicate requests. You can use the same input in multiple requests, provided that you also specify a different idempotency token for each request.

", + "CreateConstraintInput$IdempotencyToken": "

A token to disambiguate duplicate requests. You can use the same input in multiple requests, provided that you also specify a different idempotency token for each request.

", + "CreatePortfolioInput$IdempotencyToken": "

A token to disambiguate duplicate requests. You can use the same input in multiple requests, provided that you also specify a different idempotency token for each request.

", + "CreateProductInput$IdempotencyToken": "

A token to disambiguate duplicate requests. You can use the same input in multiple requests, provided that you also specify a different idempotency token for each request.

", + "CreateProvisioningArtifactInput$IdempotencyToken": "

A token to disambiguate duplicate requests. You can use the same input in multiple requests, provided that you also specify a different idempotency token for each request.

", "ProvisionProductInput$ProvisionToken": "

An idempotency token that uniquely identifies the provisioning request.

", - "ProvisionedProductDetail$IdempotencyToken": "

A token to disambiguate duplicate requests. You can create multiple resources using the same input in multiple requests, provided that you also specify a different idempotency token for each request.

", + "ProvisionedProductDetail$IdempotencyToken": "

A token to disambiguate duplicate requests. You can use the same input in multiple requests, provided that you also specify a different idempotency token for each request.

", "TerminateProvisionedProductInput$TerminateToken": "

An idempotency token that uniquely identifies the termination request. This token is only valid during the termination process. After the ProvisionedProduct object is terminated, further requests to terminate the same ProvisionedProduct object always return ResourceNotFound regardless of the value of TerminateToken.

", "UpdateProvisionedProductInput$UpdateToken": "

The idempotency token that uniquely identifies the provisioning update request.

" } @@ -986,6 +1033,12 @@ "ListPrincipalsForPortfolioOutput$Principals": "

The IAM principals (users or roles) associated with the portfolio.

" } }, + "ProductArn": { + "base": null, + "refs": { + "CopyProductInput$SourceProductArn": "

The Amazon Resource Name (ARN) of the source product.

" + } + }, "ProductSource": { "base": null, "refs": { @@ -1072,6 +1125,7 @@ "ProductViewName": { "base": null, "refs": { + "CopyProductInput$TargetProductName": "

A name for the target product. The default is the name of the source product.

", "CreateProductInput$Name": "

The name of the product.

", "ProductViewSummary$Name": "

The name of the product.

", "UpdateProductInput$Name": "

The updated product name.

" @@ -1279,6 +1333,18 @@ "CreateProvisioningArtifactInput$Parameters": "

The parameters to use when creating the new provisioning artifact.

" } }, + "ProvisioningArtifactPropertyName": { + "base": null, + "refs": { + "SourceProvisioningArtifactPropertiesMap$key": null + } + }, + "ProvisioningArtifactPropertyValue": { + "base": null, + "refs": { + "SourceProvisioningArtifactPropertiesMap$value": null + } + }, "ProvisioningArtifactSummaries": { "base": null, "refs": { @@ -1524,6 +1590,18 @@ "SearchProductsInput$SortOrder": "

The sort order specifier. If no value is specified, results are not sorted.

" } }, + "SourceProvisioningArtifactProperties": { + "base": null, + "refs": { + "CopyProductInput$SourceProvisioningArtifactIdentifiers": "

The IDs of the product versions to copy. By default, all provisioning artifacts are copied.

" + } + }, + "SourceProvisioningArtifactPropertiesMap": { + "base": null, + "refs": { + "SourceProvisioningArtifactProperties$member": null + } + }, "Status": { "base": null, "refs": { @@ -1536,6 +1614,12 @@ "UpdateProvisioningArtifactOutput$Status": "

The status of the current request.

" } }, + "StatusDetail": { + "base": null, + "refs": { + "DescribeCopyProductStatusOutput$StatusDetail": "

The status message.

" + } + }, "SupportDescription": { "base": null, "refs": { diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/servicecatalog/2015-12-10/paginators-1.json b/vendor/github.com/aws/aws-sdk-go/models/apis/servicecatalog/2015-12-10/paginators-1.json index 8ff946fe5..e988d6f2b 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/servicecatalog/2015-12-10/paginators-1.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/servicecatalog/2015-12-10/paginators-1.json @@ -1,5 +1,35 @@ { "pagination": { + "ListAcceptedPortfolioShares": { + "input_token": "PageToken", + "output_token": "NextPageToken", + "limit_key": "PageSize" + }, + "ListConstraintsForPortfolio": { + "input_token": "PageToken", + "output_token": "NextPageToken", + "limit_key": "PageSize" + }, + "ListLaunchPaths": { + "input_token": "PageToken", + "output_token": "NextPageToken", + "limit_key": "PageSize" + }, + "ListPortfolios": { + "input_token": "PageToken", + "output_token": "NextPageToken", + "limit_key": "PageSize" + }, + "ListPortfoliosForProduct": { + "input_token": "PageToken", + "output_token": "NextPageToken", + "limit_key": "PageSize" + }, + "ListPrincipalsForPortfolio": { + "input_token": "PageToken", + "output_token": "NextPageToken", + "limit_key": "PageSize" + }, "ListResourcesForTagOption": { "input_token": "PageToken", "output_token": "PageToken", @@ -9,6 +39,16 @@ "input_token": "PageToken", "output_token": "PageToken", "limit_key": "PageSize" + }, + "SearchProducts": { + "input_token": "PageToken", + "output_token": "NextPageToken", + "limit_key": "PageSize" + }, + "SearchProductsAsAdmin": { + "input_token": "PageToken", + "output_token": "NextPageToken", + "limit_key": "PageSize" } } } diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/ssm/2014-11-06/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/ssm/2014-11-06/api-2.json index 572264823..dec9f3edc 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/ssm/2014-11-06/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/ssm/2014-11-06/api-2.json @@ -302,7 +302,8 @@ "output":{"shape":"DeregisterTargetFromMaintenanceWindowResult"}, "errors":[ {"shape":"DoesNotExistException"}, - {"shape":"InternalServerError"} + {"shape":"InternalServerError"}, + {"shape":"TargetInUseException"} ] }, "DeregisterTaskFromMaintenanceWindow":{ @@ -342,6 +343,7 @@ "output":{"shape":"DescribeAssociationResult"}, "errors":[ {"shape":"AssociationDoesNotExist"}, + {"shape":"InvalidAssociationVersion"}, {"shape":"InternalServerError"}, {"shape":"InvalidDocument"}, {"shape":"InvalidInstanceId"} @@ -767,6 +769,32 @@ {"shape":"InternalServerError"} ] }, + "GetMaintenanceWindowExecutionTaskInvocation":{ + "name":"GetMaintenanceWindowExecutionTaskInvocation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMaintenanceWindowExecutionTaskInvocationRequest"}, + "output":{"shape":"GetMaintenanceWindowExecutionTaskInvocationResult"}, + "errors":[ + {"shape":"DoesNotExistException"}, + {"shape":"InternalServerError"} + ] + }, + "GetMaintenanceWindowTask":{ + "name":"GetMaintenanceWindowTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMaintenanceWindowTaskRequest"}, + "output":{"shape":"GetMaintenanceWindowTaskResult"}, + "errors":[ + {"shape":"DoesNotExistException"}, + {"shape":"InternalServerError"} + ] + }, "GetParameter":{ "name":"GetParameter", "http":{ @@ -852,6 +880,20 @@ {"shape":"InternalServerError"} ] }, + "ListAssociationVersions":{ + "name":"ListAssociationVersions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAssociationVersionsRequest"}, + "output":{"shape":"ListAssociationVersionsResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidNextToken"}, + {"shape":"AssociationDoesNotExist"} + ] + }, "ListAssociations":{ "name":"ListAssociations", "http":{ @@ -897,6 +939,36 @@ {"shape":"InvalidNextToken"} ] }, + "ListComplianceItems":{ + "name":"ListComplianceItems", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListComplianceItemsRequest"}, + "output":{"shape":"ListComplianceItemsResult"}, + "errors":[ + {"shape":"InvalidResourceType"}, + {"shape":"InvalidResourceId"}, + {"shape":"InternalServerError"}, + {"shape":"InvalidFilter"}, + {"shape":"InvalidNextToken"} + ] + }, + "ListComplianceSummaries":{ + "name":"ListComplianceSummaries", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListComplianceSummariesRequest"}, + "output":{"shape":"ListComplianceSummariesResult"}, + "errors":[ + {"shape":"InvalidFilter"}, + {"shape":"InvalidNextToken"}, + {"shape":"InternalServerError"} + ] + }, "ListDocumentVersions":{ "name":"ListDocumentVersions", "http":{ @@ -941,6 +1013,20 @@ {"shape":"InvalidNextToken"} ] }, + "ListResourceComplianceSummaries":{ + "name":"ListResourceComplianceSummaries", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListResourceComplianceSummariesRequest"}, + "output":{"shape":"ListResourceComplianceSummariesResult"}, + "errors":[ + {"shape":"InvalidFilter"}, + {"shape":"InvalidNextToken"}, + {"shape":"InternalServerError"} + ] + }, "ListResourceDataSync":{ "name":"ListResourceDataSync", "http":{ @@ -984,6 +1070,24 @@ {"shape":"DocumentLimitExceeded"} ] }, + "PutComplianceItems":{ + "name":"PutComplianceItems", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutComplianceItemsRequest"}, + "output":{"shape":"PutComplianceItemsResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidItemContentException"}, + {"shape":"TotalSizeLimitExceededException"}, + {"shape":"ItemSizeLimitExceededException"}, + {"shape":"ComplianceTypeCountLimitExceededException"}, + {"shape":"InvalidResourceType"}, + {"shape":"InvalidResourceId"} + ] + }, "PutInventory":{ "name":"PutInventory", "http":{ @@ -1001,7 +1105,10 @@ {"shape":"ItemSizeLimitExceededException"}, {"shape":"ItemContentMismatchException"}, {"shape":"CustomSchemaCountLimitExceededException"}, - {"shape":"UnsupportedInventorySchemaVersionException"} + {"shape":"UnsupportedInventorySchemaVersionException"}, + {"shape":"UnsupportedInventoryItemContextException"}, + {"shape":"InvalidInventoryItemContextException"}, + {"shape":"SubTypeCountLimitExceededException"} ] }, "PutParameter":{ @@ -1082,6 +1189,7 @@ {"shape":"IdempotentParameterMismatch"}, {"shape":"DoesNotExistException"}, {"shape":"ResourceLimitExceededException"}, + {"shape":"FeatureNotAvailableException"}, {"shape":"InternalServerError"} ] }, @@ -1099,6 +1207,20 @@ {"shape":"InternalServerError"} ] }, + "SendAutomationSignal":{ + "name":"SendAutomationSignal", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SendAutomationSignalRequest"}, + "output":{"shape":"SendAutomationSignalResult"}, + "errors":[ + {"shape":"AutomationExecutionNotFoundException"}, + {"shape":"InvalidAutomationSignalException"}, + {"shape":"InternalServerError"} + ] + }, "SendCommand":{ "name":"SendCommand", "http":{ @@ -1133,6 +1255,7 @@ {"shape":"InvalidAutomationExecutionParametersException"}, {"shape":"AutomationExecutionLimitExceededException"}, {"shape":"AutomationDefinitionVersionNotFoundException"}, + {"shape":"IdempotentParameterMismatch"}, {"shape":"InternalServerError"} ] }, @@ -1167,7 +1290,9 @@ {"shape":"InvalidUpdate"}, {"shape":"TooManyUpdates"}, {"shape":"InvalidDocument"}, - {"shape":"InvalidTarget"} + {"shape":"InvalidTarget"}, + {"shape":"InvalidAssociationVersion"}, + {"shape":"AssociationVersionLimitExceeded"} ] }, "UpdateAssociationStatus":{ @@ -1234,6 +1359,32 @@ {"shape":"InternalServerError"} ] }, + "UpdateMaintenanceWindowTarget":{ + "name":"UpdateMaintenanceWindowTarget", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateMaintenanceWindowTargetRequest"}, + "output":{"shape":"UpdateMaintenanceWindowTargetResult"}, + "errors":[ + {"shape":"DoesNotExistException"}, + {"shape":"InternalServerError"} + ] + }, + "UpdateMaintenanceWindowTask":{ + "name":"UpdateMaintenanceWindowTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateMaintenanceWindowTaskRequest"}, + "output":{"shape":"UpdateMaintenanceWindowTaskResult"}, + "errors":[ + {"shape":"DoesNotExistException"}, + {"shape":"InternalServerError"} + ] + }, "UpdateManagedInstanceRole":{ "name":"UpdateManagedInstanceRole", "http":{ @@ -1357,11 +1508,13 @@ "Name":{"shape":"DocumentName"}, "InstanceId":{"shape":"InstanceId"}, "AssociationId":{"shape":"AssociationId"}, + "AssociationVersion":{"shape":"AssociationVersion"}, "DocumentVersion":{"shape":"DocumentVersion"}, "Targets":{"shape":"Targets"}, "LastExecutionDate":{"shape":"DateTime"}, "Overview":{"shape":"AssociationOverview"}, - "ScheduleExpression":{"shape":"ScheduleExpression"} + "ScheduleExpression":{"shape":"ScheduleExpression"}, + "AssociationName":{"shape":"AssociationName"} } }, "AssociationAlreadyExists":{ @@ -1375,6 +1528,7 @@ "members":{ "Name":{"shape":"DocumentName"}, "InstanceId":{"shape":"InstanceId"}, + "AssociationVersion":{"shape":"AssociationVersion"}, "Date":{"shape":"DateTime"}, "LastUpdateAssociationDate":{"shape":"DateTime"}, "Status":{"shape":"AssociationStatus"}, @@ -1386,7 +1540,8 @@ "ScheduleExpression":{"shape":"ScheduleExpression"}, "OutputLocation":{"shape":"InstanceAssociationOutputLocation"}, "LastExecutionDate":{"shape":"DateTime"}, - "LastSuccessfulExecutionDate":{"shape":"DateTime"} + "LastSuccessfulExecutionDate":{"shape":"DateTime"}, + "AssociationName":{"shape":"AssociationName"} } }, "AssociationDescriptionList":{ @@ -1422,7 +1577,8 @@ "AssociationId", "AssociationStatusName", "LastExecutedBefore", - "LastExecutedAfter" + "LastExecutedAfter", + "AssociationName" ] }, "AssociationFilterList":{ @@ -1454,6 +1610,10 @@ "locationName":"Association" } }, + "AssociationName":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_\\-.]{3,128}$" + }, "AssociationOverview":{ "type":"structure", "members":{ @@ -1489,6 +1649,37 @@ "Failed" ] }, + "AssociationVersion":{ + "type":"string", + "pattern":"([$]LATEST)|([1-9][0-9]*)" + }, + "AssociationVersionInfo":{ + "type":"structure", + "members":{ + "AssociationId":{"shape":"AssociationId"}, + "AssociationVersion":{"shape":"AssociationVersion"}, + "CreatedDate":{"shape":"DateTime"}, + "Name":{"shape":"DocumentName"}, + "DocumentVersion":{"shape":"DocumentVersion"}, + "Parameters":{"shape":"Parameters"}, + "Targets":{"shape":"Targets"}, + "ScheduleExpression":{"shape":"ScheduleExpression"}, + "OutputLocation":{"shape":"InstanceAssociationOutputLocation"}, + "AssociationName":{"shape":"AssociationName"} + } + }, + "AssociationVersionLimitExceeded":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, + "AssociationVersionList":{ + "type":"list", + "member":{"shape":"AssociationVersionInfo"}, + "min":1 + }, "AttributeName":{ "type":"string", "max":64, @@ -1496,7 +1687,7 @@ }, "AttributeValue":{ "type":"string", - "max":1024, + "max":4096, "min":0 }, "AutomationActionName":{ @@ -1611,6 +1802,7 @@ "enum":[ "Pending", "InProgress", + "Waiting", "Success", "TimedOut", "Cancelled", @@ -1838,6 +2030,196 @@ "max":100 }, "CompletedCount":{"type":"integer"}, + "ComplianceExecutionId":{ + "type":"string", + "max":100 + }, + "ComplianceExecutionSummary":{ + "type":"structure", + "required":["ExecutionTime"], + "members":{ + "ExecutionTime":{"shape":"DateTime"}, + "ExecutionId":{"shape":"ComplianceExecutionId"}, + "ExecutionType":{"shape":"ComplianceExecutionType"} + } + }, + "ComplianceExecutionType":{ + "type":"string", + "max":50 + }, + "ComplianceFilterValue":{"type":"string"}, + "ComplianceItem":{ + "type":"structure", + "members":{ + "ComplianceType":{"shape":"ComplianceTypeName"}, + "ResourceType":{"shape":"ComplianceResourceType"}, + "ResourceId":{"shape":"ComplianceResourceId"}, + "Id":{"shape":"ComplianceItemId"}, + "Title":{"shape":"ComplianceItemTitle"}, + "Status":{"shape":"ComplianceStatus"}, + "Severity":{"shape":"ComplianceSeverity"}, + "ExecutionSummary":{"shape":"ComplianceExecutionSummary"}, + "Details":{"shape":"ComplianceItemDetails"} + } + }, + "ComplianceItemContentHash":{ + "type":"string", + "max":256 + }, + "ComplianceItemDetails":{ + "type":"map", + "key":{"shape":"AttributeName"}, + "value":{"shape":"AttributeValue"} + }, + "ComplianceItemEntry":{ + "type":"structure", + "required":[ + "Severity", + "Status" + ], + "members":{ + "Id":{"shape":"ComplianceItemId"}, + "Title":{"shape":"ComplianceItemTitle"}, + "Severity":{"shape":"ComplianceSeverity"}, + "Status":{"shape":"ComplianceStatus"}, + "Details":{"shape":"ComplianceItemDetails"} + } + }, + "ComplianceItemEntryList":{ + "type":"list", + "member":{"shape":"ComplianceItemEntry"}, + "max":10000, + "min":0 + }, + "ComplianceItemId":{ + "type":"string", + "max":100, + "min":1 + }, + "ComplianceItemList":{ + "type":"list", + "member":{ + "shape":"ComplianceItem", + "locationName":"Item" + } + }, + "ComplianceItemTitle":{ + "type":"string", + "max":500 + }, + "ComplianceQueryOperatorType":{ + "type":"string", + "enum":[ + "EQUAL", + "NOT_EQUAL", + "BEGIN_WITH", + "LESS_THAN", + "GREATER_THAN" + ] + }, + "ComplianceResourceId":{ + "type":"string", + "max":100, + "min":1 + }, + "ComplianceResourceIdList":{ + "type":"list", + "member":{"shape":"ComplianceResourceId"}, + "min":1 + }, + "ComplianceResourceType":{ + "type":"string", + "max":50, + "min":1 + }, + "ComplianceResourceTypeList":{ + "type":"list", + "member":{"shape":"ComplianceResourceType"}, + "min":1 + }, + "ComplianceSeverity":{ + "type":"string", + "enum":[ + "CRITICAL", + "HIGH", + "MEDIUM", + "LOW", + "INFORMATIONAL", + "UNSPECIFIED" + ] + }, + "ComplianceStatus":{ + "type":"string", + "enum":[ + "COMPLIANT", + "NON_COMPLIANT" + ] + }, + "ComplianceStringFilter":{ + "type":"structure", + "members":{ + "Key":{"shape":"ComplianceStringFilterKey"}, + "Values":{"shape":"ComplianceStringFilterValueList"}, + "Type":{"shape":"ComplianceQueryOperatorType"} + } + }, + "ComplianceStringFilterKey":{ + "type":"string", + "max":200, + "min":1 + }, + "ComplianceStringFilterList":{ + "type":"list", + "member":{ + "shape":"ComplianceStringFilter", + "locationName":"ComplianceFilter" + } + }, + "ComplianceStringFilterValueList":{ + "type":"list", + "member":{ + "shape":"ComplianceFilterValue", + "locationName":"FilterValue" + }, + "max":20, + "min":1 + }, + "ComplianceSummaryCount":{"type":"integer"}, + "ComplianceSummaryItem":{ + "type":"structure", + "members":{ + "ComplianceType":{"shape":"ComplianceTypeName"}, + "CompliantSummary":{"shape":"CompliantSummary"}, + "NonCompliantSummary":{"shape":"NonCompliantSummary"} + } + }, + "ComplianceSummaryItemList":{ + "type":"list", + "member":{ + "shape":"ComplianceSummaryItem", + "locationName":"Item" + } + }, + "ComplianceTypeCountLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, + "ComplianceTypeName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[A-Za-z0-9_\\-]\\w+|Custom:[a-zA-Z0-9_\\-]\\w+" + }, + "CompliantSummary":{ + "type":"structure", + "members":{ + "CompliantCount":{"shape":"ComplianceSummaryCount"}, + "SeveritySummary":{"shape":"SeveritySummary"} + } + }, "ComputerName":{ "type":"string", "max":255, @@ -1889,7 +2271,8 @@ "DocumentVersion":{"shape":"DocumentVersion"}, "Targets":{"shape":"Targets"}, "ScheduleExpression":{"shape":"ScheduleExpression"}, - "OutputLocation":{"shape":"InstanceAssociationOutputLocation"} + "OutputLocation":{"shape":"InstanceAssociationOutputLocation"}, + "AssociationName":{"shape":"AssociationName"} } }, "CreateAssociationBatchResult":{ @@ -1909,7 +2292,8 @@ "Parameters":{"shape":"Parameters"}, "Targets":{"shape":"Targets"}, "ScheduleExpression":{"shape":"ScheduleExpression"}, - "OutputLocation":{"shape":"InstanceAssociationOutputLocation"} + "OutputLocation":{"shape":"InstanceAssociationOutputLocation"}, + "AssociationName":{"shape":"AssociationName"} } }, "CreateAssociationResult":{ @@ -1947,6 +2331,7 @@ ], "members":{ "Name":{"shape":"MaintenanceWindowName"}, + "Description":{"shape":"MaintenanceWindowDescription"}, "Schedule":{"shape":"MaintenanceWindowSchedule"}, "Duration":{"shape":"MaintenanceWindowDurationHours"}, "Cutoff":{"shape":"MaintenanceWindowCutoff"}, @@ -2158,7 +2543,11 @@ ], "members":{ "WindowId":{"shape":"MaintenanceWindowId"}, - "WindowTargetId":{"shape":"MaintenanceWindowTargetId"} + "WindowTargetId":{"shape":"MaintenanceWindowTargetId"}, + "Safe":{ + "shape":"Boolean", + "box":true + } } }, "DeregisterTargetFromMaintenanceWindowResult":{ @@ -2228,7 +2617,8 @@ "members":{ "Name":{"shape":"DocumentName"}, "InstanceId":{"shape":"InstanceId"}, - "AssociationId":{"shape":"AssociationId"} + "AssociationId":{"shape":"AssociationId"}, + "AssociationVersion":{"shape":"AssociationVersion"} } }, "DescribeAssociationResult":{ @@ -2907,6 +3297,13 @@ "Unknown" ] }, + "FeatureNotAvailableException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, "GetAutomationExecutionRequest":{ "type":"structure", "required":["AutomationExecutionId"], @@ -3034,6 +3431,10 @@ "MaxResults":{ "shape":"GetInventorySchemaMaxResults", "box":true + }, + "SubType":{ + "shape":"IsSubTypeSchema", + "box":true } } }, @@ -3062,6 +3463,36 @@ "EndTime":{"shape":"DateTime"} } }, + "GetMaintenanceWindowExecutionTaskInvocationRequest":{ + "type":"structure", + "required":[ + "WindowExecutionId", + "TaskId", + "InvocationId" + ], + "members":{ + "WindowExecutionId":{"shape":"MaintenanceWindowExecutionId"}, + "TaskId":{"shape":"MaintenanceWindowExecutionTaskId"}, + "InvocationId":{"shape":"MaintenanceWindowExecutionTaskInvocationId"} + } + }, + "GetMaintenanceWindowExecutionTaskInvocationResult":{ + "type":"structure", + "members":{ + "WindowExecutionId":{"shape":"MaintenanceWindowExecutionId"}, + "TaskExecutionId":{"shape":"MaintenanceWindowExecutionTaskId"}, + "InvocationId":{"shape":"MaintenanceWindowExecutionTaskInvocationId"}, + "ExecutionId":{"shape":"MaintenanceWindowExecutionTaskExecutionId"}, + "TaskType":{"shape":"MaintenanceWindowTaskType"}, + "Parameters":{"shape":"MaintenanceWindowExecutionTaskInvocationParameters"}, + "Status":{"shape":"MaintenanceWindowExecutionStatus"}, + "StatusDetails":{"shape":"MaintenanceWindowExecutionStatusDetails"}, + "StartTime":{"shape":"DateTime"}, + "EndTime":{"shape":"DateTime"}, + "OwnerInformation":{"shape":"OwnerInformation"}, + "WindowTargetId":{"shape":"MaintenanceWindowTaskTargetId"} + } + }, "GetMaintenanceWindowExecutionTaskRequest":{ "type":"structure", "required":[ @@ -3103,6 +3534,7 @@ "members":{ "WindowId":{"shape":"MaintenanceWindowId"}, "Name":{"shape":"MaintenanceWindowName"}, + "Description":{"shape":"MaintenanceWindowDescription"}, "Schedule":{"shape":"MaintenanceWindowSchedule"}, "Duration":{"shape":"MaintenanceWindowDurationHours"}, "Cutoff":{"shape":"MaintenanceWindowCutoff"}, @@ -3112,6 +3544,36 @@ "ModifiedDate":{"shape":"DateTime"} } }, + "GetMaintenanceWindowTaskRequest":{ + "type":"structure", + "required":[ + "WindowId", + "WindowTaskId" + ], + "members":{ + "WindowId":{"shape":"MaintenanceWindowId"}, + "WindowTaskId":{"shape":"MaintenanceWindowTaskId"} + } + }, + "GetMaintenanceWindowTaskResult":{ + "type":"structure", + "members":{ + "WindowId":{"shape":"MaintenanceWindowId"}, + "WindowTaskId":{"shape":"MaintenanceWindowTaskId"}, + "Targets":{"shape":"Targets"}, + "TaskArn":{"shape":"MaintenanceWindowTaskArn"}, + "ServiceRoleArn":{"shape":"ServiceRole"}, + "TaskType":{"shape":"MaintenanceWindowTaskType"}, + "TaskParameters":{"shape":"MaintenanceWindowTaskParameters"}, + "TaskInvocationParameters":{"shape":"MaintenanceWindowTaskInvocationParameters"}, + "Priority":{"shape":"MaintenanceWindowTaskPriority"}, + "MaxConcurrency":{"shape":"MaxConcurrency"}, + "MaxErrors":{"shape":"MaxErrors"}, + "LoggingInfo":{"shape":"LoggingInfo"}, + "Name":{"shape":"MaintenanceWindowName"}, + "Description":{"shape":"MaintenanceWindowDescription"} + } + }, "GetParameterHistoryRequest":{ "type":"structure", "required":["Name"], @@ -3266,6 +3728,12 @@ "type":"string", "max":64 }, + "IdempotencyToken":{ + "type":"string", + "max":36, + "min":36, + "pattern":"[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" + }, "IdempotentParameterMismatch":{ "type":"structure", "members":{ @@ -3285,7 +3753,8 @@ "members":{ "AssociationId":{"shape":"AssociationId"}, "InstanceId":{"shape":"InstanceId"}, - "Content":{"shape":"DocumentContent"} + "Content":{"shape":"DocumentContent"}, + "AssociationVersion":{"shape":"AssociationVersion"} } }, "InstanceAssociationExecutionSummary":{ @@ -3320,13 +3789,15 @@ "AssociationId":{"shape":"AssociationId"}, "Name":{"shape":"DocumentName"}, "DocumentVersion":{"shape":"DocumentVersion"}, + "AssociationVersion":{"shape":"AssociationVersion"}, "InstanceId":{"shape":"InstanceId"}, "ExecutionDate":{"shape":"DateTime"}, "Status":{"shape":"StatusName"}, "DetailedStatus":{"shape":"StatusName"}, "ExecutionSummary":{"shape":"InstanceAssociationExecutionSummary"}, "ErrorCode":{"shape":"AgentErrorCode"}, - "OutputUrl":{"shape":"InstanceAssociationOutputUrl"} + "OutputUrl":{"shape":"InstanceAssociationOutputUrl"}, + "AssociationName":{"shape":"AssociationName"} } }, "InstanceAssociationStatusInfos":{ @@ -3561,6 +4032,13 @@ }, "exception":true }, + "InvalidAssociationVersion":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, "InvalidAutomationExecutionParametersException":{ "type":"structure", "members":{ @@ -3568,6 +4046,13 @@ }, "exception":true }, + "InvalidAutomationSignalException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, "InvalidCommandId":{ "type":"structure", "members":{ @@ -3650,6 +4135,13 @@ }, "exception":true }, + "InvalidInventoryItemContextException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, "InvalidItemContentException":{ "type":"structure", "members":{ @@ -3820,7 +4312,8 @@ "SchemaVersion":{"shape":"InventoryItemSchemaVersion"}, "CaptureTime":{"shape":"InventoryItemCaptureTime"}, "ContentHash":{"shape":"InventoryItemContentHash"}, - "Content":{"shape":"InventoryItemEntryList"} + "Content":{"shape":"InventoryItemEntryList"}, + "Context":{"shape":"InventoryItemContentContext"} } }, "InventoryItemAttribute":{ @@ -3848,6 +4341,13 @@ "type":"string", "pattern":"^(20)[0-9][0-9]-(0[1-9]|1[012])-([12][0-9]|3[01]|0[1-9])(T)(2[0-3]|[0-1][0-9])(:[0-5][0-9])(:[0-5][0-9])(Z)$" }, + "InventoryItemContentContext":{ + "type":"map", + "key":{"shape":"AttributeName"}, + "value":{"shape":"AttributeValue"}, + "max":50, + "min":0 + }, "InventoryItemContentHash":{ "type":"string", "max":256 @@ -3961,6 +4461,7 @@ "type":"string", "max":2500 }, + "IsSubTypeSchema":{"type":"boolean"}, "ItemContentMismatchException":{ "type":"structure", "members":{ @@ -3991,6 +4492,25 @@ }, "LastResourceDataSyncTime":{"type":"timestamp"}, "LastSuccessfulResourceDataSyncTime":{"type":"timestamp"}, + "ListAssociationVersionsRequest":{ + "type":"structure", + "required":["AssociationId"], + "members":{ + "AssociationId":{"shape":"AssociationId"}, + "MaxResults":{ + "shape":"MaxResults", + "box":true + }, + "NextToken":{"shape":"NextToken"} + } + }, + "ListAssociationVersionsResult":{ + "type":"structure", + "members":{ + "AssociationVersions":{"shape":"AssociationVersionList"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListAssociationsRequest":{ "type":"structure", "members":{ @@ -4050,6 +4570,44 @@ "NextToken":{"shape":"NextToken"} } }, + "ListComplianceItemsRequest":{ + "type":"structure", + "members":{ + "Filters":{"shape":"ComplianceStringFilterList"}, + "ResourceIds":{"shape":"ComplianceResourceIdList"}, + "ResourceTypes":{"shape":"ComplianceResourceTypeList"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{ + "shape":"MaxResults", + "box":true + } + } + }, + "ListComplianceItemsResult":{ + "type":"structure", + "members":{ + "ComplianceItems":{"shape":"ComplianceItemList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListComplianceSummariesRequest":{ + "type":"structure", + "members":{ + "Filters":{"shape":"ComplianceStringFilterList"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{ + "shape":"MaxResults", + "box":true + } + } + }, + "ListComplianceSummariesResult":{ + "type":"structure", + "members":{ + "ComplianceSummaryItems":{"shape":"ComplianceSummaryItemList"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListDocumentVersionsRequest":{ "type":"structure", "required":["Name"], @@ -4115,6 +4673,24 @@ "NextToken":{"shape":"NextToken"} } }, + "ListResourceComplianceSummariesRequest":{ + "type":"structure", + "members":{ + "Filters":{"shape":"ComplianceStringFilterList"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{ + "shape":"MaxResults", + "box":true + } + } + }, + "ListResourceComplianceSummariesResult":{ + "type":"structure", + "members":{ + "ResourceComplianceSummaryItems":{"shape":"ResourceComplianceSummaryItemList"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListResourceDataSyncRequest":{ "type":"structure", "members":{ @@ -4162,11 +4738,24 @@ } }, "MaintenanceWindowAllowUnassociatedTargets":{"type":"boolean"}, + "MaintenanceWindowAutomationParameters":{ + "type":"structure", + "members":{ + "DocumentVersion":{"shape":"DocumentVersion"}, + "Parameters":{"shape":"AutomationParameterMap"} + } + }, "MaintenanceWindowCutoff":{ "type":"integer", "max":23, "min":0 }, + "MaintenanceWindowDescription":{ + "type":"string", + "max":128, + "min":1, + "sensitive":true + }, "MaintenanceWindowDurationHours":{ "type":"integer", "max":24, @@ -4253,6 +4842,7 @@ "TaskExecutionId":{"shape":"MaintenanceWindowExecutionTaskId"}, "InvocationId":{"shape":"MaintenanceWindowExecutionTaskInvocationId"}, "ExecutionId":{"shape":"MaintenanceWindowExecutionTaskExecutionId"}, + "TaskType":{"shape":"MaintenanceWindowTaskType"}, "Parameters":{"shape":"MaintenanceWindowExecutionTaskInvocationParameters"}, "Status":{"shape":"MaintenanceWindowExecutionStatus"}, "StatusDetails":{"shape":"MaintenanceWindowExecutionStatusDetails"}, @@ -4308,6 +4898,7 @@ "members":{ "WindowId":{"shape":"MaintenanceWindowId"}, "Name":{"shape":"MaintenanceWindowName"}, + "Description":{"shape":"MaintenanceWindowDescription"}, "Enabled":{"shape":"MaintenanceWindowEnabled"}, "Duration":{"shape":"MaintenanceWindowDurationHours"}, "Cutoff":{"shape":"MaintenanceWindowCutoff"} @@ -4317,6 +4908,29 @@ "type":"list", "member":{"shape":"MaintenanceWindowIdentity"} }, + "MaintenanceWindowLambdaClientContext":{ + "type":"string", + "max":8000, + "min":1 + }, + "MaintenanceWindowLambdaParameters":{ + "type":"structure", + "members":{ + "ClientContext":{"shape":"MaintenanceWindowLambdaClientContext"}, + "Qualifier":{"shape":"MaintenanceWindowLambdaQualifier"}, + "Payload":{"shape":"MaintenanceWindowLambdaPayload"} + } + }, + "MaintenanceWindowLambdaPayload":{ + "type":"blob", + "max":4096, + "sensitive":true + }, + "MaintenanceWindowLambdaQualifier":{ + "type":"string", + "max":128, + "min":1 + }, "MaintenanceWindowMaxResults":{ "type":"integer", "max":100, @@ -4332,11 +4946,45 @@ "type":"string", "enum":["INSTANCE"] }, + "MaintenanceWindowRunCommandParameters":{ + "type":"structure", + "members":{ + "Comment":{"shape":"Comment"}, + "DocumentHash":{"shape":"DocumentHash"}, + "DocumentHashType":{"shape":"DocumentHashType"}, + "NotificationConfig":{"shape":"NotificationConfig"}, + "OutputS3BucketName":{"shape":"S3BucketName"}, + "OutputS3KeyPrefix":{"shape":"S3KeyPrefix"}, + "Parameters":{"shape":"Parameters"}, + "ServiceRoleArn":{"shape":"ServiceRole"}, + "TimeoutSeconds":{ + "shape":"TimeoutSeconds", + "box":true + } + } + }, "MaintenanceWindowSchedule":{ "type":"string", "max":256, "min":1 }, + "MaintenanceWindowStepFunctionsInput":{ + "type":"string", + "max":4096, + "sensitive":true + }, + "MaintenanceWindowStepFunctionsName":{ + "type":"string", + "max":80, + "min":1 + }, + "MaintenanceWindowStepFunctionsParameters":{ + "type":"structure", + "members":{ + "Input":{"shape":"MaintenanceWindowStepFunctionsInput"}, + "Name":{"shape":"MaintenanceWindowStepFunctionsName"} + } + }, "MaintenanceWindowTarget":{ "type":"structure", "members":{ @@ -4344,7 +4992,9 @@ "WindowTargetId":{"shape":"MaintenanceWindowTargetId"}, "ResourceType":{"shape":"MaintenanceWindowResourceType"}, "Targets":{"shape":"Targets"}, - "OwnerInformation":{"shape":"OwnerInformation"} + "OwnerInformation":{"shape":"OwnerInformation"}, + "Name":{"shape":"MaintenanceWindowName"}, + "Description":{"shape":"MaintenanceWindowDescription"} } }, "MaintenanceWindowTargetId":{ @@ -4370,7 +5020,9 @@ "LoggingInfo":{"shape":"LoggingInfo"}, "ServiceRoleArn":{"shape":"ServiceRole"}, "MaxConcurrency":{"shape":"MaxConcurrency"}, - "MaxErrors":{"shape":"MaxErrors"} + "MaxErrors":{"shape":"MaxErrors"}, + "Name":{"shape":"MaintenanceWindowName"}, + "Description":{"shape":"MaintenanceWindowDescription"} } }, "MaintenanceWindowTaskArn":{ @@ -4384,6 +5036,15 @@ "min":36, "pattern":"^[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}$" }, + "MaintenanceWindowTaskInvocationParameters":{ + "type":"structure", + "members":{ + "RunCommand":{"shape":"MaintenanceWindowRunCommandParameters"}, + "Automation":{"shape":"MaintenanceWindowAutomationParameters"}, + "StepFunctions":{"shape":"MaintenanceWindowStepFunctionsParameters"}, + "Lambda":{"shape":"MaintenanceWindowLambdaParameters"} + } + }, "MaintenanceWindowTaskList":{ "type":"list", "member":{"shape":"MaintenanceWindowTask"} @@ -4432,7 +5093,12 @@ }, "MaintenanceWindowTaskType":{ "type":"string", - "enum":["RUN_COMMAND"] + "enum":[ + "RUN_COMMAND", + "AUTOMATION", + "STEP_FUNCTIONS", + "LAMBDA" + ] }, "ManagedInstanceId":{ "type":"string", @@ -4486,6 +5152,13 @@ } }, "NextToken":{"type":"string"}, + "NonCompliantSummary":{ + "type":"structure", + "members":{ + "NonCompliantCount":{"shape":"ComplianceSummaryCount"}, + "SeveritySummary":{"shape":"SeveritySummary"} + } + }, "NormalStringMap":{ "type":"map", "key":{"shape":"String"}, @@ -5013,6 +5686,29 @@ } }, "Product":{"type":"string"}, + "PutComplianceItemsRequest":{ + "type":"structure", + "required":[ + "ResourceId", + "ResourceType", + "ComplianceType", + "ExecutionSummary", + "Items" + ], + "members":{ + "ResourceId":{"shape":"ComplianceResourceId"}, + "ResourceType":{"shape":"ComplianceResourceType"}, + "ComplianceType":{"shape":"ComplianceTypeName"}, + "ExecutionSummary":{"shape":"ComplianceExecutionSummary"}, + "Items":{"shape":"ComplianceItemEntryList"}, + "ItemContentHash":{"shape":"ComplianceItemContentHash"} + } + }, + "PutComplianceItemsResult":{ + "type":"structure", + "members":{ + } + }, "PutInventoryRequest":{ "type":"structure", "required":[ @@ -5097,6 +5793,8 @@ "ResourceType":{"shape":"MaintenanceWindowResourceType"}, "Targets":{"shape":"Targets"}, "OwnerInformation":{"shape":"OwnerInformation"}, + "Name":{"shape":"MaintenanceWindowName"}, + "Description":{"shape":"MaintenanceWindowDescription"}, "ClientToken":{ "shape":"ClientToken", "idempotencyToken":true @@ -5127,6 +5825,7 @@ "ServiceRoleArn":{"shape":"ServiceRole"}, "TaskType":{"shape":"MaintenanceWindowTaskType"}, "TaskParameters":{"shape":"MaintenanceWindowTaskParameters"}, + "TaskInvocationParameters":{"shape":"MaintenanceWindowTaskInvocationParameters"}, "Priority":{ "shape":"MaintenanceWindowTaskPriority", "box":true @@ -5134,6 +5833,8 @@ "MaxConcurrency":{"shape":"MaxConcurrency"}, "MaxErrors":{"shape":"MaxErrors"}, "LoggingInfo":{"shape":"LoggingInfo"}, + "Name":{"shape":"MaintenanceWindowName"}, + "Description":{"shape":"MaintenanceWindowDescription"}, "ClientToken":{ "shape":"ClientToken", "idempotencyToken":true @@ -5174,6 +5875,32 @@ "members":{ } }, + "ResourceComplianceSummaryItem":{ + "type":"structure", + "members":{ + "ComplianceType":{"shape":"ComplianceTypeName"}, + "ResourceType":{"shape":"ComplianceResourceType"}, + "ResourceId":{"shape":"ComplianceResourceId"}, + "Status":{"shape":"ComplianceStatus"}, + "OverallSeverity":{"shape":"ComplianceSeverity"}, + "ExecutionSummary":{"shape":"ComplianceExecutionSummary"}, + "CompliantSummary":{"shape":"CompliantSummary"}, + "NonCompliantSummary":{"shape":"NonCompliantSummary"} + } + }, + "ResourceComplianceSummaryItemList":{ + "type":"list", + "member":{ + "shape":"ResourceComplianceSummaryItem", + "locationName":"Item" + } + }, + "ResourceDataSyncAWSKMSKeyARN":{ + "type":"string", + "max":512, + "min":1, + "pattern":"arn:.*" + }, "ResourceDataSyncAlreadyExistsException":{ "type":"structure", "members":{ @@ -5239,7 +5966,8 @@ "BucketName":{"shape":"ResourceDataSyncS3BucketName"}, "Prefix":{"shape":"ResourceDataSyncS3Prefix"}, "SyncFormat":{"shape":"ResourceDataSyncS3Format"}, - "Region":{"shape":"ResourceDataSyncS3Region"} + "Region":{"shape":"ResourceDataSyncS3Region"}, + "AWSKMSKeyARN":{"shape":"ResourceDataSyncAWSKMSKeyARN"} } }, "ResourceDataSyncS3Format":{ @@ -5337,6 +6065,23 @@ "max":256, "min":1 }, + "SendAutomationSignalRequest":{ + "type":"structure", + "required":[ + "AutomationExecutionId", + "SignalType" + ], + "members":{ + "AutomationExecutionId":{"shape":"AutomationExecutionId"}, + "SignalType":{"shape":"SignalType"}, + "Payload":{"shape":"AutomationParameterMap"} + } + }, + "SendAutomationSignalResult":{ + "type":"structure", + "members":{ + } + }, "SendCommandRequest":{ "type":"structure", "required":["DocumentName"], @@ -5368,6 +6113,24 @@ } }, "ServiceRole":{"type":"string"}, + "SeveritySummary":{ + "type":"structure", + "members":{ + "CriticalCount":{"shape":"ComplianceSummaryCount"}, + "HighCount":{"shape":"ComplianceSummaryCount"}, + "MediumCount":{"shape":"ComplianceSummaryCount"}, + "LowCount":{"shape":"ComplianceSummaryCount"}, + "InformationalCount":{"shape":"ComplianceSummaryCount"}, + "UnspecifiedCount":{"shape":"ComplianceSummaryCount"} + } + }, + "SignalType":{ + "type":"string", + "enum":[ + "Approve", + "Reject" + ] + }, "SnapshotDownloadUrl":{"type":"string"}, "SnapshotId":{ "type":"string", @@ -5392,7 +6155,8 @@ "shape":"DocumentVersion", "box":true }, - "Parameters":{"shape":"AutomationParameterMap"} + "Parameters":{"shape":"AutomationParameterMap"}, + "ClientToken":{"shape":"IdempotencyToken"} } }, "StartAutomationExecutionResult":{ @@ -5465,6 +6229,13 @@ "type":"list", "member":{"shape":"String"} }, + "SubTypeCountLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, "Tag":{ "type":"structure", "required":[ @@ -5500,6 +6271,13 @@ } }, "TargetCount":{"type":"integer"}, + "TargetInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, "TargetKey":{ "type":"string", "max":128, @@ -5544,6 +6322,14 @@ }, "exception":true }, + "UnsupportedInventoryItemContextException":{ + "type":"structure", + "members":{ + "TypeName":{"shape":"InventoryItemTypeName"}, + "Message":{"shape":"String"} + }, + "exception":true + }, "UnsupportedInventorySchemaVersionException":{ "type":"structure", "members":{ @@ -5582,7 +6368,9 @@ "ScheduleExpression":{"shape":"ScheduleExpression"}, "OutputLocation":{"shape":"InstanceAssociationOutputLocation"}, "Name":{"shape":"DocumentName"}, - "Targets":{"shape":"Targets"} + "Targets":{"shape":"Targets"}, + "AssociationName":{"shape":"AssociationName"}, + "AssociationVersion":{"shape":"AssociationVersion"} } }, "UpdateAssociationResult":{ @@ -5651,6 +6439,7 @@ "members":{ "WindowId":{"shape":"MaintenanceWindowId"}, "Name":{"shape":"MaintenanceWindowName"}, + "Description":{"shape":"MaintenanceWindowDescription"}, "Schedule":{"shape":"MaintenanceWindowSchedule"}, "Duration":{ "shape":"MaintenanceWindowDurationHours", @@ -5667,6 +6456,10 @@ "Enabled":{ "shape":"MaintenanceWindowEnabled", "box":true + }, + "Replace":{ + "shape":"Boolean", + "box":true } } }, @@ -5675,6 +6468,7 @@ "members":{ "WindowId":{"shape":"MaintenanceWindowId"}, "Name":{"shape":"MaintenanceWindowName"}, + "Description":{"shape":"MaintenanceWindowDescription"}, "Schedule":{"shape":"MaintenanceWindowSchedule"}, "Duration":{"shape":"MaintenanceWindowDurationHours"}, "Cutoff":{"shape":"MaintenanceWindowCutoff"}, @@ -5682,6 +6476,83 @@ "Enabled":{"shape":"MaintenanceWindowEnabled"} } }, + "UpdateMaintenanceWindowTargetRequest":{ + "type":"structure", + "required":[ + "WindowId", + "WindowTargetId" + ], + "members":{ + "WindowId":{"shape":"MaintenanceWindowId"}, + "WindowTargetId":{"shape":"MaintenanceWindowTargetId"}, + "Targets":{"shape":"Targets"}, + "OwnerInformation":{"shape":"OwnerInformation"}, + "Name":{"shape":"MaintenanceWindowName"}, + "Description":{"shape":"MaintenanceWindowDescription"}, + "Replace":{ + "shape":"Boolean", + "box":true + } + } + }, + "UpdateMaintenanceWindowTargetResult":{ + "type":"structure", + "members":{ + "WindowId":{"shape":"MaintenanceWindowId"}, + "WindowTargetId":{"shape":"MaintenanceWindowTargetId"}, + "Targets":{"shape":"Targets"}, + "OwnerInformation":{"shape":"OwnerInformation"}, + "Name":{"shape":"MaintenanceWindowName"}, + "Description":{"shape":"MaintenanceWindowDescription"} + } + }, + "UpdateMaintenanceWindowTaskRequest":{ + "type":"structure", + "required":[ + "WindowId", + "WindowTaskId" + ], + "members":{ + "WindowId":{"shape":"MaintenanceWindowId"}, + "WindowTaskId":{"shape":"MaintenanceWindowTaskId"}, + "Targets":{"shape":"Targets"}, + "TaskArn":{"shape":"MaintenanceWindowTaskArn"}, + "ServiceRoleArn":{"shape":"ServiceRole"}, + "TaskParameters":{"shape":"MaintenanceWindowTaskParameters"}, + "TaskInvocationParameters":{"shape":"MaintenanceWindowTaskInvocationParameters"}, + "Priority":{ + "shape":"MaintenanceWindowTaskPriority", + "box":true + }, + "MaxConcurrency":{"shape":"MaxConcurrency"}, + "MaxErrors":{"shape":"MaxErrors"}, + "LoggingInfo":{"shape":"LoggingInfo"}, + "Name":{"shape":"MaintenanceWindowName"}, + "Description":{"shape":"MaintenanceWindowDescription"}, + "Replace":{ + "shape":"Boolean", + "box":true + } + } + }, + "UpdateMaintenanceWindowTaskResult":{ + "type":"structure", + "members":{ + "WindowId":{"shape":"MaintenanceWindowId"}, + "WindowTaskId":{"shape":"MaintenanceWindowTaskId"}, + "Targets":{"shape":"Targets"}, + "TaskArn":{"shape":"MaintenanceWindowTaskArn"}, + "ServiceRoleArn":{"shape":"ServiceRole"}, + "TaskParameters":{"shape":"MaintenanceWindowTaskParameters"}, + "TaskInvocationParameters":{"shape":"MaintenanceWindowTaskInvocationParameters"}, + "Priority":{"shape":"MaintenanceWindowTaskPriority"}, + "MaxConcurrency":{"shape":"MaxConcurrency"}, + "MaxErrors":{"shape":"MaxErrors"}, + "LoggingInfo":{"shape":"LoggingInfo"}, + "Name":{"shape":"MaintenanceWindowName"}, + "Description":{"shape":"MaintenanceWindowDescription"} + } + }, "UpdateManagedInstanceRoleRequest":{ "type":"structure", "required":[ diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/ssm/2014-11-06/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/ssm/2014-11-06/docs-2.json index 789a773ff..c2bda263b 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/ssm/2014-11-06/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/ssm/2014-11-06/docs-2.json @@ -16,7 +16,7 @@ "DeleteDocument": "

Deletes the Systems Manager document and all instance associations to the document.

Before you delete the document, we recommend that you use DeleteAssociation to disassociate all instances that are associated with the document.

", "DeleteMaintenanceWindow": "

Deletes a Maintenance Window.

", "DeleteParameter": "

Delete a parameter from the system.

", - "DeleteParameters": "

Delete a list of parameters.

", + "DeleteParameters": "

Delete a list of parameters. This API is used to delete parameters by using the Amazon EC2 console.

", "DeletePatchBaseline": "

Deletes a patch baseline.

", "DeleteResourceDataSync": "

Deletes a Resource Data Sync configuration. After the configuration is deleted, changes to inventory data on managed instances are no longer synced with the target Amazon S3 bucket. Deleting a sync configuration does not delete data in the target Amazon S3 bucket.

", "DeregisterManagedInstance": "

Removes the server or virtual machine from the list of registered servers. You can reregister the instance again at any time. If you don't plan to use Run Command on the server, we suggest uninstalling the SSM Agent first.

", @@ -38,11 +38,11 @@ "DescribeInstancePatches": "

Retrieves information about the patches on the specified instance and their state relative to the patch baseline being used for the instance.

", "DescribeMaintenanceWindowExecutionTaskInvocations": "

Retrieves the individual task executions (one per target) for a particular task executed as part of a Maintenance Window execution.

", "DescribeMaintenanceWindowExecutionTasks": "

For a given Maintenance Window execution, lists the tasks that were executed.

", - "DescribeMaintenanceWindowExecutions": "

Lists the executions of a Maintenance Window (meaning, information about when the Maintenance Window was scheduled to be active and information about tasks registered and run with the Maintenance Window).

", + "DescribeMaintenanceWindowExecutions": "

Lists the executions of a Maintenance Window. This includes information about when the Maintenance Window was scheduled to be active, and information about tasks registered and run with the Maintenance Window.

", "DescribeMaintenanceWindowTargets": "

Lists the targets registered with the Maintenance Window.

", "DescribeMaintenanceWindowTasks": "

Lists the tasks in a Maintenance Window.

", "DescribeMaintenanceWindows": "

Retrieves the Maintenance Windows in an AWS account.

", - "DescribeParameters": "

Get information about a parameter.

", + "DescribeParameters": "

Get information about a parameter.

Request results are returned on a best-effort basis. If you specify MaxResults in the request, the response includes information up to the limit specified. The number of items returned, however, can be between zero and the value of MaxResults. If the service reaches an internal limit while processing the results, it stops the operation and returns the matching values up to that point and a NextToken. You can specify the NextToken in a subsequent call to get the next set of results.

", "DescribePatchBaselines": "

Lists the patch baselines in your AWS account.

", "DescribePatchGroupState": "

Returns high-level aggregated patch compliance state for a patch group.

", "DescribePatchGroups": "

Lists all patch groups that have been registered with patch baselines.

", @@ -56,21 +56,28 @@ "GetMaintenanceWindow": "

Retrieves a Maintenance Window.

", "GetMaintenanceWindowExecution": "

Retrieves details about a specific task executed as part of a Maintenance Window execution.

", "GetMaintenanceWindowExecutionTask": "

Retrieves the details about a specific task executed as part of a Maintenance Window execution.

", + "GetMaintenanceWindowExecutionTaskInvocation": "

Retrieves a task invocation. A task invocation is a specific task executing on a specific target. Maintenance Windows report status for all invocations.

", + "GetMaintenanceWindowTask": "

Lists the tasks in a Maintenance Window.

", "GetParameter": "

Get information about a parameter by using the parameter name.

", "GetParameterHistory": "

Query a list of all parameters used by the AWS account.

", "GetParameters": "

Get details of a parameter.

", - "GetParametersByPath": "

Retrieve parameters in a specific hierarchy. For more information, see Working with Systems Manager Parameters.

", + "GetParametersByPath": "

Retrieve parameters in a specific hierarchy. For more information, see Working with Systems Manager Parameters.

Request results are returned on a best-effort basis. If you specify MaxResults in the request, the response includes information up to the limit specified. The number of items returned, however, can be between zero and the value of MaxResults. If the service reaches an internal limit while processing the results, it stops the operation and returns the matching values up to that point and a NextToken. You can specify the NextToken in a subsequent call to get the next set of results.

", "GetPatchBaseline": "

Retrieves information about a patch baseline.

", "GetPatchBaselineForPatchGroup": "

Retrieves the patch baseline that should be used for the specified patch group.

", + "ListAssociationVersions": "

Retrieves all versions of an association for a specific association ID.

", "ListAssociations": "

Lists the associations for the specified Systems Manager document or instance.

", "ListCommandInvocations": "

An invocation is copy of a command sent to a specific instance. A command can apply to one or more instances. A command invocation applies to one instance. For example, if a user executes SendCommand against three instances, then a command invocation is created for each requested instance ID. ListCommandInvocations provide status about command execution.

", "ListCommands": "

Lists the commands requested by users of the AWS account.

", + "ListComplianceItems": "

For a specified resource ID, this API action returns a list of compliance statuses for different resource types. Currently, you can only specify one resource ID per call. List results depend on the criteria specified in the filter.

", + "ListComplianceSummaries": "

Returns a summary count of compliant and non-compliant resources for a compliance type. For example, this call can return State Manager associations, patches, or custom compliance types according to the filter criteria that you specify.

", "ListDocumentVersions": "

List all versions for a document.

", "ListDocuments": "

Describes one or more of your SSM documents.

", "ListInventoryEntries": "

A list of inventory items returned by the request.

", + "ListResourceComplianceSummaries": "

Returns a resource-level summary count. The summary includes information about compliant and non-compliant statuses and detailed compliance-item severity counts, according to the filter criteria you specify.

", "ListResourceDataSync": "

Lists your resource data sync configurations. Includes information about the last time a sync attempted to start, the last sync status, and the last time a sync successfully completed.

The number of sync configurations might be too large to return using a single call to ListResourceDataSync. You can limit the number of sync configurations returned by using the MaxResults parameter. To determine whether there are more sync configurations to list, check the value of NextToken in the output. If there are more sync configurations to list, you can request them by specifying the NextToken returned in the call to the parameter of a subsequent call.

", "ListTagsForResource": "

Returns a list of the tags assigned to the specified resource.

", "ModifyDocumentPermission": "

Shares a Systems Manager document publicly or privately. If you share a document privately, you must specify the AWS user account IDs for those people who can use the document. If you share a document publicly, you must specify All as the account ID.

", + "PutComplianceItems": "

Registers a compliance type and other compliance details on a designated resource. This action lets you register custom compliance details with a resource. This call overwrites existing compliance information on the resource, so you must provide a full list of compliance items each time that you send the request.

", "PutInventory": "

Bulk update custom inventory items on one more instance. The request adds an inventory item, if it doesn't already exist, or updates an inventory item, if it does exist.

", "PutParameter": "

Add one or more parameters to the system.

", "RegisterDefaultPatchBaseline": "

Defines the default patch baseline.

", @@ -78,14 +85,17 @@ "RegisterTargetWithMaintenanceWindow": "

Registers a target with a Maintenance Window.

", "RegisterTaskWithMaintenanceWindow": "

Adds a new task to a Maintenance Window.

", "RemoveTagsFromResource": "

Removes all tags from the specified resource.

", + "SendAutomationSignal": "

Sends a signal to an Automation execution to change the current behavior or status of the execution.

", "SendCommand": "

Executes commands on one or more managed instances.

", "StartAutomationExecution": "

Initiates execution of an Automation document.

", "StopAutomationExecution": "

Stop an Automation that is currently executing.

", - "UpdateAssociation": "

Updates an association. You can only update the document version, schedule, parameters, and Amazon S3 output of an association.

", + "UpdateAssociation": "

Updates an association. You can update the association name and version, the document version, schedule, parameters, and Amazon S3 output.

", "UpdateAssociationStatus": "

Updates the status of the Systems Manager document associated with the specified instance.

", "UpdateDocument": "

The document you want to update.

", "UpdateDocumentDefaultVersion": "

Set the default version of a document.

", "UpdateMaintenanceWindow": "

Updates an existing Maintenance Window. Only specified parameters are modified.

", + "UpdateMaintenanceWindowTarget": "

Modifies the target of an existing Maintenance Window. You can't change the target type, but you can change the following:

The target from being an ID target to a Tag target, or a Tag target to an ID target.

IDs for an ID target.

Tags for a Tag target.

Owner.

Name.

Description.

If a parameter is null, then the corresponding field is not modified.

", + "UpdateMaintenanceWindowTask": "

Modifies a task assigned to a Maintenance Window. You can't change the task type, but you can change the following values:

Task ARN. For example, you can change a RUN_COMMAND task from AWS-RunPowerShellScript to AWS-RunShellScript.

Service role ARN.

Task parameters.

Task priority.

Task MaxConcurrency and MaxErrors.

Log location.

If a parameter is null, then the corresponding field is not modified. Also, if you set Replace to true, then all fields required by the RegisterTaskWithMaintenanceWindow action are required for this request. Optional fields that aren't specified are set to null.

", "UpdateManagedInstanceRole": "

Assigns or changes an Amazon Identity and Access Management (IAM) role to the managed instance.

", "UpdatePatchBaseline": "

Modifies an existing patch baseline. Fields not specified in the request are left unchanged.

" }, @@ -239,10 +249,12 @@ "refs": { "Association$AssociationId": "

The ID created by the system when you create an association. An association is a binding between a document and a set of targets with a schedule.

", "AssociationDescription$AssociationId": "

The association ID.

", + "AssociationVersionInfo$AssociationId": "

The ID created by the system when the association was created.

", "DeleteAssociationRequest$AssociationId": "

The association ID that you want to delete.

", "DescribeAssociationRequest$AssociationId": "

The association ID for which you want information.

", "InstanceAssociation$AssociationId": "

The association ID.

", "InstanceAssociationStatusInfo$AssociationId": "

The association ID.

", + "ListAssociationVersionsRequest$AssociationId": "

The association ID for which you want to view all versions.

", "UpdateAssociationRequest$AssociationId": "

The ID of the association you want to update.

" } }, @@ -257,6 +269,18 @@ "ListAssociationsResult$Associations": "

The associations.

" } }, + "AssociationName": { + "base": null, + "refs": { + "Association$AssociationName": "

The association name.

", + "AssociationDescription$AssociationName": "

The association name.

", + "AssociationVersionInfo$AssociationName": "

The name specified for the association version when the association version was created.

", + "CreateAssociationBatchRequestEntry$AssociationName": "

Specify a descriptive name for the association.

", + "CreateAssociationRequest$AssociationName": "

Specify a descriptive name for the association.

", + "InstanceAssociationStatusInfo$AssociationName": "

The name of the association applied to the instance.

", + "UpdateAssociationRequest$AssociationName": "

The name of the association that you want to update.

" + } + }, "AssociationOverview": { "base": "

Information about the association.

", "refs": { @@ -283,15 +307,48 @@ "AssociationStatus$Name": "

The status.

" } }, + "AssociationVersion": { + "base": null, + "refs": { + "Association$AssociationVersion": "

The association version.

", + "AssociationDescription$AssociationVersion": "

The association version.

", + "AssociationVersionInfo$AssociationVersion": "

The association version.

", + "DescribeAssociationRequest$AssociationVersion": "

Specify the association version to retrieve. To view the latest version, either specify $LATEST for this parameter, or omit this parameter. To view a list of all associations for an instance, use ListInstanceAssociations. To get a list of versions for a specific association, use ListAssociationVersions.

", + "InstanceAssociation$AssociationVersion": "

Version information for the association on the instance.

", + "InstanceAssociationStatusInfo$AssociationVersion": "

The version of the association applied to the instance.

", + "UpdateAssociationRequest$AssociationVersion": "

This parameter is provided for concurrency control purposes. You must specify the latest association version in the service. If you want to ensure that this request succeeds, either specify $LATEST, or omit this parameter.

" + } + }, + "AssociationVersionInfo": { + "base": "

Information about the association version.

", + "refs": { + "AssociationVersionList$member": null + } + }, + "AssociationVersionLimitExceeded": { + "base": "

You have reached the maximum number versions allowed for an association. Each association has a limit of 1,000 versions.

", + "refs": { + } + }, + "AssociationVersionList": { + "base": null, + "refs": { + "ListAssociationVersionsResult$AssociationVersions": "

Information about all versions of the association for the specified association ID.

" + } + }, "AttributeName": { "base": null, "refs": { + "ComplianceItemDetails$key": null, + "InventoryItemContentContext$key": null, "InventoryItemEntry$key": null } }, "AttributeValue": { "base": null, "refs": { + "ComplianceItemDetails$value": null, + "InventoryItemContentContext$value": null, "InventoryItemEntry$value": null } }, @@ -353,6 +410,7 @@ "AutomationExecution$AutomationExecutionId": "

The execution ID.

", "AutomationExecutionMetadata$AutomationExecutionId": "

The execution ID.

", "GetAutomationExecutionRequest$AutomationExecutionId": "

The unique identifier for an existing automation execution to examine. The execution ID is returned by StartAutomationExecution when the execution of an Automation document is initiated.

", + "SendAutomationSignalRequest$AutomationExecutionId": "

The unique identifier for an existing Automation execution that you want to send the signal to.

", "StartAutomationExecutionResult$AutomationExecutionId": "

The unique ID of a newly scheduled automation execution.

", "StopAutomationExecutionRequest$AutomationExecutionId": "

The execution ID of the Automation to stop.

" } @@ -400,6 +458,8 @@ "AutomationExecution$Outputs": "

The list of execution outputs as defined in the automation document.

", "AutomationExecutionMetadata$Outputs": "

The list of execution outputs as defined in the Automation document.

", "FailureDetails$Details": "

Detailed information about the Automation step failure.

", + "MaintenanceWindowAutomationParameters$Parameters": "

The parameters for the AUTOMATION task.

", + "SendAutomationSignalRequest$Payload": "

The data sent with the signal. The data schema depends on the type of signal used in the request.

", "StartAutomationExecutionRequest$Parameters": "

A key-value map of execution parameters, which match the declared parameters in the Automation document.

", "StepExecution$Outputs": "

Returned values from the execution of the step.

" } @@ -469,6 +529,7 @@ "base": null, "refs": { "Activation$Expired": "

Whether or not the activation is expired.

", + "DeregisterTargetFromMaintenanceWindowRequest$Safe": "

The system checks if the target is being referenced by a task. If the target is being referenced, the system returns an error and does not deregister the target from the Maintenance Window.

", "DocumentVersionInfo$IsDefaultVersion": "

An identifier for the default version of the document.

", "GetParameterHistoryRequest$WithDecryption": "

Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types.

", "GetParameterRequest$WithDecryption": "

Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types.

", @@ -477,7 +538,10 @@ "GetParametersRequest$WithDecryption": "

Return decrypted secure string value. Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types.

", "InstanceInformation$IsLatestVersion": "

Indicates whether latest version of the SSM Agent is running on your instance.

", "ListCommandInvocationsRequest$Details": "

(Optional) If set this returns the response of the command executions and any command output. By default this is set to False.

", - "PutParameterRequest$Overwrite": "

Overwrite an existing parameter. If not specified, will default to \"false\".

" + "PutParameterRequest$Overwrite": "

Overwrite an existing parameter. If not specified, will default to \"false\".

", + "UpdateMaintenanceWindowRequest$Replace": "

If True, then all fields that are required by the CreateMaintenanceWindow action are also required for this API request. Optional fields that are not specified are set to null.

", + "UpdateMaintenanceWindowTargetRequest$Replace": "

If True, then all fields that are required by the RegisterTargetWithMaintenanceWindow action are also required for this API request. Optional fields that are not specified are set to null.

", + "UpdateMaintenanceWindowTaskRequest$Replace": "

If True, then all fields that are required by the RegisterTaskWithMaintenanceWndow action are also required for this API request. Optional fields that are not specified are set to null.

" } }, "CancelCommandRequest": { @@ -619,6 +683,7 @@ "Command$Comment": "

User-specified information about the command, such as a brief description of what the command should do.

", "CommandInvocation$Comment": "

User-specified information about the command, such as a brief description of what the command should do.

", "GetCommandInvocationResult$Comment": "

The comment text for the command.

", + "MaintenanceWindowRunCommandParameters$Comment": "

Information about the command(s) to execute.

", "SendCommandRequest$Comment": "

User-specified information about the command, such as a brief description of what the command should do.

" } }, @@ -628,6 +693,207 @@ "Command$CompletedCount": "

The number of targets for which the command invocation reached a terminal state. Terminal states include the following: Success, Failed, Execution Timed Out, Delivery Timed Out, Canceled, Terminated, or Undeliverable.

" } }, + "ComplianceExecutionId": { + "base": null, + "refs": { + "ComplianceExecutionSummary$ExecutionId": "

An ID created by the system when PutComplianceItems was called. For example, CommandID is a valid execution ID. You can use this ID in subsequent calls.

" + } + }, + "ComplianceExecutionSummary": { + "base": "

A summary of the call execution that includes an execution ID, the type of execution (for example, Command), and the date/time of the execution using a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.

", + "refs": { + "ComplianceItem$ExecutionSummary": "

A summary for the compliance item. The summary includes an execution ID, the execution type (for example, command), and the execution time.

", + "PutComplianceItemsRequest$ExecutionSummary": "

A summary of the call execution that includes an execution ID, the type of execution (for example, Command), and the date/time of the execution using a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.

", + "ResourceComplianceSummaryItem$ExecutionSummary": "

Information about the execution.

" + } + }, + "ComplianceExecutionType": { + "base": null, + "refs": { + "ComplianceExecutionSummary$ExecutionType": "

The type of execution. For example, Command is a valid execution type.

" + } + }, + "ComplianceFilterValue": { + "base": null, + "refs": { + "ComplianceStringFilterValueList$member": null + } + }, + "ComplianceItem": { + "base": "

Information about the compliance as defined by the resource type. For example, for a patch resource type, Items includes information about the PatchSeverity, Classification, etc.

", + "refs": { + "ComplianceItemList$member": null + } + }, + "ComplianceItemContentHash": { + "base": null, + "refs": { + "PutComplianceItemsRequest$ItemContentHash": "

MD5 or SHA-256 content hash. The content hash is used to determine if existing information should be overwritten or ignored. If the content hashes match, the request to put compliance information is ignored.

" + } + }, + "ComplianceItemDetails": { + "base": null, + "refs": { + "ComplianceItem$Details": "

A \"Key\": \"Value\" tag combination for the compliance item.

", + "ComplianceItemEntry$Details": "

A \"Key\": \"Value\" tag combination for the compliance item.

" + } + }, + "ComplianceItemEntry": { + "base": "

Information about a compliance item.

", + "refs": { + "ComplianceItemEntryList$member": null + } + }, + "ComplianceItemEntryList": { + "base": null, + "refs": { + "PutComplianceItemsRequest$Items": "

Information about the compliance as defined by the resource type. For example, for a patch compliance type, Items includes information about the PatchSeverity, Classification, etc.

" + } + }, + "ComplianceItemId": { + "base": null, + "refs": { + "ComplianceItem$Id": "

An ID for the compliance item. For example, if the compliance item is a Windows patch, the ID could be the number of the KB article. Here's an example: KB4010320.

", + "ComplianceItemEntry$Id": "

The compliance item ID. For example, if the compliance item is a Windows patch, the ID could be the number of the KB article.

" + } + }, + "ComplianceItemList": { + "base": null, + "refs": { + "ListComplianceItemsResult$ComplianceItems": "

A list of compliance information for the specified resource ID.

" + } + }, + "ComplianceItemTitle": { + "base": null, + "refs": { + "ComplianceItem$Title": "

A title for the compliance item. For example, if the compliance item is a Windows patch, the title could be the title of the KB article for the patch. Here's an example: Security Update for Active Directory Federation Services.

", + "ComplianceItemEntry$Title": "

The title of the compliance item. For example, if the compliance item is a Windows patch, the title could be the title of the KB article for the patch. Here's an example: Security Update for Active Directory Federation Services.

" + } + }, + "ComplianceQueryOperatorType": { + "base": null, + "refs": { + "ComplianceStringFilter$Type": "

The type of comparison that should be performed for the value: Equal, NotEqual, BeginWith, LessThan, or GreaterThan.

" + } + }, + "ComplianceResourceId": { + "base": null, + "refs": { + "ComplianceItem$ResourceId": "

An ID for the resource. For a managed instance, this is the instance ID.

", + "ComplianceResourceIdList$member": null, + "PutComplianceItemsRequest$ResourceId": "

Specify an ID for this resource. For a managed instance, this is the instance ID.

", + "ResourceComplianceSummaryItem$ResourceId": "

The resource ID.

" + } + }, + "ComplianceResourceIdList": { + "base": null, + "refs": { + "ListComplianceItemsRequest$ResourceIds": "

The ID for the resources from which to get compliance information. Currently, you can only specify one resource ID.

" + } + }, + "ComplianceResourceType": { + "base": null, + "refs": { + "ComplianceItem$ResourceType": "

The type of resource. ManagedInstance is currently the only supported resource type.

", + "ComplianceResourceTypeList$member": null, + "PutComplianceItemsRequest$ResourceType": "

Specify the type of resource. ManagedInstance is currently the only supported resource type.

", + "ResourceComplianceSummaryItem$ResourceType": "

The resource type.

" + } + }, + "ComplianceResourceTypeList": { + "base": null, + "refs": { + "ListComplianceItemsRequest$ResourceTypes": "

The type of resource from which to get compliance information. Currently, the only supported resource type is ManagedInstance.

" + } + }, + "ComplianceSeverity": { + "base": null, + "refs": { + "ComplianceItem$Severity": "

The severity of the compliance status. Severity can be one of the following: Critical, High, Medium, Low, Informational, Unspecified.

", + "ComplianceItemEntry$Severity": "

The severity of the compliance status. Severity can be one of the following: Critical, High, Medium, Low, Informational, Unspecified.

", + "ResourceComplianceSummaryItem$OverallSeverity": "

The highest severity item found for the resource. The resource is compliant for this item.

" + } + }, + "ComplianceStatus": { + "base": null, + "refs": { + "ComplianceItem$Status": "

The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.

", + "ComplianceItemEntry$Status": "

The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.

", + "ResourceComplianceSummaryItem$Status": "

The compliance status for the resource.

" + } + }, + "ComplianceStringFilter": { + "base": "

One or more filters. Use a filter to return a more specific list of results.

", + "refs": { + "ComplianceStringFilterList$member": null + } + }, + "ComplianceStringFilterKey": { + "base": null, + "refs": { + "ComplianceStringFilter$Key": "

The name of the filter.

" + } + }, + "ComplianceStringFilterList": { + "base": null, + "refs": { + "ListComplianceItemsRequest$Filters": "

One or more compliance filters. Use a filter to return a more specific list of results.

", + "ListComplianceSummariesRequest$Filters": "

One or more compliance or inventory filters. Use a filter to return a more specific list of results.

", + "ListResourceComplianceSummariesRequest$Filters": "

One or more filters. Use a filter to return a more specific list of results.

" + } + }, + "ComplianceStringFilterValueList": { + "base": null, + "refs": { + "ComplianceStringFilter$Values": "

The value for which to search.

" + } + }, + "ComplianceSummaryCount": { + "base": null, + "refs": { + "CompliantSummary$CompliantCount": "

The total number of resources that are compliant.

", + "NonCompliantSummary$NonCompliantCount": "

The total number of compliance items that are not compliant.

", + "SeveritySummary$CriticalCount": "

The total number of resources or compliance items that have a severity level of critical. Critical severity is determined by the organization that published the compliance items.

", + "SeveritySummary$HighCount": "

The total number of resources or compliance items that have a severity level of high. High severity is determined by the organization that published the compliance items.

", + "SeveritySummary$MediumCount": "

The total number of resources or compliance items that have a severity level of medium. Medium severity is determined by the organization that published the compliance items.

", + "SeveritySummary$LowCount": "

The total number of resources or compliance items that have a severity level of low. Low severity is determined by the organization that published the compliance items.

", + "SeveritySummary$InformationalCount": "

The total number of resources or compliance items that have a severity level of informational. Informational severity is determined by the organization that published the compliance items.

", + "SeveritySummary$UnspecifiedCount": "

The total number of resources or compliance items that have a severity level of unspecified. Unspecified severity is determined by the organization that published the compliance items.

" + } + }, + "ComplianceSummaryItem": { + "base": "

A summary of compliance information by compliance type.

", + "refs": { + "ComplianceSummaryItemList$member": null + } + }, + "ComplianceSummaryItemList": { + "base": null, + "refs": { + "ListComplianceSummariesResult$ComplianceSummaryItems": "

A list of compliant and non-compliant summary counts based on compliance types. For example, this call returns State Manager associations, patches, or custom compliance types according to the filter criteria that you specified.

" + } + }, + "ComplianceTypeCountLimitExceededException": { + "base": "

You specified too many custom compliance types. You can specify a maximum of 10 different types.

", + "refs": { + } + }, + "ComplianceTypeName": { + "base": null, + "refs": { + "ComplianceItem$ComplianceType": "

The compliance type. For example, Association (for a State Manager association), Patch, or Custom:string are all valid compliance types.

", + "ComplianceSummaryItem$ComplianceType": "

The type of compliance item. For example, the compliance type can be Association, Patch, or Custom:string.

", + "PutComplianceItemsRequest$ComplianceType": "

Specify the compliance type. For example, specify Association (for a State Manager association), Patch, or Custom:string.

", + "ResourceComplianceSummaryItem$ComplianceType": "

The compliance type.

" + } + }, + "CompliantSummary": { + "base": "

A summary of resources that are compliant. The summary is organized according to the resource count for each compliance type.

", + "refs": { + "ComplianceSummaryItem$CompliantSummary": "

A list of COMPLIANT items for the specified compliance type.

", + "ResourceComplianceSummaryItem$CompliantSummary": "

A list of items that are compliant for the resource.

" + } + }, "ComputerName": { "base": null, "refs": { @@ -737,6 +1003,7 @@ "AssociationDescription$LastExecutionDate": "

The date on which the association was last run.

", "AssociationDescription$LastSuccessfulExecutionDate": "

The last date on which the association was successfully run.

", "AssociationStatus$Date": "

The date when the status changed.

", + "AssociationVersionInfo$CreatedDate": "

The date the association version was created.

", "AutomationExecution$ExecutionStartTime": "

The time the execution started.

", "AutomationExecution$ExecutionEndTime": "

The time the execution finished.

", "AutomationExecutionMetadata$ExecutionStartTime": "

The time the execution started.>

", @@ -746,10 +1013,13 @@ "CommandInvocation$RequestedDateTime": "

The time and date the request was sent to this instance.

", "CommandPlugin$ResponseStartDateTime": "

The time the plugin started executing.

", "CommandPlugin$ResponseFinishDateTime": "

The time the plugin stopped executing. Could stop prematurely if, for example, a cancel command was sent.

", + "ComplianceExecutionSummary$ExecutionTime": "

The time the execution ran as a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.

", "DocumentDescription$CreatedDate": "

The date when the document was created.

", "DocumentVersionInfo$CreatedDate": "

The date the document was created.

", "GetMaintenanceWindowExecutionResult$StartTime": "

The time the Maintenance Window started executing.

", "GetMaintenanceWindowExecutionResult$EndTime": "

The time the Maintenance Window finished executing.

", + "GetMaintenanceWindowExecutionTaskInvocationResult$StartTime": "

The time that the task started executing on the target.

", + "GetMaintenanceWindowExecutionTaskInvocationResult$EndTime": "

The time that the task finished executing on the target.

", "GetMaintenanceWindowExecutionTaskResult$StartTime": "

The time the task execution started.

", "GetMaintenanceWindowExecutionTaskResult$EndTime": "

The time the task execution completed.

", "GetMaintenanceWindowResult$CreatedDate": "

The date the Maintenance Window was created.

", @@ -1235,6 +1505,7 @@ "base": null, "refs": { "DocumentDescription$Hash": "

The Sha256 or Sha1 hash created by the system when the document was created.

Sha1 hashes have been deprecated.

", + "MaintenanceWindowRunCommandParameters$DocumentHash": "

The SHA-256 or SHA-1 hash created by the system when the document was created. SHA-1 hashes have been deprecated.

", "SendCommandRequest$DocumentHash": "

The Sha256 or Sha1 hash created by the system when the document was created.

Sha1 hashes have been deprecated.

" } }, @@ -1242,6 +1513,7 @@ "base": null, "refs": { "DocumentDescription$HashType": "

Sha256 or Sha1.

Sha1 hashes have been deprecated.

", + "MaintenanceWindowRunCommandParameters$DocumentHashType": "

SHA-256 or SHA-1. SHA-1 hashes have been deprecated.

", "SendCommandRequest$DocumentHashType": "

Sha256 or Sha1.

Sha1 hashes have been deprecated.

" } }, @@ -1267,6 +1539,7 @@ "refs": { "Association$Name": "

The name of the SSM document.

", "AssociationDescription$Name": "

The name of the SSM document.

", + "AssociationVersionInfo$Name": "

The name specified when the association was created.

", "AutomationExecution$DocumentName": "

The name of the Automation document used during the execution.

", "AutomationExecutionMetadata$DocumentName": "

The name of the Automation document used during execution.

", "Command$DocumentName": "

The name of the document requested for execution.

", @@ -1378,6 +1651,7 @@ "refs": { "Association$DocumentVersion": "

The version of the document used in the association.

", "AssociationDescription$DocumentVersion": "

The document version.

", + "AssociationVersionInfo$DocumentVersion": "

The version of an SSM document used when the association version was created.

", "AutomationExecution$DocumentVersion": "

The version of the document to use during execution.

", "AutomationExecutionMetadata$DocumentVersion": "

The document version used during the execution.

", "CreateAssociationBatchRequestEntry$DocumentVersion": "

The document version.

", @@ -1392,6 +1666,7 @@ "GetDocumentRequest$DocumentVersion": "

The document version for which you want information.

", "GetDocumentResult$DocumentVersion": "

The document version.

", "InstanceAssociationStatusInfo$DocumentVersion": "

The association document verions.

", + "MaintenanceWindowAutomationParameters$DocumentVersion": "

The version of an Automation document to use during task execution.

", "StartAutomationExecutionRequest$DocumentVersion": "

The version of the Automation document to use for this execution.

", "UpdateAssociationRequest$DocumentVersion": "

The document version you want update for the association.

", "UpdateDocumentRequest$DocumentVersion": "

The version of the document that you want to update.

" @@ -1490,6 +1765,11 @@ "FailedCreateAssociation$Fault": "

The source of the failure.

" } }, + "FeatureNotAvailableException": { + "base": "

You attempted to register a LAMBDA or STEP_FUNCTION task in a region where the corresponding service is not available.

", + "refs": { + } + }, "GetAutomationExecutionRequest": { "base": null, "refs": { @@ -1576,6 +1856,16 @@ "refs": { } }, + "GetMaintenanceWindowExecutionTaskInvocationRequest": { + "base": null, + "refs": { + } + }, + "GetMaintenanceWindowExecutionTaskInvocationResult": { + "base": null, + "refs": { + } + }, "GetMaintenanceWindowExecutionTaskRequest": { "base": null, "refs": { @@ -1596,6 +1886,16 @@ "refs": { } }, + "GetMaintenanceWindowTaskRequest": { + "base": null, + "refs": { + } + }, + "GetMaintenanceWindowTaskResult": { + "base": null, + "refs": { + } + }, "GetParameterHistoryRequest": { "base": null, "refs": { @@ -1687,6 +1987,12 @@ "UpdateManagedInstanceRoleRequest$IamRole": "

The IAM role you want to assign or change.

" } }, + "IdempotencyToken": { + "base": null, + "refs": { + "StartAutomationExecutionRequest$ClientToken": "

User-provided idempotency token. The token must be unique, is case insensitive, enforces the UUID format, and can't be reused.

" + } + }, "IdempotentParameterMismatch": { "base": "

Error returned when an idempotent operation is retried and the parameters don't match the original call to the API with the same idempotency token.

", "refs": { @@ -1720,6 +2026,7 @@ "base": "

An Amazon S3 bucket where you want to store the results of this request.

", "refs": { "AssociationDescription$OutputLocation": "

An Amazon S3 bucket where you want to store the output details of the request.

", + "AssociationVersionInfo$OutputLocation": "

The location in Amazon S3 specified for the association when the association version was created.

", "CreateAssociationBatchRequestEntry$OutputLocation": "

An Amazon S3 bucket where you want to store the results of this request.

", "CreateAssociationRequest$OutputLocation": "

An Amazon S3 bucket where you want to store the output details of the request.

", "UpdateAssociationRequest$OutputLocation": "

An Amazon S3 bucket where you want to store the results of this request.

" @@ -1948,11 +2255,21 @@ "refs": { } }, + "InvalidAssociationVersion": { + "base": "

The version you specified is not valid. Use ListAssociationVersions to view all versions of an association according to the association ID. Or, use the $LATEST parameter to view the latest version of the association.

", + "refs": { + } + }, "InvalidAutomationExecutionParametersException": { "base": "

The supplied parameters for invoking the specified Automation document are incorrect. For example, they may not match the set of parameters permitted for the specified Automation document.

", "refs": { } }, + "InvalidAutomationSignalException": { + "base": "

The signal is not valid for the current Automation execution.

", + "refs": { + } + }, "InvalidCommandId": { "base": null, "refs": { @@ -2013,6 +2330,11 @@ "refs": { } }, + "InvalidInventoryItemContextException": { + "base": "

You specified invalid keys or values in the Context attribute for InventoryItem. Verify the keys and values, and try again.

", + "refs": { + } + }, "InvalidItemContentException": { "base": "

One or more content items is not valid.

", "refs": { @@ -2167,6 +2489,12 @@ "ListInventoryEntriesResult$CaptureTime": "

The time that inventory information was collected for the instance(s).

" } }, + "InventoryItemContentContext": { + "base": null, + "refs": { + "InventoryItem$Context": "

A map of associated properties for a specified inventory type. For example, with this attribute, you can specify the ExecutionId, ExecutionType, ComplianceType properties of the AWS:ComplianceItem type.

" + } + }, "InventoryItemContentHash": { "base": null, "refs": { @@ -2226,7 +2554,8 @@ "ItemSizeLimitExceededException$TypeName": null, "ListInventoryEntriesRequest$TypeName": "

The type of inventory item for which you want information.

", "ListInventoryEntriesResult$TypeName": "

The type of inventory item returned by the request.

", - "ResultAttribute$TypeName": "

Name of the inventory item type. Valid value: AWS:InstanceInformation. Default Value: AWS:InstanceInformation.

" + "ResultAttribute$TypeName": "

Name of the inventory item type. Valid value: AWS:InstanceInformation. Default Value: AWS:InstanceInformation.

", + "UnsupportedInventoryItemContextException$TypeName": null } }, "InventoryItemTypeNameFilter": { @@ -2288,6 +2617,12 @@ "CommandInvocation$TraceOutput": "

Gets the trace output sent by the agent.

" } }, + "IsSubTypeSchema": { + "base": null, + "refs": { + "GetInventorySchemaRequest$SubType": "

Returns the sub-type schema for a specified inventory type.

" + } + }, "ItemContentMismatchException": { "base": "

The inventory item has invalid content.

", "refs": { @@ -2322,6 +2657,16 @@ "ResourceDataSyncItem$LastSuccessfulSyncTime": "

The last time the sync operations returned a status of SUCCESSFUL (UTC).

" } }, + "ListAssociationVersionsRequest": { + "base": null, + "refs": { + } + }, + "ListAssociationVersionsResult": { + "base": null, + "refs": { + } + }, "ListAssociationsRequest": { "base": null, "refs": { @@ -2352,6 +2697,26 @@ "refs": { } }, + "ListComplianceItemsRequest": { + "base": null, + "refs": { + } + }, + "ListComplianceItemsResult": { + "base": null, + "refs": { + } + }, + "ListComplianceSummariesRequest": { + "base": null, + "refs": { + } + }, + "ListComplianceSummariesResult": { + "base": null, + "refs": { + } + }, "ListDocumentVersionsRequest": { "base": null, "refs": { @@ -2382,6 +2747,16 @@ "refs": { } }, + "ListResourceComplianceSummariesRequest": { + "base": null, + "refs": { + } + }, + "ListResourceComplianceSummariesResult": { + "base": null, + "refs": { + } + }, "ListResourceDataSyncRequest": { "base": null, "refs": { @@ -2405,19 +2780,28 @@ "LoggingInfo": { "base": "

Information about an Amazon S3 bucket to write instance-level logs to.

", "refs": { + "GetMaintenanceWindowTaskResult$LoggingInfo": "

The location in Amazon S3 where the task results are logged.

", "MaintenanceWindowTask$LoggingInfo": "

Information about an Amazon S3 bucket to write task-level logs to.

", - "RegisterTaskWithMaintenanceWindowRequest$LoggingInfo": "

A structure containing information about an Amazon S3 bucket to write instance-level logs to.

" + "RegisterTaskWithMaintenanceWindowRequest$LoggingInfo": "

A structure containing information about an Amazon S3 bucket to write instance-level logs to.

", + "UpdateMaintenanceWindowTaskRequest$LoggingInfo": "

The new logging location in Amazon S3 to specify.

", + "UpdateMaintenanceWindowTaskResult$LoggingInfo": "

The updated logging information in Amazon S3.

" } }, "MaintenanceWindowAllowUnassociatedTargets": { "base": null, "refs": { - "CreateMaintenanceWindowRequest$AllowUnassociatedTargets": "

Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets.

", + "CreateMaintenanceWindowRequest$AllowUnassociatedTargets": "

Enables a Maintenance Window task to execute on managed instances, even if you have not registered those instances as targets. If enabled, then you must specify the unregistered instances (by instance ID) when you register a task with the Maintenance Window

If you don't enable this option, then you must specify previously-registered targets when you register a task with the Maintenance Window.

", "GetMaintenanceWindowResult$AllowUnassociatedTargets": "

Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets.

", "UpdateMaintenanceWindowRequest$AllowUnassociatedTargets": "

Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets.

", "UpdateMaintenanceWindowResult$AllowUnassociatedTargets": "

Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets.

" } }, + "MaintenanceWindowAutomationParameters": { + "base": "

The parameters for an AUTOMATION task type.

", + "refs": { + "MaintenanceWindowTaskInvocationParameters$Automation": "

The parameters for a AUTOMATION task type.

" + } + }, "MaintenanceWindowCutoff": { "base": null, "refs": { @@ -2428,6 +2812,25 @@ "UpdateMaintenanceWindowResult$Cutoff": "

The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution.

" } }, + "MaintenanceWindowDescription": { + "base": null, + "refs": { + "CreateMaintenanceWindowRequest$Description": "

An optional description for the Maintenance Window. We recommend specifying a description to help you organize your Maintenance Windows.

", + "GetMaintenanceWindowResult$Description": "

The description of the Maintenance Window.

", + "GetMaintenanceWindowTaskResult$Description": "

The retrieved task description.

", + "MaintenanceWindowIdentity$Description": "

A description of the Maintenance Window.

", + "MaintenanceWindowTarget$Description": "

A description of the target.

", + "MaintenanceWindowTask$Description": "

A description of the task.

", + "RegisterTargetWithMaintenanceWindowRequest$Description": "

An optional description for the target.

", + "RegisterTaskWithMaintenanceWindowRequest$Description": "

An optional description for the task.

", + "UpdateMaintenanceWindowRequest$Description": "

An optional description for the update request.

", + "UpdateMaintenanceWindowResult$Description": "

An optional description of the update.

", + "UpdateMaintenanceWindowTargetRequest$Description": "

An optional description for the update.

", + "UpdateMaintenanceWindowTargetResult$Description": "

The updated description.

", + "UpdateMaintenanceWindowTaskRequest$Description": "

The new task description to specify.

", + "UpdateMaintenanceWindowTaskResult$Description": "

The updated task description.

" + } + }, "MaintenanceWindowDurationHours": { "base": null, "refs": { @@ -2460,6 +2863,8 @@ "DescribeMaintenanceWindowExecutionTasksRequest$WindowExecutionId": "

The ID of the Maintenance Window execution whose task executions should be retrieved.

", "GetMaintenanceWindowExecutionRequest$WindowExecutionId": "

The ID of the Maintenance Window execution that includes the task.

", "GetMaintenanceWindowExecutionResult$WindowExecutionId": "

The ID of the Maintenance Window execution.

", + "GetMaintenanceWindowExecutionTaskInvocationRequest$WindowExecutionId": "

The ID of the Maintenance Window execution for which the task is a part.

", + "GetMaintenanceWindowExecutionTaskInvocationResult$WindowExecutionId": "

The Maintenance Window execution ID.

", "GetMaintenanceWindowExecutionTaskRequest$WindowExecutionId": "

The ID of the Maintenance Window execution that includes the task.

", "GetMaintenanceWindowExecutionTaskResult$WindowExecutionId": "

The ID of the Maintenance Window execution that includes the task.

", "MaintenanceWindowExecution$WindowExecutionId": "

The ID of the Maintenance Window execution.

", @@ -2477,6 +2882,7 @@ "base": null, "refs": { "GetMaintenanceWindowExecutionResult$Status": "

The status of the Maintenance Window execution.

", + "GetMaintenanceWindowExecutionTaskInvocationResult$Status": "

The task status for an invocation.

", "GetMaintenanceWindowExecutionTaskResult$Status": "

The status of the task.

", "MaintenanceWindowExecution$Status": "

The status of the execution.

", "MaintenanceWindowExecutionTaskIdentity$Status": "

The status of the task execution.

", @@ -2487,6 +2893,7 @@ "base": null, "refs": { "GetMaintenanceWindowExecutionResult$StatusDetails": "

The details explaining the Status. Only available for certain status values.

", + "GetMaintenanceWindowExecutionTaskInvocationResult$StatusDetails": "

The details explaining the status. Details are only available for certain status values.

", "GetMaintenanceWindowExecutionTaskResult$StatusDetails": "

The details explaining the Status. Only available for certain status values.

", "MaintenanceWindowExecution$StatusDetails": "

The details explaining the Status. Only available for certain status values.

", "MaintenanceWindowExecutionTaskIdentity$StatusDetails": "

The details explaining the status of the task execution. Only available for certain status values.

", @@ -2496,6 +2903,7 @@ "MaintenanceWindowExecutionTaskExecutionId": { "base": null, "refs": { + "GetMaintenanceWindowExecutionTaskInvocationResult$ExecutionId": "

The execution ID.

", "MaintenanceWindowExecutionTaskInvocationIdentity$ExecutionId": "

The ID of the action performed in the service that actually handled the task invocation. If the task type is RUN_COMMAND, this value is the command ID.

" } }, @@ -2503,6 +2911,8 @@ "base": null, "refs": { "DescribeMaintenanceWindowExecutionTaskInvocationsRequest$TaskId": "

The ID of the specific task in the Maintenance Window task that should be retrieved.

", + "GetMaintenanceWindowExecutionTaskInvocationRequest$TaskId": "

The ID of the specific task in the Maintenance Window task that should be retrieved.

", + "GetMaintenanceWindowExecutionTaskInvocationResult$TaskExecutionId": "

The task execution ID.

", "GetMaintenanceWindowExecutionTaskRequest$TaskId": "

The ID of the specific task execution in the Maintenance Window task that should be retrieved.

", "GetMaintenanceWindowExecutionTaskResult$TaskExecutionId": "

The ID of the specific task execution in the Maintenance Window task that was retrieved.

", "MaintenanceWindowExecutionTaskIdList$member": null, @@ -2531,6 +2941,8 @@ "MaintenanceWindowExecutionTaskInvocationId": { "base": null, "refs": { + "GetMaintenanceWindowExecutionTaskInvocationRequest$InvocationId": "

The invocation ID to retrieve.

", + "GetMaintenanceWindowExecutionTaskInvocationResult$InvocationId": "

The invocation ID.

", "MaintenanceWindowExecutionTaskInvocationIdentity$InvocationId": "

The ID of the task invocation.

" } }, @@ -2549,6 +2961,7 @@ "MaintenanceWindowExecutionTaskInvocationParameters": { "base": null, "refs": { + "GetMaintenanceWindowExecutionTaskInvocationResult$Parameters": "

The parameters used at the time that the task executed.

", "MaintenanceWindowExecutionTaskInvocationIdentity$Parameters": "

The parameters that were provided for the invocation when it was executed.

" } }, @@ -2602,6 +3015,8 @@ "DescribeMaintenanceWindowTasksRequest$WindowId": "

The ID of the Maintenance Window whose tasks should be retrieved.

", "GetMaintenanceWindowRequest$WindowId": "

The ID of the desired Maintenance Window.

", "GetMaintenanceWindowResult$WindowId": "

The ID of the created Maintenance Window.

", + "GetMaintenanceWindowTaskRequest$WindowId": "

The Maintenance Window ID that includes the task to retrieve.

", + "GetMaintenanceWindowTaskResult$WindowId": "

The retrieved Maintenance Window ID.

", "MaintenanceWindowExecution$WindowId": "

The ID of the Maintenance Window.

", "MaintenanceWindowIdentity$WindowId": "

The ID of the Maintenance Window.

", "MaintenanceWindowTarget$WindowId": "

The Maintenance Window ID where the target is registered.

", @@ -2609,7 +3024,11 @@ "RegisterTargetWithMaintenanceWindowRequest$WindowId": "

The ID of the Maintenance Window the target should be registered with.

", "RegisterTaskWithMaintenanceWindowRequest$WindowId": "

The id of the Maintenance Window the task should be added to.

", "UpdateMaintenanceWindowRequest$WindowId": "

The ID of the Maintenance Window to update.

", - "UpdateMaintenanceWindowResult$WindowId": "

The ID of the created Maintenance Window.

" + "UpdateMaintenanceWindowResult$WindowId": "

The ID of the created Maintenance Window.

", + "UpdateMaintenanceWindowTargetRequest$WindowId": "

The Maintenance Window ID with which to modify the target.

", + "UpdateMaintenanceWindowTargetResult$WindowId": "

The Maintenance Window ID specified in the update request.

", + "UpdateMaintenanceWindowTaskRequest$WindowId": "

The Maintenance Window ID that contains the task to modify.

", + "UpdateMaintenanceWindowTaskResult$WindowId": "

The ID of the Maintenance Window that was updated.

" } }, "MaintenanceWindowIdentity": { @@ -2624,6 +3043,30 @@ "DescribeMaintenanceWindowsResult$WindowIdentities": "

Information about the Maintenance Windows.

" } }, + "MaintenanceWindowLambdaClientContext": { + "base": null, + "refs": { + "MaintenanceWindowLambdaParameters$ClientContext": "

Pass client-specific information to the Lambda function that you are invoking. You can then process the client information in your Lambda function as you choose through the context variable.

" + } + }, + "MaintenanceWindowLambdaParameters": { + "base": "

The parameters for a LAMBDA task type.

", + "refs": { + "MaintenanceWindowTaskInvocationParameters$Lambda": "

The parameters for a LAMBDA task type.

" + } + }, + "MaintenanceWindowLambdaPayload": { + "base": null, + "refs": { + "MaintenanceWindowLambdaParameters$Payload": "

JSON to provide to your Lambda function as input.

" + } + }, + "MaintenanceWindowLambdaQualifier": { + "base": null, + "refs": { + "MaintenanceWindowLambdaParameters$Qualifier": "

(Optional) Specify a Lambda function version or alias name. If you specify a function version, the action uses the qualified function ARN to invoke a specific Lambda function. If you specify an alias name, the action uses the alias ARN to invoke the Lambda function version to which the alias points.

" + } + }, "MaintenanceWindowMaxResults": { "base": null, "refs": { @@ -2640,9 +3083,18 @@ "refs": { "CreateMaintenanceWindowRequest$Name": "

The name of the Maintenance Window.

", "GetMaintenanceWindowResult$Name": "

The name of the Maintenance Window.

", + "GetMaintenanceWindowTaskResult$Name": "

The retrieved task name.

", "MaintenanceWindowIdentity$Name": "

The name of the Maintenance Window.

", + "MaintenanceWindowTarget$Name": "

The target name.

", + "MaintenanceWindowTask$Name": "

The task name.

", + "RegisterTargetWithMaintenanceWindowRequest$Name": "

An optional name for the target.

", + "RegisterTaskWithMaintenanceWindowRequest$Name": "

An optional name for the task.

", "UpdateMaintenanceWindowRequest$Name": "

The name of the Maintenance Window.

", - "UpdateMaintenanceWindowResult$Name": "

The name of the Maintenance Window.

" + "UpdateMaintenanceWindowResult$Name": "

The name of the Maintenance Window.

", + "UpdateMaintenanceWindowTargetRequest$Name": "

A name for the update.

", + "UpdateMaintenanceWindowTargetResult$Name": "

The updated name.

", + "UpdateMaintenanceWindowTaskRequest$Name": "

The new task name to specify.

", + "UpdateMaintenanceWindowTaskResult$Name": "

The updated task name.

" } }, "MaintenanceWindowResourceType": { @@ -2652,6 +3104,12 @@ "RegisterTargetWithMaintenanceWindowRequest$ResourceType": "

The type of target being registered with the Maintenance Window.

" } }, + "MaintenanceWindowRunCommandParameters": { + "base": "

The parameters for a RUN_COMMAND task type.

", + "refs": { + "MaintenanceWindowTaskInvocationParameters$RunCommand": "

The parameters for a RUN_COMMAND task type.

" + } + }, "MaintenanceWindowSchedule": { "base": null, "refs": { @@ -2661,6 +3119,24 @@ "UpdateMaintenanceWindowResult$Schedule": "

The schedule of the Maintenance Window in the form of a cron or rate expression.

" } }, + "MaintenanceWindowStepFunctionsInput": { + "base": null, + "refs": { + "MaintenanceWindowStepFunctionsParameters$Input": "

The inputs for the STEP_FUNCTION task.

" + } + }, + "MaintenanceWindowStepFunctionsName": { + "base": null, + "refs": { + "MaintenanceWindowStepFunctionsParameters$Name": "

The name of the STEP_FUNCTION task.

" + } + }, + "MaintenanceWindowStepFunctionsParameters": { + "base": "

The parameters for the STEP_FUNCTION execution.

", + "refs": { + "MaintenanceWindowTaskInvocationParameters$StepFunctions": "

The parameters for a STEP_FUNCTION task type.

" + } + }, "MaintenanceWindowTarget": { "base": "

The target registered with the Maintenance Window.

", "refs": { @@ -2673,7 +3149,9 @@ "DeregisterTargetFromMaintenanceWindowRequest$WindowTargetId": "

The ID of the target definition to remove.

", "DeregisterTargetFromMaintenanceWindowResult$WindowTargetId": "

The ID of the removed target definition.

", "MaintenanceWindowTarget$WindowTargetId": "

The ID of the target.

", - "RegisterTargetWithMaintenanceWindowResult$WindowTargetId": "

The ID of the target definition in this Maintenance Window.

" + "RegisterTargetWithMaintenanceWindowResult$WindowTargetId": "

The ID of the target definition in this Maintenance Window.

", + "UpdateMaintenanceWindowTargetRequest$WindowTargetId": "

The target ID to modify.

", + "UpdateMaintenanceWindowTargetResult$WindowTargetId": "

The target ID specified in the update request.

" } }, "MaintenanceWindowTargetList": { @@ -2692,9 +3170,12 @@ "base": null, "refs": { "GetMaintenanceWindowExecutionTaskResult$TaskArn": "

The ARN of the executed task.

", + "GetMaintenanceWindowTaskResult$TaskArn": "

The resource that the task used during execution. For RUN_COMMAND and AUTOMATION task types, the TaskArn is the SSM Document name/ARN. For LAMBDA tasks, the value is the function name/ARN. For STEP_FUNCTION tasks, the value is the state machine ARN.

", "MaintenanceWindowExecutionTaskIdentity$TaskArn": "

The ARN of the executed task.

", - "MaintenanceWindowTask$TaskArn": "

The ARN of the task to execute.

", - "RegisterTaskWithMaintenanceWindowRequest$TaskArn": "

The ARN of the task to execute

" + "MaintenanceWindowTask$TaskArn": "

The resource that the task uses during execution. For RUN_COMMAND and AUTOMATION task types, TaskArn is the SSM document name or ARN. For LAMBDA tasks, it's the function name or ARN. For STEP_FUNCTION tasks, it's the state machine ARN.

", + "RegisterTaskWithMaintenanceWindowRequest$TaskArn": "

The ARN of the task to execute

", + "UpdateMaintenanceWindowTaskRequest$TaskArn": "

The task ARN to modify.

", + "UpdateMaintenanceWindowTaskResult$TaskArn": "

The updated task ARN value.

" } }, "MaintenanceWindowTaskId": { @@ -2702,8 +3183,21 @@ "refs": { "DeregisterTaskFromMaintenanceWindowRequest$WindowTaskId": "

The ID of the task to remove from the Maintenance Window.

", "DeregisterTaskFromMaintenanceWindowResult$WindowTaskId": "

The ID of the task removed from the Maintenance Window.

", + "GetMaintenanceWindowTaskRequest$WindowTaskId": "

The Maintenance Window task ID to retrieve.

", + "GetMaintenanceWindowTaskResult$WindowTaskId": "

The retrieved Maintenance Window task ID.

", "MaintenanceWindowTask$WindowTaskId": "

The task ID.

", - "RegisterTaskWithMaintenanceWindowResult$WindowTaskId": "

The id of the task in the Maintenance Window.

" + "RegisterTaskWithMaintenanceWindowResult$WindowTaskId": "

The id of the task in the Maintenance Window.

", + "UpdateMaintenanceWindowTaskRequest$WindowTaskId": "

The task ID to modify.

", + "UpdateMaintenanceWindowTaskResult$WindowTaskId": "

The task ID of the Maintenance Window that was updated.

" + } + }, + "MaintenanceWindowTaskInvocationParameters": { + "base": "

The parameters for task execution.

", + "refs": { + "GetMaintenanceWindowTaskResult$TaskInvocationParameters": "

The parameters to pass to the task when it executes.

", + "RegisterTaskWithMaintenanceWindowRequest$TaskInvocationParameters": "

The parameters that the task should use during execution. Populate only the fields that match the task type. All other fields should be empty.

", + "UpdateMaintenanceWindowTaskRequest$TaskInvocationParameters": "

The parameters that the task should use during execution. Populate only the fields that match the task type. All other fields should be empty.

", + "UpdateMaintenanceWindowTaskResult$TaskInvocationParameters": "

The updated parameter values.

" } }, "MaintenanceWindowTaskList": { @@ -2739,9 +3233,12 @@ "MaintenanceWindowTaskParameters": { "base": null, "refs": { + "GetMaintenanceWindowTaskResult$TaskParameters": "

The parameters to pass to the task when it executes.

", "MaintenanceWindowTask$TaskParameters": "

The parameters that should be passed to the task when it is executed.

", "MaintenanceWindowTaskParametersList$member": null, - "RegisterTaskWithMaintenanceWindowRequest$TaskParameters": "

The parameters that should be passed to the task when it is executed.

" + "RegisterTaskWithMaintenanceWindowRequest$TaskParameters": "

The parameters that should be passed to the task when it is executed.

", + "UpdateMaintenanceWindowTaskRequest$TaskParameters": "

The parameters to modify. The map has the following format:

Key: string, between 1 and 255 characters

Value: an array of strings, each string is between 1 and 255 characters

", + "UpdateMaintenanceWindowTaskResult$TaskParameters": "

The updated parameter values.

" } }, "MaintenanceWindowTaskParametersList": { @@ -2754,22 +3251,29 @@ "base": null, "refs": { "GetMaintenanceWindowExecutionTaskResult$Priority": "

The priority of the task.

", - "MaintenanceWindowTask$Priority": "

The priority of the task in the Maintenance Window, the lower the number the higher the priority. Tasks in a Maintenance Window are scheduled in priority order with tasks that have the same priority scheduled in parallel.

", - "RegisterTaskWithMaintenanceWindowRequest$Priority": "

The priority of the task in the Maintenance Window, the lower the number the higher the priority. Tasks in a Maintenance Window are scheduled in priority order with tasks that have the same priority scheduled in parallel.

" + "GetMaintenanceWindowTaskResult$Priority": "

The priority of the task when it executes. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.

", + "MaintenanceWindowTask$Priority": "

The priority of the task in the Maintenance Window. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.

", + "RegisterTaskWithMaintenanceWindowRequest$Priority": "

The priority of the task in the Maintenance Window, the lower the number the higher the priority. Tasks in a Maintenance Window are scheduled in priority order with tasks that have the same priority scheduled in parallel.

", + "UpdateMaintenanceWindowTaskRequest$Priority": "

The new task priority to specify. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.

", + "UpdateMaintenanceWindowTaskResult$Priority": "

The updated priority value.

" } }, "MaintenanceWindowTaskTargetId": { "base": null, "refs": { + "GetMaintenanceWindowExecutionTaskInvocationResult$WindowTargetId": "

The Maintenance Window target ID.

", "MaintenanceWindowExecutionTaskInvocationIdentity$WindowTargetId": "

The ID of the target definition in this Maintenance Window the invocation was performed for.

" } }, "MaintenanceWindowTaskType": { "base": null, "refs": { + "GetMaintenanceWindowExecutionTaskInvocationResult$TaskType": "

Retrieves the task type for a Maintenance Window. Task types include the following: LAMBDA, STEP_FUNCTION, AUTOMATION, RUN_COMMAND.

", "GetMaintenanceWindowExecutionTaskResult$Type": "

The type of task executed.

", + "GetMaintenanceWindowTaskResult$TaskType": "

The type of task to execute.

", "MaintenanceWindowExecutionTaskIdentity$TaskType": "

The type of executed task.

", - "MaintenanceWindowTask$Type": "

The type of task.

", + "MaintenanceWindowExecutionTaskInvocationIdentity$TaskType": "

The task type.

", + "MaintenanceWindowTask$Type": "

The type of task. The type can be one of the following: RUN_COMMAND, AUTOMATION, LAMBDA, or STEP_FUNCTION.

", "RegisterTaskWithMaintenanceWindowRequest$TaskType": "

The type of task being registered.

" } }, @@ -2785,9 +3289,12 @@ "refs": { "Command$MaxConcurrency": "

The maximum number of instances that are allowed to execute the command at the same time. You can specify a number of instances, such as 10, or a percentage of instances, such as 10%. The default value is 50. For more information about how to use MaxConcurrency, see Executing a Command Using Systems Manager Run Command.

", "GetMaintenanceWindowExecutionTaskResult$MaxConcurrency": "

The defined maximum number of task executions that could be run in parallel.

", + "GetMaintenanceWindowTaskResult$MaxConcurrency": "

The maximum number of targets allowed to run this task in parallel.

", "MaintenanceWindowTask$MaxConcurrency": "

The maximum number of targets this task can be run for in parallel.

", "RegisterTaskWithMaintenanceWindowRequest$MaxConcurrency": "

The maximum number of targets this task can be run for in parallel.

", - "SendCommandRequest$MaxConcurrency": "

(Optional) The maximum number of instances that are allowed to execute the command at the same time. You can specify a number such as 10 or a percentage such as 10%. The default value is 50. For more information about how to use MaxConcurrency, see Using Concurrency Controls.

" + "SendCommandRequest$MaxConcurrency": "

(Optional) The maximum number of instances that are allowed to execute the command at the same time. You can specify a number such as 10 or a percentage such as 10%. The default value is 50. For more information about how to use MaxConcurrency, see Using Concurrency Controls.

", + "UpdateMaintenanceWindowTaskRequest$MaxConcurrency": "

The new MaxConcurrency value you want to specify. MaxConcurrency is the number of targets that are allowed to run this task in parallel.

", + "UpdateMaintenanceWindowTaskResult$MaxConcurrency": "

The updated MaxConcurrency value.

" } }, "MaxDocumentSizeExceeded": { @@ -2800,9 +3307,12 @@ "refs": { "Command$MaxErrors": "

The maximum number of errors allowed before the system stops sending the command to additional targets. You can specify a number of errors, such as 10, or a percentage or errors, such as 10%. The default value is 50. For more information about how to use MaxErrors, see Executing a Command Using Systems Manager Run Command.

", "GetMaintenanceWindowExecutionTaskResult$MaxErrors": "

The defined maximum number of task execution errors allowed before scheduling of the task execution would have been stopped.

", + "GetMaintenanceWindowTaskResult$MaxErrors": "

The maximum number of errors allowed before the task stops being scheduled.

", "MaintenanceWindowTask$MaxErrors": "

The maximum number of errors allowed before this task stops being scheduled.

", "RegisterTaskWithMaintenanceWindowRequest$MaxErrors": "

The maximum number of errors allowed before this task stops being scheduled.

", - "SendCommandRequest$MaxErrors": "

The maximum number of errors allowed without the command failing. When the command fails one more time beyond the value of MaxErrors, the systems stops sending the command to additional targets. You can specify a number like 10 or a percentage like 10%. The default value is 50. For more information about how to use MaxErrors, see Using Error Controls.

" + "SendCommandRequest$MaxErrors": "

The maximum number of errors allowed without the command failing. When the command fails one more time beyond the value of MaxErrors, the systems stops sending the command to additional targets. You can specify a number like 10 or a percentage like 10%. The default value is 50. For more information about how to use MaxErrors, see Using Error Controls.

", + "UpdateMaintenanceWindowTaskRequest$MaxErrors": "

The new MaxErrors value to specify. MaxErrors is the maximum number of errors that are allowed before the task stops being scheduled.

", + "UpdateMaintenanceWindowTaskResult$MaxErrors": "

The updated MaxErrors value.

" } }, "MaxResults": { @@ -2814,10 +3324,14 @@ "DescribeParametersRequest$MaxResults": "

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", "GetInventoryRequest$MaxResults": "

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", "GetParameterHistoryRequest$MaxResults": "

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", + "ListAssociationVersionsRequest$MaxResults": "

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", "ListAssociationsRequest$MaxResults": "

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", + "ListComplianceItemsRequest$MaxResults": "

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", + "ListComplianceSummariesRequest$MaxResults": "

The maximum number of items to return for this call. Currently, you can specify null or 50. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", "ListDocumentVersionsRequest$MaxResults": "

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", "ListDocumentsRequest$MaxResults": "

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", "ListInventoryEntriesRequest$MaxResults": "

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", + "ListResourceComplianceSummariesRequest$MaxResults": "

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", "ListResourceDataSyncRequest$MaxResults": "

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

" } }, @@ -2886,22 +3400,37 @@ "GetParameterHistoryResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", "GetParametersByPathRequest$NextToken": "

A token to start the list. Use this token to get the next set of results.

", "GetParametersByPathResult$NextToken": "

The token for the next set of items to return. Use this token to get the next set of results.

", + "ListAssociationVersionsRequest$NextToken": "

A token to start the list. Use this token to get the next set of results.

", + "ListAssociationVersionsResult$NextToken": "

The token for the next set of items to return. Use this token to get the next set of results.

", "ListAssociationsRequest$NextToken": "

The token for the next set of items to return. (You received this token from a previous call.)

", "ListAssociationsResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", "ListCommandInvocationsRequest$NextToken": "

(Optional) The token for the next set of items to return. (You received this token from a previous call.)

", "ListCommandInvocationsResult$NextToken": "

(Optional) The token for the next set of items to return. (You received this token from a previous call.)

", "ListCommandsRequest$NextToken": "

(Optional) The token for the next set of items to return. (You received this token from a previous call.)

", "ListCommandsResult$NextToken": "

(Optional) The token for the next set of items to return. (You received this token from a previous call.)

", + "ListComplianceItemsRequest$NextToken": "

A token to start the list. Use this token to get the next set of results.

", + "ListComplianceItemsResult$NextToken": "

The token for the next set of items to return. Use this token to get the next set of results.

", + "ListComplianceSummariesRequest$NextToken": "

A token to start the list. Use this token to get the next set of results.

", + "ListComplianceSummariesResult$NextToken": "

The token for the next set of items to return. Use this token to get the next set of results.

", "ListDocumentVersionsRequest$NextToken": "

The token for the next set of items to return. (You received this token from a previous call.)

", "ListDocumentVersionsResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", "ListDocumentsRequest$NextToken": "

The token for the next set of items to return. (You received this token from a previous call.)

", "ListDocumentsResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", "ListInventoryEntriesRequest$NextToken": "

The token for the next set of items to return. (You received this token from a previous call.)

", "ListInventoryEntriesResult$NextToken": "

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", + "ListResourceComplianceSummariesRequest$NextToken": "

A token to start the list. Use this token to get the next set of results.

", + "ListResourceComplianceSummariesResult$NextToken": "

The token for the next set of items to return. Use this token to get the next set of results.

", "ListResourceDataSyncRequest$NextToken": "

A token to start the list. Use this token to get the next set of results.

", "ListResourceDataSyncResult$NextToken": "

The token for the next set of items to return. Use this token to get the next set of results.

" } }, + "NonCompliantSummary": { + "base": "

A summary of resources that are not compliant. The summary is organized according to resource type.

", + "refs": { + "ComplianceSummaryItem$NonCompliantSummary": "

A list of NON_COMPLIANT items for the specified compliance type.

", + "ResourceComplianceSummaryItem$NonCompliantSummary": "

A list of items that aren't compliant for the resource.

" + } + }, "NormalStringMap": { "base": null, "refs": { @@ -2919,6 +3448,7 @@ "refs": { "Command$NotificationConfig": "

Configurations for sending notifications about command status changes.

", "CommandInvocation$NotificationConfig": "

Configurations for sending notifications about command status changes on a per instance basis.

", + "MaintenanceWindowRunCommandParameters$NotificationConfig": "

Configurations for sending notifications about command status changes on a per-instance basis.

", "SendCommandRequest$NotificationConfig": "

Configurations for sending notifications.

" } }, @@ -2956,10 +3486,13 @@ "OwnerInformation": { "base": null, "refs": { + "GetMaintenanceWindowExecutionTaskInvocationResult$OwnerInformation": "

User-provided value to be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.

", "InstancePatchState$OwnerInformation": "

Placeholder information, this field will always be empty in the current release of the service.

", "MaintenanceWindowExecutionTaskInvocationIdentity$OwnerInformation": "

User-provided value that was specified when the target was registered with the Maintenance Window. This was also included in any CloudWatch events raised during the task invocation.

", "MaintenanceWindowTarget$OwnerInformation": "

User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.

", - "RegisterTargetWithMaintenanceWindowRequest$OwnerInformation": "

User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.

" + "RegisterTargetWithMaintenanceWindowRequest$OwnerInformation": "

User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.

", + "UpdateMaintenanceWindowTargetRequest$OwnerInformation": "

User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.

", + "UpdateMaintenanceWindowTargetResult$OwnerInformation": "

The updated owner.

" } }, "PSParameterName": { @@ -3136,9 +3669,11 @@ "base": null, "refs": { "AssociationDescription$Parameters": "

A description of the parameters for a document.

", + "AssociationVersionInfo$Parameters": "

Parameters specified when the association version was created.

", "Command$Parameters": "

The parameter values to be inserted in the document when executing the command.

", "CreateAssociationBatchRequestEntry$Parameters": "

A description of the parameters for a document.

", "CreateAssociationRequest$Parameters": "

The parameters for the documents runtime configuration.

", + "MaintenanceWindowRunCommandParameters$Parameters": "

The parameters for the RUN_COMMAND task execution.

", "SendCommandRequest$Parameters": "

The required and optional parameters specified in the document being executed.

", "UpdateAssociationRequest$Parameters": "

The parameters you want to update for the association. If you create a parameter using Parameter Store, you can reference the parameter using {{ssm:parameter-name}}

" } @@ -3542,6 +4077,16 @@ "GetDeployablePatchSnapshotForInstanceResult$Product": "

Returns the specific operating system (for example Windows Server 2012 or Amazon Linux 2015.09) on the instance for the specified patch snapshot.

" } }, + "PutComplianceItemsRequest": { + "base": null, + "refs": { + } + }, + "PutComplianceItemsResult": { + "base": null, + "refs": { + } + }, "PutInventoryRequest": { "base": null, "refs": { @@ -3625,6 +4170,24 @@ "refs": { } }, + "ResourceComplianceSummaryItem": { + "base": "

Compliance summary information for a specific resource.

", + "refs": { + "ResourceComplianceSummaryItemList$member": null + } + }, + "ResourceComplianceSummaryItemList": { + "base": null, + "refs": { + "ListResourceComplianceSummariesResult$ResourceComplianceSummaryItems": "

A summary count for specified or targeted managed instances. Summary count includes information about compliant and non-compliant State Manager associations, patch status, or custom items according to the filter criteria that you specify.

" + } + }, + "ResourceDataSyncAWSKMSKeyARN": { + "base": null, + "refs": { + "ResourceDataSyncS3Destination$AWSKMSKeyARN": "

The ARN of an encryption key for a destination in Amazon S3. Must belong to the same region as the destination Amazon S3 bucket.

" + } + }, "ResourceDataSyncAlreadyExistsException": { "base": "

A sync configuration with the same name already exists.

", "refs": { @@ -3761,6 +4324,7 @@ "Command$OutputS3BucketName": "

The S3 bucket where the responses to the command executions should be stored. This was requested when issuing the command.

", "CommandPlugin$OutputS3BucketName": "

The S3 bucket where the responses to the command executions should be stored. This was requested when issuing the command. For example, in the following response:

test_folder/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-1234567876543/awsrunShellScript

test_folder is the name of the Amazon S3 bucket;

ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;

i-1234567876543 is the instance ID;

awsrunShellScript is the name of the plugin.

", "LoggingInfo$S3BucketName": "

The name of an Amazon S3 bucket where execution logs are stored .

", + "MaintenanceWindowRunCommandParameters$OutputS3BucketName": "

The name of the Amazon S3 bucket.

", "S3OutputLocation$OutputS3BucketName": "

The name of the Amazon S3 bucket.

", "SendCommandRequest$OutputS3BucketName": "

The name of the S3 bucket where command execution responses should be stored.

" } @@ -3771,6 +4335,7 @@ "Command$OutputS3KeyPrefix": "

The S3 directory path inside the bucket where the responses to the command executions should be stored. This was requested when issuing the command.

", "CommandPlugin$OutputS3KeyPrefix": "

The S3 directory path inside the bucket where the responses to the command executions should be stored. This was requested when issuing the command. For example, in the following response:

test_folder/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-1234567876543/awsrunShellScript

test_folder is the name of the Amazon S3 bucket;

ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;

i-1234567876543 is the instance ID;

awsrunShellScript is the name of the plugin.

", "LoggingInfo$S3KeyPrefix": "

(Optional) The Amazon S3 bucket subfolder.

", + "MaintenanceWindowRunCommandParameters$OutputS3KeyPrefix": "

The Amazon S3 bucket subfolder.

", "S3OutputLocation$OutputS3KeyPrefix": "

The Amazon S3 bucket subfolder.

", "SendCommandRequest$OutputS3KeyPrefix": "

The directory structure within the S3 bucket where the responses should be stored.

" } @@ -3802,11 +4367,22 @@ "refs": { "Association$ScheduleExpression": "

A cron expression that specifies a schedule when the association runs.

", "AssociationDescription$ScheduleExpression": "

A cron expression that specifies a schedule when the association runs.

", + "AssociationVersionInfo$ScheduleExpression": "

The cron or rate schedule specified for the association when the association version was created.

", "CreateAssociationBatchRequestEntry$ScheduleExpression": "

A cron expression that specifies a schedule when the association runs.

", "CreateAssociationRequest$ScheduleExpression": "

A cron expression when the association will be applied to the target(s).

", "UpdateAssociationRequest$ScheduleExpression": "

The cron expression used to schedule the association that you want to update.

" } }, + "SendAutomationSignalRequest": { + "base": null, + "refs": { + } + }, + "SendAutomationSignalResult": { + "base": null, + "refs": { + } + }, "SendCommandRequest": { "base": null, "refs": { @@ -3823,9 +4399,26 @@ "Command$ServiceRole": "

The IAM service role that Run Command uses to act on your behalf when sending notifications about command status changes.

", "CommandInvocation$ServiceRole": "

The IAM service role that Run Command uses to act on your behalf when sending notifications about command status changes on a per instance basis.

", "GetMaintenanceWindowExecutionTaskResult$ServiceRole": "

The role that was assumed when executing the task.

", + "GetMaintenanceWindowTaskResult$ServiceRoleArn": "

The IAM service role to assume during task execution.

", + "MaintenanceWindowRunCommandParameters$ServiceRoleArn": "

The IAM service role to assume during task execution.

", "MaintenanceWindowTask$ServiceRoleArn": "

The role that should be assumed when executing the task

", "RegisterTaskWithMaintenanceWindowRequest$ServiceRoleArn": "

The role that should be assumed when executing the task.

", - "SendCommandRequest$ServiceRoleArn": "

The IAM role that Systems Manager uses to send notifications.

" + "SendCommandRequest$ServiceRoleArn": "

The IAM role that Systems Manager uses to send notifications.

", + "UpdateMaintenanceWindowTaskRequest$ServiceRoleArn": "

The IAM service role ARN to modify. The system assumes this role during task execution.

", + "UpdateMaintenanceWindowTaskResult$ServiceRoleArn": "

The updated service role ARN value.

" + } + }, + "SeveritySummary": { + "base": "

The number of managed instances found for each patch severity level defined in the request filter.

", + "refs": { + "CompliantSummary$SeveritySummary": "

A summary of the compliance severity by compliance type.

", + "NonCompliantSummary$SeveritySummary": "

A summary of the non-compliance severity by compliance type

" + } + }, + "SignalType": { + "base": null, + "refs": { + "SendAutomationSignalRequest$SignalType": "

The type of signal. Valid signal types include the following: Approve and Reject

" } }, "SnapshotDownloadUrl": { @@ -3930,6 +4523,7 @@ "refs": { "AlreadyExistsException$Message": null, "AssociationDoesNotExist$Message": null, + "AssociationVersionLimitExceeded$Message": null, "AutomationDefinitionNotFoundException$Message": null, "AutomationDefinitionVersionNotFoundException$Message": null, "AutomationExecution$FailureMessage": "

A message describing why an execution has failed, if the status is set to Failed.

", @@ -3937,6 +4531,7 @@ "AutomationExecutionMetadata$ExecutedBy": "

The IAM role ARN of the user who executed the Automation.

", "AutomationExecutionMetadata$LogFile": "

An Amazon S3 bucket where execution information is stored.

", "AutomationExecutionNotFoundException$Message": null, + "ComplianceTypeCountLimitExceededException$Message": null, "CustomSchemaCountLimitExceededException$Message": null, "DocumentAlreadyExists$Message": null, "DocumentLimitExceeded$Message": null, @@ -3946,6 +4541,7 @@ "DuplicateDocumentContent$Message": null, "FailureDetails$FailureStage": "

The stage of the Automation execution when the failure occurred. The stages include the following: InputValidation, PreVerification, Invocation, PostVerification.

", "FailureDetails$FailureType": "

The type of Automation failure. Failure types include the following: Action, Permission, Throttling, Verification, Internal.

", + "FeatureNotAvailableException$Message": null, "HierarchyLevelLimitExceededException$message": "

A hierarchy can have a maximum of five levels. For example:

/Finance/Prod/IAD/OS/WinServ2016/license15

For more information, see Working with Systems Manager Parameters.

", "HierarchyTypeMismatchException$message": "

Parameter Store does not support changing a parameter type in a hierarchy. For example, you can't change a parameter from a String type to a SecureString type. You must create a new, unique parameter.

", "IdempotentParameterMismatch$Message": null, @@ -3956,7 +4552,9 @@ "InvalidActivation$Message": null, "InvalidActivationId$Message": null, "InvalidAllowedPatternException$message": "

The request does not meet the regular expression requirement.

", + "InvalidAssociationVersion$Message": null, "InvalidAutomationExecutionParametersException$Message": null, + "InvalidAutomationSignalException$Message": null, "InvalidDocument$Message": "

The document does not exist or the document is not available to the user. This exception can be issued by CreateAssociation, CreateAssociationBatch, DeleteAssociation, DeleteDocument, DescribeAssociation, DescribeDocument, GetDocument, SendCommand, or UpdateAssociationStatus.

", "InvalidDocumentContent$Message": "

A description of the validation error.

", "InvalidDocumentOperation$Message": null, @@ -3967,6 +4565,7 @@ "InvalidFilterValue$Message": null, "InvalidInstanceId$Message": null, "InvalidInstanceInformationFilterValue$message": null, + "InvalidInventoryItemContextException$Message": null, "InvalidItemContentException$Message": null, "InvalidKeyId$message": null, "InvalidNextToken$Message": null, @@ -3999,8 +4598,11 @@ "StepExecution$Response": "

A message associated with the response code for an execution.

", "StepExecution$FailureMessage": "

If a step failed, this message explains why the execution failed.

", "StringList$member": null, + "SubTypeCountLimitExceededException$Message": null, + "TargetInUseException$Message": null, "TooManyUpdates$Message": null, "TotalSizeLimitExceededException$Message": null, + "UnsupportedInventoryItemContextException$Message": null, "UnsupportedInventorySchemaVersionException$Message": null, "UnsupportedOperatingSystem$Message": null, "UnsupportedParameterType$message": null, @@ -4021,6 +4623,11 @@ "DescribeActivationsFilter$FilterValues": "

The filter values.

" } }, + "SubTypeCountLimitExceededException": { + "base": "

The sub-type count exceeded the limit for the inventory type.

", + "refs": { + } + }, "Tag": { "base": "

Metadata that you assign to your managed instances. Tags enable you to categorize your managed instances in different ways, for example, by purpose, owner, or environment.

", "refs": { @@ -4059,6 +4666,11 @@ "Command$TargetCount": "

The number of targets for the command.

" } }, + "TargetInUseException": { + "base": "

You specified the Safe option for the DeregisterTargetFromMaintenanceWindow operation, but the target is still referenced in a task.

", + "refs": { + } + }, "TargetKey": { "base": null, "refs": { @@ -4082,20 +4694,27 @@ "refs": { "Association$Targets": "

The instances targeted by the request to create an association.

", "AssociationDescription$Targets": "

The instances targeted by the request.

", + "AssociationVersionInfo$Targets": "

The targets specified for the association when the association version was created.

", "Command$Targets": "

An array of search criteria that targets instances using a Key,Value combination that you specify. Targets is required if you don't provide one or more instance IDs in the call.

", "CreateAssociationBatchRequestEntry$Targets": "

The instances targeted by the request.

", "CreateAssociationRequest$Targets": "

The targets (either instances or tags) for the association.

", + "GetMaintenanceWindowTaskResult$Targets": "

The targets where the task should execute.

", "MaintenanceWindowTarget$Targets": "

The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>. Tags are specified using Key=<tag name>,Values=<tag value>.

", "MaintenanceWindowTask$Targets": "

The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>. Tags are specified using Key=<tag name>,Values=<tag value>.

", "RegisterTargetWithMaintenanceWindowRequest$Targets": "

The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>. Tags are specified using Key=<tag name>,Values=<tag value>.

", "RegisterTaskWithMaintenanceWindowRequest$Targets": "

The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>. Tags are specified using Key=<tag name>,Values=<tag value>.

", "SendCommandRequest$Targets": "

(Optional) An array of search criteria that targets instances using a Key,Value combination that you specify. Targets is required if you don't provide one or more instance IDs in the call. For more information about how to use Targets, see Sending Commands to a Fleet.

", - "UpdateAssociationRequest$Targets": "

The targets of the association.

" + "UpdateAssociationRequest$Targets": "

The targets of the association.

", + "UpdateMaintenanceWindowTargetRequest$Targets": "

The targets to add or replace.

", + "UpdateMaintenanceWindowTargetResult$Targets": "

The updated targets.

", + "UpdateMaintenanceWindowTaskRequest$Targets": "

The targets (either instances or tags) to modify. Instances are specified using Key=instanceids,Values=instanceID_1,instanceID_2. Tags are specified using Key=tag_name,Values=tag_value.

", + "UpdateMaintenanceWindowTaskResult$Targets": "

The updated target values.

" } }, "TimeoutSeconds": { "base": null, "refs": { + "MaintenanceWindowRunCommandParameters$TimeoutSeconds": "

If this time is reached and the command has not already started executing, it doesn not execute.

", "SendCommandRequest$TimeoutSeconds": "

If this time is reached and the command has not already started executing, it will not execute.

" } }, @@ -4114,6 +4733,11 @@ "refs": { } }, + "UnsupportedInventoryItemContextException": { + "base": "

The Context attribute that you specified for the InventoryItem is not allowed for this inventory type. You can only use the Context attribute with inventory types like AWS:ComplianceItem.

", + "refs": { + } + }, "UnsupportedInventorySchemaVersionException": { "base": "

Inventory item type schema version has to match supported versions in the service. Check output of GetInventorySchema to see the available schema version for each type.

", "refs": { @@ -4184,6 +4808,26 @@ "refs": { } }, + "UpdateMaintenanceWindowTargetRequest": { + "base": null, + "refs": { + } + }, + "UpdateMaintenanceWindowTargetResult": { + "base": null, + "refs": { + } + }, + "UpdateMaintenanceWindowTaskRequest": { + "base": null, + "refs": { + } + }, + "UpdateMaintenanceWindowTaskResult": { + "base": null, + "refs": { + } + }, "UpdateManagedInstanceRoleRequest": { "base": null, "refs": { diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/storagegateway/2013-06-30/api-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/storagegateway/2013-06-30/api-2.json index b26ad65ad..c76129cf4 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/storagegateway/2013-06-30/api-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/storagegateway/2013-06-30/api-2.json @@ -1211,7 +1211,8 @@ "type":"structure", "required":["FileShareARN"], "members":{ - "FileShareARN":{"shape":"FileShareARN"} + "FileShareARN":{"shape":"FileShareARN"}, + "ForceDelete":{"shape":"boolean"} } }, "DeleteFileShareOutput":{ diff --git a/vendor/github.com/aws/aws-sdk-go/models/apis/storagegateway/2013-06-30/docs-2.json b/vendor/github.com/aws/aws-sdk-go/models/apis/storagegateway/2013-06-30/docs-2.json index eecc2857d..5b446666b 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/apis/storagegateway/2013-06-30/docs-2.json +++ b/vendor/github.com/aws/aws-sdk-go/models/apis/storagegateway/2013-06-30/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "AWS Storage Gateway Service

AWS Storage Gateway is the service that connects an on-premises software appliance with cloud-based storage to provide seamless and secure integration between an organization's on-premises IT environment and AWS's storage infrastructure. The service enables you to securely upload data to the AWS cloud for cost effective backup and rapid disaster recovery.

Use the following links to get started using the AWS Storage Gateway Service API Reference:

AWS Storage Gateway resource IDs are in uppercase. When you use these resource IDs with the Amazon EC2 API, EC2 expects resource IDs in lowercase. You must change your resource ID to lowercase to use it with the EC2 API. For example, in Storage Gateway the ID for a volume might be vol-AA22BB012345DAF670. When you use this ID with the EC2 API, you must change it to vol-aa22bb012345daf670. Otherwise, the EC2 API might not behave as expected.

IDs for Storage Gateway volumes and Amazon EBS snapshots created from gateway volumes are changing to a longer format. Starting in December 2016, all new volumes and snapshots will be created with a 17-character string. Starting in April 2016, you will be able to use these longer IDs so you can test your systems with the new format. For more information, see Longer EC2 and EBS Resource IDs.

For example, a volume Amazon Resource Name (ARN) with the longer volume ID format looks like the following:

arn:aws:storagegateway:us-west-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABBCCDDEEFFG.

A snapshot ID with the longer ID format looks like the following: snap-78e226633445566ee.

For more information, see Announcement: Heads-up – Longer AWS Storage Gateway volume and snapshot IDs coming in 2016.

", + "service": "AWS Storage Gateway Service

AWS Storage Gateway is the service that connects an on-premises software appliance with cloud-based storage to provide seamless and secure integration between an organization's on-premises IT environment and AWS's storage infrastructure. The service enables you to securely upload data to the AWS cloud for cost effective backup and rapid disaster recovery.

Use the following links to get started using the AWS Storage Gateway Service API Reference:

AWS Storage Gateway resource IDs are in uppercase. When you use these resource IDs with the Amazon EC2 API, EC2 expects resource IDs in lowercase. You must change your resource ID to lowercase to use it with the EC2 API. For example, in Storage Gateway the ID for a volume might be vol-AA22BB012345DAF670. When you use this ID with the EC2 API, you must change it to vol-aa22bb012345daf670. Otherwise, the EC2 API might not behave as expected.

IDs for Storage Gateway volumes and Amazon EBS snapshots created from gateway volumes are changing to a longer format. Starting in December 2016, all new volumes and snapshots will be created with a 17-character string. Starting in April 2016, you will be able to use these longer IDs so you can test your systems with the new format. For more information, see Longer EC2 and EBS Resource IDs.

For example, a volume Amazon Resource Name (ARN) with the longer volume ID format looks like the following:

arn:aws:storagegateway:us-west-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABBCCDDEEFFG.

A snapshot ID with the longer ID format looks like the following: snap-78e226633445566ee.

For more information, see Announcement: Heads-up – Longer AWS Storage Gateway volume and snapshot IDs coming in 2016.

", "operations": { "ActivateGateway": "

Activates the gateway you previously deployed on your host. For more information, see Activate the AWS Storage Gateway. In the activation process, you specify information such as the region you want to use for storing snapshots or tapes, the time zone for scheduled snapshots the gateway snapshot schedule window, an activation key, and a name for your gateway. The activation process also associates your gateway with your account; for more information, see UpdateGatewayInformation.

You must turn on the gateway VM before you can activate your gateway.

", "AddCache": "

Configures one or more gateway local disks as cache for a gateway. This operation is only supported in the cached volume, tape and file gateway architectures (see Storage Gateway Concepts).

In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add cache, and one or more disk IDs that you want to configure as cache.

", @@ -14,7 +14,7 @@ "CreateSnapshot": "

Initiates a snapshot of a volume.

AWS Storage Gateway provides the ability to back up point-in-time snapshots of your data to Amazon Simple Storage (S3) for durable off-site recovery, as well as import the data to an Amazon Elastic Block Store (EBS) volume in Amazon Elastic Compute Cloud (EC2). You can take snapshots of your gateway volume on a scheduled or ad-hoc basis. This API enables you to take ad-hoc snapshot. For more information, see Editing a Snapshot Schedule.

In the CreateSnapshot request you identify the volume by providing its Amazon Resource Name (ARN). You must also provide description for the snapshot. When AWS Storage Gateway takes the snapshot of specified volume, the snapshot and description appears in the AWS Storage Gateway Console. In response, AWS Storage Gateway returns you a snapshot ID. You can use this snapshot ID to check the snapshot progress or later use it when you want to create a volume from a snapshot. This operation is only supported in stored and cached volume gateway architecture.

To list or delete a snapshot, you must use the Amazon EC2 API. For more information, see DescribeSnapshots or DeleteSnapshot in the EC2 API reference.

Volume and snapshot IDs are changing to a longer length ID format. For more information, see the important note on the Welcome page.

", "CreateSnapshotFromVolumeRecoveryPoint": "

Initiates a snapshot of a gateway from a volume recovery point. This operation is only supported in the cached volume gateway architecture.

A volume recovery point is a point in time at which all data of the volume is consistent and from which you can create a snapshot. To get a list of volume recovery point for cached volume gateway, use ListVolumeRecoveryPoints.

In the CreateSnapshotFromVolumeRecoveryPoint request, you identify the volume by providing its Amazon Resource Name (ARN). You must also provide a description for the snapshot. When the gateway takes a snapshot of the specified volume, the snapshot and its description appear in the AWS Storage Gateway console. In response, the gateway returns you a snapshot ID. You can use this snapshot ID to check the snapshot progress or later use it when you want to create a volume from a snapshot.

To list or delete a snapshot, you must use the Amazon EC2 API. For more information, in Amazon Elastic Compute Cloud API Reference.

", "CreateStorediSCSIVolume": "

Creates a volume on a specified gateway. This operation is only supported in the stored volume gateway architecture.

The size of the volume to create is inferred from the disk size. You can choose to preserve existing data on the disk, create volume from an existing snapshot, or create an empty volume. If you choose to create an empty gateway volume, then any existing data on the disk is erased.

In the request you must specify the gateway and the disk information on which you are creating the volume. In response, the gateway creates the volume and returns volume information such as the volume Amazon Resource Name (ARN), its size, and the iSCSI target ARN that initiators can use to connect to the volume target.

", - "CreateTapeWithBarcode": "

Creates a virtual tape by using your own barcode. You write data to the virtual tape and then archive the tape. This operation is only supported in the tape gateway architecture.

Cache storage must be allocated to the gateway before you can create a virtual tape. Use the AddCache operation to add cache storage to a gateway.

", + "CreateTapeWithBarcode": "

Creates a virtual tape by using your own barcode. You write data to the virtual tape and then archive the tape. A barcode is unique and can not be reused if it has already been used on a tape . This applies to barcodes used on deleted tapes. This operation is only supported in the tape gateway. architecture.

Cache storage must be allocated to the gateway before you can create a virtual tape. Use the AddCache operation to add cache storage to a gateway.

", "CreateTapes": "

Creates one or more virtual tapes. You write data to the virtual tapes and then archive the tapes. This operation is only supported in the tape gateway architecture.

Cache storage must be allocated to the gateway before you can create virtual tapes. Use the AddCache operation to add cache storage to a gateway.

", "DeleteBandwidthRateLimit": "

Deletes the bandwidth rate limits of a gateway. You can delete either the upload and download bandwidth rate limit, or you can delete both. If you delete only one of the limits, the other limit remains unchanged. To specify which gateway to work with, use the Amazon Resource Name (ARN) of the gateway in your request.

", "DeleteChapCredentials": "

Deletes Challenge-Handshake Authentication Protocol (CHAP) credentials for a specified iSCSI target and initiator pair.

", @@ -48,7 +48,7 @@ "ListVolumeInitiators": "

Lists iSCSI initiators that are connected to a volume. You can use this operation to determine whether a volume is being used or not. This operation is only supported in the cached volume and stored volume gateway architecture.

", "ListVolumeRecoveryPoints": "

Lists the recovery points for a specified gateway. This operation is only supported in the cached volume gateway architecture.

Each cache volume has one recovery point. A volume recovery point is a point in time at which all data of the volume is consistent and from which you can create a snapshot or clone a new cached volume from a source volume. To create a snapshot from a volume recovery point use the CreateSnapshotFromVolumeRecoveryPoint operation.

", "ListVolumes": "

Lists the iSCSI stored volumes of a gateway. Results are sorted by volume ARN. The response includes only the volume ARNs. If you want additional volume information, use the DescribeStorediSCSIVolumes or the DescribeCachediSCSIVolumes API.

The operation supports pagination. By default, the operation returns a maximum of up to 100 volumes. You can optionally specify the Limit field in the body to limit the number of volumes in the response. If the number of volumes returned in the response is truncated, the response includes a Marker field. You can use this Marker value in your subsequent request to retrieve the next set of volumes. This operation is only supported in the cached volume and stored volume gateway architectures.

", - "RefreshCache": "

Refreshes the cache for the specified file share. This operation finds objects in the Amazon S3 bucket that were added or removed since the gateway last listed the bucket's contents and cached the results.

", + "RefreshCache": "

Refreshes the cache for the specified file share. This operation finds objects in the Amazon S3 bucket that were added, removed or replaced since the gateway last listed the bucket's contents and cached the results.

", "RemoveTagsFromResource": "

Removes one or more tags from the specified resource. This operation is only supported in the cached volume, stored volume and tape gateway architectures.

", "ResetCache": "

Resets all cache disks that have encountered a error and makes the disks available for reconfiguration as cache storage. If your cache disk encounters a error, the gateway prevents read and write operations on virtual tapes in the gateway. For example, an error can occur when a disk is corrupted or removed from the gateway. When a cache is reset, the gateway loses its cache storage. At this point you can reconfigure the disks as cache disks. This operation is only supported in the cached volume,tape and file gateway architectures.

If the cache disk you are resetting contains data that has not been uploaded to Amazon S3 yet, that data can be lost. After you reset cache disks, there will be no configured cache disks left in the gateway, so you must configure at least one new cache disk for your gateway to function properly.

", "RetrieveTapeArchive": "

Retrieves an archived virtual tape from the virtual tape shelf (VTS) to a tape gateway. Virtual tapes archived in the VTS are not associated with any gateway. However after a tape is retrieved, it is associated with a gateway, even though it is also listed in the VTS, that is, archive. This operation is only supported in the tape gateway architecture.

Once a tape is successfully retrieved to a gateway, it cannot be retrieved again to another gateway. You must archive the tape again before you can retrieve it to another gateway. This operation is only supported in the tape gateway architecture.

", @@ -149,7 +149,7 @@ "CreateNFSFileShareInput$ReadOnly": "

Sets the write status of a file share: \"true\" if the write status is read-only, and otherwise \"false\".

", "NFSFileShareInfo$ReadOnly": null, "UpdateNFSFileShareInput$KMSEncrypted": "

True to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

", - "UpdateNFSFileShareInput$ReadOnly": "

Sets the write status of a file share: \"true\" if the write status is read-only, and otherwise \"false\".

" + "UpdateNFSFileShareInput$ReadOnly": "

Sets the write status of a file share: \"true\" if the write status is read-only, otherwise \"false\".

" } }, "CachediSCSIVolume": { @@ -1334,7 +1334,7 @@ "TapeBarcode": { "base": null, "refs": { - "CreateTapeWithBarcodeInput$TapeBarcode": "

The barcode that you want to assign to the tape.

", + "CreateTapeWithBarcodeInput$TapeBarcode": "

The barcode that you want to assign to the tape.

Barcodes cannot be reused. This includes barcodes used for tapes that have been deleted.

", "Tape$TapeBarcode": "

The barcode that identifies a specific virtual tape.

", "TapeArchive$TapeBarcode": "

The barcode that identifies the archived virtual tape.

", "TapeInfo$TapeBarcode": "

The barcode that identifies a specific virtual tape.

" @@ -1403,8 +1403,8 @@ "TapeUsage": { "base": null, "refs": { - "Tape$TapeUsedInBytes": "

The size, in bytes, of data written to the virtual tape.

This value is not available for tapes created prior to May,13 2015.

", - "TapeArchive$TapeUsedInBytes": "

The size, in bytes, of data written to the virtual tape.

This value is not available for tapes created prior to May,13 2015.

" + "Tape$TapeUsedInBytes": "

The size, in bytes, of data written to the virtual tape.

This value is not available for tapes created prior to May 13, 2015.

", + "TapeArchive$TapeUsedInBytes": "

The size, in bytes, of data written to the virtual tape.

This value is not available for tapes created prior to May 13, 2015.

" } }, "Tapes": { @@ -1432,7 +1432,7 @@ "base": null, "refs": { "CreateCachediSCSIVolumeInput$TargetName": null, - "CreateStorediSCSIVolumeInput$TargetName": "

The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. For example, specifying TargetName as myvolume results in the target ARN of arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. The target name must be unique across all volumes of a gateway.

" + "CreateStorediSCSIVolumeInput$TargetName": "

The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. For example, specifying TargetName as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. The target name must be unique across all volumes of a gateway.

" } }, "Time": { @@ -1592,7 +1592,7 @@ "UpdateSnapshotScheduleInput$VolumeARN": "

The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes.

", "UpdateSnapshotScheduleOutput$VolumeARN": "

", "VolumeARNs$member": null, - "VolumeInfo$VolumeARN": "

The Amazon Resource Name (ARN) for the storage volume. For example, the following is a valid ARN:

arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB

Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-).

", + "VolumeInfo$VolumeARN": "

The Amazon Resource Name (ARN) for the storage volume. For example, the following is a valid ARN:

arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB

Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-).

", "VolumeRecoveryPointInfo$VolumeARN": null } }, @@ -1661,6 +1661,7 @@ "base": null, "refs": { "CreateStorediSCSIVolumeInput$PreserveExistingData": "

Specify this field as true if you want to preserve the data on the local disk. Otherwise, specifying this field as false creates an empty volume.

Valid Values: true, false

", + "DeleteFileShareInput$ForceDelete": "

If set to true, deletes a file share immediately and aborts all data uploads to AWS. Otherwise the file share is not deleted until all data is uploaded to AWS. This process aborts the data upload process and the file share enters the FORCE_DELETING status.

", "DeviceiSCSIAttributes$ChapEnabled": "

Indicates whether mutual CHAP is enabled for the iSCSI target.

", "NFSFileShareInfo$KMSEncrypted": "

True to use Amazon S3 server side encryption with your own KMS key, or false to use a key managed by Amazon S3. Optional.

", "StorediSCSIVolume$PreservedExistingData": "

Indicates if when the stored volume was created, existing data on the underlying local disk was preserved.

Valid Values: true, false

", @@ -1692,7 +1693,7 @@ "long": { "base": null, "refs": { - "CachediSCSIVolume$VolumeSizeInBytes": "

The size of the volume in bytes.

", + "CachediSCSIVolume$VolumeSizeInBytes": "

The size, in bytes, of the volume capacity.

", "CreateCachediSCSIVolumeInput$VolumeSizeInBytes": null, "CreateStorediSCSIVolumeOutput$VolumeSizeInBytes": "

The size of the volume in bytes.

", "DescribeCacheOutput$CacheAllocatedInBytes": null, diff --git a/vendor/github.com/aws/aws-sdk-go/models/endpoints/endpoints.json b/vendor/github.com/aws/aws-sdk-go/models/endpoints/endpoints.json index 204f5b1dd..68137a1c1 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/endpoints/endpoints.json +++ b/vendor/github.com/aws/aws-sdk-go/models/endpoints/endpoints.json @@ -163,6 +163,7 @@ "batch" : { "endpoints" : { "ap-northeast-1" : { }, + "ap-southeast-1" : { }, "ap-southeast-2" : { }, "eu-central-1" : { }, "eu-west-1" : { }, @@ -240,6 +241,14 @@ "us-west-2" : { } } }, + "cloudhsmv2" : { + "endpoints" : { + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, "cloudsearch" : { "endpoints" : { "ap-northeast-1" : { }, @@ -326,6 +335,8 @@ "codepipeline" : { "endpoints" : { "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ca-central-1" : { }, @@ -341,9 +352,14 @@ }, "codestar" : { "endpoints" : { + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, "eu-west-1" : { }, + "eu-west-2" : { }, "us-east-1" : { }, "us-east-2" : { }, + "us-west-1" : { }, "us-west-2" : { } } }, @@ -352,6 +368,7 @@ "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, + "ap-southeast-1" : { }, "ap-southeast-2" : { }, "eu-central-1" : { }, "eu-west-1" : { }, @@ -366,6 +383,7 @@ "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, + "ap-southeast-1" : { }, "ap-southeast-2" : { }, "eu-central-1" : { }, "eu-west-1" : { }, @@ -380,6 +398,7 @@ "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, + "ap-southeast-1" : { }, "ap-southeast-2" : { }, "eu-central-1" : { }, "eu-west-1" : { }, @@ -495,6 +514,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, "us-west-2" : { } @@ -618,6 +638,7 @@ "elasticfilesystem" : { "endpoints" : { "ap-southeast-2" : { }, + "eu-central-1" : { }, "eu-west-1" : { }, "us-east-1" : { }, "us-east-2" : { }, @@ -626,7 +647,7 @@ }, "elasticloadbalancing" : { "defaults" : { - "protocols" : [ "http", "https" ] + "protocols" : [ "https" ] }, "endpoints" : { "ap-northeast-1" : { }, @@ -738,8 +759,11 @@ }, "firehose" : { "endpoints" : { + "ap-northeast-1" : { }, + "eu-central-1" : { }, "eu-west-1" : { }, "us-east-1" : { }, + "us-east-2" : { }, "us-west-2" : { } } }, @@ -749,10 +773,15 @@ "ap-northeast-2" : { }, "ap-south-1" : { }, "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, "eu-central-1" : { }, "eu-west-1" : { }, + "eu-west-2" : { }, "sa-east-1" : { }, "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, "us-west-2" : { } } }, @@ -764,6 +793,7 @@ "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-south-1" : { }, + "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ca-central-1" : { }, "eu-central-1" : { }, @@ -775,11 +805,19 @@ "us-west-2" : { } } }, + "glue" : { + "endpoints" : { + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, "greengrass" : { "defaults" : { "protocols" : [ "https" ] }, "endpoints" : { + "ap-northeast-1" : { }, "ap-southeast-2" : { }, "eu-central-1" : { }, "us-east-1" : { }, @@ -976,6 +1014,11 @@ "us-west-2" : { } } }, + "mgh" : { + "endpoints" : { + "us-west-2" : { } + } + }, "mobileanalytics" : { "endpoints" : { "us-east-1" : { } @@ -1223,6 +1266,7 @@ "servicecatalog" : { "endpoints" : { "ap-northeast-1" : { }, + "ap-northeast-2" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ca-central-1" : { }, @@ -1250,7 +1294,6 @@ "ap-northeast-2" : { }, "ap-south-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, "eu-central-1" : { }, "eu-west-1" : { }, "us-east-1" : { }, @@ -1260,11 +1303,13 @@ }, "snowball" : { "endpoints" : { + "ap-northeast-1" : { }, "ap-south-1" : { }, "ap-southeast-2" : { }, "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, "us-west-1" : { }, @@ -1340,6 +1385,7 @@ "ap-southeast-2" : { }, "eu-central-1" : { }, "eu-west-1" : { }, + "eu-west-2" : { }, "us-east-1" : { }, "us-east-2" : { }, "us-west-2" : { } @@ -1507,6 +1553,7 @@ "ap-northeast-1" : { }, "eu-west-1" : { }, "us-east-1" : { }, + "us-west-1" : { }, "us-west-2" : { } } }, @@ -1527,6 +1574,7 @@ "ap-southeast-2" : { }, "eu-central-1" : { }, "eu-west-1" : { }, + "eu-west-2" : { }, "us-east-1" : { }, "us-west-2" : { } } @@ -1566,6 +1614,18 @@ } }, "services" : { + "application-autoscaling" : { + "defaults" : { + "credentialScope" : { + "service" : "application-autoscaling" + }, + "hostname" : "autoscaling.{region}.amazonaws.com", + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { } + } + }, "autoscaling" : { "defaults" : { "protocols" : [ "http", "https" ] @@ -1637,7 +1697,7 @@ }, "elasticloadbalancing" : { "defaults" : { - "protocols" : [ "http", "https" ] + "protocols" : [ "https" ] }, "endpoints" : { "cn-north-1" : { } @@ -1676,6 +1736,16 @@ "isRegionalized" : false, "partitionEndpoint" : "aws-cn-global" }, + "iot" : { + "defaults" : { + "credentialScope" : { + "service" : "execute-api" + } + }, + "endpoints" : { + "cn-north-1" : { } + } + }, "kinesis" : { "endpoints" : { "cn-north-1" : { } @@ -1713,6 +1783,11 @@ "cn-north-1" : { } } }, + "snowball" : { + "endpoints" : { + "cn-north-1" : { } + } + }, "sns" : { "defaults" : { "protocols" : [ "http", "https" ] @@ -1783,6 +1858,16 @@ } }, "services" : { + "acm" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "apigateway" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, "autoscaling" : { "endpoints" : { "us-gov-west-1" : { @@ -1983,4 +2068,4 @@ } } ], "version" : 3 -} +} \ No newline at end of file diff --git a/vendor/github.com/aws/aws-sdk-go/models/protocol_tests/generate.go b/vendor/github.com/aws/aws-sdk-go/models/protocol_tests/generate.go index 49914661e..4f9e103fa 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/protocol_tests/generate.go +++ b/vendor/github.com/aws/aws-sdk-go/models/protocol_tests/generate.go @@ -98,7 +98,6 @@ var extraImports = []string{ "github.com/aws/aws-sdk-go/private/protocol", "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil", "github.com/aws/aws-sdk-go/private/util", - "github.com/stretchr/testify/assert", } func addImports(code string) string { @@ -140,18 +139,25 @@ func Test{{ .OpName }}(t *testing.T) { // build request {{ .TestCase.TestSuite.API.ProtocolPackage }}.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } {{ if ne .TestCase.InputTest.Body "" }}// assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } {{ .BodyAssertions }}{{ end }} {{ if ne .TestCase.InputTest.URI "" }}// assert URL awstesting.AssertURL(t, "https://test{{ .TestCase.InputTest.URI }}", r.URL.String()){{ end }} // assert headers -{{ range $k, $v := .TestCase.InputTest.Headers }}assert.Equal(t, "{{ $v }}", r.Header.Get("{{ $k }}")) -{{ end }} + {{ range $k, $v := .TestCase.InputTest.Headers -}} + if e, a := "{{ $v }}", r.Header.Get("{{ $k }}"); e != a { + t.Errorf("expect %v to be %v", e, a) + } + {{ end }} } `)) @@ -184,25 +190,40 @@ func (t tplInputTestCaseData) BodyAssertions() string { fmt.Fprintf(code, "awstesting.AssertXML(t, `%s`, util.Trim(string(body)), %s{})", expectedBody, t.TestCase.Given.InputRef.ShapeName) } else { - fmt.Fprintf(code, "assert.Equal(t, `%s`, util.Trim(string(body)))", - expectedBody) + code.WriteString(fmtAssertEqual(fmt.Sprintf("%q", expectedBody), "util.Trim(string(body))")) } case "json", "jsonrpc", "rest-json": if strings.HasPrefix(expectedBody, "{") { fmt.Fprintf(code, "awstesting.AssertJSON(t, `%s`, util.Trim(string(body)))", expectedBody) } else { - fmt.Fprintf(code, "assert.Equal(t, `%s`, util.Trim(string(body)))", - expectedBody) + code.WriteString(fmtAssertEqual(fmt.Sprintf("%q", expectedBody), "util.Trim(string(body))")) } default: - fmt.Fprintf(code, "assert.Equal(t, `%s`, util.Trim(string(body)))", - expectedBody) + code.WriteString(fmtAssertEqual(expectedBody, "util.Trim(string(body))")) } return code.String() } +func fmtAssertEqual(e, a string) string { + const format = `if e, a := %s, %s; e != a { + t.Errorf("expect %%v, got %%v", e, a) + } + ` + + return fmt.Sprintf(format, e, a) +} + +func fmtAssertNil(v string) string { + const format = `if e := %s; e != nil { + t.Errorf("expect nil, got %%v", e) + } + ` + + return fmt.Sprintf(format, v) +} + var tplOutputTestCase = template.Must(template.New("outputcase").Parse(` func Test{{ .OpName }}(t *testing.T) { svc := New{{ .TestCase.TestSuite.API.StructName }}(unit.Session, &aws.Config{Endpoint: aws.String("https://test")}) @@ -218,10 +239,14 @@ func Test{{ .OpName }}(t *testing.T) { // unmarshal response {{ .TestCase.TestSuite.API.ProtocolPackage }}.UnmarshalMeta(req) {{ .TestCase.TestSuite.API.ProtocolPackage }}.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used + if out == nil { + t.Errorf("expect not to be nil") + } {{ .Assertions }} } `)) @@ -454,16 +479,28 @@ func GenerateAssertions(out interface{}, shape *api.Shape, prefix string) string default: switch shape.Type { case "timestamp": - return fmt.Sprintf("assert.Equal(t, time.Unix(%#v, 0).UTC().String(), %s.String())\n", out, prefix) + return fmtAssertEqual( + fmt.Sprintf("time.Unix(%#v, 0).UTC().String()", out), + fmt.Sprintf("%s.String()", prefix), + ) case "blob": - return fmt.Sprintf("assert.Equal(t, %#v, string(%s))\n", out, prefix) + return fmtAssertEqual( + fmt.Sprintf("%#v", out), + fmt.Sprintf("string(%s)", prefix), + ) case "integer", "long": - return fmt.Sprintf("assert.Equal(t, int64(%#v), *%s)\n", out, prefix) + return fmtAssertEqual( + fmt.Sprintf("int64(%#v)", out), + fmt.Sprintf("*%s", prefix), + ) default: if !reflect.ValueOf(out).IsValid() { - return fmt.Sprintf("assert.Nil(t, %s)\n", prefix) + return fmtAssertNil(prefix) } - return fmt.Sprintf("assert.Equal(t, %#v, *%s)\n", out, prefix) + return fmtAssertEqual( + fmt.Sprintf("%#v", out), + fmt.Sprintf("*%s", prefix), + ) } } } diff --git a/vendor/github.com/aws/aws-sdk-go/models/protocol_tests/input/query.json b/vendor/github.com/aws/aws-sdk-go/models/protocol_tests/input/query.json index a79766d95..ce9519abf 100644 --- a/vendor/github.com/aws/aws-sdk-go/models/protocol_tests/input/query.json +++ b/vendor/github.com/aws/aws-sdk-go/models/protocol_tests/input/query.json @@ -553,6 +553,50 @@ } ] }, + { + "description": "Base64 encoded Blobs nested", + "metadata": { + "protocol": "query", + "apiVersion": "2014-01-01" + }, + "shapes": { + "InputShape": { + "type": "structure", + "members": { + "BlobArgs": { + "shape": "BlobsType" + } + } + }, + "BlobsType": { + "type": "list", + "member": { + "shape": "BlobType" + }, + "flattened": true + }, + "BlobType": { + "type": "blob" + } + }, + "cases": [ + { + "given": { + "input": { + "shape": "InputShape" + }, + "name": "OperationName" + }, + "params": { + "BlobArgs": ["foo"] + }, + "serialized": { + "uri": "/", + "body": "Action=OperationName&Version=2014-01-01&BlobArgs.1=Zm9v" + } + } + ] + }, { "description": "Timestamp values", "metadata": { diff --git a/vendor/github.com/aws/aws-sdk-go/private/model/api/api.go b/vendor/github.com/aws/aws-sdk-go/private/model/api/api.go index 46e54f859..dad4273bc 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/model/api/api.go +++ b/vendor/github.com/aws/aws-sdk-go/private/model/api/api.go @@ -291,32 +291,53 @@ func (a *API) APIGoCode() string { } var noCrossLinkServices = map[string]struct{}{ - "apigateway": struct{}{}, - "budgets": struct{}{}, - "cloudsearch": struct{}{}, - "cloudsearchdomain": struct{}{}, - "discovery": struct{}{}, - "elastictranscoder": struct{}{}, - "es": struct{}{}, - "glacier": struct{}{}, - "importexport": struct{}{}, - "iot": struct{}{}, - "iot-data": struct{}{}, - "lambda": struct{}{}, - "machinelearning": struct{}{}, - "rekognition": struct{}{}, - "sdb": struct{}{}, - "swf": struct{}{}, + "apigateway": {}, + "budgets": {}, + "cloudsearch": {}, + "cloudsearchdomain": {}, + "elastictranscoder": {}, + "es": {}, + "glacier": {}, + "importexport": {}, + "iot": {}, + "iot-data": {}, + "machinelearning": {}, + "rekognition": {}, + "sdb": {}, + "swf": {}, } -func GetCrosslinkURL(baseURL, name, uid string, params ...string) string { - _, ok := noCrossLinkServices[strings.ToLower(name)] - if uid != "" && baseURL != "" && !ok { - return strings.Join(append([]string{baseURL, "goto", "WebAPI", uid}, params...), "/") +// GetCrosslinkURL returns the crosslinking URL for the shape based on the name and +// uid provided. Empty string is returned if no crosslink link could be determined. +func GetCrosslinkURL(baseURL, uid string, params ...string) string { + if uid == "" || baseURL == "" { + return "" } - return "" + + if _, ok := noCrossLinkServices[strings.ToLower(serviceIDFromUID(uid))]; ok { + return "" + } + + return strings.Join(append([]string{baseURL, "goto", "WebAPI", uid}, params...), "/") } +func serviceIDFromUID(uid string) string { + found := 0 + i := len(uid) - 1 + for ; i >= 0; i-- { + if uid[i] == '-' { + found++ + } + // Terminate after the date component is found, e.g. es-2017-11-11 + if found == 3 { + break + } + } + + return uid[0:i] +} + +// APIName returns the API's service name. func (a *API) APIName() string { return a.name } @@ -331,7 +352,7 @@ var tplServiceDoc = template.Must(template.New("service docs").Funcs(template.Fu // {{ .Documentation }} {{ end -}} -{{ $crosslinkURL := GetCrosslinkURL $.BaseCrosslinkURL $.APIName $.Metadata.UID -}} +{{ $crosslinkURL := GetCrosslinkURL $.BaseCrosslinkURL $.Metadata.UID -}} {{ if $crosslinkURL -}} // // See {{ $crosslinkURL }} for more information on this service. @@ -342,75 +363,19 @@ var tplServiceDoc = template.Must(template.New("service docs").Funcs(template.Fu // // Using the Client // -// To use the client for {{ .Metadata.ServiceFullName }} you will first need -// to create a new instance of it. +// To {{ .Metadata.ServiceFullName }} with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := {{ .PackageName }}.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the {{ .Metadata.ServiceFullName }} client {{ .StructName }} for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/{{ .PackageName }}/#New -// -{{ $opts := .OperationNames -}} -{{ $optName := index $opts 0 -}} -{{ $opt := index .Operations $optName -}} -{{ $optInputName := $opt.InputRef.GoTypeWithPkgName -}} -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.{{ $opt.ExportedName }}(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("{{ $optName }} result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.{{ $opt.ExportedName }}WithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ `)) // A tplService defines the template for the service generated code. @@ -607,7 +572,7 @@ func (a *API) ExampleGoCode() string { "github.com/aws/aws-sdk-go/aws/session", path.Join(a.SvcClientImportPath, a.PackageName()), ) - for k, _ := range imports { + for k := range imports { code += fmt.Sprintf("%q\n", k) } code += ")\n\n" @@ -625,7 +590,7 @@ var tplInterface = template.Must(template.New("interface").Parse(` // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // {{.Metadata.ServiceFullName}}. {{ $opts := .OperationList }}{{ $opt := index $opts 0 }} diff --git a/vendor/github.com/aws/aws-sdk-go/private/model/api/customization_passes.go b/vendor/github.com/aws/aws-sdk-go/private/model/api/customization_passes.go index 9a441a316..a17e22b6a 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/model/api/customization_passes.go +++ b/vendor/github.com/aws/aws-sdk-go/private/model/api/customization_passes.go @@ -16,11 +16,11 @@ type service struct { } var mergeServices = map[string]service{ - "dynamodbstreams": service{ + "dynamodbstreams": { dstName: "dynamodb", srcName: "streams.dynamodb", }, - "wafregional": service{ + "wafregional": { dstName: "waf", srcName: "waf-regional", serviceVersion: "2015-08-24", @@ -40,7 +40,7 @@ func (a *API) customizationPasses() { "iotdataplane": disableEndpointResolving, } - for k, _ := range mergeServices { + for k := range mergeServices { svcCustomizations[k] = mergeServicesCustomizations } @@ -53,12 +53,20 @@ func (a *API) customizationPasses() { func s3Customizations(a *API) { var strExpires *Shape + var keepContentMD5Ref = map[string]struct{}{ + "PutObjectInput": struct{}{}, + "UploadPartInput": struct{}{}, + } + for name, s := range a.Shapes { - // Remove ContentMD5 members - if _, ok := s.MemberRefs["ContentMD5"]; ok { - delete(s.MemberRefs, "ContentMD5") + // Remove ContentMD5 members unless specified otherwise. + if _, keep := keepContentMD5Ref[name]; !keep { + if _, have := s.MemberRefs["ContentMD5"]; have { + delete(s.MemberRefs, "ContentMD5") + } } + // Generate getter methods for API operation fields used by customizations. for _, refName := range []string{"Bucket", "SSECustomerKey", "CopySourceSSECustomerKey"} { if ref, ok := s.MemberRefs[refName]; ok { ref.GenerateGetter = true diff --git a/vendor/github.com/aws/aws-sdk-go/private/model/api/example_test.go b/vendor/github.com/aws/aws-sdk-go/private/model/api/example_test.go index 03bf04a0c..33caf7aa4 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/model/api/example_test.go +++ b/vendor/github.com/aws/aws-sdk-go/private/model/api/example_test.go @@ -61,7 +61,7 @@ func buildAPI() *API { } operations := map[string]*Operation{ - "Foo": &Operation{ + "Foo": { API: a, Name: "Foo", ExportedName: "Foo", diff --git a/vendor/github.com/aws/aws-sdk-go/private/model/api/operation.go b/vendor/github.com/aws/aws-sdk-go/private/model/api/operation.go index 749b6e781..e5f268d2e 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/model/api/operation.go +++ b/vendor/github.com/aws/aws-sdk-go/private/model/api/operation.go @@ -72,19 +72,18 @@ const op{{ .ExportedName }} = "{{ .Name }}" // {{ .ExportedName }}Request generates a "aws/request.Request" representing the // client's request for the {{ .ExportedName }} operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See {{ .ExportedName }} for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the {{ .ExportedName }} method directly -// instead. +// See {{ .ExportedName }} for more information on using the {{ .ExportedName }} +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the {{ .ExportedName }}Request method. // req, resp := client.{{ .ExportedName }}Request(params) @@ -93,7 +92,7 @@ const op{{ .ExportedName }} = "{{ .Name }}" // if err == nil { // resp is now filled // fmt.Println(resp) // } -{{ $crosslinkURL := GetCrosslinkURL $.API.BaseCrosslinkURL $.API.APIName $.API.Metadata.UID $.ExportedName -}} +{{ $crosslinkURL := GetCrosslinkURL $.API.BaseCrosslinkURL $.API.Metadata.UID $.ExportedName -}} {{ if ne $crosslinkURL "" -}} // // Please also see {{ $crosslinkURL }} @@ -151,7 +150,7 @@ func (c *{{ .API.StructName }}) {{ .ExportedName }}Request(` + // {{ end -}} {{ end -}} -{{ $crosslinkURL := GetCrosslinkURL $.API.BaseCrosslinkURL $.API.APIName $.API.Metadata.UID $.ExportedName -}} +{{ $crosslinkURL := GetCrosslinkURL $.API.BaseCrosslinkURL $.API.Metadata.UID $.ExportedName -}} {{ if ne $crosslinkURL "" -}} // Please also see {{ $crosslinkURL }} {{ end -}} diff --git a/vendor/github.com/aws/aws-sdk-go/private/model/api/shape.go b/vendor/github.com/aws/aws-sdk-go/private/model/api/shape.go index dd0fbee55..539d79108 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/model/api/shape.go +++ b/vendor/github.com/aws/aws-sdk-go/private/model/api/shape.go @@ -517,12 +517,12 @@ var structShapeTmpl = template.Must(template.New("StructShape").Funcs(template.F }).Parse(` {{ .Docstring }} {{ if ne $.OrigShapeName "" -}} -{{ $crosslinkURL := GetCrosslinkURL $.API.BaseCrosslinkURL $.API.APIName $.API.Metadata.UID $.OrigShapeName -}} +{{ $crosslinkURL := GetCrosslinkURL $.API.BaseCrosslinkURL $.API.Metadata.UID $.OrigShapeName -}} {{ if ne $crosslinkURL "" -}} // Please also see {{ $crosslinkURL }} {{ end -}} {{ else -}} -{{ $crosslinkURL := GetCrosslinkURL $.API.BaseCrosslinkURL $.API.APIName $.API.Metadata.UID $.ShapeName -}} +{{ $crosslinkURL := GetCrosslinkURL $.API.BaseCrosslinkURL $.API.Metadata.UID $.ShapeName -}} {{ if ne $crosslinkURL "" -}} // Please also see {{ $crosslinkURL }} {{ end -}} diff --git a/vendor/github.com/aws/aws-sdk-go/private/model/api/waiters.go b/vendor/github.com/aws/aws-sdk-go/private/model/api/waiters.go index 796d40ecd..625a9bbfc 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/model/api/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/private/model/api/waiters.go @@ -113,7 +113,7 @@ var waiterTmpls = template.Must(template.New("waiterTmpls").Funcs( {{ define "waiter"}} // WaitUntil{{ .Name }} uses the {{ .Operation.API.NiceName }} API operation // {{ .OperationName }} to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *{{ .Operation.API.StructName }}) WaitUntil{{ .Name }}(input {{ .Operation.InputRef.GoType }}) error { return c.WaitUntil{{ .Name }}WithContext(aws.BackgroundContext(), input) diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/build_test.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/build_test.go index b22899e53..93fe83fd5 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/build_test.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/build_test.go @@ -24,7 +24,6 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/ec2query" "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil" "github.com/aws/aws-sdk-go/private/util" - "github.com/stretchr/testify/assert" ) var _ bytes.Buffer // always import bytes @@ -108,19 +107,18 @@ const opInputService1TestCaseOperation1 = "OperationName" // InputService1TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService1TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService1TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService1TestCaseOperation1 method directly -// instead. +// See InputService1TestCaseOperation1 for more information on using the InputService1TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService1TestCaseOperation1Request method. // req, resp := client.InputService1TestCaseOperation1Request(params) @@ -262,19 +260,18 @@ const opInputService2TestCaseOperation1 = "OperationName" // InputService2TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService2TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService2TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService2TestCaseOperation1 method directly -// instead. +// See InputService2TestCaseOperation1 for more information on using the InputService2TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService2TestCaseOperation1Request method. // req, resp := client.InputService2TestCaseOperation1Request(params) @@ -424,19 +421,18 @@ const opInputService3TestCaseOperation1 = "OperationName" // InputService3TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService3TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService3TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService3TestCaseOperation1 method directly -// instead. +// See InputService3TestCaseOperation1 for more information on using the InputService3TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService3TestCaseOperation1Request method. // req, resp := client.InputService3TestCaseOperation1Request(params) @@ -582,19 +578,18 @@ const opInputService4TestCaseOperation1 = "OperationName" // InputService4TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService4TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService4TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService4TestCaseOperation1 method directly -// instead. +// See InputService4TestCaseOperation1 for more information on using the InputService4TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService4TestCaseOperation1Request method. // req, resp := client.InputService4TestCaseOperation1Request(params) @@ -728,19 +723,18 @@ const opInputService5TestCaseOperation1 = "OperationName" // InputService5TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService5TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService5TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService5TestCaseOperation1 method directly -// instead. +// See InputService5TestCaseOperation1 for more information on using the InputService5TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService5TestCaseOperation1Request method. // req, resp := client.InputService5TestCaseOperation1Request(params) @@ -874,19 +868,18 @@ const opInputService6TestCaseOperation1 = "OperationName" // InputService6TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService6TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService6TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService6TestCaseOperation1 method directly -// instead. +// See InputService6TestCaseOperation1 for more information on using the InputService6TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService6TestCaseOperation1Request method. // req, resp := client.InputService6TestCaseOperation1Request(params) @@ -1020,19 +1013,18 @@ const opInputService7TestCaseOperation1 = "OperationName" // InputService7TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService7TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService7TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService7TestCaseOperation1 method directly -// instead. +// See InputService7TestCaseOperation1 for more information on using the InputService7TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService7TestCaseOperation1Request method. // req, resp := client.InputService7TestCaseOperation1Request(params) @@ -1167,19 +1159,18 @@ const opInputService8TestCaseOperation1 = "OperationName" // InputService8TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService8TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService8TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService8TestCaseOperation1 method directly -// instead. +// See InputService8TestCaseOperation1 for more information on using the InputService8TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService8TestCaseOperation1Request method. // req, resp := client.InputService8TestCaseOperation1Request(params) @@ -1313,19 +1304,18 @@ const opInputService9TestCaseOperation1 = "OperationName" // InputService9TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService9TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService9TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService9TestCaseOperation1 method directly -// instead. +// See InputService9TestCaseOperation1 for more information on using the InputService9TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService9TestCaseOperation1Request method. // req, resp := client.InputService9TestCaseOperation1Request(params) @@ -1384,19 +1374,18 @@ const opInputService9TestCaseOperation2 = "OperationName" // InputService9TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the InputService9TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService9TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService9TestCaseOperation2 method directly -// instead. +// See InputService9TestCaseOperation2 for more information on using the InputService9TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService9TestCaseOperation2Request method. // req, resp := client.InputService9TestCaseOperation2Request(params) @@ -1486,10 +1475,14 @@ func TestInputService1ProtocolTestScalarMembersCase1(t *testing.T) { // build request ec2query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&Bar=val2&Foo=val1&Version=2014-01-01`, util.Trim(string(body))) @@ -1512,10 +1505,14 @@ func TestInputService2ProtocolTestStructureWithLocationNameAndQueryNameAppliedTo // build request ec2query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&BarLocationName=val2&Foo=val1&Version=2014-01-01&yuckQueryName=val3`, util.Trim(string(body))) @@ -1538,10 +1535,14 @@ func TestInputService3ProtocolTestNestedStructureMembersCase1(t *testing.T) { // build request ec2query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&Struct.Scalar=foo&Version=2014-01-01`, util.Trim(string(body))) @@ -1566,10 +1567,14 @@ func TestInputService4ProtocolTestListTypesCase1(t *testing.T) { // build request ec2query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&ListArg.1=foo&ListArg.2=bar&ListArg.3=baz&Version=2014-01-01`, util.Trim(string(body))) @@ -1594,10 +1599,14 @@ func TestInputService5ProtocolTestListWithLocationNameAppliedToMemberCase1(t *te // build request ec2query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&ListMemberName.1=a&ListMemberName.2=b&ListMemberName.3=c&Version=2014-01-01`, util.Trim(string(body))) @@ -1622,10 +1631,14 @@ func TestInputService6ProtocolTestListWithLocationNameAndQueryNameCase1(t *testi // build request ec2query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&ListQueryName.1=a&ListQueryName.2=b&ListQueryName.3=c&Version=2014-01-01`, util.Trim(string(body))) @@ -1646,10 +1659,14 @@ func TestInputService7ProtocolTestBase64EncodedBlobsCase1(t *testing.T) { // build request ec2query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&BlobArg=Zm9v&Version=2014-01-01`, util.Trim(string(body))) @@ -1670,10 +1687,14 @@ func TestInputService8ProtocolTestTimestampValuesCase1(t *testing.T) { // build request ec2query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&TimeArg=2015-01-25T08%3A00%3A00Z&Version=2014-01-01`, util.Trim(string(body))) @@ -1694,10 +1715,14 @@ func TestInputService9ProtocolTestIdempotencyTokenAutoFillCase1(t *testing.T) { // build request ec2query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&Token=abc123&Version=2014-01-01`, util.Trim(string(body))) @@ -1716,10 +1741,14 @@ func TestInputService9ProtocolTestIdempotencyTokenAutoFillCase2(t *testing.T) { // build request ec2query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&Token=00000000-0000-4000-8000-000000000000&Version=2014-01-01`, util.Trim(string(body))) diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/unmarshal_test.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/unmarshal_test.go index b58fda616..a63b32985 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/unmarshal_test.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/unmarshal_test.go @@ -24,7 +24,6 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/ec2query" "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil" "github.com/aws/aws-sdk-go/private/util" - "github.com/stretchr/testify/assert" ) var _ bytes.Buffer // always import bytes @@ -108,19 +107,18 @@ const opOutputService1TestCaseOperation1 = "OperationName" // OutputService1TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService1TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService1TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService1TestCaseOperation1 method directly -// instead. +// See OutputService1TestCaseOperation1 for more information on using the OutputService1TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService1TestCaseOperation1Request method. // req, resp := client.OutputService1TestCaseOperation1Request(params) @@ -308,19 +306,18 @@ const opOutputService2TestCaseOperation1 = "OperationName" // OutputService2TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService2TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService2TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService2TestCaseOperation1 method directly -// instead. +// See OutputService2TestCaseOperation1 for more information on using the OutputService2TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService2TestCaseOperation1Request method. // req, resp := client.OutputService2TestCaseOperation1Request(params) @@ -453,19 +450,18 @@ const opOutputService3TestCaseOperation1 = "OperationName" // OutputService3TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService3TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService3TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService3TestCaseOperation1 method directly -// instead. +// See OutputService3TestCaseOperation1 for more information on using the OutputService3TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService3TestCaseOperation1Request method. // req, resp := client.OutputService3TestCaseOperation1Request(params) @@ -597,19 +593,18 @@ const opOutputService4TestCaseOperation1 = "OperationName" // OutputService4TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService4TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService4TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService4TestCaseOperation1 method directly -// instead. +// See OutputService4TestCaseOperation1 for more information on using the OutputService4TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService4TestCaseOperation1Request method. // req, resp := client.OutputService4TestCaseOperation1Request(params) @@ -741,19 +736,18 @@ const opOutputService5TestCaseOperation1 = "OperationName" // OutputService5TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService5TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService5TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService5TestCaseOperation1 method directly -// instead. +// See OutputService5TestCaseOperation1 for more information on using the OutputService5TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService5TestCaseOperation1Request method. // req, resp := client.OutputService5TestCaseOperation1Request(params) @@ -885,19 +879,18 @@ const opOutputService6TestCaseOperation1 = "OperationName" // OutputService6TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService6TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService6TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService6TestCaseOperation1 method directly -// instead. +// See OutputService6TestCaseOperation1 for more information on using the OutputService6TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService6TestCaseOperation1Request method. // req, resp := client.OutputService6TestCaseOperation1Request(params) @@ -1041,19 +1034,18 @@ const opOutputService7TestCaseOperation1 = "OperationName" // OutputService7TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService7TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService7TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService7TestCaseOperation1 method directly -// instead. +// See OutputService7TestCaseOperation1 for more information on using the OutputService7TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService7TestCaseOperation1Request method. // req, resp := client.OutputService7TestCaseOperation1Request(params) @@ -1185,19 +1177,18 @@ const opOutputService8TestCaseOperation1 = "OperationName" // OutputService8TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService8TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService8TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService8TestCaseOperation1 method directly -// instead. +// See OutputService8TestCaseOperation1 for more information on using the OutputService8TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService8TestCaseOperation1Request method. // req, resp := client.OutputService8TestCaseOperation1Request(params) @@ -1329,19 +1320,18 @@ const opOutputService9TestCaseOperation1 = "OperationName" // OutputService9TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService9TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService9TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService9TestCaseOperation1 method directly -// instead. +// See OutputService9TestCaseOperation1 for more information on using the OutputService9TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService9TestCaseOperation1Request method. // req, resp := client.OutputService9TestCaseOperation1Request(params) @@ -1426,18 +1416,38 @@ func TestOutputService1ProtocolTestScalarMembersCase1(t *testing.T) { // unmarshal response ec2query.UnmarshalMeta(req) ec2query.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "a", *out.Char) - assert.Equal(t, 1.3, *out.Double) - assert.Equal(t, false, *out.FalseBool) - assert.Equal(t, 1.2, *out.Float) - assert.Equal(t, int64(200), *out.Long) - assert.Equal(t, int64(123), *out.Num) - assert.Equal(t, "myname", *out.Str) - assert.Equal(t, true, *out.TrueBool) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "a", *out.Char; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := 1.3, *out.Double; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := false, *out.FalseBool; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := 1.2, *out.Float; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := int64(200), *out.Long; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := int64(123), *out.Num; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "myname", *out.Str; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := true, *out.TrueBool; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -1453,11 +1463,17 @@ func TestOutputService2ProtocolTestBlobCase1(t *testing.T) { // unmarshal response ec2query.UnmarshalMeta(req) ec2query.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "value", string(out.Blob)) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "value", string(out.Blob); e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -1473,12 +1489,20 @@ func TestOutputService3ProtocolTestListsCase1(t *testing.T) { // unmarshal response ec2query.UnmarshalMeta(req) ec2query.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "abc", *out.ListMember[0]) - assert.Equal(t, "123", *out.ListMember[1]) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "abc", *out.ListMember[0]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "123", *out.ListMember[1]; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -1494,12 +1518,20 @@ func TestOutputService4ProtocolTestListWithCustomMemberNameCase1(t *testing.T) { // unmarshal response ec2query.UnmarshalMeta(req) ec2query.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "abc", *out.ListMember[0]) - assert.Equal(t, "123", *out.ListMember[1]) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "abc", *out.ListMember[0]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "123", *out.ListMember[1]; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -1515,12 +1547,20 @@ func TestOutputService5ProtocolTestFlattenedListCase1(t *testing.T) { // unmarshal response ec2query.UnmarshalMeta(req) ec2query.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "abc", *out.ListMember[0]) - assert.Equal(t, "123", *out.ListMember[1]) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "abc", *out.ListMember[0]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "123", *out.ListMember[1]; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -1536,12 +1576,20 @@ func TestOutputService6ProtocolTestNormalMapCase1(t *testing.T) { // unmarshal response ec2query.UnmarshalMeta(req) ec2query.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "bam", *out.Map["baz"].Foo) - assert.Equal(t, "bar", *out.Map["qux"].Foo) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "bam", *out.Map["baz"].Foo; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "bar", *out.Map["qux"].Foo; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -1557,12 +1605,20 @@ func TestOutputService7ProtocolTestFlattenedMapCase1(t *testing.T) { // unmarshal response ec2query.UnmarshalMeta(req) ec2query.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "bam", *out.Map["baz"]) - assert.Equal(t, "bar", *out.Map["qux"]) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "bam", *out.Map["baz"]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "bar", *out.Map["qux"]; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -1578,12 +1634,20 @@ func TestOutputService8ProtocolTestNamedMapCase1(t *testing.T) { // unmarshal response ec2query.UnmarshalMeta(req) ec2query.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "bam", *out.Map["baz"]) - assert.Equal(t, "bar", *out.Map["qux"]) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "bam", *out.Map["baz"]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "bar", *out.Map["qux"]; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -1599,10 +1663,16 @@ func TestOutputService9ProtocolTestEmptyStringCase1(t *testing.T) { // unmarshal response ec2query.UnmarshalMeta(req) ec2query.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "", *out.Foo) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "", *out.Foo; e != a { + t.Errorf("expect %v, got %v", e, a) + } } diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/build_test.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/build_test.go index 1164fab18..e1bd3cd78 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/build_test.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/build_test.go @@ -24,7 +24,6 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil" "github.com/aws/aws-sdk-go/private/util" - "github.com/stretchr/testify/assert" ) var _ bytes.Buffer // always import bytes @@ -110,19 +109,18 @@ const opInputService1TestCaseOperation1 = "OperationName" // InputService1TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService1TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService1TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService1TestCaseOperation1 method directly -// instead. +// See InputService1TestCaseOperation1 for more information on using the InputService1TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService1TestCaseOperation1Request method. // req, resp := client.InputService1TestCaseOperation1Request(params) @@ -259,19 +257,18 @@ const opInputService2TestCaseOperation1 = "OperationName" // InputService2TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService2TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService2TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService2TestCaseOperation1 method directly -// instead. +// See InputService2TestCaseOperation1 for more information on using the InputService2TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService2TestCaseOperation1Request method. // req, resp := client.InputService2TestCaseOperation1Request(params) @@ -407,19 +404,18 @@ const opInputService3TestCaseOperation1 = "OperationName" // InputService3TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService3TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService3TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService3TestCaseOperation1 method directly -// instead. +// See InputService3TestCaseOperation1 for more information on using the InputService3TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService3TestCaseOperation1Request method. // req, resp := client.InputService3TestCaseOperation1Request(params) @@ -478,19 +474,18 @@ const opInputService3TestCaseOperation2 = "OperationName" // InputService3TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the InputService3TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService3TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService3TestCaseOperation2 method directly -// instead. +// See InputService3TestCaseOperation2 for more information on using the InputService3TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService3TestCaseOperation2Request method. // req, resp := client.InputService3TestCaseOperation2Request(params) @@ -639,19 +634,18 @@ const opInputService4TestCaseOperation1 = "OperationName" // InputService4TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService4TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService4TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService4TestCaseOperation1 method directly -// instead. +// See InputService4TestCaseOperation1 for more information on using the InputService4TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService4TestCaseOperation1Request method. // req, resp := client.InputService4TestCaseOperation1Request(params) @@ -788,19 +782,18 @@ const opInputService5TestCaseOperation1 = "OperationName" // InputService5TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService5TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService5TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService5TestCaseOperation1 method directly -// instead. +// See InputService5TestCaseOperation1 for more information on using the InputService5TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService5TestCaseOperation1Request method. // req, resp := client.InputService5TestCaseOperation1Request(params) @@ -859,19 +852,18 @@ const opInputService5TestCaseOperation2 = "OperationName" // InputService5TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the InputService5TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService5TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService5TestCaseOperation2 method directly -// instead. +// See InputService5TestCaseOperation2 for more information on using the InputService5TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService5TestCaseOperation2Request method. // req, resp := client.InputService5TestCaseOperation2Request(params) @@ -930,19 +922,18 @@ const opInputService5TestCaseOperation3 = "OperationName" // InputService5TestCaseOperation3Request generates a "aws/request.Request" representing the // client's request for the InputService5TestCaseOperation3 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService5TestCaseOperation3 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService5TestCaseOperation3 method directly -// instead. +// See InputService5TestCaseOperation3 for more information on using the InputService5TestCaseOperation3 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService5TestCaseOperation3Request method. // req, resp := client.InputService5TestCaseOperation3Request(params) @@ -1001,19 +992,18 @@ const opInputService5TestCaseOperation4 = "OperationName" // InputService5TestCaseOperation4Request generates a "aws/request.Request" representing the // client's request for the InputService5TestCaseOperation4 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService5TestCaseOperation4 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService5TestCaseOperation4 method directly -// instead. +// See InputService5TestCaseOperation4 for more information on using the InputService5TestCaseOperation4 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService5TestCaseOperation4Request method. // req, resp := client.InputService5TestCaseOperation4Request(params) @@ -1072,19 +1062,18 @@ const opInputService5TestCaseOperation5 = "OperationName" // InputService5TestCaseOperation5Request generates a "aws/request.Request" representing the // client's request for the InputService5TestCaseOperation5 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService5TestCaseOperation5 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService5TestCaseOperation5 method directly -// instead. +// See InputService5TestCaseOperation5 for more information on using the InputService5TestCaseOperation5 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService5TestCaseOperation5Request method. // req, resp := client.InputService5TestCaseOperation5Request(params) @@ -1143,19 +1132,18 @@ const opInputService5TestCaseOperation6 = "OperationName" // InputService5TestCaseOperation6Request generates a "aws/request.Request" representing the // client's request for the InputService5TestCaseOperation6 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService5TestCaseOperation6 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService5TestCaseOperation6 method directly -// instead. +// See InputService5TestCaseOperation6 for more information on using the InputService5TestCaseOperation6 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService5TestCaseOperation6Request method. // req, resp := client.InputService5TestCaseOperation6Request(params) @@ -1347,19 +1335,18 @@ const opInputService6TestCaseOperation1 = "OperationName" // InputService6TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService6TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService6TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService6TestCaseOperation1 method directly -// instead. +// See InputService6TestCaseOperation1 for more information on using the InputService6TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService6TestCaseOperation1Request method. // req, resp := client.InputService6TestCaseOperation1Request(params) @@ -1494,19 +1481,18 @@ const opInputService7TestCaseOperation1 = "OperationName" // InputService7TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService7TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService7TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService7TestCaseOperation1 method directly -// instead. +// See InputService7TestCaseOperation1 for more information on using the InputService7TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService7TestCaseOperation1Request method. // req, resp := client.InputService7TestCaseOperation1Request(params) @@ -1566,19 +1552,18 @@ const opInputService7TestCaseOperation2 = "OperationName" // InputService7TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the InputService7TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService7TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService7TestCaseOperation2 method directly -// instead. +// See InputService7TestCaseOperation2 for more information on using the InputService7TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService7TestCaseOperation2Request method. // req, resp := client.InputService7TestCaseOperation2Request(params) @@ -1668,10 +1653,14 @@ func TestInputService1ProtocolTestScalarMembersCase1(t *testing.T) { // build request jsonrpc.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"Name":"myname"}`, util.Trim(string(body))) @@ -1679,8 +1668,12 @@ func TestInputService1ProtocolTestScalarMembersCase1(t *testing.T) { awstesting.AssertURL(t, "https://test/", r.URL.String()) // assert headers - assert.Equal(t, "application/x-amz-json-1.1", r.Header.Get("Content-Type")) - assert.Equal(t, "com.amazonaws.foo.OperationName", r.Header.Get("X-Amz-Target")) + if e, a := "application/x-amz-json-1.1", r.Header.Get("Content-Type"); e != a { + t.Errorf("expect %v to be %v", e, a) + } + if e, a := "com.amazonaws.foo.OperationName", r.Header.Get("X-Amz-Target"); e != a { + t.Errorf("expect %v to be %v", e, a) + } } @@ -1694,10 +1687,14 @@ func TestInputService2ProtocolTestTimestampValuesCase1(t *testing.T) { // build request jsonrpc.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"TimeArg":1422172800}`, util.Trim(string(body))) @@ -1705,8 +1702,12 @@ func TestInputService2ProtocolTestTimestampValuesCase1(t *testing.T) { awstesting.AssertURL(t, "https://test/", r.URL.String()) // assert headers - assert.Equal(t, "application/x-amz-json-1.1", r.Header.Get("Content-Type")) - assert.Equal(t, "com.amazonaws.foo.OperationName", r.Header.Get("X-Amz-Target")) + if e, a := "application/x-amz-json-1.1", r.Header.Get("Content-Type"); e != a { + t.Errorf("expect %v to be %v", e, a) + } + if e, a := "com.amazonaws.foo.OperationName", r.Header.Get("X-Amz-Target"); e != a { + t.Errorf("expect %v to be %v", e, a) + } } @@ -1720,10 +1721,14 @@ func TestInputService3ProtocolTestBase64EncodedBlobsCase1(t *testing.T) { // build request jsonrpc.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"BlobArg":"Zm9v"}`, util.Trim(string(body))) @@ -1731,8 +1736,12 @@ func TestInputService3ProtocolTestBase64EncodedBlobsCase1(t *testing.T) { awstesting.AssertURL(t, "https://test/", r.URL.String()) // assert headers - assert.Equal(t, "application/x-amz-json-1.1", r.Header.Get("Content-Type")) - assert.Equal(t, "com.amazonaws.foo.OperationName", r.Header.Get("X-Amz-Target")) + if e, a := "application/x-amz-json-1.1", r.Header.Get("Content-Type"); e != a { + t.Errorf("expect %v to be %v", e, a) + } + if e, a := "com.amazonaws.foo.OperationName", r.Header.Get("X-Amz-Target"); e != a { + t.Errorf("expect %v to be %v", e, a) + } } @@ -1749,10 +1758,14 @@ func TestInputService3ProtocolTestBase64EncodedBlobsCase2(t *testing.T) { // build request jsonrpc.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"BlobMap":{"key1":"Zm9v","key2":"YmFy"}}`, util.Trim(string(body))) @@ -1760,8 +1773,12 @@ func TestInputService3ProtocolTestBase64EncodedBlobsCase2(t *testing.T) { awstesting.AssertURL(t, "https://test/", r.URL.String()) // assert headers - assert.Equal(t, "application/x-amz-json-1.1", r.Header.Get("Content-Type")) - assert.Equal(t, "com.amazonaws.foo.OperationName", r.Header.Get("X-Amz-Target")) + if e, a := "application/x-amz-json-1.1", r.Header.Get("Content-Type"); e != a { + t.Errorf("expect %v to be %v", e, a) + } + if e, a := "com.amazonaws.foo.OperationName", r.Header.Get("X-Amz-Target"); e != a { + t.Errorf("expect %v to be %v", e, a) + } } @@ -1778,10 +1795,14 @@ func TestInputService4ProtocolTestNestedBlobsCase1(t *testing.T) { // build request jsonrpc.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"ListParam":["Zm9v","YmFy"]}`, util.Trim(string(body))) @@ -1789,8 +1810,12 @@ func TestInputService4ProtocolTestNestedBlobsCase1(t *testing.T) { awstesting.AssertURL(t, "https://test/", r.URL.String()) // assert headers - assert.Equal(t, "application/x-amz-json-1.1", r.Header.Get("Content-Type")) - assert.Equal(t, "com.amazonaws.foo.OperationName", r.Header.Get("X-Amz-Target")) + if e, a := "application/x-amz-json-1.1", r.Header.Get("Content-Type"); e != a { + t.Errorf("expect %v to be %v", e, a) + } + if e, a := "com.amazonaws.foo.OperationName", r.Header.Get("X-Amz-Target"); e != a { + t.Errorf("expect %v to be %v", e, a) + } } @@ -1806,10 +1831,14 @@ func TestInputService5ProtocolTestRecursiveShapesCase1(t *testing.T) { // build request jsonrpc.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"RecursiveStruct":{"NoRecurse":"foo"}}`, util.Trim(string(body))) @@ -1817,8 +1846,12 @@ func TestInputService5ProtocolTestRecursiveShapesCase1(t *testing.T) { awstesting.AssertURL(t, "https://test/", r.URL.String()) // assert headers - assert.Equal(t, "application/x-amz-json-1.1", r.Header.Get("Content-Type")) - assert.Equal(t, "com.amazonaws.foo.OperationName", r.Header.Get("X-Amz-Target")) + if e, a := "application/x-amz-json-1.1", r.Header.Get("Content-Type"); e != a { + t.Errorf("expect %v to be %v", e, a) + } + if e, a := "com.amazonaws.foo.OperationName", r.Header.Get("X-Amz-Target"); e != a { + t.Errorf("expect %v to be %v", e, a) + } } @@ -1836,10 +1869,14 @@ func TestInputService5ProtocolTestRecursiveShapesCase2(t *testing.T) { // build request jsonrpc.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"RecursiveStruct":{"RecursiveStruct":{"NoRecurse":"foo"}}}`, util.Trim(string(body))) @@ -1847,8 +1884,12 @@ func TestInputService5ProtocolTestRecursiveShapesCase2(t *testing.T) { awstesting.AssertURL(t, "https://test/", r.URL.String()) // assert headers - assert.Equal(t, "application/x-amz-json-1.1", r.Header.Get("Content-Type")) - assert.Equal(t, "com.amazonaws.foo.OperationName", r.Header.Get("X-Amz-Target")) + if e, a := "application/x-amz-json-1.1", r.Header.Get("Content-Type"); e != a { + t.Errorf("expect %v to be %v", e, a) + } + if e, a := "com.amazonaws.foo.OperationName", r.Header.Get("X-Amz-Target"); e != a { + t.Errorf("expect %v to be %v", e, a) + } } @@ -1870,10 +1911,14 @@ func TestInputService5ProtocolTestRecursiveShapesCase3(t *testing.T) { // build request jsonrpc.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"RecursiveStruct":{"RecursiveStruct":{"RecursiveStruct":{"RecursiveStruct":{"NoRecurse":"foo"}}}}}`, util.Trim(string(body))) @@ -1881,8 +1926,12 @@ func TestInputService5ProtocolTestRecursiveShapesCase3(t *testing.T) { awstesting.AssertURL(t, "https://test/", r.URL.String()) // assert headers - assert.Equal(t, "application/x-amz-json-1.1", r.Header.Get("Content-Type")) - assert.Equal(t, "com.amazonaws.foo.OperationName", r.Header.Get("X-Amz-Target")) + if e, a := "application/x-amz-json-1.1", r.Header.Get("Content-Type"); e != a { + t.Errorf("expect %v to be %v", e, a) + } + if e, a := "com.amazonaws.foo.OperationName", r.Header.Get("X-Amz-Target"); e != a { + t.Errorf("expect %v to be %v", e, a) + } } @@ -1905,10 +1954,14 @@ func TestInputService5ProtocolTestRecursiveShapesCase4(t *testing.T) { // build request jsonrpc.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"RecursiveStruct":{"RecursiveList":[{"NoRecurse":"foo"},{"NoRecurse":"bar"}]}}`, util.Trim(string(body))) @@ -1916,8 +1969,12 @@ func TestInputService5ProtocolTestRecursiveShapesCase4(t *testing.T) { awstesting.AssertURL(t, "https://test/", r.URL.String()) // assert headers - assert.Equal(t, "application/x-amz-json-1.1", r.Header.Get("Content-Type")) - assert.Equal(t, "com.amazonaws.foo.OperationName", r.Header.Get("X-Amz-Target")) + if e, a := "application/x-amz-json-1.1", r.Header.Get("Content-Type"); e != a { + t.Errorf("expect %v to be %v", e, a) + } + if e, a := "com.amazonaws.foo.OperationName", r.Header.Get("X-Amz-Target"); e != a { + t.Errorf("expect %v to be %v", e, a) + } } @@ -1942,10 +1999,14 @@ func TestInputService5ProtocolTestRecursiveShapesCase5(t *testing.T) { // build request jsonrpc.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"RecursiveStruct":{"RecursiveList":[{"NoRecurse":"foo"},{"RecursiveStruct":{"NoRecurse":"bar"}}]}}`, util.Trim(string(body))) @@ -1953,8 +2014,12 @@ func TestInputService5ProtocolTestRecursiveShapesCase5(t *testing.T) { awstesting.AssertURL(t, "https://test/", r.URL.String()) // assert headers - assert.Equal(t, "application/x-amz-json-1.1", r.Header.Get("Content-Type")) - assert.Equal(t, "com.amazonaws.foo.OperationName", r.Header.Get("X-Amz-Target")) + if e, a := "application/x-amz-json-1.1", r.Header.Get("Content-Type"); e != a { + t.Errorf("expect %v to be %v", e, a) + } + if e, a := "com.amazonaws.foo.OperationName", r.Header.Get("X-Amz-Target"); e != a { + t.Errorf("expect %v to be %v", e, a) + } } @@ -1977,10 +2042,14 @@ func TestInputService5ProtocolTestRecursiveShapesCase6(t *testing.T) { // build request jsonrpc.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"RecursiveStruct":{"RecursiveMap":{"foo":{"NoRecurse":"foo"},"bar":{"NoRecurse":"bar"}}}}`, util.Trim(string(body))) @@ -1988,8 +2057,12 @@ func TestInputService5ProtocolTestRecursiveShapesCase6(t *testing.T) { awstesting.AssertURL(t, "https://test/", r.URL.String()) // assert headers - assert.Equal(t, "application/x-amz-json-1.1", r.Header.Get("Content-Type")) - assert.Equal(t, "com.amazonaws.foo.OperationName", r.Header.Get("X-Amz-Target")) + if e, a := "application/x-amz-json-1.1", r.Header.Get("Content-Type"); e != a { + t.Errorf("expect %v to be %v", e, a) + } + if e, a := "com.amazonaws.foo.OperationName", r.Header.Get("X-Amz-Target"); e != a { + t.Errorf("expect %v to be %v", e, a) + } } @@ -2003,10 +2076,14 @@ func TestInputService6ProtocolTestEmptyMapsCase1(t *testing.T) { // build request jsonrpc.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"Map":{}}`, util.Trim(string(body))) @@ -2014,8 +2091,12 @@ func TestInputService6ProtocolTestEmptyMapsCase1(t *testing.T) { awstesting.AssertURL(t, "https://test/", r.URL.String()) // assert headers - assert.Equal(t, "application/x-amz-json-1.1", r.Header.Get("Content-Type")) - assert.Equal(t, "com.amazonaws.foo.OperationName", r.Header.Get("X-Amz-Target")) + if e, a := "application/x-amz-json-1.1", r.Header.Get("Content-Type"); e != a { + t.Errorf("expect %v to be %v", e, a) + } + if e, a := "com.amazonaws.foo.OperationName", r.Header.Get("X-Amz-Target"); e != a { + t.Errorf("expect %v to be %v", e, a) + } } @@ -2029,10 +2110,14 @@ func TestInputService7ProtocolTestIdempotencyTokenAutoFillCase1(t *testing.T) { // build request jsonrpc.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"Token":"abc123"}`, util.Trim(string(body))) @@ -2051,10 +2136,14 @@ func TestInputService7ProtocolTestIdempotencyTokenAutoFillCase2(t *testing.T) { // build request jsonrpc.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"Token":"00000000-0000-4000-8000-000000000000"}`, util.Trim(string(body))) diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/unmarshal_test.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/unmarshal_test.go index b1024e07e..e3eb8e583 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/unmarshal_test.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/unmarshal_test.go @@ -24,7 +24,6 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil" "github.com/aws/aws-sdk-go/private/util" - "github.com/stretchr/testify/assert" ) var _ bytes.Buffer // always import bytes @@ -108,19 +107,18 @@ const opOutputService1TestCaseOperation1 = "OperationName" // OutputService1TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService1TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService1TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService1TestCaseOperation1 method directly -// instead. +// See OutputService1TestCaseOperation1 for more information on using the OutputService1TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService1TestCaseOperation1Request method. // req, resp := client.OutputService1TestCaseOperation1Request(params) @@ -308,19 +306,18 @@ const opOutputService2TestCaseOperation1 = "OperationName" // OutputService2TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService2TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService2TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService2TestCaseOperation1 method directly -// instead. +// See OutputService2TestCaseOperation1 for more information on using the OutputService2TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService2TestCaseOperation1Request method. // req, resp := client.OutputService2TestCaseOperation1Request(params) @@ -474,19 +471,18 @@ const opOutputService3TestCaseOperation1 = "OperationName" // OutputService3TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService3TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService3TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService3TestCaseOperation1 method directly -// instead. +// See OutputService3TestCaseOperation1 for more information on using the OutputService3TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService3TestCaseOperation1Request method. // req, resp := client.OutputService3TestCaseOperation1Request(params) @@ -638,19 +634,18 @@ const opOutputService4TestCaseOperation1 = "OperationName" // OutputService4TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService4TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService4TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService4TestCaseOperation1 method directly -// instead. +// See OutputService4TestCaseOperation1 for more information on using the OutputService4TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService4TestCaseOperation1Request method. // req, resp := client.OutputService4TestCaseOperation1Request(params) @@ -707,19 +702,18 @@ const opOutputService4TestCaseOperation2 = "OperationName" // OutputService4TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the OutputService4TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService4TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService4TestCaseOperation2 method directly -// instead. +// See OutputService4TestCaseOperation2 for more information on using the OutputService4TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService4TestCaseOperation2Request method. // req, resp := client.OutputService4TestCaseOperation2Request(params) @@ -875,19 +869,18 @@ const opOutputService5TestCaseOperation1 = "OperationName" // OutputService5TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService5TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService5TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService5TestCaseOperation1 method directly -// instead. +// See OutputService5TestCaseOperation1 for more information on using the OutputService5TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService5TestCaseOperation1Request method. // req, resp := client.OutputService5TestCaseOperation1Request(params) @@ -1019,19 +1012,18 @@ const opOutputService6TestCaseOperation1 = "OperationName" // OutputService6TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService6TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService6TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService6TestCaseOperation1 method directly -// instead. +// See OutputService6TestCaseOperation1 for more information on using the OutputService6TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService6TestCaseOperation1Request method. // req, resp := client.OutputService6TestCaseOperation1Request(params) @@ -1116,18 +1108,38 @@ func TestOutputService1ProtocolTestScalarMembersCase1(t *testing.T) { // unmarshal response jsonrpc.UnmarshalMeta(req) jsonrpc.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "a", *out.Char) - assert.Equal(t, 1.3, *out.Double) - assert.Equal(t, false, *out.FalseBool) - assert.Equal(t, 1.2, *out.Float) - assert.Equal(t, int64(200), *out.Long) - assert.Equal(t, int64(123), *out.Num) - assert.Equal(t, "myname", *out.Str) - assert.Equal(t, true, *out.TrueBool) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "a", *out.Char; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := 1.3, *out.Double; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := false, *out.FalseBool; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := 1.2, *out.Float; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := int64(200), *out.Long; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := int64(123), *out.Num; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "myname", *out.Str; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := true, *out.TrueBool; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -1143,12 +1155,20 @@ func TestOutputService2ProtocolTestBlobMembersCase1(t *testing.T) { // unmarshal response jsonrpc.UnmarshalMeta(req) jsonrpc.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "hi!", string(out.BlobMember)) - assert.Equal(t, "there!", string(out.StructMember.Foo)) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "hi!", string(out.BlobMember); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "there!", string(out.StructMember.Foo); e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -1164,12 +1184,20 @@ func TestOutputService3ProtocolTestTimestampMembersCase1(t *testing.T) { // unmarshal response jsonrpc.UnmarshalMeta(req) jsonrpc.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, time.Unix(1.398796238e+09, 0).UTC().String(), out.StructMember.Foo.String()) - assert.Equal(t, time.Unix(1.398796238e+09, 0).UTC().String(), out.TimeMember.String()) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := time.Unix(1.398796238e+09, 0).UTC().String(), out.StructMember.Foo.String(); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := time.Unix(1.398796238e+09, 0).UTC().String(), out.TimeMember.String(); e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -1185,12 +1213,20 @@ func TestOutputService4ProtocolTestListsCase1(t *testing.T) { // unmarshal response jsonrpc.UnmarshalMeta(req) jsonrpc.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "a", *out.ListMember[0]) - assert.Equal(t, "b", *out.ListMember[1]) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "a", *out.ListMember[0]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "b", *out.ListMember[1]; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -1206,16 +1242,32 @@ func TestOutputService4ProtocolTestListsCase2(t *testing.T) { // unmarshal response jsonrpc.UnmarshalMeta(req) jsonrpc.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "a", *out.ListMember[0]) - assert.Nil(t, out.ListMember[1]) - assert.Nil(t, out.ListMemberMap[1]) - assert.Nil(t, out.ListMemberMap[2]) - assert.Nil(t, out.ListMemberStruct[1]) - assert.Nil(t, out.ListMemberStruct[2]) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "a", *out.ListMember[0]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e := out.ListMember[1]; e != nil { + t.Errorf("expect nil, got %v", e) + } + if e := out.ListMemberMap[1]; e != nil { + t.Errorf("expect nil, got %v", e) + } + if e := out.ListMemberMap[2]; e != nil { + t.Errorf("expect nil, got %v", e) + } + if e := out.ListMemberStruct[1]; e != nil { + t.Errorf("expect nil, got %v", e) + } + if e := out.ListMemberStruct[2]; e != nil { + t.Errorf("expect nil, got %v", e) + } } @@ -1231,14 +1283,26 @@ func TestOutputService5ProtocolTestMapsCase1(t *testing.T) { // unmarshal response jsonrpc.UnmarshalMeta(req) jsonrpc.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, int64(1), *out.MapMember["a"][0]) - assert.Equal(t, int64(2), *out.MapMember["a"][1]) - assert.Equal(t, int64(3), *out.MapMember["b"][0]) - assert.Equal(t, int64(4), *out.MapMember["b"][1]) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := int64(1), *out.MapMember["a"][0]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := int64(2), *out.MapMember["a"][1]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := int64(3), *out.MapMember["b"][0]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := int64(4), *out.MapMember["b"][1]; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -1254,9 +1318,13 @@ func TestOutputService6ProtocolTestIgnoresExtraDataCase1(t *testing.T) { // unmarshal response jsonrpc.UnmarshalMeta(req) jsonrpc.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used + if out == nil { + t.Errorf("expect not to be nil") + } } diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build_test.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build_test.go index 9b1ad92c4..f9990923a 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build_test.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build_test.go @@ -24,7 +24,6 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/query" "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil" "github.com/aws/aws-sdk-go/private/util" - "github.com/stretchr/testify/assert" ) var _ bytes.Buffer // always import bytes @@ -108,19 +107,18 @@ const opInputService1TestCaseOperation1 = "OperationName" // InputService1TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService1TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService1TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService1TestCaseOperation1 method directly -// instead. +// See InputService1TestCaseOperation1 for more information on using the InputService1TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService1TestCaseOperation1Request method. // req, resp := client.InputService1TestCaseOperation1Request(params) @@ -179,19 +177,18 @@ const opInputService1TestCaseOperation2 = "OperationName" // InputService1TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the InputService1TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService1TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService1TestCaseOperation2 method directly -// instead. +// See InputService1TestCaseOperation2 for more information on using the InputService1TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService1TestCaseOperation2Request method. // req, resp := client.InputService1TestCaseOperation2Request(params) @@ -250,19 +247,18 @@ const opInputService1TestCaseOperation3 = "OperationName" // InputService1TestCaseOperation3Request generates a "aws/request.Request" representing the // client's request for the InputService1TestCaseOperation3 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService1TestCaseOperation3 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService1TestCaseOperation3 method directly -// instead. +// See InputService1TestCaseOperation3 for more information on using the InputService1TestCaseOperation3 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService1TestCaseOperation3Request method. // req, resp := client.InputService1TestCaseOperation3Request(params) @@ -420,19 +416,18 @@ const opInputService2TestCaseOperation1 = "OperationName" // InputService2TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService2TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService2TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService2TestCaseOperation1 method directly -// instead. +// See InputService2TestCaseOperation1 for more information on using the InputService2TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService2TestCaseOperation1Request method. // req, resp := client.InputService2TestCaseOperation1Request(params) @@ -578,19 +573,18 @@ const opInputService3TestCaseOperation1 = "OperationName" // InputService3TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService3TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService3TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService3TestCaseOperation1 method directly -// instead. +// See InputService3TestCaseOperation1 for more information on using the InputService3TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService3TestCaseOperation1Request method. // req, resp := client.InputService3TestCaseOperation1Request(params) @@ -649,19 +643,18 @@ const opInputService3TestCaseOperation2 = "OperationName" // InputService3TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the InputService3TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService3TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService3TestCaseOperation2 method directly -// instead. +// See InputService3TestCaseOperation2 for more information on using the InputService3TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService3TestCaseOperation2Request method. // req, resp := client.InputService3TestCaseOperation2Request(params) @@ -799,19 +792,18 @@ const opInputService4TestCaseOperation1 = "OperationName" // InputService4TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService4TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService4TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService4TestCaseOperation1 method directly -// instead. +// See InputService4TestCaseOperation1 for more information on using the InputService4TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService4TestCaseOperation1Request method. // req, resp := client.InputService4TestCaseOperation1Request(params) @@ -870,19 +862,18 @@ const opInputService4TestCaseOperation2 = "OperationName" // InputService4TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the InputService4TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService4TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService4TestCaseOperation2 method directly -// instead. +// See InputService4TestCaseOperation2 for more information on using the InputService4TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService4TestCaseOperation2Request method. // req, resp := client.InputService4TestCaseOperation2Request(params) @@ -1036,19 +1027,18 @@ const opInputService5TestCaseOperation1 = "OperationName" // InputService5TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService5TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService5TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService5TestCaseOperation1 method directly -// instead. +// See InputService5TestCaseOperation1 for more information on using the InputService5TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService5TestCaseOperation1Request method. // req, resp := client.InputService5TestCaseOperation1Request(params) @@ -1182,19 +1172,18 @@ const opInputService6TestCaseOperation1 = "OperationName" // InputService6TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService6TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService6TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService6TestCaseOperation1 method directly -// instead. +// See InputService6TestCaseOperation1 for more information on using the InputService6TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService6TestCaseOperation1Request method. // req, resp := client.InputService6TestCaseOperation1Request(params) @@ -1328,19 +1317,18 @@ const opInputService7TestCaseOperation1 = "OperationName" // InputService7TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService7TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService7TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService7TestCaseOperation1 method directly -// instead. +// See InputService7TestCaseOperation1 for more information on using the InputService7TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService7TestCaseOperation1Request method. // req, resp := client.InputService7TestCaseOperation1Request(params) @@ -1482,19 +1470,18 @@ const opInputService8TestCaseOperation1 = "OperationName" // InputService8TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService8TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService8TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService8TestCaseOperation1 method directly -// instead. +// See InputService8TestCaseOperation1 for more information on using the InputService8TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService8TestCaseOperation1Request method. // req, resp := client.InputService8TestCaseOperation1Request(params) @@ -1628,19 +1615,18 @@ const opInputService9TestCaseOperation1 = "OperationName" // InputService9TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService9TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService9TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService9TestCaseOperation1 method directly -// instead. +// See InputService9TestCaseOperation1 for more information on using the InputService9TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService9TestCaseOperation1Request method. // req, resp := client.InputService9TestCaseOperation1Request(params) @@ -1774,19 +1760,18 @@ const opInputService10TestCaseOperation1 = "OperationName" // InputService10TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService10TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService10TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService10TestCaseOperation1 method directly -// instead. +// See InputService10TestCaseOperation1 for more information on using the InputService10TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService10TestCaseOperation1Request method. // req, resp := client.InputService10TestCaseOperation1Request(params) @@ -1921,19 +1906,18 @@ const opInputService11TestCaseOperation1 = "OperationName" // InputService11TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService11TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService11TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService11TestCaseOperation1 method directly -// instead. +// See InputService11TestCaseOperation1 for more information on using the InputService11TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService11TestCaseOperation1Request method. // req, resp := client.InputService11TestCaseOperation1Request(params) @@ -1991,12 +1975,12 @@ func (c *InputService11ProtocolTest) InputService11TestCaseOperation1WithContext type InputService11TestShapeInputService11TestCaseOperation1Input struct { _ struct{} `type:"structure"` - TimeArg *time.Time `type:"timestamp" timestampFormat:"iso8601"` + BlobArgs [][]byte `type:"list" flattened:"true"` } -// SetTimeArg sets the TimeArg field's value. -func (s *InputService11TestShapeInputService11TestCaseOperation1Input) SetTimeArg(v time.Time) *InputService11TestShapeInputService11TestCaseOperation1Input { - s.TimeArg = &v +// SetBlobArgs sets the BlobArgs field's value. +func (s *InputService11TestShapeInputService11TestCaseOperation1Input) SetBlobArgs(v [][]byte) *InputService11TestShapeInputService11TestCaseOperation1Input { + s.BlobArgs = v return s } @@ -2067,19 +2051,18 @@ const opInputService12TestCaseOperation1 = "OperationName" // InputService12TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService12TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService12TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService12TestCaseOperation1 method directly -// instead. +// See InputService12TestCaseOperation1 for more information on using the InputService12TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService12TestCaseOperation1Request method. // req, resp := client.InputService12TestCaseOperation1Request(params) @@ -2088,14 +2071,14 @@ const opInputService12TestCaseOperation1 = "OperationName" // if err == nil { // resp is now filled // fmt.Println(resp) // } -func (c *InputService12ProtocolTest) InputService12TestCaseOperation1Request(input *InputService12TestShapeInputService12TestCaseOperation6Input) (req *request.Request, output *InputService12TestShapeInputService12TestCaseOperation1Output) { +func (c *InputService12ProtocolTest) InputService12TestCaseOperation1Request(input *InputService12TestShapeInputService12TestCaseOperation1Input) (req *request.Request, output *InputService12TestShapeInputService12TestCaseOperation1Output) { op := &request.Operation{ Name: opInputService12TestCaseOperation1, HTTPPath: "/", } if input == nil { - input = &InputService12TestShapeInputService12TestCaseOperation6Input{} + input = &InputService12TestShapeInputService12TestCaseOperation1Input{} } output = &InputService12TestShapeInputService12TestCaseOperation1Output{} @@ -2113,7 +2096,7 @@ func (c *InputService12ProtocolTest) InputService12TestCaseOperation1Request(inp // // See the AWS API reference guide for 's // API operation InputService12TestCaseOperation1 for usage and error information. -func (c *InputService12ProtocolTest) InputService12TestCaseOperation1(input *InputService12TestShapeInputService12TestCaseOperation6Input) (*InputService12TestShapeInputService12TestCaseOperation1Output, error) { +func (c *InputService12ProtocolTest) InputService12TestCaseOperation1(input *InputService12TestShapeInputService12TestCaseOperation1Input) (*InputService12TestShapeInputService12TestCaseOperation1Output, error) { req, out := c.InputService12TestCaseOperation1Request(input) return out, req.Send() } @@ -2127,440 +2110,29 @@ func (c *InputService12ProtocolTest) InputService12TestCaseOperation1(input *Inp // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *InputService12ProtocolTest) InputService12TestCaseOperation1WithContext(ctx aws.Context, input *InputService12TestShapeInputService12TestCaseOperation6Input, opts ...request.Option) (*InputService12TestShapeInputService12TestCaseOperation1Output, error) { +func (c *InputService12ProtocolTest) InputService12TestCaseOperation1WithContext(ctx aws.Context, input *InputService12TestShapeInputService12TestCaseOperation1Input, opts ...request.Option) (*InputService12TestShapeInputService12TestCaseOperation1Output, error) { req, out := c.InputService12TestCaseOperation1Request(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opInputService12TestCaseOperation2 = "OperationName" +type InputService12TestShapeInputService12TestCaseOperation1Input struct { + _ struct{} `type:"structure"` -// InputService12TestCaseOperation2Request generates a "aws/request.Request" representing the -// client's request for the InputService12TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. -// -// See InputService12TestCaseOperation2 for usage and error information. -// -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService12TestCaseOperation2 method directly -// instead. -// -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. -// -// // Example sending a request using the InputService12TestCaseOperation2Request method. -// req, resp := client.InputService12TestCaseOperation2Request(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -func (c *InputService12ProtocolTest) InputService12TestCaseOperation2Request(input *InputService12TestShapeInputService12TestCaseOperation6Input) (req *request.Request, output *InputService12TestShapeInputService12TestCaseOperation2Output) { - op := &request.Operation{ - Name: opInputService12TestCaseOperation2, - HTTPPath: "/", - } - - if input == nil { - input = &InputService12TestShapeInputService12TestCaseOperation6Input{} - } - - output = &InputService12TestShapeInputService12TestCaseOperation2Output{} - req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) - return + TimeArg *time.Time `type:"timestamp" timestampFormat:"iso8601"` } -// InputService12TestCaseOperation2 API operation for . -// -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. -// -// See the AWS API reference guide for 's -// API operation InputService12TestCaseOperation2 for usage and error information. -func (c *InputService12ProtocolTest) InputService12TestCaseOperation2(input *InputService12TestShapeInputService12TestCaseOperation6Input) (*InputService12TestShapeInputService12TestCaseOperation2Output, error) { - req, out := c.InputService12TestCaseOperation2Request(input) - return out, req.Send() -} - -// InputService12TestCaseOperation2WithContext is the same as InputService12TestCaseOperation2 with the addition of -// the ability to pass a context and additional request options. -// -// See InputService12TestCaseOperation2 for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *InputService12ProtocolTest) InputService12TestCaseOperation2WithContext(ctx aws.Context, input *InputService12TestShapeInputService12TestCaseOperation6Input, opts ...request.Option) (*InputService12TestShapeInputService12TestCaseOperation2Output, error) { - req, out := c.InputService12TestCaseOperation2Request(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opInputService12TestCaseOperation3 = "OperationName" - -// InputService12TestCaseOperation3Request generates a "aws/request.Request" representing the -// client's request for the InputService12TestCaseOperation3 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. -// -// See InputService12TestCaseOperation3 for usage and error information. -// -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService12TestCaseOperation3 method directly -// instead. -// -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. -// -// // Example sending a request using the InputService12TestCaseOperation3Request method. -// req, resp := client.InputService12TestCaseOperation3Request(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -func (c *InputService12ProtocolTest) InputService12TestCaseOperation3Request(input *InputService12TestShapeInputService12TestCaseOperation6Input) (req *request.Request, output *InputService12TestShapeInputService12TestCaseOperation3Output) { - op := &request.Operation{ - Name: opInputService12TestCaseOperation3, - HTTPPath: "/", - } - - if input == nil { - input = &InputService12TestShapeInputService12TestCaseOperation6Input{} - } - - output = &InputService12TestShapeInputService12TestCaseOperation3Output{} - req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) - return -} - -// InputService12TestCaseOperation3 API operation for . -// -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. -// -// See the AWS API reference guide for 's -// API operation InputService12TestCaseOperation3 for usage and error information. -func (c *InputService12ProtocolTest) InputService12TestCaseOperation3(input *InputService12TestShapeInputService12TestCaseOperation6Input) (*InputService12TestShapeInputService12TestCaseOperation3Output, error) { - req, out := c.InputService12TestCaseOperation3Request(input) - return out, req.Send() -} - -// InputService12TestCaseOperation3WithContext is the same as InputService12TestCaseOperation3 with the addition of -// the ability to pass a context and additional request options. -// -// See InputService12TestCaseOperation3 for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *InputService12ProtocolTest) InputService12TestCaseOperation3WithContext(ctx aws.Context, input *InputService12TestShapeInputService12TestCaseOperation6Input, opts ...request.Option) (*InputService12TestShapeInputService12TestCaseOperation3Output, error) { - req, out := c.InputService12TestCaseOperation3Request(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opInputService12TestCaseOperation4 = "OperationName" - -// InputService12TestCaseOperation4Request generates a "aws/request.Request" representing the -// client's request for the InputService12TestCaseOperation4 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. -// -// See InputService12TestCaseOperation4 for usage and error information. -// -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService12TestCaseOperation4 method directly -// instead. -// -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. -// -// // Example sending a request using the InputService12TestCaseOperation4Request method. -// req, resp := client.InputService12TestCaseOperation4Request(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -func (c *InputService12ProtocolTest) InputService12TestCaseOperation4Request(input *InputService12TestShapeInputService12TestCaseOperation6Input) (req *request.Request, output *InputService12TestShapeInputService12TestCaseOperation4Output) { - op := &request.Operation{ - Name: opInputService12TestCaseOperation4, - HTTPPath: "/", - } - - if input == nil { - input = &InputService12TestShapeInputService12TestCaseOperation6Input{} - } - - output = &InputService12TestShapeInputService12TestCaseOperation4Output{} - req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) - return -} - -// InputService12TestCaseOperation4 API operation for . -// -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. -// -// See the AWS API reference guide for 's -// API operation InputService12TestCaseOperation4 for usage and error information. -func (c *InputService12ProtocolTest) InputService12TestCaseOperation4(input *InputService12TestShapeInputService12TestCaseOperation6Input) (*InputService12TestShapeInputService12TestCaseOperation4Output, error) { - req, out := c.InputService12TestCaseOperation4Request(input) - return out, req.Send() -} - -// InputService12TestCaseOperation4WithContext is the same as InputService12TestCaseOperation4 with the addition of -// the ability to pass a context and additional request options. -// -// See InputService12TestCaseOperation4 for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *InputService12ProtocolTest) InputService12TestCaseOperation4WithContext(ctx aws.Context, input *InputService12TestShapeInputService12TestCaseOperation6Input, opts ...request.Option) (*InputService12TestShapeInputService12TestCaseOperation4Output, error) { - req, out := c.InputService12TestCaseOperation4Request(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opInputService12TestCaseOperation5 = "OperationName" - -// InputService12TestCaseOperation5Request generates a "aws/request.Request" representing the -// client's request for the InputService12TestCaseOperation5 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. -// -// See InputService12TestCaseOperation5 for usage and error information. -// -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService12TestCaseOperation5 method directly -// instead. -// -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. -// -// // Example sending a request using the InputService12TestCaseOperation5Request method. -// req, resp := client.InputService12TestCaseOperation5Request(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -func (c *InputService12ProtocolTest) InputService12TestCaseOperation5Request(input *InputService12TestShapeInputService12TestCaseOperation6Input) (req *request.Request, output *InputService12TestShapeInputService12TestCaseOperation5Output) { - op := &request.Operation{ - Name: opInputService12TestCaseOperation5, - HTTPPath: "/", - } - - if input == nil { - input = &InputService12TestShapeInputService12TestCaseOperation6Input{} - } - - output = &InputService12TestShapeInputService12TestCaseOperation5Output{} - req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) - return -} - -// InputService12TestCaseOperation5 API operation for . -// -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. -// -// See the AWS API reference guide for 's -// API operation InputService12TestCaseOperation5 for usage and error information. -func (c *InputService12ProtocolTest) InputService12TestCaseOperation5(input *InputService12TestShapeInputService12TestCaseOperation6Input) (*InputService12TestShapeInputService12TestCaseOperation5Output, error) { - req, out := c.InputService12TestCaseOperation5Request(input) - return out, req.Send() -} - -// InputService12TestCaseOperation5WithContext is the same as InputService12TestCaseOperation5 with the addition of -// the ability to pass a context and additional request options. -// -// See InputService12TestCaseOperation5 for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *InputService12ProtocolTest) InputService12TestCaseOperation5WithContext(ctx aws.Context, input *InputService12TestShapeInputService12TestCaseOperation6Input, opts ...request.Option) (*InputService12TestShapeInputService12TestCaseOperation5Output, error) { - req, out := c.InputService12TestCaseOperation5Request(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opInputService12TestCaseOperation6 = "OperationName" - -// InputService12TestCaseOperation6Request generates a "aws/request.Request" representing the -// client's request for the InputService12TestCaseOperation6 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. -// -// See InputService12TestCaseOperation6 for usage and error information. -// -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService12TestCaseOperation6 method directly -// instead. -// -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. -// -// // Example sending a request using the InputService12TestCaseOperation6Request method. -// req, resp := client.InputService12TestCaseOperation6Request(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -func (c *InputService12ProtocolTest) InputService12TestCaseOperation6Request(input *InputService12TestShapeInputService12TestCaseOperation6Input) (req *request.Request, output *InputService12TestShapeInputService12TestCaseOperation6Output) { - op := &request.Operation{ - Name: opInputService12TestCaseOperation6, - HTTPPath: "/", - } - - if input == nil { - input = &InputService12TestShapeInputService12TestCaseOperation6Input{} - } - - output = &InputService12TestShapeInputService12TestCaseOperation6Output{} - req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) - req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) - return -} - -// InputService12TestCaseOperation6 API operation for . -// -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. -// -// See the AWS API reference guide for 's -// API operation InputService12TestCaseOperation6 for usage and error information. -func (c *InputService12ProtocolTest) InputService12TestCaseOperation6(input *InputService12TestShapeInputService12TestCaseOperation6Input) (*InputService12TestShapeInputService12TestCaseOperation6Output, error) { - req, out := c.InputService12TestCaseOperation6Request(input) - return out, req.Send() -} - -// InputService12TestCaseOperation6WithContext is the same as InputService12TestCaseOperation6 with the addition of -// the ability to pass a context and additional request options. -// -// See InputService12TestCaseOperation6 for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *InputService12ProtocolTest) InputService12TestCaseOperation6WithContext(ctx aws.Context, input *InputService12TestShapeInputService12TestCaseOperation6Input, opts ...request.Option) (*InputService12TestShapeInputService12TestCaseOperation6Output, error) { - req, out := c.InputService12TestCaseOperation6Request(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() +// SetTimeArg sets the TimeArg field's value. +func (s *InputService12TestShapeInputService12TestCaseOperation1Input) SetTimeArg(v time.Time) *InputService12TestShapeInputService12TestCaseOperation1Input { + s.TimeArg = &v + return s } type InputService12TestShapeInputService12TestCaseOperation1Output struct { _ struct{} `type:"structure"` } -type InputService12TestShapeInputService12TestCaseOperation2Output struct { - _ struct{} `type:"structure"` -} - -type InputService12TestShapeInputService12TestCaseOperation3Output struct { - _ struct{} `type:"structure"` -} - -type InputService12TestShapeInputService12TestCaseOperation4Output struct { - _ struct{} `type:"structure"` -} - -type InputService12TestShapeInputService12TestCaseOperation5Output struct { - _ struct{} `type:"structure"` -} - -type InputService12TestShapeInputService12TestCaseOperation6Input struct { - _ struct{} `type:"structure"` - - RecursiveStruct *InputService12TestShapeRecursiveStructType `type:"structure"` -} - -// SetRecursiveStruct sets the RecursiveStruct field's value. -func (s *InputService12TestShapeInputService12TestCaseOperation6Input) SetRecursiveStruct(v *InputService12TestShapeRecursiveStructType) *InputService12TestShapeInputService12TestCaseOperation6Input { - s.RecursiveStruct = v - return s -} - -type InputService12TestShapeInputService12TestCaseOperation6Output struct { - _ struct{} `type:"structure"` -} - -type InputService12TestShapeRecursiveStructType struct { - _ struct{} `type:"structure"` - - NoRecurse *string `type:"string"` - - RecursiveList []*InputService12TestShapeRecursiveStructType `type:"list"` - - RecursiveMap map[string]*InputService12TestShapeRecursiveStructType `type:"map"` - - RecursiveStruct *InputService12TestShapeRecursiveStructType `type:"structure"` -} - -// SetNoRecurse sets the NoRecurse field's value. -func (s *InputService12TestShapeRecursiveStructType) SetNoRecurse(v string) *InputService12TestShapeRecursiveStructType { - s.NoRecurse = &v - return s -} - -// SetRecursiveList sets the RecursiveList field's value. -func (s *InputService12TestShapeRecursiveStructType) SetRecursiveList(v []*InputService12TestShapeRecursiveStructType) *InputService12TestShapeRecursiveStructType { - s.RecursiveList = v - return s -} - -// SetRecursiveMap sets the RecursiveMap field's value. -func (s *InputService12TestShapeRecursiveStructType) SetRecursiveMap(v map[string]*InputService12TestShapeRecursiveStructType) *InputService12TestShapeRecursiveStructType { - s.RecursiveMap = v - return s -} - -// SetRecursiveStruct sets the RecursiveStruct field's value. -func (s *InputService12TestShapeRecursiveStructType) SetRecursiveStruct(v *InputService12TestShapeRecursiveStructType) *InputService12TestShapeRecursiveStructType { - s.RecursiveStruct = v - return s -} - // InputService13ProtocolTest provides the API operation methods for making requests to // . See this package's package overview docs // for details on the service. @@ -2624,19 +2196,18 @@ const opInputService13TestCaseOperation1 = "OperationName" // InputService13TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService13TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService13TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService13TestCaseOperation1 method directly -// instead. +// See InputService13TestCaseOperation1 for more information on using the InputService13TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService13TestCaseOperation1Request method. // req, resp := client.InputService13TestCaseOperation1Request(params) @@ -2645,15 +2216,14 @@ const opInputService13TestCaseOperation1 = "OperationName" // if err == nil { // resp is now filled // fmt.Println(resp) // } -func (c *InputService13ProtocolTest) InputService13TestCaseOperation1Request(input *InputService13TestShapeInputService13TestCaseOperation2Input) (req *request.Request, output *InputService13TestShapeInputService13TestCaseOperation1Output) { +func (c *InputService13ProtocolTest) InputService13TestCaseOperation1Request(input *InputService13TestShapeInputService13TestCaseOperation6Input) (req *request.Request, output *InputService13TestShapeInputService13TestCaseOperation1Output) { op := &request.Operation{ - Name: opInputService13TestCaseOperation1, - HTTPMethod: "POST", - HTTPPath: "/", + Name: opInputService13TestCaseOperation1, + HTTPPath: "/", } if input == nil { - input = &InputService13TestShapeInputService13TestCaseOperation2Input{} + input = &InputService13TestShapeInputService13TestCaseOperation6Input{} } output = &InputService13TestShapeInputService13TestCaseOperation1Output{} @@ -2671,7 +2241,7 @@ func (c *InputService13ProtocolTest) InputService13TestCaseOperation1Request(inp // // See the AWS API reference guide for 's // API operation InputService13TestCaseOperation1 for usage and error information. -func (c *InputService13ProtocolTest) InputService13TestCaseOperation1(input *InputService13TestShapeInputService13TestCaseOperation2Input) (*InputService13TestShapeInputService13TestCaseOperation1Output, error) { +func (c *InputService13ProtocolTest) InputService13TestCaseOperation1(input *InputService13TestShapeInputService13TestCaseOperation6Input) (*InputService13TestShapeInputService13TestCaseOperation1Output, error) { req, out := c.InputService13TestCaseOperation1Request(input) return out, req.Send() } @@ -2685,7 +2255,7 @@ func (c *InputService13ProtocolTest) InputService13TestCaseOperation1(input *Inp // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *InputService13ProtocolTest) InputService13TestCaseOperation1WithContext(ctx aws.Context, input *InputService13TestShapeInputService13TestCaseOperation2Input, opts ...request.Option) (*InputService13TestShapeInputService13TestCaseOperation1Output, error) { +func (c *InputService13ProtocolTest) InputService13TestCaseOperation1WithContext(ctx aws.Context, input *InputService13TestShapeInputService13TestCaseOperation6Input, opts ...request.Option) (*InputService13TestShapeInputService13TestCaseOperation1Output, error) { req, out := c.InputService13TestCaseOperation1Request(input) req.SetContext(ctx) req.ApplyOptions(opts...) @@ -2696,19 +2266,18 @@ const opInputService13TestCaseOperation2 = "OperationName" // InputService13TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the InputService13TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService13TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService13TestCaseOperation2 method directly -// instead. +// See InputService13TestCaseOperation2 for more information on using the InputService13TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService13TestCaseOperation2Request method. // req, resp := client.InputService13TestCaseOperation2Request(params) @@ -2717,15 +2286,14 @@ const opInputService13TestCaseOperation2 = "OperationName" // if err == nil { // resp is now filled // fmt.Println(resp) // } -func (c *InputService13ProtocolTest) InputService13TestCaseOperation2Request(input *InputService13TestShapeInputService13TestCaseOperation2Input) (req *request.Request, output *InputService13TestShapeInputService13TestCaseOperation2Output) { +func (c *InputService13ProtocolTest) InputService13TestCaseOperation2Request(input *InputService13TestShapeInputService13TestCaseOperation6Input) (req *request.Request, output *InputService13TestShapeInputService13TestCaseOperation2Output) { op := &request.Operation{ - Name: opInputService13TestCaseOperation2, - HTTPMethod: "POST", - HTTPPath: "/", + Name: opInputService13TestCaseOperation2, + HTTPPath: "/", } if input == nil { - input = &InputService13TestShapeInputService13TestCaseOperation2Input{} + input = &InputService13TestShapeInputService13TestCaseOperation6Input{} } output = &InputService13TestShapeInputService13TestCaseOperation2Output{} @@ -2743,7 +2311,7 @@ func (c *InputService13ProtocolTest) InputService13TestCaseOperation2Request(inp // // See the AWS API reference guide for 's // API operation InputService13TestCaseOperation2 for usage and error information. -func (c *InputService13ProtocolTest) InputService13TestCaseOperation2(input *InputService13TestShapeInputService13TestCaseOperation2Input) (*InputService13TestShapeInputService13TestCaseOperation2Output, error) { +func (c *InputService13ProtocolTest) InputService13TestCaseOperation2(input *InputService13TestShapeInputService13TestCaseOperation6Input) (*InputService13TestShapeInputService13TestCaseOperation2Output, error) { req, out := c.InputService13TestCaseOperation2Request(input) return out, req.Send() } @@ -2757,30 +2325,583 @@ func (c *InputService13ProtocolTest) InputService13TestCaseOperation2(input *Inp // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *InputService13ProtocolTest) InputService13TestCaseOperation2WithContext(ctx aws.Context, input *InputService13TestShapeInputService13TestCaseOperation2Input, opts ...request.Option) (*InputService13TestShapeInputService13TestCaseOperation2Output, error) { +func (c *InputService13ProtocolTest) InputService13TestCaseOperation2WithContext(ctx aws.Context, input *InputService13TestShapeInputService13TestCaseOperation6Input, opts ...request.Option) (*InputService13TestShapeInputService13TestCaseOperation2Output, error) { req, out := c.InputService13TestCaseOperation2Request(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } +const opInputService13TestCaseOperation3 = "OperationName" + +// InputService13TestCaseOperation3Request generates a "aws/request.Request" representing the +// client's request for the InputService13TestCaseOperation3 operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See InputService13TestCaseOperation3 for more information on using the InputService13TestCaseOperation3 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the InputService13TestCaseOperation3Request method. +// req, resp := client.InputService13TestCaseOperation3Request(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *InputService13ProtocolTest) InputService13TestCaseOperation3Request(input *InputService13TestShapeInputService13TestCaseOperation6Input) (req *request.Request, output *InputService13TestShapeInputService13TestCaseOperation3Output) { + op := &request.Operation{ + Name: opInputService13TestCaseOperation3, + HTTPPath: "/", + } + + if input == nil { + input = &InputService13TestShapeInputService13TestCaseOperation6Input{} + } + + output = &InputService13TestShapeInputService13TestCaseOperation3Output{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + return +} + +// InputService13TestCaseOperation3 API operation for . +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for 's +// API operation InputService13TestCaseOperation3 for usage and error information. +func (c *InputService13ProtocolTest) InputService13TestCaseOperation3(input *InputService13TestShapeInputService13TestCaseOperation6Input) (*InputService13TestShapeInputService13TestCaseOperation3Output, error) { + req, out := c.InputService13TestCaseOperation3Request(input) + return out, req.Send() +} + +// InputService13TestCaseOperation3WithContext is the same as InputService13TestCaseOperation3 with the addition of +// the ability to pass a context and additional request options. +// +// See InputService13TestCaseOperation3 for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *InputService13ProtocolTest) InputService13TestCaseOperation3WithContext(ctx aws.Context, input *InputService13TestShapeInputService13TestCaseOperation6Input, opts ...request.Option) (*InputService13TestShapeInputService13TestCaseOperation3Output, error) { + req, out := c.InputService13TestCaseOperation3Request(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opInputService13TestCaseOperation4 = "OperationName" + +// InputService13TestCaseOperation4Request generates a "aws/request.Request" representing the +// client's request for the InputService13TestCaseOperation4 operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See InputService13TestCaseOperation4 for more information on using the InputService13TestCaseOperation4 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the InputService13TestCaseOperation4Request method. +// req, resp := client.InputService13TestCaseOperation4Request(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *InputService13ProtocolTest) InputService13TestCaseOperation4Request(input *InputService13TestShapeInputService13TestCaseOperation6Input) (req *request.Request, output *InputService13TestShapeInputService13TestCaseOperation4Output) { + op := &request.Operation{ + Name: opInputService13TestCaseOperation4, + HTTPPath: "/", + } + + if input == nil { + input = &InputService13TestShapeInputService13TestCaseOperation6Input{} + } + + output = &InputService13TestShapeInputService13TestCaseOperation4Output{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + return +} + +// InputService13TestCaseOperation4 API operation for . +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for 's +// API operation InputService13TestCaseOperation4 for usage and error information. +func (c *InputService13ProtocolTest) InputService13TestCaseOperation4(input *InputService13TestShapeInputService13TestCaseOperation6Input) (*InputService13TestShapeInputService13TestCaseOperation4Output, error) { + req, out := c.InputService13TestCaseOperation4Request(input) + return out, req.Send() +} + +// InputService13TestCaseOperation4WithContext is the same as InputService13TestCaseOperation4 with the addition of +// the ability to pass a context and additional request options. +// +// See InputService13TestCaseOperation4 for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *InputService13ProtocolTest) InputService13TestCaseOperation4WithContext(ctx aws.Context, input *InputService13TestShapeInputService13TestCaseOperation6Input, opts ...request.Option) (*InputService13TestShapeInputService13TestCaseOperation4Output, error) { + req, out := c.InputService13TestCaseOperation4Request(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opInputService13TestCaseOperation5 = "OperationName" + +// InputService13TestCaseOperation5Request generates a "aws/request.Request" representing the +// client's request for the InputService13TestCaseOperation5 operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See InputService13TestCaseOperation5 for more information on using the InputService13TestCaseOperation5 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the InputService13TestCaseOperation5Request method. +// req, resp := client.InputService13TestCaseOperation5Request(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *InputService13ProtocolTest) InputService13TestCaseOperation5Request(input *InputService13TestShapeInputService13TestCaseOperation6Input) (req *request.Request, output *InputService13TestShapeInputService13TestCaseOperation5Output) { + op := &request.Operation{ + Name: opInputService13TestCaseOperation5, + HTTPPath: "/", + } + + if input == nil { + input = &InputService13TestShapeInputService13TestCaseOperation6Input{} + } + + output = &InputService13TestShapeInputService13TestCaseOperation5Output{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + return +} + +// InputService13TestCaseOperation5 API operation for . +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for 's +// API operation InputService13TestCaseOperation5 for usage and error information. +func (c *InputService13ProtocolTest) InputService13TestCaseOperation5(input *InputService13TestShapeInputService13TestCaseOperation6Input) (*InputService13TestShapeInputService13TestCaseOperation5Output, error) { + req, out := c.InputService13TestCaseOperation5Request(input) + return out, req.Send() +} + +// InputService13TestCaseOperation5WithContext is the same as InputService13TestCaseOperation5 with the addition of +// the ability to pass a context and additional request options. +// +// See InputService13TestCaseOperation5 for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *InputService13ProtocolTest) InputService13TestCaseOperation5WithContext(ctx aws.Context, input *InputService13TestShapeInputService13TestCaseOperation6Input, opts ...request.Option) (*InputService13TestShapeInputService13TestCaseOperation5Output, error) { + req, out := c.InputService13TestCaseOperation5Request(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opInputService13TestCaseOperation6 = "OperationName" + +// InputService13TestCaseOperation6Request generates a "aws/request.Request" representing the +// client's request for the InputService13TestCaseOperation6 operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See InputService13TestCaseOperation6 for more information on using the InputService13TestCaseOperation6 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the InputService13TestCaseOperation6Request method. +// req, resp := client.InputService13TestCaseOperation6Request(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *InputService13ProtocolTest) InputService13TestCaseOperation6Request(input *InputService13TestShapeInputService13TestCaseOperation6Input) (req *request.Request, output *InputService13TestShapeInputService13TestCaseOperation6Output) { + op := &request.Operation{ + Name: opInputService13TestCaseOperation6, + HTTPPath: "/", + } + + if input == nil { + input = &InputService13TestShapeInputService13TestCaseOperation6Input{} + } + + output = &InputService13TestShapeInputService13TestCaseOperation6Output{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + return +} + +// InputService13TestCaseOperation6 API operation for . +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for 's +// API operation InputService13TestCaseOperation6 for usage and error information. +func (c *InputService13ProtocolTest) InputService13TestCaseOperation6(input *InputService13TestShapeInputService13TestCaseOperation6Input) (*InputService13TestShapeInputService13TestCaseOperation6Output, error) { + req, out := c.InputService13TestCaseOperation6Request(input) + return out, req.Send() +} + +// InputService13TestCaseOperation6WithContext is the same as InputService13TestCaseOperation6 with the addition of +// the ability to pass a context and additional request options. +// +// See InputService13TestCaseOperation6 for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *InputService13ProtocolTest) InputService13TestCaseOperation6WithContext(ctx aws.Context, input *InputService13TestShapeInputService13TestCaseOperation6Input, opts ...request.Option) (*InputService13TestShapeInputService13TestCaseOperation6Output, error) { + req, out := c.InputService13TestCaseOperation6Request(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + type InputService13TestShapeInputService13TestCaseOperation1Output struct { _ struct{} `type:"structure"` } -type InputService13TestShapeInputService13TestCaseOperation2Input struct { +type InputService13TestShapeInputService13TestCaseOperation2Output struct { + _ struct{} `type:"structure"` +} + +type InputService13TestShapeInputService13TestCaseOperation3Output struct { + _ struct{} `type:"structure"` +} + +type InputService13TestShapeInputService13TestCaseOperation4Output struct { + _ struct{} `type:"structure"` +} + +type InputService13TestShapeInputService13TestCaseOperation5Output struct { + _ struct{} `type:"structure"` +} + +type InputService13TestShapeInputService13TestCaseOperation6Input struct { + _ struct{} `type:"structure"` + + RecursiveStruct *InputService13TestShapeRecursiveStructType `type:"structure"` +} + +// SetRecursiveStruct sets the RecursiveStruct field's value. +func (s *InputService13TestShapeInputService13TestCaseOperation6Input) SetRecursiveStruct(v *InputService13TestShapeRecursiveStructType) *InputService13TestShapeInputService13TestCaseOperation6Input { + s.RecursiveStruct = v + return s +} + +type InputService13TestShapeInputService13TestCaseOperation6Output struct { + _ struct{} `type:"structure"` +} + +type InputService13TestShapeRecursiveStructType struct { + _ struct{} `type:"structure"` + + NoRecurse *string `type:"string"` + + RecursiveList []*InputService13TestShapeRecursiveStructType `type:"list"` + + RecursiveMap map[string]*InputService13TestShapeRecursiveStructType `type:"map"` + + RecursiveStruct *InputService13TestShapeRecursiveStructType `type:"structure"` +} + +// SetNoRecurse sets the NoRecurse field's value. +func (s *InputService13TestShapeRecursiveStructType) SetNoRecurse(v string) *InputService13TestShapeRecursiveStructType { + s.NoRecurse = &v + return s +} + +// SetRecursiveList sets the RecursiveList field's value. +func (s *InputService13TestShapeRecursiveStructType) SetRecursiveList(v []*InputService13TestShapeRecursiveStructType) *InputService13TestShapeRecursiveStructType { + s.RecursiveList = v + return s +} + +// SetRecursiveMap sets the RecursiveMap field's value. +func (s *InputService13TestShapeRecursiveStructType) SetRecursiveMap(v map[string]*InputService13TestShapeRecursiveStructType) *InputService13TestShapeRecursiveStructType { + s.RecursiveMap = v + return s +} + +// SetRecursiveStruct sets the RecursiveStruct field's value. +func (s *InputService13TestShapeRecursiveStructType) SetRecursiveStruct(v *InputService13TestShapeRecursiveStructType) *InputService13TestShapeRecursiveStructType { + s.RecursiveStruct = v + return s +} + +// InputService14ProtocolTest provides the API operation methods for making requests to +// . See this package's package overview docs +// for details on the service. +// +// InputService14ProtocolTest methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type InputService14ProtocolTest struct { + *client.Client +} + +// New creates a new instance of the InputService14ProtocolTest client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// // Create a InputService14ProtocolTest client from just a session. +// svc := inputservice14protocoltest.New(mySession) +// +// // Create a InputService14ProtocolTest client with additional configuration +// svc := inputservice14protocoltest.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func NewInputService14ProtocolTest(p client.ConfigProvider, cfgs ...*aws.Config) *InputService14ProtocolTest { + c := p.ClientConfig("inputservice14protocoltest", cfgs...) + return newInputService14ProtocolTestClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion, c.SigningName) +} + +// newClient creates, initializes and returns a new service client instance. +func newInputService14ProtocolTestClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion, signingName string) *InputService14ProtocolTest { + svc := &InputService14ProtocolTest{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: "inputservice14protocoltest", + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2014-01-01", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(query.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(query.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler) + + return svc +} + +// newRequest creates a new request for a InputService14ProtocolTest operation and runs any +// custom request initialization. +func (c *InputService14ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + return req +} + +const opInputService14TestCaseOperation1 = "OperationName" + +// InputService14TestCaseOperation1Request generates a "aws/request.Request" representing the +// client's request for the InputService14TestCaseOperation1 operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See InputService14TestCaseOperation1 for more information on using the InputService14TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the InputService14TestCaseOperation1Request method. +// req, resp := client.InputService14TestCaseOperation1Request(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *InputService14ProtocolTest) InputService14TestCaseOperation1Request(input *InputService14TestShapeInputService14TestCaseOperation2Input) (req *request.Request, output *InputService14TestShapeInputService14TestCaseOperation1Output) { + op := &request.Operation{ + Name: opInputService14TestCaseOperation1, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &InputService14TestShapeInputService14TestCaseOperation2Input{} + } + + output = &InputService14TestShapeInputService14TestCaseOperation1Output{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + return +} + +// InputService14TestCaseOperation1 API operation for . +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for 's +// API operation InputService14TestCaseOperation1 for usage and error information. +func (c *InputService14ProtocolTest) InputService14TestCaseOperation1(input *InputService14TestShapeInputService14TestCaseOperation2Input) (*InputService14TestShapeInputService14TestCaseOperation1Output, error) { + req, out := c.InputService14TestCaseOperation1Request(input) + return out, req.Send() +} + +// InputService14TestCaseOperation1WithContext is the same as InputService14TestCaseOperation1 with the addition of +// the ability to pass a context and additional request options. +// +// See InputService14TestCaseOperation1 for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *InputService14ProtocolTest) InputService14TestCaseOperation1WithContext(ctx aws.Context, input *InputService14TestShapeInputService14TestCaseOperation2Input, opts ...request.Option) (*InputService14TestShapeInputService14TestCaseOperation1Output, error) { + req, out := c.InputService14TestCaseOperation1Request(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opInputService14TestCaseOperation2 = "OperationName" + +// InputService14TestCaseOperation2Request generates a "aws/request.Request" representing the +// client's request for the InputService14TestCaseOperation2 operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See InputService14TestCaseOperation2 for more information on using the InputService14TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the InputService14TestCaseOperation2Request method. +// req, resp := client.InputService14TestCaseOperation2Request(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *InputService14ProtocolTest) InputService14TestCaseOperation2Request(input *InputService14TestShapeInputService14TestCaseOperation2Input) (req *request.Request, output *InputService14TestShapeInputService14TestCaseOperation2Output) { + op := &request.Operation{ + Name: opInputService14TestCaseOperation2, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &InputService14TestShapeInputService14TestCaseOperation2Input{} + } + + output = &InputService14TestShapeInputService14TestCaseOperation2Output{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + return +} + +// InputService14TestCaseOperation2 API operation for . +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for 's +// API operation InputService14TestCaseOperation2 for usage and error information. +func (c *InputService14ProtocolTest) InputService14TestCaseOperation2(input *InputService14TestShapeInputService14TestCaseOperation2Input) (*InputService14TestShapeInputService14TestCaseOperation2Output, error) { + req, out := c.InputService14TestCaseOperation2Request(input) + return out, req.Send() +} + +// InputService14TestCaseOperation2WithContext is the same as InputService14TestCaseOperation2 with the addition of +// the ability to pass a context and additional request options. +// +// See InputService14TestCaseOperation2 for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *InputService14ProtocolTest) InputService14TestCaseOperation2WithContext(ctx aws.Context, input *InputService14TestShapeInputService14TestCaseOperation2Input, opts ...request.Option) (*InputService14TestShapeInputService14TestCaseOperation2Output, error) { + req, out := c.InputService14TestCaseOperation2Request(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +type InputService14TestShapeInputService14TestCaseOperation1Output struct { + _ struct{} `type:"structure"` +} + +type InputService14TestShapeInputService14TestCaseOperation2Input struct { _ struct{} `type:"structure"` Token *string `type:"string" idempotencyToken:"true"` } // SetToken sets the Token field's value. -func (s *InputService13TestShapeInputService13TestCaseOperation2Input) SetToken(v string) *InputService13TestShapeInputService13TestCaseOperation2Input { +func (s *InputService14TestShapeInputService14TestCaseOperation2Input) SetToken(v string) *InputService14TestShapeInputService14TestCaseOperation2Input { s.Token = &v return s } -type InputService13TestShapeInputService13TestCaseOperation2Output struct { +type InputService14TestShapeInputService14TestCaseOperation2Output struct { _ struct{} `type:"structure"` } @@ -2799,10 +2920,14 @@ func TestInputService1ProtocolTestScalarMembersCase1(t *testing.T) { // build request query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&Bar=val2&Foo=val1&Version=2014-01-01`, util.Trim(string(body))) @@ -2823,10 +2948,14 @@ func TestInputService1ProtocolTestScalarMembersCase2(t *testing.T) { // build request query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&Baz=true&Version=2014-01-01`, util.Trim(string(body))) @@ -2847,10 +2976,14 @@ func TestInputService1ProtocolTestScalarMembersCase3(t *testing.T) { // build request query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&Baz=false&Version=2014-01-01`, util.Trim(string(body))) @@ -2873,10 +3006,14 @@ func TestInputService2ProtocolTestNestedStructureMembersCase1(t *testing.T) { // build request query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&StructArg.ScalarArg=foo&Version=2014-01-01`, util.Trim(string(body))) @@ -2901,10 +3038,14 @@ func TestInputService3ProtocolTestListTypesCase1(t *testing.T) { // build request query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&ListArg.member.1=foo&ListArg.member.2=bar&ListArg.member.3=baz&Version=2014-01-01`, util.Trim(string(body))) @@ -2925,10 +3066,14 @@ func TestInputService3ProtocolTestListTypesCase2(t *testing.T) { // build request query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&ListArg=&Version=2014-01-01`, util.Trim(string(body))) @@ -2954,10 +3099,14 @@ func TestInputService4ProtocolTestFlattenedListCase1(t *testing.T) { // build request query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&ListArg.1=a&ListArg.2=b&ListArg.3=c&ScalarArg=foo&Version=2014-01-01`, util.Trim(string(body))) @@ -2980,10 +3129,14 @@ func TestInputService4ProtocolTestFlattenedListCase2(t *testing.T) { // build request query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&Foo.1=a&Version=2014-01-01`, util.Trim(string(body))) @@ -3007,10 +3160,14 @@ func TestInputService5ProtocolTestSerializeFlattenedMapTypeCase1(t *testing.T) { // build request query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&MapArg.1.key=key1&MapArg.1.value=val1&MapArg.2.key=key2&MapArg.2.value=val2&Version=2014-01-01`, util.Trim(string(body))) @@ -3035,10 +3192,14 @@ func TestInputService6ProtocolTestNonFlattenedListWithLocationNameCase1(t *testi // build request query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&ListArg.item.1=a&ListArg.item.2=b&ListArg.item.3=c&Version=2014-01-01`, util.Trim(string(body))) @@ -3064,10 +3225,14 @@ func TestInputService7ProtocolTestFlattenedListWithLocationNameCase1(t *testing. // build request query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&ListArgLocation.1=a&ListArgLocation.2=b&ListArgLocation.3=c&ScalarArg=foo&Version=2014-01-01`, util.Trim(string(body))) @@ -3091,10 +3256,14 @@ func TestInputService8ProtocolTestSerializeMapTypeCase1(t *testing.T) { // build request query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&MapArg.entry.1.key=key1&MapArg.entry.1.value=val1&MapArg.entry.2.key=key2&MapArg.entry.2.value=val2&Version=2014-01-01`, util.Trim(string(body))) @@ -3118,10 +3287,14 @@ func TestInputService9ProtocolTestSerializeMapTypeWithLocationNameCase1(t *testi // build request query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&MapArg.entry.1.TheKey=key1&MapArg.entry.1.TheValue=val1&MapArg.entry.2.TheKey=key2&MapArg.entry.2.TheValue=val2&Version=2014-01-01`, util.Trim(string(body))) @@ -3142,10 +3315,14 @@ func TestInputService10ProtocolTestBase64EncodedBlobsCase1(t *testing.T) { // build request query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&BlobArg=Zm9v&Version=2014-01-01`, util.Trim(string(body))) @@ -3156,20 +3333,54 @@ func TestInputService10ProtocolTestBase64EncodedBlobsCase1(t *testing.T) { } -func TestInputService11ProtocolTestTimestampValuesCase1(t *testing.T) { +func TestInputService11ProtocolTestBase64EncodedBlobsNestedCase1(t *testing.T) { svc := NewInputService11ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")}) input := &InputService11TestShapeInputService11TestCaseOperation1Input{ - TimeArg: aws.Time(time.Unix(1422172800, 0)), + BlobArgs: [][]byte{ + []byte("foo"), + }, } req, _ := svc.InputService11TestCaseOperation1Request(input) r := req.HTTPRequest // build request query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } + body, _ := ioutil.ReadAll(r.Body) + awstesting.AssertQuery(t, `Action=OperationName&BlobArgs.1=Zm9v&Version=2014-01-01`, util.Trim(string(body))) + + // assert URL + awstesting.AssertURL(t, "https://test/", r.URL.String()) + + // assert headers + +} + +func TestInputService12ProtocolTestTimestampValuesCase1(t *testing.T) { + svc := NewInputService12ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")}) + input := &InputService12TestShapeInputService12TestCaseOperation1Input{ + TimeArg: aws.Time(time.Unix(1422172800, 0)), + } + req, _ := svc.InputService12TestCaseOperation1Request(input) + r := req.HTTPRequest + + // build request + query.Build(req) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } + + // assert body + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&TimeArg=2015-01-25T08%3A00%3A00Z&Version=2014-01-01`, util.Trim(string(body))) @@ -3180,22 +3391,26 @@ func TestInputService11ProtocolTestTimestampValuesCase1(t *testing.T) { } -func TestInputService12ProtocolTestRecursiveShapesCase1(t *testing.T) { - svc := NewInputService12ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")}) - input := &InputService12TestShapeInputService12TestCaseOperation6Input{ - RecursiveStruct: &InputService12TestShapeRecursiveStructType{ +func TestInputService13ProtocolTestRecursiveShapesCase1(t *testing.T) { + svc := NewInputService13ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")}) + input := &InputService13TestShapeInputService13TestCaseOperation6Input{ + RecursiveStruct: &InputService13TestShapeRecursiveStructType{ NoRecurse: aws.String("foo"), }, } - req, _ := svc.InputService12TestCaseOperation1Request(input) + req, _ := svc.InputService13TestCaseOperation1Request(input) r := req.HTTPRequest // build request query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&RecursiveStruct.NoRecurse=foo&Version=2014-01-01`, util.Trim(string(body))) @@ -3206,24 +3421,28 @@ func TestInputService12ProtocolTestRecursiveShapesCase1(t *testing.T) { } -func TestInputService12ProtocolTestRecursiveShapesCase2(t *testing.T) { - svc := NewInputService12ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")}) - input := &InputService12TestShapeInputService12TestCaseOperation6Input{ - RecursiveStruct: &InputService12TestShapeRecursiveStructType{ - RecursiveStruct: &InputService12TestShapeRecursiveStructType{ +func TestInputService13ProtocolTestRecursiveShapesCase2(t *testing.T) { + svc := NewInputService13ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")}) + input := &InputService13TestShapeInputService13TestCaseOperation6Input{ + RecursiveStruct: &InputService13TestShapeRecursiveStructType{ + RecursiveStruct: &InputService13TestShapeRecursiveStructType{ NoRecurse: aws.String("foo"), }, }, } - req, _ := svc.InputService12TestCaseOperation2Request(input) + req, _ := svc.InputService13TestCaseOperation2Request(input) r := req.HTTPRequest // build request query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&RecursiveStruct.RecursiveStruct.NoRecurse=foo&Version=2014-01-01`, util.Trim(string(body))) @@ -3234,28 +3453,32 @@ func TestInputService12ProtocolTestRecursiveShapesCase2(t *testing.T) { } -func TestInputService12ProtocolTestRecursiveShapesCase3(t *testing.T) { - svc := NewInputService12ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")}) - input := &InputService12TestShapeInputService12TestCaseOperation6Input{ - RecursiveStruct: &InputService12TestShapeRecursiveStructType{ - RecursiveStruct: &InputService12TestShapeRecursiveStructType{ - RecursiveStruct: &InputService12TestShapeRecursiveStructType{ - RecursiveStruct: &InputService12TestShapeRecursiveStructType{ +func TestInputService13ProtocolTestRecursiveShapesCase3(t *testing.T) { + svc := NewInputService13ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")}) + input := &InputService13TestShapeInputService13TestCaseOperation6Input{ + RecursiveStruct: &InputService13TestShapeRecursiveStructType{ + RecursiveStruct: &InputService13TestShapeRecursiveStructType{ + RecursiveStruct: &InputService13TestShapeRecursiveStructType{ + RecursiveStruct: &InputService13TestShapeRecursiveStructType{ NoRecurse: aws.String("foo"), }, }, }, }, } - req, _ := svc.InputService12TestCaseOperation3Request(input) + req, _ := svc.InputService13TestCaseOperation3Request(input) r := req.HTTPRequest // build request query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&RecursiveStruct.RecursiveStruct.RecursiveStruct.RecursiveStruct.NoRecurse=foo&Version=2014-01-01`, util.Trim(string(body))) @@ -3266,11 +3489,11 @@ func TestInputService12ProtocolTestRecursiveShapesCase3(t *testing.T) { } -func TestInputService12ProtocolTestRecursiveShapesCase4(t *testing.T) { - svc := NewInputService12ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")}) - input := &InputService12TestShapeInputService12TestCaseOperation6Input{ - RecursiveStruct: &InputService12TestShapeRecursiveStructType{ - RecursiveList: []*InputService12TestShapeRecursiveStructType{ +func TestInputService13ProtocolTestRecursiveShapesCase4(t *testing.T) { + svc := NewInputService13ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")}) + input := &InputService13TestShapeInputService13TestCaseOperation6Input{ + RecursiveStruct: &InputService13TestShapeRecursiveStructType{ + RecursiveList: []*InputService13TestShapeRecursiveStructType{ { NoRecurse: aws.String("foo"), }, @@ -3280,15 +3503,19 @@ func TestInputService12ProtocolTestRecursiveShapesCase4(t *testing.T) { }, }, } - req, _ := svc.InputService12TestCaseOperation4Request(input) + req, _ := svc.InputService13TestCaseOperation4Request(input) r := req.HTTPRequest // build request query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&RecursiveStruct.RecursiveList.member.1.NoRecurse=foo&RecursiveStruct.RecursiveList.member.2.NoRecurse=bar&Version=2014-01-01`, util.Trim(string(body))) @@ -3299,31 +3526,35 @@ func TestInputService12ProtocolTestRecursiveShapesCase4(t *testing.T) { } -func TestInputService12ProtocolTestRecursiveShapesCase5(t *testing.T) { - svc := NewInputService12ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")}) - input := &InputService12TestShapeInputService12TestCaseOperation6Input{ - RecursiveStruct: &InputService12TestShapeRecursiveStructType{ - RecursiveList: []*InputService12TestShapeRecursiveStructType{ +func TestInputService13ProtocolTestRecursiveShapesCase5(t *testing.T) { + svc := NewInputService13ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")}) + input := &InputService13TestShapeInputService13TestCaseOperation6Input{ + RecursiveStruct: &InputService13TestShapeRecursiveStructType{ + RecursiveList: []*InputService13TestShapeRecursiveStructType{ { NoRecurse: aws.String("foo"), }, { - RecursiveStruct: &InputService12TestShapeRecursiveStructType{ + RecursiveStruct: &InputService13TestShapeRecursiveStructType{ NoRecurse: aws.String("bar"), }, }, }, }, } - req, _ := svc.InputService12TestCaseOperation5Request(input) + req, _ := svc.InputService13TestCaseOperation5Request(input) r := req.HTTPRequest // build request query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&RecursiveStruct.RecursiveList.member.1.NoRecurse=foo&RecursiveStruct.RecursiveList.member.2.RecursiveStruct.NoRecurse=bar&Version=2014-01-01`, util.Trim(string(body))) @@ -3334,11 +3565,11 @@ func TestInputService12ProtocolTestRecursiveShapesCase5(t *testing.T) { } -func TestInputService12ProtocolTestRecursiveShapesCase6(t *testing.T) { - svc := NewInputService12ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")}) - input := &InputService12TestShapeInputService12TestCaseOperation6Input{ - RecursiveStruct: &InputService12TestShapeRecursiveStructType{ - RecursiveMap: map[string]*InputService12TestShapeRecursiveStructType{ +func TestInputService13ProtocolTestRecursiveShapesCase6(t *testing.T) { + svc := NewInputService13ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")}) + input := &InputService13TestShapeInputService13TestCaseOperation6Input{ + RecursiveStruct: &InputService13TestShapeRecursiveStructType{ + RecursiveMap: map[string]*InputService13TestShapeRecursiveStructType{ "bar": { NoRecurse: aws.String("bar"), }, @@ -3348,15 +3579,19 @@ func TestInputService12ProtocolTestRecursiveShapesCase6(t *testing.T) { }, }, } - req, _ := svc.InputService12TestCaseOperation6Request(input) + req, _ := svc.InputService13TestCaseOperation6Request(input) r := req.HTTPRequest // build request query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&RecursiveStruct.RecursiveMap.entry.1.key=foo&RecursiveStruct.RecursiveMap.entry.1.value.NoRecurse=foo&RecursiveStruct.RecursiveMap.entry.2.key=bar&RecursiveStruct.RecursiveMap.entry.2.value.NoRecurse=bar&Version=2014-01-01`, util.Trim(string(body))) @@ -3367,20 +3602,24 @@ func TestInputService12ProtocolTestRecursiveShapesCase6(t *testing.T) { } -func TestInputService13ProtocolTestIdempotencyTokenAutoFillCase1(t *testing.T) { - svc := NewInputService13ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")}) - input := &InputService13TestShapeInputService13TestCaseOperation2Input{ +func TestInputService14ProtocolTestIdempotencyTokenAutoFillCase1(t *testing.T) { + svc := NewInputService14ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")}) + input := &InputService14TestShapeInputService14TestCaseOperation2Input{ Token: aws.String("abc123"), } - req, _ := svc.InputService13TestCaseOperation1Request(input) + req, _ := svc.InputService14TestCaseOperation1Request(input) r := req.HTTPRequest // build request query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&Token=abc123&Version=2014-01-01`, util.Trim(string(body))) @@ -3391,18 +3630,22 @@ func TestInputService13ProtocolTestIdempotencyTokenAutoFillCase1(t *testing.T) { } -func TestInputService13ProtocolTestIdempotencyTokenAutoFillCase2(t *testing.T) { - svc := NewInputService13ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")}) - input := &InputService13TestShapeInputService13TestCaseOperation2Input{} - req, _ := svc.InputService13TestCaseOperation2Request(input) +func TestInputService14ProtocolTestIdempotencyTokenAutoFillCase2(t *testing.T) { + svc := NewInputService14ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")}) + input := &InputService14TestShapeInputService14TestCaseOperation2Input{} + req, _ := svc.InputService14TestCaseOperation2Request(input) r := req.HTTPRequest // build request query.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&Token=00000000-0000-4000-8000-000000000000&Version=2014-01-01`, util.Trim(string(body))) diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go index 524ca952a..5ce9cba32 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go @@ -121,6 +121,10 @@ func (q *queryParser) parseList(v url.Values, value reflect.Value, prefix string return nil } + if _, ok := value.Interface().([]byte); ok { + return q.parseScalar(v, value, prefix, tag) + } + // check for unflattened list member if !q.isEC2 && tag.Get("flattened") == "" { if listName := tag.Get("locationNameList"); listName == "" { diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal_test.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal_test.go index 76b230940..c13bc06e5 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal_test.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal_test.go @@ -24,7 +24,6 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/query" "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil" "github.com/aws/aws-sdk-go/private/util" - "github.com/stretchr/testify/assert" ) var _ bytes.Buffer // always import bytes @@ -108,19 +107,18 @@ const opOutputService1TestCaseOperation1 = "OperationName" // OutputService1TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService1TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService1TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService1TestCaseOperation1 method directly -// instead. +// See OutputService1TestCaseOperation1 for more information on using the OutputService1TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService1TestCaseOperation1Request method. // req, resp := client.OutputService1TestCaseOperation1Request(params) @@ -316,19 +314,18 @@ const opOutputService2TestCaseOperation1 = "OperationName" // OutputService2TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService2TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService2TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService2TestCaseOperation1 method directly -// instead. +// See OutputService2TestCaseOperation1 for more information on using the OutputService2TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService2TestCaseOperation1Request method. // req, resp := client.OutputService2TestCaseOperation1Request(params) @@ -468,19 +465,18 @@ const opOutputService3TestCaseOperation1 = "OperationName" // OutputService3TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService3TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService3TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService3TestCaseOperation1 method directly -// instead. +// See OutputService3TestCaseOperation1 for more information on using the OutputService3TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService3TestCaseOperation1Request method. // req, resp := client.OutputService3TestCaseOperation1Request(params) @@ -613,19 +609,18 @@ const opOutputService4TestCaseOperation1 = "OperationName" // OutputService4TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService4TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService4TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService4TestCaseOperation1 method directly -// instead. +// See OutputService4TestCaseOperation1 for more information on using the OutputService4TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService4TestCaseOperation1Request method. // req, resp := client.OutputService4TestCaseOperation1Request(params) @@ -757,19 +752,18 @@ const opOutputService5TestCaseOperation1 = "OperationName" // OutputService5TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService5TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService5TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService5TestCaseOperation1 method directly -// instead. +// See OutputService5TestCaseOperation1 for more information on using the OutputService5TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService5TestCaseOperation1Request method. // req, resp := client.OutputService5TestCaseOperation1Request(params) @@ -901,19 +895,18 @@ const opOutputService6TestCaseOperation1 = "OperationName" // OutputService6TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService6TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService6TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService6TestCaseOperation1 method directly -// instead. +// See OutputService6TestCaseOperation1 for more information on using the OutputService6TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService6TestCaseOperation1Request method. // req, resp := client.OutputService6TestCaseOperation1Request(params) @@ -1045,19 +1038,18 @@ const opOutputService7TestCaseOperation1 = "OperationName" // OutputService7TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService7TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService7TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService7TestCaseOperation1 method directly -// instead. +// See OutputService7TestCaseOperation1 for more information on using the OutputService7TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService7TestCaseOperation1Request method. // req, resp := client.OutputService7TestCaseOperation1Request(params) @@ -1189,19 +1181,18 @@ const opOutputService8TestCaseOperation1 = "OperationName" // OutputService8TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService8TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService8TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService8TestCaseOperation1 method directly -// instead. +// See OutputService8TestCaseOperation1 for more information on using the OutputService8TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService8TestCaseOperation1Request method. // req, resp := client.OutputService8TestCaseOperation1Request(params) @@ -1361,19 +1352,18 @@ const opOutputService9TestCaseOperation1 = "OperationName" // OutputService9TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService9TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService9TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService9TestCaseOperation1 method directly -// instead. +// See OutputService9TestCaseOperation1 for more information on using the OutputService9TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService9TestCaseOperation1Request method. // req, resp := client.OutputService9TestCaseOperation1Request(params) @@ -1533,19 +1523,18 @@ const opOutputService10TestCaseOperation1 = "OperationName" // OutputService10TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService10TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService10TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService10TestCaseOperation1 method directly -// instead. +// See OutputService10TestCaseOperation1 for more information on using the OutputService10TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService10TestCaseOperation1Request method. // req, resp := client.OutputService10TestCaseOperation1Request(params) @@ -1677,19 +1666,18 @@ const opOutputService11TestCaseOperation1 = "OperationName" // OutputService11TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService11TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService11TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService11TestCaseOperation1 method directly -// instead. +// See OutputService11TestCaseOperation1 for more information on using the OutputService11TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService11TestCaseOperation1Request method. // req, resp := client.OutputService11TestCaseOperation1Request(params) @@ -1833,19 +1821,18 @@ const opOutputService12TestCaseOperation1 = "OperationName" // OutputService12TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService12TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService12TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService12TestCaseOperation1 method directly -// instead. +// See OutputService12TestCaseOperation1 for more information on using the OutputService12TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService12TestCaseOperation1Request method. // req, resp := client.OutputService12TestCaseOperation1Request(params) @@ -1977,19 +1964,18 @@ const opOutputService13TestCaseOperation1 = "OperationName" // OutputService13TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService13TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService13TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService13TestCaseOperation1 method directly -// instead. +// See OutputService13TestCaseOperation1 for more information on using the OutputService13TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService13TestCaseOperation1Request method. // req, resp := client.OutputService13TestCaseOperation1Request(params) @@ -2121,19 +2107,18 @@ const opOutputService14TestCaseOperation1 = "OperationName" // OutputService14TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService14TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService14TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService14TestCaseOperation1 method directly -// instead. +// See OutputService14TestCaseOperation1 for more information on using the OutputService14TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService14TestCaseOperation1Request method. // req, resp := client.OutputService14TestCaseOperation1Request(params) @@ -2265,19 +2250,18 @@ const opOutputService15TestCaseOperation1 = "OperationName" // OutputService15TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService15TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService15TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService15TestCaseOperation1 method directly -// instead. +// See OutputService15TestCaseOperation1 for more information on using the OutputService15TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService15TestCaseOperation1Request method. // req, resp := client.OutputService15TestCaseOperation1Request(params) @@ -2362,19 +2346,41 @@ func TestOutputService1ProtocolTestScalarMembersCase1(t *testing.T) { // unmarshal response query.UnmarshalMeta(req) query.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "a", *out.Char) - assert.Equal(t, 1.3, *out.Double) - assert.Equal(t, false, *out.FalseBool) - assert.Equal(t, 1.2, *out.Float) - assert.Equal(t, int64(200), *out.Long) - assert.Equal(t, int64(123), *out.Num) - assert.Equal(t, "myname", *out.Str) - assert.Equal(t, time.Unix(1.4221728e+09, 0).UTC().String(), out.Timestamp.String()) - assert.Equal(t, true, *out.TrueBool) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "a", *out.Char; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := 1.3, *out.Double; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := false, *out.FalseBool; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := 1.2, *out.Float; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := int64(200), *out.Long; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := int64(123), *out.Num; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "myname", *out.Str; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := time.Unix(1.4221728e+09, 0).UTC().String(), out.Timestamp.String(); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := true, *out.TrueBool; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2390,11 +2396,17 @@ func TestOutputService2ProtocolTestNotAllMembersInResponseCase1(t *testing.T) { // unmarshal response query.UnmarshalMeta(req) query.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "myname", *out.Str) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "myname", *out.Str; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2410,11 +2422,17 @@ func TestOutputService3ProtocolTestBlobCase1(t *testing.T) { // unmarshal response query.UnmarshalMeta(req) query.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "value", string(out.Blob)) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "value", string(out.Blob); e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2430,12 +2448,20 @@ func TestOutputService4ProtocolTestListsCase1(t *testing.T) { // unmarshal response query.UnmarshalMeta(req) query.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "abc", *out.ListMember[0]) - assert.Equal(t, "123", *out.ListMember[1]) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "abc", *out.ListMember[0]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "123", *out.ListMember[1]; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2451,12 +2477,20 @@ func TestOutputService5ProtocolTestListWithCustomMemberNameCase1(t *testing.T) { // unmarshal response query.UnmarshalMeta(req) query.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "abc", *out.ListMember[0]) - assert.Equal(t, "123", *out.ListMember[1]) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "abc", *out.ListMember[0]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "123", *out.ListMember[1]; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2472,12 +2506,20 @@ func TestOutputService6ProtocolTestFlattenedListCase1(t *testing.T) { // unmarshal response query.UnmarshalMeta(req) query.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "abc", *out.ListMember[0]) - assert.Equal(t, "123", *out.ListMember[1]) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "abc", *out.ListMember[0]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "123", *out.ListMember[1]; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2493,11 +2535,17 @@ func TestOutputService7ProtocolTestFlattenedSingleElementListCase1(t *testing.T) // unmarshal response query.UnmarshalMeta(req) query.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "abc", *out.ListMember[0]) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "abc", *out.ListMember[0]; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2513,16 +2561,32 @@ func TestOutputService8ProtocolTestListOfStructuresCase1(t *testing.T) { // unmarshal response query.UnmarshalMeta(req) query.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "firstbar", *out.List[0].Bar) - assert.Equal(t, "firstbaz", *out.List[0].Baz) - assert.Equal(t, "firstfoo", *out.List[0].Foo) - assert.Equal(t, "secondbar", *out.List[1].Bar) - assert.Equal(t, "secondbaz", *out.List[1].Baz) - assert.Equal(t, "secondfoo", *out.List[1].Foo) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "firstbar", *out.List[0].Bar; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "firstbaz", *out.List[0].Baz; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "firstfoo", *out.List[0].Foo; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "secondbar", *out.List[1].Bar; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "secondbaz", *out.List[1].Baz; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "secondfoo", *out.List[1].Foo; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2538,16 +2602,32 @@ func TestOutputService9ProtocolTestFlattenedListOfStructuresCase1(t *testing.T) // unmarshal response query.UnmarshalMeta(req) query.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "firstbar", *out.List[0].Bar) - assert.Equal(t, "firstbaz", *out.List[0].Baz) - assert.Equal(t, "firstfoo", *out.List[0].Foo) - assert.Equal(t, "secondbar", *out.List[1].Bar) - assert.Equal(t, "secondbaz", *out.List[1].Baz) - assert.Equal(t, "secondfoo", *out.List[1].Foo) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "firstbar", *out.List[0].Bar; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "firstbaz", *out.List[0].Baz; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "firstfoo", *out.List[0].Foo; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "secondbar", *out.List[1].Bar; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "secondbaz", *out.List[1].Baz; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "secondfoo", *out.List[1].Foo; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2563,12 +2643,20 @@ func TestOutputService10ProtocolTestFlattenedListWithLocationNameCase1(t *testin // unmarshal response query.UnmarshalMeta(req) query.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "a", *out.List[0]) - assert.Equal(t, "b", *out.List[1]) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "a", *out.List[0]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "b", *out.List[1]; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2584,12 +2672,20 @@ func TestOutputService11ProtocolTestNormalMapCase1(t *testing.T) { // unmarshal response query.UnmarshalMeta(req) query.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "bam", *out.Map["baz"].Foo) - assert.Equal(t, "bar", *out.Map["qux"].Foo) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "bam", *out.Map["baz"].Foo; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "bar", *out.Map["qux"].Foo; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2605,12 +2701,20 @@ func TestOutputService12ProtocolTestFlattenedMapCase1(t *testing.T) { // unmarshal response query.UnmarshalMeta(req) query.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "bam", *out.Map["baz"]) - assert.Equal(t, "bar", *out.Map["qux"]) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "bam", *out.Map["baz"]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "bar", *out.Map["qux"]; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2626,11 +2730,17 @@ func TestOutputService13ProtocolTestFlattenedMapInShapeDefinitionCase1(t *testin // unmarshal response query.UnmarshalMeta(req) query.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "bar", *out.Map["qux"]) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "bar", *out.Map["qux"]; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2646,12 +2756,20 @@ func TestOutputService14ProtocolTestNamedMapCase1(t *testing.T) { // unmarshal response query.UnmarshalMeta(req) query.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "bam", *out.Map["baz"]) - assert.Equal(t, "bar", *out.Map["qux"]) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "bam", *out.Map["baz"]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "bar", *out.Map["qux"]; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2667,10 +2785,16 @@ func TestOutputService15ProtocolTestEmptyStringCase1(t *testing.T) { // unmarshal response query.UnmarshalMeta(req) query.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "", *out.Foo) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "", *out.Foo; e != a { + t.Errorf("expect %v, got %v", e, a) + } } diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/restjson/build_bench_test.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/restjson/build_bench_test.go index 31e1d6c04..7a8a8c2c3 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/restjson/build_bench_test.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/restjson/build_bench_test.go @@ -3,232 +3,131 @@ package restjson_test import ( - "bytes" - "encoding/json" + "net/http" + "net/http/httptest" + "os" "testing" "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/credentials" + "github.com/aws/aws-sdk-go/aws/endpoints" "github.com/aws/aws-sdk-go/aws/request" - "github.com/aws/aws-sdk-go/awstesting" - "github.com/aws/aws-sdk-go/private/protocol/rest" + "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/private/protocol/restjson" "github.com/aws/aws-sdk-go/service/elastictranscoder" ) -func BenchmarkRESTJSONBuild_Complex_elastictranscoderCreateJobInput(b *testing.B) { - svc := awstesting.NewClient() - svc.ServiceName = "elastictranscoder" - svc.APIVersion = "2012-09-25" +var ( + elastictranscoderSvc *elastictranscoder.ElasticTranscoder +) + +func TestMain(m *testing.M) { + server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusOK) + })) + + sess := session.Must(session.NewSession(&aws.Config{ + Credentials: credentials.NewStaticCredentials("Key", "Secret", "Token"), + Endpoint: aws.String(server.URL), + S3ForcePathStyle: aws.Bool(true), + DisableSSL: aws.Bool(true), + Region: aws.String(endpoints.UsWest2RegionID), + })) + elastictranscoderSvc = elastictranscoder.New(sess) + + c := m.Run() + server.Close() + os.Exit(c) +} + +func BenchmarkRESTJSONBuild_Complex_ETCCreateJob(b *testing.B) { + params := elastictranscoderCreateJobInput() + + benchRESTJSONBuild(b, func() *request.Request { + req, _ := elastictranscoderSvc.CreateJobRequest(params) + return req + }) +} + +func BenchmarkRESTJSONBuild_Simple_ETCListJobsByPipeline(b *testing.B) { + params := elastictranscoderListJobsByPipeline() + + benchRESTJSONBuild(b, func() *request.Request { + req, _ := elastictranscoderSvc.ListJobsByPipelineRequest(params) + return req + }) +} + +func BenchmarkRESTJSONRequest_Complex_CFCreateJob(b *testing.B) { + benchRESTJSONRequest(b, func() *request.Request { + req, _ := elastictranscoderSvc.CreateJobRequest(elastictranscoderCreateJobInput()) + return req + }) +} + +func BenchmarkRESTJSONRequest_Simple_ETCListJobsByPipeline(b *testing.B) { + benchRESTJSONRequest(b, func() *request.Request { + req, _ := elastictranscoderSvc.ListJobsByPipelineRequest(elastictranscoderListJobsByPipeline()) + return req + }) +} + +func benchRESTJSONBuild(b *testing.B, reqFn func() *request.Request) { + b.ResetTimer() for i := 0; i < b.N; i++ { - r := svc.NewRequest(&request.Operation{Name: "CreateJobInput"}, restjsonBuildParms, nil) - restjson.Build(r) - if r.Error != nil { - b.Fatal("Unexpected error", r.Error) + req := reqFn() + restjson.Build(req) + if req.Error != nil { + b.Fatal("Unexpected error", req.Error) } } } -func BenchmarkRESTBuild_Complex_elastictranscoderCreateJobInput(b *testing.B) { - svc := awstesting.NewClient() - svc.ServiceName = "elastictranscoder" - svc.APIVersion = "2012-09-25" +func benchRESTJSONRequest(b *testing.B, reqFn func() *request.Request) { + b.ResetTimer() for i := 0; i < b.N; i++ { - r := svc.NewRequest(&request.Operation{Name: "CreateJobInput"}, restjsonBuildParms, nil) - rest.Build(r) - if r.Error != nil { - b.Fatal("Unexpected error", r.Error) - } - } -} - -func BenchmarkEncodingJSONMarshal_Complex_elastictranscoderCreateJobInput(b *testing.B) { - params := restjsonBuildParms - - for i := 0; i < b.N; i++ { - buf := &bytes.Buffer{} - encoder := json.NewEncoder(buf) - if err := encoder.Encode(params); err != nil { + err := reqFn().Send() + if err != nil { b.Fatal("Unexpected error", err) } } } -func BenchmarkRESTJSONBuild_Simple_elastictranscoderListJobsByPipeline(b *testing.B) { - svc := awstesting.NewClient() - svc.ServiceName = "elastictranscoder" - svc.APIVersion = "2012-09-25" - - params := &elastictranscoder.ListJobsByPipelineInput{ +func elastictranscoderListJobsByPipeline() *elastictranscoder.ListJobsByPipelineInput { + return &elastictranscoder.ListJobsByPipelineInput{ PipelineId: aws.String("Id"), // Required Ascending: aws.String("Ascending"), PageToken: aws.String("Id"), } - - for i := 0; i < b.N; i++ { - r := svc.NewRequest(&request.Operation{Name: "ListJobsByPipeline"}, params, nil) - restjson.Build(r) - if r.Error != nil { - b.Fatal("Unexpected error", r.Error) - } - } } -func BenchmarkRESTBuild_Simple_elastictranscoderListJobsByPipeline(b *testing.B) { - svc := awstesting.NewClient() - svc.ServiceName = "elastictranscoder" - svc.APIVersion = "2012-09-25" - - params := &elastictranscoder.ListJobsByPipelineInput{ +func elastictranscoderCreateJobInput() *elastictranscoder.CreateJobInput { + return &elastictranscoder.CreateJobInput{ + Input: &elastictranscoder.JobInput{ // Required + AspectRatio: aws.String("AspectRatio"), + Container: aws.String("JobContainer"), + DetectedProperties: &elastictranscoder.DetectedProperties{ + DurationMillis: aws.Int64(1), + FileSize: aws.Int64(1), + FrameRate: aws.String("FloatString"), + Height: aws.Int64(1), + Width: aws.Int64(1), + }, + Encryption: &elastictranscoder.Encryption{ + InitializationVector: aws.String("ZeroTo255String"), + Key: aws.String("Base64EncodedString"), + KeyMd5: aws.String("Base64EncodedString"), + Mode: aws.String("EncryptionMode"), + }, + FrameRate: aws.String("FrameRate"), + Interlaced: aws.String("Interlaced"), + Key: aws.String("Key"), + Resolution: aws.String("Resolution"), + }, PipelineId: aws.String("Id"), // Required - Ascending: aws.String("Ascending"), - PageToken: aws.String("Id"), - } - - for i := 0; i < b.N; i++ { - r := svc.NewRequest(&request.Operation{Name: "ListJobsByPipeline"}, params, nil) - rest.Build(r) - if r.Error != nil { - b.Fatal("Unexpected error", r.Error) - } - } -} - -func BenchmarkEncodingJSONMarshal_Simple_elastictranscoderListJobsByPipeline(b *testing.B) { - params := &elastictranscoder.ListJobsByPipelineInput{ - PipelineId: aws.String("Id"), // Required - Ascending: aws.String("Ascending"), - PageToken: aws.String("Id"), - } - - for i := 0; i < b.N; i++ { - buf := &bytes.Buffer{} - encoder := json.NewEncoder(buf) - if err := encoder.Encode(params); err != nil { - b.Fatal("Unexpected error", err) - } - } -} - -var restjsonBuildParms = &elastictranscoder.CreateJobInput{ - Input: &elastictranscoder.JobInput{ // Required - AspectRatio: aws.String("AspectRatio"), - Container: aws.String("JobContainer"), - DetectedProperties: &elastictranscoder.DetectedProperties{ - DurationMillis: aws.Int64(1), - FileSize: aws.Int64(1), - FrameRate: aws.String("FloatString"), - Height: aws.Int64(1), - Width: aws.Int64(1), - }, - Encryption: &elastictranscoder.Encryption{ - InitializationVector: aws.String("ZeroTo255String"), - Key: aws.String("Base64EncodedString"), - KeyMd5: aws.String("Base64EncodedString"), - Mode: aws.String("EncryptionMode"), - }, - FrameRate: aws.String("FrameRate"), - Interlaced: aws.String("Interlaced"), - Key: aws.String("Key"), - Resolution: aws.String("Resolution"), - }, - PipelineId: aws.String("Id"), // Required - Output: &elastictranscoder.CreateJobOutput{ - AlbumArt: &elastictranscoder.JobAlbumArt{ - Artwork: []*elastictranscoder.Artwork{ - { // Required - AlbumArtFormat: aws.String("JpgOrPng"), - Encryption: &elastictranscoder.Encryption{ - InitializationVector: aws.String("ZeroTo255String"), - Key: aws.String("Base64EncodedString"), - KeyMd5: aws.String("Base64EncodedString"), - Mode: aws.String("EncryptionMode"), - }, - InputKey: aws.String("WatermarkKey"), - MaxHeight: aws.String("DigitsOrAuto"), - MaxWidth: aws.String("DigitsOrAuto"), - PaddingPolicy: aws.String("PaddingPolicy"), - SizingPolicy: aws.String("SizingPolicy"), - }, - // More values... - }, - MergePolicy: aws.String("MergePolicy"), - }, - Captions: &elastictranscoder.Captions{ - CaptionFormats: []*elastictranscoder.CaptionFormat{ - { // Required - Encryption: &elastictranscoder.Encryption{ - InitializationVector: aws.String("ZeroTo255String"), - Key: aws.String("Base64EncodedString"), - KeyMd5: aws.String("Base64EncodedString"), - Mode: aws.String("EncryptionMode"), - }, - Format: aws.String("CaptionFormatFormat"), - Pattern: aws.String("CaptionFormatPattern"), - }, - // More values... - }, - CaptionSources: []*elastictranscoder.CaptionSource{ - { // Required - Encryption: &elastictranscoder.Encryption{ - InitializationVector: aws.String("ZeroTo255String"), - Key: aws.String("Base64EncodedString"), - KeyMd5: aws.String("Base64EncodedString"), - Mode: aws.String("EncryptionMode"), - }, - Key: aws.String("Key"), - Label: aws.String("Name"), - Language: aws.String("Key"), - TimeOffset: aws.String("TimeOffset"), - }, - // More values... - }, - MergePolicy: aws.String("CaptionMergePolicy"), - }, - Composition: []*elastictranscoder.Clip{ - { // Required - TimeSpan: &elastictranscoder.TimeSpan{ - Duration: aws.String("Time"), - StartTime: aws.String("Time"), - }, - }, - // More values... - }, - Encryption: &elastictranscoder.Encryption{ - InitializationVector: aws.String("ZeroTo255String"), - Key: aws.String("Base64EncodedString"), - KeyMd5: aws.String("Base64EncodedString"), - Mode: aws.String("EncryptionMode"), - }, - Key: aws.String("Key"), - PresetId: aws.String("Id"), - Rotate: aws.String("Rotate"), - SegmentDuration: aws.String("FloatString"), - ThumbnailEncryption: &elastictranscoder.Encryption{ - InitializationVector: aws.String("ZeroTo255String"), - Key: aws.String("Base64EncodedString"), - KeyMd5: aws.String("Base64EncodedString"), - Mode: aws.String("EncryptionMode"), - }, - ThumbnailPattern: aws.String("ThumbnailPattern"), - Watermarks: []*elastictranscoder.JobWatermark{ - { // Required - Encryption: &elastictranscoder.Encryption{ - InitializationVector: aws.String("ZeroTo255String"), - Key: aws.String("Base64EncodedString"), - KeyMd5: aws.String("Base64EncodedString"), - Mode: aws.String("EncryptionMode"), - }, - InputKey: aws.String("WatermarkKey"), - PresetWatermarkId: aws.String("PresetWatermarkId"), - }, - // More values... - }, - }, - OutputKeyPrefix: aws.String("Key"), - Outputs: []*elastictranscoder.CreateJobOutput{ - { // Required + Output: &elastictranscoder.CreateJobOutput{ AlbumArt: &elastictranscoder.JobAlbumArt{ Artwork: []*elastictranscoder.Artwork{ { // Required @@ -320,37 +219,132 @@ var restjsonBuildParms = &elastictranscoder.CreateJobInput{ // More values... }, }, - // More values... - }, - Playlists: []*elastictranscoder.CreateJobPlaylist{ - { // Required - Format: aws.String("PlaylistFormat"), - HlsContentProtection: &elastictranscoder.HlsContentProtection{ - InitializationVector: aws.String("ZeroTo255String"), - Key: aws.String("Base64EncodedString"), - KeyMd5: aws.String("Base64EncodedString"), - KeyStoragePolicy: aws.String("KeyStoragePolicy"), - LicenseAcquisitionUrl: aws.String("ZeroTo512String"), - Method: aws.String("HlsContentProtectionMethod"), - }, - Name: aws.String("Filename"), - OutputKeys: []*string{ - aws.String("Key"), // Required - // More values... - }, - PlayReadyDrm: &elastictranscoder.PlayReadyDrm{ - Format: aws.String("PlayReadyDrmFormatString"), - InitializationVector: aws.String("ZeroTo255String"), - Key: aws.String("NonEmptyBase64EncodedString"), - KeyId: aws.String("KeyIdGuid"), - KeyMd5: aws.String("NonEmptyBase64EncodedString"), - LicenseAcquisitionUrl: aws.String("OneTo512String"), + OutputKeyPrefix: aws.String("Key"), + Outputs: []*elastictranscoder.CreateJobOutput{ + { // Required + AlbumArt: &elastictranscoder.JobAlbumArt{ + Artwork: []*elastictranscoder.Artwork{ + { // Required + AlbumArtFormat: aws.String("JpgOrPng"), + Encryption: &elastictranscoder.Encryption{ + InitializationVector: aws.String("ZeroTo255String"), + Key: aws.String("Base64EncodedString"), + KeyMd5: aws.String("Base64EncodedString"), + Mode: aws.String("EncryptionMode"), + }, + InputKey: aws.String("WatermarkKey"), + MaxHeight: aws.String("DigitsOrAuto"), + MaxWidth: aws.String("DigitsOrAuto"), + PaddingPolicy: aws.String("PaddingPolicy"), + SizingPolicy: aws.String("SizingPolicy"), + }, + // More values... + }, + MergePolicy: aws.String("MergePolicy"), + }, + Captions: &elastictranscoder.Captions{ + CaptionFormats: []*elastictranscoder.CaptionFormat{ + { // Required + Encryption: &elastictranscoder.Encryption{ + InitializationVector: aws.String("ZeroTo255String"), + Key: aws.String("Base64EncodedString"), + KeyMd5: aws.String("Base64EncodedString"), + Mode: aws.String("EncryptionMode"), + }, + Format: aws.String("CaptionFormatFormat"), + Pattern: aws.String("CaptionFormatPattern"), + }, + // More values... + }, + CaptionSources: []*elastictranscoder.CaptionSource{ + { // Required + Encryption: &elastictranscoder.Encryption{ + InitializationVector: aws.String("ZeroTo255String"), + Key: aws.String("Base64EncodedString"), + KeyMd5: aws.String("Base64EncodedString"), + Mode: aws.String("EncryptionMode"), + }, + Key: aws.String("Key"), + Label: aws.String("Name"), + Language: aws.String("Key"), + TimeOffset: aws.String("TimeOffset"), + }, + // More values... + }, + MergePolicy: aws.String("CaptionMergePolicy"), + }, + Composition: []*elastictranscoder.Clip{ + { // Required + TimeSpan: &elastictranscoder.TimeSpan{ + Duration: aws.String("Time"), + StartTime: aws.String("Time"), + }, + }, + // More values... + }, + Encryption: &elastictranscoder.Encryption{ + InitializationVector: aws.String("ZeroTo255String"), + Key: aws.String("Base64EncodedString"), + KeyMd5: aws.String("Base64EncodedString"), + Mode: aws.String("EncryptionMode"), + }, + Key: aws.String("Key"), + PresetId: aws.String("Id"), + Rotate: aws.String("Rotate"), + SegmentDuration: aws.String("FloatString"), + ThumbnailEncryption: &elastictranscoder.Encryption{ + InitializationVector: aws.String("ZeroTo255String"), + Key: aws.String("Base64EncodedString"), + KeyMd5: aws.String("Base64EncodedString"), + Mode: aws.String("EncryptionMode"), + }, + ThumbnailPattern: aws.String("ThumbnailPattern"), + Watermarks: []*elastictranscoder.JobWatermark{ + { // Required + Encryption: &elastictranscoder.Encryption{ + InitializationVector: aws.String("ZeroTo255String"), + Key: aws.String("Base64EncodedString"), + KeyMd5: aws.String("Base64EncodedString"), + Mode: aws.String("EncryptionMode"), + }, + InputKey: aws.String("WatermarkKey"), + PresetWatermarkId: aws.String("PresetWatermarkId"), + }, + // More values... + }, }, + // More values... }, - // More values... - }, - UserMetadata: map[string]*string{ - "Key": aws.String("String"), // Required - // More values... - }, + Playlists: []*elastictranscoder.CreateJobPlaylist{ + { // Required + Format: aws.String("PlaylistFormat"), + HlsContentProtection: &elastictranscoder.HlsContentProtection{ + InitializationVector: aws.String("ZeroTo255String"), + Key: aws.String("Base64EncodedString"), + KeyMd5: aws.String("Base64EncodedString"), + KeyStoragePolicy: aws.String("KeyStoragePolicy"), + LicenseAcquisitionUrl: aws.String("ZeroTo512String"), + Method: aws.String("HlsContentProtectionMethod"), + }, + Name: aws.String("Filename"), + OutputKeys: []*string{ + aws.String("Key"), // Required + // More values... + }, + PlayReadyDrm: &elastictranscoder.PlayReadyDrm{ + Format: aws.String("PlayReadyDrmFormatString"), + InitializationVector: aws.String("ZeroTo255String"), + Key: aws.String("NonEmptyBase64EncodedString"), + KeyId: aws.String("KeyIdGuid"), + KeyMd5: aws.String("NonEmptyBase64EncodedString"), + LicenseAcquisitionUrl: aws.String("OneTo512String"), + }, + }, + // More values... + }, + UserMetadata: map[string]*string{ + "Key": aws.String("String"), // Required + // More values... + }, + } } diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/restjson/build_test.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/restjson/build_test.go index 71e6d8759..ac4e4d18e 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/restjson/build_test.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/restjson/build_test.go @@ -24,7 +24,6 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/restjson" "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil" "github.com/aws/aws-sdk-go/private/util" - "github.com/stretchr/testify/assert" ) var _ bytes.Buffer // always import bytes @@ -108,19 +107,18 @@ const opInputService1TestCaseOperation1 = "OperationName" // InputService1TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService1TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService1TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService1TestCaseOperation1 method directly -// instead. +// See InputService1TestCaseOperation1 for more information on using the InputService1TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService1TestCaseOperation1Request method. // req, resp := client.InputService1TestCaseOperation1Request(params) @@ -247,19 +245,18 @@ const opInputService2TestCaseOperation1 = "OperationName" // InputService2TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService2TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService2TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService2TestCaseOperation1 method directly -// instead. +// See InputService2TestCaseOperation1 for more information on using the InputService2TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService2TestCaseOperation1Request method. // req, resp := client.InputService2TestCaseOperation1Request(params) @@ -394,19 +391,18 @@ const opInputService3TestCaseOperation1 = "OperationName" // InputService3TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService3TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService3TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService3TestCaseOperation1 method directly -// instead. +// See InputService3TestCaseOperation1 for more information on using the InputService3TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService3TestCaseOperation1Request method. // req, resp := client.InputService3TestCaseOperation1Request(params) @@ -541,19 +537,18 @@ const opInputService4TestCaseOperation1 = "OperationName" // InputService4TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService4TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService4TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService4TestCaseOperation1 method directly -// instead. +// See InputService4TestCaseOperation1 for more information on using the InputService4TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService4TestCaseOperation1Request method. // req, resp := client.InputService4TestCaseOperation1Request(params) @@ -688,19 +683,18 @@ const opInputService5TestCaseOperation1 = "OperationName" // InputService5TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService5TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService5TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService5TestCaseOperation1 method directly -// instead. +// See InputService5TestCaseOperation1 for more information on using the InputService5TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService5TestCaseOperation1Request method. // req, resp := client.InputService5TestCaseOperation1Request(params) @@ -843,19 +837,18 @@ const opInputService6TestCaseOperation1 = "OperationName" // InputService6TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService6TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService6TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService6TestCaseOperation1 method directly -// instead. +// See InputService6TestCaseOperation1 for more information on using the InputService6TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService6TestCaseOperation1Request method. // req, resp := client.InputService6TestCaseOperation1Request(params) @@ -998,19 +991,18 @@ const opInputService7TestCaseOperation1 = "OperationName" // InputService7TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService7TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService7TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService7TestCaseOperation1 method directly -// instead. +// See InputService7TestCaseOperation1 for more information on using the InputService7TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService7TestCaseOperation1Request method. // req, resp := client.InputService7TestCaseOperation1Request(params) @@ -1070,19 +1062,18 @@ const opInputService7TestCaseOperation2 = "OperationName" // InputService7TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the InputService7TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService7TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService7TestCaseOperation2 method directly -// instead. +// See InputService7TestCaseOperation2 for more information on using the InputService7TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService7TestCaseOperation2Request method. // req, resp := client.InputService7TestCaseOperation2Request(params) @@ -1221,19 +1212,18 @@ const opInputService8TestCaseOperation1 = "OperationName" // InputService8TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService8TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService8TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService8TestCaseOperation1 method directly -// instead. +// See InputService8TestCaseOperation1 for more information on using the InputService8TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService8TestCaseOperation1Request method. // req, resp := client.InputService8TestCaseOperation1Request(params) @@ -1384,19 +1374,18 @@ const opInputService9TestCaseOperation1 = "OperationName" // InputService9TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService9TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService9TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService9TestCaseOperation1 method directly -// instead. +// See InputService9TestCaseOperation1 for more information on using the InputService9TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService9TestCaseOperation1Request method. // req, resp := client.InputService9TestCaseOperation1Request(params) @@ -1575,19 +1564,18 @@ const opInputService10TestCaseOperation1 = "OperationName" // InputService10TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService10TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService10TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService10TestCaseOperation1 method directly -// instead. +// See InputService10TestCaseOperation1 for more information on using the InputService10TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService10TestCaseOperation1Request method. // req, resp := client.InputService10TestCaseOperation1Request(params) @@ -1774,19 +1762,18 @@ const opInputService11TestCaseOperation1 = "OperationName" // InputService11TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService11TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService11TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService11TestCaseOperation1 method directly -// instead. +// See InputService11TestCaseOperation1 for more information on using the InputService11TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService11TestCaseOperation1Request method. // req, resp := client.InputService11TestCaseOperation1Request(params) @@ -1951,19 +1938,18 @@ const opInputService12TestCaseOperation1 = "OperationName" // InputService12TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService12TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService12TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService12TestCaseOperation1 method directly -// instead. +// See InputService12TestCaseOperation1 for more information on using the InputService12TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService12TestCaseOperation1Request method. // req, resp := client.InputService12TestCaseOperation1Request(params) @@ -2121,19 +2107,18 @@ const opInputService13TestCaseOperation1 = "OperationName" // InputService13TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService13TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService13TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService13TestCaseOperation1 method directly -// instead. +// See InputService13TestCaseOperation1 for more information on using the InputService13TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService13TestCaseOperation1Request method. // req, resp := client.InputService13TestCaseOperation1Request(params) @@ -2193,19 +2178,18 @@ const opInputService13TestCaseOperation2 = "OperationName" // InputService13TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the InputService13TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService13TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService13TestCaseOperation2 method directly -// instead. +// See InputService13TestCaseOperation2 for more information on using the InputService13TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService13TestCaseOperation2Request method. // req, resp := client.InputService13TestCaseOperation2Request(params) @@ -2344,19 +2328,18 @@ const opInputService14TestCaseOperation1 = "OperationName" // InputService14TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService14TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService14TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService14TestCaseOperation1 method directly -// instead. +// See InputService14TestCaseOperation1 for more information on using the InputService14TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService14TestCaseOperation1Request method. // req, resp := client.InputService14TestCaseOperation1Request(params) @@ -2416,19 +2399,18 @@ const opInputService14TestCaseOperation2 = "OperationName" // InputService14TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the InputService14TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService14TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService14TestCaseOperation2 method directly -// instead. +// See InputService14TestCaseOperation2 for more information on using the InputService14TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService14TestCaseOperation2Request method. // req, resp := client.InputService14TestCaseOperation2Request(params) @@ -2579,19 +2561,18 @@ const opInputService15TestCaseOperation1 = "OperationName" // InputService15TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService15TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService15TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService15TestCaseOperation1 method directly -// instead. +// See InputService15TestCaseOperation1 for more information on using the InputService15TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService15TestCaseOperation1Request method. // req, resp := client.InputService15TestCaseOperation1Request(params) @@ -2651,19 +2632,18 @@ const opInputService15TestCaseOperation2 = "OperationName" // InputService15TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the InputService15TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService15TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService15TestCaseOperation2 method directly -// instead. +// See InputService15TestCaseOperation2 for more information on using the InputService15TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService15TestCaseOperation2Request method. // req, resp := client.InputService15TestCaseOperation2Request(params) @@ -2802,19 +2782,18 @@ const opInputService16TestCaseOperation1 = "OperationName" // InputService16TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService16TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService16TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService16TestCaseOperation1 method directly -// instead. +// See InputService16TestCaseOperation1 for more information on using the InputService16TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService16TestCaseOperation1Request method. // req, resp := client.InputService16TestCaseOperation1Request(params) @@ -2874,19 +2853,18 @@ const opInputService16TestCaseOperation2 = "OperationName" // InputService16TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the InputService16TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService16TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService16TestCaseOperation2 method directly -// instead. +// See InputService16TestCaseOperation2 for more information on using the InputService16TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService16TestCaseOperation2Request method. // req, resp := client.InputService16TestCaseOperation2Request(params) @@ -2946,19 +2924,18 @@ const opInputService16TestCaseOperation3 = "OperationName" // InputService16TestCaseOperation3Request generates a "aws/request.Request" representing the // client's request for the InputService16TestCaseOperation3 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService16TestCaseOperation3 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService16TestCaseOperation3 method directly -// instead. +// See InputService16TestCaseOperation3 for more information on using the InputService16TestCaseOperation3 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService16TestCaseOperation3Request method. // req, resp := client.InputService16TestCaseOperation3Request(params) @@ -3018,19 +2995,18 @@ const opInputService16TestCaseOperation4 = "OperationName" // InputService16TestCaseOperation4Request generates a "aws/request.Request" representing the // client's request for the InputService16TestCaseOperation4 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService16TestCaseOperation4 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService16TestCaseOperation4 method directly -// instead. +// See InputService16TestCaseOperation4 for more information on using the InputService16TestCaseOperation4 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService16TestCaseOperation4Request method. // req, resp := client.InputService16TestCaseOperation4Request(params) @@ -3090,19 +3066,18 @@ const opInputService16TestCaseOperation5 = "OperationName" // InputService16TestCaseOperation5Request generates a "aws/request.Request" representing the // client's request for the InputService16TestCaseOperation5 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService16TestCaseOperation5 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService16TestCaseOperation5 method directly -// instead. +// See InputService16TestCaseOperation5 for more information on using the InputService16TestCaseOperation5 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService16TestCaseOperation5Request method. // req, resp := client.InputService16TestCaseOperation5Request(params) @@ -3162,19 +3137,18 @@ const opInputService16TestCaseOperation6 = "OperationName" // InputService16TestCaseOperation6Request generates a "aws/request.Request" representing the // client's request for the InputService16TestCaseOperation6 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService16TestCaseOperation6 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService16TestCaseOperation6 method directly -// instead. +// See InputService16TestCaseOperation6 for more information on using the InputService16TestCaseOperation6 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService16TestCaseOperation6Request method. // req, resp := client.InputService16TestCaseOperation6Request(params) @@ -3365,19 +3339,18 @@ const opInputService17TestCaseOperation1 = "OperationName" // InputService17TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService17TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService17TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService17TestCaseOperation1 method directly -// instead. +// See InputService17TestCaseOperation1 for more information on using the InputService17TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService17TestCaseOperation1Request method. // req, resp := client.InputService17TestCaseOperation1Request(params) @@ -3437,19 +3410,18 @@ const opInputService17TestCaseOperation2 = "OperationName" // InputService17TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the InputService17TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService17TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService17TestCaseOperation2 method directly -// instead. +// See InputService17TestCaseOperation2 for more information on using the InputService17TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService17TestCaseOperation2Request method. // req, resp := client.InputService17TestCaseOperation2Request(params) @@ -3596,19 +3568,18 @@ const opInputService18TestCaseOperation1 = "OperationName" // InputService18TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService18TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService18TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService18TestCaseOperation1 method directly -// instead. +// See InputService18TestCaseOperation1 for more information on using the InputService18TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService18TestCaseOperation1Request method. // req, resp := client.InputService18TestCaseOperation1Request(params) @@ -3743,19 +3714,18 @@ const opInputService19TestCaseOperation1 = "OperationName" // InputService19TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService19TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService19TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService19TestCaseOperation1 method directly -// instead. +// See InputService19TestCaseOperation1 for more information on using the InputService19TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService19TestCaseOperation1Request method. // req, resp := client.InputService19TestCaseOperation1Request(params) @@ -3890,19 +3860,18 @@ const opInputService20TestCaseOperation1 = "OperationName" // InputService20TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService20TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService20TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService20TestCaseOperation1 method directly -// instead. +// See InputService20TestCaseOperation1 for more information on using the InputService20TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService20TestCaseOperation1Request method. // req, resp := client.InputService20TestCaseOperation1Request(params) @@ -3962,19 +3931,18 @@ const opInputService20TestCaseOperation2 = "OperationName" // InputService20TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the InputService20TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService20TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService20TestCaseOperation2 method directly -// instead. +// See InputService20TestCaseOperation2 for more information on using the InputService20TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService20TestCaseOperation2Request method. // req, resp := client.InputService20TestCaseOperation2Request(params) @@ -4113,19 +4081,18 @@ const opInputService21TestCaseOperation1 = "OperationName" // InputService21TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService21TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService21TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService21TestCaseOperation1 method directly -// instead. +// See InputService21TestCaseOperation1 for more information on using the InputService21TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService21TestCaseOperation1Request method. // req, resp := client.InputService21TestCaseOperation1Request(params) @@ -4185,19 +4152,18 @@ const opInputService21TestCaseOperation2 = "OperationName" // InputService21TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the InputService21TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService21TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService21TestCaseOperation2 method directly -// instead. +// See InputService21TestCaseOperation2 for more information on using the InputService21TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService21TestCaseOperation2Request method. // req, resp := client.InputService21TestCaseOperation2Request(params) @@ -4284,7 +4250,9 @@ func TestInputService1ProtocolTestNoParametersCase1(t *testing.T) { // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/2014-01-01/jobs", r.URL.String()) @@ -4303,7 +4271,9 @@ func TestInputService2ProtocolTestURIParameterOnlyWithNoLocationNameCase1(t *tes // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/2014-01-01/jobsByPipeline/foo", r.URL.String()) @@ -4322,7 +4292,9 @@ func TestInputService3ProtocolTestURIParameterOnlyWithLocationNameCase1(t *testi // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/2014-01-01/jobsByPipeline/bar", r.URL.String()) @@ -4344,7 +4316,9 @@ func TestInputService4ProtocolTestQuerystringListOfStringsCase1(t *testing.T) { // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/path?item=value1&item=value2", r.URL.String()) @@ -4367,7 +4341,9 @@ func TestInputService5ProtocolTestStringToStringMapsInQuerystringCase1(t *testin // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/2014-01-01/jobsByPipeline/foo?bar=baz&fizz=buzz", r.URL.String()) @@ -4396,7 +4372,9 @@ func TestInputService6ProtocolTestStringToStringListMapsInQuerystringCase1(t *te // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/2014-01-01/jobsByPipeline/id?foo=bar&foo=baz&fizz=buzz&fizz=pop", r.URL.String()) @@ -4415,7 +4393,9 @@ func TestInputService7ProtocolTestBooleanInQuerystringCase1(t *testing.T) { // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/path?bool-query=true", r.URL.String()) @@ -4434,7 +4414,9 @@ func TestInputService7ProtocolTestBooleanInQuerystringCase2(t *testing.T) { // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/path?bool-query=false", r.URL.String()) @@ -4455,7 +4437,9 @@ func TestInputService8ProtocolTestURIParameterAndQuerystringParamsCase1(t *testi // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/2014-01-01/jobsByPipeline/foo?Ascending=true&PageToken=bar", r.URL.String()) @@ -4480,10 +4464,14 @@ func TestInputService9ProtocolTestURIParameterQuerystringParamsAndJSONBodyCase1( // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"Config":{"A":"one","B":"two"}}`, util.Trim(string(body))) @@ -4511,10 +4499,14 @@ func TestInputService10ProtocolTestURIParameterQuerystringParamsHeadersAndJSONBo // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"Config":{"A":"one","B":"two"}}`, util.Trim(string(body))) @@ -4522,7 +4514,9 @@ func TestInputService10ProtocolTestURIParameterQuerystringParamsHeadersAndJSONBo awstesting.AssertURL(t, "https://test/2014-01-01/jobsByPipeline/foo?Ascending=true&PageToken=bar", r.URL.String()) // assert headers - assert.Equal(t, "12345", r.Header.Get("x-amz-checksum")) + if e, a := "12345", r.Header.Get("x-amz-checksum"); e != a { + t.Errorf("expect %v to be %v", e, a) + } } @@ -4538,18 +4532,26 @@ func TestInputService11ProtocolTestStreamingPayloadCase1(t *testing.T) { // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) - assert.Equal(t, `contents`, util.Trim(string(body))) + if e, a := "contents", util.Trim(string(body)); e != a { + t.Errorf("expect %v, got %v", e, a) + } // assert URL awstesting.AssertURL(t, "https://test/2014-01-01/vaults/name/archives", r.URL.String()) // assert headers - assert.Equal(t, "foo", r.Header.Get("x-amz-sha256-tree-hash")) + if e, a := "foo", r.Header.Get("x-amz-sha256-tree-hash"); e != a { + t.Errorf("expect %v to be %v", e, a) + } } @@ -4564,10 +4566,14 @@ func TestInputService12ProtocolTestSerializeBlobsInBodyCase1(t *testing.T) { // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"Bar":"QmxvYiBwYXJhbQ=="}`, util.Trim(string(body))) @@ -4588,12 +4594,18 @@ func TestInputService13ProtocolTestBlobPayloadCase1(t *testing.T) { // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) - assert.Equal(t, `bar`, util.Trim(string(body))) + if e, a := "bar", util.Trim(string(body)); e != a { + t.Errorf("expect %v, got %v", e, a) + } // assert URL awstesting.AssertURL(t, "https://test/", r.URL.String()) @@ -4610,7 +4622,9 @@ func TestInputService13ProtocolTestBlobPayloadCase2(t *testing.T) { // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/", r.URL.String()) @@ -4631,10 +4645,14 @@ func TestInputService14ProtocolTestStructurePayloadCase1(t *testing.T) { // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"baz":"bar"}`, util.Trim(string(body))) @@ -4653,7 +4671,9 @@ func TestInputService14ProtocolTestStructurePayloadCase2(t *testing.T) { // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/", r.URL.String()) @@ -4670,7 +4690,9 @@ func TestInputService15ProtocolTestOmitsNullQueryParamsButSerializesEmptyStrings // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/path", r.URL.String()) @@ -4689,7 +4711,9 @@ func TestInputService15ProtocolTestOmitsNullQueryParamsButSerializesEmptyStrings // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/path?abc=mno¶m-name=", r.URL.String()) @@ -4710,10 +4734,14 @@ func TestInputService16ProtocolTestRecursiveShapesCase1(t *testing.T) { // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"RecursiveStruct":{"NoRecurse":"foo"}}`, util.Trim(string(body))) @@ -4738,10 +4766,14 @@ func TestInputService16ProtocolTestRecursiveShapesCase2(t *testing.T) { // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"RecursiveStruct":{"RecursiveStruct":{"NoRecurse":"foo"}}}`, util.Trim(string(body))) @@ -4770,10 +4802,14 @@ func TestInputService16ProtocolTestRecursiveShapesCase3(t *testing.T) { // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"RecursiveStruct":{"RecursiveStruct":{"RecursiveStruct":{"RecursiveStruct":{"NoRecurse":"foo"}}}}}`, util.Trim(string(body))) @@ -4803,10 +4839,14 @@ func TestInputService16ProtocolTestRecursiveShapesCase4(t *testing.T) { // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"RecursiveStruct":{"RecursiveList":[{"NoRecurse":"foo"},{"NoRecurse":"bar"}]}}`, util.Trim(string(body))) @@ -4838,10 +4878,14 @@ func TestInputService16ProtocolTestRecursiveShapesCase5(t *testing.T) { // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"RecursiveStruct":{"RecursiveList":[{"NoRecurse":"foo"},{"RecursiveStruct":{"NoRecurse":"bar"}}]}}`, util.Trim(string(body))) @@ -4871,10 +4915,14 @@ func TestInputService16ProtocolTestRecursiveShapesCase6(t *testing.T) { // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"RecursiveStruct":{"RecursiveMap":{"foo":{"NoRecurse":"foo"},"bar":{"NoRecurse":"bar"}}}}`, util.Trim(string(body))) @@ -4895,10 +4943,14 @@ func TestInputService17ProtocolTestTimestampValuesCase1(t *testing.T) { // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"TimeArg":1422172800}`, util.Trim(string(body))) @@ -4919,13 +4971,17 @@ func TestInputService17ProtocolTestTimestampValuesCase2(t *testing.T) { // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/path", r.URL.String()) // assert headers - assert.Equal(t, "Sun, 25 Jan 2015 08:00:00 GMT", r.Header.Get("x-amz-timearg")) + if e, a := "Sun, 25 Jan 2015 08:00:00 GMT", r.Header.Get("x-amz-timearg"); e != a { + t.Errorf("expect %v to be %v", e, a) + } } @@ -4939,10 +4995,14 @@ func TestInputService18ProtocolTestNamedLocationsInJSONBodyCase1(t *testing.T) { // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"timestamp_location":1422172800}`, util.Trim(string(body))) @@ -4963,12 +5023,18 @@ func TestInputService19ProtocolTestStringPayloadCase1(t *testing.T) { // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) - assert.Equal(t, `bar`, util.Trim(string(body))) + if e, a := "bar", util.Trim(string(body)); e != a { + t.Errorf("expect %v, got %v", e, a) + } // assert URL awstesting.AssertURL(t, "https://test/", r.URL.String()) @@ -4987,10 +5053,14 @@ func TestInputService20ProtocolTestIdempotencyTokenAutoFillCase1(t *testing.T) { // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"Token":"abc123"}`, util.Trim(string(body))) @@ -5009,10 +5079,14 @@ func TestInputService20ProtocolTestIdempotencyTokenAutoFillCase2(t *testing.T) { // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"Token":"00000000-0000-4000-8000-000000000000"}`, util.Trim(string(body))) @@ -5032,13 +5106,17 @@ func TestInputService21ProtocolTestJSONValueTraitCase1(t *testing.T) { // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/", r.URL.String()) // assert headers - assert.Equal(t, "eyJGb28iOiJCYXIifQ==", r.Header.Get("X-Amz-Foo")) + if e, a := "eyJGb28iOiJCYXIifQ==", r.Header.Get("X-Amz-Foo"); e != a { + t.Errorf("expect %v to be %v", e, a) + } } @@ -5050,7 +5128,9 @@ func TestInputService21ProtocolTestJSONValueTraitCase2(t *testing.T) { // build request restjson.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/", r.URL.String()) diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/restjson/unmarshal_test.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/restjson/unmarshal_test.go index 8233fe0f9..134a1ae3a 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/restjson/unmarshal_test.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/restjson/unmarshal_test.go @@ -24,7 +24,6 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/restjson" "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil" "github.com/aws/aws-sdk-go/private/util" - "github.com/stretchr/testify/assert" ) var _ bytes.Buffer // always import bytes @@ -108,19 +107,18 @@ const opOutputService1TestCaseOperation1 = "OperationName" // OutputService1TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService1TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService1TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService1TestCaseOperation1 method directly -// instead. +// See OutputService1TestCaseOperation1 for more information on using the OutputService1TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService1TestCaseOperation1Request method. // req, resp := client.OutputService1TestCaseOperation1Request(params) @@ -332,19 +330,18 @@ const opOutputService2TestCaseOperation1 = "OperationName" // OutputService2TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService2TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService2TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService2TestCaseOperation1 method directly -// instead. +// See OutputService2TestCaseOperation1 for more information on using the OutputService2TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService2TestCaseOperation1Request method. // req, resp := client.OutputService2TestCaseOperation1Request(params) @@ -498,19 +495,18 @@ const opOutputService3TestCaseOperation1 = "OperationName" // OutputService3TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService3TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService3TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService3TestCaseOperation1 method directly -// instead. +// See OutputService3TestCaseOperation1 for more information on using the OutputService3TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService3TestCaseOperation1Request method. // req, resp := client.OutputService3TestCaseOperation1Request(params) @@ -662,19 +658,18 @@ const opOutputService4TestCaseOperation1 = "OperationName" // OutputService4TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService4TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService4TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService4TestCaseOperation1 method directly -// instead. +// See OutputService4TestCaseOperation1 for more information on using the OutputService4TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService4TestCaseOperation1Request method. // req, resp := client.OutputService4TestCaseOperation1Request(params) @@ -806,19 +801,18 @@ const opOutputService5TestCaseOperation1 = "OperationName" // OutputService5TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService5TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService5TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService5TestCaseOperation1 method directly -// instead. +// See OutputService5TestCaseOperation1 for more information on using the OutputService5TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService5TestCaseOperation1Request method. // req, resp := client.OutputService5TestCaseOperation1Request(params) @@ -962,19 +956,18 @@ const opOutputService6TestCaseOperation1 = "OperationName" // OutputService6TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService6TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService6TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService6TestCaseOperation1 method directly -// instead. +// See OutputService6TestCaseOperation1 for more information on using the OutputService6TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService6TestCaseOperation1Request method. // req, resp := client.OutputService6TestCaseOperation1Request(params) @@ -1106,19 +1099,18 @@ const opOutputService7TestCaseOperation1 = "OperationName" // OutputService7TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService7TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService7TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService7TestCaseOperation1 method directly -// instead. +// See OutputService7TestCaseOperation1 for more information on using the OutputService7TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService7TestCaseOperation1Request method. // req, resp := client.OutputService7TestCaseOperation1Request(params) @@ -1250,19 +1242,18 @@ const opOutputService8TestCaseOperation1 = "OperationName" // OutputService8TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService8TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService8TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService8TestCaseOperation1 method directly -// instead. +// See OutputService8TestCaseOperation1 for more information on using the OutputService8TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService8TestCaseOperation1Request method. // req, resp := client.OutputService8TestCaseOperation1Request(params) @@ -1394,19 +1385,18 @@ const opOutputService9TestCaseOperation1 = "OperationName" // OutputService9TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService9TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService9TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService9TestCaseOperation1 method directly -// instead. +// See OutputService9TestCaseOperation1 for more information on using the OutputService9TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService9TestCaseOperation1Request method. // req, resp := client.OutputService9TestCaseOperation1Request(params) @@ -1546,19 +1536,18 @@ const opOutputService10TestCaseOperation1 = "OperationName" // OutputService10TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService10TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService10TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService10TestCaseOperation1 method directly -// instead. +// See OutputService10TestCaseOperation1 for more information on using the OutputService10TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService10TestCaseOperation1Request method. // req, resp := client.OutputService10TestCaseOperation1Request(params) @@ -1710,19 +1699,18 @@ const opOutputService11TestCaseOperation1 = "OperationName" // OutputService11TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService11TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService11TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService11TestCaseOperation1 method directly -// instead. +// See OutputService11TestCaseOperation1 for more information on using the OutputService11TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService11TestCaseOperation1Request method. // req, resp := client.OutputService11TestCaseOperation1Request(params) @@ -1854,19 +1842,18 @@ const opOutputService12TestCaseOperation1 = "OperationName" // OutputService12TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService12TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService12TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService12TestCaseOperation1 method directly -// instead. +// See OutputService12TestCaseOperation1 for more information on using the OutputService12TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService12TestCaseOperation1Request method. // req, resp := client.OutputService12TestCaseOperation1Request(params) @@ -1953,21 +1940,47 @@ func TestOutputService1ProtocolTestScalarMembersCase1(t *testing.T) { // unmarshal response restjson.UnmarshalMeta(req) restjson.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "a", *out.Char) - assert.Equal(t, 1.3, *out.Double) - assert.Equal(t, false, *out.FalseBool) - assert.Equal(t, 1.2, *out.Float) - assert.Equal(t, "test", *out.ImaHeader) - assert.Equal(t, "abc", *out.ImaHeaderLocation) - assert.Equal(t, int64(200), *out.Long) - assert.Equal(t, int64(123), *out.Num) - assert.Equal(t, int64(200), *out.Status) - assert.Equal(t, "myname", *out.Str) - assert.Equal(t, true, *out.TrueBool) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "a", *out.Char; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := 1.3, *out.Double; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := false, *out.FalseBool; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := 1.2, *out.Float; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "test", *out.ImaHeader; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "abc", *out.ImaHeaderLocation; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := int64(200), *out.Long; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := int64(123), *out.Num; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := int64(200), *out.Status; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "myname", *out.Str; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := true, *out.TrueBool; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -1983,12 +1996,20 @@ func TestOutputService2ProtocolTestBlobMembersCase1(t *testing.T) { // unmarshal response restjson.UnmarshalMeta(req) restjson.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "hi!", string(out.BlobMember)) - assert.Equal(t, "there!", string(out.StructMember.Foo)) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "hi!", string(out.BlobMember); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "there!", string(out.StructMember.Foo); e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2004,12 +2025,20 @@ func TestOutputService3ProtocolTestTimestampMembersCase1(t *testing.T) { // unmarshal response restjson.UnmarshalMeta(req) restjson.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, time.Unix(1.398796238e+09, 0).UTC().String(), out.StructMember.Foo.String()) - assert.Equal(t, time.Unix(1.398796238e+09, 0).UTC().String(), out.TimeMember.String()) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := time.Unix(1.398796238e+09, 0).UTC().String(), out.StructMember.Foo.String(); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := time.Unix(1.398796238e+09, 0).UTC().String(), out.TimeMember.String(); e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2025,12 +2054,20 @@ func TestOutputService4ProtocolTestListsCase1(t *testing.T) { // unmarshal response restjson.UnmarshalMeta(req) restjson.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "a", *out.ListMember[0]) - assert.Equal(t, "b", *out.ListMember[1]) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "a", *out.ListMember[0]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "b", *out.ListMember[1]; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2046,12 +2083,20 @@ func TestOutputService5ProtocolTestListsWithStructureMemberCase1(t *testing.T) { // unmarshal response restjson.UnmarshalMeta(req) restjson.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "a", *out.ListMember[0].Foo) - assert.Equal(t, "b", *out.ListMember[1].Foo) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "a", *out.ListMember[0].Foo; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "b", *out.ListMember[1].Foo; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2067,14 +2112,26 @@ func TestOutputService6ProtocolTestMapsCase1(t *testing.T) { // unmarshal response restjson.UnmarshalMeta(req) restjson.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, int64(1), *out.MapMember["a"][0]) - assert.Equal(t, int64(2), *out.MapMember["a"][1]) - assert.Equal(t, int64(3), *out.MapMember["b"][0]) - assert.Equal(t, int64(4), *out.MapMember["b"][1]) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := int64(1), *out.MapMember["a"][0]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := int64(2), *out.MapMember["a"][1]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := int64(3), *out.MapMember["b"][0]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := int64(4), *out.MapMember["b"][1]; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2090,12 +2147,20 @@ func TestOutputService7ProtocolTestComplexMapValuesCase1(t *testing.T) { // unmarshal response restjson.UnmarshalMeta(req) restjson.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, time.Unix(1.398796238e+09, 0).UTC().String(), out.MapMember["a"].String()) - assert.Equal(t, time.Unix(1.398796238e+09, 0).UTC().String(), out.MapMember["b"].String()) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := time.Unix(1.398796238e+09, 0).UTC().String(), out.MapMember["a"].String(); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := time.Unix(1.398796238e+09, 0).UTC().String(), out.MapMember["b"].String(); e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2111,10 +2176,14 @@ func TestOutputService8ProtocolTestIgnoresExtraDataCase1(t *testing.T) { // unmarshal response restjson.UnmarshalMeta(req) restjson.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used + if out == nil { + t.Errorf("expect not to be nil") + } } @@ -2133,15 +2202,29 @@ func TestOutputService9ProtocolTestSupportsHeaderMapsCase1(t *testing.T) { // unmarshal response restjson.UnmarshalMeta(req) restjson.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "10", *out.AllHeaders["Content-Length"]) - assert.Equal(t, "boo", *out.AllHeaders["X-Bam"]) - assert.Equal(t, "bar", *out.AllHeaders["X-Foo"]) - assert.Equal(t, "boo", *out.PrefixedHeaders["Bam"]) - assert.Equal(t, "bar", *out.PrefixedHeaders["Foo"]) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "10", *out.AllHeaders["Content-Length"]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "boo", *out.AllHeaders["X-Bam"]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "bar", *out.AllHeaders["X-Foo"]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "boo", *out.PrefixedHeaders["Bam"]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "bar", *out.PrefixedHeaders["Foo"]; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2158,12 +2241,20 @@ func TestOutputService10ProtocolTestJSONPayloadCase1(t *testing.T) { // unmarshal response restjson.UnmarshalMeta(req) restjson.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "abc", *out.Data.Foo) - assert.Equal(t, "baz", *out.Header) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "abc", *out.Data.Foo; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "baz", *out.Header; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2179,11 +2270,17 @@ func TestOutputService11ProtocolTestStreamingPayloadCase1(t *testing.T) { // unmarshal response restjson.UnmarshalMeta(req) restjson.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "abc", string(out.Stream)) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "abc", string(out.Stream); e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2200,9 +2297,13 @@ func TestOutputService12ProtocolTestJSONValueTraitCase1(t *testing.T) { // unmarshal response restjson.UnmarshalMeta(req) restjson.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used + if out == nil { + t.Errorf("expect not to be nil") + } reflect.DeepEqual(out.Attr, map[string]interface{}{"Foo": "Bar"}) } diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/build_bench_test.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/build_bench_test.go index 2736446a7..13106ee43 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/build_bench_test.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/build_bench_test.go @@ -55,13 +55,6 @@ func BenchmarkRESTXMLBuild_Complex_CFCreateDistro(b *testing.B) { }) } -func BenchmarkRESTXMLRequest_Complex_CFCreateDistro(b *testing.B) { - benchRESTXMLRequest(b, func() *request.Request { - req, _ := cloudfrontSvc.CreateDistributionRequest(cloudfrontCreateDistributionInput()) - return req - }) -} - func BenchmarkRESTXMLBuild_Simple_CFDeleteDistro(b *testing.B) { params := cloudfrontDeleteDistributionInput() @@ -71,13 +64,6 @@ func BenchmarkRESTXMLBuild_Simple_CFDeleteDistro(b *testing.B) { }) } -func BenchmarkRESTXMLRequest_Simple_CFDeleteDistro(b *testing.B) { - benchRESTXMLRequest(b, func() *request.Request { - req, _ := cloudfrontSvc.DeleteDistributionRequest(cloudfrontDeleteDistributionInput()) - return req - }) -} - func BenchmarkRESTXMLBuild_REST_S3HeadObject(b *testing.B) { params := s3HeadObjectInput() @@ -87,13 +73,6 @@ func BenchmarkRESTXMLBuild_REST_S3HeadObject(b *testing.B) { }) } -func BenchmarkRESTXMLRequest_REST_S3HeadObject(b *testing.B) { - benchRESTXMLRequest(b, func() *request.Request { - req, _ := s3Svc.HeadObjectRequest(s3HeadObjectInput()) - return req - }) -} - func BenchmarkRESTXMLBuild_XML_S3PutObjectAcl(b *testing.B) { params := s3PutObjectAclInput() @@ -103,6 +82,27 @@ func BenchmarkRESTXMLBuild_XML_S3PutObjectAcl(b *testing.B) { }) } +func BenchmarkRESTXMLRequest_Complex_CFCreateDistro(b *testing.B) { + benchRESTXMLRequest(b, func() *request.Request { + req, _ := cloudfrontSvc.CreateDistributionRequest(cloudfrontCreateDistributionInput()) + return req + }) +} + +func BenchmarkRESTXMLRequest_Simple_CFDeleteDistro(b *testing.B) { + benchRESTXMLRequest(b, func() *request.Request { + req, _ := cloudfrontSvc.DeleteDistributionRequest(cloudfrontDeleteDistributionInput()) + return req + }) +} + +func BenchmarkRESTXMLRequest_REST_S3HeadObject(b *testing.B) { + benchRESTXMLRequest(b, func() *request.Request { + req, _ := s3Svc.HeadObjectRequest(s3HeadObjectInput()) + return req + }) +} + func BenchmarkRESTXMLRequest_XML_S3PutObjectAcl(b *testing.B) { benchRESTXMLRequest(b, func() *request.Request { req, _ := s3Svc.PutObjectAclRequest(s3PutObjectAclInput()) diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/build_test.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/build_test.go index a1d0e89b1..4342cbc23 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/build_test.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/build_test.go @@ -24,7 +24,6 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/restxml" "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil" "github.com/aws/aws-sdk-go/private/util" - "github.com/stretchr/testify/assert" ) var _ bytes.Buffer // always import bytes @@ -108,19 +107,18 @@ const opInputService1TestCaseOperation1 = "OperationName" // InputService1TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService1TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService1TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService1TestCaseOperation1 method directly -// instead. +// See InputService1TestCaseOperation1 for more information on using the InputService1TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService1TestCaseOperation1Request method. // req, resp := client.InputService1TestCaseOperation1Request(params) @@ -180,19 +178,18 @@ const opInputService1TestCaseOperation2 = "OperationName" // InputService1TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the InputService1TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService1TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService1TestCaseOperation2 method directly -// instead. +// See InputService1TestCaseOperation2 for more information on using the InputService1TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService1TestCaseOperation2Request method. // req, resp := client.InputService1TestCaseOperation2Request(params) @@ -252,19 +249,18 @@ const opInputService1TestCaseOperation3 = "OperationName" // InputService1TestCaseOperation3Request generates a "aws/request.Request" representing the // client's request for the InputService1TestCaseOperation3 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService1TestCaseOperation3 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService1TestCaseOperation3 method directly -// instead. +// See InputService1TestCaseOperation3 for more information on using the InputService1TestCaseOperation3 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService1TestCaseOperation3Request method. // req, resp := client.InputService1TestCaseOperation3Request(params) @@ -419,19 +415,18 @@ const opInputService2TestCaseOperation1 = "OperationName" // InputService2TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService2TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService2TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService2TestCaseOperation1 method directly -// instead. +// See InputService2TestCaseOperation1 for more information on using the InputService2TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService2TestCaseOperation1Request method. // req, resp := client.InputService2TestCaseOperation1Request(params) @@ -590,19 +585,18 @@ const opInputService3TestCaseOperation1 = "OperationName" // InputService3TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService3TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService3TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService3TestCaseOperation1 method directly -// instead. +// See InputService3TestCaseOperation1 for more information on using the InputService3TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService3TestCaseOperation1Request method. // req, resp := client.InputService3TestCaseOperation1Request(params) @@ -662,19 +656,18 @@ const opInputService3TestCaseOperation2 = "OperationName" // InputService3TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the InputService3TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService3TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService3TestCaseOperation2 method directly -// instead. +// See InputService3TestCaseOperation2 for more information on using the InputService3TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService3TestCaseOperation2Request method. // req, resp := client.InputService3TestCaseOperation2Request(params) @@ -841,19 +834,18 @@ const opInputService4TestCaseOperation1 = "OperationName" // InputService4TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService4TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService4TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService4TestCaseOperation1 method directly -// instead. +// See InputService4TestCaseOperation1 for more information on using the InputService4TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService4TestCaseOperation1Request method. // req, resp := client.InputService4TestCaseOperation1Request(params) @@ -1016,19 +1008,18 @@ const opInputService5TestCaseOperation1 = "OperationName" // InputService5TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService5TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService5TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService5TestCaseOperation1 method directly -// instead. +// See InputService5TestCaseOperation1 for more information on using the InputService5TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService5TestCaseOperation1Request method. // req, resp := client.InputService5TestCaseOperation1Request(params) @@ -1163,19 +1154,18 @@ const opInputService6TestCaseOperation1 = "OperationName" // InputService6TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService6TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService6TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService6TestCaseOperation1 method directly -// instead. +// See InputService6TestCaseOperation1 for more information on using the InputService6TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService6TestCaseOperation1Request method. // req, resp := client.InputService6TestCaseOperation1Request(params) @@ -1310,19 +1300,18 @@ const opInputService7TestCaseOperation1 = "OperationName" // InputService7TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService7TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService7TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService7TestCaseOperation1 method directly -// instead. +// See InputService7TestCaseOperation1 for more information on using the InputService7TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService7TestCaseOperation1Request method. // req, resp := client.InputService7TestCaseOperation1Request(params) @@ -1457,19 +1446,18 @@ const opInputService8TestCaseOperation1 = "OperationName" // InputService8TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService8TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService8TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService8TestCaseOperation1 method directly -// instead. +// See InputService8TestCaseOperation1 for more information on using the InputService8TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService8TestCaseOperation1Request method. // req, resp := client.InputService8TestCaseOperation1Request(params) @@ -1604,19 +1592,18 @@ const opInputService9TestCaseOperation1 = "OperationName" // InputService9TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService9TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService9TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService9TestCaseOperation1 method directly -// instead. +// See InputService9TestCaseOperation1 for more information on using the InputService9TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService9TestCaseOperation1Request method. // req, resp := client.InputService9TestCaseOperation1Request(params) @@ -1763,19 +1750,18 @@ const opInputService10TestCaseOperation1 = "OperationName" // InputService10TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService10TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService10TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService10TestCaseOperation1 method directly -// instead. +// See InputService10TestCaseOperation1 for more information on using the InputService10TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService10TestCaseOperation1Request method. // req, resp := client.InputService10TestCaseOperation1Request(params) @@ -1931,19 +1917,18 @@ const opInputService11TestCaseOperation1 = "OperationName" // InputService11TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService11TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService11TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService11TestCaseOperation1 method directly -// instead. +// See InputService11TestCaseOperation1 for more information on using the InputService11TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService11TestCaseOperation1Request method. // req, resp := client.InputService11TestCaseOperation1Request(params) @@ -2078,19 +2063,18 @@ const opInputService12TestCaseOperation1 = "OperationName" // InputService12TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService12TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService12TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService12TestCaseOperation1 method directly -// instead. +// See InputService12TestCaseOperation1 for more information on using the InputService12TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService12TestCaseOperation1Request method. // req, resp := client.InputService12TestCaseOperation1Request(params) @@ -2225,19 +2209,18 @@ const opInputService13TestCaseOperation1 = "OperationName" // InputService13TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService13TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService13TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService13TestCaseOperation1 method directly -// instead. +// See InputService13TestCaseOperation1 for more information on using the InputService13TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService13TestCaseOperation1Request method. // req, resp := client.InputService13TestCaseOperation1Request(params) @@ -2380,19 +2363,18 @@ const opInputService14TestCaseOperation1 = "OperationName" // InputService14TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService14TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService14TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService14TestCaseOperation1 method directly -// instead. +// See InputService14TestCaseOperation1 for more information on using the InputService14TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService14TestCaseOperation1Request method. // req, resp := client.InputService14TestCaseOperation1Request(params) @@ -2535,19 +2517,18 @@ const opInputService15TestCaseOperation1 = "OperationName" // InputService15TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService15TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService15TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService15TestCaseOperation1 method directly -// instead. +// See InputService15TestCaseOperation1 for more information on using the InputService15TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService15TestCaseOperation1Request method. // req, resp := client.InputService15TestCaseOperation1Request(params) @@ -2607,19 +2588,18 @@ const opInputService15TestCaseOperation2 = "OperationName" // InputService15TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the InputService15TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService15TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService15TestCaseOperation2 method directly -// instead. +// See InputService15TestCaseOperation2 for more information on using the InputService15TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService15TestCaseOperation2Request method. // req, resp := client.InputService15TestCaseOperation2Request(params) @@ -2758,19 +2738,18 @@ const opInputService16TestCaseOperation1 = "OperationName" // InputService16TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService16TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService16TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService16TestCaseOperation1 method directly -// instead. +// See InputService16TestCaseOperation1 for more information on using the InputService16TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService16TestCaseOperation1Request method. // req, resp := client.InputService16TestCaseOperation1Request(params) @@ -2905,19 +2884,18 @@ const opInputService17TestCaseOperation1 = "OperationName" // InputService17TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService17TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService17TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService17TestCaseOperation1 method directly -// instead. +// See InputService17TestCaseOperation1 for more information on using the InputService17TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService17TestCaseOperation1Request method. // req, resp := client.InputService17TestCaseOperation1Request(params) @@ -2977,19 +2955,18 @@ const opInputService17TestCaseOperation2 = "OperationName" // InputService17TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the InputService17TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService17TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService17TestCaseOperation2 method directly -// instead. +// See InputService17TestCaseOperation2 for more information on using the InputService17TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService17TestCaseOperation2Request method. // req, resp := client.InputService17TestCaseOperation2Request(params) @@ -3128,19 +3105,18 @@ const opInputService18TestCaseOperation1 = "OperationName" // InputService18TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService18TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService18TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService18TestCaseOperation1 method directly -// instead. +// See InputService18TestCaseOperation1 for more information on using the InputService18TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService18TestCaseOperation1Request method. // req, resp := client.InputService18TestCaseOperation1Request(params) @@ -3200,19 +3176,18 @@ const opInputService18TestCaseOperation2 = "OperationName" // InputService18TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the InputService18TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService18TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService18TestCaseOperation2 method directly -// instead. +// See InputService18TestCaseOperation2 for more information on using the InputService18TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService18TestCaseOperation2Request method. // req, resp := client.InputService18TestCaseOperation2Request(params) @@ -3272,19 +3247,18 @@ const opInputService18TestCaseOperation3 = "OperationName" // InputService18TestCaseOperation3Request generates a "aws/request.Request" representing the // client's request for the InputService18TestCaseOperation3 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService18TestCaseOperation3 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService18TestCaseOperation3 method directly -// instead. +// See InputService18TestCaseOperation3 for more information on using the InputService18TestCaseOperation3 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService18TestCaseOperation3Request method. // req, resp := client.InputService18TestCaseOperation3Request(params) @@ -3344,19 +3318,18 @@ const opInputService18TestCaseOperation4 = "OperationName" // InputService18TestCaseOperation4Request generates a "aws/request.Request" representing the // client's request for the InputService18TestCaseOperation4 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService18TestCaseOperation4 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService18TestCaseOperation4 method directly -// instead. +// See InputService18TestCaseOperation4 for more information on using the InputService18TestCaseOperation4 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService18TestCaseOperation4Request method. // req, resp := client.InputService18TestCaseOperation4Request(params) @@ -3515,19 +3488,18 @@ const opInputService19TestCaseOperation1 = "OperationName" // InputService19TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService19TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService19TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService19TestCaseOperation1 method directly -// instead. +// See InputService19TestCaseOperation1 for more information on using the InputService19TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService19TestCaseOperation1Request method. // req, resp := client.InputService19TestCaseOperation1Request(params) @@ -3694,19 +3666,18 @@ const opInputService20TestCaseOperation1 = "OperationName" // InputService20TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService20TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService20TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService20TestCaseOperation1 method directly -// instead. +// See InputService20TestCaseOperation1 for more information on using the InputService20TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService20TestCaseOperation1Request method. // req, resp := client.InputService20TestCaseOperation1Request(params) @@ -3849,19 +3820,18 @@ const opInputService21TestCaseOperation1 = "OperationName" // InputService21TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService21TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService21TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService21TestCaseOperation1 method directly -// instead. +// See InputService21TestCaseOperation1 for more information on using the InputService21TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService21TestCaseOperation1Request method. // req, resp := client.InputService21TestCaseOperation1Request(params) @@ -3921,19 +3891,18 @@ const opInputService21TestCaseOperation2 = "OperationName" // InputService21TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the InputService21TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService21TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService21TestCaseOperation2 method directly -// instead. +// See InputService21TestCaseOperation2 for more information on using the InputService21TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService21TestCaseOperation2Request method. // req, resp := client.InputService21TestCaseOperation2Request(params) @@ -4072,19 +4041,18 @@ const opInputService22TestCaseOperation1 = "OperationName" // InputService22TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService22TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService22TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService22TestCaseOperation1 method directly -// instead. +// See InputService22TestCaseOperation1 for more information on using the InputService22TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService22TestCaseOperation1Request method. // req, resp := client.InputService22TestCaseOperation1Request(params) @@ -4144,19 +4112,18 @@ const opInputService22TestCaseOperation2 = "OperationName" // InputService22TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the InputService22TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService22TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService22TestCaseOperation2 method directly -// instead. +// See InputService22TestCaseOperation2 for more information on using the InputService22TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService22TestCaseOperation2Request method. // req, resp := client.InputService22TestCaseOperation2Request(params) @@ -4216,19 +4183,18 @@ const opInputService22TestCaseOperation3 = "OperationName" // InputService22TestCaseOperation3Request generates a "aws/request.Request" representing the // client's request for the InputService22TestCaseOperation3 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService22TestCaseOperation3 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService22TestCaseOperation3 method directly -// instead. +// See InputService22TestCaseOperation3 for more information on using the InputService22TestCaseOperation3 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService22TestCaseOperation3Request method. // req, resp := client.InputService22TestCaseOperation3Request(params) @@ -4288,19 +4254,18 @@ const opInputService22TestCaseOperation4 = "OperationName" // InputService22TestCaseOperation4Request generates a "aws/request.Request" representing the // client's request for the InputService22TestCaseOperation4 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService22TestCaseOperation4 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService22TestCaseOperation4 method directly -// instead. +// See InputService22TestCaseOperation4 for more information on using the InputService22TestCaseOperation4 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService22TestCaseOperation4Request method. // req, resp := client.InputService22TestCaseOperation4Request(params) @@ -4360,19 +4325,18 @@ const opInputService22TestCaseOperation5 = "OperationName" // InputService22TestCaseOperation5Request generates a "aws/request.Request" representing the // client's request for the InputService22TestCaseOperation5 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService22TestCaseOperation5 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService22TestCaseOperation5 method directly -// instead. +// See InputService22TestCaseOperation5 for more information on using the InputService22TestCaseOperation5 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService22TestCaseOperation5Request method. // req, resp := client.InputService22TestCaseOperation5Request(params) @@ -4432,19 +4396,18 @@ const opInputService22TestCaseOperation6 = "OperationName" // InputService22TestCaseOperation6Request generates a "aws/request.Request" representing the // client's request for the InputService22TestCaseOperation6 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService22TestCaseOperation6 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService22TestCaseOperation6 method directly -// instead. +// See InputService22TestCaseOperation6 for more information on using the InputService22TestCaseOperation6 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService22TestCaseOperation6Request method. // req, resp := client.InputService22TestCaseOperation6Request(params) @@ -4635,19 +4598,18 @@ const opInputService23TestCaseOperation1 = "OperationName" // InputService23TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService23TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService23TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService23TestCaseOperation1 method directly -// instead. +// See InputService23TestCaseOperation1 for more information on using the InputService23TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService23TestCaseOperation1Request method. // req, resp := client.InputService23TestCaseOperation1Request(params) @@ -4782,19 +4744,18 @@ const opInputService24TestCaseOperation1 = "OperationName" // InputService24TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the InputService24TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService24TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService24TestCaseOperation1 method directly -// instead. +// See InputService24TestCaseOperation1 for more information on using the InputService24TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService24TestCaseOperation1Request method. // req, resp := client.InputService24TestCaseOperation1Request(params) @@ -4854,19 +4815,18 @@ const opInputService24TestCaseOperation2 = "OperationName" // InputService24TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the InputService24TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InputService24TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InputService24TestCaseOperation2 method directly -// instead. +// See InputService24TestCaseOperation2 for more information on using the InputService24TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InputService24TestCaseOperation2Request method. // req, resp := client.InputService24TestCaseOperation2Request(params) @@ -4957,10 +4917,14 @@ func TestInputService1ProtocolTestBasicXMLSerializationCase1(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body := util.SortXML(r.Body) awstesting.AssertXML(t, `barfoo`, util.Trim(string(body)), InputService1TestShapeInputService1TestCaseOperation2Input{}) @@ -4982,10 +4946,14 @@ func TestInputService1ProtocolTestBasicXMLSerializationCase2(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body := util.SortXML(r.Body) awstesting.AssertXML(t, `barfoo`, util.Trim(string(body)), InputService1TestShapeInputService1TestCaseOperation2Input{}) @@ -5004,7 +4972,9 @@ func TestInputService1ProtocolTestBasicXMLSerializationCase3(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/2014-01-01/hostedzone", r.URL.String()) @@ -5026,10 +4996,14 @@ func TestInputService2ProtocolTestSerializeOtherScalarTypesCase1(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body := util.SortXML(r.Body) awstesting.AssertXML(t, `true3false1.2`, util.Trim(string(body)), InputService2TestShapeInputService2TestCaseOperation1Input{}) @@ -5054,10 +5028,14 @@ func TestInputService3ProtocolTestNestedStructuresCase1(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body := util.SortXML(r.Body) awstesting.AssertXML(t, `bazba`, util.Trim(string(body)), InputService3TestShapeInputService3TestCaseOperation2Input{}) @@ -5081,10 +5059,14 @@ func TestInputService3ProtocolTestNestedStructuresCase2(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body := util.SortXML(r.Body) awstesting.AssertXML(t, `baza`, util.Trim(string(body)), InputService3TestShapeInputService3TestCaseOperation2Input{}) @@ -5106,10 +5088,14 @@ func TestInputService4ProtocolTestNestedStructuresCase1(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body := util.SortXML(r.Body) awstesting.AssertXML(t, `baz`, util.Trim(string(body)), InputService4TestShapeInputService4TestCaseOperation1Input{}) @@ -5134,10 +5120,14 @@ func TestInputService5ProtocolTestNonFlattenedListsCase1(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body := util.SortXML(r.Body) awstesting.AssertXML(t, `onetwothree`, util.Trim(string(body)), InputService5TestShapeInputService5TestCaseOperation1Input{}) @@ -5162,10 +5152,14 @@ func TestInputService6ProtocolTestNonFlattenedListsWithLocationNameCase1(t *test // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body := util.SortXML(r.Body) awstesting.AssertXML(t, `onetwothree`, util.Trim(string(body)), InputService6TestShapeInputService6TestCaseOperation1Input{}) @@ -5190,10 +5184,14 @@ func TestInputService7ProtocolTestFlattenedListsCase1(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body := util.SortXML(r.Body) awstesting.AssertXML(t, `onetwothree`, util.Trim(string(body)), InputService7TestShapeInputService7TestCaseOperation1Input{}) @@ -5218,10 +5216,14 @@ func TestInputService8ProtocolTestFlattenedListsWithLocationNameCase1(t *testing // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body := util.SortXML(r.Body) awstesting.AssertXML(t, `onetwothree`, util.Trim(string(body)), InputService8TestShapeInputService8TestCaseOperation1Input{}) @@ -5252,10 +5254,14 @@ func TestInputService9ProtocolTestListOfStructuresCase1(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body := util.SortXML(r.Body) awstesting.AssertXML(t, `onetwothree`, util.Trim(string(body)), InputService9TestShapeInputService9TestCaseOperation1Input{}) @@ -5279,10 +5285,14 @@ func TestInputService10ProtocolTestBlobAndTimestampShapesCase1(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body := util.SortXML(r.Body) awstesting.AssertXML(t, `Zm9v2015-01-25T08:00:00Z`, util.Trim(string(body)), InputService10TestShapeInputService10TestCaseOperation1Input{}) @@ -5306,14 +5316,20 @@ func TestInputService11ProtocolTestHeaderMapsCase1(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/", r.URL.String()) // assert headers - assert.Equal(t, "b", r.Header.Get("x-foo-a")) - assert.Equal(t, "d", r.Header.Get("x-foo-c")) + if e, a := "b", r.Header.Get("x-foo-a"); e != a { + t.Errorf("expect %v to be %v", e, a) + } + if e, a := "d", r.Header.Get("x-foo-c"); e != a { + t.Errorf("expect %v to be %v", e, a) + } } @@ -5330,7 +5346,9 @@ func TestInputService12ProtocolTestQuerystringListOfStringsCase1(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/path?item=value1&item=value2", r.URL.String()) @@ -5353,7 +5371,9 @@ func TestInputService13ProtocolTestStringToStringMapsInQuerystringCase1(t *testi // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/2014-01-01/jobsByPipeline/foo?bar=baz&fizz=buzz", r.URL.String()) @@ -5382,7 +5402,9 @@ func TestInputService14ProtocolTestStringToStringListMapsInQuerystringCase1(t *t // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/2014-01-01/jobsByPipeline/id?foo=bar&foo=baz&fizz=buzz&fizz=pop", r.URL.String()) @@ -5401,7 +5423,9 @@ func TestInputService15ProtocolTestBooleanInQuerystringCase1(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/path?bool-query=true", r.URL.String()) @@ -5420,7 +5444,9 @@ func TestInputService15ProtocolTestBooleanInQuerystringCase2(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/path?bool-query=false", r.URL.String()) @@ -5439,12 +5465,18 @@ func TestInputService16ProtocolTestStringPayloadCase1(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body := util.SortXML(r.Body) - assert.Equal(t, `bar`, util.Trim(string(body))) + if e, a := "bar", util.Trim(string(body)); e != a { + t.Errorf("expect %v, got %v", e, a) + } // assert URL awstesting.AssertURL(t, "https://test/", r.URL.String()) @@ -5463,12 +5495,18 @@ func TestInputService17ProtocolTestBlobPayloadCase1(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body := util.SortXML(r.Body) - assert.Equal(t, `bar`, util.Trim(string(body))) + if e, a := "bar", util.Trim(string(body)); e != a { + t.Errorf("expect %v, got %v", e, a) + } // assert URL awstesting.AssertURL(t, "https://test/", r.URL.String()) @@ -5485,7 +5523,9 @@ func TestInputService17ProtocolTestBlobPayloadCase2(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/", r.URL.String()) @@ -5506,10 +5546,14 @@ func TestInputService18ProtocolTestStructurePayloadCase1(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body := util.SortXML(r.Body) awstesting.AssertXML(t, `bar`, util.Trim(string(body)), InputService18TestShapeInputService18TestCaseOperation4Input{}) @@ -5528,7 +5572,9 @@ func TestInputService18ProtocolTestStructurePayloadCase2(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/", r.URL.String()) @@ -5547,10 +5593,14 @@ func TestInputService18ProtocolTestStructurePayloadCase3(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body := util.SortXML(r.Body) awstesting.AssertXML(t, ``, util.Trim(string(body)), InputService18TestShapeInputService18TestCaseOperation4Input{}) @@ -5569,7 +5619,9 @@ func TestInputService18ProtocolTestStructurePayloadCase4(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/", r.URL.String()) @@ -5593,10 +5645,14 @@ func TestInputService19ProtocolTestXMLAttributeCase1(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body := util.SortXML(r.Body) awstesting.AssertXML(t, `foo@example.com`, util.Trim(string(body)), InputService19TestShapeInputService19TestCaseOperation1Input{}) @@ -5618,7 +5674,9 @@ func TestInputService20ProtocolTestGreedyKeysCase1(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/my%2Fbucket/testing%20/123", r.URL.String()) @@ -5635,7 +5693,9 @@ func TestInputService21ProtocolTestOmitsNullQueryParamsButSerializesEmptyStrings // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/path", r.URL.String()) @@ -5654,7 +5714,9 @@ func TestInputService21ProtocolTestOmitsNullQueryParamsButSerializesEmptyStrings // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/path?abc=mno¶m-name=", r.URL.String()) @@ -5675,10 +5737,14 @@ func TestInputService22ProtocolTestRecursiveShapesCase1(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body := util.SortXML(r.Body) awstesting.AssertXML(t, `foo`, util.Trim(string(body)), InputService22TestShapeInputService22TestCaseOperation6Input{}) @@ -5703,10 +5769,14 @@ func TestInputService22ProtocolTestRecursiveShapesCase2(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body := util.SortXML(r.Body) awstesting.AssertXML(t, `foo`, util.Trim(string(body)), InputService22TestShapeInputService22TestCaseOperation6Input{}) @@ -5735,10 +5805,14 @@ func TestInputService22ProtocolTestRecursiveShapesCase3(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body := util.SortXML(r.Body) awstesting.AssertXML(t, `foo`, util.Trim(string(body)), InputService22TestShapeInputService22TestCaseOperation6Input{}) @@ -5768,10 +5842,14 @@ func TestInputService22ProtocolTestRecursiveShapesCase4(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body := util.SortXML(r.Body) awstesting.AssertXML(t, `foobar`, util.Trim(string(body)), InputService22TestShapeInputService22TestCaseOperation6Input{}) @@ -5803,10 +5881,14 @@ func TestInputService22ProtocolTestRecursiveShapesCase5(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body := util.SortXML(r.Body) awstesting.AssertXML(t, `foobar`, util.Trim(string(body)), InputService22TestShapeInputService22TestCaseOperation6Input{}) @@ -5836,10 +5918,14 @@ func TestInputService22ProtocolTestRecursiveShapesCase6(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body := util.SortXML(r.Body) awstesting.AssertXML(t, `foofoobarbar`, util.Trim(string(body)), InputService22TestShapeInputService22TestCaseOperation6Input{}) @@ -5860,13 +5946,17 @@ func TestInputService23ProtocolTestTimestampInHeaderCase1(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert URL awstesting.AssertURL(t, "https://test/path", r.URL.String()) // assert headers - assert.Equal(t, "Sun, 25 Jan 2015 08:00:00 GMT", r.Header.Get("x-amz-timearg")) + if e, a := "Sun, 25 Jan 2015 08:00:00 GMT", r.Header.Get("x-amz-timearg"); e != a { + t.Errorf("expect %v to be %v", e, a) + } } @@ -5880,10 +5970,14 @@ func TestInputService24ProtocolTestIdempotencyTokenAutoFillCase1(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body := util.SortXML(r.Body) awstesting.AssertXML(t, `abc123`, util.Trim(string(body)), InputService24TestShapeInputService24TestCaseOperation2Input{}) @@ -5902,10 +5996,14 @@ func TestInputService24ProtocolTestIdempotencyTokenAutoFillCase2(t *testing.T) { // build request restxml.Build(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect no error, got %v", req.Error) + } // assert body - assert.NotNil(t, r.Body) + if r.Body == nil { + t.Errorf("expect body not to be nil") + } body := util.SortXML(r.Body) awstesting.AssertXML(t, `00000000-0000-4000-8000-000000000000`, util.Trim(string(body)), InputService24TestShapeInputService24TestCaseOperation2Input{}) diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/unmarshal_test.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/unmarshal_test.go index 9fc8c541f..b835dcea4 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/unmarshal_test.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/unmarshal_test.go @@ -24,7 +24,6 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/restxml" "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil" "github.com/aws/aws-sdk-go/private/util" - "github.com/stretchr/testify/assert" ) var _ bytes.Buffer // always import bytes @@ -108,19 +107,18 @@ const opOutputService1TestCaseOperation1 = "OperationName" // OutputService1TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService1TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService1TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService1TestCaseOperation1 method directly -// instead. +// See OutputService1TestCaseOperation1 for more information on using the OutputService1TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService1TestCaseOperation1Request method. // req, resp := client.OutputService1TestCaseOperation1Request(params) @@ -177,19 +175,18 @@ const opOutputService1TestCaseOperation2 = "OperationName" // OutputService1TestCaseOperation2Request generates a "aws/request.Request" representing the // client's request for the OutputService1TestCaseOperation2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService1TestCaseOperation2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService1TestCaseOperation2 method directly -// instead. +// See OutputService1TestCaseOperation2 for more information on using the OutputService1TestCaseOperation2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService1TestCaseOperation2Request method. // req, resp := client.OutputService1TestCaseOperation2Request(params) @@ -405,19 +402,18 @@ const opOutputService2TestCaseOperation1 = "OperationName" // OutputService2TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService2TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService2TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService2TestCaseOperation1 method directly -// instead. +// See OutputService2TestCaseOperation1 for more information on using the OutputService2TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService2TestCaseOperation1Request method. // req, resp := client.OutputService2TestCaseOperation1Request(params) @@ -550,19 +546,18 @@ const opOutputService3TestCaseOperation1 = "OperationName" // OutputService3TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService3TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService3TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService3TestCaseOperation1 method directly -// instead. +// See OutputService3TestCaseOperation1 for more information on using the OutputService3TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService3TestCaseOperation1Request method. // req, resp := client.OutputService3TestCaseOperation1Request(params) @@ -694,19 +689,18 @@ const opOutputService4TestCaseOperation1 = "OperationName" // OutputService4TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService4TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService4TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService4TestCaseOperation1 method directly -// instead. +// See OutputService4TestCaseOperation1 for more information on using the OutputService4TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService4TestCaseOperation1Request method. // req, resp := client.OutputService4TestCaseOperation1Request(params) @@ -838,19 +832,18 @@ const opOutputService5TestCaseOperation1 = "OperationName" // OutputService5TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService5TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService5TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService5TestCaseOperation1 method directly -// instead. +// See OutputService5TestCaseOperation1 for more information on using the OutputService5TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService5TestCaseOperation1Request method. // req, resp := client.OutputService5TestCaseOperation1Request(params) @@ -982,19 +975,18 @@ const opOutputService6TestCaseOperation1 = "OperationName" // OutputService6TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService6TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService6TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService6TestCaseOperation1 method directly -// instead. +// See OutputService6TestCaseOperation1 for more information on using the OutputService6TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService6TestCaseOperation1Request method. // req, resp := client.OutputService6TestCaseOperation1Request(params) @@ -1138,19 +1130,18 @@ const opOutputService7TestCaseOperation1 = "OperationName" // OutputService7TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService7TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService7TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService7TestCaseOperation1 method directly -// instead. +// See OutputService7TestCaseOperation1 for more information on using the OutputService7TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService7TestCaseOperation1Request method. // req, resp := client.OutputService7TestCaseOperation1Request(params) @@ -1282,19 +1273,18 @@ const opOutputService8TestCaseOperation1 = "OperationName" // OutputService8TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService8TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService8TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService8TestCaseOperation1 method directly -// instead. +// See OutputService8TestCaseOperation1 for more information on using the OutputService8TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService8TestCaseOperation1Request method. // req, resp := client.OutputService8TestCaseOperation1Request(params) @@ -1426,19 +1416,18 @@ const opOutputService9TestCaseOperation1 = "OperationName" // OutputService9TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService9TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService9TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService9TestCaseOperation1 method directly -// instead. +// See OutputService9TestCaseOperation1 for more information on using the OutputService9TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService9TestCaseOperation1Request method. // req, resp := client.OutputService9TestCaseOperation1Request(params) @@ -1590,19 +1579,18 @@ const opOutputService10TestCaseOperation1 = "OperationName" // OutputService10TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService10TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService10TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService10TestCaseOperation1 method directly -// instead. +// See OutputService10TestCaseOperation1 for more information on using the OutputService10TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService10TestCaseOperation1Request method. // req, resp := client.OutputService10TestCaseOperation1Request(params) @@ -1734,19 +1722,18 @@ const opOutputService11TestCaseOperation1 = "OperationName" // OutputService11TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService11TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService11TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService11TestCaseOperation1 method directly -// instead. +// See OutputService11TestCaseOperation1 for more information on using the OutputService11TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService11TestCaseOperation1Request method. // req, resp := client.OutputService11TestCaseOperation1Request(params) @@ -1942,19 +1929,18 @@ const opOutputService12TestCaseOperation1 = "OperationName" // OutputService12TestCaseOperation1Request generates a "aws/request.Request" representing the // client's request for the OutputService12TestCaseOperation1 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OutputService12TestCaseOperation1 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OutputService12TestCaseOperation1 method directly -// instead. +// See OutputService12TestCaseOperation1 for more information on using the OutputService12TestCaseOperation1 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OutputService12TestCaseOperation1Request method. // req, resp := client.OutputService12TestCaseOperation1Request(params) @@ -2041,21 +2027,47 @@ func TestOutputService1ProtocolTestScalarMembersCase1(t *testing.T) { // unmarshal response restxml.UnmarshalMeta(req) restxml.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "a", *out.Char) - assert.Equal(t, 1.3, *out.Double) - assert.Equal(t, false, *out.FalseBool) - assert.Equal(t, 1.2, *out.Float) - assert.Equal(t, "test", *out.ImaHeader) - assert.Equal(t, "abc", *out.ImaHeaderLocation) - assert.Equal(t, int64(200), *out.Long) - assert.Equal(t, int64(123), *out.Num) - assert.Equal(t, "myname", *out.Str) - assert.Equal(t, time.Unix(1.4221728e+09, 0).UTC().String(), out.Timestamp.String()) - assert.Equal(t, true, *out.TrueBool) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "a", *out.Char; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := 1.3, *out.Double; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := false, *out.FalseBool; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := 1.2, *out.Float; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "test", *out.ImaHeader; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "abc", *out.ImaHeaderLocation; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := int64(200), *out.Long; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := int64(123), *out.Num; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "myname", *out.Str; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := time.Unix(1.4221728e+09, 0).UTC().String(), out.Timestamp.String(); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := true, *out.TrueBool; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2073,21 +2085,47 @@ func TestOutputService1ProtocolTestScalarMembersCase2(t *testing.T) { // unmarshal response restxml.UnmarshalMeta(req) restxml.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "a", *out.Char) - assert.Equal(t, 1.3, *out.Double) - assert.Equal(t, false, *out.FalseBool) - assert.Equal(t, 1.2, *out.Float) - assert.Equal(t, "test", *out.ImaHeader) - assert.Equal(t, "abc", *out.ImaHeaderLocation) - assert.Equal(t, int64(200), *out.Long) - assert.Equal(t, int64(123), *out.Num) - assert.Equal(t, "", *out.Str) - assert.Equal(t, time.Unix(1.4221728e+09, 0).UTC().String(), out.Timestamp.String()) - assert.Equal(t, true, *out.TrueBool) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "a", *out.Char; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := 1.3, *out.Double; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := false, *out.FalseBool; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := 1.2, *out.Float; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "test", *out.ImaHeader; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "abc", *out.ImaHeaderLocation; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := int64(200), *out.Long; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := int64(123), *out.Num; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "", *out.Str; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := time.Unix(1.4221728e+09, 0).UTC().String(), out.Timestamp.String(); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := true, *out.TrueBool; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2103,11 +2141,17 @@ func TestOutputService2ProtocolTestBlobCase1(t *testing.T) { // unmarshal response restxml.UnmarshalMeta(req) restxml.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "value", string(out.Blob)) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "value", string(out.Blob); e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2123,12 +2167,20 @@ func TestOutputService3ProtocolTestListsCase1(t *testing.T) { // unmarshal response restxml.UnmarshalMeta(req) restxml.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "abc", *out.ListMember[0]) - assert.Equal(t, "123", *out.ListMember[1]) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "abc", *out.ListMember[0]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "123", *out.ListMember[1]; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2144,12 +2196,20 @@ func TestOutputService4ProtocolTestListWithCustomMemberNameCase1(t *testing.T) { // unmarshal response restxml.UnmarshalMeta(req) restxml.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "abc", *out.ListMember[0]) - assert.Equal(t, "123", *out.ListMember[1]) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "abc", *out.ListMember[0]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "123", *out.ListMember[1]; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2165,12 +2225,20 @@ func TestOutputService5ProtocolTestFlattenedListCase1(t *testing.T) { // unmarshal response restxml.UnmarshalMeta(req) restxml.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "abc", *out.ListMember[0]) - assert.Equal(t, "123", *out.ListMember[1]) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "abc", *out.ListMember[0]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "123", *out.ListMember[1]; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2186,12 +2254,20 @@ func TestOutputService6ProtocolTestNormalMapCase1(t *testing.T) { // unmarshal response restxml.UnmarshalMeta(req) restxml.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "bam", *out.Map["baz"].Foo) - assert.Equal(t, "bar", *out.Map["qux"].Foo) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "bam", *out.Map["baz"].Foo; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "bar", *out.Map["qux"].Foo; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2207,12 +2283,20 @@ func TestOutputService7ProtocolTestFlattenedMapCase1(t *testing.T) { // unmarshal response restxml.UnmarshalMeta(req) restxml.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "bam", *out.Map["baz"]) - assert.Equal(t, "bar", *out.Map["qux"]) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "bam", *out.Map["baz"]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "bar", *out.Map["qux"]; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2228,12 +2312,20 @@ func TestOutputService8ProtocolTestNamedMapCase1(t *testing.T) { // unmarshal response restxml.UnmarshalMeta(req) restxml.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "bam", *out.Map["baz"]) - assert.Equal(t, "bar", *out.Map["qux"]) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "bam", *out.Map["baz"]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "bar", *out.Map["qux"]; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2250,12 +2342,20 @@ func TestOutputService9ProtocolTestXMLPayloadCase1(t *testing.T) { // unmarshal response restxml.UnmarshalMeta(req) restxml.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "abc", *out.Data.Foo) - assert.Equal(t, "baz", *out.Header) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "abc", *out.Data.Foo; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "baz", *out.Header; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2271,11 +2371,17 @@ func TestOutputService10ProtocolTestStreamingPayloadCase1(t *testing.T) { // unmarshal response restxml.UnmarshalMeta(req) restxml.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "abc", string(out.Stream)) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "abc", string(out.Stream); e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2300,19 +2406,41 @@ func TestOutputService11ProtocolTestScalarMembersInHeadersCase1(t *testing.T) { // unmarshal response restxml.UnmarshalMeta(req) restxml.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "a", *out.Char) - assert.Equal(t, 1.5, *out.Double) - assert.Equal(t, false, *out.FalseBool) - assert.Equal(t, 1.5, *out.Float) - assert.Equal(t, int64(1), *out.Integer) - assert.Equal(t, int64(100), *out.Long) - assert.Equal(t, "string", *out.Str) - assert.Equal(t, time.Unix(1.4221728e+09, 0).UTC().String(), out.Timestamp.String()) - assert.Equal(t, true, *out.TrueBool) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "a", *out.Char; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := 1.5, *out.Double; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := false, *out.FalseBool; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := 1.5, *out.Float; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := int64(1), *out.Integer; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := int64(100), *out.Long; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "string", *out.Str; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := time.Unix(1.4221728e+09, 0).UTC().String(), out.Timestamp.String(); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := true, *out.TrueBool; e != a { + t.Errorf("expect %v, got %v", e, a) + } } @@ -2328,10 +2456,16 @@ func TestOutputService12ProtocolTestEmptyStringCase1(t *testing.T) { // unmarshal response restxml.UnmarshalMeta(req) restxml.Unmarshal(req) - assert.NoError(t, req.Error) + if req.Error != nil { + t.Errorf("expect not error, got %v", req.Error) + } // assert response - assert.NotNil(t, out) // ensure out variable is used - assert.Equal(t, "", *out.Foo) + if out == nil { + t.Errorf("expect not to be nil") + } + if e, a := "", *out.Foo; e != a { + t.Errorf("expect %v, got %v", e, a) + } } diff --git a/vendor/github.com/aws/aws-sdk-go/service/acm/acmiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/acm/acmiface/interface.go index 837274e42..982b62f21 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/acm/acmiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/acm/acmiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Certificate Manager. diff --git a/vendor/github.com/aws/aws-sdk-go/service/acm/api.go b/vendor/github.com/aws/aws-sdk-go/service/acm/api.go index 187c23392..b68072721 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/acm/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/acm/api.go @@ -17,19 +17,18 @@ const opAddTagsToCertificate = "AddTagsToCertificate" // AddTagsToCertificateRequest generates a "aws/request.Request" representing the // client's request for the AddTagsToCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddTagsToCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddTagsToCertificate method directly -// instead. +// See AddTagsToCertificate for more information on using the AddTagsToCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddTagsToCertificateRequest method. // req, resp := client.AddTagsToCertificateRequest(params) @@ -126,19 +125,18 @@ const opDeleteCertificate = "DeleteCertificate" // DeleteCertificateRequest generates a "aws/request.Request" representing the // client's request for the DeleteCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteCertificate method directly -// instead. +// See DeleteCertificate for more information on using the DeleteCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteCertificateRequest method. // req, resp := client.DeleteCertificateRequest(params) @@ -224,19 +222,18 @@ const opDescribeCertificate = "DescribeCertificate" // DescribeCertificateRequest generates a "aws/request.Request" representing the // client's request for the DescribeCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeCertificate method directly -// instead. +// See DescribeCertificate for more information on using the DescribeCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeCertificateRequest method. // req, resp := client.DescribeCertificateRequest(params) @@ -308,19 +305,18 @@ const opGetCertificate = "GetCertificate" // GetCertificateRequest generates a "aws/request.Request" representing the // client's request for the GetCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetCertificate method directly -// instead. +// See GetCertificate for more information on using the GetCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetCertificateRequest method. // req, resp := client.GetCertificateRequest(params) @@ -404,19 +400,18 @@ const opImportCertificate = "ImportCertificate" // ImportCertificateRequest generates a "aws/request.Request" representing the // client's request for the ImportCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ImportCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ImportCertificate method directly -// instead. +// See ImportCertificate for more information on using the ImportCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ImportCertificateRequest method. // req, resp := client.ImportCertificateRequest(params) @@ -517,19 +512,18 @@ const opListCertificates = "ListCertificates" // ListCertificatesRequest generates a "aws/request.Request" representing the // client's request for the ListCertificates operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListCertificates for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListCertificates method directly -// instead. +// See ListCertificates for more information on using the ListCertificates +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListCertificatesRequest method. // req, resp := client.ListCertificatesRequest(params) @@ -650,19 +644,18 @@ const opListTagsForCertificate = "ListTagsForCertificate" // ListTagsForCertificateRequest generates a "aws/request.Request" representing the // client's request for the ListTagsForCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTagsForCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTagsForCertificate method directly -// instead. +// See ListTagsForCertificate for more information on using the ListTagsForCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTagsForCertificateRequest method. // req, resp := client.ListTagsForCertificateRequest(params) @@ -737,19 +730,18 @@ const opRemoveTagsFromCertificate = "RemoveTagsFromCertificate" // RemoveTagsFromCertificateRequest generates a "aws/request.Request" representing the // client's request for the RemoveTagsFromCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveTagsFromCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveTagsFromCertificate method directly -// instead. +// See RemoveTagsFromCertificate for more information on using the RemoveTagsFromCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveTagsFromCertificateRequest method. // req, resp := client.RemoveTagsFromCertificateRequest(params) @@ -834,19 +826,18 @@ const opRequestCertificate = "RequestCertificate" // RequestCertificateRequest generates a "aws/request.Request" representing the // client's request for the RequestCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RequestCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RequestCertificate method directly -// instead. +// See RequestCertificate for more information on using the RequestCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RequestCertificateRequest method. // req, resp := client.RequestCertificateRequest(params) @@ -927,19 +918,18 @@ const opResendValidationEmail = "ResendValidationEmail" // ResendValidationEmailRequest generates a "aws/request.Request" representing the // client's request for the ResendValidationEmail operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ResendValidationEmail for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ResendValidationEmail method directly -// instead. +// See ResendValidationEmail for more information on using the ResendValidationEmail +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ResendValidationEmailRequest method. // req, resp := client.ResendValidationEmailRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/acm/doc.go b/vendor/github.com/aws/aws-sdk-go/service/acm/doc.go index 4cf6ffba3..0119041f5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/acm/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/acm/doc.go @@ -16,69 +16,17 @@ // // Using the Client // -// To use the client for AWS Certificate Manager you will first need -// to create a new instance of it. +// To AWS Certificate Manager with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := acm.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Certificate Manager client ACM for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/acm/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AddTagsToCertificate(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AddTagsToCertificate result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AddTagsToCertificateWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package acm diff --git a/vendor/github.com/aws/aws-sdk-go/service/apigateway/api.go b/vendor/github.com/aws/aws-sdk-go/service/apigateway/api.go index 06f3abf5b..0f5df5dc1 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/apigateway/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/apigateway/api.go @@ -16,19 +16,18 @@ const opCreateApiKey = "CreateApiKey" // CreateApiKeyRequest generates a "aws/request.Request" representing the // client's request for the CreateApiKey operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateApiKey for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateApiKey method directly -// instead. +// See CreateApiKey for more information on using the CreateApiKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateApiKeyRequest method. // req, resp := client.CreateApiKeyRequest(params) @@ -68,16 +67,25 @@ func (c *APIGateway) CreateApiKeyRequest(input *CreateApiKeyInput) (req *request // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeLimitExceededException "LimitExceededException" +// The request exceeded the rate limit. Retry after the specified time period. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // func (c *APIGateway) CreateApiKey(input *CreateApiKeyInput) (*ApiKey, error) { req, out := c.CreateApiKeyRequest(input) @@ -104,19 +112,18 @@ const opCreateAuthorizer = "CreateAuthorizer" // CreateAuthorizerRequest generates a "aws/request.Request" representing the // client's request for the CreateAuthorizer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateAuthorizer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateAuthorizer method directly -// instead. +// See CreateAuthorizer for more information on using the CreateAuthorizer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateAuthorizerRequest method. // req, resp := client.CreateAuthorizerRequest(params) @@ -156,14 +163,21 @@ func (c *APIGateway) CreateAuthorizerRequest(input *CreateAuthorizerInput) (req // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeLimitExceededException "LimitExceededException" +// The request exceeded the rate limit. Retry after the specified time period. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) CreateAuthorizer(input *CreateAuthorizerInput) (*Authorizer, error) { req, out := c.CreateAuthorizerRequest(input) @@ -190,19 +204,18 @@ const opCreateBasePathMapping = "CreateBasePathMapping" // CreateBasePathMappingRequest generates a "aws/request.Request" representing the // client's request for the CreateBasePathMapping operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateBasePathMapping for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateBasePathMapping method directly -// instead. +// See CreateBasePathMapping for more information on using the CreateBasePathMapping +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateBasePathMappingRequest method. // req, resp := client.CreateBasePathMappingRequest(params) @@ -240,14 +253,22 @@ func (c *APIGateway) CreateBasePathMappingRequest(input *CreateBasePathMappingIn // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) CreateBasePathMapping(input *CreateBasePathMappingInput) (*BasePathMapping, error) { req, out := c.CreateBasePathMappingRequest(input) @@ -274,19 +295,18 @@ const opCreateDeployment = "CreateDeployment" // CreateDeploymentRequest generates a "aws/request.Request" representing the // client's request for the CreateDeployment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDeployment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDeployment method directly -// instead. +// See CreateDeployment for more information on using the CreateDeployment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDeploymentRequest method. // req, resp := client.CreateDeploymentRequest(params) @@ -325,18 +345,29 @@ func (c *APIGateway) CreateDeploymentRequest(input *CreateDeploymentInput) (req // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeLimitExceededException "LimitExceededException" +// The request exceeded the rate limit. Retry after the specified time period. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The requested service is not available. For details see the accompanying +// error message. Retry after the specified time period. // func (c *APIGateway) CreateDeployment(input *CreateDeploymentInput) (*Deployment, error) { req, out := c.CreateDeploymentRequest(input) @@ -363,19 +394,18 @@ const opCreateDocumentationPart = "CreateDocumentationPart" // CreateDocumentationPartRequest generates a "aws/request.Request" representing the // client's request for the CreateDocumentationPart operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDocumentationPart for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDocumentationPart method directly -// instead. +// See CreateDocumentationPart for more information on using the CreateDocumentationPart +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDocumentationPartRequest method. // req, resp := client.CreateDocumentationPartRequest(params) @@ -411,16 +441,25 @@ func (c *APIGateway) CreateDocumentationPartRequest(input *CreateDocumentationPa // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeLimitExceededException "LimitExceededException" +// The request exceeded the rate limit. Retry after the specified time period. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) CreateDocumentationPart(input *CreateDocumentationPartInput) (*DocumentationPart, error) { req, out := c.CreateDocumentationPartRequest(input) @@ -447,19 +486,18 @@ const opCreateDocumentationVersion = "CreateDocumentationVersion" // CreateDocumentationVersionRequest generates a "aws/request.Request" representing the // client's request for the CreateDocumentationVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDocumentationVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDocumentationVersion method directly -// instead. +// See CreateDocumentationVersion for more information on using the CreateDocumentationVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDocumentationVersionRequest method. // req, resp := client.CreateDocumentationVersionRequest(params) @@ -495,16 +533,25 @@ func (c *APIGateway) CreateDocumentationVersionRequest(input *CreateDocumentatio // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeLimitExceededException "LimitExceededException" +// The request exceeded the rate limit. Retry after the specified time period. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) CreateDocumentationVersion(input *CreateDocumentationVersionInput) (*DocumentationVersion, error) { req, out := c.CreateDocumentationVersionRequest(input) @@ -531,19 +578,18 @@ const opCreateDomainName = "CreateDomainName" // CreateDomainNameRequest generates a "aws/request.Request" representing the // client's request for the CreateDomainName operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDomainName for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDomainName method directly -// instead. +// See CreateDomainName for more information on using the CreateDomainName +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDomainNameRequest method. // req, resp := client.CreateDomainNameRequest(params) @@ -581,12 +627,19 @@ func (c *APIGateway) CreateDomainNameRequest(input *CreateDomainNameInput) (req // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) CreateDomainName(input *CreateDomainNameInput) (*DomainName, error) { req, out := c.CreateDomainNameRequest(input) @@ -613,19 +666,18 @@ const opCreateModel = "CreateModel" // CreateModelRequest generates a "aws/request.Request" representing the // client's request for the CreateModel operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateModel for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateModel method directly -// instead. +// See CreateModel for more information on using the CreateModel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateModelRequest method. // req, resp := client.CreateModelRequest(params) @@ -663,16 +715,25 @@ func (c *APIGateway) CreateModelRequest(input *CreateModelInput) (req *request.R // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeLimitExceededException "LimitExceededException" +// The request exceeded the rate limit. Retry after the specified time period. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) CreateModel(input *CreateModelInput) (*Model, error) { req, out := c.CreateModelRequest(input) @@ -699,19 +760,18 @@ const opCreateRequestValidator = "CreateRequestValidator" // CreateRequestValidatorRequest generates a "aws/request.Request" representing the // client's request for the CreateRequestValidator operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateRequestValidator for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateRequestValidator method directly -// instead. +// See CreateRequestValidator for more information on using the CreateRequestValidator +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateRequestValidatorRequest method. // req, resp := client.CreateRequestValidatorRequest(params) @@ -749,14 +809,21 @@ func (c *APIGateway) CreateRequestValidatorRequest(input *CreateRequestValidator // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeLimitExceededException "LimitExceededException" +// The request exceeded the rate limit. Retry after the specified time period. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) CreateRequestValidator(input *CreateRequestValidatorInput) (*UpdateRequestValidatorOutput, error) { req, out := c.CreateRequestValidatorRequest(input) @@ -783,19 +850,18 @@ const opCreateResource = "CreateResource" // CreateResourceRequest generates a "aws/request.Request" representing the // client's request for the CreateResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateResource method directly -// instead. +// See CreateResource for more information on using the CreateResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateResourceRequest method. // req, resp := client.CreateResourceRequest(params) @@ -833,16 +899,25 @@ func (c *APIGateway) CreateResourceRequest(input *CreateResourceInput) (req *req // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeLimitExceededException "LimitExceededException" +// The request exceeded the rate limit. Retry after the specified time period. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) CreateResource(input *CreateResourceInput) (*Resource, error) { req, out := c.CreateResourceRequest(input) @@ -869,19 +944,18 @@ const opCreateRestApi = "CreateRestApi" // CreateRestApiRequest generates a "aws/request.Request" representing the // client's request for the CreateRestApi operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateRestApi for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateRestApi method directly -// instead. +// See CreateRestApi for more information on using the CreateRestApi +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateRestApiRequest method. // req, resp := client.CreateRestApiRequest(params) @@ -919,12 +993,18 @@ func (c *APIGateway) CreateRestApiRequest(input *CreateRestApiInput) (req *reque // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeLimitExceededException "LimitExceededException" +// The request exceeded the rate limit. Retry after the specified time period. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) CreateRestApi(input *CreateRestApiInput) (*RestApi, error) { req, out := c.CreateRestApiRequest(input) @@ -951,19 +1031,18 @@ const opCreateStage = "CreateStage" // CreateStageRequest generates a "aws/request.Request" representing the // client's request for the CreateStage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateStage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateStage method directly -// instead. +// See CreateStage for more information on using the CreateStage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateStageRequest method. // req, resp := client.CreateStageRequest(params) @@ -1002,16 +1081,25 @@ func (c *APIGateway) CreateStageRequest(input *CreateStageInput) (req *request.R // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeLimitExceededException "LimitExceededException" +// The request exceeded the rate limit. Retry after the specified time period. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) CreateStage(input *CreateStageInput) (*Stage, error) { req, out := c.CreateStageRequest(input) @@ -1038,19 +1126,18 @@ const opCreateUsagePlan = "CreateUsagePlan" // CreateUsagePlanRequest generates a "aws/request.Request" representing the // client's request for the CreateUsagePlan operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateUsagePlan for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateUsagePlan method directly -// instead. +// See CreateUsagePlan for more information on using the CreateUsagePlan +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateUsagePlanRequest method. // req, resp := client.CreateUsagePlanRequest(params) @@ -1089,16 +1176,25 @@ func (c *APIGateway) CreateUsagePlanRequest(input *CreateUsagePlanInput) (req *r // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeLimitExceededException "LimitExceededException" +// The request exceeded the rate limit. Retry after the specified time period. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // func (c *APIGateway) CreateUsagePlan(input *CreateUsagePlanInput) (*UsagePlan, error) { req, out := c.CreateUsagePlanRequest(input) @@ -1125,19 +1221,18 @@ const opCreateUsagePlanKey = "CreateUsagePlanKey" // CreateUsagePlanKeyRequest generates a "aws/request.Request" representing the // client's request for the CreateUsagePlanKey operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateUsagePlanKey for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateUsagePlanKey method directly -// instead. +// See CreateUsagePlanKey for more information on using the CreateUsagePlanKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateUsagePlanKeyRequest method. // req, resp := client.CreateUsagePlanKeyRequest(params) @@ -1175,14 +1270,22 @@ func (c *APIGateway) CreateUsagePlanKeyRequest(input *CreateUsagePlanKeyInput) ( // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) CreateUsagePlanKey(input *CreateUsagePlanKeyInput) (*UsagePlanKey, error) { req, out := c.CreateUsagePlanKeyRequest(input) @@ -1209,19 +1312,18 @@ const opDeleteApiKey = "DeleteApiKey" // DeleteApiKeyRequest generates a "aws/request.Request" representing the // client's request for the DeleteApiKey operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteApiKey for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteApiKey method directly -// instead. +// See DeleteApiKey for more information on using the DeleteApiKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteApiKeyRequest method. // req, resp := client.DeleteApiKeyRequest(params) @@ -1261,10 +1363,14 @@ func (c *APIGateway) DeleteApiKeyRequest(input *DeleteApiKeyInput) (req *request // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) DeleteApiKey(input *DeleteApiKeyInput) (*DeleteApiKeyOutput, error) { req, out := c.DeleteApiKeyRequest(input) @@ -1291,19 +1397,18 @@ const opDeleteAuthorizer = "DeleteAuthorizer" // DeleteAuthorizerRequest generates a "aws/request.Request" representing the // client's request for the DeleteAuthorizer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteAuthorizer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteAuthorizer method directly -// instead. +// See DeleteAuthorizer for more information on using the DeleteAuthorizer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteAuthorizerRequest method. // req, resp := client.DeleteAuthorizerRequest(params) @@ -1345,14 +1450,22 @@ func (c *APIGateway) DeleteAuthorizerRequest(input *DeleteAuthorizerInput) (req // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // func (c *APIGateway) DeleteAuthorizer(input *DeleteAuthorizerInput) (*DeleteAuthorizerOutput, error) { req, out := c.DeleteAuthorizerRequest(input) @@ -1379,19 +1492,18 @@ const opDeleteBasePathMapping = "DeleteBasePathMapping" // DeleteBasePathMappingRequest generates a "aws/request.Request" representing the // client's request for the DeleteBasePathMapping operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteBasePathMapping for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteBasePathMapping method directly -// instead. +// See DeleteBasePathMapping for more information on using the DeleteBasePathMapping +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteBasePathMappingRequest method. // req, resp := client.DeleteBasePathMappingRequest(params) @@ -1431,10 +1543,22 @@ func (c *APIGateway) DeleteBasePathMappingRequest(input *DeleteBasePathMappingIn // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. +// +// * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) DeleteBasePathMapping(input *DeleteBasePathMappingInput) (*DeleteBasePathMappingOutput, error) { req, out := c.DeleteBasePathMappingRequest(input) @@ -1461,19 +1585,18 @@ const opDeleteClientCertificate = "DeleteClientCertificate" // DeleteClientCertificateRequest generates a "aws/request.Request" representing the // client's request for the DeleteClientCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteClientCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteClientCertificate method directly -// instead. +// See DeleteClientCertificate for more information on using the DeleteClientCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteClientCertificateRequest method. // req, resp := client.DeleteClientCertificateRequest(params) @@ -1513,12 +1636,18 @@ func (c *APIGateway) DeleteClientCertificateRequest(input *DeleteClientCertifica // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // func (c *APIGateway) DeleteClientCertificate(input *DeleteClientCertificateInput) (*DeleteClientCertificateOutput, error) { req, out := c.DeleteClientCertificateRequest(input) @@ -1545,19 +1674,18 @@ const opDeleteDeployment = "DeleteDeployment" // DeleteDeploymentRequest generates a "aws/request.Request" representing the // client's request for the DeleteDeployment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDeployment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDeployment method directly -// instead. +// See DeleteDeployment for more information on using the DeleteDeployment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDeploymentRequest method. // req, resp := client.DeleteDeploymentRequest(params) @@ -1598,12 +1726,18 @@ func (c *APIGateway) DeleteDeploymentRequest(input *DeleteDeploymentInput) (req // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) DeleteDeployment(input *DeleteDeploymentInput) (*DeleteDeploymentOutput, error) { req, out := c.DeleteDeploymentRequest(input) @@ -1630,19 +1764,18 @@ const opDeleteDocumentationPart = "DeleteDocumentationPart" // DeleteDocumentationPartRequest generates a "aws/request.Request" representing the // client's request for the DeleteDocumentationPart operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDocumentationPart for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDocumentationPart method directly -// instead. +// See DeleteDocumentationPart for more information on using the DeleteDocumentationPart +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDocumentationPartRequest method. // req, resp := client.DeleteDocumentationPartRequest(params) @@ -1680,14 +1813,22 @@ func (c *APIGateway) DeleteDocumentationPartRequest(input *DeleteDocumentationPa // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // func (c *APIGateway) DeleteDocumentationPart(input *DeleteDocumentationPartInput) (*DeleteDocumentationPartOutput, error) { req, out := c.DeleteDocumentationPartRequest(input) @@ -1714,19 +1855,18 @@ const opDeleteDocumentationVersion = "DeleteDocumentationVersion" // DeleteDocumentationVersionRequest generates a "aws/request.Request" representing the // client's request for the DeleteDocumentationVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDocumentationVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDocumentationVersion method directly -// instead. +// See DeleteDocumentationVersion for more information on using the DeleteDocumentationVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDocumentationVersionRequest method. // req, resp := client.DeleteDocumentationVersionRequest(params) @@ -1764,14 +1904,22 @@ func (c *APIGateway) DeleteDocumentationVersionRequest(input *DeleteDocumentatio // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) DeleteDocumentationVersion(input *DeleteDocumentationVersionInput) (*DeleteDocumentationVersionOutput, error) { req, out := c.DeleteDocumentationVersionRequest(input) @@ -1798,19 +1946,18 @@ const opDeleteDomainName = "DeleteDomainName" // DeleteDomainNameRequest generates a "aws/request.Request" representing the // client's request for the DeleteDomainName operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDomainName for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDomainName method directly -// instead. +// See DeleteDomainName for more information on using the DeleteDomainName +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDomainNameRequest method. // req, resp := client.DeleteDomainNameRequest(params) @@ -1850,10 +1997,14 @@ func (c *APIGateway) DeleteDomainNameRequest(input *DeleteDomainNameInput) (req // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) DeleteDomainName(input *DeleteDomainNameInput) (*DeleteDomainNameOutput, error) { req, out := c.DeleteDomainNameRequest(input) @@ -1880,19 +2031,18 @@ const opDeleteGatewayResponse = "DeleteGatewayResponse" // DeleteGatewayResponseRequest generates a "aws/request.Request" representing the // client's request for the DeleteGatewayResponse operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteGatewayResponse for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteGatewayResponse method directly -// instead. +// See DeleteGatewayResponse for more information on using the DeleteGatewayResponse +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteGatewayResponseRequest method. // req, resp := client.DeleteGatewayResponseRequest(params) @@ -1933,14 +2083,22 @@ func (c *APIGateway) DeleteGatewayResponseRequest(input *DeleteGatewayResponseIn // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // func (c *APIGateway) DeleteGatewayResponse(input *DeleteGatewayResponseInput) (*DeleteGatewayResponseOutput, error) { req, out := c.DeleteGatewayResponseRequest(input) @@ -1967,19 +2125,18 @@ const opDeleteIntegration = "DeleteIntegration" // DeleteIntegrationRequest generates a "aws/request.Request" representing the // client's request for the DeleteIntegration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteIntegration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteIntegration method directly -// instead. +// See DeleteIntegration for more information on using the DeleteIntegration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteIntegrationRequest method. // req, resp := client.DeleteIntegrationRequest(params) @@ -2019,12 +2176,18 @@ func (c *APIGateway) DeleteIntegrationRequest(input *DeleteIntegrationInput) (re // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // func (c *APIGateway) DeleteIntegration(input *DeleteIntegrationInput) (*DeleteIntegrationOutput, error) { req, out := c.DeleteIntegrationRequest(input) @@ -2051,19 +2214,18 @@ const opDeleteIntegrationResponse = "DeleteIntegrationResponse" // DeleteIntegrationResponseRequest generates a "aws/request.Request" representing the // client's request for the DeleteIntegrationResponse operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteIntegrationResponse for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteIntegrationResponse method directly -// instead. +// See DeleteIntegrationResponse for more information on using the DeleteIntegrationResponse +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteIntegrationResponseRequest method. // req, resp := client.DeleteIntegrationResponseRequest(params) @@ -2103,14 +2265,22 @@ func (c *APIGateway) DeleteIntegrationResponseRequest(input *DeleteIntegrationRe // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // func (c *APIGateway) DeleteIntegrationResponse(input *DeleteIntegrationResponseInput) (*DeleteIntegrationResponseOutput, error) { req, out := c.DeleteIntegrationResponseRequest(input) @@ -2137,19 +2307,18 @@ const opDeleteMethod = "DeleteMethod" // DeleteMethodRequest generates a "aws/request.Request" representing the // client's request for the DeleteMethod operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteMethod for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteMethod method directly -// instead. +// See DeleteMethod for more information on using the DeleteMethod +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteMethodRequest method. // req, resp := client.DeleteMethodRequest(params) @@ -2189,12 +2358,18 @@ func (c *APIGateway) DeleteMethodRequest(input *DeleteMethodInput) (req *request // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // func (c *APIGateway) DeleteMethod(input *DeleteMethodInput) (*DeleteMethodOutput, error) { req, out := c.DeleteMethodRequest(input) @@ -2221,19 +2396,18 @@ const opDeleteMethodResponse = "DeleteMethodResponse" // DeleteMethodResponseRequest generates a "aws/request.Request" representing the // client's request for the DeleteMethodResponse operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteMethodResponse for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteMethodResponse method directly -// instead. +// See DeleteMethodResponse for more information on using the DeleteMethodResponse +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteMethodResponseRequest method. // req, resp := client.DeleteMethodResponseRequest(params) @@ -2273,14 +2447,22 @@ func (c *APIGateway) DeleteMethodResponseRequest(input *DeleteMethodResponseInpu // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // func (c *APIGateway) DeleteMethodResponse(input *DeleteMethodResponseInput) (*DeleteMethodResponseOutput, error) { req, out := c.DeleteMethodResponseRequest(input) @@ -2307,19 +2489,18 @@ const opDeleteModel = "DeleteModel" // DeleteModelRequest generates a "aws/request.Request" representing the // client's request for the DeleteModel operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteModel for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteModel method directly -// instead. +// See DeleteModel for more information on using the DeleteModel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteModelRequest method. // req, resp := client.DeleteModelRequest(params) @@ -2359,14 +2540,22 @@ func (c *APIGateway) DeleteModelRequest(input *DeleteModelInput) (req *request.R // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // func (c *APIGateway) DeleteModel(input *DeleteModelInput) (*DeleteModelOutput, error) { req, out := c.DeleteModelRequest(input) @@ -2393,19 +2582,18 @@ const opDeleteRequestValidator = "DeleteRequestValidator" // DeleteRequestValidatorRequest generates a "aws/request.Request" representing the // client's request for the DeleteRequestValidator operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteRequestValidator for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteRequestValidator method directly -// instead. +// See DeleteRequestValidator for more information on using the DeleteRequestValidator +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteRequestValidatorRequest method. // req, resp := client.DeleteRequestValidatorRequest(params) @@ -2445,14 +2633,22 @@ func (c *APIGateway) DeleteRequestValidatorRequest(input *DeleteRequestValidator // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // func (c *APIGateway) DeleteRequestValidator(input *DeleteRequestValidatorInput) (*DeleteRequestValidatorOutput, error) { req, out := c.DeleteRequestValidatorRequest(input) @@ -2479,19 +2675,18 @@ const opDeleteResource = "DeleteResource" // DeleteResourceRequest generates a "aws/request.Request" representing the // client's request for the DeleteResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteResource method directly -// instead. +// See DeleteResource for more information on using the DeleteResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteResourceRequest method. // req, resp := client.DeleteResourceRequest(params) @@ -2531,14 +2726,22 @@ func (c *APIGateway) DeleteResourceRequest(input *DeleteResourceInput) (req *req // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) DeleteResource(input *DeleteResourceInput) (*DeleteResourceOutput, error) { req, out := c.DeleteResourceRequest(input) @@ -2565,19 +2768,18 @@ const opDeleteRestApi = "DeleteRestApi" // DeleteRestApiRequest generates a "aws/request.Request" representing the // client's request for the DeleteRestApi operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteRestApi for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteRestApi method directly -// instead. +// See DeleteRestApi for more information on using the DeleteRestApi +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteRestApiRequest method. // req, resp := client.DeleteRestApiRequest(params) @@ -2617,12 +2819,18 @@ func (c *APIGateway) DeleteRestApiRequest(input *DeleteRestApiInput) (req *reque // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // func (c *APIGateway) DeleteRestApi(input *DeleteRestApiInput) (*DeleteRestApiOutput, error) { req, out := c.DeleteRestApiRequest(input) @@ -2649,19 +2857,18 @@ const opDeleteStage = "DeleteStage" // DeleteStageRequest generates a "aws/request.Request" representing the // client's request for the DeleteStage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteStage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteStage method directly -// instead. +// See DeleteStage for more information on using the DeleteStage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteStageRequest method. // req, resp := client.DeleteStageRequest(params) @@ -2701,12 +2908,18 @@ func (c *APIGateway) DeleteStageRequest(input *DeleteStageInput) (req *request.R // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // func (c *APIGateway) DeleteStage(input *DeleteStageInput) (*DeleteStageOutput, error) { req, out := c.DeleteStageRequest(input) @@ -2733,19 +2946,18 @@ const opDeleteUsagePlan = "DeleteUsagePlan" // DeleteUsagePlanRequest generates a "aws/request.Request" representing the // client's request for the DeleteUsagePlan operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteUsagePlan for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteUsagePlan method directly -// instead. +// See DeleteUsagePlan for more information on using the DeleteUsagePlan +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteUsagePlanRequest method. // req, resp := client.DeleteUsagePlanRequest(params) @@ -2785,12 +2997,18 @@ func (c *APIGateway) DeleteUsagePlanRequest(input *DeleteUsagePlanInput) (req *r // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // func (c *APIGateway) DeleteUsagePlan(input *DeleteUsagePlanInput) (*DeleteUsagePlanOutput, error) { req, out := c.DeleteUsagePlanRequest(input) @@ -2817,19 +3035,18 @@ const opDeleteUsagePlanKey = "DeleteUsagePlanKey" // DeleteUsagePlanKeyRequest generates a "aws/request.Request" representing the // client's request for the DeleteUsagePlanKey operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteUsagePlanKey for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteUsagePlanKey method directly -// instead. +// See DeleteUsagePlanKey for more information on using the DeleteUsagePlanKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteUsagePlanKeyRequest method. // req, resp := client.DeleteUsagePlanKeyRequest(params) @@ -2870,14 +3087,22 @@ func (c *APIGateway) DeleteUsagePlanKeyRequest(input *DeleteUsagePlanKeyInput) ( // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) DeleteUsagePlanKey(input *DeleteUsagePlanKeyInput) (*DeleteUsagePlanKeyOutput, error) { req, out := c.DeleteUsagePlanKeyRequest(input) @@ -2904,19 +3129,18 @@ const opFlushStageAuthorizersCache = "FlushStageAuthorizersCache" // FlushStageAuthorizersCacheRequest generates a "aws/request.Request" representing the // client's request for the FlushStageAuthorizersCache operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See FlushStageAuthorizersCache for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the FlushStageAuthorizersCache method directly -// instead. +// See FlushStageAuthorizersCache for more information on using the FlushStageAuthorizersCache +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the FlushStageAuthorizersCacheRequest method. // req, resp := client.FlushStageAuthorizersCacheRequest(params) @@ -2956,12 +3180,18 @@ func (c *APIGateway) FlushStageAuthorizersCacheRequest(input *FlushStageAuthoriz // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) FlushStageAuthorizersCache(input *FlushStageAuthorizersCacheInput) (*FlushStageAuthorizersCacheOutput, error) { req, out := c.FlushStageAuthorizersCacheRequest(input) @@ -2988,19 +3218,18 @@ const opFlushStageCache = "FlushStageCache" // FlushStageCacheRequest generates a "aws/request.Request" representing the // client's request for the FlushStageCache operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See FlushStageCache for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the FlushStageCache method directly -// instead. +// See FlushStageCache for more information on using the FlushStageCache +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the FlushStageCacheRequest method. // req, resp := client.FlushStageCacheRequest(params) @@ -3040,12 +3269,18 @@ func (c *APIGateway) FlushStageCacheRequest(input *FlushStageCacheInput) (req *r // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) FlushStageCache(input *FlushStageCacheInput) (*FlushStageCacheOutput, error) { req, out := c.FlushStageCacheRequest(input) @@ -3072,19 +3307,18 @@ const opGenerateClientCertificate = "GenerateClientCertificate" // GenerateClientCertificateRequest generates a "aws/request.Request" representing the // client's request for the GenerateClientCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GenerateClientCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GenerateClientCertificate method directly -// instead. +// See GenerateClientCertificate for more information on using the GenerateClientCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GenerateClientCertificateRequest method. // req, resp := client.GenerateClientCertificateRequest(params) @@ -3122,10 +3356,14 @@ func (c *APIGateway) GenerateClientCertificateRequest(input *GenerateClientCerti // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeLimitExceededException "LimitExceededException" +// The request exceeded the rate limit. Retry after the specified time period. // func (c *APIGateway) GenerateClientCertificate(input *GenerateClientCertificateInput) (*ClientCertificate, error) { req, out := c.GenerateClientCertificateRequest(input) @@ -3152,19 +3390,18 @@ const opGetAccount = "GetAccount" // GetAccountRequest generates a "aws/request.Request" representing the // client's request for the GetAccount operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetAccount for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetAccount method directly -// instead. +// See GetAccount for more information on using the GetAccount +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetAccountRequest method. // req, resp := client.GetAccountRequest(params) @@ -3202,10 +3439,14 @@ func (c *APIGateway) GetAccountRequest(input *GetAccountInput) (req *request.Req // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetAccount(input *GetAccountInput) (*Account, error) { req, out := c.GetAccountRequest(input) @@ -3232,19 +3473,18 @@ const opGetApiKey = "GetApiKey" // GetApiKeyRequest generates a "aws/request.Request" representing the // client's request for the GetApiKey operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetApiKey for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetApiKey method directly -// instead. +// See GetApiKey for more information on using the GetApiKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetApiKeyRequest method. // req, resp := client.GetApiKeyRequest(params) @@ -3282,10 +3522,14 @@ func (c *APIGateway) GetApiKeyRequest(input *GetApiKeyInput) (req *request.Reque // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetApiKey(input *GetApiKeyInput) (*ApiKey, error) { req, out := c.GetApiKeyRequest(input) @@ -3312,19 +3556,18 @@ const opGetApiKeys = "GetApiKeys" // GetApiKeysRequest generates a "aws/request.Request" representing the // client's request for the GetApiKeys operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetApiKeys for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetApiKeys method directly -// instead. +// See GetApiKeys for more information on using the GetApiKeys +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetApiKeysRequest method. // req, resp := client.GetApiKeysRequest(params) @@ -3368,10 +3611,15 @@ func (c *APIGateway) GetApiKeysRequest(input *GetApiKeysInput) (req *request.Req // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetApiKeys(input *GetApiKeysInput) (*GetApiKeysOutput, error) { req, out := c.GetApiKeysRequest(input) @@ -3448,19 +3696,18 @@ const opGetAuthorizer = "GetAuthorizer" // GetAuthorizerRequest generates a "aws/request.Request" representing the // client's request for the GetAuthorizer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetAuthorizer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetAuthorizer method directly -// instead. +// See GetAuthorizer for more information on using the GetAuthorizer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetAuthorizerRequest method. // req, resp := client.GetAuthorizerRequest(params) @@ -3500,10 +3747,14 @@ func (c *APIGateway) GetAuthorizerRequest(input *GetAuthorizerInput) (req *reque // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetAuthorizer(input *GetAuthorizerInput) (*Authorizer, error) { req, out := c.GetAuthorizerRequest(input) @@ -3530,19 +3781,18 @@ const opGetAuthorizers = "GetAuthorizers" // GetAuthorizersRequest generates a "aws/request.Request" representing the // client's request for the GetAuthorizers operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetAuthorizers for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetAuthorizers method directly -// instead. +// See GetAuthorizers for more information on using the GetAuthorizers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetAuthorizersRequest method. // req, resp := client.GetAuthorizersRequest(params) @@ -3582,12 +3832,18 @@ func (c *APIGateway) GetAuthorizersRequest(input *GetAuthorizersInput) (req *req // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetAuthorizers(input *GetAuthorizersInput) (*GetAuthorizersOutput, error) { req, out := c.GetAuthorizersRequest(input) @@ -3614,19 +3870,18 @@ const opGetBasePathMapping = "GetBasePathMapping" // GetBasePathMappingRequest generates a "aws/request.Request" representing the // client's request for the GetBasePathMapping operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBasePathMapping for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBasePathMapping method directly -// instead. +// See GetBasePathMapping for more information on using the GetBasePathMapping +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBasePathMappingRequest method. // req, resp := client.GetBasePathMappingRequest(params) @@ -3664,10 +3919,14 @@ func (c *APIGateway) GetBasePathMappingRequest(input *GetBasePathMappingInput) ( // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetBasePathMapping(input *GetBasePathMappingInput) (*BasePathMapping, error) { req, out := c.GetBasePathMappingRequest(input) @@ -3694,19 +3953,18 @@ const opGetBasePathMappings = "GetBasePathMappings" // GetBasePathMappingsRequest generates a "aws/request.Request" representing the // client's request for the GetBasePathMappings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBasePathMappings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBasePathMappings method directly -// instead. +// See GetBasePathMappings for more information on using the GetBasePathMappings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBasePathMappingsRequest method. // req, resp := client.GetBasePathMappingsRequest(params) @@ -3750,10 +4008,14 @@ func (c *APIGateway) GetBasePathMappingsRequest(input *GetBasePathMappingsInput) // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetBasePathMappings(input *GetBasePathMappingsInput) (*GetBasePathMappingsOutput, error) { req, out := c.GetBasePathMappingsRequest(input) @@ -3830,19 +4092,18 @@ const opGetClientCertificate = "GetClientCertificate" // GetClientCertificateRequest generates a "aws/request.Request" representing the // client's request for the GetClientCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetClientCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetClientCertificate method directly -// instead. +// See GetClientCertificate for more information on using the GetClientCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetClientCertificateRequest method. // req, resp := client.GetClientCertificateRequest(params) @@ -3880,10 +4141,14 @@ func (c *APIGateway) GetClientCertificateRequest(input *GetClientCertificateInpu // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetClientCertificate(input *GetClientCertificateInput) (*ClientCertificate, error) { req, out := c.GetClientCertificateRequest(input) @@ -3910,19 +4175,18 @@ const opGetClientCertificates = "GetClientCertificates" // GetClientCertificatesRequest generates a "aws/request.Request" representing the // client's request for the GetClientCertificates operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetClientCertificates for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetClientCertificates method directly -// instead. +// See GetClientCertificates for more information on using the GetClientCertificates +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetClientCertificatesRequest method. // req, resp := client.GetClientCertificatesRequest(params) @@ -3966,10 +4230,15 @@ func (c *APIGateway) GetClientCertificatesRequest(input *GetClientCertificatesIn // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetClientCertificates(input *GetClientCertificatesInput) (*GetClientCertificatesOutput, error) { req, out := c.GetClientCertificatesRequest(input) @@ -4046,19 +4315,18 @@ const opGetDeployment = "GetDeployment" // GetDeploymentRequest generates a "aws/request.Request" representing the // client's request for the GetDeployment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDeployment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDeployment method directly -// instead. +// See GetDeployment for more information on using the GetDeployment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDeploymentRequest method. // req, resp := client.GetDeploymentRequest(params) @@ -4096,12 +4364,18 @@ func (c *APIGateway) GetDeploymentRequest(input *GetDeploymentInput) (req *reque // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The requested service is not available. For details see the accompanying +// error message. Retry after the specified time period. // func (c *APIGateway) GetDeployment(input *GetDeploymentInput) (*Deployment, error) { req, out := c.GetDeploymentRequest(input) @@ -4128,19 +4402,18 @@ const opGetDeployments = "GetDeployments" // GetDeploymentsRequest generates a "aws/request.Request" representing the // client's request for the GetDeployments operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDeployments for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDeployments method directly -// instead. +// See GetDeployments for more information on using the GetDeployments +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDeploymentsRequest method. // req, resp := client.GetDeploymentsRequest(params) @@ -4184,12 +4457,19 @@ func (c *APIGateway) GetDeploymentsRequest(input *GetDeploymentsInput) (req *req // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The requested service is not available. For details see the accompanying +// error message. Retry after the specified time period. // func (c *APIGateway) GetDeployments(input *GetDeploymentsInput) (*GetDeploymentsOutput, error) { req, out := c.GetDeploymentsRequest(input) @@ -4266,19 +4546,18 @@ const opGetDocumentationPart = "GetDocumentationPart" // GetDocumentationPartRequest generates a "aws/request.Request" representing the // client's request for the GetDocumentationPart operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDocumentationPart for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDocumentationPart method directly -// instead. +// See GetDocumentationPart for more information on using the GetDocumentationPart +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDocumentationPartRequest method. // req, resp := client.GetDocumentationPartRequest(params) @@ -4314,10 +4593,14 @@ func (c *APIGateway) GetDocumentationPartRequest(input *GetDocumentationPartInpu // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetDocumentationPart(input *GetDocumentationPartInput) (*DocumentationPart, error) { req, out := c.GetDocumentationPartRequest(input) @@ -4344,19 +4627,18 @@ const opGetDocumentationParts = "GetDocumentationParts" // GetDocumentationPartsRequest generates a "aws/request.Request" representing the // client's request for the GetDocumentationParts operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDocumentationParts for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDocumentationParts method directly -// instead. +// See GetDocumentationParts for more information on using the GetDocumentationParts +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDocumentationPartsRequest method. // req, resp := client.GetDocumentationPartsRequest(params) @@ -4392,12 +4674,18 @@ func (c *APIGateway) GetDocumentationPartsRequest(input *GetDocumentationPartsIn // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetDocumentationParts(input *GetDocumentationPartsInput) (*GetDocumentationPartsOutput, error) { req, out := c.GetDocumentationPartsRequest(input) @@ -4424,19 +4712,18 @@ const opGetDocumentationVersion = "GetDocumentationVersion" // GetDocumentationVersionRequest generates a "aws/request.Request" representing the // client's request for the GetDocumentationVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDocumentationVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDocumentationVersion method directly -// instead. +// See GetDocumentationVersion for more information on using the GetDocumentationVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDocumentationVersionRequest method. // req, resp := client.GetDocumentationVersionRequest(params) @@ -4472,10 +4759,14 @@ func (c *APIGateway) GetDocumentationVersionRequest(input *GetDocumentationVersi // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetDocumentationVersion(input *GetDocumentationVersionInput) (*DocumentationVersion, error) { req, out := c.GetDocumentationVersionRequest(input) @@ -4502,19 +4793,18 @@ const opGetDocumentationVersions = "GetDocumentationVersions" // GetDocumentationVersionsRequest generates a "aws/request.Request" representing the // client's request for the GetDocumentationVersions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDocumentationVersions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDocumentationVersions method directly -// instead. +// See GetDocumentationVersions for more information on using the GetDocumentationVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDocumentationVersionsRequest method. // req, resp := client.GetDocumentationVersionsRequest(params) @@ -4550,12 +4840,18 @@ func (c *APIGateway) GetDocumentationVersionsRequest(input *GetDocumentationVers // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetDocumentationVersions(input *GetDocumentationVersionsInput) (*GetDocumentationVersionsOutput, error) { req, out := c.GetDocumentationVersionsRequest(input) @@ -4582,19 +4878,18 @@ const opGetDomainName = "GetDomainName" // GetDomainNameRequest generates a "aws/request.Request" representing the // client's request for the GetDomainName operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDomainName for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDomainName method directly -// instead. +// See GetDomainName for more information on using the GetDomainName +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDomainNameRequest method. // req, resp := client.GetDomainNameRequest(params) @@ -4633,12 +4928,18 @@ func (c *APIGateway) GetDomainNameRequest(input *GetDomainNameInput) (req *reque // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The requested service is not available. For details see the accompanying +// error message. Retry after the specified time period. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetDomainName(input *GetDomainNameInput) (*DomainName, error) { req, out := c.GetDomainNameRequest(input) @@ -4665,19 +4966,18 @@ const opGetDomainNames = "GetDomainNames" // GetDomainNamesRequest generates a "aws/request.Request" representing the // client's request for the GetDomainNames operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDomainNames for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDomainNames method directly -// instead. +// See GetDomainNames for more information on using the GetDomainNames +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDomainNamesRequest method. // req, resp := client.GetDomainNamesRequest(params) @@ -4721,10 +5021,15 @@ func (c *APIGateway) GetDomainNamesRequest(input *GetDomainNamesInput) (req *req // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetDomainNames(input *GetDomainNamesInput) (*GetDomainNamesOutput, error) { req, out := c.GetDomainNamesRequest(input) @@ -4801,19 +5106,18 @@ const opGetExport = "GetExport" // GetExportRequest generates a "aws/request.Request" representing the // client's request for the GetExport operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetExport for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetExport method directly -// instead. +// See GetExport for more information on using the GetExport +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetExportRequest method. // req, resp := client.GetExportRequest(params) @@ -4851,14 +5155,22 @@ func (c *APIGateway) GetExportRequest(input *GetExportInput) (req *request.Reque // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetExport(input *GetExportInput) (*GetExportOutput, error) { req, out := c.GetExportRequest(input) @@ -4885,19 +5197,18 @@ const opGetGatewayResponse = "GetGatewayResponse" // GetGatewayResponseRequest generates a "aws/request.Request" representing the // client's request for the GetGatewayResponse operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetGatewayResponse for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetGatewayResponse method directly -// instead. +// See GetGatewayResponse for more information on using the GetGatewayResponse +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetGatewayResponseRequest method. // req, resp := client.GetGatewayResponseRequest(params) @@ -4935,10 +5246,14 @@ func (c *APIGateway) GetGatewayResponseRequest(input *GetGatewayResponseInput) ( // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetGatewayResponse(input *GetGatewayResponseInput) (*UpdateGatewayResponseOutput, error) { req, out := c.GetGatewayResponseRequest(input) @@ -4965,19 +5280,18 @@ const opGetGatewayResponses = "GetGatewayResponses" // GetGatewayResponsesRequest generates a "aws/request.Request" representing the // client's request for the GetGatewayResponses operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetGatewayResponses for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetGatewayResponses method directly -// instead. +// See GetGatewayResponses for more information on using the GetGatewayResponses +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetGatewayResponsesRequest method. // req, resp := client.GetGatewayResponsesRequest(params) @@ -5018,12 +5332,18 @@ func (c *APIGateway) GetGatewayResponsesRequest(input *GetGatewayResponsesInput) // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetGatewayResponses(input *GetGatewayResponsesInput) (*GetGatewayResponsesOutput, error) { req, out := c.GetGatewayResponsesRequest(input) @@ -5050,19 +5370,18 @@ const opGetIntegration = "GetIntegration" // GetIntegrationRequest generates a "aws/request.Request" representing the // client's request for the GetIntegration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetIntegration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetIntegration method directly -// instead. +// See GetIntegration for more information on using the GetIntegration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetIntegrationRequest method. // req, resp := client.GetIntegrationRequest(params) @@ -5100,10 +5419,14 @@ func (c *APIGateway) GetIntegrationRequest(input *GetIntegrationInput) (req *req // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetIntegration(input *GetIntegrationInput) (*Integration, error) { req, out := c.GetIntegrationRequest(input) @@ -5130,19 +5453,18 @@ const opGetIntegrationResponse = "GetIntegrationResponse" // GetIntegrationResponseRequest generates a "aws/request.Request" representing the // client's request for the GetIntegrationResponse operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetIntegrationResponse for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetIntegrationResponse method directly -// instead. +// See GetIntegrationResponse for more information on using the GetIntegrationResponse +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetIntegrationResponseRequest method. // req, resp := client.GetIntegrationResponseRequest(params) @@ -5180,10 +5502,14 @@ func (c *APIGateway) GetIntegrationResponseRequest(input *GetIntegrationResponse // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetIntegrationResponse(input *GetIntegrationResponseInput) (*IntegrationResponse, error) { req, out := c.GetIntegrationResponseRequest(input) @@ -5210,19 +5536,18 @@ const opGetMethod = "GetMethod" // GetMethodRequest generates a "aws/request.Request" representing the // client's request for the GetMethod operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetMethod for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetMethod method directly -// instead. +// See GetMethod for more information on using the GetMethod +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetMethodRequest method. // req, resp := client.GetMethodRequest(params) @@ -5260,10 +5585,14 @@ func (c *APIGateway) GetMethodRequest(input *GetMethodInput) (req *request.Reque // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetMethod(input *GetMethodInput) (*Method, error) { req, out := c.GetMethodRequest(input) @@ -5290,19 +5619,18 @@ const opGetMethodResponse = "GetMethodResponse" // GetMethodResponseRequest generates a "aws/request.Request" representing the // client's request for the GetMethodResponse operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetMethodResponse for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetMethodResponse method directly -// instead. +// See GetMethodResponse for more information on using the GetMethodResponse +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetMethodResponseRequest method. // req, resp := client.GetMethodResponseRequest(params) @@ -5340,10 +5668,14 @@ func (c *APIGateway) GetMethodResponseRequest(input *GetMethodResponseInput) (re // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetMethodResponse(input *GetMethodResponseInput) (*MethodResponse, error) { req, out := c.GetMethodResponseRequest(input) @@ -5370,19 +5702,18 @@ const opGetModel = "GetModel" // GetModelRequest generates a "aws/request.Request" representing the // client's request for the GetModel operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetModel for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetModel method directly -// instead. +// See GetModel for more information on using the GetModel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetModelRequest method. // req, resp := client.GetModelRequest(params) @@ -5420,10 +5751,14 @@ func (c *APIGateway) GetModelRequest(input *GetModelInput) (req *request.Request // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetModel(input *GetModelInput) (*Model, error) { req, out := c.GetModelRequest(input) @@ -5450,19 +5785,18 @@ const opGetModelTemplate = "GetModelTemplate" // GetModelTemplateRequest generates a "aws/request.Request" representing the // client's request for the GetModelTemplate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetModelTemplate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetModelTemplate method directly -// instead. +// See GetModelTemplate for more information on using the GetModelTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetModelTemplateRequest method. // req, resp := client.GetModelTemplateRequest(params) @@ -5501,12 +5835,18 @@ func (c *APIGateway) GetModelTemplateRequest(input *GetModelTemplateInput) (req // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetModelTemplate(input *GetModelTemplateInput) (*GetModelTemplateOutput, error) { req, out := c.GetModelTemplateRequest(input) @@ -5533,19 +5873,18 @@ const opGetModels = "GetModels" // GetModelsRequest generates a "aws/request.Request" representing the // client's request for the GetModels operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetModels for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetModels method directly -// instead. +// See GetModels for more information on using the GetModels +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetModelsRequest method. // req, resp := client.GetModelsRequest(params) @@ -5589,12 +5928,18 @@ func (c *APIGateway) GetModelsRequest(input *GetModelsInput) (req *request.Reque // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetModels(input *GetModelsInput) (*GetModelsOutput, error) { req, out := c.GetModelsRequest(input) @@ -5671,19 +6016,18 @@ const opGetRequestValidator = "GetRequestValidator" // GetRequestValidatorRequest generates a "aws/request.Request" representing the // client's request for the GetRequestValidator operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetRequestValidator for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetRequestValidator method directly -// instead. +// See GetRequestValidator for more information on using the GetRequestValidator +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetRequestValidatorRequest method. // req, resp := client.GetRequestValidatorRequest(params) @@ -5721,10 +6065,14 @@ func (c *APIGateway) GetRequestValidatorRequest(input *GetRequestValidatorInput) // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetRequestValidator(input *GetRequestValidatorInput) (*UpdateRequestValidatorOutput, error) { req, out := c.GetRequestValidatorRequest(input) @@ -5751,19 +6099,18 @@ const opGetRequestValidators = "GetRequestValidators" // GetRequestValidatorsRequest generates a "aws/request.Request" representing the // client's request for the GetRequestValidators operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetRequestValidators for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetRequestValidators method directly -// instead. +// See GetRequestValidators for more information on using the GetRequestValidators +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetRequestValidatorsRequest method. // req, resp := client.GetRequestValidatorsRequest(params) @@ -5801,12 +6148,18 @@ func (c *APIGateway) GetRequestValidatorsRequest(input *GetRequestValidatorsInpu // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetRequestValidators(input *GetRequestValidatorsInput) (*GetRequestValidatorsOutput, error) { req, out := c.GetRequestValidatorsRequest(input) @@ -5833,19 +6186,18 @@ const opGetResource = "GetResource" // GetResourceRequest generates a "aws/request.Request" representing the // client's request for the GetResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetResource method directly -// instead. +// See GetResource for more information on using the GetResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetResourceRequest method. // req, resp := client.GetResourceRequest(params) @@ -5883,10 +6235,14 @@ func (c *APIGateway) GetResourceRequest(input *GetResourceInput) (req *request.R // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetResource(input *GetResourceInput) (*Resource, error) { req, out := c.GetResourceRequest(input) @@ -5913,19 +6269,18 @@ const opGetResources = "GetResources" // GetResourcesRequest generates a "aws/request.Request" representing the // client's request for the GetResources operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetResources for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetResources method directly -// instead. +// See GetResources for more information on using the GetResources +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetResourcesRequest method. // req, resp := client.GetResourcesRequest(params) @@ -5969,12 +6324,18 @@ func (c *APIGateway) GetResourcesRequest(input *GetResourcesInput) (req *request // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetResources(input *GetResourcesInput) (*GetResourcesOutput, error) { req, out := c.GetResourcesRequest(input) @@ -6051,19 +6412,18 @@ const opGetRestApi = "GetRestApi" // GetRestApiRequest generates a "aws/request.Request" representing the // client's request for the GetRestApi operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetRestApi for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetRestApi method directly -// instead. +// See GetRestApi for more information on using the GetRestApi +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetRestApiRequest method. // req, resp := client.GetRestApiRequest(params) @@ -6101,10 +6461,14 @@ func (c *APIGateway) GetRestApiRequest(input *GetRestApiInput) (req *request.Req // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetRestApi(input *GetRestApiInput) (*RestApi, error) { req, out := c.GetRestApiRequest(input) @@ -6131,19 +6495,18 @@ const opGetRestApis = "GetRestApis" // GetRestApisRequest generates a "aws/request.Request" representing the // client's request for the GetRestApis operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetRestApis for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetRestApis method directly -// instead. +// See GetRestApis for more information on using the GetRestApis +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetRestApisRequest method. // req, resp := client.GetRestApisRequest(params) @@ -6187,10 +6550,15 @@ func (c *APIGateway) GetRestApisRequest(input *GetRestApisInput) (req *request.R // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetRestApis(input *GetRestApisInput) (*GetRestApisOutput, error) { req, out := c.GetRestApisRequest(input) @@ -6267,19 +6635,18 @@ const opGetSdk = "GetSdk" // GetSdkRequest generates a "aws/request.Request" representing the // client's request for the GetSdk operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSdk for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSdk method directly -// instead. +// See GetSdk for more information on using the GetSdk +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSdkRequest method. // req, resp := client.GetSdkRequest(params) @@ -6317,14 +6684,22 @@ func (c *APIGateway) GetSdkRequest(input *GetSdkInput) (req *request.Request, ou // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetSdk(input *GetSdkInput) (*GetSdkOutput, error) { req, out := c.GetSdkRequest(input) @@ -6351,19 +6726,18 @@ const opGetSdkType = "GetSdkType" // GetSdkTypeRequest generates a "aws/request.Request" representing the // client's request for the GetSdkType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSdkType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSdkType method directly -// instead. +// See GetSdkType for more information on using the GetSdkType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSdkTypeRequest method. // req, resp := client.GetSdkTypeRequest(params) @@ -6399,10 +6773,14 @@ func (c *APIGateway) GetSdkTypeRequest(input *GetSdkTypeInput) (req *request.Req // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetSdkType(input *GetSdkTypeInput) (*SdkType, error) { req, out := c.GetSdkTypeRequest(input) @@ -6429,19 +6807,18 @@ const opGetSdkTypes = "GetSdkTypes" // GetSdkTypesRequest generates a "aws/request.Request" representing the // client's request for the GetSdkTypes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSdkTypes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSdkTypes method directly -// instead. +// See GetSdkTypes for more information on using the GetSdkTypes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSdkTypesRequest method. // req, resp := client.GetSdkTypesRequest(params) @@ -6477,8 +6854,11 @@ func (c *APIGateway) GetSdkTypesRequest(input *GetSdkTypesInput) (req *request.R // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetSdkTypes(input *GetSdkTypesInput) (*GetSdkTypesOutput, error) { req, out := c.GetSdkTypesRequest(input) @@ -6505,19 +6885,18 @@ const opGetStage = "GetStage" // GetStageRequest generates a "aws/request.Request" representing the // client's request for the GetStage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetStage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetStage method directly -// instead. +// See GetStage for more information on using the GetStage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetStageRequest method. // req, resp := client.GetStageRequest(params) @@ -6555,10 +6934,14 @@ func (c *APIGateway) GetStageRequest(input *GetStageInput) (req *request.Request // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetStage(input *GetStageInput) (*Stage, error) { req, out := c.GetStageRequest(input) @@ -6585,19 +6968,18 @@ const opGetStages = "GetStages" // GetStagesRequest generates a "aws/request.Request" representing the // client's request for the GetStages operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetStages for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetStages method directly -// instead. +// See GetStages for more information on using the GetStages +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetStagesRequest method. // req, resp := client.GetStagesRequest(params) @@ -6635,10 +7017,14 @@ func (c *APIGateway) GetStagesRequest(input *GetStagesInput) (req *request.Reque // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetStages(input *GetStagesInput) (*GetStagesOutput, error) { req, out := c.GetStagesRequest(input) @@ -6665,19 +7051,18 @@ const opGetUsage = "GetUsage" // GetUsageRequest generates a "aws/request.Request" representing the // client's request for the GetUsage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetUsage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetUsage method directly -// instead. +// See GetUsage for more information on using the GetUsage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetUsageRequest method. // req, resp := client.GetUsageRequest(params) @@ -6721,12 +7106,18 @@ func (c *APIGateway) GetUsageRequest(input *GetUsageInput) (req *request.Request // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetUsage(input *GetUsageInput) (*Usage, error) { req, out := c.GetUsageRequest(input) @@ -6803,19 +7194,18 @@ const opGetUsagePlan = "GetUsagePlan" // GetUsagePlanRequest generates a "aws/request.Request" representing the // client's request for the GetUsagePlan operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetUsagePlan for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetUsagePlan method directly -// instead. +// See GetUsagePlan for more information on using the GetUsagePlan +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetUsagePlanRequest method. // req, resp := client.GetUsagePlanRequest(params) @@ -6853,12 +7243,18 @@ func (c *APIGateway) GetUsagePlanRequest(input *GetUsagePlanInput) (req *request // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetUsagePlan(input *GetUsagePlanInput) (*UsagePlan, error) { req, out := c.GetUsagePlanRequest(input) @@ -6885,19 +7281,18 @@ const opGetUsagePlanKey = "GetUsagePlanKey" // GetUsagePlanKeyRequest generates a "aws/request.Request" representing the // client's request for the GetUsagePlanKey operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetUsagePlanKey for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetUsagePlanKey method directly -// instead. +// See GetUsagePlanKey for more information on using the GetUsagePlanKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetUsagePlanKeyRequest method. // req, resp := client.GetUsagePlanKeyRequest(params) @@ -6935,12 +7330,18 @@ func (c *APIGateway) GetUsagePlanKeyRequest(input *GetUsagePlanKeyInput) (req *r // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetUsagePlanKey(input *GetUsagePlanKeyInput) (*UsagePlanKey, error) { req, out := c.GetUsagePlanKeyRequest(input) @@ -6967,19 +7368,18 @@ const opGetUsagePlanKeys = "GetUsagePlanKeys" // GetUsagePlanKeysRequest generates a "aws/request.Request" representing the // client's request for the GetUsagePlanKeys operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetUsagePlanKeys for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetUsagePlanKeys method directly -// instead. +// See GetUsagePlanKeys for more information on using the GetUsagePlanKeys +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetUsagePlanKeysRequest method. // req, resp := client.GetUsagePlanKeysRequest(params) @@ -7024,12 +7424,18 @@ func (c *APIGateway) GetUsagePlanKeysRequest(input *GetUsagePlanKeysInput) (req // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) GetUsagePlanKeys(input *GetUsagePlanKeysInput) (*GetUsagePlanKeysOutput, error) { req, out := c.GetUsagePlanKeysRequest(input) @@ -7106,19 +7512,18 @@ const opGetUsagePlans = "GetUsagePlans" // GetUsagePlansRequest generates a "aws/request.Request" representing the // client's request for the GetUsagePlans operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetUsagePlans for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetUsagePlans method directly -// instead. +// See GetUsagePlans for more information on using the GetUsagePlans +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetUsagePlansRequest method. // req, resp := client.GetUsagePlansRequest(params) @@ -7162,14 +7567,22 @@ func (c *APIGateway) GetUsagePlansRequest(input *GetUsagePlansInput) (req *reque // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // func (c *APIGateway) GetUsagePlans(input *GetUsagePlansInput) (*GetUsagePlansOutput, error) { req, out := c.GetUsagePlansRequest(input) @@ -7246,19 +7659,18 @@ const opImportApiKeys = "ImportApiKeys" // ImportApiKeysRequest generates a "aws/request.Request" representing the // client's request for the ImportApiKeys operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ImportApiKeys for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ImportApiKeys method directly -// instead. +// See ImportApiKeys for more information on using the ImportApiKeys +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ImportApiKeysRequest method. // req, resp := client.ImportApiKeysRequest(params) @@ -7296,16 +7708,25 @@ func (c *APIGateway) ImportApiKeysRequest(input *ImportApiKeysInput) (req *reque // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeLimitExceededException "LimitExceededException" +// The request exceeded the rate limit. Retry after the specified time period. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // func (c *APIGateway) ImportApiKeys(input *ImportApiKeysInput) (*ImportApiKeysOutput, error) { req, out := c.ImportApiKeysRequest(input) @@ -7332,19 +7753,18 @@ const opImportDocumentationParts = "ImportDocumentationParts" // ImportDocumentationPartsRequest generates a "aws/request.Request" representing the // client's request for the ImportDocumentationParts operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ImportDocumentationParts for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ImportDocumentationParts method directly -// instead. +// See ImportDocumentationParts for more information on using the ImportDocumentationParts +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ImportDocumentationPartsRequest method. // req, resp := client.ImportDocumentationPartsRequest(params) @@ -7380,14 +7800,21 @@ func (c *APIGateway) ImportDocumentationPartsRequest(input *ImportDocumentationP // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeLimitExceededException "LimitExceededException" +// The request exceeded the rate limit. Retry after the specified time period. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) ImportDocumentationParts(input *ImportDocumentationPartsInput) (*ImportDocumentationPartsOutput, error) { req, out := c.ImportDocumentationPartsRequest(input) @@ -7414,19 +7841,18 @@ const opImportRestApi = "ImportRestApi" // ImportRestApiRequest generates a "aws/request.Request" representing the // client's request for the ImportRestApi operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ImportRestApi for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ImportRestApi method directly -// instead. +// See ImportRestApi for more information on using the ImportRestApi +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ImportRestApiRequest method. // req, resp := client.ImportRestApiRequest(params) @@ -7465,14 +7891,22 @@ func (c *APIGateway) ImportRestApiRequest(input *ImportRestApiInput) (req *reque // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeLimitExceededException "LimitExceededException" +// The request exceeded the rate limit. Retry after the specified time period. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // func (c *APIGateway) ImportRestApi(input *ImportRestApiInput) (*RestApi, error) { req, out := c.ImportRestApiRequest(input) @@ -7499,19 +7933,18 @@ const opPutGatewayResponse = "PutGatewayResponse" // PutGatewayResponseRequest generates a "aws/request.Request" representing the // client's request for the PutGatewayResponse operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutGatewayResponse for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutGatewayResponse method directly -// instead. +// See PutGatewayResponse for more information on using the PutGatewayResponse +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutGatewayResponseRequest method. // req, resp := client.PutGatewayResponseRequest(params) @@ -7550,14 +7983,21 @@ func (c *APIGateway) PutGatewayResponseRequest(input *PutGatewayResponseInput) ( // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeLimitExceededException "LimitExceededException" +// The request exceeded the rate limit. Retry after the specified time period. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) PutGatewayResponse(input *PutGatewayResponseInput) (*UpdateGatewayResponseOutput, error) { req, out := c.PutGatewayResponseRequest(input) @@ -7584,19 +8024,18 @@ const opPutIntegration = "PutIntegration" // PutIntegrationRequest generates a "aws/request.Request" representing the // client's request for the PutIntegration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutIntegration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutIntegration method directly -// instead. +// See PutIntegration for more information on using the PutIntegration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutIntegrationRequest method. // req, resp := client.PutIntegrationRequest(params) @@ -7634,14 +8073,22 @@ func (c *APIGateway) PutIntegrationRequest(input *PutIntegrationInput) (req *req // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) PutIntegration(input *PutIntegrationInput) (*Integration, error) { req, out := c.PutIntegrationRequest(input) @@ -7668,19 +8115,18 @@ const opPutIntegrationResponse = "PutIntegrationResponse" // PutIntegrationResponseRequest generates a "aws/request.Request" representing the // client's request for the PutIntegrationResponse operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutIntegrationResponse for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutIntegrationResponse method directly -// instead. +// See PutIntegrationResponse for more information on using the PutIntegrationResponse +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutIntegrationResponseRequest method. // req, resp := client.PutIntegrationResponseRequest(params) @@ -7718,16 +8164,25 @@ func (c *APIGateway) PutIntegrationResponseRequest(input *PutIntegrationResponse // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeLimitExceededException "LimitExceededException" +// The request exceeded the rate limit. Retry after the specified time period. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // func (c *APIGateway) PutIntegrationResponse(input *PutIntegrationResponseInput) (*IntegrationResponse, error) { req, out := c.PutIntegrationResponseRequest(input) @@ -7754,19 +8209,18 @@ const opPutMethod = "PutMethod" // PutMethodRequest generates a "aws/request.Request" representing the // client's request for the PutMethod operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutMethod for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutMethod method directly -// instead. +// See PutMethod for more information on using the PutMethod +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutMethodRequest method. // req, resp := client.PutMethodRequest(params) @@ -7804,16 +8258,25 @@ func (c *APIGateway) PutMethodRequest(input *PutMethodInput) (req *request.Reque // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeLimitExceededException "LimitExceededException" +// The request exceeded the rate limit. Retry after the specified time period. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) PutMethod(input *PutMethodInput) (*Method, error) { req, out := c.PutMethodRequest(input) @@ -7840,19 +8303,18 @@ const opPutMethodResponse = "PutMethodResponse" // PutMethodResponseRequest generates a "aws/request.Request" representing the // client's request for the PutMethodResponse operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutMethodResponse for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutMethodResponse method directly -// instead. +// See PutMethodResponse for more information on using the PutMethodResponse +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutMethodResponseRequest method. // req, resp := client.PutMethodResponseRequest(params) @@ -7890,16 +8352,25 @@ func (c *APIGateway) PutMethodResponseRequest(input *PutMethodResponseInput) (re // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeLimitExceededException "LimitExceededException" +// The request exceeded the rate limit. Retry after the specified time period. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) PutMethodResponse(input *PutMethodResponseInput) (*MethodResponse, error) { req, out := c.PutMethodResponseRequest(input) @@ -7926,19 +8397,18 @@ const opPutRestApi = "PutRestApi" // PutRestApiRequest generates a "aws/request.Request" representing the // client's request for the PutRestApi operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutRestApi for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutRestApi method directly -// instead. +// See PutRestApi for more information on using the PutRestApi +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutRestApiRequest method. // req, resp := client.PutRestApiRequest(params) @@ -7979,16 +8449,25 @@ func (c *APIGateway) PutRestApiRequest(input *PutRestApiInput) (req *request.Req // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeLimitExceededException "LimitExceededException" +// The request exceeded the rate limit. Retry after the specified time period. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // func (c *APIGateway) PutRestApi(input *PutRestApiInput) (*RestApi, error) { req, out := c.PutRestApiRequest(input) @@ -8015,19 +8494,18 @@ const opTestInvokeAuthorizer = "TestInvokeAuthorizer" // TestInvokeAuthorizerRequest generates a "aws/request.Request" representing the // client's request for the TestInvokeAuthorizer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TestInvokeAuthorizer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TestInvokeAuthorizer method directly -// instead. +// See TestInvokeAuthorizer for more information on using the TestInvokeAuthorizer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TestInvokeAuthorizerRequest method. // req, resp := client.TestInvokeAuthorizerRequest(params) @@ -8068,12 +8546,18 @@ func (c *APIGateway) TestInvokeAuthorizerRequest(input *TestInvokeAuthorizerInpu // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) TestInvokeAuthorizer(input *TestInvokeAuthorizerInput) (*TestInvokeAuthorizerOutput, error) { req, out := c.TestInvokeAuthorizerRequest(input) @@ -8100,19 +8584,18 @@ const opTestInvokeMethod = "TestInvokeMethod" // TestInvokeMethodRequest generates a "aws/request.Request" representing the // client's request for the TestInvokeMethod operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TestInvokeMethod for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TestInvokeMethod method directly -// instead. +// See TestInvokeMethod for more information on using the TestInvokeMethod +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TestInvokeMethodRequest method. // req, resp := client.TestInvokeMethodRequest(params) @@ -8151,12 +8634,18 @@ func (c *APIGateway) TestInvokeMethodRequest(input *TestInvokeMethodInput) (req // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) TestInvokeMethod(input *TestInvokeMethodInput) (*TestInvokeMethodOutput, error) { req, out := c.TestInvokeMethodRequest(input) @@ -8183,19 +8672,18 @@ const opUpdateAccount = "UpdateAccount" // UpdateAccountRequest generates a "aws/request.Request" representing the // client's request for the UpdateAccount operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateAccount for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateAccount method directly -// instead. +// See UpdateAccount for more information on using the UpdateAccount +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateAccountRequest method. // req, resp := client.UpdateAccountRequest(params) @@ -8233,12 +8721,18 @@ func (c *APIGateway) UpdateAccountRequest(input *UpdateAccountInput) (req *reque // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) UpdateAccount(input *UpdateAccountInput) (*Account, error) { req, out := c.UpdateAccountRequest(input) @@ -8265,19 +8759,18 @@ const opUpdateApiKey = "UpdateApiKey" // UpdateApiKeyRequest generates a "aws/request.Request" representing the // client's request for the UpdateApiKey operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateApiKey for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateApiKey method directly -// instead. +// See UpdateApiKey for more information on using the UpdateApiKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateApiKeyRequest method. // req, resp := client.UpdateApiKeyRequest(params) @@ -8315,14 +8808,22 @@ func (c *APIGateway) UpdateApiKeyRequest(input *UpdateApiKeyInput) (req *request // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // func (c *APIGateway) UpdateApiKey(input *UpdateApiKeyInput) (*ApiKey, error) { req, out := c.UpdateApiKeyRequest(input) @@ -8349,19 +8850,18 @@ const opUpdateAuthorizer = "UpdateAuthorizer" // UpdateAuthorizerRequest generates a "aws/request.Request" representing the // client's request for the UpdateAuthorizer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateAuthorizer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateAuthorizer method directly -// instead. +// See UpdateAuthorizer for more information on using the UpdateAuthorizer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateAuthorizerRequest method. // req, resp := client.UpdateAuthorizerRequest(params) @@ -8401,12 +8901,18 @@ func (c *APIGateway) UpdateAuthorizerRequest(input *UpdateAuthorizerInput) (req // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) UpdateAuthorizer(input *UpdateAuthorizerInput) (*Authorizer, error) { req, out := c.UpdateAuthorizerRequest(input) @@ -8433,19 +8939,18 @@ const opUpdateBasePathMapping = "UpdateBasePathMapping" // UpdateBasePathMappingRequest generates a "aws/request.Request" representing the // client's request for the UpdateBasePathMapping operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateBasePathMapping for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateBasePathMapping method directly -// instead. +// See UpdateBasePathMapping for more information on using the UpdateBasePathMapping +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateBasePathMappingRequest method. // req, resp := client.UpdateBasePathMappingRequest(params) @@ -8483,14 +8988,22 @@ func (c *APIGateway) UpdateBasePathMappingRequest(input *UpdateBasePathMappingIn // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) UpdateBasePathMapping(input *UpdateBasePathMappingInput) (*BasePathMapping, error) { req, out := c.UpdateBasePathMappingRequest(input) @@ -8517,19 +9030,18 @@ const opUpdateClientCertificate = "UpdateClientCertificate" // UpdateClientCertificateRequest generates a "aws/request.Request" representing the // client's request for the UpdateClientCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateClientCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateClientCertificate method directly -// instead. +// See UpdateClientCertificate for more information on using the UpdateClientCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateClientCertificateRequest method. // req, resp := client.UpdateClientCertificateRequest(params) @@ -8567,12 +9079,18 @@ func (c *APIGateway) UpdateClientCertificateRequest(input *UpdateClientCertifica // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // func (c *APIGateway) UpdateClientCertificate(input *UpdateClientCertificateInput) (*ClientCertificate, error) { req, out := c.UpdateClientCertificateRequest(input) @@ -8599,19 +9117,18 @@ const opUpdateDeployment = "UpdateDeployment" // UpdateDeploymentRequest generates a "aws/request.Request" representing the // client's request for the UpdateDeployment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateDeployment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateDeployment method directly -// instead. +// See UpdateDeployment for more information on using the UpdateDeployment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateDeploymentRequest method. // req, resp := client.UpdateDeploymentRequest(params) @@ -8649,14 +9166,22 @@ func (c *APIGateway) UpdateDeploymentRequest(input *UpdateDeploymentInput) (req // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The requested service is not available. For details see the accompanying +// error message. Retry after the specified time period. // func (c *APIGateway) UpdateDeployment(input *UpdateDeploymentInput) (*Deployment, error) { req, out := c.UpdateDeploymentRequest(input) @@ -8683,19 +9208,18 @@ const opUpdateDocumentationPart = "UpdateDocumentationPart" // UpdateDocumentationPartRequest generates a "aws/request.Request" representing the // client's request for the UpdateDocumentationPart operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateDocumentationPart for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateDocumentationPart method directly -// instead. +// See UpdateDocumentationPart for more information on using the UpdateDocumentationPart +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateDocumentationPartRequest method. // req, resp := client.UpdateDocumentationPartRequest(params) @@ -8731,16 +9255,25 @@ func (c *APIGateway) UpdateDocumentationPartRequest(input *UpdateDocumentationPa // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeLimitExceededException "LimitExceededException" +// The request exceeded the rate limit. Retry after the specified time period. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) UpdateDocumentationPart(input *UpdateDocumentationPartInput) (*DocumentationPart, error) { req, out := c.UpdateDocumentationPartRequest(input) @@ -8767,19 +9300,18 @@ const opUpdateDocumentationVersion = "UpdateDocumentationVersion" // UpdateDocumentationVersionRequest generates a "aws/request.Request" representing the // client's request for the UpdateDocumentationVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateDocumentationVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateDocumentationVersion method directly -// instead. +// See UpdateDocumentationVersion for more information on using the UpdateDocumentationVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateDocumentationVersionRequest method. // req, resp := client.UpdateDocumentationVersionRequest(params) @@ -8815,14 +9347,22 @@ func (c *APIGateway) UpdateDocumentationVersionRequest(input *UpdateDocumentatio // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) UpdateDocumentationVersion(input *UpdateDocumentationVersionInput) (*DocumentationVersion, error) { req, out := c.UpdateDocumentationVersionRequest(input) @@ -8849,19 +9389,18 @@ const opUpdateDomainName = "UpdateDomainName" // UpdateDomainNameRequest generates a "aws/request.Request" representing the // client's request for the UpdateDomainName operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateDomainName for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateDomainName method directly -// instead. +// See UpdateDomainName for more information on using the UpdateDomainName +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateDomainNameRequest method. // req, resp := client.UpdateDomainNameRequest(params) @@ -8899,14 +9438,22 @@ func (c *APIGateway) UpdateDomainNameRequest(input *UpdateDomainNameInput) (req // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) UpdateDomainName(input *UpdateDomainNameInput) (*DomainName, error) { req, out := c.UpdateDomainNameRequest(input) @@ -8933,19 +9480,18 @@ const opUpdateGatewayResponse = "UpdateGatewayResponse" // UpdateGatewayResponseRequest generates a "aws/request.Request" representing the // client's request for the UpdateGatewayResponse operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateGatewayResponse for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateGatewayResponse method directly -// instead. +// See UpdateGatewayResponse for more information on using the UpdateGatewayResponse +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateGatewayResponseRequest method. // req, resp := client.UpdateGatewayResponseRequest(params) @@ -8983,12 +9529,18 @@ func (c *APIGateway) UpdateGatewayResponseRequest(input *UpdateGatewayResponseIn // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) UpdateGatewayResponse(input *UpdateGatewayResponseInput) (*UpdateGatewayResponseOutput, error) { req, out := c.UpdateGatewayResponseRequest(input) @@ -9015,19 +9567,18 @@ const opUpdateIntegration = "UpdateIntegration" // UpdateIntegrationRequest generates a "aws/request.Request" representing the // client's request for the UpdateIntegration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateIntegration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateIntegration method directly -// instead. +// See UpdateIntegration for more information on using the UpdateIntegration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateIntegrationRequest method. // req, resp := client.UpdateIntegrationRequest(params) @@ -9065,14 +9616,22 @@ func (c *APIGateway) UpdateIntegrationRequest(input *UpdateIntegrationInput) (re // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // func (c *APIGateway) UpdateIntegration(input *UpdateIntegrationInput) (*Integration, error) { req, out := c.UpdateIntegrationRequest(input) @@ -9099,19 +9658,18 @@ const opUpdateIntegrationResponse = "UpdateIntegrationResponse" // UpdateIntegrationResponseRequest generates a "aws/request.Request" representing the // client's request for the UpdateIntegrationResponse operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateIntegrationResponse for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateIntegrationResponse method directly -// instead. +// See UpdateIntegrationResponse for more information on using the UpdateIntegrationResponse +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateIntegrationResponseRequest method. // req, resp := client.UpdateIntegrationResponseRequest(params) @@ -9149,14 +9707,22 @@ func (c *APIGateway) UpdateIntegrationResponseRequest(input *UpdateIntegrationRe // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) UpdateIntegrationResponse(input *UpdateIntegrationResponseInput) (*IntegrationResponse, error) { req, out := c.UpdateIntegrationResponseRequest(input) @@ -9183,19 +9749,18 @@ const opUpdateMethod = "UpdateMethod" // UpdateMethodRequest generates a "aws/request.Request" representing the // client's request for the UpdateMethod operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateMethod for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateMethod method directly -// instead. +// See UpdateMethod for more information on using the UpdateMethod +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateMethodRequest method. // req, resp := client.UpdateMethodRequest(params) @@ -9233,14 +9798,22 @@ func (c *APIGateway) UpdateMethodRequest(input *UpdateMethodInput) (req *request // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) UpdateMethod(input *UpdateMethodInput) (*Method, error) { req, out := c.UpdateMethodRequest(input) @@ -9267,19 +9840,18 @@ const opUpdateMethodResponse = "UpdateMethodResponse" // UpdateMethodResponseRequest generates a "aws/request.Request" representing the // client's request for the UpdateMethodResponse operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateMethodResponse for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateMethodResponse method directly -// instead. +// See UpdateMethodResponse for more information on using the UpdateMethodResponse +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateMethodResponseRequest method. // req, resp := client.UpdateMethodResponseRequest(params) @@ -9317,16 +9889,25 @@ func (c *APIGateway) UpdateMethodResponseRequest(input *UpdateMethodResponseInpu // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeLimitExceededException "LimitExceededException" +// The request exceeded the rate limit. Retry after the specified time period. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) UpdateMethodResponse(input *UpdateMethodResponseInput) (*MethodResponse, error) { req, out := c.UpdateMethodResponseRequest(input) @@ -9353,19 +9934,18 @@ const opUpdateModel = "UpdateModel" // UpdateModelRequest generates a "aws/request.Request" representing the // client's request for the UpdateModel operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateModel for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateModel method directly -// instead. +// See UpdateModel for more information on using the UpdateModel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateModelRequest method. // req, resp := client.UpdateModelRequest(params) @@ -9403,14 +9983,22 @@ func (c *APIGateway) UpdateModelRequest(input *UpdateModelInput) (req *request.R // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) UpdateModel(input *UpdateModelInput) (*Model, error) { req, out := c.UpdateModelRequest(input) @@ -9437,19 +10025,18 @@ const opUpdateRequestValidator = "UpdateRequestValidator" // UpdateRequestValidatorRequest generates a "aws/request.Request" representing the // client's request for the UpdateRequestValidator operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateRequestValidator for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateRequestValidator method directly -// instead. +// See UpdateRequestValidator for more information on using the UpdateRequestValidator +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateRequestValidatorRequest method. // req, resp := client.UpdateRequestValidatorRequest(params) @@ -9487,12 +10074,18 @@ func (c *APIGateway) UpdateRequestValidatorRequest(input *UpdateRequestValidator // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) UpdateRequestValidator(input *UpdateRequestValidatorInput) (*UpdateRequestValidatorOutput, error) { req, out := c.UpdateRequestValidatorRequest(input) @@ -9519,19 +10112,18 @@ const opUpdateResource = "UpdateResource" // UpdateResourceRequest generates a "aws/request.Request" representing the // client's request for the UpdateResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateResource method directly -// instead. +// See UpdateResource for more information on using the UpdateResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateResourceRequest method. // req, resp := client.UpdateResourceRequest(params) @@ -9569,14 +10161,22 @@ func (c *APIGateway) UpdateResourceRequest(input *UpdateResourceInput) (req *req // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) UpdateResource(input *UpdateResourceInput) (*Resource, error) { req, out := c.UpdateResourceRequest(input) @@ -9603,19 +10203,18 @@ const opUpdateRestApi = "UpdateRestApi" // UpdateRestApiRequest generates a "aws/request.Request" representing the // client's request for the UpdateRestApi operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateRestApi for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateRestApi method directly -// instead. +// See UpdateRestApi for more information on using the UpdateRestApi +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateRestApiRequest method. // req, resp := client.UpdateRestApiRequest(params) @@ -9653,14 +10252,22 @@ func (c *APIGateway) UpdateRestApiRequest(input *UpdateRestApiInput) (req *reque // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) UpdateRestApi(input *UpdateRestApiInput) (*RestApi, error) { req, out := c.UpdateRestApiRequest(input) @@ -9687,19 +10294,18 @@ const opUpdateStage = "UpdateStage" // UpdateStageRequest generates a "aws/request.Request" representing the // client's request for the UpdateStage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateStage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateStage method directly -// instead. +// See UpdateStage for more information on using the UpdateStage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateStageRequest method. // req, resp := client.UpdateStageRequest(params) @@ -9737,14 +10343,22 @@ func (c *APIGateway) UpdateStageRequest(input *UpdateStageInput) (req *request.R // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // func (c *APIGateway) UpdateStage(input *UpdateStageInput) (*Stage, error) { req, out := c.UpdateStageRequest(input) @@ -9771,19 +10385,18 @@ const opUpdateUsage = "UpdateUsage" // UpdateUsageRequest generates a "aws/request.Request" representing the // client's request for the UpdateUsage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateUsage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateUsage method directly -// instead. +// See UpdateUsage for more information on using the UpdateUsage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateUsageRequest method. // req, resp := client.UpdateUsageRequest(params) @@ -9822,12 +10435,18 @@ func (c *APIGateway) UpdateUsageRequest(input *UpdateUsageInput) (req *request.R // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // func (c *APIGateway) UpdateUsage(input *UpdateUsageInput) (*Usage, error) { req, out := c.UpdateUsageRequest(input) @@ -9854,19 +10473,18 @@ const opUpdateUsagePlan = "UpdateUsagePlan" // UpdateUsagePlanRequest generates a "aws/request.Request" representing the // client's request for the UpdateUsagePlan operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateUsagePlan for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateUsagePlan method directly -// instead. +// See UpdateUsagePlan for more information on using the UpdateUsagePlan +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateUsagePlanRequest method. // req, resp := client.UpdateUsagePlanRequest(params) @@ -9904,14 +10522,22 @@ func (c *APIGateway) UpdateUsagePlanRequest(input *UpdateUsagePlanInput) (req *r // // Returned Error Codes: // * ErrCodeUnauthorizedException "UnauthorizedException" +// The request is denied because the caller has insufficient permissions. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request has reached its throttling limit. Retry after the specified time +// period. // // * ErrCodeBadRequestException "BadRequestException" +// The submitted request is not valid, for example, the input is incomplete +// or incorrect. See the accompanying error message for details. // // * ErrCodeNotFoundException "NotFoundException" +// The requested resource is not found. Make sure that the request URI is correct. // // * ErrCodeConflictException "ConflictException" +// The request configuration has conflicts. For details, see the accompanying +// error message. // func (c *APIGateway) UpdateUsagePlan(input *UpdateUsagePlanInput) (*UsagePlan, error) { req, out := c.UpdateUsagePlanRequest(input) @@ -10163,23 +10789,24 @@ func (s *ApiStage) SetStage(v string) *ApiStage { type Authorizer struct { _ struct{} `type:"structure"` - // Optional customer-defined field, used in Swagger imports/exports. Has no + // Optional customer-defined field, used in Swagger imports and exports without // functional impact. AuthType *string `locationName:"authType" type:"string"` - // Specifies the credentials required for the authorizer, if any. Two options - // are available. To specify an IAM role for Amazon API Gateway to assume, use - // the role's Amazon Resource Name (ARN). To use resource-based permissions - // on the Lambda function, specify null. + // Specifies the required credentials as an IAM role for Amazon API Gateway + // to invoke the authorizer. To specify an IAM role for Amazon API Gateway to + // assume, use the role's Amazon Resource Name (ARN). To use resource-based + // permissions on the Lambda function, specify null. AuthorizerCredentials *string `locationName:"authorizerCredentials" type:"string"` - // The TTL in seconds of cached authorizer results. If greater than 0, API Gateway - // will cache authorizer responses. If this field is not set, the default value - // is 300. The maximum value is 3600, or 1 hour. + // The TTL in seconds of cached authorizer results. If it equals 0, authorization + // caching is disabled. If it is greater than 0, API Gateway will cache authorizer + // responses. If this field is not set, the default value is 300. The maximum + // value is 3600, or 1 hour. AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"` - // [Required] Specifies the authorizer's Uniform Resource Identifier (URI). - // For TOKEN authorizers, this must be a well-formed Lambda function URI, for + // Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN or + // REQUEST authorizers, this must be a well-formed Lambda function URI, for // example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. // In general, the URI has this form arn:aws:apigateway:{region}:lambda:path/{service_api}, // where {region} is the same as the region hosting the Lambda function, path @@ -10191,30 +10818,47 @@ type Authorizer struct { // The identifier for the authorizer resource. Id *string `locationName:"id" type:"string"` - // [Required] The source of the identity in an incoming request. For a TOKEN - // authorizer, this value is a mapping expression with the same syntax as integration - // parameter mappings. The only valid source for tokens is 'header', so the - // expression should match 'method.request.header.[headerName]'. The value of - // the header '[headerName]' will be interpreted as the incoming token. For - // COGNITO_USER_POOLS authorizers, this property is used. + // The identity source for which authorization is requested. For a TOKEN authorizer, + // this is required and specifies the request header mapping expression for + // the custom header holding the authorization token submitted by the client. + // For example, if the token header name is Auth, the header mapping expression + // is method.request.header.Auth. + // For the REQUEST authorizer, this is required when authorization caching is + // enabled. The value is a comma-separated string of one or more mapping expressions + // of the specified request parameters. For example, if an Auth header, a Name + // query string parameter are defined as identity sources, this value is method.request.header.Auth, + // method.request.querystring.Name. These parameters will be used to derive + // the authorization caching key and to perform runtime validation of the REQUEST + // authorizer by verifying all of the identity-related request parameters are + // present, not null and non-empty. Only when this is true does the authorizer + // invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized + // response without calling the Lambda function. The valid value is a string + // of comma-separated mapping expressions of the specified request parameters. + // When the authorization caching is not enabled, this property is optional. + // + // For a COGNITO_USER_POOLS authorizer, this property is not used. IdentitySource *string `locationName:"identitySource" type:"string"` - // A validation expression for the incoming identity. For TOKEN authorizers, - // this value should be a regular expression. The incoming token from the client - // is matched against this expression, and will proceed if the token matches. - // If the token doesn't match, the client receives a 401 Unauthorized response. + // A validation expression for the incoming identity token. For TOKEN authorizers, + // this value is a regular expression. Amazon API Gateway will match the incoming + // token from the client against the specified regular expression. It will invoke + // the authorizer's Lambda function there is a match. Otherwise, it will return + // a 401 Unauthorized response without calling the Lambda function. The validation + // expression does not apply to the REQUEST authorizer. IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"` // [Required] The name of the authorizer. Name *string `locationName:"name" type:"string"` - // A list of the provider ARNs of the authorizer. For an TOKEN authorizer, this - // is not defined. For authorizers of the COGNITO_USER_POOLS type, each element - // corresponds to a user pool ARN of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}. + // A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer. + // Each element is of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}. + // For a TOKEN or REQUEST authorizer, this is not defined. ProviderARNs []*string `locationName:"providerARNs" type:"list"` - // [Required] The type of the authorizer. Currently, the valid type is TOKEN - // for a Lambda function or COGNITO_USER_POOLS for an Amazon Cognito user pool. + // [Required] The authorizer type. Valid values are TOKEN for a Lambda function + // using a single authorization token submitted in a custom header, REQUEST + // for a Lambda function using incoming request parameters, and COGNITO_USER_POOLS + // for using an Amazon Cognito user pool. Type *string `locationName:"type" type:"string" enum:"AuthorizerType"` } @@ -10339,8 +10983,9 @@ func (s *BasePathMapping) SetStage(v string) *BasePathMapping { // Represents a client certificate used to configure client-side SSL authentication // while sending requests to the integration endpoint. // -// Client certificates are used authenticate an API by the back-end server. -// To authenticate an API client (or user), use a custom Authorizer. +// Client certificates are used to authenticate an API by the backend server. +// To authenticate an API client (or user), use IAM roles and policies, a custom +// Authorizer or an Amazon Cognito user pool. // Use Client-Side Certificate (http://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-client-side-ssl-authentication.html) type ClientCertificate struct { _ struct{} `type:"structure"` @@ -10486,25 +11131,59 @@ func (s *CreateApiKeyInput) SetValue(v string) *CreateApiKeyInput { type CreateAuthorizerInput struct { _ struct{} `type:"structure"` - // Optional customer-defined field, used in Swagger imports/exports. Has no + // Optional customer-defined field, used in Swagger imports and exports without // functional impact. AuthType *string `locationName:"authType" type:"string"` - // Specifies the credentials required for the authorizer, if any. + // Specifies the required credentials as an IAM role for Amazon API Gateway + // to invoke the authorizer. To specify an IAM role for Amazon API Gateway to + // assume, use the role's Amazon Resource Name (ARN). To use resource-based + // permissions on the Lambda function, specify null. AuthorizerCredentials *string `locationName:"authorizerCredentials" type:"string"` - // The TTL of cached authorizer results. + // The TTL in seconds of cached authorizer results. If it equals 0, authorization + // caching is disabled. If it is greater than 0, API Gateway will cache authorizer + // responses. If this field is not set, the default value is 300. The maximum + // value is 3600, or 1 hour. AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"` - // [Required] Specifies the authorizer's Uniform Resource Identifier (URI). + // Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN or + // REQUEST authorizers, this must be a well-formed Lambda function URI, for + // example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. + // In general, the URI has this form arn:aws:apigateway:{region}:lambda:path/{service_api}, + // where {region} is the same as the region hosting the Lambda function, path + // indicates that the remaining substring in the URI should be treated as the + // path to the resource, including the initial /. For Lambda functions, this + // is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. AuthorizerUri *string `locationName:"authorizerUri" type:"string"` - // [Required] The source of the identity in an incoming request. + // The identity source for which authorization is requested. For a TOKEN authorizer, + // this is required and specifies the request header mapping expression for + // the custom header holding the authorization token submitted by the client. + // For example, if the token header name is Auth, the header mapping expression + // is method.request.header.Auth. + // For the REQUEST authorizer, this is required when authorization caching is + // enabled. The value is a comma-separated string of one or more mapping expressions + // of the specified request parameters. For example, if an Auth header, a Name + // query string parameter are defined as identity sources, this value is method.request.header.Auth, + // method.request.querystring.Name. These parameters will be used to derive + // the authorization caching key and to perform runtime validation of the REQUEST + // authorizer by verifying all of the identity-related request parameters are + // present, not null and non-empty. Only when this is true does the authorizer + // invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized + // response without calling the Lambda function. The valid value is a string + // of comma-separated mapping expressions of the specified request parameters. + // When the authorization caching is not enabled, this property is optional. // - // IdentitySource is a required field - IdentitySource *string `locationName:"identitySource" type:"string" required:"true"` + // For a COGNITO_USER_POOLS authorizer, this property is not used. + IdentitySource *string `locationName:"identitySource" type:"string"` - // A validation expression for the incoming identity. + // A validation expression for the incoming identity token. For TOKEN authorizers, + // this value is a regular expression. Amazon API Gateway will match the incoming + // token from the client against the specified regular expression. It will invoke + // the authorizer's Lambda function there is a match. Otherwise, it will return + // a 401 Unauthorized response without calling the Lambda function. The validation + // expression does not apply to the REQUEST authorizer. IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"` // [Required] The name of the authorizer. @@ -10512,7 +11191,9 @@ type CreateAuthorizerInput struct { // Name is a required field Name *string `locationName:"name" type:"string" required:"true"` - // A list of the Cognito Your User Pool authorizer's provider ARNs. + // A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer. + // Each element is of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}. + // For a TOKEN or REQUEST authorizer, this is not defined. ProviderARNs []*string `locationName:"providerARNs" type:"list"` // The string identifier of the associated RestApi. @@ -10520,7 +11201,10 @@ type CreateAuthorizerInput struct { // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` - // [Required] The type of the authorizer. + // [Required] The authorizer type. Valid values are TOKEN for a Lambda function + // using a single authorization token submitted in a custom header, REQUEST + // for a Lambda function using incoming request parameters, and COGNITO_USER_POOLS + // for using an Amazon Cognito user pool. // // Type is a required field Type *string `locationName:"type" type:"string" required:"true" enum:"AuthorizerType"` @@ -10539,9 +11223,6 @@ func (s CreateAuthorizerInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateAuthorizerInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateAuthorizerInput"} - if s.IdentitySource == nil { - invalidParams.Add(request.NewErrParamRequired("IdentitySource")) - } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -11039,7 +11720,7 @@ type CreateModelInput struct { // The description of the model. Description *string `locationName:"description" type:"string"` - // The name of the model. + // The name of the model. Must be alphanumeric. // // Name is a required field Name *string `locationName:"name" type:"string" required:"true"` @@ -13129,8 +13810,8 @@ type DocumentationPartLocation struct { // a valid and required field for API entity types of API, AUTHORIZER, MODEL, // RESOURCE, METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, // RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. Content inheritance does not - // apply to any entity of the API, AUTHROZER, METHOD, MODEL, REQUEST_BODY, or - // RESOURCE type. + // apply to any entity of the API, AUTHORIZER, METHOD, MODEL, REQUEST_BODY, + // or RESOURCE type. // // Type is a required field Type *string `locationName:"type" type:"string" required:"true" enum:"DocumentationPartType"` @@ -16054,10 +16735,11 @@ func (s *GetRestApisOutput) SetPosition(v string) *GetRestApisOutput { type GetSdkInput struct { _ struct{} `type:"structure"` - // A key-value map of query string parameters that specify properties of the - // SDK, depending on the requested sdkType. For sdkType of objectivec, a parameter - // named classPrefix is required. For sdkType of android, parameters named groupId, - // artifactId, artifactVersion, and invokerPackage are required. + // A string-to-string key-value map of query parameters sdkType-dependent properties + // of the SDK. For sdkType of objectivec or swift, a parameter named classPrefix + // is required. For sdkType of android, parameters named groupId, artifactId, + // artifactVersion, and invokerPackage are required. For sdkType of java, parameters + // named serviceName and javaPackageName are required. Parameters map[string]*string `location:"querystring" locationName:"parameters" type:"map"` // The string identifier of the associated RestApi. @@ -16065,8 +16747,8 @@ type GetSdkInput struct { // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` - // The language for the generated SDK. Currently javascript, android, and objectivec - // (for iOS) are supported. + // The language for the generated SDK. Currently java, javascript, android, + // objectivec and swift (for iOS) are supported. // // SdkType is a required field SdkType *string `location:"uri" locationName:"sdk_type" type:"string" required:"true"` @@ -17856,7 +18538,7 @@ type Model struct { // The identifier for the model resource. Id *string `locationName:"id" type:"string"` - // The name of the model. + // The name of the model. Must be an alphanumeric string. Name *string `locationName:"name" type:"string"` // The schema for the model. For application/json models, this should be JSON-schema @@ -21404,12 +22086,17 @@ const ( ApiKeysFormatCsv = "csv" ) -// The authorizer type. the current value is TOKEN for a Lambda function or -// COGNITO_USER_POOLS for an Amazon Cognito Your User Pool. +// [Required] The authorizer type. Valid values are TOKEN for a Lambda function +// using a single authorization token submitted in a custom header, REQUEST +// for a Lambda function using incoming request parameters, and COGNITO_USER_POOLS +// for using an Amazon Cognito user pool. const ( // AuthorizerTypeToken is a AuthorizerType enum value AuthorizerTypeToken = "TOKEN" + // AuthorizerTypeRequest is a AuthorizerType enum value + AuthorizerTypeRequest = "REQUEST" + // AuthorizerTypeCognitoUserPools is a AuthorizerType enum value AuthorizerTypeCognitoUserPools = "COGNITO_USER_POOLS" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/apigateway/apigatewayiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/apigateway/apigatewayiface/interface.go index 6c77ea080..ef15e7ab5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/apigateway/apigatewayiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/apigateway/apigatewayiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon API Gateway. diff --git a/vendor/github.com/aws/aws-sdk-go/service/apigateway/doc.go b/vendor/github.com/aws/aws-sdk-go/service/apigateway/doc.go index c05d3cdc3..7bcbd381a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/apigateway/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/apigateway/doc.go @@ -14,69 +14,17 @@ // // Using the Client // -// To use the client for Amazon API Gateway you will first need -// to create a new instance of it. +// To Amazon API Gateway with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := apigateway.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon API Gateway client APIGateway for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/apigateway/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CreateApiKey(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CreateApiKey result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CreateApiKeyWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package apigateway diff --git a/vendor/github.com/aws/aws-sdk-go/service/apigateway/errors.go b/vendor/github.com/aws/aws-sdk-go/service/apigateway/errors.go index b8f2efc29..99208e845 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/apigateway/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/apigateway/errors.go @@ -6,29 +6,47 @@ const ( // ErrCodeBadRequestException for service response error code // "BadRequestException". + // + // The submitted request is not valid, for example, the input is incomplete + // or incorrect. See the accompanying error message for details. ErrCodeBadRequestException = "BadRequestException" // ErrCodeConflictException for service response error code // "ConflictException". + // + // The request configuration has conflicts. For details, see the accompanying + // error message. ErrCodeConflictException = "ConflictException" // ErrCodeLimitExceededException for service response error code // "LimitExceededException". + // + // The request exceeded the rate limit. Retry after the specified time period. ErrCodeLimitExceededException = "LimitExceededException" // ErrCodeNotFoundException for service response error code // "NotFoundException". + // + // The requested resource is not found. Make sure that the request URI is correct. ErrCodeNotFoundException = "NotFoundException" // ErrCodeServiceUnavailableException for service response error code // "ServiceUnavailableException". + // + // The requested service is not available. For details see the accompanying + // error message. Retry after the specified time period. ErrCodeServiceUnavailableException = "ServiceUnavailableException" // ErrCodeTooManyRequestsException for service response error code // "TooManyRequestsException". + // + // The request has reached its throttling limit. Retry after the specified time + // period. ErrCodeTooManyRequestsException = "TooManyRequestsException" // ErrCodeUnauthorizedException for service response error code // "UnauthorizedException". + // + // The request is denied because the caller has insufficient permissions. ErrCodeUnauthorizedException = "UnauthorizedException" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go index cdb70791b..f7526f0fb 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go @@ -15,19 +15,18 @@ const opDeleteScalingPolicy = "DeleteScalingPolicy" // DeleteScalingPolicyRequest generates a "aws/request.Request" representing the // client's request for the DeleteScalingPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteScalingPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteScalingPolicy method directly -// instead. +// See DeleteScalingPolicy for more information on using the DeleteScalingPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteScalingPolicyRequest method. // req, resp := client.DeleteScalingPolicyRequest(params) @@ -117,19 +116,18 @@ const opDeregisterScalableTarget = "DeregisterScalableTarget" // DeregisterScalableTargetRequest generates a "aws/request.Request" representing the // client's request for the DeregisterScalableTarget operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeregisterScalableTarget for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeregisterScalableTarget method directly -// instead. +// See DeregisterScalableTarget for more information on using the DeregisterScalableTarget +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeregisterScalableTargetRequest method. // req, resp := client.DeregisterScalableTargetRequest(params) @@ -218,19 +216,18 @@ const opDescribeScalableTargets = "DescribeScalableTargets" // DescribeScalableTargetsRequest generates a "aws/request.Request" representing the // client's request for the DescribeScalableTargets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeScalableTargets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeScalableTargets method directly -// instead. +// See DescribeScalableTargets for more information on using the DescribeScalableTargets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeScalableTargetsRequest method. // req, resp := client.DescribeScalableTargetsRequest(params) @@ -372,19 +369,18 @@ const opDescribeScalingActivities = "DescribeScalingActivities" // DescribeScalingActivitiesRequest generates a "aws/request.Request" representing the // client's request for the DescribeScalingActivities operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeScalingActivities for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeScalingActivities method directly -// instead. +// See DescribeScalingActivities for more information on using the DescribeScalingActivities +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeScalingActivitiesRequest method. // req, resp := client.DescribeScalingActivitiesRequest(params) @@ -527,19 +523,18 @@ const opDescribeScalingPolicies = "DescribeScalingPolicies" // DescribeScalingPoliciesRequest generates a "aws/request.Request" representing the // client's request for the DescribeScalingPolicies operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeScalingPolicies for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeScalingPolicies method directly -// instead. +// See DescribeScalingPolicies for more information on using the DescribeScalingPolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeScalingPoliciesRequest method. // req, resp := client.DescribeScalingPoliciesRequest(params) @@ -689,19 +684,18 @@ const opPutScalingPolicy = "PutScalingPolicy" // PutScalingPolicyRequest generates a "aws/request.Request" representing the // client's request for the PutScalingPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutScalingPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutScalingPolicy method directly -// instead. +// See PutScalingPolicy for more information on using the PutScalingPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutScalingPolicyRequest method. // req, resp := client.PutScalingPolicyRequest(params) @@ -810,19 +804,18 @@ const opRegisterScalableTarget = "RegisterScalableTarget" // RegisterScalableTargetRequest generates a "aws/request.Request" representing the // client's request for the RegisterScalableTarget operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterScalableTarget for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterScalableTarget method directly -// instead. +// See RegisterScalableTarget for more information on using the RegisterScalableTarget +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterScalableTargetRequest method. // req, resp := client.RegisterScalableTargetRequest(params) @@ -2997,6 +2990,13 @@ type TargetTrackingScalingPolicyConfiguration struct { // Reserved for future use. CustomizedMetricSpecification *CustomizedMetricSpecification `type:"structure"` + // Indicates whether scale in by the target tracking policy is disabled. If + // the value is true, scale in is disabled and the target tracking policy won't + // remove capacity from the scalable resource. Otherwise, scale in is enabled + // and the target tracking policy can remove capacity from the scalable resource. + // The default value is false. + DisableScaleIn *bool `type:"boolean"` + // A predefined metric. PredefinedMetricSpecification *PredefinedMetricSpecification `type:"structure"` @@ -3065,6 +3065,12 @@ func (s *TargetTrackingScalingPolicyConfiguration) SetCustomizedMetricSpecificat return s } +// SetDisableScaleIn sets the DisableScaleIn field's value. +func (s *TargetTrackingScalingPolicyConfiguration) SetDisableScaleIn(v bool) *TargetTrackingScalingPolicyConfiguration { + s.DisableScaleIn = &v + return s +} + // SetPredefinedMetricSpecification sets the PredefinedMetricSpecification field's value. func (s *TargetTrackingScalingPolicyConfiguration) SetPredefinedMetricSpecification(v *PredefinedMetricSpecification) *TargetTrackingScalingPolicyConfiguration { s.PredefinedMetricSpecification = v diff --git a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/applicationautoscalingiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/applicationautoscalingiface/interface.go index 06ee8335a..411a617c4 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/applicationautoscalingiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/applicationautoscalingiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Application Auto Scaling. diff --git a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go index 4f9f64a3a..855c8bc11 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go @@ -32,8 +32,8 @@ // in the Amazon AppStream 2.0 Developer Guide. // // * Provisioned read and write capacity for Amazon DynamoDB tables and global -// secondary indexes. For more information, see Auto Scaling for DynamoDB -// (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TargetTracking.html) +// secondary indexes. For more information, see Managing Throughput Capacity +// Automatically with DynamoDB Auto Scaling (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html) // in the Amazon DynamoDB Developer Guide. // // For a list of supported regions, see AWS Regions and Endpoints: Application @@ -47,69 +47,17 @@ // // Using the Client // -// To use the client for Application Auto Scaling you will first need -// to create a new instance of it. +// To Application Auto Scaling with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := applicationautoscaling.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Application Auto Scaling client ApplicationAutoScaling for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/applicationautoscaling/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.DeleteScalingPolicy(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("DeleteScalingPolicy result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.DeleteScalingPolicyWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package applicationautoscaling diff --git a/vendor/github.com/aws/aws-sdk-go/service/applicationdiscoveryservice/api.go b/vendor/github.com/aws/aws-sdk-go/service/applicationdiscoveryservice/api.go index 45753769e..a5b782d56 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/applicationdiscoveryservice/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/applicationdiscoveryservice/api.go @@ -15,19 +15,18 @@ const opAssociateConfigurationItemsToApplication = "AssociateConfigurationItemsT // AssociateConfigurationItemsToApplicationRequest generates a "aws/request.Request" representing the // client's request for the AssociateConfigurationItemsToApplication operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssociateConfigurationItemsToApplication for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssociateConfigurationItemsToApplication method directly -// instead. +// See AssociateConfigurationItemsToApplication for more information on using the AssociateConfigurationItemsToApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssociateConfigurationItemsToApplicationRequest method. // req, resp := client.AssociateConfigurationItemsToApplicationRequest(params) @@ -106,19 +105,18 @@ const opCreateApplication = "CreateApplication" // CreateApplicationRequest generates a "aws/request.Request" representing the // client's request for the CreateApplication operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateApplication for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateApplication method directly -// instead. +// See CreateApplication for more information on using the CreateApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateApplicationRequest method. // req, resp := client.CreateApplicationRequest(params) @@ -197,19 +195,18 @@ const opCreateTags = "CreateTags" // CreateTagsRequest generates a "aws/request.Request" representing the // client's request for the CreateTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateTags method directly -// instead. +// See CreateTags for more information on using the CreateTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateTagsRequest method. // req, resp := client.CreateTagsRequest(params) @@ -294,19 +291,18 @@ const opDeleteApplications = "DeleteApplications" // DeleteApplicationsRequest generates a "aws/request.Request" representing the // client's request for the DeleteApplications operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteApplications for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteApplications method directly -// instead. +// See DeleteApplications for more information on using the DeleteApplications +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteApplicationsRequest method. // req, resp := client.DeleteApplicationsRequest(params) @@ -386,19 +382,18 @@ const opDeleteTags = "DeleteTags" // DeleteTagsRequest generates a "aws/request.Request" representing the // client's request for the DeleteTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteTags method directly -// instead. +// See DeleteTags for more information on using the DeleteTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteTagsRequest method. // req, resp := client.DeleteTagsRequest(params) @@ -482,19 +477,18 @@ const opDescribeAgents = "DescribeAgents" // DescribeAgentsRequest generates a "aws/request.Request" representing the // client's request for the DescribeAgents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAgents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAgents method directly -// instead. +// See DescribeAgents for more information on using the DescribeAgents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAgentsRequest method. // req, resp := client.DescribeAgentsRequest(params) @@ -574,19 +568,18 @@ const opDescribeConfigurations = "DescribeConfigurations" // DescribeConfigurationsRequest generates a "aws/request.Request" representing the // client's request for the DescribeConfigurations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeConfigurations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeConfigurations method directly -// instead. +// See DescribeConfigurations for more information on using the DescribeConfigurations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeConfigurationsRequest method. // req, resp := client.DescribeConfigurationsRequest(params) @@ -672,19 +665,18 @@ const opDescribeExportConfigurations = "DescribeExportConfigurations" // DescribeExportConfigurationsRequest generates a "aws/request.Request" representing the // client's request for the DescribeExportConfigurations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeExportConfigurations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeExportConfigurations method directly -// instead. +// See DescribeExportConfigurations for more information on using the DescribeExportConfigurations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeExportConfigurationsRequest method. // req, resp := client.DescribeExportConfigurationsRequest(params) @@ -773,19 +765,18 @@ const opDescribeExportTasks = "DescribeExportTasks" // DescribeExportTasksRequest generates a "aws/request.Request" representing the // client's request for the DescribeExportTasks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeExportTasks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeExportTasks method directly -// instead. +// See DescribeExportTasks for more information on using the DescribeExportTasks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeExportTasksRequest method. // req, resp := client.DescribeExportTasksRequest(params) @@ -865,19 +856,18 @@ const opDescribeTags = "DescribeTags" // DescribeTagsRequest generates a "aws/request.Request" representing the // client's request for the DescribeTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTags method directly -// instead. +// See DescribeTags for more information on using the DescribeTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTagsRequest method. // req, resp := client.DescribeTagsRequest(params) @@ -961,19 +951,18 @@ const opDisassociateConfigurationItemsFromApplication = "DisassociateConfigurati // DisassociateConfigurationItemsFromApplicationRequest generates a "aws/request.Request" representing the // client's request for the DisassociateConfigurationItemsFromApplication operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisassociateConfigurationItemsFromApplication for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisassociateConfigurationItemsFromApplication method directly -// instead. +// See DisassociateConfigurationItemsFromApplication for more information on using the DisassociateConfigurationItemsFromApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisassociateConfigurationItemsFromApplicationRequest method. // req, resp := client.DisassociateConfigurationItemsFromApplicationRequest(params) @@ -1052,19 +1041,18 @@ const opExportConfigurations = "ExportConfigurations" // ExportConfigurationsRequest generates a "aws/request.Request" representing the // client's request for the ExportConfigurations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ExportConfigurations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ExportConfigurations method directly -// instead. +// See ExportConfigurations for more information on using the ExportConfigurations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ExportConfigurationsRequest method. // req, resp := client.ExportConfigurationsRequest(params) @@ -1155,19 +1143,18 @@ const opGetDiscoverySummary = "GetDiscoverySummary" // GetDiscoverySummaryRequest generates a "aws/request.Request" representing the // client's request for the GetDiscoverySummary operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDiscoverySummary for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDiscoverySummary method directly -// instead. +// See GetDiscoverySummary for more information on using the GetDiscoverySummary +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDiscoverySummaryRequest method. // req, resp := client.GetDiscoverySummaryRequest(params) @@ -1246,19 +1233,18 @@ const opListConfigurations = "ListConfigurations" // ListConfigurationsRequest generates a "aws/request.Request" representing the // client's request for the ListConfigurations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListConfigurations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListConfigurations method directly -// instead. +// See ListConfigurations for more information on using the ListConfigurations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListConfigurationsRequest method. // req, resp := client.ListConfigurationsRequest(params) @@ -1342,19 +1328,18 @@ const opListServerNeighbors = "ListServerNeighbors" // ListServerNeighborsRequest generates a "aws/request.Request" representing the // client's request for the ListServerNeighbors operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListServerNeighbors for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListServerNeighbors method directly -// instead. +// See ListServerNeighbors for more information on using the ListServerNeighbors +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListServerNeighborsRequest method. // req, resp := client.ListServerNeighborsRequest(params) @@ -1434,19 +1419,18 @@ const opStartDataCollectionByAgentIds = "StartDataCollectionByAgentIds" // StartDataCollectionByAgentIdsRequest generates a "aws/request.Request" representing the // client's request for the StartDataCollectionByAgentIds operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartDataCollectionByAgentIds for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartDataCollectionByAgentIds method directly -// instead. +// See StartDataCollectionByAgentIds for more information on using the StartDataCollectionByAgentIds +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartDataCollectionByAgentIdsRequest method. // req, resp := client.StartDataCollectionByAgentIdsRequest(params) @@ -1525,19 +1509,18 @@ const opStartExportTask = "StartExportTask" // StartExportTaskRequest generates a "aws/request.Request" representing the // client's request for the StartExportTask operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartExportTask for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartExportTask method directly -// instead. +// See StartExportTask for more information on using the StartExportTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartExportTaskRequest method. // req, resp := client.StartExportTaskRequest(params) @@ -1629,19 +1612,18 @@ const opStopDataCollectionByAgentIds = "StopDataCollectionByAgentIds" // StopDataCollectionByAgentIdsRequest generates a "aws/request.Request" representing the // client's request for the StopDataCollectionByAgentIds operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StopDataCollectionByAgentIds for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StopDataCollectionByAgentIds method directly -// instead. +// See StopDataCollectionByAgentIds for more information on using the StopDataCollectionByAgentIds +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StopDataCollectionByAgentIdsRequest method. // req, resp := client.StopDataCollectionByAgentIdsRequest(params) @@ -1720,19 +1702,18 @@ const opUpdateApplication = "UpdateApplication" // UpdateApplicationRequest generates a "aws/request.Request" representing the // client's request for the UpdateApplication operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateApplication for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateApplication method directly -// instead. +// See UpdateApplication for more information on using the UpdateApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateApplicationRequest method. // req, resp := client.UpdateApplicationRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/applicationdiscoveryservice/applicationdiscoveryserviceiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/applicationdiscoveryservice/applicationdiscoveryserviceiface/interface.go index 46013e8ba..6a9086002 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/applicationdiscoveryservice/applicationdiscoveryserviceiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/applicationdiscoveryservice/applicationdiscoveryserviceiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Application Discovery Service. diff --git a/vendor/github.com/aws/aws-sdk-go/service/applicationdiscoveryservice/doc.go b/vendor/github.com/aws/aws-sdk-go/service/applicationdiscoveryservice/doc.go index cb4f40192..77fc842e6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/applicationdiscoveryservice/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/applicationdiscoveryservice/doc.go @@ -71,69 +71,17 @@ // // Using the Client // -// To use the client for AWS Application Discovery Service you will first need -// to create a new instance of it. +// To AWS Application Discovery Service with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := applicationdiscoveryservice.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Application Discovery Service client ApplicationDiscoveryService for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/applicationdiscoveryservice/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AssociateConfigurationItemsToApplication(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AssociateConfigurationItemsToApplication result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AssociateConfigurationItemsToApplicationWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package applicationdiscoveryservice diff --git a/vendor/github.com/aws/aws-sdk-go/service/appstream/api.go b/vendor/github.com/aws/aws-sdk-go/service/appstream/api.go index 54679838c..2e0d29f38 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/appstream/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/appstream/api.go @@ -15,19 +15,18 @@ const opAssociateFleet = "AssociateFleet" // AssociateFleetRequest generates a "aws/request.Request" representing the // client's request for the AssociateFleet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssociateFleet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssociateFleet method directly -// instead. +// See AssociateFleet for more information on using the AssociateFleet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssociateFleetRequest method. // req, resp := client.AssociateFleetRequest(params) @@ -56,7 +55,7 @@ func (c *AppStream) AssociateFleetRequest(input *AssociateFleetInput) (req *requ // AssociateFleet API operation for Amazon AppStream. // -// Associate a fleet to a stack. +// Associates the specified fleet with the specified stack. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -78,6 +77,9 @@ func (c *AppStream) AssociateFleetRequest(input *AssociateFleetInput) (req *requ // * ErrCodeIncompatibleImageException "IncompatibleImageException" // The image does not support storage connectors. // +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The attempted operation is not permitted. +// // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/AssociateFleet func (c *AppStream) AssociateFleet(input *AssociateFleetInput) (*AssociateFleetOutput, error) { req, out := c.AssociateFleetRequest(input) @@ -100,23 +102,104 @@ func (c *AppStream) AssociateFleetWithContext(ctx aws.Context, input *AssociateF return out, req.Send() } +const opCreateDirectoryConfig = "CreateDirectoryConfig" + +// CreateDirectoryConfigRequest generates a "aws/request.Request" representing the +// client's request for the CreateDirectoryConfig operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateDirectoryConfig for more information on using the CreateDirectoryConfig +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateDirectoryConfigRequest method. +// req, resp := client.CreateDirectoryConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateDirectoryConfig +func (c *AppStream) CreateDirectoryConfigRequest(input *CreateDirectoryConfigInput) (req *request.Request, output *CreateDirectoryConfigOutput) { + op := &request.Operation{ + Name: opCreateDirectoryConfig, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateDirectoryConfigInput{} + } + + output = &CreateDirectoryConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDirectoryConfig API operation for Amazon AppStream. +// +// Creates a directory configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppStream's +// API operation CreateDirectoryConfig for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" +// The specified resource already exists. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The requested limit exceeds the permitted limit for an account. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateDirectoryConfig +func (c *AppStream) CreateDirectoryConfig(input *CreateDirectoryConfigInput) (*CreateDirectoryConfigOutput, error) { + req, out := c.CreateDirectoryConfigRequest(input) + return out, req.Send() +} + +// CreateDirectoryConfigWithContext is the same as CreateDirectoryConfig with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDirectoryConfig for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppStream) CreateDirectoryConfigWithContext(ctx aws.Context, input *CreateDirectoryConfigInput, opts ...request.Option) (*CreateDirectoryConfigOutput, error) { + req, out := c.CreateDirectoryConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateFleet = "CreateFleet" // CreateFleetRequest generates a "aws/request.Request" representing the // client's request for the CreateFleet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateFleet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateFleet method directly -// instead. +// See CreateFleet for more information on using the CreateFleet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateFleetRequest method. // req, resp := client.CreateFleetRequest(params) @@ -145,7 +228,7 @@ func (c *AppStream) CreateFleetRequest(input *CreateFleetInput) (req *request.Re // CreateFleet API operation for Amazon AppStream. // -// Creates a new fleet. +// Creates a fleet. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -173,6 +256,12 @@ func (c *AppStream) CreateFleetRequest(input *CreateFleetInput) (req *request.Re // * ErrCodeConcurrentModificationException "ConcurrentModificationException" // An API error occurred. Wait a few minutes and try again. // +// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombinationException" +// Indicates an incorrect combination of parameters, or a missing parameter. +// +// * ErrCodeIncompatibleImageException "IncompatibleImageException" +// The image does not support storage connectors. +// // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateFleet func (c *AppStream) CreateFleet(input *CreateFleetInput) (*CreateFleetOutput, error) { req, out := c.CreateFleetRequest(input) @@ -195,23 +284,200 @@ func (c *AppStream) CreateFleetWithContext(ctx aws.Context, input *CreateFleetIn return out, req.Send() } +const opCreateImageBuilder = "CreateImageBuilder" + +// CreateImageBuilderRequest generates a "aws/request.Request" representing the +// client's request for the CreateImageBuilder operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateImageBuilder for more information on using the CreateImageBuilder +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateImageBuilderRequest method. +// req, resp := client.CreateImageBuilderRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateImageBuilder +func (c *AppStream) CreateImageBuilderRequest(input *CreateImageBuilderInput) (req *request.Request, output *CreateImageBuilderOutput) { + op := &request.Operation{ + Name: opCreateImageBuilder, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateImageBuilderInput{} + } + + output = &CreateImageBuilderOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateImageBuilder API operation for Amazon AppStream. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppStream's +// API operation CreateImageBuilder for usage and error information. +// +// Returned Error Codes: +// * ErrCodeLimitExceededException "LimitExceededException" +// The requested limit exceeds the permitted limit for an account. +// +// * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" +// The specified resource already exists. +// +// * ErrCodeResourceNotAvailableException "ResourceNotAvailableException" +// The specified resource exists and is not in use, but isn't available. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource was not found. +// +// * ErrCodeInvalidRoleException "InvalidRoleException" +// The specified role is invalid. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// An API error occurred. Wait a few minutes and try again. +// +// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombinationException" +// Indicates an incorrect combination of parameters, or a missing parameter. +// +// * ErrCodeIncompatibleImageException "IncompatibleImageException" +// The image does not support storage connectors. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateImageBuilder +func (c *AppStream) CreateImageBuilder(input *CreateImageBuilderInput) (*CreateImageBuilderOutput, error) { + req, out := c.CreateImageBuilderRequest(input) + return out, req.Send() +} + +// CreateImageBuilderWithContext is the same as CreateImageBuilder with the addition of +// the ability to pass a context and additional request options. +// +// See CreateImageBuilder for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppStream) CreateImageBuilderWithContext(ctx aws.Context, input *CreateImageBuilderInput, opts ...request.Option) (*CreateImageBuilderOutput, error) { + req, out := c.CreateImageBuilderRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateImageBuilderStreamingURL = "CreateImageBuilderStreamingURL" + +// CreateImageBuilderStreamingURLRequest generates a "aws/request.Request" representing the +// client's request for the CreateImageBuilderStreamingURL operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateImageBuilderStreamingURL for more information on using the CreateImageBuilderStreamingURL +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateImageBuilderStreamingURLRequest method. +// req, resp := client.CreateImageBuilderStreamingURLRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateImageBuilderStreamingURL +func (c *AppStream) CreateImageBuilderStreamingURLRequest(input *CreateImageBuilderStreamingURLInput) (req *request.Request, output *CreateImageBuilderStreamingURLOutput) { + op := &request.Operation{ + Name: opCreateImageBuilderStreamingURL, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateImageBuilderStreamingURLInput{} + } + + output = &CreateImageBuilderStreamingURLOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateImageBuilderStreamingURL API operation for Amazon AppStream. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppStream's +// API operation CreateImageBuilderStreamingURL for usage and error information. +// +// Returned Error Codes: +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The attempted operation is not permitted. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource was not found. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateImageBuilderStreamingURL +func (c *AppStream) CreateImageBuilderStreamingURL(input *CreateImageBuilderStreamingURLInput) (*CreateImageBuilderStreamingURLOutput, error) { + req, out := c.CreateImageBuilderStreamingURLRequest(input) + return out, req.Send() +} + +// CreateImageBuilderStreamingURLWithContext is the same as CreateImageBuilderStreamingURL with the addition of +// the ability to pass a context and additional request options. +// +// See CreateImageBuilderStreamingURL for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppStream) CreateImageBuilderStreamingURLWithContext(ctx aws.Context, input *CreateImageBuilderStreamingURLInput, opts ...request.Option) (*CreateImageBuilderStreamingURLOutput, error) { + req, out := c.CreateImageBuilderStreamingURLRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateStack = "CreateStack" // CreateStackRequest generates a "aws/request.Request" representing the // client's request for the CreateStack operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateStack for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateStack method directly -// instead. +// See CreateStack for more information on using the CreateStack +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateStackRequest method. // req, resp := client.CreateStackRequest(params) @@ -240,7 +506,7 @@ func (c *AppStream) CreateStackRequest(input *CreateStackInput) (req *request.Re // CreateStack API operation for Amazon AppStream. // -// Create a new stack. +// Creates a stack. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -294,19 +560,18 @@ const opCreateStreamingURL = "CreateStreamingURL" // CreateStreamingURLRequest generates a "aws/request.Request" representing the // client's request for the CreateStreamingURL operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateStreamingURL for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateStreamingURL method directly -// instead. +// See CreateStreamingURL for more information on using the CreateStreamingURL +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateStreamingURLRequest method. // req, resp := client.CreateStreamingURLRequest(params) @@ -335,8 +600,10 @@ func (c *AppStream) CreateStreamingURLRequest(input *CreateStreamingURLInput) (r // CreateStreamingURL API operation for Amazon AppStream. // -// Creates a URL to start an AppStream 2.0 streaming session for a user. By -// default, the URL is valid only for 1 minute from the time that it is generated. +// Creates a URL to start a streaming session for the specified user. +// +// By default, the URL is valid only for one minute from the time that it is +// generated. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -380,23 +647,104 @@ func (c *AppStream) CreateStreamingURLWithContext(ctx aws.Context, input *Create return out, req.Send() } +const opDeleteDirectoryConfig = "DeleteDirectoryConfig" + +// DeleteDirectoryConfigRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDirectoryConfig operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteDirectoryConfig for more information on using the DeleteDirectoryConfig +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteDirectoryConfigRequest method. +// req, resp := client.DeleteDirectoryConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteDirectoryConfig +func (c *AppStream) DeleteDirectoryConfigRequest(input *DeleteDirectoryConfigInput) (req *request.Request, output *DeleteDirectoryConfigOutput) { + op := &request.Operation{ + Name: opDeleteDirectoryConfig, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteDirectoryConfigInput{} + } + + output = &DeleteDirectoryConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteDirectoryConfig API operation for Amazon AppStream. +// +// Deletes the specified directory configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppStream's +// API operation DeleteDirectoryConfig for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceInUseException "ResourceInUseException" +// The specified resource is in use. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource was not found. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteDirectoryConfig +func (c *AppStream) DeleteDirectoryConfig(input *DeleteDirectoryConfigInput) (*DeleteDirectoryConfigOutput, error) { + req, out := c.DeleteDirectoryConfigRequest(input) + return out, req.Send() +} + +// DeleteDirectoryConfigWithContext is the same as DeleteDirectoryConfig with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDirectoryConfig for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppStream) DeleteDirectoryConfigWithContext(ctx aws.Context, input *DeleteDirectoryConfigInput, opts ...request.Option) (*DeleteDirectoryConfigOutput, error) { + req, out := c.DeleteDirectoryConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteFleet = "DeleteFleet" // DeleteFleetRequest generates a "aws/request.Request" representing the // client's request for the DeleteFleet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteFleet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteFleet method directly -// instead. +// See DeleteFleet for more information on using the DeleteFleet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteFleetRequest method. // req, resp := client.DeleteFleetRequest(params) @@ -425,7 +773,7 @@ func (c *AppStream) DeleteFleetRequest(input *DeleteFleetInput) (req *request.Re // DeleteFleet API operation for Amazon AppStream. // -// Deletes a fleet. +// Deletes the specified fleet. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -466,23 +814,191 @@ func (c *AppStream) DeleteFleetWithContext(ctx aws.Context, input *DeleteFleetIn return out, req.Send() } +const opDeleteImage = "DeleteImage" + +// DeleteImageRequest generates a "aws/request.Request" representing the +// client's request for the DeleteImage operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteImage for more information on using the DeleteImage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteImageRequest method. +// req, resp := client.DeleteImageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImage +func (c *AppStream) DeleteImageRequest(input *DeleteImageInput) (req *request.Request, output *DeleteImageOutput) { + op := &request.Operation{ + Name: opDeleteImage, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteImageInput{} + } + + output = &DeleteImageOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteImage API operation for Amazon AppStream. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppStream's +// API operation DeleteImage for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceInUseException "ResourceInUseException" +// The specified resource is in use. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource was not found. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The attempted operation is not permitted. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// An API error occurred. Wait a few minutes and try again. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImage +func (c *AppStream) DeleteImage(input *DeleteImageInput) (*DeleteImageOutput, error) { + req, out := c.DeleteImageRequest(input) + return out, req.Send() +} + +// DeleteImageWithContext is the same as DeleteImage with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteImage for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppStream) DeleteImageWithContext(ctx aws.Context, input *DeleteImageInput, opts ...request.Option) (*DeleteImageOutput, error) { + req, out := c.DeleteImageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteImageBuilder = "DeleteImageBuilder" + +// DeleteImageBuilderRequest generates a "aws/request.Request" representing the +// client's request for the DeleteImageBuilder operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteImageBuilder for more information on using the DeleteImageBuilder +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteImageBuilderRequest method. +// req, resp := client.DeleteImageBuilderRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImageBuilder +func (c *AppStream) DeleteImageBuilderRequest(input *DeleteImageBuilderInput) (req *request.Request, output *DeleteImageBuilderOutput) { + op := &request.Operation{ + Name: opDeleteImageBuilder, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteImageBuilderInput{} + } + + output = &DeleteImageBuilderOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteImageBuilder API operation for Amazon AppStream. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppStream's +// API operation DeleteImageBuilder for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource was not found. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The attempted operation is not permitted. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// An API error occurred. Wait a few minutes and try again. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImageBuilder +func (c *AppStream) DeleteImageBuilder(input *DeleteImageBuilderInput) (*DeleteImageBuilderOutput, error) { + req, out := c.DeleteImageBuilderRequest(input) + return out, req.Send() +} + +// DeleteImageBuilderWithContext is the same as DeleteImageBuilder with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteImageBuilder for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppStream) DeleteImageBuilderWithContext(ctx aws.Context, input *DeleteImageBuilderInput, opts ...request.Option) (*DeleteImageBuilderOutput, error) { + req, out := c.DeleteImageBuilderRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteStack = "DeleteStack" // DeleteStackRequest generates a "aws/request.Request" representing the // client's request for the DeleteStack operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteStack for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteStack method directly -// instead. +// See DeleteStack for more information on using the DeleteStack +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteStackRequest method. // req, resp := client.DeleteStackRequest(params) @@ -511,8 +1027,8 @@ func (c *AppStream) DeleteStackRequest(input *DeleteStackInput) (req *request.Re // DeleteStack API operation for Amazon AppStream. // -// Deletes the stack. After this operation completes, the environment can no -// longer be activated, and any reservations made for the stack are released. +// Deletes the specified stack. After this operation completes, the environment +// can no longer be activated and any reservations made for the stack are released. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -553,23 +1069,101 @@ func (c *AppStream) DeleteStackWithContext(ctx aws.Context, input *DeleteStackIn return out, req.Send() } +const opDescribeDirectoryConfigs = "DescribeDirectoryConfigs" + +// DescribeDirectoryConfigsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDirectoryConfigs operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeDirectoryConfigs for more information on using the DescribeDirectoryConfigs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeDirectoryConfigsRequest method. +// req, resp := client.DescribeDirectoryConfigsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeDirectoryConfigs +func (c *AppStream) DescribeDirectoryConfigsRequest(input *DescribeDirectoryConfigsInput) (req *request.Request, output *DescribeDirectoryConfigsOutput) { + op := &request.Operation{ + Name: opDescribeDirectoryConfigs, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeDirectoryConfigsInput{} + } + + output = &DescribeDirectoryConfigsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDirectoryConfigs API operation for Amazon AppStream. +// +// Describes the specified directory configurations. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppStream's +// API operation DescribeDirectoryConfigs for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource was not found. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeDirectoryConfigs +func (c *AppStream) DescribeDirectoryConfigs(input *DescribeDirectoryConfigsInput) (*DescribeDirectoryConfigsOutput, error) { + req, out := c.DescribeDirectoryConfigsRequest(input) + return out, req.Send() +} + +// DescribeDirectoryConfigsWithContext is the same as DescribeDirectoryConfigs with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDirectoryConfigs for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppStream) DescribeDirectoryConfigsWithContext(ctx aws.Context, input *DescribeDirectoryConfigsInput, opts ...request.Option) (*DescribeDirectoryConfigsOutput, error) { + req, out := c.DescribeDirectoryConfigsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeFleets = "DescribeFleets" // DescribeFleetsRequest generates a "aws/request.Request" representing the // client's request for the DescribeFleets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeFleets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeFleets method directly -// instead. +// See DescribeFleets for more information on using the DescribeFleets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeFleetsRequest method. // req, resp := client.DescribeFleetsRequest(params) @@ -598,8 +1192,7 @@ func (c *AppStream) DescribeFleetsRequest(input *DescribeFleetsInput) (req *requ // DescribeFleets API operation for Amazon AppStream. // -// If fleet names are provided, this operation describes the specified fleets; -// otherwise, all the fleets in the account are described. +// Describes the specified fleets or all fleets in the account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -634,23 +1227,99 @@ func (c *AppStream) DescribeFleetsWithContext(ctx aws.Context, input *DescribeFl return out, req.Send() } +const opDescribeImageBuilders = "DescribeImageBuilders" + +// DescribeImageBuildersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeImageBuilders operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeImageBuilders for more information on using the DescribeImageBuilders +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeImageBuildersRequest method. +// req, resp := client.DescribeImageBuildersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImageBuilders +func (c *AppStream) DescribeImageBuildersRequest(input *DescribeImageBuildersInput) (req *request.Request, output *DescribeImageBuildersOutput) { + op := &request.Operation{ + Name: opDescribeImageBuilders, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeImageBuildersInput{} + } + + output = &DescribeImageBuildersOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeImageBuilders API operation for Amazon AppStream. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppStream's +// API operation DescribeImageBuilders for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource was not found. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImageBuilders +func (c *AppStream) DescribeImageBuilders(input *DescribeImageBuildersInput) (*DescribeImageBuildersOutput, error) { + req, out := c.DescribeImageBuildersRequest(input) + return out, req.Send() +} + +// DescribeImageBuildersWithContext is the same as DescribeImageBuilders with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeImageBuilders for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppStream) DescribeImageBuildersWithContext(ctx aws.Context, input *DescribeImageBuildersInput, opts ...request.Option) (*DescribeImageBuildersOutput, error) { + req, out := c.DescribeImageBuildersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeImages = "DescribeImages" // DescribeImagesRequest generates a "aws/request.Request" representing the // client's request for the DescribeImages operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeImages for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeImages method directly -// instead. +// See DescribeImages for more information on using the DescribeImages +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeImagesRequest method. // req, resp := client.DescribeImagesRequest(params) @@ -679,8 +1348,7 @@ func (c *AppStream) DescribeImagesRequest(input *DescribeImagesInput) (req *requ // DescribeImages API operation for Amazon AppStream. // -// Describes the images. If a list of names is not provided, all images in your -// account are returned. This operation does not return a paginated result. +// Describes the specified images or all images in the account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -719,19 +1387,18 @@ const opDescribeSessions = "DescribeSessions" // DescribeSessionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeSessions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSessions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSessions method directly -// instead. +// See DescribeSessions for more information on using the DescribeSessions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSessionsRequest method. // req, resp := client.DescribeSessionsRequest(params) @@ -760,11 +1427,10 @@ func (c *AppStream) DescribeSessionsRequest(input *DescribeSessionsInput) (req * // DescribeSessions API operation for Amazon AppStream. // -// Describes the streaming sessions for a stack and a fleet. If a user ID is -// provided, this operation returns streaming sessions for only that user. Pass -// this value for the nextToken parameter in a subsequent call to this operation -// to retrieve the next set of items. If an authentication type is not provided, -// the operation defaults to users authenticated using a streaming URL. +// Describes the streaming sessions for the specified stack and fleet. If a +// user ID is provided, only the streaming sessions for only that user are returned. +// If an authentication type is not provided, the default is to authenticate +// users using a streaming URL. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -803,19 +1469,18 @@ const opDescribeStacks = "DescribeStacks" // DescribeStacksRequest generates a "aws/request.Request" representing the // client's request for the DescribeStacks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeStacks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeStacks method directly -// instead. +// See DescribeStacks for more information on using the DescribeStacks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeStacksRequest method. // req, resp := client.DescribeStacksRequest(params) @@ -844,9 +1509,7 @@ func (c *AppStream) DescribeStacksRequest(input *DescribeStacksInput) (req *requ // DescribeStacks API operation for Amazon AppStream. // -// If stack names are not provided, this operation describes the specified stacks; -// otherwise, all stacks in the account are described. Pass the nextToken value -// in a subsequent call to this operation to retrieve the next set of items. +// Describes the specified stacks or all stacks in the account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -885,19 +1548,18 @@ const opDisassociateFleet = "DisassociateFleet" // DisassociateFleetRequest generates a "aws/request.Request" representing the // client's request for the DisassociateFleet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisassociateFleet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisassociateFleet method directly -// instead. +// See DisassociateFleet for more information on using the DisassociateFleet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisassociateFleetRequest method. // req, resp := client.DisassociateFleetRequest(params) @@ -926,7 +1588,7 @@ func (c *AppStream) DisassociateFleetRequest(input *DisassociateFleetInput) (req // DisassociateFleet API operation for Amazon AppStream. // -// Disassociates a fleet from a stack. +// Disassociates the specified fleet from the specified stack. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -971,19 +1633,18 @@ const opExpireSession = "ExpireSession" // ExpireSessionRequest generates a "aws/request.Request" representing the // client's request for the ExpireSession operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ExpireSession for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ExpireSession method directly -// instead. +// See ExpireSession for more information on using the ExpireSession +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ExpireSessionRequest method. // req, resp := client.ExpireSessionRequest(params) @@ -1012,7 +1673,7 @@ func (c *AppStream) ExpireSessionRequest(input *ExpireSessionInput) (req *reques // ExpireSession API operation for Amazon AppStream. // -// This operation immediately stops a streaming session. +// Stops the specified streaming session. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1046,19 +1707,18 @@ const opListAssociatedFleets = "ListAssociatedFleets" // ListAssociatedFleetsRequest generates a "aws/request.Request" representing the // client's request for the ListAssociatedFleets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAssociatedFleets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAssociatedFleets method directly -// instead. +// See ListAssociatedFleets for more information on using the ListAssociatedFleets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAssociatedFleetsRequest method. // req, resp := client.ListAssociatedFleetsRequest(params) @@ -1087,7 +1747,7 @@ func (c *AppStream) ListAssociatedFleetsRequest(input *ListAssociatedFleetsInput // ListAssociatedFleets API operation for Amazon AppStream. // -// Lists all fleets associated with the stack. +// Lists the fleets associated with the specified stack. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1121,19 +1781,18 @@ const opListAssociatedStacks = "ListAssociatedStacks" // ListAssociatedStacksRequest generates a "aws/request.Request" representing the // client's request for the ListAssociatedStacks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAssociatedStacks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAssociatedStacks method directly -// instead. +// See ListAssociatedStacks for more information on using the ListAssociatedStacks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAssociatedStacksRequest method. // req, resp := client.ListAssociatedStacksRequest(params) @@ -1162,7 +1821,7 @@ func (c *AppStream) ListAssociatedStacksRequest(input *ListAssociatedStacksInput // ListAssociatedStacks API operation for Amazon AppStream. // -// Lists all stacks to which the specified fleet is associated. +// Lists the stacks associated with the specified fleet. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1196,19 +1855,18 @@ const opStartFleet = "StartFleet" // StartFleetRequest generates a "aws/request.Request" representing the // client's request for the StartFleet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartFleet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartFleet method directly -// instead. +// See StartFleet for more information on using the StartFleet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartFleetRequest method. // req, resp := client.StartFleetRequest(params) @@ -1237,7 +1895,7 @@ func (c *AppStream) StartFleetRequest(input *StartFleetInput) (req *request.Requ // StartFleet API operation for Amazon AppStream. // -// Starts a fleet. +// Starts the specified fleet. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1281,23 +1939,105 @@ func (c *AppStream) StartFleetWithContext(ctx aws.Context, input *StartFleetInpu return out, req.Send() } +const opStartImageBuilder = "StartImageBuilder" + +// StartImageBuilderRequest generates a "aws/request.Request" representing the +// client's request for the StartImageBuilder operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartImageBuilder for more information on using the StartImageBuilder +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StartImageBuilderRequest method. +// req, resp := client.StartImageBuilderRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StartImageBuilder +func (c *AppStream) StartImageBuilderRequest(input *StartImageBuilderInput) (req *request.Request, output *StartImageBuilderOutput) { + op := &request.Operation{ + Name: opStartImageBuilder, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartImageBuilderInput{} + } + + output = &StartImageBuilderOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartImageBuilder API operation for Amazon AppStream. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppStream's +// API operation StartImageBuilder for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotAvailableException "ResourceNotAvailableException" +// The specified resource exists and is not in use, but isn't available. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource was not found. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// An API error occurred. Wait a few minutes and try again. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StartImageBuilder +func (c *AppStream) StartImageBuilder(input *StartImageBuilderInput) (*StartImageBuilderOutput, error) { + req, out := c.StartImageBuilderRequest(input) + return out, req.Send() +} + +// StartImageBuilderWithContext is the same as StartImageBuilder with the addition of +// the ability to pass a context and additional request options. +// +// See StartImageBuilder for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppStream) StartImageBuilderWithContext(ctx aws.Context, input *StartImageBuilderInput, opts ...request.Option) (*StartImageBuilderOutput, error) { + req, out := c.StartImageBuilderRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opStopFleet = "StopFleet" // StopFleetRequest generates a "aws/request.Request" representing the // client's request for the StopFleet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StopFleet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StopFleet method directly -// instead. +// See StopFleet for more information on using the StopFleet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StopFleetRequest method. // req, resp := client.StopFleetRequest(params) @@ -1326,7 +2066,7 @@ func (c *AppStream) StopFleetRequest(input *StopFleetInput) (req *request.Reques // StopFleet API operation for Amazon AppStream. // -// Stops a fleet. +// Stops the specified fleet. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1364,23 +2104,190 @@ func (c *AppStream) StopFleetWithContext(ctx aws.Context, input *StopFleetInput, return out, req.Send() } +const opStopImageBuilder = "StopImageBuilder" + +// StopImageBuilderRequest generates a "aws/request.Request" representing the +// client's request for the StopImageBuilder operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StopImageBuilder for more information on using the StopImageBuilder +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StopImageBuilderRequest method. +// req, resp := client.StopImageBuilderRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StopImageBuilder +func (c *AppStream) StopImageBuilderRequest(input *StopImageBuilderInput) (req *request.Request, output *StopImageBuilderOutput) { + op := &request.Operation{ + Name: opStopImageBuilder, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopImageBuilderInput{} + } + + output = &StopImageBuilderOutput{} + req = c.newRequest(op, input, output) + return +} + +// StopImageBuilder API operation for Amazon AppStream. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppStream's +// API operation StopImageBuilder for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource was not found. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The attempted operation is not permitted. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// An API error occurred. Wait a few minutes and try again. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StopImageBuilder +func (c *AppStream) StopImageBuilder(input *StopImageBuilderInput) (*StopImageBuilderOutput, error) { + req, out := c.StopImageBuilderRequest(input) + return out, req.Send() +} + +// StopImageBuilderWithContext is the same as StopImageBuilder with the addition of +// the ability to pass a context and additional request options. +// +// See StopImageBuilder for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppStream) StopImageBuilderWithContext(ctx aws.Context, input *StopImageBuilderInput, opts ...request.Option) (*StopImageBuilderOutput, error) { + req, out := c.StopImageBuilderRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDirectoryConfig = "UpdateDirectoryConfig" + +// UpdateDirectoryConfigRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDirectoryConfig operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateDirectoryConfig for more information on using the UpdateDirectoryConfig +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateDirectoryConfigRequest method. +// req, resp := client.UpdateDirectoryConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateDirectoryConfig +func (c *AppStream) UpdateDirectoryConfigRequest(input *UpdateDirectoryConfigInput) (req *request.Request, output *UpdateDirectoryConfigOutput) { + op := &request.Operation{ + Name: opUpdateDirectoryConfig, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateDirectoryConfigInput{} + } + + output = &UpdateDirectoryConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDirectoryConfig API operation for Amazon AppStream. +// +// Updates the specified directory configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppStream's +// API operation UpdateDirectoryConfig for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceInUseException "ResourceInUseException" +// The specified resource is in use. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource was not found. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// An API error occurred. Wait a few minutes and try again. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateDirectoryConfig +func (c *AppStream) UpdateDirectoryConfig(input *UpdateDirectoryConfigInput) (*UpdateDirectoryConfigOutput, error) { + req, out := c.UpdateDirectoryConfigRequest(input) + return out, req.Send() +} + +// UpdateDirectoryConfigWithContext is the same as UpdateDirectoryConfig with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDirectoryConfig for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppStream) UpdateDirectoryConfigWithContext(ctx aws.Context, input *UpdateDirectoryConfigInput, opts ...request.Option) (*UpdateDirectoryConfigOutput, error) { + req, out := c.UpdateDirectoryConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateFleet = "UpdateFleet" // UpdateFleetRequest generates a "aws/request.Request" representing the // client's request for the UpdateFleet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateFleet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateFleet method directly -// instead. +// See UpdateFleet for more information on using the UpdateFleet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateFleetRequest method. // req, resp := client.UpdateFleetRequest(params) @@ -1409,10 +2316,12 @@ func (c *AppStream) UpdateFleetRequest(input *UpdateFleetInput) (req *request.Re // UpdateFleet API operation for Amazon AppStream. // -// Updates an existing fleet. All the attributes except the fleet name can be -// updated in the STOPPED state. When a fleet is in the RUNNING state, only -// DisplayName and ComputeCapacity can be updated. A fleet cannot be updated -// in a status of STARTING or STOPPING. +// Updates the specified fleet. +// +// If the fleet is in the STOPPED state, you can update any attribute except +// the fleet name. If the fleet is in the RUNNING state, you can update the +// DisplayName and ComputeCapacity attributes. If the fleet is in the STARTING +// or STOPPING state, you can't update it. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1446,6 +2355,9 @@ func (c *AppStream) UpdateFleetRequest(input *UpdateFleetInput) (req *request.Re // * ErrCodeIncompatibleImageException "IncompatibleImageException" // The image does not support storage connectors. // +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The attempted operation is not permitted. +// // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateFleet func (c *AppStream) UpdateFleet(input *UpdateFleetInput) (*UpdateFleetOutput, error) { req, out := c.UpdateFleetRequest(input) @@ -1472,19 +2384,18 @@ const opUpdateStack = "UpdateStack" // UpdateStackRequest generates a "aws/request.Request" representing the // client's request for the UpdateStack operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateStack for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateStack method directly -// instead. +// See UpdateStack for more information on using the UpdateStack +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateStackRequest method. // req, resp := client.UpdateStackRequest(params) @@ -1513,7 +2424,7 @@ func (c *AppStream) UpdateStackRequest(input *UpdateStackInput) (req *request.Re // UpdateStack API operation for Amazon AppStream. // -// Updates the specified fields in the stack with the specified name. +// Updates the specified stack. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1563,21 +2474,21 @@ func (c *AppStream) UpdateStackWithContext(ctx aws.Context, input *UpdateStackIn return out, req.Send() } -// An entry for a single application in the application catalog. +// Describes an application in the application catalog. // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/Application type Application struct { _ struct{} `type:"structure"` - // The name of the application shown to the end users. + // The application name displayed to end users. DisplayName *string `min:"1" type:"string"` - // An application can be disabled after image creation if there is a problem. + // If there is a problem, the application can be disabled after image creation. Enabled *bool `type:"boolean"` - // The URL for the application icon. This URL may be time-limited. + // The URL for the application icon. This URL might be time-limited. IconURL *string `min:"1" type:"string"` - // A list of arguments that are passed to the application at launch. + // The arguments that are passed to the application at launch. LaunchParameters *string `min:"1" type:"string"` // The path to the application executable in the instance. @@ -1586,7 +2497,7 @@ type Application struct { // Additional attributes that describe the application. Metadata map[string]*string `type:"map"` - // The unique identifier for the application. + // The name of the application. Name *string `min:"1" type:"string"` } @@ -1646,12 +2557,12 @@ func (s *Application) SetName(v string) *Application { type AssociateFleetInput struct { _ struct{} `type:"structure"` - // The name of the fleet to associate. + // The name of the fleet. // // FleetName is a required field FleetName *string `min:"1" type:"string" required:"true"` - // The name of the stack to which the fleet is associated. + // The name of the stack. // // StackName is a required field StackName *string `min:"1" type:"string" required:"true"` @@ -1716,7 +2627,7 @@ func (s AssociateFleetOutput) GoString() string { return s.String() } -// The capacity configuration for the fleet. +// Describes the capacity for a fleet. // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ComputeCapacity type ComputeCapacity struct { _ struct{} `type:"structure"` @@ -1756,7 +2667,7 @@ func (s *ComputeCapacity) SetDesiredInstances(v int64) *ComputeCapacity { return s } -// The capacity information for the fleet. +// Describes the capacity status for a fleet. // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ComputeCapacityStatus type ComputeCapacityStatus struct { _ struct{} `type:"structure"` @@ -1769,7 +2680,7 @@ type ComputeCapacityStatus struct { // Desired is a required field Desired *int64 `type:"integer" required:"true"` - // The number of instances that are being used for streaming. + // The number of instances in use for streaming. InUse *int64 `type:"integer"` // The total number of simultaneous streaming instances that are running. @@ -1810,47 +2721,188 @@ func (s *ComputeCapacityStatus) SetRunning(v int64) *ComputeCapacityStatus { return s } -// Contains the parameters for the new fleet to create. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateDirectoryConfigRequest +type CreateDirectoryConfigInput struct { + _ struct{} `type:"structure"` + + // The fully qualified name of the directory (for example, corp.example.com). + // + // DirectoryName is a required field + DirectoryName *string `type:"string" required:"true"` + + // The distinguished names of the organizational units for computer accounts. + // + // OrganizationalUnitDistinguishedNames is a required field + OrganizationalUnitDistinguishedNames []*string `type:"list" required:"true"` + + // The credentials for the service account used by the streaming instance to + // connect to the directory. + // + // ServiceAccountCredentials is a required field + ServiceAccountCredentials *ServiceAccountCredentials `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateDirectoryConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDirectoryConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDirectoryConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDirectoryConfigInput"} + if s.DirectoryName == nil { + invalidParams.Add(request.NewErrParamRequired("DirectoryName")) + } + if s.OrganizationalUnitDistinguishedNames == nil { + invalidParams.Add(request.NewErrParamRequired("OrganizationalUnitDistinguishedNames")) + } + if s.ServiceAccountCredentials == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceAccountCredentials")) + } + if s.ServiceAccountCredentials != nil { + if err := s.ServiceAccountCredentials.Validate(); err != nil { + invalidParams.AddNested("ServiceAccountCredentials", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDirectoryName sets the DirectoryName field's value. +func (s *CreateDirectoryConfigInput) SetDirectoryName(v string) *CreateDirectoryConfigInput { + s.DirectoryName = &v + return s +} + +// SetOrganizationalUnitDistinguishedNames sets the OrganizationalUnitDistinguishedNames field's value. +func (s *CreateDirectoryConfigInput) SetOrganizationalUnitDistinguishedNames(v []*string) *CreateDirectoryConfigInput { + s.OrganizationalUnitDistinguishedNames = v + return s +} + +// SetServiceAccountCredentials sets the ServiceAccountCredentials field's value. +func (s *CreateDirectoryConfigInput) SetServiceAccountCredentials(v *ServiceAccountCredentials) *CreateDirectoryConfigInput { + s.ServiceAccountCredentials = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateDirectoryConfigResult +type CreateDirectoryConfigOutput struct { + _ struct{} `type:"structure"` + + // Information about the directory configuration. + DirectoryConfig *DirectoryConfig `type:"structure"` +} + +// String returns the string representation +func (s CreateDirectoryConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDirectoryConfigOutput) GoString() string { + return s.String() +} + +// SetDirectoryConfig sets the DirectoryConfig field's value. +func (s *CreateDirectoryConfigOutput) SetDirectoryConfig(v *DirectoryConfig) *CreateDirectoryConfigOutput { + s.DirectoryConfig = v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateFleetRequest type CreateFleetInput struct { _ struct{} `type:"structure"` - // The parameters for the capacity allocated to the fleet. + // The desired capacity for the fleet. // // ComputeCapacity is a required field ComputeCapacity *ComputeCapacity `type:"structure" required:"true"` - // The description of the fleet. + // The description displayed to end users. Description *string `type:"string"` - // The time after disconnection when a session is considered to have ended. - // If a user who got disconnected reconnects within this timeout interval, the - // user is connected back to their previous session. The input can be any numeric - // value in seconds between 60 and 57600. + // The time after disconnection when a session is considered to have ended, + // in seconds. If a user who was disconnected reconnects within this time interval, + // the user is connected to their previous session. Specify a value between + // 60 and 57600. DisconnectTimeoutInSeconds *int64 `type:"integer"` - // The display name of the fleet. + // The fleet name displayed to end users. DisplayName *string `type:"string"` - // Enables or disables default Internet access for the fleet. + // The information needed for streaming instances to join a domain. + DomainJoinInfo *DomainJoinInfo `type:"structure"` + + // Enables or disables default internet access for the fleet. EnableDefaultInternetAccess *bool `type:"boolean"` - // Unique name of the image used by the fleet. + FleetType *string `type:"string" enum:"FleetType"` + + // The name of the image used by the fleet. // // ImageName is a required field ImageName *string `min:"1" type:"string" required:"true"` - // The instance type of compute resources for the fleet. Fleet instances are - // launched from this instance type. + // The instance type to use when launching fleet instances. The following instance + // types are available: + // + // * stream.standard.medium + // + // * stream.standard.large + // + // * stream.compute.large + // + // * stream.compute.xlarge + // + // * stream.compute.2xlarge + // + // * stream.compute.4xlarge + // + // * stream.compute.8xlarge + // + // * stream.memory.large + // + // * stream.memory.xlarge + // + // * stream.memory.2xlarge + // + // * stream.memory.4xlarge + // + // * stream.memory.8xlarge + // + // * stream.graphics-design.large + // + // * stream.graphics-design.xlarge + // + // * stream.graphics-design.2xlarge + // + // * stream.graphics-design.4xlarge + // + // * stream.graphics-desktop.2xlarge + // + // * stream.graphics-pro.4xlarge + // + // * stream.graphics-pro.8xlarge + // + // * stream.graphics-pro.16xlarge // // InstanceType is a required field InstanceType *string `min:"1" type:"string" required:"true"` - // The maximum time for which a streaming session can run. The input can be - // any numeric value in seconds between 600 and 57600. + // The maximum time that a streaming session can run, in seconds. Specify a + // value between 600 and 57600. MaxUserDurationInSeconds *int64 `type:"integer"` - // A unique identifier for the fleet. + // A unique name for the fleet. // // Name is a required field Name *string `type:"string" required:"true"` @@ -1926,12 +2978,24 @@ func (s *CreateFleetInput) SetDisplayName(v string) *CreateFleetInput { return s } +// SetDomainJoinInfo sets the DomainJoinInfo field's value. +func (s *CreateFleetInput) SetDomainJoinInfo(v *DomainJoinInfo) *CreateFleetInput { + s.DomainJoinInfo = v + return s +} + // SetEnableDefaultInternetAccess sets the EnableDefaultInternetAccess field's value. func (s *CreateFleetInput) SetEnableDefaultInternetAccess(v bool) *CreateFleetInput { s.EnableDefaultInternetAccess = &v return s } +// SetFleetType sets the FleetType field's value. +func (s *CreateFleetInput) SetFleetType(v string) *CreateFleetInput { + s.FleetType = &v + return s +} + // SetImageName sets the ImageName field's value. func (s *CreateFleetInput) SetImageName(v string) *CreateFleetInput { s.ImageName = &v @@ -1966,7 +3030,7 @@ func (s *CreateFleetInput) SetVpcConfig(v *VpcConfig) *CreateFleetInput { type CreateFleetOutput struct { _ struct{} `type:"structure"` - // The details for the created fleet. + // Information about the fleet. Fleet *Fleet `type:"structure"` } @@ -1986,22 +3050,233 @@ func (s *CreateFleetOutput) SetFleet(v *Fleet) *CreateFleetOutput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateImageBuilderRequest +type CreateImageBuilderInput struct { + _ struct{} `type:"structure"` + + Description *string `type:"string"` + + DisplayName *string `type:"string"` + + // Contains the information needed for streaming instances to join a domain. + DomainJoinInfo *DomainJoinInfo `type:"structure"` + + EnableDefaultInternetAccess *bool `type:"boolean"` + + // ImageName is a required field + ImageName *string `min:"1" type:"string" required:"true"` + + // InstanceType is a required field + InstanceType *string `min:"1" type:"string" required:"true"` + + // Name is a required field + Name *string `type:"string" required:"true"` + + // Describes VPC configuration information. + VpcConfig *VpcConfig `type:"structure"` +} + +// String returns the string representation +func (s CreateImageBuilderInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateImageBuilderInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateImageBuilderInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateImageBuilderInput"} + if s.ImageName == nil { + invalidParams.Add(request.NewErrParamRequired("ImageName")) + } + if s.ImageName != nil && len(*s.ImageName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ImageName", 1)) + } + if s.InstanceType == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceType")) + } + if s.InstanceType != nil && len(*s.InstanceType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateImageBuilderInput) SetDescription(v string) *CreateImageBuilderInput { + s.Description = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *CreateImageBuilderInput) SetDisplayName(v string) *CreateImageBuilderInput { + s.DisplayName = &v + return s +} + +// SetDomainJoinInfo sets the DomainJoinInfo field's value. +func (s *CreateImageBuilderInput) SetDomainJoinInfo(v *DomainJoinInfo) *CreateImageBuilderInput { + s.DomainJoinInfo = v + return s +} + +// SetEnableDefaultInternetAccess sets the EnableDefaultInternetAccess field's value. +func (s *CreateImageBuilderInput) SetEnableDefaultInternetAccess(v bool) *CreateImageBuilderInput { + s.EnableDefaultInternetAccess = &v + return s +} + +// SetImageName sets the ImageName field's value. +func (s *CreateImageBuilderInput) SetImageName(v string) *CreateImageBuilderInput { + s.ImageName = &v + return s +} + +// SetInstanceType sets the InstanceType field's value. +func (s *CreateImageBuilderInput) SetInstanceType(v string) *CreateImageBuilderInput { + s.InstanceType = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateImageBuilderInput) SetName(v string) *CreateImageBuilderInput { + s.Name = &v + return s +} + +// SetVpcConfig sets the VpcConfig field's value. +func (s *CreateImageBuilderInput) SetVpcConfig(v *VpcConfig) *CreateImageBuilderInput { + s.VpcConfig = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateImageBuilderResult +type CreateImageBuilderOutput struct { + _ struct{} `type:"structure"` + + ImageBuilder *ImageBuilder `type:"structure"` +} + +// String returns the string representation +func (s CreateImageBuilderOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateImageBuilderOutput) GoString() string { + return s.String() +} + +// SetImageBuilder sets the ImageBuilder field's value. +func (s *CreateImageBuilderOutput) SetImageBuilder(v *ImageBuilder) *CreateImageBuilderOutput { + s.ImageBuilder = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateImageBuilderStreamingURLRequest +type CreateImageBuilderStreamingURLInput struct { + _ struct{} `type:"structure"` + + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + Validity *int64 `type:"long"` +} + +// String returns the string representation +func (s CreateImageBuilderStreamingURLInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateImageBuilderStreamingURLInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateImageBuilderStreamingURLInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateImageBuilderStreamingURLInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *CreateImageBuilderStreamingURLInput) SetName(v string) *CreateImageBuilderStreamingURLInput { + s.Name = &v + return s +} + +// SetValidity sets the Validity field's value. +func (s *CreateImageBuilderStreamingURLInput) SetValidity(v int64) *CreateImageBuilderStreamingURLInput { + s.Validity = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateImageBuilderStreamingURLResult +type CreateImageBuilderStreamingURLOutput struct { + _ struct{} `type:"structure"` + + Expires *time.Time `type:"timestamp" timestampFormat:"unix"` + + StreamingURL *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateImageBuilderStreamingURLOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateImageBuilderStreamingURLOutput) GoString() string { + return s.String() +} + +// SetExpires sets the Expires field's value. +func (s *CreateImageBuilderStreamingURLOutput) SetExpires(v time.Time) *CreateImageBuilderStreamingURLOutput { + s.Expires = &v + return s +} + +// SetStreamingURL sets the StreamingURL field's value. +func (s *CreateImageBuilderStreamingURLOutput) SetStreamingURL(v string) *CreateImageBuilderStreamingURLOutput { + s.StreamingURL = &v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateStackRequest type CreateStackInput struct { _ struct{} `type:"structure"` - // The description displayed to end users on the AppStream 2.0 portal. + // The description displayed to end users. Description *string `type:"string"` - // The name displayed to end users on the AppStream 2.0 portal. + // The stack name displayed to end users. DisplayName *string `type:"string"` - // The unique identifier for this stack. + // The name of the stack. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` - // The storage connectors to be enabled for the stack. + // The storage connectors to enable. StorageConnectors []*StorageConnector `type:"list"` } @@ -2069,7 +3344,7 @@ func (s *CreateStackInput) SetStorageConnectors(v []*StorageConnector) *CreateSt type CreateStackOutput struct { _ struct{} `type:"structure"` - // The details for the created stack. + // Information about the stack. Stack *Stack `type:"structure"` } @@ -2096,26 +3371,26 @@ type CreateStreamingURLInput struct { // The ID of the application that must be launched after the session starts. ApplicationId *string `min:"1" type:"string"` - // The fleet for which the URL is generated. + // The name of the fleet. // // FleetName is a required field FleetName *string `min:"1" type:"string" required:"true"` - // The sessionContext of the streaming URL. + // The session context of the streaming URL. SessionContext *string `min:"1" type:"string"` - // The stack for which the URL is generated. + // The name of the stack. // // StackName is a required field StackName *string `min:"1" type:"string" required:"true"` - // A unique user ID for whom the URL is generated. + // The ID of the user. // // UserId is a required field UserId *string `min:"2" type:"string" required:"true"` - // The duration up to which the URL returned by this action is valid. The input - // can be any numeric value in seconds between 1 and 604800 seconds. + // The time that the streaming URL will be valid, in seconds. Specify a value + // between 1 and 604800 seconds. Validity *int64 `type:"long"` } @@ -2203,7 +3478,7 @@ func (s *CreateStreamingURLInput) SetValidity(v int64) *CreateStreamingURLInput type CreateStreamingURLOutput struct { _ struct{} `type:"structure"` - // Elapsed seconds after the Unix epoch, at which time this URL expires. + // The elapsed time, in seconds after the Unix epoch, when this URL expires. Expires *time.Time `type:"timestamp" timestampFormat:"unix"` // The URL to start the AppStream 2.0 streaming session. @@ -2232,11 +3507,65 @@ func (s *CreateStreamingURLOutput) SetStreamingURL(v string) *CreateStreamingURL return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteDirectoryConfigRequest +type DeleteDirectoryConfigInput struct { + _ struct{} `type:"structure"` + + // The name of the directory configuration. + // + // DirectoryName is a required field + DirectoryName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDirectoryConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDirectoryConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDirectoryConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDirectoryConfigInput"} + if s.DirectoryName == nil { + invalidParams.Add(request.NewErrParamRequired("DirectoryName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDirectoryName sets the DirectoryName field's value. +func (s *DeleteDirectoryConfigInput) SetDirectoryName(v string) *DeleteDirectoryConfigInput { + s.DirectoryName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteDirectoryConfigResult +type DeleteDirectoryConfigOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDirectoryConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDirectoryConfigOutput) GoString() string { + return s.String() +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteFleetRequest type DeleteFleetInput struct { _ struct{} `type:"structure"` - // The name of the fleet to be deleted. + // The name of the fleet. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -2289,11 +3618,132 @@ func (s DeleteFleetOutput) GoString() string { return s.String() } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImageBuilderRequest +type DeleteImageBuilderInput struct { + _ struct{} `type:"structure"` + + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteImageBuilderInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteImageBuilderInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteImageBuilderInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteImageBuilderInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DeleteImageBuilderInput) SetName(v string) *DeleteImageBuilderInput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImageBuilderResult +type DeleteImageBuilderOutput struct { + _ struct{} `type:"structure"` + + ImageBuilder *ImageBuilder `type:"structure"` +} + +// String returns the string representation +func (s DeleteImageBuilderOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteImageBuilderOutput) GoString() string { + return s.String() +} + +// SetImageBuilder sets the ImageBuilder field's value. +func (s *DeleteImageBuilderOutput) SetImageBuilder(v *ImageBuilder) *DeleteImageBuilderOutput { + s.ImageBuilder = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImageRequest +type DeleteImageInput struct { + _ struct{} `type:"structure"` + + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteImageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteImageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteImageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteImageInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DeleteImageInput) SetName(v string) *DeleteImageInput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImageResult +type DeleteImageOutput struct { + _ struct{} `type:"structure"` + + // Describes an image. + Image *Image `type:"structure"` +} + +// String returns the string representation +func (s DeleteImageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteImageOutput) GoString() string { + return s.String() +} + +// SetImage sets the Image field's value. +func (s *DeleteImageOutput) SetImage(v *Image) *DeleteImageOutput { + s.Image = v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteStackRequest type DeleteStackInput struct { _ struct{} `type:"structure"` - // The name of the stack to delete. + // The name of the stack. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -2346,12 +3796,101 @@ func (s DeleteStackOutput) GoString() string { return s.String() } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeDirectoryConfigsRequest +type DescribeDirectoryConfigsInput struct { + _ struct{} `type:"structure"` + + // The directory names. + DirectoryNames []*string `type:"list"` + + // The maximum size of each page of results. + MaxResults *int64 `type:"integer"` + + // The pagination token to use to retrieve the next page of results for this + // operation. If this value is null, it retrieves the first page. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeDirectoryConfigsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDirectoryConfigsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDirectoryConfigsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDirectoryConfigsInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDirectoryNames sets the DirectoryNames field's value. +func (s *DescribeDirectoryConfigsInput) SetDirectoryNames(v []*string) *DescribeDirectoryConfigsInput { + s.DirectoryNames = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeDirectoryConfigsInput) SetMaxResults(v int64) *DescribeDirectoryConfigsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeDirectoryConfigsInput) SetNextToken(v string) *DescribeDirectoryConfigsInput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeDirectoryConfigsResult +type DescribeDirectoryConfigsOutput struct { + _ struct{} `type:"structure"` + + // Information about the directory configurations. + DirectoryConfigs []*DirectoryConfig `type:"list"` + + // The pagination token to use to retrieve the next page of results for this + // operation. If there are no more pages, this value is null. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeDirectoryConfigsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDirectoryConfigsOutput) GoString() string { + return s.String() +} + +// SetDirectoryConfigs sets the DirectoryConfigs field's value. +func (s *DescribeDirectoryConfigsOutput) SetDirectoryConfigs(v []*DirectoryConfig) *DescribeDirectoryConfigsOutput { + s.DirectoryConfigs = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeDirectoryConfigsOutput) SetNextToken(v string) *DescribeDirectoryConfigsOutput { + s.NextToken = &v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeFleetsRequest type DescribeFleetsInput struct { _ struct{} `type:"structure"` - // The fleet names to describe. Use null to describe all the fleets for the - // AWS account. + // The names of the fleets to describe. Names []*string `type:"list"` // The pagination token to use to retrieve the next page of results for this @@ -2398,7 +3937,7 @@ func (s *DescribeFleetsInput) SetNextToken(v string) *DescribeFleetsInput { type DescribeFleetsOutput struct { _ struct{} `type:"structure"` - // The list of fleet details. + // Information about the fleets. Fleets []*Fleet `type:"list"` // The pagination token to use to retrieve the next page of results for this @@ -2428,11 +3967,94 @@ func (s *DescribeFleetsOutput) SetNextToken(v string) *DescribeFleetsOutput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImageBuildersRequest +type DescribeImageBuildersInput struct { + _ struct{} `type:"structure"` + + MaxResults *int64 `type:"integer"` + + Names []*string `type:"list"` + + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeImageBuildersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeImageBuildersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeImageBuildersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeImageBuildersInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeImageBuildersInput) SetMaxResults(v int64) *DescribeImageBuildersInput { + s.MaxResults = &v + return s +} + +// SetNames sets the Names field's value. +func (s *DescribeImageBuildersInput) SetNames(v []*string) *DescribeImageBuildersInput { + s.Names = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeImageBuildersInput) SetNextToken(v string) *DescribeImageBuildersInput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImageBuildersResult +type DescribeImageBuildersOutput struct { + _ struct{} `type:"structure"` + + ImageBuilders []*ImageBuilder `type:"list"` + + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeImageBuildersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeImageBuildersOutput) GoString() string { + return s.String() +} + +// SetImageBuilders sets the ImageBuilders field's value. +func (s *DescribeImageBuildersOutput) SetImageBuilders(v []*ImageBuilder) *DescribeImageBuildersOutput { + s.ImageBuilders = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeImageBuildersOutput) SetNextToken(v string) *DescribeImageBuildersOutput { + s.NextToken = &v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImagesRequest type DescribeImagesInput struct { _ struct{} `type:"structure"` - // A specific list of images to describe. + // The names of the images to describe. Names []*string `type:"list"` } @@ -2456,7 +4078,7 @@ func (s *DescribeImagesInput) SetNames(v []*string) *DescribeImagesInput { type DescribeImagesOutput struct { _ struct{} `type:"structure"` - // The list of images. + // Information about the images. Images []*Image `type:"list"` } @@ -2480,32 +4102,30 @@ func (s *DescribeImagesOutput) SetImages(v []*Image) *DescribeImagesOutput { type DescribeSessionsInput struct { _ struct{} `type:"structure"` - // The authentication method of the user. It can be API for a user authenticated - // using a streaming URL, or SAML for a SAML federated user. If an authentication - // type is not provided, the operation defaults to users authenticated using - // a streaming URL. + // The authentication method. Specify API for a user authenticated using a streaming + // URL or SAML for a SAML federated user. The default is to authenticate users + // using a streaming URL. AuthenticationType *string `type:"string" enum:"AuthenticationType"` - // The name of the fleet for which to list sessions. + // The name of the fleet. // // FleetName is a required field FleetName *string `min:"1" type:"string" required:"true"` // The size of each page of results. The default value is 20 and the maximum - // supported value is 50. + // value is 50. Limit *int64 `type:"integer"` // The pagination token to use to retrieve the next page of results for this // operation. If this value is null, it retrieves the first page. NextToken *string `min:"1" type:"string"` - // The name of the stack for which to list sessions. + // The name of the stack. // // StackName is a required field StackName *string `min:"1" type:"string" required:"true"` - // The user for whom to list sessions. Use null to describe all the sessions - // for the stack and fleet. + // The user ID. UserId *string `min:"2" type:"string"` } @@ -2591,7 +4211,7 @@ type DescribeSessionsOutput struct { // operation. If there are no more pages, this value is null. NextToken *string `min:"1" type:"string"` - // The list of streaming sessions. + // Information about the streaming sessions. Sessions []*Session `type:"list"` } @@ -2621,8 +4241,7 @@ func (s *DescribeSessionsOutput) SetSessions(v []*Session) *DescribeSessionsOutp type DescribeStacksInput struct { _ struct{} `type:"structure"` - // The stack names to describe. Use null to describe all the stacks for the - // AWS account. + // The names of the stacks to describe. Names []*string `type:"list"` // The pagination token to use to retrieve the next page of results for this @@ -2673,7 +4292,7 @@ type DescribeStacksOutput struct { // operation. If there are no more pages, this value is null. NextToken *string `min:"1" type:"string"` - // The list of stack details. + // Information about the stacks. Stacks []*Stack `type:"list"` } @@ -2699,16 +4318,71 @@ func (s *DescribeStacksOutput) SetStacks(v []*Stack) *DescribeStacksOutput { return s } +// Configuration information for the directory used to join domains. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DirectoryConfig +type DirectoryConfig struct { + _ struct{} `type:"structure"` + + // The time the directory configuration was created. + CreatedTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The fully qualified name of the directory (for example, corp.example.com). + // + // DirectoryName is a required field + DirectoryName *string `type:"string" required:"true"` + + // The distinguished names of the organizational units for computer accounts. + OrganizationalUnitDistinguishedNames []*string `type:"list"` + + // The credentials for the service account used by the streaming instance to + // connect to the directory. + ServiceAccountCredentials *ServiceAccountCredentials `type:"structure"` +} + +// String returns the string representation +func (s DirectoryConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DirectoryConfig) GoString() string { + return s.String() +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *DirectoryConfig) SetCreatedTime(v time.Time) *DirectoryConfig { + s.CreatedTime = &v + return s +} + +// SetDirectoryName sets the DirectoryName field's value. +func (s *DirectoryConfig) SetDirectoryName(v string) *DirectoryConfig { + s.DirectoryName = &v + return s +} + +// SetOrganizationalUnitDistinguishedNames sets the OrganizationalUnitDistinguishedNames field's value. +func (s *DirectoryConfig) SetOrganizationalUnitDistinguishedNames(v []*string) *DirectoryConfig { + s.OrganizationalUnitDistinguishedNames = v + return s +} + +// SetServiceAccountCredentials sets the ServiceAccountCredentials field's value. +func (s *DirectoryConfig) SetServiceAccountCredentials(v *ServiceAccountCredentials) *DirectoryConfig { + s.ServiceAccountCredentials = v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DisassociateFleetRequest type DisassociateFleetInput struct { _ struct{} `type:"structure"` - // The name of the fleet to disassociate. + // The name of the fleet. // // FleetName is a required field FleetName *string `min:"1" type:"string" required:"true"` - // The name of the stack with which the fleet is associated. + // The name of the stack. // // StackName is a required field StackName *string `min:"1" type:"string" required:"true"` @@ -2773,11 +4447,45 @@ func (s DisassociateFleetOutput) GoString() string { return s.String() } +// Contains the information needed for streaming instances to join a domain. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DomainJoinInfo +type DomainJoinInfo struct { + _ struct{} `type:"structure"` + + // The fully qualified name of the directory (for example, corp.example.com). + DirectoryName *string `type:"string"` + + // The distinguished name of the organizational unit for computer accounts. + OrganizationalUnitDistinguishedName *string `type:"string"` +} + +// String returns the string representation +func (s DomainJoinInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DomainJoinInfo) GoString() string { + return s.String() +} + +// SetDirectoryName sets the DirectoryName field's value. +func (s *DomainJoinInfo) SetDirectoryName(v string) *DomainJoinInfo { + s.DirectoryName = &v + return s +} + +// SetOrganizationalUnitDistinguishedName sets the OrganizationalUnitDistinguishedName field's value. +func (s *DomainJoinInfo) SetOrganizationalUnitDistinguishedName(v string) *DomainJoinInfo { + s.OrganizationalUnitDistinguishedName = &v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ExpireSessionRequest type ExpireSessionInput struct { _ struct{} `type:"structure"` - // The unique identifier of the streaming session to be stopped. + // The ID of the streaming session. // // SessionId is a required field SessionId *string `min:"1" type:"string" required:"true"` @@ -2840,45 +4548,49 @@ type Fleet struct { // Arn is a required field Arn *string `type:"string" required:"true"` - // The capacity information for the fleet. + // The capacity status for the fleet. // // ComputeCapacityStatus is a required field ComputeCapacityStatus *ComputeCapacityStatus `type:"structure" required:"true"` - // The time at which the fleet was created. + // The time the fleet was created. CreatedTime *time.Time `type:"timestamp" timestampFormat:"unix"` - // The description displayed to end users on the AppStream 2.0 portal. + // The description displayed to end users. Description *string `min:"1" type:"string"` - // The time after disconnection when a session is considered to have ended. - // If a user who got disconnected reconnects within this timeout interval, the - // user is connected back to their previous session. The input can be any numeric - // value in seconds between 60 and 57600. + // The time after disconnection when a session is considered to have ended, + // in seconds. If a user who was disconnected reconnects within this time interval, + // the user is connected to their previous session. Specify a value between + // 60 and 57600. DisconnectTimeoutInSeconds *int64 `type:"integer"` - // The name displayed to end users on the AppStream 2.0 portal. + // The fleet name displayed to end users. DisplayName *string `min:"1" type:"string"` - // Whether default Internet access is enabled for the fleet. + // The information needed for streaming instances to join a domain. + DomainJoinInfo *DomainJoinInfo `type:"structure"` + + // Indicates whether default internet access is enabled for the fleet. EnableDefaultInternetAccess *bool `type:"boolean"` - // The list of fleet errors is appended to this list. + // The fleet errors. FleetErrors []*FleetError `type:"list"` + FleetType *string `type:"string" enum:"FleetType"` + // The image used by the fleet. // // ImageName is a required field ImageName *string `min:"1" type:"string" required:"true"` - // The instance type of compute resources for the fleet. The fleet instances - // are launched from this instance type. + // The instance type to use when launching fleet instances. // // InstanceType is a required field InstanceType *string `min:"1" type:"string" required:"true"` - // The maximum time for which a streaming session can run. The value can be - // any numeric value in seconds between 600 and 57600. + // The maximum time that a streaming session can run, in seconds. Specify a + // value between 600 and 57600. MaxUserDurationInSeconds *int64 `type:"integer"` // The name of the fleet. @@ -2941,6 +4653,12 @@ func (s *Fleet) SetDisplayName(v string) *Fleet { return s } +// SetDomainJoinInfo sets the DomainJoinInfo field's value. +func (s *Fleet) SetDomainJoinInfo(v *DomainJoinInfo) *Fleet { + s.DomainJoinInfo = v + return s +} + // SetEnableDefaultInternetAccess sets the EnableDefaultInternetAccess field's value. func (s *Fleet) SetEnableDefaultInternetAccess(v bool) *Fleet { s.EnableDefaultInternetAccess = &v @@ -2953,6 +4671,12 @@ func (s *Fleet) SetFleetErrors(v []*FleetError) *Fleet { return s } +// SetFleetType sets the FleetType field's value. +func (s *Fleet) SetFleetType(v string) *Fleet { + s.FleetType = &v + return s +} + // SetImageName sets the ImageName field's value. func (s *Fleet) SetImageName(v string) *Fleet { s.ImageName = &v @@ -2989,15 +4713,15 @@ func (s *Fleet) SetVpcConfig(v *VpcConfig) *Fleet { return s } -// The details of the fleet error. +// Describes a fleet error. // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/FleetError type FleetError struct { _ struct{} `type:"structure"` - // The error code for the fleet error. + // The error code. ErrorCode *string `type:"string" enum:"FleetErrorCode"` - // The error message generated when the fleet has errors. + // The error message. ErrorMessage *string `min:"1" type:"string"` } @@ -3023,34 +4747,33 @@ func (s *FleetError) SetErrorMessage(v string) *FleetError { return s } -// New streaming instances are booted from images. The image stores the application -// catalog and is connected to fleets. +// Describes an image. // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/Image type Image struct { _ struct{} `type:"structure"` - // The applications associated with an image. + // The applications associated with the image. Applications []*Application `type:"list"` - // The ARN for the image. + // The ARN of the image. Arn *string `type:"string"` - // The source image ARN from which this image was created. + // The ARN of the image from which this image was created. BaseImageArn *string `type:"string"` - // The timestamp when the image was created. + // The time the image was created. CreatedTime *time.Time `type:"timestamp" timestampFormat:"unix"` - // A meaningful description for the image. + // The description displayed to end users. Description *string `min:"1" type:"string"` - // The display name for the image. + // The image name displayed to end users. DisplayName *string `min:"1" type:"string"` - // Whether an image builder can be launched from this image. + // Indicates whether an image builder can be launched from this image. ImageBuilderSupported *bool `type:"boolean"` - // The unique identifier for the image. + // The name of the image. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -3058,18 +4781,18 @@ type Image struct { // The operating system platform of the image. Platform *string `type:"string" enum:"PlatformType"` - // The AWS release date of the public base image. For private images, this date + // The release date of the public base image. For private images, this date // is the release date of the base image from which the image was created. PublicBaseImageReleasedDate *time.Time `type:"timestamp" timestampFormat:"unix"` - // The image starts in the PENDING state, and then moves to AVAILABLE if image - // creation succeeds and FAILED if image creation has failed. + // The image starts in the PENDING state. If image creation succeeds, the state + // is AVAILABLE. If image creation fails, the state is FAILED. State *string `type:"string" enum:"ImageState"` // The reason why the last state change occurred. StateChangeReason *ImageStateChangeReason `type:"structure"` - // The visibility of an image to the user; images can be public or private. + // Indicates whether the image is public or private. Visibility *string `type:"string" enum:"VisibilityType"` } @@ -3161,15 +4884,176 @@ func (s *Image) SetVisibility(v string) *Image { return s } -// The reason why the last state change occurred. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ImageBuilder +type ImageBuilder struct { + _ struct{} `type:"structure"` + + Arn *string `type:"string"` + + CreatedTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + Description *string `min:"1" type:"string"` + + DisplayName *string `min:"1" type:"string"` + + // Contains the information needed for streaming instances to join a domain. + DomainJoinInfo *DomainJoinInfo `type:"structure"` + + EnableDefaultInternetAccess *bool `type:"boolean"` + + ImageArn *string `type:"string"` + + ImageBuilderErrors []*ResourceError `type:"list"` + + InstanceType *string `min:"1" type:"string"` + + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + Platform *string `type:"string" enum:"PlatformType"` + + State *string `type:"string" enum:"ImageBuilderState"` + + StateChangeReason *ImageBuilderStateChangeReason `type:"structure"` + + // Describes VPC configuration information. + VpcConfig *VpcConfig `type:"structure"` +} + +// String returns the string representation +func (s ImageBuilder) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImageBuilder) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ImageBuilder) SetArn(v string) *ImageBuilder { + s.Arn = &v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *ImageBuilder) SetCreatedTime(v time.Time) *ImageBuilder { + s.CreatedTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ImageBuilder) SetDescription(v string) *ImageBuilder { + s.Description = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *ImageBuilder) SetDisplayName(v string) *ImageBuilder { + s.DisplayName = &v + return s +} + +// SetDomainJoinInfo sets the DomainJoinInfo field's value. +func (s *ImageBuilder) SetDomainJoinInfo(v *DomainJoinInfo) *ImageBuilder { + s.DomainJoinInfo = v + return s +} + +// SetEnableDefaultInternetAccess sets the EnableDefaultInternetAccess field's value. +func (s *ImageBuilder) SetEnableDefaultInternetAccess(v bool) *ImageBuilder { + s.EnableDefaultInternetAccess = &v + return s +} + +// SetImageArn sets the ImageArn field's value. +func (s *ImageBuilder) SetImageArn(v string) *ImageBuilder { + s.ImageArn = &v + return s +} + +// SetImageBuilderErrors sets the ImageBuilderErrors field's value. +func (s *ImageBuilder) SetImageBuilderErrors(v []*ResourceError) *ImageBuilder { + s.ImageBuilderErrors = v + return s +} + +// SetInstanceType sets the InstanceType field's value. +func (s *ImageBuilder) SetInstanceType(v string) *ImageBuilder { + s.InstanceType = &v + return s +} + +// SetName sets the Name field's value. +func (s *ImageBuilder) SetName(v string) *ImageBuilder { + s.Name = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *ImageBuilder) SetPlatform(v string) *ImageBuilder { + s.Platform = &v + return s +} + +// SetState sets the State field's value. +func (s *ImageBuilder) SetState(v string) *ImageBuilder { + s.State = &v + return s +} + +// SetStateChangeReason sets the StateChangeReason field's value. +func (s *ImageBuilder) SetStateChangeReason(v *ImageBuilderStateChangeReason) *ImageBuilder { + s.StateChangeReason = v + return s +} + +// SetVpcConfig sets the VpcConfig field's value. +func (s *ImageBuilder) SetVpcConfig(v *VpcConfig) *ImageBuilder { + s.VpcConfig = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ImageBuilderStateChangeReason +type ImageBuilderStateChangeReason struct { + _ struct{} `type:"structure"` + + Code *string `type:"string" enum:"ImageBuilderStateChangeReasonCode"` + + Message *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ImageBuilderStateChangeReason) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImageBuilderStateChangeReason) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *ImageBuilderStateChangeReason) SetCode(v string) *ImageBuilderStateChangeReason { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *ImageBuilderStateChangeReason) SetMessage(v string) *ImageBuilderStateChangeReason { + s.Message = &v + return s +} + +// Describes the reason why the last state change occurred. // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ImageStateChangeReason type ImageStateChangeReason struct { _ struct{} `type:"structure"` - // The state change reason code of the image. + // The state change reason code. Code *string `type:"string" enum:"ImageStateChangeReasonCode"` - // The state change reason message to the end user. + // The state change reason message. Message *string `min:"1" type:"string"` } @@ -3203,7 +5087,7 @@ type ListAssociatedFleetsInput struct { // operation. If this value is null, it retrieves the first page. NextToken *string `min:"1" type:"string"` - // The name of the stack whose associated fleets are listed. + // The name of the stack. // // StackName is a required field StackName *string `min:"1" type:"string" required:"true"` @@ -3250,12 +5134,11 @@ func (s *ListAssociatedFleetsInput) SetStackName(v string) *ListAssociatedFleets return s } -// The response from a successful operation. // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ListAssociatedFleetsResult type ListAssociatedFleetsOutput struct { _ struct{} `type:"structure"` - // The names of associated fleets. + // The names of the fleets. Names []*string `type:"list"` // The pagination token to use to retrieve the next page of results for this @@ -3289,7 +5172,7 @@ func (s *ListAssociatedFleetsOutput) SetNextToken(v string) *ListAssociatedFleet type ListAssociatedStacksInput struct { _ struct{} `type:"structure"` - // The name of the fleet whose associated stacks are listed. + // The name of the fleet. // // FleetName is a required field FleetName *string `min:"1" type:"string" required:"true"` @@ -3340,12 +5223,11 @@ func (s *ListAssociatedStacksInput) SetNextToken(v string) *ListAssociatedStacks return s } -// The response from a successful operation. // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ListAssociatedStacksResult type ListAssociatedStacksOutput struct { _ struct{} `type:"structure"` - // The names of associated stacks. + // The names of the stacks. Names []*string `type:"list"` // The pagination token to use to retrieve the next page of results for this @@ -3375,27 +5257,128 @@ func (s *ListAssociatedStacksOutput) SetNextToken(v string) *ListAssociatedStack return s } -// Contains the parameters for a streaming session. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ResourceError +type ResourceError struct { + _ struct{} `type:"structure"` + + ErrorCode *string `type:"string" enum:"FleetErrorCode"` + + ErrorMessage *string `min:"1" type:"string"` + + ErrorTimestamp *time.Time `type:"timestamp" timestampFormat:"unix"` +} + +// String returns the string representation +func (s ResourceError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceError) GoString() string { + return s.String() +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *ResourceError) SetErrorCode(v string) *ResourceError { + s.ErrorCode = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *ResourceError) SetErrorMessage(v string) *ResourceError { + s.ErrorMessage = &v + return s +} + +// SetErrorTimestamp sets the ErrorTimestamp field's value. +func (s *ResourceError) SetErrorTimestamp(v time.Time) *ResourceError { + s.ErrorTimestamp = &v + return s +} + +// Describes the credentials for the service account used by the streaming instance +// to connect to the directory. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ServiceAccountCredentials +type ServiceAccountCredentials struct { + _ struct{} `type:"structure"` + + // The user name of the account. This account must have the following privileges: + // create computer objects, join computers to the domain, and change/reset the + // password on descendant computer objects for the organizational units specified. + // + // AccountName is a required field + AccountName *string `min:"1" type:"string" required:"true"` + + // The password for the account. + // + // AccountPassword is a required field + AccountPassword *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ServiceAccountCredentials) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ServiceAccountCredentials) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ServiceAccountCredentials) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ServiceAccountCredentials"} + if s.AccountName == nil { + invalidParams.Add(request.NewErrParamRequired("AccountName")) + } + if s.AccountName != nil && len(*s.AccountName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountName", 1)) + } + if s.AccountPassword == nil { + invalidParams.Add(request.NewErrParamRequired("AccountPassword")) + } + if s.AccountPassword != nil && len(*s.AccountPassword) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountPassword", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountName sets the AccountName field's value. +func (s *ServiceAccountCredentials) SetAccountName(v string) *ServiceAccountCredentials { + s.AccountName = &v + return s +} + +// SetAccountPassword sets the AccountPassword field's value. +func (s *ServiceAccountCredentials) SetAccountPassword(v string) *ServiceAccountCredentials { + s.AccountPassword = &v + return s +} + +// Describes a streaming session. // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/Session type Session struct { _ struct{} `type:"structure"` - // The authentication method of the user for whom the session was created. It - // can be API for a user authenticated using a streaming URL or SAML for a SAML - // federated user. + // The authentication method. The user is authenticated using a streaming URL + // (API) or SAML federation (SAML). AuthenticationType *string `type:"string" enum:"AuthenticationType"` - // The name of the fleet for which the streaming session was created. + // The name of the fleet for the streaming session. // // FleetName is a required field FleetName *string `min:"1" type:"string" required:"true"` - // The unique ID for a streaming session. + // The ID of the streaming session. // // Id is a required field Id *string `min:"1" type:"string" required:"true"` - // The name of the stack for which the streaming session was created. + // The name of the stack for the streaming session. // // StackName is a required field StackName *string `min:"1" type:"string" required:"true"` @@ -3457,7 +5440,7 @@ func (s *Session) SetUserId(v string) *Session { return s } -// Details about a stack. +// Describes a stack. // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/Stack type Stack struct { _ struct{} `type:"structure"` @@ -3465,24 +5448,24 @@ type Stack struct { // The ARN of the stack. Arn *string `type:"string"` - // The timestamp when the stack was created. + // The time the stack was created. CreatedTime *time.Time `type:"timestamp" timestampFormat:"unix"` - // A meaningful description for the stack. + // The description displayed to end users. Description *string `min:"1" type:"string"` - // A display name for the stack. + // The stack name displayed to end users. DisplayName *string `min:"1" type:"string"` - // The unique identifier of the stack. + // The name of the stack. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` - // The list of errors associated with the stack. + // The errors for the stack. StackErrors []*StackError `type:"list"` - // The storage connectors to be enabled for the stack. + // The storage connectors to enable. StorageConnectors []*StorageConnector `type:"list"` } @@ -3538,15 +5521,15 @@ func (s *Stack) SetStorageConnectors(v []*StorageConnector) *Stack { return s } -// Contains the parameters for a stack error. +// Describes a stack error. // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StackError type StackError struct { _ struct{} `type:"structure"` - // The error code of a stack error. + // The error code. ErrorCode *string `type:"string" enum:"StackErrorCode"` - // The error message of a stack error. + // The error message. ErrorMessage *string `min:"1" type:"string"` } @@ -3576,7 +5559,7 @@ func (s *StackError) SetErrorMessage(v string) *StackError { type StartFleetInput struct { _ struct{} `type:"structure"` - // The name of the fleet to start. + // The name of the fleet. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -3629,11 +5612,74 @@ func (s StartFleetOutput) GoString() string { return s.String() } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StartImageBuilderRequest +type StartImageBuilderInput struct { + _ struct{} `type:"structure"` + + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s StartImageBuilderInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartImageBuilderInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartImageBuilderInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartImageBuilderInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *StartImageBuilderInput) SetName(v string) *StartImageBuilderInput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StartImageBuilderResult +type StartImageBuilderOutput struct { + _ struct{} `type:"structure"` + + ImageBuilder *ImageBuilder `type:"structure"` +} + +// String returns the string representation +func (s StartImageBuilderOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartImageBuilderOutput) GoString() string { + return s.String() +} + +// SetImageBuilder sets the ImageBuilder field's value. +func (s *StartImageBuilderOutput) SetImageBuilder(v *ImageBuilder) *StartImageBuilderOutput { + s.ImageBuilder = v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StopFleetRequest type StopFleetInput struct { _ struct{} `type:"structure"` - // The name of the fleet to stop. + // The name of the fleet. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -3686,17 +5732,80 @@ func (s StopFleetOutput) GoString() string { return s.String() } -// Contains the parameters for a storage connector. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StopImageBuilderRequest +type StopImageBuilderInput struct { + _ struct{} `type:"structure"` + + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopImageBuilderInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopImageBuilderInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopImageBuilderInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopImageBuilderInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *StopImageBuilderInput) SetName(v string) *StopImageBuilderInput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StopImageBuilderResult +type StopImageBuilderOutput struct { + _ struct{} `type:"structure"` + + ImageBuilder *ImageBuilder `type:"structure"` +} + +// String returns the string representation +func (s StopImageBuilderOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopImageBuilderOutput) GoString() string { + return s.String() +} + +// SetImageBuilder sets the ImageBuilder field's value. +func (s *StopImageBuilderOutput) SetImageBuilder(v *ImageBuilder) *StopImageBuilderOutput { + s.ImageBuilder = v + return s +} + +// Describes a storage connector. // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StorageConnector type StorageConnector struct { _ struct{} `type:"structure"` - // The type of storage connector. The possible values include: HOMEFOLDERS. + // The type of storage connector. // // ConnectorType is a required field ConnectorType *string `type:"string" required:"true" enum:"StorageConnectorType"` - // The ARN associated with the storage connector. + // The ARN of the storage connector. ResourceIdentifier *string `min:"1" type:"string"` } @@ -3738,46 +5847,176 @@ func (s *StorageConnector) SetResourceIdentifier(v string) *StorageConnector { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateDirectoryConfigRequest +type UpdateDirectoryConfigInput struct { + _ struct{} `type:"structure"` + + // The name of the directory configuration. + // + // DirectoryName is a required field + DirectoryName *string `type:"string" required:"true"` + + // The distinguished names of the organizational units for computer accounts. + OrganizationalUnitDistinguishedNames []*string `type:"list"` + + // The credentials for the service account used by the streaming instance to + // connect to the directory. + ServiceAccountCredentials *ServiceAccountCredentials `type:"structure"` +} + +// String returns the string representation +func (s UpdateDirectoryConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDirectoryConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDirectoryConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDirectoryConfigInput"} + if s.DirectoryName == nil { + invalidParams.Add(request.NewErrParamRequired("DirectoryName")) + } + if s.ServiceAccountCredentials != nil { + if err := s.ServiceAccountCredentials.Validate(); err != nil { + invalidParams.AddNested("ServiceAccountCredentials", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDirectoryName sets the DirectoryName field's value. +func (s *UpdateDirectoryConfigInput) SetDirectoryName(v string) *UpdateDirectoryConfigInput { + s.DirectoryName = &v + return s +} + +// SetOrganizationalUnitDistinguishedNames sets the OrganizationalUnitDistinguishedNames field's value. +func (s *UpdateDirectoryConfigInput) SetOrganizationalUnitDistinguishedNames(v []*string) *UpdateDirectoryConfigInput { + s.OrganizationalUnitDistinguishedNames = v + return s +} + +// SetServiceAccountCredentials sets the ServiceAccountCredentials field's value. +func (s *UpdateDirectoryConfigInput) SetServiceAccountCredentials(v *ServiceAccountCredentials) *UpdateDirectoryConfigInput { + s.ServiceAccountCredentials = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateDirectoryConfigResult +type UpdateDirectoryConfigOutput struct { + _ struct{} `type:"structure"` + + // Information about the directory configuration. + DirectoryConfig *DirectoryConfig `type:"structure"` +} + +// String returns the string representation +func (s UpdateDirectoryConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDirectoryConfigOutput) GoString() string { + return s.String() +} + +// SetDirectoryConfig sets the DirectoryConfig field's value. +func (s *UpdateDirectoryConfigOutput) SetDirectoryConfig(v *DirectoryConfig) *UpdateDirectoryConfigOutput { + s.DirectoryConfig = v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateFleetRequest type UpdateFleetInput struct { _ struct{} `type:"structure"` - // Fleet attributes to be deleted. + // The fleet attributes to delete. AttributesToDelete []*string `type:"list"` - // The parameters for the capacity allocated to the fleet. + // The desired capacity for the fleet. ComputeCapacity *ComputeCapacity `type:"structure"` - // Delete the VPC association for the specified fleet. + // Deletes the VPC association for the specified fleet. DeleteVpcConfig *bool `deprecated:"true" type:"boolean"` - // The description displayed to end users on the AppStream 2.0 portal. + // The description displayed to end users. Description *string `type:"string"` - // The time after disconnection when a session is considered to have ended. - // If a user who got disconnected reconnects within this timeout interval, the - // user is connected back to their previous session. The input can be any numeric - // value in seconds between 60 and 57600. + // The time after disconnection when a session is considered to have ended, + // in seconds. If a user who was disconnected reconnects within this time interval, + // the user is connected to their previous session. Specify a value between + // 60 and 57600. DisconnectTimeoutInSeconds *int64 `type:"integer"` - // The name displayed to end users on the AppStream 2.0 portal. + // The fleet name displayed to end users. DisplayName *string `type:"string"` - // Enables or disables default Internet access for the fleet. + // The information needed for streaming instances to join a domain. + DomainJoinInfo *DomainJoinInfo `type:"structure"` + + // Enables or disables default internet access for the fleet. EnableDefaultInternetAccess *bool `type:"boolean"` - // The image name from which a fleet is created. + // The name of the image used by the fleet. ImageName *string `min:"1" type:"string"` - // The instance type of compute resources for the fleet. Fleet instances are - // launched from this instance type. + // The instance type to use when launching fleet instances. The following instance + // types are available: + // + // * stream.standard.medium + // + // * stream.standard.large + // + // * stream.compute.large + // + // * stream.compute.xlarge + // + // * stream.compute.2xlarge + // + // * stream.compute.4xlarge + // + // * stream.compute.8xlarge + // + // * stream.memory.large + // + // * stream.memory.xlarge + // + // * stream.memory.2xlarge + // + // * stream.memory.4xlarge + // + // * stream.memory.8xlarge + // + // * stream.graphics-design.large + // + // * stream.graphics-design.xlarge + // + // * stream.graphics-design.2xlarge + // + // * stream.graphics-design.4xlarge + // + // * stream.graphics-desktop.2xlarge + // + // * stream.graphics-pro.4xlarge + // + // * stream.graphics-pro.8xlarge + // + // * stream.graphics-pro.16xlarge InstanceType *string `min:"1" type:"string"` - // The maximum time for which a streaming session can run. The input can be - // any numeric value in seconds between 600 and 57600. + // The maximum time that a streaming session can run, in seconds. Specify a + // value between 600 and 57600. MaxUserDurationInSeconds *int64 `type:"integer"` - // The name of the fleet. + // A unique name for the fleet. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -3859,6 +6098,12 @@ func (s *UpdateFleetInput) SetDisplayName(v string) *UpdateFleetInput { return s } +// SetDomainJoinInfo sets the DomainJoinInfo field's value. +func (s *UpdateFleetInput) SetDomainJoinInfo(v *DomainJoinInfo) *UpdateFleetInput { + s.DomainJoinInfo = v + return s +} + // SetEnableDefaultInternetAccess sets the EnableDefaultInternetAccess field's value. func (s *UpdateFleetInput) SetEnableDefaultInternetAccess(v bool) *UpdateFleetInput { s.EnableDefaultInternetAccess = &v @@ -3899,7 +6144,7 @@ func (s *UpdateFleetInput) SetVpcConfig(v *VpcConfig) *UpdateFleetInput { type UpdateFleetOutput struct { _ struct{} `type:"structure"` - // A list of fleet details. + // Information about the fleet. Fleet *Fleet `type:"structure"` } @@ -3923,21 +6168,21 @@ func (s *UpdateFleetOutput) SetFleet(v *Fleet) *UpdateFleetOutput { type UpdateStackInput struct { _ struct{} `type:"structure"` - // Remove all the storage connectors currently enabled for the stack. + // Deletes the storage connectors currently enabled for the stack. DeleteStorageConnectors *bool `type:"boolean"` - // The description displayed to end users on the AppStream 2.0 portal. + // The description displayed to end users. Description *string `type:"string"` - // The name displayed to end users on the AppStream 2.0 portal. + // The stack name displayed to end users. DisplayName *string `type:"string"` - // The name of the stack to update. + // The name of the stack. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` - // The storage connectors to be enabled for the stack. + // The storage connectors to enable. StorageConnectors []*StorageConnector `type:"list"` } @@ -4011,7 +6256,7 @@ func (s *UpdateStackInput) SetStorageConnectors(v []*StorageConnector) *UpdateSt type UpdateStackOutput struct { _ struct{} `type:"structure"` - // A list of stack details. + // Information about the stack. Stack *Stack `type:"structure"` } @@ -4031,16 +6276,15 @@ func (s *UpdateStackOutput) SetStack(v *Stack) *UpdateStackOutput { return s } -// VPC configuration information. +// Describes VPC configuration information. // Please also see https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/VpcConfig type VpcConfig struct { _ struct{} `type:"structure"` - // Security groups associated with the fleet. + // The security groups for the fleet. SecurityGroupIds []*string `type:"list"` - // The list of subnets to which a network interface is established from the - // fleet instance. + // The subnets to which a network interface is established from the fleet instance. SubnetIds []*string `type:"list"` } @@ -4077,13 +6321,16 @@ const ( AuthenticationTypeUserpool = "USERPOOL" ) -// Fleet attribute. +// The fleet attribute. const ( // FleetAttributeVpcConfiguration is a FleetAttribute enum value FleetAttributeVpcConfiguration = "VPC_CONFIGURATION" // FleetAttributeVpcConfigurationSecurityGroupIds is a FleetAttribute enum value FleetAttributeVpcConfigurationSecurityGroupIds = "VPC_CONFIGURATION_SECURITY_GROUP_IDS" + + // FleetAttributeDomainJoinInfo is a FleetAttribute enum value + FleetAttributeDomainJoinInfo = "DOMAIN_JOIN_INFO" ) const ( @@ -4119,6 +6366,51 @@ const ( // FleetErrorCodeInvalidSubnetConfiguration is a FleetErrorCode enum value FleetErrorCodeInvalidSubnetConfiguration = "INVALID_SUBNET_CONFIGURATION" + + // FleetErrorCodeSecurityGroupsNotFound is a FleetErrorCode enum value + FleetErrorCodeSecurityGroupsNotFound = "SECURITY_GROUPS_NOT_FOUND" + + // FleetErrorCodeIgwNotAttached is a FleetErrorCode enum value + FleetErrorCodeIgwNotAttached = "IGW_NOT_ATTACHED" + + // FleetErrorCodeIamServiceRoleMissingDescribeSecurityGroupsAction is a FleetErrorCode enum value + FleetErrorCodeIamServiceRoleMissingDescribeSecurityGroupsAction = "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION" + + // FleetErrorCodeDomainJoinErrorFileNotFound is a FleetErrorCode enum value + FleetErrorCodeDomainJoinErrorFileNotFound = "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND" + + // FleetErrorCodeDomainJoinErrorAccessDenied is a FleetErrorCode enum value + FleetErrorCodeDomainJoinErrorAccessDenied = "DOMAIN_JOIN_ERROR_ACCESS_DENIED" + + // FleetErrorCodeDomainJoinErrorLogonFailure is a FleetErrorCode enum value + FleetErrorCodeDomainJoinErrorLogonFailure = "DOMAIN_JOIN_ERROR_LOGON_FAILURE" + + // FleetErrorCodeDomainJoinErrorInvalidParameter is a FleetErrorCode enum value + FleetErrorCodeDomainJoinErrorInvalidParameter = "DOMAIN_JOIN_ERROR_INVALID_PARAMETER" + + // FleetErrorCodeDomainJoinErrorMoreData is a FleetErrorCode enum value + FleetErrorCodeDomainJoinErrorMoreData = "DOMAIN_JOIN_ERROR_MORE_DATA" + + // FleetErrorCodeDomainJoinErrorNoSuchDomain is a FleetErrorCode enum value + FleetErrorCodeDomainJoinErrorNoSuchDomain = "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN" + + // FleetErrorCodeDomainJoinErrorNotSupported is a FleetErrorCode enum value + FleetErrorCodeDomainJoinErrorNotSupported = "DOMAIN_JOIN_ERROR_NOT_SUPPORTED" + + // FleetErrorCodeDomainJoinNerrInvalidWorkgroupName is a FleetErrorCode enum value + FleetErrorCodeDomainJoinNerrInvalidWorkgroupName = "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME" + + // FleetErrorCodeDomainJoinNerrWorkstationNotStarted is a FleetErrorCode enum value + FleetErrorCodeDomainJoinNerrWorkstationNotStarted = "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED" + + // FleetErrorCodeDomainJoinErrorDsMachineAccountQuotaExceeded is a FleetErrorCode enum value + FleetErrorCodeDomainJoinErrorDsMachineAccountQuotaExceeded = "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED" + + // FleetErrorCodeDomainJoinNerrPasswordExpired is a FleetErrorCode enum value + FleetErrorCodeDomainJoinNerrPasswordExpired = "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED" + + // FleetErrorCodeDomainJoinInternalServiceError is a FleetErrorCode enum value + FleetErrorCodeDomainJoinInternalServiceError = "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR" ) const ( @@ -4135,6 +6427,48 @@ const ( FleetStateStopped = "STOPPED" ) +const ( + // FleetTypeAlwaysOn is a FleetType enum value + FleetTypeAlwaysOn = "ALWAYS_ON" + + // FleetTypeOnDemand is a FleetType enum value + FleetTypeOnDemand = "ON_DEMAND" +) + +const ( + // ImageBuilderStatePending is a ImageBuilderState enum value + ImageBuilderStatePending = "PENDING" + + // ImageBuilderStateRunning is a ImageBuilderState enum value + ImageBuilderStateRunning = "RUNNING" + + // ImageBuilderStateStopping is a ImageBuilderState enum value + ImageBuilderStateStopping = "STOPPING" + + // ImageBuilderStateStopped is a ImageBuilderState enum value + ImageBuilderStateStopped = "STOPPED" + + // ImageBuilderStateRebooting is a ImageBuilderState enum value + ImageBuilderStateRebooting = "REBOOTING" + + // ImageBuilderStateSnapshotting is a ImageBuilderState enum value + ImageBuilderStateSnapshotting = "SNAPSHOTTING" + + // ImageBuilderStateDeleting is a ImageBuilderState enum value + ImageBuilderStateDeleting = "DELETING" + + // ImageBuilderStateFailed is a ImageBuilderState enum value + ImageBuilderStateFailed = "FAILED" +) + +const ( + // ImageBuilderStateChangeReasonCodeInternalError is a ImageBuilderStateChangeReasonCode enum value + ImageBuilderStateChangeReasonCodeInternalError = "INTERNAL_ERROR" + + // ImageBuilderStateChangeReasonCodeImageUnavailable is a ImageBuilderStateChangeReasonCode enum value + ImageBuilderStateChangeReasonCodeImageUnavailable = "IMAGE_UNAVAILABLE" +) + const ( // ImageStatePending is a ImageState enum value ImageStatePending = "PENDING" @@ -4182,7 +6516,7 @@ const ( StackErrorCodeInternalServiceError = "INTERNAL_SERVICE_ERROR" ) -// The type of storage connector. The possible values include: HOMEFOLDERS. +// The type of storage connector. const ( // StorageConnectorTypeHomefolders is a StorageConnectorType enum value StorageConnectorTypeHomefolders = "HOMEFOLDERS" diff --git a/vendor/github.com/aws/aws-sdk-go/service/appstream/appstreamiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/appstream/appstreamiface/interface.go index d3edeb4cc..e9cd6c202 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/appstream/appstreamiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/appstream/appstreamiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon AppStream. @@ -64,10 +64,22 @@ type AppStreamAPI interface { AssociateFleetWithContext(aws.Context, *appstream.AssociateFleetInput, ...request.Option) (*appstream.AssociateFleetOutput, error) AssociateFleetRequest(*appstream.AssociateFleetInput) (*request.Request, *appstream.AssociateFleetOutput) + CreateDirectoryConfig(*appstream.CreateDirectoryConfigInput) (*appstream.CreateDirectoryConfigOutput, error) + CreateDirectoryConfigWithContext(aws.Context, *appstream.CreateDirectoryConfigInput, ...request.Option) (*appstream.CreateDirectoryConfigOutput, error) + CreateDirectoryConfigRequest(*appstream.CreateDirectoryConfigInput) (*request.Request, *appstream.CreateDirectoryConfigOutput) + CreateFleet(*appstream.CreateFleetInput) (*appstream.CreateFleetOutput, error) CreateFleetWithContext(aws.Context, *appstream.CreateFleetInput, ...request.Option) (*appstream.CreateFleetOutput, error) CreateFleetRequest(*appstream.CreateFleetInput) (*request.Request, *appstream.CreateFleetOutput) + CreateImageBuilder(*appstream.CreateImageBuilderInput) (*appstream.CreateImageBuilderOutput, error) + CreateImageBuilderWithContext(aws.Context, *appstream.CreateImageBuilderInput, ...request.Option) (*appstream.CreateImageBuilderOutput, error) + CreateImageBuilderRequest(*appstream.CreateImageBuilderInput) (*request.Request, *appstream.CreateImageBuilderOutput) + + CreateImageBuilderStreamingURL(*appstream.CreateImageBuilderStreamingURLInput) (*appstream.CreateImageBuilderStreamingURLOutput, error) + CreateImageBuilderStreamingURLWithContext(aws.Context, *appstream.CreateImageBuilderStreamingURLInput, ...request.Option) (*appstream.CreateImageBuilderStreamingURLOutput, error) + CreateImageBuilderStreamingURLRequest(*appstream.CreateImageBuilderStreamingURLInput) (*request.Request, *appstream.CreateImageBuilderStreamingURLOutput) + CreateStack(*appstream.CreateStackInput) (*appstream.CreateStackOutput, error) CreateStackWithContext(aws.Context, *appstream.CreateStackInput, ...request.Option) (*appstream.CreateStackOutput, error) CreateStackRequest(*appstream.CreateStackInput) (*request.Request, *appstream.CreateStackOutput) @@ -76,18 +88,38 @@ type AppStreamAPI interface { CreateStreamingURLWithContext(aws.Context, *appstream.CreateStreamingURLInput, ...request.Option) (*appstream.CreateStreamingURLOutput, error) CreateStreamingURLRequest(*appstream.CreateStreamingURLInput) (*request.Request, *appstream.CreateStreamingURLOutput) + DeleteDirectoryConfig(*appstream.DeleteDirectoryConfigInput) (*appstream.DeleteDirectoryConfigOutput, error) + DeleteDirectoryConfigWithContext(aws.Context, *appstream.DeleteDirectoryConfigInput, ...request.Option) (*appstream.DeleteDirectoryConfigOutput, error) + DeleteDirectoryConfigRequest(*appstream.DeleteDirectoryConfigInput) (*request.Request, *appstream.DeleteDirectoryConfigOutput) + DeleteFleet(*appstream.DeleteFleetInput) (*appstream.DeleteFleetOutput, error) DeleteFleetWithContext(aws.Context, *appstream.DeleteFleetInput, ...request.Option) (*appstream.DeleteFleetOutput, error) DeleteFleetRequest(*appstream.DeleteFleetInput) (*request.Request, *appstream.DeleteFleetOutput) + DeleteImage(*appstream.DeleteImageInput) (*appstream.DeleteImageOutput, error) + DeleteImageWithContext(aws.Context, *appstream.DeleteImageInput, ...request.Option) (*appstream.DeleteImageOutput, error) + DeleteImageRequest(*appstream.DeleteImageInput) (*request.Request, *appstream.DeleteImageOutput) + + DeleteImageBuilder(*appstream.DeleteImageBuilderInput) (*appstream.DeleteImageBuilderOutput, error) + DeleteImageBuilderWithContext(aws.Context, *appstream.DeleteImageBuilderInput, ...request.Option) (*appstream.DeleteImageBuilderOutput, error) + DeleteImageBuilderRequest(*appstream.DeleteImageBuilderInput) (*request.Request, *appstream.DeleteImageBuilderOutput) + DeleteStack(*appstream.DeleteStackInput) (*appstream.DeleteStackOutput, error) DeleteStackWithContext(aws.Context, *appstream.DeleteStackInput, ...request.Option) (*appstream.DeleteStackOutput, error) DeleteStackRequest(*appstream.DeleteStackInput) (*request.Request, *appstream.DeleteStackOutput) + DescribeDirectoryConfigs(*appstream.DescribeDirectoryConfigsInput) (*appstream.DescribeDirectoryConfigsOutput, error) + DescribeDirectoryConfigsWithContext(aws.Context, *appstream.DescribeDirectoryConfigsInput, ...request.Option) (*appstream.DescribeDirectoryConfigsOutput, error) + DescribeDirectoryConfigsRequest(*appstream.DescribeDirectoryConfigsInput) (*request.Request, *appstream.DescribeDirectoryConfigsOutput) + DescribeFleets(*appstream.DescribeFleetsInput) (*appstream.DescribeFleetsOutput, error) DescribeFleetsWithContext(aws.Context, *appstream.DescribeFleetsInput, ...request.Option) (*appstream.DescribeFleetsOutput, error) DescribeFleetsRequest(*appstream.DescribeFleetsInput) (*request.Request, *appstream.DescribeFleetsOutput) + DescribeImageBuilders(*appstream.DescribeImageBuildersInput) (*appstream.DescribeImageBuildersOutput, error) + DescribeImageBuildersWithContext(aws.Context, *appstream.DescribeImageBuildersInput, ...request.Option) (*appstream.DescribeImageBuildersOutput, error) + DescribeImageBuildersRequest(*appstream.DescribeImageBuildersInput) (*request.Request, *appstream.DescribeImageBuildersOutput) + DescribeImages(*appstream.DescribeImagesInput) (*appstream.DescribeImagesOutput, error) DescribeImagesWithContext(aws.Context, *appstream.DescribeImagesInput, ...request.Option) (*appstream.DescribeImagesOutput, error) DescribeImagesRequest(*appstream.DescribeImagesInput) (*request.Request, *appstream.DescribeImagesOutput) @@ -120,10 +152,22 @@ type AppStreamAPI interface { StartFleetWithContext(aws.Context, *appstream.StartFleetInput, ...request.Option) (*appstream.StartFleetOutput, error) StartFleetRequest(*appstream.StartFleetInput) (*request.Request, *appstream.StartFleetOutput) + StartImageBuilder(*appstream.StartImageBuilderInput) (*appstream.StartImageBuilderOutput, error) + StartImageBuilderWithContext(aws.Context, *appstream.StartImageBuilderInput, ...request.Option) (*appstream.StartImageBuilderOutput, error) + StartImageBuilderRequest(*appstream.StartImageBuilderInput) (*request.Request, *appstream.StartImageBuilderOutput) + StopFleet(*appstream.StopFleetInput) (*appstream.StopFleetOutput, error) StopFleetWithContext(aws.Context, *appstream.StopFleetInput, ...request.Option) (*appstream.StopFleetOutput, error) StopFleetRequest(*appstream.StopFleetInput) (*request.Request, *appstream.StopFleetOutput) + StopImageBuilder(*appstream.StopImageBuilderInput) (*appstream.StopImageBuilderOutput, error) + StopImageBuilderWithContext(aws.Context, *appstream.StopImageBuilderInput, ...request.Option) (*appstream.StopImageBuilderOutput, error) + StopImageBuilderRequest(*appstream.StopImageBuilderInput) (*request.Request, *appstream.StopImageBuilderOutput) + + UpdateDirectoryConfig(*appstream.UpdateDirectoryConfigInput) (*appstream.UpdateDirectoryConfigOutput, error) + UpdateDirectoryConfigWithContext(aws.Context, *appstream.UpdateDirectoryConfigInput, ...request.Option) (*appstream.UpdateDirectoryConfigOutput, error) + UpdateDirectoryConfigRequest(*appstream.UpdateDirectoryConfigInput) (*request.Request, *appstream.UpdateDirectoryConfigOutput) + UpdateFleet(*appstream.UpdateFleetInput) (*appstream.UpdateFleetOutput, error) UpdateFleetWithContext(aws.Context, *appstream.UpdateFleetInput, ...request.Option) (*appstream.UpdateFleetOutput, error) UpdateFleetRequest(*appstream.UpdateFleetInput) (*request.Request, *appstream.UpdateFleetOutput) diff --git a/vendor/github.com/aws/aws-sdk-go/service/appstream/doc.go b/vendor/github.com/aws/aws-sdk-go/service/appstream/doc.go index 8b2792d7b..9f50cfea8 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/appstream/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/appstream/doc.go @@ -3,7 +3,8 @@ // Package appstream provides the client and types for making API // requests to Amazon AppStream. // -// API documentation for Amazon AppStream 2.0. +// You can use Amazon AppStream 2.0 to stream desktop applications to any device +// running a web browser, without rewriting them. // // See https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01 for more information on this service. // @@ -12,69 +13,17 @@ // // Using the Client // -// To use the client for Amazon AppStream you will first need -// to create a new instance of it. +// To Amazon AppStream with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := appstream.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon AppStream client AppStream for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/appstream/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AssociateFleet(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AssociateFleet result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AssociateFleetWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package appstream diff --git a/vendor/github.com/aws/aws-sdk-go/service/appstream/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/appstream/waiters.go index d298eb571..1f9f17f2d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/appstream/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/appstream/waiters.go @@ -11,7 +11,7 @@ import ( // WaitUntilFleetStarted uses the Amazon AppStream API operation // DescribeFleets to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *AppStream) WaitUntilFleetStarted(input *DescribeFleetsInput) error { return c.WaitUntilFleetStartedWithContext(aws.BackgroundContext(), input) @@ -33,17 +33,17 @@ func (c *AppStream) WaitUntilFleetStartedWithContext(ctx aws.Context, input *Des Acceptors: []request.WaiterAcceptor{ { State: request.SuccessWaiterState, - Matcher: request.PathAllWaiterMatch, Argument: "fleets[].state", + Matcher: request.PathAllWaiterMatch, Argument: "Fleets[].State", Expected: "ACTIVE", }, { State: request.FailureWaiterState, - Matcher: request.PathAnyWaiterMatch, Argument: "fleets[].state", + Matcher: request.PathAnyWaiterMatch, Argument: "Fleets[].State", Expected: "PENDING_DEACTIVATE", }, { State: request.FailureWaiterState, - Matcher: request.PathAnyWaiterMatch, Argument: "fleets[].state", + Matcher: request.PathAnyWaiterMatch, Argument: "Fleets[].State", Expected: "INACTIVE", }, }, @@ -67,7 +67,7 @@ func (c *AppStream) WaitUntilFleetStartedWithContext(ctx aws.Context, input *Des // WaitUntilFleetStopped uses the Amazon AppStream API operation // DescribeFleets to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *AppStream) WaitUntilFleetStopped(input *DescribeFleetsInput) error { return c.WaitUntilFleetStoppedWithContext(aws.BackgroundContext(), input) @@ -89,17 +89,17 @@ func (c *AppStream) WaitUntilFleetStoppedWithContext(ctx aws.Context, input *Des Acceptors: []request.WaiterAcceptor{ { State: request.SuccessWaiterState, - Matcher: request.PathAllWaiterMatch, Argument: "fleets[].state", + Matcher: request.PathAllWaiterMatch, Argument: "Fleets[].State", Expected: "INACTIVE", }, { State: request.FailureWaiterState, - Matcher: request.PathAnyWaiterMatch, Argument: "fleets[].state", + Matcher: request.PathAnyWaiterMatch, Argument: "Fleets[].State", Expected: "PENDING_ACTIVATE", }, { State: request.FailureWaiterState, - Matcher: request.PathAnyWaiterMatch, Argument: "fleets[].state", + Matcher: request.PathAnyWaiterMatch, Argument: "Fleets[].State", Expected: "ACTIVE", }, }, diff --git a/vendor/github.com/aws/aws-sdk-go/service/athena/api.go b/vendor/github.com/aws/aws-sdk-go/service/athena/api.go index 33141fc72..89dd50c12 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/athena/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/athena/api.go @@ -14,19 +14,18 @@ const opBatchGetNamedQuery = "BatchGetNamedQuery" // BatchGetNamedQueryRequest generates a "aws/request.Request" representing the // client's request for the BatchGetNamedQuery operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See BatchGetNamedQuery for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the BatchGetNamedQuery method directly -// instead. +// See BatchGetNamedQuery for more information on using the BatchGetNamedQuery +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the BatchGetNamedQueryRequest method. // req, resp := client.BatchGetNamedQueryRequest(params) @@ -105,19 +104,18 @@ const opBatchGetQueryExecution = "BatchGetQueryExecution" // BatchGetQueryExecutionRequest generates a "aws/request.Request" representing the // client's request for the BatchGetQueryExecution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See BatchGetQueryExecution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the BatchGetQueryExecution method directly -// instead. +// See BatchGetQueryExecution for more information on using the BatchGetQueryExecution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the BatchGetQueryExecutionRequest method. // req, resp := client.BatchGetQueryExecutionRequest(params) @@ -194,19 +192,18 @@ const opCreateNamedQuery = "CreateNamedQuery" // CreateNamedQueryRequest generates a "aws/request.Request" representing the // client's request for the CreateNamedQuery operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateNamedQuery for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateNamedQuery method directly -// instead. +// See CreateNamedQuery for more information on using the CreateNamedQuery +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateNamedQueryRequest method. // req, resp := client.CreateNamedQueryRequest(params) @@ -283,19 +280,18 @@ const opDeleteNamedQuery = "DeleteNamedQuery" // DeleteNamedQueryRequest generates a "aws/request.Request" representing the // client's request for the DeleteNamedQuery operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteNamedQuery for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteNamedQuery method directly -// instead. +// See DeleteNamedQuery for more information on using the DeleteNamedQuery +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteNamedQueryRequest method. // req, resp := client.DeleteNamedQueryRequest(params) @@ -372,19 +368,18 @@ const opGetNamedQuery = "GetNamedQuery" // GetNamedQueryRequest generates a "aws/request.Request" representing the // client's request for the GetNamedQuery operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetNamedQuery for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetNamedQuery method directly -// instead. +// See GetNamedQuery for more information on using the GetNamedQuery +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetNamedQueryRequest method. // req, resp := client.GetNamedQueryRequest(params) @@ -457,19 +452,18 @@ const opGetQueryExecution = "GetQueryExecution" // GetQueryExecutionRequest generates a "aws/request.Request" representing the // client's request for the GetQueryExecution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetQueryExecution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetQueryExecution method directly -// instead. +// See GetQueryExecution for more information on using the GetQueryExecution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetQueryExecutionRequest method. // req, resp := client.GetQueryExecutionRequest(params) @@ -543,19 +537,18 @@ const opGetQueryResults = "GetQueryResults" // GetQueryResultsRequest generates a "aws/request.Request" representing the // client's request for the GetQueryResults operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetQueryResults for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetQueryResults method directly -// instead. +// See GetQueryResults for more information on using the GetQueryResults +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetQueryResultsRequest method. // req, resp := client.GetQueryResultsRequest(params) @@ -686,19 +679,18 @@ const opListNamedQueries = "ListNamedQueries" // ListNamedQueriesRequest generates a "aws/request.Request" representing the // client's request for the ListNamedQueries operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListNamedQueries for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListNamedQueries method directly -// instead. +// See ListNamedQueries for more information on using the ListNamedQueries +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListNamedQueriesRequest method. // req, resp := client.ListNamedQueriesRequest(params) @@ -831,19 +823,18 @@ const opListQueryExecutions = "ListQueryExecutions" // ListQueryExecutionsRequest generates a "aws/request.Request" representing the // client's request for the ListQueryExecutions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListQueryExecutions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListQueryExecutions method directly -// instead. +// See ListQueryExecutions for more information on using the ListQueryExecutions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListQueryExecutionsRequest method. // req, resp := client.ListQueryExecutionsRequest(params) @@ -976,19 +967,18 @@ const opStartQueryExecution = "StartQueryExecution" // StartQueryExecutionRequest generates a "aws/request.Request" representing the // client's request for the StartQueryExecution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartQueryExecution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartQueryExecution method directly -// instead. +// See StartQueryExecution for more information on using the StartQueryExecution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartQueryExecutionRequest method. // req, resp := client.StartQueryExecutionRequest(params) @@ -1068,19 +1058,18 @@ const opStopQueryExecution = "StopQueryExecution" // StopQueryExecutionRequest generates a "aws/request.Request" representing the // client's request for the StopQueryExecution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StopQueryExecution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StopQueryExecution method directly -// instead. +// See StopQueryExecution for more information on using the StopQueryExecution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StopQueryExecutionRequest method. // req, resp := client.StopQueryExecutionRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/athena/athenaiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/athena/athenaiface/interface.go index fbf459874..408d75118 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/athena/athenaiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/athena/athenaiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Athena. diff --git a/vendor/github.com/aws/aws-sdk-go/service/athena/doc.go b/vendor/github.com/aws/aws-sdk-go/service/athena/doc.go index d4a51b74f..9400d1e0a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/athena/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/athena/doc.go @@ -23,69 +23,17 @@ // // Using the Client // -// To use the client for Amazon Athena you will first need -// to create a new instance of it. +// To Amazon Athena with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := athena.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Athena client Athena for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/athena/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.BatchGetNamedQuery(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("BatchGetNamedQuery result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.BatchGetNamedQueryWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package athena diff --git a/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go b/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go index ecdd7eab0..761d8ecee 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go @@ -17,19 +17,18 @@ const opAttachInstances = "AttachInstances" // AttachInstancesRequest generates a "aws/request.Request" representing the // client's request for the AttachInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AttachInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AttachInstances method directly -// instead. +// See AttachInstances for more information on using the AttachInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AttachInstancesRequest method. // req, resp := client.AttachInstancesRequest(params) @@ -114,19 +113,18 @@ const opAttachLoadBalancerTargetGroups = "AttachLoadBalancerTargetGroups" // AttachLoadBalancerTargetGroupsRequest generates a "aws/request.Request" representing the // client's request for the AttachLoadBalancerTargetGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AttachLoadBalancerTargetGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AttachLoadBalancerTargetGroups method directly -// instead. +// See AttachLoadBalancerTargetGroups for more information on using the AttachLoadBalancerTargetGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AttachLoadBalancerTargetGroupsRequest method. // req, resp := client.AttachLoadBalancerTargetGroupsRequest(params) @@ -202,19 +200,18 @@ const opAttachLoadBalancers = "AttachLoadBalancers" // AttachLoadBalancersRequest generates a "aws/request.Request" representing the // client's request for the AttachLoadBalancers operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AttachLoadBalancers for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AttachLoadBalancers method directly -// instead. +// See AttachLoadBalancers for more information on using the AttachLoadBalancers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AttachLoadBalancersRequest method. // req, resp := client.AttachLoadBalancersRequest(params) @@ -293,19 +290,18 @@ const opCompleteLifecycleAction = "CompleteLifecycleAction" // CompleteLifecycleActionRequest generates a "aws/request.Request" representing the // client's request for the CompleteLifecycleAction operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CompleteLifecycleAction for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CompleteLifecycleAction method directly -// instead. +// See CompleteLifecycleAction for more information on using the CompleteLifecycleAction +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CompleteLifecycleActionRequest method. // req, resp := client.CompleteLifecycleActionRequest(params) @@ -396,19 +392,18 @@ const opCreateAutoScalingGroup = "CreateAutoScalingGroup" // CreateAutoScalingGroupRequest generates a "aws/request.Request" representing the // client's request for the CreateAutoScalingGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateAutoScalingGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateAutoScalingGroup method directly -// instead. +// See CreateAutoScalingGroup for more information on using the CreateAutoScalingGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateAutoScalingGroupRequest method. // req, resp := client.CreateAutoScalingGroupRequest(params) @@ -495,19 +490,18 @@ const opCreateLaunchConfiguration = "CreateLaunchConfiguration" // CreateLaunchConfigurationRequest generates a "aws/request.Request" representing the // client's request for the CreateLaunchConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateLaunchConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateLaunchConfiguration method directly -// instead. +// See CreateLaunchConfiguration for more information on using the CreateLaunchConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateLaunchConfigurationRequest method. // req, resp := client.CreateLaunchConfigurationRequest(params) @@ -594,19 +588,18 @@ const opCreateOrUpdateTags = "CreateOrUpdateTags" // CreateOrUpdateTagsRequest generates a "aws/request.Request" representing the // client's request for the CreateOrUpdateTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateOrUpdateTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateOrUpdateTags method directly -// instead. +// See CreateOrUpdateTags for more information on using the CreateOrUpdateTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateOrUpdateTagsRequest method. // req, resp := client.CreateOrUpdateTagsRequest(params) @@ -695,19 +688,18 @@ const opDeleteAutoScalingGroup = "DeleteAutoScalingGroup" // DeleteAutoScalingGroupRequest generates a "aws/request.Request" representing the // client's request for the DeleteAutoScalingGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteAutoScalingGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteAutoScalingGroup method directly -// instead. +// See DeleteAutoScalingGroup for more information on using the DeleteAutoScalingGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteAutoScalingGroupRequest method. // req, resp := client.DeleteAutoScalingGroupRequest(params) @@ -799,19 +791,18 @@ const opDeleteLaunchConfiguration = "DeleteLaunchConfiguration" // DeleteLaunchConfigurationRequest generates a "aws/request.Request" representing the // client's request for the DeleteLaunchConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteLaunchConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteLaunchConfiguration method directly -// instead. +// See DeleteLaunchConfiguration for more information on using the DeleteLaunchConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteLaunchConfigurationRequest method. // req, resp := client.DeleteLaunchConfigurationRequest(params) @@ -889,19 +880,18 @@ const opDeleteLifecycleHook = "DeleteLifecycleHook" // DeleteLifecycleHookRequest generates a "aws/request.Request" representing the // client's request for the DeleteLifecycleHook operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteLifecycleHook for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteLifecycleHook method directly -// instead. +// See DeleteLifecycleHook for more information on using the DeleteLifecycleHook +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteLifecycleHookRequest method. // req, resp := client.DeleteLifecycleHookRequest(params) @@ -973,19 +963,18 @@ const opDeleteNotificationConfiguration = "DeleteNotificationConfiguration" // DeleteNotificationConfigurationRequest generates a "aws/request.Request" representing the // client's request for the DeleteNotificationConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteNotificationConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteNotificationConfiguration method directly -// instead. +// See DeleteNotificationConfiguration for more information on using the DeleteNotificationConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteNotificationConfigurationRequest method. // req, resp := client.DeleteNotificationConfigurationRequest(params) @@ -1056,19 +1045,18 @@ const opDeletePolicy = "DeletePolicy" // DeletePolicyRequest generates a "aws/request.Request" representing the // client's request for the DeletePolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeletePolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeletePolicy method directly -// instead. +// See DeletePolicy for more information on using the DeletePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeletePolicyRequest method. // req, resp := client.DeletePolicyRequest(params) @@ -1142,19 +1130,18 @@ const opDeleteScheduledAction = "DeleteScheduledAction" // DeleteScheduledActionRequest generates a "aws/request.Request" representing the // client's request for the DeleteScheduledAction operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteScheduledAction for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteScheduledAction method directly -// instead. +// See DeleteScheduledAction for more information on using the DeleteScheduledAction +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteScheduledActionRequest method. // req, resp := client.DeleteScheduledActionRequest(params) @@ -1225,19 +1212,18 @@ const opDeleteTags = "DeleteTags" // DeleteTagsRequest generates a "aws/request.Request" representing the // client's request for the DeleteTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteTags method directly -// instead. +// See DeleteTags for more information on using the DeleteTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteTagsRequest method. // req, resp := client.DeleteTagsRequest(params) @@ -1311,19 +1297,18 @@ const opDescribeAccountLimits = "DescribeAccountLimits" // DescribeAccountLimitsRequest generates a "aws/request.Request" representing the // client's request for the DescribeAccountLimits operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAccountLimits for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAccountLimits method directly -// instead. +// See DescribeAccountLimits for more information on using the DescribeAccountLimits +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAccountLimitsRequest method. // req, resp := client.DescribeAccountLimitsRequest(params) @@ -1396,19 +1381,18 @@ const opDescribeAdjustmentTypes = "DescribeAdjustmentTypes" // DescribeAdjustmentTypesRequest generates a "aws/request.Request" representing the // client's request for the DescribeAdjustmentTypes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAdjustmentTypes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAdjustmentTypes method directly -// instead. +// See DescribeAdjustmentTypes for more information on using the DescribeAdjustmentTypes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAdjustmentTypesRequest method. // req, resp := client.DescribeAdjustmentTypesRequest(params) @@ -1477,19 +1461,18 @@ const opDescribeAutoScalingGroups = "DescribeAutoScalingGroups" // DescribeAutoScalingGroupsRequest generates a "aws/request.Request" representing the // client's request for the DescribeAutoScalingGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAutoScalingGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAutoScalingGroups method directly -// instead. +// See DescribeAutoScalingGroups for more information on using the DescribeAutoScalingGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAutoScalingGroupsRequest method. // req, resp := client.DescribeAutoScalingGroupsRequest(params) @@ -1617,19 +1600,18 @@ const opDescribeAutoScalingInstances = "DescribeAutoScalingInstances" // DescribeAutoScalingInstancesRequest generates a "aws/request.Request" representing the // client's request for the DescribeAutoScalingInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAutoScalingInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAutoScalingInstances method directly -// instead. +// See DescribeAutoScalingInstances for more information on using the DescribeAutoScalingInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAutoScalingInstancesRequest method. // req, resp := client.DescribeAutoScalingInstancesRequest(params) @@ -1757,19 +1739,18 @@ const opDescribeAutoScalingNotificationTypes = "DescribeAutoScalingNotificationT // DescribeAutoScalingNotificationTypesRequest generates a "aws/request.Request" representing the // client's request for the DescribeAutoScalingNotificationTypes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAutoScalingNotificationTypes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAutoScalingNotificationTypes method directly -// instead. +// See DescribeAutoScalingNotificationTypes for more information on using the DescribeAutoScalingNotificationTypes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAutoScalingNotificationTypesRequest method. // req, resp := client.DescribeAutoScalingNotificationTypesRequest(params) @@ -1838,19 +1819,18 @@ const opDescribeLaunchConfigurations = "DescribeLaunchConfigurations" // DescribeLaunchConfigurationsRequest generates a "aws/request.Request" representing the // client's request for the DescribeLaunchConfigurations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeLaunchConfigurations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeLaunchConfigurations method directly -// instead. +// See DescribeLaunchConfigurations for more information on using the DescribeLaunchConfigurations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeLaunchConfigurationsRequest method. // req, resp := client.DescribeLaunchConfigurationsRequest(params) @@ -1978,19 +1958,18 @@ const opDescribeLifecycleHookTypes = "DescribeLifecycleHookTypes" // DescribeLifecycleHookTypesRequest generates a "aws/request.Request" representing the // client's request for the DescribeLifecycleHookTypes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeLifecycleHookTypes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeLifecycleHookTypes method directly -// instead. +// See DescribeLifecycleHookTypes for more information on using the DescribeLifecycleHookTypes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeLifecycleHookTypesRequest method. // req, resp := client.DescribeLifecycleHookTypesRequest(params) @@ -2059,19 +2038,18 @@ const opDescribeLifecycleHooks = "DescribeLifecycleHooks" // DescribeLifecycleHooksRequest generates a "aws/request.Request" representing the // client's request for the DescribeLifecycleHooks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeLifecycleHooks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeLifecycleHooks method directly -// instead. +// See DescribeLifecycleHooks for more information on using the DescribeLifecycleHooks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeLifecycleHooksRequest method. // req, resp := client.DescribeLifecycleHooksRequest(params) @@ -2140,19 +2118,18 @@ const opDescribeLoadBalancerTargetGroups = "DescribeLoadBalancerTargetGroups" // DescribeLoadBalancerTargetGroupsRequest generates a "aws/request.Request" representing the // client's request for the DescribeLoadBalancerTargetGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeLoadBalancerTargetGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeLoadBalancerTargetGroups method directly -// instead. +// See DescribeLoadBalancerTargetGroups for more information on using the DescribeLoadBalancerTargetGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeLoadBalancerTargetGroupsRequest method. // req, resp := client.DescribeLoadBalancerTargetGroupsRequest(params) @@ -2221,19 +2198,18 @@ const opDescribeLoadBalancers = "DescribeLoadBalancers" // DescribeLoadBalancersRequest generates a "aws/request.Request" representing the // client's request for the DescribeLoadBalancers operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeLoadBalancers for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeLoadBalancers method directly -// instead. +// See DescribeLoadBalancers for more information on using the DescribeLoadBalancers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeLoadBalancersRequest method. // req, resp := client.DescribeLoadBalancersRequest(params) @@ -2305,19 +2281,18 @@ const opDescribeMetricCollectionTypes = "DescribeMetricCollectionTypes" // DescribeMetricCollectionTypesRequest generates a "aws/request.Request" representing the // client's request for the DescribeMetricCollectionTypes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeMetricCollectionTypes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeMetricCollectionTypes method directly -// instead. +// See DescribeMetricCollectionTypes for more information on using the DescribeMetricCollectionTypes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeMetricCollectionTypesRequest method. // req, resp := client.DescribeMetricCollectionTypesRequest(params) @@ -2389,19 +2364,18 @@ const opDescribeNotificationConfigurations = "DescribeNotificationConfigurations // DescribeNotificationConfigurationsRequest generates a "aws/request.Request" representing the // client's request for the DescribeNotificationConfigurations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeNotificationConfigurations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeNotificationConfigurations method directly -// instead. +// See DescribeNotificationConfigurations for more information on using the DescribeNotificationConfigurations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeNotificationConfigurationsRequest method. // req, resp := client.DescribeNotificationConfigurationsRequest(params) @@ -2530,19 +2504,18 @@ const opDescribePolicies = "DescribePolicies" // DescribePoliciesRequest generates a "aws/request.Request" representing the // client's request for the DescribePolicies operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribePolicies for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribePolicies method directly -// instead. +// See DescribePolicies for more information on using the DescribePolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribePoliciesRequest method. // req, resp := client.DescribePoliciesRequest(params) @@ -2670,19 +2643,18 @@ const opDescribeScalingActivities = "DescribeScalingActivities" // DescribeScalingActivitiesRequest generates a "aws/request.Request" representing the // client's request for the DescribeScalingActivities operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeScalingActivities for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeScalingActivities method directly -// instead. +// See DescribeScalingActivities for more information on using the DescribeScalingActivities +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeScalingActivitiesRequest method. // req, resp := client.DescribeScalingActivitiesRequest(params) @@ -2810,19 +2782,18 @@ const opDescribeScalingProcessTypes = "DescribeScalingProcessTypes" // DescribeScalingProcessTypesRequest generates a "aws/request.Request" representing the // client's request for the DescribeScalingProcessTypes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeScalingProcessTypes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeScalingProcessTypes method directly -// instead. +// See DescribeScalingProcessTypes for more information on using the DescribeScalingProcessTypes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeScalingProcessTypesRequest method. // req, resp := client.DescribeScalingProcessTypesRequest(params) @@ -2891,19 +2862,18 @@ const opDescribeScheduledActions = "DescribeScheduledActions" // DescribeScheduledActionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeScheduledActions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeScheduledActions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeScheduledActions method directly -// instead. +// See DescribeScheduledActions for more information on using the DescribeScheduledActions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeScheduledActionsRequest method. // req, resp := client.DescribeScheduledActionsRequest(params) @@ -3032,19 +3002,18 @@ const opDescribeTags = "DescribeTags" // DescribeTagsRequest generates a "aws/request.Request" representing the // client's request for the DescribeTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTags method directly -// instead. +// See DescribeTags for more information on using the DescribeTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTagsRequest method. // req, resp := client.DescribeTagsRequest(params) @@ -3181,19 +3150,18 @@ const opDescribeTerminationPolicyTypes = "DescribeTerminationPolicyTypes" // DescribeTerminationPolicyTypesRequest generates a "aws/request.Request" representing the // client's request for the DescribeTerminationPolicyTypes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTerminationPolicyTypes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTerminationPolicyTypes method directly -// instead. +// See DescribeTerminationPolicyTypes for more information on using the DescribeTerminationPolicyTypes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTerminationPolicyTypesRequest method. // req, resp := client.DescribeTerminationPolicyTypesRequest(params) @@ -3262,19 +3230,18 @@ const opDetachInstances = "DetachInstances" // DetachInstancesRequest generates a "aws/request.Request" representing the // client's request for the DetachInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DetachInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DetachInstances method directly -// instead. +// See DetachInstances for more information on using the DetachInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DetachInstancesRequest method. // req, resp := client.DetachInstancesRequest(params) @@ -3305,8 +3272,8 @@ func (c *AutoScaling) DetachInstancesRequest(input *DetachInstancesInput) (req * // // Removes one or more instances from the specified Auto Scaling group. // -// After the instances are detached, you can manage them independently from -// the rest of the Auto Scaling group. +// After the instances are detached, you can manage them independent of the +// Auto Scaling group. // // If you do not specify the option to decrement the desired capacity, Auto // Scaling launches instances to replace the ones that are detached. @@ -3358,19 +3325,18 @@ const opDetachLoadBalancerTargetGroups = "DetachLoadBalancerTargetGroups" // DetachLoadBalancerTargetGroupsRequest generates a "aws/request.Request" representing the // client's request for the DetachLoadBalancerTargetGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DetachLoadBalancerTargetGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DetachLoadBalancerTargetGroups method directly -// instead. +// See DetachLoadBalancerTargetGroups for more information on using the DetachLoadBalancerTargetGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DetachLoadBalancerTargetGroupsRequest method. // req, resp := client.DetachLoadBalancerTargetGroupsRequest(params) @@ -3439,19 +3405,18 @@ const opDetachLoadBalancers = "DetachLoadBalancers" // DetachLoadBalancersRequest generates a "aws/request.Request" representing the // client's request for the DetachLoadBalancers operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DetachLoadBalancers for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DetachLoadBalancers method directly -// instead. +// See DetachLoadBalancers for more information on using the DetachLoadBalancers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DetachLoadBalancersRequest method. // req, resp := client.DetachLoadBalancersRequest(params) @@ -3529,19 +3494,18 @@ const opDisableMetricsCollection = "DisableMetricsCollection" // DisableMetricsCollectionRequest generates a "aws/request.Request" representing the // client's request for the DisableMetricsCollection operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisableMetricsCollection for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisableMetricsCollection method directly -// instead. +// See DisableMetricsCollection for more information on using the DisableMetricsCollection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisableMetricsCollectionRequest method. // req, resp := client.DisableMetricsCollectionRequest(params) @@ -3612,19 +3576,18 @@ const opEnableMetricsCollection = "EnableMetricsCollection" // EnableMetricsCollectionRequest generates a "aws/request.Request" representing the // client's request for the EnableMetricsCollection operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EnableMetricsCollection for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EnableMetricsCollection method directly -// instead. +// See EnableMetricsCollection for more information on using the EnableMetricsCollection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EnableMetricsCollectionRequest method. // req, resp := client.EnableMetricsCollectionRequest(params) @@ -3697,19 +3660,18 @@ const opEnterStandby = "EnterStandby" // EnterStandbyRequest generates a "aws/request.Request" representing the // client's request for the EnterStandby operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EnterStandby for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EnterStandby method directly -// instead. +// See EnterStandby for more information on using the EnterStandby +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EnterStandbyRequest method. // req, resp := client.EnterStandbyRequest(params) @@ -3738,9 +3700,10 @@ func (c *AutoScaling) EnterStandbyRequest(input *EnterStandbyInput) (req *reques // EnterStandby API operation for Auto Scaling. // -// Moves the specified instances into Standby mode. +// Moves the specified instances into the standby state. // -// For more information, see Auto Scaling Lifecycle (http://docs.aws.amazon.com/autoscaling/latest/userguide/AutoScalingGroupLifecycle.html) +// For more information, see Temporarily Removing Instances from Your Auto Scaling +// Group (http://docs.aws.amazon.com/autoscaling/latest/userguide/as-enter-exit-standby.html) // in the Auto Scaling User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3781,19 +3744,18 @@ const opExecutePolicy = "ExecutePolicy" // ExecutePolicyRequest generates a "aws/request.Request" representing the // client's request for the ExecutePolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ExecutePolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ExecutePolicy method directly -// instead. +// See ExecutePolicy for more information on using the ExecutePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ExecutePolicyRequest method. // req, resp := client.ExecutePolicyRequest(params) @@ -3868,19 +3830,18 @@ const opExitStandby = "ExitStandby" // ExitStandbyRequest generates a "aws/request.Request" representing the // client's request for the ExitStandby operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ExitStandby for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ExitStandby method directly -// instead. +// See ExitStandby for more information on using the ExitStandby +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ExitStandbyRequest method. // req, resp := client.ExitStandbyRequest(params) @@ -3909,9 +3870,10 @@ func (c *AutoScaling) ExitStandbyRequest(input *ExitStandbyInput) (req *request. // ExitStandby API operation for Auto Scaling. // -// Moves the specified instances out of Standby mode. +// Moves the specified instances out of the standby state. // -// For more information, see Auto Scaling Lifecycle (http://docs.aws.amazon.com/autoscaling/latest/userguide/AutoScalingGroupLifecycle.html) +// For more information, see Temporarily Removing Instances from Your Auto Scaling +// Group (http://docs.aws.amazon.com/autoscaling/latest/userguide/as-enter-exit-standby.html) // in the Auto Scaling User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3952,19 +3914,18 @@ const opPutLifecycleHook = "PutLifecycleHook" // PutLifecycleHookRequest generates a "aws/request.Request" representing the // client's request for the PutLifecycleHook operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutLifecycleHook for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutLifecycleHook method directly -// instead. +// See PutLifecycleHook for more information on using the PutLifecycleHook +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutLifecycleHookRequest method. // req, resp := client.PutLifecycleHookRequest(params) @@ -4068,19 +4029,18 @@ const opPutNotificationConfiguration = "PutNotificationConfiguration" // PutNotificationConfigurationRequest generates a "aws/request.Request" representing the // client's request for the PutNotificationConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutNotificationConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutNotificationConfiguration method directly -// instead. +// See PutNotificationConfiguration for more information on using the PutNotificationConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutNotificationConfigurationRequest method. // req, resp := client.PutNotificationConfigurationRequest(params) @@ -4164,19 +4124,18 @@ const opPutScalingPolicy = "PutScalingPolicy" // PutScalingPolicyRequest generates a "aws/request.Request" representing the // client's request for the PutScalingPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutScalingPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutScalingPolicy method directly -// instead. +// See PutScalingPolicy for more information on using the PutScalingPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutScalingPolicyRequest method. // req, resp := client.PutScalingPolicyRequest(params) @@ -4258,19 +4217,18 @@ const opPutScheduledUpdateGroupAction = "PutScheduledUpdateGroupAction" // PutScheduledUpdateGroupActionRequest generates a "aws/request.Request" representing the // client's request for the PutScheduledUpdateGroupAction operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutScheduledUpdateGroupAction for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutScheduledUpdateGroupAction method directly -// instead. +// See PutScheduledUpdateGroupAction for more information on using the PutScheduledUpdateGroupAction +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutScheduledUpdateGroupActionRequest method. // req, resp := client.PutScheduledUpdateGroupActionRequest(params) @@ -4355,19 +4313,18 @@ const opRecordLifecycleActionHeartbeat = "RecordLifecycleActionHeartbeat" // RecordLifecycleActionHeartbeatRequest generates a "aws/request.Request" representing the // client's request for the RecordLifecycleActionHeartbeat operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RecordLifecycleActionHeartbeat for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RecordLifecycleActionHeartbeat method directly -// instead. +// See RecordLifecycleActionHeartbeat for more information on using the RecordLifecycleActionHeartbeat +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RecordLifecycleActionHeartbeatRequest method. // req, resp := client.RecordLifecycleActionHeartbeatRequest(params) @@ -4459,19 +4416,18 @@ const opResumeProcesses = "ResumeProcesses" // ResumeProcessesRequest generates a "aws/request.Request" representing the // client's request for the ResumeProcesses operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ResumeProcesses for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ResumeProcesses method directly -// instead. +// See ResumeProcesses for more information on using the ResumeProcesses +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ResumeProcessesRequest method. // req, resp := client.ResumeProcessesRequest(params) @@ -4550,19 +4506,18 @@ const opSetDesiredCapacity = "SetDesiredCapacity" // SetDesiredCapacityRequest generates a "aws/request.Request" representing the // client's request for the SetDesiredCapacity operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetDesiredCapacity for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetDesiredCapacity method directly -// instead. +// See SetDesiredCapacity for more information on using the SetDesiredCapacity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetDesiredCapacityRequest method. // req, resp := client.SetDesiredCapacityRequest(params) @@ -4640,19 +4595,18 @@ const opSetInstanceHealth = "SetInstanceHealth" // SetInstanceHealthRequest generates a "aws/request.Request" representing the // client's request for the SetInstanceHealth operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetInstanceHealth for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetInstanceHealth method directly -// instead. +// See SetInstanceHealth for more information on using the SetInstanceHealth +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetInstanceHealthRequest method. // req, resp := client.SetInstanceHealthRequest(params) @@ -4726,19 +4680,18 @@ const opSetInstanceProtection = "SetInstanceProtection" // SetInstanceProtectionRequest generates a "aws/request.Request" representing the // client's request for the SetInstanceProtection operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetInstanceProtection for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetInstanceProtection method directly -// instead. +// See SetInstanceProtection for more information on using the SetInstanceProtection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetInstanceProtectionRequest method. // req, resp := client.SetInstanceProtectionRequest(params) @@ -4815,19 +4768,18 @@ const opSuspendProcesses = "SuspendProcesses" // SuspendProcessesRequest generates a "aws/request.Request" representing the // client's request for the SuspendProcesses operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SuspendProcesses for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SuspendProcesses method directly -// instead. +// See SuspendProcesses for more information on using the SuspendProcesses +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SuspendProcessesRequest method. // req, resp := client.SuspendProcessesRequest(params) @@ -4911,19 +4863,18 @@ const opTerminateInstanceInAutoScalingGroup = "TerminateInstanceInAutoScalingGro // TerminateInstanceInAutoScalingGroupRequest generates a "aws/request.Request" representing the // client's request for the TerminateInstanceInAutoScalingGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TerminateInstanceInAutoScalingGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TerminateInstanceInAutoScalingGroup method directly -// instead. +// See TerminateInstanceInAutoScalingGroup for more information on using the TerminateInstanceInAutoScalingGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TerminateInstanceInAutoScalingGroupRequest method. // req, resp := client.TerminateInstanceInAutoScalingGroupRequest(params) @@ -5000,19 +4951,18 @@ const opUpdateAutoScalingGroup = "UpdateAutoScalingGroup" // UpdateAutoScalingGroupRequest generates a "aws/request.Request" representing the // client's request for the UpdateAutoScalingGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateAutoScalingGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateAutoScalingGroup method directly -// instead. +// See UpdateAutoScalingGroup for more information on using the UpdateAutoScalingGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateAutoScalingGroupRequest method. // req, resp := client.UpdateAutoScalingGroupRequest(params) @@ -5045,15 +4995,14 @@ func (c *AutoScaling) UpdateAutoScalingGroupRequest(input *UpdateAutoScalingGrou // // Updates the configuration for the specified Auto Scaling group. // +// The new settings take effect on any scaling activities after this call returns. +// Scaling activities that are currently in progress aren't affected. +// // To update an Auto Scaling group with a launch configuration with InstanceMonitoring -// set to False, you must first disable the collection of group metrics. Otherwise, +// set to false, you must first disable the collection of group metrics. Otherwise, // you will get an error. If you have previously enabled the collection of group // metrics, you can disable it using DisableMetricsCollection. // -// The new settings are registered upon the completion of this call. Any launch -// configuration settings take effect on any triggers after this call returns. -// Scaling activities that are currently in progress aren't affected. -// // Note the following: // // * If you specify a new value for MinSize without specifying a value for @@ -5287,7 +5236,6 @@ func (s *Alarm) SetAlarmName(v string) *Alarm { return s } -// Contains the parameters for AttachInstances. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/AttachInstancesQuery type AttachInstancesInput struct { _ struct{} `type:"structure"` @@ -5354,7 +5302,6 @@ func (s AttachInstancesOutput) GoString() string { return s.String() } -// Contains the parameters for AttachLoadBalancerTargetGroups. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/AttachLoadBalancerTargetGroupsType type AttachLoadBalancerTargetGroupsInput struct { _ struct{} `type:"structure"` @@ -5426,7 +5373,6 @@ func (s AttachLoadBalancerTargetGroupsOutput) GoString() string { return s.String() } -// Contains the parameters for AttachLoadBalancers. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/AttachLoadBalancersType type AttachLoadBalancersInput struct { _ struct{} `type:"structure"` @@ -5483,7 +5429,6 @@ func (s *AttachLoadBalancersInput) SetLoadBalancerNames(v []*string) *AttachLoad return s } -// Contains the output of AttachLoadBalancers. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/AttachLoadBalancersResultType type AttachLoadBalancersOutput struct { _ struct{} `type:"structure"` @@ -5581,7 +5526,6 @@ func (s *BlockDeviceMapping) SetVirtualName(v string) *BlockDeviceMapping { return s } -// Contains the parameters for CompleteLifecycleAction. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CompleteLifecycleActionType type CompleteLifecycleActionInput struct { _ struct{} `type:"structure"` @@ -5682,7 +5626,6 @@ func (s *CompleteLifecycleActionInput) SetLifecycleHookName(v string) *CompleteL return s } -// Contains the output of CompleteLifecycleAction. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CompleteLifecycleActionAnswer type CompleteLifecycleActionOutput struct { _ struct{} `type:"structure"` @@ -5698,7 +5641,6 @@ func (s CompleteLifecycleActionOutput) GoString() string { return s.String() } -// Contains the parameters for CreateAutoScalingGroup. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CreateAutoScalingGroupType type CreateAutoScalingGroupInput struct { _ struct{} `type:"structure"` @@ -5722,7 +5664,8 @@ type CreateAutoScalingGroupInput struct { // The number of EC2 instances that should be running in the group. This number // must be greater than or equal to the minimum size of the group and less than - // or equal to the maximum size of the group. + // or equal to the maximum size of the group. If you do not specify a desired + // capacity, the default is the minimum size of the group. DesiredCapacity *int64 `type:"integer"` // The amount of time, in seconds, that Auto Scaling waits before checking the @@ -5760,6 +5703,9 @@ type CreateAutoScalingGroupInput struct { // instead of a launch configuration. LaunchConfigurationName *string `min:"1" type:"string"` + // One or more lifecycle hooks. + LifecycleHookSpecificationList []*LifecycleHookSpecification `type:"list"` + // One or more Classic Load Balancers. To specify an Application Load Balancer, // use TargetGroupARNs instead. // @@ -5858,6 +5804,16 @@ func (s *CreateAutoScalingGroupInput) Validate() error { if s.VPCZoneIdentifier != nil && len(*s.VPCZoneIdentifier) < 1 { invalidParams.Add(request.NewErrParamMinLen("VPCZoneIdentifier", 1)) } + if s.LifecycleHookSpecificationList != nil { + for i, v := range s.LifecycleHookSpecificationList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LifecycleHookSpecificationList", i), err.(request.ErrInvalidParams)) + } + } + } if s.Tags != nil { for i, v := range s.Tags { if v == nil { @@ -5923,6 +5879,12 @@ func (s *CreateAutoScalingGroupInput) SetLaunchConfigurationName(v string) *Crea return s } +// SetLifecycleHookSpecificationList sets the LifecycleHookSpecificationList field's value. +func (s *CreateAutoScalingGroupInput) SetLifecycleHookSpecificationList(v []*LifecycleHookSpecification) *CreateAutoScalingGroupInput { + s.LifecycleHookSpecificationList = v + return s +} + // SetLoadBalancerNames sets the LoadBalancerNames field's value. func (s *CreateAutoScalingGroupInput) SetLoadBalancerNames(v []*string) *CreateAutoScalingGroupInput { s.LoadBalancerNames = v @@ -5992,7 +5954,6 @@ func (s CreateAutoScalingGroupOutput) GoString() string { return s.String() } -// Contains the parameters for CreateLaunchConfiguration. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CreateLaunchConfigurationType type CreateLaunchConfigurationInput struct { _ struct{} `type:"structure"` @@ -6049,14 +6010,18 @@ type CreateLaunchConfigurationInput struct { IamInstanceProfile *string `min:"1" type:"string"` // The ID of the Amazon Machine Image (AMI) to use to launch your EC2 instances. + // + // If you do not specify InstanceId, you must specify ImageId. + // // For more information, see Finding an AMI (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html) // in the Amazon Elastic Compute Cloud User Guide. ImageId *string `min:"1" type:"string"` - // The ID of the instance to use to create the launch configuration. + // The ID of the instance to use to create the launch configuration. The new + // launch configuration derives attributes from the instance, with the exception + // of the block device mapping. // - // The new launch configuration derives attributes from the instance, with the - // exception of the block device mapping. + // If you do not specify InstanceId, you must specify both ImageId and InstanceType. // // To create a launch configuration with a block device mapping or override // any other instance attributes, specify them as part of the same request. @@ -6067,11 +6032,15 @@ type CreateLaunchConfigurationInput struct { InstanceId *string `min:"1" type:"string"` // Enables detailed monitoring (true) or basic monitoring (false) for the Auto - // Scaling instances. + // Scaling instances. The default is true. InstanceMonitoring *InstanceMonitoring `type:"structure"` - // The instance type of the EC2 instance. For information about available instance - // types, see Available Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#AvailableInstanceTypes) + // The instance type of the EC2 instance. + // + // If you do not specify InstanceId, you must specify InstanceType. + // + // For information about available instance types, see Available Instance Types + // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#AvailableInstanceTypes) // in the Amazon Elastic Compute Cloud User Guide. InstanceType *string `min:"1" type:"string"` @@ -6322,7 +6291,6 @@ func (s CreateLaunchConfigurationOutput) GoString() string { return s.String() } -// Contains the parameters for CreateOrUpdateTags. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CreateOrUpdateTagsType type CreateOrUpdateTagsInput struct { _ struct{} `type:"structure"` @@ -6483,7 +6451,6 @@ func (s *CustomizedMetricSpecification) SetUnit(v string) *CustomizedMetricSpeci return s } -// Contains the parameters for DeleteAutoScalingGroup. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteAutoScalingGroupType type DeleteAutoScalingGroupInput struct { _ struct{} `type:"structure"` @@ -6552,7 +6519,6 @@ func (s DeleteAutoScalingGroupOutput) GoString() string { return s.String() } -// Contains the parameters for DeleteLaunchConfiguration. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/LaunchConfigurationNameType type DeleteLaunchConfigurationInput struct { _ struct{} `type:"structure"` @@ -6610,7 +6576,6 @@ func (s DeleteLaunchConfigurationOutput) GoString() string { return s.String() } -// Contains the parameters for DeleteLifecycleHook. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteLifecycleHookType type DeleteLifecycleHookInput struct { _ struct{} `type:"structure"` @@ -6670,7 +6635,6 @@ func (s *DeleteLifecycleHookInput) SetLifecycleHookName(v string) *DeleteLifecyc return s } -// Contains the output of DeleteLifecycleHook. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteLifecycleHookAnswer type DeleteLifecycleHookOutput struct { _ struct{} `type:"structure"` @@ -6686,7 +6650,6 @@ func (s DeleteLifecycleHookOutput) GoString() string { return s.String() } -// Contains the parameters for DeleteNotificationConfiguration. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteNotificationConfigurationType type DeleteNotificationConfigurationInput struct { _ struct{} `type:"structure"` @@ -6762,7 +6725,6 @@ func (s DeleteNotificationConfigurationOutput) GoString() string { return s.String() } -// Contains the parameters for DeletePolicy. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeletePolicyType type DeletePolicyInput struct { _ struct{} `type:"structure"` @@ -6832,7 +6794,6 @@ func (s DeletePolicyOutput) GoString() string { return s.String() } -// Contains the parameters for DeleteScheduledAction. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteScheduledActionType type DeleteScheduledActionInput struct { _ struct{} `type:"structure"` @@ -6907,7 +6868,6 @@ func (s DeleteScheduledActionOutput) GoString() string { return s.String() } -// Contains the parameters for DeleteTags. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteTagsType type DeleteTagsInput struct { _ struct{} `type:"structure"` @@ -6987,7 +6947,6 @@ func (s DescribeAccountLimitsInput) GoString() string { return s.String() } -// Contains the parameters for DescribeAccountLimits. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeAccountLimitsAnswer type DescribeAccountLimitsOutput struct { _ struct{} `type:"structure"` @@ -7056,7 +7015,6 @@ func (s DescribeAdjustmentTypesInput) GoString() string { return s.String() } -// Contains the parameters for DescribeAdjustmentTypes. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeAdjustmentTypesAnswer type DescribeAdjustmentTypesOutput struct { _ struct{} `type:"structure"` @@ -7081,7 +7039,6 @@ func (s *DescribeAdjustmentTypesOutput) SetAdjustmentTypes(v []*AdjustmentType) return s } -// Contains the parameters for DescribeAutoScalingGroups. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/GroupNamesType type DescribeAutoScalingGroupsInput struct { _ struct{} `type:"structure"` @@ -7127,7 +7084,6 @@ func (s *DescribeAutoScalingGroupsInput) SetNextToken(v string) *DescribeAutoSca return s } -// Contains the output for DescribeAutoScalingGroups. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/GroupsType type DescribeAutoScalingGroupsOutput struct { _ struct{} `type:"structure"` @@ -7164,7 +7120,6 @@ func (s *DescribeAutoScalingGroupsOutput) SetNextToken(v string) *DescribeAutoSc return s } -// Contains the parameters for DescribeAutoScalingInstances. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeAutoScalingInstancesType type DescribeAutoScalingInstancesInput struct { _ struct{} `type:"structure"` @@ -7211,7 +7166,6 @@ func (s *DescribeAutoScalingInstancesInput) SetNextToken(v string) *DescribeAuto return s } -// Contains the output of DescribeAutoScalingInstances. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/InstancesType type DescribeAutoScalingInstancesOutput struct { _ struct{} `type:"structure"` @@ -7261,7 +7215,6 @@ func (s DescribeAutoScalingNotificationTypesInput) GoString() string { return s.String() } -// Contains the output of DescribeAutoScalingNotificationTypes. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeAutoScalingNotificationTypesAnswer type DescribeAutoScalingNotificationTypesOutput struct { _ struct{} `type:"structure"` @@ -7286,7 +7239,6 @@ func (s *DescribeAutoScalingNotificationTypesOutput) SetAutoScalingNotificationT return s } -// Contains the parameters for DescribeLaunchConfigurations. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/LaunchConfigurationNamesType type DescribeLaunchConfigurationsInput struct { _ struct{} `type:"structure"` @@ -7332,7 +7284,6 @@ func (s *DescribeLaunchConfigurationsInput) SetNextToken(v string) *DescribeLaun return s } -// Contains the output of DescribeLaunchConfigurations. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/LaunchConfigurationsType type DescribeLaunchConfigurationsOutput struct { _ struct{} `type:"structure"` @@ -7384,7 +7335,6 @@ func (s DescribeLifecycleHookTypesInput) GoString() string { return s.String() } -// Contains the output of DescribeLifecycleHookTypes. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeLifecycleHookTypesAnswer type DescribeLifecycleHookTypesOutput struct { _ struct{} `type:"structure"` @@ -7409,7 +7359,6 @@ func (s *DescribeLifecycleHookTypesOutput) SetLifecycleHookTypes(v []*string) *D return s } -// Contains the parameters for DescribeLifecycleHooks. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeLifecycleHooksType type DescribeLifecycleHooksInput struct { _ struct{} `type:"structure"` @@ -7462,7 +7411,6 @@ func (s *DescribeLifecycleHooksInput) SetLifecycleHookNames(v []*string) *Descri return s } -// Contains the output of DescribeLifecycleHooks. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeLifecycleHooksAnswer type DescribeLifecycleHooksOutput struct { _ struct{} `type:"structure"` @@ -7487,7 +7435,6 @@ func (s *DescribeLifecycleHooksOutput) SetLifecycleHooks(v []*LifecycleHook) *De return s } -// Contains the parameters for DescribeLoadBalancerTargetGroups. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeLoadBalancerTargetGroupsRequest type DescribeLoadBalancerTargetGroupsInput struct { _ struct{} `type:"structure"` @@ -7550,7 +7497,6 @@ func (s *DescribeLoadBalancerTargetGroupsInput) SetNextToken(v string) *Describe return s } -// Contains the output of DescribeLoadBalancerTargetGroups. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeLoadBalancerTargetGroupsResponse type DescribeLoadBalancerTargetGroupsOutput struct { _ struct{} `type:"structure"` @@ -7585,7 +7531,6 @@ func (s *DescribeLoadBalancerTargetGroupsOutput) SetNextToken(v string) *Describ return s } -// Contains the parameters for DescribeLoadBalancers. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeLoadBalancersRequest type DescribeLoadBalancersInput struct { _ struct{} `type:"structure"` @@ -7648,7 +7593,6 @@ func (s *DescribeLoadBalancersInput) SetNextToken(v string) *DescribeLoadBalance return s } -// Contains the output of DescribeLoadBalancers. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeLoadBalancersResponse type DescribeLoadBalancersOutput struct { _ struct{} `type:"structure"` @@ -7698,7 +7642,6 @@ func (s DescribeMetricCollectionTypesInput) GoString() string { return s.String() } -// Contains the output of DescribeMetricsCollectionTypes. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeMetricCollectionTypesAnswer type DescribeMetricCollectionTypesOutput struct { _ struct{} `type:"structure"` @@ -7732,7 +7675,6 @@ func (s *DescribeMetricCollectionTypesOutput) SetMetrics(v []*MetricCollectionTy return s } -// Contains the parameters for DescribeNotificationConfigurations. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeNotificationConfigurationsType type DescribeNotificationConfigurationsInput struct { _ struct{} `type:"structure"` @@ -7777,7 +7719,6 @@ func (s *DescribeNotificationConfigurationsInput) SetNextToken(v string) *Descri return s } -// Contains the output from DescribeNotificationConfigurations. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeNotificationConfigurationsAnswer type DescribeNotificationConfigurationsOutput struct { _ struct{} `type:"structure"` @@ -7814,7 +7755,6 @@ func (s *DescribeNotificationConfigurationsOutput) SetNotificationConfigurations return s } -// Contains the parameters for DescribePolicies. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribePoliciesType type DescribePoliciesInput struct { _ struct{} `type:"structure"` @@ -7893,7 +7833,6 @@ func (s *DescribePoliciesInput) SetPolicyTypes(v []*string) *DescribePoliciesInp return s } -// Contains the output of DescribePolicies. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PoliciesType type DescribePoliciesOutput struct { _ struct{} `type:"structure"` @@ -7928,7 +7867,6 @@ func (s *DescribePoliciesOutput) SetScalingPolicies(v []*ScalingPolicy) *Describ return s } -// Contains the parameters for DescribeScalingActivities. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeScalingActivitiesType type DescribeScalingActivitiesInput struct { _ struct{} `type:"structure"` @@ -7999,7 +7937,6 @@ func (s *DescribeScalingActivitiesInput) SetNextToken(v string) *DescribeScaling return s } -// Contains the output of DescribeScalingActivities. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/ActivitiesType type DescribeScalingActivitiesOutput struct { _ struct{} `type:"structure"` @@ -8052,7 +7989,6 @@ func (s DescribeScalingProcessTypesInput) GoString() string { return s.String() } -// Contains the output of DescribeScalingProcessTypes. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/ProcessesType type DescribeScalingProcessTypesOutput struct { _ struct{} `type:"structure"` @@ -8077,7 +8013,6 @@ func (s *DescribeScalingProcessTypesOutput) SetProcesses(v []*ProcessType) *Desc return s } -// Contains the parameters for DescribeScheduledActions. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeScheduledActionsType type DescribeScheduledActionsInput struct { _ struct{} `type:"structure"` @@ -8170,7 +8105,6 @@ func (s *DescribeScheduledActionsInput) SetStartTime(v time.Time) *DescribeSched return s } -// Contains the output of DescribeScheduledActions. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/ScheduledActionsType type DescribeScheduledActionsOutput struct { _ struct{} `type:"structure"` @@ -8205,7 +8139,6 @@ func (s *DescribeScheduledActionsOutput) SetScheduledUpdateGroupActions(v []*Sch return s } -// Contains the parameters for DescribeTags. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeTagsType type DescribeTagsInput struct { _ struct{} `type:"structure"` @@ -8250,7 +8183,6 @@ func (s *DescribeTagsInput) SetNextToken(v string) *DescribeTagsInput { return s } -// Contains the output of DescribeTags. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/TagsType type DescribeTagsOutput struct { _ struct{} `type:"structure"` @@ -8300,7 +8232,6 @@ func (s DescribeTerminationPolicyTypesInput) GoString() string { return s.String() } -// Contains the output of DescribeTerminationPolicyTypes. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeTerminationPolicyTypesAnswer type DescribeTerminationPolicyTypesOutput struct { _ struct{} `type:"structure"` @@ -8326,7 +8257,6 @@ func (s *DescribeTerminationPolicyTypesOutput) SetTerminationPolicyTypes(v []*st return s } -// Contains the parameters for DetachInstances. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DetachInstancesQuery type DetachInstancesInput struct { _ struct{} `type:"structure"` @@ -8393,7 +8323,6 @@ func (s *DetachInstancesInput) SetShouldDecrementDesiredCapacity(v bool) *Detach return s } -// Contains the output of DetachInstances. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DetachInstancesAnswer type DetachInstancesOutput struct { _ struct{} `type:"structure"` @@ -8489,7 +8418,6 @@ func (s DetachLoadBalancerTargetGroupsOutput) GoString() string { return s.String() } -// Contains the parameters for DetachLoadBalancers. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DetachLoadBalancersType type DetachLoadBalancersInput struct { _ struct{} `type:"structure"` @@ -8546,7 +8474,6 @@ func (s *DetachLoadBalancersInput) SetLoadBalancerNames(v []*string) *DetachLoad return s } -// Contains the output for DetachLoadBalancers. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DetachLoadBalancersResultType type DetachLoadBalancersOutput struct { _ struct{} `type:"structure"` @@ -8562,7 +8489,6 @@ func (s DetachLoadBalancersOutput) GoString() string { return s.String() } -// Contains the parameters for DisableMetricsCollection. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DisableMetricsCollectionQuery type DisableMetricsCollectionInput struct { _ struct{} `type:"structure"` @@ -8759,7 +8685,6 @@ func (s *Ebs) SetVolumeType(v string) *Ebs { return s } -// Contains the parameters for EnableMetricsCollection. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/EnableMetricsCollectionQuery type EnableMetricsCollectionInput struct { _ struct{} `type:"structure"` @@ -8911,7 +8836,6 @@ func (s *EnabledMetric) SetMetric(v string) *EnabledMetric { return s } -// Contains the parameters for EnteStandby. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/EnterStandbyQuery type EnterStandbyInput struct { _ struct{} `type:"structure"` @@ -8981,7 +8905,6 @@ func (s *EnterStandbyInput) SetShouldDecrementDesiredCapacity(v bool) *EnterStan return s } -// Contains the output of EnterStandby. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/EnterStandbyAnswer type EnterStandbyOutput struct { _ struct{} `type:"structure"` @@ -9006,7 +8929,6 @@ func (s *EnterStandbyOutput) SetActivities(v []*Activity) *EnterStandbyOutput { return s } -// Contains the parameters for ExecutePolicy. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/ExecutePolicyType type ExecutePolicyInput struct { _ struct{} `type:"structure"` @@ -9123,7 +9045,6 @@ func (s ExecutePolicyOutput) GoString() string { return s.String() } -// Contains the parameters for ExitStandby. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/ExitStandbyQuery type ExitStandbyInput struct { _ struct{} `type:"structure"` @@ -9175,7 +9096,6 @@ func (s *ExitStandbyInput) SetInstanceIds(v []*string) *ExitStandbyInput { return s } -// Contains the parameters for ExitStandby. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/ExitStandbyAnswer type ExitStandbyOutput struct { _ struct{} `type:"structure"` @@ -9658,12 +9578,12 @@ func (s *InstanceDetails) SetProtectedFromScaleIn(v bool) *InstanceDetails { return s } -// Describes whether instance monitoring is enabled. +// Describes whether detailed monitoring is enabled for the Auto Scaling instances. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/InstanceMonitoring type InstanceMonitoring struct { _ struct{} `type:"structure"` - // If True, instance monitoring is enabled. + // If true, detailed monitoring is enabled. Otherwise, basic monitoring is enabled. Enabled *bool `type:"boolean"` } @@ -9889,14 +9809,9 @@ func (s *LaunchConfiguration) SetUserData(v string) *LaunchConfiguration { } // Describes a lifecycle hook, which tells Auto Scaling that you want to perform -// an action when an instance launches or terminates. When you have a lifecycle -// hook in place, the Auto Scaling group will either: +// an action whenever it launches instances or whenever it terminates instances. // -// * Pause the instance after it launches, but before it is put into service -// -// * Pause the instance as it terminates, but before it is fully terminated -// -// For more information, see Auto Scaling Lifecycle (http://docs.aws.amazon.com/autoscaling/latest/userguide/AutoScalingGroupLifecycle.html) +// For more information, see Auto Scaling Lifecycle Hooks (http://docs.aws.amazon.com/autoscaling/latest/userguide/lifecycle-hooks.html) // in the Auto Scaling User Guide. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/LifecycleHook type LifecycleHook struct { @@ -9916,9 +9831,8 @@ type LifecycleHook struct { GlobalTimeout *int64 `type:"integer"` // The maximum time, in seconds, that can elapse before the lifecycle hook times - // out. The default is 3600 seconds (1 hour). When the lifecycle hook times - // out, Auto Scaling performs the default action. You can prevent the lifecycle - // hook from timing out by calling RecordLifecycleActionHeartbeat. + // out. If the lifecycle hook times out, Auto Scaling performs the default action. + // You can prevent the lifecycle hook from timing out by calling RecordLifecycleActionHeartbeat. HeartbeatTimeout *int64 `type:"integer"` // The name of the lifecycle hook. @@ -9932,24 +9846,9 @@ type LifecycleHook struct { // a message to the notification target. NotificationMetadata *string `min:"1" type:"string"` - // The ARN of the notification target that Auto Scaling uses to notify you when - // an instance is in the transition state for the lifecycle hook. This ARN target - // can be either an SQS queue or an SNS topic. The notification message sent - // to the target includes the following: - // - // * Lifecycle action token - // - // * User account ID - // - // * Name of the Auto Scaling group - // - // * Lifecycle hook name - // - // * EC2 instance ID - // - // * Lifecycle transition - // - // * Notification metadata + // The ARN of the target that Auto Scaling sends notifications to when an instance + // is in the transition state for the lifecycle hook. The notification target + // can be either an SQS queue or an SNS topic. NotificationTargetARN *string `min:"1" type:"string"` // The ARN of the IAM role that allows the Auto Scaling group to publish to @@ -10021,6 +9920,122 @@ func (s *LifecycleHook) SetRoleARN(v string) *LifecycleHook { return s } +// Describes a lifecycle hook, which tells Auto Scaling that you want to perform +// an action whenever it launches instances or whenever it terminates instances. +// +// For more information, see Auto Scaling Lifecycle Hooks (http://docs.aws.amazon.com/autoscaling/latest/userguide/lifecycle-hooks.html) +// in the Auto Scaling User Guide. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/LifecycleHookSpecification +type LifecycleHookSpecification struct { + _ struct{} `type:"structure"` + + // Defines the action the Auto Scaling group should take when the lifecycle + // hook timeout elapses or if an unexpected failure occurs. The valid values + // are CONTINUE and ABANDON. The default value is CONTINUE. + DefaultResult *string `type:"string"` + + // The maximum time, in seconds, that can elapse before the lifecycle hook times + // out. If the lifecycle hook times out, Auto Scaling performs the default action. + // You can prevent the lifecycle hook from timing out by calling RecordLifecycleActionHeartbeat. + HeartbeatTimeout *int64 `type:"integer"` + + // The name of the lifecycle hook. + // + // LifecycleHookName is a required field + LifecycleHookName *string `min:"1" type:"string" required:"true"` + + // The state of the EC2 instance to which you want to attach the lifecycle hook. + // For a list of lifecycle hook types, see DescribeLifecycleHookTypes. + LifecycleTransition *string `type:"string"` + + // Additional information that you want to include any time Auto Scaling sends + // a message to the notification target. + NotificationMetadata *string `min:"1" type:"string"` + + // The ARN of the target that Auto Scaling sends notifications to when an instance + // is in the transition state for the lifecycle hook. The notification target + // can be either an SQS queue or an SNS topic. + NotificationTargetARN *string `type:"string"` + + // The ARN of the IAM role that allows the Auto Scaling group to publish to + // the specified notification target. + RoleARN *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s LifecycleHookSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LifecycleHookSpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LifecycleHookSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LifecycleHookSpecification"} + if s.LifecycleHookName == nil { + invalidParams.Add(request.NewErrParamRequired("LifecycleHookName")) + } + if s.LifecycleHookName != nil && len(*s.LifecycleHookName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LifecycleHookName", 1)) + } + if s.NotificationMetadata != nil && len(*s.NotificationMetadata) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NotificationMetadata", 1)) + } + if s.RoleARN != nil && len(*s.RoleARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDefaultResult sets the DefaultResult field's value. +func (s *LifecycleHookSpecification) SetDefaultResult(v string) *LifecycleHookSpecification { + s.DefaultResult = &v + return s +} + +// SetHeartbeatTimeout sets the HeartbeatTimeout field's value. +func (s *LifecycleHookSpecification) SetHeartbeatTimeout(v int64) *LifecycleHookSpecification { + s.HeartbeatTimeout = &v + return s +} + +// SetLifecycleHookName sets the LifecycleHookName field's value. +func (s *LifecycleHookSpecification) SetLifecycleHookName(v string) *LifecycleHookSpecification { + s.LifecycleHookName = &v + return s +} + +// SetLifecycleTransition sets the LifecycleTransition field's value. +func (s *LifecycleHookSpecification) SetLifecycleTransition(v string) *LifecycleHookSpecification { + s.LifecycleTransition = &v + return s +} + +// SetNotificationMetadata sets the NotificationMetadata field's value. +func (s *LifecycleHookSpecification) SetNotificationMetadata(v string) *LifecycleHookSpecification { + s.NotificationMetadata = &v + return s +} + +// SetNotificationTargetARN sets the NotificationTargetARN field's value. +func (s *LifecycleHookSpecification) SetNotificationTargetARN(v string) *LifecycleHookSpecification { + s.NotificationTargetARN = &v + return s +} + +// SetRoleARN sets the RoleARN field's value. +func (s *LifecycleHookSpecification) SetRoleARN(v string) *LifecycleHookSpecification { + s.RoleARN = &v + return s +} + // Describes the state of a Classic Load Balancer. // // If you specify a load balancer when creating the Auto Scaling group, the @@ -10310,20 +10325,7 @@ func (s *NotificationConfiguration) SetTopicARN(v string) *NotificationConfigura return s } -// Configures a predefined metric for a target tracking policy. The following -// predefined metrics are available: -// -// * ASGAverageCPUUtilization - average CPU utilization of the Auto Scaling -// group -// -// * ASGAverageNetworkIn - average number of bytes received on all network -// interfaces by the Auto Scaling group -// -// * ASGAverageNetworkOut - average number of bytes sent out on all network -// interfaces by the Auto Scaling group -// -// * ALBRequestCountPerTarget - number of requests completed per target in -// an Application Load Balancer target group +// Configures a predefined metric for a target tracking policy. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PredefinedMetricSpecification type PredefinedMetricSpecification struct { _ struct{} `type:"structure"` @@ -10333,11 +10335,26 @@ type PredefinedMetricSpecification struct { // PredefinedMetricType is a required field PredefinedMetricType *string `type:"string" required:"true" enum:"MetricType"` - // Identifies the resource associated with the metric type. For predefined metric - // types ASGAverageCPUUtilization, ASGAverageNetworkIn and ASGAverageNetworkOut, - // the parameter must not be specified as the resource associated with the metric - // type is the Auto Scaling group. For predefined metric type ALBRequestCountPerTarget, - // the parameter must be specified in the format app/load-balancer-name/load-balancer-id/targetgroup/target-group-name/target-group-id, + // Identifies the resource associated with the metric type. The following predefined + // metrics are available: + // + // * ASGAverageCPUUtilization - average CPU utilization of the Auto Scaling + // group + // + // * ASGAverageNetworkIn - average number of bytes received on all network + // interfaces by the Auto Scaling group + // + // * ASGAverageNetworkOut - average number of bytes sent out on all network + // interfaces by the Auto Scaling group + // + // * ALBRequestCountPerTarget - number of requests completed per target in + // an Application Load Balancer target group + // + // For predefined metric types ASGAverageCPUUtilization, ASGAverageNetworkIn + // and ASGAverageNetworkOut, the parameter must not be specified as the resource + // associated with the metric type is the Auto Scaling group. For predefined + // metric type ALBRequestCountPerTarget, the parameter must be specified in + // the format: app/load-balancer-name/load-balancer-id/targetgroup/target-group-name/target-group-id, // where app/load-balancer-name/load-balancer-id is the final portion of the // load balancer ARN, and targetgroup/target-group-name/target-group-id is the // final portion of the target group ARN. The target group must be attached @@ -10429,7 +10446,6 @@ func (s *ProcessType) SetProcessName(v string) *ProcessType { return s } -// Contains the parameters for PutLifecycleHook. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutLifecycleHookType type PutLifecycleHookInput struct { _ struct{} `type:"structure"` @@ -10445,10 +10461,12 @@ type PutLifecycleHookInput struct { // be either CONTINUE or ABANDON. The default value is ABANDON. DefaultResult *string `type:"string"` - // The amount of time, in seconds, that can elapse before the lifecycle hook - // times out. When the lifecycle hook times out, Auto Scaling performs the default - // action. You can prevent the lifecycle hook from timing out by calling RecordLifecycleActionHeartbeat. - // The default is 3600 seconds (1 hour). + // The maximum time, in seconds, that can elapse before the lifecycle hook times + // out. The range is from 30 to 7200 seconds. The default is 3600 seconds (1 + // hour). + // + // If the lifecycle hook times out, Auto Scaling performs the default action. + // You can prevent the lifecycle hook from timing out by calling RecordLifecycleActionHeartbeat. HeartbeatTimeout *int64 `type:"integer"` // The name of the lifecycle hook. @@ -10575,7 +10593,6 @@ func (s *PutLifecycleHookInput) SetRoleARN(v string) *PutLifecycleHookInput { return s } -// Contains the output of PutLifecycleHook. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutLifecycleHookAnswer type PutLifecycleHookOutput struct { _ struct{} `type:"structure"` @@ -10591,7 +10608,6 @@ func (s PutLifecycleHookOutput) GoString() string { return s.String() } -// Contains the parameters for PutNotificationConfiguration. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutNotificationConfigurationType type PutNotificationConfigurationInput struct { _ struct{} `type:"structure"` @@ -10682,7 +10698,6 @@ func (s PutNotificationConfigurationOutput) GoString() string { return s.String() } -// Contains the parameters for PutScalingPolicy. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutScalingPolicyType type PutScalingPolicyInput struct { _ struct{} `type:"structure"` @@ -10760,7 +10775,7 @@ type PutScalingPolicyInput struct { // otherwise. StepAdjustments []*StepAdjustment `type:"list"` - // The configuration of a target tracking policy. + // A target tracking policy. // // This parameter is required if the policy type is TargetTrackingScaling and // not supported otherwise. @@ -10900,8 +10915,7 @@ func (s *PutScalingPolicyInput) SetTargetTrackingConfiguration(v *TargetTracking type PutScalingPolicyOutput struct { _ struct{} `type:"structure"` - // The CloudWatch alarms created for the target tracking policy. This parameter - // will be empty if the policy type is anything other than TargetTrackingScaling. + // The CloudWatch alarms created for the target tracking policy. Alarms []*Alarm `type:"list"` // The Amazon Resource Name (ARN) of the policy. @@ -10930,7 +10944,6 @@ func (s *PutScalingPolicyOutput) SetPolicyARN(v string) *PutScalingPolicyOutput return s } -// Contains the parameters for PutScheduledUpdateGroupAction. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutScheduledUpdateGroupActionType type PutScheduledUpdateGroupActionInput struct { _ struct{} `type:"structure"` @@ -11080,7 +11093,6 @@ func (s PutScheduledUpdateGroupActionOutput) GoString() string { return s.String() } -// Contains the parameters for RecordLifecycleActionHeartbeat. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/RecordLifecycleActionHeartbeatType type RecordLifecycleActionHeartbeatInput struct { _ struct{} `type:"structure"` @@ -11166,7 +11178,6 @@ func (s *RecordLifecycleActionHeartbeatInput) SetLifecycleHookName(v string) *Re return s } -// Contains the output of RecordLifecycleActionHeartBeat. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/RecordLifecycleActionHeartbeatAnswer type RecordLifecycleActionHeartbeatOutput struct { _ struct{} `type:"structure"` @@ -11213,7 +11224,7 @@ type ScalingPolicy struct { AutoScalingGroupName *string `min:"1" type:"string"` // The amount of time, in seconds, after a scaling activity completes before - // any further trigger-related scaling activities can start. + // any further dynamic scaling activities can start. Cooldown *int64 `type:"integer"` // The estimated time, in seconds, until a newly launched instance can contribute @@ -11349,7 +11360,6 @@ func (s *ScalingPolicy) SetTargetTrackingConfiguration(v *TargetTrackingConfigur return s } -// Contains the parameters for SuspendProcesses and ResumeProcesses. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/ScalingProcessQuery type ScalingProcessQuery struct { _ struct{} `type:"structure"` @@ -11529,7 +11539,6 @@ func (s *ScheduledUpdateGroupAction) SetTime(v time.Time) *ScheduledUpdateGroupA return s } -// Contains the parameters for SetDesiredCapacity. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/SetDesiredCapacityType type SetDesiredCapacityInput struct { _ struct{} `type:"structure"` @@ -11613,7 +11622,6 @@ func (s SetDesiredCapacityOutput) GoString() string { return s.String() } -// Contains the parameters for SetInstanceHealth. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/SetInstanceHealthQuery type SetInstanceHealthInput struct { _ struct{} `type:"structure"` @@ -11705,7 +11713,6 @@ func (s SetInstanceHealthOutput) GoString() string { return s.String() } -// Contains the parameters for SetInstanceProtection. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/SetInstanceProtectionQuery type SetInstanceProtectionInput struct { _ struct{} `type:"structure"` @@ -11777,7 +11784,6 @@ func (s *SetInstanceProtectionInput) SetProtectedFromScaleIn(v bool) *SetInstanc return s } -// Contains the output of SetInstanceProtection. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/SetInstanceProtectionAnswer type SetInstanceProtectionOutput struct { _ struct{} `type:"structure"` @@ -12091,8 +12097,10 @@ type TargetTrackingConfiguration struct { // A customized metric. CustomizedMetricSpecification *CustomizedMetricSpecification `type:"structure"` - // If the parameter is true, then scale-in will be disabled for the target tracking - // policy, i.e. the target tracking policy will not scale in the Auto Scaling + // Indicates whether scale in by the target tracking policy is disabled. If + // the value is true, scale in is disabled and the target tracking policy won't + // remove instances from the Auto Scaling group. Otherwise, scale in is enabled + // and the target tracking policy can remove instances from the Auto Scaling // group. The default value is false. DisableScaleIn *bool `type:"boolean"` @@ -12163,7 +12171,6 @@ func (s *TargetTrackingConfiguration) SetTargetValue(v float64) *TargetTrackingC return s } -// Contains the parameters for TerminateInstanceInAutoScalingGroup. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/TerminateInstanceInAutoScalingGroupType type TerminateInstanceInAutoScalingGroupInput struct { _ struct{} `type:"structure"` @@ -12221,7 +12228,6 @@ func (s *TerminateInstanceInAutoScalingGroupInput) SetShouldDecrementDesiredCapa return s } -// Contains the output of TerminateInstancesInAutoScalingGroup. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/ActivityType type TerminateInstanceInAutoScalingGroupOutput struct { _ struct{} `type:"structure"` @@ -12246,7 +12252,6 @@ func (s *TerminateInstanceInAutoScalingGroupOutput) SetActivity(v *Activity) *Te return s } -// Contains the parameters for UpdateAutoScalingGroup. // Please also see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/UpdateAutoScalingGroupType type UpdateAutoScalingGroupInput struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/autoscaling/autoscalingiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/autoscaling/autoscalingiface/interface.go index 909d7958d..fe4e0ebed 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/autoscaling/autoscalingiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/autoscaling/autoscalingiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Auto Scaling. diff --git a/vendor/github.com/aws/aws-sdk-go/service/autoscaling/doc.go b/vendor/github.com/aws/aws-sdk-go/service/autoscaling/doc.go index a5c51a514..e1b144e95 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/autoscaling/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/autoscaling/doc.go @@ -14,69 +14,17 @@ // // Using the Client // -// To use the client for Auto Scaling you will first need -// to create a new instance of it. +// To Auto Scaling with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := autoscaling.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Auto Scaling client AutoScaling for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/autoscaling/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AttachInstances(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AttachInstances result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AttachInstancesWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package autoscaling diff --git a/vendor/github.com/aws/aws-sdk-go/service/autoscaling/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/autoscaling/waiters.go index 1b1c5a3a1..c2e7e2ed8 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/autoscaling/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/autoscaling/waiters.go @@ -11,7 +11,7 @@ import ( // WaitUntilGroupExists uses the Auto Scaling API operation // DescribeAutoScalingGroups to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *AutoScaling) WaitUntilGroupExists(input *DescribeAutoScalingGroupsInput) error { return c.WaitUntilGroupExistsWithContext(aws.BackgroundContext(), input) @@ -62,7 +62,7 @@ func (c *AutoScaling) WaitUntilGroupExistsWithContext(ctx aws.Context, input *De // WaitUntilGroupInService uses the Auto Scaling API operation // DescribeAutoScalingGroups to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *AutoScaling) WaitUntilGroupInService(input *DescribeAutoScalingGroupsInput) error { return c.WaitUntilGroupInServiceWithContext(aws.BackgroundContext(), input) @@ -113,7 +113,7 @@ func (c *AutoScaling) WaitUntilGroupInServiceWithContext(ctx aws.Context, input // WaitUntilGroupNotExists uses the Auto Scaling API operation // DescribeAutoScalingGroups to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *AutoScaling) WaitUntilGroupNotExists(input *DescribeAutoScalingGroupsInput) error { return c.WaitUntilGroupNotExistsWithContext(aws.BackgroundContext(), input) diff --git a/vendor/github.com/aws/aws-sdk-go/service/batch/api.go b/vendor/github.com/aws/aws-sdk-go/service/batch/api.go index 91bed65c0..158b531cc 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/batch/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/batch/api.go @@ -14,19 +14,18 @@ const opCancelJob = "CancelJob" // CancelJobRequest generates a "aws/request.Request" representing the // client's request for the CancelJob operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CancelJob for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CancelJob method directly -// instead. +// See CancelJob for more information on using the CancelJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CancelJobRequest method. // req, resp := client.CancelJobRequest(params) @@ -103,19 +102,18 @@ const opCreateComputeEnvironment = "CreateComputeEnvironment" // CreateComputeEnvironmentRequest generates a "aws/request.Request" representing the // client's request for the CreateComputeEnvironment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateComputeEnvironment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateComputeEnvironment method directly -// instead. +// See CreateComputeEnvironment for more information on using the CreateComputeEnvironment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateComputeEnvironmentRequest method. // req, resp := client.CreateComputeEnvironmentRequest(params) @@ -149,11 +147,11 @@ func (c *Batch) CreateComputeEnvironmentRequest(input *CreateComputeEnvironmentI // // In a managed compute environment, AWS Batch manages the compute resources // within the environment, based on the compute resources that you specify. -// Instances launched into a managed compute environment use the latest Amazon -// ECS-optimized AMI. You can choose to use Amazon EC2 On-Demand instances in -// your managed compute environment, or you can use Amazon EC2 Spot instances -// that only launch when the Spot bid price is below a specified percentage -// of the On-Demand price. +// Instances launched into a managed compute environment use a recent, approved +// version of the Amazon ECS-optimized AMI. You can choose to use Amazon EC2 +// On-Demand instances in your managed compute environment, or you can use Amazon +// EC2 Spot instances that only launch when the Spot bid price is below a specified +// percentage of the On-Demand price. // // In an unmanaged compute environment, you can manage your own compute resources. // This provides more compute resource configuration options, such as using @@ -209,19 +207,18 @@ const opCreateJobQueue = "CreateJobQueue" // CreateJobQueueRequest generates a "aws/request.Request" representing the // client's request for the CreateJobQueue operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateJobQueue for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateJobQueue method directly -// instead. +// See CreateJobQueue for more information on using the CreateJobQueue +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateJobQueueRequest method. // req, resp := client.CreateJobQueueRequest(params) @@ -302,19 +299,18 @@ const opDeleteComputeEnvironment = "DeleteComputeEnvironment" // DeleteComputeEnvironmentRequest generates a "aws/request.Request" representing the // client's request for the DeleteComputeEnvironment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteComputeEnvironment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteComputeEnvironment method directly -// instead. +// See DeleteComputeEnvironment for more information on using the DeleteComputeEnvironment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteComputeEnvironmentRequest method. // req, resp := client.DeleteComputeEnvironmentRequest(params) @@ -391,19 +387,18 @@ const opDeleteJobQueue = "DeleteJobQueue" // DeleteJobQueueRequest generates a "aws/request.Request" representing the // client's request for the DeleteJobQueue operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteJobQueue for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteJobQueue method directly -// instead. +// See DeleteJobQueue for more information on using the DeleteJobQueue +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteJobQueueRequest method. // req, resp := client.DeleteJobQueueRequest(params) @@ -433,8 +428,8 @@ func (c *Batch) DeleteJobQueueRequest(input *DeleteJobQueueInput) (req *request. // DeleteJobQueue API operation for AWS Batch. // // Deletes the specified job queue. You must first disable submissions for a -// queue with the UpdateJobQueue operation and terminate any jobs that have -// not completed with the TerminateJob. +// queue with the UpdateJobQueue operation. All jobs in the queue are terminated +// when you delete a job queue. // // It is not necessary to disassociate compute environments from a queue before // submitting a DeleteJobQueue request. @@ -481,19 +476,18 @@ const opDeregisterJobDefinition = "DeregisterJobDefinition" // DeregisterJobDefinitionRequest generates a "aws/request.Request" representing the // client's request for the DeregisterJobDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeregisterJobDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeregisterJobDefinition method directly -// instead. +// See DeregisterJobDefinition for more information on using the DeregisterJobDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeregisterJobDefinitionRequest method. // req, resp := client.DeregisterJobDefinitionRequest(params) @@ -566,19 +560,18 @@ const opDescribeComputeEnvironments = "DescribeComputeEnvironments" // DescribeComputeEnvironmentsRequest generates a "aws/request.Request" representing the // client's request for the DescribeComputeEnvironments operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeComputeEnvironments for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeComputeEnvironments method directly -// instead. +// See DescribeComputeEnvironments for more information on using the DescribeComputeEnvironments +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeComputeEnvironmentsRequest method. // req, resp := client.DescribeComputeEnvironmentsRequest(params) @@ -655,19 +648,18 @@ const opDescribeJobDefinitions = "DescribeJobDefinitions" // DescribeJobDefinitionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeJobDefinitions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeJobDefinitions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeJobDefinitions method directly -// instead. +// See DescribeJobDefinitions for more information on using the DescribeJobDefinitions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeJobDefinitionsRequest method. // req, resp := client.DescribeJobDefinitionsRequest(params) @@ -741,19 +733,18 @@ const opDescribeJobQueues = "DescribeJobQueues" // DescribeJobQueuesRequest generates a "aws/request.Request" representing the // client's request for the DescribeJobQueues operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeJobQueues for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeJobQueues method directly -// instead. +// See DescribeJobQueues for more information on using the DescribeJobQueues +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeJobQueuesRequest method. // req, resp := client.DescribeJobQueuesRequest(params) @@ -826,19 +817,18 @@ const opDescribeJobs = "DescribeJobs" // DescribeJobsRequest generates a "aws/request.Request" representing the // client's request for the DescribeJobs operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeJobs for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeJobs method directly -// instead. +// See DescribeJobs for more information on using the DescribeJobs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeJobsRequest method. // req, resp := client.DescribeJobsRequest(params) @@ -911,19 +901,18 @@ const opListJobs = "ListJobs" // ListJobsRequest generates a "aws/request.Request" representing the // client's request for the ListJobs operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListJobs for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListJobs method directly -// instead. +// See ListJobs for more information on using the ListJobs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListJobsRequest method. // req, resp := client.ListJobsRequest(params) @@ -953,7 +942,8 @@ func (c *Batch) ListJobsRequest(input *ListJobsInput) (req *request.Request, out // ListJobs API operation for AWS Batch. // // Returns a list of task jobs for a specified job queue. You can filter the -// results by job status with the jobStatus parameter. +// results by job status with the jobStatus parameter. If you do not specify +// a status, only RUNNING jobs are returned. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -997,19 +987,18 @@ const opRegisterJobDefinition = "RegisterJobDefinition" // RegisterJobDefinitionRequest generates a "aws/request.Request" representing the // client's request for the RegisterJobDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterJobDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterJobDefinition method directly -// instead. +// See RegisterJobDefinition for more information on using the RegisterJobDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterJobDefinitionRequest method. // req, resp := client.RegisterJobDefinitionRequest(params) @@ -1082,19 +1071,18 @@ const opSubmitJob = "SubmitJob" // SubmitJobRequest generates a "aws/request.Request" representing the // client's request for the SubmitJob operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SubmitJob for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SubmitJob method directly -// instead. +// See SubmitJob for more information on using the SubmitJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SubmitJobRequest method. // req, resp := client.SubmitJobRequest(params) @@ -1168,19 +1156,18 @@ const opTerminateJob = "TerminateJob" // TerminateJobRequest generates a "aws/request.Request" representing the // client's request for the TerminateJob operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TerminateJob for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TerminateJob method directly -// instead. +// See TerminateJob for more information on using the TerminateJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TerminateJobRequest method. // req, resp := client.TerminateJobRequest(params) @@ -1255,19 +1242,18 @@ const opUpdateComputeEnvironment = "UpdateComputeEnvironment" // UpdateComputeEnvironmentRequest generates a "aws/request.Request" representing the // client's request for the UpdateComputeEnvironment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateComputeEnvironment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateComputeEnvironment method directly -// instead. +// See UpdateComputeEnvironment for more information on using the UpdateComputeEnvironment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateComputeEnvironmentRequest method. // req, resp := client.UpdateComputeEnvironmentRequest(params) @@ -1340,19 +1326,18 @@ const opUpdateJobQueue = "UpdateJobQueue" // UpdateJobQueueRequest generates a "aws/request.Request" representing the // client's request for the UpdateJobQueue operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateJobQueue for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateJobQueue method directly -// instead. +// See UpdateJobQueue for more information on using the UpdateJobQueue +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateJobQueueRequest method. // req, resp := client.UpdateJobQueueRequest(params) @@ -1433,6 +1418,11 @@ type AttemptContainerDetail struct { // The exit code for the job attempt. A non-zero exit code is considered a failure. ExitCode *int64 `locationName:"exitCode" type:"integer"` + // The name of the CloudWatch Logs log stream associated with the container. + // The log group for AWS Batch jobs is /aws/batch/job. Each container attempt + // receives a log stream name when they reach the RUNNING status. + LogStreamName *string `locationName:"logStreamName" type:"string"` + // A short (255 max characters) human-readable string to provide additional // details about a running or stopped container. Reason *string `locationName:"reason" type:"string"` @@ -1464,6 +1454,12 @@ func (s *AttemptContainerDetail) SetExitCode(v int64) *AttemptContainerDetail { return s } +// SetLogStreamName sets the LogStreamName field's value. +func (s *AttemptContainerDetail) SetLogStreamName(v string) *AttemptContainerDetail { + s.LogStreamName = &v + return s +} + // SetReason sets the Reason field's value. func (s *AttemptContainerDetail) SetReason(v string) *AttemptContainerDetail { s.Reason = &v @@ -1787,8 +1783,11 @@ type ComputeResource struct { // environment. ImageId *string `locationName:"imageId" type:"string"` - // The Amazon ECS instance role applied to Amazon EC2 instances in a compute - // environment. + // The Amazon ECS instance profile applied to Amazon EC2 instances in a compute + // environment. You can specify the short name or full Amazon Resource Name + // (ARN) of an instance profile. For example, ecsInstanceRole or arn:aws:iam:::instance-profile/ecsInstanceRole. + // For more information, see Amazon ECS Instance Role (http://docs.aws.amazon.com/batch/latest/userguide/instance_IAM_role.html) + // in the AWS Batch User Guide. // // InstanceRole is a required field InstanceRole *string `locationName:"instanceRole" type:"string" required:"true"` @@ -2020,6 +2019,11 @@ type ContainerDetail struct { // The Amazon Resource Name (ARN) associated with the job upon execution. JobRoleArn *string `locationName:"jobRoleArn" type:"string"` + // The name of the CloudWatch Logs log stream associated with the container. + // The log group for AWS Batch jobs is /aws/batch/job. Each container attempt + // receives a log stream name when they reach the RUNNING status. + LogStreamName *string `locationName:"logStreamName" type:"string"` + // The number of MiB of memory reserved for the job. Memory *int64 `locationName:"memory" type:"integer"` @@ -2101,6 +2105,12 @@ func (s *ContainerDetail) SetJobRoleArn(v string) *ContainerDetail { return s } +// SetLogStreamName sets the LogStreamName field's value. +func (s *ContainerDetail) SetLogStreamName(v string) *ContainerDetail { + s.LogStreamName = &v + return s +} + // SetMemory sets the Memory field's value. func (s *ContainerDetail) SetMemory(v int64) *ContainerDetail { s.Memory = &v @@ -2275,6 +2285,7 @@ type ContainerProperties struct { // parameter maps to Memory in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) // and the --memory option to docker run (https://docs.docker.com/engine/reference/run/). + // You must specify at least 4 MiB of memory for a job. // // Memory is a required field Memory *int64 `locationName:"memory" type:"integer" required:"true"` @@ -2315,7 +2326,8 @@ type ContainerProperties struct { // in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/). - // Each vCPU is equivalent to 1,024 CPU shares. + // Each vCPU is equivalent to 1,024 CPU shares. You must specify at least 1 + // vCPU. // // Vcpus is a required field Vcpus *int64 `locationName:"vcpus" type:"integer" required:"true"` @@ -2452,6 +2464,16 @@ type CreateComputeEnvironmentInput struct { // The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch // to make calls to other AWS services on your behalf. // + // If your specified role has a path other than /, then you must either specify + // the full role ARN (this is recommended) or prefix the role name with the + // path. + // + // Depending on how you created your AWS Batch service role, its ARN may contain + // the service-role path prefix. When you only specify the name of the service + // role, AWS Batch assumes that your ARN does not use the service-role path + // prefix. Because of this, we recommend that you specify the full ARN of your + // service role when you create compute environments. + // // ServiceRole is a required field ServiceRole *string `locationName:"serviceRole" type:"string" required:"true"` @@ -2581,11 +2603,11 @@ type CreateJobQueueInput struct { // JobQueueName is a required field JobQueueName *string `locationName:"jobQueueName" type:"string" required:"true"` - // The priority of the job queue. Job queues with a higher priority (or a lower + // The priority of the job queue. Job queues with a higher priority (or a higher // integer value for the priority parameter) are evaluated first when associated - // with same compute environment. Priority is determined in ascending order, - // for example, a job queue with a priority value of 1 is given scheduling preference - // over a job queue with a priority value of 10. + // with same compute environment. Priority is determined in descending order, + // for example, a job queue with a priority value of 10 is given scheduling + // preference over a job queue with a priority value of 1. // // Priority is a required field Priority *int64 `locationName:"priority" type:"integer" required:"true"` @@ -3713,7 +3735,8 @@ type ListJobsInput struct { // JobQueue is a required field JobQueue *string `locationName:"jobQueue" type:"string" required:"true"` - // The job status with which to filter jobs in the specified queue. + // The job status with which to filter jobs in the specified queue. If you do + // not specify a status, only RUNNING jobs are returned. JobStatus *string `locationName:"jobStatus" type:"string" enum:"JobStatus"` // The maximum number of results returned by ListJobs in paginated output. When @@ -3873,7 +3896,8 @@ type RegisterJobDefinitionInput struct { // parameter is required if the type parameter is container. ContainerProperties *ContainerProperties `locationName:"containerProperties" type:"structure"` - // The name of the job definition to register. + // The name of the job definition to register. Up to 128 letters (uppercase + // and lowercase), numbers, hyphens, and underscores are allowed. // // JobDefinitionName is a required field JobDefinitionName *string `locationName:"jobDefinitionName" type:"string" required:"true"` @@ -4044,7 +4068,7 @@ type SubmitJobInput struct { ContainerOverrides *ContainerOverrides `locationName:"containerOverrides" type:"structure"` // A list of job IDs on which this job depends. A job can depend upon a maximum - // of 100 jobs. + // of 20 jobs. DependsOn []*JobDependency `locationName:"dependsOn" type:"list"` // The job definition used by this job. This value can be either a name:revision @@ -4053,9 +4077,9 @@ type SubmitJobInput struct { // JobDefinition is a required field JobDefinition *string `locationName:"jobDefinition" type:"string" required:"true"` - // The name of the job. A name must be 1 to 128 characters in length. - // - // Pattern: ^[a-zA-Z0-9_]+$ + // The name of the job. The first character must be alphanumeric, and up to + // 128 letters (uppercase and lowercase), numbers, hyphens, and underscores + // are allowed. // // JobName is a required field JobName *string `locationName:"jobName" type:"string" required:"true"` @@ -4338,8 +4362,18 @@ type UpdateComputeEnvironmentInput struct { // for a managed compute environment. ComputeResources *ComputeResourceUpdate `locationName:"computeResources" type:"structure"` - // The name or full Amazon Resource Name (ARN) of the IAM role that allows AWS - // Batch to make calls to ECS, Auto Scaling, and EC2 on your behalf. + // The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch + // to make calls to other AWS services on your behalf. + // + // If your specified role has a path other than /, then you must either specify + // the full role ARN (this is recommended) or prefix the role name with the + // path. + // + // Depending on how you created your AWS Batch service role, its ARN may contain + // the service-role path prefix. When you only specify the name of the service + // role, AWS Batch assumes that your ARN does not use the service-role path + // prefix. Because of this, we recommend that you specify the full ARN of your + // service role when you create compute environments. ServiceRole *string `locationName:"serviceRole" type:"string"` // The state of the compute environment. Compute environments in the ENABLED @@ -4442,11 +4476,11 @@ type UpdateJobQueueInput struct { // JobQueue is a required field JobQueue *string `locationName:"jobQueue" type:"string" required:"true"` - // The priority of the job queue. Job queues with a higher priority (or a lower + // The priority of the job queue. Job queues with a higher priority (or a higher // integer value for the priority parameter) are evaluated first when associated - // with same compute environment. Priority is determined in ascending order, - // for example, a job queue with a priority value of 1 is given scheduling preference - // over a job queue with a priority value of 10. + // with same compute environment. Priority is determined in descending order, + // for example, a job queue with a priority value of 10 is given scheduling + // preference over a job queue with a priority value of 1. Priority *int64 `locationName:"priority" type:"integer"` // Describes the queue's ability to accept new jobs. diff --git a/vendor/github.com/aws/aws-sdk-go/service/batch/batchiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/batch/batchiface/interface.go index f212ac87f..616dfb9c7 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/batch/batchiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/batch/batchiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Batch. diff --git a/vendor/github.com/aws/aws-sdk-go/service/batch/doc.go b/vendor/github.com/aws/aws-sdk-go/service/batch/doc.go index 0144a8388..e15c89724 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/batch/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/batch/doc.go @@ -28,69 +28,17 @@ // // Using the Client // -// To use the client for AWS Batch you will first need -// to create a new instance of it. +// To AWS Batch with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := batch.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Batch client Batch for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/batch/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CancelJob(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CancelJob result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CancelJobWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package batch diff --git a/vendor/github.com/aws/aws-sdk-go/service/batch/examples_test.go b/vendor/github.com/aws/aws-sdk-go/service/batch/examples_test.go index 5215e90fc..ad312875d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/batch/examples_test.go +++ b/vendor/github.com/aws/aws-sdk-go/service/batch/examples_test.go @@ -192,7 +192,7 @@ func ExampleBatch_CreateJobQueue_shared00() { }, }, JobQueueName: aws.String("LowPriority"), - Priority: aws.Int64(10), + Priority: aws.Int64(1), State: aws.String("ENABLED"), } @@ -237,7 +237,7 @@ func ExampleBatch_CreateJobQueue_shared01() { }, }, JobQueueName: aws.String("HighPriority"), - Priority: aws.Int64(1), + Priority: aws.Int64(10), State: aws.String("ENABLED"), } diff --git a/vendor/github.com/aws/aws-sdk-go/service/budgets/api.go b/vendor/github.com/aws/aws-sdk-go/service/budgets/api.go index 58e9b7a3a..8fcf9381f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/budgets/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/budgets/api.go @@ -15,19 +15,18 @@ const opCreateBudget = "CreateBudget" // CreateBudgetRequest generates a "aws/request.Request" representing the // client's request for the CreateBudget operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateBudget for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateBudget method directly -// instead. +// See CreateBudget for more information on using the CreateBudget +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateBudgetRequest method. // req, resp := client.CreateBudgetRequest(params) @@ -104,19 +103,18 @@ const opCreateNotification = "CreateNotification" // CreateNotificationRequest generates a "aws/request.Request" representing the // client's request for the CreateNotification operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateNotification for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateNotification method directly -// instead. +// See CreateNotification for more information on using the CreateNotification +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateNotificationRequest method. // req, resp := client.CreateNotificationRequest(params) @@ -197,19 +195,18 @@ const opCreateSubscriber = "CreateSubscriber" // CreateSubscriberRequest generates a "aws/request.Request" representing the // client's request for the CreateSubscriber operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateSubscriber for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateSubscriber method directly -// instead. +// See CreateSubscriber for more information on using the CreateSubscriber +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateSubscriberRequest method. // req, resp := client.CreateSubscriberRequest(params) @@ -290,19 +287,18 @@ const opDeleteBudget = "DeleteBudget" // DeleteBudgetRequest generates a "aws/request.Request" representing the // client's request for the DeleteBudget operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteBudget for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteBudget method directly -// instead. +// See DeleteBudget for more information on using the DeleteBudget +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteBudgetRequest method. // req, resp := client.DeleteBudgetRequest(params) @@ -375,19 +371,18 @@ const opDeleteNotification = "DeleteNotification" // DeleteNotificationRequest generates a "aws/request.Request" representing the // client's request for the DeleteNotification operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteNotification for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteNotification method directly -// instead. +// See DeleteNotification for more information on using the DeleteNotification +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteNotificationRequest method. // req, resp := client.DeleteNotificationRequest(params) @@ -460,19 +455,18 @@ const opDeleteSubscriber = "DeleteSubscriber" // DeleteSubscriberRequest generates a "aws/request.Request" representing the // client's request for the DeleteSubscriber operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSubscriber for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSubscriber method directly -// instead. +// See DeleteSubscriber for more information on using the DeleteSubscriber +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSubscriberRequest method. // req, resp := client.DeleteSubscriberRequest(params) @@ -545,19 +539,18 @@ const opDescribeBudget = "DescribeBudget" // DescribeBudgetRequest generates a "aws/request.Request" representing the // client's request for the DescribeBudget operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeBudget for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeBudget method directly -// instead. +// See DescribeBudget for more information on using the DescribeBudget +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeBudgetRequest method. // req, resp := client.DescribeBudgetRequest(params) @@ -630,19 +623,18 @@ const opDescribeBudgets = "DescribeBudgets" // DescribeBudgetsRequest generates a "aws/request.Request" representing the // client's request for the DescribeBudgets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeBudgets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeBudgets method directly -// instead. +// See DescribeBudgets for more information on using the DescribeBudgets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeBudgetsRequest method. // req, resp := client.DescribeBudgetsRequest(params) @@ -722,19 +714,18 @@ const opDescribeNotificationsForBudget = "DescribeNotificationsForBudget" // DescribeNotificationsForBudgetRequest generates a "aws/request.Request" representing the // client's request for the DescribeNotificationsForBudget operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeNotificationsForBudget for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeNotificationsForBudget method directly -// instead. +// See DescribeNotificationsForBudget for more information on using the DescribeNotificationsForBudget +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeNotificationsForBudgetRequest method. // req, resp := client.DescribeNotificationsForBudgetRequest(params) @@ -814,19 +805,18 @@ const opDescribeSubscribersForNotification = "DescribeSubscribersForNotification // DescribeSubscribersForNotificationRequest generates a "aws/request.Request" representing the // client's request for the DescribeSubscribersForNotification operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSubscribersForNotification for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSubscribersForNotification method directly -// instead. +// See DescribeSubscribersForNotification for more information on using the DescribeSubscribersForNotification +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSubscribersForNotificationRequest method. // req, resp := client.DescribeSubscribersForNotificationRequest(params) @@ -906,19 +896,18 @@ const opUpdateBudget = "UpdateBudget" // UpdateBudgetRequest generates a "aws/request.Request" representing the // client's request for the UpdateBudget operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateBudget for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateBudget method directly -// instead. +// See UpdateBudget for more information on using the UpdateBudget +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateBudgetRequest method. // req, resp := client.UpdateBudgetRequest(params) @@ -991,19 +980,18 @@ const opUpdateNotification = "UpdateNotification" // UpdateNotificationRequest generates a "aws/request.Request" representing the // client's request for the UpdateNotification operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateNotification for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateNotification method directly -// instead. +// See UpdateNotification for more information on using the UpdateNotification +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateNotificationRequest method. // req, resp := client.UpdateNotificationRequest(params) @@ -1051,6 +1039,10 @@ func (c *Budgets) UpdateNotificationRequest(input *UpdateNotificationInput) (req // This exception is thrown if a requested entity is not found. E.g., if a budget // id doesn't exist for an account ID. // +// * ErrCodeDuplicateRecordException "DuplicateRecordException" +// The exception is thrown when customer tries to create a record (e.g. budget) +// that already exists. +// func (c *Budgets) UpdateNotification(input *UpdateNotificationInput) (*UpdateNotificationOutput, error) { req, out := c.UpdateNotificationRequest(input) return out, req.Send() @@ -1076,19 +1068,18 @@ const opUpdateSubscriber = "UpdateSubscriber" // UpdateSubscriberRequest generates a "aws/request.Request" representing the // client's request for the UpdateSubscriber operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateSubscriber for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateSubscriber method directly -// instead. +// See UpdateSubscriber for more information on using the UpdateSubscriber +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateSubscriberRequest method. // req, resp := client.UpdateSubscriberRequest(params) @@ -1136,6 +1127,10 @@ func (c *Budgets) UpdateSubscriberRequest(input *UpdateSubscriberInput) (req *re // This exception is thrown if a requested entity is not found. E.g., if a budget // id doesn't exist for an account ID. // +// * ErrCodeDuplicateRecordException "DuplicateRecordException" +// The exception is thrown when customer tries to create a record (e.g. budget) +// that already exists. +// func (c *Budgets) UpdateSubscriber(input *UpdateSubscriberInput) (*UpdateSubscriberOutput, error) { req, out := c.UpdateSubscriberRequest(input) return out, req.Send() @@ -1161,8 +1156,8 @@ func (c *Budgets) UpdateSubscriberWithContext(ctx aws.Context, input *UpdateSubs type Budget struct { _ struct{} `type:"structure"` - // A structure represent either a cost spend or usage spend. Contains an amount - // and a unit. + // A structure that represents either a cost spend or usage spend. Contains + // an amount and a unit. // // BudgetLimit is a required field BudgetLimit *Spend `type:"structure" required:"true"` @@ -1177,10 +1172,10 @@ type Budget struct { // BudgetType is a required field BudgetType *string `type:"string" required:"true" enum:"BudgetType"` - // A structure holds the actual and forecasted spend for a budget. + // A structure that holds the actual and forecasted spend for a budget. CalculatedSpend *CalculatedSpend `type:"structure"` - // A map represents the cost filters applied to the budget. + // A map that represents the cost filters applied to the budget. CostFilters map[string][]*string `type:"map"` // This includes the options for getting the cost of a budget. @@ -1188,7 +1183,7 @@ type Budget struct { // CostTypes is a required field CostTypes *CostTypes `type:"structure" required:"true"` - // A time period indicated the start date and end date of a budget. + // A time period indicating the start date and end date of a budget. // // TimePeriod is a required field TimePeriod *TimePeriod `type:"structure" required:"true"` @@ -1305,18 +1300,18 @@ func (s *Budget) SetTimeUnit(v string) *Budget { return s } -// A structure holds the actual and forecasted spend for a budget. +// A structure that holds the actual and forecasted spend for a budget. type CalculatedSpend struct { _ struct{} `type:"structure"` - // A structure represent either a cost spend or usage spend. Contains an amount - // and a unit. + // A structure that represents either a cost spend or usage spend. Contains + // an amount and a unit. // // ActualSpend is a required field ActualSpend *Spend `type:"structure" required:"true"` - // A structure represent either a cost spend or usage spend. Contains an amount - // and a unit. + // A structure that represents either a cost spend or usage spend. Contains + // an amount and a unit. ForecastedSpend *Spend `type:"structure"` } @@ -2118,8 +2113,8 @@ type DescribeBudgetsInput struct { // AccountId is a required field AccountId *string `min:"12" type:"string" required:"true"` - // An integer to represent how many entries should a pagianted response contains. - // Maxium is set to 100. + // An integer to represent how many entries a paginated response contains. Maximum + // is set to 100. MaxResults *int64 `min:"1" type:"integer"` // A generic String. @@ -2220,8 +2215,8 @@ type DescribeNotificationsForBudgetInput struct { // BudgetName is a required field BudgetName *string `type:"string" required:"true"` - // An integer to represent how many entries should a pagianted response contains. - // Maxium is set to 100. + // An integer to represent how many entries a paginated response contains. Maximum + // is set to 100. MaxResults *int64 `min:"1" type:"integer"` // A generic String. @@ -2331,8 +2326,8 @@ type DescribeSubscribersForNotificationInput struct { // BudgetName is a required field BudgetName *string `type:"string" required:"true"` - // An integer to represent how many entries should a pagianted response contains. - // Maxium is set to 100. + // An integer to represent how many entries a paginated response contains. Maximum + // is set to 100. MaxResults *int64 `min:"1" type:"integer"` // A generic String. @@ -2464,11 +2459,13 @@ type Notification struct { // NotificationType is a required field NotificationType *string `type:"string" required:"true" enum:"NotificationType"` - // The threshold of the a notification. It should be a number between 0 and - // 100. + // The threshold of a notification. It should be a number between 0 and 1,000,000,000. // // Threshold is a required field Threshold *float64 `min:"0.1" type:"double" required:"true"` + + // The type of threshold for a notification. It can be PERCENTAGE or ABSOLUTE_VALUE. + ThresholdType *string `type:"string" enum:"ThresholdType"` } // String returns the string representation @@ -2521,6 +2518,12 @@ func (s *Notification) SetThreshold(v float64) *Notification { return s } +// SetThresholdType sets the ThresholdType field's value. +func (s *Notification) SetThresholdType(v string) *Notification { + s.ThresholdType = &v + return s +} + // A structure to relate notification and a list of subscribers who belong to // the notification. type NotificationWithSubscribers struct { @@ -2594,8 +2597,8 @@ func (s *NotificationWithSubscribers) SetSubscribers(v []*Subscriber) *Notificat return s } -// A structure represent either a cost spend or usage spend. Contains an amount -// and a unit. +// A structure that represents either a cost spend or usage spend. Contains +// an amount and a unit. type Spend struct { _ struct{} `type:"structure"` @@ -2705,7 +2708,7 @@ func (s *Subscriber) SetSubscriptionType(v string) *Subscriber { return s } -// A time period indicated the start date and end date of a budget. +// A time period indicating the start date and end date of a budget. type TimePeriod struct { _ struct{} `type:"structure"` @@ -3119,6 +3122,15 @@ const ( SubscriptionTypeEmail = "EMAIL" ) +// The type of threshold for a notification. It can be PERCENTAGE or ABSOLUTE_VALUE. +const ( + // ThresholdTypePercentage is a ThresholdType enum value + ThresholdTypePercentage = "PERCENTAGE" + + // ThresholdTypeAbsoluteValue is a ThresholdType enum value + ThresholdTypeAbsoluteValue = "ABSOLUTE_VALUE" +) + // The time unit of the budget. e.g. MONTHLY, QUARTERLY, etc. const ( // TimeUnitDaily is a TimeUnit enum value diff --git a/vendor/github.com/aws/aws-sdk-go/service/budgets/budgetsiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/budgets/budgetsiface/interface.go index 5151e0c0c..5815f61cf 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/budgets/budgetsiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/budgets/budgetsiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Budgets. diff --git a/vendor/github.com/aws/aws-sdk-go/service/budgets/doc.go b/vendor/github.com/aws/aws-sdk-go/service/budgets/doc.go index 87f1e95b8..84f000c4f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/budgets/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/budgets/doc.go @@ -10,69 +10,17 @@ // // Using the Client // -// To use the client for AWS Budgets you will first need -// to create a new instance of it. +// To AWS Budgets with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := budgets.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Budgets client Budgets for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/budgets/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CreateBudget(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CreateBudget result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CreateBudgetWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package budgets diff --git a/vendor/github.com/aws/aws-sdk-go/service/clouddirectory/api.go b/vendor/github.com/aws/aws-sdk-go/service/clouddirectory/api.go index 476cd1f0f..1a1b9a17f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/clouddirectory/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/clouddirectory/api.go @@ -17,19 +17,18 @@ const opAddFacetToObject = "AddFacetToObject" // AddFacetToObjectRequest generates a "aws/request.Request" representing the // client's request for the AddFacetToObject operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddFacetToObject for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddFacetToObject method directly -// instead. +// See AddFacetToObject for more information on using the AddFacetToObject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddFacetToObjectRequest method. // req, resp := client.AddFacetToObjectRequest(params) @@ -132,19 +131,18 @@ const opApplySchema = "ApplySchema" // ApplySchemaRequest generates a "aws/request.Request" representing the // client's request for the ApplySchema operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ApplySchema for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ApplySchema method directly -// instead. +// See ApplySchema for more information on using the ApplySchema +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ApplySchemaRequest method. // req, resp := client.ApplySchemaRequest(params) @@ -246,19 +244,18 @@ const opAttachObject = "AttachObject" // AttachObjectRequest generates a "aws/request.Request" representing the // client's request for the AttachObject operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AttachObject for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AttachObject method directly -// instead. +// See AttachObject for more information on using the AttachObject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AttachObjectRequest method. // req, resp := client.AttachObjectRequest(params) @@ -379,19 +376,18 @@ const opAttachPolicy = "AttachPolicy" // AttachPolicyRequest generates a "aws/request.Request" representing the // client's request for the AttachPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AttachPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AttachPolicy method directly -// instead. +// See AttachPolicy for more information on using the AttachPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AttachPolicyRequest method. // req, resp := client.AttachPolicyRequest(params) @@ -497,19 +493,18 @@ const opAttachToIndex = "AttachToIndex" // AttachToIndexRequest generates a "aws/request.Request" representing the // client's request for the AttachToIndex operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AttachToIndex for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AttachToIndex method directly -// instead. +// See AttachToIndex for more information on using the AttachToIndex +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AttachToIndexRequest method. // req, resp := client.AttachToIndexRequest(params) @@ -619,19 +614,18 @@ const opAttachTypedLink = "AttachTypedLink" // AttachTypedLinkRequest generates a "aws/request.Request" representing the // client's request for the AttachTypedLink operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AttachTypedLink for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AttachTypedLink method directly -// instead. +// See AttachTypedLink for more information on using the AttachTypedLink +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AttachTypedLinkRequest method. // req, resp := client.AttachTypedLinkRequest(params) @@ -699,6 +693,9 @@ func (c *CloudDirectory) AttachTypedLinkRequest(input *AttachTypedLinkInput) (re // * ErrCodeAccessDeniedException "AccessDeniedException" // Access denied. Check your permissions. // +// * ErrCodeDirectoryNotEnabledException "DirectoryNotEnabledException" +// An operation can only operate on a directory that is not enabled. +// // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The specified resource could not be found. // @@ -741,19 +738,18 @@ const opBatchRead = "BatchRead" // BatchReadRequest generates a "aws/request.Request" representing the // client's request for the BatchRead operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See BatchRead for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the BatchRead method directly -// instead. +// See BatchRead for more information on using the BatchRead +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the BatchReadRequest method. // req, resp := client.BatchReadRequest(params) @@ -849,19 +845,18 @@ const opBatchWrite = "BatchWrite" // BatchWriteRequest generates a "aws/request.Request" representing the // client's request for the BatchWrite operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See BatchWrite for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the BatchWrite method directly -// instead. +// See BatchWrite for more information on using the BatchWrite +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the BatchWriteRequest method. // req, resp := client.BatchWriteRequest(params) @@ -961,19 +956,18 @@ const opCreateDirectory = "CreateDirectory" // CreateDirectoryRequest generates a "aws/request.Request" representing the // client's request for the CreateDirectory operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDirectory for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDirectory method directly -// instead. +// See CreateDirectory for more information on using the CreateDirectory +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDirectoryRequest method. // req, resp := client.CreateDirectoryRequest(params) @@ -1077,19 +1071,18 @@ const opCreateFacet = "CreateFacet" // CreateFacetRequest generates a "aws/request.Request" representing the // client's request for the CreateFacet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateFacet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateFacet method directly -// instead. +// See CreateFacet for more information on using the CreateFacet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateFacetRequest method. // req, resp := client.CreateFacetRequest(params) @@ -1196,19 +1189,18 @@ const opCreateIndex = "CreateIndex" // CreateIndexRequest generates a "aws/request.Request" representing the // client's request for the CreateIndex operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateIndex for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateIndex method directly -// instead. +// See CreateIndex for more information on using the CreateIndex +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateIndexRequest method. // req, resp := client.CreateIndexRequest(params) @@ -1319,19 +1311,18 @@ const opCreateObject = "CreateObject" // CreateObjectRequest generates a "aws/request.Request" representing the // client's request for the CreateObject operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateObject for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateObject method directly -// instead. +// See CreateObject for more information on using the CreateObject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateObjectRequest method. // req, resp := client.CreateObjectRequest(params) @@ -1447,19 +1438,18 @@ const opCreateSchema = "CreateSchema" // CreateSchemaRequest generates a "aws/request.Request" representing the // client's request for the CreateSchema operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateSchema for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateSchema method directly -// instead. +// See CreateSchema for more information on using the CreateSchema +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateSchemaRequest method. // req, resp := client.CreateSchemaRequest(params) @@ -1571,19 +1561,18 @@ const opCreateTypedLinkFacet = "CreateTypedLinkFacet" // CreateTypedLinkFacetRequest generates a "aws/request.Request" representing the // client's request for the CreateTypedLinkFacet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateTypedLinkFacet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateTypedLinkFacet method directly -// instead. +// See CreateTypedLinkFacet for more information on using the CreateTypedLinkFacet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateTypedLinkFacetRequest method. // req, resp := client.CreateTypedLinkFacetRequest(params) @@ -1689,19 +1678,18 @@ const opDeleteDirectory = "DeleteDirectory" // DeleteDirectoryRequest generates a "aws/request.Request" representing the // client's request for the DeleteDirectory operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDirectory for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDirectory method directly -// instead. +// See DeleteDirectory for more information on using the DeleteDirectory +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDirectoryRequest method. // req, resp := client.DeleteDirectoryRequest(params) @@ -1805,19 +1793,18 @@ const opDeleteFacet = "DeleteFacet" // DeleteFacetRequest generates a "aws/request.Request" representing the // client's request for the DeleteFacet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteFacet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteFacet method directly -// instead. +// See DeleteFacet for more information on using the DeleteFacet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteFacetRequest method. // req, resp := client.DeleteFacetRequest(params) @@ -1921,19 +1908,18 @@ const opDeleteObject = "DeleteObject" // DeleteObjectRequest generates a "aws/request.Request" representing the // client's request for the DeleteObject operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteObject for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteObject method directly -// instead. +// See DeleteObject for more information on using the DeleteObject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteObjectRequest method. // req, resp := client.DeleteObjectRequest(params) @@ -2037,19 +2023,18 @@ const opDeleteSchema = "DeleteSchema" // DeleteSchemaRequest generates a "aws/request.Request" representing the // client's request for the DeleteSchema operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSchema for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSchema method directly -// instead. +// See DeleteSchema for more information on using the DeleteSchema +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSchemaRequest method. // req, resp := client.DeleteSchemaRequest(params) @@ -2150,19 +2135,18 @@ const opDeleteTypedLinkFacet = "DeleteTypedLinkFacet" // DeleteTypedLinkFacetRequest generates a "aws/request.Request" representing the // client's request for the DeleteTypedLinkFacet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteTypedLinkFacet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteTypedLinkFacet method directly -// instead. +// See DeleteTypedLinkFacet for more information on using the DeleteTypedLinkFacet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteTypedLinkFacetRequest method. // req, resp := client.DeleteTypedLinkFacetRequest(params) @@ -2261,19 +2245,18 @@ const opDetachFromIndex = "DetachFromIndex" // DetachFromIndexRequest generates a "aws/request.Request" representing the // client's request for the DetachFromIndex operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DetachFromIndex for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DetachFromIndex method directly -// instead. +// See DetachFromIndex for more information on using the DetachFromIndex +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DetachFromIndexRequest method. // req, resp := client.DetachFromIndexRequest(params) @@ -2378,19 +2361,18 @@ const opDetachObject = "DetachObject" // DetachObjectRequest generates a "aws/request.Request" representing the // client's request for the DetachObject operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DetachObject for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DetachObject method directly -// instead. +// See DetachObject for more information on using the DetachObject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DetachObjectRequest method. // req, resp := client.DetachObjectRequest(params) @@ -2490,19 +2472,18 @@ const opDetachPolicy = "DetachPolicy" // DetachPolicyRequest generates a "aws/request.Request" representing the // client's request for the DetachPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DetachPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DetachPolicy method directly -// instead. +// See DetachPolicy for more information on using the DetachPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DetachPolicyRequest method. // req, resp := client.DetachPolicyRequest(params) @@ -2607,19 +2588,18 @@ const opDetachTypedLink = "DetachTypedLink" // DetachTypedLinkRequest generates a "aws/request.Request" representing the // client's request for the DetachTypedLink operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DetachTypedLink for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DetachTypedLink method directly -// instead. +// See DetachTypedLink for more information on using the DetachTypedLink +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DetachTypedLinkRequest method. // req, resp := client.DetachTypedLinkRequest(params) @@ -2689,6 +2669,9 @@ func (c *CloudDirectory) DetachTypedLinkRequest(input *DetachTypedLinkInput) (re // * ErrCodeAccessDeniedException "AccessDeniedException" // Access denied. Check your permissions. // +// * ErrCodeDirectoryNotEnabledException "DirectoryNotEnabledException" +// An operation can only operate on a directory that is not enabled. +// // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The specified resource could not be found. // @@ -2722,19 +2705,18 @@ const opDisableDirectory = "DisableDirectory" // DisableDirectoryRequest generates a "aws/request.Request" representing the // client's request for the DisableDirectory operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisableDirectory for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisableDirectory method directly -// instead. +// See DisableDirectory for more information on using the DisableDirectory +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisableDirectoryRequest method. // req, resp := client.DisableDirectoryRequest(params) @@ -2836,19 +2818,18 @@ const opEnableDirectory = "EnableDirectory" // EnableDirectoryRequest generates a "aws/request.Request" representing the // client's request for the EnableDirectory operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EnableDirectory for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EnableDirectory method directly -// instead. +// See EnableDirectory for more information on using the EnableDirectory +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EnableDirectoryRequest method. // req, resp := client.EnableDirectoryRequest(params) @@ -2949,19 +2930,18 @@ const opGetDirectory = "GetDirectory" // GetDirectoryRequest generates a "aws/request.Request" representing the // client's request for the GetDirectory operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDirectory for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDirectory method directly -// instead. +// See GetDirectory for more information on using the GetDirectory +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDirectoryRequest method. // req, resp := client.GetDirectoryRequest(params) @@ -3054,19 +3034,18 @@ const opGetFacet = "GetFacet" // GetFacetRequest generates a "aws/request.Request" representing the // client's request for the GetFacet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetFacet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetFacet method directly -// instead. +// See GetFacet for more information on using the GetFacet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetFacetRequest method. // req, resp := client.GetFacetRequest(params) @@ -3167,19 +3146,18 @@ const opGetObjectInformation = "GetObjectInformation" // GetObjectInformationRequest generates a "aws/request.Request" representing the // client's request for the GetObjectInformation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetObjectInformation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetObjectInformation method directly -// instead. +// See GetObjectInformation for more information on using the GetObjectInformation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetObjectInformationRequest method. // req, resp := client.GetObjectInformationRequest(params) @@ -3278,19 +3256,18 @@ const opGetSchemaAsJson = "GetSchemaAsJson" // GetSchemaAsJsonRequest generates a "aws/request.Request" representing the // client's request for the GetSchemaAsJson operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSchemaAsJson for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSchemaAsJson method directly -// instead. +// See GetSchemaAsJson for more information on using the GetSchemaAsJson +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSchemaAsJsonRequest method. // req, resp := client.GetSchemaAsJsonRequest(params) @@ -3391,19 +3368,18 @@ const opGetTypedLinkFacetInformation = "GetTypedLinkFacetInformation" // GetTypedLinkFacetInformationRequest generates a "aws/request.Request" representing the // client's request for the GetTypedLinkFacetInformation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetTypedLinkFacetInformation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetTypedLinkFacetInformation method directly -// instead. +// See GetTypedLinkFacetInformation for more information on using the GetTypedLinkFacetInformation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetTypedLinkFacetInformationRequest method. // req, resp := client.GetTypedLinkFacetInformationRequest(params) @@ -3506,19 +3482,18 @@ const opListAppliedSchemaArns = "ListAppliedSchemaArns" // ListAppliedSchemaArnsRequest generates a "aws/request.Request" representing the // client's request for the ListAppliedSchemaArns operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAppliedSchemaArns for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAppliedSchemaArns method directly -// instead. +// See ListAppliedSchemaArns for more information on using the ListAppliedSchemaArns +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAppliedSchemaArnsRequest method. // req, resp := client.ListAppliedSchemaArnsRequest(params) @@ -3673,19 +3648,18 @@ const opListAttachedIndices = "ListAttachedIndices" // ListAttachedIndicesRequest generates a "aws/request.Request" representing the // client's request for the ListAttachedIndices operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAttachedIndices for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAttachedIndices method directly -// instead. +// See ListAttachedIndices for more information on using the ListAttachedIndices +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAttachedIndicesRequest method. // req, resp := client.ListAttachedIndicesRequest(params) @@ -3840,19 +3814,18 @@ const opListDevelopmentSchemaArns = "ListDevelopmentSchemaArns" // ListDevelopmentSchemaArnsRequest generates a "aws/request.Request" representing the // client's request for the ListDevelopmentSchemaArns operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDevelopmentSchemaArns for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDevelopmentSchemaArns method directly -// instead. +// See ListDevelopmentSchemaArns for more information on using the ListDevelopmentSchemaArns +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDevelopmentSchemaArnsRequest method. // req, resp := client.ListDevelopmentSchemaArnsRequest(params) @@ -4007,19 +3980,18 @@ const opListDirectories = "ListDirectories" // ListDirectoriesRequest generates a "aws/request.Request" representing the // client's request for the ListDirectories operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDirectories for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDirectories method directly -// instead. +// See ListDirectories for more information on using the ListDirectories +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDirectoriesRequest method. // req, resp := client.ListDirectoriesRequest(params) @@ -4171,19 +4143,18 @@ const opListFacetAttributes = "ListFacetAttributes" // ListFacetAttributesRequest generates a "aws/request.Request" representing the // client's request for the ListFacetAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListFacetAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListFacetAttributes method directly -// instead. +// See ListFacetAttributes for more information on using the ListFacetAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListFacetAttributesRequest method. // req, resp := client.ListFacetAttributesRequest(params) @@ -4341,19 +4312,18 @@ const opListFacetNames = "ListFacetNames" // ListFacetNamesRequest generates a "aws/request.Request" representing the // client's request for the ListFacetNames operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListFacetNames for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListFacetNames method directly -// instead. +// See ListFacetNames for more information on using the ListFacetNames +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListFacetNamesRequest method. // req, resp := client.ListFacetNamesRequest(params) @@ -4508,19 +4478,18 @@ const opListIncomingTypedLinks = "ListIncomingTypedLinks" // ListIncomingTypedLinksRequest generates a "aws/request.Request" representing the // client's request for the ListIncomingTypedLinks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListIncomingTypedLinks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListIncomingTypedLinks method directly -// instead. +// See ListIncomingTypedLinks for more information on using the ListIncomingTypedLinks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListIncomingTypedLinksRequest method. // req, resp := client.ListIncomingTypedLinksRequest(params) @@ -4589,6 +4558,9 @@ func (c *CloudDirectory) ListIncomingTypedLinksRequest(input *ListIncomingTypedL // * ErrCodeAccessDeniedException "AccessDeniedException" // Access denied. Check your permissions. // +// * ErrCodeDirectoryNotEnabledException "DirectoryNotEnabledException" +// An operation can only operate on a directory that is not enabled. +// // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The specified resource could not be found. // @@ -4625,19 +4597,18 @@ const opListIndex = "ListIndex" // ListIndexRequest generates a "aws/request.Request" representing the // client's request for the ListIndex operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListIndex for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListIndex method directly -// instead. +// See ListIndex for more information on using the ListIndex +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListIndexRequest method. // req, resp := client.ListIndexRequest(params) @@ -4795,19 +4766,18 @@ const opListObjectAttributes = "ListObjectAttributes" // ListObjectAttributesRequest generates a "aws/request.Request" representing the // client's request for the ListObjectAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListObjectAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListObjectAttributes method directly -// instead. +// See ListObjectAttributes for more information on using the ListObjectAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListObjectAttributesRequest method. // req, resp := client.ListObjectAttributesRequest(params) @@ -4972,19 +4942,18 @@ const opListObjectChildren = "ListObjectChildren" // ListObjectChildrenRequest generates a "aws/request.Request" representing the // client's request for the ListObjectChildren operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListObjectChildren for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListObjectChildren method directly -// instead. +// See ListObjectChildren for more information on using the ListObjectChildren +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListObjectChildrenRequest method. // req, resp := client.ListObjectChildrenRequest(params) @@ -5150,19 +5119,18 @@ const opListObjectParentPaths = "ListObjectParentPaths" // ListObjectParentPathsRequest generates a "aws/request.Request" representing the // client's request for the ListObjectParentPaths operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListObjectParentPaths for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListObjectParentPaths method directly -// instead. +// See ListObjectParentPaths for more information on using the ListObjectParentPaths +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListObjectParentPathsRequest method. // req, resp := client.ListObjectParentPathsRequest(params) @@ -5330,19 +5298,18 @@ const opListObjectParents = "ListObjectParents" // ListObjectParentsRequest generates a "aws/request.Request" representing the // client's request for the ListObjectParents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListObjectParents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListObjectParents method directly -// instead. +// See ListObjectParents for more information on using the ListObjectParents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListObjectParentsRequest method. // req, resp := client.ListObjectParentsRequest(params) @@ -5507,19 +5474,18 @@ const opListObjectPolicies = "ListObjectPolicies" // ListObjectPoliciesRequest generates a "aws/request.Request" representing the // client's request for the ListObjectPolicies operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListObjectPolicies for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListObjectPolicies method directly -// instead. +// See ListObjectPolicies for more information on using the ListObjectPolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListObjectPoliciesRequest method. // req, resp := client.ListObjectPoliciesRequest(params) @@ -5677,19 +5643,18 @@ const opListOutgoingTypedLinks = "ListOutgoingTypedLinks" // ListOutgoingTypedLinksRequest generates a "aws/request.Request" representing the // client's request for the ListOutgoingTypedLinks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListOutgoingTypedLinks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListOutgoingTypedLinks method directly -// instead. +// See ListOutgoingTypedLinks for more information on using the ListOutgoingTypedLinks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListOutgoingTypedLinksRequest method. // req, resp := client.ListOutgoingTypedLinksRequest(params) @@ -5758,6 +5723,9 @@ func (c *CloudDirectory) ListOutgoingTypedLinksRequest(input *ListOutgoingTypedL // * ErrCodeAccessDeniedException "AccessDeniedException" // Access denied. Check your permissions. // +// * ErrCodeDirectoryNotEnabledException "DirectoryNotEnabledException" +// An operation can only operate on a directory that is not enabled. +// // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The specified resource could not be found. // @@ -5794,19 +5762,18 @@ const opListPolicyAttachments = "ListPolicyAttachments" // ListPolicyAttachmentsRequest generates a "aws/request.Request" representing the // client's request for the ListPolicyAttachments operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListPolicyAttachments for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListPolicyAttachments method directly -// instead. +// See ListPolicyAttachments for more information on using the ListPolicyAttachments +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPolicyAttachmentsRequest method. // req, resp := client.ListPolicyAttachmentsRequest(params) @@ -5970,19 +5937,18 @@ const opListPublishedSchemaArns = "ListPublishedSchemaArns" // ListPublishedSchemaArnsRequest generates a "aws/request.Request" representing the // client's request for the ListPublishedSchemaArns operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListPublishedSchemaArns for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListPublishedSchemaArns method directly -// instead. +// See ListPublishedSchemaArns for more information on using the ListPublishedSchemaArns +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPublishedSchemaArnsRequest method. // req, resp := client.ListPublishedSchemaArnsRequest(params) @@ -6137,19 +6103,18 @@ const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the // client's request for the ListTagsForResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTagsForResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTagsForResource method directly -// instead. +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTagsForResourceRequest method. // req, resp := client.ListTagsForResourceRequest(params) @@ -6308,19 +6273,18 @@ const opListTypedLinkFacetAttributes = "ListTypedLinkFacetAttributes" // ListTypedLinkFacetAttributesRequest generates a "aws/request.Request" representing the // client's request for the ListTypedLinkFacetAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTypedLinkFacetAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTypedLinkFacetAttributes method directly -// instead. +// See ListTypedLinkFacetAttributes for more information on using the ListTypedLinkFacetAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTypedLinkFacetAttributesRequest method. // req, resp := client.ListTypedLinkFacetAttributesRequest(params) @@ -6479,19 +6443,18 @@ const opListTypedLinkFacetNames = "ListTypedLinkFacetNames" // ListTypedLinkFacetNamesRequest generates a "aws/request.Request" representing the // client's request for the ListTypedLinkFacetNames operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTypedLinkFacetNames for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTypedLinkFacetNames method directly -// instead. +// See ListTypedLinkFacetNames for more information on using the ListTypedLinkFacetNames +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTypedLinkFacetNamesRequest method. // req, resp := client.ListTypedLinkFacetNamesRequest(params) @@ -6647,19 +6610,18 @@ const opLookupPolicy = "LookupPolicy" // LookupPolicyRequest generates a "aws/request.Request" representing the // client's request for the LookupPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See LookupPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the LookupPolicy method directly -// instead. +// See LookupPolicy for more information on using the LookupPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the LookupPolicyRequest method. // req, resp := client.LookupPolicyRequest(params) @@ -6826,19 +6788,18 @@ const opPublishSchema = "PublishSchema" // PublishSchemaRequest generates a "aws/request.Request" representing the // client's request for the PublishSchema operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PublishSchema for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PublishSchema method directly -// instead. +// See PublishSchema for more information on using the PublishSchema +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PublishSchemaRequest method. // req, resp := client.PublishSchemaRequest(params) @@ -6940,19 +6901,18 @@ const opPutSchemaFromJson = "PutSchemaFromJson" // PutSchemaFromJsonRequest generates a "aws/request.Request" representing the // client's request for the PutSchemaFromJson operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutSchemaFromJson for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutSchemaFromJson method directly -// instead. +// See PutSchemaFromJson for more information on using the PutSchemaFromJson +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutSchemaFromJsonRequest method. // req, resp := client.PutSchemaFromJsonRequest(params) @@ -7053,19 +7013,18 @@ const opRemoveFacetFromObject = "RemoveFacetFromObject" // RemoveFacetFromObjectRequest generates a "aws/request.Request" representing the // client's request for the RemoveFacetFromObject operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveFacetFromObject for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveFacetFromObject method directly -// instead. +// See RemoveFacetFromObject for more information on using the RemoveFacetFromObject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveFacetFromObjectRequest method. // req, resp := client.RemoveFacetFromObjectRequest(params) @@ -7168,19 +7127,18 @@ const opTagResource = "TagResource" // TagResourceRequest generates a "aws/request.Request" representing the // client's request for the TagResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TagResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TagResource method directly -// instead. +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TagResourceRequest method. // req, resp := client.TagResourceRequest(params) @@ -7281,19 +7239,18 @@ const opUntagResource = "UntagResource" // UntagResourceRequest generates a "aws/request.Request" representing the // client's request for the UntagResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UntagResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UntagResource method directly -// instead. +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UntagResourceRequest method. // req, resp := client.UntagResourceRequest(params) @@ -7394,19 +7351,18 @@ const opUpdateFacet = "UpdateFacet" // UpdateFacetRequest generates a "aws/request.Request" representing the // client's request for the UpdateFacet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateFacet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateFacet method directly -// instead. +// See UpdateFacet for more information on using the UpdateFacet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateFacetRequest method. // req, resp := client.UpdateFacetRequest(params) @@ -7517,19 +7473,18 @@ const opUpdateObjectAttributes = "UpdateObjectAttributes" // UpdateObjectAttributesRequest generates a "aws/request.Request" representing the // client's request for the UpdateObjectAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateObjectAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateObjectAttributes method directly -// instead. +// See UpdateObjectAttributes for more information on using the UpdateObjectAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateObjectAttributesRequest method. // req, resp := client.UpdateObjectAttributesRequest(params) @@ -7632,19 +7587,18 @@ const opUpdateSchema = "UpdateSchema" // UpdateSchemaRequest generates a "aws/request.Request" representing the // client's request for the UpdateSchema operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateSchema for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateSchema method directly -// instead. +// See UpdateSchema for more information on using the UpdateSchema +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateSchemaRequest method. // req, resp := client.UpdateSchemaRequest(params) @@ -7741,19 +7695,18 @@ const opUpdateTypedLinkFacet = "UpdateTypedLinkFacet" // UpdateTypedLinkFacetRequest generates a "aws/request.Request" representing the // client's request for the UpdateTypedLinkFacet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateTypedLinkFacet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateTypedLinkFacet method directly -// instead. +// See UpdateTypedLinkFacet for more information on using the UpdateTypedLinkFacet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateTypedLinkFacetRequest method. // req, resp := client.UpdateTypedLinkFacetRequest(params) @@ -8856,6 +8809,403 @@ func (s *BatchAttachObjectResponse) SetAttachedObjectIdentifier(v string) *Batch return s } +// Attaches a policy object to a regular object inside a BatchRead operation. For +// more information, see AttachPolicy and BatchReadRequest$Operations. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchAttachPolicy +type BatchAttachPolicy struct { + _ struct{} `type:"structure"` + + // The reference that identifies the object to which the policy will be attached. + // + // ObjectReference is a required field + ObjectReference *ObjectReference `type:"structure" required:"true"` + + // The reference that is associated with the policy object. + // + // PolicyReference is a required field + PolicyReference *ObjectReference `type:"structure" required:"true"` +} + +// String returns the string representation +func (s BatchAttachPolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchAttachPolicy) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchAttachPolicy) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchAttachPolicy"} + if s.ObjectReference == nil { + invalidParams.Add(request.NewErrParamRequired("ObjectReference")) + } + if s.PolicyReference == nil { + invalidParams.Add(request.NewErrParamRequired("PolicyReference")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetObjectReference sets the ObjectReference field's value. +func (s *BatchAttachPolicy) SetObjectReference(v *ObjectReference) *BatchAttachPolicy { + s.ObjectReference = v + return s +} + +// SetPolicyReference sets the PolicyReference field's value. +func (s *BatchAttachPolicy) SetPolicyReference(v *ObjectReference) *BatchAttachPolicy { + s.PolicyReference = v + return s +} + +// Represents the output of an AttachPolicy response operation. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchAttachPolicyResponse +type BatchAttachPolicyResponse struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s BatchAttachPolicyResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchAttachPolicyResponse) GoString() string { + return s.String() +} + +// Attaches the specified object to the specified index inside a BatchRead operation. +// For more information, see AttachToIndex and BatchReadRequest$Operations. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchAttachToIndex +type BatchAttachToIndex struct { + _ struct{} `type:"structure"` + + // A reference to the index that you are attaching the object to. + // + // IndexReference is a required field + IndexReference *ObjectReference `type:"structure" required:"true"` + + // A reference to the object that you are attaching to the index. + // + // TargetReference is a required field + TargetReference *ObjectReference `type:"structure" required:"true"` +} + +// String returns the string representation +func (s BatchAttachToIndex) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchAttachToIndex) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchAttachToIndex) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchAttachToIndex"} + if s.IndexReference == nil { + invalidParams.Add(request.NewErrParamRequired("IndexReference")) + } + if s.TargetReference == nil { + invalidParams.Add(request.NewErrParamRequired("TargetReference")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIndexReference sets the IndexReference field's value. +func (s *BatchAttachToIndex) SetIndexReference(v *ObjectReference) *BatchAttachToIndex { + s.IndexReference = v + return s +} + +// SetTargetReference sets the TargetReference field's value. +func (s *BatchAttachToIndex) SetTargetReference(v *ObjectReference) *BatchAttachToIndex { + s.TargetReference = v + return s +} + +// Represents the output of a AttachToIndex response operation. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchAttachToIndexResponse +type BatchAttachToIndexResponse struct { + _ struct{} `type:"structure"` + + // The ObjectIdentifier of the object that was attached to the index. + AttachedObjectIdentifier *string `type:"string"` +} + +// String returns the string representation +func (s BatchAttachToIndexResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchAttachToIndexResponse) GoString() string { + return s.String() +} + +// SetAttachedObjectIdentifier sets the AttachedObjectIdentifier field's value. +func (s *BatchAttachToIndexResponse) SetAttachedObjectIdentifier(v string) *BatchAttachToIndexResponse { + s.AttachedObjectIdentifier = &v + return s +} + +// Attaches a typed link to a specified source and target object inside a BatchRead +// operation. For more information, see AttachTypedLink and BatchReadRequest$Operations. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchAttachTypedLink +type BatchAttachTypedLink struct { + _ struct{} `type:"structure"` + + // A set of attributes that are associated with the typed link. + // + // Attributes is a required field + Attributes []*AttributeNameAndValue `type:"list" required:"true"` + + // Identifies the source object that the typed link will attach to. + // + // SourceObjectReference is a required field + SourceObjectReference *ObjectReference `type:"structure" required:"true"` + + // Identifies the target object that the typed link will attach to. + // + // TargetObjectReference is a required field + TargetObjectReference *ObjectReference `type:"structure" required:"true"` + + // Identifies the typed link facet that is associated with the typed link. + // + // TypedLinkFacet is a required field + TypedLinkFacet *TypedLinkSchemaAndFacetName `type:"structure" required:"true"` +} + +// String returns the string representation +func (s BatchAttachTypedLink) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchAttachTypedLink) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchAttachTypedLink) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchAttachTypedLink"} + if s.Attributes == nil { + invalidParams.Add(request.NewErrParamRequired("Attributes")) + } + if s.SourceObjectReference == nil { + invalidParams.Add(request.NewErrParamRequired("SourceObjectReference")) + } + if s.TargetObjectReference == nil { + invalidParams.Add(request.NewErrParamRequired("TargetObjectReference")) + } + if s.TypedLinkFacet == nil { + invalidParams.Add(request.NewErrParamRequired("TypedLinkFacet")) + } + if s.Attributes != nil { + for i, v := range s.Attributes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) + } + } + } + if s.TypedLinkFacet != nil { + if err := s.TypedLinkFacet.Validate(); err != nil { + invalidParams.AddNested("TypedLinkFacet", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttributes sets the Attributes field's value. +func (s *BatchAttachTypedLink) SetAttributes(v []*AttributeNameAndValue) *BatchAttachTypedLink { + s.Attributes = v + return s +} + +// SetSourceObjectReference sets the SourceObjectReference field's value. +func (s *BatchAttachTypedLink) SetSourceObjectReference(v *ObjectReference) *BatchAttachTypedLink { + s.SourceObjectReference = v + return s +} + +// SetTargetObjectReference sets the TargetObjectReference field's value. +func (s *BatchAttachTypedLink) SetTargetObjectReference(v *ObjectReference) *BatchAttachTypedLink { + s.TargetObjectReference = v + return s +} + +// SetTypedLinkFacet sets the TypedLinkFacet field's value. +func (s *BatchAttachTypedLink) SetTypedLinkFacet(v *TypedLinkSchemaAndFacetName) *BatchAttachTypedLink { + s.TypedLinkFacet = v + return s +} + +// Represents the output of a AttachTypedLink response operation. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchAttachTypedLinkResponse +type BatchAttachTypedLinkResponse struct { + _ struct{} `type:"structure"` + + // Returns a typed link specifier as output. + TypedLinkSpecifier *TypedLinkSpecifier `type:"structure"` +} + +// String returns the string representation +func (s BatchAttachTypedLinkResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchAttachTypedLinkResponse) GoString() string { + return s.String() +} + +// SetTypedLinkSpecifier sets the TypedLinkSpecifier field's value. +func (s *BatchAttachTypedLinkResponse) SetTypedLinkSpecifier(v *TypedLinkSpecifier) *BatchAttachTypedLinkResponse { + s.TypedLinkSpecifier = v + return s +} + +// Creates an index object inside of a BatchRead operation. For more information, +// see CreateIndex and BatchReadRequest$Operations. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchCreateIndex +type BatchCreateIndex struct { + _ struct{} `type:"structure"` + + // The batch reference name. See Batches (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_advanced.html#batches) + // for more information. + BatchReferenceName *string `type:"string"` + + // Indicates whether the attribute that is being indexed has unique values or + // not. + // + // IsUnique is a required field + IsUnique *bool `type:"boolean" required:"true"` + + // The name of the link between the parent object and the index object. + LinkName *string `min:"1" type:"string"` + + // Specifies the attributes that should be indexed on. Currently only a single + // attribute is supported. + // + // OrderedIndexedAttributeList is a required field + OrderedIndexedAttributeList []*AttributeKey `type:"list" required:"true"` + + // A reference to the parent object that contains the index object. + ParentReference *ObjectReference `type:"structure"` +} + +// String returns the string representation +func (s BatchCreateIndex) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchCreateIndex) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchCreateIndex) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchCreateIndex"} + if s.IsUnique == nil { + invalidParams.Add(request.NewErrParamRequired("IsUnique")) + } + if s.LinkName != nil && len(*s.LinkName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LinkName", 1)) + } + if s.OrderedIndexedAttributeList == nil { + invalidParams.Add(request.NewErrParamRequired("OrderedIndexedAttributeList")) + } + if s.OrderedIndexedAttributeList != nil { + for i, v := range s.OrderedIndexedAttributeList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OrderedIndexedAttributeList", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBatchReferenceName sets the BatchReferenceName field's value. +func (s *BatchCreateIndex) SetBatchReferenceName(v string) *BatchCreateIndex { + s.BatchReferenceName = &v + return s +} + +// SetIsUnique sets the IsUnique field's value. +func (s *BatchCreateIndex) SetIsUnique(v bool) *BatchCreateIndex { + s.IsUnique = &v + return s +} + +// SetLinkName sets the LinkName field's value. +func (s *BatchCreateIndex) SetLinkName(v string) *BatchCreateIndex { + s.LinkName = &v + return s +} + +// SetOrderedIndexedAttributeList sets the OrderedIndexedAttributeList field's value. +func (s *BatchCreateIndex) SetOrderedIndexedAttributeList(v []*AttributeKey) *BatchCreateIndex { + s.OrderedIndexedAttributeList = v + return s +} + +// SetParentReference sets the ParentReference field's value. +func (s *BatchCreateIndex) SetParentReference(v *ObjectReference) *BatchCreateIndex { + s.ParentReference = v + return s +} + +// Represents the output of a CreateIndex response operation. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchCreateIndexResponse +type BatchCreateIndexResponse struct { + _ struct{} `type:"structure"` + + // The ObjectIdentifier of the index created by this operation. + ObjectIdentifier *string `type:"string"` +} + +// String returns the string representation +func (s BatchCreateIndexResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchCreateIndexResponse) GoString() string { + return s.String() +} + +// SetObjectIdentifier sets the ObjectIdentifier field's value. +func (s *BatchCreateIndexResponse) SetObjectIdentifier(v string) *BatchCreateIndexResponse { + s.ObjectIdentifier = &v + return s +} + // Represents the output of a CreateObject operation. // Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchCreateObject type BatchCreateObject struct { @@ -9059,6 +9409,86 @@ func (s BatchDeleteObjectResponse) GoString() string { return s.String() } +// Detaches the specified object from the specified index inside a BatchRead +// operation. For more information, see DetachFromIndex and BatchReadRequest$Operations. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchDetachFromIndex +type BatchDetachFromIndex struct { + _ struct{} `type:"structure"` + + // A reference to the index object. + // + // IndexReference is a required field + IndexReference *ObjectReference `type:"structure" required:"true"` + + // A reference to the object being detached from the index. + // + // TargetReference is a required field + TargetReference *ObjectReference `type:"structure" required:"true"` +} + +// String returns the string representation +func (s BatchDetachFromIndex) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDetachFromIndex) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchDetachFromIndex) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchDetachFromIndex"} + if s.IndexReference == nil { + invalidParams.Add(request.NewErrParamRequired("IndexReference")) + } + if s.TargetReference == nil { + invalidParams.Add(request.NewErrParamRequired("TargetReference")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIndexReference sets the IndexReference field's value. +func (s *BatchDetachFromIndex) SetIndexReference(v *ObjectReference) *BatchDetachFromIndex { + s.IndexReference = v + return s +} + +// SetTargetReference sets the TargetReference field's value. +func (s *BatchDetachFromIndex) SetTargetReference(v *ObjectReference) *BatchDetachFromIndex { + s.TargetReference = v + return s +} + +// Represents the output of a DetachFromIndex response operation. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchDetachFromIndexResponse +type BatchDetachFromIndexResponse struct { + _ struct{} `type:"structure"` + + // The ObjectIdentifier of the object that was detached from the index. + DetachedObjectIdentifier *string `type:"string"` +} + +// String returns the string representation +func (s BatchDetachFromIndexResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDetachFromIndexResponse) GoString() string { + return s.String() +} + +// SetDetachedObjectIdentifier sets the DetachedObjectIdentifier field's value. +func (s *BatchDetachFromIndexResponse) SetDetachedObjectIdentifier(v string) *BatchDetachFromIndexResponse { + s.DetachedObjectIdentifier = &v + return s +} + // Represents the output of a DetachObject operation. // Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchDetachObject type BatchDetachObject struct { @@ -9156,6 +9586,559 @@ func (s *BatchDetachObjectResponse) SetDetachedObjectIdentifier(v string) *Batch return s } +// Detaches the specified policy from the specified directory inside a BatchRead +// operation. For more information, see DetachPolicy and BatchReadRequest$Operations. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchDetachPolicy +type BatchDetachPolicy struct { + _ struct{} `type:"structure"` + + // Reference that identifies the object whose policy object will be detached. + // + // ObjectReference is a required field + ObjectReference *ObjectReference `type:"structure" required:"true"` + + // Reference that identifies the policy object. + // + // PolicyReference is a required field + PolicyReference *ObjectReference `type:"structure" required:"true"` +} + +// String returns the string representation +func (s BatchDetachPolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDetachPolicy) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchDetachPolicy) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchDetachPolicy"} + if s.ObjectReference == nil { + invalidParams.Add(request.NewErrParamRequired("ObjectReference")) + } + if s.PolicyReference == nil { + invalidParams.Add(request.NewErrParamRequired("PolicyReference")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetObjectReference sets the ObjectReference field's value. +func (s *BatchDetachPolicy) SetObjectReference(v *ObjectReference) *BatchDetachPolicy { + s.ObjectReference = v + return s +} + +// SetPolicyReference sets the PolicyReference field's value. +func (s *BatchDetachPolicy) SetPolicyReference(v *ObjectReference) *BatchDetachPolicy { + s.PolicyReference = v + return s +} + +// Represents the output of a DetachPolicy response operation. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchDetachPolicyResponse +type BatchDetachPolicyResponse struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s BatchDetachPolicyResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDetachPolicyResponse) GoString() string { + return s.String() +} + +// Detaches a typed link from a specified source and target object inside a +// BatchRead operation. For more information, see DetachTypedLink and BatchReadRequest$Operations. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchDetachTypedLink +type BatchDetachTypedLink struct { + _ struct{} `type:"structure"` + + // Used to accept a typed link specifier as input. + // + // TypedLinkSpecifier is a required field + TypedLinkSpecifier *TypedLinkSpecifier `type:"structure" required:"true"` +} + +// String returns the string representation +func (s BatchDetachTypedLink) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDetachTypedLink) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchDetachTypedLink) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchDetachTypedLink"} + if s.TypedLinkSpecifier == nil { + invalidParams.Add(request.NewErrParamRequired("TypedLinkSpecifier")) + } + if s.TypedLinkSpecifier != nil { + if err := s.TypedLinkSpecifier.Validate(); err != nil { + invalidParams.AddNested("TypedLinkSpecifier", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTypedLinkSpecifier sets the TypedLinkSpecifier field's value. +func (s *BatchDetachTypedLink) SetTypedLinkSpecifier(v *TypedLinkSpecifier) *BatchDetachTypedLink { + s.TypedLinkSpecifier = v + return s +} + +// Represents the output of a DetachTypedLink response operation. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchDetachTypedLinkResponse +type BatchDetachTypedLinkResponse struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s BatchDetachTypedLinkResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDetachTypedLinkResponse) GoString() string { + return s.String() +} + +// Retrieves metadata about an object inside a BatchRead operation. For more +// information, see GetObjectInformation and BatchReadRequest$Operations. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchGetObjectInformation +type BatchGetObjectInformation struct { + _ struct{} `type:"structure"` + + // A reference to the object. + // + // ObjectReference is a required field + ObjectReference *ObjectReference `type:"structure" required:"true"` +} + +// String returns the string representation +func (s BatchGetObjectInformation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetObjectInformation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGetObjectInformation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetObjectInformation"} + if s.ObjectReference == nil { + invalidParams.Add(request.NewErrParamRequired("ObjectReference")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetObjectReference sets the ObjectReference field's value. +func (s *BatchGetObjectInformation) SetObjectReference(v *ObjectReference) *BatchGetObjectInformation { + s.ObjectReference = v + return s +} + +// Represents the output of a GetObjectInformation response operation. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchGetObjectInformationResponse +type BatchGetObjectInformationResponse struct { + _ struct{} `type:"structure"` + + // The ObjectIdentifier of the specified object. + ObjectIdentifier *string `type:"string"` + + // The facets attached to the specified object. + SchemaFacets []*SchemaFacet `type:"list"` +} + +// String returns the string representation +func (s BatchGetObjectInformationResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetObjectInformationResponse) GoString() string { + return s.String() +} + +// SetObjectIdentifier sets the ObjectIdentifier field's value. +func (s *BatchGetObjectInformationResponse) SetObjectIdentifier(v string) *BatchGetObjectInformationResponse { + s.ObjectIdentifier = &v + return s +} + +// SetSchemaFacets sets the SchemaFacets field's value. +func (s *BatchGetObjectInformationResponse) SetSchemaFacets(v []*SchemaFacet) *BatchGetObjectInformationResponse { + s.SchemaFacets = v + return s +} + +// Lists indices attached to an object inside a BatchRead operation. For more +// information, see ListAttachedIndices and BatchReadRequest$Operations. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchListAttachedIndices +type BatchListAttachedIndices struct { + _ struct{} `type:"structure"` + + // The maximum number of results to retrieve. + MaxResults *int64 `min:"1" type:"integer"` + + // The pagination token. + NextToken *string `type:"string"` + + // A reference to the object that has indices attached. + // + // TargetReference is a required field + TargetReference *ObjectReference `type:"structure" required:"true"` +} + +// String returns the string representation +func (s BatchListAttachedIndices) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchListAttachedIndices) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchListAttachedIndices) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchListAttachedIndices"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.TargetReference == nil { + invalidParams.Add(request.NewErrParamRequired("TargetReference")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *BatchListAttachedIndices) SetMaxResults(v int64) *BatchListAttachedIndices { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *BatchListAttachedIndices) SetNextToken(v string) *BatchListAttachedIndices { + s.NextToken = &v + return s +} + +// SetTargetReference sets the TargetReference field's value. +func (s *BatchListAttachedIndices) SetTargetReference(v *ObjectReference) *BatchListAttachedIndices { + s.TargetReference = v + return s +} + +// Represents the output of a ListAttachedIndices response operation. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchListAttachedIndicesResponse +type BatchListAttachedIndicesResponse struct { + _ struct{} `type:"structure"` + + // The indices attached to the specified object. + IndexAttachments []*IndexAttachment `type:"list"` + + // The pagination token. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s BatchListAttachedIndicesResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchListAttachedIndicesResponse) GoString() string { + return s.String() +} + +// SetIndexAttachments sets the IndexAttachments field's value. +func (s *BatchListAttachedIndicesResponse) SetIndexAttachments(v []*IndexAttachment) *BatchListAttachedIndicesResponse { + s.IndexAttachments = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *BatchListAttachedIndicesResponse) SetNextToken(v string) *BatchListAttachedIndicesResponse { + s.NextToken = &v + return s +} + +// Returns a paginated list of all the incoming TypedLinkSpecifier information +// for an object inside a BatchRead operation. For more information, see ListIncomingTypedLinks +// and BatchReadRequest$Operations. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchListIncomingTypedLinks +type BatchListIncomingTypedLinks struct { + _ struct{} `type:"structure"` + + // Provides range filters for multiple attributes. When providing ranges to + // typed link selection, any inexact ranges must be specified at the end. Any + // attributes that do not have a range specified are presumed to match the entire + // range. + FilterAttributeRanges []*TypedLinkAttributeRange `type:"list"` + + // Filters are interpreted in the order of the attributes on the typed link + // facet, not the order in which they are supplied to any API calls. + FilterTypedLink *TypedLinkSchemaAndFacetName `type:"structure"` + + // The maximum number of results to retrieve. + MaxResults *int64 `min:"1" type:"integer"` + + // The pagination token. + NextToken *string `type:"string"` + + // The reference that identifies the object whose attributes will be listed. + // + // ObjectReference is a required field + ObjectReference *ObjectReference `type:"structure" required:"true"` +} + +// String returns the string representation +func (s BatchListIncomingTypedLinks) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchListIncomingTypedLinks) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchListIncomingTypedLinks) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchListIncomingTypedLinks"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ObjectReference == nil { + invalidParams.Add(request.NewErrParamRequired("ObjectReference")) + } + if s.FilterAttributeRanges != nil { + for i, v := range s.FilterAttributeRanges { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FilterAttributeRanges", i), err.(request.ErrInvalidParams)) + } + } + } + if s.FilterTypedLink != nil { + if err := s.FilterTypedLink.Validate(); err != nil { + invalidParams.AddNested("FilterTypedLink", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilterAttributeRanges sets the FilterAttributeRanges field's value. +func (s *BatchListIncomingTypedLinks) SetFilterAttributeRanges(v []*TypedLinkAttributeRange) *BatchListIncomingTypedLinks { + s.FilterAttributeRanges = v + return s +} + +// SetFilterTypedLink sets the FilterTypedLink field's value. +func (s *BatchListIncomingTypedLinks) SetFilterTypedLink(v *TypedLinkSchemaAndFacetName) *BatchListIncomingTypedLinks { + s.FilterTypedLink = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *BatchListIncomingTypedLinks) SetMaxResults(v int64) *BatchListIncomingTypedLinks { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *BatchListIncomingTypedLinks) SetNextToken(v string) *BatchListIncomingTypedLinks { + s.NextToken = &v + return s +} + +// SetObjectReference sets the ObjectReference field's value. +func (s *BatchListIncomingTypedLinks) SetObjectReference(v *ObjectReference) *BatchListIncomingTypedLinks { + s.ObjectReference = v + return s +} + +// Represents the output of a ListIncomingTypedLinks response operation. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchListIncomingTypedLinksResponse +type BatchListIncomingTypedLinksResponse struct { + _ struct{} `type:"structure"` + + // Returns one or more typed link specifiers as output. + LinkSpecifiers []*TypedLinkSpecifier `type:"list"` + + // The pagination token. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s BatchListIncomingTypedLinksResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchListIncomingTypedLinksResponse) GoString() string { + return s.String() +} + +// SetLinkSpecifiers sets the LinkSpecifiers field's value. +func (s *BatchListIncomingTypedLinksResponse) SetLinkSpecifiers(v []*TypedLinkSpecifier) *BatchListIncomingTypedLinksResponse { + s.LinkSpecifiers = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *BatchListIncomingTypedLinksResponse) SetNextToken(v string) *BatchListIncomingTypedLinksResponse { + s.NextToken = &v + return s +} + +// Lists objects attached to the specified index inside a BatchRead operation. +// For more information, see ListIndex and BatchReadRequest$Operations. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchListIndex +type BatchListIndex struct { + _ struct{} `type:"structure"` + + // The reference to the index to list. + // + // IndexReference is a required field + IndexReference *ObjectReference `type:"structure" required:"true"` + + // The maximum number of results to retrieve. + MaxResults *int64 `min:"1" type:"integer"` + + // The pagination token. + NextToken *string `type:"string"` + + // Specifies the ranges of indexed values that you want to query. + RangesOnIndexedValues []*ObjectAttributeRange `type:"list"` +} + +// String returns the string representation +func (s BatchListIndex) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchListIndex) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchListIndex) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchListIndex"} + if s.IndexReference == nil { + invalidParams.Add(request.NewErrParamRequired("IndexReference")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.RangesOnIndexedValues != nil { + for i, v := range s.RangesOnIndexedValues { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RangesOnIndexedValues", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIndexReference sets the IndexReference field's value. +func (s *BatchListIndex) SetIndexReference(v *ObjectReference) *BatchListIndex { + s.IndexReference = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *BatchListIndex) SetMaxResults(v int64) *BatchListIndex { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *BatchListIndex) SetNextToken(v string) *BatchListIndex { + s.NextToken = &v + return s +} + +// SetRangesOnIndexedValues sets the RangesOnIndexedValues field's value. +func (s *BatchListIndex) SetRangesOnIndexedValues(v []*ObjectAttributeRange) *BatchListIndex { + s.RangesOnIndexedValues = v + return s +} + +// Represents the output of a ListIndex response operation. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchListIndexResponse +type BatchListIndexResponse struct { + _ struct{} `type:"structure"` + + // The objects and indexed values attached to the index. + IndexAttachments []*IndexAttachment `type:"list"` + + // The pagination token. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s BatchListIndexResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchListIndexResponse) GoString() string { + return s.String() +} + +// SetIndexAttachments sets the IndexAttachments field's value. +func (s *BatchListIndexResponse) SetIndexAttachments(v []*IndexAttachment) *BatchListIndexResponse { + s.IndexAttachments = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *BatchListIndexResponse) SetNextToken(v string) *BatchListIndexResponse { + s.NextToken = &v + return s +} + // Represents the output of a ListObjectAttributes operation. // Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchListObjectAttributes type BatchListObjectAttributes struct { @@ -9365,6 +10348,528 @@ func (s *BatchListObjectChildrenResponse) SetNextToken(v string) *BatchListObjec return s } +// Retrieves all available parent paths for any object type such as node, leaf +// node, policy node, and index node objects inside a BatchRead operation. For +// more information, see ListObjectParentPaths and BatchReadRequest$Operations. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchListObjectParentPaths +type BatchListObjectParentPaths struct { + _ struct{} `type:"structure"` + + // The maximum number of results to retrieve. + MaxResults *int64 `min:"1" type:"integer"` + + // The pagination token. + NextToken *string `type:"string"` + + // The reference that identifies the object whose attributes will be listed. + // + // ObjectReference is a required field + ObjectReference *ObjectReference `type:"structure" required:"true"` +} + +// String returns the string representation +func (s BatchListObjectParentPaths) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchListObjectParentPaths) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchListObjectParentPaths) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchListObjectParentPaths"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ObjectReference == nil { + invalidParams.Add(request.NewErrParamRequired("ObjectReference")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *BatchListObjectParentPaths) SetMaxResults(v int64) *BatchListObjectParentPaths { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *BatchListObjectParentPaths) SetNextToken(v string) *BatchListObjectParentPaths { + s.NextToken = &v + return s +} + +// SetObjectReference sets the ObjectReference field's value. +func (s *BatchListObjectParentPaths) SetObjectReference(v *ObjectReference) *BatchListObjectParentPaths { + s.ObjectReference = v + return s +} + +// Represents the output of a ListObjectParentPaths response operation. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchListObjectParentPathsResponse +type BatchListObjectParentPathsResponse struct { + _ struct{} `type:"structure"` + + // The pagination token. + NextToken *string `type:"string"` + + // Returns the path to the ObjectIdentifiers that are associated with the directory. + PathToObjectIdentifiersList []*PathToObjectIdentifiers `type:"list"` +} + +// String returns the string representation +func (s BatchListObjectParentPathsResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchListObjectParentPathsResponse) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *BatchListObjectParentPathsResponse) SetNextToken(v string) *BatchListObjectParentPathsResponse { + s.NextToken = &v + return s +} + +// SetPathToObjectIdentifiersList sets the PathToObjectIdentifiersList field's value. +func (s *BatchListObjectParentPathsResponse) SetPathToObjectIdentifiersList(v []*PathToObjectIdentifiers) *BatchListObjectParentPathsResponse { + s.PathToObjectIdentifiersList = v + return s +} + +// Returns policies attached to an object in pagination fashion inside a BatchRead +// operation. For more information, see ListObjectPolicies and BatchReadRequest$Operations. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchListObjectPolicies +type BatchListObjectPolicies struct { + _ struct{} `type:"structure"` + + // The maximum number of results to retrieve. + MaxResults *int64 `min:"1" type:"integer"` + + // The pagination token. + NextToken *string `type:"string"` + + // The reference that identifies the object whose attributes will be listed. + // + // ObjectReference is a required field + ObjectReference *ObjectReference `type:"structure" required:"true"` +} + +// String returns the string representation +func (s BatchListObjectPolicies) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchListObjectPolicies) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchListObjectPolicies) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchListObjectPolicies"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ObjectReference == nil { + invalidParams.Add(request.NewErrParamRequired("ObjectReference")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *BatchListObjectPolicies) SetMaxResults(v int64) *BatchListObjectPolicies { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *BatchListObjectPolicies) SetNextToken(v string) *BatchListObjectPolicies { + s.NextToken = &v + return s +} + +// SetObjectReference sets the ObjectReference field's value. +func (s *BatchListObjectPolicies) SetObjectReference(v *ObjectReference) *BatchListObjectPolicies { + s.ObjectReference = v + return s +} + +// Represents the output of a ListObjectPolicies response operation. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchListObjectPoliciesResponse +type BatchListObjectPoliciesResponse struct { + _ struct{} `type:"structure"` + + // A list of policy ObjectIdentifiers, that are attached to the object. + AttachedPolicyIds []*string `type:"list"` + + // The pagination token. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s BatchListObjectPoliciesResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchListObjectPoliciesResponse) GoString() string { + return s.String() +} + +// SetAttachedPolicyIds sets the AttachedPolicyIds field's value. +func (s *BatchListObjectPoliciesResponse) SetAttachedPolicyIds(v []*string) *BatchListObjectPoliciesResponse { + s.AttachedPolicyIds = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *BatchListObjectPoliciesResponse) SetNextToken(v string) *BatchListObjectPoliciesResponse { + s.NextToken = &v + return s +} + +// Returns a paginated list of all the outgoing TypedLinkSpecifier information +// for an object inside a BatchRead operation. For more information, see ListOutgoingTypedLinks +// and BatchReadRequest$Operations. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchListOutgoingTypedLinks +type BatchListOutgoingTypedLinks struct { + _ struct{} `type:"structure"` + + // Provides range filters for multiple attributes. When providing ranges to + // typed link selection, any inexact ranges must be specified at the end. Any + // attributes that do not have a range specified are presumed to match the entire + // range. + FilterAttributeRanges []*TypedLinkAttributeRange `type:"list"` + + // Filters are interpreted in the order of the attributes defined on the typed + // link facet, not the order they are supplied to any API calls. + FilterTypedLink *TypedLinkSchemaAndFacetName `type:"structure"` + + // The maximum number of results to retrieve. + MaxResults *int64 `min:"1" type:"integer"` + + // The pagination token. + NextToken *string `type:"string"` + + // The reference that identifies the object whose attributes will be listed. + // + // ObjectReference is a required field + ObjectReference *ObjectReference `type:"structure" required:"true"` +} + +// String returns the string representation +func (s BatchListOutgoingTypedLinks) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchListOutgoingTypedLinks) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchListOutgoingTypedLinks) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchListOutgoingTypedLinks"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ObjectReference == nil { + invalidParams.Add(request.NewErrParamRequired("ObjectReference")) + } + if s.FilterAttributeRanges != nil { + for i, v := range s.FilterAttributeRanges { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FilterAttributeRanges", i), err.(request.ErrInvalidParams)) + } + } + } + if s.FilterTypedLink != nil { + if err := s.FilterTypedLink.Validate(); err != nil { + invalidParams.AddNested("FilterTypedLink", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilterAttributeRanges sets the FilterAttributeRanges field's value. +func (s *BatchListOutgoingTypedLinks) SetFilterAttributeRanges(v []*TypedLinkAttributeRange) *BatchListOutgoingTypedLinks { + s.FilterAttributeRanges = v + return s +} + +// SetFilterTypedLink sets the FilterTypedLink field's value. +func (s *BatchListOutgoingTypedLinks) SetFilterTypedLink(v *TypedLinkSchemaAndFacetName) *BatchListOutgoingTypedLinks { + s.FilterTypedLink = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *BatchListOutgoingTypedLinks) SetMaxResults(v int64) *BatchListOutgoingTypedLinks { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *BatchListOutgoingTypedLinks) SetNextToken(v string) *BatchListOutgoingTypedLinks { + s.NextToken = &v + return s +} + +// SetObjectReference sets the ObjectReference field's value. +func (s *BatchListOutgoingTypedLinks) SetObjectReference(v *ObjectReference) *BatchListOutgoingTypedLinks { + s.ObjectReference = v + return s +} + +// Represents the output of a ListOutgoingTypedLinks response operation. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchListOutgoingTypedLinksResponse +type BatchListOutgoingTypedLinksResponse struct { + _ struct{} `type:"structure"` + + // The pagination token. + NextToken *string `type:"string"` + + // Returns a typed link specifier as output. + TypedLinkSpecifiers []*TypedLinkSpecifier `type:"list"` +} + +// String returns the string representation +func (s BatchListOutgoingTypedLinksResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchListOutgoingTypedLinksResponse) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *BatchListOutgoingTypedLinksResponse) SetNextToken(v string) *BatchListOutgoingTypedLinksResponse { + s.NextToken = &v + return s +} + +// SetTypedLinkSpecifiers sets the TypedLinkSpecifiers field's value. +func (s *BatchListOutgoingTypedLinksResponse) SetTypedLinkSpecifiers(v []*TypedLinkSpecifier) *BatchListOutgoingTypedLinksResponse { + s.TypedLinkSpecifiers = v + return s +} + +// Returns all of the ObjectIdentifiers to which a given policy is attached +// inside a BatchRead operation. For more information, see ListPolicyAttachments +// and BatchReadRequest$Operations. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchListPolicyAttachments +type BatchListPolicyAttachments struct { + _ struct{} `type:"structure"` + + // The maximum number of results to retrieve. + MaxResults *int64 `min:"1" type:"integer"` + + // The pagination token. + NextToken *string `type:"string"` + + // The reference that identifies the policy object. + // + // PolicyReference is a required field + PolicyReference *ObjectReference `type:"structure" required:"true"` +} + +// String returns the string representation +func (s BatchListPolicyAttachments) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchListPolicyAttachments) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchListPolicyAttachments) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchListPolicyAttachments"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.PolicyReference == nil { + invalidParams.Add(request.NewErrParamRequired("PolicyReference")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *BatchListPolicyAttachments) SetMaxResults(v int64) *BatchListPolicyAttachments { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *BatchListPolicyAttachments) SetNextToken(v string) *BatchListPolicyAttachments { + s.NextToken = &v + return s +} + +// SetPolicyReference sets the PolicyReference field's value. +func (s *BatchListPolicyAttachments) SetPolicyReference(v *ObjectReference) *BatchListPolicyAttachments { + s.PolicyReference = v + return s +} + +// Represents the output of a ListPolicyAttachments response operation. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchListPolicyAttachmentsResponse +type BatchListPolicyAttachmentsResponse struct { + _ struct{} `type:"structure"` + + // The pagination token. + NextToken *string `type:"string"` + + // A list of ObjectIdentifiers to which the policy is attached. + ObjectIdentifiers []*string `type:"list"` +} + +// String returns the string representation +func (s BatchListPolicyAttachmentsResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchListPolicyAttachmentsResponse) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *BatchListPolicyAttachmentsResponse) SetNextToken(v string) *BatchListPolicyAttachmentsResponse { + s.NextToken = &v + return s +} + +// SetObjectIdentifiers sets the ObjectIdentifiers field's value. +func (s *BatchListPolicyAttachmentsResponse) SetObjectIdentifiers(v []*string) *BatchListPolicyAttachmentsResponse { + s.ObjectIdentifiers = v + return s +} + +// Lists all policies from the root of the Directory to the object specified +// inside a BatchRead operation. For more information, see LookupPolicy and +// BatchReadRequest$Operations. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchLookupPolicy +type BatchLookupPolicy struct { + _ struct{} `type:"structure"` + + // The maximum number of results to retrieve. + MaxResults *int64 `min:"1" type:"integer"` + + // The pagination token. + NextToken *string `type:"string"` + + // Reference that identifies the object whose policies will be looked up. + // + // ObjectReference is a required field + ObjectReference *ObjectReference `type:"structure" required:"true"` +} + +// String returns the string representation +func (s BatchLookupPolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchLookupPolicy) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchLookupPolicy) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchLookupPolicy"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ObjectReference == nil { + invalidParams.Add(request.NewErrParamRequired("ObjectReference")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *BatchLookupPolicy) SetMaxResults(v int64) *BatchLookupPolicy { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *BatchLookupPolicy) SetNextToken(v string) *BatchLookupPolicy { + s.NextToken = &v + return s +} + +// SetObjectReference sets the ObjectReference field's value. +func (s *BatchLookupPolicy) SetObjectReference(v *ObjectReference) *BatchLookupPolicy { + s.ObjectReference = v + return s +} + +// Represents the output of a LookupPolicy response operation. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchLookupPolicyResponse +type BatchLookupPolicyResponse struct { + _ struct{} `type:"structure"` + + // The pagination token. + NextToken *string `type:"string"` + + // Provides list of path to policies. Policies contain PolicyId, ObjectIdentifier, + // and PolicyType. For more information, see Policies (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#policies). + PolicyToPathList []*PolicyToPath `type:"list"` +} + +// String returns the string representation +func (s BatchLookupPolicyResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchLookupPolicyResponse) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *BatchLookupPolicyResponse) SetNextToken(v string) *BatchLookupPolicyResponse { + s.NextToken = &v + return s +} + +// SetPolicyToPathList sets the PolicyToPathList field's value. +func (s *BatchLookupPolicyResponse) SetPolicyToPathList(v []*PolicyToPath) *BatchLookupPolicyResponse { + s.PolicyToPathList = v + return s +} + // The batch read exception structure, which contains the exception type and // message. // Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchReadException @@ -9479,12 +10984,51 @@ func (s *BatchReadInput) SetOperations(v []*BatchReadOperation) *BatchReadInput type BatchReadOperation struct { _ struct{} `type:"structure"` + // Retrieves metadata about an object. + GetObjectInformation *BatchGetObjectInformation `type:"structure"` + + // Lists indices attached to an object. + ListAttachedIndices *BatchListAttachedIndices `type:"structure"` + + // Returns a paginated list of all the incoming TypedLinkSpecifier information + // for an object. It also supports filtering by typed link facet and identity + // attributes. For more information, see Typed link (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink). + ListIncomingTypedLinks *BatchListIncomingTypedLinks `type:"structure"` + + // Lists objects attached to the specified index. + ListIndex *BatchListIndex `type:"structure"` + // Lists all attributes that are associated with an object. ListObjectAttributes *BatchListObjectAttributes `type:"structure"` // Returns a paginated list of child objects that are associated with a given // object. ListObjectChildren *BatchListObjectChildren `type:"structure"` + + // Retrieves all available parent paths for any object type such as node, leaf + // node, policy node, and index node objects. For more information about objects, + // see Directory Structure (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#dirstructure). + ListObjectParentPaths *BatchListObjectParentPaths `type:"structure"` + + // Returns policies attached to an object in pagination fashion. + ListObjectPolicies *BatchListObjectPolicies `type:"structure"` + + // Returns a paginated list of all the outgoing TypedLinkSpecifier information + // for an object. It also supports filtering by typed link facet and identity + // attributes. For more information, see Typed link (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink). + ListOutgoingTypedLinks *BatchListOutgoingTypedLinks `type:"structure"` + + // Returns all of the ObjectIdentifiers to which a given policy is attached. + ListPolicyAttachments *BatchListPolicyAttachments `type:"structure"` + + // Lists all policies from the root of the Directory to the object specified. + // If there are no policies present, an empty list is returned. If policies + // are present, and if some objects don't have the policies attached, it returns + // the ObjectIdentifier for such objects. If policies are present, it returns + // ObjectIdentifier, policyId, and policyType. Paths that don't lead to the + // root from the target object are ignored. For more information, see Policies + // (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#policies). + LookupPolicy *BatchLookupPolicy `type:"structure"` } // String returns the string representation @@ -9500,6 +11044,26 @@ func (s BatchReadOperation) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *BatchReadOperation) Validate() error { invalidParams := request.ErrInvalidParams{Context: "BatchReadOperation"} + if s.GetObjectInformation != nil { + if err := s.GetObjectInformation.Validate(); err != nil { + invalidParams.AddNested("GetObjectInformation", err.(request.ErrInvalidParams)) + } + } + if s.ListAttachedIndices != nil { + if err := s.ListAttachedIndices.Validate(); err != nil { + invalidParams.AddNested("ListAttachedIndices", err.(request.ErrInvalidParams)) + } + } + if s.ListIncomingTypedLinks != nil { + if err := s.ListIncomingTypedLinks.Validate(); err != nil { + invalidParams.AddNested("ListIncomingTypedLinks", err.(request.ErrInvalidParams)) + } + } + if s.ListIndex != nil { + if err := s.ListIndex.Validate(); err != nil { + invalidParams.AddNested("ListIndex", err.(request.ErrInvalidParams)) + } + } if s.ListObjectAttributes != nil { if err := s.ListObjectAttributes.Validate(); err != nil { invalidParams.AddNested("ListObjectAttributes", err.(request.ErrInvalidParams)) @@ -9510,6 +11074,31 @@ func (s *BatchReadOperation) Validate() error { invalidParams.AddNested("ListObjectChildren", err.(request.ErrInvalidParams)) } } + if s.ListObjectParentPaths != nil { + if err := s.ListObjectParentPaths.Validate(); err != nil { + invalidParams.AddNested("ListObjectParentPaths", err.(request.ErrInvalidParams)) + } + } + if s.ListObjectPolicies != nil { + if err := s.ListObjectPolicies.Validate(); err != nil { + invalidParams.AddNested("ListObjectPolicies", err.(request.ErrInvalidParams)) + } + } + if s.ListOutgoingTypedLinks != nil { + if err := s.ListOutgoingTypedLinks.Validate(); err != nil { + invalidParams.AddNested("ListOutgoingTypedLinks", err.(request.ErrInvalidParams)) + } + } + if s.ListPolicyAttachments != nil { + if err := s.ListPolicyAttachments.Validate(); err != nil { + invalidParams.AddNested("ListPolicyAttachments", err.(request.ErrInvalidParams)) + } + } + if s.LookupPolicy != nil { + if err := s.LookupPolicy.Validate(); err != nil { + invalidParams.AddNested("LookupPolicy", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -9517,6 +11106,30 @@ func (s *BatchReadOperation) Validate() error { return nil } +// SetGetObjectInformation sets the GetObjectInformation field's value. +func (s *BatchReadOperation) SetGetObjectInformation(v *BatchGetObjectInformation) *BatchReadOperation { + s.GetObjectInformation = v + return s +} + +// SetListAttachedIndices sets the ListAttachedIndices field's value. +func (s *BatchReadOperation) SetListAttachedIndices(v *BatchListAttachedIndices) *BatchReadOperation { + s.ListAttachedIndices = v + return s +} + +// SetListIncomingTypedLinks sets the ListIncomingTypedLinks field's value. +func (s *BatchReadOperation) SetListIncomingTypedLinks(v *BatchListIncomingTypedLinks) *BatchReadOperation { + s.ListIncomingTypedLinks = v + return s +} + +// SetListIndex sets the ListIndex field's value. +func (s *BatchReadOperation) SetListIndex(v *BatchListIndex) *BatchReadOperation { + s.ListIndex = v + return s +} + // SetListObjectAttributes sets the ListObjectAttributes field's value. func (s *BatchReadOperation) SetListObjectAttributes(v *BatchListObjectAttributes) *BatchReadOperation { s.ListObjectAttributes = v @@ -9529,6 +11142,36 @@ func (s *BatchReadOperation) SetListObjectChildren(v *BatchListObjectChildren) * return s } +// SetListObjectParentPaths sets the ListObjectParentPaths field's value. +func (s *BatchReadOperation) SetListObjectParentPaths(v *BatchListObjectParentPaths) *BatchReadOperation { + s.ListObjectParentPaths = v + return s +} + +// SetListObjectPolicies sets the ListObjectPolicies field's value. +func (s *BatchReadOperation) SetListObjectPolicies(v *BatchListObjectPolicies) *BatchReadOperation { + s.ListObjectPolicies = v + return s +} + +// SetListOutgoingTypedLinks sets the ListOutgoingTypedLinks field's value. +func (s *BatchReadOperation) SetListOutgoingTypedLinks(v *BatchListOutgoingTypedLinks) *BatchReadOperation { + s.ListOutgoingTypedLinks = v + return s +} + +// SetListPolicyAttachments sets the ListPolicyAttachments field's value. +func (s *BatchReadOperation) SetListPolicyAttachments(v *BatchListPolicyAttachments) *BatchReadOperation { + s.ListPolicyAttachments = v + return s +} + +// SetLookupPolicy sets the LookupPolicy field's value. +func (s *BatchReadOperation) SetLookupPolicy(v *BatchLookupPolicy) *BatchReadOperation { + s.LookupPolicy = v + return s +} + // Represents the output of a BatchRead response operation. // Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchReadOperationResponse type BatchReadOperationResponse struct { @@ -9592,12 +11235,51 @@ func (s *BatchReadOutput) SetResponses(v []*BatchReadOperationResponse) *BatchRe type BatchReadSuccessfulResponse struct { _ struct{} `type:"structure"` + // Retrieves metadata about an object. + GetObjectInformation *BatchGetObjectInformationResponse `type:"structure"` + + // Lists indices attached to an object. + ListAttachedIndices *BatchListAttachedIndicesResponse `type:"structure"` + + // Returns a paginated list of all the incoming TypedLinkSpecifier information + // for an object. It also supports filtering by typed link facet and identity + // attributes. For more information, see Typed link (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink). + ListIncomingTypedLinks *BatchListIncomingTypedLinksResponse `type:"structure"` + + // Lists objects attached to the specified index. + ListIndex *BatchListIndexResponse `type:"structure"` + // Lists all attributes that are associated with an object. ListObjectAttributes *BatchListObjectAttributesResponse `type:"structure"` // Returns a paginated list of child objects that are associated with a given // object. ListObjectChildren *BatchListObjectChildrenResponse `type:"structure"` + + // Retrieves all available parent paths for any object type such as node, leaf + // node, policy node, and index node objects. For more information about objects, + // see Directory Structure (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#dirstructure). + ListObjectParentPaths *BatchListObjectParentPathsResponse `type:"structure"` + + // Returns policies attached to an object in pagination fashion. + ListObjectPolicies *BatchListObjectPoliciesResponse `type:"structure"` + + // Returns a paginated list of all the outgoing TypedLinkSpecifier information + // for an object. It also supports filtering by typed link facet and identity + // attributes. For more information, see Typed link (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink). + ListOutgoingTypedLinks *BatchListOutgoingTypedLinksResponse `type:"structure"` + + // Returns all of the ObjectIdentifiers to which a given policy is attached. + ListPolicyAttachments *BatchListPolicyAttachmentsResponse `type:"structure"` + + // Lists all policies from the root of the Directory to the object specified. + // If there are no policies present, an empty list is returned. If policies + // are present, and if some objects don't have the policies attached, it returns + // the ObjectIdentifier for such objects. If policies are present, it returns + // ObjectIdentifier, policyId, and policyType. Paths that don't lead to the + // root from the target object are ignored. For more information, see Policies + // (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_key_concepts.html#policies). + LookupPolicy *BatchLookupPolicyResponse `type:"structure"` } // String returns the string representation @@ -9610,6 +11292,30 @@ func (s BatchReadSuccessfulResponse) GoString() string { return s.String() } +// SetGetObjectInformation sets the GetObjectInformation field's value. +func (s *BatchReadSuccessfulResponse) SetGetObjectInformation(v *BatchGetObjectInformationResponse) *BatchReadSuccessfulResponse { + s.GetObjectInformation = v + return s +} + +// SetListAttachedIndices sets the ListAttachedIndices field's value. +func (s *BatchReadSuccessfulResponse) SetListAttachedIndices(v *BatchListAttachedIndicesResponse) *BatchReadSuccessfulResponse { + s.ListAttachedIndices = v + return s +} + +// SetListIncomingTypedLinks sets the ListIncomingTypedLinks field's value. +func (s *BatchReadSuccessfulResponse) SetListIncomingTypedLinks(v *BatchListIncomingTypedLinksResponse) *BatchReadSuccessfulResponse { + s.ListIncomingTypedLinks = v + return s +} + +// SetListIndex sets the ListIndex field's value. +func (s *BatchReadSuccessfulResponse) SetListIndex(v *BatchListIndexResponse) *BatchReadSuccessfulResponse { + s.ListIndex = v + return s +} + // SetListObjectAttributes sets the ListObjectAttributes field's value. func (s *BatchReadSuccessfulResponse) SetListObjectAttributes(v *BatchListObjectAttributesResponse) *BatchReadSuccessfulResponse { s.ListObjectAttributes = v @@ -9622,6 +11328,36 @@ func (s *BatchReadSuccessfulResponse) SetListObjectChildren(v *BatchListObjectCh return s } +// SetListObjectParentPaths sets the ListObjectParentPaths field's value. +func (s *BatchReadSuccessfulResponse) SetListObjectParentPaths(v *BatchListObjectParentPathsResponse) *BatchReadSuccessfulResponse { + s.ListObjectParentPaths = v + return s +} + +// SetListObjectPolicies sets the ListObjectPolicies field's value. +func (s *BatchReadSuccessfulResponse) SetListObjectPolicies(v *BatchListObjectPoliciesResponse) *BatchReadSuccessfulResponse { + s.ListObjectPolicies = v + return s +} + +// SetListOutgoingTypedLinks sets the ListOutgoingTypedLinks field's value. +func (s *BatchReadSuccessfulResponse) SetListOutgoingTypedLinks(v *BatchListOutgoingTypedLinksResponse) *BatchReadSuccessfulResponse { + s.ListOutgoingTypedLinks = v + return s +} + +// SetListPolicyAttachments sets the ListPolicyAttachments field's value. +func (s *BatchReadSuccessfulResponse) SetListPolicyAttachments(v *BatchListPolicyAttachmentsResponse) *BatchReadSuccessfulResponse { + s.ListPolicyAttachments = v + return s +} + +// SetLookupPolicy sets the LookupPolicy field's value. +func (s *BatchReadSuccessfulResponse) SetLookupPolicy(v *BatchLookupPolicyResponse) *BatchReadSuccessfulResponse { + s.LookupPolicy = v + return s +} + // A batch operation to remove a facet from an object. // Please also see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory-2016-05-10/BatchRemoveFacetFromObject type BatchRemoveFacetFromObject struct { @@ -9861,15 +11597,40 @@ type BatchWriteOperation struct { // Attaches an object to a Directory. AttachObject *BatchAttachObject `type:"structure"` + // Attaches a policy object to a regular object. An object can have a limited + // number of attached policies. + AttachPolicy *BatchAttachPolicy `type:"structure"` + + // Attaches the specified object to the specified index. + AttachToIndex *BatchAttachToIndex `type:"structure"` + + // Attaches a typed link to a specified source and target object. For more information, + // see Typed link (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink). + AttachTypedLink *BatchAttachTypedLink `type:"structure"` + + // Creates an index object. See Indexing (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_indexing.html) + // for more information. + CreateIndex *BatchCreateIndex `type:"structure"` + // Creates an object. CreateObject *BatchCreateObject `type:"structure"` // Deletes an object in a Directory. DeleteObject *BatchDeleteObject `type:"structure"` + // Detaches the specified object from the specified index. + DetachFromIndex *BatchDetachFromIndex `type:"structure"` + // Detaches an object from a Directory. DetachObject *BatchDetachObject `type:"structure"` + // Detaches a policy from a Directory. + DetachPolicy *BatchDetachPolicy `type:"structure"` + + // Detaches a typed link from a specified source and target object. For more + // information, see Typed link (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink). + DetachTypedLink *BatchDetachTypedLink `type:"structure"` + // A batch operation that removes a facet from an object. RemoveFacetFromObject *BatchRemoveFacetFromObject `type:"structure"` @@ -9900,6 +11661,26 @@ func (s *BatchWriteOperation) Validate() error { invalidParams.AddNested("AttachObject", err.(request.ErrInvalidParams)) } } + if s.AttachPolicy != nil { + if err := s.AttachPolicy.Validate(); err != nil { + invalidParams.AddNested("AttachPolicy", err.(request.ErrInvalidParams)) + } + } + if s.AttachToIndex != nil { + if err := s.AttachToIndex.Validate(); err != nil { + invalidParams.AddNested("AttachToIndex", err.(request.ErrInvalidParams)) + } + } + if s.AttachTypedLink != nil { + if err := s.AttachTypedLink.Validate(); err != nil { + invalidParams.AddNested("AttachTypedLink", err.(request.ErrInvalidParams)) + } + } + if s.CreateIndex != nil { + if err := s.CreateIndex.Validate(); err != nil { + invalidParams.AddNested("CreateIndex", err.(request.ErrInvalidParams)) + } + } if s.CreateObject != nil { if err := s.CreateObject.Validate(); err != nil { invalidParams.AddNested("CreateObject", err.(request.ErrInvalidParams)) @@ -9910,11 +11691,26 @@ func (s *BatchWriteOperation) Validate() error { invalidParams.AddNested("DeleteObject", err.(request.ErrInvalidParams)) } } + if s.DetachFromIndex != nil { + if err := s.DetachFromIndex.Validate(); err != nil { + invalidParams.AddNested("DetachFromIndex", err.(request.ErrInvalidParams)) + } + } if s.DetachObject != nil { if err := s.DetachObject.Validate(); err != nil { invalidParams.AddNested("DetachObject", err.(request.ErrInvalidParams)) } } + if s.DetachPolicy != nil { + if err := s.DetachPolicy.Validate(); err != nil { + invalidParams.AddNested("DetachPolicy", err.(request.ErrInvalidParams)) + } + } + if s.DetachTypedLink != nil { + if err := s.DetachTypedLink.Validate(); err != nil { + invalidParams.AddNested("DetachTypedLink", err.(request.ErrInvalidParams)) + } + } if s.RemoveFacetFromObject != nil { if err := s.RemoveFacetFromObject.Validate(); err != nil { invalidParams.AddNested("RemoveFacetFromObject", err.(request.ErrInvalidParams)) @@ -9944,6 +11740,30 @@ func (s *BatchWriteOperation) SetAttachObject(v *BatchAttachObject) *BatchWriteO return s } +// SetAttachPolicy sets the AttachPolicy field's value. +func (s *BatchWriteOperation) SetAttachPolicy(v *BatchAttachPolicy) *BatchWriteOperation { + s.AttachPolicy = v + return s +} + +// SetAttachToIndex sets the AttachToIndex field's value. +func (s *BatchWriteOperation) SetAttachToIndex(v *BatchAttachToIndex) *BatchWriteOperation { + s.AttachToIndex = v + return s +} + +// SetAttachTypedLink sets the AttachTypedLink field's value. +func (s *BatchWriteOperation) SetAttachTypedLink(v *BatchAttachTypedLink) *BatchWriteOperation { + s.AttachTypedLink = v + return s +} + +// SetCreateIndex sets the CreateIndex field's value. +func (s *BatchWriteOperation) SetCreateIndex(v *BatchCreateIndex) *BatchWriteOperation { + s.CreateIndex = v + return s +} + // SetCreateObject sets the CreateObject field's value. func (s *BatchWriteOperation) SetCreateObject(v *BatchCreateObject) *BatchWriteOperation { s.CreateObject = v @@ -9956,12 +11776,30 @@ func (s *BatchWriteOperation) SetDeleteObject(v *BatchDeleteObject) *BatchWriteO return s } +// SetDetachFromIndex sets the DetachFromIndex field's value. +func (s *BatchWriteOperation) SetDetachFromIndex(v *BatchDetachFromIndex) *BatchWriteOperation { + s.DetachFromIndex = v + return s +} + // SetDetachObject sets the DetachObject field's value. func (s *BatchWriteOperation) SetDetachObject(v *BatchDetachObject) *BatchWriteOperation { s.DetachObject = v return s } +// SetDetachPolicy sets the DetachPolicy field's value. +func (s *BatchWriteOperation) SetDetachPolicy(v *BatchDetachPolicy) *BatchWriteOperation { + s.DetachPolicy = v + return s +} + +// SetDetachTypedLink sets the DetachTypedLink field's value. +func (s *BatchWriteOperation) SetDetachTypedLink(v *BatchDetachTypedLink) *BatchWriteOperation { + s.DetachTypedLink = v + return s +} + // SetRemoveFacetFromObject sets the RemoveFacetFromObject field's value. func (s *BatchWriteOperation) SetRemoveFacetFromObject(v *BatchRemoveFacetFromObject) *BatchWriteOperation { s.RemoveFacetFromObject = v @@ -9985,15 +11823,40 @@ type BatchWriteOperationResponse struct { // Attaches an object to a Directory. AttachObject *BatchAttachObjectResponse `type:"structure"` + // Attaches a policy object to a regular object. An object can have a limited + // number of attached policies. + AttachPolicy *BatchAttachPolicyResponse `type:"structure"` + + // Attaches the specified object to the specified index. + AttachToIndex *BatchAttachToIndexResponse `type:"structure"` + + // Attaches a typed link to a specified source and target object. For more information, + // see Typed link (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink). + AttachTypedLink *BatchAttachTypedLinkResponse `type:"structure"` + + // Creates an index object. See Indexing (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/cd_indexing.html) + // for more information. + CreateIndex *BatchCreateIndexResponse `type:"structure"` + // Creates an object in a Directory. CreateObject *BatchCreateObjectResponse `type:"structure"` // Deletes an object in a Directory. DeleteObject *BatchDeleteObjectResponse `type:"structure"` + // Detaches the specified object from the specified index. + DetachFromIndex *BatchDetachFromIndexResponse `type:"structure"` + // Detaches an object from a Directory. DetachObject *BatchDetachObjectResponse `type:"structure"` + // Detaches a policy from a Directory. + DetachPolicy *BatchDetachPolicyResponse `type:"structure"` + + // Detaches a typed link from a specified source and target object. For more + // information, see Typed link (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/objectsandlinks.html#typedlink). + DetachTypedLink *BatchDetachTypedLinkResponse `type:"structure"` + // The result of a batch remove facet from object operation. RemoveFacetFromObject *BatchRemoveFacetFromObjectResponse `type:"structure"` @@ -10023,6 +11886,30 @@ func (s *BatchWriteOperationResponse) SetAttachObject(v *BatchAttachObjectRespon return s } +// SetAttachPolicy sets the AttachPolicy field's value. +func (s *BatchWriteOperationResponse) SetAttachPolicy(v *BatchAttachPolicyResponse) *BatchWriteOperationResponse { + s.AttachPolicy = v + return s +} + +// SetAttachToIndex sets the AttachToIndex field's value. +func (s *BatchWriteOperationResponse) SetAttachToIndex(v *BatchAttachToIndexResponse) *BatchWriteOperationResponse { + s.AttachToIndex = v + return s +} + +// SetAttachTypedLink sets the AttachTypedLink field's value. +func (s *BatchWriteOperationResponse) SetAttachTypedLink(v *BatchAttachTypedLinkResponse) *BatchWriteOperationResponse { + s.AttachTypedLink = v + return s +} + +// SetCreateIndex sets the CreateIndex field's value. +func (s *BatchWriteOperationResponse) SetCreateIndex(v *BatchCreateIndexResponse) *BatchWriteOperationResponse { + s.CreateIndex = v + return s +} + // SetCreateObject sets the CreateObject field's value. func (s *BatchWriteOperationResponse) SetCreateObject(v *BatchCreateObjectResponse) *BatchWriteOperationResponse { s.CreateObject = v @@ -10035,12 +11922,30 @@ func (s *BatchWriteOperationResponse) SetDeleteObject(v *BatchDeleteObjectRespon return s } +// SetDetachFromIndex sets the DetachFromIndex field's value. +func (s *BatchWriteOperationResponse) SetDetachFromIndex(v *BatchDetachFromIndexResponse) *BatchWriteOperationResponse { + s.DetachFromIndex = v + return s +} + // SetDetachObject sets the DetachObject field's value. func (s *BatchWriteOperationResponse) SetDetachObject(v *BatchDetachObjectResponse) *BatchWriteOperationResponse { s.DetachObject = v return s } +// SetDetachPolicy sets the DetachPolicy field's value. +func (s *BatchWriteOperationResponse) SetDetachPolicy(v *BatchDetachPolicyResponse) *BatchWriteOperationResponse { + s.DetachPolicy = v + return s +} + +// SetDetachTypedLink sets the DetachTypedLink field's value. +func (s *BatchWriteOperationResponse) SetDetachTypedLink(v *BatchDetachTypedLinkResponse) *BatchWriteOperationResponse { + s.DetachTypedLink = v + return s +} + // SetRemoveFacetFromObject sets the RemoveFacetFromObject field's value. func (s *BatchWriteOperationResponse) SetRemoveFacetFromObject(v *BatchRemoveFacetFromObjectResponse) *BatchWriteOperationResponse { s.RemoveFacetFromObject = v @@ -12419,7 +14324,7 @@ type ListAttachedIndicesInput struct { // The pagination token. NextToken *string `type:"string"` - // A reference to the object to that has indices attached. + // A reference to the object that has indices attached. // // TargetReference is a required field TargetReference *ObjectReference `type:"structure" required:"true"` @@ -15588,7 +17493,7 @@ type TypedLinkFacet struct { // The set of attributes that distinguish links made from this facet from each // other, in the order of significance. Listing typed links can filter on the - // values of these attributes. See ListOutgoingTypedLinks and ListIncomingTypeLinks + // values of these attributes. See ListOutgoingTypedLinks and ListIncomingTypedLinks // for details. // // IdentityAttributeOrder is a required field @@ -16362,6 +18267,27 @@ const ( // BatchReadExceptionTypeNotNodeException is a BatchReadExceptionType enum value BatchReadExceptionTypeNotNodeException = "NotNodeException" + + // BatchReadExceptionTypeFacetValidationException is a BatchReadExceptionType enum value + BatchReadExceptionTypeFacetValidationException = "FacetValidationException" + + // BatchReadExceptionTypeCannotListParentOfRootException is a BatchReadExceptionType enum value + BatchReadExceptionTypeCannotListParentOfRootException = "CannotListParentOfRootException" + + // BatchReadExceptionTypeNotIndexException is a BatchReadExceptionType enum value + BatchReadExceptionTypeNotIndexException = "NotIndexException" + + // BatchReadExceptionTypeNotPolicyException is a BatchReadExceptionType enum value + BatchReadExceptionTypeNotPolicyException = "NotPolicyException" + + // BatchReadExceptionTypeDirectoryNotEnabledException is a BatchReadExceptionType enum value + BatchReadExceptionTypeDirectoryNotEnabledException = "DirectoryNotEnabledException" + + // BatchReadExceptionTypeLimitExceededException is a BatchReadExceptionType enum value + BatchReadExceptionTypeLimitExceededException = "LimitExceededException" + + // BatchReadExceptionTypeInternalServiceException is a BatchReadExceptionType enum value + BatchReadExceptionTypeInternalServiceException = "InternalServiceException" ) const ( @@ -16391,6 +18317,30 @@ const ( // BatchWriteExceptionTypeAccessDeniedException is a BatchWriteExceptionType enum value BatchWriteExceptionTypeAccessDeniedException = "AccessDeniedException" + + // BatchWriteExceptionTypeInvalidAttachmentException is a BatchWriteExceptionType enum value + BatchWriteExceptionTypeInvalidAttachmentException = "InvalidAttachmentException" + + // BatchWriteExceptionTypeNotIndexException is a BatchWriteExceptionType enum value + BatchWriteExceptionTypeNotIndexException = "NotIndexException" + + // BatchWriteExceptionTypeIndexedAttributeMissingException is a BatchWriteExceptionType enum value + BatchWriteExceptionTypeIndexedAttributeMissingException = "IndexedAttributeMissingException" + + // BatchWriteExceptionTypeObjectAlreadyDetachedException is a BatchWriteExceptionType enum value + BatchWriteExceptionTypeObjectAlreadyDetachedException = "ObjectAlreadyDetachedException" + + // BatchWriteExceptionTypeNotPolicyException is a BatchWriteExceptionType enum value + BatchWriteExceptionTypeNotPolicyException = "NotPolicyException" + + // BatchWriteExceptionTypeDirectoryNotEnabledException is a BatchWriteExceptionType enum value + BatchWriteExceptionTypeDirectoryNotEnabledException = "DirectoryNotEnabledException" + + // BatchWriteExceptionTypeLimitExceededException is a BatchWriteExceptionType enum value + BatchWriteExceptionTypeLimitExceededException = "LimitExceededException" + + // BatchWriteExceptionTypeUnsupportedIndexTypeException is a BatchWriteExceptionType enum value + BatchWriteExceptionTypeUnsupportedIndexTypeException = "UnsupportedIndexTypeException" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/clouddirectory/clouddirectoryiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/clouddirectory/clouddirectoryiface/interface.go index 637b6a91c..4e52367c9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/clouddirectory/clouddirectoryiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/clouddirectory/clouddirectoryiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon CloudDirectory. diff --git a/vendor/github.com/aws/aws-sdk-go/service/clouddirectory/doc.go b/vendor/github.com/aws/aws-sdk-go/service/clouddirectory/doc.go index f482a4dfb..803fd0b5c 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/clouddirectory/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/clouddirectory/doc.go @@ -17,69 +17,17 @@ // // Using the Client // -// To use the client for Amazon CloudDirectory you will first need -// to create a new instance of it. +// To Amazon CloudDirectory with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := clouddirectory.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon CloudDirectory client CloudDirectory for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/clouddirectory/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AddFacetToObject(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AddFacetToObject result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AddFacetToObjectWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package clouddirectory diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudformation/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudformation/api.go index 8b3470774..86c60b3bd 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudformation/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudformation/api.go @@ -3,6 +3,7 @@ package cloudformation import ( + "fmt" "time" "github.com/aws/aws-sdk-go/aws" @@ -16,19 +17,18 @@ const opCancelUpdateStack = "CancelUpdateStack" // CancelUpdateStackRequest generates a "aws/request.Request" representing the // client's request for the CancelUpdateStack operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CancelUpdateStack for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CancelUpdateStack method directly -// instead. +// See CancelUpdateStack for more information on using the CancelUpdateStack +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CancelUpdateStackRequest method. // req, resp := client.CancelUpdateStackRequest(params) @@ -101,19 +101,18 @@ const opContinueUpdateRollback = "ContinueUpdateRollback" // ContinueUpdateRollbackRequest generates a "aws/request.Request" representing the // client's request for the ContinueUpdateRollback operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ContinueUpdateRollback for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ContinueUpdateRollback method directly -// instead. +// See ContinueUpdateRollback for more information on using the ContinueUpdateRollback +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ContinueUpdateRollbackRequest method. // req, resp := client.ContinueUpdateRollbackRequest(params) @@ -193,19 +192,18 @@ const opCreateChangeSet = "CreateChangeSet" // CreateChangeSetRequest generates a "aws/request.Request" representing the // client's request for the CreateChangeSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateChangeSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateChangeSet method directly -// instead. +// See CreateChangeSet for more information on using the CreateChangeSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateChangeSetRequest method. // req, resp := client.CreateChangeSetRequest(params) @@ -265,14 +263,16 @@ func (c *CloudFormation) CreateChangeSetRequest(input *CreateChangeSetInput) (re // // Returned Error Codes: // * ErrCodeAlreadyExistsException "AlreadyExistsException" -// Resource with the name requested already exists. +// The resource with the name requested already exists. // // * ErrCodeInsufficientCapabilitiesException "InsufficientCapabilitiesException" -// The template contains resources with capabilities that were not specified +// The template contains resources with capabilities that weren't specified // in the Capabilities parameter. // // * ErrCodeLimitExceededException "LimitExceededException" -// Quota for the resource has already been reached. +// The quota for the resource has already been reached. +// +// For information on stack set limitations, see Limitations of StackSets (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-limitations.html). // // Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateChangeSet func (c *CloudFormation) CreateChangeSet(input *CreateChangeSetInput) (*CreateChangeSetOutput, error) { @@ -300,19 +300,18 @@ const opCreateStack = "CreateStack" // CreateStackRequest generates a "aws/request.Request" representing the // client's request for the CreateStack operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateStack for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateStack method directly -// instead. +// See CreateStack for more information on using the CreateStack +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateStackRequest method. // req, resp := client.CreateStackRequest(params) @@ -354,16 +353,18 @@ func (c *CloudFormation) CreateStackRequest(input *CreateStackInput) (req *reque // // Returned Error Codes: // * ErrCodeLimitExceededException "LimitExceededException" -// Quota for the resource has already been reached. +// The quota for the resource has already been reached. +// +// For information on stack set limitations, see Limitations of StackSets (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-limitations.html). // // * ErrCodeAlreadyExistsException "AlreadyExistsException" -// Resource with the name requested already exists. +// The resource with the name requested already exists. // // * ErrCodeTokenAlreadyExistsException "TokenAlreadyExistsException" // A client request token already exists. // // * ErrCodeInsufficientCapabilitiesException "InsufficientCapabilitiesException" -// The template contains resources with capabilities that were not specified +// The template contains resources with capabilities that weren't specified // in the Capabilities parameter. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateStack @@ -388,23 +389,210 @@ func (c *CloudFormation) CreateStackWithContext(ctx aws.Context, input *CreateSt return out, req.Send() } +const opCreateStackInstances = "CreateStackInstances" + +// CreateStackInstancesRequest generates a "aws/request.Request" representing the +// client's request for the CreateStackInstances operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateStackInstances for more information on using the CreateStackInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateStackInstancesRequest method. +// req, resp := client.CreateStackInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateStackInstances +func (c *CloudFormation) CreateStackInstancesRequest(input *CreateStackInstancesInput) (req *request.Request, output *CreateStackInstancesOutput) { + op := &request.Operation{ + Name: opCreateStackInstances, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateStackInstancesInput{} + } + + output = &CreateStackInstancesOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateStackInstances API operation for AWS CloudFormation. +// +// Creates stack instances for the specified accounts, within the specified +// regions. A stack instance refers to a stack in a specific account and region. +// Accounts and Regions are required parameters—you must specify at least one +// account and one region. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation CreateStackInstances for usage and error information. +// +// Returned Error Codes: +// * ErrCodeStackSetNotFoundException "StackSetNotFoundException" +// The specified stack set doesn't exist. +// +// * ErrCodeOperationInProgressException "OperationInProgressException" +// Another operation is currently in progress for this stack set. Only one operation +// can be performed for a stack set at a given time. +// +// * ErrCodeOperationIdAlreadyExistsException "OperationIdAlreadyExistsException" +// The specified operation ID already exists. +// +// * ErrCodeStaleRequestException "StaleRequestException" +// Another operation has been performed on this stack set since the specified +// operation was performed. +// +// * ErrCodeInvalidOperationException "InvalidOperationException" +// The specified operation isn't valid. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The quota for the resource has already been reached. +// +// For information on stack set limitations, see Limitations of StackSets (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-limitations.html). +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateStackInstances +func (c *CloudFormation) CreateStackInstances(input *CreateStackInstancesInput) (*CreateStackInstancesOutput, error) { + req, out := c.CreateStackInstancesRequest(input) + return out, req.Send() +} + +// CreateStackInstancesWithContext is the same as CreateStackInstances with the addition of +// the ability to pass a context and additional request options. +// +// See CreateStackInstances for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) CreateStackInstancesWithContext(ctx aws.Context, input *CreateStackInstancesInput, opts ...request.Option) (*CreateStackInstancesOutput, error) { + req, out := c.CreateStackInstancesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateStackSet = "CreateStackSet" + +// CreateStackSetRequest generates a "aws/request.Request" representing the +// client's request for the CreateStackSet operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateStackSet for more information on using the CreateStackSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateStackSetRequest method. +// req, resp := client.CreateStackSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateStackSet +func (c *CloudFormation) CreateStackSetRequest(input *CreateStackSetInput) (req *request.Request, output *CreateStackSetOutput) { + op := &request.Operation{ + Name: opCreateStackSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateStackSetInput{} + } + + output = &CreateStackSetOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateStackSet API operation for AWS CloudFormation. +// +// Creates a stack set. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation CreateStackSet for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNameAlreadyExistsException "NameAlreadyExistsException" +// The specified name is already in use. +// +// * ErrCodeCreatedButModifiedException "CreatedButModifiedException" +// The specified resource exists, but has been changed. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The quota for the resource has already been reached. +// +// For information on stack set limitations, see Limitations of StackSets (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-limitations.html). +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateStackSet +func (c *CloudFormation) CreateStackSet(input *CreateStackSetInput) (*CreateStackSetOutput, error) { + req, out := c.CreateStackSetRequest(input) + return out, req.Send() +} + +// CreateStackSetWithContext is the same as CreateStackSet with the addition of +// the ability to pass a context and additional request options. +// +// See CreateStackSet for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) CreateStackSetWithContext(ctx aws.Context, input *CreateStackSetInput, opts ...request.Option) (*CreateStackSetOutput, error) { + req, out := c.CreateStackSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteChangeSet = "DeleteChangeSet" // DeleteChangeSetRequest generates a "aws/request.Request" representing the // client's request for the DeleteChangeSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteChangeSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteChangeSet method directly -// instead. +// See DeleteChangeSet for more information on using the DeleteChangeSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteChangeSetRequest method. // req, resp := client.DeleteChangeSetRequest(params) @@ -448,8 +636,8 @@ func (c *CloudFormation) DeleteChangeSetRequest(input *DeleteChangeSetInput) (re // // Returned Error Codes: // * ErrCodeInvalidChangeSetStatusException "InvalidChangeSetStatus" -// The specified change set cannot be used to update the stack. For example, -// the change set status might be CREATE_IN_PROGRESS or the stack status might +// The specified change set can't be used to update the stack. For example, +// the change set status might be CREATE_IN_PROGRESS, or the stack status might // be UPDATE_IN_PROGRESS. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeleteChangeSet @@ -478,19 +666,18 @@ const opDeleteStack = "DeleteStack" // DeleteStackRequest generates a "aws/request.Request" representing the // client's request for the DeleteStack operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteStack for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteStack method directly -// instead. +// See DeleteStack for more information on using the DeleteStack +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteStackRequest method. // req, resp := client.DeleteStackRequest(params) @@ -558,23 +745,202 @@ func (c *CloudFormation) DeleteStackWithContext(ctx aws.Context, input *DeleteSt return out, req.Send() } +const opDeleteStackInstances = "DeleteStackInstances" + +// DeleteStackInstancesRequest generates a "aws/request.Request" representing the +// client's request for the DeleteStackInstances operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteStackInstances for more information on using the DeleteStackInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteStackInstancesRequest method. +// req, resp := client.DeleteStackInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeleteStackInstances +func (c *CloudFormation) DeleteStackInstancesRequest(input *DeleteStackInstancesInput) (req *request.Request, output *DeleteStackInstancesOutput) { + op := &request.Operation{ + Name: opDeleteStackInstances, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteStackInstancesInput{} + } + + output = &DeleteStackInstancesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteStackInstances API operation for AWS CloudFormation. +// +// Deletes stack instances for the specified accounts, in the specified regions. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation DeleteStackInstances for usage and error information. +// +// Returned Error Codes: +// * ErrCodeStackSetNotFoundException "StackSetNotFoundException" +// The specified stack set doesn't exist. +// +// * ErrCodeOperationInProgressException "OperationInProgressException" +// Another operation is currently in progress for this stack set. Only one operation +// can be performed for a stack set at a given time. +// +// * ErrCodeOperationIdAlreadyExistsException "OperationIdAlreadyExistsException" +// The specified operation ID already exists. +// +// * ErrCodeStaleRequestException "StaleRequestException" +// Another operation has been performed on this stack set since the specified +// operation was performed. +// +// * ErrCodeInvalidOperationException "InvalidOperationException" +// The specified operation isn't valid. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeleteStackInstances +func (c *CloudFormation) DeleteStackInstances(input *DeleteStackInstancesInput) (*DeleteStackInstancesOutput, error) { + req, out := c.DeleteStackInstancesRequest(input) + return out, req.Send() +} + +// DeleteStackInstancesWithContext is the same as DeleteStackInstances with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteStackInstances for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) DeleteStackInstancesWithContext(ctx aws.Context, input *DeleteStackInstancesInput, opts ...request.Option) (*DeleteStackInstancesOutput, error) { + req, out := c.DeleteStackInstancesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteStackSet = "DeleteStackSet" + +// DeleteStackSetRequest generates a "aws/request.Request" representing the +// client's request for the DeleteStackSet operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteStackSet for more information on using the DeleteStackSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteStackSetRequest method. +// req, resp := client.DeleteStackSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeleteStackSet +func (c *CloudFormation) DeleteStackSetRequest(input *DeleteStackSetInput) (req *request.Request, output *DeleteStackSetOutput) { + op := &request.Operation{ + Name: opDeleteStackSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteStackSetInput{} + } + + output = &DeleteStackSetOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteStackSet API operation for AWS CloudFormation. +// +// Deletes a stack set. Before you can delete a stack set, all of its member +// stack instances must be deleted. For more information about how to do this, +// see DeleteStackInstances. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation DeleteStackSet for usage and error information. +// +// Returned Error Codes: +// * ErrCodeStackSetNotEmptyException "StackSetNotEmptyException" +// You can't yet delete this stack set, because it still contains one or more +// stack instances. Delete all stack instances from the stack set before deleting +// the stack set. +// +// * ErrCodeOperationInProgressException "OperationInProgressException" +// Another operation is currently in progress for this stack set. Only one operation +// can be performed for a stack set at a given time. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeleteStackSet +func (c *CloudFormation) DeleteStackSet(input *DeleteStackSetInput) (*DeleteStackSetOutput, error) { + req, out := c.DeleteStackSetRequest(input) + return out, req.Send() +} + +// DeleteStackSetWithContext is the same as DeleteStackSet with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteStackSet for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) DeleteStackSetWithContext(ctx aws.Context, input *DeleteStackSetInput, opts ...request.Option) (*DeleteStackSetOutput, error) { + req, out := c.DeleteStackSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeAccountLimits = "DescribeAccountLimits" // DescribeAccountLimitsRequest generates a "aws/request.Request" representing the // client's request for the DescribeAccountLimits operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAccountLimits for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAccountLimits method directly -// instead. +// See DescribeAccountLimits for more information on using the DescribeAccountLimits +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAccountLimitsRequest method. // req, resp := client.DescribeAccountLimitsRequest(params) @@ -638,19 +1004,18 @@ const opDescribeChangeSet = "DescribeChangeSet" // DescribeChangeSetRequest generates a "aws/request.Request" representing the // client's request for the DescribeChangeSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeChangeSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeChangeSet method directly -// instead. +// See DescribeChangeSet for more information on using the DescribeChangeSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeChangeSetRequest method. // req, resp := client.DescribeChangeSetRequest(params) @@ -722,19 +1087,18 @@ const opDescribeStackEvents = "DescribeStackEvents" // DescribeStackEventsRequest generates a "aws/request.Request" representing the // client's request for the DescribeStackEvents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeStackEvents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeStackEvents method directly -// instead. +// See DescribeStackEvents for more information on using the DescribeStackEvents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeStackEventsRequest method. // req, resp := client.DescribeStackEventsRequest(params) @@ -854,23 +1218,108 @@ func (c *CloudFormation) DescribeStackEventsPagesWithContext(ctx aws.Context, in return p.Err() } +const opDescribeStackInstance = "DescribeStackInstance" + +// DescribeStackInstanceRequest generates a "aws/request.Request" representing the +// client's request for the DescribeStackInstance operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeStackInstance for more information on using the DescribeStackInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeStackInstanceRequest method. +// req, resp := client.DescribeStackInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackInstance +func (c *CloudFormation) DescribeStackInstanceRequest(input *DescribeStackInstanceInput) (req *request.Request, output *DescribeStackInstanceOutput) { + op := &request.Operation{ + Name: opDescribeStackInstance, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeStackInstanceInput{} + } + + output = &DescribeStackInstanceOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeStackInstance API operation for AWS CloudFormation. +// +// Returns the stack instance that's associated with the specified stack set, +// AWS account, and region. +// +// For a list of stack instances that are associated with a specific stack set, +// use ListStackInstances. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation DescribeStackInstance for usage and error information. +// +// Returned Error Codes: +// * ErrCodeStackSetNotFoundException "StackSetNotFoundException" +// The specified stack set doesn't exist. +// +// * ErrCodeStackInstanceNotFoundException "StackInstanceNotFoundException" +// The specified stack instance doesn't exist. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackInstance +func (c *CloudFormation) DescribeStackInstance(input *DescribeStackInstanceInput) (*DescribeStackInstanceOutput, error) { + req, out := c.DescribeStackInstanceRequest(input) + return out, req.Send() +} + +// DescribeStackInstanceWithContext is the same as DescribeStackInstance with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeStackInstance for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) DescribeStackInstanceWithContext(ctx aws.Context, input *DescribeStackInstanceInput, opts ...request.Option) (*DescribeStackInstanceOutput, error) { + req, out := c.DescribeStackInstanceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeStackResource = "DescribeStackResource" // DescribeStackResourceRequest generates a "aws/request.Request" representing the // client's request for the DescribeStackResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeStackResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeStackResource method directly -// instead. +// See DescribeStackResource for more information on using the DescribeStackResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeStackResourceRequest method. // req, resp := client.DescribeStackResourceRequest(params) @@ -936,19 +1385,18 @@ const opDescribeStackResources = "DescribeStackResources" // DescribeStackResourcesRequest generates a "aws/request.Request" representing the // client's request for the DescribeStackResources operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeStackResources for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeStackResources method directly -// instead. +// See DescribeStackResources for more information on using the DescribeStackResources +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeStackResourcesRequest method. // req, resp := client.DescribeStackResourcesRequest(params) @@ -1024,23 +1472,183 @@ func (c *CloudFormation) DescribeStackResourcesWithContext(ctx aws.Context, inpu return out, req.Send() } +const opDescribeStackSet = "DescribeStackSet" + +// DescribeStackSetRequest generates a "aws/request.Request" representing the +// client's request for the DescribeStackSet operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeStackSet for more information on using the DescribeStackSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeStackSetRequest method. +// req, resp := client.DescribeStackSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackSet +func (c *CloudFormation) DescribeStackSetRequest(input *DescribeStackSetInput) (req *request.Request, output *DescribeStackSetOutput) { + op := &request.Operation{ + Name: opDescribeStackSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeStackSetInput{} + } + + output = &DescribeStackSetOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeStackSet API operation for AWS CloudFormation. +// +// Returns the description of the specified stack set. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation DescribeStackSet for usage and error information. +// +// Returned Error Codes: +// * ErrCodeStackSetNotFoundException "StackSetNotFoundException" +// The specified stack set doesn't exist. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackSet +func (c *CloudFormation) DescribeStackSet(input *DescribeStackSetInput) (*DescribeStackSetOutput, error) { + req, out := c.DescribeStackSetRequest(input) + return out, req.Send() +} + +// DescribeStackSetWithContext is the same as DescribeStackSet with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeStackSet for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) DescribeStackSetWithContext(ctx aws.Context, input *DescribeStackSetInput, opts ...request.Option) (*DescribeStackSetOutput, error) { + req, out := c.DescribeStackSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeStackSetOperation = "DescribeStackSetOperation" + +// DescribeStackSetOperationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeStackSetOperation operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeStackSetOperation for more information on using the DescribeStackSetOperation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeStackSetOperationRequest method. +// req, resp := client.DescribeStackSetOperationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackSetOperation +func (c *CloudFormation) DescribeStackSetOperationRequest(input *DescribeStackSetOperationInput) (req *request.Request, output *DescribeStackSetOperationOutput) { + op := &request.Operation{ + Name: opDescribeStackSetOperation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeStackSetOperationInput{} + } + + output = &DescribeStackSetOperationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeStackSetOperation API operation for AWS CloudFormation. +// +// Returns the description of the specified stack set operation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation DescribeStackSetOperation for usage and error information. +// +// Returned Error Codes: +// * ErrCodeStackSetNotFoundException "StackSetNotFoundException" +// The specified stack set doesn't exist. +// +// * ErrCodeOperationNotFoundException "OperationNotFoundException" +// The specified ID refers to an operation that doesn't exist. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackSetOperation +func (c *CloudFormation) DescribeStackSetOperation(input *DescribeStackSetOperationInput) (*DescribeStackSetOperationOutput, error) { + req, out := c.DescribeStackSetOperationRequest(input) + return out, req.Send() +} + +// DescribeStackSetOperationWithContext is the same as DescribeStackSetOperation with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeStackSetOperation for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) DescribeStackSetOperationWithContext(ctx aws.Context, input *DescribeStackSetOperationInput, opts ...request.Option) (*DescribeStackSetOperationOutput, error) { + req, out := c.DescribeStackSetOperationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeStacks = "DescribeStacks" // DescribeStacksRequest generates a "aws/request.Request" representing the // client's request for the DescribeStacks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeStacks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeStacks method directly -// instead. +// See DescribeStacks for more information on using the DescribeStacks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeStacksRequest method. // req, resp := client.DescribeStacksRequest(params) @@ -1162,19 +1770,18 @@ const opEstimateTemplateCost = "EstimateTemplateCost" // EstimateTemplateCostRequest generates a "aws/request.Request" representing the // client's request for the EstimateTemplateCost operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EstimateTemplateCost for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EstimateTemplateCost method directly -// instead. +// See EstimateTemplateCost for more information on using the EstimateTemplateCost +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EstimateTemplateCostRequest method. // req, resp := client.EstimateTemplateCostRequest(params) @@ -1239,19 +1846,18 @@ const opExecuteChangeSet = "ExecuteChangeSet" // ExecuteChangeSetRequest generates a "aws/request.Request" representing the // client's request for the ExecuteChangeSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ExecuteChangeSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ExecuteChangeSet method directly -// instead. +// See ExecuteChangeSet for more information on using the ExecuteChangeSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ExecuteChangeSetRequest method. // req, resp := client.ExecuteChangeSetRequest(params) @@ -1302,8 +1908,8 @@ func (c *CloudFormation) ExecuteChangeSetRequest(input *ExecuteChangeSetInput) ( // // Returned Error Codes: // * ErrCodeInvalidChangeSetStatusException "InvalidChangeSetStatus" -// The specified change set cannot be used to update the stack. For example, -// the change set status might be CREATE_IN_PROGRESS or the stack status might +// The specified change set can't be used to update the stack. For example, +// the change set status might be CREATE_IN_PROGRESS, or the stack status might // be UPDATE_IN_PROGRESS. // // * ErrCodeChangeSetNotFoundException "ChangeSetNotFound" @@ -1311,7 +1917,7 @@ func (c *CloudFormation) ExecuteChangeSetRequest(input *ExecuteChangeSetInput) ( // for a stack, use the ListChangeSets action. // // * ErrCodeInsufficientCapabilitiesException "InsufficientCapabilitiesException" -// The template contains resources with capabilities that were not specified +// The template contains resources with capabilities that weren't specified // in the Capabilities parameter. // // * ErrCodeTokenAlreadyExistsException "TokenAlreadyExistsException" @@ -1343,19 +1949,18 @@ const opGetStackPolicy = "GetStackPolicy" // GetStackPolicyRequest generates a "aws/request.Request" representing the // client's request for the GetStackPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetStackPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetStackPolicy method directly -// instead. +// See GetStackPolicy for more information on using the GetStackPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetStackPolicyRequest method. // req, resp := client.GetStackPolicyRequest(params) @@ -1419,19 +2024,18 @@ const opGetTemplate = "GetTemplate" // GetTemplateRequest generates a "aws/request.Request" representing the // client's request for the GetTemplate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetTemplate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetTemplate method directly -// instead. +// See GetTemplate for more information on using the GetTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetTemplateRequest method. // req, resp := client.GetTemplateRequest(params) @@ -1506,19 +2110,18 @@ const opGetTemplateSummary = "GetTemplateSummary" // GetTemplateSummaryRequest generates a "aws/request.Request" representing the // client's request for the GetTemplateSummary operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetTemplateSummary for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetTemplateSummary method directly -// instead. +// See GetTemplateSummary for more information on using the GetTemplateSummary +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetTemplateSummaryRequest method. // req, resp := client.GetTemplateSummaryRequest(params) @@ -1549,10 +2152,12 @@ func (c *CloudFormation) GetTemplateSummaryRequest(input *GetTemplateSummaryInpu // // Returns information about a new or existing template. The GetTemplateSummary // action is useful for viewing parameter information, such as default parameter -// values and parameter types, before you create or update a stack. +// values and parameter types, before you create or update a stack or stack +// set. // // You can use the GetTemplateSummary action when you submit a template, or -// you can get template information for a running or deleted stack. +// you can get template information for a stack set, or a running or deleted +// stack. // // For deleted stacks, GetTemplateSummary returns the template information for // up to 90 days after the stack has been deleted. If the template does not @@ -1564,6 +2169,11 @@ func (c *CloudFormation) GetTemplateSummaryRequest(input *GetTemplateSummaryInpu // // See the AWS API reference guide for AWS CloudFormation's // API operation GetTemplateSummary for usage and error information. +// +// Returned Error Codes: +// * ErrCodeStackSetNotFoundException "StackSetNotFoundException" +// The specified stack set doesn't exist. +// // Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/GetTemplateSummary func (c *CloudFormation) GetTemplateSummary(input *GetTemplateSummaryInput) (*GetTemplateSummaryOutput, error) { req, out := c.GetTemplateSummaryRequest(input) @@ -1590,19 +2200,18 @@ const opListChangeSets = "ListChangeSets" // ListChangeSetsRequest generates a "aws/request.Request" representing the // client's request for the ListChangeSets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListChangeSets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListChangeSets method directly -// instead. +// See ListChangeSets for more information on using the ListChangeSets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListChangeSetsRequest method. // req, resp := client.ListChangeSetsRequest(params) @@ -1667,19 +2276,18 @@ const opListExports = "ListExports" // ListExportsRequest generates a "aws/request.Request" representing the // client's request for the ListExports operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListExports for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListExports method directly -// instead. +// See ListExports for more information on using the ListExports +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListExportsRequest method. // req, resp := client.ListExportsRequest(params) @@ -1804,19 +2412,18 @@ const opListImports = "ListImports" // ListImportsRequest generates a "aws/request.Request" representing the // client's request for the ListImports operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListImports for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListImports method directly -// instead. +// See ListImports for more information on using the ListImports +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListImportsRequest method. // req, resp := client.ListImportsRequest(params) @@ -1937,23 +2544,103 @@ func (c *CloudFormation) ListImportsPagesWithContext(ctx aws.Context, input *Lis return p.Err() } +const opListStackInstances = "ListStackInstances" + +// ListStackInstancesRequest generates a "aws/request.Request" representing the +// client's request for the ListStackInstances operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListStackInstances for more information on using the ListStackInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListStackInstancesRequest method. +// req, resp := client.ListStackInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackInstances +func (c *CloudFormation) ListStackInstancesRequest(input *ListStackInstancesInput) (req *request.Request, output *ListStackInstancesOutput) { + op := &request.Operation{ + Name: opListStackInstances, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListStackInstancesInput{} + } + + output = &ListStackInstancesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListStackInstances API operation for AWS CloudFormation. +// +// Returns summary information about stack instances that are associated with +// the specified stack set. You can filter for stack instances that are associated +// with a specific AWS account name or region. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation ListStackInstances for usage and error information. +// +// Returned Error Codes: +// * ErrCodeStackSetNotFoundException "StackSetNotFoundException" +// The specified stack set doesn't exist. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackInstances +func (c *CloudFormation) ListStackInstances(input *ListStackInstancesInput) (*ListStackInstancesOutput, error) { + req, out := c.ListStackInstancesRequest(input) + return out, req.Send() +} + +// ListStackInstancesWithContext is the same as ListStackInstances with the addition of +// the ability to pass a context and additional request options. +// +// See ListStackInstances for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) ListStackInstancesWithContext(ctx aws.Context, input *ListStackInstancesInput, opts ...request.Option) (*ListStackInstancesOutput, error) { + req, out := c.ListStackInstancesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListStackResources = "ListStackResources" // ListStackResourcesRequest generates a "aws/request.Request" representing the // client's request for the ListStackResources operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListStackResources for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListStackResources method directly -// instead. +// See ListStackResources for more information on using the ListStackResources +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListStackResourcesRequest method. // req, resp := client.ListStackResourcesRequest(params) @@ -2071,23 +2758,258 @@ func (c *CloudFormation) ListStackResourcesPagesWithContext(ctx aws.Context, inp return p.Err() } +const opListStackSetOperationResults = "ListStackSetOperationResults" + +// ListStackSetOperationResultsRequest generates a "aws/request.Request" representing the +// client's request for the ListStackSetOperationResults operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListStackSetOperationResults for more information on using the ListStackSetOperationResults +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListStackSetOperationResultsRequest method. +// req, resp := client.ListStackSetOperationResultsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSetOperationResults +func (c *CloudFormation) ListStackSetOperationResultsRequest(input *ListStackSetOperationResultsInput) (req *request.Request, output *ListStackSetOperationResultsOutput) { + op := &request.Operation{ + Name: opListStackSetOperationResults, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListStackSetOperationResultsInput{} + } + + output = &ListStackSetOperationResultsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListStackSetOperationResults API operation for AWS CloudFormation. +// +// Returns summary information about the results of a stack set operation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation ListStackSetOperationResults for usage and error information. +// +// Returned Error Codes: +// * ErrCodeStackSetNotFoundException "StackSetNotFoundException" +// The specified stack set doesn't exist. +// +// * ErrCodeOperationNotFoundException "OperationNotFoundException" +// The specified ID refers to an operation that doesn't exist. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSetOperationResults +func (c *CloudFormation) ListStackSetOperationResults(input *ListStackSetOperationResultsInput) (*ListStackSetOperationResultsOutput, error) { + req, out := c.ListStackSetOperationResultsRequest(input) + return out, req.Send() +} + +// ListStackSetOperationResultsWithContext is the same as ListStackSetOperationResults with the addition of +// the ability to pass a context and additional request options. +// +// See ListStackSetOperationResults for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) ListStackSetOperationResultsWithContext(ctx aws.Context, input *ListStackSetOperationResultsInput, opts ...request.Option) (*ListStackSetOperationResultsOutput, error) { + req, out := c.ListStackSetOperationResultsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListStackSetOperations = "ListStackSetOperations" + +// ListStackSetOperationsRequest generates a "aws/request.Request" representing the +// client's request for the ListStackSetOperations operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListStackSetOperations for more information on using the ListStackSetOperations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListStackSetOperationsRequest method. +// req, resp := client.ListStackSetOperationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSetOperations +func (c *CloudFormation) ListStackSetOperationsRequest(input *ListStackSetOperationsInput) (req *request.Request, output *ListStackSetOperationsOutput) { + op := &request.Operation{ + Name: opListStackSetOperations, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListStackSetOperationsInput{} + } + + output = &ListStackSetOperationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListStackSetOperations API operation for AWS CloudFormation. +// +// Returns summary information about operations performed on a stack set. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation ListStackSetOperations for usage and error information. +// +// Returned Error Codes: +// * ErrCodeStackSetNotFoundException "StackSetNotFoundException" +// The specified stack set doesn't exist. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSetOperations +func (c *CloudFormation) ListStackSetOperations(input *ListStackSetOperationsInput) (*ListStackSetOperationsOutput, error) { + req, out := c.ListStackSetOperationsRequest(input) + return out, req.Send() +} + +// ListStackSetOperationsWithContext is the same as ListStackSetOperations with the addition of +// the ability to pass a context and additional request options. +// +// See ListStackSetOperations for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) ListStackSetOperationsWithContext(ctx aws.Context, input *ListStackSetOperationsInput, opts ...request.Option) (*ListStackSetOperationsOutput, error) { + req, out := c.ListStackSetOperationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListStackSets = "ListStackSets" + +// ListStackSetsRequest generates a "aws/request.Request" representing the +// client's request for the ListStackSets operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListStackSets for more information on using the ListStackSets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListStackSetsRequest method. +// req, resp := client.ListStackSetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSets +func (c *CloudFormation) ListStackSetsRequest(input *ListStackSetsInput) (req *request.Request, output *ListStackSetsOutput) { + op := &request.Operation{ + Name: opListStackSets, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListStackSetsInput{} + } + + output = &ListStackSetsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListStackSets API operation for AWS CloudFormation. +// +// Returns summary information about stack sets that are associated with the +// user. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation ListStackSets for usage and error information. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSets +func (c *CloudFormation) ListStackSets(input *ListStackSetsInput) (*ListStackSetsOutput, error) { + req, out := c.ListStackSetsRequest(input) + return out, req.Send() +} + +// ListStackSetsWithContext is the same as ListStackSets with the addition of +// the ability to pass a context and additional request options. +// +// See ListStackSets for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) ListStackSetsWithContext(ctx aws.Context, input *ListStackSetsInput, opts ...request.Option) (*ListStackSetsOutput, error) { + req, out := c.ListStackSetsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListStacks = "ListStacks" // ListStacksRequest generates a "aws/request.Request" representing the // client's request for the ListStacks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListStacks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListStacks method directly -// instead. +// See ListStacks for more information on using the ListStacks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListStacksRequest method. // req, resp := client.ListStacksRequest(params) @@ -2210,19 +3132,18 @@ const opSetStackPolicy = "SetStackPolicy" // SetStackPolicyRequest generates a "aws/request.Request" representing the // client's request for the SetStackPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetStackPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetStackPolicy method directly -// instead. +// See SetStackPolicy for more information on using the SetStackPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetStackPolicyRequest method. // req, resp := client.SetStackPolicyRequest(params) @@ -2287,19 +3208,18 @@ const opSignalResource = "SignalResource" // SignalResourceRequest generates a "aws/request.Request" representing the // client's request for the SignalResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SignalResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SignalResource method directly -// instead. +// See SignalResource for more information on using the SignalResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SignalResourceRequest method. // req, resp := client.SignalResourceRequest(params) @@ -2365,23 +3285,107 @@ func (c *CloudFormation) SignalResourceWithContext(ctx aws.Context, input *Signa return out, req.Send() } +const opStopStackSetOperation = "StopStackSetOperation" + +// StopStackSetOperationRequest generates a "aws/request.Request" representing the +// client's request for the StopStackSetOperation operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StopStackSetOperation for more information on using the StopStackSetOperation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StopStackSetOperationRequest method. +// req, resp := client.StopStackSetOperationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StopStackSetOperation +func (c *CloudFormation) StopStackSetOperationRequest(input *StopStackSetOperationInput) (req *request.Request, output *StopStackSetOperationOutput) { + op := &request.Operation{ + Name: opStopStackSetOperation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopStackSetOperationInput{} + } + + output = &StopStackSetOperationOutput{} + req = c.newRequest(op, input, output) + return +} + +// StopStackSetOperation API operation for AWS CloudFormation. +// +// Stops an in-progress operation on a stack set and its associated stack instances. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation StopStackSetOperation for usage and error information. +// +// Returned Error Codes: +// * ErrCodeStackSetNotFoundException "StackSetNotFoundException" +// The specified stack set doesn't exist. +// +// * ErrCodeOperationNotFoundException "OperationNotFoundException" +// The specified ID refers to an operation that doesn't exist. +// +// * ErrCodeInvalidOperationException "InvalidOperationException" +// The specified operation isn't valid. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StopStackSetOperation +func (c *CloudFormation) StopStackSetOperation(input *StopStackSetOperationInput) (*StopStackSetOperationOutput, error) { + req, out := c.StopStackSetOperationRequest(input) + return out, req.Send() +} + +// StopStackSetOperationWithContext is the same as StopStackSetOperation with the addition of +// the ability to pass a context and additional request options. +// +// See StopStackSetOperation for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) StopStackSetOperationWithContext(ctx aws.Context, input *StopStackSetOperationInput, opts ...request.Option) (*StopStackSetOperationOutput, error) { + req, out := c.StopStackSetOperationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateStack = "UpdateStack" // UpdateStackRequest generates a "aws/request.Request" representing the // client's request for the UpdateStack operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateStack for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateStack method directly -// instead. +// See UpdateStack for more information on using the UpdateStack +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateStackRequest method. // req, resp := client.UpdateStackRequest(params) @@ -2429,7 +3433,7 @@ func (c *CloudFormation) UpdateStackRequest(input *UpdateStackInput) (req *reque // // Returned Error Codes: // * ErrCodeInsufficientCapabilitiesException "InsufficientCapabilitiesException" -// The template contains resources with capabilities that were not specified +// The template contains resources with capabilities that weren't specified // in the Capabilities parameter. // // * ErrCodeTokenAlreadyExistsException "TokenAlreadyExistsException" @@ -2457,23 +3461,202 @@ func (c *CloudFormation) UpdateStackWithContext(ctx aws.Context, input *UpdateSt return out, req.Send() } +const opUpdateStackSet = "UpdateStackSet" + +// UpdateStackSetRequest generates a "aws/request.Request" representing the +// client's request for the UpdateStackSet operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateStackSet for more information on using the UpdateStackSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateStackSetRequest method. +// req, resp := client.UpdateStackSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateStackSet +func (c *CloudFormation) UpdateStackSetRequest(input *UpdateStackSetInput) (req *request.Request, output *UpdateStackSetOutput) { + op := &request.Operation{ + Name: opUpdateStackSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateStackSetInput{} + } + + output = &UpdateStackSetOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateStackSet API operation for AWS CloudFormation. +// +// Updates the stack set and all associated stack instances. +// +// Even if the stack set operation created by updating the stack set fails (completely +// or partially, below or above a specified failure tolerance), the stack set +// is updated with your changes. Subsequent CreateStackInstances calls on the +// specified stack set use the updated stack set. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation UpdateStackSet for usage and error information. +// +// Returned Error Codes: +// * ErrCodeStackSetNotFoundException "StackSetNotFoundException" +// The specified stack set doesn't exist. +// +// * ErrCodeOperationInProgressException "OperationInProgressException" +// Another operation is currently in progress for this stack set. Only one operation +// can be performed for a stack set at a given time. +// +// * ErrCodeOperationIdAlreadyExistsException "OperationIdAlreadyExistsException" +// The specified operation ID already exists. +// +// * ErrCodeStaleRequestException "StaleRequestException" +// Another operation has been performed on this stack set since the specified +// operation was performed. +// +// * ErrCodeInvalidOperationException "InvalidOperationException" +// The specified operation isn't valid. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateStackSet +func (c *CloudFormation) UpdateStackSet(input *UpdateStackSetInput) (*UpdateStackSetOutput, error) { + req, out := c.UpdateStackSetRequest(input) + return out, req.Send() +} + +// UpdateStackSetWithContext is the same as UpdateStackSet with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateStackSet for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) UpdateStackSetWithContext(ctx aws.Context, input *UpdateStackSetInput, opts ...request.Option) (*UpdateStackSetOutput, error) { + req, out := c.UpdateStackSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTerminationProtection = "UpdateTerminationProtection" + +// UpdateTerminationProtectionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTerminationProtection operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateTerminationProtection for more information on using the UpdateTerminationProtection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateTerminationProtectionRequest method. +// req, resp := client.UpdateTerminationProtectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateTerminationProtection +func (c *CloudFormation) UpdateTerminationProtectionRequest(input *UpdateTerminationProtectionInput) (req *request.Request, output *UpdateTerminationProtectionOutput) { + op := &request.Operation{ + Name: opUpdateTerminationProtection, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateTerminationProtectionInput{} + } + + output = &UpdateTerminationProtectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateTerminationProtection API operation for AWS CloudFormation. +// +// Updates termination protection for the specified stack. If a user attempts +// to delete a stack with termination protection enabled, the operation fails +// and the stack remains unchanged. For more information, see Protecting a Stack +// From Being Deleted (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html) +// in the AWS CloudFormation User Guide. +// +// For nested stacks (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html), +// termination protection is set on the root stack and cannot be changed directly +// on the nested stack. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation UpdateTerminationProtection for usage and error information. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateTerminationProtection +func (c *CloudFormation) UpdateTerminationProtection(input *UpdateTerminationProtectionInput) (*UpdateTerminationProtectionOutput, error) { + req, out := c.UpdateTerminationProtectionRequest(input) + return out, req.Send() +} + +// UpdateTerminationProtectionWithContext is the same as UpdateTerminationProtection with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTerminationProtection for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) UpdateTerminationProtectionWithContext(ctx aws.Context, input *UpdateTerminationProtectionInput, opts ...request.Option) (*UpdateTerminationProtectionOutput, error) { + req, out := c.UpdateTerminationProtectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opValidateTemplate = "ValidateTemplate" // ValidateTemplateRequest generates a "aws/request.Request" representing the // client's request for the ValidateTemplate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ValidateTemplate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ValidateTemplate method directly -// instead. +// See ValidateTemplate for more information on using the ValidateTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ValidateTemplateRequest method. // req, resp := client.ValidateTemplateRequest(params) @@ -2535,6 +3718,78 @@ func (c *CloudFormation) ValidateTemplateWithContext(ctx aws.Context, input *Val return out, req.Send() } +// Structure that contains the results of the account gate function which AWS +// CloudFormation invokes, if present, before proceeding with a stack set operation +// in an account and region. +// +// For each account and region, AWS CloudFormation lets you specify a Lamdba +// function that encapsulates any requirements that must be met before CloudFormation +// can proceed with a stack set operation in that account and region. CloudFormation +// invokes the function each time a stack set operation is requested for that +// account and region; if the function returns FAILED, CloudFormation cancels +// the operation in that account and region, and sets the stack set operation +// result status for that account and region to FAILED. +// +// For more information, see Configuring a target account gate (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-account-gating.html). +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/AccountGateResult +type AccountGateResult struct { + _ struct{} `type:"structure"` + + // The status of the account gate function. + // + // * SUCCEEDED: The account gate function has determined that the account + // and region passes any requirements for a stack set operation to occur. + // AWS CloudFormation proceeds with the stack operation in that account and + // region. + // + // * FAILED: The account gate function has determined that the account and + // region does not meet the requirements for a stack set operation to occur. + // AWS CloudFormation cancels the stack set operation in that account and + // region, and sets the stack set operation result status for that account + // and region to FAILED. + // + // * SKIPPED: AWS CloudFormation has skipped calling the account gate function + // for this account and region, for one of the following reasons: + // + // An account gate function has not been specified for the account and region. + // AWS CloudFormation proceeds with the stack set operation in this account + // and region. + // + // The AWSCloudFormationStackSetExecutionRole of the stack set adminstration + // account lacks permissions to invoke the function. AWS CloudFormation proceeds + // with the stack set operation in this account and region. + // + // Either no action is necessary, or no action is possible, on the stack. AWS + // CloudFormation skips the stack set operation in this account and region. + Status *string `type:"string" enum:"AccountGateStatus"` + + // The reason for the account gate status assigned to this account and region + // for the stack set operation. + StatusReason *string `type:"string"` +} + +// String returns the string representation +func (s AccountGateResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccountGateResult) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *AccountGateResult) SetStatus(v string) *AccountGateResult { + s.Status = &v + return s +} + +// SetStatusReason sets the StatusReason field's value. +func (s *AccountGateResult) SetStatusReason(v string) *AccountGateResult { + s.StatusReason = &v + return s +} + // The AccountLimit data type. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/AccountLimit type AccountLimit struct { @@ -2797,7 +4052,7 @@ type ContinueUpdateRollbackInput struct { // during the continue update rollback operation. You can specify only resources // that are in the UPDATE_FAILED state because a rollback failed. You can't // specify resources that are in the UPDATE_FAILED state for other reasons, - // for example, because an update was canceled. To check why a resource update + // for example, because an update was cancelled. To check why a resource update // failed, use the DescribeStackResources action, and view the resource status // reason. // @@ -2815,10 +4070,16 @@ type ContinueUpdateRollbackInput struct { // your stack. For example, a failed resource update might cause dependent resources // to fail. In this case, it might not be necessary to skip the dependent resources. // - // To specify resources in a nested stack, use the following format: NestedStackName.ResourceLogicalID. - // If the ResourceLogicalID is a stack resource (Type: AWS::CloudFormation::Stack), - // it must be in one of the following states: DELETE_IN_PROGRESS, DELETE_COMPLETE, - // or DELETE_FAILED. + // To skip resources that are part of nested stacks, use the following format: + // NestedStackName.ResourceLogicalID. If you want to specify the logical ID + // of a stack resource (Type: AWS::CloudFormation::Stack) in the ResourcesToSkip + // list, then its corresponding embedded stack must be in one of the following + // states: DELETE_IN_PROGRESS, DELETE_COMPLETE, or DELETE_FAILED. + // + // Don't confuse a child stack's name with its corresponding logical ID defined + // in the parent stack. For an example of a continue update rollback operation + // with nested stacks, see Using ResourcesToSkip to recover a nested stacks + // hierarchy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-continueupdaterollback.html#nested-stacks). ResourcesToSkip []*string `type:"list"` // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) @@ -3017,6 +4278,10 @@ type CreateChangeSetInput struct { // a temporary session that is generated from your user credentials. RoleARN *string `min:"20" type:"string"` + // The rollback triggers for AWS CloudFormation to monitor during stack creation + // and updating operations, and for the specified monitoring period afterwards. + RollbackConfiguration *RollbackConfiguration `type:"structure"` + // The name or the unique ID of the stack for which you are creating a change // set. AWS CloudFormation generates the change set by comparing this stack's // information with the information that you submit, such as a modified template @@ -3026,7 +4291,7 @@ type CreateChangeSetInput struct { StackName *string `min:"1" type:"string" required:"true"` // Key-value pairs to associate with this stack. AWS CloudFormation also propagates - // these tags to resources in the stack. You can specify a maximum of 10 tags. + // these tags to resources in the stack. You can specify a maximum of 50 tags. Tags []*Tag `type:"list"` // A structure that contains the body of the revised template, with a minimum @@ -3090,6 +4355,21 @@ func (s *CreateChangeSetInput) Validate() error { if s.TemplateURL != nil && len(*s.TemplateURL) < 1 { invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1)) } + if s.RollbackConfiguration != nil { + if err := s.RollbackConfiguration.Validate(); err != nil { + invalidParams.AddNested("RollbackConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -3151,6 +4431,12 @@ func (s *CreateChangeSetInput) SetRoleARN(v string) *CreateChangeSetInput { return s } +// SetRollbackConfiguration sets the RollbackConfiguration field's value. +func (s *CreateChangeSetInput) SetRollbackConfiguration(v *RollbackConfiguration) *CreateChangeSetInput { + s.RollbackConfiguration = v + return s +} + // SetStackName sets the StackName field's value. func (s *CreateChangeSetInput) SetStackName(v string) *CreateChangeSetInput { s.StackName = &v @@ -3250,6 +4536,17 @@ type CreateStackInput struct { // plan to retry requests so that AWS CloudFormation knows that you're not attempting // to create a stack with the same name. You might retry CreateStack requests // to ensure that AWS CloudFormation successfully received them. + // + // All events triggered by a given stack operation are assigned the same client + // request token, which you can use to track operations. For example, if you + // execute a CreateStack operation with the token token1, then all the StackEvents + // generated by that operation will have ClientRequestToken set as token1. + // + // In the console, stack operations display the client request token on the + // Events tab. Stack operations that are initiated from the console use the + // token format Console-StackOperation-ID, which helps you easily identify the + // stack operation . For example, if you create a stack using the console, each + // stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002. ClientRequestToken *string `min:"1" type:"string"` // Set to true to disable rollback of the stack if stack creation failed. You @@ -3258,6 +4555,18 @@ type CreateStackInput struct { // Default: false DisableRollback *bool `type:"boolean"` + // Whether to enable termination protection on the specified stack. If a user + // attempts to delete a stack with termination protection enabled, the operation + // fails and the stack remains unchanged. For more information, see Protecting + // a Stack From Being Deleted (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html) + // in the AWS CloudFormation User Guide. Termination protection is disabled + // on stacks by default. + // + // For nested stacks (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html), + // termination protection is set on the root stack and cannot be changed directly + // on the nested stack. + EnableTerminationProtection *bool `type:"boolean"` + // The Simple Notification Service (SNS) topic ARNs to publish stack related // events. You can find your SNS topic ARNs using the SNS console or your Command // Line Interface (CLI). @@ -3304,6 +4613,10 @@ type CreateStackInput struct { // a temporary session that is generated from your user credentials. RoleARN *string `min:"20" type:"string"` + // The rollback triggers for AWS CloudFormation to monitor during stack creation + // and updating operations, and for the specified monitoring period afterwards. + RollbackConfiguration *RollbackConfiguration `type:"structure"` + // The name that is associated with the stack. The name must be unique in the // region in which you are creating the stack. // @@ -3327,7 +4640,7 @@ type CreateStackInput struct { StackPolicyURL *string `min:"1" type:"string"` // Key-value pairs to associate with this stack. AWS CloudFormation also propagates - // these tags to the resources created in the stack. A maximum number of 10 + // these tags to the resources created in the stack. A maximum number of 50 // tags can be specified. Tags []*Tag `type:"list"` @@ -3392,6 +4705,21 @@ func (s *CreateStackInput) Validate() error { if s.TimeoutInMinutes != nil && *s.TimeoutInMinutes < 1 { invalidParams.Add(request.NewErrParamMinValue("TimeoutInMinutes", 1)) } + if s.RollbackConfiguration != nil { + if err := s.RollbackConfiguration.Validate(); err != nil { + invalidParams.AddNested("RollbackConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -3417,6 +4745,12 @@ func (s *CreateStackInput) SetDisableRollback(v bool) *CreateStackInput { return s } +// SetEnableTerminationProtection sets the EnableTerminationProtection field's value. +func (s *CreateStackInput) SetEnableTerminationProtection(v bool) *CreateStackInput { + s.EnableTerminationProtection = &v + return s +} + // SetNotificationARNs sets the NotificationARNs field's value. func (s *CreateStackInput) SetNotificationARNs(v []*string) *CreateStackInput { s.NotificationARNs = v @@ -3447,6 +4781,12 @@ func (s *CreateStackInput) SetRoleARN(v string) *CreateStackInput { return s } +// SetRollbackConfiguration sets the RollbackConfiguration field's value. +func (s *CreateStackInput) SetRollbackConfiguration(v *RollbackConfiguration) *CreateStackInput { + s.RollbackConfiguration = v + return s +} + // SetStackName sets the StackName field's value. func (s *CreateStackInput) SetStackName(v string) *CreateStackInput { s.StackName = &v @@ -3489,6 +4829,136 @@ func (s *CreateStackInput) SetTimeoutInMinutes(v int64) *CreateStackInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateStackInstancesInput +type CreateStackInstancesInput struct { + _ struct{} `type:"structure"` + + // The names of one or more AWS accounts that you want to create stack instances + // in the specified region(s) for. + // + // Accounts is a required field + Accounts []*string `type:"list" required:"true"` + + // The unique identifier for this stack set operation. + // + // The operation ID also functions as an idempotency token, to ensure that AWS + // CloudFormation performs the stack set operation only once, even if you retry + // the request multiple times. You might retry stack set operation requests + // to ensure that AWS CloudFormation successfully received them. + // + // If you don't specify an operation ID, the SDK generates one automatically. + // + // Repeating this stack set operation with a new operation ID retries all stack + // instances whose status is OUTDATED. + OperationId *string `min:"1" type:"string" idempotencyToken:"true"` + + // Preferences for how AWS CloudFormation performs this stack set operation. + OperationPreferences *StackSetOperationPreferences `type:"structure"` + + // The names of one or more regions where you want to create stack instances + // using the specified AWS account(s). + // + // Regions is a required field + Regions []*string `type:"list" required:"true"` + + // The name or unique ID of the stack set that you want to create stack instances + // from. + // + // StackSetName is a required field + StackSetName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateStackInstancesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateStackInstancesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateStackInstancesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateStackInstancesInput"} + if s.Accounts == nil { + invalidParams.Add(request.NewErrParamRequired("Accounts")) + } + if s.OperationId != nil && len(*s.OperationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OperationId", 1)) + } + if s.Regions == nil { + invalidParams.Add(request.NewErrParamRequired("Regions")) + } + if s.StackSetName == nil { + invalidParams.Add(request.NewErrParamRequired("StackSetName")) + } + if s.OperationPreferences != nil { + if err := s.OperationPreferences.Validate(); err != nil { + invalidParams.AddNested("OperationPreferences", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccounts sets the Accounts field's value. +func (s *CreateStackInstancesInput) SetAccounts(v []*string) *CreateStackInstancesInput { + s.Accounts = v + return s +} + +// SetOperationId sets the OperationId field's value. +func (s *CreateStackInstancesInput) SetOperationId(v string) *CreateStackInstancesInput { + s.OperationId = &v + return s +} + +// SetOperationPreferences sets the OperationPreferences field's value. +func (s *CreateStackInstancesInput) SetOperationPreferences(v *StackSetOperationPreferences) *CreateStackInstancesInput { + s.OperationPreferences = v + return s +} + +// SetRegions sets the Regions field's value. +func (s *CreateStackInstancesInput) SetRegions(v []*string) *CreateStackInstancesInput { + s.Regions = v + return s +} + +// SetStackSetName sets the StackSetName field's value. +func (s *CreateStackInstancesInput) SetStackSetName(v string) *CreateStackInstancesInput { + s.StackSetName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateStackInstancesOutput +type CreateStackInstancesOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier for this stack set operation. + OperationId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateStackInstancesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateStackInstancesOutput) GoString() string { + return s.String() +} + +// SetOperationId sets the OperationId field's value. +func (s *CreateStackInstancesOutput) SetOperationId(v string) *CreateStackInstancesOutput { + s.OperationId = &v + return s +} + // The output for a CreateStack action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateStackOutput type CreateStackOutput struct { @@ -3514,6 +4984,218 @@ func (s *CreateStackOutput) SetStackId(v string) *CreateStackOutput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateStackSetInput +type CreateStackSetInput struct { + _ struct{} `type:"structure"` + + // A list of values that you must specify before AWS CloudFormation can create + // certain stack sets. Some stack set templates might include resources that + // can affect permissions in your AWS account—for example, by creating new AWS + // Identity and Access Management (IAM) users. For those stack sets, you must + // explicitly acknowledge their capabilities by specifying this parameter. + // + // The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following + // resources require you to specify this parameter: + // + // * AWS::IAM::AccessKey + // + // * AWS::IAM::Group + // + // * AWS::IAM::InstanceProfile + // + // * AWS::IAM::Policy + // + // * AWS::IAM::Role + // + // * AWS::IAM::User + // + // * AWS::IAM::UserToGroupAddition + // + // If your stack template contains these resources, we recommend that you review + // all permissions that are associated with them and edit their permissions + // if necessary. + // + // If you have IAM resources, you can specify either capability. If you have + // IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If + // you don't specify this parameter, this action returns an InsufficientCapabilities + // error. + // + // For more information, see Acknowledging IAM Resources in AWS CloudFormation + // Templates. (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities) + Capabilities []*string `type:"list"` + + // A unique identifier for this CreateStackSet request. Specify this token if + // you plan to retry requests so that AWS CloudFormation knows that you're not + // attempting to create another stack set with the same name. You might retry + // CreateStackSet requests to ensure that AWS CloudFormation successfully received + // them. + // + // If you don't specify an operation ID, the SDK generates one automatically. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // A description of the stack set. You can use the description to identify the + // stack set's purpose or other important information. + Description *string `min:"1" type:"string"` + + // The input parameters for the stack set template. + Parameters []*Parameter `type:"list"` + + // The name to associate with the stack set. The name must be unique in the + // region where you create your stack set. + // + // A stack name can contain only alphanumeric characters (case-sensitive) and + // hyphens. It must start with an alphabetic character and can't be longer than + // 128 characters. + // + // StackSetName is a required field + StackSetName *string `type:"string" required:"true"` + + // The key-value pairs to associate with this stack set and the stacks created + // from it. AWS CloudFormation also propagates these tags to supported resources + // that are created in the stacks. A maximum number of 50 tags can be specified. + // + // If you specify tags as part of a CreateStackSet action, AWS CloudFormation + // checks to see if you have the required IAM permission to tag resources. If + // you don't, the entire CreateStackSet action fails with an access denied error, + // and the stack set is not created. + Tags []*Tag `type:"list"` + + // The structure that contains the template body, with a minimum length of 1 + // byte and a maximum length of 51,200 bytes. For more information, see Template + // Anatomy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) + // in the AWS CloudFormation User Guide. + // + // Conditional: You must specify either the TemplateBody or the TemplateURL + // parameter, but not both. + TemplateBody *string `min:"1" type:"string"` + + // The location of the file that contains the template body. The URL must point + // to a template (maximum size: 460,800 bytes) that's located in an Amazon S3 + // bucket. For more information, see Template Anatomy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) + // in the AWS CloudFormation User Guide. + // + // Conditional: You must specify either the TemplateBody or the TemplateURL + // parameter, but not both. + TemplateURL *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateStackSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateStackSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateStackSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateStackSetInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.StackSetName == nil { + invalidParams.Add(request.NewErrParamRequired("StackSetName")) + } + if s.TemplateBody != nil && len(*s.TemplateBody) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1)) + } + if s.TemplateURL != nil && len(*s.TemplateURL) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCapabilities sets the Capabilities field's value. +func (s *CreateStackSetInput) SetCapabilities(v []*string) *CreateStackSetInput { + s.Capabilities = v + return s +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateStackSetInput) SetClientRequestToken(v string) *CreateStackSetInput { + s.ClientRequestToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateStackSetInput) SetDescription(v string) *CreateStackSetInput { + s.Description = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *CreateStackSetInput) SetParameters(v []*Parameter) *CreateStackSetInput { + s.Parameters = v + return s +} + +// SetStackSetName sets the StackSetName field's value. +func (s *CreateStackSetInput) SetStackSetName(v string) *CreateStackSetInput { + s.StackSetName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateStackSetInput) SetTags(v []*Tag) *CreateStackSetInput { + s.Tags = v + return s +} + +// SetTemplateBody sets the TemplateBody field's value. +func (s *CreateStackSetInput) SetTemplateBody(v string) *CreateStackSetInput { + s.TemplateBody = &v + return s +} + +// SetTemplateURL sets the TemplateURL field's value. +func (s *CreateStackSetInput) SetTemplateURL(v string) *CreateStackSetInput { + s.TemplateURL = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateStackSetOutput +type CreateStackSetOutput struct { + _ struct{} `type:"structure"` + + // The ID of the stack set that you're creating. + StackSetId *string `type:"string"` +} + +// String returns the string representation +func (s CreateStackSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateStackSetOutput) GoString() string { + return s.String() +} + +// SetStackSetId sets the StackSetId field's value. +func (s *CreateStackSetOutput) SetStackSetId(v string) *CreateStackSetOutput { + s.StackSetId = &v + return s +} + // The input for the DeleteChangeSet action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeleteChangeSetInput type DeleteChangeSetInput struct { @@ -3596,6 +5278,17 @@ type DeleteStackInput struct { // plan to retry requests so that AWS CloudFormation knows that you're not attempting // to delete a stack with the same name. You might retry DeleteStack requests // to ensure that AWS CloudFormation successfully received them. + // + // All events triggered by a given stack operation are assigned the same client + // request token, which you can use to track operations. For example, if you + // execute a CreateStack operation with the token token1, then all the StackEvents + // generated by that operation will have ClientRequestToken set as token1. + // + // In the console, stack operations display the client request token on the + // Events tab. Stack operations that are initiated from the console use the + // token format Console-StackOperation-ID, which helps you easily identify the + // stack operation . For example, if you create a stack using the console, each + // stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002. ClientRequestToken *string `min:"1" type:"string"` // For stacks in the DELETE_FAILED state, a list of resource logical IDs that @@ -3674,6 +5367,152 @@ func (s *DeleteStackInput) SetStackName(v string) *DeleteStackInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeleteStackInstancesInput +type DeleteStackInstancesInput struct { + _ struct{} `type:"structure"` + + // The names of the AWS accounts that you want to delete stack instances for. + // + // Accounts is a required field + Accounts []*string `type:"list" required:"true"` + + // The unique identifier for this stack set operation. + // + // If you don't specify an operation ID, the SDK generates one automatically. + // + // The operation ID also functions as an idempotency token, to ensure that AWS + // CloudFormation performs the stack set operation only once, even if you retry + // the request multiple times. You can retry stack set operation requests to + // ensure that AWS CloudFormation successfully received them. + // + // Repeating this stack set operation with a new operation ID retries all stack + // instances whose status is OUTDATED. + OperationId *string `min:"1" type:"string" idempotencyToken:"true"` + + // Preferences for how AWS CloudFormation performs this stack set operation. + OperationPreferences *StackSetOperationPreferences `type:"structure"` + + // The regions where you want to delete stack set instances. + // + // Regions is a required field + Regions []*string `type:"list" required:"true"` + + // Removes the stack instances from the specified stack set, but doesn't delete + // the stacks. You can't reassociate a retained stack or add an existing, saved + // stack to a new stack set. + // + // For more information, see Stack set operation options (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options). + // + // RetainStacks is a required field + RetainStacks *bool `type:"boolean" required:"true"` + + // The name or unique ID of the stack set that you want to delete stack instances + // for. + // + // StackSetName is a required field + StackSetName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteStackInstancesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteStackInstancesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteStackInstancesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteStackInstancesInput"} + if s.Accounts == nil { + invalidParams.Add(request.NewErrParamRequired("Accounts")) + } + if s.OperationId != nil && len(*s.OperationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OperationId", 1)) + } + if s.Regions == nil { + invalidParams.Add(request.NewErrParamRequired("Regions")) + } + if s.RetainStacks == nil { + invalidParams.Add(request.NewErrParamRequired("RetainStacks")) + } + if s.StackSetName == nil { + invalidParams.Add(request.NewErrParamRequired("StackSetName")) + } + if s.OperationPreferences != nil { + if err := s.OperationPreferences.Validate(); err != nil { + invalidParams.AddNested("OperationPreferences", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccounts sets the Accounts field's value. +func (s *DeleteStackInstancesInput) SetAccounts(v []*string) *DeleteStackInstancesInput { + s.Accounts = v + return s +} + +// SetOperationId sets the OperationId field's value. +func (s *DeleteStackInstancesInput) SetOperationId(v string) *DeleteStackInstancesInput { + s.OperationId = &v + return s +} + +// SetOperationPreferences sets the OperationPreferences field's value. +func (s *DeleteStackInstancesInput) SetOperationPreferences(v *StackSetOperationPreferences) *DeleteStackInstancesInput { + s.OperationPreferences = v + return s +} + +// SetRegions sets the Regions field's value. +func (s *DeleteStackInstancesInput) SetRegions(v []*string) *DeleteStackInstancesInput { + s.Regions = v + return s +} + +// SetRetainStacks sets the RetainStacks field's value. +func (s *DeleteStackInstancesInput) SetRetainStacks(v bool) *DeleteStackInstancesInput { + s.RetainStacks = &v + return s +} + +// SetStackSetName sets the StackSetName field's value. +func (s *DeleteStackInstancesInput) SetStackSetName(v string) *DeleteStackInstancesInput { + s.StackSetName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeleteStackInstancesOutput +type DeleteStackInstancesOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier for this stack set operation. + OperationId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DeleteStackInstancesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteStackInstancesOutput) GoString() string { + return s.String() +} + +// SetOperationId sets the OperationId field's value. +func (s *DeleteStackInstancesOutput) SetOperationId(v string) *DeleteStackInstancesOutput { + s.OperationId = &v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeleteStackOutput type DeleteStackOutput struct { _ struct{} `type:"structure"` @@ -3689,6 +5528,61 @@ func (s DeleteStackOutput) GoString() string { return s.String() } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeleteStackSetInput +type DeleteStackSetInput struct { + _ struct{} `type:"structure"` + + // The name or unique ID of the stack set that you're deleting. You can obtain + // this value by running ListStackSets. + // + // StackSetName is a required field + StackSetName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteStackSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteStackSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteStackSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteStackSetInput"} + if s.StackSetName == nil { + invalidParams.Add(request.NewErrParamRequired("StackSetName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStackSetName sets the StackSetName field's value. +func (s *DeleteStackSetInput) SetStackSetName(v string) *DeleteStackSetInput { + s.StackSetName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeleteStackSetOutput +type DeleteStackSetOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteStackSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteStackSetOutput) GoString() string { + return s.String() +} + // The input for the DescribeAccountLimits action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeAccountLimitsInput type DescribeAccountLimitsInput struct { @@ -3879,6 +5773,10 @@ type DescribeChangeSetOutput struct { // data type. Parameters []*Parameter `type:"list"` + // The rollback triggers for AWS CloudFormation to monitor during stack creation + // and updating operations, and for the specified monitoring period afterwards. + RollbackConfiguration *RollbackConfiguration `type:"structure"` + // The ARN of the stack that is associated with the change set. StackId *string `type:"string"` @@ -3968,6 +5866,12 @@ func (s *DescribeChangeSetOutput) SetParameters(v []*Parameter) *DescribeChangeS return s } +// SetRollbackConfiguration sets the RollbackConfiguration field's value. +func (s *DescribeChangeSetOutput) SetRollbackConfiguration(v *RollbackConfiguration) *DescribeChangeSetOutput { + s.RollbackConfiguration = v + return s +} + // SetStackId sets the StackId field's value. func (s *DescribeChangeSetOutput) SetStackId(v string) *DescribeChangeSetOutput { s.StackId = &v @@ -4088,6 +5992,98 @@ func (s *DescribeStackEventsOutput) SetStackEvents(v []*StackEvent) *DescribeSta return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackInstanceInput +type DescribeStackInstanceInput struct { + _ struct{} `type:"structure"` + + // The ID of an AWS account that's associated with this stack instance. + // + // StackInstanceAccount is a required field + StackInstanceAccount *string `type:"string" required:"true"` + + // The name of a region that's associated with this stack instance. + // + // StackInstanceRegion is a required field + StackInstanceRegion *string `type:"string" required:"true"` + + // The name or the unique stack ID of the stack set that you want to get stack + // instance information for. + // + // StackSetName is a required field + StackSetName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeStackInstanceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeStackInstanceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeStackInstanceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeStackInstanceInput"} + if s.StackInstanceAccount == nil { + invalidParams.Add(request.NewErrParamRequired("StackInstanceAccount")) + } + if s.StackInstanceRegion == nil { + invalidParams.Add(request.NewErrParamRequired("StackInstanceRegion")) + } + if s.StackSetName == nil { + invalidParams.Add(request.NewErrParamRequired("StackSetName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStackInstanceAccount sets the StackInstanceAccount field's value. +func (s *DescribeStackInstanceInput) SetStackInstanceAccount(v string) *DescribeStackInstanceInput { + s.StackInstanceAccount = &v + return s +} + +// SetStackInstanceRegion sets the StackInstanceRegion field's value. +func (s *DescribeStackInstanceInput) SetStackInstanceRegion(v string) *DescribeStackInstanceInput { + s.StackInstanceRegion = &v + return s +} + +// SetStackSetName sets the StackSetName field's value. +func (s *DescribeStackInstanceInput) SetStackSetName(v string) *DescribeStackInstanceInput { + s.StackSetName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackInstanceOutput +type DescribeStackInstanceOutput struct { + _ struct{} `type:"structure"` + + // The stack instance that matches the specified request parameters. + StackInstance *StackInstance `type:"structure"` +} + +// String returns the string representation +func (s DescribeStackInstanceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeStackInstanceOutput) GoString() string { + return s.String() +} + +// SetStackInstance sets the StackInstance field's value. +func (s *DescribeStackInstanceOutput) SetStackInstance(v *StackInstance) *DescribeStackInstanceOutput { + s.StackInstance = v + return s +} + // The input for DescribeStackResource action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackResourceInput type DescribeStackResourceInput struct { @@ -4270,6 +6266,149 @@ func (s *DescribeStackResourcesOutput) SetStackResources(v []*StackResource) *De return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackSetInput +type DescribeStackSetInput struct { + _ struct{} `type:"structure"` + + // The name or unique ID of the stack set whose description you want. + // + // StackSetName is a required field + StackSetName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeStackSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeStackSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeStackSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeStackSetInput"} + if s.StackSetName == nil { + invalidParams.Add(request.NewErrParamRequired("StackSetName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStackSetName sets the StackSetName field's value. +func (s *DescribeStackSetInput) SetStackSetName(v string) *DescribeStackSetInput { + s.StackSetName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackSetOperationInput +type DescribeStackSetOperationInput struct { + _ struct{} `type:"structure"` + + // The unique ID of the stack set operation. + // + // OperationId is a required field + OperationId *string `min:"1" type:"string" required:"true"` + + // The name or the unique stack ID of the stack set for the stack operation. + // + // StackSetName is a required field + StackSetName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeStackSetOperationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeStackSetOperationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeStackSetOperationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeStackSetOperationInput"} + if s.OperationId == nil { + invalidParams.Add(request.NewErrParamRequired("OperationId")) + } + if s.OperationId != nil && len(*s.OperationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OperationId", 1)) + } + if s.StackSetName == nil { + invalidParams.Add(request.NewErrParamRequired("StackSetName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetOperationId sets the OperationId field's value. +func (s *DescribeStackSetOperationInput) SetOperationId(v string) *DescribeStackSetOperationInput { + s.OperationId = &v + return s +} + +// SetStackSetName sets the StackSetName field's value. +func (s *DescribeStackSetOperationInput) SetStackSetName(v string) *DescribeStackSetOperationInput { + s.StackSetName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackSetOperationOutput +type DescribeStackSetOperationOutput struct { + _ struct{} `type:"structure"` + + // The specified stack set operation. + StackSetOperation *StackSetOperation `type:"structure"` +} + +// String returns the string representation +func (s DescribeStackSetOperationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeStackSetOperationOutput) GoString() string { + return s.String() +} + +// SetStackSetOperation sets the StackSetOperation field's value. +func (s *DescribeStackSetOperationOutput) SetStackSetOperation(v *StackSetOperation) *DescribeStackSetOperationOutput { + s.StackSetOperation = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackSetOutput +type DescribeStackSetOutput struct { + _ struct{} `type:"structure"` + + // The specified stack set. + StackSet *StackSet `type:"structure"` +} + +// String returns the string representation +func (s DescribeStackSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeStackSetOutput) GoString() string { + return s.String() +} + +// SetStackSet sets the StackSet field's value. +func (s *DescribeStackSetOutput) SetStackSet(v *StackSet) *DescribeStackSetOutput { + s.StackSet = v + return s +} + // The input for DescribeStacks action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStacksInput type DescribeStacksInput struct { @@ -4785,16 +6924,22 @@ type GetTemplateSummaryInput struct { // stack ID. // // Conditional: You must specify only one of the following parameters: StackName, - // TemplateBody, or TemplateURL. + // StackSetName, TemplateBody, or TemplateURL. StackName *string `min:"1" type:"string"` + // The name or unique ID of the stack set from which the stack was created. + // + // Conditional: You must specify only one of the following parameters: StackName, + // StackSetName, TemplateBody, or TemplateURL. + StackSetName *string `min:"1" type:"string"` + // Structure containing the template body with a minimum length of 1 byte and // a maximum length of 51,200 bytes. For more information about templates, see // Template Anatomy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) // in the AWS CloudFormation User Guide. // // Conditional: You must specify only one of the following parameters: StackName, - // TemplateBody, or TemplateURL. + // StackSetName, TemplateBody, or TemplateURL. TemplateBody *string `min:"1" type:"string"` // Location of file containing the template body. The URL must point to a template @@ -4803,7 +6948,7 @@ type GetTemplateSummaryInput struct { // in the AWS CloudFormation User Guide. // // Conditional: You must specify only one of the following parameters: StackName, - // TemplateBody, or TemplateURL. + // StackSetName, TemplateBody, or TemplateURL. TemplateURL *string `min:"1" type:"string"` } @@ -4823,6 +6968,9 @@ func (s *GetTemplateSummaryInput) Validate() error { if s.StackName != nil && len(*s.StackName) < 1 { invalidParams.Add(request.NewErrParamMinLen("StackName", 1)) } + if s.StackSetName != nil && len(*s.StackSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StackSetName", 1)) + } if s.TemplateBody != nil && len(*s.TemplateBody) < 1 { invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1)) } @@ -4842,6 +6990,12 @@ func (s *GetTemplateSummaryInput) SetStackName(v string) *GetTemplateSummaryInpu return s } +// SetStackSetName sets the StackSetName field's value. +func (s *GetTemplateSummaryInput) SetStackSetName(v string) *GetTemplateSummaryInput { + s.StackSetName = &v + return s +} + // SetTemplateBody sets the TemplateBody field's value. func (s *GetTemplateSummaryInput) SetTemplateBody(v string) *GetTemplateSummaryInput { s.TemplateBody = &v @@ -5205,6 +7359,132 @@ func (s *ListImportsOutput) SetNextToken(v string) *ListImportsOutput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackInstancesInput +type ListStackInstancesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to be returned with a single call. If the number + // of available results exceeds this maximum, the response includes a NextToken + // value that you can assign to the NextToken request parameter to get the next + // set of results. + MaxResults *int64 `min:"1" type:"integer"` + + // If the previous request didn't return all of the remaining results, the response's + // NextToken parameter value is set to a token. To retrieve the next set of + // results, call ListStackInstances again and assign that token to the request + // object's NextToken parameter. If there are no remaining results, the previous + // response object's NextToken parameter is set to null. + NextToken *string `min:"1" type:"string"` + + // The name of the AWS account that you want to list stack instances for. + StackInstanceAccount *string `type:"string"` + + // The name of the region where you want to list stack instances. + StackInstanceRegion *string `type:"string"` + + // The name or unique ID of the stack set that you want to list stack instances + // for. + // + // StackSetName is a required field + StackSetName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ListStackInstancesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListStackInstancesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListStackInstancesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListStackInstancesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.StackSetName == nil { + invalidParams.Add(request.NewErrParamRequired("StackSetName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListStackInstancesInput) SetMaxResults(v int64) *ListStackInstancesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListStackInstancesInput) SetNextToken(v string) *ListStackInstancesInput { + s.NextToken = &v + return s +} + +// SetStackInstanceAccount sets the StackInstanceAccount field's value. +func (s *ListStackInstancesInput) SetStackInstanceAccount(v string) *ListStackInstancesInput { + s.StackInstanceAccount = &v + return s +} + +// SetStackInstanceRegion sets the StackInstanceRegion field's value. +func (s *ListStackInstancesInput) SetStackInstanceRegion(v string) *ListStackInstancesInput { + s.StackInstanceRegion = &v + return s +} + +// SetStackSetName sets the StackSetName field's value. +func (s *ListStackInstancesInput) SetStackSetName(v string) *ListStackInstancesInput { + s.StackSetName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackInstancesOutput +type ListStackInstancesOutput struct { + _ struct{} `type:"structure"` + + // If the request doesn't return all of the remaining results, NextToken is + // set to a token. To retrieve the next set of results, call ListStackInstances + // again and assign that token to the request object's NextToken parameter. + // If the request returns all results, NextToken is set to null. + NextToken *string `min:"1" type:"string"` + + // A list of StackInstanceSummary structures that contain information about + // the specified stack instances. + Summaries []*StackInstanceSummary `type:"list"` +} + +// String returns the string representation +func (s ListStackInstancesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListStackInstancesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListStackInstancesOutput) SetNextToken(v string) *ListStackInstancesOutput { + s.NextToken = &v + return s +} + +// SetSummaries sets the Summaries field's value. +func (s *ListStackInstancesOutput) SetSummaries(v []*StackInstanceSummary) *ListStackInstancesOutput { + s.Summaries = v + return s +} + // The input for the ListStackResource action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackResourcesInput type ListStackResourcesInput struct { @@ -5301,6 +7581,342 @@ func (s *ListStackResourcesOutput) SetStackResourceSummaries(v []*StackResourceS return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSetOperationResultsInput +type ListStackSetOperationResultsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to be returned with a single call. If the number + // of available results exceeds this maximum, the response includes a NextToken + // value that you can assign to the NextToken request parameter to get the next + // set of results. + MaxResults *int64 `min:"1" type:"integer"` + + // If the previous request didn't return all of the remaining results, the response + // object's NextToken parameter value is set to a token. To retrieve the next + // set of results, call ListStackSetOperationResults again and assign that token + // to the request object's NextToken parameter. If there are no remaining results, + // the previous response object's NextToken parameter is set to null. + NextToken *string `min:"1" type:"string"` + + // The ID of the stack set operation. + // + // OperationId is a required field + OperationId *string `min:"1" type:"string" required:"true"` + + // The name or unique ID of the stack set that you want to get operation results + // for. + // + // StackSetName is a required field + StackSetName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ListStackSetOperationResultsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListStackSetOperationResultsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListStackSetOperationResultsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListStackSetOperationResultsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.OperationId == nil { + invalidParams.Add(request.NewErrParamRequired("OperationId")) + } + if s.OperationId != nil && len(*s.OperationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OperationId", 1)) + } + if s.StackSetName == nil { + invalidParams.Add(request.NewErrParamRequired("StackSetName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListStackSetOperationResultsInput) SetMaxResults(v int64) *ListStackSetOperationResultsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListStackSetOperationResultsInput) SetNextToken(v string) *ListStackSetOperationResultsInput { + s.NextToken = &v + return s +} + +// SetOperationId sets the OperationId field's value. +func (s *ListStackSetOperationResultsInput) SetOperationId(v string) *ListStackSetOperationResultsInput { + s.OperationId = &v + return s +} + +// SetStackSetName sets the StackSetName field's value. +func (s *ListStackSetOperationResultsInput) SetStackSetName(v string) *ListStackSetOperationResultsInput { + s.StackSetName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSetOperationResultsOutput +type ListStackSetOperationResultsOutput struct { + _ struct{} `type:"structure"` + + // If the request doesn't return all results, NextToken is set to a token. To + // retrieve the next set of results, call ListOperationResults again and assign + // that token to the request object's NextToken parameter. If there are no remaining + // results, NextToken is set to null. + NextToken *string `min:"1" type:"string"` + + // A list of StackSetOperationResultSummary structures that contain information + // about the specified operation results, for accounts and regions that are + // included in the operation. + Summaries []*StackSetOperationResultSummary `type:"list"` +} + +// String returns the string representation +func (s ListStackSetOperationResultsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListStackSetOperationResultsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListStackSetOperationResultsOutput) SetNextToken(v string) *ListStackSetOperationResultsOutput { + s.NextToken = &v + return s +} + +// SetSummaries sets the Summaries field's value. +func (s *ListStackSetOperationResultsOutput) SetSummaries(v []*StackSetOperationResultSummary) *ListStackSetOperationResultsOutput { + s.Summaries = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSetOperationsInput +type ListStackSetOperationsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to be returned with a single call. If the number + // of available results exceeds this maximum, the response includes a NextToken + // value that you can assign to the NextToken request parameter to get the next + // set of results. + MaxResults *int64 `min:"1" type:"integer"` + + // If the previous paginated request didn't return all of the remaining results, + // the response object's NextToken parameter value is set to a token. To retrieve + // the next set of results, call ListStackSetOperations again and assign that + // token to the request object's NextToken parameter. If there are no remaining + // results, the previous response object's NextToken parameter is set to null. + NextToken *string `min:"1" type:"string"` + + // The name or unique ID of the stack set that you want to get operation summaries + // for. + // + // StackSetName is a required field + StackSetName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ListStackSetOperationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListStackSetOperationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListStackSetOperationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListStackSetOperationsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.StackSetName == nil { + invalidParams.Add(request.NewErrParamRequired("StackSetName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListStackSetOperationsInput) SetMaxResults(v int64) *ListStackSetOperationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListStackSetOperationsInput) SetNextToken(v string) *ListStackSetOperationsInput { + s.NextToken = &v + return s +} + +// SetStackSetName sets the StackSetName field's value. +func (s *ListStackSetOperationsInput) SetStackSetName(v string) *ListStackSetOperationsInput { + s.StackSetName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSetOperationsOutput +type ListStackSetOperationsOutput struct { + _ struct{} `type:"structure"` + + // If the request doesn't return all results, NextToken is set to a token. To + // retrieve the next set of results, call ListOperationResults again and assign + // that token to the request object's NextToken parameter. If there are no remaining + // results, NextToken is set to null. + NextToken *string `min:"1" type:"string"` + + // A list of StackSetOperationSummary structures that contain summary information + // about operations for the specified stack set. + Summaries []*StackSetOperationSummary `type:"list"` +} + +// String returns the string representation +func (s ListStackSetOperationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListStackSetOperationsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListStackSetOperationsOutput) SetNextToken(v string) *ListStackSetOperationsOutput { + s.NextToken = &v + return s +} + +// SetSummaries sets the Summaries field's value. +func (s *ListStackSetOperationsOutput) SetSummaries(v []*StackSetOperationSummary) *ListStackSetOperationsOutput { + s.Summaries = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSetsInput +type ListStackSetsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to be returned with a single call. If the number + // of available results exceeds this maximum, the response includes a NextToken + // value that you can assign to the NextToken request parameter to get the next + // set of results. + MaxResults *int64 `min:"1" type:"integer"` + + // If the previous paginated request didn't return all of the remaining results, + // the response object's NextToken parameter value is set to a token. To retrieve + // the next set of results, call ListStackSets again and assign that token to + // the request object's NextToken parameter. If there are no remaining results, + // the previous response object's NextToken parameter is set to null. + NextToken *string `min:"1" type:"string"` + + // The status of the stack sets that you want to get summary information about. + Status *string `type:"string" enum:"StackSetStatus"` +} + +// String returns the string representation +func (s ListStackSetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListStackSetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListStackSetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListStackSetsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListStackSetsInput) SetMaxResults(v int64) *ListStackSetsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListStackSetsInput) SetNextToken(v string) *ListStackSetsInput { + s.NextToken = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListStackSetsInput) SetStatus(v string) *ListStackSetsInput { + s.Status = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSetsOutput +type ListStackSetsOutput struct { + _ struct{} `type:"structure"` + + // If the request doesn't return all of the remaining results, NextToken is + // set to a token. To retrieve the next set of results, call ListStackInstances + // again and assign that token to the request object's NextToken parameter. + // If the request returns all results, NextToken is set to null. + NextToken *string `min:"1" type:"string"` + + // A list of StackSetSummary structures that contain information about the user's + // stack sets. + Summaries []*StackSetSummary `type:"list"` +} + +// String returns the string representation +func (s ListStackSetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListStackSetsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListStackSetsOutput) SetNextToken(v string) *ListStackSetsOutput { + s.NextToken = &v + return s +} + +// SetSummaries sets the Summaries field's value. +func (s *ListStackSetsOutput) SetSummaries(v []*StackSetSummary) *ListStackSetsOutput { + s.Summaries = v + return s +} + // The input for ListStacks action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStacksInput type ListStacksInput struct { @@ -5394,6 +8010,9 @@ type Output struct { // User defined description associated with the output. Description *string `min:"1" type:"string"` + // The name of the export associated with the output. + ExportName *string `type:"string"` + // The key associated with the output. OutputKey *string `type:"string"` @@ -5417,6 +8036,12 @@ func (s *Output) SetDescription(v string) *Output { return s } +// SetExportName sets the ExportName field's value. +func (s *Output) SetExportName(v string) *Output { + s.ExportName = &v + return s +} + // SetOutputKey sets the OutputKey field's value. func (s *Output) SetOutputKey(v string) *Output { s.OutputKey = &v @@ -5813,6 +8438,181 @@ func (s *ResourceTargetDefinition) SetRequiresRecreation(v string) *ResourceTarg return s } +// Structure containing the rollback triggers for AWS CloudFormation to monitor +// during stack creation and updating operations, and for the specified monitoring +// period afterwards. +// +// Rollback triggers enable you to have AWS CloudFormation monitor the state +// of your application during stack creation and updating, and to roll back +// that operation if the application breaches the threshold of any of the alarms +// you've specified. For each rollback trigger you create, you specify the Cloudwatch +// alarm that CloudFormation should monitor. CloudFormation monitors the specified +// alarms during the stack create or update operation, and for the specified +// amount of time after all resources have been deployed. If any of the alarms +// goes to ALERT state during the stack operation or the monitoring period, +// CloudFormation rolls back the entire stack operation. If the monitoring period +// expires without any alarms going to ALERT state, CloudFormation proceeds +// to dispose of old resources as usual. +// +// By default, CloudFormation only rolls back stack operations if an alarm goes +// to ALERT state, not INSUFFICIENT_DATA state. To have CloudFormation roll +// back the stack operation if an alarm goes to INSUFFICIENT_DATA state as well, +// edit the CloudWatch alarm to treat missing data as breaching. For more information, +// see Configuring How CloudWatch Alarms Treats Missing Data (http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html). +// +// AWS CloudFormation does not monitor rollback triggers when it rolls back +// a stack during an update operation. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackConfiguration +type RollbackConfiguration struct { + _ struct{} `type:"structure"` + + // The amount of time, in minutes, during which CloudFormation should monitor + // all the rollback triggers after the stack creation or update operation deploys + // all necessary resources. If any of the alarms goes to ALERT state during + // the stack operation or this monitoring period, CloudFormation rolls back + // the entire stack operation. Then, for update operations, if the monitoring + // period expires without any alarms going to ALERT state CloudFormation proceeds + // to dispose of old resources as usual. + // + // If you specify a monitoring period but do not specify any rollback triggers, + // CloudFormation still waits the specified period of time before cleaning up + // old resources for update operations. You can use this monitoring period to + // perform any manual stack validation desired, and manually cancel the stack + // creation or update (using CancelUpdateStack (http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CancelUpdateStack.html), + // for example) as necessary. + // + // If you specify 0 for this parameter, CloudFormation still monitors the specified + // rollback triggers during stack creation and update operations. Then, for + // update operations, it begins disposing of old resources immediately once + // the operation completes. + MonitoringTimeInMinutes *int64 `type:"integer"` + + // The triggers to monitor during stack creation or update actions. + // + // By default, AWS CloudFormation saves the rollback triggers specified for + // a stack and applies them to any subsequent update operations for the stack, + // unless you specify otherwise. If you do specify rollback triggers for this + // parameter, those triggers replace any list of triggers previously specified + // for the stack. This means: + // + // * If you don't specify this parameter, AWS CloudFormation uses the rollback + // triggers previously specified for this stack, if any. + // + // * If you specify any rollback triggers using this parameter, you must + // specify all the triggers that you want used for this stack, even triggers + // you've specifed before (for example, when creating the stack or during + // a previous stack update). Any triggers that you don't include in the updated + // list of triggers are no longer applied to the stack. + // + // * If you specify an empty list, AWS CloudFormation removes all currently + // specified triggers. + // + // If a specified Cloudwatch alarm is missing, the entire stack operation fails + // and is rolled back. + RollbackTriggers []*RollbackTrigger `type:"list"` +} + +// String returns the string representation +func (s RollbackConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RollbackConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RollbackConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RollbackConfiguration"} + if s.RollbackTriggers != nil { + for i, v := range s.RollbackTriggers { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RollbackTriggers", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMonitoringTimeInMinutes sets the MonitoringTimeInMinutes field's value. +func (s *RollbackConfiguration) SetMonitoringTimeInMinutes(v int64) *RollbackConfiguration { + s.MonitoringTimeInMinutes = &v + return s +} + +// SetRollbackTriggers sets the RollbackTriggers field's value. +func (s *RollbackConfiguration) SetRollbackTriggers(v []*RollbackTrigger) *RollbackConfiguration { + s.RollbackTriggers = v + return s +} + +// A rollback trigger AWS CloudFormation monitors during creation and updating +// of stacks. If any of the alarms you specify goes to ALERT state during the +// stack operation or within the specified monitoring period afterwards, CloudFormation +// rolls back the entire stack operation. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackTrigger +type RollbackTrigger struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the rollback trigger. + // + // Arn is a required field + Arn *string `type:"string" required:"true"` + + // The resource type of the rollback trigger. Currently, AWS::CloudWatch::Alarm + // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html) + // is the only supported resource type. + // + // Type is a required field + Type *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s RollbackTrigger) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RollbackTrigger) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RollbackTrigger) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RollbackTrigger"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *RollbackTrigger) SetArn(v string) *RollbackTrigger { + s.Arn = &v + return s +} + +// SetType sets the Type field's value. +func (s *RollbackTrigger) SetType(v string) *RollbackTrigger { + s.Type = &v + return s +} + // The input for the SetStackPolicy action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/SetStackPolicyInput type SetStackPolicyInput struct { @@ -6023,6 +8823,9 @@ type Stack struct { // CreationTime is a required field CreationTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` + // The time the stack was deleted. + DeletionTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` + // A user-defined description associated with the stack. Description *string `min:"1" type:"string"` @@ -6033,6 +8836,15 @@ type Stack struct { // * false: enable rollback DisableRollback *bool `type:"boolean"` + // Whether termination protection is enabled for the stack. + // + // For nested stacks (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html), + // termination protection is set on the root stack and cannot be changed directly + // on the nested stack. For more information, see Protecting a Stack From Being + // Deleted (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html) + // in the AWS CloudFormation User Guide. + EnableTerminationProtection *bool `type:"boolean"` + // The time the stack was last updated. This field will only be returned if // the stack has been updated at least once. LastUpdatedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` @@ -6046,11 +8858,30 @@ type Stack struct { // A list of Parameter structures. Parameters []*Parameter `type:"list"` + // For nested stacks--stacks created as resources for another stack--the stack + // ID of the direct parent of this stack. For the first level of nested stacks, + // the root stack is also the parent stack. + // + // For more information, see Working with Nested Stacks (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) + // in the AWS CloudFormation User Guide. + ParentId *string `type:"string"` + // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) // role that is associated with the stack. During a stack operation, AWS CloudFormation // uses this role's credentials to make calls on your behalf. RoleARN *string `min:"20" type:"string"` + // The rollback triggers for AWS CloudFormation to monitor during stack creation + // and updating operations, and for the specified monitoring period afterwards. + RollbackConfiguration *RollbackConfiguration `type:"structure"` + + // For nested stacks--stacks created as resources for another stack--the stack + // ID of the the top-level stack to which the nested stack ultimately belongs. + // + // For more information, see Working with Nested Stacks (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) + // in the AWS CloudFormation User Guide. + RootId *string `type:"string"` + // Unique identifier of the stack. StackId *string `type:"string"` @@ -6102,6 +8933,12 @@ func (s *Stack) SetCreationTime(v time.Time) *Stack { return s } +// SetDeletionTime sets the DeletionTime field's value. +func (s *Stack) SetDeletionTime(v time.Time) *Stack { + s.DeletionTime = &v + return s +} + // SetDescription sets the Description field's value. func (s *Stack) SetDescription(v string) *Stack { s.Description = &v @@ -6114,6 +8951,12 @@ func (s *Stack) SetDisableRollback(v bool) *Stack { return s } +// SetEnableTerminationProtection sets the EnableTerminationProtection field's value. +func (s *Stack) SetEnableTerminationProtection(v bool) *Stack { + s.EnableTerminationProtection = &v + return s +} + // SetLastUpdatedTime sets the LastUpdatedTime field's value. func (s *Stack) SetLastUpdatedTime(v time.Time) *Stack { s.LastUpdatedTime = &v @@ -6138,12 +8981,30 @@ func (s *Stack) SetParameters(v []*Parameter) *Stack { return s } +// SetParentId sets the ParentId field's value. +func (s *Stack) SetParentId(v string) *Stack { + s.ParentId = &v + return s +} + // SetRoleARN sets the RoleARN field's value. func (s *Stack) SetRoleARN(v string) *Stack { s.RoleARN = &v return s } +// SetRollbackConfiguration sets the RollbackConfiguration field's value. +func (s *Stack) SetRollbackConfiguration(v *RollbackConfiguration) *Stack { + s.RollbackConfiguration = v + return s +} + +// SetRootId sets the RootId field's value. +func (s *Stack) SetRootId(v string) *Stack { + s.RootId = &v + return s +} + // SetStackId sets the StackId field's value. func (s *Stack) SetStackId(v string) *Stack { s.StackId = &v @@ -6187,9 +9048,16 @@ type StackEvent struct { // The token passed to the operation that generated this event. // - // For example, if you execute a CreateStack operation with the token token1, - // then all the StackEvents generated by that operation will have ClientRequestToken - // set as token1. + // All events triggered by a given stack operation are assigned the same client + // request token, which you can use to track operations. For example, if you + // execute a CreateStack operation with the token token1, then all the StackEvents + // generated by that operation will have ClientRequestToken set as token1. + // + // In the console, stack operations display the client request token on the + // Events tab. Stack operations that are initiated from the console use the + // token format Console-StackOperation-ID, which helps you easily identify the + // stack operation . For example, if you create a stack using the console, each + // stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002. ClientRequestToken *string `min:"1" type:"string"` // The unique ID of this event. @@ -6310,6 +9178,189 @@ func (s *StackEvent) SetTimestamp(v time.Time) *StackEvent { return s } +// An AWS CloudFormation stack, in a specific account and region, that's part +// of a stack set operation. A stack instance is a reference to an attempted +// or actual stack in a given account within a given region. A stack instance +// can exist without a stack—for example, if the stack couldn't be created for +// some reason. A stack instance is associated with only one stack set. Each +// stack instance contains the ID of its associated stack set, as well as the +// ID of the actual stack and the stack status. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StackInstance +type StackInstance struct { + _ struct{} `type:"structure"` + + // The name of the AWS account that the stack instance is associated with. + Account *string `type:"string"` + + // The name of the AWS region that the stack instance is associated with. + Region *string `type:"string"` + + // The ID of the stack instance. + StackId *string `type:"string"` + + // The name or unique ID of the stack set that the stack instance is associated + // with. + StackSetId *string `type:"string"` + + // The status of the stack instance, in terms of its synchronization with its + // associated stack set. + // + // * INOPERABLE: A DeleteStackInstances operation has failed and left the + // stack in an unstable state. Stacks in this state are excluded from further + // UpdateStackSet operations. You might need to perform a DeleteStackInstances + // operation, with RetainStacks set to true, to delete the stack instance, + // and then delete the stack manually. + // + // * OUTDATED: The stack isn't currently up to date with the stack set because: + // + // The associated stack failed during a CreateStackSet or UpdateStackSet operation. + // + // + // The stack was part of a CreateStackSet or UpdateStackSet operation that failed + // or was stopped before the stack was created or updated. + // + // * CURRENT: The stack is currently up to date with the stack set. + Status *string `type:"string" enum:"StackInstanceStatus"` + + // The explanation for the specific status code that is assigned to this stack + // instance. + StatusReason *string `type:"string"` +} + +// String returns the string representation +func (s StackInstance) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StackInstance) GoString() string { + return s.String() +} + +// SetAccount sets the Account field's value. +func (s *StackInstance) SetAccount(v string) *StackInstance { + s.Account = &v + return s +} + +// SetRegion sets the Region field's value. +func (s *StackInstance) SetRegion(v string) *StackInstance { + s.Region = &v + return s +} + +// SetStackId sets the StackId field's value. +func (s *StackInstance) SetStackId(v string) *StackInstance { + s.StackId = &v + return s +} + +// SetStackSetId sets the StackSetId field's value. +func (s *StackInstance) SetStackSetId(v string) *StackInstance { + s.StackSetId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *StackInstance) SetStatus(v string) *StackInstance { + s.Status = &v + return s +} + +// SetStatusReason sets the StatusReason field's value. +func (s *StackInstance) SetStatusReason(v string) *StackInstance { + s.StatusReason = &v + return s +} + +// The structure that contains summary information about a stack instance. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StackInstanceSummary +type StackInstanceSummary struct { + _ struct{} `type:"structure"` + + // The name of the AWS account that the stack instance is associated with. + Account *string `type:"string"` + + // The name of the AWS region that the stack instance is associated with. + Region *string `type:"string"` + + // The ID of the stack instance. + StackId *string `type:"string"` + + // The name or unique ID of the stack set that the stack instance is associated + // with. + StackSetId *string `type:"string"` + + // The status of the stack instance, in terms of its synchronization with its + // associated stack set. + // + // * INOPERABLE: A DeleteStackInstances operation has failed and left the + // stack in an unstable state. Stacks in this state are excluded from further + // UpdateStackSet operations. You might need to perform a DeleteStackInstances + // operation, with RetainStacks set to true, to delete the stack instance, + // and then delete the stack manually. + // + // * OUTDATED: The stack isn't currently up to date with the stack set because: + // + // The associated stack failed during a CreateStackSet or UpdateStackSet operation. + // + // + // The stack was part of a CreateStackSet or UpdateStackSet operation that failed + // or was stopped before the stack was created or updated. + // + // * CURRENT: The stack is currently up to date with the stack set. + Status *string `type:"string" enum:"StackInstanceStatus"` + + // The explanation for the specific status code assigned to this stack instance. + StatusReason *string `type:"string"` +} + +// String returns the string representation +func (s StackInstanceSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StackInstanceSummary) GoString() string { + return s.String() +} + +// SetAccount sets the Account field's value. +func (s *StackInstanceSummary) SetAccount(v string) *StackInstanceSummary { + s.Account = &v + return s +} + +// SetRegion sets the Region field's value. +func (s *StackInstanceSummary) SetRegion(v string) *StackInstanceSummary { + s.Region = &v + return s +} + +// SetStackId sets the StackId field's value. +func (s *StackInstanceSummary) SetStackId(v string) *StackInstanceSummary { + s.StackId = &v + return s +} + +// SetStackSetId sets the StackSetId field's value. +func (s *StackInstanceSummary) SetStackSetId(v string) *StackInstanceSummary { + s.StackSetId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *StackInstanceSummary) SetStatus(v string) *StackInstanceSummary { + s.Status = &v + return s +} + +// SetStatusReason sets the StatusReason field's value. +func (s *StackInstanceSummary) SetStatusReason(v string) *StackInstanceSummary { + s.StatusReason = &v + return s +} + // The StackResource data type. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StackResource type StackResource struct { @@ -6618,6 +9669,565 @@ func (s *StackResourceSummary) SetResourceType(v string) *StackResourceSummary { return s } +// A structure that contains information about a stack set. A stack set enables +// you to provision stacks into AWS accounts and across regions by using a single +// CloudFormation template. In the stack set, you specify the template to use, +// as well as any parameters and capabilities that the template requires. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StackSet +type StackSet struct { + _ struct{} `type:"structure"` + + // The capabilities that are allowed in the stack set. Some stack set templates + // might include resources that can affect permissions in your AWS account—for + // example, by creating new AWS Identity and Access Management (IAM) users. + // For more information, see Acknowledging IAM Resources in AWS CloudFormation + // Templates. (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities) + Capabilities []*string `type:"list"` + + // A description of the stack set that you specify when the stack set is created + // or updated. + Description *string `min:"1" type:"string"` + + // A list of input parameters for a stack set. + Parameters []*Parameter `type:"list"` + + // The ID of the stack set. + StackSetId *string `type:"string"` + + // The name that's associated with the stack set. + StackSetName *string `type:"string"` + + // The status of the stack set. + Status *string `type:"string" enum:"StackSetStatus"` + + // A list of tags that specify information about the stack set. A maximum number + // of 50 tags can be specified. + Tags []*Tag `type:"list"` + + // The structure that contains the body of the template that was used to create + // or update the stack set. + TemplateBody *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s StackSet) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StackSet) GoString() string { + return s.String() +} + +// SetCapabilities sets the Capabilities field's value. +func (s *StackSet) SetCapabilities(v []*string) *StackSet { + s.Capabilities = v + return s +} + +// SetDescription sets the Description field's value. +func (s *StackSet) SetDescription(v string) *StackSet { + s.Description = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *StackSet) SetParameters(v []*Parameter) *StackSet { + s.Parameters = v + return s +} + +// SetStackSetId sets the StackSetId field's value. +func (s *StackSet) SetStackSetId(v string) *StackSet { + s.StackSetId = &v + return s +} + +// SetStackSetName sets the StackSetName field's value. +func (s *StackSet) SetStackSetName(v string) *StackSet { + s.StackSetName = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *StackSet) SetStatus(v string) *StackSet { + s.Status = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *StackSet) SetTags(v []*Tag) *StackSet { + s.Tags = v + return s +} + +// SetTemplateBody sets the TemplateBody field's value. +func (s *StackSet) SetTemplateBody(v string) *StackSet { + s.TemplateBody = &v + return s +} + +// The structure that contains information about a stack set operation. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StackSetOperation +type StackSetOperation struct { + _ struct{} `type:"structure"` + + // The type of stack set operation: CREATE, UPDATE, or DELETE. Create and delete + // operations affect only the specified stack set instances that are associated + // with the specified stack set. Update operations affect both the stack set + // itself, as well as all associated stack set instances. + Action *string `type:"string" enum:"StackSetOperationAction"` + + // The time at which the operation was initiated. Note that the creation times + // for the stack set operation might differ from the creation time of the individual + // stacks themselves. This is because AWS CloudFormation needs to perform preparatory + // work for the operation, such as dispatching the work to the requested regions, + // before actually creating the first stacks. + CreationTimestamp *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + // The time at which the stack set operation ended, across all accounts and + // regions specified. Note that this doesn't necessarily mean that the stack + // set operation was successful, or even attempted, in each account or region. + EndTimestamp *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + // The unique ID of a stack set operation. + OperationId *string `min:"1" type:"string"` + + // The preferences for how AWS CloudFormation performs this stack set operation. + OperationPreferences *StackSetOperationPreferences `type:"structure"` + + // For stack set operations of action type DELETE, specifies whether to remove + // the stack instances from the specified stack set, but doesn't delete the + // stacks. You can't reassociate a retained stack, or add an existing, saved + // stack to a new stack set. + RetainStacks *bool `type:"boolean"` + + // The ID of the stack set. + StackSetId *string `type:"string"` + + // The status of the operation. + // + // * FAILED: The operation exceeded the specified failure tolerance. The + // failure tolerance value that you've set for an operation is applied for + // each region during stack create and update operations. If the number of + // failed stacks within a region exceeds the failure tolerance, the status + // of the operation in the region is set to FAILED. This in turn sets the + // status of the operation as a whole to FAILED, and AWS CloudFormation cancels + // the operation in any remaining regions. + // + // * RUNNING: The operation is currently being performed. + // + // * STOPPED: The user has cancelled the operation. + // + // * STOPPING: The operation is in the process of stopping, at user request. + // + // + // * SUCCEEDED: The operation completed creating or updating all the specified + // stacks without exceeding the failure tolerance for the operation. + Status *string `type:"string" enum:"StackSetOperationStatus"` +} + +// String returns the string representation +func (s StackSetOperation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StackSetOperation) GoString() string { + return s.String() +} + +// SetAction sets the Action field's value. +func (s *StackSetOperation) SetAction(v string) *StackSetOperation { + s.Action = &v + return s +} + +// SetCreationTimestamp sets the CreationTimestamp field's value. +func (s *StackSetOperation) SetCreationTimestamp(v time.Time) *StackSetOperation { + s.CreationTimestamp = &v + return s +} + +// SetEndTimestamp sets the EndTimestamp field's value. +func (s *StackSetOperation) SetEndTimestamp(v time.Time) *StackSetOperation { + s.EndTimestamp = &v + return s +} + +// SetOperationId sets the OperationId field's value. +func (s *StackSetOperation) SetOperationId(v string) *StackSetOperation { + s.OperationId = &v + return s +} + +// SetOperationPreferences sets the OperationPreferences field's value. +func (s *StackSetOperation) SetOperationPreferences(v *StackSetOperationPreferences) *StackSetOperation { + s.OperationPreferences = v + return s +} + +// SetRetainStacks sets the RetainStacks field's value. +func (s *StackSetOperation) SetRetainStacks(v bool) *StackSetOperation { + s.RetainStacks = &v + return s +} + +// SetStackSetId sets the StackSetId field's value. +func (s *StackSetOperation) SetStackSetId(v string) *StackSetOperation { + s.StackSetId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *StackSetOperation) SetStatus(v string) *StackSetOperation { + s.Status = &v + return s +} + +// The user-specified preferences for how AWS CloudFormation performs a stack +// set operation. +// +// For more information on maximum concurrent accounts and failure tolerance, +// see Stack set operation options (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options). +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StackSetOperationPreferences +type StackSetOperationPreferences struct { + _ struct{} `type:"structure"` + + // The number of accounts, per region, for which this operation can fail before + // AWS CloudFormation stops the operation in that region. If the operation is + // stopped in a region, AWS CloudFormation doesn't attempt the operation in + // any subsequent regions. + // + // Conditional: You must specify either FailureToleranceCount or FailureTolerancePercentage + // (but not both). + FailureToleranceCount *int64 `type:"integer"` + + // The percentage of accounts, per region, for which this stack operation can + // fail before AWS CloudFormation stops the operation in that region. If the + // operation is stopped in a region, AWS CloudFormation doesn't attempt the + // operation in any subsequent regions. + // + // When calculating the number of accounts based on the specified percentage, + // AWS CloudFormation rounds down to the next whole number. + // + // Conditional: You must specify either FailureToleranceCount or FailureTolerancePercentage, + // but not both. + FailureTolerancePercentage *int64 `type:"integer"` + + // The maximum number of accounts in which to perform this operation at one + // time. This is dependent on the value of FailureToleranceCount—MaxConcurrentCount + // is at most one more than the FailureToleranceCount . + // + // Note that this setting lets you specify the maximum for operations. For large + // deployments, under certain circumstances the actual number of accounts acted + // upon concurrently may be lower due to service throttling. + // + // Conditional: You must specify either MaxConcurrentCount or MaxConcurrentPercentage, + // but not both. + MaxConcurrentCount *int64 `min:"1" type:"integer"` + + // The maximum percentage of accounts in which to perform this operation at + // one time. + // + // When calculating the number of accounts based on the specified percentage, + // AWS CloudFormation rounds down to the next whole number. This is true except + // in cases where rounding down would result is zero. In this case, CloudFormation + // sets the number as one instead. + // + // Note that this setting lets you specify the maximum for operations. For large + // deployments, under certain circumstances the actual number of accounts acted + // upon concurrently may be lower due to service throttling. + // + // Conditional: You must specify either MaxConcurrentCount or MaxConcurrentPercentage, + // but not both. + MaxConcurrentPercentage *int64 `min:"1" type:"integer"` + + // The order of the regions in where you want to perform the stack operation. + RegionOrder []*string `type:"list"` +} + +// String returns the string representation +func (s StackSetOperationPreferences) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StackSetOperationPreferences) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StackSetOperationPreferences) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StackSetOperationPreferences"} + if s.MaxConcurrentCount != nil && *s.MaxConcurrentCount < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxConcurrentCount", 1)) + } + if s.MaxConcurrentPercentage != nil && *s.MaxConcurrentPercentage < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxConcurrentPercentage", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFailureToleranceCount sets the FailureToleranceCount field's value. +func (s *StackSetOperationPreferences) SetFailureToleranceCount(v int64) *StackSetOperationPreferences { + s.FailureToleranceCount = &v + return s +} + +// SetFailureTolerancePercentage sets the FailureTolerancePercentage field's value. +func (s *StackSetOperationPreferences) SetFailureTolerancePercentage(v int64) *StackSetOperationPreferences { + s.FailureTolerancePercentage = &v + return s +} + +// SetMaxConcurrentCount sets the MaxConcurrentCount field's value. +func (s *StackSetOperationPreferences) SetMaxConcurrentCount(v int64) *StackSetOperationPreferences { + s.MaxConcurrentCount = &v + return s +} + +// SetMaxConcurrentPercentage sets the MaxConcurrentPercentage field's value. +func (s *StackSetOperationPreferences) SetMaxConcurrentPercentage(v int64) *StackSetOperationPreferences { + s.MaxConcurrentPercentage = &v + return s +} + +// SetRegionOrder sets the RegionOrder field's value. +func (s *StackSetOperationPreferences) SetRegionOrder(v []*string) *StackSetOperationPreferences { + s.RegionOrder = v + return s +} + +// The structure that contains information about a specified operation's results +// for a given account in a given region. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StackSetOperationResultSummary +type StackSetOperationResultSummary struct { + _ struct{} `type:"structure"` + + // The name of the AWS account for this operation result. + Account *string `type:"string"` + + // The results of the account gate function AWS CloudFormation invokes, if present, + // before proceeding with stack set operations in an account + AccountGateResult *AccountGateResult `type:"structure"` + + // The name of the AWS region for this operation result. + Region *string `type:"string"` + + // The result status of the stack set operation for the given account in the + // given region. + // + // * CANCELLED: The operation in the specified account and region has been + // cancelled. This is either because a user has stopped the stack set operation, + // or because the failure tolerance of the stack set operation has been exceeded. + // + // * FAILED: The operation in the specified account and region failed. + // + // If the stack set operation fails in enough accounts within a region, the + // failure tolerance for the stack set operation as a whole might be exceeded. + // + // + // * RUNNING: The operation in the specified account and region is currently + // in progress. + // + // * PENDING: The operation in the specified account and region has yet to + // start. + // + // * SUCCEEDED: The operation in the specified account and region completed + // successfully. + Status *string `type:"string" enum:"StackSetOperationResultStatus"` + + // The reason for the assigned result status. + StatusReason *string `type:"string"` +} + +// String returns the string representation +func (s StackSetOperationResultSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StackSetOperationResultSummary) GoString() string { + return s.String() +} + +// SetAccount sets the Account field's value. +func (s *StackSetOperationResultSummary) SetAccount(v string) *StackSetOperationResultSummary { + s.Account = &v + return s +} + +// SetAccountGateResult sets the AccountGateResult field's value. +func (s *StackSetOperationResultSummary) SetAccountGateResult(v *AccountGateResult) *StackSetOperationResultSummary { + s.AccountGateResult = v + return s +} + +// SetRegion sets the Region field's value. +func (s *StackSetOperationResultSummary) SetRegion(v string) *StackSetOperationResultSummary { + s.Region = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *StackSetOperationResultSummary) SetStatus(v string) *StackSetOperationResultSummary { + s.Status = &v + return s +} + +// SetStatusReason sets the StatusReason field's value. +func (s *StackSetOperationResultSummary) SetStatusReason(v string) *StackSetOperationResultSummary { + s.StatusReason = &v + return s +} + +// The structures that contain summary information about the specified operation. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StackSetOperationSummary +type StackSetOperationSummary struct { + _ struct{} `type:"structure"` + + // The type of operation: CREATE, UPDATE, or DELETE. Create and delete operations + // affect only the specified stack instances that are associated with the specified + // stack set. Update operations affect both the stack set itself as well as + // all associated stack set instances. + Action *string `type:"string" enum:"StackSetOperationAction"` + + // The time at which the operation was initiated. Note that the creation times + // for the stack set operation might differ from the creation time of the individual + // stacks themselves. This is because AWS CloudFormation needs to perform preparatory + // work for the operation, such as dispatching the work to the requested regions, + // before actually creating the first stacks. + CreationTimestamp *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + // The time at which the stack set operation ended, across all accounts and + // regions specified. Note that this doesn't necessarily mean that the stack + // set operation was successful, or even attempted, in each account or region. + EndTimestamp *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + // The unique ID of the stack set operation. + OperationId *string `min:"1" type:"string"` + + // The overall status of the operation. + // + // * FAILED: The operation exceeded the specified failure tolerance. The + // failure tolerance value that you've set for an operation is applied for + // each region during stack create and update operations. If the number of + // failed stacks within a region exceeds the failure tolerance, the status + // of the operation in the region is set to FAILED. This in turn sets the + // status of the operation as a whole to FAILED, and AWS CloudFormation cancels + // the operation in any remaining regions. + // + // * RUNNING: The operation is currently being performed. + // + // * STOPPED: The user has cancelled the operation. + // + // * STOPPING: The operation is in the process of stopping, at user request. + // + // + // * SUCCEEDED: The operation completed creating or updating all the specified + // stacks without exceeding the failure tolerance for the operation. + Status *string `type:"string" enum:"StackSetOperationStatus"` +} + +// String returns the string representation +func (s StackSetOperationSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StackSetOperationSummary) GoString() string { + return s.String() +} + +// SetAction sets the Action field's value. +func (s *StackSetOperationSummary) SetAction(v string) *StackSetOperationSummary { + s.Action = &v + return s +} + +// SetCreationTimestamp sets the CreationTimestamp field's value. +func (s *StackSetOperationSummary) SetCreationTimestamp(v time.Time) *StackSetOperationSummary { + s.CreationTimestamp = &v + return s +} + +// SetEndTimestamp sets the EndTimestamp field's value. +func (s *StackSetOperationSummary) SetEndTimestamp(v time.Time) *StackSetOperationSummary { + s.EndTimestamp = &v + return s +} + +// SetOperationId sets the OperationId field's value. +func (s *StackSetOperationSummary) SetOperationId(v string) *StackSetOperationSummary { + s.OperationId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *StackSetOperationSummary) SetStatus(v string) *StackSetOperationSummary { + s.Status = &v + return s +} + +// The structures that contain summary information about the specified stack +// set. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StackSetSummary +type StackSetSummary struct { + _ struct{} `type:"structure"` + + // A description of the stack set that you specify when the stack set is created + // or updated. + Description *string `min:"1" type:"string"` + + // The ID of the stack set. + StackSetId *string `type:"string"` + + // The name of the stack set. + StackSetName *string `type:"string"` + + // The status of the stack set. + Status *string `type:"string" enum:"StackSetStatus"` +} + +// String returns the string representation +func (s StackSetSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StackSetSummary) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *StackSetSummary) SetDescription(v string) *StackSetSummary { + s.Description = &v + return s +} + +// SetStackSetId sets the StackSetId field's value. +func (s *StackSetSummary) SetStackSetId(v string) *StackSetSummary { + s.StackSetId = &v + return s +} + +// SetStackSetName sets the StackSetName field's value. +func (s *StackSetSummary) SetStackSetName(v string) *StackSetSummary { + s.StackSetName = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *StackSetSummary) SetStatus(v string) *StackSetSummary { + s.Status = &v + return s +} + // The StackSummary Data Type // Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StackSummary type StackSummary struct { @@ -6635,6 +10245,21 @@ type StackSummary struct { // the stack has been updated at least once. LastUpdatedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` + // For nested stacks--stacks created as resources for another stack--the stack + // ID of the direct parent of this stack. For the first level of nested stacks, + // the root stack is also the parent stack. + // + // For more information, see Working with Nested Stacks (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) + // in the AWS CloudFormation User Guide. + ParentId *string `type:"string"` + + // For nested stacks--stacks created as resources for another stack--the stack + // ID of the the top-level stack to which the nested stack ultimately belongs. + // + // For more information, see Working with Nested Stacks (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) + // in the AWS CloudFormation User Guide. + RootId *string `type:"string"` + // Unique stack identifier. StackId *string `type:"string"` @@ -6683,6 +10308,18 @@ func (s *StackSummary) SetLastUpdatedTime(v time.Time) *StackSummary { return s } +// SetParentId sets the ParentId field's value. +func (s *StackSummary) SetParentId(v string) *StackSummary { + s.ParentId = &v + return s +} + +// SetRootId sets the RootId field's value. +func (s *StackSummary) SetRootId(v string) *StackSummary { + s.RootId = &v + return s +} + // SetStackId sets the StackId field's value. func (s *StackSummary) SetStackId(v string) *StackSummary { s.StackId = &v @@ -6713,6 +10350,78 @@ func (s *StackSummary) SetTemplateDescription(v string) *StackSummary { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StopStackSetOperationInput +type StopStackSetOperationInput struct { + _ struct{} `type:"structure"` + + // The ID of the stack operation. + // + // OperationId is a required field + OperationId *string `min:"1" type:"string" required:"true"` + + // The name or unique ID of the stack set that you want to stop the operation + // for. + // + // StackSetName is a required field + StackSetName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s StopStackSetOperationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopStackSetOperationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopStackSetOperationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopStackSetOperationInput"} + if s.OperationId == nil { + invalidParams.Add(request.NewErrParamRequired("OperationId")) + } + if s.OperationId != nil && len(*s.OperationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OperationId", 1)) + } + if s.StackSetName == nil { + invalidParams.Add(request.NewErrParamRequired("StackSetName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetOperationId sets the OperationId field's value. +func (s *StopStackSetOperationInput) SetOperationId(v string) *StopStackSetOperationInput { + s.OperationId = &v + return s +} + +// SetStackSetName sets the StackSetName field's value. +func (s *StopStackSetOperationInput) SetStackSetName(v string) *StopStackSetOperationInput { + s.StackSetName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StopStackSetOperationOutput +type StopStackSetOperationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s StopStackSetOperationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopStackSetOperationOutput) GoString() string { + return s.String() +} + // The Tag type enables you to specify a key-value pair that can be used to // store information about an AWS CloudFormation stack. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/Tag @@ -6722,11 +10431,15 @@ type Tag struct { // Required. A string used to identify this tag. You can specify a maximum of // 128 characters for a tag key. Tags owned by Amazon Web Services (AWS) have // the reserved prefix: aws:. - Key *string `type:"string"` + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` // Required. A string containing the value for this tag. You can specify a maximum // of 256 characters for a tag value. - Value *string `type:"string"` + // + // Value is a required field + Value *string `min:"1" type:"string" required:"true"` } // String returns the string representation @@ -6739,6 +10452,28 @@ func (s Tag) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetKey sets the Key field's value. func (s *Tag) SetKey(v string) *Tag { s.Key = &v @@ -6839,6 +10574,17 @@ type UpdateStackInput struct { // plan to retry requests so that AWS CloudFormation knows that you're not attempting // to update a stack with the same name. You might retry UpdateStack requests // to ensure that AWS CloudFormation successfully received them. + // + // All events triggered by a given stack operation are assigned the same client + // request token, which you can use to track operations. For example, if you + // execute a CreateStack operation with the token token1, then all the StackEvents + // generated by that operation will have ClientRequestToken set as token1. + // + // In the console, stack operations display the client request token on the + // Events tab. Stack operations that are initiated from the console use the + // token format Console-StackOperation-ID, which helps you easily identify the + // stack operation . For example, if you create a stack using the console, each + // stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002. ClientRequestToken *string `min:"1" type:"string"` // Amazon Simple Notification Service topic Amazon Resource Names (ARNs) that @@ -6875,6 +10621,10 @@ type UpdateStackInput struct { // a temporary session that is generated from your user credentials. RoleARN *string `min:"20" type:"string"` + // The rollback triggers for AWS CloudFormation to monitor during stack creation + // and updating operations, and for the specified monitoring period afterwards. + RollbackConfiguration *RollbackConfiguration `type:"structure"` + // The name or unique stack ID of the stack to update. // // StackName is a required field @@ -6919,7 +10669,7 @@ type UpdateStackInput struct { // Key-value pairs to associate with this stack. AWS CloudFormation also propagates // these tags to supported resources in the stack. You can specify a maximum - // number of 10 tags. + // number of 50 tags. // // If you don't specify this parameter, AWS CloudFormation doesn't modify the // stack's tags. If you specify an empty value, AWS CloudFormation removes all @@ -6992,6 +10742,21 @@ func (s *UpdateStackInput) Validate() error { if s.TemplateURL != nil && len(*s.TemplateURL) < 1 { invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1)) } + if s.RollbackConfiguration != nil { + if err := s.RollbackConfiguration.Validate(); err != nil { + invalidParams.AddNested("RollbackConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -7035,6 +10800,12 @@ func (s *UpdateStackInput) SetRoleARN(v string) *UpdateStackInput { return s } +// SetRollbackConfiguration sets the RollbackConfiguration field's value. +func (s *UpdateStackInput) SetRollbackConfiguration(v *RollbackConfiguration) *UpdateStackInput { + s.RollbackConfiguration = v + return s +} + // SetStackName sets the StackName field's value. func (s *UpdateStackInput) SetStackName(v string) *UpdateStackInput { s.StackName = &v @@ -7114,6 +10885,343 @@ func (s *UpdateStackOutput) SetStackId(v string) *UpdateStackOutput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateStackSetInput +type UpdateStackSetInput struct { + _ struct{} `type:"structure"` + + // A list of values that you must specify before AWS CloudFormation can create + // certain stack sets. Some stack set templates might include resources that + // can affect permissions in your AWS account—for example, by creating new AWS + // Identity and Access Management (IAM) users. For those stack sets, you must + // explicitly acknowledge their capabilities by specifying this parameter. + // + // The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following + // resources require you to specify this parameter: + // + // * AWS::IAM::AccessKey + // + // * AWS::IAM::Group + // + // * AWS::IAM::InstanceProfile + // + // * AWS::IAM::Policy + // + // * AWS::IAM::Role + // + // * AWS::IAM::User + // + // * AWS::IAM::UserToGroupAddition + // + // If your stack template contains these resources, we recommend that you review + // all permissions that are associated with them and edit their permissions + // if necessary. + // + // If you have IAM resources, you can specify either capability. If you have + // IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If + // you don't specify this parameter, this action returns an InsufficientCapabilities + // error. + // + // For more information, see Acknowledging IAM Resources in AWS CloudFormation + // Templates. (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities) + Capabilities []*string `type:"list"` + + // A brief description of updates that you are making. + Description *string `min:"1" type:"string"` + + // The unique ID for this stack set operation. + // + // The operation ID also functions as an idempotency token, to ensure that AWS + // CloudFormation performs the stack set operation only once, even if you retry + // the request multiple times. You might retry stack set operation requests + // to ensure that AWS CloudFormation successfully received them. + // + // If you don't specify an operation ID, AWS CloudFormation generates one automatically. + // + // Repeating this stack set operation with a new operation ID retries all stack + // instances whose status is OUTDATED. + OperationId *string `min:"1" type:"string" idempotencyToken:"true"` + + // Preferences for how AWS CloudFormation performs this stack set operation. + OperationPreferences *StackSetOperationPreferences `type:"structure"` + + // A list of input parameters for the stack set template. + Parameters []*Parameter `type:"list"` + + // The name or unique ID of the stack set that you want to update. + // + // StackSetName is a required field + StackSetName *string `type:"string" required:"true"` + + // The key-value pairs to associate with this stack set and the stacks created + // from it. AWS CloudFormation also propagates these tags to supported resources + // that are created in the stacks. You can specify a maximum number of 50 tags. + // + // If you specify tags for this parameter, those tags replace any list of tags + // that are currently associated with this stack set. This means: + // + // * If you don't specify this parameter, AWS CloudFormation doesn't modify + // the stack's tags. + // + // * If you specify any tags using this parameter, you must specify all the + // tags that you want associated with this stack set, even tags you've specifed + // before (for example, when creating the stack set or during a previous + // update of the stack set.). Any tags that you don't include in the updated + // list of tags are removed from the stack set, and therefore from the stacks + // and resources as well. + // + // * If you specify an empty value, AWS CloudFormation removes all currently + // associated tags. + // + // If you specify new tags as part of an UpdateStackSet action, AWS CloudFormation + // checks to see if you have the required IAM permission to tag resources. If + // you omit tags that are currently associated with the stack set from the list + // of tags you specify, AWS CloudFormation assumes that you want to remove those + // tags from the stack set, and checks to see if you have permission to untag + // resources. If you don't have the necessary permission(s), the entire UpdateStackSet + // action fails with an access denied error, and the stack set is not updated. + Tags []*Tag `type:"list"` + + // The structure that contains the template body, with a minimum length of 1 + // byte and a maximum length of 51,200 bytes. For more information, see Template + // Anatomy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) + // in the AWS CloudFormation User Guide. + // + // Conditional: You must specify only one of the following parameters: TemplateBody + // or TemplateURL—or set UsePreviousTemplate to true. + TemplateBody *string `min:"1" type:"string"` + + // The location of the file that contains the template body. The URL must point + // to a template (maximum size: 460,800 bytes) that is located in an Amazon + // S3 bucket. For more information, see Template Anatomy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) + // in the AWS CloudFormation User Guide. + // + // Conditional: You must specify only one of the following parameters: TemplateBody + // or TemplateURL—or set UsePreviousTemplate to true. + TemplateURL *string `min:"1" type:"string"` + + // Use the existing template that's associated with the stack set that you're + // updating. + // + // Conditional: You must specify only one of the following parameters: TemplateBody + // or TemplateURL—or set UsePreviousTemplate to true. + UsePreviousTemplate *bool `type:"boolean"` +} + +// String returns the string representation +func (s UpdateStackSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateStackSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateStackSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateStackSetInput"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.OperationId != nil && len(*s.OperationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OperationId", 1)) + } + if s.StackSetName == nil { + invalidParams.Add(request.NewErrParamRequired("StackSetName")) + } + if s.TemplateBody != nil && len(*s.TemplateBody) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1)) + } + if s.TemplateURL != nil && len(*s.TemplateURL) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1)) + } + if s.OperationPreferences != nil { + if err := s.OperationPreferences.Validate(); err != nil { + invalidParams.AddNested("OperationPreferences", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCapabilities sets the Capabilities field's value. +func (s *UpdateStackSetInput) SetCapabilities(v []*string) *UpdateStackSetInput { + s.Capabilities = v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateStackSetInput) SetDescription(v string) *UpdateStackSetInput { + s.Description = &v + return s +} + +// SetOperationId sets the OperationId field's value. +func (s *UpdateStackSetInput) SetOperationId(v string) *UpdateStackSetInput { + s.OperationId = &v + return s +} + +// SetOperationPreferences sets the OperationPreferences field's value. +func (s *UpdateStackSetInput) SetOperationPreferences(v *StackSetOperationPreferences) *UpdateStackSetInput { + s.OperationPreferences = v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *UpdateStackSetInput) SetParameters(v []*Parameter) *UpdateStackSetInput { + s.Parameters = v + return s +} + +// SetStackSetName sets the StackSetName field's value. +func (s *UpdateStackSetInput) SetStackSetName(v string) *UpdateStackSetInput { + s.StackSetName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *UpdateStackSetInput) SetTags(v []*Tag) *UpdateStackSetInput { + s.Tags = v + return s +} + +// SetTemplateBody sets the TemplateBody field's value. +func (s *UpdateStackSetInput) SetTemplateBody(v string) *UpdateStackSetInput { + s.TemplateBody = &v + return s +} + +// SetTemplateURL sets the TemplateURL field's value. +func (s *UpdateStackSetInput) SetTemplateURL(v string) *UpdateStackSetInput { + s.TemplateURL = &v + return s +} + +// SetUsePreviousTemplate sets the UsePreviousTemplate field's value. +func (s *UpdateStackSetInput) SetUsePreviousTemplate(v bool) *UpdateStackSetInput { + s.UsePreviousTemplate = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateStackSetOutput +type UpdateStackSetOutput struct { + _ struct{} `type:"structure"` + + // The unique ID for this stack set operation. + OperationId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateStackSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateStackSetOutput) GoString() string { + return s.String() +} + +// SetOperationId sets the OperationId field's value. +func (s *UpdateStackSetOutput) SetOperationId(v string) *UpdateStackSetOutput { + s.OperationId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateTerminationProtectionInput +type UpdateTerminationProtectionInput struct { + _ struct{} `type:"structure"` + + // Whether to enable termination protection on the specified stack. + // + // EnableTerminationProtection is a required field + EnableTerminationProtection *bool `type:"boolean" required:"true"` + + // The name or unique ID of the stack for which you want to set termination + // protection. + // + // StackName is a required field + StackName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateTerminationProtectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateTerminationProtectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateTerminationProtectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateTerminationProtectionInput"} + if s.EnableTerminationProtection == nil { + invalidParams.Add(request.NewErrParamRequired("EnableTerminationProtection")) + } + if s.StackName == nil { + invalidParams.Add(request.NewErrParamRequired("StackName")) + } + if s.StackName != nil && len(*s.StackName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StackName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnableTerminationProtection sets the EnableTerminationProtection field's value. +func (s *UpdateTerminationProtectionInput) SetEnableTerminationProtection(v bool) *UpdateTerminationProtectionInput { + s.EnableTerminationProtection = &v + return s +} + +// SetStackName sets the StackName field's value. +func (s *UpdateTerminationProtectionInput) SetStackName(v string) *UpdateTerminationProtectionInput { + s.StackName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateTerminationProtectionOutput +type UpdateTerminationProtectionOutput struct { + _ struct{} `type:"structure"` + + // The unique ID of the stack. + StackId *string `type:"string"` +} + +// String returns the string representation +func (s UpdateTerminationProtectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateTerminationProtectionOutput) GoString() string { + return s.String() +} + +// SetStackId sets the StackId field's value. +func (s *UpdateTerminationProtectionOutput) SetStackId(v string) *UpdateTerminationProtectionOutput { + s.StackId = &v + return s +} + // The input for ValidateTemplate action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ValidateTemplateInput type ValidateTemplateInput struct { @@ -7245,6 +11353,17 @@ func (s *ValidateTemplateOutput) SetParameters(v []*TemplateParameter) *Validate return s } +const ( + // AccountGateStatusSucceeded is a AccountGateStatus enum value + AccountGateStatusSucceeded = "SUCCEEDED" + + // AccountGateStatusFailed is a AccountGateStatus enum value + AccountGateStatusFailed = "FAILED" + + // AccountGateStatusSkipped is a AccountGateStatus enum value + AccountGateStatusSkipped = "SKIPPED" +) + const ( // CapabilityCapabilityIam is a Capability enum value CapabilityCapabilityIam = "CAPABILITY_IAM" @@ -7432,6 +11551,70 @@ const ( ResourceStatusUpdateComplete = "UPDATE_COMPLETE" ) +const ( + // StackInstanceStatusCurrent is a StackInstanceStatus enum value + StackInstanceStatusCurrent = "CURRENT" + + // StackInstanceStatusOutdated is a StackInstanceStatus enum value + StackInstanceStatusOutdated = "OUTDATED" + + // StackInstanceStatusInoperable is a StackInstanceStatus enum value + StackInstanceStatusInoperable = "INOPERABLE" +) + +const ( + // StackSetOperationActionCreate is a StackSetOperationAction enum value + StackSetOperationActionCreate = "CREATE" + + // StackSetOperationActionUpdate is a StackSetOperationAction enum value + StackSetOperationActionUpdate = "UPDATE" + + // StackSetOperationActionDelete is a StackSetOperationAction enum value + StackSetOperationActionDelete = "DELETE" +) + +const ( + // StackSetOperationResultStatusPending is a StackSetOperationResultStatus enum value + StackSetOperationResultStatusPending = "PENDING" + + // StackSetOperationResultStatusRunning is a StackSetOperationResultStatus enum value + StackSetOperationResultStatusRunning = "RUNNING" + + // StackSetOperationResultStatusSucceeded is a StackSetOperationResultStatus enum value + StackSetOperationResultStatusSucceeded = "SUCCEEDED" + + // StackSetOperationResultStatusFailed is a StackSetOperationResultStatus enum value + StackSetOperationResultStatusFailed = "FAILED" + + // StackSetOperationResultStatusCancelled is a StackSetOperationResultStatus enum value + StackSetOperationResultStatusCancelled = "CANCELLED" +) + +const ( + // StackSetOperationStatusRunning is a StackSetOperationStatus enum value + StackSetOperationStatusRunning = "RUNNING" + + // StackSetOperationStatusSucceeded is a StackSetOperationStatus enum value + StackSetOperationStatusSucceeded = "SUCCEEDED" + + // StackSetOperationStatusFailed is a StackSetOperationStatus enum value + StackSetOperationStatusFailed = "FAILED" + + // StackSetOperationStatusStopping is a StackSetOperationStatus enum value + StackSetOperationStatusStopping = "STOPPING" + + // StackSetOperationStatusStopped is a StackSetOperationStatus enum value + StackSetOperationStatusStopped = "STOPPED" +) + +const ( + // StackSetStatusActive is a StackSetStatus enum value + StackSetStatusActive = "ACTIVE" + + // StackSetStatusDeleted is a StackSetStatus enum value + StackSetStatusDeleted = "DELETED" +) + const ( // StackStatusCreateInProgress is a StackStatus enum value StackStatusCreateInProgress = "CREATE_IN_PROGRESS" diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudformation/cloudformationiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/cloudformation/cloudformationiface/interface.go index 923e2c6b5..a9185c47a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudformation/cloudformationiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudformation/cloudformationiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS CloudFormation. @@ -76,6 +76,14 @@ type CloudFormationAPI interface { CreateStackWithContext(aws.Context, *cloudformation.CreateStackInput, ...request.Option) (*cloudformation.CreateStackOutput, error) CreateStackRequest(*cloudformation.CreateStackInput) (*request.Request, *cloudformation.CreateStackOutput) + CreateStackInstances(*cloudformation.CreateStackInstancesInput) (*cloudformation.CreateStackInstancesOutput, error) + CreateStackInstancesWithContext(aws.Context, *cloudformation.CreateStackInstancesInput, ...request.Option) (*cloudformation.CreateStackInstancesOutput, error) + CreateStackInstancesRequest(*cloudformation.CreateStackInstancesInput) (*request.Request, *cloudformation.CreateStackInstancesOutput) + + CreateStackSet(*cloudformation.CreateStackSetInput) (*cloudformation.CreateStackSetOutput, error) + CreateStackSetWithContext(aws.Context, *cloudformation.CreateStackSetInput, ...request.Option) (*cloudformation.CreateStackSetOutput, error) + CreateStackSetRequest(*cloudformation.CreateStackSetInput) (*request.Request, *cloudformation.CreateStackSetOutput) + DeleteChangeSet(*cloudformation.DeleteChangeSetInput) (*cloudformation.DeleteChangeSetOutput, error) DeleteChangeSetWithContext(aws.Context, *cloudformation.DeleteChangeSetInput, ...request.Option) (*cloudformation.DeleteChangeSetOutput, error) DeleteChangeSetRequest(*cloudformation.DeleteChangeSetInput) (*request.Request, *cloudformation.DeleteChangeSetOutput) @@ -84,6 +92,14 @@ type CloudFormationAPI interface { DeleteStackWithContext(aws.Context, *cloudformation.DeleteStackInput, ...request.Option) (*cloudformation.DeleteStackOutput, error) DeleteStackRequest(*cloudformation.DeleteStackInput) (*request.Request, *cloudformation.DeleteStackOutput) + DeleteStackInstances(*cloudformation.DeleteStackInstancesInput) (*cloudformation.DeleteStackInstancesOutput, error) + DeleteStackInstancesWithContext(aws.Context, *cloudformation.DeleteStackInstancesInput, ...request.Option) (*cloudformation.DeleteStackInstancesOutput, error) + DeleteStackInstancesRequest(*cloudformation.DeleteStackInstancesInput) (*request.Request, *cloudformation.DeleteStackInstancesOutput) + + DeleteStackSet(*cloudformation.DeleteStackSetInput) (*cloudformation.DeleteStackSetOutput, error) + DeleteStackSetWithContext(aws.Context, *cloudformation.DeleteStackSetInput, ...request.Option) (*cloudformation.DeleteStackSetOutput, error) + DeleteStackSetRequest(*cloudformation.DeleteStackSetInput) (*request.Request, *cloudformation.DeleteStackSetOutput) + DescribeAccountLimits(*cloudformation.DescribeAccountLimitsInput) (*cloudformation.DescribeAccountLimitsOutput, error) DescribeAccountLimitsWithContext(aws.Context, *cloudformation.DescribeAccountLimitsInput, ...request.Option) (*cloudformation.DescribeAccountLimitsOutput, error) DescribeAccountLimitsRequest(*cloudformation.DescribeAccountLimitsInput) (*request.Request, *cloudformation.DescribeAccountLimitsOutput) @@ -99,6 +115,10 @@ type CloudFormationAPI interface { DescribeStackEventsPages(*cloudformation.DescribeStackEventsInput, func(*cloudformation.DescribeStackEventsOutput, bool) bool) error DescribeStackEventsPagesWithContext(aws.Context, *cloudformation.DescribeStackEventsInput, func(*cloudformation.DescribeStackEventsOutput, bool) bool, ...request.Option) error + DescribeStackInstance(*cloudformation.DescribeStackInstanceInput) (*cloudformation.DescribeStackInstanceOutput, error) + DescribeStackInstanceWithContext(aws.Context, *cloudformation.DescribeStackInstanceInput, ...request.Option) (*cloudformation.DescribeStackInstanceOutput, error) + DescribeStackInstanceRequest(*cloudformation.DescribeStackInstanceInput) (*request.Request, *cloudformation.DescribeStackInstanceOutput) + DescribeStackResource(*cloudformation.DescribeStackResourceInput) (*cloudformation.DescribeStackResourceOutput, error) DescribeStackResourceWithContext(aws.Context, *cloudformation.DescribeStackResourceInput, ...request.Option) (*cloudformation.DescribeStackResourceOutput, error) DescribeStackResourceRequest(*cloudformation.DescribeStackResourceInput) (*request.Request, *cloudformation.DescribeStackResourceOutput) @@ -107,6 +127,14 @@ type CloudFormationAPI interface { DescribeStackResourcesWithContext(aws.Context, *cloudformation.DescribeStackResourcesInput, ...request.Option) (*cloudformation.DescribeStackResourcesOutput, error) DescribeStackResourcesRequest(*cloudformation.DescribeStackResourcesInput) (*request.Request, *cloudformation.DescribeStackResourcesOutput) + DescribeStackSet(*cloudformation.DescribeStackSetInput) (*cloudformation.DescribeStackSetOutput, error) + DescribeStackSetWithContext(aws.Context, *cloudformation.DescribeStackSetInput, ...request.Option) (*cloudformation.DescribeStackSetOutput, error) + DescribeStackSetRequest(*cloudformation.DescribeStackSetInput) (*request.Request, *cloudformation.DescribeStackSetOutput) + + DescribeStackSetOperation(*cloudformation.DescribeStackSetOperationInput) (*cloudformation.DescribeStackSetOperationOutput, error) + DescribeStackSetOperationWithContext(aws.Context, *cloudformation.DescribeStackSetOperationInput, ...request.Option) (*cloudformation.DescribeStackSetOperationOutput, error) + DescribeStackSetOperationRequest(*cloudformation.DescribeStackSetOperationInput) (*request.Request, *cloudformation.DescribeStackSetOperationOutput) + DescribeStacks(*cloudformation.DescribeStacksInput) (*cloudformation.DescribeStacksOutput, error) DescribeStacksWithContext(aws.Context, *cloudformation.DescribeStacksInput, ...request.Option) (*cloudformation.DescribeStacksOutput, error) DescribeStacksRequest(*cloudformation.DescribeStacksInput) (*request.Request, *cloudformation.DescribeStacksOutput) @@ -152,6 +180,10 @@ type CloudFormationAPI interface { ListImportsPages(*cloudformation.ListImportsInput, func(*cloudformation.ListImportsOutput, bool) bool) error ListImportsPagesWithContext(aws.Context, *cloudformation.ListImportsInput, func(*cloudformation.ListImportsOutput, bool) bool, ...request.Option) error + ListStackInstances(*cloudformation.ListStackInstancesInput) (*cloudformation.ListStackInstancesOutput, error) + ListStackInstancesWithContext(aws.Context, *cloudformation.ListStackInstancesInput, ...request.Option) (*cloudformation.ListStackInstancesOutput, error) + ListStackInstancesRequest(*cloudformation.ListStackInstancesInput) (*request.Request, *cloudformation.ListStackInstancesOutput) + ListStackResources(*cloudformation.ListStackResourcesInput) (*cloudformation.ListStackResourcesOutput, error) ListStackResourcesWithContext(aws.Context, *cloudformation.ListStackResourcesInput, ...request.Option) (*cloudformation.ListStackResourcesOutput, error) ListStackResourcesRequest(*cloudformation.ListStackResourcesInput) (*request.Request, *cloudformation.ListStackResourcesOutput) @@ -159,6 +191,18 @@ type CloudFormationAPI interface { ListStackResourcesPages(*cloudformation.ListStackResourcesInput, func(*cloudformation.ListStackResourcesOutput, bool) bool) error ListStackResourcesPagesWithContext(aws.Context, *cloudformation.ListStackResourcesInput, func(*cloudformation.ListStackResourcesOutput, bool) bool, ...request.Option) error + ListStackSetOperationResults(*cloudformation.ListStackSetOperationResultsInput) (*cloudformation.ListStackSetOperationResultsOutput, error) + ListStackSetOperationResultsWithContext(aws.Context, *cloudformation.ListStackSetOperationResultsInput, ...request.Option) (*cloudformation.ListStackSetOperationResultsOutput, error) + ListStackSetOperationResultsRequest(*cloudformation.ListStackSetOperationResultsInput) (*request.Request, *cloudformation.ListStackSetOperationResultsOutput) + + ListStackSetOperations(*cloudformation.ListStackSetOperationsInput) (*cloudformation.ListStackSetOperationsOutput, error) + ListStackSetOperationsWithContext(aws.Context, *cloudformation.ListStackSetOperationsInput, ...request.Option) (*cloudformation.ListStackSetOperationsOutput, error) + ListStackSetOperationsRequest(*cloudformation.ListStackSetOperationsInput) (*request.Request, *cloudformation.ListStackSetOperationsOutput) + + ListStackSets(*cloudformation.ListStackSetsInput) (*cloudformation.ListStackSetsOutput, error) + ListStackSetsWithContext(aws.Context, *cloudformation.ListStackSetsInput, ...request.Option) (*cloudformation.ListStackSetsOutput, error) + ListStackSetsRequest(*cloudformation.ListStackSetsInput) (*request.Request, *cloudformation.ListStackSetsOutput) + ListStacks(*cloudformation.ListStacksInput) (*cloudformation.ListStacksOutput, error) ListStacksWithContext(aws.Context, *cloudformation.ListStacksInput, ...request.Option) (*cloudformation.ListStacksOutput, error) ListStacksRequest(*cloudformation.ListStacksInput) (*request.Request, *cloudformation.ListStacksOutput) @@ -174,10 +218,22 @@ type CloudFormationAPI interface { SignalResourceWithContext(aws.Context, *cloudformation.SignalResourceInput, ...request.Option) (*cloudformation.SignalResourceOutput, error) SignalResourceRequest(*cloudformation.SignalResourceInput) (*request.Request, *cloudformation.SignalResourceOutput) + StopStackSetOperation(*cloudformation.StopStackSetOperationInput) (*cloudformation.StopStackSetOperationOutput, error) + StopStackSetOperationWithContext(aws.Context, *cloudformation.StopStackSetOperationInput, ...request.Option) (*cloudformation.StopStackSetOperationOutput, error) + StopStackSetOperationRequest(*cloudformation.StopStackSetOperationInput) (*request.Request, *cloudformation.StopStackSetOperationOutput) + UpdateStack(*cloudformation.UpdateStackInput) (*cloudformation.UpdateStackOutput, error) UpdateStackWithContext(aws.Context, *cloudformation.UpdateStackInput, ...request.Option) (*cloudformation.UpdateStackOutput, error) UpdateStackRequest(*cloudformation.UpdateStackInput) (*request.Request, *cloudformation.UpdateStackOutput) + UpdateStackSet(*cloudformation.UpdateStackSetInput) (*cloudformation.UpdateStackSetOutput, error) + UpdateStackSetWithContext(aws.Context, *cloudformation.UpdateStackSetInput, ...request.Option) (*cloudformation.UpdateStackSetOutput, error) + UpdateStackSetRequest(*cloudformation.UpdateStackSetInput) (*request.Request, *cloudformation.UpdateStackSetOutput) + + UpdateTerminationProtection(*cloudformation.UpdateTerminationProtectionInput) (*cloudformation.UpdateTerminationProtectionOutput, error) + UpdateTerminationProtectionWithContext(aws.Context, *cloudformation.UpdateTerminationProtectionInput, ...request.Option) (*cloudformation.UpdateTerminationProtectionOutput, error) + UpdateTerminationProtectionRequest(*cloudformation.UpdateTerminationProtectionInput) (*request.Request, *cloudformation.UpdateTerminationProtectionOutput) + ValidateTemplate(*cloudformation.ValidateTemplateInput) (*cloudformation.ValidateTemplateOutput, error) ValidateTemplateWithContext(aws.Context, *cloudformation.ValidateTemplateInput, ...request.Option) (*cloudformation.ValidateTemplateOutput, error) ValidateTemplateRequest(*cloudformation.ValidateTemplateInput) (*request.Request, *cloudformation.ValidateTemplateOutput) diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudformation/doc.go b/vendor/github.com/aws/aws-sdk-go/service/cloudformation/doc.go index 83600619a..d4f56e356 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudformation/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudformation/doc.go @@ -30,69 +30,17 @@ // // Using the Client // -// To use the client for AWS CloudFormation you will first need -// to create a new instance of it. +// To AWS CloudFormation with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := cloudformation.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS CloudFormation client CloudFormation for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/cloudformation/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CancelUpdateStack(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CancelUpdateStack result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CancelUpdateStackWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package cloudformation diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudformation/errors.go b/vendor/github.com/aws/aws-sdk-go/service/cloudformation/errors.go index 8bcf9482c..8744a3b76 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudformation/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudformation/errors.go @@ -7,7 +7,7 @@ const ( // ErrCodeAlreadyExistsException for service response error code // "AlreadyExistsException". // - // Resource with the name requested already exists. + // The resource with the name requested already exists. ErrCodeAlreadyExistsException = "AlreadyExistsException" // ErrCodeChangeSetNotFoundException for service response error code @@ -17,27 +17,93 @@ const ( // for a stack, use the ListChangeSets action. ErrCodeChangeSetNotFoundException = "ChangeSetNotFound" + // ErrCodeCreatedButModifiedException for service response error code + // "CreatedButModifiedException". + // + // The specified resource exists, but has been changed. + ErrCodeCreatedButModifiedException = "CreatedButModifiedException" + // ErrCodeInsufficientCapabilitiesException for service response error code // "InsufficientCapabilitiesException". // - // The template contains resources with capabilities that were not specified + // The template contains resources with capabilities that weren't specified // in the Capabilities parameter. ErrCodeInsufficientCapabilitiesException = "InsufficientCapabilitiesException" // ErrCodeInvalidChangeSetStatusException for service response error code // "InvalidChangeSetStatus". // - // The specified change set cannot be used to update the stack. For example, - // the change set status might be CREATE_IN_PROGRESS or the stack status might + // The specified change set can't be used to update the stack. For example, + // the change set status might be CREATE_IN_PROGRESS, or the stack status might // be UPDATE_IN_PROGRESS. ErrCodeInvalidChangeSetStatusException = "InvalidChangeSetStatus" + // ErrCodeInvalidOperationException for service response error code + // "InvalidOperationException". + // + // The specified operation isn't valid. + ErrCodeInvalidOperationException = "InvalidOperationException" + // ErrCodeLimitExceededException for service response error code // "LimitExceededException". // - // Quota for the resource has already been reached. + // The quota for the resource has already been reached. + // + // For information on stack set limitations, see Limitations of StackSets (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-limitations.html). ErrCodeLimitExceededException = "LimitExceededException" + // ErrCodeNameAlreadyExistsException for service response error code + // "NameAlreadyExistsException". + // + // The specified name is already in use. + ErrCodeNameAlreadyExistsException = "NameAlreadyExistsException" + + // ErrCodeOperationIdAlreadyExistsException for service response error code + // "OperationIdAlreadyExistsException". + // + // The specified operation ID already exists. + ErrCodeOperationIdAlreadyExistsException = "OperationIdAlreadyExistsException" + + // ErrCodeOperationInProgressException for service response error code + // "OperationInProgressException". + // + // Another operation is currently in progress for this stack set. Only one operation + // can be performed for a stack set at a given time. + ErrCodeOperationInProgressException = "OperationInProgressException" + + // ErrCodeOperationNotFoundException for service response error code + // "OperationNotFoundException". + // + // The specified ID refers to an operation that doesn't exist. + ErrCodeOperationNotFoundException = "OperationNotFoundException" + + // ErrCodeStackInstanceNotFoundException for service response error code + // "StackInstanceNotFoundException". + // + // The specified stack instance doesn't exist. + ErrCodeStackInstanceNotFoundException = "StackInstanceNotFoundException" + + // ErrCodeStackSetNotEmptyException for service response error code + // "StackSetNotEmptyException". + // + // You can't yet delete this stack set, because it still contains one or more + // stack instances. Delete all stack instances from the stack set before deleting + // the stack set. + ErrCodeStackSetNotEmptyException = "StackSetNotEmptyException" + + // ErrCodeStackSetNotFoundException for service response error code + // "StackSetNotFoundException". + // + // The specified stack set doesn't exist. + ErrCodeStackSetNotFoundException = "StackSetNotFoundException" + + // ErrCodeStaleRequestException for service response error code + // "StaleRequestException". + // + // Another operation has been performed on this stack set since the specified + // operation was performed. + ErrCodeStaleRequestException = "StaleRequestException" + // ErrCodeTokenAlreadyExistsException for service response error code // "TokenAlreadyExistsException". // diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudformation/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/cloudformation/waiters.go index e4454d381..afe8a1b2e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudformation/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudformation/waiters.go @@ -11,7 +11,7 @@ import ( // WaitUntilChangeSetCreateComplete uses the AWS CloudFormation API operation // DescribeChangeSet to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *CloudFormation) WaitUntilChangeSetCreateComplete(input *DescribeChangeSetInput) error { return c.WaitUntilChangeSetCreateCompleteWithContext(aws.BackgroundContext(), input) @@ -67,7 +67,7 @@ func (c *CloudFormation) WaitUntilChangeSetCreateCompleteWithContext(ctx aws.Con // WaitUntilStackCreateComplete uses the AWS CloudFormation API operation // DescribeStacks to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *CloudFormation) WaitUntilStackCreateComplete(input *DescribeStacksInput) error { return c.WaitUntilStackCreateCompleteWithContext(aws.BackgroundContext(), input) @@ -143,7 +143,7 @@ func (c *CloudFormation) WaitUntilStackCreateCompleteWithContext(ctx aws.Context // WaitUntilStackDeleteComplete uses the AWS CloudFormation API operation // DescribeStacks to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *CloudFormation) WaitUntilStackDeleteComplete(input *DescribeStacksInput) error { return c.WaitUntilStackDeleteCompleteWithContext(aws.BackgroundContext(), input) @@ -219,7 +219,7 @@ func (c *CloudFormation) WaitUntilStackDeleteCompleteWithContext(ctx aws.Context // WaitUntilStackExists uses the AWS CloudFormation API operation // DescribeStacks to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *CloudFormation) WaitUntilStackExists(input *DescribeStacksInput) error { return c.WaitUntilStackExistsWithContext(aws.BackgroundContext(), input) @@ -270,7 +270,7 @@ func (c *CloudFormation) WaitUntilStackExistsWithContext(ctx aws.Context, input // WaitUntilStackUpdateComplete uses the AWS CloudFormation API operation // DescribeStacks to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *CloudFormation) WaitUntilStackUpdateComplete(input *DescribeStacksInput) error { return c.WaitUntilStackUpdateCompleteWithContext(aws.BackgroundContext(), input) diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/api.go index 64967fa70..8e802dc16 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/api.go @@ -17,19 +17,18 @@ const opCreateCloudFrontOriginAccessIdentity = "CreateCloudFrontOriginAccessIden // CreateCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the // client's request for the CreateCloudFrontOriginAccessIdentity operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateCloudFrontOriginAccessIdentity for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateCloudFrontOriginAccessIdentity method directly -// instead. +// See CreateCloudFrontOriginAccessIdentity for more information on using the CreateCloudFrontOriginAccessIdentity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateCloudFrontOriginAccessIdentityRequest method. // req, resp := client.CreateCloudFrontOriginAccessIdentityRequest(params) @@ -119,19 +118,18 @@ const opCreateDistribution = "CreateDistribution2017_03_25" // CreateDistributionRequest generates a "aws/request.Request" representing the // client's request for the CreateDistribution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDistribution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDistribution method directly -// instead. +// See CreateDistribution for more information on using the CreateDistribution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDistributionRequest method. // req, resp := client.CreateDistributionRequest(params) @@ -315,19 +313,18 @@ const opCreateDistributionWithTags = "CreateDistributionWithTags2017_03_25" // CreateDistributionWithTagsRequest generates a "aws/request.Request" representing the // client's request for the CreateDistributionWithTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDistributionWithTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDistributionWithTags method directly -// instead. +// See CreateDistributionWithTags for more information on using the CreateDistributionWithTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDistributionWithTagsRequest method. // req, resp := client.CreateDistributionWithTagsRequest(params) @@ -512,19 +509,18 @@ const opCreateInvalidation = "CreateInvalidation2017_03_25" // CreateInvalidationRequest generates a "aws/request.Request" representing the // client's request for the CreateInvalidation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateInvalidation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateInvalidation method directly -// instead. +// See CreateInvalidation for more information on using the CreateInvalidation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateInvalidationRequest method. // req, resp := client.CreateInvalidationRequest(params) @@ -611,19 +607,18 @@ const opCreateStreamingDistribution = "CreateStreamingDistribution2017_03_25" // CreateStreamingDistributionRequest generates a "aws/request.Request" representing the // client's request for the CreateStreamingDistribution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateStreamingDistribution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateStreamingDistribution method directly -// instead. +// See CreateStreamingDistribution for more information on using the CreateStreamingDistribution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateStreamingDistributionRequest method. // req, resp := client.CreateStreamingDistributionRequest(params) @@ -751,19 +746,18 @@ const opCreateStreamingDistributionWithTags = "CreateStreamingDistributionWithTa // CreateStreamingDistributionWithTagsRequest generates a "aws/request.Request" representing the // client's request for the CreateStreamingDistributionWithTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateStreamingDistributionWithTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateStreamingDistributionWithTags method directly -// instead. +// See CreateStreamingDistributionWithTags for more information on using the CreateStreamingDistributionWithTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateStreamingDistributionWithTagsRequest method. // req, resp := client.CreateStreamingDistributionWithTagsRequest(params) @@ -866,19 +860,18 @@ const opDeleteCloudFrontOriginAccessIdentity = "DeleteCloudFrontOriginAccessIden // DeleteCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the // client's request for the DeleteCloudFrontOriginAccessIdentity operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteCloudFrontOriginAccessIdentity for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteCloudFrontOriginAccessIdentity method directly -// instead. +// See DeleteCloudFrontOriginAccessIdentity for more information on using the DeleteCloudFrontOriginAccessIdentity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteCloudFrontOriginAccessIdentityRequest method. // req, resp := client.DeleteCloudFrontOriginAccessIdentityRequest(params) @@ -960,19 +953,18 @@ const opDeleteDistribution = "DeleteDistribution2017_03_25" // DeleteDistributionRequest generates a "aws/request.Request" representing the // client's request for the DeleteDistribution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDistribution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDistribution method directly -// instead. +// See DeleteDistribution for more information on using the DeleteDistribution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDistributionRequest method. // req, resp := client.DeleteDistributionRequest(params) @@ -1054,19 +1046,18 @@ const opDeleteStreamingDistribution = "DeleteStreamingDistribution2017_03_25" // DeleteStreamingDistributionRequest generates a "aws/request.Request" representing the // client's request for the DeleteStreamingDistribution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteStreamingDistribution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteStreamingDistribution method directly -// instead. +// See DeleteStreamingDistribution for more information on using the DeleteStreamingDistribution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteStreamingDistributionRequest method. // req, resp := client.DeleteStreamingDistributionRequest(params) @@ -1183,19 +1174,18 @@ const opGetCloudFrontOriginAccessIdentity = "GetCloudFrontOriginAccessIdentity20 // GetCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the // client's request for the GetCloudFrontOriginAccessIdentity operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetCloudFrontOriginAccessIdentity for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetCloudFrontOriginAccessIdentity method directly -// instead. +// See GetCloudFrontOriginAccessIdentity for more information on using the GetCloudFrontOriginAccessIdentity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetCloudFrontOriginAccessIdentityRequest method. // req, resp := client.GetCloudFrontOriginAccessIdentityRequest(params) @@ -1266,19 +1256,18 @@ const opGetCloudFrontOriginAccessIdentityConfig = "GetCloudFrontOriginAccessIden // GetCloudFrontOriginAccessIdentityConfigRequest generates a "aws/request.Request" representing the // client's request for the GetCloudFrontOriginAccessIdentityConfig operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetCloudFrontOriginAccessIdentityConfig for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetCloudFrontOriginAccessIdentityConfig method directly -// instead. +// See GetCloudFrontOriginAccessIdentityConfig for more information on using the GetCloudFrontOriginAccessIdentityConfig +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetCloudFrontOriginAccessIdentityConfigRequest method. // req, resp := client.GetCloudFrontOriginAccessIdentityConfigRequest(params) @@ -1349,19 +1338,18 @@ const opGetDistribution = "GetDistribution2017_03_25" // GetDistributionRequest generates a "aws/request.Request" representing the // client's request for the GetDistribution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDistribution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDistribution method directly -// instead. +// See GetDistribution for more information on using the GetDistribution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDistributionRequest method. // req, resp := client.GetDistributionRequest(params) @@ -1432,19 +1420,18 @@ const opGetDistributionConfig = "GetDistributionConfig2017_03_25" // GetDistributionConfigRequest generates a "aws/request.Request" representing the // client's request for the GetDistributionConfig operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDistributionConfig for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDistributionConfig method directly -// instead. +// See GetDistributionConfig for more information on using the GetDistributionConfig +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDistributionConfigRequest method. // req, resp := client.GetDistributionConfigRequest(params) @@ -1515,19 +1502,18 @@ const opGetInvalidation = "GetInvalidation2017_03_25" // GetInvalidationRequest generates a "aws/request.Request" representing the // client's request for the GetInvalidation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetInvalidation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetInvalidation method directly -// instead. +// See GetInvalidation for more information on using the GetInvalidation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetInvalidationRequest method. // req, resp := client.GetInvalidationRequest(params) @@ -1601,19 +1587,18 @@ const opGetStreamingDistribution = "GetStreamingDistribution2017_03_25" // GetStreamingDistributionRequest generates a "aws/request.Request" representing the // client's request for the GetStreamingDistribution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetStreamingDistribution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetStreamingDistribution method directly -// instead. +// See GetStreamingDistribution for more information on using the GetStreamingDistribution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetStreamingDistributionRequest method. // req, resp := client.GetStreamingDistributionRequest(params) @@ -1685,19 +1670,18 @@ const opGetStreamingDistributionConfig = "GetStreamingDistributionConfig2017_03_ // GetStreamingDistributionConfigRequest generates a "aws/request.Request" representing the // client's request for the GetStreamingDistributionConfig operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetStreamingDistributionConfig for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetStreamingDistributionConfig method directly -// instead. +// See GetStreamingDistributionConfig for more information on using the GetStreamingDistributionConfig +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetStreamingDistributionConfigRequest method. // req, resp := client.GetStreamingDistributionConfigRequest(params) @@ -1768,19 +1752,18 @@ const opListCloudFrontOriginAccessIdentities = "ListCloudFrontOriginAccessIdenti // ListCloudFrontOriginAccessIdentitiesRequest generates a "aws/request.Request" representing the // client's request for the ListCloudFrontOriginAccessIdentities operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListCloudFrontOriginAccessIdentities for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListCloudFrontOriginAccessIdentities method directly -// instead. +// See ListCloudFrontOriginAccessIdentities for more information on using the ListCloudFrontOriginAccessIdentities +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListCloudFrontOriginAccessIdentitiesRequest method. // req, resp := client.ListCloudFrontOriginAccessIdentitiesRequest(params) @@ -1904,19 +1887,18 @@ const opListDistributions = "ListDistributions2017_03_25" // ListDistributionsRequest generates a "aws/request.Request" representing the // client's request for the ListDistributions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDistributions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDistributions method directly -// instead. +// See ListDistributions for more information on using the ListDistributions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDistributionsRequest method. // req, resp := client.ListDistributionsRequest(params) @@ -2040,19 +2022,18 @@ const opListDistributionsByWebACLId = "ListDistributionsByWebACLId2017_03_25" // ListDistributionsByWebACLIdRequest generates a "aws/request.Request" representing the // client's request for the ListDistributionsByWebACLId operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDistributionsByWebACLId for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDistributionsByWebACLId method directly -// instead. +// See ListDistributionsByWebACLId for more information on using the ListDistributionsByWebACLId +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDistributionsByWebACLIdRequest method. // req, resp := client.ListDistributionsByWebACLIdRequest(params) @@ -2122,19 +2103,18 @@ const opListInvalidations = "ListInvalidations2017_03_25" // ListInvalidationsRequest generates a "aws/request.Request" representing the // client's request for the ListInvalidations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListInvalidations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListInvalidations method directly -// instead. +// See ListInvalidations for more information on using the ListInvalidations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListInvalidationsRequest method. // req, resp := client.ListInvalidationsRequest(params) @@ -2264,19 +2244,18 @@ const opListStreamingDistributions = "ListStreamingDistributions2017_03_25" // ListStreamingDistributionsRequest generates a "aws/request.Request" representing the // client's request for the ListStreamingDistributions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListStreamingDistributions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListStreamingDistributions method directly -// instead. +// See ListStreamingDistributions for more information on using the ListStreamingDistributions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListStreamingDistributionsRequest method. // req, resp := client.ListStreamingDistributionsRequest(params) @@ -2400,19 +2379,18 @@ const opListTagsForResource = "ListTagsForResource2017_03_25" // ListTagsForResourceRequest generates a "aws/request.Request" representing the // client's request for the ListTagsForResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTagsForResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTagsForResource method directly -// instead. +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTagsForResourceRequest method. // req, resp := client.ListTagsForResourceRequest(params) @@ -2487,19 +2465,18 @@ const opTagResource = "TagResource2017_03_25" // TagResourceRequest generates a "aws/request.Request" representing the // client's request for the TagResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TagResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TagResource method directly -// instead. +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TagResourceRequest method. // req, resp := client.TagResourceRequest(params) @@ -2576,19 +2553,18 @@ const opUntagResource = "UntagResource2017_03_25" // UntagResourceRequest generates a "aws/request.Request" representing the // client's request for the UntagResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UntagResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UntagResource method directly -// instead. +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UntagResourceRequest method. // req, resp := client.UntagResourceRequest(params) @@ -2665,19 +2641,18 @@ const opUpdateCloudFrontOriginAccessIdentity = "UpdateCloudFrontOriginAccessIden // UpdateCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the // client's request for the UpdateCloudFrontOriginAccessIdentity operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateCloudFrontOriginAccessIdentity for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateCloudFrontOriginAccessIdentity method directly -// instead. +// See UpdateCloudFrontOriginAccessIdentity for more information on using the UpdateCloudFrontOriginAccessIdentity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateCloudFrontOriginAccessIdentityRequest method. // req, resp := client.UpdateCloudFrontOriginAccessIdentityRequest(params) @@ -2768,19 +2743,18 @@ const opUpdateDistribution = "UpdateDistribution2017_03_25" // UpdateDistributionRequest generates a "aws/request.Request" representing the // client's request for the UpdateDistribution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateDistribution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateDistribution method directly -// instead. +// See UpdateDistribution for more information on using the UpdateDistribution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateDistributionRequest method. // req, resp := client.UpdateDistributionRequest(params) @@ -3009,19 +2983,18 @@ const opUpdateStreamingDistribution = "UpdateStreamingDistribution2017_03_25" // UpdateStreamingDistributionRequest generates a "aws/request.Request" representing the // client's request for the UpdateStreamingDistribution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateStreamingDistribution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateStreamingDistribution method directly -// instead. +// See UpdateStreamingDistribution for more information on using the UpdateStreamingDistribution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateStreamingDistributionRequest method. // req, resp := client.UpdateStreamingDistributionRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/cloudfrontiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/cloudfrontiface/interface.go index 944b5d13e..96cac44e6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/cloudfrontiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/cloudfrontiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon CloudFront. diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/doc.go b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/doc.go index 0865a9097..7dda612a9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/doc.go @@ -15,69 +15,17 @@ // // Using the Client // -// To use the client for Amazon CloudFront you will first need -// to create a new instance of it. +// To Amazon CloudFront with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := cloudfront.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon CloudFront client CloudFront for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/cloudfront/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CreateCloudFrontOriginAccessIdentity(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CreateCloudFrontOriginAccessIdentity result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CreateCloudFrontOriginAccessIdentityWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package cloudfront diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/sign/sign_cookie_test.go b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/sign/sign_cookie_test.go index 3bcd8672f..16559f829 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/sign/sign_cookie_test.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/sign/sign_cookie_test.go @@ -4,8 +4,6 @@ import ( "crypto/rsa" "testing" "time" - - "github.com/stretchr/testify/assert" ) func TestNewCookieSigner(t *testing.T) { @@ -15,26 +13,42 @@ func TestNewCookieSigner(t *testing.T) { } signer := NewCookieSigner("keyID", privKey) - assert.Equal(t, "keyID", signer.keyID) - assert.Equal(t, privKey, signer.privKey) + if e, a := "keyID", signer.keyID; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := privKey, signer.privKey; e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestSignCookie(t *testing.T) { privKey, err := rsa.GenerateKey(randReader, 1024) - assert.NoError(t, err) + if err != nil { + t.Errorf("expect no error, got %v", err) + } signer := NewCookieSigner("keyID", privKey) cookies, err := signer.Sign("http*://*", time.Now().Add(1*time.Hour)) - assert.NoError(t, err) - assert.Equal(t, CookiePolicyName, cookies[0].Name) - assert.Equal(t, CookieSignatureName, cookies[1].Name) - assert.Equal(t, CookieKeyIDName, cookies[2].Name) + if err != nil { + t.Errorf("expect no error, got %v", err) + } + if e, a := CookiePolicyName, cookies[0].Name; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := CookieSignatureName, cookies[1].Name; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := CookieKeyIDName, cookies[2].Name; e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestSignCookie_WithPolicy(t *testing.T) { privKey, err := rsa.GenerateKey(randReader, 1024) - assert.NoError(t, err) + if err != nil { + t.Errorf("expect no error, got %v", err) + } p := &Policy{ Statements: []Statement{ @@ -50,15 +64,25 @@ func TestSignCookie_WithPolicy(t *testing.T) { signer := NewCookieSigner("keyID", privKey) cookies, err := signer.SignWithPolicy(p) - assert.NoError(t, err) - assert.Equal(t, CookiePolicyName, cookies[0].Name) - assert.Equal(t, CookieSignatureName, cookies[1].Name) - assert.Equal(t, CookieKeyIDName, cookies[2].Name) + if err != nil { + t.Errorf("expect no error, got %v", err) + } + if e, a := CookiePolicyName, cookies[0].Name; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := CookieSignatureName, cookies[1].Name; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := CookieKeyIDName, cookies[2].Name; e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestSignCookie_WithCookieOptions(t *testing.T) { privKey, err := rsa.GenerateKey(randReader, 1024) - assert.NoError(t, err) + if err != nil { + t.Errorf("expect no error, got %v", err) + } expires := time.Now().Add(1 * time.Hour) @@ -70,14 +94,28 @@ func TestSignCookie_WithCookieOptions(t *testing.T) { }) - assert.NoError(t, err) - assert.Equal(t, CookiePolicyName, cookies[0].Name) - assert.Equal(t, CookieSignatureName, cookies[1].Name) - assert.Equal(t, CookieKeyIDName, cookies[2].Name) + if err != nil { + t.Errorf("expect no error, got %v", err) + } + if e, a := CookiePolicyName, cookies[0].Name; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := CookieSignatureName, cookies[1].Name; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := CookieKeyIDName, cookies[2].Name; e != a { + t.Errorf("expect %v, got %v", e, a) + } for _, c := range cookies { - assert.Equal(t, "/", c.Path) - assert.Equal(t, ".example.com", c.Domain) - assert.True(t, c.Secure) + if e, a := "/", c.Path; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := ".example.com", c.Domain; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if !c.Secure { + t.Errorf("expect to be true") + } } } diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/waiters.go index c8d4b14da..6ccd0cee4 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/waiters.go @@ -11,7 +11,7 @@ import ( // WaitUntilDistributionDeployed uses the CloudFront API operation // GetDistribution to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *CloudFront) WaitUntilDistributionDeployed(input *GetDistributionInput) error { return c.WaitUntilDistributionDeployedWithContext(aws.BackgroundContext(), input) @@ -57,7 +57,7 @@ func (c *CloudFront) WaitUntilDistributionDeployedWithContext(ctx aws.Context, i // WaitUntilInvalidationCompleted uses the CloudFront API operation // GetInvalidation to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *CloudFront) WaitUntilInvalidationCompleted(input *GetInvalidationInput) error { return c.WaitUntilInvalidationCompletedWithContext(aws.BackgroundContext(), input) @@ -103,7 +103,7 @@ func (c *CloudFront) WaitUntilInvalidationCompletedWithContext(ctx aws.Context, // WaitUntilStreamingDistributionDeployed uses the CloudFront API operation // GetStreamingDistribution to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *CloudFront) WaitUntilStreamingDistributionDeployed(input *GetStreamingDistributionInput) error { return c.WaitUntilStreamingDistributionDeployedWithContext(aws.BackgroundContext(), input) diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudhsm/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudhsm/api.go index c0cf33d3f..314ee96ec 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudhsm/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudhsm/api.go @@ -14,19 +14,18 @@ const opAddTagsToResource = "AddTagsToResource" // AddTagsToResourceRequest generates a "aws/request.Request" representing the // client's request for the AddTagsToResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddTagsToResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddTagsToResource method directly -// instead. +// See AddTagsToResource for more information on using the AddTagsToResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddTagsToResourceRequest method. // req, resp := client.AddTagsToResourceRequest(params) @@ -102,19 +101,18 @@ const opCreateHapg = "CreateHapg" // CreateHapgRequest generates a "aws/request.Request" representing the // client's request for the CreateHapg operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateHapg for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateHapg method directly -// instead. +// See CreateHapg for more information on using the CreateHapg +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateHapgRequest method. // req, resp := client.CreateHapgRequest(params) @@ -189,19 +187,18 @@ const opCreateHsm = "CreateHsm" // CreateHsmRequest generates a "aws/request.Request" representing the // client's request for the CreateHsm operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateHsm for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateHsm method directly -// instead. +// See CreateHsm for more information on using the CreateHsm +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateHsmRequest method. // req, resp := client.CreateHsmRequest(params) @@ -285,19 +282,18 @@ const opCreateLunaClient = "CreateLunaClient" // CreateLunaClientRequest generates a "aws/request.Request" representing the // client's request for the CreateLunaClient operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateLunaClient for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateLunaClient method directly -// instead. +// See CreateLunaClient for more information on using the CreateLunaClient +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateLunaClientRequest method. // req, resp := client.CreateLunaClientRequest(params) @@ -371,19 +367,18 @@ const opDeleteHapg = "DeleteHapg" // DeleteHapgRequest generates a "aws/request.Request" representing the // client's request for the DeleteHapg operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteHapg for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteHapg method directly -// instead. +// See DeleteHapg for more information on using the DeleteHapg +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteHapgRequest method. // req, resp := client.DeleteHapgRequest(params) @@ -457,19 +452,18 @@ const opDeleteHsm = "DeleteHsm" // DeleteHsmRequest generates a "aws/request.Request" representing the // client's request for the DeleteHsm operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteHsm for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteHsm method directly -// instead. +// See DeleteHsm for more information on using the DeleteHsm +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteHsmRequest method. // req, resp := client.DeleteHsmRequest(params) @@ -544,19 +538,18 @@ const opDeleteLunaClient = "DeleteLunaClient" // DeleteLunaClientRequest generates a "aws/request.Request" representing the // client's request for the DeleteLunaClient operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteLunaClient for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteLunaClient method directly -// instead. +// See DeleteLunaClient for more information on using the DeleteLunaClient +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteLunaClientRequest method. // req, resp := client.DeleteLunaClientRequest(params) @@ -630,19 +623,18 @@ const opDescribeHapg = "DescribeHapg" // DescribeHapgRequest generates a "aws/request.Request" representing the // client's request for the DescribeHapg operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeHapg for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeHapg method directly -// instead. +// See DescribeHapg for more information on using the DescribeHapg +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeHapgRequest method. // req, resp := client.DescribeHapgRequest(params) @@ -716,19 +708,18 @@ const opDescribeHsm = "DescribeHsm" // DescribeHsmRequest generates a "aws/request.Request" representing the // client's request for the DescribeHsm operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeHsm for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeHsm method directly -// instead. +// See DescribeHsm for more information on using the DescribeHsm +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeHsmRequest method. // req, resp := client.DescribeHsmRequest(params) @@ -803,19 +794,18 @@ const opDescribeLunaClient = "DescribeLunaClient" // DescribeLunaClientRequest generates a "aws/request.Request" representing the // client's request for the DescribeLunaClient operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeLunaClient for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeLunaClient method directly -// instead. +// See DescribeLunaClient for more information on using the DescribeLunaClient +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeLunaClientRequest method. // req, resp := client.DescribeLunaClientRequest(params) @@ -889,19 +879,18 @@ const opGetConfig = "GetConfig" // GetConfigRequest generates a "aws/request.Request" representing the // client's request for the GetConfig operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetConfig for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetConfig method directly -// instead. +// See GetConfig for more information on using the GetConfig +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetConfigRequest method. // req, resp := client.GetConfigRequest(params) @@ -976,19 +965,18 @@ const opListAvailableZones = "ListAvailableZones" // ListAvailableZonesRequest generates a "aws/request.Request" representing the // client's request for the ListAvailableZones operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAvailableZones for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAvailableZones method directly -// instead. +// See ListAvailableZones for more information on using the ListAvailableZones +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAvailableZonesRequest method. // req, resp := client.ListAvailableZonesRequest(params) @@ -1062,19 +1050,18 @@ const opListHapgs = "ListHapgs" // ListHapgsRequest generates a "aws/request.Request" representing the // client's request for the ListHapgs operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListHapgs for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListHapgs method directly -// instead. +// See ListHapgs for more information on using the ListHapgs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListHapgsRequest method. // req, resp := client.ListHapgsRequest(params) @@ -1153,19 +1140,18 @@ const opListHsms = "ListHsms" // ListHsmsRequest generates a "aws/request.Request" representing the // client's request for the ListHsms operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListHsms for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListHsms method directly -// instead. +// See ListHsms for more information on using the ListHsms +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListHsmsRequest method. // req, resp := client.ListHsmsRequest(params) @@ -1245,19 +1231,18 @@ const opListLunaClients = "ListLunaClients" // ListLunaClientsRequest generates a "aws/request.Request" representing the // client's request for the ListLunaClients operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListLunaClients for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListLunaClients method directly -// instead. +// See ListLunaClients for more information on using the ListLunaClients +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListLunaClientsRequest method. // req, resp := client.ListLunaClientsRequest(params) @@ -1336,19 +1321,18 @@ const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the // client's request for the ListTagsForResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTagsForResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTagsForResource method directly -// instead. +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTagsForResourceRequest method. // req, resp := client.ListTagsForResourceRequest(params) @@ -1422,19 +1406,18 @@ const opModifyHapg = "ModifyHapg" // ModifyHapgRequest generates a "aws/request.Request" representing the // client's request for the ModifyHapg operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyHapg for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyHapg method directly -// instead. +// See ModifyHapg for more information on using the ModifyHapg +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyHapgRequest method. // req, resp := client.ModifyHapgRequest(params) @@ -1508,19 +1491,18 @@ const opModifyHsm = "ModifyHsm" // ModifyHsmRequest generates a "aws/request.Request" representing the // client's request for the ModifyHsm operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyHsm for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyHsm method directly -// instead. +// See ModifyHsm for more information on using the ModifyHsm +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyHsmRequest method. // req, resp := client.ModifyHsmRequest(params) @@ -1600,19 +1582,18 @@ const opModifyLunaClient = "ModifyLunaClient" // ModifyLunaClientRequest generates a "aws/request.Request" representing the // client's request for the ModifyLunaClient operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyLunaClient for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyLunaClient method directly -// instead. +// See ModifyLunaClient for more information on using the ModifyLunaClient +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyLunaClientRequest method. // req, resp := client.ModifyLunaClientRequest(params) @@ -1683,19 +1664,18 @@ const opRemoveTagsFromResource = "RemoveTagsFromResource" // RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the // client's request for the RemoveTagsFromResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveTagsFromResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveTagsFromResource method directly -// instead. +// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveTagsFromResourceRequest method. // req, resp := client.RemoveTagsFromResourceRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudhsm/cloudhsmiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/cloudhsm/cloudhsmiface/interface.go index eca5bba85..bc461c664 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudhsm/cloudhsmiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudhsm/cloudhsmiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon CloudHSM. diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudhsm/doc.go b/vendor/github.com/aws/aws-sdk-go/service/cloudhsm/doc.go index 64bf3a3eb..1063e1c90 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudhsm/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudhsm/doc.go @@ -12,69 +12,17 @@ // // Using the Client // -// To use the client for Amazon CloudHSM you will first need -// to create a new instance of it. +// To Amazon CloudHSM with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := cloudhsm.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon CloudHSM client CloudHSM for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/cloudhsm/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AddTagsToResource(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AddTagsToResource result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AddTagsToResourceWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package cloudhsm diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/api.go new file mode 100644 index 000000000..7598c9520 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/api.go @@ -0,0 +1,2503 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package cloudhsmv2 + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" +) + +const opCreateCluster = "CreateCluster" + +// CreateClusterRequest generates a "aws/request.Request" representing the +// client's request for the CreateCluster operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateCluster for more information on using the CreateCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateClusterRequest method. +// req, resp := client.CreateClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/CreateCluster +func (c *CloudHSMV2) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) { + op := &request.Operation{ + Name: opCreateCluster, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateClusterInput{} + } + + output = &CreateClusterOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateCluster API operation for AWS CloudHSM V2. +// +// Creates a new AWS CloudHSM cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudHSM V2's +// API operation CreateCluster for usage and error information. +// +// Returned Error Codes: +// * ErrCodeCloudHsmInternalFailureException "CloudHsmInternalFailureException" +// The request was rejected because of an AWS CloudHSM internal failure. The +// request can be retried. +// +// * ErrCodeCloudHsmServiceException "CloudHsmServiceException" +// The request was rejected because an error occurred. +// +// * ErrCodeCloudHsmResourceNotFoundException "CloudHsmResourceNotFoundException" +// The request was rejected because it refers to a resource that cannot be found. +// +// * ErrCodeCloudHsmInvalidRequestException "CloudHsmInvalidRequestException" +// The request was rejected because it is not a valid request. +// +// * ErrCodeCloudHsmAccessDeniedException "CloudHsmAccessDeniedException" +// The request was rejected because the requester does not have permission to +// perform the requested operation. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/CreateCluster +func (c *CloudHSMV2) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) { + req, out := c.CreateClusterRequest(input) + return out, req.Send() +} + +// CreateClusterWithContext is the same as CreateCluster with the addition of +// the ability to pass a context and additional request options. +// +// See CreateCluster for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudHSMV2) CreateClusterWithContext(ctx aws.Context, input *CreateClusterInput, opts ...request.Option) (*CreateClusterOutput, error) { + req, out := c.CreateClusterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateHsm = "CreateHsm" + +// CreateHsmRequest generates a "aws/request.Request" representing the +// client's request for the CreateHsm operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateHsm for more information on using the CreateHsm +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateHsmRequest method. +// req, resp := client.CreateHsmRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/CreateHsm +func (c *CloudHSMV2) CreateHsmRequest(input *CreateHsmInput) (req *request.Request, output *CreateHsmOutput) { + op := &request.Operation{ + Name: opCreateHsm, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateHsmInput{} + } + + output = &CreateHsmOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateHsm API operation for AWS CloudHSM V2. +// +// Creates a new hardware security module (HSM) in the specified AWS CloudHSM +// cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudHSM V2's +// API operation CreateHsm for usage and error information. +// +// Returned Error Codes: +// * ErrCodeCloudHsmInternalFailureException "CloudHsmInternalFailureException" +// The request was rejected because of an AWS CloudHSM internal failure. The +// request can be retried. +// +// * ErrCodeCloudHsmServiceException "CloudHsmServiceException" +// The request was rejected because an error occurred. +// +// * ErrCodeCloudHsmInvalidRequestException "CloudHsmInvalidRequestException" +// The request was rejected because it is not a valid request. +// +// * ErrCodeCloudHsmResourceNotFoundException "CloudHsmResourceNotFoundException" +// The request was rejected because it refers to a resource that cannot be found. +// +// * ErrCodeCloudHsmAccessDeniedException "CloudHsmAccessDeniedException" +// The request was rejected because the requester does not have permission to +// perform the requested operation. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/CreateHsm +func (c *CloudHSMV2) CreateHsm(input *CreateHsmInput) (*CreateHsmOutput, error) { + req, out := c.CreateHsmRequest(input) + return out, req.Send() +} + +// CreateHsmWithContext is the same as CreateHsm with the addition of +// the ability to pass a context and additional request options. +// +// See CreateHsm for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudHSMV2) CreateHsmWithContext(ctx aws.Context, input *CreateHsmInput, opts ...request.Option) (*CreateHsmOutput, error) { + req, out := c.CreateHsmRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteCluster = "DeleteCluster" + +// DeleteClusterRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCluster operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteCluster for more information on using the DeleteCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteClusterRequest method. +// req, resp := client.DeleteClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DeleteCluster +func (c *CloudHSMV2) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) { + op := &request.Operation{ + Name: opDeleteCluster, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteClusterInput{} + } + + output = &DeleteClusterOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteCluster API operation for AWS CloudHSM V2. +// +// Deletes the specified AWS CloudHSM cluster. Before you can delete a cluster, +// you must delete all HSMs in the cluster. To see if the cluster contains any +// HSMs, use DescribeClusters. To delete an HSM, use DeleteHsm. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudHSM V2's +// API operation DeleteCluster for usage and error information. +// +// Returned Error Codes: +// * ErrCodeCloudHsmInternalFailureException "CloudHsmInternalFailureException" +// The request was rejected because of an AWS CloudHSM internal failure. The +// request can be retried. +// +// * ErrCodeCloudHsmServiceException "CloudHsmServiceException" +// The request was rejected because an error occurred. +// +// * ErrCodeCloudHsmResourceNotFoundException "CloudHsmResourceNotFoundException" +// The request was rejected because it refers to a resource that cannot be found. +// +// * ErrCodeCloudHsmInvalidRequestException "CloudHsmInvalidRequestException" +// The request was rejected because it is not a valid request. +// +// * ErrCodeCloudHsmAccessDeniedException "CloudHsmAccessDeniedException" +// The request was rejected because the requester does not have permission to +// perform the requested operation. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DeleteCluster +func (c *CloudHSMV2) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) { + req, out := c.DeleteClusterRequest(input) + return out, req.Send() +} + +// DeleteClusterWithContext is the same as DeleteCluster with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteCluster for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudHSMV2) DeleteClusterWithContext(ctx aws.Context, input *DeleteClusterInput, opts ...request.Option) (*DeleteClusterOutput, error) { + req, out := c.DeleteClusterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteHsm = "DeleteHsm" + +// DeleteHsmRequest generates a "aws/request.Request" representing the +// client's request for the DeleteHsm operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteHsm for more information on using the DeleteHsm +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteHsmRequest method. +// req, resp := client.DeleteHsmRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DeleteHsm +func (c *CloudHSMV2) DeleteHsmRequest(input *DeleteHsmInput) (req *request.Request, output *DeleteHsmOutput) { + op := &request.Operation{ + Name: opDeleteHsm, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteHsmInput{} + } + + output = &DeleteHsmOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteHsm API operation for AWS CloudHSM V2. +// +// Deletes the specified HSM. To specify an HSM, you can use its identifier +// (ID), the IP address of the HSM's elastic network interface (ENI), or the +// ID of the HSM's ENI. You need to specify only one of these values. To find +// these values, use DescribeClusters. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudHSM V2's +// API operation DeleteHsm for usage and error information. +// +// Returned Error Codes: +// * ErrCodeCloudHsmInternalFailureException "CloudHsmInternalFailureException" +// The request was rejected because of an AWS CloudHSM internal failure. The +// request can be retried. +// +// * ErrCodeCloudHsmServiceException "CloudHsmServiceException" +// The request was rejected because an error occurred. +// +// * ErrCodeCloudHsmResourceNotFoundException "CloudHsmResourceNotFoundException" +// The request was rejected because it refers to a resource that cannot be found. +// +// * ErrCodeCloudHsmInvalidRequestException "CloudHsmInvalidRequestException" +// The request was rejected because it is not a valid request. +// +// * ErrCodeCloudHsmAccessDeniedException "CloudHsmAccessDeniedException" +// The request was rejected because the requester does not have permission to +// perform the requested operation. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DeleteHsm +func (c *CloudHSMV2) DeleteHsm(input *DeleteHsmInput) (*DeleteHsmOutput, error) { + req, out := c.DeleteHsmRequest(input) + return out, req.Send() +} + +// DeleteHsmWithContext is the same as DeleteHsm with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteHsm for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudHSMV2) DeleteHsmWithContext(ctx aws.Context, input *DeleteHsmInput, opts ...request.Option) (*DeleteHsmOutput, error) { + req, out := c.DeleteHsmRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeBackups = "DescribeBackups" + +// DescribeBackupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeBackups operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeBackups for more information on using the DescribeBackups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeBackupsRequest method. +// req, resp := client.DescribeBackupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DescribeBackups +func (c *CloudHSMV2) DescribeBackupsRequest(input *DescribeBackupsInput) (req *request.Request, output *DescribeBackupsOutput) { + op := &request.Operation{ + Name: opDescribeBackups, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeBackupsInput{} + } + + output = &DescribeBackupsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeBackups API operation for AWS CloudHSM V2. +// +// Gets information about backups of AWS CloudHSM clusters. +// +// This is a paginated operation, which means that each response might contain +// only a subset of all the backups. When the response contains only a subset +// of backups, it includes a NextToken value. Use this value in a subsequent +// DescribeBackups request to get more backups. When you receive a response +// with no NextToken (or an empty or null value), that means there are no more +// backups to get. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudHSM V2's +// API operation DescribeBackups for usage and error information. +// +// Returned Error Codes: +// * ErrCodeCloudHsmInternalFailureException "CloudHsmInternalFailureException" +// The request was rejected because of an AWS CloudHSM internal failure. The +// request can be retried. +// +// * ErrCodeCloudHsmServiceException "CloudHsmServiceException" +// The request was rejected because an error occurred. +// +// * ErrCodeCloudHsmResourceNotFoundException "CloudHsmResourceNotFoundException" +// The request was rejected because it refers to a resource that cannot be found. +// +// * ErrCodeCloudHsmInvalidRequestException "CloudHsmInvalidRequestException" +// The request was rejected because it is not a valid request. +// +// * ErrCodeCloudHsmAccessDeniedException "CloudHsmAccessDeniedException" +// The request was rejected because the requester does not have permission to +// perform the requested operation. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DescribeBackups +func (c *CloudHSMV2) DescribeBackups(input *DescribeBackupsInput) (*DescribeBackupsOutput, error) { + req, out := c.DescribeBackupsRequest(input) + return out, req.Send() +} + +// DescribeBackupsWithContext is the same as DescribeBackups with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeBackups for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudHSMV2) DescribeBackupsWithContext(ctx aws.Context, input *DescribeBackupsInput, opts ...request.Option) (*DescribeBackupsOutput, error) { + req, out := c.DescribeBackupsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeBackupsPages iterates over the pages of a DescribeBackups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeBackups method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeBackups operation. +// pageNum := 0 +// err := client.DescribeBackupsPages(params, +// func(page *DescribeBackupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CloudHSMV2) DescribeBackupsPages(input *DescribeBackupsInput, fn func(*DescribeBackupsOutput, bool) bool) error { + return c.DescribeBackupsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeBackupsPagesWithContext same as DescribeBackupsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudHSMV2) DescribeBackupsPagesWithContext(ctx aws.Context, input *DescribeBackupsInput, fn func(*DescribeBackupsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeBackupsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeBackupsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeBackupsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opDescribeClusters = "DescribeClusters" + +// DescribeClustersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeClusters operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeClusters for more information on using the DescribeClusters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeClustersRequest method. +// req, resp := client.DescribeClustersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DescribeClusters +func (c *CloudHSMV2) DescribeClustersRequest(input *DescribeClustersInput) (req *request.Request, output *DescribeClustersOutput) { + op := &request.Operation{ + Name: opDescribeClusters, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeClustersInput{} + } + + output = &DescribeClustersOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeClusters API operation for AWS CloudHSM V2. +// +// Gets information about AWS CloudHSM clusters. +// +// This is a paginated operation, which means that each response might contain +// only a subset of all the clusters. When the response contains only a subset +// of clusters, it includes a NextToken value. Use this value in a subsequent +// DescribeClusters request to get more clusters. When you receive a response +// with no NextToken (or an empty or null value), that means there are no more +// clusters to get. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudHSM V2's +// API operation DescribeClusters for usage and error information. +// +// Returned Error Codes: +// * ErrCodeCloudHsmInternalFailureException "CloudHsmInternalFailureException" +// The request was rejected because of an AWS CloudHSM internal failure. The +// request can be retried. +// +// * ErrCodeCloudHsmServiceException "CloudHsmServiceException" +// The request was rejected because an error occurred. +// +// * ErrCodeCloudHsmInvalidRequestException "CloudHsmInvalidRequestException" +// The request was rejected because it is not a valid request. +// +// * ErrCodeCloudHsmAccessDeniedException "CloudHsmAccessDeniedException" +// The request was rejected because the requester does not have permission to +// perform the requested operation. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DescribeClusters +func (c *CloudHSMV2) DescribeClusters(input *DescribeClustersInput) (*DescribeClustersOutput, error) { + req, out := c.DescribeClustersRequest(input) + return out, req.Send() +} + +// DescribeClustersWithContext is the same as DescribeClusters with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeClusters for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudHSMV2) DescribeClustersWithContext(ctx aws.Context, input *DescribeClustersInput, opts ...request.Option) (*DescribeClustersOutput, error) { + req, out := c.DescribeClustersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeClustersPages iterates over the pages of a DescribeClusters operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeClusters method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeClusters operation. +// pageNum := 0 +// err := client.DescribeClustersPages(params, +// func(page *DescribeClustersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CloudHSMV2) DescribeClustersPages(input *DescribeClustersInput, fn func(*DescribeClustersOutput, bool) bool) error { + return c.DescribeClustersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeClustersPagesWithContext same as DescribeClustersPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudHSMV2) DescribeClustersPagesWithContext(ctx aws.Context, input *DescribeClustersInput, fn func(*DescribeClustersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeClustersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeClustersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*DescribeClustersOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opInitializeCluster = "InitializeCluster" + +// InitializeClusterRequest generates a "aws/request.Request" representing the +// client's request for the InitializeCluster operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See InitializeCluster for more information on using the InitializeCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the InitializeClusterRequest method. +// req, resp := client.InitializeClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/InitializeCluster +func (c *CloudHSMV2) InitializeClusterRequest(input *InitializeClusterInput) (req *request.Request, output *InitializeClusterOutput) { + op := &request.Operation{ + Name: opInitializeCluster, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &InitializeClusterInput{} + } + + output = &InitializeClusterOutput{} + req = c.newRequest(op, input, output) + return +} + +// InitializeCluster API operation for AWS CloudHSM V2. +// +// Claims an AWS CloudHSM cluster by submitting the cluster certificate issued +// by your issuing certificate authority (CA) and the CA's root certificate. +// Before you can claim a cluster, you must sign the cluster's certificate signing +// request (CSR) with your issuing CA. To get the cluster's CSR, use DescribeClusters. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudHSM V2's +// API operation InitializeCluster for usage and error information. +// +// Returned Error Codes: +// * ErrCodeCloudHsmInternalFailureException "CloudHsmInternalFailureException" +// The request was rejected because of an AWS CloudHSM internal failure. The +// request can be retried. +// +// * ErrCodeCloudHsmServiceException "CloudHsmServiceException" +// The request was rejected because an error occurred. +// +// * ErrCodeCloudHsmResourceNotFoundException "CloudHsmResourceNotFoundException" +// The request was rejected because it refers to a resource that cannot be found. +// +// * ErrCodeCloudHsmInvalidRequestException "CloudHsmInvalidRequestException" +// The request was rejected because it is not a valid request. +// +// * ErrCodeCloudHsmAccessDeniedException "CloudHsmAccessDeniedException" +// The request was rejected because the requester does not have permission to +// perform the requested operation. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/InitializeCluster +func (c *CloudHSMV2) InitializeCluster(input *InitializeClusterInput) (*InitializeClusterOutput, error) { + req, out := c.InitializeClusterRequest(input) + return out, req.Send() +} + +// InitializeClusterWithContext is the same as InitializeCluster with the addition of +// the ability to pass a context and additional request options. +// +// See InitializeCluster for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudHSMV2) InitializeClusterWithContext(ctx aws.Context, input *InitializeClusterInput, opts ...request.Option) (*InitializeClusterOutput, error) { + req, out := c.InitializeClusterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListTags = "ListTags" + +// ListTagsRequest generates a "aws/request.Request" representing the +// client's request for the ListTags operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTags for more information on using the ListTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsRequest method. +// req, resp := client.ListTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/ListTags +func (c *CloudHSMV2) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) { + op := &request.Operation{ + Name: opListTags, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTagsInput{} + } + + output = &ListTagsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTags API operation for AWS CloudHSM V2. +// +// Gets a list of tags for the specified AWS CloudHSM cluster. +// +// This is a paginated operation, which means that each response might contain +// only a subset of all the tags. When the response contains only a subset of +// tags, it includes a NextToken value. Use this value in a subsequent ListTags +// request to get more tags. When you receive a response with no NextToken (or +// an empty or null value), that means there are no more tags to get. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudHSM V2's +// API operation ListTags for usage and error information. +// +// Returned Error Codes: +// * ErrCodeCloudHsmInternalFailureException "CloudHsmInternalFailureException" +// The request was rejected because of an AWS CloudHSM internal failure. The +// request can be retried. +// +// * ErrCodeCloudHsmServiceException "CloudHsmServiceException" +// The request was rejected because an error occurred. +// +// * ErrCodeCloudHsmResourceNotFoundException "CloudHsmResourceNotFoundException" +// The request was rejected because it refers to a resource that cannot be found. +// +// * ErrCodeCloudHsmInvalidRequestException "CloudHsmInvalidRequestException" +// The request was rejected because it is not a valid request. +// +// * ErrCodeCloudHsmAccessDeniedException "CloudHsmAccessDeniedException" +// The request was rejected because the requester does not have permission to +// perform the requested operation. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/ListTags +func (c *CloudHSMV2) ListTags(input *ListTagsInput) (*ListTagsOutput, error) { + req, out := c.ListTagsRequest(input) + return out, req.Send() +} + +// ListTagsWithContext is the same as ListTags with the addition of +// the ability to pass a context and additional request options. +// +// See ListTags for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudHSMV2) ListTagsWithContext(ctx aws.Context, input *ListTagsInput, opts ...request.Option) (*ListTagsOutput, error) { + req, out := c.ListTagsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTagsPages iterates over the pages of a ListTags operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTags method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListTags operation. +// pageNum := 0 +// err := client.ListTagsPages(params, +// func(page *ListTagsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CloudHSMV2) ListTagsPages(input *ListTagsInput, fn func(*ListTagsOutput, bool) bool) error { + return c.ListTagsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTagsPagesWithContext same as ListTagsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudHSMV2) ListTagsPagesWithContext(ctx aws.Context, input *ListTagsInput, fn func(*ListTagsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTagsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTagsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListTagsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/TagResource +func (c *CloudHSMV2) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// TagResource API operation for AWS CloudHSM V2. +// +// Adds or overwrites one or more tags for the specified AWS CloudHSM cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudHSM V2's +// API operation TagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeCloudHsmInternalFailureException "CloudHsmInternalFailureException" +// The request was rejected because of an AWS CloudHSM internal failure. The +// request can be retried. +// +// * ErrCodeCloudHsmServiceException "CloudHsmServiceException" +// The request was rejected because an error occurred. +// +// * ErrCodeCloudHsmResourceNotFoundException "CloudHsmResourceNotFoundException" +// The request was rejected because it refers to a resource that cannot be found. +// +// * ErrCodeCloudHsmInvalidRequestException "CloudHsmInvalidRequestException" +// The request was rejected because it is not a valid request. +// +// * ErrCodeCloudHsmAccessDeniedException "CloudHsmAccessDeniedException" +// The request was rejected because the requester does not have permission to +// perform the requested operation. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/TagResource +func (c *CloudHSMV2) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudHSMV2) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/UntagResource +func (c *CloudHSMV2) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// UntagResource API operation for AWS CloudHSM V2. +// +// Removes the specified tag or tags from the specified AWS CloudHSM cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudHSM V2's +// API operation UntagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeCloudHsmInternalFailureException "CloudHsmInternalFailureException" +// The request was rejected because of an AWS CloudHSM internal failure. The +// request can be retried. +// +// * ErrCodeCloudHsmServiceException "CloudHsmServiceException" +// The request was rejected because an error occurred. +// +// * ErrCodeCloudHsmResourceNotFoundException "CloudHsmResourceNotFoundException" +// The request was rejected because it refers to a resource that cannot be found. +// +// * ErrCodeCloudHsmInvalidRequestException "CloudHsmInvalidRequestException" +// The request was rejected because it is not a valid request. +// +// * ErrCodeCloudHsmAccessDeniedException "CloudHsmAccessDeniedException" +// The request was rejected because the requester does not have permission to +// perform the requested operation. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/UntagResource +func (c *CloudHSMV2) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudHSMV2) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Contains information about a backup of an AWS CloudHSM cluster. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/Backup +type Backup struct { + _ struct{} `type:"structure"` + + // The identifier (ID) of the backup. + // + // BackupId is a required field + BackupId *string `type:"string" required:"true"` + + // The state of the backup. + BackupState *string `type:"string" enum:"BackupState"` + + // The identifier (ID) of the cluster that was backed up. + ClusterId *string `type:"string"` + + // The date and time when the backup was created. + CreateTimestamp *time.Time `type:"timestamp" timestampFormat:"unix"` +} + +// String returns the string representation +func (s Backup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Backup) GoString() string { + return s.String() +} + +// SetBackupId sets the BackupId field's value. +func (s *Backup) SetBackupId(v string) *Backup { + s.BackupId = &v + return s +} + +// SetBackupState sets the BackupState field's value. +func (s *Backup) SetBackupState(v string) *Backup { + s.BackupState = &v + return s +} + +// SetClusterId sets the ClusterId field's value. +func (s *Backup) SetClusterId(v string) *Backup { + s.ClusterId = &v + return s +} + +// SetCreateTimestamp sets the CreateTimestamp field's value. +func (s *Backup) SetCreateTimestamp(v time.Time) *Backup { + s.CreateTimestamp = &v + return s +} + +// Contains one or more certificates or a certificate signing request (CSR). +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/Certificates +type Certificates struct { + _ struct{} `type:"structure"` + + // The HSM hardware certificate issued (signed) by AWS CloudHSM. + AwsHardwareCertificate *string `type:"string"` + + // The cluster certificate issued (signed) by the issuing certificate authority + // (CA) of the cluster's owner. + ClusterCertificate *string `type:"string"` + + // The cluster's certificate signing request (CSR). The CSR exists only when + // the cluster's state is UNINITIALIZED. + ClusterCsr *string `type:"string"` + + // The HSM certificate issued (signed) by the HSM hardware. + HsmCertificate *string `type:"string"` + + // The HSM hardware certificate issued (signed) by the hardware manufacturer. + ManufacturerHardwareCertificate *string `type:"string"` +} + +// String returns the string representation +func (s Certificates) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Certificates) GoString() string { + return s.String() +} + +// SetAwsHardwareCertificate sets the AwsHardwareCertificate field's value. +func (s *Certificates) SetAwsHardwareCertificate(v string) *Certificates { + s.AwsHardwareCertificate = &v + return s +} + +// SetClusterCertificate sets the ClusterCertificate field's value. +func (s *Certificates) SetClusterCertificate(v string) *Certificates { + s.ClusterCertificate = &v + return s +} + +// SetClusterCsr sets the ClusterCsr field's value. +func (s *Certificates) SetClusterCsr(v string) *Certificates { + s.ClusterCsr = &v + return s +} + +// SetHsmCertificate sets the HsmCertificate field's value. +func (s *Certificates) SetHsmCertificate(v string) *Certificates { + s.HsmCertificate = &v + return s +} + +// SetManufacturerHardwareCertificate sets the ManufacturerHardwareCertificate field's value. +func (s *Certificates) SetManufacturerHardwareCertificate(v string) *Certificates { + s.ManufacturerHardwareCertificate = &v + return s +} + +// Contains information about an AWS CloudHSM cluster. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/Cluster +type Cluster struct { + _ struct{} `type:"structure"` + + // The cluster's backup policy. + BackupPolicy *string `type:"string" enum:"BackupPolicy"` + + // Contains one or more certificates or a certificate signing request (CSR). + Certificates *Certificates `type:"structure"` + + // The cluster's identifier (ID). + ClusterId *string `type:"string"` + + // The date and time when the cluster was created. + CreateTimestamp *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The type of HSM that the cluster contains. + HsmType *string `type:"string"` + + // Contains information about the HSMs in the cluster. + Hsms []*Hsm `type:"list"` + + // The default password for the cluster's Pre-Crypto Officer (PRECO) user. + PreCoPassword *string `min:"7" type:"string"` + + // The identifier (ID) of the cluster's security group. + SecurityGroup *string `type:"string"` + + // The identifier (ID) of the backup used to create the cluster. This value + // exists only when the cluster was created from a backup. + SourceBackupId *string `type:"string"` + + // The cluster's state. + State *string `type:"string" enum:"ClusterState"` + + // A description of the cluster's state. + StateMessage *string `type:"string"` + + // A map of the cluster's subnets and their corresponding Availability Zones. + SubnetMapping map[string]*string `type:"map"` + + // The identifier (ID) of the virtual private cloud (VPC) that contains the + // cluster. + VpcId *string `type:"string"` +} + +// String returns the string representation +func (s Cluster) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Cluster) GoString() string { + return s.String() +} + +// SetBackupPolicy sets the BackupPolicy field's value. +func (s *Cluster) SetBackupPolicy(v string) *Cluster { + s.BackupPolicy = &v + return s +} + +// SetCertificates sets the Certificates field's value. +func (s *Cluster) SetCertificates(v *Certificates) *Cluster { + s.Certificates = v + return s +} + +// SetClusterId sets the ClusterId field's value. +func (s *Cluster) SetClusterId(v string) *Cluster { + s.ClusterId = &v + return s +} + +// SetCreateTimestamp sets the CreateTimestamp field's value. +func (s *Cluster) SetCreateTimestamp(v time.Time) *Cluster { + s.CreateTimestamp = &v + return s +} + +// SetHsmType sets the HsmType field's value. +func (s *Cluster) SetHsmType(v string) *Cluster { + s.HsmType = &v + return s +} + +// SetHsms sets the Hsms field's value. +func (s *Cluster) SetHsms(v []*Hsm) *Cluster { + s.Hsms = v + return s +} + +// SetPreCoPassword sets the PreCoPassword field's value. +func (s *Cluster) SetPreCoPassword(v string) *Cluster { + s.PreCoPassword = &v + return s +} + +// SetSecurityGroup sets the SecurityGroup field's value. +func (s *Cluster) SetSecurityGroup(v string) *Cluster { + s.SecurityGroup = &v + return s +} + +// SetSourceBackupId sets the SourceBackupId field's value. +func (s *Cluster) SetSourceBackupId(v string) *Cluster { + s.SourceBackupId = &v + return s +} + +// SetState sets the State field's value. +func (s *Cluster) SetState(v string) *Cluster { + s.State = &v + return s +} + +// SetStateMessage sets the StateMessage field's value. +func (s *Cluster) SetStateMessage(v string) *Cluster { + s.StateMessage = &v + return s +} + +// SetSubnetMapping sets the SubnetMapping field's value. +func (s *Cluster) SetSubnetMapping(v map[string]*string) *Cluster { + s.SubnetMapping = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *Cluster) SetVpcId(v string) *Cluster { + s.VpcId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/CreateClusterRequest +type CreateClusterInput struct { + _ struct{} `type:"structure"` + + // The type of HSM to use in the cluster. Currently the only allowed value is + // hsm1.medium. + // + // HsmType is a required field + HsmType *string `type:"string" required:"true"` + + // The identifier (ID) of the cluster backup to restore. Use this value to restore + // the cluster from a backup instead of creating a new cluster. To find the + // backup ID, use DescribeBackups. + SourceBackupId *string `type:"string"` + + // The identifiers (IDs) of the subnets where you are creating the cluster. + // You must specify at least one subnet. If you specify multiple subnets, they + // must meet the following criteria: + // + // * All subnets must be in the same virtual private cloud (VPC). + // + // * You can specify only one subnet per Availability Zone. + // + // SubnetIds is a required field + SubnetIds []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s CreateClusterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateClusterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateClusterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"} + if s.HsmType == nil { + invalidParams.Add(request.NewErrParamRequired("HsmType")) + } + if s.SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetIds")) + } + if s.SubnetIds != nil && len(s.SubnetIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SubnetIds", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHsmType sets the HsmType field's value. +func (s *CreateClusterInput) SetHsmType(v string) *CreateClusterInput { + s.HsmType = &v + return s +} + +// SetSourceBackupId sets the SourceBackupId field's value. +func (s *CreateClusterInput) SetSourceBackupId(v string) *CreateClusterInput { + s.SourceBackupId = &v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *CreateClusterInput) SetSubnetIds(v []*string) *CreateClusterInput { + s.SubnetIds = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/CreateClusterResponse +type CreateClusterOutput struct { + _ struct{} `type:"structure"` + + // Information about the cluster that was created. + Cluster *Cluster `type:"structure"` +} + +// String returns the string representation +func (s CreateClusterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateClusterOutput) GoString() string { + return s.String() +} + +// SetCluster sets the Cluster field's value. +func (s *CreateClusterOutput) SetCluster(v *Cluster) *CreateClusterOutput { + s.Cluster = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/CreateHsmRequest +type CreateHsmInput struct { + _ struct{} `type:"structure"` + + // The Availability Zone where you are creating the HSM. To find the cluster's + // Availability Zones, use DescribeClusters. + // + // AvailabilityZone is a required field + AvailabilityZone *string `type:"string" required:"true"` + + // The identifier (ID) of the HSM's cluster. To find the cluster ID, use DescribeClusters. + // + // ClusterId is a required field + ClusterId *string `type:"string" required:"true"` + + // The HSM's IP address. If you specify an IP address, use an available address + // from the subnet that maps to the Availability Zone where you are creating + // the HSM. If you don't specify an IP address, one is chosen for you from that + // subnet. + IpAddress *string `type:"string"` +} + +// String returns the string representation +func (s CreateHsmInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateHsmInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateHsmInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateHsmInput"} + if s.AvailabilityZone == nil { + invalidParams.Add(request.NewErrParamRequired("AvailabilityZone")) + } + if s.ClusterId == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *CreateHsmInput) SetAvailabilityZone(v string) *CreateHsmInput { + s.AvailabilityZone = &v + return s +} + +// SetClusterId sets the ClusterId field's value. +func (s *CreateHsmInput) SetClusterId(v string) *CreateHsmInput { + s.ClusterId = &v + return s +} + +// SetIpAddress sets the IpAddress field's value. +func (s *CreateHsmInput) SetIpAddress(v string) *CreateHsmInput { + s.IpAddress = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/CreateHsmResponse +type CreateHsmOutput struct { + _ struct{} `type:"structure"` + + // Information about the HSM that was created. + Hsm *Hsm `type:"structure"` +} + +// String returns the string representation +func (s CreateHsmOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateHsmOutput) GoString() string { + return s.String() +} + +// SetHsm sets the Hsm field's value. +func (s *CreateHsmOutput) SetHsm(v *Hsm) *CreateHsmOutput { + s.Hsm = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DeleteClusterRequest +type DeleteClusterInput struct { + _ struct{} `type:"structure"` + + // The identifier (ID) of the cluster that you are deleting. To find the cluster + // ID, use DescribeClusters. + // + // ClusterId is a required field + ClusterId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteClusterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteClusterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteClusterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"} + if s.ClusterId == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterId sets the ClusterId field's value. +func (s *DeleteClusterInput) SetClusterId(v string) *DeleteClusterInput { + s.ClusterId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DeleteClusterResponse +type DeleteClusterOutput struct { + _ struct{} `type:"structure"` + + // Information about the cluster that was deleted. + Cluster *Cluster `type:"structure"` +} + +// String returns the string representation +func (s DeleteClusterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteClusterOutput) GoString() string { + return s.String() +} + +// SetCluster sets the Cluster field's value. +func (s *DeleteClusterOutput) SetCluster(v *Cluster) *DeleteClusterOutput { + s.Cluster = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DeleteHsmRequest +type DeleteHsmInput struct { + _ struct{} `type:"structure"` + + // The identifier (ID) of the cluster that contains the HSM that you are deleting. + // + // ClusterId is a required field + ClusterId *string `type:"string" required:"true"` + + // The identifier (ID) of the elastic network interface (ENI) of the HSM that + // you are deleting. + EniId *string `type:"string"` + + // The IP address of the elastic network interface (ENI) of the HSM that you + // are deleting. + EniIp *string `type:"string"` + + // The identifier (ID) of the HSM that you are deleting. + HsmId *string `type:"string"` +} + +// String returns the string representation +func (s DeleteHsmInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteHsmInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteHsmInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteHsmInput"} + if s.ClusterId == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterId sets the ClusterId field's value. +func (s *DeleteHsmInput) SetClusterId(v string) *DeleteHsmInput { + s.ClusterId = &v + return s +} + +// SetEniId sets the EniId field's value. +func (s *DeleteHsmInput) SetEniId(v string) *DeleteHsmInput { + s.EniId = &v + return s +} + +// SetEniIp sets the EniIp field's value. +func (s *DeleteHsmInput) SetEniIp(v string) *DeleteHsmInput { + s.EniIp = &v + return s +} + +// SetHsmId sets the HsmId field's value. +func (s *DeleteHsmInput) SetHsmId(v string) *DeleteHsmInput { + s.HsmId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DeleteHsmResponse +type DeleteHsmOutput struct { + _ struct{} `type:"structure"` + + // The identifier (ID) of the HSM that was deleted. + HsmId *string `type:"string"` +} + +// String returns the string representation +func (s DeleteHsmOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteHsmOutput) GoString() string { + return s.String() +} + +// SetHsmId sets the HsmId field's value. +func (s *DeleteHsmOutput) SetHsmId(v string) *DeleteHsmOutput { + s.HsmId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DescribeBackupsRequest +type DescribeBackupsInput struct { + _ struct{} `type:"structure"` + + // One or more filters to limit the items returned in the response. + // + // Use the backupIds filter to return only the specified backups. Specify backups + // by their backup identifier (ID). + // + // Use the clusterIds filter to return only the backups for the specified clusters. + // Specify clusters by their cluster identifier (ID). + // + // Use the states filter to return only backups that match the specified state. + Filters map[string][]*string `type:"map"` + + // The maximum number of backups to return in the response. When there are more + // backups than the number you specify, the response contains a NextToken value. + MaxResults *int64 `min:"1" type:"integer"` + + // The NextToken value that you received in the previous response. Use this + // value to get more backups. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeBackupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeBackupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeBackupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeBackupsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeBackupsInput) SetFilters(v map[string][]*string) *DescribeBackupsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeBackupsInput) SetMaxResults(v int64) *DescribeBackupsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeBackupsInput) SetNextToken(v string) *DescribeBackupsInput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DescribeBackupsResponse +type DescribeBackupsOutput struct { + _ struct{} `type:"structure"` + + // A list of backups. + Backups []*Backup `type:"list"` + + // An opaque string that indicates that the response contains only a subset + // of backups. Use this value in a subsequent DescribeBackups request to get + // more backups. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeBackupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeBackupsOutput) GoString() string { + return s.String() +} + +// SetBackups sets the Backups field's value. +func (s *DescribeBackupsOutput) SetBackups(v []*Backup) *DescribeBackupsOutput { + s.Backups = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeBackupsOutput) SetNextToken(v string) *DescribeBackupsOutput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DescribeClustersRequest +type DescribeClustersInput struct { + _ struct{} `type:"structure"` + + // One or more filters to limit the items returned in the response. + // + // Use the clusterIds filter to return only the specified clusters. Specify + // clusters by their cluster identifier (ID). + // + // Use the vpcIds filter to return only the clusters in the specified virtual + // private clouds (VPCs). Specify VPCs by their VPC identifier (ID). + // + // Use the states filter to return only clusters that match the specified state. + Filters map[string][]*string `type:"map"` + + // The maximum number of clusters to return in the response. When there are + // more clusters than the number you specify, the response contains a NextToken + // value. + MaxResults *int64 `min:"1" type:"integer"` + + // The NextToken value that you received in the previous response. Use this + // value to get more clusters. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeClustersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeClustersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeClustersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeClustersInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeClustersInput) SetFilters(v map[string][]*string) *DescribeClustersInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeClustersInput) SetMaxResults(v int64) *DescribeClustersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeClustersInput) SetNextToken(v string) *DescribeClustersInput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DescribeClustersResponse +type DescribeClustersOutput struct { + _ struct{} `type:"structure"` + + // A list of clusters. + Clusters []*Cluster `type:"list"` + + // An opaque string that indicates that the response contains only a subset + // of clusters. Use this value in a subsequent DescribeClusters request to get + // more clusters. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeClustersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeClustersOutput) GoString() string { + return s.String() +} + +// SetClusters sets the Clusters field's value. +func (s *DescribeClustersOutput) SetClusters(v []*Cluster) *DescribeClustersOutput { + s.Clusters = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeClustersOutput) SetNextToken(v string) *DescribeClustersOutput { + s.NextToken = &v + return s +} + +// Contains information about a hardware security module (HSM) in an AWS CloudHSM +// cluster. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/Hsm +type Hsm struct { + _ struct{} `type:"structure"` + + // The Availability Zone that contains the HSM. + AvailabilityZone *string `type:"string"` + + // The identifier (ID) of the cluster that contains the HSM. + ClusterId *string `type:"string"` + + // The identifier (ID) of the HSM's elastic network interface (ENI). + EniId *string `type:"string"` + + // The IP address of the HSM's elastic network interface (ENI). + EniIp *string `type:"string"` + + // The HSM's identifier (ID). + // + // HsmId is a required field + HsmId *string `type:"string" required:"true"` + + // The HSM's state. + State *string `type:"string" enum:"HsmState"` + + // A description of the HSM's state. + StateMessage *string `type:"string"` + + // The subnet that contains the HSM's elastic network interface (ENI). + SubnetId *string `type:"string"` +} + +// String returns the string representation +func (s Hsm) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Hsm) GoString() string { + return s.String() +} + +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *Hsm) SetAvailabilityZone(v string) *Hsm { + s.AvailabilityZone = &v + return s +} + +// SetClusterId sets the ClusterId field's value. +func (s *Hsm) SetClusterId(v string) *Hsm { + s.ClusterId = &v + return s +} + +// SetEniId sets the EniId field's value. +func (s *Hsm) SetEniId(v string) *Hsm { + s.EniId = &v + return s +} + +// SetEniIp sets the EniIp field's value. +func (s *Hsm) SetEniIp(v string) *Hsm { + s.EniIp = &v + return s +} + +// SetHsmId sets the HsmId field's value. +func (s *Hsm) SetHsmId(v string) *Hsm { + s.HsmId = &v + return s +} + +// SetState sets the State field's value. +func (s *Hsm) SetState(v string) *Hsm { + s.State = &v + return s +} + +// SetStateMessage sets the StateMessage field's value. +func (s *Hsm) SetStateMessage(v string) *Hsm { + s.StateMessage = &v + return s +} + +// SetSubnetId sets the SubnetId field's value. +func (s *Hsm) SetSubnetId(v string) *Hsm { + s.SubnetId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/InitializeClusterRequest +type InitializeClusterInput struct { + _ struct{} `type:"structure"` + + // The identifier (ID) of the cluster that you are claiming. To find the cluster + // ID, use DescribeClusters. + // + // ClusterId is a required field + ClusterId *string `type:"string" required:"true"` + + // The cluster certificate issued (signed) by your issuing certificate authority + // (CA). The certificate must be in PEM format. + // + // SignedCert is a required field + SignedCert *string `type:"string" required:"true"` + + // The issuing certificate of the issuing certificate authority (CA) that issued + // (signed) the cluster certificate. This can be a root (self-signed) certificate + // or a certificate chain that begins with the certificate that issued the cluster + // certificate and ends with a root certificate. The certificate or certificate + // chain must be in PEM format. + // + // TrustAnchor is a required field + TrustAnchor *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s InitializeClusterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InitializeClusterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InitializeClusterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InitializeClusterInput"} + if s.ClusterId == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterId")) + } + if s.SignedCert == nil { + invalidParams.Add(request.NewErrParamRequired("SignedCert")) + } + if s.TrustAnchor == nil { + invalidParams.Add(request.NewErrParamRequired("TrustAnchor")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterId sets the ClusterId field's value. +func (s *InitializeClusterInput) SetClusterId(v string) *InitializeClusterInput { + s.ClusterId = &v + return s +} + +// SetSignedCert sets the SignedCert field's value. +func (s *InitializeClusterInput) SetSignedCert(v string) *InitializeClusterInput { + s.SignedCert = &v + return s +} + +// SetTrustAnchor sets the TrustAnchor field's value. +func (s *InitializeClusterInput) SetTrustAnchor(v string) *InitializeClusterInput { + s.TrustAnchor = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/InitializeClusterResponse +type InitializeClusterOutput struct { + _ struct{} `type:"structure"` + + // The cluster's state. + State *string `type:"string" enum:"ClusterState"` + + // A description of the cluster's state. + StateMessage *string `type:"string"` +} + +// String returns the string representation +func (s InitializeClusterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InitializeClusterOutput) GoString() string { + return s.String() +} + +// SetState sets the State field's value. +func (s *InitializeClusterOutput) SetState(v string) *InitializeClusterOutput { + s.State = &v + return s +} + +// SetStateMessage sets the StateMessage field's value. +func (s *InitializeClusterOutput) SetStateMessage(v string) *InitializeClusterOutput { + s.StateMessage = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/ListTagsRequest +type ListTagsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of tags to return in the response. When there are more + // tags than the number you specify, the response contains a NextToken value. + MaxResults *int64 `min:"1" type:"integer"` + + // The NextToken value that you received in the previous response. Use this + // value to get more tags. + NextToken *string `type:"string"` + + // The cluster identifier (ID) for the cluster whose tags you are getting. To + // find the cluster ID, use DescribeClusters. + // + // ResourceId is a required field + ResourceId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ListTagsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTagsInput) SetMaxResults(v int64) *ListTagsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTagsInput) SetNextToken(v string) *ListTagsInput { + s.NextToken = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *ListTagsInput) SetResourceId(v string) *ListTagsInput { + s.ResourceId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/ListTagsResponse +type ListTagsOutput struct { + _ struct{} `type:"structure"` + + // An opaque string that indicates that the response contains only a subset + // of tags. Use this value in a subsequent ListTags request to get more tags. + NextToken *string `type:"string"` + + // A list of tags. + // + // TagList is a required field + TagList []*Tag `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s ListTagsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTagsOutput) SetNextToken(v string) *ListTagsOutput { + s.NextToken = &v + return s +} + +// SetTagList sets the TagList field's value. +func (s *ListTagsOutput) SetTagList(v []*Tag) *ListTagsOutput { + s.TagList = v + return s +} + +// Contains a tag. A tag is a key-value pair. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/Tag +type Tag struct { + _ struct{} `type:"structure"` + + // The key of the tag. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // The value of the tag. + // + // Value is a required field + Value *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s Tag) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Tag) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *Tag) SetKey(v string) *Tag { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Tag) SetValue(v string) *Tag { + s.Value = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/TagResourceRequest +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The cluster identifier (ID) for the cluster that you are tagging. To find + // the cluster ID, use DescribeClusters. + // + // ResourceId is a required field + ResourceId *string `type:"string" required:"true"` + + // A list of one or more tags. + // + // TagList is a required field + TagList []*Tag `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.TagList == nil { + invalidParams.Add(request.NewErrParamRequired("TagList")) + } + if s.TagList != nil && len(s.TagList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagList", 1)) + } + if s.TagList != nil { + for i, v := range s.TagList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagList", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceId sets the ResourceId field's value. +func (s *TagResourceInput) SetResourceId(v string) *TagResourceInput { + s.ResourceId = &v + return s +} + +// SetTagList sets the TagList field's value. +func (s *TagResourceInput) SetTagList(v []*Tag) *TagResourceInput { + s.TagList = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/TagResourceResponse +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/UntagResourceRequest +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The cluster identifier (ID) for the cluster whose tags you are removing. + // To find the cluster ID, use DescribeClusters. + // + // ResourceId is a required field + ResourceId *string `type:"string" required:"true"` + + // A list of one or more tag keys for the tags that you are removing. Specify + // only the tag keys, not the tag values. + // + // TagKeyList is a required field + TagKeyList []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.TagKeyList == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeyList")) + } + if s.TagKeyList != nil && len(s.TagKeyList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagKeyList", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceId sets the ResourceId field's value. +func (s *UntagResourceInput) SetResourceId(v string) *UntagResourceInput { + s.ResourceId = &v + return s +} + +// SetTagKeyList sets the TagKeyList field's value. +func (s *UntagResourceInput) SetTagKeyList(v []*string) *UntagResourceInput { + s.TagKeyList = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/UntagResourceResponse +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +const ( + // BackupPolicyDefault is a BackupPolicy enum value + BackupPolicyDefault = "DEFAULT" +) + +const ( + // BackupStateCreateInProgress is a BackupState enum value + BackupStateCreateInProgress = "CREATE_IN_PROGRESS" + + // BackupStateReady is a BackupState enum value + BackupStateReady = "READY" + + // BackupStateDeleted is a BackupState enum value + BackupStateDeleted = "DELETED" +) + +const ( + // ClusterStateCreateInProgress is a ClusterState enum value + ClusterStateCreateInProgress = "CREATE_IN_PROGRESS" + + // ClusterStateUninitialized is a ClusterState enum value + ClusterStateUninitialized = "UNINITIALIZED" + + // ClusterStateInitializeInProgress is a ClusterState enum value + ClusterStateInitializeInProgress = "INITIALIZE_IN_PROGRESS" + + // ClusterStateInitialized is a ClusterState enum value + ClusterStateInitialized = "INITIALIZED" + + // ClusterStateActive is a ClusterState enum value + ClusterStateActive = "ACTIVE" + + // ClusterStateUpdateInProgress is a ClusterState enum value + ClusterStateUpdateInProgress = "UPDATE_IN_PROGRESS" + + // ClusterStateDeleteInProgress is a ClusterState enum value + ClusterStateDeleteInProgress = "DELETE_IN_PROGRESS" + + // ClusterStateDeleted is a ClusterState enum value + ClusterStateDeleted = "DELETED" + + // ClusterStateDegraded is a ClusterState enum value + ClusterStateDegraded = "DEGRADED" +) + +const ( + // HsmStateCreateInProgress is a HsmState enum value + HsmStateCreateInProgress = "CREATE_IN_PROGRESS" + + // HsmStateActive is a HsmState enum value + HsmStateActive = "ACTIVE" + + // HsmStateDegraded is a HsmState enum value + HsmStateDegraded = "DEGRADED" + + // HsmStateDeleteInProgress is a HsmState enum value + HsmStateDeleteInProgress = "DELETE_IN_PROGRESS" + + // HsmStateDeleted is a HsmState enum value + HsmStateDeleted = "DELETED" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/cloudhsmv2iface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/cloudhsmv2iface/interface.go new file mode 100644 index 000000000..68d707a23 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/cloudhsmv2iface/interface.go @@ -0,0 +1,113 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package cloudhsmv2iface provides an interface to enable mocking the AWS CloudHSM V2 service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package cloudhsmv2iface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/cloudhsmv2" +) + +// CloudHSMV2API provides an interface to enable mocking the +// cloudhsmv2.CloudHSMV2 service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // AWS CloudHSM V2. +// func myFunc(svc cloudhsmv2iface.CloudHSMV2API) bool { +// // Make svc.CreateCluster request +// } +// +// func main() { +// sess := session.New() +// svc := cloudhsmv2.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockCloudHSMV2Client struct { +// cloudhsmv2iface.CloudHSMV2API +// } +// func (m *mockCloudHSMV2Client) CreateCluster(input *cloudhsmv2.CreateClusterInput) (*cloudhsmv2.CreateClusterOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockCloudHSMV2Client{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type CloudHSMV2API interface { + CreateCluster(*cloudhsmv2.CreateClusterInput) (*cloudhsmv2.CreateClusterOutput, error) + CreateClusterWithContext(aws.Context, *cloudhsmv2.CreateClusterInput, ...request.Option) (*cloudhsmv2.CreateClusterOutput, error) + CreateClusterRequest(*cloudhsmv2.CreateClusterInput) (*request.Request, *cloudhsmv2.CreateClusterOutput) + + CreateHsm(*cloudhsmv2.CreateHsmInput) (*cloudhsmv2.CreateHsmOutput, error) + CreateHsmWithContext(aws.Context, *cloudhsmv2.CreateHsmInput, ...request.Option) (*cloudhsmv2.CreateHsmOutput, error) + CreateHsmRequest(*cloudhsmv2.CreateHsmInput) (*request.Request, *cloudhsmv2.CreateHsmOutput) + + DeleteCluster(*cloudhsmv2.DeleteClusterInput) (*cloudhsmv2.DeleteClusterOutput, error) + DeleteClusterWithContext(aws.Context, *cloudhsmv2.DeleteClusterInput, ...request.Option) (*cloudhsmv2.DeleteClusterOutput, error) + DeleteClusterRequest(*cloudhsmv2.DeleteClusterInput) (*request.Request, *cloudhsmv2.DeleteClusterOutput) + + DeleteHsm(*cloudhsmv2.DeleteHsmInput) (*cloudhsmv2.DeleteHsmOutput, error) + DeleteHsmWithContext(aws.Context, *cloudhsmv2.DeleteHsmInput, ...request.Option) (*cloudhsmv2.DeleteHsmOutput, error) + DeleteHsmRequest(*cloudhsmv2.DeleteHsmInput) (*request.Request, *cloudhsmv2.DeleteHsmOutput) + + DescribeBackups(*cloudhsmv2.DescribeBackupsInput) (*cloudhsmv2.DescribeBackupsOutput, error) + DescribeBackupsWithContext(aws.Context, *cloudhsmv2.DescribeBackupsInput, ...request.Option) (*cloudhsmv2.DescribeBackupsOutput, error) + DescribeBackupsRequest(*cloudhsmv2.DescribeBackupsInput) (*request.Request, *cloudhsmv2.DescribeBackupsOutput) + + DescribeBackupsPages(*cloudhsmv2.DescribeBackupsInput, func(*cloudhsmv2.DescribeBackupsOutput, bool) bool) error + DescribeBackupsPagesWithContext(aws.Context, *cloudhsmv2.DescribeBackupsInput, func(*cloudhsmv2.DescribeBackupsOutput, bool) bool, ...request.Option) error + + DescribeClusters(*cloudhsmv2.DescribeClustersInput) (*cloudhsmv2.DescribeClustersOutput, error) + DescribeClustersWithContext(aws.Context, *cloudhsmv2.DescribeClustersInput, ...request.Option) (*cloudhsmv2.DescribeClustersOutput, error) + DescribeClustersRequest(*cloudhsmv2.DescribeClustersInput) (*request.Request, *cloudhsmv2.DescribeClustersOutput) + + DescribeClustersPages(*cloudhsmv2.DescribeClustersInput, func(*cloudhsmv2.DescribeClustersOutput, bool) bool) error + DescribeClustersPagesWithContext(aws.Context, *cloudhsmv2.DescribeClustersInput, func(*cloudhsmv2.DescribeClustersOutput, bool) bool, ...request.Option) error + + InitializeCluster(*cloudhsmv2.InitializeClusterInput) (*cloudhsmv2.InitializeClusterOutput, error) + InitializeClusterWithContext(aws.Context, *cloudhsmv2.InitializeClusterInput, ...request.Option) (*cloudhsmv2.InitializeClusterOutput, error) + InitializeClusterRequest(*cloudhsmv2.InitializeClusterInput) (*request.Request, *cloudhsmv2.InitializeClusterOutput) + + ListTags(*cloudhsmv2.ListTagsInput) (*cloudhsmv2.ListTagsOutput, error) + ListTagsWithContext(aws.Context, *cloudhsmv2.ListTagsInput, ...request.Option) (*cloudhsmv2.ListTagsOutput, error) + ListTagsRequest(*cloudhsmv2.ListTagsInput) (*request.Request, *cloudhsmv2.ListTagsOutput) + + ListTagsPages(*cloudhsmv2.ListTagsInput, func(*cloudhsmv2.ListTagsOutput, bool) bool) error + ListTagsPagesWithContext(aws.Context, *cloudhsmv2.ListTagsInput, func(*cloudhsmv2.ListTagsOutput, bool) bool, ...request.Option) error + + TagResource(*cloudhsmv2.TagResourceInput) (*cloudhsmv2.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *cloudhsmv2.TagResourceInput, ...request.Option) (*cloudhsmv2.TagResourceOutput, error) + TagResourceRequest(*cloudhsmv2.TagResourceInput) (*request.Request, *cloudhsmv2.TagResourceOutput) + + UntagResource(*cloudhsmv2.UntagResourceInput) (*cloudhsmv2.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *cloudhsmv2.UntagResourceInput, ...request.Option) (*cloudhsmv2.UntagResourceOutput, error) + UntagResourceRequest(*cloudhsmv2.UntagResourceInput) (*request.Request, *cloudhsmv2.UntagResourceOutput) +} + +var _ CloudHSMV2API = (*cloudhsmv2.CloudHSMV2)(nil) diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/doc.go b/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/doc.go new file mode 100644 index 000000000..1f7f78112 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/doc.go @@ -0,0 +1,29 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package cloudhsmv2 provides the client and types for making API +// requests to AWS CloudHSM V2. +// +// For more information about AWS CloudHSM, see AWS CloudHSM (http://aws.amazon.com/cloudhsm/) +// and the AWS CloudHSM User Guide (http://docs.aws.amazon.com/cloudhsm/latest/userguide/). +// +// See https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28 for more information on this service. +// +// See cloudhsmv2 package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/cloudhsmv2/ +// +// Using the Client +// +// To AWS CloudHSM V2 with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the AWS CloudHSM V2 client CloudHSMV2 for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/cloudhsmv2/#New +package cloudhsmv2 diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/errors.go b/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/errors.go new file mode 100644 index 000000000..542f2f404 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/errors.go @@ -0,0 +1,38 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package cloudhsmv2 + +const ( + + // ErrCodeCloudHsmAccessDeniedException for service response error code + // "CloudHsmAccessDeniedException". + // + // The request was rejected because the requester does not have permission to + // perform the requested operation. + ErrCodeCloudHsmAccessDeniedException = "CloudHsmAccessDeniedException" + + // ErrCodeCloudHsmInternalFailureException for service response error code + // "CloudHsmInternalFailureException". + // + // The request was rejected because of an AWS CloudHSM internal failure. The + // request can be retried. + ErrCodeCloudHsmInternalFailureException = "CloudHsmInternalFailureException" + + // ErrCodeCloudHsmInvalidRequestException for service response error code + // "CloudHsmInvalidRequestException". + // + // The request was rejected because it is not a valid request. + ErrCodeCloudHsmInvalidRequestException = "CloudHsmInvalidRequestException" + + // ErrCodeCloudHsmResourceNotFoundException for service response error code + // "CloudHsmResourceNotFoundException". + // + // The request was rejected because it refers to a resource that cannot be found. + ErrCodeCloudHsmResourceNotFoundException = "CloudHsmResourceNotFoundException" + + // ErrCodeCloudHsmServiceException for service response error code + // "CloudHsmServiceException". + // + // The request was rejected because an error occurred. + ErrCodeCloudHsmServiceException = "CloudHsmServiceException" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/service.go b/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/service.go new file mode 100644 index 000000000..5996a6561 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/service.go @@ -0,0 +1,98 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package cloudhsmv2 + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" +) + +// CloudHSMV2 provides the API operation methods for making requests to +// AWS CloudHSM V2. See this package's package overview docs +// for details on the service. +// +// CloudHSMV2 methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type CloudHSMV2 struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "cloudhsmv2" // Service endpoint prefix API calls made to. + EndpointsID = ServiceName // Service ID for Regions and Endpoints metadata. +) + +// New creates a new instance of the CloudHSMV2 client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// // Create a CloudHSMV2 client from just a session. +// svc := cloudhsmv2.New(mySession) +// +// // Create a CloudHSMV2 client with additional configuration +// svc := cloudhsmv2.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *CloudHSMV2 { + c := p.ClientConfig(EndpointsID, cfgs...) + return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion, c.SigningName) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion, signingName string) *CloudHSMV2 { + if len(signingName) == 0 { + signingName = "cloudhsm" + } + svc := &CloudHSMV2{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2017-04-28", + JSONVersion: "1.1", + TargetPrefix: "BaldrApiService", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(jsonrpc.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(jsonrpc.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(jsonrpc.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(jsonrpc.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a CloudHSMV2 operation and runs any +// custom request initialization. +func (c *CloudHSMV2) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudsearch/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudsearch/api.go index 6374fba65..1440c6782 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudsearch/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudsearch/api.go @@ -14,19 +14,18 @@ const opBuildSuggesters = "BuildSuggesters" // BuildSuggestersRequest generates a "aws/request.Request" representing the // client's request for the BuildSuggesters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See BuildSuggesters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the BuildSuggesters method directly -// instead. +// See BuildSuggesters for more information on using the BuildSuggesters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the BuildSuggestersRequest method. // req, resp := client.BuildSuggestersRequest(params) @@ -101,19 +100,18 @@ const opCreateDomain = "CreateDomain" // CreateDomainRequest generates a "aws/request.Request" representing the // client's request for the CreateDomain operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDomain for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDomain method directly -// instead. +// See CreateDomain for more information on using the CreateDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDomainRequest method. // req, resp := client.CreateDomainRequest(params) @@ -187,19 +185,18 @@ const opDefineAnalysisScheme = "DefineAnalysisScheme" // DefineAnalysisSchemeRequest generates a "aws/request.Request" representing the // client's request for the DefineAnalysisScheme operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DefineAnalysisScheme for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DefineAnalysisScheme method directly -// instead. +// See DefineAnalysisScheme for more information on using the DefineAnalysisScheme +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DefineAnalysisSchemeRequest method. // req, resp := client.DefineAnalysisSchemeRequest(params) @@ -281,19 +278,18 @@ const opDefineExpression = "DefineExpression" // DefineExpressionRequest generates a "aws/request.Request" representing the // client's request for the DefineExpression operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DefineExpression for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DefineExpression method directly -// instead. +// See DefineExpression for more information on using the DefineExpression +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DefineExpressionRequest method. // req, resp := client.DefineExpressionRequest(params) @@ -375,19 +371,18 @@ const opDefineIndexField = "DefineIndexField" // DefineIndexFieldRequest generates a "aws/request.Request" representing the // client's request for the DefineIndexField operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DefineIndexField for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DefineIndexField method directly -// instead. +// See DefineIndexField for more information on using the DefineIndexField +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DefineIndexFieldRequest method. // req, resp := client.DefineIndexFieldRequest(params) @@ -473,19 +468,18 @@ const opDefineSuggester = "DefineSuggester" // DefineSuggesterRequest generates a "aws/request.Request" representing the // client's request for the DefineSuggester operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DefineSuggester for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DefineSuggester method directly -// instead. +// See DefineSuggester for more information on using the DefineSuggester +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DefineSuggesterRequest method. // req, resp := client.DefineSuggesterRequest(params) @@ -569,19 +563,18 @@ const opDeleteAnalysisScheme = "DeleteAnalysisScheme" // DeleteAnalysisSchemeRequest generates a "aws/request.Request" representing the // client's request for the DeleteAnalysisScheme operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteAnalysisScheme for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteAnalysisScheme method directly -// instead. +// See DeleteAnalysisScheme for more information on using the DeleteAnalysisScheme +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteAnalysisSchemeRequest method. // req, resp := client.DeleteAnalysisSchemeRequest(params) @@ -659,19 +652,18 @@ const opDeleteDomain = "DeleteDomain" // DeleteDomainRequest generates a "aws/request.Request" representing the // client's request for the DeleteDomain operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDomain for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDomain method directly -// instead. +// See DeleteDomain for more information on using the DeleteDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDomainRequest method. // req, resp := client.DeleteDomainRequest(params) @@ -743,19 +735,18 @@ const opDeleteExpression = "DeleteExpression" // DeleteExpressionRequest generates a "aws/request.Request" representing the // client's request for the DeleteExpression operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteExpression for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteExpression method directly -// instead. +// See DeleteExpression for more information on using the DeleteExpression +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteExpressionRequest method. // req, resp := client.DeleteExpressionRequest(params) @@ -833,19 +824,18 @@ const opDeleteIndexField = "DeleteIndexField" // DeleteIndexFieldRequest generates a "aws/request.Request" representing the // client's request for the DeleteIndexField operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteIndexField for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteIndexField method directly -// instead. +// See DeleteIndexField for more information on using the DeleteIndexField +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteIndexFieldRequest method. // req, resp := client.DeleteIndexFieldRequest(params) @@ -923,19 +913,18 @@ const opDeleteSuggester = "DeleteSuggester" // DeleteSuggesterRequest generates a "aws/request.Request" representing the // client's request for the DeleteSuggester operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSuggester for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSuggester method directly -// instead. +// See DeleteSuggester for more information on using the DeleteSuggester +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSuggesterRequest method. // req, resp := client.DeleteSuggesterRequest(params) @@ -1013,19 +1002,18 @@ const opDescribeAnalysisSchemes = "DescribeAnalysisSchemes" // DescribeAnalysisSchemesRequest generates a "aws/request.Request" representing the // client's request for the DescribeAnalysisSchemes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAnalysisSchemes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAnalysisSchemes method directly -// instead. +// See DescribeAnalysisSchemes for more information on using the DescribeAnalysisSchemes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAnalysisSchemesRequest method. // req, resp := client.DescribeAnalysisSchemesRequest(params) @@ -1104,19 +1092,18 @@ const opDescribeAvailabilityOptions = "DescribeAvailabilityOptions" // DescribeAvailabilityOptionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeAvailabilityOptions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAvailabilityOptions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAvailabilityOptions method directly -// instead. +// See DescribeAvailabilityOptions for more information on using the DescribeAvailabilityOptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAvailabilityOptionsRequest method. // req, resp := client.DescribeAvailabilityOptionsRequest(params) @@ -1202,19 +1189,18 @@ const opDescribeDomains = "DescribeDomains" // DescribeDomainsRequest generates a "aws/request.Request" representing the // client's request for the DescribeDomains operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDomains for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDomains method directly -// instead. +// See DescribeDomains for more information on using the DescribeDomains +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDomainsRequest method. // req, resp := client.DescribeDomainsRequest(params) @@ -1288,19 +1274,18 @@ const opDescribeExpressions = "DescribeExpressions" // DescribeExpressionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeExpressions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeExpressions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeExpressions method directly -// instead. +// See DescribeExpressions for more information on using the DescribeExpressions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeExpressionsRequest method. // req, resp := client.DescribeExpressionsRequest(params) @@ -1378,19 +1363,18 @@ const opDescribeIndexFields = "DescribeIndexFields" // DescribeIndexFieldsRequest generates a "aws/request.Request" representing the // client's request for the DescribeIndexFields operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeIndexFields for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeIndexFields method directly -// instead. +// See DescribeIndexFields for more information on using the DescribeIndexFields +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeIndexFieldsRequest method. // req, resp := client.DescribeIndexFieldsRequest(params) @@ -1468,19 +1452,18 @@ const opDescribeScalingParameters = "DescribeScalingParameters" // DescribeScalingParametersRequest generates a "aws/request.Request" representing the // client's request for the DescribeScalingParameters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeScalingParameters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeScalingParameters method directly -// instead. +// See DescribeScalingParameters for more information on using the DescribeScalingParameters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeScalingParametersRequest method. // req, resp := client.DescribeScalingParametersRequest(params) @@ -1556,19 +1539,18 @@ const opDescribeServiceAccessPolicies = "DescribeServiceAccessPolicies" // DescribeServiceAccessPoliciesRequest generates a "aws/request.Request" representing the // client's request for the DescribeServiceAccessPolicies operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeServiceAccessPolicies for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeServiceAccessPolicies method directly -// instead. +// See DescribeServiceAccessPolicies for more information on using the DescribeServiceAccessPolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeServiceAccessPoliciesRequest method. // req, resp := client.DescribeServiceAccessPoliciesRequest(params) @@ -1646,19 +1628,18 @@ const opDescribeSuggesters = "DescribeSuggesters" // DescribeSuggestersRequest generates a "aws/request.Request" representing the // client's request for the DescribeSuggesters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSuggesters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSuggesters method directly -// instead. +// See DescribeSuggesters for more information on using the DescribeSuggesters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSuggestersRequest method. // req, resp := client.DescribeSuggestersRequest(params) @@ -1737,19 +1718,18 @@ const opIndexDocuments = "IndexDocuments" // IndexDocumentsRequest generates a "aws/request.Request" representing the // client's request for the IndexDocuments operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See IndexDocuments for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the IndexDocuments method directly -// instead. +// See IndexDocuments for more information on using the IndexDocuments +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the IndexDocumentsRequest method. // req, resp := client.IndexDocumentsRequest(params) @@ -1824,19 +1804,18 @@ const opListDomainNames = "ListDomainNames" // ListDomainNamesRequest generates a "aws/request.Request" representing the // client's request for the ListDomainNames operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDomainNames for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDomainNames method directly -// instead. +// See ListDomainNames for more information on using the ListDomainNames +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDomainNamesRequest method. // req, resp := client.ListDomainNamesRequest(params) @@ -1901,19 +1880,18 @@ const opUpdateAvailabilityOptions = "UpdateAvailabilityOptions" // UpdateAvailabilityOptionsRequest generates a "aws/request.Request" representing the // client's request for the UpdateAvailabilityOptions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateAvailabilityOptions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateAvailabilityOptions method directly -// instead. +// See UpdateAvailabilityOptions for more information on using the UpdateAvailabilityOptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateAvailabilityOptionsRequest method. // req, resp := client.UpdateAvailabilityOptionsRequest(params) @@ -2000,19 +1978,18 @@ const opUpdateScalingParameters = "UpdateScalingParameters" // UpdateScalingParametersRequest generates a "aws/request.Request" representing the // client's request for the UpdateScalingParameters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateScalingParameters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateScalingParameters method directly -// instead. +// See UpdateScalingParameters for more information on using the UpdateScalingParameters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateScalingParametersRequest method. // req, resp := client.UpdateScalingParametersRequest(params) @@ -2098,19 +2075,18 @@ const opUpdateServiceAccessPolicies = "UpdateServiceAccessPolicies" // UpdateServiceAccessPoliciesRequest generates a "aws/request.Request" representing the // client's request for the UpdateServiceAccessPolicies operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateServiceAccessPolicies for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateServiceAccessPolicies method directly -// instead. +// See UpdateServiceAccessPolicies for more information on using the UpdateServiceAccessPolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateServiceAccessPoliciesRequest method. // req, resp := client.UpdateServiceAccessPoliciesRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudsearch/cloudsearchiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/cloudsearch/cloudsearchiface/interface.go index e932e6dea..88c9eb98b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudsearch/cloudsearchiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudsearch/cloudsearchiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon CloudSearch. diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudsearch/doc.go b/vendor/github.com/aws/aws-sdk-go/service/cloudsearch/doc.go index fdaf584b2..3cdddaf8f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudsearch/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudsearch/doc.go @@ -17,69 +17,17 @@ // // Using the Client // -// To use the client for Amazon CloudSearch you will first need -// to create a new instance of it. +// To Amazon CloudSearch with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := cloudsearch.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon CloudSearch client CloudSearch for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/cloudsearch/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.BuildSuggesters(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("BuildSuggesters result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.BuildSuggestersWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package cloudsearch diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudsearchdomain/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudsearchdomain/api.go index 4a28ac0c6..37de7c21f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudsearchdomain/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudsearchdomain/api.go @@ -14,19 +14,18 @@ const opSearch = "Search" // SearchRequest generates a "aws/request.Request" representing the // client's request for the Search operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See Search for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the Search method directly -// instead. +// See Search for more information on using the Search +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SearchRequest method. // req, resp := client.SearchRequest(params) @@ -111,19 +110,18 @@ const opSuggest = "Suggest" // SuggestRequest generates a "aws/request.Request" representing the // client's request for the Suggest operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See Suggest for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the Suggest method directly -// instead. +// See Suggest for more information on using the Suggest +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SuggestRequest method. // req, resp := client.SuggestRequest(params) @@ -204,19 +202,18 @@ const opUploadDocuments = "UploadDocuments" // UploadDocumentsRequest generates a "aws/request.Request" representing the // client's request for the UploadDocuments operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UploadDocuments for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UploadDocuments method directly -// instead. +// See UploadDocuments for more information on using the UploadDocuments +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UploadDocumentsRequest method. // req, resp := client.UploadDocumentsRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudsearchdomain/cloudsearchdomainiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/cloudsearchdomain/cloudsearchdomainiface/interface.go index 481ee0e5a..4c5f4171b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudsearchdomain/cloudsearchdomainiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudsearchdomain/cloudsearchdomainiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon CloudSearch Domain. diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudsearchdomain/customizations_test.go b/vendor/github.com/aws/aws-sdk-go/service/cloudsearchdomain/customizations_test.go index 73b840da7..602f6ccf5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudsearchdomain/customizations_test.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudsearchdomain/customizations_test.go @@ -3,8 +3,6 @@ package cloudsearchdomain_test import ( "testing" - "github.com/stretchr/testify/assert" - "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/awstesting/unit" "github.com/aws/aws-sdk-go/service/cloudsearchdomain" @@ -18,9 +16,15 @@ func TestRequireEndpointIfRegionProvided(t *testing.T) { req, _ := svc.SearchRequest(nil) err := req.Build() - assert.Equal(t, "", svc.Endpoint) - assert.Error(t, err) - assert.Equal(t, aws.ErrMissingEndpoint, err) + if e, a := "", svc.Endpoint; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if err == nil { + t.Errorf("expect error, got none") + } + if e, a := aws.ErrMissingEndpoint, err; e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestRequireEndpointIfNoRegionProvided(t *testing.T) { @@ -30,9 +34,15 @@ func TestRequireEndpointIfNoRegionProvided(t *testing.T) { req, _ := svc.SearchRequest(nil) err := req.Build() - assert.Equal(t, "", svc.Endpoint) - assert.Error(t, err) - assert.Equal(t, aws.ErrMissingEndpoint, err) + if e, a := "", svc.Endpoint; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if err == nil { + t.Errorf("expect error, got none") + } + if e, a := aws.ErrMissingEndpoint, err; e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestRequireEndpointUsed(t *testing.T) { @@ -44,6 +54,10 @@ func TestRequireEndpointUsed(t *testing.T) { req, _ := svc.SearchRequest(nil) err := req.Build() - assert.Equal(t, "https://endpoint", svc.Endpoint) - assert.NoError(t, err) + if e, a := "https://endpoint", svc.Endpoint; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if err != nil { + t.Errorf("expect no error, got %v", err) + } } diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudsearchdomain/doc.go b/vendor/github.com/aws/aws-sdk-go/service/cloudsearchdomain/doc.go index 186f33b0d..12ea4e716 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudsearchdomain/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudsearchdomain/doc.go @@ -19,69 +19,17 @@ // // Using the Client // -// To use the client for Amazon CloudSearch Domain you will first need -// to create a new instance of it. +// To Amazon CloudSearch Domain with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := cloudsearchdomain.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon CloudSearch Domain client CloudSearchDomain for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/cloudsearchdomain/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.Search(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("Search result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.SearchWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package cloudsearchdomain diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/api.go index cbc83bae0..7cc67dfb4 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/api.go @@ -15,19 +15,18 @@ const opAddTags = "AddTags" // AddTagsRequest generates a "aws/request.Request" representing the // client's request for the AddTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddTags method directly -// instead. +// See AddTags for more information on using the AddTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddTagsRequest method. // req, resp := client.AddTagsRequest(params) @@ -140,19 +139,18 @@ const opCreateTrail = "CreateTrail" // CreateTrailRequest generates a "aws/request.Request" representing the // client's request for the CreateTrail operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateTrail for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateTrail method directly -// instead. +// See CreateTrail for more information on using the CreateTrail +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateTrailRequest method. // req, resp := client.CreateTrailRequest(params) @@ -299,19 +297,18 @@ const opDeleteTrail = "DeleteTrail" // DeleteTrailRequest generates a "aws/request.Request" representing the // client's request for the DeleteTrail operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteTrail for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteTrail method directly -// instead. +// See DeleteTrail for more information on using the DeleteTrail +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteTrailRequest method. // req, resp := client.DeleteTrailRequest(params) @@ -401,19 +398,18 @@ const opDescribeTrails = "DescribeTrails" // DescribeTrailsRequest generates a "aws/request.Request" representing the // client's request for the DescribeTrails operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTrails for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTrails method directly -// instead. +// See DescribeTrails for more information on using the DescribeTrails +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTrailsRequest method. // req, resp := client.DescribeTrailsRequest(params) @@ -485,19 +481,18 @@ const opGetEventSelectors = "GetEventSelectors" // GetEventSelectorsRequest generates a "aws/request.Request" representing the // client's request for the GetEventSelectors operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetEventSelectors for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetEventSelectors method directly -// instead. +// See GetEventSelectors for more information on using the GetEventSelectors +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetEventSelectorsRequest method. // req, resp := client.GetEventSelectorsRequest(params) @@ -599,19 +594,18 @@ const opGetTrailStatus = "GetTrailStatus" // GetTrailStatusRequest generates a "aws/request.Request" representing the // client's request for the GetTrailStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetTrailStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetTrailStatus method directly -// instead. +// See GetTrailStatus for more information on using the GetTrailStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetTrailStatusRequest method. // req, resp := client.GetTrailStatusRequest(params) @@ -699,19 +693,18 @@ const opListPublicKeys = "ListPublicKeys" // ListPublicKeysRequest generates a "aws/request.Request" representing the // client's request for the ListPublicKeys operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListPublicKeys for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListPublicKeys method directly -// instead. +// See ListPublicKeys for more information on using the ListPublicKeys +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPublicKeysRequest method. // req, resp := client.ListPublicKeysRequest(params) @@ -796,19 +789,18 @@ const opListTags = "ListTags" // ListTagsRequest generates a "aws/request.Request" representing the // client's request for the ListTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTags method directly -// instead. +// See ListTags for more information on using the ListTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTagsRequest method. // req, resp := client.ListTagsRequest(params) @@ -911,19 +903,18 @@ const opLookupEvents = "LookupEvents" // LookupEventsRequest generates a "aws/request.Request" representing the // client's request for the LookupEvents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See LookupEvents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the LookupEvents method directly -// instead. +// See LookupEvents for more information on using the LookupEvents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the LookupEventsRequest method. // req, resp := client.LookupEventsRequest(params) @@ -1083,19 +1074,18 @@ const opPutEventSelectors = "PutEventSelectors" // PutEventSelectorsRequest generates a "aws/request.Request" representing the // client's request for the PutEventSelectors operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutEventSelectors for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutEventSelectors method directly -// instead. +// See PutEventSelectors for more information on using the PutEventSelectors +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutEventSelectorsRequest method. // req, resp := client.PutEventSelectorsRequest(params) @@ -1228,19 +1218,18 @@ const opRemoveTags = "RemoveTags" // RemoveTagsRequest generates a "aws/request.Request" representing the // client's request for the RemoveTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveTags method directly -// instead. +// See RemoveTags for more information on using the RemoveTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveTagsRequest method. // req, resp := client.RemoveTagsRequest(params) @@ -1344,19 +1333,18 @@ const opStartLogging = "StartLogging" // StartLoggingRequest generates a "aws/request.Request" representing the // client's request for the StartLogging operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartLogging for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartLogging method directly -// instead. +// See StartLogging for more information on using the StartLogging +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartLoggingRequest method. // req, resp := client.StartLoggingRequest(params) @@ -1448,19 +1436,18 @@ const opStopLogging = "StopLogging" // StopLoggingRequest generates a "aws/request.Request" representing the // client's request for the StopLogging operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StopLogging for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StopLogging method directly -// instead. +// See StopLogging for more information on using the StopLogging +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StopLoggingRequest method. // req, resp := client.StopLoggingRequest(params) @@ -1554,19 +1541,18 @@ const opUpdateTrail = "UpdateTrail" // UpdateTrailRequest generates a "aws/request.Request" representing the // client's request for the UpdateTrail operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateTrail for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateTrail method directly -// instead. +// See UpdateTrail for more information on using the UpdateTrail +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateTrailRequest method. // req, resp := client.UpdateTrailRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/cloudtrailiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/cloudtrailiface/interface.go index b50cdd68e..e1bc9fd56 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/cloudtrailiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/cloudtrailiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS CloudTrail. diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/doc.go b/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/doc.go index 0f25c8b7a..2e5893e5a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/doc.go @@ -32,69 +32,17 @@ // // Using the Client // -// To use the client for AWS CloudTrail you will first need -// to create a new instance of it. +// To AWS CloudTrail with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := cloudtrail.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS CloudTrail client CloudTrail for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/cloudtrail/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AddTags(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AddTags result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AddTagsWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package cloudtrail diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go index ba692e9a6..decde86cb 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go @@ -17,19 +17,18 @@ const opDeleteAlarms = "DeleteAlarms" // DeleteAlarmsRequest generates a "aws/request.Request" representing the // client's request for the DeleteAlarms operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteAlarms for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteAlarms method directly -// instead. +// See DeleteAlarms for more information on using the DeleteAlarms +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteAlarmsRequest method. // req, resp := client.DeleteAlarmsRequest(params) @@ -99,19 +98,18 @@ const opDeleteDashboards = "DeleteDashboards" // DeleteDashboardsRequest generates a "aws/request.Request" representing the // client's request for the DeleteDashboards operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDashboards for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDashboards method directly -// instead. +// See DeleteDashboards for more information on using the DeleteDashboards +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDashboardsRequest method. // req, resp := client.DeleteDashboardsRequest(params) @@ -186,19 +184,18 @@ const opDescribeAlarmHistory = "DescribeAlarmHistory" // DescribeAlarmHistoryRequest generates a "aws/request.Request" representing the // client's request for the DescribeAlarmHistory operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAlarmHistory for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAlarmHistory method directly -// instead. +// See DescribeAlarmHistory for more information on using the DescribeAlarmHistory +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAlarmHistoryRequest method. // req, resp := client.DescribeAlarmHistoryRequest(params) @@ -326,19 +323,18 @@ const opDescribeAlarms = "DescribeAlarms" // DescribeAlarmsRequest generates a "aws/request.Request" representing the // client's request for the DescribeAlarms operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAlarms for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAlarms method directly -// instead. +// See DescribeAlarms for more information on using the DescribeAlarms +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAlarmsRequest method. // req, resp := client.DescribeAlarmsRequest(params) @@ -464,19 +460,18 @@ const opDescribeAlarmsForMetric = "DescribeAlarmsForMetric" // DescribeAlarmsForMetricRequest generates a "aws/request.Request" representing the // client's request for the DescribeAlarmsForMetric operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAlarmsForMetric for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAlarmsForMetric method directly -// instead. +// See DescribeAlarmsForMetric for more information on using the DescribeAlarmsForMetric +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAlarmsForMetricRequest method. // req, resp := client.DescribeAlarmsForMetricRequest(params) @@ -540,19 +535,18 @@ const opDisableAlarmActions = "DisableAlarmActions" // DisableAlarmActionsRequest generates a "aws/request.Request" representing the // client's request for the DisableAlarmActions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisableAlarmActions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisableAlarmActions method directly -// instead. +// See DisableAlarmActions for more information on using the DisableAlarmActions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisableAlarmActionsRequest method. // req, resp := client.DisableAlarmActionsRequest(params) @@ -618,19 +612,18 @@ const opEnableAlarmActions = "EnableAlarmActions" // EnableAlarmActionsRequest generates a "aws/request.Request" representing the // client's request for the EnableAlarmActions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EnableAlarmActions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EnableAlarmActions method directly -// instead. +// See EnableAlarmActions for more information on using the EnableAlarmActions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EnableAlarmActionsRequest method. // req, resp := client.EnableAlarmActionsRequest(params) @@ -695,19 +688,18 @@ const opGetDashboard = "GetDashboard" // GetDashboardRequest generates a "aws/request.Request" representing the // client's request for the GetDashboard operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDashboard for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDashboard method directly -// instead. +// See GetDashboard for more information on using the GetDashboard +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDashboardRequest method. // req, resp := client.GetDashboardRequest(params) @@ -785,19 +777,18 @@ const opGetMetricStatistics = "GetMetricStatistics" // GetMetricStatisticsRequest generates a "aws/request.Request" representing the // client's request for the GetMetricStatistics operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetMetricStatistics for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetMetricStatistics method directly -// instead. +// See GetMetricStatistics for more information on using the GetMetricStatistics +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetMetricStatisticsRequest method. // req, resp := client.GetMetricStatisticsRequest(params) @@ -828,26 +819,11 @@ func (c *CloudWatch) GetMetricStatisticsRequest(input *GetMetricStatisticsInput) // // Gets statistics for the specified metric. // -// Amazon CloudWatch retains metric data as follows: -// -// * Data points with a period of 60 seconds (1-minute) are available for -// 15 days -// -// * Data points with a period of 300 seconds (5-minute) are available for -// 63 days -// -// * Data points with a period of 3600 seconds (1 hour) are available for -// 455 days (15 months) -// -// CloudWatch started retaining 5-minute and 1-hour metric data as of July 9, -// 2016. -// // The maximum number of data points returned from a single call is 1,440. If // you request more than 1,440 data points, CloudWatch returns an error. To // reduce the number of data points, you can narrow the specified time range // and make multiple requests across adjacent time ranges, or you can increase -// the specified period. A period can be as short as one minute (60 seconds). -// Data points are not returned in chronological order. +// the specified period. Data points are not returned in chronological order. // // CloudWatch aggregates data points based on the length of the period that // you specify. For example, if you request statistics with a one-hour period, @@ -863,8 +839,34 @@ func (c *CloudWatch) GetMetricStatisticsRequest(input *GetMetricStatisticsInput) // // * The Min and the Max values of the statistic set are equal. // -// For a list of metrics and dimensions supported by AWS services, see the Amazon -// CloudWatch Metrics and Dimensions Reference (http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html) +// Amazon CloudWatch retains metric data as follows: +// +// * Data points with a period of less than 60 seconds are available for +// 3 hours. These data points are high-resolution metrics and are available +// only for custom metrics that have been defined with a StorageResolution +// of 1. +// +// * Data points with a period of 60 seconds (1-minute) are available for +// 15 days. +// +// * Data points with a period of 300 seconds (5-minute) are available for +// 63 days. +// +// * Data points with a period of 3600 seconds (1 hour) are available for +// 455 days (15 months). +// +// Data points that are initially published with a shorter period are aggregated +// together for long-term storage. For example, if you collect data using a +// period of 1 minute, the data remains available for 15 days with 1-minute +// resolution. After 15 days, this data is still available, but is aggregated +// and retrievable only with a resolution of 5 minutes. After 63 days, the data +// is further aggregated and is available with a resolution of 1 hour. +// +// CloudWatch started retaining 5-minute and 1-hour metric data as of July 9, +// 2016. +// +// For information about metrics and dimensions supported by AWS services, see +// the Amazon CloudWatch Metrics and Dimensions Reference (http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html) // in the Amazon CloudWatch User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -913,19 +915,18 @@ const opListDashboards = "ListDashboards" // ListDashboardsRequest generates a "aws/request.Request" representing the // client's request for the ListDashboards operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDashboards for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDashboards method directly -// instead. +// See ListDashboards for more information on using the ListDashboards +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDashboardsRequest method. // req, resp := client.ListDashboardsRequest(params) @@ -998,19 +999,18 @@ const opListMetrics = "ListMetrics" // ListMetricsRequest generates a "aws/request.Request" representing the // client's request for the ListMetrics operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListMetrics for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListMetrics method directly -// instead. +// See ListMetrics for more information on using the ListMetrics +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListMetricsRequest method. // req, resp := client.ListMetricsRequest(params) @@ -1145,19 +1145,18 @@ const opPutDashboard = "PutDashboard" // PutDashboardRequest generates a "aws/request.Request" representing the // client's request for the PutDashboard operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutDashboard for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutDashboard method directly -// instead. +// See PutDashboard for more information on using the PutDashboard +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutDashboardRequest method. // req, resp := client.PutDashboardRequest(params) @@ -1193,9 +1192,18 @@ func (c *CloudWatch) PutDashboardRequest(input *PutDashboardInput) (req *request // You can have up to 500 dashboards per account. All dashboards in your account // are global, not region-specific. // -// To copy an existing dashboard, use GetDashboard, and then use the data returned -// within DashboardBody as the template for the new dashboard when you call -// PutDashboard to create the copy. +// A simple way to create a dashboard using PutDashboard is to copy an existing +// dashboard. To copy an existing dashboard using the console, you can load +// the dashboard and then use the View/edit source command in the Actions menu +// to display the JSON block for that dashboard. Another way to copy a dashboard +// is to use GetDashboard, and then use the data returned within DashboardBody +// as the template for the new dashboard when you call PutDashboard. +// +// When you create a dashboard with PutDashboard, a good practice is to add +// a text widget at the top of the dashboard with a message that the dashboard +// was created by script and should not be changed in the console. This message +// could also point console users to the location of the DashboardBody script +// or the CloudFormation template used to create the dashboard. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1237,19 +1245,18 @@ const opPutMetricAlarm = "PutMetricAlarm" // PutMetricAlarmRequest generates a "aws/request.Request" representing the // client's request for the PutMetricAlarm operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutMetricAlarm for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutMetricAlarm method directly -// instead. +// See PutMetricAlarm for more information on using the PutMetricAlarm +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutMetricAlarmRequest method. // req, resp := client.PutMetricAlarmRequest(params) @@ -1358,19 +1365,18 @@ const opPutMetricData = "PutMetricData" // PutMetricDataRequest generates a "aws/request.Request" representing the // client's request for the PutMetricData operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutMetricData for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutMetricData method directly -// instead. +// See PutMetricData for more information on using the PutMetricData +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutMetricDataRequest method. // req, resp := client.PutMetricDataRequest(params) @@ -1477,19 +1483,18 @@ const opSetAlarmState = "SetAlarmState" // SetAlarmStateRequest generates a "aws/request.Request" representing the // client's request for the SetAlarmState operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetAlarmState for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetAlarmState method directly -// instead. +// See SetAlarmState for more information on using the SetAlarmState +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetAlarmStateRequest method. // req, resp := client.SetAlarmStateRequest(params) @@ -2611,13 +2616,20 @@ type GetMetricStatisticsInput struct { // Namespace is a required field Namespace *string `min:"1" type:"string" required:"true"` - // The granularity, in seconds, of the returned data points. A period can be - // as short as one minute (60 seconds) and must be a multiple of 60. + // The granularity, in seconds, of the returned data points. For metrics with + // regular resolution, a period can be as short as one minute (60 seconds) and + // must be a multiple of 60. For high-resolution metrics that are collected + // at intervals of less than one minute, the period can be 1, 5, 10, 30, 60, + // or any multiple of 60. High-resolution metrics are those metrics stored by + // a PutMetricData call that includes a StorageResolution of 1 second. // - // If the StartTime parameter specifies a time stamp that is greater than 15 - // days ago, you must specify the period as follows or no data points in that + // If the StartTime parameter specifies a time stamp that is greater than 3 + // hours ago, you must specify the period as follows or no data points in that // time range is returned: // + // * Start time between 3 hours and 15 days ago - Use a multiple of 60 seconds + // (1 minute). + // // * Start time between 15 and 63 days ago - Use a multiple of 300 seconds // (5 minutes). // @@ -2644,6 +2656,14 @@ type GetMetricStatisticsInput struct { // * Start time greater than 63 days ago - Round down to the nearest 1-hour // clock interval. For example, 12:32:34 is rounded down to 12:00:00. // + // If you set Period to 5, 10, or 30, the start time of your request is rounded + // down to the nearest time that corresponds to even 5-, 10-, or 30-second divisions + // of a minute. For example, if you make a query at (HH:mm:ss) 01:05:23 for + // the previous 10-second period, the start time of your request is rounded + // down and you receive data from 01:05:10 to 01:05:20. If you make a query + // at 15:07:17 for the previous 5 minutes of data, using a period of 5 seconds, + // you receive data timestamped between 15:02:15 and 15:07:15. + // // StartTime is a required field StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` @@ -3062,8 +3082,8 @@ type MetricAlarm struct { // Used only for alarms based on percentiles. If ignore, the alarm state does // not change during periods with too few data points to be statistically significant. - // If evaluate or this parameter is not used, the alarm will always be evaluated - // and possibly change state no matter how many data points are available. + // If evaluate or this parameter is not used, the alarm is always evaluated + // and possibly changes state no matter how many data points are available. EvaluateLowSampleCountPercentile *string `min:"1" type:"string"` // The number of periods over which data is compared to the specified threshold. @@ -3289,6 +3309,15 @@ type MetricDatum struct { // The statistical values for the metric. StatisticValues *StatisticSet `type:"structure"` + // Valid values are 1 and 60. Setting this to 1 specifies this metric as a high-resolution + // metric, so that CloudWatch stores the metric with sub-minute resolution down + // to one second. Setting this to 60 specifies this metric as a regular-resolution + // metric, which CloudWatch stores at 1-minute resolution. Currently, high resolution + // is available only for custom metrics. For more information about high-resolution + // metrics, see High-Resolution Metrics (http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html#high-resolution-metrics) + // in the Amazon CloudWatch User Guide. + // + // This field is optional, if you do not specify it the default of 60 is used. StorageResolution *int64 `min:"1" type:"integer"` // The time the metric data was received, expressed as the number of milliseconds @@ -3407,7 +3436,7 @@ type PutDashboardInput struct { // The name of the dashboard. If a dashboard with this name already exists, // this call modifies that dashboard, replacing its current contents. Otherwise, // a new dashboard is created. The maximum length is 255, and valid characters - // are A-Z, a-z, 0-9, ".", "-", and "_". + // are A-Z, a-z, 0-9, "-", and "_". DashboardName *string `type:"string"` } @@ -3513,7 +3542,7 @@ type PutMetricAlarmInput struct { // The number of periods over which data is compared to the specified threshold. // An alarm's total current evaluation period can be no longer than one day, - // so this number multiplied by Period must be 86,400 or less. + // so this number multiplied by Period cannot be more than 86,400 seconds. // // EvaluationPeriods is a required field EvaluationPeriods *int64 `min:"1" type:"integer" required:"true"` @@ -3555,9 +3584,21 @@ type PutMetricAlarmInput struct { // | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Reboot/1.0 OKActions []*string `type:"list"` - // The period, in seconds, over which the specified statistic is applied. An - // alarm's total current evaluation period can be no longer than one day, so - // this number multiplied by EvaluationPeriods must be 86,400 or less. + // The period, in seconds, over which the specified statistic is applied. Valid + // values are 10, 30, and any multiple of 60. + // + // Be sure to specify 10 or 30 only for metrics that are stored by a PutMetricData + // call with a StorageResolution of 1. If you specify a Period of 10 or 30 for + // a metric that does not have sub-minute resolution, the alarm still attempts + // to gather data at the period rate that you specify. In this case, it does + // not receive data for the attempts that do not correspond to a one-minute + // data resolution, and the alarm may often lapse into INSUFFICENT_DATA status. + // Specifying 10 or 30 also sets this alarm as a high-resolution alarm, which + // has a higher charge than other alarms. For more information about pricing, + // see Amazon CloudWatch Pricing (https://aws.amazon.com/cloudwatch/pricing/). + // + // An alarm's total current evaluation period can be no longer than one day, + // so Period multiplied by EvaluationPeriods cannot be more than 86,400 seconds. // // Period is a required field Period *int64 `min:"1" type:"integer" required:"true"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/cloudwatchiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/cloudwatchiface/interface.go index 38d3dc60d..e3adbd9ca 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/cloudwatchiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/cloudwatchiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon CloudWatch. diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/doc.go b/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/doc.go index ef2f50250..d3cb024a1 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/doc.go @@ -26,69 +26,17 @@ // // Using the Client // -// To use the client for Amazon CloudWatch you will first need -// to create a new instance of it. +// To Amazon CloudWatch with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := cloudwatch.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon CloudWatch client CloudWatch for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/cloudwatch/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.DeleteAlarms(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("DeleteAlarms result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.DeleteAlarmsWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package cloudwatch diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/waiters.go index 064abf015..21e42ac58 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/waiters.go @@ -11,7 +11,7 @@ import ( // WaitUntilAlarmExists uses the CloudWatch API operation // DescribeAlarms to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *CloudWatch) WaitUntilAlarmExists(input *DescribeAlarmsInput) error { return c.WaitUntilAlarmExistsWithContext(aws.BackgroundContext(), input) diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/api.go index 7bcd85e39..fac78e968 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/api.go @@ -17,19 +17,18 @@ const opDeleteRule = "DeleteRule" // DeleteRuleRequest generates a "aws/request.Request" representing the // client's request for the DeleteRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteRule method directly -// instead. +// See DeleteRule for more information on using the DeleteRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteRuleRequest method. // req, resp := client.DeleteRuleRequest(params) @@ -108,19 +107,18 @@ const opDescribeEventBus = "DescribeEventBus" // DescribeEventBusRequest generates a "aws/request.Request" representing the // client's request for the DescribeEventBus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEventBus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEventBus method directly -// instead. +// See DescribeEventBus for more information on using the DescribeEventBus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEventBusRequest method. // req, resp := client.DescribeEventBusRequest(params) @@ -193,19 +191,18 @@ const opDescribeRule = "DescribeRule" // DescribeRuleRequest generates a "aws/request.Request" representing the // client's request for the DescribeRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeRule method directly -// instead. +// See DescribeRule for more information on using the DescribeRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeRuleRequest method. // req, resp := client.DescribeRuleRequest(params) @@ -276,19 +273,18 @@ const opDisableRule = "DisableRule" // DisableRuleRequest generates a "aws/request.Request" representing the // client's request for the DisableRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisableRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisableRule method directly -// instead. +// See DisableRule for more information on using the DisableRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisableRuleRequest method. // req, resp := client.DisableRuleRequest(params) @@ -368,19 +364,18 @@ const opEnableRule = "EnableRule" // EnableRuleRequest generates a "aws/request.Request" representing the // client's request for the EnableRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EnableRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EnableRule method directly -// instead. +// See EnableRule for more information on using the EnableRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EnableRuleRequest method. // req, resp := client.EnableRuleRequest(params) @@ -460,19 +455,18 @@ const opListRuleNamesByTarget = "ListRuleNamesByTarget" // ListRuleNamesByTargetRequest generates a "aws/request.Request" representing the // client's request for the ListRuleNamesByTarget operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListRuleNamesByTarget for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListRuleNamesByTarget method directly -// instead. +// See ListRuleNamesByTarget for more information on using the ListRuleNamesByTarget +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListRuleNamesByTargetRequest method. // req, resp := client.ListRuleNamesByTargetRequest(params) @@ -541,19 +535,18 @@ const opListRules = "ListRules" // ListRulesRequest generates a "aws/request.Request" representing the // client's request for the ListRules operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListRules for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListRules method directly -// instead. +// See ListRules for more information on using the ListRules +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListRulesRequest method. // req, resp := client.ListRulesRequest(params) @@ -622,19 +615,18 @@ const opListTargetsByRule = "ListTargetsByRule" // ListTargetsByRuleRequest generates a "aws/request.Request" representing the // client's request for the ListTargetsByRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTargetsByRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTargetsByRule method directly -// instead. +// See ListTargetsByRule for more information on using the ListTargetsByRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTargetsByRuleRequest method. // req, resp := client.ListTargetsByRuleRequest(params) @@ -705,19 +697,18 @@ const opPutEvents = "PutEvents" // PutEventsRequest generates a "aws/request.Request" representing the // client's request for the PutEvents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutEvents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutEvents method directly -// instead. +// See PutEvents for more information on using the PutEvents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutEventsRequest method. // req, resp := client.PutEventsRequest(params) @@ -786,19 +777,18 @@ const opPutPermission = "PutPermission" // PutPermissionRequest generates a "aws/request.Request" representing the // client's request for the PutPermission operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutPermission for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutPermission method directly -// instead. +// See PutPermission for more information on using the PutPermission +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutPermissionRequest method. // req, resp := client.PutPermissionRequest(params) @@ -840,6 +830,8 @@ func (c *CloudWatchEvents) PutPermissionRequest(input *PutPermissionInput) (req // To enable multiple AWS accounts to put events to your default event bus, // run PutPermission once for each of these accounts. // +// The permission policy on the default event bus cannot exceed 10KB in size. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -857,6 +849,9 @@ func (c *CloudWatchEvents) PutPermissionRequest(input *PutPermissionInput) (req // * ErrCodeInternalException "InternalException" // This exception occurs due to unexpected causes. // +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// There is concurrent modification on a rule or target. +// // Please also see https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/PutPermission func (c *CloudWatchEvents) PutPermission(input *PutPermissionInput) (*PutPermissionOutput, error) { req, out := c.PutPermissionRequest(input) @@ -883,19 +878,18 @@ const opPutRule = "PutRule" // PutRuleRequest generates a "aws/request.Request" representing the // client's request for the PutRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutRule method directly -// instead. +// See PutRule for more information on using the PutRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutRuleRequest method. // req, resp := client.PutRuleRequest(params) @@ -988,19 +982,18 @@ const opPutTargets = "PutTargets" // PutTargetsRequest generates a "aws/request.Request" representing the // client's request for the PutTargets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutTargets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutTargets method directly -// instead. +// See PutTargets for more information on using the PutTargets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutTargetsRequest method. // req, resp := client.PutTargetsRequest(params) @@ -1048,10 +1041,16 @@ func (c *CloudWatchEvents) PutTargetsRequest(input *PutTargetsInput) (req *reque // // * AWS Step Functions state machines // +// * Pipelines in Amazon Code Pipeline +// +// * Amazon Inspector assessment templates +// // * Amazon SNS topics // // * Amazon SQS queues // +// * The default event bus of another AWS account +// // Note that creating rules with built-in targets is supported only in the AWS // Management Console. // @@ -1070,10 +1069,16 @@ func (c *CloudWatchEvents) PutTargetsRequest(input *PutTargetsInput) (req *reque // in the Amazon CloudWatch Events User Guide. // // If another AWS account is in the same region and has granted you permission -// (using PutPermission), you can set that account's event bus as a target of -// the rules in your account. To send the matched events to the other account, -// specify that account's event bus as the Arn when you run PutTargets. For -// more information about enabling cross-account events, see PutPermission. +// (using PutPermission), you can send events to that account by setting that +// account's event bus as a target of the rules in your account. To send the +// matched events to the other account, specify that account's event bus as +// the Arn when you run PutTargets. If your account sends events to another +// account, your account is charged for each sent event. Each event sent to +// antoher account is charged as a custom event. The account receiving the event +// is not charged. For more information on pricing, see Amazon CloudWatch Pricing +// (https://aws.amazon.com/cloudwatch/pricing/). +// +// For more information about enabling cross-account events, see PutPermission. // // Input, InputPath and InputTransformer are mutually exclusive and optional // parameters of a target. When a rule is triggered due to a matched event: @@ -1152,19 +1157,18 @@ const opRemovePermission = "RemovePermission" // RemovePermissionRequest generates a "aws/request.Request" representing the // client's request for the RemovePermission operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemovePermission for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemovePermission method directly -// instead. +// See RemovePermission for more information on using the RemovePermission +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemovePermissionRequest method. // req, resp := client.RemovePermissionRequest(params) @@ -1214,6 +1218,9 @@ func (c *CloudWatchEvents) RemovePermissionRequest(input *RemovePermissionInput) // * ErrCodeInternalException "InternalException" // This exception occurs due to unexpected causes. // +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// There is concurrent modification on a rule or target. +// // Please also see https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/RemovePermission func (c *CloudWatchEvents) RemovePermission(input *RemovePermissionInput) (*RemovePermissionOutput, error) { req, out := c.RemovePermissionRequest(input) @@ -1240,19 +1247,18 @@ const opRemoveTargets = "RemoveTargets" // RemoveTargetsRequest generates a "aws/request.Request" representing the // client's request for the RemoveTargets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveTargets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveTargets method directly -// instead. +// See RemoveTargets for more information on using the RemoveTargets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveTargetsRequest method. // req, resp := client.RemoveTargetsRequest(params) @@ -1336,19 +1342,18 @@ const opTestEventPattern = "TestEventPattern" // TestEventPatternRequest generates a "aws/request.Request" representing the // client's request for the TestEventPattern operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TestEventPattern for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TestEventPattern method directly -// instead. +// See TestEventPattern for more information on using the TestEventPattern +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TestEventPatternRequest method. // req, resp := client.TestEventPatternRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/cloudwatcheventsiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/cloudwatcheventsiface/interface.go index 5fc85ab5b..458ae26d3 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/cloudwatcheventsiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/cloudwatcheventsiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon CloudWatch Events. diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/doc.go b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/doc.go index a56cf09dc..18792ebae 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/doc.go @@ -29,69 +29,17 @@ // // Using the Client // -// To use the client for Amazon CloudWatch Events you will first need -// to create a new instance of it. +// To Amazon CloudWatch Events with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := cloudwatchevents.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon CloudWatch Events client CloudWatchEvents for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/cloudwatchevents/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.DeleteRule(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("DeleteRule result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.DeleteRuleWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package cloudwatchevents diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/api.go index 1c0b9734b..a6fc9303b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/api.go @@ -12,23 +12,125 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" ) +const opAssociateKmsKey = "AssociateKmsKey" + +// AssociateKmsKeyRequest generates a "aws/request.Request" representing the +// client's request for the AssociateKmsKey operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AssociateKmsKey for more information on using the AssociateKmsKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the AssociateKmsKeyRequest method. +// req, resp := client.AssociateKmsKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/AssociateKmsKey +func (c *CloudWatchLogs) AssociateKmsKeyRequest(input *AssociateKmsKeyInput) (req *request.Request, output *AssociateKmsKeyOutput) { + op := &request.Operation{ + Name: opAssociateKmsKey, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssociateKmsKeyInput{} + } + + output = &AssociateKmsKeyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + return +} + +// AssociateKmsKey API operation for Amazon CloudWatch Logs. +// +// Associates the specified AWS Key Management Service (AWS KMS) customer master +// key (CMK) with the specified log group. +// +// Associating an AWS KMS CMK with a log group overrides any existing associations +// between the log group and a CMK. After a CMK is associated with a log group, +// all newly ingested data for the log group is encrypted using the CMK. This +// association is stored as long as the data encrypted with the CMK is still +// within Amazon CloudWatch Logs. This enables Amazon CloudWatch Logs to decrypt +// this data whenever it is requested. +// +// Note that it can take up to 5 minutes for this operation to take effect. +// +// If you attempt to associate a CMK with a log group but the CMK does not exist +// or the CMK is disabled, you will receive an InvalidParameterException error. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Logs's +// API operation AssociateKmsKey for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is specified incorrectly. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource does not exist. +// +// * ErrCodeOperationAbortedException "OperationAbortedException" +// Multiple requests to update the same resource were in conflict. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service cannot complete the request. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/AssociateKmsKey +func (c *CloudWatchLogs) AssociateKmsKey(input *AssociateKmsKeyInput) (*AssociateKmsKeyOutput, error) { + req, out := c.AssociateKmsKeyRequest(input) + return out, req.Send() +} + +// AssociateKmsKeyWithContext is the same as AssociateKmsKey with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateKmsKey for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudWatchLogs) AssociateKmsKeyWithContext(ctx aws.Context, input *AssociateKmsKeyInput, opts ...request.Option) (*AssociateKmsKeyOutput, error) { + req, out := c.AssociateKmsKeyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCancelExportTask = "CancelExportTask" // CancelExportTaskRequest generates a "aws/request.Request" representing the // client's request for the CancelExportTask operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CancelExportTask for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CancelExportTask method directly -// instead. +// See CancelExportTask for more information on using the CancelExportTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CancelExportTaskRequest method. // req, resp := client.CancelExportTaskRequest(params) @@ -109,19 +211,18 @@ const opCreateExportTask = "CreateExportTask" // CreateExportTaskRequest generates a "aws/request.Request" representing the // client's request for the CreateExportTask operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateExportTask for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateExportTask method directly -// instead. +// See CreateExportTask for more information on using the CreateExportTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateExportTaskRequest method. // req, resp := client.CreateExportTaskRequest(params) @@ -161,7 +262,7 @@ func (c *CloudWatchLogs) CreateExportTaskRequest(input *CreateExportTaskInput) ( // // You can export logs from multiple log groups or multiple time ranges to the // same S3 bucket. To separate out log data for each export task, you can specify -// a prefix that will be used as the Amazon S3 key prefix for all exported objects. +// a prefix to be used as the Amazon S3 key prefix for all exported objects. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -215,19 +316,18 @@ const opCreateLogGroup = "CreateLogGroup" // CreateLogGroupRequest generates a "aws/request.Request" representing the // client's request for the CreateLogGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateLogGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateLogGroup method directly -// instead. +// See CreateLogGroup for more information on using the CreateLogGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateLogGroupRequest method. // req, resp := client.CreateLogGroupRequest(params) @@ -271,6 +371,16 @@ func (c *CloudWatchLogs) CreateLogGroupRequest(input *CreateLogGroupInput) (req // * Log group names consist of the following characters: a-z, A-Z, 0-9, // '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period). // +// If you associate a AWS Key Management Service (AWS KMS) customer master key +// (CMK) with the log group, ingested data is encrypted using the CMK. This +// association is stored as long as the data encrypted with the CMK is still +// within Amazon CloudWatch Logs. This enables Amazon CloudWatch Logs to decrypt +// this data whenever it is requested. +// +// If you attempt to associate a CMK with the log group but the CMK does not +// exist or the CMK is disabled, you will receive an InvalidParameterException +// error. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -320,19 +430,18 @@ const opCreateLogStream = "CreateLogStream" // CreateLogStreamRequest generates a "aws/request.Request" representing the // client's request for the CreateLogStream operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateLogStream for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateLogStream method directly -// instead. +// See CreateLogStream for more information on using the CreateLogStream +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateLogStreamRequest method. // req, resp := client.CreateLogStreamRequest(params) @@ -422,19 +531,18 @@ const opDeleteDestination = "DeleteDestination" // DeleteDestinationRequest generates a "aws/request.Request" representing the // client's request for the DeleteDestination operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDestination for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDestination method directly -// instead. +// See DeleteDestination for more information on using the DeleteDestination +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDestinationRequest method. // req, resp := client.DeleteDestinationRequest(params) @@ -515,19 +623,18 @@ const opDeleteLogGroup = "DeleteLogGroup" // DeleteLogGroupRequest generates a "aws/request.Request" representing the // client's request for the DeleteLogGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteLogGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteLogGroup method directly -// instead. +// See DeleteLogGroup for more information on using the DeleteLogGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteLogGroupRequest method. // req, resp := client.DeleteLogGroupRequest(params) @@ -607,19 +714,18 @@ const opDeleteLogStream = "DeleteLogStream" // DeleteLogStreamRequest generates a "aws/request.Request" representing the // client's request for the DeleteLogStream operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteLogStream for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteLogStream method directly -// instead. +// See DeleteLogStream for more information on using the DeleteLogStream +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteLogStreamRequest method. // req, resp := client.DeleteLogStreamRequest(params) @@ -699,19 +805,18 @@ const opDeleteMetricFilter = "DeleteMetricFilter" // DeleteMetricFilterRequest generates a "aws/request.Request" representing the // client's request for the DeleteMetricFilter operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteMetricFilter for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteMetricFilter method directly -// instead. +// See DeleteMetricFilter for more information on using the DeleteMetricFilter +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteMetricFilterRequest method. // req, resp := client.DeleteMetricFilterRequest(params) @@ -786,23 +891,110 @@ func (c *CloudWatchLogs) DeleteMetricFilterWithContext(ctx aws.Context, input *D return out, req.Send() } +const opDeleteResourcePolicy = "DeleteResourcePolicy" + +// DeleteResourcePolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteResourcePolicy operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteResourcePolicy for more information on using the DeleteResourcePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteResourcePolicyRequest method. +// req, resp := client.DeleteResourcePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteResourcePolicy +func (c *CloudWatchLogs) DeleteResourcePolicyRequest(input *DeleteResourcePolicyInput) (req *request.Request, output *DeleteResourcePolicyOutput) { + op := &request.Operation{ + Name: opDeleteResourcePolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteResourcePolicyInput{} + } + + output = &DeleteResourcePolicyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteResourcePolicy API operation for Amazon CloudWatch Logs. +// +// Deletes a resource policy from this account. This revokes the access of the +// identities in that policy to put log events to this account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Logs's +// API operation DeleteResourcePolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is specified incorrectly. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource does not exist. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service cannot complete the request. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteResourcePolicy +func (c *CloudWatchLogs) DeleteResourcePolicy(input *DeleteResourcePolicyInput) (*DeleteResourcePolicyOutput, error) { + req, out := c.DeleteResourcePolicyRequest(input) + return out, req.Send() +} + +// DeleteResourcePolicyWithContext is the same as DeleteResourcePolicy with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteResourcePolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudWatchLogs) DeleteResourcePolicyWithContext(ctx aws.Context, input *DeleteResourcePolicyInput, opts ...request.Option) (*DeleteResourcePolicyOutput, error) { + req, out := c.DeleteResourcePolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteRetentionPolicy = "DeleteRetentionPolicy" // DeleteRetentionPolicyRequest generates a "aws/request.Request" representing the // client's request for the DeleteRetentionPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteRetentionPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteRetentionPolicy method directly -// instead. +// See DeleteRetentionPolicy for more information on using the DeleteRetentionPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteRetentionPolicyRequest method. // req, resp := client.DeleteRetentionPolicyRequest(params) @@ -884,19 +1076,18 @@ const opDeleteSubscriptionFilter = "DeleteSubscriptionFilter" // DeleteSubscriptionFilterRequest generates a "aws/request.Request" representing the // client's request for the DeleteSubscriptionFilter operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSubscriptionFilter for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSubscriptionFilter method directly -// instead. +// See DeleteSubscriptionFilter for more information on using the DeleteSubscriptionFilter +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSubscriptionFilterRequest method. // req, resp := client.DeleteSubscriptionFilterRequest(params) @@ -975,19 +1166,18 @@ const opDescribeDestinations = "DescribeDestinations" // DescribeDestinationsRequest generates a "aws/request.Request" representing the // client's request for the DescribeDestinations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDestinations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDestinations method directly -// instead. +// See DescribeDestinations for more information on using the DescribeDestinations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDestinationsRequest method. // req, resp := client.DescribeDestinationsRequest(params) @@ -1115,19 +1305,18 @@ const opDescribeExportTasks = "DescribeExportTasks" // DescribeExportTasksRequest generates a "aws/request.Request" representing the // client's request for the DescribeExportTasks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeExportTasks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeExportTasks method directly -// instead. +// See DescribeExportTasks for more information on using the DescribeExportTasks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeExportTasksRequest method. // req, resp := client.DescribeExportTasksRequest(params) @@ -1199,19 +1388,18 @@ const opDescribeLogGroups = "DescribeLogGroups" // DescribeLogGroupsRequest generates a "aws/request.Request" representing the // client's request for the DescribeLogGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeLogGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeLogGroups method directly -// instead. +// See DescribeLogGroups for more information on using the DescribeLogGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeLogGroupsRequest method. // req, resp := client.DescribeLogGroupsRequest(params) @@ -1339,19 +1527,18 @@ const opDescribeLogStreams = "DescribeLogStreams" // DescribeLogStreamsRequest generates a "aws/request.Request" representing the // client's request for the DescribeLogStreams operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeLogStreams for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeLogStreams method directly -// instead. +// See DescribeLogStreams for more information on using the DescribeLogStreams +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeLogStreamsRequest method. // req, resp := client.DescribeLogStreamsRequest(params) @@ -1486,19 +1673,18 @@ const opDescribeMetricFilters = "DescribeMetricFilters" // DescribeMetricFiltersRequest generates a "aws/request.Request" representing the // client's request for the DescribeMetricFilters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeMetricFilters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeMetricFilters method directly -// instead. +// See DescribeMetricFilters for more information on using the DescribeMetricFilters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeMetricFiltersRequest method. // req, resp := client.DescribeMetricFiltersRequest(params) @@ -1534,7 +1720,7 @@ func (c *CloudWatchLogs) DescribeMetricFiltersRequest(input *DescribeMetricFilte // DescribeMetricFilters API operation for Amazon CloudWatch Logs. // // Lists the specified metric filters. You can list all the metric filters or -// filter the results by log name, prefix, metric name, and metric namespace. +// filter the results by log name, prefix, metric name, or metric namespace. // The results are ASCII-sorted by filter name. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1626,23 +1812,104 @@ func (c *CloudWatchLogs) DescribeMetricFiltersPagesWithContext(ctx aws.Context, return p.Err() } +const opDescribeResourcePolicies = "DescribeResourcePolicies" + +// DescribeResourcePoliciesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeResourcePolicies operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeResourcePolicies for more information on using the DescribeResourcePolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeResourcePoliciesRequest method. +// req, resp := client.DescribeResourcePoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeResourcePolicies +func (c *CloudWatchLogs) DescribeResourcePoliciesRequest(input *DescribeResourcePoliciesInput) (req *request.Request, output *DescribeResourcePoliciesOutput) { + op := &request.Operation{ + Name: opDescribeResourcePolicies, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeResourcePoliciesInput{} + } + + output = &DescribeResourcePoliciesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeResourcePolicies API operation for Amazon CloudWatch Logs. +// +// Lists the resource policies in this account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Logs's +// API operation DescribeResourcePolicies for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is specified incorrectly. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service cannot complete the request. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeResourcePolicies +func (c *CloudWatchLogs) DescribeResourcePolicies(input *DescribeResourcePoliciesInput) (*DescribeResourcePoliciesOutput, error) { + req, out := c.DescribeResourcePoliciesRequest(input) + return out, req.Send() +} + +// DescribeResourcePoliciesWithContext is the same as DescribeResourcePolicies with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeResourcePolicies for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudWatchLogs) DescribeResourcePoliciesWithContext(ctx aws.Context, input *DescribeResourcePoliciesInput, opts ...request.Option) (*DescribeResourcePoliciesOutput, error) { + req, out := c.DescribeResourcePoliciesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeSubscriptionFilters = "DescribeSubscriptionFilters" // DescribeSubscriptionFiltersRequest generates a "aws/request.Request" representing the // client's request for the DescribeSubscriptionFilters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSubscriptionFilters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSubscriptionFilters method directly -// instead. +// See DescribeSubscriptionFilters for more information on using the DescribeSubscriptionFilters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSubscriptionFiltersRequest method. // req, resp := client.DescribeSubscriptionFiltersRequest(params) @@ -1770,23 +2037,120 @@ func (c *CloudWatchLogs) DescribeSubscriptionFiltersPagesWithContext(ctx aws.Con return p.Err() } +const opDisassociateKmsKey = "DisassociateKmsKey" + +// DisassociateKmsKeyRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateKmsKey operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DisassociateKmsKey for more information on using the DisassociateKmsKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DisassociateKmsKeyRequest method. +// req, resp := client.DisassociateKmsKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DisassociateKmsKey +func (c *CloudWatchLogs) DisassociateKmsKeyRequest(input *DisassociateKmsKeyInput) (req *request.Request, output *DisassociateKmsKeyOutput) { + op := &request.Operation{ + Name: opDisassociateKmsKey, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisassociateKmsKeyInput{} + } + + output = &DisassociateKmsKeyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + return +} + +// DisassociateKmsKey API operation for Amazon CloudWatch Logs. +// +// Disassociates the associated AWS Key Management Service (AWS KMS) customer +// master key (CMK) from the specified log group. +// +// After the AWS KMS CMK is disassociated from the log group, AWS CloudWatch +// Logs stops encrypting newly ingested data for the log group. All previously +// ingested data remains encrypted, and AWS CloudWatch Logs requires permissions +// for the CMK whenever the encrypted data is requested. +// +// Note that it can take up to 5 minutes for this operation to take effect. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Logs's +// API operation DisassociateKmsKey for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is specified incorrectly. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource does not exist. +// +// * ErrCodeOperationAbortedException "OperationAbortedException" +// Multiple requests to update the same resource were in conflict. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service cannot complete the request. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DisassociateKmsKey +func (c *CloudWatchLogs) DisassociateKmsKey(input *DisassociateKmsKeyInput) (*DisassociateKmsKeyOutput, error) { + req, out := c.DisassociateKmsKeyRequest(input) + return out, req.Send() +} + +// DisassociateKmsKeyWithContext is the same as DisassociateKmsKey with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateKmsKey for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudWatchLogs) DisassociateKmsKeyWithContext(ctx aws.Context, input *DisassociateKmsKeyInput, opts ...request.Option) (*DisassociateKmsKeyOutput, error) { + req, out := c.DisassociateKmsKeyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opFilterLogEvents = "FilterLogEvents" // FilterLogEventsRequest generates a "aws/request.Request" representing the // client's request for the FilterLogEvents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See FilterLogEvents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the FilterLogEvents method directly -// instead. +// See FilterLogEvents for more information on using the FilterLogEvents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the FilterLogEventsRequest method. // req, resp := client.FilterLogEventsRequest(params) @@ -1825,11 +2189,11 @@ func (c *CloudWatchLogs) FilterLogEventsRequest(input *FilterLogEventsInput) (re // or filter the results using a filter pattern, a time range, and the name // of the log stream. // -// By default, this operation returns as many log events as can fit in 1MB (up -// to 10,000 log events), or all the events found within the time range that -// you specify. If the results include a token, then there are more log events -// available, and you can get additional results by specifying the token in -// a subsequent call. +// By default, this operation returns as many log events as can fit in 1 MB +// (up to 10,000 log events), or all the events found within the time range +// that you specify. If the results include a token, then there are more log +// events available, and you can get additional results by specifying the token +// in a subsequent call. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1924,19 +2288,18 @@ const opGetLogEvents = "GetLogEvents" // GetLogEventsRequest generates a "aws/request.Request" representing the // client's request for the GetLogEvents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetLogEvents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetLogEvents method directly -// instead. +// See GetLogEvents for more information on using the GetLogEvents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetLogEventsRequest method. // req, resp := client.GetLogEventsRequest(params) @@ -1975,9 +2338,8 @@ func (c *CloudWatchLogs) GetLogEventsRequest(input *GetLogEventsInput) (req *req // events or filter using a time range. // // By default, this operation returns as many log events as can fit in a response -// size of 1MB (up to 10,000 log events). If the results include tokens, there -// are more log events available. You can get additional log events by specifying -// one of the tokens in a subsequent call. +// size of 1MB (up to 10,000 log events). You can get additional log events +// by specifying one of the tokens in a subsequent call. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2072,19 +2434,18 @@ const opListTagsLogGroup = "ListTagsLogGroup" // ListTagsLogGroupRequest generates a "aws/request.Request" representing the // client's request for the ListTagsLogGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTagsLogGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTagsLogGroup method directly -// instead. +// See ListTagsLogGroup for more information on using the ListTagsLogGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTagsLogGroupRequest method. // req, resp := client.ListTagsLogGroupRequest(params) @@ -2115,8 +2476,6 @@ func (c *CloudWatchLogs) ListTagsLogGroupRequest(input *ListTagsLogGroupInput) ( // // Lists the tags for the specified log group. // -// To add tags, use TagLogGroup. To remove tags, use UntagLogGroup. -// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -2157,19 +2516,18 @@ const opPutDestination = "PutDestination" // PutDestinationRequest generates a "aws/request.Request" representing the // client's request for the PutDestination operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutDestination for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutDestination method directly -// instead. +// See PutDestination for more information on using the PutDestination +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutDestinationRequest method. // req, resp := client.PutDestinationRequest(params) @@ -2199,14 +2557,14 @@ func (c *CloudWatchLogs) PutDestinationRequest(input *PutDestinationInput) (req // PutDestination API operation for Amazon CloudWatch Logs. // // Creates or updates a destination. A destination encapsulates a physical resource -// (such as a Kinesis stream) and enables you to subscribe to a real-time stream -// of log events of a different account, ingested using PutLogEvents. Currently, -// the only supported physical resource is a Amazon Kinesis stream belonging +// (such as an Amazon Kinesis stream) and enables you to subscribe to a real-time +// stream of log events for a different account, ingested using PutLogEvents. +// Currently, the only supported physical resource is a Kinesis stream belonging // to the same account as the destination. // -// A destination controls what is written to its Amazon Kinesis stream through -// an access policy. By default, PutDestination does not set any access policy -// with the destination, which means a cross-account user cannot call PutSubscriptionFilter +// Through an access policy, a destination controls what is written to its Kinesis +// stream. By default, PutDestination does not set any access policy with the +// destination, which means a cross-account user cannot call PutSubscriptionFilter // against this destination. To enable this, the destination owner must call // PutDestinationPolicy after PutDestination. // @@ -2253,19 +2611,18 @@ const opPutDestinationPolicy = "PutDestinationPolicy" // PutDestinationPolicyRequest generates a "aws/request.Request" representing the // client's request for the PutDestinationPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutDestinationPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutDestinationPolicy method directly -// instead. +// See PutDestinationPolicy for more information on using the PutDestinationPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutDestinationPolicyRequest method. // req, resp := client.PutDestinationPolicyRequest(params) @@ -2344,19 +2701,18 @@ const opPutLogEvents = "PutLogEvents" // PutLogEventsRequest generates a "aws/request.Request" representing the // client's request for the PutLogEvents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutLogEvents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutLogEvents method directly -// instead. +// See PutLogEvents for more information on using the PutLogEvents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutLogEventsRequest method. // req, resp := client.PutLogEventsRequest(params) @@ -2389,7 +2745,9 @@ func (c *CloudWatchLogs) PutLogEventsRequest(input *PutLogEventsInput) (req *req // // You must include the sequence token obtained from the response of the previous // call. An upload in a newly created log stream does not require a sequence -// token. You can also get the sequence token using DescribeLogStreams. +// token. You can also get the sequence token using DescribeLogStreams. If you +// call PutLogEvents twice within a narrow time period using the same value +// for sequenceToken, both calls may be successful, or one may be rejected. // // The batch of events must satisfy the following constraints: // @@ -2404,8 +2762,8 @@ func (c *CloudWatchLogs) PutLogEventsRequest(input *PutLogEventsInput) (req *req // retention period of the log group. // // * The log events in the batch must be in chronological ordered by their -// timestamp (the time the event occurred, expressed as the number of milliseconds -// since Jan 1, 1970 00:00:00 UTC). +// time stamp (the time the event occurred, expressed as the number of milliseconds +// after Jan 1, 1970 00:00:00 UTC). // // * The maximum number of log events in a batch is 10,000. // @@ -2461,19 +2819,18 @@ const opPutMetricFilter = "PutMetricFilter" // PutMetricFilterRequest generates a "aws/request.Request" representing the // client's request for the PutMetricFilter operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutMetricFilter for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutMetricFilter method directly -// instead. +// See PutMetricFilter for more information on using the PutMetricFilter +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutMetricFilterRequest method. // req, resp := client.PutMetricFilterRequest(params) @@ -2556,23 +2913,109 @@ func (c *CloudWatchLogs) PutMetricFilterWithContext(ctx aws.Context, input *PutM return out, req.Send() } +const opPutResourcePolicy = "PutResourcePolicy" + +// PutResourcePolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutResourcePolicy operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutResourcePolicy for more information on using the PutResourcePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the PutResourcePolicyRequest method. +// req, resp := client.PutResourcePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutResourcePolicy +func (c *CloudWatchLogs) PutResourcePolicyRequest(input *PutResourcePolicyInput) (req *request.Request, output *PutResourcePolicyOutput) { + op := &request.Operation{ + Name: opPutResourcePolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutResourcePolicyInput{} + } + + output = &PutResourcePolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutResourcePolicy API operation for Amazon CloudWatch Logs. +// +// Creates or updates a resource policy allowing other AWS services to put log +// events to this account, such as Amazon Route 53. An account can have up to +// 50 resource policies per region. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Logs's +// API operation PutResourcePolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is specified incorrectly. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// You have reached the maximum number of resources that can be created. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service cannot complete the request. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutResourcePolicy +func (c *CloudWatchLogs) PutResourcePolicy(input *PutResourcePolicyInput) (*PutResourcePolicyOutput, error) { + req, out := c.PutResourcePolicyRequest(input) + return out, req.Send() +} + +// PutResourcePolicyWithContext is the same as PutResourcePolicy with the addition of +// the ability to pass a context and additional request options. +// +// See PutResourcePolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudWatchLogs) PutResourcePolicyWithContext(ctx aws.Context, input *PutResourcePolicyInput, opts ...request.Option) (*PutResourcePolicyOutput, error) { + req, out := c.PutResourcePolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opPutRetentionPolicy = "PutRetentionPolicy" // PutRetentionPolicyRequest generates a "aws/request.Request" representing the // client's request for the PutRetentionPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutRetentionPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutRetentionPolicy method directly -// instead. +// See PutRetentionPolicy for more information on using the PutRetentionPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutRetentionPolicyRequest method. // req, resp := client.PutRetentionPolicyRequest(params) @@ -2604,7 +3047,7 @@ func (c *CloudWatchLogs) PutRetentionPolicyRequest(input *PutRetentionPolicyInpu // PutRetentionPolicy API operation for Amazon CloudWatch Logs. // // Sets the retention of the specified log group. A retention policy allows -// you to configure the number of days you want to retain log events in the +// you to configure the number of days for which to retain log events in the // specified log group. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2653,19 +3096,18 @@ const opPutSubscriptionFilter = "PutSubscriptionFilter" // PutSubscriptionFilterRequest generates a "aws/request.Request" representing the // client's request for the PutSubscriptionFilter operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutSubscriptionFilter for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutSubscriptionFilter method directly -// instead. +// See PutSubscriptionFilter for more information on using the PutSubscriptionFilter +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutSubscriptionFilterRequest method. // req, resp := client.PutSubscriptionFilterRequest(params) @@ -2707,16 +3149,16 @@ func (c *CloudWatchLogs) PutSubscriptionFilterRequest(input *PutSubscriptionFilt // * A logical destination that belongs to a different account, for cross-account // delivery. // -// * An Amazon Kinesis Firehose stream that belongs to the same account as -// the subscription filter, for same-account delivery. +// * An Amazon Kinesis Firehose delivery stream that belongs to the same +// account as the subscription filter, for same-account delivery. // // * An AWS Lambda function that belongs to the same account as the subscription // filter, for same-account delivery. // // There can only be one subscription filter associated with a log group. If // you are updating an existing filter, you must specify the correct name in -// filterName. Otherwise, the call will fail because you cannot associate a -// second filter with a log group. +// filterName. Otherwise, the call fails because you cannot associate a second +// filter with a log group. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2767,19 +3209,18 @@ const opTagLogGroup = "TagLogGroup" // TagLogGroupRequest generates a "aws/request.Request" representing the // client's request for the TagLogGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TagLogGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TagLogGroup method directly -// instead. +// See TagLogGroup for more information on using the TagLogGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TagLogGroupRequest method. // req, resp := client.TagLogGroupRequest(params) @@ -2859,19 +3300,18 @@ const opTestMetricFilter = "TestMetricFilter" // TestMetricFilterRequest generates a "aws/request.Request" representing the // client's request for the TestMetricFilter operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TestMetricFilter for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TestMetricFilter method directly -// instead. +// See TestMetricFilter for more information on using the TestMetricFilter +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TestMetricFilterRequest method. // req, resp := client.TestMetricFilterRequest(params) @@ -2944,19 +3384,18 @@ const opUntagLogGroup = "UntagLogGroup" // UntagLogGroupRequest generates a "aws/request.Request" representing the // client's request for the UntagLogGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UntagLogGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UntagLogGroup method directly -// instead. +// See UntagLogGroup for more information on using the UntagLogGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UntagLogGroupRequest method. // req, resp := client.UntagLogGroupRequest(params) @@ -3025,6 +3464,79 @@ func (c *CloudWatchLogs) UntagLogGroupWithContext(ctx aws.Context, input *UntagL return out, req.Send() } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/AssociateKmsKeyRequest +type AssociateKmsKeyInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. + // For more information, see Amazon Resource Names - AWS Key Management Service + // (AWS KMS) (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kms). + // + // KmsKeyId is a required field + KmsKeyId *string `locationName:"kmsKeyId" type:"string" required:"true"` + + // The name of the log group. + // + // LogGroupName is a required field + LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateKmsKeyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateKmsKeyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateKmsKeyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateKmsKeyInput"} + if s.KmsKeyId == nil { + invalidParams.Add(request.NewErrParamRequired("KmsKeyId")) + } + if s.LogGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("LogGroupName")) + } + if s.LogGroupName != nil && len(*s.LogGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *AssociateKmsKeyInput) SetKmsKeyId(v string) *AssociateKmsKeyInput { + s.KmsKeyId = &v + return s +} + +// SetLogGroupName sets the LogGroupName field's value. +func (s *AssociateKmsKeyInput) SetLogGroupName(v string) *AssociateKmsKeyInput { + s.LogGroupName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/AssociateKmsKeyOutput +type AssociateKmsKeyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AssociateKmsKeyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateKmsKeyOutput) GoString() string { + return s.String() +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/CancelExportTaskRequest type CancelExportTaskInput struct { _ struct{} `type:"structure"` @@ -3097,7 +3609,7 @@ type CreateExportTaskInput struct { DestinationPrefix *string `locationName:"destinationPrefix" type:"string"` // The start time of the range for the request, expressed as the number of milliseconds - // since Jan 1, 1970 00:00:00 UTC. Events with a timestamp earlier than this + // after Jan 1, 1970 00:00:00 UTC. Events with a time stamp earlier than this // time are not exported. // // From is a required field @@ -3116,8 +3628,8 @@ type CreateExportTaskInput struct { TaskName *string `locationName:"taskName" min:"1" type:"string"` // The end time of the range for the request, expressed as the number of milliseconds - // since Jan 1, 1970 00:00:00 UTC. Events with a timestamp later than this time - // are not exported. + // after Jan 1, 1970 00:00:00 UTC. Events with a time stamp later than this + // time are not exported. // // To is a required field To *int64 `locationName:"to" type:"long" required:"true"` @@ -3237,6 +3749,11 @@ func (s *CreateExportTaskOutput) SetTaskId(v string) *CreateExportTaskOutput { type CreateLogGroupInput struct { _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. + // For more information, see Amazon Resource Names - AWS Key Management Service + // (AWS KMS) (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kms). + KmsKeyId *string `locationName:"kmsKeyId" type:"string"` + // The name of the log group. // // LogGroupName is a required field @@ -3275,6 +3792,12 @@ func (s *CreateLogGroupInput) Validate() error { return nil } +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CreateLogGroupInput) SetKmsKeyId(v string) *CreateLogGroupInput { + s.KmsKeyId = &v + return s +} + // SetLogGroupName sets the LogGroupName field's value. func (s *CreateLogGroupInput) SetLogGroupName(v string) *CreateLogGroupInput { s.LogGroupName = &v @@ -3638,6 +4161,45 @@ func (s DeleteMetricFilterOutput) GoString() string { return s.String() } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteResourcePolicyRequest +type DeleteResourcePolicyInput struct { + _ struct{} `type:"structure"` + + // The name of the policy to be revoked. This parameter is required. + PolicyName *string `locationName:"policyName" type:"string"` +} + +// String returns the string representation +func (s DeleteResourcePolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResourcePolicyInput) GoString() string { + return s.String() +} + +// SetPolicyName sets the PolicyName field's value. +func (s *DeleteResourcePolicyInput) SetPolicyName(v string) *DeleteResourcePolicyInput { + s.PolicyName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteResourcePolicyOutput +type DeleteResourcePolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteResourcePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResourcePolicyOutput) GoString() string { + return s.String() +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteRetentionPolicyRequest type DeleteRetentionPolicyInput struct { _ struct{} `type:"structure"` @@ -4091,7 +4653,7 @@ type DescribeLogStreamsInput struct { // The prefix to match. // - // You cannot specify this parameter if orderBy is LastEventTime. + // iIf orderBy is LastEventTime,you cannot specify this parameter. LogStreamNamePrefix *string `locationName:"logStreamNamePrefix" min:"1" type:"string"` // The token for the next set of items to return. (You received this token from @@ -4107,7 +4669,7 @@ type DescribeLogStreamsInput struct { // // lastEventTimestamp represents the time of the most recent log event in the // log stream in CloudWatch Logs. This number is expressed as the number of - // milliseconds since Jan 1, 1970 00:00:00 UTC. lastEventTimeStamp updates on + // milliseconds after Jan 1, 1970 00:00:00 UTC. lastEventTimeStamp updates on // an eventual consistency basis. It typically updates in less than an hour // from ingestion, but may take longer in some rare situations. OrderBy *string `locationName:"orderBy" type:"string" enum:"OrderBy"` @@ -4232,7 +4794,8 @@ type DescribeMetricFiltersInput struct { // The name of the log group. LogGroupName *string `locationName:"logGroupName" min:"1" type:"string"` - // The name of the CloudWatch metric. + // The name of the CloudWatch metric to which the monitored log information + // should be published. For example, you may publish to a metric called ErrorCount. MetricName *string `locationName:"metricName" type:"string"` // The namespace of the CloudWatch metric. @@ -4345,6 +4908,91 @@ func (s *DescribeMetricFiltersOutput) SetNextToken(v string) *DescribeMetricFilt return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeResourcePoliciesRequest +type DescribeResourcePoliciesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of resource policies to be displayed with one call of + // this API. + Limit *int64 `locationName:"limit" min:"1" type:"integer"` + + // The token for the next set of items to return. The token expires after 24 + // hours. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeResourcePoliciesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeResourcePoliciesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeResourcePoliciesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeResourcePoliciesInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLimit sets the Limit field's value. +func (s *DescribeResourcePoliciesInput) SetLimit(v int64) *DescribeResourcePoliciesInput { + s.Limit = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeResourcePoliciesInput) SetNextToken(v string) *DescribeResourcePoliciesInput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeResourcePoliciesResponse +type DescribeResourcePoliciesOutput struct { + _ struct{} `type:"structure"` + + // The token for the next set of items to return. The token expires after 24 + // hours. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // The resource policies that exist in this account. + ResourcePolicies []*ResourcePolicy `locationName:"resourcePolicies" type:"list"` +} + +// String returns the string representation +func (s DescribeResourcePoliciesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeResourcePoliciesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeResourcePoliciesOutput) SetNextToken(v string) *DescribeResourcePoliciesOutput { + s.NextToken = &v + return s +} + +// SetResourcePolicies sets the ResourcePolicies field's value. +func (s *DescribeResourcePoliciesOutput) SetResourcePolicies(v []*ResourcePolicy) *DescribeResourcePoliciesOutput { + s.ResourcePolicies = v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeSubscriptionFiltersRequest type DescribeSubscriptionFiltersInput struct { _ struct{} `type:"structure"` @@ -4472,7 +5120,7 @@ type Destination struct { Arn *string `locationName:"arn" type:"string"` // The creation time of the destination, expressed as the number of milliseconds - // since Jan 1, 1970 00:00:00 UTC. + // after Jan 1, 1970 00:00:00 UTC. CreationTime *int64 `locationName:"creationTime" type:"long"` // The name of the destination. @@ -4481,8 +5129,8 @@ type Destination struct { // A role for impersonation, used when delivering log events to the target. RoleArn *string `locationName:"roleArn" min:"1" type:"string"` - // The Amazon Resource Name (ARN) of the physical target where the log events - // will be delivered (for example, a Kinesis stream). + // The Amazon Resource Name (ARN) of the physical target to where the log events + // are delivered (for example, a Kinesis stream). TargetArn *string `locationName:"targetArn" min:"1" type:"string"` } @@ -4532,6 +5180,63 @@ func (s *Destination) SetTargetArn(v string) *Destination { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DisassociateKmsKeyRequest +type DisassociateKmsKeyInput struct { + _ struct{} `type:"structure"` + + // The name of the log group. + // + // LogGroupName is a required field + LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DisassociateKmsKeyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateKmsKeyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateKmsKeyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateKmsKeyInput"} + if s.LogGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("LogGroupName")) + } + if s.LogGroupName != nil && len(*s.LogGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLogGroupName sets the LogGroupName field's value. +func (s *DisassociateKmsKeyInput) SetLogGroupName(v string) *DisassociateKmsKeyInput { + s.LogGroupName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DisassociateKmsKeyOutput +type DisassociateKmsKeyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DisassociateKmsKeyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateKmsKeyOutput) GoString() string { + return s.String() +} + // Represents an export task. // Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ExportTask type ExportTask struct { @@ -4546,8 +5251,8 @@ type ExportTask struct { // Execution info about the export task. ExecutionInfo *ExportTaskExecutionInfo `locationName:"executionInfo" type:"structure"` - // The start time, expressed as the number of milliseconds since Jan 1, 1970 - // 00:00:00 UTC. Events with a timestamp prior to this time are not exported. + // The start time, expressed as the number of milliseconds after Jan 1, 1970 + // 00:00:00 UTC. Events with a time stamp before this time are not exported. From *int64 `locationName:"from" type:"long"` // The name of the log group from which logs data was exported. @@ -4562,8 +5267,8 @@ type ExportTask struct { // The name of the export task. TaskName *string `locationName:"taskName" min:"1" type:"string"` - // The end time, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 - // UTC. Events with a timestamp later than this time are not exported. + // The end time, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 + // UTC. Events with a time stamp later than this time are not exported. To *int64 `locationName:"to" type:"long"` } @@ -4637,11 +5342,11 @@ type ExportTaskExecutionInfo struct { _ struct{} `type:"structure"` // The completion time of the export task, expressed as the number of milliseconds - // since Jan 1, 1970 00:00:00 UTC. + // after Jan 1, 1970 00:00:00 UTC. CompletionTime *int64 `locationName:"completionTime" type:"long"` // The creation time of the export task, expressed as the number of milliseconds - // since Jan 1, 1970 00:00:00 UTC. + // after Jan 1, 1970 00:00:00 UTC. CreationTime *int64 `locationName:"creationTime" type:"long"` } @@ -4705,8 +5410,8 @@ func (s *ExportTaskStatus) SetMessage(v string) *ExportTaskStatus { type FilterLogEventsInput struct { _ struct{} `type:"structure"` - // The end of the time range, expressed as the number of milliseconds since - // Jan 1, 1970 00:00:00 UTC. Events with a timestamp later than this time are + // The end of the time range, expressed as the number of milliseconds after + // Jan 1, 1970 00:00:00 UTC. Events with a time stamp later than this time are // not returned. EndTime *int64 `locationName:"endTime" type:"long"` @@ -4714,8 +5419,8 @@ type FilterLogEventsInput struct { FilterPattern *string `locationName:"filterPattern" type:"string"` // If the value is true, the operation makes a best effort to provide responses - // that contain events from multiple log streams within the log group interleaved - // in a single response. If the value is false all the matched log events in + // that contain events from multiple log streams within the log group, interleaved + // in a single response. If the value is false, all the matched log events in // the first log stream are searched first, then those in the next log stream, // and so on. The default is false. Interleaved *bool `locationName:"interleaved" type:"boolean"` @@ -4735,9 +5440,9 @@ type FilterLogEventsInput struct { // from a previous call.) NextToken *string `locationName:"nextToken" min:"1" type:"string"` - // The start of the time range, expressed as the number of milliseconds since - // Jan 1, 1970 00:00:00 UTC. Events with a timestamp prior to this time are - // not returned. + // The start of the time range, expressed as the number of milliseconds after + // Jan 1, 1970 00:00:00 UTC. Events with a time stamp before this time are not + // returned. StartTime *int64 `locationName:"startTime" type:"long"` } @@ -4877,7 +5582,7 @@ type FilteredLogEvent struct { EventId *string `locationName:"eventId" type:"string"` // The time the event was ingested, expressed as the number of milliseconds - // since Jan 1, 1970 00:00:00 UTC. + // after Jan 1, 1970 00:00:00 UTC. IngestionTime *int64 `locationName:"ingestionTime" type:"long"` // The name of the log stream this event belongs to. @@ -4886,7 +5591,7 @@ type FilteredLogEvent struct { // The data contained in the log event. Message *string `locationName:"message" min:"1" type:"string"` - // The time the event occurred, expressed as the number of milliseconds since + // The time the event occurred, expressed as the number of milliseconds after // Jan 1, 1970 00:00:00 UTC. Timestamp *int64 `locationName:"timestamp" type:"long"` } @@ -4935,14 +5640,14 @@ func (s *FilteredLogEvent) SetTimestamp(v int64) *FilteredLogEvent { type GetLogEventsInput struct { _ struct{} `type:"structure"` - // The end of the time range, expressed as the number of milliseconds since - // Jan 1, 1970 00:00:00 UTC. Events with a timestamp later than this time are + // The end of the time range, expressed as the number of milliseconds after + // Jan 1, 1970 00:00:00 UTC. Events with a time stamp later than this time are // not included. EndTime *int64 `locationName:"endTime" type:"long"` // The maximum number of log events returned. If you don't specify a value, - // the maximum is as many log events as can fit in a response size of 1MB, up - // to 10,000 log events. + // the maximum is as many log events as can fit in a response size of 1 MB, + // up to 10,000 log events. Limit *int64 `locationName:"limit" min:"1" type:"integer"` // The name of the log group. @@ -4964,8 +5669,8 @@ type GetLogEventsInput struct { // is false. StartFromHead *bool `locationName:"startFromHead" type:"boolean"` - // The start of the time range, expressed as the number of milliseconds since - // Jan 1, 1970 00:00:00 UTC. Events with a timestamp earlier than this time + // The start of the time range, expressed as the number of milliseconds after + // Jan 1, 1970 00:00:00 UTC. Events with a time stamp earlier than this time // are not included. StartTime *int64 `locationName:"startTime" type:"long"` } @@ -5105,7 +5810,7 @@ type InputLogEvent struct { // Message is a required field Message *string `locationName:"message" min:"1" type:"string" required:"true"` - // The time the event occurred, expressed as the number of milliseconds since + // The time the event occurred, expressed as the number of milliseconds fter // Jan 1, 1970 00:00:00 UTC. // // Timestamp is a required field @@ -5199,7 +5904,7 @@ func (s *ListTagsLogGroupInput) SetLogGroupName(v string) *ListTagsLogGroupInput type ListTagsLogGroupOutput struct { _ struct{} `type:"structure"` - // The tags. + // The tags for the log group. Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } @@ -5228,9 +5933,12 @@ type LogGroup struct { Arn *string `locationName:"arn" type:"string"` // The creation time of the log group, expressed as the number of milliseconds - // since Jan 1, 1970 00:00:00 UTC. + // after Jan 1, 1970 00:00:00 UTC. CreationTime *int64 `locationName:"creationTime" type:"long"` + // The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. + KmsKeyId *string `locationName:"kmsKeyId" type:"string"` + // The name of the log group. LogGroupName *string `locationName:"logGroupName" min:"1" type:"string"` @@ -5268,6 +5976,12 @@ func (s *LogGroup) SetCreationTime(v int64) *LogGroup { return s } +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *LogGroup) SetKmsKeyId(v string) *LogGroup { + s.KmsKeyId = &v + return s +} + // SetLogGroupName sets the LogGroupName field's value. func (s *LogGroup) SetLogGroupName(v string) *LogGroup { s.LogGroupName = &v @@ -5302,21 +6016,21 @@ type LogStream struct { Arn *string `locationName:"arn" type:"string"` // The creation time of the stream, expressed as the number of milliseconds - // since Jan 1, 1970 00:00:00 UTC. + // after Jan 1, 1970 00:00:00 UTC. CreationTime *int64 `locationName:"creationTime" type:"long"` - // The time of the first event, expressed as the number of milliseconds since + // The time of the first event, expressed as the number of milliseconds after // Jan 1, 1970 00:00:00 UTC. FirstEventTimestamp *int64 `locationName:"firstEventTimestamp" type:"long"` // the time of the most recent log event in the log stream in CloudWatch Logs. - // This number is expressed as the number of milliseconds since Jan 1, 1970 + // This number is expressed as the number of milliseconds after Jan 1, 1970 // 00:00:00 UTC. lastEventTime updates on an eventual consistency basis. It // typically updates in less than an hour from ingestion, but may take longer // in some rare situations. LastEventTimestamp *int64 `locationName:"lastEventTimestamp" type:"long"` - // The ingestion time, expressed as the number of milliseconds since Jan 1, + // The ingestion time, expressed as the number of milliseconds after Jan 1, // 1970 00:00:00 UTC. LastIngestionTime *int64 `locationName:"lastIngestionTime" type:"long"` @@ -5396,14 +6110,14 @@ type MetricFilter struct { _ struct{} `type:"structure"` // The creation time of the metric filter, expressed as the number of milliseconds - // since Jan 1, 1970 00:00:00 UTC. + // after Jan 1, 1970 00:00:00 UTC. CreationTime *int64 `locationName:"creationTime" type:"long"` // The name of the metric filter. FilterName *string `locationName:"filterName" min:"1" type:"string"` // A symbolic description of how CloudWatch Logs should interpret the data in - // each log event. For example, a log event may contain timestamps, IP addresses, + // each log event. For example, a log event may contain time stamps, IP addresses, // strings, and so on. You use the filter pattern to specify what to look for // in the log event message. FilterPattern *string `locationName:"filterPattern" type:"string"` @@ -5498,7 +6212,7 @@ func (s *MetricFilterMatchRecord) SetExtractedValues(v map[string]*string) *Metr return s } -// Indicates how to transform ingested log events into metric data in a CloudWatch +// Indicates how to transform ingested log events in to metric data in a CloudWatch // metric. // Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/MetricTransformation type MetricTransformation struct { @@ -5584,13 +6298,13 @@ type OutputLogEvent struct { _ struct{} `type:"structure"` // The time the event was ingested, expressed as the number of milliseconds - // since Jan 1, 1970 00:00:00 UTC. + // after Jan 1, 1970 00:00:00 UTC. IngestionTime *int64 `locationName:"ingestionTime" type:"long"` // The data contained in the log event. Message *string `locationName:"message" min:"1" type:"string"` - // The time the event occurred, expressed as the number of milliseconds since + // The time the event occurred, expressed as the number of milliseconds after // Jan 1, 1970 00:00:00 UTC. Timestamp *int64 `locationName:"timestamp" type:"long"` } @@ -5632,13 +6346,13 @@ type PutDestinationInput struct { // DestinationName is a required field DestinationName *string `locationName:"destinationName" min:"1" type:"string" required:"true"` - // The ARN of an IAM role that grants CloudWatch Logs permissions to call Amazon - // Kinesis PutRecord on the destination stream. + // The ARN of an IAM role that grants CloudWatch Logs permissions to call the + // Amazon Kinesis PutRecord operation on the destination stream. // // RoleArn is a required field RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"` - // The ARN of an Amazon Kinesis stream to deliver matching log events to. + // The ARN of an Amazon Kinesis stream to which to deliver matching log events. // // TargetArn is a required field TargetArn *string `locationName:"targetArn" min:"1" type:"string" required:"true"` @@ -5818,7 +6532,11 @@ type PutLogEventsInput struct { // LogStreamName is a required field LogStreamName *string `locationName:"logStreamName" min:"1" type:"string" required:"true"` - // The sequence token. + // The sequence token obtained from the response of the previous PutLogEvents + // call. An upload in a newly created log stream does not require a sequence + // token. You can also get the sequence token using DescribeLogStreams. If you + // call PutLogEvents twice within a narrow time period using the same value + // for sequenceToken, both calls may be successful, or one may be rejected. SequenceToken *string `locationName:"sequenceToken" min:"1" type:"string"` } @@ -5949,7 +6667,7 @@ type PutMetricFilterInput struct { // LogGroupName is a required field LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"` - // A collection of information needed to define how metric data gets emitted. + // A collection of information that defines how metric data gets emitted. // // MetricTransformations is a required field MetricTransformations []*MetricTransformation `locationName:"metricTransformations" min:"1" type:"list" required:"true"` @@ -6045,6 +6763,85 @@ func (s PutMetricFilterOutput) GoString() string { return s.String() } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutResourcePolicyRequest +type PutResourcePolicyInput struct { + _ struct{} `type:"structure"` + + // Details of the new policy, including the identity of the principal that is + // enabled to put logs to this account. This is formatted as a JSON string. + // + // The following example creates a resource policy enabling the Route 53 service + // to put DNS query logs in to the specified log group. Replace "logArn" with + // the ARN of your CloudWatch Logs resource, such as a log group or log stream. + // + // { "Version": "2012-10-17" "Statement": [ { "Sid": "Route53LogsToCloudWatchLogs", + // "Effect": "Allow", "Principal": { "Service": [ "route53.amazonaws.com" ] + // }, "Action":"logs:PutLogEvents", "Resource": logArn } ] } + PolicyDocument *string `locationName:"policyDocument" min:"1" type:"string"` + + // Name of the new policy. This parameter is required. + PolicyName *string `locationName:"policyName" type:"string"` +} + +// String returns the string representation +func (s PutResourcePolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutResourcePolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutResourcePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutResourcePolicyInput"} + if s.PolicyDocument != nil && len(*s.PolicyDocument) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PolicyDocument", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPolicyDocument sets the PolicyDocument field's value. +func (s *PutResourcePolicyInput) SetPolicyDocument(v string) *PutResourcePolicyInput { + s.PolicyDocument = &v + return s +} + +// SetPolicyName sets the PolicyName field's value. +func (s *PutResourcePolicyInput) SetPolicyName(v string) *PutResourcePolicyInput { + s.PolicyName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutResourcePolicyResponse +type PutResourcePolicyOutput struct { + _ struct{} `type:"structure"` + + // The new policy. + ResourcePolicy *ResourcePolicy `locationName:"resourcePolicy" type:"structure"` +} + +// String returns the string representation +func (s PutResourcePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutResourcePolicyOutput) GoString() string { + return s.String() +} + +// SetResourcePolicy sets the ResourcePolicy field's value. +func (s *PutResourcePolicyOutput) SetResourcePolicy(v *ResourcePolicy) *PutResourcePolicyOutput { + s.ResourcePolicy = v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutRetentionPolicyRequest type PutRetentionPolicyInput struct { _ struct{} `type:"structure"` @@ -6131,8 +6928,8 @@ type PutSubscriptionFilterInput struct { // * A logical destination (specified using an ARN) belonging to a different // account, for cross-account delivery. // - // * An Amazon Kinesis Firehose stream belonging to the same account as the - // subscription filter, for same-account delivery. + // * An Amazon Kinesis Firehose delivery stream belonging to the same account + // as the subscription filter, for same-account delivery. // // * An AWS Lambda function belonging to the same account as the subscription // filter, for same-account delivery. @@ -6140,15 +6937,16 @@ type PutSubscriptionFilterInput struct { // DestinationArn is a required field DestinationArn *string `locationName:"destinationArn" min:"1" type:"string" required:"true"` - // The method used to distribute log data to the destination, when the destination - // is an Amazon Kinesis stream. By default, log data is grouped by log stream. - // For a more even distribution, you can group log data randomly. + // The method used to distribute log data to the destination. By default log + // data is grouped by log stream, but the grouping can be set to random for + // a more even distribution. This property is only applicable when the destination + // is an Amazon Kinesis stream. Distribution *string `locationName:"distribution" type:"string" enum:"Distribution"` // A name for the subscription filter. If you are updating an existing filter, - // you must specify the correct name in filterName. Otherwise, the call will - // fail because you cannot associate a second filter with a log group. To find - // the name of the filter currently associated with a log group, use DescribeSubscriptionFilters. + // you must specify the correct name in filterName. Otherwise, the call fails + // because you cannot associate a second filter with a log group. To find the + // name of the filter currently associated with a log group, use DescribeSubscriptionFilters. // // FilterName is a required field FilterName *string `locationName:"filterName" min:"1" type:"string" required:"true"` @@ -6308,6 +7106,51 @@ func (s *RejectedLogEventsInfo) SetTooOldLogEventEndIndex(v int64) *RejectedLogE return s } +// A policy enabling one or more entities to put logs to a log group in this +// account. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/ResourcePolicy +type ResourcePolicy struct { + _ struct{} `type:"structure"` + + // Time stamp showing when this policy was last updated, expressed as the number + // of milliseconds after Jan 1, 1970 00:00:00 UTC. + LastUpdatedTime *int64 `locationName:"lastUpdatedTime" type:"long"` + + // The details of the policy. + PolicyDocument *string `locationName:"policyDocument" min:"1" type:"string"` + + // The name of the resource policy. + PolicyName *string `locationName:"policyName" type:"string"` +} + +// String returns the string representation +func (s ResourcePolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourcePolicy) GoString() string { + return s.String() +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *ResourcePolicy) SetLastUpdatedTime(v int64) *ResourcePolicy { + s.LastUpdatedTime = &v + return s +} + +// SetPolicyDocument sets the PolicyDocument field's value. +func (s *ResourcePolicy) SetPolicyDocument(v string) *ResourcePolicy { + s.PolicyDocument = &v + return s +} + +// SetPolicyName sets the PolicyName field's value. +func (s *ResourcePolicy) SetPolicyName(v string) *ResourcePolicy { + s.PolicyName = &v + return s +} + // Represents the search status of a log stream. // Please also see https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/SearchedLogStream type SearchedLogStream struct { @@ -6348,21 +7191,21 @@ type SubscriptionFilter struct { _ struct{} `type:"structure"` // The creation time of the subscription filter, expressed as the number of - // milliseconds since Jan 1, 1970 00:00:00 UTC. + // milliseconds after Jan 1, 1970 00:00:00 UTC. CreationTime *int64 `locationName:"creationTime" type:"long"` // The Amazon Resource Name (ARN) of the destination. DestinationArn *string `locationName:"destinationArn" min:"1" type:"string"` - // The method used to distribute log data to the destination, when the destination - // is an Amazon Kinesis stream. + // The method used to distribute log data to the destination, which can be either + // random or grouped by log stream. Distribution *string `locationName:"distribution" type:"string" enum:"Distribution"` // The name of the subscription filter. FilterName *string `locationName:"filterName" min:"1" type:"string"` // A symbolic description of how CloudWatch Logs should interpret the data in - // each log event. For example, a log event may contain timestamps, IP addresses, + // each log event. For example, a log event may contain time stamps, IP addresses, // strings, and so on. You use the filter pattern to specify what to look for // in the log event message. FilterPattern *string `locationName:"filterPattern" type:"string"` @@ -6504,7 +7347,7 @@ type TestMetricFilterInput struct { _ struct{} `type:"structure"` // A symbolic description of how CloudWatch Logs should interpret the data in - // each log event. For example, a log event may contain timestamps, IP addresses, + // each log event. For example, a log event may contain time stamps, IP addresses, // strings, and so on. You use the filter pattern to specify what to look for // in the log event message. // @@ -6656,6 +7499,8 @@ func (s UntagLogGroupOutput) GoString() string { return s.String() } +// The method used to distribute log data to the destination, which can be either +// random or grouped by log stream. const ( // DistributionRandom is a Distribution enum value DistributionRandom = "Random" diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/cloudwatchlogsiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/cloudwatchlogsiface/interface.go index b03bf3eb2..4975ea371 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/cloudwatchlogsiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/cloudwatchlogsiface/interface.go @@ -21,12 +21,12 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon CloudWatch Logs. // func myFunc(svc cloudwatchlogsiface.CloudWatchLogsAPI) bool { -// // Make svc.CancelExportTask request +// // Make svc.AssociateKmsKey request // } // // func main() { @@ -42,7 +42,7 @@ import ( // type mockCloudWatchLogsClient struct { // cloudwatchlogsiface.CloudWatchLogsAPI // } -// func (m *mockCloudWatchLogsClient) CancelExportTask(input *cloudwatchlogs.CancelExportTaskInput) (*cloudwatchlogs.CancelExportTaskOutput, error) { +// func (m *mockCloudWatchLogsClient) AssociateKmsKey(input *cloudwatchlogs.AssociateKmsKeyInput) (*cloudwatchlogs.AssociateKmsKeyOutput, error) { // // mock response/functionality // } // @@ -60,6 +60,10 @@ import ( // and waiters. Its suggested to use the pattern above for testing, or using // tooling to generate mocks to satisfy the interfaces. type CloudWatchLogsAPI interface { + AssociateKmsKey(*cloudwatchlogs.AssociateKmsKeyInput) (*cloudwatchlogs.AssociateKmsKeyOutput, error) + AssociateKmsKeyWithContext(aws.Context, *cloudwatchlogs.AssociateKmsKeyInput, ...request.Option) (*cloudwatchlogs.AssociateKmsKeyOutput, error) + AssociateKmsKeyRequest(*cloudwatchlogs.AssociateKmsKeyInput) (*request.Request, *cloudwatchlogs.AssociateKmsKeyOutput) + CancelExportTask(*cloudwatchlogs.CancelExportTaskInput) (*cloudwatchlogs.CancelExportTaskOutput, error) CancelExportTaskWithContext(aws.Context, *cloudwatchlogs.CancelExportTaskInput, ...request.Option) (*cloudwatchlogs.CancelExportTaskOutput, error) CancelExportTaskRequest(*cloudwatchlogs.CancelExportTaskInput) (*request.Request, *cloudwatchlogs.CancelExportTaskOutput) @@ -92,6 +96,10 @@ type CloudWatchLogsAPI interface { DeleteMetricFilterWithContext(aws.Context, *cloudwatchlogs.DeleteMetricFilterInput, ...request.Option) (*cloudwatchlogs.DeleteMetricFilterOutput, error) DeleteMetricFilterRequest(*cloudwatchlogs.DeleteMetricFilterInput) (*request.Request, *cloudwatchlogs.DeleteMetricFilterOutput) + DeleteResourcePolicy(*cloudwatchlogs.DeleteResourcePolicyInput) (*cloudwatchlogs.DeleteResourcePolicyOutput, error) + DeleteResourcePolicyWithContext(aws.Context, *cloudwatchlogs.DeleteResourcePolicyInput, ...request.Option) (*cloudwatchlogs.DeleteResourcePolicyOutput, error) + DeleteResourcePolicyRequest(*cloudwatchlogs.DeleteResourcePolicyInput) (*request.Request, *cloudwatchlogs.DeleteResourcePolicyOutput) + DeleteRetentionPolicy(*cloudwatchlogs.DeleteRetentionPolicyInput) (*cloudwatchlogs.DeleteRetentionPolicyOutput, error) DeleteRetentionPolicyWithContext(aws.Context, *cloudwatchlogs.DeleteRetentionPolicyInput, ...request.Option) (*cloudwatchlogs.DeleteRetentionPolicyOutput, error) DeleteRetentionPolicyRequest(*cloudwatchlogs.DeleteRetentionPolicyInput) (*request.Request, *cloudwatchlogs.DeleteRetentionPolicyOutput) @@ -132,6 +140,10 @@ type CloudWatchLogsAPI interface { DescribeMetricFiltersPages(*cloudwatchlogs.DescribeMetricFiltersInput, func(*cloudwatchlogs.DescribeMetricFiltersOutput, bool) bool) error DescribeMetricFiltersPagesWithContext(aws.Context, *cloudwatchlogs.DescribeMetricFiltersInput, func(*cloudwatchlogs.DescribeMetricFiltersOutput, bool) bool, ...request.Option) error + DescribeResourcePolicies(*cloudwatchlogs.DescribeResourcePoliciesInput) (*cloudwatchlogs.DescribeResourcePoliciesOutput, error) + DescribeResourcePoliciesWithContext(aws.Context, *cloudwatchlogs.DescribeResourcePoliciesInput, ...request.Option) (*cloudwatchlogs.DescribeResourcePoliciesOutput, error) + DescribeResourcePoliciesRequest(*cloudwatchlogs.DescribeResourcePoliciesInput) (*request.Request, *cloudwatchlogs.DescribeResourcePoliciesOutput) + DescribeSubscriptionFilters(*cloudwatchlogs.DescribeSubscriptionFiltersInput) (*cloudwatchlogs.DescribeSubscriptionFiltersOutput, error) DescribeSubscriptionFiltersWithContext(aws.Context, *cloudwatchlogs.DescribeSubscriptionFiltersInput, ...request.Option) (*cloudwatchlogs.DescribeSubscriptionFiltersOutput, error) DescribeSubscriptionFiltersRequest(*cloudwatchlogs.DescribeSubscriptionFiltersInput) (*request.Request, *cloudwatchlogs.DescribeSubscriptionFiltersOutput) @@ -139,6 +151,10 @@ type CloudWatchLogsAPI interface { DescribeSubscriptionFiltersPages(*cloudwatchlogs.DescribeSubscriptionFiltersInput, func(*cloudwatchlogs.DescribeSubscriptionFiltersOutput, bool) bool) error DescribeSubscriptionFiltersPagesWithContext(aws.Context, *cloudwatchlogs.DescribeSubscriptionFiltersInput, func(*cloudwatchlogs.DescribeSubscriptionFiltersOutput, bool) bool, ...request.Option) error + DisassociateKmsKey(*cloudwatchlogs.DisassociateKmsKeyInput) (*cloudwatchlogs.DisassociateKmsKeyOutput, error) + DisassociateKmsKeyWithContext(aws.Context, *cloudwatchlogs.DisassociateKmsKeyInput, ...request.Option) (*cloudwatchlogs.DisassociateKmsKeyOutput, error) + DisassociateKmsKeyRequest(*cloudwatchlogs.DisassociateKmsKeyInput) (*request.Request, *cloudwatchlogs.DisassociateKmsKeyOutput) + FilterLogEvents(*cloudwatchlogs.FilterLogEventsInput) (*cloudwatchlogs.FilterLogEventsOutput, error) FilterLogEventsWithContext(aws.Context, *cloudwatchlogs.FilterLogEventsInput, ...request.Option) (*cloudwatchlogs.FilterLogEventsOutput, error) FilterLogEventsRequest(*cloudwatchlogs.FilterLogEventsInput) (*request.Request, *cloudwatchlogs.FilterLogEventsOutput) @@ -173,6 +189,10 @@ type CloudWatchLogsAPI interface { PutMetricFilterWithContext(aws.Context, *cloudwatchlogs.PutMetricFilterInput, ...request.Option) (*cloudwatchlogs.PutMetricFilterOutput, error) PutMetricFilterRequest(*cloudwatchlogs.PutMetricFilterInput) (*request.Request, *cloudwatchlogs.PutMetricFilterOutput) + PutResourcePolicy(*cloudwatchlogs.PutResourcePolicyInput) (*cloudwatchlogs.PutResourcePolicyOutput, error) + PutResourcePolicyWithContext(aws.Context, *cloudwatchlogs.PutResourcePolicyInput, ...request.Option) (*cloudwatchlogs.PutResourcePolicyOutput, error) + PutResourcePolicyRequest(*cloudwatchlogs.PutResourcePolicyInput) (*request.Request, *cloudwatchlogs.PutResourcePolicyOutput) + PutRetentionPolicy(*cloudwatchlogs.PutRetentionPolicyInput) (*cloudwatchlogs.PutRetentionPolicyOutput, error) PutRetentionPolicyWithContext(aws.Context, *cloudwatchlogs.PutRetentionPolicyInput, ...request.Option) (*cloudwatchlogs.PutRetentionPolicyOutput, error) PutRetentionPolicyRequest(*cloudwatchlogs.PutRetentionPolicyInput) (*request.Request, *cloudwatchlogs.PutRetentionPolicyOutput) diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/doc.go b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/doc.go index b8c406919..6e5145a15 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/doc.go @@ -4,30 +4,30 @@ // requests to Amazon CloudWatch Logs. // // You can use Amazon CloudWatch Logs to monitor, store, and access your log -// files from EC2 instances, Amazon CloudTrail, or other sources. You can then -// retrieve the associated log data from CloudWatch Logs using the Amazon CloudWatch -// console, the CloudWatch Logs commands in the AWS CLI, the CloudWatch Logs -// API, or the CloudWatch Logs SDK. +// files from Amazon EC2 instances, AWS CloudTrail, or other sources. You can +// then retrieve the associated log data from CloudWatch Logs using the CloudWatch +// console, CloudWatch Logs commands in the AWS CLI, CloudWatch Logs API, or +// CloudWatch Logs SDK. // // You can use CloudWatch Logs to: // -// * Monitor Logs from Amazon EC2 Instances in Real-time: You can use CloudWatch +// * Monitor logs from EC2 instances in real-time: You can use CloudWatch // Logs to monitor applications and systems using log data. For example, // CloudWatch Logs can track the number of errors that occur in your application // logs and send you a notification whenever the rate of errors exceeds a -// threshold you specify. CloudWatch Logs uses your log data for monitoring; +// threshold that you specify. CloudWatch Logs uses your log data for monitoring; // so, no code changes are required. For example, you can monitor application // logs for specific literal terms (such as "NullReferenceException") or // count the number of occurrences of a literal term at a particular position // in log data (such as "404" status codes in an Apache access log). When // the term you are searching for is found, CloudWatch Logs reports the data -// to a Amazon CloudWatch metric that you specify. +// to a CloudWatch metric that you specify. // -// * Monitor Amazon CloudTrail Logged Events: You can create alarms in Amazon -// CloudWatch and receive notifications of particular API activity as captured -// by CloudTrail and use the notification to perform troubleshooting. +// * Monitor AWS CloudTrail logged events: You can create alarms in CloudWatch +// and receive notifications of particular API activity as captured by CloudTrail +// and use the notification to perform troubleshooting. // -// * Archive Log Data: You can use CloudWatch Logs to store your log data +// * Archive log data: You can use CloudWatch Logs to store your log data // in highly durable storage. You can change the log retention setting so // that any log events older than this setting are automatically deleted. // The CloudWatch Logs agent makes it easy to quickly send both rotated and @@ -41,69 +41,17 @@ // // Using the Client // -// To use the client for Amazon CloudWatch Logs you will first need -// to create a new instance of it. +// To Amazon CloudWatch Logs with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := cloudwatchlogs.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon CloudWatch Logs client CloudWatchLogs for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/cloudwatchlogs/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CancelExportTask(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CancelExportTask result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CancelExportTaskWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package cloudwatchlogs diff --git a/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go b/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go index b38bf07e5..e4b4bdb4a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go @@ -11,23 +11,101 @@ import ( "github.com/aws/aws-sdk-go/aws/request" ) +const opBatchDeleteBuilds = "BatchDeleteBuilds" + +// BatchDeleteBuildsRequest generates a "aws/request.Request" representing the +// client's request for the BatchDeleteBuilds operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See BatchDeleteBuilds for more information on using the BatchDeleteBuilds +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the BatchDeleteBuildsRequest method. +// req, resp := client.BatchDeleteBuildsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchDeleteBuilds +func (c *CodeBuild) BatchDeleteBuildsRequest(input *BatchDeleteBuildsInput) (req *request.Request, output *BatchDeleteBuildsOutput) { + op := &request.Operation{ + Name: opBatchDeleteBuilds, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchDeleteBuildsInput{} + } + + output = &BatchDeleteBuildsOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchDeleteBuilds API operation for AWS CodeBuild. +// +// Deletes one or more builds. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeBuild's +// API operation BatchDeleteBuilds for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input value that was provided is not valid. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchDeleteBuilds +func (c *CodeBuild) BatchDeleteBuilds(input *BatchDeleteBuildsInput) (*BatchDeleteBuildsOutput, error) { + req, out := c.BatchDeleteBuildsRequest(input) + return out, req.Send() +} + +// BatchDeleteBuildsWithContext is the same as BatchDeleteBuilds with the addition of +// the ability to pass a context and additional request options. +// +// See BatchDeleteBuilds for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeBuild) BatchDeleteBuildsWithContext(ctx aws.Context, input *BatchDeleteBuildsInput, opts ...request.Option) (*BatchDeleteBuildsOutput, error) { + req, out := c.BatchDeleteBuildsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opBatchGetBuilds = "BatchGetBuilds" // BatchGetBuildsRequest generates a "aws/request.Request" representing the // client's request for the BatchGetBuilds operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See BatchGetBuilds for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the BatchGetBuilds method directly -// instead. +// See BatchGetBuilds for more information on using the BatchGetBuilds +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the BatchGetBuildsRequest method. // req, resp := client.BatchGetBuildsRequest(params) @@ -95,19 +173,18 @@ const opBatchGetProjects = "BatchGetProjects" // BatchGetProjectsRequest generates a "aws/request.Request" representing the // client's request for the BatchGetProjects operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See BatchGetProjects for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the BatchGetProjects method directly -// instead. +// See BatchGetProjects for more information on using the BatchGetProjects +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the BatchGetProjectsRequest method. // req, resp := client.BatchGetProjectsRequest(params) @@ -175,19 +252,18 @@ const opCreateProject = "CreateProject" // CreateProjectRequest generates a "aws/request.Request" representing the // client's request for the CreateProject operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateProject for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateProject method directly -// instead. +// See CreateProject for more information on using the CreateProject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateProjectRequest method. // req, resp := client.CreateProjectRequest(params) @@ -258,23 +334,122 @@ func (c *CodeBuild) CreateProjectWithContext(ctx aws.Context, input *CreateProje return out, req.Send() } +const opCreateWebhook = "CreateWebhook" + +// CreateWebhookRequest generates a "aws/request.Request" representing the +// client's request for the CreateWebhook operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateWebhook for more information on using the CreateWebhook +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateWebhookRequest method. +// req, resp := client.CreateWebhookRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/CreateWebhook +func (c *CodeBuild) CreateWebhookRequest(input *CreateWebhookInput) (req *request.Request, output *CreateWebhookOutput) { + op := &request.Operation{ + Name: opCreateWebhook, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateWebhookInput{} + } + + output = &CreateWebhookOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateWebhook API operation for AWS CodeBuild. +// +// For an existing AWS CodeBuild build project that has its source code stored +// in a GitHub repository, enables AWS CodeBuild to begin automatically rebuilding +// the source code every time a code change is pushed to the repository. +// +// If you enable webhooks for an AWS CodeBuild project, and the project is used +// as a build step in AWS CodePipeline, then two identical builds will be created +// for each commit. One build is triggered through webhooks, and one through +// AWS CodePipeline. Because billing is on a per-build basis, you will be billed +// for both builds. Therefore, if you are using AWS CodePipeline, we recommend +// that you disable webhooks in CodeBuild. In the AWS CodeBuild console, clear +// the Webhook box. For more information, see step 9 in Change a Build Project’s +// Settings (http://docs.aws.amazon.com/codebuild/latest/userguide/change-project.html#change-project-console). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeBuild's +// API operation CreateWebhook for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input value that was provided is not valid. +// +// * ErrCodeOAuthProviderException "OAuthProviderException" +// There was a problem with the underlying OAuth provider. +// +// * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" +// The specified AWS resource cannot be created, because an AWS resource with +// the same settings already exists. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified AWS resource cannot be found. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/CreateWebhook +func (c *CodeBuild) CreateWebhook(input *CreateWebhookInput) (*CreateWebhookOutput, error) { + req, out := c.CreateWebhookRequest(input) + return out, req.Send() +} + +// CreateWebhookWithContext is the same as CreateWebhook with the addition of +// the ability to pass a context and additional request options. +// +// See CreateWebhook for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeBuild) CreateWebhookWithContext(ctx aws.Context, input *CreateWebhookInput, opts ...request.Option) (*CreateWebhookOutput, error) { + req, out := c.CreateWebhookRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteProject = "DeleteProject" // DeleteProjectRequest generates a "aws/request.Request" representing the // client's request for the DeleteProject operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteProject for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteProject method directly -// instead. +// See DeleteProject for more information on using the DeleteProject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteProjectRequest method. // req, resp := client.DeleteProjectRequest(params) @@ -338,23 +513,109 @@ func (c *CodeBuild) DeleteProjectWithContext(ctx aws.Context, input *DeleteProje return out, req.Send() } +const opDeleteWebhook = "DeleteWebhook" + +// DeleteWebhookRequest generates a "aws/request.Request" representing the +// client's request for the DeleteWebhook operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteWebhook for more information on using the DeleteWebhook +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteWebhookRequest method. +// req, resp := client.DeleteWebhookRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteWebhook +func (c *CodeBuild) DeleteWebhookRequest(input *DeleteWebhookInput) (req *request.Request, output *DeleteWebhookOutput) { + op := &request.Operation{ + Name: opDeleteWebhook, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteWebhookInput{} + } + + output = &DeleteWebhookOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteWebhook API operation for AWS CodeBuild. +// +// For an existing AWS CodeBuild build project that has its source code stored +// in a GitHub repository, stops AWS CodeBuild from automatically rebuilding +// the source code every time a code change is pushed to the repository. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeBuild's +// API operation DeleteWebhook for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input value that was provided is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified AWS resource cannot be found. +// +// * ErrCodeOAuthProviderException "OAuthProviderException" +// There was a problem with the underlying OAuth provider. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteWebhook +func (c *CodeBuild) DeleteWebhook(input *DeleteWebhookInput) (*DeleteWebhookOutput, error) { + req, out := c.DeleteWebhookRequest(input) + return out, req.Send() +} + +// DeleteWebhookWithContext is the same as DeleteWebhook with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteWebhook for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeBuild) DeleteWebhookWithContext(ctx aws.Context, input *DeleteWebhookInput, opts ...request.Option) (*DeleteWebhookOutput, error) { + req, out := c.DeleteWebhookRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListBuilds = "ListBuilds" // ListBuildsRequest generates a "aws/request.Request" representing the // client's request for the ListBuilds operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListBuilds for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListBuilds method directly -// instead. +// See ListBuilds for more information on using the ListBuilds +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListBuildsRequest method. // req, resp := client.ListBuildsRequest(params) @@ -422,19 +683,18 @@ const opListBuildsForProject = "ListBuildsForProject" // ListBuildsForProjectRequest generates a "aws/request.Request" representing the // client's request for the ListBuildsForProject operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListBuildsForProject for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListBuildsForProject method directly -// instead. +// See ListBuildsForProject for more information on using the ListBuildsForProject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListBuildsForProjectRequest method. // req, resp := client.ListBuildsForProjectRequest(params) @@ -506,19 +766,18 @@ const opListCuratedEnvironmentImages = "ListCuratedEnvironmentImages" // ListCuratedEnvironmentImagesRequest generates a "aws/request.Request" representing the // client's request for the ListCuratedEnvironmentImages operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListCuratedEnvironmentImages for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListCuratedEnvironmentImages method directly -// instead. +// See ListCuratedEnvironmentImages for more information on using the ListCuratedEnvironmentImages +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListCuratedEnvironmentImagesRequest method. // req, resp := client.ListCuratedEnvironmentImagesRequest(params) @@ -581,19 +840,18 @@ const opListProjects = "ListProjects" // ListProjectsRequest generates a "aws/request.Request" representing the // client's request for the ListProjects operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListProjects for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListProjects method directly -// instead. +// See ListProjects for more information on using the ListProjects +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListProjectsRequest method. // req, resp := client.ListProjectsRequest(params) @@ -662,19 +920,18 @@ const opStartBuild = "StartBuild" // StartBuildRequest generates a "aws/request.Request" representing the // client's request for the StartBuild operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartBuild for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartBuild method directly -// instead. +// See StartBuild for more information on using the StartBuild +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartBuildRequest method. // req, resp := client.StartBuildRequest(params) @@ -748,19 +1005,18 @@ const opStopBuild = "StopBuild" // StopBuildRequest generates a "aws/request.Request" representing the // client's request for the StopBuild operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StopBuild for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StopBuild method directly -// instead. +// See StopBuild for more information on using the StopBuild +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StopBuildRequest method. // req, resp := client.StopBuildRequest(params) @@ -831,19 +1087,18 @@ const opUpdateProject = "UpdateProject" // UpdateProjectRequest generates a "aws/request.Request" representing the // client's request for the UpdateProject operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateProject for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateProject method directly -// instead. +// See UpdateProject for more information on using the UpdateProject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateProjectRequest method. // req, resp := client.UpdateProjectRequest(params) @@ -910,6 +1165,81 @@ func (c *CodeBuild) UpdateProjectWithContext(ctx aws.Context, input *UpdateProje return out, req.Send() } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchDeleteBuildsInput +type BatchDeleteBuildsInput struct { + _ struct{} `type:"structure"` + + // The IDs of the builds to delete. + // + // Ids is a required field + Ids []*string `locationName:"ids" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchDeleteBuildsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDeleteBuildsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchDeleteBuildsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchDeleteBuildsInput"} + if s.Ids == nil { + invalidParams.Add(request.NewErrParamRequired("Ids")) + } + if s.Ids != nil && len(s.Ids) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Ids", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIds sets the Ids field's value. +func (s *BatchDeleteBuildsInput) SetIds(v []*string) *BatchDeleteBuildsInput { + s.Ids = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchDeleteBuildsOutput +type BatchDeleteBuildsOutput struct { + _ struct{} `type:"structure"` + + // The IDs of the builds that were successfully deleted. + BuildsDeleted []*string `locationName:"buildsDeleted" min:"1" type:"list"` + + // Information about any builds that could not be successfully deleted. + BuildsNotDeleted []*BuildNotDeleted `locationName:"buildsNotDeleted" type:"list"` +} + +// String returns the string representation +func (s BatchDeleteBuildsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDeleteBuildsOutput) GoString() string { + return s.String() +} + +// SetBuildsDeleted sets the BuildsDeleted field's value. +func (s *BatchDeleteBuildsOutput) SetBuildsDeleted(v []*string) *BatchDeleteBuildsOutput { + s.BuildsDeleted = v + return s +} + +// SetBuildsNotDeleted sets the BuildsNotDeleted field's value. +func (s *BatchDeleteBuildsOutput) SetBuildsNotDeleted(v []*BuildNotDeleted) *BatchDeleteBuildsOutput { + s.BuildsNotDeleted = v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetBuildsInput type BatchGetBuildsInput struct { _ struct{} `type:"structure"` @@ -1298,6 +1628,40 @@ func (s *BuildArtifacts) SetSha256sum(v string) *BuildArtifacts { return s } +// Information about a build that could not be successfully deleted. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BuildNotDeleted +type BuildNotDeleted struct { + _ struct{} `type:"structure"` + + // The ID of the build that could not be successfully deleted. + Id *string `locationName:"id" min:"1" type:"string"` + + // Additional information about the build that could not be successfully deleted. + StatusCode *string `locationName:"statusCode" type:"string"` +} + +// String returns the string representation +func (s BuildNotDeleted) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BuildNotDeleted) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *BuildNotDeleted) SetId(v string) *BuildNotDeleted { + s.Id = &v + return s +} + +// SetStatusCode sets the StatusCode field's value. +func (s *BuildNotDeleted) SetStatusCode(v string) *BuildNotDeleted { + s.StatusCode = &v + return s +} + // Information about a stage for a build. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BuildPhase type BuildPhase struct { @@ -1601,6 +1965,73 @@ func (s *CreateProjectOutput) SetProject(v *Project) *CreateProjectOutput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/CreateWebhookInput +type CreateWebhookInput struct { + _ struct{} `type:"structure"` + + // The name of the build project. + // + // ProjectName is a required field + ProjectName *string `locationName:"projectName" min:"2" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateWebhookInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateWebhookInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateWebhookInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateWebhookInput"} + if s.ProjectName == nil { + invalidParams.Add(request.NewErrParamRequired("ProjectName")) + } + if s.ProjectName != nil && len(*s.ProjectName) < 2 { + invalidParams.Add(request.NewErrParamMinLen("ProjectName", 2)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProjectName sets the ProjectName field's value. +func (s *CreateWebhookInput) SetProjectName(v string) *CreateWebhookInput { + s.ProjectName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/CreateWebhookOutput +type CreateWebhookOutput struct { + _ struct{} `type:"structure"` + + // Information about a webhook in GitHub that connects repository events to + // a build project in AWS CodeBuild. + Webhook *Webhook `locationName:"webhook" type:"structure"` +} + +// String returns the string representation +func (s CreateWebhookOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateWebhookOutput) GoString() string { + return s.String() +} + +// SetWebhook sets the Webhook field's value. +func (s *CreateWebhookOutput) SetWebhook(v *Webhook) *CreateWebhookOutput { + s.Webhook = v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteProjectInput type DeleteProjectInput struct { _ struct{} `type:"structure"` @@ -1658,6 +2089,63 @@ func (s DeleteProjectOutput) GoString() string { return s.String() } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteWebhookInput +type DeleteWebhookInput struct { + _ struct{} `type:"structure"` + + // The name of the build project. + // + // ProjectName is a required field + ProjectName *string `locationName:"projectName" min:"2" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteWebhookInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteWebhookInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteWebhookInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteWebhookInput"} + if s.ProjectName == nil { + invalidParams.Add(request.NewErrParamRequired("ProjectName")) + } + if s.ProjectName != nil && len(*s.ProjectName) < 2 { + invalidParams.Add(request.NewErrParamMinLen("ProjectName", 2)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProjectName sets the ProjectName field's value. +func (s *DeleteWebhookInput) SetProjectName(v string) *DeleteWebhookInput { + s.ProjectName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteWebhookOutput +type DeleteWebhookOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteWebhookOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteWebhookOutput) GoString() string { + return s.String() +} + // Information about a Docker image that is managed by AWS CodeBuild. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/EnvironmentImage type EnvironmentImage struct { @@ -1772,6 +2260,14 @@ type EnvironmentVariable struct { // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // The type of environment variable. Valid values include: + // + // * PARAMETER_STORE: An environment variable stored in Amazon EC2 Systems + // Manager Parameter Store. + // + // * PLAINTEXT: An environment variable in plaintext format. + Type *string `locationName:"type" type:"string" enum:"EnvironmentVariableType"` + // The value of the environment variable. // // We strongly discourage using environment variables to store sensitive values, @@ -1818,6 +2314,12 @@ func (s *EnvironmentVariable) SetName(v string) *EnvironmentVariable { return s } +// SetType sets the Type field's value. +func (s *EnvironmentVariable) SetType(v string) *EnvironmentVariable { + s.Type = &v + return s +} + // SetValue sets the Value field's value. func (s *EnvironmentVariable) SetValue(v string) *EnvironmentVariable { s.Value = &v @@ -2293,6 +2795,10 @@ type Project struct { // before timing out any related build that did not get marked as completed. // The default is 60 minutes. TimeoutInMinutes *int64 `locationName:"timeoutInMinutes" min:"5" type:"integer"` + + // Information about a webhook in GitHub that connects repository events to + // a build project in AWS CodeBuild. + Webhook *Webhook `locationName:"webhook" type:"structure"` } // String returns the string representation @@ -2377,6 +2883,12 @@ func (s *Project) SetTimeoutInMinutes(v int64) *Project { return s } +// SetWebhook sets the Webhook field's value. +func (s *Project) SetWebhook(v *Webhook) *Project { + s.Webhook = v + return s +} + // Information about the build output artifacts for the build project. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ProjectArtifacts type ProjectArtifacts struct { @@ -2581,8 +3093,8 @@ type ProjectEnvironment struct { // with Docker support.) // // - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 - // --storage-driver=vfs& - timeout -t 15 sh -c "until docker info; do echo .; - // sleep 1; done" + // --storage-driver=overlay& - timeout -t 15 sh -c "until docker info; do echo + // .; sleep 1; done" PrivilegedMode *bool `locationName:"privilegedMode" type:"boolean"` // The type of build environment to use for related builds. @@ -2673,7 +3185,7 @@ type ProjectSource struct { // // This information is for the AWS CodeBuild console's use only. Your code should // not get or set this information directly (unless the build project's source - // type value is GITHUB). + // type value is BITBUCKET or GITHUB). Auth *SourceAuth `locationName:"auth" type:"structure"` // The build spec declaration to use for the builds in this build project. @@ -2710,11 +3222,24 @@ type ProjectSource struct { // may then leave the AWS CodeBuild console.) To instruct AWS CodeBuild to // then use this connection, in the source object, set the auth object's // type value to OAUTH. + // + // * For source code in a Bitbucket repository, the HTTPS clone URL to the + // repository that contains the source and the build spec. Also, you must + // connect your AWS account to your Bitbucket account. To do this, use the + // AWS CodeBuild console to begin creating a build project. When you use + // the console to connect (or reconnect) with Bitbucket, on the Bitbucket + // Confirm access to your account page that displays, choose Grant access. + // (After you have connected to your Bitbucket account, you do not need to + // finish creating the build project, and you may then leave the AWS CodeBuild + // console.) To instruct AWS CodeBuild to then use this connection, in the + // source object, set the auth object's type value to OAUTH. Location *string `locationName:"location" type:"string"` // The type of repository that contains the source code to be built. Valid values // include: // + // * BITBUCKET: The source code is in a Bitbucket repository. + // // * CODECOMMIT: The source code is in an AWS CodeCommit repository. // // * CODEPIPELINE: The source code settings are specified in the source action @@ -2786,7 +3311,7 @@ func (s *ProjectSource) SetType(v string) *ProjectSource { // // This information is for the AWS CodeBuild console's use only. Your code should // not get or set this information directly (unless the build project's source -// type value is GITHUB). +// type value is BITBUCKET or GITHUB). // Please also see https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/SourceAuth type SourceAuth struct { _ struct{} `type:"structure"` @@ -2860,7 +3385,19 @@ type StartBuildInput struct { // A version of the build input to be built, for this build only. If not specified, // the latest version will be used. If specified, must be one of: // - // * For AWS CodeCommit or GitHub: the commit ID to use. + // * For AWS CodeCommit: the commit ID to use. + // + // * For GitHub: the commit ID, pull request ID, branch name, or tag name + // that corresponds to the version of the source code you want to build. + // If a pull request ID is specified, it must use the format pr/pull-request-ID + // (for example pr/25). If a branch name is specified, the branch's HEAD + // commit ID will be used. If not specified, the default branch's HEAD commit + // ID will be used. + // + // * For Bitbucket: the commit ID, branch name, or tag name that corresponds + // to the version of the source code you want to build. If a branch name + // is specified, the branch's HEAD commit ID will be used. If not specified, + // the default branch's HEAD commit ID will be used. // // * For Amazon Simple Storage Service (Amazon S3): the version ID of the // object representing the build input ZIP file to use. @@ -3279,6 +3816,32 @@ func (s *UpdateProjectOutput) SetProject(v *Project) *UpdateProjectOutput { return s } +// Information about a webhook in GitHub that connects repository events to +// a build project in AWS CodeBuild. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/Webhook +type Webhook struct { + _ struct{} `type:"structure"` + + // The URL to the webhook. + Url *string `locationName:"url" min:"1" type:"string"` +} + +// String returns the string representation +func (s Webhook) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Webhook) GoString() string { + return s.String() +} + +// SetUrl sets the Url field's value. +func (s *Webhook) SetUrl(v string) *Webhook { + s.Url = &v + return s +} + const ( // ArtifactNamespaceNone is a ArtifactNamespace enum value ArtifactNamespaceNone = "NONE" @@ -3354,6 +3917,14 @@ const ( EnvironmentTypeLinuxContainer = "LINUX_CONTAINER" ) +const ( + // EnvironmentVariableTypePlaintext is a EnvironmentVariableType enum value + EnvironmentVariableTypePlaintext = "PLAINTEXT" + + // EnvironmentVariableTypeParameterStore is a EnvironmentVariableType enum value + EnvironmentVariableTypeParameterStore = "PARAMETER_STORE" +) + const ( // LanguageTypeJava is a LanguageType enum value LanguageTypeJava = "JAVA" @@ -3376,6 +3947,9 @@ const ( // LanguageTypeAndroid is a LanguageType enum value LanguageTypeAndroid = "ANDROID" + // LanguageTypeDotnet is a LanguageType enum value + LanguageTypeDotnet = "DOTNET" + // LanguageTypeBase is a LanguageType enum value LanguageTypeBase = "BASE" ) @@ -3427,6 +4001,9 @@ const ( // SourceTypeS3 is a SourceType enum value SourceTypeS3 = "S3" + + // SourceTypeBitbucket is a SourceType enum value + SourceTypeBitbucket = "BITBUCKET" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/codebuild/codebuildiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/codebuild/codebuildiface/interface.go index ab58b33b2..995f80987 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codebuild/codebuildiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codebuild/codebuildiface/interface.go @@ -21,12 +21,12 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS CodeBuild. // func myFunc(svc codebuildiface.CodeBuildAPI) bool { -// // Make svc.BatchGetBuilds request +// // Make svc.BatchDeleteBuilds request // } // // func main() { @@ -42,7 +42,7 @@ import ( // type mockCodeBuildClient struct { // codebuildiface.CodeBuildAPI // } -// func (m *mockCodeBuildClient) BatchGetBuilds(input *codebuild.BatchGetBuildsInput) (*codebuild.BatchGetBuildsOutput, error) { +// func (m *mockCodeBuildClient) BatchDeleteBuilds(input *codebuild.BatchDeleteBuildsInput) (*codebuild.BatchDeleteBuildsOutput, error) { // // mock response/functionality // } // @@ -60,6 +60,10 @@ import ( // and waiters. Its suggested to use the pattern above for testing, or using // tooling to generate mocks to satisfy the interfaces. type CodeBuildAPI interface { + BatchDeleteBuilds(*codebuild.BatchDeleteBuildsInput) (*codebuild.BatchDeleteBuildsOutput, error) + BatchDeleteBuildsWithContext(aws.Context, *codebuild.BatchDeleteBuildsInput, ...request.Option) (*codebuild.BatchDeleteBuildsOutput, error) + BatchDeleteBuildsRequest(*codebuild.BatchDeleteBuildsInput) (*request.Request, *codebuild.BatchDeleteBuildsOutput) + BatchGetBuilds(*codebuild.BatchGetBuildsInput) (*codebuild.BatchGetBuildsOutput, error) BatchGetBuildsWithContext(aws.Context, *codebuild.BatchGetBuildsInput, ...request.Option) (*codebuild.BatchGetBuildsOutput, error) BatchGetBuildsRequest(*codebuild.BatchGetBuildsInput) (*request.Request, *codebuild.BatchGetBuildsOutput) @@ -72,10 +76,18 @@ type CodeBuildAPI interface { CreateProjectWithContext(aws.Context, *codebuild.CreateProjectInput, ...request.Option) (*codebuild.CreateProjectOutput, error) CreateProjectRequest(*codebuild.CreateProjectInput) (*request.Request, *codebuild.CreateProjectOutput) + CreateWebhook(*codebuild.CreateWebhookInput) (*codebuild.CreateWebhookOutput, error) + CreateWebhookWithContext(aws.Context, *codebuild.CreateWebhookInput, ...request.Option) (*codebuild.CreateWebhookOutput, error) + CreateWebhookRequest(*codebuild.CreateWebhookInput) (*request.Request, *codebuild.CreateWebhookOutput) + DeleteProject(*codebuild.DeleteProjectInput) (*codebuild.DeleteProjectOutput, error) DeleteProjectWithContext(aws.Context, *codebuild.DeleteProjectInput, ...request.Option) (*codebuild.DeleteProjectOutput, error) DeleteProjectRequest(*codebuild.DeleteProjectInput) (*request.Request, *codebuild.DeleteProjectOutput) + DeleteWebhook(*codebuild.DeleteWebhookInput) (*codebuild.DeleteWebhookOutput, error) + DeleteWebhookWithContext(aws.Context, *codebuild.DeleteWebhookInput, ...request.Option) (*codebuild.DeleteWebhookOutput, error) + DeleteWebhookRequest(*codebuild.DeleteWebhookInput) (*request.Request, *codebuild.DeleteWebhookOutput) + ListBuilds(*codebuild.ListBuildsInput) (*codebuild.ListBuildsOutput, error) ListBuildsWithContext(aws.Context, *codebuild.ListBuildsInput, ...request.Option) (*codebuild.ListBuildsOutput, error) ListBuildsRequest(*codebuild.ListBuildsInput) (*request.Request, *codebuild.ListBuildsOutput) diff --git a/vendor/github.com/aws/aws-sdk-go/service/codebuild/doc.go b/vendor/github.com/aws/aws-sdk-go/service/codebuild/doc.go index 078a56f3d..540e79e87 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codebuild/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codebuild/doc.go @@ -7,7 +7,7 @@ // compiles your source code, runs unit tests, and produces artifacts that are // ready to deploy. AWS CodeBuild eliminates the need to provision, manage, // and scale your own build servers. It provides prepackaged build environments -// for the most popular programming languages and build tools, such as Apach +// for the most popular programming languages and build tools, such as Apache // Maven, Gradle, and more. You can also fully customize build environments // in AWS CodeBuild to use your own build tools. AWS CodeBuild scales automatically // to meet peak build requests, and you pay only for the build time you consume. @@ -15,6 +15,8 @@ // // AWS CodeBuild supports these operations: // +// * BatchDeleteBuilds: Deletes one or more builds. +// // * BatchGetProjects: Gets information about one or more build projects. // A build project defines how AWS CodeBuild will run a build. This includes // information such as where to get the source code to build, the build environment @@ -26,8 +28,18 @@ // // * CreateProject: Creates a build project. // +// * CreateWebhook: For an existing AWS CodeBuild build project that has +// its source code stored in a GitHub repository, enables AWS CodeBuild to +// begin automatically rebuilding the source code every time a code change +// is pushed to the repository. +// // * DeleteProject: Deletes a build project. // +// * DeleteWebhook: For an existing AWS CodeBuild build project that has +// its source code stored in a GitHub repository, stops AWS CodeBuild from +// automatically rebuilding the source code every time a code change is pushed +// to the repository. +// // * ListProjects: Gets a list of build project names, with each build project // name representing a single build project. // @@ -55,69 +67,17 @@ // // Using the Client // -// To use the client for AWS CodeBuild you will first need -// to create a new instance of it. +// To AWS CodeBuild with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := codebuild.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS CodeBuild client CodeBuild for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/codebuild/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.BatchGetBuilds(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("BatchGetBuilds result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.BatchGetBuildsWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package codebuild diff --git a/vendor/github.com/aws/aws-sdk-go/service/codebuild/errors.go b/vendor/github.com/aws/aws-sdk-go/service/codebuild/errors.go index 2b91b700a..eba0333fb 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codebuild/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codebuild/errors.go @@ -16,6 +16,12 @@ const ( // The input value that was provided is not valid. ErrCodeInvalidInputException = "InvalidInputException" + // ErrCodeOAuthProviderException for service response error code + // "OAuthProviderException". + // + // There was a problem with the underlying OAuth provider. + ErrCodeOAuthProviderException = "OAuthProviderException" + // ErrCodeResourceAlreadyExistsException for service response error code // "ResourceAlreadyExistsException". // diff --git a/vendor/github.com/aws/aws-sdk-go/service/codebuild/examples_test.go b/vendor/github.com/aws/aws-sdk-go/service/codebuild/examples_test.go new file mode 100644 index 000000000..5df36c2a8 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/codebuild/examples_test.go @@ -0,0 +1,58 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package codebuild_test + +import ( + "fmt" + "strings" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/session" + "github.com/aws/aws-sdk-go/service/codebuild" +) + +var _ time.Duration +var _ strings.Reader +var _ aws.Config + +func parseTime(layout, value string) *time.Time { + t, err := time.Parse(layout, value) + if err != nil { + panic(err) + } + return &t +} + +// To get information about builds +// +// The following example gets information about builds with the specified build IDs. +func ExampleCodeBuild_BatchGetBuilds_shared00() { + svc := codebuild.New(session.New()) + input := &codebuild.BatchGetBuildsInput{ + Ids: []*string{ + aws.String("codebuild-demo-project:9b0ac37f-d19e-4254-9079-f47e9a389eEX"), + aws.String("codebuild-demo-project:b79a46f7-1473-4636-a23f-da9c45c208EX"), + }, + } + + result, err := svc.BatchGetBuilds(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case codebuild.ErrCodeInvalidInputException: + fmt.Println(codebuild.ErrCodeInvalidInputException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/codecommit/api.go b/vendor/github.com/aws/aws-sdk-go/service/codecommit/api.go index 9e71917aa..ca226cdbc 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codecommit/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codecommit/api.go @@ -17,19 +17,18 @@ const opBatchGetRepositories = "BatchGetRepositories" // BatchGetRepositoriesRequest generates a "aws/request.Request" representing the // client's request for the BatchGetRepositories operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See BatchGetRepositories for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the BatchGetRepositories method directly -// instead. +// See BatchGetRepositories for more information on using the BatchGetRepositories +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the BatchGetRepositoriesRequest method. // req, resp := client.BatchGetRepositoriesRequest(params) @@ -129,19 +128,18 @@ const opCreateBranch = "CreateBranch" // CreateBranchRequest generates a "aws/request.Request" representing the // client's request for the CreateBranch operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateBranch for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateBranch method directly -// instead. +// See CreateBranch for more information on using the CreateBranch +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateBranchRequest method. // req, resp := client.CreateBranchRequest(params) @@ -258,19 +256,18 @@ const opCreateRepository = "CreateRepository" // CreateRepositoryRequest generates a "aws/request.Request" representing the // client's request for the CreateRepository operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateRepository for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateRepository method directly -// instead. +// See CreateRepository for more information on using the CreateRepository +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateRepositoryRequest method. // req, resp := client.CreateRepositoryRequest(params) @@ -369,19 +366,18 @@ const opDeleteRepository = "DeleteRepository" // DeleteRepositoryRequest generates a "aws/request.Request" representing the // client's request for the DeleteRepository operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteRepository for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteRepository method directly -// instead. +// See DeleteRepository for more information on using the DeleteRepository +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteRepositoryRequest method. // req, resp := client.DeleteRepositoryRequest(params) @@ -476,19 +472,18 @@ const opGetBlob = "GetBlob" // GetBlobRequest generates a "aws/request.Request" representing the // client's request for the GetBlob operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBlob for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBlob method directly -// instead. +// See GetBlob for more information on using the GetBlob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBlobRequest method. // req, resp := client.GetBlobRequest(params) @@ -595,19 +590,18 @@ const opGetBranch = "GetBranch" // GetBranchRequest generates a "aws/request.Request" representing the // client's request for the GetBranch operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBranch for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBranch method directly -// instead. +// See GetBranch for more information on using the GetBranch +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBranchRequest method. // req, resp := client.GetBranchRequest(params) @@ -710,19 +704,18 @@ const opGetCommit = "GetCommit" // GetCommitRequest generates a "aws/request.Request" representing the // client's request for the GetCommit operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetCommit for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetCommit method directly -// instead. +// See GetCommit for more information on using the GetCommit +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetCommitRequest method. // req, resp := client.GetCommitRequest(params) @@ -825,19 +818,18 @@ const opGetDifferences = "GetDifferences" // GetDifferencesRequest generates a "aws/request.Request" representing the // client's request for the GetDifferences operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDifferences for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDifferences method directly -// instead. +// See GetDifferences for more information on using the GetDifferences +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDifferencesRequest method. // req, resp := client.GetDifferencesRequest(params) @@ -1013,19 +1005,18 @@ const opGetRepository = "GetRepository" // GetRepositoryRequest generates a "aws/request.Request" representing the // client's request for the GetRepository operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetRepository for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetRepository method directly -// instead. +// See GetRepository for more information on using the GetRepository +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetRepositoryRequest method. // req, resp := client.GetRepositoryRequest(params) @@ -1124,19 +1115,18 @@ const opGetRepositoryTriggers = "GetRepositoryTriggers" // GetRepositoryTriggersRequest generates a "aws/request.Request" representing the // client's request for the GetRepositoryTriggers operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetRepositoryTriggers for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetRepositoryTriggers method directly -// instead. +// See GetRepositoryTriggers for more information on using the GetRepositoryTriggers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetRepositoryTriggersRequest method. // req, resp := client.GetRepositoryTriggersRequest(params) @@ -1229,19 +1219,18 @@ const opListBranches = "ListBranches" // ListBranchesRequest generates a "aws/request.Request" representing the // client's request for the ListBranches operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListBranches for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListBranches method directly -// instead. +// See ListBranches for more information on using the ListBranches +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListBranchesRequest method. // req, resp := client.ListBranchesRequest(params) @@ -1393,19 +1382,18 @@ const opListRepositories = "ListRepositories" // ListRepositoriesRequest generates a "aws/request.Request" representing the // client's request for the ListRepositories operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListRepositories for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListRepositories method directly -// instead. +// See ListRepositories for more information on using the ListRepositories +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListRepositoriesRequest method. // req, resp := client.ListRepositoriesRequest(params) @@ -1535,19 +1523,18 @@ const opPutRepositoryTriggers = "PutRepositoryTriggers" // PutRepositoryTriggersRequest generates a "aws/request.Request" representing the // client's request for the PutRepositoryTriggers operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutRepositoryTriggers for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutRepositoryTriggers method directly -// instead. +// See PutRepositoryTriggers for more information on using the PutRepositoryTriggers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutRepositoryTriggersRequest method. // req, resp := client.PutRepositoryTriggersRequest(params) @@ -1686,19 +1673,18 @@ const opTestRepositoryTriggers = "TestRepositoryTriggers" // TestRepositoryTriggersRequest generates a "aws/request.Request" representing the // client's request for the TestRepositoryTriggers operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TestRepositoryTriggers for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TestRepositoryTriggers method directly -// instead. +// See TestRepositoryTriggers for more information on using the TestRepositoryTriggers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TestRepositoryTriggersRequest method. // req, resp := client.TestRepositoryTriggersRequest(params) @@ -1839,19 +1825,18 @@ const opUpdateDefaultBranch = "UpdateDefaultBranch" // UpdateDefaultBranchRequest generates a "aws/request.Request" representing the // client's request for the UpdateDefaultBranch operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateDefaultBranch for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateDefaultBranch method directly -// instead. +// See UpdateDefaultBranch for more information on using the UpdateDefaultBranch +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateDefaultBranchRequest method. // req, resp := client.UpdateDefaultBranchRequest(params) @@ -1959,19 +1944,18 @@ const opUpdateRepositoryDescription = "UpdateRepositoryDescription" // UpdateRepositoryDescriptionRequest generates a "aws/request.Request" representing the // client's request for the UpdateRepositoryDescription operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateRepositoryDescription for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateRepositoryDescription method directly -// instead. +// See UpdateRepositoryDescription for more information on using the UpdateRepositoryDescription +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateRepositoryDescriptionRequest method. // req, resp := client.UpdateRepositoryDescriptionRequest(params) @@ -2075,19 +2059,18 @@ const opUpdateRepositoryName = "UpdateRepositoryName" // UpdateRepositoryNameRequest generates a "aws/request.Request" representing the // client's request for the UpdateRepositoryName operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateRepositoryName for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateRepositoryName method directly -// instead. +// See UpdateRepositoryName for more information on using the UpdateRepositoryName +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateRepositoryNameRequest method. // req, resp := client.UpdateRepositoryNameRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/codecommit/codecommitiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/codecommit/codecommitiface/interface.go index 7053fd631..a394490ad 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codecommit/codecommitiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codecommit/codecommitiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS CodeCommit. diff --git a/vendor/github.com/aws/aws-sdk-go/service/codecommit/doc.go b/vendor/github.com/aws/aws-sdk-go/service/codecommit/doc.go index fafa08c1d..47357f2f4 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codecommit/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codecommit/doc.go @@ -73,69 +73,17 @@ // // Using the Client // -// To use the client for AWS CodeCommit you will first need -// to create a new instance of it. +// To AWS CodeCommit with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := codecommit.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS CodeCommit client CodeCommit for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/codecommit/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.BatchGetRepositories(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("BatchGetRepositories result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.BatchGetRepositoriesWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package codecommit diff --git a/vendor/github.com/aws/aws-sdk-go/service/codedeploy/api.go b/vendor/github.com/aws/aws-sdk-go/service/codedeploy/api.go index 7fe90f906..f7018b8dd 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codedeploy/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codedeploy/api.go @@ -16,19 +16,18 @@ const opAddTagsToOnPremisesInstances = "AddTagsToOnPremisesInstances" // AddTagsToOnPremisesInstancesRequest generates a "aws/request.Request" representing the // client's request for the AddTagsToOnPremisesInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddTagsToOnPremisesInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddTagsToOnPremisesInstances method directly -// instead. +// See AddTagsToOnPremisesInstances for more information on using the AddTagsToOnPremisesInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddTagsToOnPremisesInstancesRequest method. // req, resp := client.AddTagsToOnPremisesInstancesRequest(params) @@ -114,19 +113,18 @@ const opBatchGetApplicationRevisions = "BatchGetApplicationRevisions" // BatchGetApplicationRevisionsRequest generates a "aws/request.Request" representing the // client's request for the BatchGetApplicationRevisions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See BatchGetApplicationRevisions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the BatchGetApplicationRevisions method directly -// instead. +// See BatchGetApplicationRevisions for more information on using the BatchGetApplicationRevisions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the BatchGetApplicationRevisionsRequest method. // req, resp := client.BatchGetApplicationRevisionsRequest(params) @@ -209,19 +207,18 @@ const opBatchGetApplications = "BatchGetApplications" // BatchGetApplicationsRequest generates a "aws/request.Request" representing the // client's request for the BatchGetApplications operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See BatchGetApplications for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the BatchGetApplications method directly -// instead. +// See BatchGetApplications for more information on using the BatchGetApplications +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the BatchGetApplicationsRequest method. // req, resp := client.BatchGetApplicationsRequest(params) @@ -298,19 +295,18 @@ const opBatchGetDeploymentGroups = "BatchGetDeploymentGroups" // BatchGetDeploymentGroupsRequest generates a "aws/request.Request" representing the // client's request for the BatchGetDeploymentGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See BatchGetDeploymentGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the BatchGetDeploymentGroups method directly -// instead. +// See BatchGetDeploymentGroups for more information on using the BatchGetDeploymentGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the BatchGetDeploymentGroupsRequest method. // req, resp := client.BatchGetDeploymentGroupsRequest(params) @@ -393,19 +389,18 @@ const opBatchGetDeploymentInstances = "BatchGetDeploymentInstances" // BatchGetDeploymentInstancesRequest generates a "aws/request.Request" representing the // client's request for the BatchGetDeploymentInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See BatchGetDeploymentInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the BatchGetDeploymentInstances method directly -// instead. +// See BatchGetDeploymentInstances for more information on using the BatchGetDeploymentInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the BatchGetDeploymentInstancesRequest method. // req, resp := client.BatchGetDeploymentInstancesRequest(params) @@ -489,19 +484,18 @@ const opBatchGetDeployments = "BatchGetDeployments" // BatchGetDeploymentsRequest generates a "aws/request.Request" representing the // client's request for the BatchGetDeployments operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See BatchGetDeployments for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the BatchGetDeployments method directly -// instead. +// See BatchGetDeployments for more information on using the BatchGetDeployments +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the BatchGetDeploymentsRequest method. // req, resp := client.BatchGetDeploymentsRequest(params) @@ -575,19 +569,18 @@ const opBatchGetOnPremisesInstances = "BatchGetOnPremisesInstances" // BatchGetOnPremisesInstancesRequest generates a "aws/request.Request" representing the // client's request for the BatchGetOnPremisesInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See BatchGetOnPremisesInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the BatchGetOnPremisesInstances method directly -// instead. +// See BatchGetOnPremisesInstances for more information on using the BatchGetOnPremisesInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the BatchGetOnPremisesInstancesRequest method. // req, resp := client.BatchGetOnPremisesInstancesRequest(params) @@ -661,19 +654,18 @@ const opContinueDeployment = "ContinueDeployment" // ContinueDeploymentRequest generates a "aws/request.Request" representing the // client's request for the ContinueDeployment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ContinueDeployment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ContinueDeployment method directly -// instead. +// See ContinueDeployment for more information on using the ContinueDeployment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ContinueDeploymentRequest method. // req, resp := client.ContinueDeploymentRequest(params) @@ -763,19 +755,18 @@ const opCreateApplication = "CreateApplication" // CreateApplicationRequest generates a "aws/request.Request" representing the // client's request for the CreateApplication operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateApplication for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateApplication method directly -// instead. +// See CreateApplication for more information on using the CreateApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateApplicationRequest method. // req, resp := client.CreateApplicationRequest(params) @@ -853,19 +844,18 @@ const opCreateDeployment = "CreateDeployment" // CreateDeploymentRequest generates a "aws/request.Request" representing the // client's request for the CreateDeployment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDeployment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDeployment method directly -// instead. +// See CreateDeployment for more information on using the CreateDeployment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDeploymentRequest method. // req, resp := client.CreateDeploymentRequest(params) @@ -997,19 +987,18 @@ const opCreateDeploymentConfig = "CreateDeploymentConfig" // CreateDeploymentConfigRequest generates a "aws/request.Request" representing the // client's request for the CreateDeploymentConfig operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDeploymentConfig for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDeploymentConfig method directly -// instead. +// See CreateDeploymentConfig for more information on using the CreateDeploymentConfig +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDeploymentConfigRequest method. // req, resp := client.CreateDeploymentConfigRequest(params) @@ -1090,19 +1079,18 @@ const opCreateDeploymentGroup = "CreateDeploymentGroup" // CreateDeploymentGroupRequest generates a "aws/request.Request" representing the // client's request for the CreateDeploymentGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDeploymentGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDeploymentGroup method directly -// instead. +// See CreateDeploymentGroup for more information on using the CreateDeploymentGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDeploymentGroupRequest method. // req, resp := client.CreateDeploymentGroupRequest(params) @@ -1230,6 +1218,18 @@ func (c *CodeDeploy) CreateDeploymentGroupRequest(input *CreateDeploymentGroupIn // invalid format. For information about deployment configuration format, see // CreateDeploymentConfig. // +// * ErrCodeInvalidEC2TagCombinationException "InvalidEC2TagCombinationException" +// A call was submitted that specified both Ec2TagFilters and Ec2TagSet, but +// only one of these data types can be used in a single call. +// +// * ErrCodeInvalidOnPremisesTagCombinationException "InvalidOnPremisesTagCombinationException" +// A call was submitted that specified both OnPremisesTagFilters and OnPremisesTagSet, +// but only one of these data types can be used in a single call. +// +// * ErrCodeTagSetListLimitExceededException "TagSetListLimitExceededException" +// The number of tag groups included in the tag set list exceeded the maximum +// allowed limit of 3. +// // Please also see https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/CreateDeploymentGroup func (c *CodeDeploy) CreateDeploymentGroup(input *CreateDeploymentGroupInput) (*CreateDeploymentGroupOutput, error) { req, out := c.CreateDeploymentGroupRequest(input) @@ -1256,19 +1256,18 @@ const opDeleteApplication = "DeleteApplication" // DeleteApplicationRequest generates a "aws/request.Request" representing the // client's request for the DeleteApplication operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteApplication for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteApplication method directly -// instead. +// See DeleteApplication for more information on using the DeleteApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteApplicationRequest method. // req, resp := client.DeleteApplicationRequest(params) @@ -1341,19 +1340,18 @@ const opDeleteDeploymentConfig = "DeleteDeploymentConfig" // DeleteDeploymentConfigRequest generates a "aws/request.Request" representing the // client's request for the DeleteDeploymentConfig operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDeploymentConfig for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDeploymentConfig method directly -// instead. +// See DeleteDeploymentConfig for more information on using the DeleteDeploymentConfig +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDeploymentConfigRequest method. // req, resp := client.DeleteDeploymentConfigRequest(params) @@ -1435,19 +1433,18 @@ const opDeleteDeploymentGroup = "DeleteDeploymentGroup" // DeleteDeploymentGroupRequest generates a "aws/request.Request" representing the // client's request for the DeleteDeploymentGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDeploymentGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDeploymentGroup method directly -// instead. +// See DeleteDeploymentGroup for more information on using the DeleteDeploymentGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDeploymentGroupRequest method. // req, resp := client.DeleteDeploymentGroupRequest(params) @@ -1529,19 +1526,18 @@ const opDeregisterOnPremisesInstance = "DeregisterOnPremisesInstance" // DeregisterOnPremisesInstanceRequest generates a "aws/request.Request" representing the // client's request for the DeregisterOnPremisesInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeregisterOnPremisesInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeregisterOnPremisesInstance method directly -// instead. +// See DeregisterOnPremisesInstance for more information on using the DeregisterOnPremisesInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeregisterOnPremisesInstanceRequest method. // req, resp := client.DeregisterOnPremisesInstanceRequest(params) @@ -1614,19 +1610,18 @@ const opGetApplication = "GetApplication" // GetApplicationRequest generates a "aws/request.Request" representing the // client's request for the GetApplication operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetApplication for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetApplication method directly -// instead. +// See GetApplication for more information on using the GetApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetApplicationRequest method. // req, resp := client.GetApplicationRequest(params) @@ -1700,19 +1695,18 @@ const opGetApplicationRevision = "GetApplicationRevision" // GetApplicationRevisionRequest generates a "aws/request.Request" representing the // client's request for the GetApplicationRevision operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetApplicationRevision for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetApplicationRevision method directly -// instead. +// See GetApplicationRevision for more information on using the GetApplicationRevision +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetApplicationRevisionRequest method. // req, resp := client.GetApplicationRevisionRequest(params) @@ -1795,19 +1789,18 @@ const opGetDeployment = "GetDeployment" // GetDeploymentRequest generates a "aws/request.Request" representing the // client's request for the GetDeployment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDeployment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDeployment method directly -// instead. +// See GetDeployment for more information on using the GetDeployment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDeploymentRequest method. // req, resp := client.GetDeploymentRequest(params) @@ -1881,19 +1874,18 @@ const opGetDeploymentConfig = "GetDeploymentConfig" // GetDeploymentConfigRequest generates a "aws/request.Request" representing the // client's request for the GetDeploymentConfig operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDeploymentConfig for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDeploymentConfig method directly -// instead. +// See GetDeploymentConfig for more information on using the GetDeploymentConfig +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDeploymentConfigRequest method. // req, resp := client.GetDeploymentConfigRequest(params) @@ -1968,19 +1960,18 @@ const opGetDeploymentGroup = "GetDeploymentGroup" // GetDeploymentGroupRequest generates a "aws/request.Request" representing the // client's request for the GetDeploymentGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDeploymentGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDeploymentGroup method directly -// instead. +// See GetDeploymentGroup for more information on using the GetDeploymentGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDeploymentGroupRequest method. // req, resp := client.GetDeploymentGroupRequest(params) @@ -2064,19 +2055,18 @@ const opGetDeploymentInstance = "GetDeploymentInstance" // GetDeploymentInstanceRequest generates a "aws/request.Request" representing the // client's request for the GetDeploymentInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDeploymentInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDeploymentInstance method directly -// instead. +// See GetDeploymentInstance for more information on using the GetDeploymentInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDeploymentInstanceRequest method. // req, resp := client.GetDeploymentInstanceRequest(params) @@ -2159,19 +2149,18 @@ const opGetOnPremisesInstance = "GetOnPremisesInstance" // GetOnPremisesInstanceRequest generates a "aws/request.Request" representing the // client's request for the GetOnPremisesInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetOnPremisesInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetOnPremisesInstance method directly -// instead. +// See GetOnPremisesInstance for more information on using the GetOnPremisesInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetOnPremisesInstanceRequest method. // req, resp := client.GetOnPremisesInstanceRequest(params) @@ -2245,19 +2234,18 @@ const opListApplicationRevisions = "ListApplicationRevisions" // ListApplicationRevisionsRequest generates a "aws/request.Request" representing the // client's request for the ListApplicationRevisions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListApplicationRevisions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListApplicationRevisions method directly -// instead. +// See ListApplicationRevisions for more information on using the ListApplicationRevisions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListApplicationRevisionsRequest method. // req, resp := client.ListApplicationRevisionsRequest(params) @@ -2409,19 +2397,18 @@ const opListApplications = "ListApplications" // ListApplicationsRequest generates a "aws/request.Request" representing the // client's request for the ListApplications operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListApplications for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListApplications method directly -// instead. +// See ListApplications for more information on using the ListApplications +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListApplicationsRequest method. // req, resp := client.ListApplicationsRequest(params) @@ -2545,19 +2532,18 @@ const opListDeploymentConfigs = "ListDeploymentConfigs" // ListDeploymentConfigsRequest generates a "aws/request.Request" representing the // client's request for the ListDeploymentConfigs operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDeploymentConfigs for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDeploymentConfigs method directly -// instead. +// See ListDeploymentConfigs for more information on using the ListDeploymentConfigs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDeploymentConfigsRequest method. // req, resp := client.ListDeploymentConfigsRequest(params) @@ -2681,19 +2667,18 @@ const opListDeploymentGroups = "ListDeploymentGroups" // ListDeploymentGroupsRequest generates a "aws/request.Request" representing the // client's request for the ListDeploymentGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDeploymentGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDeploymentGroups method directly -// instead. +// See ListDeploymentGroups for more information on using the ListDeploymentGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDeploymentGroupsRequest method. // req, resp := client.ListDeploymentGroupsRequest(params) @@ -2827,19 +2812,18 @@ const opListDeploymentInstances = "ListDeploymentInstances" // ListDeploymentInstancesRequest generates a "aws/request.Request" representing the // client's request for the ListDeploymentInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDeploymentInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDeploymentInstances method directly -// instead. +// See ListDeploymentInstances for more information on using the ListDeploymentInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDeploymentInstancesRequest method. // req, resp := client.ListDeploymentInstancesRequest(params) @@ -2988,19 +2972,18 @@ const opListDeployments = "ListDeployments" // ListDeploymentsRequest generates a "aws/request.Request" representing the // client's request for the ListDeployments operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDeployments for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDeployments method directly -// instead. +// See ListDeployments for more information on using the ListDeployments +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDeploymentsRequest method. // req, resp := client.ListDeploymentsRequest(params) @@ -3150,19 +3133,18 @@ const opListGitHubAccountTokenNames = "ListGitHubAccountTokenNames" // ListGitHubAccountTokenNamesRequest generates a "aws/request.Request" representing the // client's request for the ListGitHubAccountTokenNames operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListGitHubAccountTokenNames for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListGitHubAccountTokenNames method directly -// instead. +// See ListGitHubAccountTokenNames for more information on using the ListGitHubAccountTokenNames +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListGitHubAccountTokenNamesRequest method. // req, resp := client.ListGitHubAccountTokenNamesRequest(params) @@ -3233,19 +3215,18 @@ const opListOnPremisesInstances = "ListOnPremisesInstances" // ListOnPremisesInstancesRequest generates a "aws/request.Request" representing the // client's request for the ListOnPremisesInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListOnPremisesInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListOnPremisesInstances method directly -// instead. +// See ListOnPremisesInstances for more information on using the ListOnPremisesInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListOnPremisesInstancesRequest method. // req, resp := client.ListOnPremisesInstancesRequest(params) @@ -3323,19 +3304,18 @@ const opRegisterApplicationRevision = "RegisterApplicationRevision" // RegisterApplicationRevisionRequest generates a "aws/request.Request" representing the // client's request for the RegisterApplicationRevision operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterApplicationRevision for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterApplicationRevision method directly -// instead. +// See RegisterApplicationRevision for more information on using the RegisterApplicationRevision +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterApplicationRevisionRequest method. // req, resp := client.RegisterApplicationRevisionRequest(params) @@ -3420,19 +3400,18 @@ const opRegisterOnPremisesInstance = "RegisterOnPremisesInstance" // RegisterOnPremisesInstanceRequest generates a "aws/request.Request" representing the // client's request for the RegisterOnPremisesInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterOnPremisesInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterOnPremisesInstance method directly -// instead. +// See RegisterOnPremisesInstance for more information on using the RegisterOnPremisesInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterOnPremisesInstanceRequest method. // req, resp := client.RegisterOnPremisesInstanceRequest(params) @@ -3535,19 +3514,18 @@ const opRemoveTagsFromOnPremisesInstances = "RemoveTagsFromOnPremisesInstances" // RemoveTagsFromOnPremisesInstancesRequest generates a "aws/request.Request" representing the // client's request for the RemoveTagsFromOnPremisesInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveTagsFromOnPremisesInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveTagsFromOnPremisesInstances method directly -// instead. +// See RemoveTagsFromOnPremisesInstances for more information on using the RemoveTagsFromOnPremisesInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveTagsFromOnPremisesInstancesRequest method. // req, resp := client.RemoveTagsFromOnPremisesInstancesRequest(params) @@ -3633,19 +3611,18 @@ const opSkipWaitTimeForInstanceTermination = "SkipWaitTimeForInstanceTermination // SkipWaitTimeForInstanceTerminationRequest generates a "aws/request.Request" representing the // client's request for the SkipWaitTimeForInstanceTermination operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SkipWaitTimeForInstanceTermination for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SkipWaitTimeForInstanceTermination method directly -// instead. +// See SkipWaitTimeForInstanceTermination for more information on using the SkipWaitTimeForInstanceTermination +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SkipWaitTimeForInstanceTerminationRequest method. // req, resp := client.SkipWaitTimeForInstanceTerminationRequest(params) @@ -3731,19 +3708,18 @@ const opStopDeployment = "StopDeployment" // StopDeploymentRequest generates a "aws/request.Request" representing the // client's request for the StopDeployment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StopDeployment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StopDeployment method directly -// instead. +// See StopDeployment for more information on using the StopDeployment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StopDeploymentRequest method. // req, resp := client.StopDeploymentRequest(params) @@ -3820,19 +3796,18 @@ const opUpdateApplication = "UpdateApplication" // UpdateApplicationRequest generates a "aws/request.Request" representing the // client's request for the UpdateApplication operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateApplication for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateApplication method directly -// instead. +// See UpdateApplication for more information on using the UpdateApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateApplicationRequest method. // req, resp := client.UpdateApplicationRequest(params) @@ -3912,19 +3887,18 @@ const opUpdateDeploymentGroup = "UpdateDeploymentGroup" // UpdateDeploymentGroupRequest generates a "aws/request.Request" representing the // client's request for the UpdateDeploymentGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateDeploymentGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateDeploymentGroup method directly -// instead. +// See UpdateDeploymentGroup for more information on using the UpdateDeploymentGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateDeploymentGroupRequest method. // req, resp := client.UpdateDeploymentGroupRequest(params) @@ -4050,6 +4024,18 @@ func (c *CodeDeploy) UpdateDeploymentGroupRequest(input *UpdateDeploymentGroupIn // invalid format. For information about deployment configuration format, see // CreateDeploymentConfig. // +// * ErrCodeInvalidEC2TagCombinationException "InvalidEC2TagCombinationException" +// A call was submitted that specified both Ec2TagFilters and Ec2TagSet, but +// only one of these data types can be used in a single call. +// +// * ErrCodeInvalidOnPremisesTagCombinationException "InvalidOnPremisesTagCombinationException" +// A call was submitted that specified both OnPremisesTagFilters and OnPremisesTagSet, +// but only one of these data types can be used in a single call. +// +// * ErrCodeTagSetListLimitExceededException "TagSetListLimitExceededException" +// The number of tag groups included in the tag set list exceeded the maximum +// allowed limit of 3. +// // Please also see https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/UpdateDeploymentGroup func (c *CodeDeploy) UpdateDeploymentGroup(input *UpdateDeploymentGroupInput) (*UpdateDeploymentGroupOutput, error) { req, out := c.UpdateDeploymentGroupRequest(input) @@ -5010,7 +4996,9 @@ type CreateDeploymentConfigInput struct { // // For example, to set a minimum of 95% healthy instance, specify a type of // FLEET_PERCENT and a value of 95. - MinimumHealthyHosts *MinimumHealthyHosts `locationName:"minimumHealthyHosts" type:"structure"` + // + // MinimumHealthyHosts is a required field + MinimumHealthyHosts *MinimumHealthyHosts `locationName:"minimumHealthyHosts" type:"structure" required:"true"` } // String returns the string representation @@ -5032,6 +5020,9 @@ func (s *CreateDeploymentConfigInput) Validate() error { if s.DeploymentConfigName != nil && len(*s.DeploymentConfigName) < 1 { invalidParams.Add(request.NewErrParamMinLen("DeploymentConfigName", 1)) } + if s.MinimumHealthyHosts == nil { + invalidParams.Add(request.NewErrParamRequired("MinimumHealthyHosts")) + } if invalidParams.Len() > 0 { return invalidParams @@ -5125,16 +5116,28 @@ type CreateDeploymentGroupInput struct { DeploymentStyle *DeploymentStyle `locationName:"deploymentStyle" type:"structure"` // The Amazon EC2 tags on which to filter. The deployment group will include - // EC2 instances with any of the specified tags. + // EC2 instances with any of the specified tags. Cannot be used in the same + // call as ec2TagSet. Ec2TagFilters []*EC2TagFilter `locationName:"ec2TagFilters" type:"list"` + // Information about groups of tags applied to EC2 instances. The deployment + // group will include only EC2 instances identified by all the tag groups. Cannot + // be used in the same call as ec2TagFilters. + Ec2TagSet *EC2TagSet `locationName:"ec2TagSet" type:"structure"` + // Information about the load balancer used in a deployment. LoadBalancerInfo *LoadBalancerInfo `locationName:"loadBalancerInfo" type:"structure"` // The on-premises instance tags on which to filter. The deployment group will - // include on-premises instances with any of the specified tags. + // include on-premises instances with any of the specified tags. Cannot be used + // in the same call as OnPremisesTagSet. OnPremisesInstanceTagFilters []*TagFilter `locationName:"onPremisesInstanceTagFilters" type:"list"` + // Information about groups of tags applied to on-premises instances. The deployment + // group will include only on-premises instances identified by all the tag groups. + // Cannot be used in the same call as onPremisesInstanceTagFilters. + OnPremisesTagSet *OnPremisesTagSet `locationName:"onPremisesTagSet" type:"structure"` + // A service role ARN that allows AWS CodeDeploy to act on the user's behalf // when interacting with AWS services. // @@ -5239,6 +5242,12 @@ func (s *CreateDeploymentGroupInput) SetEc2TagFilters(v []*EC2TagFilter) *Create return s } +// SetEc2TagSet sets the Ec2TagSet field's value. +func (s *CreateDeploymentGroupInput) SetEc2TagSet(v *EC2TagSet) *CreateDeploymentGroupInput { + s.Ec2TagSet = v + return s +} + // SetLoadBalancerInfo sets the LoadBalancerInfo field's value. func (s *CreateDeploymentGroupInput) SetLoadBalancerInfo(v *LoadBalancerInfo) *CreateDeploymentGroupInput { s.LoadBalancerInfo = v @@ -5251,6 +5260,12 @@ func (s *CreateDeploymentGroupInput) SetOnPremisesInstanceTagFilters(v []*TagFil return s } +// SetOnPremisesTagSet sets the OnPremisesTagSet field's value. +func (s *CreateDeploymentGroupInput) SetOnPremisesTagSet(v *OnPremisesTagSet) *CreateDeploymentGroupInput { + s.OnPremisesTagSet = v + return s +} + // SetServiceRoleArn sets the ServiceRoleArn field's value. func (s *CreateDeploymentGroupInput) SetServiceRoleArn(v string) *CreateDeploymentGroupInput { s.ServiceRoleArn = &v @@ -5768,9 +5783,15 @@ type DeploymentGroupInfo struct { // you want to run and whether to route deployment traffic behind a load balancer. DeploymentStyle *DeploymentStyle `locationName:"deploymentStyle" type:"structure"` - // The Amazon EC2 tags on which to filter. + // The Amazon EC2 tags on which to filter. The deployment group includes EC2 + // instances with any of the specified tags. Ec2TagFilters []*EC2TagFilter `locationName:"ec2TagFilters" type:"list"` + // Information about groups of tags applied to an EC2 instance. The deployment + // group includes only EC2 instances identified by all the tag groups. Cannot + // be used in the same call as ec2TagFilters. + Ec2TagSet *EC2TagSet `locationName:"ec2TagSet" type:"structure"` + // Information about the most recent attempted deployment to the deployment // group. LastAttemptedDeployment *LastDeploymentInfo `locationName:"lastAttemptedDeployment" type:"structure"` @@ -5782,9 +5803,15 @@ type DeploymentGroupInfo struct { // Information about the load balancer to use in a deployment. LoadBalancerInfo *LoadBalancerInfo `locationName:"loadBalancerInfo" type:"structure"` - // The on-premises instance tags on which to filter. + // The on-premises instance tags on which to filter. The deployment group includes + // on-premises instances with any of the specified tags. OnPremisesInstanceTagFilters []*TagFilter `locationName:"onPremisesInstanceTagFilters" type:"list"` + // Information about groups of tags applied to an on-premises instance. The + // deployment group includes only on-premises instances identified by all the + // tag groups. Cannot be used in the same call as onPremisesInstanceTagFilters. + OnPremisesTagSet *OnPremisesTagSet `locationName:"onPremisesTagSet" type:"structure"` + // A service role ARN. ServiceRoleArn *string `locationName:"serviceRoleArn" type:"string"` @@ -5866,6 +5893,12 @@ func (s *DeploymentGroupInfo) SetEc2TagFilters(v []*EC2TagFilter) *DeploymentGro return s } +// SetEc2TagSet sets the Ec2TagSet field's value. +func (s *DeploymentGroupInfo) SetEc2TagSet(v *EC2TagSet) *DeploymentGroupInfo { + s.Ec2TagSet = v + return s +} + // SetLastAttemptedDeployment sets the LastAttemptedDeployment field's value. func (s *DeploymentGroupInfo) SetLastAttemptedDeployment(v *LastDeploymentInfo) *DeploymentGroupInfo { s.LastAttemptedDeployment = v @@ -5890,6 +5923,12 @@ func (s *DeploymentGroupInfo) SetOnPremisesInstanceTagFilters(v []*TagFilter) *D return s } +// SetOnPremisesTagSet sets the OnPremisesTagSet field's value. +func (s *DeploymentGroupInfo) SetOnPremisesTagSet(v *OnPremisesTagSet) *DeploymentGroupInfo { + s.OnPremisesTagSet = v + return s +} + // SetServiceRoleArn sets the ServiceRoleArn field's value. func (s *DeploymentGroupInfo) SetServiceRoleArn(v string) *DeploymentGroupInfo { s.ServiceRoleArn = &v @@ -6516,7 +6555,36 @@ func (s *EC2TagFilter) SetValue(v string) *EC2TagFilter { return s } +// Information about groups of EC2 instance tags. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/EC2TagSet +type EC2TagSet struct { + _ struct{} `type:"structure"` + + // A list containing other lists of EC2 instance tag groups. In order for an + // instance to be included in the deployment group, it must be identified by + // all the tag groups in the list. + Ec2TagSetList [][]*EC2TagFilter `locationName:"ec2TagSetList" type:"list"` +} + +// String returns the string representation +func (s EC2TagSet) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EC2TagSet) GoString() string { + return s.String() +} + +// SetEc2TagSetList sets the Ec2TagSetList field's value. +func (s *EC2TagSet) SetEc2TagSetList(v [][]*EC2TagFilter) *EC2TagSet { + s.Ec2TagSetList = v + return s +} + // Information about a load balancer in Elastic Load Balancing to use in a deployment. +// Instances are registered directly with a load balancer, and traffic is routed +// to the load balancer. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ELBInfo type ELBInfo struct { _ struct{} `type:"structure"` @@ -6524,7 +6592,7 @@ type ELBInfo struct { // For blue/green deployments, the name of the load balancer that will be used // to route traffic from original instances to replacement instances in a blue/green // deployment. For in-place deployments, the name of the load balancer that - // instances are deregistered from so they are not serving traffic during a + // instances are deregistered from, so they are not serving traffic during a // deployment, and then re-registered with after the deployment completes. Name *string `locationName:"name" type:"string"` } @@ -8361,14 +8429,21 @@ func (s *ListOnPremisesInstancesOutput) SetNextToken(v string) *ListOnPremisesIn return s } -// Information about the load balancer used in a deployment. +// Information about the Elastic Load Balancing load balancer or target group +// used in a deployment. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/LoadBalancerInfo type LoadBalancerInfo struct { _ struct{} `type:"structure"` - // An array containing information about the load balancer in Elastic Load Balancing - // to use in a deployment. + // An array containing information about the load balancer to use for load balancing + // in a deployment. In Elastic Load Balancing, load balancers are used with + // Classic Load Balancers. ElbInfoList []*ELBInfo `locationName:"elbInfoList" type:"list"` + + // An array containing information about the target group to use for load balancing + // in a deployment. In Elastic Load Balancing, target groups are used with Application + // Load Balancers. + TargetGroupInfoList []*TargetGroupInfo `locationName:"targetGroupInfoList" type:"list"` } // String returns the string representation @@ -8387,6 +8462,12 @@ func (s *LoadBalancerInfo) SetElbInfoList(v []*ELBInfo) *LoadBalancerInfo { return s } +// SetTargetGroupInfoList sets the TargetGroupInfoList field's value. +func (s *LoadBalancerInfo) SetTargetGroupInfoList(v []*TargetGroupInfo) *LoadBalancerInfo { + s.TargetGroupInfoList = v + return s +} + // Information about minimum healthy instance. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/MinimumHealthyHosts type MinimumHealthyHosts struct { @@ -8446,6 +8527,33 @@ func (s *MinimumHealthyHosts) SetValue(v int64) *MinimumHealthyHosts { return s } +// Information about groups of on-premises instance tags. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/OnPremisesTagSet +type OnPremisesTagSet struct { + _ struct{} `type:"structure"` + + // A list containing other lists of on-premises instance tag groups. In order + // for an instance to be included in the deployment group, it must be identified + // by all the tag groups in the list. + OnPremisesTagSetList [][]*TagFilter `locationName:"onPremisesTagSetList" type:"list"` +} + +// String returns the string representation +func (s OnPremisesTagSet) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OnPremisesTagSet) GoString() string { + return s.String() +} + +// SetOnPremisesTagSetList sets the OnPremisesTagSetList field's value. +func (s *OnPremisesTagSet) SetOnPremisesTagSetList(v [][]*TagFilter) *OnPremisesTagSet { + s.OnPremisesTagSetList = v + return s +} + // Represents the input of a RegisterApplicationRevision operation. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/RegisterApplicationRevisionInput type RegisterApplicationRevisionInput struct { @@ -9088,6 +9196,37 @@ func (s *TagFilter) SetValue(v string) *TagFilter { return s } +// Information about a target group in Elastic Load Balancing to use in a deployment. +// Instances are registered as targets in a target group, and traffic is routed +// to the target group. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/TargetGroupInfo +type TargetGroupInfo struct { + _ struct{} `type:"structure"` + + // For blue/green deployments, the name of the target group that instances in + // the original environment are deregistered from, and instances in the replacement + // environment registered with. For in-place deployments, the name of the target + // group that instances are deregistered from, so they are not serving traffic + // during a deployment, and then re-registered with after the deployment completes. + Name *string `locationName:"name" type:"string"` +} + +// String returns the string representation +func (s TargetGroupInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TargetGroupInfo) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *TargetGroupInfo) SetName(v string) *TargetGroupInfo { + s.Name = &v + return s +} + // Information about the instances to be used in the replacement environment // in a blue/green deployment. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/TargetInstances @@ -9098,8 +9237,14 @@ type TargetInstances struct { // for a blue/green deployment. AutoScalingGroups []*string `locationName:"autoScalingGroups" type:"list"` + // Information about the groups of EC2 instance tags that an instance must be + // identified by in order for it to be included in the replacement environment + // for a blue/green deployment. Cannot be used in the same call as tagFilters. + Ec2TagSet *EC2TagSet `locationName:"ec2TagSet" type:"structure"` + // The tag filter key, type, and value used to identify Amazon EC2 instances - // in a replacement environment for a blue/green deployment. + // in a replacement environment for a blue/green deployment. Cannot be used + // in the same call as ec2TagSet. TagFilters []*EC2TagFilter `locationName:"tagFilters" type:"list"` } @@ -9119,6 +9264,12 @@ func (s *TargetInstances) SetAutoScalingGroups(v []*string) *TargetInstances { return s } +// SetEc2TagSet sets the Ec2TagSet field's value. +func (s *TargetInstances) SetEc2TagSet(v *EC2TagSet) *TargetInstances { + s.Ec2TagSet = v + return s +} + // SetTagFilters sets the TagFilters field's value. func (s *TargetInstances) SetTagFilters(v []*EC2TagFilter) *TargetInstances { s.TagFilters = v @@ -9317,6 +9468,10 @@ type UpdateDeploymentGroupInput struct { // do not enter any tag names. Ec2TagFilters []*EC2TagFilter `locationName:"ec2TagFilters" type:"list"` + // Information about groups of tags applied to on-premises instances. The deployment + // group will include only EC2 instances identified by all the tag groups. + Ec2TagSet *EC2TagSet `locationName:"ec2TagSet" type:"structure"` + // Information about the load balancer used in a deployment. LoadBalancerInfo *LoadBalancerInfo `locationName:"loadBalancerInfo" type:"structure"` @@ -9328,6 +9483,10 @@ type UpdateDeploymentGroupInput struct { // tags, do not enter any tag names. OnPremisesInstanceTagFilters []*TagFilter `locationName:"onPremisesInstanceTagFilters" type:"list"` + // Information about an on-premises instance tag set. The deployment group will + // include only on-premises instances identified by all the tag groups. + OnPremisesTagSet *OnPremisesTagSet `locationName:"onPremisesTagSet" type:"structure"` + // A replacement ARN for the service role, if you want to change it. ServiceRoleArn *string `locationName:"serviceRoleArn" type:"string"` @@ -9429,6 +9588,12 @@ func (s *UpdateDeploymentGroupInput) SetEc2TagFilters(v []*EC2TagFilter) *Update return s } +// SetEc2TagSet sets the Ec2TagSet field's value. +func (s *UpdateDeploymentGroupInput) SetEc2TagSet(v *EC2TagSet) *UpdateDeploymentGroupInput { + s.Ec2TagSet = v + return s +} + // SetLoadBalancerInfo sets the LoadBalancerInfo field's value. func (s *UpdateDeploymentGroupInput) SetLoadBalancerInfo(v *LoadBalancerInfo) *UpdateDeploymentGroupInput { s.LoadBalancerInfo = v @@ -9447,6 +9612,12 @@ func (s *UpdateDeploymentGroupInput) SetOnPremisesInstanceTagFilters(v []*TagFil return s } +// SetOnPremisesTagSet sets the OnPremisesTagSet field's value. +func (s *UpdateDeploymentGroupInput) SetOnPremisesTagSet(v *OnPremisesTagSet) *UpdateDeploymentGroupInput { + s.OnPremisesTagSet = v + return s +} + // SetServiceRoleArn sets the ServiceRoleArn field's value. func (s *UpdateDeploymentGroupInput) SetServiceRoleArn(v string) *UpdateDeploymentGroupInput { s.ServiceRoleArn = &v diff --git a/vendor/github.com/aws/aws-sdk-go/service/codedeploy/codedeployiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/codedeploy/codedeployiface/interface.go index c7d8620a9..f804f6c3d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codedeploy/codedeployiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codedeploy/codedeployiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS CodeDeploy. diff --git a/vendor/github.com/aws/aws-sdk-go/service/codedeploy/doc.go b/vendor/github.com/aws/aws-sdk-go/service/codedeploy/doc.go index f9a43b80c..53b211ea6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codedeploy/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codedeploy/doc.go @@ -65,69 +65,17 @@ // // Using the Client // -// To use the client for AWS CodeDeploy you will first need -// to create a new instance of it. +// To AWS CodeDeploy with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := codedeploy.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS CodeDeploy client CodeDeploy for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/codedeploy/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AddTagsToOnPremisesInstances(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AddTagsToOnPremisesInstances result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AddTagsToOnPremisesInstancesWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package codedeploy diff --git a/vendor/github.com/aws/aws-sdk-go/service/codedeploy/errors.go b/vendor/github.com/aws/aws-sdk-go/service/codedeploy/errors.go index cf425556c..1ff3ee343 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codedeploy/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codedeploy/errors.go @@ -305,6 +305,13 @@ const ( // and "WITHOUT_TRAFFIC_CONTROL". ErrCodeInvalidDeploymentStyleException = "InvalidDeploymentStyleException" + // ErrCodeInvalidEC2TagCombinationException for service response error code + // "InvalidEC2TagCombinationException". + // + // A call was submitted that specified both Ec2TagFilters and Ec2TagSet, but + // only one of these data types can be used in a single call. + ErrCodeInvalidEC2TagCombinationException = "InvalidEC2TagCombinationException" + // ErrCodeInvalidEC2TagException for service response error code // "InvalidEC2TagException". // @@ -376,6 +383,13 @@ const ( // The next token was specified in an invalid format. ErrCodeInvalidNextTokenException = "InvalidNextTokenException" + // ErrCodeInvalidOnPremisesTagCombinationException for service response error code + // "InvalidOnPremisesTagCombinationException". + // + // A call was submitted that specified both OnPremisesTagFilters and OnPremisesTagSet, + // but only one of these data types can be used in a single call. + ErrCodeInvalidOnPremisesTagCombinationException = "InvalidOnPremisesTagCombinationException" + // ErrCodeInvalidOperationException for service response error code // "InvalidOperationException". // @@ -503,6 +517,13 @@ const ( // A tag was not specified. ErrCodeTagRequiredException = "TagRequiredException" + // ErrCodeTagSetListLimitExceededException for service response error code + // "TagSetListLimitExceededException". + // + // The number of tag groups included in the tag set list exceeded the maximum + // allowed limit of 3. + ErrCodeTagSetListLimitExceededException = "TagSetListLimitExceededException" + // ErrCodeTriggerTargetsLimitExceededException for service response error code // "TriggerTargetsLimitExceededException". // diff --git a/vendor/github.com/aws/aws-sdk-go/service/codedeploy/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/codedeploy/waiters.go index 8b885e852..a6827f7b0 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codedeploy/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codedeploy/waiters.go @@ -11,7 +11,7 @@ import ( // WaitUntilDeploymentSuccessful uses the CodeDeploy API operation // GetDeployment to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *CodeDeploy) WaitUntilDeploymentSuccessful(input *GetDeploymentInput) error { return c.WaitUntilDeploymentSuccessfulWithContext(aws.BackgroundContext(), input) diff --git a/vendor/github.com/aws/aws-sdk-go/service/codepipeline/api.go b/vendor/github.com/aws/aws-sdk-go/service/codepipeline/api.go index faf229edb..9ac88fcc5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codepipeline/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codepipeline/api.go @@ -17,19 +17,18 @@ const opAcknowledgeJob = "AcknowledgeJob" // AcknowledgeJobRequest generates a "aws/request.Request" representing the // client's request for the AcknowledgeJob operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AcknowledgeJob for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AcknowledgeJob method directly -// instead. +// See AcknowledgeJob for more information on using the AcknowledgeJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AcknowledgeJobRequest method. // req, resp := client.AcknowledgeJobRequest(params) @@ -104,19 +103,18 @@ const opAcknowledgeThirdPartyJob = "AcknowledgeThirdPartyJob" // AcknowledgeThirdPartyJobRequest generates a "aws/request.Request" representing the // client's request for the AcknowledgeThirdPartyJob operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AcknowledgeThirdPartyJob for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AcknowledgeThirdPartyJob method directly -// instead. +// See AcknowledgeThirdPartyJob for more information on using the AcknowledgeThirdPartyJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AcknowledgeThirdPartyJobRequest method. // req, resp := client.AcknowledgeThirdPartyJobRequest(params) @@ -194,19 +192,18 @@ const opCreateCustomActionType = "CreateCustomActionType" // CreateCustomActionTypeRequest generates a "aws/request.Request" representing the // client's request for the CreateCustomActionType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateCustomActionType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateCustomActionType method directly -// instead. +// See CreateCustomActionType for more information on using the CreateCustomActionType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateCustomActionTypeRequest method. // req, resp := client.CreateCustomActionTypeRequest(params) @@ -279,19 +276,18 @@ const opCreatePipeline = "CreatePipeline" // CreatePipelineRequest generates a "aws/request.Request" representing the // client's request for the CreatePipeline operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreatePipeline for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreatePipeline method directly -// instead. +// See CreatePipeline for more information on using the CreatePipeline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreatePipelineRequest method. // req, resp := client.CreatePipelineRequest(params) @@ -378,19 +374,18 @@ const opDeleteCustomActionType = "DeleteCustomActionType" // DeleteCustomActionTypeRequest generates a "aws/request.Request" representing the // client's request for the DeleteCustomActionType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteCustomActionType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteCustomActionType method directly -// instead. +// See DeleteCustomActionType for more information on using the DeleteCustomActionType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteCustomActionTypeRequest method. // req, resp := client.DeleteCustomActionTypeRequest(params) @@ -464,19 +459,18 @@ const opDeletePipeline = "DeletePipeline" // DeletePipelineRequest generates a "aws/request.Request" representing the // client's request for the DeletePipeline operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeletePipeline for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeletePipeline method directly -// instead. +// See DeletePipeline for more information on using the DeletePipeline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeletePipelineRequest method. // req, resp := client.DeletePipelineRequest(params) @@ -546,19 +540,18 @@ const opDisableStageTransition = "DisableStageTransition" // DisableStageTransitionRequest generates a "aws/request.Request" representing the // client's request for the DisableStageTransition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisableStageTransition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisableStageTransition method directly -// instead. +// See DisableStageTransition for more information on using the DisableStageTransition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisableStageTransitionRequest method. // req, resp := client.DisableStageTransitionRequest(params) @@ -635,19 +628,18 @@ const opEnableStageTransition = "EnableStageTransition" // EnableStageTransitionRequest generates a "aws/request.Request" representing the // client's request for the EnableStageTransition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EnableStageTransition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EnableStageTransition method directly -// instead. +// See EnableStageTransition for more information on using the EnableStageTransition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EnableStageTransitionRequest method. // req, resp := client.EnableStageTransitionRequest(params) @@ -723,19 +715,18 @@ const opGetJobDetails = "GetJobDetails" // GetJobDetailsRequest generates a "aws/request.Request" representing the // client's request for the GetJobDetails operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetJobDetails for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetJobDetails method directly -// instead. +// See GetJobDetails for more information on using the GetJobDetails +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetJobDetailsRequest method. // req, resp := client.GetJobDetailsRequest(params) @@ -811,19 +802,18 @@ const opGetPipeline = "GetPipeline" // GetPipelineRequest generates a "aws/request.Request" representing the // client's request for the GetPipeline operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetPipeline for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetPipeline method directly -// instead. +// See GetPipeline for more information on using the GetPipeline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetPipelineRequest method. // req, resp := client.GetPipelineRequest(params) @@ -900,19 +890,18 @@ const opGetPipelineExecution = "GetPipelineExecution" // GetPipelineExecutionRequest generates a "aws/request.Request" representing the // client's request for the GetPipelineExecution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetPipelineExecution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetPipelineExecution method directly -// instead. +// See GetPipelineExecution for more information on using the GetPipelineExecution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetPipelineExecutionRequest method. // req, resp := client.GetPipelineExecutionRequest(params) @@ -989,19 +978,18 @@ const opGetPipelineState = "GetPipelineState" // GetPipelineStateRequest generates a "aws/request.Request" representing the // client's request for the GetPipelineState operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetPipelineState for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetPipelineState method directly -// instead. +// See GetPipelineState for more information on using the GetPipelineState +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetPipelineStateRequest method. // req, resp := client.GetPipelineStateRequest(params) @@ -1073,19 +1061,18 @@ const opGetThirdPartyJobDetails = "GetThirdPartyJobDetails" // GetThirdPartyJobDetailsRequest generates a "aws/request.Request" representing the // client's request for the GetThirdPartyJobDetails operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetThirdPartyJobDetails for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetThirdPartyJobDetails method directly -// instead. +// See GetThirdPartyJobDetails for more information on using the GetThirdPartyJobDetails +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetThirdPartyJobDetailsRequest method. // req, resp := client.GetThirdPartyJobDetailsRequest(params) @@ -1168,19 +1155,18 @@ const opListActionTypes = "ListActionTypes" // ListActionTypesRequest generates a "aws/request.Request" representing the // client's request for the ListActionTypes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListActionTypes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListActionTypes method directly -// instead. +// See ListActionTypes for more information on using the ListActionTypes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListActionTypesRequest method. // req, resp := client.ListActionTypesRequest(params) @@ -1253,19 +1239,18 @@ const opListPipelineExecutions = "ListPipelineExecutions" // ListPipelineExecutionsRequest generates a "aws/request.Request" representing the // client's request for the ListPipelineExecutions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListPipelineExecutions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListPipelineExecutions method directly -// instead. +// See ListPipelineExecutions for more information on using the ListPipelineExecutions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPipelineExecutionsRequest method. // req, resp := client.ListPipelineExecutionsRequest(params) @@ -1340,19 +1325,18 @@ const opListPipelines = "ListPipelines" // ListPipelinesRequest generates a "aws/request.Request" representing the // client's request for the ListPipelines operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListPipelines for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListPipelines method directly -// instead. +// See ListPipelines for more information on using the ListPipelines +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPipelinesRequest method. // req, resp := client.ListPipelinesRequest(params) @@ -1421,19 +1405,18 @@ const opPollForJobs = "PollForJobs" // PollForJobsRequest generates a "aws/request.Request" representing the // client's request for the PollForJobs operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PollForJobs for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PollForJobs method directly -// instead. +// See PollForJobs for more information on using the PollForJobs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PollForJobsRequest method. // req, resp := client.PollForJobsRequest(params) @@ -1509,19 +1492,18 @@ const opPollForThirdPartyJobs = "PollForThirdPartyJobs" // PollForThirdPartyJobsRequest generates a "aws/request.Request" representing the // client's request for the PollForThirdPartyJobs operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PollForThirdPartyJobs for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PollForThirdPartyJobs method directly -// instead. +// See PollForThirdPartyJobs for more information on using the PollForThirdPartyJobs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PollForThirdPartyJobsRequest method. // req, resp := client.PollForThirdPartyJobsRequest(params) @@ -1597,19 +1579,18 @@ const opPutActionRevision = "PutActionRevision" // PutActionRevisionRequest generates a "aws/request.Request" representing the // client's request for the PutActionRevision operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutActionRevision for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutActionRevision method directly -// instead. +// See PutActionRevision for more information on using the PutActionRevision +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutActionRevisionRequest method. // req, resp := client.PutActionRevisionRequest(params) @@ -1686,19 +1667,18 @@ const opPutApprovalResult = "PutApprovalResult" // PutApprovalResultRequest generates a "aws/request.Request" representing the // client's request for the PutApprovalResult operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutApprovalResult for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutApprovalResult method directly -// instead. +// See PutApprovalResult for more information on using the PutApprovalResult +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutApprovalResultRequest method. // req, resp := client.PutApprovalResultRequest(params) @@ -1782,19 +1762,18 @@ const opPutJobFailureResult = "PutJobFailureResult" // PutJobFailureResultRequest generates a "aws/request.Request" representing the // client's request for the PutJobFailureResult operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutJobFailureResult for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutJobFailureResult method directly -// instead. +// See PutJobFailureResult for more information on using the PutJobFailureResult +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutJobFailureResultRequest method. // req, resp := client.PutJobFailureResultRequest(params) @@ -1871,19 +1850,18 @@ const opPutJobSuccessResult = "PutJobSuccessResult" // PutJobSuccessResultRequest generates a "aws/request.Request" representing the // client's request for the PutJobSuccessResult operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutJobSuccessResult for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutJobSuccessResult method directly -// instead. +// See PutJobSuccessResult for more information on using the PutJobSuccessResult +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutJobSuccessResultRequest method. // req, resp := client.PutJobSuccessResultRequest(params) @@ -1960,19 +1938,18 @@ const opPutThirdPartyJobFailureResult = "PutThirdPartyJobFailureResult" // PutThirdPartyJobFailureResultRequest generates a "aws/request.Request" representing the // client's request for the PutThirdPartyJobFailureResult operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutThirdPartyJobFailureResult for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutThirdPartyJobFailureResult method directly -// instead. +// See PutThirdPartyJobFailureResult for more information on using the PutThirdPartyJobFailureResult +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutThirdPartyJobFailureResultRequest method. // req, resp := client.PutThirdPartyJobFailureResultRequest(params) @@ -2052,19 +2029,18 @@ const opPutThirdPartyJobSuccessResult = "PutThirdPartyJobSuccessResult" // PutThirdPartyJobSuccessResultRequest generates a "aws/request.Request" representing the // client's request for the PutThirdPartyJobSuccessResult operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutThirdPartyJobSuccessResult for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutThirdPartyJobSuccessResult method directly -// instead. +// See PutThirdPartyJobSuccessResult for more information on using the PutThirdPartyJobSuccessResult +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutThirdPartyJobSuccessResultRequest method. // req, resp := client.PutThirdPartyJobSuccessResultRequest(params) @@ -2144,19 +2120,18 @@ const opRetryStageExecution = "RetryStageExecution" // RetryStageExecutionRequest generates a "aws/request.Request" representing the // client's request for the RetryStageExecution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RetryStageExecution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RetryStageExecution method directly -// instead. +// See RetryStageExecution for more information on using the RetryStageExecution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RetryStageExecutionRequest method. // req, resp := client.RetryStageExecutionRequest(params) @@ -2240,19 +2215,18 @@ const opStartPipelineExecution = "StartPipelineExecution" // StartPipelineExecutionRequest generates a "aws/request.Request" representing the // client's request for the StartPipelineExecution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartPipelineExecution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartPipelineExecution method directly -// instead. +// See StartPipelineExecution for more information on using the StartPipelineExecution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartPipelineExecutionRequest method. // req, resp := client.StartPipelineExecutionRequest(params) @@ -2324,19 +2298,18 @@ const opUpdatePipeline = "UpdatePipeline" // UpdatePipelineRequest generates a "aws/request.Request" representing the // client's request for the UpdatePipeline operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdatePipeline for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdatePipeline method directly -// instead. +// See UpdatePipeline for more information on using the UpdatePipeline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdatePipelineRequest method. // req, resp := client.UpdatePipelineRequest(params) @@ -2467,7 +2440,7 @@ func (s *AWSSessionCredentials) SetSessionToken(v string) *AWSSessionCredentials return s } -// Represents the input of an acknowledge job action. +// Represents the input of an AcknowledgeJob action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/AcknowledgeJobInput type AcknowledgeJobInput struct { _ struct{} `type:"structure"` @@ -2523,7 +2496,7 @@ func (s *AcknowledgeJobInput) SetNonce(v string) *AcknowledgeJobInput { return s } -// Represents the output of an acknowledge job action. +// Represents the output of an AcknowledgeJob action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/AcknowledgeJobOutput type AcknowledgeJobOutput struct { _ struct{} `type:"structure"` @@ -2548,7 +2521,7 @@ func (s *AcknowledgeJobOutput) SetStatus(v string) *AcknowledgeJobOutput { return s } -// Represents the input of an acknowledge third party job action. +// Represents the input of an AcknowledgeThirdPartyJob action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/AcknowledgeThirdPartyJobInput type AcknowledgeThirdPartyJobInput struct { _ struct{} `type:"structure"` @@ -2557,7 +2530,7 @@ type AcknowledgeThirdPartyJobInput struct { // that the calling entity is allowed access to the job and its details. // // ClientToken is a required field - ClientToken *string `locationName:"clientToken" type:"string" required:"true"` + ClientToken *string `locationName:"clientToken" min:"1" type:"string" required:"true"` // The unique system-generated ID of the job. // @@ -2588,6 +2561,9 @@ func (s *AcknowledgeThirdPartyJobInput) Validate() error { if s.ClientToken == nil { invalidParams.Add(request.NewErrParamRequired("ClientToken")) } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } if s.JobId == nil { invalidParams.Add(request.NewErrParamRequired("JobId")) } @@ -2622,7 +2598,7 @@ func (s *AcknowledgeThirdPartyJobInput) SetNonce(v string) *AcknowledgeThirdPart return s } -// Represents the output of an acknowledge third party job action. +// Represents the output of an AcknowledgeThirdPartyJob action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/AcknowledgeThirdPartyJobOutput type AcknowledgeThirdPartyJobOutput struct { _ struct{} `type:"structure"` @@ -2691,7 +2667,7 @@ type ActionConfigurationProperty struct { // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // Indicates that the proprety will be used in conjunction with PollForJobs. + // Indicates that the property will be used in conjunction with PollForJobs. // When creating a custom action, an action can have up to one queryable property. // If it has one, that property must be both required and not secret. // @@ -3845,7 +3821,7 @@ func (s *BlockerDeclaration) SetType(v string) *BlockerDeclaration { return s } -// Represents the input of a create custom action operation. +// Represents the input of a CreateCustomActionType operation. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/CreateCustomActionTypeInput type CreateCustomActionTypeInput struct { _ struct{} `type:"structure"` @@ -3998,7 +3974,7 @@ func (s *CreateCustomActionTypeInput) SetVersion(v string) *CreateCustomActionTy return s } -// Represents the output of a create custom action operation. +// Represents the output of a CreateCustomActionType operation. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/CreateCustomActionTypeOutput type CreateCustomActionTypeOutput struct { _ struct{} `type:"structure"` @@ -4025,7 +4001,7 @@ func (s *CreateCustomActionTypeOutput) SetActionType(v *ActionType) *CreateCusto return s } -// Represents the input of a create pipeline action. +// Represents the input of a CreatePipeline action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/CreatePipelineInput type CreatePipelineInput struct { _ struct{} `type:"structure"` @@ -4070,7 +4046,7 @@ func (s *CreatePipelineInput) SetPipeline(v *PipelineDeclaration) *CreatePipelin return s } -// Represents the output of a create pipeline action. +// Represents the output of a CreatePipeline action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/CreatePipelineOutput type CreatePipelineOutput struct { _ struct{} `type:"structure"` @@ -4177,7 +4153,7 @@ func (s *CurrentRevision) SetRevisionSummary(v string) *CurrentRevision { return s } -// Represents the input of a delete custom action operation. The custom action +// Represents the input of a DeleteCustomActionType operation. The custom action // will be marked as deleted. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/DeleteCustomActionTypeInput type DeleteCustomActionTypeInput struct { @@ -4268,7 +4244,7 @@ func (s DeleteCustomActionTypeOutput) GoString() string { return s.String() } -// Represents the input of a delete pipeline action. +// Represents the input of a DeletePipeline action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/DeletePipelineInput type DeletePipelineInput struct { _ struct{} `type:"structure"` @@ -4326,7 +4302,7 @@ func (s DeletePipelineOutput) GoString() string { return s.String() } -// Represents the input of a disable stage transition input action. +// Represents the input of a DisableStageTransition action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/DisableStageTransitionInput type DisableStageTransitionInput struct { _ struct{} `type:"structure"` @@ -4439,7 +4415,7 @@ func (s DisableStageTransitionOutput) GoString() string { return s.String() } -// Represents the input of an enable stage transition action. +// Represents the input of an EnableStageTransition action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/EnableStageTransitionInput type EnableStageTransitionInput struct { _ struct{} `type:"structure"` @@ -4751,7 +4727,7 @@ func (s *FailureDetails) SetType(v string) *FailureDetails { return s } -// Represents the input of a get job details action. +// Represents the input of a GetJobDetails action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/GetJobDetailsInput type GetJobDetailsInput struct { _ struct{} `type:"structure"` @@ -4791,7 +4767,7 @@ func (s *GetJobDetailsInput) SetJobId(v string) *GetJobDetailsInput { return s } -// Represents the output of a get job details action. +// Represents the output of a GetJobDetails action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/GetJobDetailsOutput type GetJobDetailsOutput struct { _ struct{} `type:"structure"` @@ -4819,7 +4795,7 @@ func (s *GetJobDetailsOutput) SetJobDetails(v *JobDetails) *GetJobDetailsOutput return s } -// Represents the input of a get pipeline execution action. +// Represents the input of a GetPipelineExecution action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/GetPipelineExecutionInput type GetPipelineExecutionInput struct { _ struct{} `type:"structure"` @@ -4876,7 +4852,7 @@ func (s *GetPipelineExecutionInput) SetPipelineName(v string) *GetPipelineExecut return s } -// Represents the output of a get pipeline execution action. +// Represents the output of a GetPipelineExecution action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/GetPipelineExecutionOutput type GetPipelineExecutionOutput struct { _ struct{} `type:"structure"` @@ -4901,7 +4877,7 @@ func (s *GetPipelineExecutionOutput) SetPipelineExecution(v *PipelineExecution) return s } -// Represents the input of a get pipeline action. +// Represents the input of a GetPipeline action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/GetPipelineInput type GetPipelineInput struct { _ struct{} `type:"structure"` @@ -4958,11 +4934,15 @@ func (s *GetPipelineInput) SetVersion(v int64) *GetPipelineInput { return s } -// Represents the output of a get pipeline action. +// Represents the output of a GetPipeline action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/GetPipelineOutput type GetPipelineOutput struct { _ struct{} `type:"structure"` + // Represents the pipeline metadata information returned as part of the output + // of a GetPipeline action. + Metadata *PipelineMetadata `locationName:"metadata" type:"structure"` + // Represents the structure of actions and stages to be performed in the pipeline. Pipeline *PipelineDeclaration `locationName:"pipeline" type:"structure"` } @@ -4977,13 +4957,19 @@ func (s GetPipelineOutput) GoString() string { return s.String() } +// SetMetadata sets the Metadata field's value. +func (s *GetPipelineOutput) SetMetadata(v *PipelineMetadata) *GetPipelineOutput { + s.Metadata = v + return s +} + // SetPipeline sets the Pipeline field's value. func (s *GetPipelineOutput) SetPipeline(v *PipelineDeclaration) *GetPipelineOutput { s.Pipeline = v return s } -// Represents the input of a get pipeline state action. +// Represents the input of a GetPipelineState action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/GetPipelineStateInput type GetPipelineStateInput struct { _ struct{} `type:"structure"` @@ -5026,7 +5012,7 @@ func (s *GetPipelineStateInput) SetName(v string) *GetPipelineStateInput { return s } -// Represents the output of a get pipeline state action. +// Represents the output of a GetPipelineState action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/GetPipelineStateOutput type GetPipelineStateOutput struct { _ struct{} `type:"structure"` @@ -5090,7 +5076,7 @@ func (s *GetPipelineStateOutput) SetUpdated(v time.Time) *GetPipelineStateOutput return s } -// Represents the input of a get third party job details action. +// Represents the input of a GetThirdPartyJobDetails action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/GetThirdPartyJobDetailsInput type GetThirdPartyJobDetailsInput struct { _ struct{} `type:"structure"` @@ -5099,7 +5085,7 @@ type GetThirdPartyJobDetailsInput struct { // that the calling entity is allowed access to the job and its details. // // ClientToken is a required field - ClientToken *string `locationName:"clientToken" type:"string" required:"true"` + ClientToken *string `locationName:"clientToken" min:"1" type:"string" required:"true"` // The unique system-generated ID used for identifying the job. // @@ -5123,6 +5109,9 @@ func (s *GetThirdPartyJobDetailsInput) Validate() error { if s.ClientToken == nil { invalidParams.Add(request.NewErrParamRequired("ClientToken")) } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } if s.JobId == nil { invalidParams.Add(request.NewErrParamRequired("JobId")) } @@ -5148,7 +5137,7 @@ func (s *GetThirdPartyJobDetailsInput) SetJobId(v string) *GetThirdPartyJobDetai return s } -// Represents the output of a get third party job details action. +// Represents the output of a GetThirdPartyJobDetails action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/GetThirdPartyJobDetailsOutput type GetThirdPartyJobDetailsOutput struct { _ struct{} `type:"structure"` @@ -5415,7 +5404,7 @@ func (s *JobDetails) SetId(v string) *JobDetails { return s } -// Represents the input of a list action types action. +// Represents the input of a ListActionTypes action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/ListActionTypesInput type ListActionTypesInput struct { _ struct{} `type:"structure"` @@ -5425,7 +5414,7 @@ type ListActionTypesInput struct { // An identifier that was returned from the previous list action types call, // which can be used to return the next set of action types in the list. - NextToken *string `locationName:"nextToken" type:"string"` + NextToken *string `locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation @@ -5438,6 +5427,19 @@ func (s ListActionTypesInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListActionTypesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListActionTypesInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetActionOwnerFilter sets the ActionOwnerFilter field's value. func (s *ListActionTypesInput) SetActionOwnerFilter(v string) *ListActionTypesInput { s.ActionOwnerFilter = &v @@ -5450,7 +5452,7 @@ func (s *ListActionTypesInput) SetNextToken(v string) *ListActionTypesInput { return s } -// Represents the output of a list action types action. +// Represents the output of a ListActionTypes action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/ListActionTypesOutput type ListActionTypesOutput struct { _ struct{} `type:"structure"` @@ -5463,7 +5465,7 @@ type ListActionTypesOutput struct { // If the amount of returned information is significantly large, an identifier // is also returned which can be used in a subsequent list action types call // to return the next set of action types in the list. - NextToken *string `locationName:"nextToken" type:"string"` + NextToken *string `locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation @@ -5488,7 +5490,7 @@ func (s *ListActionTypesOutput) SetNextToken(v string) *ListActionTypesOutput { return s } -// Represents the input of a list pipeline executions action. +// Represents the input of a ListPipelineExecutions action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/ListPipelineExecutionsInput type ListPipelineExecutionsInput struct { _ struct{} `type:"structure"` @@ -5499,9 +5501,9 @@ type ListPipelineExecutionsInput struct { // based on pipeline execution start times. Default value is 100. MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - // The token that was returned from the previous list pipeline executions call, + // The token that was returned from the previous ListPipelineExecutions call, // which can be used to return the next set of pipeline executions in the list. - NextToken *string `locationName:"nextToken" type:"string"` + NextToken *string `locationName:"nextToken" min:"1" type:"string"` // The name of the pipeline for which you want to get execution summary information. // @@ -5525,6 +5527,9 @@ func (s *ListPipelineExecutionsInput) Validate() error { if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } if s.PipelineName == nil { invalidParams.Add(request.NewErrParamRequired("PipelineName")) } @@ -5556,16 +5561,15 @@ func (s *ListPipelineExecutionsInput) SetPipelineName(v string) *ListPipelineExe return s } -// Represents the output of a list pipeline executions action. +// Represents the output of a ListPipelineExecutions action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/ListPipelineExecutionsOutput type ListPipelineExecutionsOutput struct { _ struct{} `type:"structure"` - // A token that can be used in the next list pipeline executions call to return - // the next set of pipeline executions. To view all items in the list, continue - // to call this operation with each subsequent token until no more nextToken - // values are returned. - NextToken *string `locationName:"nextToken" type:"string"` + // A token that can be used in the next ListPipelineExecutions call. To view + // all items in the list, continue to call this operation with each subsequent + // token until no more nextToken values are returned. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` // A list of executions in the history of a pipeline. PipelineExecutionSummaries []*PipelineExecutionSummary `locationName:"pipelineExecutionSummaries" type:"list"` @@ -5593,14 +5597,14 @@ func (s *ListPipelineExecutionsOutput) SetPipelineExecutionSummaries(v []*Pipeli return s } -// Represents the input of a list pipelines action. +// Represents the input of a ListPipelines action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/ListPipelinesInput type ListPipelinesInput struct { _ struct{} `type:"structure"` // An identifier that was returned from the previous list pipelines call, which // can be used to return the next set of pipelines in the list. - NextToken *string `locationName:"nextToken" type:"string"` + NextToken *string `locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation @@ -5613,13 +5617,26 @@ func (s ListPipelinesInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListPipelinesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPipelinesInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetNextToken sets the NextToken field's value. func (s *ListPipelinesInput) SetNextToken(v string) *ListPipelinesInput { s.NextToken = &v return s } -// Represents the output of a list pipelines action. +// Represents the output of a ListPipelines action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/ListPipelinesOutput type ListPipelinesOutput struct { _ struct{} `type:"structure"` @@ -5627,7 +5644,7 @@ type ListPipelinesOutput struct { // If the amount of returned information is significantly large, an identifier // is also returned which can be used in a subsequent list pipelines call to // return the next set of pipelines in the list. - NextToken *string `locationName:"nextToken" type:"string"` + NextToken *string `locationName:"nextToken" min:"1" type:"string"` // The list of pipelines. Pipelines []*PipelineSummary `locationName:"pipelines" type:"list"` @@ -5711,8 +5728,7 @@ func (s *OutputArtifact) SetName(v string) *OutputArtifact { type PipelineContext struct { _ struct{} `type:"structure"` - // Represents the context of an action within the stage of a pipeline to a job - // worker. + // The context of an action to a job worker within the stage of a pipeline. Action *ActionContext `locationName:"action" type:"structure"` // The name of the pipeline. This is a user-specified value. Pipeline names @@ -5756,8 +5772,8 @@ func (s *PipelineContext) SetStage(v *StageContext) *PipelineContext { type PipelineDeclaration struct { _ struct{} `type:"structure"` - // Represents the context of an action within the stage of a pipeline to a job - // worker. + // Represents information about the Amazon S3 bucket where artifacts are stored + // for the pipeline. // // ArtifactStore is a required field ArtifactStore *ArtifactStore `locationName:"artifactStore" type:"structure" required:"true"` @@ -5888,13 +5904,13 @@ type PipelineExecution struct { // // * InProgress: The pipeline execution is currently running. // - // * Succeeded: The pipeline execution completed successfully. + // * Succeeded: The pipeline execution was completed successfully. // // * Superseded: While this pipeline execution was waiting for the next stage - // to be completed, a newer pipeline execution caught up and continued through + // to be completed, a newer pipeline execution advanced and continued through // the pipeline instead. // - // * Failed: The pipeline execution did not complete successfully. + // * Failed: The pipeline execution was not completed successfully. Status *string `locationName:"status" type:"string" enum:"PipelineExecutionStatus"` } @@ -5957,13 +5973,13 @@ type PipelineExecutionSummary struct { // // * InProgress: The pipeline execution is currently running. // - // * Succeeded: The pipeline execution completed successfully. + // * Succeeded: The pipeline execution was completed successfully. // // * Superseded: While this pipeline execution was waiting for the next stage - // to be completed, a newer pipeline execution caught up and continued through + // to be completed, a newer pipeline execution advanced and continued through // the pipeline instead. // - // * Failed: The pipeline execution did not complete successfully. + // * Failed: The pipeline execution was not completed successfully. Status *string `locationName:"status" type:"string" enum:"PipelineExecutionStatus"` } @@ -6001,6 +6017,49 @@ func (s *PipelineExecutionSummary) SetStatus(v string) *PipelineExecutionSummary return s } +// Information about a pipeline. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PipelineMetadata +type PipelineMetadata struct { + _ struct{} `type:"structure"` + + // The date and time the pipeline was created, in timestamp format. + Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"unix"` + + // The Amazon Resource Name (ARN) of the pipeline. + PipelineArn *string `locationName:"pipelineArn" type:"string"` + + // The date and time the pipeline was last updated, in timestamp format. + Updated *time.Time `locationName:"updated" type:"timestamp" timestampFormat:"unix"` +} + +// String returns the string representation +func (s PipelineMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PipelineMetadata) GoString() string { + return s.String() +} + +// SetCreated sets the Created field's value. +func (s *PipelineMetadata) SetCreated(v time.Time) *PipelineMetadata { + s.Created = &v + return s +} + +// SetPipelineArn sets the PipelineArn field's value. +func (s *PipelineMetadata) SetPipelineArn(v string) *PipelineMetadata { + s.PipelineArn = &v + return s +} + +// SetUpdated sets the Updated field's value. +func (s *PipelineMetadata) SetUpdated(v time.Time) *PipelineMetadata { + s.Updated = &v + return s +} + // Returns a summary of a pipeline. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PipelineSummary type PipelineSummary struct { @@ -6053,7 +6112,7 @@ func (s *PipelineSummary) SetVersion(v int64) *PipelineSummary { return s } -// Represents the input of a poll for jobs action. +// Represents the input of a PollForJobs action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PollForJobsInput type PollForJobsInput struct { _ struct{} `type:"structure"` @@ -6122,7 +6181,7 @@ func (s *PollForJobsInput) SetQueryParam(v map[string]*string) *PollForJobsInput return s } -// Represents the output of a poll for jobs action. +// Represents the output of a PollForJobs action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PollForJobsOutput type PollForJobsOutput struct { _ struct{} `type:"structure"` @@ -6147,7 +6206,7 @@ func (s *PollForJobsOutput) SetJobs(v []*Job) *PollForJobsOutput { return s } -// Represents the input of a poll for third party jobs action. +// Represents the input of a PollForThirdPartyJobs action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PollForThirdPartyJobsInput type PollForThirdPartyJobsInput struct { _ struct{} `type:"structure"` @@ -6204,7 +6263,7 @@ func (s *PollForThirdPartyJobsInput) SetMaxBatchSize(v int64) *PollForThirdParty return s } -// Represents the output of a poll for third party jobs action. +// Represents the output of a PollForThirdPartyJobs action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PollForThirdPartyJobsOutput type PollForThirdPartyJobsOutput struct { _ struct{} `type:"structure"` @@ -6229,7 +6288,7 @@ func (s *PollForThirdPartyJobsOutput) SetJobs(v []*ThirdPartyJob) *PollForThirdP return s } -// Represents the input of a put action revision action. +// Represents the input of a PutActionRevision action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PutActionRevisionInput type PutActionRevisionInput struct { _ struct{} `type:"structure"` @@ -6325,7 +6384,7 @@ func (s *PutActionRevisionInput) SetStageName(v string) *PutActionRevisionInput return s } -// Represents the output of a put action revision action. +// Represents the output of a PutActionRevision action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PutActionRevisionOutput type PutActionRevisionOutput struct { _ struct{} `type:"structure"` @@ -6360,7 +6419,7 @@ func (s *PutActionRevisionOutput) SetPipelineExecutionId(v string) *PutActionRev return s } -// Represents the input of a put approval result action. +// Represents the input of a PutApprovalResult action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PutApprovalResultInput type PutApprovalResultInput struct { _ struct{} `type:"structure"` @@ -6473,7 +6532,7 @@ func (s *PutApprovalResultInput) SetToken(v string) *PutApprovalResultInput { return s } -// Represents the output of a put approval result action. +// Represents the output of a PutApprovalResult action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PutApprovalResultOutput type PutApprovalResultOutput struct { _ struct{} `type:"structure"` @@ -6498,7 +6557,7 @@ func (s *PutApprovalResultOutput) SetApprovedAt(v time.Time) *PutApprovalResultO return s } -// Represents the input of a put job failure result action. +// Represents the input of a PutJobFailureResult action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PutJobFailureResultInput type PutJobFailureResultInput struct { _ struct{} `type:"structure"` @@ -6573,7 +6632,7 @@ func (s PutJobFailureResultOutput) GoString() string { return s.String() } -// Represents the input of a put job success result action. +// Represents the input of a PutJobSuccessResult action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PutJobSuccessResultInput type PutJobSuccessResultInput struct { _ struct{} `type:"structure"` @@ -6673,7 +6732,7 @@ func (s PutJobSuccessResultOutput) GoString() string { return s.String() } -// Represents the input of a third party job failure result action. +// Represents the input of a PutThirdPartyJobFailureResult action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PutThirdPartyJobFailureResultInput type PutThirdPartyJobFailureResultInput struct { _ struct{} `type:"structure"` @@ -6682,7 +6741,7 @@ type PutThirdPartyJobFailureResultInput struct { // that the calling entity is allowed access to the job and its details. // // ClientToken is a required field - ClientToken *string `locationName:"clientToken" type:"string" required:"true"` + ClientToken *string `locationName:"clientToken" min:"1" type:"string" required:"true"` // Represents information about failure details. // @@ -6711,6 +6770,9 @@ func (s *PutThirdPartyJobFailureResultInput) Validate() error { if s.ClientToken == nil { invalidParams.Add(request.NewErrParamRequired("ClientToken")) } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } if s.FailureDetails == nil { invalidParams.Add(request.NewErrParamRequired("FailureDetails")) } @@ -6765,7 +6827,7 @@ func (s PutThirdPartyJobFailureResultOutput) GoString() string { return s.String() } -// Represents the input of a put third party job success result action. +// Represents the input of a PutThirdPartyJobSuccessResult action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PutThirdPartyJobSuccessResultInput type PutThirdPartyJobSuccessResultInput struct { _ struct{} `type:"structure"` @@ -6774,7 +6836,7 @@ type PutThirdPartyJobSuccessResultInput struct { // that the calling entity is allowed access to the job and its details. // // ClientToken is a required field - ClientToken *string `locationName:"clientToken" type:"string" required:"true"` + ClientToken *string `locationName:"clientToken" min:"1" type:"string" required:"true"` // A token generated by a job worker, such as an AWS CodeDeploy deployment ID, // that a successful job provides to identify a partner action in progress. @@ -6814,6 +6876,9 @@ func (s *PutThirdPartyJobSuccessResultInput) Validate() error { if s.ClientToken == nil { invalidParams.Add(request.NewErrParamRequired("ClientToken")) } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } if s.JobId == nil { invalidParams.Add(request.NewErrParamRequired("JobId")) } @@ -6882,7 +6947,7 @@ func (s PutThirdPartyJobSuccessResultOutput) GoString() string { return s.String() } -// Represents the input of a retry stage execution action. +// Represents the input of a RetryStageExecution action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/RetryStageExecutionInput type RetryStageExecutionInput struct { _ struct{} `type:"structure"` @@ -6972,7 +7037,7 @@ func (s *RetryStageExecutionInput) SetStageName(v string) *RetryStageExecutionIn return s } -// Represents the output of a retry stage execution action. +// Represents the output of a RetryStageExecution action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/RetryStageExecutionOutput type RetryStageExecutionOutput struct { _ struct{} `type:"structure"` @@ -7239,7 +7304,7 @@ func (s *StageState) SetStageName(v string) *StageState { return s } -// Represents the input of a start pipeline execution action. +// Represents the input of a StartPipelineExecution action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/StartPipelineExecutionInput type StartPipelineExecutionInput struct { _ struct{} `type:"structure"` @@ -7282,7 +7347,7 @@ func (s *StartPipelineExecutionInput) SetName(v string) *StartPipelineExecutionI return s } -// Represents the output of a start pipeline execution action. +// Represents the output of a StartPipelineExecution action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/StartPipelineExecutionOutput type StartPipelineExecutionOutput struct { _ struct{} `type:"structure"` @@ -7542,7 +7607,7 @@ func (s *TransitionState) SetLastChangedBy(v string) *TransitionState { return s } -// Represents the input of an update pipeline action. +// Represents the input of an UpdatePipeline action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/UpdatePipelineInput type UpdatePipelineInput struct { _ struct{} `type:"structure"` @@ -7587,7 +7652,7 @@ func (s *UpdatePipelineInput) SetPipeline(v *PipelineDeclaration) *UpdatePipelin return s } -// Represents the output of an update pipeline action. +// Represents the output of an UpdatePipeline action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/UpdatePipelineOutput type UpdatePipelineOutput struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/codepipeline/codepipelineiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/codepipeline/codepipelineiface/interface.go index 56a58985b..84f9101ac 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codepipeline/codepipelineiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codepipeline/codepipelineiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS CodePipeline. diff --git a/vendor/github.com/aws/aws-sdk-go/service/codepipeline/doc.go b/vendor/github.com/aws/aws-sdk-go/service/codepipeline/doc.go index 0746cc4cd..4761a9827 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codepipeline/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codepipeline/doc.go @@ -22,7 +22,8 @@ // // * DeletePipeline, which deletes the specified pipeline. // -// * GetPipeline, which returns information about a pipeline structure. +// * GetPipeline, which returns information about the pipeline structure +// and pipeline metadata, including the pipeline Amazon Resource Name (ARN). // // * GetPipelineExecution, which returns information about a specific execution // of a pipeline. @@ -33,6 +34,9 @@ // * ListPipelines, which gets a summary of all of the pipelines associated // with your account. // +// * ListPipelineExecutions, which gets a summary of the most recent executions +// for a pipeline. +// // * StartPipelineExecution, which runs the the most recent revision of an // artifact through the pipeline. // @@ -120,69 +124,17 @@ // // Using the Client // -// To use the client for AWS CodePipeline you will first need -// to create a new instance of it. +// To AWS CodePipeline with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := codepipeline.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS CodePipeline client CodePipeline for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/codepipeline/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AcknowledgeJob(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AcknowledgeJob result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AcknowledgeJobWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package codepipeline diff --git a/vendor/github.com/aws/aws-sdk-go/service/codestar/api.go b/vendor/github.com/aws/aws-sdk-go/service/codestar/api.go index c6dfea9c2..a91f427e8 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codestar/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codestar/api.go @@ -14,19 +14,18 @@ const opAssociateTeamMember = "AssociateTeamMember" // AssociateTeamMemberRequest generates a "aws/request.Request" representing the // client's request for the AssociateTeamMember operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssociateTeamMember for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssociateTeamMember method directly -// instead. +// See AssociateTeamMember for more information on using the AssociateTeamMember +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssociateTeamMemberRequest method. // req, resp := client.AssociateTeamMemberRequest(params) @@ -113,19 +112,18 @@ const opCreateProject = "CreateProject" // CreateProjectRequest generates a "aws/request.Request" representing the // client's request for the CreateProject operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateProject for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateProject method directly -// instead. +// See CreateProject for more information on using the CreateProject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateProjectRequest method. // req, resp := client.CreateProjectRequest(params) @@ -216,19 +214,18 @@ const opCreateUserProfile = "CreateUserProfile" // CreateUserProfileRequest generates a "aws/request.Request" representing the // client's request for the CreateUserProfile operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateUserProfile for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateUserProfile method directly -// instead. +// See CreateUserProfile for more information on using the CreateUserProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateUserProfileRequest method. // req, resp := client.CreateUserProfileRequest(params) @@ -305,19 +302,18 @@ const opDeleteProject = "DeleteProject" // DeleteProjectRequest generates a "aws/request.Request" representing the // client's request for the DeleteProject operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteProject for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteProject method directly -// instead. +// See DeleteProject for more information on using the DeleteProject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteProjectRequest method. // req, resp := client.DeleteProjectRequest(params) @@ -394,19 +390,18 @@ const opDeleteUserProfile = "DeleteUserProfile" // DeleteUserProfileRequest generates a "aws/request.Request" representing the // client's request for the DeleteUserProfile operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteUserProfile for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteUserProfile method directly -// instead. +// See DeleteUserProfile for more information on using the DeleteUserProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteUserProfileRequest method. // req, resp := client.DeleteUserProfileRequest(params) @@ -477,19 +472,18 @@ const opDescribeProject = "DescribeProject" // DescribeProjectRequest generates a "aws/request.Request" representing the // client's request for the DescribeProject operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeProject for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeProject method directly -// instead. +// See DescribeProject for more information on using the DescribeProject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeProjectRequest method. // req, resp := client.DescribeProjectRequest(params) @@ -570,19 +564,18 @@ const opDescribeUserProfile = "DescribeUserProfile" // DescribeUserProfileRequest generates a "aws/request.Request" representing the // client's request for the DescribeUserProfile operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeUserProfile for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeUserProfile method directly -// instead. +// See DescribeUserProfile for more information on using the DescribeUserProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeUserProfileRequest method. // req, resp := client.DescribeUserProfileRequest(params) @@ -653,19 +646,18 @@ const opDisassociateTeamMember = "DisassociateTeamMember" // DisassociateTeamMemberRequest generates a "aws/request.Request" representing the // client's request for the DisassociateTeamMember operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisassociateTeamMember for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisassociateTeamMember method directly -// instead. +// See DisassociateTeamMember for more information on using the DisassociateTeamMember +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisassociateTeamMemberRequest method. // req, resp := client.DisassociateTeamMemberRequest(params) @@ -746,19 +738,18 @@ const opListProjects = "ListProjects" // ListProjectsRequest generates a "aws/request.Request" representing the // client's request for the ListProjects operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListProjects for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListProjects method directly -// instead. +// See ListProjects for more information on using the ListProjects +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListProjectsRequest method. // req, resp := client.ListProjectsRequest(params) @@ -829,19 +820,18 @@ const opListResources = "ListResources" // ListResourcesRequest generates a "aws/request.Request" representing the // client's request for the ListResources operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListResources for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListResources method directly -// instead. +// See ListResources for more information on using the ListResources +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListResourcesRequest method. // req, resp := client.ListResourcesRequest(params) @@ -911,23 +901,107 @@ func (c *CodeStar) ListResourcesWithContext(ctx aws.Context, input *ListResource return out, req.Send() } +const opListTagsForProject = "ListTagsForProject" + +// ListTagsForProjectRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForProject operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForProject for more information on using the ListTagsForProject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForProjectRequest method. +// req, resp := client.ListTagsForProjectRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/ListTagsForProject +func (c *CodeStar) ListTagsForProjectRequest(input *ListTagsForProjectInput) (req *request.Request, output *ListTagsForProjectOutput) { + op := &request.Operation{ + Name: opListTagsForProject, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListTagsForProjectInput{} + } + + output = &ListTagsForProjectOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForProject API operation for AWS CodeStar. +// +// Gets the tags for a project. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeStar's +// API operation ListTagsForProject for usage and error information. +// +// Returned Error Codes: +// * ErrCodeProjectNotFoundException "ProjectNotFoundException" +// The specified AWS CodeStar project was not found. +// +// * ErrCodeValidationException "ValidationException" +// The specified input is either not valid, or it could not be validated. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The next token is not valid. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/ListTagsForProject +func (c *CodeStar) ListTagsForProject(input *ListTagsForProjectInput) (*ListTagsForProjectOutput, error) { + req, out := c.ListTagsForProjectRequest(input) + return out, req.Send() +} + +// ListTagsForProjectWithContext is the same as ListTagsForProject with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForProject for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeStar) ListTagsForProjectWithContext(ctx aws.Context, input *ListTagsForProjectInput, opts ...request.Option) (*ListTagsForProjectOutput, error) { + req, out := c.ListTagsForProjectRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListTeamMembers = "ListTeamMembers" // ListTeamMembersRequest generates a "aws/request.Request" representing the // client's request for the ListTeamMembers operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTeamMembers for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTeamMembers method directly -// instead. +// See ListTeamMembers for more information on using the ListTeamMembers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTeamMembersRequest method. // req, resp := client.ListTeamMembersRequest(params) @@ -1001,19 +1075,18 @@ const opListUserProfiles = "ListUserProfiles" // ListUserProfilesRequest generates a "aws/request.Request" representing the // client's request for the ListUserProfiles operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListUserProfiles for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListUserProfiles method directly -// instead. +// See ListUserProfiles for more information on using the ListUserProfiles +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListUserProfilesRequest method. // req, resp := client.ListUserProfilesRequest(params) @@ -1080,23 +1153,200 @@ func (c *CodeStar) ListUserProfilesWithContext(ctx aws.Context, input *ListUserP return out, req.Send() } +const opTagProject = "TagProject" + +// TagProjectRequest generates a "aws/request.Request" representing the +// client's request for the TagProject operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagProject for more information on using the TagProject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagProjectRequest method. +// req, resp := client.TagProjectRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/TagProject +func (c *CodeStar) TagProjectRequest(input *TagProjectInput) (req *request.Request, output *TagProjectOutput) { + op := &request.Operation{ + Name: opTagProject, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagProjectInput{} + } + + output = &TagProjectOutput{} + req = c.newRequest(op, input, output) + return +} + +// TagProject API operation for AWS CodeStar. +// +// Adds tags to a project. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeStar's +// API operation TagProject for usage and error information. +// +// Returned Error Codes: +// * ErrCodeProjectNotFoundException "ProjectNotFoundException" +// The specified AWS CodeStar project was not found. +// +// * ErrCodeValidationException "ValidationException" +// The specified input is either not valid, or it could not be validated. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// A resource limit has been exceeded. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Another modification is being made. That modification must complete before +// you can make your change. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/TagProject +func (c *CodeStar) TagProject(input *TagProjectInput) (*TagProjectOutput, error) { + req, out := c.TagProjectRequest(input) + return out, req.Send() +} + +// TagProjectWithContext is the same as TagProject with the addition of +// the ability to pass a context and additional request options. +// +// See TagProject for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeStar) TagProjectWithContext(ctx aws.Context, input *TagProjectInput, opts ...request.Option) (*TagProjectOutput, error) { + req, out := c.TagProjectRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagProject = "UntagProject" + +// UntagProjectRequest generates a "aws/request.Request" representing the +// client's request for the UntagProject operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagProject for more information on using the UntagProject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagProjectRequest method. +// req, resp := client.UntagProjectRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/UntagProject +func (c *CodeStar) UntagProjectRequest(input *UntagProjectInput) (req *request.Request, output *UntagProjectOutput) { + op := &request.Operation{ + Name: opUntagProject, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagProjectInput{} + } + + output = &UntagProjectOutput{} + req = c.newRequest(op, input, output) + return +} + +// UntagProject API operation for AWS CodeStar. +// +// Removes tags from a project. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeStar's +// API operation UntagProject for usage and error information. +// +// Returned Error Codes: +// * ErrCodeProjectNotFoundException "ProjectNotFoundException" +// The specified AWS CodeStar project was not found. +// +// * ErrCodeValidationException "ValidationException" +// The specified input is either not valid, or it could not be validated. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// A resource limit has been exceeded. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Another modification is being made. That modification must complete before +// you can make your change. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/UntagProject +func (c *CodeStar) UntagProject(input *UntagProjectInput) (*UntagProjectOutput, error) { + req, out := c.UntagProjectRequest(input) + return out, req.Send() +} + +// UntagProjectWithContext is the same as UntagProject with the addition of +// the ability to pass a context and additional request options. +// +// See UntagProject for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeStar) UntagProjectWithContext(ctx aws.Context, input *UntagProjectInput, opts ...request.Option) (*UntagProjectOutput, error) { + req, out := c.UntagProjectRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateProject = "UpdateProject" // UpdateProjectRequest generates a "aws/request.Request" representing the // client's request for the UpdateProject operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateProject for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateProject method directly -// instead. +// See UpdateProject for more information on using the UpdateProject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateProjectRequest method. // req, resp := client.UpdateProjectRequest(params) @@ -1167,19 +1417,18 @@ const opUpdateTeamMember = "UpdateTeamMember" // UpdateTeamMemberRequest generates a "aws/request.Request" representing the // client's request for the UpdateTeamMember operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateTeamMember for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateTeamMember method directly -// instead. +// See UpdateTeamMember for more information on using the UpdateTeamMember +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateTeamMemberRequest method. // req, resp := client.UpdateTeamMemberRequest(params) @@ -1268,19 +1517,18 @@ const opUpdateUserProfile = "UpdateUserProfile" // UpdateUserProfileRequest generates a "aws/request.Request" representing the // client's request for the UpdateUserProfile operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateUserProfile for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateUserProfile method directly -// instead. +// See UpdateUserProfile for more information on using the UpdateUserProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateUserProfileRequest method. // req, resp := client.UpdateUserProfileRequest(params) @@ -1373,8 +1621,8 @@ type AssociateTeamMemberInput struct { // to remotely access project resources, for example Amazon EC2 instances. RemoteAccessAllowed *bool `locationName:"remoteAccessAllowed" type:"boolean"` - // The Amazon Resource Name (ARN) for the IAM user you want to add to the DevHub - // project. + // The Amazon Resource Name (ARN) for the IAM user you want to add to the AWS + // CodeStar project. // // UserArn is a required field UserArn *string `locationName:"userArn" min:"32" type:"string" required:"true"` @@ -2365,7 +2613,7 @@ func (s *ListProjectsOutput) SetProjects(v []*ProjectSummary) *ListProjectsOutpu type ListResourcesInput struct { _ struct{} `type:"structure"` - // he maximum amount of data that can be contained in a single set of results. + // The maximum amount of data that can be contained in a single set of results. MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` // The continuation token for the next set of results, if the results cannot @@ -2462,6 +2710,105 @@ func (s *ListResourcesOutput) SetResources(v []*Resource) *ListResourcesOutput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/ListTagsForProjectRequest +type ListTagsForProjectInput struct { + _ struct{} `type:"structure"` + + // The ID of the project to get tags for. + // + // Id is a required field + Id *string `locationName:"id" min:"2" type:"string" required:"true"` + + // Reserved for future use. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // Reserved for future use. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation +func (s ListTagsForProjectInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForProjectInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForProjectInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForProjectInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 2 { + invalidParams.Add(request.NewErrParamMinLen("Id", 2)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *ListTagsForProjectInput) SetId(v string) *ListTagsForProjectInput { + s.Id = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTagsForProjectInput) SetMaxResults(v int64) *ListTagsForProjectInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTagsForProjectInput) SetNextToken(v string) *ListTagsForProjectInput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/ListTagsForProjectResult +type ListTagsForProjectOutput struct { + _ struct{} `type:"structure"` + + // Reserved for future use. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // The tags for the project. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s ListTagsForProjectOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForProjectOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTagsForProjectOutput) SetNextToken(v string) *ListTagsForProjectOutput { + s.NextToken = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForProjectOutput) SetTags(v map[string]*string) *ListTagsForProjectOutput { + s.Tags = v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/ListTeamMembersRequest type ListTeamMembersInput struct { _ struct{} `type:"structure"` @@ -2712,6 +3059,86 @@ func (s *Resource) SetId(v string) *Resource { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/TagProjectRequest +type TagProjectInput struct { + _ struct{} `type:"structure"` + + // The ID of the project you want to add a tag to. + // + // Id is a required field + Id *string `locationName:"id" min:"2" type:"string" required:"true"` + + // The tags you want to add to the project. + // + // Tags is a required field + Tags map[string]*string `locationName:"tags" type:"map" required:"true"` +} + +// String returns the string representation +func (s TagProjectInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagProjectInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagProjectInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagProjectInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 2 { + invalidParams.Add(request.NewErrParamMinLen("Id", 2)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *TagProjectInput) SetId(v string) *TagProjectInput { + s.Id = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagProjectInput) SetTags(v map[string]*string) *TagProjectInput { + s.Tags = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/TagProjectResult +type TagProjectOutput struct { + _ struct{} `type:"structure"` + + // The tags for the project. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s TagProjectOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagProjectOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *TagProjectOutput) SetTags(v map[string]*string) *TagProjectOutput { + s.Tags = v + return s +} + // Information about a team member in a project. // Please also see https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/TeamMember type TeamMember struct { @@ -2762,6 +3189,77 @@ func (s *TeamMember) SetUserArn(v string) *TeamMember { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/UntagProjectRequest +type UntagProjectInput struct { + _ struct{} `type:"structure"` + + // The ID of the project to remove tags from. + // + // Id is a required field + Id *string `locationName:"id" min:"2" type:"string" required:"true"` + + // The tags to remove from the project. + // + // Tags is a required field + Tags []*string `locationName:"tags" type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagProjectInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagProjectInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagProjectInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagProjectInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 2 { + invalidParams.Add(request.NewErrParamMinLen("Id", 2)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *UntagProjectInput) SetId(v string) *UntagProjectInput { + s.Id = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *UntagProjectInput) SetTags(v []*string) *UntagProjectInput { + s.Tags = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/UntagProjectResult +type UntagProjectOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagProjectOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagProjectOutput) GoString() string { + return s.String() +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/UpdateProjectRequest type UpdateProjectInput struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/codestar/codestariface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/codestar/codestariface/interface.go index 312e419c4..7900d1d48 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codestar/codestariface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codestar/codestariface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS CodeStar. @@ -100,6 +100,10 @@ type CodeStarAPI interface { ListResourcesWithContext(aws.Context, *codestar.ListResourcesInput, ...request.Option) (*codestar.ListResourcesOutput, error) ListResourcesRequest(*codestar.ListResourcesInput) (*request.Request, *codestar.ListResourcesOutput) + ListTagsForProject(*codestar.ListTagsForProjectInput) (*codestar.ListTagsForProjectOutput, error) + ListTagsForProjectWithContext(aws.Context, *codestar.ListTagsForProjectInput, ...request.Option) (*codestar.ListTagsForProjectOutput, error) + ListTagsForProjectRequest(*codestar.ListTagsForProjectInput) (*request.Request, *codestar.ListTagsForProjectOutput) + ListTeamMembers(*codestar.ListTeamMembersInput) (*codestar.ListTeamMembersOutput, error) ListTeamMembersWithContext(aws.Context, *codestar.ListTeamMembersInput, ...request.Option) (*codestar.ListTeamMembersOutput, error) ListTeamMembersRequest(*codestar.ListTeamMembersInput) (*request.Request, *codestar.ListTeamMembersOutput) @@ -108,6 +112,14 @@ type CodeStarAPI interface { ListUserProfilesWithContext(aws.Context, *codestar.ListUserProfilesInput, ...request.Option) (*codestar.ListUserProfilesOutput, error) ListUserProfilesRequest(*codestar.ListUserProfilesInput) (*request.Request, *codestar.ListUserProfilesOutput) + TagProject(*codestar.TagProjectInput) (*codestar.TagProjectOutput, error) + TagProjectWithContext(aws.Context, *codestar.TagProjectInput, ...request.Option) (*codestar.TagProjectOutput, error) + TagProjectRequest(*codestar.TagProjectInput) (*request.Request, *codestar.TagProjectOutput) + + UntagProject(*codestar.UntagProjectInput) (*codestar.UntagProjectOutput, error) + UntagProjectWithContext(aws.Context, *codestar.UntagProjectInput, ...request.Option) (*codestar.UntagProjectOutput, error) + UntagProjectRequest(*codestar.UntagProjectInput) (*request.Request, *codestar.UntagProjectOutput) + UpdateProject(*codestar.UpdateProjectInput) (*codestar.UpdateProjectOutput, error) UpdateProjectWithContext(aws.Context, *codestar.UpdateProjectInput, ...request.Option) (*codestar.UpdateProjectOutput, error) UpdateProjectRequest(*codestar.UpdateProjectInput) (*request.Request, *codestar.UpdateProjectOutput) diff --git a/vendor/github.com/aws/aws-sdk-go/service/codestar/doc.go b/vendor/github.com/aws/aws-sdk-go/service/codestar/doc.go index 75934ec0a..ce9179384 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codestar/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codestar/doc.go @@ -11,42 +11,47 @@ // // Projects and their resources, by calling the following: // -// * DeleteProject, which deletes a project in AWS CodeStar. +// * DeleteProject, which deletes a project. // // * DescribeProject, which lists the attributes of a project. // -// * ListProjects, which lists all AWS CodeStar projects associated with -// your AWS account. +// * ListProjects, which lists all projects associated with your AWS account. // -// * ListResources, which lists the resources associated with an AWS CodeStar -// project. +// * ListResources, which lists the resources associated with a project. // -// * UpdateProject, which updates the attributes of an AWS CodeStar project. +// * ListTagsForProject, which lists the tags associated with a project. +// +// * TagProject, which adds tags to a project. +// +// * UntagProject, which removes tags from a project. +// +// * UpdateProject, which updates the attributes of a project. // // Teams and team members, by calling the following: // -// * AssociateTeamMember, which adds an IAM user to the team for an AWS CodeStar -// project. +// * AssociateTeamMember, which adds an IAM user to the team for a project. // // * DisassociateTeamMember, which removes an IAM user from the team for -// an AWS CodeStar project. +// a project. // -// * ListTeamMembers, which lists all the IAM users in the team for an AWS -// CodeStar project, including their roles and attributes. +// * ListTeamMembers, which lists all the IAM users in the team for a project, +// including their roles and attributes. +// +// * UpdateTeamMember, which updates a team member's attributes in a project. // // Users, by calling the following: // // * CreateUserProfile, which creates a user profile that contains data associated -// with the user across all AWS CodeStar projects. +// with the user across all projects. // // * DeleteUserProfile, which deletes all user profile information across -// all AWS CodeStar projects. +// all projects. // // * DescribeUserProfile, which describes the profile of a user. // -// * ListUserProfiles, which lists all AWS CodeStar user profiles. +// * ListUserProfiles, which lists all user profiles. // -// * UpdateUserProfile, which updates the profile for an AWS CodeStar user. +// * UpdateUserProfile, which updates the profile for a user. // // See https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19 for more information on this service. // @@ -55,69 +60,17 @@ // // Using the Client // -// To use the client for AWS CodeStar you will first need -// to create a new instance of it. +// To AWS CodeStar with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := codestar.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS CodeStar client CodeStar for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/codestar/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AssociateTeamMember(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AssociateTeamMember result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AssociateTeamMemberWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package codestar diff --git a/vendor/github.com/aws/aws-sdk-go/service/cognitoidentity/api.go b/vendor/github.com/aws/aws-sdk-go/service/cognitoidentity/api.go index 6e01c3c23..321972510 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cognitoidentity/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cognitoidentity/api.go @@ -17,19 +17,18 @@ const opCreateIdentityPool = "CreateIdentityPool" // CreateIdentityPoolRequest generates a "aws/request.Request" representing the // client's request for the CreateIdentityPool operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateIdentityPool for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateIdentityPool method directly -// instead. +// See CreateIdentityPool for more information on using the CreateIdentityPool +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateIdentityPoolRequest method. // req, resp := client.CreateIdentityPoolRequest(params) @@ -127,19 +126,18 @@ const opDeleteIdentities = "DeleteIdentities" // DeleteIdentitiesRequest generates a "aws/request.Request" representing the // client's request for the DeleteIdentities operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteIdentities for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteIdentities method directly -// instead. +// See DeleteIdentities for more information on using the DeleteIdentities +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteIdentitiesRequest method. // req, resp := client.DeleteIdentitiesRequest(params) @@ -216,19 +214,18 @@ const opDeleteIdentityPool = "DeleteIdentityPool" // DeleteIdentityPoolRequest generates a "aws/request.Request" representing the // client's request for the DeleteIdentityPool operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteIdentityPool for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteIdentityPool method directly -// instead. +// See DeleteIdentityPool for more information on using the DeleteIdentityPool +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteIdentityPoolRequest method. // req, resp := client.DeleteIdentityPoolRequest(params) @@ -314,19 +311,18 @@ const opDescribeIdentity = "DescribeIdentity" // DescribeIdentityRequest generates a "aws/request.Request" representing the // client's request for the DescribeIdentity operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeIdentity for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeIdentity method directly -// instead. +// See DescribeIdentity for more information on using the DescribeIdentity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeIdentityRequest method. // req, resp := client.DescribeIdentityRequest(params) @@ -410,19 +406,18 @@ const opDescribeIdentityPool = "DescribeIdentityPool" // DescribeIdentityPoolRequest generates a "aws/request.Request" representing the // client's request for the DescribeIdentityPool operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeIdentityPool for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeIdentityPool method directly -// instead. +// See DescribeIdentityPool for more information on using the DescribeIdentityPool +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeIdentityPoolRequest method. // req, resp := client.DescribeIdentityPoolRequest(params) @@ -506,19 +501,18 @@ const opGetCredentialsForIdentity = "GetCredentialsForIdentity" // GetCredentialsForIdentityRequest generates a "aws/request.Request" representing the // client's request for the GetCredentialsForIdentity operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetCredentialsForIdentity for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetCredentialsForIdentity method directly -// instead. +// See GetCredentialsForIdentity for more information on using the GetCredentialsForIdentity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetCredentialsForIdentityRequest method. // req, resp := client.GetCredentialsForIdentityRequest(params) @@ -616,19 +610,18 @@ const opGetId = "GetId" // GetIdRequest generates a "aws/request.Request" representing the // client's request for the GetId operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetId for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetId method directly -// instead. +// See GetId for more information on using the GetId +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetIdRequest method. // req, resp := client.GetIdRequest(params) @@ -723,19 +716,18 @@ const opGetIdentityPoolRoles = "GetIdentityPoolRoles" // GetIdentityPoolRolesRequest generates a "aws/request.Request" representing the // client's request for the GetIdentityPoolRoles operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetIdentityPoolRoles for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetIdentityPoolRoles method directly -// instead. +// See GetIdentityPoolRoles for more information on using the GetIdentityPoolRoles +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetIdentityPoolRolesRequest method. // req, resp := client.GetIdentityPoolRolesRequest(params) @@ -822,19 +814,18 @@ const opGetOpenIdToken = "GetOpenIdToken" // GetOpenIdTokenRequest generates a "aws/request.Request" representing the // client's request for the GetOpenIdToken operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetOpenIdToken for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetOpenIdToken method directly -// instead. +// See GetOpenIdToken for more information on using the GetOpenIdToken +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetOpenIdTokenRequest method. // req, resp := client.GetOpenIdTokenRequest(params) @@ -929,19 +920,18 @@ const opGetOpenIdTokenForDeveloperIdentity = "GetOpenIdTokenForDeveloperIdentity // GetOpenIdTokenForDeveloperIdentityRequest generates a "aws/request.Request" representing the // client's request for the GetOpenIdTokenForDeveloperIdentity operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetOpenIdTokenForDeveloperIdentity for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetOpenIdTokenForDeveloperIdentity method directly -// instead. +// See GetOpenIdTokenForDeveloperIdentity for more information on using the GetOpenIdTokenForDeveloperIdentity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetOpenIdTokenForDeveloperIdentityRequest method. // req, resp := client.GetOpenIdTokenForDeveloperIdentityRequest(params) @@ -1045,19 +1035,18 @@ const opListIdentities = "ListIdentities" // ListIdentitiesRequest generates a "aws/request.Request" representing the // client's request for the ListIdentities operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListIdentities for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListIdentities method directly -// instead. +// See ListIdentities for more information on using the ListIdentities +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListIdentitiesRequest method. // req, resp := client.ListIdentitiesRequest(params) @@ -1140,19 +1129,18 @@ const opListIdentityPools = "ListIdentityPools" // ListIdentityPoolsRequest generates a "aws/request.Request" representing the // client's request for the ListIdentityPools operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListIdentityPools for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListIdentityPools method directly -// instead. +// See ListIdentityPools for more information on using the ListIdentityPools +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListIdentityPoolsRequest method. // req, resp := client.ListIdentityPoolsRequest(params) @@ -1231,19 +1219,18 @@ const opLookupDeveloperIdentity = "LookupDeveloperIdentity" // LookupDeveloperIdentityRequest generates a "aws/request.Request" representing the // client's request for the LookupDeveloperIdentity operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See LookupDeveloperIdentity for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the LookupDeveloperIdentity method directly -// instead. +// See LookupDeveloperIdentity for more information on using the LookupDeveloperIdentity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the LookupDeveloperIdentityRequest method. // req, resp := client.LookupDeveloperIdentityRequest(params) @@ -1337,19 +1324,18 @@ const opMergeDeveloperIdentities = "MergeDeveloperIdentities" // MergeDeveloperIdentitiesRequest generates a "aws/request.Request" representing the // client's request for the MergeDeveloperIdentities operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See MergeDeveloperIdentities for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the MergeDeveloperIdentities method directly -// instead. +// See MergeDeveloperIdentities for more information on using the MergeDeveloperIdentities +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the MergeDeveloperIdentitiesRequest method. // req, resp := client.MergeDeveloperIdentitiesRequest(params) @@ -1442,19 +1428,18 @@ const opSetIdentityPoolRoles = "SetIdentityPoolRoles" // SetIdentityPoolRolesRequest generates a "aws/request.Request" representing the // client's request for the SetIdentityPoolRoles operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetIdentityPoolRoles for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetIdentityPoolRoles method directly -// instead. +// See SetIdentityPoolRoles for more information on using the SetIdentityPoolRoles +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetIdentityPoolRolesRequest method. // req, resp := client.SetIdentityPoolRolesRequest(params) @@ -1547,19 +1532,18 @@ const opUnlinkDeveloperIdentity = "UnlinkDeveloperIdentity" // UnlinkDeveloperIdentityRequest generates a "aws/request.Request" representing the // client's request for the UnlinkDeveloperIdentity operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UnlinkDeveloperIdentity for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UnlinkDeveloperIdentity method directly -// instead. +// See UnlinkDeveloperIdentity for more information on using the UnlinkDeveloperIdentity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UnlinkDeveloperIdentityRequest method. // req, resp := client.UnlinkDeveloperIdentityRequest(params) @@ -1651,19 +1635,18 @@ const opUnlinkIdentity = "UnlinkIdentity" // UnlinkIdentityRequest generates a "aws/request.Request" representing the // client's request for the UnlinkIdentity operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UnlinkIdentity for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UnlinkIdentity method directly -// instead. +// See UnlinkIdentity for more information on using the UnlinkIdentity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UnlinkIdentityRequest method. // req, resp := client.UnlinkIdentityRequest(params) @@ -1758,19 +1741,18 @@ const opUpdateIdentityPool = "UpdateIdentityPool" // UpdateIdentityPoolRequest generates a "aws/request.Request" representing the // client's request for the UpdateIdentityPool operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateIdentityPool for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateIdentityPool method directly -// instead. +// See UpdateIdentityPool for more information on using the UpdateIdentityPool +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateIdentityPoolRequest method. // req, resp := client.UpdateIdentityPoolRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/cognitoidentity/cognitoidentityiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/cognitoidentity/cognitoidentityiface/interface.go index 041a0d5e2..ad74e5118 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cognitoidentity/cognitoidentityiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cognitoidentity/cognitoidentityiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Cognito Identity. diff --git a/vendor/github.com/aws/aws-sdk-go/service/cognitoidentity/doc.go b/vendor/github.com/aws/aws-sdk-go/service/cognitoidentity/doc.go index 138b4503a..26e7d48a1 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cognitoidentity/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cognitoidentity/doc.go @@ -43,69 +43,17 @@ // // Using the Client // -// To use the client for Amazon Cognito Identity you will first need -// to create a new instance of it. +// To Amazon Cognito Identity with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := cognitoidentity.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Cognito Identity client CognitoIdentity for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/cognitoidentity/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CreateIdentityPool(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CreateIdentityPool result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CreateIdentityPoolWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package cognitoidentity diff --git a/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/api.go b/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/api.go index 27317660c..fe747f92a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/api.go @@ -18,19 +18,18 @@ const opAddCustomAttributes = "AddCustomAttributes" // AddCustomAttributesRequest generates a "aws/request.Request" representing the // client's request for the AddCustomAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddCustomAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddCustomAttributes method directly -// instead. +// See AddCustomAttributes for more information on using the AddCustomAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddCustomAttributesRequest method. // req, resp := client.AddCustomAttributesRequest(params) @@ -117,19 +116,18 @@ const opAdminAddUserToGroup = "AdminAddUserToGroup" // AdminAddUserToGroupRequest generates a "aws/request.Request" representing the // client's request for the AdminAddUserToGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AdminAddUserToGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AdminAddUserToGroup method directly -// instead. +// See AdminAddUserToGroup for more information on using the AdminAddUserToGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AdminAddUserToGroupRequest method. // req, resp := client.AdminAddUserToGroupRequest(params) @@ -219,19 +217,18 @@ const opAdminConfirmSignUp = "AdminConfirmSignUp" // AdminConfirmSignUpRequest generates a "aws/request.Request" representing the // client's request for the AdminConfirmSignUp operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AdminConfirmSignUp for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AdminConfirmSignUp method directly -// instead. +// See AdminConfirmSignUp for more information on using the AdminConfirmSignUp +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AdminConfirmSignUpRequest method. // req, resp := client.AdminConfirmSignUpRequest(params) @@ -340,19 +337,18 @@ const opAdminCreateUser = "AdminCreateUser" // AdminCreateUserRequest generates a "aws/request.Request" representing the // client's request for the AdminCreateUser operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AdminCreateUser for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AdminCreateUser method directly -// instead. +// See AdminCreateUser for more information on using the AdminCreateUser +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AdminCreateUserRequest method. // req, resp := client.AdminCreateUserRequest(params) @@ -483,19 +479,18 @@ const opAdminDeleteUser = "AdminDeleteUser" // AdminDeleteUserRequest generates a "aws/request.Request" representing the // client's request for the AdminDeleteUser operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AdminDeleteUser for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AdminDeleteUser method directly -// instead. +// See AdminDeleteUser for more information on using the AdminDeleteUser +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AdminDeleteUserRequest method. // req, resp := client.AdminDeleteUserRequest(params) @@ -585,19 +580,18 @@ const opAdminDeleteUserAttributes = "AdminDeleteUserAttributes" // AdminDeleteUserAttributesRequest generates a "aws/request.Request" representing the // client's request for the AdminDeleteUserAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AdminDeleteUserAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AdminDeleteUserAttributes method directly -// instead. +// See AdminDeleteUserAttributes for more information on using the AdminDeleteUserAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AdminDeleteUserAttributesRequest method. // req, resp := client.AdminDeleteUserAttributesRequest(params) @@ -682,23 +676,154 @@ func (c *CognitoIdentityProvider) AdminDeleteUserAttributesWithContext(ctx aws.C return out, req.Send() } +const opAdminDisableProviderForUser = "AdminDisableProviderForUser" + +// AdminDisableProviderForUserRequest generates a "aws/request.Request" representing the +// client's request for the AdminDisableProviderForUser operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AdminDisableProviderForUser for more information on using the AdminDisableProviderForUser +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the AdminDisableProviderForUserRequest method. +// req, resp := client.AdminDisableProviderForUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminDisableProviderForUser +func (c *CognitoIdentityProvider) AdminDisableProviderForUserRequest(input *AdminDisableProviderForUserInput) (req *request.Request, output *AdminDisableProviderForUserOutput) { + op := &request.Operation{ + Name: opAdminDisableProviderForUser, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AdminDisableProviderForUserInput{} + } + + output = &AdminDisableProviderForUserOutput{} + req = c.newRequest(op, input, output) + return +} + +// AdminDisableProviderForUser API operation for Amazon Cognito Identity Provider. +// +// Disables the user from signing in with the specified external (SAML or social) +// identity provider. If the user to disable is a Cognito User Pools native +// username + password user, they are not permitted to use their password to +// sign-in. If the user to disable is a linked external IdP user, any link between +// that user and an existing user is removed. The next time the external user +// (no longer attached to the previously linked DestinationUser) signs in, they +// must create a new user account. See AdminLinkProviderForUser (API_AdminLinkProviderForUser.html). +// +// This action is enabled only for admin access and requires developer credentials. +// +// The ProviderName must match the value specified when creating an IdP for +// the pool. +// +// To disable a native username + password user, the ProviderName value must +// be Cognito and the ProviderAttributeName must be Cognito_Subject, with the +// ProviderAttributeValue being the name that is used in the user pool for the +// user. +// +// The ProviderAttributeName must always be Cognito_Subject for social identity +// providers. The ProviderAttributeValue must always be the exact subject that +// was used when the user was originally linked as a source user. +// +// For de-linking a SAML identity, there are two scenarios. If the linked identity +// has not yet been used to sign-in, the ProviderAttributeName and ProviderAttributeValue +// must be the same values that were used for the SourceUser when the identities +// were originally linked in the AdminLinkProviderForUser (API_AdminLinkProviderForUser.html) +// call. (If the linking was done with ProviderAttributeName set to Cognito_Subject, +// the same applies here). However, if the user has already signed in, the ProviderAttributeName +// must be Cognito_Subject and ProviderAttributeValue must be the subject of +// the SAML assertion. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Cognito Identity Provider's +// API operation AdminDisableProviderForUser for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// This exception is thrown when the Amazon Cognito service cannot find the +// requested resource. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// This exception is thrown when the Amazon Cognito service encounters an invalid +// parameter. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// This exception is thrown when the user has made too many requests for a given +// operation. +// +// * ErrCodeNotAuthorizedException "NotAuthorizedException" +// This exception is thrown when a user is not authorized. +// +// * ErrCodeUserNotFoundException "UserNotFoundException" +// This exception is thrown when a user is not found. +// +// * ErrCodeAliasExistsException "AliasExistsException" +// This exception is thrown when a user tries to confirm the account with an +// email or phone number that has already been supplied as an alias from a different +// account. This exception tells user that an account with this email or phone +// already exists. +// +// * ErrCodeInternalErrorException "InternalErrorException" +// This exception is thrown when Amazon Cognito encounters an internal error. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminDisableProviderForUser +func (c *CognitoIdentityProvider) AdminDisableProviderForUser(input *AdminDisableProviderForUserInput) (*AdminDisableProviderForUserOutput, error) { + req, out := c.AdminDisableProviderForUserRequest(input) + return out, req.Send() +} + +// AdminDisableProviderForUserWithContext is the same as AdminDisableProviderForUser with the addition of +// the ability to pass a context and additional request options. +// +// See AdminDisableProviderForUser for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CognitoIdentityProvider) AdminDisableProviderForUserWithContext(ctx aws.Context, input *AdminDisableProviderForUserInput, opts ...request.Option) (*AdminDisableProviderForUserOutput, error) { + req, out := c.AdminDisableProviderForUserRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAdminDisableUser = "AdminDisableUser" // AdminDisableUserRequest generates a "aws/request.Request" representing the // client's request for the AdminDisableUser operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AdminDisableUser for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AdminDisableUser method directly -// instead. +// See AdminDisableUser for more information on using the AdminDisableUser +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AdminDisableUserRequest method. // req, resp := client.AdminDisableUserRequest(params) @@ -786,19 +911,18 @@ const opAdminEnableUser = "AdminEnableUser" // AdminEnableUserRequest generates a "aws/request.Request" representing the // client's request for the AdminEnableUser operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AdminEnableUser for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AdminEnableUser method directly -// instead. +// See AdminEnableUser for more information on using the AdminEnableUser +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AdminEnableUserRequest method. // req, resp := client.AdminEnableUserRequest(params) @@ -886,19 +1010,18 @@ const opAdminForgetDevice = "AdminForgetDevice" // AdminForgetDeviceRequest generates a "aws/request.Request" representing the // client's request for the AdminForgetDevice operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AdminForgetDevice for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AdminForgetDevice method directly -// instead. +// See AdminForgetDevice for more information on using the AdminForgetDevice +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AdminForgetDeviceRequest method. // req, resp := client.AdminForgetDeviceRequest(params) @@ -991,19 +1114,18 @@ const opAdminGetDevice = "AdminGetDevice" // AdminGetDeviceRequest generates a "aws/request.Request" representing the // client's request for the AdminGetDevice operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AdminGetDevice for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AdminGetDevice method directly -// instead. +// See AdminGetDevice for more information on using the AdminGetDevice +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AdminGetDeviceRequest method. // req, resp := client.AdminGetDeviceRequest(params) @@ -1091,19 +1213,18 @@ const opAdminGetUser = "AdminGetUser" // AdminGetUserRequest generates a "aws/request.Request" representing the // client's request for the AdminGetUser operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AdminGetUser for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AdminGetUser method directly -// instead. +// See AdminGetUser for more information on using the AdminGetUser +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AdminGetUserRequest method. // req, resp := client.AdminGetUserRequest(params) @@ -1192,19 +1313,18 @@ const opAdminInitiateAuth = "AdminInitiateAuth" // AdminInitiateAuthRequest generates a "aws/request.Request" representing the // client's request for the AdminInitiateAuth operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AdminInitiateAuth for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AdminInitiateAuth method directly -// instead. +// See AdminInitiateAuth for more information on using the AdminInitiateAuth +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AdminInitiateAuthRequest method. // req, resp := client.AdminInitiateAuthRequest(params) @@ -1323,23 +1443,143 @@ func (c *CognitoIdentityProvider) AdminInitiateAuthWithContext(ctx aws.Context, return out, req.Send() } +const opAdminLinkProviderForUser = "AdminLinkProviderForUser" + +// AdminLinkProviderForUserRequest generates a "aws/request.Request" representing the +// client's request for the AdminLinkProviderForUser operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AdminLinkProviderForUser for more information on using the AdminLinkProviderForUser +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the AdminLinkProviderForUserRequest method. +// req, resp := client.AdminLinkProviderForUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminLinkProviderForUser +func (c *CognitoIdentityProvider) AdminLinkProviderForUserRequest(input *AdminLinkProviderForUserInput) (req *request.Request, output *AdminLinkProviderForUserOutput) { + op := &request.Operation{ + Name: opAdminLinkProviderForUser, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AdminLinkProviderForUserInput{} + } + + output = &AdminLinkProviderForUserOutput{} + req = c.newRequest(op, input, output) + return +} + +// AdminLinkProviderForUser API operation for Amazon Cognito Identity Provider. +// +// Links an existing user account in a user pool (DestinationUser) to an identity +// from an external identity provider (SourceUser) based on a specified attribute +// name and value from the external identity provider. This allows you to create +// a link from the existing user account to an external federated user identity +// that has not yet been used to sign in, so that the federated user identity +// can be used to sign in as the existing user account. +// +// For example, if there is an existing user with a username and password, this +// API links that user to a federated user identity, so that when the federated +// user identity is used, the user signs in as the existing user account. +// +// Because this API allows a user with an external federated identity to sign +// in as an existing user in the user pool, it is critical that it only be used +// with external identity providers and provider attributes that have been trusted +// by the application owner. +// +// See also AdminDisableProviderForUser (API_AdminDisableProviderForUser.html). +// +// This action is enabled only for admin access and requires developer credentials. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Cognito Identity Provider's +// API operation AdminLinkProviderForUser for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// This exception is thrown when the Amazon Cognito service cannot find the +// requested resource. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// This exception is thrown when the Amazon Cognito service encounters an invalid +// parameter. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// This exception is thrown when the user has made too many requests for a given +// operation. +// +// * ErrCodeNotAuthorizedException "NotAuthorizedException" +// This exception is thrown when a user is not authorized. +// +// * ErrCodeUserNotFoundException "UserNotFoundException" +// This exception is thrown when a user is not found. +// +// * ErrCodeAliasExistsException "AliasExistsException" +// This exception is thrown when a user tries to confirm the account with an +// email or phone number that has already been supplied as an alias from a different +// account. This exception tells user that an account with this email or phone +// already exists. +// +// * ErrCodeInternalErrorException "InternalErrorException" +// This exception is thrown when Amazon Cognito encounters an internal error. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminLinkProviderForUser +func (c *CognitoIdentityProvider) AdminLinkProviderForUser(input *AdminLinkProviderForUserInput) (*AdminLinkProviderForUserOutput, error) { + req, out := c.AdminLinkProviderForUserRequest(input) + return out, req.Send() +} + +// AdminLinkProviderForUserWithContext is the same as AdminLinkProviderForUser with the addition of +// the ability to pass a context and additional request options. +// +// See AdminLinkProviderForUser for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CognitoIdentityProvider) AdminLinkProviderForUserWithContext(ctx aws.Context, input *AdminLinkProviderForUserInput, opts ...request.Option) (*AdminLinkProviderForUserOutput, error) { + req, out := c.AdminLinkProviderForUserRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAdminListDevices = "AdminListDevices" // AdminListDevicesRequest generates a "aws/request.Request" representing the // client's request for the AdminListDevices operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AdminListDevices for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AdminListDevices method directly -// instead. +// See AdminListDevices for more information on using the AdminListDevices +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AdminListDevicesRequest method. // req, resp := client.AdminListDevicesRequest(params) @@ -1427,19 +1667,18 @@ const opAdminListGroupsForUser = "AdminListGroupsForUser" // AdminListGroupsForUserRequest generates a "aws/request.Request" representing the // client's request for the AdminListGroupsForUser operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AdminListGroupsForUser for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AdminListGroupsForUser method directly -// instead. +// See AdminListGroupsForUser for more information on using the AdminListGroupsForUser +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AdminListGroupsForUserRequest method. // req, resp := client.AdminListGroupsForUserRequest(params) @@ -1527,19 +1766,18 @@ const opAdminRemoveUserFromGroup = "AdminRemoveUserFromGroup" // AdminRemoveUserFromGroupRequest generates a "aws/request.Request" representing the // client's request for the AdminRemoveUserFromGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AdminRemoveUserFromGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AdminRemoveUserFromGroup method directly -// instead. +// See AdminRemoveUserFromGroup for more information on using the AdminRemoveUserFromGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AdminRemoveUserFromGroupRequest method. // req, resp := client.AdminRemoveUserFromGroupRequest(params) @@ -1629,19 +1867,18 @@ const opAdminResetUserPassword = "AdminResetUserPassword" // AdminResetUserPasswordRequest generates a "aws/request.Request" representing the // client's request for the AdminResetUserPassword operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AdminResetUserPassword for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AdminResetUserPassword method directly -// instead. +// See AdminResetUserPassword for more information on using the AdminResetUserPassword +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AdminResetUserPasswordRequest method. // req, resp := client.AdminResetUserPasswordRequest(params) @@ -1770,19 +2007,18 @@ const opAdminRespondToAuthChallenge = "AdminRespondToAuthChallenge" // AdminRespondToAuthChallengeRequest generates a "aws/request.Request" representing the // client's request for the AdminRespondToAuthChallenge operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AdminRespondToAuthChallenge for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AdminRespondToAuthChallenge method directly -// instead. +// See AdminRespondToAuthChallenge for more information on using the AdminRespondToAuthChallenge +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AdminRespondToAuthChallengeRequest method. // req, resp := client.AdminRespondToAuthChallengeRequest(params) @@ -1922,19 +2158,18 @@ const opAdminSetUserSettings = "AdminSetUserSettings" // AdminSetUserSettingsRequest generates a "aws/request.Request" representing the // client's request for the AdminSetUserSettings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AdminSetUserSettings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AdminSetUserSettings method directly -// instead. +// See AdminSetUserSettings for more information on using the AdminSetUserSettings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AdminSetUserSettingsRequest method. // req, resp := client.AdminSetUserSettingsRequest(params) @@ -2018,19 +2253,18 @@ const opAdminUpdateDeviceStatus = "AdminUpdateDeviceStatus" // AdminUpdateDeviceStatusRequest generates a "aws/request.Request" representing the // client's request for the AdminUpdateDeviceStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AdminUpdateDeviceStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AdminUpdateDeviceStatus method directly -// instead. +// See AdminUpdateDeviceStatus for more information on using the AdminUpdateDeviceStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AdminUpdateDeviceStatusRequest method. // req, resp := client.AdminUpdateDeviceStatusRequest(params) @@ -2121,19 +2355,18 @@ const opAdminUpdateUserAttributes = "AdminUpdateUserAttributes" // AdminUpdateUserAttributesRequest generates a "aws/request.Request" representing the // client's request for the AdminUpdateUserAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AdminUpdateUserAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AdminUpdateUserAttributes method directly -// instead. +// See AdminUpdateUserAttributes for more information on using the AdminUpdateUserAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AdminUpdateUserAttributesRequest method. // req, resp := client.AdminUpdateUserAttributesRequest(params) @@ -2246,19 +2479,18 @@ const opAdminUserGlobalSignOut = "AdminUserGlobalSignOut" // AdminUserGlobalSignOutRequest generates a "aws/request.Request" representing the // client's request for the AdminUserGlobalSignOut operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AdminUserGlobalSignOut for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AdminUserGlobalSignOut method directly -// instead. +// See AdminUserGlobalSignOut for more information on using the AdminUserGlobalSignOut +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AdminUserGlobalSignOutRequest method. // req, resp := client.AdminUserGlobalSignOutRequest(params) @@ -2346,19 +2578,18 @@ const opChangePassword = "ChangePassword" // ChangePasswordRequest generates a "aws/request.Request" representing the // client's request for the ChangePassword operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ChangePassword for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ChangePassword method directly -// instead. +// See ChangePassword for more information on using the ChangePassword +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ChangePasswordRequest method. // req, resp := client.ChangePasswordRequest(params) @@ -2459,19 +2690,18 @@ const opConfirmDevice = "ConfirmDevice" // ConfirmDeviceRequest generates a "aws/request.Request" representing the // client's request for the ConfirmDevice operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ConfirmDevice for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ConfirmDevice method directly -// instead. +// See ConfirmDevice for more information on using the ConfirmDevice +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ConfirmDeviceRequest method. // req, resp := client.ConfirmDeviceRequest(params) @@ -2579,19 +2809,18 @@ const opConfirmForgotPassword = "ConfirmForgotPassword" // ConfirmForgotPasswordRequest generates a "aws/request.Request" representing the // client's request for the ConfirmForgotPassword operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ConfirmForgotPassword for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ConfirmForgotPassword method directly -// instead. +// See ConfirmForgotPassword for more information on using the ConfirmForgotPassword +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ConfirmForgotPasswordRequest method. // req, resp := client.ConfirmForgotPasswordRequest(params) @@ -2712,19 +2941,18 @@ const opConfirmSignUp = "ConfirmSignUp" // ConfirmSignUpRequest generates a "aws/request.Request" representing the // client's request for the ConfirmSignUp operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ConfirmSignUp for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ConfirmSignUp method directly -// instead. +// See ConfirmSignUp for more information on using the ConfirmSignUp +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ConfirmSignUpRequest method. // req, resp := client.ConfirmSignUpRequest(params) @@ -2845,19 +3073,18 @@ const opCreateGroup = "CreateGroup" // CreateGroupRequest generates a "aws/request.Request" representing the // client's request for the CreateGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateGroup method directly -// instead. +// See CreateGroup for more information on using the CreateGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateGroupRequest method. // req, resp := client.CreateGroupRequest(params) @@ -2950,19 +3177,18 @@ const opCreateIdentityProvider = "CreateIdentityProvider" // CreateIdentityProviderRequest generates a "aws/request.Request" representing the // client's request for the CreateIdentityProvider operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateIdentityProvider for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateIdentityProvider method directly -// instead. +// See CreateIdentityProvider for more information on using the CreateIdentityProvider +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateIdentityProviderRequest method. // req, resp := client.CreateIdentityProviderRequest(params) @@ -3049,23 +3275,120 @@ func (c *CognitoIdentityProvider) CreateIdentityProviderWithContext(ctx aws.Cont return out, req.Send() } +const opCreateResourceServer = "CreateResourceServer" + +// CreateResourceServerRequest generates a "aws/request.Request" representing the +// client's request for the CreateResourceServer operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateResourceServer for more information on using the CreateResourceServer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateResourceServerRequest method. +// req, resp := client.CreateResourceServerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateResourceServer +func (c *CognitoIdentityProvider) CreateResourceServerRequest(input *CreateResourceServerInput) (req *request.Request, output *CreateResourceServerOutput) { + op := &request.Operation{ + Name: opCreateResourceServer, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateResourceServerInput{} + } + + output = &CreateResourceServerOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateResourceServer API operation for Amazon Cognito Identity Provider. +// +// Creates a new OAuth2.0 resource server and defines custom scopes in it. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Cognito Identity Provider's +// API operation CreateResourceServer for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// This exception is thrown when the Amazon Cognito service encounters an invalid +// parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// This exception is thrown when the Amazon Cognito service cannot find the +// requested resource. +// +// * ErrCodeNotAuthorizedException "NotAuthorizedException" +// This exception is thrown when a user is not authorized. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// This exception is thrown when the user has made too many requests for a given +// operation. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// This exception is thrown when a user exceeds the limit for a requested AWS +// resource. +// +// * ErrCodeInternalErrorException "InternalErrorException" +// This exception is thrown when Amazon Cognito encounters an internal error. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateResourceServer +func (c *CognitoIdentityProvider) CreateResourceServer(input *CreateResourceServerInput) (*CreateResourceServerOutput, error) { + req, out := c.CreateResourceServerRequest(input) + return out, req.Send() +} + +// CreateResourceServerWithContext is the same as CreateResourceServer with the addition of +// the ability to pass a context and additional request options. +// +// See CreateResourceServer for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CognitoIdentityProvider) CreateResourceServerWithContext(ctx aws.Context, input *CreateResourceServerInput, opts ...request.Option) (*CreateResourceServerOutput, error) { + req, out := c.CreateResourceServerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateUserImportJob = "CreateUserImportJob" // CreateUserImportJobRequest generates a "aws/request.Request" representing the // client's request for the CreateUserImportJob operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateUserImportJob for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateUserImportJob method directly -// instead. +// See CreateUserImportJob for more information on using the CreateUserImportJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateUserImportJobRequest method. // req, resp := client.CreateUserImportJobRequest(params) @@ -3155,19 +3478,18 @@ const opCreateUserPool = "CreateUserPool" // CreateUserPoolRequest generates a "aws/request.Request" representing the // client's request for the CreateUserPool operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateUserPool for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateUserPool method directly -// instead. +// See CreateUserPool for more information on using the CreateUserPool +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateUserPoolRequest method. // req, resp := client.CreateUserPoolRequest(params) @@ -3268,19 +3590,18 @@ const opCreateUserPoolClient = "CreateUserPoolClient" // CreateUserPoolClientRequest generates a "aws/request.Request" representing the // client's request for the CreateUserPoolClient operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateUserPoolClient for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateUserPoolClient method directly -// instead. +// See CreateUserPoolClient for more information on using the CreateUserPoolClient +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateUserPoolClientRequest method. // req, resp := client.CreateUserPoolClientRequest(params) @@ -3373,19 +3694,18 @@ const opCreateUserPoolDomain = "CreateUserPoolDomain" // CreateUserPoolDomainRequest generates a "aws/request.Request" representing the // client's request for the CreateUserPoolDomain operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateUserPoolDomain for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateUserPoolDomain method directly -// instead. +// See CreateUserPoolDomain for more information on using the CreateUserPoolDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateUserPoolDomainRequest method. // req, resp := client.CreateUserPoolDomainRequest(params) @@ -3464,19 +3784,18 @@ const opDeleteGroup = "DeleteGroup" // DeleteGroupRequest generates a "aws/request.Request" representing the // client's request for the DeleteGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteGroup method directly -// instead. +// See DeleteGroup for more information on using the DeleteGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteGroupRequest method. // req, resp := client.DeleteGroupRequest(params) @@ -3563,19 +3882,18 @@ const opDeleteIdentityProvider = "DeleteIdentityProvider" // DeleteIdentityProviderRequest generates a "aws/request.Request" representing the // client's request for the DeleteIdentityProvider operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteIdentityProvider for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteIdentityProvider method directly -// instead. +// See DeleteIdentityProvider for more information on using the DeleteIdentityProvider +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteIdentityProviderRequest method. // req, resp := client.DeleteIdentityProviderRequest(params) @@ -3659,23 +3977,118 @@ func (c *CognitoIdentityProvider) DeleteIdentityProviderWithContext(ctx aws.Cont return out, req.Send() } +const opDeleteResourceServer = "DeleteResourceServer" + +// DeleteResourceServerRequest generates a "aws/request.Request" representing the +// client's request for the DeleteResourceServer operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteResourceServer for more information on using the DeleteResourceServer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteResourceServerRequest method. +// req, resp := client.DeleteResourceServerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DeleteResourceServer +func (c *CognitoIdentityProvider) DeleteResourceServerRequest(input *DeleteResourceServerInput) (req *request.Request, output *DeleteResourceServerOutput) { + op := &request.Operation{ + Name: opDeleteResourceServer, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteResourceServerInput{} + } + + output = &DeleteResourceServerOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteResourceServer API operation for Amazon Cognito Identity Provider. +// +// Deletes a resource server. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Cognito Identity Provider's +// API operation DeleteResourceServer for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// This exception is thrown when the Amazon Cognito service encounters an invalid +// parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// This exception is thrown when the Amazon Cognito service cannot find the +// requested resource. +// +// * ErrCodeNotAuthorizedException "NotAuthorizedException" +// This exception is thrown when a user is not authorized. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// This exception is thrown when the user has made too many requests for a given +// operation. +// +// * ErrCodeInternalErrorException "InternalErrorException" +// This exception is thrown when Amazon Cognito encounters an internal error. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DeleteResourceServer +func (c *CognitoIdentityProvider) DeleteResourceServer(input *DeleteResourceServerInput) (*DeleteResourceServerOutput, error) { + req, out := c.DeleteResourceServerRequest(input) + return out, req.Send() +} + +// DeleteResourceServerWithContext is the same as DeleteResourceServer with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteResourceServer for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CognitoIdentityProvider) DeleteResourceServerWithContext(ctx aws.Context, input *DeleteResourceServerInput, opts ...request.Option) (*DeleteResourceServerOutput, error) { + req, out := c.DeleteResourceServerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteUser = "DeleteUser" // DeleteUserRequest generates a "aws/request.Request" representing the // client's request for the DeleteUser operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteUser for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteUser method directly -// instead. +// See DeleteUser for more information on using the DeleteUser +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteUserRequest method. // req, resp := client.DeleteUserRequest(params) @@ -3707,7 +4120,7 @@ func (c *CognitoIdentityProvider) DeleteUserRequest(input *DeleteUserInput) (req // DeleteUser API operation for Amazon Cognito Identity Provider. // -// Allows a user to delete one's self. +// Allows a user to delete himself or herself. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3770,19 +4183,18 @@ const opDeleteUserAttributes = "DeleteUserAttributes" // DeleteUserAttributesRequest generates a "aws/request.Request" representing the // client's request for the DeleteUserAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteUserAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteUserAttributes method directly -// instead. +// See DeleteUserAttributes for more information on using the DeleteUserAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteUserAttributesRequest method. // req, resp := client.DeleteUserAttributesRequest(params) @@ -3875,19 +4287,18 @@ const opDeleteUserPool = "DeleteUserPool" // DeleteUserPoolRequest generates a "aws/request.Request" representing the // client's request for the DeleteUserPool operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteUserPool for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteUserPool method directly -// instead. +// See DeleteUserPool for more information on using the DeleteUserPool +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteUserPoolRequest method. // req, resp := client.DeleteUserPoolRequest(params) @@ -3976,19 +4387,18 @@ const opDeleteUserPoolClient = "DeleteUserPoolClient" // DeleteUserPoolClientRequest generates a "aws/request.Request" representing the // client's request for the DeleteUserPoolClient operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteUserPoolClient for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteUserPoolClient method directly -// instead. +// See DeleteUserPoolClient for more information on using the DeleteUserPoolClient +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteUserPoolClientRequest method. // req, resp := client.DeleteUserPoolClientRequest(params) @@ -4073,19 +4483,18 @@ const opDeleteUserPoolDomain = "DeleteUserPoolDomain" // DeleteUserPoolDomainRequest generates a "aws/request.Request" representing the // client's request for the DeleteUserPoolDomain operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteUserPoolDomain for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteUserPoolDomain method directly -// instead. +// See DeleteUserPoolDomain for more information on using the DeleteUserPoolDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteUserPoolDomainRequest method. // req, resp := client.DeleteUserPoolDomainRequest(params) @@ -4164,19 +4573,18 @@ const opDescribeIdentityProvider = "DescribeIdentityProvider" // DescribeIdentityProviderRequest generates a "aws/request.Request" representing the // client's request for the DescribeIdentityProvider operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeIdentityProvider for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeIdentityProvider method directly -// instead. +// See DescribeIdentityProvider for more information on using the DescribeIdentityProvider +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeIdentityProviderRequest method. // req, resp := client.DescribeIdentityProviderRequest(params) @@ -4255,23 +4663,116 @@ func (c *CognitoIdentityProvider) DescribeIdentityProviderWithContext(ctx aws.Co return out, req.Send() } +const opDescribeResourceServer = "DescribeResourceServer" + +// DescribeResourceServerRequest generates a "aws/request.Request" representing the +// client's request for the DescribeResourceServer operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeResourceServer for more information on using the DescribeResourceServer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeResourceServerRequest method. +// req, resp := client.DescribeResourceServerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeResourceServer +func (c *CognitoIdentityProvider) DescribeResourceServerRequest(input *DescribeResourceServerInput) (req *request.Request, output *DescribeResourceServerOutput) { + op := &request.Operation{ + Name: opDescribeResourceServer, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeResourceServerInput{} + } + + output = &DescribeResourceServerOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeResourceServer API operation for Amazon Cognito Identity Provider. +// +// Describes a resource server. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Cognito Identity Provider's +// API operation DescribeResourceServer for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// This exception is thrown when the Amazon Cognito service encounters an invalid +// parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// This exception is thrown when the Amazon Cognito service cannot find the +// requested resource. +// +// * ErrCodeNotAuthorizedException "NotAuthorizedException" +// This exception is thrown when a user is not authorized. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// This exception is thrown when the user has made too many requests for a given +// operation. +// +// * ErrCodeInternalErrorException "InternalErrorException" +// This exception is thrown when Amazon Cognito encounters an internal error. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeResourceServer +func (c *CognitoIdentityProvider) DescribeResourceServer(input *DescribeResourceServerInput) (*DescribeResourceServerOutput, error) { + req, out := c.DescribeResourceServerRequest(input) + return out, req.Send() +} + +// DescribeResourceServerWithContext is the same as DescribeResourceServer with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeResourceServer for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CognitoIdentityProvider) DescribeResourceServerWithContext(ctx aws.Context, input *DescribeResourceServerInput, opts ...request.Option) (*DescribeResourceServerOutput, error) { + req, out := c.DescribeResourceServerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeUserImportJob = "DescribeUserImportJob" // DescribeUserImportJobRequest generates a "aws/request.Request" representing the // client's request for the DescribeUserImportJob operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeUserImportJob for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeUserImportJob method directly -// instead. +// See DescribeUserImportJob for more information on using the DescribeUserImportJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeUserImportJobRequest method. // req, resp := client.DescribeUserImportJobRequest(params) @@ -4354,19 +4855,18 @@ const opDescribeUserPool = "DescribeUserPool" // DescribeUserPoolRequest generates a "aws/request.Request" representing the // client's request for the DescribeUserPool operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeUserPool for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeUserPool method directly -// instead. +// See DescribeUserPool for more information on using the DescribeUserPool +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeUserPoolRequest method. // req, resp := client.DescribeUserPoolRequest(params) @@ -4453,19 +4953,18 @@ const opDescribeUserPoolClient = "DescribeUserPoolClient" // DescribeUserPoolClientRequest generates a "aws/request.Request" representing the // client's request for the DescribeUserPoolClient operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeUserPoolClient for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeUserPoolClient method directly -// instead. +// See DescribeUserPoolClient for more information on using the DescribeUserPoolClient +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeUserPoolClientRequest method. // req, resp := client.DescribeUserPoolClientRequest(params) @@ -4549,19 +5048,18 @@ const opDescribeUserPoolDomain = "DescribeUserPoolDomain" // DescribeUserPoolDomainRequest generates a "aws/request.Request" representing the // client's request for the DescribeUserPoolDomain operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeUserPoolDomain for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeUserPoolDomain method directly -// instead. +// See DescribeUserPoolDomain for more information on using the DescribeUserPoolDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeUserPoolDomainRequest method. // req, resp := client.DescribeUserPoolDomainRequest(params) @@ -4640,19 +5138,18 @@ const opForgetDevice = "ForgetDevice" // ForgetDeviceRequest generates a "aws/request.Request" representing the // client's request for the ForgetDevice operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ForgetDevice for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ForgetDevice method directly -// instead. +// See ForgetDevice for more information on using the ForgetDevice +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ForgetDeviceRequest method. // req, resp := client.ForgetDeviceRequest(params) @@ -4749,19 +5246,18 @@ const opForgotPassword = "ForgotPassword" // ForgotPasswordRequest generates a "aws/request.Request" representing the // client's request for the ForgotPassword operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ForgotPassword for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ForgotPassword method directly -// instead. +// See ForgotPassword for more information on using the ForgotPassword +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ForgotPasswordRequest method. // req, resp := client.ForgotPasswordRequest(params) @@ -4891,19 +5387,18 @@ const opGetCSVHeader = "GetCSVHeader" // GetCSVHeaderRequest generates a "aws/request.Request" representing the // client's request for the GetCSVHeader operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetCSVHeader for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetCSVHeader method directly -// instead. +// See GetCSVHeader for more information on using the GetCSVHeader +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetCSVHeaderRequest method. // req, resp := client.GetCSVHeaderRequest(params) @@ -4987,19 +5482,18 @@ const opGetDevice = "GetDevice" // GetDeviceRequest generates a "aws/request.Request" representing the // client's request for the GetDevice operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDevice for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDevice method directly -// instead. +// See GetDevice for more information on using the GetDevice +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDeviceRequest method. // req, resp := client.GetDeviceRequest(params) @@ -5094,19 +5588,18 @@ const opGetGroup = "GetGroup" // GetGroupRequest generates a "aws/request.Request" representing the // client's request for the GetGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetGroup method directly -// instead. +// See GetGroup for more information on using the GetGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetGroupRequest method. // req, resp := client.GetGroupRequest(params) @@ -5191,19 +5684,18 @@ const opGetIdentityProviderByIdentifier = "GetIdentityProviderByIdentifier" // GetIdentityProviderByIdentifierRequest generates a "aws/request.Request" representing the // client's request for the GetIdentityProviderByIdentifier operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetIdentityProviderByIdentifier for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetIdentityProviderByIdentifier method directly -// instead. +// See GetIdentityProviderByIdentifier for more information on using the GetIdentityProviderByIdentifier +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetIdentityProviderByIdentifierRequest method. // req, resp := client.GetIdentityProviderByIdentifierRequest(params) @@ -5282,23 +5774,119 @@ func (c *CognitoIdentityProvider) GetIdentityProviderByIdentifierWithContext(ctx return out, req.Send() } +const opGetUICustomization = "GetUICustomization" + +// GetUICustomizationRequest generates a "aws/request.Request" representing the +// client's request for the GetUICustomization operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetUICustomization for more information on using the GetUICustomization +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetUICustomizationRequest method. +// req, resp := client.GetUICustomizationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetUICustomization +func (c *CognitoIdentityProvider) GetUICustomizationRequest(input *GetUICustomizationInput) (req *request.Request, output *GetUICustomizationOutput) { + op := &request.Operation{ + Name: opGetUICustomization, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetUICustomizationInput{} + } + + output = &GetUICustomizationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetUICustomization API operation for Amazon Cognito Identity Provider. +// +// Gets the UI Customization information for a particular app client's app UI, +// if there is something set. If nothing is set for the particular client, but +// there is an existing pool level customization (app clientId will be ALL), +// then that is returned. If nothing is present, then an empty shape is returned. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Cognito Identity Provider's +// API operation GetUICustomization for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// This exception is thrown when the Amazon Cognito service encounters an invalid +// parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// This exception is thrown when the Amazon Cognito service cannot find the +// requested resource. +// +// * ErrCodeNotAuthorizedException "NotAuthorizedException" +// This exception is thrown when a user is not authorized. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// This exception is thrown when the user has made too many requests for a given +// operation. +// +// * ErrCodeInternalErrorException "InternalErrorException" +// This exception is thrown when Amazon Cognito encounters an internal error. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetUICustomization +func (c *CognitoIdentityProvider) GetUICustomization(input *GetUICustomizationInput) (*GetUICustomizationOutput, error) { + req, out := c.GetUICustomizationRequest(input) + return out, req.Send() +} + +// GetUICustomizationWithContext is the same as GetUICustomization with the addition of +// the ability to pass a context and additional request options. +// +// See GetUICustomization for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CognitoIdentityProvider) GetUICustomizationWithContext(ctx aws.Context, input *GetUICustomizationInput, opts ...request.Option) (*GetUICustomizationOutput, error) { + req, out := c.GetUICustomizationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetUser = "GetUser" // GetUserRequest generates a "aws/request.Request" representing the // client's request for the GetUser operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetUser for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetUser method directly -// instead. +// See GetUser for more information on using the GetUser +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetUserRequest method. // req, resp := client.GetUserRequest(params) @@ -5391,19 +5979,18 @@ const opGetUserAttributeVerificationCode = "GetUserAttributeVerificationCode" // GetUserAttributeVerificationCodeRequest generates a "aws/request.Request" representing the // client's request for the GetUserAttributeVerificationCode operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetUserAttributeVerificationCode for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetUserAttributeVerificationCode method directly -// instead. +// See GetUserAttributeVerificationCode for more information on using the GetUserAttributeVerificationCode +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetUserAttributeVerificationCodeRequest method. // req, resp := client.GetUserAttributeVerificationCodeRequest(params) @@ -5529,19 +6116,18 @@ const opGlobalSignOut = "GlobalSignOut" // GlobalSignOutRequest generates a "aws/request.Request" representing the // client's request for the GlobalSignOut operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GlobalSignOut for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GlobalSignOut method directly -// instead. +// See GlobalSignOut for more information on using the GlobalSignOut +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GlobalSignOutRequest method. // req, resp := client.GlobalSignOutRequest(params) @@ -5630,19 +6216,18 @@ const opInitiateAuth = "InitiateAuth" // InitiateAuthRequest generates a "aws/request.Request" representing the // client's request for the InitiateAuth operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InitiateAuth for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InitiateAuth method directly -// instead. +// See InitiateAuth for more information on using the InitiateAuth +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InitiateAuthRequest method. // req, resp := client.InitiateAuthRequest(params) @@ -5749,19 +6334,18 @@ const opListDevices = "ListDevices" // ListDevicesRequest generates a "aws/request.Request" representing the // client's request for the ListDevices operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDevices for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDevices method directly -// instead. +// See ListDevices for more information on using the ListDevices +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDevicesRequest method. // req, resp := client.ListDevicesRequest(params) @@ -5856,19 +6440,18 @@ const opListGroups = "ListGroups" // ListGroupsRequest generates a "aws/request.Request" representing the // client's request for the ListGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListGroups method directly -// instead. +// See ListGroups for more information on using the ListGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListGroupsRequest method. // req, resp := client.ListGroupsRequest(params) @@ -5953,19 +6536,18 @@ const opListIdentityProviders = "ListIdentityProviders" // ListIdentityProvidersRequest generates a "aws/request.Request" representing the // client's request for the ListIdentityProviders operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListIdentityProviders for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListIdentityProviders method directly -// instead. +// See ListIdentityProviders for more information on using the ListIdentityProviders +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListIdentityProvidersRequest method. // req, resp := client.ListIdentityProvidersRequest(params) @@ -6044,23 +6626,116 @@ func (c *CognitoIdentityProvider) ListIdentityProvidersWithContext(ctx aws.Conte return out, req.Send() } +const opListResourceServers = "ListResourceServers" + +// ListResourceServersRequest generates a "aws/request.Request" representing the +// client's request for the ListResourceServers operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListResourceServers for more information on using the ListResourceServers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListResourceServersRequest method. +// req, resp := client.ListResourceServersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListResourceServers +func (c *CognitoIdentityProvider) ListResourceServersRequest(input *ListResourceServersInput) (req *request.Request, output *ListResourceServersOutput) { + op := &request.Operation{ + Name: opListResourceServers, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListResourceServersInput{} + } + + output = &ListResourceServersOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListResourceServers API operation for Amazon Cognito Identity Provider. +// +// Lists the resource servers for a user pool. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Cognito Identity Provider's +// API operation ListResourceServers for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// This exception is thrown when the Amazon Cognito service encounters an invalid +// parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// This exception is thrown when the Amazon Cognito service cannot find the +// requested resource. +// +// * ErrCodeNotAuthorizedException "NotAuthorizedException" +// This exception is thrown when a user is not authorized. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// This exception is thrown when the user has made too many requests for a given +// operation. +// +// * ErrCodeInternalErrorException "InternalErrorException" +// This exception is thrown when Amazon Cognito encounters an internal error. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListResourceServers +func (c *CognitoIdentityProvider) ListResourceServers(input *ListResourceServersInput) (*ListResourceServersOutput, error) { + req, out := c.ListResourceServersRequest(input) + return out, req.Send() +} + +// ListResourceServersWithContext is the same as ListResourceServers with the addition of +// the ability to pass a context and additional request options. +// +// See ListResourceServers for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CognitoIdentityProvider) ListResourceServersWithContext(ctx aws.Context, input *ListResourceServersInput, opts ...request.Option) (*ListResourceServersOutput, error) { + req, out := c.ListResourceServersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListUserImportJobs = "ListUserImportJobs" // ListUserImportJobsRequest generates a "aws/request.Request" representing the // client's request for the ListUserImportJobs operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListUserImportJobs for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListUserImportJobs method directly -// instead. +// See ListUserImportJobs for more information on using the ListUserImportJobs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListUserImportJobsRequest method. // req, resp := client.ListUserImportJobsRequest(params) @@ -6143,19 +6818,18 @@ const opListUserPoolClients = "ListUserPoolClients" // ListUserPoolClientsRequest generates a "aws/request.Request" representing the // client's request for the ListUserPoolClients operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListUserPoolClients for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListUserPoolClients method directly -// instead. +// See ListUserPoolClients for more information on using the ListUserPoolClients +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListUserPoolClientsRequest method. // req, resp := client.ListUserPoolClientsRequest(params) @@ -6238,19 +6912,18 @@ const opListUserPools = "ListUserPools" // ListUserPoolsRequest generates a "aws/request.Request" representing the // client's request for the ListUserPools operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListUserPools for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListUserPools method directly -// instead. +// See ListUserPools for more information on using the ListUserPools +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListUserPoolsRequest method. // req, resp := client.ListUserPoolsRequest(params) @@ -6329,19 +7002,18 @@ const opListUsers = "ListUsers" // ListUsersRequest generates a "aws/request.Request" representing the // client's request for the ListUsers operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListUsers for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListUsers method directly -// instead. +// See ListUsers for more information on using the ListUsers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListUsersRequest method. // req, resp := client.ListUsersRequest(params) @@ -6424,19 +7096,18 @@ const opListUsersInGroup = "ListUsersInGroup" // ListUsersInGroupRequest generates a "aws/request.Request" representing the // client's request for the ListUsersInGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListUsersInGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListUsersInGroup method directly -// instead. +// See ListUsersInGroup for more information on using the ListUsersInGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListUsersInGroupRequest method. // req, resp := client.ListUsersInGroupRequest(params) @@ -6521,19 +7192,18 @@ const opResendConfirmationCode = "ResendConfirmationCode" // ResendConfirmationCodeRequest generates a "aws/request.Request" representing the // client's request for the ResendConfirmationCode operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ResendConfirmationCode for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ResendConfirmationCode method directly -// instead. +// See ResendConfirmationCode for more information on using the ResendConfirmationCode +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ResendConfirmationCodeRequest method. // req, resp := client.ResendConfirmationCodeRequest(params) @@ -6654,19 +7324,18 @@ const opRespondToAuthChallenge = "RespondToAuthChallenge" // RespondToAuthChallengeRequest generates a "aws/request.Request" representing the // client's request for the RespondToAuthChallenge operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RespondToAuthChallenge for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RespondToAuthChallenge method directly -// instead. +// See RespondToAuthChallenge for more information on using the RespondToAuthChallenge +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RespondToAuthChallengeRequest method. // req, resp := client.RespondToAuthChallengeRequest(params) @@ -6800,23 +7469,127 @@ func (c *CognitoIdentityProvider) RespondToAuthChallengeWithContext(ctx aws.Cont return out, req.Send() } +const opSetUICustomization = "SetUICustomization" + +// SetUICustomizationRequest generates a "aws/request.Request" representing the +// client's request for the SetUICustomization operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See SetUICustomization for more information on using the SetUICustomization +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the SetUICustomizationRequest method. +// req, resp := client.SetUICustomizationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SetUICustomization +func (c *CognitoIdentityProvider) SetUICustomizationRequest(input *SetUICustomizationInput) (req *request.Request, output *SetUICustomizationOutput) { + op := &request.Operation{ + Name: opSetUICustomization, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SetUICustomizationInput{} + } + + output = &SetUICustomizationOutput{} + req = c.newRequest(op, input, output) + return +} + +// SetUICustomization API operation for Amazon Cognito Identity Provider. +// +// Sets the UI customization information for a user pool's built-in app UI. +// +// You can specify app UI customization settings for a single client (with a +// specific clientId) or for all clients (by setting the clientId to ALL). If +// you specify ALL, the default configuration will be used for every client +// that has no UI customization set previously. If you specify UI customization +// settings for a particular client, it will no longer fall back to the ALL +// configuration. +// +// To use this API, your user pool must have a domain associated with it. Otherwise, +// there is no place to host the app's pages, and the service will throw an +// error. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Cognito Identity Provider's +// API operation SetUICustomization for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// This exception is thrown when the Amazon Cognito service encounters an invalid +// parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// This exception is thrown when the Amazon Cognito service cannot find the +// requested resource. +// +// * ErrCodeNotAuthorizedException "NotAuthorizedException" +// This exception is thrown when a user is not authorized. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// This exception is thrown when the user has made too many requests for a given +// operation. +// +// * ErrCodeInternalErrorException "InternalErrorException" +// This exception is thrown when Amazon Cognito encounters an internal error. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SetUICustomization +func (c *CognitoIdentityProvider) SetUICustomization(input *SetUICustomizationInput) (*SetUICustomizationOutput, error) { + req, out := c.SetUICustomizationRequest(input) + return out, req.Send() +} + +// SetUICustomizationWithContext is the same as SetUICustomization with the addition of +// the ability to pass a context and additional request options. +// +// See SetUICustomization for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CognitoIdentityProvider) SetUICustomizationWithContext(ctx aws.Context, input *SetUICustomizationInput, opts ...request.Option) (*SetUICustomizationOutput, error) { + req, out := c.SetUICustomizationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opSetUserSettings = "SetUserSettings" // SetUserSettingsRequest generates a "aws/request.Request" representing the // client's request for the SetUserSettings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetUserSettings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetUserSettings method directly -// instead. +// See SetUserSettings for more information on using the SetUserSettings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetUserSettingsRequest method. // req, resp := client.SetUserSettingsRequest(params) @@ -6907,19 +7680,18 @@ const opSignUp = "SignUp" // SignUpRequest generates a "aws/request.Request" representing the // client's request for the SignUp operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SignUp for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SignUp method directly -// instead. +// See SignUp for more information on using the SignUp +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SignUpRequest method. // req, resp := client.SignUpRequest(params) @@ -7041,19 +7813,18 @@ const opStartUserImportJob = "StartUserImportJob" // StartUserImportJobRequest generates a "aws/request.Request" representing the // client's request for the StartUserImportJob operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartUserImportJob for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartUserImportJob method directly -// instead. +// See StartUserImportJob for more information on using the StartUserImportJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartUserImportJobRequest method. // req, resp := client.StartUserImportJobRequest(params) @@ -7139,19 +7910,18 @@ const opStopUserImportJob = "StopUserImportJob" // StopUserImportJobRequest generates a "aws/request.Request" representing the // client's request for the StopUserImportJob operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StopUserImportJob for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StopUserImportJob method directly -// instead. +// See StopUserImportJob for more information on using the StopUserImportJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StopUserImportJobRequest method. // req, resp := client.StopUserImportJobRequest(params) @@ -7237,19 +8007,18 @@ const opUpdateDeviceStatus = "UpdateDeviceStatus" // UpdateDeviceStatusRequest generates a "aws/request.Request" representing the // client's request for the UpdateDeviceStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateDeviceStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateDeviceStatus method directly -// instead. +// See UpdateDeviceStatus for more information on using the UpdateDeviceStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateDeviceStatusRequest method. // req, resp := client.UpdateDeviceStatusRequest(params) @@ -7344,19 +8113,18 @@ const opUpdateGroup = "UpdateGroup" // UpdateGroupRequest generates a "aws/request.Request" representing the // client's request for the UpdateGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateGroup method directly -// instead. +// See UpdateGroup for more information on using the UpdateGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateGroupRequest method. // req, resp := client.UpdateGroupRequest(params) @@ -7441,19 +8209,18 @@ const opUpdateIdentityProvider = "UpdateIdentityProvider" // UpdateIdentityProviderRequest generates a "aws/request.Request" representing the // client's request for the UpdateIdentityProvider operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateIdentityProvider for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateIdentityProvider method directly -// instead. +// See UpdateIdentityProvider for more information on using the UpdateIdentityProvider +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateIdentityProviderRequest method. // req, resp := client.UpdateIdentityProviderRequest(params) @@ -7535,23 +8302,116 @@ func (c *CognitoIdentityProvider) UpdateIdentityProviderWithContext(ctx aws.Cont return out, req.Send() } +const opUpdateResourceServer = "UpdateResourceServer" + +// UpdateResourceServerRequest generates a "aws/request.Request" representing the +// client's request for the UpdateResourceServer operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateResourceServer for more information on using the UpdateResourceServer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateResourceServerRequest method. +// req, resp := client.UpdateResourceServerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateResourceServer +func (c *CognitoIdentityProvider) UpdateResourceServerRequest(input *UpdateResourceServerInput) (req *request.Request, output *UpdateResourceServerOutput) { + op := &request.Operation{ + Name: opUpdateResourceServer, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateResourceServerInput{} + } + + output = &UpdateResourceServerOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateResourceServer API operation for Amazon Cognito Identity Provider. +// +// Updates the name and scopes of resource server. All other fields are read-only. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Cognito Identity Provider's +// API operation UpdateResourceServer for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// This exception is thrown when the Amazon Cognito service encounters an invalid +// parameter. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// This exception is thrown when the Amazon Cognito service cannot find the +// requested resource. +// +// * ErrCodeNotAuthorizedException "NotAuthorizedException" +// This exception is thrown when a user is not authorized. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// This exception is thrown when the user has made too many requests for a given +// operation. +// +// * ErrCodeInternalErrorException "InternalErrorException" +// This exception is thrown when Amazon Cognito encounters an internal error. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateResourceServer +func (c *CognitoIdentityProvider) UpdateResourceServer(input *UpdateResourceServerInput) (*UpdateResourceServerOutput, error) { + req, out := c.UpdateResourceServerRequest(input) + return out, req.Send() +} + +// UpdateResourceServerWithContext is the same as UpdateResourceServer with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateResourceServer for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CognitoIdentityProvider) UpdateResourceServerWithContext(ctx aws.Context, input *UpdateResourceServerInput, opts ...request.Option) (*UpdateResourceServerOutput, error) { + req, out := c.UpdateResourceServerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateUserAttributes = "UpdateUserAttributes" // UpdateUserAttributesRequest generates a "aws/request.Request" representing the // client's request for the UpdateUserAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateUserAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateUserAttributes method directly -// instead. +// See UpdateUserAttributes for more information on using the UpdateUserAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateUserAttributesRequest method. // req, resp := client.UpdateUserAttributesRequest(params) @@ -7686,19 +8546,18 @@ const opUpdateUserPool = "UpdateUserPool" // UpdateUserPoolRequest generates a "aws/request.Request" representing the // client's request for the UpdateUserPool operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateUserPool for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateUserPool method directly -// instead. +// See UpdateUserPool for more information on using the UpdateUserPool +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateUserPoolRequest method. // req, resp := client.UpdateUserPoolRequest(params) @@ -7805,19 +8664,18 @@ const opUpdateUserPoolClient = "UpdateUserPoolClient" // UpdateUserPoolClientRequest generates a "aws/request.Request" representing the // client's request for the UpdateUserPoolClient operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateUserPoolClient for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateUserPoolClient method directly -// instead. +// See UpdateUserPoolClient for more information on using the UpdateUserPoolClient +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateUserPoolClientRequest method. // req, resp := client.UpdateUserPoolClientRequest(params) @@ -7907,19 +8765,18 @@ const opVerifyUserAttribute = "VerifyUserAttribute" // VerifyUserAttributeRequest generates a "aws/request.Request" representing the // client's request for the VerifyUserAttribute operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See VerifyUserAttribute for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the VerifyUserAttribute method directly -// instead. +// See VerifyUserAttribute for more information on using the VerifyUserAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the VerifyUserAttributeRequest method. // req, resp := client.VerifyUserAttributeRequest(params) @@ -8543,7 +9400,7 @@ func (s *AdminCreateUserInput) SetValidationData(v []*AttributeType) *AdminCreat type AdminCreateUserOutput struct { _ struct{} `type:"structure"` - // The user returned in the request to create a new user. + // The newly created user. User *UserType `type:"structure"` } @@ -8732,6 +9589,79 @@ func (s AdminDeleteUserOutput) GoString() string { return s.String() } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminDisableProviderForUserRequest +type AdminDisableProviderForUserInput struct { + _ struct{} `type:"structure"` + + // The user to be disabled. + // + // User is a required field + User *ProviderUserIdentifierType `type:"structure" required:"true"` + + // The user pool ID for the user pool. + // + // UserPoolId is a required field + UserPoolId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s AdminDisableProviderForUserInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AdminDisableProviderForUserInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AdminDisableProviderForUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AdminDisableProviderForUserInput"} + if s.User == nil { + invalidParams.Add(request.NewErrParamRequired("User")) + } + if s.UserPoolId == nil { + invalidParams.Add(request.NewErrParamRequired("UserPoolId")) + } + if s.User != nil { + if err := s.User.Validate(); err != nil { + invalidParams.AddNested("User", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetUser sets the User field's value. +func (s *AdminDisableProviderForUserInput) SetUser(v *ProviderUserIdentifierType) *AdminDisableProviderForUserInput { + s.User = v + return s +} + +// SetUserPoolId sets the UserPoolId field's value. +func (s *AdminDisableProviderForUserInput) SetUserPoolId(v string) *AdminDisableProviderForUserInput { + s.UserPoolId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminDisableProviderForUserResponse +type AdminDisableProviderForUserOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AdminDisableProviderForUserOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AdminDisableProviderForUserOutput) GoString() string { + return s.String() +} + // Represents the request to disable any user as an administrator. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminDisableUserRequest type AdminDisableUserInput struct { @@ -9459,6 +10389,121 @@ func (s *AdminInitiateAuthOutput) SetSession(v string) *AdminInitiateAuthOutput return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminLinkProviderForUserRequest +type AdminLinkProviderForUserInput struct { + _ struct{} `type:"structure"` + + // The existing user in the user pool to be linked to the external identity + // provider user account. Can be a native (Username + Password) Cognito User + // Pools user or a federated user (for example, a SAML or Facebook user). If + // the user doesn't exist, an exception is thrown. This is the user that is + // returned when the new user (with the linked identity provider attribute) + // signs in. + // + // The ProviderAttributeValue for the DestinationUser must match the username + // for the user in the user pool. The ProviderAttributeName will always be ignored. + // + // DestinationUser is a required field + DestinationUser *ProviderUserIdentifierType `type:"structure" required:"true"` + + // An external identity provider account for a user who does not currently exist + // yet in the user pool. This user must be a federated user (for example, a + // SAML or Facebook user), not another native user. + // + // If the SourceUser is a federated social identity provider user (Facebook, + // Google, or Login with Amazon), you must set the ProviderAttributeName to + // Cognito_Subject. For social identity providers, the ProviderName will be + // Facebook, Google, or LoginWithAmazon, and Cognito will automatically parse + // the Facebook, Google, and Login with Amazon tokens for id, sub, and user_id, + // respectively. The ProviderAttributeValue for the user must be the same value + // as the id, sub, or user_id value found in the social identity provider token. + // + // For SAML, the ProviderAttributeNamecan be any value that matches a claim in the SAML assertion. If you wish + // to link SAML users based on the subject of the SAML assertion, you should + // map the subject to a claim through the SAML identity provider and submit + // that claim name as the ProviderAttributeName. If you set ProviderAttributeNameto Cognito_Subject + // + // SourceUser is a required field + SourceUser *ProviderUserIdentifierType `type:"structure" required:"true"` + + // The user pool ID for the user pool. + // + // UserPoolId is a required field + UserPoolId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s AdminLinkProviderForUserInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AdminLinkProviderForUserInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AdminLinkProviderForUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AdminLinkProviderForUserInput"} + if s.DestinationUser == nil { + invalidParams.Add(request.NewErrParamRequired("DestinationUser")) + } + if s.SourceUser == nil { + invalidParams.Add(request.NewErrParamRequired("SourceUser")) + } + if s.UserPoolId == nil { + invalidParams.Add(request.NewErrParamRequired("UserPoolId")) + } + if s.DestinationUser != nil { + if err := s.DestinationUser.Validate(); err != nil { + invalidParams.AddNested("DestinationUser", err.(request.ErrInvalidParams)) + } + } + if s.SourceUser != nil { + if err := s.SourceUser.Validate(); err != nil { + invalidParams.AddNested("SourceUser", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestinationUser sets the DestinationUser field's value. +func (s *AdminLinkProviderForUserInput) SetDestinationUser(v *ProviderUserIdentifierType) *AdminLinkProviderForUserInput { + s.DestinationUser = v + return s +} + +// SetSourceUser sets the SourceUser field's value. +func (s *AdminLinkProviderForUserInput) SetSourceUser(v *ProviderUserIdentifierType) *AdminLinkProviderForUserInput { + s.SourceUser = v + return s +} + +// SetUserPoolId sets the UserPoolId field's value. +func (s *AdminLinkProviderForUserInput) SetUserPoolId(v string) *AdminLinkProviderForUserInput { + s.UserPoolId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminLinkProviderForUserResponse +type AdminLinkProviderForUserOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AdminLinkProviderForUserOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AdminLinkProviderForUserOutput) GoString() string { + return s.String() +} + // Represents the request to list devices, as an administrator. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminListDevicesRequest type AdminListDevicesInput struct { @@ -10779,7 +11824,7 @@ func (s *ConfirmDeviceOutput) SetUserConfirmationNecessary(v bool) *ConfirmDevic type ConfirmForgotPasswordInput struct { _ struct{} `type:"structure"` - // The ID of the client associated with the user pool. + // The app client ID of the app associated with the user pool. // // ClientId is a required field ClientId *string `min:"1" type:"string" required:"true"` @@ -10905,7 +11950,7 @@ func (s ConfirmForgotPasswordOutput) GoString() string { type ConfirmSignUpInput struct { _ struct{} `type:"structure"` - // The ID of the client associated with the user pool. + // The ID of the app client associated with the user pool. // // ClientId is a required field ClientId *string `min:"1" type:"string" required:"true"` @@ -11279,6 +12324,128 @@ func (s *CreateIdentityProviderOutput) SetIdentityProvider(v *IdentityProviderTy return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateResourceServerRequest +type CreateResourceServerInput struct { + _ struct{} `type:"structure"` + + // A unique resource server identifier for the resource server. This could be + // an HTTPS endpoint where the resource server is located. For example, https://my-weather-api.example.com. + // + // Identifier is a required field + Identifier *string `min:"1" type:"string" required:"true"` + + // A friendly name for the resource server. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A list of scopes. Each scope is map, where the keys are name and description. + Scopes []*ResourceServerScopeType `type:"list"` + + // The user pool ID for the user pool. + // + // UserPoolId is a required field + UserPoolId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateResourceServerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateResourceServerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateResourceServerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateResourceServerInput"} + if s.Identifier == nil { + invalidParams.Add(request.NewErrParamRequired("Identifier")) + } + if s.Identifier != nil && len(*s.Identifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Identifier", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.UserPoolId == nil { + invalidParams.Add(request.NewErrParamRequired("UserPoolId")) + } + if s.UserPoolId != nil && len(*s.UserPoolId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1)) + } + if s.Scopes != nil { + for i, v := range s.Scopes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Scopes", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIdentifier sets the Identifier field's value. +func (s *CreateResourceServerInput) SetIdentifier(v string) *CreateResourceServerInput { + s.Identifier = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateResourceServerInput) SetName(v string) *CreateResourceServerInput { + s.Name = &v + return s +} + +// SetScopes sets the Scopes field's value. +func (s *CreateResourceServerInput) SetScopes(v []*ResourceServerScopeType) *CreateResourceServerInput { + s.Scopes = v + return s +} + +// SetUserPoolId sets the UserPoolId field's value. +func (s *CreateResourceServerInput) SetUserPoolId(v string) *CreateResourceServerInput { + s.UserPoolId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateResourceServerResponse +type CreateResourceServerOutput struct { + _ struct{} `type:"structure"` + + // The newly created resource server. + // + // ResourceServer is a required field + ResourceServer *ResourceServerType `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateResourceServerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateResourceServerOutput) GoString() string { + return s.String() +} + +// SetResourceServer sets the ResourceServer field's value. +func (s *CreateResourceServerOutput) SetResourceServer(v *ResourceServerType) *CreateResourceServerOutput { + s.ResourceServer = v + return s +} + // Represents the request to create the user import job. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateUserImportJobRequest type CreateUserImportJobInput struct { @@ -11723,6 +12890,10 @@ type CreateUserPoolInput struct { // Specifies whether email addresses or phone numbers can be specified as usernames // when a user signs up. UsernameAttributes []*string `type:"list"` + + // The template for the verification message that the user sees when the app + // requests permission to access the user's information. + VerificationMessageTemplate *VerificationMessageTemplateType `type:"structure"` } // String returns the string representation @@ -11794,6 +12965,11 @@ func (s *CreateUserPoolInput) Validate() error { invalidParams.AddNested("SmsConfiguration", err.(request.ErrInvalidParams)) } } + if s.VerificationMessageTemplate != nil { + if err := s.VerificationMessageTemplate.Validate(); err != nil { + invalidParams.AddNested("VerificationMessageTemplate", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -11903,6 +13079,12 @@ func (s *CreateUserPoolInput) SetUsernameAttributes(v []*string) *CreateUserPool return s } +// SetVerificationMessageTemplate sets the VerificationMessageTemplate field's value. +func (s *CreateUserPoolInput) SetVerificationMessageTemplate(v *VerificationMessageTemplateType) *CreateUserPoolInput { + s.VerificationMessageTemplate = v + return s +} + // Represents the response from the server for the request to create a user // pool. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateUserPoolResponse @@ -12077,6 +13259,80 @@ func (s DeleteIdentityProviderOutput) GoString() string { return s.String() } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DeleteResourceServerRequest +type DeleteResourceServerInput struct { + _ struct{} `type:"structure"` + + // The identifier for the resource server. + // + // Identifier is a required field + Identifier *string `min:"1" type:"string" required:"true"` + + // The user pool ID for the user pool that hosts the resource server. + // + // UserPoolId is a required field + UserPoolId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteResourceServerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResourceServerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteResourceServerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteResourceServerInput"} + if s.Identifier == nil { + invalidParams.Add(request.NewErrParamRequired("Identifier")) + } + if s.Identifier != nil && len(*s.Identifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Identifier", 1)) + } + if s.UserPoolId == nil { + invalidParams.Add(request.NewErrParamRequired("UserPoolId")) + } + if s.UserPoolId != nil && len(*s.UserPoolId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIdentifier sets the Identifier field's value. +func (s *DeleteResourceServerInput) SetIdentifier(v string) *DeleteResourceServerInput { + s.Identifier = &v + return s +} + +// SetUserPoolId sets the UserPoolId field's value. +func (s *DeleteResourceServerInput) SetUserPoolId(v string) *DeleteResourceServerInput { + s.UserPoolId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DeleteResourceServerOutput +type DeleteResourceServerOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteResourceServerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResourceServerOutput) GoString() string { + return s.String() +} + // Represents the request to delete user attributes. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DeleteUserAttributesRequest type DeleteUserAttributesInput struct { @@ -12210,7 +13466,7 @@ func (s DeleteUserOutput) GoString() string { type DeleteUserPoolClientInput struct { _ struct{} `type:"structure"` - // The ID of the client associated with the user pool. + // The app client ID of the app associated with the user pool. // // ClientId is a required field ClientId *string `min:"1" type:"string" required:"true"` @@ -12497,6 +13753,91 @@ func (s *DescribeIdentityProviderOutput) SetIdentityProvider(v *IdentityProvider return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeResourceServerRequest +type DescribeResourceServerInput struct { + _ struct{} `type:"structure"` + + // The identifier for the resource server + // + // Identifier is a required field + Identifier *string `min:"1" type:"string" required:"true"` + + // The user pool ID for the user pool that hosts the resource server. + // + // UserPoolId is a required field + UserPoolId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeResourceServerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeResourceServerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeResourceServerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeResourceServerInput"} + if s.Identifier == nil { + invalidParams.Add(request.NewErrParamRequired("Identifier")) + } + if s.Identifier != nil && len(*s.Identifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Identifier", 1)) + } + if s.UserPoolId == nil { + invalidParams.Add(request.NewErrParamRequired("UserPoolId")) + } + if s.UserPoolId != nil && len(*s.UserPoolId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIdentifier sets the Identifier field's value. +func (s *DescribeResourceServerInput) SetIdentifier(v string) *DescribeResourceServerInput { + s.Identifier = &v + return s +} + +// SetUserPoolId sets the UserPoolId field's value. +func (s *DescribeResourceServerInput) SetUserPoolId(v string) *DescribeResourceServerInput { + s.UserPoolId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeResourceServerResponse +type DescribeResourceServerOutput struct { + _ struct{} `type:"structure"` + + // The resource server. + // + // ResourceServer is a required field + ResourceServer *ResourceServerType `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DescribeResourceServerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeResourceServerOutput) GoString() string { + return s.String() +} + +// SetResourceServer sets the ResourceServer field's value. +func (s *DescribeResourceServerOutput) SetResourceServer(v *ResourceServerType) *DescribeResourceServerOutput { + s.ResourceServer = v + return s +} + // Represents the request to describe the user import job. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeUserImportJobRequest type DescribeUserImportJobInput struct { @@ -12588,7 +13929,7 @@ func (s *DescribeUserImportJobOutput) SetUserImportJob(v *UserImportJobType) *De type DescribeUserPoolClientInput struct { _ struct{} `type:"structure"` - // The ID of the client associated with the user pool. + // The app client ID of the app associated with the user pool. // // ClientId is a required field ClientId *string `min:"1" type:"string" required:"true"` @@ -13553,6 +14894,86 @@ func (s *GetIdentityProviderByIdentifierOutput) SetIdentityProvider(v *IdentityP return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetUICustomizationRequest +type GetUICustomizationInput struct { + _ struct{} `type:"structure"` + + // The client ID for the client app. + ClientId *string `min:"1" type:"string"` + + // The user pool ID for the user pool. + // + // UserPoolId is a required field + UserPoolId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetUICustomizationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetUICustomizationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetUICustomizationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetUICustomizationInput"} + if s.ClientId != nil && len(*s.ClientId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientId", 1)) + } + if s.UserPoolId == nil { + invalidParams.Add(request.NewErrParamRequired("UserPoolId")) + } + if s.UserPoolId != nil && len(*s.UserPoolId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientId sets the ClientId field's value. +func (s *GetUICustomizationInput) SetClientId(v string) *GetUICustomizationInput { + s.ClientId = &v + return s +} + +// SetUserPoolId sets the UserPoolId field's value. +func (s *GetUICustomizationInput) SetUserPoolId(v string) *GetUICustomizationInput { + s.UserPoolId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetUICustomizationResponse +type GetUICustomizationOutput struct { + _ struct{} `type:"structure"` + + // The UI customization information. + // + // UICustomization is a required field + UICustomization *UICustomizationType `type:"structure" required:"true"` +} + +// String returns the string representation +func (s GetUICustomizationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetUICustomizationOutput) GoString() string { + return s.String() +} + +// SetUICustomization sets the UICustomization field's value. +func (s *GetUICustomizationOutput) SetUICustomization(v *UICustomizationType) *GetUICustomizationOutput { + s.UICustomization = v + return s +} + // Represents the request to get user attribute verification. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetUserAttributeVerificationCodeRequest type GetUserAttributeVerificationCodeInput struct { @@ -14581,6 +16002,107 @@ func (s *ListIdentityProvidersOutput) SetProviders(v []*ProviderDescription) *Li return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListResourceServersRequest +type ListResourceServersInput struct { + _ struct{} `type:"structure"` + + // The maximum number of resource servers to return. + MaxResults *int64 `min:"1" type:"integer"` + + // A pagination token. + NextToken *string `min:"1" type:"string"` + + // The user pool ID for the user pool. + // + // UserPoolId is a required field + UserPoolId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListResourceServersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListResourceServersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListResourceServersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResourceServersInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.UserPoolId == nil { + invalidParams.Add(request.NewErrParamRequired("UserPoolId")) + } + if s.UserPoolId != nil && len(*s.UserPoolId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListResourceServersInput) SetMaxResults(v int64) *ListResourceServersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListResourceServersInput) SetNextToken(v string) *ListResourceServersInput { + s.NextToken = &v + return s +} + +// SetUserPoolId sets the UserPoolId field's value. +func (s *ListResourceServersInput) SetUserPoolId(v string) *ListResourceServersInput { + s.UserPoolId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListResourceServersResponse +type ListResourceServersOutput struct { + _ struct{} `type:"structure"` + + // A pagination token. + NextToken *string `min:"1" type:"string"` + + // The resource servers. + // + // ResourceServers is a required field + ResourceServers []*ResourceServerType `type:"list" required:"true"` +} + +// String returns the string representation +func (s ListResourceServersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListResourceServersOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListResourceServersOutput) SetNextToken(v string) *ListResourceServersOutput { + s.NextToken = &v + return s +} + +// SetResourceServers sets the ResourceServers field's value. +func (s *ListResourceServersOutput) SetResourceServers(v []*ResourceServerType) *ListResourceServersOutput { + s.ResourceServers = v + return s +} + // Represents the request to list the user import jobs. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListUserImportJobsRequest type ListUserImportJobsInput struct { @@ -15469,6 +16991,62 @@ func (s *ProviderDescription) SetProviderType(v string) *ProviderDescription { return s } +// A container for information about an identity provider for a user pool. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ProviderUserIdentifierType +type ProviderUserIdentifierType struct { + _ struct{} `type:"structure"` + + // The name of the provider attribute to link to, for example, NameID. + ProviderAttributeName *string `type:"string"` + + // The value of the provider attribute to link to, for example, xxxxx_account. + ProviderAttributeValue *string `type:"string"` + + // The name of the provider, for example, Facebook, Google, or Login with Amazon. + ProviderName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ProviderUserIdentifierType) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProviderUserIdentifierType) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProviderUserIdentifierType) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProviderUserIdentifierType"} + if s.ProviderName != nil && len(*s.ProviderName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProviderName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProviderAttributeName sets the ProviderAttributeName field's value. +func (s *ProviderUserIdentifierType) SetProviderAttributeName(v string) *ProviderUserIdentifierType { + s.ProviderAttributeName = &v + return s +} + +// SetProviderAttributeValue sets the ProviderAttributeValue field's value. +func (s *ProviderUserIdentifierType) SetProviderAttributeValue(v string) *ProviderUserIdentifierType { + s.ProviderAttributeValue = &v + return s +} + +// SetProviderName sets the ProviderName field's value. +func (s *ProviderUserIdentifierType) SetProviderName(v string) *ProviderUserIdentifierType { + s.ProviderName = &v + return s +} + // Represents the request to resend the confirmation code. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ResendConfirmationCodeRequest type ResendConfirmationCodeInput struct { @@ -15569,6 +17147,118 @@ func (s *ResendConfirmationCodeOutput) SetCodeDeliveryDetails(v *CodeDeliveryDet return s } +// A resource server scope. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ResourceServerScopeType +type ResourceServerScopeType struct { + _ struct{} `type:"structure"` + + // A description of the scope. + // + // ScopeDescription is a required field + ScopeDescription *string `min:"1" type:"string" required:"true"` + + // The name of the scope. + // + // ScopeName is a required field + ScopeName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ResourceServerScopeType) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceServerScopeType) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResourceServerScopeType) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResourceServerScopeType"} + if s.ScopeDescription == nil { + invalidParams.Add(request.NewErrParamRequired("ScopeDescription")) + } + if s.ScopeDescription != nil && len(*s.ScopeDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ScopeDescription", 1)) + } + if s.ScopeName == nil { + invalidParams.Add(request.NewErrParamRequired("ScopeName")) + } + if s.ScopeName != nil && len(*s.ScopeName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ScopeName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetScopeDescription sets the ScopeDescription field's value. +func (s *ResourceServerScopeType) SetScopeDescription(v string) *ResourceServerScopeType { + s.ScopeDescription = &v + return s +} + +// SetScopeName sets the ScopeName field's value. +func (s *ResourceServerScopeType) SetScopeName(v string) *ResourceServerScopeType { + s.ScopeName = &v + return s +} + +// A container for information about a resource server for a user pool. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ResourceServerType +type ResourceServerType struct { + _ struct{} `type:"structure"` + + // The identifier for the resource server. + Identifier *string `min:"1" type:"string"` + + // The name of the resource server. + Name *string `min:"1" type:"string"` + + // A list of scopes that are defined for the resource server. + Scopes []*ResourceServerScopeType `type:"list"` + + // The user pool ID for the user pool that hosts the resource server. + UserPoolId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ResourceServerType) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceServerType) GoString() string { + return s.String() +} + +// SetIdentifier sets the Identifier field's value. +func (s *ResourceServerType) SetIdentifier(v string) *ResourceServerType { + s.Identifier = &v + return s +} + +// SetName sets the Name field's value. +func (s *ResourceServerType) SetName(v string) *ResourceServerType { + s.Name = &v + return s +} + +// SetScopes sets the Scopes field's value. +func (s *ResourceServerType) SetScopes(v []*ResourceServerScopeType) *ResourceServerType { + s.Scopes = v + return s +} + +// SetUserPoolId sets the UserPoolId field's value. +func (s *ResourceServerType) SetUserPoolId(v string) *ResourceServerType { + s.UserPoolId = &v + return s +} + // The request to respond to an authentication challenge. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/RespondToAuthChallengeRequest type RespondToAuthChallengeInput struct { @@ -15816,6 +17506,106 @@ func (s *SchemaAttributeType) SetStringAttributeConstraints(v *StringAttributeCo return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SetUICustomizationRequest +type SetUICustomizationInput struct { + _ struct{} `type:"structure"` + + // The CSS values in the UI customization. + CSS *string `type:"string"` + + // The client ID for the client app. + ClientId *string `min:"1" type:"string"` + + // The uploaded logo image for the UI customization. + // + // ImageFile is automatically base64 encoded/decoded by the SDK. + ImageFile []byte `type:"blob"` + + // The user pool ID for the user pool. + // + // UserPoolId is a required field + UserPoolId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s SetUICustomizationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetUICustomizationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SetUICustomizationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SetUICustomizationInput"} + if s.ClientId != nil && len(*s.ClientId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientId", 1)) + } + if s.UserPoolId == nil { + invalidParams.Add(request.NewErrParamRequired("UserPoolId")) + } + if s.UserPoolId != nil && len(*s.UserPoolId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCSS sets the CSS field's value. +func (s *SetUICustomizationInput) SetCSS(v string) *SetUICustomizationInput { + s.CSS = &v + return s +} + +// SetClientId sets the ClientId field's value. +func (s *SetUICustomizationInput) SetClientId(v string) *SetUICustomizationInput { + s.ClientId = &v + return s +} + +// SetImageFile sets the ImageFile field's value. +func (s *SetUICustomizationInput) SetImageFile(v []byte) *SetUICustomizationInput { + s.ImageFile = v + return s +} + +// SetUserPoolId sets the UserPoolId field's value. +func (s *SetUICustomizationInput) SetUserPoolId(v string) *SetUICustomizationInput { + s.UserPoolId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SetUICustomizationResponse +type SetUICustomizationOutput struct { + _ struct{} `type:"structure"` + + // The UI customization information. + // + // UICustomization is a required field + UICustomization *UICustomizationType `type:"structure" required:"true"` +} + +// String returns the string representation +func (s SetUICustomizationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetUICustomizationOutput) GoString() string { + return s.String() +} + +// SetUICustomization sets the UICustomization field's value. +func (s *SetUICustomizationOutput) SetUICustomization(v *UICustomizationType) *SetUICustomizationOutput { + s.UICustomization = v + return s +} + // Represents the request to set user settings. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SetUserSettingsRequest type SetUserSettingsInput struct { @@ -16334,6 +18124,86 @@ func (s *StringAttributeConstraintsType) SetMinLength(v string) *StringAttribute return s } +// A container for the UI customization information for a user pool's built-in +// app UI. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UICustomizationType +type UICustomizationType struct { + _ struct{} `type:"structure"` + + // The CSS values in the UI customization. + CSS *string `type:"string"` + + // The CSS version number. + CSSVersion *string `type:"string"` + + // The client ID for the client app. + ClientId *string `min:"1" type:"string"` + + // The creation date for the UI customization. + CreationDate *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The logo image for the UI customization. + ImageUrl *string `type:"string"` + + // The last-modified date for the UI customization. + LastModifiedDate *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The user pool ID for the user pool. + UserPoolId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s UICustomizationType) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UICustomizationType) GoString() string { + return s.String() +} + +// SetCSS sets the CSS field's value. +func (s *UICustomizationType) SetCSS(v string) *UICustomizationType { + s.CSS = &v + return s +} + +// SetCSSVersion sets the CSSVersion field's value. +func (s *UICustomizationType) SetCSSVersion(v string) *UICustomizationType { + s.CSSVersion = &v + return s +} + +// SetClientId sets the ClientId field's value. +func (s *UICustomizationType) SetClientId(v string) *UICustomizationType { + s.ClientId = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *UICustomizationType) SetCreationDate(v time.Time) *UICustomizationType { + s.CreationDate = &v + return s +} + +// SetImageUrl sets the ImageUrl field's value. +func (s *UICustomizationType) SetImageUrl(v string) *UICustomizationType { + s.ImageUrl = &v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *UICustomizationType) SetLastModifiedDate(v time.Time) *UICustomizationType { + s.LastModifiedDate = &v + return s +} + +// SetUserPoolId sets the UserPoolId field's value. +func (s *UICustomizationType) SetUserPoolId(v string) *UICustomizationType { + s.UserPoolId = &v + return s +} + // Represents the request to update the device status. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateDeviceStatusRequest type UpdateDeviceStatusInput struct { @@ -16643,6 +18513,127 @@ func (s *UpdateIdentityProviderOutput) SetIdentityProvider(v *IdentityProviderTy return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateResourceServerRequest +type UpdateResourceServerInput struct { + _ struct{} `type:"structure"` + + // The identifier for the resource server. + // + // Identifier is a required field + Identifier *string `min:"1" type:"string" required:"true"` + + // The name of the resource server. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The scope values to be set for the resource server. + Scopes []*ResourceServerScopeType `type:"list"` + + // The user pool ID for the user pool. + // + // UserPoolId is a required field + UserPoolId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateResourceServerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateResourceServerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateResourceServerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateResourceServerInput"} + if s.Identifier == nil { + invalidParams.Add(request.NewErrParamRequired("Identifier")) + } + if s.Identifier != nil && len(*s.Identifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Identifier", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.UserPoolId == nil { + invalidParams.Add(request.NewErrParamRequired("UserPoolId")) + } + if s.UserPoolId != nil && len(*s.UserPoolId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1)) + } + if s.Scopes != nil { + for i, v := range s.Scopes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Scopes", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIdentifier sets the Identifier field's value. +func (s *UpdateResourceServerInput) SetIdentifier(v string) *UpdateResourceServerInput { + s.Identifier = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateResourceServerInput) SetName(v string) *UpdateResourceServerInput { + s.Name = &v + return s +} + +// SetScopes sets the Scopes field's value. +func (s *UpdateResourceServerInput) SetScopes(v []*ResourceServerScopeType) *UpdateResourceServerInput { + s.Scopes = v + return s +} + +// SetUserPoolId sets the UserPoolId field's value. +func (s *UpdateResourceServerInput) SetUserPoolId(v string) *UpdateResourceServerInput { + s.UserPoolId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateResourceServerResponse +type UpdateResourceServerOutput struct { + _ struct{} `type:"structure"` + + // The resource server. + // + // ResourceServer is a required field + ResourceServer *ResourceServerType `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateResourceServerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateResourceServerOutput) GoString() string { + return s.String() +} + +// SetResourceServer sets the ResourceServer field's value. +func (s *UpdateResourceServerOutput) SetResourceServer(v *ResourceServerType) *UpdateResourceServerOutput { + s.ResourceServer = v + return s +} + // Represents the request to update user attributes. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateUserAttributesRequest type UpdateUserAttributesInput struct { @@ -16774,7 +18765,7 @@ type UpdateUserPoolClientInput struct { // Explicit authentication flows. ExplicitAuthFlows []*string `type:"list"` - // A list ofallowed logout URLs for the identity providers. + // A list of allowed logout URLs for the identity providers. LogoutURLs []*string `type:"list"` // The read-only attributes of the user pool. @@ -17006,6 +18997,9 @@ type UpdateUserPoolInput struct { // The cost allocation tags for the user pool. For more information, see Adding // Cost Allocation Tags to Your User Pool (http://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-cost-allocation-tagging.html) UserPoolTags map[string]*string `type:"map"` + + // The template for verification messages. + VerificationMessageTemplate *VerificationMessageTemplateType `type:"structure"` } // String returns the string representation @@ -17064,6 +19058,11 @@ func (s *UpdateUserPoolInput) Validate() error { invalidParams.AddNested("SmsConfiguration", err.(request.ErrInvalidParams)) } } + if s.VerificationMessageTemplate != nil { + if err := s.VerificationMessageTemplate.Validate(); err != nil { + invalidParams.AddNested("VerificationMessageTemplate", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -17155,6 +19154,12 @@ func (s *UpdateUserPoolInput) SetUserPoolTags(v map[string]*string) *UpdateUserP return s } +// SetVerificationMessageTemplate sets the VerificationMessageTemplate field's value. +func (s *UpdateUserPoolInput) SetVerificationMessageTemplate(v *VerificationMessageTemplateType) *UpdateUserPoolInput { + s.VerificationMessageTemplate = v + return s +} + // Represents the response from the server when you make a request to update // the user pool. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateUserPoolResponse @@ -17372,7 +19377,7 @@ func (s *UserPoolClientDescription) SetUserPoolId(v string) *UserPoolClientDescr return s } -// A user pool of the client type. +// Contains information about a user pool client. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UserPoolClientType type UserPoolClientType struct { _ struct{} `type:"structure"` @@ -17417,7 +19422,7 @@ type UserPoolClientType struct { // The date the user pool client was last modified. LastModifiedDate *time.Time `type:"timestamp" timestampFormat:"unix"` - // A list ofallowed logout URLs for the identity providers. + // A list of allowed logout URLs for the identity providers. LogoutURLs []*string `type:"list"` // The Read-only attributes. @@ -17746,6 +19751,9 @@ type UserPoolType struct { // Specifies whether email addresses or phone numbers can be specified as usernames // when a user signs up. UsernameAttributes []*string `type:"list"` + + // The template for verification messages. + VerificationMessageTemplate *VerificationMessageTemplateType `type:"structure"` } // String returns the string representation @@ -17902,6 +19910,12 @@ func (s *UserPoolType) SetUsernameAttributes(v []*string) *UserPoolType { return s } +// SetVerificationMessageTemplate sets the VerificationMessageTemplate field's value. +func (s *UserPoolType) SetVerificationMessageTemplate(v *VerificationMessageTemplateType) *UserPoolType { + s.VerificationMessageTemplate = v + return s +} + // The user type. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UserType type UserType struct { @@ -17991,6 +20005,102 @@ func (s *UserType) SetUsername(v string) *UserType { return s } +// The template for verification messages. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/VerificationMessageTemplateType +type VerificationMessageTemplateType struct { + _ struct{} `type:"structure"` + + // The default email option. + DefaultEmailOption *string `type:"string" enum:"DefaultEmailOptionType"` + + // The email message template. + EmailMessage *string `min:"6" type:"string"` + + // The email message template for sending a confirmation link to the user. + EmailMessageByLink *string `min:"6" type:"string"` + + // The subject line for the email message template. + EmailSubject *string `min:"1" type:"string"` + + // The subject line for the email message template for sending a confirmation + // link to the user. + EmailSubjectByLink *string `min:"1" type:"string"` + + // The SMS message template. + SmsMessage *string `min:"6" type:"string"` +} + +// String returns the string representation +func (s VerificationMessageTemplateType) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VerificationMessageTemplateType) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VerificationMessageTemplateType) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VerificationMessageTemplateType"} + if s.EmailMessage != nil && len(*s.EmailMessage) < 6 { + invalidParams.Add(request.NewErrParamMinLen("EmailMessage", 6)) + } + if s.EmailMessageByLink != nil && len(*s.EmailMessageByLink) < 6 { + invalidParams.Add(request.NewErrParamMinLen("EmailMessageByLink", 6)) + } + if s.EmailSubject != nil && len(*s.EmailSubject) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EmailSubject", 1)) + } + if s.EmailSubjectByLink != nil && len(*s.EmailSubjectByLink) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EmailSubjectByLink", 1)) + } + if s.SmsMessage != nil && len(*s.SmsMessage) < 6 { + invalidParams.Add(request.NewErrParamMinLen("SmsMessage", 6)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDefaultEmailOption sets the DefaultEmailOption field's value. +func (s *VerificationMessageTemplateType) SetDefaultEmailOption(v string) *VerificationMessageTemplateType { + s.DefaultEmailOption = &v + return s +} + +// SetEmailMessage sets the EmailMessage field's value. +func (s *VerificationMessageTemplateType) SetEmailMessage(v string) *VerificationMessageTemplateType { + s.EmailMessage = &v + return s +} + +// SetEmailMessageByLink sets the EmailMessageByLink field's value. +func (s *VerificationMessageTemplateType) SetEmailMessageByLink(v string) *VerificationMessageTemplateType { + s.EmailMessageByLink = &v + return s +} + +// SetEmailSubject sets the EmailSubject field's value. +func (s *VerificationMessageTemplateType) SetEmailSubject(v string) *VerificationMessageTemplateType { + s.EmailSubject = &v + return s +} + +// SetEmailSubjectByLink sets the EmailSubjectByLink field's value. +func (s *VerificationMessageTemplateType) SetEmailSubjectByLink(v string) *VerificationMessageTemplateType { + s.EmailSubjectByLink = &v + return s +} + +// SetSmsMessage sets the SmsMessage field's value. +func (s *VerificationMessageTemplateType) SetSmsMessage(v string) *VerificationMessageTemplateType { + s.SmsMessage = &v + return s +} + // Represents the request to verify user attributes. // Please also see https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/VerifyUserAttributeRequest type VerifyUserAttributeInput struct { @@ -18147,6 +20257,14 @@ const ( ChallengeNameTypeNewPasswordRequired = "NEW_PASSWORD_REQUIRED" ) +const ( + // DefaultEmailOptionTypeConfirmWithLink is a DefaultEmailOptionType enum value + DefaultEmailOptionTypeConfirmWithLink = "CONFIRM_WITH_LINK" + + // DefaultEmailOptionTypeConfirmWithCode is a DefaultEmailOptionType enum value + DefaultEmailOptionTypeConfirmWithCode = "CONFIRM_WITH_CODE" +) + const ( // DeliveryMediumTypeSms is a DeliveryMediumType enum value DeliveryMediumTypeSms = "SMS" @@ -18175,6 +20293,9 @@ const ( // DomainStatusTypeActive is a DomainStatusType enum value DomainStatusTypeActive = "ACTIVE" + + // DomainStatusTypeFailed is a DomainStatusType enum value + DomainStatusTypeFailed = "FAILED" ) const ( @@ -18188,6 +20309,15 @@ const ( const ( // IdentityProviderTypeTypeSaml is a IdentityProviderTypeType enum value IdentityProviderTypeTypeSaml = "SAML" + + // IdentityProviderTypeTypeFacebook is a IdentityProviderTypeType enum value + IdentityProviderTypeTypeFacebook = "Facebook" + + // IdentityProviderTypeTypeGoogle is a IdentityProviderTypeType enum value + IdentityProviderTypeTypeGoogle = "Google" + + // IdentityProviderTypeTypeLoginWithAmazon is a IdentityProviderTypeType enum value + IdentityProviderTypeTypeLoginWithAmazon = "LoginWithAmazon" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/cognitoidentityprovideriface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/cognitoidentityprovideriface/interface.go index 6d72d4580..643006478 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/cognitoidentityprovideriface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/cognitoidentityprovideriface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Cognito Identity Provider. @@ -84,6 +84,10 @@ type CognitoIdentityProviderAPI interface { AdminDeleteUserAttributesWithContext(aws.Context, *cognitoidentityprovider.AdminDeleteUserAttributesInput, ...request.Option) (*cognitoidentityprovider.AdminDeleteUserAttributesOutput, error) AdminDeleteUserAttributesRequest(*cognitoidentityprovider.AdminDeleteUserAttributesInput) (*request.Request, *cognitoidentityprovider.AdminDeleteUserAttributesOutput) + AdminDisableProviderForUser(*cognitoidentityprovider.AdminDisableProviderForUserInput) (*cognitoidentityprovider.AdminDisableProviderForUserOutput, error) + AdminDisableProviderForUserWithContext(aws.Context, *cognitoidentityprovider.AdminDisableProviderForUserInput, ...request.Option) (*cognitoidentityprovider.AdminDisableProviderForUserOutput, error) + AdminDisableProviderForUserRequest(*cognitoidentityprovider.AdminDisableProviderForUserInput) (*request.Request, *cognitoidentityprovider.AdminDisableProviderForUserOutput) + AdminDisableUser(*cognitoidentityprovider.AdminDisableUserInput) (*cognitoidentityprovider.AdminDisableUserOutput, error) AdminDisableUserWithContext(aws.Context, *cognitoidentityprovider.AdminDisableUserInput, ...request.Option) (*cognitoidentityprovider.AdminDisableUserOutput, error) AdminDisableUserRequest(*cognitoidentityprovider.AdminDisableUserInput) (*request.Request, *cognitoidentityprovider.AdminDisableUserOutput) @@ -108,6 +112,10 @@ type CognitoIdentityProviderAPI interface { AdminInitiateAuthWithContext(aws.Context, *cognitoidentityprovider.AdminInitiateAuthInput, ...request.Option) (*cognitoidentityprovider.AdminInitiateAuthOutput, error) AdminInitiateAuthRequest(*cognitoidentityprovider.AdminInitiateAuthInput) (*request.Request, *cognitoidentityprovider.AdminInitiateAuthOutput) + AdminLinkProviderForUser(*cognitoidentityprovider.AdminLinkProviderForUserInput) (*cognitoidentityprovider.AdminLinkProviderForUserOutput, error) + AdminLinkProviderForUserWithContext(aws.Context, *cognitoidentityprovider.AdminLinkProviderForUserInput, ...request.Option) (*cognitoidentityprovider.AdminLinkProviderForUserOutput, error) + AdminLinkProviderForUserRequest(*cognitoidentityprovider.AdminLinkProviderForUserInput) (*request.Request, *cognitoidentityprovider.AdminLinkProviderForUserOutput) + AdminListDevices(*cognitoidentityprovider.AdminListDevicesInput) (*cognitoidentityprovider.AdminListDevicesOutput, error) AdminListDevicesWithContext(aws.Context, *cognitoidentityprovider.AdminListDevicesInput, ...request.Option) (*cognitoidentityprovider.AdminListDevicesOutput, error) AdminListDevicesRequest(*cognitoidentityprovider.AdminListDevicesInput) (*request.Request, *cognitoidentityprovider.AdminListDevicesOutput) @@ -168,6 +176,10 @@ type CognitoIdentityProviderAPI interface { CreateIdentityProviderWithContext(aws.Context, *cognitoidentityprovider.CreateIdentityProviderInput, ...request.Option) (*cognitoidentityprovider.CreateIdentityProviderOutput, error) CreateIdentityProviderRequest(*cognitoidentityprovider.CreateIdentityProviderInput) (*request.Request, *cognitoidentityprovider.CreateIdentityProviderOutput) + CreateResourceServer(*cognitoidentityprovider.CreateResourceServerInput) (*cognitoidentityprovider.CreateResourceServerOutput, error) + CreateResourceServerWithContext(aws.Context, *cognitoidentityprovider.CreateResourceServerInput, ...request.Option) (*cognitoidentityprovider.CreateResourceServerOutput, error) + CreateResourceServerRequest(*cognitoidentityprovider.CreateResourceServerInput) (*request.Request, *cognitoidentityprovider.CreateResourceServerOutput) + CreateUserImportJob(*cognitoidentityprovider.CreateUserImportJobInput) (*cognitoidentityprovider.CreateUserImportJobOutput, error) CreateUserImportJobWithContext(aws.Context, *cognitoidentityprovider.CreateUserImportJobInput, ...request.Option) (*cognitoidentityprovider.CreateUserImportJobOutput, error) CreateUserImportJobRequest(*cognitoidentityprovider.CreateUserImportJobInput) (*request.Request, *cognitoidentityprovider.CreateUserImportJobOutput) @@ -192,6 +204,10 @@ type CognitoIdentityProviderAPI interface { DeleteIdentityProviderWithContext(aws.Context, *cognitoidentityprovider.DeleteIdentityProviderInput, ...request.Option) (*cognitoidentityprovider.DeleteIdentityProviderOutput, error) DeleteIdentityProviderRequest(*cognitoidentityprovider.DeleteIdentityProviderInput) (*request.Request, *cognitoidentityprovider.DeleteIdentityProviderOutput) + DeleteResourceServer(*cognitoidentityprovider.DeleteResourceServerInput) (*cognitoidentityprovider.DeleteResourceServerOutput, error) + DeleteResourceServerWithContext(aws.Context, *cognitoidentityprovider.DeleteResourceServerInput, ...request.Option) (*cognitoidentityprovider.DeleteResourceServerOutput, error) + DeleteResourceServerRequest(*cognitoidentityprovider.DeleteResourceServerInput) (*request.Request, *cognitoidentityprovider.DeleteResourceServerOutput) + DeleteUser(*cognitoidentityprovider.DeleteUserInput) (*cognitoidentityprovider.DeleteUserOutput, error) DeleteUserWithContext(aws.Context, *cognitoidentityprovider.DeleteUserInput, ...request.Option) (*cognitoidentityprovider.DeleteUserOutput, error) DeleteUserRequest(*cognitoidentityprovider.DeleteUserInput) (*request.Request, *cognitoidentityprovider.DeleteUserOutput) @@ -216,6 +232,10 @@ type CognitoIdentityProviderAPI interface { DescribeIdentityProviderWithContext(aws.Context, *cognitoidentityprovider.DescribeIdentityProviderInput, ...request.Option) (*cognitoidentityprovider.DescribeIdentityProviderOutput, error) DescribeIdentityProviderRequest(*cognitoidentityprovider.DescribeIdentityProviderInput) (*request.Request, *cognitoidentityprovider.DescribeIdentityProviderOutput) + DescribeResourceServer(*cognitoidentityprovider.DescribeResourceServerInput) (*cognitoidentityprovider.DescribeResourceServerOutput, error) + DescribeResourceServerWithContext(aws.Context, *cognitoidentityprovider.DescribeResourceServerInput, ...request.Option) (*cognitoidentityprovider.DescribeResourceServerOutput, error) + DescribeResourceServerRequest(*cognitoidentityprovider.DescribeResourceServerInput) (*request.Request, *cognitoidentityprovider.DescribeResourceServerOutput) + DescribeUserImportJob(*cognitoidentityprovider.DescribeUserImportJobInput) (*cognitoidentityprovider.DescribeUserImportJobOutput, error) DescribeUserImportJobWithContext(aws.Context, *cognitoidentityprovider.DescribeUserImportJobInput, ...request.Option) (*cognitoidentityprovider.DescribeUserImportJobOutput, error) DescribeUserImportJobRequest(*cognitoidentityprovider.DescribeUserImportJobInput) (*request.Request, *cognitoidentityprovider.DescribeUserImportJobOutput) @@ -256,6 +276,10 @@ type CognitoIdentityProviderAPI interface { GetIdentityProviderByIdentifierWithContext(aws.Context, *cognitoidentityprovider.GetIdentityProviderByIdentifierInput, ...request.Option) (*cognitoidentityprovider.GetIdentityProviderByIdentifierOutput, error) GetIdentityProviderByIdentifierRequest(*cognitoidentityprovider.GetIdentityProviderByIdentifierInput) (*request.Request, *cognitoidentityprovider.GetIdentityProviderByIdentifierOutput) + GetUICustomization(*cognitoidentityprovider.GetUICustomizationInput) (*cognitoidentityprovider.GetUICustomizationOutput, error) + GetUICustomizationWithContext(aws.Context, *cognitoidentityprovider.GetUICustomizationInput, ...request.Option) (*cognitoidentityprovider.GetUICustomizationOutput, error) + GetUICustomizationRequest(*cognitoidentityprovider.GetUICustomizationInput) (*request.Request, *cognitoidentityprovider.GetUICustomizationOutput) + GetUser(*cognitoidentityprovider.GetUserInput) (*cognitoidentityprovider.GetUserOutput, error) GetUserWithContext(aws.Context, *cognitoidentityprovider.GetUserInput, ...request.Option) (*cognitoidentityprovider.GetUserOutput, error) GetUserRequest(*cognitoidentityprovider.GetUserInput) (*request.Request, *cognitoidentityprovider.GetUserOutput) @@ -284,6 +308,10 @@ type CognitoIdentityProviderAPI interface { ListIdentityProvidersWithContext(aws.Context, *cognitoidentityprovider.ListIdentityProvidersInput, ...request.Option) (*cognitoidentityprovider.ListIdentityProvidersOutput, error) ListIdentityProvidersRequest(*cognitoidentityprovider.ListIdentityProvidersInput) (*request.Request, *cognitoidentityprovider.ListIdentityProvidersOutput) + ListResourceServers(*cognitoidentityprovider.ListResourceServersInput) (*cognitoidentityprovider.ListResourceServersOutput, error) + ListResourceServersWithContext(aws.Context, *cognitoidentityprovider.ListResourceServersInput, ...request.Option) (*cognitoidentityprovider.ListResourceServersOutput, error) + ListResourceServersRequest(*cognitoidentityprovider.ListResourceServersInput) (*request.Request, *cognitoidentityprovider.ListResourceServersOutput) + ListUserImportJobs(*cognitoidentityprovider.ListUserImportJobsInput) (*cognitoidentityprovider.ListUserImportJobsOutput, error) ListUserImportJobsWithContext(aws.Context, *cognitoidentityprovider.ListUserImportJobsInput, ...request.Option) (*cognitoidentityprovider.ListUserImportJobsOutput, error) ListUserImportJobsRequest(*cognitoidentityprovider.ListUserImportJobsInput) (*request.Request, *cognitoidentityprovider.ListUserImportJobsOutput) @@ -312,6 +340,10 @@ type CognitoIdentityProviderAPI interface { RespondToAuthChallengeWithContext(aws.Context, *cognitoidentityprovider.RespondToAuthChallengeInput, ...request.Option) (*cognitoidentityprovider.RespondToAuthChallengeOutput, error) RespondToAuthChallengeRequest(*cognitoidentityprovider.RespondToAuthChallengeInput) (*request.Request, *cognitoidentityprovider.RespondToAuthChallengeOutput) + SetUICustomization(*cognitoidentityprovider.SetUICustomizationInput) (*cognitoidentityprovider.SetUICustomizationOutput, error) + SetUICustomizationWithContext(aws.Context, *cognitoidentityprovider.SetUICustomizationInput, ...request.Option) (*cognitoidentityprovider.SetUICustomizationOutput, error) + SetUICustomizationRequest(*cognitoidentityprovider.SetUICustomizationInput) (*request.Request, *cognitoidentityprovider.SetUICustomizationOutput) + SetUserSettings(*cognitoidentityprovider.SetUserSettingsInput) (*cognitoidentityprovider.SetUserSettingsOutput, error) SetUserSettingsWithContext(aws.Context, *cognitoidentityprovider.SetUserSettingsInput, ...request.Option) (*cognitoidentityprovider.SetUserSettingsOutput, error) SetUserSettingsRequest(*cognitoidentityprovider.SetUserSettingsInput) (*request.Request, *cognitoidentityprovider.SetUserSettingsOutput) @@ -340,6 +372,10 @@ type CognitoIdentityProviderAPI interface { UpdateIdentityProviderWithContext(aws.Context, *cognitoidentityprovider.UpdateIdentityProviderInput, ...request.Option) (*cognitoidentityprovider.UpdateIdentityProviderOutput, error) UpdateIdentityProviderRequest(*cognitoidentityprovider.UpdateIdentityProviderInput) (*request.Request, *cognitoidentityprovider.UpdateIdentityProviderOutput) + UpdateResourceServer(*cognitoidentityprovider.UpdateResourceServerInput) (*cognitoidentityprovider.UpdateResourceServerOutput, error) + UpdateResourceServerWithContext(aws.Context, *cognitoidentityprovider.UpdateResourceServerInput, ...request.Option) (*cognitoidentityprovider.UpdateResourceServerOutput, error) + UpdateResourceServerRequest(*cognitoidentityprovider.UpdateResourceServerInput) (*request.Request, *cognitoidentityprovider.UpdateResourceServerOutput) + UpdateUserAttributes(*cognitoidentityprovider.UpdateUserAttributesInput) (*cognitoidentityprovider.UpdateUserAttributesOutput, error) UpdateUserAttributesWithContext(aws.Context, *cognitoidentityprovider.UpdateUserAttributesInput, ...request.Option) (*cognitoidentityprovider.UpdateUserAttributesOutput, error) UpdateUserAttributesRequest(*cognitoidentityprovider.UpdateUserAttributesInput) (*request.Request, *cognitoidentityprovider.UpdateUserAttributesOutput) diff --git a/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/doc.go b/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/doc.go index 77f8bfcce..893e899c2 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/doc.go @@ -19,69 +19,17 @@ // // Using the Client // -// To use the client for Amazon Cognito Identity Provider you will first need -// to create a new instance of it. +// To Amazon Cognito Identity Provider with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := cognitoidentityprovider.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Cognito Identity Provider client CognitoIdentityProvider for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/cognitoidentityprovider/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AddCustomAttributes(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AddCustomAttributes result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AddCustomAttributesWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package cognitoidentityprovider diff --git a/vendor/github.com/aws/aws-sdk-go/service/cognitosync/api.go b/vendor/github.com/aws/aws-sdk-go/service/cognitosync/api.go index 72c81cc46..09fb41f70 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cognitosync/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cognitosync/api.go @@ -17,19 +17,18 @@ const opBulkPublish = "BulkPublish" // BulkPublishRequest generates a "aws/request.Request" representing the // client's request for the BulkPublish operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See BulkPublish for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the BulkPublish method directly -// instead. +// See BulkPublish for more information on using the BulkPublish +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the BulkPublishRequest method. // req, resp := client.BulkPublishRequest(params) @@ -120,19 +119,18 @@ const opDeleteDataset = "DeleteDataset" // DeleteDatasetRequest generates a "aws/request.Request" representing the // client's request for the DeleteDataset operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDataset for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDataset method directly -// instead. +// See DeleteDataset for more information on using the DeleteDataset +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDatasetRequest method. // req, resp := client.DeleteDatasetRequest(params) @@ -222,19 +220,18 @@ const opDescribeDataset = "DescribeDataset" // DescribeDatasetRequest generates a "aws/request.Request" representing the // client's request for the DescribeDataset operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDataset for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDataset method directly -// instead. +// See DescribeDataset for more information on using the DescribeDataset +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDatasetRequest method. // req, resp := client.DescribeDatasetRequest(params) @@ -320,19 +317,18 @@ const opDescribeIdentityPoolUsage = "DescribeIdentityPoolUsage" // DescribeIdentityPoolUsageRequest generates a "aws/request.Request" representing the // client's request for the DescribeIdentityPoolUsage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeIdentityPoolUsage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeIdentityPoolUsage method directly -// instead. +// See DescribeIdentityPoolUsage for more information on using the DescribeIdentityPoolUsage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeIdentityPoolUsageRequest method. // req, resp := client.DescribeIdentityPoolUsageRequest(params) @@ -416,19 +412,18 @@ const opDescribeIdentityUsage = "DescribeIdentityUsage" // DescribeIdentityUsageRequest generates a "aws/request.Request" representing the // client's request for the DescribeIdentityUsage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeIdentityUsage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeIdentityUsage method directly -// instead. +// See DescribeIdentityUsage for more information on using the DescribeIdentityUsage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeIdentityUsageRequest method. // req, resp := client.DescribeIdentityUsageRequest(params) @@ -512,19 +507,18 @@ const opGetBulkPublishDetails = "GetBulkPublishDetails" // GetBulkPublishDetailsRequest generates a "aws/request.Request" representing the // client's request for the GetBulkPublishDetails operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBulkPublishDetails for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBulkPublishDetails method directly -// instead. +// See GetBulkPublishDetails for more information on using the GetBulkPublishDetails +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBulkPublishDetailsRequest method. // req, resp := client.GetBulkPublishDetailsRequest(params) @@ -604,19 +598,18 @@ const opGetCognitoEvents = "GetCognitoEvents" // GetCognitoEventsRequest generates a "aws/request.Request" representing the // client's request for the GetCognitoEvents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetCognitoEvents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetCognitoEvents method directly -// instead. +// See GetCognitoEvents for more information on using the GetCognitoEvents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetCognitoEventsRequest method. // req, resp := client.GetCognitoEventsRequest(params) @@ -700,19 +693,18 @@ const opGetIdentityPoolConfiguration = "GetIdentityPoolConfiguration" // GetIdentityPoolConfigurationRequest generates a "aws/request.Request" representing the // client's request for the GetIdentityPoolConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetIdentityPoolConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetIdentityPoolConfiguration method directly -// instead. +// See GetIdentityPoolConfiguration for more information on using the GetIdentityPoolConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetIdentityPoolConfigurationRequest method. // req, resp := client.GetIdentityPoolConfigurationRequest(params) @@ -795,19 +787,18 @@ const opListDatasets = "ListDatasets" // ListDatasetsRequest generates a "aws/request.Request" representing the // client's request for the ListDatasets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDatasets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDatasets method directly -// instead. +// See ListDatasets for more information on using the ListDatasets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDatasetsRequest method. // req, resp := client.ListDatasetsRequest(params) @@ -890,19 +881,18 @@ const opListIdentityPoolUsage = "ListIdentityPoolUsage" // ListIdentityPoolUsageRequest generates a "aws/request.Request" representing the // client's request for the ListIdentityPoolUsage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListIdentityPoolUsage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListIdentityPoolUsage method directly -// instead. +// See ListIdentityPoolUsage for more information on using the ListIdentityPoolUsage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListIdentityPoolUsageRequest method. // req, resp := client.ListIdentityPoolUsageRequest(params) @@ -983,19 +973,18 @@ const opListRecords = "ListRecords" // ListRecordsRequest generates a "aws/request.Request" representing the // client's request for the ListRecords operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListRecords for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListRecords method directly -// instead. +// See ListRecords for more information on using the ListRecords +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListRecordsRequest method. // req, resp := client.ListRecordsRequest(params) @@ -1079,19 +1068,18 @@ const opRegisterDevice = "RegisterDevice" // RegisterDeviceRequest generates a "aws/request.Request" representing the // client's request for the RegisterDevice operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterDevice for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterDevice method directly -// instead. +// See RegisterDevice for more information on using the RegisterDevice +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterDeviceRequest method. // req, resp := client.RegisterDeviceRequest(params) @@ -1176,19 +1164,18 @@ const opSetCognitoEvents = "SetCognitoEvents" // SetCognitoEventsRequest generates a "aws/request.Request" representing the // client's request for the SetCognitoEvents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetCognitoEvents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetCognitoEvents method directly -// instead. +// See SetCognitoEvents for more information on using the SetCognitoEvents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetCognitoEventsRequest method. // req, resp := client.SetCognitoEventsRequest(params) @@ -1276,19 +1263,18 @@ const opSetIdentityPoolConfiguration = "SetIdentityPoolConfiguration" // SetIdentityPoolConfigurationRequest generates a "aws/request.Request" representing the // client's request for the SetIdentityPoolConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetIdentityPoolConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetIdentityPoolConfiguration method directly -// instead. +// See SetIdentityPoolConfiguration for more information on using the SetIdentityPoolConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetIdentityPoolConfigurationRequest method. // req, resp := client.SetIdentityPoolConfigurationRequest(params) @@ -1374,19 +1360,18 @@ const opSubscribeToDataset = "SubscribeToDataset" // SubscribeToDatasetRequest generates a "aws/request.Request" representing the // client's request for the SubscribeToDataset operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SubscribeToDataset for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SubscribeToDataset method directly -// instead. +// See SubscribeToDataset for more information on using the SubscribeToDataset +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SubscribeToDatasetRequest method. // req, resp := client.SubscribeToDatasetRequest(params) @@ -1472,19 +1457,18 @@ const opUnsubscribeFromDataset = "UnsubscribeFromDataset" // UnsubscribeFromDatasetRequest generates a "aws/request.Request" representing the // client's request for the UnsubscribeFromDataset operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UnsubscribeFromDataset for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UnsubscribeFromDataset method directly -// instead. +// See UnsubscribeFromDataset for more information on using the UnsubscribeFromDataset +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UnsubscribeFromDatasetRequest method. // req, resp := client.UnsubscribeFromDatasetRequest(params) @@ -1570,19 +1554,18 @@ const opUpdateRecords = "UpdateRecords" // UpdateRecordsRequest generates a "aws/request.Request" representing the // client's request for the UpdateRecords operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateRecords for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateRecords method directly -// instead. +// See UpdateRecords for more information on using the UpdateRecords +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateRecordsRequest method. // req, resp := client.UpdateRecordsRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/cognitosync/cognitosynciface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/cognitosync/cognitosynciface/interface.go index de0310b33..9b43e99c0 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cognitosync/cognitosynciface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cognitosync/cognitosynciface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Cognito Sync. diff --git a/vendor/github.com/aws/aws-sdk-go/service/cognitosync/doc.go b/vendor/github.com/aws/aws-sdk-go/service/cognitosync/doc.go index 989553729..6805added 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cognitosync/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cognitosync/doc.go @@ -29,69 +29,17 @@ // // Using the Client // -// To use the client for Amazon Cognito Sync you will first need -// to create a new instance of it. +// To Amazon Cognito Sync with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := cognitosync.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Cognito Sync client CognitoSync for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/cognitosync/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.BulkPublish(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("BulkPublish result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.BulkPublishWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package cognitosync diff --git a/vendor/github.com/aws/aws-sdk-go/service/configservice/api.go b/vendor/github.com/aws/aws-sdk-go/service/configservice/api.go index 42e19b2fe..a2a153b5f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/configservice/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/configservice/api.go @@ -17,19 +17,18 @@ const opDeleteConfigRule = "DeleteConfigRule" // DeleteConfigRuleRequest generates a "aws/request.Request" representing the // client's request for the DeleteConfigRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteConfigRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteConfigRule method directly -// instead. +// See DeleteConfigRule for more information on using the DeleteConfigRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteConfigRuleRequest method. // req, resp := client.DeleteConfigRuleRequest(params) @@ -110,19 +109,18 @@ const opDeleteConfigurationRecorder = "DeleteConfigurationRecorder" // DeleteConfigurationRecorderRequest generates a "aws/request.Request" representing the // client's request for the DeleteConfigurationRecorder operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteConfigurationRecorder for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteConfigurationRecorder method directly -// instead. +// See DeleteConfigurationRecorder for more information on using the DeleteConfigurationRecorder +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteConfigurationRecorderRequest method. // req, resp := client.DeleteConfigurationRecorderRequest(params) @@ -201,19 +199,18 @@ const opDeleteDeliveryChannel = "DeleteDeliveryChannel" // DeleteDeliveryChannelRequest generates a "aws/request.Request" representing the // client's request for the DeleteDeliveryChannel operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDeliveryChannel for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDeliveryChannel method directly -// instead. +// See DeleteDeliveryChannel for more information on using the DeleteDeliveryChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDeliveryChannelRequest method. // req, resp := client.DeleteDeliveryChannelRequest(params) @@ -290,19 +287,18 @@ const opDeleteEvaluationResults = "DeleteEvaluationResults" // DeleteEvaluationResultsRequest generates a "aws/request.Request" representing the // client's request for the DeleteEvaluationResults operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteEvaluationResults for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteEvaluationResults method directly -// instead. +// See DeleteEvaluationResults for more information on using the DeleteEvaluationResults +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteEvaluationResultsRequest method. // req, resp := client.DeleteEvaluationResultsRequest(params) @@ -378,19 +374,18 @@ const opDeliverConfigSnapshot = "DeliverConfigSnapshot" // DeliverConfigSnapshotRequest generates a "aws/request.Request" representing the // client's request for the DeliverConfigSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeliverConfigSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeliverConfigSnapshot method directly -// instead. +// See DeliverConfigSnapshot for more information on using the DeliverConfigSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeliverConfigSnapshotRequest method. // req, resp := client.DeliverConfigSnapshotRequest(params) @@ -474,19 +469,18 @@ const opDescribeComplianceByConfigRule = "DescribeComplianceByConfigRule" // DescribeComplianceByConfigRuleRequest generates a "aws/request.Request" representing the // client's request for the DescribeComplianceByConfigRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeComplianceByConfigRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeComplianceByConfigRule method directly -// instead. +// See DescribeComplianceByConfigRule for more information on using the DescribeComplianceByConfigRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeComplianceByConfigRuleRequest method. // req, resp := client.DescribeComplianceByConfigRuleRequest(params) @@ -585,19 +579,18 @@ const opDescribeComplianceByResource = "DescribeComplianceByResource" // DescribeComplianceByResourceRequest generates a "aws/request.Request" representing the // client's request for the DescribeComplianceByResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeComplianceByResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeComplianceByResource method directly -// instead. +// See DescribeComplianceByResource for more information on using the DescribeComplianceByResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeComplianceByResourceRequest method. // req, resp := client.DescribeComplianceByResourceRequest(params) @@ -694,19 +687,18 @@ const opDescribeConfigRuleEvaluationStatus = "DescribeConfigRuleEvaluationStatus // DescribeConfigRuleEvaluationStatusRequest generates a "aws/request.Request" representing the // client's request for the DescribeConfigRuleEvaluationStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeConfigRuleEvaluationStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeConfigRuleEvaluationStatus method directly -// instead. +// See DescribeConfigRuleEvaluationStatus for more information on using the DescribeConfigRuleEvaluationStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeConfigRuleEvaluationStatusRequest method. // req, resp := client.DescribeConfigRuleEvaluationStatusRequest(params) @@ -786,19 +778,18 @@ const opDescribeConfigRules = "DescribeConfigRules" // DescribeConfigRulesRequest generates a "aws/request.Request" representing the // client's request for the DescribeConfigRules operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeConfigRules for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeConfigRules method directly -// instead. +// See DescribeConfigRules for more information on using the DescribeConfigRules +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeConfigRulesRequest method. // req, resp := client.DescribeConfigRulesRequest(params) @@ -871,19 +862,18 @@ const opDescribeConfigurationRecorderStatus = "DescribeConfigurationRecorderStat // DescribeConfigurationRecorderStatusRequest generates a "aws/request.Request" representing the // client's request for the DescribeConfigurationRecorderStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeConfigurationRecorderStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeConfigurationRecorderStatus method directly -// instead. +// See DescribeConfigurationRecorderStatus for more information on using the DescribeConfigurationRecorderStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeConfigurationRecorderStatusRequest method. // req, resp := client.DescribeConfigurationRecorderStatusRequest(params) @@ -956,19 +946,18 @@ const opDescribeConfigurationRecorders = "DescribeConfigurationRecorders" // DescribeConfigurationRecordersRequest generates a "aws/request.Request" representing the // client's request for the DescribeConfigurationRecorders operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeConfigurationRecorders for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeConfigurationRecorders method directly -// instead. +// See DescribeConfigurationRecorders for more information on using the DescribeConfigurationRecorders +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeConfigurationRecordersRequest method. // req, resp := client.DescribeConfigurationRecordersRequest(params) @@ -1041,19 +1030,18 @@ const opDescribeDeliveryChannelStatus = "DescribeDeliveryChannelStatus" // DescribeDeliveryChannelStatusRequest generates a "aws/request.Request" representing the // client's request for the DescribeDeliveryChannelStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDeliveryChannelStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDeliveryChannelStatus method directly -// instead. +// See DescribeDeliveryChannelStatus for more information on using the DescribeDeliveryChannelStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDeliveryChannelStatusRequest method. // req, resp := client.DescribeDeliveryChannelStatusRequest(params) @@ -1125,19 +1113,18 @@ const opDescribeDeliveryChannels = "DescribeDeliveryChannels" // DescribeDeliveryChannelsRequest generates a "aws/request.Request" representing the // client's request for the DescribeDeliveryChannels operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDeliveryChannels for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDeliveryChannels method directly -// instead. +// See DescribeDeliveryChannels for more information on using the DescribeDeliveryChannels +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDeliveryChannelsRequest method. // req, resp := client.DescribeDeliveryChannelsRequest(params) @@ -1209,19 +1196,18 @@ const opGetComplianceDetailsByConfigRule = "GetComplianceDetailsByConfigRule" // GetComplianceDetailsByConfigRuleRequest generates a "aws/request.Request" representing the // client's request for the GetComplianceDetailsByConfigRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetComplianceDetailsByConfigRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetComplianceDetailsByConfigRule method directly -// instead. +// See GetComplianceDetailsByConfigRule for more information on using the GetComplianceDetailsByConfigRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetComplianceDetailsByConfigRuleRequest method. // req, resp := client.GetComplianceDetailsByConfigRuleRequest(params) @@ -1300,19 +1286,18 @@ const opGetComplianceDetailsByResource = "GetComplianceDetailsByResource" // GetComplianceDetailsByResourceRequest generates a "aws/request.Request" representing the // client's request for the GetComplianceDetailsByResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetComplianceDetailsByResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetComplianceDetailsByResource method directly -// instead. +// See GetComplianceDetailsByResource for more information on using the GetComplianceDetailsByResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetComplianceDetailsByResourceRequest method. // req, resp := client.GetComplianceDetailsByResourceRequest(params) @@ -1383,19 +1368,18 @@ const opGetComplianceSummaryByConfigRule = "GetComplianceSummaryByConfigRule" // GetComplianceSummaryByConfigRuleRequest generates a "aws/request.Request" representing the // client's request for the GetComplianceSummaryByConfigRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetComplianceSummaryByConfigRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetComplianceSummaryByConfigRule method directly -// instead. +// See GetComplianceSummaryByConfigRule for more information on using the GetComplianceSummaryByConfigRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetComplianceSummaryByConfigRuleRequest method. // req, resp := client.GetComplianceSummaryByConfigRuleRequest(params) @@ -1459,19 +1443,18 @@ const opGetComplianceSummaryByResourceType = "GetComplianceSummaryByResourceType // GetComplianceSummaryByResourceTypeRequest generates a "aws/request.Request" representing the // client's request for the GetComplianceSummaryByResourceType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetComplianceSummaryByResourceType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetComplianceSummaryByResourceType method directly -// instead. +// See GetComplianceSummaryByResourceType for more information on using the GetComplianceSummaryByResourceType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetComplianceSummaryByResourceTypeRequest method. // req, resp := client.GetComplianceSummaryByResourceTypeRequest(params) @@ -1538,23 +1521,141 @@ func (c *ConfigService) GetComplianceSummaryByResourceTypeWithContext(ctx aws.Co return out, req.Send() } +const opGetDiscoveredResourceCounts = "GetDiscoveredResourceCounts" + +// GetDiscoveredResourceCountsRequest generates a "aws/request.Request" representing the +// client's request for the GetDiscoveredResourceCounts operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetDiscoveredResourceCounts for more information on using the GetDiscoveredResourceCounts +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetDiscoveredResourceCountsRequest method. +// req, resp := client.GetDiscoveredResourceCountsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetDiscoveredResourceCounts +func (c *ConfigService) GetDiscoveredResourceCountsRequest(input *GetDiscoveredResourceCountsInput) (req *request.Request, output *GetDiscoveredResourceCountsOutput) { + op := &request.Operation{ + Name: opGetDiscoveredResourceCounts, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetDiscoveredResourceCountsInput{} + } + + output = &GetDiscoveredResourceCountsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDiscoveredResourceCounts API operation for AWS Config. +// +// Returns the resource types, the number of each resource type, and the total +// number of resources that AWS Config is recording in this region for your +// AWS account. +// +// Example +// +// AWS Config is recording three resource types in the US East (Ohio) Region +// for your account: 25 EC2 instances, 20 IAM users, and 15 S3 buckets. +// +// You make a call to the GetDiscoveredResourceCounts action and specify that +// you want all resource types. +// +// AWS Config returns the following: +// +// The resource types (EC2 instances, IAM users, and S3 buckets) +// +// The number of each resource type (25, 20, and 15) +// +// The total number of all resources (60) +// +// The response is paginated. By default, AWS Config lists 100 ResourceCount +// objects on each page. You can customize this number with the limit parameter. +// The response includes a nextToken string. To get the next page of results, +// run the request again and specify the string for the nextToken parameter. +// +// If you make a call to the GetDiscoveredResourceCounts action, you may not +// immediately receive resource counts in the following situations: +// +// You are a new AWS Config customer +// +// You just enabled resource recording +// +// It may take a few minutes for AWS Config to record and count your resources. +// Wait a few minutes and then retry the GetDiscoveredResourceCounts action. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Config's +// API operation GetDiscoveredResourceCounts for usage and error information. +// +// Returned Error Codes: +// * ErrCodeValidationException "ValidationException" +// The requested action is not valid. +// +// * ErrCodeInvalidLimitException "InvalidLimitException" +// The specified limit is outside the allowable range. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The specified next token is invalid. Specify the NextToken string that was +// returned in the previous response to get the next page of results. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetDiscoveredResourceCounts +func (c *ConfigService) GetDiscoveredResourceCounts(input *GetDiscoveredResourceCountsInput) (*GetDiscoveredResourceCountsOutput, error) { + req, out := c.GetDiscoveredResourceCountsRequest(input) + return out, req.Send() +} + +// GetDiscoveredResourceCountsWithContext is the same as GetDiscoveredResourceCounts with the addition of +// the ability to pass a context and additional request options. +// +// See GetDiscoveredResourceCounts for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConfigService) GetDiscoveredResourceCountsWithContext(ctx aws.Context, input *GetDiscoveredResourceCountsInput, opts ...request.Option) (*GetDiscoveredResourceCountsOutput, error) { + req, out := c.GetDiscoveredResourceCountsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetResourceConfigHistory = "GetResourceConfigHistory" // GetResourceConfigHistoryRequest generates a "aws/request.Request" representing the // client's request for the GetResourceConfigHistory operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetResourceConfigHistory for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetResourceConfigHistory method directly -// instead. +// See GetResourceConfigHistory for more information on using the GetResourceConfigHistory +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetResourceConfigHistoryRequest method. // req, resp := client.GetResourceConfigHistoryRequest(params) @@ -1593,11 +1694,10 @@ func (c *ConfigService) GetResourceConfigHistoryRequest(input *GetResourceConfig // contains details about each state of the resource during the specified time // interval. // -// The response is paginated, and by default, AWS Config returns a limit of -// 10 configuration items per page. You can customize this number with the limit -// parameter. The response includes a nextToken string, and to get the next -// page of results, run the request again and enter this string for the nextToken -// parameter. +// The response is paginated. By default, AWS Config returns a limit of 10 configuration +// items per page. You can customize this number with the limit parameter. The +// response includes a nextToken string. To get the next page of results, run +// the request again and specify the string for the nextToken parameter. // // Each call to the API is limited to span a duration of seven days. It is likely // that the number of records returned is smaller than the specified limit. @@ -1708,19 +1808,18 @@ const opListDiscoveredResources = "ListDiscoveredResources" // ListDiscoveredResourcesRequest generates a "aws/request.Request" representing the // client's request for the ListDiscoveredResources operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDiscoveredResources for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDiscoveredResources method directly -// instead. +// See ListDiscoveredResources for more information on using the ListDiscoveredResources +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDiscoveredResourcesRequest method. // req, resp := client.ListDiscoveredResourcesRequest(params) @@ -1759,10 +1858,10 @@ func (c *ConfigService) ListDiscoveredResourcesRequest(input *ListDiscoveredReso // You can specify either resource IDs or a resource name but not both in the // same request. // -// The response is paginated, and by default AWS Config lists 100 resource identifiers +// The response is paginated. By default, AWS Config lists 100 resource identifiers // on each page. You can customize this number with the limit parameter. The -// response includes a nextToken string, and to get the next page of results, -// run the request again and enter this string for the nextToken parameter. +// response includes a nextToken string. To get the next page of results, run +// the request again and specify the string for the nextToken parameter. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1812,19 +1911,18 @@ const opPutConfigRule = "PutConfigRule" // PutConfigRuleRequest generates a "aws/request.Request" representing the // client's request for the PutConfigRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutConfigRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutConfigRule method directly -// instead. +// See PutConfigRule for more information on using the PutConfigRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutConfigRuleRequest method. // req, resp := client.PutConfigRuleRequest(params) @@ -1951,19 +2049,18 @@ const opPutConfigurationRecorder = "PutConfigurationRecorder" // PutConfigurationRecorderRequest generates a "aws/request.Request" representing the // client's request for the PutConfigurationRecorder operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutConfigurationRecorder for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutConfigurationRecorder method directly -// instead. +// See PutConfigurationRecorder for more information on using the PutConfigurationRecorder +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutConfigurationRecorderRequest method. // req, resp := client.PutConfigurationRecorderRequest(params) @@ -2053,19 +2150,18 @@ const opPutDeliveryChannel = "PutDeliveryChannel" // PutDeliveryChannelRequest generates a "aws/request.Request" representing the // client's request for the PutDeliveryChannel operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutDeliveryChannel for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutDeliveryChannel method directly -// instead. +// See PutDeliveryChannel for more information on using the PutDeliveryChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutDeliveryChannelRequest method. // req, resp := client.PutDeliveryChannelRequest(params) @@ -2167,19 +2263,18 @@ const opPutEvaluations = "PutEvaluations" // PutEvaluationsRequest generates a "aws/request.Request" representing the // client's request for the PutEvaluations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutEvaluations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutEvaluations method directly -// instead. +// See PutEvaluations for more information on using the PutEvaluations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutEvaluationsRequest method. // req, resp := client.PutEvaluationsRequest(params) @@ -2257,19 +2352,18 @@ const opStartConfigRulesEvaluation = "StartConfigRulesEvaluation" // StartConfigRulesEvaluationRequest generates a "aws/request.Request" representing the // client's request for the StartConfigRulesEvaluation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartConfigRulesEvaluation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartConfigRulesEvaluation method directly -// instead. +// See StartConfigRulesEvaluation for more information on using the StartConfigRulesEvaluation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartConfigRulesEvaluationRequest method. // req, resp := client.StartConfigRulesEvaluationRequest(params) @@ -2379,19 +2473,18 @@ const opStartConfigurationRecorder = "StartConfigurationRecorder" // StartConfigurationRecorderRequest generates a "aws/request.Request" representing the // client's request for the StartConfigurationRecorder operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartConfigurationRecorder for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartConfigurationRecorder method directly -// instead. +// See StartConfigurationRecorder for more information on using the StartConfigurationRecorder +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartConfigurationRecorderRequest method. // req, resp := client.StartConfigurationRecorderRequest(params) @@ -2468,19 +2561,18 @@ const opStopConfigurationRecorder = "StopConfigurationRecorder" // StopConfigurationRecorderRequest generates a "aws/request.Request" representing the // client's request for the StopConfigurationRecorder operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StopConfigurationRecorder for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StopConfigurationRecorder method directly -// instead. +// See StopConfigurationRecorder for more information on using the StopConfigurationRecorder +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StopConfigurationRecorderRequest method. // req, resp := client.StopConfigurationRecorderRequest(params) @@ -2797,8 +2889,9 @@ func (s *ComplianceSummaryByResourceType) SetResourceType(v string) *ComplianceS return s } -// A list that contains the status of the delivery of either the snapshot or -// the configuration history to the specified Amazon S3 bucket. +// Provides status of the delivery of the snapshot or the configuration history +// to the specified Amazon S3 bucket. Also provides the status of notifications +// about the Amazon S3 delivery to the specified Amazon SNS topic. // Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ConfigExportDeliveryInfo type ConfigExportDeliveryInfo struct { _ struct{} `type:"structure"` @@ -5232,6 +5325,117 @@ func (s *GetComplianceSummaryByResourceTypeOutput) SetComplianceSummariesByResou return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetDiscoveredResourceCountsRequest +type GetDiscoveredResourceCountsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of ResourceCount objects returned on each page. The default + // is 100. You cannot specify a limit greater than 100. If you specify 0, AWS + // Config uses the default. + Limit *int64 `locationName:"limit" type:"integer"` + + // The nextToken string returned on a previous page that you use to get the + // next page of results in a paginated response. + NextToken *string `locationName:"nextToken" type:"string"` + + // The comma-separated list that specifies the resource types that you want + // the AWS Config to return. For example, ("AWS::EC2::Instance", "AWS::IAM::User"). + // + // If a value for resourceTypes is not specified, AWS Config returns all resource + // types that AWS Config is recording in the region for your account. + // + // If the configuration recorder is turned off, AWS Config returns an empty + // list of ResourceCount objects. If the configuration recorder is not recording + // a specific resource type (for example, S3 buckets), that resource type is + // not returned in the list of ResourceCount objects. + ResourceTypes []*string `locationName:"resourceTypes" type:"list"` +} + +// String returns the string representation +func (s GetDiscoveredResourceCountsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDiscoveredResourceCountsInput) GoString() string { + return s.String() +} + +// SetLimit sets the Limit field's value. +func (s *GetDiscoveredResourceCountsInput) SetLimit(v int64) *GetDiscoveredResourceCountsInput { + s.Limit = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetDiscoveredResourceCountsInput) SetNextToken(v string) *GetDiscoveredResourceCountsInput { + s.NextToken = &v + return s +} + +// SetResourceTypes sets the ResourceTypes field's value. +func (s *GetDiscoveredResourceCountsInput) SetResourceTypes(v []*string) *GetDiscoveredResourceCountsInput { + s.ResourceTypes = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetDiscoveredResourceCountsResponse +type GetDiscoveredResourceCountsOutput struct { + _ struct{} `type:"structure"` + + // The string that you use in a subsequent request to get the next page of results + // in a paginated response. + NextToken *string `locationName:"nextToken" type:"string"` + + // The list of ResourceCount objects. Each object is listed in descending order + // by the number of resources. + ResourceCounts []*ResourceCount `locationName:"resourceCounts" type:"list"` + + // The total number of resources that AWS Config is recording in the region + // for your account. If you specify resource types in the request, AWS Config + // returns only the total number of resources for those resource types. + // + // Example + // + // AWS Config is recording three resource types in the US East (Ohio) Region + // for your account: 25 EC2 instances, 20 IAM users, and 15 S3 buckets, for + // a total of 60 resources. + // + // You make a call to the GetDiscoveredResourceCounts action and specify the + // resource type, "AWS::EC2::Instances" in the request. + // + // AWS Config returns 25 for totalDiscoveredResources. + TotalDiscoveredResources *int64 `locationName:"totalDiscoveredResources" type:"long"` +} + +// String returns the string representation +func (s GetDiscoveredResourceCountsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDiscoveredResourceCountsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetDiscoveredResourceCountsOutput) SetNextToken(v string) *GetDiscoveredResourceCountsOutput { + s.NextToken = &v + return s +} + +// SetResourceCounts sets the ResourceCounts field's value. +func (s *GetDiscoveredResourceCountsOutput) SetResourceCounts(v []*ResourceCount) *GetDiscoveredResourceCountsOutput { + s.ResourceCounts = v + return s +} + +// SetTotalDiscoveredResources sets the TotalDiscoveredResources field's value. +func (s *GetDiscoveredResourceCountsOutput) SetTotalDiscoveredResources(v int64) *GetDiscoveredResourceCountsOutput { + s.TotalDiscoveredResources = &v + return s +} + // The input for the GetResourceConfigHistory action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetResourceConfigHistoryRequest type GetResourceConfigHistoryInput struct { @@ -5935,6 +6139,40 @@ func (s *Relationship) SetResourceType(v string) *Relationship { return s } +// An object that contains the resource type and the number of resources. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ResourceCount +type ResourceCount struct { + _ struct{} `type:"structure"` + + // The number of resources. + Count *int64 `locationName:"count" type:"long"` + + // The resource type, for example "AWS::EC2::Instance". + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` +} + +// String returns the string representation +func (s ResourceCount) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceCount) GoString() string { + return s.String() +} + +// SetCount sets the Count field's value. +func (s *ResourceCount) SetCount(v int64) *ResourceCount { + s.Count = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ResourceCount) SetResourceType(v string) *ResourceCount { + s.ResourceType = &v + return s +} + // The details that identify a resource that is discovered by AWS Config, including // the resource type, ID, and (if available) the custom resource name. // Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ResourceIdentifier @@ -6008,8 +6246,8 @@ type Scope struct { // a resource ID for ComplianceResourceId. ComplianceResourceTypes []*string `type:"list"` - // The tag key that is applied to only those AWS resources that you want you - // want to trigger an evaluation for the rule. + // The tag key that is applied to only those AWS resources that you want to + // trigger an evaluation for the rule. TagKey *string `min:"1" type:"string"` // The tag value applied to only those AWS resources that you want to trigger @@ -6091,7 +6329,7 @@ type Source struct { // AWS Managed Config Rules (http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html). // // For custom rules, the identifier is the Amazon Resource Name (ARN) of the - // rule's AWS Lambda function, such as arn:aws:lambda:us-east-1:123456789012:function:custom_rule_name. + // rule's AWS Lambda function, such as arn:aws:lambda:us-east-2:123456789012:function:custom_rule_name. // // SourceIdentifier is a required field SourceIdentifier *string `min:"1" type:"string" required:"true"` @@ -6608,4 +6846,22 @@ const ( // ResourceTypeAwsCloudWatchAlarm is a ResourceType enum value ResourceTypeAwsCloudWatchAlarm = "AWS::CloudWatch::Alarm" + + // ResourceTypeAwsCloudFormationStack is a ResourceType enum value + ResourceTypeAwsCloudFormationStack = "AWS::CloudFormation::Stack" + + // ResourceTypeAwsDynamoDbTable is a ResourceType enum value + ResourceTypeAwsDynamoDbTable = "AWS::DynamoDB::Table" + + // ResourceTypeAwsAutoScalingAutoScalingGroup is a ResourceType enum value + ResourceTypeAwsAutoScalingAutoScalingGroup = "AWS::AutoScaling::AutoScalingGroup" + + // ResourceTypeAwsAutoScalingLaunchConfiguration is a ResourceType enum value + ResourceTypeAwsAutoScalingLaunchConfiguration = "AWS::AutoScaling::LaunchConfiguration" + + // ResourceTypeAwsAutoScalingScalingPolicy is a ResourceType enum value + ResourceTypeAwsAutoScalingScalingPolicy = "AWS::AutoScaling::ScalingPolicy" + + // ResourceTypeAwsAutoScalingScheduledAction is a ResourceType enum value + ResourceTypeAwsAutoScalingScheduledAction = "AWS::AutoScaling::ScheduledAction" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/configservice/configserviceiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/configservice/configserviceiface/interface.go index 2a1210d64..5317e4f2b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/configservice/configserviceiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/configservice/configserviceiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Config. @@ -128,6 +128,10 @@ type ConfigServiceAPI interface { GetComplianceSummaryByResourceTypeWithContext(aws.Context, *configservice.GetComplianceSummaryByResourceTypeInput, ...request.Option) (*configservice.GetComplianceSummaryByResourceTypeOutput, error) GetComplianceSummaryByResourceTypeRequest(*configservice.GetComplianceSummaryByResourceTypeInput) (*request.Request, *configservice.GetComplianceSummaryByResourceTypeOutput) + GetDiscoveredResourceCounts(*configservice.GetDiscoveredResourceCountsInput) (*configservice.GetDiscoveredResourceCountsOutput, error) + GetDiscoveredResourceCountsWithContext(aws.Context, *configservice.GetDiscoveredResourceCountsInput, ...request.Option) (*configservice.GetDiscoveredResourceCountsOutput, error) + GetDiscoveredResourceCountsRequest(*configservice.GetDiscoveredResourceCountsInput) (*request.Request, *configservice.GetDiscoveredResourceCountsOutput) + GetResourceConfigHistory(*configservice.GetResourceConfigHistoryInput) (*configservice.GetResourceConfigHistoryOutput, error) GetResourceConfigHistoryWithContext(aws.Context, *configservice.GetResourceConfigHistoryInput, ...request.Option) (*configservice.GetResourceConfigHistoryOutput, error) GetResourceConfigHistoryRequest(*configservice.GetResourceConfigHistoryInput) (*request.Request, *configservice.GetResourceConfigHistoryOutput) diff --git a/vendor/github.com/aws/aws-sdk-go/service/configservice/doc.go b/vendor/github.com/aws/aws-sdk-go/service/configservice/doc.go index 3b010512b..96319515f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/configservice/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/configservice/doc.go @@ -35,69 +35,17 @@ // // Using the Client // -// To use the client for AWS Config you will first need -// to create a new instance of it. +// To AWS Config with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := configservice.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Config client ConfigService for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/configservice/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.DeleteConfigRule(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("DeleteConfigRule result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.DeleteConfigRuleWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package configservice diff --git a/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/api.go b/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/api.go index 0eebbc0cc..d926fb41e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/api.go @@ -12,19 +12,18 @@ const opDeleteReportDefinition = "DeleteReportDefinition" // DeleteReportDefinitionRequest generates a "aws/request.Request" representing the // client's request for the DeleteReportDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteReportDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteReportDefinition method directly -// instead. +// See DeleteReportDefinition for more information on using the DeleteReportDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteReportDefinitionRequest method. // req, resp := client.DeleteReportDefinitionRequest(params) @@ -97,19 +96,18 @@ const opDescribeReportDefinitions = "DescribeReportDefinitions" // DescribeReportDefinitionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeReportDefinitions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeReportDefinitions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeReportDefinitions method directly -// instead. +// See DescribeReportDefinitions for more information on using the DescribeReportDefinitions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeReportDefinitionsRequest method. // req, resp := client.DescribeReportDefinitionsRequest(params) @@ -233,19 +231,18 @@ const opPutReportDefinition = "PutReportDefinition" // PutReportDefinitionRequest generates a "aws/request.Request" representing the // client's request for the PutReportDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutReportDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutReportDefinition method directly -// instead. +// See PutReportDefinition for more information on using the PutReportDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutReportDefinitionRequest method. // req, resp := client.PutReportDefinitionRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/costandusagereportserviceiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/costandusagereportserviceiface/interface.go index 4e9c57c7f..6c552c5fb 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/costandusagereportserviceiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/costandusagereportserviceiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Cost and Usage Report Service. diff --git a/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/doc.go b/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/doc.go index 53a2626ae..b09028e2f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/doc.go @@ -12,69 +12,17 @@ // // Using the Client // -// To use the client for AWS Cost and Usage Report Service you will first need -// to create a new instance of it. +// To AWS Cost and Usage Report Service with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := costandusagereportservice.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Cost and Usage Report Service client CostandUsageReportService for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/costandusagereportservice/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.DeleteReportDefinition(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("DeleteReportDefinition result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.DeleteReportDefinitionWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package costandusagereportservice diff --git a/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/api.go b/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/api.go index dec6acb73..1da7e791a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/api.go @@ -15,19 +15,18 @@ const opAddTagsToResource = "AddTagsToResource" // AddTagsToResourceRequest generates a "aws/request.Request" representing the // client's request for the AddTagsToResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddTagsToResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddTagsToResource method directly -// instead. +// See AddTagsToResource for more information on using the AddTagsToResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddTagsToResourceRequest method. // req, resp := client.AddTagsToResourceRequest(params) @@ -98,19 +97,18 @@ const opCreateEndpoint = "CreateEndpoint" // CreateEndpointRequest generates a "aws/request.Request" representing the // client's request for the CreateEndpoint operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateEndpoint for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateEndpoint method directly -// instead. +// See CreateEndpoint for more information on using the CreateEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateEndpointRequest method. // req, resp := client.CreateEndpointRequest(params) @@ -194,19 +192,18 @@ const opCreateEventSubscription = "CreateEventSubscription" // CreateEventSubscriptionRequest generates a "aws/request.Request" representing the // client's request for the CreateEventSubscription operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateEventSubscription for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateEventSubscription method directly -// instead. +// See CreateEventSubscription for more information on using the CreateEventSubscription +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateEventSubscriptionRequest method. // req, resp := client.CreateEventSubscriptionRequest(params) @@ -302,19 +299,18 @@ const opCreateReplicationInstance = "CreateReplicationInstance" // CreateReplicationInstanceRequest generates a "aws/request.Request" representing the // client's request for the CreateReplicationInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateReplicationInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateReplicationInstance method directly -// instead. +// See CreateReplicationInstance for more information on using the CreateReplicationInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateReplicationInstanceRequest method. // req, resp := client.CreateReplicationInstanceRequest(params) @@ -411,19 +407,18 @@ const opCreateReplicationSubnetGroup = "CreateReplicationSubnetGroup" // CreateReplicationSubnetGroupRequest generates a "aws/request.Request" representing the // client's request for the CreateReplicationSubnetGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateReplicationSubnetGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateReplicationSubnetGroup method directly -// instead. +// See CreateReplicationSubnetGroup for more information on using the CreateReplicationSubnetGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateReplicationSubnetGroupRequest method. // req, resp := client.CreateReplicationSubnetGroupRequest(params) @@ -507,19 +502,18 @@ const opCreateReplicationTask = "CreateReplicationTask" // CreateReplicationTaskRequest generates a "aws/request.Request" representing the // client's request for the CreateReplicationTask operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateReplicationTask for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateReplicationTask method directly -// instead. +// See CreateReplicationTask for more information on using the CreateReplicationTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateReplicationTaskRequest method. // req, resp := client.CreateReplicationTaskRequest(params) @@ -603,19 +597,18 @@ const opDeleteCertificate = "DeleteCertificate" // DeleteCertificateRequest generates a "aws/request.Request" representing the // client's request for the DeleteCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteCertificate method directly -// instead. +// See DeleteCertificate for more information on using the DeleteCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteCertificateRequest method. // req, resp := client.DeleteCertificateRequest(params) @@ -687,19 +680,18 @@ const opDeleteEndpoint = "DeleteEndpoint" // DeleteEndpointRequest generates a "aws/request.Request" representing the // client's request for the DeleteEndpoint operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteEndpoint for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteEndpoint method directly -// instead. +// See DeleteEndpoint for more information on using the DeleteEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteEndpointRequest method. // req, resp := client.DeleteEndpointRequest(params) @@ -774,19 +766,18 @@ const opDeleteEventSubscription = "DeleteEventSubscription" // DeleteEventSubscriptionRequest generates a "aws/request.Request" representing the // client's request for the DeleteEventSubscription operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteEventSubscription for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteEventSubscription method directly -// instead. +// See DeleteEventSubscription for more information on using the DeleteEventSubscription +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteEventSubscriptionRequest method. // req, resp := client.DeleteEventSubscriptionRequest(params) @@ -858,19 +849,18 @@ const opDeleteReplicationInstance = "DeleteReplicationInstance" // DeleteReplicationInstanceRequest generates a "aws/request.Request" representing the // client's request for the DeleteReplicationInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteReplicationInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteReplicationInstance method directly -// instead. +// See DeleteReplicationInstance for more information on using the DeleteReplicationInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteReplicationInstanceRequest method. // req, resp := client.DeleteReplicationInstanceRequest(params) @@ -945,19 +935,18 @@ const opDeleteReplicationSubnetGroup = "DeleteReplicationSubnetGroup" // DeleteReplicationSubnetGroupRequest generates a "aws/request.Request" representing the // client's request for the DeleteReplicationSubnetGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteReplicationSubnetGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteReplicationSubnetGroup method directly -// instead. +// See DeleteReplicationSubnetGroup for more information on using the DeleteReplicationSubnetGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteReplicationSubnetGroupRequest method. // req, resp := client.DeleteReplicationSubnetGroupRequest(params) @@ -1029,19 +1018,18 @@ const opDeleteReplicationTask = "DeleteReplicationTask" // DeleteReplicationTaskRequest generates a "aws/request.Request" representing the // client's request for the DeleteReplicationTask operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteReplicationTask for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteReplicationTask method directly -// instead. +// See DeleteReplicationTask for more information on using the DeleteReplicationTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteReplicationTaskRequest method. // req, resp := client.DeleteReplicationTaskRequest(params) @@ -1113,19 +1101,18 @@ const opDescribeAccountAttributes = "DescribeAccountAttributes" // DescribeAccountAttributesRequest generates a "aws/request.Request" representing the // client's request for the DescribeAccountAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAccountAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAccountAttributes method directly -// instead. +// See DescribeAccountAttributes for more information on using the DescribeAccountAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAccountAttributesRequest method. // req, resp := client.DescribeAccountAttributesRequest(params) @@ -1193,19 +1180,18 @@ const opDescribeCertificates = "DescribeCertificates" // DescribeCertificatesRequest generates a "aws/request.Request" representing the // client's request for the DescribeCertificates operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeCertificates for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeCertificates method directly -// instead. +// See DescribeCertificates for more information on using the DescribeCertificates +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeCertificatesRequest method. // req, resp := client.DescribeCertificatesRequest(params) @@ -1329,19 +1315,18 @@ const opDescribeConnections = "DescribeConnections" // DescribeConnectionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeConnections operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeConnections for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeConnections method directly -// instead. +// See DescribeConnections for more information on using the DescribeConnections +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeConnectionsRequest method. // req, resp := client.DescribeConnectionsRequest(params) @@ -1466,19 +1451,18 @@ const opDescribeEndpointTypes = "DescribeEndpointTypes" // DescribeEndpointTypesRequest generates a "aws/request.Request" representing the // client's request for the DescribeEndpointTypes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEndpointTypes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEndpointTypes method directly -// instead. +// See DescribeEndpointTypes for more information on using the DescribeEndpointTypes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEndpointTypesRequest method. // req, resp := client.DescribeEndpointTypesRequest(params) @@ -1597,19 +1581,18 @@ const opDescribeEndpoints = "DescribeEndpoints" // DescribeEndpointsRequest generates a "aws/request.Request" representing the // client's request for the DescribeEndpoints operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEndpoints for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEndpoints method directly -// instead. +// See DescribeEndpoints for more information on using the DescribeEndpoints +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEndpointsRequest method. // req, resp := client.DescribeEndpointsRequest(params) @@ -1733,19 +1716,18 @@ const opDescribeEventCategories = "DescribeEventCategories" // DescribeEventCategoriesRequest generates a "aws/request.Request" representing the // client's request for the DescribeEventCategories operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEventCategories for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEventCategories method directly -// instead. +// See DescribeEventCategories for more information on using the DescribeEventCategories +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEventCategoriesRequest method. // req, resp := client.DescribeEventCategoriesRequest(params) @@ -1811,19 +1793,18 @@ const opDescribeEventSubscriptions = "DescribeEventSubscriptions" // DescribeEventSubscriptionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeEventSubscriptions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEventSubscriptions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEventSubscriptions method directly -// instead. +// See DescribeEventSubscriptions for more information on using the DescribeEventSubscriptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEventSubscriptionsRequest method. // req, resp := client.DescribeEventSubscriptionsRequest(params) @@ -1952,19 +1933,18 @@ const opDescribeEvents = "DescribeEvents" // DescribeEventsRequest generates a "aws/request.Request" representing the // client's request for the DescribeEvents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEvents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEvents method directly -// instead. +// See DescribeEvents for more information on using the DescribeEvents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEventsRequest method. // req, resp := client.DescribeEventsRequest(params) @@ -2085,19 +2065,18 @@ const opDescribeOrderableReplicationInstances = "DescribeOrderableReplicationIns // DescribeOrderableReplicationInstancesRequest generates a "aws/request.Request" representing the // client's request for the DescribeOrderableReplicationInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeOrderableReplicationInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeOrderableReplicationInstances method directly -// instead. +// See DescribeOrderableReplicationInstances for more information on using the DescribeOrderableReplicationInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeOrderableReplicationInstancesRequest method. // req, resp := client.DescribeOrderableReplicationInstancesRequest(params) @@ -2217,19 +2196,18 @@ const opDescribeRefreshSchemasStatus = "DescribeRefreshSchemasStatus" // DescribeRefreshSchemasStatusRequest generates a "aws/request.Request" representing the // client's request for the DescribeRefreshSchemasStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeRefreshSchemasStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeRefreshSchemasStatus method directly -// instead. +// See DescribeRefreshSchemasStatus for more information on using the DescribeRefreshSchemasStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeRefreshSchemasStatusRequest method. // req, resp := client.DescribeRefreshSchemasStatusRequest(params) @@ -2301,19 +2279,18 @@ const opDescribeReplicationInstances = "DescribeReplicationInstances" // DescribeReplicationInstancesRequest generates a "aws/request.Request" representing the // client's request for the DescribeReplicationInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeReplicationInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeReplicationInstances method directly -// instead. +// See DescribeReplicationInstances for more information on using the DescribeReplicationInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeReplicationInstancesRequest method. // req, resp := client.DescribeReplicationInstancesRequest(params) @@ -2438,19 +2415,18 @@ const opDescribeReplicationSubnetGroups = "DescribeReplicationSubnetGroups" // DescribeReplicationSubnetGroupsRequest generates a "aws/request.Request" representing the // client's request for the DescribeReplicationSubnetGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeReplicationSubnetGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeReplicationSubnetGroups method directly -// instead. +// See DescribeReplicationSubnetGroups for more information on using the DescribeReplicationSubnetGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeReplicationSubnetGroupsRequest method. // req, resp := client.DescribeReplicationSubnetGroupsRequest(params) @@ -2574,19 +2550,18 @@ const opDescribeReplicationTasks = "DescribeReplicationTasks" // DescribeReplicationTasksRequest generates a "aws/request.Request" representing the // client's request for the DescribeReplicationTasks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeReplicationTasks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeReplicationTasks method directly -// instead. +// See DescribeReplicationTasks for more information on using the DescribeReplicationTasks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeReplicationTasksRequest method. // req, resp := client.DescribeReplicationTasksRequest(params) @@ -2711,19 +2686,18 @@ const opDescribeSchemas = "DescribeSchemas" // DescribeSchemasRequest generates a "aws/request.Request" representing the // client's request for the DescribeSchemas operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSchemas for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSchemas method directly -// instead. +// See DescribeSchemas for more information on using the DescribeSchemas +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSchemasRequest method. // req, resp := client.DescribeSchemasRequest(params) @@ -2851,19 +2825,18 @@ const opDescribeTableStatistics = "DescribeTableStatistics" // DescribeTableStatisticsRequest generates a "aws/request.Request" representing the // client's request for the DescribeTableStatistics operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTableStatistics for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTableStatistics method directly -// instead. +// See DescribeTableStatistics for more information on using the DescribeTableStatistics +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTableStatisticsRequest method. // req, resp := client.DescribeTableStatisticsRequest(params) @@ -2992,19 +2965,18 @@ const opImportCertificate = "ImportCertificate" // ImportCertificateRequest generates a "aws/request.Request" representing the // client's request for the ImportCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ImportCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ImportCertificate method directly -// instead. +// See ImportCertificate for more information on using the ImportCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ImportCertificateRequest method. // req, resp := client.ImportCertificateRequest(params) @@ -3075,19 +3047,18 @@ const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the // client's request for the ListTagsForResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTagsForResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTagsForResource method directly -// instead. +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTagsForResourceRequest method. // req, resp := client.ListTagsForResourceRequest(params) @@ -3155,19 +3126,18 @@ const opModifyEndpoint = "ModifyEndpoint" // ModifyEndpointRequest generates a "aws/request.Request" representing the // client's request for the ModifyEndpoint operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyEndpoint for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyEndpoint method directly -// instead. +// See ModifyEndpoint for more information on using the ModifyEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyEndpointRequest method. // req, resp := client.ModifyEndpointRequest(params) @@ -3248,19 +3218,18 @@ const opModifyEventSubscription = "ModifyEventSubscription" // ModifyEventSubscriptionRequest generates a "aws/request.Request" representing the // client's request for the ModifyEventSubscription operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyEventSubscription for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyEventSubscription method directly -// instead. +// See ModifyEventSubscription for more information on using the ModifyEventSubscription +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyEventSubscriptionRequest method. // req, resp := client.ModifyEventSubscriptionRequest(params) @@ -3337,19 +3306,18 @@ const opModifyReplicationInstance = "ModifyReplicationInstance" // ModifyReplicationInstanceRequest generates a "aws/request.Request" representing the // client's request for the ModifyReplicationInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyReplicationInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyReplicationInstance method directly -// instead. +// See ModifyReplicationInstance for more information on using the ModifyReplicationInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyReplicationInstanceRequest method. // req, resp := client.ModifyReplicationInstanceRequest(params) @@ -3437,19 +3405,18 @@ const opModifyReplicationSubnetGroup = "ModifyReplicationSubnetGroup" // ModifyReplicationSubnetGroupRequest generates a "aws/request.Request" representing the // client's request for the ModifyReplicationSubnetGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyReplicationSubnetGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyReplicationSubnetGroup method directly -// instead. +// See ModifyReplicationSubnetGroup for more information on using the ModifyReplicationSubnetGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyReplicationSubnetGroupRequest method. // req, resp := client.ModifyReplicationSubnetGroupRequest(params) @@ -3533,19 +3500,18 @@ const opModifyReplicationTask = "ModifyReplicationTask" // ModifyReplicationTaskRequest generates a "aws/request.Request" representing the // client's request for the ModifyReplicationTask operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyReplicationTask for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyReplicationTask method directly -// instead. +// See ModifyReplicationTask for more information on using the ModifyReplicationTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyReplicationTaskRequest method. // req, resp := client.ModifyReplicationTaskRequest(params) @@ -3629,19 +3595,18 @@ const opRefreshSchemas = "RefreshSchemas" // RefreshSchemasRequest generates a "aws/request.Request" representing the // client's request for the RefreshSchemas operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RefreshSchemas for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RefreshSchemas method directly -// instead. +// See RefreshSchemas for more information on using the RefreshSchemas +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RefreshSchemasRequest method. // req, resp := client.RefreshSchemasRequest(params) @@ -3721,19 +3686,18 @@ const opReloadTables = "ReloadTables" // ReloadTablesRequest generates a "aws/request.Request" representing the // client's request for the ReloadTables operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ReloadTables for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ReloadTables method directly -// instead. +// See ReloadTables for more information on using the ReloadTables +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ReloadTablesRequest method. // req, resp := client.ReloadTablesRequest(params) @@ -3805,19 +3769,18 @@ const opRemoveTagsFromResource = "RemoveTagsFromResource" // RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the // client's request for the RemoveTagsFromResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveTagsFromResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveTagsFromResource method directly -// instead. +// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveTagsFromResourceRequest method. // req, resp := client.RemoveTagsFromResourceRequest(params) @@ -3885,19 +3848,18 @@ const opStartReplicationTask = "StartReplicationTask" // StartReplicationTaskRequest generates a "aws/request.Request" representing the // client's request for the StartReplicationTask operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartReplicationTask for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartReplicationTask method directly -// instead. +// See StartReplicationTask for more information on using the StartReplicationTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartReplicationTaskRequest method. // req, resp := client.StartReplicationTaskRequest(params) @@ -3972,19 +3934,18 @@ const opStopReplicationTask = "StopReplicationTask" // StopReplicationTaskRequest generates a "aws/request.Request" representing the // client's request for the StopReplicationTask operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StopReplicationTask for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StopReplicationTask method directly -// instead. +// See StopReplicationTask for more information on using the StopReplicationTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StopReplicationTaskRequest method. // req, resp := client.StopReplicationTaskRequest(params) @@ -4056,19 +4017,18 @@ const opTestConnection = "TestConnection" // TestConnectionRequest generates a "aws/request.Request" representing the // client's request for the TestConnection operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TestConnection for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TestConnection method directly -// instead. +// See TestConnection for more information on using the TestConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TestConnectionRequest method. // req, resp := client.TestConnectionRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/databasemigrationserviceiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/databasemigrationserviceiface/interface.go index 75018019e..1e4ad149c 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/databasemigrationserviceiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/databasemigrationserviceiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Database Migration Service. diff --git a/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/doc.go b/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/doc.go index e773cf260..159b26156 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/doc.go @@ -21,69 +21,17 @@ // // Using the Client // -// To use the client for AWS Database Migration Service you will first need -// to create a new instance of it. +// To AWS Database Migration Service with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := databasemigrationservice.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Database Migration Service client DatabaseMigrationService for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/databasemigrationservice/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AddTagsToResource(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AddTagsToResource result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AddTagsToResourceWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package databasemigrationservice diff --git a/vendor/github.com/aws/aws-sdk-go/service/datapipeline/api.go b/vendor/github.com/aws/aws-sdk-go/service/datapipeline/api.go index c0fb73519..25edc7032 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/datapipeline/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/datapipeline/api.go @@ -17,19 +17,18 @@ const opActivatePipeline = "ActivatePipeline" // ActivatePipelineRequest generates a "aws/request.Request" representing the // client's request for the ActivatePipeline operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ActivatePipeline for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ActivatePipeline method directly -// instead. +// See ActivatePipeline for more information on using the ActivatePipeline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ActivatePipelineRequest method. // req, resp := client.ActivatePipelineRequest(params) @@ -116,19 +115,18 @@ const opAddTags = "AddTags" // AddTagsRequest generates a "aws/request.Request" representing the // client's request for the AddTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddTags method directly -// instead. +// See AddTags for more information on using the AddTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddTagsRequest method. // req, resp := client.AddTagsRequest(params) @@ -208,19 +206,18 @@ const opCreatePipeline = "CreatePipeline" // CreatePipelineRequest generates a "aws/request.Request" representing the // client's request for the CreatePipeline operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreatePipeline for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreatePipeline method directly -// instead. +// See CreatePipeline for more information on using the CreatePipeline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreatePipelineRequest method. // req, resp := client.CreatePipelineRequest(params) @@ -294,19 +291,18 @@ const opDeactivatePipeline = "DeactivatePipeline" // DeactivatePipelineRequest generates a "aws/request.Request" representing the // client's request for the DeactivatePipeline operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeactivatePipeline for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeactivatePipeline method directly -// instead. +// See DeactivatePipeline for more information on using the DeactivatePipeline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeactivatePipelineRequest method. // req, resp := client.DeactivatePipelineRequest(params) @@ -391,19 +387,18 @@ const opDeletePipeline = "DeletePipeline" // DeletePipelineRequest generates a "aws/request.Request" representing the // client's request for the DeletePipeline operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeletePipeline for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeletePipeline method directly -// instead. +// See DeletePipeline for more information on using the DeletePipeline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeletePipelineRequest method. // req, resp := client.DeletePipelineRequest(params) @@ -489,19 +484,18 @@ const opDescribeObjects = "DescribeObjects" // DescribeObjectsRequest generates a "aws/request.Request" representing the // client's request for the DescribeObjects operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeObjects for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeObjects method directly -// instead. +// See DescribeObjects for more information on using the DescribeObjects +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeObjectsRequest method. // req, resp := client.DescribeObjectsRequest(params) @@ -639,19 +633,18 @@ const opDescribePipelines = "DescribePipelines" // DescribePipelinesRequest generates a "aws/request.Request" representing the // client's request for the DescribePipelines operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribePipelines for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribePipelines method directly -// instead. +// See DescribePipelines for more information on using the DescribePipelines +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribePipelinesRequest method. // req, resp := client.DescribePipelinesRequest(params) @@ -739,19 +732,18 @@ const opEvaluateExpression = "EvaluateExpression" // EvaluateExpressionRequest generates a "aws/request.Request" representing the // client's request for the EvaluateExpression operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EvaluateExpression for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EvaluateExpression method directly -// instead. +// See EvaluateExpression for more information on using the EvaluateExpression +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EvaluateExpressionRequest method. // req, resp := client.EvaluateExpressionRequest(params) @@ -836,19 +828,18 @@ const opGetPipelineDefinition = "GetPipelineDefinition" // GetPipelineDefinitionRequest generates a "aws/request.Request" representing the // client's request for the GetPipelineDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetPipelineDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetPipelineDefinition method directly -// instead. +// See GetPipelineDefinition for more information on using the GetPipelineDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetPipelineDefinitionRequest method. // req, resp := client.GetPipelineDefinitionRequest(params) @@ -929,19 +920,18 @@ const opListPipelines = "ListPipelines" // ListPipelinesRequest generates a "aws/request.Request" representing the // client's request for the ListPipelines operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListPipelines for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListPipelines method directly -// instead. +// See ListPipelines for more information on using the ListPipelines +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPipelinesRequest method. // req, resp := client.ListPipelinesRequest(params) @@ -1071,19 +1061,18 @@ const opPollForTask = "PollForTask" // PollForTaskRequest generates a "aws/request.Request" representing the // client's request for the PollForTask operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PollForTask for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PollForTask method directly -// instead. +// See PollForTask for more information on using the PollForTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PollForTaskRequest method. // req, resp := client.PollForTaskRequest(params) @@ -1172,19 +1161,18 @@ const opPutPipelineDefinition = "PutPipelineDefinition" // PutPipelineDefinitionRequest generates a "aws/request.Request" representing the // client's request for the PutPipelineDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutPipelineDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutPipelineDefinition method directly -// instead. +// See PutPipelineDefinition for more information on using the PutPipelineDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutPipelineDefinitionRequest method. // req, resp := client.PutPipelineDefinitionRequest(params) @@ -1277,19 +1265,18 @@ const opQueryObjects = "QueryObjects" // QueryObjectsRequest generates a "aws/request.Request" representing the // client's request for the QueryObjects operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See QueryObjects for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the QueryObjects method directly -// instead. +// See QueryObjects for more information on using the QueryObjects +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the QueryObjectsRequest method. // req, resp := client.QueryObjectsRequest(params) @@ -1426,19 +1413,18 @@ const opRemoveTags = "RemoveTags" // RemoveTagsRequest generates a "aws/request.Request" representing the // client's request for the RemoveTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveTags method directly -// instead. +// See RemoveTags for more information on using the RemoveTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveTagsRequest method. // req, resp := client.RemoveTagsRequest(params) @@ -1518,19 +1504,18 @@ const opReportTaskProgress = "ReportTaskProgress" // ReportTaskProgressRequest generates a "aws/request.Request" representing the // client's request for the ReportTaskProgress operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ReportTaskProgress for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ReportTaskProgress method directly -// instead. +// See ReportTaskProgress for more information on using the ReportTaskProgress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ReportTaskProgressRequest method. // req, resp := client.ReportTaskProgressRequest(params) @@ -1624,19 +1609,18 @@ const opReportTaskRunnerHeartbeat = "ReportTaskRunnerHeartbeat" // ReportTaskRunnerHeartbeatRequest generates a "aws/request.Request" representing the // client's request for the ReportTaskRunnerHeartbeat operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ReportTaskRunnerHeartbeat for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ReportTaskRunnerHeartbeat method directly -// instead. +// See ReportTaskRunnerHeartbeat for more information on using the ReportTaskRunnerHeartbeat +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ReportTaskRunnerHeartbeatRequest method. // req, resp := client.ReportTaskRunnerHeartbeatRequest(params) @@ -1713,19 +1697,18 @@ const opSetStatus = "SetStatus" // SetStatusRequest generates a "aws/request.Request" representing the // client's request for the SetStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetStatus method directly -// instead. +// See SetStatus for more information on using the SetStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetStatusRequest method. // req, resp := client.SetStatusRequest(params) @@ -1811,19 +1794,18 @@ const opSetTaskStatus = "SetTaskStatus" // SetTaskStatusRequest generates a "aws/request.Request" representing the // client's request for the SetTaskStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetTaskStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetTaskStatus method directly -// instead. +// See SetTaskStatus for more information on using the SetTaskStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetTaskStatusRequest method. // req, resp := client.SetTaskStatusRequest(params) @@ -1910,19 +1892,18 @@ const opValidatePipelineDefinition = "ValidatePipelineDefinition" // ValidatePipelineDefinitionRequest generates a "aws/request.Request" representing the // client's request for the ValidatePipelineDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ValidatePipelineDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ValidatePipelineDefinition method directly -// instead. +// See ValidatePipelineDefinition for more information on using the ValidatePipelineDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ValidatePipelineDefinitionRequest method. // req, resp := client.ValidatePipelineDefinitionRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/datapipeline/datapipelineiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/datapipeline/datapipelineiface/interface.go index 5920adadb..068d47cd9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/datapipeline/datapipelineiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/datapipeline/datapipelineiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Data Pipeline. diff --git a/vendor/github.com/aws/aws-sdk-go/service/datapipeline/doc.go b/vendor/github.com/aws/aws-sdk-go/service/datapipeline/doc.go index a178a6506..ae49a4f1f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/datapipeline/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/datapipeline/doc.go @@ -33,69 +33,17 @@ // // Using the Client // -// To use the client for AWS Data Pipeline you will first need -// to create a new instance of it. +// To AWS Data Pipeline with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := datapipeline.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Data Pipeline client DataPipeline for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/datapipeline/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.ActivatePipeline(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("ActivatePipeline result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.ActivatePipelineWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package datapipeline diff --git a/vendor/github.com/aws/aws-sdk-go/service/dax/api.go b/vendor/github.com/aws/aws-sdk-go/service/dax/api.go index b92f875a2..a5e0c34e9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dax/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dax/api.go @@ -14,19 +14,18 @@ const opCreateCluster = "CreateCluster" // CreateClusterRequest generates a "aws/request.Request" representing the // client's request for the CreateCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateCluster method directly -// instead. +// See CreateCluster for more information on using the CreateCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateClusterRequest method. // req, resp := client.CreateClusterRequest(params) @@ -133,19 +132,18 @@ const opCreateParameterGroup = "CreateParameterGroup" // CreateParameterGroupRequest generates a "aws/request.Request" representing the // client's request for the CreateParameterGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateParameterGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateParameterGroup method directly -// instead. +// See CreateParameterGroup for more information on using the CreateParameterGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateParameterGroupRequest method. // req, resp := client.CreateParameterGroupRequest(params) @@ -226,19 +224,18 @@ const opCreateSubnetGroup = "CreateSubnetGroup" // CreateSubnetGroupRequest generates a "aws/request.Request" representing the // client's request for the CreateSubnetGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateSubnetGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateSubnetGroup method directly -// instead. +// See CreateSubnetGroup for more information on using the CreateSubnetGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateSubnetGroupRequest method. // req, resp := client.CreateSubnetGroupRequest(params) @@ -317,19 +314,18 @@ const opDecreaseReplicationFactor = "DecreaseReplicationFactor" // DecreaseReplicationFactorRequest generates a "aws/request.Request" representing the // client's request for the DecreaseReplicationFactor operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DecreaseReplicationFactor for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DecreaseReplicationFactor method directly -// instead. +// See DecreaseReplicationFactor for more information on using the DecreaseReplicationFactor +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DecreaseReplicationFactorRequest method. // req, resp := client.DecreaseReplicationFactorRequest(params) @@ -412,19 +408,18 @@ const opDeleteCluster = "DeleteCluster" // DeleteClusterRequest generates a "aws/request.Request" representing the // client's request for the DeleteCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteCluster method directly -// instead. +// See DeleteCluster for more information on using the DeleteCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteClusterRequest method. // req, resp := client.DeleteClusterRequest(params) @@ -504,19 +499,18 @@ const opDeleteParameterGroup = "DeleteParameterGroup" // DeleteParameterGroupRequest generates a "aws/request.Request" representing the // client's request for the DeleteParameterGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteParameterGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteParameterGroup method directly -// instead. +// See DeleteParameterGroup for more information on using the DeleteParameterGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteParameterGroupRequest method. // req, resp := client.DeleteParameterGroupRequest(params) @@ -594,19 +588,18 @@ const opDeleteSubnetGroup = "DeleteSubnetGroup" // DeleteSubnetGroupRequest generates a "aws/request.Request" representing the // client's request for the DeleteSubnetGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSubnetGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSubnetGroup method directly -// instead. +// See DeleteSubnetGroup for more information on using the DeleteSubnetGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSubnetGroupRequest method. // req, resp := client.DeleteSubnetGroupRequest(params) @@ -679,19 +672,18 @@ const opDescribeClusters = "DescribeClusters" // DescribeClustersRequest generates a "aws/request.Request" representing the // client's request for the DescribeClusters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeClusters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeClusters method directly -// instead. +// See DescribeClusters for more information on using the DescribeClusters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeClustersRequest method. // req, resp := client.DescribeClustersRequest(params) @@ -781,19 +773,18 @@ const opDescribeDefaultParameters = "DescribeDefaultParameters" // DescribeDefaultParametersRequest generates a "aws/request.Request" representing the // client's request for the DescribeDefaultParameters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDefaultParameters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDefaultParameters method directly -// instead. +// See DescribeDefaultParameters for more information on using the DescribeDefaultParameters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDefaultParametersRequest method. // req, resp := client.DescribeDefaultParametersRequest(params) @@ -864,19 +855,18 @@ const opDescribeEvents = "DescribeEvents" // DescribeEventsRequest generates a "aws/request.Request" representing the // client's request for the DescribeEvents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEvents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEvents method directly -// instead. +// See DescribeEvents for more information on using the DescribeEvents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEventsRequest method. // req, resp := client.DescribeEventsRequest(params) @@ -952,19 +942,18 @@ const opDescribeParameterGroups = "DescribeParameterGroups" // DescribeParameterGroupsRequest generates a "aws/request.Request" representing the // client's request for the DescribeParameterGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeParameterGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeParameterGroups method directly -// instead. +// See DescribeParameterGroups for more information on using the DescribeParameterGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeParameterGroupsRequest method. // req, resp := client.DescribeParameterGroupsRequest(params) @@ -1039,19 +1028,18 @@ const opDescribeParameters = "DescribeParameters" // DescribeParametersRequest generates a "aws/request.Request" representing the // client's request for the DescribeParameters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeParameters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeParameters method directly -// instead. +// See DescribeParameters for more information on using the DescribeParameters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeParametersRequest method. // req, resp := client.DescribeParametersRequest(params) @@ -1125,19 +1113,18 @@ const opDescribeSubnetGroups = "DescribeSubnetGroups" // DescribeSubnetGroupsRequest generates a "aws/request.Request" representing the // client's request for the DescribeSubnetGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSubnetGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSubnetGroups method directly -// instead. +// See DescribeSubnetGroups for more information on using the DescribeSubnetGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSubnetGroupsRequest method. // req, resp := client.DescribeSubnetGroupsRequest(params) @@ -1206,19 +1193,18 @@ const opIncreaseReplicationFactor = "IncreaseReplicationFactor" // IncreaseReplicationFactorRequest generates a "aws/request.Request" representing the // client's request for the IncreaseReplicationFactor operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See IncreaseReplicationFactor for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the IncreaseReplicationFactor method directly -// instead. +// See IncreaseReplicationFactor for more information on using the IncreaseReplicationFactor +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the IncreaseReplicationFactorRequest method. // req, resp := client.IncreaseReplicationFactorRequest(params) @@ -1308,19 +1294,18 @@ const opListTags = "ListTags" // ListTagsRequest generates a "aws/request.Request" representing the // client's request for the ListTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTags method directly -// instead. +// See ListTags for more information on using the ListTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTagsRequest method. // req, resp := client.ListTagsRequest(params) @@ -1401,19 +1386,18 @@ const opRebootNode = "RebootNode" // RebootNodeRequest generates a "aws/request.Request" representing the // client's request for the RebootNode operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RebootNode for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RebootNode method directly -// instead. +// See RebootNode for more information on using the RebootNode +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RebootNodeRequest method. // req, resp := client.RebootNodeRequest(params) @@ -1494,19 +1478,18 @@ const opTagResource = "TagResource" // TagResourceRequest generates a "aws/request.Request" representing the // client's request for the TagResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TagResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TagResource method directly -// instead. +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TagResourceRequest method. // req, resp := client.TagResourceRequest(params) @@ -1590,19 +1573,18 @@ const opUntagResource = "UntagResource" // UntagResourceRequest generates a "aws/request.Request" representing the // client's request for the UntagResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UntagResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UntagResource method directly -// instead. +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UntagResourceRequest method. // req, resp := client.UntagResourceRequest(params) @@ -1686,19 +1668,18 @@ const opUpdateCluster = "UpdateCluster" // UpdateClusterRequest generates a "aws/request.Request" representing the // client's request for the UpdateCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateCluster method directly -// instead. +// See UpdateCluster for more information on using the UpdateCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateClusterRequest method. // req, resp := client.UpdateClusterRequest(params) @@ -1783,19 +1764,18 @@ const opUpdateParameterGroup = "UpdateParameterGroup" // UpdateParameterGroupRequest generates a "aws/request.Request" representing the // client's request for the UpdateParameterGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateParameterGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateParameterGroup method directly -// instead. +// See UpdateParameterGroup for more information on using the UpdateParameterGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateParameterGroupRequest method. // req, resp := client.UpdateParameterGroupRequest(params) @@ -1873,19 +1853,18 @@ const opUpdateSubnetGroup = "UpdateSubnetGroup" // UpdateSubnetGroupRequest generates a "aws/request.Request" representing the // client's request for the UpdateSubnetGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateSubnetGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateSubnetGroup method directly -// instead. +// See UpdateSubnetGroup for more information on using the UpdateSubnetGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateSubnetGroupRequest method. // req, resp := client.UpdateSubnetGroupRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/dax/daxiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/dax/daxiface/interface.go index 60e08848e..e6901fda8 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dax/daxiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dax/daxiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon DynamoDB Accelerator (DAX). diff --git a/vendor/github.com/aws/aws-sdk-go/service/dax/doc.go b/vendor/github.com/aws/aws-sdk-go/service/dax/doc.go index 72f0e0cd9..4ab4c3ea9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dax/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dax/doc.go @@ -17,69 +17,17 @@ // // Using the Client // -// To use the client for Amazon DynamoDB Accelerator (DAX) you will first need -// to create a new instance of it. +// To Amazon DynamoDB Accelerator (DAX) with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := dax.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon DynamoDB Accelerator (DAX) client DAX for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/dax/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CreateCluster(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CreateCluster result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CreateClusterWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package dax diff --git a/vendor/github.com/aws/aws-sdk-go/service/devicefarm/api.go b/vendor/github.com/aws/aws-sdk-go/service/devicefarm/api.go index 7f4e61d94..b3deae70b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/devicefarm/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/devicefarm/api.go @@ -14,19 +14,18 @@ const opCreateDevicePool = "CreateDevicePool" // CreateDevicePoolRequest generates a "aws/request.Request" representing the // client's request for the CreateDevicePool operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDevicePool for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDevicePool method directly -// instead. +// See CreateDevicePool for more information on using the CreateDevicePool +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDevicePoolRequest method. // req, resp := client.CreateDevicePoolRequest(params) @@ -103,19 +102,18 @@ const opCreateNetworkProfile = "CreateNetworkProfile" // CreateNetworkProfileRequest generates a "aws/request.Request" representing the // client's request for the CreateNetworkProfile operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateNetworkProfile for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateNetworkProfile method directly -// instead. +// See CreateNetworkProfile for more information on using the CreateNetworkProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateNetworkProfileRequest method. // req, resp := client.CreateNetworkProfileRequest(params) @@ -192,19 +190,18 @@ const opCreateProject = "CreateProject" // CreateProjectRequest generates a "aws/request.Request" representing the // client's request for the CreateProject operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateProject for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateProject method directly -// instead. +// See CreateProject for more information on using the CreateProject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateProjectRequest method. // req, resp := client.CreateProjectRequest(params) @@ -281,19 +278,18 @@ const opCreateRemoteAccessSession = "CreateRemoteAccessSession" // CreateRemoteAccessSessionRequest generates a "aws/request.Request" representing the // client's request for the CreateRemoteAccessSession operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateRemoteAccessSession for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateRemoteAccessSession method directly -// instead. +// See CreateRemoteAccessSession for more information on using the CreateRemoteAccessSession +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateRemoteAccessSessionRequest method. // req, resp := client.CreateRemoteAccessSessionRequest(params) @@ -370,19 +366,18 @@ const opCreateUpload = "CreateUpload" // CreateUploadRequest generates a "aws/request.Request" representing the // client's request for the CreateUpload operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateUpload for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateUpload method directly -// instead. +// See CreateUpload for more information on using the CreateUpload +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateUploadRequest method. // req, resp := client.CreateUploadRequest(params) @@ -459,19 +454,18 @@ const opDeleteDevicePool = "DeleteDevicePool" // DeleteDevicePoolRequest generates a "aws/request.Request" representing the // client's request for the DeleteDevicePool operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDevicePool for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDevicePool method directly -// instead. +// See DeleteDevicePool for more information on using the DeleteDevicePool +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDevicePoolRequest method. // req, resp := client.DeleteDevicePoolRequest(params) @@ -549,19 +543,18 @@ const opDeleteNetworkProfile = "DeleteNetworkProfile" // DeleteNetworkProfileRequest generates a "aws/request.Request" representing the // client's request for the DeleteNetworkProfile operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteNetworkProfile for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteNetworkProfile method directly -// instead. +// See DeleteNetworkProfile for more information on using the DeleteNetworkProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteNetworkProfileRequest method. // req, resp := client.DeleteNetworkProfileRequest(params) @@ -638,19 +631,18 @@ const opDeleteProject = "DeleteProject" // DeleteProjectRequest generates a "aws/request.Request" representing the // client's request for the DeleteProject operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteProject for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteProject method directly -// instead. +// See DeleteProject for more information on using the DeleteProject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteProjectRequest method. // req, resp := client.DeleteProjectRequest(params) @@ -729,19 +721,18 @@ const opDeleteRemoteAccessSession = "DeleteRemoteAccessSession" // DeleteRemoteAccessSessionRequest generates a "aws/request.Request" representing the // client's request for the DeleteRemoteAccessSession operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteRemoteAccessSession for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteRemoteAccessSession method directly -// instead. +// See DeleteRemoteAccessSession for more information on using the DeleteRemoteAccessSession +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteRemoteAccessSessionRequest method. // req, resp := client.DeleteRemoteAccessSessionRequest(params) @@ -818,19 +809,18 @@ const opDeleteRun = "DeleteRun" // DeleteRunRequest generates a "aws/request.Request" representing the // client's request for the DeleteRun operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteRun for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteRun method directly -// instead. +// See DeleteRun for more information on using the DeleteRun +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteRunRequest method. // req, resp := client.DeleteRunRequest(params) @@ -909,19 +899,18 @@ const opDeleteUpload = "DeleteUpload" // DeleteUploadRequest generates a "aws/request.Request" representing the // client's request for the DeleteUpload operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteUpload for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteUpload method directly -// instead. +// See DeleteUpload for more information on using the DeleteUpload +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteUploadRequest method. // req, resp := client.DeleteUploadRequest(params) @@ -998,19 +987,18 @@ const opGetAccountSettings = "GetAccountSettings" // GetAccountSettingsRequest generates a "aws/request.Request" representing the // client's request for the GetAccountSettings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetAccountSettings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetAccountSettings method directly -// instead. +// See GetAccountSettings for more information on using the GetAccountSettings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetAccountSettingsRequest method. // req, resp := client.GetAccountSettingsRequest(params) @@ -1088,19 +1076,18 @@ const opGetDevice = "GetDevice" // GetDeviceRequest generates a "aws/request.Request" representing the // client's request for the GetDevice operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDevice for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDevice method directly -// instead. +// See GetDevice for more information on using the GetDevice +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDeviceRequest method. // req, resp := client.GetDeviceRequest(params) @@ -1177,19 +1164,18 @@ const opGetDevicePool = "GetDevicePool" // GetDevicePoolRequest generates a "aws/request.Request" representing the // client's request for the GetDevicePool operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDevicePool for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDevicePool method directly -// instead. +// See GetDevicePool for more information on using the GetDevicePool +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDevicePoolRequest method. // req, resp := client.GetDevicePoolRequest(params) @@ -1266,19 +1252,18 @@ const opGetDevicePoolCompatibility = "GetDevicePoolCompatibility" // GetDevicePoolCompatibilityRequest generates a "aws/request.Request" representing the // client's request for the GetDevicePoolCompatibility operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDevicePoolCompatibility for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDevicePoolCompatibility method directly -// instead. +// See GetDevicePoolCompatibility for more information on using the GetDevicePoolCompatibility +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDevicePoolCompatibilityRequest method. // req, resp := client.GetDevicePoolCompatibilityRequest(params) @@ -1355,19 +1340,18 @@ const opGetJob = "GetJob" // GetJobRequest generates a "aws/request.Request" representing the // client's request for the GetJob operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetJob for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetJob method directly -// instead. +// See GetJob for more information on using the GetJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetJobRequest method. // req, resp := client.GetJobRequest(params) @@ -1444,19 +1428,18 @@ const opGetNetworkProfile = "GetNetworkProfile" // GetNetworkProfileRequest generates a "aws/request.Request" representing the // client's request for the GetNetworkProfile operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetNetworkProfile for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetNetworkProfile method directly -// instead. +// See GetNetworkProfile for more information on using the GetNetworkProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetNetworkProfileRequest method. // req, resp := client.GetNetworkProfileRequest(params) @@ -1533,19 +1516,18 @@ const opGetOfferingStatus = "GetOfferingStatus" // GetOfferingStatusRequest generates a "aws/request.Request" representing the // client's request for the GetOfferingStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetOfferingStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetOfferingStatus method directly -// instead. +// See GetOfferingStatus for more information on using the GetOfferingStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetOfferingStatusRequest method. // req, resp := client.GetOfferingStatusRequest(params) @@ -1687,19 +1669,18 @@ const opGetProject = "GetProject" // GetProjectRequest generates a "aws/request.Request" representing the // client's request for the GetProject operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetProject for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetProject method directly -// instead. +// See GetProject for more information on using the GetProject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetProjectRequest method. // req, resp := client.GetProjectRequest(params) @@ -1776,19 +1757,18 @@ const opGetRemoteAccessSession = "GetRemoteAccessSession" // GetRemoteAccessSessionRequest generates a "aws/request.Request" representing the // client's request for the GetRemoteAccessSession operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetRemoteAccessSession for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetRemoteAccessSession method directly -// instead. +// See GetRemoteAccessSession for more information on using the GetRemoteAccessSession +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetRemoteAccessSessionRequest method. // req, resp := client.GetRemoteAccessSessionRequest(params) @@ -1865,19 +1845,18 @@ const opGetRun = "GetRun" // GetRunRequest generates a "aws/request.Request" representing the // client's request for the GetRun operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetRun for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetRun method directly -// instead. +// See GetRun for more information on using the GetRun +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetRunRequest method. // req, resp := client.GetRunRequest(params) @@ -1954,19 +1933,18 @@ const opGetSuite = "GetSuite" // GetSuiteRequest generates a "aws/request.Request" representing the // client's request for the GetSuite operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSuite for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSuite method directly -// instead. +// See GetSuite for more information on using the GetSuite +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSuiteRequest method. // req, resp := client.GetSuiteRequest(params) @@ -2043,19 +2021,18 @@ const opGetTest = "GetTest" // GetTestRequest generates a "aws/request.Request" representing the // client's request for the GetTest operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetTest for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetTest method directly -// instead. +// See GetTest for more information on using the GetTest +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetTestRequest method. // req, resp := client.GetTestRequest(params) @@ -2132,19 +2109,18 @@ const opGetUpload = "GetUpload" // GetUploadRequest generates a "aws/request.Request" representing the // client's request for the GetUpload operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetUpload for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetUpload method directly -// instead. +// See GetUpload for more information on using the GetUpload +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetUploadRequest method. // req, resp := client.GetUploadRequest(params) @@ -2221,19 +2197,18 @@ const opInstallToRemoteAccessSession = "InstallToRemoteAccessSession" // InstallToRemoteAccessSessionRequest generates a "aws/request.Request" representing the // client's request for the InstallToRemoteAccessSession operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InstallToRemoteAccessSession for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InstallToRemoteAccessSession method directly -// instead. +// See InstallToRemoteAccessSession for more information on using the InstallToRemoteAccessSession +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InstallToRemoteAccessSessionRequest method. // req, resp := client.InstallToRemoteAccessSessionRequest(params) @@ -2312,19 +2287,18 @@ const opListArtifacts = "ListArtifacts" // ListArtifactsRequest generates a "aws/request.Request" representing the // client's request for the ListArtifacts operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListArtifacts for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListArtifacts method directly -// instead. +// See ListArtifacts for more information on using the ListArtifacts +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListArtifactsRequest method. // req, resp := client.ListArtifactsRequest(params) @@ -2457,19 +2431,18 @@ const opListDevicePools = "ListDevicePools" // ListDevicePoolsRequest generates a "aws/request.Request" representing the // client's request for the ListDevicePools operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDevicePools for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDevicePools method directly -// instead. +// See ListDevicePools for more information on using the ListDevicePools +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDevicePoolsRequest method. // req, resp := client.ListDevicePoolsRequest(params) @@ -2602,19 +2575,18 @@ const opListDevices = "ListDevices" // ListDevicesRequest generates a "aws/request.Request" representing the // client's request for the ListDevices operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDevices for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDevices method directly -// instead. +// See ListDevices for more information on using the ListDevices +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDevicesRequest method. // req, resp := client.ListDevicesRequest(params) @@ -2747,19 +2719,18 @@ const opListJobs = "ListJobs" // ListJobsRequest generates a "aws/request.Request" representing the // client's request for the ListJobs operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListJobs for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListJobs method directly -// instead. +// See ListJobs for more information on using the ListJobs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListJobsRequest method. // req, resp := client.ListJobsRequest(params) @@ -2892,19 +2863,18 @@ const opListNetworkProfiles = "ListNetworkProfiles" // ListNetworkProfilesRequest generates a "aws/request.Request" representing the // client's request for the ListNetworkProfiles operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListNetworkProfiles for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListNetworkProfiles method directly -// instead. +// See ListNetworkProfiles for more information on using the ListNetworkProfiles +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListNetworkProfilesRequest method. // req, resp := client.ListNetworkProfilesRequest(params) @@ -2981,19 +2951,18 @@ const opListOfferingPromotions = "ListOfferingPromotions" // ListOfferingPromotionsRequest generates a "aws/request.Request" representing the // client's request for the ListOfferingPromotions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListOfferingPromotions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListOfferingPromotions method directly -// instead. +// See ListOfferingPromotions for more information on using the ListOfferingPromotions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListOfferingPromotionsRequest method. // req, resp := client.ListOfferingPromotionsRequest(params) @@ -3078,19 +3047,18 @@ const opListOfferingTransactions = "ListOfferingTransactions" // ListOfferingTransactionsRequest generates a "aws/request.Request" representing the // client's request for the ListOfferingTransactions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListOfferingTransactions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListOfferingTransactions method directly -// instead. +// See ListOfferingTransactions for more information on using the ListOfferingTransactions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListOfferingTransactionsRequest method. // req, resp := client.ListOfferingTransactionsRequest(params) @@ -3232,19 +3200,18 @@ const opListOfferings = "ListOfferings" // ListOfferingsRequest generates a "aws/request.Request" representing the // client's request for the ListOfferings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListOfferings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListOfferings method directly -// instead. +// See ListOfferings for more information on using the ListOfferings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListOfferingsRequest method. // req, resp := client.ListOfferingsRequest(params) @@ -3386,19 +3353,18 @@ const opListProjects = "ListProjects" // ListProjectsRequest generates a "aws/request.Request" representing the // client's request for the ListProjects operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListProjects for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListProjects method directly -// instead. +// See ListProjects for more information on using the ListProjects +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListProjectsRequest method. // req, resp := client.ListProjectsRequest(params) @@ -3531,19 +3497,18 @@ const opListRemoteAccessSessions = "ListRemoteAccessSessions" // ListRemoteAccessSessionsRequest generates a "aws/request.Request" representing the // client's request for the ListRemoteAccessSessions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListRemoteAccessSessions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListRemoteAccessSessions method directly -// instead. +// See ListRemoteAccessSessions for more information on using the ListRemoteAccessSessions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListRemoteAccessSessionsRequest method. // req, resp := client.ListRemoteAccessSessionsRequest(params) @@ -3620,19 +3585,18 @@ const opListRuns = "ListRuns" // ListRunsRequest generates a "aws/request.Request" representing the // client's request for the ListRuns operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListRuns for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListRuns method directly -// instead. +// See ListRuns for more information on using the ListRuns +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListRunsRequest method. // req, resp := client.ListRunsRequest(params) @@ -3765,19 +3729,18 @@ const opListSamples = "ListSamples" // ListSamplesRequest generates a "aws/request.Request" representing the // client's request for the ListSamples operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListSamples for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListSamples method directly -// instead. +// See ListSamples for more information on using the ListSamples +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListSamplesRequest method. // req, resp := client.ListSamplesRequest(params) @@ -3910,19 +3873,18 @@ const opListSuites = "ListSuites" // ListSuitesRequest generates a "aws/request.Request" representing the // client's request for the ListSuites operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListSuites for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListSuites method directly -// instead. +// See ListSuites for more information on using the ListSuites +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListSuitesRequest method. // req, resp := client.ListSuitesRequest(params) @@ -4055,19 +4017,18 @@ const opListTests = "ListTests" // ListTestsRequest generates a "aws/request.Request" representing the // client's request for the ListTests operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTests for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTests method directly -// instead. +// See ListTests for more information on using the ListTests +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTestsRequest method. // req, resp := client.ListTestsRequest(params) @@ -4200,19 +4161,18 @@ const opListUniqueProblems = "ListUniqueProblems" // ListUniqueProblemsRequest generates a "aws/request.Request" representing the // client's request for the ListUniqueProblems operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListUniqueProblems for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListUniqueProblems method directly -// instead. +// See ListUniqueProblems for more information on using the ListUniqueProblems +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListUniqueProblemsRequest method. // req, resp := client.ListUniqueProblemsRequest(params) @@ -4345,19 +4305,18 @@ const opListUploads = "ListUploads" // ListUploadsRequest generates a "aws/request.Request" representing the // client's request for the ListUploads operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListUploads for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListUploads method directly -// instead. +// See ListUploads for more information on using the ListUploads +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListUploadsRequest method. // req, resp := client.ListUploadsRequest(params) @@ -4490,19 +4449,18 @@ const opPurchaseOffering = "PurchaseOffering" // PurchaseOfferingRequest generates a "aws/request.Request" representing the // client's request for the PurchaseOffering operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PurchaseOffering for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PurchaseOffering method directly -// instead. +// See PurchaseOffering for more information on using the PurchaseOffering +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PurchaseOfferingRequest method. // req, resp := client.PurchaseOfferingRequest(params) @@ -4588,19 +4546,18 @@ const opRenewOffering = "RenewOffering" // RenewOfferingRequest generates a "aws/request.Request" representing the // client's request for the RenewOffering operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RenewOffering for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RenewOffering method directly -// instead. +// See RenewOffering for more information on using the RenewOffering +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RenewOfferingRequest method. // req, resp := client.RenewOfferingRequest(params) @@ -4685,19 +4642,18 @@ const opScheduleRun = "ScheduleRun" // ScheduleRunRequest generates a "aws/request.Request" representing the // client's request for the ScheduleRun operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ScheduleRun for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ScheduleRun method directly -// instead. +// See ScheduleRun for more information on using the ScheduleRun +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ScheduleRunRequest method. // req, resp := client.ScheduleRunRequest(params) @@ -4777,19 +4733,18 @@ const opStopRemoteAccessSession = "StopRemoteAccessSession" // StopRemoteAccessSessionRequest generates a "aws/request.Request" representing the // client's request for the StopRemoteAccessSession operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StopRemoteAccessSession for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StopRemoteAccessSession method directly -// instead. +// See StopRemoteAccessSession for more information on using the StopRemoteAccessSession +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StopRemoteAccessSessionRequest method. // req, resp := client.StopRemoteAccessSessionRequest(params) @@ -4866,19 +4821,18 @@ const opStopRun = "StopRun" // StopRunRequest generates a "aws/request.Request" representing the // client's request for the StopRun operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StopRun for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StopRun method directly -// instead. +// See StopRun for more information on using the StopRun +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StopRunRequest method. // req, resp := client.StopRunRequest(params) @@ -4960,19 +4914,18 @@ const opUpdateDevicePool = "UpdateDevicePool" // UpdateDevicePoolRequest generates a "aws/request.Request" representing the // client's request for the UpdateDevicePool operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateDevicePool for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateDevicePool method directly -// instead. +// See UpdateDevicePool for more information on using the UpdateDevicePool +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateDevicePoolRequest method. // req, resp := client.UpdateDevicePoolRequest(params) @@ -5051,19 +5004,18 @@ const opUpdateNetworkProfile = "UpdateNetworkProfile" // UpdateNetworkProfileRequest generates a "aws/request.Request" representing the // client's request for the UpdateNetworkProfile operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateNetworkProfile for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateNetworkProfile method directly -// instead. +// See UpdateNetworkProfile for more information on using the UpdateNetworkProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateNetworkProfileRequest method. // req, resp := client.UpdateNetworkProfileRequest(params) @@ -5140,19 +5092,18 @@ const opUpdateProject = "UpdateProject" // UpdateProjectRequest generates a "aws/request.Request" representing the // client's request for the UpdateProject operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateProject for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateProject method directly -// instead. +// See UpdateProject for more information on using the UpdateProject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateProjectRequest method. // req, resp := client.UpdateProjectRequest(params) @@ -5931,6 +5882,12 @@ func (s *CreateRemoteAccessSessionConfiguration) SetBillingMethod(v string) *Cre type CreateRemoteAccessSessionInput struct { _ struct{} `type:"structure"` + // Unique identifier for the client. If you want access to multiple devices + // on the same client, you should pass the same clientId value in each call + // to CreateRemoteAccessSession. This is required only if remoteDebugEnabled + // is set to true true. + ClientId *string `locationName:"clientId" type:"string"` + // The configuration information for the remote access session request. Configuration *CreateRemoteAccessSessionConfiguration `locationName:"configuration" type:"structure"` @@ -5948,6 +5905,15 @@ type CreateRemoteAccessSessionInput struct { // // ProjectArn is a required field ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"` + + // Set to true if you want to access devices remotely for debugging in your + // remote access session. + RemoteDebugEnabled *bool `locationName:"remoteDebugEnabled" type:"boolean"` + + // The public key of the ssh key pair you want to use for connecting to remote + // devices in your remote debugging session. This is only required if remoteDebugEnabled + // is set to true. + SshPublicKey *string `locationName:"sshPublicKey" type:"string"` } // String returns the string representation @@ -5982,6 +5948,12 @@ func (s *CreateRemoteAccessSessionInput) Validate() error { return nil } +// SetClientId sets the ClientId field's value. +func (s *CreateRemoteAccessSessionInput) SetClientId(v string) *CreateRemoteAccessSessionInput { + s.ClientId = &v + return s +} + // SetConfiguration sets the Configuration field's value. func (s *CreateRemoteAccessSessionInput) SetConfiguration(v *CreateRemoteAccessSessionConfiguration) *CreateRemoteAccessSessionInput { s.Configuration = v @@ -6006,6 +5978,18 @@ func (s *CreateRemoteAccessSessionInput) SetProjectArn(v string) *CreateRemoteAc return s } +// SetRemoteDebugEnabled sets the RemoteDebugEnabled field's value. +func (s *CreateRemoteAccessSessionInput) SetRemoteDebugEnabled(v bool) *CreateRemoteAccessSessionInput { + s.RemoteDebugEnabled = &v + return s +} + +// SetSshPublicKey sets the SshPublicKey field's value. +func (s *CreateRemoteAccessSessionInput) SetSshPublicKey(v string) *CreateRemoteAccessSessionInput { + s.SshPublicKey = &v + return s +} + // Represents the server response from a request to create a remote access session. // Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateRemoteAccessSessionResult type CreateRemoteAccessSessionOutput struct { @@ -6180,6 +6164,57 @@ func (s *CreateUploadOutput) SetUpload(v *Upload) *CreateUploadOutput { return s } +// A JSON object specifying the paths where the artifacts generated by the customer's +// tests, on the device or in the test environment, will be pulled from. +// +// Specify deviceHostPaths and optionally specify either iosPaths or androidPaths. +// +// For web app tests, you can specify both iosPaths and androidPaths. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CustomerArtifactPaths +type CustomerArtifactPaths struct { + _ struct{} `type:"structure"` + + // Comma-separated list of paths on the Android device where the artifacts generated + // by the customer's tests will be pulled from. + AndroidPaths []*string `locationName:"androidPaths" type:"list"` + + // Comma-separated list of paths in the test execution environment where the + // artifacts generated by the customer's tests will be pulled from. + DeviceHostPaths []*string `locationName:"deviceHostPaths" type:"list"` + + // Comma-separated list of paths on the iOS device where the artifacts generated + // by the customer's tests will be pulled from. + IosPaths []*string `locationName:"iosPaths" type:"list"` +} + +// String returns the string representation +func (s CustomerArtifactPaths) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CustomerArtifactPaths) GoString() string { + return s.String() +} + +// SetAndroidPaths sets the AndroidPaths field's value. +func (s *CustomerArtifactPaths) SetAndroidPaths(v []*string) *CustomerArtifactPaths { + s.AndroidPaths = v + return s +} + +// SetDeviceHostPaths sets the DeviceHostPaths field's value. +func (s *CustomerArtifactPaths) SetDeviceHostPaths(v []*string) *CustomerArtifactPaths { + s.DeviceHostPaths = v + return s +} + +// SetIosPaths sets the IosPaths field's value. +func (s *CustomerArtifactPaths) SetIosPaths(v []*string) *CustomerArtifactPaths { + s.IosPaths = v + return s +} + // Represents a request to the delete device pool operation. // Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteDevicePoolRequest type DeleteDevicePoolInput struct { @@ -6603,6 +6638,9 @@ type Device struct { // Specifies whether remote access has been enabled for the specified device. RemoteAccessEnabled *bool `locationName:"remoteAccessEnabled" type:"boolean"` + // This flag is set to true if remote debugging is enabled for the device. + RemoteDebugEnabled *bool `locationName:"remoteDebugEnabled" type:"boolean"` + // The resolution of the device. Resolution *Resolution `locationName:"resolution" type:"structure"` } @@ -6713,6 +6751,12 @@ func (s *Device) SetRemoteAccessEnabled(v bool) *Device { return s } +// SetRemoteDebugEnabled sets the RemoteDebugEnabled field's value. +func (s *Device) SetRemoteDebugEnabled(v bool) *Device { + s.RemoteDebugEnabled = &v + return s +} + // SetResolution sets the Resolution field's value. func (s *Device) SetResolution(v *Resolution) *Device { s.Resolution = v @@ -10474,6 +10518,10 @@ type RemoteAccessSession struct { // Device Farm terminology (http://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html#welcome-terminology)." BillingMethod *string `locationName:"billingMethod" type:"string" enum:"BillingMethod"` + // Unique identifier of your client for the remote access session. Only returned + // if remote debugging is enabled for the remote access session. + ClientId *string `locationName:"clientId" type:"string"` + // The date and time the remote access session was created. Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"unix"` @@ -10484,15 +10532,27 @@ type RemoteAccessSession struct { // setup and teardown minutes). DeviceMinutes *DeviceMinutes `locationName:"deviceMinutes" type:"structure"` + // Unique device identifier for the remote device. Only returned if remote debugging + // is enabled for the remote access session. + DeviceUdid *string `locationName:"deviceUdid" type:"string"` + // The endpoint for the remote access sesssion. Endpoint *string `locationName:"endpoint" type:"string"` + // IP address of the EC2 host where you need to connect to remotely debug devices. + // Only returned if remote debugging is enabled for the remote access session. + HostAddress *string `locationName:"hostAddress" type:"string"` + // A message about the remote access session. Message *string `locationName:"message" type:"string"` // The name of the remote access session. Name *string `locationName:"name" type:"string"` + // This flag is set to true if remote debugging is enabled for the remote access + // session. + RemoteDebugEnabled *bool `locationName:"remoteDebugEnabled" type:"boolean"` + // The result of the remote access session. Can be any of the following: // // * PENDING: A pending condition. @@ -10560,6 +10620,12 @@ func (s *RemoteAccessSession) SetBillingMethod(v string) *RemoteAccessSession { return s } +// SetClientId sets the ClientId field's value. +func (s *RemoteAccessSession) SetClientId(v string) *RemoteAccessSession { + s.ClientId = &v + return s +} + // SetCreated sets the Created field's value. func (s *RemoteAccessSession) SetCreated(v time.Time) *RemoteAccessSession { s.Created = &v @@ -10578,12 +10644,24 @@ func (s *RemoteAccessSession) SetDeviceMinutes(v *DeviceMinutes) *RemoteAccessSe return s } +// SetDeviceUdid sets the DeviceUdid field's value. +func (s *RemoteAccessSession) SetDeviceUdid(v string) *RemoteAccessSession { + s.DeviceUdid = &v + return s +} + // SetEndpoint sets the Endpoint field's value. func (s *RemoteAccessSession) SetEndpoint(v string) *RemoteAccessSession { s.Endpoint = &v return s } +// SetHostAddress sets the HostAddress field's value. +func (s *RemoteAccessSession) SetHostAddress(v string) *RemoteAccessSession { + s.HostAddress = &v + return s +} + // SetMessage sets the Message field's value. func (s *RemoteAccessSession) SetMessage(v string) *RemoteAccessSession { s.Message = &v @@ -10596,6 +10674,12 @@ func (s *RemoteAccessSession) SetName(v string) *RemoteAccessSession { return s } +// SetRemoteDebugEnabled sets the RemoteDebugEnabled field's value. +func (s *RemoteAccessSession) SetRemoteDebugEnabled(v bool) *RemoteAccessSession { + s.RemoteDebugEnabled = &v + return s +} + // SetResult sets the Result field's value. func (s *RemoteAccessSession) SetResult(v string) *RemoteAccessSession { s.Result = &v @@ -10796,7 +10880,8 @@ func (s *Rule) SetValue(v string) *Rule { return s } -// Represents an app on a set of devices with a specific test and configuration. +// Represents a test run on a set of devices with a given app package, test +// parameters, etc. // Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/Run type Run struct { _ struct{} `type:"structure"` @@ -10817,6 +10902,9 @@ type Run struct { // When the run was created. Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"unix"` + // Output CustomerArtifactPaths object for the test run. + CustomerArtifactPaths *CustomerArtifactPaths `locationName:"customerArtifactPaths" type:"structure"` + // Represents the total (metered or unmetered) minutes used by the test run. DeviceMinutes *DeviceMinutes `locationName:"deviceMinutes" type:"structure"` @@ -10829,6 +10917,11 @@ type Run struct { // The network profile being used for a test run. NetworkProfile *NetworkProfile `locationName:"networkProfile" type:"structure"` + // Read-only URL for an object in S3 bucket where you can get the parsing results + // of the test package. If the test package doesn't parse, the reason why it + // doesn't parse appears in the file that this URL points to. + ParsingResultUrl *string `locationName:"parsingResultUrl" type:"string"` + // The run's platform. // // Allowed values include: @@ -10857,6 +10950,10 @@ type Run struct { // * STOPPED: A stopped condition. Result *string `locationName:"result" type:"string" enum:"ExecutionResult"` + // Supporting field for the result field. Set only if result is SKIPPED. PARSING_FAILED + // if the result is skipped because of test package parsing failure. + ResultCode *string `locationName:"resultCode" type:"string" enum:"ExecutionResultCode"` + // The run's start time. Started *time.Time `locationName:"started" type:"timestamp" timestampFormat:"unix"` @@ -10965,6 +11062,12 @@ func (s *Run) SetCreated(v time.Time) *Run { return s } +// SetCustomerArtifactPaths sets the CustomerArtifactPaths field's value. +func (s *Run) SetCustomerArtifactPaths(v *CustomerArtifactPaths) *Run { + s.CustomerArtifactPaths = v + return s +} + // SetDeviceMinutes sets the DeviceMinutes field's value. func (s *Run) SetDeviceMinutes(v *DeviceMinutes) *Run { s.DeviceMinutes = v @@ -10989,6 +11092,12 @@ func (s *Run) SetNetworkProfile(v *NetworkProfile) *Run { return s } +// SetParsingResultUrl sets the ParsingResultUrl field's value. +func (s *Run) SetParsingResultUrl(v string) *Run { + s.ParsingResultUrl = &v + return s +} + // SetPlatform sets the Platform field's value. func (s *Run) SetPlatform(v string) *Run { s.Platform = &v @@ -11001,6 +11110,12 @@ func (s *Run) SetResult(v string) *Run { return s } +// SetResultCode sets the ResultCode field's value. +func (s *Run) SetResultCode(v string) *Run { + s.ResultCode = &v + return s +} + // SetStarted sets the Started field's value. func (s *Run) SetStarted(v time.Time) *Run { s.Started = &v @@ -11129,6 +11244,9 @@ type ScheduleRunConfiguration struct { // parameter is not specified, the default value is metered. BillingMethod *string `locationName:"billingMethod" type:"string" enum:"BillingMethod"` + // Input CustomerArtifactPaths object for the scheduled run configuration. + CustomerArtifactPaths *CustomerArtifactPaths `locationName:"customerArtifactPaths" type:"structure"` + // The ARN of the extra data for the run. The extra data is a .zip file that // AWS Device Farm will extract to external data for Android or the app's sandbox // for iOS. @@ -11190,6 +11308,12 @@ func (s *ScheduleRunConfiguration) SetBillingMethod(v string) *ScheduleRunConfig return s } +// SetCustomerArtifactPaths sets the CustomerArtifactPaths field's value. +func (s *ScheduleRunConfiguration) SetCustomerArtifactPaths(v *CustomerArtifactPaths) *ScheduleRunConfiguration { + s.CustomerArtifactPaths = v + return s +} + // SetExtraDataPackageArn sets the ExtraDataPackageArn field's value. func (s *ScheduleRunConfiguration) SetExtraDataPackageArn(v string) *ScheduleRunConfiguration { s.ExtraDataPackageArn = &v @@ -12705,6 +12829,12 @@ const ( // ArtifactTypeVideo is a ArtifactType enum value ArtifactTypeVideo = "VIDEO" + + // ArtifactTypeCustomerArtifact is a ArtifactType enum value + ArtifactTypeCustomerArtifact = "CUSTOMER_ARTIFACT" + + // ArtifactTypeCustomerArtifactLog is a ArtifactType enum value + ArtifactTypeCustomerArtifactLog = "CUSTOMER_ARTIFACT_LOG" ) const ( @@ -12736,6 +12866,9 @@ const ( // DeviceAttributeRemoteAccessEnabled is a DeviceAttribute enum value DeviceAttributeRemoteAccessEnabled = "REMOTE_ACCESS_ENABLED" + // DeviceAttributeRemoteDebugEnabled is a DeviceAttribute enum value + DeviceAttributeRemoteDebugEnabled = "REMOTE_DEBUG_ENABLED" + // DeviceAttributeAppiumVersion is a DeviceAttribute enum value DeviceAttributeAppiumVersion = "APPIUM_VERSION" ) @@ -12787,6 +12920,11 @@ const ( ExecutionResultStopped = "STOPPED" ) +const ( + // ExecutionResultCodeParsingFailed is a ExecutionResultCode enum value + ExecutionResultCodeParsingFailed = "PARSING_FAILED" +) + const ( // ExecutionStatusPending is a ExecutionStatus enum value ExecutionStatusPending = "PENDING" diff --git a/vendor/github.com/aws/aws-sdk-go/service/devicefarm/devicefarmiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/devicefarm/devicefarmiface/interface.go index 471889663..160a476d8 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/devicefarm/devicefarmiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/devicefarm/devicefarmiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Device Farm. diff --git a/vendor/github.com/aws/aws-sdk-go/service/devicefarm/doc.go b/vendor/github.com/aws/aws-sdk-go/service/devicefarm/doc.go index 2a1ad1e64..3159ae0b3 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/devicefarm/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/devicefarm/doc.go @@ -14,69 +14,17 @@ // // Using the Client // -// To use the client for AWS Device Farm you will first need -// to create a new instance of it. +// To AWS Device Farm with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := devicefarm.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Device Farm client DeviceFarm for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/devicefarm/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CreateDevicePool(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CreateDevicePool result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CreateDevicePoolWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package devicefarm diff --git a/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go b/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go index 69155fa86..48d4f5dc5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go @@ -15,19 +15,18 @@ const opAllocateConnectionOnInterconnect = "AllocateConnectionOnInterconnect" // AllocateConnectionOnInterconnectRequest generates a "aws/request.Request" representing the // client's request for the AllocateConnectionOnInterconnect operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AllocateConnectionOnInterconnect for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AllocateConnectionOnInterconnect method directly -// instead. +// See AllocateConnectionOnInterconnect for more information on using the AllocateConnectionOnInterconnect +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AllocateConnectionOnInterconnectRequest method. // req, resp := client.AllocateConnectionOnInterconnectRequest(params) @@ -110,19 +109,18 @@ const opAllocateHostedConnection = "AllocateHostedConnection" // AllocateHostedConnectionRequest generates a "aws/request.Request" representing the // client's request for the AllocateHostedConnection operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AllocateHostedConnection for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AllocateHostedConnection method directly -// instead. +// See AllocateHostedConnection for more information on using the AllocateHostedConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AllocateHostedConnectionRequest method. // req, resp := client.AllocateHostedConnectionRequest(params) @@ -201,19 +199,18 @@ const opAllocatePrivateVirtualInterface = "AllocatePrivateVirtualInterface" // AllocatePrivateVirtualInterfaceRequest generates a "aws/request.Request" representing the // client's request for the AllocatePrivateVirtualInterface operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AllocatePrivateVirtualInterface for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AllocatePrivateVirtualInterface method directly -// instead. +// See AllocatePrivateVirtualInterface for more information on using the AllocatePrivateVirtualInterface +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AllocatePrivateVirtualInterfaceRequest method. // req, resp := client.AllocatePrivateVirtualInterfaceRequest(params) @@ -291,19 +288,18 @@ const opAllocatePublicVirtualInterface = "AllocatePublicVirtualInterface" // AllocatePublicVirtualInterfaceRequest generates a "aws/request.Request" representing the // client's request for the AllocatePublicVirtualInterface operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AllocatePublicVirtualInterface for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AllocatePublicVirtualInterface method directly -// instead. +// See AllocatePublicVirtualInterface for more information on using the AllocatePublicVirtualInterface +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AllocatePublicVirtualInterfaceRequest method. // req, resp := client.AllocatePublicVirtualInterfaceRequest(params) @@ -388,19 +384,18 @@ const opAssociateConnectionWithLag = "AssociateConnectionWithLag" // AssociateConnectionWithLagRequest generates a "aws/request.Request" representing the // client's request for the AssociateConnectionWithLag operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssociateConnectionWithLag for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssociateConnectionWithLag method directly -// instead. +// See AssociateConnectionWithLag for more information on using the AssociateConnectionWithLag +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssociateConnectionWithLagRequest method. // req, resp := client.AssociateConnectionWithLagRequest(params) @@ -489,19 +484,18 @@ const opAssociateHostedConnection = "AssociateHostedConnection" // AssociateHostedConnectionRequest generates a "aws/request.Request" representing the // client's request for the AssociateHostedConnection operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssociateHostedConnection for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssociateHostedConnection method directly -// instead. +// See AssociateHostedConnection for more information on using the AssociateHostedConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssociateHostedConnectionRequest method. // req, resp := client.AssociateHostedConnectionRequest(params) @@ -580,19 +574,18 @@ const opAssociateVirtualInterface = "AssociateVirtualInterface" // AssociateVirtualInterfaceRequest generates a "aws/request.Request" representing the // client's request for the AssociateVirtualInterface operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssociateVirtualInterface for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssociateVirtualInterface method directly -// instead. +// See AssociateVirtualInterface for more information on using the AssociateVirtualInterface +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssociateVirtualInterfaceRequest method. // req, resp := client.AssociateVirtualInterfaceRequest(params) @@ -677,19 +670,18 @@ const opConfirmConnection = "ConfirmConnection" // ConfirmConnectionRequest generates a "aws/request.Request" representing the // client's request for the ConfirmConnection operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ConfirmConnection for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ConfirmConnection method directly -// instead. +// See ConfirmConnection for more information on using the ConfirmConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ConfirmConnectionRequest method. // req, resp := client.ConfirmConnectionRequest(params) @@ -766,19 +758,18 @@ const opConfirmPrivateVirtualInterface = "ConfirmPrivateVirtualInterface" // ConfirmPrivateVirtualInterfaceRequest generates a "aws/request.Request" representing the // client's request for the ConfirmPrivateVirtualInterface operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ConfirmPrivateVirtualInterface for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ConfirmPrivateVirtualInterface method directly -// instead. +// See ConfirmPrivateVirtualInterface for more information on using the ConfirmPrivateVirtualInterface +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ConfirmPrivateVirtualInterfaceRequest method. // req, resp := client.ConfirmPrivateVirtualInterfaceRequest(params) @@ -855,19 +846,18 @@ const opConfirmPublicVirtualInterface = "ConfirmPublicVirtualInterface" // ConfirmPublicVirtualInterfaceRequest generates a "aws/request.Request" representing the // client's request for the ConfirmPublicVirtualInterface operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ConfirmPublicVirtualInterface for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ConfirmPublicVirtualInterface method directly -// instead. +// See ConfirmPublicVirtualInterface for more information on using the ConfirmPublicVirtualInterface +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ConfirmPublicVirtualInterfaceRequest method. // req, resp := client.ConfirmPublicVirtualInterfaceRequest(params) @@ -943,19 +933,18 @@ const opCreateBGPPeer = "CreateBGPPeer" // CreateBGPPeerRequest generates a "aws/request.Request" representing the // client's request for the CreateBGPPeer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateBGPPeer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateBGPPeer method directly -// instead. +// See CreateBGPPeer for more information on using the CreateBGPPeer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateBGPPeerRequest method. // req, resp := client.CreateBGPPeerRequest(params) @@ -1040,19 +1029,18 @@ const opCreateConnection = "CreateConnection" // CreateConnectionRequest generates a "aws/request.Request" representing the // client's request for the CreateConnection operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateConnection for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateConnection method directly -// instead. +// See CreateConnection for more information on using the CreateConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateConnectionRequest method. // req, resp := client.CreateConnectionRequest(params) @@ -1140,19 +1128,18 @@ const opCreateInterconnect = "CreateInterconnect" // CreateInterconnectRequest generates a "aws/request.Request" representing the // client's request for the CreateInterconnect operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateInterconnect for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateInterconnect method directly -// instead. +// See CreateInterconnect for more information on using the CreateInterconnect +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateInterconnectRequest method. // req, resp := client.CreateInterconnectRequest(params) @@ -1248,19 +1235,18 @@ const opCreateLag = "CreateLag" // CreateLagRequest generates a "aws/request.Request" representing the // client's request for the CreateLag operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateLag for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateLag method directly -// instead. +// See CreateLag for more information on using the CreateLag +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateLagRequest method. // req, resp := client.CreateLagRequest(params) @@ -1357,19 +1343,18 @@ const opCreatePrivateVirtualInterface = "CreatePrivateVirtualInterface" // CreatePrivateVirtualInterfaceRequest generates a "aws/request.Request" representing the // client's request for the CreatePrivateVirtualInterface operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreatePrivateVirtualInterface for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreatePrivateVirtualInterface method directly -// instead. +// See CreatePrivateVirtualInterface for more information on using the CreatePrivateVirtualInterface +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreatePrivateVirtualInterfaceRequest method. // req, resp := client.CreatePrivateVirtualInterfaceRequest(params) @@ -1444,19 +1429,18 @@ const opCreatePublicVirtualInterface = "CreatePublicVirtualInterface" // CreatePublicVirtualInterfaceRequest generates a "aws/request.Request" representing the // client's request for the CreatePublicVirtualInterface operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreatePublicVirtualInterface for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreatePublicVirtualInterface method directly -// instead. +// See CreatePublicVirtualInterface for more information on using the CreatePublicVirtualInterface +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreatePublicVirtualInterfaceRequest method. // req, resp := client.CreatePublicVirtualInterfaceRequest(params) @@ -1536,19 +1520,18 @@ const opDeleteBGPPeer = "DeleteBGPPeer" // DeleteBGPPeerRequest generates a "aws/request.Request" representing the // client's request for the DeleteBGPPeer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteBGPPeer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteBGPPeer method directly -// instead. +// See DeleteBGPPeer for more information on using the DeleteBGPPeer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteBGPPeerRequest method. // req, resp := client.DeleteBGPPeerRequest(params) @@ -1623,19 +1606,18 @@ const opDeleteConnection = "DeleteConnection" // DeleteConnectionRequest generates a "aws/request.Request" representing the // client's request for the DeleteConnection operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteConnection for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteConnection method directly -// instead. +// See DeleteConnection for more information on using the DeleteConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteConnectionRequest method. // req, resp := client.DeleteConnectionRequest(params) @@ -1713,19 +1695,18 @@ const opDeleteInterconnect = "DeleteInterconnect" // DeleteInterconnectRequest generates a "aws/request.Request" representing the // client's request for the DeleteInterconnect operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteInterconnect for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteInterconnect method directly -// instead. +// See DeleteInterconnect for more information on using the DeleteInterconnect +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteInterconnectRequest method. // req, resp := client.DeleteInterconnectRequest(params) @@ -1800,19 +1781,18 @@ const opDeleteLag = "DeleteLag" // DeleteLagRequest generates a "aws/request.Request" representing the // client's request for the DeleteLag operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteLag for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteLag method directly -// instead. +// See DeleteLag for more information on using the DeleteLag +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteLagRequest method. // req, resp := client.DeleteLagRequest(params) @@ -1886,19 +1866,18 @@ const opDeleteVirtualInterface = "DeleteVirtualInterface" // DeleteVirtualInterfaceRequest generates a "aws/request.Request" representing the // client's request for the DeleteVirtualInterface operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteVirtualInterface for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteVirtualInterface method directly -// instead. +// See DeleteVirtualInterface for more information on using the DeleteVirtualInterface +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteVirtualInterfaceRequest method. // req, resp := client.DeleteVirtualInterfaceRequest(params) @@ -1971,19 +1950,18 @@ const opDescribeConnectionLoa = "DescribeConnectionLoa" // DescribeConnectionLoaRequest generates a "aws/request.Request" representing the // client's request for the DescribeConnectionLoa operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeConnectionLoa for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeConnectionLoa method directly -// instead. +// See DescribeConnectionLoa for more information on using the DescribeConnectionLoa +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeConnectionLoaRequest method. // req, resp := client.DescribeConnectionLoaRequest(params) @@ -2067,19 +2045,18 @@ const opDescribeConnections = "DescribeConnections" // DescribeConnectionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeConnections operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeConnections for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeConnections method directly -// instead. +// See DescribeConnections for more information on using the DescribeConnections +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeConnectionsRequest method. // req, resp := client.DescribeConnectionsRequest(params) @@ -2154,19 +2131,18 @@ const opDescribeConnectionsOnInterconnect = "DescribeConnectionsOnInterconnect" // DescribeConnectionsOnInterconnectRequest generates a "aws/request.Request" representing the // client's request for the DescribeConnectionsOnInterconnect operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeConnectionsOnInterconnect for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeConnectionsOnInterconnect method directly -// instead. +// See DescribeConnectionsOnInterconnect for more information on using the DescribeConnectionsOnInterconnect +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeConnectionsOnInterconnectRequest method. // req, resp := client.DescribeConnectionsOnInterconnectRequest(params) @@ -2246,19 +2222,18 @@ const opDescribeHostedConnections = "DescribeHostedConnections" // DescribeHostedConnectionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeHostedConnections operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeHostedConnections for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeHostedConnections method directly -// instead. +// See DescribeHostedConnections for more information on using the DescribeHostedConnections +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeHostedConnectionsRequest method. // req, resp := client.DescribeHostedConnectionsRequest(params) @@ -2334,19 +2309,18 @@ const opDescribeInterconnectLoa = "DescribeInterconnectLoa" // DescribeInterconnectLoaRequest generates a "aws/request.Request" representing the // client's request for the DescribeInterconnectLoa operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeInterconnectLoa for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeInterconnectLoa method directly -// instead. +// See DescribeInterconnectLoa for more information on using the DescribeInterconnectLoa +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeInterconnectLoaRequest method. // req, resp := client.DescribeInterconnectLoaRequest(params) @@ -2430,19 +2404,18 @@ const opDescribeInterconnects = "DescribeInterconnects" // DescribeInterconnectsRequest generates a "aws/request.Request" representing the // client's request for the DescribeInterconnects operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeInterconnects for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeInterconnects method directly -// instead. +// See DescribeInterconnects for more information on using the DescribeInterconnects +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeInterconnectsRequest method. // req, resp := client.DescribeInterconnectsRequest(params) @@ -2517,19 +2490,18 @@ const opDescribeLags = "DescribeLags" // DescribeLagsRequest generates a "aws/request.Request" representing the // client's request for the DescribeLags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeLags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeLags method directly -// instead. +// See DescribeLags for more information on using the DescribeLags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeLagsRequest method. // req, resp := client.DescribeLagsRequest(params) @@ -2604,19 +2576,18 @@ const opDescribeLoa = "DescribeLoa" // DescribeLoaRequest generates a "aws/request.Request" representing the // client's request for the DescribeLoa operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeLoa for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeLoa method directly -// instead. +// See DescribeLoa for more information on using the DescribeLoa +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeLoaRequest method. // req, resp := client.DescribeLoaRequest(params) @@ -2696,19 +2667,18 @@ const opDescribeLocations = "DescribeLocations" // DescribeLocationsRequest generates a "aws/request.Request" representing the // client's request for the DescribeLocations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeLocations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeLocations method directly -// instead. +// See DescribeLocations for more information on using the DescribeLocations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeLocationsRequest method. // req, resp := client.DescribeLocationsRequest(params) @@ -2783,19 +2753,18 @@ const opDescribeTags = "DescribeTags" // DescribeTagsRequest generates a "aws/request.Request" representing the // client's request for the DescribeTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTags method directly -// instead. +// See DescribeTags for more information on using the DescribeTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTagsRequest method. // req, resp := client.DescribeTagsRequest(params) @@ -2868,19 +2837,18 @@ const opDescribeVirtualGateways = "DescribeVirtualGateways" // DescribeVirtualGatewaysRequest generates a "aws/request.Request" representing the // client's request for the DescribeVirtualGateways operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeVirtualGateways for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeVirtualGateways method directly -// instead. +// See DescribeVirtualGateways for more information on using the DescribeVirtualGateways +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeVirtualGatewaysRequest method. // req, resp := client.DescribeVirtualGatewaysRequest(params) @@ -2959,19 +2927,18 @@ const opDescribeVirtualInterfaces = "DescribeVirtualInterfaces" // DescribeVirtualInterfacesRequest generates a "aws/request.Request" representing the // client's request for the DescribeVirtualInterfaces operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeVirtualInterfaces for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeVirtualInterfaces method directly -// instead. +// See DescribeVirtualInterfaces for more information on using the DescribeVirtualInterfaces +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeVirtualInterfacesRequest method. // req, resp := client.DescribeVirtualInterfacesRequest(params) @@ -3051,19 +3018,18 @@ const opDisassociateConnectionFromLag = "DisassociateConnectionFromLag" // DisassociateConnectionFromLagRequest generates a "aws/request.Request" representing the // client's request for the DisassociateConnectionFromLag operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisassociateConnectionFromLag for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisassociateConnectionFromLag method directly -// instead. +// See DisassociateConnectionFromLag for more information on using the DisassociateConnectionFromLag +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisassociateConnectionFromLagRequest method. // req, resp := client.DisassociateConnectionFromLagRequest(params) @@ -3146,19 +3112,18 @@ const opTagResource = "TagResource" // TagResourceRequest generates a "aws/request.Request" representing the // client's request for the TagResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TagResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TagResource method directly -// instead. +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TagResourceRequest method. // req, resp := client.TagResourceRequest(params) @@ -3243,19 +3208,18 @@ const opUntagResource = "UntagResource" // UntagResourceRequest generates a "aws/request.Request" representing the // client's request for the UntagResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UntagResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UntagResource method directly -// instead. +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UntagResourceRequest method. // req, resp := client.UntagResourceRequest(params) @@ -3328,19 +3292,18 @@ const opUpdateLag = "UpdateLag" // UpdateLagRequest generates a "aws/request.Request" representing the // client's request for the UpdateLag operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateLag for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateLag method directly -// instead. +// See UpdateLag for more information on using the UpdateLag +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateLagRequest method. // req, resp := client.UpdateLagRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/directconnect/directconnectiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/directconnect/directconnectiface/interface.go index e3acf4c24..3fc510dcc 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/directconnect/directconnectiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/directconnect/directconnectiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Direct Connect. diff --git a/vendor/github.com/aws/aws-sdk-go/service/directconnect/doc.go b/vendor/github.com/aws/aws-sdk-go/service/directconnect/doc.go index 1ad9b4016..7cd3ca618 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/directconnect/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/directconnect/doc.go @@ -23,69 +23,17 @@ // // Using the Client // -// To use the client for AWS Direct Connect you will first need -// to create a new instance of it. +// To AWS Direct Connect with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := directconnect.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Direct Connect client DirectConnect for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/directconnect/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AllocateConnectionOnInterconnect(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AllocateConnectionOnInterconnect result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AllocateConnectionOnInterconnectWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package directconnect diff --git a/vendor/github.com/aws/aws-sdk-go/service/directoryservice/api.go b/vendor/github.com/aws/aws-sdk-go/service/directoryservice/api.go index 549f25724..eb4e0388f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/directoryservice/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/directoryservice/api.go @@ -15,19 +15,18 @@ const opAddIpRoutes = "AddIpRoutes" // AddIpRoutesRequest generates a "aws/request.Request" representing the // client's request for the AddIpRoutes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddIpRoutes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddIpRoutes method directly -// instead. +// See AddIpRoutes for more information on using the AddIpRoutes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddIpRoutesRequest method. // req, resp := client.AddIpRoutesRequest(params) @@ -123,19 +122,18 @@ const opAddTagsToResource = "AddTagsToResource" // AddTagsToResourceRequest generates a "aws/request.Request" representing the // client's request for the AddTagsToResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddTagsToResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddTagsToResource method directly -// instead. +// See AddTagsToResource for more information on using the AddTagsToResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddTagsToResourceRequest method. // req, resp := client.AddTagsToResourceRequest(params) @@ -217,19 +215,18 @@ const opCancelSchemaExtension = "CancelSchemaExtension" // CancelSchemaExtensionRequest generates a "aws/request.Request" representing the // client's request for the CancelSchemaExtension operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CancelSchemaExtension for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CancelSchemaExtension method directly -// instead. +// See CancelSchemaExtension for more information on using the CancelSchemaExtension +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CancelSchemaExtensionRequest method. // req, resp := client.CancelSchemaExtensionRequest(params) @@ -306,19 +303,18 @@ const opConnectDirectory = "ConnectDirectory" // ConnectDirectoryRequest generates a "aws/request.Request" representing the // client's request for the ConnectDirectory operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ConnectDirectory for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ConnectDirectory method directly -// instead. +// See ConnectDirectory for more information on using the ConnectDirectory +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ConnectDirectoryRequest method. // req, resp := client.ConnectDirectoryRequest(params) @@ -402,19 +398,18 @@ const opCreateAlias = "CreateAlias" // CreateAliasRequest generates a "aws/request.Request" representing the // client's request for the CreateAlias operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateAlias for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateAlias method directly -// instead. +// See CreateAlias for more information on using the CreateAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateAliasRequest method. // req, resp := client.CreateAliasRequest(params) @@ -499,19 +494,18 @@ const opCreateComputer = "CreateComputer" // CreateComputerRequest generates a "aws/request.Request" representing the // client's request for the CreateComputer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateComputer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateComputer method directly -// instead. +// See CreateComputer for more information on using the CreateComputer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateComputerRequest method. // req, resp := client.CreateComputerRequest(params) @@ -601,19 +595,18 @@ const opCreateConditionalForwarder = "CreateConditionalForwarder" // CreateConditionalForwarderRequest generates a "aws/request.Request" representing the // client's request for the CreateConditionalForwarder operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateConditionalForwarder for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateConditionalForwarder method directly -// instead. +// See CreateConditionalForwarder for more information on using the CreateConditionalForwarder +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateConditionalForwarderRequest method. // req, resp := client.CreateConditionalForwarderRequest(params) @@ -701,19 +694,18 @@ const opCreateDirectory = "CreateDirectory" // CreateDirectoryRequest generates a "aws/request.Request" representing the // client's request for the CreateDirectory operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDirectory for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDirectory method directly -// instead. +// See CreateDirectory for more information on using the CreateDirectory +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDirectoryRequest method. // req, resp := client.CreateDirectoryRequest(params) @@ -797,19 +789,18 @@ const opCreateMicrosoftAD = "CreateMicrosoftAD" // CreateMicrosoftADRequest generates a "aws/request.Request" representing the // client's request for the CreateMicrosoftAD operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateMicrosoftAD for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateMicrosoftAD method directly -// instead. +// See CreateMicrosoftAD for more information on using the CreateMicrosoftAD +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateMicrosoftADRequest method. // req, resp := client.CreateMicrosoftADRequest(params) @@ -896,19 +887,18 @@ const opCreateSnapshot = "CreateSnapshot" // CreateSnapshotRequest generates a "aws/request.Request" representing the // client's request for the CreateSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateSnapshot method directly -// instead. +// See CreateSnapshot for more information on using the CreateSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateSnapshotRequest method. // req, resp := client.CreateSnapshotRequest(params) @@ -992,19 +982,18 @@ const opCreateTrust = "CreateTrust" // CreateTrustRequest generates a "aws/request.Request" representing the // client's request for the CreateTrust operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateTrust for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateTrust method directly -// instead. +// See CreateTrust for more information on using the CreateTrust +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateTrustRequest method. // req, resp := client.CreateTrustRequest(params) @@ -1094,19 +1083,18 @@ const opDeleteConditionalForwarder = "DeleteConditionalForwarder" // DeleteConditionalForwarderRequest generates a "aws/request.Request" representing the // client's request for the DeleteConditionalForwarder operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteConditionalForwarder for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteConditionalForwarder method directly -// instead. +// See DeleteConditionalForwarder for more information on using the DeleteConditionalForwarder +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteConditionalForwarderRequest method. // req, resp := client.DeleteConditionalForwarderRequest(params) @@ -1189,19 +1177,18 @@ const opDeleteDirectory = "DeleteDirectory" // DeleteDirectoryRequest generates a "aws/request.Request" representing the // client's request for the DeleteDirectory operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDirectory for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDirectory method directly -// instead. +// See DeleteDirectory for more information on using the DeleteDirectory +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDirectoryRequest method. // req, resp := client.DeleteDirectoryRequest(params) @@ -1280,19 +1267,18 @@ const opDeleteSnapshot = "DeleteSnapshot" // DeleteSnapshotRequest generates a "aws/request.Request" representing the // client's request for the DeleteSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSnapshot method directly -// instead. +// See DeleteSnapshot for more information on using the DeleteSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSnapshotRequest method. // req, resp := client.DeleteSnapshotRequest(params) @@ -1369,19 +1355,18 @@ const opDeleteTrust = "DeleteTrust" // DeleteTrustRequest generates a "aws/request.Request" representing the // client's request for the DeleteTrust operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteTrust for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteTrust method directly -// instead. +// See DeleteTrust for more information on using the DeleteTrust +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteTrustRequest method. // req, resp := client.DeleteTrustRequest(params) @@ -1462,19 +1447,18 @@ const opDeregisterEventTopic = "DeregisterEventTopic" // DeregisterEventTopicRequest generates a "aws/request.Request" representing the // client's request for the DeregisterEventTopic operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeregisterEventTopic for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeregisterEventTopic method directly -// instead. +// See DeregisterEventTopic for more information on using the DeregisterEventTopic +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeregisterEventTopicRequest method. // req, resp := client.DeregisterEventTopicRequest(params) @@ -1551,19 +1535,18 @@ const opDescribeConditionalForwarders = "DescribeConditionalForwarders" // DescribeConditionalForwardersRequest generates a "aws/request.Request" representing the // client's request for the DescribeConditionalForwarders operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeConditionalForwarders for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeConditionalForwarders method directly -// instead. +// See DescribeConditionalForwarders for more information on using the DescribeConditionalForwarders +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeConditionalForwardersRequest method. // req, resp := client.DescribeConditionalForwardersRequest(params) @@ -1649,19 +1632,18 @@ const opDescribeDirectories = "DescribeDirectories" // DescribeDirectoriesRequest generates a "aws/request.Request" representing the // client's request for the DescribeDirectories operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDirectories for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDirectories method directly -// instead. +// See DescribeDirectories for more information on using the DescribeDirectories +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDirectoriesRequest method. // req, resp := client.DescribeDirectoriesRequest(params) @@ -1752,19 +1734,18 @@ const opDescribeDomainControllers = "DescribeDomainControllers" // DescribeDomainControllersRequest generates a "aws/request.Request" representing the // client's request for the DescribeDomainControllers operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDomainControllers for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDomainControllers method directly -// instead. +// See DescribeDomainControllers for more information on using the DescribeDomainControllers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDomainControllersRequest method. // req, resp := client.DescribeDomainControllersRequest(params) @@ -1903,19 +1884,18 @@ const opDescribeEventTopics = "DescribeEventTopics" // DescribeEventTopicsRequest generates a "aws/request.Request" representing the // client's request for the DescribeEventTopics operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEventTopics for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEventTopics method directly -// instead. +// See DescribeEventTopics for more information on using the DescribeEventTopics +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEventTopicsRequest method. // req, resp := client.DescribeEventTopicsRequest(params) @@ -1996,19 +1976,18 @@ const opDescribeSnapshots = "DescribeSnapshots" // DescribeSnapshotsRequest generates a "aws/request.Request" representing the // client's request for the DescribeSnapshots operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSnapshots for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSnapshots method directly -// instead. +// See DescribeSnapshots for more information on using the DescribeSnapshots +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSnapshotsRequest method. // req, resp := client.DescribeSnapshotsRequest(params) @@ -2095,19 +2074,18 @@ const opDescribeTrusts = "DescribeTrusts" // DescribeTrustsRequest generates a "aws/request.Request" representing the // client's request for the DescribeTrusts operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTrusts for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTrusts method directly -// instead. +// See DescribeTrusts for more information on using the DescribeTrusts +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTrustsRequest method. // req, resp := client.DescribeTrustsRequest(params) @@ -2193,19 +2171,18 @@ const opDisableRadius = "DisableRadius" // DisableRadiusRequest generates a "aws/request.Request" representing the // client's request for the DisableRadius operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisableRadius for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisableRadius method directly -// instead. +// See DisableRadius for more information on using the DisableRadius +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisableRadiusRequest method. // req, resp := client.DisableRadiusRequest(params) @@ -2280,19 +2257,18 @@ const opDisableSso = "DisableSso" // DisableSsoRequest generates a "aws/request.Request" representing the // client's request for the DisableSso operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisableSso for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisableSso method directly -// instead. +// See DisableSso for more information on using the DisableSso +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisableSsoRequest method. // req, resp := client.DisableSsoRequest(params) @@ -2372,19 +2348,18 @@ const opEnableRadius = "EnableRadius" // EnableRadiusRequest generates a "aws/request.Request" representing the // client's request for the EnableRadius operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EnableRadius for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EnableRadius method directly -// instead. +// See EnableRadius for more information on using the EnableRadius +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EnableRadiusRequest method. // req, resp := client.EnableRadiusRequest(params) @@ -2465,19 +2440,18 @@ const opEnableSso = "EnableSso" // EnableSsoRequest generates a "aws/request.Request" representing the // client's request for the EnableSso operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EnableSso for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EnableSso method directly -// instead. +// See EnableSso for more information on using the EnableSso +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EnableSsoRequest method. // req, resp := client.EnableSsoRequest(params) @@ -2557,19 +2531,18 @@ const opGetDirectoryLimits = "GetDirectoryLimits" // GetDirectoryLimitsRequest generates a "aws/request.Request" representing the // client's request for the GetDirectoryLimits operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDirectoryLimits for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDirectoryLimits method directly -// instead. +// See GetDirectoryLimits for more information on using the GetDirectoryLimits +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDirectoryLimitsRequest method. // req, resp := client.GetDirectoryLimitsRequest(params) @@ -2643,19 +2616,18 @@ const opGetSnapshotLimits = "GetSnapshotLimits" // GetSnapshotLimitsRequest generates a "aws/request.Request" representing the // client's request for the GetSnapshotLimits operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSnapshotLimits for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSnapshotLimits method directly -// instead. +// See GetSnapshotLimits for more information on using the GetSnapshotLimits +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSnapshotLimitsRequest method. // req, resp := client.GetSnapshotLimitsRequest(params) @@ -2729,19 +2701,18 @@ const opListIpRoutes = "ListIpRoutes" // ListIpRoutesRequest generates a "aws/request.Request" representing the // client's request for the ListIpRoutes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListIpRoutes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListIpRoutes method directly -// instead. +// See ListIpRoutes for more information on using the ListIpRoutes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListIpRoutesRequest method. // req, resp := client.ListIpRoutesRequest(params) @@ -2821,19 +2792,18 @@ const opListSchemaExtensions = "ListSchemaExtensions" // ListSchemaExtensionsRequest generates a "aws/request.Request" representing the // client's request for the ListSchemaExtensions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListSchemaExtensions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListSchemaExtensions method directly -// instead. +// See ListSchemaExtensions for more information on using the ListSchemaExtensions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListSchemaExtensionsRequest method. // req, resp := client.ListSchemaExtensionsRequest(params) @@ -2910,19 +2880,18 @@ const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the // client's request for the ListTagsForResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTagsForResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTagsForResource method directly -// instead. +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTagsForResourceRequest method. // req, resp := client.ListTagsForResourceRequest(params) @@ -3002,19 +2971,18 @@ const opRegisterEventTopic = "RegisterEventTopic" // RegisterEventTopicRequest generates a "aws/request.Request" representing the // client's request for the RegisterEventTopic operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterEventTopic for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterEventTopic method directly -// instead. +// See RegisterEventTopic for more information on using the RegisterEventTopic +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterEventTopicRequest method. // req, resp := client.RegisterEventTopicRequest(params) @@ -3096,19 +3064,18 @@ const opRemoveIpRoutes = "RemoveIpRoutes" // RemoveIpRoutesRequest generates a "aws/request.Request" representing the // client's request for the RemoveIpRoutes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveIpRoutes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveIpRoutes method directly -// instead. +// See RemoveIpRoutes for more information on using the RemoveIpRoutes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveIpRoutesRequest method. // req, resp := client.RemoveIpRoutesRequest(params) @@ -3188,19 +3155,18 @@ const opRemoveTagsFromResource = "RemoveTagsFromResource" // RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the // client's request for the RemoveTagsFromResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveTagsFromResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveTagsFromResource method directly -// instead. +// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveTagsFromResourceRequest method. // req, resp := client.RemoveTagsFromResourceRequest(params) @@ -3277,19 +3243,18 @@ const opRestoreFromSnapshot = "RestoreFromSnapshot" // RestoreFromSnapshotRequest generates a "aws/request.Request" representing the // client's request for the RestoreFromSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RestoreFromSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RestoreFromSnapshot method directly -// instead. +// See RestoreFromSnapshot for more information on using the RestoreFromSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RestoreFromSnapshotRequest method. // req, resp := client.RestoreFromSnapshotRequest(params) @@ -3374,19 +3339,18 @@ const opStartSchemaExtension = "StartSchemaExtension" // StartSchemaExtensionRequest generates a "aws/request.Request" representing the // client's request for the StartSchemaExtension operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartSchemaExtension for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartSchemaExtension method directly -// instead. +// See StartSchemaExtension for more information on using the StartSchemaExtension +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartSchemaExtensionRequest method. // req, resp := client.StartSchemaExtensionRequest(params) @@ -3471,19 +3435,18 @@ const opUpdateConditionalForwarder = "UpdateConditionalForwarder" // UpdateConditionalForwarderRequest generates a "aws/request.Request" representing the // client's request for the UpdateConditionalForwarder operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateConditionalForwarder for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateConditionalForwarder method directly -// instead. +// See UpdateConditionalForwarder for more information on using the UpdateConditionalForwarder +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateConditionalForwarderRequest method. // req, resp := client.UpdateConditionalForwarderRequest(params) @@ -3566,19 +3529,18 @@ const opUpdateNumberOfDomainControllers = "UpdateNumberOfDomainControllers" // UpdateNumberOfDomainControllersRequest generates a "aws/request.Request" representing the // client's request for the UpdateNumberOfDomainControllers operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateNumberOfDomainControllers for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateNumberOfDomainControllers method directly -// instead. +// See UpdateNumberOfDomainControllers for more information on using the UpdateNumberOfDomainControllers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateNumberOfDomainControllersRequest method. // req, resp := client.UpdateNumberOfDomainControllersRequest(params) @@ -3670,19 +3632,18 @@ const opUpdateRadius = "UpdateRadius" // UpdateRadiusRequest generates a "aws/request.Request" representing the // client's request for the UpdateRadius operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateRadius for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateRadius method directly -// instead. +// See UpdateRadius for more information on using the UpdateRadius +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateRadiusRequest method. // req, resp := client.UpdateRadiusRequest(params) @@ -3760,19 +3721,18 @@ const opVerifyTrust = "VerifyTrust" // VerifyTrustRequest generates a "aws/request.Request" representing the // client's request for the VerifyTrust operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See VerifyTrust for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the VerifyTrust method directly -// instead. +// See VerifyTrust for more information on using the VerifyTrust +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the VerifyTrustRequest method. // req, resp := client.VerifyTrustRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/directoryservice/directoryserviceiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/directoryservice/directoryserviceiface/interface.go index 4c65c7011..bf6fc35bb 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/directoryservice/directoryserviceiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/directoryservice/directoryserviceiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Directory Service. diff --git a/vendor/github.com/aws/aws-sdk-go/service/directoryservice/doc.go b/vendor/github.com/aws/aws-sdk-go/service/directoryservice/doc.go index 35aa7b366..93a12b9c1 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/directoryservice/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/directoryservice/doc.go @@ -24,69 +24,17 @@ // // Using the Client // -// To use the client for AWS Directory Service you will first need -// to create a new instance of it. +// To AWS Directory Service with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := directoryservice.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Directory Service client DirectoryService for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/directoryservice/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AddIpRoutes(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AddIpRoutes result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AddIpRoutesWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package directoryservice diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go index 47c637bb5..ffac95bcc 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go @@ -17,19 +17,18 @@ const opBatchGetItem = "BatchGetItem" // BatchGetItemRequest generates a "aws/request.Request" representing the // client's request for the BatchGetItem operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See BatchGetItem for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the BatchGetItem method directly -// instead. +// See BatchGetItem for more information on using the BatchGetItem +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the BatchGetItemRequest method. // req, resp := client.BatchGetItemRequest(params) @@ -213,19 +212,18 @@ const opBatchWriteItem = "BatchWriteItem" // BatchWriteItemRequest generates a "aws/request.Request" representing the // client's request for the BatchWriteItem operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See BatchWriteItem for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the BatchWriteItem method directly -// instead. +// See BatchWriteItem for more information on using the BatchWriteItem +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the BatchWriteItemRequest method. // req, resp := client.BatchWriteItemRequest(params) @@ -377,19 +375,18 @@ const opCreateTable = "CreateTable" // CreateTableRequest generates a "aws/request.Request" representing the // client's request for the CreateTable operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateTable for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateTable method directly -// instead. +// See CreateTable for more information on using the CreateTable +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateTableRequest method. // req, resp := client.CreateTableRequest(params) @@ -486,19 +483,18 @@ const opDeleteItem = "DeleteItem" // DeleteItemRequest generates a "aws/request.Request" representing the // client's request for the DeleteItem operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteItem for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteItem method directly -// instead. +// See DeleteItem for more information on using the DeleteItem +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteItemRequest method. // req, resp := client.DeleteItemRequest(params) @@ -598,19 +594,18 @@ const opDeleteTable = "DeleteTable" // DeleteTableRequest generates a "aws/request.Request" representing the // client's request for the DeleteTable operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteTable for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteTable method directly -// instead. +// See DeleteTable for more information on using the DeleteTable +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteTableRequest method. // req, resp := client.DeleteTableRequest(params) @@ -714,19 +709,18 @@ const opDescribeLimits = "DescribeLimits" // DescribeLimitsRequest generates a "aws/request.Request" representing the // client's request for the DescribeLimits operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeLimits for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeLimits method directly -// instead. +// See DescribeLimits for more information on using the DescribeLimits +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeLimitsRequest method. // req, resp := client.DescribeLimitsRequest(params) @@ -850,19 +844,18 @@ const opDescribeTable = "DescribeTable" // DescribeTableRequest generates a "aws/request.Request" representing the // client's request for the DescribeTable operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTable for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTable method directly -// instead. +// See DescribeTable for more information on using the DescribeTable +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTableRequest method. // req, resp := client.DescribeTableRequest(params) @@ -942,19 +935,18 @@ const opDescribeTimeToLive = "DescribeTimeToLive" // DescribeTimeToLiveRequest generates a "aws/request.Request" representing the // client's request for the DescribeTimeToLive operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTimeToLive for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTimeToLive method directly -// instead. +// See DescribeTimeToLive for more information on using the DescribeTimeToLive +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTimeToLiveRequest method. // req, resp := client.DescribeTimeToLiveRequest(params) @@ -1026,19 +1018,18 @@ const opGetItem = "GetItem" // GetItemRequest generates a "aws/request.Request" representing the // client's request for the GetItem operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetItem for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetItem method directly -// instead. +// See GetItem for more information on using the GetItem +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetItemRequest method. // req, resp := client.GetItemRequest(params) @@ -1125,19 +1116,18 @@ const opListTables = "ListTables" // ListTablesRequest generates a "aws/request.Request" representing the // client's request for the ListTables operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTables for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTables method directly -// instead. +// See ListTables for more information on using the ListTables +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTablesRequest method. // req, resp := client.ListTablesRequest(params) @@ -1263,19 +1253,18 @@ const opListTagsOfResource = "ListTagsOfResource" // ListTagsOfResourceRequest generates a "aws/request.Request" representing the // client's request for the ListTagsOfResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTagsOfResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTagsOfResource method directly -// instead. +// See ListTagsOfResource for more information on using the ListTagsOfResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTagsOfResourceRequest method. // req, resp := client.ListTagsOfResourceRequest(params) @@ -1351,19 +1340,18 @@ const opPutItem = "PutItem" // PutItemRequest generates a "aws/request.Request" representing the // client's request for the PutItem operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutItem for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutItem method directly -// instead. +// See PutItem for more information on using the PutItem +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutItemRequest method. // req, resp := client.PutItemRequest(params) @@ -1397,10 +1385,31 @@ func (c *DynamoDB) PutItemRequest(input *PutItemInput) (req *request.Request, ou // table, the new item completely replaces the existing item. You can perform // a conditional put operation (add a new item if one with the specified primary // key doesn't exist), or replace an existing item if it has certain attribute -// values. +// values. You can return the item's attribute values in the same operation, +// using the ReturnValues parameter. // -// In addition to putting an item, you can also return the item's attribute -// values in the same operation, using the ReturnValues parameter. +// This topic provides general information about the PutItem API. +// +// For information on how to call the PutItem API using the AWS SDK in specific +// languages, see the following: +// +// PutItem in the AWS Command Line Interface (http://docs.aws.amazon.com/goto/aws-cli/dynamodb-2012-08-10/PutItem) +// +// PutItem in the AWS SDK for .NET (http://docs.aws.amazon.com/goto/DotNetSDKV3/dynamodb-2012-08-10/PutItem) +// +// PutItem in the AWS SDK for C++ (http://docs.aws.amazon.com/goto/SdkForCpp/dynamodb-2012-08-10/PutItem) +// +// PutItem in the AWS SDK for Go (http://docs.aws.amazon.com/goto/SdkForGoV1/dynamodb-2012-08-10/PutItem) +// +// PutItem in the AWS SDK for Java (http://docs.aws.amazon.com/goto/SdkForJava/dynamodb-2012-08-10/PutItem) +// +// PutItem in the AWS SDK for JavaScript (http://docs.aws.amazon.com/goto/AWSJavaScriptSDK/dynamodb-2012-08-10/PutItem) +// +// PutItem in the AWS SDK for PHP V3 (http://docs.aws.amazon.com/goto/SdkForPHPV3/dynamodb-2012-08-10/PutItem) +// +// PutItem in the AWS SDK for Python (http://docs.aws.amazon.com/goto/boto3/dynamodb-2012-08-10/PutItem) +// +// PutItem in the AWS SDK for Ruby V2 (http://docs.aws.amazon.com/goto/SdkForRubyV2/dynamodb-2012-08-10/PutItem) // // When you add an item, the primary key attribute(s) are the only required // attributes. Attribute values cannot be null. String and Binary type attributes @@ -1472,19 +1481,18 @@ const opQuery = "Query" // QueryRequest generates a "aws/request.Request" representing the // client's request for the Query operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See Query for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the Query method directly -// instead. +// See Query for more information on using the Query +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the QueryRequest method. // req, resp := client.QueryRequest(params) @@ -1519,26 +1527,48 @@ func (c *DynamoDB) QueryRequest(input *QueryInput) (req *request.Request, output // Query API operation for Amazon DynamoDB. // -// A Query operation uses the primary key of a table or a secondary index to -// directly access items from that table or index. +// The Query operation finds items based on primary key values. You can query +// any table or secondary index that has a composite primary key (a partition +// key and a sort key). // // Use the KeyConditionExpression parameter to provide a specific value for // the partition key. The Query operation will return all of the items from // the table or index with that partition key value. You can optionally narrow // the scope of the Query operation by specifying a sort key value and a comparison -// operator in KeyConditionExpression. You can use the ScanIndexForward parameter -// to get results in forward or reverse order, by sort key. +// operator in KeyConditionExpression. To further refine the Query results, +// you can optionally provide a FilterExpression. A FilterExpression determines +// which items within the results should be returned to you. All of the other +// results are discarded. // -// Queries that do not return results consume the minimum number of read capacity -// units for that type of read operation. +// A Query operation always returns a result set. If no matching items are found, +// the result set will be empty. Queries that do not return results consume +// the minimum number of read capacity units for that type of read operation. // -// If the total number of items meeting the query criteria exceeds the result -// set size limit of 1 MB, the query stops and results are returned to the user -// with the LastEvaluatedKey element to continue the query in a subsequent operation. -// Unlike a Scan operation, a Query operation never returns both an empty result -// set and a LastEvaluatedKey value. LastEvaluatedKey is only provided if you -// have used the Limit parameter, or if the result set exceeds 1 MB (prior to -// applying a filter). +// DynamoDB calculates the number of read capacity units consumed based on item +// size, not on the amount of data that is returned to an application. The number +// of capacity units consumed will be the same whether you request all of the +// attributes (the default behavior) or just some of them (using a projection +// expression). The number will also be the same whether or not you use a FilterExpression. +// +// Query results are always sorted by the sort key value. If the data type of +// the sort key is Number, the results are returned in numeric order; otherwise, +// the results are returned in order of UTF-8 bytes. By default, the sort order +// is ascending. To reverse the order, set the ScanIndexForward parameter to +// false. +// +// A single Query operation will read up to the maximum number of items set +// (if using the Limit parameter) or a maximum of 1 MB of data and then apply +// any filtering to the results using FilterExpression. If LastEvaluatedKey +// is present in the response, you will need to paginate the result set. For +// more information, see Paginating the Results (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html#Query.Pagination) +// in the Amazon DynamoDB Developer Guide. +// +// FilterExpression is applied after a Query finishes, but before the results +// are returned. A FilterExpression cannot contain partition key or sort key +// attributes. You need to specify those attributes in the KeyConditionExpression. +// +// A Query operation can return an empty result set and a LastEvaluatedKey if +// all the items read for the page of results are filtered out. // // You can query a table, a local secondary index, or a global secondary index. // For a query on a table or on a local secondary index, you can set the ConsistentRead @@ -1645,19 +1675,18 @@ const opScan = "Scan" // ScanRequest generates a "aws/request.Request" representing the // client's request for the Scan operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See Scan for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the Scan method directly -// instead. +// See Scan for more information on using the Scan +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ScanRequest method. // req, resp := client.ScanRequest(params) @@ -1702,16 +1731,23 @@ func (c *DynamoDB) ScanRequest(input *ScanInput) (req *request.Request, output * // the number of items exceeding the limit. A scan can result in no table data // meeting the filter criteria. // -// By default, Scan operations proceed sequentially; however, for faster performance -// on a large table or secondary index, applications can request a parallel -// Scan operation by providing the Segment and TotalSegments parameters. For -// more information, see Parallel Scan (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#QueryAndScanParallelScan) +// A single Scan operation will read up to the maximum number of items set (if +// using the Limit parameter) or a maximum of 1 MB of data and then apply any +// filtering to the results using FilterExpression. If LastEvaluatedKey is present +// in the response, you will need to paginate the result set. For more information, +// see Paginating the Results (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.Pagination) // in the Amazon DynamoDB Developer Guide. // -// By default, Scan uses eventually consistent reads when accessing the data -// in a table; therefore, the result set might not include the changes to data -// in the table immediately before the operation began. If you need a consistent -// copy of the data, as of the time that the Scan begins, you can set the ConsistentRead +// Scan operations proceed sequentially; however, for faster performance on +// a large table or secondary index, applications can request a parallel Scan +// operation by providing the Segment and TotalSegments parameters. For more +// information, see Parallel Scan (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.ParallelScan) +// in the Amazon DynamoDB Developer Guide. +// +// Scan uses eventually consistent reads when accessing the data in a table; +// therefore, the result set might not include the changes to data in the table +// immediately before the operation began. If you need a consistent copy of +// the data, as of the time that the Scan begins, you can set the ConsistentRead // parameter to true. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1813,19 +1849,18 @@ const opTagResource = "TagResource" // TagResourceRequest generates a "aws/request.Request" representing the // client's request for the TagResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TagResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TagResource method directly -// instead. +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TagResourceRequest method. // req, resp := client.TagResourceRequest(params) @@ -1920,19 +1955,18 @@ const opUntagResource = "UntagResource" // UntagResourceRequest generates a "aws/request.Request" representing the // client's request for the UntagResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UntagResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UntagResource method directly -// instead. +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UntagResourceRequest method. // req, resp := client.UntagResourceRequest(params) @@ -2025,19 +2059,18 @@ const opUpdateItem = "UpdateItem" // UpdateItemRequest generates a "aws/request.Request" representing the // client's request for the UpdateItem operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateItem for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateItem method directly -// instead. +// See UpdateItem for more information on using the UpdateItem +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateItemRequest method. // req, resp := client.UpdateItemRequest(params) @@ -2131,19 +2164,18 @@ const opUpdateTable = "UpdateTable" // UpdateTableRequest generates a "aws/request.Request" representing the // client's request for the UpdateTable operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateTable for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateTable method directly -// instead. +// See UpdateTable for more information on using the UpdateTable +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateTableRequest method. // req, resp := client.UpdateTableRequest(params) @@ -2247,19 +2279,18 @@ const opUpdateTimeToLive = "UpdateTimeToLive" // UpdateTimeToLiveRequest generates a "aws/request.Request" representing the // client's request for the UpdateTimeToLive operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateTimeToLive for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateTimeToLive method directly -// instead. +// See UpdateTimeToLive for more information on using the UpdateTimeToLive +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateTimeToLiveRequest method. // req, resp := client.UpdateTimeToLiveRequest(params) @@ -2288,11 +2319,11 @@ func (c *DynamoDB) UpdateTimeToLiveRequest(input *UpdateTimeToLiveInput) (req *r // UpdateTimeToLive API operation for Amazon DynamoDB. // -// Specify the lifetime of individual table items. The database automatically -// removes the item at the expiration of the item. The UpdateTimeToLive method -// will enable or disable TTL for the specified table. A successful UpdateTimeToLive -// call returns the current TimeToLiveSpecification; it may take up to one hour -// for the change to fully process. +// The UpdateTimeToLive method will enable or disable TTL for the specified +// table. A successful UpdateTimeToLive call returns the current TimeToLiveSpecification; +// it may take up to one hour for the change to fully process. Any additional +// UpdateTimeToLive calls for the same table during this one hour duration result +// in a ValidationException. // // TTL compares the current time in epoch time format to the time stored in // the TTL attribute of an item. If the epoch time value stored in the attribute @@ -2908,8 +2939,8 @@ type BatchWriteItemInput struct { // * DeleteRequest - Perform a DeleteItem operation on the specified item. // The item to be deleted is identified by a Key subelement: // - // Key - A map of primary key attribute values that uniquely identify the ! - // item. Each entry in this map consists of an attribute name and an attribute + // Key - A map of primary key attribute values that uniquely identify the item. + // Each entry in this map consists of an attribute name and an attribute // value. For each primary key, you must provide all of the key attributes. // For example, with a simple primary key, you only need to provide a value // for the partition key. For a composite primary key, you must provide values @@ -3786,7 +3817,7 @@ type DeleteItemInput struct { // in the Amazon DynamoDB Developer Guide. ConditionalOperator *string `type:"string" enum:"ConditionalOperator"` - // This is a legacy parameter. Use ConditionExpresssion instead. For more information, + // This is a legacy parameter. Use ConditionExpression instead. For more information, // see Expected (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html) // in the Amazon DynamoDB Developer Guide. Expected map[string]*ExpectedAttributeValue `type:"map"` @@ -5953,7 +5984,7 @@ type PutItemInput struct { // in the Amazon DynamoDB Developer Guide. ConditionalOperator *string `type:"string" enum:"ConditionalOperator"` - // This is a legacy parameter. Use ConditionExpresssion instead. For more information, + // This is a legacy parameter. Use ConditionExpression instead. For more information, // see Expected (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html) // in the Amazon DynamoDB Developer Guide. Expected map[string]*ExpectedAttributeValue `type:"map"` @@ -8050,7 +8081,7 @@ type UpdateItemInput struct { // in the Amazon DynamoDB Developer Guide. ConditionalOperator *string `type:"string" enum:"ConditionalOperator"` - // This is a legacy parameter. Use ConditionExpresssion instead. For more information, + // This is a legacy parameter. Use ConditionExpression instead. For more information, // see Expected (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html) // in the Amazon DynamoDB Developer Guide. Expected map[string]*ExpectedAttributeValue `type:"map"` @@ -8148,9 +8179,8 @@ type UpdateItemInput struct { // (the default), no statistics are returned. ReturnItemCollectionMetrics *string `type:"string" enum:"ReturnItemCollectionMetrics"` - // Use ReturnValues if you want to get the item attributes as they appeared - // either before or after they were updated. For UpdateItem, the valid values - // are: + // Use ReturnValues if you want to get the item attributes as they appear before + // or after they are updated. For UpdateItem, the valid values are: // // * NONE - If ReturnValues is not specified, or if its value is NONE, then // nothing is returned. (This setting is the default for ReturnValues.) @@ -8169,9 +8199,9 @@ type UpdateItemInput struct { // // There is no additional cost associated with requesting a return value aside // from the small network and processing overhead of receiving a larger response. - // No Read Capacity Units are consumed. + // No read capacity units are consumed. // - // Values returned are strongly consistent + // The values returned are strongly consistent. ReturnValues *string `type:"string" enum:"ReturnValue"` // The name of the table containing the item to update. @@ -8361,9 +8391,11 @@ func (s *UpdateItemInput) SetUpdateExpression(v string) *UpdateItemInput { type UpdateItemOutput struct { _ struct{} `type:"structure"` - // A map of attribute values as they appeared before the UpdateItem operation. - // This map only appears if ReturnValues was specified as something other than - // NONE in the request. Each element represents one attribute. + // A map of attribute values as they appear before or after the UpdateItem operation, + // as determined by the ReturnValues parameter. + // + // The Attributes map is only present if ReturnValues was specified as something + // other than NONE in the request. Each element represents one attribute. Attributes map[string]*AttributeValue `type:"map"` // The capacity units consumed by the UpdateItem operation. The data returned diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/doc.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/doc.go index 256ef93e5..f3aacbe12 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/doc.go @@ -29,69 +29,17 @@ // // Using the Client // -// To use the client for Amazon DynamoDB you will first need -// to create a new instance of it. +// To Amazon DynamoDB with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := dynamodb.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon DynamoDB client DynamoDB for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/dynamodb/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.BatchGetItem(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("BatchGetItem result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.BatchGetItemWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package dynamodb diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/doc_custom.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/doc_custom.go index 53639be53..5ebc58072 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/doc_custom.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/doc_custom.go @@ -1,84 +1,27 @@ -// AttributeValue Marshaling and Unmarshaling Helpers -// -// Utility helpers to marshal and unmarshal AttributeValue to and -// from Go types can be found in the dynamodbattribute sub package. This package -// provides has specialized functions for the common ways of working with -// AttributeValues. Such as map[string]*AttributeValue, []*AttributeValue, and -// directly with *AttributeValue. This is helpful for marshaling Go types for API -// operations such as PutItem, and unmarshaling Query and Scan APIs' responses. -// -// See the dynamodbattribute package documentation for more information. -// https://docs.aws.amazon.com/sdk-for-go/api/service/dynamodb/dynamodbattribute/ -// -// AttributeValue Marshaling -// -// To marshal a Go type to an AttributeValue you can use the Marshal -// functions in the dynamodbattribute package. There are specialized versions -// of these functions for collections of AttributeValue, such as maps and lists. -// -// The following example uses MarshalMap to convert the Record Go type to a -// dynamodb.AttributeValue type and use the value to make a PutItem API request. -// -// type Record struct { -// ID string -// URLs []string -// } -// -// //... -// -// r := Record{ -// ID: "ABC123", -// URLs: []string{ -// "https://example.com/first/link", -// "https://example.com/second/url", -// }, -// } -// av, err := dynamodbattribute.MarshalMap(r) -// if err != nil { -// panic(fmt.Sprintf("failed to DynamoDB marshal Record, %v", err)) -// } -// -// _, err = svc.PutItem(&dynamodb.PutItemInput{ -// TableName: aws.String(myTableName), -// Item: av, -// }) -// if err != nil { -// panic(fmt.Sprintf("failed to put Record to DynamoDB, %v", err)) -// } -// -// AttributeValue Unmarshaling -// -// To unmarshal a dynamodb.AttributeValue to a Go type you can use the Unmarshal -// functions in the dynamodbattribute package. There are specialized versions -// of these functions for collections of AttributeValue, such as maps and lists. -// -// The following example will unmarshal the DynamoDB's Scan API operation. The -// Items returned by the operation will be unmarshaled into the slice of Records -// Go type. -// -// type Record struct { -// ID string -// URLs []string -// } -// -// //... -// -// var records []Record -// -// // Use the ScanPages method to perform the scan with pagination. Use -// // just Scan method to make the API call without pagination. -// err := svc.ScanPages(&dynamodb.ScanInput{ -// TableName: aws.String(myTableName), -// }, func(page *dynamodb.ScanOutput, last bool) bool { -// recs := []Record{} -// -// err := dynamodbattribute.UnmarshalListOfMaps(page.Items, &recs) -// if err != nil { -// panic(fmt.Sprintf("failed to unmarshal Dynamodb Scan Items, %v", err)) -// } -// -// records = append(records, recs...) -// -// return true // keep paging -// }) +/* +AttributeValue Marshaling and Unmarshaling Helpers + +Utility helpers to marshal and unmarshal AttributeValue to and +from Go types can be found in the dynamodbattribute sub package. This package +provides has specialized functions for the common ways of working with +AttributeValues. Such as map[string]*AttributeValue, []*AttributeValue, and +directly with *AttributeValue. This is helpful for marshaling Go types for API +operations such as PutItem, and unmarshaling Query and Scan APIs' responses. + +See the dynamodbattribute package documentation for more information. +https://docs.aws.amazon.com/sdk-for-go/api/service/dynamodb/dynamodbattribute/ + +Expression Builders + +The expression package provides utility types and functions to build DynamoDB +expression for type safe construction of API ExpressionAttributeNames, and +ExpressionAttribute Values. + +The package represents the various DynamoDB Expressions as structs named +accordingly. For example, ConditionBuilder represents a DynamoDB Condition +Expression, an UpdateBuilder represents a DynamoDB Update Expression, and so on. + +See the expression package documentation for more information. +https://docs.aws.amazon.com/sdk-for-go/api/service/dynamodb/expression/ +*/ package dynamodb diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/decode.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/decode.go index 2282a9a31..5ef80a4e7 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/decode.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/decode.go @@ -153,6 +153,7 @@ var stringInterfaceMapType = reflect.TypeOf(map[string]interface{}(nil)) var byteSliceType = reflect.TypeOf([]byte(nil)) var byteSliceSlicetype = reflect.TypeOf([][]byte(nil)) var numberType = reflect.TypeOf(Number("")) +var timeType = reflect.TypeOf(time.Time{}) func (d *Decoder) decode(av *dynamodb.AttributeValue, v reflect.Value, fieldTag tag) error { var u Unmarshaler @@ -338,12 +339,12 @@ func (d *Decoder) decodeNumber(n *string, v reflect.Value, fieldTag tag) error { } v.SetFloat(i) default: - if _, ok := v.Interface().(time.Time); ok && fieldTag.AsUnixTime { + if v.Type().ConvertibleTo(timeType) && fieldTag.AsUnixTime { t, err := decodeUnixTime(*n) if err != nil { return err } - v.Set(reflect.ValueOf(t)) + v.Set(reflect.ValueOf(t).Convert(v.Type())) return nil } return &UnmarshalTypeError{Value: "number", Type: v.Type()} @@ -502,12 +503,12 @@ func (d *Decoder) decodeString(s *string, v reflect.Value, fieldTag tag) error { // To maintain backwards compatibility with ConvertFrom family of methods which // converted strings to time.Time structs - if _, ok := v.Interface().(time.Time); ok { + if v.Type().ConvertibleTo(timeType) { t, err := time.Parse(time.RFC3339, *s) if err != nil { return err } - v.Set(reflect.ValueOf(t)) + v.Set(reflect.ValueOf(t).Convert(v.Type())) return nil } @@ -564,7 +565,7 @@ func decodeUnixTime(n string) (time.Time, error) { v, err := strconv.ParseInt(n, 10, 64) if err != nil { return time.Time{}, &UnmarshalError{ - Err: err, Value: n, Type: reflect.TypeOf(time.Time{}), + Err: err, Value: n, Type: timeType, } } diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/decode_test.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/decode_test.go index a4b84d8c7..1313064af 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/decode_test.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/decode_test.go @@ -10,7 +10,6 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/service/dynamodb" - "github.com/stretchr/testify/assert" ) func TestUnmarshalErrorTypes(t *testing.T) { @@ -390,12 +389,22 @@ func TestUnmarshalUnmashaler(t *testing.T) { } err := Unmarshal(av, u) - assert.NoError(t, err) + if err != nil { + t.Errorf("expect no error, got %v", err) + } - assert.Equal(t, "value", u.Value) - assert.Equal(t, 123, u.Value2) - assert.Equal(t, true, u.Value3) - assert.Equal(t, testDate, u.Value4) + if e, a := "value", u.Value; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := 123, u.Value2; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := true, u.Value3; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := testDate, u.Value4; e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestDecodeUseNumber(t *testing.T) { @@ -412,13 +421,20 @@ func TestDecodeUseNumber(t *testing.T) { d.UseNumber = true }) err := decoder.Decode(av, &u) - assert.NoError(t, err) + if err != nil { + t.Errorf("expect no error, got %v", err) + } - assert.Equal(t, "value", u["abc"]) - n, ok := u["def"].(Number) - assert.True(t, ok) - assert.Equal(t, "123", n.String()) - assert.Equal(t, true, u["ghi"]) + if e, a := "value", u["abc"]; e != a { + t.Errorf("expect %v, got %v", e, a) + } + n := u["def"].(Number) + if e, a := "123", n.String(); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := true, u["ghi"]; e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestDecodeUseNumberNumberSet(t *testing.T) { @@ -437,13 +453,18 @@ func TestDecodeUseNumberNumberSet(t *testing.T) { d.UseNumber = true }) err := decoder.Decode(av, &u) - assert.NoError(t, err) + if err != nil { + t.Errorf("expect no error, got %v", err) + } - ns, ok := u["ns"].([]Number) - assert.True(t, ok) + ns := u["ns"].([]Number) - assert.Equal(t, "123", ns[0].String()) - assert.Equal(t, "321", ns[1].String()) + if e, a := "123", ns[0].String(); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "321", ns[1].String(); e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestDecodeEmbeddedPointerStruct(t *testing.T) { @@ -471,12 +492,20 @@ func TestDecodeEmbeddedPointerStruct(t *testing.T) { decoder := NewDecoder() a := A{} err := decoder.Decode(av, &a) - assert.NoError(t, err) - assert.Equal(t, 321, a.Aint) + if err != nil { + t.Errorf("expect no error, got %v", err) + } + if e, a := 321, a.Aint; e != a { + t.Errorf("expect %v, got %v", e, a) + } // Embedded pointer struct can be created automatically. - assert.Equal(t, 123, a.Bint) + if e, a := 123, a.Bint; e != a { + t.Errorf("expect %v, got %v", e, a) + } // But not for absent fields. - assert.Nil(t, a.C) + if a.C != nil { + t.Errorf("expect nil, got %v", a.C) + } } func TestDecodeBooleanOverlay(t *testing.T) { @@ -491,8 +520,12 @@ func TestDecodeBooleanOverlay(t *testing.T) { var v BooleanOverlay err := decoder.Decode(av, &v) - assert.NoError(t, err) - assert.Equal(t, BooleanOverlay(true), v) + if err != nil { + t.Errorf("expect no error, got %v", err) + } + if e, a := BooleanOverlay(true), v; e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestDecodeUnixTime(t *testing.T) { @@ -524,6 +557,42 @@ func TestDecodeUnixTime(t *testing.T) { actual := A{} err := Unmarshal(input, &actual) - assert.NoError(t, err) - assert.Equal(t, expect, actual) + if err != nil { + t.Errorf("expect no error, got %v", err) + } + if e, a := expect, actual; e != a { + t.Errorf("expect %v, got %v", e, a) + } +} + +func TestDecodeAliasedUnixTime(t *testing.T) { + type A struct { + Normal AliasedTime + Tagged AliasedTime `dynamodbav:",unixtime"` + } + + expect := A{ + Normal: AliasedTime(time.Unix(123, 0).UTC()), + Tagged: AliasedTime(time.Unix(456, 0)), + } + + input := &dynamodb.AttributeValue{ + M: map[string]*dynamodb.AttributeValue{ + "Normal": { + S: aws.String("1970-01-01T00:02:03Z"), + }, + "Tagged": { + N: aws.String("456"), + }, + }, + } + actual := A{} + + err := Unmarshal(input, &actual) + if err != nil { + t.Errorf("expect no error, got %v", err) + } + if expect != actual { + t.Errorf("expect %v, got %v", expect, actual) + } } diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/doc.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/doc.go index 7c2d05e62..7a51ac076 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/doc.go @@ -34,7 +34,7 @@ // panic(fmt.Sprintf("failed to DynamoDB marshal Record, %v", err)) // } // -// _, err := r.svc.PutItem(&dynamodb.PutItemInput{ +// _, err = svc.PutItem(&dynamodb.PutItemInput{ // TableName: aws.String(myTableName), // Item: av, // }) diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/encode.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/encode.go index 76680868e..d9e42fac9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/encode.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/encode.go @@ -285,7 +285,9 @@ func (e *Encoder) encode(av *dynamodb.AttributeValue, v reflect.Value, fieldTag func (e *Encoder) encodeStruct(av *dynamodb.AttributeValue, v reflect.Value, fieldTag tag) error { // To maintain backwards compatibility with ConvertTo family of methods which // converted time.Time structs to strings - if t, ok := v.Interface().(time.Time); ok { + if v.Type().ConvertibleTo(timeType) { + var t time.Time + t = v.Convert(timeType).Interface().(time.Time) if fieldTag.AsUnixTime { return UnixTime(t).MarshalDynamoDBAttributeValue(av) } diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/encode_test.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/encode_test.go index a78f0cab2..deb1efda2 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/encode_test.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/encode_test.go @@ -2,13 +2,13 @@ package dynamodbattribute import ( "fmt" + "reflect" "testing" "time" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/service/dynamodb" - "github.com/stretchr/testify/assert" ) func TestMarshalErrorTypes(t *testing.T) { @@ -73,9 +73,13 @@ func TestMarshalMashaler(t *testing.T) { } actual, err := Marshal(m) - assert.NoError(t, err) + if err != nil { + t.Errorf("expect nil, got %v", err) + } - assert.Equal(t, expect, actual) + if e, a := expect, actual; !reflect.DeepEqual(e, a) { + t.Errorf("expect %v, got %v", e, a) + } } type testOmitEmptyElemListStruct struct { @@ -99,8 +103,12 @@ func TestMarshalListOmitEmptyElem(t *testing.T) { m := testOmitEmptyElemListStruct{Values: []string{"abc", "", "123"}} actual, err := Marshal(m) - assert.NoError(t, err) - assert.Equal(t, expect, actual) + if err != nil { + t.Errorf("expect nil, got %v", err) + } + if e, a := expect, actual; !reflect.DeepEqual(e, a) { + t.Errorf("expect %v, got %v", e, a) + } } func TestMarshalMapOmitEmptyElem(t *testing.T) { @@ -121,8 +129,12 @@ func TestMarshalMapOmitEmptyElem(t *testing.T) { }} actual, err := Marshal(m) - assert.NoError(t, err) - assert.Equal(t, expect, actual) + if err != nil { + t.Errorf("expect nil, got %v", err) + } + if e, a := expect, actual; !reflect.DeepEqual(e, a) { + t.Errorf("expect %v, got %v", e, a) + } } type testOmitEmptyScalar struct { @@ -141,8 +153,12 @@ func TestMarshalOmitEmpty(t *testing.T) { m := testOmitEmptyScalar{IntPtrSetZero: aws.Int(0)} actual, err := Marshal(m) - assert.NoError(t, err) - assert.Equal(t, expect, actual) + if err != nil { + t.Errorf("expect nil, got %v", err) + } + if e, a := expect, actual; !reflect.DeepEqual(e, a) { + t.Errorf("expect %v, got %v", e, a) + } } func TestEncodeEmbeddedPointerStruct(t *testing.T) { @@ -158,12 +174,20 @@ func TestEncodeEmbeddedPointerStruct(t *testing.T) { *C } a := A{Aint: 321, B: &B{123}} - assert.Equal(t, 321, a.Aint) - assert.Equal(t, 123, a.Bint) - assert.Nil(t, a.C) + if e, a := 321, a.Aint; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := 123, a.Bint; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if a.C != nil { + t.Errorf("expect nil, got %v", a.C) + } actual, err := Marshal(a) - assert.NoError(t, err) + if err != nil { + t.Errorf("expect nil, got %v", err) + } expect := &dynamodb.AttributeValue{ M: map[string]*dynamodb.AttributeValue{ "Aint": { @@ -174,7 +198,9 @@ func TestEncodeEmbeddedPointerStruct(t *testing.T) { }, }, } - assert.Equal(t, expect, actual) + if e, a := expect, actual; !reflect.DeepEqual(e, a) { + t.Errorf("expect %v, got %v", e, a) + } } func TestEncodeUnixTime(t *testing.T) { @@ -191,7 +217,9 @@ func TestEncodeUnixTime(t *testing.T) { } actual, err := Marshal(a) - assert.NoError(t, err) + if err != nil { + t.Errorf("expect nil, got %v", err) + } expect := &dynamodb.AttributeValue{ M: map[string]*dynamodb.AttributeValue{ "Normal": { @@ -205,5 +233,39 @@ func TestEncodeUnixTime(t *testing.T) { }, }, } - assert.Equal(t, expect, actual) + if e, a := expect, actual; !reflect.DeepEqual(e, a) { + t.Errorf("expect %v, got %v", e, a) + } +} + +type AliasedTime time.Time + +func TestEncodeAliasedUnixTime(t *testing.T) { + type A struct { + Normal AliasedTime + Tagged AliasedTime `dynamodbav:",unixtime"` + } + + a := A{ + Normal: AliasedTime(time.Unix(123, 0).UTC()), + Tagged: AliasedTime(time.Unix(456, 0)), + } + + actual, err := Marshal(a) + if err != nil { + t.Errorf("expect no err, got %v", err) + } + expect := &dynamodb.AttributeValue{ + M: map[string]*dynamodb.AttributeValue{ + "Normal": { + S: aws.String("1970-01-01T00:02:03Z"), + }, + "Tagged": { + N: aws.String("456"), + }, + }, + } + if e, a := expect, actual; !reflect.DeepEqual(e, a) { + t.Errorf("expect %v, got %v", e, a) + } } diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/field_test.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/field_test.go index 58ee17b14..52eeb1cc4 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/field_test.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/field_test.go @@ -3,8 +3,6 @@ package dynamodbattribute import ( "reflect" "testing" - - "github.com/stretchr/testify/assert" ) type testUnionValues struct { @@ -77,9 +75,13 @@ func TestUnionStructFields(t *testing.T) { fields := unionStructFields(v.Type(), MarshalOptions{SupportJSONTags: true}) for j, f := range fields { expected := c.expect[j] - assert.Equal(t, expected.Name, f.Name, "case %d, field %d", i, j) + if e, a := expected.Name, f.Name; e != a { + t.Errorf("%d:%d expect %v, got %v", i, j, e, f) + } actual := v.FieldByIndex(f.Index).Interface() - assert.EqualValues(t, expected.Value, actual, "case %d, field %d", i, j) + if e, a := expected.Value, actual; !reflect.DeepEqual(e, a) { + t.Errorf("%d:%d expect %v, got %v", i, j, e, f) + } } } } @@ -102,9 +104,13 @@ func TestFieldByName(t *testing.T) { for _, c := range cases { f, ok := fieldByName(fields, c.Name) - assert.Equal(t, c.Found, ok) + if e, a := c.Found, ok; e != a { + t.Errorf("expect %v, got %v", e, a) + } if ok { - assert.Equal(t, c.FieldName, f.Name) + if e, a := c.FieldName, f.Name; e != a { + t.Errorf("expect %v, got %v", e, a) + } } } } diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/shared_test.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/shared_test.go index 480fe1606..3e0568da8 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/shared_test.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/shared_test.go @@ -7,7 +7,6 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/dynamodb" - "github.com/stretchr/testify/assert" ) type testBinarySetStruct struct { @@ -376,14 +375,18 @@ func assertConvertTest(t *testing.T, i int, actual, expected interface{}, err, e i++ if expectedErr != nil { if err != nil { - assert.Equal(t, expectedErr, err, "case %d", i) + if e, a := expectedErr, err; !reflect.DeepEqual(e, a) { + t.Errorf("case %d expect %v, got %v", i, e, a) + } } else { - assert.Fail(t, "", "case %d, expected error, %v", i) + t.Fatalf("case %d, expected error, %v", i, expectedErr) } } else if err != nil { - assert.Fail(t, "", "case %d, expect no error, got %v", i, err) + t.Fatalf("case %d, expect no error, got %v", i, err) } else { - assert.Equal(t, ptrToValue(expected), ptrToValue(actual), "case %d", i) + if e, a := ptrToValue(expected), ptrToValue(actual); !reflect.DeepEqual(e, a) { + t.Errorf("case %d, expect %v, got %v", i, e, a) + } } } diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/tag_test.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/tag_test.go index 46d0a684f..f47f402d7 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/tag_test.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute/tag_test.go @@ -3,8 +3,6 @@ package dynamodbattribute import ( "reflect" "testing" - - "github.com/stretchr/testify/assert" ) func TestTagParse(t *testing.T) { @@ -42,6 +40,8 @@ func TestTagParse(t *testing.T) { if c.av { actual.parseAVTag(c.in) } - assert.Equal(t, c.expect, actual, "case %d", i+1) + if e, a := c.expect, actual; !reflect.DeepEqual(e, a) { + t.Errorf("case %d, expect %v, got %v", i, e, a) + } } } diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbiface/interface.go index 558d25c2c..adc4daabd 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/dynamodbiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon DynamoDB. diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/condition.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/condition.go new file mode 100644 index 000000000..5d5c5c590 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/condition.go @@ -0,0 +1,1577 @@ +package expression + +import ( + "fmt" + "strings" +) + +// conditionMode specifies the types of the struct conditionBuilder, +// representing the different types of Conditions (i.e. And, Or, Between, ...) +type conditionMode int + +const ( + // unsetCond catches errors for unset ConditionBuilder structs + unsetCond conditionMode = iota + // equalCond represents the Equals Condition + equalCond + // notEqualCond represents the Not Equals Condition + notEqualCond + // lessThanCond represents the LessThan Condition + lessThanCond + // lessThanEqualCond represents the LessThanOrEqual Condition + lessThanEqualCond + // greaterThanCond represents the GreaterThan Condition + greaterThanCond + // greaterThanEqualCond represents the GreaterThanEqual Condition + greaterThanEqualCond + // andCond represents the Logical And Condition + andCond + // orCond represents the Logical Or Condition + orCond + // notCond represents the Logical Not Condition + notCond + // betweenCond represents the Between Condition + betweenCond + // inCond represents the In Condition + inCond + // attrExistsCond represents the Attribute Exists Condition + attrExistsCond + // attrNotExistsCond represents the Attribute Not Exists Condition + attrNotExistsCond + // attrTypeCond represents the Attribute Type Condition + attrTypeCond + // beginsWithCond represents the Begins With Condition + beginsWithCond + // containsCond represents the Contains Condition + containsCond +) + +// DynamoDBAttributeType specifies the type of an DynamoDB item attribute. This +// enum is used in the AttributeType() function in order to be explicit about +// the DynamoDB type that is being checked and ensure compile time checks. +// More Informatin at http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.OperatorsAndFunctions.html#Expressions.OperatorsAndFunctions.Functions +type DynamoDBAttributeType string + +const ( + // String represents the DynamoDB String type + String DynamoDBAttributeType = "S" + // StringSet represents the DynamoDB String Set type + StringSet = "SS" + // Number represents the DynamoDB Number type + Number = "N" + // NumberSet represents the DynamoDB Number Set type + NumberSet = "NS" + // Binary represents the DynamoDB Binary type + Binary = "B" + // BinarySet represents the DynamoDB Binary Set type + BinarySet = "BS" + // Boolean represents the DynamoDB Boolean type + Boolean = "BOOL" + // Null represents the DynamoDB Null type + Null = "NULL" + // List represents the DynamoDB List type + List = "L" + // Map represents the DynamoDB Map type + Map = "M" +) + +// ConditionBuilder represents Condition Expressions and Filter Expressions +// in DynamoDB. ConditionBuilders are one of the building blocks of the Builder +// struct. Since Filter Expressions support all the same functions and formats +// as Condition Expressions, ConditionBuilders represents both types of +// Expressions. +// More Information at: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.ConditionExpressions.html +// More Information on Filter Expressions: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html#Query.FilterExpression +type ConditionBuilder struct { + operandList []OperandBuilder + conditionList []ConditionBuilder + mode conditionMode +} + +// Equal returns a ConditionBuilder representing the equality clause of the two +// argument OperandBuilders. The resulting ConditionBuilder can be used as a +// part of other Condition Expressions or as an argument to the WithCondition() +// method for the Builder struct. +// +// Example: +// +// // condition represents the equal clause of the item attribute "foo" and +// // the value 5 +// condition := expression.Equal(expression.Name("foo"), expression.Value(5)) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Equal(expression.Name("foo"), expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "foo = :five" +func Equal(left, right OperandBuilder) ConditionBuilder { + return ConditionBuilder{ + operandList: []OperandBuilder{left, right}, + mode: equalCond, + } +} + +// Equal returns a ConditionBuilder representing the equality clause of the two +// argument OperandBuilders. The resulting ConditionBuilder can be used as a +// part of other Condition Expressions or as an argument to the WithCondition() +// method for the Builder struct. +// +// Example: +// +// // condition represents the equal clause of the item attribute "foo" and +// // the value 5 +// condition := expression.Name("foo").Equal(expression.Value(5)) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Name("foo").Equal(expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "foo = :five" +func (nb NameBuilder) Equal(right OperandBuilder) ConditionBuilder { + return Equal(nb, right) +} + +// Equal returns a ConditionBuilder representing the equality clause of the two +// argument OperandBuilders. The resulting ConditionBuilder can be used as a +// part of other Condition Expressions or as an argument to the WithCondition() +// method for the Builder struct. +// +// Example: +// +// // condition represents the equal clause of the item attribute "foo" and +// // the value 5 +// condition := expression.Value(5).Equal(expression.Name("foo")) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Value(5).Equal(expression.Name("foo")) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// ":five = foo" +func (vb ValueBuilder) Equal(right OperandBuilder) ConditionBuilder { + return Equal(vb, right) +} + +// Equal returns a ConditionBuilder representing the equality clause of the two +// argument OperandBuilders. The resulting ConditionBuilder can be used as a +// part of other Condition Expressions or as an argument to the WithCondition() +// method for the Builder struct. +// +// Example: +// +// // condition represents the equal clause of the size of the item +// // attribute "foo" and the value 5 +// condition := expression.Size(expression.Name("foo")).Equal(expression.Value(5)) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Size(expression.Name("foo")).Equal(expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "size (foo) = :five" +func (sb SizeBuilder) Equal(right OperandBuilder) ConditionBuilder { + return Equal(sb, right) +} + +// NotEqual returns a ConditionBuilder representing the not equal clause of the +// two argument OperandBuilders. The resulting ConditionBuilder can be used as a +// part of other Condition Expressions or as an argument to the WithCondition() +// method for the Builder struct. +// +// Example: +// +// // condition represents the not equal clause of the item attribute "foo" +// // and the value 5 +// condition := expression.NotEqual(expression.Name("foo"), expression.Value(5)) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.NotEqual(expression.Name("foo"), expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "foo <> :five" +func NotEqual(left, right OperandBuilder) ConditionBuilder { + return ConditionBuilder{ + operandList: []OperandBuilder{left, right}, + mode: notEqualCond, + } +} + +// NotEqual returns a ConditionBuilder representing the not equal clause of the +// two argument OperandBuilders. The resulting ConditionBuilder can be used as a +// part of other Condition Expressions or as an argument to the WithCondition() +// method for the Builder struct. +// +// Example: +// +// // condition represents the not equal clause of the item attribute "foo" +// // and the value 5 +// condition := expression.Name("foo").NotEqual(expression.Value(5)) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Name("foo").NotEqual(expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "foo <> :five" +func (nb NameBuilder) NotEqual(right OperandBuilder) ConditionBuilder { + return NotEqual(nb, right) +} + +// NotEqual returns a ConditionBuilder representing the not equal clause of the +// two argument OperandBuilders. The resulting ConditionBuilder can be used as a +// part of other Condition Expressions or as an argument to the WithCondition() +// method for the Builder struct. +// +// Example: +// +// // condition represents the not equal clause of the item attribute "foo" +// // and the value 5 +// condition := expression.Value(5).NotEqual(expression.Name("foo")) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Value(5).NotEqual(expression.Name("foo")) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// ":five <> foo" +func (vb ValueBuilder) NotEqual(right OperandBuilder) ConditionBuilder { + return NotEqual(vb, right) +} + +// NotEqual returns a ConditionBuilder representing the not equal clause of the +// two argument OperandBuilders. The resulting ConditionBuilder can be used as a +// part of other Condition Expressions or as an argument to the WithCondition() +// method for the Builder struct. +// +// Example: +// +// // condition represents the not equal clause of the size of the item +// // attribute "foo" and the value 5 +// condition := expression.Size(expression.Name("foo")).NotEqual(expression.Value(5)) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Size(expression.Name("foo")).NotEqual(expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "size (foo) <> :five" +func (sb SizeBuilder) NotEqual(right OperandBuilder) ConditionBuilder { + return NotEqual(sb, right) +} + +// LessThan returns a ConditionBuilder representing the less than clause of the +// two argument OperandBuilders. The resulting ConditionBuilder can be used as a +// part of other Condition Expressions or as an argument to the WithCondition() +// method for the Builder struct. +// +// Example: +// +// // condition represents the less than clause of the item attribute "foo" +// // and the value 5 +// condition := expression.LessThan(expression.Name("foo"), expression.Value(5)) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.LessThan(expression.Name("foo"), expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "foo < :five" +func LessThan(left, right OperandBuilder) ConditionBuilder { + return ConditionBuilder{ + operandList: []OperandBuilder{left, right}, + mode: lessThanCond, + } +} + +// LessThan returns a ConditionBuilder representing the less than clause of the +// two argument OperandBuilders. The resulting ConditionBuilder can be used as a +// part of other Condition Expressions or as an argument to the WithCondition() +// method for the Builder struct. +// +// Example: +// +// // condition represents the less than clause of the item attribute "foo" +// // and the value 5 +// condition := expression.Name("foo").LessThan(expression.Value(5)) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Name("foo").LessThan(expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "foo < :five" +func (nb NameBuilder) LessThan(right OperandBuilder) ConditionBuilder { + return LessThan(nb, right) +} + +// LessThan returns a ConditionBuilder representing the less than clause of the +// two argument OperandBuilders. The resulting ConditionBuilder can be used as a +// part of other Condition Expressions or as an argument to the WithCondition() +// method for the Builder struct. +// +// Example: +// +// // condition represents the less than clause of the item attribute "foo" +// // and the value 5 +// condition := expression.Value(5).LessThan(expression.Name("foo")) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Value(5).LessThan(expression.Name("foo")) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// ":five < foo" +func (vb ValueBuilder) LessThan(right OperandBuilder) ConditionBuilder { + return LessThan(vb, right) +} + +// LessThan returns a ConditionBuilder representing the less than clause of the +// two argument OperandBuilders. The resulting ConditionBuilder can be used as a +// part of other Condition Expressions or as an argument to the WithCondition() +// method for the Builder struct. +// +// Example: +// +// // condition represents the less than clause of the size of the item +// // attribute "foo" and the value 5 +// condition := expression.Size(expression.Name("foo")).LessThan(expression.Value(5)) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Size(expression.Name("foo")).LessThan(expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "size (foo) < :five" +func (sb SizeBuilder) LessThan(right OperandBuilder) ConditionBuilder { + return LessThan(sb, right) +} + +// LessThanEqual returns a ConditionBuilder representing the less than equal to +// clause of the two argument OperandBuilders. The resulting ConditionBuilder +// can be used as a part of other Condition Expressions or as an argument to the +// WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the less than equal to clause of the item +// // attribute "foo" and the value 5 +// condition := expression.LessThanEqual(expression.Name("foo"), expression.Value(5)) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.LessThanEqual(expression.Name("foo"), expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "foo <= :five" +func LessThanEqual(left, right OperandBuilder) ConditionBuilder { + return ConditionBuilder{ + operandList: []OperandBuilder{left, right}, + mode: lessThanEqualCond, + } +} + +// LessThanEqual returns a ConditionBuilder representing the less than equal to +// clause of the two argument OperandBuilders. The resulting ConditionBuilder +// can be used as a part of other Condition Expressions or as an argument to the +// WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the less than equal to clause of the item +// // attribute "foo" and the value 5 +// condition := expression.Name("foo").LessThanEqual(expression.Value(5)) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Name("foo").LessThanEqual(expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "foo <= :five" +func (nb NameBuilder) LessThanEqual(right OperandBuilder) ConditionBuilder { + return LessThanEqual(nb, right) +} + +// LessThanEqual returns a ConditionBuilder representing the less than equal to +// clause of the two argument OperandBuilders. The resulting ConditionBuilder +// can be used as a part of other Condition Expressions or as an argument to the +// WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the less than equal to clause of the item +// // attribute "foo" and the value 5 +// condition := expression.Value(5).LessThanEqual(expression.Name("foo")) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Value(5).LessThanEqual(expression.Name("foo")) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// ":five <= foo" +func (vb ValueBuilder) LessThanEqual(right OperandBuilder) ConditionBuilder { + return LessThanEqual(vb, right) +} + +// LessThanEqual returns a ConditionBuilder representing the less than equal to +// clause of the two argument OperandBuilders. The resulting ConditionBuilder +// can be used as a part of other Condition Expressions or as an argument to the +// WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the less than equal to clause of the size of the +// // item attribute "foo" and the value 5 +// condition := expression.Size(expression.Name("foo")).LessThanEqual(expression.Value(5)) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Size(expression.Name("foo")).LessThanEqual(expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "size (foo) <= :five" +func (sb SizeBuilder) LessThanEqual(right OperandBuilder) ConditionBuilder { + return LessThanEqual(sb, right) +} + +// GreaterThan returns a ConditionBuilder representing the greater than clause +// of the two argument OperandBuilders. The resulting ConditionBuilder can be +// used as a part of other Condition Expressions or as an argument to the +// WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the greater than clause of the item attribute +// // "foo" and the value 5 +// condition := expression.GreaterThan(expression.Name("foo"), expression.Value(5)) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.GreaterThan(expression.Name("foo"), expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "foo > :five" +func GreaterThan(left, right OperandBuilder) ConditionBuilder { + return ConditionBuilder{ + operandList: []OperandBuilder{left, right}, + mode: greaterThanCond, + } +} + +// GreaterThan returns a ConditionBuilder representing the greater than clause +// of the two argument OperandBuilders. The resulting ConditionBuilder can be +// used as a part of other Condition Expressions or as an argument to the +// WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the greater than clause of the item attribute +// // "foo" and the value 5 +// condition := expression.Name("foo").GreaterThan(expression.Value(5)) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Name("foo").GreaterThan(expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "foo > :five" +func (nb NameBuilder) GreaterThan(right OperandBuilder) ConditionBuilder { + return GreaterThan(nb, right) +} + +// GreaterThan returns a ConditionBuilder representing the greater than clause +// of the two argument OperandBuilders. The resulting ConditionBuilder can be +// used as a part of other Condition Expressions or as an argument to the +// WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the greater than clause of the item attribute +// // "foo" and the value 5 +// condition := expression.Value(5).GreaterThan(expression.Name("foo")) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Value(5).GreaterThan(expression.Name("foo")) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// ":five > foo" +func (vb ValueBuilder) GreaterThan(right OperandBuilder) ConditionBuilder { + return GreaterThan(vb, right) +} + +// GreaterThan returns a ConditionBuilder representing the greater than +// clause of the two argument OperandBuilders. The resulting ConditionBuilder +// can be used as a part of other Condition Expressions or as an argument to the +// WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the greater than clause of the size of the item +// // attribute "foo" and the value 5 +// condition := expression.Size(expression.Name("foo")).GreaterThan(expression.Value(5)) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Size(expression.Name("foo")).GreaterThan(expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "size (foo) > :five" +func (sb SizeBuilder) GreaterThan(right OperandBuilder) ConditionBuilder { + return GreaterThan(sb, right) +} + +// GreaterThanEqual returns a ConditionBuilder representing the greater than +// equal to clause of the two argument OperandBuilders. The resulting +// ConditionBuilder can be used as a part of other Condition Expressions or as +// an argument to the WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the greater than equal to clause of the item +// // attribute "foo" and the value 5 +// condition := expression.GreaterThanEqual(expression.Name("foo"), expression.Value(5)) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.GreaterThanEqual(expression.Name("foo"), expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "foo >= :five" +func GreaterThanEqual(left, right OperandBuilder) ConditionBuilder { + return ConditionBuilder{ + operandList: []OperandBuilder{left, right}, + mode: greaterThanEqualCond, + } +} + +// GreaterThanEqual returns a ConditionBuilder representing the greater than +// equal to clause of the two argument OperandBuilders. The resulting +// ConditionBuilder can be used as a part of other Condition Expressions or as +// an argument to the WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the greater than equal to clause of the item +// // attribute "foo" and the value 5 +// condition := expression.Name("foo").GreaterThanEqual(expression.Value(5)) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Name("foo").GreaterThanEqual(expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "foo >= :five" +func (nb NameBuilder) GreaterThanEqual(right OperandBuilder) ConditionBuilder { + return GreaterThanEqual(nb, right) +} + +// GreaterThanEqual returns a ConditionBuilder representing the greater than +// equal to clause of the two argument OperandBuilders. The resulting +// ConditionBuilder can be used as a part of other Condition Expressions or as +// an argument to the WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the greater than equal to clause of the item +// // attribute "foo" and the value 5 +// condition := expression.Value(5).GreaterThanEqual(expression.Name("foo")) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Value(5).GreaterThanEqual(expression.Name("foo")) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// ":five >= foo" +func (vb ValueBuilder) GreaterThanEqual(right OperandBuilder) ConditionBuilder { + return GreaterThanEqual(vb, right) +} + +// GreaterThanEqual returns a ConditionBuilder representing the greater than +// equal to clause of the two argument OperandBuilders. The resulting +// ConditionBuilder can be used as a part of other Condition Expressions or as +// an argument to the WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the greater than equal to clause of the size of +// // the item attribute "foo" and the value 5 +// condition := expression.Size(expression.Name("foo")).GreaterThanEqual(expression.Value(5)) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Size(expression.Name("foo")).GreaterThanEqual(expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "size (foo) >= :five" +func (sb SizeBuilder) GreaterThanEqual(right OperandBuilder) ConditionBuilder { + return GreaterThanEqual(sb, right) +} + +// And returns a ConditionBuilder representing the logical AND clause of the +// argument ConditionBuilders. The resulting ConditionBuilder can be used as a +// part of other Condition Expressions or as an argument to the WithCondition() +// method for the Builder struct. Note that And() can take a variadic number of +// ConditionBuilders as arguments. +// +// Example: +// +// // condition represents the condition where the item attribute "Name" is +// // equal to value "Generic Name" AND the item attribute "Age" is less +// // than value 40 +// condition := expression.And(expression.Name("Name").Equal(expression.Value("Generic Name")), expression.Name("Age").LessThan(expression.Value(40))) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.And(expression.Name("Name").Equal(expression.Value("Generic Name")), expression.Name("Age").LessThan(expression.Value(40))) +// // Let #NAME, :name, and :forty be ExpressionAttributeName and +// // ExpressionAttributeValues representing the item attribute "Name", the +// // value "Generic Name", and the value 40 +// "(#NAME = :name) AND (Age < :forty)" +func And(left, right ConditionBuilder, other ...ConditionBuilder) ConditionBuilder { + other = append([]ConditionBuilder{left, right}, other...) + return ConditionBuilder{ + conditionList: other, + mode: andCond, + } +} + +// And returns a ConditionBuilder representing the logical AND clause of the +// argument ConditionBuilders. The resulting ConditionBuilder can be used as a +// part of other Condition Expressions or as an argument to the WithCondition() +// method for the Builder struct. Note that And() can take a variadic number of +// ConditionBuilders as arguments. +// +// Example: +// +// // condition represents the condition where the item attribute "Name" is +// // equal to value "Generic Name" AND the item attribute "Age" is less +// // than value 40 +// condition := expression.Name("Name").Equal(expression.Value("Generic Name")).And(expression.Name("Age").LessThan(expression.Value(40))) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Name("Name").Equal(expression.Value("Generic Name")).And(expression.Name("Age").LessThan(expression.Value(40))) +// // Let #NAME, :name, and :forty be ExpressionAttributeName and +// // ExpressionAttributeValues representing the item attribute "Name", the +// // value "Generic Name", and the value 40 +// "(#NAME = :name) AND (Age < :forty)" +func (cb ConditionBuilder) And(right ConditionBuilder, other ...ConditionBuilder) ConditionBuilder { + return And(cb, right, other...) +} + +// Or returns a ConditionBuilder representing the logical OR clause of the +// argument ConditionBuilders. The resulting ConditionBuilder can be used as a +// part of other Condition Expressions or as an argument to the WithCondition() +// method for the Builder struct. Note that Or() can take a variadic number of +// ConditionBuilders as arguments. +// +// Example: +// +// // condition represents the condition where the item attribute "Price" is +// // less than the value 100 OR the item attribute "Rating" is greater than +// // the value 8 +// condition := expression.Or(expression.Name("Price").Equal(expression.Value(100)), expression.Name("Rating").LessThan(expression.Value(8))) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Or(expression.Name("Price").Equal(expression.Value(100)), expression.Name("Rating").LessThan(expression.Value(8))) +// // Let :price and :rating be ExpressionAttributeValues representing the +// // the value 100 and value 8 respectively +// "(Price < :price) OR (Rating > :rating)" +func Or(left, right ConditionBuilder, other ...ConditionBuilder) ConditionBuilder { + other = append([]ConditionBuilder{left, right}, other...) + return ConditionBuilder{ + conditionList: other, + mode: orCond, + } +} + +// Or returns a ConditionBuilder representing the logical OR clause of the +// argument ConditionBuilders. The resulting ConditionBuilder can be used as a +// part of other Condition Expressions or as an argument to the WithCondition() +// method for the Builder struct. Note that Or() can take a variadic number of +// ConditionBuilders as arguments. +// +// Example: +// +// // condition represents the condition where the item attribute "Price" is +// // less than the value 100 OR the item attribute "Rating" is greater than +// // the value 8 +// condition := expression.Name("Price").Equal(expression.Value(100)).Or(expression.Name("Rating").LessThan(expression.Value(8))) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Name("Price").Equal(expression.Value(100)).Or(expression.Name("Rating").LessThan(expression.Value(8))) +// // Let :price and :rating be ExpressionAttributeValues representing the +// // the value 100 and value 8 respectively +// "(Price < :price) OR (Rating > :rating)" +func (cb ConditionBuilder) Or(right ConditionBuilder, other ...ConditionBuilder) ConditionBuilder { + return Or(cb, right, other...) +} + +// Not returns a ConditionBuilder representing the logical NOT clause of the +// argument ConditionBuilder. The resulting ConditionBuilder can be used as a +// part of other Condition Expressions or as an argument to the WithCondition() +// method for the Builder struct. +// +// Example: +// +// // condition represents the condition where the item attribute "Name" +// // does not begin with "test" +// condition := expression.Not(expression.Name("Name").BeginsWith("test")) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Not(expression.Name("Name").BeginsWith("test")) +// // Let :prefix be an ExpressionAttributeValue representing the value +// // "test" +// "NOT (begins_with (:prefix))" +func Not(conditionBuilder ConditionBuilder) ConditionBuilder { + return ConditionBuilder{ + conditionList: []ConditionBuilder{conditionBuilder}, + mode: notCond, + } +} + +// Not returns a ConditionBuilder representing the logical NOT clause of the +// argument ConditionBuilder. The resulting ConditionBuilder can be used as a +// part of other Condition Expressions or as an argument to the WithCondition() +// method for the Builder struct. +// +// Example: +// +// // condition represents the condition where the item attribute "Name" +// // does not begin with "test" +// condition := expression.Name("Name").BeginsWith("test").Not() +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Name("Name").BeginsWith("test").Not() +// // Let :prefix be an ExpressionAttributeValue representing the value +// // "test" +// "NOT (begins_with (:prefix))" +func (cb ConditionBuilder) Not() ConditionBuilder { + return Not(cb) +} + +// Between returns a ConditionBuilder representing the result of the +// BETWEEN function in DynamoDB Condition Expressions. The resulting +// ConditionBuilder can be used as a part of other Condition Expressions or as +// an argument to the WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the condition where the value of the item +// // attribute "Rating" is between values 5 and 10 +// condition := expression.Between(expression.Name("Rating"), expression.Value(5), expression.Value(10)) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Between(expression.Name("Rating"), expression.Value(5), expression.Value(10)) +// // Let :five and :ten be ExpressionAttributeValues representing the value +// // 5 and the value 10 +// "Rating BETWEEN :five AND :ten" +func Between(op, lower, upper OperandBuilder) ConditionBuilder { + return ConditionBuilder{ + operandList: []OperandBuilder{op, lower, upper}, + mode: betweenCond, + } +} + +// Between returns a ConditionBuilder representing the result of the +// BETWEEN function in DynamoDB Condition Expressions. The resulting +// ConditionBuilder can be used as a part of other Condition Expressions or as +// an argument to the WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the condition where the value of the item +// // attribute "Rating" is between values 5 and 10 +// condition := expression.Name("Rating").Between(expression.Value(5), expression.Value(10)) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Name("Rating").Between(expression.Value(5), expression.Value(10)) +// // Let :five and :ten be ExpressionAttributeValues representing the value +// // 5 and the value 10 +// "Rating BETWEEN :five AND :ten" +func (nb NameBuilder) Between(lower, upper OperandBuilder) ConditionBuilder { + return Between(nb, lower, upper) +} + +// Between returns a ConditionBuilder representing the result of the +// BETWEEN function in DynamoDB Condition Expressions. The resulting +// ConditionBuilder can be used as a part of other Condition Expressions or as +// an argument to the WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the condition where the value 6 is between values +// // 5 and 10 +// condition := expression.Value(6).Between(expression.Value(5), expression.Value(10)) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Value(6).Between(expression.Value(5), expression.Value(10)) +// // Let :six, :five and :ten be ExpressionAttributeValues representing the +// // values 6, 5, and 10 respectively +// ":six BETWEEN :five AND :ten" +func (vb ValueBuilder) Between(lower, upper OperandBuilder) ConditionBuilder { + return Between(vb, lower, upper) +} + +// Between returns a ConditionBuilder representing the result of the +// BETWEEN function in DynamoDB Condition Expressions. The resulting +// ConditionBuilder can be used as a part of other Condition Expressions or as +// an argument to the WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the condition where the size of the item +// // attribute "InviteList" is between values 5 and 10 +// condition := expression.Size(expression.Name("InviteList")).Between(expression.Value(5), expression.Value(10)) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Size(expression.Name("InviteList")).Between(expression.Value(5), expression.Value(10)) +// // Let :five and :ten be ExpressionAttributeValues representing the value +// // 5 and the value 10 +// "size (InviteList) BETWEEN :five AND :ten" +func (sb SizeBuilder) Between(lower, upper OperandBuilder) ConditionBuilder { + return Between(sb, lower, upper) +} + +// In returns a ConditionBuilder representing the result of the IN function +// in DynamoDB Condition Expressions. The resulting ConditionBuilder can be used +// as a part of other Condition Expressions or as an argument to the +// WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the condition where the value of the item +// // attribute "Color" is checked against the list of colors "red", +// // "green", and "blue". +// condition := expression.In(expression.Name("Color"), expression.Value("red"), expression.Value("green"), expression.Value("blue")) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.In(expression.Name("Color"), expression.Value("red"), expression.Value("green"), expression.Value("blue")) +// // Let :red, :green, :blue be ExpressionAttributeValues representing the +// // values "red", "green", and "blue" respectively +// "Color IN (:red, :green, :blue)" +func In(left, right OperandBuilder, other ...OperandBuilder) ConditionBuilder { + other = append([]OperandBuilder{left, right}, other...) + return ConditionBuilder{ + operandList: other, + mode: inCond, + } +} + +// In returns a ConditionBuilder representing the result of the IN function +// in DynamoDB Condition Expressions. The resulting ConditionBuilder can be used +// as a part of other Condition Expressions or as an argument to the +// WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the condition where the value of the item +// // attribute "Color" is checked against the list of colors "red", +// // "green", and "blue". +// condition := expression.Name("Color").In(expression.Value("red"), expression.Value("green"), expression.Value("blue")) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Name("Color").In(expression.Value("red"), expression.Value("green"), expression.Value("blue")) +// // Let :red, :green, :blue be ExpressionAttributeValues representing the +// // values "red", "green", and "blue" respectively +// "Color IN (:red, :green, :blue)" +func (nb NameBuilder) In(right OperandBuilder, other ...OperandBuilder) ConditionBuilder { + return In(nb, right, other...) +} + +// In returns a ConditionBuilder representing the result of the IN function +// TODO change this one +// in DynamoDB Condition Expressions. The resulting ConditionBuilder can be used +// as a part of other Condition Expressions or as an argument to the +// WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the condition where the value "yellow" is checked +// // against the list of colors "red", "green", and "blue". +// condition := expression.Value("yellow").In(expression.Value("red"), expression.Value("green"), expression.Value("blue")) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Value("yellow").In(expression.Value("red"), expression.Value("green"), expression.Value("blue")) +// // Let :yellow, :red, :green, :blue be ExpressionAttributeValues +// // representing the values "yellow", "red", "green", and "blue" +// // respectively +// ":yellow IN (:red, :green, :blue)" +func (vb ValueBuilder) In(right OperandBuilder, other ...OperandBuilder) ConditionBuilder { + return In(vb, right, other...) +} + +// In returns a ConditionBuilder representing the result of the IN function +// in DynamoDB Condition Expressions. The resulting ConditionBuilder can be used +// as a part of other Condition Expressions or as an argument to the +// WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the condition where the size of the item +// // attribute "Donuts" is checked against the list of numbers 12, 24, and +// // 36. +// condition := expression.Size(expression.Name("Donuts")).In(expression.Value(12), expression.Value(24), expression.Value(36)) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Size(expression.Name("Donuts")).In(expression.Value(12), expression.Value(24), expression.Value(36)) +// // Let :dozen, :twoDozen, :threeDozen be ExpressionAttributeValues +// // representing the values 12, 24, and 36 respectively +// "size (Donuts) IN (12, 24, 36)" +func (sb SizeBuilder) In(right OperandBuilder, other ...OperandBuilder) ConditionBuilder { + return In(sb, right, other...) +} + +// AttributeExists returns a ConditionBuilder representing the result of the +// attribute_exists function in DynamoDB Condition Expressions. The resulting +// ConditionBuilder can be used as a part of other Condition Expressions or as +// an argument to the WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the boolean condition of whether the item +// // attribute "Age" exists or not +// condition := expression.AttributeExists(expression.Name("Age")) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.AttributeExists(expression.Name("Age")) +// "attribute_exists (Age))" +func AttributeExists(nameBuilder NameBuilder) ConditionBuilder { + return ConditionBuilder{ + operandList: []OperandBuilder{nameBuilder}, + mode: attrExistsCond, + } +} + +// AttributeExists returns a ConditionBuilder representing the result of the +// attribute_exists function in DynamoDB Condition Expressions. The resulting +// ConditionBuilder can be used as a part of other Condition Expressions or as +// an argument to the WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the boolean condition of whether the item +// // attribute "Age" exists or not +// condition := expression.Name("Age").AttributeExists() +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Name("Age").AttributeExists() +// "attribute_exists (Age))" +func (nb NameBuilder) AttributeExists() ConditionBuilder { + return AttributeExists(nb) +} + +// AttributeNotExists returns a ConditionBuilder representing the result of +// the attribute_not_exists function in DynamoDB Condition Expressions. The +// resulting ConditionBuilder can be used as a part of other Condition +// Expressions or as an argument to the WithCondition() method for the Builder +// struct. +// +// Example: +// +// // condition represents the boolean condition of whether the item +// // attribute "Age" exists or not +// condition := expression.AttributeNotExists(expression.Name("Age")) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.AttributeNotExists(expression.Name("Age")) +// "attribute_not_exists (Age))" +func AttributeNotExists(nameBuilder NameBuilder) ConditionBuilder { + return ConditionBuilder{ + operandList: []OperandBuilder{nameBuilder}, + mode: attrNotExistsCond, + } +} + +// AttributeNotExists returns a ConditionBuilder representing the result of +// the attribute_not_exists function in DynamoDB Condition Expressions. The +// resulting ConditionBuilder can be used as a part of other Condition +// Expressions or as an argument to the WithCondition() method for the Builder +// struct. +// +// Example: +// +// // condition represents the boolean condition of whether the item +// // attribute "Age" exists or not +// condition := expression.Name("Age").AttributeNotExists() +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Name("Age").AttributeNotExists() +// "attribute_not_exists (Age))" +func (nb NameBuilder) AttributeNotExists() ConditionBuilder { + return AttributeNotExists(nb) +} + +// AttributeType returns a ConditionBuilder representing the result of the +// attribute_type function in DynamoDB Condition Expressions. The DynamoDB types +// are represented by the type DynamoDBAttributeType. The resulting +// ConditionBuilder can be used as a part of other Condition Expressions or as +// an argument to the WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the boolean condition of whether the item +// // attribute "Age" has the DynamoDB type Number or not +// condition := expression.AttributeType(expression.Name("Age"), expression.Number) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.AttributeType(expression.Name("Age"), expression.Number) +// // Let :type be an ExpressionAttributeValue representing the value "N" +// "attribute_type (Age, :type)" +func AttributeType(nameBuilder NameBuilder, attributeType DynamoDBAttributeType) ConditionBuilder { + v := ValueBuilder{ + value: string(attributeType), + } + return ConditionBuilder{ + operandList: []OperandBuilder{nameBuilder, v}, + mode: attrTypeCond, + } +} + +// AttributeType returns a ConditionBuilder representing the result of the +// attribute_type function in DynamoDB Condition Expressions. The DynamoDB types +// are represented by the type DynamoDBAttributeType. The resulting +// ConditionBuilder can be used as a part of other Condition Expressions or as +// an argument to the WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the boolean condition of whether the item +// // attribute "Age" has the DynamoDB type Number or not +// condition := expression.Name("Age").AttributeType(expression.Number) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Name("Age").AttributeType(expression.Number) +// // Let :type be an ExpressionAttributeValue representing the value "N" +// "attribute_type (Age, :type)" +func (nb NameBuilder) AttributeType(attributeType DynamoDBAttributeType) ConditionBuilder { + return AttributeType(nb, attributeType) +} + +// BeginsWith returns a ConditionBuilder representing the result of the +// begins_with function in DynamoDB Condition Expressions. The resulting +// ConditionBuilder can be used as a part of other Condition Expressions or as +// an argument to the WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the boolean condition of whether the item +// // attribute "CodeName" starts with the substring "Ben" +// condition := expression.BeginsWith(expression.Name("CodeName"), "Ben") +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.BeginsWith(expression.Name("CodeName"), "Ben") +// // Let :ben be an ExpressionAttributeValue representing the value "Ben" +// "begins_with (CodeName, :ben)" +func BeginsWith(nameBuilder NameBuilder, prefix string) ConditionBuilder { + v := ValueBuilder{ + value: prefix, + } + return ConditionBuilder{ + operandList: []OperandBuilder{nameBuilder, v}, + mode: beginsWithCond, + } +} + +// BeginsWith returns a ConditionBuilder representing the result of the +// begins_with function in DynamoDB Condition Expressions. The resulting +// ConditionBuilder can be used as a part of other Condition Expressions or as +// an argument to the WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the boolean condition of whether the item +// // attribute "CodeName" starts with the substring "Ben" +// condition := expression.Name("CodeName").BeginsWith("Ben") +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Name("CodeName").BeginsWith("Ben") +// // Let :ben be an ExpressionAttributeValue representing the value "Ben" +// "begins_with (CodeName, :ben)" +func (nb NameBuilder) BeginsWith(prefix string) ConditionBuilder { + return BeginsWith(nb, prefix) +} + +// Contains returns a ConditionBuilder representing the result of the +// contains function in DynamoDB Condition Expressions. The resulting +// ConditionBuilder can be used as a part of other Condition Expressions or as +// an argument to the WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the boolean condition of whether the item +// // attribute "InviteList" has the value "Ben" +// condition := expression.Contains(expression.Name("InviteList"), expression.Value("Ben")) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Contains(expression.Name("InviteList"), expression.Value("Ben")) +// // Let :ben be an ExpressionAttributeValue representing the value "Ben" +// "contains (InviteList, :ben)" +func Contains(nameBuilder NameBuilder, substr string) ConditionBuilder { + v := ValueBuilder{ + value: substr, + } + return ConditionBuilder{ + operandList: []OperandBuilder{nameBuilder, v}, + mode: containsCond, + } +} + +// Contains returns a ConditionBuilder representing the result of the +// contains function in DynamoDB Condition Expressions. The resulting +// ConditionBuilder can be used as a part of other Condition Expressions or as +// an argument to the WithCondition() method for the Builder struct. +// +// Example: +// +// // condition represents the boolean condition of whether the item +// // attribute "InviteList" has the value "Ben" +// condition := expression.Name("InviteList").Contains(expression.Value("Ben")) +// +// // Used in another Condition Expression +// anotherCondition := expression.Not(condition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithCondition(condition) +// +// Expression Equivalent: +// +// expression.Name("InviteList").Contains(expression.Value("Ben")) +// // Let :ben be an ExpressionAttributeValue representing the value "Ben" +// "contains (InviteList, :ben)" +func (nb NameBuilder) Contains(substr string) ConditionBuilder { + return Contains(nb, substr) +} + +// buildTree builds a tree structure of exprNodes based on the tree +// structure of the input ConditionBuilder's child ConditionBuilders and +// OperandBuilders. buildTree() satisfies the treeBuilder interface so +// ConditionBuilder can be a part of Builder and Expression struct. +func (cb ConditionBuilder) buildTree() (exprNode, error) { + childNodes, err := cb.buildChildNodes() + if err != nil { + return exprNode{}, err + } + ret := exprNode{ + children: childNodes, + } + + switch cb.mode { + case equalCond, notEqualCond, lessThanCond, lessThanEqualCond, greaterThanCond, greaterThanEqualCond: + return compareBuildCondition(cb.mode, ret) + case andCond, orCond: + return compoundBuildCondition(cb, ret) + case notCond: + return notBuildCondition(ret) + case betweenCond: + return betweenBuildCondition(ret) + case inCond: + return inBuildCondition(cb, ret) + case attrExistsCond: + return attrExistsBuildCondition(ret) + case attrNotExistsCond: + return attrNotExistsBuildCondition(ret) + case attrTypeCond: + return attrTypeBuildCondition(ret) + case beginsWithCond: + return beginsWithBuildCondition(ret) + case containsCond: + return containsBuildCondition(ret) + case unsetCond: + return exprNode{}, newUnsetParameterError("buildTree", "ConditionBuilder") + default: + return exprNode{}, fmt.Errorf("build condition error: unsupported mode: %v", cb.mode) + } +} + +// compareBuildCondition is the function to make exprNodes from Compare +// ConditionBuilders. compareBuildCondition is only called by the +// buildTree method. This function assumes that the argument ConditionBuilder +// has the right format. +func compareBuildCondition(conditionMode conditionMode, node exprNode) (exprNode, error) { + // Create a string with special characters that can be substituted later: $c + switch conditionMode { + case equalCond: + node.fmtExpr = "$c = $c" + case notEqualCond: + node.fmtExpr = "$c <> $c" + case lessThanCond: + node.fmtExpr = "$c < $c" + case lessThanEqualCond: + node.fmtExpr = "$c <= $c" + case greaterThanCond: + node.fmtExpr = "$c > $c" + case greaterThanEqualCond: + node.fmtExpr = "$c >= $c" + default: + return exprNode{}, fmt.Errorf("build compare condition error: unsupported mode: %v", conditionMode) + } + + return node, nil +} + +// compoundBuildCondition is the function to make exprNodes from And/Or +// ConditionBuilders. compoundBuildCondition is only called by the +// buildTree method. This function assumes that the argument ConditionBuilder +// has the right format. +func compoundBuildCondition(conditionBuilder ConditionBuilder, node exprNode) (exprNode, error) { + // create a string with escaped characters to substitute them with proper + // aliases during runtime + var mode string + switch conditionBuilder.mode { + case andCond: + mode = " AND " + case orCond: + mode = " OR " + default: + return exprNode{}, fmt.Errorf("build compound condition error: unsupported mode: %v", conditionBuilder.mode) + } + node.fmtExpr = "($c)" + strings.Repeat(mode+"($c)", len(conditionBuilder.conditionList)-1) + + return node, nil +} + +// notBuildCondition is the function to make exprNodes from Not +// ConditionBuilders. notBuildCondition is only called by the +// buildTree method. This function assumes that the argument ConditionBuilder +// has the right format. +func notBuildCondition(node exprNode) (exprNode, error) { + // create a string with escaped characters to substitute them with proper + // aliases during runtime + node.fmtExpr = "NOT ($c)" + + return node, nil +} + +// betweenBuildCondition is the function to make exprNodes from Between +// ConditionBuilders. BuildCondition is only called by the +// buildTree method. This function assumes that the argument ConditionBuilder +// has the right format. +func betweenBuildCondition(node exprNode) (exprNode, error) { + // Create a string with special characters that can be substituted later: $c + node.fmtExpr = "$c BETWEEN $c AND $c" + + return node, nil +} + +// inBuildCondition is the function to make exprNodes from In +// ConditionBuilders. inBuildCondition is only called by the +// buildTree method. This function assumes that the argument ConditionBuilder +// has the right format. +func inBuildCondition(conditionBuilder ConditionBuilder, node exprNode) (exprNode, error) { + // Create a string with special characters that can be substituted later: $c + node.fmtExpr = "$c IN ($c" + strings.Repeat(", $c", len(conditionBuilder.operandList)-2) + ")" + + return node, nil +} + +// attrExistsBuildCondition is the function to make exprNodes from +// AttrExistsCond ConditionBuilders. attrExistsBuildCondition is only +// called by the buildTree method. This function assumes that the argument +// ConditionBuilder has the right format. +func attrExistsBuildCondition(node exprNode) (exprNode, error) { + // Create a string with special characters that can be substituted later: $c + node.fmtExpr = "attribute_exists ($c)" + + return node, nil +} + +// attrNotExistsBuildCondition is the function to make exprNodes from +// AttrNotExistsCond ConditionBuilders. attrNotExistsBuildCondition is only +// called by the buildTree method. This function assumes that the argument +// ConditionBuilder has the right format. +func attrNotExistsBuildCondition(node exprNode) (exprNode, error) { + // Create a string with special characters that can be substituted later: $c + node.fmtExpr = "attribute_not_exists ($c)" + + return node, nil +} + +// attrTypeBuildCondition is the function to make exprNodes from AttrTypeCond +// ConditionBuilders. attrTypeBuildCondition is only called by the +// buildTree method. This function assumes that the argument +// ConditionBuilder has the right format. +func attrTypeBuildCondition(node exprNode) (exprNode, error) { + // Create a string with special characters that can be substituted later: $c + node.fmtExpr = "attribute_type ($c, $c)" + + return node, nil +} + +// beginsWithBuildCondition is the function to make exprNodes from +// BeginsWithCond ConditionBuilders. beginsWithBuildCondition is only +// called by the buildTree method. This function assumes that the argument +// ConditionBuilder has the right format. +func beginsWithBuildCondition(node exprNode) (exprNode, error) { + // Create a string with special characters that can be substituted later: $c + node.fmtExpr = "begins_with ($c, $c)" + + return node, nil +} + +// containsBuildCondition is the function to make exprNodes from +// ContainsCond ConditionBuilders. containsBuildCondition is only +// called by the buildTree method. This function assumes that the argument +// ConditionBuilder has the right format. +func containsBuildCondition(node exprNode) (exprNode, error) { + // Create a string with special characters that can be substituted later: $c + node.fmtExpr = "contains ($c, $c)" + + return node, nil +} + +// buildChildNodes creates the list of the child exprNodes. This avoids +// duplication of code amongst the various buildTree functions. +func (cb ConditionBuilder) buildChildNodes() ([]exprNode, error) { + childNodes := make([]exprNode, 0, len(cb.conditionList)+len(cb.operandList)) + for _, condition := range cb.conditionList { + node, err := condition.buildTree() + if err != nil { + return []exprNode{}, err + } + childNodes = append(childNodes, node) + } + for _, ope := range cb.operandList { + operand, err := ope.BuildOperand() + if err != nil { + return []exprNode{}, err + } + childNodes = append(childNodes, operand.exprNode) + } + + return childNodes, nil +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/condition_test.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/condition_test.go new file mode 100644 index 000000000..3f7d82825 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/condition_test.go @@ -0,0 +1,1615 @@ +// +build go1.7 + +package expression + +import ( + "reflect" + "strings" + "testing" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/service/dynamodb" +) + +// condErrorMode will help with error cases and checking error types +type condErrorMode string + +const ( + noConditionError condErrorMode = "" + // unsetCondition error will occur when BuildExpression is called on an empty + // ConditionBuilder + unsetCondition = "unset parameter: ConditionBuilder" + // invalidOperand error will occur when an invalid OperandBuilder is used as + // an argument + invalidConditionOperand = "BuildOperand error" +) + +//Compare +func TestCompare(t *testing.T) { + cases := []struct { + name string + input ConditionBuilder + expectedNode exprNode + err condErrorMode + }{ + { + name: "name equal name", + input: Name("foo").Equal(Name("bar")), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + names: []string{"bar"}, + fmtExpr: "$n", + }, + }, + fmtExpr: "$c = $c", + }, + }, + { + name: "value equal value", + input: Value(5).Equal(Value("bar")), + expectedNode: exprNode{ + children: []exprNode{ + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("bar"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c = $c", + }, + }, + { + name: "name size equal name size", + input: Name("foo[1]").Size().Equal(Name("bar").Size()), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "size ($n[1])", + }, + { + names: []string{"bar"}, + fmtExpr: "size ($n)", + }, + }, + fmtExpr: "$c = $c", + }, + }, + { + name: "name not equal name", + input: Name("foo").NotEqual(Name("bar")), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + names: []string{"bar"}, + fmtExpr: "$n", + }, + }, + fmtExpr: "$c <> $c", + }, + }, + { + name: "value not equal value", + input: Value(5).NotEqual(Value("bar")), + expectedNode: exprNode{ + children: []exprNode{ + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("bar"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c <> $c", + }, + }, + { + name: "name size not equal name size", + input: Name("foo[1]").Size().NotEqual(Name("bar").Size()), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "size ($n[1])", + }, + { + names: []string{"bar"}, + fmtExpr: "size ($n)", + }, + }, + fmtExpr: "$c <> $c", + }, + }, + { + name: "name less than name", + input: Name("foo").LessThan(Name("bar")), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + names: []string{"bar"}, + fmtExpr: "$n", + }, + }, + fmtExpr: "$c < $c", + }, + }, + { + name: "value less than value", + input: Value(5).LessThan(Value("bar")), + expectedNode: exprNode{ + children: []exprNode{ + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("bar"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c < $c", + }, + }, + { + name: "name size less than name size", + input: Name("foo[1]").Size().LessThan(Name("bar").Size()), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "size ($n[1])", + }, + { + names: []string{"bar"}, + fmtExpr: "size ($n)", + }, + }, + fmtExpr: "$c < $c", + }, + }, + { + name: "name less than equal name", + input: Name("foo").LessThanEqual(Name("bar")), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + names: []string{"bar"}, + fmtExpr: "$n", + }, + }, + fmtExpr: "$c <= $c", + }, + }, + { + name: "value less than equal value", + input: Value(5).LessThanEqual(Value("bar")), + expectedNode: exprNode{ + children: []exprNode{ + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("bar"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c <= $c", + }, + }, + { + name: "name size less than equal name size", + input: Name("foo[1]").Size().LessThanEqual(Name("bar").Size()), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "size ($n[1])", + }, + { + names: []string{"bar"}, + fmtExpr: "size ($n)", + }, + }, + fmtExpr: "$c <= $c", + }, + }, + { + name: "name greater than name", + input: Name("foo").GreaterThan(Name("bar")), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + names: []string{"bar"}, + fmtExpr: "$n", + }, + }, + fmtExpr: "$c > $c", + }, + }, + { + name: "value greater than value", + input: Value(5).GreaterThan(Value("bar")), + expectedNode: exprNode{ + children: []exprNode{ + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("bar"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c > $c", + }, + }, + { + name: "name size greater than name size", + input: Name("foo[1]").Size().GreaterThan(Name("bar").Size()), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "size ($n[1])", + }, + { + names: []string{"bar"}, + fmtExpr: "size ($n)", + }, + }, + fmtExpr: "$c > $c", + }, + }, + { + name: "name greater than equal name", + input: Name("foo").GreaterThanEqual(Name("bar")), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + names: []string{"bar"}, + fmtExpr: "$n", + }, + }, + fmtExpr: "$c >= $c", + }, + }, + { + name: "value greater than equal value", + input: Value(5).GreaterThanEqual(Value("bar")), + expectedNode: exprNode{ + children: []exprNode{ + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("bar"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c >= $c", + }, + }, + { + name: "name size greater than equal name size", + input: Name("foo[1]").Size().GreaterThanEqual(Name("bar").Size()), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "size ($n[1])", + }, + { + names: []string{"bar"}, + fmtExpr: "size ($n)", + }, + }, + fmtExpr: "$c >= $c", + }, + }, + { + name: "invalid operand error Equal", + input: Name("").Size().Equal(Value(5)), + err: invalidConditionOperand, + }, + { + name: "invalid operand error NotEqual", + input: Name("").Size().NotEqual(Value(5)), + err: invalidConditionOperand, + }, + { + name: "invalid operand error LessThan", + input: Name("").Size().LessThan(Value(5)), + err: invalidConditionOperand, + }, + { + name: "invalid operand error LessThanEqual", + input: Name("").Size().LessThanEqual(Value(5)), + err: invalidConditionOperand, + }, + { + name: "invalid operand error GreaterThan", + input: Name("").Size().GreaterThan(Value(5)), + err: invalidConditionOperand, + }, + { + name: "invalid operand error GreaterThanEqual", + input: Name("").Size().GreaterThanEqual(Value(5)), + err: invalidConditionOperand, + }, + } + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actual, err := c.input.buildTree() + if c.err != noConditionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + + if e, a := c.expectedNode, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} + +func TestBuildCondition(t *testing.T) { + cases := []struct { + name string + input ConditionBuilder + expected exprNode + err condErrorMode + }{ + { + name: "no match error", + input: ConditionBuilder{}, + err: unsetCondition, + }, + } + + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actual, err := c.input.buildTree() + if c.err != noConditionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + if e, a := c.expected, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} + +func TestBoolCondition(t *testing.T) { + cases := []struct { + name string + input ConditionBuilder + expectedNode exprNode + err condErrorMode + }{ + { + name: "basic method and", + input: Name("foo").Equal(Value(5)).And(Name("bar").Equal(Value("baz"))), + expectedNode: exprNode{ + children: []exprNode{ + { + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c = $c", + }, + { + children: []exprNode{ + { + names: []string{"bar"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("baz"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c = $c", + }, + }, + fmtExpr: "($c) AND ($c)", + }, + }, + { + name: "basic method or", + input: Name("foo").Equal(Value(5)).Or(Name("bar").Equal(Value("baz"))), + expectedNode: exprNode{ + children: []exprNode{ + { + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c = $c", + }, + { + children: []exprNode{ + { + names: []string{"bar"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("baz"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c = $c", + }, + }, + fmtExpr: "($c) OR ($c)", + }, + }, + { + name: "variadic function and", + input: And(Name("foo").Equal(Value(5)), Name("bar").Equal(Value("baz")), Name("qux").Equal(Value(true))), + expectedNode: exprNode{ + children: []exprNode{ + { + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c = $c", + }, + { + children: []exprNode{ + { + names: []string{"bar"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("baz"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c = $c", + }, + { + children: []exprNode{ + { + names: []string{"qux"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + BOOL: aws.Bool(true), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c = $c", + }, + }, + fmtExpr: "($c) AND ($c) AND ($c)", + }, + }, + { + name: "variadic function or", + input: Or(Name("foo").Equal(Value(5)), Name("bar").Equal(Value("baz")), Name("qux").Equal(Value(true))), + expectedNode: exprNode{ + children: []exprNode{ + { + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c = $c", + }, + { + children: []exprNode{ + { + names: []string{"bar"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("baz"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c = $c", + }, + { + children: []exprNode{ + { + names: []string{"qux"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + BOOL: aws.Bool(true), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c = $c", + }, + }, + fmtExpr: "($c) OR ($c) OR ($c)", + }, + }, + { + name: "invalid operand error And", + input: Name("").Size().GreaterThanEqual(Value(5)).And(Name("[5]").Between(Value(3), Value(9))), + err: invalidConditionOperand, + }, + { + name: "invalid operand error Or", + input: Name("").Size().GreaterThanEqual(Value(5)).Or(Name("[5]").Between(Value(3), Value(9))), + err: invalidConditionOperand, + }, + } + + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actual, err := c.input.buildTree() + if c.err != noConditionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + if e, a := c.expectedNode, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} + +func TestNotCondition(t *testing.T) { + cases := []struct { + name string + input ConditionBuilder + expectedNode exprNode + err condErrorMode + }{ + { + name: "basic method not", + input: Name("foo").Equal(Value(5)).Not(), + expectedNode: exprNode{ + children: []exprNode{ + { + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c = $c", + }, + }, + fmtExpr: "NOT ($c)", + }, + }, + { + name: "basic function not", + input: Not(Name("foo").Equal(Value(5))), + expectedNode: exprNode{ + children: []exprNode{ + { + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c = $c", + }, + }, + fmtExpr: "NOT ($c)", + }, + }, + { + name: "invalid operand error not", + input: Name("").Size().GreaterThanEqual(Value(5)).Or(Name("[5]").Between(Value(3), Value(9))).Not(), + err: invalidConditionOperand, + }, + } + + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actual, err := c.input.buildTree() + if c.err != noConditionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + if e, a := c.expectedNode, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} + +func TestBetweenCondition(t *testing.T) { + cases := []struct { + name string + input ConditionBuilder + expectedNode exprNode + err condErrorMode + }{ + { + name: "basic method between for name", + input: Name("foo").Between(Value(5), Value(7)), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("7"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c BETWEEN $c AND $c", + }, + }, + { + name: "basic method between for value", + input: Value(6).Between(Value(5), Value(7)), + expectedNode: exprNode{ + children: []exprNode{ + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("6"), + }, + }, + fmtExpr: "$v", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("7"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c BETWEEN $c AND $c", + }, + }, + { + name: "basic method between for size", + input: Name("foo").Size().Between(Value(5), Value(7)), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "size ($n)", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("7"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c BETWEEN $c AND $c", + }, + }, + { + name: "invalid operand error between", + input: Name("[5]").Between(Value(3), Name("foo..bar")), + err: invalidConditionOperand, + }, + } + + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actual, err := c.input.buildTree() + if c.err != noConditionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + if e, a := c.expectedNode, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} + +func TestInCondition(t *testing.T) { + cases := []struct { + name string + input ConditionBuilder + expectedNode exprNode + err condErrorMode + }{ + { + name: "basic method in for name", + input: Name("foo").In(Value(5), Value(7)), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("7"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c IN ($c, $c)", + }, + }, + { + name: "basic method in for value", + input: Value(6).In(Value(5), Value(7)), + expectedNode: exprNode{ + children: []exprNode{ + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("6"), + }, + }, + fmtExpr: "$v", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("7"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c IN ($c, $c)", + }, + }, + { + name: "basic method in for size", + input: Name("foo").Size().In(Value(5), Value(7)), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "size ($n)", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("7"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c IN ($c, $c)", + }, + }, + { + name: "invalid operand error in", + input: Name("[5]").In(Value(3), Name("foo..bar")), + err: invalidConditionOperand, + }, + } + + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actual, err := c.input.buildTree() + if c.err != noConditionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + if e, a := c.expectedNode, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} + +func TestAttrExistsCondition(t *testing.T) { + cases := []struct { + name string + input ConditionBuilder + expectedNode exprNode + err condErrorMode + }{ + { + name: "basic attr exists", + input: Name("foo").AttributeExists(), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + }, + fmtExpr: "attribute_exists ($c)", + }, + }, + { + name: "basic attr not exists", + input: Name("foo").AttributeNotExists(), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + }, + fmtExpr: "attribute_not_exists ($c)", + }, + }, + { + name: "invalid operand error attr exists", + input: AttributeExists(Name("")), + err: invalidConditionOperand, + }, + { + name: "invalid operand error attr not exists", + input: AttributeNotExists(Name("foo..bar")), + err: invalidConditionOperand, + }, + } + + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actual, err := c.input.buildTree() + if c.err != noConditionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + if e, a := c.expectedNode, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} + +func TestAttrTypeCondition(t *testing.T) { + cases := []struct { + name string + input ConditionBuilder + expectedNode exprNode + err condErrorMode + }{ + { + name: "attr type String", + input: Name("foo").AttributeType(String), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("S"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "attribute_type ($c, $c)", + }, + }, + { + name: "attr type String", + input: Name("foo").AttributeType(String), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("S"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "attribute_type ($c, $c)", + }, + }, + { + name: "attr type StringSet", + input: Name("foo").AttributeType(StringSet), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("SS"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "attribute_type ($c, $c)", + }, + }, + { + name: "attr type Number", + input: Name("foo").AttributeType(Number), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("N"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "attribute_type ($c, $c)", + }, + }, + { + name: "attr type NumberSet", + input: Name("foo").AttributeType(NumberSet), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("NS"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "attribute_type ($c, $c)", + }, + }, + { + name: "attr type Binary", + input: Name("foo").AttributeType(Binary), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("B"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "attribute_type ($c, $c)", + }, + }, + { + name: "attr type BinarySet", + input: Name("foo").AttributeType(BinarySet), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("BS"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "attribute_type ($c, $c)", + }, + }, + { + name: "attr type Boolean", + input: Name("foo").AttributeType(Boolean), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("BOOL"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "attribute_type ($c, $c)", + }, + }, + { + name: "attr type Null", + input: Name("foo").AttributeType(Null), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("NULL"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "attribute_type ($c, $c)", + }, + }, + { + name: "attr type List", + input: Name("foo").AttributeType(List), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("L"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "attribute_type ($c, $c)", + }, + }, + { + name: "attr type Map", + input: Name("foo").AttributeType(Map), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("M"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "attribute_type ($c, $c)", + }, + }, + { + name: "attr type invalid operand", + input: Name("").AttributeType(Map), + err: invalidConditionOperand, + }, + } + + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actual, err := c.input.buildTree() + if c.err != noConditionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + if e, a := c.expectedNode, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} + +func TestBeginsWithCondition(t *testing.T) { + cases := []struct { + name string + input ConditionBuilder + expectedNode exprNode + err condErrorMode + }{ + { + name: "basic begins with", + input: Name("foo").BeginsWith("bar"), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("bar"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "begins_with ($c, $c)", + }, + }, + { + name: "begins with invalid operand", + input: Name("").BeginsWith("bar"), + err: invalidConditionOperand, + }, + } + + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actual, err := c.input.buildTree() + if c.err != noConditionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + if e, a := c.expectedNode, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} + +func TestContainsCondition(t *testing.T) { + cases := []struct { + name string + input ConditionBuilder + expectedNode exprNode + err condErrorMode + }{ + { + name: "basic contains", + input: Name("foo").Contains("bar"), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("bar"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "contains ($c, $c)", + }, + }, + { + name: "contains invalid operand", + input: Name("").Contains("bar"), + err: invalidConditionOperand, + }, + } + + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actual, err := c.input.buildTree() + if c.err != noConditionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + if e, a := c.expectedNode, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} + +func TestCompoundBuildCondition(t *testing.T) { + cases := []struct { + name string + inputCond ConditionBuilder + expected string + }{ + { + name: "and", + inputCond: ConditionBuilder{ + conditionList: []ConditionBuilder{ + {}, + {}, + {}, + {}, + }, + mode: andCond, + }, + expected: "($c) AND ($c) AND ($c) AND ($c)", + }, + { + name: "or", + inputCond: ConditionBuilder{ + conditionList: []ConditionBuilder{ + {}, + {}, + {}, + {}, + {}, + {}, + {}, + }, + mode: orCond, + }, + expected: "($c) OR ($c) OR ($c) OR ($c) OR ($c) OR ($c) OR ($c)", + }, + } + + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + en, err := compoundBuildCondition(c.inputCond, exprNode{}) + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + + if e, a := c.expected, en.fmtExpr; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + }) + } +} + +func TestInBuildCondition(t *testing.T) { + cases := []struct { + name string + inputCond ConditionBuilder + expected string + }{ + { + name: "in", + inputCond: ConditionBuilder{ + operandList: []OperandBuilder{ + NameBuilder{}, + NameBuilder{}, + NameBuilder{}, + NameBuilder{}, + NameBuilder{}, + NameBuilder{}, + NameBuilder{}, + }, + mode: andCond, + }, + expected: "$c IN ($c, $c, $c, $c, $c, $c)", + }, + } + + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + en, err := inBuildCondition(c.inputCond, exprNode{}) + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + + if e, a := c.expected, en.fmtExpr; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + }) + } +} + +// If there is time implement mapEquals diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/doc.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/doc.go new file mode 100644 index 000000000..bdaa0af86 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/doc.go @@ -0,0 +1,48 @@ +/* +Package expression provides types and functions to create Amazon DynamoDB +Expression strings, ExpressionAttributeNames maps, and ExpressionAttributeValues +maps. + +Using the Package + +The package represents the various DynamoDB Expressions as structs named +accordingly. For example, ConditionBuilder represents a DynamoDB Condition +Expression, an UpdateBuilder represents a DynamoDB Update Expression, and so on. +The following example shows a sample ConditionExpression and how to build an +equilvalent ConditionBuilder + + // Let :a be an ExpressionAttributeValue representing the string "No One You + // Know" + condExpr := "Artist = :a" + condBuilder := expression.Name("Artist").Equal(expression.Value("No One You Know")) + +In order to retrieve the formatted DynamoDB Expression strings, call the getter +methods on the Expression struct. To create the Expression struct, call the +Build() method on the Builder struct. Because some input structs, such as +QueryInput, can have multiple DynamoDB Expressions, multiple structs +representing various DynamoDB Expressions can be added to the Builder struct. +The following example shows a generic usage of the whole package. + + filt := expression.Name("Artist").Equal(expression.Value("No One You Know")) + proj := expression.NamesList(expression.Name("SongTitle"), expression.Name("AlbumTitle")) + expr, err := expression.NewBuilder().WithFilter(filt).WithProjection(proj).Build() + if err != nil { + fmt.Println(err) + } + + input := &dynamodb.ScanInput{ + ExpressionAttributeNames: expr.Names(), + ExpressionAttributeValues: expr.Values(), + FilterExpression: expr.Filter(), + ProjectionExpression: expr.Projection(), + TableName: aws.String("Music"), + } + +The ExpressionAttributeNames and ExpressionAttributeValues member of the input +struct must always be assigned when using the Expression struct because all item +attribute names and values are aliased. That means that if the +ExpressionAttributeNames and ExpressionAttributeValues member is not assigned +with the corresponding Names() and Values() methods, the DynamoDB operation will +run into a logic error. +*/ +package expression diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/error.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/error.go new file mode 100644 index 000000000..7378d7e21 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/error.go @@ -0,0 +1,59 @@ +package expression + +import ( + "fmt" +) + +// InvalidParameterError is returned if invalid parameters are encountered. This +// error specifically refers to situations where parameters are non-empty but +// have an invalid syntax/format. The error message includes the function +// that returned the error originally and the parameter type that was deemed +// invalid. +// +// Example: +// +// // err is of type InvalidParameterError +// _, err := expression.Name("foo..bar").BuildOperand() +type InvalidParameterError struct { + parameterType string + functionName string +} + +func (ipe InvalidParameterError) Error() string { + return fmt.Sprintf("%s error: invalid parameter: %s", ipe.functionName, ipe.parameterType) +} + +func newInvalidParameterError(funcName, paramType string) InvalidParameterError { + return InvalidParameterError{ + parameterType: paramType, + functionName: funcName, + } +} + +// UnsetParameterError is returned if parameters are empty and uninitialized. +// This error is returned if opaque structs (ConditionBuilder, NameBuilder, +// Builder, etc) are initialized outside of functions in the package, since all +// structs in the package are designed to be initialized with functions. +// +// Example: +// +// // err is of type UnsetParameterError +// _, err := expression.Builder{}.Build() +// _, err := expression.NewBuilder(). +// WithCondition(expression.ConditionBuilder{}). +// Build() +type UnsetParameterError struct { + parameterType string + functionName string +} + +func (upe UnsetParameterError) Error() string { + return fmt.Sprintf("%s error: unset parameter: %s", upe.functionName, upe.parameterType) +} + +func newUnsetParameterError(funcName, paramType string) UnsetParameterError { + return UnsetParameterError{ + parameterType: paramType, + functionName: funcName, + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/error_test.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/error_test.go new file mode 100644 index 000000000..7b4b22177 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/error_test.go @@ -0,0 +1,51 @@ +// +build go1.7 + +package expression + +import ( + "testing" +) + +func TestInvalidParameterError(t *testing.T) { + cases := []struct { + name string + input InvalidParameterError + expected string + }{ + { + name: "invalid error", + input: newInvalidParameterError("func", "param"), + expected: "func error: invalid parameter: param", + }, + } + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actual := c.input.Error() + if e, a := c.expected, actual; e != a { + t.Errorf("expect %v, got %v", e, a) + } + }) + } +} + +func TestUnsetParameterError(t *testing.T) { + cases := []struct { + name string + input UnsetParameterError + expected string + }{ + { + name: "unset error", + input: newUnsetParameterError("func", "param"), + expected: "func error: unset parameter: param", + }, + } + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actual := c.input.Error() + if e, a := c.expected, actual; e != a { + t.Errorf("expect %v, got %v", e, a) + } + }) + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/examples_test.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/examples_test.go new file mode 100644 index 000000000..39ab0f637 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/examples_test.go @@ -0,0 +1,315 @@ +package expression_test + +import ( + "fmt" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/session" + "github.com/aws/aws-sdk-go/service/dynamodb" + "github.com/aws/aws-sdk-go/service/dynamodb/expression" +) + +// Using Projection Expression +// +// This example queries items in the Music table. The table has a partition key and +// sort key (Artist and SongTitle), but this query only specifies the partition key +// value. It returns song titles by the artist named "No One You Know". +func ExampleBuilder_WithProjection() { + svc := dynamodb.New(session.New()) + + // Construct the Key condition builder + keyCond := expression.Key("Artist").Equal(expression.Value("No One You Know")) + + // Create the project expression builder with a names list. + proj := expression.NamesList(expression.Name("SongTitle")) + + // Combine the key condition, and projection together as a DynamoDB expression + // builder. + expr, err := expression.NewBuilder(). + WithKeyCondition(keyCond). + WithProjection(proj). + Build() + if err != nil { + fmt.Println(err) + } + + // Use the built expression to populate the DynamoDB Query's API input + // parameters. + input := &dynamodb.QueryInput{ + ExpressionAttributeValues: expr.Values(), + KeyConditionExpression: expr.KeyCondition(), + ProjectionExpression: expr.Projection(), + TableName: aws.String("Music"), + } + + result, err := svc.Query(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case dynamodb.ErrCodeProvisionedThroughputExceededException: + fmt.Println(dynamodb.ErrCodeProvisionedThroughputExceededException, aerr.Error()) + case dynamodb.ErrCodeResourceNotFoundException: + fmt.Println(dynamodb.ErrCodeResourceNotFoundException, aerr.Error()) + case dynamodb.ErrCodeInternalServerError: + fmt.Println(dynamodb.ErrCodeInternalServerError, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Using Key Condition Expression +// +// This example queries items in the Music table. The table has a partition key and +// sort key (Artist and SongTitle), but this query only specifies the partition key +// value. It returns song titles by the artist named "No One You Know". +func ExampleBuilder_WithKeyCondition() { + svc := dynamodb.New(session.New()) + + // Construct the Key condition builder + keyCond := expression.Key("Artist").Equal(expression.Value("No One You Know")) + + // Create the project expression builder with a names list. + proj := expression.NamesList(expression.Name("SongTitle")) + + // Combine the key condition, and projection together as a DynamoDB expression + // builder. + expr, err := expression.NewBuilder(). + WithKeyCondition(keyCond). + WithProjection(proj). + Build() + if err != nil { + fmt.Println(err) + } + + // Use the built expression to populate the DynamoDB Query's API input + // parameters. + input := &dynamodb.QueryInput{ + ExpressionAttributeValues: expr.Values(), + KeyConditionExpression: expr.KeyCondition(), + ProjectionExpression: expr.Projection(), + TableName: aws.String("Music"), + } + + result, err := svc.Query(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case dynamodb.ErrCodeProvisionedThroughputExceededException: + fmt.Println(dynamodb.ErrCodeProvisionedThroughputExceededException, aerr.Error()) + case dynamodb.ErrCodeResourceNotFoundException: + fmt.Println(dynamodb.ErrCodeResourceNotFoundException, aerr.Error()) + case dynamodb.ErrCodeInternalServerError: + fmt.Println(dynamodb.ErrCodeInternalServerError, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Using Filter Expression +// +// This example scans the entire Music table, and then narrows the results to songs +// by the artist "No One You Know". For each item, only the album title and song title +// are returned. +func ExampleBuilder_WithFilter() { + svc := dynamodb.New(session.New()) + + // Construct the filter builder with a name and value. + filt := expression.Name("Artist").Equal(expression.Value("No One You Know")) + + // Create the names list projection of names to project. + proj := expression.NamesList( + expression.Name("AlbumTitle"), + expression.Name("SongTitle"), + ) + + // Using the filter and projections create a DynamoDB expression from the two. + expr, err := expression.NewBuilder(). + WithFilter(filt). + WithProjection(proj). + Build() + if err != nil { + fmt.Println(err) + } + + // Use the built expression to populate the DynamoDB Scan API input parameters. + input := &dynamodb.ScanInput{ + ExpressionAttributeNames: expr.Names(), + ExpressionAttributeValues: expr.Values(), + FilterExpression: expr.Filter(), + ProjectionExpression: expr.Projection(), + TableName: aws.String("Music"), + } + + result, err := svc.Scan(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case dynamodb.ErrCodeProvisionedThroughputExceededException: + fmt.Println(dynamodb.ErrCodeProvisionedThroughputExceededException, aerr.Error()) + case dynamodb.ErrCodeResourceNotFoundException: + fmt.Println(dynamodb.ErrCodeResourceNotFoundException, aerr.Error()) + case dynamodb.ErrCodeInternalServerError: + fmt.Println(dynamodb.ErrCodeInternalServerError, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Using Update Expression +// +// This example updates an item in the Music table. It adds a new attribute (Year) and +// modifies the AlbumTitle attribute. All of the attributes in the item, as they appear +// after the update, are returned in the response. +func ExampleBuilder_WithUpdate() { + svc := dynamodb.New(session.New()) + + // Create an update to set two fields in the table. + update := expression.Set( + expression.Name("Year"), + expression.Value(2015), + ).Set( + expression.Name("AlbumTitle"), + expression.Value("Louder Than Ever"), + ) + + // Create the DynamoDB expression from the Update. + expr, err := expression.NewBuilder(). + WithUpdate(update). + Build() + + // Use the built expression to populate the DynamoDB UpdateItem API + // input parameters. + input := &dynamodb.UpdateItemInput{ + ExpressionAttributeNames: expr.Names(), + ExpressionAttributeValues: expr.Values(), + Key: map[string]*dynamodb.AttributeValue{ + "Artist": { + S: aws.String("Acme Band"), + }, + "SongTitle": { + S: aws.String("Happy Day"), + }, + }, + ReturnValues: aws.String("ALL_NEW"), + TableName: aws.String("Music"), + UpdateExpression: expr.Update(), + } + + result, err := svc.UpdateItem(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case dynamodb.ErrCodeConditionalCheckFailedException: + fmt.Println(dynamodb.ErrCodeConditionalCheckFailedException, aerr.Error()) + case dynamodb.ErrCodeProvisionedThroughputExceededException: + fmt.Println(dynamodb.ErrCodeProvisionedThroughputExceededException, aerr.Error()) + case dynamodb.ErrCodeResourceNotFoundException: + fmt.Println(dynamodb.ErrCodeResourceNotFoundException, aerr.Error()) + case dynamodb.ErrCodeItemCollectionSizeLimitExceededException: + fmt.Println(dynamodb.ErrCodeItemCollectionSizeLimitExceededException, aerr.Error()) + case dynamodb.ErrCodeInternalServerError: + fmt.Println(dynamodb.ErrCodeInternalServerError, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Using Condition Expression +// +// This example deletes an item from the Music table if the rating is lower than +// 7. +func ExampleBuilder_WithCondition() { + svc := dynamodb.New(session.New()) + + // Create a condition where the Rating field must be less than 7. + cond := expression.Name("Rating").LessThan(expression.Value(7)) + + // Create a DynamoDB expression from the condition. + expr, err := expression.NewBuilder(). + WithCondition(cond). + Build() + if err != nil { + fmt.Println(err) + } + + // Use the built expression to populate the DeleteItem API operation with the + // condition expression. + input := &dynamodb.DeleteItemInput{ + Key: map[string]*dynamodb.AttributeValue{ + "Artist": { + S: aws.String("No One You Know"), + }, + "SongTitle": { + S: aws.String("Scared of My Shadow"), + }, + }, + ExpressionAttributeNames: expr.Names(), + ExpressionAttributeValues: expr.Values(), + ConditionExpression: expr.Condition(), + TableName: aws.String("Music"), + } + + result, err := svc.DeleteItem(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case dynamodb.ErrCodeConditionalCheckFailedException: + fmt.Println(dynamodb.ErrCodeConditionalCheckFailedException, aerr.Error()) + case dynamodb.ErrCodeProvisionedThroughputExceededException: + fmt.Println(dynamodb.ErrCodeProvisionedThroughputExceededException, aerr.Error()) + case dynamodb.ErrCodeResourceNotFoundException: + fmt.Println(dynamodb.ErrCodeResourceNotFoundException, aerr.Error()) + case dynamodb.ErrCodeItemCollectionSizeLimitExceededException: + fmt.Println(dynamodb.ErrCodeItemCollectionSizeLimitExceededException, aerr.Error()) + case dynamodb.ErrCodeInternalServerError: + fmt.Println(dynamodb.ErrCodeInternalServerError, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/expression.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/expression.go new file mode 100644 index 000000000..75a33f06b --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/expression.go @@ -0,0 +1,635 @@ +package expression + +import ( + "fmt" + "sort" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/service/dynamodb" +) + +// expressionType specifies the type of Expression. Declaring this type is used +// to eliminate magic strings +type expressionType string + +const ( + projection expressionType = "projection" + keyCondition = "keyCondition" + condition = "condition" + filter = "filter" + update = "update" +) + +// Implement the Sort interface +type typeList []expressionType + +func (l typeList) Len() int { + return len(l) +} + +func (l typeList) Less(i, j int) bool { + return string(l[i]) < string(l[j]) +} + +func (l typeList) Swap(i, j int) { + l[i], l[j] = l[j], l[i] +} + +// Builder represents the struct that builds the Expression struct. Methods such +// as WithProjection() and WithCondition() can add different kinds of DynamoDB +// Expressions to the Builder. The method Build() creates an Expression struct +// with the specified types of DynamoDB Expressions. +// +// Example: +// +// keyCond := expression.Key("someKey").Equal(expression.Value("someValue")) +// proj := expression.NamesList(expression.Name("aName"), expression.Name("anotherName"), expression.Name("oneOtherName")) +// +// builder := expression.NewBuilder().WithKeyCondition(keyCond).WithProjection(proj) +// expression := builder.Build() +// +// queryInput := dynamodb.QueryInput{ +// KeyConditionExpression: expression.KeyCondition(), +// ProjectionExpression: expression.Projection(), +// ExpressionAttributeNames: expression.Names(), +// ExpressionAttributeValues: expression.Values(), +// TableName: aws.String("SomeTable"), +// } +type Builder struct { + expressionMap map[expressionType]treeBuilder +} + +// NewBuilder returns an empty Builder struct. Methods such as WithProjection() +// and WithCondition() can add different kinds of DynamoDB Expressions to the +// Builder. The method Build() creates an Expression struct with the specified +// types of DynamoDB Expressions. +// +// Example: +// +// keyCond := expression.Key("someKey").Equal(expression.Value("someValue")) +// proj := expression.NamesList(expression.Name("aName"), expression.Name("anotherName"), expression.Name("oneOtherName")) +// builder := expression.NewBuilder().WithKeyCondition(keyCond).WithProjection(proj) +func NewBuilder() Builder { + return Builder{} +} + +// Build builds an Expression struct representing multiple types of DynamoDB +// Expressions. Getter methods on the resulting Expression struct returns the +// DynamoDB Expression strings as well as the maps that correspond to +// ExpressionAttributeNames and ExpressionAttributeValues. Calling Build() on an +// empty Builder returns the typed error EmptyParameterError. +// +// Example: +// +// // keyCond represents the Key Condition Expression +// keyCond := expression.Key("someKey").Equal(expression.Value("someValue")) +// // proj represents the Projection Expression +// proj := expression.NamesList(expression.Name("aName"), expression.Name("anotherName"), expression.Name("oneOtherName")) +// +// // Add keyCond and proj to builder as a Key Condition and Projection +// // respectively +// builder := expression.NewBuilder().WithKeyCondition(keyCond).WithProjection(proj) +// expression := builder.Build() +// +// queryInput := dynamodb.QueryInput{ +// KeyConditionExpression: expression.KeyCondition(), +// ProjectionExpression: expression.Projection(), +// ExpressionAttributeNames: expression.Names(), +// ExpressionAttributeValues: expression.Values(), +// TableName: aws.String("SomeTable"), +// } +func (b Builder) Build() (Expression, error) { + if b.expressionMap == nil { + return Expression{}, newUnsetParameterError("Build", "Builder") + } + + aliasList, expressionMap, err := b.buildChildTrees() + if err != nil { + return Expression{}, err + } + + expression := Expression{ + expressionMap: expressionMap, + } + + if len(aliasList.namesList) != 0 { + namesMap := map[string]*string{} + for ind, val := range aliasList.namesList { + namesMap[fmt.Sprintf("#%v", ind)] = aws.String(val) + } + expression.namesMap = namesMap + } + + if len(aliasList.valuesList) != 0 { + valuesMap := map[string]*dynamodb.AttributeValue{} + for i := 0; i < len(aliasList.valuesList); i++ { + valuesMap[fmt.Sprintf(":%v", i)] = &aliasList.valuesList[i] + } + expression.valuesMap = valuesMap + } + + return expression, nil +} + +// buildChildTrees compiles the list of treeBuilders that are the children of +// the argument Builder. The returned aliasList represents all the alias tokens +// used in the expression strings. The returned map[string]string maps the type +// of expression (i.e. "condition", "update") to the appropriate expression +// string. +func (b Builder) buildChildTrees() (aliasList, map[expressionType]string, error) { + aList := aliasList{} + formattedExpressions := map[expressionType]string{} + keys := typeList{} + + for expressionType := range b.expressionMap { + keys = append(keys, expressionType) + } + + sort.Sort(keys) + + for _, key := range keys { + node, err := b.expressionMap[key].buildTree() + if err != nil { + return aliasList{}, nil, err + } + formattedExpression, err := node.buildExpressionString(&aList) + if err != nil { + return aliasList{}, nil, err + } + formattedExpressions[key] = formattedExpression + } + + return aList, formattedExpressions, nil +} + +// WithCondition method adds the argument ConditionBuilder as a Condition +// Expression to the argument Builder. If the argument Builder already has a +// ConditionBuilder representing a Condition Expression, WithCondition() +// overwrites the existing ConditionBuilder. +// +// Example: +// +// // let builder be an existing Builder{} and cond be an existing +// // ConditionBuilder{} +// builder = builder.WithCondition(cond) +// +// // add other DynamoDB Expressions to the builder. let proj be an already +// // existing ProjectionBuilder +// builder = builder.WithProjection(proj) +// // create an Expression struct +// expression := builder.Build() +func (b Builder) WithCondition(conditionBuilder ConditionBuilder) Builder { + if b.expressionMap == nil { + b.expressionMap = map[expressionType]treeBuilder{} + } + b.expressionMap[condition] = conditionBuilder + return b +} + +// WithProjection method adds the argument ProjectionBuilder as a Projection +// Expression to the argument Builder. If the argument Builder already has a +// ProjectionBuilder representing a Projection Expression, WithProjection() +// overwrites the existing ProjectionBuilder. +// +// Example: +// +// // let builder be an existing Builder{} and proj be an existing +// // ProjectionBuilder{} +// builder = builder.WithProjection(proj) +// +// // add other DynamoDB Expressions to the builder. let cond be an already +// // existing ConditionBuilder +// builder = builder.WithCondition(cond) +// // create an Expression struct +// expression := builder.Build() +func (b Builder) WithProjection(projectionBuilder ProjectionBuilder) Builder { + if b.expressionMap == nil { + b.expressionMap = map[expressionType]treeBuilder{} + } + b.expressionMap[projection] = projectionBuilder + return b +} + +// WithKeyCondition method adds the argument KeyConditionBuilder as a Key +// Condition Expression to the argument Builder. If the argument Builder already +// has a KeyConditionBuilder representing a Key Condition Expression, +// WithKeyCondition() overwrites the existing KeyConditionBuilder. +// +// Example: +// +// // let builder be an existing Builder{} and keyCond be an existing +// // KeyConditionBuilder{} +// builder = builder.WithKeyCondition(keyCond) +// +// // add other DynamoDB Expressions to the builder. let cond be an already +// // existing ConditionBuilder +// builder = builder.WithCondition(cond) +// // create an Expression struct +// expression := builder.Build() +func (b Builder) WithKeyCondition(keyConditionBuilder KeyConditionBuilder) Builder { + if b.expressionMap == nil { + b.expressionMap = map[expressionType]treeBuilder{} + } + b.expressionMap[keyCondition] = keyConditionBuilder + return b +} + +// WithFilter method adds the argument ConditionBuilder as a Filter Expression +// to the argument Builder. If the argument Builder already has a +// ConditionBuilder representing a Filter Expression, WithFilter() +// overwrites the existing ConditionBuilder. +// +// Example: +// +// // let builder be an existing Builder{} and filt be an existing +// // ConditionBuilder{} +// builder = builder.WithFilter(filt) +// +// // add other DynamoDB Expressions to the builder. let cond be an already +// // existing ConditionBuilder +// builder = builder.WithCondition(cond) +// // create an Expression struct +// expression := builder.Build() +func (b Builder) WithFilter(filterBuilder ConditionBuilder) Builder { + if b.expressionMap == nil { + b.expressionMap = map[expressionType]treeBuilder{} + } + b.expressionMap[filter] = filterBuilder + return b +} + +// WithUpdate method adds the argument UpdateBuilder as an Update Expression +// to the argument Builder. If the argument Builder already has a UpdateBuilder +// representing a Update Expression, WithUpdate() overwrites the existing +// UpdateBuilder. +// +// Example: +// +// // let builder be an existing Builder{} and update be an existing +// // UpdateBuilder{} +// builder = builder.WithUpdate(update) +// +// // add other DynamoDB Expressions to the builder. let cond be an already +// // existing ConditionBuilder +// builder = builder.WithCondition(cond) +// // create an Expression struct +// expression := builder.Build() +func (b Builder) WithUpdate(updateBuilder UpdateBuilder) Builder { + if b.expressionMap == nil { + b.expressionMap = map[expressionType]treeBuilder{} + } + b.expressionMap[update] = updateBuilder + return b +} + +// Expression represents a collection of DynamoDB Expressions. The getter +// methods of the Expression struct retrieves the formatted DynamoDB +// Expressions, ExpressionAttributeNames, and ExpressionAttributeValues. +// +// Example: +// +// // keyCond represents the Key Condition Expression +// keyCond := expression.Key("someKey").Equal(expression.Value("someValue")) +// // proj represents the Projection Expression +// proj := expression.NamesList(expression.Name("aName"), expression.Name("anotherName"), expression.Name("oneOtherName")) +// +// // Add keyCond and proj to builder as a Key Condition and Projection +// // respectively +// builder := expression.NewBuilder().WithKeyCondition(keyCond).WithProjection(proj) +// expression := builder.Build() +// +// queryInput := dynamodb.QueryInput{ +// KeyConditionExpression: expression.KeyCondition(), +// ProjectionExpression: expression.Projection(), +// ExpressionAttributeNames: expression.Names(), +// ExpressionAttributeValues: expression.Values(), +// TableName: aws.String("SomeTable"), +// } +type Expression struct { + expressionMap map[expressionType]string + namesMap map[string]*string + valuesMap map[string]*dynamodb.AttributeValue +} + +// treeBuilder interface is fulfilled by builder structs that represent +// different types of Expressions. +type treeBuilder interface { + // buildTree creates the tree structure of exprNodes. The tree structure + // of exprNodes are traversed in order to build the string representing + // different types of Expressions as well as the maps that represent + // ExpressionAttributeNames and ExpressionAttributeValues. + buildTree() (exprNode, error) +} + +// Condition returns the *string corresponding to the Condition Expression +// of the argument Expression. This method is used to satisfy the members of +// DynamoDB input structs. If the Expression does not have a condition +// expression this method returns nil. +// +// Example: +// +// // let expression be an instance of Expression{} +// +// deleteInput := dynamodb.DeleteItemInput{ +// ConditionExpression: expression.Condition(), +// ExpressionAttributeNames: expression.Names(), +// ExpressionAttributeValues: expression.Values(), +// Key: map[string]*dynamodb.AttributeValue{ +// "PartitionKey": &dynamodb.AttributeValue{ +// S: aws.String("SomeKey"), +// }, +// }, +// TableName: aws.String("SomeTable"), +// } +func (e Expression) Condition() *string { + return e.returnExpression(condition) +} + +// Filter returns the *string corresponding to the Filter Expression of the +// argument Expression. This method is used to satisfy the members of DynamoDB +// input structs. If the Expression does not have a filter expression this +// method returns nil. +// +// Example: +// +// // let expression be an instance of Expression{} +// +// queryInput := dynamodb.QueryInput{ +// KeyConditionExpression: expression.KeyCondition(), +// FilterExpression: expression.Filter(), +// ExpressionAttributeNames: expression.Names(), +// ExpressionAttributeValues: expression.Values(), +// TableName: aws.String("SomeTable"), +// } +func (e Expression) Filter() *string { + return e.returnExpression(filter) +} + +// Projection returns the *string corresponding to the Projection Expression +// of the argument Expression. This method is used to satisfy the members of +// DynamoDB input structs. If the Expression does not have a projection +// expression this method returns nil. +// +// Example: +// +// // let expression be an instance of Expression{} +// +// queryInput := dynamodb.QueryInput{ +// KeyConditionExpression: expression.KeyCondition(), +// ProjectionExpression: expression.Projection(), +// ExpressionAttributeNames: expression.Names(), +// ExpressionAttributeValues: expression.Values(), +// TableName: aws.String("SomeTable"), +// } +func (e Expression) Projection() *string { + return e.returnExpression(projection) +} + +// KeyCondition returns the *string corresponding to the Key Condition +// Expression of the argument Expression. This method is used to satisfy the +// members of DynamoDB input structs. If the argument Expression does not have a +// KeyConditionExpression, KeyCondition() returns nil. +// +// Example: +// +// // let expression be an instance of Expression{} +// +// queryInput := dynamodb.QueryInput{ +// KeyConditionExpression: expression.KeyCondition(), +// ProjectionExpression: expression.Projection(), +// ExpressionAttributeNames: expression.Names(), +// ExpressionAttributeValues: expression.Values(), +// TableName: aws.String("SomeTable"), +// } +func (e Expression) KeyCondition() *string { + return e.returnExpression(keyCondition) +} + +// Update returns the *string corresponding to the Update Expression of the +// argument Expression. This method is used to satisfy the members of DynamoDB +// input structs. If the argument Expression does not have a UpdateExpression, +// Update() returns nil. +// +// Example: +// +// // let expression be an instance of Expression{} +// +// updateInput := dynamodb.UpdateInput{ +// Key: map[string]*dynamodb.AttributeValue{ +// "PartitionKey": { +// S: aws.String("someKey"), +// }, +// }, +// UpdateExpression: expression.Update(), +// ExpressionAttributeNames: expression.Names(), +// ExpressionAttributeValues: expression.Values(), +// TableName: aws.String("SomeTable"), +// } +func (e Expression) Update() *string { + return e.returnExpression(update) +} + +// Names returns the map[string]*string corresponding to the +// ExpressionAttributeNames of the argument Expression. This method is used to +// satisfy the members of DynamoDB input structs. If Expression does not use +// ExpressionAttributeNames, this method returns nil. The +// ExpressionAttributeNames and ExpressionAttributeValues member of the input +// struct must always be assigned when using the Expression struct since all +// item attribute names and values are aliased. That means that if the +// ExpressionAttributeNames and ExpressionAttributeValues member is not assigned +// with the corresponding Names() and Values() methods, the DynamoDB operation +// will run into a logic error. +// +// Example: +// +// // let expression be an instance of Expression{} +// +// queryInput := dynamodb.QueryInput{ +// KeyConditionExpression: expression.KeyCondition(), +// ProjectionExpression: expression.Projection(), +// ExpressionAttributeNames: expression.Names(), +// ExpressionAttributeValues: expression.Values(), +// TableName: aws.String("SomeTable"), +// } +func (e Expression) Names() map[string]*string { + return e.namesMap +} + +// Values returns the map[string]*dynamodb.AttributeValue corresponding to +// the ExpressionAttributeValues of the argument Expression. This method is used +// to satisfy the members of DynamoDB input structs. If Expression does not use +// ExpressionAttributeValues, this method returns nil. The +// ExpressionAttributeNames and ExpressionAttributeValues member of the input +// struct must always be assigned when using the Expression struct since all +// item attribute names and values are aliased. That means that if the +// ExpressionAttributeNames and ExpressionAttributeValues member is not assigned +// with the corresponding Names() and Values() methods, the DynamoDB operation +// will run into a logic error. +// +// Example: +// +// // let expression be an instance of Expression{} +// +// queryInput := dynamodb.QueryInput{ +// KeyConditionExpression: expression.KeyCondition(), +// ProjectionExpression: expression.Projection(), +// ExpressionAttributeNames: expression.Names(), +// ExpressionAttributeValues: expression.Values(), +// TableName: aws.String("SomeTable"), +// } +func (e Expression) Values() map[string]*dynamodb.AttributeValue { + return e.valuesMap +} + +// returnExpression returns *string corresponding to the type of Expression +// string specified by the expressionType. If there is no corresponding +// expression available in Expression, the method returns nil +func (e Expression) returnExpression(expressionType expressionType) *string { + if e.expressionMap == nil { + return nil + } + return aws.String(e.expressionMap[expressionType]) +} + +// exprNode are the generic nodes that represents both Operands and +// Conditions. The purpose of exprNode is to be able to call an generic +// recursive function on the top level exprNode to be able to determine a root +// node in order to deduplicate name aliases. +// fmtExpr is a string that has escaped characters to refer to +// names/values/children which needs to be aliased at runtime in order to avoid +// duplicate values. The rules are as follows: +// $n: Indicates that an alias of a name needs to be inserted. The +// corresponding name to be alias is in the []names slice. +// $v: Indicates that an alias of a value needs to be inserted. The +// corresponding value to be alias is in the []values slice. +// $c: Indicates that the fmtExpr of a child exprNode needs to be inserted. +// The corresponding child node is in the []children slice. +type exprNode struct { + names []string + values []dynamodb.AttributeValue + children []exprNode + fmtExpr string +} + +// aliasList keeps track of all the names we need to alias in the nested +// struct of conditions and operands. This allows each alias to be unique. +// aliasList is passed in as a pointer when buildChildTrees is called in +// order to deduplicate all names within the tree strcuture of the exprNodes. +type aliasList struct { + namesList []string + valuesList []dynamodb.AttributeValue +} + +// buildExpressionString returns a string with aliasing for names/values +// specified by aliasList. The string corresponds to the expression that the +// exprNode tree represents. +func (en exprNode) buildExpressionString(aliasList *aliasList) (string, error) { + // Since each exprNode contains a slice of names, values, and children that + // correspond to the escaped characters, we an index to traverse the slices + index := struct { + name, value, children int + }{} + + formattedExpression := en.fmtExpr + + for i := 0; i < len(formattedExpression); { + if formattedExpression[i] != '$' { + i++ + continue + } + + if i == len(formattedExpression)-1 { + return "", fmt.Errorf("buildexprNode error: invalid escape character") + } + + var alias string + var err error + // if an escaped character is found, substitute it with the proper alias + // TODO consider AST instead of string in the future + switch formattedExpression[i+1] { + case 'n': + alias, err = substitutePath(index.name, en, aliasList) + if err != nil { + return "", err + } + index.name++ + + case 'v': + alias, err = substituteValue(index.value, en, aliasList) + if err != nil { + return "", err + } + index.value++ + + case 'c': + alias, err = substituteChild(index.children, en, aliasList) + if err != nil { + return "", err + } + index.children++ + + default: + return "", fmt.Errorf("buildexprNode error: invalid escape rune %#v", formattedExpression[i+1]) + } + formattedExpression = formattedExpression[:i] + alias + formattedExpression[i+2:] + i += len(alias) + } + + return formattedExpression, nil +} + +// substitutePath substitutes the escaped character $n with the appropriate +// alias. +func substitutePath(index int, node exprNode, aliasList *aliasList) (string, error) { + if index >= len(node.names) { + return "", fmt.Errorf("substitutePath error: exprNode []names out of range") + } + str, err := aliasList.aliasPath(node.names[index]) + if err != nil { + return "", err + } + return str, nil +} + +// substituteValue substitutes the escaped character $v with the appropriate +// alias. +func substituteValue(index int, node exprNode, aliasList *aliasList) (string, error) { + if index >= len(node.values) { + return "", fmt.Errorf("substituteValue error: exprNode []values out of range") + } + str, err := aliasList.aliasValue(node.values[index]) + if err != nil { + return "", err + } + return str, nil +} + +// substituteChild substitutes the escaped character $c with the appropriate +// alias. +func substituteChild(index int, node exprNode, aliasList *aliasList) (string, error) { + if index >= len(node.children) { + return "", fmt.Errorf("substituteChild error: exprNode []children out of range") + } + return node.children[index].buildExpressionString(aliasList) +} + +// aliasValue returns the corresponding alias to the dav value argument. Since +// values are not deduplicated as of now, all values are just appended to the +// aliasList and given the index as the alias. +func (al *aliasList) aliasValue(dav dynamodb.AttributeValue) (string, error) { + al.valuesList = append(al.valuesList, dav) + return fmt.Sprintf(":%d", len(al.valuesList)-1), nil +} + +// aliasPath returns the corresponding alias to the argument string. The +// argument is checked against all existing aliasList names in order to avoid +// duplicate strings getting two different aliases. +func (al *aliasList) aliasPath(nm string) (string, error) { + for ind, name := range al.namesList { + if nm == name { + return fmt.Sprintf("#%d", ind), nil + } + } + al.namesList = append(al.namesList, nm) + return fmt.Sprintf("#%d", len(al.namesList)-1), nil +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/expression_test.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/expression_test.go new file mode 100644 index 000000000..29af86206 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/expression_test.go @@ -0,0 +1,1082 @@ +// +build go1.7 + +package expression + +import ( + "reflect" + "strings" + "testing" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/service/dynamodb" +) + +type exprErrorMode string + +const ( + noExpressionError exprErrorMode = "" + // invalidEscChar error will occer if the escape char '$' is either followed + // by an unsupported character or if the escape char is the last character + invalidEscChar = "invalid escape" + // outOfRange error will occur if there are more escaped chars than there are + // actual values to be aliased. + outOfRange = "out of range" + // invalidBuilderOperand error will occur if an invalid operand is used + // as input for Build() + invalidExpressionBuildOperand = "BuildOperand error" + // unsetBuilder error will occur if Build() is called on an unset Builder + unsetBuilder = "unset parameter: Builder" + // unsetConditionBuilder error will occur if an unset ConditionBuilder is + // used in WithCondition() + unsetConditionBuilder = "unset parameter: ConditionBuilder" +) + +func TestBuild(t *testing.T) { + cases := []struct { + name string + input Builder + expected Expression + err exprErrorMode + }{ + { + name: "condition", + input: NewBuilder().WithCondition(Name("foo").Equal(Value(5))), + expected: Expression{ + expressionMap: map[expressionType]string{ + condition: "#0 = :0", + }, + namesMap: map[string]*string{ + "#0": aws.String("foo"), + }, + valuesMap: map[string]*dynamodb.AttributeValue{ + ":0": { + N: aws.String("5"), + }, + }, + }, + }, + { + name: "projection", + input: NewBuilder().WithProjection(NamesList(Name("foo"), Name("bar"), Name("baz"))), + expected: Expression{ + expressionMap: map[expressionType]string{ + projection: "#0, #1, #2", + }, + namesMap: map[string]*string{ + "#0": aws.String("foo"), + "#1": aws.String("bar"), + "#2": aws.String("baz"), + }, + }, + }, + { + name: "keyCondition", + input: NewBuilder().WithKeyCondition(Key("foo").Equal(Value(5))), + expected: Expression{ + expressionMap: map[expressionType]string{ + keyCondition: "#0 = :0", + }, + namesMap: map[string]*string{ + "#0": aws.String("foo"), + }, + valuesMap: map[string]*dynamodb.AttributeValue{ + ":0": { + N: aws.String("5"), + }, + }, + }, + }, + { + name: "filter", + input: NewBuilder().WithFilter(Name("foo").Equal(Value(5))), + expected: Expression{ + expressionMap: map[expressionType]string{ + filter: "#0 = :0", + }, + namesMap: map[string]*string{ + "#0": aws.String("foo"), + }, + valuesMap: map[string]*dynamodb.AttributeValue{ + ":0": { + N: aws.String("5"), + }, + }, + }, + }, + { + name: "update", + input: NewBuilder().WithUpdate(Set(Name("foo"), (Value(5)))), + expected: Expression{ + expressionMap: map[expressionType]string{ + update: "SET #0 = :0\n", + }, + namesMap: map[string]*string{ + "#0": aws.String("foo"), + }, + valuesMap: map[string]*dynamodb.AttributeValue{ + ":0": { + N: aws.String("5"), + }, + }, + }, + }, + { + name: "compound", + input: NewBuilder(). + WithCondition(Name("foo").Equal(Value(5))). + WithFilter(Name("bar").LessThan(Value(6))). + WithProjection(NamesList(Name("foo"), Name("bar"), Name("baz"))). + WithKeyCondition(Key("foo").Equal(Value(5))). + WithUpdate(Set(Name("foo"), Value(5))), + expected: Expression{ + expressionMap: map[expressionType]string{ + condition: "#0 = :0", + filter: "#1 < :1", + projection: "#0, #1, #2", + keyCondition: "#0 = :2", + update: "SET #0 = :3\n", + }, + namesMap: map[string]*string{ + "#0": aws.String("foo"), + "#1": aws.String("bar"), + "#2": aws.String("baz"), + }, + valuesMap: map[string]*dynamodb.AttributeValue{ + ":0": { + N: aws.String("5"), + }, + ":1": { + N: aws.String("6"), + }, + ":2": { + N: aws.String("5"), + }, + ":3": { + N: aws.String("5"), + }, + }, + }, + }, + { + name: "invalid Builder", + input: NewBuilder().WithCondition(Name("").Equal(Value(5))), + err: invalidExpressionBuildOperand, + }, + { + name: "unset Builder", + input: Builder{}, + err: unsetBuilder, + }, + } + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actual, err := c.input.Build() + if c.err != noExpressionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + + if e, a := c.expected, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} + +func TestCondition(t *testing.T) { + cases := []struct { + name string + input Builder + expected *string + err exprErrorMode + }{ + { + name: "condition", + input: Builder{ + expressionMap: map[expressionType]treeBuilder{ + condition: Name("foo").Equal(Value(5)), + }, + }, + expected: aws.String("#0 = :0"), + }, + { + name: "unset builder", + input: Builder{}, + err: unsetBuilder, + }, + } + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + expr, err := c.input.Build() + if c.err != noExpressionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + } + actual := expr.Condition() + if e, a := c.expected, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + }) + } +} + +func TestFilter(t *testing.T) { + cases := []struct { + name string + input Builder + expected *string + err exprErrorMode + }{ + { + name: "filter", + input: Builder{ + expressionMap: map[expressionType]treeBuilder{ + filter: Name("foo").Equal(Value(5)), + }, + }, + expected: aws.String("#0 = :0"), + }, + { + name: "unset builder", + input: Builder{}, + err: unsetBuilder, + }, + } + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + expr, err := c.input.Build() + if c.err != noExpressionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + } + actual := expr.Filter() + if e, a := c.expected, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + }) + } +} + +func TestProjection(t *testing.T) { + cases := []struct { + name string + input Builder + expected *string + err exprErrorMode + }{ + { + name: "projection", + input: Builder{ + expressionMap: map[expressionType]treeBuilder{ + projection: NamesList(Name("foo"), Name("bar"), Name("baz")), + }, + }, + expected: aws.String("#0, #1, #2"), + }, + { + name: "unset builder", + input: Builder{}, + err: unsetBuilder, + }, + } + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + expr, err := c.input.Build() + if c.err != noExpressionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + } + actual := expr.Projection() + if e, a := c.expected, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + }) + } +} + +func TestKeyCondition(t *testing.T) { + cases := []struct { + name string + input Builder + expected *string + err exprErrorMode + }{ + { + name: "keyCondition", + input: Builder{ + expressionMap: map[expressionType]treeBuilder{ + keyCondition: KeyConditionBuilder{ + operandList: []OperandBuilder{ + KeyBuilder{ + key: "foo", + }, + ValueBuilder{ + value: 5, + }, + }, + mode: equalKeyCond, + }, + }, + }, + expected: aws.String("#0 = :0"), + }, + { + name: "empty builder", + input: Builder{}, + err: unsetBuilder, + }, + } + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + expr, err := c.input.Build() + if c.err != noExpressionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + } + actual := expr.KeyCondition() + if e, a := c.expected, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + }) + } +} + +func TestUpdate(t *testing.T) { + cases := []struct { + name string + input Builder + expected *string + err exprErrorMode + }{ + { + name: "update", + input: Builder{ + expressionMap: map[expressionType]treeBuilder{ + update: UpdateBuilder{ + operationList: map[operationMode][]operationBuilder{ + setOperation: { + { + name: NameBuilder{ + name: "foo", + }, + value: ValueBuilder{ + value: 5, + }, + mode: setOperation, + }, + }, + }, + }, + }, + }, + expected: aws.String("SET #0 = :0\n"), + }, + { + name: "multiple sets", + input: Builder{ + expressionMap: map[expressionType]treeBuilder{ + update: UpdateBuilder{ + operationList: map[operationMode][]operationBuilder{ + setOperation: { + { + name: NameBuilder{ + name: "foo", + }, + value: ValueBuilder{ + value: 5, + }, + mode: setOperation, + }, + { + name: NameBuilder{ + name: "bar", + }, + value: ValueBuilder{ + value: 6, + }, + mode: setOperation, + }, + { + name: NameBuilder{ + name: "baz", + }, + value: ValueBuilder{ + value: 7, + }, + mode: setOperation, + }, + }, + }, + }, + }, + }, + expected: aws.String("SET #0 = :0, #1 = :1, #2 = :2\n"), + }, + { + name: "unset builder", + input: Builder{}, + err: unsetBuilder, + }, + } + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + expr, err := c.input.Build() + if c.err != noExpressionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + } + actual := expr.Update() + if e, a := c.expected, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + }) + } +} + +func TestNames(t *testing.T) { + cases := []struct { + name string + input Builder + expected map[string]*string + err exprErrorMode + }{ + { + name: "projection", + input: Builder{ + expressionMap: map[expressionType]treeBuilder{ + projection: NamesList(Name("foo"), Name("bar"), Name("baz")), + }, + }, + expected: map[string]*string{ + "#0": aws.String("foo"), + "#1": aws.String("bar"), + "#2": aws.String("baz"), + }, + }, + { + name: "aggregate", + input: Builder{ + expressionMap: map[expressionType]treeBuilder{ + condition: ConditionBuilder{ + operandList: []OperandBuilder{ + NameBuilder{ + name: "foo", + }, + ValueBuilder{ + value: 5, + }, + }, + mode: equalCond, + }, + filter: ConditionBuilder{ + operandList: []OperandBuilder{ + NameBuilder{ + name: "bar", + }, + ValueBuilder{ + value: 6, + }, + }, + mode: lessThanCond, + }, + projection: ProjectionBuilder{ + names: []NameBuilder{ + { + name: "foo", + }, + { + name: "bar", + }, + { + name: "baz", + }, + }, + }, + }, + }, + expected: map[string]*string{ + "#0": aws.String("foo"), + "#1": aws.String("bar"), + "#2": aws.String("baz"), + }, + }, + { + name: "unset", + input: Builder{}, + err: unsetBuilder, + }, + { + name: "unset ConditionBuilder", + input: NewBuilder().WithCondition(ConditionBuilder{}), + err: unsetConditionBuilder, + }, + } + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + expr, err := c.input.Build() + if c.err != noExpressionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + } + actual := expr.Names() + if e, a := c.expected, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + }) + } +} + +func TestValues(t *testing.T) { + cases := []struct { + name string + input Builder + expected map[string]*dynamodb.AttributeValue + err exprErrorMode + }{ + { + name: "condition", + input: Builder{ + expressionMap: map[expressionType]treeBuilder{ + condition: Name("foo").Equal(Value(5)), + }, + }, + expected: map[string]*dynamodb.AttributeValue{ + ":0": { + N: aws.String("5"), + }, + }, + }, + { + name: "aggregate", + input: Builder{ + expressionMap: map[expressionType]treeBuilder{ + condition: ConditionBuilder{ + operandList: []OperandBuilder{ + NameBuilder{ + name: "foo", + }, + ValueBuilder{ + value: 5, + }, + }, + mode: equalCond, + }, + filter: ConditionBuilder{ + operandList: []OperandBuilder{ + NameBuilder{ + name: "bar", + }, + ValueBuilder{ + value: 6, + }, + }, + mode: lessThanCond, + }, + projection: ProjectionBuilder{ + names: []NameBuilder{ + { + name: "foo", + }, + { + name: "bar", + }, + { + name: "baz", + }, + }, + }, + }, + }, + expected: map[string]*dynamodb.AttributeValue{ + ":0": { + N: aws.String("5"), + }, + ":1": { + N: aws.String("6"), + }, + }, + }, + { + name: "unset", + input: Builder{}, + err: unsetBuilder, + }, + } + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + expr, err := c.input.Build() + if c.err != noExpressionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + } + actual := expr.Values() + if e, a := c.expected, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + }) + } +} + +func TestBuildChildTrees(t *testing.T) { + cases := []struct { + name string + input Builder + expectedaliasList aliasList + expectedStringMap map[expressionType]string + err exprErrorMode + }{ + { + name: "aggregate", + input: Builder{ + expressionMap: map[expressionType]treeBuilder{ + condition: ConditionBuilder{ + operandList: []OperandBuilder{ + NameBuilder{ + name: "foo", + }, + ValueBuilder{ + value: 5, + }, + }, + mode: equalCond, + }, + filter: ConditionBuilder{ + operandList: []OperandBuilder{ + NameBuilder{ + name: "bar", + }, + ValueBuilder{ + value: 6, + }, + }, + mode: lessThanCond, + }, + projection: ProjectionBuilder{ + names: []NameBuilder{ + { + name: "foo", + }, + { + name: "bar", + }, + { + name: "baz", + }, + }, + }, + }, + }, + expectedaliasList: aliasList{ + namesList: []string{"foo", "bar", "baz"}, + valuesList: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + { + N: aws.String("6"), + }, + }, + }, + expectedStringMap: map[expressionType]string{ + condition: "#0 = :0", + filter: "#1 < :1", + projection: "#0, #1, #2", + }, + }, + { + name: "unset", + input: Builder{}, + expectedaliasList: aliasList{}, + expectedStringMap: map[expressionType]string{}, + }, + } + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actualAL, actualSM, err := c.input.buildChildTrees() + if c.err != noExpressionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + } + if e, a := c.expectedaliasList, actualAL; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := c.expectedStringMap, actualSM; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + }) + } +} + +func TestBuildExpressionString(t *testing.T) { + cases := []struct { + name string + input exprNode + expectedNames map[string]*string + expectedValues map[string]*dynamodb.AttributeValue + expectedExpression string + err exprErrorMode + }{ + { + name: "basic name", + input: exprNode{ + names: []string{"foo"}, + fmtExpr: "$n", + }, + + expectedValues: map[string]*dynamodb.AttributeValue{}, + expectedNames: map[string]*string{ + "#0": aws.String("foo"), + }, + expectedExpression: "#0", + }, + { + name: "basic value", + input: exprNode{ + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + expectedNames: map[string]*string{}, + expectedValues: map[string]*dynamodb.AttributeValue{ + ":0": { + N: aws.String("5"), + }, + }, + expectedExpression: ":0", + }, + { + name: "nested path", + input: exprNode{ + names: []string{"foo", "bar"}, + fmtExpr: "$n.$n", + }, + + expectedValues: map[string]*dynamodb.AttributeValue{}, + expectedNames: map[string]*string{ + "#0": aws.String("foo"), + "#1": aws.String("bar"), + }, + expectedExpression: "#0.#1", + }, + { + name: "nested path with index", + input: exprNode{ + names: []string{"foo", "bar", "baz"}, + fmtExpr: "$n.$n[0].$n", + }, + expectedValues: map[string]*dynamodb.AttributeValue{}, + expectedNames: map[string]*string{ + "#0": aws.String("foo"), + "#1": aws.String("bar"), + "#2": aws.String("baz"), + }, + expectedExpression: "#0.#1[0].#2", + }, + { + name: "basic size", + input: exprNode{ + names: []string{"foo"}, + fmtExpr: "size ($n)", + }, + expectedValues: map[string]*dynamodb.AttributeValue{}, + expectedNames: map[string]*string{ + "#0": aws.String("foo"), + }, + expectedExpression: "size (#0)", + }, + { + name: "duplicate path name", + input: exprNode{ + names: []string{"foo", "foo"}, + fmtExpr: "$n.$n", + }, + expectedValues: map[string]*dynamodb.AttributeValue{}, + expectedNames: map[string]*string{ + "#0": aws.String("foo"), + }, + expectedExpression: "#0.#0", + }, + { + name: "equal expression", + input: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c = $c", + }, + + expectedNames: map[string]*string{ + "#0": aws.String("foo"), + }, + expectedValues: map[string]*dynamodb.AttributeValue{ + ":0": { + N: aws.String("5"), + }, + }, + expectedExpression: "#0 = :0", + }, + { + name: "missing char after $", + input: exprNode{ + names: []string{"foo", "foo"}, + fmtExpr: "$n.$", + }, + err: invalidEscChar, + }, + { + name: "names out of range", + input: exprNode{ + names: []string{"foo"}, + fmtExpr: "$n.$n", + }, + err: outOfRange, + }, + { + name: "values out of range", + input: exprNode{ + fmtExpr: "$v", + }, + err: outOfRange, + }, + { + name: "children out of range", + input: exprNode{ + fmtExpr: "$c", + }, + err: outOfRange, + }, + { + name: "invalid escape char", + input: exprNode{ + fmtExpr: "$!", + }, + err: invalidEscChar, + }, + { + name: "unset exprNode", + input: exprNode{}, + expectedExpression: "", + }, + } + + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + expr, err := c.input.buildExpressionString(&aliasList{}) + if c.err != noExpressionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + + if e, a := c.expectedExpression, expr; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} + +func TestAliasValue(t *testing.T) { + cases := []struct { + name string + input *aliasList + expected string + err exprErrorMode + }{ + { + name: "first item", + input: &aliasList{}, + expected: ":0", + }, + { + name: "fifth item", + input: &aliasList{ + valuesList: []dynamodb.AttributeValue{ + {}, + {}, + {}, + {}, + }, + }, + expected: ":4", + }, + } + + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + str, err := c.input.aliasValue(dynamodb.AttributeValue{}) + + if c.err != noExpressionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + + if e, a := c.expected, str; e != a { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} + +func TestAliasPath(t *testing.T) { + cases := []struct { + name string + inputList *aliasList + inputName string + expected string + err exprErrorMode + }{ + { + name: "new unique item", + inputList: &aliasList{}, + inputName: "foo", + expected: "#0", + }, + { + name: "duplicate item", + inputList: &aliasList{ + namesList: []string{ + "foo", + "bar", + }, + }, + inputName: "foo", + expected: "#0", + }, + } + + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + str, err := c.inputList.aliasPath(c.inputName) + + if c.err != noExpressionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + + if e, a := c.expected, str; e != a { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/key_condition.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/key_condition.go new file mode 100644 index 000000000..a8bb83176 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/key_condition.go @@ -0,0 +1,557 @@ +package expression + +import ( + "fmt" +) + +// keyConditionMode specifies the types of the struct KeyConditionBuilder, +// representing the different types of KeyConditions (i.e. And, Or, Between, ...) +type keyConditionMode int + +const ( + // unsetKeyCond catches errors for unset KeyConditionBuilder structs + unsetKeyCond keyConditionMode = iota + // equalKeyCond represents the Equals KeyCondition + equalKeyCond + // lessThanKeyCond represents the Less Than KeyCondition + lessThanKeyCond + // lessThanEqualKeyCond represents the Less Than Or Equal To KeyCondition + lessThanEqualKeyCond + // greaterThanKeyCond represents the Greater Than KeyCondition + greaterThanKeyCond + // greaterThanEqualKeyCond represents the Greater Than Or Equal To KeyCondition + greaterThanEqualKeyCond + // andKeyCond represents the Logical And KeyCondition + andKeyCond + // betweenKeyCond represents the Between KeyCondition + betweenKeyCond + // beginsWithKeyCond represents the Begins With KeyCondition + beginsWithKeyCond +) + +// KeyConditionBuilder represents Key Condition Expressions in DynamoDB. +// KeyConditionBuilders are the building blocks of Expressions. +// More Information at: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html#Query.KeyConditionExpressions +type KeyConditionBuilder struct { + operandList []OperandBuilder + keyConditionList []KeyConditionBuilder + mode keyConditionMode +} + +// KeyEqual returns a KeyConditionBuilder representing the equality clause +// of the two argument OperandBuilders. The resulting KeyConditionBuilder can be +// used as a part of other Key Condition Expressions or as an argument to the +// WithKeyCondition() method for the Builder struct. +// +// Example: +// +// // keyCondition represents the equal clause of the key "foo" and the +// // value 5 +// keyCondition := expression.KeyEqual(expression.Key("foo"), expression.Value(5)) +// +// // Used in another Key Condition Expression +// anotherKeyCondition := expression.Key("partitionKey").Equal(expression.Value("aValue")).And(keyCondition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithKeyCondition(keyCondition) +// +// Expression Equivalent: +// +// expression.KeyEqual(expression.Key("foo"), expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "foo = :five" +func KeyEqual(keyBuilder KeyBuilder, valueBuilder ValueBuilder) KeyConditionBuilder { + return KeyConditionBuilder{ + operandList: []OperandBuilder{keyBuilder, valueBuilder}, + mode: equalKeyCond, + } +} + +// Equal returns a KeyConditionBuilder representing the equality clause of +// the two argument OperandBuilders. The resulting KeyConditionBuilder can be +// used as a part of other Key Condition Expressions or as an argument to the +// WithKeyCondition() method for the Builder struct. +// +// Example: +// +// // keyCondition represents the equal clause of the key "foo" and the +// // value 5 +// keyCondition := expression.Key("foo").Equal(expression.Value(5)) +// +// // Used in another Key Condition Expression +// anotherKeyCondition := expression.Key("partitionKey").Equal(expression.Value("aValue")).And(keyCondition) +// // Used to make an Builder +// builder := expression.NewBuilder().WithKeyCondition(keyCondition) +// +// Expression Equivalent: +// +// expression.Key("foo").Equal(expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "foo = :five" +func (kb KeyBuilder) Equal(valueBuilder ValueBuilder) KeyConditionBuilder { + return KeyEqual(kb, valueBuilder) +} + +// KeyLessThan returns a KeyConditionBuilder representing the less than +// clause of the two argument OperandBuilders. The resulting KeyConditionBuilder +// can be used as a part of other Key Condition Expressions. +// +// Example: +// +// // keyCondition represents the less than clause of the key "foo" and the +// // value 5 +// keyCondition := expression.KeyLessThan(expression.Key("foo"), expression.Value(5)) +// +// // Used in another Key Condition Expression +// anotherKeyCondition := expression.Key("partitionKey").Equal(expression.Value("aValue")).And(keyCondition) +// +// Expression Equivalent: +// +// expression.KeyLessThan(expression.Key("foo"), expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "foo < :five" +func KeyLessThan(keyBuilder KeyBuilder, valueBuilder ValueBuilder) KeyConditionBuilder { + return KeyConditionBuilder{ + operandList: []OperandBuilder{keyBuilder, valueBuilder}, + mode: lessThanKeyCond, + } +} + +// LessThan returns a KeyConditionBuilder representing the less than clause +// of the two argument OperandBuilders. The resulting KeyConditionBuilder can be +// used as a part of other Key Condition Expressions. +// +// Example: +// +// // keyCondition represents the less than clause of the key "foo" and the +// // value 5 +// keyCondition := expression.Key("foo").LessThan(expression.Value(5)) +// +// // Used in another Key Condition Expression +// anotherKeyCondition := expression.Key("partitionKey").Equal(expression.Value("aValue")).And(keyCondition) +// +// Expression Equivalent: +// +// expression.Key("foo").LessThan(expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "foo < :five" +func (kb KeyBuilder) LessThan(valueBuilder ValueBuilder) KeyConditionBuilder { + return KeyLessThan(kb, valueBuilder) +} + +// KeyLessThanEqual returns a KeyConditionBuilder representing the less than +// equal to clause of the two argument OperandBuilders. The resulting +// KeyConditionBuilder can be used as a part of other Key Condition Expressions. +// +// Example: +// +// // keyCondition represents the less than equal to clause of the key +// // "foo" and the value 5 +// keyCondition := expression.KeyLessThanEqual(expression.Key("foo"), expression.Value(5)) +// +// // Used in another Key Condition Expression +// anotherKeyCondition := expression.Key("partitionKey").Equal(expression.Value("aValue")).And(keyCondition) +// +// Expression Equivalent: +// +// expression.KeyLessThanEqual(expression.Key("foo"), expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "foo <= :five" +func KeyLessThanEqual(keyBuilder KeyBuilder, valueBuilder ValueBuilder) KeyConditionBuilder { + return KeyConditionBuilder{ + operandList: []OperandBuilder{keyBuilder, valueBuilder}, + mode: lessThanEqualKeyCond, + } +} + +// LessThanEqual returns a KeyConditionBuilder representing the less than +// equal to clause of the two argument OperandBuilders. The resulting +// KeyConditionBuilder can be used as a part of other Key Condition Expressions. +// +// Example: +// +// // keyCondition represents the less than equal to clause of the key +// // "foo" and the value 5 +// keyCondition := expression.Key("foo").LessThanEqual(expression.Value(5)) +// +// // Used in another Key Condition Expression +// anotherKeyCondition := expression.Key("partitionKey").Equal(expression.Value("aValue")).And(keyCondition) +// +// Expression Equivalent: +// +// expression.Key("foo").LessThanEqual(expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "foo <= :five" +func (kb KeyBuilder) LessThanEqual(valueBuilder ValueBuilder) KeyConditionBuilder { + return KeyLessThanEqual(kb, valueBuilder) +} + +// KeyGreaterThan returns a KeyConditionBuilder representing the greater +// than clause of the two argument OperandBuilders. The resulting +// KeyConditionBuilder can be used as a part of other Key Condition Expressions. +// +// Example: +// +// // keyCondition represents the greater than clause of the key "foo" and +// // the value 5 +// keyCondition := expression.KeyGreaterThan(expression.Key("foo"), expression.Value(5)) +// +// // Used in another Key Condition Expression +// anotherKeyCondition := expression.Key("partitionKey").Equal(expression.Value("aValue")).And(keyCondition) +// +// Expression Equivalent: +// +// expression.KeyGreaterThan(expression.Key("foo"), expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "foo > :five" +func KeyGreaterThan(keyBuilder KeyBuilder, valueBuilder ValueBuilder) KeyConditionBuilder { + return KeyConditionBuilder{ + operandList: []OperandBuilder{keyBuilder, valueBuilder}, + mode: greaterThanKeyCond, + } +} + +// GreaterThan returns a KeyConditionBuilder representing the greater than +// clause of the two argument OperandBuilders. The resulting KeyConditionBuilder +// can be used as a part of other Key Condition Expressions. +// +// Example: +// +// // key condition represents the greater than clause of the key "foo" and +// // the value 5 +// keyCondition := expression.Key("foo").GreaterThan(expression.Value(5)) +// +// // Used in another Key Condition Expression +// anotherKeyCondition := expression.Key("partitionKey").Equal(expression.Value("aValue")).And(keyCondition) +// +// Expression Equivalent: +// +// expression.Key("foo").GreaterThan(expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "foo > :five" +func (kb KeyBuilder) GreaterThan(valueBuilder ValueBuilder) KeyConditionBuilder { + return KeyGreaterThan(kb, valueBuilder) +} + +// KeyGreaterThanEqual returns a KeyConditionBuilder representing the +// greater than equal to clause of the two argument OperandBuilders. The +// resulting KeyConditionBuilder can be used as a part of other Key Condition +// Expressions. +// +// Example: +// +// // keyCondition represents the greater than equal to clause of the key +// // "foo" and the value 5 +// keyCondition := expression.KeyGreaterThanEqual(expression.Key("foo"), expression.Value(5)) +// +// // Used in another Key Condition Expression +// anotherKeyCondition := expression.Key("partitionKey").Equal(expression.Value("aValue")).And(keyCondition) +// +// Expression Equivalent: +// +// expression.KeyGreaterThanEqual(expression.Key("foo"), expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "foo >= :five" +func KeyGreaterThanEqual(keyBuilder KeyBuilder, valueBuilder ValueBuilder) KeyConditionBuilder { + return KeyConditionBuilder{ + operandList: []OperandBuilder{keyBuilder, valueBuilder}, + mode: greaterThanEqualKeyCond, + } +} + +// GreaterThanEqual returns a KeyConditionBuilder representing the greater +// than equal to clause of the two argument OperandBuilders. The resulting +// KeyConditionBuilder can be used as a part of other Key Condition Expressions. +// +// Example: +// +// // keyCondition represents the greater than equal to clause of the key +// // "foo" and the value 5 +// keyCondition := expression.Key("foo").GreaterThanEqual(expression.Value(5)) +// +// // Used in another Key Condition Expression +// anotherKeyCondition := expression.Key("partitionKey").Equal(expression.Value("aValue")).And(keyCondition) +// +// Expression Equivalent: +// +// expression.Key("foo").GreaterThanEqual(expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "foo >= :five" +func (kb KeyBuilder) GreaterThanEqual(valueBuilder ValueBuilder) KeyConditionBuilder { + return KeyGreaterThanEqual(kb, valueBuilder) +} + +// KeyAnd returns a KeyConditionBuilder representing the logical AND clause +// of the two argument KeyConditionBuilders. The resulting KeyConditionBuilder +// can be used as an argument to the WithKeyCondition() method for the Builder +// struct. +// +// Example: +// +// // keyCondition represents the key condition where the partition key +// // "TeamName" is equal to value "Wildcats" and sort key "Number" is equal +// // to value 1 +// keyCondition := expression.KeyAnd(expression.Key("TeamName").Equal(expression.Value("Wildcats")), expression.Key("Number").Equal(expression.Value(1))) +// +// // Used to make an Builder +// builder := expression.NewBuilder().WithKeyCondition(keyCondition) +// +// Expression Equivalent: +// +// expression.KeyAnd(expression.Key("TeamName").Equal(expression.Value("Wildcats")), expression.Key("Number").Equal(expression.Value(1))) +// // Let #NUMBER, :teamName, and :one be ExpressionAttributeName and +// // ExpressionAttributeValues representing the item attribute "Number", +// // the value "Wildcats", and the value 1 +// "(TeamName = :teamName) AND (#NUMBER = :one)" +func KeyAnd(left, right KeyConditionBuilder) KeyConditionBuilder { + if left.mode != equalKeyCond { + return KeyConditionBuilder{ + mode: andKeyCond, + } + } + if right.mode == andKeyCond { + return KeyConditionBuilder{ + mode: andKeyCond, + } + } + return KeyConditionBuilder{ + keyConditionList: []KeyConditionBuilder{left, right}, + mode: andKeyCond, + } +} + +// And returns a KeyConditionBuilder representing the logical AND clause of +// the two argument KeyConditionBuilders. The resulting KeyConditionBuilder can +// be used as an argument to the WithKeyCondition() method for the Builder +// struct. +// +// Example: +// +// // keyCondition represents the key condition where the partition key +// // "TeamName" is equal to value "Wildcats" and sort key "Number" is equal +// // to value 1 +// keyCondition := expression.Key("TeamName").Equal(expression.Value("Wildcats")).And(expression.Key("Number").Equal(expression.Value(1))) +// +// // Used to make an Builder +// builder := expression.NewBuilder().WithKeyCondition(keyCondition) +// +// Expression Equivalent: +// +// expression.Key("TeamName").Equal(expression.Value("Wildcats")).And(expression.Key("Number").Equal(expression.Value(1))) +// // Let #NUMBER, :teamName, and :one be ExpressionAttributeName and +// // ExpressionAttributeValues representing the item attribute "Number", +// // the value "Wildcats", and the value 1 +// "(TeamName = :teamName) AND (#NUMBER = :one)" +func (kcb KeyConditionBuilder) And(right KeyConditionBuilder) KeyConditionBuilder { + return KeyAnd(kcb, right) +} + +// KeyBetween returns a KeyConditionBuilder representing the result of the +// BETWEEN function in DynamoDB Key Condition Expressions. The resulting +// KeyConditionBuilder can be used as a part of other Key Condition Expressions. +// +// Example: +// +// // keyCondition represents the boolean key condition of whether the value +// // of the key "foo" is between values 5 and 10 +// keyCondition := expression.KeyBetween(expression.Key("foo"), expression.Value(5), expression.Value(10)) +// +// // Used in another Key Condition Expression +// anotherKeyCondition := expression.Key("partitionKey").Equal(expression.Value("aValue")).And(keyCondition) +// +// Expression Equivalent: +// +// expression.KeyBetween(expression.Key("foo"), expression.Value(5), expression.Value(10)) +// // Let :five and :ten be ExpressionAttributeValues representing the +// // values 5 and 10 respectively +// "foo BETWEEN :five AND :ten" +func KeyBetween(keyBuilder KeyBuilder, lower, upper ValueBuilder) KeyConditionBuilder { + return KeyConditionBuilder{ + operandList: []OperandBuilder{keyBuilder, lower, upper}, + mode: betweenKeyCond, + } +} + +// Between returns a KeyConditionBuilder representing the result of the +// BETWEEN function in DynamoDB Key Condition Expressions. The resulting +// KeyConditionBuilder can be used as a part of other Key Condition Expressions. +// +// Example: +// +// // keyCondition represents the boolean key condition of whether the value +// // of the key "foo" is between values 5 and 10 +// keyCondition := expression.Key("foo").Between(expression.Value(5), expression.Value(10)) +// +// // Used in another Key Condition Expression +// anotherKeyCondition := expression.Key("partitionKey").Equal(expression.Value("aValue")).And(keyCondition) +// +// Expression Equivalent: +// +// expression.Key("foo").Between(expression.Value(5), expression.Value(10)) +// // Let :five and :ten be ExpressionAttributeValues representing the +// // values 5 and 10 respectively +// "foo BETWEEN :five AND :ten" +func (kb KeyBuilder) Between(lower, upper ValueBuilder) KeyConditionBuilder { + return KeyBetween(kb, lower, upper) +} + +// KeyBeginsWith returns a KeyConditionBuilder representing the result of +// the begins_with function in DynamoDB Key Condition Expressions. The resulting +// KeyConditionBuilder can be used as a part of other Key Condition Expressions. +// +// Example: +// +// // keyCondition represents the boolean key condition of whether the value +// // of the key "foo" is begins with the prefix "bar" +// keyCondition := expression.KeyBeginsWith(expression.Key("foo"), "bar") +// +// // Used in another Key Condition Expression +// anotherKeyCondition := expression.Key("partitionKey").Equal(expression.Value("aValue")).And(keyCondition) +// +// Expression Equivalent: +// +// expression.KeyBeginsWith(expression.Key("foo"), "bar") +// // Let :bar be an ExpressionAttributeValue representing the value "bar" +// "begins_with(foo, :bar)" +func KeyBeginsWith(keyBuilder KeyBuilder, prefix string) KeyConditionBuilder { + valueBuilder := ValueBuilder{ + value: prefix, + } + return KeyConditionBuilder{ + operandList: []OperandBuilder{keyBuilder, valueBuilder}, + mode: beginsWithKeyCond, + } +} + +// BeginsWith returns a KeyConditionBuilder representing the result of the +// begins_with function in DynamoDB Key Condition Expressions. The resulting +// KeyConditionBuilder can be used as a part of other Key Condition Expressions. +// +// Example: +// +// // keyCondition represents the boolean key condition of whether the value +// // of the key "foo" is begins with the prefix "bar" +// keyCondition := expression.Key("foo").BeginsWith("bar") +// +// // Used in another Key Condition Expression +// anotherKeyCondition := expression.Key("partitionKey").Equal(expression.Value("aValue")).And(keyCondition) +// +// Expression Equivalent: +// +// expression.Key("foo").BeginsWith("bar") +// // Let :bar be an ExpressionAttributeValue representing the value "bar" +// "begins_with(foo, :bar)" +func (kb KeyBuilder) BeginsWith(prefix string) KeyConditionBuilder { + return KeyBeginsWith(kb, prefix) +} + +// buildTree builds a tree structure of exprNodes based on the tree +// structure of the input KeyConditionBuilder's child KeyConditions/Operands. +// buildTree() satisfies the treeBuilder interface so KeyConditionBuilder can be +// a part of Expression struct. +func (kcb KeyConditionBuilder) buildTree() (exprNode, error) { + childNodes, err := kcb.buildChildNodes() + if err != nil { + return exprNode{}, err + } + ret := exprNode{ + children: childNodes, + } + + switch kcb.mode { + case equalKeyCond, lessThanKeyCond, lessThanEqualKeyCond, greaterThanKeyCond, greaterThanEqualKeyCond: + return compareBuildKeyCondition(kcb.mode, ret) + case andKeyCond: + return andBuildKeyCondition(kcb, ret) + case betweenKeyCond: + return betweenBuildKeyCondition(ret) + case beginsWithKeyCond: + return beginsWithBuildKeyCondition(ret) + case unsetKeyCond: + return exprNode{}, newUnsetParameterError("buildTree", "KeyConditionBuilder") + default: + return exprNode{}, fmt.Errorf("buildKeyCondition error: unsupported mode: %v", kcb.mode) + } +} + +// compareBuildKeyCondition is the function to make exprNodes from Compare +// KeyConditionBuilders. compareBuildKeyCondition is only called by the +// buildKeyCondition method. This function assumes that the argument +// KeyConditionBuilder has the right format. +func compareBuildKeyCondition(keyConditionMode keyConditionMode, node exprNode) (exprNode, error) { + // Create a string with special characters that can be substituted later: $c + switch keyConditionMode { + case equalKeyCond: + node.fmtExpr = "$c = $c" + case lessThanKeyCond: + node.fmtExpr = "$c < $c" + case lessThanEqualKeyCond: + node.fmtExpr = "$c <= $c" + case greaterThanKeyCond: + node.fmtExpr = "$c > $c" + case greaterThanEqualKeyCond: + node.fmtExpr = "$c >= $c" + default: + return exprNode{}, fmt.Errorf("build compare key condition error: unsupported mode: %v", keyConditionMode) + } + + return node, nil +} + +// andBuildKeyCondition is the function to make exprNodes from And +// KeyConditionBuilders. andBuildKeyCondition is only called by the +// buildKeyCondition method. This function assumes that the argument +// KeyConditionBuilder has the right format. +func andBuildKeyCondition(keyConditionBuilder KeyConditionBuilder, node exprNode) (exprNode, error) { + if len(keyConditionBuilder.keyConditionList) == 0 && len(keyConditionBuilder.operandList) == 0 { + return exprNode{}, newInvalidParameterError("andBuildKeyCondition", "KeyConditionBuilder") + } + // create a string with escaped characters to substitute them with proper + // aliases during runtime + node.fmtExpr = "($c) AND ($c)" + + return node, nil +} + +// betweenBuildKeyCondition is the function to make exprNodes from Between +// KeyConditionBuilders. betweenBuildKeyCondition is only called by the +// buildKeyCondition method. This function assumes that the argument +// KeyConditionBuilder has the right format. +func betweenBuildKeyCondition(node exprNode) (exprNode, error) { + // Create a string with special characters that can be substituted later: $c + node.fmtExpr = "$c BETWEEN $c AND $c" + + return node, nil +} + +// beginsWithBuildKeyCondition is the function to make exprNodes from +// BeginsWith KeyConditionBuilders. beginsWithBuildKeyCondition is only +// called by the buildKeyCondition method. This function assumes that the argument +// KeyConditionBuilder has the right format. +func beginsWithBuildKeyCondition(node exprNode) (exprNode, error) { + // Create a string with special characters that can be substituted later: $c + node.fmtExpr = "begins_with ($c, $c)" + + return node, nil +} + +// buildChildNodes creates the list of the child exprNodes. This avoids +// duplication of code amongst the various buildConditions. +func (kcb KeyConditionBuilder) buildChildNodes() ([]exprNode, error) { + childNodes := make([]exprNode, 0, len(kcb.keyConditionList)+len(kcb.operandList)) + for _, keyCondition := range kcb.keyConditionList { + node, err := keyCondition.buildTree() + if err != nil { + return []exprNode{}, err + } + childNodes = append(childNodes, node) + } + for _, operand := range kcb.operandList { + ope, err := operand.BuildOperand() + if err != nil { + return []exprNode{}, err + } + childNodes = append(childNodes, ope.exprNode) + } + + return childNodes, nil +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/key_condition_test.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/key_condition_test.go new file mode 100644 index 000000000..1d4d4d03d --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/key_condition_test.go @@ -0,0 +1,446 @@ +// +build go1.7 + +package expression + +import ( + "reflect" + "strings" + "testing" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/service/dynamodb" +) + +// keyCondErrorMode will help with error cases and checking error types +type keyCondErrorMode string + +const ( + noKeyConditionError keyCondErrorMode = "" + // unsetKeyCondition error will occur when buildTree() is called on an empty + // KeyConditionBuilder + unsetKeyCondition = "unset parameter: KeyConditionBuilder" + // invalidKeyConditionOperand error will occur when an invalid OperandBuilder is used as + // an argument + invalidKeyConditionOperand = "BuildOperand error" + // invalidAndFormat error will occur when the first key condition is not an equal + // clause or if the second key condition is an and condition. + invalidAndFormat = "invalid parameter: KeyConditionBuilder" +) + +func TestKeyCompare(t *testing.T) { + cases := []struct { + name string + input KeyConditionBuilder + expectedNode exprNode + err keyCondErrorMode + }{ + { + name: "key equal", + input: Key("foo").Equal(Value(5)), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c = $c", + }, + }, + { + name: "key less than", + input: Key("foo").LessThan(Value(5)), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c < $c", + }, + }, + { + name: "key less than equal", + input: Key("foo").LessThanEqual(Value(5)), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c <= $c", + }, + }, + { + name: "key greater than", + input: Key("foo").GreaterThan(Value(5)), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c > $c", + }, + }, + { + name: "key greater than equal", + input: Key("foo").GreaterThanEqual(Value(5)), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c >= $c", + }, + }, + { + name: "unset KeyConditionBuilder", + input: KeyConditionBuilder{}, + err: unsetKeyCondition, + }, + } + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actual, err := c.input.buildTree() + if c.err != noKeyConditionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + + if e, a := c.expectedNode, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} + +func TestKeyBetween(t *testing.T) { + cases := []struct { + name string + input KeyConditionBuilder + expectedNode exprNode + err keyCondErrorMode + }{ + { + name: "key between", + input: Key("foo").Between(Value(5), Value(10)), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("10"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c BETWEEN $c AND $c", + }, + }, + } + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actual, err := c.input.buildTree() + if c.err != noKeyConditionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + + if e, a := c.expectedNode, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} + +func TestKeyBeginsWith(t *testing.T) { + cases := []struct { + name string + input KeyConditionBuilder + expectedNode exprNode + err keyCondErrorMode + }{ + { + name: "key begins with", + input: Key("foo").BeginsWith("bar"), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("bar"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "begins_with ($c, $c)", + }, + }, + } + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actual, err := c.input.buildTree() + if c.err != noKeyConditionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + + if e, a := c.expectedNode, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} + +func TestKeyAnd(t *testing.T) { + cases := []struct { + name string + input KeyConditionBuilder + expectedNode exprNode + err keyCondErrorMode + }{ + { + name: "key and", + input: Key("foo").Equal(Value(5)).And(Key("bar").BeginsWith("baz")), + expectedNode: exprNode{ + children: []exprNode{ + { + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c = $c", + }, + { + children: []exprNode{ + { + names: []string{"bar"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("baz"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "begins_with ($c, $c)", + }, + }, + fmtExpr: "($c) AND ($c)", + }, + }, + { + name: "first condition is not equal", + input: Key("foo").LessThan(Value(5)).And(Key("bar").BeginsWith("baz")), + err: invalidAndFormat, + }, + { + name: "second condition is and", + input: Key("foo").Equal(Value(5)).And(Key("bar").Equal(Value(1)).And(Key("baz").BeginsWith("yar"))), + err: invalidAndFormat, + }, + { + name: "operand error", + input: Key("").Equal(Value("yikes")), + err: invalidKeyConditionOperand, + }, + } + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actual, err := c.input.buildTree() + if c.err != noKeyConditionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + + if e, a := c.expectedNode, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} + +func TestKeyConditionBuildChildNodes(t *testing.T) { + cases := []struct { + name string + input KeyConditionBuilder + expected []exprNode + err keyCondErrorMode + }{ + { + name: "build child nodes", + input: Key("foo").Equal(Value("bar")).And(Key("baz").LessThan(Value(10))), + expected: []exprNode{ + { + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + S: aws.String("bar"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c = $c", + }, + { + children: []exprNode{ + { + names: []string{"baz"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("10"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c < $c", + }, + }, + }, + } + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actual, err := c.input.buildChildNodes() + if c.err != noKeyConditionError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + + if e, a := c.expected, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %#v, got %#v", e, a) + } + } + }) + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/operand.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/operand.go new file mode 100644 index 000000000..54e315291 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/operand.go @@ -0,0 +1,620 @@ +package expression + +import ( + "fmt" + "strings" + + "github.com/aws/aws-sdk-go/service/dynamodb" + "github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute" +) + +// ValueBuilder represents an item attribute value operand and implements the +// OperandBuilder interface. Methods and functions in the package take +// ValueBuilder as an argument and establishes relationships between operands. +// ValueBuilder should only be initialized using the function Value(). +// +// Example: +// +// // Create a ValueBuilder representing the string "aValue" +// valueBuilder := expression.Value("aValue") +type ValueBuilder struct { + value interface{} +} + +// NameBuilder represents a name of a top level item attribute or a nested +// attribute. Since NameBuilder represents a DynamoDB Operand, it implements the +// OperandBuilder interface. Methods and functions in the package take +// NameBuilder as an argument and establishes relationships between operands. +// NameBuilder should only be initialized using the function Name(). +// +// Example: +// +// // Create a NameBuilder representing the item attribute "aName" +// nameBuilder := expression.Name("aName") +type NameBuilder struct { + name string +} + +// SizeBuilder represents the output of the function size ("someName"), which +// evaluates to the size of the item attribute defined by "someName". Since +// SizeBuilder represents an operand, SizeBuilder implements the OperandBuilder +// interface. Methods and functions in the package take SizeBuilder as an +// argument and establishes relationships between operands. SizeBuilder should +// only be initialized using the function Size(). +// +// Example: +// +// // Create a SizeBuilder representing the size of the item attribute +// // "aName" +// sizeBuilder := expression.Name("aName").Size() +type SizeBuilder struct { + nameBuilder NameBuilder +} + +// KeyBuilder represents either the partition key or the sort key, both of which +// are top level attributes to some item in DynamoDB. Since KeyBuilder +// represents an operand, KeyBuilder implements the OperandBuilder interface. +// Methods and functions in the package take KeyBuilder as an argument and +// establishes relationships between operands. However, KeyBuilder should only +// be used to describe Key Condition Expressions. KeyBuilder should only be +// initialized using the function Key(). +// +// Example: +// +// // Create a KeyBuilder representing the item key "aKey" +// keyBuilder := expression.Key("aKey") +type KeyBuilder struct { + key string +} + +// setValueMode specifies the type of SetValueBuilder. The default value is +// unsetValue so that an UnsetParameterError when BuildOperand() is called on an +// empty SetValueBuilder. +type setValueMode int + +const ( + unsetValue setValueMode = iota + plusValueMode + minusValueMode + listAppendValueMode + ifNotExistsValueMode +) + +// SetValueBuilder represents the outcome of operator functions supported by the +// DynamoDB Set operation. The operator functions are the following: +// Plus() // Represents the "+" operator +// Minus() // Represents the "-" operator +// ListAppend() +// IfNotExists() +// For documentation on the above functions, +// see: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.UpdateExpressions.html#Expressions.UpdateExpressions.SET +// Since SetValueBuilder represents an operand, it implements the OperandBuilder +// interface. SetValueBuilder structs are used as arguments to the Set() +// function. SetValueBuilders should only initialize a SetValueBuilder using the +// functions listed above. +type SetValueBuilder struct { + leftOperand OperandBuilder + rightOperand OperandBuilder + mode setValueMode +} + +// Operand represents an item attribute name or value in DynamoDB. The +// relationship between Operands specified by various builders such as +// ConditionBuilders and UpdateBuilders for example is processed internally to +// write Condition Expressions and Update Expressions respectively. +type Operand struct { + exprNode exprNode +} + +// OperandBuilder represents the idea of Operand which are building blocks to +// DynamoDB Expressions. Package methods and functions can establish +// relationships between operands, representing DynamoDB Expressions. The method +// BuildOperand() is called recursively when the Build() method on the type +// Builder is called. BuildOperand() should never be called externally. +// OperandBuilder and BuildOperand() are exported to allow package functions to +// take an interface as an argument. +type OperandBuilder interface { + BuildOperand() (Operand, error) +} + +// Name creates a NameBuilder. The argument should represent the desired item +// attribute. It is possible to reference nested item attributes by using +// square brackets for lists and dots for maps. For documentation on specifying +// item attributes, +// see: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.Attributes.html +// +// Example: +// +// // Specify a top-level attribute +// name := expression.Name("TopLevel") +// // Specify a nested attribute +// nested := expression.Name("Record[6].SongList") +// // Use Name() to create a condition expression +// condition := expression.Name("foo").Equal(expression.Name("bar")) +func Name(name string) NameBuilder { + return NameBuilder{ + name: name, + } +} + +// Value creates a ValueBuilder. The argument should represent the desired item +// attribute. The value is marshalled using the dynamodbattribute package by the +// Build() method for type Builder. +// +// Example: +// +// // Use Value() to create a condition expression +// condition := expression.Name("foo").Equal(expression.Value(10)) +func Value(value interface{}) ValueBuilder { + return ValueBuilder{ + value: value, + } +} + +// Size creates a SizeBuilder representing the size of the item attribute +// specified by the argument NameBuilder. Size() is only valid for certain types +// of item attributes. For documentation, +// see: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.OperatorsAndFunctions.html +// SizeBuilder is only a valid operand in Condition Expressions and Filter +// Expressions. +// +// Example: +// +// // Use Size() to create a condition expression +// condition := expression.Name("foo").Size().Equal(expression.Value(10)) +// +// Expression Equivalent: +// +// expression.Name("aName").Size() +// "size (aName)" +func (nb NameBuilder) Size() SizeBuilder { + return SizeBuilder{ + nameBuilder: nb, + } +} + +// Size creates a SizeBuilder representing the size of the item attribute +// specified by the argument NameBuilder. Size() is only valid for certain types +// of item attributes. For documentation, +// see: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.OperatorsAndFunctions.html +// SizeBuilder is only a valid operand in Condition Expressions and Filter +// Expressions. +// +// Example: +// +// // Use Size() to create a condition expression +// condition := expression.Size(expression.Name("foo")).Equal(expression.Value(10)) +// +// Expression Equivalent: +// +// expression.Size(expression.Name("aName")) +// "size (aName)" +func Size(nameBuilder NameBuilder) SizeBuilder { + return nameBuilder.Size() +} + +// Key creates a KeyBuilder. The argument should represent the desired partition +// key or sort key value. KeyBuilders should only be used to specify +// relationships for Key Condition Expressions. When referring to the partition +// key or sort key in any other Expression, use Name(). +// +// Example: +// +// // Use Key() to create a key condition expression +// keyCondition := expression.Key("foo").Equal(expression.Value("bar")) +func Key(key string) KeyBuilder { + return KeyBuilder{ + key: key, + } +} + +// Plus creates a SetValueBuilder to be used in as an argument to Set(). The +// arguments can either be NameBuilders or ValueBuilders. Plus() only supports +// DynamoDB Number types, so the ValueBuilder must be a Number and the +// NameBuilder must specify an item attribute of type Number. +// More information: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.UpdateExpressions.html#Expressions.UpdateExpressions.SET.IncrementAndDecrement +// +// Example: +// +// // Use Plus() to set the value of the item attribute "someName" to 5 + 10 +// update, err := expression.Set(expression.Name("someName"), expression.Plus(expression.Value(5), expression.Value(10))) +// +// Expression Equivalent: +// +// expression.Plus(expression.Value(5), expression.Value(10)) +// // let :five and :ten be ExpressionAttributeValues for the values 5 and +// // 10 respectively. +// ":five + :ten" +func Plus(leftOperand, rightOperand OperandBuilder) SetValueBuilder { + return SetValueBuilder{ + leftOperand: leftOperand, + rightOperand: rightOperand, + mode: plusValueMode, + } +} + +// Plus creates a SetValueBuilder to be used in as an argument to Set(). The +// arguments can either be NameBuilders or ValueBuilders. Plus() only supports +// DynamoDB Number types, so the ValueBuilder must be a Number and the +// NameBuilder must specify an item attribute of type Number. +// More information: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.UpdateExpressions.html#Expressions.UpdateExpressions.SET.IncrementAndDecrement +// +// Example: +// +// // Use Plus() to set the value of the item attribute "someName" to the +// // numeric value of item attribute "aName" incremented by 10 +// update, err := expression.Set(expression.Name("someName"), expression.Name("aName").Plus(expression.Value(10))) +// +// Expression Equivalent: +// +// expression.Name("aName").Plus(expression.Value(10)) +// // let :ten be ExpressionAttributeValues representing the value 10 +// "aName + :ten" +func (nb NameBuilder) Plus(rightOperand OperandBuilder) SetValueBuilder { + return Plus(nb, rightOperand) +} + +// Plus creates a SetValueBuilder to be used in as an argument to Set(). The +// arguments can either be NameBuilders or ValueBuilders. Plus() only supports +// DynamoDB Number types, so the ValueBuilder must be a Number and the +// NameBuilder must specify an item attribute of type Number. +// More information: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.UpdateExpressions.html#Expressions.UpdateExpressions.SET.IncrementAndDecrement +// +// Example: +// +// // Use Plus() to set the value of the item attribute "someName" to 5 + 10 +// update, err := expression.Set(expression.Name("someName"), expression.Value(5).Plus(expression.Value(10))) +// +// Expression Equivalent: +// +// expression.Value(5).Plus(expression.Value(10)) +// // let :five and :ten be ExpressionAttributeValues representing the value +// // 5 and 10 respectively +// ":five + :ten" +func (vb ValueBuilder) Plus(rightOperand OperandBuilder) SetValueBuilder { + return Plus(vb, rightOperand) +} + +// Minus creates a SetValueBuilder to be used in as an argument to Set(). The +// arguments can either be NameBuilders or ValueBuilders. Minus() only supports +// DynamoDB Number types, so the ValueBuilder must be a Number and the +// NameBuilder must specify an item attribute of type Number. +// More information: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.UpdateExpressions.html#Expressions.UpdateExpressions.SET.IncrementAndDecrement +// +// Example: +// +// // Use Minus() to set the value of item attribute "someName" to 5 - 10 +// update, err := expression.Set(expression.Name("someName"), expression.Minus(expression.Value(5), expression.Value(10))) +// +// Expression Equivalent: +// +// expression.Minus(expression.Value(5), expression.Value(10)) +// // let :five and :ten be ExpressionAttributeValues for the values 5 and +// // 10 respectively. +// ":five - :ten" +func Minus(leftOperand, rightOperand OperandBuilder) SetValueBuilder { + return SetValueBuilder{ + leftOperand: leftOperand, + rightOperand: rightOperand, + mode: minusValueMode, + } +} + +// Minus creates a SetValueBuilder to be used in as an argument to Set(). The +// arguments can either be NameBuilders or ValueBuilders. Minus() only supports +// DynamoDB Number types, so the ValueBuilder must be a Number and the +// NameBuilder must specify an item attribute of type Number. +// More information: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.UpdateExpressions.html#Expressions.UpdateExpressions.SET.IncrementAndDecrement +// +// Example: +// +// // Use Minus() to set the value of item attribute "someName" to the +// // numeric value of "aName" decremented by 10 +// update, err := expression.Set(expression.Name("someName"), expression.Name("aName").Minus(expression.Value(10))) +// +// Expression Equivalent: +// +// expression.Name("aName").Minus(expression.Value(10))) +// // let :ten be ExpressionAttributeValues represent the value 10 +// "aName - :ten" +func (nb NameBuilder) Minus(rightOperand OperandBuilder) SetValueBuilder { + return Minus(nb, rightOperand) +} + +// Minus creates a SetValueBuilder to be used in as an argument to Set(). The +// arguments can either be NameBuilders or ValueBuilders. Minus() only supports +// DynamoDB Number types, so the ValueBuilder must be a Number and the +// NameBuilder must specify an item attribute of type Number. +// More information: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.UpdateExpressions.html#Expressions.UpdateExpressions.SET.IncrementAndDecrement +// +// Example: +// +// // Use Minus() to set the value of item attribute "someName" to 5 - 10 +// update, err := expression.Set(expression.Name("someName"), expression.Value(5).Minus(expression.Value(10))) +// +// Expression Equivalent: +// +// expression.Value(5).Minus(expression.Value(10)) +// // let :five and :ten be ExpressionAttributeValues for the values 5 and +// // 10 respectively. +// ":five - :ten" +func (vb ValueBuilder) Minus(rightOperand OperandBuilder) SetValueBuilder { + return Minus(vb, rightOperand) +} + +// ListAppend creates a SetValueBuilder to be used in as an argument to Set(). +// The arguments can either be NameBuilders or ValueBuilders. ListAppend() only +// supports DynamoDB List types, so the ValueBuilder must be a List and the +// NameBuilder must specify an item attribute of type List. +// More information: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.UpdateExpressions.html#Expressions.UpdateExpressions.SET.UpdatingListElements +// +// Example: +// +// // Use ListAppend() to set item attribute "someName" to the item +// // attribute "nameOfList" with "some" and "list" appended to it +// update, err := expression.Set(expression.Name("someName"), expression.ListAppend(expression.Name("nameOfList"), expression.Value([]string{"some", "list"}))) +// +// Expression Equivalent: +// +// expression.ListAppend(expression.Name("nameOfList"), expression.Value([]string{"some", "list"}) +// // let :list be a ExpressionAttributeValue representing the list +// // containing "some" and "list". +// "list_append (nameOfList, :list)" +func ListAppend(leftOperand, rightOperand OperandBuilder) SetValueBuilder { + return SetValueBuilder{ + leftOperand: leftOperand, + rightOperand: rightOperand, + mode: listAppendValueMode, + } +} + +// ListAppend creates a SetValueBuilder to be used in as an argument to Set(). +// The arguments can either be NameBuilders or ValueBuilders. ListAppend() only +// supports DynamoDB List types, so the ValueBuilder must be a List and the +// NameBuilder must specify an item attribute of type List. +// More information: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.UpdateExpressions.html#Expressions.UpdateExpressions.SET.UpdatingListElements +// +// Example: +// +// // Use ListAppend() to set item attribute "someName" to the item +// // attribute "nameOfList" with "some" and "list" appended to it +// update, err := expression.Set(expression.Name("someName"), expression.Name("nameOfList").ListAppend(expression.Value([]string{"some", "list"}))) +// +// Expression Equivalent: +// +// expression.Name("nameOfList").ListAppend(expression.Value([]string{"some", "list"}) +// // let :list be a ExpressionAttributeValue representing the list +// // containing "some" and "list". +// "list_append (nameOfList, :list)" +func (nb NameBuilder) ListAppend(rightOperand OperandBuilder) SetValueBuilder { + return ListAppend(nb, rightOperand) +} + +// ListAppend creates a SetValueBuilder to be used in as an argument to Set(). +// The arguments can either be NameBuilders or ValueBuilders. ListAppend() only +// supports DynamoDB List types, so the ValueBuilder must be a List and the +// NameBuilder must specify an item attribute of type List. +// More information: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.UpdateExpressions.html#Expressions.UpdateExpressions.SET.UpdatingListElements +// +// Example: +// +// // Use ListAppend() to set item attribute "someName" to a string list +// // equal to {"a", "list", "some", "list"} +// update, err := expression.Set(expression.Name("someName"), expression.Value([]string{"a", "list"}).ListAppend(expression.Value([]string{"some", "list"}))) +// +// Expression Equivalent: +// +// expression.Name([]string{"a", "list"}).ListAppend(expression.Value([]string{"some", "list"}) +// // let :list1 and :list2 be a ExpressionAttributeValue representing the +// // list {"a", "list"} and {"some", "list"} respectively +// "list_append (:list1, :list2)" +func (vb ValueBuilder) ListAppend(rightOperand OperandBuilder) SetValueBuilder { + return ListAppend(vb, rightOperand) +} + +// IfNotExists creates a SetValueBuilder to be used in as an argument to Set(). +// The first argument must be a NameBuilder representing the name where the new +// item attribute is created. The second argument can either be a NameBuilder or +// a ValueBuilder. In the case that it is a NameBuilder, the value of the item +// attribute at the name specified becomes the value of the new item attribute. +// More information: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.UpdateExpressions.html#Expressions.UpdateExpressions.SET.PreventingAttributeOverwrites +// +// Example: +// +// // Use IfNotExists() to set item attribute "someName" to value 5 if +// // "someName" does not exist yet. (Prevents overwrite) +// update, err := expression.Set(expression.Name("someName"), expression.IfNotExists(expression.Name("someName"), expression.Value(5))) +// +// Expression Equivalent: +// +// expression.IfNotExists(expression.Name("someName"), expression.Value(5)) +// // let :five be a ExpressionAttributeValue representing the value 5 +// "if_not_exists (someName, :five)" +func IfNotExists(name NameBuilder, setValue OperandBuilder) SetValueBuilder { + return SetValueBuilder{ + leftOperand: name, + rightOperand: setValue, + mode: ifNotExistsValueMode, + } +} + +// IfNotExists creates a SetValueBuilder to be used in as an argument to Set(). +// The first argument must be a NameBuilder representing the name where the new +// item attribute is created. The second argument can either be a NameBuilder or +// a ValueBuilder. In the case that it is a NameBuilder, the value of the item +// attribute at the name specified becomes the value of the new item attribute. +// More information: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.UpdateExpressions.html#Expressions.UpdateExpressions.SET.PreventingAttributeOverwrites +// +// Example: +// +// // Use IfNotExists() to set item attribute "someName" to value 5 if +// // "someName" does not exist yet. (Prevents overwrite) +// update, err := expression.Set(expression.Name("someName"), expression.Name("someName").IfNotExists(expression.Value(5))) +// +// Expression Equivalent: +// +// expression.Name("someName").IfNotExists(expression.Value(5)) +// // let :five be a ExpressionAttributeValue representing the value 5 +// "if_not_exists (someName, :five)" +func (nb NameBuilder) IfNotExists(rightOperand OperandBuilder) SetValueBuilder { + return IfNotExists(nb, rightOperand) +} + +// BuildOperand creates an Operand struct which are building blocks to DynamoDB +// Expressions. Package methods and functions can establish relationships +// between operands, representing DynamoDB Expressions. The method +// BuildOperand() is called recursively when the Build() method on the type +// Builder is called. BuildOperand() should never be called externally. +// BuildOperand() aliases all strings to avoid stepping over DynamoDB's reserved +// words. +// More information on reserved words at http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html +func (nb NameBuilder) BuildOperand() (Operand, error) { + if nb.name == "" { + return Operand{}, newUnsetParameterError("BuildOperand", "NameBuilder") + } + + node := exprNode{ + names: []string{}, + } + + nameSplit := strings.Split(nb.name, ".") + fmtNames := make([]string, 0, len(nameSplit)) + + for _, word := range nameSplit { + var substr string + if word == "" { + return Operand{}, newInvalidParameterError("BuildOperand", "NameBuilder") + } + + if word[len(word)-1] == ']' { + for j, char := range word { + if char == '[' { + substr = word[j:] + word = word[:j] + break + } + } + } + + if word == "" { + return Operand{}, newInvalidParameterError("BuildOperand", "NameBuilder") + } + + // Create a string with special characters that can be substituted later: $p + node.names = append(node.names, word) + fmtNames = append(fmtNames, "$n"+substr) + } + node.fmtExpr = strings.Join(fmtNames, ".") + return Operand{ + exprNode: node, + }, nil +} + +// BuildOperand creates an Operand struct which are building blocks to DynamoDB +// Expressions. Package methods and functions can establish relationships +// between operands, representing DynamoDB Expressions. The method +// BuildOperand() is called recursively when the Build() method on the type +// Builder is called. BuildOperand() should never be called externally. +// BuildOperand() aliases all strings to avoid stepping over DynamoDB's reserved +// words. +// More information on reserved words at http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html +func (vb ValueBuilder) BuildOperand() (Operand, error) { + expr, err := dynamodbattribute.Marshal(vb.value) + if err != nil { + return Operand{}, newInvalidParameterError("BuildOperand", "ValueBuilder") + } + + // Create a string with special characters that can be substituted later: $v + operand := Operand{ + exprNode: exprNode{ + values: []dynamodb.AttributeValue{*expr}, + fmtExpr: "$v", + }, + } + return operand, nil +} + +// BuildOperand creates an Operand struct which are building blocks to DynamoDB +// Expressions. Package methods and functions can establish relationships +// between operands, representing DynamoDB Expressions. The method +// BuildOperand() is called recursively when the Build() method on the type +// Builder is called. BuildOperand() should never be called externally. +// BuildOperand() aliases all strings to avoid stepping over DynamoDB's reserved +// words. +// More information on reserved words at http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html +func (sb SizeBuilder) BuildOperand() (Operand, error) { + operand, err := sb.nameBuilder.BuildOperand() + operand.exprNode.fmtExpr = "size (" + operand.exprNode.fmtExpr + ")" + + return operand, err +} + +// BuildOperand creates an Operand struct which are building blocks to DynamoDB +// Expressions. Package methods and functions can establish relationships +// between operands, representing DynamoDB Expressions. The method +// BuildOperand() is called recursively when the Build() method on the type +// Builder is called. BuildOperand() should never be called externally. +// BuildOperand() aliases all strings to avoid stepping over DynamoDB's reserved +// words. +// More information on reserved words at http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html +func (kb KeyBuilder) BuildOperand() (Operand, error) { + if kb.key == "" { + return Operand{}, newUnsetParameterError("BuildOperand", "KeyBuilder") + } + + ret := Operand{ + exprNode: exprNode{ + names: []string{kb.key}, + fmtExpr: "$n", + }, + } + + return ret, nil +} + +// BuildOperand creates an Operand struct which are building blocks to DynamoDB +// Expressions. Package methods and functions can establish relationships +// between operands, representing DynamoDB Expressions. The method +// BuildOperand() is called recursively when the Build() method on the type +// Builder is called. BuildOperand() should never be called externally. +// BuildOperand() aliases all strings to avoid stepping over DynamoDB's reserved +// words. +// More information on reserved words at http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html +func (svb SetValueBuilder) BuildOperand() (Operand, error) { + if svb.mode == unsetValue { + return Operand{}, newUnsetParameterError("BuildOperand", "SetValueBuilder") + } + + left, err := svb.leftOperand.BuildOperand() + if err != nil { + return Operand{}, err + } + leftNode := left.exprNode + + right, err := svb.rightOperand.BuildOperand() + if err != nil { + return Operand{}, err + } + rightNode := right.exprNode + + node := exprNode{ + children: []exprNode{leftNode, rightNode}, + } + + switch svb.mode { + case plusValueMode: + node.fmtExpr = "$c + $c" + case minusValueMode: + node.fmtExpr = "$c - $c" + case listAppendValueMode: + node.fmtExpr = "list_append($c, $c)" + case ifNotExistsValueMode: + node.fmtExpr = "if_not_exists($c, $c)" + default: + return Operand{}, fmt.Errorf("build operand error: unsupported mode: %v", svb.mode) + } + + return Operand{ + exprNode: node, + }, nil +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/operand_test.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/operand_test.go new file mode 100644 index 000000000..4a0dcc3c6 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/operand_test.go @@ -0,0 +1,144 @@ +// +build go1.7 + +package expression + +import ( + "reflect" + "strings" + "testing" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/service/dynamodb" +) + +// opeErrorMode will help with error cases and checking error types +type opeErrorMode string + +const ( + noOperandError opeErrorMode = "" + // unsetName error will occur if an empty string is passed into NameBuilder + unsetName = "unset parameter: NameBuilder" + // invalidName error will occur if a nested name has an empty intermediary + // attribute name (i.e. foo.bar..baz) + invalidName = "invalid parameter: NameBuilder" + // unsetKey error will occur if an empty string is passed into KeyBuilder + unsetKey = "unset parameter: KeyBuilder" +) + +func TestBuildOperand(t *testing.T) { + cases := []struct { + name string + input OperandBuilder + expected exprNode + err opeErrorMode + }{ + { + name: "basic name", + input: Name("foo"), + expected: exprNode{ + names: []string{"foo"}, + fmtExpr: "$n", + }, + }, + { + name: "duplicate name name", + input: Name("foo.foo"), + expected: exprNode{ + names: []string{"foo", "foo"}, + fmtExpr: "$n.$n", + }, + }, + { + name: "basic value", + input: Value(5), + expected: exprNode{ + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + }, + { + name: "nested name", + input: Name("foo.bar"), + expected: exprNode{ + names: []string{"foo", "bar"}, + fmtExpr: "$n.$n", + }, + }, + { + name: "nested name with index", + input: Name("foo.bar[0].baz"), + expected: exprNode{ + names: []string{"foo", "bar", "baz"}, + fmtExpr: "$n.$n[0].$n", + }, + }, + { + name: "basic size", + input: Name("foo").Size(), + expected: exprNode{ + names: []string{"foo"}, + fmtExpr: "size ($n)", + }, + }, + { + name: "key", + input: Key("foo"), + expected: exprNode{ + names: []string{"foo"}, + fmtExpr: "$n", + }, + }, + { + name: "unset key error", + input: Key(""), + expected: exprNode{}, + err: unsetKey, + }, + { + name: "empty name error", + input: Name(""), + expected: exprNode{}, + err: unsetName, + }, + { + name: "invalid name", + input: Name("foo..bar"), + expected: exprNode{}, + err: invalidName, + }, + { + name: "invalid index", + input: Name("[foo]"), + expected: exprNode{}, + err: invalidName, + }, + } + + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + operand, err := c.input.BuildOperand() + + if c.err != noOperandError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + + if e, a := c.expected, operand.exprNode; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/projection.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/projection.go new file mode 100644 index 000000000..1eb62002b --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/projection.go @@ -0,0 +1,148 @@ +package expression + +import ( + "strings" +) + +// ProjectionBuilder represents Projection Expressions in DynamoDB. +// ProjectionBuilders are the building blocks of Builders. +// More Information at: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.ProjectionExpressions.html +type ProjectionBuilder struct { + names []NameBuilder +} + +// NamesList returns a ProjectionBuilder representing the list of item +// attribute names specified by the argument NameBuilders. The resulting +// ProjectionBuilder can be used as a part of other ProjectionBuilders or as an +// argument to the WithProjection() method for the Builder struct. +// +// Example: +// +// // projection represents the list of names {"foo", "bar"} +// projection := expression.NamesList(expression.Name("foo"), expression.Name("bar")) +// +// // Used in another Projection Expression +// anotherProjection := expression.AddNames(projection, expression.Name("baz")) +// // Used to make an Builder +// builder := expression.NewBuilder().WithProjection(newProjection) +// +// Expression Equivalent: +// +// expression.NamesList(expression.Name("foo"), expression.Name("bar")) +// "foo, bar" +func NamesList(nameBuilder NameBuilder, namesList ...NameBuilder) ProjectionBuilder { + namesList = append([]NameBuilder{nameBuilder}, namesList...) + return ProjectionBuilder{ + names: namesList, + } +} + +// NamesList returns a ProjectionBuilder representing the list of item +// attribute names specified by the argument NameBuilders. The resulting +// ProjectionBuilder can be used as a part of other ProjectionBuilders or as an +// argument to the WithProjection() method for the Builder struct. +// +// Example: +// +// // projection represents the list of names {"foo", "bar"} +// projection := expression.Name("foo").NamesList(expression.Name("bar")) +// +// // Used in another Projection Expression +// anotherProjection := expression.AddNames(projection, expression.Name("baz")) +// // Used to make an Builder +// builder := expression.NewBuilder().WithProjection(newProjection) +// +// Expression Equivalent: +// +// expression.Name("foo").NamesList(expression.Name("bar")) +// "foo, bar" +func (nb NameBuilder) NamesList(namesList ...NameBuilder) ProjectionBuilder { + return NamesList(nb, namesList...) +} + +// AddNames returns a ProjectionBuilder representing the list of item +// attribute names equivalent to appending all of the argument item attribute +// names to the argument ProjectionBuilder. The resulting ProjectionBuilder can +// be used as a part of other ProjectionBuilders or as an argument to the +// WithProjection() method for the Builder struct. +// +// Example: +// +// // projection represents the list of names {"foo", "bar", "baz", "qux"} +// oldProj := expression.NamesList(expression.Name("foo"), expression.Name("bar")) +// projection := expression.AddNames(oldProj, expression.Name("baz"), expression.Name("qux")) +// +// // Used in another Projection Expression +// anotherProjection := expression.AddNames(projection, expression.Name("quux")) +// // Used to make an Builder +// builder := expression.NewBuilder().WithProjection(newProjection) +// +// Expression Equivalent: +// +// expression.AddNames(expression.NamesList(expression.Name("foo"), expression.Name("bar")), expression.Name("baz"), expression.Name("qux")) +// "foo, bar, baz, qux" +func AddNames(projectionBuilder ProjectionBuilder, namesList ...NameBuilder) ProjectionBuilder { + projectionBuilder.names = append(projectionBuilder.names, namesList...) + return projectionBuilder +} + +// AddNames returns a ProjectionBuilder representing the list of item +// attribute names equivalent to appending all of the argument item attribute +// names to the argument ProjectionBuilder. The resulting ProjectionBuilder can +// be used as a part of other ProjectionBuilders or as an argument to the +// WithProjection() method for the Builder struct. +// +// Example: +// +// // projection represents the list of names {"foo", "bar", "baz", "qux"} +// oldProj := expression.NamesList(expression.Name("foo"), expression.Name("bar")) +// projection := oldProj.AddNames(expression.Name("baz"), expression.Name("qux")) +// +// // Used in another Projection Expression +// anotherProjection := expression.AddNames(projection, expression.Name("quux")) +// // Used to make an Builder +// builder := expression.NewBuilder().WithProjection(newProjection) +// +// Expression Equivalent: +// +// expression.NamesList(expression.Name("foo"), expression.Name("bar")).AddNames(expression.Name("baz"), expression.Name("qux")) +// "foo, bar, baz, qux" +func (pb ProjectionBuilder) AddNames(namesList ...NameBuilder) ProjectionBuilder { + return AddNames(pb, namesList...) +} + +// buildTree builds a tree structure of exprNodes based on the tree +// structure of the input ProjectionBuilder's child NameBuilders. buildTree() +// satisfies the treeBuilder interface so ProjectionBuilder can be a part of +// Builder and Expression struct. +func (pb ProjectionBuilder) buildTree() (exprNode, error) { + if len(pb.names) == 0 { + return exprNode{}, newUnsetParameterError("buildTree", "ProjectionBuilder") + } + + childNodes, err := pb.buildChildNodes() + if err != nil { + return exprNode{}, err + } + ret := exprNode{ + children: childNodes, + } + + ret.fmtExpr = "$c" + strings.Repeat(", $c", len(pb.names)-1) + + return ret, nil +} + +// buildChildNodes creates the list of the child exprNodes. +func (pb ProjectionBuilder) buildChildNodes() ([]exprNode, error) { + childNodes := make([]exprNode, 0, len(pb.names)) + for _, name := range pb.names { + operand, err := name.BuildOperand() + if err != nil { + return []exprNode{}, err + } + childNodes = append(childNodes, operand.exprNode) + } + + return childNodes, nil +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/projection_test.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/projection_test.go new file mode 100644 index 000000000..7cbec12f3 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/projection_test.go @@ -0,0 +1,215 @@ +// +build go1.7 + +package expression + +import ( + "reflect" + "strings" + "testing" +) + +// projErrorMode will help with error cases and checking error types +type projErrorMode string + +const ( + noProjError projErrorMode = "" + // invalidProjectionOperand error will occur when an invalid OperandBuilder is + // used as an argument + invalidProjectionOperand = "BuildOperand error" + // unsetProjection error will occur if the argument ProjectionBuilder is unset + unsetProjection = "unset parameter: ProjectionBuilder" +) + +func TestProjectionBuilder(t *testing.T) { + cases := []struct { + name string + input ProjectionBuilder + expectedNode exprNode + err projErrorMode + }{ + { + name: "names list function call", + input: NamesList(Name("foo"), Name("bar")), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + names: []string{"bar"}, + fmtExpr: "$n", + }, + }, + fmtExpr: "$c, $c", + }, + }, + { + name: "names list method call", + input: Name("foo").NamesList(Name("bar")), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + names: []string{"bar"}, + fmtExpr: "$n", + }, + }, + fmtExpr: "$c, $c", + }, + }, + { + name: "add name", + input: Name("foo").NamesList(Name("bar")).AddNames(Name("baz"), Name("qux")), + expectedNode: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + names: []string{"bar"}, + fmtExpr: "$n", + }, + { + names: []string{"baz"}, + fmtExpr: "$n", + }, { + names: []string{"qux"}, + fmtExpr: "$n", + }, + }, + fmtExpr: "$c, $c, $c, $c", + }, + }, + { + name: "invalid operand", + input: NamesList(Name("")), + err: invalidProjectionOperand, + }, + } + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actual, err := c.input.buildTree() + if c.err != noProjError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + if e, a := c.expectedNode, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} + +func TestBuildProjection(t *testing.T) { + cases := []struct { + name string + input ProjectionBuilder + expected string + err projErrorMode + }{ + { + name: "build projection 3", + input: NamesList(Name("foo"), Name("bar"), Name("baz")), + expected: "$c, $c, $c", + }, + { + name: "build projection 5", + input: NamesList(Name("foo"), Name("bar"), Name("baz")).AddNames(Name("qux"), Name("quux")), + expected: "$c, $c, $c, $c, $c", + }, + { + name: "empty ProjectionBuilder", + input: ProjectionBuilder{}, + err: unsetProjection, + }, + } + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actual, err := c.input.buildTree() + if c.err != noProjError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + if e, a := c.expected, actual.fmtExpr; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} + +func TestBuildProjectionChildNodes(t *testing.T) { + cases := []struct { + name string + input ProjectionBuilder + expected []exprNode + err projErrorMode + }{ + { + name: "build child nodes", + input: NamesList(Name("foo"), Name("bar"), Name("baz")), + expected: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + names: []string{"bar"}, + fmtExpr: "$n", + }, + { + names: []string{"baz"}, + fmtExpr: "$n", + }, + }, + }, + { + name: "operand error", + input: NamesList(Name("")), + err: invalidProjectionOperand, + }, + } + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actual, err := c.input.buildTree() + if c.err != noProjError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + if e, a := c.expected, actual.children; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/update.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/update.go new file mode 100644 index 000000000..b82d3d4f5 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/update.go @@ -0,0 +1,391 @@ +package expression + +import ( + "fmt" + "sort" + "strings" +) + +// operationMode specifies the types of update operations that the +// updateBuilder is going to represent. The const is in a string to use the +// const value as a map key and as a string when creating the formatted +// expression for the exprNodes. +type operationMode string + +const ( + setOperation operationMode = "SET" + removeOperation = "REMOVE" + addOperation = "ADD" + deleteOperation = "DELETE" +) + +// Implementing the Sort interface +type modeList []operationMode + +func (ml modeList) Len() int { + return len(ml) +} + +func (ml modeList) Less(i, j int) bool { + return string(ml[i]) < string(ml[j]) +} + +func (ml modeList) Swap(i, j int) { + ml[i], ml[j] = ml[j], ml[i] +} + +// UpdateBuilder represents Update Expressions in DynamoDB. UpdateBuilders +// are the building blocks of the Builder struct. Note that there are different +// update operations in DynamoDB and an UpdateBuilder can represent multiple +// update operations. +// More Information at: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.UpdateExpressions.html +type UpdateBuilder struct { + operationList map[operationMode][]operationBuilder +} + +// operationBuilder represents specific update actions (SET, REMOVE, ADD, +// DELETE). The mode specifies what type of update action the +// operationBuilder represents. +type operationBuilder struct { + name NameBuilder + value OperandBuilder + mode operationMode +} + +// buildOperation builds an exprNode from an operationBuilder. buildOperation +// is called recursively by buildTree in order to create a tree structure +// of exprNodes representing the parent/child relationships between +// UpdateBuilders and operationBuilders. +func (ob operationBuilder) buildOperation() (exprNode, error) { + pathChild, err := ob.name.BuildOperand() + if err != nil { + return exprNode{}, err + } + + node := exprNode{ + children: []exprNode{pathChild.exprNode}, + fmtExpr: "$c", + } + + if ob.mode == removeOperation { + return node, nil + } + + valueChild, err := ob.value.BuildOperand() + if err != nil { + return exprNode{}, err + } + node.children = append(node.children, valueChild.exprNode) + + switch ob.mode { + case setOperation: + node.fmtExpr += " = $c" + case addOperation, deleteOperation: + node.fmtExpr += " $c" + default: + return exprNode{}, fmt.Errorf("build update error: build operation error: unsupported mode: %v", ob.mode) + } + + return node, nil +} + +// Delete returns an UpdateBuilder representing one Delete operation for +// DynamoDB Update Expressions. The argument name should specify the item +// attribute and the argument value should specify the value to be deleted. The +// resulting UpdateBuilder can be used as an argument to the WithUpdate() method +// for the Builder struct. +// +// Example: +// +// // update represents the delete operation to delete the string value +// // "subsetToDelete" from the item attribute "pathToList" +// update := expression.Delete(expression.Name("pathToList"), expression.Value("subsetToDelete")) +// +// // Adding more update methods +// anotherUpdate := update.Remove(expression.Name("someName")) +// // Creating a Builder +// builder := Update(update) +// +// Expression Equivalent: +// +// expression.Delete(expression.Name("pathToList"), expression.Value("subsetToDelete")) +// // let :del be an ExpressionAttributeValue representing the value +// // "subsetToDelete" +// "DELETE pathToList :del" +func Delete(name NameBuilder, value ValueBuilder) UpdateBuilder { + emptyUpdateBuilder := UpdateBuilder{} + return emptyUpdateBuilder.Delete(name, value) +} + +// Delete adds a Delete operation to the argument UpdateBuilder. The +// argument name should specify the item attribute and the argument value should +// specify the value to be deleted. The resulting UpdateBuilder can be used as +// an argument to the WithUpdate() method for the Builder struct. +// +// Example: +// +// // Let update represent an already existing update expression. Delete() +// // adds the operation to delete the value "subsetToDelete" from the item +// // attribute "pathToList" +// update := update.Delete(expression.Name("pathToList"), expression.Value("subsetToDelete")) +// +// // Adding more update methods +// anotherUpdate := update.Remove(expression.Name("someName")) +// // Creating a Builder +// builder := Update(update) +// +// Expression Equivalent: +// +// Delete(expression.Name("pathToList"), expression.Value("subsetToDelete")) +// // let :del be an ExpressionAttributeValue representing the value +// // "subsetToDelete" +// "DELETE pathToList :del" +func (ub UpdateBuilder) Delete(name NameBuilder, value ValueBuilder) UpdateBuilder { + if ub.operationList == nil { + ub.operationList = map[operationMode][]operationBuilder{} + } + ub.operationList[deleteOperation] = append(ub.operationList[deleteOperation], operationBuilder{ + name: name, + value: value, + mode: deleteOperation, + }) + return ub +} + +// Add returns an UpdateBuilder representing the Add operation for DynamoDB +// Update Expressions. The argument name should specify the item attribute and +// the argument value should specify the value to be added. The resulting +// UpdateBuilder can be used as an argument to the WithUpdate() method for the +// Builder struct. +// +// Example: +// +// // update represents the add operation to add the value 5 to the item +// // attribute "aPath" +// update := expression.Add(expression.Name("aPath"), expression.Value(5)) +// +// // Adding more update methods +// anotherUpdate := update.Remove(expression.Name("someName")) +// // Creating a Builder +// builder := Update(update) +// +// Expression Equivalent: +// +// expression.Add(expression.Name("aPath"), expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "ADD aPath :5" +func Add(name NameBuilder, value ValueBuilder) UpdateBuilder { + emptyUpdateBuilder := UpdateBuilder{} + return emptyUpdateBuilder.Add(name, value) +} + +// Add adds an Add operation to the argument UpdateBuilder. The argument +// name should specify the item attribute and the argument value should specify +// the value to be added. The resulting UpdateBuilder can be used as an argument +// to the WithUpdate() method for the Builder struct. +// +// Example: +// +// // Let update represent an already existing update expression. Add() adds +// // the operation to add the value 5 to the item attribute "aPath" +// update := update.Add(expression.Name("aPath"), expression.Value(5)) +// +// // Adding more update methods +// anotherUpdate := update.Remove(expression.Name("someName")) +// // Creating a Builder +// builder := Update(update) +// +// Expression Equivalent: +// +// Add(expression.Name("aPath"), expression.Value(5)) +// // Let :five be an ExpressionAttributeValue representing the value 5 +// "ADD aPath :5" +func (ub UpdateBuilder) Add(name NameBuilder, value ValueBuilder) UpdateBuilder { + if ub.operationList == nil { + ub.operationList = map[operationMode][]operationBuilder{} + } + ub.operationList[addOperation] = append(ub.operationList[addOperation], operationBuilder{ + name: name, + value: value, + mode: addOperation, + }) + return ub +} + +// Remove returns an UpdateBuilder representing the Remove operation for +// DynamoDB Update Expressions. The argument name should specify the item +// attribute to delete. The resulting UpdateBuilder can be used as an argument +// to the WithUpdate() method for the Builder struct. +// +// Example: +// +// // update represents the remove operation to remove the item attribute +// // "itemToRemove" +// update := expression.Remove(expression.Name("itemToRemove")) +// +// // Adding more update methods +// anotherUpdate := update.Remove(expression.Name("someName")) +// // Creating a Builder +// builder := Update(update) +// +// Expression Equivalent: +// +// expression.Remove(expression.Name("itemToRemove")) +// "REMOVE itemToRemove" +func Remove(name NameBuilder) UpdateBuilder { + emptyUpdateBuilder := UpdateBuilder{} + return emptyUpdateBuilder.Remove(name) +} + +// Remove adds a Remove operation to the argument UpdateBuilder. The +// argument name should specify the item attribute to delete. The resulting +// UpdateBuilder can be used as an argument to the WithUpdate() method for the +// Builder struct. +// +// Example: +// +// // Let update represent an already existing update expression. Remove() +// // adds the operation to remove the item attribute "itemToRemove" +// update := update.Remove(expression.Name("itemToRemove")) +// +// // Adding more update methods +// anotherUpdate := update.Remove(expression.Name("someName")) +// // Creating a Builder +// builder := Update(update) +// +// Expression Equivalent: +// +// Remove(expression.Name("itemToRemove")) +// "REMOVE itemToRemove" +func (ub UpdateBuilder) Remove(name NameBuilder) UpdateBuilder { + if ub.operationList == nil { + ub.operationList = map[operationMode][]operationBuilder{} + } + ub.operationList[removeOperation] = append(ub.operationList[removeOperation], operationBuilder{ + name: name, + mode: removeOperation, + }) + return ub +} + +// Set returns an UpdateBuilder representing the Set operation for DynamoDB +// Update Expressions. The argument name should specify the item attribute to +// modify. The argument OperandBuilder should specify the value to modify the +// the item attribute to. The resulting UpdateBuilder can be used as an argument +// to the WithUpdate() method for the Builder struct. +// +// Example: +// +// // update represents the set operation to set the item attribute +// // "itemToSet" to the value "setValue" if the item attribute does not +// // exist yet. (conditional write) +// update := expression.Set(expression.Name("itemToSet"), expression.IfNotExists(expression.Name("itemToSet"), expression.Value("setValue"))) +// +// // Adding more update methods +// anotherUpdate := update.Remove(expression.Name("someName")) +// // Creating a Builder +// builder := Update(update) +// +// Expression Equivalent: +// +// expression.Set(expression.Name("itemToSet"), expression.IfNotExists(expression.Name("itemToSet"), expression.Value("setValue"))) +// // Let :val be an ExpressionAttributeValue representing the value +// // "setValue" +// "SET itemToSet = :val" +func Set(name NameBuilder, operandBuilder OperandBuilder) UpdateBuilder { + emptyUpdateBuilder := UpdateBuilder{} + return emptyUpdateBuilder.Set(name, operandBuilder) +} + +// Set adds a Set operation to the argument UpdateBuilder. The argument name +// should specify the item attribute to modify. The argument OperandBuilder +// should specify the value to modify the the item attribute to. The resulting +// UpdateBuilder can be used as an argument to the WithUpdate() method for the +// Builder struct. +// +// Example: +// +// // Let update represent an already existing update expression. Set() adds +// // the operation to to set the item attribute "itemToSet" to the value +// // "setValue" if the item attribute does not exist yet. (conditional +// // write) +// update := update.Set(expression.Name("itemToSet"), expression.IfNotExists(expression.Name("itemToSet"), expression.Value("setValue"))) +// +// // Adding more update methods +// anotherUpdate := update.Remove(expression.Name("someName")) +// // Creating a Builder +// builder := Update(update) +// +// Expression Equivalent: +// +// Set(expression.Name("itemToSet"), expression.IfNotExists(expression.Name("itemToSet"), expression.Value("setValue"))) +// // Let :val be an ExpressionAttributeValue representing the value +// // "setValue" +// "SET itemToSet = :val" +func (ub UpdateBuilder) Set(name NameBuilder, operandBuilder OperandBuilder) UpdateBuilder { + if ub.operationList == nil { + ub.operationList = map[operationMode][]operationBuilder{} + } + ub.operationList[setOperation] = append(ub.operationList[setOperation], operationBuilder{ + name: name, + value: operandBuilder, + mode: setOperation, + }) + return ub +} + +// buildTree builds a tree structure of exprNodes based on the tree +// structure of the input UpdateBuilder's child UpdateBuilders/Operands. +// buildTree() satisfies the TreeBuilder interface so ProjectionBuilder can be a +// part of Expression struct. +func (ub UpdateBuilder) buildTree() (exprNode, error) { + if ub.operationList == nil { + return exprNode{}, newUnsetParameterError("buildTree", "UpdateBuilder") + } + ret := exprNode{ + children: []exprNode{}, + } + + modes := modeList{} + + for mode := range ub.operationList { + modes = append(modes, mode) + } + + sort.Sort(modes) + + for _, key := range modes { + ret.fmtExpr += string(key) + " $c\n" + + childNode, err := buildChildNodes(ub.operationList[key]) + if err != nil { + return exprNode{}, err + } + + ret.children = append(ret.children, childNode) + } + + return ret, nil +} + +// buildChildNodes creates the list of the child exprNodes. +func buildChildNodes(operationBuilderList []operationBuilder) (exprNode, error) { + if len(operationBuilderList) == 0 { + return exprNode{}, fmt.Errorf("buildChildNodes error: operationBuilder list is empty") + } + + node := exprNode{ + children: make([]exprNode, 0, len(operationBuilderList)), + fmtExpr: "$c" + strings.Repeat(", $c", len(operationBuilderList)-1), + } + + for _, val := range operationBuilderList { + valNode, err := val.buildOperation() + if err != nil { + return exprNode{}, err + } + node.children = append(node.children, valNode) + } + + return node, nil +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/update_test.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/update_test.go new file mode 100644 index 000000000..2e8a47351 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/expression/update_test.go @@ -0,0 +1,771 @@ +// +build go1.7 + +package expression + +import ( + "reflect" + "strings" + "testing" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/service/dynamodb" +) + +// updateErrorMode will help with error cases and checking error types +type updateErrorMode string + +const ( + noUpdateError updateErrorMode = "" + invalidUpdateOperand = "BuildOperand error" + unsetSetValue = "unset parameter: SetValueBuilder" + unsetUpdate = "unset parameter: UpdateBuilder" + emptyOperationBuilderList = "operationBuilder list is empty" +) + +func TestBuildOperation(t *testing.T) { + cases := []struct { + name string + input operationBuilder + expected exprNode + err updateErrorMode + }{ + { + name: "set operation", + input: operationBuilder{ + name: Name("foo"), + value: Value(5), + mode: setOperation, + }, + expected: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c = $c", + }, + }, + { + name: "add operation", + input: operationBuilder{ + name: Name("foo"), + value: Value(5), + mode: addOperation, + }, + expected: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c $c", + }, + }, + { + name: "remove operation", + input: operationBuilder{ + name: Name("foo"), + mode: removeOperation, + }, + expected: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + }, + fmtExpr: "$c", + }, + }, + { + name: "invalid operand", + input: operationBuilder{ + name: Name(""), + mode: removeOperation, + }, + err: invalidUpdateOperand, + }, + } + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actual, err := c.input.buildOperation() + if c.err != noUpdateError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + + if e, a := c.expected, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} + +func TestUpdateTree(t *testing.T) { + cases := []struct { + name string + input UpdateBuilder + expectedNode exprNode + err updateErrorMode + }{ + { + name: "set update", + input: Set(Name("foo"), Value(5)), + expectedNode: exprNode{ + children: []exprNode{ + { + children: []exprNode{ + { + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c = $c", + }, + }, + fmtExpr: "$c", + }, + }, + fmtExpr: "SET $c\n", + }, + }, + { + name: "remove update", + input: Remove(Name("foo")), + expectedNode: exprNode{ + children: []exprNode{ + { + children: []exprNode{ + { + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + }, + fmtExpr: "$c", + }, + }, + fmtExpr: "$c", + }, + }, + fmtExpr: "REMOVE $c\n", + }, + }, + { + name: "add update", + input: Add(Name("foo"), Value(5)), + expectedNode: exprNode{ + children: []exprNode{ + { + children: []exprNode{ + { + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c $c", + }, + }, + fmtExpr: "$c", + }, + }, + fmtExpr: "ADD $c\n", + }, + }, + { + name: "delete update", + input: Delete(Name("foo"), Value(5)), + expectedNode: exprNode{ + children: []exprNode{ + { + children: []exprNode{ + { + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c $c", + }, + }, + fmtExpr: "$c", + }, + }, + fmtExpr: "DELETE $c\n", + }, + }, + { + name: "multiple sets", + input: Set(Name("foo"), Value(5)).Set(Name("bar"), Value(6)).Set(Name("baz"), Name("qux")), + expectedNode: exprNode{ + fmtExpr: "SET $c\n", + children: []exprNode{ + { + fmtExpr: "$c, $c, $c", + children: []exprNode{ + { + fmtExpr: "$c = $c", + children: []exprNode{ + { + fmtExpr: "$n", + names: []string{"foo"}, + }, + { + fmtExpr: "$v", + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + }, + }, + }, + { + fmtExpr: "$c = $c", + children: []exprNode{ + { + fmtExpr: "$n", + names: []string{"bar"}, + }, + { + fmtExpr: "$v", + values: []dynamodb.AttributeValue{ + { + N: aws.String("6"), + }, + }, + }, + }, + }, + { + fmtExpr: "$c = $c", + children: []exprNode{ + { + fmtExpr: "$n", + names: []string{"baz"}, + }, + { + fmtExpr: "$n", + names: []string{"qux"}, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "compound update", + input: Add(Name("foo"), Value(5)).Set(Name("foo"), Value(5)).Delete(Name("foo"), Value(5)).Remove(Name("foo")), + expectedNode: exprNode{ + children: []exprNode{ + { + children: []exprNode{ + { + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c $c", + }, + }, + fmtExpr: "$c", + }, + { + children: []exprNode{ + { + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c $c", + }, + }, + fmtExpr: "$c", + }, + { + children: []exprNode{ + { + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + }, + fmtExpr: "$c", + }, + }, + fmtExpr: "$c", + }, + { + children: []exprNode{ + { + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + }, + fmtExpr: "$c = $c", + }, + }, + fmtExpr: "$c", + }, + }, + fmtExpr: "ADD $c\nDELETE $c\nREMOVE $c\nSET $c\n", + }, + }, + { + name: "empty UpdateBuilder", + input: UpdateBuilder{}, + err: unsetUpdate, + }, + } + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actual, err := c.input.buildTree() + if c.err != noUpdateError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + + if e, a := c.expectedNode, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} + +func TestSetValueBuilder(t *testing.T) { + cases := []struct { + name string + input SetValueBuilder + expected exprNode + err updateErrorMode + }{ + { + name: "name plus name", + input: Name("foo").Plus(Name("bar")), + expected: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + names: []string{"bar"}, + fmtExpr: "$n", + }, + }, + fmtExpr: "$c + $c", + }, + }, + { + name: "name minus name", + input: Name("foo").Minus(Name("bar")), + expected: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + names: []string{"bar"}, + fmtExpr: "$n", + }, + }, + fmtExpr: "$c - $c", + }, + }, + { + name: "list append name and name", + input: Name("foo").ListAppend(Name("bar")), + expected: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + names: []string{"bar"}, + fmtExpr: "$n", + }, + }, + fmtExpr: "list_append($c, $c)", + }, + }, + { + name: "if not exists name and name", + input: Name("foo").IfNotExists(Name("bar")), + expected: exprNode{ + children: []exprNode{ + { + names: []string{"foo"}, + fmtExpr: "$n", + }, + { + names: []string{"bar"}, + fmtExpr: "$n", + }, + }, + fmtExpr: "if_not_exists($c, $c)", + }, + }, + { + name: "value plus name", + input: Value(5).Plus(Name("bar")), + expected: exprNode{ + children: []exprNode{ + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + { + names: []string{"bar"}, + fmtExpr: "$n", + }, + }, + fmtExpr: "$c + $c", + }, + }, + { + name: "value minus name", + input: Value(5).Minus(Name("bar")), + expected: exprNode{ + children: []exprNode{ + { + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + fmtExpr: "$v", + }, + { + names: []string{"bar"}, + fmtExpr: "$n", + }, + }, + fmtExpr: "$c - $c", + }, + }, + { + name: "list append list and name", + input: Value([]int{1, 2, 3}).ListAppend(Name("bar")), + expected: exprNode{ + children: []exprNode{ + { + values: []dynamodb.AttributeValue{ + { + L: []*dynamodb.AttributeValue{ + { + N: aws.String("1"), + }, + { + N: aws.String("2"), + }, + { + N: aws.String("3"), + }, + }, + }, + }, + fmtExpr: "$v", + }, + { + names: []string{"bar"}, + fmtExpr: "$n", + }, + }, + fmtExpr: "list_append($c, $c)", + }, + }, + { + name: "unset SetValueBuilder", + input: SetValueBuilder{}, + err: unsetSetValue, + }, + { + name: "invalid operand error", + input: Name("").Plus(Name("foo")), + err: invalidUpdateOperand, + }, + { + name: "invalid operand error", + input: Name("foo").Plus(Name("")), + err: invalidUpdateOperand, + }, + } + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actual, err := c.input.BuildOperand() + if c.err != noUpdateError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + + if e, a := c.expected, actual.exprNode; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} + +func TestUpdateBuildChildNodes(t *testing.T) { + cases := []struct { + name string + input []operationBuilder + expected exprNode + err updateErrorMode + }{ + { + name: "set operand builder", + input: []operationBuilder{ + { + mode: setOperation, + name: NameBuilder{ + name: "foo", + }, + value: ValueBuilder{ + value: 5, + }, + }, + { + mode: setOperation, + name: NameBuilder{ + name: "bar", + }, + value: ValueBuilder{ + value: 6, + }, + }, + { + mode: setOperation, + name: NameBuilder{ + name: "baz", + }, + value: ValueBuilder{ + value: 7, + }, + }, + { + mode: setOperation, + name: NameBuilder{ + name: "qux", + }, + value: ValueBuilder{ + value: 8, + }, + }, + }, + expected: exprNode{ + fmtExpr: "$c, $c, $c, $c", + children: []exprNode{ + { + fmtExpr: "$c = $c", + children: []exprNode{ + { + fmtExpr: "$n", + names: []string{"foo"}, + }, + { + fmtExpr: "$v", + values: []dynamodb.AttributeValue{ + { + N: aws.String("5"), + }, + }, + }, + }, + }, + { + fmtExpr: "$c = $c", + children: []exprNode{ + { + fmtExpr: "$n", + names: []string{"bar"}, + }, + { + fmtExpr: "$v", + values: []dynamodb.AttributeValue{ + { + N: aws.String("6"), + }, + }, + }, + }, + }, + { + fmtExpr: "$c = $c", + children: []exprNode{ + { + fmtExpr: "$n", + names: []string{"baz"}, + }, + { + fmtExpr: "$v", + values: []dynamodb.AttributeValue{ + { + N: aws.String("7"), + }, + }, + }, + }, + }, + { + fmtExpr: "$c = $c", + children: []exprNode{ + { + fmtExpr: "$n", + names: []string{"qux"}, + }, + { + fmtExpr: "$v", + values: []dynamodb.AttributeValue{ + { + N: aws.String("8"), + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "empty operationBuilder list", + input: []operationBuilder{}, + err: emptyOperationBuilderList, + }, + } + for _, c := range cases { + t.Run(c.name, func(t *testing.T) { + actual, err := buildChildNodes(c.input) + if c.err != noUpdateError { + if err == nil { + t.Errorf("expect error %q, got no error", c.err) + } else { + if e, a := string(c.err), err.Error(); !strings.Contains(a, e) { + t.Errorf("expect %q error message to be in %q", e, a) + } + } + } else { + if err != nil { + t.Errorf("expect no error, got unexpected Error %q", err) + } + + if e, a := c.expected, actual; !reflect.DeepEqual(a, e) { + t.Errorf("expect %v, got %v", e, a) + } + } + }) + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/waiters.go index 07c75c428..ae515f7de 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/waiters.go @@ -11,7 +11,7 @@ import ( // WaitUntilTableExists uses the DynamoDB API operation // DescribeTable to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *DynamoDB) WaitUntilTableExists(input *DescribeTableInput) error { return c.WaitUntilTableExistsWithContext(aws.BackgroundContext(), input) @@ -62,7 +62,7 @@ func (c *DynamoDB) WaitUntilTableExistsWithContext(ctx aws.Context, input *Descr // WaitUntilTableNotExists uses the DynamoDB API operation // DescribeTable to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *DynamoDB) WaitUntilTableNotExists(input *DescribeTableInput) error { return c.WaitUntilTableNotExistsWithContext(aws.BackgroundContext(), input) diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodbstreams/api.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodbstreams/api.go index 0c514a8ef..9caa02680 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dynamodbstreams/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodbstreams/api.go @@ -15,19 +15,18 @@ const opDescribeStream = "DescribeStream" // DescribeStreamRequest generates a "aws/request.Request" representing the // client's request for the DescribeStream operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeStream for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeStream method directly -// instead. +// See DescribeStream for more information on using the DescribeStream +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeStreamRequest method. // req, resp := client.DescribeStreamRequest(params) @@ -108,19 +107,18 @@ const opGetRecords = "GetRecords" // GetRecordsRequest generates a "aws/request.Request" representing the // client's request for the GetRecords operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetRecords for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetRecords method directly -// instead. +// See GetRecords for more information on using the GetRecords +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetRecordsRequest method. // req, resp := client.GetRecordsRequest(params) @@ -228,19 +226,18 @@ const opGetShardIterator = "GetShardIterator" // GetShardIteratorRequest generates a "aws/request.Request" representing the // client's request for the GetShardIterator operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetShardIterator for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetShardIterator method directly -// instead. +// See GetShardIterator for more information on using the GetShardIterator +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetShardIteratorRequest method. // req, resp := client.GetShardIteratorRequest(params) @@ -329,19 +326,18 @@ const opListStreams = "ListStreams" // ListStreamsRequest generates a "aws/request.Request" representing the // client's request for the ListStreams operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListStreams for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListStreams method directly -// instead. +// See ListStreams for more information on using the ListStreams +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListStreamsRequest method. // req, resp := client.ListStreamsRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodbstreams/doc.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodbstreams/doc.go index f61c0b96e..616fe1f62 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dynamodbstreams/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodbstreams/doc.go @@ -15,69 +15,17 @@ // // Using the Client // -// To use the client for Amazon DynamoDB Streams you will first need -// to create a new instance of it. +// To Amazon DynamoDB Streams with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := dynamodbstreams.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon DynamoDB Streams client DynamoDBStreams for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/dynamodbstreams/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.DescribeStream(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("DescribeStream result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.DescribeStreamWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package dynamodbstreams diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodbstreams/dynamodbstreamsiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodbstreams/dynamodbstreamsiface/interface.go index fddd3aba6..ac357daec 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dynamodbstreams/dynamodbstreamsiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodbstreams/dynamodbstreamsiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon DynamoDB Streams. diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go index bd13ab77e..28c0a1e2e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go @@ -17,19 +17,18 @@ const opAcceptReservedInstancesExchangeQuote = "AcceptReservedInstancesExchangeQ // AcceptReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the // client's request for the AcceptReservedInstancesExchangeQuote operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AcceptReservedInstancesExchangeQuote for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AcceptReservedInstancesExchangeQuote method directly -// instead. +// See AcceptReservedInstancesExchangeQuote for more information on using the AcceptReservedInstancesExchangeQuote +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AcceptReservedInstancesExchangeQuoteRequest method. // req, resp := client.AcceptReservedInstancesExchangeQuoteRequest(params) @@ -93,19 +92,18 @@ const opAcceptVpcPeeringConnection = "AcceptVpcPeeringConnection" // AcceptVpcPeeringConnectionRequest generates a "aws/request.Request" representing the // client's request for the AcceptVpcPeeringConnection operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AcceptVpcPeeringConnection for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AcceptVpcPeeringConnection method directly -// instead. +// See AcceptVpcPeeringConnection for more information on using the AcceptVpcPeeringConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AcceptVpcPeeringConnectionRequest method. // req, resp := client.AcceptVpcPeeringConnectionRequest(params) @@ -171,19 +169,18 @@ const opAllocateAddress = "AllocateAddress" // AllocateAddressRequest generates a "aws/request.Request" representing the // client's request for the AllocateAddress operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AllocateAddress for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AllocateAddress method directly -// instead. +// See AllocateAddress for more information on using the AllocateAddress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AllocateAddressRequest method. // req, resp := client.AllocateAddressRequest(params) @@ -212,10 +209,18 @@ func (c *EC2) AllocateAddressRequest(input *AllocateAddressInput) (req *request. // AllocateAddress API operation for Amazon Elastic Compute Cloud. // -// Acquires an Elastic IP address. +// Allocates an Elastic IP address. // // An Elastic IP address is for use either in the EC2-Classic platform or in -// a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) +// a VPC. By default, you can allocate 5 Elastic IP addresses for EC2-Classic +// per region and 5 Elastic IP addresses for EC2-VPC per region. +// +// If you release an Elastic IP address for use in a VPC, you might be able +// to recover it. To recover an Elastic IP address that you released, specify +// it in the Address parameter. Note that you cannot recover an Elastic IP address +// that you released after it is allocated to another AWS account. +// +// For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -250,19 +255,18 @@ const opAllocateHosts = "AllocateHosts" // AllocateHostsRequest generates a "aws/request.Request" representing the // client's request for the AllocateHosts operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AllocateHosts for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AllocateHosts method directly -// instead. +// See AllocateHosts for more information on using the AllocateHosts +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AllocateHostsRequest method. // req, resp := client.AllocateHostsRequest(params) @@ -327,19 +331,18 @@ const opAssignIpv6Addresses = "AssignIpv6Addresses" // AssignIpv6AddressesRequest generates a "aws/request.Request" representing the // client's request for the AssignIpv6Addresses operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssignIpv6Addresses for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssignIpv6Addresses method directly -// instead. +// See AssignIpv6Addresses for more information on using the AssignIpv6Addresses +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssignIpv6AddressesRequest method. // req, resp := client.AssignIpv6AddressesRequest(params) @@ -409,19 +412,18 @@ const opAssignPrivateIpAddresses = "AssignPrivateIpAddresses" // AssignPrivateIpAddressesRequest generates a "aws/request.Request" representing the // client's request for the AssignPrivateIpAddresses operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssignPrivateIpAddresses for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssignPrivateIpAddresses method directly -// instead. +// See AssignPrivateIpAddresses for more information on using the AssignPrivateIpAddresses +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssignPrivateIpAddressesRequest method. // req, resp := client.AssignPrivateIpAddressesRequest(params) @@ -496,19 +498,18 @@ const opAssociateAddress = "AssociateAddress" // AssociateAddressRequest generates a "aws/request.Request" representing the // client's request for the AssociateAddress operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssociateAddress for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssociateAddress method directly -// instead. +// See AssociateAddress for more information on using the AssociateAddress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssociateAddressRequest method. // req, resp := client.AssociateAddressRequest(params) @@ -594,19 +595,18 @@ const opAssociateDhcpOptions = "AssociateDhcpOptions" // AssociateDhcpOptionsRequest generates a "aws/request.Request" representing the // client's request for the AssociateDhcpOptions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssociateDhcpOptions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssociateDhcpOptions method directly -// instead. +// See AssociateDhcpOptions for more information on using the AssociateDhcpOptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssociateDhcpOptionsRequest method. // req, resp := client.AssociateDhcpOptionsRequest(params) @@ -682,19 +682,18 @@ const opAssociateIamInstanceProfile = "AssociateIamInstanceProfile" // AssociateIamInstanceProfileRequest generates a "aws/request.Request" representing the // client's request for the AssociateIamInstanceProfile operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssociateIamInstanceProfile for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssociateIamInstanceProfile method directly -// instead. +// See AssociateIamInstanceProfile for more information on using the AssociateIamInstanceProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssociateIamInstanceProfileRequest method. // req, resp := client.AssociateIamInstanceProfileRequest(params) @@ -758,19 +757,18 @@ const opAssociateRouteTable = "AssociateRouteTable" // AssociateRouteTableRequest generates a "aws/request.Request" representing the // client's request for the AssociateRouteTable operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssociateRouteTable for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssociateRouteTable method directly -// instead. +// See AssociateRouteTable for more information on using the AssociateRouteTable +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssociateRouteTableRequest method. // req, resp := client.AssociateRouteTableRequest(params) @@ -840,19 +838,18 @@ const opAssociateSubnetCidrBlock = "AssociateSubnetCidrBlock" // AssociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the // client's request for the AssociateSubnetCidrBlock operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssociateSubnetCidrBlock for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssociateSubnetCidrBlock method directly -// instead. +// See AssociateSubnetCidrBlock for more information on using the AssociateSubnetCidrBlock +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssociateSubnetCidrBlockRequest method. // req, resp := client.AssociateSubnetCidrBlockRequest(params) @@ -917,19 +914,18 @@ const opAssociateVpcCidrBlock = "AssociateVpcCidrBlock" // AssociateVpcCidrBlockRequest generates a "aws/request.Request" representing the // client's request for the AssociateVpcCidrBlock operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssociateVpcCidrBlock for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssociateVpcCidrBlock method directly -// instead. +// See AssociateVpcCidrBlock for more information on using the AssociateVpcCidrBlock +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssociateVpcCidrBlockRequest method. // req, resp := client.AssociateVpcCidrBlockRequest(params) @@ -958,8 +954,13 @@ func (c *EC2) AssociateVpcCidrBlockRequest(input *AssociateVpcCidrBlockInput) (r // AssociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud. // -// Associates a CIDR block with your VPC. You can only associate a single Amazon-provided -// IPv6 CIDR block with your VPC. The IPv6 CIDR block size is fixed at /56. +// Associates a CIDR block with your VPC. You can associate a secondary IPv4 +// CIDR block, or you can associate an Amazon-provided IPv6 CIDR block. The +// IPv6 CIDR block size is fixed at /56. +// +// For more information about associating CIDR blocks with your VPC and applicable +// restrictions, see VPC and Subnet Sizing (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html#VPC_Sizing) +// in the Amazon Virtual Private Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -993,19 +994,18 @@ const opAttachClassicLinkVpc = "AttachClassicLinkVpc" // AttachClassicLinkVpcRequest generates a "aws/request.Request" representing the // client's request for the AttachClassicLinkVpc operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AttachClassicLinkVpc for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AttachClassicLinkVpc method directly -// instead. +// See AttachClassicLinkVpc for more information on using the AttachClassicLinkVpc +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AttachClassicLinkVpcRequest method. // req, resp := client.AttachClassicLinkVpcRequest(params) @@ -1079,19 +1079,18 @@ const opAttachInternetGateway = "AttachInternetGateway" // AttachInternetGatewayRequest generates a "aws/request.Request" representing the // client's request for the AttachInternetGateway operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AttachInternetGateway for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AttachInternetGateway method directly -// instead. +// See AttachInternetGateway for more information on using the AttachInternetGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AttachInternetGatewayRequest method. // req, resp := client.AttachInternetGatewayRequest(params) @@ -1158,19 +1157,18 @@ const opAttachNetworkInterface = "AttachNetworkInterface" // AttachNetworkInterfaceRequest generates a "aws/request.Request" representing the // client's request for the AttachNetworkInterface operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AttachNetworkInterface for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AttachNetworkInterface method directly -// instead. +// See AttachNetworkInterface for more information on using the AttachNetworkInterface +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AttachNetworkInterfaceRequest method. // req, resp := client.AttachNetworkInterfaceRequest(params) @@ -1233,19 +1231,18 @@ const opAttachVolume = "AttachVolume" // AttachVolumeRequest generates a "aws/request.Request" representing the // client's request for the AttachVolume operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AttachVolume for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AttachVolume method directly -// instead. +// See AttachVolume for more information on using the AttachVolume +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AttachVolumeRequest method. // req, resp := client.AttachVolumeRequest(params) @@ -1337,19 +1334,18 @@ const opAttachVpnGateway = "AttachVpnGateway" // AttachVpnGatewayRequest generates a "aws/request.Request" representing the // client's request for the AttachVpnGateway operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AttachVpnGateway for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AttachVpnGateway method directly -// instead. +// See AttachVpnGateway for more information on using the AttachVpnGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AttachVpnGatewayRequest method. // req, resp := client.AttachVpnGatewayRequest(params) @@ -1417,19 +1413,18 @@ const opAuthorizeSecurityGroupEgress = "AuthorizeSecurityGroupEgress" // AuthorizeSecurityGroupEgressRequest generates a "aws/request.Request" representing the // client's request for the AuthorizeSecurityGroupEgress operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AuthorizeSecurityGroupEgress for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AuthorizeSecurityGroupEgress method directly -// instead. +// See AuthorizeSecurityGroupEgress for more information on using the AuthorizeSecurityGroupEgress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AuthorizeSecurityGroupEgressRequest method. // req, resp := client.AuthorizeSecurityGroupEgressRequest(params) @@ -1473,7 +1468,8 @@ func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupE // range or a source group. For the TCP and UDP protocols, you must also specify // the destination port or port range. For the ICMP protocol, you must also // specify the ICMP type and code. You can use -1 for the type or code to mean -// all types or all codes. +// all types or all codes. You can optionally specify a description for the +// rule. // // Rule changes are propagated to affected instances as quickly as possible. // However, a small delay might occur. @@ -1510,19 +1506,18 @@ const opAuthorizeSecurityGroupIngress = "AuthorizeSecurityGroupIngress" // AuthorizeSecurityGroupIngressRequest generates a "aws/request.Request" representing the // client's request for the AuthorizeSecurityGroupIngress operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AuthorizeSecurityGroupIngress for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AuthorizeSecurityGroupIngress method directly -// instead. +// See AuthorizeSecurityGroupIngress for more information on using the AuthorizeSecurityGroupIngress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AuthorizeSecurityGroupIngressRequest method. // req, resp := client.AuthorizeSecurityGroupIngressRequest(params) @@ -1571,6 +1566,8 @@ func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroup // peer VPC in a VPC peering connection. For more information about VPC security // group limits, see Amazon VPC Limits (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html). // +// You can optionally specify a description for the security group rule. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -1603,19 +1600,18 @@ const opBundleInstance = "BundleInstance" // BundleInstanceRequest generates a "aws/request.Request" representing the // client's request for the BundleInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See BundleInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the BundleInstance method directly -// instead. +// See BundleInstance for more information on using the BundleInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the BundleInstanceRequest method. // req, resp := client.BundleInstanceRequest(params) @@ -1686,19 +1682,18 @@ const opCancelBundleTask = "CancelBundleTask" // CancelBundleTaskRequest generates a "aws/request.Request" representing the // client's request for the CancelBundleTask operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CancelBundleTask for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CancelBundleTask method directly -// instead. +// See CancelBundleTask for more information on using the CancelBundleTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CancelBundleTaskRequest method. // req, resp := client.CancelBundleTaskRequest(params) @@ -1761,19 +1756,18 @@ const opCancelConversionTask = "CancelConversionTask" // CancelConversionTaskRequest generates a "aws/request.Request" representing the // client's request for the CancelConversionTask operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CancelConversionTask for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CancelConversionTask method directly -// instead. +// See CancelConversionTask for more information on using the CancelConversionTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CancelConversionTaskRequest method. // req, resp := client.CancelConversionTaskRequest(params) @@ -1845,19 +1839,18 @@ const opCancelExportTask = "CancelExportTask" // CancelExportTaskRequest generates a "aws/request.Request" representing the // client's request for the CancelExportTask operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CancelExportTask for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CancelExportTask method directly -// instead. +// See CancelExportTask for more information on using the CancelExportTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CancelExportTaskRequest method. // req, resp := client.CancelExportTaskRequest(params) @@ -1925,19 +1918,18 @@ const opCancelImportTask = "CancelImportTask" // CancelImportTaskRequest generates a "aws/request.Request" representing the // client's request for the CancelImportTask operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CancelImportTask for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CancelImportTask method directly -// instead. +// See CancelImportTask for more information on using the CancelImportTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CancelImportTaskRequest method. // req, resp := client.CancelImportTaskRequest(params) @@ -2000,19 +1992,18 @@ const opCancelReservedInstancesListing = "CancelReservedInstancesListing" // CancelReservedInstancesListingRequest generates a "aws/request.Request" representing the // client's request for the CancelReservedInstancesListing operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CancelReservedInstancesListing for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CancelReservedInstancesListing method directly -// instead. +// See CancelReservedInstancesListing for more information on using the CancelReservedInstancesListing +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CancelReservedInstancesListingRequest method. // req, resp := client.CancelReservedInstancesListingRequest(params) @@ -2079,19 +2070,18 @@ const opCancelSpotFleetRequests = "CancelSpotFleetRequests" // CancelSpotFleetRequestsRequest generates a "aws/request.Request" representing the // client's request for the CancelSpotFleetRequests operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CancelSpotFleetRequests for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CancelSpotFleetRequests method directly -// instead. +// See CancelSpotFleetRequests for more information on using the CancelSpotFleetRequests +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CancelSpotFleetRequestsRequest method. // req, resp := client.CancelSpotFleetRequestsRequest(params) @@ -2161,19 +2151,18 @@ const opCancelSpotInstanceRequests = "CancelSpotInstanceRequests" // CancelSpotInstanceRequestsRequest generates a "aws/request.Request" representing the // client's request for the CancelSpotInstanceRequests operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CancelSpotInstanceRequests for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CancelSpotInstanceRequests method directly -// instead. +// See CancelSpotInstanceRequests for more information on using the CancelSpotInstanceRequests +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CancelSpotInstanceRequestsRequest method. // req, resp := client.CancelSpotInstanceRequestsRequest(params) @@ -2244,19 +2233,18 @@ const opConfirmProductInstance = "ConfirmProductInstance" // ConfirmProductInstanceRequest generates a "aws/request.Request" representing the // client's request for the ConfirmProductInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ConfirmProductInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ConfirmProductInstance method directly -// instead. +// See ConfirmProductInstance for more information on using the ConfirmProductInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ConfirmProductInstanceRequest method. // req, resp := client.ConfirmProductInstanceRequest(params) @@ -2318,23 +2306,96 @@ func (c *EC2) ConfirmProductInstanceWithContext(ctx aws.Context, input *ConfirmP return out, req.Send() } +const opCopyFpgaImage = "CopyFpgaImage" + +// CopyFpgaImageRequest generates a "aws/request.Request" representing the +// client's request for the CopyFpgaImage operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CopyFpgaImage for more information on using the CopyFpgaImage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CopyFpgaImageRequest method. +// req, resp := client.CopyFpgaImageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImage +func (c *EC2) CopyFpgaImageRequest(input *CopyFpgaImageInput) (req *request.Request, output *CopyFpgaImageOutput) { + op := &request.Operation{ + Name: opCopyFpgaImage, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CopyFpgaImageInput{} + } + + output = &CopyFpgaImageOutput{} + req = c.newRequest(op, input, output) + return +} + +// CopyFpgaImage API operation for Amazon Elastic Compute Cloud. +// +// Copies the specified Amazon FPGA Image (AFI) to the current region. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CopyFpgaImage for usage and error information. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImage +func (c *EC2) CopyFpgaImage(input *CopyFpgaImageInput) (*CopyFpgaImageOutput, error) { + req, out := c.CopyFpgaImageRequest(input) + return out, req.Send() +} + +// CopyFpgaImageWithContext is the same as CopyFpgaImage with the addition of +// the ability to pass a context and additional request options. +// +// See CopyFpgaImage for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) CopyFpgaImageWithContext(ctx aws.Context, input *CopyFpgaImageInput, opts ...request.Option) (*CopyFpgaImageOutput, error) { + req, out := c.CopyFpgaImageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCopyImage = "CopyImage" // CopyImageRequest generates a "aws/request.Request" representing the // client's request for the CopyImage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CopyImage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CopyImage method directly -// instead. +// See CopyImage for more information on using the CopyImage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CopyImageRequest method. // req, resp := client.CopyImageRequest(params) @@ -2403,19 +2464,18 @@ const opCopySnapshot = "CopySnapshot" // CopySnapshotRequest generates a "aws/request.Request" representing the // client's request for the CopySnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CopySnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CopySnapshot method directly -// instead. +// See CopySnapshot for more information on using the CopySnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CopySnapshotRequest method. // req, resp := client.CopySnapshotRequest(params) @@ -2497,19 +2557,18 @@ const opCreateCustomerGateway = "CreateCustomerGateway" // CreateCustomerGatewayRequest generates a "aws/request.Request" representing the // client's request for the CreateCustomerGateway operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateCustomerGateway for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateCustomerGateway method directly -// instead. +// See CreateCustomerGateway for more information on using the CreateCustomerGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateCustomerGatewayRequest method. // req, resp := client.CreateCustomerGatewayRequest(params) @@ -2592,23 +2651,108 @@ func (c *EC2) CreateCustomerGatewayWithContext(ctx aws.Context, input *CreateCus return out, req.Send() } +const opCreateDefaultVpc = "CreateDefaultVpc" + +// CreateDefaultVpcRequest generates a "aws/request.Request" representing the +// client's request for the CreateDefaultVpc operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateDefaultVpc for more information on using the CreateDefaultVpc +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateDefaultVpcRequest method. +// req, resp := client.CreateDefaultVpcRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc +func (c *EC2) CreateDefaultVpcRequest(input *CreateDefaultVpcInput) (req *request.Request, output *CreateDefaultVpcOutput) { + op := &request.Operation{ + Name: opCreateDefaultVpc, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateDefaultVpcInput{} + } + + output = &CreateDefaultVpcOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDefaultVpc API operation for Amazon Elastic Compute Cloud. +// +// Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet +// in each Availability Zone. For more information about the components of a +// default VPC, see Default VPC and Default Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html) +// in the Amazon Virtual Private Cloud User Guide. You cannot specify the components +// of the default VPC yourself. +// +// You can create a default VPC if you deleted your previous default VPC. You +// cannot have more than one default VPC per region. +// +// If your account supports EC2-Classic, you cannot use this action to create +// a default VPC in a region that supports EC2-Classic. If you want a default +// VPC in a region that supports EC2-Classic, see "I really want a default VPC +// for my existing EC2 account. Is that possible?" in the Default VPCs FAQ (http://aws.amazon.com/vpc/faqs/#Default_VPCs). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateDefaultVpc for usage and error information. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc +func (c *EC2) CreateDefaultVpc(input *CreateDefaultVpcInput) (*CreateDefaultVpcOutput, error) { + req, out := c.CreateDefaultVpcRequest(input) + return out, req.Send() +} + +// CreateDefaultVpcWithContext is the same as CreateDefaultVpc with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDefaultVpc for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) CreateDefaultVpcWithContext(ctx aws.Context, input *CreateDefaultVpcInput, opts ...request.Option) (*CreateDefaultVpcOutput, error) { + req, out := c.CreateDefaultVpcRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateDhcpOptions = "CreateDhcpOptions" // CreateDhcpOptionsRequest generates a "aws/request.Request" representing the // client's request for the CreateDhcpOptions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDhcpOptions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDhcpOptions method directly -// instead. +// See CreateDhcpOptions for more information on using the CreateDhcpOptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDhcpOptionsRequest method. // req, resp := client.CreateDhcpOptionsRequest(params) @@ -2710,19 +2854,18 @@ const opCreateEgressOnlyInternetGateway = "CreateEgressOnlyInternetGateway" // CreateEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the // client's request for the CreateEgressOnlyInternetGateway operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateEgressOnlyInternetGateway for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateEgressOnlyInternetGateway method directly -// instead. +// See CreateEgressOnlyInternetGateway for more information on using the CreateEgressOnlyInternetGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateEgressOnlyInternetGatewayRequest method. // req, resp := client.CreateEgressOnlyInternetGatewayRequest(params) @@ -2788,19 +2931,18 @@ const opCreateFlowLogs = "CreateFlowLogs" // CreateFlowLogsRequest generates a "aws/request.Request" representing the // client's request for the CreateFlowLogs operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateFlowLogs for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateFlowLogs method directly -// instead. +// See CreateFlowLogs for more information on using the CreateFlowLogs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateFlowLogsRequest method. // req, resp := client.CreateFlowLogsRequest(params) @@ -2872,19 +3014,18 @@ const opCreateFpgaImage = "CreateFpgaImage" // CreateFpgaImageRequest generates a "aws/request.Request" representing the // client's request for the CreateFpgaImage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateFpgaImage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateFpgaImage method directly -// instead. +// See CreateFpgaImage for more information on using the CreateFpgaImage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateFpgaImageRequest method. // req, resp := client.CreateFpgaImageRequest(params) @@ -2954,19 +3095,18 @@ const opCreateImage = "CreateImage" // CreateImageRequest generates a "aws/request.Request" representing the // client's request for the CreateImage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateImage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateImage method directly -// instead. +// See CreateImage for more information on using the CreateImage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateImageRequest method. // req, resp := client.CreateImageRequest(params) @@ -3038,19 +3178,18 @@ const opCreateInstanceExportTask = "CreateInstanceExportTask" // CreateInstanceExportTaskRequest generates a "aws/request.Request" representing the // client's request for the CreateInstanceExportTask operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateInstanceExportTask for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateInstanceExportTask method directly -// instead. +// See CreateInstanceExportTask for more information on using the CreateInstanceExportTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateInstanceExportTaskRequest method. // req, resp := client.CreateInstanceExportTaskRequest(params) @@ -3118,19 +3257,18 @@ const opCreateInternetGateway = "CreateInternetGateway" // CreateInternetGatewayRequest generates a "aws/request.Request" representing the // client's request for the CreateInternetGateway operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateInternetGateway for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateInternetGateway method directly -// instead. +// See CreateInternetGateway for more information on using the CreateInternetGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateInternetGatewayRequest method. // req, resp := client.CreateInternetGatewayRequest(params) @@ -3197,19 +3335,18 @@ const opCreateKeyPair = "CreateKeyPair" // CreateKeyPairRequest generates a "aws/request.Request" representing the // client's request for the CreateKeyPair operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateKeyPair for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateKeyPair method directly -// instead. +// See CreateKeyPair for more information on using the CreateKeyPair +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateKeyPairRequest method. // req, resp := client.CreateKeyPairRequest(params) @@ -3283,19 +3420,18 @@ const opCreateNatGateway = "CreateNatGateway" // CreateNatGatewayRequest generates a "aws/request.Request" representing the // client's request for the CreateNatGateway operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateNatGateway for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateNatGateway method directly -// instead. +// See CreateNatGateway for more information on using the CreateNatGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateNatGatewayRequest method. // req, resp := client.CreateNatGatewayRequest(params) @@ -3363,19 +3499,18 @@ const opCreateNetworkAcl = "CreateNetworkAcl" // CreateNetworkAclRequest generates a "aws/request.Request" representing the // client's request for the CreateNetworkAcl operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateNetworkAcl for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateNetworkAcl method directly -// instead. +// See CreateNetworkAcl for more information on using the CreateNetworkAcl +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateNetworkAclRequest method. // req, resp := client.CreateNetworkAclRequest(params) @@ -3442,19 +3577,18 @@ const opCreateNetworkAclEntry = "CreateNetworkAclEntry" // CreateNetworkAclEntryRequest generates a "aws/request.Request" representing the // client's request for the CreateNetworkAclEntry operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateNetworkAclEntry for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateNetworkAclEntry method directly -// instead. +// See CreateNetworkAclEntry for more information on using the CreateNetworkAclEntry +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateNetworkAclEntryRequest method. // req, resp := client.CreateNetworkAclEntryRequest(params) @@ -3535,19 +3669,18 @@ const opCreateNetworkInterface = "CreateNetworkInterface" // CreateNetworkInterfaceRequest generates a "aws/request.Request" representing the // client's request for the CreateNetworkInterface operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateNetworkInterface for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateNetworkInterface method directly -// instead. +// See CreateNetworkInterface for more information on using the CreateNetworkInterface +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateNetworkInterfaceRequest method. // req, resp := client.CreateNetworkInterfaceRequest(params) @@ -3614,19 +3747,18 @@ const opCreateNetworkInterfacePermission = "CreateNetworkInterfacePermission" // CreateNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the // client's request for the CreateNetworkInterfacePermission operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateNetworkInterfacePermission for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateNetworkInterfacePermission method directly -// instead. +// See CreateNetworkInterfacePermission for more information on using the CreateNetworkInterfacePermission +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateNetworkInterfacePermissionRequest method. // req, resp := client.CreateNetworkInterfacePermissionRequest(params) @@ -3693,19 +3825,18 @@ const opCreatePlacementGroup = "CreatePlacementGroup" // CreatePlacementGroupRequest generates a "aws/request.Request" representing the // client's request for the CreatePlacementGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreatePlacementGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreatePlacementGroup method directly -// instead. +// See CreatePlacementGroup for more information on using the CreatePlacementGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreatePlacementGroupRequest method. // req, resp := client.CreatePlacementGroupRequest(params) @@ -3775,19 +3906,18 @@ const opCreateReservedInstancesListing = "CreateReservedInstancesListing" // CreateReservedInstancesListingRequest generates a "aws/request.Request" representing the // client's request for the CreateReservedInstancesListing operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateReservedInstancesListing for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateReservedInstancesListing method directly -// instead. +// See CreateReservedInstancesListing for more information on using the CreateReservedInstancesListing +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateReservedInstancesListingRequest method. // req, resp := client.CreateReservedInstancesListingRequest(params) @@ -3873,19 +4003,18 @@ const opCreateRoute = "CreateRoute" // CreateRouteRequest generates a "aws/request.Request" representing the // client's request for the CreateRoute operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateRoute for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateRoute method directly -// instead. +// See CreateRoute for more information on using the CreateRoute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateRouteRequest method. // req, resp := client.CreateRouteRequest(params) @@ -3967,19 +4096,18 @@ const opCreateRouteTable = "CreateRouteTable" // CreateRouteTableRequest generates a "aws/request.Request" representing the // client's request for the CreateRouteTable operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateRouteTable for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateRouteTable method directly -// instead. +// See CreateRouteTable for more information on using the CreateRouteTable +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateRouteTableRequest method. // req, resp := client.CreateRouteTableRequest(params) @@ -4046,19 +4174,18 @@ const opCreateSecurityGroup = "CreateSecurityGroup" // CreateSecurityGroupRequest generates a "aws/request.Request" representing the // client's request for the CreateSecurityGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateSecurityGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateSecurityGroup method directly -// instead. +// See CreateSecurityGroup for more information on using the CreateSecurityGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateSecurityGroupRequest method. // req, resp := client.CreateSecurityGroupRequest(params) @@ -4147,19 +4274,18 @@ const opCreateSnapshot = "CreateSnapshot" // CreateSnapshotRequest generates a "aws/request.Request" representing the // client's request for the CreateSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateSnapshot method directly -// instead. +// See CreateSnapshot for more information on using the CreateSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateSnapshotRequest method. // req, resp := client.CreateSnapshotRequest(params) @@ -4249,19 +4375,18 @@ const opCreateSpotDatafeedSubscription = "CreateSpotDatafeedSubscription" // CreateSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the // client's request for the CreateSpotDatafeedSubscription operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateSpotDatafeedSubscription for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateSpotDatafeedSubscription method directly -// instead. +// See CreateSpotDatafeedSubscription for more information on using the CreateSpotDatafeedSubscription +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateSpotDatafeedSubscriptionRequest method. // req, resp := client.CreateSpotDatafeedSubscriptionRequest(params) @@ -4327,19 +4452,18 @@ const opCreateSubnet = "CreateSubnet" // CreateSubnetRequest generates a "aws/request.Request" representing the // client's request for the CreateSubnet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateSubnet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateSubnet method directly -// instead. +// See CreateSubnet for more information on using the CreateSubnet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateSubnetRequest method. // req, resp := client.CreateSubnetRequest(params) @@ -4370,14 +4494,13 @@ func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Reques // // Creates a subnet in an existing VPC. // -// When you create each subnet, you provide the VPC ID and the CIDR block you -// want for the subnet. After you create a subnet, you can't change its CIDR -// block. The subnet's IPv4 CIDR block can be the same as the VPC's IPv4 CIDR -// block (assuming you want only a single subnet in the VPC), or a subset of -// the VPC's IPv4 CIDR block. If you create more than one subnet in a VPC, the -// subnets' CIDR blocks must not overlap. The smallest IPv4 subnet (and VPC) -// you can create uses a /28 netmask (16 IPv4 addresses), and the largest uses -// a /16 netmask (65,536 IPv4 addresses). +// When you create each subnet, you provide the VPC ID and the IPv4 CIDR block +// you want for the subnet. After you create a subnet, you can't change its +// CIDR block. The size of the subnet's IPv4 CIDR block can be the same as a +// VPC's IPv4 CIDR block, or a subset of a VPC's IPv4 CIDR block. If you create +// more than one subnet in a VPC, the subnets' CIDR blocks must not overlap. +// The smallest IPv4 subnet (and VPC) you can create uses a /28 netmask (16 +// IPv4 addresses), and the largest uses a /16 netmask (65,536 IPv4 addresses). // // If you've associated an IPv6 CIDR block with your VPC, you can create a subnet // with an IPv6 CIDR block that uses a /64 prefix length. @@ -4429,19 +4552,18 @@ const opCreateTags = "CreateTags" // CreateTagsRequest generates a "aws/request.Request" representing the // client's request for the CreateTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateTags method directly -// instead. +// See CreateTags for more information on using the CreateTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateTagsRequest method. // req, resp := client.CreateTagsRequest(params) @@ -4514,19 +4636,18 @@ const opCreateVolume = "CreateVolume" // CreateVolumeRequest generates a "aws/request.Request" representing the // client's request for the CreateVolume operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateVolume for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateVolume method directly -// instead. +// See CreateVolume for more information on using the CreateVolume +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateVolumeRequest method. // req, resp := client.CreateVolumeRequest(params) @@ -4607,19 +4728,18 @@ const opCreateVpc = "CreateVpc" // CreateVpcRequest generates a "aws/request.Request" representing the // client's request for the CreateVpc operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateVpc for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateVpc method directly -// instead. +// See CreateVpc for more information on using the CreateVpc +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateVpcRequest method. // req, resp := client.CreateVpcRequest(params) @@ -4700,19 +4820,18 @@ const opCreateVpcEndpoint = "CreateVpcEndpoint" // CreateVpcEndpointRequest generates a "aws/request.Request" representing the // client's request for the CreateVpcEndpoint operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateVpcEndpoint for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateVpcEndpoint method directly -// instead. +// See CreateVpcEndpoint for more information on using the CreateVpcEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateVpcEndpointRequest method. // req, resp := client.CreateVpcEndpointRequest(params) @@ -4781,19 +4900,18 @@ const opCreateVpcPeeringConnection = "CreateVpcPeeringConnection" // CreateVpcPeeringConnectionRequest generates a "aws/request.Request" representing the // client's request for the CreateVpcPeeringConnection operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateVpcPeeringConnection for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateVpcPeeringConnection method directly -// instead. +// See CreateVpcPeeringConnection for more information on using the CreateVpcPeeringConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateVpcPeeringConnectionRequest method. // req, resp := client.CreateVpcPeeringConnectionRequest(params) @@ -4866,19 +4984,18 @@ const opCreateVpnConnection = "CreateVpnConnection" // CreateVpnConnectionRequest generates a "aws/request.Request" representing the // client's request for the CreateVpnConnection operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateVpnConnection for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateVpnConnection method directly -// instead. +// See CreateVpnConnection for more information on using the CreateVpnConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateVpnConnectionRequest method. // req, resp := client.CreateVpnConnectionRequest(params) @@ -4960,19 +5077,18 @@ const opCreateVpnConnectionRoute = "CreateVpnConnectionRoute" // CreateVpnConnectionRouteRequest generates a "aws/request.Request" representing the // client's request for the CreateVpnConnectionRoute operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateVpnConnectionRoute for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateVpnConnectionRoute method directly -// instead. +// See CreateVpnConnectionRoute for more information on using the CreateVpnConnectionRoute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateVpnConnectionRouteRequest method. // req, resp := client.CreateVpnConnectionRouteRequest(params) @@ -5044,19 +5160,18 @@ const opCreateVpnGateway = "CreateVpnGateway" // CreateVpnGatewayRequest generates a "aws/request.Request" representing the // client's request for the CreateVpnGateway operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateVpnGateway for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateVpnGateway method directly -// instead. +// See CreateVpnGateway for more information on using the CreateVpnGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateVpnGatewayRequest method. // req, resp := client.CreateVpnGatewayRequest(params) @@ -5125,19 +5240,18 @@ const opDeleteCustomerGateway = "DeleteCustomerGateway" // DeleteCustomerGatewayRequest generates a "aws/request.Request" representing the // client's request for the DeleteCustomerGateway operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteCustomerGateway for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteCustomerGateway method directly -// instead. +// See DeleteCustomerGateway for more information on using the DeleteCustomerGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteCustomerGatewayRequest method. // req, resp := client.DeleteCustomerGatewayRequest(params) @@ -5203,19 +5317,18 @@ const opDeleteDhcpOptions = "DeleteDhcpOptions" // DeleteDhcpOptionsRequest generates a "aws/request.Request" representing the // client's request for the DeleteDhcpOptions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDhcpOptions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDhcpOptions method directly -// instead. +// See DeleteDhcpOptions for more information on using the DeleteDhcpOptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDhcpOptionsRequest method. // req, resp := client.DeleteDhcpOptionsRequest(params) @@ -5283,19 +5396,18 @@ const opDeleteEgressOnlyInternetGateway = "DeleteEgressOnlyInternetGateway" // DeleteEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the // client's request for the DeleteEgressOnlyInternetGateway operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteEgressOnlyInternetGateway for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteEgressOnlyInternetGateway method directly -// instead. +// See DeleteEgressOnlyInternetGateway for more information on using the DeleteEgressOnlyInternetGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteEgressOnlyInternetGatewayRequest method. // req, resp := client.DeleteEgressOnlyInternetGatewayRequest(params) @@ -5358,19 +5470,18 @@ const opDeleteFlowLogs = "DeleteFlowLogs" // DeleteFlowLogsRequest generates a "aws/request.Request" representing the // client's request for the DeleteFlowLogs operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteFlowLogs for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteFlowLogs method directly -// instead. +// See DeleteFlowLogs for more information on using the DeleteFlowLogs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteFlowLogsRequest method. // req, resp := client.DeleteFlowLogsRequest(params) @@ -5429,23 +5540,96 @@ func (c *EC2) DeleteFlowLogsWithContext(ctx aws.Context, input *DeleteFlowLogsIn return out, req.Send() } +const opDeleteFpgaImage = "DeleteFpgaImage" + +// DeleteFpgaImageRequest generates a "aws/request.Request" representing the +// client's request for the DeleteFpgaImage operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteFpgaImage for more information on using the DeleteFpgaImage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteFpgaImageRequest method. +// req, resp := client.DeleteFpgaImageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImage +func (c *EC2) DeleteFpgaImageRequest(input *DeleteFpgaImageInput) (req *request.Request, output *DeleteFpgaImageOutput) { + op := &request.Operation{ + Name: opDeleteFpgaImage, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteFpgaImageInput{} + } + + output = &DeleteFpgaImageOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteFpgaImage API operation for Amazon Elastic Compute Cloud. +// +// Deletes the specified Amazon FPGA Image (AFI). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteFpgaImage for usage and error information. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImage +func (c *EC2) DeleteFpgaImage(input *DeleteFpgaImageInput) (*DeleteFpgaImageOutput, error) { + req, out := c.DeleteFpgaImageRequest(input) + return out, req.Send() +} + +// DeleteFpgaImageWithContext is the same as DeleteFpgaImage with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteFpgaImage for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DeleteFpgaImageWithContext(ctx aws.Context, input *DeleteFpgaImageInput, opts ...request.Option) (*DeleteFpgaImageOutput, error) { + req, out := c.DeleteFpgaImageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteInternetGateway = "DeleteInternetGateway" // DeleteInternetGatewayRequest generates a "aws/request.Request" representing the // client's request for the DeleteInternetGateway operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteInternetGateway for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteInternetGateway method directly -// instead. +// See DeleteInternetGateway for more information on using the DeleteInternetGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteInternetGatewayRequest method. // req, resp := client.DeleteInternetGatewayRequest(params) @@ -5511,19 +5695,18 @@ const opDeleteKeyPair = "DeleteKeyPair" // DeleteKeyPairRequest generates a "aws/request.Request" representing the // client's request for the DeleteKeyPair operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteKeyPair for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteKeyPair method directly -// instead. +// See DeleteKeyPair for more information on using the DeleteKeyPair +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteKeyPairRequest method. // req, resp := client.DeleteKeyPairRequest(params) @@ -5588,19 +5771,18 @@ const opDeleteNatGateway = "DeleteNatGateway" // DeleteNatGatewayRequest generates a "aws/request.Request" representing the // client's request for the DeleteNatGateway operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteNatGateway for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteNatGateway method directly -// instead. +// See DeleteNatGateway for more information on using the DeleteNatGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteNatGatewayRequest method. // req, resp := client.DeleteNatGatewayRequest(params) @@ -5665,19 +5847,18 @@ const opDeleteNetworkAcl = "DeleteNetworkAcl" // DeleteNetworkAclRequest generates a "aws/request.Request" representing the // client's request for the DeleteNetworkAcl operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteNetworkAcl for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteNetworkAcl method directly -// instead. +// See DeleteNetworkAcl for more information on using the DeleteNetworkAcl +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteNetworkAclRequest method. // req, resp := client.DeleteNetworkAclRequest(params) @@ -5743,19 +5924,18 @@ const opDeleteNetworkAclEntry = "DeleteNetworkAclEntry" // DeleteNetworkAclEntryRequest generates a "aws/request.Request" representing the // client's request for the DeleteNetworkAclEntry operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteNetworkAclEntry for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteNetworkAclEntry method directly -// instead. +// See DeleteNetworkAclEntry for more information on using the DeleteNetworkAclEntry +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteNetworkAclEntryRequest method. // req, resp := client.DeleteNetworkAclEntryRequest(params) @@ -5821,19 +6001,18 @@ const opDeleteNetworkInterface = "DeleteNetworkInterface" // DeleteNetworkInterfaceRequest generates a "aws/request.Request" representing the // client's request for the DeleteNetworkInterface operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteNetworkInterface for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteNetworkInterface method directly -// instead. +// See DeleteNetworkInterface for more information on using the DeleteNetworkInterface +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteNetworkInterfaceRequest method. // req, resp := client.DeleteNetworkInterfaceRequest(params) @@ -5899,19 +6078,18 @@ const opDeleteNetworkInterfacePermission = "DeleteNetworkInterfacePermission" // DeleteNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the // client's request for the DeleteNetworkInterfacePermission operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteNetworkInterfacePermission for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteNetworkInterfacePermission method directly -// instead. +// See DeleteNetworkInterfacePermission for more information on using the DeleteNetworkInterfacePermission +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteNetworkInterfacePermissionRequest method. // req, resp := client.DeleteNetworkInterfacePermissionRequest(params) @@ -5977,19 +6155,18 @@ const opDeletePlacementGroup = "DeletePlacementGroup" // DeletePlacementGroupRequest generates a "aws/request.Request" representing the // client's request for the DeletePlacementGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeletePlacementGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeletePlacementGroup method directly -// instead. +// See DeletePlacementGroup for more information on using the DeletePlacementGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeletePlacementGroupRequest method. // req, resp := client.DeletePlacementGroupRequest(params) @@ -6057,19 +6234,18 @@ const opDeleteRoute = "DeleteRoute" // DeleteRouteRequest generates a "aws/request.Request" representing the // client's request for the DeleteRoute operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteRoute for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteRoute method directly -// instead. +// See DeleteRoute for more information on using the DeleteRoute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteRouteRequest method. // req, resp := client.DeleteRouteRequest(params) @@ -6134,19 +6310,18 @@ const opDeleteRouteTable = "DeleteRouteTable" // DeleteRouteTableRequest generates a "aws/request.Request" representing the // client's request for the DeleteRouteTable operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteRouteTable for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteRouteTable method directly -// instead. +// See DeleteRouteTable for more information on using the DeleteRouteTable +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteRouteTableRequest method. // req, resp := client.DeleteRouteTableRequest(params) @@ -6213,19 +6388,18 @@ const opDeleteSecurityGroup = "DeleteSecurityGroup" // DeleteSecurityGroupRequest generates a "aws/request.Request" representing the // client's request for the DeleteSecurityGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSecurityGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSecurityGroup method directly -// instead. +// See DeleteSecurityGroup for more information on using the DeleteSecurityGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSecurityGroupRequest method. // req, resp := client.DeleteSecurityGroupRequest(params) @@ -6294,19 +6468,18 @@ const opDeleteSnapshot = "DeleteSnapshot" // DeleteSnapshotRequest generates a "aws/request.Request" representing the // client's request for the DeleteSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSnapshot method directly -// instead. +// See DeleteSnapshot for more information on using the DeleteSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSnapshotRequest method. // req, resp := client.DeleteSnapshotRequest(params) @@ -6385,19 +6558,18 @@ const opDeleteSpotDatafeedSubscription = "DeleteSpotDatafeedSubscription" // DeleteSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the // client's request for the DeleteSpotDatafeedSubscription operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSpotDatafeedSubscription for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSpotDatafeedSubscription method directly -// instead. +// See DeleteSpotDatafeedSubscription for more information on using the DeleteSpotDatafeedSubscription +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSpotDatafeedSubscriptionRequest method. // req, resp := client.DeleteSpotDatafeedSubscriptionRequest(params) @@ -6462,19 +6634,18 @@ const opDeleteSubnet = "DeleteSubnet" // DeleteSubnetRequest generates a "aws/request.Request" representing the // client's request for the DeleteSubnet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSubnet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSubnet method directly -// instead. +// See DeleteSubnet for more information on using the DeleteSubnet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSubnetRequest method. // req, resp := client.DeleteSubnetRequest(params) @@ -6540,19 +6711,18 @@ const opDeleteTags = "DeleteTags" // DeleteTagsRequest generates a "aws/request.Request" representing the // client's request for the DeleteTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteTags method directly -// instead. +// See DeleteTags for more information on using the DeleteTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteTagsRequest method. // req, resp := client.DeleteTagsRequest(params) @@ -6583,10 +6753,10 @@ func (c *EC2) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, o // DeleteTags API operation for Amazon Elastic Compute Cloud. // -// Deletes the specified set of tags from the specified set of resources. This -// call is designed to follow a DescribeTags request. +// Deletes the specified set of tags from the specified set of resources. // -// For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) +// To list the current tags, use DescribeTags. For more information about tags, +// see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -6621,19 +6791,18 @@ const opDeleteVolume = "DeleteVolume" // DeleteVolumeRequest generates a "aws/request.Request" representing the // client's request for the DeleteVolume operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteVolume for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteVolume method directly -// instead. +// See DeleteVolume for more information on using the DeleteVolume +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteVolumeRequest method. // req, resp := client.DeleteVolumeRequest(params) @@ -6704,19 +6873,18 @@ const opDeleteVpc = "DeleteVpc" // DeleteVpcRequest generates a "aws/request.Request" representing the // client's request for the DeleteVpc operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteVpc for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteVpc method directly -// instead. +// See DeleteVpc for more information on using the DeleteVpc +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteVpcRequest method. // req, resp := client.DeleteVpcRequest(params) @@ -6785,19 +6953,18 @@ const opDeleteVpcEndpoints = "DeleteVpcEndpoints" // DeleteVpcEndpointsRequest generates a "aws/request.Request" representing the // client's request for the DeleteVpcEndpoints operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteVpcEndpoints for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteVpcEndpoints method directly -// instead. +// See DeleteVpcEndpoints for more information on using the DeleteVpcEndpoints +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteVpcEndpointsRequest method. // req, resp := client.DeleteVpcEndpointsRequest(params) @@ -6861,19 +7028,18 @@ const opDeleteVpcPeeringConnection = "DeleteVpcPeeringConnection" // DeleteVpcPeeringConnectionRequest generates a "aws/request.Request" representing the // client's request for the DeleteVpcPeeringConnection operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteVpcPeeringConnection for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteVpcPeeringConnection method directly -// instead. +// See DeleteVpcPeeringConnection for more information on using the DeleteVpcPeeringConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteVpcPeeringConnectionRequest method. // req, resp := client.DeleteVpcPeeringConnectionRequest(params) @@ -6939,19 +7105,18 @@ const opDeleteVpnConnection = "DeleteVpnConnection" // DeleteVpnConnectionRequest generates a "aws/request.Request" representing the // client's request for the DeleteVpnConnection operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteVpnConnection for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteVpnConnection method directly -// instead. +// See DeleteVpnConnection for more information on using the DeleteVpnConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteVpnConnectionRequest method. // req, resp := client.DeleteVpnConnectionRequest(params) @@ -7025,19 +7190,18 @@ const opDeleteVpnConnectionRoute = "DeleteVpnConnectionRoute" // DeleteVpnConnectionRouteRequest generates a "aws/request.Request" representing the // client's request for the DeleteVpnConnectionRoute operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteVpnConnectionRoute for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteVpnConnectionRoute method directly -// instead. +// See DeleteVpnConnectionRoute for more information on using the DeleteVpnConnectionRoute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteVpnConnectionRouteRequest method. // req, resp := client.DeleteVpnConnectionRouteRequest(params) @@ -7105,19 +7269,18 @@ const opDeleteVpnGateway = "DeleteVpnGateway" // DeleteVpnGatewayRequest generates a "aws/request.Request" representing the // client's request for the DeleteVpnGateway operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteVpnGateway for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteVpnGateway method directly -// instead. +// See DeleteVpnGateway for more information on using the DeleteVpnGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteVpnGatewayRequest method. // req, resp := client.DeleteVpnGatewayRequest(params) @@ -7186,19 +7349,18 @@ const opDeregisterImage = "DeregisterImage" // DeregisterImageRequest generates a "aws/request.Request" representing the // client's request for the DeregisterImage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeregisterImage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeregisterImage method directly -// instead. +// See DeregisterImage for more information on using the DeregisterImage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeregisterImageRequest method. // req, resp := client.DeregisterImageRequest(params) @@ -7230,9 +7392,14 @@ func (c *EC2) DeregisterImageRequest(input *DeregisterImageInput) (req *request. // DeregisterImage API operation for Amazon Elastic Compute Cloud. // // Deregisters the specified AMI. After you deregister an AMI, it can't be used -// to launch new instances. +// to launch new instances; however, it doesn't affect any instances that you've +// already launched from the AMI. You'll continue to incur usage costs for those +// instances until you terminate them. // -// This command does not delete the AMI. +// When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot +// that was created for the root volume of the instance during the AMI creation +// process. When you deregister an instance store-backed AMI, it doesn't affect +// the files that you uploaded to Amazon S3 when you created the AMI. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -7266,19 +7433,18 @@ const opDescribeAccountAttributes = "DescribeAccountAttributes" // DescribeAccountAttributesRequest generates a "aws/request.Request" representing the // client's request for the DescribeAccountAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAccountAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAccountAttributes method directly -// instead. +// See DescribeAccountAttributes for more information on using the DescribeAccountAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAccountAttributesRequest method. // req, resp := client.DescribeAccountAttributesRequest(params) @@ -7359,19 +7525,18 @@ const opDescribeAddresses = "DescribeAddresses" // DescribeAddressesRequest generates a "aws/request.Request" representing the // client's request for the DescribeAddresses operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAddresses for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAddresses method directly -// instead. +// See DescribeAddresses for more information on using the DescribeAddresses +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAddressesRequest method. // req, resp := client.DescribeAddressesRequest(params) @@ -7438,19 +7603,18 @@ const opDescribeAvailabilityZones = "DescribeAvailabilityZones" // DescribeAvailabilityZonesRequest generates a "aws/request.Request" representing the // client's request for the DescribeAvailabilityZones operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAvailabilityZones for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAvailabilityZones method directly -// instead. +// See DescribeAvailabilityZones for more information on using the DescribeAvailabilityZones +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAvailabilityZonesRequest method. // req, resp := client.DescribeAvailabilityZonesRequest(params) @@ -7519,19 +7683,18 @@ const opDescribeBundleTasks = "DescribeBundleTasks" // DescribeBundleTasksRequest generates a "aws/request.Request" representing the // client's request for the DescribeBundleTasks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeBundleTasks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeBundleTasks method directly -// instead. +// See DescribeBundleTasks for more information on using the DescribeBundleTasks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeBundleTasksRequest method. // req, resp := client.DescribeBundleTasksRequest(params) @@ -7599,19 +7762,18 @@ const opDescribeClassicLinkInstances = "DescribeClassicLinkInstances" // DescribeClassicLinkInstancesRequest generates a "aws/request.Request" representing the // client's request for the DescribeClassicLinkInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeClassicLinkInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeClassicLinkInstances method directly -// instead. +// See DescribeClassicLinkInstances for more information on using the DescribeClassicLinkInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeClassicLinkInstancesRequest method. // req, resp := client.DescribeClassicLinkInstancesRequest(params) @@ -7677,19 +7839,18 @@ const opDescribeConversionTasks = "DescribeConversionTasks" // DescribeConversionTasksRequest generates a "aws/request.Request" representing the // client's request for the DescribeConversionTasks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeConversionTasks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeConversionTasks method directly -// instead. +// See DescribeConversionTasks for more information on using the DescribeConversionTasks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeConversionTasksRequest method. // req, resp := client.DescribeConversionTasksRequest(params) @@ -7756,19 +7917,18 @@ const opDescribeCustomerGateways = "DescribeCustomerGateways" // DescribeCustomerGatewaysRequest generates a "aws/request.Request" representing the // client's request for the DescribeCustomerGateways operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeCustomerGateways for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeCustomerGateways method directly -// instead. +// See DescribeCustomerGateways for more information on using the DescribeCustomerGateways +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeCustomerGatewaysRequest method. // req, resp := client.DescribeCustomerGatewaysRequest(params) @@ -7835,19 +7995,18 @@ const opDescribeDhcpOptions = "DescribeDhcpOptions" // DescribeDhcpOptionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeDhcpOptions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDhcpOptions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDhcpOptions method directly -// instead. +// See DescribeDhcpOptions for more information on using the DescribeDhcpOptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDhcpOptionsRequest method. // req, resp := client.DescribeDhcpOptionsRequest(params) @@ -7913,19 +8072,18 @@ const opDescribeEgressOnlyInternetGateways = "DescribeEgressOnlyInternetGateways // DescribeEgressOnlyInternetGatewaysRequest generates a "aws/request.Request" representing the // client's request for the DescribeEgressOnlyInternetGateways operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEgressOnlyInternetGateways for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEgressOnlyInternetGateways method directly -// instead. +// See DescribeEgressOnlyInternetGateways for more information on using the DescribeEgressOnlyInternetGateways +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEgressOnlyInternetGatewaysRequest method. // req, resp := client.DescribeEgressOnlyInternetGatewaysRequest(params) @@ -7984,23 +8142,97 @@ func (c *EC2) DescribeEgressOnlyInternetGatewaysWithContext(ctx aws.Context, inp return out, req.Send() } +const opDescribeElasticGpus = "DescribeElasticGpus" + +// DescribeElasticGpusRequest generates a "aws/request.Request" representing the +// client's request for the DescribeElasticGpus operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeElasticGpus for more information on using the DescribeElasticGpus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeElasticGpusRequest method. +// req, resp := client.DescribeElasticGpusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus +func (c *EC2) DescribeElasticGpusRequest(input *DescribeElasticGpusInput) (req *request.Request, output *DescribeElasticGpusOutput) { + op := &request.Operation{ + Name: opDescribeElasticGpus, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeElasticGpusInput{} + } + + output = &DescribeElasticGpusOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeElasticGpus API operation for Amazon Elastic Compute Cloud. +// +// Describes the Elastic GPUs associated with your instances. For more information +// about Elastic GPUs, see Amazon EC2 Elastic GPUs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-gpus.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeElasticGpus for usage and error information. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus +func (c *EC2) DescribeElasticGpus(input *DescribeElasticGpusInput) (*DescribeElasticGpusOutput, error) { + req, out := c.DescribeElasticGpusRequest(input) + return out, req.Send() +} + +// DescribeElasticGpusWithContext is the same as DescribeElasticGpus with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeElasticGpus for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeElasticGpusWithContext(ctx aws.Context, input *DescribeElasticGpusInput, opts ...request.Option) (*DescribeElasticGpusOutput, error) { + req, out := c.DescribeElasticGpusRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeExportTasks = "DescribeExportTasks" // DescribeExportTasksRequest generates a "aws/request.Request" representing the // client's request for the DescribeExportTasks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeExportTasks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeExportTasks method directly -// instead. +// See DescribeExportTasks for more information on using the DescribeExportTasks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeExportTasksRequest method. // req, resp := client.DescribeExportTasksRequest(params) @@ -8063,19 +8295,18 @@ const opDescribeFlowLogs = "DescribeFlowLogs" // DescribeFlowLogsRequest generates a "aws/request.Request" representing the // client's request for the DescribeFlowLogs operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeFlowLogs for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeFlowLogs method directly -// instead. +// See DescribeFlowLogs for more information on using the DescribeFlowLogs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeFlowLogsRequest method. // req, resp := client.DescribeFlowLogsRequest(params) @@ -8136,23 +8367,96 @@ func (c *EC2) DescribeFlowLogsWithContext(ctx aws.Context, input *DescribeFlowLo return out, req.Send() } +const opDescribeFpgaImageAttribute = "DescribeFpgaImageAttribute" + +// DescribeFpgaImageAttributeRequest generates a "aws/request.Request" representing the +// client's request for the DescribeFpgaImageAttribute operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeFpgaImageAttribute for more information on using the DescribeFpgaImageAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeFpgaImageAttributeRequest method. +// req, resp := client.DescribeFpgaImageAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttribute +func (c *EC2) DescribeFpgaImageAttributeRequest(input *DescribeFpgaImageAttributeInput) (req *request.Request, output *DescribeFpgaImageAttributeOutput) { + op := &request.Operation{ + Name: opDescribeFpgaImageAttribute, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeFpgaImageAttributeInput{} + } + + output = &DescribeFpgaImageAttributeOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeFpgaImageAttribute API operation for Amazon Elastic Compute Cloud. +// +// Describes the specified attribute of the specified Amazon FPGA Image (AFI). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeFpgaImageAttribute for usage and error information. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttribute +func (c *EC2) DescribeFpgaImageAttribute(input *DescribeFpgaImageAttributeInput) (*DescribeFpgaImageAttributeOutput, error) { + req, out := c.DescribeFpgaImageAttributeRequest(input) + return out, req.Send() +} + +// DescribeFpgaImageAttributeWithContext is the same as DescribeFpgaImageAttribute with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeFpgaImageAttribute for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeFpgaImageAttributeWithContext(ctx aws.Context, input *DescribeFpgaImageAttributeInput, opts ...request.Option) (*DescribeFpgaImageAttributeOutput, error) { + req, out := c.DescribeFpgaImageAttributeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeFpgaImages = "DescribeFpgaImages" // DescribeFpgaImagesRequest generates a "aws/request.Request" representing the // client's request for the DescribeFpgaImages operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeFpgaImages for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeFpgaImages method directly -// instead. +// See DescribeFpgaImages for more information on using the DescribeFpgaImages +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeFpgaImagesRequest method. // req, resp := client.DescribeFpgaImagesRequest(params) @@ -8217,19 +8521,18 @@ const opDescribeHostReservationOfferings = "DescribeHostReservationOfferings" // DescribeHostReservationOfferingsRequest generates a "aws/request.Request" representing the // client's request for the DescribeHostReservationOfferings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeHostReservationOfferings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeHostReservationOfferings method directly -// instead. +// See DescribeHostReservationOfferings for more information on using the DescribeHostReservationOfferings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeHostReservationOfferingsRequest method. // req, resp := client.DescribeHostReservationOfferingsRequest(params) @@ -8300,19 +8603,18 @@ const opDescribeHostReservations = "DescribeHostReservations" // DescribeHostReservationsRequest generates a "aws/request.Request" representing the // client's request for the DescribeHostReservations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeHostReservations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeHostReservations method directly -// instead. +// See DescribeHostReservations for more information on using the DescribeHostReservations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeHostReservationsRequest method. // req, resp := client.DescribeHostReservationsRequest(params) @@ -8376,19 +8678,18 @@ const opDescribeHosts = "DescribeHosts" // DescribeHostsRequest generates a "aws/request.Request" representing the // client's request for the DescribeHosts operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeHosts for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeHosts method directly -// instead. +// See DescribeHosts for more information on using the DescribeHosts +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeHostsRequest method. // req, resp := client.DescribeHostsRequest(params) @@ -8455,19 +8756,18 @@ const opDescribeIamInstanceProfileAssociations = "DescribeIamInstanceProfileAsso // DescribeIamInstanceProfileAssociationsRequest generates a "aws/request.Request" representing the // client's request for the DescribeIamInstanceProfileAssociations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeIamInstanceProfileAssociations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeIamInstanceProfileAssociations method directly -// instead. +// See DescribeIamInstanceProfileAssociations for more information on using the DescribeIamInstanceProfileAssociations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeIamInstanceProfileAssociationsRequest method. // req, resp := client.DescribeIamInstanceProfileAssociationsRequest(params) @@ -8530,19 +8830,18 @@ const opDescribeIdFormat = "DescribeIdFormat" // DescribeIdFormatRequest generates a "aws/request.Request" representing the // client's request for the DescribeIdFormat operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeIdFormat for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeIdFormat method directly -// instead. +// See DescribeIdFormat for more information on using the DescribeIdFormat +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeIdFormatRequest method. // req, resp := client.DescribeIdFormatRequest(params) @@ -8618,19 +8917,18 @@ const opDescribeIdentityIdFormat = "DescribeIdentityIdFormat" // DescribeIdentityIdFormatRequest generates a "aws/request.Request" representing the // client's request for the DescribeIdentityIdFormat operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeIdentityIdFormat for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeIdentityIdFormat method directly -// instead. +// See DescribeIdentityIdFormat for more information on using the DescribeIdentityIdFormat +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeIdentityIdFormatRequest method. // req, resp := client.DescribeIdentityIdFormatRequest(params) @@ -8704,19 +9002,18 @@ const opDescribeImageAttribute = "DescribeImageAttribute" // DescribeImageAttributeRequest generates a "aws/request.Request" representing the // client's request for the DescribeImageAttribute operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeImageAttribute for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeImageAttribute method directly -// instead. +// See DescribeImageAttribute for more information on using the DescribeImageAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeImageAttributeRequest method. // req, resp := client.DescribeImageAttributeRequest(params) @@ -8780,19 +9077,18 @@ const opDescribeImages = "DescribeImages" // DescribeImagesRequest generates a "aws/request.Request" representing the // client's request for the DescribeImages operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeImages for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeImages method directly -// instead. +// See DescribeImages for more information on using the DescribeImages +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeImagesRequest method. // req, resp := client.DescribeImagesRequest(params) @@ -8861,19 +9157,18 @@ const opDescribeImportImageTasks = "DescribeImportImageTasks" // DescribeImportImageTasksRequest generates a "aws/request.Request" representing the // client's request for the DescribeImportImageTasks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeImportImageTasks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeImportImageTasks method directly -// instead. +// See DescribeImportImageTasks for more information on using the DescribeImportImageTasks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeImportImageTasksRequest method. // req, resp := client.DescribeImportImageTasksRequest(params) @@ -8937,19 +9232,18 @@ const opDescribeImportSnapshotTasks = "DescribeImportSnapshotTasks" // DescribeImportSnapshotTasksRequest generates a "aws/request.Request" representing the // client's request for the DescribeImportSnapshotTasks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeImportSnapshotTasks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeImportSnapshotTasks method directly -// instead. +// See DescribeImportSnapshotTasks for more information on using the DescribeImportSnapshotTasks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeImportSnapshotTasksRequest method. // req, resp := client.DescribeImportSnapshotTasksRequest(params) @@ -9012,19 +9306,18 @@ const opDescribeInstanceAttribute = "DescribeInstanceAttribute" // DescribeInstanceAttributeRequest generates a "aws/request.Request" representing the // client's request for the DescribeInstanceAttribute operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeInstanceAttribute for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeInstanceAttribute method directly -// instead. +// See DescribeInstanceAttribute for more information on using the DescribeInstanceAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeInstanceAttributeRequest method. // req, resp := client.DescribeInstanceAttributeRequest(params) @@ -9091,19 +9384,18 @@ const opDescribeInstanceStatus = "DescribeInstanceStatus" // DescribeInstanceStatusRequest generates a "aws/request.Request" representing the // client's request for the DescribeInstanceStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeInstanceStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeInstanceStatus method directly -// instead. +// See DescribeInstanceStatus for more information on using the DescribeInstanceStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeInstanceStatusRequest method. // req, resp := client.DescribeInstanceStatusRequest(params) @@ -9243,19 +9535,18 @@ const opDescribeInstances = "DescribeInstances" // DescribeInstancesRequest generates a "aws/request.Request" representing the // client's request for the DescribeInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeInstances method directly -// instead. +// See DescribeInstances for more information on using the DescribeInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeInstancesRequest method. // req, resp := client.DescribeInstancesRequest(params) @@ -9389,19 +9680,18 @@ const opDescribeInternetGateways = "DescribeInternetGateways" // DescribeInternetGatewaysRequest generates a "aws/request.Request" representing the // client's request for the DescribeInternetGateways operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeInternetGateways for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeInternetGateways method directly -// instead. +// See DescribeInternetGateways for more information on using the DescribeInternetGateways +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeInternetGatewaysRequest method. // req, resp := client.DescribeInternetGatewaysRequest(params) @@ -9464,19 +9754,18 @@ const opDescribeKeyPairs = "DescribeKeyPairs" // DescribeKeyPairsRequest generates a "aws/request.Request" representing the // client's request for the DescribeKeyPairs operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeKeyPairs for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeKeyPairs method directly -// instead. +// See DescribeKeyPairs for more information on using the DescribeKeyPairs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeKeyPairsRequest method. // req, resp := client.DescribeKeyPairsRequest(params) @@ -9542,19 +9831,18 @@ const opDescribeMovingAddresses = "DescribeMovingAddresses" // DescribeMovingAddressesRequest generates a "aws/request.Request" representing the // client's request for the DescribeMovingAddresses operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeMovingAddresses for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeMovingAddresses method directly -// instead. +// See DescribeMovingAddresses for more information on using the DescribeMovingAddresses +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeMovingAddressesRequest method. // req, resp := client.DescribeMovingAddressesRequest(params) @@ -9619,19 +9907,18 @@ const opDescribeNatGateways = "DescribeNatGateways" // DescribeNatGatewaysRequest generates a "aws/request.Request" representing the // client's request for the DescribeNatGateways operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeNatGateways for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeNatGateways method directly -// instead. +// See DescribeNatGateways for more information on using the DescribeNatGateways +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeNatGatewaysRequest method. // req, resp := client.DescribeNatGatewaysRequest(params) @@ -9750,19 +10037,18 @@ const opDescribeNetworkAcls = "DescribeNetworkAcls" // DescribeNetworkAclsRequest generates a "aws/request.Request" representing the // client's request for the DescribeNetworkAcls operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeNetworkAcls for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeNetworkAcls method directly -// instead. +// See DescribeNetworkAcls for more information on using the DescribeNetworkAcls +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeNetworkAclsRequest method. // req, resp := client.DescribeNetworkAclsRequest(params) @@ -9828,19 +10114,18 @@ const opDescribeNetworkInterfaceAttribute = "DescribeNetworkInterfaceAttribute" // DescribeNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the // client's request for the DescribeNetworkInterfaceAttribute operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeNetworkInterfaceAttribute for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeNetworkInterfaceAttribute method directly -// instead. +// See DescribeNetworkInterfaceAttribute for more information on using the DescribeNetworkInterfaceAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeNetworkInterfaceAttributeRequest method. // req, resp := client.DescribeNetworkInterfaceAttributeRequest(params) @@ -9904,19 +10189,18 @@ const opDescribeNetworkInterfacePermissions = "DescribeNetworkInterfacePermissio // DescribeNetworkInterfacePermissionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeNetworkInterfacePermissions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeNetworkInterfacePermissions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeNetworkInterfacePermissions method directly -// instead. +// See DescribeNetworkInterfacePermissions for more information on using the DescribeNetworkInterfacePermissions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeNetworkInterfacePermissionsRequest method. // req, resp := client.DescribeNetworkInterfacePermissionsRequest(params) @@ -9979,19 +10263,18 @@ const opDescribeNetworkInterfaces = "DescribeNetworkInterfaces" // DescribeNetworkInterfacesRequest generates a "aws/request.Request" representing the // client's request for the DescribeNetworkInterfaces operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeNetworkInterfaces for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeNetworkInterfaces method directly -// instead. +// See DescribeNetworkInterfaces for more information on using the DescribeNetworkInterfaces +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeNetworkInterfacesRequest method. // req, resp := client.DescribeNetworkInterfacesRequest(params) @@ -10054,19 +10337,18 @@ const opDescribePlacementGroups = "DescribePlacementGroups" // DescribePlacementGroupsRequest generates a "aws/request.Request" representing the // client's request for the DescribePlacementGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribePlacementGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribePlacementGroups method directly -// instead. +// See DescribePlacementGroups for more information on using the DescribePlacementGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribePlacementGroupsRequest method. // req, resp := client.DescribePlacementGroupsRequest(params) @@ -10131,19 +10413,18 @@ const opDescribePrefixLists = "DescribePrefixLists" // DescribePrefixListsRequest generates a "aws/request.Request" representing the // client's request for the DescribePrefixLists operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribePrefixLists for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribePrefixLists method directly -// instead. +// See DescribePrefixLists for more information on using the DescribePrefixLists +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribePrefixListsRequest method. // req, resp := client.DescribePrefixListsRequest(params) @@ -10210,19 +10491,18 @@ const opDescribeRegions = "DescribeRegions" // DescribeRegionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeRegions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeRegions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeRegions method directly -// instead. +// See DescribeRegions for more information on using the DescribeRegions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeRegionsRequest method. // req, resp := client.DescribeRegionsRequest(params) @@ -10288,19 +10568,18 @@ const opDescribeReservedInstances = "DescribeReservedInstances" // DescribeReservedInstancesRequest generates a "aws/request.Request" representing the // client's request for the DescribeReservedInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeReservedInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeReservedInstances method directly -// instead. +// See DescribeReservedInstances for more information on using the DescribeReservedInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeReservedInstancesRequest method. // req, resp := client.DescribeReservedInstancesRequest(params) @@ -10366,19 +10645,18 @@ const opDescribeReservedInstancesListings = "DescribeReservedInstancesListings" // DescribeReservedInstancesListingsRequest generates a "aws/request.Request" representing the // client's request for the DescribeReservedInstancesListings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeReservedInstancesListings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeReservedInstancesListings method directly -// instead. +// See DescribeReservedInstancesListings for more information on using the DescribeReservedInstancesListings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeReservedInstancesListingsRequest method. // req, resp := client.DescribeReservedInstancesListingsRequest(params) @@ -10462,19 +10740,18 @@ const opDescribeReservedInstancesModifications = "DescribeReservedInstancesModif // DescribeReservedInstancesModificationsRequest generates a "aws/request.Request" representing the // client's request for the DescribeReservedInstancesModifications operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeReservedInstancesModifications for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeReservedInstancesModifications method directly -// instead. +// See DescribeReservedInstancesModifications for more information on using the DescribeReservedInstancesModifications +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeReservedInstancesModificationsRequest method. // req, resp := client.DescribeReservedInstancesModificationsRequest(params) @@ -10599,19 +10876,18 @@ const opDescribeReservedInstancesOfferings = "DescribeReservedInstancesOfferings // DescribeReservedInstancesOfferingsRequest generates a "aws/request.Request" representing the // client's request for the DescribeReservedInstancesOfferings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeReservedInstancesOfferings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeReservedInstancesOfferings method directly -// instead. +// See DescribeReservedInstancesOfferings for more information on using the DescribeReservedInstancesOfferings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeReservedInstancesOfferingsRequest method. // req, resp := client.DescribeReservedInstancesOfferingsRequest(params) @@ -10741,19 +11017,18 @@ const opDescribeRouteTables = "DescribeRouteTables" // DescribeRouteTablesRequest generates a "aws/request.Request" representing the // client's request for the DescribeRouteTables operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeRouteTables for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeRouteTables method directly -// instead. +// See DescribeRouteTables for more information on using the DescribeRouteTables +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeRouteTablesRequest method. // req, resp := client.DescribeRouteTablesRequest(params) @@ -10824,19 +11099,18 @@ const opDescribeScheduledInstanceAvailability = "DescribeScheduledInstanceAvaila // DescribeScheduledInstanceAvailabilityRequest generates a "aws/request.Request" representing the // client's request for the DescribeScheduledInstanceAvailability operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeScheduledInstanceAvailability for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeScheduledInstanceAvailability method directly -// instead. +// See DescribeScheduledInstanceAvailability for more information on using the DescribeScheduledInstanceAvailability +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeScheduledInstanceAvailabilityRequest method. // req, resp := client.DescribeScheduledInstanceAvailabilityRequest(params) @@ -10907,19 +11181,18 @@ const opDescribeScheduledInstances = "DescribeScheduledInstances" // DescribeScheduledInstancesRequest generates a "aws/request.Request" representing the // client's request for the DescribeScheduledInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeScheduledInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeScheduledInstances method directly -// instead. +// See DescribeScheduledInstances for more information on using the DescribeScheduledInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeScheduledInstancesRequest method. // req, resp := client.DescribeScheduledInstancesRequest(params) @@ -10982,19 +11255,18 @@ const opDescribeSecurityGroupReferences = "DescribeSecurityGroupReferences" // DescribeSecurityGroupReferencesRequest generates a "aws/request.Request" representing the // client's request for the DescribeSecurityGroupReferences operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSecurityGroupReferences for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSecurityGroupReferences method directly -// instead. +// See DescribeSecurityGroupReferences for more information on using the DescribeSecurityGroupReferences +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSecurityGroupReferencesRequest method. // req, resp := client.DescribeSecurityGroupReferencesRequest(params) @@ -11058,19 +11330,18 @@ const opDescribeSecurityGroups = "DescribeSecurityGroups" // DescribeSecurityGroupsRequest generates a "aws/request.Request" representing the // client's request for the DescribeSecurityGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSecurityGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSecurityGroups method directly -// instead. +// See DescribeSecurityGroups for more information on using the DescribeSecurityGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSecurityGroupsRequest method. // req, resp := client.DescribeSecurityGroupsRequest(params) @@ -11140,19 +11411,18 @@ const opDescribeSnapshotAttribute = "DescribeSnapshotAttribute" // DescribeSnapshotAttributeRequest generates a "aws/request.Request" representing the // client's request for the DescribeSnapshotAttribute operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSnapshotAttribute for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSnapshotAttribute method directly -// instead. +// See DescribeSnapshotAttribute for more information on using the DescribeSnapshotAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSnapshotAttributeRequest method. // req, resp := client.DescribeSnapshotAttributeRequest(params) @@ -11219,19 +11489,18 @@ const opDescribeSnapshots = "DescribeSnapshots" // DescribeSnapshotsRequest generates a "aws/request.Request" representing the // client's request for the DescribeSnapshots operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSnapshots for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSnapshots method directly -// instead. +// See DescribeSnapshots for more information on using the DescribeSnapshots +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSnapshotsRequest method. // req, resp := client.DescribeSnapshotsRequest(params) @@ -11395,19 +11664,18 @@ const opDescribeSpotDatafeedSubscription = "DescribeSpotDatafeedSubscription" // DescribeSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the // client's request for the DescribeSpotDatafeedSubscription operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSpotDatafeedSubscription for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSpotDatafeedSubscription method directly -// instead. +// See DescribeSpotDatafeedSubscription for more information on using the DescribeSpotDatafeedSubscription +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSpotDatafeedSubscriptionRequest method. // req, resp := client.DescribeSpotDatafeedSubscriptionRequest(params) @@ -11472,19 +11740,18 @@ const opDescribeSpotFleetInstances = "DescribeSpotFleetInstances" // DescribeSpotFleetInstancesRequest generates a "aws/request.Request" representing the // client's request for the DescribeSpotFleetInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSpotFleetInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSpotFleetInstances method directly -// instead. +// See DescribeSpotFleetInstances for more information on using the DescribeSpotFleetInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSpotFleetInstancesRequest method. // req, resp := client.DescribeSpotFleetInstancesRequest(params) @@ -11547,19 +11814,18 @@ const opDescribeSpotFleetRequestHistory = "DescribeSpotFleetRequestHistory" // DescribeSpotFleetRequestHistoryRequest generates a "aws/request.Request" representing the // client's request for the DescribeSpotFleetRequestHistory operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSpotFleetRequestHistory for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSpotFleetRequestHistory method directly -// instead. +// See DescribeSpotFleetRequestHistory for more information on using the DescribeSpotFleetRequestHistory +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSpotFleetRequestHistoryRequest method. // req, resp := client.DescribeSpotFleetRequestHistoryRequest(params) @@ -11627,19 +11893,18 @@ const opDescribeSpotFleetRequests = "DescribeSpotFleetRequests" // DescribeSpotFleetRequestsRequest generates a "aws/request.Request" representing the // client's request for the DescribeSpotFleetRequests operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSpotFleetRequests for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSpotFleetRequests method directly -// instead. +// See DescribeSpotFleetRequests for more information on using the DescribeSpotFleetRequests +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSpotFleetRequestsRequest method. // req, resp := client.DescribeSpotFleetRequestsRequest(params) @@ -11761,19 +12026,18 @@ const opDescribeSpotInstanceRequests = "DescribeSpotInstanceRequests" // DescribeSpotInstanceRequestsRequest generates a "aws/request.Request" representing the // client's request for the DescribeSpotInstanceRequests operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSpotInstanceRequests for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSpotInstanceRequests method directly -// instead. +// See DescribeSpotInstanceRequests for more information on using the DescribeSpotInstanceRequests +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSpotInstanceRequestsRequest method. // req, resp := client.DescribeSpotInstanceRequestsRequest(params) @@ -11850,19 +12114,18 @@ const opDescribeSpotPriceHistory = "DescribeSpotPriceHistory" // DescribeSpotPriceHistoryRequest generates a "aws/request.Request" representing the // client's request for the DescribeSpotPriceHistory operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSpotPriceHistory for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSpotPriceHistory method directly -// instead. +// See DescribeSpotPriceHistory for more information on using the DescribeSpotPriceHistory +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSpotPriceHistoryRequest method. // req, resp := client.DescribeSpotPriceHistoryRequest(params) @@ -11988,19 +12251,18 @@ const opDescribeStaleSecurityGroups = "DescribeStaleSecurityGroups" // DescribeStaleSecurityGroupsRequest generates a "aws/request.Request" representing the // client's request for the DescribeStaleSecurityGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeStaleSecurityGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeStaleSecurityGroups method directly -// instead. +// See DescribeStaleSecurityGroups for more information on using the DescribeStaleSecurityGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeStaleSecurityGroupsRequest method. // req, resp := client.DescribeStaleSecurityGroupsRequest(params) @@ -12066,19 +12328,18 @@ const opDescribeSubnets = "DescribeSubnets" // DescribeSubnetsRequest generates a "aws/request.Request" representing the // client's request for the DescribeSubnets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSubnets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSubnets method directly -// instead. +// See DescribeSubnets for more information on using the DescribeSubnets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSubnetsRequest method. // req, resp := client.DescribeSubnetsRequest(params) @@ -12144,19 +12405,18 @@ const opDescribeTags = "DescribeTags" // DescribeTagsRequest generates a "aws/request.Request" representing the // client's request for the DescribeTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTags method directly -// instead. +// See DescribeTags for more information on using the DescribeTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTagsRequest method. // req, resp := client.DescribeTagsRequest(params) @@ -12278,19 +12538,18 @@ const opDescribeVolumeAttribute = "DescribeVolumeAttribute" // DescribeVolumeAttributeRequest generates a "aws/request.Request" representing the // client's request for the DescribeVolumeAttribute operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeVolumeAttribute for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeVolumeAttribute method directly -// instead. +// See DescribeVolumeAttribute for more information on using the DescribeVolumeAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeVolumeAttributeRequest method. // req, resp := client.DescribeVolumeAttributeRequest(params) @@ -12357,19 +12616,18 @@ const opDescribeVolumeStatus = "DescribeVolumeStatus" // DescribeVolumeStatusRequest generates a "aws/request.Request" representing the // client's request for the DescribeVolumeStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeVolumeStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeVolumeStatus method directly -// instead. +// See DescribeVolumeStatus for more information on using the DescribeVolumeStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeVolumeStatusRequest method. // req, resp := client.DescribeVolumeStatusRequest(params) @@ -12522,19 +12780,18 @@ const opDescribeVolumes = "DescribeVolumes" // DescribeVolumesRequest generates a "aws/request.Request" representing the // client's request for the DescribeVolumes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeVolumes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeVolumes method directly -// instead. +// See DescribeVolumes for more information on using the DescribeVolumes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeVolumesRequest method. // req, resp := client.DescribeVolumesRequest(params) @@ -12663,19 +12920,18 @@ const opDescribeVolumesModifications = "DescribeVolumesModifications" // DescribeVolumesModificationsRequest generates a "aws/request.Request" representing the // client's request for the DescribeVolumesModifications operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeVolumesModifications for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeVolumesModifications method directly -// instead. +// See DescribeVolumesModifications for more information on using the DescribeVolumesModifications +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeVolumesModificationsRequest method. // req, resp := client.DescribeVolumesModificationsRequest(params) @@ -12750,19 +13006,18 @@ const opDescribeVpcAttribute = "DescribeVpcAttribute" // DescribeVpcAttributeRequest generates a "aws/request.Request" representing the // client's request for the DescribeVpcAttribute operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeVpcAttribute for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeVpcAttribute method directly -// instead. +// See DescribeVpcAttribute for more information on using the DescribeVpcAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeVpcAttributeRequest method. // req, resp := client.DescribeVpcAttributeRequest(params) @@ -12826,19 +13081,18 @@ const opDescribeVpcClassicLink = "DescribeVpcClassicLink" // DescribeVpcClassicLinkRequest generates a "aws/request.Request" representing the // client's request for the DescribeVpcClassicLink operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeVpcClassicLink for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeVpcClassicLink method directly -// instead. +// See DescribeVpcClassicLink for more information on using the DescribeVpcClassicLink +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeVpcClassicLinkRequest method. // req, resp := client.DescribeVpcClassicLinkRequest(params) @@ -12901,19 +13155,18 @@ const opDescribeVpcClassicLinkDnsSupport = "DescribeVpcClassicLinkDnsSupport" // DescribeVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the // client's request for the DescribeVpcClassicLinkDnsSupport operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeVpcClassicLinkDnsSupport for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeVpcClassicLinkDnsSupport method directly -// instead. +// See DescribeVpcClassicLinkDnsSupport for more information on using the DescribeVpcClassicLinkDnsSupport +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeVpcClassicLinkDnsSupportRequest method. // req, resp := client.DescribeVpcClassicLinkDnsSupportRequest(params) @@ -12982,19 +13235,18 @@ const opDescribeVpcEndpointServices = "DescribeVpcEndpointServices" // DescribeVpcEndpointServicesRequest generates a "aws/request.Request" representing the // client's request for the DescribeVpcEndpointServices operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeVpcEndpointServices for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeVpcEndpointServices method directly -// instead. +// See DescribeVpcEndpointServices for more information on using the DescribeVpcEndpointServices +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeVpcEndpointServicesRequest method. // req, resp := client.DescribeVpcEndpointServicesRequest(params) @@ -13058,19 +13310,18 @@ const opDescribeVpcEndpoints = "DescribeVpcEndpoints" // DescribeVpcEndpointsRequest generates a "aws/request.Request" representing the // client's request for the DescribeVpcEndpoints operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeVpcEndpoints for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeVpcEndpoints method directly -// instead. +// See DescribeVpcEndpoints for more information on using the DescribeVpcEndpoints +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeVpcEndpointsRequest method. // req, resp := client.DescribeVpcEndpointsRequest(params) @@ -13133,19 +13384,18 @@ const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections" // DescribeVpcPeeringConnectionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeVpcPeeringConnections operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeVpcPeeringConnections for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeVpcPeeringConnections method directly -// instead. +// See DescribeVpcPeeringConnections for more information on using the DescribeVpcPeeringConnections +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeVpcPeeringConnectionsRequest method. // req, resp := client.DescribeVpcPeeringConnectionsRequest(params) @@ -13208,19 +13458,18 @@ const opDescribeVpcs = "DescribeVpcs" // DescribeVpcsRequest generates a "aws/request.Request" representing the // client's request for the DescribeVpcs operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeVpcs for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeVpcs method directly -// instead. +// See DescribeVpcs for more information on using the DescribeVpcs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeVpcsRequest method. // req, resp := client.DescribeVpcsRequest(params) @@ -13283,19 +13532,18 @@ const opDescribeVpnConnections = "DescribeVpnConnections" // DescribeVpnConnectionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeVpnConnections operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeVpnConnections for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeVpnConnections method directly -// instead. +// See DescribeVpnConnections for more information on using the DescribeVpnConnections +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeVpnConnectionsRequest method. // req, resp := client.DescribeVpnConnectionsRequest(params) @@ -13362,19 +13610,18 @@ const opDescribeVpnGateways = "DescribeVpnGateways" // DescribeVpnGatewaysRequest generates a "aws/request.Request" representing the // client's request for the DescribeVpnGateways operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeVpnGateways for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeVpnGateways method directly -// instead. +// See DescribeVpnGateways for more information on using the DescribeVpnGateways +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeVpnGatewaysRequest method. // req, resp := client.DescribeVpnGatewaysRequest(params) @@ -13441,19 +13688,18 @@ const opDetachClassicLinkVpc = "DetachClassicLinkVpc" // DetachClassicLinkVpcRequest generates a "aws/request.Request" representing the // client's request for the DetachClassicLinkVpc operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DetachClassicLinkVpc for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DetachClassicLinkVpc method directly -// instead. +// See DetachClassicLinkVpc for more information on using the DetachClassicLinkVpc +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DetachClassicLinkVpcRequest method. // req, resp := client.DetachClassicLinkVpcRequest(params) @@ -13518,19 +13764,18 @@ const opDetachInternetGateway = "DetachInternetGateway" // DetachInternetGatewayRequest generates a "aws/request.Request" representing the // client's request for the DetachInternetGateway operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DetachInternetGateway for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DetachInternetGateway method directly -// instead. +// See DetachInternetGateway for more information on using the DetachInternetGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DetachInternetGatewayRequest method. // req, resp := client.DetachInternetGatewayRequest(params) @@ -13597,19 +13842,18 @@ const opDetachNetworkInterface = "DetachNetworkInterface" // DetachNetworkInterfaceRequest generates a "aws/request.Request" representing the // client's request for the DetachNetworkInterface operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DetachNetworkInterface for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DetachNetworkInterface method directly -// instead. +// See DetachNetworkInterface for more information on using the DetachNetworkInterface +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DetachNetworkInterfaceRequest method. // req, resp := client.DetachNetworkInterfaceRequest(params) @@ -13674,19 +13918,18 @@ const opDetachVolume = "DetachVolume" // DetachVolumeRequest generates a "aws/request.Request" representing the // client's request for the DetachVolume operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DetachVolume for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DetachVolume method directly -// instead. +// See DetachVolume for more information on using the DetachVolume +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DetachVolumeRequest method. // req, resp := client.DetachVolumeRequest(params) @@ -13762,19 +14005,18 @@ const opDetachVpnGateway = "DetachVpnGateway" // DetachVpnGatewayRequest generates a "aws/request.Request" representing the // client's request for the DetachVpnGateway operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DetachVpnGateway for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DetachVpnGateway method directly -// instead. +// See DetachVpnGateway for more information on using the DetachVpnGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DetachVpnGatewayRequest method. // req, resp := client.DetachVpnGatewayRequest(params) @@ -13846,19 +14088,18 @@ const opDisableVgwRoutePropagation = "DisableVgwRoutePropagation" // DisableVgwRoutePropagationRequest generates a "aws/request.Request" representing the // client's request for the DisableVgwRoutePropagation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisableVgwRoutePropagation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisableVgwRoutePropagation method directly -// instead. +// See DisableVgwRoutePropagation for more information on using the DisableVgwRoutePropagation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisableVgwRoutePropagationRequest method. // req, resp := client.DisableVgwRoutePropagationRequest(params) @@ -13924,19 +14165,18 @@ const opDisableVpcClassicLink = "DisableVpcClassicLink" // DisableVpcClassicLinkRequest generates a "aws/request.Request" representing the // client's request for the DisableVpcClassicLink operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisableVpcClassicLink for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisableVpcClassicLink method directly -// instead. +// See DisableVpcClassicLink for more information on using the DisableVpcClassicLink +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisableVpcClassicLinkRequest method. // req, resp := client.DisableVpcClassicLinkRequest(params) @@ -14000,19 +14240,18 @@ const opDisableVpcClassicLinkDnsSupport = "DisableVpcClassicLinkDnsSupport" // DisableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the // client's request for the DisableVpcClassicLinkDnsSupport operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisableVpcClassicLinkDnsSupport for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisableVpcClassicLinkDnsSupport method directly -// instead. +// See DisableVpcClassicLinkDnsSupport for more information on using the DisableVpcClassicLinkDnsSupport +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisableVpcClassicLinkDnsSupportRequest method. // req, resp := client.DisableVpcClassicLinkDnsSupportRequest(params) @@ -14079,19 +14318,18 @@ const opDisassociateAddress = "DisassociateAddress" // DisassociateAddressRequest generates a "aws/request.Request" representing the // client's request for the DisassociateAddress operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisassociateAddress for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisassociateAddress method directly -// instead. +// See DisassociateAddress for more information on using the DisassociateAddress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisassociateAddressRequest method. // req, resp := client.DisassociateAddressRequest(params) @@ -14164,19 +14402,18 @@ const opDisassociateIamInstanceProfile = "DisassociateIamInstanceProfile" // DisassociateIamInstanceProfileRequest generates a "aws/request.Request" representing the // client's request for the DisassociateIamInstanceProfile operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisassociateIamInstanceProfile for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisassociateIamInstanceProfile method directly -// instead. +// See DisassociateIamInstanceProfile for more information on using the DisassociateIamInstanceProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisassociateIamInstanceProfileRequest method. // req, resp := client.DisassociateIamInstanceProfileRequest(params) @@ -14241,19 +14478,18 @@ const opDisassociateRouteTable = "DisassociateRouteTable" // DisassociateRouteTableRequest generates a "aws/request.Request" representing the // client's request for the DisassociateRouteTable operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisassociateRouteTable for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisassociateRouteTable method directly -// instead. +// See DisassociateRouteTable for more information on using the DisassociateRouteTable +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisassociateRouteTableRequest method. // req, resp := client.DisassociateRouteTableRequest(params) @@ -14323,19 +14559,18 @@ const opDisassociateSubnetCidrBlock = "DisassociateSubnetCidrBlock" // DisassociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the // client's request for the DisassociateSubnetCidrBlock operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisassociateSubnetCidrBlock for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisassociateSubnetCidrBlock method directly -// instead. +// See DisassociateSubnetCidrBlock for more information on using the DisassociateSubnetCidrBlock +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisassociateSubnetCidrBlockRequest method. // req, resp := client.DisassociateSubnetCidrBlockRequest(params) @@ -14400,19 +14635,18 @@ const opDisassociateVpcCidrBlock = "DisassociateVpcCidrBlock" // DisassociateVpcCidrBlockRequest generates a "aws/request.Request" representing the // client's request for the DisassociateVpcCidrBlock operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisassociateVpcCidrBlock for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisassociateVpcCidrBlock method directly -// instead. +// See DisassociateVpcCidrBlock for more information on using the DisassociateVpcCidrBlock +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisassociateVpcCidrBlockRequest method. // req, resp := client.DisassociateVpcCidrBlockRequest(params) @@ -14441,9 +14675,13 @@ func (c *EC2) DisassociateVpcCidrBlockRequest(input *DisassociateVpcCidrBlockInp // DisassociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud. // -// Disassociates a CIDR block from a VPC. Currently, you can disassociate an -// IPv6 CIDR block only. You must detach or delete all gateways and resources -// that are associated with the CIDR block before you can disassociate it. +// Disassociates a CIDR block from a VPC. To disassociate the CIDR block, you +// must specify its association ID. You can get the association ID by using +// DescribeVpcs. You must detach or delete all gateways and resources that are +// associated with the CIDR block before you can disassociate it. +// +// You cannot disassociate the CIDR block with which you originally created +// the VPC (the primary CIDR block). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -14477,19 +14715,18 @@ const opEnableVgwRoutePropagation = "EnableVgwRoutePropagation" // EnableVgwRoutePropagationRequest generates a "aws/request.Request" representing the // client's request for the EnableVgwRoutePropagation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EnableVgwRoutePropagation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EnableVgwRoutePropagation method directly -// instead. +// See EnableVgwRoutePropagation for more information on using the EnableVgwRoutePropagation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EnableVgwRoutePropagationRequest method. // req, resp := client.EnableVgwRoutePropagationRequest(params) @@ -14555,19 +14792,18 @@ const opEnableVolumeIO = "EnableVolumeIO" // EnableVolumeIORequest generates a "aws/request.Request" representing the // client's request for the EnableVolumeIO operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EnableVolumeIO for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EnableVolumeIO method directly -// instead. +// See EnableVolumeIO for more information on using the EnableVolumeIO +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EnableVolumeIORequest method. // req, resp := client.EnableVolumeIORequest(params) @@ -14633,19 +14869,18 @@ const opEnableVpcClassicLink = "EnableVpcClassicLink" // EnableVpcClassicLinkRequest generates a "aws/request.Request" representing the // client's request for the EnableVpcClassicLink operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EnableVpcClassicLink for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EnableVpcClassicLink method directly -// instead. +// See EnableVpcClassicLink for more information on using the EnableVpcClassicLink +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EnableVpcClassicLinkRequest method. // req, resp := client.EnableVpcClassicLinkRequest(params) @@ -14714,19 +14949,18 @@ const opEnableVpcClassicLinkDnsSupport = "EnableVpcClassicLinkDnsSupport" // EnableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the // client's request for the EnableVpcClassicLinkDnsSupport operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EnableVpcClassicLinkDnsSupport for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EnableVpcClassicLinkDnsSupport method directly -// instead. +// See EnableVpcClassicLinkDnsSupport for more information on using the EnableVpcClassicLinkDnsSupport +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EnableVpcClassicLinkDnsSupportRequest method. // req, resp := client.EnableVpcClassicLinkDnsSupportRequest(params) @@ -14795,19 +15029,18 @@ const opGetConsoleOutput = "GetConsoleOutput" // GetConsoleOutputRequest generates a "aws/request.Request" representing the // client's request for the GetConsoleOutput operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetConsoleOutput for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetConsoleOutput method directly -// instead. +// See GetConsoleOutput for more information on using the GetConsoleOutput +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetConsoleOutputRequest method. // req, resp := client.GetConsoleOutputRequest(params) @@ -14887,19 +15120,18 @@ const opGetConsoleScreenshot = "GetConsoleScreenshot" // GetConsoleScreenshotRequest generates a "aws/request.Request" representing the // client's request for the GetConsoleScreenshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetConsoleScreenshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetConsoleScreenshot method directly -// instead. +// See GetConsoleScreenshot for more information on using the GetConsoleScreenshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetConsoleScreenshotRequest method. // req, resp := client.GetConsoleScreenshotRequest(params) @@ -14964,19 +15196,18 @@ const opGetHostReservationPurchasePreview = "GetHostReservationPurchasePreview" // GetHostReservationPurchasePreviewRequest generates a "aws/request.Request" representing the // client's request for the GetHostReservationPurchasePreview operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetHostReservationPurchasePreview for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetHostReservationPurchasePreview method directly -// instead. +// See GetHostReservationPurchasePreview for more information on using the GetHostReservationPurchasePreview +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetHostReservationPurchasePreviewRequest method. // req, resp := client.GetHostReservationPurchasePreviewRequest(params) @@ -15044,19 +15275,18 @@ const opGetPasswordData = "GetPasswordData" // GetPasswordDataRequest generates a "aws/request.Request" representing the // client's request for the GetPasswordData operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetPasswordData for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetPasswordData method directly -// instead. +// See GetPasswordData for more information on using the GetPasswordData +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetPasswordDataRequest method. // req, resp := client.GetPasswordDataRequest(params) @@ -15085,20 +15315,24 @@ func (c *EC2) GetPasswordDataRequest(input *GetPasswordDataInput) (req *request. // GetPasswordData API operation for Amazon Elastic Compute Cloud. // -// Retrieves the encrypted administrator password for an instance running Windows. +// Retrieves the encrypted administrator password for a running Windows instance. // -// The Windows password is generated at boot if the EC2Config service plugin, -// Ec2SetPassword, is enabled. This usually only happens the first time an AMI -// is launched, and then Ec2SetPassword is automatically disabled. The password -// is not generated for rebundled AMIs unless Ec2SetPassword is enabled before -// bundling. +// The Windows password is generated at boot by the EC2Config service or EC2Launch +// scripts (Windows Server 2016 and later). This usually only happens the first +// time an instance is launched. For more information, see EC2Config (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/UsingConfig_WinAMI.html) +// and EC2Launch (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2launch.html) +// in the Amazon Elastic Compute Cloud User Guide. +// +// For the EC2Config service, the password is not generated for rebundled AMIs +// unless Ec2SetPassword is enabled before bundling. // // The password is encrypted using the key pair that you specified when you // launched the instance. You must provide the corresponding key pair file. // -// Password generation and encryption takes a few moments. We recommend that -// you wait up to 15 minutes after launching an instance before trying to retrieve -// the generated password. +// When you launch an instance, password generation and encryption may take +// a few minutes. If you try to retrieve the password before it's available, +// the output returns an empty string. We recommend that you wait up to 15 minutes +// after launching an instance before trying to retrieve the generated password. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -15132,19 +15366,18 @@ const opGetReservedInstancesExchangeQuote = "GetReservedInstancesExchangeQuote" // GetReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the // client's request for the GetReservedInstancesExchangeQuote operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetReservedInstancesExchangeQuote for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetReservedInstancesExchangeQuote method directly -// instead. +// See GetReservedInstancesExchangeQuote for more information on using the GetReservedInstancesExchangeQuote +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetReservedInstancesExchangeQuoteRequest method. // req, resp := client.GetReservedInstancesExchangeQuoteRequest(params) @@ -15209,19 +15442,18 @@ const opImportImage = "ImportImage" // ImportImageRequest generates a "aws/request.Request" representing the // client's request for the ImportImage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ImportImage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ImportImage method directly -// instead. +// See ImportImage for more information on using the ImportImage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ImportImageRequest method. // req, resp := client.ImportImageRequest(params) @@ -15287,19 +15519,18 @@ const opImportInstance = "ImportInstance" // ImportInstanceRequest generates a "aws/request.Request" representing the // client's request for the ImportInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ImportInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ImportInstance method directly -// instead. +// See ImportInstance for more information on using the ImportInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ImportInstanceRequest method. // req, resp := client.ImportInstanceRequest(params) @@ -15368,19 +15599,18 @@ const opImportKeyPair = "ImportKeyPair" // ImportKeyPairRequest generates a "aws/request.Request" representing the // client's request for the ImportKeyPair operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ImportKeyPair for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ImportKeyPair method directly -// instead. +// See ImportKeyPair for more information on using the ImportKeyPair +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ImportKeyPairRequest method. // req, resp := client.ImportKeyPairRequest(params) @@ -15450,19 +15680,18 @@ const opImportSnapshot = "ImportSnapshot" // ImportSnapshotRequest generates a "aws/request.Request" representing the // client's request for the ImportSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ImportSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ImportSnapshot method directly -// instead. +// See ImportSnapshot for more information on using the ImportSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ImportSnapshotRequest method. // req, resp := client.ImportSnapshotRequest(params) @@ -15525,19 +15754,18 @@ const opImportVolume = "ImportVolume" // ImportVolumeRequest generates a "aws/request.Request" representing the // client's request for the ImportVolume operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ImportVolume for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ImportVolume method directly -// instead. +// See ImportVolume for more information on using the ImportVolume +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ImportVolumeRequest method. // req, resp := client.ImportVolumeRequest(params) @@ -15600,23 +15828,96 @@ func (c *EC2) ImportVolumeWithContext(ctx aws.Context, input *ImportVolumeInput, return out, req.Send() } +const opModifyFpgaImageAttribute = "ModifyFpgaImageAttribute" + +// ModifyFpgaImageAttributeRequest generates a "aws/request.Request" representing the +// client's request for the ModifyFpgaImageAttribute operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ModifyFpgaImageAttribute for more information on using the ModifyFpgaImageAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ModifyFpgaImageAttributeRequest method. +// req, resp := client.ModifyFpgaImageAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttribute +func (c *EC2) ModifyFpgaImageAttributeRequest(input *ModifyFpgaImageAttributeInput) (req *request.Request, output *ModifyFpgaImageAttributeOutput) { + op := &request.Operation{ + Name: opModifyFpgaImageAttribute, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyFpgaImageAttributeInput{} + } + + output = &ModifyFpgaImageAttributeOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyFpgaImageAttribute API operation for Amazon Elastic Compute Cloud. +// +// Modifies the specified attribute of the specified Amazon FPGA Image (AFI). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifyFpgaImageAttribute for usage and error information. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttribute +func (c *EC2) ModifyFpgaImageAttribute(input *ModifyFpgaImageAttributeInput) (*ModifyFpgaImageAttributeOutput, error) { + req, out := c.ModifyFpgaImageAttributeRequest(input) + return out, req.Send() +} + +// ModifyFpgaImageAttributeWithContext is the same as ModifyFpgaImageAttribute with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyFpgaImageAttribute for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) ModifyFpgaImageAttributeWithContext(ctx aws.Context, input *ModifyFpgaImageAttributeInput, opts ...request.Option) (*ModifyFpgaImageAttributeOutput, error) { + req, out := c.ModifyFpgaImageAttributeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opModifyHosts = "ModifyHosts" // ModifyHostsRequest generates a "aws/request.Request" representing the // client's request for the ModifyHosts operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyHosts for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyHosts method directly -// instead. +// See ModifyHosts for more information on using the ModifyHosts +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyHostsRequest method. // req, resp := client.ModifyHostsRequest(params) @@ -15685,19 +15986,18 @@ const opModifyIdFormat = "ModifyIdFormat" // ModifyIdFormatRequest generates a "aws/request.Request" representing the // client's request for the ModifyIdFormat operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyIdFormat for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyIdFormat method directly -// instead. +// See ModifyIdFormat for more information on using the ModifyIdFormat +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyIdFormatRequest method. // req, resp := client.ModifyIdFormatRequest(params) @@ -15776,19 +16076,18 @@ const opModifyIdentityIdFormat = "ModifyIdentityIdFormat" // ModifyIdentityIdFormatRequest generates a "aws/request.Request" representing the // client's request for the ModifyIdentityIdFormat operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyIdentityIdFormat for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyIdentityIdFormat method directly -// instead. +// See ModifyIdentityIdFormat for more information on using the ModifyIdentityIdFormat +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyIdentityIdFormatRequest method. // req, resp := client.ModifyIdentityIdFormatRequest(params) @@ -15867,19 +16166,18 @@ const opModifyImageAttribute = "ModifyImageAttribute" // ModifyImageAttributeRequest generates a "aws/request.Request" representing the // client's request for the ModifyImageAttribute operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyImageAttribute for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyImageAttribute method directly -// instead. +// See ModifyImageAttribute for more information on using the ModifyImageAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyImageAttributeRequest method. // req, resp := client.ModifyImageAttributeRequest(params) @@ -15953,19 +16251,18 @@ const opModifyInstanceAttribute = "ModifyInstanceAttribute" // ModifyInstanceAttributeRequest generates a "aws/request.Request" representing the // client's request for the ModifyInstanceAttribute operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyInstanceAttribute for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyInstanceAttribute method directly -// instead. +// See ModifyInstanceAttribute for more information on using the ModifyInstanceAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyInstanceAttributeRequest method. // req, resp := client.ModifyInstanceAttributeRequest(params) @@ -16035,19 +16332,18 @@ const opModifyInstancePlacement = "ModifyInstancePlacement" // ModifyInstancePlacementRequest generates a "aws/request.Request" representing the // client's request for the ModifyInstancePlacement operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyInstancePlacement for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyInstancePlacement method directly -// instead. +// See ModifyInstancePlacement for more information on using the ModifyInstancePlacement +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyInstancePlacementRequest method. // req, resp := client.ModifyInstancePlacementRequest(params) @@ -16128,19 +16424,18 @@ const opModifyNetworkInterfaceAttribute = "ModifyNetworkInterfaceAttribute" // ModifyNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the // client's request for the ModifyNetworkInterfaceAttribute operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyNetworkInterfaceAttribute for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyNetworkInterfaceAttribute method directly -// instead. +// See ModifyNetworkInterfaceAttribute for more information on using the ModifyNetworkInterfaceAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyNetworkInterfaceAttributeRequest method. // req, resp := client.ModifyNetworkInterfaceAttributeRequest(params) @@ -16206,19 +16501,18 @@ const opModifyReservedInstances = "ModifyReservedInstances" // ModifyReservedInstancesRequest generates a "aws/request.Request" representing the // client's request for the ModifyReservedInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyReservedInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyReservedInstances method directly -// instead. +// See ModifyReservedInstances for more information on using the ModifyReservedInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyReservedInstancesRequest method. // req, resp := client.ModifyReservedInstancesRequest(params) @@ -16287,19 +16581,18 @@ const opModifySnapshotAttribute = "ModifySnapshotAttribute" // ModifySnapshotAttributeRequest generates a "aws/request.Request" representing the // client's request for the ModifySnapshotAttribute operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifySnapshotAttribute for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifySnapshotAttribute method directly -// instead. +// See ModifySnapshotAttribute for more information on using the ModifySnapshotAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifySnapshotAttributeRequest method. // req, resp := client.ModifySnapshotAttributeRequest(params) @@ -16376,19 +16669,18 @@ const opModifySpotFleetRequest = "ModifySpotFleetRequest" // ModifySpotFleetRequestRequest generates a "aws/request.Request" representing the // client's request for the ModifySpotFleetRequest operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifySpotFleetRequest for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifySpotFleetRequest method directly -// instead. +// See ModifySpotFleetRequest for more information on using the ModifySpotFleetRequest +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifySpotFleetRequestRequest method. // req, resp := client.ModifySpotFleetRequestRequest(params) @@ -16470,19 +16762,18 @@ const opModifySubnetAttribute = "ModifySubnetAttribute" // ModifySubnetAttributeRequest generates a "aws/request.Request" representing the // client's request for the ModifySubnetAttribute operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifySubnetAttribute for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifySubnetAttribute method directly -// instead. +// See ModifySubnetAttribute for more information on using the ModifySubnetAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifySubnetAttributeRequest method. // req, resp := client.ModifySubnetAttributeRequest(params) @@ -16547,19 +16838,18 @@ const opModifyVolume = "ModifyVolume" // ModifyVolumeRequest generates a "aws/request.Request" representing the // client's request for the ModifyVolume operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyVolume for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyVolume method directly -// instead. +// See ModifyVolume for more information on using the ModifyVolume +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyVolumeRequest method. // req, resp := client.ModifyVolumeRequest(params) @@ -16654,19 +16944,18 @@ const opModifyVolumeAttribute = "ModifyVolumeAttribute" // ModifyVolumeAttributeRequest generates a "aws/request.Request" representing the // client's request for the ModifyVolumeAttribute operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyVolumeAttribute for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyVolumeAttribute method directly -// instead. +// See ModifyVolumeAttribute for more information on using the ModifyVolumeAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyVolumeAttributeRequest method. // req, resp := client.ModifyVolumeAttributeRequest(params) @@ -16740,19 +17029,18 @@ const opModifyVpcAttribute = "ModifyVpcAttribute" // ModifyVpcAttributeRequest generates a "aws/request.Request" representing the // client's request for the ModifyVpcAttribute operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyVpcAttribute for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyVpcAttribute method directly -// instead. +// See ModifyVpcAttribute for more information on using the ModifyVpcAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyVpcAttributeRequest method. // req, resp := client.ModifyVpcAttributeRequest(params) @@ -16817,19 +17105,18 @@ const opModifyVpcEndpoint = "ModifyVpcEndpoint" // ModifyVpcEndpointRequest generates a "aws/request.Request" representing the // client's request for the ModifyVpcEndpoint operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyVpcEndpoint for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyVpcEndpoint method directly -// instead. +// See ModifyVpcEndpoint for more information on using the ModifyVpcEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyVpcEndpointRequest method. // req, resp := client.ModifyVpcEndpointRequest(params) @@ -16894,19 +17181,18 @@ const opModifyVpcPeeringConnectionOptions = "ModifyVpcPeeringConnectionOptions" // ModifyVpcPeeringConnectionOptionsRequest generates a "aws/request.Request" representing the // client's request for the ModifyVpcPeeringConnectionOptions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyVpcPeeringConnectionOptions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyVpcPeeringConnectionOptions method directly -// instead. +// See ModifyVpcPeeringConnectionOptions for more information on using the ModifyVpcPeeringConnectionOptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyVpcPeeringConnectionOptionsRequest method. // req, resp := client.ModifyVpcPeeringConnectionOptionsRequest(params) @@ -16988,19 +17274,18 @@ const opMonitorInstances = "MonitorInstances" // MonitorInstancesRequest generates a "aws/request.Request" representing the // client's request for the MonitorInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See MonitorInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the MonitorInstances method directly -// instead. +// See MonitorInstances for more information on using the MonitorInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the MonitorInstancesRequest method. // req, resp := client.MonitorInstancesRequest(params) @@ -17068,19 +17353,18 @@ const opMoveAddressToVpc = "MoveAddressToVpc" // MoveAddressToVpcRequest generates a "aws/request.Request" representing the // client's request for the MoveAddressToVpc operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See MoveAddressToVpc for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the MoveAddressToVpc method directly -// instead. +// See MoveAddressToVpc for more information on using the MoveAddressToVpc +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the MoveAddressToVpcRequest method. // req, resp := client.MoveAddressToVpcRequest(params) @@ -17149,19 +17433,18 @@ const opPurchaseHostReservation = "PurchaseHostReservation" // PurchaseHostReservationRequest generates a "aws/request.Request" representing the // client's request for the PurchaseHostReservation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PurchaseHostReservation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PurchaseHostReservation method directly -// instead. +// See PurchaseHostReservation for more information on using the PurchaseHostReservation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PurchaseHostReservationRequest method. // req, resp := client.PurchaseHostReservationRequest(params) @@ -17227,19 +17510,18 @@ const opPurchaseReservedInstancesOffering = "PurchaseReservedInstancesOffering" // PurchaseReservedInstancesOfferingRequest generates a "aws/request.Request" representing the // client's request for the PurchaseReservedInstancesOffering operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PurchaseReservedInstancesOffering for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PurchaseReservedInstancesOffering method directly -// instead. +// See PurchaseReservedInstancesOffering for more information on using the PurchaseReservedInstancesOffering +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PurchaseReservedInstancesOfferingRequest method. // req, resp := client.PurchaseReservedInstancesOfferingRequest(params) @@ -17311,19 +17593,18 @@ const opPurchaseScheduledInstances = "PurchaseScheduledInstances" // PurchaseScheduledInstancesRequest generates a "aws/request.Request" representing the // client's request for the PurchaseScheduledInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PurchaseScheduledInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PurchaseScheduledInstances method directly -// instead. +// See PurchaseScheduledInstances for more information on using the PurchaseScheduledInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PurchaseScheduledInstancesRequest method. // req, resp := client.PurchaseScheduledInstancesRequest(params) @@ -17395,19 +17676,18 @@ const opRebootInstances = "RebootInstances" // RebootInstancesRequest generates a "aws/request.Request" representing the // client's request for the RebootInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RebootInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RebootInstances method directly -// instead. +// See RebootInstances for more information on using the RebootInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RebootInstancesRequest method. // req, resp := client.RebootInstancesRequest(params) @@ -17482,19 +17762,18 @@ const opRegisterImage = "RegisterImage" // RegisterImageRequest generates a "aws/request.Request" representing the // client's request for the RegisterImage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterImage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterImage method directly -// instead. +// See RegisterImage for more information on using the RegisterImage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterImageRequest method. // req, resp := client.RegisterImageRequest(params) @@ -17585,19 +17864,18 @@ const opRejectVpcPeeringConnection = "RejectVpcPeeringConnection" // RejectVpcPeeringConnectionRequest generates a "aws/request.Request" representing the // client's request for the RejectVpcPeeringConnection operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RejectVpcPeeringConnection for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RejectVpcPeeringConnection method directly -// instead. +// See RejectVpcPeeringConnection for more information on using the RejectVpcPeeringConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RejectVpcPeeringConnectionRequest method. // req, resp := client.RejectVpcPeeringConnectionRequest(params) @@ -17664,19 +17942,18 @@ const opReleaseAddress = "ReleaseAddress" // ReleaseAddressRequest generates a "aws/request.Request" representing the // client's request for the ReleaseAddress operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ReleaseAddress for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ReleaseAddress method directly -// instead. +// See ReleaseAddress for more information on using the ReleaseAddress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ReleaseAddressRequest method. // req, resp := client.ReleaseAddressRequest(params) @@ -17709,19 +17986,22 @@ func (c *EC2) ReleaseAddressRequest(input *ReleaseAddressInput) (req *request.Re // // Releases the specified Elastic IP address. // -// After releasing an Elastic IP address, it is released to the IP address pool -// and might be unavailable to you. Be sure to update your DNS records and any -// servers or devices that communicate with the address. If you attempt to release -// an Elastic IP address that you already released, you'll get an AuthFailure -// error if the address is already allocated to another AWS account. -// // [EC2-Classic, default VPC] Releasing an Elastic IP address automatically // disassociates it from any instance that it's associated with. To disassociate // an Elastic IP address without releasing it, use DisassociateAddress. // // [Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic -// IP address before you try to release it. Otherwise, Amazon EC2 returns an -// error (InvalidIPAddress.InUse). +// IP address before you can release it. Otherwise, Amazon EC2 returns an error +// (InvalidIPAddress.InUse). +// +// After releasing an Elastic IP address, it is released to the IP address pool. +// Be sure to update your DNS records and any servers or devices that communicate +// with the address. If you attempt to release an Elastic IP address that you +// already released, you'll get an AuthFailure error if the address is already +// allocated to another AWS account. +// +// [EC2-VPC] After you release an Elastic IP address for use in a VPC, you might +// be able to recover it. For more information, see AllocateAddress. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -17755,19 +18035,18 @@ const opReleaseHosts = "ReleaseHosts" // ReleaseHostsRequest generates a "aws/request.Request" representing the // client's request for the ReleaseHosts operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ReleaseHosts for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ReleaseHosts method directly -// instead. +// See ReleaseHosts for more information on using the ReleaseHosts +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ReleaseHostsRequest method. // req, resp := client.ReleaseHostsRequest(params) @@ -17841,19 +18120,18 @@ const opReplaceIamInstanceProfileAssociation = "ReplaceIamInstanceProfileAssocia // ReplaceIamInstanceProfileAssociationRequest generates a "aws/request.Request" representing the // client's request for the ReplaceIamInstanceProfileAssociation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ReplaceIamInstanceProfileAssociation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ReplaceIamInstanceProfileAssociation method directly -// instead. +// See ReplaceIamInstanceProfileAssociation for more information on using the ReplaceIamInstanceProfileAssociation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ReplaceIamInstanceProfileAssociationRequest method. // req, resp := client.ReplaceIamInstanceProfileAssociationRequest(params) @@ -17921,19 +18199,18 @@ const opReplaceNetworkAclAssociation = "ReplaceNetworkAclAssociation" // ReplaceNetworkAclAssociationRequest generates a "aws/request.Request" representing the // client's request for the ReplaceNetworkAclAssociation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ReplaceNetworkAclAssociation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ReplaceNetworkAclAssociation method directly -// instead. +// See ReplaceNetworkAclAssociation for more information on using the ReplaceNetworkAclAssociation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ReplaceNetworkAclAssociationRequest method. // req, resp := client.ReplaceNetworkAclAssociationRequest(params) @@ -17999,19 +18276,18 @@ const opReplaceNetworkAclEntry = "ReplaceNetworkAclEntry" // ReplaceNetworkAclEntryRequest generates a "aws/request.Request" representing the // client's request for the ReplaceNetworkAclEntry operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ReplaceNetworkAclEntry for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ReplaceNetworkAclEntry method directly -// instead. +// See ReplaceNetworkAclEntry for more information on using the ReplaceNetworkAclEntry +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ReplaceNetworkAclEntryRequest method. // req, resp := client.ReplaceNetworkAclEntryRequest(params) @@ -18078,19 +18354,18 @@ const opReplaceRoute = "ReplaceRoute" // ReplaceRouteRequest generates a "aws/request.Request" representing the // client's request for the ReplaceRoute operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ReplaceRoute for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ReplaceRoute method directly -// instead. +// See ReplaceRoute for more information on using the ReplaceRoute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ReplaceRouteRequest method. // req, resp := client.ReplaceRouteRequest(params) @@ -18161,19 +18436,18 @@ const opReplaceRouteTableAssociation = "ReplaceRouteTableAssociation" // ReplaceRouteTableAssociationRequest generates a "aws/request.Request" representing the // client's request for the ReplaceRouteTableAssociation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ReplaceRouteTableAssociation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ReplaceRouteTableAssociation method directly -// instead. +// See ReplaceRouteTableAssociation for more information on using the ReplaceRouteTableAssociation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ReplaceRouteTableAssociationRequest method. // req, resp := client.ReplaceRouteTableAssociationRequest(params) @@ -18244,19 +18518,18 @@ const opReportInstanceStatus = "ReportInstanceStatus" // ReportInstanceStatusRequest generates a "aws/request.Request" representing the // client's request for the ReportInstanceStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ReportInstanceStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ReportInstanceStatus method directly -// instead. +// See ReportInstanceStatus for more information on using the ReportInstanceStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ReportInstanceStatusRequest method. // req, resp := client.ReportInstanceStatusRequest(params) @@ -18327,19 +18600,18 @@ const opRequestSpotFleet = "RequestSpotFleet" // RequestSpotFleetRequest generates a "aws/request.Request" representing the // client's request for the RequestSpotFleet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RequestSpotFleet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RequestSpotFleet method directly -// instead. +// See RequestSpotFleet for more information on using the RequestSpotFleet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RequestSpotFleetRequest method. // req, resp := client.RequestSpotFleetRequest(params) @@ -18418,19 +18690,18 @@ const opRequestSpotInstances = "RequestSpotInstances" // RequestSpotInstancesRequest generates a "aws/request.Request" representing the // client's request for the RequestSpotInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RequestSpotInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RequestSpotInstances method directly -// instead. +// See RequestSpotInstances for more information on using the RequestSpotInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RequestSpotInstancesRequest method. // req, resp := client.RequestSpotInstancesRequest(params) @@ -18494,23 +18765,97 @@ func (c *EC2) RequestSpotInstancesWithContext(ctx aws.Context, input *RequestSpo return out, req.Send() } +const opResetFpgaImageAttribute = "ResetFpgaImageAttribute" + +// ResetFpgaImageAttributeRequest generates a "aws/request.Request" representing the +// client's request for the ResetFpgaImageAttribute operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ResetFpgaImageAttribute for more information on using the ResetFpgaImageAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ResetFpgaImageAttributeRequest method. +// req, resp := client.ResetFpgaImageAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttribute +func (c *EC2) ResetFpgaImageAttributeRequest(input *ResetFpgaImageAttributeInput) (req *request.Request, output *ResetFpgaImageAttributeOutput) { + op := &request.Operation{ + Name: opResetFpgaImageAttribute, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ResetFpgaImageAttributeInput{} + } + + output = &ResetFpgaImageAttributeOutput{} + req = c.newRequest(op, input, output) + return +} + +// ResetFpgaImageAttribute API operation for Amazon Elastic Compute Cloud. +// +// Resets the specified attribute of the specified Amazon FPGA Image (AFI) to +// its default value. You can only reset the load permission attribute. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ResetFpgaImageAttribute for usage and error information. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttribute +func (c *EC2) ResetFpgaImageAttribute(input *ResetFpgaImageAttributeInput) (*ResetFpgaImageAttributeOutput, error) { + req, out := c.ResetFpgaImageAttributeRequest(input) + return out, req.Send() +} + +// ResetFpgaImageAttributeWithContext is the same as ResetFpgaImageAttribute with the addition of +// the ability to pass a context and additional request options. +// +// See ResetFpgaImageAttribute for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) ResetFpgaImageAttributeWithContext(ctx aws.Context, input *ResetFpgaImageAttributeInput, opts ...request.Option) (*ResetFpgaImageAttributeOutput, error) { + req, out := c.ResetFpgaImageAttributeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opResetImageAttribute = "ResetImageAttribute" // ResetImageAttributeRequest generates a "aws/request.Request" representing the // client's request for the ResetImageAttribute operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ResetImageAttribute for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ResetImageAttribute method directly -// instead. +// See ResetImageAttribute for more information on using the ResetImageAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ResetImageAttributeRequest method. // req, resp := client.ResetImageAttributeRequest(params) @@ -18577,19 +18922,18 @@ const opResetInstanceAttribute = "ResetInstanceAttribute" // ResetInstanceAttributeRequest generates a "aws/request.Request" representing the // client's request for the ResetInstanceAttribute operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ResetInstanceAttribute for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ResetInstanceAttribute method directly -// instead. +// See ResetInstanceAttribute for more information on using the ResetInstanceAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ResetInstanceAttributeRequest method. // req, resp := client.ResetInstanceAttributeRequest(params) @@ -18662,19 +19006,18 @@ const opResetNetworkInterfaceAttribute = "ResetNetworkInterfaceAttribute" // ResetNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the // client's request for the ResetNetworkInterfaceAttribute operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ResetNetworkInterfaceAttribute for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ResetNetworkInterfaceAttribute method directly -// instead. +// See ResetNetworkInterfaceAttribute for more information on using the ResetNetworkInterfaceAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ResetNetworkInterfaceAttributeRequest method. // req, resp := client.ResetNetworkInterfaceAttributeRequest(params) @@ -18740,19 +19083,18 @@ const opResetSnapshotAttribute = "ResetSnapshotAttribute" // ResetSnapshotAttributeRequest generates a "aws/request.Request" representing the // client's request for the ResetSnapshotAttribute operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ResetSnapshotAttribute for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ResetSnapshotAttribute method directly -// instead. +// See ResetSnapshotAttribute for more information on using the ResetSnapshotAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ResetSnapshotAttributeRequest method. // req, resp := client.ResetSnapshotAttributeRequest(params) @@ -18821,19 +19163,18 @@ const opRestoreAddressToClassic = "RestoreAddressToClassic" // RestoreAddressToClassicRequest generates a "aws/request.Request" representing the // client's request for the RestoreAddressToClassic operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RestoreAddressToClassic for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RestoreAddressToClassic method directly -// instead. +// See RestoreAddressToClassic for more information on using the RestoreAddressToClassic +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RestoreAddressToClassicRequest method. // req, resp := client.RestoreAddressToClassicRequest(params) @@ -18899,19 +19240,18 @@ const opRevokeSecurityGroupEgress = "RevokeSecurityGroupEgress" // RevokeSecurityGroupEgressRequest generates a "aws/request.Request" representing the // client's request for the RevokeSecurityGroupEgress operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RevokeSecurityGroupEgress for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RevokeSecurityGroupEgress method directly -// instead. +// See RevokeSecurityGroupEgress for more information on using the RevokeSecurityGroupEgress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RevokeSecurityGroupEgressRequest method. // req, resp := client.RevokeSecurityGroupEgressRequest(params) @@ -18944,13 +19284,14 @@ func (c *EC2) RevokeSecurityGroupEgressRequest(input *RevokeSecurityGroupEgressI // // [EC2-VPC only] Removes one or more egress rules from a security group for // EC2-VPC. This action doesn't apply to security groups for use in EC2-Classic. -// The values that you specify in the revoke request (for example, ports) must -// match the existing rule's values for the rule to be revoked. +// To remove a rule, the values that you specify (for example, ports) must match +// the existing rule's values exactly. // // Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or source // security group. For the TCP and UDP protocols, you must also specify the // destination port or range of ports. For the ICMP protocol, you must also -// specify the ICMP type and code. +// specify the ICMP type and code. If the security group rule has a description, +// you do not have to specify the description to revoke the rule. // // Rule changes are propagated to instances within the security group as quickly // as possible. However, a small delay might occur. @@ -18987,19 +19328,18 @@ const opRevokeSecurityGroupIngress = "RevokeSecurityGroupIngress" // RevokeSecurityGroupIngressRequest generates a "aws/request.Request" representing the // client's request for the RevokeSecurityGroupIngress operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RevokeSecurityGroupIngress for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RevokeSecurityGroupIngress method directly -// instead. +// See RevokeSecurityGroupIngress for more information on using the RevokeSecurityGroupIngress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RevokeSecurityGroupIngressRequest method. // req, resp := client.RevokeSecurityGroupIngressRequest(params) @@ -19030,14 +19370,19 @@ func (c *EC2) RevokeSecurityGroupIngressRequest(input *RevokeSecurityGroupIngres // RevokeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud. // -// Removes one or more ingress rules from a security group. The values that -// you specify in the revoke request (for example, ports) must match the existing -// rule's values for the rule to be removed. +// Removes one or more ingress rules from a security group. To remove a rule, +// the values that you specify (for example, ports) must match the existing +// rule's values exactly. +// +// [EC2-Classic security groups only] If the values you specify do not match +// the existing rule's values, no error is returned. Use DescribeSecurityGroups +// to verify that the rule has been removed. // // Each rule consists of the protocol and the CIDR range or source security // group. For the TCP and UDP protocols, you must also specify the destination // port or range of ports. For the ICMP protocol, you must also specify the -// ICMP type and code. +// ICMP type and code. If the security group rule has a description, you do +// not have to specify the description to revoke the rule. // // Rule changes are propagated to instances within the security group as quickly // as possible. However, a small delay might occur. @@ -19074,19 +19419,18 @@ const opRunInstances = "RunInstances" // RunInstancesRequest generates a "aws/request.Request" representing the // client's request for the RunInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RunInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RunInstances method directly -// instead. +// See RunInstances for more information on using the RunInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RunInstancesRequest method. // req, resp := client.RunInstancesRequest(params) @@ -19197,19 +19541,18 @@ const opRunScheduledInstances = "RunScheduledInstances" // RunScheduledInstancesRequest generates a "aws/request.Request" representing the // client's request for the RunScheduledInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RunScheduledInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RunScheduledInstances method directly -// instead. +// See RunScheduledInstances for more information on using the RunScheduledInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RunScheduledInstancesRequest method. // req, resp := client.RunScheduledInstancesRequest(params) @@ -19282,19 +19625,18 @@ const opStartInstances = "StartInstances" // StartInstancesRequest generates a "aws/request.Request" representing the // client's request for the StartInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartInstances method directly -// instead. +// See StartInstances for more information on using the StartInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartInstancesRequest method. // req, resp := client.StartInstancesRequest(params) @@ -19375,19 +19717,18 @@ const opStopInstances = "StopInstances" // StopInstancesRequest generates a "aws/request.Request" representing the // client's request for the StopInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StopInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StopInstances method directly -// instead. +// See StopInstances for more information on using the StopInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StopInstancesRequest method. // req, resp := client.StopInstancesRequest(params) @@ -19479,19 +19820,18 @@ const opTerminateInstances = "TerminateInstances" // TerminateInstancesRequest generates a "aws/request.Request" representing the // client's request for the TerminateInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TerminateInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TerminateInstances method directly -// instead. +// See TerminateInstances for more information on using the TerminateInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TerminateInstancesRequest method. // req, resp := client.TerminateInstancesRequest(params) @@ -19578,19 +19918,18 @@ const opUnassignIpv6Addresses = "UnassignIpv6Addresses" // UnassignIpv6AddressesRequest generates a "aws/request.Request" representing the // client's request for the UnassignIpv6Addresses operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UnassignIpv6Addresses for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UnassignIpv6Addresses method directly -// instead. +// See UnassignIpv6Addresses for more information on using the UnassignIpv6Addresses +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UnassignIpv6AddressesRequest method. // req, resp := client.UnassignIpv6AddressesRequest(params) @@ -19653,19 +19992,18 @@ const opUnassignPrivateIpAddresses = "UnassignPrivateIpAddresses" // UnassignPrivateIpAddressesRequest generates a "aws/request.Request" representing the // client's request for the UnassignPrivateIpAddresses operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UnassignPrivateIpAddresses for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UnassignPrivateIpAddresses method directly -// instead. +// See UnassignPrivateIpAddresses for more information on using the UnassignPrivateIpAddresses +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UnassignPrivateIpAddressesRequest method. // req, resp := client.UnassignPrivateIpAddressesRequest(params) @@ -19730,19 +20068,18 @@ const opUnmonitorInstances = "UnmonitorInstances" // UnmonitorInstancesRequest generates a "aws/request.Request" representing the // client's request for the UnmonitorInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UnmonitorInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UnmonitorInstances method directly -// instead. +// See UnmonitorInstances for more information on using the UnmonitorInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UnmonitorInstancesRequest method. // req, resp := client.UnmonitorInstancesRequest(params) @@ -19803,6 +20140,166 @@ func (c *EC2) UnmonitorInstancesWithContext(ctx aws.Context, input *UnmonitorIns return out, req.Send() } +const opUpdateSecurityGroupRuleDescriptionsEgress = "UpdateSecurityGroupRuleDescriptionsEgress" + +// UpdateSecurityGroupRuleDescriptionsEgressRequest generates a "aws/request.Request" representing the +// client's request for the UpdateSecurityGroupRuleDescriptionsEgress operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateSecurityGroupRuleDescriptionsEgress for more information on using the UpdateSecurityGroupRuleDescriptionsEgress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateSecurityGroupRuleDescriptionsEgressRequest method. +// req, resp := client.UpdateSecurityGroupRuleDescriptionsEgressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgress +func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgressRequest(input *UpdateSecurityGroupRuleDescriptionsEgressInput) (req *request.Request, output *UpdateSecurityGroupRuleDescriptionsEgressOutput) { + op := &request.Operation{ + Name: opUpdateSecurityGroupRuleDescriptionsEgress, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateSecurityGroupRuleDescriptionsEgressInput{} + } + + output = &UpdateSecurityGroupRuleDescriptionsEgressOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateSecurityGroupRuleDescriptionsEgress API operation for Amazon Elastic Compute Cloud. +// +// [EC2-VPC only] Updates the description of an egress (outbound) security group +// rule. You can replace an existing description, or add a description to a +// rule that did not have one previously. +// +// You specify the description as part of the IP permissions structure. You +// can remove a description for a security group rule by omitting the description +// parameter in the request. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation UpdateSecurityGroupRuleDescriptionsEgress for usage and error information. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgress +func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgress(input *UpdateSecurityGroupRuleDescriptionsEgressInput) (*UpdateSecurityGroupRuleDescriptionsEgressOutput, error) { + req, out := c.UpdateSecurityGroupRuleDescriptionsEgressRequest(input) + return out, req.Send() +} + +// UpdateSecurityGroupRuleDescriptionsEgressWithContext is the same as UpdateSecurityGroupRuleDescriptionsEgress with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateSecurityGroupRuleDescriptionsEgress for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgressWithContext(ctx aws.Context, input *UpdateSecurityGroupRuleDescriptionsEgressInput, opts ...request.Option) (*UpdateSecurityGroupRuleDescriptionsEgressOutput, error) { + req, out := c.UpdateSecurityGroupRuleDescriptionsEgressRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateSecurityGroupRuleDescriptionsIngress = "UpdateSecurityGroupRuleDescriptionsIngress" + +// UpdateSecurityGroupRuleDescriptionsIngressRequest generates a "aws/request.Request" representing the +// client's request for the UpdateSecurityGroupRuleDescriptionsIngress operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateSecurityGroupRuleDescriptionsIngress for more information on using the UpdateSecurityGroupRuleDescriptionsIngress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateSecurityGroupRuleDescriptionsIngressRequest method. +// req, resp := client.UpdateSecurityGroupRuleDescriptionsIngressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngress +func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngressRequest(input *UpdateSecurityGroupRuleDescriptionsIngressInput) (req *request.Request, output *UpdateSecurityGroupRuleDescriptionsIngressOutput) { + op := &request.Operation{ + Name: opUpdateSecurityGroupRuleDescriptionsIngress, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateSecurityGroupRuleDescriptionsIngressInput{} + } + + output = &UpdateSecurityGroupRuleDescriptionsIngressOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateSecurityGroupRuleDescriptionsIngress API operation for Amazon Elastic Compute Cloud. +// +// Updates the description of an ingress (inbound) security group rule. You +// can replace an existing description, or add a description to a rule that +// did not have one previously. +// +// You specify the description as part of the IP permissions structure. You +// can remove a description for a security group rule by omitting the description +// parameter in the request. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation UpdateSecurityGroupRuleDescriptionsIngress for usage and error information. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngress +func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngress(input *UpdateSecurityGroupRuleDescriptionsIngressInput) (*UpdateSecurityGroupRuleDescriptionsIngressOutput, error) { + req, out := c.UpdateSecurityGroupRuleDescriptionsIngressRequest(input) + return out, req.Send() +} + +// UpdateSecurityGroupRuleDescriptionsIngressWithContext is the same as UpdateSecurityGroupRuleDescriptionsIngress with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateSecurityGroupRuleDescriptionsIngress for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngressWithContext(ctx aws.Context, input *UpdateSecurityGroupRuleDescriptionsIngressInput, opts ...request.Option) (*UpdateSecurityGroupRuleDescriptionsIngressOutput, error) { + req, out := c.UpdateSecurityGroupRuleDescriptionsIngressRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + // Contains the parameters for accepting the quote. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptReservedInstancesExchangeQuoteRequest type AcceptReservedInstancesExchangeQuoteInput struct { @@ -20171,6 +20668,9 @@ func (s *Address) SetPublicIp(v string) *Address { type AllocateAddressInput struct { _ struct{} `type:"structure"` + // [EC2-VPC] The Elastic IP address to recover. + Address *string `type:"string"` + // Set to vpc to allocate the address for use with instances in a VPC. // // Default: The address is for use with instances in EC2-Classic. @@ -20193,6 +20693,12 @@ func (s AllocateAddressInput) GoString() string { return s.String() } +// SetAddress sets the Address field's value. +func (s *AllocateAddressInput) SetAddress(v string) *AllocateAddressInput { + s.Address = &v + return s +} + // SetDomain sets the Domain field's value. func (s *AllocateAddressInput) SetDomain(v string) *AllocateAddressInput { s.Domain = &v @@ -21017,6 +21523,9 @@ type AssociateVpcCidrBlockInput struct { // CIDR block. AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"` + // An IPv4 CIDR block to associate with the VPC. + CidrBlock *string `type:"string"` + // The ID of the VPC. // // VpcId is a required field @@ -21052,6 +21561,12 @@ func (s *AssociateVpcCidrBlockInput) SetAmazonProvidedIpv6CidrBlock(v bool) *Ass return s } +// SetCidrBlock sets the CidrBlock field's value. +func (s *AssociateVpcCidrBlockInput) SetCidrBlock(v string) *AssociateVpcCidrBlockInput { + s.CidrBlock = &v + return s +} + // SetVpcId sets the VpcId field's value. func (s *AssociateVpcCidrBlockInput) SetVpcId(v string) *AssociateVpcCidrBlockInput { s.VpcId = &v @@ -21062,6 +21577,9 @@ func (s *AssociateVpcCidrBlockInput) SetVpcId(v string) *AssociateVpcCidrBlockIn type AssociateVpcCidrBlockOutput struct { _ struct{} `type:"structure"` + // Information about the IPv4 CIDR block association. + CidrBlockAssociation *VpcCidrBlockAssociation `locationName:"cidrBlockAssociation" type:"structure"` + // Information about the IPv6 CIDR block association. Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"` @@ -21079,6 +21597,12 @@ func (s AssociateVpcCidrBlockOutput) GoString() string { return s.String() } +// SetCidrBlockAssociation sets the CidrBlockAssociation field's value. +func (s *AssociateVpcCidrBlockOutput) SetCidrBlockAssociation(v *VpcCidrBlockAssociation) *AssociateVpcCidrBlockOutput { + s.CidrBlockAssociation = v + return s +} + // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value. func (s *AssociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *AssociateVpcCidrBlockOutput { s.Ipv6CidrBlockAssociation = v @@ -21761,12 +22285,16 @@ type AuthorizeSecurityGroupIngressInput struct { // The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 // type number. For the ICMP/ICMPv6 type number, use -1 to specify all types. + // If you specify all ICMP/ICMPv6 types, you must specify all codes. FromPort *int64 `type:"integer"` - // The ID of the security group. Required for a nondefault VPC. + // The ID of the security group. You must specify either the security group + // ID or the security group name in the request. For security groups in a nondefault + // VPC, you must specify the security group ID. GroupId *string `type:"string"` - // [EC2-Classic, default VPC] The name of the security group. + // [EC2-Classic, default VPC] The name of the security group. You must specify + // either the security group ID or the security group name in the request. GroupName *string `type:"string"` // A set of IP permissions. Can be used to specify multiple rules in a single @@ -21799,7 +22327,8 @@ type AuthorizeSecurityGroupIngressInput struct { SourceSecurityGroupOwnerId *string `type:"string"` // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code - // number. For the ICMP/ICMPv6 code number, use -1 to specify all codes. + // number. For the ICMP/ICMPv6 code number, use -1 to specify all codes. If + // you specify all ICMP/ICMPv6 types, you must specify all codes. ToPort *int64 `type:"integer"` } @@ -23006,6 +23535,31 @@ func (s *CancelledSpotInstanceRequest) SetState(v string) *CancelledSpotInstance return s } +// Describes an IPv4 CIDR block. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CidrBlock +type CidrBlock struct { + _ struct{} `type:"structure"` + + // The IPv4 CIDR block. + CidrBlock *string `locationName:"cidrBlock" type:"string"` +} + +// String returns the string representation +func (s CidrBlock) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CidrBlock) GoString() string { + return s.String() +} + +// SetCidrBlock sets the CidrBlock field's value. +func (s *CidrBlock) SetCidrBlock(v string) *CidrBlock { + s.CidrBlock = &v + return s +} + // Describes the ClassicLink DNS support status of a VPC. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ClassicLinkDnsSupport type ClassicLinkDnsSupport struct { @@ -23332,6 +23886,123 @@ func (s *ConversionTask) SetTags(v []*Tag) *ConversionTask { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImageRequest +type CopyFpgaImageInput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). + ClientToken *string `type:"string"` + + // The description for the new AFI. + Description *string `type:"string"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The name for the new AFI. The default is the name of the source AFI. + Name *string `type:"string"` + + // The ID of the source AFI. + // + // SourceFpgaImageId is a required field + SourceFpgaImageId *string `type:"string" required:"true"` + + // The region that contains the source AFI. + // + // SourceRegion is a required field + SourceRegion *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CopyFpgaImageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CopyFpgaImageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CopyFpgaImageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CopyFpgaImageInput"} + if s.SourceFpgaImageId == nil { + invalidParams.Add(request.NewErrParamRequired("SourceFpgaImageId")) + } + if s.SourceRegion == nil { + invalidParams.Add(request.NewErrParamRequired("SourceRegion")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CopyFpgaImageInput) SetClientToken(v string) *CopyFpgaImageInput { + s.ClientToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CopyFpgaImageInput) SetDescription(v string) *CopyFpgaImageInput { + s.Description = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *CopyFpgaImageInput) SetDryRun(v bool) *CopyFpgaImageInput { + s.DryRun = &v + return s +} + +// SetName sets the Name field's value. +func (s *CopyFpgaImageInput) SetName(v string) *CopyFpgaImageInput { + s.Name = &v + return s +} + +// SetSourceFpgaImageId sets the SourceFpgaImageId field's value. +func (s *CopyFpgaImageInput) SetSourceFpgaImageId(v string) *CopyFpgaImageInput { + s.SourceFpgaImageId = &v + return s +} + +// SetSourceRegion sets the SourceRegion field's value. +func (s *CopyFpgaImageInput) SetSourceRegion(v string) *CopyFpgaImageInput { + s.SourceRegion = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImageResult +type CopyFpgaImageOutput struct { + _ struct{} `type:"structure"` + + // The ID of the new AFI. + FpgaImageId *string `locationName:"fpgaImageId" type:"string"` +} + +// String returns the string representation +func (s CopyFpgaImageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CopyFpgaImageOutput) GoString() string { + return s.String() +} + +// SetFpgaImageId sets the FpgaImageId field's value. +func (s *CopyFpgaImageOutput) SetFpgaImageId(v string) *CopyFpgaImageOutput { + s.FpgaImageId = &v + return s +} + // Contains the parameters for CopyImage. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImageRequest type CopyImageInput struct { @@ -23761,6 +24432,59 @@ func (s *CreateCustomerGatewayOutput) SetCustomerGateway(v *CustomerGateway) *Cr return s } +// Contains the parameters for CreateDefaultVpc. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpcRequest +type CreateDefaultVpcInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` +} + +// String returns the string representation +func (s CreateDefaultVpcInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDefaultVpcInput) GoString() string { + return s.String() +} + +// SetDryRun sets the DryRun field's value. +func (s *CreateDefaultVpcInput) SetDryRun(v bool) *CreateDefaultVpcInput { + s.DryRun = &v + return s +} + +// Contains the output of CreateDefaultVpc. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpcResult +type CreateDefaultVpcOutput struct { + _ struct{} `type:"structure"` + + // Information about the VPC. + Vpc *Vpc `locationName:"vpc" type:"structure"` +} + +// String returns the string representation +func (s CreateDefaultVpcOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDefaultVpcOutput) GoString() string { + return s.String() +} + +// SetVpc sets the Vpc field's value. +func (s *CreateDefaultVpcOutput) SetVpc(v *Vpc) *CreateDefaultVpcOutput { + s.Vpc = v + return s +} + // Contains the parameters for CreateDhcpOptions. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptionsRequest type CreateDhcpOptionsInput struct { @@ -25094,6 +25818,7 @@ func (s *CreateNetworkInterfaceOutput) SetNetworkInterface(v *NetworkInterface) return s } +// Contains the parameters for CreateNetworkInterfacePermission. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermissionRequest type CreateNetworkInterfacePermissionInput struct { _ struct{} `type:"structure"` @@ -25177,6 +25902,7 @@ func (s *CreateNetworkInterfacePermissionInput) SetPermission(v string) *CreateN return s } +// Contains the output of CreateNetworkInterfacePermission. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermissionResult type CreateNetworkInterfacePermissionOutput struct { _ struct{} `type:"structure"` @@ -27237,6 +27963,81 @@ func (s *DeleteFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteFlo return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImageRequest +type DeleteFpgaImageInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the AFI. + // + // FpgaImageId is a required field + FpgaImageId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteFpgaImageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFpgaImageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFpgaImageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFpgaImageInput"} + if s.FpgaImageId == nil { + invalidParams.Add(request.NewErrParamRequired("FpgaImageId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DeleteFpgaImageInput) SetDryRun(v bool) *DeleteFpgaImageInput { + s.DryRun = &v + return s +} + +// SetFpgaImageId sets the FpgaImageId field's value. +func (s *DeleteFpgaImageInput) SetFpgaImageId(v string) *DeleteFpgaImageInput { + s.FpgaImageId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImageResult +type DeleteFpgaImageOutput struct { + _ struct{} `type:"structure"` + + // Is true if the request succeeds, and an error otherwise. + Return *bool `locationName:"return" type:"boolean"` +} + +// String returns the string representation +func (s DeleteFpgaImageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFpgaImageOutput) GoString() string { + return s.String() +} + +// SetReturn sets the Return field's value. +func (s *DeleteFpgaImageOutput) SetReturn(v bool) *DeleteFpgaImageOutput { + s.Return = &v + return s +} + // Contains the parameters for DeleteInternetGateway. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGatewayRequest type DeleteInternetGatewayInput struct { @@ -27665,6 +28466,7 @@ func (s DeleteNetworkInterfaceOutput) GoString() string { return s.String() } +// Contains the parameters for DeleteNetworkInterfacePermission. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermissionRequest type DeleteNetworkInterfacePermissionInput struct { _ struct{} `type:"structure"` @@ -27726,6 +28528,7 @@ func (s *DeleteNetworkInterfacePermissionInput) SetNetworkInterfacePermissionId( return s } +// Contains the output for DeleteNetworkInterfacePermission. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermissionResult type DeleteNetworkInterfacePermissionOutput struct { _ struct{} `type:"structure"` @@ -28221,15 +29024,17 @@ type DeleteTagsInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // The ID of the resource. For example, ami-1a2b3c4d. You can specify more than - // one resource ID. + // The IDs of one or more resources. // // Resources is a required field Resources []*string `locationName:"resourceId" type:"list" required:"true"` - // One or more tags to delete. If you omit the value parameter, we delete the - // tag regardless of its value. If you specify this parameter with an empty - // string as the value, we delete the key only if its value is an empty string. + // One or more tags to delete. If you omit this parameter, we delete all tags + // for the specified resources. Specify a tag key and an optional tag value + // to delete specific tags. If you specify a tag key without a tag value, we + // delete any tag with this key regardless of its value. If you specify a tag + // key with an empty string as the tag value, we delete the tag only if its + // value is an empty string. Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"` } @@ -29665,6 +30470,126 @@ func (s *DescribeEgressOnlyInternetGatewaysOutput) SetNextToken(v string) *Descr return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpusRequest +type DescribeElasticGpusInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // One or more Elastic GPU IDs. + ElasticGpuIds []*string `locationName:"ElasticGpuId" locationNameList:"item" type:"list"` + + // One or more filters. + // + // * availability-zone - The Availability Zone in which the Elastic GPU resides. + // + // * elastic-gpu-health - The status of the Elastic GPU (OK | IMPAIRED). + // + // * elastic-gpu-state - The state of the Elastic GPU (ATTACHED). + // + // * elastic-gpu-type - The type of Elastic GPU; for example, eg1.medium. + // + // * instance-id - The ID of the instance to which the Elastic GPU is associated. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The maximum number of results to return in a single call. To retrieve the + // remaining results, make another call with the returned NextToken value. This + // value can be between 5 and 1000. + MaxResults *int64 `type:"integer"` + + // The token to request the next page of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeElasticGpusInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeElasticGpusInput) GoString() string { + return s.String() +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeElasticGpusInput) SetDryRun(v bool) *DescribeElasticGpusInput { + s.DryRun = &v + return s +} + +// SetElasticGpuIds sets the ElasticGpuIds field's value. +func (s *DescribeElasticGpusInput) SetElasticGpuIds(v []*string) *DescribeElasticGpusInput { + s.ElasticGpuIds = v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeElasticGpusInput) SetFilters(v []*Filter) *DescribeElasticGpusInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeElasticGpusInput) SetMaxResults(v int64) *DescribeElasticGpusInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeElasticGpusInput) SetNextToken(v string) *DescribeElasticGpusInput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpusResult +type DescribeElasticGpusOutput struct { + _ struct{} `type:"structure"` + + // Information about the Elastic GPUs. + ElasticGpuSet []*ElasticGpus `locationName:"elasticGpuSet" locationNameList:"item" type:"list"` + + // The total number of items to return. If the total number of items available + // is more than the value specified in max-items then a Next-Token will be provided + // in the output that you can use to resume pagination. + MaxResults *int64 `locationName:"maxResults" type:"integer"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s DescribeElasticGpusOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeElasticGpusOutput) GoString() string { + return s.String() +} + +// SetElasticGpuSet sets the ElasticGpuSet field's value. +func (s *DescribeElasticGpusOutput) SetElasticGpuSet(v []*ElasticGpus) *DescribeElasticGpusOutput { + s.ElasticGpuSet = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeElasticGpusOutput) SetMaxResults(v int64) *DescribeElasticGpusOutput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeElasticGpusOutput) SetNextToken(v string) *DescribeElasticGpusOutput { + s.NextToken = &v + return s +} + // Contains the parameters for DescribeExportTasks. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasksRequest type DescribeExportTasksInput struct { @@ -29816,6 +30741,95 @@ func (s *DescribeFlowLogsOutput) SetNextToken(v string) *DescribeFlowLogsOutput return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttributeRequest +type DescribeFpgaImageAttributeInput struct { + _ struct{} `type:"structure"` + + // The AFI attribute. + // + // Attribute is a required field + Attribute *string `type:"string" required:"true" enum:"FpgaImageAttributeName"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the AFI. + // + // FpgaImageId is a required field + FpgaImageId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeFpgaImageAttributeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFpgaImageAttributeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeFpgaImageAttributeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeFpgaImageAttributeInput"} + if s.Attribute == nil { + invalidParams.Add(request.NewErrParamRequired("Attribute")) + } + if s.FpgaImageId == nil { + invalidParams.Add(request.NewErrParamRequired("FpgaImageId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttribute sets the Attribute field's value. +func (s *DescribeFpgaImageAttributeInput) SetAttribute(v string) *DescribeFpgaImageAttributeInput { + s.Attribute = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeFpgaImageAttributeInput) SetDryRun(v bool) *DescribeFpgaImageAttributeInput { + s.DryRun = &v + return s +} + +// SetFpgaImageId sets the FpgaImageId field's value. +func (s *DescribeFpgaImageAttributeInput) SetFpgaImageId(v string) *DescribeFpgaImageAttributeInput { + s.FpgaImageId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttributeResult +type DescribeFpgaImageAttributeOutput struct { + _ struct{} `type:"structure"` + + // Information about the attribute. + FpgaImageAttribute *FpgaImageAttribute `locationName:"fpgaImageAttribute" type:"structure"` +} + +// String returns the string representation +func (s DescribeFpgaImageAttributeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFpgaImageAttributeOutput) GoString() string { + return s.String() +} + +// SetFpgaImageAttribute sets the FpgaImageAttribute field's value. +func (s *DescribeFpgaImageAttributeOutput) SetFpgaImageAttribute(v *FpgaImageAttribute) *DescribeFpgaImageAttributeOutput { + s.FpgaImageAttribute = v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImagesRequest type DescribeFpgaImagesInput struct { _ struct{} `type:"structure"` @@ -30067,7 +31081,7 @@ type DescribeHostReservationOfferingsOutput struct { NextToken *string `locationName:"nextToken" type:"string"` // Information about the offerings. - OfferingSet []*HostOffering `locationName:"offeringSet" type:"list"` + OfferingSet []*HostOffering `locationName:"offeringSet" locationNameList:"item" type:"list"` } // String returns the string representation @@ -30158,7 +31172,7 @@ type DescribeHostReservationsOutput struct { _ struct{} `type:"structure"` // Details about the reservation's configuration. - HostReservationSet []*HostReservation `locationName:"hostReservationSet" type:"list"` + HostReservationSet []*HostReservation `locationName:"hostReservationSet" locationNameList:"item" type:"list"` // The token to use to retrieve the next page of results. This value is null // when there are no more results to return. @@ -32075,6 +33089,22 @@ type DescribeNatGatewaysInput struct { // // * subnet-id - The ID of the subnet in which the NAT gateway resides. // + // * tag:key=value - The key/value combination of a tag assigned to the resource. + // Specify the key of the tag in the filter name and the value of the tag + // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose + // for the filter name and X for the filter value. + // + // * tag-key - The key of a tag assigned to the resource. This filter is + // independent of the tag-value filter. For example, if you use both the + // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources + // assigned both the tag key Purpose (regardless of what the tag's value + // is), and the tag value X (regardless of what the tag's key is). If you + // want to list only resources where Purpose is X, see the tag:key=value + // filter. + // + // * tag-value - The value of a tag assigned to the resource. This filter + // is independent of the tag-key filter. + // // * vpc-id - The ID of the VPC in which the NAT gateway resides. Filter []*Filter `locationNameList:"Filter" type:"list"` @@ -32411,6 +33441,7 @@ func (s *DescribeNetworkInterfaceAttributeOutput) SetSourceDestCheck(v *Attribut return s } +// Contains the parameters for DescribeNetworkInterfacePermissions. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissionsRequest type DescribeNetworkInterfacePermissionsInput struct { _ struct{} `type:"structure"` @@ -32477,6 +33508,7 @@ func (s *DescribeNetworkInterfacePermissionsInput) SetNextToken(v string) *Descr return s } +// Contains the output for DescribeNetworkInterfacePermissions. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissionsResult type DescribeNetworkInterfacePermissionsOutput struct { _ struct{} `type:"structure"` @@ -36679,10 +37711,19 @@ type DescribeVpcsInput struct { // One or more filters. // - // * cidr - The IPv4 CIDR block of the VPC. The CIDR block you specify must - // exactly match the VPC's CIDR block for information to be returned for - // the VPC. Must contain the slash followed by one or two digits (for example, - // /28). + // * cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you specify + // must exactly match the VPC's CIDR block for information to be returned + // for the VPC. Must contain the slash followed by one or two digits (for + // example, /28). + // + // * cidr-block-association.cidr-block - An IPv4 CIDR block associated with + // the VPC. + // + // * cidr-block-association.association-id - The association ID for an IPv4 + // CIDR block associated with the VPC. + // + // * cidr-block-association.state - The state of an IPv4 CIDR block associated + // with the VPC. // // * dhcp-options-id - The ID of a set of DHCP options. // @@ -37992,6 +39033,9 @@ func (s *DisassociateVpcCidrBlockInput) SetAssociationId(v string) *Disassociate type DisassociateVpcCidrBlockOutput struct { _ struct{} `type:"structure"` + // Information about the IPv4 CIDR block association. + CidrBlockAssociation *VpcCidrBlockAssociation `locationName:"cidrBlockAssociation" type:"structure"` + // Information about the IPv6 CIDR block association. Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"` @@ -38009,6 +39053,12 @@ func (s DisassociateVpcCidrBlockOutput) GoString() string { return s.String() } +// SetCidrBlockAssociation sets the CidrBlockAssociation field's value. +func (s *DisassociateVpcCidrBlockOutput) SetCidrBlockAssociation(v *VpcCidrBlockAssociation) *DisassociateVpcCidrBlockOutput { + s.CidrBlockAssociation = v + return s +} + // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value. func (s *DisassociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *DisassociateVpcCidrBlockOutput { s.Ipv6CidrBlockAssociation = v @@ -38475,6 +39525,193 @@ func (s *EgressOnlyInternetGateway) SetEgressOnlyInternetGatewayId(v string) *Eg return s } +// Describes the association between an instance and an Elastic GPU. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ElasticGpuAssociation +type ElasticGpuAssociation struct { + _ struct{} `type:"structure"` + + // The ID of the association. + ElasticGpuAssociationId *string `locationName:"elasticGpuAssociationId" type:"string"` + + // The state of the association between the instance and the Elastic GPU. + ElasticGpuAssociationState *string `locationName:"elasticGpuAssociationState" type:"string"` + + // The time the Elastic GPU was associated with the instance. + ElasticGpuAssociationTime *string `locationName:"elasticGpuAssociationTime" type:"string"` + + // The ID of the Elastic GPU. + ElasticGpuId *string `locationName:"elasticGpuId" type:"string"` +} + +// String returns the string representation +func (s ElasticGpuAssociation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ElasticGpuAssociation) GoString() string { + return s.String() +} + +// SetElasticGpuAssociationId sets the ElasticGpuAssociationId field's value. +func (s *ElasticGpuAssociation) SetElasticGpuAssociationId(v string) *ElasticGpuAssociation { + s.ElasticGpuAssociationId = &v + return s +} + +// SetElasticGpuAssociationState sets the ElasticGpuAssociationState field's value. +func (s *ElasticGpuAssociation) SetElasticGpuAssociationState(v string) *ElasticGpuAssociation { + s.ElasticGpuAssociationState = &v + return s +} + +// SetElasticGpuAssociationTime sets the ElasticGpuAssociationTime field's value. +func (s *ElasticGpuAssociation) SetElasticGpuAssociationTime(v string) *ElasticGpuAssociation { + s.ElasticGpuAssociationTime = &v + return s +} + +// SetElasticGpuId sets the ElasticGpuId field's value. +func (s *ElasticGpuAssociation) SetElasticGpuId(v string) *ElasticGpuAssociation { + s.ElasticGpuId = &v + return s +} + +// Describes the status of an Elastic GPU. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ElasticGpuHealth +type ElasticGpuHealth struct { + _ struct{} `type:"structure"` + + // The health status. + Status *string `locationName:"status" type:"string" enum:"ElasticGpuStatus"` +} + +// String returns the string representation +func (s ElasticGpuHealth) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ElasticGpuHealth) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *ElasticGpuHealth) SetStatus(v string) *ElasticGpuHealth { + s.Status = &v + return s +} + +// A specification for an Elastic GPU. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ElasticGpuSpecification +type ElasticGpuSpecification struct { + _ struct{} `type:"structure"` + + // The type of Elastic GPU. + // + // Type is a required field + Type *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ElasticGpuSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ElasticGpuSpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ElasticGpuSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ElasticGpuSpecification"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetType sets the Type field's value. +func (s *ElasticGpuSpecification) SetType(v string) *ElasticGpuSpecification { + s.Type = &v + return s +} + +// Describes an Elastic GPU. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ElasticGpus +type ElasticGpus struct { + _ struct{} `type:"structure"` + + // The Availability Zone in the which the Elastic GPU resides. + AvailabilityZone *string `locationName:"availabilityZone" type:"string"` + + // The status of the Elastic GPU. + ElasticGpuHealth *ElasticGpuHealth `locationName:"elasticGpuHealth" type:"structure"` + + // The ID of the Elastic GPU. + ElasticGpuId *string `locationName:"elasticGpuId" type:"string"` + + // The state of the Elastic GPU. + ElasticGpuState *string `locationName:"elasticGpuState" type:"string" enum:"ElasticGpuState"` + + // The type of Elastic GPU. + ElasticGpuType *string `locationName:"elasticGpuType" type:"string"` + + // The ID of the instance to which the Elastic GPU is attached. + InstanceId *string `locationName:"instanceId" type:"string"` +} + +// String returns the string representation +func (s ElasticGpus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ElasticGpus) GoString() string { + return s.String() +} + +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *ElasticGpus) SetAvailabilityZone(v string) *ElasticGpus { + s.AvailabilityZone = &v + return s +} + +// SetElasticGpuHealth sets the ElasticGpuHealth field's value. +func (s *ElasticGpus) SetElasticGpuHealth(v *ElasticGpuHealth) *ElasticGpus { + s.ElasticGpuHealth = v + return s +} + +// SetElasticGpuId sets the ElasticGpuId field's value. +func (s *ElasticGpus) SetElasticGpuId(v string) *ElasticGpus { + s.ElasticGpuId = &v + return s +} + +// SetElasticGpuState sets the ElasticGpuState field's value. +func (s *ElasticGpus) SetElasticGpuState(v string) *ElasticGpus { + s.ElasticGpuState = &v + return s +} + +// SetElasticGpuType sets the ElasticGpuType field's value. +func (s *ElasticGpus) SetElasticGpuType(v string) *ElasticGpus { + s.ElasticGpuType = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *ElasticGpus) SetInstanceId(v string) *ElasticGpus { + s.InstanceId = &v + return s +} + // Contains the parameters for EnableVgwRoutePropagation. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagationRequest type EnableVgwRoutePropagationInput struct { @@ -39182,6 +40419,9 @@ type FpgaImage struct { // The product codes for the AFI. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"` + // Indicates whether the AFI is public. + Public *bool `locationName:"public" type:"boolean"` + // The version of the AWS Shell that was used to create the bitstream. ShellVersion *string `locationName:"shellVersion" type:"string"` @@ -39259,6 +40499,12 @@ func (s *FpgaImage) SetProductCodes(v []*ProductCode) *FpgaImage { return s } +// SetPublic sets the Public field's value. +func (s *FpgaImage) SetPublic(v bool) *FpgaImage { + s.Public = &v + return s +} + // SetShellVersion sets the ShellVersion field's value. func (s *FpgaImage) SetShellVersion(v string) *FpgaImage { s.ShellVersion = &v @@ -39283,6 +40529,67 @@ func (s *FpgaImage) SetUpdateTime(v time.Time) *FpgaImage { return s } +// Describes an Amazon FPGA image (AFI) attribute. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FpgaImageAttribute +type FpgaImageAttribute struct { + _ struct{} `type:"structure"` + + // The description of the AFI. + Description *string `locationName:"description" type:"string"` + + // The ID of the AFI. + FpgaImageId *string `locationName:"fpgaImageId" type:"string"` + + // One or more load permissions. + LoadPermissions []*LoadPermission `locationName:"loadPermissions" locationNameList:"item" type:"list"` + + // The name of the AFI. + Name *string `locationName:"name" type:"string"` + + // One or more product codes. + ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s FpgaImageAttribute) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FpgaImageAttribute) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *FpgaImageAttribute) SetDescription(v string) *FpgaImageAttribute { + s.Description = &v + return s +} + +// SetFpgaImageId sets the FpgaImageId field's value. +func (s *FpgaImageAttribute) SetFpgaImageId(v string) *FpgaImageAttribute { + s.FpgaImageId = &v + return s +} + +// SetLoadPermissions sets the LoadPermissions field's value. +func (s *FpgaImageAttribute) SetLoadPermissions(v []*LoadPermission) *FpgaImageAttribute { + s.LoadPermissions = v + return s +} + +// SetName sets the Name field's value. +func (s *FpgaImageAttribute) SetName(v string) *FpgaImageAttribute { + s.Name = &v + return s +} + +// SetProductCodes sets the ProductCodes field's value. +func (s *FpgaImageAttribute) SetProductCodes(v []*ProductCode) *FpgaImageAttribute { + s.ProductCodes = v + return s +} + // Describes the state of the bitstream generation process for an Amazon FPGA // image (AFI). // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FpgaImageState @@ -39685,7 +40992,8 @@ type GetPasswordDataOutput struct { // The ID of the Windows instance. InstanceId *string `locationName:"instanceId" type:"string"` - // The password of the instance. + // The password of the instance. Returns an empty string if the password is + // not available. PasswordData *string `locationName:"passwordData" type:"string"` // The time the data was last updated. @@ -42116,6 +43424,9 @@ type Instance struct { // Optimized instance. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"` + // The Elastic GPU associated with the instance. + ElasticGpuAssociations []*ElasticGpuAssociation `locationName:"elasticGpuAssociationSet" locationNameList:"item" type:"list"` + // Specifies whether enhanced networking with ENA is enabled. EnaSupport *bool `locationName:"enaSupport" type:"boolean"` @@ -42273,6 +43584,12 @@ func (s *Instance) SetEbsOptimized(v bool) *Instance { return s } +// SetElasticGpuAssociations sets the ElasticGpuAssociations field's value. +func (s *Instance) SetElasticGpuAssociations(v []*ElasticGpuAssociation) *Instance { + s.ElasticGpuAssociations = v + return s +} + // SetEnaSupport sets the EnaSupport field's value. func (s *Instance) SetEnaSupport(v bool) *Instance { s.EnaSupport = &v @@ -43590,7 +44907,8 @@ type IpPermission struct { _ struct{} `type:"structure"` // The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 - // type number. A value of -1 indicates all ICMP/ICMPv6 types. + // type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify + // all ICMP/ICMPv6 types, you must specify all codes. FromPort *int64 `locationName:"fromPort" type:"integer"` // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)). @@ -43617,6 +44935,7 @@ type IpPermission struct { // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. // A value of -1 indicates all ICMP/ICMPv6 codes for the specified ICMP type. + // If you specify all ICMP/ICMPv6 types, you must specify all codes. ToPort *int64 `locationName:"toPort" type:"integer"` // One or more security group and AWS account ID pairs. @@ -43683,6 +45002,13 @@ type IpRange struct { // The IPv4 CIDR range. You can either specify a CIDR range or a source security // group, not both. To specify a single IPv4 address, use the /32 prefix. CidrIp *string `locationName:"cidrIp" type:"string"` + + // A description for the security group rule that references this IPv4 address + // range. + // + // Constraints: Up to 255 characters in length. Allowed characters are a-z, + // A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$* + Description *string `locationName:"description" type:"string"` } // String returns the string representation @@ -43701,6 +45027,12 @@ func (s *IpRange) SetCidrIp(v string) *IpRange { return s } +// SetDescription sets the Description field's value. +func (s *IpRange) SetDescription(v string) *IpRange { + s.Description = &v + return s +} + // Describes an IPv6 CIDR block. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Ipv6CidrBlock type Ipv6CidrBlock struct { @@ -43734,6 +45066,13 @@ type Ipv6Range struct { // The IPv6 CIDR range. You can either specify a CIDR range or a source security // group, not both. To specify a single IPv6 address, use the /128 prefix. CidrIpv6 *string `locationName:"cidrIpv6" type:"string"` + + // A description for the security group rule that references this IPv6 address + // range. + // + // Constraints: Up to 255 characters in length. Allowed characters are a-z, + // A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$* + Description *string `locationName:"description" type:"string"` } // String returns the string representation @@ -43752,6 +45091,12 @@ func (s *Ipv6Range) SetCidrIpv6(v string) *Ipv6Range { return s } +// SetDescription sets the Description field's value. +func (s *Ipv6Range) SetDescription(v string) *Ipv6Range { + s.Description = &v + return s +} + // Describes a key pair. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/KeyPairInfo type KeyPairInfo struct { @@ -44023,6 +45368,259 @@ func (s *LaunchSpecification) SetUserData(v string) *LaunchSpecification { return s } +// Describes a load permission. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LoadPermission +type LoadPermission struct { + _ struct{} `type:"structure"` + + // The name of the group. + Group *string `locationName:"group" type:"string" enum:"PermissionGroup"` + + // The AWS account ID. + UserId *string `locationName:"userId" type:"string"` +} + +// String returns the string representation +func (s LoadPermission) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LoadPermission) GoString() string { + return s.String() +} + +// SetGroup sets the Group field's value. +func (s *LoadPermission) SetGroup(v string) *LoadPermission { + s.Group = &v + return s +} + +// SetUserId sets the UserId field's value. +func (s *LoadPermission) SetUserId(v string) *LoadPermission { + s.UserId = &v + return s +} + +// Describes modifications to the load permissions of an Amazon FPGA image (AFI). +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LoadPermissionModifications +type LoadPermissionModifications struct { + _ struct{} `type:"structure"` + + // The load permissions to add. + Add []*LoadPermissionRequest `locationNameList:"item" type:"list"` + + // The load permissions to remove. + Remove []*LoadPermissionRequest `locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s LoadPermissionModifications) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LoadPermissionModifications) GoString() string { + return s.String() +} + +// SetAdd sets the Add field's value. +func (s *LoadPermissionModifications) SetAdd(v []*LoadPermissionRequest) *LoadPermissionModifications { + s.Add = v + return s +} + +// SetRemove sets the Remove field's value. +func (s *LoadPermissionModifications) SetRemove(v []*LoadPermissionRequest) *LoadPermissionModifications { + s.Remove = v + return s +} + +// Describes a load permission. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LoadPermissionRequest +type LoadPermissionRequest struct { + _ struct{} `type:"structure"` + + // The name of the group. + Group *string `type:"string" enum:"PermissionGroup"` + + // The AWS account ID. + UserId *string `type:"string"` +} + +// String returns the string representation +func (s LoadPermissionRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LoadPermissionRequest) GoString() string { + return s.String() +} + +// SetGroup sets the Group field's value. +func (s *LoadPermissionRequest) SetGroup(v string) *LoadPermissionRequest { + s.Group = &v + return s +} + +// SetUserId sets the UserId field's value. +func (s *LoadPermissionRequest) SetUserId(v string) *LoadPermissionRequest { + s.UserId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttributeRequest +type ModifyFpgaImageAttributeInput struct { + _ struct{} `type:"structure"` + + // The name of the attribute. + Attribute *string `type:"string" enum:"FpgaImageAttributeName"` + + // A description for the AFI. + Description *string `type:"string"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the AFI. + // + // FpgaImageId is a required field + FpgaImageId *string `type:"string" required:"true"` + + // The load permission for the AFI. + LoadPermission *LoadPermissionModifications `type:"structure"` + + // A name for the AFI. + Name *string `type:"string"` + + // The operation type. + OperationType *string `type:"string" enum:"OperationType"` + + // One or more product codes. After you add a product code to an AFI, it can't + // be removed. This parameter is valid only when modifying the productCodes + // attribute. + ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"` + + // One or more user groups. This parameter is valid only when modifying the + // loadPermission attribute. + UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"` + + // One or more AWS account IDs. This parameter is valid only when modifying + // the loadPermission attribute. + UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"` +} + +// String returns the string representation +func (s ModifyFpgaImageAttributeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyFpgaImageAttributeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyFpgaImageAttributeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyFpgaImageAttributeInput"} + if s.FpgaImageId == nil { + invalidParams.Add(request.NewErrParamRequired("FpgaImageId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttribute sets the Attribute field's value. +func (s *ModifyFpgaImageAttributeInput) SetAttribute(v string) *ModifyFpgaImageAttributeInput { + s.Attribute = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ModifyFpgaImageAttributeInput) SetDescription(v string) *ModifyFpgaImageAttributeInput { + s.Description = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ModifyFpgaImageAttributeInput) SetDryRun(v bool) *ModifyFpgaImageAttributeInput { + s.DryRun = &v + return s +} + +// SetFpgaImageId sets the FpgaImageId field's value. +func (s *ModifyFpgaImageAttributeInput) SetFpgaImageId(v string) *ModifyFpgaImageAttributeInput { + s.FpgaImageId = &v + return s +} + +// SetLoadPermission sets the LoadPermission field's value. +func (s *ModifyFpgaImageAttributeInput) SetLoadPermission(v *LoadPermissionModifications) *ModifyFpgaImageAttributeInput { + s.LoadPermission = v + return s +} + +// SetName sets the Name field's value. +func (s *ModifyFpgaImageAttributeInput) SetName(v string) *ModifyFpgaImageAttributeInput { + s.Name = &v + return s +} + +// SetOperationType sets the OperationType field's value. +func (s *ModifyFpgaImageAttributeInput) SetOperationType(v string) *ModifyFpgaImageAttributeInput { + s.OperationType = &v + return s +} + +// SetProductCodes sets the ProductCodes field's value. +func (s *ModifyFpgaImageAttributeInput) SetProductCodes(v []*string) *ModifyFpgaImageAttributeInput { + s.ProductCodes = v + return s +} + +// SetUserGroups sets the UserGroups field's value. +func (s *ModifyFpgaImageAttributeInput) SetUserGroups(v []*string) *ModifyFpgaImageAttributeInput { + s.UserGroups = v + return s +} + +// SetUserIds sets the UserIds field's value. +func (s *ModifyFpgaImageAttributeInput) SetUserIds(v []*string) *ModifyFpgaImageAttributeInput { + s.UserIds = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttributeResult +type ModifyFpgaImageAttributeOutput struct { + _ struct{} `type:"structure"` + + // Information about the attribute. + FpgaImageAttribute *FpgaImageAttribute `locationName:"fpgaImageAttribute" type:"structure"` +} + +// String returns the string representation +func (s ModifyFpgaImageAttributeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyFpgaImageAttributeOutput) GoString() string { + return s.String() +} + +// SetFpgaImageAttribute sets the FpgaImageAttribute field's value. +func (s *ModifyFpgaImageAttributeOutput) SetFpgaImageAttribute(v *FpgaImageAttribute) *ModifyFpgaImageAttributeOutput { + s.FpgaImageAttribute = v + return s +} + // Contains the parameters for ModifyHosts. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHostsRequest type ModifyHostsInput struct { @@ -46005,6 +47603,9 @@ type NatGateway struct { // The ID of the subnet in which the NAT gateway is located. SubnetId *string `locationName:"subnetId" type:"string"` + // The tags for the NAT gateway. + Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` + // The ID of the VPC in which the NAT gateway is located. VpcId *string `locationName:"vpcId" type:"string"` } @@ -46073,6 +47674,12 @@ func (s *NatGateway) SetSubnetId(v string) *NatGateway { return s } +// SetTags sets the Tags field's value. +func (s *NatGateway) SetTags(v []*Tag) *NatGateway { + s.Tags = v + return s +} + // SetVpcId sets the VpcId field's value. func (s *NatGateway) SetVpcId(v string) *NatGateway { s.VpcId = &v @@ -47265,6 +48872,13 @@ func (s *PrefixList) SetPrefixListName(v string) *PrefixList { type PrefixListId struct { _ struct{} `type:"structure"` + // A description for the security group rule that references this prefix list + // ID. + // + // Constraints: Up to 255 characters in length. Allowed characters are a-z, + // A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$* + Description *string `locationName:"description" type:"string"` + // The ID of the prefix. PrefixListId *string `locationName:"prefixListId" type:"string"` } @@ -47279,6 +48893,12 @@ func (s PrefixListId) GoString() string { return s.String() } +// SetDescription sets the Description field's value. +func (s *PrefixListId) SetDescription(v string) *PrefixListId { + s.Description = &v + return s +} + // SetPrefixListId sets the PrefixListId field's value. func (s *PrefixListId) SetPrefixListId(v string) *PrefixListId { s.PrefixListId = &v @@ -49507,6 +51127,9 @@ type RequestSpotInstancesInput struct { // Default: 1 InstanceCount *int64 `locationName:"instanceCount" type:"integer"` + // Indicates whether a Spot instance stops or terminates when it is interrupted. + InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"` + // The instance launch group. Launch groups are Spot instances that launch together // and terminate together. // @@ -49603,6 +51226,12 @@ func (s *RequestSpotInstancesInput) SetInstanceCount(v int64) *RequestSpotInstan return s } +// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value. +func (s *RequestSpotInstancesInput) SetInstanceInterruptionBehavior(v string) *RequestSpotInstancesInput { + s.InstanceInterruptionBehavior = &v + return s +} + // SetLaunchGroup sets the LaunchGroup field's value. func (s *RequestSpotInstancesInput) SetLaunchGroup(v string) *RequestSpotInstancesInput { s.LaunchGroup = &v @@ -50710,6 +52339,90 @@ func (s *ReservedInstancesOffering) SetUsagePrice(v float64) *ReservedInstancesO return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttributeRequest +type ResetFpgaImageAttributeInput struct { + _ struct{} `type:"structure"` + + // The attribute. + Attribute *string `type:"string" enum:"ResetFpgaImageAttributeName"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the AFI. + // + // FpgaImageId is a required field + FpgaImageId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ResetFpgaImageAttributeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResetFpgaImageAttributeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResetFpgaImageAttributeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResetFpgaImageAttributeInput"} + if s.FpgaImageId == nil { + invalidParams.Add(request.NewErrParamRequired("FpgaImageId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttribute sets the Attribute field's value. +func (s *ResetFpgaImageAttributeInput) SetAttribute(v string) *ResetFpgaImageAttributeInput { + s.Attribute = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ResetFpgaImageAttributeInput) SetDryRun(v bool) *ResetFpgaImageAttributeInput { + s.DryRun = &v + return s +} + +// SetFpgaImageId sets the FpgaImageId field's value. +func (s *ResetFpgaImageAttributeInput) SetFpgaImageId(v string) *ResetFpgaImageAttributeInput { + s.FpgaImageId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttributeResult +type ResetFpgaImageAttributeOutput struct { + _ struct{} `type:"structure"` + + // Is true if the request succeeds, and an error otherwise. + Return *bool `locationName:"return" type:"boolean"` +} + +// String returns the string representation +func (s ResetFpgaImageAttributeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResetFpgaImageAttributeOutput) GoString() string { + return s.String() +} + +// SetReturn sets the Return field's value. +func (s *ResetFpgaImageAttributeOutput) SetReturn(v bool) *ResetFpgaImageAttributeOutput { + s.Return = &v + return s +} + // Contains the parameters for ResetImageAttribute. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttributeRequest type ResetImageAttributeInput struct { @@ -51701,6 +53414,9 @@ type RunInstancesInput struct { // Default: false EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"` + // An Elastic GPU to associate with the instance. + ElasticGpuSpecification []*ElasticGpuSpecification `locationNameList:"item" type:"list"` + // The IAM instance profile. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"` @@ -51848,6 +53564,16 @@ func (s *RunInstancesInput) Validate() error { if s.MinCount == nil { invalidParams.Add(request.NewErrParamRequired("MinCount")) } + if s.ElasticGpuSpecification != nil { + for i, v := range s.ElasticGpuSpecification { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticGpuSpecification", i), err.(request.ErrInvalidParams)) + } + } + } if s.Monitoring != nil { if err := s.Monitoring.Validate(); err != nil { invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams)) @@ -51906,6 +53632,12 @@ func (s *RunInstancesInput) SetEbsOptimized(v bool) *RunInstancesInput { return s } +// SetElasticGpuSpecification sets the ElasticGpuSpecification field's value. +func (s *RunInstancesInput) SetElasticGpuSpecification(v []*ElasticGpuSpecification) *RunInstancesInput { + s.ElasticGpuSpecification = v + return s +} + // SetIamInstanceProfile sets the IamInstanceProfile field's value. func (s *RunInstancesInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RunInstancesInput { s.IamInstanceProfile = v @@ -54039,6 +55771,9 @@ type SpotFleetLaunchSpecification struct { // subnets, separate them using commas; for example, "subnet-a61dafcf, subnet-65ea5f08". SubnetId *string `locationName:"subnetId" type:"string"` + // The tags to apply during creation. + TagSpecifications []*SpotFleetTagSpecification `locationName:"tagSpecificationSet" locationNameList:"item" type:"list"` + // The user data to make available to the instances. If you are using an AWS // SDK or command line tool, Base64-encoding is performed for you, and you can // load the text from a file. Otherwise, you must provide Base64-encoded text. @@ -54174,6 +55909,12 @@ func (s *SpotFleetLaunchSpecification) SetSubnetId(v string) *SpotFleetLaunchSpe return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *SpotFleetLaunchSpecification) SetTagSpecifications(v []*SpotFleetTagSpecification) *SpotFleetLaunchSpecification { + s.TagSpecifications = v + return s +} + // SetUserData sets the UserData field's value. func (s *SpotFleetLaunchSpecification) SetUserData(v string) *SpotFleetLaunchSpecification { s.UserData = &v @@ -54316,6 +56057,9 @@ type SpotFleetRequestConfigData struct { // IamFleetRole is a required field IamFleetRole *string `locationName:"iamFleetRole" type:"string" required:"true"` + // Indicates whether a Spot instance stops or terminates when it is interrupted. + InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"` + // Information about the launch specifications for the Spot fleet request. // // LaunchSpecifications is a required field @@ -54435,6 +56179,12 @@ func (s *SpotFleetRequestConfigData) SetIamFleetRole(v string) *SpotFleetRequest return s } +// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value. +func (s *SpotFleetRequestConfigData) SetInstanceInterruptionBehavior(v string) *SpotFleetRequestConfigData { + s.InstanceInterruptionBehavior = &v + return s +} + // SetLaunchSpecifications sets the LaunchSpecifications field's value. func (s *SpotFleetRequestConfigData) SetLaunchSpecifications(v []*SpotFleetLaunchSpecification) *SpotFleetRequestConfigData { s.LaunchSpecifications = v @@ -54483,6 +56233,41 @@ func (s *SpotFleetRequestConfigData) SetValidUntil(v time.Time) *SpotFleetReques return s } +// The tags for a Spot fleet resource. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotFleetTagSpecification +type SpotFleetTagSpecification struct { + _ struct{} `type:"structure"` + + // The type of resource. Currently, the only resource type that is supported + // is instance. + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` + + // The tags. + Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s SpotFleetTagSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SpotFleetTagSpecification) GoString() string { + return s.String() +} + +// SetResourceType sets the ResourceType field's value. +func (s *SpotFleetTagSpecification) SetResourceType(v string) *SpotFleetTagSpecification { + s.ResourceType = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *SpotFleetTagSpecification) SetTags(v []*Tag) *SpotFleetTagSpecification { + s.Tags = v + return s +} + // Describes a Spot instance request. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotInstanceRequest type SpotInstanceRequest struct { @@ -54511,6 +56296,9 @@ type SpotInstanceRequest struct { // request. InstanceId *string `locationName:"instanceId" type:"string"` + // Indicates whether a Spot instance stops or terminates when it is interrupted. + InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"` + // The instance launch group. Launch groups are Spot instances that launch together // and terminate together. LaunchGroup *string `locationName:"launchGroup" type:"string"` @@ -54603,6 +56391,12 @@ func (s *SpotInstanceRequest) SetInstanceId(v string) *SpotInstanceRequest { return s } +// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value. +func (s *SpotInstanceRequest) SetInstanceInterruptionBehavior(v string) *SpotInstanceRequest { + s.InstanceInterruptionBehavior = &v + return s +} + // SetLaunchGroup sets the LaunchGroup field's value. func (s *SpotInstanceRequest) SetLaunchGroup(v string) *SpotInstanceRequest { s.LaunchGroup = &v @@ -55124,6 +56918,9 @@ type StateReason struct { // * Client.InstanceInitiatedShutdown: The instance was shut down using the // shutdown -h command from the instance. // + // * Client.InstanceTerminated: The instance was terminated or rebooted during + // AMI creation. + // // * Client.UserInitiatedShutdown: The instance was shut down using the Amazon // EC2 API. // @@ -56139,6 +57936,202 @@ func (s *UnsuccessfulItemError) SetMessage(v string) *UnsuccessfulItemError { return s } +// Contains the parameters for UpdateSecurityGroupRuleDescriptionsEgress. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgressRequest +type UpdateSecurityGroupRuleDescriptionsEgressInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the security group. You must specify either the security group + // ID or the security group name in the request. For security groups in a nondefault + // VPC, you must specify the security group ID. + GroupId *string `type:"string"` + + // [Default VPC] The name of the security group. You must specify either the + // security group ID or the security group name in the request. + GroupName *string `type:"string"` + + // The IP permissions for the security group rule. + // + // IpPermissions is a required field + IpPermissions []*IpPermission `locationNameList:"item" type:"list" required:"true"` +} + +// String returns the string representation +func (s UpdateSecurityGroupRuleDescriptionsEgressInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateSecurityGroupRuleDescriptionsEgressInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateSecurityGroupRuleDescriptionsEgressInput"} + if s.IpPermissions == nil { + invalidParams.Add(request.NewErrParamRequired("IpPermissions")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetDryRun(v bool) *UpdateSecurityGroupRuleDescriptionsEgressInput { + s.DryRun = &v + return s +} + +// SetGroupId sets the GroupId field's value. +func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetGroupId(v string) *UpdateSecurityGroupRuleDescriptionsEgressInput { + s.GroupId = &v + return s +} + +// SetGroupName sets the GroupName field's value. +func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetGroupName(v string) *UpdateSecurityGroupRuleDescriptionsEgressInput { + s.GroupName = &v + return s +} + +// SetIpPermissions sets the IpPermissions field's value. +func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetIpPermissions(v []*IpPermission) *UpdateSecurityGroupRuleDescriptionsEgressInput { + s.IpPermissions = v + return s +} + +// Contains the output of UpdateSecurityGroupRuleDescriptionsEgress. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgressResult +type UpdateSecurityGroupRuleDescriptionsEgressOutput struct { + _ struct{} `type:"structure"` + + // Returns true if the request succeeds; otherwise, returns an error. + Return *bool `locationName:"return" type:"boolean"` +} + +// String returns the string representation +func (s UpdateSecurityGroupRuleDescriptionsEgressOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateSecurityGroupRuleDescriptionsEgressOutput) GoString() string { + return s.String() +} + +// SetReturn sets the Return field's value. +func (s *UpdateSecurityGroupRuleDescriptionsEgressOutput) SetReturn(v bool) *UpdateSecurityGroupRuleDescriptionsEgressOutput { + s.Return = &v + return s +} + +// Contains the parameters for UpdateSecurityGroupRuleDescriptionsIngress. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngressRequest +type UpdateSecurityGroupRuleDescriptionsIngressInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the security group. You must specify either the security group + // ID or the security group name in the request. For security groups in a nondefault + // VPC, you must specify the security group ID. + GroupId *string `type:"string"` + + // [EC2-Classic, default VPC] The name of the security group. You must specify + // either the security group ID or the security group name in the request. + GroupName *string `type:"string"` + + // The IP permissions for the security group rule. + // + // IpPermissions is a required field + IpPermissions []*IpPermission `locationNameList:"item" type:"list" required:"true"` +} + +// String returns the string representation +func (s UpdateSecurityGroupRuleDescriptionsIngressInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateSecurityGroupRuleDescriptionsIngressInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateSecurityGroupRuleDescriptionsIngressInput"} + if s.IpPermissions == nil { + invalidParams.Add(request.NewErrParamRequired("IpPermissions")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetDryRun(v bool) *UpdateSecurityGroupRuleDescriptionsIngressInput { + s.DryRun = &v + return s +} + +// SetGroupId sets the GroupId field's value. +func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetGroupId(v string) *UpdateSecurityGroupRuleDescriptionsIngressInput { + s.GroupId = &v + return s +} + +// SetGroupName sets the GroupName field's value. +func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetGroupName(v string) *UpdateSecurityGroupRuleDescriptionsIngressInput { + s.GroupName = &v + return s +} + +// SetIpPermissions sets the IpPermissions field's value. +func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetIpPermissions(v []*IpPermission) *UpdateSecurityGroupRuleDescriptionsIngressInput { + s.IpPermissions = v + return s +} + +// Contains the output of UpdateSecurityGroupRuleDescriptionsIngress. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngressResult +type UpdateSecurityGroupRuleDescriptionsIngressOutput struct { + _ struct{} `type:"structure"` + + // Returns true if the request succeeds; otherwise, returns an error. + Return *bool `locationName:"return" type:"boolean"` +} + +// String returns the string representation +func (s UpdateSecurityGroupRuleDescriptionsIngressOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateSecurityGroupRuleDescriptionsIngressOutput) GoString() string { + return s.String() +} + +// SetReturn sets the Return field's value. +func (s *UpdateSecurityGroupRuleDescriptionsIngressOutput) SetReturn(v bool) *UpdateSecurityGroupRuleDescriptionsIngressOutput { + s.Return = &v + return s +} + // Describes the S3 bucket for the disk image. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UserBucket type UserBucket struct { @@ -56239,6 +58232,13 @@ func (s *UserData) SetData(v string) *UserData { type UserIdGroupPair struct { _ struct{} `type:"structure"` + // A description for the security group rule that references this user ID group + // pair. + // + // Constraints: Up to 255 characters in length. Allowed characters are a-z, + // A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$* + Description *string `locationName:"description" type:"string"` + // The ID of the security group. GroupId *string `locationName:"groupId" type:"string"` @@ -56274,6 +58274,12 @@ func (s UserIdGroupPair) GoString() string { return s.String() } +// SetDescription sets the Description field's value. +func (s *UserIdGroupPair) SetDescription(v string) *UserIdGroupPair { + s.Description = &v + return s +} + // SetGroupId sets the GroupId field's value. func (s *UserIdGroupPair) SetGroupId(v string) *UserIdGroupPair { s.GroupId = &v @@ -56995,9 +59001,12 @@ func (s *VolumeStatusItem) SetVolumeStatus(v *VolumeStatusInfo) *VolumeStatusIte type Vpc struct { _ struct{} `type:"structure"` - // The IPv4 CIDR block for the VPC. + // The primary IPv4 CIDR block for the VPC. CidrBlock *string `locationName:"cidrBlock" type:"string"` + // Information about the IPv4 CIDR blocks associated with the VPC. + CidrBlockAssociationSet []*VpcCidrBlockAssociation `locationName:"cidrBlockAssociationSet" locationNameList:"item" type:"list"` + // The ID of the set of DHCP options you've associated with the VPC (or default // if the default options are associated with the VPC). DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"` @@ -57037,6 +59046,12 @@ func (s *Vpc) SetCidrBlock(v string) *Vpc { return s } +// SetCidrBlockAssociationSet sets the CidrBlockAssociationSet field's value. +func (s *Vpc) SetCidrBlockAssociationSet(v []*VpcCidrBlockAssociation) *Vpc { + s.CidrBlockAssociationSet = v + return s +} + // SetDhcpOptionsId sets the DhcpOptionsId field's value. func (s *Vpc) SetDhcpOptionsId(v string) *Vpc { s.DhcpOptionsId = &v @@ -57113,6 +59128,49 @@ func (s *VpcAttachment) SetVpcId(v string) *VpcAttachment { return s } +// Describes an IPv4 CIDR block associated with a VPC. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcCidrBlockAssociation +type VpcCidrBlockAssociation struct { + _ struct{} `type:"structure"` + + // The association ID for the IPv4 CIDR block. + AssociationId *string `locationName:"associationId" type:"string"` + + // The IPv4 CIDR block. + CidrBlock *string `locationName:"cidrBlock" type:"string"` + + // Information about the state of the CIDR block. + CidrBlockState *VpcCidrBlockState `locationName:"cidrBlockState" type:"structure"` +} + +// String returns the string representation +func (s VpcCidrBlockAssociation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpcCidrBlockAssociation) GoString() string { + return s.String() +} + +// SetAssociationId sets the AssociationId field's value. +func (s *VpcCidrBlockAssociation) SetAssociationId(v string) *VpcCidrBlockAssociation { + s.AssociationId = &v + return s +} + +// SetCidrBlock sets the CidrBlock field's value. +func (s *VpcCidrBlockAssociation) SetCidrBlock(v string) *VpcCidrBlockAssociation { + s.CidrBlock = &v + return s +} + +// SetCidrBlockState sets the CidrBlockState field's value. +func (s *VpcCidrBlockAssociation) SetCidrBlockState(v *VpcCidrBlockState) *VpcCidrBlockAssociation { + s.CidrBlockState = v + return s +} + // Describes the state of a CIDR block. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcCidrBlockState type VpcCidrBlockState struct { @@ -57472,6 +59530,9 @@ type VpcPeeringConnectionVpcInfo struct { // The IPv4 CIDR block for the VPC. CidrBlock *string `locationName:"cidrBlock" type:"string"` + // Information about the IPv4 CIDR blocks for the VPC. + CidrBlockSet []*CidrBlock `locationName:"cidrBlockSet" locationNameList:"item" type:"list"` + // The IPv6 CIDR block for the VPC. Ipv6CidrBlockSet []*Ipv6CidrBlock `locationName:"ipv6CidrBlockSet" locationNameList:"item" type:"list"` @@ -57502,6 +59563,12 @@ func (s *VpcPeeringConnectionVpcInfo) SetCidrBlock(v string) *VpcPeeringConnecti return s } +// SetCidrBlockSet sets the CidrBlockSet field's value. +func (s *VpcPeeringConnectionVpcInfo) SetCidrBlockSet(v []*CidrBlock) *VpcPeeringConnectionVpcInfo { + s.CidrBlockSet = v + return s +} + // SetIpv6CidrBlockSet sets the Ipv6CidrBlockSet field's value. func (s *VpcPeeringConnectionVpcInfo) SetIpv6CidrBlockSet(v []*Ipv6CidrBlock) *VpcPeeringConnectionVpcInfo { s.Ipv6CidrBlockSet = v @@ -58036,6 +60103,19 @@ const ( DomainTypeStandard = "standard" ) +const ( + // ElasticGpuStateAttached is a ElasticGpuState enum value + ElasticGpuStateAttached = "ATTACHED" +) + +const ( + // ElasticGpuStatusOk is a ElasticGpuStatus enum value + ElasticGpuStatusOk = "OK" + + // ElasticGpuStatusImpaired is a ElasticGpuStatus enum value + ElasticGpuStatusImpaired = "IMPAIRED" +) + const ( // EventCodeInstanceReboot is a EventCode enum value EventCodeInstanceReboot = "instance-reboot" @@ -58116,6 +60196,20 @@ const ( FlowLogsResourceTypeNetworkInterface = "NetworkInterface" ) +const ( + // FpgaImageAttributeNameDescription is a FpgaImageAttributeName enum value + FpgaImageAttributeNameDescription = "description" + + // FpgaImageAttributeNameName is a FpgaImageAttributeName enum value + FpgaImageAttributeNameName = "name" + + // FpgaImageAttributeNameLoadPermission is a FpgaImageAttributeName enum value + FpgaImageAttributeNameLoadPermission = "loadPermission" + + // FpgaImageAttributeNameProductCodes is a FpgaImageAttributeName enum value + FpgaImageAttributeNameProductCodes = "productCodes" +) + const ( // FpgaImageStateCodePending is a FpgaImageStateCode enum value FpgaImageStateCodePending = "pending" @@ -58274,6 +60368,14 @@ const ( InstanceHealthStatusUnhealthy = "unhealthy" ) +const ( + // InstanceInterruptionBehaviorStop is a InstanceInterruptionBehavior enum value + InstanceInterruptionBehaviorStop = "stop" + + // InstanceInterruptionBehaviorTerminate is a InstanceInterruptionBehavior enum value + InstanceInterruptionBehaviorTerminate = "terminate" +) + const ( // InstanceLifecycleTypeSpot is a InstanceLifecycleType enum value InstanceLifecycleTypeSpot = "spot" @@ -58420,6 +60522,9 @@ const ( // InstanceTypeX132xlarge is a InstanceType enum value InstanceTypeX132xlarge = "x1.32xlarge" + // InstanceTypeX1e32xlarge is a InstanceType enum value + InstanceTypeX1e32xlarge = "x1e.32xlarge" + // InstanceTypeI2Xlarge is a InstanceType enum value InstanceTypeI2Xlarge = "i2.xlarge" @@ -58837,6 +60942,11 @@ const ( ReservedInstanceStateRetired = "retired" ) +const ( + // ResetFpgaImageAttributeNameLoadPermission is a ResetFpgaImageAttributeName enum value + ResetFpgaImageAttributeNameLoadPermission = "loadPermission" +) + const ( // ResetImageAttributeNameLaunchPermission is a ResetImageAttributeName enum value ResetImageAttributeNameLaunchPermission = "launchPermission" diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/customizations_test.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/customizations_test.go index 195d9b55b..08ff2cf0b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ec2/customizations_test.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/customizations_test.go @@ -3,22 +3,27 @@ package ec2_test import ( "io/ioutil" "net/url" + "regexp" "testing" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/awstesting/unit" "github.com/aws/aws-sdk-go/service/ec2" - "github.com/stretchr/testify/assert" ) func TestCopySnapshotPresignedURL(t *testing.T) { svc := ec2.New(unit.Session, &aws.Config{Region: aws.String("us-west-2")}) - assert.NotPanics(t, func() { + func() { + defer func() { + if r := recover(); r != nil { + t.Fatalf("expect CopySnapshotRequest with nill") + } + }() // Doesn't panic on nil input req, _ := svc.CopySnapshotRequest(nil) req.Sign() - }) + }() req, _ := svc.CopySnapshotRequest(&ec2.CopySnapshotInput{ SourceRegion: aws.String("us-west-1"), @@ -29,7 +34,15 @@ func TestCopySnapshotPresignedURL(t *testing.T) { b, _ := ioutil.ReadAll(req.HTTPRequest.Body) q, _ := url.ParseQuery(string(b)) u, _ := url.QueryUnescape(q.Get("PresignedUrl")) - assert.Equal(t, "us-west-2", q.Get("DestinationRegion")) - assert.Equal(t, "us-west-1", q.Get("SourceRegion")) - assert.Regexp(t, `^https://ec2\.us-west-1\.amazonaws\.com/.+&DestinationRegion=us-west-2`, u) + if e, a := "us-west-2", q.Get("DestinationRegion"); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "us-west-1", q.Get("SourceRegion"); e != a { + t.Errorf("expect %v, got %v", e, a) + } + + r := regexp.MustCompile(`^https://ec2\.us-west-1\.amazonaws\.com/.+&DestinationRegion=us-west-2`) + if !r.MatchString(u) { + t.Errorf("expect %v to match, got %v", r.String(), u) + } } diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go index 4aa6618b4..547167782 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go @@ -15,69 +15,17 @@ // // Using the Client // -// To use the client for Amazon Elastic Compute Cloud you will first need -// to create a new instance of it. +// To Amazon Elastic Compute Cloud with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := ec2.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Elastic Compute Cloud client EC2 for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/ec2/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AcceptReservedInstancesExchangeQuote(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AcceptReservedInstancesExchangeQuote result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AcceptReservedInstancesExchangeQuoteWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package ec2 diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/ec2iface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/ec2iface/interface.go index e752b7872..a52ea1483 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ec2/ec2iface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/ec2iface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Elastic Compute Cloud. @@ -172,6 +172,10 @@ type EC2API interface { ConfirmProductInstanceWithContext(aws.Context, *ec2.ConfirmProductInstanceInput, ...request.Option) (*ec2.ConfirmProductInstanceOutput, error) ConfirmProductInstanceRequest(*ec2.ConfirmProductInstanceInput) (*request.Request, *ec2.ConfirmProductInstanceOutput) + CopyFpgaImage(*ec2.CopyFpgaImageInput) (*ec2.CopyFpgaImageOutput, error) + CopyFpgaImageWithContext(aws.Context, *ec2.CopyFpgaImageInput, ...request.Option) (*ec2.CopyFpgaImageOutput, error) + CopyFpgaImageRequest(*ec2.CopyFpgaImageInput) (*request.Request, *ec2.CopyFpgaImageOutput) + CopyImage(*ec2.CopyImageInput) (*ec2.CopyImageOutput, error) CopyImageWithContext(aws.Context, *ec2.CopyImageInput, ...request.Option) (*ec2.CopyImageOutput, error) CopyImageRequest(*ec2.CopyImageInput) (*request.Request, *ec2.CopyImageOutput) @@ -184,6 +188,10 @@ type EC2API interface { CreateCustomerGatewayWithContext(aws.Context, *ec2.CreateCustomerGatewayInput, ...request.Option) (*ec2.CreateCustomerGatewayOutput, error) CreateCustomerGatewayRequest(*ec2.CreateCustomerGatewayInput) (*request.Request, *ec2.CreateCustomerGatewayOutput) + CreateDefaultVpc(*ec2.CreateDefaultVpcInput) (*ec2.CreateDefaultVpcOutput, error) + CreateDefaultVpcWithContext(aws.Context, *ec2.CreateDefaultVpcInput, ...request.Option) (*ec2.CreateDefaultVpcOutput, error) + CreateDefaultVpcRequest(*ec2.CreateDefaultVpcInput) (*request.Request, *ec2.CreateDefaultVpcOutput) + CreateDhcpOptions(*ec2.CreateDhcpOptionsInput) (*ec2.CreateDhcpOptionsOutput, error) CreateDhcpOptionsWithContext(aws.Context, *ec2.CreateDhcpOptionsInput, ...request.Option) (*ec2.CreateDhcpOptionsOutput, error) CreateDhcpOptionsRequest(*ec2.CreateDhcpOptionsInput) (*request.Request, *ec2.CreateDhcpOptionsOutput) @@ -316,6 +324,10 @@ type EC2API interface { DeleteFlowLogsWithContext(aws.Context, *ec2.DeleteFlowLogsInput, ...request.Option) (*ec2.DeleteFlowLogsOutput, error) DeleteFlowLogsRequest(*ec2.DeleteFlowLogsInput) (*request.Request, *ec2.DeleteFlowLogsOutput) + DeleteFpgaImage(*ec2.DeleteFpgaImageInput) (*ec2.DeleteFpgaImageOutput, error) + DeleteFpgaImageWithContext(aws.Context, *ec2.DeleteFpgaImageInput, ...request.Option) (*ec2.DeleteFpgaImageOutput, error) + DeleteFpgaImageRequest(*ec2.DeleteFpgaImageInput) (*request.Request, *ec2.DeleteFpgaImageOutput) + DeleteInternetGateway(*ec2.DeleteInternetGatewayInput) (*ec2.DeleteInternetGatewayOutput, error) DeleteInternetGatewayWithContext(aws.Context, *ec2.DeleteInternetGatewayInput, ...request.Option) (*ec2.DeleteInternetGatewayOutput, error) DeleteInternetGatewayRequest(*ec2.DeleteInternetGatewayInput) (*request.Request, *ec2.DeleteInternetGatewayOutput) @@ -444,6 +456,10 @@ type EC2API interface { DescribeEgressOnlyInternetGatewaysWithContext(aws.Context, *ec2.DescribeEgressOnlyInternetGatewaysInput, ...request.Option) (*ec2.DescribeEgressOnlyInternetGatewaysOutput, error) DescribeEgressOnlyInternetGatewaysRequest(*ec2.DescribeEgressOnlyInternetGatewaysInput) (*request.Request, *ec2.DescribeEgressOnlyInternetGatewaysOutput) + DescribeElasticGpus(*ec2.DescribeElasticGpusInput) (*ec2.DescribeElasticGpusOutput, error) + DescribeElasticGpusWithContext(aws.Context, *ec2.DescribeElasticGpusInput, ...request.Option) (*ec2.DescribeElasticGpusOutput, error) + DescribeElasticGpusRequest(*ec2.DescribeElasticGpusInput) (*request.Request, *ec2.DescribeElasticGpusOutput) + DescribeExportTasks(*ec2.DescribeExportTasksInput) (*ec2.DescribeExportTasksOutput, error) DescribeExportTasksWithContext(aws.Context, *ec2.DescribeExportTasksInput, ...request.Option) (*ec2.DescribeExportTasksOutput, error) DescribeExportTasksRequest(*ec2.DescribeExportTasksInput) (*request.Request, *ec2.DescribeExportTasksOutput) @@ -452,6 +468,10 @@ type EC2API interface { DescribeFlowLogsWithContext(aws.Context, *ec2.DescribeFlowLogsInput, ...request.Option) (*ec2.DescribeFlowLogsOutput, error) DescribeFlowLogsRequest(*ec2.DescribeFlowLogsInput) (*request.Request, *ec2.DescribeFlowLogsOutput) + DescribeFpgaImageAttribute(*ec2.DescribeFpgaImageAttributeInput) (*ec2.DescribeFpgaImageAttributeOutput, error) + DescribeFpgaImageAttributeWithContext(aws.Context, *ec2.DescribeFpgaImageAttributeInput, ...request.Option) (*ec2.DescribeFpgaImageAttributeOutput, error) + DescribeFpgaImageAttributeRequest(*ec2.DescribeFpgaImageAttributeInput) (*request.Request, *ec2.DescribeFpgaImageAttributeOutput) + DescribeFpgaImages(*ec2.DescribeFpgaImagesInput) (*ec2.DescribeFpgaImagesOutput, error) DescribeFpgaImagesWithContext(aws.Context, *ec2.DescribeFpgaImagesInput, ...request.Option) (*ec2.DescribeFpgaImagesOutput, error) DescribeFpgaImagesRequest(*ec2.DescribeFpgaImagesInput) (*request.Request, *ec2.DescribeFpgaImagesOutput) @@ -825,6 +845,10 @@ type EC2API interface { ImportVolumeWithContext(aws.Context, *ec2.ImportVolumeInput, ...request.Option) (*ec2.ImportVolumeOutput, error) ImportVolumeRequest(*ec2.ImportVolumeInput) (*request.Request, *ec2.ImportVolumeOutput) + ModifyFpgaImageAttribute(*ec2.ModifyFpgaImageAttributeInput) (*ec2.ModifyFpgaImageAttributeOutput, error) + ModifyFpgaImageAttributeWithContext(aws.Context, *ec2.ModifyFpgaImageAttributeInput, ...request.Option) (*ec2.ModifyFpgaImageAttributeOutput, error) + ModifyFpgaImageAttributeRequest(*ec2.ModifyFpgaImageAttributeInput) (*request.Request, *ec2.ModifyFpgaImageAttributeOutput) + ModifyHosts(*ec2.ModifyHostsInput) (*ec2.ModifyHostsOutput, error) ModifyHostsWithContext(aws.Context, *ec2.ModifyHostsInput, ...request.Option) (*ec2.ModifyHostsOutput, error) ModifyHostsRequest(*ec2.ModifyHostsInput) (*request.Request, *ec2.ModifyHostsOutput) @@ -961,6 +985,10 @@ type EC2API interface { RequestSpotInstancesWithContext(aws.Context, *ec2.RequestSpotInstancesInput, ...request.Option) (*ec2.RequestSpotInstancesOutput, error) RequestSpotInstancesRequest(*ec2.RequestSpotInstancesInput) (*request.Request, *ec2.RequestSpotInstancesOutput) + ResetFpgaImageAttribute(*ec2.ResetFpgaImageAttributeInput) (*ec2.ResetFpgaImageAttributeOutput, error) + ResetFpgaImageAttributeWithContext(aws.Context, *ec2.ResetFpgaImageAttributeInput, ...request.Option) (*ec2.ResetFpgaImageAttributeOutput, error) + ResetFpgaImageAttributeRequest(*ec2.ResetFpgaImageAttributeInput) (*request.Request, *ec2.ResetFpgaImageAttributeOutput) + ResetImageAttribute(*ec2.ResetImageAttributeInput) (*ec2.ResetImageAttributeOutput, error) ResetImageAttributeWithContext(aws.Context, *ec2.ResetImageAttributeInput, ...request.Option) (*ec2.ResetImageAttributeOutput, error) ResetImageAttributeRequest(*ec2.ResetImageAttributeInput) (*request.Request, *ec2.ResetImageAttributeOutput) @@ -1021,6 +1049,14 @@ type EC2API interface { UnmonitorInstancesWithContext(aws.Context, *ec2.UnmonitorInstancesInput, ...request.Option) (*ec2.UnmonitorInstancesOutput, error) UnmonitorInstancesRequest(*ec2.UnmonitorInstancesInput) (*request.Request, *ec2.UnmonitorInstancesOutput) + UpdateSecurityGroupRuleDescriptionsEgress(*ec2.UpdateSecurityGroupRuleDescriptionsEgressInput) (*ec2.UpdateSecurityGroupRuleDescriptionsEgressOutput, error) + UpdateSecurityGroupRuleDescriptionsEgressWithContext(aws.Context, *ec2.UpdateSecurityGroupRuleDescriptionsEgressInput, ...request.Option) (*ec2.UpdateSecurityGroupRuleDescriptionsEgressOutput, error) + UpdateSecurityGroupRuleDescriptionsEgressRequest(*ec2.UpdateSecurityGroupRuleDescriptionsEgressInput) (*request.Request, *ec2.UpdateSecurityGroupRuleDescriptionsEgressOutput) + + UpdateSecurityGroupRuleDescriptionsIngress(*ec2.UpdateSecurityGroupRuleDescriptionsIngressInput) (*ec2.UpdateSecurityGroupRuleDescriptionsIngressOutput, error) + UpdateSecurityGroupRuleDescriptionsIngressWithContext(aws.Context, *ec2.UpdateSecurityGroupRuleDescriptionsIngressInput, ...request.Option) (*ec2.UpdateSecurityGroupRuleDescriptionsIngressOutput, error) + UpdateSecurityGroupRuleDescriptionsIngressRequest(*ec2.UpdateSecurityGroupRuleDescriptionsIngressInput) (*request.Request, *ec2.UpdateSecurityGroupRuleDescriptionsIngressOutput) + WaitUntilBundleTaskComplete(*ec2.DescribeBundleTasksInput) error WaitUntilBundleTaskCompleteWithContext(aws.Context, *ec2.DescribeBundleTasksInput, ...request.WaiterOption) error diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/waiters.go index c0a655fa0..6914a666b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ec2/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/waiters.go @@ -11,7 +11,7 @@ import ( // WaitUntilBundleTaskComplete uses the Amazon EC2 API operation // DescribeBundleTasks to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilBundleTaskComplete(input *DescribeBundleTasksInput) error { return c.WaitUntilBundleTaskCompleteWithContext(aws.BackgroundContext(), input) @@ -62,7 +62,7 @@ func (c *EC2) WaitUntilBundleTaskCompleteWithContext(ctx aws.Context, input *Des // WaitUntilConversionTaskCancelled uses the Amazon EC2 API operation // DescribeConversionTasks to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilConversionTaskCancelled(input *DescribeConversionTasksInput) error { return c.WaitUntilConversionTaskCancelledWithContext(aws.BackgroundContext(), input) @@ -108,7 +108,7 @@ func (c *EC2) WaitUntilConversionTaskCancelledWithContext(ctx aws.Context, input // WaitUntilConversionTaskCompleted uses the Amazon EC2 API operation // DescribeConversionTasks to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilConversionTaskCompleted(input *DescribeConversionTasksInput) error { return c.WaitUntilConversionTaskCompletedWithContext(aws.BackgroundContext(), input) @@ -164,7 +164,7 @@ func (c *EC2) WaitUntilConversionTaskCompletedWithContext(ctx aws.Context, input // WaitUntilConversionTaskDeleted uses the Amazon EC2 API operation // DescribeConversionTasks to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilConversionTaskDeleted(input *DescribeConversionTasksInput) error { return c.WaitUntilConversionTaskDeletedWithContext(aws.BackgroundContext(), input) @@ -210,7 +210,7 @@ func (c *EC2) WaitUntilConversionTaskDeletedWithContext(ctx aws.Context, input * // WaitUntilCustomerGatewayAvailable uses the Amazon EC2 API operation // DescribeCustomerGateways to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilCustomerGatewayAvailable(input *DescribeCustomerGatewaysInput) error { return c.WaitUntilCustomerGatewayAvailableWithContext(aws.BackgroundContext(), input) @@ -266,7 +266,7 @@ func (c *EC2) WaitUntilCustomerGatewayAvailableWithContext(ctx aws.Context, inpu // WaitUntilExportTaskCancelled uses the Amazon EC2 API operation // DescribeExportTasks to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilExportTaskCancelled(input *DescribeExportTasksInput) error { return c.WaitUntilExportTaskCancelledWithContext(aws.BackgroundContext(), input) @@ -312,7 +312,7 @@ func (c *EC2) WaitUntilExportTaskCancelledWithContext(ctx aws.Context, input *De // WaitUntilExportTaskCompleted uses the Amazon EC2 API operation // DescribeExportTasks to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilExportTaskCompleted(input *DescribeExportTasksInput) error { return c.WaitUntilExportTaskCompletedWithContext(aws.BackgroundContext(), input) @@ -358,7 +358,7 @@ func (c *EC2) WaitUntilExportTaskCompletedWithContext(ctx aws.Context, input *De // WaitUntilImageAvailable uses the Amazon EC2 API operation // DescribeImages to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilImageAvailable(input *DescribeImagesInput) error { return c.WaitUntilImageAvailableWithContext(aws.BackgroundContext(), input) @@ -409,7 +409,7 @@ func (c *EC2) WaitUntilImageAvailableWithContext(ctx aws.Context, input *Describ // WaitUntilImageExists uses the Amazon EC2 API operation // DescribeImages to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilImageExists(input *DescribeImagesInput) error { return c.WaitUntilImageExistsWithContext(aws.BackgroundContext(), input) @@ -460,7 +460,7 @@ func (c *EC2) WaitUntilImageExistsWithContext(ctx aws.Context, input *DescribeIm // WaitUntilInstanceExists uses the Amazon EC2 API operation // DescribeInstances to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilInstanceExists(input *DescribeInstancesInput) error { return c.WaitUntilInstanceExistsWithContext(aws.BackgroundContext(), input) @@ -511,7 +511,7 @@ func (c *EC2) WaitUntilInstanceExistsWithContext(ctx aws.Context, input *Describ // WaitUntilInstanceRunning uses the Amazon EC2 API operation // DescribeInstances to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilInstanceRunning(input *DescribeInstancesInput) error { return c.WaitUntilInstanceRunningWithContext(aws.BackgroundContext(), input) @@ -577,7 +577,7 @@ func (c *EC2) WaitUntilInstanceRunningWithContext(ctx aws.Context, input *Descri // WaitUntilInstanceStatusOk uses the Amazon EC2 API operation // DescribeInstanceStatus to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilInstanceStatusOk(input *DescribeInstanceStatusInput) error { return c.WaitUntilInstanceStatusOkWithContext(aws.BackgroundContext(), input) @@ -628,7 +628,7 @@ func (c *EC2) WaitUntilInstanceStatusOkWithContext(ctx aws.Context, input *Descr // WaitUntilInstanceStopped uses the Amazon EC2 API operation // DescribeInstances to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilInstanceStopped(input *DescribeInstancesInput) error { return c.WaitUntilInstanceStoppedWithContext(aws.BackgroundContext(), input) @@ -684,7 +684,7 @@ func (c *EC2) WaitUntilInstanceStoppedWithContext(ctx aws.Context, input *Descri // WaitUntilInstanceTerminated uses the Amazon EC2 API operation // DescribeInstances to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilInstanceTerminated(input *DescribeInstancesInput) error { return c.WaitUntilInstanceTerminatedWithContext(aws.BackgroundContext(), input) @@ -740,7 +740,7 @@ func (c *EC2) WaitUntilInstanceTerminatedWithContext(ctx aws.Context, input *Des // WaitUntilKeyPairExists uses the Amazon EC2 API operation // DescribeKeyPairs to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilKeyPairExists(input *DescribeKeyPairsInput) error { return c.WaitUntilKeyPairExistsWithContext(aws.BackgroundContext(), input) @@ -791,7 +791,7 @@ func (c *EC2) WaitUntilKeyPairExistsWithContext(ctx aws.Context, input *Describe // WaitUntilNatGatewayAvailable uses the Amazon EC2 API operation // DescribeNatGateways to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilNatGatewayAvailable(input *DescribeNatGatewaysInput) error { return c.WaitUntilNatGatewayAvailableWithContext(aws.BackgroundContext(), input) @@ -857,7 +857,7 @@ func (c *EC2) WaitUntilNatGatewayAvailableWithContext(ctx aws.Context, input *De // WaitUntilNetworkInterfaceAvailable uses the Amazon EC2 API operation // DescribeNetworkInterfaces to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilNetworkInterfaceAvailable(input *DescribeNetworkInterfacesInput) error { return c.WaitUntilNetworkInterfaceAvailableWithContext(aws.BackgroundContext(), input) @@ -908,7 +908,7 @@ func (c *EC2) WaitUntilNetworkInterfaceAvailableWithContext(ctx aws.Context, inp // WaitUntilPasswordDataAvailable uses the Amazon EC2 API operation // GetPasswordData to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilPasswordDataAvailable(input *GetPasswordDataInput) error { return c.WaitUntilPasswordDataAvailableWithContext(aws.BackgroundContext(), input) @@ -954,7 +954,7 @@ func (c *EC2) WaitUntilPasswordDataAvailableWithContext(ctx aws.Context, input * // WaitUntilSnapshotCompleted uses the Amazon EC2 API operation // DescribeSnapshots to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilSnapshotCompleted(input *DescribeSnapshotsInput) error { return c.WaitUntilSnapshotCompletedWithContext(aws.BackgroundContext(), input) @@ -1000,7 +1000,7 @@ func (c *EC2) WaitUntilSnapshotCompletedWithContext(ctx aws.Context, input *Desc // WaitUntilSpotInstanceRequestFulfilled uses the Amazon EC2 API operation // DescribeSpotInstanceRequests to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilSpotInstanceRequestFulfilled(input *DescribeSpotInstanceRequestsInput) error { return c.WaitUntilSpotInstanceRequestFulfilledWithContext(aws.BackgroundContext(), input) @@ -1045,6 +1045,11 @@ func (c *EC2) WaitUntilSpotInstanceRequestFulfilledWithContext(ctx aws.Context, Matcher: request.PathAnyWaiterMatch, Argument: "SpotInstanceRequests[].Status.Code", Expected: "system-error", }, + { + State: request.RetryWaiterState, + Matcher: request.ErrorWaiterMatch, + Expected: "InvalidSpotInstanceRequestID.NotFound", + }, }, Logger: c.Config.Logger, NewRequest: func(opts []request.Option) (*request.Request, error) { @@ -1066,7 +1071,7 @@ func (c *EC2) WaitUntilSpotInstanceRequestFulfilledWithContext(ctx aws.Context, // WaitUntilSubnetAvailable uses the Amazon EC2 API operation // DescribeSubnets to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilSubnetAvailable(input *DescribeSubnetsInput) error { return c.WaitUntilSubnetAvailableWithContext(aws.BackgroundContext(), input) @@ -1112,7 +1117,7 @@ func (c *EC2) WaitUntilSubnetAvailableWithContext(ctx aws.Context, input *Descri // WaitUntilSystemStatusOk uses the Amazon EC2 API operation // DescribeInstanceStatus to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilSystemStatusOk(input *DescribeInstanceStatusInput) error { return c.WaitUntilSystemStatusOkWithContext(aws.BackgroundContext(), input) @@ -1158,7 +1163,7 @@ func (c *EC2) WaitUntilSystemStatusOkWithContext(ctx aws.Context, input *Describ // WaitUntilVolumeAvailable uses the Amazon EC2 API operation // DescribeVolumes to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilVolumeAvailable(input *DescribeVolumesInput) error { return c.WaitUntilVolumeAvailableWithContext(aws.BackgroundContext(), input) @@ -1209,7 +1214,7 @@ func (c *EC2) WaitUntilVolumeAvailableWithContext(ctx aws.Context, input *Descri // WaitUntilVolumeDeleted uses the Amazon EC2 API operation // DescribeVolumes to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilVolumeDeleted(input *DescribeVolumesInput) error { return c.WaitUntilVolumeDeletedWithContext(aws.BackgroundContext(), input) @@ -1260,7 +1265,7 @@ func (c *EC2) WaitUntilVolumeDeletedWithContext(ctx aws.Context, input *Describe // WaitUntilVolumeInUse uses the Amazon EC2 API operation // DescribeVolumes to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilVolumeInUse(input *DescribeVolumesInput) error { return c.WaitUntilVolumeInUseWithContext(aws.BackgroundContext(), input) @@ -1311,7 +1316,7 @@ func (c *EC2) WaitUntilVolumeInUseWithContext(ctx aws.Context, input *DescribeVo // WaitUntilVpcAvailable uses the Amazon EC2 API operation // DescribeVpcs to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilVpcAvailable(input *DescribeVpcsInput) error { return c.WaitUntilVpcAvailableWithContext(aws.BackgroundContext(), input) @@ -1357,7 +1362,7 @@ func (c *EC2) WaitUntilVpcAvailableWithContext(ctx aws.Context, input *DescribeV // WaitUntilVpcExists uses the Amazon EC2 API operation // DescribeVpcs to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilVpcExists(input *DescribeVpcsInput) error { return c.WaitUntilVpcExistsWithContext(aws.BackgroundContext(), input) @@ -1408,7 +1413,7 @@ func (c *EC2) WaitUntilVpcExistsWithContext(ctx aws.Context, input *DescribeVpcs // WaitUntilVpcPeeringConnectionDeleted uses the Amazon EC2 API operation // DescribeVpcPeeringConnections to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilVpcPeeringConnectionDeleted(input *DescribeVpcPeeringConnectionsInput) error { return c.WaitUntilVpcPeeringConnectionDeletedWithContext(aws.BackgroundContext(), input) @@ -1459,7 +1464,7 @@ func (c *EC2) WaitUntilVpcPeeringConnectionDeletedWithContext(ctx aws.Context, i // WaitUntilVpcPeeringConnectionExists uses the Amazon EC2 API operation // DescribeVpcPeeringConnections to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilVpcPeeringConnectionExists(input *DescribeVpcPeeringConnectionsInput) error { return c.WaitUntilVpcPeeringConnectionExistsWithContext(aws.BackgroundContext(), input) @@ -1510,7 +1515,7 @@ func (c *EC2) WaitUntilVpcPeeringConnectionExistsWithContext(ctx aws.Context, in // WaitUntilVpnConnectionAvailable uses the Amazon EC2 API operation // DescribeVpnConnections to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilVpnConnectionAvailable(input *DescribeVpnConnectionsInput) error { return c.WaitUntilVpnConnectionAvailableWithContext(aws.BackgroundContext(), input) @@ -1566,7 +1571,7 @@ func (c *EC2) WaitUntilVpnConnectionAvailableWithContext(ctx aws.Context, input // WaitUntilVpnConnectionDeleted uses the Amazon EC2 API operation // DescribeVpnConnections to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EC2) WaitUntilVpnConnectionDeleted(input *DescribeVpnConnectionsInput) error { return c.WaitUntilVpnConnectionDeletedWithContext(aws.BackgroundContext(), input) diff --git a/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go b/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go index c06242daa..f9136852f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go @@ -14,19 +14,18 @@ const opBatchCheckLayerAvailability = "BatchCheckLayerAvailability" // BatchCheckLayerAvailabilityRequest generates a "aws/request.Request" representing the // client's request for the BatchCheckLayerAvailability operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See BatchCheckLayerAvailability for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the BatchCheckLayerAvailability method directly -// instead. +// See BatchCheckLayerAvailability for more information on using the BatchCheckLayerAvailability +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the BatchCheckLayerAvailabilityRequest method. // req, resp := client.BatchCheckLayerAvailabilityRequest(params) @@ -107,19 +106,18 @@ const opBatchDeleteImage = "BatchDeleteImage" // BatchDeleteImageRequest generates a "aws/request.Request" representing the // client's request for the BatchDeleteImage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See BatchDeleteImage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the BatchDeleteImage method directly -// instead. +// See BatchDeleteImage for more information on using the BatchDeleteImage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the BatchDeleteImageRequest method. // req, resp := client.BatchDeleteImageRequest(params) @@ -203,19 +201,18 @@ const opBatchGetImage = "BatchGetImage" // BatchGetImageRequest generates a "aws/request.Request" representing the // client's request for the BatchGetImage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See BatchGetImage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the BatchGetImage method directly -// instead. +// See BatchGetImage for more information on using the BatchGetImage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the BatchGetImageRequest method. // req, resp := client.BatchGetImageRequest(params) @@ -292,19 +289,18 @@ const opCompleteLayerUpload = "CompleteLayerUpload" // CompleteLayerUploadRequest generates a "aws/request.Request" representing the // client's request for the CompleteLayerUpload operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CompleteLayerUpload for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CompleteLayerUpload method directly -// instead. +// See CompleteLayerUpload for more information on using the CompleteLayerUpload +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CompleteLayerUploadRequest method. // req, resp := client.CompleteLayerUploadRequest(params) @@ -403,19 +399,18 @@ const opCreateRepository = "CreateRepository" // CreateRepositoryRequest generates a "aws/request.Request" representing the // client's request for the CreateRepository operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateRepository for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateRepository method directly -// instead. +// See CreateRepository for more information on using the CreateRepository +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateRepositoryRequest method. // req, resp := client.CreateRepositoryRequest(params) @@ -496,19 +491,18 @@ const opDeleteRepository = "DeleteRepository" // DeleteRepositoryRequest generates a "aws/request.Request" representing the // client's request for the DeleteRepository operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteRepository for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteRepository method directly -// instead. +// See DeleteRepository for more information on using the DeleteRepository +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteRepositoryRequest method. // req, resp := client.DeleteRepositoryRequest(params) @@ -589,19 +583,18 @@ const opDeleteRepositoryPolicy = "DeleteRepositoryPolicy" // DeleteRepositoryPolicyRequest generates a "aws/request.Request" representing the // client's request for the DeleteRepositoryPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteRepositoryPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteRepositoryPolicy method directly -// instead. +// See DeleteRepositoryPolicy for more information on using the DeleteRepositoryPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteRepositoryPolicyRequest method. // req, resp := client.DeleteRepositoryPolicyRequest(params) @@ -681,19 +674,18 @@ const opDescribeImages = "DescribeImages" // DescribeImagesRequest generates a "aws/request.Request" representing the // client's request for the DescribeImages operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeImages for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeImages method directly -// instead. +// See DescribeImages for more information on using the DescribeImages +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeImagesRequest method. // req, resp := client.DescribeImagesRequest(params) @@ -834,19 +826,18 @@ const opDescribeRepositories = "DescribeRepositories" // DescribeRepositoriesRequest generates a "aws/request.Request" representing the // client's request for the DescribeRepositories operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeRepositories for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeRepositories method directly -// instead. +// See DescribeRepositories for more information on using the DescribeRepositories +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeRepositoriesRequest method. // req, resp := client.DescribeRepositoriesRequest(params) @@ -978,19 +969,18 @@ const opGetAuthorizationToken = "GetAuthorizationToken" // GetAuthorizationTokenRequest generates a "aws/request.Request" representing the // client's request for the GetAuthorizationToken operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetAuthorizationToken for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetAuthorizationToken method directly -// instead. +// See GetAuthorizationToken for more information on using the GetAuthorizationToken +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetAuthorizationTokenRequest method. // req, resp := client.GetAuthorizationTokenRequest(params) @@ -1069,19 +1059,18 @@ const opGetDownloadUrlForLayer = "GetDownloadUrlForLayer" // GetDownloadUrlForLayerRequest generates a "aws/request.Request" representing the // client's request for the GetDownloadUrlForLayer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDownloadUrlForLayer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDownloadUrlForLayer method directly -// instead. +// See GetDownloadUrlForLayer for more information on using the GetDownloadUrlForLayer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDownloadUrlForLayerRequest method. // req, resp := client.GetDownloadUrlForLayerRequest(params) @@ -1170,19 +1159,18 @@ const opGetRepositoryPolicy = "GetRepositoryPolicy" // GetRepositoryPolicyRequest generates a "aws/request.Request" representing the // client's request for the GetRepositoryPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetRepositoryPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetRepositoryPolicy method directly -// instead. +// See GetRepositoryPolicy for more information on using the GetRepositoryPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetRepositoryPolicyRequest method. // req, resp := client.GetRepositoryPolicyRequest(params) @@ -1262,19 +1250,18 @@ const opInitiateLayerUpload = "InitiateLayerUpload" // InitiateLayerUploadRequest generates a "aws/request.Request" representing the // client's request for the InitiateLayerUpload operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InitiateLayerUpload for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InitiateLayerUpload method directly -// instead. +// See InitiateLayerUpload for more information on using the InitiateLayerUpload +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InitiateLayerUploadRequest method. // req, resp := client.InitiateLayerUploadRequest(params) @@ -1354,19 +1341,18 @@ const opListImages = "ListImages" // ListImagesRequest generates a "aws/request.Request" representing the // client's request for the ListImages operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListImages for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListImages method directly -// instead. +// See ListImages for more information on using the ListImages +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListImagesRequest method. // req, resp := client.ListImagesRequest(params) @@ -1504,19 +1490,18 @@ const opPutImage = "PutImage" // PutImageRequest generates a "aws/request.Request" representing the // client's request for the PutImage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutImage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutImage method directly -// instead. +// See PutImage for more information on using the PutImage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutImageRequest method. // req, resp := client.PutImageRequest(params) @@ -1610,19 +1595,18 @@ const opSetRepositoryPolicy = "SetRepositoryPolicy" // SetRepositoryPolicyRequest generates a "aws/request.Request" representing the // client's request for the SetRepositoryPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetRepositoryPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetRepositoryPolicy method directly -// instead. +// See SetRepositoryPolicy for more information on using the SetRepositoryPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetRepositoryPolicyRequest method. // req, resp := client.SetRepositoryPolicyRequest(params) @@ -1698,19 +1682,18 @@ const opUploadLayerPart = "UploadLayerPart" // UploadLayerPartRequest generates a "aws/request.Request" representing the // client's request for the UploadLayerPart operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UploadLayerPart for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UploadLayerPart method directly -// instead. +// See UploadLayerPart for more information on using the UploadLayerPart +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UploadLayerPartRequest method. // req, resp := client.UploadLayerPartRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/ecr/doc.go b/vendor/github.com/aws/aws-sdk-go/service/ecr/doc.go index 004e50f0a..987aa72fa 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ecr/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ecr/doc.go @@ -17,69 +17,17 @@ // // Using the Client // -// To use the client for Amazon EC2 Container Registry you will first need -// to create a new instance of it. +// To Amazon EC2 Container Registry with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := ecr.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon EC2 Container Registry client ECR for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/ecr/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.BatchCheckLayerAvailability(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("BatchCheckLayerAvailability result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.BatchCheckLayerAvailabilityWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package ecr diff --git a/vendor/github.com/aws/aws-sdk-go/service/ecr/ecriface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/ecr/ecriface/interface.go index bded548c8..ab3a8cf73 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ecr/ecriface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ecr/ecriface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon EC2 Container Registry. diff --git a/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go b/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go index 35f5da50f..4108e46c6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go @@ -15,19 +15,18 @@ const opCreateCluster = "CreateCluster" // CreateClusterRequest generates a "aws/request.Request" representing the // client's request for the CreateCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateCluster method directly -// instead. +// See CreateCluster for more information on using the CreateCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateClusterRequest method. // req, resp := client.CreateClusterRequest(params) @@ -106,19 +105,18 @@ const opCreateService = "CreateService" // CreateServiceRequest generates a "aws/request.Request" representing the // client's request for the CreateService operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateService for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateService method directly -// instead. +// See CreateService for more information on using the CreateService +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateServiceRequest method. // req, resp := client.CreateServiceRequest(params) @@ -257,19 +255,18 @@ const opDeleteAttributes = "DeleteAttributes" // DeleteAttributesRequest generates a "aws/request.Request" representing the // client's request for the DeleteAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteAttributes method directly -// instead. +// See DeleteAttributes for more information on using the DeleteAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteAttributesRequest method. // req, resp := client.DeleteAttributesRequest(params) @@ -347,19 +344,18 @@ const opDeleteCluster = "DeleteCluster" // DeleteClusterRequest generates a "aws/request.Request" representing the // client's request for the DeleteCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteCluster method directly -// instead. +// See DeleteCluster for more information on using the DeleteCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteClusterRequest method. // req, resp := client.DeleteClusterRequest(params) @@ -452,19 +448,18 @@ const opDeleteService = "DeleteService" // DeleteServiceRequest generates a "aws/request.Request" representing the // client's request for the DeleteService operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteService for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteService method directly -// instead. +// See DeleteService for more information on using the DeleteService +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteServiceRequest method. // req, resp := client.DeleteServiceRequest(params) @@ -562,19 +557,18 @@ const opDeregisterContainerInstance = "DeregisterContainerInstance" // DeregisterContainerInstanceRequest generates a "aws/request.Request" representing the // client's request for the DeregisterContainerInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeregisterContainerInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeregisterContainerInstance method directly -// instead. +// See DeregisterContainerInstance for more information on using the DeregisterContainerInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeregisterContainerInstanceRequest method. // req, resp := client.DeregisterContainerInstanceRequest(params) @@ -669,19 +663,18 @@ const opDeregisterTaskDefinition = "DeregisterTaskDefinition" // DeregisterTaskDefinitionRequest generates a "aws/request.Request" representing the // client's request for the DeregisterTaskDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeregisterTaskDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeregisterTaskDefinition method directly -// instead. +// See DeregisterTaskDefinition for more information on using the DeregisterTaskDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeregisterTaskDefinitionRequest method. // req, resp := client.DeregisterTaskDefinitionRequest(params) @@ -772,19 +765,18 @@ const opDescribeClusters = "DescribeClusters" // DescribeClustersRequest generates a "aws/request.Request" representing the // client's request for the DescribeClusters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeClusters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeClusters method directly -// instead. +// See DescribeClusters for more information on using the DescribeClusters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeClustersRequest method. // req, resp := client.DescribeClustersRequest(params) @@ -861,19 +853,18 @@ const opDescribeContainerInstances = "DescribeContainerInstances" // DescribeContainerInstancesRequest generates a "aws/request.Request" representing the // client's request for the DescribeContainerInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeContainerInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeContainerInstances method directly -// instead. +// See DescribeContainerInstances for more information on using the DescribeContainerInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeContainerInstancesRequest method. // req, resp := client.DescribeContainerInstancesRequest(params) @@ -955,19 +946,18 @@ const opDescribeServices = "DescribeServices" // DescribeServicesRequest generates a "aws/request.Request" representing the // client's request for the DescribeServices operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeServices for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeServices method directly -// instead. +// See DescribeServices for more information on using the DescribeServices +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeServicesRequest method. // req, resp := client.DescribeServicesRequest(params) @@ -1048,19 +1038,18 @@ const opDescribeTaskDefinition = "DescribeTaskDefinition" // DescribeTaskDefinitionRequest generates a "aws/request.Request" representing the // client's request for the DescribeTaskDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTaskDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTaskDefinition method directly -// instead. +// See DescribeTaskDefinition for more information on using the DescribeTaskDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTaskDefinitionRequest method. // req, resp := client.DescribeTaskDefinitionRequest(params) @@ -1142,19 +1131,18 @@ const opDescribeTasks = "DescribeTasks" // DescribeTasksRequest generates a "aws/request.Request" representing the // client's request for the DescribeTasks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTasks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTasks method directly -// instead. +// See DescribeTasks for more information on using the DescribeTasks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTasksRequest method. // req, resp := client.DescribeTasksRequest(params) @@ -1235,19 +1223,18 @@ const opDiscoverPollEndpoint = "DiscoverPollEndpoint" // DiscoverPollEndpointRequest generates a "aws/request.Request" representing the // client's request for the DiscoverPollEndpoint operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DiscoverPollEndpoint for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DiscoverPollEndpoint method directly -// instead. +// See DiscoverPollEndpoint for more information on using the DiscoverPollEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DiscoverPollEndpointRequest method. // req, resp := client.DiscoverPollEndpointRequest(params) @@ -1324,19 +1311,18 @@ const opListAttributes = "ListAttributes" // ListAttributesRequest generates a "aws/request.Request" representing the // client's request for the ListAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAttributes method directly -// instead. +// See ListAttributes for more information on using the ListAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAttributesRequest method. // req, resp := client.ListAttributesRequest(params) @@ -1415,19 +1401,18 @@ const opListClusters = "ListClusters" // ListClustersRequest generates a "aws/request.Request" representing the // client's request for the ListClusters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListClusters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListClusters method directly -// instead. +// See ListClusters for more information on using the ListClusters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListClustersRequest method. // req, resp := client.ListClustersRequest(params) @@ -1560,19 +1545,18 @@ const opListContainerInstances = "ListContainerInstances" // ListContainerInstancesRequest generates a "aws/request.Request" representing the // client's request for the ListContainerInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListContainerInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListContainerInstances method directly -// instead. +// See ListContainerInstances for more information on using the ListContainerInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListContainerInstancesRequest method. // req, resp := client.ListContainerInstancesRequest(params) @@ -1713,19 +1697,18 @@ const opListServices = "ListServices" // ListServicesRequest generates a "aws/request.Request" representing the // client's request for the ListServices operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListServices for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListServices method directly -// instead. +// See ListServices for more information on using the ListServices +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListServicesRequest method. // req, resp := client.ListServicesRequest(params) @@ -1862,19 +1845,18 @@ const opListTaskDefinitionFamilies = "ListTaskDefinitionFamilies" // ListTaskDefinitionFamiliesRequest generates a "aws/request.Request" representing the // client's request for the ListTaskDefinitionFamilies operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTaskDefinitionFamilies for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTaskDefinitionFamilies method directly -// instead. +// See ListTaskDefinitionFamilies for more information on using the ListTaskDefinitionFamilies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTaskDefinitionFamiliesRequest method. // req, resp := client.ListTaskDefinitionFamiliesRequest(params) @@ -2013,19 +1995,18 @@ const opListTaskDefinitions = "ListTaskDefinitions" // ListTaskDefinitionsRequest generates a "aws/request.Request" representing the // client's request for the ListTaskDefinitions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTaskDefinitions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTaskDefinitions method directly -// instead. +// See ListTaskDefinitions for more information on using the ListTaskDefinitions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTaskDefinitionsRequest method. // req, resp := client.ListTaskDefinitionsRequest(params) @@ -2160,19 +2141,18 @@ const opListTasks = "ListTasks" // ListTasksRequest generates a "aws/request.Request" representing the // client's request for the ListTasks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTasks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTasks method directly -// instead. +// See ListTasks for more information on using the ListTasks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTasksRequest method. // req, resp := client.ListTasksRequest(params) @@ -2318,19 +2298,18 @@ const opPutAttributes = "PutAttributes" // PutAttributesRequest generates a "aws/request.Request" representing the // client's request for the PutAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutAttributes method directly -// instead. +// See PutAttributes for more information on using the PutAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutAttributesRequest method. // req, resp := client.PutAttributesRequest(params) @@ -2417,19 +2396,18 @@ const opRegisterContainerInstance = "RegisterContainerInstance" // RegisterContainerInstanceRequest generates a "aws/request.Request" representing the // client's request for the RegisterContainerInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterContainerInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterContainerInstance method directly -// instead. +// See RegisterContainerInstance for more information on using the RegisterContainerInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterContainerInstanceRequest method. // req, resp := client.RegisterContainerInstanceRequest(params) @@ -2506,19 +2484,18 @@ const opRegisterTaskDefinition = "RegisterTaskDefinition" // RegisterTaskDefinitionRequest generates a "aws/request.Request" representing the // client's request for the RegisterTaskDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterTaskDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterTaskDefinition method directly -// instead. +// See RegisterTaskDefinition for more information on using the RegisterTaskDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterTaskDefinitionRequest method. // req, resp := client.RegisterTaskDefinitionRequest(params) @@ -2611,19 +2588,18 @@ const opRunTask = "RunTask" // RunTaskRequest generates a "aws/request.Request" representing the // client's request for the RunTask operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RunTask for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RunTask method directly -// instead. +// See RunTask for more information on using the RunTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RunTaskRequest method. // req, resp := client.RunTaskRequest(params) @@ -2712,19 +2688,18 @@ const opStartTask = "StartTask" // StartTaskRequest generates a "aws/request.Request" representing the // client's request for the StartTask operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartTask for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartTask method directly -// instead. +// See StartTask for more information on using the StartTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartTaskRequest method. // req, resp := client.StartTaskRequest(params) @@ -2810,19 +2785,18 @@ const opStopTask = "StopTask" // StopTaskRequest generates a "aws/request.Request" representing the // client's request for the StopTask operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StopTask for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StopTask method directly -// instead. +// See StopTask for more information on using the StopTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StopTaskRequest method. // req, resp := client.StopTaskRequest(params) @@ -2914,19 +2888,18 @@ const opSubmitContainerStateChange = "SubmitContainerStateChange" // SubmitContainerStateChangeRequest generates a "aws/request.Request" representing the // client's request for the SubmitContainerStateChange operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SubmitContainerStateChange for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SubmitContainerStateChange method directly -// instead. +// See SubmitContainerStateChange for more information on using the SubmitContainerStateChange +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SubmitContainerStateChangeRequest method. // req, resp := client.SubmitContainerStateChangeRequest(params) @@ -3002,19 +2975,18 @@ const opSubmitTaskStateChange = "SubmitTaskStateChange" // SubmitTaskStateChangeRequest generates a "aws/request.Request" representing the // client's request for the SubmitTaskStateChange operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SubmitTaskStateChange for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SubmitTaskStateChange method directly -// instead. +// See SubmitTaskStateChange for more information on using the SubmitTaskStateChange +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SubmitTaskStateChangeRequest method. // req, resp := client.SubmitTaskStateChangeRequest(params) @@ -3090,19 +3062,18 @@ const opUpdateContainerAgent = "UpdateContainerAgent" // UpdateContainerAgentRequest generates a "aws/request.Request" representing the // client's request for the UpdateContainerAgent operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateContainerAgent for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateContainerAgent method directly -// instead. +// See UpdateContainerAgent for more information on using the UpdateContainerAgent +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateContainerAgentRequest method. // req, resp := client.UpdateContainerAgentRequest(params) @@ -3211,19 +3182,18 @@ const opUpdateContainerInstancesState = "UpdateContainerInstancesState" // UpdateContainerInstancesStateRequest generates a "aws/request.Request" representing the // client's request for the UpdateContainerInstancesState operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateContainerInstancesState for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateContainerInstancesState method directly -// instead. +// See UpdateContainerInstancesState for more information on using the UpdateContainerInstancesState +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateContainerInstancesStateRequest method. // req, resp := client.UpdateContainerInstancesStateRequest(params) @@ -3347,19 +3317,18 @@ const opUpdateService = "UpdateService" // UpdateServiceRequest generates a "aws/request.Request" representing the // client's request for the UpdateService operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateService for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateService method directly -// instead. +// See UpdateService for more information on using the UpdateService +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateServiceRequest method. // req, resp := client.UpdateServiceRequest(params) @@ -3901,15 +3870,18 @@ type ContainerDefinition struct { // The image used to start a container. This string is passed directly to the // Docker daemon. Images in the Docker Hub registry are available by default. - // Other repositories are specified with repository-url/image:tag. Up to 255 - // letters (uppercase and lowercase), numbers, hyphens, underscores, colons, - // periods, forward slashes, and number signs are allowed. This parameter maps - // to Image in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) + // Other repositories are specified with either repository-url/image:tag or + // repository-url/image@digest. Up to 255 letters (uppercase and lowercase), + // numbers, hyphens, underscores, colons, periods, forward slashes, and number + // signs are allowed. This parameter maps to Image in the Create a container + // (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) // and the IMAGE parameter of docker run (https://docs.docker.com/engine/reference/run/). // - // * Images in Amazon ECR repositories use the full registry and repository - // URI (for example, 012345678910.dkr.ecr..amazonaws.com/). + // * Images in Amazon ECR repositories can be specified by either using the + // full registry/repository:tag or registry/repository@digest. For example, + // 012345678910.dkr.ecr..amazonaws.com/:latest + // or 012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE. // // // * Images in official repositories on Docker Hub use a single name (for @@ -3939,6 +3911,10 @@ type ContainerDefinition struct { // and VPC settings. Links []*string `locationName:"links" type:"list"` + // Linux-specific modifications that are applied to the container, such as Linux + // KernelCapabilities. + LinuxParameters *LinuxParameters `locationName:"linuxParameters" type:"structure"` + // The log configuration specification for the container. This parameter maps // to LogConfig in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) @@ -4213,6 +4189,12 @@ func (s *ContainerDefinition) SetLinks(v []*string) *ContainerDefinition { return s } +// SetLinuxParameters sets the LinuxParameters field's value. +func (s *ContainerDefinition) SetLinuxParameters(v *LinuxParameters) *ContainerDefinition { + s.LinuxParameters = v + return s +} + // SetLogConfiguration sets the LogConfiguration field's value. func (s *ContainerDefinition) SetLogConfiguration(v *LogConfiguration) *ContainerDefinition { s.LogConfiguration = v @@ -4607,18 +4589,18 @@ type CreateServiceInput struct { // After you create a service, the load balancer name or target group ARN, container // name, and container port specified in the service definition are immutable. // - // For Elastic Load Balancing Classic load balancers, this object must contain - // the load balancer name, the container name (as it appears in a container - // definition), and the container port to access from the load balancer. When - // a task from this service is placed on a container instance, the container - // instance is registered with the load balancer specified here. + // For Classic Load Balancers, this object must contain the load balancer name, + // the container name (as it appears in a container definition), and the container + // port to access from the load balancer. When a task from this service is placed + // on a container instance, the container instance is registered with the load + // balancer specified here. // - // For Elastic Load Balancing Application load balancers, this object must contain - // the load balancer target group ARN, the container name (as it appears in - // a container definition), and the container port to access from the load balancer. - // When a task from this service is placed on a container instance, the container - // instance and port combination is registered as a target in the target group - // specified here. + // For Application Load Balancers and Network Load Balancers, this object must + // contain the load balancer target group ARN, the container name (as it appears + // in a container definition), and the container port to access from the load + // balancer. When a task from this service is placed on a container instance, + // the container instance and port combination is registered as a target in + // the target group specified here. LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` // An array of placement constraint objects to use for tasks in your service. @@ -5158,7 +5140,7 @@ type DeregisterContainerInstanceInput struct { // of that task, on a different container instance if possible. // // Any containers in orphaned service tasks that are registered with a Classic - // load balancer or an Application load balancer target group are deregistered, + // Load Balancer or an Application Load Balancer target group are deregistered, // and they will begin connection draining according to the settings on the // load balancer or target group. Force *bool `locationName:"force" type:"boolean"` @@ -5857,6 +5839,54 @@ func (s *HostVolumeProperties) SetSourcePath(v string) *HostVolumeProperties { return s } +// The Linux capabilities for the container that are added to or dropped from +// the default configuration provided by Docker. For more information on the +// default capabilities and the non-default available capabilities, see Runtime +// privilege and Linux capabilities (https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) +// in the Docker run reference. For more detailed information on these Linux +// capabilities, see the capabilities(7) (http://man7.org/linux/man-pages/man7/capabilities.7.html) +// Linux manual page. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/KernelCapabilities +type KernelCapabilities struct { + _ struct{} `type:"structure"` + + // The Linux capabilities for the container that have been added to the default + // configuration provided by Docker. This parameter maps to CapAdd in the Create + // a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) + // and the --cap-add option to docker run (https://docs.docker.com/engine/reference/run/). + Add []*string `locationName:"add" type:"list"` + + // The Linux capabilities for the container that have been removed from the + // default configuration provided by Docker. This parameter maps to CapDrop + // in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) + // and the --cap-drop option to docker run (https://docs.docker.com/engine/reference/run/). + Drop []*string `locationName:"drop" type:"list"` +} + +// String returns the string representation +func (s KernelCapabilities) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KernelCapabilities) GoString() string { + return s.String() +} + +// SetAdd sets the Add field's value. +func (s *KernelCapabilities) SetAdd(v []*string) *KernelCapabilities { + s.Add = v + return s +} + +// SetDrop sets the Drop field's value. +func (s *KernelCapabilities) SetDrop(v []*string) *KernelCapabilities { + s.Drop = v + return s +} + // A key and value pair object. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/KeyValuePair type KeyValuePair struct { @@ -5893,6 +5923,32 @@ func (s *KeyValuePair) SetValue(v string) *KeyValuePair { return s } +// Linux-specific options that are applied to the container, such as Linux KernelCapabilities. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/LinuxParameters +type LinuxParameters struct { + _ struct{} `type:"structure"` + + // The Linux capabilities for the container that are added to or dropped from + // the default configuration provided by Docker. + Capabilities *KernelCapabilities `locationName:"capabilities" type:"structure"` +} + +// String returns the string representation +func (s LinuxParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LinuxParameters) GoString() string { + return s.String() +} + +// SetCapabilities sets the Capabilities field's value. +func (s *LinuxParameters) SetCapabilities(v *KernelCapabilities) *LinuxParameters { + s.Capabilities = v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAttributesRequest type ListAttributesInput struct { _ struct{} `type:"structure"` @@ -6718,7 +6774,7 @@ type LoadBalancer struct { // mapping. ContainerPort *int64 `locationName:"containerPort" type:"integer"` - // The name of a Classic load balancer. + // The name of a load balancer. LoadBalancerName *string `locationName:"loadBalancerName" type:"string"` // The full Amazon Resource Name (ARN) of the Elastic Load Balancing target diff --git a/vendor/github.com/aws/aws-sdk-go/service/ecs/doc.go b/vendor/github.com/aws/aws-sdk-go/service/ecs/doc.go index 590b62e41..e833155fc 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ecs/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ecs/doc.go @@ -23,69 +23,17 @@ // // Using the Client // -// To use the client for Amazon EC2 Container Service you will first need -// to create a new instance of it. +// To Amazon EC2 Container Service with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := ecs.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon EC2 Container Service client ECS for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/ecs/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CreateCluster(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CreateCluster result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CreateClusterWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package ecs diff --git a/vendor/github.com/aws/aws-sdk-go/service/ecs/ecsiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/ecs/ecsiface/interface.go index 9502c7711..952abdcaa 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ecs/ecsiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ecs/ecsiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon EC2 Container Service. diff --git a/vendor/github.com/aws/aws-sdk-go/service/ecs/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/ecs/waiters.go index 007b21614..542fe7f0f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ecs/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ecs/waiters.go @@ -11,7 +11,7 @@ import ( // WaitUntilServicesInactive uses the Amazon ECS API operation // DescribeServices to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *ECS) WaitUntilServicesInactive(input *DescribeServicesInput) error { return c.WaitUntilServicesInactiveWithContext(aws.BackgroundContext(), input) @@ -62,7 +62,7 @@ func (c *ECS) WaitUntilServicesInactiveWithContext(ctx aws.Context, input *Descr // WaitUntilServicesStable uses the Amazon ECS API operation // DescribeServices to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *ECS) WaitUntilServicesStable(input *DescribeServicesInput) error { return c.WaitUntilServicesStableWithContext(aws.BackgroundContext(), input) @@ -123,7 +123,7 @@ func (c *ECS) WaitUntilServicesStableWithContext(ctx aws.Context, input *Describ // WaitUntilTasksRunning uses the Amazon ECS API operation // DescribeTasks to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *ECS) WaitUntilTasksRunning(input *DescribeTasksInput) error { return c.WaitUntilTasksRunningWithContext(aws.BackgroundContext(), input) @@ -179,7 +179,7 @@ func (c *ECS) WaitUntilTasksRunningWithContext(ctx aws.Context, input *DescribeT // WaitUntilTasksStopped uses the Amazon ECS API operation // DescribeTasks to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *ECS) WaitUntilTasksStopped(input *DescribeTasksInput) error { return c.WaitUntilTasksStoppedWithContext(aws.BackgroundContext(), input) diff --git a/vendor/github.com/aws/aws-sdk-go/service/efs/api.go b/vendor/github.com/aws/aws-sdk-go/service/efs/api.go index 11bf91f53..5f4d46fe4 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/efs/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/efs/api.go @@ -17,19 +17,18 @@ const opCreateFileSystem = "CreateFileSystem" // CreateFileSystemRequest generates a "aws/request.Request" representing the // client's request for the CreateFileSystem operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateFileSystem for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateFileSystem method directly -// instead. +// See CreateFileSystem for more information on using the CreateFileSystem +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateFileSystemRequest method. // req, resp := client.CreateFileSystemRequest(params) @@ -154,19 +153,18 @@ const opCreateMountTarget = "CreateMountTarget" // CreateMountTargetRequest generates a "aws/request.Request" representing the // client's request for the CreateMountTarget operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateMountTarget for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateMountTarget method directly -// instead. +// See CreateMountTarget for more information on using the CreateMountTarget +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateMountTargetRequest method. // req, resp := client.CreateMountTargetRequest(params) @@ -371,19 +369,18 @@ const opCreateTags = "CreateTags" // CreateTagsRequest generates a "aws/request.Request" representing the // client's request for the CreateTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateTags method directly -// instead. +// See CreateTags for more information on using the CreateTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateTagsRequest method. // req, resp := client.CreateTagsRequest(params) @@ -467,19 +464,18 @@ const opDeleteFileSystem = "DeleteFileSystem" // DeleteFileSystemRequest generates a "aws/request.Request" representing the // client's request for the DeleteFileSystem operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteFileSystem for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteFileSystem method directly -// instead. +// See DeleteFileSystem for more information on using the DeleteFileSystem +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteFileSystemRequest method. // req, resp := client.DeleteFileSystemRequest(params) @@ -575,19 +571,18 @@ const opDeleteMountTarget = "DeleteMountTarget" // DeleteMountTargetRequest generates a "aws/request.Request" representing the // client's request for the DeleteMountTarget operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteMountTarget for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteMountTarget method directly -// instead. +// See DeleteMountTarget for more information on using the DeleteMountTarget +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteMountTargetRequest method. // req, resp := client.DeleteMountTargetRequest(params) @@ -693,19 +688,18 @@ const opDeleteTags = "DeleteTags" // DeleteTagsRequest generates a "aws/request.Request" representing the // client's request for the DeleteTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteTags method directly -// instead. +// See DeleteTags for more information on using the DeleteTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteTagsRequest method. // req, resp := client.DeleteTagsRequest(params) @@ -790,19 +784,18 @@ const opDescribeFileSystems = "DescribeFileSystems" // DescribeFileSystemsRequest generates a "aws/request.Request" representing the // client's request for the DescribeFileSystems operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeFileSystems for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeFileSystems method directly -// instead. +// See DescribeFileSystems for more information on using the DescribeFileSystems +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeFileSystemsRequest method. // req, resp := client.DescribeFileSystemsRequest(params) @@ -903,19 +896,18 @@ const opDescribeMountTargetSecurityGroups = "DescribeMountTargetSecurityGroups" // DescribeMountTargetSecurityGroupsRequest generates a "aws/request.Request" representing the // client's request for the DescribeMountTargetSecurityGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeMountTargetSecurityGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeMountTargetSecurityGroups method directly -// instead. +// See DescribeMountTargetSecurityGroups for more information on using the DescribeMountTargetSecurityGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeMountTargetSecurityGroupsRequest method. // req, resp := client.DescribeMountTargetSecurityGroupsRequest(params) @@ -1004,19 +996,18 @@ const opDescribeMountTargets = "DescribeMountTargets" // DescribeMountTargetsRequest generates a "aws/request.Request" representing the // client's request for the DescribeMountTargets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeMountTargets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeMountTargets method directly -// instead. +// See DescribeMountTargets for more information on using the DescribeMountTargets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeMountTargetsRequest method. // req, resp := client.DescribeMountTargetsRequest(params) @@ -1102,19 +1093,18 @@ const opDescribeTags = "DescribeTags" // DescribeTagsRequest generates a "aws/request.Request" representing the // client's request for the DescribeTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTags method directly -// instead. +// See DescribeTags for more information on using the DescribeTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTagsRequest method. // req, resp := client.DescribeTagsRequest(params) @@ -1195,19 +1185,18 @@ const opModifyMountTargetSecurityGroups = "ModifyMountTargetSecurityGroups" // ModifyMountTargetSecurityGroupsRequest generates a "aws/request.Request" representing the // client's request for the ModifyMountTargetSecurityGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyMountTargetSecurityGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyMountTargetSecurityGroups method directly -// instead. +// See ModifyMountTargetSecurityGroups for more information on using the ModifyMountTargetSecurityGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyMountTargetSecurityGroupsRequest method. // req, resp := client.ModifyMountTargetSecurityGroupsRequest(params) @@ -1317,6 +1306,32 @@ type CreateFileSystemInput struct { // CreationToken is a required field CreationToken *string `min:"1" type:"string" required:"true"` + // A boolean value that, if true, creates an encrypted file system. When creating + // an encrypted file system, you have the option of specifying a CreateFileSystemRequest$KmsKeyId + // for an existing AWS Key Management Service (AWS KMS) customer master key + // (CMK). If you don't specify a CMK, then the default CMK for Amazon EFS, /aws/elasticfilesystem, + // is used to protect the encrypted file system. + Encrypted *bool `type:"boolean"` + + // The id of the AWS KMS CMK that will be used to protect the encrypted file + // system. This parameter is only required if you want to use a non-default + // CMK. If this parameter is not specified, the default CMK for Amazon EFS is + // used. This id can be in one of the following formats: + // + // * Key ID - A unique identifier of the key. For example, 1234abcd-12ab-34cd-56ef-1234567890ab. + // + // * ARN - An Amazon Resource Name for the key. For example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. + // + // * Key alias - A previously created display name for a key. For example, + // alias/projectKey1. + // + // * Key alias ARN - An Amazon Resource Name for a key alias. For example, + // arn:aws:kms:us-west-2:444455556666:alias/projectKey1. + // + // Note that if the KmsKeyId is specified, the CreateFileSystemRequest$Encrypted + // parameter must be set to true. + KmsKeyId *string `min:"1" type:"string"` + // The PerformanceMode of the file system. We recommend generalPurpose performance // mode for most file systems. File systems using the maxIO performance mode // can scale to higher levels of aggregate throughput and operations per second @@ -1344,6 +1359,9 @@ func (s *CreateFileSystemInput) Validate() error { if s.CreationToken != nil && len(*s.CreationToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("CreationToken", 1)) } + if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -1357,6 +1375,18 @@ func (s *CreateFileSystemInput) SetCreationToken(v string) *CreateFileSystemInpu return s } +// SetEncrypted sets the Encrypted field's value. +func (s *CreateFileSystemInput) SetEncrypted(v bool) *CreateFileSystemInput { + s.Encrypted = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CreateFileSystemInput) SetKmsKeyId(v string) *CreateFileSystemInput { + s.KmsKeyId = &v + return s +} + // SetPerformanceMode sets the PerformanceMode field's value. func (s *CreateFileSystemInput) SetPerformanceMode(v string) *CreateFileSystemInput { s.PerformanceMode = &v @@ -2113,11 +2143,18 @@ type FileSystemDescription struct { // CreationToken is a required field CreationToken *string `min:"1" type:"string" required:"true"` + // A boolean value that, if true, indicates that the file system is encrypted. + Encrypted *bool `type:"boolean"` + // ID of the file system, assigned by Amazon EFS. // // FileSystemId is a required field FileSystemId *string `type:"string" required:"true"` + // The id of an AWS Key Management Service (AWS KMS) customer master key (CMK) + // that was used to protect the encrypted file system. + KmsKeyId *string `min:"1" type:"string"` + // Lifecycle phase of the file system. // // LifeCycleState is a required field @@ -2181,12 +2218,24 @@ func (s *FileSystemDescription) SetCreationToken(v string) *FileSystemDescriptio return s } +// SetEncrypted sets the Encrypted field's value. +func (s *FileSystemDescription) SetEncrypted(v bool) *FileSystemDescription { + s.Encrypted = &v + return s +} + // SetFileSystemId sets the FileSystemId field's value. func (s *FileSystemDescription) SetFileSystemId(v string) *FileSystemDescription { s.FileSystemId = &v return s } +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *FileSystemDescription) SetKmsKeyId(v string) *FileSystemDescription { + s.KmsKeyId = &v + return s +} + // SetLifeCycleState sets the LifeCycleState field's value. func (s *FileSystemDescription) SetLifeCycleState(v string) *FileSystemDescription { s.LifeCycleState = &v diff --git a/vendor/github.com/aws/aws-sdk-go/service/efs/doc.go b/vendor/github.com/aws/aws-sdk-go/service/efs/doc.go index c5e03b287..29525633a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/efs/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/efs/doc.go @@ -16,69 +16,17 @@ // // Using the Client // -// To use the client for Amazon Elastic File System you will first need -// to create a new instance of it. +// To Amazon Elastic File System with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := efs.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Elastic File System client EFS for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/efs/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CreateFileSystem(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CreateFileSystem result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CreateFileSystemWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package efs diff --git a/vendor/github.com/aws/aws-sdk-go/service/efs/efsiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/efs/efsiface/interface.go index ce928ebe4..0ee7acc86 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/efs/efsiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/efs/efsiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Elastic File System. diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticache/api.go b/vendor/github.com/aws/aws-sdk-go/service/elasticache/api.go index 3006029c0..022c899a7 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticache/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticache/api.go @@ -16,19 +16,18 @@ const opAddTagsToResource = "AddTagsToResource" // AddTagsToResourceRequest generates a "aws/request.Request" representing the // client's request for the AddTagsToResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddTagsToResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddTagsToResource method directly -// instead. +// See AddTagsToResource for more information on using the AddTagsToResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddTagsToResourceRequest method. // req, resp := client.AddTagsToResourceRequest(params) @@ -117,19 +116,18 @@ const opAuthorizeCacheSecurityGroupIngress = "AuthorizeCacheSecurityGroupIngress // AuthorizeCacheSecurityGroupIngressRequest generates a "aws/request.Request" representing the // client's request for the AuthorizeCacheSecurityGroupIngress operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AuthorizeCacheSecurityGroupIngress for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AuthorizeCacheSecurityGroupIngress method directly -// instead. +// See AuthorizeCacheSecurityGroupIngress for more information on using the AuthorizeCacheSecurityGroupIngress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AuthorizeCacheSecurityGroupIngressRequest method. // req, resp := client.AuthorizeCacheSecurityGroupIngressRequest(params) @@ -216,19 +214,18 @@ const opCopySnapshot = "CopySnapshot" // CopySnapshotRequest generates a "aws/request.Request" representing the // client's request for the CopySnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CopySnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CopySnapshot method directly -// instead. +// See CopySnapshot for more information on using the CopySnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CopySnapshotRequest method. // req, resp := client.CopySnapshotRequest(params) @@ -377,19 +374,18 @@ const opCreateCacheCluster = "CreateCacheCluster" // CreateCacheClusterRequest generates a "aws/request.Request" representing the // client's request for the CreateCacheCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateCacheCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateCacheCluster method directly -// instead. +// See CreateCacheCluster for more information on using the CreateCacheCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateCacheClusterRequest method. // req, resp := client.CreateCacheClusterRequest(params) @@ -510,19 +506,18 @@ const opCreateCacheParameterGroup = "CreateCacheParameterGroup" // CreateCacheParameterGroupRequest generates a "aws/request.Request" representing the // client's request for the CreateCacheParameterGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateCacheParameterGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateCacheParameterGroup method directly -// instead. +// See CreateCacheParameterGroup for more information on using the CreateCacheParameterGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateCacheParameterGroupRequest method. // req, resp := client.CreateCacheParameterGroupRequest(params) @@ -617,19 +612,18 @@ const opCreateCacheSecurityGroup = "CreateCacheSecurityGroup" // CreateCacheSecurityGroupRequest generates a "aws/request.Request" representing the // client's request for the CreateCacheSecurityGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateCacheSecurityGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateCacheSecurityGroup method directly -// instead. +// See CreateCacheSecurityGroup for more information on using the CreateCacheSecurityGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateCacheSecurityGroupRequest method. // req, resp := client.CreateCacheSecurityGroupRequest(params) @@ -713,19 +707,18 @@ const opCreateCacheSubnetGroup = "CreateCacheSubnetGroup" // CreateCacheSubnetGroupRequest generates a "aws/request.Request" representing the // client's request for the CreateCacheSubnetGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateCacheSubnetGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateCacheSubnetGroup method directly -// instead. +// See CreateCacheSubnetGroup for more information on using the CreateCacheSubnetGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateCacheSubnetGroupRequest method. // req, resp := client.CreateCacheSubnetGroupRequest(params) @@ -808,19 +801,18 @@ const opCreateReplicationGroup = "CreateReplicationGroup" // CreateReplicationGroupRequest generates a "aws/request.Request" representing the // client's request for the CreateReplicationGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateReplicationGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateReplicationGroup method directly -// instead. +// See CreateReplicationGroup for more information on using the CreateReplicationGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateReplicationGroupRequest method. // req, resp := client.CreateReplicationGroupRequest(params) @@ -963,19 +955,18 @@ const opCreateSnapshot = "CreateSnapshot" // CreateSnapshotRequest generates a "aws/request.Request" representing the // client's request for the CreateSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateSnapshot method directly -// instead. +// See CreateSnapshot for more information on using the CreateSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateSnapshotRequest method. // req, resp := client.CreateSnapshotRequest(params) @@ -1079,19 +1070,18 @@ const opDeleteCacheCluster = "DeleteCacheCluster" // DeleteCacheClusterRequest generates a "aws/request.Request" representing the // client's request for the DeleteCacheCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteCacheCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteCacheCluster method directly -// instead. +// See DeleteCacheCluster for more information on using the DeleteCacheCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteCacheClusterRequest method. // req, resp := client.DeleteCacheClusterRequest(params) @@ -1199,19 +1189,18 @@ const opDeleteCacheParameterGroup = "DeleteCacheParameterGroup" // DeleteCacheParameterGroupRequest generates a "aws/request.Request" representing the // client's request for the DeleteCacheParameterGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteCacheParameterGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteCacheParameterGroup method directly -// instead. +// See DeleteCacheParameterGroup for more information on using the DeleteCacheParameterGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteCacheParameterGroupRequest method. // req, resp := client.DeleteCacheParameterGroupRequest(params) @@ -1293,19 +1282,18 @@ const opDeleteCacheSecurityGroup = "DeleteCacheSecurityGroup" // DeleteCacheSecurityGroupRequest generates a "aws/request.Request" representing the // client's request for the DeleteCacheSecurityGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteCacheSecurityGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteCacheSecurityGroup method directly -// instead. +// See DeleteCacheSecurityGroup for more information on using the DeleteCacheSecurityGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteCacheSecurityGroupRequest method. // req, resp := client.DeleteCacheSecurityGroupRequest(params) @@ -1388,19 +1376,18 @@ const opDeleteCacheSubnetGroup = "DeleteCacheSubnetGroup" // DeleteCacheSubnetGroupRequest generates a "aws/request.Request" representing the // client's request for the DeleteCacheSubnetGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteCacheSubnetGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteCacheSubnetGroup method directly -// instead. +// See DeleteCacheSubnetGroup for more information on using the DeleteCacheSubnetGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteCacheSubnetGroupRequest method. // req, resp := client.DeleteCacheSubnetGroupRequest(params) @@ -1477,19 +1464,18 @@ const opDeleteReplicationGroup = "DeleteReplicationGroup" // DeleteReplicationGroupRequest generates a "aws/request.Request" representing the // client's request for the DeleteReplicationGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteReplicationGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteReplicationGroup method directly -// instead. +// See DeleteReplicationGroup for more information on using the DeleteReplicationGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteReplicationGroupRequest method. // req, resp := client.DeleteReplicationGroupRequest(params) @@ -1594,19 +1580,18 @@ const opDeleteSnapshot = "DeleteSnapshot" // DeleteSnapshotRequest generates a "aws/request.Request" representing the // client's request for the DeleteSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSnapshot method directly -// instead. +// See DeleteSnapshot for more information on using the DeleteSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSnapshotRequest method. // req, resp := client.DeleteSnapshotRequest(params) @@ -1688,19 +1673,18 @@ const opDescribeCacheClusters = "DescribeCacheClusters" // DescribeCacheClustersRequest generates a "aws/request.Request" representing the // client's request for the DescribeCacheClusters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeCacheClusters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeCacheClusters method directly -// instead. +// See DescribeCacheClusters for more information on using the DescribeCacheClusters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeCacheClustersRequest method. // req, resp := client.DescribeCacheClustersRequest(params) @@ -1851,19 +1835,18 @@ const opDescribeCacheEngineVersions = "DescribeCacheEngineVersions" // DescribeCacheEngineVersionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeCacheEngineVersions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeCacheEngineVersions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeCacheEngineVersions method directly -// instead. +// See DescribeCacheEngineVersions for more information on using the DescribeCacheEngineVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeCacheEngineVersionsRequest method. // req, resp := client.DescribeCacheEngineVersionsRequest(params) @@ -1982,19 +1965,18 @@ const opDescribeCacheParameterGroups = "DescribeCacheParameterGroups" // DescribeCacheParameterGroupsRequest generates a "aws/request.Request" representing the // client's request for the DescribeCacheParameterGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeCacheParameterGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeCacheParameterGroups method directly -// instead. +// See DescribeCacheParameterGroups for more information on using the DescribeCacheParameterGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeCacheParameterGroupsRequest method. // req, resp := client.DescribeCacheParameterGroupsRequest(params) @@ -2127,19 +2109,18 @@ const opDescribeCacheParameters = "DescribeCacheParameters" // DescribeCacheParametersRequest generates a "aws/request.Request" representing the // client's request for the DescribeCacheParameters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeCacheParameters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeCacheParameters method directly -// instead. +// See DescribeCacheParameters for more information on using the DescribeCacheParameters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeCacheParametersRequest method. // req, resp := client.DescribeCacheParametersRequest(params) @@ -2270,19 +2251,18 @@ const opDescribeCacheSecurityGroups = "DescribeCacheSecurityGroups" // DescribeCacheSecurityGroupsRequest generates a "aws/request.Request" representing the // client's request for the DescribeCacheSecurityGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeCacheSecurityGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeCacheSecurityGroups method directly -// instead. +// See DescribeCacheSecurityGroups for more information on using the DescribeCacheSecurityGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeCacheSecurityGroupsRequest method. // req, resp := client.DescribeCacheSecurityGroupsRequest(params) @@ -2414,19 +2394,18 @@ const opDescribeCacheSubnetGroups = "DescribeCacheSubnetGroups" // DescribeCacheSubnetGroupsRequest generates a "aws/request.Request" representing the // client's request for the DescribeCacheSubnetGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeCacheSubnetGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeCacheSubnetGroups method directly -// instead. +// See DescribeCacheSubnetGroups for more information on using the DescribeCacheSubnetGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeCacheSubnetGroupsRequest method. // req, resp := client.DescribeCacheSubnetGroupsRequest(params) @@ -2552,19 +2531,18 @@ const opDescribeEngineDefaultParameters = "DescribeEngineDefaultParameters" // DescribeEngineDefaultParametersRequest generates a "aws/request.Request" representing the // client's request for the DescribeEngineDefaultParameters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEngineDefaultParameters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEngineDefaultParameters method directly -// instead. +// See DescribeEngineDefaultParameters for more information on using the DescribeEngineDefaultParameters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEngineDefaultParametersRequest method. // req, resp := client.DescribeEngineDefaultParametersRequest(params) @@ -2692,19 +2670,18 @@ const opDescribeEvents = "DescribeEvents" // DescribeEventsRequest generates a "aws/request.Request" representing the // client's request for the DescribeEvents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEvents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEvents method directly -// instead. +// See DescribeEvents for more information on using the DescribeEvents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEventsRequest method. // req, resp := client.DescribeEventsRequest(params) @@ -2837,19 +2814,18 @@ const opDescribeReplicationGroups = "DescribeReplicationGroups" // DescribeReplicationGroupsRequest generates a "aws/request.Request" representing the // client's request for the DescribeReplicationGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeReplicationGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeReplicationGroups method directly -// instead. +// See DescribeReplicationGroups for more information on using the DescribeReplicationGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeReplicationGroupsRequest method. // req, resp := client.DescribeReplicationGroupsRequest(params) @@ -2983,19 +2959,18 @@ const opDescribeReservedCacheNodes = "DescribeReservedCacheNodes" // DescribeReservedCacheNodesRequest generates a "aws/request.Request" representing the // client's request for the DescribeReservedCacheNodes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeReservedCacheNodes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeReservedCacheNodes method directly -// instead. +// See DescribeReservedCacheNodes for more information on using the DescribeReservedCacheNodes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeReservedCacheNodesRequest method. // req, resp := client.DescribeReservedCacheNodesRequest(params) @@ -3126,19 +3101,18 @@ const opDescribeReservedCacheNodesOfferings = "DescribeReservedCacheNodesOfferin // DescribeReservedCacheNodesOfferingsRequest generates a "aws/request.Request" representing the // client's request for the DescribeReservedCacheNodesOfferings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeReservedCacheNodesOfferings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeReservedCacheNodesOfferings method directly -// instead. +// See DescribeReservedCacheNodesOfferings for more information on using the DescribeReservedCacheNodesOfferings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeReservedCacheNodesOfferingsRequest method. // req, resp := client.DescribeReservedCacheNodesOfferingsRequest(params) @@ -3268,19 +3242,18 @@ const opDescribeSnapshots = "DescribeSnapshots" // DescribeSnapshotsRequest generates a "aws/request.Request" representing the // client's request for the DescribeSnapshots operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSnapshots for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSnapshots method directly -// instead. +// See DescribeSnapshots for more information on using the DescribeSnapshots +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSnapshotsRequest method. // req, resp := client.DescribeSnapshotsRequest(params) @@ -3418,19 +3391,18 @@ const opListAllowedNodeTypeModifications = "ListAllowedNodeTypeModifications" // ListAllowedNodeTypeModificationsRequest generates a "aws/request.Request" representing the // client's request for the ListAllowedNodeTypeModifications operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAllowedNodeTypeModifications for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAllowedNodeTypeModifications method directly -// instead. +// See ListAllowedNodeTypeModifications for more information on using the ListAllowedNodeTypeModifications +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAllowedNodeTypeModificationsRequest method. // req, resp := client.ListAllowedNodeTypeModificationsRequest(params) @@ -3512,19 +3484,18 @@ const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the // client's request for the ListTagsForResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTagsForResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTagsForResource method directly -// instead. +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTagsForResourceRequest method. // req, resp := client.ListTagsForResourceRequest(params) @@ -3605,19 +3576,18 @@ const opModifyCacheCluster = "ModifyCacheCluster" // ModifyCacheClusterRequest generates a "aws/request.Request" representing the // client's request for the ModifyCacheCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyCacheCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyCacheCluster method directly -// instead. +// See ModifyCacheCluster for more information on using the ModifyCacheCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyCacheClusterRequest method. // req, resp := client.ModifyCacheClusterRequest(params) @@ -3722,19 +3692,18 @@ const opModifyCacheParameterGroup = "ModifyCacheParameterGroup" // ModifyCacheParameterGroupRequest generates a "aws/request.Request" representing the // client's request for the ModifyCacheParameterGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyCacheParameterGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyCacheParameterGroup method directly -// instead. +// See ModifyCacheParameterGroup for more information on using the ModifyCacheParameterGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyCacheParameterGroupRequest method. // req, resp := client.ModifyCacheParameterGroupRequest(params) @@ -3815,19 +3784,18 @@ const opModifyCacheSubnetGroup = "ModifyCacheSubnetGroup" // ModifyCacheSubnetGroupRequest generates a "aws/request.Request" representing the // client's request for the ModifyCacheSubnetGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyCacheSubnetGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyCacheSubnetGroup method directly -// instead. +// See ModifyCacheSubnetGroup for more information on using the ModifyCacheSubnetGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyCacheSubnetGroupRequest method. // req, resp := client.ModifyCacheSubnetGroupRequest(params) @@ -3906,19 +3874,18 @@ const opModifyReplicationGroup = "ModifyReplicationGroup" // ModifyReplicationGroupRequest generates a "aws/request.Request" representing the // client's request for the ModifyReplicationGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyReplicationGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyReplicationGroup method directly -// instead. +// See ModifyReplicationGroup for more information on using the ModifyReplicationGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyReplicationGroupRequest method. // req, resp := client.ModifyReplicationGroupRequest(params) @@ -4033,19 +4000,18 @@ const opPurchaseReservedCacheNodesOffering = "PurchaseReservedCacheNodesOffering // PurchaseReservedCacheNodesOfferingRequest generates a "aws/request.Request" representing the // client's request for the PurchaseReservedCacheNodesOffering operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PurchaseReservedCacheNodesOffering for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PurchaseReservedCacheNodesOffering method directly -// instead. +// See PurchaseReservedCacheNodesOffering for more information on using the PurchaseReservedCacheNodesOffering +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PurchaseReservedCacheNodesOfferingRequest method. // req, resp := client.PurchaseReservedCacheNodesOfferingRequest(params) @@ -4126,19 +4092,18 @@ const opRebootCacheCluster = "RebootCacheCluster" // RebootCacheClusterRequest generates a "aws/request.Request" representing the // client's request for the RebootCacheCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RebootCacheCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RebootCacheCluster method directly -// instead. +// See RebootCacheCluster for more information on using the RebootCacheCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RebootCacheClusterRequest method. // req, resp := client.RebootCacheClusterRequest(params) @@ -4218,19 +4183,18 @@ const opRemoveTagsFromResource = "RemoveTagsFromResource" // RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the // client's request for the RemoveTagsFromResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveTagsFromResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveTagsFromResource method directly -// instead. +// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveTagsFromResourceRequest method. // req, resp := client.RemoveTagsFromResourceRequest(params) @@ -4307,19 +4271,18 @@ const opResetCacheParameterGroup = "ResetCacheParameterGroup" // ResetCacheParameterGroupRequest generates a "aws/request.Request" representing the // client's request for the ResetCacheParameterGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ResetCacheParameterGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ResetCacheParameterGroup method directly -// instead. +// See ResetCacheParameterGroup for more information on using the ResetCacheParameterGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ResetCacheParameterGroupRequest method. // req, resp := client.ResetCacheParameterGroupRequest(params) @@ -4401,19 +4364,18 @@ const opRevokeCacheSecurityGroupIngress = "RevokeCacheSecurityGroupIngress" // RevokeCacheSecurityGroupIngressRequest generates a "aws/request.Request" representing the // client's request for the RevokeCacheSecurityGroupIngress operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RevokeCacheSecurityGroupIngress for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RevokeCacheSecurityGroupIngress method directly -// instead. +// See RevokeCacheSecurityGroupIngress for more information on using the RevokeCacheSecurityGroupIngress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RevokeCacheSecurityGroupIngressRequest method. // req, resp := client.RevokeCacheSecurityGroupIngressRequest(params) @@ -4496,19 +4458,18 @@ const opTestFailover = "TestFailover" // TestFailoverRequest generates a "aws/request.Request" representing the // client's request for the TestFailover operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TestFailover for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TestFailover method directly -// instead. +// See TestFailover for more information on using the TestFailover +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TestFailoverRequest method. // req, resp := client.TestFailoverRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticache/doc.go b/vendor/github.com/aws/aws-sdk-go/service/elasticache/doc.go index 3abbaa264..2322b6b1c 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticache/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticache/doc.go @@ -22,69 +22,17 @@ // // Using the Client // -// To use the client for Amazon ElastiCache you will first need -// to create a new instance of it. +// To Amazon ElastiCache with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := elasticache.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon ElastiCache client ElastiCache for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/elasticache/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AddTagsToResource(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AddTagsToResource result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AddTagsToResourceWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package elasticache diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticache/elasticacheiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/elasticache/elasticacheiface/interface.go index c3310dd6e..3d9345806 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticache/elasticacheiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticache/elasticacheiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon ElastiCache. diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticache/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/elasticache/waiters.go index d5ab1eedf..4304726d7 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticache/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticache/waiters.go @@ -11,7 +11,7 @@ import ( // WaitUntilCacheClusterAvailable uses the Amazon ElastiCache API operation // DescribeCacheClusters to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *ElastiCache) WaitUntilCacheClusterAvailable(input *DescribeCacheClustersInput) error { return c.WaitUntilCacheClusterAvailableWithContext(aws.BackgroundContext(), input) @@ -77,7 +77,7 @@ func (c *ElastiCache) WaitUntilCacheClusterAvailableWithContext(ctx aws.Context, // WaitUntilCacheClusterDeleted uses the Amazon ElastiCache API operation // DescribeCacheClusters to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *ElastiCache) WaitUntilCacheClusterDeleted(input *DescribeCacheClustersInput) error { return c.WaitUntilCacheClusterDeletedWithContext(aws.BackgroundContext(), input) @@ -158,7 +158,7 @@ func (c *ElastiCache) WaitUntilCacheClusterDeletedWithContext(ctx aws.Context, i // WaitUntilReplicationGroupAvailable uses the Amazon ElastiCache API operation // DescribeReplicationGroups to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *ElastiCache) WaitUntilReplicationGroupAvailable(input *DescribeReplicationGroupsInput) error { return c.WaitUntilReplicationGroupAvailableWithContext(aws.BackgroundContext(), input) @@ -209,7 +209,7 @@ func (c *ElastiCache) WaitUntilReplicationGroupAvailableWithContext(ctx aws.Cont // WaitUntilReplicationGroupDeleted uses the Amazon ElastiCache API operation // DescribeReplicationGroups to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *ElastiCache) WaitUntilReplicationGroupDeleted(input *DescribeReplicationGroupsInput) error { return c.WaitUntilReplicationGroupDeletedWithContext(aws.BackgroundContext(), input) diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go index cd2d0fb7f..794d3e479 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go @@ -17,19 +17,18 @@ const opAbortEnvironmentUpdate = "AbortEnvironmentUpdate" // AbortEnvironmentUpdateRequest generates a "aws/request.Request" representing the // client's request for the AbortEnvironmentUpdate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AbortEnvironmentUpdate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AbortEnvironmentUpdate method directly -// instead. +// See AbortEnvironmentUpdate for more information on using the AbortEnvironmentUpdate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AbortEnvironmentUpdateRequest method. // req, resp := client.AbortEnvironmentUpdateRequest(params) @@ -101,19 +100,18 @@ const opApplyEnvironmentManagedAction = "ApplyEnvironmentManagedAction" // ApplyEnvironmentManagedActionRequest generates a "aws/request.Request" representing the // client's request for the ApplyEnvironmentManagedAction operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ApplyEnvironmentManagedAction for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ApplyEnvironmentManagedAction method directly -// instead. +// See ApplyEnvironmentManagedAction for more information on using the ApplyEnvironmentManagedAction +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ApplyEnvironmentManagedActionRequest method. // req, resp := client.ApplyEnvironmentManagedActionRequest(params) @@ -186,19 +184,18 @@ const opCheckDNSAvailability = "CheckDNSAvailability" // CheckDNSAvailabilityRequest generates a "aws/request.Request" representing the // client's request for the CheckDNSAvailability operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CheckDNSAvailability for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CheckDNSAvailability method directly -// instead. +// See CheckDNSAvailability for more information on using the CheckDNSAvailability +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CheckDNSAvailabilityRequest method. // req, resp := client.CheckDNSAvailabilityRequest(params) @@ -261,19 +258,18 @@ const opComposeEnvironments = "ComposeEnvironments" // ComposeEnvironmentsRequest generates a "aws/request.Request" representing the // client's request for the ComposeEnvironments operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ComposeEnvironments for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ComposeEnvironments method directly -// instead. +// See ComposeEnvironments for more information on using the ComposeEnvironments +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ComposeEnvironmentsRequest method. // req, resp := client.ComposeEnvironmentsRequest(params) @@ -351,19 +347,18 @@ const opCreateApplication = "CreateApplication" // CreateApplicationRequest generates a "aws/request.Request" representing the // client's request for the CreateApplication operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateApplication for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateApplication method directly -// instead. +// See CreateApplication for more information on using the CreateApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateApplicationRequest method. // req, resp := client.CreateApplicationRequest(params) @@ -432,19 +427,18 @@ const opCreateApplicationVersion = "CreateApplicationVersion" // CreateApplicationVersionRequest generates a "aws/request.Request" representing the // client's request for the CreateApplicationVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateApplicationVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateApplicationVersion method directly -// instead. +// See CreateApplicationVersion for more information on using the CreateApplicationVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateApplicationVersionRequest method. // req, resp := client.CreateApplicationVersionRequest(params) @@ -548,19 +542,18 @@ const opCreateConfigurationTemplate = "CreateConfigurationTemplate" // CreateConfigurationTemplateRequest generates a "aws/request.Request" representing the // client's request for the CreateConfigurationTemplate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateConfigurationTemplate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateConfigurationTemplate method directly -// instead. +// See CreateConfigurationTemplate for more information on using the CreateConfigurationTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateConfigurationTemplateRequest method. // req, resp := client.CreateConfigurationTemplateRequest(params) @@ -645,19 +638,18 @@ const opCreateEnvironment = "CreateEnvironment" // CreateEnvironmentRequest generates a "aws/request.Request" representing the // client's request for the CreateEnvironment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateEnvironment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateEnvironment method directly -// instead. +// See CreateEnvironment for more information on using the CreateEnvironment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateEnvironmentRequest method. // req, resp := client.CreateEnvironmentRequest(params) @@ -730,19 +722,18 @@ const opCreatePlatformVersion = "CreatePlatformVersion" // CreatePlatformVersionRequest generates a "aws/request.Request" representing the // client's request for the CreatePlatformVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreatePlatformVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreatePlatformVersion method directly -// instead. +// See CreatePlatformVersion for more information on using the CreatePlatformVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreatePlatformVersionRequest method. // req, resp := client.CreatePlatformVersionRequest(params) @@ -818,19 +809,18 @@ const opCreateStorageLocation = "CreateStorageLocation" // CreateStorageLocationRequest generates a "aws/request.Request" representing the // client's request for the CreateStorageLocation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateStorageLocation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateStorageLocation method directly -// instead. +// See CreateStorageLocation for more information on using the CreateStorageLocation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateStorageLocationRequest method. // req, resp := client.CreateStorageLocationRequest(params) @@ -907,19 +897,18 @@ const opDeleteApplication = "DeleteApplication" // DeleteApplicationRequest generates a "aws/request.Request" representing the // client's request for the DeleteApplication operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteApplication for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteApplication method directly -// instead. +// See DeleteApplication for more information on using the DeleteApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteApplicationRequest method. // req, resp := client.DeleteApplicationRequest(params) @@ -994,19 +983,18 @@ const opDeleteApplicationVersion = "DeleteApplicationVersion" // DeleteApplicationVersionRequest generates a "aws/request.Request" representing the // client's request for the DeleteApplicationVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteApplicationVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteApplicationVersion method directly -// instead. +// See DeleteApplicationVersion for more information on using the DeleteApplicationVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteApplicationVersionRequest method. // req, resp := client.DeleteApplicationVersionRequest(params) @@ -1098,19 +1086,18 @@ const opDeleteConfigurationTemplate = "DeleteConfigurationTemplate" // DeleteConfigurationTemplateRequest generates a "aws/request.Request" representing the // client's request for the DeleteConfigurationTemplate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteConfigurationTemplate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteConfigurationTemplate method directly -// instead. +// See DeleteConfigurationTemplate for more information on using the DeleteConfigurationTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteConfigurationTemplateRequest method. // req, resp := client.DeleteConfigurationTemplateRequest(params) @@ -1185,19 +1172,18 @@ const opDeleteEnvironmentConfiguration = "DeleteEnvironmentConfiguration" // DeleteEnvironmentConfigurationRequest generates a "aws/request.Request" representing the // client's request for the DeleteEnvironmentConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteEnvironmentConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteEnvironmentConfiguration method directly -// instead. +// See DeleteEnvironmentConfiguration for more information on using the DeleteEnvironmentConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteEnvironmentConfigurationRequest method. // req, resp := client.DeleteEnvironmentConfigurationRequest(params) @@ -1269,19 +1255,18 @@ const opDeletePlatformVersion = "DeletePlatformVersion" // DeletePlatformVersionRequest generates a "aws/request.Request" representing the // client's request for the DeletePlatformVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeletePlatformVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeletePlatformVersion method directly -// instead. +// See DeletePlatformVersion for more information on using the DeletePlatformVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeletePlatformVersionRequest method. // req, resp := client.DeletePlatformVersionRequest(params) @@ -1361,19 +1346,18 @@ const opDescribeApplicationVersions = "DescribeApplicationVersions" // DescribeApplicationVersionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeApplicationVersions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeApplicationVersions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeApplicationVersions method directly -// instead. +// See DescribeApplicationVersions for more information on using the DescribeApplicationVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeApplicationVersionsRequest method. // req, resp := client.DescribeApplicationVersionsRequest(params) @@ -1436,19 +1420,18 @@ const opDescribeApplications = "DescribeApplications" // DescribeApplicationsRequest generates a "aws/request.Request" representing the // client's request for the DescribeApplications operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeApplications for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeApplications method directly -// instead. +// See DescribeApplications for more information on using the DescribeApplications +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeApplicationsRequest method. // req, resp := client.DescribeApplicationsRequest(params) @@ -1511,19 +1494,18 @@ const opDescribeConfigurationOptions = "DescribeConfigurationOptions" // DescribeConfigurationOptionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeConfigurationOptions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeConfigurationOptions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeConfigurationOptions method directly -// instead. +// See DescribeConfigurationOptions for more information on using the DescribeConfigurationOptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeConfigurationOptionsRequest method. // req, resp := client.DescribeConfigurationOptionsRequest(params) @@ -1595,19 +1577,18 @@ const opDescribeConfigurationSettings = "DescribeConfigurationSettings" // DescribeConfigurationSettingsRequest generates a "aws/request.Request" representing the // client's request for the DescribeConfigurationSettings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeConfigurationSettings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeConfigurationSettings method directly -// instead. +// See DescribeConfigurationSettings for more information on using the DescribeConfigurationSettings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeConfigurationSettingsRequest method. // req, resp := client.DescribeConfigurationSettingsRequest(params) @@ -1687,19 +1668,18 @@ const opDescribeEnvironmentHealth = "DescribeEnvironmentHealth" // DescribeEnvironmentHealthRequest generates a "aws/request.Request" representing the // client's request for the DescribeEnvironmentHealth operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEnvironmentHealth for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEnvironmentHealth method directly -// instead. +// See DescribeEnvironmentHealth for more information on using the DescribeEnvironmentHealth +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEnvironmentHealthRequest method. // req, resp := client.DescribeEnvironmentHealthRequest(params) @@ -1773,19 +1753,18 @@ const opDescribeEnvironmentManagedActionHistory = "DescribeEnvironmentManagedAct // DescribeEnvironmentManagedActionHistoryRequest generates a "aws/request.Request" representing the // client's request for the DescribeEnvironmentManagedActionHistory operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEnvironmentManagedActionHistory for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEnvironmentManagedActionHistory method directly -// instead. +// See DescribeEnvironmentManagedActionHistory for more information on using the DescribeEnvironmentManagedActionHistory +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEnvironmentManagedActionHistoryRequest method. // req, resp := client.DescribeEnvironmentManagedActionHistoryRequest(params) @@ -1853,19 +1832,18 @@ const opDescribeEnvironmentManagedActions = "DescribeEnvironmentManagedActions" // DescribeEnvironmentManagedActionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeEnvironmentManagedActions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEnvironmentManagedActions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEnvironmentManagedActions method directly -// instead. +// See DescribeEnvironmentManagedActions for more information on using the DescribeEnvironmentManagedActions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEnvironmentManagedActionsRequest method. // req, resp := client.DescribeEnvironmentManagedActionsRequest(params) @@ -1933,19 +1911,18 @@ const opDescribeEnvironmentResources = "DescribeEnvironmentResources" // DescribeEnvironmentResourcesRequest generates a "aws/request.Request" representing the // client's request for the DescribeEnvironmentResources operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEnvironmentResources for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEnvironmentResources method directly -// instead. +// See DescribeEnvironmentResources for more information on using the DescribeEnvironmentResources +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEnvironmentResourcesRequest method. // req, resp := client.DescribeEnvironmentResourcesRequest(params) @@ -2014,19 +1991,18 @@ const opDescribeEnvironments = "DescribeEnvironments" // DescribeEnvironmentsRequest generates a "aws/request.Request" representing the // client's request for the DescribeEnvironments operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEnvironments for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEnvironments method directly -// instead. +// See DescribeEnvironments for more information on using the DescribeEnvironments +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEnvironmentsRequest method. // req, resp := client.DescribeEnvironmentsRequest(params) @@ -2089,19 +2065,18 @@ const opDescribeEvents = "DescribeEvents" // DescribeEventsRequest generates a "aws/request.Request" representing the // client's request for the DescribeEvents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEvents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEvents method directly -// instead. +// See DescribeEvents for more information on using the DescribeEvents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEventsRequest method. // req, resp := client.DescribeEventsRequest(params) @@ -2222,19 +2197,18 @@ const opDescribeInstancesHealth = "DescribeInstancesHealth" // DescribeInstancesHealthRequest generates a "aws/request.Request" representing the // client's request for the DescribeInstancesHealth operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeInstancesHealth for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeInstancesHealth method directly -// instead. +// See DescribeInstancesHealth for more information on using the DescribeInstancesHealth +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeInstancesHealthRequest method. // req, resp := client.DescribeInstancesHealthRequest(params) @@ -2307,19 +2281,18 @@ const opDescribePlatformVersion = "DescribePlatformVersion" // DescribePlatformVersionRequest generates a "aws/request.Request" representing the // client's request for the DescribePlatformVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribePlatformVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribePlatformVersion method directly -// instead. +// See DescribePlatformVersion for more information on using the DescribePlatformVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribePlatformVersionRequest method. // req, resp := client.DescribePlatformVersionRequest(params) @@ -2391,19 +2364,18 @@ const opListAvailableSolutionStacks = "ListAvailableSolutionStacks" // ListAvailableSolutionStacksRequest generates a "aws/request.Request" representing the // client's request for the ListAvailableSolutionStacks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAvailableSolutionStacks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAvailableSolutionStacks method directly -// instead. +// See ListAvailableSolutionStacks for more information on using the ListAvailableSolutionStacks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAvailableSolutionStacksRequest method. // req, resp := client.ListAvailableSolutionStacksRequest(params) @@ -2467,19 +2439,18 @@ const opListPlatformVersions = "ListPlatformVersions" // ListPlatformVersionsRequest generates a "aws/request.Request" representing the // client's request for the ListPlatformVersions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListPlatformVersions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListPlatformVersions method directly -// instead. +// See ListPlatformVersions for more information on using the ListPlatformVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPlatformVersionsRequest method. // req, resp := client.ListPlatformVersionsRequest(params) @@ -2551,19 +2522,18 @@ const opRebuildEnvironment = "RebuildEnvironment" // RebuildEnvironmentRequest generates a "aws/request.Request" representing the // client's request for the RebuildEnvironment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RebuildEnvironment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RebuildEnvironment method directly -// instead. +// See RebuildEnvironment for more information on using the RebuildEnvironment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RebuildEnvironmentRequest method. // req, resp := client.RebuildEnvironmentRequest(params) @@ -2635,19 +2605,18 @@ const opRequestEnvironmentInfo = "RequestEnvironmentInfo" // RequestEnvironmentInfoRequest generates a "aws/request.Request" representing the // client's request for the RequestEnvironmentInfo operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RequestEnvironmentInfo for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RequestEnvironmentInfo method directly -// instead. +// See RequestEnvironmentInfo for more information on using the RequestEnvironmentInfo +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RequestEnvironmentInfoRequest method. // req, resp := client.RequestEnvironmentInfoRequest(params) @@ -2726,19 +2695,18 @@ const opRestartAppServer = "RestartAppServer" // RestartAppServerRequest generates a "aws/request.Request" representing the // client's request for the RestartAppServer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RestartAppServer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RestartAppServer method directly -// instead. +// See RestartAppServer for more information on using the RestartAppServer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RestartAppServerRequest method. // req, resp := client.RestartAppServerRequest(params) @@ -2804,19 +2772,18 @@ const opRetrieveEnvironmentInfo = "RetrieveEnvironmentInfo" // RetrieveEnvironmentInfoRequest generates a "aws/request.Request" representing the // client's request for the RetrieveEnvironmentInfo operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RetrieveEnvironmentInfo for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RetrieveEnvironmentInfo method directly -// instead. +// See RetrieveEnvironmentInfo for more information on using the RetrieveEnvironmentInfo +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RetrieveEnvironmentInfoRequest method. // req, resp := client.RetrieveEnvironmentInfoRequest(params) @@ -2883,19 +2850,18 @@ const opSwapEnvironmentCNAMEs = "SwapEnvironmentCNAMEs" // SwapEnvironmentCNAMEsRequest generates a "aws/request.Request" representing the // client's request for the SwapEnvironmentCNAMEs operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SwapEnvironmentCNAMEs for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SwapEnvironmentCNAMEs method directly -// instead. +// See SwapEnvironmentCNAMEs for more information on using the SwapEnvironmentCNAMEs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SwapEnvironmentCNAMEsRequest method. // req, resp := client.SwapEnvironmentCNAMEsRequest(params) @@ -2960,19 +2926,18 @@ const opTerminateEnvironment = "TerminateEnvironment" // TerminateEnvironmentRequest generates a "aws/request.Request" representing the // client's request for the TerminateEnvironment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TerminateEnvironment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TerminateEnvironment method directly -// instead. +// See TerminateEnvironment for more information on using the TerminateEnvironment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TerminateEnvironmentRequest method. // req, resp := client.TerminateEnvironmentRequest(params) @@ -3041,19 +3006,18 @@ const opUpdateApplication = "UpdateApplication" // UpdateApplicationRequest generates a "aws/request.Request" representing the // client's request for the UpdateApplication operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateApplication for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateApplication method directly -// instead. +// See UpdateApplication for more information on using the UpdateApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateApplicationRequest method. // req, resp := client.UpdateApplicationRequest(params) @@ -3119,19 +3083,18 @@ const opUpdateApplicationResourceLifecycle = "UpdateApplicationResourceLifecycle // UpdateApplicationResourceLifecycleRequest generates a "aws/request.Request" representing the // client's request for the UpdateApplicationResourceLifecycle operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateApplicationResourceLifecycle for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateApplicationResourceLifecycle method directly -// instead. +// See UpdateApplicationResourceLifecycle for more information on using the UpdateApplicationResourceLifecycle +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateApplicationResourceLifecycleRequest method. // req, resp := client.UpdateApplicationResourceLifecycleRequest(params) @@ -3200,19 +3163,18 @@ const opUpdateApplicationVersion = "UpdateApplicationVersion" // UpdateApplicationVersionRequest generates a "aws/request.Request" representing the // client's request for the UpdateApplicationVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateApplicationVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateApplicationVersion method directly -// instead. +// See UpdateApplicationVersion for more information on using the UpdateApplicationVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateApplicationVersionRequest method. // req, resp := client.UpdateApplicationVersionRequest(params) @@ -3278,19 +3240,18 @@ const opUpdateConfigurationTemplate = "UpdateConfigurationTemplate" // UpdateConfigurationTemplateRequest generates a "aws/request.Request" representing the // client's request for the UpdateConfigurationTemplate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateConfigurationTemplate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateConfigurationTemplate method directly -// instead. +// See UpdateConfigurationTemplate for more information on using the UpdateConfigurationTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateConfigurationTemplateRequest method. // req, resp := client.UpdateConfigurationTemplateRequest(params) @@ -3370,19 +3331,18 @@ const opUpdateEnvironment = "UpdateEnvironment" // UpdateEnvironmentRequest generates a "aws/request.Request" representing the // client's request for the UpdateEnvironment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateEnvironment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateEnvironment method directly -// instead. +// See UpdateEnvironment for more information on using the UpdateEnvironment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateEnvironmentRequest method. // req, resp := client.UpdateEnvironmentRequest(params) @@ -3464,19 +3424,18 @@ const opValidateConfigurationSettings = "ValidateConfigurationSettings" // ValidateConfigurationSettingsRequest generates a "aws/request.Request" representing the // client's request for the ValidateConfigurationSettings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ValidateConfigurationSettings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ValidateConfigurationSettings method directly -// instead. +// See ValidateConfigurationSettings for more information on using the ValidateConfigurationSettings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ValidateConfigurationSettingsRequest method. // req, resp := client.ValidateConfigurationSettingsRequest(params) @@ -4760,7 +4719,7 @@ type ConfigurationSettingsDescription struct { // set. OptionSettings []*ConfigurationOptionSetting `type:"list"` - // The ARN of the custom platform. + // The ARN of the platform. PlatformArn *string `type:"string"` // The name of the solution stack this configuration set uses. @@ -5235,8 +5194,9 @@ type CreateEnvironmentInput struct { // // Constraint: Must be from 4 to 40 characters in length. The name can contain // only letters, numbers, and hyphens. It cannot start or end with a hyphen. - // This name must be unique in your account. If the specified name already exists, - // AWS Elastic Beanstalk returns an InvalidParameterValue error. + // This name must be unique within a region in your account. If the specified + // name already exists in the region, AWS Elastic Beanstalk returns an InvalidParameterValue + // error. // // Default: If the CNAME parameter is not specified, the environment name becomes // part of the CNAME, and therefore part of the visible URL for your application. @@ -5259,7 +5219,7 @@ type CreateEnvironmentInput struct { // set for this new environment. OptionsToRemove []*OptionSpecification `type:"list"` - // The ARN of the custom platform. + // The ARN of the platform. PlatformArn *string `type:"string"` // This is an alternative to specifying a template name. If specified, AWS Elastic @@ -6004,7 +5964,7 @@ type Deployment struct { // deploy source code or change instance configuration settings. DeploymentId *int64 `type:"long"` - // For in-progress deployments, the time that the deloyment started. + // For in-progress deployments, the time that the deployment started. // // For completed deployments, the time that the deployment ended. DeploymentTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` @@ -6064,10 +6024,18 @@ type DescribeApplicationVersionsInput struct { // Specify an application name to show only application versions for that application. ApplicationName *string `min:"1" type:"string"` - // Specify a maximum number of application versions to paginate in the request. + // For a paginated request. Specify a maximum number of application versions + // to include in each response. + // + // If no MaxRecords is specified, all available application versions are retrieved + // in a single response. MaxRecords *int64 `min:"1" type:"integer"` - // Specify a next token to retrieve the next page in a paginated request. + // For a paginated request. Specify a token from a previous response page to + // retrieve the next response page. All other parameter values must be identical + // to the ones specified in the initial request. + // + // If no NextToken is specified, the first page is retrieved. NextToken *string `type:"string"` // Specify a version label to show a specific application version. @@ -6132,8 +6100,8 @@ type DescribeApplicationVersionsOutput struct { // List of ApplicationVersionDescription objects sorted in order of creation. ApplicationVersions []*ApplicationVersionDescription `type:"list"` - // For a paginated request, the token that you can pass in a subsequent request - // to get the next page. + // In a paginated request, the token that you can pass in a subsequent request + // to get the next response page. NextToken *string `type:"string"` } @@ -6320,7 +6288,7 @@ type DescribeConfigurationOptionsOutput struct { // A list of ConfigurationOptionDescription. Options []*ConfigurationOptionDescription `type:"list"` - // The ARN of the custom platform. + // The ARN of the platform. PlatformArn *string `type:"string"` // The name of the solution stack these configuration options belong to. @@ -6888,6 +6856,20 @@ type DescribeEnvironmentsInput struct { // after this date are displayed. IncludedDeletedBackTo *time.Time `type:"timestamp" timestampFormat:"iso8601"` + // For a paginated request. Specify a maximum number of environments to include + // in each response. + // + // If no MaxRecords is specified, all available environments are retrieved in + // a single response. + MaxRecords *int64 `min:"1" type:"integer"` + + // For a paginated request. Specify a token from a previous response page to + // retrieve the next response page. All other parameter values must be identical + // to the ones specified in the initial request. + // + // If no NextToken is specified, the first page is retrieved. + NextToken *string `type:"string"` + // If specified, AWS Elastic Beanstalk restricts the returned descriptions to // include only those that are associated with this application version. VersionLabel *string `min:"1" type:"string"` @@ -6909,6 +6891,9 @@ func (s *DescribeEnvironmentsInput) Validate() error { if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) } + if s.MaxRecords != nil && *s.MaxRecords < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 1)) + } if s.VersionLabel != nil && len(*s.VersionLabel) < 1 { invalidParams.Add(request.NewErrParamMinLen("VersionLabel", 1)) } @@ -6949,6 +6934,18 @@ func (s *DescribeEnvironmentsInput) SetIncludedDeletedBackTo(v time.Time) *Descr return s } +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeEnvironmentsInput) SetMaxRecords(v int64) *DescribeEnvironmentsInput { + s.MaxRecords = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeEnvironmentsInput) SetNextToken(v string) *DescribeEnvironmentsInput { + s.NextToken = &v + return s +} + // SetVersionLabel sets the VersionLabel field's value. func (s *DescribeEnvironmentsInput) SetVersionLabel(v string) *DescribeEnvironmentsInput { s.VersionLabel = &v @@ -7342,6 +7339,10 @@ type EnvironmentDescription struct { // For single-instance environments, the IP address of the instance. EndpointURL *string `type:"string"` + // The environment's Amazon Resource Name (ARN), which can be used in other + // API reuqests that require an ARN. + EnvironmentArn *string `type:"string"` + // The ID of this environment. EnvironmentId *string `type:"string"` @@ -7373,7 +7374,7 @@ type EnvironmentDescription struct { // For more information, see Health Colors and Statuses (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html). HealthStatus *string `type:"string" enum:"EnvironmentHealthStatus"` - // The ARN of the custom platform. + // The ARN of the platform. PlatformArn *string `type:"string"` // The description of the AWS resources used by this environment. @@ -7459,6 +7460,12 @@ func (s *EnvironmentDescription) SetEndpointURL(v string) *EnvironmentDescriptio return s } +// SetEnvironmentArn sets the EnvironmentArn field's value. +func (s *EnvironmentDescription) SetEnvironmentArn(v string) *EnvironmentDescription { + s.EnvironmentArn = &v + return s +} + // SetEnvironmentId sets the EnvironmentId field's value. func (s *EnvironmentDescription) SetEnvironmentId(v string) *EnvironmentDescription { s.EnvironmentId = &v @@ -7538,6 +7545,10 @@ type EnvironmentDescriptionsMessage struct { // Returns an EnvironmentDescription list. Environments []*EnvironmentDescription `type:"list"` + + // In a paginated request, the token that you can pass in a subsequent request + // to get the next response page. + NextToken *string `type:"string"` } // String returns the string representation @@ -7556,6 +7567,12 @@ func (s *EnvironmentDescriptionsMessage) SetEnvironments(v []*EnvironmentDescrip return s } +// SetNextToken sets the NextToken field's value. +func (s *EnvironmentDescriptionsMessage) SetNextToken(v string) *EnvironmentDescriptionsMessage { + s.NextToken = &v + return s +} + // The information retrieved from the Amazon EC2 instances. // Please also see https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/EnvironmentInfoDescription type EnvironmentInfoDescription struct { @@ -7811,7 +7828,7 @@ type EventDescription struct { // The event message. Message *string `type:"string"` - // The ARN of the custom platform. + // The ARN of the platform. PlatformArn *string `type:"string"` // The web service request ID for the activity of this event. diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/doc.go b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/doc.go index 257afe092..bd56e5c4f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/doc.go @@ -28,69 +28,17 @@ // // Using the Client // -// To use the client for AWS Elastic Beanstalk you will first need -// to create a new instance of it. +// To AWS Elastic Beanstalk with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := elasticbeanstalk.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Elastic Beanstalk client ElasticBeanstalk for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/elasticbeanstalk/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AbortEnvironmentUpdate(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AbortEnvironmentUpdate result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AbortEnvironmentUpdateWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package elasticbeanstalk diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/elasticbeanstalkiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/elasticbeanstalkiface/interface.go index 7aa4d09f2..75148e46c 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/elasticbeanstalkiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/elasticbeanstalkiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Elastic Beanstalk. diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/api.go b/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/api.go index 4a07953d2..7e4e7db5f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/api.go @@ -17,19 +17,18 @@ const opAddTags = "AddTags" // AddTagsRequest generates a "aws/request.Request" representing the // client's request for the AddTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddTags method directly -// instead. +// See AddTags for more information on using the AddTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddTagsRequest method. // req, resp := client.AddTagsRequest(params) @@ -38,8 +37,6 @@ const opAddTags = "AddTags" // if err == nil { // resp is now filled // fmt.Println(resp) // } -// -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/AddTags func (c *ElasticsearchService) AddTagsRequest(input *AddTagsInput) (req *request.Request, output *AddTagsOutput) { op := &request.Operation{ Name: opAddTags, @@ -88,7 +85,6 @@ func (c *ElasticsearchService) AddTagsRequest(input *AddTagsInput) (req *request // or failure (the failure is internal to the service) . Gives http status code // of 500. // -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/AddTags func (c *ElasticsearchService) AddTags(input *AddTagsInput) (*AddTagsOutput, error) { req, out := c.AddTagsRequest(input) return out, req.Send() @@ -114,19 +110,18 @@ const opCreateElasticsearchDomain = "CreateElasticsearchDomain" // CreateElasticsearchDomainRequest generates a "aws/request.Request" representing the // client's request for the CreateElasticsearchDomain operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateElasticsearchDomain for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateElasticsearchDomain method directly -// instead. +// See CreateElasticsearchDomain for more information on using the CreateElasticsearchDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateElasticsearchDomainRequest method. // req, resp := client.CreateElasticsearchDomainRequest(params) @@ -135,8 +130,6 @@ const opCreateElasticsearchDomain = "CreateElasticsearchDomain" // if err == nil { // resp is now filled // fmt.Println(resp) // } -// -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/CreateElasticsearchDomain func (c *ElasticsearchService) CreateElasticsearchDomainRequest(input *CreateElasticsearchDomainInput) (req *request.Request, output *CreateElasticsearchDomainOutput) { op := &request.Operation{ Name: opCreateElasticsearchDomain, @@ -195,7 +188,6 @@ func (c *ElasticsearchService) CreateElasticsearchDomainRequest(input *CreateEla // An exception for missing / invalid input fields. Gives http status code of // 400. // -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/CreateElasticsearchDomain func (c *ElasticsearchService) CreateElasticsearchDomain(input *CreateElasticsearchDomainInput) (*CreateElasticsearchDomainOutput, error) { req, out := c.CreateElasticsearchDomainRequest(input) return out, req.Send() @@ -221,19 +213,18 @@ const opDeleteElasticsearchDomain = "DeleteElasticsearchDomain" // DeleteElasticsearchDomainRequest generates a "aws/request.Request" representing the // client's request for the DeleteElasticsearchDomain operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteElasticsearchDomain for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteElasticsearchDomain method directly -// instead. +// See DeleteElasticsearchDomain for more information on using the DeleteElasticsearchDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteElasticsearchDomainRequest method. // req, resp := client.DeleteElasticsearchDomainRequest(params) @@ -242,8 +233,6 @@ const opDeleteElasticsearchDomain = "DeleteElasticsearchDomain" // if err == nil { // resp is now filled // fmt.Println(resp) // } -// -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/DeleteElasticsearchDomain func (c *ElasticsearchService) DeleteElasticsearchDomainRequest(input *DeleteElasticsearchDomainInput) (req *request.Request, output *DeleteElasticsearchDomainOutput) { op := &request.Operation{ Name: opDeleteElasticsearchDomain, @@ -289,7 +278,6 @@ func (c *ElasticsearchService) DeleteElasticsearchDomainRequest(input *DeleteEla // An exception for missing / invalid input fields. Gives http status code of // 400. // -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/DeleteElasticsearchDomain func (c *ElasticsearchService) DeleteElasticsearchDomain(input *DeleteElasticsearchDomainInput) (*DeleteElasticsearchDomainOutput, error) { req, out := c.DeleteElasticsearchDomainRequest(input) return out, req.Send() @@ -315,19 +303,18 @@ const opDescribeElasticsearchDomain = "DescribeElasticsearchDomain" // DescribeElasticsearchDomainRequest generates a "aws/request.Request" representing the // client's request for the DescribeElasticsearchDomain operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeElasticsearchDomain for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeElasticsearchDomain method directly -// instead. +// See DescribeElasticsearchDomain for more information on using the DescribeElasticsearchDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeElasticsearchDomainRequest method. // req, resp := client.DescribeElasticsearchDomainRequest(params) @@ -336,8 +323,6 @@ const opDescribeElasticsearchDomain = "DescribeElasticsearchDomain" // if err == nil { // resp is now filled // fmt.Println(resp) // } -// -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/DescribeElasticsearchDomain func (c *ElasticsearchService) DescribeElasticsearchDomainRequest(input *DescribeElasticsearchDomainInput) (req *request.Request, output *DescribeElasticsearchDomainOutput) { op := &request.Operation{ Name: opDescribeElasticsearchDomain, @@ -383,7 +368,6 @@ func (c *ElasticsearchService) DescribeElasticsearchDomainRequest(input *Describ // An exception for missing / invalid input fields. Gives http status code of // 400. // -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/DescribeElasticsearchDomain func (c *ElasticsearchService) DescribeElasticsearchDomain(input *DescribeElasticsearchDomainInput) (*DescribeElasticsearchDomainOutput, error) { req, out := c.DescribeElasticsearchDomainRequest(input) return out, req.Send() @@ -409,19 +393,18 @@ const opDescribeElasticsearchDomainConfig = "DescribeElasticsearchDomainConfig" // DescribeElasticsearchDomainConfigRequest generates a "aws/request.Request" representing the // client's request for the DescribeElasticsearchDomainConfig operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeElasticsearchDomainConfig for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeElasticsearchDomainConfig method directly -// instead. +// See DescribeElasticsearchDomainConfig for more information on using the DescribeElasticsearchDomainConfig +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeElasticsearchDomainConfigRequest method. // req, resp := client.DescribeElasticsearchDomainConfigRequest(params) @@ -430,8 +413,6 @@ const opDescribeElasticsearchDomainConfig = "DescribeElasticsearchDomainConfig" // if err == nil { // resp is now filled // fmt.Println(resp) // } -// -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/DescribeElasticsearchDomainConfig func (c *ElasticsearchService) DescribeElasticsearchDomainConfigRequest(input *DescribeElasticsearchDomainConfigInput) (req *request.Request, output *DescribeElasticsearchDomainConfigOutput) { op := &request.Operation{ Name: opDescribeElasticsearchDomainConfig, @@ -478,7 +459,6 @@ func (c *ElasticsearchService) DescribeElasticsearchDomainConfigRequest(input *D // An exception for missing / invalid input fields. Gives http status code of // 400. // -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/DescribeElasticsearchDomainConfig func (c *ElasticsearchService) DescribeElasticsearchDomainConfig(input *DescribeElasticsearchDomainConfigInput) (*DescribeElasticsearchDomainConfigOutput, error) { req, out := c.DescribeElasticsearchDomainConfigRequest(input) return out, req.Send() @@ -504,19 +484,18 @@ const opDescribeElasticsearchDomains = "DescribeElasticsearchDomains" // DescribeElasticsearchDomainsRequest generates a "aws/request.Request" representing the // client's request for the DescribeElasticsearchDomains operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeElasticsearchDomains for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeElasticsearchDomains method directly -// instead. +// See DescribeElasticsearchDomains for more information on using the DescribeElasticsearchDomains +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeElasticsearchDomainsRequest method. // req, resp := client.DescribeElasticsearchDomainsRequest(params) @@ -525,8 +504,6 @@ const opDescribeElasticsearchDomains = "DescribeElasticsearchDomains" // if err == nil { // resp is now filled // fmt.Println(resp) // } -// -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/DescribeElasticsearchDomains func (c *ElasticsearchService) DescribeElasticsearchDomainsRequest(input *DescribeElasticsearchDomainsInput) (req *request.Request, output *DescribeElasticsearchDomainsOutput) { op := &request.Operation{ Name: opDescribeElasticsearchDomains, @@ -568,7 +545,6 @@ func (c *ElasticsearchService) DescribeElasticsearchDomainsRequest(input *Descri // An exception for missing / invalid input fields. Gives http status code of // 400. // -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/DescribeElasticsearchDomains func (c *ElasticsearchService) DescribeElasticsearchDomains(input *DescribeElasticsearchDomainsInput) (*DescribeElasticsearchDomainsOutput, error) { req, out := c.DescribeElasticsearchDomainsRequest(input) return out, req.Send() @@ -594,19 +570,18 @@ const opDescribeElasticsearchInstanceTypeLimits = "DescribeElasticsearchInstance // DescribeElasticsearchInstanceTypeLimitsRequest generates a "aws/request.Request" representing the // client's request for the DescribeElasticsearchInstanceTypeLimits operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeElasticsearchInstanceTypeLimits for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeElasticsearchInstanceTypeLimits method directly -// instead. +// See DescribeElasticsearchInstanceTypeLimits for more information on using the DescribeElasticsearchInstanceTypeLimits +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeElasticsearchInstanceTypeLimitsRequest method. // req, resp := client.DescribeElasticsearchInstanceTypeLimitsRequest(params) @@ -615,8 +590,6 @@ const opDescribeElasticsearchInstanceTypeLimits = "DescribeElasticsearchInstance // if err == nil { // resp is now filled // fmt.Println(resp) // } -// -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/DescribeElasticsearchInstanceTypeLimits func (c *ElasticsearchService) DescribeElasticsearchInstanceTypeLimitsRequest(input *DescribeElasticsearchInstanceTypeLimitsInput) (req *request.Request, output *DescribeElasticsearchInstanceTypeLimitsOutput) { op := &request.Operation{ Name: opDescribeElasticsearchInstanceTypeLimits, @@ -671,7 +644,6 @@ func (c *ElasticsearchService) DescribeElasticsearchInstanceTypeLimitsRequest(in // An exception for missing / invalid input fields. Gives http status code of // 400. // -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/DescribeElasticsearchInstanceTypeLimits func (c *ElasticsearchService) DescribeElasticsearchInstanceTypeLimits(input *DescribeElasticsearchInstanceTypeLimitsInput) (*DescribeElasticsearchInstanceTypeLimitsOutput, error) { req, out := c.DescribeElasticsearchInstanceTypeLimitsRequest(input) return out, req.Send() @@ -697,19 +669,18 @@ const opListDomainNames = "ListDomainNames" // ListDomainNamesRequest generates a "aws/request.Request" representing the // client's request for the ListDomainNames operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDomainNames for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDomainNames method directly -// instead. +// See ListDomainNames for more information on using the ListDomainNames +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDomainNamesRequest method. // req, resp := client.ListDomainNamesRequest(params) @@ -718,8 +689,6 @@ const opListDomainNames = "ListDomainNames" // if err == nil { // resp is now filled // fmt.Println(resp) // } -// -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/ListDomainNames func (c *ElasticsearchService) ListDomainNamesRequest(input *ListDomainNamesInput) (req *request.Request, output *ListDomainNamesOutput) { op := &request.Operation{ Name: opListDomainNames, @@ -756,7 +725,6 @@ func (c *ElasticsearchService) ListDomainNamesRequest(input *ListDomainNamesInpu // An exception for missing / invalid input fields. Gives http status code of // 400. // -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/ListDomainNames func (c *ElasticsearchService) ListDomainNames(input *ListDomainNamesInput) (*ListDomainNamesOutput, error) { req, out := c.ListDomainNamesRequest(input) return out, req.Send() @@ -782,19 +750,18 @@ const opListElasticsearchInstanceTypes = "ListElasticsearchInstanceTypes" // ListElasticsearchInstanceTypesRequest generates a "aws/request.Request" representing the // client's request for the ListElasticsearchInstanceTypes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListElasticsearchInstanceTypes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListElasticsearchInstanceTypes method directly -// instead. +// See ListElasticsearchInstanceTypes for more information on using the ListElasticsearchInstanceTypes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListElasticsearchInstanceTypesRequest method. // req, resp := client.ListElasticsearchInstanceTypesRequest(params) @@ -803,8 +770,6 @@ const opListElasticsearchInstanceTypes = "ListElasticsearchInstanceTypes" // if err == nil { // resp is now filled // fmt.Println(resp) // } -// -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/ListElasticsearchInstanceTypes func (c *ElasticsearchService) ListElasticsearchInstanceTypesRequest(input *ListElasticsearchInstanceTypesInput) (req *request.Request, output *ListElasticsearchInstanceTypesOutput) { op := &request.Operation{ Name: opListElasticsearchInstanceTypes, @@ -855,7 +820,6 @@ func (c *ElasticsearchService) ListElasticsearchInstanceTypesRequest(input *List // An exception for missing / invalid input fields. Gives http status code of // 400. // -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/ListElasticsearchInstanceTypes func (c *ElasticsearchService) ListElasticsearchInstanceTypes(input *ListElasticsearchInstanceTypesInput) (*ListElasticsearchInstanceTypesOutput, error) { req, out := c.ListElasticsearchInstanceTypesRequest(input) return out, req.Send() @@ -931,19 +895,18 @@ const opListElasticsearchVersions = "ListElasticsearchVersions" // ListElasticsearchVersionsRequest generates a "aws/request.Request" representing the // client's request for the ListElasticsearchVersions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListElasticsearchVersions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListElasticsearchVersions method directly -// instead. +// See ListElasticsearchVersions for more information on using the ListElasticsearchVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListElasticsearchVersionsRequest method. // req, resp := client.ListElasticsearchVersionsRequest(params) @@ -952,8 +915,6 @@ const opListElasticsearchVersions = "ListElasticsearchVersions" // if err == nil { // resp is now filled // fmt.Println(resp) // } -// -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/ListElasticsearchVersions func (c *ElasticsearchService) ListElasticsearchVersionsRequest(input *ListElasticsearchVersionsInput) (req *request.Request, output *ListElasticsearchVersionsOutput) { op := &request.Operation{ Name: opListElasticsearchVersions, @@ -1004,7 +965,6 @@ func (c *ElasticsearchService) ListElasticsearchVersionsRequest(input *ListElast // An exception for missing / invalid input fields. Gives http status code of // 400. // -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/ListElasticsearchVersions func (c *ElasticsearchService) ListElasticsearchVersions(input *ListElasticsearchVersionsInput) (*ListElasticsearchVersionsOutput, error) { req, out := c.ListElasticsearchVersionsRequest(input) return out, req.Send() @@ -1080,19 +1040,18 @@ const opListTags = "ListTags" // ListTagsRequest generates a "aws/request.Request" representing the // client's request for the ListTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTags method directly -// instead. +// See ListTags for more information on using the ListTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTagsRequest method. // req, resp := client.ListTagsRequest(params) @@ -1101,8 +1060,6 @@ const opListTags = "ListTags" // if err == nil { // resp is now filled // fmt.Println(resp) // } -// -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/ListTags func (c *ElasticsearchService) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) { op := &request.Operation{ Name: opListTags, @@ -1147,7 +1104,6 @@ func (c *ElasticsearchService) ListTagsRequest(input *ListTagsInput) (req *reque // or failure (the failure is internal to the service) . Gives http status code // of 500. // -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/ListTags func (c *ElasticsearchService) ListTags(input *ListTagsInput) (*ListTagsOutput, error) { req, out := c.ListTagsRequest(input) return out, req.Send() @@ -1173,19 +1129,18 @@ const opRemoveTags = "RemoveTags" // RemoveTagsRequest generates a "aws/request.Request" representing the // client's request for the RemoveTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveTags method directly -// instead. +// See RemoveTags for more information on using the RemoveTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveTagsRequest method. // req, resp := client.RemoveTagsRequest(params) @@ -1194,8 +1149,6 @@ const opRemoveTags = "RemoveTags" // if err == nil { // resp is now filled // fmt.Println(resp) // } -// -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/RemoveTags func (c *ElasticsearchService) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, output *RemoveTagsOutput) { op := &request.Operation{ Name: opRemoveTags, @@ -1238,7 +1191,6 @@ func (c *ElasticsearchService) RemoveTagsRequest(input *RemoveTagsInput) (req *r // or failure (the failure is internal to the service) . Gives http status code // of 500. // -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/RemoveTags func (c *ElasticsearchService) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) { req, out := c.RemoveTagsRequest(input) return out, req.Send() @@ -1264,19 +1216,18 @@ const opUpdateElasticsearchDomainConfig = "UpdateElasticsearchDomainConfig" // UpdateElasticsearchDomainConfigRequest generates a "aws/request.Request" representing the // client's request for the UpdateElasticsearchDomainConfig operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateElasticsearchDomainConfig for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateElasticsearchDomainConfig method directly -// instead. +// See UpdateElasticsearchDomainConfig for more information on using the UpdateElasticsearchDomainConfig +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateElasticsearchDomainConfigRequest method. // req, resp := client.UpdateElasticsearchDomainConfigRequest(params) @@ -1285,8 +1236,6 @@ const opUpdateElasticsearchDomainConfig = "UpdateElasticsearchDomainConfig" // if err == nil { // resp is now filled // fmt.Println(resp) // } -// -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/UpdateElasticsearchDomainConfig func (c *ElasticsearchService) UpdateElasticsearchDomainConfigRequest(input *UpdateElasticsearchDomainConfigInput) (req *request.Request, output *UpdateElasticsearchDomainConfigOutput) { op := &request.Operation{ Name: opUpdateElasticsearchDomainConfig, @@ -1340,7 +1289,6 @@ func (c *ElasticsearchService) UpdateElasticsearchDomainConfigRequest(input *Upd // An exception for missing / invalid input fields. Gives http status code of // 400. // -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/UpdateElasticsearchDomainConfig func (c *ElasticsearchService) UpdateElasticsearchDomainConfig(input *UpdateElasticsearchDomainConfigInput) (*UpdateElasticsearchDomainConfigOutput, error) { req, out := c.UpdateElasticsearchDomainConfigRequest(input) return out, req.Send() @@ -1364,7 +1312,6 @@ func (c *ElasticsearchService) UpdateElasticsearchDomainConfigWithContext(ctx aw // The configured access rules for the domain's document and search endpoints, // and the current status of those rules. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/AccessPoliciesStatus type AccessPoliciesStatus struct { _ struct{} `type:"structure"` @@ -1407,7 +1354,6 @@ func (s *AccessPoliciesStatus) SetStatus(v *OptionStatus) *AccessPoliciesStatus // Container for the parameters to the AddTags operation. Specify the tags that // you want to attach to the Elasticsearch domain. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/AddTagsRequest type AddTagsInput struct { _ struct{} `type:"structure"` @@ -1470,7 +1416,6 @@ func (s *AddTagsInput) SetTagList(v []*Tag) *AddTagsInput { return s } -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/AddTagsOutput type AddTagsOutput struct { _ struct{} `type:"structure"` } @@ -1487,7 +1432,6 @@ func (s AddTagsOutput) GoString() string { // List of limits that are specific to a given InstanceType and for each of // it's InstanceRole . -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/AdditionalLimit type AdditionalLimit struct { _ struct{} `type:"structure"` @@ -1535,7 +1479,6 @@ func (s *AdditionalLimit) SetLimitValues(v []*string) *AdditionalLimit { // * Option to specify the percentage of heap space that is allocated to // field data. By default, this setting is unbounded. // For more information, see Configuring Advanced Options (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-advanced-options). -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/AdvancedOptionsStatus type AdvancedOptionsStatus struct { _ struct{} `type:"structure"` @@ -1574,7 +1517,6 @@ func (s *AdvancedOptionsStatus) SetStatus(v *OptionStatus) *AdvancedOptionsStatu return s } -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/CreateElasticsearchDomainRequest type CreateElasticsearchDomainInput struct { _ struct{} `type:"structure"` @@ -1683,7 +1625,6 @@ func (s *CreateElasticsearchDomainInput) SetSnapshotOptions(v *SnapshotOptions) // The result of a CreateElasticsearchDomain operation. Contains the status // of the newly created Elasticsearch domain. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/CreateElasticsearchDomainResponse type CreateElasticsearchDomainOutput struct { _ struct{} `type:"structure"` @@ -1709,7 +1650,6 @@ func (s *CreateElasticsearchDomainOutput) SetDomainStatus(v *ElasticsearchDomain // Container for the parameters to the DeleteElasticsearchDomain operation. // Specifies the name of the Elasticsearch domain that you want to delete. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/DeleteElasticsearchDomainRequest type DeleteElasticsearchDomainInput struct { _ struct{} `type:"structure"` @@ -1754,7 +1694,6 @@ func (s *DeleteElasticsearchDomainInput) SetDomainName(v string) *DeleteElastics // The result of a DeleteElasticsearchDomain request. Contains the status of // the pending deletion, or no status if the domain and all of its resources // have been deleted. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/DeleteElasticsearchDomainResponse type DeleteElasticsearchDomainOutput struct { _ struct{} `type:"structure"` @@ -1780,7 +1719,6 @@ func (s *DeleteElasticsearchDomainOutput) SetDomainStatus(v *ElasticsearchDomain // Container for the parameters to the DescribeElasticsearchDomainConfig operation. // Specifies the domain name for which you want configuration information. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/DescribeElasticsearchDomainConfigRequest type DescribeElasticsearchDomainConfigInput struct { _ struct{} `type:"structure"` @@ -1824,7 +1762,6 @@ func (s *DescribeElasticsearchDomainConfigInput) SetDomainName(v string) *Descri // The result of a DescribeElasticsearchDomainConfig request. Contains the configuration // information of the requested domain. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/DescribeElasticsearchDomainConfigResponse type DescribeElasticsearchDomainConfigOutput struct { _ struct{} `type:"structure"` @@ -1852,7 +1789,6 @@ func (s *DescribeElasticsearchDomainConfigOutput) SetDomainConfig(v *Elasticsear } // Container for the parameters to the DescribeElasticsearchDomain operation. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/DescribeElasticsearchDomainRequest type DescribeElasticsearchDomainInput struct { _ struct{} `type:"structure"` @@ -1896,7 +1832,6 @@ func (s *DescribeElasticsearchDomainInput) SetDomainName(v string) *DescribeElas // The result of a DescribeElasticsearchDomain request. Contains the status // of the domain specified in the request. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/DescribeElasticsearchDomainResponse type DescribeElasticsearchDomainOutput struct { _ struct{} `type:"structure"` @@ -1924,7 +1859,6 @@ func (s *DescribeElasticsearchDomainOutput) SetDomainStatus(v *ElasticsearchDoma // Container for the parameters to the DescribeElasticsearchDomains operation. // By default, the API returns the status of all Elasticsearch domains. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/DescribeElasticsearchDomainsRequest type DescribeElasticsearchDomainsInput struct { _ struct{} `type:"structure"` @@ -1965,7 +1899,6 @@ func (s *DescribeElasticsearchDomainsInput) SetDomainNames(v []*string) *Describ // The result of a DescribeElasticsearchDomains request. Contains the status // of the specified domains or all domains owned by the account. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/DescribeElasticsearchDomainsResponse type DescribeElasticsearchDomainsOutput struct { _ struct{} `type:"structure"` @@ -1992,7 +1925,6 @@ func (s *DescribeElasticsearchDomainsOutput) SetDomainStatusList(v []*Elasticsea } // Container for the parameters to DescribeElasticsearchInstanceTypeLimits operation. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/DescribeElasticsearchInstanceTypeLimitsRequest type DescribeElasticsearchInstanceTypeLimitsInput struct { _ struct{} `type:"structure"` @@ -2062,7 +1994,6 @@ func (s *DescribeElasticsearchInstanceTypeLimitsInput) SetInstanceType(v string) // Container for the parameters received from DescribeElasticsearchInstanceTypeLimits // operation. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/DescribeElasticsearchInstanceTypeLimitsResponse type DescribeElasticsearchInstanceTypeLimitsOutput struct { _ struct{} `type:"structure"` @@ -2089,7 +2020,6 @@ func (s *DescribeElasticsearchInstanceTypeLimitsOutput) SetLimitsByRole(v map[st return s } -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/DomainInfo type DomainInfo struct { _ struct{} `type:"structure"` @@ -2115,7 +2045,6 @@ func (s *DomainInfo) SetDomainName(v string) *DomainInfo { // Options to enable, disable, and specify the properties of EBS storage volumes. // For more information, see Configuring EBS-based Storage (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-ebs). -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/EBSOptions type EBSOptions struct { _ struct{} `type:"structure"` @@ -2167,7 +2096,6 @@ func (s *EBSOptions) SetVolumeType(v string) *EBSOptions { } // Status of the EBS options for the specified Elasticsearch domain. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/EBSOptionsStatus type EBSOptionsStatus struct { _ struct{} `type:"structure"` @@ -2206,7 +2134,6 @@ func (s *EBSOptionsStatus) SetStatus(v *OptionStatus) *EBSOptionsStatus { // Specifies the configuration for the domain cluster, such as the type and // number of instances. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/ElasticsearchClusterConfig type ElasticsearchClusterConfig struct { _ struct{} `type:"structure"` @@ -2280,7 +2207,6 @@ func (s *ElasticsearchClusterConfig) SetZoneAwarenessEnabled(v bool) *Elasticsea } // Specifies the configuration status for the specified Elasticsearch domain. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/ElasticsearchClusterConfigStatus type ElasticsearchClusterConfigStatus struct { _ struct{} `type:"structure"` @@ -2319,7 +2245,6 @@ func (s *ElasticsearchClusterConfigStatus) SetStatus(v *OptionStatus) *Elasticse } // The configuration of an Elasticsearch domain. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/ElasticsearchDomainConfig type ElasticsearchDomainConfig struct { _ struct{} `type:"structure"` @@ -2391,7 +2316,6 @@ func (s *ElasticsearchDomainConfig) SetSnapshotOptions(v *SnapshotOptionsStatus) } // The current status of an Elasticsearch domain. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/ElasticsearchDomainStatus type ElasticsearchDomainStatus struct { _ struct{} `type:"structure"` @@ -2546,7 +2470,6 @@ func (s *ElasticsearchDomainStatus) SetSnapshotOptions(v *SnapshotOptions) *Elas // Status of the Elasticsearch version options for the specified Elasticsearch // domain. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/ElasticsearchVersionStatus type ElasticsearchVersionStatus struct { _ struct{} `type:"structure"` @@ -2586,7 +2509,6 @@ func (s *ElasticsearchVersionStatus) SetStatus(v *OptionStatus) *ElasticsearchVe // InstanceCountLimits represents the limits on number of instances that be // created in Amazon Elasticsearch for given InstanceType. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/InstanceCountLimits type InstanceCountLimits struct { _ struct{} `type:"structure"` @@ -2621,7 +2543,6 @@ func (s *InstanceCountLimits) SetMinimumInstanceCount(v int64) *InstanceCountLim // InstanceLimits represents the list of instance related attributes that are // available for given InstanceType. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/InstanceLimits type InstanceLimits struct { _ struct{} `type:"structure"` @@ -2647,7 +2568,6 @@ func (s *InstanceLimits) SetInstanceCountLimits(v *InstanceCountLimits) *Instanc } // Limits for given InstanceType and for each of it's role. Limits contains following StorageTypes, InstanceLimitsand AdditionalLimits -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/Limits type Limits struct { _ struct{} `type:"structure"` @@ -2692,7 +2612,6 @@ func (s *Limits) SetStorageTypes(v []*StorageType) *Limits { return s } -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/ListDomainNamesInput type ListDomainNamesInput struct { _ struct{} `type:"structure"` } @@ -2709,7 +2628,6 @@ func (s ListDomainNamesInput) GoString() string { // The result of a ListDomainNames operation. Contains the names of all Elasticsearch // domains owned by this account. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/ListDomainNamesResponse type ListDomainNamesOutput struct { _ struct{} `type:"structure"` @@ -2734,7 +2652,6 @@ func (s *ListDomainNamesOutput) SetDomainNames(v []*DomainInfo) *ListDomainNames } // Container for the parameters to the ListElasticsearchInstanceTypes operation. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/ListElasticsearchInstanceTypesRequest type ListElasticsearchInstanceTypesInput struct { _ struct{} `type:"structure"` @@ -2809,7 +2726,6 @@ func (s *ListElasticsearchInstanceTypesInput) SetNextToken(v string) *ListElasti } // Container for the parameters returned by ListElasticsearchInstanceTypes operation. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/ListElasticsearchInstanceTypesResponse type ListElasticsearchInstanceTypesOutput struct { _ struct{} `type:"structure"` @@ -2851,7 +2767,6 @@ func (s *ListElasticsearchInstanceTypesOutput) SetNextToken(v string) *ListElast // // Use NextToken in response to retrieve more results. If the received response // does not contain a NextToken, then there are no more results to retrieve. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/ListElasticsearchVersionsRequest type ListElasticsearchVersionsInput struct { _ struct{} `type:"structure"` @@ -2889,7 +2804,6 @@ func (s *ListElasticsearchVersionsInput) SetNextToken(v string) *ListElasticsear // Container for the parameters for response received from ListElasticsearchVersions // operation. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/ListElasticsearchVersionsResponse type ListElasticsearchVersionsOutput struct { _ struct{} `type:"structure"` @@ -2927,7 +2841,6 @@ func (s *ListElasticsearchVersionsOutput) SetNextToken(v string) *ListElasticsea // Container for the parameters to the ListTags operation. Specify the ARN for // the Elasticsearch domain to which the tags are attached that you want to // view are attached. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/ListTagsRequest type ListTagsInput struct { _ struct{} `type:"structure"` @@ -2969,7 +2882,6 @@ func (s *ListTagsInput) SetARN(v string) *ListTagsInput { // The result of a ListTags operation. Contains tags for all requested Elasticsearch // domains. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/ListTagsResponse type ListTagsOutput struct { _ struct{} `type:"structure"` @@ -2994,7 +2906,6 @@ func (s *ListTagsOutput) SetTagList(v []*Tag) *ListTagsOutput { } // Provides the current status of the entity. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/OptionStatus type OptionStatus struct { _ struct{} `type:"structure"` @@ -3063,7 +2974,6 @@ func (s *OptionStatus) SetUpdateVersion(v int64) *OptionStatus { // Container for the parameters to the RemoveTags operation. Specify the ARN // for the Elasticsearch domain from which you want to remove the specified // TagKey. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/RemoveTagsRequest type RemoveTagsInput struct { _ struct{} `type:"structure"` @@ -3118,7 +3028,6 @@ func (s *RemoveTagsInput) SetTagKeys(v []*string) *RemoveTagsInput { return s } -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/RemoveTagsOutput type RemoveTagsOutput struct { _ struct{} `type:"structure"` } @@ -3135,7 +3044,6 @@ func (s RemoveTagsOutput) GoString() string { // Specifies the time, in UTC format, when the service takes a daily automated // snapshot of the specified Elasticsearch domain. Default value is 0 hours. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/SnapshotOptions type SnapshotOptions struct { _ struct{} `type:"structure"` @@ -3161,7 +3069,6 @@ func (s *SnapshotOptions) SetAutomatedSnapshotStartHour(v int64) *SnapshotOption } // Status of a daily automated snapshot. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/SnapshotOptionsStatus type SnapshotOptionsStatus struct { _ struct{} `type:"structure"` @@ -3200,7 +3107,6 @@ func (s *SnapshotOptionsStatus) SetStatus(v *OptionStatus) *SnapshotOptionsStatu // StorageTypes represents the list of storage related types and their attributes // that are available for given InstanceType. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/StorageType type StorageType struct { _ struct{} `type:"structure"` @@ -3250,7 +3156,6 @@ func (s *StorageType) SetStorageTypeName(v string) *StorageType { } // Limits that are applicable for given storage type. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/StorageTypeLimit type StorageTypeLimit struct { _ struct{} `type:"structure"` @@ -3293,7 +3198,6 @@ func (s *StorageTypeLimit) SetLimitValues(v []*string) *StorageTypeLimit { } // Specifies a key value pair for a resource tag. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/Tag type Tag struct { _ struct{} `type:"structure"` @@ -3355,7 +3259,6 @@ func (s *Tag) SetValue(v string) *Tag { // Container for the parameters to the UpdateElasticsearchDomain operation. // Specifies the type and number of instances in the domain cluster. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/UpdateElasticsearchDomainConfigRequest type UpdateElasticsearchDomainConfigInput struct { _ struct{} `type:"structure"` @@ -3448,7 +3351,6 @@ func (s *UpdateElasticsearchDomainConfigInput) SetSnapshotOptions(v *SnapshotOpt // The result of an UpdateElasticsearchDomain request. Contains the status of // the Elasticsearch domain being updated. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01/UpdateElasticsearchDomainConfigResponse type UpdateElasticsearchDomainConfigOutput struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/doc.go b/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/doc.go index 543a11aff..901f7123d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/doc.go @@ -10,76 +10,22 @@ // For example, es.us-east-1.amazonaws.com. For a current list of supported // regions and endpoints, see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#elasticsearch-service-regions). // -// See https://docs.aws.amazon.com/goto/WebAPI/es-2015-01-01 for more information on this service. -// // See elasticsearchservice package documentation for more information. // https://docs.aws.amazon.com/sdk-for-go/api/service/elasticsearchservice/ // // Using the Client // -// To use the client for Amazon Elasticsearch Service you will first need -// to create a new instance of it. +// To Amazon Elasticsearch Service with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := elasticsearchservice.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Elasticsearch Service client ElasticsearchService for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/elasticsearchservice/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AddTags(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AddTags result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AddTagsWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package elasticsearchservice diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/elasticsearchserviceiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/elasticsearchserviceiface/interface.go index d4f90d996..a61e4fa0a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/elasticsearchserviceiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/elasticsearchserviceiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Elasticsearch Service. diff --git a/vendor/github.com/aws/aws-sdk-go/service/elastictranscoder/api.go b/vendor/github.com/aws/aws-sdk-go/service/elastictranscoder/api.go index dc719ef05..96ca242ff 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elastictranscoder/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elastictranscoder/api.go @@ -14,19 +14,18 @@ const opCancelJob = "CancelJob" // CancelJobRequest generates a "aws/request.Request" representing the // client's request for the CancelJob operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CancelJob for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CancelJob method directly -// instead. +// See CancelJob for more information on using the CancelJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CancelJobRequest method. // req, resp := client.CancelJobRequest(params) @@ -113,19 +112,18 @@ const opCreateJob = "CreateJob" // CreateJobRequest generates a "aws/request.Request" representing the // client's request for the CreateJob operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateJob for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateJob method directly -// instead. +// See CreateJob for more information on using the CreateJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateJobRequest method. // req, resp := client.CreateJobRequest(params) @@ -214,19 +212,18 @@ const opCreatePipeline = "CreatePipeline" // CreatePipelineRequest generates a "aws/request.Request" representing the // client's request for the CreatePipeline operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreatePipeline for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreatePipeline method directly -// instead. +// See CreatePipeline for more information on using the CreatePipeline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreatePipelineRequest method. // req, resp := client.CreatePipelineRequest(params) @@ -309,19 +306,18 @@ const opCreatePreset = "CreatePreset" // CreatePresetRequest generates a "aws/request.Request" representing the // client's request for the CreatePreset operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreatePreset for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreatePreset method directly -// instead. +// See CreatePreset for more information on using the CreatePreset +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreatePresetRequest method. // req, resp := client.CreatePresetRequest(params) @@ -413,19 +409,18 @@ const opDeletePipeline = "DeletePipeline" // DeletePipelineRequest generates a "aws/request.Request" representing the // client's request for the DeletePipeline operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeletePipeline for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeletePipeline method directly -// instead. +// See DeletePipeline for more information on using the DeletePipeline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeletePipelineRequest method. // req, resp := client.DeletePipelineRequest(params) @@ -512,19 +507,18 @@ const opDeletePreset = "DeletePreset" // DeletePresetRequest generates a "aws/request.Request" representing the // client's request for the DeletePreset operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeletePreset for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeletePreset method directly -// instead. +// See DeletePreset for more information on using the DeletePreset +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeletePresetRequest method. // req, resp := client.DeletePresetRequest(params) @@ -605,19 +599,18 @@ const opListJobsByPipeline = "ListJobsByPipeline" // ListJobsByPipelineRequest generates a "aws/request.Request" representing the // client's request for the ListJobsByPipeline operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListJobsByPipeline for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListJobsByPipeline method directly -// instead. +// See ListJobsByPipeline for more information on using the ListJobsByPipeline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListJobsByPipelineRequest method. // req, resp := client.ListJobsByPipelineRequest(params) @@ -756,19 +749,18 @@ const opListJobsByStatus = "ListJobsByStatus" // ListJobsByStatusRequest generates a "aws/request.Request" representing the // client's request for the ListJobsByStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListJobsByStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListJobsByStatus method directly -// instead. +// See ListJobsByStatus for more information on using the ListJobsByStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListJobsByStatusRequest method. // req, resp := client.ListJobsByStatusRequest(params) @@ -905,19 +897,18 @@ const opListPipelines = "ListPipelines" // ListPipelinesRequest generates a "aws/request.Request" representing the // client's request for the ListPipelines operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListPipelines for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListPipelines method directly -// instead. +// See ListPipelines for more information on using the ListPipelines +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPipelinesRequest method. // req, resp := client.ListPipelinesRequest(params) @@ -1048,19 +1039,18 @@ const opListPresets = "ListPresets" // ListPresetsRequest generates a "aws/request.Request" representing the // client's request for the ListPresets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListPresets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListPresets method directly -// instead. +// See ListPresets for more information on using the ListPresets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPresetsRequest method. // req, resp := client.ListPresetsRequest(params) @@ -1191,19 +1181,18 @@ const opReadJob = "ReadJob" // ReadJobRequest generates a "aws/request.Request" representing the // client's request for the ReadJob operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ReadJob for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ReadJob method directly -// instead. +// See ReadJob for more information on using the ReadJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ReadJobRequest method. // req, resp := client.ReadJobRequest(params) @@ -1282,19 +1271,18 @@ const opReadPipeline = "ReadPipeline" // ReadPipelineRequest generates a "aws/request.Request" representing the // client's request for the ReadPipeline operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ReadPipeline for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ReadPipeline method directly -// instead. +// See ReadPipeline for more information on using the ReadPipeline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ReadPipelineRequest method. // req, resp := client.ReadPipelineRequest(params) @@ -1373,19 +1361,18 @@ const opReadPreset = "ReadPreset" // ReadPresetRequest generates a "aws/request.Request" representing the // client's request for the ReadPreset operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ReadPreset for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ReadPreset method directly -// instead. +// See ReadPreset for more information on using the ReadPreset +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ReadPresetRequest method. // req, resp := client.ReadPresetRequest(params) @@ -1464,19 +1451,18 @@ const opTestRole = "TestRole" // TestRoleRequest generates a "aws/request.Request" representing the // client's request for the TestRole operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TestRole for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TestRole method directly -// instead. +// See TestRole for more information on using the TestRole +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TestRoleRequest method. // req, resp := client.TestRoleRequest(params) @@ -1564,19 +1550,18 @@ const opUpdatePipeline = "UpdatePipeline" // UpdatePipelineRequest generates a "aws/request.Request" representing the // client's request for the UpdatePipeline operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdatePipeline for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdatePipeline method directly -// instead. +// See UpdatePipeline for more information on using the UpdatePipeline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdatePipelineRequest method. // req, resp := client.UpdatePipelineRequest(params) @@ -1664,19 +1649,18 @@ const opUpdatePipelineNotifications = "UpdatePipelineNotifications" // UpdatePipelineNotificationsRequest generates a "aws/request.Request" representing the // client's request for the UpdatePipelineNotifications operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdatePipelineNotifications for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdatePipelineNotifications method directly -// instead. +// See UpdatePipelineNotifications for more information on using the UpdatePipelineNotifications +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdatePipelineNotificationsRequest method. // req, resp := client.UpdatePipelineNotificationsRequest(params) @@ -1763,19 +1747,18 @@ const opUpdatePipelineStatus = "UpdatePipelineStatus" // UpdatePipelineStatusRequest generates a "aws/request.Request" representing the // client's request for the UpdatePipelineStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdatePipelineStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdatePipelineStatus method directly -// instead. +// See UpdatePipelineStatus for more information on using the UpdatePipelineStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdatePipelineStatusRequest method. // req, resp := client.UpdatePipelineStatusRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/elastictranscoder/doc.go b/vendor/github.com/aws/aws-sdk-go/service/elastictranscoder/doc.go index cfaacdf4e..20e8ff502 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elastictranscoder/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elastictranscoder/doc.go @@ -10,69 +10,17 @@ // // Using the Client // -// To use the client for Amazon Elastic Transcoder you will first need -// to create a new instance of it. +// To Amazon Elastic Transcoder with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := elastictranscoder.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Elastic Transcoder client ElasticTranscoder for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/elastictranscoder/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CancelJob(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CancelJob result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CancelJobWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package elastictranscoder diff --git a/vendor/github.com/aws/aws-sdk-go/service/elastictranscoder/elastictranscoderiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/elastictranscoder/elastictranscoderiface/interface.go index e2cead8ff..81d118149 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elastictranscoder/elastictranscoderiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elastictranscoder/elastictranscoderiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Elastic Transcoder. diff --git a/vendor/github.com/aws/aws-sdk-go/service/elastictranscoder/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/elastictranscoder/waiters.go index d4e2bf2ae..a482fa797 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elastictranscoder/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elastictranscoder/waiters.go @@ -11,7 +11,7 @@ import ( // WaitUntilJobComplete uses the Amazon Elastic Transcoder API operation // ReadJob to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *ElasticTranscoder) WaitUntilJobComplete(input *ReadJobInput) error { return c.WaitUntilJobCompleteWithContext(aws.BackgroundContext(), input) diff --git a/vendor/github.com/aws/aws-sdk-go/service/elb/api.go b/vendor/github.com/aws/aws-sdk-go/service/elb/api.go index 00129c5ae..ba6c10649 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elb/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elb/api.go @@ -15,19 +15,18 @@ const opAddTags = "AddTags" // AddTagsRequest generates a "aws/request.Request" representing the // client's request for the AddTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddTags method directly -// instead. +// See AddTags for more information on using the AddTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddTagsRequest method. // req, resp := client.AddTagsRequest(params) @@ -109,19 +108,18 @@ const opApplySecurityGroupsToLoadBalancer = "ApplySecurityGroupsToLoadBalancer" // ApplySecurityGroupsToLoadBalancerRequest generates a "aws/request.Request" representing the // client's request for the ApplySecurityGroupsToLoadBalancer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ApplySecurityGroupsToLoadBalancer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ApplySecurityGroupsToLoadBalancer method directly -// instead. +// See ApplySecurityGroupsToLoadBalancer for more information on using the ApplySecurityGroupsToLoadBalancer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ApplySecurityGroupsToLoadBalancerRequest method. // req, resp := client.ApplySecurityGroupsToLoadBalancerRequest(params) @@ -200,19 +198,18 @@ const opAttachLoadBalancerToSubnets = "AttachLoadBalancerToSubnets" // AttachLoadBalancerToSubnetsRequest generates a "aws/request.Request" representing the // client's request for the AttachLoadBalancerToSubnets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AttachLoadBalancerToSubnets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AttachLoadBalancerToSubnets method directly -// instead. +// See AttachLoadBalancerToSubnets for more information on using the AttachLoadBalancerToSubnets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AttachLoadBalancerToSubnetsRequest method. // req, resp := client.AttachLoadBalancerToSubnetsRequest(params) @@ -295,19 +292,18 @@ const opConfigureHealthCheck = "ConfigureHealthCheck" // ConfigureHealthCheckRequest generates a "aws/request.Request" representing the // client's request for the ConfigureHealthCheck operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ConfigureHealthCheck for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ConfigureHealthCheck method directly -// instead. +// See ConfigureHealthCheck for more information on using the ConfigureHealthCheck +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ConfigureHealthCheckRequest method. // req, resp := client.ConfigureHealthCheckRequest(params) @@ -380,19 +376,18 @@ const opCreateAppCookieStickinessPolicy = "CreateAppCookieStickinessPolicy" // CreateAppCookieStickinessPolicyRequest generates a "aws/request.Request" representing the // client's request for the CreateAppCookieStickinessPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateAppCookieStickinessPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateAppCookieStickinessPolicy method directly -// instead. +// See CreateAppCookieStickinessPolicy for more information on using the CreateAppCookieStickinessPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateAppCookieStickinessPolicyRequest method. // req, resp := client.CreateAppCookieStickinessPolicyRequest(params) @@ -483,19 +478,18 @@ const opCreateLBCookieStickinessPolicy = "CreateLBCookieStickinessPolicy" // CreateLBCookieStickinessPolicyRequest generates a "aws/request.Request" representing the // client's request for the CreateLBCookieStickinessPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateLBCookieStickinessPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateLBCookieStickinessPolicy method directly -// instead. +// See CreateLBCookieStickinessPolicy for more information on using the CreateLBCookieStickinessPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateLBCookieStickinessPolicyRequest method. // req, resp := client.CreateLBCookieStickinessPolicyRequest(params) @@ -588,19 +582,18 @@ const opCreateLoadBalancer = "CreateLoadBalancer" // CreateLoadBalancerRequest generates a "aws/request.Request" representing the // client's request for the CreateLoadBalancer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateLoadBalancer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateLoadBalancer method directly -// instead. +// See CreateLoadBalancer for more information on using the CreateLoadBalancer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateLoadBalancerRequest method. // req, resp := client.CreateLoadBalancerRequest(params) @@ -715,19 +708,18 @@ const opCreateLoadBalancerListeners = "CreateLoadBalancerListeners" // CreateLoadBalancerListenersRequest generates a "aws/request.Request" representing the // client's request for the CreateLoadBalancerListeners operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateLoadBalancerListeners for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateLoadBalancerListeners method directly -// instead. +// See CreateLoadBalancerListeners for more information on using the CreateLoadBalancerListeners +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateLoadBalancerListenersRequest method. // req, resp := client.CreateLoadBalancerListenersRequest(params) @@ -817,19 +809,18 @@ const opCreateLoadBalancerPolicy = "CreateLoadBalancerPolicy" // CreateLoadBalancerPolicyRequest generates a "aws/request.Request" representing the // client's request for the CreateLoadBalancerPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateLoadBalancerPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateLoadBalancerPolicy method directly -// instead. +// See CreateLoadBalancerPolicy for more information on using the CreateLoadBalancerPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateLoadBalancerPolicyRequest method. // req, resp := client.CreateLoadBalancerPolicyRequest(params) @@ -913,19 +904,18 @@ const opDeleteLoadBalancer = "DeleteLoadBalancer" // DeleteLoadBalancerRequest generates a "aws/request.Request" representing the // client's request for the DeleteLoadBalancer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteLoadBalancer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteLoadBalancer method directly -// instead. +// See DeleteLoadBalancer for more information on using the DeleteLoadBalancer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteLoadBalancerRequest method. // req, resp := client.DeleteLoadBalancerRequest(params) @@ -997,19 +987,18 @@ const opDeleteLoadBalancerListeners = "DeleteLoadBalancerListeners" // DeleteLoadBalancerListenersRequest generates a "aws/request.Request" representing the // client's request for the DeleteLoadBalancerListeners operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteLoadBalancerListeners for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteLoadBalancerListeners method directly -// instead. +// See DeleteLoadBalancerListeners for more information on using the DeleteLoadBalancerListeners +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteLoadBalancerListenersRequest method. // req, resp := client.DeleteLoadBalancerListenersRequest(params) @@ -1077,19 +1066,18 @@ const opDeleteLoadBalancerPolicy = "DeleteLoadBalancerPolicy" // DeleteLoadBalancerPolicyRequest generates a "aws/request.Request" representing the // client's request for the DeleteLoadBalancerPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteLoadBalancerPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteLoadBalancerPolicy method directly -// instead. +// See DeleteLoadBalancerPolicy for more information on using the DeleteLoadBalancerPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteLoadBalancerPolicyRequest method. // req, resp := client.DeleteLoadBalancerPolicyRequest(params) @@ -1161,19 +1149,18 @@ const opDeregisterInstancesFromLoadBalancer = "DeregisterInstancesFromLoadBalanc // DeregisterInstancesFromLoadBalancerRequest generates a "aws/request.Request" representing the // client's request for the DeregisterInstancesFromLoadBalancer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeregisterInstancesFromLoadBalancer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeregisterInstancesFromLoadBalancer method directly -// instead. +// See DeregisterInstancesFromLoadBalancer for more information on using the DeregisterInstancesFromLoadBalancer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeregisterInstancesFromLoadBalancerRequest method. // req, resp := client.DeregisterInstancesFromLoadBalancerRequest(params) @@ -1252,19 +1239,18 @@ const opDescribeAccountLimits = "DescribeAccountLimits" // DescribeAccountLimitsRequest generates a "aws/request.Request" representing the // client's request for the DescribeAccountLimits operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAccountLimits for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAccountLimits method directly -// instead. +// See DescribeAccountLimits for more information on using the DescribeAccountLimits +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAccountLimitsRequest method. // req, resp := client.DescribeAccountLimitsRequest(params) @@ -1331,19 +1317,18 @@ const opDescribeInstanceHealth = "DescribeInstanceHealth" // DescribeInstanceHealthRequest generates a "aws/request.Request" representing the // client's request for the DescribeInstanceHealth operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeInstanceHealth for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeInstanceHealth method directly -// instead. +// See DescribeInstanceHealth for more information on using the DescribeInstanceHealth +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeInstanceHealthRequest method. // req, resp := client.DescribeInstanceHealthRequest(params) @@ -1419,19 +1404,18 @@ const opDescribeLoadBalancerAttributes = "DescribeLoadBalancerAttributes" // DescribeLoadBalancerAttributesRequest generates a "aws/request.Request" representing the // client's request for the DescribeLoadBalancerAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeLoadBalancerAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeLoadBalancerAttributes method directly -// instead. +// See DescribeLoadBalancerAttributes for more information on using the DescribeLoadBalancerAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeLoadBalancerAttributesRequest method. // req, resp := client.DescribeLoadBalancerAttributesRequest(params) @@ -1502,19 +1486,18 @@ const opDescribeLoadBalancerPolicies = "DescribeLoadBalancerPolicies" // DescribeLoadBalancerPoliciesRequest generates a "aws/request.Request" representing the // client's request for the DescribeLoadBalancerPolicies operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeLoadBalancerPolicies for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeLoadBalancerPolicies method directly -// instead. +// See DescribeLoadBalancerPolicies for more information on using the DescribeLoadBalancerPolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeLoadBalancerPoliciesRequest method. // req, resp := client.DescribeLoadBalancerPoliciesRequest(params) @@ -1592,19 +1575,18 @@ const opDescribeLoadBalancerPolicyTypes = "DescribeLoadBalancerPolicyTypes" // DescribeLoadBalancerPolicyTypesRequest generates a "aws/request.Request" representing the // client's request for the DescribeLoadBalancerPolicyTypes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeLoadBalancerPolicyTypes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeLoadBalancerPolicyTypes method directly -// instead. +// See DescribeLoadBalancerPolicyTypes for more information on using the DescribeLoadBalancerPolicyTypes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeLoadBalancerPolicyTypesRequest method. // req, resp := client.DescribeLoadBalancerPolicyTypesRequest(params) @@ -1683,19 +1665,18 @@ const opDescribeLoadBalancers = "DescribeLoadBalancers" // DescribeLoadBalancersRequest generates a "aws/request.Request" representing the // client's request for the DescribeLoadBalancers operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeLoadBalancers for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeLoadBalancers method directly -// instead. +// See DescribeLoadBalancers for more information on using the DescribeLoadBalancers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeLoadBalancersRequest method. // req, resp := client.DescribeLoadBalancersRequest(params) @@ -1822,19 +1803,18 @@ const opDescribeTags = "DescribeTags" // DescribeTagsRequest generates a "aws/request.Request" representing the // client's request for the DescribeTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTags method directly -// instead. +// See DescribeTags for more information on using the DescribeTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTagsRequest method. // req, resp := client.DescribeTagsRequest(params) @@ -1902,19 +1882,18 @@ const opDetachLoadBalancerFromSubnets = "DetachLoadBalancerFromSubnets" // DetachLoadBalancerFromSubnetsRequest generates a "aws/request.Request" representing the // client's request for the DetachLoadBalancerFromSubnets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DetachLoadBalancerFromSubnets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DetachLoadBalancerFromSubnets method directly -// instead. +// See DetachLoadBalancerFromSubnets for more information on using the DetachLoadBalancerFromSubnets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DetachLoadBalancerFromSubnetsRequest method. // req, resp := client.DetachLoadBalancerFromSubnetsRequest(params) @@ -1990,19 +1969,18 @@ const opDisableAvailabilityZonesForLoadBalancer = "DisableAvailabilityZonesForLo // DisableAvailabilityZonesForLoadBalancerRequest generates a "aws/request.Request" representing the // client's request for the DisableAvailabilityZonesForLoadBalancer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisableAvailabilityZonesForLoadBalancer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisableAvailabilityZonesForLoadBalancer method directly -// instead. +// See DisableAvailabilityZonesForLoadBalancer for more information on using the DisableAvailabilityZonesForLoadBalancer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisableAvailabilityZonesForLoadBalancerRequest method. // req, resp := client.DisableAvailabilityZonesForLoadBalancerRequest(params) @@ -2083,19 +2061,18 @@ const opEnableAvailabilityZonesForLoadBalancer = "EnableAvailabilityZonesForLoad // EnableAvailabilityZonesForLoadBalancerRequest generates a "aws/request.Request" representing the // client's request for the EnableAvailabilityZonesForLoadBalancer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EnableAvailabilityZonesForLoadBalancer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EnableAvailabilityZonesForLoadBalancer method directly -// instead. +// See EnableAvailabilityZonesForLoadBalancer for more information on using the EnableAvailabilityZonesForLoadBalancer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EnableAvailabilityZonesForLoadBalancerRequest method. // req, resp := client.EnableAvailabilityZonesForLoadBalancerRequest(params) @@ -2170,19 +2147,18 @@ const opModifyLoadBalancerAttributes = "ModifyLoadBalancerAttributes" // ModifyLoadBalancerAttributesRequest generates a "aws/request.Request" representing the // client's request for the ModifyLoadBalancerAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyLoadBalancerAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyLoadBalancerAttributes method directly -// instead. +// See ModifyLoadBalancerAttributes for more information on using the ModifyLoadBalancerAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyLoadBalancerAttributesRequest method. // req, resp := client.ModifyLoadBalancerAttributesRequest(params) @@ -2271,19 +2247,18 @@ const opRegisterInstancesWithLoadBalancer = "RegisterInstancesWithLoadBalancer" // RegisterInstancesWithLoadBalancerRequest generates a "aws/request.Request" representing the // client's request for the RegisterInstancesWithLoadBalancer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterInstancesWithLoadBalancer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterInstancesWithLoadBalancer method directly -// instead. +// See RegisterInstancesWithLoadBalancer for more information on using the RegisterInstancesWithLoadBalancer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterInstancesWithLoadBalancerRequest method. // req, resp := client.RegisterInstancesWithLoadBalancerRequest(params) @@ -2376,19 +2351,18 @@ const opRemoveTags = "RemoveTags" // RemoveTagsRequest generates a "aws/request.Request" representing the // client's request for the RemoveTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveTags method directly -// instead. +// See RemoveTags for more information on using the RemoveTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveTagsRequest method. // req, resp := client.RemoveTagsRequest(params) @@ -2456,19 +2430,18 @@ const opSetLoadBalancerListenerSSLCertificate = "SetLoadBalancerListenerSSLCerti // SetLoadBalancerListenerSSLCertificateRequest generates a "aws/request.Request" representing the // client's request for the SetLoadBalancerListenerSSLCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetLoadBalancerListenerSSLCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetLoadBalancerListenerSSLCertificate method directly -// instead. +// See SetLoadBalancerListenerSSLCertificate for more information on using the SetLoadBalancerListenerSSLCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetLoadBalancerListenerSSLCertificateRequest method. // req, resp := client.SetLoadBalancerListenerSSLCertificateRequest(params) @@ -2557,19 +2530,18 @@ const opSetLoadBalancerPoliciesForBackendServer = "SetLoadBalancerPoliciesForBac // SetLoadBalancerPoliciesForBackendServerRequest generates a "aws/request.Request" representing the // client's request for the SetLoadBalancerPoliciesForBackendServer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetLoadBalancerPoliciesForBackendServer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetLoadBalancerPoliciesForBackendServer method directly -// instead. +// See SetLoadBalancerPoliciesForBackendServer for more information on using the SetLoadBalancerPoliciesForBackendServer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetLoadBalancerPoliciesForBackendServerRequest method. // req, resp := client.SetLoadBalancerPoliciesForBackendServerRequest(params) @@ -2658,19 +2630,18 @@ const opSetLoadBalancerPoliciesOfListener = "SetLoadBalancerPoliciesOfListener" // SetLoadBalancerPoliciesOfListenerRequest generates a "aws/request.Request" representing the // client's request for the SetLoadBalancerPoliciesOfListener operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetLoadBalancerPoliciesOfListener for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetLoadBalancerPoliciesOfListener method directly -// instead. +// See SetLoadBalancerPoliciesOfListener for more information on using the SetLoadBalancerPoliciesOfListener +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetLoadBalancerPoliciesOfListenerRequest method. // req, resp := client.SetLoadBalancerPoliciesOfListenerRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/elb/doc.go b/vendor/github.com/aws/aws-sdk-go/service/elb/doc.go index 60b4f119e..92f97d729 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elb/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elb/doc.go @@ -39,69 +39,17 @@ // // Using the Client // -// To use the client for Elastic Load Balancing you will first need -// to create a new instance of it. +// To Elastic Load Balancing with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := elb.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Elastic Load Balancing client ELB for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/elb/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AddTags(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AddTags result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AddTagsWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package elb diff --git a/vendor/github.com/aws/aws-sdk-go/service/elb/elbiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/elb/elbiface/interface.go index 33efa9949..eaaafa5bd 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elb/elbiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elb/elbiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Elastic Load Balancing. diff --git a/vendor/github.com/aws/aws-sdk-go/service/elb/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/elb/waiters.go index 16b7866c1..bdf449d36 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elb/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elb/waiters.go @@ -11,7 +11,7 @@ import ( // WaitUntilAnyInstanceInService uses the Elastic Load Balancing API operation // DescribeInstanceHealth to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *ELB) WaitUntilAnyInstanceInService(input *DescribeInstanceHealthInput) error { return c.WaitUntilAnyInstanceInServiceWithContext(aws.BackgroundContext(), input) @@ -57,7 +57,7 @@ func (c *ELB) WaitUntilAnyInstanceInServiceWithContext(ctx aws.Context, input *D // WaitUntilInstanceDeregistered uses the Elastic Load Balancing API operation // DescribeInstanceHealth to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *ELB) WaitUntilInstanceDeregistered(input *DescribeInstanceHealthInput) error { return c.WaitUntilInstanceDeregisteredWithContext(aws.BackgroundContext(), input) @@ -108,7 +108,7 @@ func (c *ELB) WaitUntilInstanceDeregisteredWithContext(ctx aws.Context, input *D // WaitUntilInstanceInService uses the Elastic Load Balancing API operation // DescribeInstanceHealth to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *ELB) WaitUntilInstanceInService(input *DescribeInstanceHealthInput) error { return c.WaitUntilInstanceInServiceWithContext(aws.BackgroundContext(), input) diff --git a/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go b/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go index e36e0f13f..03e1b5471 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go @@ -15,19 +15,18 @@ const opAddTags = "AddTags" // AddTagsRequest generates a "aws/request.Request" representing the // client's request for the AddTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddTags method directly -// instead. +// See AddTags for more information on using the AddTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddTagsRequest method. // req, resp := client.AddTagsRequest(params) @@ -56,8 +55,9 @@ func (c *ELBV2) AddTagsRequest(input *AddTagsInput) (req *request.Request, outpu // AddTags API operation for Elastic Load Balancing. // -// Adds the specified tags to the specified resource. You can tag your Application -// Load Balancers and your target groups. +// Adds the specified tags to the specified Elastic Load Balancing resource. +// You can tag your Application Load Balancers, Network Load Balancers, and +// your target groups. // // Each tag consists of a key and an optional value. If a resource already has // a tag with the same key, AddTags updates its value. @@ -111,19 +111,18 @@ const opCreateListener = "CreateListener" // CreateListenerRequest generates a "aws/request.Request" representing the // client's request for the CreateListener operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateListener for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateListener method directly -// instead. +// See CreateListener for more information on using the CreateListener +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateListenerRequest method. // req, resp := client.CreateListenerRequest(params) @@ -152,7 +151,8 @@ func (c *ELBV2) CreateListenerRequest(input *CreateListenerInput) (req *request. // CreateListener API operation for Elastic Load Balancing. // -// Creates a listener for the specified Application Load Balancer. +// Creates a listener for the specified Application Load Balancer or Network +// Load Balancer. // // You can create up to 10 listeners per load balancer. // @@ -161,7 +161,9 @@ func (c *ELBV2) CreateListenerRequest(input *CreateListenerInput) (req *request. // listener and the load balancer, you can delete them both using DeleteLoadBalancer. // // For more information, see Listeners for Your Application Load Balancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html) -// in the Application Load Balancers Guide. +// in the Application Load Balancers Guide and Listeners for Your Network Load +// Balancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-listeners.html) +// in the Network Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -208,6 +210,9 @@ func (c *ELBV2) CreateListenerRequest(input *CreateListenerInput) (req *request. // You've reached the limit on the number of times a target can be registered // with a load balancer. // +// * ErrCodeTooManyTargetsException "TooManyTargets" +// You've reached the limit on the number of targets. +// // Please also see https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateListener func (c *ELBV2) CreateListener(input *CreateListenerInput) (*CreateListenerOutput, error) { req, out := c.CreateListenerRequest(input) @@ -234,19 +239,18 @@ const opCreateLoadBalancer = "CreateLoadBalancer" // CreateLoadBalancerRequest generates a "aws/request.Request" representing the // client's request for the CreateLoadBalancer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateLoadBalancer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateLoadBalancer method directly -// instead. +// See CreateLoadBalancer for more information on using the CreateLoadBalancer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateLoadBalancerRequest method. // req, resp := client.CreateLoadBalancerRequest(params) @@ -275,7 +279,7 @@ func (c *ELBV2) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req * // CreateLoadBalancer API operation for Elastic Load Balancing. // -// Creates an Application Load Balancer. +// Creates an Application Load Balancer or a Network Load Balancer. // // When you create a load balancer, you can specify security groups, subnets, // IP address type, and tags. Otherwise, you could do so later using SetSecurityGroups, @@ -288,10 +292,13 @@ func (c *ELBV2) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req * // You can create up to 20 load balancers per region per account. You can request // an increase for the number of load balancers for your account. For more information, // see Limits for Your Application Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html) -// in the Application Load Balancers Guide. +// in the Application Load Balancers Guide and Limits for Your Network Load +// Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html) +// in the Network Load Balancers Guide. // // For more information, see Application Load Balancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html) -// in the Application Load Balancers Guide. +// in the Application Load Balancers Guide and Network Load Balancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html) +// in the Network Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -328,6 +335,15 @@ func (c *ELBV2) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req * // * ErrCodeDuplicateTagKeysException "DuplicateTagKeys" // A tag key was specified more than once. // +// * ErrCodeResourceInUseException "ResourceInUse" +// A specified resource is in use. +// +// * ErrCodeAllocationIdNotFoundException "AllocationIdNotFound" +// The specified allocation ID does not exist. +// +// * ErrCodeAvailabilityZoneNotSupportedException "AvailabilityZoneNotSupported" +// The specified Availability Zone is not supported. +// // Please also see https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateLoadBalancer func (c *ELBV2) CreateLoadBalancer(input *CreateLoadBalancerInput) (*CreateLoadBalancerOutput, error) { req, out := c.CreateLoadBalancerRequest(input) @@ -354,19 +370,18 @@ const opCreateRule = "CreateRule" // CreateRuleRequest generates a "aws/request.Request" representing the // client's request for the CreateRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateRule method directly -// instead. +// See CreateRule for more information on using the CreateRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateRuleRequest method. // req, resp := client.CreateRuleRequest(params) @@ -395,13 +410,13 @@ func (c *ELBV2) CreateRuleRequest(input *CreateRuleInput) (req *request.Request, // CreateRule API operation for Elastic Load Balancing. // -// Creates a rule for the specified listener. +// Creates a rule for the specified listener. The listener must be associated +// with an Application Load Balancer. // -// Each rule can have one action and one condition. Rules are evaluated in priority -// order, from the lowest value to the highest value. When the condition for -// a rule is met, the specified action is taken. If no conditions are met, the -// default action for the default rule is taken. For more information, see Listener -// Rules (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#listener-rules) +// Rules are evaluated in priority order, from the lowest value to the highest +// value. When the condition for a rule is met, the specified action is taken. +// If no conditions are met, the action for the default rule is taken. For more +// information, see Listener Rules (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#listener-rules) // in the Application Load Balancers Guide. // // To view your current rules, use DescribeRules. To update a rule, use ModifyRule. @@ -428,6 +443,9 @@ func (c *ELBV2) CreateRuleRequest(input *CreateRuleInput) (req *request.Request, // * ErrCodeTargetGroupAssociationLimitException "TargetGroupAssociationLimit" // You've reached the limit on the number of load balancers per target group. // +// * ErrCodeIncompatibleProtocolsException "IncompatibleProtocols" +// The specified configuration is not valid with this protocol. +// // * ErrCodeListenerNotFoundException "ListenerNotFound" // The specified listener does not exist. // @@ -441,6 +459,9 @@ func (c *ELBV2) CreateRuleRequest(input *CreateRuleInput) (req *request.Request, // You've reached the limit on the number of times a target can be registered // with a load balancer. // +// * ErrCodeTooManyTargetsException "TooManyTargets" +// You've reached the limit on the number of targets. +// // Please also see https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateRule func (c *ELBV2) CreateRule(input *CreateRuleInput) (*CreateRuleOutput, error) { req, out := c.CreateRuleRequest(input) @@ -467,19 +488,18 @@ const opCreateTargetGroup = "CreateTargetGroup" // CreateTargetGroupRequest generates a "aws/request.Request" representing the // client's request for the CreateTargetGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateTargetGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateTargetGroup method directly -// instead. +// See CreateTargetGroup for more information on using the CreateTargetGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateTargetGroupRequest method. // req, resp := client.CreateTargetGroupRequest(params) @@ -521,7 +541,9 @@ func (c *ELBV2) CreateTargetGroupRequest(input *CreateTargetGroupInput) (req *re // // For more information, see Target Groups for Your Application Load Balancers // (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html) -// in the Application Load Balancers Guide. +// in the Application Load Balancers Guide or Target Groups for Your Network +// Load Balancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html) +// in the Network Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -537,6 +559,9 @@ func (c *ELBV2) CreateTargetGroupRequest(input *CreateTargetGroupInput) (req *re // * ErrCodeTooManyTargetGroupsException "TooManyTargetGroups" // You've reached the limit on the number of target groups for your AWS account. // +// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest" +// The requested configuration is not valid. +// // Please also see https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateTargetGroup func (c *ELBV2) CreateTargetGroup(input *CreateTargetGroupInput) (*CreateTargetGroupOutput, error) { req, out := c.CreateTargetGroupRequest(input) @@ -563,19 +588,18 @@ const opDeleteListener = "DeleteListener" // DeleteListenerRequest generates a "aws/request.Request" representing the // client's request for the DeleteListener operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteListener for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteListener method directly -// instead. +// See DeleteListener for more information on using the DeleteListener +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteListenerRequest method. // req, resp := client.DeleteListenerRequest(params) @@ -646,19 +670,18 @@ const opDeleteLoadBalancer = "DeleteLoadBalancer" // DeleteLoadBalancerRequest generates a "aws/request.Request" representing the // client's request for the DeleteLoadBalancer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteLoadBalancer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteLoadBalancer method directly -// instead. +// See DeleteLoadBalancer for more information on using the DeleteLoadBalancer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteLoadBalancerRequest method. // req, resp := client.DeleteLoadBalancerRequest(params) @@ -687,7 +710,8 @@ func (c *ELBV2) DeleteLoadBalancerRequest(input *DeleteLoadBalancerInput) (req * // DeleteLoadBalancer API operation for Elastic Load Balancing. // -// Deletes the specified Application Load Balancer and its attached listeners. +// Deletes the specified Application Load Balancer or Network Load Balancer +// and its attached listeners. // // You can't delete a load balancer if deletion protection is enabled. If the // load balancer does not exist or has already been deleted, the call succeeds. @@ -737,19 +761,18 @@ const opDeleteRule = "DeleteRule" // DeleteRuleRequest generates a "aws/request.Request" representing the // client's request for the DeleteRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteRule method directly -// instead. +// See DeleteRule for more information on using the DeleteRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteRuleRequest method. // req, resp := client.DeleteRuleRequest(params) @@ -820,19 +843,18 @@ const opDeleteTargetGroup = "DeleteTargetGroup" // DeleteTargetGroupRequest generates a "aws/request.Request" representing the // client's request for the DeleteTargetGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteTargetGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteTargetGroup method directly -// instead. +// See DeleteTargetGroup for more information on using the DeleteTargetGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteTargetGroupRequest method. // req, resp := client.DeleteTargetGroupRequest(params) @@ -903,19 +925,18 @@ const opDeregisterTargets = "DeregisterTargets" // DeregisterTargetsRequest generates a "aws/request.Request" representing the // client's request for the DeregisterTargets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeregisterTargets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeregisterTargets method directly -// instead. +// See DeregisterTargets for more information on using the DeregisterTargets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeregisterTargetsRequest method. // req, resp := client.DeregisterTargetsRequest(params) @@ -989,19 +1010,18 @@ const opDescribeAccountLimits = "DescribeAccountLimits" // DescribeAccountLimitsRequest generates a "aws/request.Request" representing the // client's request for the DescribeAccountLimits operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAccountLimits for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAccountLimits method directly -// instead. +// See DescribeAccountLimits for more information on using the DescribeAccountLimits +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAccountLimitsRequest method. // req, resp := client.DescribeAccountLimitsRequest(params) @@ -1033,8 +1053,10 @@ func (c *ELBV2) DescribeAccountLimitsRequest(input *DescribeAccountLimitsInput) // Describes the current Elastic Load Balancing resource limits for your AWS // account. // -// For more information, see Limits for Your Application Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html) -// in the Application Load Balancer Guide. +// For more information, see Limits for Your Application Load Balancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html) +// in the Application Load Balancer Guide or Limits for Your Network Load Balancers +// (http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html) +// in the Network Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1068,19 +1090,18 @@ const opDescribeListeners = "DescribeListeners" // DescribeListenersRequest generates a "aws/request.Request" representing the // client's request for the DescribeListeners operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeListeners for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeListeners method directly -// instead. +// See DescribeListeners for more information on using the DescribeListeners +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeListenersRequest method. // req, resp := client.DescribeListenersRequest(params) @@ -1116,7 +1137,8 @@ func (c *ELBV2) DescribeListenersRequest(input *DescribeListenersInput) (req *re // DescribeListeners API operation for Elastic Load Balancing. // // Describes the specified listeners or the listeners for the specified Application -// Load Balancer. You must specify either a load balancer or one or more listeners. +// Load Balancer or Network Load Balancer. You must specify either a load balancer +// or one or more listeners. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1208,19 +1230,18 @@ const opDescribeLoadBalancerAttributes = "DescribeLoadBalancerAttributes" // DescribeLoadBalancerAttributesRequest generates a "aws/request.Request" representing the // client's request for the DescribeLoadBalancerAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeLoadBalancerAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeLoadBalancerAttributes method directly -// instead. +// See DescribeLoadBalancerAttributes for more information on using the DescribeLoadBalancerAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeLoadBalancerAttributesRequest method. // req, resp := client.DescribeLoadBalancerAttributesRequest(params) @@ -1249,7 +1270,8 @@ func (c *ELBV2) DescribeLoadBalancerAttributesRequest(input *DescribeLoadBalance // DescribeLoadBalancerAttributes API operation for Elastic Load Balancing. // -// Describes the attributes for the specified Application Load Balancer. +// Describes the attributes for the specified Application Load Balancer or Network +// Load Balancer. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1288,19 +1310,18 @@ const opDescribeLoadBalancers = "DescribeLoadBalancers" // DescribeLoadBalancersRequest generates a "aws/request.Request" representing the // client's request for the DescribeLoadBalancers operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeLoadBalancers for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeLoadBalancers method directly -// instead. +// See DescribeLoadBalancers for more information on using the DescribeLoadBalancers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeLoadBalancersRequest method. // req, resp := client.DescribeLoadBalancersRequest(params) @@ -1335,8 +1356,7 @@ func (c *ELBV2) DescribeLoadBalancersRequest(input *DescribeLoadBalancersInput) // DescribeLoadBalancers API operation for Elastic Load Balancing. // -// Describes the specified Application Load Balancers or all of your Application -// Load Balancers. +// Describes the specified load balancers or all of your load balancers. // // To describe the listeners for a load balancer, use DescribeListeners. To // describe the attributes for a load balancer, use DescribeLoadBalancerAttributes. @@ -1428,19 +1448,18 @@ const opDescribeRules = "DescribeRules" // DescribeRulesRequest generates a "aws/request.Request" representing the // client's request for the DescribeRules operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeRules for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeRules method directly -// instead. +// See DescribeRules for more information on using the DescribeRules +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeRulesRequest method. // req, resp := client.DescribeRulesRequest(params) @@ -1512,19 +1531,18 @@ const opDescribeSSLPolicies = "DescribeSSLPolicies" // DescribeSSLPoliciesRequest generates a "aws/request.Request" representing the // client's request for the DescribeSSLPolicies operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSSLPolicies for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSSLPolicies method directly -// instead. +// See DescribeSSLPolicies for more information on using the DescribeSSLPolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSSLPoliciesRequest method. // req, resp := client.DescribeSSLPoliciesRequest(params) @@ -1595,19 +1613,18 @@ const opDescribeTags = "DescribeTags" // DescribeTagsRequest generates a "aws/request.Request" representing the // client's request for the DescribeTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTags method directly -// instead. +// See DescribeTags for more information on using the DescribeTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTagsRequest method. // req, resp := client.DescribeTagsRequest(params) @@ -1637,7 +1654,8 @@ func (c *ELBV2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Requ // DescribeTags API operation for Elastic Load Balancing. // // Describes the tags for the specified resources. You can describe the tags -// for one or more Application Load Balancers and target groups. +// for one or more Application Load Balancers, Network Load Balancers, and target +// groups. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1685,19 +1703,18 @@ const opDescribeTargetGroupAttributes = "DescribeTargetGroupAttributes" // DescribeTargetGroupAttributesRequest generates a "aws/request.Request" representing the // client's request for the DescribeTargetGroupAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTargetGroupAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTargetGroupAttributes method directly -// instead. +// See DescribeTargetGroupAttributes for more information on using the DescribeTargetGroupAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTargetGroupAttributesRequest method. // req, resp := client.DescribeTargetGroupAttributesRequest(params) @@ -1765,19 +1782,18 @@ const opDescribeTargetGroups = "DescribeTargetGroups" // DescribeTargetGroupsRequest generates a "aws/request.Request" representing the // client's request for the DescribeTargetGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTargetGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTargetGroups method directly -// instead. +// See DescribeTargetGroups for more information on using the DescribeTargetGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTargetGroupsRequest method. // req, resp := client.DescribeTargetGroupsRequest(params) @@ -1910,19 +1926,18 @@ const opDescribeTargetHealth = "DescribeTargetHealth" // DescribeTargetHealthRequest generates a "aws/request.Request" representing the // client's request for the DescribeTargetHealth operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTargetHealth for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTargetHealth method directly -// instead. +// See DescribeTargetHealth for more information on using the DescribeTargetHealth +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTargetHealthRequest method. // req, resp := client.DescribeTargetHealthRequest(params) @@ -1998,19 +2013,18 @@ const opModifyListener = "ModifyListener" // ModifyListenerRequest generates a "aws/request.Request" representing the // client's request for the ModifyListener operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyListener for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyListener method directly -// instead. +// See ModifyListener for more information on using the ModifyListener +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyListenerRequest method. // req, resp := client.ModifyListenerRequest(params) @@ -2091,6 +2105,9 @@ func (c *ELBV2) ModifyListenerRequest(input *ModifyListenerInput) (req *request. // You've reached the limit on the number of times a target can be registered // with a load balancer. // +// * ErrCodeTooManyTargetsException "TooManyTargets" +// You've reached the limit on the number of targets. +// // Please also see https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyListener func (c *ELBV2) ModifyListener(input *ModifyListenerInput) (*ModifyListenerOutput, error) { req, out := c.ModifyListenerRequest(input) @@ -2117,19 +2134,18 @@ const opModifyLoadBalancerAttributes = "ModifyLoadBalancerAttributes" // ModifyLoadBalancerAttributesRequest generates a "aws/request.Request" representing the // client's request for the ModifyLoadBalancerAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyLoadBalancerAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyLoadBalancerAttributes method directly -// instead. +// See ModifyLoadBalancerAttributes for more information on using the ModifyLoadBalancerAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyLoadBalancerAttributesRequest method. // req, resp := client.ModifyLoadBalancerAttributesRequest(params) @@ -2158,7 +2174,8 @@ func (c *ELBV2) ModifyLoadBalancerAttributesRequest(input *ModifyLoadBalancerAtt // ModifyLoadBalancerAttributes API operation for Elastic Load Balancing. // -// Modifies the specified attributes of the specified Application Load Balancer. +// Modifies the specified attributes of the specified Application Load Balancer +// or Network Load Balancer. // // If any of the specified attributes can't be modified as requested, the call // fails. Any existing attributes that you do not modify retain their current @@ -2204,19 +2221,18 @@ const opModifyRule = "ModifyRule" // ModifyRuleRequest generates a "aws/request.Request" representing the // client's request for the ModifyRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyRule method directly -// instead. +// See ModifyRule for more information on using the ModifyRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyRuleRequest method. // req, resp := client.ModifyRuleRequest(params) @@ -2262,6 +2278,9 @@ func (c *ELBV2) ModifyRuleRequest(input *ModifyRuleInput) (req *request.Request, // * ErrCodeTargetGroupAssociationLimitException "TargetGroupAssociationLimit" // You've reached the limit on the number of load balancers per target group. // +// * ErrCodeIncompatibleProtocolsException "IncompatibleProtocols" +// The specified configuration is not valid with this protocol. +// // * ErrCodeRuleNotFoundException "RuleNotFound" // The specified rule does not exist. // @@ -2304,19 +2323,18 @@ const opModifyTargetGroup = "ModifyTargetGroup" // ModifyTargetGroupRequest generates a "aws/request.Request" representing the // client's request for the ModifyTargetGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyTargetGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyTargetGroup method directly -// instead. +// See ModifyTargetGroup for more information on using the ModifyTargetGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyTargetGroupRequest method. // req, resp := client.ModifyTargetGroupRequest(params) @@ -2361,6 +2379,9 @@ func (c *ELBV2) ModifyTargetGroupRequest(input *ModifyTargetGroupInput) (req *re // * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound" // The specified target group does not exist. // +// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest" +// The requested configuration is not valid. +// // Please also see https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyTargetGroup func (c *ELBV2) ModifyTargetGroup(input *ModifyTargetGroupInput) (*ModifyTargetGroupOutput, error) { req, out := c.ModifyTargetGroupRequest(input) @@ -2387,19 +2408,18 @@ const opModifyTargetGroupAttributes = "ModifyTargetGroupAttributes" // ModifyTargetGroupAttributesRequest generates a "aws/request.Request" representing the // client's request for the ModifyTargetGroupAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyTargetGroupAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyTargetGroupAttributes method directly -// instead. +// See ModifyTargetGroupAttributes for more information on using the ModifyTargetGroupAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyTargetGroupAttributesRequest method. // req, resp := client.ModifyTargetGroupAttributesRequest(params) @@ -2441,6 +2461,9 @@ func (c *ELBV2) ModifyTargetGroupAttributesRequest(input *ModifyTargetGroupAttri // * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound" // The specified target group does not exist. // +// * ErrCodeInvalidConfigurationRequestException "InvalidConfigurationRequest" +// The requested configuration is not valid. +// // Please also see https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyTargetGroupAttributes func (c *ELBV2) ModifyTargetGroupAttributes(input *ModifyTargetGroupAttributesInput) (*ModifyTargetGroupAttributesOutput, error) { req, out := c.ModifyTargetGroupAttributesRequest(input) @@ -2467,19 +2490,18 @@ const opRegisterTargets = "RegisterTargets" // RegisterTargetsRequest generates a "aws/request.Request" representing the // client's request for the RegisterTargets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterTargets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterTargets method directly -// instead. +// See RegisterTargets for more information on using the RegisterTargets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterTargetsRequest method. // req, resp := client.RegisterTargetsRequest(params) @@ -2518,6 +2540,9 @@ func (c *ELBV2) RegisterTargetsRequest(input *RegisterTargetsInput) (req *reques // for the target group. If the target is an EC2 instance, it must be in the // running state when you register it. // +// Network Load Balancers do not support the following instance types as targets: +// C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, M3, and T1. +// // To remove a target from a target group, use DeregisterTargets. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2568,19 +2593,18 @@ const opRemoveTags = "RemoveTags" // RemoveTagsRequest generates a "aws/request.Request" representing the // client's request for the RemoveTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveTags method directly -// instead. +// See RemoveTags for more information on using the RemoveTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveTagsRequest method. // req, resp := client.RemoveTagsRequest(params) @@ -2609,7 +2633,7 @@ func (c *ELBV2) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, // RemoveTags API operation for Elastic Load Balancing. // -// Removes the specified tags from the specified resource. +// Removes the specified tags from the specified Elastic Load Balancing resource. // // To list the current tags for your resources, use DescribeTags. // @@ -2662,19 +2686,18 @@ const opSetIpAddressType = "SetIpAddressType" // SetIpAddressTypeRequest generates a "aws/request.Request" representing the // client's request for the SetIpAddressType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetIpAddressType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetIpAddressType method directly -// instead. +// See SetIpAddressType for more information on using the SetIpAddressType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetIpAddressTypeRequest method. // req, resp := client.SetIpAddressTypeRequest(params) @@ -2704,7 +2727,9 @@ func (c *ELBV2) SetIpAddressTypeRequest(input *SetIpAddressTypeInput) (req *requ // SetIpAddressType API operation for Elastic Load Balancing. // // Sets the type of IP addresses used by the subnets of the specified Application -// Load Balancer. +// Load Balancer or Network Load Balancer. +// +// Note that Network Load Balancers must use ipv4. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2749,19 +2774,18 @@ const opSetRulePriorities = "SetRulePriorities" // SetRulePrioritiesRequest generates a "aws/request.Request" representing the // client's request for the SetRulePriorities operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetRulePriorities for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetRulePriorities method directly -// instead. +// See SetRulePriorities for more information on using the SetRulePriorities +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetRulePrioritiesRequest method. // req, resp := client.SetRulePrioritiesRequest(params) @@ -2839,19 +2863,18 @@ const opSetSecurityGroups = "SetSecurityGroups" // SetSecurityGroupsRequest generates a "aws/request.Request" representing the // client's request for the SetSecurityGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetSecurityGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetSecurityGroups method directly -// instead. +// See SetSecurityGroups for more information on using the SetSecurityGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetSecurityGroupsRequest method. // req, resp := client.SetSecurityGroupsRequest(params) @@ -2880,9 +2903,11 @@ func (c *ELBV2) SetSecurityGroupsRequest(input *SetSecurityGroupsInput) (req *re // SetSecurityGroups API operation for Elastic Load Balancing. // -// Associates the specified security groups with the specified load balancer. -// The specified security groups override the previously associated security -// groups. +// Associates the specified security groups with the specified Application Load +// Balancer. The specified security groups override the previously associated +// security groups. +// +// Note that you can't specify a security group for a Network Load Balancer. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2927,19 +2952,18 @@ const opSetSubnets = "SetSubnets" // SetSubnetsRequest generates a "aws/request.Request" representing the // client's request for the SetSubnets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetSubnets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetSubnets method directly -// instead. +// See SetSubnets for more information on using the SetSubnets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetSubnetsRequest method. // req, resp := client.SetSubnetsRequest(params) @@ -2969,7 +2993,10 @@ func (c *ELBV2) SetSubnetsRequest(input *SetSubnetsInput) (req *request.Request, // SetSubnets API operation for Elastic Load Balancing. // // Enables the Availability Zone for the specified subnets for the specified -// load balancer. The specified subnets replace the previously enabled subnets. +// Application Load Balancer. The specified subnets replace the previously enabled +// subnets. +// +// Note that you can't change the subnets for a Network Load Balancer. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2991,6 +3018,12 @@ func (c *ELBV2) SetSubnetsRequest(input *SetSubnetsInput) (req *request.Request, // * ErrCodeInvalidSubnetException "InvalidSubnet" // The specified subnet is out of available addresses. // +// * ErrCodeAllocationIdNotFoundException "AllocationIdNotFound" +// The specified allocation ID does not exist. +// +// * ErrCodeAvailabilityZoneNotSupportedException "AvailabilityZoneNotSupported" +// The specified Availability Zone is not supported. +// // Please also see https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetSubnets func (c *ELBV2) SetSubnets(input *SetSubnetsInput) (*SetSubnetsOutput, error) { req, out := c.SetSubnetsRequest(input) @@ -3153,6 +3186,9 @@ func (s AddTagsOutput) GoString() string { type AvailabilityZone struct { _ struct{} `type:"structure"` + // [Network Load Balancers] The static IP address. + LoadBalancerAddresses []*LoadBalancerAddress `type:"list"` + // The ID of the subnet. SubnetId *string `type:"string"` @@ -3170,6 +3206,12 @@ func (s AvailabilityZone) GoString() string { return s.String() } +// SetLoadBalancerAddresses sets the LoadBalancerAddresses field's value. +func (s *AvailabilityZone) SetLoadBalancerAddresses(v []*LoadBalancerAddress) *AvailabilityZone { + s.LoadBalancerAddresses = v + return s +} + // SetSubnetId sets the SubnetId field's value. func (s *AvailabilityZone) SetSubnetId(v string) *AvailabilityZone { s.SubnetId = &v @@ -3245,11 +3287,13 @@ func (s *Cipher) SetPriority(v int64) *Cipher { type CreateListenerInput struct { _ struct{} `type:"structure"` - // The SSL server certificate. You must provide exactly one certificate if the - // protocol is HTTPS. + // [HTTPS listeners] The SSL server certificate. You must provide exactly one + // certificate. Certificates []*Certificate `type:"list"` - // The default action for the listener. + // The default action for the listener. For Application Load Balancers, the + // protocol of the specified target group must be HTTP or HTTPS. For Network + // Load Balancers, the protocol of the specified target group must be TCP. // // DefaultActions is a required field DefaultActions []*Action `type:"list" required:"true"` @@ -3264,13 +3308,15 @@ type CreateListenerInput struct { // Port is a required field Port *int64 `min:"1" type:"integer" required:"true"` - // The protocol for connections from clients to the load balancer. + // The protocol for connections from clients to the load balancer. For Application + // Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load + // Balancers, the supported protocol is TCP. // // Protocol is a required field Protocol *string `type:"string" required:"true" enum:"ProtocolEnum"` - // The security policy that defines which ciphers and protocols are supported. - // The default is the current predefined security policy. + // [HTTPS listeners] The security policy that defines which ciphers and protocols + // are supported. The default is the current predefined security policy. SslPolicy *string `type:"string"` } @@ -3383,9 +3429,10 @@ func (s *CreateListenerOutput) SetListeners(v []*Listener) *CreateListenerOutput type CreateLoadBalancerInput struct { _ struct{} `type:"structure"` - // The type of IP addresses used by the subnets for your load balancer. The - // possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and - // IPv6 addresses). Internal load balancers must use ipv4. + // [Application Load Balancers] The type of IP addresses used by the subnets + // for your load balancer. The possible values are ipv4 (for IPv4 addresses) + // and dualstack (for IPv4 and IPv6 addresses). Internal load balancers must + // use ipv4. IpAddressType *string `type:"string" enum:"IpAddressType"` // The name of the load balancer. @@ -3410,18 +3457,33 @@ type CreateLoadBalancerInput struct { // The default is an Internet-facing load balancer. Scheme *string `type:"string" enum:"LoadBalancerSchemeEnum"` - // The IDs of the security groups to assign to the load balancer. + // [Application Load Balancers] The IDs of the security groups to assign to + // the load balancer. SecurityGroups []*string `type:"list"` // The IDs of the subnets to attach to the load balancer. You can specify only - // one subnet per Availability Zone. You must specify subnets from at least - // two Availability Zones. + // one subnet per Availability Zone. You must specify either subnets or subnet + // mappings. // - // Subnets is a required field - Subnets []*string `type:"list" required:"true"` + // [Network Load Balancers] You can specify one Elastic IP address per subnet. + // + // [Application Load Balancers] You cannot specify Elastic IP addresses for + // your subnets. + SubnetMappings []*SubnetMapping `type:"list"` + + // The IDs of the subnets to attach to the load balancer. You can specify only + // one subnet per Availability Zone. You must specify either subnets or subnet + // mappings. + // + // [Application Load Balancers] You must specify subnets from at least two Availability + // Zones. + Subnets []*string `type:"list"` // One or more tags to assign to the load balancer. Tags []*Tag `min:"1" type:"list"` + + // The type of load balancer to create. The default is application. + Type *string `type:"string" enum:"LoadBalancerTypeEnum"` } // String returns the string representation @@ -3440,9 +3502,6 @@ func (s *CreateLoadBalancerInput) Validate() error { if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.Subnets == nil { - invalidParams.Add(request.NewErrParamRequired("Subnets")) - } if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } @@ -3487,6 +3546,12 @@ func (s *CreateLoadBalancerInput) SetSecurityGroups(v []*string) *CreateLoadBala return s } +// SetSubnetMappings sets the SubnetMappings field's value. +func (s *CreateLoadBalancerInput) SetSubnetMappings(v []*SubnetMapping) *CreateLoadBalancerInput { + s.SubnetMappings = v + return s +} + // SetSubnets sets the Subnets field's value. func (s *CreateLoadBalancerInput) SetSubnets(v []*string) *CreateLoadBalancerInput { s.Subnets = v @@ -3499,6 +3564,12 @@ func (s *CreateLoadBalancerInput) SetTags(v []*Tag) *CreateLoadBalancerInput { return s } +// SetType sets the Type field's value. +func (s *CreateLoadBalancerInput) SetType(v string) *CreateLoadBalancerInput { + s.Type = &v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateLoadBalancerOutput type CreateLoadBalancerOutput struct { _ struct{} `type:"structure"` @@ -3532,7 +3603,7 @@ type CreateRuleInput struct { // Actions is a required field Actions []*Action `type:"list" required:"true"` - // A condition. Each condition specifies a field name and a single value. + // The conditions. Each condition specifies a field name and a single value. // // If the field name is host-header, you can specify a single host name (for // example, my.example.com). A host name is case insensitive, can be up to 128 @@ -3675,32 +3746,40 @@ type CreateTargetGroupInput struct { _ struct{} `type:"structure"` // The approximate amount of time, in seconds, between health checks of an individual - // target. The default is 30 seconds. + // target. For Application Load Balancers, the range is 5 to 300 seconds. For + // Network Load Balancers, the supported values are 10 or 30 seconds. The default + // is 30 seconds. HealthCheckIntervalSeconds *int64 `min:"5" type:"integer"` - // The ping path that is the destination on the targets for health checks. The - // default is /. + // [HTTP/HTTPS health checks] The ping path that is the destination on the targets + // for health checks. The default is /. HealthCheckPath *string `min:"1" type:"string"` // The port the load balancer uses when performing health checks on targets. - // The default is traffic-port, which indicates the port on which each target - // receives traffic from the load balancer. + // The default is traffic-port, which is the port on which each target receives + // traffic from the load balancer. HealthCheckPort *string `type:"string"` // The protocol the load balancer uses when performing health checks on targets. - // The default is the HTTP protocol. + // The TCP protocol is supported only if the protocol of the target group is + // TCP. For Application Load Balancers, the default is HTTP. For Network Load + // Balancers, the default is TCP. HealthCheckProtocol *string `type:"string" enum:"ProtocolEnum"` // The amount of time, in seconds, during which no response from a target means - // a failed health check. The default is 5 seconds. + // a failed health check. For Application Load Balancers, the range is 2 to + // 60 seconds and the default is 5 seconds. For Network Load Balancers, this + // is 10 seconds for TCP and HTTPS health checks and 6 seconds for HTTP health + // checks. HealthCheckTimeoutSeconds *int64 `min:"2" type:"integer"` // The number of consecutive health checks successes required before considering - // an unhealthy target healthy. The default is 5. + // an unhealthy target healthy. For Application Load Balancers, the default + // is 5. For Network Load Balancers, the default is 3. HealthyThresholdCount *int64 `min:"2" type:"integer"` - // The HTTP codes to use when checking for a successful response from a target. - // The default is 200. + // [HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful + // response from a target. Matcher *Matcher `type:"structure"` // The name of the target group. @@ -3718,13 +3797,29 @@ type CreateTargetGroupInput struct { // Port is a required field Port *int64 `min:"1" type:"integer" required:"true"` - // The protocol to use for routing traffic to the targets. + // The protocol to use for routing traffic to the targets. For Application Load + // Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, + // the supported protocol is TCP. // // Protocol is a required field Protocol *string `type:"string" required:"true" enum:"ProtocolEnum"` + // The type of target that you must specify when registering targets with this + // target group. The possible values are instance (targets are specified by + // instance ID) or ip (targets are specified by IP address). The default is + // instance. Note that you can't specify targets for a target group using both + // instance IDs and IP addresses. + // + // If the target type is ip, specify IP addresses from the subnets of the virtual + // private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, + // 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). + // You can't specify publicly routable IP addresses. + TargetType *string `type:"string" enum:"TargetTypeEnum"` + // The number of consecutive health check failures required before considering - // a target unhealthy. The default is 2. + // a target unhealthy. For Application Load Balancers, the default is 2. For + // Network Load Balancers, this value must be the same as the healthy threshold + // count. UnhealthyThresholdCount *int64 `min:"2" type:"integer"` // The identifier of the virtual private cloud (VPC). @@ -3848,6 +3943,12 @@ func (s *CreateTargetGroupInput) SetProtocol(v string) *CreateTargetGroupInput { return s } +// SetTargetType sets the TargetType field's value. +func (s *CreateTargetGroupInput) SetTargetType(v string) *CreateTargetGroupInput { + s.TargetType = &v + return s +} + // SetUnhealthyThresholdCount sets the UnhealthyThresholdCount field's value. func (s *CreateTargetGroupInput) SetUnhealthyThresholdCount(v int64) *CreateTargetGroupInput { s.UnhealthyThresholdCount = &v @@ -5041,6 +5142,10 @@ type Limit struct { // // * listeners-per-application-load-balancer // + // * listeners-per-network-load-balancer + // + // * network-load-balancers + // // * rules-per-application-load-balancer // // * target-groups @@ -5286,6 +5391,40 @@ func (s *LoadBalancer) SetVpcId(v string) *LoadBalancer { return s } +// Information about a static IP address for a load balancer. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/LoadBalancerAddress +type LoadBalancerAddress struct { + _ struct{} `type:"structure"` + + // [Network Load Balancers] The allocation ID of the Elastic IP address. + AllocationId *string `type:"string"` + + // The static IP address. + IpAddress *string `type:"string"` +} + +// String returns the string representation +func (s LoadBalancerAddress) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LoadBalancerAddress) GoString() string { + return s.String() +} + +// SetAllocationId sets the AllocationId field's value. +func (s *LoadBalancerAddress) SetAllocationId(v string) *LoadBalancerAddress { + s.AllocationId = &v + return s +} + +// SetIpAddress sets the IpAddress field's value. +func (s *LoadBalancerAddress) SetIpAddress(v string) *LoadBalancerAddress { + s.IpAddress = &v + return s +} + // Information about a load balancer attribute. // Please also see https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/LoadBalancerAttribute type LoadBalancerAttribute struct { @@ -5293,23 +5432,25 @@ type LoadBalancerAttribute struct { // The name of the attribute. // - // * access_logs.s3.enabled - Indicates whether access logs stored in Amazon - // S3 are enabled. The value is true or false. + // * access_logs.s3.enabled - [Application Load Balancers] Indicates whether + // access logs stored in Amazon S3 are enabled. The value is true or false. // - // * access_logs.s3.bucket - The name of the S3 bucket for the access logs. - // This attribute is required if access logs in Amazon S3 are enabled. The - // bucket must exist in the same region as the load balancer and have a bucket - // policy that grants Elastic Load Balancing permission to write to the bucket. + // * access_logs.s3.bucket - [Application Load Balancers] The name of the + // S3 bucket for the access logs. This attribute is required if access logs + // in Amazon S3 are enabled. The bucket must exist in the same region as + // the load balancer and have a bucket policy that grants Elastic Load Balancing + // permission to write to the bucket. // - // * access_logs.s3.prefix - The prefix for the location in the S3 bucket. - // If you don't specify a prefix, the access logs are stored in the root - // of the bucket. + // * access_logs.s3.prefix - [Application Load Balancers] The prefix for + // the location in the S3 bucket. If you don't specify a prefix, the access + // logs are stored in the root of the bucket. // // * deletion_protection.enabled - Indicates whether deletion protection // is enabled. The value is true or false. // - // * idle_timeout.timeout_seconds - The idle timeout value, in seconds. The - // valid range is 1-3600. The default is 60 seconds. + // * idle_timeout.timeout_seconds - [Application Load Balancers] The idle + // timeout value, in seconds. The valid range is 1-4000. The default is 60 + // seconds. Key *string `type:"string"` // The value of the attribute. @@ -5379,9 +5520,13 @@ func (s *LoadBalancerState) SetReason(v string) *LoadBalancerState { type Matcher struct { _ struct{} `type:"structure"` - // The HTTP codes. You can specify values between 200 and 499. The default value - // is 200. You can specify multiple values (for example, "200,202") or a range - // of values (for example, "200-299"). + // The HTTP codes. + // + // For Application Load Balancers, you can specify values between 200 and 499, + // and the default value is 200. You can specify multiple values (for example, + // "200,202") or a range of values (for example, "200-299"). + // + // For Network Load Balancers, this is 200 to 399. // // HttpCode is a required field HttpCode *string `type:"string" required:"true"` @@ -5423,7 +5568,9 @@ type ModifyListenerInput struct { // The SSL server certificate. Certificates []*Certificate `type:"list"` - // The default actions. + // The default action. For Application Load Balancers, the protocol of the specified + // target group must be HTTP or HTTPS. For Network Load Balancers, the protocol + // of the specified target group must be TCP. DefaultActions []*Action `type:"list"` // The Amazon Resource Name (ARN) of the listener. @@ -5434,7 +5581,9 @@ type ModifyListenerInput struct { // The port for connections from clients to the load balancer. Port *int64 `min:"1" type:"integer"` - // The protocol for connections from clients to the load balancer. + // The protocol for connections from clients to the load balancer. Application + // Load Balancers support HTTP and HTTPS and Network Load Balancers support + // TCP. Protocol *string `type:"string" enum:"ProtocolEnum"` // The security policy that defines which protocols and ciphers are supported. @@ -5620,7 +5769,7 @@ func (s *ModifyLoadBalancerAttributesOutput) SetAttributes(v []*LoadBalancerAttr type ModifyRuleInput struct { _ struct{} `type:"structure"` - // The actions. + // The actions. The target group must use the HTTP or HTTPS protocol. Actions []*Action `type:"list"` // The conditions. @@ -5789,27 +5938,32 @@ type ModifyTargetGroupInput struct { _ struct{} `type:"structure"` // The approximate amount of time, in seconds, between health checks of an individual - // target. + // target. For Application Load Balancers, the range is 5 to 300 seconds. For + // Network Load Balancers, the supported values are 10 or 30 seconds. HealthCheckIntervalSeconds *int64 `min:"5" type:"integer"` - // The ping path that is the destination for the health check request. + // [HTTP/HTTPS health checks] The ping path that is the destination for the + // health check request. HealthCheckPath *string `min:"1" type:"string"` - // The port to use to connect with the target. + // The port the load balancer uses when performing health checks on targets. HealthCheckPort *string `type:"string"` - // The protocol to use to connect with the target. + // The protocol the load balancer uses when performing health checks on targets. + // The TCP protocol is supported only if the protocol of the target group is + // TCP. HealthCheckProtocol *string `type:"string" enum:"ProtocolEnum"` - // The amount of time, in seconds, during which no response means a failed health - // check. + // [HTTP/HTTPS health checks] The amount of time, in seconds, during which no + // response means a failed health check. HealthCheckTimeoutSeconds *int64 `min:"2" type:"integer"` // The number of consecutive health checks successes required before considering // an unhealthy target healthy. HealthyThresholdCount *int64 `min:"2" type:"integer"` - // The HTTP codes to use when checking for a successful response from a target. + // [HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful + // response from a target. Matcher *Matcher `type:"structure"` // The Amazon Resource Name (ARN) of the target group. @@ -5818,7 +5972,8 @@ type ModifyTargetGroupInput struct { TargetGroupArn *string `type:"string" required:"true"` // The number of consecutive health check failures required before considering - // the target unhealthy. + // the target unhealthy. For Network Load Balancers, this value must be the + // same as the healthy threshold count. UnhealthyThresholdCount *int64 `min:"2" type:"integer"` } @@ -6499,8 +6654,17 @@ type SetSubnetsInput struct { // LoadBalancerArn is a required field LoadBalancerArn *string `type:"string" required:"true"` - // The IDs of the subnets. You must specify at least two subnets. You can add - // only one subnet per Availability Zone. + // The IDs of the subnets. You must specify subnets from at least two Availability + // Zones. You can specify only one subnet per Availability Zone. You must specify + // either subnets or subnet mappings. + // + // The load balancer is allocated one static IP address per subnet. You cannot + // specify your own Elastic IP addresses. + SubnetMappings []*SubnetMapping `type:"list"` + + // The IDs of the subnets. You must specify subnets from at least two Availability + // Zones. You can specify only one subnet per Availability Zone. You must specify + // either subnets or subnet mappings. // // Subnets is a required field Subnets []*string `type:"list" required:"true"` @@ -6538,6 +6702,12 @@ func (s *SetSubnetsInput) SetLoadBalancerArn(v string) *SetSubnetsInput { return s } +// SetSubnetMappings sets the SubnetMappings field's value. +func (s *SetSubnetsInput) SetSubnetMappings(v []*SubnetMapping) *SetSubnetsInput { + s.SubnetMappings = v + return s +} + // SetSubnets sets the Subnets field's value. func (s *SetSubnetsInput) SetSubnets(v []*string) *SetSubnetsInput { s.Subnets = v @@ -6611,6 +6781,40 @@ func (s *SslPolicy) SetSslProtocols(v []*string) *SslPolicy { return s } +// Information about a subnet mapping. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SubnetMapping +type SubnetMapping struct { + _ struct{} `type:"structure"` + + // [Network Load Balancers] The allocation ID of the Elastic IP address. + AllocationId *string `type:"string"` + + // The ID of the subnet. + SubnetId *string `type:"string"` +} + +// String returns the string representation +func (s SubnetMapping) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SubnetMapping) GoString() string { + return s.String() +} + +// SetAllocationId sets the AllocationId field's value. +func (s *SubnetMapping) SetAllocationId(v string) *SubnetMapping { + s.AllocationId = &v + return s +} + +// SetSubnetId sets the SubnetId field's value. +func (s *SubnetMapping) SetSubnetId(v string) *SubnetMapping { + s.SubnetId = &v + return s +} + // Information about a tag. // Please also see https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/Tag type Tag struct { @@ -6702,7 +6906,19 @@ func (s *TagDescription) SetTags(v []*Tag) *TagDescription { type TargetDescription struct { _ struct{} `type:"structure"` - // The ID of the target. + // The Availability Zone where the IP address is to be registered. Specify all + // to register an IP address outside the target group VPC with all Availability + // Zones that are enabled for the load balancer. + // + // If the IP address is in a subnet of the VPC for the target group, the Availability + // Zone is automatically detected and this parameter is optional. + // + // This parameter is not supported if the target type of the target group is + // instance. + AvailabilityZone *string `type:"string"` + + // The ID of the target. If the target type of the target group is instance, + // specify an instance ID. If the target type is ip, specify an IP address. // // Id is a required field Id *string `type:"string" required:"true"` @@ -6737,6 +6953,12 @@ func (s *TargetDescription) Validate() error { return nil } +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *TargetDescription) SetAvailabilityZone(v string) *TargetDescription { + s.AvailabilityZone = &v + return s +} + // SetId sets the Id field's value. func (s *TargetDescription) SetId(v string) *TargetDescription { s.Id = &v @@ -6794,6 +7016,11 @@ type TargetGroup struct { // The name of the target group. TargetGroupName *string `type:"string"` + // The type of target that you must specify when registering targets with this + // target group. The possible values are instance (targets are specified by + // instance ID) or ip (targets are specified by IP address). + TargetType *string `type:"string" enum:"TargetTypeEnum"` + // The number of consecutive health check failures required before considering // the target unhealthy. UnhealthyThresholdCount *int64 `min:"2" type:"integer"` @@ -6884,6 +7111,12 @@ func (s *TargetGroup) SetTargetGroupName(v string) *TargetGroup { return s } +// SetTargetType sets the TargetType field's value. +func (s *TargetGroup) SetTargetType(v string) *TargetGroup { + s.TargetType = &v + return s +} + // SetUnhealthyThresholdCount sets the UnhealthyThresholdCount field's value. func (s *TargetGroup) SetUnhealthyThresholdCount(v int64) *TargetGroup { s.UnhealthyThresholdCount = &v @@ -6908,17 +7141,17 @@ type TargetGroupAttribute struct { // from draining to unused. The range is 0-3600 seconds. The default value // is 300 seconds. // - // * stickiness.enabled - Indicates whether sticky sessions are enabled. - // The value is true or false. + // * stickiness.enabled - [Application Load Balancers] Indicates whether + // sticky sessions are enabled. The value is true or false. // - // * stickiness.type - The type of sticky sessions. The possible value is - // lb_cookie. + // * stickiness.type - [Application Load Balancers] The type of sticky sessions. + // The possible value is lb_cookie. // - // * stickiness.lb_cookie.duration_seconds - The time period, in seconds, - // during which requests from a client should be routed to the same target. - // After this time period expires, the load balancer-generated cookie is - // considered stale. The range is 1 second to 1 week (604800 seconds). The - // default value is 1 day (86400 seconds). + // * stickiness.lb_cookie.duration_seconds - [Application Load Balancers] + // The time period, in seconds, during which requests from a client should + // be routed to the same target. After this time period expires, the load + // balancer-generated cookie is considered stale. The range is 1 second to + // 1 week (604800 seconds). The default value is 1 day (86400 seconds). Key *string `type:"string"` // The value of the attribute. @@ -6991,6 +7224,9 @@ type TargetHealth struct { // or the target is in an Availability Zone that is not enabled for its load // balancer. // + // * Target.IpUnusable - The target IP address is reserved for use by a load + // balancer. + // // * Target.InvalidState - The target is in the stopped or terminated state. // // If the target state is draining, the reason code can be the following value: @@ -7102,6 +7338,9 @@ const ( // LoadBalancerStateEnumProvisioning is a LoadBalancerStateEnum enum value LoadBalancerStateEnumProvisioning = "provisioning" + // LoadBalancerStateEnumActiveImpaired is a LoadBalancerStateEnum enum value + LoadBalancerStateEnumActiveImpaired = "active_impaired" + // LoadBalancerStateEnumFailed is a LoadBalancerStateEnum enum value LoadBalancerStateEnumFailed = "failed" ) @@ -7109,6 +7348,9 @@ const ( const ( // LoadBalancerTypeEnumApplication is a LoadBalancerTypeEnum enum value LoadBalancerTypeEnumApplication = "application" + + // LoadBalancerTypeEnumNetwork is a LoadBalancerTypeEnum enum value + LoadBalancerTypeEnumNetwork = "network" ) const ( @@ -7117,6 +7359,9 @@ const ( // ProtocolEnumHttps is a ProtocolEnum enum value ProtocolEnumHttps = "HTTPS" + + // ProtocolEnumTcp is a ProtocolEnum enum value + ProtocolEnumTcp = "TCP" ) const ( @@ -7147,6 +7392,9 @@ const ( // TargetHealthReasonEnumTargetInvalidState is a TargetHealthReasonEnum enum value TargetHealthReasonEnumTargetInvalidState = "Target.InvalidState" + // TargetHealthReasonEnumTargetIpUnusable is a TargetHealthReasonEnum enum value + TargetHealthReasonEnumTargetIpUnusable = "Target.IpUnusable" + // TargetHealthReasonEnumElbInternalError is a TargetHealthReasonEnum enum value TargetHealthReasonEnumElbInternalError = "Elb.InternalError" ) @@ -7166,4 +7414,15 @@ const ( // TargetHealthStateEnumDraining is a TargetHealthStateEnum enum value TargetHealthStateEnumDraining = "draining" + + // TargetHealthStateEnumUnavailable is a TargetHealthStateEnum enum value + TargetHealthStateEnumUnavailable = "unavailable" +) + +const ( + // TargetTypeEnumInstance is a TargetTypeEnum enum value + TargetTypeEnumInstance = "instance" + + // TargetTypeEnumIp is a TargetTypeEnum enum value + TargetTypeEnumIp = "ip" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/elbv2/doc.go b/vendor/github.com/aws/aws-sdk-go/service/elbv2/doc.go index 4c8224cc9..def1b39bf 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elbv2/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elbv2/doc.go @@ -14,22 +14,28 @@ // with health check settings to be used when checking the health status of // the targets. // -// Elastic Load Balancing supports two types of load balancers: Classic Load -// Balancers and Application Load Balancers. A Classic Load Balancer makes routing -// and load balancing decisions either at the transport layer (TCP/SSL) or the -// application layer (HTTP/HTTPS), and supports either EC2-Classic or a VPC. +// Elastic Load Balancing supports the following types of load balancers: Application +// Load Balancers, Network Load Balancers, and Classic Load Balancers. +// // An Application Load Balancer makes routing and load balancing decisions at -// the application layer (HTTP/HTTPS), supports path-based routing, and can -// route requests to one or more ports on each EC2 instance or container instance -// in your virtual private cloud (VPC). For more information, see the Elastic +// the application layer (HTTP/HTTPS). A Network Load Balancer makes routing +// and load balancing decisions at the transport layer (TCP). Both Application +// Load Balancers and Network Load Balancers can route requests to one or more +// ports on each EC2 instance or container instance in your virtual private +// cloud (VPC). +// +// A Classic Load Balancer makes routing and load balancing decisions either +// at the transport layer (TCP/SSL) or the application layer (HTTP/HTTPS), and +// supports either EC2-Classic or a VPC. For more information, see the Elastic // Load Balancing User Guide (http://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/). // // This reference covers the 2015-12-01 API, which supports Application Load -// Balancers. The 2012-06-01 API supports Classic Load Balancers. +// Balancers and Network Load Balancers. The 2012-06-01 API supports Classic +// Load Balancers. // // To get started, complete the following tasks: // -// Create an Application Load Balancer using CreateLoadBalancer. +// Create a load balancer using CreateLoadBalancer. // // Create a target group using CreateTargetGroup. // @@ -37,11 +43,8 @@ // // Create one or more listeners for your load balancer using CreateListener. // -// (Optional) Create one or more rules for content routing based on URL using -// CreateRule. -// -// To delete an Application Load Balancer and its related resources, complete -// the following tasks: +// To delete a load balancer and its related resources, complete the following +// tasks: // // Delete the load balancer using DeleteLoadBalancer. // @@ -57,69 +60,17 @@ // // Using the Client // -// To use the client for Elastic Load Balancing you will first need -// to create a new instance of it. +// To Elastic Load Balancing with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := elbv2.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Elastic Load Balancing client ELBV2 for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/elbv2/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AddTags(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AddTags result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AddTagsWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package elbv2 diff --git a/vendor/github.com/aws/aws-sdk-go/service/elbv2/elbv2iface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/elbv2/elbv2iface/interface.go index f4a5014d1..acdd294a0 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elbv2/elbv2iface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elbv2/elbv2iface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Elastic Load Balancing. @@ -201,6 +201,12 @@ type ELBV2API interface { WaitUntilLoadBalancersDeleted(*elbv2.DescribeLoadBalancersInput) error WaitUntilLoadBalancersDeletedWithContext(aws.Context, *elbv2.DescribeLoadBalancersInput, ...request.WaiterOption) error + + WaitUntilTargetDeregistered(*elbv2.DescribeTargetHealthInput) error + WaitUntilTargetDeregisteredWithContext(aws.Context, *elbv2.DescribeTargetHealthInput, ...request.WaiterOption) error + + WaitUntilTargetInService(*elbv2.DescribeTargetHealthInput) error + WaitUntilTargetInServiceWithContext(aws.Context, *elbv2.DescribeTargetHealthInput, ...request.WaiterOption) error } var _ ELBV2API = (*elbv2.ELBV2)(nil) diff --git a/vendor/github.com/aws/aws-sdk-go/service/elbv2/errors.go b/vendor/github.com/aws/aws-sdk-go/service/elbv2/errors.go index da661ba2c..df475d815 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elbv2/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elbv2/errors.go @@ -4,6 +4,18 @@ package elbv2 const ( + // ErrCodeAllocationIdNotFoundException for service response error code + // "AllocationIdNotFound". + // + // The specified allocation ID does not exist. + ErrCodeAllocationIdNotFoundException = "AllocationIdNotFound" + + // ErrCodeAvailabilityZoneNotSupportedException for service response error code + // "AvailabilityZoneNotSupported". + // + // The specified Availability Zone is not supported. + ErrCodeAvailabilityZoneNotSupportedException = "AvailabilityZoneNotSupported" + // ErrCodeCertificateNotFoundException for service response error code // "CertificateNotFound". // diff --git a/vendor/github.com/aws/aws-sdk-go/service/elbv2/examples_test.go b/vendor/github.com/aws/aws-sdk-go/service/elbv2/examples_test.go index 4da0cca3f..b57805109 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elbv2/examples_test.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elbv2/examples_test.go @@ -118,6 +118,8 @@ func ExampleELBV2_CreateListener_shared00() { fmt.Println(elbv2.ErrCodeUnsupportedProtocolException, aerr.Error()) case elbv2.ErrCodeTooManyRegistrationsForTargetIdException: fmt.Println(elbv2.ErrCodeTooManyRegistrationsForTargetIdException, aerr.Error()) + case elbv2.ErrCodeTooManyTargetsException: + fmt.Println(elbv2.ErrCodeTooManyTargetsException, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -188,6 +190,8 @@ func ExampleELBV2_CreateListener_shared01() { fmt.Println(elbv2.ErrCodeUnsupportedProtocolException, aerr.Error()) case elbv2.ErrCodeTooManyRegistrationsForTargetIdException: fmt.Println(elbv2.ErrCodeTooManyRegistrationsForTargetIdException, aerr.Error()) + case elbv2.ErrCodeTooManyTargetsException: + fmt.Println(elbv2.ErrCodeTooManyTargetsException, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -238,6 +242,12 @@ func ExampleELBV2_CreateLoadBalancer_shared00() { fmt.Println(elbv2.ErrCodeTooManyTagsException, aerr.Error()) case elbv2.ErrCodeDuplicateTagKeysException: fmt.Println(elbv2.ErrCodeDuplicateTagKeysException, aerr.Error()) + case elbv2.ErrCodeResourceInUseException: + fmt.Println(elbv2.ErrCodeResourceInUseException, aerr.Error()) + case elbv2.ErrCodeAllocationIdNotFoundException: + fmt.Println(elbv2.ErrCodeAllocationIdNotFoundException, aerr.Error()) + case elbv2.ErrCodeAvailabilityZoneNotSupportedException: + fmt.Println(elbv2.ErrCodeAvailabilityZoneNotSupportedException, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -289,6 +299,12 @@ func ExampleELBV2_CreateLoadBalancer_shared01() { fmt.Println(elbv2.ErrCodeTooManyTagsException, aerr.Error()) case elbv2.ErrCodeDuplicateTagKeysException: fmt.Println(elbv2.ErrCodeDuplicateTagKeysException, aerr.Error()) + case elbv2.ErrCodeResourceInUseException: + fmt.Println(elbv2.ErrCodeResourceInUseException, aerr.Error()) + case elbv2.ErrCodeAllocationIdNotFoundException: + fmt.Println(elbv2.ErrCodeAllocationIdNotFoundException, aerr.Error()) + case elbv2.ErrCodeAvailabilityZoneNotSupportedException: + fmt.Println(elbv2.ErrCodeAvailabilityZoneNotSupportedException, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -340,6 +356,8 @@ func ExampleELBV2_CreateRule_shared00() { fmt.Println(elbv2.ErrCodeTooManyRulesException, aerr.Error()) case elbv2.ErrCodeTargetGroupAssociationLimitException: fmt.Println(elbv2.ErrCodeTargetGroupAssociationLimitException, aerr.Error()) + case elbv2.ErrCodeIncompatibleProtocolsException: + fmt.Println(elbv2.ErrCodeIncompatibleProtocolsException, aerr.Error()) case elbv2.ErrCodeListenerNotFoundException: fmt.Println(elbv2.ErrCodeListenerNotFoundException, aerr.Error()) case elbv2.ErrCodeTargetGroupNotFoundException: @@ -348,6 +366,8 @@ func ExampleELBV2_CreateRule_shared00() { fmt.Println(elbv2.ErrCodeInvalidConfigurationRequestException, aerr.Error()) case elbv2.ErrCodeTooManyRegistrationsForTargetIdException: fmt.Println(elbv2.ErrCodeTooManyRegistrationsForTargetIdException, aerr.Error()) + case elbv2.ErrCodeTooManyTargetsException: + fmt.Println(elbv2.ErrCodeTooManyTargetsException, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -383,6 +403,8 @@ func ExampleELBV2_CreateTargetGroup_shared00() { fmt.Println(elbv2.ErrCodeDuplicateTargetGroupNameException, aerr.Error()) case elbv2.ErrCodeTooManyTargetGroupsException: fmt.Println(elbv2.ErrCodeTooManyTargetGroupsException, aerr.Error()) + case elbv2.ErrCodeInvalidConfigurationRequestException: + fmt.Println(elbv2.ErrCodeInvalidConfigurationRequestException, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -926,6 +948,8 @@ func ExampleELBV2_ModifyListener_shared00() { fmt.Println(elbv2.ErrCodeUnsupportedProtocolException, aerr.Error()) case elbv2.ErrCodeTooManyRegistrationsForTargetIdException: fmt.Println(elbv2.ErrCodeTooManyRegistrationsForTargetIdException, aerr.Error()) + case elbv2.ErrCodeTooManyTargetsException: + fmt.Println(elbv2.ErrCodeTooManyTargetsException, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -982,6 +1006,8 @@ func ExampleELBV2_ModifyListener_shared01() { fmt.Println(elbv2.ErrCodeUnsupportedProtocolException, aerr.Error()) case elbv2.ErrCodeTooManyRegistrationsForTargetIdException: fmt.Println(elbv2.ErrCodeTooManyRegistrationsForTargetIdException, aerr.Error()) + case elbv2.ErrCodeTooManyTargetsException: + fmt.Println(elbv2.ErrCodeTooManyTargetsException, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -1140,6 +1166,8 @@ func ExampleELBV2_ModifyRule_shared00() { switch aerr.Code() { case elbv2.ErrCodeTargetGroupAssociationLimitException: fmt.Println(elbv2.ErrCodeTargetGroupAssociationLimitException, aerr.Error()) + case elbv2.ErrCodeIncompatibleProtocolsException: + fmt.Println(elbv2.ErrCodeIncompatibleProtocolsException, aerr.Error()) case elbv2.ErrCodeRuleNotFoundException: fmt.Println(elbv2.ErrCodeRuleNotFoundException, aerr.Error()) case elbv2.ErrCodeOperationNotPermittedException: @@ -1182,6 +1210,8 @@ func ExampleELBV2_ModifyTargetGroup_shared00() { switch aerr.Code() { case elbv2.ErrCodeTargetGroupNotFoundException: fmt.Println(elbv2.ErrCodeTargetGroupNotFoundException, aerr.Error()) + case elbv2.ErrCodeInvalidConfigurationRequestException: + fmt.Println(elbv2.ErrCodeInvalidConfigurationRequestException, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -1218,6 +1248,8 @@ func ExampleELBV2_ModifyTargetGroupAttributes_shared00() { switch aerr.Code() { case elbv2.ErrCodeTargetGroupNotFoundException: fmt.Println(elbv2.ErrCodeTargetGroupNotFoundException, aerr.Error()) + case elbv2.ErrCodeInvalidConfigurationRequestException: + fmt.Println(elbv2.ErrCodeInvalidConfigurationRequestException, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -1465,6 +1497,10 @@ func ExampleELBV2_SetSubnets_shared00() { fmt.Println(elbv2.ErrCodeSubnetNotFoundException, aerr.Error()) case elbv2.ErrCodeInvalidSubnetException: fmt.Println(elbv2.ErrCodeInvalidSubnetException, aerr.Error()) + case elbv2.ErrCodeAllocationIdNotFoundException: + fmt.Println(elbv2.ErrCodeAllocationIdNotFoundException, aerr.Error()) + case elbv2.ErrCodeAvailabilityZoneNotSupportedException: + fmt.Println(elbv2.ErrCodeAvailabilityZoneNotSupportedException, aerr.Error()) default: fmt.Println(aerr.Error()) } diff --git a/vendor/github.com/aws/aws-sdk-go/service/elbv2/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/elbv2/waiters.go index 44fc1fc85..f08f1aaf2 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elbv2/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elbv2/waiters.go @@ -11,7 +11,7 @@ import ( // WaitUntilLoadBalancerAvailable uses the Elastic Load Balancing v2 API operation // DescribeLoadBalancers to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *ELBV2) WaitUntilLoadBalancerAvailable(input *DescribeLoadBalancersInput) error { return c.WaitUntilLoadBalancerAvailableWithContext(aws.BackgroundContext(), input) @@ -67,7 +67,7 @@ func (c *ELBV2) WaitUntilLoadBalancerAvailableWithContext(ctx aws.Context, input // WaitUntilLoadBalancerExists uses the Elastic Load Balancing v2 API operation // DescribeLoadBalancers to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *ELBV2) WaitUntilLoadBalancerExists(input *DescribeLoadBalancersInput) error { return c.WaitUntilLoadBalancerExistsWithContext(aws.BackgroundContext(), input) @@ -118,7 +118,7 @@ func (c *ELBV2) WaitUntilLoadBalancerExistsWithContext(ctx aws.Context, input *D // WaitUntilLoadBalancersDeleted uses the Elastic Load Balancing v2 API operation // DescribeLoadBalancers to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *ELBV2) WaitUntilLoadBalancersDeleted(input *DescribeLoadBalancersInput) error { return c.WaitUntilLoadBalancersDeletedWithContext(aws.BackgroundContext(), input) @@ -166,3 +166,105 @@ func (c *ELBV2) WaitUntilLoadBalancersDeletedWithContext(ctx aws.Context, input return w.WaitWithContext(ctx) } + +// WaitUntilTargetDeregistered uses the Elastic Load Balancing v2 API operation +// DescribeTargetHealth to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *ELBV2) WaitUntilTargetDeregistered(input *DescribeTargetHealthInput) error { + return c.WaitUntilTargetDeregisteredWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilTargetDeregisteredWithContext is an extended version of WaitUntilTargetDeregistered. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ELBV2) WaitUntilTargetDeregisteredWithContext(ctx aws.Context, input *DescribeTargetHealthInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilTargetDeregistered", + MaxAttempts: 40, + Delay: request.ConstantWaiterDelay(15 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.ErrorWaiterMatch, + Expected: "InvalidTarget", + }, + { + State: request.SuccessWaiterState, + Matcher: request.PathAllWaiterMatch, Argument: "TargetHealthDescriptions[].TargetHealth.State", + Expected: "unused", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeTargetHealthInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeTargetHealthRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + +// WaitUntilTargetInService uses the Elastic Load Balancing v2 API operation +// DescribeTargetHealth to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *ELBV2) WaitUntilTargetInService(input *DescribeTargetHealthInput) error { + return c.WaitUntilTargetInServiceWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilTargetInServiceWithContext is an extended version of WaitUntilTargetInService. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ELBV2) WaitUntilTargetInServiceWithContext(ctx aws.Context, input *DescribeTargetHealthInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilTargetInService", + MaxAttempts: 40, + Delay: request.ConstantWaiterDelay(15 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathAllWaiterMatch, Argument: "TargetHealthDescriptions[].TargetHealth.State", + Expected: "healthy", + }, + { + State: request.RetryWaiterState, + Matcher: request.ErrorWaiterMatch, + Expected: "InvalidInstance", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeTargetHealthInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeTargetHealthRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/emr/api.go b/vendor/github.com/aws/aws-sdk-go/service/emr/api.go index 8abbf85e7..3110a8471 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/emr/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/emr/api.go @@ -17,19 +17,18 @@ const opAddInstanceFleet = "AddInstanceFleet" // AddInstanceFleetRequest generates a "aws/request.Request" representing the // client's request for the AddInstanceFleet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddInstanceFleet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddInstanceFleet method directly -// instead. +// See AddInstanceFleet for more information on using the AddInstanceFleet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddInstanceFleetRequest method. // req, resp := client.AddInstanceFleetRequest(params) @@ -103,19 +102,18 @@ const opAddInstanceGroups = "AddInstanceGroups" // AddInstanceGroupsRequest generates a "aws/request.Request" representing the // client's request for the AddInstanceGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddInstanceGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddInstanceGroups method directly -// instead. +// See AddInstanceGroups for more information on using the AddInstanceGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddInstanceGroupsRequest method. // req, resp := client.AddInstanceGroupsRequest(params) @@ -184,19 +182,18 @@ const opAddJobFlowSteps = "AddJobFlowSteps" // AddJobFlowStepsRequest generates a "aws/request.Request" representing the // client's request for the AddJobFlowSteps operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddJobFlowSteps for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddJobFlowSteps method directly -// instead. +// See AddJobFlowSteps for more information on using the AddJobFlowSteps +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddJobFlowStepsRequest method. // req, resp := client.AddJobFlowStepsRequest(params) @@ -287,19 +284,18 @@ const opAddTags = "AddTags" // AddTagsRequest generates a "aws/request.Request" representing the // client's request for the AddTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddTags method directly -// instead. +// See AddTags for more information on using the AddTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddTagsRequest method. // req, resp := client.AddTagsRequest(params) @@ -373,19 +369,18 @@ const opCancelSteps = "CancelSteps" // CancelStepsRequest generates a "aws/request.Request" representing the // client's request for the CancelSteps operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CancelSteps for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CancelSteps method directly -// instead. +// See CancelSteps for more information on using the CancelSteps +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CancelStepsRequest method. // req, resp := client.CancelStepsRequest(params) @@ -461,19 +456,18 @@ const opCreateSecurityConfiguration = "CreateSecurityConfiguration" // CreateSecurityConfigurationRequest generates a "aws/request.Request" representing the // client's request for the CreateSecurityConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateSecurityConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateSecurityConfiguration method directly -// instead. +// See CreateSecurityConfiguration for more information on using the CreateSecurityConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateSecurityConfigurationRequest method. // req, resp := client.CreateSecurityConfigurationRequest(params) @@ -545,19 +539,18 @@ const opDeleteSecurityConfiguration = "DeleteSecurityConfiguration" // DeleteSecurityConfigurationRequest generates a "aws/request.Request" representing the // client's request for the DeleteSecurityConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSecurityConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSecurityConfiguration method directly -// instead. +// See DeleteSecurityConfiguration for more information on using the DeleteSecurityConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSecurityConfigurationRequest method. // req, resp := client.DeleteSecurityConfigurationRequest(params) @@ -628,19 +621,18 @@ const opDescribeCluster = "DescribeCluster" // DescribeClusterRequest generates a "aws/request.Request" representing the // client's request for the DescribeCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeCluster method directly -// instead. +// See DescribeCluster for more information on using the DescribeCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeClusterRequest method. // req, resp := client.DescribeClusterRequest(params) @@ -712,19 +704,18 @@ const opDescribeJobFlows = "DescribeJobFlows" // DescribeJobFlowsRequest generates a "aws/request.Request" representing the // client's request for the DescribeJobFlows operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeJobFlows for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeJobFlows method directly -// instead. +// See DescribeJobFlows for more information on using the DescribeJobFlows +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeJobFlowsRequest method. // req, resp := client.DescribeJobFlowsRequest(params) @@ -815,19 +806,18 @@ const opDescribeSecurityConfiguration = "DescribeSecurityConfiguration" // DescribeSecurityConfigurationRequest generates a "aws/request.Request" representing the // client's request for the DescribeSecurityConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSecurityConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSecurityConfiguration method directly -// instead. +// See DescribeSecurityConfiguration for more information on using the DescribeSecurityConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSecurityConfigurationRequest method. // req, resp := client.DescribeSecurityConfigurationRequest(params) @@ -899,19 +889,18 @@ const opDescribeStep = "DescribeStep" // DescribeStepRequest generates a "aws/request.Request" representing the // client's request for the DescribeStep operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeStep for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeStep method directly -// instead. +// See DescribeStep for more information on using the DescribeStep +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeStepRequest method. // req, resp := client.DescribeStepRequest(params) @@ -982,19 +971,18 @@ const opListBootstrapActions = "ListBootstrapActions" // ListBootstrapActionsRequest generates a "aws/request.Request" representing the // client's request for the ListBootstrapActions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListBootstrapActions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListBootstrapActions method directly -// instead. +// See ListBootstrapActions for more information on using the ListBootstrapActions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListBootstrapActionsRequest method. // req, resp := client.ListBootstrapActionsRequest(params) @@ -1121,19 +1109,18 @@ const opListClusters = "ListClusters" // ListClustersRequest generates a "aws/request.Request" representing the // client's request for the ListClusters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListClusters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListClusters method directly -// instead. +// See ListClusters for more information on using the ListClusters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListClustersRequest method. // req, resp := client.ListClustersRequest(params) @@ -1264,19 +1251,18 @@ const opListInstanceFleets = "ListInstanceFleets" // ListInstanceFleetsRequest generates a "aws/request.Request" representing the // client's request for the ListInstanceFleets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListInstanceFleets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListInstanceFleets method directly -// instead. +// See ListInstanceFleets for more information on using the ListInstanceFleets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListInstanceFleetsRequest method. // req, resp := client.ListInstanceFleetsRequest(params) @@ -1406,19 +1392,18 @@ const opListInstanceGroups = "ListInstanceGroups" // ListInstanceGroupsRequest generates a "aws/request.Request" representing the // client's request for the ListInstanceGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListInstanceGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListInstanceGroups method directly -// instead. +// See ListInstanceGroups for more information on using the ListInstanceGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListInstanceGroupsRequest method. // req, resp := client.ListInstanceGroupsRequest(params) @@ -1545,19 +1530,18 @@ const opListInstances = "ListInstances" // ListInstancesRequest generates a "aws/request.Request" representing the // client's request for the ListInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListInstances method directly -// instead. +// See ListInstances for more information on using the ListInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListInstancesRequest method. // req, resp := client.ListInstancesRequest(params) @@ -1687,19 +1671,18 @@ const opListSecurityConfigurations = "ListSecurityConfigurations" // ListSecurityConfigurationsRequest generates a "aws/request.Request" representing the // client's request for the ListSecurityConfigurations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListSecurityConfigurations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListSecurityConfigurations method directly -// instead. +// See ListSecurityConfigurations for more information on using the ListSecurityConfigurations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListSecurityConfigurationsRequest method. // req, resp := client.ListSecurityConfigurationsRequest(params) @@ -1773,19 +1756,18 @@ const opListSteps = "ListSteps" // ListStepsRequest generates a "aws/request.Request" representing the // client's request for the ListSteps operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListSteps for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListSteps method directly -// instead. +// See ListSteps for more information on using the ListSteps +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListStepsRequest method. // req, resp := client.ListStepsRequest(params) @@ -1913,19 +1895,18 @@ const opModifyInstanceFleet = "ModifyInstanceFleet" // ModifyInstanceFleetRequest generates a "aws/request.Request" representing the // client's request for the ModifyInstanceFleet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyInstanceFleet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyInstanceFleet method directly -// instead. +// See ModifyInstanceFleet for more information on using the ModifyInstanceFleet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyInstanceFleetRequest method. // req, resp := client.ModifyInstanceFleetRequest(params) @@ -2003,19 +1984,18 @@ const opModifyInstanceGroups = "ModifyInstanceGroups" // ModifyInstanceGroupsRequest generates a "aws/request.Request" representing the // client's request for the ModifyInstanceGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyInstanceGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyInstanceGroups method directly -// instead. +// See ModifyInstanceGroups for more information on using the ModifyInstanceGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyInstanceGroupsRequest method. // req, resp := client.ModifyInstanceGroupsRequest(params) @@ -2089,19 +2069,18 @@ const opPutAutoScalingPolicy = "PutAutoScalingPolicy" // PutAutoScalingPolicyRequest generates a "aws/request.Request" representing the // client's request for the PutAutoScalingPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutAutoScalingPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutAutoScalingPolicy method directly -// instead. +// See PutAutoScalingPolicy for more information on using the PutAutoScalingPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutAutoScalingPolicyRequest method. // req, resp := client.PutAutoScalingPolicyRequest(params) @@ -2167,19 +2146,18 @@ const opRemoveAutoScalingPolicy = "RemoveAutoScalingPolicy" // RemoveAutoScalingPolicyRequest generates a "aws/request.Request" representing the // client's request for the RemoveAutoScalingPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveAutoScalingPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveAutoScalingPolicy method directly -// instead. +// See RemoveAutoScalingPolicy for more information on using the RemoveAutoScalingPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveAutoScalingPolicyRequest method. // req, resp := client.RemoveAutoScalingPolicyRequest(params) @@ -2243,19 +2221,18 @@ const opRemoveTags = "RemoveTags" // RemoveTagsRequest generates a "aws/request.Request" representing the // client's request for the RemoveTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveTags method directly -// instead. +// See RemoveTags for more information on using the RemoveTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveTagsRequest method. // req, resp := client.RemoveTagsRequest(params) @@ -2331,19 +2308,18 @@ const opRunJobFlow = "RunJobFlow" // RunJobFlowRequest generates a "aws/request.Request" representing the // client's request for the RunJobFlow operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RunJobFlow for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RunJobFlow method directly -// instead. +// See RunJobFlow for more information on using the RunJobFlow +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RunJobFlowRequest method. // req, resp := client.RunJobFlowRequest(params) @@ -2438,19 +2414,18 @@ const opSetTerminationProtection = "SetTerminationProtection" // SetTerminationProtectionRequest generates a "aws/request.Request" representing the // client's request for the SetTerminationProtection operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetTerminationProtection for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetTerminationProtection method directly -// instead. +// See SetTerminationProtection for more information on using the SetTerminationProtection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetTerminationProtectionRequest method. // req, resp := client.SetTerminationProtectionRequest(params) @@ -2537,19 +2512,18 @@ const opSetVisibleToAllUsers = "SetVisibleToAllUsers" // SetVisibleToAllUsersRequest generates a "aws/request.Request" representing the // client's request for the SetVisibleToAllUsers operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetVisibleToAllUsers for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetVisibleToAllUsers method directly -// instead. +// See SetVisibleToAllUsers for more information on using the SetVisibleToAllUsers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetVisibleToAllUsersRequest method. // req, resp := client.SetVisibleToAllUsersRequest(params) @@ -2625,19 +2599,18 @@ const opTerminateJobFlows = "TerminateJobFlows" // TerminateJobFlowsRequest generates a "aws/request.Request" representing the // client's request for the TerminateJobFlows operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TerminateJobFlows for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TerminateJobFlows method directly -// instead. +// See TerminateJobFlows for more information on using the TerminateJobFlows +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TerminateJobFlowsRequest method. // req, resp := client.TerminateJobFlowsRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/emr/doc.go b/vendor/github.com/aws/aws-sdk-go/service/emr/doc.go index 9b9fe1e70..1aa317969 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/emr/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/emr/doc.go @@ -15,69 +15,17 @@ // // Using the Client // -// To use the client for Amazon Elastic MapReduce you will first need -// to create a new instance of it. +// To Amazon Elastic MapReduce with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := emr.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Elastic MapReduce client EMR for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/emr/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AddInstanceFleet(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AddInstanceFleet result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AddInstanceFleetWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package emr diff --git a/vendor/github.com/aws/aws-sdk-go/service/emr/emriface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/emr/emriface/interface.go index 1a3800b2f..d936f36c1 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/emr/emriface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/emr/emriface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Elastic MapReduce. diff --git a/vendor/github.com/aws/aws-sdk-go/service/emr/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/emr/waiters.go index 6e1b7ddec..d99d11202 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/emr/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/emr/waiters.go @@ -11,7 +11,7 @@ import ( // WaitUntilClusterRunning uses the Amazon EMR API operation // DescribeCluster to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EMR) WaitUntilClusterRunning(input *DescribeClusterInput) error { return c.WaitUntilClusterRunningWithContext(aws.BackgroundContext(), input) @@ -77,7 +77,7 @@ func (c *EMR) WaitUntilClusterRunningWithContext(ctx aws.Context, input *Describ // WaitUntilClusterTerminated uses the Amazon EMR API operation // DescribeCluster to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EMR) WaitUntilClusterTerminated(input *DescribeClusterInput) error { return c.WaitUntilClusterTerminatedWithContext(aws.BackgroundContext(), input) @@ -128,7 +128,7 @@ func (c *EMR) WaitUntilClusterTerminatedWithContext(ctx aws.Context, input *Desc // WaitUntilStepComplete uses the Amazon EMR API operation // DescribeStep to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *EMR) WaitUntilStepComplete(input *DescribeStepInput) error { return c.WaitUntilStepCompleteWithContext(aws.BackgroundContext(), input) diff --git a/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go b/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go index f404386c4..ca7ec95e0 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go @@ -15,19 +15,18 @@ const opCreateDeliveryStream = "CreateDeliveryStream" // CreateDeliveryStreamRequest generates a "aws/request.Request" representing the // client's request for the CreateDeliveryStream operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDeliveryStream for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDeliveryStream method directly -// instead. +// See CreateDeliveryStream for more information on using the CreateDeliveryStream +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDeliveryStreamRequest method. // req, resp := client.CreateDeliveryStreamRequest(params) @@ -66,16 +65,23 @@ func (c *Firehose) CreateDeliveryStreamRequest(input *CreateDeliveryStreamInput) // delivery stream that is not in the ACTIVE state cause an exception. To check // the state of a delivery stream, use DescribeDeliveryStream. // +// A Kinesis Firehose delivery stream can be configured to receive records directly +// from providers using PutRecord or PutRecordBatch, or it can be configured +// to use an existing Kinesis stream as its source. To specify a Kinesis stream +// as input, set the DeliveryStreamType parameter to KinesisStreamAsSource, +// and provide the Kinesis stream ARN and role ARN in the KinesisStreamSourceConfiguration +// parameter. +// // A delivery stream is configured with a single destination: Amazon S3, Amazon -// Elasticsearch Service, or Amazon Redshift. You must specify only one of the -// following destination configuration parameters: ExtendedS3DestinationConfiguration, -// S3DestinationConfiguration, ElasticsearchDestinationConfiguration, or RedshiftDestinationConfiguration. +// ES, or Amazon Redshift. You must specify only one of the following destination +// configuration parameters: ExtendedS3DestinationConfiguration, S3DestinationConfiguration, +// ElasticsearchDestinationConfiguration, or RedshiftDestinationConfiguration. // // When you specify S3DestinationConfiguration, you can also provide the following // optional values: BufferingHints, EncryptionConfiguration, and CompressionFormat. -// By default, if no BufferingHints value is provided, Firehose buffers data -// up to 5 MB or for 5 minutes, whichever condition is satisfied first. Note -// that BufferingHints is a hint, so there are some cases where the service +// By default, if no BufferingHints value is provided, Kinesis Firehose buffers +// data up to 5 MB or for 5 minutes, whichever condition is satisfied first. +// Note that BufferingHints is a hint, so there are some cases where the service // cannot adhere to these conditions strictly; for example, record boundaries // are such that the size is a little over or under the configured buffering // size. By default, no encryption is performed. We strongly recommend that @@ -84,22 +90,22 @@ func (c *Firehose) CreateDeliveryStreamRequest(input *CreateDeliveryStreamInput) // A few notes about Amazon Redshift as a destination: // // * An Amazon Redshift destination requires an S3 bucket as intermediate -// location, as Firehose first delivers data to S3 and then uses COPY syntax -// to load data into an Amazon Redshift table. This is specified in the RedshiftDestinationConfiguration.S3Configuration -// parameter. +// location, as Kinesis Firehose first delivers data to S3 and then uses +// COPY syntax to load data into an Amazon Redshift table. This is specified +// in the RedshiftDestinationConfiguration.S3Configuration parameter. // // * The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration // because the Amazon Redshift COPY operation that reads from the S3 bucket // doesn't support these compression formats. // // * We strongly recommend that you use the user name and password you provide -// exclusively with Firehose, and that the permissions for the account are -// restricted for Amazon Redshift INSERT permissions. +// exclusively with Kinesis Firehose, and that the permissions for the account +// are restricted for Amazon Redshift INSERT permissions. // -// Firehose assumes the IAM role that is configured as part of the destination. -// The role should allow the Firehose principal to assume the role, and the -// role should have permissions that allows the service to deliver the data. -// For more information, see Amazon S3 Bucket Access (http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3) +// Kinesis Firehose assumes the IAM role that is configured as part of the destination. +// The role should allow the Kinesis Firehose principal to assume the role, +// and the role should have permissions that allow the service to deliver the +// data. For more information, see Amazon S3 Bucket Access (http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3) // in the Amazon Kinesis Firehose Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -111,7 +117,7 @@ func (c *Firehose) CreateDeliveryStreamRequest(input *CreateDeliveryStreamInput) // // Returned Error Codes: // * ErrCodeInvalidArgumentException "InvalidArgumentException" -// The specified input parameter has an value that is not valid. +// The specified input parameter has a value that is not valid. // // * ErrCodeLimitExceededException "LimitExceededException" // You have already reached the limit for a requested resource. @@ -145,19 +151,18 @@ const opDeleteDeliveryStream = "DeleteDeliveryStream" // DeleteDeliveryStreamRequest generates a "aws/request.Request" representing the // client's request for the DeleteDeliveryStream operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDeliveryStream for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDeliveryStream method directly -// instead. +// See DeleteDeliveryStream for more information on using the DeleteDeliveryStream +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDeliveryStreamRequest method. // req, resp := client.DeleteDeliveryStreamRequest(params) @@ -239,19 +244,18 @@ const opDescribeDeliveryStream = "DescribeDeliveryStream" // DescribeDeliveryStreamRequest generates a "aws/request.Request" representing the // client's request for the DescribeDeliveryStream operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDeliveryStream for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDeliveryStream method directly -// instead. +// See DescribeDeliveryStream for more information on using the DescribeDeliveryStream +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDeliveryStreamRequest method. // req, resp := client.DescribeDeliveryStreamRequest(params) @@ -318,23 +322,104 @@ func (c *Firehose) DescribeDeliveryStreamWithContext(ctx aws.Context, input *Des return out, req.Send() } +const opGetKinesisStream = "GetKinesisStream" + +// GetKinesisStreamRequest generates a "aws/request.Request" representing the +// client's request for the GetKinesisStream operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetKinesisStream for more information on using the GetKinesisStream +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetKinesisStreamRequest method. +// req, resp := client.GetKinesisStreamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/GetKinesisStream +func (c *Firehose) GetKinesisStreamRequest(input *GetKinesisStreamInput) (req *request.Request, output *GetKinesisStreamOutput) { + op := &request.Operation{ + Name: opGetKinesisStream, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetKinesisStreamInput{} + } + + output = &GetKinesisStreamOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetKinesisStream API operation for Amazon Kinesis Firehose. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Firehose's +// API operation GetKinesisStream for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource could not be found. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter has a value that is not valid. +// +// * ErrCodeInvalidStreamTypeException "InvalidStreamTypeException" +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/GetKinesisStream +func (c *Firehose) GetKinesisStream(input *GetKinesisStreamInput) (*GetKinesisStreamOutput, error) { + req, out := c.GetKinesisStreamRequest(input) + return out, req.Send() +} + +// GetKinesisStreamWithContext is the same as GetKinesisStream with the addition of +// the ability to pass a context and additional request options. +// +// See GetKinesisStream for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Firehose) GetKinesisStreamWithContext(ctx aws.Context, input *GetKinesisStreamInput, opts ...request.Option) (*GetKinesisStreamOutput, error) { + req, out := c.GetKinesisStreamRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListDeliveryStreams = "ListDeliveryStreams" // ListDeliveryStreamsRequest generates a "aws/request.Request" representing the // client's request for the ListDeliveryStreams operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDeliveryStreams for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDeliveryStreams method directly -// instead. +// See ListDeliveryStreams for more information on using the ListDeliveryStreams +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDeliveryStreamsRequest method. // req, resp := client.ListDeliveryStreamsRequest(params) @@ -405,19 +490,18 @@ const opPutRecord = "PutRecord" // PutRecordRequest generates a "aws/request.Request" representing the // client's request for the PutRecord operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutRecord for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutRecord method directly -// instead. +// See PutRecord for more information on using the PutRecord +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutRecordRequest method. // req, resp := client.PutRecordRequest(params) @@ -459,13 +543,13 @@ func (c *Firehose) PutRecordRequest(input *PutRecordInput) (req *request.Request // You must specify the name of the delivery stream and the data record when // using PutRecord. The data record consists of a data blob that can be up to // 1,000 KB in size, and any kind of data, for example, a segment from a log -// file, geographic location data, web site clickstream data, etc. +// file, geographic location data, website clickstream data, and so on. // -// Firehose buffers records before delivering them to the destination. To disambiguate -// the data blobs at the destination, a common solution is to use delimiters -// in the data, such as a newline (\n) or some other character unique within -// the data. This allows the consumer application(s) to parse individual data -// items when reading the data from the destination. +// Kinesis Firehose buffers records before delivering them to the destination. +// To disambiguate the data blobs at the destination, a common solution is to +// use delimiters in the data, such as a newline (\n) or some other character +// unique within the data. This allows the consumer application to parse individual +// data items when reading the data from the destination. // // The PutRecord operation returns a RecordId, which is a unique string assigned // to each record. Producer applications can use this ID for purposes such as @@ -475,10 +559,10 @@ func (c *Firehose) PutRecordRequest(input *PutRecordInput) (req *request.Request // and retry. If the exception persists, it is possible that the throughput // limits have been exceeded for the delivery stream. // -// Data records sent to Firehose are stored for 24 hours from the time they -// are added to a delivery stream as it attempts to send the records to the -// destination. If the destination is unreachable for more than 24 hours, the -// data is no longer available. +// Data records sent to Kinesis Firehose are stored for 24 hours from the time +// they are added to a delivery stream as it attempts to send the records to +// the destination. If the destination is unreachable for more than 24 hours, +// the data is no longer available. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -492,7 +576,7 @@ func (c *Firehose) PutRecordRequest(input *PutRecordInput) (req *request.Request // The specified resource could not be found. // // * ErrCodeInvalidArgumentException "InvalidArgumentException" -// The specified input parameter has an value that is not valid. +// The specified input parameter has a value that is not valid. // // * ErrCodeServiceUnavailableException "ServiceUnavailableException" // The service is unavailable, back off and retry the operation. If you continue @@ -526,19 +610,18 @@ const opPutRecordBatch = "PutRecordBatch" // PutRecordBatchRequest generates a "aws/request.Request" representing the // client's request for the PutRecordBatch operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutRecordBatch for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutRecordBatch method directly -// instead. +// See PutRecordBatch for more information on using the PutRecordBatch +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutRecordBatchRequest method. // req, resp := client.PutRecordBatchRequest(params) @@ -573,10 +656,10 @@ func (c *Firehose) PutRecordBatchRequest(input *PutRecordBatchInput) (req *reque // using these operations are referred to as producers. // // By default, each delivery stream can take in up to 2,000 transactions per -// second, 5,000 records per second, or 5 MB per second. Note that if you use -// PutRecord and PutRecordBatch, the limits are an aggregate across these two -// operations for each delivery stream. For more information about limits, see -// Amazon Kinesis Firehose Limits (http://docs.aws.amazon.com/firehose/latest/dev/limits.html). +// second, 5,000 records per second, or 5 MB per second. If you use PutRecord +// and PutRecordBatch, the limits are an aggregate across these two operations +// for each delivery stream. For more information about limits, see Amazon Kinesis +// Firehose Limits (http://docs.aws.amazon.com/firehose/latest/dev/limits.html). // // Each PutRecordBatch request supports up to 500 records. Each record in the // request can be as large as 1,000 KB (before 64-bit encoding), up to a limit @@ -584,24 +667,25 @@ func (c *Firehose) PutRecordBatchRequest(input *PutRecordBatchInput) (req *reque // // You must specify the name of the delivery stream and the data record when // using PutRecord. The data record consists of a data blob that can be up to -// 1,000 KB in size, and any kind of data, for example, a segment from a log -// file, geographic location data, web site clickstream data, and so on. +// 1,000 KB in size, and any kind of data. For example, it could be a segment +// from a log file, geographic location data, web site clickstream data, and +// so on. // -// Firehose buffers records before delivering them to the destination. To disambiguate -// the data blobs at the destination, a common solution is to use delimiters -// in the data, such as a newline (\n) or some other character unique within -// the data. This allows the consumer application(s) to parse individual data -// items when reading the data from the destination. +// Kinesis Firehose buffers records before delivering them to the destination. +// To disambiguate the data blobs at the destination, a common solution is to +// use delimiters in the data, such as a newline (\n) or some other character +// unique within the data. This allows the consumer application to parse individual +// data items when reading the data from the destination. // // The PutRecordBatch response includes a count of failed records, FailedPutCount, // and an array of responses, RequestResponses. Each entry in the RequestResponses -// array provides additional information about the processed record, and directly +// array provides additional information about the processed record. It directly // correlates with a record in the request array using the same ordering, from // the top to the bottom. The response array always includes the same number // of records as the request array. RequestResponses includes both successfully -// and unsuccessfully processed records. Firehose attempts to process all records -// in each PutRecordBatch request. A single record failure does not stop the -// processing of subsequent records. +// and unsuccessfully processed records. Kinesis Firehose attempts to process +// all records in each PutRecordBatch request. A single record failure does +// not stop the processing of subsequent records. // // A successfully processed record includes a RecordId value, which is unique // for the record. An unsuccessfully processed record includes ErrorCode and @@ -620,10 +704,10 @@ func (c *Firehose) PutRecordBatchRequest(input *PutRecordBatchInput) (req *reque // If the exception persists, it is possible that the throughput limits have // been exceeded for the delivery stream. // -// Data records sent to Firehose are stored for 24 hours from the time they -// are added to a delivery stream as it attempts to send the records to the -// destination. If the destination is unreachable for more than 24 hours, the -// data is no longer available. +// Data records sent to Kinesis Firehose are stored for 24 hours from the time +// they are added to a delivery stream as it attempts to send the records to +// the destination. If the destination is unreachable for more than 24 hours, +// the data is no longer available. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -637,7 +721,7 @@ func (c *Firehose) PutRecordBatchRequest(input *PutRecordBatchInput) (req *reque // The specified resource could not be found. // // * ErrCodeInvalidArgumentException "InvalidArgumentException" -// The specified input parameter has an value that is not valid. +// The specified input parameter has a value that is not valid. // // * ErrCodeServiceUnavailableException "ServiceUnavailableException" // The service is unavailable, back off and retry the operation. If you continue @@ -671,19 +755,18 @@ const opUpdateDestination = "UpdateDestination" // UpdateDestinationRequest generates a "aws/request.Request" representing the // client's request for the UpdateDestination operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateDestination for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateDestination method directly -// instead. +// See UpdateDestination for more information on using the UpdateDestination +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateDestinationRequest method. // req, resp := client.UpdateDestinationRequest(params) @@ -725,23 +808,23 @@ func (c *Firehose) UpdateDestinationRequest(input *UpdateDestinationInput) (req // Note that switching between Amazon ES and other services is not supported. // For an Amazon ES destination, you can only update to another Amazon ES destination. // -// If the destination type is the same, Firehose merges the configuration parameters -// specified with the destination configuration that already exists on the delivery -// stream. If any of the parameters are not specified in the call, the existing -// values are retained. For example, in the Amazon S3 destination, if EncryptionConfiguration -// is not specified then the existing EncryptionConfiguration is maintained -// on the destination. +// If the destination type is the same, Kinesis Firehose merges the configuration +// parameters specified with the destination configuration that already exists +// on the delivery stream. If any of the parameters are not specified in the +// call, the existing values are retained. For example, in the Amazon S3 destination, +// if EncryptionConfiguration is not specified, then the existing EncryptionConfiguration +// is maintained on the destination. // // If the destination type is not the same, for example, changing the destination -// from Amazon S3 to Amazon Redshift, Firehose does not merge any parameters. +// from Amazon S3 to Amazon Redshift, Kinesis Firehose does not merge any parameters. // In this case, all parameters must be specified. // -// Firehose uses CurrentDeliveryStreamVersionId to avoid race conditions and -// conflicting merges. This is a required field, and the service updates the -// configuration only if the existing configuration has a version ID that matches. -// After the update is applied successfully, the version ID is updated, and -// can be retrieved using DescribeDeliveryStream. You should use the new version -// ID to set CurrentDeliveryStreamVersionId in the next call. +// Kinesis Firehose uses CurrentDeliveryStreamVersionId to avoid race conditions +// and conflicting merges. This is a required field, and the service updates +// the configuration only if the existing configuration has a version ID that +// matches. After the update is applied successfully, the version ID is updated, +// and can be retrieved using DescribeDeliveryStream. Use the new version ID +// to set CurrentDeliveryStreamVersionId in the next call. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -752,7 +835,7 @@ func (c *Firehose) UpdateDestinationRequest(input *UpdateDestinationInput) (req // // Returned Error Codes: // * ErrCodeInvalidArgumentException "InvalidArgumentException" -// The specified input parameter has an value that is not valid. +// The specified input parameter has a value that is not valid. // // * ErrCodeResourceInUseException "ResourceInUseException" // The resource is already in use and not available for this operation. @@ -788,7 +871,7 @@ func (c *Firehose) UpdateDestinationWithContext(ctx aws.Context, input *UpdateDe // Describes hints for the buffering to perform before delivering data to the // destination. Please note that these options are treated as hints, and therefore -// Firehose may choose to use different values when it is optimal. +// Kinesis Firehose may choose to use different values when it is optimal. // Please also see https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/BufferingHints type BufferingHints struct { _ struct{} `type:"structure"` @@ -844,7 +927,7 @@ func (s *BufferingHints) SetSizeInMBs(v int64) *BufferingHints { return s } -// Describes the CloudWatch logging options for your delivery stream. +// Describes the Amazon CloudWatch logging options for your delivery stream. // Please also see https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/CloudWatchLoggingOptions type CloudWatchLoggingOptions struct { _ struct{} `type:"structure"` @@ -897,12 +980,12 @@ type CopyCommand struct { // Optional parameters to use with the Amazon Redshift COPY command. For more // information, see the "Optional Parameters" section of Amazon Redshift COPY // command (http://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html). Some - // possible examples that would apply to Firehose are as follows: + // possible examples that would apply to Kinesis Firehose are as follows: // // delimiter '\t' lzop; - fields are delimited with "\t" (TAB character) and // compressed using lzop. // - // delimiter '| - fields are delimited with "|" (this is the default delimiter). + // delimiter '|' - fields are delimited with "|" (this is the default delimiter). // // delimiter '|' escape - the delimiter should be escaped. // @@ -974,18 +1057,30 @@ type CreateDeliveryStreamInput struct { _ struct{} `type:"structure"` // The name of the delivery stream. This name must be unique per AWS account - // in the same region. You can have multiple delivery streams with the same - // name if they are in different accounts or different regions. + // in the same region. If the delivery streams are in different accounts or + // different regions, you can have multiple delivery streams with the same name. // // DeliveryStreamName is a required field DeliveryStreamName *string `min:"1" type:"string" required:"true"` + // The delivery stream type. This parameter can be one of the following values: + // + // * DirectPut: Provider applications access the delivery stream directly. + // + // * KinesisStreamAsSource: The delivery stream uses a Kinesis stream as + // a source. + DeliveryStreamType *string `type:"string" enum:"DeliveryStreamType"` + // The destination in Amazon ES. You can specify only one destination. ElasticsearchDestinationConfiguration *ElasticsearchDestinationConfiguration `type:"structure"` // The destination in Amazon S3. You can specify only one destination. ExtendedS3DestinationConfiguration *ExtendedS3DestinationConfiguration `type:"structure"` + // When a Kinesis stream is used as the source for the delivery stream, a KinesisStreamSourceConfiguration + // containing the Kinesis stream ARN and the role ARN for the source stream. + KinesisStreamSourceConfiguration *KinesisStreamSourceConfiguration `type:"structure"` + // The destination in Amazon Redshift. You can specify only one destination. RedshiftDestinationConfiguration *RedshiftDestinationConfiguration `type:"structure"` @@ -1022,6 +1117,11 @@ func (s *CreateDeliveryStreamInput) Validate() error { invalidParams.AddNested("ExtendedS3DestinationConfiguration", err.(request.ErrInvalidParams)) } } + if s.KinesisStreamSourceConfiguration != nil { + if err := s.KinesisStreamSourceConfiguration.Validate(); err != nil { + invalidParams.AddNested("KinesisStreamSourceConfiguration", err.(request.ErrInvalidParams)) + } + } if s.RedshiftDestinationConfiguration != nil { if err := s.RedshiftDestinationConfiguration.Validate(); err != nil { invalidParams.AddNested("RedshiftDestinationConfiguration", err.(request.ErrInvalidParams)) @@ -1045,6 +1145,12 @@ func (s *CreateDeliveryStreamInput) SetDeliveryStreamName(v string) *CreateDeliv return s } +// SetDeliveryStreamType sets the DeliveryStreamType field's value. +func (s *CreateDeliveryStreamInput) SetDeliveryStreamType(v string) *CreateDeliveryStreamInput { + s.DeliveryStreamType = &v + return s +} + // SetElasticsearchDestinationConfiguration sets the ElasticsearchDestinationConfiguration field's value. func (s *CreateDeliveryStreamInput) SetElasticsearchDestinationConfiguration(v *ElasticsearchDestinationConfiguration) *CreateDeliveryStreamInput { s.ElasticsearchDestinationConfiguration = v @@ -1057,6 +1163,12 @@ func (s *CreateDeliveryStreamInput) SetExtendedS3DestinationConfiguration(v *Ext return s } +// SetKinesisStreamSourceConfiguration sets the KinesisStreamSourceConfiguration field's value. +func (s *CreateDeliveryStreamInput) SetKinesisStreamSourceConfiguration(v *KinesisStreamSourceConfiguration) *CreateDeliveryStreamInput { + s.KinesisStreamSourceConfiguration = v + return s +} + // SetRedshiftDestinationConfiguration sets the RedshiftDestinationConfiguration field's value. func (s *CreateDeliveryStreamInput) SetRedshiftDestinationConfiguration(v *RedshiftDestinationConfiguration) *CreateDeliveryStreamInput { s.RedshiftDestinationConfiguration = v @@ -1173,6 +1285,16 @@ type DeliveryStreamDescription struct { // DeliveryStreamStatus is a required field DeliveryStreamStatus *string `type:"string" required:"true" enum:"DeliveryStreamStatus"` + // The delivery stream type. This can be one of the following values: + // + // * DirectPut: Provider applications access the delivery stream directly. + // + // * KinesisStreamAsSource: The delivery stream uses a Kinesis stream as + // a source. + // + // DeliveryStreamType is a required field + DeliveryStreamType *string `type:"string" required:"true" enum:"DeliveryStreamType"` + // The destinations. // // Destinations is a required field @@ -1186,6 +1308,10 @@ type DeliveryStreamDescription struct { // The date and time that the delivery stream was last updated. LastUpdateTimestamp *time.Time `type:"timestamp" timestampFormat:"unix"` + // If the DeliveryStreamType parameter is KinesisStreamAsSource, a SourceDescription + // object describing the source Kinesis stream. + Source *SourceDescription `type:"structure"` + // Each time the destination is updated for a delivery stream, the version ID // is changed, and the current version ID is required when updating the destination. // This is so that the service knows it is applying the changes to the correct @@ -1229,6 +1355,12 @@ func (s *DeliveryStreamDescription) SetDeliveryStreamStatus(v string) *DeliveryS return s } +// SetDeliveryStreamType sets the DeliveryStreamType field's value. +func (s *DeliveryStreamDescription) SetDeliveryStreamType(v string) *DeliveryStreamDescription { + s.DeliveryStreamType = &v + return s +} + // SetDestinations sets the Destinations field's value. func (s *DeliveryStreamDescription) SetDestinations(v []*DestinationDescription) *DeliveryStreamDescription { s.Destinations = v @@ -1247,6 +1379,12 @@ func (s *DeliveryStreamDescription) SetLastUpdateTimestamp(v time.Time) *Deliver return s } +// SetSource sets the Source field's value. +func (s *DeliveryStreamDescription) SetSource(v *SourceDescription) *DeliveryStreamDescription { + s.Source = v + return s +} + // SetVersionId sets the VersionId field's value. func (s *DeliveryStreamDescription) SetVersionId(v string) *DeliveryStreamDescription { s.VersionId = &v @@ -1263,7 +1401,7 @@ type DescribeDeliveryStreamInput struct { DeliveryStreamName *string `min:"1" type:"string" required:"true"` // The ID of the destination to start returning the destination information. - // Currently Firehose supports one destination per delivery stream. + // Currently, Kinesis Firehose supports one destination per delivery stream. ExclusiveStartDestinationId *string `min:"1" type:"string"` // The limit on the number of destinations to return. Currently, you can have @@ -1491,8 +1629,8 @@ type ElasticsearchDestinationConfiguration struct { // IndexName is a required field IndexName *string `min:"1" type:"string" required:"true"` - // The Elasticsearch index rotation period. Index rotation appends a timestamp - // to the IndexName to facilitate expiration of old data. For more information, + // The Elasticsearch index rotation period. Index rotation appends a time stamp + // to the IndexName to facilitate the expiration of old data. For more information, // see Index Rotation for Amazon Elasticsearch Service Destination (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation). // The default value is OneDay. IndexRotationPeriod *string `type:"string" enum:"ElasticsearchIndexRotationPeriod"` @@ -1500,29 +1638,28 @@ type ElasticsearchDestinationConfiguration struct { // The data processing configuration. ProcessingConfiguration *ProcessingConfiguration `type:"structure"` - // The retry behavior in the event that Firehose is unable to deliver documents + // The retry behavior in case Kinesis Firehose is unable to deliver documents // to Amazon ES. The default value is 300 (5 minutes). RetryOptions *ElasticsearchRetryOptions `type:"structure"` - // The ARN of the IAM role to be assumed by Firehose for calling the Amazon - // ES Configuration API and for indexing documents. For more information, see - // Amazon S3 Bucket Access (http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3). + // The ARN of the IAM role to be assumed by Kinesis Firehose for calling the + // Amazon ES Configuration API and for indexing documents. For more information, + // see Amazon S3 Bucket Access (http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3). // // RoleARN is a required field RoleARN *string `min:"1" type:"string" required:"true"` // Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, - // Firehose writes any documents that could not be indexed to the configured + // Kinesis Firehose writes any documents that could not be indexed to the configured // Amazon S3 destination, with elasticsearch-failed/ appended to the key prefix. - // When set to AllDocuments, Firehose delivers all incoming records to Amazon - // S3, and also writes failed documents with elasticsearch-failed/ appended - // to the prefix. For more information, see Amazon S3 Backup for Amazon Elasticsearch - // Service Destination (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-s3-backup). + // When set to AllDocuments, Kinesis Firehose delivers all incoming records + // to Amazon S3, and also writes failed documents with elasticsearch-failed/ + // appended to the prefix. For more information, see Amazon S3 Backup for Amazon + // Elasticsearch Service Destination (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-s3-backup). // Default value is FailedDocumentsOnly. S3BackupMode *string `type:"string" enum:"ElasticsearchS3BackupMode"` - // The configuration for the intermediate Amazon S3 location from which Amazon - // ES obtains data. + // The configuration for the backup Amazon S3 location. // // S3Configuration is a required field S3Configuration *S3DestinationConfiguration `type:"structure" required:"true"` @@ -1796,7 +1933,7 @@ type ElasticsearchDestinationUpdate struct { // The Elasticsearch index name. IndexName *string `min:"1" type:"string"` - // The Elasticsearch index rotation period. Index rotation appends a timestamp + // The Elasticsearch index rotation period. Index rotation appends a time stamp // to IndexName to facilitate the expiration of old data. For more information, // see Index Rotation for Amazon Elasticsearch Service Destination (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation). // Default value is OneDay. @@ -1805,13 +1942,13 @@ type ElasticsearchDestinationUpdate struct { // The data processing configuration. ProcessingConfiguration *ProcessingConfiguration `type:"structure"` - // The retry behavior in the event that Firehose is unable to deliver documents - // to Amazon ES. Default value is 300 (5 minutes). + // The retry behavior in case Kinesis Firehose is unable to deliver documents + // to Amazon ES. The default value is 300 (5 minutes). RetryOptions *ElasticsearchRetryOptions `type:"structure"` - // The ARN of the IAM role to be assumed by Firehose for calling the Amazon - // ES Configuration API and for indexing documents. For more information, see - // Amazon S3 Bucket Access (http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3). + // The ARN of the IAM role to be assumed by Kinesis Firehose for calling the + // Amazon ES Configuration API and for indexing documents. For more information, + // see Amazon S3 Bucket Access (http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3). RoleARN *string `min:"1" type:"string"` // The Amazon S3 destination. @@ -1928,14 +2065,14 @@ func (s *ElasticsearchDestinationUpdate) SetTypeName(v string) *ElasticsearchDes return s } -// Configures retry behavior in the event that Firehose is unable to deliver -// documents to Amazon ES. +// Configures retry behavior in case Kinesis Firehose is unable to deliver documents +// to Amazon ES. // Please also see https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/ElasticsearchRetryOptions type ElasticsearchRetryOptions struct { _ struct{} `type:"structure"` // After an initial failure to deliver to Amazon ES, the total amount of time - // during which Firehose re-attempts delivery (including the first attempt). + // during which Kinesis Firehose re-attempts delivery (including the first attempt). // After this time has elapsed, the failed documents are written to Amazon S3. // Default value is 300 seconds (5 minutes). A value of 0 (zero) results in // no retries. @@ -1966,7 +2103,7 @@ type EncryptionConfiguration struct { // The encryption key. KMSEncryptionConfig *KMSEncryptionConfig `type:"structure"` - // Specifically override existing encryption information to ensure no encryption + // Specifically override existing encryption information to ensure that no encryption // is used. NoEncryptionConfig *string `type:"string" enum:"NoEncryptionConfig"` } @@ -2033,9 +2170,8 @@ type ExtendedS3DestinationConfiguration struct { // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered // S3 files. You can specify an extra prefix to be added in front of the time - // format prefix. Note that if the prefix ends with a slash, it appears as a - // folder in the S3 bucket. For more information, see Amazon S3 Object Name - // Format (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html) + // format prefix. If the prefix ends with a slash, it appears as a folder in + // the S3 bucket. For more information, see Amazon S3 Object Name Format (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html) // in the Amazon Kinesis Firehose Developer Guide. Prefix *string `type:"string"` @@ -2197,9 +2333,8 @@ type ExtendedS3DestinationDescription struct { // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered // S3 files. You can specify an extra prefix to be added in front of the time - // format prefix. Note that if the prefix ends with a slash, it appears as a - // folder in the S3 bucket. For more information, see Amazon S3 Object Name - // Format (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html) + // format prefix. If the prefix ends with a slash, it appears as a folder in + // the S3 bucket. For more information, see Amazon S3 Object Name Format (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html) // in the Amazon Kinesis Firehose Developer Guide. Prefix *string `type:"string"` @@ -2311,9 +2446,8 @@ type ExtendedS3DestinationUpdate struct { // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered // S3 files. You can specify an extra prefix to be added in front of the time - // format prefix. Note that if the prefix ends with a slash, it appears as a - // folder in the S3 bucket. For more information, see Amazon S3 Object Name - // Format (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html) + // format prefix. If the prefix ends with a slash, it appears as a folder in + // the S3 bucket. For more information, see Amazon S3 Object Name Format (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html) // in the Amazon Kinesis Firehose Developer Guide. Prefix *string `type:"string"` @@ -2436,6 +2570,77 @@ func (s *ExtendedS3DestinationUpdate) SetS3BackupUpdate(v *S3DestinationUpdate) return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/GetKinesisStreamInput +type GetKinesisStreamInput struct { + _ struct{} `type:"structure"` + + // DeliveryStreamARN is a required field + DeliveryStreamARN *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetKinesisStreamInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetKinesisStreamInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetKinesisStreamInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetKinesisStreamInput"} + if s.DeliveryStreamARN == nil { + invalidParams.Add(request.NewErrParamRequired("DeliveryStreamARN")) + } + if s.DeliveryStreamARN != nil && len(*s.DeliveryStreamARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DeliveryStreamARN", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDeliveryStreamARN sets the DeliveryStreamARN field's value. +func (s *GetKinesisStreamInput) SetDeliveryStreamARN(v string) *GetKinesisStreamInput { + s.DeliveryStreamARN = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/GetKinesisStreamOutput +type GetKinesisStreamOutput struct { + _ struct{} `type:"structure"` + + CredentialsForReadingKinesisStream *SessionCredentials `type:"structure"` + + KinesisStreamARN *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s GetKinesisStreamOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetKinesisStreamOutput) GoString() string { + return s.String() +} + +// SetCredentialsForReadingKinesisStream sets the CredentialsForReadingKinesisStream field's value. +func (s *GetKinesisStreamOutput) SetCredentialsForReadingKinesisStream(v *SessionCredentials) *GetKinesisStreamOutput { + s.CredentialsForReadingKinesisStream = v + return s +} + +// SetKinesisStreamARN sets the KinesisStreamARN field's value. +func (s *GetKinesisStreamOutput) SetKinesisStreamARN(v string) *GetKinesisStreamOutput { + s.KinesisStreamARN = &v + return s +} + // Describes an encryption key for a destination in Amazon S3. // Please also see https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/KMSEncryptionConfig type KMSEncryptionConfig struct { @@ -2480,10 +2685,127 @@ func (s *KMSEncryptionConfig) SetAWSKMSKeyARN(v string) *KMSEncryptionConfig { return s } +// The stream and role ARNs for a Kinesis stream used as the source for a delivery +// stream. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/KinesisStreamSourceConfiguration +type KinesisStreamSourceConfiguration struct { + _ struct{} `type:"structure"` + + // The ARN of the source Kinesis stream. + // + // KinesisStreamARN is a required field + KinesisStreamARN *string `min:"1" type:"string" required:"true"` + + // The ARN of the role that provides access to the source Kinesis stream. + // + // RoleARN is a required field + RoleARN *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s KinesisStreamSourceConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KinesisStreamSourceConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KinesisStreamSourceConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KinesisStreamSourceConfiguration"} + if s.KinesisStreamARN == nil { + invalidParams.Add(request.NewErrParamRequired("KinesisStreamARN")) + } + if s.KinesisStreamARN != nil && len(*s.KinesisStreamARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KinesisStreamARN", 1)) + } + if s.RoleARN == nil { + invalidParams.Add(request.NewErrParamRequired("RoleARN")) + } + if s.RoleARN != nil && len(*s.RoleARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKinesisStreamARN sets the KinesisStreamARN field's value. +func (s *KinesisStreamSourceConfiguration) SetKinesisStreamARN(v string) *KinesisStreamSourceConfiguration { + s.KinesisStreamARN = &v + return s +} + +// SetRoleARN sets the RoleARN field's value. +func (s *KinesisStreamSourceConfiguration) SetRoleARN(v string) *KinesisStreamSourceConfiguration { + s.RoleARN = &v + return s +} + +// Details about a Kinesis stream used as the source for a Kinesis Firehose +// delivery stream. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/KinesisStreamSourceDescription +type KinesisStreamSourceDescription struct { + _ struct{} `type:"structure"` + + // Kinesis Firehose starts retrieving records from the Kinesis stream starting + // with this time stamp. + DeliveryStartTimestamp *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The ARN of the source Kinesis stream. + KinesisStreamARN *string `min:"1" type:"string"` + + // The ARN of the role used by the source Kinesis stream. + RoleARN *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s KinesisStreamSourceDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KinesisStreamSourceDescription) GoString() string { + return s.String() +} + +// SetDeliveryStartTimestamp sets the DeliveryStartTimestamp field's value. +func (s *KinesisStreamSourceDescription) SetDeliveryStartTimestamp(v time.Time) *KinesisStreamSourceDescription { + s.DeliveryStartTimestamp = &v + return s +} + +// SetKinesisStreamARN sets the KinesisStreamARN field's value. +func (s *KinesisStreamSourceDescription) SetKinesisStreamARN(v string) *KinesisStreamSourceDescription { + s.KinesisStreamARN = &v + return s +} + +// SetRoleARN sets the RoleARN field's value. +func (s *KinesisStreamSourceDescription) SetRoleARN(v string) *KinesisStreamSourceDescription { + s.RoleARN = &v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/ListDeliveryStreamsInput type ListDeliveryStreamsInput struct { _ struct{} `type:"structure"` + // The delivery stream type. This can be one of the following values: + // + // * DirectPut: Provider applications access the delivery stream directly. + // + // * KinesisStreamAsSource: The delivery stream uses a Kinesis stream as + // a source. + // + // This parameter is optional. If this parameter is omitted, delivery streams + // of all types are returned. + DeliveryStreamType *string `type:"string" enum:"DeliveryStreamType"` + // The name of the delivery stream to start the list with. ExclusiveStartDeliveryStreamName *string `min:"1" type:"string"` @@ -2517,6 +2839,12 @@ func (s *ListDeliveryStreamsInput) Validate() error { return nil } +// SetDeliveryStreamType sets the DeliveryStreamType field's value. +func (s *ListDeliveryStreamsInput) SetDeliveryStreamType(v string) *ListDeliveryStreamsInput { + s.DeliveryStreamType = &v + return s +} + // SetExclusiveStartDeliveryStreamName sets the ExclusiveStartDeliveryStreamName field's value. func (s *ListDeliveryStreamsInput) SetExclusiveStartDeliveryStreamName(v string) *ListDeliveryStreamsInput { s.ExclusiveStartDeliveryStreamName = &v @@ -3045,7 +3373,7 @@ type RedshiftDestinationConfiguration struct { // The data processing configuration. ProcessingConfiguration *ProcessingConfiguration `type:"structure"` - // The retry behavior in the event that Firehose is unable to deliver documents + // The retry behavior in case Kinesis Firehose is unable to deliver documents // to Amazon Redshift. Default value is 3600 (60 minutes). RetryOptions *RedshiftRetryOptions `type:"structure"` @@ -3233,7 +3561,7 @@ type RedshiftDestinationDescription struct { // The data processing configuration. ProcessingConfiguration *ProcessingConfiguration `type:"structure"` - // The retry behavior in the event that Firehose is unable to deliver documents + // The retry behavior in case Kinesis Firehose is unable to deliver documents // to Amazon Redshift. Default value is 3600 (60 minutes). RetryOptions *RedshiftRetryOptions `type:"structure"` @@ -3349,7 +3677,7 @@ type RedshiftDestinationUpdate struct { // The data processing configuration. ProcessingConfiguration *ProcessingConfiguration `type:"structure"` - // The retry behavior in the event that Firehose is unable to deliver documents + // The retry behavior in case Kinesis Firehose is unable to deliver documents // to Amazon Redshift. Default value is 3600 (60 minutes). RetryOptions *RedshiftRetryOptions `type:"structure"` @@ -3491,17 +3819,17 @@ func (s *RedshiftDestinationUpdate) SetUsername(v string) *RedshiftDestinationUp return s } -// Configures retry behavior in the event that Firehose is unable to deliver -// documents to Amazon Redshift. +// Configures retry behavior in case Kinesis Firehose is unable to deliver documents +// to Amazon Redshift. // Please also see https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/RedshiftRetryOptions type RedshiftRetryOptions struct { _ struct{} `type:"structure"` - // The length of time during which Firehose retries delivery after a failure, - // starting from the initial request and including the first attempt. The default - // value is 3600 seconds (60 minutes). Firehose does not retry if the value - // of DurationInSeconds is 0 (zero) or if the first delivery attempt takes longer - // than the current value. + // The length of time during which Kinesis Firehose retries delivery after a + // failure, starting from the initial request and including the first attempt. + // The default value is 3600 seconds (60 minutes). Kinesis Firehose does not + // retry if the value of DurationInSeconds is 0 (zero) or if the first delivery + // attempt takes longer than the current value. DurationInSeconds *int64 `type:"integer"` } @@ -3551,9 +3879,8 @@ type S3DestinationConfiguration struct { // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered // S3 files. You can specify an extra prefix to be added in front of the time - // format prefix. Note that if the prefix ends with a slash, it appears as a - // folder in the S3 bucket. For more information, see Amazon S3 Object Name - // Format (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html) + // format prefix. If the prefix ends with a slash, it appears as a folder in + // the S3 bucket. For more information, see Amazon S3 Object Name Format (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html) // in the Amazon Kinesis Firehose Developer Guide. Prefix *string `type:"string"` @@ -3679,9 +4006,8 @@ type S3DestinationDescription struct { // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered // S3 files. You can specify an extra prefix to be added in front of the time - // format prefix. Note that if the prefix ends with a slash, it appears as a - // folder in the S3 bucket. For more information, see Amazon S3 Object Name - // Format (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html) + // format prefix. If the prefix ends with a slash, it appears as a folder in + // the S3 bucket. For more information, see Amazon S3 Object Name Format (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html) // in the Amazon Kinesis Firehose Developer Guide. Prefix *string `type:"string"` @@ -3771,9 +4097,8 @@ type S3DestinationUpdate struct { // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered // S3 files. You can specify an extra prefix to be added in front of the time - // format prefix. Note that if the prefix ends with a slash, it appears as a - // folder in the S3 bucket. For more information, see Amazon S3 Object Name - // Format (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html) + // format prefix. If the prefix ends with a slash, it appears as a folder in + // the S3 bucket. For more information, see Amazon S3 Object Name Format (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html) // in the Amazon Kinesis Firehose Developer Guide. Prefix *string `type:"string"` @@ -3859,13 +4184,90 @@ func (s *S3DestinationUpdate) SetRoleARN(v string) *S3DestinationUpdate { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/SessionCredentials +type SessionCredentials struct { + _ struct{} `type:"structure"` + + // AccessKeyId is a required field + AccessKeyId *string `type:"string" required:"true"` + + // Expiration is a required field + Expiration *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"` + + // SecretAccessKey is a required field + SecretAccessKey *string `type:"string" required:"true"` + + // SessionToken is a required field + SessionToken *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s SessionCredentials) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SessionCredentials) GoString() string { + return s.String() +} + +// SetAccessKeyId sets the AccessKeyId field's value. +func (s *SessionCredentials) SetAccessKeyId(v string) *SessionCredentials { + s.AccessKeyId = &v + return s +} + +// SetExpiration sets the Expiration field's value. +func (s *SessionCredentials) SetExpiration(v time.Time) *SessionCredentials { + s.Expiration = &v + return s +} + +// SetSecretAccessKey sets the SecretAccessKey field's value. +func (s *SessionCredentials) SetSecretAccessKey(v string) *SessionCredentials { + s.SecretAccessKey = &v + return s +} + +// SetSessionToken sets the SessionToken field's value. +func (s *SessionCredentials) SetSessionToken(v string) *SessionCredentials { + s.SessionToken = &v + return s +} + +// Details about a Kinesis stream used as the source for a Kinesis Firehose +// delivery stream. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/SourceDescription +type SourceDescription struct { + _ struct{} `type:"structure"` + + // The KinesisStreamSourceDescription value for the source Kinesis stream. + KinesisStreamSourceDescription *KinesisStreamSourceDescription `type:"structure"` +} + +// String returns the string representation +func (s SourceDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SourceDescription) GoString() string { + return s.String() +} + +// SetKinesisStreamSourceDescription sets the KinesisStreamSourceDescription field's value. +func (s *SourceDescription) SetKinesisStreamSourceDescription(v *KinesisStreamSourceDescription) *SourceDescription { + s.KinesisStreamSourceDescription = v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/UpdateDestinationInput type UpdateDestinationInput struct { _ struct{} `type:"structure"` // Obtain this value from the VersionId result of DeliveryStreamDescription. // This value is required, and helps the service to perform conditional operations. - // For example, if there is a interleaving update and this value is null, then + // For example, if there is an interleaving update and this value is null, then // the update destination fails. After the update is successful, the VersionId // value is updated. The service then performs a merge of the old configuration // with the new configuration. @@ -4036,6 +4438,14 @@ const ( DeliveryStreamStatusActive = "ACTIVE" ) +const ( + // DeliveryStreamTypeDirectPut is a DeliveryStreamType enum value + DeliveryStreamTypeDirectPut = "DirectPut" + + // DeliveryStreamTypeKinesisStreamAsSource is a DeliveryStreamType enum value + DeliveryStreamTypeKinesisStreamAsSource = "KinesisStreamAsSource" +) + const ( // ElasticsearchIndexRotationPeriodNoRotation is a ElasticsearchIndexRotationPeriod enum value ElasticsearchIndexRotationPeriodNoRotation = "NoRotation" diff --git a/vendor/github.com/aws/aws-sdk-go/service/firehose/doc.go b/vendor/github.com/aws/aws-sdk-go/service/firehose/doc.go index 96f708afb..6a6d27b8b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/firehose/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/firehose/doc.go @@ -3,7 +3,7 @@ // Package firehose provides the client and types for making API // requests to Amazon Kinesis Firehose. // -// Amazon Kinesis Firehose is a fully-managed service that delivers real-time +// Amazon Kinesis Firehose is a fully managed service that delivers real-time // streaming data to destinations such as Amazon Simple Storage Service (Amazon // S3), Amazon Elasticsearch Service (Amazon ES), and Amazon Redshift. // @@ -14,69 +14,17 @@ // // Using the Client // -// To use the client for Amazon Kinesis Firehose you will first need -// to create a new instance of it. +// To Amazon Kinesis Firehose with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := firehose.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Kinesis Firehose client Firehose for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CreateDeliveryStream(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CreateDeliveryStream result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CreateDeliveryStreamWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package firehose diff --git a/vendor/github.com/aws/aws-sdk-go/service/firehose/errors.go b/vendor/github.com/aws/aws-sdk-go/service/firehose/errors.go index 82bdcca24..741244318 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/firehose/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/firehose/errors.go @@ -14,9 +14,13 @@ const ( // ErrCodeInvalidArgumentException for service response error code // "InvalidArgumentException". // - // The specified input parameter has an value that is not valid. + // The specified input parameter has a value that is not valid. ErrCodeInvalidArgumentException = "InvalidArgumentException" + // ErrCodeInvalidStreamTypeException for service response error code + // "InvalidStreamTypeException". + ErrCodeInvalidStreamTypeException = "InvalidStreamTypeException" + // ErrCodeLimitExceededException for service response error code // "LimitExceededException". // diff --git a/vendor/github.com/aws/aws-sdk-go/service/firehose/firehoseiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/firehose/firehoseiface/interface.go index c049555a0..063823ba3 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/firehose/firehoseiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/firehose/firehoseiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Kinesis Firehose. @@ -72,6 +72,10 @@ type FirehoseAPI interface { DescribeDeliveryStreamWithContext(aws.Context, *firehose.DescribeDeliveryStreamInput, ...request.Option) (*firehose.DescribeDeliveryStreamOutput, error) DescribeDeliveryStreamRequest(*firehose.DescribeDeliveryStreamInput) (*request.Request, *firehose.DescribeDeliveryStreamOutput) + GetKinesisStream(*firehose.GetKinesisStreamInput) (*firehose.GetKinesisStreamOutput, error) + GetKinesisStreamWithContext(aws.Context, *firehose.GetKinesisStreamInput, ...request.Option) (*firehose.GetKinesisStreamOutput, error) + GetKinesisStreamRequest(*firehose.GetKinesisStreamInput) (*request.Request, *firehose.GetKinesisStreamOutput) + ListDeliveryStreams(*firehose.ListDeliveryStreamsInput) (*firehose.ListDeliveryStreamsOutput, error) ListDeliveryStreamsWithContext(aws.Context, *firehose.ListDeliveryStreamsInput, ...request.Option) (*firehose.ListDeliveryStreamsOutput, error) ListDeliveryStreamsRequest(*firehose.ListDeliveryStreamsInput) (*request.Request, *firehose.ListDeliveryStreamsOutput) diff --git a/vendor/github.com/aws/aws-sdk-go/service/gamelift/api.go b/vendor/github.com/aws/aws-sdk-go/service/gamelift/api.go index a81029207..5c0157197 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/gamelift/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/gamelift/api.go @@ -13,23 +13,145 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" ) +const opAcceptMatch = "AcceptMatch" + +// AcceptMatchRequest generates a "aws/request.Request" representing the +// client's request for the AcceptMatch operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AcceptMatch for more information on using the AcceptMatch +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the AcceptMatchRequest method. +// req, resp := client.AcceptMatchRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/AcceptMatch +func (c *GameLift) AcceptMatchRequest(input *AcceptMatchInput) (req *request.Request, output *AcceptMatchOutput) { + op := &request.Operation{ + Name: opAcceptMatch, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AcceptMatchInput{} + } + + output = &AcceptMatchOutput{} + req = c.newRequest(op, input, output) + return +} + +// AcceptMatch API operation for Amazon GameLift. +// +// Registers a player's acceptance or rejection of a proposed FlexMatch match. +// A matchmaking configuration may require player acceptance; if so, then matches +// built with that configuration cannot be completed unless all players accept +// the proposed match within a specified time limit. +// +// When FlexMatch builds a match, all the matchmaking tickets involved in the +// proposed match are placed into status REQUIRES_ACCEPTANCE. This is a trigger +// for your game to get acceptance from all players in the ticket. Acceptances +// are only valid for tickets when they are in this status; all other acceptances +// result in an error. +// +// To register acceptance, specify the ticket ID, a response, and one or more +// players. Once all players have registered acceptance, the matchmaking tickets +// advance to status PLACING, where a new game session is created for the match. +// +// If any player rejects the match, or if acceptances are not received before +// a specified timeout, the proposed match is dropped. The matchmaking tickets +// are then handled in one of two ways: For tickets where all players accepted +// the match, the ticket status is returned to SEARCHING to find a new match. +// For tickets where one or more players failed to accept the match, the ticket +// status is set to FAILED, and processing is terminated. A new matchmaking +// request for these players can be submitted as needed. +// +// Matchmaking-related operations include: +// +// * StartMatchmaking +// +// * DescribeMatchmaking +// +// * StopMatchmaking +// +// * AcceptMatch +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation AcceptMatch for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnsupportedRegionException "UnsupportedRegionException" +// The requested operation is not supported in the region specified. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/AcceptMatch +func (c *GameLift) AcceptMatch(input *AcceptMatchInput) (*AcceptMatchOutput, error) { + req, out := c.AcceptMatchRequest(input) + return out, req.Send() +} + +// AcceptMatchWithContext is the same as AcceptMatch with the addition of +// the ability to pass a context and additional request options. +// +// See AcceptMatch for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) AcceptMatchWithContext(ctx aws.Context, input *AcceptMatchInput, opts ...request.Option) (*AcceptMatchOutput, error) { + req, out := c.AcceptMatchRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateAlias = "CreateAlias" // CreateAliasRequest generates a "aws/request.Request" representing the // client's request for the CreateAlias operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateAlias for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateAlias method directly -// instead. +// See CreateAlias for more information on using the CreateAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateAliasRequest method. // req, resp := client.CreateAliasRequest(params) @@ -147,19 +269,18 @@ const opCreateBuild = "CreateBuild" // CreateBuildRequest generates a "aws/request.Request" representing the // client's request for the CreateBuild operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateBuild for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateBuild method directly -// instead. +// See CreateBuild for more information on using the CreateBuild +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateBuildRequest method. // req, resp := client.CreateBuildRequest(params) @@ -270,19 +391,18 @@ const opCreateFleet = "CreateFleet" // CreateFleetRequest generates a "aws/request.Request" representing the // client's request for the CreateFleet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateFleet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateFleet method directly -// instead. +// See CreateFleet for more information on using the CreateFleet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateFleetRequest method. // req, resp := client.CreateFleetRequest(params) @@ -331,7 +451,7 @@ func (c *GameLift) CreateFleetRequest(input *CreateFleetInput) (req *request.Req // // * Access permissions for inbound traffic // -// * Fleetwide game session protection +// * Fleet-wide game session protection // // * Resource creation limit // @@ -340,6 +460,9 @@ func (c *GameLift) CreateFleetRequest(input *CreateFleetInput) (req *request.Req // Once you specify a metric group, the new fleet's metrics are included in // the metric group's data. // +// You have the option of creating a VPC peering connection with the new fleet. +// For more information, see VPC Peering with Amazon GameLift Fleets (http://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html). +// // If the CreateFleet call is successful, Amazon GameLift performs the following // tasks: // @@ -462,19 +585,18 @@ const opCreateGameSession = "CreateGameSession" // CreateGameSessionRequest generates a "aws/request.Request" representing the // client's request for the CreateGameSession operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateGameSession for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateGameSession method directly -// instead. +// See CreateGameSession for more information on using the CreateGameSession +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateGameSessionRequest method. // req, resp := client.CreateGameSessionRequest(params) @@ -511,8 +633,8 @@ func (c *GameLift) CreateGameSessionRequest(input *CreateGameSessionInput) (req // To create a game session, specify either fleet ID or alias ID and indicate // a maximum number of players to allow in the game session. You can also provide // a name and game-specific properties for this game session. If successful, -// a GameSession object is returned containing game session properties, including -// a game session ID with the custom string you provided. +// a GameSession object is returned containing the game session properties and +// other settings you specified. // // Idempotency tokens. You can add a token that uniquely identifies game session // requests. This is useful for ensuring that game session requests are idempotent. @@ -525,9 +647,13 @@ func (c *GameLift) CreateGameSessionRequest(input *CreateGameSessionInput) (req // ID. Without this ID, Amazon GameLift has no way to evaluate the policy for // this new game session request. // -// By default, newly created game sessions allow new players to join. Use UpdateGameSession +// Player acceptance policy. By default, newly created game sessions are open +// to new players. You can restrict new player access by using UpdateGameSession // to change the game session's player session creation policy. // +// Game session logs. Logs are retained for all active game sessions for 14 +// days. To access the logs, call GetGameSessionLogUrl to download the log files. +// // Available in Amazon GameLift Local. // // Game-session-related operations include: @@ -631,19 +757,18 @@ const opCreateGameSessionQueue = "CreateGameSessionQueue" // CreateGameSessionQueueRequest generates a "aws/request.Request" representing the // client's request for the CreateGameSessionQueue operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateGameSessionQueue for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateGameSessionQueue method directly -// instead. +// See CreateGameSessionQueue for more information on using the CreateGameSessionQueue +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateGameSessionQueueRequest method. // req, resp := client.CreateGameSessionQueueRequest(params) @@ -759,23 +884,285 @@ func (c *GameLift) CreateGameSessionQueueWithContext(ctx aws.Context, input *Cre return out, req.Send() } +const opCreateMatchmakingConfiguration = "CreateMatchmakingConfiguration" + +// CreateMatchmakingConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the CreateMatchmakingConfiguration operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateMatchmakingConfiguration for more information on using the CreateMatchmakingConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateMatchmakingConfigurationRequest method. +// req, resp := client.CreateMatchmakingConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingConfiguration +func (c *GameLift) CreateMatchmakingConfigurationRequest(input *CreateMatchmakingConfigurationInput) (req *request.Request, output *CreateMatchmakingConfigurationOutput) { + op := &request.Operation{ + Name: opCreateMatchmakingConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateMatchmakingConfigurationInput{} + } + + output = &CreateMatchmakingConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateMatchmakingConfiguration API operation for Amazon GameLift. +// +// Defines a new matchmaking configuration for use with FlexMatch. A matchmaking +// configuration sets out guidelines for matching players and getting the matches +// into games. You can set up multiple matchmaking configurations to handle +// the scenarios needed for your game. Each matchmaking request (StartMatchmaking) +// specifies a configuration for the match and provides player attributes to +// support the configuration being used. +// +// To create a matchmaking configuration, at a minimum you must specify the +// following: configuration name; a rule set that governs how to evaluate players +// and find acceptable matches; a game session queue to use when placing a new +// game session for the match; and the maximum time allowed for a matchmaking +// attempt. +// +// Player acceptance -- In each configuration, you have the option to require +// that all players accept participation in a proposed match. To enable this +// feature, set AcceptanceRequired to true and specify a time limit for player +// acceptance. Players have the option to accept or reject a proposed match, +// and a match does not move ahead to game session placement unless all matched +// players accept. +// +// Matchmaking status notification -- There are two ways to track the progress +// of matchmaking tickets: (1) polling ticket status with DescribeMatchmaking; +// or (2) receiving notifications with Amazon Simple Notification Service (SNS). +// To use notifications, you first need to set up an SNS topic to receive the +// notifications, and provide the topic ARN in the matchmaking configuration +// (see Setting up Notifications for Matchmaking (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-notification.html)). +// Since notifications promise only "best effort" delivery, we recommend calling +// DescribeMatchmaking if no notifications are received within 30 seconds. +// +// Operations related to match configurations and rule sets include: +// +// * CreateMatchmakingConfiguration +// +// * DescribeMatchmakingConfigurations +// +// * UpdateMatchmakingConfiguration +// +// * DeleteMatchmakingConfiguration +// +// * CreateMatchmakingRuleSet +// +// * DescribeMatchmakingRuleSets +// +// * ValidateMatchmakingRuleSet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation CreateMatchmakingConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The requested operation would cause the resource to exceed the allowed service +// limit. Resolve the issue before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnsupportedRegionException "UnsupportedRegionException" +// The requested operation is not supported in the region specified. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingConfiguration +func (c *GameLift) CreateMatchmakingConfiguration(input *CreateMatchmakingConfigurationInput) (*CreateMatchmakingConfigurationOutput, error) { + req, out := c.CreateMatchmakingConfigurationRequest(input) + return out, req.Send() +} + +// CreateMatchmakingConfigurationWithContext is the same as CreateMatchmakingConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See CreateMatchmakingConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) CreateMatchmakingConfigurationWithContext(ctx aws.Context, input *CreateMatchmakingConfigurationInput, opts ...request.Option) (*CreateMatchmakingConfigurationOutput, error) { + req, out := c.CreateMatchmakingConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateMatchmakingRuleSet = "CreateMatchmakingRuleSet" + +// CreateMatchmakingRuleSetRequest generates a "aws/request.Request" representing the +// client's request for the CreateMatchmakingRuleSet operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateMatchmakingRuleSet for more information on using the CreateMatchmakingRuleSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateMatchmakingRuleSetRequest method. +// req, resp := client.CreateMatchmakingRuleSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingRuleSet +func (c *GameLift) CreateMatchmakingRuleSetRequest(input *CreateMatchmakingRuleSetInput) (req *request.Request, output *CreateMatchmakingRuleSetOutput) { + op := &request.Operation{ + Name: opCreateMatchmakingRuleSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateMatchmakingRuleSetInput{} + } + + output = &CreateMatchmakingRuleSetOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateMatchmakingRuleSet API operation for Amazon GameLift. +// +// Creates a new rule set for FlexMatch matchmaking. A rule set describes the +// type of match to create, such as the number and size of teams, and sets the +// parameters for acceptable player matches, such as minimum skill level or +// character type. Rule sets are used in matchmaking configurations, which define +// how matchmaking requests are handled. Each MatchmakingConfiguration uses +// one rule set; you can set up multiple rule sets to handle the scenarios that +// suit your game (such as for different game modes), and create a separate +// matchmaking configuration for each rule set. See additional information on +// rule set content in the MatchmakingRuleSet structure. For help creating rule +// sets, including useful examples, see the topic Adding FlexMatch to Your +// Game (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-intro.html). +// +// Once created, matchmaking rule sets cannot be changed or deleted, so we recommend +// checking the rule set syntax using ValidateMatchmakingRuleSetbefore creating +// the rule set. +// +// To create a matchmaking rule set, provide the set of rules and a unique name. +// Rule sets must be defined in the same region as the matchmaking configuration +// they will be used with. Rule sets cannot be edited or deleted. If you need +// to change a rule set, create a new one with the necessary edits and then +// update matchmaking configurations to use the new rule set. +// +// Operations related to match configurations and rule sets include: +// +// * CreateMatchmakingConfiguration +// +// * DescribeMatchmakingConfigurations +// +// * UpdateMatchmakingConfiguration +// +// * DeleteMatchmakingConfiguration +// +// * CreateMatchmakingRuleSet +// +// * DescribeMatchmakingRuleSets +// +// * ValidateMatchmakingRuleSet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation CreateMatchmakingRuleSet for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnsupportedRegionException "UnsupportedRegionException" +// The requested operation is not supported in the region specified. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingRuleSet +func (c *GameLift) CreateMatchmakingRuleSet(input *CreateMatchmakingRuleSetInput) (*CreateMatchmakingRuleSetOutput, error) { + req, out := c.CreateMatchmakingRuleSetRequest(input) + return out, req.Send() +} + +// CreateMatchmakingRuleSetWithContext is the same as CreateMatchmakingRuleSet with the addition of +// the ability to pass a context and additional request options. +// +// See CreateMatchmakingRuleSet for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) CreateMatchmakingRuleSetWithContext(ctx aws.Context, input *CreateMatchmakingRuleSetInput, opts ...request.Option) (*CreateMatchmakingRuleSetOutput, error) { + req, out := c.CreateMatchmakingRuleSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreatePlayerSession = "CreatePlayerSession" // CreatePlayerSessionRequest generates a "aws/request.Request" representing the // client's request for the CreatePlayerSession operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreatePlayerSession for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreatePlayerSession method directly -// instead. +// See CreatePlayerSession for more information on using the CreatePlayerSession +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreatePlayerSessionRequest method. // req, resp := client.CreatePlayerSessionRequest(params) @@ -897,19 +1284,18 @@ const opCreatePlayerSessions = "CreatePlayerSessions" // CreatePlayerSessionsRequest generates a "aws/request.Request" representing the // client's request for the CreatePlayerSessions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreatePlayerSessions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreatePlayerSessions method directly -// instead. +// See CreatePlayerSessions for more information on using the CreatePlayerSessions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreatePlayerSessionsRequest method. // req, resp := client.CreatePlayerSessionsRequest(params) @@ -1028,23 +1414,283 @@ func (c *GameLift) CreatePlayerSessionsWithContext(ctx aws.Context, input *Creat return out, req.Send() } +const opCreateVpcPeeringAuthorization = "CreateVpcPeeringAuthorization" + +// CreateVpcPeeringAuthorizationRequest generates a "aws/request.Request" representing the +// client's request for the CreateVpcPeeringAuthorization operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateVpcPeeringAuthorization for more information on using the CreateVpcPeeringAuthorization +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateVpcPeeringAuthorizationRequest method. +// req, resp := client.CreateVpcPeeringAuthorizationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringAuthorization +func (c *GameLift) CreateVpcPeeringAuthorizationRequest(input *CreateVpcPeeringAuthorizationInput) (req *request.Request, output *CreateVpcPeeringAuthorizationOutput) { + op := &request.Operation{ + Name: opCreateVpcPeeringAuthorization, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateVpcPeeringAuthorizationInput{} + } + + output = &CreateVpcPeeringAuthorizationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateVpcPeeringAuthorization API operation for Amazon GameLift. +// +// Requests authorization to create or delete a peer connection between the +// VPC for your Amazon GameLift fleet and a virtual private cloud (VPC) in your +// AWS account. VPC peering enables the game servers on your fleet to communicate +// directly with other AWS resources. Once you've received authorization, call +// CreateVpcPeeringConnection to establish the peering connection. For more +// information, see VPC Peering with Amazon GameLift Fleets (http://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html). +// +// You can peer with VPCs that are owned by any AWS account you have access +// to, including the account that you use to manage your Amazon GameLift fleets. +// You cannot peer with VPCs that are in different regions. +// +// To request authorization to create a connection, call this operation from +// the AWS account with the VPC that you want to peer to your Amazon GameLift +// fleet. For example, to enable your game servers to retrieve data from a DynamoDB +// table, use the account that manages that DynamoDB resource. Identify the +// following values: (1) The ID of the VPC that you want to peer with, and (2) +// the ID of the AWS account that you use to manage Amazon GameLift. If successful, +// VPC peering is authorized for the specified VPC. +// +// To request authorization to delete a connection, call this operation from +// the AWS account with the VPC that is peered with your Amazon GameLift fleet. +// Identify the following values: (1) VPC ID that you want to delete the peering +// connection for, and (2) ID of the AWS account that you use to manage Amazon +// GameLift. +// +// The authorization remains valid for 24 hours unless it is canceled by a call +// to DeleteVpcPeeringAuthorization. You must create or delete the peering connection +// while the authorization is valid. +// +// VPC peering connection operations include: +// +// * CreateVpcPeeringAuthorization +// +// * DescribeVpcPeeringAuthorizations +// +// * DeleteVpcPeeringAuthorization +// +// * CreateVpcPeeringConnection +// +// * DescribeVpcPeeringConnections +// +// * DeleteVpcPeeringConnection +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation CreateVpcPeeringAuthorization for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringAuthorization +func (c *GameLift) CreateVpcPeeringAuthorization(input *CreateVpcPeeringAuthorizationInput) (*CreateVpcPeeringAuthorizationOutput, error) { + req, out := c.CreateVpcPeeringAuthorizationRequest(input) + return out, req.Send() +} + +// CreateVpcPeeringAuthorizationWithContext is the same as CreateVpcPeeringAuthorization with the addition of +// the ability to pass a context and additional request options. +// +// See CreateVpcPeeringAuthorization for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) CreateVpcPeeringAuthorizationWithContext(ctx aws.Context, input *CreateVpcPeeringAuthorizationInput, opts ...request.Option) (*CreateVpcPeeringAuthorizationOutput, error) { + req, out := c.CreateVpcPeeringAuthorizationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateVpcPeeringConnection = "CreateVpcPeeringConnection" + +// CreateVpcPeeringConnectionRequest generates a "aws/request.Request" representing the +// client's request for the CreateVpcPeeringConnection operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateVpcPeeringConnection for more information on using the CreateVpcPeeringConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateVpcPeeringConnectionRequest method. +// req, resp := client.CreateVpcPeeringConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringConnection +func (c *GameLift) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectionInput) (req *request.Request, output *CreateVpcPeeringConnectionOutput) { + op := &request.Operation{ + Name: opCreateVpcPeeringConnection, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateVpcPeeringConnectionInput{} + } + + output = &CreateVpcPeeringConnectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateVpcPeeringConnection API operation for Amazon GameLift. +// +// Establishes a VPC peering connection between a virtual private cloud (VPC) +// in an AWS account with the VPC for your Amazon GameLift fleet. VPC peering +// enables the game servers on your fleet to communicate directly with other +// AWS resources. You can peer with VPCs in any AWS account that you have access +// to, including the account that you use to manage your Amazon GameLift fleets. +// You cannot peer with VPCs that are in different regions. For more information, +// see VPC Peering with Amazon GameLift Fleets (http://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html). +// +// Before calling this operation to establish the peering connection, you first +// need to call CreateVpcPeeringAuthorization and identify the VPC you want +// to peer with. Once the authorization for the specified VPC is issued, you +// have 24 hours to establish the connection. These two operations handle all +// tasks necessary to peer the two VPCs, including acceptance, updating routing +// tables, etc. +// +// To establish the connection, call this operation from the AWS account that +// is used to manage the Amazon GameLift fleets. Identify the following values: +// (1) The ID of the fleet you want to be enable a VPC peering connection for; +// (2) The AWS account with the VPC that you want to peer with; and (3) The +// ID of the VPC you want to peer with. This operation is asynchronous. If successful, +// a VpcPeeringConnection request is created. You can use continuous polling +// to track the request's status using DescribeVpcPeeringConnections, or by +// monitoring fleet events for success or failure using DescribeFleetEvents. +// +// VPC peering connection operations include: +// +// * CreateVpcPeeringAuthorization +// +// * DescribeVpcPeeringAuthorizations +// +// * DeleteVpcPeeringAuthorization +// +// * CreateVpcPeeringConnection +// +// * DescribeVpcPeeringConnections +// +// * DeleteVpcPeeringConnection +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation CreateVpcPeeringConnection for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringConnection +func (c *GameLift) CreateVpcPeeringConnection(input *CreateVpcPeeringConnectionInput) (*CreateVpcPeeringConnectionOutput, error) { + req, out := c.CreateVpcPeeringConnectionRequest(input) + return out, req.Send() +} + +// CreateVpcPeeringConnectionWithContext is the same as CreateVpcPeeringConnection with the addition of +// the ability to pass a context and additional request options. +// +// See CreateVpcPeeringConnection for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) CreateVpcPeeringConnectionWithContext(ctx aws.Context, input *CreateVpcPeeringConnectionInput, opts ...request.Option) (*CreateVpcPeeringConnectionOutput, error) { + req, out := c.CreateVpcPeeringConnectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteAlias = "DeleteAlias" // DeleteAliasRequest generates a "aws/request.Request" representing the // client's request for the DeleteAlias operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteAlias for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteAlias method directly -// instead. +// See DeleteAlias for more information on using the DeleteAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteAliasRequest method. // req, resp := client.DeleteAliasRequest(params) @@ -1143,19 +1789,18 @@ const opDeleteBuild = "DeleteBuild" // DeleteBuildRequest generates a "aws/request.Request" representing the // client's request for the DeleteBuild operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteBuild for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteBuild method directly -// instead. +// See DeleteBuild for more information on using the DeleteBuild +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteBuildRequest method. // req, resp := client.DeleteBuildRequest(params) @@ -1255,19 +1900,18 @@ const opDeleteFleet = "DeleteFleet" // DeleteFleetRequest generates a "aws/request.Request" representing the // client's request for the DeleteFleet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteFleet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteFleet method directly -// instead. +// See DeleteFleet for more information on using the DeleteFleet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteFleetRequest method. // req, resp := client.DeleteFleetRequest(params) @@ -1403,19 +2047,18 @@ const opDeleteGameSessionQueue = "DeleteGameSessionQueue" // DeleteGameSessionQueueRequest generates a "aws/request.Request" representing the // client's request for the DeleteGameSessionQueue operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteGameSessionQueue for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteGameSessionQueue method directly -// instead. +// See DeleteGameSessionQueue for more information on using the DeleteGameSessionQueue +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteGameSessionQueueRequest method. // req, resp := client.DeleteGameSessionQueueRequest(params) @@ -1504,23 +2147,132 @@ func (c *GameLift) DeleteGameSessionQueueWithContext(ctx aws.Context, input *Del return out, req.Send() } +const opDeleteMatchmakingConfiguration = "DeleteMatchmakingConfiguration" + +// DeleteMatchmakingConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteMatchmakingConfiguration operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteMatchmakingConfiguration for more information on using the DeleteMatchmakingConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteMatchmakingConfigurationRequest method. +// req, resp := client.DeleteMatchmakingConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteMatchmakingConfiguration +func (c *GameLift) DeleteMatchmakingConfigurationRequest(input *DeleteMatchmakingConfigurationInput) (req *request.Request, output *DeleteMatchmakingConfigurationOutput) { + op := &request.Operation{ + Name: opDeleteMatchmakingConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteMatchmakingConfigurationInput{} + } + + output = &DeleteMatchmakingConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteMatchmakingConfiguration API operation for Amazon GameLift. +// +// Permanently removes a FlexMatch matchmaking configuration. To delete, specify +// the configuration name. A matchmaking configuration cannot be deleted if +// it is being used in any active matchmaking tickets. +// +// Operations related to match configurations and rule sets include: +// +// * CreateMatchmakingConfiguration +// +// * DescribeMatchmakingConfigurations +// +// * UpdateMatchmakingConfiguration +// +// * DeleteMatchmakingConfiguration +// +// * CreateMatchmakingRuleSet +// +// * DescribeMatchmakingRuleSets +// +// * ValidateMatchmakingRuleSet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DeleteMatchmakingConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnsupportedRegionException "UnsupportedRegionException" +// The requested operation is not supported in the region specified. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteMatchmakingConfiguration +func (c *GameLift) DeleteMatchmakingConfiguration(input *DeleteMatchmakingConfigurationInput) (*DeleteMatchmakingConfigurationOutput, error) { + req, out := c.DeleteMatchmakingConfigurationRequest(input) + return out, req.Send() +} + +// DeleteMatchmakingConfigurationWithContext is the same as DeleteMatchmakingConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteMatchmakingConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DeleteMatchmakingConfigurationWithContext(ctx aws.Context, input *DeleteMatchmakingConfigurationInput, opts ...request.Option) (*DeleteMatchmakingConfigurationOutput, error) { + req, out := c.DeleteMatchmakingConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteScalingPolicy = "DeleteScalingPolicy" // DeleteScalingPolicyRequest generates a "aws/request.Request" representing the // client's request for the DeleteScalingPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteScalingPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteScalingPolicy method directly -// instead. +// See DeleteScalingPolicy for more information on using the DeleteScalingPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteScalingPolicyRequest method. // req, resp := client.DeleteScalingPolicyRequest(params) @@ -1645,23 +2397,244 @@ func (c *GameLift) DeleteScalingPolicyWithContext(ctx aws.Context, input *Delete return out, req.Send() } +const opDeleteVpcPeeringAuthorization = "DeleteVpcPeeringAuthorization" + +// DeleteVpcPeeringAuthorizationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteVpcPeeringAuthorization operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteVpcPeeringAuthorization for more information on using the DeleteVpcPeeringAuthorization +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteVpcPeeringAuthorizationRequest method. +// req, resp := client.DeleteVpcPeeringAuthorizationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringAuthorization +func (c *GameLift) DeleteVpcPeeringAuthorizationRequest(input *DeleteVpcPeeringAuthorizationInput) (req *request.Request, output *DeleteVpcPeeringAuthorizationOutput) { + op := &request.Operation{ + Name: opDeleteVpcPeeringAuthorization, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteVpcPeeringAuthorizationInput{} + } + + output = &DeleteVpcPeeringAuthorizationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteVpcPeeringAuthorization API operation for Amazon GameLift. +// +// Cancels a pending VPC peering authorization for the specified VPC. If the +// authorization has already been used to create a peering connection, call +// DeleteVpcPeeringConnection to remove the connection. +// +// VPC peering connection operations include: +// +// * CreateVpcPeeringAuthorization +// +// * DescribeVpcPeeringAuthorizations +// +// * DeleteVpcPeeringAuthorization +// +// * CreateVpcPeeringConnection +// +// * DescribeVpcPeeringConnections +// +// * DeleteVpcPeeringConnection +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DeleteVpcPeeringAuthorization for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringAuthorization +func (c *GameLift) DeleteVpcPeeringAuthorization(input *DeleteVpcPeeringAuthorizationInput) (*DeleteVpcPeeringAuthorizationOutput, error) { + req, out := c.DeleteVpcPeeringAuthorizationRequest(input) + return out, req.Send() +} + +// DeleteVpcPeeringAuthorizationWithContext is the same as DeleteVpcPeeringAuthorization with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteVpcPeeringAuthorization for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DeleteVpcPeeringAuthorizationWithContext(ctx aws.Context, input *DeleteVpcPeeringAuthorizationInput, opts ...request.Option) (*DeleteVpcPeeringAuthorizationOutput, error) { + req, out := c.DeleteVpcPeeringAuthorizationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteVpcPeeringConnection = "DeleteVpcPeeringConnection" + +// DeleteVpcPeeringConnectionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteVpcPeeringConnection operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteVpcPeeringConnection for more information on using the DeleteVpcPeeringConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteVpcPeeringConnectionRequest method. +// req, resp := client.DeleteVpcPeeringConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringConnection +func (c *GameLift) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConnectionInput) (req *request.Request, output *DeleteVpcPeeringConnectionOutput) { + op := &request.Operation{ + Name: opDeleteVpcPeeringConnection, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteVpcPeeringConnectionInput{} + } + + output = &DeleteVpcPeeringConnectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteVpcPeeringConnection API operation for Amazon GameLift. +// +// Removes a VPC peering connection. To delete the connection, you must have +// a valid authorization for the VPC peering connection that you want to delete. +// You can check for an authorization by calling DescribeVpcPeeringAuthorizations +// or request a new one using CreateVpcPeeringAuthorization. +// +// Once a valid authorization exists, call this operation from the AWS account +// that is used to manage the Amazon GameLift fleets. Identify the connection +// to delete by the connection ID and fleet ID. If successful, the connection +// is removed. +// +// VPC peering connection operations include: +// +// * CreateVpcPeeringAuthorization +// +// * DescribeVpcPeeringAuthorizations +// +// * DeleteVpcPeeringAuthorization +// +// * CreateVpcPeeringConnection +// +// * DescribeVpcPeeringConnections +// +// * DeleteVpcPeeringConnection +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DeleteVpcPeeringConnection for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringConnection +func (c *GameLift) DeleteVpcPeeringConnection(input *DeleteVpcPeeringConnectionInput) (*DeleteVpcPeeringConnectionOutput, error) { + req, out := c.DeleteVpcPeeringConnectionRequest(input) + return out, req.Send() +} + +// DeleteVpcPeeringConnectionWithContext is the same as DeleteVpcPeeringConnection with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteVpcPeeringConnection for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DeleteVpcPeeringConnectionWithContext(ctx aws.Context, input *DeleteVpcPeeringConnectionInput, opts ...request.Option) (*DeleteVpcPeeringConnectionOutput, error) { + req, out := c.DeleteVpcPeeringConnectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeAlias = "DescribeAlias" // DescribeAliasRequest generates a "aws/request.Request" representing the // client's request for the DescribeAlias operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAlias for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAlias method directly -// instead. +// See DescribeAlias for more information on using the DescribeAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAliasRequest method. // req, resp := client.DescribeAliasRequest(params) @@ -1760,19 +2733,18 @@ const opDescribeBuild = "DescribeBuild" // DescribeBuildRequest generates a "aws/request.Request" representing the // client's request for the DescribeBuild operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeBuild for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeBuild method directly -// instead. +// See DescribeBuild for more information on using the DescribeBuild +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeBuildRequest method. // req, resp := client.DescribeBuildRequest(params) @@ -1866,19 +2838,18 @@ const opDescribeEC2InstanceLimits = "DescribeEC2InstanceLimits" // DescribeEC2InstanceLimitsRequest generates a "aws/request.Request" representing the // client's request for the DescribeEC2InstanceLimits operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEC2InstanceLimits for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEC2InstanceLimits method directly -// instead. +// See DescribeEC2InstanceLimits for more information on using the DescribeEC2InstanceLimits +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEC2InstanceLimitsRequest method. // req, resp := client.DescribeEC2InstanceLimitsRequest(params) @@ -2007,19 +2978,18 @@ const opDescribeFleetAttributes = "DescribeFleetAttributes" // DescribeFleetAttributesRequest generates a "aws/request.Request" representing the // client's request for the DescribeFleetAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeFleetAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeFleetAttributes method directly -// instead. +// See DescribeFleetAttributes for more information on using the DescribeFleetAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeFleetAttributesRequest method. // req, resp := client.DescribeFleetAttributesRequest(params) @@ -2154,19 +3124,18 @@ const opDescribeFleetCapacity = "DescribeFleetCapacity" // DescribeFleetCapacityRequest generates a "aws/request.Request" representing the // client's request for the DescribeFleetCapacity operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeFleetCapacity for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeFleetCapacity method directly -// instead. +// See DescribeFleetCapacity for more information on using the DescribeFleetCapacity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeFleetCapacityRequest method. // req, resp := client.DescribeFleetCapacityRequest(params) @@ -2302,19 +3271,18 @@ const opDescribeFleetEvents = "DescribeFleetEvents" // DescribeFleetEventsRequest generates a "aws/request.Request" representing the // client's request for the DescribeFleetEvents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeFleetEvents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeFleetEvents method directly -// instead. +// See DescribeFleetEvents for more information on using the DescribeFleetEvents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeFleetEventsRequest method. // req, resp := client.DescribeFleetEventsRequest(params) @@ -2442,19 +3410,18 @@ const opDescribeFleetPortSettings = "DescribeFleetPortSettings" // DescribeFleetPortSettingsRequest generates a "aws/request.Request" representing the // client's request for the DescribeFleetPortSettings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeFleetPortSettings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeFleetPortSettings method directly -// instead. +// See DescribeFleetPortSettings for more information on using the DescribeFleetPortSettings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeFleetPortSettingsRequest method. // req, resp := client.DescribeFleetPortSettingsRequest(params) @@ -2584,19 +3551,18 @@ const opDescribeFleetUtilization = "DescribeFleetUtilization" // DescribeFleetUtilizationRequest generates a "aws/request.Request" representing the // client's request for the DescribeFleetUtilization operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeFleetUtilization for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeFleetUtilization method directly -// instead. +// See DescribeFleetUtilization for more information on using the DescribeFleetUtilization +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeFleetUtilizationRequest method. // req, resp := client.DescribeFleetUtilizationRequest(params) @@ -2730,19 +3696,18 @@ const opDescribeGameSessionDetails = "DescribeGameSessionDetails" // DescribeGameSessionDetailsRequest generates a "aws/request.Request" representing the // client's request for the DescribeGameSessionDetails operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeGameSessionDetails for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeGameSessionDetails method directly -// instead. +// See DescribeGameSessionDetails for more information on using the DescribeGameSessionDetails +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeGameSessionDetailsRequest method. // req, resp := client.DescribeGameSessionDetailsRequest(params) @@ -2862,19 +3827,18 @@ const opDescribeGameSessionPlacement = "DescribeGameSessionPlacement" // DescribeGameSessionPlacementRequest generates a "aws/request.Request" representing the // client's request for the DescribeGameSessionPlacement operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeGameSessionPlacement for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeGameSessionPlacement method directly -// instead. +// See DescribeGameSessionPlacement for more information on using the DescribeGameSessionPlacement +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeGameSessionPlacementRequest method. // req, resp := client.DescribeGameSessionPlacementRequest(params) @@ -2979,19 +3943,18 @@ const opDescribeGameSessionQueues = "DescribeGameSessionQueues" // DescribeGameSessionQueuesRequest generates a "aws/request.Request" representing the // client's request for the DescribeGameSessionQueues operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeGameSessionQueues for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeGameSessionQueues method directly -// instead. +// See DescribeGameSessionQueues for more information on using the DescribeGameSessionQueues +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeGameSessionQueuesRequest method. // req, resp := client.DescribeGameSessionQueuesRequest(params) @@ -3086,19 +4049,18 @@ const opDescribeGameSessions = "DescribeGameSessions" // DescribeGameSessionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeGameSessions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeGameSessions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeGameSessions method directly -// instead. +// See DescribeGameSessions for more information on using the DescribeGameSessions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeGameSessionsRequest method. // req, resp := client.DescribeGameSessionsRequest(params) @@ -3219,19 +4181,18 @@ const opDescribeInstances = "DescribeInstances" // DescribeInstancesRequest generates a "aws/request.Request" representing the // client's request for the DescribeInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeInstances method directly -// instead. +// See DescribeInstances for more information on using the DescribeInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeInstancesRequest method. // req, resp := client.DescribeInstancesRequest(params) @@ -3315,23 +4276,355 @@ func (c *GameLift) DescribeInstancesWithContext(ctx aws.Context, input *Describe return out, req.Send() } +const opDescribeMatchmaking = "DescribeMatchmaking" + +// DescribeMatchmakingRequest generates a "aws/request.Request" representing the +// client's request for the DescribeMatchmaking operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeMatchmaking for more information on using the DescribeMatchmaking +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeMatchmakingRequest method. +// req, resp := client.DescribeMatchmakingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmaking +func (c *GameLift) DescribeMatchmakingRequest(input *DescribeMatchmakingInput) (req *request.Request, output *DescribeMatchmakingOutput) { + op := &request.Operation{ + Name: opDescribeMatchmaking, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeMatchmakingInput{} + } + + output = &DescribeMatchmakingOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeMatchmaking API operation for Amazon GameLift. +// +// Retrieves a set of one or more matchmaking tickets. Use this operation to +// retrieve ticket information, including status and--once a successful match +// is made--acquire connection information for the resulting new game session. +// +// You can use this operation to track the progress of matchmaking requests +// (through polling) as an alternative to using event notifications. See more +// details on tracking matchmaking requests through polling or notifications +// in StartMatchmaking. +// +// You can request data for a one or a list of ticket IDs. If the request is +// successful, a ticket object is returned for each requested ID. When specifying +// a list of ticket IDs, objects are returned only for tickets that currently +// exist. +// +// Matchmaking-related operations include: +// +// * StartMatchmaking +// +// * DescribeMatchmaking +// +// * StopMatchmaking +// +// * AcceptMatch +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeMatchmaking for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnsupportedRegionException "UnsupportedRegionException" +// The requested operation is not supported in the region specified. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmaking +func (c *GameLift) DescribeMatchmaking(input *DescribeMatchmakingInput) (*DescribeMatchmakingOutput, error) { + req, out := c.DescribeMatchmakingRequest(input) + return out, req.Send() +} + +// DescribeMatchmakingWithContext is the same as DescribeMatchmaking with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeMatchmaking for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeMatchmakingWithContext(ctx aws.Context, input *DescribeMatchmakingInput, opts ...request.Option) (*DescribeMatchmakingOutput, error) { + req, out := c.DescribeMatchmakingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeMatchmakingConfigurations = "DescribeMatchmakingConfigurations" + +// DescribeMatchmakingConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeMatchmakingConfigurations operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeMatchmakingConfigurations for more information on using the DescribeMatchmakingConfigurations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeMatchmakingConfigurationsRequest method. +// req, resp := client.DescribeMatchmakingConfigurationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingConfigurations +func (c *GameLift) DescribeMatchmakingConfigurationsRequest(input *DescribeMatchmakingConfigurationsInput) (req *request.Request, output *DescribeMatchmakingConfigurationsOutput) { + op := &request.Operation{ + Name: opDescribeMatchmakingConfigurations, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeMatchmakingConfigurationsInput{} + } + + output = &DescribeMatchmakingConfigurationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeMatchmakingConfigurations API operation for Amazon GameLift. +// +// Retrieves the details of FlexMatch matchmaking configurations. with this +// operation, you have the following options: (1) retrieve all existing configurations, +// (2) provide the names of one or more configurations to retrieve, or (3) retrieve +// all configurations that use a specified rule set name. When requesting multiple +// items, use the pagination parameters to retrieve results as a set of sequential +// pages. If successful, a configuration is returned for each requested name. +// When specifying a list of names, only configurations that currently exist +// are returned. +// +// Operations related to match configurations and rule sets include: +// +// * CreateMatchmakingConfiguration +// +// * DescribeMatchmakingConfigurations +// +// * UpdateMatchmakingConfiguration +// +// * DeleteMatchmakingConfiguration +// +// * CreateMatchmakingRuleSet +// +// * DescribeMatchmakingRuleSets +// +// * ValidateMatchmakingRuleSet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeMatchmakingConfigurations for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnsupportedRegionException "UnsupportedRegionException" +// The requested operation is not supported in the region specified. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingConfigurations +func (c *GameLift) DescribeMatchmakingConfigurations(input *DescribeMatchmakingConfigurationsInput) (*DescribeMatchmakingConfigurationsOutput, error) { + req, out := c.DescribeMatchmakingConfigurationsRequest(input) + return out, req.Send() +} + +// DescribeMatchmakingConfigurationsWithContext is the same as DescribeMatchmakingConfigurations with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeMatchmakingConfigurations for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeMatchmakingConfigurationsWithContext(ctx aws.Context, input *DescribeMatchmakingConfigurationsInput, opts ...request.Option) (*DescribeMatchmakingConfigurationsOutput, error) { + req, out := c.DescribeMatchmakingConfigurationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeMatchmakingRuleSets = "DescribeMatchmakingRuleSets" + +// DescribeMatchmakingRuleSetsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeMatchmakingRuleSets operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeMatchmakingRuleSets for more information on using the DescribeMatchmakingRuleSets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeMatchmakingRuleSetsRequest method. +// req, resp := client.DescribeMatchmakingRuleSetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingRuleSets +func (c *GameLift) DescribeMatchmakingRuleSetsRequest(input *DescribeMatchmakingRuleSetsInput) (req *request.Request, output *DescribeMatchmakingRuleSetsOutput) { + op := &request.Operation{ + Name: opDescribeMatchmakingRuleSets, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeMatchmakingRuleSetsInput{} + } + + output = &DescribeMatchmakingRuleSetsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeMatchmakingRuleSets API operation for Amazon GameLift. +// +// Retrieves the details for FlexMatch matchmaking rule sets. You can request +// all existing rule sets for the region, or provide a list of one or more rule +// set names. When requesting multiple items, use the pagination parameters +// to retrieve results as a set of sequential pages. If successful, a rule set +// is returned for each requested name. +// +// Operations related to match configurations and rule sets include: +// +// * CreateMatchmakingConfiguration +// +// * DescribeMatchmakingConfigurations +// +// * UpdateMatchmakingConfiguration +// +// * DeleteMatchmakingConfiguration +// +// * CreateMatchmakingRuleSet +// +// * DescribeMatchmakingRuleSets +// +// * ValidateMatchmakingRuleSet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeMatchmakingRuleSets for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeUnsupportedRegionException "UnsupportedRegionException" +// The requested operation is not supported in the region specified. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingRuleSets +func (c *GameLift) DescribeMatchmakingRuleSets(input *DescribeMatchmakingRuleSetsInput) (*DescribeMatchmakingRuleSetsOutput, error) { + req, out := c.DescribeMatchmakingRuleSetsRequest(input) + return out, req.Send() +} + +// DescribeMatchmakingRuleSetsWithContext is the same as DescribeMatchmakingRuleSets with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeMatchmakingRuleSets for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeMatchmakingRuleSetsWithContext(ctx aws.Context, input *DescribeMatchmakingRuleSetsInput, opts ...request.Option) (*DescribeMatchmakingRuleSetsOutput, error) { + req, out := c.DescribeMatchmakingRuleSetsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribePlayerSessions = "DescribePlayerSessions" // DescribePlayerSessionsRequest generates a "aws/request.Request" representing the // client's request for the DescribePlayerSessions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribePlayerSessions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribePlayerSessions method directly -// instead. +// See DescribePlayerSessions for more information on using the DescribePlayerSessions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribePlayerSessionsRequest method. // req, resp := client.DescribePlayerSessionsRequest(params) @@ -3440,19 +4733,18 @@ const opDescribeRuntimeConfiguration = "DescribeRuntimeConfiguration" // DescribeRuntimeConfigurationRequest generates a "aws/request.Request" representing the // client's request for the DescribeRuntimeConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeRuntimeConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeRuntimeConfiguration method directly -// instead. +// See DescribeRuntimeConfiguration for more information on using the DescribeRuntimeConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeRuntimeConfigurationRequest method. // req, resp := client.DescribeRuntimeConfigurationRequest(params) @@ -3579,19 +4871,18 @@ const opDescribeScalingPolicies = "DescribeScalingPolicies" // DescribeScalingPoliciesRequest generates a "aws/request.Request" representing the // client's request for the DescribeScalingPolicies operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeScalingPolicies for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeScalingPolicies method directly -// instead. +// See DescribeScalingPolicies for more information on using the DescribeScalingPolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeScalingPoliciesRequest method. // req, resp := client.DescribeScalingPoliciesRequest(params) @@ -3717,23 +5008,239 @@ func (c *GameLift) DescribeScalingPoliciesWithContext(ctx aws.Context, input *De return out, req.Send() } +const opDescribeVpcPeeringAuthorizations = "DescribeVpcPeeringAuthorizations" + +// DescribeVpcPeeringAuthorizationsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeVpcPeeringAuthorizations operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeVpcPeeringAuthorizations for more information on using the DescribeVpcPeeringAuthorizations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeVpcPeeringAuthorizationsRequest method. +// req, resp := client.DescribeVpcPeeringAuthorizationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringAuthorizations +func (c *GameLift) DescribeVpcPeeringAuthorizationsRequest(input *DescribeVpcPeeringAuthorizationsInput) (req *request.Request, output *DescribeVpcPeeringAuthorizationsOutput) { + op := &request.Operation{ + Name: opDescribeVpcPeeringAuthorizations, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeVpcPeeringAuthorizationsInput{} + } + + output = &DescribeVpcPeeringAuthorizationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeVpcPeeringAuthorizations API operation for Amazon GameLift. +// +// Retrieves valid VPC peering authorizations that are pending for the AWS account. +// This operation returns all VPC peering authorizations and requests for peering. +// This includes those initiated and received by this account. +// +// VPC peering connection operations include: +// +// * CreateVpcPeeringAuthorization +// +// * DescribeVpcPeeringAuthorizations +// +// * DeleteVpcPeeringAuthorization +// +// * CreateVpcPeeringConnection +// +// * DescribeVpcPeeringConnections +// +// * DeleteVpcPeeringConnection +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeVpcPeeringAuthorizations for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringAuthorizations +func (c *GameLift) DescribeVpcPeeringAuthorizations(input *DescribeVpcPeeringAuthorizationsInput) (*DescribeVpcPeeringAuthorizationsOutput, error) { + req, out := c.DescribeVpcPeeringAuthorizationsRequest(input) + return out, req.Send() +} + +// DescribeVpcPeeringAuthorizationsWithContext is the same as DescribeVpcPeeringAuthorizations with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeVpcPeeringAuthorizations for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeVpcPeeringAuthorizationsWithContext(ctx aws.Context, input *DescribeVpcPeeringAuthorizationsInput, opts ...request.Option) (*DescribeVpcPeeringAuthorizationsOutput, error) { + req, out := c.DescribeVpcPeeringAuthorizationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections" + +// DescribeVpcPeeringConnectionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeVpcPeeringConnections operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeVpcPeeringConnections for more information on using the DescribeVpcPeeringConnections +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeVpcPeeringConnectionsRequest method. +// req, resp := client.DescribeVpcPeeringConnectionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringConnections +func (c *GameLift) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConnectionsInput) (req *request.Request, output *DescribeVpcPeeringConnectionsOutput) { + op := &request.Operation{ + Name: opDescribeVpcPeeringConnections, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeVpcPeeringConnectionsInput{} + } + + output = &DescribeVpcPeeringConnectionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeVpcPeeringConnections API operation for Amazon GameLift. +// +// Retrieves information on VPC peering connections. Use this operation to get +// peering information for all fleets or for one specific fleet ID. +// +// To retrieve connection information, call this operation from the AWS account +// that is used to manage the Amazon GameLift fleets. Specify a fleet ID or +// leave the parameter empty to retrieve all connection records. If successful, +// the retrieved information includes both active and pending connections. Active +// connections identify the IpV4 CIDR block that the VPC uses to connect. +// +// VPC peering connection operations include: +// +// * CreateVpcPeeringAuthorization +// +// * DescribeVpcPeeringAuthorizations +// +// * DeleteVpcPeeringAuthorization +// +// * CreateVpcPeeringConnection +// +// * DescribeVpcPeeringConnections +// +// * DeleteVpcPeeringConnection +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeVpcPeeringConnections for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringConnections +func (c *GameLift) DescribeVpcPeeringConnections(input *DescribeVpcPeeringConnectionsInput) (*DescribeVpcPeeringConnectionsOutput, error) { + req, out := c.DescribeVpcPeeringConnectionsRequest(input) + return out, req.Send() +} + +// DescribeVpcPeeringConnectionsWithContext is the same as DescribeVpcPeeringConnections with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeVpcPeeringConnections for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeVpcPeeringConnectionsWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, opts ...request.Option) (*DescribeVpcPeeringConnectionsOutput, error) { + req, out := c.DescribeVpcPeeringConnectionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetGameSessionLogUrl = "GetGameSessionLogUrl" // GetGameSessionLogUrlRequest generates a "aws/request.Request" representing the // client's request for the GetGameSessionLogUrl operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetGameSessionLogUrl for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetGameSessionLogUrl method directly -// instead. +// See GetGameSessionLogUrl for more information on using the GetGameSessionLogUrl +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetGameSessionLogUrlRequest method. // req, resp := client.GetGameSessionLogUrlRequest(params) @@ -3764,7 +5271,8 @@ func (c *GameLift) GetGameSessionLogUrlRequest(input *GetGameSessionLogUrlInput) // // Retrieves the location of stored game session logs for a specified game session. // When a game session is terminated, Amazon GameLift automatically stores the -// logs in Amazon S3. Use this URL to download the logs. +// logs in Amazon S3 and retains them for 14 days. Use this URL to download +// the logs. // // See the AWS Service Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_gamelift) // page for maximum log file sizes. Log files that exceed this limit are not @@ -3842,19 +5350,18 @@ const opGetInstanceAccess = "GetInstanceAccess" // GetInstanceAccessRequest generates a "aws/request.Request" representing the // client's request for the GetInstanceAccess operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetInstanceAccess for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetInstanceAccess method directly -// instead. +// See GetInstanceAccess for more information on using the GetInstanceAccess +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetInstanceAccessRequest method. // req, resp := client.GetInstanceAccessRequest(params) @@ -3950,19 +5457,18 @@ const opListAliases = "ListAliases" // ListAliasesRequest generates a "aws/request.Request" representing the // client's request for the ListAliases operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAliases for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAliases method directly -// instead. +// See ListAliases for more information on using the ListAliases +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAliasesRequest method. // req, resp := client.ListAliasesRequest(params) @@ -4057,19 +5563,18 @@ const opListBuilds = "ListBuilds" // ListBuildsRequest generates a "aws/request.Request" representing the // client's request for the ListBuilds operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListBuilds for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListBuilds method directly -// instead. +// See ListBuilds for more information on using the ListBuilds +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListBuildsRequest method. // req, resp := client.ListBuildsRequest(params) @@ -4163,19 +5668,18 @@ const opListFleets = "ListFleets" // ListFleetsRequest generates a "aws/request.Request" representing the // client's request for the ListFleets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListFleets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListFleets method directly -// instead. +// See ListFleets for more information on using the ListFleets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListFleetsRequest method. // req, resp := client.ListFleetsRequest(params) @@ -4304,19 +5808,18 @@ const opPutScalingPolicy = "PutScalingPolicy" // PutScalingPolicyRequest generates a "aws/request.Request" representing the // client's request for the PutScalingPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutScalingPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutScalingPolicy method directly -// instead. +// See PutScalingPolicy for more information on using the PutScalingPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutScalingPolicyRequest method. // req, resp := client.PutScalingPolicyRequest(params) @@ -4462,19 +5965,18 @@ const opRequestUploadCredentials = "RequestUploadCredentials" // RequestUploadCredentialsRequest generates a "aws/request.Request" representing the // client's request for the RequestUploadCredentials operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RequestUploadCredentials for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RequestUploadCredentials method directly -// instead. +// See RequestUploadCredentials for more information on using the RequestUploadCredentials +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RequestUploadCredentialsRequest method. // req, resp := client.RequestUploadCredentialsRequest(params) @@ -4557,19 +6059,18 @@ const opResolveAlias = "ResolveAlias" // ResolveAliasRequest generates a "aws/request.Request" representing the // client's request for the ResolveAlias operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ResolveAlias for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ResolveAlias method directly -// instead. +// See ResolveAlias for more information on using the ResolveAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ResolveAliasRequest method. // req, resp := client.ResolveAliasRequest(params) @@ -4671,19 +6172,18 @@ const opSearchGameSessions = "SearchGameSessions" // SearchGameSessionsRequest generates a "aws/request.Request" representing the // client's request for the SearchGameSessions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SearchGameSessions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SearchGameSessions method directly -// instead. +// See SearchGameSessions for more information on using the SearchGameSessions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SearchGameSessionsRequest method. // req, resp := client.SearchGameSessionsRequest(params) @@ -4835,19 +6335,18 @@ const opStartGameSessionPlacement = "StartGameSessionPlacement" // StartGameSessionPlacementRequest generates a "aws/request.Request" representing the // client's request for the StartGameSessionPlacement operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartGameSessionPlacement for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartGameSessionPlacement method directly -// instead. +// See StartGameSessionPlacement for more information on using the StartGameSessionPlacement +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartGameSessionPlacementRequest method. // req, resp := client.StartGameSessionPlacementRequest(params) @@ -4913,7 +6412,7 @@ func (c *GameLift) StartGameSessionPlacementRequest(input *StartGameSessionPlace // If successful, a new game session placement is created. // // To track the status of a placement request, call DescribeGameSessionPlacement -// and check the request's status. If the status is Fulfilled, a new game session +// and check the request's status. If the status is FULFILLED, a new game session // has been created and a game session ARN and region are referenced. If the // placement request times out, you can resubmit the request or retry it with // a different queue. @@ -4986,23 +6485,184 @@ func (c *GameLift) StartGameSessionPlacementWithContext(ctx aws.Context, input * return out, req.Send() } +const opStartMatchmaking = "StartMatchmaking" + +// StartMatchmakingRequest generates a "aws/request.Request" representing the +// client's request for the StartMatchmaking operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartMatchmaking for more information on using the StartMatchmaking +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StartMatchmakingRequest method. +// req, resp := client.StartMatchmakingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartMatchmaking +func (c *GameLift) StartMatchmakingRequest(input *StartMatchmakingInput) (req *request.Request, output *StartMatchmakingOutput) { + op := &request.Operation{ + Name: opStartMatchmaking, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartMatchmakingInput{} + } + + output = &StartMatchmakingOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartMatchmaking API operation for Amazon GameLift. +// +// Uses FlexMatch to create a game match for a group of players based on custom +// matchmaking rules, and starts a new game for the matched players. Each matchmaking +// request specifies the type of match to build (team configuration, rules for +// an acceptable match, etc.). The request also specifies the players to find +// a match for and where to host the new game session for optimal performance. +// A matchmaking request might start with a single player or a group of players +// who want to play together. FlexMatch finds additional players as needed to +// fill the match. Match type, rules, and the queue used to place a new game +// session are defined in a MatchmakingConfiguration. For complete information +// on setting up and using FlexMatch, see the topic Adding FlexMatch to Your +// Game (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-intro.html). +// +// To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration, +// and include the players to be matched. You must also include a set of player +// attributes relevant for the matchmaking configuration. If successful, a matchmaking +// ticket is returned with status set to QUEUED. Track the status of the ticket +// to respond as needed and acquire game session connection information for +// successfully completed matches. +// +// Tracking ticket status -- A couple of options are available for tracking +// the status of matchmaking requests: +// +// * Polling -- Call DescribeMatchmaking. This operation returns the full +// ticket object, including current status and (for completed tickets) game +// session connection info. We recommend polling no more than once every +// 10 seconds. +// +// * Notifications -- Get event notifications for changes in ticket status +// using Amazon Simple Notification Service (SNS). Notifications are easy +// to set up (see CreateMatchmakingConfiguration) and typically deliver match +// status changes faster and more efficiently than polling. We recommend +// that you use polling to back up to notifications (since delivery is not +// guaranteed) and call DescribeMatchmaking only when notifications are not +// received within 30 seconds. +// +// Processing a matchmaking request -- FlexMatch handles a matchmaking request +// as follows: +// +// Your client code submits a StartMatchmaking request for one or more players +// and tracks the status of the request ticket. +// +// FlexMatch uses this ticket and others in process to build an acceptable match. +// When a potential match is identified, all tickets in the proposed match are +// advanced to the next status. +// +// If the match requires player acceptance (set in the matchmaking configuration), +// the tickets move into status REQUIRES_ACCEPTANCE. This status triggers your +// client code to solicit acceptance from all players in every ticket involved +// in the match, and then call AcceptMatch for each player. If any player rejects +// or fails to accept the match before a specified timeout, the proposed match +// is dropped (see AcceptMatch for more details). +// +// Once a match is proposed and accepted, the matchmaking tickets move into +// status PLACING. FlexMatch locates resources for a new game session using +// the game session queue (set in the matchmaking configuration) and creates +// the game session based on the match data. +// +// When the match is successfully placed, the matchmaking tickets move into +// COMPLETED status. Connection information (including game session endpoint +// and player session) is added to the matchmaking tickets. Matched players +// can use the connection information to join the game. +// +// Matchmaking-related operations include: +// +// * StartMatchmaking +// +// * DescribeMatchmaking +// +// * StopMatchmaking +// +// * AcceptMatch +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation StartMatchmaking for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnsupportedRegionException "UnsupportedRegionException" +// The requested operation is not supported in the region specified. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartMatchmaking +func (c *GameLift) StartMatchmaking(input *StartMatchmakingInput) (*StartMatchmakingOutput, error) { + req, out := c.StartMatchmakingRequest(input) + return out, req.Send() +} + +// StartMatchmakingWithContext is the same as StartMatchmaking with the addition of +// the ability to pass a context and additional request options. +// +// See StartMatchmaking for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) StartMatchmakingWithContext(ctx aws.Context, input *StartMatchmakingInput, opts ...request.Option) (*StartMatchmakingOutput, error) { + req, out := c.StartMatchmakingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opStopGameSessionPlacement = "StopGameSessionPlacement" // StopGameSessionPlacementRequest generates a "aws/request.Request" representing the // client's request for the StopGameSessionPlacement operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StopGameSessionPlacement for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StopGameSessionPlacement method directly -// instead. +// See StopGameSessionPlacement for more information on using the StopGameSessionPlacement +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StopGameSessionPlacementRequest method. // req, resp := client.StopGameSessionPlacementRequest(params) @@ -5031,9 +6691,9 @@ func (c *GameLift) StopGameSessionPlacementRequest(input *StopGameSessionPlaceme // StopGameSessionPlacement API operation for Amazon GameLift. // -// Cancels a game session placement that is in Pending status. To stop a placement, +// Cancels a game session placement that is in PENDING status. To stop a placement, // provide the placement ID values. If successful, the placement is moved to -// Cancelled status. +// CANCELLED status. // // Game-session-related operations include: // @@ -5103,23 +6763,126 @@ func (c *GameLift) StopGameSessionPlacementWithContext(ctx aws.Context, input *S return out, req.Send() } +const opStopMatchmaking = "StopMatchmaking" + +// StopMatchmakingRequest generates a "aws/request.Request" representing the +// client's request for the StopMatchmaking operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StopMatchmaking for more information on using the StopMatchmaking +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StopMatchmakingRequest method. +// req, resp := client.StopMatchmakingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopMatchmaking +func (c *GameLift) StopMatchmakingRequest(input *StopMatchmakingInput) (req *request.Request, output *StopMatchmakingOutput) { + op := &request.Operation{ + Name: opStopMatchmaking, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopMatchmakingInput{} + } + + output = &StopMatchmakingOutput{} + req = c.newRequest(op, input, output) + return +} + +// StopMatchmaking API operation for Amazon GameLift. +// +// Cancels a matchmaking ticket that is currently being processed. To stop the +// matchmaking operation, specify the ticket ID. If successful, work on the +// ticket is stopped, and the ticket status is changed to CANCELLED. +// +// Matchmaking-related operations include: +// +// * StartMatchmaking +// +// * DescribeMatchmaking +// +// * StopMatchmaking +// +// * AcceptMatch +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation StopMatchmaking for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnsupportedRegionException "UnsupportedRegionException" +// The requested operation is not supported in the region specified. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopMatchmaking +func (c *GameLift) StopMatchmaking(input *StopMatchmakingInput) (*StopMatchmakingOutput, error) { + req, out := c.StopMatchmakingRequest(input) + return out, req.Send() +} + +// StopMatchmakingWithContext is the same as StopMatchmaking with the addition of +// the ability to pass a context and additional request options. +// +// See StopMatchmaking for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) StopMatchmakingWithContext(ctx aws.Context, input *StopMatchmakingInput, opts ...request.Option) (*StopMatchmakingOutput, error) { + req, out := c.StopMatchmakingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateAlias = "UpdateAlias" // UpdateAliasRequest generates a "aws/request.Request" representing the // client's request for the UpdateAlias operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateAlias for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateAlias method directly -// instead. +// See UpdateAlias for more information on using the UpdateAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateAliasRequest method. // req, resp := client.UpdateAliasRequest(params) @@ -5217,19 +6980,18 @@ const opUpdateBuild = "UpdateBuild" // UpdateBuildRequest generates a "aws/request.Request" representing the // client's request for the UpdateBuild operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateBuild for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateBuild method directly -// instead. +// See UpdateBuild for more information on using the UpdateBuild +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateBuildRequest method. // req, resp := client.UpdateBuildRequest(params) @@ -5325,19 +7087,18 @@ const opUpdateFleetAttributes = "UpdateFleetAttributes" // UpdateFleetAttributesRequest generates a "aws/request.Request" representing the // client's request for the UpdateFleetAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateFleetAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateFleetAttributes method directly -// instead. +// See UpdateFleetAttributes for more information on using the UpdateFleetAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateFleetAttributesRequest method. // req, resp := client.UpdateFleetAttributesRequest(params) @@ -5478,19 +7239,18 @@ const opUpdateFleetCapacity = "UpdateFleetCapacity" // UpdateFleetCapacityRequest generates a "aws/request.Request" representing the // client's request for the UpdateFleetCapacity operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateFleetCapacity for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateFleetCapacity method directly -// instead. +// See UpdateFleetCapacity for more information on using the UpdateFleetCapacity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateFleetCapacityRequest method. // req, resp := client.UpdateFleetCapacityRequest(params) @@ -5643,19 +7403,18 @@ const opUpdateFleetPortSettings = "UpdateFleetPortSettings" // UpdateFleetPortSettingsRequest generates a "aws/request.Request" representing the // client's request for the UpdateFleetPortSettings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateFleetPortSettings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateFleetPortSettings method directly -// instead. +// See UpdateFleetPortSettings for more information on using the UpdateFleetPortSettings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateFleetPortSettingsRequest method. // req, resp := client.UpdateFleetPortSettingsRequest(params) @@ -5799,19 +7558,18 @@ const opUpdateGameSession = "UpdateGameSession" // UpdateGameSessionRequest generates a "aws/request.Request" representing the // client's request for the UpdateGameSession operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateGameSession for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateGameSession method directly -// instead. +// See UpdateGameSession for more information on using the UpdateGameSession +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateGameSessionRequest method. // req, resp := client.UpdateGameSessionRequest(params) @@ -5930,19 +7688,18 @@ const opUpdateGameSessionQueue = "UpdateGameSessionQueue" // UpdateGameSessionQueueRequest generates a "aws/request.Request" representing the // client's request for the UpdateGameSessionQueue operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateGameSessionQueue for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateGameSessionQueue method directly -// instead. +// See UpdateGameSessionQueue for more information on using the UpdateGameSessionQueue +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateGameSessionQueueRequest method. // req, resp := client.UpdateGameSessionQueueRequest(params) @@ -6032,23 +7789,131 @@ func (c *GameLift) UpdateGameSessionQueueWithContext(ctx aws.Context, input *Upd return out, req.Send() } +const opUpdateMatchmakingConfiguration = "UpdateMatchmakingConfiguration" + +// UpdateMatchmakingConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateMatchmakingConfiguration operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateMatchmakingConfiguration for more information on using the UpdateMatchmakingConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateMatchmakingConfigurationRequest method. +// req, resp := client.UpdateMatchmakingConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateMatchmakingConfiguration +func (c *GameLift) UpdateMatchmakingConfigurationRequest(input *UpdateMatchmakingConfigurationInput) (req *request.Request, output *UpdateMatchmakingConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateMatchmakingConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateMatchmakingConfigurationInput{} + } + + output = &UpdateMatchmakingConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateMatchmakingConfiguration API operation for Amazon GameLift. +// +// Updates settings for a FlexMatch matchmaking configuration. To update settings, +// specify the configuration name to be updated and provide the new settings. +// +// Operations related to match configurations and rule sets include: +// +// * CreateMatchmakingConfiguration +// +// * DescribeMatchmakingConfigurations +// +// * UpdateMatchmakingConfiguration +// +// * DeleteMatchmakingConfiguration +// +// * CreateMatchmakingRuleSet +// +// * DescribeMatchmakingRuleSets +// +// * ValidateMatchmakingRuleSet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation UpdateMatchmakingConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnsupportedRegionException "UnsupportedRegionException" +// The requested operation is not supported in the region specified. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateMatchmakingConfiguration +func (c *GameLift) UpdateMatchmakingConfiguration(input *UpdateMatchmakingConfigurationInput) (*UpdateMatchmakingConfigurationOutput, error) { + req, out := c.UpdateMatchmakingConfigurationRequest(input) + return out, req.Send() +} + +// UpdateMatchmakingConfigurationWithContext is the same as UpdateMatchmakingConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateMatchmakingConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) UpdateMatchmakingConfigurationWithContext(ctx aws.Context, input *UpdateMatchmakingConfigurationInput, opts ...request.Option) (*UpdateMatchmakingConfigurationOutput, error) { + req, out := c.UpdateMatchmakingConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateRuntimeConfiguration = "UpdateRuntimeConfiguration" // UpdateRuntimeConfigurationRequest generates a "aws/request.Request" representing the // client's request for the UpdateRuntimeConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateRuntimeConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateRuntimeConfiguration method directly -// instead. +// See UpdateRuntimeConfiguration for more information on using the UpdateRuntimeConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateRuntimeConfigurationRequest method. // req, resp := client.UpdateRuntimeConfigurationRequest(params) @@ -6189,6 +8054,200 @@ func (c *GameLift) UpdateRuntimeConfigurationWithContext(ctx aws.Context, input return out, req.Send() } +const opValidateMatchmakingRuleSet = "ValidateMatchmakingRuleSet" + +// ValidateMatchmakingRuleSetRequest generates a "aws/request.Request" representing the +// client's request for the ValidateMatchmakingRuleSet operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ValidateMatchmakingRuleSet for more information on using the ValidateMatchmakingRuleSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ValidateMatchmakingRuleSetRequest method. +// req, resp := client.ValidateMatchmakingRuleSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ValidateMatchmakingRuleSet +func (c *GameLift) ValidateMatchmakingRuleSetRequest(input *ValidateMatchmakingRuleSetInput) (req *request.Request, output *ValidateMatchmakingRuleSetOutput) { + op := &request.Operation{ + Name: opValidateMatchmakingRuleSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ValidateMatchmakingRuleSetInput{} + } + + output = &ValidateMatchmakingRuleSetOutput{} + req = c.newRequest(op, input, output) + return +} + +// ValidateMatchmakingRuleSet API operation for Amazon GameLift. +// +// Validates the syntax of a matchmaking rule or rule set. This operation checks +// that the rule set uses syntactically correct JSON and that it conforms to +// allowed property expressions. To validate syntax, provide a rule set string. +// +// Operations related to match configurations and rule sets include: +// +// * CreateMatchmakingConfiguration +// +// * DescribeMatchmakingConfigurations +// +// * UpdateMatchmakingConfiguration +// +// * DeleteMatchmakingConfiguration +// +// * CreateMatchmakingRuleSet +// +// * DescribeMatchmakingRuleSets +// +// * ValidateMatchmakingRuleSet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation ValidateMatchmakingRuleSet for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnsupportedRegionException "UnsupportedRegionException" +// The requested operation is not supported in the region specified. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ValidateMatchmakingRuleSet +func (c *GameLift) ValidateMatchmakingRuleSet(input *ValidateMatchmakingRuleSetInput) (*ValidateMatchmakingRuleSetOutput, error) { + req, out := c.ValidateMatchmakingRuleSetRequest(input) + return out, req.Send() +} + +// ValidateMatchmakingRuleSetWithContext is the same as ValidateMatchmakingRuleSet with the addition of +// the ability to pass a context and additional request options. +// +// See ValidateMatchmakingRuleSet for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) ValidateMatchmakingRuleSetWithContext(ctx aws.Context, input *ValidateMatchmakingRuleSetInput, opts ...request.Option) (*ValidateMatchmakingRuleSetOutput, error) { + req, out := c.ValidateMatchmakingRuleSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Represents the input for a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/AcceptMatchInput +type AcceptMatchInput struct { + _ struct{} `type:"structure"` + + // Player response to the proposed match. + // + // AcceptanceType is a required field + AcceptanceType *string `type:"string" required:"true" enum:"AcceptanceType"` + + // Unique identifier for a player delivering the response. This parameter can + // include one or multiple player IDs. + // + // PlayerIds is a required field + PlayerIds []*string `type:"list" required:"true"` + + // Unique identifier for a matchmaking ticket. The ticket must be in status + // REQUIRES_ACCEPTANCE; otherwise this request will fail. + // + // TicketId is a required field + TicketId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AcceptMatchInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AcceptMatchInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AcceptMatchInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AcceptMatchInput"} + if s.AcceptanceType == nil { + invalidParams.Add(request.NewErrParamRequired("AcceptanceType")) + } + if s.PlayerIds == nil { + invalidParams.Add(request.NewErrParamRequired("PlayerIds")) + } + if s.TicketId == nil { + invalidParams.Add(request.NewErrParamRequired("TicketId")) + } + if s.TicketId != nil && len(*s.TicketId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TicketId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcceptanceType sets the AcceptanceType field's value. +func (s *AcceptMatchInput) SetAcceptanceType(v string) *AcceptMatchInput { + s.AcceptanceType = &v + return s +} + +// SetPlayerIds sets the PlayerIds field's value. +func (s *AcceptMatchInput) SetPlayerIds(v []*string) *AcceptMatchInput { + s.PlayerIds = v + return s +} + +// SetTicketId sets the TicketId field's value. +func (s *AcceptMatchInput) SetTicketId(v string) *AcceptMatchInput { + s.TicketId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/AcceptMatchOutput +type AcceptMatchOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AcceptMatchOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AcceptMatchOutput) GoString() string { + return s.String() +} + // Properties describing a fleet alias. // // Alias-related operations include: @@ -6285,20 +8344,92 @@ func (s *Alias) SetRoutingStrategy(v *RoutingStrategy) *Alias { return s } -// AWS access credentials sometimes used for uploading game build files to Amazon +// Values for use in Player attribute type:value pairs. This object lets you +// specify an attribute value using any of the valid data types: string, number, +// string array or data map. Each AttributeValue object can use only one of +// the available properties. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/AttributeValue +type AttributeValue struct { + _ struct{} `type:"structure"` + + // For number values, expressed as double. + N *float64 `type:"double"` + + // For single string values. Maximum string length is 100 characters. + S *string `min:"1" type:"string"` + + // For a map of up to 10 type:value pairs. Maximum length for each string value + // is 100 characters. + SDM map[string]*float64 `type:"map"` + + // For a list of up to 10 strings. Maximum length for each string is 100 characters. + // Duplicate values are not recognized; all occurrences of the repeated value + // after the first of a repeated value are ignored. + SL []*string `type:"list"` +} + +// String returns the string representation +func (s AttributeValue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttributeValue) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AttributeValue) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AttributeValue"} + if s.S != nil && len(*s.S) < 1 { + invalidParams.Add(request.NewErrParamMinLen("S", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetN sets the N field's value. +func (s *AttributeValue) SetN(v float64) *AttributeValue { + s.N = &v + return s +} + +// SetS sets the S field's value. +func (s *AttributeValue) SetS(v string) *AttributeValue { + s.S = &v + return s +} + +// SetSDM sets the SDM field's value. +func (s *AttributeValue) SetSDM(v map[string]*float64) *AttributeValue { + s.SDM = v + return s +} + +// SetSL sets the SL field's value. +func (s *AttributeValue) SetSL(v []*string) *AttributeValue { + s.SL = v + return s +} + +// Temporary access credentials used for uploading game build files to Amazon // GameLift. They are valid for a limited time. If they expire before you upload // your game build, get a new set by calling RequestUploadCredentials. // Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/AwsCredentials type AwsCredentials struct { _ struct{} `type:"structure"` - // Access key for an AWS account. + // Temporary key allowing access to the Amazon GameLift S3 account. AccessKeyId *string `min:"1" type:"string"` - // Secret key for an AWS account. + // Temporary secret key allowing access to the Amazon GameLift S3 account. SecretAccessKey *string `min:"1" type:"string"` - // Token specific to a build ID. + // Token used to associate a specific build ID with the files uploaded using + // these credentials. SessionToken *string `min:"1" type:"string"` } @@ -6370,14 +8501,15 @@ type Build struct { // // Possible build statuses include the following: // - // * INITIALIZED – A new build has been defined, but no files have been uploaded. - // You cannot create fleets for builds that are in this status. When a build - // is successfully created, the build status is set to this value. + // * INITIALIZED -- A new build has been defined, but no files have been + // uploaded. You cannot create fleets for builds that are in this status. + // When a build is successfully created, the build status is set to this + // value. // - // * READY – The game build has been successfully uploaded. You can now create - // new fleets for this build. + // * READY -- The game build has been successfully uploaded. You can now + // create new fleets for this build. // - // * FAILED – The game build upload failed. You cannot create new fleets + // * FAILED -- The game build upload failed. You cannot create new fleets // for this build. Status *string `type:"string" enum:"BuildStatus"` @@ -6713,13 +8845,24 @@ type CreateFleetInput struct { // this change will only affect sessions created after the policy change. You // can also set protection for individual instances using UpdateGameSession. // - // * NoProtection – The game session can be terminated during a scale-down + // * NoProtection -- The game session can be terminated during a scale-down // event. // - // * FullProtection – If the game session is in an ACTIVE status, it cannot + // * FullProtection -- If the game session is in an ACTIVE status, it cannot // be terminated during a scale-down event. NewGameSessionProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"` + // Unique identifier for the AWS account with the VPC that you want to peer + // your Amazon GameLift fleet with. You can find your Account ID in the AWS + // Management Console under account settings. + PeerVpcAwsAccountId *string `min:"1" type:"string"` + + // Unique identifier for a VPC with resources to be accessed by your Amazon + // GameLift fleet. The VPC must be in the same region where your fleet is deployed. + // To get VPC information, including IDs, use the Virtual Private Cloud service + // tools, including the VPC Dashboard in the AWS Management Console. + PeerVpcId *string `min:"1" type:"string"` + // Policy that limits the number of game sessions an individual player can create // over a span of time for this fleet. ResourceCreationLimitPolicy *ResourceCreationLimitPolicy `type:"structure"` @@ -6778,6 +8921,12 @@ func (s *CreateFleetInput) Validate() error { if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } + if s.PeerVpcAwsAccountId != nil && len(*s.PeerVpcAwsAccountId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PeerVpcAwsAccountId", 1)) + } + if s.PeerVpcId != nil && len(*s.PeerVpcId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PeerVpcId", 1)) + } if s.ServerLaunchParameters != nil && len(*s.ServerLaunchParameters) < 1 { invalidParams.Add(request.NewErrParamMinLen("ServerLaunchParameters", 1)) } @@ -6854,6 +9003,18 @@ func (s *CreateFleetInput) SetNewGameSessionProtectionPolicy(v string) *CreateFl return s } +// SetPeerVpcAwsAccountId sets the PeerVpcAwsAccountId field's value. +func (s *CreateFleetInput) SetPeerVpcAwsAccountId(v string) *CreateFleetInput { + s.PeerVpcAwsAccountId = &v + return s +} + +// SetPeerVpcId sets the PeerVpcId field's value. +func (s *CreateFleetInput) SetPeerVpcId(v string) *CreateFleetInput { + s.PeerVpcId = &v + return s +} + // SetResourceCreationLimitPolicy sets the ResourceCreationLimitPolicy field's value. func (s *CreateFleetInput) SetResourceCreationLimitPolicy(v *ResourceCreationLimitPolicy) *CreateFleetInput { s.ResourceCreationLimitPolicy = v @@ -6922,23 +9083,33 @@ type CreateGameSessionInput struct { // reference either a fleet ID or alias ID, but not both. FleetId *string `type:"string"` - // Set of developer-defined properties for a game session. These properties - // are passed to the server process hosting the game session. + // Set of developer-defined properties for a game session, formatted as a set + // of type:value pairs. These properties are included in the GameSession object, + // which is passed to the game server with a request to start a new game session + // (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). GameProperties []*GameProperty `type:"list"` + // Set of developer-defined game session properties, formatted as a single string + // value. This data is included in the GameSession object, which is passed to + // the game server with a request to start a new game session (see Start a Game + // Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + GameSessionData *string `min:"1" type:"string"` + // This parameter is no longer preferred. Please use IdempotencyToken instead. // Custom string that uniquely identifies a request for a new game session. // Maximum token length is 48 characters. If provided, this string is included - // in the new game session's ID. (A game session ID has the following format: + // in the new game session's ID. (A game session ARN has the following format: // arn:aws:gamelift:::gamesession//.) GameSessionId *string `min:"1" type:"string"` // Custom string that uniquely identifies a request for a new game session. // Maximum token length is 48 characters. If provided, this string is included - // in the new game session's ID. (A game session ID has the following format: + // in the new game session's ID. (A game session ARN has the following format: // arn:aws:gamelift:::gamesession//.) + // token>.) Idempotency tokens remain in use for 30 days after a game session + // has ended; game session objects are retained for this time period and then + // deleted. IdempotencyToken *string `min:"1" type:"string"` // Maximum number of players that can be connected simultaneously to the game @@ -6968,6 +9139,9 @@ func (s *CreateGameSessionInput) Validate() error { if s.CreatorId != nil && len(*s.CreatorId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CreatorId", 1)) } + if s.GameSessionData != nil && len(*s.GameSessionData) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GameSessionData", 1)) + } if s.GameSessionId != nil && len(*s.GameSessionId) < 1 { invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1)) } @@ -7021,6 +9195,12 @@ func (s *CreateGameSessionInput) SetGameProperties(v []*GameProperty) *CreateGam return s } +// SetGameSessionData sets the GameSessionData field's value. +func (s *CreateGameSessionInput) SetGameSessionData(v string) *CreateGameSessionInput { + s.GameSessionData = &v + return s +} + // SetGameSessionId sets the GameSessionId field's value. func (s *CreateGameSessionInput) SetGameSessionId(v string) *CreateGameSessionInput { s.GameSessionId = &v @@ -7080,8 +9260,8 @@ type CreateGameSessionQueueInput struct { // ARN. Destinations are listed in default preference order. Destinations []*GameSessionQueueDestination `type:"list"` - // Descriptive label that is associated with queue. Queue names must be unique - // within each region. + // Descriptive label that is associated with game session queue. Queue names + // must be unique within each region. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -7189,6 +9369,331 @@ func (s *CreateGameSessionQueueOutput) SetGameSessionQueue(v *GameSessionQueue) return s } +// Represents the input for a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingConfigurationInput +type CreateMatchmakingConfigurationInput struct { + _ struct{} `type:"structure"` + + // Flag that determines whether or not a match that was created with this configuration + // must be accepted by the matched players. To require acceptance, set to TRUE. + // + // AcceptanceRequired is a required field + AcceptanceRequired *bool `type:"boolean" required:"true"` + + // Length of time (in seconds) to wait for players to accept a proposed match. + // If any player rejects the match or fails to accept before the timeout, the + // ticket continues to look for an acceptable match. + AcceptanceTimeoutSeconds *int64 `min:"1" type:"integer"` + + // Number of player slots in a match to keep open for future players. For example, + // if the configuration's rule set specifies a match for a single 12-person + // team, and the additional player count is set to 2, only 10 players are selected + // for the match. + AdditionalPlayerCount *int64 `type:"integer"` + + // Information to attached to all events related to the matchmaking configuration. + CustomEventData *string `type:"string"` + + // Meaningful description of the matchmaking configuration. + Description *string `min:"1" type:"string"` + + // Set of developer-defined properties for a game session, formatted as a set + // of type:value pairs. These properties are included in the GameSession object, + // which is passed to the game server with a request to start a new game session + // (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // This information is added to the new GameSession object that is created for + // a successful match. + GameProperties []*GameProperty `type:"list"` + + // Set of developer-defined game session properties, formatted as a single string + // value. This data is included in the GameSession object, which is passed to + // the game server with a request to start a new game session (see Start a Game + // Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // This information is added to the new GameSession object that is created for + // a successful match. + GameSessionData *string `min:"1" type:"string"` + + // Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) + // that is assigned to a game session queue and uniquely identifies it. Format + // is arn:aws:gamelift:::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. + // These queues are used when placing game sessions for matches that are created + // with this matchmaking configuration. Queues can be located in any region. + // + // GameSessionQueueArns is a required field + GameSessionQueueArns []*string `type:"list" required:"true"` + + // Unique identifier for a matchmaking configuration. This name is used to identify + // the configuration associated with a matchmaking request or ticket. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // SNS topic ARN that is set up to receive matchmaking notifications. + NotificationTarget *string `type:"string"` + + // Maximum duration, in seconds, that a matchmaking ticket can remain in process + // before timing out. Requests that time out can be resubmitted as needed. + // + // RequestTimeoutSeconds is a required field + RequestTimeoutSeconds *int64 `min:"1" type:"integer" required:"true"` + + // Unique identifier for a matchmaking rule set to use with this configuration. + // A matchmaking configuration can only use rule sets that are defined in the + // same region. + // + // RuleSetName is a required field + RuleSetName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateMatchmakingConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateMatchmakingConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateMatchmakingConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateMatchmakingConfigurationInput"} + if s.AcceptanceRequired == nil { + invalidParams.Add(request.NewErrParamRequired("AcceptanceRequired")) + } + if s.AcceptanceTimeoutSeconds != nil && *s.AcceptanceTimeoutSeconds < 1 { + invalidParams.Add(request.NewErrParamMinValue("AcceptanceTimeoutSeconds", 1)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.GameSessionData != nil && len(*s.GameSessionData) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GameSessionData", 1)) + } + if s.GameSessionQueueArns == nil { + invalidParams.Add(request.NewErrParamRequired("GameSessionQueueArns")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.RequestTimeoutSeconds == nil { + invalidParams.Add(request.NewErrParamRequired("RequestTimeoutSeconds")) + } + if s.RequestTimeoutSeconds != nil && *s.RequestTimeoutSeconds < 1 { + invalidParams.Add(request.NewErrParamMinValue("RequestTimeoutSeconds", 1)) + } + if s.RuleSetName == nil { + invalidParams.Add(request.NewErrParamRequired("RuleSetName")) + } + if s.RuleSetName != nil && len(*s.RuleSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleSetName", 1)) + } + if s.GameProperties != nil { + for i, v := range s.GameProperties { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GameProperties", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcceptanceRequired sets the AcceptanceRequired field's value. +func (s *CreateMatchmakingConfigurationInput) SetAcceptanceRequired(v bool) *CreateMatchmakingConfigurationInput { + s.AcceptanceRequired = &v + return s +} + +// SetAcceptanceTimeoutSeconds sets the AcceptanceTimeoutSeconds field's value. +func (s *CreateMatchmakingConfigurationInput) SetAcceptanceTimeoutSeconds(v int64) *CreateMatchmakingConfigurationInput { + s.AcceptanceTimeoutSeconds = &v + return s +} + +// SetAdditionalPlayerCount sets the AdditionalPlayerCount field's value. +func (s *CreateMatchmakingConfigurationInput) SetAdditionalPlayerCount(v int64) *CreateMatchmakingConfigurationInput { + s.AdditionalPlayerCount = &v + return s +} + +// SetCustomEventData sets the CustomEventData field's value. +func (s *CreateMatchmakingConfigurationInput) SetCustomEventData(v string) *CreateMatchmakingConfigurationInput { + s.CustomEventData = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateMatchmakingConfigurationInput) SetDescription(v string) *CreateMatchmakingConfigurationInput { + s.Description = &v + return s +} + +// SetGameProperties sets the GameProperties field's value. +func (s *CreateMatchmakingConfigurationInput) SetGameProperties(v []*GameProperty) *CreateMatchmakingConfigurationInput { + s.GameProperties = v + return s +} + +// SetGameSessionData sets the GameSessionData field's value. +func (s *CreateMatchmakingConfigurationInput) SetGameSessionData(v string) *CreateMatchmakingConfigurationInput { + s.GameSessionData = &v + return s +} + +// SetGameSessionQueueArns sets the GameSessionQueueArns field's value. +func (s *CreateMatchmakingConfigurationInput) SetGameSessionQueueArns(v []*string) *CreateMatchmakingConfigurationInput { + s.GameSessionQueueArns = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateMatchmakingConfigurationInput) SetName(v string) *CreateMatchmakingConfigurationInput { + s.Name = &v + return s +} + +// SetNotificationTarget sets the NotificationTarget field's value. +func (s *CreateMatchmakingConfigurationInput) SetNotificationTarget(v string) *CreateMatchmakingConfigurationInput { + s.NotificationTarget = &v + return s +} + +// SetRequestTimeoutSeconds sets the RequestTimeoutSeconds field's value. +func (s *CreateMatchmakingConfigurationInput) SetRequestTimeoutSeconds(v int64) *CreateMatchmakingConfigurationInput { + s.RequestTimeoutSeconds = &v + return s +} + +// SetRuleSetName sets the RuleSetName field's value. +func (s *CreateMatchmakingConfigurationInput) SetRuleSetName(v string) *CreateMatchmakingConfigurationInput { + s.RuleSetName = &v + return s +} + +// Represents the returned data in response to a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingConfigurationOutput +type CreateMatchmakingConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Object that describes the newly created matchmaking configuration. + Configuration *MatchmakingConfiguration `type:"structure"` +} + +// String returns the string representation +func (s CreateMatchmakingConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateMatchmakingConfigurationOutput) GoString() string { + return s.String() +} + +// SetConfiguration sets the Configuration field's value. +func (s *CreateMatchmakingConfigurationOutput) SetConfiguration(v *MatchmakingConfiguration) *CreateMatchmakingConfigurationOutput { + s.Configuration = v + return s +} + +// Represents the input for a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingRuleSetInput +type CreateMatchmakingRuleSetInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a matchmaking rule set. This name is used to identify + // the rule set associated with a matchmaking configuration. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Collection of matchmaking rules, formatted as a JSON string. (Note that comments + // are not allowed in JSON, but most elements support a description field.) + // + // RuleSetBody is a required field + RuleSetBody *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateMatchmakingRuleSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateMatchmakingRuleSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateMatchmakingRuleSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateMatchmakingRuleSetInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.RuleSetBody == nil { + invalidParams.Add(request.NewErrParamRequired("RuleSetBody")) + } + if s.RuleSetBody != nil && len(*s.RuleSetBody) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleSetBody", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *CreateMatchmakingRuleSetInput) SetName(v string) *CreateMatchmakingRuleSetInput { + s.Name = &v + return s +} + +// SetRuleSetBody sets the RuleSetBody field's value. +func (s *CreateMatchmakingRuleSetInput) SetRuleSetBody(v string) *CreateMatchmakingRuleSetInput { + s.RuleSetBody = &v + return s +} + +// Represents the returned data in response to a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingRuleSetOutput +type CreateMatchmakingRuleSetOutput struct { + _ struct{} `type:"structure"` + + // Object that describes the newly created matchmaking rule set. + // + // RuleSet is a required field + RuleSet *MatchmakingRuleSet `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateMatchmakingRuleSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateMatchmakingRuleSetOutput) GoString() string { + return s.String() +} + +// SetRuleSet sets the RuleSet field's value. +func (s *CreateMatchmakingRuleSetOutput) SetRuleSet(v *MatchmakingRuleSet) *CreateMatchmakingRuleSetOutput { + s.RuleSet = v + return s +} + // Represents the input for a request action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreatePlayerSessionInput type CreatePlayerSessionInput struct { @@ -7384,6 +9889,191 @@ func (s *CreatePlayerSessionsOutput) SetPlayerSessions(v []*PlayerSession) *Crea return s } +// Represents the input for a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringAuthorizationInput +type CreateVpcPeeringAuthorizationInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for the AWS account that you use to manage your Amazon + // GameLift fleet. You can find your Account ID in the AWS Management Console + // under account settings. + // + // GameLiftAwsAccountId is a required field + GameLiftAwsAccountId *string `min:"1" type:"string" required:"true"` + + // Unique identifier for a VPC with resources to be accessed by your Amazon + // GameLift fleet. The VPC must be in the same region where your fleet is deployed. + // To get VPC information, including IDs, use the Virtual Private Cloud service + // tools, including the VPC Dashboard in the AWS Management Console. + // + // PeerVpcId is a required field + PeerVpcId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateVpcPeeringAuthorizationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateVpcPeeringAuthorizationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateVpcPeeringAuthorizationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateVpcPeeringAuthorizationInput"} + if s.GameLiftAwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("GameLiftAwsAccountId")) + } + if s.GameLiftAwsAccountId != nil && len(*s.GameLiftAwsAccountId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GameLiftAwsAccountId", 1)) + } + if s.PeerVpcId == nil { + invalidParams.Add(request.NewErrParamRequired("PeerVpcId")) + } + if s.PeerVpcId != nil && len(*s.PeerVpcId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PeerVpcId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGameLiftAwsAccountId sets the GameLiftAwsAccountId field's value. +func (s *CreateVpcPeeringAuthorizationInput) SetGameLiftAwsAccountId(v string) *CreateVpcPeeringAuthorizationInput { + s.GameLiftAwsAccountId = &v + return s +} + +// SetPeerVpcId sets the PeerVpcId field's value. +func (s *CreateVpcPeeringAuthorizationInput) SetPeerVpcId(v string) *CreateVpcPeeringAuthorizationInput { + s.PeerVpcId = &v + return s +} + +// Represents the returned data in response to a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringAuthorizationOutput +type CreateVpcPeeringAuthorizationOutput struct { + _ struct{} `type:"structure"` + + // Details on the requested VPC peering authorization, including expiration. + VpcPeeringAuthorization *VpcPeeringAuthorization `type:"structure"` +} + +// String returns the string representation +func (s CreateVpcPeeringAuthorizationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateVpcPeeringAuthorizationOutput) GoString() string { + return s.String() +} + +// SetVpcPeeringAuthorization sets the VpcPeeringAuthorization field's value. +func (s *CreateVpcPeeringAuthorizationOutput) SetVpcPeeringAuthorization(v *VpcPeeringAuthorization) *CreateVpcPeeringAuthorizationOutput { + s.VpcPeeringAuthorization = v + return s +} + +// Represents the input for a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringConnectionInput +type CreateVpcPeeringConnectionInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet. This tells Amazon GameLift which GameLift + // VPC to peer with. + // + // FleetId is a required field + FleetId *string `type:"string" required:"true"` + + // Unique identifier for the AWS account with the VPC that you want to peer + // your Amazon GameLift fleet with. You can find your Account ID in the AWS + // Management Console under account settings. + // + // PeerVpcAwsAccountId is a required field + PeerVpcAwsAccountId *string `min:"1" type:"string" required:"true"` + + // Unique identifier for a VPC with resources to be accessed by your Amazon + // GameLift fleet. The VPC must be in the same region where your fleet is deployed. + // To get VPC information, including IDs, use the Virtual Private Cloud service + // tools, including the VPC Dashboard in the AWS Management Console. + // + // PeerVpcId is a required field + PeerVpcId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateVpcPeeringConnectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateVpcPeeringConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateVpcPeeringConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateVpcPeeringConnectionInput"} + if s.FleetId == nil { + invalidParams.Add(request.NewErrParamRequired("FleetId")) + } + if s.PeerVpcAwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("PeerVpcAwsAccountId")) + } + if s.PeerVpcAwsAccountId != nil && len(*s.PeerVpcAwsAccountId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PeerVpcAwsAccountId", 1)) + } + if s.PeerVpcId == nil { + invalidParams.Add(request.NewErrParamRequired("PeerVpcId")) + } + if s.PeerVpcId != nil && len(*s.PeerVpcId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PeerVpcId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetId sets the FleetId field's value. +func (s *CreateVpcPeeringConnectionInput) SetFleetId(v string) *CreateVpcPeeringConnectionInput { + s.FleetId = &v + return s +} + +// SetPeerVpcAwsAccountId sets the PeerVpcAwsAccountId field's value. +func (s *CreateVpcPeeringConnectionInput) SetPeerVpcAwsAccountId(v string) *CreateVpcPeeringConnectionInput { + s.PeerVpcAwsAccountId = &v + return s +} + +// SetPeerVpcId sets the PeerVpcId field's value. +func (s *CreateVpcPeeringConnectionInput) SetPeerVpcId(v string) *CreateVpcPeeringConnectionInput { + s.PeerVpcId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringConnectionOutput +type CreateVpcPeeringConnectionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateVpcPeeringConnectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateVpcPeeringConnectionOutput) GoString() string { + return s.String() +} + // Represents the input for a request action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteAliasInput type DeleteAliasInput struct { @@ -7554,8 +10244,8 @@ func (s DeleteFleetOutput) GoString() string { type DeleteGameSessionQueueInput struct { _ struct{} `type:"structure"` - // Descriptive label that is associated with queue. Queue names must be unique - // within each region. + // Descriptive label that is associated with game session queue. Queue names + // must be unique within each region. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -7608,6 +10298,64 @@ func (s DeleteGameSessionQueueOutput) GoString() string { return s.String() } +// Represents the input for a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteMatchmakingConfigurationInput +type DeleteMatchmakingConfigurationInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a matchmaking configuration + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteMatchmakingConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteMatchmakingConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteMatchmakingConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteMatchmakingConfigurationInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DeleteMatchmakingConfigurationInput) SetName(v string) *DeleteMatchmakingConfigurationInput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteMatchmakingConfigurationOutput +type DeleteMatchmakingConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteMatchmakingConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteMatchmakingConfigurationOutput) GoString() string { + return s.String() +} + // Represents the input for a request action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteScalingPolicyInput type DeleteScalingPolicyInput struct { @@ -7681,6 +10429,160 @@ func (s DeleteScalingPolicyOutput) GoString() string { return s.String() } +// Represents the input for a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringAuthorizationInput +type DeleteVpcPeeringAuthorizationInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for the AWS account that you use to manage your Amazon + // GameLift fleet. You can find your Account ID in the AWS Management Console + // under account settings. + // + // GameLiftAwsAccountId is a required field + GameLiftAwsAccountId *string `min:"1" type:"string" required:"true"` + + // Unique identifier for a VPC with resources to be accessed by your Amazon + // GameLift fleet. The VPC must be in the same region where your fleet is deployed. + // To get VPC information, including IDs, use the Virtual Private Cloud service + // tools, including the VPC Dashboard in the AWS Management Console. + // + // PeerVpcId is a required field + PeerVpcId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteVpcPeeringAuthorizationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteVpcPeeringAuthorizationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteVpcPeeringAuthorizationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringAuthorizationInput"} + if s.GameLiftAwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("GameLiftAwsAccountId")) + } + if s.GameLiftAwsAccountId != nil && len(*s.GameLiftAwsAccountId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GameLiftAwsAccountId", 1)) + } + if s.PeerVpcId == nil { + invalidParams.Add(request.NewErrParamRequired("PeerVpcId")) + } + if s.PeerVpcId != nil && len(*s.PeerVpcId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PeerVpcId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGameLiftAwsAccountId sets the GameLiftAwsAccountId field's value. +func (s *DeleteVpcPeeringAuthorizationInput) SetGameLiftAwsAccountId(v string) *DeleteVpcPeeringAuthorizationInput { + s.GameLiftAwsAccountId = &v + return s +} + +// SetPeerVpcId sets the PeerVpcId field's value. +func (s *DeleteVpcPeeringAuthorizationInput) SetPeerVpcId(v string) *DeleteVpcPeeringAuthorizationInput { + s.PeerVpcId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringAuthorizationOutput +type DeleteVpcPeeringAuthorizationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteVpcPeeringAuthorizationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteVpcPeeringAuthorizationOutput) GoString() string { + return s.String() +} + +// Represents the input for a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringConnectionInput +type DeleteVpcPeeringConnectionInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet. This value must match the fleet ID referenced + // in the VPC peering connection record. + // + // FleetId is a required field + FleetId *string `type:"string" required:"true"` + + // Unique identifier for a VPC peering connection. This value is included in + // the VpcPeeringConnection object, which can be retrieved by calling DescribeVpcPeeringConnections. + // + // VpcPeeringConnectionId is a required field + VpcPeeringConnectionId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteVpcPeeringConnectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteVpcPeeringConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteVpcPeeringConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringConnectionInput"} + if s.FleetId == nil { + invalidParams.Add(request.NewErrParamRequired("FleetId")) + } + if s.VpcPeeringConnectionId == nil { + invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId")) + } + if s.VpcPeeringConnectionId != nil && len(*s.VpcPeeringConnectionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VpcPeeringConnectionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetId sets the FleetId field's value. +func (s *DeleteVpcPeeringConnectionInput) SetFleetId(v string) *DeleteVpcPeeringConnectionInput { + s.FleetId = &v + return s +} + +// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value. +func (s *DeleteVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *DeleteVpcPeeringConnectionInput { + s.VpcPeeringConnectionId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringConnectionOutput +type DeleteVpcPeeringConnectionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteVpcPeeringConnectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteVpcPeeringConnectionOutput) GoString() string { + return s.String() +} + // Represents the input for a request action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeAliasInput type DescribeAliasInput struct { @@ -7882,9 +10784,9 @@ type DescribeFleetAttributesInput struct { Limit *int64 `min:"1" type:"integer"` // Token that indicates the start of the next sequential page of results. Use - // the token that is returned with a previous call to this action. To specify - // the start of the result set, do not specify a value. This parameter is ignored - // when the request specifies one or a list of fleet IDs. + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. This parameter + // is ignored when the request specifies one or a list of fleet IDs. NextToken *string `min:"1" type:"string"` } @@ -7987,9 +10889,9 @@ type DescribeFleetCapacityInput struct { Limit *int64 `min:"1" type:"integer"` // Token that indicates the start of the next sequential page of results. Use - // the token that is returned with a previous call to this action. To specify - // the start of the result set, do not specify a value. This parameter is ignored - // when the request specifies one or a list of fleet IDs. + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. This parameter + // is ignored when the request specifies one or a list of fleet IDs. NextToken *string `min:"1" type:"string"` } @@ -8098,8 +11000,8 @@ type DescribeFleetEventsInput struct { Limit *int64 `min:"1" type:"integer"` // Token that indicates the start of the next sequential page of results. Use - // the token that is returned with a previous call to this action. To specify - // the start of the result set, do not specify a value. + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. NextToken *string `min:"1" type:"string"` // Earliest date to retrieve event logs for. If no start time is specified, @@ -8284,9 +11186,9 @@ type DescribeFleetUtilizationInput struct { Limit *int64 `min:"1" type:"integer"` // Token that indicates the start of the next sequential page of results. Use - // the token that is returned with a previous call to this action. To specify - // the start of the result set, do not specify a value. This parameter is ignored - // when the request specifies one or a list of fleet IDs. + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. This parameter + // is ignored when the request specifies one or a list of fleet IDs. NextToken *string `min:"1" type:"string"` } @@ -8395,8 +11297,8 @@ type DescribeGameSessionDetailsInput struct { Limit *int64 `min:"1" type:"integer"` // Token that indicates the start of the next sequential page of results. Use - // the token that is returned with a previous call to this action. To specify - // the start of the result set, do not specify a value. + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. NextToken *string `min:"1" type:"string"` // Game session status to filter results on. Possible game session statuses @@ -8592,8 +11494,8 @@ type DescribeGameSessionQueuesInput struct { Names []*string `type:"list"` // Token that indicates the start of the next sequential page of results. Use - // the token that is returned with a previous call to this action. To specify - // the start of the result set, do not specify a value. + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. NextToken *string `min:"1" type:"string"` } @@ -8698,8 +11600,8 @@ type DescribeGameSessionsInput struct { Limit *int64 `min:"1" type:"integer"` // Token that indicates the start of the next sequential page of results. Use - // the token that is returned with a previous call to this action. To specify - // the start of the result set, do not specify a value. + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. NextToken *string `min:"1" type:"string"` // Game session status to filter results on. Possible game session statuses @@ -8832,8 +11734,8 @@ type DescribeInstancesInput struct { Limit *int64 `min:"1" type:"integer"` // Token that indicates the start of the next sequential page of results. Use - // the token that is returned with a previous call to this action. To specify - // the start of the result set, do not specify a value. + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. NextToken *string `min:"1" type:"string"` } @@ -8926,6 +11828,288 @@ func (s *DescribeInstancesOutput) SetNextToken(v string) *DescribeInstancesOutpu return s } +// Represents the input for a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingConfigurationsInput +type DescribeMatchmakingConfigurationsInput struct { + _ struct{} `type:"structure"` + + // Maximum number of results to return. Use this parameter with NextToken to + // get results as a set of sequential pages. This parameter is limited to 10. + Limit *int64 `min:"1" type:"integer"` + + // Unique identifier for a matchmaking configuration(s) to retrieve. To request + // all existing configurations, leave this parameter empty. + Names []*string `type:"list"` + + // Token that indicates the start of the next sequential page of results. Use + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. + NextToken *string `min:"1" type:"string"` + + // Unique identifier for a matchmaking rule set. Use this parameter to retrieve + // all matchmaking configurations that use this rule set. + RuleSetName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeMatchmakingConfigurationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMatchmakingConfigurationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeMatchmakingConfigurationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeMatchmakingConfigurationsInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.RuleSetName != nil && len(*s.RuleSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleSetName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLimit sets the Limit field's value. +func (s *DescribeMatchmakingConfigurationsInput) SetLimit(v int64) *DescribeMatchmakingConfigurationsInput { + s.Limit = &v + return s +} + +// SetNames sets the Names field's value. +func (s *DescribeMatchmakingConfigurationsInput) SetNames(v []*string) *DescribeMatchmakingConfigurationsInput { + s.Names = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeMatchmakingConfigurationsInput) SetNextToken(v string) *DescribeMatchmakingConfigurationsInput { + s.NextToken = &v + return s +} + +// SetRuleSetName sets the RuleSetName field's value. +func (s *DescribeMatchmakingConfigurationsInput) SetRuleSetName(v string) *DescribeMatchmakingConfigurationsInput { + s.RuleSetName = &v + return s +} + +// Represents the returned data in response to a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingConfigurationsOutput +type DescribeMatchmakingConfigurationsOutput struct { + _ struct{} `type:"structure"` + + // Collection of requested matchmaking configuration objects. + Configurations []*MatchmakingConfiguration `type:"list"` + + // Token that indicates where to resume retrieving results on the next call + // to this action. If no token is returned, these results represent the end + // of the list. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeMatchmakingConfigurationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMatchmakingConfigurationsOutput) GoString() string { + return s.String() +} + +// SetConfigurations sets the Configurations field's value. +func (s *DescribeMatchmakingConfigurationsOutput) SetConfigurations(v []*MatchmakingConfiguration) *DescribeMatchmakingConfigurationsOutput { + s.Configurations = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeMatchmakingConfigurationsOutput) SetNextToken(v string) *DescribeMatchmakingConfigurationsOutput { + s.NextToken = &v + return s +} + +// Represents the input for a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingInput +type DescribeMatchmakingInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a matchmaking ticket. To request all existing tickets, + // leave this parameter empty. + // + // TicketIds is a required field + TicketIds []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s DescribeMatchmakingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMatchmakingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeMatchmakingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeMatchmakingInput"} + if s.TicketIds == nil { + invalidParams.Add(request.NewErrParamRequired("TicketIds")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTicketIds sets the TicketIds field's value. +func (s *DescribeMatchmakingInput) SetTicketIds(v []*string) *DescribeMatchmakingInput { + s.TicketIds = v + return s +} + +// Represents the returned data in response to a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingOutput +type DescribeMatchmakingOutput struct { + _ struct{} `type:"structure"` + + // Collection of existing matchmaking ticket objects matching the request. + TicketList []*MatchmakingTicket `type:"list"` +} + +// String returns the string representation +func (s DescribeMatchmakingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMatchmakingOutput) GoString() string { + return s.String() +} + +// SetTicketList sets the TicketList field's value. +func (s *DescribeMatchmakingOutput) SetTicketList(v []*MatchmakingTicket) *DescribeMatchmakingOutput { + s.TicketList = v + return s +} + +// Represents the input for a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingRuleSetsInput +type DescribeMatchmakingRuleSetsInput struct { + _ struct{} `type:"structure"` + + // Maximum number of results to return. Use this parameter with NextToken to + // get results as a set of sequential pages. + Limit *int64 `min:"1" type:"integer"` + + // Unique identifier for a matchmaking rule set. This name is used to identify + // the rule set associated with a matchmaking configuration. + Names []*string `min:"1" type:"list"` + + // Token that indicates the start of the next sequential page of results. Use + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeMatchmakingRuleSetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMatchmakingRuleSetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeMatchmakingRuleSetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeMatchmakingRuleSetsInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.Names != nil && len(s.Names) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Names", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLimit sets the Limit field's value. +func (s *DescribeMatchmakingRuleSetsInput) SetLimit(v int64) *DescribeMatchmakingRuleSetsInput { + s.Limit = &v + return s +} + +// SetNames sets the Names field's value. +func (s *DescribeMatchmakingRuleSetsInput) SetNames(v []*string) *DescribeMatchmakingRuleSetsInput { + s.Names = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeMatchmakingRuleSetsInput) SetNextToken(v string) *DescribeMatchmakingRuleSetsInput { + s.NextToken = &v + return s +} + +// Represents the returned data in response to a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingRuleSetsOutput +type DescribeMatchmakingRuleSetsOutput struct { + _ struct{} `type:"structure"` + + // Token that indicates where to resume retrieving results on the next call + // to this action. If no token is returned, these results represent the end + // of the list. + NextToken *string `min:"1" type:"string"` + + // Collection of requested matchmaking rule set objects. + // + // RuleSets is a required field + RuleSets []*MatchmakingRuleSet `type:"list" required:"true"` +} + +// String returns the string representation +func (s DescribeMatchmakingRuleSetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMatchmakingRuleSetsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeMatchmakingRuleSetsOutput) SetNextToken(v string) *DescribeMatchmakingRuleSetsOutput { + s.NextToken = &v + return s +} + +// SetRuleSets sets the RuleSets field's value. +func (s *DescribeMatchmakingRuleSetsOutput) SetRuleSets(v []*MatchmakingRuleSet) *DescribeMatchmakingRuleSetsOutput { + s.RuleSets = v + return s +} + // Represents the input for a request action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribePlayerSessionsInput type DescribePlayerSessionsInput struct { @@ -8940,8 +12124,8 @@ type DescribePlayerSessionsInput struct { Limit *int64 `min:"1" type:"integer"` // Token that indicates the start of the next sequential page of results. Use - // the token that is returned with a previous call to this action. To specify - // the start of the result set, do not specify a value. If a player session + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. If a player session // ID is specified, this parameter is ignored. NextToken *string `min:"1" type:"string"` @@ -8955,16 +12139,16 @@ type DescribePlayerSessionsInput struct { // // Possible player session statuses include the following: // - // * RESERVED – The player session request has been received, but the player + // * RESERVED -- The player session request has been received, but the player // has not yet connected to the server process and/or been validated. // - // * ACTIVE – The player has been validated by the server process and is + // * ACTIVE -- The player has been validated by the server process and is // currently connected. // - // * COMPLETED – The player connection has been dropped. + // * COMPLETED -- The player connection has been dropped. // - // * TIMEDOUT – A player session request was received, but the player did - // not connect and/or was not validated within the time-out limit (60 seconds). + // * TIMEDOUT -- A player session request was received, but the player did + // not connect and/or was not validated within the timeout limit (60 seconds). PlayerSessionStatusFilter *string `min:"1" type:"string"` } @@ -9157,26 +12341,26 @@ type DescribeScalingPoliciesInput struct { Limit *int64 `min:"1" type:"integer"` // Token that indicates the start of the next sequential page of results. Use - // the token that is returned with a previous call to this action. To specify - // the start of the result set, do not specify a value. + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. NextToken *string `min:"1" type:"string"` // Scaling policy status to filter results on. A scaling policy is only in force // when in an ACTIVE status. // - // * ACTIVE – The scaling policy is currently in force. + // * ACTIVE -- The scaling policy is currently in force. // - // * UPDATEREQUESTED – A request to update the scaling policy has been received. + // * UPDATEREQUESTED -- A request to update the scaling policy has been received. // - // * UPDATING – A change is being made to the scaling policy. + // * UPDATING -- A change is being made to the scaling policy. // - // * DELETEREQUESTED – A request to delete the scaling policy has been received. + // * DELETEREQUESTED -- A request to delete the scaling policy has been received. // - // * DELETING – The scaling policy is being deleted. + // * DELETING -- The scaling policy is being deleted. // - // * DELETED – The scaling policy has been deleted. + // * DELETED -- The scaling policy has been deleted. // - // * ERROR – An error occurred in creating the policy. It should be removed + // * ERROR -- An error occurred in creating the policy. It should be removed // and recreated. StatusFilter *string `type:"string" enum:"ScalingStatusType"` } @@ -9270,6 +12454,96 @@ func (s *DescribeScalingPoliciesOutput) SetScalingPolicies(v []*ScalingPolicy) * return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringAuthorizationsInput +type DescribeVpcPeeringAuthorizationsInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DescribeVpcPeeringAuthorizationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeVpcPeeringAuthorizationsInput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringAuthorizationsOutput +type DescribeVpcPeeringAuthorizationsOutput struct { + _ struct{} `type:"structure"` + + // Collection of objects that describe all valid VPC peering operations for + // the current AWS account. + VpcPeeringAuthorizations []*VpcPeeringAuthorization `type:"list"` +} + +// String returns the string representation +func (s DescribeVpcPeeringAuthorizationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeVpcPeeringAuthorizationsOutput) GoString() string { + return s.String() +} + +// SetVpcPeeringAuthorizations sets the VpcPeeringAuthorizations field's value. +func (s *DescribeVpcPeeringAuthorizationsOutput) SetVpcPeeringAuthorizations(v []*VpcPeeringAuthorization) *DescribeVpcPeeringAuthorizationsOutput { + s.VpcPeeringAuthorizations = v + return s +} + +// Represents the input for a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringConnectionsInput +type DescribeVpcPeeringConnectionsInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet. + FleetId *string `type:"string"` +} + +// String returns the string representation +func (s DescribeVpcPeeringConnectionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeVpcPeeringConnectionsInput) GoString() string { + return s.String() +} + +// SetFleetId sets the FleetId field's value. +func (s *DescribeVpcPeeringConnectionsInput) SetFleetId(v string) *DescribeVpcPeeringConnectionsInput { + s.FleetId = &v + return s +} + +// Represents the returned data in response to a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringConnectionsOutput +type DescribeVpcPeeringConnectionsOutput struct { + _ struct{} `type:"structure"` + + // Collection of VPC peering connection records that match the request. + VpcPeeringConnections []*VpcPeeringConnection `type:"list"` +} + +// String returns the string representation +func (s DescribeVpcPeeringConnectionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeVpcPeeringConnectionsOutput) GoString() string { + return s.String() +} + +// SetVpcPeeringConnections sets the VpcPeeringConnections field's value. +func (s *DescribeVpcPeeringConnectionsOutput) SetVpcPeeringConnections(v []*VpcPeeringConnection) *DescribeVpcPeeringConnectionsOutput { + s.VpcPeeringConnections = v + return s +} + // Player information for use when creating player sessions using a game session // placement request with StartGameSessionPlacement. // Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DesiredPlayerSession @@ -9509,82 +12783,96 @@ type Event struct { // Type of event being logged. The following events are currently in use: // - // * General events: + // General events: // - // GENERIC_EVENT – An unspecified event has occurred. + // * GENERIC_EVENT -- An unspecified event has occurred. // - // * Fleet creation events: + // Fleet creation events: // - // FLEET_CREATED – A fleet record was successfully created with a status of - // NEW. Event messaging includes the fleet ID. + // * FLEET_CREATED -- A fleet record was successfully created with a status + // of NEW. Event messaging includes the fleet ID. // - // FLEET_STATE_DOWNLOADING – Fleet status changed from NEW to DOWNLOADING. The - // compressed build has started downloading to a fleet instance for installation. + // * FLEET_STATE_DOWNLOADING -- Fleet status changed from NEW to DOWNLOADING. + // The compressed build has started downloading to a fleet instance for installation. // - // FLEET_BINARY_DOWNLOAD_FAILED – The build failed to download to the fleet - // instance. + // * FLEET_BINARY_DOWNLOAD_FAILED -- The build failed to download to the + // fleet instance. // - // FLEET_CREATION_EXTRACTING_BUILD – The game server build was successfully + // * FLEET_CREATION_EXTRACTING_BUILD – The game server build was successfully // downloaded to an instance, and the build files are now being extracted // from the uploaded build and saved to an instance. Failure at this stage // prevents a fleet from moving to ACTIVE status. Logs for this stage display // a list of the files that are extracted and saved on the instance. Access - // the logs by using the URL in PreSignedLogUrl). + // the logs by using the URL in PreSignedLogUrl. // - // FLEET_CREATION_RUNNING_INSTALLER – The game server build files were successfully - // extracted, and the Amazon GameLift is now running the build's install - // script (if one is included). Failure in this stage prevents a fleet from - // moving to ACTIVE status. Logs for this stage list the installation steps - // and whether or not the install completed sucessfully. Access the logs - // by using the URL in PreSignedLogUrl). + // * FLEET_CREATION_RUNNING_INSTALLER – The game server build files were + // successfully extracted, and the Amazon GameLift is now running the build's + // install script (if one is included). Failure in this stage prevents a + // fleet from moving to ACTIVE status. Logs for this stage list the installation + // steps and whether or not the install completed successfully. Access the + // logs by using the URL in PreSignedLogUrl. // - // FLEET_CREATION_VALIDATING_RUNTIME_CONFIG – The build process was successful, - // and the Amazon GameLift is now verifying that the game server launch path(s), + // * FLEET_CREATION_VALIDATING_RUNTIME_CONFIG -- The build process was successful, + // and the Amazon GameLift is now verifying that the game server launch paths, // which are specified in the fleet's run-time configuration, exist. If any // listed launch path exists, Amazon GameLift tries to launch a game server // process and waits for the process to report ready. Failures in this stage // prevent a fleet from moving to ACTIVE status. Logs for this stage list // the launch paths in the run-time configuration and indicate whether each - // is found. Access the logs by using the URL in PreSignedLogUrl). Once the - // game server is launched, failures and crashes are logged; these logs can - // be downloaded from the Amazon GameLift console. + // is found. Access the logs by using the URL in PreSignedLogUrl. // - // FLEET_STATE_VALIDATING – Fleet status changed from DOWNLOADING to VALIDATING. + // * FLEET_STATE_VALIDATING -- Fleet status changed from DOWNLOADING to VALIDATING. // - // FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND – Validation of the run-time validation - // failed because the executable specified in a launch path does not exist - // on the instance. + // * FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND -- Validation of the run-time + // configuration failed because the executable specified in a launch path + // does not exist on the instance. // - // FLEET_STATE_BUILDING – Fleet status changed from VALIDATING to BUILDING. + // * FLEET_STATE_BUILDING -- Fleet status changed from VALIDATING to BUILDING. // - // FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE – Validation of the runtime validation - // failed because the executable specified in a launch path failed to run - // on the fleet instance. + // * FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE -- Validation of the run-time + // configuration failed because the executable specified in a launch path + // failed to run on the fleet instance. // - // FLEET_STATE_ACTIVATING – Fleet status changed from BUILDING to ACTIVATING. + // * FLEET_STATE_ACTIVATING -- Fleet status changed from BUILDING to ACTIVATING. // // - // FLEET_ACTIVATION_FAILED - The fleet failed to successfully complete one of - // the steps in the fleet activation process. This event code indicates that - // the game build was successfully downloaded to a fleet instance, built, + // * FLEET_ACTIVATION_FAILED - The fleet failed to successfully complete + // one of the steps in the fleet activation process. This event code indicates + // that the game build was successfully downloaded to a fleet instance, built, // and validated, but was not able to start a server process. A possible // reason for failure is that the game server is not reporting "process ready" // to the Amazon GameLift service. // - // FLEET_STATE_ACTIVE – The fleet's status changed from ACTIVATING to ACTIVE. - // The fleet is now ready to host game sessions. + // * FLEET_STATE_ACTIVE -- The fleet's status changed from ACTIVATING to + // ACTIVE. The fleet is now ready to host game sessions. // - // * Other fleet events: + // VPC peering events: // - // FLEET_SCALING_EVENT – A change was made to the fleet's capacity settings + // * FLEET_VPC_PEERING_SUCCEEDED -- A VPC peering connection has been established + // between the VPC for an Amazon GameLift fleet and a VPC in your AWS account. + // + // * FLEET_VPC_PEERING_FAILED -- A requested VPC peering connection has failed. + // Event details and status information (see DescribeVpcPeeringConnections) + // provide additional detail. A common reason for peering failure is that + // the two VPCs have overlapping CIDR blocks of IPv4 addresses. To resolve + // this, change the CIDR block for the VPC in your AWS account. For more + // information on VPC peering failures, see http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html + // (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html) + // + // * FLEET_VPC_PEERING_DELETED -- A VPC peering connection has been successfully + // deleted. + // + // Other fleet events: + // + // * FLEET_SCALING_EVENT -- A change was made to the fleet's capacity settings // (desired instances, minimum/maximum scaling limits). Event messaging includes // the new capacity settings. // - // FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED – A change was made to the - // fleet's game session protection policy setting. Event messaging includes - // both the old and new policy setting. + // * FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED -- A change was made + // to the fleet's game session protection policy setting. Event messaging + // includes both the old and new policy setting. // - // FLEET_DELETED – A request to delete a fleet was initiated. + // * FLEET_DELETED -- A request to delete a fleet was initiated. EventCode *string `type:"string" enum:"EventCode"` // Unique identifier for a fleet event. @@ -9597,9 +12885,9 @@ type Event struct { // Additional information related to the event. Message *string `min:"1" type:"string"` - // Location of stored logs with additional detail related to the event, useful - // for debugging issues. The URL is valid for 15 minutes. Fleet creation logs - // can also be accessed through the Amazon GameLift console. + // Location of stored logs with additional detail that is related to the event. + // This is useful for debugging issues. The URL is valid for 15 minutes. You + // can also access fleet creation logs through the Amazon GameLift console. PreSignedLogUrl *string `min:"1" type:"string"` // Unique identifier for an event resource, such as a fleet ID. @@ -9740,10 +13028,10 @@ type FleetAttributes struct { // Type of game session protection to set for all new instances started in the // fleet. // - // * NoProtection – The game session can be terminated during a scale-down + // * NoProtection -- The game session can be terminated during a scale-down // event. // - // * FullProtection – If the game session is in an ACTIVE status, it cannot + // * FullProtection -- If the game session is in an ACTIVE status, it cannot // be terminated during a scale-down event. NewGameSessionProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"` @@ -9770,21 +13058,21 @@ type FleetAttributes struct { // // Possible fleet statuses include the following: // - // * NEW – A new fleet has been defined and desired instances is set to 1. + // * NEW -- A new fleet has been defined and desired instances is set to + // 1. // - // - // * DOWNLOADING/VALIDATING/BUILDING/ACTIVATING – Amazon GameLift is setting + // * DOWNLOADING/VALIDATING/BUILDING/ACTIVATING -- Amazon GameLift is setting // up the new fleet, creating new instances with the game build and starting // server processes. // - // * ACTIVE – Hosts can now accept game sessions. + // * ACTIVE -- Hosts can now accept game sessions. // - // * ERROR – An error occurred when downloading, validating, building, or + // * ERROR -- An error occurred when downloading, validating, building, or // activating the fleet. // - // * DELETING – Hosts are responding to a delete fleet request. + // * DELETING -- Hosts are responding to a delete fleet request. // - // * TERMINATED – The fleet no longer exists. + // * TERMINATED -- The fleet no longer exists. Status *string `type:"string" enum:"FleetStatus"` // Time stamp indicating when this data object was terminated. Format is a number @@ -10096,20 +13384,23 @@ func (s *FleetUtilization) SetMaximumPlayerSessionCount(v int64) *FleetUtilizati return s } -// Set of key-value pairs containing information a server process requires to -// set up a game session. This object allows you to pass in any set of data -// needed for your game. For more information, see the Amazon GameLift Developer -// Guide (http://docs.aws.amazon.com/gamelift/latest/developerguide/). +// Set of key-value pairs that contain information about a game session. When +// included in a game session request, these properties communicate details +// to be used when setting up the new game session, such as to specify a game +// mode, level, or map. Game properties are passed to the game server process +// when initiating a new game session; the server process uses the properties +// as appropriate. For more information, see the Amazon GameLift Developer +// Guide (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html#gamelift-sdk-client-api-create). // Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GameProperty type GameProperty struct { _ struct{} `type:"structure"` - // TBD + // Game property identifier. // // Key is a required field Key *string `type:"string" required:"true"` - // TBD + // Game property value. // // Value is a required field Value *string `type:"string" required:"true"` @@ -10155,6 +13446,13 @@ func (s *GameProperty) SetValue(v string) *GameProperty { // Properties describing a game session. // +// A game session in ACTIVE status can host players. When a game session ends, +// its status is set to TERMINATED. +// +// Once the session ends, the game session object is retained for 30 days. This +// means you can reuse idempotency token values after this time. Game session +// logs are retained for 14 days. +// // Game-session-related operations include: // // * CreateGameSession @@ -10192,14 +13490,22 @@ type GameSession struct { // Number of players currently in the game session. CurrentPlayerSessionCount *int64 `type:"integer"` - // Unique identifier for a fleet the game session is running on. + // Unique identifier for a fleet that the game session is running on. FleetId *string `type:"string"` - // Set of developer-defined properties for a game session. These properties - // are passed to the server process hosting the game session. + // Set of developer-defined properties for a game session, formatted as a set + // of type:value pairs. These properties are included in the GameSession object, + // which is passed to the game server with a request to start a new game session + // (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). GameProperties []*GameProperty `type:"list"` - // Unique identifier for the game session. A game session ID has the following + // Set of developer-defined game session properties, formatted as a single string + // value. This data is included in the GameSession object, which is passed to + // the game server with a request to start a new game session (see Start a Game + // Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + GameSessionData *string `min:"1" type:"string"` + + // Unique identifier for the game session. A game session ARN has the following // format: arn:aws:gamelift:::gamesession//. GameSessionId *string `min:"1" type:"string"` @@ -10272,6 +13578,12 @@ func (s *GameSession) SetGameProperties(v []*GameProperty) *GameSession { return s } +// SetGameSessionData sets the GameSessionData field's value. +func (s *GameSession) SetGameSessionData(v string) *GameSession { + s.GameSessionData = &v + return s +} + // SetGameSessionId sets the GameSessionId field's value. func (s *GameSession) SetGameSessionId(v string) *GameSession { s.GameSessionId = &v @@ -10320,6 +13632,67 @@ func (s *GameSession) SetTerminationTime(v time.Time) *GameSession { return s } +// Connection information for the new game session that is created with matchmaking. +// (with StartMatchmaking). Once a match is set, the FlexMatch engine places +// the match and creates a new game session for it. This information, including +// the game session endpoint and player sessions for each player in the original +// matchmaking request, is added to the MatchmakingTicket, which can be retrieved +// by calling DescribeMatchmaking. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GameSessionConnectionInfo +type GameSessionConnectionInfo struct { + _ struct{} `type:"structure"` + + // Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) + // that is assigned to a game session and uniquely identifies it. + GameSessionArn *string `min:"1" type:"string"` + + // IP address of the game session. To connect to a Amazon GameLift game server, + // an app needs both the IP address and port number. + IpAddress *string `type:"string"` + + // Collection of player session IDs, one for each player ID that was included + // in the original matchmaking request. + MatchedPlayerSessions []*MatchedPlayerSession `type:"list"` + + // Port number for the game session. To connect to a Amazon GameLift game server, + // an app needs both the IP address and port number. + Port *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s GameSessionConnectionInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GameSessionConnectionInfo) GoString() string { + return s.String() +} + +// SetGameSessionArn sets the GameSessionArn field's value. +func (s *GameSessionConnectionInfo) SetGameSessionArn(v string) *GameSessionConnectionInfo { + s.GameSessionArn = &v + return s +} + +// SetIpAddress sets the IpAddress field's value. +func (s *GameSessionConnectionInfo) SetIpAddress(v string) *GameSessionConnectionInfo { + s.IpAddress = &v + return s +} + +// SetMatchedPlayerSessions sets the MatchedPlayerSessions field's value. +func (s *GameSessionConnectionInfo) SetMatchedPlayerSessions(v []*MatchedPlayerSession) *GameSessionConnectionInfo { + s.MatchedPlayerSessions = v + return s +} + +// SetPort sets the Port field's value. +func (s *GameSessionConnectionInfo) SetPort(v int64) *GameSessionConnectionInfo { + s.Port = &v + return s +} + // A game session's properties plus the protection policy currently in force. // Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GameSessionDetail type GameSessionDetail struct { @@ -10330,10 +13703,10 @@ type GameSessionDetail struct { // Current status of protection for the game session. // - // * NoProtection – The game session can be terminated during a scale-down + // * NoProtection -- The game session can be terminated during a scale-down // event. // - // * FullProtection – If the game session is in an ACTIVE status, it cannot + // * FullProtection -- If the game session is in an ACTIVE status, it cannot // be terminated during a scale-down event. ProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"` } @@ -10379,36 +13752,44 @@ type GameSessionPlacement struct { // out. EndTime *time.Time `type:"timestamp" timestampFormat:"unix"` - // Set of developer-defined properties for a game session. These properties - // are passed to the server process hosting the game session. + // Set of developer-defined properties for a game session, formatted as a set + // of type:value pairs. These properties are included in the GameSession object, + // which is passed to the game server with a request to start a new game session + // (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). GameProperties []*GameProperty `type:"list"` // Identifier for the game session created by this placement request. This value - // is set once the new game session is placed (placement status is Fulfilled). + // is set once the new game session is placed (placement status is FULFILLED). // This identifier is unique across all regions. You can use this value as a // GameSessionId value as needed. GameSessionArn *string `min:"1" type:"string"` + // Set of developer-defined game session properties, formatted as a single string + // value. This data is included in the GameSession object, which is passed to + // the game server with a request to start a new game session (see Start a Game + // Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + GameSessionData *string `min:"1" type:"string"` + // Unique identifier for the game session. This value is set once the new game - // session is placed (placement status is Fulfilled). + // session is placed (placement status is FULFILLED). GameSessionId *string `min:"1" type:"string"` // Descriptive label that is associated with a game session. Session names do // not need to be unique. GameSessionName *string `min:"1" type:"string"` - // Descriptive label that is associated with queue. Queue names must be unique - // within each region. + // Descriptive label that is associated with game session queue. Queue names + // must be unique within each region. GameSessionQueueName *string `min:"1" type:"string"` // Name of the region where the game session created by this placement request // is running. This value is set once the new game session is placed (placement - // status is Fulfilled). + // status is FULFILLED). GameSessionRegion *string `min:"1" type:"string"` // IP address of the game session. To connect to a Amazon GameLift game server, // an app needs both the IP address and port number. This value is set once - // the new game session is placed (placement status is Fulfilled). + // the new game session is placed (placement status is FULFILLED). IpAddress *string `type:"string"` // Maximum number of players that can be connected simultaneously to the game @@ -10417,7 +13798,7 @@ type GameSessionPlacement struct { // Collection of information on player sessions created in response to the game // session placement request. These player sessions are created only once a - // new game session is successfully placed (placement status is Fulfilled). + // new game session is successfully placed (placement status is FULFILLED). // This information includes the player ID (as provided in the placement request) // and the corresponding player session ID. Retrieve full player sessions by // calling DescribePlayerSessions with the player session ID. @@ -10427,12 +13808,12 @@ type GameSessionPlacement struct { PlacementId *string `min:"1" type:"string"` // Set of values, expressed in milliseconds, indicating the amount of latency - // that players are experiencing when connected to AWS regions. + // that a player experiences when connected to AWS regions. PlayerLatencies []*PlayerLatency `type:"list"` // Port number for the game session. To connect to a Amazon GameLift game server, // an app needs both the IP address and port number. This value is set once - // the new game session is placed (placement status is Fulfilled). + // the new game session is placed (placement status is FULFILLED). Port *int64 `min:"1" type:"integer"` // Time stamp indicating when this request was placed in the queue. Format is @@ -10441,17 +13822,17 @@ type GameSessionPlacement struct { // Current status of the game session placement request. // - // * PENDING – The placement request is currently in the queue waiting to + // * PENDING -- The placement request is currently in the queue waiting to // be processed. // - // * FULFILLED – A new game session and player sessions (if requested) have + // * FULFILLED -- A new game session and player sessions (if requested) have // been successfully created. Values for GameSessionArn and GameSessionRegion // are available. // - // * CANCELLED – The placement request was canceled with a call to StopGameSessionPlacement. + // * CANCELLED -- The placement request was canceled with a call to StopGameSessionPlacement. // - // * TIMED_OUT – A new game session was not successfully created before the - // time limit expired. You can resubmit the placement request as needed. + // * TIMED_OUT -- A new game session was not successfully created before + // the time limit expired. You can resubmit the placement request as needed. Status *string `type:"string" enum:"GameSessionPlacementState"` } @@ -10483,6 +13864,12 @@ func (s *GameSessionPlacement) SetGameSessionArn(v string) *GameSessionPlacement return s } +// SetGameSessionData sets the GameSessionData field's value. +func (s *GameSessionPlacement) SetGameSessionData(v string) *GameSessionPlacement { + s.GameSessionData = &v + return s +} + // SetGameSessionId sets the GameSessionId field's value. func (s *GameSessionPlacement) SetGameSessionId(v string) *GameSessionPlacement { s.GameSessionId = &v @@ -10558,16 +13945,6 @@ func (s *GameSessionPlacement) SetStatus(v string) *GameSessionPlacement { // Configuration of a queue that is used to process game session placement requests. // The queue configuration identifies several game features: // -// Queue-related operations include: -// -// * CreateGameSessionQueue -// -// * DescribeGameSessionQueues -// -// * UpdateGameSessionQueue -// -// * DeleteGameSessionQueue -// // * The destinations where a new game session can potentially be hosted. // Amazon GameLift tries these destinations in an order based on either the // queue's default order or player latency information, if provided in a @@ -10582,7 +13959,7 @@ func (s *GameSessionPlacement) SetStatus(v string) *GameSessionPlacement { // high latencies, preventing game sessions from being placed where any individual // player is reporting latency higher than a policy's maximum. // -// Queue-related operations include the following: +// Queue-related operations include: // // * CreateGameSessionQueue // @@ -10605,8 +13982,8 @@ type GameSessionQueue struct { // is arn:aws:gamelift:::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. GameSessionQueueArn *string `min:"1" type:"string"` - // Descriptive label that is associated with queue. Queue names must be unique - // within each region. + // Descriptive label that is associated with game session queue. Queue names + // must be unique within each region. Name *string `min:"1" type:"string"` // Collection of latency policies to apply when processing game sessions placement @@ -10870,7 +14247,7 @@ func (s *GetInstanceAccessOutput) SetInstanceAccess(v *InstanceAccess) *GetInsta } // Properties that describe an instance of a virtual computing resource that -// hosts one or more game servers. A fleet contains zero or more instances. +// hosts one or more game servers. A fleet may contain zero or more instances. // Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/Instance type Instance struct { _ struct{} `type:"structure"` @@ -10893,15 +14270,15 @@ type Instance struct { // Current status of the instance. Possible statuses include the following: // - // * PENDING – The instance is in the process of being created and launching + // * PENDING -- The instance is in the process of being created and launching // server processes as defined in the fleet's run-time configuration. // - // * ACTIVE – The instance has been successfully created and at least one + // * ACTIVE -- The instance has been successfully created and at least one // server process has successfully launched and reported back to Amazon GameLift // that it is ready to host a game session. The instance is now considered // ready to host game sessions. // - // * TERMINATING – The instance is in the process of shutting down. This + // * TERMINATING -- The instance is in the process of shutting down. This // may happen to reduce capacity during a scaling down event or to recycle // resources in the event of a problem. Status *string `type:"string" enum:"InstanceStatus"` @@ -11171,8 +14548,8 @@ type ListAliasesInput struct { Name *string `min:"1" type:"string"` // Token that indicates the start of the next sequential page of results. Use - // the token that is returned with a previous call to this action. To specify - // the start of the result set, do not specify a value. + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. NextToken *string `min:"1" type:"string"` // Type of routing to filter results on. Use this parameter to retrieve only @@ -11181,10 +14558,10 @@ type ListAliasesInput struct { // // Possible routing types include the following: // - // * SIMPLE – The alias resolves to one specific fleet. Use this type when + // * SIMPLE -- The alias resolves to one specific fleet. Use this type when // routing to active fleets. // - // * TERMINAL – The alias does not resolve to a fleet but instead can be + // * TERMINAL -- The alias does not resolve to a fleet but instead can be // used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException // with the RoutingStrategy message embedded. RoutingStrategyType *string `type:"string" enum:"RoutingStrategyType"` @@ -11289,8 +14666,8 @@ type ListBuildsInput struct { Limit *int64 `min:"1" type:"integer"` // Token that indicates the start of the next sequential page of results. Use - // the token that is returned with a previous call to this action. To specify - // the start of the result set, do not specify a value. + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. NextToken *string `min:"1" type:"string"` // Build status to filter results by. To retrieve all builds, leave this parameter @@ -11298,14 +14675,15 @@ type ListBuildsInput struct { // // Possible build statuses include the following: // - // * INITIALIZED – A new build has been defined, but no files have been uploaded. - // You cannot create fleets for builds that are in this status. When a build - // is successfully created, the build status is set to this value. + // * INITIALIZED -- A new build has been defined, but no files have been + // uploaded. You cannot create fleets for builds that are in this status. + // When a build is successfully created, the build status is set to this + // value. // - // * READY – The game build has been successfully uploaded. You can now create - // new fleets for this build. + // * READY -- The game build has been successfully uploaded. You can now + // create new fleets for this build. // - // * FAILED – The game build upload failed. You cannot create new fleets + // * FAILED -- The game build upload failed. You cannot create new fleets // for this build. Status *string `type:"string" enum:"BuildStatus"` } @@ -11405,8 +14783,8 @@ type ListFleetsInput struct { Limit *int64 `min:"1" type:"integer"` // Token that indicates the start of the next sequential page of results. Use - // the token that is returned with a previous call to this action. To specify - // the start of the result set, do not specify a value. + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. NextToken *string `min:"1" type:"string"` } @@ -11492,6 +14870,430 @@ func (s *ListFleetsOutput) SetNextToken(v string) *ListFleetsOutput { return s } +// Represents a new player session that is created as a result of a successful +// FlexMatch match. A successful match automatically creates new player sessions +// for every player ID in the original matchmaking request. +// +// When players connect to the match's game session, they must include both +// player ID and player session ID in order to claim their assigned player slot. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/MatchedPlayerSession +type MatchedPlayerSession struct { + _ struct{} `type:"structure"` + + // Unique identifier for a player + PlayerId *string `min:"1" type:"string"` + + // Unique identifier for a player session + PlayerSessionId *string `type:"string"` +} + +// String returns the string representation +func (s MatchedPlayerSession) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MatchedPlayerSession) GoString() string { + return s.String() +} + +// SetPlayerId sets the PlayerId field's value. +func (s *MatchedPlayerSession) SetPlayerId(v string) *MatchedPlayerSession { + s.PlayerId = &v + return s +} + +// SetPlayerSessionId sets the PlayerSessionId field's value. +func (s *MatchedPlayerSession) SetPlayerSessionId(v string) *MatchedPlayerSession { + s.PlayerSessionId = &v + return s +} + +// Guidelines for use with FlexMatch to match players into games. All matchmaking +// requests must specify a matchmaking configuration. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/MatchmakingConfiguration +type MatchmakingConfiguration struct { + _ struct{} `type:"structure"` + + // Flag that determines whether or not a match that was created with this configuration + // must be accepted by the matched players. To require acceptance, set to TRUE. + AcceptanceRequired *bool `type:"boolean"` + + // Length of time (in seconds) to wait for players to accept a proposed match. + // If any player rejects the match or fails to accept before the timeout, the + // ticket continues to look for an acceptable match. + AcceptanceTimeoutSeconds *int64 `min:"1" type:"integer"` + + // Number of player slots in a match to keep open for future players. For example, + // if the configuration's rule set specifies a match for a single 12-person + // team, and the additional player count is set to 2, only 10 players are selected + // for the match. + AdditionalPlayerCount *int64 `type:"integer"` + + // Time stamp indicating when this data object was created. Format is a number + // expressed in Unix time as milliseconds (for example "1469498468.057"). + CreationTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Information to attached to all events related to the matchmaking configuration. + CustomEventData *string `type:"string"` + + // Descriptive label that is associated with matchmaking configuration. + Description *string `min:"1" type:"string"` + + // Set of developer-defined properties for a game session, formatted as a set + // of type:value pairs. These properties are included in the GameSession object, + // which is passed to the game server with a request to start a new game session + // (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // This information is added to the new GameSession object that is created for + // a successful match. + GameProperties []*GameProperty `type:"list"` + + // Set of developer-defined game session properties, formatted as a single string + // value. This data is included in the GameSession object, which is passed to + // the game server with a request to start a new game session (see Start a Game + // Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // This information is added to the new GameSession object that is created for + // a successful match. + GameSessionData *string `min:"1" type:"string"` + + // Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) + // that is assigned to a game session queue and uniquely identifies it. Format + // is arn:aws:gamelift:::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. + // These queues are used when placing game sessions for matches that are created + // with this matchmaking configuration. Queues can be located in any region. + GameSessionQueueArns []*string `type:"list"` + + // Unique identifier for a matchmaking configuration. This name is used to identify + // the configuration associated with a matchmaking request or ticket. + Name *string `min:"1" type:"string"` + + // SNS topic ARN that is set up to receive matchmaking notifications. + NotificationTarget *string `type:"string"` + + // Maximum duration, in seconds, that a matchmaking ticket can remain in process + // before timing out. Requests that time out can be resubmitted as needed. + RequestTimeoutSeconds *int64 `min:"1" type:"integer"` + + // Unique identifier for a matchmaking rule set to use with this configuration. + // A matchmaking configuration can only use rule sets that are defined in the + // same region. + RuleSetName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s MatchmakingConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MatchmakingConfiguration) GoString() string { + return s.String() +} + +// SetAcceptanceRequired sets the AcceptanceRequired field's value. +func (s *MatchmakingConfiguration) SetAcceptanceRequired(v bool) *MatchmakingConfiguration { + s.AcceptanceRequired = &v + return s +} + +// SetAcceptanceTimeoutSeconds sets the AcceptanceTimeoutSeconds field's value. +func (s *MatchmakingConfiguration) SetAcceptanceTimeoutSeconds(v int64) *MatchmakingConfiguration { + s.AcceptanceTimeoutSeconds = &v + return s +} + +// SetAdditionalPlayerCount sets the AdditionalPlayerCount field's value. +func (s *MatchmakingConfiguration) SetAdditionalPlayerCount(v int64) *MatchmakingConfiguration { + s.AdditionalPlayerCount = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *MatchmakingConfiguration) SetCreationTime(v time.Time) *MatchmakingConfiguration { + s.CreationTime = &v + return s +} + +// SetCustomEventData sets the CustomEventData field's value. +func (s *MatchmakingConfiguration) SetCustomEventData(v string) *MatchmakingConfiguration { + s.CustomEventData = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *MatchmakingConfiguration) SetDescription(v string) *MatchmakingConfiguration { + s.Description = &v + return s +} + +// SetGameProperties sets the GameProperties field's value. +func (s *MatchmakingConfiguration) SetGameProperties(v []*GameProperty) *MatchmakingConfiguration { + s.GameProperties = v + return s +} + +// SetGameSessionData sets the GameSessionData field's value. +func (s *MatchmakingConfiguration) SetGameSessionData(v string) *MatchmakingConfiguration { + s.GameSessionData = &v + return s +} + +// SetGameSessionQueueArns sets the GameSessionQueueArns field's value. +func (s *MatchmakingConfiguration) SetGameSessionQueueArns(v []*string) *MatchmakingConfiguration { + s.GameSessionQueueArns = v + return s +} + +// SetName sets the Name field's value. +func (s *MatchmakingConfiguration) SetName(v string) *MatchmakingConfiguration { + s.Name = &v + return s +} + +// SetNotificationTarget sets the NotificationTarget field's value. +func (s *MatchmakingConfiguration) SetNotificationTarget(v string) *MatchmakingConfiguration { + s.NotificationTarget = &v + return s +} + +// SetRequestTimeoutSeconds sets the RequestTimeoutSeconds field's value. +func (s *MatchmakingConfiguration) SetRequestTimeoutSeconds(v int64) *MatchmakingConfiguration { + s.RequestTimeoutSeconds = &v + return s +} + +// SetRuleSetName sets the RuleSetName field's value. +func (s *MatchmakingConfiguration) SetRuleSetName(v string) *MatchmakingConfiguration { + s.RuleSetName = &v + return s +} + +// Set of rule statements, used with FlexMatch, that determine how to build +// a certain kind of player match. Each rule set describes a type of group to +// be created and defines the parameters for acceptable player matches. Rule +// sets are used in MatchmakingConfiguration objects. +// +// A rule set may define the following elements for a match. For detailed information +// and examples showing how to construct a rule set, see Create Matchmaking +// Rules for Your Game (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-rules.html). +// +// * Teams -- Required. A rule set must define one or multiple teams for +// the match and set minimum and maximum team sizes. For example, a rule +// set might describe a 4x4 match that requires all eight slots to be filled. +// +// +// * Player attributes -- Optional. These attributes specify a set of player +// characteristics to evaluate when looking for a match. Matchmaking requests +// that use a rule set with player attributes must provide the corresponding +// attribute values. For example, an attribute might specify a player's skill +// or level. +// +// * Rules -- Optional. Rules define how to evaluate potential players for +// a match based on player attributes. A rule might specify minimum requirements +// for individual players--such as each player must meet a certain skill +// level, or may describe an entire group--such as all teams must be evenly +// matched or have at least one player in a certain role. +// +// * Expansions -- Optional. Expansions allow you to relax the rules after +// a period of time if no acceptable matches are found. This feature lets +// you balance getting players into games in a reasonable amount of time +// instead of making them wait indefinitely for the best possible match. +// For example, you might use an expansion to increase the maximum skill +// variance between players after 30 seconds. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/MatchmakingRuleSet +type MatchmakingRuleSet struct { + _ struct{} `type:"structure"` + + // Time stamp indicating when this data object was created. Format is a number + // expressed in Unix time as milliseconds (for example "1469498468.057"). + CreationTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Collection of matchmaking rules, formatted as a JSON string. (Note that comments14 + // are not allowed in JSON, but most elements support a description field.) + // + // RuleSetBody is a required field + RuleSetBody *string `min:"1" type:"string" required:"true"` + + // Unique identifier for a matchmaking rule set + RuleSetName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s MatchmakingRuleSet) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MatchmakingRuleSet) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *MatchmakingRuleSet) SetCreationTime(v time.Time) *MatchmakingRuleSet { + s.CreationTime = &v + return s +} + +// SetRuleSetBody sets the RuleSetBody field's value. +func (s *MatchmakingRuleSet) SetRuleSetBody(v string) *MatchmakingRuleSet { + s.RuleSetBody = &v + return s +} + +// SetRuleSetName sets the RuleSetName field's value. +func (s *MatchmakingRuleSet) SetRuleSetName(v string) *MatchmakingRuleSet { + s.RuleSetName = &v + return s +} + +// Ticket generated to track the progress of a matchmaking request. Each ticket +// is uniquely identified by a ticket ID, supplied by the requester, when creating +// a matchmaking request with StartMatchmaking. Tickets can be retrieved by +// calling DescribeMatchmaking with the ticket ID. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/MatchmakingTicket +type MatchmakingTicket struct { + _ struct{} `type:"structure"` + + // Name of the MatchmakingConfiguration that is used with this ticket. Matchmaking + // configurations determine how players are grouped into a match and how a new + // game session is created for the match. + ConfigurationName *string `min:"1" type:"string"` + + // Time stamp indicating when the matchmaking request stopped being processed + // due to successful completion, timeout, or cancellation. Format is a number + // expressed in Unix time as milliseconds (for example "1469498468.057"). + EndTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Average amount of time (in seconds) that players are currently waiting for + // a match. If there is not enough recent data, this property may be empty. + EstimatedWaitTime *int64 `type:"integer"` + + // Identifier and connection information of the game session created for the + // match. This information is added to the ticket only after the matchmaking + // request has been successfully completed. + GameSessionConnectionInfo *GameSessionConnectionInfo `type:"structure"` + + // A set of Player objects, each representing a player to find matches for. + // Players are identified by a unique player ID and may include latency data + // for use during matchmaking. If the ticket is in status COMPLETED, the Player + // objects include the team the players were assigned to in the resulting match. + Players []*Player `type:"list"` + + // Time stamp indicating when this matchmaking request was received. Format + // is a number expressed in Unix time as milliseconds (for example "1469498468.057"). + StartTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Current status of the matchmaking request. + // + // * QUEUED -- The matchmaking request has been received and is currently + // waiting to be processed. + // + // * SEARCHING -- The matchmaking request is currently being processed. + // + // * REQUIRES_ACCEPTANCE -- A match has been proposed and the players must + // accept the match (see AcceptMatch). This status is used only with requests + // that use a matchmaking configuration with a player acceptance requirement. + // + // * PLACING -- The FlexMatch engine has matched players and is in the process + // of placing a new game session for the match. + // + // * COMPLETED -- Players have been matched and a game session is ready to + // host the players. A ticket in this state contains the necessary connection + // information for players. + // + // * FAILED -- The matchmaking request was not completed. Tickets with players + // who fail to accept a proposed match are placed in FAILED status; new matchmaking + // requests can be submitted for these players. + // + // * CANCELLED -- The matchmaking request was canceled with a call to StopMatchmaking. + // + // * TIMED_OUT -- The matchmaking request was not completed within the duration + // specified in the matchmaking configuration. Matchmaking requests that + // time out can be resubmitted. + Status *string `type:"string" enum:"MatchmakingConfigurationStatus"` + + // Additional information about the current status. + StatusMessage *string `type:"string"` + + // Code to explain the current status. For example, a status reason may indicate + // when a ticket has returned to SEARCHING status after a proposed match fails + // to receive player acceptances. + StatusReason *string `type:"string"` + + // Unique identifier for a matchmaking ticket. + TicketId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s MatchmakingTicket) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MatchmakingTicket) GoString() string { + return s.String() +} + +// SetConfigurationName sets the ConfigurationName field's value. +func (s *MatchmakingTicket) SetConfigurationName(v string) *MatchmakingTicket { + s.ConfigurationName = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *MatchmakingTicket) SetEndTime(v time.Time) *MatchmakingTicket { + s.EndTime = &v + return s +} + +// SetEstimatedWaitTime sets the EstimatedWaitTime field's value. +func (s *MatchmakingTicket) SetEstimatedWaitTime(v int64) *MatchmakingTicket { + s.EstimatedWaitTime = &v + return s +} + +// SetGameSessionConnectionInfo sets the GameSessionConnectionInfo field's value. +func (s *MatchmakingTicket) SetGameSessionConnectionInfo(v *GameSessionConnectionInfo) *MatchmakingTicket { + s.GameSessionConnectionInfo = v + return s +} + +// SetPlayers sets the Players field's value. +func (s *MatchmakingTicket) SetPlayers(v []*Player) *MatchmakingTicket { + s.Players = v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *MatchmakingTicket) SetStartTime(v time.Time) *MatchmakingTicket { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *MatchmakingTicket) SetStatus(v string) *MatchmakingTicket { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *MatchmakingTicket) SetStatusMessage(v string) *MatchmakingTicket { + s.StatusMessage = &v + return s +} + +// SetStatusReason sets the StatusReason field's value. +func (s *MatchmakingTicket) SetStatusReason(v string) *MatchmakingTicket { + s.StatusReason = &v + return s +} + +// SetTicketId sets the TicketId field's value. +func (s *MatchmakingTicket) SetTicketId(v string) *MatchmakingTicket { + s.TicketId = &v + return s +} + // Information about a player session that was created as part of a StartGameSessionPlacement // request. This object contains only the player ID and player session ID. To // retrieve full details on a player session, call DescribePlayerSessions with @@ -11545,6 +15347,98 @@ func (s *PlacedPlayerSession) SetPlayerSessionId(v string) *PlacedPlayerSession return s } +// Represents a player in matchmaking. When starting a matchmaking request, +// a player has a player ID, attributes, and may have latency data. Team information +// is added after a match has been successfully completed. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/Player +type Player struct { + _ struct{} `type:"structure"` + + // Set of values, expressed in milliseconds, indicating the amount of latency + // that a player experiences when connected to AWS regions. If this property + // is present, FlexMatch considers placing the match only in regions for which + // latency is reported. + // + // If a matchmaker has a rule that evaluates player latency, players must report + // latency in order to be matched. If no latency is reported in this scenario, + // FlexMatch assumes that no regions are available to the player and the ticket + // is not matchable. + LatencyInMs map[string]*int64 `type:"map"` + + // Collection of name:value pairs containing player information for use in matchmaking. + // Player attribute names need to match playerAttributes names in the rule set + // being used. Example: "PlayerAttributes": {"skill": {"N": "23"}, "gameMode": + // {"S": "deathmatch"}}. + PlayerAttributes map[string]*AttributeValue `type:"map"` + + // Unique identifier for a player + PlayerId *string `min:"1" type:"string"` + + // Name of the team that the player is assigned to in a match. Team names are + // defined in a matchmaking rule set. + Team *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s Player) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Player) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Player) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Player"} + if s.PlayerId != nil && len(*s.PlayerId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1)) + } + if s.Team != nil && len(*s.Team) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Team", 1)) + } + if s.PlayerAttributes != nil { + for i, v := range s.PlayerAttributes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlayerAttributes", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLatencyInMs sets the LatencyInMs field's value. +func (s *Player) SetLatencyInMs(v map[string]*int64) *Player { + s.LatencyInMs = v + return s +} + +// SetPlayerAttributes sets the PlayerAttributes field's value. +func (s *Player) SetPlayerAttributes(v map[string]*AttributeValue) *Player { + s.PlayerAttributes = v + return s +} + +// SetPlayerId sets the PlayerId field's value. +func (s *Player) SetPlayerId(v string) *Player { + s.PlayerId = &v + return s +} + +// SetTeam sets the Team field's value. +func (s *Player) SetTeam(v string) *Player { + s.Team = &v + return s +} + // Regional latency information for a player, used when requesting a new game // session with StartGameSessionPlacement. This value indicates the amount of // time lag that exists when the player is connected to a fleet in the specified @@ -11661,11 +15555,17 @@ func (s *PlayerLatencyPolicy) SetPolicyDurationSeconds(v int64) *PlayerLatencyPo return s } -// Properties describing a player session. A player session represents either -// a player reservation for a game session or actual player activity in a game -// session. A player session object (including player data) is automatically -// passed to a game session when the player connects to the game session and -// is validated. +// Properties describing a player session. Player session objects are created +// either by creating a player session for a specific game session, or as part +// of a game session placement. A player session represents either a player +// reservation for a game session (status RESERVED) or actual player activity +// in a game session (status ACTIVE). A player session object (including player +// data) is automatically passed to a game session when the player connects +// to the game session and is validated. +// +// When a player disconnects, the player session status changes to COMPLETED. +// Once the session ends, the player session object is retained for 30 days +// and then removed. // // Player-session-related operations include: // @@ -11719,16 +15619,16 @@ type PlayerSession struct { // // Possible player session statuses include the following: // - // * RESERVED – The player session request has been received, but the player + // * RESERVED -- The player session request has been received, but the player // has not yet connected to the server process and/or been validated. // - // * ACTIVE – The player has been validated by the server process and is + // * ACTIVE -- The player has been validated by the server process and is // currently connected. // - // * COMPLETED – The player connection has been dropped. + // * COMPLETED -- The player connection has been dropped. // - // * TIMEDOUT – A player session request was received, but the player did - // not connect and/or was not validated within the time-out limit (60 seconds). + // * TIMEDOUT -- A player session request was received, but the player did + // not connect and/or was not validated within the timeout limit (60 seconds). Status *string `type:"string" enum:"PlayerSessionStatus"` // Time stamp indicating when this data object was terminated. Format is a number @@ -11830,24 +15730,24 @@ type PutScalingPolicyInput struct { // Name of the Amazon GameLift-defined metric that is used to trigger an adjustment. // - // * ActivatingGameSessions – number of game sessions in the process of being - // created (game session status = ACTIVATING). + // * ActivatingGameSessions -- number of game sessions in the process of + // being created (game session status = ACTIVATING). // - // * ActiveGameSessions – number of game sessions currently running (game + // * ActiveGameSessions -- number of game sessions currently running (game // session status = ACTIVE). // - // * CurrentPlayerSessions – number of active or reserved player sessions + // * CurrentPlayerSessions -- number of active or reserved player sessions // (player session status = ACTIVE or RESERVED). // - // * AvailablePlayerSessions – number of player session slots currently available - // in active game sessions across the fleet, calculated by subtracting a - // game session's current player session count from its maximum player session - // count. This number includes game sessions that are not currently accepting - // players (game session PlayerSessionCreationPolicy = DENY_ALL). + // * AvailablePlayerSessions -- number of player session slots currently + // available in active game sessions across the fleet, calculated by subtracting + // a game session's current player session count from its maximum player + // session count. This number includes game sessions that are not currently + // accepting players (game session PlayerSessionCreationPolicy = DENY_ALL). // - // * ActiveInstances – number of instances currently running a game session. + // * ActiveInstances -- number of instances currently running a game session. // - // * IdleInstances – number of instances not currently running a game session. + // * IdleInstances -- number of instances not currently running a game session. // // MetricName is a required field MetricName *string `type:"string" required:"true" enum:"MetricName"` @@ -11866,13 +15766,13 @@ type PutScalingPolicyInput struct { // Type of adjustment to make to a fleet's instance count (see FleetCapacity): // - // * ChangeInCapacity – add (or subtract) the scaling adjustment value from + // * ChangeInCapacity -- add (or subtract) the scaling adjustment value from // the current instance count. Positive values scale up while negative values // scale down. // - // * ExactCapacity – set the instance count to the scaling adjustment value. + // * ExactCapacity -- set the instance count to the scaling adjustment value. // - // * PercentChangeInCapacity – increase or reduce the current instance count + // * PercentChangeInCapacity -- increase or reduce the current instance count // by the scaling adjustment, read as a percentage. Positive values scale // up while negative values scale down; for example, a value of "-10" scales // the fleet down by 10%. @@ -12255,10 +16155,10 @@ type RoutingStrategy struct { // // Possible routing types include the following: // - // * SIMPLE – The alias resolves to one specific fleet. Use this type when + // * SIMPLE -- The alias resolves to one specific fleet. Use this type when // routing to active fleets. // - // * TERMINAL – The alias does not resolve to a fleet but instead can be + // * TERMINAL -- The alias does not resolve to a fleet but instead can be // used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException // with the RoutingStrategy message embedded. Type *string `type:"string" enum:"RoutingStrategyType"` @@ -12293,7 +16193,7 @@ func (s *RoutingStrategy) SetType(v string) *RoutingStrategy { } // A collection of server process configurations that describe what processes -// to run on each instance in a fleet. All fleets must have a runtime configuration. +// to run on each instance in a fleet. All fleets must have a run-time configuration. // Each instance in the fleet launches the server processes specified in the // run-time configuration and launches new ones as existing processes end. Each // instance regularly checks for an updated run-time configuration and follows @@ -12562,24 +16462,24 @@ type ScalingPolicy struct { // Name of the Amazon GameLift-defined metric that is used to trigger an adjustment. // - // * ActivatingGameSessions – number of game sessions in the process of being - // created (game session status = ACTIVATING). + // * ActivatingGameSessions -- number of game sessions in the process of + // being created (game session status = ACTIVATING). // - // * ActiveGameSessions – number of game sessions currently running (game + // * ActiveGameSessions -- number of game sessions currently running (game // session status = ACTIVE). // - // * CurrentPlayerSessions – number of active or reserved player sessions + // * CurrentPlayerSessions -- number of active or reserved player sessions // (player session status = ACTIVE or RESERVED). // - // * AvailablePlayerSessions – number of player session slots currently available - // in active game sessions across the fleet, calculated by subtracting a - // game session's current player session count from its maximum player session - // count. This number does include game sessions that are not currently accepting - // players (game session PlayerSessionCreationPolicy = DENY_ALL). + // * AvailablePlayerSessions -- number of player session slots currently + // available in active game sessions across the fleet, calculated by subtracting + // a game session's current player session count from its maximum player + // session count. This number does include game sessions that are not currently + // accepting players (game session PlayerSessionCreationPolicy = DENY_ALL). // - // * ActiveInstances – number of instances currently running a game session. + // * ActiveInstances -- number of instances currently running a game session. // - // * IdleInstances – number of instances not currently running a game session. + // * IdleInstances -- number of instances not currently running a game session. MetricName *string `type:"string" enum:"MetricName"` // Descriptive label that is associated with a scaling policy. Policy names @@ -12591,13 +16491,13 @@ type ScalingPolicy struct { // Type of adjustment to make to a fleet's instance count (see FleetCapacity): // - // * ChangeInCapacity – add (or subtract) the scaling adjustment value from + // * ChangeInCapacity -- add (or subtract) the scaling adjustment value from // the current instance count. Positive values scale up while negative values // scale down. // - // * ExactCapacity – set the instance count to the scaling adjustment value. + // * ExactCapacity -- set the instance count to the scaling adjustment value. // - // * PercentChangeInCapacity – increase or reduce the current instance count + // * PercentChangeInCapacity -- increase or reduce the current instance count // by the scaling adjustment, read as a percentage. Positive values scale // up while negative values scale down. ScalingAdjustmentType *string `type:"string" enum:"ScalingAdjustmentType"` @@ -12605,19 +16505,21 @@ type ScalingPolicy struct { // Current status of the scaling policy. The scaling policy is only in force // when in an ACTIVE status. // - // * ACTIVE – The scaling policy is currently in force. + // * ACTIVE -- The scaling policy is currently in force. // - // * UPDATE_REQUESTED – A request to update the scaling policy has been received. + // * UPDATE_REQUESTED -- A request to update the scaling policy has been + // received. // - // * UPDATING – A change is being made to the scaling policy. + // * UPDATING -- A change is being made to the scaling policy. // - // * DELETE_REQUESTED – A request to delete the scaling policy has been received. + // * DELETE_REQUESTED -- A request to delete the scaling policy has been + // received. // - // * DELETING – The scaling policy is being deleted. + // * DELETING -- The scaling policy is being deleted. // - // * DELETED – The scaling policy has been deleted. + // * DELETED -- The scaling policy has been deleted. // - // * ERROR – An error occurred in creating the policy. It should be removed + // * ERROR -- An error occurred in creating the policy. It should be removed // and recreated. Status *string `type:"string" enum:"ScalingStatusType"` @@ -12750,8 +16652,8 @@ type SearchGameSessionsInput struct { Limit *int64 `min:"1" type:"integer"` // Token that indicates the start of the next sequential page of results. Use - // the token that is returned with a previous call to this action. To specify - // the start of the result set, do not specify a value. + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. NextToken *string `min:"1" type:"string"` // Instructions on how to sort the search results. If no sort expression is @@ -12965,10 +16867,18 @@ type StartGameSessionPlacementInput struct { // Set of information on each player to create a player session for. DesiredPlayerSessions []*DesiredPlayerSession `type:"list"` - // Set of developer-defined properties for a game session. These properties - // are passed to the server process hosting the game session. + // Set of developer-defined properties for a game session, formatted as a set + // of type:value pairs. These properties are included in the GameSession object, + // which is passed to the game server with a request to start a new game session + // (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). GameProperties []*GameProperty `type:"list"` + // Set of developer-defined game session properties, formatted as a single string + // value. This data is included in the GameSession object, which is passed to + // the game server with a request to start a new game session (see Start a Game + // Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + GameSessionData *string `min:"1" type:"string"` + // Descriptive label that is associated with a game session. Session names do // not need to be unique. GameSessionName *string `min:"1" type:"string"` @@ -12992,7 +16902,7 @@ type StartGameSessionPlacementInput struct { PlacementId *string `min:"1" type:"string" required:"true"` // Set of values, expressed in milliseconds, indicating the amount of latency - // that players are experiencing when connected to AWS regions. This information + // that a player experiences when connected to AWS regions. This information // is used to try to place the new game session where it can offer the best // possible gameplay experience for the players. PlayerLatencies []*PlayerLatency `type:"list"` @@ -13011,6 +16921,9 @@ func (s StartGameSessionPlacementInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *StartGameSessionPlacementInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "StartGameSessionPlacementInput"} + if s.GameSessionData != nil && len(*s.GameSessionData) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GameSessionData", 1)) + } if s.GameSessionName != nil && len(*s.GameSessionName) < 1 { invalidParams.Add(request.NewErrParamMinLen("GameSessionName", 1)) } @@ -13078,6 +16991,12 @@ func (s *StartGameSessionPlacementInput) SetGameProperties(v []*GameProperty) *S return s } +// SetGameSessionData sets the GameSessionData field's value. +func (s *StartGameSessionPlacementInput) SetGameSessionData(v string) *StartGameSessionPlacementInput { + s.GameSessionData = &v + return s +} + // SetGameSessionName sets the GameSessionName field's value. func (s *StartGameSessionPlacementInput) SetGameSessionName(v string) *StartGameSessionPlacementInput { s.GameSessionName = &v @@ -13135,6 +17054,117 @@ func (s *StartGameSessionPlacementOutput) SetGameSessionPlacement(v *GameSession return s } +// Represents the input for a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartMatchmakingInput +type StartMatchmakingInput struct { + _ struct{} `type:"structure"` + + // Name of the matchmaking configuration to use for this request. Matchmaking + // configurations must exist in the same region as this request. + // + // ConfigurationName is a required field + ConfigurationName *string `min:"1" type:"string" required:"true"` + + // Information on each player to be matched. This information must include a + // player ID, and may contain player attributes and latency data to be used + // in the matchmaking process. After a successful match, Player objects contain + // the name of the team the player is assigned to. + // + // Players is a required field + Players []*Player `type:"list" required:"true"` + + // Unique identifier for a matchmaking ticket. Use this identifier to track + // the matchmaking ticket status and retrieve match results. + TicketId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s StartMatchmakingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartMatchmakingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartMatchmakingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartMatchmakingInput"} + if s.ConfigurationName == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigurationName")) + } + if s.ConfigurationName != nil && len(*s.ConfigurationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConfigurationName", 1)) + } + if s.Players == nil { + invalidParams.Add(request.NewErrParamRequired("Players")) + } + if s.TicketId != nil && len(*s.TicketId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TicketId", 1)) + } + if s.Players != nil { + for i, v := range s.Players { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Players", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfigurationName sets the ConfigurationName field's value. +func (s *StartMatchmakingInput) SetConfigurationName(v string) *StartMatchmakingInput { + s.ConfigurationName = &v + return s +} + +// SetPlayers sets the Players field's value. +func (s *StartMatchmakingInput) SetPlayers(v []*Player) *StartMatchmakingInput { + s.Players = v + return s +} + +// SetTicketId sets the TicketId field's value. +func (s *StartMatchmakingInput) SetTicketId(v string) *StartMatchmakingInput { + s.TicketId = &v + return s +} + +// Represents the returned data in response to a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartMatchmakingOutput +type StartMatchmakingOutput struct { + _ struct{} `type:"structure"` + + // Ticket representing the matchmaking request. This object include the information + // included in the request, ticket status, and match results as generated during + // the matchmaking process. + MatchmakingTicket *MatchmakingTicket `type:"structure"` +} + +// String returns the string representation +func (s StartMatchmakingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartMatchmakingOutput) GoString() string { + return s.String() +} + +// SetMatchmakingTicket sets the MatchmakingTicket field's value. +func (s *StartMatchmakingOutput) SetMatchmakingTicket(v *MatchmakingTicket) *StartMatchmakingOutput { + s.MatchmakingTicket = v + return s +} + // Represents the input for a request action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopGameSessionPlacementInput type StopGameSessionPlacementInput struct { @@ -13183,7 +17213,7 @@ func (s *StopGameSessionPlacementInput) SetPlacementId(v string) *StopGameSessio type StopGameSessionPlacementOutput struct { _ struct{} `type:"structure"` - // Object that describes the canceled game session placement, with Cancelled + // Object that describes the canceled game session placement, with CANCELLED // status and an end time stamp. GameSessionPlacement *GameSessionPlacement `type:"structure"` } @@ -13204,6 +17234,64 @@ func (s *StopGameSessionPlacementOutput) SetGameSessionPlacement(v *GameSessionP return s } +// Represents the input for a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopMatchmakingInput +type StopMatchmakingInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a matchmaking ticket. + // + // TicketId is a required field + TicketId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopMatchmakingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopMatchmakingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopMatchmakingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopMatchmakingInput"} + if s.TicketId == nil { + invalidParams.Add(request.NewErrParamRequired("TicketId")) + } + if s.TicketId != nil && len(*s.TicketId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TicketId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTicketId sets the TicketId field's value. +func (s *StopMatchmakingInput) SetTicketId(v string) *StopMatchmakingInput { + s.TicketId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopMatchmakingOutput +type StopMatchmakingOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s StopMatchmakingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopMatchmakingOutput) GoString() string { + return s.String() +} + // Represents the input for a request action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateAliasInput type UpdateAliasInput struct { @@ -13422,10 +17510,10 @@ type UpdateFleetAttributesInput struct { // fleet. Instances that already exist are not affected. You can set protection // for individual instances using UpdateGameSession. // - // * NoProtection – The game session can be terminated during a scale-down + // * NoProtection -- The game session can be terminated during a scale-down // event. // - // * FullProtection – If the game session is in an ACTIVE status, it cannot + // * FullProtection -- If the game session is in an ACTIVE status, it cannot // be terminated during a scale-down event. NewGameSessionProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"` @@ -13744,10 +17832,10 @@ type UpdateGameSessionInput struct { // Game session protection policy to apply to this game session only. // - // * NoProtection – The game session can be terminated during a scale-down + // * NoProtection -- The game session can be terminated during a scale-down // event. // - // * FullProtection – If the game session is in an ACTIVE status, it cannot + // * FullProtection -- If the game session is in an ACTIVE status, it cannot // be terminated during a scale-down event. ProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"` } @@ -13847,8 +17935,8 @@ type UpdateGameSessionQueueInput struct { // list, provide a complete list of destinations. Destinations []*GameSessionQueueDestination `type:"list"` - // Descriptive label that is associated with queue. Queue names must be unique - // within each region. + // Descriptive label that is associated with game session queue. Queue names + // must be unique within each region. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -13955,6 +18043,223 @@ func (s *UpdateGameSessionQueueOutput) SetGameSessionQueue(v *GameSessionQueue) return s } +// Represents the input for a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateMatchmakingConfigurationInput +type UpdateMatchmakingConfigurationInput struct { + _ struct{} `type:"structure"` + + // Flag that determines whether or not a match that was created with this configuration + // must be accepted by the matched players. To require acceptance, set to TRUE. + AcceptanceRequired *bool `type:"boolean"` + + // Length of time (in seconds) to wait for players to accept a proposed match. + // If any player rejects the match or fails to accept before the timeout, the + // ticket continues to look for an acceptable match. + AcceptanceTimeoutSeconds *int64 `min:"1" type:"integer"` + + // Number of player slots in a match to keep open for future players. For example, + // if the configuration's rule set specifies a match for a single 12-person + // team, and the additional player count is set to 2, only 10 players are selected + // for the match. + AdditionalPlayerCount *int64 `type:"integer"` + + // Information to attached to all events related to the matchmaking configuration. + CustomEventData *string `type:"string"` + + // Descriptive label that is associated with matchmaking configuration. + Description *string `min:"1" type:"string"` + + // Set of developer-defined properties for a game session, formatted as a set + // of type:value pairs. These properties are included in the GameSession object, + // which is passed to the game server with a request to start a new game session + // (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // This information is added to the new GameSession object that is created for + // a successful match. + GameProperties []*GameProperty `type:"list"` + + // Set of developer-defined game session properties, formatted as a single string + // value. This data is included in the GameSession object, which is passed to + // the game server with a request to start a new game session (see Start a Game + // Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // This information is added to the new GameSession object that is created for + // a successful match. + GameSessionData *string `min:"1" type:"string"` + + // Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) + // that is assigned to a game session queue and uniquely identifies it. Format + // is arn:aws:gamelift:::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. + // These queues are used when placing game sessions for matches that are created + // with this matchmaking configuration. Queues can be located in any region. + GameSessionQueueArns []*string `type:"list"` + + // Unique identifier for a matchmaking configuration to update. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // SNS topic ARN that is set up to receive matchmaking notifications. See Setting + // up Notifications for Matchmaking (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-notification.html) + // for more information. + NotificationTarget *string `type:"string"` + + // Maximum duration, in seconds, that a matchmaking ticket can remain in process + // before timing out. Requests that time out can be resubmitted as needed. + RequestTimeoutSeconds *int64 `min:"1" type:"integer"` + + // Unique identifier for a matchmaking rule set to use with this configuration. + // A matchmaking configuration can only use rule sets that are defined in the + // same region. + RuleSetName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateMatchmakingConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateMatchmakingConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateMatchmakingConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateMatchmakingConfigurationInput"} + if s.AcceptanceTimeoutSeconds != nil && *s.AcceptanceTimeoutSeconds < 1 { + invalidParams.Add(request.NewErrParamMinValue("AcceptanceTimeoutSeconds", 1)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.GameSessionData != nil && len(*s.GameSessionData) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GameSessionData", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.RequestTimeoutSeconds != nil && *s.RequestTimeoutSeconds < 1 { + invalidParams.Add(request.NewErrParamMinValue("RequestTimeoutSeconds", 1)) + } + if s.RuleSetName != nil && len(*s.RuleSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleSetName", 1)) + } + if s.GameProperties != nil { + for i, v := range s.GameProperties { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GameProperties", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcceptanceRequired sets the AcceptanceRequired field's value. +func (s *UpdateMatchmakingConfigurationInput) SetAcceptanceRequired(v bool) *UpdateMatchmakingConfigurationInput { + s.AcceptanceRequired = &v + return s +} + +// SetAcceptanceTimeoutSeconds sets the AcceptanceTimeoutSeconds field's value. +func (s *UpdateMatchmakingConfigurationInput) SetAcceptanceTimeoutSeconds(v int64) *UpdateMatchmakingConfigurationInput { + s.AcceptanceTimeoutSeconds = &v + return s +} + +// SetAdditionalPlayerCount sets the AdditionalPlayerCount field's value. +func (s *UpdateMatchmakingConfigurationInput) SetAdditionalPlayerCount(v int64) *UpdateMatchmakingConfigurationInput { + s.AdditionalPlayerCount = &v + return s +} + +// SetCustomEventData sets the CustomEventData field's value. +func (s *UpdateMatchmakingConfigurationInput) SetCustomEventData(v string) *UpdateMatchmakingConfigurationInput { + s.CustomEventData = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateMatchmakingConfigurationInput) SetDescription(v string) *UpdateMatchmakingConfigurationInput { + s.Description = &v + return s +} + +// SetGameProperties sets the GameProperties field's value. +func (s *UpdateMatchmakingConfigurationInput) SetGameProperties(v []*GameProperty) *UpdateMatchmakingConfigurationInput { + s.GameProperties = v + return s +} + +// SetGameSessionData sets the GameSessionData field's value. +func (s *UpdateMatchmakingConfigurationInput) SetGameSessionData(v string) *UpdateMatchmakingConfigurationInput { + s.GameSessionData = &v + return s +} + +// SetGameSessionQueueArns sets the GameSessionQueueArns field's value. +func (s *UpdateMatchmakingConfigurationInput) SetGameSessionQueueArns(v []*string) *UpdateMatchmakingConfigurationInput { + s.GameSessionQueueArns = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateMatchmakingConfigurationInput) SetName(v string) *UpdateMatchmakingConfigurationInput { + s.Name = &v + return s +} + +// SetNotificationTarget sets the NotificationTarget field's value. +func (s *UpdateMatchmakingConfigurationInput) SetNotificationTarget(v string) *UpdateMatchmakingConfigurationInput { + s.NotificationTarget = &v + return s +} + +// SetRequestTimeoutSeconds sets the RequestTimeoutSeconds field's value. +func (s *UpdateMatchmakingConfigurationInput) SetRequestTimeoutSeconds(v int64) *UpdateMatchmakingConfigurationInput { + s.RequestTimeoutSeconds = &v + return s +} + +// SetRuleSetName sets the RuleSetName field's value. +func (s *UpdateMatchmakingConfigurationInput) SetRuleSetName(v string) *UpdateMatchmakingConfigurationInput { + s.RuleSetName = &v + return s +} + +// Represents the returned data in response to a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateMatchmakingConfigurationOutput +type UpdateMatchmakingConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Object that describes the updated matchmaking configuration. + Configuration *MatchmakingConfiguration `type:"structure"` +} + +// String returns the string representation +func (s UpdateMatchmakingConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateMatchmakingConfigurationOutput) GoString() string { + return s.String() +} + +// SetConfiguration sets the Configuration field's value. +func (s *UpdateMatchmakingConfigurationOutput) SetConfiguration(v *MatchmakingConfiguration) *UpdateMatchmakingConfigurationOutput { + s.Configuration = v + return s +} + // Represents the input for a request action. // Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateRuntimeConfigurationInput type UpdateRuntimeConfigurationInput struct { @@ -14045,6 +18350,300 @@ func (s *UpdateRuntimeConfigurationOutput) SetRuntimeConfiguration(v *RuntimeCon return s } +// Represents the input for a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ValidateMatchmakingRuleSetInput +type ValidateMatchmakingRuleSetInput struct { + _ struct{} `type:"structure"` + + // Collection of matchmaking rules to validate, formatted as a JSON string. + // + // RuleSetBody is a required field + RuleSetBody *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ValidateMatchmakingRuleSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ValidateMatchmakingRuleSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ValidateMatchmakingRuleSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ValidateMatchmakingRuleSetInput"} + if s.RuleSetBody == nil { + invalidParams.Add(request.NewErrParamRequired("RuleSetBody")) + } + if s.RuleSetBody != nil && len(*s.RuleSetBody) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleSetBody", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRuleSetBody sets the RuleSetBody field's value. +func (s *ValidateMatchmakingRuleSetInput) SetRuleSetBody(v string) *ValidateMatchmakingRuleSetInput { + s.RuleSetBody = &v + return s +} + +// Represents the returned data in response to a request action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ValidateMatchmakingRuleSetOutput +type ValidateMatchmakingRuleSetOutput struct { + _ struct{} `type:"structure"` + + // Response indicating whether or not the rule set is valid. + Valid *bool `type:"boolean"` +} + +// String returns the string representation +func (s ValidateMatchmakingRuleSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ValidateMatchmakingRuleSetOutput) GoString() string { + return s.String() +} + +// SetValid sets the Valid field's value. +func (s *ValidateMatchmakingRuleSetOutput) SetValid(v bool) *ValidateMatchmakingRuleSetOutput { + s.Valid = &v + return s +} + +// Represents an authorization for a VPC peering connection between the VPC +// for an Amazon GameLift fleet and another VPC on an account you have access +// to. This authorization must exist and be valid for the peering connection +// to be established. Authorizations are valid for 24 hours after they are issued. +// +// VPC peering connection operations include: +// +// * CreateVpcPeeringAuthorization +// +// * DescribeVpcPeeringAuthorizations +// +// * DeleteVpcPeeringAuthorization +// +// * CreateVpcPeeringConnection +// +// * DescribeVpcPeeringConnections +// +// * DeleteVpcPeeringConnection +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/VpcPeeringAuthorization +type VpcPeeringAuthorization struct { + _ struct{} `type:"structure"` + + // Time stamp indicating when this authorization was issued. Format is a number + // expressed in Unix time as milliseconds (for example "1469498468.057"). + CreationTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Time stamp indicating when this authorization expires (24 hours after issuance). + // Format is a number expressed in Unix time as milliseconds (for example "1469498468.057"). + ExpirationTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Unique identifier for the AWS account that you use to manage your Amazon + // GameLift fleet. You can find your Account ID in the AWS Management Console + // under account settings. + GameLiftAwsAccountId *string `min:"1" type:"string"` + + PeerVpcAwsAccountId *string `min:"1" type:"string"` + + // Unique identifier for a VPC with resources to be accessed by your Amazon + // GameLift fleet. The VPC must be in the same region where your fleet is deployed. + // To get VPC information, including IDs, use the Virtual Private Cloud service + // tools, including the VPC Dashboard in the AWS Management Console. + PeerVpcId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s VpcPeeringAuthorization) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpcPeeringAuthorization) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *VpcPeeringAuthorization) SetCreationTime(v time.Time) *VpcPeeringAuthorization { + s.CreationTime = &v + return s +} + +// SetExpirationTime sets the ExpirationTime field's value. +func (s *VpcPeeringAuthorization) SetExpirationTime(v time.Time) *VpcPeeringAuthorization { + s.ExpirationTime = &v + return s +} + +// SetGameLiftAwsAccountId sets the GameLiftAwsAccountId field's value. +func (s *VpcPeeringAuthorization) SetGameLiftAwsAccountId(v string) *VpcPeeringAuthorization { + s.GameLiftAwsAccountId = &v + return s +} + +// SetPeerVpcAwsAccountId sets the PeerVpcAwsAccountId field's value. +func (s *VpcPeeringAuthorization) SetPeerVpcAwsAccountId(v string) *VpcPeeringAuthorization { + s.PeerVpcAwsAccountId = &v + return s +} + +// SetPeerVpcId sets the PeerVpcId field's value. +func (s *VpcPeeringAuthorization) SetPeerVpcId(v string) *VpcPeeringAuthorization { + s.PeerVpcId = &v + return s +} + +// Represents a peering connection between a VPC on one of your AWS accounts +// and the VPC for your Amazon GameLift fleets. This record may be for an active +// peering connection or a pending connection that has not yet been established. +// +// VPC peering connection operations include: +// +// * CreateVpcPeeringAuthorization +// +// * DescribeVpcPeeringAuthorizations +// +// * DeleteVpcPeeringAuthorization +// +// * CreateVpcPeeringConnection +// +// * DescribeVpcPeeringConnections +// +// * DeleteVpcPeeringConnection +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/VpcPeeringConnection +type VpcPeeringConnection struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet. This ID determines the ID of the Amazon GameLift + // VPC for your fleet. + FleetId *string `type:"string"` + + // Unique identifier for the VPC that contains the Amazon GameLift fleet for + // this connection. This VPC is managed by Amazon GameLift and does not appear + // in your AWS account. + GameLiftVpcId *string `min:"1" type:"string"` + + // CIDR block of IPv4 addresses assigned to the VPC peering connection for the + // GameLift VPC. The peered VPC also has an IPv4 CIDR block associated with + // it; these blocks cannot overlap or the peering connection cannot be created. + IpV4CidrBlock *string `min:"1" type:"string"` + + // Unique identifier for a VPC with resources to be accessed by your Amazon + // GameLift fleet. The VPC must be in the same region where your fleet is deployed. + // To get VPC information, including IDs, use the Virtual Private Cloud service + // tools, including the VPC Dashboard in the AWS Management Console. + PeerVpcId *string `min:"1" type:"string"` + + // Object that contains status information about the connection. Status indicates + // if a connection is pending, successful, or failed. + Status *VpcPeeringConnectionStatus `type:"structure"` + + // Unique identifier that is automatically assigned to the connection record. + // This ID is referenced in VPC peering connection events, and is used when + // deleting a connection with DeleteVpcPeeringConnection. + VpcPeeringConnectionId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s VpcPeeringConnection) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpcPeeringConnection) GoString() string { + return s.String() +} + +// SetFleetId sets the FleetId field's value. +func (s *VpcPeeringConnection) SetFleetId(v string) *VpcPeeringConnection { + s.FleetId = &v + return s +} + +// SetGameLiftVpcId sets the GameLiftVpcId field's value. +func (s *VpcPeeringConnection) SetGameLiftVpcId(v string) *VpcPeeringConnection { + s.GameLiftVpcId = &v + return s +} + +// SetIpV4CidrBlock sets the IpV4CidrBlock field's value. +func (s *VpcPeeringConnection) SetIpV4CidrBlock(v string) *VpcPeeringConnection { + s.IpV4CidrBlock = &v + return s +} + +// SetPeerVpcId sets the PeerVpcId field's value. +func (s *VpcPeeringConnection) SetPeerVpcId(v string) *VpcPeeringConnection { + s.PeerVpcId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *VpcPeeringConnection) SetStatus(v *VpcPeeringConnectionStatus) *VpcPeeringConnection { + s.Status = v + return s +} + +// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value. +func (s *VpcPeeringConnection) SetVpcPeeringConnectionId(v string) *VpcPeeringConnection { + s.VpcPeeringConnectionId = &v + return s +} + +// Represents status information for a VPC peering connection. Status is associated +// with a VpcPeeringConnection object. Status codes and messages are provided +// from EC2 (). (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_VpcPeeringConnectionStateReason.html) +// Connection status information is also communicated as a fleet Event. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/VpcPeeringConnectionStatus +type VpcPeeringConnectionStatus struct { + _ struct{} `type:"structure"` + + // Code indicating the status of a VPC peering connection. + Code *string `min:"1" type:"string"` + + // Additional messaging associated with the connection status. + Message *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s VpcPeeringConnectionStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpcPeeringConnectionStatus) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *VpcPeeringConnectionStatus) SetCode(v string) *VpcPeeringConnectionStatus { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *VpcPeeringConnectionStatus) SetMessage(v string) *VpcPeeringConnectionStatus { + s.Message = &v + return s +} + +const ( + // AcceptanceTypeAccept is a AcceptanceType enum value + AcceptanceTypeAccept = "ACCEPT" + + // AcceptanceTypeReject is a AcceptanceType enum value + AcceptanceTypeReject = "REJECT" +) + const ( // BuildStatusInitialized is a BuildStatus enum value BuildStatusInitialized = "INITIALIZED" @@ -14128,6 +18727,24 @@ const ( // EC2InstanceTypeR38xlarge is a EC2InstanceType enum value EC2InstanceTypeR38xlarge = "r3.8xlarge" + // EC2InstanceTypeR4Large is a EC2InstanceType enum value + EC2InstanceTypeR4Large = "r4.large" + + // EC2InstanceTypeR4Xlarge is a EC2InstanceType enum value + EC2InstanceTypeR4Xlarge = "r4.xlarge" + + // EC2InstanceTypeR42xlarge is a EC2InstanceType enum value + EC2InstanceTypeR42xlarge = "r4.2xlarge" + + // EC2InstanceTypeR44xlarge is a EC2InstanceType enum value + EC2InstanceTypeR44xlarge = "r4.4xlarge" + + // EC2InstanceTypeR48xlarge is a EC2InstanceType enum value + EC2InstanceTypeR48xlarge = "r4.8xlarge" + + // EC2InstanceTypeR416xlarge is a EC2InstanceType enum value + EC2InstanceTypeR416xlarge = "r4.16xlarge" + // EC2InstanceTypeM3Medium is a EC2InstanceType enum value EC2InstanceTypeM3Medium = "m3.medium" @@ -14243,6 +18860,15 @@ const ( // EventCodeFleetCreationValidatingRuntimeConfig is a EventCode enum value EventCodeFleetCreationValidatingRuntimeConfig = "FLEET_CREATION_VALIDATING_RUNTIME_CONFIG" + + // EventCodeFleetVpcPeeringSucceeded is a EventCode enum value + EventCodeFleetVpcPeeringSucceeded = "FLEET_VPC_PEERING_SUCCEEDED" + + // EventCodeFleetVpcPeeringFailed is a EventCode enum value + EventCodeFleetVpcPeeringFailed = "FLEET_VPC_PEERING_FAILED" + + // EventCodeFleetVpcPeeringDeleted is a EventCode enum value + EventCodeFleetVpcPeeringDeleted = "FLEET_VPC_PEERING_DELETED" ) const ( @@ -14324,6 +18950,32 @@ const ( IpProtocolUdp = "UDP" ) +const ( + // MatchmakingConfigurationStatusCancelled is a MatchmakingConfigurationStatus enum value + MatchmakingConfigurationStatusCancelled = "CANCELLED" + + // MatchmakingConfigurationStatusCompleted is a MatchmakingConfigurationStatus enum value + MatchmakingConfigurationStatusCompleted = "COMPLETED" + + // MatchmakingConfigurationStatusFailed is a MatchmakingConfigurationStatus enum value + MatchmakingConfigurationStatusFailed = "FAILED" + + // MatchmakingConfigurationStatusPlacing is a MatchmakingConfigurationStatus enum value + MatchmakingConfigurationStatusPlacing = "PLACING" + + // MatchmakingConfigurationStatusQueued is a MatchmakingConfigurationStatus enum value + MatchmakingConfigurationStatusQueued = "QUEUED" + + // MatchmakingConfigurationStatusRequiresAcceptance is a MatchmakingConfigurationStatus enum value + MatchmakingConfigurationStatusRequiresAcceptance = "REQUIRES_ACCEPTANCE" + + // MatchmakingConfigurationStatusSearching is a MatchmakingConfigurationStatus enum value + MatchmakingConfigurationStatusSearching = "SEARCHING" + + // MatchmakingConfigurationStatusTimedOut is a MatchmakingConfigurationStatus enum value + MatchmakingConfigurationStatusTimedOut = "TIMED_OUT" +) + const ( // MetricNameActivatingGameSessions is a MetricName enum value MetricNameActivatingGameSessions = "ActivatingGameSessions" diff --git a/vendor/github.com/aws/aws-sdk-go/service/gamelift/doc.go b/vendor/github.com/aws/aws-sdk-go/service/gamelift/doc.go index a1f64f1e8..560f25758 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/gamelift/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/gamelift/doc.go @@ -12,11 +12,11 @@ // // The Amazon GameLift service API includes two important function sets: // -// * Manage game sessions and player access – Retrieve information on available +// * Manage game sessions and player access -- Retrieve information on available // game sessions; create new game sessions; send player requests to join // a game session. // -// * Configure and manage game server resources – Manage builds, fleets, +// * Configure and manage game server resources -- Manage builds, fleets, // queues, and aliases; set autoscaling policies; retrieve logs and metrics. // // This reference guide describes the low-level service API for Amazon GameLift. @@ -35,7 +35,7 @@ // * The AWS Management Console (https://console.aws.amazon.com/gamelift/home) // for Amazon GameLift provides a web interface to manage your Amazon GameLift // settings and resources. The console includes a dashboard for tracking -// key resources, includings builds and fleets, and displays usage and performance +// key resources, including builds and fleets, and displays usage and performance // metrics for your games as customizable graphs. // // * Amazon GameLift Local is a tool for testing your game's integration @@ -46,19 +46,19 @@ // MORE RESOURCES // // * Amazon GameLift Developer Guide (http://docs.aws.amazon.com/gamelift/latest/developerguide/) -// – Learn more about Amazon GameLift features and how to use them. +// -- Learn more about Amazon GameLift features and how to use them. // // * Lumberyard and Amazon GameLift Tutorials (https://gamedev.amazon.com/forums/tutorials) -// – Get started fast with walkthroughs and sample projects. +// -- Get started fast with walkthroughs and sample projects. // -// * GameDev Blog (http://aws.amazon.com/blogs/gamedev/) – Stay up to date +// * GameDev Blog (http://aws.amazon.com/blogs/gamedev/) -- Stay up to date // with new features and techniques. // // * GameDev Forums (https://gamedev.amazon.com/forums/spaces/123/gamelift-discussion.html) -// – Connect with the GameDev community. +// -- Connect with the GameDev community. // // * Amazon GameLift Document History (http://docs.aws.amazon.com/gamelift/latest/developerguide/doc-history.html) -// – See changes to the Amazon GameLift service, SDKs, and documentation, +// -- See changes to the Amazon GameLift service, SDKs, and documentation, // as well as links to release notes. // // API SUMMARY @@ -67,56 +67,67 @@ // // Managing Games and Players // -// These actions allow you to start new game sessions, find existing game sessions, -// track status and other game session information, and enable access for players -// to join game sessions. +// Use these actions to start new game sessions, find existing game sessions, +// track game session status and other information, and enable player access +// to game sessions. // // * Discover existing game sessions // -// SearchGameSessions – Get all available game sessions or search for game sessions -// that match a set of criteria. +// SearchGameSessions -- Retrieve all available game sessions or search for +// game sessions that match a set of criteria. // -// * Start a new game session +// * Start new game sessions // -// Game session placement – Use a queue to process requests for new game sessions -// and place them on the best available fleet. Placement requests are asynchronous; -// game sessions are started whenever acceptable resources become available. +// Start new games with Queues to find the best available hosting resources +// across multiple regions, minimize player latency, and balance game session +// activity for efficiency and cost effectiveness. // -// -// StartGameSessionPlacement – Request a new game session placement and add +// StartGameSessionPlacement -- Request a new game session placement and add // one or more players to it. // -// DescribeGameSessionPlacement – Get details on a placement request, including +// DescribeGameSessionPlacement -- Get details on a placement request, including // status. // -// StopGameSessionPlacement – Cancel a placement request. +// StopGameSessionPlacement -- Cancel a placement request. // -// CreateGameSession – Request a new game session on a specific fleet. Available +// CreateGameSession -- Start a new game session on a specific fleet. Available // in Amazon GameLift Local. // +// * Start new game sessions with FlexMatch matchmaking +// +// StartMatchmaking -- Request matchmaking for one players or a group who want +// to play together. +// +// DescribeMatchmaking -- Get details on a matchmaking request, including status. +// +// AcceptMatch -- Register that a player accepts a proposed match, for matches +// that require player acceptance. +// +// StopMatchmaking -- Cancel a matchmaking request. +// // * Manage game session data // -// DescribeGameSessions – Retrieve metadata for one or more game sessions, including -// length of time active and current player count. Available in Amazon GameLift -// Local. +// DescribeGameSessions -- Retrieve metadata for one or more game sessions, +// including length of time active and current player count. Available in +// Amazon GameLift Local. // -// DescribeGameSessionDetails – Retrieve metadata and the game session protection +// DescribeGameSessionDetails -- Retrieve metadata and the game session protection // setting for one or more game sessions. // -// UpdateGameSession – Change game session settings, such as maximum player +// UpdateGameSession -- Change game session settings, such as maximum player // count and join policy. // -// GetGameSessionLogUrl – Get the location of saved logs for a game session. +// GetGameSessionLogUrl -- Get the location of saved logs for a game session. // // * Manage player sessions // -// CreatePlayerSession – Send a request for a player to join a game session. +// CreatePlayerSession -- Send a request for a player to join a game session. // Available in Amazon GameLift Local. // -// CreatePlayerSessions – Send a request for multiple players to join a game +// CreatePlayerSessions -- Send a request for multiple players to join a game // session. Available in Amazon GameLift Local. // -// DescribePlayerSessions – Get details on player activity, including status, +// DescribePlayerSessions -- Get details on player activity, including status, // playing time, and player data. Available in Amazon GameLift Local. // // Setting Up and Managing Game Servers @@ -129,104 +140,146 @@ // // * Manage game builds // -// CreateBuild – Create a new build using files stored in an Amazon S3 bucket. +// CreateBuild -- Create a new build using files stored in an Amazon S3 bucket. // (Update uploading permissions with RequestUploadCredentials.) To create // a build and upload files from a local path, use the AWS CLI command upload-build. // -// ListBuilds – Get a list of all builds uploaded to a Amazon GameLift region. +// ListBuilds -- Get a list of all builds uploaded to a Amazon GameLift region. // -// DescribeBuild – Retrieve information associated with a build. +// DescribeBuild -- Retrieve information associated with a build. // -// UpdateBuild – Change build metadata, including build name and version. +// UpdateBuild -- Change build metadata, including build name and version. // -// DeleteBuild – Remove a build from Amazon GameLift. +// DeleteBuild -- Remove a build from Amazon GameLift. // // * Manage fleets // -// CreateFleet – Configure and activate a new fleet to run a build's game servers. +// CreateFleet -- Configure and activate a new fleet to run a build's game servers. // -// ListFleets – Get a list of all fleet IDs in a Amazon GameLift region (all +// ListFleets -- Get a list of all fleet IDs in a Amazon GameLift region (all // statuses). // -// DeleteFleet – Terminate a fleet that is no longer running game servers or +// DeleteFleet -- Terminate a fleet that is no longer running game servers or // hosting players. // // View / update fleet configurations. // -// DescribeFleetAttributes / UpdateFleetAttributes – View or change a fleet's +// DescribeFleetAttributes / UpdateFleetAttributes -- View or change a fleet's // metadata and settings for game session protection and resource creation // limits. // -// DescribeFleetPortSettings / UpdateFleetPortSettings – View or change the +// DescribeFleetPortSettings / UpdateFleetPortSettings -- View or change the // inbound permissions (IP address and port setting ranges) allowed for a // fleet. // -// DescribeRuntimeConfiguration / UpdateRuntimeConfiguration – View or change +// DescribeRuntimeConfiguration / UpdateRuntimeConfiguration -- View or change // what server processes (and how many) to run on each instance in a fleet. // // * Control fleet capacity // -// DescribeEC2InstanceLimits – Retrieve maximum number of instances allowed +// DescribeEC2InstanceLimits -- Retrieve maximum number of instances allowed // for the current AWS account and the current usage level. // -// DescribeFleetCapacity / UpdateFleetCapacity – Retrieve the capacity settings +// DescribeFleetCapacity / UpdateFleetCapacity -- Retrieve the capacity settings // and the current number of instances in a fleet; adjust fleet capacity // settings to scale up or down. // -// Autoscale – Manage autoscaling rules and apply them to a fleet. +// Autoscale -- Manage autoscaling rules and apply them to a fleet. // -// PutScalingPolicy – Create a new autoscaling policy, or update an existing +// PutScalingPolicy -- Create a new autoscaling policy, or update an existing // one. // -// DescribeScalingPolicies – Retrieve an existing autoscaling policy. +// DescribeScalingPolicies -- Retrieve an existing autoscaling policy. // -// DeleteScalingPolicy – Delete an autoscaling policy and stop it from affecting +// DeleteScalingPolicy -- Delete an autoscaling policy and stop it from affecting // a fleet's capacity. // +// * Manage VPC peering connections for fleets +// +// CreateVpcPeeringAuthorization -- Authorize a peering connection to one of +// your VPCs. +// +// DescribeVpcPeeringAuthorizations -- Retrieve valid peering connection authorizations. +// +// +// DeleteVpcPeeringAuthorization -- Delete a peering connection authorization. +// +// CreateVpcPeeringConnection -- Establish a peering connection between the +// VPC for a Amazon GameLift fleet and one of your VPCs. +// +// DescribeVpcPeeringConnections -- Retrieve information on active or pending +// VPC peering connections with a Amazon GameLift fleet. +// +// DeleteVpcPeeringConnection -- Delete a VPC peering connection with a Amazon +// GameLift fleet. +// // * Access fleet activity statistics // -// DescribeFleetUtilization – Get current data on the number of server processes, +// DescribeFleetUtilization -- Get current data on the number of server processes, // game sessions, and players currently active on a fleet. // -// DescribeFleetEvents – Get a fleet's logged events for a specified time span. +// DescribeFleetEvents -- Get a fleet's logged events for a specified time span. // -// DescribeGameSessions – Retrieve metadata associated with one or more game +// DescribeGameSessions -- Retrieve metadata associated with one or more game // sessions, including length of time active and current player count. // // * Remotely access an instance // -// DescribeInstances – Get information on each instance in a fleet, including +// DescribeInstances -- Get information on each instance in a fleet, including // instance ID, IP address, and status. // -// GetInstanceAccess – Request access credentials needed to remotely connect +// GetInstanceAccess -- Request access credentials needed to remotely connect // to a specified instance in a fleet. // // * Manage fleet aliases // -// CreateAlias – Define a new alias and optionally assign it to a fleet. +// CreateAlias -- Define a new alias and optionally assign it to a fleet. // -// ListAliases – Get all fleet aliases defined in a Amazon GameLift region. +// ListAliases -- Get all fleet aliases defined in a Amazon GameLift region. // -// DescribeAlias – Retrieve information on an existing alias. +// DescribeAlias -- Retrieve information on an existing alias. // -// UpdateAlias – Change settings for a alias, such as redirecting it from one +// UpdateAlias -- Change settings for a alias, such as redirecting it from one // fleet to another. // -// DeleteAlias – Remove an alias from the region. +// DeleteAlias -- Remove an alias from the region. // -// ResolveAlias – Get the fleet ID that a specified alias points to. +// ResolveAlias -- Get the fleet ID that a specified alias points to. // // * Manage game session queues // -// CreateGameSessionQueue – Create a queue for processing requests for new game -// sessions. +// CreateGameSessionQueue -- Create a queue for processing requests for new +// game sessions. // -// DescribeGameSessionQueues – Get data on all game session queues defined in +// DescribeGameSessionQueues -- Retrieve game session queues defined in a Amazon +// GameLift region. +// +// UpdateGameSessionQueue -- Change the configuration of a game session queue. +// +// DeleteGameSessionQueue -- Remove a game session queue from the region. +// +// * Manage FlexMatch resources +// +// CreateMatchmakingConfiguration -- Create a matchmaking configuration with +// instructions for building a player group and placing in a new game session. +// +// +// DescribeMatchmakingConfigurations -- Retrieve matchmaking configurations +// defined a Amazon GameLift region. +// +// UpdateMatchmakingConfiguration -- Change settings for matchmaking configuration. +// queue. +// +// DeleteMatchmakingConfiguration -- Remove a matchmaking configuration from +// the region. +// +// CreateMatchmakingRuleSet -- Create a set of rules to use when searching for +// player matches. +// +// DescribeMatchmakingRuleSets -- Retrieve matchmaking rule sets defined in // a Amazon GameLift region. // -// UpdateGameSessionQueue – Change the configuration of a game session queue. -// -// DeleteGameSessionQueue – Remove a game session queue from the region. +// ValidateMatchmakingRuleSet -- Verify syntax for a set of matchmaking rules. // // See https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01 for more information on this service. // @@ -235,69 +288,17 @@ // // Using the Client // -// To use the client for Amazon GameLift you will first need -// to create a new instance of it. +// To Amazon GameLift with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := gamelift.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon GameLift client GameLift for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/gamelift/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CreateAlias(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CreateAlias result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CreateAliasWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package gamelift diff --git a/vendor/github.com/aws/aws-sdk-go/service/gamelift/errors.go b/vendor/github.com/aws/aws-sdk-go/service/gamelift/errors.go index 52d7750bb..d04e78d0d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/gamelift/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/gamelift/errors.go @@ -93,4 +93,10 @@ const ( // // The client failed authentication. Clients should not retry such requests. ErrCodeUnauthorizedException = "UnauthorizedException" + + // ErrCodeUnsupportedRegionException for service response error code + // "UnsupportedRegionException". + // + // The requested operation is not supported in the region specified. + ErrCodeUnsupportedRegionException = "UnsupportedRegionException" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/gamelift/gameliftiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/gamelift/gameliftiface/interface.go index 0126faeaf..988e18f11 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/gamelift/gameliftiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/gamelift/gameliftiface/interface.go @@ -21,12 +21,12 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon GameLift. // func myFunc(svc gameliftiface.GameLiftAPI) bool { -// // Make svc.CreateAlias request +// // Make svc.AcceptMatch request // } // // func main() { @@ -42,7 +42,7 @@ import ( // type mockGameLiftClient struct { // gameliftiface.GameLiftAPI // } -// func (m *mockGameLiftClient) CreateAlias(input *gamelift.CreateAliasInput) (*gamelift.CreateAliasOutput, error) { +// func (m *mockGameLiftClient) AcceptMatch(input *gamelift.AcceptMatchInput) (*gamelift.AcceptMatchOutput, error) { // // mock response/functionality // } // @@ -60,6 +60,10 @@ import ( // and waiters. Its suggested to use the pattern above for testing, or using // tooling to generate mocks to satisfy the interfaces. type GameLiftAPI interface { + AcceptMatch(*gamelift.AcceptMatchInput) (*gamelift.AcceptMatchOutput, error) + AcceptMatchWithContext(aws.Context, *gamelift.AcceptMatchInput, ...request.Option) (*gamelift.AcceptMatchOutput, error) + AcceptMatchRequest(*gamelift.AcceptMatchInput) (*request.Request, *gamelift.AcceptMatchOutput) + CreateAlias(*gamelift.CreateAliasInput) (*gamelift.CreateAliasOutput, error) CreateAliasWithContext(aws.Context, *gamelift.CreateAliasInput, ...request.Option) (*gamelift.CreateAliasOutput, error) CreateAliasRequest(*gamelift.CreateAliasInput) (*request.Request, *gamelift.CreateAliasOutput) @@ -80,6 +84,14 @@ type GameLiftAPI interface { CreateGameSessionQueueWithContext(aws.Context, *gamelift.CreateGameSessionQueueInput, ...request.Option) (*gamelift.CreateGameSessionQueueOutput, error) CreateGameSessionQueueRequest(*gamelift.CreateGameSessionQueueInput) (*request.Request, *gamelift.CreateGameSessionQueueOutput) + CreateMatchmakingConfiguration(*gamelift.CreateMatchmakingConfigurationInput) (*gamelift.CreateMatchmakingConfigurationOutput, error) + CreateMatchmakingConfigurationWithContext(aws.Context, *gamelift.CreateMatchmakingConfigurationInput, ...request.Option) (*gamelift.CreateMatchmakingConfigurationOutput, error) + CreateMatchmakingConfigurationRequest(*gamelift.CreateMatchmakingConfigurationInput) (*request.Request, *gamelift.CreateMatchmakingConfigurationOutput) + + CreateMatchmakingRuleSet(*gamelift.CreateMatchmakingRuleSetInput) (*gamelift.CreateMatchmakingRuleSetOutput, error) + CreateMatchmakingRuleSetWithContext(aws.Context, *gamelift.CreateMatchmakingRuleSetInput, ...request.Option) (*gamelift.CreateMatchmakingRuleSetOutput, error) + CreateMatchmakingRuleSetRequest(*gamelift.CreateMatchmakingRuleSetInput) (*request.Request, *gamelift.CreateMatchmakingRuleSetOutput) + CreatePlayerSession(*gamelift.CreatePlayerSessionInput) (*gamelift.CreatePlayerSessionOutput, error) CreatePlayerSessionWithContext(aws.Context, *gamelift.CreatePlayerSessionInput, ...request.Option) (*gamelift.CreatePlayerSessionOutput, error) CreatePlayerSessionRequest(*gamelift.CreatePlayerSessionInput) (*request.Request, *gamelift.CreatePlayerSessionOutput) @@ -88,6 +100,14 @@ type GameLiftAPI interface { CreatePlayerSessionsWithContext(aws.Context, *gamelift.CreatePlayerSessionsInput, ...request.Option) (*gamelift.CreatePlayerSessionsOutput, error) CreatePlayerSessionsRequest(*gamelift.CreatePlayerSessionsInput) (*request.Request, *gamelift.CreatePlayerSessionsOutput) + CreateVpcPeeringAuthorization(*gamelift.CreateVpcPeeringAuthorizationInput) (*gamelift.CreateVpcPeeringAuthorizationOutput, error) + CreateVpcPeeringAuthorizationWithContext(aws.Context, *gamelift.CreateVpcPeeringAuthorizationInput, ...request.Option) (*gamelift.CreateVpcPeeringAuthorizationOutput, error) + CreateVpcPeeringAuthorizationRequest(*gamelift.CreateVpcPeeringAuthorizationInput) (*request.Request, *gamelift.CreateVpcPeeringAuthorizationOutput) + + CreateVpcPeeringConnection(*gamelift.CreateVpcPeeringConnectionInput) (*gamelift.CreateVpcPeeringConnectionOutput, error) + CreateVpcPeeringConnectionWithContext(aws.Context, *gamelift.CreateVpcPeeringConnectionInput, ...request.Option) (*gamelift.CreateVpcPeeringConnectionOutput, error) + CreateVpcPeeringConnectionRequest(*gamelift.CreateVpcPeeringConnectionInput) (*request.Request, *gamelift.CreateVpcPeeringConnectionOutput) + DeleteAlias(*gamelift.DeleteAliasInput) (*gamelift.DeleteAliasOutput, error) DeleteAliasWithContext(aws.Context, *gamelift.DeleteAliasInput, ...request.Option) (*gamelift.DeleteAliasOutput, error) DeleteAliasRequest(*gamelift.DeleteAliasInput) (*request.Request, *gamelift.DeleteAliasOutput) @@ -104,10 +124,22 @@ type GameLiftAPI interface { DeleteGameSessionQueueWithContext(aws.Context, *gamelift.DeleteGameSessionQueueInput, ...request.Option) (*gamelift.DeleteGameSessionQueueOutput, error) DeleteGameSessionQueueRequest(*gamelift.DeleteGameSessionQueueInput) (*request.Request, *gamelift.DeleteGameSessionQueueOutput) + DeleteMatchmakingConfiguration(*gamelift.DeleteMatchmakingConfigurationInput) (*gamelift.DeleteMatchmakingConfigurationOutput, error) + DeleteMatchmakingConfigurationWithContext(aws.Context, *gamelift.DeleteMatchmakingConfigurationInput, ...request.Option) (*gamelift.DeleteMatchmakingConfigurationOutput, error) + DeleteMatchmakingConfigurationRequest(*gamelift.DeleteMatchmakingConfigurationInput) (*request.Request, *gamelift.DeleteMatchmakingConfigurationOutput) + DeleteScalingPolicy(*gamelift.DeleteScalingPolicyInput) (*gamelift.DeleteScalingPolicyOutput, error) DeleteScalingPolicyWithContext(aws.Context, *gamelift.DeleteScalingPolicyInput, ...request.Option) (*gamelift.DeleteScalingPolicyOutput, error) DeleteScalingPolicyRequest(*gamelift.DeleteScalingPolicyInput) (*request.Request, *gamelift.DeleteScalingPolicyOutput) + DeleteVpcPeeringAuthorization(*gamelift.DeleteVpcPeeringAuthorizationInput) (*gamelift.DeleteVpcPeeringAuthorizationOutput, error) + DeleteVpcPeeringAuthorizationWithContext(aws.Context, *gamelift.DeleteVpcPeeringAuthorizationInput, ...request.Option) (*gamelift.DeleteVpcPeeringAuthorizationOutput, error) + DeleteVpcPeeringAuthorizationRequest(*gamelift.DeleteVpcPeeringAuthorizationInput) (*request.Request, *gamelift.DeleteVpcPeeringAuthorizationOutput) + + DeleteVpcPeeringConnection(*gamelift.DeleteVpcPeeringConnectionInput) (*gamelift.DeleteVpcPeeringConnectionOutput, error) + DeleteVpcPeeringConnectionWithContext(aws.Context, *gamelift.DeleteVpcPeeringConnectionInput, ...request.Option) (*gamelift.DeleteVpcPeeringConnectionOutput, error) + DeleteVpcPeeringConnectionRequest(*gamelift.DeleteVpcPeeringConnectionInput) (*request.Request, *gamelift.DeleteVpcPeeringConnectionOutput) + DescribeAlias(*gamelift.DescribeAliasInput) (*gamelift.DescribeAliasOutput, error) DescribeAliasWithContext(aws.Context, *gamelift.DescribeAliasInput, ...request.Option) (*gamelift.DescribeAliasOutput, error) DescribeAliasRequest(*gamelift.DescribeAliasInput) (*request.Request, *gamelift.DescribeAliasOutput) @@ -160,6 +192,18 @@ type GameLiftAPI interface { DescribeInstancesWithContext(aws.Context, *gamelift.DescribeInstancesInput, ...request.Option) (*gamelift.DescribeInstancesOutput, error) DescribeInstancesRequest(*gamelift.DescribeInstancesInput) (*request.Request, *gamelift.DescribeInstancesOutput) + DescribeMatchmaking(*gamelift.DescribeMatchmakingInput) (*gamelift.DescribeMatchmakingOutput, error) + DescribeMatchmakingWithContext(aws.Context, *gamelift.DescribeMatchmakingInput, ...request.Option) (*gamelift.DescribeMatchmakingOutput, error) + DescribeMatchmakingRequest(*gamelift.DescribeMatchmakingInput) (*request.Request, *gamelift.DescribeMatchmakingOutput) + + DescribeMatchmakingConfigurations(*gamelift.DescribeMatchmakingConfigurationsInput) (*gamelift.DescribeMatchmakingConfigurationsOutput, error) + DescribeMatchmakingConfigurationsWithContext(aws.Context, *gamelift.DescribeMatchmakingConfigurationsInput, ...request.Option) (*gamelift.DescribeMatchmakingConfigurationsOutput, error) + DescribeMatchmakingConfigurationsRequest(*gamelift.DescribeMatchmakingConfigurationsInput) (*request.Request, *gamelift.DescribeMatchmakingConfigurationsOutput) + + DescribeMatchmakingRuleSets(*gamelift.DescribeMatchmakingRuleSetsInput) (*gamelift.DescribeMatchmakingRuleSetsOutput, error) + DescribeMatchmakingRuleSetsWithContext(aws.Context, *gamelift.DescribeMatchmakingRuleSetsInput, ...request.Option) (*gamelift.DescribeMatchmakingRuleSetsOutput, error) + DescribeMatchmakingRuleSetsRequest(*gamelift.DescribeMatchmakingRuleSetsInput) (*request.Request, *gamelift.DescribeMatchmakingRuleSetsOutput) + DescribePlayerSessions(*gamelift.DescribePlayerSessionsInput) (*gamelift.DescribePlayerSessionsOutput, error) DescribePlayerSessionsWithContext(aws.Context, *gamelift.DescribePlayerSessionsInput, ...request.Option) (*gamelift.DescribePlayerSessionsOutput, error) DescribePlayerSessionsRequest(*gamelift.DescribePlayerSessionsInput) (*request.Request, *gamelift.DescribePlayerSessionsOutput) @@ -172,6 +216,14 @@ type GameLiftAPI interface { DescribeScalingPoliciesWithContext(aws.Context, *gamelift.DescribeScalingPoliciesInput, ...request.Option) (*gamelift.DescribeScalingPoliciesOutput, error) DescribeScalingPoliciesRequest(*gamelift.DescribeScalingPoliciesInput) (*request.Request, *gamelift.DescribeScalingPoliciesOutput) + DescribeVpcPeeringAuthorizations(*gamelift.DescribeVpcPeeringAuthorizationsInput) (*gamelift.DescribeVpcPeeringAuthorizationsOutput, error) + DescribeVpcPeeringAuthorizationsWithContext(aws.Context, *gamelift.DescribeVpcPeeringAuthorizationsInput, ...request.Option) (*gamelift.DescribeVpcPeeringAuthorizationsOutput, error) + DescribeVpcPeeringAuthorizationsRequest(*gamelift.DescribeVpcPeeringAuthorizationsInput) (*request.Request, *gamelift.DescribeVpcPeeringAuthorizationsOutput) + + DescribeVpcPeeringConnections(*gamelift.DescribeVpcPeeringConnectionsInput) (*gamelift.DescribeVpcPeeringConnectionsOutput, error) + DescribeVpcPeeringConnectionsWithContext(aws.Context, *gamelift.DescribeVpcPeeringConnectionsInput, ...request.Option) (*gamelift.DescribeVpcPeeringConnectionsOutput, error) + DescribeVpcPeeringConnectionsRequest(*gamelift.DescribeVpcPeeringConnectionsInput) (*request.Request, *gamelift.DescribeVpcPeeringConnectionsOutput) + GetGameSessionLogUrl(*gamelift.GetGameSessionLogUrlInput) (*gamelift.GetGameSessionLogUrlOutput, error) GetGameSessionLogUrlWithContext(aws.Context, *gamelift.GetGameSessionLogUrlInput, ...request.Option) (*gamelift.GetGameSessionLogUrlOutput, error) GetGameSessionLogUrlRequest(*gamelift.GetGameSessionLogUrlInput) (*request.Request, *gamelift.GetGameSessionLogUrlOutput) @@ -212,10 +264,18 @@ type GameLiftAPI interface { StartGameSessionPlacementWithContext(aws.Context, *gamelift.StartGameSessionPlacementInput, ...request.Option) (*gamelift.StartGameSessionPlacementOutput, error) StartGameSessionPlacementRequest(*gamelift.StartGameSessionPlacementInput) (*request.Request, *gamelift.StartGameSessionPlacementOutput) + StartMatchmaking(*gamelift.StartMatchmakingInput) (*gamelift.StartMatchmakingOutput, error) + StartMatchmakingWithContext(aws.Context, *gamelift.StartMatchmakingInput, ...request.Option) (*gamelift.StartMatchmakingOutput, error) + StartMatchmakingRequest(*gamelift.StartMatchmakingInput) (*request.Request, *gamelift.StartMatchmakingOutput) + StopGameSessionPlacement(*gamelift.StopGameSessionPlacementInput) (*gamelift.StopGameSessionPlacementOutput, error) StopGameSessionPlacementWithContext(aws.Context, *gamelift.StopGameSessionPlacementInput, ...request.Option) (*gamelift.StopGameSessionPlacementOutput, error) StopGameSessionPlacementRequest(*gamelift.StopGameSessionPlacementInput) (*request.Request, *gamelift.StopGameSessionPlacementOutput) + StopMatchmaking(*gamelift.StopMatchmakingInput) (*gamelift.StopMatchmakingOutput, error) + StopMatchmakingWithContext(aws.Context, *gamelift.StopMatchmakingInput, ...request.Option) (*gamelift.StopMatchmakingOutput, error) + StopMatchmakingRequest(*gamelift.StopMatchmakingInput) (*request.Request, *gamelift.StopMatchmakingOutput) + UpdateAlias(*gamelift.UpdateAliasInput) (*gamelift.UpdateAliasOutput, error) UpdateAliasWithContext(aws.Context, *gamelift.UpdateAliasInput, ...request.Option) (*gamelift.UpdateAliasOutput, error) UpdateAliasRequest(*gamelift.UpdateAliasInput) (*request.Request, *gamelift.UpdateAliasOutput) @@ -244,9 +304,17 @@ type GameLiftAPI interface { UpdateGameSessionQueueWithContext(aws.Context, *gamelift.UpdateGameSessionQueueInput, ...request.Option) (*gamelift.UpdateGameSessionQueueOutput, error) UpdateGameSessionQueueRequest(*gamelift.UpdateGameSessionQueueInput) (*request.Request, *gamelift.UpdateGameSessionQueueOutput) + UpdateMatchmakingConfiguration(*gamelift.UpdateMatchmakingConfigurationInput) (*gamelift.UpdateMatchmakingConfigurationOutput, error) + UpdateMatchmakingConfigurationWithContext(aws.Context, *gamelift.UpdateMatchmakingConfigurationInput, ...request.Option) (*gamelift.UpdateMatchmakingConfigurationOutput, error) + UpdateMatchmakingConfigurationRequest(*gamelift.UpdateMatchmakingConfigurationInput) (*request.Request, *gamelift.UpdateMatchmakingConfigurationOutput) + UpdateRuntimeConfiguration(*gamelift.UpdateRuntimeConfigurationInput) (*gamelift.UpdateRuntimeConfigurationOutput, error) UpdateRuntimeConfigurationWithContext(aws.Context, *gamelift.UpdateRuntimeConfigurationInput, ...request.Option) (*gamelift.UpdateRuntimeConfigurationOutput, error) UpdateRuntimeConfigurationRequest(*gamelift.UpdateRuntimeConfigurationInput) (*request.Request, *gamelift.UpdateRuntimeConfigurationOutput) + + ValidateMatchmakingRuleSet(*gamelift.ValidateMatchmakingRuleSetInput) (*gamelift.ValidateMatchmakingRuleSetOutput, error) + ValidateMatchmakingRuleSetWithContext(aws.Context, *gamelift.ValidateMatchmakingRuleSetInput, ...request.Option) (*gamelift.ValidateMatchmakingRuleSetOutput, error) + ValidateMatchmakingRuleSetRequest(*gamelift.ValidateMatchmakingRuleSetInput) (*request.Request, *gamelift.ValidateMatchmakingRuleSetOutput) } var _ GameLiftAPI = (*gamelift.GameLift)(nil) diff --git a/vendor/github.com/aws/aws-sdk-go/service/glacier/api.go b/vendor/github.com/aws/aws-sdk-go/service/glacier/api.go index d7f703757..29c2872be 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/glacier/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/glacier/api.go @@ -16,19 +16,18 @@ const opAbortMultipartUpload = "AbortMultipartUpload" // AbortMultipartUploadRequest generates a "aws/request.Request" representing the // client's request for the AbortMultipartUpload operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AbortMultipartUpload for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AbortMultipartUpload method directly -// instead. +// See AbortMultipartUpload for more information on using the AbortMultipartUpload +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AbortMultipartUploadRequest method. // req, resp := client.AbortMultipartUploadRequest(params) @@ -124,19 +123,18 @@ const opAbortVaultLock = "AbortVaultLock" // AbortVaultLockRequest generates a "aws/request.Request" representing the // client's request for the AbortVaultLock operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AbortVaultLock for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AbortVaultLock method directly -// instead. +// See AbortVaultLock for more information on using the AbortVaultLock +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AbortVaultLockRequest method. // req, resp := client.AbortVaultLockRequest(params) @@ -228,19 +226,18 @@ const opAddTagsToVault = "AddTagsToVault" // AddTagsToVaultRequest generates a "aws/request.Request" representing the // client's request for the AddTagsToVault operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddTagsToVault for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddTagsToVault method directly -// instead. +// See AddTagsToVault for more information on using the AddTagsToVault +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddTagsToVaultRequest method. // req, resp := client.AddTagsToVaultRequest(params) @@ -325,19 +322,18 @@ const opCompleteMultipartUpload = "CompleteMultipartUpload" // CompleteMultipartUploadRequest generates a "aws/request.Request" representing the // client's request for the CompleteMultipartUpload operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CompleteMultipartUpload for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CompleteMultipartUpload method directly -// instead. +// See CompleteMultipartUpload for more information on using the CompleteMultipartUpload +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CompleteMultipartUploadRequest method. // req, resp := client.CompleteMultipartUploadRequest(params) @@ -455,19 +451,18 @@ const opCompleteVaultLock = "CompleteVaultLock" // CompleteVaultLockRequest generates a "aws/request.Request" representing the // client's request for the CompleteVaultLock operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CompleteVaultLock for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CompleteVaultLock method directly -// instead. +// See CompleteVaultLock for more information on using the CompleteVaultLock +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CompleteVaultLockRequest method. // req, resp := client.CompleteVaultLockRequest(params) @@ -558,19 +553,18 @@ const opCreateVault = "CreateVault" // CreateVaultRequest generates a "aws/request.Request" representing the // client's request for the CreateVault operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateVault for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateVault method directly -// instead. +// See CreateVault for more information on using the CreateVault +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateVaultRequest method. // req, resp := client.CreateVaultRequest(params) @@ -667,19 +661,18 @@ const opDeleteArchive = "DeleteArchive" // DeleteArchiveRequest generates a "aws/request.Request" representing the // client's request for the DeleteArchive operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteArchive for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteArchive method directly -// instead. +// See DeleteArchive for more information on using the DeleteArchive +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteArchiveRequest method. // req, resp := client.DeleteArchiveRequest(params) @@ -780,19 +773,18 @@ const opDeleteVault = "DeleteVault" // DeleteVaultRequest generates a "aws/request.Request" representing the // client's request for the DeleteVault operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteVault for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteVault method directly -// instead. +// See DeleteVault for more information on using the DeleteVault +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteVaultRequest method. // req, resp := client.DeleteVaultRequest(params) @@ -891,19 +883,18 @@ const opDeleteVaultAccessPolicy = "DeleteVaultAccessPolicy" // DeleteVaultAccessPolicyRequest generates a "aws/request.Request" representing the // client's request for the DeleteVaultAccessPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteVaultAccessPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteVaultAccessPolicy method directly -// instead. +// See DeleteVaultAccessPolicy for more information on using the DeleteVaultAccessPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteVaultAccessPolicyRequest method. // req, resp := client.DeleteVaultAccessPolicyRequest(params) @@ -989,19 +980,18 @@ const opDeleteVaultNotifications = "DeleteVaultNotifications" // DeleteVaultNotificationsRequest generates a "aws/request.Request" representing the // client's request for the DeleteVaultNotifications operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteVaultNotifications for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteVaultNotifications method directly -// instead. +// See DeleteVaultNotifications for more information on using the DeleteVaultNotifications +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteVaultNotificationsRequest method. // req, resp := client.DeleteVaultNotificationsRequest(params) @@ -1092,19 +1082,18 @@ const opDescribeJob = "DescribeJob" // DescribeJobRequest generates a "aws/request.Request" representing the // client's request for the DescribeJob operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeJob for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeJob method directly -// instead. +// See DescribeJob for more information on using the DescribeJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeJobRequest method. // req, resp := client.DescribeJobRequest(params) @@ -1200,19 +1189,18 @@ const opDescribeVault = "DescribeVault" // DescribeVaultRequest generates a "aws/request.Request" representing the // client's request for the DescribeVault operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeVault for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeVault method directly -// instead. +// See DescribeVault for more information on using the DescribeVault +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeVaultRequest method. // req, resp := client.DescribeVaultRequest(params) @@ -1306,19 +1294,18 @@ const opGetDataRetrievalPolicy = "GetDataRetrievalPolicy" // GetDataRetrievalPolicyRequest generates a "aws/request.Request" representing the // client's request for the GetDataRetrievalPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDataRetrievalPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDataRetrievalPolicy method directly -// instead. +// See GetDataRetrievalPolicy for more information on using the GetDataRetrievalPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDataRetrievalPolicyRequest method. // req, resp := client.GetDataRetrievalPolicyRequest(params) @@ -1391,19 +1378,18 @@ const opGetJobOutput = "GetJobOutput" // GetJobOutputRequest generates a "aws/request.Request" representing the // client's request for the GetJobOutput operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetJobOutput for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetJobOutput method directly -// instead. +// See GetJobOutput for more information on using the GetJobOutput +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetJobOutputRequest method. // req, resp := client.GetJobOutputRequest(params) @@ -1521,19 +1507,18 @@ const opGetVaultAccessPolicy = "GetVaultAccessPolicy" // GetVaultAccessPolicyRequest generates a "aws/request.Request" representing the // client's request for the GetVaultAccessPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetVaultAccessPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetVaultAccessPolicy method directly -// instead. +// See GetVaultAccessPolicy for more information on using the GetVaultAccessPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetVaultAccessPolicyRequest method. // req, resp := client.GetVaultAccessPolicyRequest(params) @@ -1613,19 +1598,18 @@ const opGetVaultLock = "GetVaultLock" // GetVaultLockRequest generates a "aws/request.Request" representing the // client's request for the GetVaultLock operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetVaultLock for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetVaultLock method directly -// instead. +// See GetVaultLock for more information on using the GetVaultLock +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetVaultLockRequest method. // req, resp := client.GetVaultLockRequest(params) @@ -1719,19 +1703,18 @@ const opGetVaultNotifications = "GetVaultNotifications" // GetVaultNotificationsRequest generates a "aws/request.Request" representing the // client's request for the GetVaultNotifications operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetVaultNotifications for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetVaultNotifications method directly -// instead. +// See GetVaultNotifications for more information on using the GetVaultNotifications +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetVaultNotificationsRequest method. // req, resp := client.GetVaultNotificationsRequest(params) @@ -1824,19 +1807,18 @@ const opInitiateJob = "InitiateJob" // InitiateJobRequest generates a "aws/request.Request" representing the // client's request for the InitiateJob operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InitiateJob for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InitiateJob method directly -// instead. +// See InitiateJob for more information on using the InitiateJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InitiateJobRequest method. // req, resp := client.InitiateJobRequest(params) @@ -2055,19 +2037,18 @@ const opInitiateMultipartUpload = "InitiateMultipartUpload" // InitiateMultipartUploadRequest generates a "aws/request.Request" representing the // client's request for the InitiateMultipartUpload operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InitiateMultipartUpload for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InitiateMultipartUpload method directly -// instead. +// See InitiateMultipartUpload for more information on using the InitiateMultipartUpload +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InitiateMultipartUploadRequest method. // req, resp := client.InitiateMultipartUploadRequest(params) @@ -2176,19 +2157,18 @@ const opInitiateVaultLock = "InitiateVaultLock" // InitiateVaultLockRequest generates a "aws/request.Request" representing the // client's request for the InitiateVaultLock operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InitiateVaultLock for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InitiateVaultLock method directly -// instead. +// See InitiateVaultLock for more information on using the InitiateVaultLock +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InitiateVaultLockRequest method. // req, resp := client.InitiateVaultLockRequest(params) @@ -2291,19 +2271,18 @@ const opListJobs = "ListJobs" // ListJobsRequest generates a "aws/request.Request" representing the // client's request for the ListJobs operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListJobs for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListJobs method directly -// instead. +// See ListJobs for more information on using the ListJobs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListJobsRequest method. // req, resp := client.ListJobsRequest(params) @@ -2473,19 +2452,18 @@ const opListMultipartUploads = "ListMultipartUploads" // ListMultipartUploadsRequest generates a "aws/request.Request" representing the // client's request for the ListMultipartUploads operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListMultipartUploads for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListMultipartUploads method directly -// instead. +// See ListMultipartUploads for more information on using the ListMultipartUploads +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListMultipartUploadsRequest method. // req, resp := client.ListMultipartUploadsRequest(params) @@ -2645,19 +2623,18 @@ const opListParts = "ListParts" // ListPartsRequest generates a "aws/request.Request" representing the // client's request for the ListParts operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListParts for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListParts method directly -// instead. +// See ListParts for more information on using the ListParts +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPartsRequest method. // req, resp := client.ListPartsRequest(params) @@ -2811,19 +2788,18 @@ const opListProvisionedCapacity = "ListProvisionedCapacity" // ListProvisionedCapacityRequest generates a "aws/request.Request" representing the // client's request for the ListProvisionedCapacity operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListProvisionedCapacity for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListProvisionedCapacity method directly -// instead. +// See ListProvisionedCapacity for more information on using the ListProvisionedCapacity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListProvisionedCapacityRequest method. // req, resp := client.ListProvisionedCapacityRequest(params) @@ -2894,19 +2870,18 @@ const opListTagsForVault = "ListTagsForVault" // ListTagsForVaultRequest generates a "aws/request.Request" representing the // client's request for the ListTagsForVault operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTagsForVault for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTagsForVault method directly -// instead. +// See ListTagsForVault for more information on using the ListTagsForVault +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTagsForVaultRequest method. // req, resp := client.ListTagsForVaultRequest(params) @@ -2983,19 +2958,18 @@ const opListVaults = "ListVaults" // ListVaultsRequest generates a "aws/request.Request" representing the // client's request for the ListVaults operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListVaults for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListVaults method directly -// instead. +// See ListVaults for more information on using the ListVaults +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListVaultsRequest method. // req, resp := client.ListVaultsRequest(params) @@ -3146,19 +3120,18 @@ const opPurchaseProvisionedCapacity = "PurchaseProvisionedCapacity" // PurchaseProvisionedCapacityRequest generates a "aws/request.Request" representing the // client's request for the PurchaseProvisionedCapacity operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PurchaseProvisionedCapacity for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PurchaseProvisionedCapacity method directly -// instead. +// See PurchaseProvisionedCapacity for more information on using the PurchaseProvisionedCapacity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PurchaseProvisionedCapacityRequest method. // req, resp := client.PurchaseProvisionedCapacityRequest(params) @@ -3232,19 +3205,18 @@ const opRemoveTagsFromVault = "RemoveTagsFromVault" // RemoveTagsFromVaultRequest generates a "aws/request.Request" representing the // client's request for the RemoveTagsFromVault operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveTagsFromVault for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveTagsFromVault method directly -// instead. +// See RemoveTagsFromVault for more information on using the RemoveTagsFromVault +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveTagsFromVaultRequest method. // req, resp := client.RemoveTagsFromVaultRequest(params) @@ -3325,19 +3297,18 @@ const opSetDataRetrievalPolicy = "SetDataRetrievalPolicy" // SetDataRetrievalPolicyRequest generates a "aws/request.Request" representing the // client's request for the SetDataRetrievalPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetDataRetrievalPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetDataRetrievalPolicy method directly -// instead. +// See SetDataRetrievalPolicy for more information on using the SetDataRetrievalPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetDataRetrievalPolicyRequest method. // req, resp := client.SetDataRetrievalPolicyRequest(params) @@ -3416,19 +3387,18 @@ const opSetVaultAccessPolicy = "SetVaultAccessPolicy" // SetVaultAccessPolicyRequest generates a "aws/request.Request" representing the // client's request for the SetVaultAccessPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetVaultAccessPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetVaultAccessPolicy method directly -// instead. +// See SetVaultAccessPolicy for more information on using the SetVaultAccessPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetVaultAccessPolicyRequest method. // req, resp := client.SetVaultAccessPolicyRequest(params) @@ -3511,19 +3481,18 @@ const opSetVaultNotifications = "SetVaultNotifications" // SetVaultNotificationsRequest generates a "aws/request.Request" representing the // client's request for the SetVaultNotifications operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetVaultNotifications for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetVaultNotifications method directly -// instead. +// See SetVaultNotifications for more information on using the SetVaultNotifications +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetVaultNotificationsRequest method. // req, resp := client.SetVaultNotificationsRequest(params) @@ -3631,19 +3600,18 @@ const opUploadArchive = "UploadArchive" // UploadArchiveRequest generates a "aws/request.Request" representing the // client's request for the UploadArchive operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UploadArchive for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UploadArchive method directly -// instead. +// See UploadArchive for more information on using the UploadArchive +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UploadArchiveRequest method. // req, resp := client.UploadArchiveRequest(params) @@ -3757,19 +3725,18 @@ const opUploadMultipartPart = "UploadMultipartPart" // UploadMultipartPartRequest generates a "aws/request.Request" representing the // client's request for the UploadMultipartPart operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UploadMultipartPart for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UploadMultipartPart method directly -// instead. +// See UploadMultipartPart for more information on using the UploadMultipartPart +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UploadMultipartPartRequest method. // req, resp := client.UploadMultipartPartRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/glacier/customizations_test.go b/vendor/github.com/aws/aws-sdk-go/service/glacier/customizations_test.go index 15b7a8ec6..06ba110b7 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/glacier/customizations_test.go +++ b/vendor/github.com/aws/aws-sdk-go/service/glacier/customizations_test.go @@ -6,8 +6,6 @@ import ( "bytes" "testing" - "github.com/stretchr/testify/assert" - "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" "github.com/aws/aws-sdk-go/awstesting/unit" @@ -32,20 +30,30 @@ func TestCustomizations(t *testing.T) { Body: payloadBuf, }) err := req.Build() - assert.NoError(t, err) + if err != nil { + t.Errorf("expect no err, got %v", err) + } // Sets API version - assert.Equal(t, req.ClientInfo.APIVersion, req.HTTPRequest.Header.Get("x-amz-glacier-version")) + if e, a := req.ClientInfo.APIVersion, req.HTTPRequest.Header.Get("x-amz-glacier-version"); e != a { + t.Errorf("expect %v, got %v", e, a) + } // Sets Account ID v, _ := awsutil.ValuesAtPath(req.Params, "AccountId") - assert.Equal(t, "-", *(v[0].(*string))) + if e, a := "-", *(v[0].(*string)); e != a { + t.Errorf("expect %v, got %v", e, a) + } // Computes checksums linear := "68aff0c5a91aa0491752bfb96e3fef33eb74953804f6a2f7b708d5bcefa8ff6b" tree := "154e26c78fd74d0c2c9b3cc4644191619dc4f2cd539ae2a74d5fd07957a3ee6a" - assert.Equal(t, linear, req.HTTPRequest.Header.Get("x-amz-content-sha256")) - assert.Equal(t, tree, req.HTTPRequest.Header.Get("x-amz-sha256-tree-hash")) + if e, a := linear, req.HTTPRequest.Header.Get("x-amz-content-sha256"); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := tree, req.HTTPRequest.Header.Get("x-amz-sha256-tree-hash"); e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestShortcircuitTreehash(t *testing.T) { @@ -55,25 +63,37 @@ func TestShortcircuitTreehash(t *testing.T) { Checksum: aws.String("000"), }) err := req.Build() - assert.NoError(t, err) + if err != nil { + t.Errorf("expect no err, got %v", err) + } - assert.Equal(t, "000", req.HTTPRequest.Header.Get("x-amz-sha256-tree-hash")) + if e, a := "000", req.HTTPRequest.Header.Get("x-amz-sha256-tree-hash"); e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestFillAccountIDWithNilStruct(t *testing.T) { req, _ := svc.ListVaultsRequest(nil) err := req.Build() - assert.NoError(t, err) + if err != nil { + t.Errorf("expect no err, got %v", err) + } empty := "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" // Sets Account ID v, _ := awsutil.ValuesAtPath(req.Params, "AccountId") - assert.Equal(t, "-", *(v[0].(*string))) + if e, a := "-", *(v[0].(*string)); e != a { + t.Errorf("expect %v, got %v", e, a) + } // Does not set tree hash - assert.Equal(t, empty, req.HTTPRequest.Header.Get("x-amz-content-sha256")) - assert.Equal(t, "", req.HTTPRequest.Header.Get("x-amz-sha256-tree-hash")) + if e, a := empty, req.HTTPRequest.Header.Get("x-amz-content-sha256"); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "", req.HTTPRequest.Header.Get("x-amz-sha256-tree-hash"); e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestHashOnce(t *testing.T) { @@ -84,7 +104,11 @@ func TestHashOnce(t *testing.T) { req.HTTPRequest.Header.Set("X-Amz-Sha256-Tree-Hash", "0") err := req.Build() - assert.NoError(t, err) + if err != nil { + t.Errorf("expect no err, got %v", err) + } - assert.Equal(t, "0", req.HTTPRequest.Header.Get("x-amz-sha256-tree-hash")) + if e, a := "0", req.HTTPRequest.Header.Get("x-amz-sha256-tree-hash"); e != a { + t.Errorf("expect %v, got %v", e, a) + } } diff --git a/vendor/github.com/aws/aws-sdk-go/service/glacier/doc.go b/vendor/github.com/aws/aws-sdk-go/service/glacier/doc.go index 1aa05e8e8..08a610d2c 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/glacier/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/glacier/doc.go @@ -40,69 +40,17 @@ // // Using the Client // -// To use the client for Amazon Glacier you will first need -// to create a new instance of it. +// To Amazon Glacier with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := glacier.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Glacier client Glacier for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/glacier/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AbortMultipartUpload(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AbortMultipartUpload result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AbortMultipartUploadWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package glacier diff --git a/vendor/github.com/aws/aws-sdk-go/service/glacier/glacieriface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/glacier/glacieriface/interface.go index 2b3a582b0..513037704 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/glacier/glacieriface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/glacier/glacieriface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Glacier. diff --git a/vendor/github.com/aws/aws-sdk-go/service/glacier/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/glacier/waiters.go index 342fe25e7..c8306cafc 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/glacier/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/glacier/waiters.go @@ -11,7 +11,7 @@ import ( // WaitUntilVaultExists uses the Amazon Glacier API operation // DescribeVault to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *Glacier) WaitUntilVaultExists(input *DescribeVaultInput) error { return c.WaitUntilVaultExistsWithContext(aws.BackgroundContext(), input) @@ -62,7 +62,7 @@ func (c *Glacier) WaitUntilVaultExistsWithContext(ctx aws.Context, input *Descri // WaitUntilVaultNotExists uses the Amazon Glacier API operation // DescribeVault to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *Glacier) WaitUntilVaultNotExists(input *DescribeVaultInput) error { return c.WaitUntilVaultNotExistsWithContext(aws.BackgroundContext(), input) diff --git a/vendor/github.com/aws/aws-sdk-go/service/glue/api.go b/vendor/github.com/aws/aws-sdk-go/service/glue/api.go new file mode 100644 index 000000000..3db0ed469 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/glue/api.go @@ -0,0 +1,18049 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package glue + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" +) + +const opBatchCreatePartition = "BatchCreatePartition" + +// BatchCreatePartitionRequest generates a "aws/request.Request" representing the +// client's request for the BatchCreatePartition operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See BatchCreatePartition for more information on using the BatchCreatePartition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the BatchCreatePartitionRequest method. +// req, resp := client.BatchCreatePartitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchCreatePartition +func (c *Glue) BatchCreatePartitionRequest(input *BatchCreatePartitionInput) (req *request.Request, output *BatchCreatePartitionOutput) { + op := &request.Operation{ + Name: opBatchCreatePartition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchCreatePartitionInput{} + } + + output = &BatchCreatePartitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchCreatePartition API operation for AWS Glue. +// +// Creates one or more partitions in a batch operation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation BatchCreatePartition for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeAlreadyExistsException "AlreadyExistsException" +// A resource to be created or added already exists. +// +// * ErrCodeResourceNumberLimitExceededException "ResourceNumberLimitExceededException" +// A resource numerical limit was exceeded. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchCreatePartition +func (c *Glue) BatchCreatePartition(input *BatchCreatePartitionInput) (*BatchCreatePartitionOutput, error) { + req, out := c.BatchCreatePartitionRequest(input) + return out, req.Send() +} + +// BatchCreatePartitionWithContext is the same as BatchCreatePartition with the addition of +// the ability to pass a context and additional request options. +// +// See BatchCreatePartition for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) BatchCreatePartitionWithContext(ctx aws.Context, input *BatchCreatePartitionInput, opts ...request.Option) (*BatchCreatePartitionOutput, error) { + req, out := c.BatchCreatePartitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opBatchDeleteConnection = "BatchDeleteConnection" + +// BatchDeleteConnectionRequest generates a "aws/request.Request" representing the +// client's request for the BatchDeleteConnection operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See BatchDeleteConnection for more information on using the BatchDeleteConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the BatchDeleteConnectionRequest method. +// req, resp := client.BatchDeleteConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchDeleteConnection +func (c *Glue) BatchDeleteConnectionRequest(input *BatchDeleteConnectionInput) (req *request.Request, output *BatchDeleteConnectionOutput) { + op := &request.Operation{ + Name: opBatchDeleteConnection, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchDeleteConnectionInput{} + } + + output = &BatchDeleteConnectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchDeleteConnection API operation for AWS Glue. +// +// Deletes a list of connection definitions from the Data Catalog. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation BatchDeleteConnection for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchDeleteConnection +func (c *Glue) BatchDeleteConnection(input *BatchDeleteConnectionInput) (*BatchDeleteConnectionOutput, error) { + req, out := c.BatchDeleteConnectionRequest(input) + return out, req.Send() +} + +// BatchDeleteConnectionWithContext is the same as BatchDeleteConnection with the addition of +// the ability to pass a context and additional request options. +// +// See BatchDeleteConnection for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) BatchDeleteConnectionWithContext(ctx aws.Context, input *BatchDeleteConnectionInput, opts ...request.Option) (*BatchDeleteConnectionOutput, error) { + req, out := c.BatchDeleteConnectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opBatchDeletePartition = "BatchDeletePartition" + +// BatchDeletePartitionRequest generates a "aws/request.Request" representing the +// client's request for the BatchDeletePartition operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See BatchDeletePartition for more information on using the BatchDeletePartition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the BatchDeletePartitionRequest method. +// req, resp := client.BatchDeletePartitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchDeletePartition +func (c *Glue) BatchDeletePartitionRequest(input *BatchDeletePartitionInput) (req *request.Request, output *BatchDeletePartitionOutput) { + op := &request.Operation{ + Name: opBatchDeletePartition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchDeletePartitionInput{} + } + + output = &BatchDeletePartitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchDeletePartition API operation for AWS Glue. +// +// Deletes one or more partitions in a batch operation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation BatchDeletePartition for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchDeletePartition +func (c *Glue) BatchDeletePartition(input *BatchDeletePartitionInput) (*BatchDeletePartitionOutput, error) { + req, out := c.BatchDeletePartitionRequest(input) + return out, req.Send() +} + +// BatchDeletePartitionWithContext is the same as BatchDeletePartition with the addition of +// the ability to pass a context and additional request options. +// +// See BatchDeletePartition for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) BatchDeletePartitionWithContext(ctx aws.Context, input *BatchDeletePartitionInput, opts ...request.Option) (*BatchDeletePartitionOutput, error) { + req, out := c.BatchDeletePartitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opBatchDeleteTable = "BatchDeleteTable" + +// BatchDeleteTableRequest generates a "aws/request.Request" representing the +// client's request for the BatchDeleteTable operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See BatchDeleteTable for more information on using the BatchDeleteTable +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the BatchDeleteTableRequest method. +// req, resp := client.BatchDeleteTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchDeleteTable +func (c *Glue) BatchDeleteTableRequest(input *BatchDeleteTableInput) (req *request.Request, output *BatchDeleteTableOutput) { + op := &request.Operation{ + Name: opBatchDeleteTable, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchDeleteTableInput{} + } + + output = &BatchDeleteTableOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchDeleteTable API operation for AWS Glue. +// +// Deletes multiple tables at once. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation BatchDeleteTable for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchDeleteTable +func (c *Glue) BatchDeleteTable(input *BatchDeleteTableInput) (*BatchDeleteTableOutput, error) { + req, out := c.BatchDeleteTableRequest(input) + return out, req.Send() +} + +// BatchDeleteTableWithContext is the same as BatchDeleteTable with the addition of +// the ability to pass a context and additional request options. +// +// See BatchDeleteTable for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) BatchDeleteTableWithContext(ctx aws.Context, input *BatchDeleteTableInput, opts ...request.Option) (*BatchDeleteTableOutput, error) { + req, out := c.BatchDeleteTableRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opBatchGetPartition = "BatchGetPartition" + +// BatchGetPartitionRequest generates a "aws/request.Request" representing the +// client's request for the BatchGetPartition operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See BatchGetPartition for more information on using the BatchGetPartition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the BatchGetPartitionRequest method. +// req, resp := client.BatchGetPartitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchGetPartition +func (c *Glue) BatchGetPartitionRequest(input *BatchGetPartitionInput) (req *request.Request, output *BatchGetPartitionOutput) { + op := &request.Operation{ + Name: opBatchGetPartition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchGetPartitionInput{} + } + + output = &BatchGetPartitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchGetPartition API operation for AWS Glue. +// +// Retrieves partitions in a batch request. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation BatchGetPartition for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchGetPartition +func (c *Glue) BatchGetPartition(input *BatchGetPartitionInput) (*BatchGetPartitionOutput, error) { + req, out := c.BatchGetPartitionRequest(input) + return out, req.Send() +} + +// BatchGetPartitionWithContext is the same as BatchGetPartition with the addition of +// the ability to pass a context and additional request options. +// +// See BatchGetPartition for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) BatchGetPartitionWithContext(ctx aws.Context, input *BatchGetPartitionInput, opts ...request.Option) (*BatchGetPartitionOutput, error) { + req, out := c.BatchGetPartitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateClassifier = "CreateClassifier" + +// CreateClassifierRequest generates a "aws/request.Request" representing the +// client's request for the CreateClassifier operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateClassifier for more information on using the CreateClassifier +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateClassifierRequest method. +// req, resp := client.CreateClassifierRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateClassifier +func (c *Glue) CreateClassifierRequest(input *CreateClassifierInput) (req *request.Request, output *CreateClassifierOutput) { + op := &request.Operation{ + Name: opCreateClassifier, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateClassifierInput{} + } + + output = &CreateClassifierOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateClassifier API operation for AWS Glue. +// +// Creates a Classifier in the user's account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation CreateClassifier for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAlreadyExistsException "AlreadyExistsException" +// A resource to be created or added already exists. +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateClassifier +func (c *Glue) CreateClassifier(input *CreateClassifierInput) (*CreateClassifierOutput, error) { + req, out := c.CreateClassifierRequest(input) + return out, req.Send() +} + +// CreateClassifierWithContext is the same as CreateClassifier with the addition of +// the ability to pass a context and additional request options. +// +// See CreateClassifier for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) CreateClassifierWithContext(ctx aws.Context, input *CreateClassifierInput, opts ...request.Option) (*CreateClassifierOutput, error) { + req, out := c.CreateClassifierRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateConnection = "CreateConnection" + +// CreateConnectionRequest generates a "aws/request.Request" representing the +// client's request for the CreateConnection operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateConnection for more information on using the CreateConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateConnectionRequest method. +// req, resp := client.CreateConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateConnection +func (c *Glue) CreateConnectionRequest(input *CreateConnectionInput) (req *request.Request, output *CreateConnectionOutput) { + op := &request.Operation{ + Name: opCreateConnection, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateConnectionInput{} + } + + output = &CreateConnectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateConnection API operation for AWS Glue. +// +// Creates a connection definition in the Data Catalog. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation CreateConnection for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAlreadyExistsException "AlreadyExistsException" +// A resource to be created or added already exists. +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateConnection +func (c *Glue) CreateConnection(input *CreateConnectionInput) (*CreateConnectionOutput, error) { + req, out := c.CreateConnectionRequest(input) + return out, req.Send() +} + +// CreateConnectionWithContext is the same as CreateConnection with the addition of +// the ability to pass a context and additional request options. +// +// See CreateConnection for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) CreateConnectionWithContext(ctx aws.Context, input *CreateConnectionInput, opts ...request.Option) (*CreateConnectionOutput, error) { + req, out := c.CreateConnectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateCrawler = "CreateCrawler" + +// CreateCrawlerRequest generates a "aws/request.Request" representing the +// client's request for the CreateCrawler operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateCrawler for more information on using the CreateCrawler +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateCrawlerRequest method. +// req, resp := client.CreateCrawlerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateCrawler +func (c *Glue) CreateCrawlerRequest(input *CreateCrawlerInput) (req *request.Request, output *CreateCrawlerOutput) { + op := &request.Operation{ + Name: opCreateCrawler, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateCrawlerInput{} + } + + output = &CreateCrawlerOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateCrawler API operation for AWS Glue. +// +// Creates a new Crawler with specified targets, role, configuration, and optional +// schedule. At least one crawl target must be specified, in either the s3Targets +// or the jdbcTargets field. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation CreateCrawler for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeAlreadyExistsException "AlreadyExistsException" +// A resource to be created or added already exists. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// * ErrCodeResourceNumberLimitExceededException "ResourceNumberLimitExceededException" +// A resource numerical limit was exceeded. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateCrawler +func (c *Glue) CreateCrawler(input *CreateCrawlerInput) (*CreateCrawlerOutput, error) { + req, out := c.CreateCrawlerRequest(input) + return out, req.Send() +} + +// CreateCrawlerWithContext is the same as CreateCrawler with the addition of +// the ability to pass a context and additional request options. +// +// See CreateCrawler for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) CreateCrawlerWithContext(ctx aws.Context, input *CreateCrawlerInput, opts ...request.Option) (*CreateCrawlerOutput, error) { + req, out := c.CreateCrawlerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateDatabase = "CreateDatabase" + +// CreateDatabaseRequest generates a "aws/request.Request" representing the +// client's request for the CreateDatabase operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateDatabase for more information on using the CreateDatabase +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateDatabaseRequest method. +// req, resp := client.CreateDatabaseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateDatabase +func (c *Glue) CreateDatabaseRequest(input *CreateDatabaseInput) (req *request.Request, output *CreateDatabaseOutput) { + op := &request.Operation{ + Name: opCreateDatabase, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateDatabaseInput{} + } + + output = &CreateDatabaseOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDatabase API operation for AWS Glue. +// +// Creates a new database in a Data Catalog. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation CreateDatabase for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeAlreadyExistsException "AlreadyExistsException" +// A resource to be created or added already exists. +// +// * ErrCodeResourceNumberLimitExceededException "ResourceNumberLimitExceededException" +// A resource numerical limit was exceeded. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateDatabase +func (c *Glue) CreateDatabase(input *CreateDatabaseInput) (*CreateDatabaseOutput, error) { + req, out := c.CreateDatabaseRequest(input) + return out, req.Send() +} + +// CreateDatabaseWithContext is the same as CreateDatabase with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDatabase for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) CreateDatabaseWithContext(ctx aws.Context, input *CreateDatabaseInput, opts ...request.Option) (*CreateDatabaseOutput, error) { + req, out := c.CreateDatabaseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateDevEndpoint = "CreateDevEndpoint" + +// CreateDevEndpointRequest generates a "aws/request.Request" representing the +// client's request for the CreateDevEndpoint operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateDevEndpoint for more information on using the CreateDevEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateDevEndpointRequest method. +// req, resp := client.CreateDevEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateDevEndpoint +func (c *Glue) CreateDevEndpointRequest(input *CreateDevEndpointInput) (req *request.Request, output *CreateDevEndpointOutput) { + op := &request.Operation{ + Name: opCreateDevEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateDevEndpointInput{} + } + + output = &CreateDevEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDevEndpoint API operation for AWS Glue. +// +// Creates a new DevEndpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation CreateDevEndpoint for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Access to a resource was denied. +// +// * ErrCodeAlreadyExistsException "AlreadyExistsException" +// A resource to be created or added already exists. +// +// * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException" +// The same unique identifier was associated with two different records. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeValidationException "ValidationException" +// A value could not be validated. +// +// * ErrCodeResourceNumberLimitExceededException "ResourceNumberLimitExceededException" +// A resource numerical limit was exceeded. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateDevEndpoint +func (c *Glue) CreateDevEndpoint(input *CreateDevEndpointInput) (*CreateDevEndpointOutput, error) { + req, out := c.CreateDevEndpointRequest(input) + return out, req.Send() +} + +// CreateDevEndpointWithContext is the same as CreateDevEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDevEndpoint for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) CreateDevEndpointWithContext(ctx aws.Context, input *CreateDevEndpointInput, opts ...request.Option) (*CreateDevEndpointOutput, error) { + req, out := c.CreateDevEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateJob = "CreateJob" + +// CreateJobRequest generates a "aws/request.Request" representing the +// client's request for the CreateJob operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateJob for more information on using the CreateJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateJobRequest method. +// req, resp := client.CreateJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateJob +func (c *Glue) CreateJobRequest(input *CreateJobInput) (req *request.Request, output *CreateJobOutput) { + op := &request.Operation{ + Name: opCreateJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateJobInput{} + } + + output = &CreateJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateJob API operation for AWS Glue. +// +// Creates a new job. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation CreateJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException" +// The same unique identifier was associated with two different records. +// +// * ErrCodeAlreadyExistsException "AlreadyExistsException" +// A resource to be created or added already exists. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// * ErrCodeResourceNumberLimitExceededException "ResourceNumberLimitExceededException" +// A resource numerical limit was exceeded. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateJob +func (c *Glue) CreateJob(input *CreateJobInput) (*CreateJobOutput, error) { + req, out := c.CreateJobRequest(input) + return out, req.Send() +} + +// CreateJobWithContext is the same as CreateJob with the addition of +// the ability to pass a context and additional request options. +// +// See CreateJob for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) CreateJobWithContext(ctx aws.Context, input *CreateJobInput, opts ...request.Option) (*CreateJobOutput, error) { + req, out := c.CreateJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreatePartition = "CreatePartition" + +// CreatePartitionRequest generates a "aws/request.Request" representing the +// client's request for the CreatePartition operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreatePartition for more information on using the CreatePartition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreatePartitionRequest method. +// req, resp := client.CreatePartitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreatePartition +func (c *Glue) CreatePartitionRequest(input *CreatePartitionInput) (req *request.Request, output *CreatePartitionOutput) { + op := &request.Operation{ + Name: opCreatePartition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreatePartitionInput{} + } + + output = &CreatePartitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreatePartition API operation for AWS Glue. +// +// Creates a new partition. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation CreatePartition for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeAlreadyExistsException "AlreadyExistsException" +// A resource to be created or added already exists. +// +// * ErrCodeResourceNumberLimitExceededException "ResourceNumberLimitExceededException" +// A resource numerical limit was exceeded. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreatePartition +func (c *Glue) CreatePartition(input *CreatePartitionInput) (*CreatePartitionOutput, error) { + req, out := c.CreatePartitionRequest(input) + return out, req.Send() +} + +// CreatePartitionWithContext is the same as CreatePartition with the addition of +// the ability to pass a context and additional request options. +// +// See CreatePartition for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) CreatePartitionWithContext(ctx aws.Context, input *CreatePartitionInput, opts ...request.Option) (*CreatePartitionOutput, error) { + req, out := c.CreatePartitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateScript = "CreateScript" + +// CreateScriptRequest generates a "aws/request.Request" representing the +// client's request for the CreateScript operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateScript for more information on using the CreateScript +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateScriptRequest method. +// req, resp := client.CreateScriptRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateScript +func (c *Glue) CreateScriptRequest(input *CreateScriptInput) (req *request.Request, output *CreateScriptOutput) { + op := &request.Operation{ + Name: opCreateScript, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateScriptInput{} + } + + output = &CreateScriptOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateScript API operation for AWS Glue. +// +// Transforms a directed acyclic graph (DAG) into a Python script. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation CreateScript for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateScript +func (c *Glue) CreateScript(input *CreateScriptInput) (*CreateScriptOutput, error) { + req, out := c.CreateScriptRequest(input) + return out, req.Send() +} + +// CreateScriptWithContext is the same as CreateScript with the addition of +// the ability to pass a context and additional request options. +// +// See CreateScript for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) CreateScriptWithContext(ctx aws.Context, input *CreateScriptInput, opts ...request.Option) (*CreateScriptOutput, error) { + req, out := c.CreateScriptRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateTable = "CreateTable" + +// CreateTableRequest generates a "aws/request.Request" representing the +// client's request for the CreateTable operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateTable for more information on using the CreateTable +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateTableRequest method. +// req, resp := client.CreateTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateTable +func (c *Glue) CreateTableRequest(input *CreateTableInput) (req *request.Request, output *CreateTableOutput) { + op := &request.Operation{ + Name: opCreateTable, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateTableInput{} + } + + output = &CreateTableOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateTable API operation for AWS Glue. +// +// Creates a new table definition in the Data Catalog. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation CreateTable for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAlreadyExistsException "AlreadyExistsException" +// A resource to be created or added already exists. +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeResourceNumberLimitExceededException "ResourceNumberLimitExceededException" +// A resource numerical limit was exceeded. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateTable +func (c *Glue) CreateTable(input *CreateTableInput) (*CreateTableOutput, error) { + req, out := c.CreateTableRequest(input) + return out, req.Send() +} + +// CreateTableWithContext is the same as CreateTable with the addition of +// the ability to pass a context and additional request options. +// +// See CreateTable for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) CreateTableWithContext(ctx aws.Context, input *CreateTableInput, opts ...request.Option) (*CreateTableOutput, error) { + req, out := c.CreateTableRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateTrigger = "CreateTrigger" + +// CreateTriggerRequest generates a "aws/request.Request" representing the +// client's request for the CreateTrigger operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateTrigger for more information on using the CreateTrigger +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateTriggerRequest method. +// req, resp := client.CreateTriggerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateTrigger +func (c *Glue) CreateTriggerRequest(input *CreateTriggerInput) (req *request.Request, output *CreateTriggerOutput) { + op := &request.Operation{ + Name: opCreateTrigger, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateTriggerInput{} + } + + output = &CreateTriggerOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateTrigger API operation for AWS Glue. +// +// Creates a new trigger. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation CreateTrigger for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAlreadyExistsException "AlreadyExistsException" +// A resource to be created or added already exists. +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// * ErrCodeResourceNumberLimitExceededException "ResourceNumberLimitExceededException" +// A resource numerical limit was exceeded. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateTrigger +func (c *Glue) CreateTrigger(input *CreateTriggerInput) (*CreateTriggerOutput, error) { + req, out := c.CreateTriggerRequest(input) + return out, req.Send() +} + +// CreateTriggerWithContext is the same as CreateTrigger with the addition of +// the ability to pass a context and additional request options. +// +// See CreateTrigger for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) CreateTriggerWithContext(ctx aws.Context, input *CreateTriggerInput, opts ...request.Option) (*CreateTriggerOutput, error) { + req, out := c.CreateTriggerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateUserDefinedFunction = "CreateUserDefinedFunction" + +// CreateUserDefinedFunctionRequest generates a "aws/request.Request" representing the +// client's request for the CreateUserDefinedFunction operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateUserDefinedFunction for more information on using the CreateUserDefinedFunction +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateUserDefinedFunctionRequest method. +// req, resp := client.CreateUserDefinedFunctionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateUserDefinedFunction +func (c *Glue) CreateUserDefinedFunctionRequest(input *CreateUserDefinedFunctionInput) (req *request.Request, output *CreateUserDefinedFunctionOutput) { + op := &request.Operation{ + Name: opCreateUserDefinedFunction, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateUserDefinedFunctionInput{} + } + + output = &CreateUserDefinedFunctionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateUserDefinedFunction API operation for AWS Glue. +// +// Creates a new function definition in the Data Catalog. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation CreateUserDefinedFunction for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAlreadyExistsException "AlreadyExistsException" +// A resource to be created or added already exists. +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateUserDefinedFunction +func (c *Glue) CreateUserDefinedFunction(input *CreateUserDefinedFunctionInput) (*CreateUserDefinedFunctionOutput, error) { + req, out := c.CreateUserDefinedFunctionRequest(input) + return out, req.Send() +} + +// CreateUserDefinedFunctionWithContext is the same as CreateUserDefinedFunction with the addition of +// the ability to pass a context and additional request options. +// +// See CreateUserDefinedFunction for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) CreateUserDefinedFunctionWithContext(ctx aws.Context, input *CreateUserDefinedFunctionInput, opts ...request.Option) (*CreateUserDefinedFunctionOutput, error) { + req, out := c.CreateUserDefinedFunctionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteClassifier = "DeleteClassifier" + +// DeleteClassifierRequest generates a "aws/request.Request" representing the +// client's request for the DeleteClassifier operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteClassifier for more information on using the DeleteClassifier +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteClassifierRequest method. +// req, resp := client.DeleteClassifierRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteClassifier +func (c *Glue) DeleteClassifierRequest(input *DeleteClassifierInput) (req *request.Request, output *DeleteClassifierOutput) { + op := &request.Operation{ + Name: opDeleteClassifier, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteClassifierInput{} + } + + output = &DeleteClassifierOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteClassifier API operation for AWS Glue. +// +// Removes a Classifier from the metadata store. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation DeleteClassifier for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteClassifier +func (c *Glue) DeleteClassifier(input *DeleteClassifierInput) (*DeleteClassifierOutput, error) { + req, out := c.DeleteClassifierRequest(input) + return out, req.Send() +} + +// DeleteClassifierWithContext is the same as DeleteClassifier with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteClassifier for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) DeleteClassifierWithContext(ctx aws.Context, input *DeleteClassifierInput, opts ...request.Option) (*DeleteClassifierOutput, error) { + req, out := c.DeleteClassifierRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteConnection = "DeleteConnection" + +// DeleteConnectionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteConnection operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteConnection for more information on using the DeleteConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteConnectionRequest method. +// req, resp := client.DeleteConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteConnection +func (c *Glue) DeleteConnectionRequest(input *DeleteConnectionInput) (req *request.Request, output *DeleteConnectionOutput) { + op := &request.Operation{ + Name: opDeleteConnection, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteConnectionInput{} + } + + output = &DeleteConnectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteConnection API operation for AWS Glue. +// +// Deletes a connection from the Data Catalog. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation DeleteConnection for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteConnection +func (c *Glue) DeleteConnection(input *DeleteConnectionInput) (*DeleteConnectionOutput, error) { + req, out := c.DeleteConnectionRequest(input) + return out, req.Send() +} + +// DeleteConnectionWithContext is the same as DeleteConnection with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteConnection for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) DeleteConnectionWithContext(ctx aws.Context, input *DeleteConnectionInput, opts ...request.Option) (*DeleteConnectionOutput, error) { + req, out := c.DeleteConnectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteCrawler = "DeleteCrawler" + +// DeleteCrawlerRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCrawler operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteCrawler for more information on using the DeleteCrawler +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteCrawlerRequest method. +// req, resp := client.DeleteCrawlerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteCrawler +func (c *Glue) DeleteCrawlerRequest(input *DeleteCrawlerInput) (req *request.Request, output *DeleteCrawlerOutput) { + op := &request.Operation{ + Name: opDeleteCrawler, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteCrawlerInput{} + } + + output = &DeleteCrawlerOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteCrawler API operation for AWS Glue. +// +// Removes a specified Crawler from the metadata store, unless the Crawler state +// is RUNNING. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation DeleteCrawler for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeCrawlerRunningException "CrawlerRunningException" +// The operation cannot be performed because the crawler is already running. +// +// * ErrCodeSchedulerTransitioningException "SchedulerTransitioningException" +// The specified scheduler is transitioning. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteCrawler +func (c *Glue) DeleteCrawler(input *DeleteCrawlerInput) (*DeleteCrawlerOutput, error) { + req, out := c.DeleteCrawlerRequest(input) + return out, req.Send() +} + +// DeleteCrawlerWithContext is the same as DeleteCrawler with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteCrawler for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) DeleteCrawlerWithContext(ctx aws.Context, input *DeleteCrawlerInput, opts ...request.Option) (*DeleteCrawlerOutput, error) { + req, out := c.DeleteCrawlerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteDatabase = "DeleteDatabase" + +// DeleteDatabaseRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDatabase operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteDatabase for more information on using the DeleteDatabase +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteDatabaseRequest method. +// req, resp := client.DeleteDatabaseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteDatabase +func (c *Glue) DeleteDatabaseRequest(input *DeleteDatabaseInput) (req *request.Request, output *DeleteDatabaseOutput) { + op := &request.Operation{ + Name: opDeleteDatabase, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteDatabaseInput{} + } + + output = &DeleteDatabaseOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteDatabase API operation for AWS Glue. +// +// Removes a specified Database from a Data Catalog. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation DeleteDatabase for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteDatabase +func (c *Glue) DeleteDatabase(input *DeleteDatabaseInput) (*DeleteDatabaseOutput, error) { + req, out := c.DeleteDatabaseRequest(input) + return out, req.Send() +} + +// DeleteDatabaseWithContext is the same as DeleteDatabase with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDatabase for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) DeleteDatabaseWithContext(ctx aws.Context, input *DeleteDatabaseInput, opts ...request.Option) (*DeleteDatabaseOutput, error) { + req, out := c.DeleteDatabaseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteDevEndpoint = "DeleteDevEndpoint" + +// DeleteDevEndpointRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDevEndpoint operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteDevEndpoint for more information on using the DeleteDevEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteDevEndpointRequest method. +// req, resp := client.DeleteDevEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteDevEndpoint +func (c *Glue) DeleteDevEndpointRequest(input *DeleteDevEndpointInput) (req *request.Request, output *DeleteDevEndpointOutput) { + op := &request.Operation{ + Name: opDeleteDevEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteDevEndpointInput{} + } + + output = &DeleteDevEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteDevEndpoint API operation for AWS Glue. +// +// Deletes a specified DevEndpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation DeleteDevEndpoint for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteDevEndpoint +func (c *Glue) DeleteDevEndpoint(input *DeleteDevEndpointInput) (*DeleteDevEndpointOutput, error) { + req, out := c.DeleteDevEndpointRequest(input) + return out, req.Send() +} + +// DeleteDevEndpointWithContext is the same as DeleteDevEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDevEndpoint for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) DeleteDevEndpointWithContext(ctx aws.Context, input *DeleteDevEndpointInput, opts ...request.Option) (*DeleteDevEndpointOutput, error) { + req, out := c.DeleteDevEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteJob = "DeleteJob" + +// DeleteJobRequest generates a "aws/request.Request" representing the +// client's request for the DeleteJob operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteJob for more information on using the DeleteJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteJobRequest method. +// req, resp := client.DeleteJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteJob +func (c *Glue) DeleteJobRequest(input *DeleteJobInput) (req *request.Request, output *DeleteJobOutput) { + op := &request.Operation{ + Name: opDeleteJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteJobInput{} + } + + output = &DeleteJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteJob API operation for AWS Glue. +// +// Deletes a specified job. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation DeleteJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteJob +func (c *Glue) DeleteJob(input *DeleteJobInput) (*DeleteJobOutput, error) { + req, out := c.DeleteJobRequest(input) + return out, req.Send() +} + +// DeleteJobWithContext is the same as DeleteJob with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteJob for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) DeleteJobWithContext(ctx aws.Context, input *DeleteJobInput, opts ...request.Option) (*DeleteJobOutput, error) { + req, out := c.DeleteJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeletePartition = "DeletePartition" + +// DeletePartitionRequest generates a "aws/request.Request" representing the +// client's request for the DeletePartition operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeletePartition for more information on using the DeletePartition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeletePartitionRequest method. +// req, resp := client.DeletePartitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeletePartition +func (c *Glue) DeletePartitionRequest(input *DeletePartitionInput) (req *request.Request, output *DeletePartitionOutput) { + op := &request.Operation{ + Name: opDeletePartition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeletePartitionInput{} + } + + output = &DeletePartitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeletePartition API operation for AWS Glue. +// +// Deletes a specified partition. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation DeletePartition for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeletePartition +func (c *Glue) DeletePartition(input *DeletePartitionInput) (*DeletePartitionOutput, error) { + req, out := c.DeletePartitionRequest(input) + return out, req.Send() +} + +// DeletePartitionWithContext is the same as DeletePartition with the addition of +// the ability to pass a context and additional request options. +// +// See DeletePartition for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) DeletePartitionWithContext(ctx aws.Context, input *DeletePartitionInput, opts ...request.Option) (*DeletePartitionOutput, error) { + req, out := c.DeletePartitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteTable = "DeleteTable" + +// DeleteTableRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTable operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteTable for more information on using the DeleteTable +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteTableRequest method. +// req, resp := client.DeleteTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteTable +func (c *Glue) DeleteTableRequest(input *DeleteTableInput) (req *request.Request, output *DeleteTableOutput) { + op := &request.Operation{ + Name: opDeleteTable, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteTableInput{} + } + + output = &DeleteTableOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteTable API operation for AWS Glue. +// +// Removes a table definition from the Data Catalog. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation DeleteTable for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteTable +func (c *Glue) DeleteTable(input *DeleteTableInput) (*DeleteTableOutput, error) { + req, out := c.DeleteTableRequest(input) + return out, req.Send() +} + +// DeleteTableWithContext is the same as DeleteTable with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteTable for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) DeleteTableWithContext(ctx aws.Context, input *DeleteTableInput, opts ...request.Option) (*DeleteTableOutput, error) { + req, out := c.DeleteTableRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteTrigger = "DeleteTrigger" + +// DeleteTriggerRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTrigger operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteTrigger for more information on using the DeleteTrigger +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteTriggerRequest method. +// req, resp := client.DeleteTriggerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteTrigger +func (c *Glue) DeleteTriggerRequest(input *DeleteTriggerInput) (req *request.Request, output *DeleteTriggerOutput) { + op := &request.Operation{ + Name: opDeleteTrigger, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteTriggerInput{} + } + + output = &DeleteTriggerOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteTrigger API operation for AWS Glue. +// +// Deletes a specified trigger. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation DeleteTrigger for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteTrigger +func (c *Glue) DeleteTrigger(input *DeleteTriggerInput) (*DeleteTriggerOutput, error) { + req, out := c.DeleteTriggerRequest(input) + return out, req.Send() +} + +// DeleteTriggerWithContext is the same as DeleteTrigger with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteTrigger for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) DeleteTriggerWithContext(ctx aws.Context, input *DeleteTriggerInput, opts ...request.Option) (*DeleteTriggerOutput, error) { + req, out := c.DeleteTriggerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteUserDefinedFunction = "DeleteUserDefinedFunction" + +// DeleteUserDefinedFunctionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteUserDefinedFunction operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteUserDefinedFunction for more information on using the DeleteUserDefinedFunction +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteUserDefinedFunctionRequest method. +// req, resp := client.DeleteUserDefinedFunctionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteUserDefinedFunction +func (c *Glue) DeleteUserDefinedFunctionRequest(input *DeleteUserDefinedFunctionInput) (req *request.Request, output *DeleteUserDefinedFunctionOutput) { + op := &request.Operation{ + Name: opDeleteUserDefinedFunction, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteUserDefinedFunctionInput{} + } + + output = &DeleteUserDefinedFunctionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteUserDefinedFunction API operation for AWS Glue. +// +// Deletes an existing function definition from the Data Catalog. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation DeleteUserDefinedFunction for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteUserDefinedFunction +func (c *Glue) DeleteUserDefinedFunction(input *DeleteUserDefinedFunctionInput) (*DeleteUserDefinedFunctionOutput, error) { + req, out := c.DeleteUserDefinedFunctionRequest(input) + return out, req.Send() +} + +// DeleteUserDefinedFunctionWithContext is the same as DeleteUserDefinedFunction with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteUserDefinedFunction for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) DeleteUserDefinedFunctionWithContext(ctx aws.Context, input *DeleteUserDefinedFunctionInput, opts ...request.Option) (*DeleteUserDefinedFunctionOutput, error) { + req, out := c.DeleteUserDefinedFunctionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetCatalogImportStatus = "GetCatalogImportStatus" + +// GetCatalogImportStatusRequest generates a "aws/request.Request" representing the +// client's request for the GetCatalogImportStatus operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetCatalogImportStatus for more information on using the GetCatalogImportStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetCatalogImportStatusRequest method. +// req, resp := client.GetCatalogImportStatusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetCatalogImportStatus +func (c *Glue) GetCatalogImportStatusRequest(input *GetCatalogImportStatusInput) (req *request.Request, output *GetCatalogImportStatusOutput) { + op := &request.Operation{ + Name: opGetCatalogImportStatus, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetCatalogImportStatusInput{} + } + + output = &GetCatalogImportStatusOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetCatalogImportStatus API operation for AWS Glue. +// +// Retrieves the status of a migration operation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetCatalogImportStatus for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetCatalogImportStatus +func (c *Glue) GetCatalogImportStatus(input *GetCatalogImportStatusInput) (*GetCatalogImportStatusOutput, error) { + req, out := c.GetCatalogImportStatusRequest(input) + return out, req.Send() +} + +// GetCatalogImportStatusWithContext is the same as GetCatalogImportStatus with the addition of +// the ability to pass a context and additional request options. +// +// See GetCatalogImportStatus for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetCatalogImportStatusWithContext(ctx aws.Context, input *GetCatalogImportStatusInput, opts ...request.Option) (*GetCatalogImportStatusOutput, error) { + req, out := c.GetCatalogImportStatusRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetClassifier = "GetClassifier" + +// GetClassifierRequest generates a "aws/request.Request" representing the +// client's request for the GetClassifier operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetClassifier for more information on using the GetClassifier +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetClassifierRequest method. +// req, resp := client.GetClassifierRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetClassifier +func (c *Glue) GetClassifierRequest(input *GetClassifierInput) (req *request.Request, output *GetClassifierOutput) { + op := &request.Operation{ + Name: opGetClassifier, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetClassifierInput{} + } + + output = &GetClassifierOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetClassifier API operation for AWS Glue. +// +// Retrieve a Classifier by name. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetClassifier for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetClassifier +func (c *Glue) GetClassifier(input *GetClassifierInput) (*GetClassifierOutput, error) { + req, out := c.GetClassifierRequest(input) + return out, req.Send() +} + +// GetClassifierWithContext is the same as GetClassifier with the addition of +// the ability to pass a context and additional request options. +// +// See GetClassifier for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetClassifierWithContext(ctx aws.Context, input *GetClassifierInput, opts ...request.Option) (*GetClassifierOutput, error) { + req, out := c.GetClassifierRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetClassifiers = "GetClassifiers" + +// GetClassifiersRequest generates a "aws/request.Request" representing the +// client's request for the GetClassifiers operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetClassifiers for more information on using the GetClassifiers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetClassifiersRequest method. +// req, resp := client.GetClassifiersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetClassifiers +func (c *Glue) GetClassifiersRequest(input *GetClassifiersInput) (req *request.Request, output *GetClassifiersOutput) { + op := &request.Operation{ + Name: opGetClassifiers, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetClassifiersInput{} + } + + output = &GetClassifiersOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetClassifiers API operation for AWS Glue. +// +// Lists all Classifier objects in the metadata store. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetClassifiers for usage and error information. +// +// Returned Error Codes: +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetClassifiers +func (c *Glue) GetClassifiers(input *GetClassifiersInput) (*GetClassifiersOutput, error) { + req, out := c.GetClassifiersRequest(input) + return out, req.Send() +} + +// GetClassifiersWithContext is the same as GetClassifiers with the addition of +// the ability to pass a context and additional request options. +// +// See GetClassifiers for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetClassifiersWithContext(ctx aws.Context, input *GetClassifiersInput, opts ...request.Option) (*GetClassifiersOutput, error) { + req, out := c.GetClassifiersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetClassifiersPages iterates over the pages of a GetClassifiers operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetClassifiers method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a GetClassifiers operation. +// pageNum := 0 +// err := client.GetClassifiersPages(params, +// func(page *GetClassifiersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Glue) GetClassifiersPages(input *GetClassifiersInput, fn func(*GetClassifiersOutput, bool) bool) error { + return c.GetClassifiersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetClassifiersPagesWithContext same as GetClassifiersPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetClassifiersPagesWithContext(ctx aws.Context, input *GetClassifiersInput, fn func(*GetClassifiersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetClassifiersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetClassifiersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*GetClassifiersOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opGetConnection = "GetConnection" + +// GetConnectionRequest generates a "aws/request.Request" representing the +// client's request for the GetConnection operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetConnection for more information on using the GetConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetConnectionRequest method. +// req, resp := client.GetConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetConnection +func (c *Glue) GetConnectionRequest(input *GetConnectionInput) (req *request.Request, output *GetConnectionOutput) { + op := &request.Operation{ + Name: opGetConnection, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetConnectionInput{} + } + + output = &GetConnectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetConnection API operation for AWS Glue. +// +// Retrieves a connection definition from the Data Catalog. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetConnection for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetConnection +func (c *Glue) GetConnection(input *GetConnectionInput) (*GetConnectionOutput, error) { + req, out := c.GetConnectionRequest(input) + return out, req.Send() +} + +// GetConnectionWithContext is the same as GetConnection with the addition of +// the ability to pass a context and additional request options. +// +// See GetConnection for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetConnectionWithContext(ctx aws.Context, input *GetConnectionInput, opts ...request.Option) (*GetConnectionOutput, error) { + req, out := c.GetConnectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetConnections = "GetConnections" + +// GetConnectionsRequest generates a "aws/request.Request" representing the +// client's request for the GetConnections operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetConnections for more information on using the GetConnections +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetConnectionsRequest method. +// req, resp := client.GetConnectionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetConnections +func (c *Glue) GetConnectionsRequest(input *GetConnectionsInput) (req *request.Request, output *GetConnectionsOutput) { + op := &request.Operation{ + Name: opGetConnections, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetConnectionsInput{} + } + + output = &GetConnectionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetConnections API operation for AWS Glue. +// +// Retrieves a list of connection definitions from the Data Catalog. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetConnections for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetConnections +func (c *Glue) GetConnections(input *GetConnectionsInput) (*GetConnectionsOutput, error) { + req, out := c.GetConnectionsRequest(input) + return out, req.Send() +} + +// GetConnectionsWithContext is the same as GetConnections with the addition of +// the ability to pass a context and additional request options. +// +// See GetConnections for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetConnectionsWithContext(ctx aws.Context, input *GetConnectionsInput, opts ...request.Option) (*GetConnectionsOutput, error) { + req, out := c.GetConnectionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetConnectionsPages iterates over the pages of a GetConnections operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetConnections method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a GetConnections operation. +// pageNum := 0 +// err := client.GetConnectionsPages(params, +// func(page *GetConnectionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Glue) GetConnectionsPages(input *GetConnectionsInput, fn func(*GetConnectionsOutput, bool) bool) error { + return c.GetConnectionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetConnectionsPagesWithContext same as GetConnectionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetConnectionsPagesWithContext(ctx aws.Context, input *GetConnectionsInput, fn func(*GetConnectionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetConnectionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetConnectionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*GetConnectionsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opGetCrawler = "GetCrawler" + +// GetCrawlerRequest generates a "aws/request.Request" representing the +// client's request for the GetCrawler operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetCrawler for more information on using the GetCrawler +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetCrawlerRequest method. +// req, resp := client.GetCrawlerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetCrawler +func (c *Glue) GetCrawlerRequest(input *GetCrawlerInput) (req *request.Request, output *GetCrawlerOutput) { + op := &request.Operation{ + Name: opGetCrawler, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetCrawlerInput{} + } + + output = &GetCrawlerOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetCrawler API operation for AWS Glue. +// +// Retrieves metadata for a specified Crawler. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetCrawler for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetCrawler +func (c *Glue) GetCrawler(input *GetCrawlerInput) (*GetCrawlerOutput, error) { + req, out := c.GetCrawlerRequest(input) + return out, req.Send() +} + +// GetCrawlerWithContext is the same as GetCrawler with the addition of +// the ability to pass a context and additional request options. +// +// See GetCrawler for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetCrawlerWithContext(ctx aws.Context, input *GetCrawlerInput, opts ...request.Option) (*GetCrawlerOutput, error) { + req, out := c.GetCrawlerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetCrawlerMetrics = "GetCrawlerMetrics" + +// GetCrawlerMetricsRequest generates a "aws/request.Request" representing the +// client's request for the GetCrawlerMetrics operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetCrawlerMetrics for more information on using the GetCrawlerMetrics +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetCrawlerMetricsRequest method. +// req, resp := client.GetCrawlerMetricsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetCrawlerMetrics +func (c *Glue) GetCrawlerMetricsRequest(input *GetCrawlerMetricsInput) (req *request.Request, output *GetCrawlerMetricsOutput) { + op := &request.Operation{ + Name: opGetCrawlerMetrics, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetCrawlerMetricsInput{} + } + + output = &GetCrawlerMetricsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetCrawlerMetrics API operation for AWS Glue. +// +// Retrieves metrics about specified crawlers. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetCrawlerMetrics for usage and error information. +// +// Returned Error Codes: +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetCrawlerMetrics +func (c *Glue) GetCrawlerMetrics(input *GetCrawlerMetricsInput) (*GetCrawlerMetricsOutput, error) { + req, out := c.GetCrawlerMetricsRequest(input) + return out, req.Send() +} + +// GetCrawlerMetricsWithContext is the same as GetCrawlerMetrics with the addition of +// the ability to pass a context and additional request options. +// +// See GetCrawlerMetrics for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetCrawlerMetricsWithContext(ctx aws.Context, input *GetCrawlerMetricsInput, opts ...request.Option) (*GetCrawlerMetricsOutput, error) { + req, out := c.GetCrawlerMetricsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetCrawlerMetricsPages iterates over the pages of a GetCrawlerMetrics operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetCrawlerMetrics method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a GetCrawlerMetrics operation. +// pageNum := 0 +// err := client.GetCrawlerMetricsPages(params, +// func(page *GetCrawlerMetricsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Glue) GetCrawlerMetricsPages(input *GetCrawlerMetricsInput, fn func(*GetCrawlerMetricsOutput, bool) bool) error { + return c.GetCrawlerMetricsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetCrawlerMetricsPagesWithContext same as GetCrawlerMetricsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetCrawlerMetricsPagesWithContext(ctx aws.Context, input *GetCrawlerMetricsInput, fn func(*GetCrawlerMetricsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetCrawlerMetricsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetCrawlerMetricsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*GetCrawlerMetricsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opGetCrawlers = "GetCrawlers" + +// GetCrawlersRequest generates a "aws/request.Request" representing the +// client's request for the GetCrawlers operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetCrawlers for more information on using the GetCrawlers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetCrawlersRequest method. +// req, resp := client.GetCrawlersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetCrawlers +func (c *Glue) GetCrawlersRequest(input *GetCrawlersInput) (req *request.Request, output *GetCrawlersOutput) { + op := &request.Operation{ + Name: opGetCrawlers, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetCrawlersInput{} + } + + output = &GetCrawlersOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetCrawlers API operation for AWS Glue. +// +// Retrieves metadata for all Crawlers defined in the customer account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetCrawlers for usage and error information. +// +// Returned Error Codes: +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetCrawlers +func (c *Glue) GetCrawlers(input *GetCrawlersInput) (*GetCrawlersOutput, error) { + req, out := c.GetCrawlersRequest(input) + return out, req.Send() +} + +// GetCrawlersWithContext is the same as GetCrawlers with the addition of +// the ability to pass a context and additional request options. +// +// See GetCrawlers for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetCrawlersWithContext(ctx aws.Context, input *GetCrawlersInput, opts ...request.Option) (*GetCrawlersOutput, error) { + req, out := c.GetCrawlersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetCrawlersPages iterates over the pages of a GetCrawlers operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetCrawlers method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a GetCrawlers operation. +// pageNum := 0 +// err := client.GetCrawlersPages(params, +// func(page *GetCrawlersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Glue) GetCrawlersPages(input *GetCrawlersInput, fn func(*GetCrawlersOutput, bool) bool) error { + return c.GetCrawlersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetCrawlersPagesWithContext same as GetCrawlersPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetCrawlersPagesWithContext(ctx aws.Context, input *GetCrawlersInput, fn func(*GetCrawlersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetCrawlersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetCrawlersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*GetCrawlersOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opGetDatabase = "GetDatabase" + +// GetDatabaseRequest generates a "aws/request.Request" representing the +// client's request for the GetDatabase operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetDatabase for more information on using the GetDatabase +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetDatabaseRequest method. +// req, resp := client.GetDatabaseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetDatabase +func (c *Glue) GetDatabaseRequest(input *GetDatabaseInput) (req *request.Request, output *GetDatabaseOutput) { + op := &request.Operation{ + Name: opGetDatabase, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetDatabaseInput{} + } + + output = &GetDatabaseOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDatabase API operation for AWS Glue. +// +// Retrieves the definition of a specified database. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetDatabase for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetDatabase +func (c *Glue) GetDatabase(input *GetDatabaseInput) (*GetDatabaseOutput, error) { + req, out := c.GetDatabaseRequest(input) + return out, req.Send() +} + +// GetDatabaseWithContext is the same as GetDatabase with the addition of +// the ability to pass a context and additional request options. +// +// See GetDatabase for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetDatabaseWithContext(ctx aws.Context, input *GetDatabaseInput, opts ...request.Option) (*GetDatabaseOutput, error) { + req, out := c.GetDatabaseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetDatabases = "GetDatabases" + +// GetDatabasesRequest generates a "aws/request.Request" representing the +// client's request for the GetDatabases operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetDatabases for more information on using the GetDatabases +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetDatabasesRequest method. +// req, resp := client.GetDatabasesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetDatabases +func (c *Glue) GetDatabasesRequest(input *GetDatabasesInput) (req *request.Request, output *GetDatabasesOutput) { + op := &request.Operation{ + Name: opGetDatabases, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetDatabasesInput{} + } + + output = &GetDatabasesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDatabases API operation for AWS Glue. +// +// Retrieves all Databases defined in a given Data Catalog. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetDatabases for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetDatabases +func (c *Glue) GetDatabases(input *GetDatabasesInput) (*GetDatabasesOutput, error) { + req, out := c.GetDatabasesRequest(input) + return out, req.Send() +} + +// GetDatabasesWithContext is the same as GetDatabases with the addition of +// the ability to pass a context and additional request options. +// +// See GetDatabases for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetDatabasesWithContext(ctx aws.Context, input *GetDatabasesInput, opts ...request.Option) (*GetDatabasesOutput, error) { + req, out := c.GetDatabasesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetDatabasesPages iterates over the pages of a GetDatabases operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetDatabases method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a GetDatabases operation. +// pageNum := 0 +// err := client.GetDatabasesPages(params, +// func(page *GetDatabasesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Glue) GetDatabasesPages(input *GetDatabasesInput, fn func(*GetDatabasesOutput, bool) bool) error { + return c.GetDatabasesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetDatabasesPagesWithContext same as GetDatabasesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetDatabasesPagesWithContext(ctx aws.Context, input *GetDatabasesInput, fn func(*GetDatabasesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetDatabasesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetDatabasesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*GetDatabasesOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opGetDataflowGraph = "GetDataflowGraph" + +// GetDataflowGraphRequest generates a "aws/request.Request" representing the +// client's request for the GetDataflowGraph operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetDataflowGraph for more information on using the GetDataflowGraph +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetDataflowGraphRequest method. +// req, resp := client.GetDataflowGraphRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetDataflowGraph +func (c *Glue) GetDataflowGraphRequest(input *GetDataflowGraphInput) (req *request.Request, output *GetDataflowGraphOutput) { + op := &request.Operation{ + Name: opGetDataflowGraph, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetDataflowGraphInput{} + } + + output = &GetDataflowGraphOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDataflowGraph API operation for AWS Glue. +// +// Transforms a Python script into a directed acyclic graph (DAG). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetDataflowGraph for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetDataflowGraph +func (c *Glue) GetDataflowGraph(input *GetDataflowGraphInput) (*GetDataflowGraphOutput, error) { + req, out := c.GetDataflowGraphRequest(input) + return out, req.Send() +} + +// GetDataflowGraphWithContext is the same as GetDataflowGraph with the addition of +// the ability to pass a context and additional request options. +// +// See GetDataflowGraph for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetDataflowGraphWithContext(ctx aws.Context, input *GetDataflowGraphInput, opts ...request.Option) (*GetDataflowGraphOutput, error) { + req, out := c.GetDataflowGraphRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetDevEndpoint = "GetDevEndpoint" + +// GetDevEndpointRequest generates a "aws/request.Request" representing the +// client's request for the GetDevEndpoint operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetDevEndpoint for more information on using the GetDevEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetDevEndpointRequest method. +// req, resp := client.GetDevEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetDevEndpoint +func (c *Glue) GetDevEndpointRequest(input *GetDevEndpointInput) (req *request.Request, output *GetDevEndpointOutput) { + op := &request.Operation{ + Name: opGetDevEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetDevEndpointInput{} + } + + output = &GetDevEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDevEndpoint API operation for AWS Glue. +// +// Retrieves information about a specified DevEndpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetDevEndpoint for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetDevEndpoint +func (c *Glue) GetDevEndpoint(input *GetDevEndpointInput) (*GetDevEndpointOutput, error) { + req, out := c.GetDevEndpointRequest(input) + return out, req.Send() +} + +// GetDevEndpointWithContext is the same as GetDevEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See GetDevEndpoint for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetDevEndpointWithContext(ctx aws.Context, input *GetDevEndpointInput, opts ...request.Option) (*GetDevEndpointOutput, error) { + req, out := c.GetDevEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetDevEndpoints = "GetDevEndpoints" + +// GetDevEndpointsRequest generates a "aws/request.Request" representing the +// client's request for the GetDevEndpoints operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetDevEndpoints for more information on using the GetDevEndpoints +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetDevEndpointsRequest method. +// req, resp := client.GetDevEndpointsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetDevEndpoints +func (c *Glue) GetDevEndpointsRequest(input *GetDevEndpointsInput) (req *request.Request, output *GetDevEndpointsOutput) { + op := &request.Operation{ + Name: opGetDevEndpoints, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetDevEndpointsInput{} + } + + output = &GetDevEndpointsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDevEndpoints API operation for AWS Glue. +// +// Retrieves all the DevEndpoints in this AWS account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetDevEndpoints for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetDevEndpoints +func (c *Glue) GetDevEndpoints(input *GetDevEndpointsInput) (*GetDevEndpointsOutput, error) { + req, out := c.GetDevEndpointsRequest(input) + return out, req.Send() +} + +// GetDevEndpointsWithContext is the same as GetDevEndpoints with the addition of +// the ability to pass a context and additional request options. +// +// See GetDevEndpoints for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetDevEndpointsWithContext(ctx aws.Context, input *GetDevEndpointsInput, opts ...request.Option) (*GetDevEndpointsOutput, error) { + req, out := c.GetDevEndpointsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetDevEndpointsPages iterates over the pages of a GetDevEndpoints operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetDevEndpoints method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a GetDevEndpoints operation. +// pageNum := 0 +// err := client.GetDevEndpointsPages(params, +// func(page *GetDevEndpointsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Glue) GetDevEndpointsPages(input *GetDevEndpointsInput, fn func(*GetDevEndpointsOutput, bool) bool) error { + return c.GetDevEndpointsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetDevEndpointsPagesWithContext same as GetDevEndpointsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetDevEndpointsPagesWithContext(ctx aws.Context, input *GetDevEndpointsInput, fn func(*GetDevEndpointsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetDevEndpointsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetDevEndpointsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*GetDevEndpointsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opGetJob = "GetJob" + +// GetJobRequest generates a "aws/request.Request" representing the +// client's request for the GetJob operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetJob for more information on using the GetJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetJobRequest method. +// req, resp := client.GetJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetJob +func (c *Glue) GetJobRequest(input *GetJobInput) (req *request.Request, output *GetJobOutput) { + op := &request.Operation{ + Name: opGetJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetJobInput{} + } + + output = &GetJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetJob API operation for AWS Glue. +// +// Retrieves an existing job definition. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetJob +func (c *Glue) GetJob(input *GetJobInput) (*GetJobOutput, error) { + req, out := c.GetJobRequest(input) + return out, req.Send() +} + +// GetJobWithContext is the same as GetJob with the addition of +// the ability to pass a context and additional request options. +// +// See GetJob for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetJobWithContext(ctx aws.Context, input *GetJobInput, opts ...request.Option) (*GetJobOutput, error) { + req, out := c.GetJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetJobRun = "GetJobRun" + +// GetJobRunRequest generates a "aws/request.Request" representing the +// client's request for the GetJobRun operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetJobRun for more information on using the GetJobRun +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetJobRunRequest method. +// req, resp := client.GetJobRunRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetJobRun +func (c *Glue) GetJobRunRequest(input *GetJobRunInput) (req *request.Request, output *GetJobRunOutput) { + op := &request.Operation{ + Name: opGetJobRun, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetJobRunInput{} + } + + output = &GetJobRunOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetJobRun API operation for AWS Glue. +// +// Retrieves the metadata for a given job run. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetJobRun for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetJobRun +func (c *Glue) GetJobRun(input *GetJobRunInput) (*GetJobRunOutput, error) { + req, out := c.GetJobRunRequest(input) + return out, req.Send() +} + +// GetJobRunWithContext is the same as GetJobRun with the addition of +// the ability to pass a context and additional request options. +// +// See GetJobRun for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetJobRunWithContext(ctx aws.Context, input *GetJobRunInput, opts ...request.Option) (*GetJobRunOutput, error) { + req, out := c.GetJobRunRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetJobRuns = "GetJobRuns" + +// GetJobRunsRequest generates a "aws/request.Request" representing the +// client's request for the GetJobRuns operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetJobRuns for more information on using the GetJobRuns +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetJobRunsRequest method. +// req, resp := client.GetJobRunsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetJobRuns +func (c *Glue) GetJobRunsRequest(input *GetJobRunsInput) (req *request.Request, output *GetJobRunsOutput) { + op := &request.Operation{ + Name: opGetJobRuns, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetJobRunsInput{} + } + + output = &GetJobRunsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetJobRuns API operation for AWS Glue. +// +// Retrieves metadata for all runs of a given job. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetJobRuns for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetJobRuns +func (c *Glue) GetJobRuns(input *GetJobRunsInput) (*GetJobRunsOutput, error) { + req, out := c.GetJobRunsRequest(input) + return out, req.Send() +} + +// GetJobRunsWithContext is the same as GetJobRuns with the addition of +// the ability to pass a context and additional request options. +// +// See GetJobRuns for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetJobRunsWithContext(ctx aws.Context, input *GetJobRunsInput, opts ...request.Option) (*GetJobRunsOutput, error) { + req, out := c.GetJobRunsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetJobRunsPages iterates over the pages of a GetJobRuns operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetJobRuns method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a GetJobRuns operation. +// pageNum := 0 +// err := client.GetJobRunsPages(params, +// func(page *GetJobRunsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Glue) GetJobRunsPages(input *GetJobRunsInput, fn func(*GetJobRunsOutput, bool) bool) error { + return c.GetJobRunsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetJobRunsPagesWithContext same as GetJobRunsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetJobRunsPagesWithContext(ctx aws.Context, input *GetJobRunsInput, fn func(*GetJobRunsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetJobRunsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetJobRunsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*GetJobRunsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opGetJobs = "GetJobs" + +// GetJobsRequest generates a "aws/request.Request" representing the +// client's request for the GetJobs operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetJobs for more information on using the GetJobs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetJobsRequest method. +// req, resp := client.GetJobsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetJobs +func (c *Glue) GetJobsRequest(input *GetJobsInput) (req *request.Request, output *GetJobsOutput) { + op := &request.Operation{ + Name: opGetJobs, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetJobsInput{} + } + + output = &GetJobsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetJobs API operation for AWS Glue. +// +// Retrieves all current jobs. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetJobs for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetJobs +func (c *Glue) GetJobs(input *GetJobsInput) (*GetJobsOutput, error) { + req, out := c.GetJobsRequest(input) + return out, req.Send() +} + +// GetJobsWithContext is the same as GetJobs with the addition of +// the ability to pass a context and additional request options. +// +// See GetJobs for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetJobsWithContext(ctx aws.Context, input *GetJobsInput, opts ...request.Option) (*GetJobsOutput, error) { + req, out := c.GetJobsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetJobsPages iterates over the pages of a GetJobs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetJobs method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a GetJobs operation. +// pageNum := 0 +// err := client.GetJobsPages(params, +// func(page *GetJobsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Glue) GetJobsPages(input *GetJobsInput, fn func(*GetJobsOutput, bool) bool) error { + return c.GetJobsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetJobsPagesWithContext same as GetJobsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetJobsPagesWithContext(ctx aws.Context, input *GetJobsInput, fn func(*GetJobsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetJobsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetJobsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*GetJobsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opGetMapping = "GetMapping" + +// GetMappingRequest generates a "aws/request.Request" representing the +// client's request for the GetMapping operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetMapping for more information on using the GetMapping +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetMappingRequest method. +// req, resp := client.GetMappingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetMapping +func (c *Glue) GetMappingRequest(input *GetMappingInput) (req *request.Request, output *GetMappingOutput) { + op := &request.Operation{ + Name: opGetMapping, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetMappingInput{} + } + + output = &GetMappingOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetMapping API operation for AWS Glue. +// +// Creates mappings. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetMapping for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetMapping +func (c *Glue) GetMapping(input *GetMappingInput) (*GetMappingOutput, error) { + req, out := c.GetMappingRequest(input) + return out, req.Send() +} + +// GetMappingWithContext is the same as GetMapping with the addition of +// the ability to pass a context and additional request options. +// +// See GetMapping for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetMappingWithContext(ctx aws.Context, input *GetMappingInput, opts ...request.Option) (*GetMappingOutput, error) { + req, out := c.GetMappingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetPartition = "GetPartition" + +// GetPartitionRequest generates a "aws/request.Request" representing the +// client's request for the GetPartition operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetPartition for more information on using the GetPartition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetPartitionRequest method. +// req, resp := client.GetPartitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetPartition +func (c *Glue) GetPartitionRequest(input *GetPartitionInput) (req *request.Request, output *GetPartitionOutput) { + op := &request.Operation{ + Name: opGetPartition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetPartitionInput{} + } + + output = &GetPartitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPartition API operation for AWS Glue. +// +// Retrieves information about a specified partition. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetPartition for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetPartition +func (c *Glue) GetPartition(input *GetPartitionInput) (*GetPartitionOutput, error) { + req, out := c.GetPartitionRequest(input) + return out, req.Send() +} + +// GetPartitionWithContext is the same as GetPartition with the addition of +// the ability to pass a context and additional request options. +// +// See GetPartition for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetPartitionWithContext(ctx aws.Context, input *GetPartitionInput, opts ...request.Option) (*GetPartitionOutput, error) { + req, out := c.GetPartitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetPartitions = "GetPartitions" + +// GetPartitionsRequest generates a "aws/request.Request" representing the +// client's request for the GetPartitions operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetPartitions for more information on using the GetPartitions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetPartitionsRequest method. +// req, resp := client.GetPartitionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetPartitions +func (c *Glue) GetPartitionsRequest(input *GetPartitionsInput) (req *request.Request, output *GetPartitionsOutput) { + op := &request.Operation{ + Name: opGetPartitions, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetPartitionsInput{} + } + + output = &GetPartitionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPartitions API operation for AWS Glue. +// +// Retrieves information about the partitions in a table. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetPartitions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetPartitions +func (c *Glue) GetPartitions(input *GetPartitionsInput) (*GetPartitionsOutput, error) { + req, out := c.GetPartitionsRequest(input) + return out, req.Send() +} + +// GetPartitionsWithContext is the same as GetPartitions with the addition of +// the ability to pass a context and additional request options. +// +// See GetPartitions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetPartitionsWithContext(ctx aws.Context, input *GetPartitionsInput, opts ...request.Option) (*GetPartitionsOutput, error) { + req, out := c.GetPartitionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetPartitionsPages iterates over the pages of a GetPartitions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetPartitions method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a GetPartitions operation. +// pageNum := 0 +// err := client.GetPartitionsPages(params, +// func(page *GetPartitionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Glue) GetPartitionsPages(input *GetPartitionsInput, fn func(*GetPartitionsOutput, bool) bool) error { + return c.GetPartitionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetPartitionsPagesWithContext same as GetPartitionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetPartitionsPagesWithContext(ctx aws.Context, input *GetPartitionsInput, fn func(*GetPartitionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetPartitionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetPartitionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*GetPartitionsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opGetPlan = "GetPlan" + +// GetPlanRequest generates a "aws/request.Request" representing the +// client's request for the GetPlan operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetPlan for more information on using the GetPlan +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetPlanRequest method. +// req, resp := client.GetPlanRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetPlan +func (c *Glue) GetPlanRequest(input *GetPlanInput) (req *request.Request, output *GetPlanOutput) { + op := &request.Operation{ + Name: opGetPlan, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetPlanInput{} + } + + output = &GetPlanOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPlan API operation for AWS Glue. +// +// Gets a Python script to perform a specified mapping. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetPlan for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetPlan +func (c *Glue) GetPlan(input *GetPlanInput) (*GetPlanOutput, error) { + req, out := c.GetPlanRequest(input) + return out, req.Send() +} + +// GetPlanWithContext is the same as GetPlan with the addition of +// the ability to pass a context and additional request options. +// +// See GetPlan for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetPlanWithContext(ctx aws.Context, input *GetPlanInput, opts ...request.Option) (*GetPlanOutput, error) { + req, out := c.GetPlanRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetTable = "GetTable" + +// GetTableRequest generates a "aws/request.Request" representing the +// client's request for the GetTable operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetTable for more information on using the GetTable +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetTableRequest method. +// req, resp := client.GetTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTable +func (c *Glue) GetTableRequest(input *GetTableInput) (req *request.Request, output *GetTableOutput) { + op := &request.Operation{ + Name: opGetTable, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetTableInput{} + } + + output = &GetTableOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetTable API operation for AWS Glue. +// +// Retrieves the Table definition in a Data Catalog for a specified table. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetTable for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTable +func (c *Glue) GetTable(input *GetTableInput) (*GetTableOutput, error) { + req, out := c.GetTableRequest(input) + return out, req.Send() +} + +// GetTableWithContext is the same as GetTable with the addition of +// the ability to pass a context and additional request options. +// +// See GetTable for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetTableWithContext(ctx aws.Context, input *GetTableInput, opts ...request.Option) (*GetTableOutput, error) { + req, out := c.GetTableRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetTableVersions = "GetTableVersions" + +// GetTableVersionsRequest generates a "aws/request.Request" representing the +// client's request for the GetTableVersions operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetTableVersions for more information on using the GetTableVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetTableVersionsRequest method. +// req, resp := client.GetTableVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTableVersions +func (c *Glue) GetTableVersionsRequest(input *GetTableVersionsInput) (req *request.Request, output *GetTableVersionsOutput) { + op := &request.Operation{ + Name: opGetTableVersions, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetTableVersionsInput{} + } + + output = &GetTableVersionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetTableVersions API operation for AWS Glue. +// +// Retrieves a list of strings that identify available versions of a specified +// table. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetTableVersions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTableVersions +func (c *Glue) GetTableVersions(input *GetTableVersionsInput) (*GetTableVersionsOutput, error) { + req, out := c.GetTableVersionsRequest(input) + return out, req.Send() +} + +// GetTableVersionsWithContext is the same as GetTableVersions with the addition of +// the ability to pass a context and additional request options. +// +// See GetTableVersions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetTableVersionsWithContext(ctx aws.Context, input *GetTableVersionsInput, opts ...request.Option) (*GetTableVersionsOutput, error) { + req, out := c.GetTableVersionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetTableVersionsPages iterates over the pages of a GetTableVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetTableVersions method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a GetTableVersions operation. +// pageNum := 0 +// err := client.GetTableVersionsPages(params, +// func(page *GetTableVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Glue) GetTableVersionsPages(input *GetTableVersionsInput, fn func(*GetTableVersionsOutput, bool) bool) error { + return c.GetTableVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetTableVersionsPagesWithContext same as GetTableVersionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetTableVersionsPagesWithContext(ctx aws.Context, input *GetTableVersionsInput, fn func(*GetTableVersionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetTableVersionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetTableVersionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*GetTableVersionsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opGetTables = "GetTables" + +// GetTablesRequest generates a "aws/request.Request" representing the +// client's request for the GetTables operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetTables for more information on using the GetTables +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetTablesRequest method. +// req, resp := client.GetTablesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTables +func (c *Glue) GetTablesRequest(input *GetTablesInput) (req *request.Request, output *GetTablesOutput) { + op := &request.Operation{ + Name: opGetTables, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetTablesInput{} + } + + output = &GetTablesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetTables API operation for AWS Glue. +// +// Retrieves the definitions of some or all of the tables in a given Database. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetTables for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTables +func (c *Glue) GetTables(input *GetTablesInput) (*GetTablesOutput, error) { + req, out := c.GetTablesRequest(input) + return out, req.Send() +} + +// GetTablesWithContext is the same as GetTables with the addition of +// the ability to pass a context and additional request options. +// +// See GetTables for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetTablesWithContext(ctx aws.Context, input *GetTablesInput, opts ...request.Option) (*GetTablesOutput, error) { + req, out := c.GetTablesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetTablesPages iterates over the pages of a GetTables operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetTables method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a GetTables operation. +// pageNum := 0 +// err := client.GetTablesPages(params, +// func(page *GetTablesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Glue) GetTablesPages(input *GetTablesInput, fn func(*GetTablesOutput, bool) bool) error { + return c.GetTablesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetTablesPagesWithContext same as GetTablesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetTablesPagesWithContext(ctx aws.Context, input *GetTablesInput, fn func(*GetTablesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetTablesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetTablesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*GetTablesOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opGetTrigger = "GetTrigger" + +// GetTriggerRequest generates a "aws/request.Request" representing the +// client's request for the GetTrigger operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetTrigger for more information on using the GetTrigger +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetTriggerRequest method. +// req, resp := client.GetTriggerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTrigger +func (c *Glue) GetTriggerRequest(input *GetTriggerInput) (req *request.Request, output *GetTriggerOutput) { + op := &request.Operation{ + Name: opGetTrigger, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetTriggerInput{} + } + + output = &GetTriggerOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetTrigger API operation for AWS Glue. +// +// Retrieves the definition of a trigger. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetTrigger for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTrigger +func (c *Glue) GetTrigger(input *GetTriggerInput) (*GetTriggerOutput, error) { + req, out := c.GetTriggerRequest(input) + return out, req.Send() +} + +// GetTriggerWithContext is the same as GetTrigger with the addition of +// the ability to pass a context and additional request options. +// +// See GetTrigger for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetTriggerWithContext(ctx aws.Context, input *GetTriggerInput, opts ...request.Option) (*GetTriggerOutput, error) { + req, out := c.GetTriggerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetTriggers = "GetTriggers" + +// GetTriggersRequest generates a "aws/request.Request" representing the +// client's request for the GetTriggers operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetTriggers for more information on using the GetTriggers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetTriggersRequest method. +// req, resp := client.GetTriggersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTriggers +func (c *Glue) GetTriggersRequest(input *GetTriggersInput) (req *request.Request, output *GetTriggersOutput) { + op := &request.Operation{ + Name: opGetTriggers, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetTriggersInput{} + } + + output = &GetTriggersOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetTriggers API operation for AWS Glue. +// +// Gets all the triggers associated with a job. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetTriggers for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTriggers +func (c *Glue) GetTriggers(input *GetTriggersInput) (*GetTriggersOutput, error) { + req, out := c.GetTriggersRequest(input) + return out, req.Send() +} + +// GetTriggersWithContext is the same as GetTriggers with the addition of +// the ability to pass a context and additional request options. +// +// See GetTriggers for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetTriggersWithContext(ctx aws.Context, input *GetTriggersInput, opts ...request.Option) (*GetTriggersOutput, error) { + req, out := c.GetTriggersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetTriggersPages iterates over the pages of a GetTriggers operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetTriggers method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a GetTriggers operation. +// pageNum := 0 +// err := client.GetTriggersPages(params, +// func(page *GetTriggersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Glue) GetTriggersPages(input *GetTriggersInput, fn func(*GetTriggersOutput, bool) bool) error { + return c.GetTriggersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetTriggersPagesWithContext same as GetTriggersPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetTriggersPagesWithContext(ctx aws.Context, input *GetTriggersInput, fn func(*GetTriggersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetTriggersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetTriggersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*GetTriggersOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opGetUserDefinedFunction = "GetUserDefinedFunction" + +// GetUserDefinedFunctionRequest generates a "aws/request.Request" representing the +// client's request for the GetUserDefinedFunction operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetUserDefinedFunction for more information on using the GetUserDefinedFunction +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetUserDefinedFunctionRequest method. +// req, resp := client.GetUserDefinedFunctionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetUserDefinedFunction +func (c *Glue) GetUserDefinedFunctionRequest(input *GetUserDefinedFunctionInput) (req *request.Request, output *GetUserDefinedFunctionOutput) { + op := &request.Operation{ + Name: opGetUserDefinedFunction, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetUserDefinedFunctionInput{} + } + + output = &GetUserDefinedFunctionOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetUserDefinedFunction API operation for AWS Glue. +// +// Retrieves a specified function definition from the Data Catalog. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetUserDefinedFunction for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetUserDefinedFunction +func (c *Glue) GetUserDefinedFunction(input *GetUserDefinedFunctionInput) (*GetUserDefinedFunctionOutput, error) { + req, out := c.GetUserDefinedFunctionRequest(input) + return out, req.Send() +} + +// GetUserDefinedFunctionWithContext is the same as GetUserDefinedFunction with the addition of +// the ability to pass a context and additional request options. +// +// See GetUserDefinedFunction for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetUserDefinedFunctionWithContext(ctx aws.Context, input *GetUserDefinedFunctionInput, opts ...request.Option) (*GetUserDefinedFunctionOutput, error) { + req, out := c.GetUserDefinedFunctionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetUserDefinedFunctions = "GetUserDefinedFunctions" + +// GetUserDefinedFunctionsRequest generates a "aws/request.Request" representing the +// client's request for the GetUserDefinedFunctions operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetUserDefinedFunctions for more information on using the GetUserDefinedFunctions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetUserDefinedFunctionsRequest method. +// req, resp := client.GetUserDefinedFunctionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetUserDefinedFunctions +func (c *Glue) GetUserDefinedFunctionsRequest(input *GetUserDefinedFunctionsInput) (req *request.Request, output *GetUserDefinedFunctionsOutput) { + op := &request.Operation{ + Name: opGetUserDefinedFunctions, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetUserDefinedFunctionsInput{} + } + + output = &GetUserDefinedFunctionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetUserDefinedFunctions API operation for AWS Glue. +// +// Retrieves a multiple function definitions from the Data Catalog. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetUserDefinedFunctions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetUserDefinedFunctions +func (c *Glue) GetUserDefinedFunctions(input *GetUserDefinedFunctionsInput) (*GetUserDefinedFunctionsOutput, error) { + req, out := c.GetUserDefinedFunctionsRequest(input) + return out, req.Send() +} + +// GetUserDefinedFunctionsWithContext is the same as GetUserDefinedFunctions with the addition of +// the ability to pass a context and additional request options. +// +// See GetUserDefinedFunctions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetUserDefinedFunctionsWithContext(ctx aws.Context, input *GetUserDefinedFunctionsInput, opts ...request.Option) (*GetUserDefinedFunctionsOutput, error) { + req, out := c.GetUserDefinedFunctionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetUserDefinedFunctionsPages iterates over the pages of a GetUserDefinedFunctions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetUserDefinedFunctions method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a GetUserDefinedFunctions operation. +// pageNum := 0 +// err := client.GetUserDefinedFunctionsPages(params, +// func(page *GetUserDefinedFunctionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Glue) GetUserDefinedFunctionsPages(input *GetUserDefinedFunctionsInput, fn func(*GetUserDefinedFunctionsOutput, bool) bool) error { + return c.GetUserDefinedFunctionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetUserDefinedFunctionsPagesWithContext same as GetUserDefinedFunctionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetUserDefinedFunctionsPagesWithContext(ctx aws.Context, input *GetUserDefinedFunctionsInput, fn func(*GetUserDefinedFunctionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetUserDefinedFunctionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetUserDefinedFunctionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*GetUserDefinedFunctionsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opImportCatalogToGlue = "ImportCatalogToGlue" + +// ImportCatalogToGlueRequest generates a "aws/request.Request" representing the +// client's request for the ImportCatalogToGlue operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ImportCatalogToGlue for more information on using the ImportCatalogToGlue +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ImportCatalogToGlueRequest method. +// req, resp := client.ImportCatalogToGlueRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ImportCatalogToGlue +func (c *Glue) ImportCatalogToGlueRequest(input *ImportCatalogToGlueInput) (req *request.Request, output *ImportCatalogToGlueOutput) { + op := &request.Operation{ + Name: opImportCatalogToGlue, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ImportCatalogToGlueInput{} + } + + output = &ImportCatalogToGlueOutput{} + req = c.newRequest(op, input, output) + return +} + +// ImportCatalogToGlue API operation for AWS Glue. +// +// Imports an existing Athena Data Catalog to AWS Glue +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation ImportCatalogToGlue for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ImportCatalogToGlue +func (c *Glue) ImportCatalogToGlue(input *ImportCatalogToGlueInput) (*ImportCatalogToGlueOutput, error) { + req, out := c.ImportCatalogToGlueRequest(input) + return out, req.Send() +} + +// ImportCatalogToGlueWithContext is the same as ImportCatalogToGlue with the addition of +// the ability to pass a context and additional request options. +// +// See ImportCatalogToGlue for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) ImportCatalogToGlueWithContext(ctx aws.Context, input *ImportCatalogToGlueInput, opts ...request.Option) (*ImportCatalogToGlueOutput, error) { + req, out := c.ImportCatalogToGlueRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opResetJobBookmark = "ResetJobBookmark" + +// ResetJobBookmarkRequest generates a "aws/request.Request" representing the +// client's request for the ResetJobBookmark operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ResetJobBookmark for more information on using the ResetJobBookmark +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ResetJobBookmarkRequest method. +// req, resp := client.ResetJobBookmarkRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ResetJobBookmark +func (c *Glue) ResetJobBookmarkRequest(input *ResetJobBookmarkInput) (req *request.Request, output *ResetJobBookmarkOutput) { + op := &request.Operation{ + Name: opResetJobBookmark, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ResetJobBookmarkInput{} + } + + output = &ResetJobBookmarkOutput{} + req = c.newRequest(op, input, output) + return +} + +// ResetJobBookmark API operation for AWS Glue. +// +// Resets a bookmark entry. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation ResetJobBookmark for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ResetJobBookmark +func (c *Glue) ResetJobBookmark(input *ResetJobBookmarkInput) (*ResetJobBookmarkOutput, error) { + req, out := c.ResetJobBookmarkRequest(input) + return out, req.Send() +} + +// ResetJobBookmarkWithContext is the same as ResetJobBookmark with the addition of +// the ability to pass a context and additional request options. +// +// See ResetJobBookmark for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) ResetJobBookmarkWithContext(ctx aws.Context, input *ResetJobBookmarkInput, opts ...request.Option) (*ResetJobBookmarkOutput, error) { + req, out := c.ResetJobBookmarkRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartCrawler = "StartCrawler" + +// StartCrawlerRequest generates a "aws/request.Request" representing the +// client's request for the StartCrawler operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartCrawler for more information on using the StartCrawler +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StartCrawlerRequest method. +// req, resp := client.StartCrawlerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartCrawler +func (c *Glue) StartCrawlerRequest(input *StartCrawlerInput) (req *request.Request, output *StartCrawlerOutput) { + op := &request.Operation{ + Name: opStartCrawler, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartCrawlerInput{} + } + + output = &StartCrawlerOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartCrawler API operation for AWS Glue. +// +// Starts a crawl using the specified Crawler, regardless of what is scheduled. +// If the Crawler is already running, does nothing. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation StartCrawler for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeCrawlerRunningException "CrawlerRunningException" +// The operation cannot be performed because the crawler is already running. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartCrawler +func (c *Glue) StartCrawler(input *StartCrawlerInput) (*StartCrawlerOutput, error) { + req, out := c.StartCrawlerRequest(input) + return out, req.Send() +} + +// StartCrawlerWithContext is the same as StartCrawler with the addition of +// the ability to pass a context and additional request options. +// +// See StartCrawler for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) StartCrawlerWithContext(ctx aws.Context, input *StartCrawlerInput, opts ...request.Option) (*StartCrawlerOutput, error) { + req, out := c.StartCrawlerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartCrawlerSchedule = "StartCrawlerSchedule" + +// StartCrawlerScheduleRequest generates a "aws/request.Request" representing the +// client's request for the StartCrawlerSchedule operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartCrawlerSchedule for more information on using the StartCrawlerSchedule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StartCrawlerScheduleRequest method. +// req, resp := client.StartCrawlerScheduleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartCrawlerSchedule +func (c *Glue) StartCrawlerScheduleRequest(input *StartCrawlerScheduleInput) (req *request.Request, output *StartCrawlerScheduleOutput) { + op := &request.Operation{ + Name: opStartCrawlerSchedule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartCrawlerScheduleInput{} + } + + output = &StartCrawlerScheduleOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartCrawlerSchedule API operation for AWS Glue. +// +// Changes the schedule state of the specified crawler to SCHEDULED, unless +// the crawler is already running or the schedule state is already SCHEDULED. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation StartCrawlerSchedule for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeSchedulerRunningException "SchedulerRunningException" +// The specified scheduler is already running. +// +// * ErrCodeSchedulerTransitioningException "SchedulerTransitioningException" +// The specified scheduler is transitioning. +// +// * ErrCodeNoScheduleException "NoScheduleException" +// There is no applicable schedule. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartCrawlerSchedule +func (c *Glue) StartCrawlerSchedule(input *StartCrawlerScheduleInput) (*StartCrawlerScheduleOutput, error) { + req, out := c.StartCrawlerScheduleRequest(input) + return out, req.Send() +} + +// StartCrawlerScheduleWithContext is the same as StartCrawlerSchedule with the addition of +// the ability to pass a context and additional request options. +// +// See StartCrawlerSchedule for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) StartCrawlerScheduleWithContext(ctx aws.Context, input *StartCrawlerScheduleInput, opts ...request.Option) (*StartCrawlerScheduleOutput, error) { + req, out := c.StartCrawlerScheduleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartJobRun = "StartJobRun" + +// StartJobRunRequest generates a "aws/request.Request" representing the +// client's request for the StartJobRun operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartJobRun for more information on using the StartJobRun +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StartJobRunRequest method. +// req, resp := client.StartJobRunRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartJobRun +func (c *Glue) StartJobRunRequest(input *StartJobRunInput) (req *request.Request, output *StartJobRunOutput) { + op := &request.Operation{ + Name: opStartJobRun, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartJobRunInput{} + } + + output = &StartJobRunOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartJobRun API operation for AWS Glue. +// +// Runs a job. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation StartJobRun for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// * ErrCodeResourceNumberLimitExceededException "ResourceNumberLimitExceededException" +// A resource numerical limit was exceeded. +// +// * ErrCodeConcurrentRunsExceededException "ConcurrentRunsExceededException" +// Too many jobs are being run concurrently. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartJobRun +func (c *Glue) StartJobRun(input *StartJobRunInput) (*StartJobRunOutput, error) { + req, out := c.StartJobRunRequest(input) + return out, req.Send() +} + +// StartJobRunWithContext is the same as StartJobRun with the addition of +// the ability to pass a context and additional request options. +// +// See StartJobRun for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) StartJobRunWithContext(ctx aws.Context, input *StartJobRunInput, opts ...request.Option) (*StartJobRunOutput, error) { + req, out := c.StartJobRunRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartTrigger = "StartTrigger" + +// StartTriggerRequest generates a "aws/request.Request" representing the +// client's request for the StartTrigger operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartTrigger for more information on using the StartTrigger +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StartTriggerRequest method. +// req, resp := client.StartTriggerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartTrigger +func (c *Glue) StartTriggerRequest(input *StartTriggerInput) (req *request.Request, output *StartTriggerOutput) { + op := &request.Operation{ + Name: opStartTrigger, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartTriggerInput{} + } + + output = &StartTriggerOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartTrigger API operation for AWS Glue. +// +// Starts an existing trigger. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation StartTrigger for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// * ErrCodeResourceNumberLimitExceededException "ResourceNumberLimitExceededException" +// A resource numerical limit was exceeded. +// +// * ErrCodeConcurrentRunsExceededException "ConcurrentRunsExceededException" +// Too many jobs are being run concurrently. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartTrigger +func (c *Glue) StartTrigger(input *StartTriggerInput) (*StartTriggerOutput, error) { + req, out := c.StartTriggerRequest(input) + return out, req.Send() +} + +// StartTriggerWithContext is the same as StartTrigger with the addition of +// the ability to pass a context and additional request options. +// +// See StartTrigger for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) StartTriggerWithContext(ctx aws.Context, input *StartTriggerInput, opts ...request.Option) (*StartTriggerOutput, error) { + req, out := c.StartTriggerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopCrawler = "StopCrawler" + +// StopCrawlerRequest generates a "aws/request.Request" representing the +// client's request for the StopCrawler operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StopCrawler for more information on using the StopCrawler +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StopCrawlerRequest method. +// req, resp := client.StopCrawlerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopCrawler +func (c *Glue) StopCrawlerRequest(input *StopCrawlerInput) (req *request.Request, output *StopCrawlerOutput) { + op := &request.Operation{ + Name: opStopCrawler, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopCrawlerInput{} + } + + output = &StopCrawlerOutput{} + req = c.newRequest(op, input, output) + return +} + +// StopCrawler API operation for AWS Glue. +// +// If the specified Crawler is running, stops the crawl. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation StopCrawler for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeCrawlerNotRunningException "CrawlerNotRunningException" +// The specified crawler is not running. +// +// * ErrCodeCrawlerStoppingException "CrawlerStoppingException" +// The specified crawler is stopping. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopCrawler +func (c *Glue) StopCrawler(input *StopCrawlerInput) (*StopCrawlerOutput, error) { + req, out := c.StopCrawlerRequest(input) + return out, req.Send() +} + +// StopCrawlerWithContext is the same as StopCrawler with the addition of +// the ability to pass a context and additional request options. +// +// See StopCrawler for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) StopCrawlerWithContext(ctx aws.Context, input *StopCrawlerInput, opts ...request.Option) (*StopCrawlerOutput, error) { + req, out := c.StopCrawlerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopCrawlerSchedule = "StopCrawlerSchedule" + +// StopCrawlerScheduleRequest generates a "aws/request.Request" representing the +// client's request for the StopCrawlerSchedule operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StopCrawlerSchedule for more information on using the StopCrawlerSchedule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StopCrawlerScheduleRequest method. +// req, resp := client.StopCrawlerScheduleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopCrawlerSchedule +func (c *Glue) StopCrawlerScheduleRequest(input *StopCrawlerScheduleInput) (req *request.Request, output *StopCrawlerScheduleOutput) { + op := &request.Operation{ + Name: opStopCrawlerSchedule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopCrawlerScheduleInput{} + } + + output = &StopCrawlerScheduleOutput{} + req = c.newRequest(op, input, output) + return +} + +// StopCrawlerSchedule API operation for AWS Glue. +// +// Sets the schedule state of the specified crawler to NOT_SCHEDULED, but does +// not stop the crawler if it is already running. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation StopCrawlerSchedule for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeSchedulerNotRunningException "SchedulerNotRunningException" +// The specified scheduler is not running. +// +// * ErrCodeSchedulerTransitioningException "SchedulerTransitioningException" +// The specified scheduler is transitioning. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopCrawlerSchedule +func (c *Glue) StopCrawlerSchedule(input *StopCrawlerScheduleInput) (*StopCrawlerScheduleOutput, error) { + req, out := c.StopCrawlerScheduleRequest(input) + return out, req.Send() +} + +// StopCrawlerScheduleWithContext is the same as StopCrawlerSchedule with the addition of +// the ability to pass a context and additional request options. +// +// See StopCrawlerSchedule for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) StopCrawlerScheduleWithContext(ctx aws.Context, input *StopCrawlerScheduleInput, opts ...request.Option) (*StopCrawlerScheduleOutput, error) { + req, out := c.StopCrawlerScheduleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopTrigger = "StopTrigger" + +// StopTriggerRequest generates a "aws/request.Request" representing the +// client's request for the StopTrigger operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StopTrigger for more information on using the StopTrigger +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StopTriggerRequest method. +// req, resp := client.StopTriggerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopTrigger +func (c *Glue) StopTriggerRequest(input *StopTriggerInput) (req *request.Request, output *StopTriggerOutput) { + op := &request.Operation{ + Name: opStopTrigger, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopTriggerInput{} + } + + output = &StopTriggerOutput{} + req = c.newRequest(op, input, output) + return +} + +// StopTrigger API operation for AWS Glue. +// +// Stops a specified trigger. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation StopTrigger for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopTrigger +func (c *Glue) StopTrigger(input *StopTriggerInput) (*StopTriggerOutput, error) { + req, out := c.StopTriggerRequest(input) + return out, req.Send() +} + +// StopTriggerWithContext is the same as StopTrigger with the addition of +// the ability to pass a context and additional request options. +// +// See StopTrigger for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) StopTriggerWithContext(ctx aws.Context, input *StopTriggerInput, opts ...request.Option) (*StopTriggerOutput, error) { + req, out := c.StopTriggerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateClassifier = "UpdateClassifier" + +// UpdateClassifierRequest generates a "aws/request.Request" representing the +// client's request for the UpdateClassifier operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateClassifier for more information on using the UpdateClassifier +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateClassifierRequest method. +// req, resp := client.UpdateClassifierRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateClassifier +func (c *Glue) UpdateClassifierRequest(input *UpdateClassifierInput) (req *request.Request, output *UpdateClassifierOutput) { + op := &request.Operation{ + Name: opUpdateClassifier, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateClassifierInput{} + } + + output = &UpdateClassifierOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateClassifier API operation for AWS Glue. +// +// Modifies an existing Classifier. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation UpdateClassifier for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeVersionMismatchException "VersionMismatchException" +// There was a version conflict. +// +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateClassifier +func (c *Glue) UpdateClassifier(input *UpdateClassifierInput) (*UpdateClassifierOutput, error) { + req, out := c.UpdateClassifierRequest(input) + return out, req.Send() +} + +// UpdateClassifierWithContext is the same as UpdateClassifier with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateClassifier for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) UpdateClassifierWithContext(ctx aws.Context, input *UpdateClassifierInput, opts ...request.Option) (*UpdateClassifierOutput, error) { + req, out := c.UpdateClassifierRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateConnection = "UpdateConnection" + +// UpdateConnectionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateConnection operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateConnection for more information on using the UpdateConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateConnectionRequest method. +// req, resp := client.UpdateConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateConnection +func (c *Glue) UpdateConnectionRequest(input *UpdateConnectionInput) (req *request.Request, output *UpdateConnectionOutput) { + op := &request.Operation{ + Name: opUpdateConnection, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateConnectionInput{} + } + + output = &UpdateConnectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateConnection API operation for AWS Glue. +// +// Updates a connection definition in the Data Catalog. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation UpdateConnection for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateConnection +func (c *Glue) UpdateConnection(input *UpdateConnectionInput) (*UpdateConnectionOutput, error) { + req, out := c.UpdateConnectionRequest(input) + return out, req.Send() +} + +// UpdateConnectionWithContext is the same as UpdateConnection with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateConnection for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) UpdateConnectionWithContext(ctx aws.Context, input *UpdateConnectionInput, opts ...request.Option) (*UpdateConnectionOutput, error) { + req, out := c.UpdateConnectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateCrawler = "UpdateCrawler" + +// UpdateCrawlerRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCrawler operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateCrawler for more information on using the UpdateCrawler +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateCrawlerRequest method. +// req, resp := client.UpdateCrawlerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateCrawler +func (c *Glue) UpdateCrawlerRequest(input *UpdateCrawlerInput) (req *request.Request, output *UpdateCrawlerOutput) { + op := &request.Operation{ + Name: opUpdateCrawler, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateCrawlerInput{} + } + + output = &UpdateCrawlerOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateCrawler API operation for AWS Glue. +// +// Updates a Crawler. If a Crawler is running, you must stop it using StopCrawler +// before updating it. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation UpdateCrawler for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeVersionMismatchException "VersionMismatchException" +// There was a version conflict. +// +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeCrawlerRunningException "CrawlerRunningException" +// The operation cannot be performed because the crawler is already running. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateCrawler +func (c *Glue) UpdateCrawler(input *UpdateCrawlerInput) (*UpdateCrawlerOutput, error) { + req, out := c.UpdateCrawlerRequest(input) + return out, req.Send() +} + +// UpdateCrawlerWithContext is the same as UpdateCrawler with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateCrawler for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) UpdateCrawlerWithContext(ctx aws.Context, input *UpdateCrawlerInput, opts ...request.Option) (*UpdateCrawlerOutput, error) { + req, out := c.UpdateCrawlerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateCrawlerSchedule = "UpdateCrawlerSchedule" + +// UpdateCrawlerScheduleRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCrawlerSchedule operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateCrawlerSchedule for more information on using the UpdateCrawlerSchedule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateCrawlerScheduleRequest method. +// req, resp := client.UpdateCrawlerScheduleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateCrawlerSchedule +func (c *Glue) UpdateCrawlerScheduleRequest(input *UpdateCrawlerScheduleInput) (req *request.Request, output *UpdateCrawlerScheduleOutput) { + op := &request.Operation{ + Name: opUpdateCrawlerSchedule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateCrawlerScheduleInput{} + } + + output = &UpdateCrawlerScheduleOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateCrawlerSchedule API operation for AWS Glue. +// +// Updates the schedule of a crawler using a Cron expression. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation UpdateCrawlerSchedule for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeVersionMismatchException "VersionMismatchException" +// There was a version conflict. +// +// * ErrCodeSchedulerTransitioningException "SchedulerTransitioningException" +// The specified scheduler is transitioning. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateCrawlerSchedule +func (c *Glue) UpdateCrawlerSchedule(input *UpdateCrawlerScheduleInput) (*UpdateCrawlerScheduleOutput, error) { + req, out := c.UpdateCrawlerScheduleRequest(input) + return out, req.Send() +} + +// UpdateCrawlerScheduleWithContext is the same as UpdateCrawlerSchedule with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateCrawlerSchedule for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) UpdateCrawlerScheduleWithContext(ctx aws.Context, input *UpdateCrawlerScheduleInput, opts ...request.Option) (*UpdateCrawlerScheduleOutput, error) { + req, out := c.UpdateCrawlerScheduleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDatabase = "UpdateDatabase" + +// UpdateDatabaseRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDatabase operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateDatabase for more information on using the UpdateDatabase +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateDatabaseRequest method. +// req, resp := client.UpdateDatabaseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateDatabase +func (c *Glue) UpdateDatabaseRequest(input *UpdateDatabaseInput) (req *request.Request, output *UpdateDatabaseOutput) { + op := &request.Operation{ + Name: opUpdateDatabase, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateDatabaseInput{} + } + + output = &UpdateDatabaseOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDatabase API operation for AWS Glue. +// +// Updates an existing database definition in a Data Catalog. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation UpdateDatabase for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateDatabase +func (c *Glue) UpdateDatabase(input *UpdateDatabaseInput) (*UpdateDatabaseOutput, error) { + req, out := c.UpdateDatabaseRequest(input) + return out, req.Send() +} + +// UpdateDatabaseWithContext is the same as UpdateDatabase with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDatabase for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) UpdateDatabaseWithContext(ctx aws.Context, input *UpdateDatabaseInput, opts ...request.Option) (*UpdateDatabaseOutput, error) { + req, out := c.UpdateDatabaseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDevEndpoint = "UpdateDevEndpoint" + +// UpdateDevEndpointRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDevEndpoint operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateDevEndpoint for more information on using the UpdateDevEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateDevEndpointRequest method. +// req, resp := client.UpdateDevEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateDevEndpoint +func (c *Glue) UpdateDevEndpointRequest(input *UpdateDevEndpointInput) (req *request.Request, output *UpdateDevEndpointOutput) { + op := &request.Operation{ + Name: opUpdateDevEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateDevEndpointInput{} + } + + output = &UpdateDevEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDevEndpoint API operation for AWS Glue. +// +// Updates a specified DevEndpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation UpdateDevEndpoint for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeValidationException "ValidationException" +// A value could not be validated. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateDevEndpoint +func (c *Glue) UpdateDevEndpoint(input *UpdateDevEndpointInput) (*UpdateDevEndpointOutput, error) { + req, out := c.UpdateDevEndpointRequest(input) + return out, req.Send() +} + +// UpdateDevEndpointWithContext is the same as UpdateDevEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDevEndpoint for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) UpdateDevEndpointWithContext(ctx aws.Context, input *UpdateDevEndpointInput, opts ...request.Option) (*UpdateDevEndpointOutput, error) { + req, out := c.UpdateDevEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateJob = "UpdateJob" + +// UpdateJobRequest generates a "aws/request.Request" representing the +// client's request for the UpdateJob operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateJob for more information on using the UpdateJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateJobRequest method. +// req, resp := client.UpdateJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateJob +func (c *Glue) UpdateJobRequest(input *UpdateJobInput) (req *request.Request, output *UpdateJobOutput) { + op := &request.Operation{ + Name: opUpdateJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateJobInput{} + } + + output = &UpdateJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateJob API operation for AWS Glue. +// +// Updates an existing job definition. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation UpdateJob for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateJob +func (c *Glue) UpdateJob(input *UpdateJobInput) (*UpdateJobOutput, error) { + req, out := c.UpdateJobRequest(input) + return out, req.Send() +} + +// UpdateJobWithContext is the same as UpdateJob with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateJob for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) UpdateJobWithContext(ctx aws.Context, input *UpdateJobInput, opts ...request.Option) (*UpdateJobOutput, error) { + req, out := c.UpdateJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdatePartition = "UpdatePartition" + +// UpdatePartitionRequest generates a "aws/request.Request" representing the +// client's request for the UpdatePartition operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdatePartition for more information on using the UpdatePartition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdatePartitionRequest method. +// req, resp := client.UpdatePartitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdatePartition +func (c *Glue) UpdatePartitionRequest(input *UpdatePartitionInput) (req *request.Request, output *UpdatePartitionOutput) { + op := &request.Operation{ + Name: opUpdatePartition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdatePartitionInput{} + } + + output = &UpdatePartitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdatePartition API operation for AWS Glue. +// +// Updates a partition. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation UpdatePartition for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdatePartition +func (c *Glue) UpdatePartition(input *UpdatePartitionInput) (*UpdatePartitionOutput, error) { + req, out := c.UpdatePartitionRequest(input) + return out, req.Send() +} + +// UpdatePartitionWithContext is the same as UpdatePartition with the addition of +// the ability to pass a context and additional request options. +// +// See UpdatePartition for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) UpdatePartitionWithContext(ctx aws.Context, input *UpdatePartitionInput, opts ...request.Option) (*UpdatePartitionOutput, error) { + req, out := c.UpdatePartitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTable = "UpdateTable" + +// UpdateTableRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTable operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateTable for more information on using the UpdateTable +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateTableRequest method. +// req, resp := client.UpdateTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateTable +func (c *Glue) UpdateTableRequest(input *UpdateTableInput) (req *request.Request, output *UpdateTableOutput) { + op := &request.Operation{ + Name: opUpdateTable, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateTableInput{} + } + + output = &UpdateTableOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateTable API operation for AWS Glue. +// +// Updates a metadata table in the Data Catalog. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation UpdateTable for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Two processes are trying to modify a resource simultaneously. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateTable +func (c *Glue) UpdateTable(input *UpdateTableInput) (*UpdateTableOutput, error) { + req, out := c.UpdateTableRequest(input) + return out, req.Send() +} + +// UpdateTableWithContext is the same as UpdateTable with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTable for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) UpdateTableWithContext(ctx aws.Context, input *UpdateTableInput, opts ...request.Option) (*UpdateTableOutput, error) { + req, out := c.UpdateTableRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTrigger = "UpdateTrigger" + +// UpdateTriggerRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTrigger operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateTrigger for more information on using the UpdateTrigger +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateTriggerRequest method. +// req, resp := client.UpdateTriggerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateTrigger +func (c *Glue) UpdateTriggerRequest(input *UpdateTriggerInput) (req *request.Request, output *UpdateTriggerOutput) { + op := &request.Operation{ + Name: opUpdateTrigger, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateTriggerInput{} + } + + output = &UpdateTriggerOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateTrigger API operation for AWS Glue. +// +// Updates a trigger definition. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation UpdateTrigger for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateTrigger +func (c *Glue) UpdateTrigger(input *UpdateTriggerInput) (*UpdateTriggerOutput, error) { + req, out := c.UpdateTriggerRequest(input) + return out, req.Send() +} + +// UpdateTriggerWithContext is the same as UpdateTrigger with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTrigger for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) UpdateTriggerWithContext(ctx aws.Context, input *UpdateTriggerInput, opts ...request.Option) (*UpdateTriggerOutput, error) { + req, out := c.UpdateTriggerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateUserDefinedFunction = "UpdateUserDefinedFunction" + +// UpdateUserDefinedFunctionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateUserDefinedFunction operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateUserDefinedFunction for more information on using the UpdateUserDefinedFunction +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateUserDefinedFunctionRequest method. +// req, resp := client.UpdateUserDefinedFunctionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateUserDefinedFunction +func (c *Glue) UpdateUserDefinedFunctionRequest(input *UpdateUserDefinedFunctionInput) (req *request.Request, output *UpdateUserDefinedFunctionOutput) { + op := &request.Operation{ + Name: opUpdateUserDefinedFunction, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateUserDefinedFunctionInput{} + } + + output = &UpdateUserDefinedFunctionOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateUserDefinedFunction API operation for AWS Glue. +// +// Updates an existing function definition in the Data Catalog. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation UpdateUserDefinedFunction for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateUserDefinedFunction +func (c *Glue) UpdateUserDefinedFunction(input *UpdateUserDefinedFunctionInput) (*UpdateUserDefinedFunctionOutput, error) { + req, out := c.UpdateUserDefinedFunctionRequest(input) + return out, req.Send() +} + +// UpdateUserDefinedFunctionWithContext is the same as UpdateUserDefinedFunction with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateUserDefinedFunction for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) UpdateUserDefinedFunctionWithContext(ctx aws.Context, input *UpdateUserDefinedFunctionInput, opts ...request.Option) (*UpdateUserDefinedFunctionOutput, error) { + req, out := c.UpdateUserDefinedFunctionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/Action +type Action struct { + _ struct{} `type:"structure"` + + Arguments map[string]*string `type:"map"` + + JobName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s Action) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Action) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Action) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Action"} + if s.JobName != nil && len(*s.JobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArguments sets the Arguments field's value. +func (s *Action) SetArguments(v map[string]*string) *Action { + s.Arguments = v + return s +} + +// SetJobName sets the JobName field's value. +func (s *Action) SetJobName(v string) *Action { + s.JobName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchCreatePartitionRequest +type BatchCreatePartitionInput struct { + _ struct{} `type:"structure"` + + // The ID of the catalog in which the partion is to be created. Currently, this + // should be the AWS account ID. + CatalogId *string `min:"1" type:"string"` + + // The name of the metadata database in which the partition is to be created. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // A list of PartitionInput structures that define the partitions to be created. + // + // PartitionInputList is a required field + PartitionInputList []*PartitionInput `type:"list" required:"true"` + + // The name of the metadata table in which the partition is to be created. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s BatchCreatePartitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchCreatePartitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchCreatePartitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchCreatePartitionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.PartitionInputList == nil { + invalidParams.Add(request.NewErrParamRequired("PartitionInputList")) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + if s.PartitionInputList != nil { + for i, v := range s.PartitionInputList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PartitionInputList", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *BatchCreatePartitionInput) SetCatalogId(v string) *BatchCreatePartitionInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *BatchCreatePartitionInput) SetDatabaseName(v string) *BatchCreatePartitionInput { + s.DatabaseName = &v + return s +} + +// SetPartitionInputList sets the PartitionInputList field's value. +func (s *BatchCreatePartitionInput) SetPartitionInputList(v []*PartitionInput) *BatchCreatePartitionInput { + s.PartitionInputList = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *BatchCreatePartitionInput) SetTableName(v string) *BatchCreatePartitionInput { + s.TableName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchCreatePartitionResponse +type BatchCreatePartitionOutput struct { + _ struct{} `type:"structure"` + + // Errors encountered when trying to create the requested partitions. + Errors []*PartitionError `type:"list"` +} + +// String returns the string representation +func (s BatchCreatePartitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchCreatePartitionOutput) GoString() string { + return s.String() +} + +// SetErrors sets the Errors field's value. +func (s *BatchCreatePartitionOutput) SetErrors(v []*PartitionError) *BatchCreatePartitionOutput { + s.Errors = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchDeleteConnectionRequest +type BatchDeleteConnectionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog in which the connections reside. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // A list of names of the connections to delete. + // + // ConnectionNameList is a required field + ConnectionNameList []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchDeleteConnectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDeleteConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchDeleteConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchDeleteConnectionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.ConnectionNameList == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectionNameList")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *BatchDeleteConnectionInput) SetCatalogId(v string) *BatchDeleteConnectionInput { + s.CatalogId = &v + return s +} + +// SetConnectionNameList sets the ConnectionNameList field's value. +func (s *BatchDeleteConnectionInput) SetConnectionNameList(v []*string) *BatchDeleteConnectionInput { + s.ConnectionNameList = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchDeleteConnectionResponse +type BatchDeleteConnectionOutput struct { + _ struct{} `type:"structure"` + + // A map of the names of connections that were not successfully deleted to error + // details. + Errors map[string]*ErrorDetail `type:"map"` + + // A list of names of the connection definitions that were successfully deleted. + Succeeded []*string `type:"list"` +} + +// String returns the string representation +func (s BatchDeleteConnectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDeleteConnectionOutput) GoString() string { + return s.String() +} + +// SetErrors sets the Errors field's value. +func (s *BatchDeleteConnectionOutput) SetErrors(v map[string]*ErrorDetail) *BatchDeleteConnectionOutput { + s.Errors = v + return s +} + +// SetSucceeded sets the Succeeded field's value. +func (s *BatchDeleteConnectionOutput) SetSucceeded(v []*string) *BatchDeleteConnectionOutput { + s.Succeeded = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchDeletePartitionRequest +type BatchDeletePartitionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the partition to be deleted resides. If + // none is supplied, the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The name of the catalog database in which the table in question resides. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // A list of PartitionInput structures that define the partitions to be deleted. + // + // PartitionsToDelete is a required field + PartitionsToDelete []*PartitionValueList `type:"list" required:"true"` + + // The name of the table where the partitions to be deleted is located. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s BatchDeletePartitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDeletePartitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchDeletePartitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchDeletePartitionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.PartitionsToDelete == nil { + invalidParams.Add(request.NewErrParamRequired("PartitionsToDelete")) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + if s.PartitionsToDelete != nil { + for i, v := range s.PartitionsToDelete { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PartitionsToDelete", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *BatchDeletePartitionInput) SetCatalogId(v string) *BatchDeletePartitionInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *BatchDeletePartitionInput) SetDatabaseName(v string) *BatchDeletePartitionInput { + s.DatabaseName = &v + return s +} + +// SetPartitionsToDelete sets the PartitionsToDelete field's value. +func (s *BatchDeletePartitionInput) SetPartitionsToDelete(v []*PartitionValueList) *BatchDeletePartitionInput { + s.PartitionsToDelete = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *BatchDeletePartitionInput) SetTableName(v string) *BatchDeletePartitionInput { + s.TableName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchDeletePartitionResponse +type BatchDeletePartitionOutput struct { + _ struct{} `type:"structure"` + + // Errors encountered when trying to delete the requested partitions. + Errors []*PartitionError `type:"list"` +} + +// String returns the string representation +func (s BatchDeletePartitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDeletePartitionOutput) GoString() string { + return s.String() +} + +// SetErrors sets the Errors field's value. +func (s *BatchDeletePartitionOutput) SetErrors(v []*PartitionError) *BatchDeletePartitionOutput { + s.Errors = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchDeleteTableRequest +type BatchDeleteTableInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the table resides. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The name of the catalog database where the tables to delete reside. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // A list of the table to delete. + // + // TablesToDelete is a required field + TablesToDelete []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchDeleteTableInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDeleteTableInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchDeleteTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchDeleteTableInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.TablesToDelete == nil { + invalidParams.Add(request.NewErrParamRequired("TablesToDelete")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *BatchDeleteTableInput) SetCatalogId(v string) *BatchDeleteTableInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *BatchDeleteTableInput) SetDatabaseName(v string) *BatchDeleteTableInput { + s.DatabaseName = &v + return s +} + +// SetTablesToDelete sets the TablesToDelete field's value. +func (s *BatchDeleteTableInput) SetTablesToDelete(v []*string) *BatchDeleteTableInput { + s.TablesToDelete = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchDeleteTableResponse +type BatchDeleteTableOutput struct { + _ struct{} `type:"structure"` + + // A list of errors encountered in attempting to delete the specified tables. + Errors []*TableError `type:"list"` +} + +// String returns the string representation +func (s BatchDeleteTableOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDeleteTableOutput) GoString() string { + return s.String() +} + +// SetErrors sets the Errors field's value. +func (s *BatchDeleteTableOutput) SetErrors(v []*TableError) *BatchDeleteTableOutput { + s.Errors = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchGetPartitionRequest +type BatchGetPartitionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the partitions in question reside. If none + // is supplied, the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The name of the catalog database where the partitions reside. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // A list of partition values identifying the partitions to retrieve. + // + // PartitionsToGet is a required field + PartitionsToGet []*PartitionValueList `type:"list" required:"true"` + + // The name of the partitions' table. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s BatchGetPartitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetPartitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGetPartitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetPartitionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.PartitionsToGet == nil { + invalidParams.Add(request.NewErrParamRequired("PartitionsToGet")) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + if s.PartitionsToGet != nil { + for i, v := range s.PartitionsToGet { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PartitionsToGet", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *BatchGetPartitionInput) SetCatalogId(v string) *BatchGetPartitionInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *BatchGetPartitionInput) SetDatabaseName(v string) *BatchGetPartitionInput { + s.DatabaseName = &v + return s +} + +// SetPartitionsToGet sets the PartitionsToGet field's value. +func (s *BatchGetPartitionInput) SetPartitionsToGet(v []*PartitionValueList) *BatchGetPartitionInput { + s.PartitionsToGet = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *BatchGetPartitionInput) SetTableName(v string) *BatchGetPartitionInput { + s.TableName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchGetPartitionResponse +type BatchGetPartitionOutput struct { + _ struct{} `type:"structure"` + + // A list of the requested partitions. + Partitions []*Partition `type:"list"` + + // A list of the partition values in the request for which partions were not + // returned. + UnprocessedKeys []*PartitionValueList `type:"list"` +} + +// String returns the string representation +func (s BatchGetPartitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetPartitionOutput) GoString() string { + return s.String() +} + +// SetPartitions sets the Partitions field's value. +func (s *BatchGetPartitionOutput) SetPartitions(v []*Partition) *BatchGetPartitionOutput { + s.Partitions = v + return s +} + +// SetUnprocessedKeys sets the UnprocessedKeys field's value. +func (s *BatchGetPartitionOutput) SetUnprocessedKeys(v []*PartitionValueList) *BatchGetPartitionOutput { + s.UnprocessedKeys = v + return s +} + +// Specifies a table definition in the Data Catalog. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CatalogEntry +type CatalogEntry struct { + _ struct{} `type:"structure"` + + // The database in which the table metadata resides. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The name of the table in question. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CatalogEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CatalogEntry) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CatalogEntry) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CatalogEntry"} + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *CatalogEntry) SetDatabaseName(v string) *CatalogEntry { + s.DatabaseName = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *CatalogEntry) SetTableName(v string) *CatalogEntry { + s.TableName = &v + return s +} + +// A structure containing migration status information. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CatalogImportStatus +type CatalogImportStatus struct { + _ struct{} `type:"structure"` + + // True if the migration has completed, or False otherwise. + ImportCompleted *bool `type:"boolean"` + + // The time that the migration was started. + ImportTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The name of the person who initiated the migration. + ImportedBy *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CatalogImportStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CatalogImportStatus) GoString() string { + return s.String() +} + +// SetImportCompleted sets the ImportCompleted field's value. +func (s *CatalogImportStatus) SetImportCompleted(v bool) *CatalogImportStatus { + s.ImportCompleted = &v + return s +} + +// SetImportTime sets the ImportTime field's value. +func (s *CatalogImportStatus) SetImportTime(v time.Time) *CatalogImportStatus { + s.ImportTime = &v + return s +} + +// SetImportedBy sets the ImportedBy field's value. +func (s *CatalogImportStatus) SetImportedBy(v string) *CatalogImportStatus { + s.ImportedBy = &v + return s +} + +// Classifiers are written in Python and triggered during a Crawl Task. You +// can write your own Classifiers to best categorize your data sources and specify +// the appropriate schemas to use for them. A Classifier first checks whether +// a given file is in a format it can handle, and then, if so, creates a schema +// in the form of a StructType object that matches that data format. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/Classifier +type Classifier struct { + _ struct{} `type:"structure"` + + // A GrokClassifier object. + GrokClassifier *GrokClassifier `type:"structure"` +} + +// String returns the string representation +func (s Classifier) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Classifier) GoString() string { + return s.String() +} + +// SetGrokClassifier sets the GrokClassifier field's value. +func (s *Classifier) SetGrokClassifier(v *GrokClassifier) *Classifier { + s.GrokClassifier = v + return s +} + +// Represents a directional edge in a directed acyclic graph (DAG). +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CodeGenEdge +type CodeGenEdge struct { + _ struct{} `type:"structure"` + + // The ID of the node at which the edge starts. + // + // Source is a required field + Source *string `min:"1" type:"string" required:"true"` + + // The ID of the node at which the edge ends. + // + // Target is a required field + Target *string `min:"1" type:"string" required:"true"` + + // The target of the edge. + TargetParameter *string `type:"string"` +} + +// String returns the string representation +func (s CodeGenEdge) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CodeGenEdge) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CodeGenEdge) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CodeGenEdge"} + if s.Source == nil { + invalidParams.Add(request.NewErrParamRequired("Source")) + } + if s.Source != nil && len(*s.Source) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Source", 1)) + } + if s.Target == nil { + invalidParams.Add(request.NewErrParamRequired("Target")) + } + if s.Target != nil && len(*s.Target) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Target", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSource sets the Source field's value. +func (s *CodeGenEdge) SetSource(v string) *CodeGenEdge { + s.Source = &v + return s +} + +// SetTarget sets the Target field's value. +func (s *CodeGenEdge) SetTarget(v string) *CodeGenEdge { + s.Target = &v + return s +} + +// SetTargetParameter sets the TargetParameter field's value. +func (s *CodeGenEdge) SetTargetParameter(v string) *CodeGenEdge { + s.TargetParameter = &v + return s +} + +// Represents a node in a directed acyclic graph (DAG) +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CodeGenNode +type CodeGenNode struct { + _ struct{} `type:"structure"` + + // Properties of the node, in the form of name-value pairs. + // + // Args is a required field + Args []*CodeGenNodeArg `type:"list" required:"true"` + + // A node identifier that is unique within the node's graph. + // + // Id is a required field + Id *string `min:"1" type:"string" required:"true"` + + // The line number of the node. + LineNumber *int64 `type:"integer"` + + // The type of node this is. + // + // NodeType is a required field + NodeType *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CodeGenNode) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CodeGenNode) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CodeGenNode) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CodeGenNode"} + if s.Args == nil { + invalidParams.Add(request.NewErrParamRequired("Args")) + } + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.NodeType == nil { + invalidParams.Add(request.NewErrParamRequired("NodeType")) + } + if s.Args != nil { + for i, v := range s.Args { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Args", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArgs sets the Args field's value. +func (s *CodeGenNode) SetArgs(v []*CodeGenNodeArg) *CodeGenNode { + s.Args = v + return s +} + +// SetId sets the Id field's value. +func (s *CodeGenNode) SetId(v string) *CodeGenNode { + s.Id = &v + return s +} + +// SetLineNumber sets the LineNumber field's value. +func (s *CodeGenNode) SetLineNumber(v int64) *CodeGenNode { + s.LineNumber = &v + return s +} + +// SetNodeType sets the NodeType field's value. +func (s *CodeGenNode) SetNodeType(v string) *CodeGenNode { + s.NodeType = &v + return s +} + +// An argument or property of a node. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CodeGenNodeArg +type CodeGenNodeArg struct { + _ struct{} `type:"structure"` + + // The name of the argument or property. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // True if the value is used as a parameter. + Param *bool `type:"boolean"` + + // The value of the argument or property. + // + // Value is a required field + Value *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CodeGenNodeArg) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CodeGenNodeArg) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CodeGenNodeArg) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CodeGenNodeArg"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *CodeGenNodeArg) SetName(v string) *CodeGenNodeArg { + s.Name = &v + return s +} + +// SetParam sets the Param field's value. +func (s *CodeGenNodeArg) SetParam(v bool) *CodeGenNodeArg { + s.Param = &v + return s +} + +// SetValue sets the Value field's value. +func (s *CodeGenNodeArg) SetValue(v string) *CodeGenNodeArg { + s.Value = &v + return s +} + +// A column in a Table. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/Column +type Column struct { + _ struct{} `type:"structure"` + + // Free-form text comment. + Comment *string `type:"string"` + + // The name of the Column. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The datatype of data in the Column. + Type *string `type:"string"` +} + +// String returns the string representation +func (s Column) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Column) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Column) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Column"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComment sets the Comment field's value. +func (s *Column) SetComment(v string) *Column { + s.Comment = &v + return s +} + +// SetName sets the Name field's value. +func (s *Column) SetName(v string) *Column { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *Column) SetType(v string) *Column { + s.Type = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/Condition +type Condition struct { + _ struct{} `type:"structure"` + + JobName *string `min:"1" type:"string"` + + LogicalOperator *string `type:"string" enum:"LogicalOperator"` + + State *string `type:"string" enum:"JobRunState"` +} + +// String returns the string representation +func (s Condition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Condition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Condition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Condition"} + if s.JobName != nil && len(*s.JobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJobName sets the JobName field's value. +func (s *Condition) SetJobName(v string) *Condition { + s.JobName = &v + return s +} + +// SetLogicalOperator sets the LogicalOperator field's value. +func (s *Condition) SetLogicalOperator(v string) *Condition { + s.LogicalOperator = &v + return s +} + +// SetState sets the State field's value. +func (s *Condition) SetState(v string) *Condition { + s.State = &v + return s +} + +// Defines a connection to a data source. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/Connection +type Connection struct { + _ struct{} `type:"structure"` + + // A list of key-value pairs used as parameters for this connection. + ConnectionProperties map[string]*string `type:"map"` + + // The type of the connection. + ConnectionType *string `type:"string" enum:"ConnectionType"` + + // The time this connection definition was created. + CreationTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Description of the connection. + Description *string `type:"string"` + + // The user, group or role that last updated this connection definition. + LastUpdatedBy *string `min:"1" type:"string"` + + // The last time this connection definition was updated. + LastUpdatedTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // A list of criteria that can be used in selecting this connection. + MatchCriteria []*string `type:"list"` + + // The name of the connection definition. + Name *string `min:"1" type:"string"` + + // A map of physical connection requirements, such as VPC and SecurityGroup, + // needed for making this connection successfully. + PhysicalConnectionRequirements *PhysicalConnectionRequirements `type:"structure"` +} + +// String returns the string representation +func (s Connection) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Connection) GoString() string { + return s.String() +} + +// SetConnectionProperties sets the ConnectionProperties field's value. +func (s *Connection) SetConnectionProperties(v map[string]*string) *Connection { + s.ConnectionProperties = v + return s +} + +// SetConnectionType sets the ConnectionType field's value. +func (s *Connection) SetConnectionType(v string) *Connection { + s.ConnectionType = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *Connection) SetCreationTime(v time.Time) *Connection { + s.CreationTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Connection) SetDescription(v string) *Connection { + s.Description = &v + return s +} + +// SetLastUpdatedBy sets the LastUpdatedBy field's value. +func (s *Connection) SetLastUpdatedBy(v string) *Connection { + s.LastUpdatedBy = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *Connection) SetLastUpdatedTime(v time.Time) *Connection { + s.LastUpdatedTime = &v + return s +} + +// SetMatchCriteria sets the MatchCriteria field's value. +func (s *Connection) SetMatchCriteria(v []*string) *Connection { + s.MatchCriteria = v + return s +} + +// SetName sets the Name field's value. +func (s *Connection) SetName(v string) *Connection { + s.Name = &v + return s +} + +// SetPhysicalConnectionRequirements sets the PhysicalConnectionRequirements field's value. +func (s *Connection) SetPhysicalConnectionRequirements(v *PhysicalConnectionRequirements) *Connection { + s.PhysicalConnectionRequirements = v + return s +} + +// A structure used to specify a connection to create or update. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ConnectionInput +type ConnectionInput struct { + _ struct{} `type:"structure"` + + // A list of key-value pairs used as parameters for this connection. + ConnectionProperties map[string]*string `type:"map"` + + // The type of the connection. + ConnectionType *string `type:"string" enum:"ConnectionType"` + + // Description of the connection. + Description *string `type:"string"` + + // A list of criteria that can be used in selecting this connection. + MatchCriteria []*string `type:"list"` + + // The name of the connection. + Name *string `min:"1" type:"string"` + + // A map of physical connection requirements, such as VPC and SecurityGroup, + // needed for making this connection successfully. + PhysicalConnectionRequirements *PhysicalConnectionRequirements `type:"structure"` +} + +// String returns the string representation +func (s ConnectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ConnectionInput"} + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.PhysicalConnectionRequirements != nil { + if err := s.PhysicalConnectionRequirements.Validate(); err != nil { + invalidParams.AddNested("PhysicalConnectionRequirements", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConnectionProperties sets the ConnectionProperties field's value. +func (s *ConnectionInput) SetConnectionProperties(v map[string]*string) *ConnectionInput { + s.ConnectionProperties = v + return s +} + +// SetConnectionType sets the ConnectionType field's value. +func (s *ConnectionInput) SetConnectionType(v string) *ConnectionInput { + s.ConnectionType = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ConnectionInput) SetDescription(v string) *ConnectionInput { + s.Description = &v + return s +} + +// SetMatchCriteria sets the MatchCriteria field's value. +func (s *ConnectionInput) SetMatchCriteria(v []*string) *ConnectionInput { + s.MatchCriteria = v + return s +} + +// SetName sets the Name field's value. +func (s *ConnectionInput) SetName(v string) *ConnectionInput { + s.Name = &v + return s +} + +// SetPhysicalConnectionRequirements sets the PhysicalConnectionRequirements field's value. +func (s *ConnectionInput) SetPhysicalConnectionRequirements(v *PhysicalConnectionRequirements) *ConnectionInput { + s.PhysicalConnectionRequirements = v + return s +} + +// Specifies the connections used by a job. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ConnectionsList +type ConnectionsList struct { + _ struct{} `type:"structure"` + + // A list of connections used by the job. + Connections []*string `type:"list"` +} + +// String returns the string representation +func (s ConnectionsList) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ConnectionsList) GoString() string { + return s.String() +} + +// SetConnections sets the Connections field's value. +func (s *ConnectionsList) SetConnections(v []*string) *ConnectionsList { + s.Connections = v + return s +} + +// Specifies a crawler program that examines a data source and uses classifiers +// to try to its schema. If successful, the crawler records metatdata concerning +// the data source in the Data Catalog. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/Crawler +type Crawler struct { + _ struct{} `type:"structure"` + + // A list of custom Classifiers associated with this Crawler. + Classifiers []*string `type:"list"` + + // If this Crawler is running, contains the total time elapsed since the last + // crawl began. + CrawlElapsedTime *int64 `type:"long"` + + // The time when the Crawler was created. + CreationTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The Database where this Crawler's output should be stored. + DatabaseName *string `type:"string"` + + // A description of this Crawler and where it should be used. + Description *string `type:"string"` + + // The status of the last crawl, and potentially error information if an error + // occurred. + LastCrawl *LastCrawlInfo `type:"structure"` + + // The time the Crawler was last updated. + LastUpdated *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The Crawler name. + Name *string `min:"1" type:"string"` + + // The ARN of an IAM role used to access customer resources such as data in + // S3. + Role *string `type:"string"` + + // A Schedule object that specifies the schedule on which this Crawler is to + // be run. + Schedule *Schedule `type:"structure"` + + // Sets policy for the crawler's update and delete behavior. + SchemaChangePolicy *SchemaChangePolicy `type:"structure"` + + // Indicates whether this Crawler is running, or whether a run is pending. + State *string `type:"string" enum:"CrawlerState"` + + // The table prefix used for catalog tables created. + TablePrefix *string `type:"string"` + + // A collection of targets to crawl. + Targets *CrawlerTargets `type:"structure"` + + // The version of the Crawler. + Version *int64 `type:"long"` +} + +// String returns the string representation +func (s Crawler) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Crawler) GoString() string { + return s.String() +} + +// SetClassifiers sets the Classifiers field's value. +func (s *Crawler) SetClassifiers(v []*string) *Crawler { + s.Classifiers = v + return s +} + +// SetCrawlElapsedTime sets the CrawlElapsedTime field's value. +func (s *Crawler) SetCrawlElapsedTime(v int64) *Crawler { + s.CrawlElapsedTime = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *Crawler) SetCreationTime(v time.Time) *Crawler { + s.CreationTime = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *Crawler) SetDatabaseName(v string) *Crawler { + s.DatabaseName = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Crawler) SetDescription(v string) *Crawler { + s.Description = &v + return s +} + +// SetLastCrawl sets the LastCrawl field's value. +func (s *Crawler) SetLastCrawl(v *LastCrawlInfo) *Crawler { + s.LastCrawl = v + return s +} + +// SetLastUpdated sets the LastUpdated field's value. +func (s *Crawler) SetLastUpdated(v time.Time) *Crawler { + s.LastUpdated = &v + return s +} + +// SetName sets the Name field's value. +func (s *Crawler) SetName(v string) *Crawler { + s.Name = &v + return s +} + +// SetRole sets the Role field's value. +func (s *Crawler) SetRole(v string) *Crawler { + s.Role = &v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *Crawler) SetSchedule(v *Schedule) *Crawler { + s.Schedule = v + return s +} + +// SetSchemaChangePolicy sets the SchemaChangePolicy field's value. +func (s *Crawler) SetSchemaChangePolicy(v *SchemaChangePolicy) *Crawler { + s.SchemaChangePolicy = v + return s +} + +// SetState sets the State field's value. +func (s *Crawler) SetState(v string) *Crawler { + s.State = &v + return s +} + +// SetTablePrefix sets the TablePrefix field's value. +func (s *Crawler) SetTablePrefix(v string) *Crawler { + s.TablePrefix = &v + return s +} + +// SetTargets sets the Targets field's value. +func (s *Crawler) SetTargets(v *CrawlerTargets) *Crawler { + s.Targets = v + return s +} + +// SetVersion sets the Version field's value. +func (s *Crawler) SetVersion(v int64) *Crawler { + s.Version = &v + return s +} + +// Metrics for a specified crawler. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CrawlerMetrics +type CrawlerMetrics struct { + _ struct{} `type:"structure"` + + // The name of the crawler. + CrawlerName *string `min:"1" type:"string"` + + // The duration of the crawler's most recent run, in seconds. + LastRuntimeSeconds *float64 `type:"double"` + + // The median duration of this crawler's runs, in seconds. + MedianRuntimeSeconds *float64 `type:"double"` + + // True if the crawler is estimating its + StillEstimating *bool `type:"boolean"` + + // A list of the tables created by this crawler. + TablesCreated *int64 `type:"integer"` + + // A list of the tables deleted by this crawler. + TablesDeleted *int64 `type:"integer"` + + // A list of the tables created by this crawler. + TablesUpdated *int64 `type:"integer"` + + // The estimated time left to complete a running crawl. + TimeLeftSeconds *float64 `type:"double"` +} + +// String returns the string representation +func (s CrawlerMetrics) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CrawlerMetrics) GoString() string { + return s.String() +} + +// SetCrawlerName sets the CrawlerName field's value. +func (s *CrawlerMetrics) SetCrawlerName(v string) *CrawlerMetrics { + s.CrawlerName = &v + return s +} + +// SetLastRuntimeSeconds sets the LastRuntimeSeconds field's value. +func (s *CrawlerMetrics) SetLastRuntimeSeconds(v float64) *CrawlerMetrics { + s.LastRuntimeSeconds = &v + return s +} + +// SetMedianRuntimeSeconds sets the MedianRuntimeSeconds field's value. +func (s *CrawlerMetrics) SetMedianRuntimeSeconds(v float64) *CrawlerMetrics { + s.MedianRuntimeSeconds = &v + return s +} + +// SetStillEstimating sets the StillEstimating field's value. +func (s *CrawlerMetrics) SetStillEstimating(v bool) *CrawlerMetrics { + s.StillEstimating = &v + return s +} + +// SetTablesCreated sets the TablesCreated field's value. +func (s *CrawlerMetrics) SetTablesCreated(v int64) *CrawlerMetrics { + s.TablesCreated = &v + return s +} + +// SetTablesDeleted sets the TablesDeleted field's value. +func (s *CrawlerMetrics) SetTablesDeleted(v int64) *CrawlerMetrics { + s.TablesDeleted = &v + return s +} + +// SetTablesUpdated sets the TablesUpdated field's value. +func (s *CrawlerMetrics) SetTablesUpdated(v int64) *CrawlerMetrics { + s.TablesUpdated = &v + return s +} + +// SetTimeLeftSeconds sets the TimeLeftSeconds field's value. +func (s *CrawlerMetrics) SetTimeLeftSeconds(v float64) *CrawlerMetrics { + s.TimeLeftSeconds = &v + return s +} + +// Specifies crawler targets. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CrawlerTargets +type CrawlerTargets struct { + _ struct{} `type:"structure"` + + // Specifies JDBC targets. + JdbcTargets []*JdbcTarget `type:"list"` + + // Specifies targets in AWS S3. + S3Targets []*S3Target `type:"list"` +} + +// String returns the string representation +func (s CrawlerTargets) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CrawlerTargets) GoString() string { + return s.String() +} + +// SetJdbcTargets sets the JdbcTargets field's value. +func (s *CrawlerTargets) SetJdbcTargets(v []*JdbcTarget) *CrawlerTargets { + s.JdbcTargets = v + return s +} + +// SetS3Targets sets the S3Targets field's value. +func (s *CrawlerTargets) SetS3Targets(v []*S3Target) *CrawlerTargets { + s.S3Targets = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateClassifierRequest +type CreateClassifierInput struct { + _ struct{} `type:"structure"` + + // A grok classifier to create. + GrokClassifier *CreateGrokClassifierRequest `type:"structure"` +} + +// String returns the string representation +func (s CreateClassifierInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateClassifierInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateClassifierInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateClassifierInput"} + if s.GrokClassifier != nil { + if err := s.GrokClassifier.Validate(); err != nil { + invalidParams.AddNested("GrokClassifier", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGrokClassifier sets the GrokClassifier field's value. +func (s *CreateClassifierInput) SetGrokClassifier(v *CreateGrokClassifierRequest) *CreateClassifierInput { + s.GrokClassifier = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateClassifierResponse +type CreateClassifierOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateClassifierOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateClassifierOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateConnectionRequest +type CreateConnectionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog in which to create the connection. If none is + // supplied, the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // A ConnectionInput object defining the connection to create. + // + // ConnectionInput is a required field + ConnectionInput *ConnectionInput `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateConnectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateConnectionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.ConnectionInput == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectionInput")) + } + if s.ConnectionInput != nil { + if err := s.ConnectionInput.Validate(); err != nil { + invalidParams.AddNested("ConnectionInput", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *CreateConnectionInput) SetCatalogId(v string) *CreateConnectionInput { + s.CatalogId = &v + return s +} + +// SetConnectionInput sets the ConnectionInput field's value. +func (s *CreateConnectionInput) SetConnectionInput(v *ConnectionInput) *CreateConnectionInput { + s.ConnectionInput = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateConnectionResponse +type CreateConnectionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateConnectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateConnectionOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateCrawlerRequest +type CreateCrawlerInput struct { + _ struct{} `type:"structure"` + + // A list of custom Classifier names that the user has registered. By default, + // all AWS classifiers are included in a crawl, but these custom classifiers + // always override the default classifiers for a given classification. + Classifiers []*string `type:"list"` + + // The Glue Database where results will be stored, such as: arn:aws:daylight:us-east-1::database/sometable/*. + // + // DatabaseName is a required field + DatabaseName *string `type:"string" required:"true"` + + // A description of the new Crawler. + Description *string `type:"string"` + + // Name of the new Crawler. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The AWS ARN of the IAM role used by the new Crawler to access customer resources. + // + // Role is a required field + Role *string `type:"string" required:"true"` + + // A cron expression that can be used as a Cloudwatch event (see CloudWatch + // Schedule Expression Syntax (http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html). + // For example, to run every day at 12:15 UTC, specify: cron(15 12 * * ? *). + Schedule *string `type:"string"` + + // Policy for the crawler's update and deletion behavior. + SchemaChangePolicy *SchemaChangePolicy `type:"structure"` + + // The table prefix used for catalog tables created. + TablePrefix *string `type:"string"` + + // A list of collection of targets to crawl. + // + // Targets is a required field + Targets *CrawlerTargets `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateCrawlerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCrawlerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateCrawlerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCrawlerInput"} + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Role == nil { + invalidParams.Add(request.NewErrParamRequired("Role")) + } + if s.Targets == nil { + invalidParams.Add(request.NewErrParamRequired("Targets")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClassifiers sets the Classifiers field's value. +func (s *CreateCrawlerInput) SetClassifiers(v []*string) *CreateCrawlerInput { + s.Classifiers = v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *CreateCrawlerInput) SetDatabaseName(v string) *CreateCrawlerInput { + s.DatabaseName = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateCrawlerInput) SetDescription(v string) *CreateCrawlerInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateCrawlerInput) SetName(v string) *CreateCrawlerInput { + s.Name = &v + return s +} + +// SetRole sets the Role field's value. +func (s *CreateCrawlerInput) SetRole(v string) *CreateCrawlerInput { + s.Role = &v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *CreateCrawlerInput) SetSchedule(v string) *CreateCrawlerInput { + s.Schedule = &v + return s +} + +// SetSchemaChangePolicy sets the SchemaChangePolicy field's value. +func (s *CreateCrawlerInput) SetSchemaChangePolicy(v *SchemaChangePolicy) *CreateCrawlerInput { + s.SchemaChangePolicy = v + return s +} + +// SetTablePrefix sets the TablePrefix field's value. +func (s *CreateCrawlerInput) SetTablePrefix(v string) *CreateCrawlerInput { + s.TablePrefix = &v + return s +} + +// SetTargets sets the Targets field's value. +func (s *CreateCrawlerInput) SetTargets(v *CrawlerTargets) *CreateCrawlerInput { + s.Targets = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateCrawlerResponse +type CreateCrawlerOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateCrawlerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCrawlerOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateDatabaseRequest +type CreateDatabaseInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog in which to create the database. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // A DatabaseInput object defining the metadata database to create in the catalog. + // + // DatabaseInput is a required field + DatabaseInput *DatabaseInput `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateDatabaseInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDatabaseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDatabaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDatabaseInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseInput == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseInput")) + } + if s.DatabaseInput != nil { + if err := s.DatabaseInput.Validate(); err != nil { + invalidParams.AddNested("DatabaseInput", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *CreateDatabaseInput) SetCatalogId(v string) *CreateDatabaseInput { + s.CatalogId = &v + return s +} + +// SetDatabaseInput sets the DatabaseInput field's value. +func (s *CreateDatabaseInput) SetDatabaseInput(v *DatabaseInput) *CreateDatabaseInput { + s.DatabaseInput = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateDatabaseResponse +type CreateDatabaseOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateDatabaseOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDatabaseOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateDevEndpointRequest +type CreateDevEndpointInput struct { + _ struct{} `type:"structure"` + + // The name to be assigned to the new DevEndpoint. + // + // EndpointName is a required field + EndpointName *string `type:"string" required:"true"` + + // Path to one or more Java Jars in an S3 bucket that should be loaded in your + // DevEndpoint. + ExtraJarsS3Path *string `type:"string"` + + // Path to one or more Python libraries in an S3 bucket that should be loaded + // in your DevEndpoint. + ExtraPythonLibsS3Path *string `type:"string"` + + // The number of nodes to use. + NumberOfNodes *int64 `type:"integer"` + + // The public key to use for authentication. + PublicKey *string `type:"string"` + + // The IAM role for the DevEndpoint. + // + // RoleArn is a required field + RoleArn *string `type:"string" required:"true"` + + // Security group IDs for the security groups to be used by the new DevEndpoint. + // + // SecurityGroupIds is a required field + SecurityGroupIds []*string `type:"list" required:"true"` + + // The subnet ID for the new DevEndpoint to use. + // + // SubnetId is a required field + SubnetId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateDevEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDevEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDevEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDevEndpointInput"} + if s.EndpointName == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointName")) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.SecurityGroupIds == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds")) + } + if s.SubnetId == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpointName sets the EndpointName field's value. +func (s *CreateDevEndpointInput) SetEndpointName(v string) *CreateDevEndpointInput { + s.EndpointName = &v + return s +} + +// SetExtraJarsS3Path sets the ExtraJarsS3Path field's value. +func (s *CreateDevEndpointInput) SetExtraJarsS3Path(v string) *CreateDevEndpointInput { + s.ExtraJarsS3Path = &v + return s +} + +// SetExtraPythonLibsS3Path sets the ExtraPythonLibsS3Path field's value. +func (s *CreateDevEndpointInput) SetExtraPythonLibsS3Path(v string) *CreateDevEndpointInput { + s.ExtraPythonLibsS3Path = &v + return s +} + +// SetNumberOfNodes sets the NumberOfNodes field's value. +func (s *CreateDevEndpointInput) SetNumberOfNodes(v int64) *CreateDevEndpointInput { + s.NumberOfNodes = &v + return s +} + +// SetPublicKey sets the PublicKey field's value. +func (s *CreateDevEndpointInput) SetPublicKey(v string) *CreateDevEndpointInput { + s.PublicKey = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *CreateDevEndpointInput) SetRoleArn(v string) *CreateDevEndpointInput { + s.RoleArn = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *CreateDevEndpointInput) SetSecurityGroupIds(v []*string) *CreateDevEndpointInput { + s.SecurityGroupIds = v + return s +} + +// SetSubnetId sets the SubnetId field's value. +func (s *CreateDevEndpointInput) SetSubnetId(v string) *CreateDevEndpointInput { + s.SubnetId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateDevEndpointResponse +type CreateDevEndpointOutput struct { + _ struct{} `type:"structure"` + + // The AWS availability zone where this DevEndpoint is located. + AvailabilityZone *string `type:"string"` + + // The point in time at which this DevEndpoint was created. + CreatedTimestamp *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The name assigned to the new DevEndpoint. + EndpointName *string `type:"string"` + + // Path to one or more Java Jars in an S3 bucket that will be loaded in your + // DevEndpoint. + ExtraJarsS3Path *string `type:"string"` + + // Path to one or more Python libraries in an S3 bucket that will be loaded + // in your DevEndpoint. + ExtraPythonLibsS3Path *string `type:"string"` + + // The reason for a current failure in this DevEndpoint. + FailureReason *string `type:"string"` + + // The number of nodes in this DevEndpoint. + NumberOfNodes *int64 `type:"integer"` + + // The AWS ARN of the role assigned to the new DevEndpoint. + RoleArn *string `type:"string"` + + // The security groups assigned to the new DevEndpoint. + SecurityGroupIds []*string `type:"list"` + + // The current status of the new DevEndpoint. + Status *string `type:"string"` + + // The subnet ID assigned to the new DevEndpoint. + SubnetId *string `type:"string"` + + // The ID of the VPC used by this DevEndpoint. + VpcId *string `type:"string"` + + // The address of the YARN endpoint used by this DevEndpoint. + YarnEndpointAddress *string `type:"string"` +} + +// String returns the string representation +func (s CreateDevEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDevEndpointOutput) GoString() string { + return s.String() +} + +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *CreateDevEndpointOutput) SetAvailabilityZone(v string) *CreateDevEndpointOutput { + s.AvailabilityZone = &v + return s +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *CreateDevEndpointOutput) SetCreatedTimestamp(v time.Time) *CreateDevEndpointOutput { + s.CreatedTimestamp = &v + return s +} + +// SetEndpointName sets the EndpointName field's value. +func (s *CreateDevEndpointOutput) SetEndpointName(v string) *CreateDevEndpointOutput { + s.EndpointName = &v + return s +} + +// SetExtraJarsS3Path sets the ExtraJarsS3Path field's value. +func (s *CreateDevEndpointOutput) SetExtraJarsS3Path(v string) *CreateDevEndpointOutput { + s.ExtraJarsS3Path = &v + return s +} + +// SetExtraPythonLibsS3Path sets the ExtraPythonLibsS3Path field's value. +func (s *CreateDevEndpointOutput) SetExtraPythonLibsS3Path(v string) *CreateDevEndpointOutput { + s.ExtraPythonLibsS3Path = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *CreateDevEndpointOutput) SetFailureReason(v string) *CreateDevEndpointOutput { + s.FailureReason = &v + return s +} + +// SetNumberOfNodes sets the NumberOfNodes field's value. +func (s *CreateDevEndpointOutput) SetNumberOfNodes(v int64) *CreateDevEndpointOutput { + s.NumberOfNodes = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *CreateDevEndpointOutput) SetRoleArn(v string) *CreateDevEndpointOutput { + s.RoleArn = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *CreateDevEndpointOutput) SetSecurityGroupIds(v []*string) *CreateDevEndpointOutput { + s.SecurityGroupIds = v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateDevEndpointOutput) SetStatus(v string) *CreateDevEndpointOutput { + s.Status = &v + return s +} + +// SetSubnetId sets the SubnetId field's value. +func (s *CreateDevEndpointOutput) SetSubnetId(v string) *CreateDevEndpointOutput { + s.SubnetId = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *CreateDevEndpointOutput) SetVpcId(v string) *CreateDevEndpointOutput { + s.VpcId = &v + return s +} + +// SetYarnEndpointAddress sets the YarnEndpointAddress field's value. +func (s *CreateDevEndpointOutput) SetYarnEndpointAddress(v string) *CreateDevEndpointOutput { + s.YarnEndpointAddress = &v + return s +} + +// Specifies a Grok classifier for CreateClassifier to create. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateGrokClassifierRequest +type CreateGrokClassifierRequest struct { + _ struct{} `type:"structure"` + + // The type of result that the classifier matches, such as Twitter Json, Omniture + // logs, Cloudwatch logs, and so forth. + // + // Classification is a required field + Classification *string `type:"string" required:"true"` + + // Custom grok patterns used by this classifier. + CustomPatterns *string `type:"string"` + + // The grok pattern used by this classifier. + // + // GrokPattern is a required field + GrokPattern *string `min:"1" type:"string" required:"true"` + + // The name of the new Classifier. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateGrokClassifierRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateGrokClassifierRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateGrokClassifierRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateGrokClassifierRequest"} + if s.Classification == nil { + invalidParams.Add(request.NewErrParamRequired("Classification")) + } + if s.GrokPattern == nil { + invalidParams.Add(request.NewErrParamRequired("GrokPattern")) + } + if s.GrokPattern != nil && len(*s.GrokPattern) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GrokPattern", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClassification sets the Classification field's value. +func (s *CreateGrokClassifierRequest) SetClassification(v string) *CreateGrokClassifierRequest { + s.Classification = &v + return s +} + +// SetCustomPatterns sets the CustomPatterns field's value. +func (s *CreateGrokClassifierRequest) SetCustomPatterns(v string) *CreateGrokClassifierRequest { + s.CustomPatterns = &v + return s +} + +// SetGrokPattern sets the GrokPattern field's value. +func (s *CreateGrokClassifierRequest) SetGrokPattern(v string) *CreateGrokClassifierRequest { + s.GrokPattern = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateGrokClassifierRequest) SetName(v string) *CreateGrokClassifierRequest { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateJobRequest +type CreateJobInput struct { + _ struct{} `type:"structure"` + + // The number of capacity units allocated to this job. + AllocatedCapacity *int64 `type:"integer"` + + // The JobCommand that executes this job. + // + // Command is a required field + Command *JobCommand `type:"structure" required:"true"` + + // The connections used for this job. + Connections *ConnectionsList `type:"structure"` + + // The default parameters for this job. + DefaultArguments map[string]*string `type:"map"` + + // Description of the job. + Description *string `type:"string"` + + // An ExecutionProperty specifying the maximum number of concurrent runs allowed + // for this job. + ExecutionProperty *ExecutionProperty `type:"structure"` + + // Location of the logs for this job. + LogUri *string `type:"string"` + + // The maximum number of times to retry this job if it fails. + MaxRetries *int64 `type:"integer"` + + // The name you assign to this job. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The role associated with this job. + // + // Role is a required field + Role *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateJobInput"} + if s.Command == nil { + invalidParams.Add(request.NewErrParamRequired("Command")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Role == nil { + invalidParams.Add(request.NewErrParamRequired("Role")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllocatedCapacity sets the AllocatedCapacity field's value. +func (s *CreateJobInput) SetAllocatedCapacity(v int64) *CreateJobInput { + s.AllocatedCapacity = &v + return s +} + +// SetCommand sets the Command field's value. +func (s *CreateJobInput) SetCommand(v *JobCommand) *CreateJobInput { + s.Command = v + return s +} + +// SetConnections sets the Connections field's value. +func (s *CreateJobInput) SetConnections(v *ConnectionsList) *CreateJobInput { + s.Connections = v + return s +} + +// SetDefaultArguments sets the DefaultArguments field's value. +func (s *CreateJobInput) SetDefaultArguments(v map[string]*string) *CreateJobInput { + s.DefaultArguments = v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateJobInput) SetDescription(v string) *CreateJobInput { + s.Description = &v + return s +} + +// SetExecutionProperty sets the ExecutionProperty field's value. +func (s *CreateJobInput) SetExecutionProperty(v *ExecutionProperty) *CreateJobInput { + s.ExecutionProperty = v + return s +} + +// SetLogUri sets the LogUri field's value. +func (s *CreateJobInput) SetLogUri(v string) *CreateJobInput { + s.LogUri = &v + return s +} + +// SetMaxRetries sets the MaxRetries field's value. +func (s *CreateJobInput) SetMaxRetries(v int64) *CreateJobInput { + s.MaxRetries = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateJobInput) SetName(v string) *CreateJobInput { + s.Name = &v + return s +} + +// SetRole sets the Role field's value. +func (s *CreateJobInput) SetRole(v string) *CreateJobInput { + s.Role = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateJobResponse +type CreateJobOutput struct { + _ struct{} `type:"structure"` + + // The unique name of the new job that has been created. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateJobOutput) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *CreateJobOutput) SetName(v string) *CreateJobOutput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreatePartitionRequest +type CreatePartitionInput struct { + _ struct{} `type:"structure"` + + // The ID of the catalog in which the partion is to be created. Currently, this + // should be the AWS account ID. + CatalogId *string `min:"1" type:"string"` + + // The name of the metadata database in which the partition is to be created. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // A PartitionInput structure defining the partition to be created. + // + // PartitionInput is a required field + PartitionInput *PartitionInput `type:"structure" required:"true"` + + // The name of the metadata table in which the partition is to be created. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreatePartitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePartitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreatePartitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePartitionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.PartitionInput == nil { + invalidParams.Add(request.NewErrParamRequired("PartitionInput")) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + if s.PartitionInput != nil { + if err := s.PartitionInput.Validate(); err != nil { + invalidParams.AddNested("PartitionInput", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *CreatePartitionInput) SetCatalogId(v string) *CreatePartitionInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *CreatePartitionInput) SetDatabaseName(v string) *CreatePartitionInput { + s.DatabaseName = &v + return s +} + +// SetPartitionInput sets the PartitionInput field's value. +func (s *CreatePartitionInput) SetPartitionInput(v *PartitionInput) *CreatePartitionInput { + s.PartitionInput = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *CreatePartitionInput) SetTableName(v string) *CreatePartitionInput { + s.TableName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreatePartitionResponse +type CreatePartitionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreatePartitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePartitionOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateScriptRequest +type CreateScriptInput struct { + _ struct{} `type:"structure"` + + // A list of the edges in the DAG. + DagEdges []*CodeGenEdge `type:"list"` + + // A list of the nodes in the DAG. + DagNodes []*CodeGenNode `type:"list"` +} + +// String returns the string representation +func (s CreateScriptInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateScriptInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateScriptInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateScriptInput"} + if s.DagEdges != nil { + for i, v := range s.DagEdges { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DagEdges", i), err.(request.ErrInvalidParams)) + } + } + } + if s.DagNodes != nil { + for i, v := range s.DagNodes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DagNodes", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDagEdges sets the DagEdges field's value. +func (s *CreateScriptInput) SetDagEdges(v []*CodeGenEdge) *CreateScriptInput { + s.DagEdges = v + return s +} + +// SetDagNodes sets the DagNodes field's value. +func (s *CreateScriptInput) SetDagNodes(v []*CodeGenNode) *CreateScriptInput { + s.DagNodes = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateScriptResponse +type CreateScriptOutput struct { + _ struct{} `type:"structure"` + + // The Python script generated from the DAG. + PythonScript *string `type:"string"` +} + +// String returns the string representation +func (s CreateScriptOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateScriptOutput) GoString() string { + return s.String() +} + +// SetPythonScript sets the PythonScript field's value. +func (s *CreateScriptOutput) SetPythonScript(v string) *CreateScriptOutput { + s.PythonScript = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateTableRequest +type CreateTableInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog in which to create the Table. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The catalog database in which to create the new table. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The TableInput object that defines the metadata table to create in the catalog. + // + // TableInput is a required field + TableInput *TableInput `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateTableInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTableInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTableInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.TableInput == nil { + invalidParams.Add(request.NewErrParamRequired("TableInput")) + } + if s.TableInput != nil { + if err := s.TableInput.Validate(); err != nil { + invalidParams.AddNested("TableInput", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *CreateTableInput) SetCatalogId(v string) *CreateTableInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *CreateTableInput) SetDatabaseName(v string) *CreateTableInput { + s.DatabaseName = &v + return s +} + +// SetTableInput sets the TableInput field's value. +func (s *CreateTableInput) SetTableInput(v *TableInput) *CreateTableInput { + s.TableInput = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateTableResponse +type CreateTableOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateTableOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTableOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateTriggerRequest +type CreateTriggerInput struct { + _ struct{} `type:"structure"` + + // The actions initiated by this trigger when it fires. + // + // Actions is a required field + Actions []*Action `type:"list" required:"true"` + + // A description of the new trigger. + Description *string `type:"string"` + + // The name to assign to the new trigger. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A predicate to specify when the new trigger should fire. + Predicate *Predicate `type:"structure"` + + // A cron schedule expression for the new trigger. + Schedule *string `type:"string"` + + // The type of the new trigger. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"TriggerType"` +} + +// String returns the string representation +func (s CreateTriggerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTriggerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTriggerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTriggerInput"} + if s.Actions == nil { + invalidParams.Add(request.NewErrParamRequired("Actions")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Actions != nil { + for i, v := range s.Actions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Predicate != nil { + if err := s.Predicate.Validate(); err != nil { + invalidParams.AddNested("Predicate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActions sets the Actions field's value. +func (s *CreateTriggerInput) SetActions(v []*Action) *CreateTriggerInput { + s.Actions = v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateTriggerInput) SetDescription(v string) *CreateTriggerInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateTriggerInput) SetName(v string) *CreateTriggerInput { + s.Name = &v + return s +} + +// SetPredicate sets the Predicate field's value. +func (s *CreateTriggerInput) SetPredicate(v *Predicate) *CreateTriggerInput { + s.Predicate = v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *CreateTriggerInput) SetSchedule(v string) *CreateTriggerInput { + s.Schedule = &v + return s +} + +// SetType sets the Type field's value. +func (s *CreateTriggerInput) SetType(v string) *CreateTriggerInput { + s.Type = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateTriggerResponse +type CreateTriggerOutput struct { + _ struct{} `type:"structure"` + + // The name assigned to the new trigger. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateTriggerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTriggerOutput) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *CreateTriggerOutput) SetName(v string) *CreateTriggerOutput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateUserDefinedFunctionRequest +type CreateUserDefinedFunctionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog in which to create the function. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The name of the catalog database in which to create the function. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // A FunctionInput object that defines the function to create in the Data Catalog. + // + // FunctionInput is a required field + FunctionInput *UserDefinedFunctionInput `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateUserDefinedFunctionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateUserDefinedFunctionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateUserDefinedFunctionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateUserDefinedFunctionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.FunctionInput == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionInput")) + } + if s.FunctionInput != nil { + if err := s.FunctionInput.Validate(); err != nil { + invalidParams.AddNested("FunctionInput", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *CreateUserDefinedFunctionInput) SetCatalogId(v string) *CreateUserDefinedFunctionInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *CreateUserDefinedFunctionInput) SetDatabaseName(v string) *CreateUserDefinedFunctionInput { + s.DatabaseName = &v + return s +} + +// SetFunctionInput sets the FunctionInput field's value. +func (s *CreateUserDefinedFunctionInput) SetFunctionInput(v *UserDefinedFunctionInput) *CreateUserDefinedFunctionInput { + s.FunctionInput = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateUserDefinedFunctionResponse +type CreateUserDefinedFunctionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateUserDefinedFunctionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateUserDefinedFunctionOutput) GoString() string { + return s.String() +} + +// The Database object represents a logical grouping of tables that may reside +// in a Hive metastore or an RDBMS. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/Database +type Database struct { + _ struct{} `type:"structure"` + + // The time at which the metadata database was created in the catalog. + CreateTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Description of the database. + Description *string `type:"string"` + + // The location of the database (for example, an HDFS path). + LocationUri *string `min:"1" type:"string"` + + // Name of the database. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A list of key-value pairs that define parameters and properties of the database. + Parameters map[string]*string `type:"map"` +} + +// String returns the string representation +func (s Database) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Database) GoString() string { + return s.String() +} + +// SetCreateTime sets the CreateTime field's value. +func (s *Database) SetCreateTime(v time.Time) *Database { + s.CreateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Database) SetDescription(v string) *Database { + s.Description = &v + return s +} + +// SetLocationUri sets the LocationUri field's value. +func (s *Database) SetLocationUri(v string) *Database { + s.LocationUri = &v + return s +} + +// SetName sets the Name field's value. +func (s *Database) SetName(v string) *Database { + s.Name = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *Database) SetParameters(v map[string]*string) *Database { + s.Parameters = v + return s +} + +// The structure used to create or updata a database. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DatabaseInput +type DatabaseInput struct { + _ struct{} `type:"structure"` + + // Description of the database + Description *string `type:"string"` + + // The location of the database (for example, an HDFS path). + LocationUri *string `min:"1" type:"string"` + + // Name of the database. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A list of key-value pairs that define parameters and properties of the database. + Parameters map[string]*string `type:"map"` +} + +// String returns the string representation +func (s DatabaseInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DatabaseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DatabaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DatabaseInput"} + if s.LocationUri != nil && len(*s.LocationUri) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LocationUri", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *DatabaseInput) SetDescription(v string) *DatabaseInput { + s.Description = &v + return s +} + +// SetLocationUri sets the LocationUri field's value. +func (s *DatabaseInput) SetLocationUri(v string) *DatabaseInput { + s.LocationUri = &v + return s +} + +// SetName sets the Name field's value. +func (s *DatabaseInput) SetName(v string) *DatabaseInput { + s.Name = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *DatabaseInput) SetParameters(v map[string]*string) *DatabaseInput { + s.Parameters = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteClassifierRequest +type DeleteClassifierInput struct { + _ struct{} `type:"structure"` + + // Name of the Classifier to remove. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteClassifierInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteClassifierInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteClassifierInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteClassifierInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DeleteClassifierInput) SetName(v string) *DeleteClassifierInput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteClassifierResponse +type DeleteClassifierOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteClassifierOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteClassifierOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteConnectionRequest +type DeleteConnectionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog in which the connection resides. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The name of the connection to delete. + // + // ConnectionName is a required field + ConnectionName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteConnectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteConnectionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.ConnectionName == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectionName")) + } + if s.ConnectionName != nil && len(*s.ConnectionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConnectionName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *DeleteConnectionInput) SetCatalogId(v string) *DeleteConnectionInput { + s.CatalogId = &v + return s +} + +// SetConnectionName sets the ConnectionName field's value. +func (s *DeleteConnectionInput) SetConnectionName(v string) *DeleteConnectionInput { + s.ConnectionName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteConnectionResponse +type DeleteConnectionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteConnectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteConnectionOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteCrawlerRequest +type DeleteCrawlerInput struct { + _ struct{} `type:"structure"` + + // Name of the Crawler to remove. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteCrawlerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCrawlerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteCrawlerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCrawlerInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DeleteCrawlerInput) SetName(v string) *DeleteCrawlerInput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteCrawlerResponse +type DeleteCrawlerOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteCrawlerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCrawlerOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteDatabaseRequest +type DeleteDatabaseInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog in which the database resides. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The name of the Database to delete. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDatabaseInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDatabaseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDatabaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDatabaseInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *DeleteDatabaseInput) SetCatalogId(v string) *DeleteDatabaseInput { + s.CatalogId = &v + return s +} + +// SetName sets the Name field's value. +func (s *DeleteDatabaseInput) SetName(v string) *DeleteDatabaseInput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteDatabaseResponse +type DeleteDatabaseOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDatabaseOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDatabaseOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteDevEndpointRequest +type DeleteDevEndpointInput struct { + _ struct{} `type:"structure"` + + // The name of the DevEndpoint. + // + // EndpointName is a required field + EndpointName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDevEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDevEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDevEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDevEndpointInput"} + if s.EndpointName == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpointName sets the EndpointName field's value. +func (s *DeleteDevEndpointInput) SetEndpointName(v string) *DeleteDevEndpointInput { + s.EndpointName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteDevEndpointResponse +type DeleteDevEndpointOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDevEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDevEndpointOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteJobRequest +type DeleteJobInput struct { + _ struct{} `type:"structure"` + + // The name of the job to delete. + // + // JobName is a required field + JobName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteJobInput"} + if s.JobName == nil { + invalidParams.Add(request.NewErrParamRequired("JobName")) + } + if s.JobName != nil && len(*s.JobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJobName sets the JobName field's value. +func (s *DeleteJobInput) SetJobName(v string) *DeleteJobInput { + s.JobName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteJobResponse +type DeleteJobOutput struct { + _ struct{} `type:"structure"` + + // The name of the job that was deleted. + JobName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DeleteJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteJobOutput) GoString() string { + return s.String() +} + +// SetJobName sets the JobName field's value. +func (s *DeleteJobOutput) SetJobName(v string) *DeleteJobOutput { + s.JobName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeletePartitionRequest +type DeletePartitionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the partition to be deleted resides. If + // none is supplied, the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The name of the catalog database in which the table in question resides. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The values that define the partition. + // + // PartitionValues is a required field + PartitionValues []*string `type:"list" required:"true"` + + // The name of the table where the partition to be deleted is located. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeletePartitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePartitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeletePartitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePartitionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.PartitionValues == nil { + invalidParams.Add(request.NewErrParamRequired("PartitionValues")) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *DeletePartitionInput) SetCatalogId(v string) *DeletePartitionInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *DeletePartitionInput) SetDatabaseName(v string) *DeletePartitionInput { + s.DatabaseName = &v + return s +} + +// SetPartitionValues sets the PartitionValues field's value. +func (s *DeletePartitionInput) SetPartitionValues(v []*string) *DeletePartitionInput { + s.PartitionValues = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *DeletePartitionInput) SetTableName(v string) *DeletePartitionInput { + s.TableName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeletePartitionResponse +type DeletePartitionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeletePartitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePartitionOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteTableRequest +type DeleteTableInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the table resides. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The name of the catalog database in which the table resides. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The name of the table to be deleted. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteTableInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTableInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTableInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *DeleteTableInput) SetCatalogId(v string) *DeleteTableInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *DeleteTableInput) SetDatabaseName(v string) *DeleteTableInput { + s.DatabaseName = &v + return s +} + +// SetName sets the Name field's value. +func (s *DeleteTableInput) SetName(v string) *DeleteTableInput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteTableResponse +type DeleteTableOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteTableOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTableOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteTriggerRequest +type DeleteTriggerInput struct { + _ struct{} `type:"structure"` + + // The name of the trigger to delete. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteTriggerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTriggerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTriggerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTriggerInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DeleteTriggerInput) SetName(v string) *DeleteTriggerInput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteTriggerResponse +type DeleteTriggerOutput struct { + _ struct{} `type:"structure"` + + // The name of the trigger that was deleted. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DeleteTriggerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTriggerOutput) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *DeleteTriggerOutput) SetName(v string) *DeleteTriggerOutput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteUserDefinedFunctionRequest +type DeleteUserDefinedFunctionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the function to be deleted is located. If + // none is supplied, the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The name of the catalog database where the function is located. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The name of the function definition to be deleted. + // + // FunctionName is a required field + FunctionName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteUserDefinedFunctionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteUserDefinedFunctionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteUserDefinedFunctionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteUserDefinedFunctionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.FunctionName == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionName")) + } + if s.FunctionName != nil && len(*s.FunctionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *DeleteUserDefinedFunctionInput) SetCatalogId(v string) *DeleteUserDefinedFunctionInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *DeleteUserDefinedFunctionInput) SetDatabaseName(v string) *DeleteUserDefinedFunctionInput { + s.DatabaseName = &v + return s +} + +// SetFunctionName sets the FunctionName field's value. +func (s *DeleteUserDefinedFunctionInput) SetFunctionName(v string) *DeleteUserDefinedFunctionInput { + s.FunctionName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteUserDefinedFunctionResponse +type DeleteUserDefinedFunctionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteUserDefinedFunctionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteUserDefinedFunctionOutput) GoString() string { + return s.String() +} + +// A development endpoint where a developer can remotely debug ETL scripts. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DevEndpoint +type DevEndpoint struct { + _ struct{} `type:"structure"` + + // The AWS availability zone where this DevEndpoint is located. + AvailabilityZone *string `type:"string"` + + // The point in time at which this DevEndpoint was created. + CreatedTimestamp *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The name of the DevEndpoint. + EndpointName *string `type:"string"` + + // Path to one or more Java Jars in an S3 bucket that should be loaded in your + // DevEndpoint. + ExtraJarsS3Path *string `type:"string"` + + // Path to one or more Python libraries in an S3 bucket that should be loaded + // in your DevEndpoint. + ExtraPythonLibsS3Path *string `type:"string"` + + // The reason for a current failure in this DevEndpoint. + FailureReason *string `type:"string"` + + // The point in time at which this DevEndpoint was last modified. + LastModifiedTimestamp *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The status of the last update. + LastUpdateStatus *string `type:"string"` + + // The number of nodes used by this DevEndpoint. + NumberOfNodes *int64 `type:"integer"` + + // The public address used by this DevEndpoint. + PublicAddress *string `type:"string"` + + // The public key to be used by this DevEndpoint for authentication. + PublicKey *string `type:"string"` + + // The AWS ARN of the IAM role used in this DevEndpoint. + RoleArn *string `type:"string"` + + // A list of security group identifiers used in this DevEndpoint. + SecurityGroupIds []*string `type:"list"` + + // The current status of this DevEndpoint. + Status *string `type:"string"` + + // The subnet ID for this DevEndpoint. + SubnetId *string `type:"string"` + + // The ID of the virtual private cloud (VPC) used by this DevEndpoint. + VpcId *string `type:"string"` + + // The YARN endpoint address used by this DevEndpoint. + YarnEndpointAddress *string `type:"string"` +} + +// String returns the string representation +func (s DevEndpoint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DevEndpoint) GoString() string { + return s.String() +} + +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *DevEndpoint) SetAvailabilityZone(v string) *DevEndpoint { + s.AvailabilityZone = &v + return s +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *DevEndpoint) SetCreatedTimestamp(v time.Time) *DevEndpoint { + s.CreatedTimestamp = &v + return s +} + +// SetEndpointName sets the EndpointName field's value. +func (s *DevEndpoint) SetEndpointName(v string) *DevEndpoint { + s.EndpointName = &v + return s +} + +// SetExtraJarsS3Path sets the ExtraJarsS3Path field's value. +func (s *DevEndpoint) SetExtraJarsS3Path(v string) *DevEndpoint { + s.ExtraJarsS3Path = &v + return s +} + +// SetExtraPythonLibsS3Path sets the ExtraPythonLibsS3Path field's value. +func (s *DevEndpoint) SetExtraPythonLibsS3Path(v string) *DevEndpoint { + s.ExtraPythonLibsS3Path = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *DevEndpoint) SetFailureReason(v string) *DevEndpoint { + s.FailureReason = &v + return s +} + +// SetLastModifiedTimestamp sets the LastModifiedTimestamp field's value. +func (s *DevEndpoint) SetLastModifiedTimestamp(v time.Time) *DevEndpoint { + s.LastModifiedTimestamp = &v + return s +} + +// SetLastUpdateStatus sets the LastUpdateStatus field's value. +func (s *DevEndpoint) SetLastUpdateStatus(v string) *DevEndpoint { + s.LastUpdateStatus = &v + return s +} + +// SetNumberOfNodes sets the NumberOfNodes field's value. +func (s *DevEndpoint) SetNumberOfNodes(v int64) *DevEndpoint { + s.NumberOfNodes = &v + return s +} + +// SetPublicAddress sets the PublicAddress field's value. +func (s *DevEndpoint) SetPublicAddress(v string) *DevEndpoint { + s.PublicAddress = &v + return s +} + +// SetPublicKey sets the PublicKey field's value. +func (s *DevEndpoint) SetPublicKey(v string) *DevEndpoint { + s.PublicKey = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *DevEndpoint) SetRoleArn(v string) *DevEndpoint { + s.RoleArn = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *DevEndpoint) SetSecurityGroupIds(v []*string) *DevEndpoint { + s.SecurityGroupIds = v + return s +} + +// SetStatus sets the Status field's value. +func (s *DevEndpoint) SetStatus(v string) *DevEndpoint { + s.Status = &v + return s +} + +// SetSubnetId sets the SubnetId field's value. +func (s *DevEndpoint) SetSubnetId(v string) *DevEndpoint { + s.SubnetId = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *DevEndpoint) SetVpcId(v string) *DevEndpoint { + s.VpcId = &v + return s +} + +// SetYarnEndpointAddress sets the YarnEndpointAddress field's value. +func (s *DevEndpoint) SetYarnEndpointAddress(v string) *DevEndpoint { + s.YarnEndpointAddress = &v + return s +} + +// Custom libraries to be loaded into a DevEndpoint. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DevEndpointCustomLibraries +type DevEndpointCustomLibraries struct { + _ struct{} `type:"structure"` + + // Path to one or more Java Jars in an S3 bucket that should be loaded in your + // DevEndpoint. + ExtraJarsS3Path *string `type:"string"` + + // Path to one or more Python libraries in an S3 bucket that should be loaded + // in your DevEndpoint. + ExtraPythonLibsS3Path *string `type:"string"` +} + +// String returns the string representation +func (s DevEndpointCustomLibraries) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DevEndpointCustomLibraries) GoString() string { + return s.String() +} + +// SetExtraJarsS3Path sets the ExtraJarsS3Path field's value. +func (s *DevEndpointCustomLibraries) SetExtraJarsS3Path(v string) *DevEndpointCustomLibraries { + s.ExtraJarsS3Path = &v + return s +} + +// SetExtraPythonLibsS3Path sets the ExtraPythonLibsS3Path field's value. +func (s *DevEndpointCustomLibraries) SetExtraPythonLibsS3Path(v string) *DevEndpointCustomLibraries { + s.ExtraPythonLibsS3Path = &v + return s +} + +// Contains details about an error. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ErrorDetail +type ErrorDetail struct { + _ struct{} `type:"structure"` + + // The code associated with this error. + ErrorCode *string `min:"1" type:"string"` + + // A message describing the error. + ErrorMessage *string `type:"string"` +} + +// String returns the string representation +func (s ErrorDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ErrorDetail) GoString() string { + return s.String() +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *ErrorDetail) SetErrorCode(v string) *ErrorDetail { + s.ErrorCode = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *ErrorDetail) SetErrorMessage(v string) *ErrorDetail { + s.ErrorMessage = &v + return s +} + +// An execution property of a job. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ExecutionProperty +type ExecutionProperty struct { + _ struct{} `type:"structure"` + + // The maximum number of concurrent runs allowed for a job. + MaxConcurrentRuns *int64 `type:"integer"` +} + +// String returns the string representation +func (s ExecutionProperty) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ExecutionProperty) GoString() string { + return s.String() +} + +// SetMaxConcurrentRuns sets the MaxConcurrentRuns field's value. +func (s *ExecutionProperty) SetMaxConcurrentRuns(v int64) *ExecutionProperty { + s.MaxConcurrentRuns = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetCatalogImportStatusRequest +type GetCatalogImportStatusInput struct { + _ struct{} `type:"structure"` + + // The ID of the catalog to migrate. Currently, this should be the AWS account + // ID. + CatalogId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s GetCatalogImportStatusInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCatalogImportStatusInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCatalogImportStatusInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCatalogImportStatusInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *GetCatalogImportStatusInput) SetCatalogId(v string) *GetCatalogImportStatusInput { + s.CatalogId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetCatalogImportStatusResponse +type GetCatalogImportStatusOutput struct { + _ struct{} `type:"structure"` + + // The status of the specified catalog migration. + ImportStatus *CatalogImportStatus `type:"structure"` +} + +// String returns the string representation +func (s GetCatalogImportStatusOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCatalogImportStatusOutput) GoString() string { + return s.String() +} + +// SetImportStatus sets the ImportStatus field's value. +func (s *GetCatalogImportStatusOutput) SetImportStatus(v *CatalogImportStatus) *GetCatalogImportStatusOutput { + s.ImportStatus = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetClassifierRequest +type GetClassifierInput struct { + _ struct{} `type:"structure"` + + // Name of the Classifier to retrieve. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetClassifierInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetClassifierInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetClassifierInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetClassifierInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *GetClassifierInput) SetName(v string) *GetClassifierInput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetClassifierResponse +type GetClassifierOutput struct { + _ struct{} `type:"structure"` + + // The requested Classifier. + Classifier *Classifier `type:"structure"` +} + +// String returns the string representation +func (s GetClassifierOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetClassifierOutput) GoString() string { + return s.String() +} + +// SetClassifier sets the Classifier field's value. +func (s *GetClassifierOutput) SetClassifier(v *Classifier) *GetClassifierOutput { + s.Classifier = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetClassifiersRequest +type GetClassifiersInput struct { + _ struct{} `type:"structure"` + + // Size of the list to return (optional). + MaxResults *int64 `min:"1" type:"integer"` + + // An optional continuation token. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s GetClassifiersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetClassifiersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetClassifiersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetClassifiersInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetClassifiersInput) SetMaxResults(v int64) *GetClassifiersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetClassifiersInput) SetNextToken(v string) *GetClassifiersInput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetClassifiersResponse +type GetClassifiersOutput struct { + _ struct{} `type:"structure"` + + // The requested list of Classifier objects. + Classifiers []*Classifier `type:"list"` + + // A continuation token. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s GetClassifiersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetClassifiersOutput) GoString() string { + return s.String() +} + +// SetClassifiers sets the Classifiers field's value. +func (s *GetClassifiersOutput) SetClassifiers(v []*Classifier) *GetClassifiersOutput { + s.Classifiers = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetClassifiersOutput) SetNextToken(v string) *GetClassifiersOutput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetConnectionRequest +type GetConnectionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog in which the connection resides. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The name of the connection definition to retrieve. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetConnectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetConnectionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *GetConnectionInput) SetCatalogId(v string) *GetConnectionInput { + s.CatalogId = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetConnectionInput) SetName(v string) *GetConnectionInput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetConnectionResponse +type GetConnectionOutput struct { + _ struct{} `type:"structure"` + + // The requested connection definition. + Connection *Connection `type:"structure"` +} + +// String returns the string representation +func (s GetConnectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetConnectionOutput) GoString() string { + return s.String() +} + +// SetConnection sets the Connection field's value. +func (s *GetConnectionOutput) SetConnection(v *Connection) *GetConnectionOutput { + s.Connection = v + return s +} + +// Filters the connection definitions returned by the GetConnections API. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetConnectionsFilter +type GetConnectionsFilter struct { + _ struct{} `type:"structure"` + + // The type of connections to return. + ConnectionType *string `type:"string" enum:"ConnectionType"` + + // A criteria string that must match the criteria recorded in the connection + // definition for that connection definition to be returned. + MatchCriteria []*string `type:"list"` +} + +// String returns the string representation +func (s GetConnectionsFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetConnectionsFilter) GoString() string { + return s.String() +} + +// SetConnectionType sets the ConnectionType field's value. +func (s *GetConnectionsFilter) SetConnectionType(v string) *GetConnectionsFilter { + s.ConnectionType = &v + return s +} + +// SetMatchCriteria sets the MatchCriteria field's value. +func (s *GetConnectionsFilter) SetMatchCriteria(v []*string) *GetConnectionsFilter { + s.MatchCriteria = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetConnectionsRequest +type GetConnectionsInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog in which the connections reside. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // A filter that controls which connections will be returned. + Filter *GetConnectionsFilter `type:"structure"` + + // The maximum number of connections to return in one response. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token, if this is a continuation call. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s GetConnectionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetConnectionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetConnectionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetConnectionsInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *GetConnectionsInput) SetCatalogId(v string) *GetConnectionsInput { + s.CatalogId = &v + return s +} + +// SetFilter sets the Filter field's value. +func (s *GetConnectionsInput) SetFilter(v *GetConnectionsFilter) *GetConnectionsInput { + s.Filter = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetConnectionsInput) SetMaxResults(v int64) *GetConnectionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetConnectionsInput) SetNextToken(v string) *GetConnectionsInput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetConnectionsResponse +type GetConnectionsOutput struct { + _ struct{} `type:"structure"` + + // A list of requested connection definitions. + ConnectionList []*Connection `type:"list"` + + // A continuation token, if the list of connections returned does not include + // the last of the filtered connections. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s GetConnectionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetConnectionsOutput) GoString() string { + return s.String() +} + +// SetConnectionList sets the ConnectionList field's value. +func (s *GetConnectionsOutput) SetConnectionList(v []*Connection) *GetConnectionsOutput { + s.ConnectionList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetConnectionsOutput) SetNextToken(v string) *GetConnectionsOutput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetCrawlerRequest +type GetCrawlerInput struct { + _ struct{} `type:"structure"` + + // Name of the Crawler to retrieve metadata for. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetCrawlerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCrawlerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCrawlerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCrawlerInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *GetCrawlerInput) SetName(v string) *GetCrawlerInput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetCrawlerMetricsRequest +type GetCrawlerMetricsInput struct { + _ struct{} `type:"structure"` + + // A list of the names of crawlers about which to retrieve metrics. + CrawlerNameList []*string `type:"list"` + + // The maximum size of a list to return. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token, if this is a continuation call. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s GetCrawlerMetricsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCrawlerMetricsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCrawlerMetricsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCrawlerMetricsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCrawlerNameList sets the CrawlerNameList field's value. +func (s *GetCrawlerMetricsInput) SetCrawlerNameList(v []*string) *GetCrawlerMetricsInput { + s.CrawlerNameList = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetCrawlerMetricsInput) SetMaxResults(v int64) *GetCrawlerMetricsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetCrawlerMetricsInput) SetNextToken(v string) *GetCrawlerMetricsInput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetCrawlerMetricsResponse +type GetCrawlerMetricsOutput struct { + _ struct{} `type:"structure"` + + // A list of metrics for the specified crawler. + CrawlerMetricsList []*CrawlerMetrics `type:"list"` + + // A continuation token, if the returned list does not contain the last metric + // available. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s GetCrawlerMetricsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCrawlerMetricsOutput) GoString() string { + return s.String() +} + +// SetCrawlerMetricsList sets the CrawlerMetricsList field's value. +func (s *GetCrawlerMetricsOutput) SetCrawlerMetricsList(v []*CrawlerMetrics) *GetCrawlerMetricsOutput { + s.CrawlerMetricsList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetCrawlerMetricsOutput) SetNextToken(v string) *GetCrawlerMetricsOutput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetCrawlerResponse +type GetCrawlerOutput struct { + _ struct{} `type:"structure"` + + // The metadata for the specified Crawler. + Crawler *Crawler `type:"structure"` +} + +// String returns the string representation +func (s GetCrawlerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCrawlerOutput) GoString() string { + return s.String() +} + +// SetCrawler sets the Crawler field's value. +func (s *GetCrawlerOutput) SetCrawler(v *Crawler) *GetCrawlerOutput { + s.Crawler = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetCrawlersRequest +type GetCrawlersInput struct { + _ struct{} `type:"structure"` + + // The number of Crawlers to return on each call. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token, if this is a continuation request. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s GetCrawlersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCrawlersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCrawlersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCrawlersInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetCrawlersInput) SetMaxResults(v int64) *GetCrawlersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetCrawlersInput) SetNextToken(v string) *GetCrawlersInput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetCrawlersResponse +type GetCrawlersOutput struct { + _ struct{} `type:"structure"` + + // A list of Crawler metadata. + Crawlers []*Crawler `type:"list"` + + // A continuation token, if the returned list has not reached the end of those + // defined in this customer account. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s GetCrawlersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCrawlersOutput) GoString() string { + return s.String() +} + +// SetCrawlers sets the Crawlers field's value. +func (s *GetCrawlersOutput) SetCrawlers(v []*Crawler) *GetCrawlersOutput { + s.Crawlers = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetCrawlersOutput) SetNextToken(v string) *GetCrawlersOutput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetDatabaseRequest +type GetDatabaseInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog in which the database resides. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The name of the database to retrieve. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetDatabaseInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDatabaseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDatabaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDatabaseInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *GetDatabaseInput) SetCatalogId(v string) *GetDatabaseInput { + s.CatalogId = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetDatabaseInput) SetName(v string) *GetDatabaseInput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetDatabaseResponse +type GetDatabaseOutput struct { + _ struct{} `type:"structure"` + + // The definition of the specified database in the catalog. + Database *Database `type:"structure"` +} + +// String returns the string representation +func (s GetDatabaseOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDatabaseOutput) GoString() string { + return s.String() +} + +// SetDatabase sets the Database field's value. +func (s *GetDatabaseOutput) SetDatabase(v *Database) *GetDatabaseOutput { + s.Database = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetDatabasesRequest +type GetDatabasesInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog from which to retrieve Databases. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The maximum number of databases to return in one response. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token, if this is a continuation call. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s GetDatabasesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDatabasesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDatabasesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDatabasesInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *GetDatabasesInput) SetCatalogId(v string) *GetDatabasesInput { + s.CatalogId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetDatabasesInput) SetMaxResults(v int64) *GetDatabasesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetDatabasesInput) SetNextToken(v string) *GetDatabasesInput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetDatabasesResponse +type GetDatabasesOutput struct { + _ struct{} `type:"structure"` + + // A list of Database objects from the specified catalog. + // + // DatabaseList is a required field + DatabaseList []*Database `type:"list" required:"true"` + + // A continuation token for paginating the returned list of tokens, returned + // if the current segment of the list is not the last. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s GetDatabasesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDatabasesOutput) GoString() string { + return s.String() +} + +// SetDatabaseList sets the DatabaseList field's value. +func (s *GetDatabasesOutput) SetDatabaseList(v []*Database) *GetDatabasesOutput { + s.DatabaseList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetDatabasesOutput) SetNextToken(v string) *GetDatabasesOutput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetDataflowGraphRequest +type GetDataflowGraphInput struct { + _ struct{} `type:"structure"` + + // The Python script to transform. + PythonScript *string `type:"string"` +} + +// String returns the string representation +func (s GetDataflowGraphInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDataflowGraphInput) GoString() string { + return s.String() +} + +// SetPythonScript sets the PythonScript field's value. +func (s *GetDataflowGraphInput) SetPythonScript(v string) *GetDataflowGraphInput { + s.PythonScript = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetDataflowGraphResponse +type GetDataflowGraphOutput struct { + _ struct{} `type:"structure"` + + // A list of the edges in the resulting DAG. + DagEdges []*CodeGenEdge `type:"list"` + + // A list of the nodes in the resulting DAG. + DagNodes []*CodeGenNode `type:"list"` +} + +// String returns the string representation +func (s GetDataflowGraphOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDataflowGraphOutput) GoString() string { + return s.String() +} + +// SetDagEdges sets the DagEdges field's value. +func (s *GetDataflowGraphOutput) SetDagEdges(v []*CodeGenEdge) *GetDataflowGraphOutput { + s.DagEdges = v + return s +} + +// SetDagNodes sets the DagNodes field's value. +func (s *GetDataflowGraphOutput) SetDagNodes(v []*CodeGenNode) *GetDataflowGraphOutput { + s.DagNodes = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetDevEndpointRequest +type GetDevEndpointInput struct { + _ struct{} `type:"structure"` + + // Name of the DevEndpoint for which to retrieve information. + // + // EndpointName is a required field + EndpointName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s GetDevEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDevEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDevEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDevEndpointInput"} + if s.EndpointName == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpointName sets the EndpointName field's value. +func (s *GetDevEndpointInput) SetEndpointName(v string) *GetDevEndpointInput { + s.EndpointName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetDevEndpointResponse +type GetDevEndpointOutput struct { + _ struct{} `type:"structure"` + + // A DevEndpoint definition. + DevEndpoint *DevEndpoint `type:"structure"` +} + +// String returns the string representation +func (s GetDevEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDevEndpointOutput) GoString() string { + return s.String() +} + +// SetDevEndpoint sets the DevEndpoint field's value. +func (s *GetDevEndpointOutput) SetDevEndpoint(v *DevEndpoint) *GetDevEndpointOutput { + s.DevEndpoint = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetDevEndpointsRequest +type GetDevEndpointsInput struct { + _ struct{} `type:"structure"` + + // The maximum size of information to return. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token, if this is a continuation call. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s GetDevEndpointsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDevEndpointsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDevEndpointsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDevEndpointsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetDevEndpointsInput) SetMaxResults(v int64) *GetDevEndpointsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetDevEndpointsInput) SetNextToken(v string) *GetDevEndpointsInput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetDevEndpointsResponse +type GetDevEndpointsOutput struct { + _ struct{} `type:"structure"` + + // A list of DevEndpoint definitions. + DevEndpoints []*DevEndpoint `type:"list"` + + // A continuation token, if not all DevEndpoint definitions have yet been returned. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s GetDevEndpointsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDevEndpointsOutput) GoString() string { + return s.String() +} + +// SetDevEndpoints sets the DevEndpoints field's value. +func (s *GetDevEndpointsOutput) SetDevEndpoints(v []*DevEndpoint) *GetDevEndpointsOutput { + s.DevEndpoints = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetDevEndpointsOutput) SetNextToken(v string) *GetDevEndpointsOutput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetJobRequest +type GetJobInput struct { + _ struct{} `type:"structure"` + + // The name of the job to retrieve. + // + // JobName is a required field + JobName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetJobInput"} + if s.JobName == nil { + invalidParams.Add(request.NewErrParamRequired("JobName")) + } + if s.JobName != nil && len(*s.JobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJobName sets the JobName field's value. +func (s *GetJobInput) SetJobName(v string) *GetJobInput { + s.JobName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetJobResponse +type GetJobOutput struct { + _ struct{} `type:"structure"` + + // The requested job definition. + Job *Job `type:"structure"` +} + +// String returns the string representation +func (s GetJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetJobOutput) GoString() string { + return s.String() +} + +// SetJob sets the Job field's value. +func (s *GetJobOutput) SetJob(v *Job) *GetJobOutput { + s.Job = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetJobRunRequest +type GetJobRunInput struct { + _ struct{} `type:"structure"` + + // Name of the job being run. + // + // JobName is a required field + JobName *string `min:"1" type:"string" required:"true"` + + // A list of the predecessor runs to return as well. + PredecessorsIncluded *bool `type:"boolean"` + + // The ID of the job run. + // + // RunId is a required field + RunId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetJobRunInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetJobRunInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetJobRunInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetJobRunInput"} + if s.JobName == nil { + invalidParams.Add(request.NewErrParamRequired("JobName")) + } + if s.JobName != nil && len(*s.JobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) + } + if s.RunId == nil { + invalidParams.Add(request.NewErrParamRequired("RunId")) + } + if s.RunId != nil && len(*s.RunId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RunId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJobName sets the JobName field's value. +func (s *GetJobRunInput) SetJobName(v string) *GetJobRunInput { + s.JobName = &v + return s +} + +// SetPredecessorsIncluded sets the PredecessorsIncluded field's value. +func (s *GetJobRunInput) SetPredecessorsIncluded(v bool) *GetJobRunInput { + s.PredecessorsIncluded = &v + return s +} + +// SetRunId sets the RunId field's value. +func (s *GetJobRunInput) SetRunId(v string) *GetJobRunInput { + s.RunId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetJobRunResponse +type GetJobRunOutput struct { + _ struct{} `type:"structure"` + + // The requested job-run metadata. + JobRun *JobRun `type:"structure"` +} + +// String returns the string representation +func (s GetJobRunOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetJobRunOutput) GoString() string { + return s.String() +} + +// SetJobRun sets the JobRun field's value. +func (s *GetJobRunOutput) SetJobRun(v *JobRun) *GetJobRunOutput { + s.JobRun = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetJobRunsRequest +type GetJobRunsInput struct { + _ struct{} `type:"structure"` + + // The name of the job for which to retrieve all job runs. + // + // JobName is a required field + JobName *string `min:"1" type:"string" required:"true"` + + // The maximum size of the response. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token, if this is a continuation call. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s GetJobRunsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetJobRunsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetJobRunsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetJobRunsInput"} + if s.JobName == nil { + invalidParams.Add(request.NewErrParamRequired("JobName")) + } + if s.JobName != nil && len(*s.JobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJobName sets the JobName field's value. +func (s *GetJobRunsInput) SetJobName(v string) *GetJobRunsInput { + s.JobName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetJobRunsInput) SetMaxResults(v int64) *GetJobRunsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetJobRunsInput) SetNextToken(v string) *GetJobRunsInput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetJobRunsResponse +type GetJobRunsOutput struct { + _ struct{} `type:"structure"` + + // A list of job-run metatdata objects. + JobRuns []*JobRun `type:"list"` + + // A continuation token, if not all reequested job runs have been returned. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s GetJobRunsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetJobRunsOutput) GoString() string { + return s.String() +} + +// SetJobRuns sets the JobRuns field's value. +func (s *GetJobRunsOutput) SetJobRuns(v []*JobRun) *GetJobRunsOutput { + s.JobRuns = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetJobRunsOutput) SetNextToken(v string) *GetJobRunsOutput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetJobsRequest +type GetJobsInput struct { + _ struct{} `type:"structure"` + + // The maximum size of the response. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token, if this is a continuation call. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s GetJobsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetJobsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetJobsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetJobsInput) SetMaxResults(v int64) *GetJobsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetJobsInput) SetNextToken(v string) *GetJobsInput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetJobsResponse +type GetJobsOutput struct { + _ struct{} `type:"structure"` + + // A list of jobs. + Jobs []*Job `type:"list"` + + // A continuation token, if not all jobs have yet been returned. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s GetJobsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetJobsOutput) GoString() string { + return s.String() +} + +// SetJobs sets the Jobs field's value. +func (s *GetJobsOutput) SetJobs(v []*Job) *GetJobsOutput { + s.Jobs = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetJobsOutput) SetNextToken(v string) *GetJobsOutput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetMappingRequest +type GetMappingInput struct { + _ struct{} `type:"structure"` + + // Parameters for the mapping. + Location *Location `type:"structure"` + + // A list of target tables. + Sinks []*CatalogEntry `type:"list"` + + // Specifies the source table. + // + // Source is a required field + Source *CatalogEntry `type:"structure" required:"true"` +} + +// String returns the string representation +func (s GetMappingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetMappingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetMappingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetMappingInput"} + if s.Source == nil { + invalidParams.Add(request.NewErrParamRequired("Source")) + } + if s.Location != nil { + if err := s.Location.Validate(); err != nil { + invalidParams.AddNested("Location", err.(request.ErrInvalidParams)) + } + } + if s.Sinks != nil { + for i, v := range s.Sinks { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sinks", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Source != nil { + if err := s.Source.Validate(); err != nil { + invalidParams.AddNested("Source", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLocation sets the Location field's value. +func (s *GetMappingInput) SetLocation(v *Location) *GetMappingInput { + s.Location = v + return s +} + +// SetSinks sets the Sinks field's value. +func (s *GetMappingInput) SetSinks(v []*CatalogEntry) *GetMappingInput { + s.Sinks = v + return s +} + +// SetSource sets the Source field's value. +func (s *GetMappingInput) SetSource(v *CatalogEntry) *GetMappingInput { + s.Source = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetMappingResponse +type GetMappingOutput struct { + _ struct{} `type:"structure"` + + // A list of mappings to the specified targets. + // + // Mapping is a required field + Mapping []*MappingEntry `type:"list" required:"true"` +} + +// String returns the string representation +func (s GetMappingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetMappingOutput) GoString() string { + return s.String() +} + +// SetMapping sets the Mapping field's value. +func (s *GetMappingOutput) SetMapping(v []*MappingEntry) *GetMappingOutput { + s.Mapping = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetPartitionRequest +type GetPartitionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the partition in question resides. If none + // is supplied, the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The name of the catalog database where the partition resides. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The values that define the partition. + // + // PartitionValues is a required field + PartitionValues []*string `type:"list" required:"true"` + + // The name of the partition's table. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetPartitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPartitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPartitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPartitionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.PartitionValues == nil { + invalidParams.Add(request.NewErrParamRequired("PartitionValues")) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *GetPartitionInput) SetCatalogId(v string) *GetPartitionInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *GetPartitionInput) SetDatabaseName(v string) *GetPartitionInput { + s.DatabaseName = &v + return s +} + +// SetPartitionValues sets the PartitionValues field's value. +func (s *GetPartitionInput) SetPartitionValues(v []*string) *GetPartitionInput { + s.PartitionValues = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *GetPartitionInput) SetTableName(v string) *GetPartitionInput { + s.TableName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetPartitionResponse +type GetPartitionOutput struct { + _ struct{} `type:"structure"` + + // The requested information, in the form of a Partition object. + Partition *Partition `type:"structure"` +} + +// String returns the string representation +func (s GetPartitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPartitionOutput) GoString() string { + return s.String() +} + +// SetPartition sets the Partition field's value. +func (s *GetPartitionOutput) SetPartition(v *Partition) *GetPartitionOutput { + s.Partition = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetPartitionsRequest +type GetPartitionsInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the partitions in question reside. If none + // is supplied, the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The name of the catalog database where the partitions reside. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // An expression filtering the partitions to be returned. + Expression *string `type:"string"` + + // The maximum number of partitions to return in a single response. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token, if this is not the first call to retrieve these partitions. + NextToken *string `type:"string"` + + // The segment of the table's partitions to scan in this request. + Segment *Segment `type:"structure"` + + // The name of the partitions' table. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetPartitionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPartitionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPartitionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPartitionsInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + if s.Segment != nil { + if err := s.Segment.Validate(); err != nil { + invalidParams.AddNested("Segment", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *GetPartitionsInput) SetCatalogId(v string) *GetPartitionsInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *GetPartitionsInput) SetDatabaseName(v string) *GetPartitionsInput { + s.DatabaseName = &v + return s +} + +// SetExpression sets the Expression field's value. +func (s *GetPartitionsInput) SetExpression(v string) *GetPartitionsInput { + s.Expression = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetPartitionsInput) SetMaxResults(v int64) *GetPartitionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetPartitionsInput) SetNextToken(v string) *GetPartitionsInput { + s.NextToken = &v + return s +} + +// SetSegment sets the Segment field's value. +func (s *GetPartitionsInput) SetSegment(v *Segment) *GetPartitionsInput { + s.Segment = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *GetPartitionsInput) SetTableName(v string) *GetPartitionsInput { + s.TableName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetPartitionsResponse +type GetPartitionsOutput struct { + _ struct{} `type:"structure"` + + // A continuation token, if the returned list of partitions does not does not + // include the last one. + NextToken *string `type:"string"` + + // A list of requested partitions. + Partitions []*Partition `type:"list"` +} + +// String returns the string representation +func (s GetPartitionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPartitionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetPartitionsOutput) SetNextToken(v string) *GetPartitionsOutput { + s.NextToken = &v + return s +} + +// SetPartitions sets the Partitions field's value. +func (s *GetPartitionsOutput) SetPartitions(v []*Partition) *GetPartitionsOutput { + s.Partitions = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetPlanRequest +type GetPlanInput struct { + _ struct{} `type:"structure"` + + // Parameters for the mapping. + Location *Location `type:"structure"` + + // The list of mappings from a source table to target tables. + // + // Mapping is a required field + Mapping []*MappingEntry `type:"list" required:"true"` + + // The target tables. + Sinks []*CatalogEntry `type:"list"` + + // The source table. + // + // Source is a required field + Source *CatalogEntry `type:"structure" required:"true"` +} + +// String returns the string representation +func (s GetPlanInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPlanInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPlanInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPlanInput"} + if s.Mapping == nil { + invalidParams.Add(request.NewErrParamRequired("Mapping")) + } + if s.Source == nil { + invalidParams.Add(request.NewErrParamRequired("Source")) + } + if s.Location != nil { + if err := s.Location.Validate(); err != nil { + invalidParams.AddNested("Location", err.(request.ErrInvalidParams)) + } + } + if s.Sinks != nil { + for i, v := range s.Sinks { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sinks", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Source != nil { + if err := s.Source.Validate(); err != nil { + invalidParams.AddNested("Source", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLocation sets the Location field's value. +func (s *GetPlanInput) SetLocation(v *Location) *GetPlanInput { + s.Location = v + return s +} + +// SetMapping sets the Mapping field's value. +func (s *GetPlanInput) SetMapping(v []*MappingEntry) *GetPlanInput { + s.Mapping = v + return s +} + +// SetSinks sets the Sinks field's value. +func (s *GetPlanInput) SetSinks(v []*CatalogEntry) *GetPlanInput { + s.Sinks = v + return s +} + +// SetSource sets the Source field's value. +func (s *GetPlanInput) SetSource(v *CatalogEntry) *GetPlanInput { + s.Source = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetPlanResponse +type GetPlanOutput struct { + _ struct{} `type:"structure"` + + // A python script to perform the mapping. + PythonScript *string `type:"string"` +} + +// String returns the string representation +func (s GetPlanOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPlanOutput) GoString() string { + return s.String() +} + +// SetPythonScript sets the PythonScript field's value. +func (s *GetPlanOutput) SetPythonScript(v string) *GetPlanOutput { + s.PythonScript = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTableRequest +type GetTableInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the table resides. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The name of the database in the catalog in which the table resides. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The name of the table for which to retrieve the definition. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetTableInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTableInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTableInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *GetTableInput) SetCatalogId(v string) *GetTableInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *GetTableInput) SetDatabaseName(v string) *GetTableInput { + s.DatabaseName = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetTableInput) SetName(v string) *GetTableInput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTableResponse +type GetTableOutput struct { + _ struct{} `type:"structure"` + + // The Table object that defines the specified table. + Table *Table `type:"structure"` +} + +// String returns the string representation +func (s GetTableOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTableOutput) GoString() string { + return s.String() +} + +// SetTable sets the Table field's value. +func (s *GetTableOutput) SetTable(v *Table) *GetTableOutput { + s.Table = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTableVersionsRequest +type GetTableVersionsInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the tables reside. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The database in the catalog in which the table resides. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The maximum number of table versions to return in one response. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token, if this is not the first call. + NextToken *string `type:"string"` + + // The name of the table. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetTableVersionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTableVersionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetTableVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTableVersionsInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *GetTableVersionsInput) SetCatalogId(v string) *GetTableVersionsInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *GetTableVersionsInput) SetDatabaseName(v string) *GetTableVersionsInput { + s.DatabaseName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetTableVersionsInput) SetMaxResults(v int64) *GetTableVersionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetTableVersionsInput) SetNextToken(v string) *GetTableVersionsInput { + s.NextToken = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *GetTableVersionsInput) SetTableName(v string) *GetTableVersionsInput { + s.TableName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTableVersionsResponse +type GetTableVersionsOutput struct { + _ struct{} `type:"structure"` + + // A continuation token, if the list of available versions does not include + // the last one. + NextToken *string `type:"string"` + + // A list of strings identifying available versions of the specified table. + TableVersions []*TableVersion `type:"list"` +} + +// String returns the string representation +func (s GetTableVersionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTableVersionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetTableVersionsOutput) SetNextToken(v string) *GetTableVersionsOutput { + s.NextToken = &v + return s +} + +// SetTableVersions sets the TableVersions field's value. +func (s *GetTableVersionsOutput) SetTableVersions(v []*TableVersion) *GetTableVersionsOutput { + s.TableVersions = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTablesRequest +type GetTablesInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the tables reside. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The database in the catalog whose tables to list. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // A regular expression pattern. If present, only those tables whose names match + // the pattern are returned. + Expression *string `type:"string"` + + // The maximum number of tables to return in a single response. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token, included if this is a continuation call. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s GetTablesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTablesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetTablesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTablesInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *GetTablesInput) SetCatalogId(v string) *GetTablesInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *GetTablesInput) SetDatabaseName(v string) *GetTablesInput { + s.DatabaseName = &v + return s +} + +// SetExpression sets the Expression field's value. +func (s *GetTablesInput) SetExpression(v string) *GetTablesInput { + s.Expression = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetTablesInput) SetMaxResults(v int64) *GetTablesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetTablesInput) SetNextToken(v string) *GetTablesInput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTablesResponse +type GetTablesOutput struct { + _ struct{} `type:"structure"` + + // A continuation token, present if the current list segment is not the last. + NextToken *string `type:"string"` + + // A list of the requested Table objects. + TableList []*Table `type:"list"` +} + +// String returns the string representation +func (s GetTablesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTablesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetTablesOutput) SetNextToken(v string) *GetTablesOutput { + s.NextToken = &v + return s +} + +// SetTableList sets the TableList field's value. +func (s *GetTablesOutput) SetTableList(v []*Table) *GetTablesOutput { + s.TableList = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTriggerRequest +type GetTriggerInput struct { + _ struct{} `type:"structure"` + + // The name of the trigger to retrieve. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetTriggerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTriggerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetTriggerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTriggerInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *GetTriggerInput) SetName(v string) *GetTriggerInput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTriggerResponse +type GetTriggerOutput struct { + _ struct{} `type:"structure"` + + // The requested trigger definition. + Trigger *Trigger `type:"structure"` +} + +// String returns the string representation +func (s GetTriggerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTriggerOutput) GoString() string { + return s.String() +} + +// SetTrigger sets the Trigger field's value. +func (s *GetTriggerOutput) SetTrigger(v *Trigger) *GetTriggerOutput { + s.Trigger = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTriggersRequest +type GetTriggersInput struct { + _ struct{} `type:"structure"` + + // The name of the job for which to retrieve triggers. + DependentJobName *string `min:"1" type:"string"` + + // The maximum size of the response. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token, if this is a continuation call. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s GetTriggersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTriggersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetTriggersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTriggersInput"} + if s.DependentJobName != nil && len(*s.DependentJobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DependentJobName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDependentJobName sets the DependentJobName field's value. +func (s *GetTriggersInput) SetDependentJobName(v string) *GetTriggersInput { + s.DependentJobName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetTriggersInput) SetMaxResults(v int64) *GetTriggersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetTriggersInput) SetNextToken(v string) *GetTriggersInput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTriggersResponse +type GetTriggersOutput struct { + _ struct{} `type:"structure"` + + // A continuation token, if not all the requested triggers have yet been returned. + NextToken *string `type:"string"` + + // A list of triggers for the specified job. + Triggers []*Trigger `type:"list"` +} + +// String returns the string representation +func (s GetTriggersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTriggersOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetTriggersOutput) SetNextToken(v string) *GetTriggersOutput { + s.NextToken = &v + return s +} + +// SetTriggers sets the Triggers field's value. +func (s *GetTriggersOutput) SetTriggers(v []*Trigger) *GetTriggersOutput { + s.Triggers = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetUserDefinedFunctionRequest +type GetUserDefinedFunctionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the function to be retrieved is located. + // If none is supplied, the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The name of the catalog database where the function is located. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The name of the function. + // + // FunctionName is a required field + FunctionName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetUserDefinedFunctionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetUserDefinedFunctionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetUserDefinedFunctionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetUserDefinedFunctionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.FunctionName == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionName")) + } + if s.FunctionName != nil && len(*s.FunctionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *GetUserDefinedFunctionInput) SetCatalogId(v string) *GetUserDefinedFunctionInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *GetUserDefinedFunctionInput) SetDatabaseName(v string) *GetUserDefinedFunctionInput { + s.DatabaseName = &v + return s +} + +// SetFunctionName sets the FunctionName field's value. +func (s *GetUserDefinedFunctionInput) SetFunctionName(v string) *GetUserDefinedFunctionInput { + s.FunctionName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetUserDefinedFunctionResponse +type GetUserDefinedFunctionOutput struct { + _ struct{} `type:"structure"` + + // The requested function definition. + UserDefinedFunction *UserDefinedFunction `type:"structure"` +} + +// String returns the string representation +func (s GetUserDefinedFunctionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetUserDefinedFunctionOutput) GoString() string { + return s.String() +} + +// SetUserDefinedFunction sets the UserDefinedFunction field's value. +func (s *GetUserDefinedFunctionOutput) SetUserDefinedFunction(v *UserDefinedFunction) *GetUserDefinedFunctionOutput { + s.UserDefinedFunction = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetUserDefinedFunctionsRequest +type GetUserDefinedFunctionsInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the functions to be retrieved are located. + // If none is supplied, the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The name of the catalog database where the functions are located. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The maximum number of functions to return in one response. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token, if this is a continuation call. + NextToken *string `type:"string"` + + // An optional function-name pattern string that filters the function definitions + // returned. + // + // Pattern is a required field + Pattern *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetUserDefinedFunctionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetUserDefinedFunctionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetUserDefinedFunctionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetUserDefinedFunctionsInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Pattern == nil { + invalidParams.Add(request.NewErrParamRequired("Pattern")) + } + if s.Pattern != nil && len(*s.Pattern) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Pattern", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *GetUserDefinedFunctionsInput) SetCatalogId(v string) *GetUserDefinedFunctionsInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *GetUserDefinedFunctionsInput) SetDatabaseName(v string) *GetUserDefinedFunctionsInput { + s.DatabaseName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetUserDefinedFunctionsInput) SetMaxResults(v int64) *GetUserDefinedFunctionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetUserDefinedFunctionsInput) SetNextToken(v string) *GetUserDefinedFunctionsInput { + s.NextToken = &v + return s +} + +// SetPattern sets the Pattern field's value. +func (s *GetUserDefinedFunctionsInput) SetPattern(v string) *GetUserDefinedFunctionsInput { + s.Pattern = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetUserDefinedFunctionsResponse +type GetUserDefinedFunctionsOutput struct { + _ struct{} `type:"structure"` + + // A continuation token, if the list of functions returned does not include + // the last requested function. + NextToken *string `type:"string"` + + // A list of requested function definitions. + UserDefinedFunctions []*UserDefinedFunction `type:"list"` +} + +// String returns the string representation +func (s GetUserDefinedFunctionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetUserDefinedFunctionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetUserDefinedFunctionsOutput) SetNextToken(v string) *GetUserDefinedFunctionsOutput { + s.NextToken = &v + return s +} + +// SetUserDefinedFunctions sets the UserDefinedFunctions field's value. +func (s *GetUserDefinedFunctionsOutput) SetUserDefinedFunctions(v []*UserDefinedFunction) *GetUserDefinedFunctionsOutput { + s.UserDefinedFunctions = v + return s +} + +// A classifier that uses grok. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GrokClassifier +type GrokClassifier struct { + _ struct{} `type:"structure"` + + // The data form that the classifier matches, such as Twitter, JSON, Omniture + // Logs, and so forth. + // + // Classification is a required field + Classification *string `type:"string" required:"true"` + + // The time this classifier was registered. + CreationTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Custom grok patterns used by this classifier. + CustomPatterns *string `type:"string"` + + // The grok pattern used by this classifier. + // + // GrokPattern is a required field + GrokPattern *string `min:"1" type:"string" required:"true"` + + // The time this classifier was last updated. + LastUpdated *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The name of the classifier. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The version of this classifier. + Version *int64 `type:"long"` +} + +// String returns the string representation +func (s GrokClassifier) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GrokClassifier) GoString() string { + return s.String() +} + +// SetClassification sets the Classification field's value. +func (s *GrokClassifier) SetClassification(v string) *GrokClassifier { + s.Classification = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *GrokClassifier) SetCreationTime(v time.Time) *GrokClassifier { + s.CreationTime = &v + return s +} + +// SetCustomPatterns sets the CustomPatterns field's value. +func (s *GrokClassifier) SetCustomPatterns(v string) *GrokClassifier { + s.CustomPatterns = &v + return s +} + +// SetGrokPattern sets the GrokPattern field's value. +func (s *GrokClassifier) SetGrokPattern(v string) *GrokClassifier { + s.GrokPattern = &v + return s +} + +// SetLastUpdated sets the LastUpdated field's value. +func (s *GrokClassifier) SetLastUpdated(v time.Time) *GrokClassifier { + s.LastUpdated = &v + return s +} + +// SetName sets the Name field's value. +func (s *GrokClassifier) SetName(v string) *GrokClassifier { + s.Name = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *GrokClassifier) SetVersion(v int64) *GrokClassifier { + s.Version = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ImportCatalogToGlueRequest +type ImportCatalogToGlueInput struct { + _ struct{} `type:"structure"` + + // The ID of the catalog to import. Currently, this should be the AWS account + // ID. + CatalogId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ImportCatalogToGlueInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImportCatalogToGlueInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ImportCatalogToGlueInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportCatalogToGlueInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *ImportCatalogToGlueInput) SetCatalogId(v string) *ImportCatalogToGlueInput { + s.CatalogId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ImportCatalogToGlueResponse +type ImportCatalogToGlueOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s ImportCatalogToGlueOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImportCatalogToGlueOutput) GoString() string { + return s.String() +} + +// Specifies a JDBC target for a crawl. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/JdbcTarget +type JdbcTarget struct { + _ struct{} `type:"structure"` + + // The name of the connection to use for the JDBC target. + ConnectionName *string `type:"string"` + + // A list of items to exclude from the crawl. + Exclusions []*string `type:"list"` + + // The path of the JDBC target. + Path *string `type:"string"` +} + +// String returns the string representation +func (s JdbcTarget) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JdbcTarget) GoString() string { + return s.String() +} + +// SetConnectionName sets the ConnectionName field's value. +func (s *JdbcTarget) SetConnectionName(v string) *JdbcTarget { + s.ConnectionName = &v + return s +} + +// SetExclusions sets the Exclusions field's value. +func (s *JdbcTarget) SetExclusions(v []*string) *JdbcTarget { + s.Exclusions = v + return s +} + +// SetPath sets the Path field's value. +func (s *JdbcTarget) SetPath(v string) *JdbcTarget { + s.Path = &v + return s +} + +// Specifies a job in the Data Catalog. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/Job +type Job struct { + _ struct{} `type:"structure"` + + // The number of capacity units allocated to this job. + AllocatedCapacity *int64 `type:"integer"` + + // The JobCommand that executes this job. + Command *JobCommand `type:"structure"` + + // The connections used for this job. + Connections *ConnectionsList `type:"structure"` + + // The time and date that this job specification was created. + CreatedOn *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The default parameters for this job. + DefaultArguments map[string]*string `type:"map"` + + // Description of this job. + Description *string `type:"string"` + + // An ExecutionProperty specifying the maximum number of concurrent runs allowed + // for this job. + ExecutionProperty *ExecutionProperty `type:"structure"` + + // The last point in time when this job specification was modified. + LastModifiedOn *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Location of the logs for this job. + LogUri *string `type:"string"` + + // The maximum number of times to retry this job if it fails. + MaxRetries *int64 `type:"integer"` + + // The name you assign to this job. + Name *string `min:"1" type:"string"` + + // The role associated with this job. + Role *string `type:"string"` +} + +// String returns the string representation +func (s Job) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Job) GoString() string { + return s.String() +} + +// SetAllocatedCapacity sets the AllocatedCapacity field's value. +func (s *Job) SetAllocatedCapacity(v int64) *Job { + s.AllocatedCapacity = &v + return s +} + +// SetCommand sets the Command field's value. +func (s *Job) SetCommand(v *JobCommand) *Job { + s.Command = v + return s +} + +// SetConnections sets the Connections field's value. +func (s *Job) SetConnections(v *ConnectionsList) *Job { + s.Connections = v + return s +} + +// SetCreatedOn sets the CreatedOn field's value. +func (s *Job) SetCreatedOn(v time.Time) *Job { + s.CreatedOn = &v + return s +} + +// SetDefaultArguments sets the DefaultArguments field's value. +func (s *Job) SetDefaultArguments(v map[string]*string) *Job { + s.DefaultArguments = v + return s +} + +// SetDescription sets the Description field's value. +func (s *Job) SetDescription(v string) *Job { + s.Description = &v + return s +} + +// SetExecutionProperty sets the ExecutionProperty field's value. +func (s *Job) SetExecutionProperty(v *ExecutionProperty) *Job { + s.ExecutionProperty = v + return s +} + +// SetLastModifiedOn sets the LastModifiedOn field's value. +func (s *Job) SetLastModifiedOn(v time.Time) *Job { + s.LastModifiedOn = &v + return s +} + +// SetLogUri sets the LogUri field's value. +func (s *Job) SetLogUri(v string) *Job { + s.LogUri = &v + return s +} + +// SetMaxRetries sets the MaxRetries field's value. +func (s *Job) SetMaxRetries(v int64) *Job { + s.MaxRetries = &v + return s +} + +// SetName sets the Name field's value. +func (s *Job) SetName(v string) *Job { + s.Name = &v + return s +} + +// SetRole sets the Role field's value. +func (s *Job) SetRole(v string) *Job { + s.Role = &v + return s +} + +// Defines a point which a job can resume processing. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/JobBookmarkEntry +type JobBookmarkEntry struct { + _ struct{} `type:"structure"` + + // The attempt ID number. + Attempt *int64 `type:"integer"` + + // The bookmark itself. + JobBookmark *string `type:"string"` + + // Name of the job in question. + JobName *string `type:"string"` + + // The run ID number. + Run *int64 `type:"integer"` + + // Version of the job. + Version *int64 `type:"integer"` +} + +// String returns the string representation +func (s JobBookmarkEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JobBookmarkEntry) GoString() string { + return s.String() +} + +// SetAttempt sets the Attempt field's value. +func (s *JobBookmarkEntry) SetAttempt(v int64) *JobBookmarkEntry { + s.Attempt = &v + return s +} + +// SetJobBookmark sets the JobBookmark field's value. +func (s *JobBookmarkEntry) SetJobBookmark(v string) *JobBookmarkEntry { + s.JobBookmark = &v + return s +} + +// SetJobName sets the JobName field's value. +func (s *JobBookmarkEntry) SetJobName(v string) *JobBookmarkEntry { + s.JobName = &v + return s +} + +// SetRun sets the Run field's value. +func (s *JobBookmarkEntry) SetRun(v int64) *JobBookmarkEntry { + s.Run = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *JobBookmarkEntry) SetVersion(v int64) *JobBookmarkEntry { + s.Version = &v + return s +} + +// Specifies code that executes a job. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/JobCommand +type JobCommand struct { + _ struct{} `type:"structure"` + + // The name of this job command. + Name *string `type:"string"` + + // Specifies the location of a script that executes a job. + ScriptLocation *string `type:"string"` +} + +// String returns the string representation +func (s JobCommand) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JobCommand) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *JobCommand) SetName(v string) *JobCommand { + s.Name = &v + return s +} + +// SetScriptLocation sets the ScriptLocation field's value. +func (s *JobCommand) SetScriptLocation(v string) *JobCommand { + s.ScriptLocation = &v + return s +} + +// Contains information about a job run. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/JobRun +type JobRun struct { + _ struct{} `type:"structure"` + + // The amount of infrastructure capacity allocated to this job run. + AllocatedCapacity *int64 `type:"integer"` + + // The job arguments associated with this run. + Arguments map[string]*string `type:"map"` + + // The number or the attempt to run this job. + Attempt *int64 `type:"integer"` + + // The date and time this job run completed. + CompletedOn *time.Time `type:"timestamp" timestampFormat:"unix"` + + // An error message associated with this job run. + ErrorMessage *string `type:"string"` + + // The ID of this job run. + Id *string `min:"1" type:"string"` + + // The name of the job being run. + JobName *string `min:"1" type:"string"` + + // The current state of the job run. + JobRunState *string `type:"string" enum:"JobRunState"` + + // The last time this job run was modified. + LastModifiedOn *time.Time `type:"timestamp" timestampFormat:"unix"` + + // A list of predecessors to this job run. + PredecessorRuns []*Predecessor `type:"list"` + + // The ID of the previous run of this job. + PreviousRunId *string `min:"1" type:"string"` + + // The date and time at which this job run was started. + StartedOn *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The name of the trigger for this job run. + TriggerName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s JobRun) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JobRun) GoString() string { + return s.String() +} + +// SetAllocatedCapacity sets the AllocatedCapacity field's value. +func (s *JobRun) SetAllocatedCapacity(v int64) *JobRun { + s.AllocatedCapacity = &v + return s +} + +// SetArguments sets the Arguments field's value. +func (s *JobRun) SetArguments(v map[string]*string) *JobRun { + s.Arguments = v + return s +} + +// SetAttempt sets the Attempt field's value. +func (s *JobRun) SetAttempt(v int64) *JobRun { + s.Attempt = &v + return s +} + +// SetCompletedOn sets the CompletedOn field's value. +func (s *JobRun) SetCompletedOn(v time.Time) *JobRun { + s.CompletedOn = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *JobRun) SetErrorMessage(v string) *JobRun { + s.ErrorMessage = &v + return s +} + +// SetId sets the Id field's value. +func (s *JobRun) SetId(v string) *JobRun { + s.Id = &v + return s +} + +// SetJobName sets the JobName field's value. +func (s *JobRun) SetJobName(v string) *JobRun { + s.JobName = &v + return s +} + +// SetJobRunState sets the JobRunState field's value. +func (s *JobRun) SetJobRunState(v string) *JobRun { + s.JobRunState = &v + return s +} + +// SetLastModifiedOn sets the LastModifiedOn field's value. +func (s *JobRun) SetLastModifiedOn(v time.Time) *JobRun { + s.LastModifiedOn = &v + return s +} + +// SetPredecessorRuns sets the PredecessorRuns field's value. +func (s *JobRun) SetPredecessorRuns(v []*Predecessor) *JobRun { + s.PredecessorRuns = v + return s +} + +// SetPreviousRunId sets the PreviousRunId field's value. +func (s *JobRun) SetPreviousRunId(v string) *JobRun { + s.PreviousRunId = &v + return s +} + +// SetStartedOn sets the StartedOn field's value. +func (s *JobRun) SetStartedOn(v time.Time) *JobRun { + s.StartedOn = &v + return s +} + +// SetTriggerName sets the TriggerName field's value. +func (s *JobRun) SetTriggerName(v string) *JobRun { + s.TriggerName = &v + return s +} + +// Specifies information used to update an existing job. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/JobUpdate +type JobUpdate struct { + _ struct{} `type:"structure"` + + // The number of capacity units allocated to this job. + AllocatedCapacity *int64 `type:"integer"` + + // The JobCommand that executes this job. + Command *JobCommand `type:"structure"` + + // The connections used for this job. + Connections *ConnectionsList `type:"structure"` + + // The default parameters for this job. + DefaultArguments map[string]*string `type:"map"` + + // Description of the job. + Description *string `type:"string"` + + // An ExecutionProperty specifying the maximum number of concurrent runs allowed + // for this job. + ExecutionProperty *ExecutionProperty `type:"structure"` + + // Location of the logs for this job. + LogUri *string `type:"string"` + + // The maximum number of times to retry this job if it fails. + MaxRetries *int64 `type:"integer"` + + // The role associated with this job. + Role *string `type:"string"` +} + +// String returns the string representation +func (s JobUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JobUpdate) GoString() string { + return s.String() +} + +// SetAllocatedCapacity sets the AllocatedCapacity field's value. +func (s *JobUpdate) SetAllocatedCapacity(v int64) *JobUpdate { + s.AllocatedCapacity = &v + return s +} + +// SetCommand sets the Command field's value. +func (s *JobUpdate) SetCommand(v *JobCommand) *JobUpdate { + s.Command = v + return s +} + +// SetConnections sets the Connections field's value. +func (s *JobUpdate) SetConnections(v *ConnectionsList) *JobUpdate { + s.Connections = v + return s +} + +// SetDefaultArguments sets the DefaultArguments field's value. +func (s *JobUpdate) SetDefaultArguments(v map[string]*string) *JobUpdate { + s.DefaultArguments = v + return s +} + +// SetDescription sets the Description field's value. +func (s *JobUpdate) SetDescription(v string) *JobUpdate { + s.Description = &v + return s +} + +// SetExecutionProperty sets the ExecutionProperty field's value. +func (s *JobUpdate) SetExecutionProperty(v *ExecutionProperty) *JobUpdate { + s.ExecutionProperty = v + return s +} + +// SetLogUri sets the LogUri field's value. +func (s *JobUpdate) SetLogUri(v string) *JobUpdate { + s.LogUri = &v + return s +} + +// SetMaxRetries sets the MaxRetries field's value. +func (s *JobUpdate) SetMaxRetries(v int64) *JobUpdate { + s.MaxRetries = &v + return s +} + +// SetRole sets the Role field's value. +func (s *JobUpdate) SetRole(v string) *JobUpdate { + s.Role = &v + return s +} + +// Status and error information about the most recent crawl. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/LastCrawlInfo +type LastCrawlInfo struct { + _ struct{} `type:"structure"` + + // Error information about the last crawl, if an error occurred. + ErrorMessage *string `type:"string"` + + // The log group for the last crawl. + LogGroup *string `min:"1" type:"string"` + + // The log stream for the last crawl. + LogStream *string `min:"1" type:"string"` + + // The prefix for a message about this crawl. + MessagePrefix *string `min:"1" type:"string"` + + // The time at which the crawl started. + StartTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Status of the last crawl. + Status *string `type:"string" enum:"LastCrawlStatus"` +} + +// String returns the string representation +func (s LastCrawlInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LastCrawlInfo) GoString() string { + return s.String() +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *LastCrawlInfo) SetErrorMessage(v string) *LastCrawlInfo { + s.ErrorMessage = &v + return s +} + +// SetLogGroup sets the LogGroup field's value. +func (s *LastCrawlInfo) SetLogGroup(v string) *LastCrawlInfo { + s.LogGroup = &v + return s +} + +// SetLogStream sets the LogStream field's value. +func (s *LastCrawlInfo) SetLogStream(v string) *LastCrawlInfo { + s.LogStream = &v + return s +} + +// SetMessagePrefix sets the MessagePrefix field's value. +func (s *LastCrawlInfo) SetMessagePrefix(v string) *LastCrawlInfo { + s.MessagePrefix = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *LastCrawlInfo) SetStartTime(v time.Time) *LastCrawlInfo { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *LastCrawlInfo) SetStatus(v string) *LastCrawlInfo { + s.Status = &v + return s +} + +// The location of resources. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/Location +type Location struct { + _ struct{} `type:"structure"` + + // A JDBC location. + Jdbc []*CodeGenNodeArg `type:"list"` + + // An AWS S3 location. + S3 []*CodeGenNodeArg `type:"list"` +} + +// String returns the string representation +func (s Location) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Location) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Location) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Location"} + if s.Jdbc != nil { + for i, v := range s.Jdbc { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Jdbc", i), err.(request.ErrInvalidParams)) + } + } + } + if s.S3 != nil { + for i, v := range s.S3 { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "S3", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJdbc sets the Jdbc field's value. +func (s *Location) SetJdbc(v []*CodeGenNodeArg) *Location { + s.Jdbc = v + return s +} + +// SetS3 sets the S3 field's value. +func (s *Location) SetS3(v []*CodeGenNodeArg) *Location { + s.S3 = v + return s +} + +// Defines a mapping. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/MappingEntry +type MappingEntry struct { + _ struct{} `type:"structure"` + + // The source path. + SourcePath *string `type:"string"` + + // The name of the source table. + SourceTable *string `type:"string"` + + // The source type. + SourceType *string `type:"string"` + + // The target path. + TargetPath *string `type:"string"` + + // The target table. + TargetTable *string `type:"string"` + + // The target type. + TargetType *string `type:"string"` +} + +// String returns the string representation +func (s MappingEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MappingEntry) GoString() string { + return s.String() +} + +// SetSourcePath sets the SourcePath field's value. +func (s *MappingEntry) SetSourcePath(v string) *MappingEntry { + s.SourcePath = &v + return s +} + +// SetSourceTable sets the SourceTable field's value. +func (s *MappingEntry) SetSourceTable(v string) *MappingEntry { + s.SourceTable = &v + return s +} + +// SetSourceType sets the SourceType field's value. +func (s *MappingEntry) SetSourceType(v string) *MappingEntry { + s.SourceType = &v + return s +} + +// SetTargetPath sets the TargetPath field's value. +func (s *MappingEntry) SetTargetPath(v string) *MappingEntry { + s.TargetPath = &v + return s +} + +// SetTargetTable sets the TargetTable field's value. +func (s *MappingEntry) SetTargetTable(v string) *MappingEntry { + s.TargetTable = &v + return s +} + +// SetTargetType sets the TargetType field's value. +func (s *MappingEntry) SetTargetType(v string) *MappingEntry { + s.TargetType = &v + return s +} + +// Specifies the sort order of a sorted column. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/Order +type Order struct { + _ struct{} `type:"structure"` + + // The name of the column. + // + // Column is a required field + Column *string `min:"1" type:"string" required:"true"` + + // Indicates that the column is sorted in ascending order (== 1), or in descending + // order (==0). + // + // SortOrder is a required field + SortOrder *int64 `type:"integer" required:"true"` +} + +// String returns the string representation +func (s Order) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Order) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Order) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Order"} + if s.Column == nil { + invalidParams.Add(request.NewErrParamRequired("Column")) + } + if s.Column != nil && len(*s.Column) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Column", 1)) + } + if s.SortOrder == nil { + invalidParams.Add(request.NewErrParamRequired("SortOrder")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetColumn sets the Column field's value. +func (s *Order) SetColumn(v string) *Order { + s.Column = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *Order) SetSortOrder(v int64) *Order { + s.SortOrder = &v + return s +} + +// Represents a slice of table data. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/Partition +type Partition struct { + _ struct{} `type:"structure"` + + // The time at which the partition was created. + CreationTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The name of the catalog database where the table in question is located. + DatabaseName *string `min:"1" type:"string"` + + // The last time at which the partition was accessed. + LastAccessTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The last time at which column statistics were computed for this partition. + LastAnalyzedTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Partition parameters, in the form of a list of key-value pairs. + Parameters map[string]*string `type:"map"` + + // Provides information about the physical location where the partition is stored. + StorageDescriptor *StorageDescriptor `type:"structure"` + + // The name of the table in question. + TableName *string `min:"1" type:"string"` + + // The values of the partition. + Values []*string `type:"list"` +} + +// String returns the string representation +func (s Partition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Partition) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *Partition) SetCreationTime(v time.Time) *Partition { + s.CreationTime = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *Partition) SetDatabaseName(v string) *Partition { + s.DatabaseName = &v + return s +} + +// SetLastAccessTime sets the LastAccessTime field's value. +func (s *Partition) SetLastAccessTime(v time.Time) *Partition { + s.LastAccessTime = &v + return s +} + +// SetLastAnalyzedTime sets the LastAnalyzedTime field's value. +func (s *Partition) SetLastAnalyzedTime(v time.Time) *Partition { + s.LastAnalyzedTime = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *Partition) SetParameters(v map[string]*string) *Partition { + s.Parameters = v + return s +} + +// SetStorageDescriptor sets the StorageDescriptor field's value. +func (s *Partition) SetStorageDescriptor(v *StorageDescriptor) *Partition { + s.StorageDescriptor = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *Partition) SetTableName(v string) *Partition { + s.TableName = &v + return s +} + +// SetValues sets the Values field's value. +func (s *Partition) SetValues(v []*string) *Partition { + s.Values = v + return s +} + +// Contains information about a partition error. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/PartitionError +type PartitionError struct { + _ struct{} `type:"structure"` + + // Details about the partition error. + ErrorDetail *ErrorDetail `type:"structure"` + + // The values that define the partition. + PartitionValues []*string `type:"list"` +} + +// String returns the string representation +func (s PartitionError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PartitionError) GoString() string { + return s.String() +} + +// SetErrorDetail sets the ErrorDetail field's value. +func (s *PartitionError) SetErrorDetail(v *ErrorDetail) *PartitionError { + s.ErrorDetail = v + return s +} + +// SetPartitionValues sets the PartitionValues field's value. +func (s *PartitionError) SetPartitionValues(v []*string) *PartitionError { + s.PartitionValues = v + return s +} + +// The structure used to create and update a partion. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/PartitionInput +type PartitionInput struct { + _ struct{} `type:"structure"` + + // The last time at which the partition was accessed. + LastAccessTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The last time at which column statistics were computed for this partition. + LastAnalyzedTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Partition parameters, in the form of a list of key-value pairs. + Parameters map[string]*string `type:"map"` + + // Provides information about the physical location where the partition is stored. + StorageDescriptor *StorageDescriptor `type:"structure"` + + // The values of the partition. + Values []*string `type:"list"` +} + +// String returns the string representation +func (s PartitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PartitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PartitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PartitionInput"} + if s.StorageDescriptor != nil { + if err := s.StorageDescriptor.Validate(); err != nil { + invalidParams.AddNested("StorageDescriptor", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLastAccessTime sets the LastAccessTime field's value. +func (s *PartitionInput) SetLastAccessTime(v time.Time) *PartitionInput { + s.LastAccessTime = &v + return s +} + +// SetLastAnalyzedTime sets the LastAnalyzedTime field's value. +func (s *PartitionInput) SetLastAnalyzedTime(v time.Time) *PartitionInput { + s.LastAnalyzedTime = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *PartitionInput) SetParameters(v map[string]*string) *PartitionInput { + s.Parameters = v + return s +} + +// SetStorageDescriptor sets the StorageDescriptor field's value. +func (s *PartitionInput) SetStorageDescriptor(v *StorageDescriptor) *PartitionInput { + s.StorageDescriptor = v + return s +} + +// SetValues sets the Values field's value. +func (s *PartitionInput) SetValues(v []*string) *PartitionInput { + s.Values = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/PartitionValueList +type PartitionValueList struct { + _ struct{} `type:"structure"` + + // Values is a required field + Values []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s PartitionValueList) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PartitionValueList) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PartitionValueList) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PartitionValueList"} + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetValues sets the Values field's value. +func (s *PartitionValueList) SetValues(v []*string) *PartitionValueList { + s.Values = v + return s +} + +// Specifies the physical requirements for a connection. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/PhysicalConnectionRequirements +type PhysicalConnectionRequirements struct { + _ struct{} `type:"structure"` + + // The connection's availability zone. + AvailabilityZone *string `min:"1" type:"string"` + + // The security group ID list used by the connection. + SecurityGroupIdList []*string `type:"list"` + + // The subnet ID used by the connection. + SubnetId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s PhysicalConnectionRequirements) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PhysicalConnectionRequirements) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PhysicalConnectionRequirements) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PhysicalConnectionRequirements"} + if s.AvailabilityZone != nil && len(*s.AvailabilityZone) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AvailabilityZone", 1)) + } + if s.SubnetId != nil && len(*s.SubnetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SubnetId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *PhysicalConnectionRequirements) SetAvailabilityZone(v string) *PhysicalConnectionRequirements { + s.AvailabilityZone = &v + return s +} + +// SetSecurityGroupIdList sets the SecurityGroupIdList field's value. +func (s *PhysicalConnectionRequirements) SetSecurityGroupIdList(v []*string) *PhysicalConnectionRequirements { + s.SecurityGroupIdList = v + return s +} + +// SetSubnetId sets the SubnetId field's value. +func (s *PhysicalConnectionRequirements) SetSubnetId(v string) *PhysicalConnectionRequirements { + s.SubnetId = &v + return s +} + +// A job run that preceded this one. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/Predecessor +type Predecessor struct { + _ struct{} `type:"structure"` + + // The name of the predecessor job. + JobName *string `min:"1" type:"string"` + + // The job-run ID of the precessor job run. + RunId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s Predecessor) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Predecessor) GoString() string { + return s.String() +} + +// SetJobName sets the JobName field's value. +func (s *Predecessor) SetJobName(v string) *Predecessor { + s.JobName = &v + return s +} + +// SetRunId sets the RunId field's value. +func (s *Predecessor) SetRunId(v string) *Predecessor { + s.RunId = &v + return s +} + +// Defines the predicate of the trigger, which determines when it fires. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/Predicate +type Predicate struct { + _ struct{} `type:"structure"` + + // A list of the conditions that determine when the trigger will fire. + Conditions []*Condition `type:"list"` + + // Currently "OR" is not supported. + Logical *string `type:"string" enum:"Logical"` +} + +// String returns the string representation +func (s Predicate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Predicate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Predicate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Predicate"} + if s.Conditions != nil { + for i, v := range s.Conditions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Conditions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConditions sets the Conditions field's value. +func (s *Predicate) SetConditions(v []*Condition) *Predicate { + s.Conditions = v + return s +} + +// SetLogical sets the Logical field's value. +func (s *Predicate) SetLogical(v string) *Predicate { + s.Logical = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ResetJobBookmarkRequest +type ResetJobBookmarkInput struct { + _ struct{} `type:"structure"` + + // The name of the job in question. + // + // JobName is a required field + JobName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ResetJobBookmarkInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResetJobBookmarkInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResetJobBookmarkInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResetJobBookmarkInput"} + if s.JobName == nil { + invalidParams.Add(request.NewErrParamRequired("JobName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJobName sets the JobName field's value. +func (s *ResetJobBookmarkInput) SetJobName(v string) *ResetJobBookmarkInput { + s.JobName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ResetJobBookmarkResponse +type ResetJobBookmarkOutput struct { + _ struct{} `type:"structure"` + + // The reset bookmark entry. + JobBookmarkEntry *JobBookmarkEntry `type:"structure"` +} + +// String returns the string representation +func (s ResetJobBookmarkOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResetJobBookmarkOutput) GoString() string { + return s.String() +} + +// SetJobBookmarkEntry sets the JobBookmarkEntry field's value. +func (s *ResetJobBookmarkOutput) SetJobBookmarkEntry(v *JobBookmarkEntry) *ResetJobBookmarkOutput { + s.JobBookmarkEntry = v + return s +} + +// URIs for function resources. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ResourceUri +type ResourceUri struct { + _ struct{} `type:"structure"` + + // The type of the resource. + ResourceType *string `type:"string" enum:"ResourceType"` + + // The URI for accessing the resource. + Uri *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ResourceUri) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceUri) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResourceUri) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResourceUri"} + if s.Uri != nil && len(*s.Uri) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Uri", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceType sets the ResourceType field's value. +func (s *ResourceUri) SetResourceType(v string) *ResourceUri { + s.ResourceType = &v + return s +} + +// SetUri sets the Uri field's value. +func (s *ResourceUri) SetUri(v string) *ResourceUri { + s.Uri = &v + return s +} + +// Specifies a crawler target in AWS S3. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/S3Target +type S3Target struct { + _ struct{} `type:"structure"` + + // A list of S3 objects to exclude from the crawl. + Exclusions []*string `type:"list"` + + // The path to the S3 target. + Path *string `type:"string"` +} + +// String returns the string representation +func (s S3Target) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3Target) GoString() string { + return s.String() +} + +// SetExclusions sets the Exclusions field's value. +func (s *S3Target) SetExclusions(v []*string) *S3Target { + s.Exclusions = v + return s +} + +// SetPath sets the Path field's value. +func (s *S3Target) SetPath(v string) *S3Target { + s.Path = &v + return s +} + +// A scheduling object using a cron statement to schedule an event. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/Schedule +type Schedule struct { + _ struct{} `type:"structure"` + + // A cron expression that can be used as a Cloudwatch event to schedule something + // (see CloudWatch Schedule Expression Syntax (http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html). + // For example, to run something every day at 12:15 UTC, you would specify: + // cron(15 12 * * ? *). + ScheduleExpression *string `type:"string"` + + // The state of the schedule. + State *string `type:"string" enum:"ScheduleState"` +} + +// String returns the string representation +func (s Schedule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Schedule) GoString() string { + return s.String() +} + +// SetScheduleExpression sets the ScheduleExpression field's value. +func (s *Schedule) SetScheduleExpression(v string) *Schedule { + s.ScheduleExpression = &v + return s +} + +// SetState sets the State field's value. +func (s *Schedule) SetState(v string) *Schedule { + s.State = &v + return s +} + +// Crawler policy for update and deletion behavior. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/SchemaChangePolicy +type SchemaChangePolicy struct { + _ struct{} `type:"structure"` + + // The deletion behavior. + DeleteBehavior *string `type:"string" enum:"DeleteBehavior"` + + // The update behavior. + UpdateBehavior *string `type:"string" enum:"UpdateBehavior"` +} + +// String returns the string representation +func (s SchemaChangePolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SchemaChangePolicy) GoString() string { + return s.String() +} + +// SetDeleteBehavior sets the DeleteBehavior field's value. +func (s *SchemaChangePolicy) SetDeleteBehavior(v string) *SchemaChangePolicy { + s.DeleteBehavior = &v + return s +} + +// SetUpdateBehavior sets the UpdateBehavior field's value. +func (s *SchemaChangePolicy) SetUpdateBehavior(v string) *SchemaChangePolicy { + s.UpdateBehavior = &v + return s +} + +// Defines a non-overlapping region of a table's partitions, allowing multiple +// requests to be executed in parallel. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/Segment +type Segment struct { + _ struct{} `type:"structure"` + + // The zero-based index number of the this segment. For example, if the total + // number of segments is 4, SegmentNumber values will range from zero through + // three. + // + // SegmentNumber is a required field + SegmentNumber *int64 `type:"integer" required:"true"` + + // The total numer of segments. + // + // TotalSegments is a required field + TotalSegments *int64 `min:"1" type:"integer" required:"true"` +} + +// String returns the string representation +func (s Segment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Segment) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Segment) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Segment"} + if s.SegmentNumber == nil { + invalidParams.Add(request.NewErrParamRequired("SegmentNumber")) + } + if s.TotalSegments == nil { + invalidParams.Add(request.NewErrParamRequired("TotalSegments")) + } + if s.TotalSegments != nil && *s.TotalSegments < 1 { + invalidParams.Add(request.NewErrParamMinValue("TotalSegments", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSegmentNumber sets the SegmentNumber field's value. +func (s *Segment) SetSegmentNumber(v int64) *Segment { + s.SegmentNumber = &v + return s +} + +// SetTotalSegments sets the TotalSegments field's value. +func (s *Segment) SetTotalSegments(v int64) *Segment { + s.TotalSegments = &v + return s +} + +// Information about a serialization/deserialization program (SerDe) which serves +// as an extractor and loader. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/SerDeInfo +type SerDeInfo struct { + _ struct{} `type:"structure"` + + // Name of the SerDe. + Name *string `min:"1" type:"string"` + + // A list of initialization parameters for the SerDe, in key-value form. + Parameters map[string]*string `type:"map"` + + // Usually the class that implements the SerDe. An example is: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe. + SerializationLibrary *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s SerDeInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SerDeInfo) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SerDeInfo) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SerDeInfo"} + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.SerializationLibrary != nil && len(*s.SerializationLibrary) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SerializationLibrary", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *SerDeInfo) SetName(v string) *SerDeInfo { + s.Name = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *SerDeInfo) SetParameters(v map[string]*string) *SerDeInfo { + s.Parameters = v + return s +} + +// SetSerializationLibrary sets the SerializationLibrary field's value. +func (s *SerDeInfo) SetSerializationLibrary(v string) *SerDeInfo { + s.SerializationLibrary = &v + return s +} + +// Specifies skewed values in a table. Skewed are ones that occur with very +// high frequency. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/SkewedInfo +type SkewedInfo struct { + _ struct{} `type:"structure"` + + // A list of names of columns that contain skewed values. + SkewedColumnNames []*string `type:"list"` + + // A mapping of skewed values to the columns that contain them. + SkewedColumnValueLocationMaps map[string]*string `type:"map"` + + // A list of values that appear so frequently as to be considered skewed. + SkewedColumnValues []*string `type:"list"` +} + +// String returns the string representation +func (s SkewedInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SkewedInfo) GoString() string { + return s.String() +} + +// SetSkewedColumnNames sets the SkewedColumnNames field's value. +func (s *SkewedInfo) SetSkewedColumnNames(v []*string) *SkewedInfo { + s.SkewedColumnNames = v + return s +} + +// SetSkewedColumnValueLocationMaps sets the SkewedColumnValueLocationMaps field's value. +func (s *SkewedInfo) SetSkewedColumnValueLocationMaps(v map[string]*string) *SkewedInfo { + s.SkewedColumnValueLocationMaps = v + return s +} + +// SetSkewedColumnValues sets the SkewedColumnValues field's value. +func (s *SkewedInfo) SetSkewedColumnValues(v []*string) *SkewedInfo { + s.SkewedColumnValues = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartCrawlerRequest +type StartCrawlerInput struct { + _ struct{} `type:"structure"` + + // Name of the Crawler to start. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s StartCrawlerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartCrawlerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartCrawlerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartCrawlerInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *StartCrawlerInput) SetName(v string) *StartCrawlerInput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartCrawlerResponse +type StartCrawlerOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s StartCrawlerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartCrawlerOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartCrawlerScheduleRequest +type StartCrawlerScheduleInput struct { + _ struct{} `type:"structure"` + + // Name of the crawler to schedule. + // + // CrawlerName is a required field + CrawlerName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s StartCrawlerScheduleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartCrawlerScheduleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartCrawlerScheduleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartCrawlerScheduleInput"} + if s.CrawlerName == nil { + invalidParams.Add(request.NewErrParamRequired("CrawlerName")) + } + if s.CrawlerName != nil && len(*s.CrawlerName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CrawlerName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCrawlerName sets the CrawlerName field's value. +func (s *StartCrawlerScheduleInput) SetCrawlerName(v string) *StartCrawlerScheduleInput { + s.CrawlerName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartCrawlerScheduleResponse +type StartCrawlerScheduleOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s StartCrawlerScheduleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartCrawlerScheduleOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartJobRunRequest +type StartJobRunInput struct { + _ struct{} `type:"structure"` + + // The infrastructure capacity to allocate to this job. + AllocatedCapacity *int64 `type:"integer"` + + // Specific arguments for this job run. + Arguments map[string]*string `type:"map"` + + // The name of the job to start. + // + // JobName is a required field + JobName *string `min:"1" type:"string" required:"true"` + + // The ID of the job run to start. + JobRunId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s StartJobRunInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartJobRunInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartJobRunInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartJobRunInput"} + if s.JobName == nil { + invalidParams.Add(request.NewErrParamRequired("JobName")) + } + if s.JobName != nil && len(*s.JobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) + } + if s.JobRunId != nil && len(*s.JobRunId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobRunId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllocatedCapacity sets the AllocatedCapacity field's value. +func (s *StartJobRunInput) SetAllocatedCapacity(v int64) *StartJobRunInput { + s.AllocatedCapacity = &v + return s +} + +// SetArguments sets the Arguments field's value. +func (s *StartJobRunInput) SetArguments(v map[string]*string) *StartJobRunInput { + s.Arguments = v + return s +} + +// SetJobName sets the JobName field's value. +func (s *StartJobRunInput) SetJobName(v string) *StartJobRunInput { + s.JobName = &v + return s +} + +// SetJobRunId sets the JobRunId field's value. +func (s *StartJobRunInput) SetJobRunId(v string) *StartJobRunInput { + s.JobRunId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartJobRunResponse +type StartJobRunOutput struct { + _ struct{} `type:"structure"` + + // The ID assigned to this job run. + JobRunId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s StartJobRunOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartJobRunOutput) GoString() string { + return s.String() +} + +// SetJobRunId sets the JobRunId field's value. +func (s *StartJobRunOutput) SetJobRunId(v string) *StartJobRunOutput { + s.JobRunId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartTriggerRequest +type StartTriggerInput struct { + _ struct{} `type:"structure"` + + // The name of the trigger to start. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s StartTriggerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartTriggerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartTriggerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartTriggerInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *StartTriggerInput) SetName(v string) *StartTriggerInput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StartTriggerResponse +type StartTriggerOutput struct { + _ struct{} `type:"structure"` + + // The name of the trigger that was started. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s StartTriggerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartTriggerOutput) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *StartTriggerOutput) SetName(v string) *StartTriggerOutput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopCrawlerRequest +type StopCrawlerInput struct { + _ struct{} `type:"structure"` + + // Name of the Crawler to stop. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopCrawlerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopCrawlerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopCrawlerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopCrawlerInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *StopCrawlerInput) SetName(v string) *StopCrawlerInput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopCrawlerResponse +type StopCrawlerOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s StopCrawlerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopCrawlerOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopCrawlerScheduleRequest +type StopCrawlerScheduleInput struct { + _ struct{} `type:"structure"` + + // Name of the crawler whose schedule state to set. + // + // CrawlerName is a required field + CrawlerName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopCrawlerScheduleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopCrawlerScheduleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopCrawlerScheduleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopCrawlerScheduleInput"} + if s.CrawlerName == nil { + invalidParams.Add(request.NewErrParamRequired("CrawlerName")) + } + if s.CrawlerName != nil && len(*s.CrawlerName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CrawlerName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCrawlerName sets the CrawlerName field's value. +func (s *StopCrawlerScheduleInput) SetCrawlerName(v string) *StopCrawlerScheduleInput { + s.CrawlerName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopCrawlerScheduleResponse +type StopCrawlerScheduleOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s StopCrawlerScheduleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopCrawlerScheduleOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopTriggerRequest +type StopTriggerInput struct { + _ struct{} `type:"structure"` + + // The name of the trigger to stop. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopTriggerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopTriggerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopTriggerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopTriggerInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *StopTriggerInput) SetName(v string) *StopTriggerInput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopTriggerResponse +type StopTriggerOutput struct { + _ struct{} `type:"structure"` + + // The name of the trigger that was stopped. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s StopTriggerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopTriggerOutput) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *StopTriggerOutput) SetName(v string) *StopTriggerOutput { + s.Name = &v + return s +} + +// Describes the physical storage of table data. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StorageDescriptor +type StorageDescriptor struct { + _ struct{} `type:"structure"` + + // A list of reducer grouping columns, clustering columns, and bucketing columns + // in the table. + BucketColumns []*string `type:"list"` + + // A list of the Columns in the table. + Columns []*Column `type:"list"` + + // True if the data in the table is compressed, or False if not. + Compressed *bool `type:"boolean"` + + // The input format: SequenceFileInputFormat (binary), or TextInputFormat, or + // a custom format. + InputFormat *string `type:"string"` + + // The physical location of the table. By default this takes the form of the + // warehouse location, followed by the database location in the warehouse, followed + // by the table name. + Location *string `type:"string"` + + // Must be specified if the table contains any dimension columns. + NumberOfBuckets *int64 `type:"integer"` + + // The output format: SequenceFileOutputFormat (binary), or IgnoreKeyTextOutputFormat, + // or a custom format. + OutputFormat *string `type:"string"` + + // User-supplied properties in key-value form. + Parameters map[string]*string `type:"map"` + + // Serialization/deserialization (SerDe) information. + SerdeInfo *SerDeInfo `type:"structure"` + + // Information about values that appear very frequently in a column (skewed + // values). + SkewedInfo *SkewedInfo `type:"structure"` + + // A list specifying the sort order of each bucket in the table. + SortColumns []*Order `type:"list"` + + // True if the table data is stored in subdirectories, or False if not. + StoredAsSubDirectories *bool `type:"boolean"` +} + +// String returns the string representation +func (s StorageDescriptor) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StorageDescriptor) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StorageDescriptor) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StorageDescriptor"} + if s.Columns != nil { + for i, v := range s.Columns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Columns", i), err.(request.ErrInvalidParams)) + } + } + } + if s.SerdeInfo != nil { + if err := s.SerdeInfo.Validate(); err != nil { + invalidParams.AddNested("SerdeInfo", err.(request.ErrInvalidParams)) + } + } + if s.SortColumns != nil { + for i, v := range s.SortColumns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SortColumns", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBucketColumns sets the BucketColumns field's value. +func (s *StorageDescriptor) SetBucketColumns(v []*string) *StorageDescriptor { + s.BucketColumns = v + return s +} + +// SetColumns sets the Columns field's value. +func (s *StorageDescriptor) SetColumns(v []*Column) *StorageDescriptor { + s.Columns = v + return s +} + +// SetCompressed sets the Compressed field's value. +func (s *StorageDescriptor) SetCompressed(v bool) *StorageDescriptor { + s.Compressed = &v + return s +} + +// SetInputFormat sets the InputFormat field's value. +func (s *StorageDescriptor) SetInputFormat(v string) *StorageDescriptor { + s.InputFormat = &v + return s +} + +// SetLocation sets the Location field's value. +func (s *StorageDescriptor) SetLocation(v string) *StorageDescriptor { + s.Location = &v + return s +} + +// SetNumberOfBuckets sets the NumberOfBuckets field's value. +func (s *StorageDescriptor) SetNumberOfBuckets(v int64) *StorageDescriptor { + s.NumberOfBuckets = &v + return s +} + +// SetOutputFormat sets the OutputFormat field's value. +func (s *StorageDescriptor) SetOutputFormat(v string) *StorageDescriptor { + s.OutputFormat = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *StorageDescriptor) SetParameters(v map[string]*string) *StorageDescriptor { + s.Parameters = v + return s +} + +// SetSerdeInfo sets the SerdeInfo field's value. +func (s *StorageDescriptor) SetSerdeInfo(v *SerDeInfo) *StorageDescriptor { + s.SerdeInfo = v + return s +} + +// SetSkewedInfo sets the SkewedInfo field's value. +func (s *StorageDescriptor) SetSkewedInfo(v *SkewedInfo) *StorageDescriptor { + s.SkewedInfo = v + return s +} + +// SetSortColumns sets the SortColumns field's value. +func (s *StorageDescriptor) SetSortColumns(v []*Order) *StorageDescriptor { + s.SortColumns = v + return s +} + +// SetStoredAsSubDirectories sets the StoredAsSubDirectories field's value. +func (s *StorageDescriptor) SetStoredAsSubDirectories(v bool) *StorageDescriptor { + s.StoredAsSubDirectories = &v + return s +} + +// Represents a collection of related data organized in columns and rows. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/Table +type Table struct { + _ struct{} `type:"structure"` + + // Time when the table definition was created in the Data Catalog. + CreateTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Person or entity who created the table. + CreatedBy *string `min:"1" type:"string"` + + // Name of the metadata database where the table metadata resides. + DatabaseName *string `min:"1" type:"string"` + + // Description of the table. + Description *string `type:"string"` + + // Last time the table was accessed. This is usually taken from HDFS, and may + // not be reliable. + LastAccessTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Last time column statistics were computed for this table. + LastAnalyzedTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Name of the table. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Owner of the table. + Owner *string `min:"1" type:"string"` + + // Properties associated with this table, as a list of key-value pairs. + Parameters map[string]*string `type:"map"` + + // A list of columns by which the table is partitioned. Only primitive types + // are supported as partition keys. + PartitionKeys []*Column `type:"list"` + + // Retention time for this table. + Retention *int64 `type:"integer"` + + // A storage descriptor containing information about the physical storage of + // this table. + StorageDescriptor *StorageDescriptor `type:"structure"` + + // The type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.). + TableType *string `type:"string"` + + // Last time the table was updated. + UpdateTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // If the table is a view, the expanded text of the view; otherwise null. + ViewExpandedText *string `type:"string"` + + // If the table is a view, the original text of the view; otherwise null. + ViewOriginalText *string `type:"string"` +} + +// String returns the string representation +func (s Table) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Table) GoString() string { + return s.String() +} + +// SetCreateTime sets the CreateTime field's value. +func (s *Table) SetCreateTime(v time.Time) *Table { + s.CreateTime = &v + return s +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *Table) SetCreatedBy(v string) *Table { + s.CreatedBy = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *Table) SetDatabaseName(v string) *Table { + s.DatabaseName = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Table) SetDescription(v string) *Table { + s.Description = &v + return s +} + +// SetLastAccessTime sets the LastAccessTime field's value. +func (s *Table) SetLastAccessTime(v time.Time) *Table { + s.LastAccessTime = &v + return s +} + +// SetLastAnalyzedTime sets the LastAnalyzedTime field's value. +func (s *Table) SetLastAnalyzedTime(v time.Time) *Table { + s.LastAnalyzedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *Table) SetName(v string) *Table { + s.Name = &v + return s +} + +// SetOwner sets the Owner field's value. +func (s *Table) SetOwner(v string) *Table { + s.Owner = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *Table) SetParameters(v map[string]*string) *Table { + s.Parameters = v + return s +} + +// SetPartitionKeys sets the PartitionKeys field's value. +func (s *Table) SetPartitionKeys(v []*Column) *Table { + s.PartitionKeys = v + return s +} + +// SetRetention sets the Retention field's value. +func (s *Table) SetRetention(v int64) *Table { + s.Retention = &v + return s +} + +// SetStorageDescriptor sets the StorageDescriptor field's value. +func (s *Table) SetStorageDescriptor(v *StorageDescriptor) *Table { + s.StorageDescriptor = v + return s +} + +// SetTableType sets the TableType field's value. +func (s *Table) SetTableType(v string) *Table { + s.TableType = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *Table) SetUpdateTime(v time.Time) *Table { + s.UpdateTime = &v + return s +} + +// SetViewExpandedText sets the ViewExpandedText field's value. +func (s *Table) SetViewExpandedText(v string) *Table { + s.ViewExpandedText = &v + return s +} + +// SetViewOriginalText sets the ViewOriginalText field's value. +func (s *Table) SetViewOriginalText(v string) *Table { + s.ViewOriginalText = &v + return s +} + +// An error record for table operations. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/TableError +type TableError struct { + _ struct{} `type:"structure"` + + // Detail about the error. + ErrorDetail *ErrorDetail `type:"structure"` + + // Name of the table. + TableName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s TableError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TableError) GoString() string { + return s.String() +} + +// SetErrorDetail sets the ErrorDetail field's value. +func (s *TableError) SetErrorDetail(v *ErrorDetail) *TableError { + s.ErrorDetail = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *TableError) SetTableName(v string) *TableError { + s.TableName = &v + return s +} + +// Structure used to create or update the table. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/TableInput +type TableInput struct { + _ struct{} `type:"structure"` + + // Description of the table. + Description *string `type:"string"` + + // Last time the table was accessed. + LastAccessTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Last time column statistics were computed for this table. + LastAnalyzedTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Name of the table. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Owner of the table. + Owner *string `min:"1" type:"string"` + + // Properties associated with this table, as a list of key-value pairs. + Parameters map[string]*string `type:"map"` + + // A list of columns by which the table is partitioned. Only primitive types + // are supported as partition keys. + PartitionKeys []*Column `type:"list"` + + // Retention time for this table. + Retention *int64 `type:"integer"` + + // A storage descriptor containing information about the physical storage of + // this table. + StorageDescriptor *StorageDescriptor `type:"structure"` + + // The type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.). + TableType *string `type:"string"` + + // If the table is a view, the expanded text of the view; otherwise null. + ViewExpandedText *string `type:"string"` + + // If the table is a view, the original text of the view; otherwise null. + ViewOriginalText *string `type:"string"` +} + +// String returns the string representation +func (s TableInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TableInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TableInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Owner != nil && len(*s.Owner) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Owner", 1)) + } + if s.PartitionKeys != nil { + for i, v := range s.PartitionKeys { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PartitionKeys", i), err.(request.ErrInvalidParams)) + } + } + } + if s.StorageDescriptor != nil { + if err := s.StorageDescriptor.Validate(); err != nil { + invalidParams.AddNested("StorageDescriptor", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *TableInput) SetDescription(v string) *TableInput { + s.Description = &v + return s +} + +// SetLastAccessTime sets the LastAccessTime field's value. +func (s *TableInput) SetLastAccessTime(v time.Time) *TableInput { + s.LastAccessTime = &v + return s +} + +// SetLastAnalyzedTime sets the LastAnalyzedTime field's value. +func (s *TableInput) SetLastAnalyzedTime(v time.Time) *TableInput { + s.LastAnalyzedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *TableInput) SetName(v string) *TableInput { + s.Name = &v + return s +} + +// SetOwner sets the Owner field's value. +func (s *TableInput) SetOwner(v string) *TableInput { + s.Owner = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *TableInput) SetParameters(v map[string]*string) *TableInput { + s.Parameters = v + return s +} + +// SetPartitionKeys sets the PartitionKeys field's value. +func (s *TableInput) SetPartitionKeys(v []*Column) *TableInput { + s.PartitionKeys = v + return s +} + +// SetRetention sets the Retention field's value. +func (s *TableInput) SetRetention(v int64) *TableInput { + s.Retention = &v + return s +} + +// SetStorageDescriptor sets the StorageDescriptor field's value. +func (s *TableInput) SetStorageDescriptor(v *StorageDescriptor) *TableInput { + s.StorageDescriptor = v + return s +} + +// SetTableType sets the TableType field's value. +func (s *TableInput) SetTableType(v string) *TableInput { + s.TableType = &v + return s +} + +// SetViewExpandedText sets the ViewExpandedText field's value. +func (s *TableInput) SetViewExpandedText(v string) *TableInput { + s.ViewExpandedText = &v + return s +} + +// SetViewOriginalText sets the ViewOriginalText field's value. +func (s *TableInput) SetViewOriginalText(v string) *TableInput { + s.ViewOriginalText = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/TableVersion +type TableVersion struct { + _ struct{} `type:"structure"` + + // Represents a collection of related data organized in columns and rows. + Table *Table `type:"structure"` + + VersionId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s TableVersion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TableVersion) GoString() string { + return s.String() +} + +// SetTable sets the Table field's value. +func (s *TableVersion) SetTable(v *Table) *TableVersion { + s.Table = v + return s +} + +// SetVersionId sets the VersionId field's value. +func (s *TableVersion) SetVersionId(v string) *TableVersion { + s.VersionId = &v + return s +} + +// Information about a specific trigger. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/Trigger +type Trigger struct { + _ struct{} `type:"structure"` + + // The actions initiated by this trigger. + Actions []*Action `type:"list"` + + // A description of this trigger. + Description *string `type:"string"` + + // The trigger ID. + Id *string `min:"1" type:"string"` + + // Name of the trigger. + Name *string `min:"1" type:"string"` + + // The predicate of this trigger. + Predicate *Predicate `type:"structure"` + + // A cron schedule expression. + Schedule *string `type:"string"` + + // The current state of the trigger. + State *string `type:"string" enum:"TriggerState"` + + // The type of trigger that this is. + Type *string `type:"string" enum:"TriggerType"` +} + +// String returns the string representation +func (s Trigger) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Trigger) GoString() string { + return s.String() +} + +// SetActions sets the Actions field's value. +func (s *Trigger) SetActions(v []*Action) *Trigger { + s.Actions = v + return s +} + +// SetDescription sets the Description field's value. +func (s *Trigger) SetDescription(v string) *Trigger { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *Trigger) SetId(v string) *Trigger { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *Trigger) SetName(v string) *Trigger { + s.Name = &v + return s +} + +// SetPredicate sets the Predicate field's value. +func (s *Trigger) SetPredicate(v *Predicate) *Trigger { + s.Predicate = v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *Trigger) SetSchedule(v string) *Trigger { + s.Schedule = &v + return s +} + +// SetState sets the State field's value. +func (s *Trigger) SetState(v string) *Trigger { + s.State = &v + return s +} + +// SetType sets the Type field's value. +func (s *Trigger) SetType(v string) *Trigger { + s.Type = &v + return s +} + +// A structure used to provide information used to updata a trigger. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/TriggerUpdate +type TriggerUpdate struct { + _ struct{} `type:"structure"` + + // The actions initiated by this trigger. + Actions []*Action `type:"list"` + + // A description of this trigger. + Description *string `type:"string"` + + // The name of the trigger. + Name *string `min:"1" type:"string"` + + // The predicate of this trigger, which defines when it will fire. + Predicate *Predicate `type:"structure"` + + // A cron expression specifying the schedule. + Schedule *string `type:"string"` +} + +// String returns the string representation +func (s TriggerUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TriggerUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TriggerUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TriggerUpdate"} + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Actions != nil { + for i, v := range s.Actions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Predicate != nil { + if err := s.Predicate.Validate(); err != nil { + invalidParams.AddNested("Predicate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActions sets the Actions field's value. +func (s *TriggerUpdate) SetActions(v []*Action) *TriggerUpdate { + s.Actions = v + return s +} + +// SetDescription sets the Description field's value. +func (s *TriggerUpdate) SetDescription(v string) *TriggerUpdate { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *TriggerUpdate) SetName(v string) *TriggerUpdate { + s.Name = &v + return s +} + +// SetPredicate sets the Predicate field's value. +func (s *TriggerUpdate) SetPredicate(v *Predicate) *TriggerUpdate { + s.Predicate = v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *TriggerUpdate) SetSchedule(v string) *TriggerUpdate { + s.Schedule = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateClassifierRequest +type UpdateClassifierInput struct { + _ struct{} `type:"structure"` + + // A GrokClassifier object with updated fields. + GrokClassifier *UpdateGrokClassifierRequest `type:"structure"` +} + +// String returns the string representation +func (s UpdateClassifierInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateClassifierInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateClassifierInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateClassifierInput"} + if s.GrokClassifier != nil { + if err := s.GrokClassifier.Validate(); err != nil { + invalidParams.AddNested("GrokClassifier", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGrokClassifier sets the GrokClassifier field's value. +func (s *UpdateClassifierInput) SetGrokClassifier(v *UpdateGrokClassifierRequest) *UpdateClassifierInput { + s.GrokClassifier = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateClassifierResponse +type UpdateClassifierOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateClassifierOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateClassifierOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateConnectionRequest +type UpdateConnectionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog in which the connection resides. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // A ConnectionInput object that redefines the connection in question. + // + // ConnectionInput is a required field + ConnectionInput *ConnectionInput `type:"structure" required:"true"` + + // The name of the connection definition to update. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateConnectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateConnectionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.ConnectionInput == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectionInput")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.ConnectionInput != nil { + if err := s.ConnectionInput.Validate(); err != nil { + invalidParams.AddNested("ConnectionInput", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *UpdateConnectionInput) SetCatalogId(v string) *UpdateConnectionInput { + s.CatalogId = &v + return s +} + +// SetConnectionInput sets the ConnectionInput field's value. +func (s *UpdateConnectionInput) SetConnectionInput(v *ConnectionInput) *UpdateConnectionInput { + s.ConnectionInput = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateConnectionInput) SetName(v string) *UpdateConnectionInput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateConnectionResponse +type UpdateConnectionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateConnectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateConnectionOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateCrawlerRequest +type UpdateCrawlerInput struct { + _ struct{} `type:"structure"` + + // A list of custom Classifier names that the user has registered. By default, + // all AWS classifiers are included in a crawl, but these custom classifiers + // always override the default classifiers for a given classification. + Classifiers []*string `type:"list"` + + // The Glue Database where results will be stored, such as: arn:aws:daylight:us-east-1::database/sometable/*. + DatabaseName *string `type:"string"` + + // A description of the new Crawler. + Description *string `type:"string"` + + // Name of the new Crawler. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The AWS ARN of the IAM role used by the new Crawler to access customer resources. + Role *string `type:"string"` + + // A cron expression that can be used as a Cloudwatch event (see CloudWatch + // Schedule Expression Syntax (http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html). + // For example, to run every day at 12:15 UTC, specify: cron(15 12 * * ? *). + Schedule *string `type:"string"` + + // Policy for the crawler's update and deletion behavior. + SchemaChangePolicy *SchemaChangePolicy `type:"structure"` + + // The table prefix used for catalog tables created. + TablePrefix *string `type:"string"` + + // A list of collection of targets to crawl. + Targets *CrawlerTargets `type:"structure"` +} + +// String returns the string representation +func (s UpdateCrawlerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCrawlerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateCrawlerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateCrawlerInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClassifiers sets the Classifiers field's value. +func (s *UpdateCrawlerInput) SetClassifiers(v []*string) *UpdateCrawlerInput { + s.Classifiers = v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *UpdateCrawlerInput) SetDatabaseName(v string) *UpdateCrawlerInput { + s.DatabaseName = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateCrawlerInput) SetDescription(v string) *UpdateCrawlerInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateCrawlerInput) SetName(v string) *UpdateCrawlerInput { + s.Name = &v + return s +} + +// SetRole sets the Role field's value. +func (s *UpdateCrawlerInput) SetRole(v string) *UpdateCrawlerInput { + s.Role = &v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *UpdateCrawlerInput) SetSchedule(v string) *UpdateCrawlerInput { + s.Schedule = &v + return s +} + +// SetSchemaChangePolicy sets the SchemaChangePolicy field's value. +func (s *UpdateCrawlerInput) SetSchemaChangePolicy(v *SchemaChangePolicy) *UpdateCrawlerInput { + s.SchemaChangePolicy = v + return s +} + +// SetTablePrefix sets the TablePrefix field's value. +func (s *UpdateCrawlerInput) SetTablePrefix(v string) *UpdateCrawlerInput { + s.TablePrefix = &v + return s +} + +// SetTargets sets the Targets field's value. +func (s *UpdateCrawlerInput) SetTargets(v *CrawlerTargets) *UpdateCrawlerInput { + s.Targets = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateCrawlerResponse +type UpdateCrawlerOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateCrawlerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCrawlerOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateCrawlerScheduleRequest +type UpdateCrawlerScheduleInput struct { + _ struct{} `type:"structure"` + + // Name of the crawler whose schedule to update. + // + // CrawlerName is a required field + CrawlerName *string `min:"1" type:"string" required:"true"` + + // Cron expression of the updated schedule. + Schedule *string `type:"string"` +} + +// String returns the string representation +func (s UpdateCrawlerScheduleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCrawlerScheduleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateCrawlerScheduleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateCrawlerScheduleInput"} + if s.CrawlerName == nil { + invalidParams.Add(request.NewErrParamRequired("CrawlerName")) + } + if s.CrawlerName != nil && len(*s.CrawlerName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CrawlerName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCrawlerName sets the CrawlerName field's value. +func (s *UpdateCrawlerScheduleInput) SetCrawlerName(v string) *UpdateCrawlerScheduleInput { + s.CrawlerName = &v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *UpdateCrawlerScheduleInput) SetSchedule(v string) *UpdateCrawlerScheduleInput { + s.Schedule = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateCrawlerScheduleResponse +type UpdateCrawlerScheduleOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateCrawlerScheduleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCrawlerScheduleOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateDatabaseRequest +type UpdateDatabaseInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog in which the metadata database resides. If none + // is supplied, the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // A DatabaseInput object specifying the new definition of the metadata database + // in the catalog. + // + // DatabaseInput is a required field + DatabaseInput *DatabaseInput `type:"structure" required:"true"` + + // The name of the metadata database to update in the catalog. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateDatabaseInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDatabaseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDatabaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDatabaseInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseInput == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseInput")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.DatabaseInput != nil { + if err := s.DatabaseInput.Validate(); err != nil { + invalidParams.AddNested("DatabaseInput", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *UpdateDatabaseInput) SetCatalogId(v string) *UpdateDatabaseInput { + s.CatalogId = &v + return s +} + +// SetDatabaseInput sets the DatabaseInput field's value. +func (s *UpdateDatabaseInput) SetDatabaseInput(v *DatabaseInput) *UpdateDatabaseInput { + s.DatabaseInput = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateDatabaseInput) SetName(v string) *UpdateDatabaseInput { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateDatabaseResponse +type UpdateDatabaseOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateDatabaseOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDatabaseOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateDevEndpointRequest +type UpdateDevEndpointInput struct { + _ struct{} `type:"structure"` + + // Custom Python or Java custom libraries to be loaded in the DevEndpoint. + CustomLibraries *DevEndpointCustomLibraries `type:"structure"` + + // The name of the DevEndpoint to be updated. + // + // EndpointName is a required field + EndpointName *string `type:"string" required:"true"` + + // The public key for the DevEndpoint to use. + PublicKey *string `type:"string"` +} + +// String returns the string representation +func (s UpdateDevEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDevEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDevEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDevEndpointInput"} + if s.EndpointName == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCustomLibraries sets the CustomLibraries field's value. +func (s *UpdateDevEndpointInput) SetCustomLibraries(v *DevEndpointCustomLibraries) *UpdateDevEndpointInput { + s.CustomLibraries = v + return s +} + +// SetEndpointName sets the EndpointName field's value. +func (s *UpdateDevEndpointInput) SetEndpointName(v string) *UpdateDevEndpointInput { + s.EndpointName = &v + return s +} + +// SetPublicKey sets the PublicKey field's value. +func (s *UpdateDevEndpointInput) SetPublicKey(v string) *UpdateDevEndpointInput { + s.PublicKey = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateDevEndpointResponse +type UpdateDevEndpointOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateDevEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDevEndpointOutput) GoString() string { + return s.String() +} + +// Specifies a Grok classifier to update when passed to UpdateClassifier. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateGrokClassifierRequest +type UpdateGrokClassifierRequest struct { + _ struct{} `type:"structure"` + + // The type of result that the classifier matches, such as Twitter Json, Omniture + // logs, Cloudwatch logs, and so forth. + Classification *string `type:"string"` + + // Custom grok patterns used by this classifier. + CustomPatterns *string `type:"string"` + + // The grok pattern used by this classifier. + GrokPattern *string `min:"1" type:"string"` + + // The name of the GrokClassifier. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateGrokClassifierRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateGrokClassifierRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateGrokClassifierRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateGrokClassifierRequest"} + if s.GrokPattern != nil && len(*s.GrokPattern) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GrokPattern", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClassification sets the Classification field's value. +func (s *UpdateGrokClassifierRequest) SetClassification(v string) *UpdateGrokClassifierRequest { + s.Classification = &v + return s +} + +// SetCustomPatterns sets the CustomPatterns field's value. +func (s *UpdateGrokClassifierRequest) SetCustomPatterns(v string) *UpdateGrokClassifierRequest { + s.CustomPatterns = &v + return s +} + +// SetGrokPattern sets the GrokPattern field's value. +func (s *UpdateGrokClassifierRequest) SetGrokPattern(v string) *UpdateGrokClassifierRequest { + s.GrokPattern = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateGrokClassifierRequest) SetName(v string) *UpdateGrokClassifierRequest { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateJobRequest +type UpdateJobInput struct { + _ struct{} `type:"structure"` + + // Name of the job definition to update. + // + // JobName is a required field + JobName *string `min:"1" type:"string" required:"true"` + + // Specifies the values with which to update the job. + // + // JobUpdate is a required field + JobUpdate *JobUpdate `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateJobInput"} + if s.JobName == nil { + invalidParams.Add(request.NewErrParamRequired("JobName")) + } + if s.JobName != nil && len(*s.JobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) + } + if s.JobUpdate == nil { + invalidParams.Add(request.NewErrParamRequired("JobUpdate")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJobName sets the JobName field's value. +func (s *UpdateJobInput) SetJobName(v string) *UpdateJobInput { + s.JobName = &v + return s +} + +// SetJobUpdate sets the JobUpdate field's value. +func (s *UpdateJobInput) SetJobUpdate(v *JobUpdate) *UpdateJobInput { + s.JobUpdate = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateJobResponse +type UpdateJobOutput struct { + _ struct{} `type:"structure"` + + // Returns the name of the updated job. + JobName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateJobOutput) GoString() string { + return s.String() +} + +// SetJobName sets the JobName field's value. +func (s *UpdateJobOutput) SetJobName(v string) *UpdateJobOutput { + s.JobName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdatePartitionRequest +type UpdatePartitionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the partition to be updated resides. If + // none is supplied, the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The name of the catalog database in which the table in question resides. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The new partition object to which to update the partition. + // + // PartitionInput is a required field + PartitionInput *PartitionInput `type:"structure" required:"true"` + + // A list of the values defining the partition. + // + // PartitionValueList is a required field + PartitionValueList []*string `type:"list" required:"true"` + + // The name of the table where the partition to be updated is located. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdatePartitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdatePartitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdatePartitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdatePartitionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.PartitionInput == nil { + invalidParams.Add(request.NewErrParamRequired("PartitionInput")) + } + if s.PartitionValueList == nil { + invalidParams.Add(request.NewErrParamRequired("PartitionValueList")) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + if s.PartitionInput != nil { + if err := s.PartitionInput.Validate(); err != nil { + invalidParams.AddNested("PartitionInput", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *UpdatePartitionInput) SetCatalogId(v string) *UpdatePartitionInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *UpdatePartitionInput) SetDatabaseName(v string) *UpdatePartitionInput { + s.DatabaseName = &v + return s +} + +// SetPartitionInput sets the PartitionInput field's value. +func (s *UpdatePartitionInput) SetPartitionInput(v *PartitionInput) *UpdatePartitionInput { + s.PartitionInput = v + return s +} + +// SetPartitionValueList sets the PartitionValueList field's value. +func (s *UpdatePartitionInput) SetPartitionValueList(v []*string) *UpdatePartitionInput { + s.PartitionValueList = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *UpdatePartitionInput) SetTableName(v string) *UpdatePartitionInput { + s.TableName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdatePartitionResponse +type UpdatePartitionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdatePartitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdatePartitionOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateTableRequest +type UpdateTableInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the table resides. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The name of the catalog database in which the table resides. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // An updated TableInput object to define the metadata table in the catalog. + // + // TableInput is a required field + TableInput *TableInput `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateTableInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateTableInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateTableInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.TableInput == nil { + invalidParams.Add(request.NewErrParamRequired("TableInput")) + } + if s.TableInput != nil { + if err := s.TableInput.Validate(); err != nil { + invalidParams.AddNested("TableInput", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *UpdateTableInput) SetCatalogId(v string) *UpdateTableInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *UpdateTableInput) SetDatabaseName(v string) *UpdateTableInput { + s.DatabaseName = &v + return s +} + +// SetTableInput sets the TableInput field's value. +func (s *UpdateTableInput) SetTableInput(v *TableInput) *UpdateTableInput { + s.TableInput = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateTableResponse +type UpdateTableOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateTableOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateTableOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateTriggerRequest +type UpdateTriggerInput struct { + _ struct{} `type:"structure"` + + // The name of the trigger to update. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The new values with which to update the trigger. + // + // TriggerUpdate is a required field + TriggerUpdate *TriggerUpdate `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateTriggerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateTriggerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateTriggerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateTriggerInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.TriggerUpdate == nil { + invalidParams.Add(request.NewErrParamRequired("TriggerUpdate")) + } + if s.TriggerUpdate != nil { + if err := s.TriggerUpdate.Validate(); err != nil { + invalidParams.AddNested("TriggerUpdate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *UpdateTriggerInput) SetName(v string) *UpdateTriggerInput { + s.Name = &v + return s +} + +// SetTriggerUpdate sets the TriggerUpdate field's value. +func (s *UpdateTriggerInput) SetTriggerUpdate(v *TriggerUpdate) *UpdateTriggerInput { + s.TriggerUpdate = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateTriggerResponse +type UpdateTriggerOutput struct { + _ struct{} `type:"structure"` + + // The resulting trigger definition. + Trigger *Trigger `type:"structure"` +} + +// String returns the string representation +func (s UpdateTriggerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateTriggerOutput) GoString() string { + return s.String() +} + +// SetTrigger sets the Trigger field's value. +func (s *UpdateTriggerOutput) SetTrigger(v *Trigger) *UpdateTriggerOutput { + s.Trigger = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateUserDefinedFunctionRequest +type UpdateUserDefinedFunctionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the function to be updated is located. If + // none is supplied, the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The name of the catalog database where the function to be updated is located. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // A FunctionInput object that re-defines the function in the Data Catalog. + // + // FunctionInput is a required field + FunctionInput *UserDefinedFunctionInput `type:"structure" required:"true"` + + // The name of the function. + // + // FunctionName is a required field + FunctionName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateUserDefinedFunctionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateUserDefinedFunctionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateUserDefinedFunctionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateUserDefinedFunctionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.FunctionInput == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionInput")) + } + if s.FunctionName == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionName")) + } + if s.FunctionName != nil && len(*s.FunctionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) + } + if s.FunctionInput != nil { + if err := s.FunctionInput.Validate(); err != nil { + invalidParams.AddNested("FunctionInput", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *UpdateUserDefinedFunctionInput) SetCatalogId(v string) *UpdateUserDefinedFunctionInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *UpdateUserDefinedFunctionInput) SetDatabaseName(v string) *UpdateUserDefinedFunctionInput { + s.DatabaseName = &v + return s +} + +// SetFunctionInput sets the FunctionInput field's value. +func (s *UpdateUserDefinedFunctionInput) SetFunctionInput(v *UserDefinedFunctionInput) *UpdateUserDefinedFunctionInput { + s.FunctionInput = v + return s +} + +// SetFunctionName sets the FunctionName field's value. +func (s *UpdateUserDefinedFunctionInput) SetFunctionName(v string) *UpdateUserDefinedFunctionInput { + s.FunctionName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateUserDefinedFunctionResponse +type UpdateUserDefinedFunctionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateUserDefinedFunctionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateUserDefinedFunctionOutput) GoString() string { + return s.String() +} + +// Represents the equivalent of a Hive user-defined function (UDF) definition. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UserDefinedFunction +type UserDefinedFunction struct { + _ struct{} `type:"structure"` + + // The Java class that contains the function code. + ClassName *string `min:"1" type:"string"` + + // The time at which the function was created. + CreateTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The name of the function. + FunctionName *string `min:"1" type:"string"` + + // The owner of the function. + OwnerName *string `min:"1" type:"string"` + + // The owner type. + OwnerType *string `type:"string" enum:"PrincipalType"` + + // The resource URIs for the function. + ResourceUris []*ResourceUri `type:"list"` +} + +// String returns the string representation +func (s UserDefinedFunction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UserDefinedFunction) GoString() string { + return s.String() +} + +// SetClassName sets the ClassName field's value. +func (s *UserDefinedFunction) SetClassName(v string) *UserDefinedFunction { + s.ClassName = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *UserDefinedFunction) SetCreateTime(v time.Time) *UserDefinedFunction { + s.CreateTime = &v + return s +} + +// SetFunctionName sets the FunctionName field's value. +func (s *UserDefinedFunction) SetFunctionName(v string) *UserDefinedFunction { + s.FunctionName = &v + return s +} + +// SetOwnerName sets the OwnerName field's value. +func (s *UserDefinedFunction) SetOwnerName(v string) *UserDefinedFunction { + s.OwnerName = &v + return s +} + +// SetOwnerType sets the OwnerType field's value. +func (s *UserDefinedFunction) SetOwnerType(v string) *UserDefinedFunction { + s.OwnerType = &v + return s +} + +// SetResourceUris sets the ResourceUris field's value. +func (s *UserDefinedFunction) SetResourceUris(v []*ResourceUri) *UserDefinedFunction { + s.ResourceUris = v + return s +} + +// A structure used to create or updata a user-defined function. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UserDefinedFunctionInput +type UserDefinedFunctionInput struct { + _ struct{} `type:"structure"` + + // The Java class that contains the function code. + ClassName *string `min:"1" type:"string"` + + // The name of the function. + FunctionName *string `min:"1" type:"string"` + + // The owner of the function. + OwnerName *string `min:"1" type:"string"` + + // The owner type. + OwnerType *string `type:"string" enum:"PrincipalType"` + + // The resource URIs for the function. + ResourceUris []*ResourceUri `type:"list"` +} + +// String returns the string representation +func (s UserDefinedFunctionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UserDefinedFunctionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UserDefinedFunctionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UserDefinedFunctionInput"} + if s.ClassName != nil && len(*s.ClassName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClassName", 1)) + } + if s.FunctionName != nil && len(*s.FunctionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) + } + if s.OwnerName != nil && len(*s.OwnerName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OwnerName", 1)) + } + if s.ResourceUris != nil { + for i, v := range s.ResourceUris { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceUris", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClassName sets the ClassName field's value. +func (s *UserDefinedFunctionInput) SetClassName(v string) *UserDefinedFunctionInput { + s.ClassName = &v + return s +} + +// SetFunctionName sets the FunctionName field's value. +func (s *UserDefinedFunctionInput) SetFunctionName(v string) *UserDefinedFunctionInput { + s.FunctionName = &v + return s +} + +// SetOwnerName sets the OwnerName field's value. +func (s *UserDefinedFunctionInput) SetOwnerName(v string) *UserDefinedFunctionInput { + s.OwnerName = &v + return s +} + +// SetOwnerType sets the OwnerType field's value. +func (s *UserDefinedFunctionInput) SetOwnerType(v string) *UserDefinedFunctionInput { + s.OwnerType = &v + return s +} + +// SetResourceUris sets the ResourceUris field's value. +func (s *UserDefinedFunctionInput) SetResourceUris(v []*ResourceUri) *UserDefinedFunctionInput { + s.ResourceUris = v + return s +} + +const ( + // ConnectionPropertyKeyHost is a ConnectionPropertyKey enum value + ConnectionPropertyKeyHost = "HOST" + + // ConnectionPropertyKeyPort is a ConnectionPropertyKey enum value + ConnectionPropertyKeyPort = "PORT" + + // ConnectionPropertyKeyUsername is a ConnectionPropertyKey enum value + ConnectionPropertyKeyUsername = "USERNAME" + + // ConnectionPropertyKeyPassword is a ConnectionPropertyKey enum value + ConnectionPropertyKeyPassword = "PASSWORD" + + // ConnectionPropertyKeyJdbcDriverJarUri is a ConnectionPropertyKey enum value + ConnectionPropertyKeyJdbcDriverJarUri = "JDBC_DRIVER_JAR_URI" + + // ConnectionPropertyKeyJdbcDriverClassName is a ConnectionPropertyKey enum value + ConnectionPropertyKeyJdbcDriverClassName = "JDBC_DRIVER_CLASS_NAME" + + // ConnectionPropertyKeyJdbcEngine is a ConnectionPropertyKey enum value + ConnectionPropertyKeyJdbcEngine = "JDBC_ENGINE" + + // ConnectionPropertyKeyJdbcEngineVersion is a ConnectionPropertyKey enum value + ConnectionPropertyKeyJdbcEngineVersion = "JDBC_ENGINE_VERSION" + + // ConnectionPropertyKeyConfigFiles is a ConnectionPropertyKey enum value + ConnectionPropertyKeyConfigFiles = "CONFIG_FILES" + + // ConnectionPropertyKeyInstanceId is a ConnectionPropertyKey enum value + ConnectionPropertyKeyInstanceId = "INSTANCE_ID" + + // ConnectionPropertyKeyJdbcConnectionUrl is a ConnectionPropertyKey enum value + ConnectionPropertyKeyJdbcConnectionUrl = "JDBC_CONNECTION_URL" +) + +const ( + // ConnectionTypeJdbc is a ConnectionType enum value + ConnectionTypeJdbc = "JDBC" + + // ConnectionTypeSftp is a ConnectionType enum value + ConnectionTypeSftp = "SFTP" +) + +const ( + // CrawlerStateReady is a CrawlerState enum value + CrawlerStateReady = "READY" + + // CrawlerStateRunning is a CrawlerState enum value + CrawlerStateRunning = "RUNNING" + + // CrawlerStateStopping is a CrawlerState enum value + CrawlerStateStopping = "STOPPING" +) + +const ( + // DeleteBehaviorLog is a DeleteBehavior enum value + DeleteBehaviorLog = "LOG" + + // DeleteBehaviorDeleteFromDatabase is a DeleteBehavior enum value + DeleteBehaviorDeleteFromDatabase = "DELETE_FROM_DATABASE" + + // DeleteBehaviorDeprecateInDatabase is a DeleteBehavior enum value + DeleteBehaviorDeprecateInDatabase = "DEPRECATE_IN_DATABASE" +) + +const ( + // JobRunStateStarting is a JobRunState enum value + JobRunStateStarting = "STARTING" + + // JobRunStateRunning is a JobRunState enum value + JobRunStateRunning = "RUNNING" + + // JobRunStateStopping is a JobRunState enum value + JobRunStateStopping = "STOPPING" + + // JobRunStateStopped is a JobRunState enum value + JobRunStateStopped = "STOPPED" + + // JobRunStateSucceeded is a JobRunState enum value + JobRunStateSucceeded = "SUCCEEDED" + + // JobRunStateFailed is a JobRunState enum value + JobRunStateFailed = "FAILED" +) + +const ( + // LastCrawlStatusSucceeded is a LastCrawlStatus enum value + LastCrawlStatusSucceeded = "SUCCEEDED" + + // LastCrawlStatusCancelled is a LastCrawlStatus enum value + LastCrawlStatusCancelled = "CANCELLED" + + // LastCrawlStatusFailed is a LastCrawlStatus enum value + LastCrawlStatusFailed = "FAILED" +) + +const ( + // LogicalAnd is a Logical enum value + LogicalAnd = "AND" +) + +const ( + // LogicalOperatorEquals is a LogicalOperator enum value + LogicalOperatorEquals = "EQUALS" +) + +const ( + // PrincipalTypeUser is a PrincipalType enum value + PrincipalTypeUser = "USER" + + // PrincipalTypeRole is a PrincipalType enum value + PrincipalTypeRole = "ROLE" + + // PrincipalTypeGroup is a PrincipalType enum value + PrincipalTypeGroup = "GROUP" +) + +const ( + // ResourceTypeJar is a ResourceType enum value + ResourceTypeJar = "JAR" + + // ResourceTypeFile is a ResourceType enum value + ResourceTypeFile = "FILE" + + // ResourceTypeArchive is a ResourceType enum value + ResourceTypeArchive = "ARCHIVE" +) + +const ( + // ScheduleStateScheduled is a ScheduleState enum value + ScheduleStateScheduled = "SCHEDULED" + + // ScheduleStateNotScheduled is a ScheduleState enum value + ScheduleStateNotScheduled = "NOT_SCHEDULED" + + // ScheduleStateTransitioning is a ScheduleState enum value + ScheduleStateTransitioning = "TRANSITIONING" +) + +const ( + // TriggerStateCreating is a TriggerState enum value + TriggerStateCreating = "CREATING" + + // TriggerStateCreated is a TriggerState enum value + TriggerStateCreated = "CREATED" + + // TriggerStateActivating is a TriggerState enum value + TriggerStateActivating = "ACTIVATING" + + // TriggerStateActivated is a TriggerState enum value + TriggerStateActivated = "ACTIVATED" + + // TriggerStateDeactivating is a TriggerState enum value + TriggerStateDeactivating = "DEACTIVATING" + + // TriggerStateDeactivated is a TriggerState enum value + TriggerStateDeactivated = "DEACTIVATED" + + // TriggerStateDeleting is a TriggerState enum value + TriggerStateDeleting = "DELETING" + + // TriggerStateUpdating is a TriggerState enum value + TriggerStateUpdating = "UPDATING" +) + +const ( + // TriggerTypeScheduled is a TriggerType enum value + TriggerTypeScheduled = "SCHEDULED" + + // TriggerTypeConditional is a TriggerType enum value + TriggerTypeConditional = "CONDITIONAL" + + // TriggerTypeOnDemand is a TriggerType enum value + TriggerTypeOnDemand = "ON_DEMAND" +) + +const ( + // UpdateBehaviorLog is a UpdateBehavior enum value + UpdateBehaviorLog = "LOG" + + // UpdateBehaviorUpdateInDatabase is a UpdateBehavior enum value + UpdateBehaviorUpdateInDatabase = "UPDATE_IN_DATABASE" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/glue/doc.go b/vendor/github.com/aws/aws-sdk-go/service/glue/doc.go new file mode 100644 index 000000000..bc9a83d5a --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/glue/doc.go @@ -0,0 +1,28 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package glue provides the client and types for making API +// requests to AWS Glue. +// +// Defines service operations used by the GlueFrontendService +// +// See https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31 for more information on this service. +// +// See glue package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/glue/ +// +// Using the Client +// +// To AWS Glue with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the AWS Glue client Glue for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/glue/#New +package glue diff --git a/vendor/github.com/aws/aws-sdk-go/service/glue/errors.go b/vendor/github.com/aws/aws-sdk-go/service/glue/errors.go new file mode 100644 index 000000000..c54357306 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/glue/errors.go @@ -0,0 +1,120 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package glue + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // Access to a resource was denied. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeAlreadyExistsException for service response error code + // "AlreadyExistsException". + // + // A resource to be created or added already exists. + ErrCodeAlreadyExistsException = "AlreadyExistsException" + + // ErrCodeConcurrentModificationException for service response error code + // "ConcurrentModificationException". + // + // Two processes are trying to modify a resource simultaneously. + ErrCodeConcurrentModificationException = "ConcurrentModificationException" + + // ErrCodeConcurrentRunsExceededException for service response error code + // "ConcurrentRunsExceededException". + // + // Too many jobs are being run concurrently. + ErrCodeConcurrentRunsExceededException = "ConcurrentRunsExceededException" + + // ErrCodeCrawlerNotRunningException for service response error code + // "CrawlerNotRunningException". + // + // The specified crawler is not running. + ErrCodeCrawlerNotRunningException = "CrawlerNotRunningException" + + // ErrCodeCrawlerRunningException for service response error code + // "CrawlerRunningException". + // + // The operation cannot be performed because the crawler is already running. + ErrCodeCrawlerRunningException = "CrawlerRunningException" + + // ErrCodeCrawlerStoppingException for service response error code + // "CrawlerStoppingException". + // + // The specified crawler is stopping. + ErrCodeCrawlerStoppingException = "CrawlerStoppingException" + + // ErrCodeEntityNotFoundException for service response error code + // "EntityNotFoundException". + // + // A specified entity does not exist + ErrCodeEntityNotFoundException = "EntityNotFoundException" + + // ErrCodeIdempotentParameterMismatchException for service response error code + // "IdempotentParameterMismatchException". + // + // The same unique identifier was associated with two different records. + ErrCodeIdempotentParameterMismatchException = "IdempotentParameterMismatchException" + + // ErrCodeInternalServiceException for service response error code + // "InternalServiceException". + // + // An internal service error occurred. + ErrCodeInternalServiceException = "InternalServiceException" + + // ErrCodeInvalidInputException for service response error code + // "InvalidInputException". + // + // The input provided was not valid. + ErrCodeInvalidInputException = "InvalidInputException" + + // ErrCodeNoScheduleException for service response error code + // "NoScheduleException". + // + // There is no applicable schedule. + ErrCodeNoScheduleException = "NoScheduleException" + + // ErrCodeOperationTimeoutException for service response error code + // "OperationTimeoutException". + // + // The operation timed out. + ErrCodeOperationTimeoutException = "OperationTimeoutException" + + // ErrCodeResourceNumberLimitExceededException for service response error code + // "ResourceNumberLimitExceededException". + // + // A resource numerical limit was exceeded. + ErrCodeResourceNumberLimitExceededException = "ResourceNumberLimitExceededException" + + // ErrCodeSchedulerNotRunningException for service response error code + // "SchedulerNotRunningException". + // + // The specified scheduler is not running. + ErrCodeSchedulerNotRunningException = "SchedulerNotRunningException" + + // ErrCodeSchedulerRunningException for service response error code + // "SchedulerRunningException". + // + // The specified scheduler is already running. + ErrCodeSchedulerRunningException = "SchedulerRunningException" + + // ErrCodeSchedulerTransitioningException for service response error code + // "SchedulerTransitioningException". + // + // The specified scheduler is transitioning. + ErrCodeSchedulerTransitioningException = "SchedulerTransitioningException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // A value could not be validated. + ErrCodeValidationException = "ValidationException" + + // ErrCodeVersionMismatchException for service response error code + // "VersionMismatchException". + // + // There was a version conflict. + ErrCodeVersionMismatchException = "VersionMismatchException" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/glue/glueiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/glue/glueiface/interface.go new file mode 100644 index 000000000..d37fe2c5b --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/glue/glueiface/interface.go @@ -0,0 +1,399 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package glueiface provides an interface to enable mocking the AWS Glue service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package glueiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/glue" +) + +// GlueAPI provides an interface to enable mocking the +// glue.Glue service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // AWS Glue. +// func myFunc(svc glueiface.GlueAPI) bool { +// // Make svc.BatchCreatePartition request +// } +// +// func main() { +// sess := session.New() +// svc := glue.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockGlueClient struct { +// glueiface.GlueAPI +// } +// func (m *mockGlueClient) BatchCreatePartition(input *glue.BatchCreatePartitionInput) (*glue.BatchCreatePartitionOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockGlueClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type GlueAPI interface { + BatchCreatePartition(*glue.BatchCreatePartitionInput) (*glue.BatchCreatePartitionOutput, error) + BatchCreatePartitionWithContext(aws.Context, *glue.BatchCreatePartitionInput, ...request.Option) (*glue.BatchCreatePartitionOutput, error) + BatchCreatePartitionRequest(*glue.BatchCreatePartitionInput) (*request.Request, *glue.BatchCreatePartitionOutput) + + BatchDeleteConnection(*glue.BatchDeleteConnectionInput) (*glue.BatchDeleteConnectionOutput, error) + BatchDeleteConnectionWithContext(aws.Context, *glue.BatchDeleteConnectionInput, ...request.Option) (*glue.BatchDeleteConnectionOutput, error) + BatchDeleteConnectionRequest(*glue.BatchDeleteConnectionInput) (*request.Request, *glue.BatchDeleteConnectionOutput) + + BatchDeletePartition(*glue.BatchDeletePartitionInput) (*glue.BatchDeletePartitionOutput, error) + BatchDeletePartitionWithContext(aws.Context, *glue.BatchDeletePartitionInput, ...request.Option) (*glue.BatchDeletePartitionOutput, error) + BatchDeletePartitionRequest(*glue.BatchDeletePartitionInput) (*request.Request, *glue.BatchDeletePartitionOutput) + + BatchDeleteTable(*glue.BatchDeleteTableInput) (*glue.BatchDeleteTableOutput, error) + BatchDeleteTableWithContext(aws.Context, *glue.BatchDeleteTableInput, ...request.Option) (*glue.BatchDeleteTableOutput, error) + BatchDeleteTableRequest(*glue.BatchDeleteTableInput) (*request.Request, *glue.BatchDeleteTableOutput) + + BatchGetPartition(*glue.BatchGetPartitionInput) (*glue.BatchGetPartitionOutput, error) + BatchGetPartitionWithContext(aws.Context, *glue.BatchGetPartitionInput, ...request.Option) (*glue.BatchGetPartitionOutput, error) + BatchGetPartitionRequest(*glue.BatchGetPartitionInput) (*request.Request, *glue.BatchGetPartitionOutput) + + CreateClassifier(*glue.CreateClassifierInput) (*glue.CreateClassifierOutput, error) + CreateClassifierWithContext(aws.Context, *glue.CreateClassifierInput, ...request.Option) (*glue.CreateClassifierOutput, error) + CreateClassifierRequest(*glue.CreateClassifierInput) (*request.Request, *glue.CreateClassifierOutput) + + CreateConnection(*glue.CreateConnectionInput) (*glue.CreateConnectionOutput, error) + CreateConnectionWithContext(aws.Context, *glue.CreateConnectionInput, ...request.Option) (*glue.CreateConnectionOutput, error) + CreateConnectionRequest(*glue.CreateConnectionInput) (*request.Request, *glue.CreateConnectionOutput) + + CreateCrawler(*glue.CreateCrawlerInput) (*glue.CreateCrawlerOutput, error) + CreateCrawlerWithContext(aws.Context, *glue.CreateCrawlerInput, ...request.Option) (*glue.CreateCrawlerOutput, error) + CreateCrawlerRequest(*glue.CreateCrawlerInput) (*request.Request, *glue.CreateCrawlerOutput) + + CreateDatabase(*glue.CreateDatabaseInput) (*glue.CreateDatabaseOutput, error) + CreateDatabaseWithContext(aws.Context, *glue.CreateDatabaseInput, ...request.Option) (*glue.CreateDatabaseOutput, error) + CreateDatabaseRequest(*glue.CreateDatabaseInput) (*request.Request, *glue.CreateDatabaseOutput) + + CreateDevEndpoint(*glue.CreateDevEndpointInput) (*glue.CreateDevEndpointOutput, error) + CreateDevEndpointWithContext(aws.Context, *glue.CreateDevEndpointInput, ...request.Option) (*glue.CreateDevEndpointOutput, error) + CreateDevEndpointRequest(*glue.CreateDevEndpointInput) (*request.Request, *glue.CreateDevEndpointOutput) + + CreateJob(*glue.CreateJobInput) (*glue.CreateJobOutput, error) + CreateJobWithContext(aws.Context, *glue.CreateJobInput, ...request.Option) (*glue.CreateJobOutput, error) + CreateJobRequest(*glue.CreateJobInput) (*request.Request, *glue.CreateJobOutput) + + CreatePartition(*glue.CreatePartitionInput) (*glue.CreatePartitionOutput, error) + CreatePartitionWithContext(aws.Context, *glue.CreatePartitionInput, ...request.Option) (*glue.CreatePartitionOutput, error) + CreatePartitionRequest(*glue.CreatePartitionInput) (*request.Request, *glue.CreatePartitionOutput) + + CreateScript(*glue.CreateScriptInput) (*glue.CreateScriptOutput, error) + CreateScriptWithContext(aws.Context, *glue.CreateScriptInput, ...request.Option) (*glue.CreateScriptOutput, error) + CreateScriptRequest(*glue.CreateScriptInput) (*request.Request, *glue.CreateScriptOutput) + + CreateTable(*glue.CreateTableInput) (*glue.CreateTableOutput, error) + CreateTableWithContext(aws.Context, *glue.CreateTableInput, ...request.Option) (*glue.CreateTableOutput, error) + CreateTableRequest(*glue.CreateTableInput) (*request.Request, *glue.CreateTableOutput) + + CreateTrigger(*glue.CreateTriggerInput) (*glue.CreateTriggerOutput, error) + CreateTriggerWithContext(aws.Context, *glue.CreateTriggerInput, ...request.Option) (*glue.CreateTriggerOutput, error) + CreateTriggerRequest(*glue.CreateTriggerInput) (*request.Request, *glue.CreateTriggerOutput) + + CreateUserDefinedFunction(*glue.CreateUserDefinedFunctionInput) (*glue.CreateUserDefinedFunctionOutput, error) + CreateUserDefinedFunctionWithContext(aws.Context, *glue.CreateUserDefinedFunctionInput, ...request.Option) (*glue.CreateUserDefinedFunctionOutput, error) + CreateUserDefinedFunctionRequest(*glue.CreateUserDefinedFunctionInput) (*request.Request, *glue.CreateUserDefinedFunctionOutput) + + DeleteClassifier(*glue.DeleteClassifierInput) (*glue.DeleteClassifierOutput, error) + DeleteClassifierWithContext(aws.Context, *glue.DeleteClassifierInput, ...request.Option) (*glue.DeleteClassifierOutput, error) + DeleteClassifierRequest(*glue.DeleteClassifierInput) (*request.Request, *glue.DeleteClassifierOutput) + + DeleteConnection(*glue.DeleteConnectionInput) (*glue.DeleteConnectionOutput, error) + DeleteConnectionWithContext(aws.Context, *glue.DeleteConnectionInput, ...request.Option) (*glue.DeleteConnectionOutput, error) + DeleteConnectionRequest(*glue.DeleteConnectionInput) (*request.Request, *glue.DeleteConnectionOutput) + + DeleteCrawler(*glue.DeleteCrawlerInput) (*glue.DeleteCrawlerOutput, error) + DeleteCrawlerWithContext(aws.Context, *glue.DeleteCrawlerInput, ...request.Option) (*glue.DeleteCrawlerOutput, error) + DeleteCrawlerRequest(*glue.DeleteCrawlerInput) (*request.Request, *glue.DeleteCrawlerOutput) + + DeleteDatabase(*glue.DeleteDatabaseInput) (*glue.DeleteDatabaseOutput, error) + DeleteDatabaseWithContext(aws.Context, *glue.DeleteDatabaseInput, ...request.Option) (*glue.DeleteDatabaseOutput, error) + DeleteDatabaseRequest(*glue.DeleteDatabaseInput) (*request.Request, *glue.DeleteDatabaseOutput) + + DeleteDevEndpoint(*glue.DeleteDevEndpointInput) (*glue.DeleteDevEndpointOutput, error) + DeleteDevEndpointWithContext(aws.Context, *glue.DeleteDevEndpointInput, ...request.Option) (*glue.DeleteDevEndpointOutput, error) + DeleteDevEndpointRequest(*glue.DeleteDevEndpointInput) (*request.Request, *glue.DeleteDevEndpointOutput) + + DeleteJob(*glue.DeleteJobInput) (*glue.DeleteJobOutput, error) + DeleteJobWithContext(aws.Context, *glue.DeleteJobInput, ...request.Option) (*glue.DeleteJobOutput, error) + DeleteJobRequest(*glue.DeleteJobInput) (*request.Request, *glue.DeleteJobOutput) + + DeletePartition(*glue.DeletePartitionInput) (*glue.DeletePartitionOutput, error) + DeletePartitionWithContext(aws.Context, *glue.DeletePartitionInput, ...request.Option) (*glue.DeletePartitionOutput, error) + DeletePartitionRequest(*glue.DeletePartitionInput) (*request.Request, *glue.DeletePartitionOutput) + + DeleteTable(*glue.DeleteTableInput) (*glue.DeleteTableOutput, error) + DeleteTableWithContext(aws.Context, *glue.DeleteTableInput, ...request.Option) (*glue.DeleteTableOutput, error) + DeleteTableRequest(*glue.DeleteTableInput) (*request.Request, *glue.DeleteTableOutput) + + DeleteTrigger(*glue.DeleteTriggerInput) (*glue.DeleteTriggerOutput, error) + DeleteTriggerWithContext(aws.Context, *glue.DeleteTriggerInput, ...request.Option) (*glue.DeleteTriggerOutput, error) + DeleteTriggerRequest(*glue.DeleteTriggerInput) (*request.Request, *glue.DeleteTriggerOutput) + + DeleteUserDefinedFunction(*glue.DeleteUserDefinedFunctionInput) (*glue.DeleteUserDefinedFunctionOutput, error) + DeleteUserDefinedFunctionWithContext(aws.Context, *glue.DeleteUserDefinedFunctionInput, ...request.Option) (*glue.DeleteUserDefinedFunctionOutput, error) + DeleteUserDefinedFunctionRequest(*glue.DeleteUserDefinedFunctionInput) (*request.Request, *glue.DeleteUserDefinedFunctionOutput) + + GetCatalogImportStatus(*glue.GetCatalogImportStatusInput) (*glue.GetCatalogImportStatusOutput, error) + GetCatalogImportStatusWithContext(aws.Context, *glue.GetCatalogImportStatusInput, ...request.Option) (*glue.GetCatalogImportStatusOutput, error) + GetCatalogImportStatusRequest(*glue.GetCatalogImportStatusInput) (*request.Request, *glue.GetCatalogImportStatusOutput) + + GetClassifier(*glue.GetClassifierInput) (*glue.GetClassifierOutput, error) + GetClassifierWithContext(aws.Context, *glue.GetClassifierInput, ...request.Option) (*glue.GetClassifierOutput, error) + GetClassifierRequest(*glue.GetClassifierInput) (*request.Request, *glue.GetClassifierOutput) + + GetClassifiers(*glue.GetClassifiersInput) (*glue.GetClassifiersOutput, error) + GetClassifiersWithContext(aws.Context, *glue.GetClassifiersInput, ...request.Option) (*glue.GetClassifiersOutput, error) + GetClassifiersRequest(*glue.GetClassifiersInput) (*request.Request, *glue.GetClassifiersOutput) + + GetClassifiersPages(*glue.GetClassifiersInput, func(*glue.GetClassifiersOutput, bool) bool) error + GetClassifiersPagesWithContext(aws.Context, *glue.GetClassifiersInput, func(*glue.GetClassifiersOutput, bool) bool, ...request.Option) error + + GetConnection(*glue.GetConnectionInput) (*glue.GetConnectionOutput, error) + GetConnectionWithContext(aws.Context, *glue.GetConnectionInput, ...request.Option) (*glue.GetConnectionOutput, error) + GetConnectionRequest(*glue.GetConnectionInput) (*request.Request, *glue.GetConnectionOutput) + + GetConnections(*glue.GetConnectionsInput) (*glue.GetConnectionsOutput, error) + GetConnectionsWithContext(aws.Context, *glue.GetConnectionsInput, ...request.Option) (*glue.GetConnectionsOutput, error) + GetConnectionsRequest(*glue.GetConnectionsInput) (*request.Request, *glue.GetConnectionsOutput) + + GetConnectionsPages(*glue.GetConnectionsInput, func(*glue.GetConnectionsOutput, bool) bool) error + GetConnectionsPagesWithContext(aws.Context, *glue.GetConnectionsInput, func(*glue.GetConnectionsOutput, bool) bool, ...request.Option) error + + GetCrawler(*glue.GetCrawlerInput) (*glue.GetCrawlerOutput, error) + GetCrawlerWithContext(aws.Context, *glue.GetCrawlerInput, ...request.Option) (*glue.GetCrawlerOutput, error) + GetCrawlerRequest(*glue.GetCrawlerInput) (*request.Request, *glue.GetCrawlerOutput) + + GetCrawlerMetrics(*glue.GetCrawlerMetricsInput) (*glue.GetCrawlerMetricsOutput, error) + GetCrawlerMetricsWithContext(aws.Context, *glue.GetCrawlerMetricsInput, ...request.Option) (*glue.GetCrawlerMetricsOutput, error) + GetCrawlerMetricsRequest(*glue.GetCrawlerMetricsInput) (*request.Request, *glue.GetCrawlerMetricsOutput) + + GetCrawlerMetricsPages(*glue.GetCrawlerMetricsInput, func(*glue.GetCrawlerMetricsOutput, bool) bool) error + GetCrawlerMetricsPagesWithContext(aws.Context, *glue.GetCrawlerMetricsInput, func(*glue.GetCrawlerMetricsOutput, bool) bool, ...request.Option) error + + GetCrawlers(*glue.GetCrawlersInput) (*glue.GetCrawlersOutput, error) + GetCrawlersWithContext(aws.Context, *glue.GetCrawlersInput, ...request.Option) (*glue.GetCrawlersOutput, error) + GetCrawlersRequest(*glue.GetCrawlersInput) (*request.Request, *glue.GetCrawlersOutput) + + GetCrawlersPages(*glue.GetCrawlersInput, func(*glue.GetCrawlersOutput, bool) bool) error + GetCrawlersPagesWithContext(aws.Context, *glue.GetCrawlersInput, func(*glue.GetCrawlersOutput, bool) bool, ...request.Option) error + + GetDatabase(*glue.GetDatabaseInput) (*glue.GetDatabaseOutput, error) + GetDatabaseWithContext(aws.Context, *glue.GetDatabaseInput, ...request.Option) (*glue.GetDatabaseOutput, error) + GetDatabaseRequest(*glue.GetDatabaseInput) (*request.Request, *glue.GetDatabaseOutput) + + GetDatabases(*glue.GetDatabasesInput) (*glue.GetDatabasesOutput, error) + GetDatabasesWithContext(aws.Context, *glue.GetDatabasesInput, ...request.Option) (*glue.GetDatabasesOutput, error) + GetDatabasesRequest(*glue.GetDatabasesInput) (*request.Request, *glue.GetDatabasesOutput) + + GetDatabasesPages(*glue.GetDatabasesInput, func(*glue.GetDatabasesOutput, bool) bool) error + GetDatabasesPagesWithContext(aws.Context, *glue.GetDatabasesInput, func(*glue.GetDatabasesOutput, bool) bool, ...request.Option) error + + GetDataflowGraph(*glue.GetDataflowGraphInput) (*glue.GetDataflowGraphOutput, error) + GetDataflowGraphWithContext(aws.Context, *glue.GetDataflowGraphInput, ...request.Option) (*glue.GetDataflowGraphOutput, error) + GetDataflowGraphRequest(*glue.GetDataflowGraphInput) (*request.Request, *glue.GetDataflowGraphOutput) + + GetDevEndpoint(*glue.GetDevEndpointInput) (*glue.GetDevEndpointOutput, error) + GetDevEndpointWithContext(aws.Context, *glue.GetDevEndpointInput, ...request.Option) (*glue.GetDevEndpointOutput, error) + GetDevEndpointRequest(*glue.GetDevEndpointInput) (*request.Request, *glue.GetDevEndpointOutput) + + GetDevEndpoints(*glue.GetDevEndpointsInput) (*glue.GetDevEndpointsOutput, error) + GetDevEndpointsWithContext(aws.Context, *glue.GetDevEndpointsInput, ...request.Option) (*glue.GetDevEndpointsOutput, error) + GetDevEndpointsRequest(*glue.GetDevEndpointsInput) (*request.Request, *glue.GetDevEndpointsOutput) + + GetDevEndpointsPages(*glue.GetDevEndpointsInput, func(*glue.GetDevEndpointsOutput, bool) bool) error + GetDevEndpointsPagesWithContext(aws.Context, *glue.GetDevEndpointsInput, func(*glue.GetDevEndpointsOutput, bool) bool, ...request.Option) error + + GetJob(*glue.GetJobInput) (*glue.GetJobOutput, error) + GetJobWithContext(aws.Context, *glue.GetJobInput, ...request.Option) (*glue.GetJobOutput, error) + GetJobRequest(*glue.GetJobInput) (*request.Request, *glue.GetJobOutput) + + GetJobRun(*glue.GetJobRunInput) (*glue.GetJobRunOutput, error) + GetJobRunWithContext(aws.Context, *glue.GetJobRunInput, ...request.Option) (*glue.GetJobRunOutput, error) + GetJobRunRequest(*glue.GetJobRunInput) (*request.Request, *glue.GetJobRunOutput) + + GetJobRuns(*glue.GetJobRunsInput) (*glue.GetJobRunsOutput, error) + GetJobRunsWithContext(aws.Context, *glue.GetJobRunsInput, ...request.Option) (*glue.GetJobRunsOutput, error) + GetJobRunsRequest(*glue.GetJobRunsInput) (*request.Request, *glue.GetJobRunsOutput) + + GetJobRunsPages(*glue.GetJobRunsInput, func(*glue.GetJobRunsOutput, bool) bool) error + GetJobRunsPagesWithContext(aws.Context, *glue.GetJobRunsInput, func(*glue.GetJobRunsOutput, bool) bool, ...request.Option) error + + GetJobs(*glue.GetJobsInput) (*glue.GetJobsOutput, error) + GetJobsWithContext(aws.Context, *glue.GetJobsInput, ...request.Option) (*glue.GetJobsOutput, error) + GetJobsRequest(*glue.GetJobsInput) (*request.Request, *glue.GetJobsOutput) + + GetJobsPages(*glue.GetJobsInput, func(*glue.GetJobsOutput, bool) bool) error + GetJobsPagesWithContext(aws.Context, *glue.GetJobsInput, func(*glue.GetJobsOutput, bool) bool, ...request.Option) error + + GetMapping(*glue.GetMappingInput) (*glue.GetMappingOutput, error) + GetMappingWithContext(aws.Context, *glue.GetMappingInput, ...request.Option) (*glue.GetMappingOutput, error) + GetMappingRequest(*glue.GetMappingInput) (*request.Request, *glue.GetMappingOutput) + + GetPartition(*glue.GetPartitionInput) (*glue.GetPartitionOutput, error) + GetPartitionWithContext(aws.Context, *glue.GetPartitionInput, ...request.Option) (*glue.GetPartitionOutput, error) + GetPartitionRequest(*glue.GetPartitionInput) (*request.Request, *glue.GetPartitionOutput) + + GetPartitions(*glue.GetPartitionsInput) (*glue.GetPartitionsOutput, error) + GetPartitionsWithContext(aws.Context, *glue.GetPartitionsInput, ...request.Option) (*glue.GetPartitionsOutput, error) + GetPartitionsRequest(*glue.GetPartitionsInput) (*request.Request, *glue.GetPartitionsOutput) + + GetPartitionsPages(*glue.GetPartitionsInput, func(*glue.GetPartitionsOutput, bool) bool) error + GetPartitionsPagesWithContext(aws.Context, *glue.GetPartitionsInput, func(*glue.GetPartitionsOutput, bool) bool, ...request.Option) error + + GetPlan(*glue.GetPlanInput) (*glue.GetPlanOutput, error) + GetPlanWithContext(aws.Context, *glue.GetPlanInput, ...request.Option) (*glue.GetPlanOutput, error) + GetPlanRequest(*glue.GetPlanInput) (*request.Request, *glue.GetPlanOutput) + + GetTable(*glue.GetTableInput) (*glue.GetTableOutput, error) + GetTableWithContext(aws.Context, *glue.GetTableInput, ...request.Option) (*glue.GetTableOutput, error) + GetTableRequest(*glue.GetTableInput) (*request.Request, *glue.GetTableOutput) + + GetTableVersions(*glue.GetTableVersionsInput) (*glue.GetTableVersionsOutput, error) + GetTableVersionsWithContext(aws.Context, *glue.GetTableVersionsInput, ...request.Option) (*glue.GetTableVersionsOutput, error) + GetTableVersionsRequest(*glue.GetTableVersionsInput) (*request.Request, *glue.GetTableVersionsOutput) + + GetTableVersionsPages(*glue.GetTableVersionsInput, func(*glue.GetTableVersionsOutput, bool) bool) error + GetTableVersionsPagesWithContext(aws.Context, *glue.GetTableVersionsInput, func(*glue.GetTableVersionsOutput, bool) bool, ...request.Option) error + + GetTables(*glue.GetTablesInput) (*glue.GetTablesOutput, error) + GetTablesWithContext(aws.Context, *glue.GetTablesInput, ...request.Option) (*glue.GetTablesOutput, error) + GetTablesRequest(*glue.GetTablesInput) (*request.Request, *glue.GetTablesOutput) + + GetTablesPages(*glue.GetTablesInput, func(*glue.GetTablesOutput, bool) bool) error + GetTablesPagesWithContext(aws.Context, *glue.GetTablesInput, func(*glue.GetTablesOutput, bool) bool, ...request.Option) error + + GetTrigger(*glue.GetTriggerInput) (*glue.GetTriggerOutput, error) + GetTriggerWithContext(aws.Context, *glue.GetTriggerInput, ...request.Option) (*glue.GetTriggerOutput, error) + GetTriggerRequest(*glue.GetTriggerInput) (*request.Request, *glue.GetTriggerOutput) + + GetTriggers(*glue.GetTriggersInput) (*glue.GetTriggersOutput, error) + GetTriggersWithContext(aws.Context, *glue.GetTriggersInput, ...request.Option) (*glue.GetTriggersOutput, error) + GetTriggersRequest(*glue.GetTriggersInput) (*request.Request, *glue.GetTriggersOutput) + + GetTriggersPages(*glue.GetTriggersInput, func(*glue.GetTriggersOutput, bool) bool) error + GetTriggersPagesWithContext(aws.Context, *glue.GetTriggersInput, func(*glue.GetTriggersOutput, bool) bool, ...request.Option) error + + GetUserDefinedFunction(*glue.GetUserDefinedFunctionInput) (*glue.GetUserDefinedFunctionOutput, error) + GetUserDefinedFunctionWithContext(aws.Context, *glue.GetUserDefinedFunctionInput, ...request.Option) (*glue.GetUserDefinedFunctionOutput, error) + GetUserDefinedFunctionRequest(*glue.GetUserDefinedFunctionInput) (*request.Request, *glue.GetUserDefinedFunctionOutput) + + GetUserDefinedFunctions(*glue.GetUserDefinedFunctionsInput) (*glue.GetUserDefinedFunctionsOutput, error) + GetUserDefinedFunctionsWithContext(aws.Context, *glue.GetUserDefinedFunctionsInput, ...request.Option) (*glue.GetUserDefinedFunctionsOutput, error) + GetUserDefinedFunctionsRequest(*glue.GetUserDefinedFunctionsInput) (*request.Request, *glue.GetUserDefinedFunctionsOutput) + + GetUserDefinedFunctionsPages(*glue.GetUserDefinedFunctionsInput, func(*glue.GetUserDefinedFunctionsOutput, bool) bool) error + GetUserDefinedFunctionsPagesWithContext(aws.Context, *glue.GetUserDefinedFunctionsInput, func(*glue.GetUserDefinedFunctionsOutput, bool) bool, ...request.Option) error + + ImportCatalogToGlue(*glue.ImportCatalogToGlueInput) (*glue.ImportCatalogToGlueOutput, error) + ImportCatalogToGlueWithContext(aws.Context, *glue.ImportCatalogToGlueInput, ...request.Option) (*glue.ImportCatalogToGlueOutput, error) + ImportCatalogToGlueRequest(*glue.ImportCatalogToGlueInput) (*request.Request, *glue.ImportCatalogToGlueOutput) + + ResetJobBookmark(*glue.ResetJobBookmarkInput) (*glue.ResetJobBookmarkOutput, error) + ResetJobBookmarkWithContext(aws.Context, *glue.ResetJobBookmarkInput, ...request.Option) (*glue.ResetJobBookmarkOutput, error) + ResetJobBookmarkRequest(*glue.ResetJobBookmarkInput) (*request.Request, *glue.ResetJobBookmarkOutput) + + StartCrawler(*glue.StartCrawlerInput) (*glue.StartCrawlerOutput, error) + StartCrawlerWithContext(aws.Context, *glue.StartCrawlerInput, ...request.Option) (*glue.StartCrawlerOutput, error) + StartCrawlerRequest(*glue.StartCrawlerInput) (*request.Request, *glue.StartCrawlerOutput) + + StartCrawlerSchedule(*glue.StartCrawlerScheduleInput) (*glue.StartCrawlerScheduleOutput, error) + StartCrawlerScheduleWithContext(aws.Context, *glue.StartCrawlerScheduleInput, ...request.Option) (*glue.StartCrawlerScheduleOutput, error) + StartCrawlerScheduleRequest(*glue.StartCrawlerScheduleInput) (*request.Request, *glue.StartCrawlerScheduleOutput) + + StartJobRun(*glue.StartJobRunInput) (*glue.StartJobRunOutput, error) + StartJobRunWithContext(aws.Context, *glue.StartJobRunInput, ...request.Option) (*glue.StartJobRunOutput, error) + StartJobRunRequest(*glue.StartJobRunInput) (*request.Request, *glue.StartJobRunOutput) + + StartTrigger(*glue.StartTriggerInput) (*glue.StartTriggerOutput, error) + StartTriggerWithContext(aws.Context, *glue.StartTriggerInput, ...request.Option) (*glue.StartTriggerOutput, error) + StartTriggerRequest(*glue.StartTriggerInput) (*request.Request, *glue.StartTriggerOutput) + + StopCrawler(*glue.StopCrawlerInput) (*glue.StopCrawlerOutput, error) + StopCrawlerWithContext(aws.Context, *glue.StopCrawlerInput, ...request.Option) (*glue.StopCrawlerOutput, error) + StopCrawlerRequest(*glue.StopCrawlerInput) (*request.Request, *glue.StopCrawlerOutput) + + StopCrawlerSchedule(*glue.StopCrawlerScheduleInput) (*glue.StopCrawlerScheduleOutput, error) + StopCrawlerScheduleWithContext(aws.Context, *glue.StopCrawlerScheduleInput, ...request.Option) (*glue.StopCrawlerScheduleOutput, error) + StopCrawlerScheduleRequest(*glue.StopCrawlerScheduleInput) (*request.Request, *glue.StopCrawlerScheduleOutput) + + StopTrigger(*glue.StopTriggerInput) (*glue.StopTriggerOutput, error) + StopTriggerWithContext(aws.Context, *glue.StopTriggerInput, ...request.Option) (*glue.StopTriggerOutput, error) + StopTriggerRequest(*glue.StopTriggerInput) (*request.Request, *glue.StopTriggerOutput) + + UpdateClassifier(*glue.UpdateClassifierInput) (*glue.UpdateClassifierOutput, error) + UpdateClassifierWithContext(aws.Context, *glue.UpdateClassifierInput, ...request.Option) (*glue.UpdateClassifierOutput, error) + UpdateClassifierRequest(*glue.UpdateClassifierInput) (*request.Request, *glue.UpdateClassifierOutput) + + UpdateConnection(*glue.UpdateConnectionInput) (*glue.UpdateConnectionOutput, error) + UpdateConnectionWithContext(aws.Context, *glue.UpdateConnectionInput, ...request.Option) (*glue.UpdateConnectionOutput, error) + UpdateConnectionRequest(*glue.UpdateConnectionInput) (*request.Request, *glue.UpdateConnectionOutput) + + UpdateCrawler(*glue.UpdateCrawlerInput) (*glue.UpdateCrawlerOutput, error) + UpdateCrawlerWithContext(aws.Context, *glue.UpdateCrawlerInput, ...request.Option) (*glue.UpdateCrawlerOutput, error) + UpdateCrawlerRequest(*glue.UpdateCrawlerInput) (*request.Request, *glue.UpdateCrawlerOutput) + + UpdateCrawlerSchedule(*glue.UpdateCrawlerScheduleInput) (*glue.UpdateCrawlerScheduleOutput, error) + UpdateCrawlerScheduleWithContext(aws.Context, *glue.UpdateCrawlerScheduleInput, ...request.Option) (*glue.UpdateCrawlerScheduleOutput, error) + UpdateCrawlerScheduleRequest(*glue.UpdateCrawlerScheduleInput) (*request.Request, *glue.UpdateCrawlerScheduleOutput) + + UpdateDatabase(*glue.UpdateDatabaseInput) (*glue.UpdateDatabaseOutput, error) + UpdateDatabaseWithContext(aws.Context, *glue.UpdateDatabaseInput, ...request.Option) (*glue.UpdateDatabaseOutput, error) + UpdateDatabaseRequest(*glue.UpdateDatabaseInput) (*request.Request, *glue.UpdateDatabaseOutput) + + UpdateDevEndpoint(*glue.UpdateDevEndpointInput) (*glue.UpdateDevEndpointOutput, error) + UpdateDevEndpointWithContext(aws.Context, *glue.UpdateDevEndpointInput, ...request.Option) (*glue.UpdateDevEndpointOutput, error) + UpdateDevEndpointRequest(*glue.UpdateDevEndpointInput) (*request.Request, *glue.UpdateDevEndpointOutput) + + UpdateJob(*glue.UpdateJobInput) (*glue.UpdateJobOutput, error) + UpdateJobWithContext(aws.Context, *glue.UpdateJobInput, ...request.Option) (*glue.UpdateJobOutput, error) + UpdateJobRequest(*glue.UpdateJobInput) (*request.Request, *glue.UpdateJobOutput) + + UpdatePartition(*glue.UpdatePartitionInput) (*glue.UpdatePartitionOutput, error) + UpdatePartitionWithContext(aws.Context, *glue.UpdatePartitionInput, ...request.Option) (*glue.UpdatePartitionOutput, error) + UpdatePartitionRequest(*glue.UpdatePartitionInput) (*request.Request, *glue.UpdatePartitionOutput) + + UpdateTable(*glue.UpdateTableInput) (*glue.UpdateTableOutput, error) + UpdateTableWithContext(aws.Context, *glue.UpdateTableInput, ...request.Option) (*glue.UpdateTableOutput, error) + UpdateTableRequest(*glue.UpdateTableInput) (*request.Request, *glue.UpdateTableOutput) + + UpdateTrigger(*glue.UpdateTriggerInput) (*glue.UpdateTriggerOutput, error) + UpdateTriggerWithContext(aws.Context, *glue.UpdateTriggerInput, ...request.Option) (*glue.UpdateTriggerOutput, error) + UpdateTriggerRequest(*glue.UpdateTriggerInput) (*request.Request, *glue.UpdateTriggerOutput) + + UpdateUserDefinedFunction(*glue.UpdateUserDefinedFunctionInput) (*glue.UpdateUserDefinedFunctionOutput, error) + UpdateUserDefinedFunctionWithContext(aws.Context, *glue.UpdateUserDefinedFunctionInput, ...request.Option) (*glue.UpdateUserDefinedFunctionOutput, error) + UpdateUserDefinedFunctionRequest(*glue.UpdateUserDefinedFunctionInput) (*request.Request, *glue.UpdateUserDefinedFunctionOutput) +} + +var _ GlueAPI = (*glue.Glue)(nil) diff --git a/vendor/github.com/aws/aws-sdk-go/service/glue/service.go b/vendor/github.com/aws/aws-sdk-go/service/glue/service.go new file mode 100644 index 000000000..5e017698a --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/glue/service.go @@ -0,0 +1,95 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package glue + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" +) + +// Glue provides the API operation methods for making requests to +// AWS Glue. See this package's package overview docs +// for details on the service. +// +// Glue methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type Glue struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "glue" // Service endpoint prefix API calls made to. + EndpointsID = ServiceName // Service ID for Regions and Endpoints metadata. +) + +// New creates a new instance of the Glue client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// // Create a Glue client from just a session. +// svc := glue.New(mySession) +// +// // Create a Glue client with additional configuration +// svc := glue.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *Glue { + c := p.ClientConfig(EndpointsID, cfgs...) + return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion, c.SigningName) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion, signingName string) *Glue { + svc := &Glue{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2017-03-31", + JSONVersion: "1.1", + TargetPrefix: "AWSGlue", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(jsonrpc.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(jsonrpc.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(jsonrpc.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(jsonrpc.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a Glue operation and runs any +// custom request initialization. +func (c *Glue) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/greengrass/api.go b/vendor/github.com/aws/aws-sdk-go/service/greengrass/api.go index 2c0f3c4c4..f1992a497 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/greengrass/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/greengrass/api.go @@ -12,19 +12,18 @@ const opAssociateRoleToGroup = "AssociateRoleToGroup" // AssociateRoleToGroupRequest generates a "aws/request.Request" representing the // client's request for the AssociateRoleToGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssociateRoleToGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssociateRoleToGroup method directly -// instead. +// See AssociateRoleToGroup for more information on using the AssociateRoleToGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssociateRoleToGroupRequest method. // req, resp := client.AssociateRoleToGroupRequest(params) @@ -69,7 +68,7 @@ func (c *Greengrass) AssociateRoleToGroupRequest(input *AssociateRoleToGroupInpu // user error // // * ErrCodeInternalServerErrorException "InternalServerErrorException" -// This request was invalid. +// Server Error // // Please also see https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/AssociateRoleToGroup func (c *Greengrass) AssociateRoleToGroup(input *AssociateRoleToGroupInput) (*AssociateRoleToGroupOutput, error) { @@ -97,19 +96,18 @@ const opAssociateServiceRoleToAccount = "AssociateServiceRoleToAccount" // AssociateServiceRoleToAccountRequest generates a "aws/request.Request" representing the // client's request for the AssociateServiceRoleToAccount operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssociateServiceRoleToAccount for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssociateServiceRoleToAccount method directly -// instead. +// See AssociateServiceRoleToAccount for more information on using the AssociateServiceRoleToAccount +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssociateServiceRoleToAccountRequest method. // req, resp := client.AssociateServiceRoleToAccountRequest(params) @@ -155,7 +153,7 @@ func (c *Greengrass) AssociateServiceRoleToAccountRequest(input *AssociateServic // user error // // * ErrCodeInternalServerErrorException "InternalServerErrorException" -// This request was invalid. +// Server Error // // Please also see https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/AssociateServiceRoleToAccount func (c *Greengrass) AssociateServiceRoleToAccount(input *AssociateServiceRoleToAccountInput) (*AssociateServiceRoleToAccountOutput, error) { @@ -183,19 +181,18 @@ const opCreateCoreDefinition = "CreateCoreDefinition" // CreateCoreDefinitionRequest generates a "aws/request.Request" representing the // client's request for the CreateCoreDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateCoreDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateCoreDefinition method directly -// instead. +// See CreateCoreDefinition for more information on using the CreateCoreDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateCoreDefinitionRequest method. // req, resp := client.CreateCoreDefinitionRequest(params) @@ -265,19 +262,18 @@ const opCreateCoreDefinitionVersion = "CreateCoreDefinitionVersion" // CreateCoreDefinitionVersionRequest generates a "aws/request.Request" representing the // client's request for the CreateCoreDefinitionVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateCoreDefinitionVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateCoreDefinitionVersion method directly -// instead. +// See CreateCoreDefinitionVersion for more information on using the CreateCoreDefinitionVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateCoreDefinitionVersionRequest method. // req, resp := client.CreateCoreDefinitionVersionRequest(params) @@ -346,19 +342,18 @@ const opCreateDeployment = "CreateDeployment" // CreateDeploymentRequest generates a "aws/request.Request" representing the // client's request for the CreateDeployment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDeployment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDeployment method directly -// instead. +// See CreateDeployment for more information on using the CreateDeployment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDeploymentRequest method. // req, resp := client.CreateDeploymentRequest(params) @@ -426,19 +421,18 @@ const opCreateDeviceDefinition = "CreateDeviceDefinition" // CreateDeviceDefinitionRequest generates a "aws/request.Request" representing the // client's request for the CreateDeviceDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDeviceDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDeviceDefinition method directly -// instead. +// See CreateDeviceDefinition for more information on using the CreateDeviceDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDeviceDefinitionRequest method. // req, resp := client.CreateDeviceDefinitionRequest(params) @@ -508,19 +502,18 @@ const opCreateDeviceDefinitionVersion = "CreateDeviceDefinitionVersion" // CreateDeviceDefinitionVersionRequest generates a "aws/request.Request" representing the // client's request for the CreateDeviceDefinitionVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDeviceDefinitionVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDeviceDefinitionVersion method directly -// instead. +// See CreateDeviceDefinitionVersion for more information on using the CreateDeviceDefinitionVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDeviceDefinitionVersionRequest method. // req, resp := client.CreateDeviceDefinitionVersionRequest(params) @@ -588,19 +581,18 @@ const opCreateFunctionDefinition = "CreateFunctionDefinition" // CreateFunctionDefinitionRequest generates a "aws/request.Request" representing the // client's request for the CreateFunctionDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateFunctionDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateFunctionDefinition method directly -// instead. +// See CreateFunctionDefinition for more information on using the CreateFunctionDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateFunctionDefinitionRequest method. // req, resp := client.CreateFunctionDefinitionRequest(params) @@ -671,19 +663,18 @@ const opCreateFunctionDefinitionVersion = "CreateFunctionDefinitionVersion" // CreateFunctionDefinitionVersionRequest generates a "aws/request.Request" representing the // client's request for the CreateFunctionDefinitionVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateFunctionDefinitionVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateFunctionDefinitionVersion method directly -// instead. +// See CreateFunctionDefinitionVersion for more information on using the CreateFunctionDefinitionVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateFunctionDefinitionVersionRequest method. // req, resp := client.CreateFunctionDefinitionVersionRequest(params) @@ -751,19 +742,18 @@ const opCreateGroup = "CreateGroup" // CreateGroupRequest generates a "aws/request.Request" representing the // client's request for the CreateGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateGroup method directly -// instead. +// See CreateGroup for more information on using the CreateGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateGroupRequest method. // req, resp := client.CreateGroupRequest(params) @@ -832,19 +822,18 @@ const opCreateGroupCertificateAuthority = "CreateGroupCertificateAuthority" // CreateGroupCertificateAuthorityRequest generates a "aws/request.Request" representing the // client's request for the CreateGroupCertificateAuthority operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateGroupCertificateAuthority for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateGroupCertificateAuthority method directly -// instead. +// See CreateGroupCertificateAuthority for more information on using the CreateGroupCertificateAuthority +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateGroupCertificateAuthorityRequest method. // req, resp := client.CreateGroupCertificateAuthorityRequest(params) @@ -888,7 +877,7 @@ func (c *Greengrass) CreateGroupCertificateAuthorityRequest(input *CreateGroupCe // user error // // * ErrCodeInternalServerErrorException "InternalServerErrorException" -// This request was invalid. +// Server Error // // Please also see https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateGroupCertificateAuthority func (c *Greengrass) CreateGroupCertificateAuthority(input *CreateGroupCertificateAuthorityInput) (*CreateGroupCertificateAuthorityOutput, error) { @@ -916,19 +905,18 @@ const opCreateGroupVersion = "CreateGroupVersion" // CreateGroupVersionRequest generates a "aws/request.Request" representing the // client's request for the CreateGroupVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateGroupVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateGroupVersion method directly -// instead. +// See CreateGroupVersion for more information on using the CreateGroupVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateGroupVersionRequest method. // req, resp := client.CreateGroupVersionRequest(params) @@ -996,19 +984,18 @@ const opCreateLoggerDefinition = "CreateLoggerDefinition" // CreateLoggerDefinitionRequest generates a "aws/request.Request" representing the // client's request for the CreateLoggerDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateLoggerDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateLoggerDefinition method directly -// instead. +// See CreateLoggerDefinition for more information on using the CreateLoggerDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateLoggerDefinitionRequest method. // req, resp := client.CreateLoggerDefinitionRequest(params) @@ -1078,19 +1065,18 @@ const opCreateLoggerDefinitionVersion = "CreateLoggerDefinitionVersion" // CreateLoggerDefinitionVersionRequest generates a "aws/request.Request" representing the // client's request for the CreateLoggerDefinitionVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateLoggerDefinitionVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateLoggerDefinitionVersion method directly -// instead. +// See CreateLoggerDefinitionVersion for more information on using the CreateLoggerDefinitionVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateLoggerDefinitionVersionRequest method. // req, resp := client.CreateLoggerDefinitionVersionRequest(params) @@ -1158,19 +1144,18 @@ const opCreateSubscriptionDefinition = "CreateSubscriptionDefinition" // CreateSubscriptionDefinitionRequest generates a "aws/request.Request" representing the // client's request for the CreateSubscriptionDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateSubscriptionDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateSubscriptionDefinition method directly -// instead. +// See CreateSubscriptionDefinition for more information on using the CreateSubscriptionDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateSubscriptionDefinitionRequest method. // req, resp := client.CreateSubscriptionDefinitionRequest(params) @@ -1240,19 +1225,18 @@ const opCreateSubscriptionDefinitionVersion = "CreateSubscriptionDefinitionVersi // CreateSubscriptionDefinitionVersionRequest generates a "aws/request.Request" representing the // client's request for the CreateSubscriptionDefinitionVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateSubscriptionDefinitionVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateSubscriptionDefinitionVersion method directly -// instead. +// See CreateSubscriptionDefinitionVersion for more information on using the CreateSubscriptionDefinitionVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateSubscriptionDefinitionVersionRequest method. // req, resp := client.CreateSubscriptionDefinitionVersionRequest(params) @@ -1320,19 +1304,18 @@ const opDeleteCoreDefinition = "DeleteCoreDefinition" // DeleteCoreDefinitionRequest generates a "aws/request.Request" representing the // client's request for the DeleteCoreDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteCoreDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteCoreDefinition method directly -// instead. +// See DeleteCoreDefinition for more information on using the DeleteCoreDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteCoreDefinitionRequest method. // req, resp := client.DeleteCoreDefinitionRequest(params) @@ -1401,19 +1384,18 @@ const opDeleteDeviceDefinition = "DeleteDeviceDefinition" // DeleteDeviceDefinitionRequest generates a "aws/request.Request" representing the // client's request for the DeleteDeviceDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDeviceDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDeviceDefinition method directly -// instead. +// See DeleteDeviceDefinition for more information on using the DeleteDeviceDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDeviceDefinitionRequest method. // req, resp := client.DeleteDeviceDefinitionRequest(params) @@ -1482,19 +1464,18 @@ const opDeleteFunctionDefinition = "DeleteFunctionDefinition" // DeleteFunctionDefinitionRequest generates a "aws/request.Request" representing the // client's request for the DeleteFunctionDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteFunctionDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteFunctionDefinition method directly -// instead. +// See DeleteFunctionDefinition for more information on using the DeleteFunctionDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteFunctionDefinitionRequest method. // req, resp := client.DeleteFunctionDefinitionRequest(params) @@ -1563,19 +1544,18 @@ const opDeleteGroup = "DeleteGroup" // DeleteGroupRequest generates a "aws/request.Request" representing the // client's request for the DeleteGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteGroup method directly -// instead. +// See DeleteGroup for more information on using the DeleteGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteGroupRequest method. // req, resp := client.DeleteGroupRequest(params) @@ -1643,19 +1623,18 @@ const opDeleteLoggerDefinition = "DeleteLoggerDefinition" // DeleteLoggerDefinitionRequest generates a "aws/request.Request" representing the // client's request for the DeleteLoggerDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteLoggerDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteLoggerDefinition method directly -// instead. +// See DeleteLoggerDefinition for more information on using the DeleteLoggerDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteLoggerDefinitionRequest method. // req, resp := client.DeleteLoggerDefinitionRequest(params) @@ -1724,19 +1703,18 @@ const opDeleteSubscriptionDefinition = "DeleteSubscriptionDefinition" // DeleteSubscriptionDefinitionRequest generates a "aws/request.Request" representing the // client's request for the DeleteSubscriptionDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSubscriptionDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSubscriptionDefinition method directly -// instead. +// See DeleteSubscriptionDefinition for more information on using the DeleteSubscriptionDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSubscriptionDefinitionRequest method. // req, resp := client.DeleteSubscriptionDefinitionRequest(params) @@ -1805,19 +1783,18 @@ const opDisassociateRoleFromGroup = "DisassociateRoleFromGroup" // DisassociateRoleFromGroupRequest generates a "aws/request.Request" representing the // client's request for the DisassociateRoleFromGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisassociateRoleFromGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisassociateRoleFromGroup method directly -// instead. +// See DisassociateRoleFromGroup for more information on using the DisassociateRoleFromGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisassociateRoleFromGroupRequest method. // req, resp := client.DisassociateRoleFromGroupRequest(params) @@ -1860,7 +1837,7 @@ func (c *Greengrass) DisassociateRoleFromGroupRequest(input *DisassociateRoleFro // user error // // * ErrCodeInternalServerErrorException "InternalServerErrorException" -// This request was invalid. +// Server Error // // Please also see https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DisassociateRoleFromGroup func (c *Greengrass) DisassociateRoleFromGroup(input *DisassociateRoleFromGroupInput) (*DisassociateRoleFromGroupOutput, error) { @@ -1888,19 +1865,18 @@ const opDisassociateServiceRoleFromAccount = "DisassociateServiceRoleFromAccount // DisassociateServiceRoleFromAccountRequest generates a "aws/request.Request" representing the // client's request for the DisassociateServiceRoleFromAccount operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisassociateServiceRoleFromAccount for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisassociateServiceRoleFromAccount method directly -// instead. +// See DisassociateServiceRoleFromAccount for more information on using the DisassociateServiceRoleFromAccount +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisassociateServiceRoleFromAccountRequest method. // req, resp := client.DisassociateServiceRoleFromAccountRequest(params) @@ -1941,7 +1917,7 @@ func (c *Greengrass) DisassociateServiceRoleFromAccountRequest(input *Disassocia // // Returned Error Codes: // * ErrCodeInternalServerErrorException "InternalServerErrorException" -// This request was invalid. +// Server Error // // Please also see https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DisassociateServiceRoleFromAccount func (c *Greengrass) DisassociateServiceRoleFromAccount(input *DisassociateServiceRoleFromAccountInput) (*DisassociateServiceRoleFromAccountOutput, error) { @@ -1969,19 +1945,18 @@ const opGetAssociatedRole = "GetAssociatedRole" // GetAssociatedRoleRequest generates a "aws/request.Request" representing the // client's request for the GetAssociatedRole operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetAssociatedRole for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetAssociatedRole method directly -// instead. +// See GetAssociatedRole for more information on using the GetAssociatedRole +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetAssociatedRoleRequest method. // req, resp := client.GetAssociatedRoleRequest(params) @@ -2024,7 +1999,7 @@ func (c *Greengrass) GetAssociatedRoleRequest(input *GetAssociatedRoleInput) (re // user error // // * ErrCodeInternalServerErrorException "InternalServerErrorException" -// This request was invalid. +// Server Error // // Please also see https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetAssociatedRole func (c *Greengrass) GetAssociatedRole(input *GetAssociatedRoleInput) (*GetAssociatedRoleOutput, error) { @@ -2052,19 +2027,18 @@ const opGetConnectivityInfo = "GetConnectivityInfo" // GetConnectivityInfoRequest generates a "aws/request.Request" representing the // client's request for the GetConnectivityInfo operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetConnectivityInfo for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetConnectivityInfo method directly -// instead. +// See GetConnectivityInfo for more information on using the GetConnectivityInfo +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetConnectivityInfoRequest method. // req, resp := client.GetConnectivityInfoRequest(params) @@ -2107,7 +2081,7 @@ func (c *Greengrass) GetConnectivityInfoRequest(input *GetConnectivityInfoInput) // user error // // * ErrCodeInternalServerErrorException "InternalServerErrorException" -// This request was invalid. +// Server Error // // Please also see https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetConnectivityInfo func (c *Greengrass) GetConnectivityInfo(input *GetConnectivityInfoInput) (*GetConnectivityInfoOutput, error) { @@ -2135,19 +2109,18 @@ const opGetCoreDefinition = "GetCoreDefinition" // GetCoreDefinitionRequest generates a "aws/request.Request" representing the // client's request for the GetCoreDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetCoreDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetCoreDefinition method directly -// instead. +// See GetCoreDefinition for more information on using the GetCoreDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetCoreDefinitionRequest method. // req, resp := client.GetCoreDefinitionRequest(params) @@ -2215,19 +2188,18 @@ const opGetCoreDefinitionVersion = "GetCoreDefinitionVersion" // GetCoreDefinitionVersionRequest generates a "aws/request.Request" representing the // client's request for the GetCoreDefinitionVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetCoreDefinitionVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetCoreDefinitionVersion method directly -// instead. +// See GetCoreDefinitionVersion for more information on using the GetCoreDefinitionVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetCoreDefinitionVersionRequest method. // req, resp := client.GetCoreDefinitionVersionRequest(params) @@ -2295,19 +2267,18 @@ const opGetDeploymentStatus = "GetDeploymentStatus" // GetDeploymentStatusRequest generates a "aws/request.Request" representing the // client's request for the GetDeploymentStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDeploymentStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDeploymentStatus method directly -// instead. +// See GetDeploymentStatus for more information on using the GetDeploymentStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDeploymentStatusRequest method. // req, resp := client.GetDeploymentStatusRequest(params) @@ -2375,19 +2346,18 @@ const opGetDeviceDefinition = "GetDeviceDefinition" // GetDeviceDefinitionRequest generates a "aws/request.Request" representing the // client's request for the GetDeviceDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDeviceDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDeviceDefinition method directly -// instead. +// See GetDeviceDefinition for more information on using the GetDeviceDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDeviceDefinitionRequest method. // req, resp := client.GetDeviceDefinitionRequest(params) @@ -2455,19 +2425,18 @@ const opGetDeviceDefinitionVersion = "GetDeviceDefinitionVersion" // GetDeviceDefinitionVersionRequest generates a "aws/request.Request" representing the // client's request for the GetDeviceDefinitionVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDeviceDefinitionVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDeviceDefinitionVersion method directly -// instead. +// See GetDeviceDefinitionVersion for more information on using the GetDeviceDefinitionVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDeviceDefinitionVersionRequest method. // req, resp := client.GetDeviceDefinitionVersionRequest(params) @@ -2535,19 +2504,18 @@ const opGetFunctionDefinition = "GetFunctionDefinition" // GetFunctionDefinitionRequest generates a "aws/request.Request" representing the // client's request for the GetFunctionDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetFunctionDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetFunctionDefinition method directly -// instead. +// See GetFunctionDefinition for more information on using the GetFunctionDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetFunctionDefinitionRequest method. // req, resp := client.GetFunctionDefinitionRequest(params) @@ -2616,19 +2584,18 @@ const opGetFunctionDefinitionVersion = "GetFunctionDefinitionVersion" // GetFunctionDefinitionVersionRequest generates a "aws/request.Request" representing the // client's request for the GetFunctionDefinitionVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetFunctionDefinitionVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetFunctionDefinitionVersion method directly -// instead. +// See GetFunctionDefinitionVersion for more information on using the GetFunctionDefinitionVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetFunctionDefinitionVersionRequest method. // req, resp := client.GetFunctionDefinitionVersionRequest(params) @@ -2697,19 +2664,18 @@ const opGetGroup = "GetGroup" // GetGroupRequest generates a "aws/request.Request" representing the // client's request for the GetGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetGroup method directly -// instead. +// See GetGroup for more information on using the GetGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetGroupRequest method. // req, resp := client.GetGroupRequest(params) @@ -2777,19 +2743,18 @@ const opGetGroupCertificateAuthority = "GetGroupCertificateAuthority" // GetGroupCertificateAuthorityRequest generates a "aws/request.Request" representing the // client's request for the GetGroupCertificateAuthority operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetGroupCertificateAuthority for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetGroupCertificateAuthority method directly -// instead. +// See GetGroupCertificateAuthority for more information on using the GetGroupCertificateAuthority +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetGroupCertificateAuthorityRequest method. // req, resp := client.GetGroupCertificateAuthorityRequest(params) @@ -2832,7 +2797,7 @@ func (c *Greengrass) GetGroupCertificateAuthorityRequest(input *GetGroupCertific // user error // // * ErrCodeInternalServerErrorException "InternalServerErrorException" -// This request was invalid. +// Server Error // // Please also see https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetGroupCertificateAuthority func (c *Greengrass) GetGroupCertificateAuthority(input *GetGroupCertificateAuthorityInput) (*GetGroupCertificateAuthorityOutput, error) { @@ -2860,19 +2825,18 @@ const opGetGroupCertificateConfiguration = "GetGroupCertificateConfiguration" // GetGroupCertificateConfigurationRequest generates a "aws/request.Request" representing the // client's request for the GetGroupCertificateConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetGroupCertificateConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetGroupCertificateConfiguration method directly -// instead. +// See GetGroupCertificateConfiguration for more information on using the GetGroupCertificateConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetGroupCertificateConfigurationRequest method. // req, resp := client.GetGroupCertificateConfigurationRequest(params) @@ -2915,7 +2879,7 @@ func (c *Greengrass) GetGroupCertificateConfigurationRequest(input *GetGroupCert // user error // // * ErrCodeInternalServerErrorException "InternalServerErrorException" -// This request was invalid. +// Server Error // // Please also see https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetGroupCertificateConfiguration func (c *Greengrass) GetGroupCertificateConfiguration(input *GetGroupCertificateConfigurationInput) (*GetGroupCertificateConfigurationOutput, error) { @@ -2943,19 +2907,18 @@ const opGetGroupVersion = "GetGroupVersion" // GetGroupVersionRequest generates a "aws/request.Request" representing the // client's request for the GetGroupVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetGroupVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetGroupVersion method directly -// instead. +// See GetGroupVersion for more information on using the GetGroupVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetGroupVersionRequest method. // req, resp := client.GetGroupVersionRequest(params) @@ -3023,19 +2986,18 @@ const opGetLoggerDefinition = "GetLoggerDefinition" // GetLoggerDefinitionRequest generates a "aws/request.Request" representing the // client's request for the GetLoggerDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetLoggerDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetLoggerDefinition method directly -// instead. +// See GetLoggerDefinition for more information on using the GetLoggerDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetLoggerDefinitionRequest method. // req, resp := client.GetLoggerDefinitionRequest(params) @@ -3103,19 +3065,18 @@ const opGetLoggerDefinitionVersion = "GetLoggerDefinitionVersion" // GetLoggerDefinitionVersionRequest generates a "aws/request.Request" representing the // client's request for the GetLoggerDefinitionVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetLoggerDefinitionVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetLoggerDefinitionVersion method directly -// instead. +// See GetLoggerDefinitionVersion for more information on using the GetLoggerDefinitionVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetLoggerDefinitionVersionRequest method. // req, resp := client.GetLoggerDefinitionVersionRequest(params) @@ -3183,19 +3144,18 @@ const opGetServiceRoleForAccount = "GetServiceRoleForAccount" // GetServiceRoleForAccountRequest generates a "aws/request.Request" representing the // client's request for the GetServiceRoleForAccount operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetServiceRoleForAccount for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetServiceRoleForAccount method directly -// instead. +// See GetServiceRoleForAccount for more information on using the GetServiceRoleForAccount +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetServiceRoleForAccountRequest method. // req, resp := client.GetServiceRoleForAccountRequest(params) @@ -3235,7 +3195,7 @@ func (c *Greengrass) GetServiceRoleForAccountRequest(input *GetServiceRoleForAcc // // Returned Error Codes: // * ErrCodeInternalServerErrorException "InternalServerErrorException" -// This request was invalid. +// Server Error // // Please also see https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetServiceRoleForAccount func (c *Greengrass) GetServiceRoleForAccount(input *GetServiceRoleForAccountInput) (*GetServiceRoleForAccountOutput, error) { @@ -3263,19 +3223,18 @@ const opGetSubscriptionDefinition = "GetSubscriptionDefinition" // GetSubscriptionDefinitionRequest generates a "aws/request.Request" representing the // client's request for the GetSubscriptionDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSubscriptionDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSubscriptionDefinition method directly -// instead. +// See GetSubscriptionDefinition for more information on using the GetSubscriptionDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSubscriptionDefinitionRequest method. // req, resp := client.GetSubscriptionDefinitionRequest(params) @@ -3343,19 +3302,18 @@ const opGetSubscriptionDefinitionVersion = "GetSubscriptionDefinitionVersion" // GetSubscriptionDefinitionVersionRequest generates a "aws/request.Request" representing the // client's request for the GetSubscriptionDefinitionVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSubscriptionDefinitionVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSubscriptionDefinitionVersion method directly -// instead. +// See GetSubscriptionDefinitionVersion for more information on using the GetSubscriptionDefinitionVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSubscriptionDefinitionVersionRequest method. // req, resp := client.GetSubscriptionDefinitionVersionRequest(params) @@ -3423,19 +3381,18 @@ const opListCoreDefinitionVersions = "ListCoreDefinitionVersions" // ListCoreDefinitionVersionsRequest generates a "aws/request.Request" representing the // client's request for the ListCoreDefinitionVersions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListCoreDefinitionVersions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListCoreDefinitionVersions method directly -// instead. +// See ListCoreDefinitionVersions for more information on using the ListCoreDefinitionVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListCoreDefinitionVersionsRequest method. // req, resp := client.ListCoreDefinitionVersionsRequest(params) @@ -3503,19 +3460,18 @@ const opListCoreDefinitions = "ListCoreDefinitions" // ListCoreDefinitionsRequest generates a "aws/request.Request" representing the // client's request for the ListCoreDefinitions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListCoreDefinitions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListCoreDefinitions method directly -// instead. +// See ListCoreDefinitions for more information on using the ListCoreDefinitions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListCoreDefinitionsRequest method. // req, resp := client.ListCoreDefinitionsRequest(params) @@ -3578,19 +3534,18 @@ const opListDeployments = "ListDeployments" // ListDeploymentsRequest generates a "aws/request.Request" representing the // client's request for the ListDeployments operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDeployments for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDeployments method directly -// instead. +// See ListDeployments for more information on using the ListDeployments +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDeploymentsRequest method. // req, resp := client.ListDeploymentsRequest(params) @@ -3658,19 +3613,18 @@ const opListDeviceDefinitionVersions = "ListDeviceDefinitionVersions" // ListDeviceDefinitionVersionsRequest generates a "aws/request.Request" representing the // client's request for the ListDeviceDefinitionVersions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDeviceDefinitionVersions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDeviceDefinitionVersions method directly -// instead. +// See ListDeviceDefinitionVersions for more information on using the ListDeviceDefinitionVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDeviceDefinitionVersionsRequest method. // req, resp := client.ListDeviceDefinitionVersionsRequest(params) @@ -3738,19 +3692,18 @@ const opListDeviceDefinitions = "ListDeviceDefinitions" // ListDeviceDefinitionsRequest generates a "aws/request.Request" representing the // client's request for the ListDeviceDefinitions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDeviceDefinitions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDeviceDefinitions method directly -// instead. +// See ListDeviceDefinitions for more information on using the ListDeviceDefinitions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDeviceDefinitionsRequest method. // req, resp := client.ListDeviceDefinitionsRequest(params) @@ -3813,19 +3766,18 @@ const opListFunctionDefinitionVersions = "ListFunctionDefinitionVersions" // ListFunctionDefinitionVersionsRequest generates a "aws/request.Request" representing the // client's request for the ListFunctionDefinitionVersions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListFunctionDefinitionVersions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListFunctionDefinitionVersions method directly -// instead. +// See ListFunctionDefinitionVersions for more information on using the ListFunctionDefinitionVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListFunctionDefinitionVersionsRequest method. // req, resp := client.ListFunctionDefinitionVersionsRequest(params) @@ -3893,19 +3845,18 @@ const opListFunctionDefinitions = "ListFunctionDefinitions" // ListFunctionDefinitionsRequest generates a "aws/request.Request" representing the // client's request for the ListFunctionDefinitions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListFunctionDefinitions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListFunctionDefinitions method directly -// instead. +// See ListFunctionDefinitions for more information on using the ListFunctionDefinitions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListFunctionDefinitionsRequest method. // req, resp := client.ListFunctionDefinitionsRequest(params) @@ -3968,19 +3919,18 @@ const opListGroupCertificateAuthorities = "ListGroupCertificateAuthorities" // ListGroupCertificateAuthoritiesRequest generates a "aws/request.Request" representing the // client's request for the ListGroupCertificateAuthorities operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListGroupCertificateAuthorities for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListGroupCertificateAuthorities method directly -// instead. +// See ListGroupCertificateAuthorities for more information on using the ListGroupCertificateAuthorities +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListGroupCertificateAuthoritiesRequest method. // req, resp := client.ListGroupCertificateAuthoritiesRequest(params) @@ -4023,7 +3973,7 @@ func (c *Greengrass) ListGroupCertificateAuthoritiesRequest(input *ListGroupCert // user error // // * ErrCodeInternalServerErrorException "InternalServerErrorException" -// This request was invalid. +// Server Error // // Please also see https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListGroupCertificateAuthorities func (c *Greengrass) ListGroupCertificateAuthorities(input *ListGroupCertificateAuthoritiesInput) (*ListGroupCertificateAuthoritiesOutput, error) { @@ -4051,19 +4001,18 @@ const opListGroupVersions = "ListGroupVersions" // ListGroupVersionsRequest generates a "aws/request.Request" representing the // client's request for the ListGroupVersions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListGroupVersions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListGroupVersions method directly -// instead. +// See ListGroupVersions for more information on using the ListGroupVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListGroupVersionsRequest method. // req, resp := client.ListGroupVersionsRequest(params) @@ -4131,19 +4080,18 @@ const opListGroups = "ListGroups" // ListGroupsRequest generates a "aws/request.Request" representing the // client's request for the ListGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListGroups method directly -// instead. +// See ListGroups for more information on using the ListGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListGroupsRequest method. // req, resp := client.ListGroupsRequest(params) @@ -4206,19 +4154,18 @@ const opListLoggerDefinitionVersions = "ListLoggerDefinitionVersions" // ListLoggerDefinitionVersionsRequest generates a "aws/request.Request" representing the // client's request for the ListLoggerDefinitionVersions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListLoggerDefinitionVersions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListLoggerDefinitionVersions method directly -// instead. +// See ListLoggerDefinitionVersions for more information on using the ListLoggerDefinitionVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListLoggerDefinitionVersionsRequest method. // req, resp := client.ListLoggerDefinitionVersionsRequest(params) @@ -4286,19 +4233,18 @@ const opListLoggerDefinitions = "ListLoggerDefinitions" // ListLoggerDefinitionsRequest generates a "aws/request.Request" representing the // client's request for the ListLoggerDefinitions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListLoggerDefinitions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListLoggerDefinitions method directly -// instead. +// See ListLoggerDefinitions for more information on using the ListLoggerDefinitions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListLoggerDefinitionsRequest method. // req, resp := client.ListLoggerDefinitionsRequest(params) @@ -4361,19 +4307,18 @@ const opListSubscriptionDefinitionVersions = "ListSubscriptionDefinitionVersions // ListSubscriptionDefinitionVersionsRequest generates a "aws/request.Request" representing the // client's request for the ListSubscriptionDefinitionVersions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListSubscriptionDefinitionVersions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListSubscriptionDefinitionVersions method directly -// instead. +// See ListSubscriptionDefinitionVersions for more information on using the ListSubscriptionDefinitionVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListSubscriptionDefinitionVersionsRequest method. // req, resp := client.ListSubscriptionDefinitionVersionsRequest(params) @@ -4441,19 +4386,18 @@ const opListSubscriptionDefinitions = "ListSubscriptionDefinitions" // ListSubscriptionDefinitionsRequest generates a "aws/request.Request" representing the // client's request for the ListSubscriptionDefinitions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListSubscriptionDefinitions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListSubscriptionDefinitions method directly -// instead. +// See ListSubscriptionDefinitions for more information on using the ListSubscriptionDefinitions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListSubscriptionDefinitionsRequest method. // req, resp := client.ListSubscriptionDefinitionsRequest(params) @@ -4512,23 +4456,101 @@ func (c *Greengrass) ListSubscriptionDefinitionsWithContext(ctx aws.Context, inp return out, req.Send() } +const opResetDeployments = "ResetDeployments" + +// ResetDeploymentsRequest generates a "aws/request.Request" representing the +// client's request for the ResetDeployments operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ResetDeployments for more information on using the ResetDeployments +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ResetDeploymentsRequest method. +// req, resp := client.ResetDeploymentsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ResetDeployments +func (c *Greengrass) ResetDeploymentsRequest(input *ResetDeploymentsInput) (req *request.Request, output *ResetDeploymentsOutput) { + op := &request.Operation{ + Name: opResetDeployments, + HTTPMethod: "POST", + HTTPPath: "/greengrass/groups/{GroupId}/deployments/$reset", + } + + if input == nil { + input = &ResetDeploymentsInput{} + } + + output = &ResetDeploymentsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ResetDeployments API operation for AWS Greengrass. +// +// Resets a group's deployments. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Greengrass's +// API operation ResetDeployments for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// user error +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ResetDeployments +func (c *Greengrass) ResetDeployments(input *ResetDeploymentsInput) (*ResetDeploymentsOutput, error) { + req, out := c.ResetDeploymentsRequest(input) + return out, req.Send() +} + +// ResetDeploymentsWithContext is the same as ResetDeployments with the addition of +// the ability to pass a context and additional request options. +// +// See ResetDeployments for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Greengrass) ResetDeploymentsWithContext(ctx aws.Context, input *ResetDeploymentsInput, opts ...request.Option) (*ResetDeploymentsOutput, error) { + req, out := c.ResetDeploymentsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateConnectivityInfo = "UpdateConnectivityInfo" // UpdateConnectivityInfoRequest generates a "aws/request.Request" representing the // client's request for the UpdateConnectivityInfo operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateConnectivityInfo for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateConnectivityInfo method directly -// instead. +// See UpdateConnectivityInfo for more information on using the UpdateConnectivityInfo +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateConnectivityInfoRequest method. // req, resp := client.UpdateConnectivityInfoRequest(params) @@ -4573,7 +4595,7 @@ func (c *Greengrass) UpdateConnectivityInfoRequest(input *UpdateConnectivityInfo // user error // // * ErrCodeInternalServerErrorException "InternalServerErrorException" -// This request was invalid. +// Server Error // // Please also see https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateConnectivityInfo func (c *Greengrass) UpdateConnectivityInfo(input *UpdateConnectivityInfoInput) (*UpdateConnectivityInfoOutput, error) { @@ -4601,19 +4623,18 @@ const opUpdateCoreDefinition = "UpdateCoreDefinition" // UpdateCoreDefinitionRequest generates a "aws/request.Request" representing the // client's request for the UpdateCoreDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateCoreDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateCoreDefinition method directly -// instead. +// See UpdateCoreDefinition for more information on using the UpdateCoreDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateCoreDefinitionRequest method. // req, resp := client.UpdateCoreDefinitionRequest(params) @@ -4681,19 +4702,18 @@ const opUpdateDeviceDefinition = "UpdateDeviceDefinition" // UpdateDeviceDefinitionRequest generates a "aws/request.Request" representing the // client's request for the UpdateDeviceDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateDeviceDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateDeviceDefinition method directly -// instead. +// See UpdateDeviceDefinition for more information on using the UpdateDeviceDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateDeviceDefinitionRequest method. // req, resp := client.UpdateDeviceDefinitionRequest(params) @@ -4761,19 +4781,18 @@ const opUpdateFunctionDefinition = "UpdateFunctionDefinition" // UpdateFunctionDefinitionRequest generates a "aws/request.Request" representing the // client's request for the UpdateFunctionDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateFunctionDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateFunctionDefinition method directly -// instead. +// See UpdateFunctionDefinition for more information on using the UpdateFunctionDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateFunctionDefinitionRequest method. // req, resp := client.UpdateFunctionDefinitionRequest(params) @@ -4841,19 +4860,18 @@ const opUpdateGroup = "UpdateGroup" // UpdateGroupRequest generates a "aws/request.Request" representing the // client's request for the UpdateGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateGroup method directly -// instead. +// See UpdateGroup for more information on using the UpdateGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateGroupRequest method. // req, resp := client.UpdateGroupRequest(params) @@ -4921,19 +4939,18 @@ const opUpdateGroupCertificateConfiguration = "UpdateGroupCertificateConfigurati // UpdateGroupCertificateConfigurationRequest generates a "aws/request.Request" representing the // client's request for the UpdateGroupCertificateConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateGroupCertificateConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateGroupCertificateConfiguration method directly -// instead. +// See UpdateGroupCertificateConfiguration for more information on using the UpdateGroupCertificateConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateGroupCertificateConfigurationRequest method. // req, resp := client.UpdateGroupCertificateConfigurationRequest(params) @@ -4976,7 +4993,7 @@ func (c *Greengrass) UpdateGroupCertificateConfigurationRequest(input *UpdateGro // user error // // * ErrCodeInternalServerErrorException "InternalServerErrorException" -// This request was invalid. +// Server Error // // Please also see https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateGroupCertificateConfiguration func (c *Greengrass) UpdateGroupCertificateConfiguration(input *UpdateGroupCertificateConfigurationInput) (*UpdateGroupCertificateConfigurationOutput, error) { @@ -5004,19 +5021,18 @@ const opUpdateLoggerDefinition = "UpdateLoggerDefinition" // UpdateLoggerDefinitionRequest generates a "aws/request.Request" representing the // client's request for the UpdateLoggerDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateLoggerDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateLoggerDefinition method directly -// instead. +// See UpdateLoggerDefinition for more information on using the UpdateLoggerDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateLoggerDefinitionRequest method. // req, resp := client.UpdateLoggerDefinitionRequest(params) @@ -5084,19 +5100,18 @@ const opUpdateSubscriptionDefinition = "UpdateSubscriptionDefinition" // UpdateSubscriptionDefinitionRequest generates a "aws/request.Request" representing the // client's request for the UpdateSubscriptionDefinition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateSubscriptionDefinition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateSubscriptionDefinition method directly -// instead. +// See UpdateSubscriptionDefinition for more information on using the UpdateSubscriptionDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateSubscriptionDefinitionRequest method. // req, resp := client.UpdateSubscriptionDefinitionRequest(params) @@ -5629,7 +5644,8 @@ type CreateDeploymentInput struct { // Id of the deployment if you wish to redeploy a previous deployment. DeploymentId *string `type:"string"` - // Type of deployment + // Type of deployment. When used in CreateDeployment, only NewDeployment and + // Redeployment are valid. DeploymentType *string `type:"string" enum:"DeploymentType"` // GroupId is a required field @@ -5696,10 +5712,10 @@ func (s *CreateDeploymentInput) SetGroupVersionId(v string) *CreateDeploymentInp type CreateDeploymentOutput struct { _ struct{} `type:"structure"` - // Arn of the deployment. + // The arn of the deployment. DeploymentArn *string `type:"string"` - // Id of the deployment. + // The id of the deployment. DeploymentId *string `type:"string"` } @@ -7286,6 +7302,9 @@ type Deployment struct { // Id of the deployment. DeploymentId *string `type:"string"` + // The type of deployment. + DeploymentType *string `type:"string" enum:"DeploymentType"` + // Arn of the group for this deployment. GroupArn *string `type:"string"` } @@ -7318,6 +7337,12 @@ func (s *Deployment) SetDeploymentId(v string) *Deployment { return s } +// SetDeploymentType sets the DeploymentType field's value. +func (s *Deployment) SetDeploymentType(v string) *Deployment { + s.DeploymentType = &v + return s +} + // SetGroupArn sets the GroupArn field's value. func (s *Deployment) SetGroupArn(v string) *Deployment { s.GroupArn = &v @@ -7812,7 +7837,7 @@ func (s *GetConnectivityInfoInput) SetThingName(v string) *GetConnectivityInfoIn type GetConnectivityInfoOutput struct { _ struct{} `type:"structure"` - // Connectivity info array + // Connectivity info list ConnectivityInfo []*ConnectivityInfo `type:"list"` Message *string `locationName:"message" type:"string"` @@ -8114,6 +8139,12 @@ type GetDeploymentStatusOutput struct { // Status of the deployment. DeploymentStatus *string `type:"string"` + // The type of the deployment. + DeploymentType *string `type:"string" enum:"DeploymentType"` + + // The error Details + ErrorDetails []*ErrorDetail `type:"list"` + // Error Message ErrorMessage *string `type:"string"` @@ -8137,6 +8168,18 @@ func (s *GetDeploymentStatusOutput) SetDeploymentStatus(v string) *GetDeployment return s } +// SetDeploymentType sets the DeploymentType field's value. +func (s *GetDeploymentStatusOutput) SetDeploymentType(v string) *GetDeploymentStatusOutput { + s.DeploymentType = &v + return s +} + +// SetErrorDetails sets the ErrorDetails field's value. +func (s *GetDeploymentStatusOutput) SetErrorDetails(v []*ErrorDetail) *GetDeploymentStatusOutput { + s.ErrorDetails = v + return s +} + // SetErrorMessage sets the ErrorMessage field's value. func (s *GetDeploymentStatusOutput) SetErrorMessage(v string) *GetDeploymentStatusOutput { s.ErrorMessage = &v @@ -9488,7 +9531,7 @@ func (s *GroupCertificateAuthorityProperties) SetGroupCertificateAuthorityId(v s return s } -// Information of a group +// Information on the group // Please also see https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GroupInformation type GroupInformation struct { _ struct{} `type:"structure"` @@ -9831,7 +9874,7 @@ func (s *ListDeploymentsInput) SetNextToken(v string) *ListDeploymentsInput { type ListDeploymentsOutput struct { _ struct{} `type:"structure"` - // Information on deployments + // List of deployments for the requested groups Deployments []*Deployment `type:"list"` // The token for the next set of results, or ''null'' if there are no additional @@ -10742,6 +10785,94 @@ func (s *LoggerDefinitionVersion) SetLoggers(v []*Logger) *LoggerDefinitionVersi return s } +// Information needed to perform a reset of a group's deployments. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ResetDeploymentsRequest +type ResetDeploymentsInput struct { + _ struct{} `type:"structure"` + + AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"` + + // When set to true, perform a best-effort only core reset. + Force *bool `type:"boolean"` + + // GroupId is a required field + GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"` +} + +// String returns the string representation +func (s ResetDeploymentsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResetDeploymentsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResetDeploymentsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResetDeploymentsInput"} + if s.GroupId == nil { + invalidParams.Add(request.NewErrParamRequired("GroupId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAmznClientToken sets the AmznClientToken field's value. +func (s *ResetDeploymentsInput) SetAmznClientToken(v string) *ResetDeploymentsInput { + s.AmznClientToken = &v + return s +} + +// SetForce sets the Force field's value. +func (s *ResetDeploymentsInput) SetForce(v bool) *ResetDeploymentsInput { + s.Force = &v + return s +} + +// SetGroupId sets the GroupId field's value. +func (s *ResetDeploymentsInput) SetGroupId(v string) *ResetDeploymentsInput { + s.GroupId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ResetDeploymentsResponse +type ResetDeploymentsOutput struct { + _ struct{} `type:"structure"` + + // The arn of the reset deployment. + DeploymentArn *string `type:"string"` + + // The id of the reset deployment. + DeploymentId *string `type:"string"` +} + +// String returns the string representation +func (s ResetDeploymentsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResetDeploymentsOutput) GoString() string { + return s.String() +} + +// SetDeploymentArn sets the DeploymentArn field's value. +func (s *ResetDeploymentsOutput) SetDeploymentArn(v string) *ResetDeploymentsOutput { + s.DeploymentArn = &v + return s +} + +// SetDeploymentId sets the DeploymentId field's value. +func (s *ResetDeploymentsOutput) SetDeploymentId(v string) *ResetDeploymentsOutput { + s.DeploymentId = &v + return s +} + // Information on subscription // Please also see https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/Subscription type Subscription struct { @@ -10824,7 +10955,7 @@ func (s *SubscriptionDefinitionVersion) SetSubscriptions(v []*Subscription) *Sub type UpdateConnectivityInfoInput struct { _ struct{} `type:"structure"` - // Connectivity info array + // Connectivity info list ConnectivityInfo []*ConnectivityInfo `type:"list"` // ThingName is a required field @@ -11401,6 +11532,12 @@ const ( // DeploymentTypeRedeployment is a DeploymentType enum value DeploymentTypeRedeployment = "Redeployment" + + // DeploymentTypeResetDeployment is a DeploymentType enum value + DeploymentTypeResetDeployment = "ResetDeployment" + + // DeploymentTypeForceResetDeployment is a DeploymentType enum value + DeploymentTypeForceResetDeployment = "ForceResetDeployment" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/greengrass/doc.go b/vendor/github.com/aws/aws-sdk-go/service/greengrass/doc.go index 34579027c..c4c39b61b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/greengrass/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/greengrass/doc.go @@ -17,69 +17,17 @@ // // Using the Client // -// To use the client for AWS Greengrass you will first need -// to create a new instance of it. +// To AWS Greengrass with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := greengrass.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Greengrass client Greengrass for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/greengrass/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AssociateRoleToGroup(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AssociateRoleToGroup result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AssociateRoleToGroupWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package greengrass diff --git a/vendor/github.com/aws/aws-sdk-go/service/greengrass/errors.go b/vendor/github.com/aws/aws-sdk-go/service/greengrass/errors.go index c4f0fc41c..e9af66904 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/greengrass/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/greengrass/errors.go @@ -13,6 +13,6 @@ const ( // ErrCodeInternalServerErrorException for service response error code // "InternalServerErrorException". // - // This request was invalid. + // Server Error ErrCodeInternalServerErrorException = "InternalServerErrorException" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/greengrass/greengrassiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/greengrass/greengrassiface/interface.go index 4eb8bdd7a..c5ba2bddc 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/greengrass/greengrassiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/greengrass/greengrassiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Greengrass. @@ -284,6 +284,10 @@ type GreengrassAPI interface { ListSubscriptionDefinitionsWithContext(aws.Context, *greengrass.ListSubscriptionDefinitionsInput, ...request.Option) (*greengrass.ListSubscriptionDefinitionsOutput, error) ListSubscriptionDefinitionsRequest(*greengrass.ListSubscriptionDefinitionsInput) (*request.Request, *greengrass.ListSubscriptionDefinitionsOutput) + ResetDeployments(*greengrass.ResetDeploymentsInput) (*greengrass.ResetDeploymentsOutput, error) + ResetDeploymentsWithContext(aws.Context, *greengrass.ResetDeploymentsInput, ...request.Option) (*greengrass.ResetDeploymentsOutput, error) + ResetDeploymentsRequest(*greengrass.ResetDeploymentsInput) (*request.Request, *greengrass.ResetDeploymentsOutput) + UpdateConnectivityInfo(*greengrass.UpdateConnectivityInfoInput) (*greengrass.UpdateConnectivityInfoOutput, error) UpdateConnectivityInfoWithContext(aws.Context, *greengrass.UpdateConnectivityInfoInput, ...request.Option) (*greengrass.UpdateConnectivityInfoOutput, error) UpdateConnectivityInfoRequest(*greengrass.UpdateConnectivityInfoInput) (*request.Request, *greengrass.UpdateConnectivityInfoOutput) diff --git a/vendor/github.com/aws/aws-sdk-go/service/health/api.go b/vendor/github.com/aws/aws-sdk-go/service/health/api.go index e9db9ca83..a75e01ab7 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/health/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/health/api.go @@ -14,19 +14,18 @@ const opDescribeAffectedEntities = "DescribeAffectedEntities" // DescribeAffectedEntitiesRequest generates a "aws/request.Request" representing the // client's request for the DescribeAffectedEntities operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAffectedEntities for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAffectedEntities method directly -// instead. +// See DescribeAffectedEntities for more information on using the DescribeAffectedEntities +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAffectedEntitiesRequest method. // req, resp := client.DescribeAffectedEntitiesRequest(params) @@ -161,19 +160,18 @@ const opDescribeEntityAggregates = "DescribeEntityAggregates" // DescribeEntityAggregatesRequest generates a "aws/request.Request" representing the // client's request for the DescribeEntityAggregates operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEntityAggregates for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEntityAggregates method directly -// instead. +// See DescribeEntityAggregates for more information on using the DescribeEntityAggregates +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEntityAggregatesRequest method. // req, resp := client.DescribeEntityAggregatesRequest(params) @@ -238,19 +236,18 @@ const opDescribeEventAggregates = "DescribeEventAggregates" // DescribeEventAggregatesRequest generates a "aws/request.Request" representing the // client's request for the DescribeEventAggregates operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEventAggregates for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEventAggregates method directly -// instead. +// See DescribeEventAggregates for more information on using the DescribeEventAggregates +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEventAggregatesRequest method. // req, resp := client.DescribeEventAggregatesRequest(params) @@ -376,19 +373,18 @@ const opDescribeEventDetails = "DescribeEventDetails" // DescribeEventDetailsRequest generates a "aws/request.Request" representing the // client's request for the DescribeEventDetails operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEventDetails for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEventDetails method directly -// instead. +// See DescribeEventDetails for more information on using the DescribeEventDetails +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEventDetailsRequest method. // req, resp := client.DescribeEventDetailsRequest(params) @@ -463,19 +459,18 @@ const opDescribeEventTypes = "DescribeEventTypes" // DescribeEventTypesRequest generates a "aws/request.Request" representing the // client's request for the DescribeEventTypes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEventTypes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEventTypes method directly -// instead. +// See DescribeEventTypes for more information on using the DescribeEventTypes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEventTypesRequest method. // req, resp := client.DescribeEventTypesRequest(params) @@ -603,19 +598,18 @@ const opDescribeEvents = "DescribeEvents" // DescribeEventsRequest generates a "aws/request.Request" representing the // client's request for the DescribeEvents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEvents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEvents method directly -// instead. +// See DescribeEvents for more information on using the DescribeEvents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEventsRequest method. // req, resp := client.DescribeEventsRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/health/doc.go b/vendor/github.com/aws/aws-sdk-go/service/health/doc.go index 4cdd9f974..a3d0150b5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/health/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/health/doc.go @@ -49,69 +49,17 @@ // // Using the Client // -// To use the client for AWS Health APIs and Notifications you will first need -// to create a new instance of it. +// To AWS Health APIs and Notifications with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := health.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Health APIs and Notifications client Health for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/health/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.DescribeAffectedEntities(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("DescribeAffectedEntities result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.DescribeAffectedEntitiesWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package health diff --git a/vendor/github.com/aws/aws-sdk-go/service/health/healthiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/health/healthiface/interface.go index 3650e618b..25f81c1a6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/health/healthiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/health/healthiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Health APIs and Notifications. diff --git a/vendor/github.com/aws/aws-sdk-go/service/iam/api.go b/vendor/github.com/aws/aws-sdk-go/service/iam/api.go index 9e73c1108..e667a099d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/iam/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/iam/api.go @@ -17,19 +17,18 @@ const opAddClientIDToOpenIDConnectProvider = "AddClientIDToOpenIDConnectProvider // AddClientIDToOpenIDConnectProviderRequest generates a "aws/request.Request" representing the // client's request for the AddClientIDToOpenIDConnectProvider operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddClientIDToOpenIDConnectProvider for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddClientIDToOpenIDConnectProvider method directly -// instead. +// See AddClientIDToOpenIDConnectProvider for more information on using the AddClientIDToOpenIDConnectProvider +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddClientIDToOpenIDConnectProviderRequest method. // req, resp := client.AddClientIDToOpenIDConnectProviderRequest(params) @@ -116,19 +115,18 @@ const opAddRoleToInstanceProfile = "AddRoleToInstanceProfile" // AddRoleToInstanceProfileRequest generates a "aws/request.Request" representing the // client's request for the AddRoleToInstanceProfile operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddRoleToInstanceProfile for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddRoleToInstanceProfile method directly -// instead. +// See AddRoleToInstanceProfile for more information on using the AddRoleToInstanceProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddRoleToInstanceProfileRequest method. // req, resp := client.AddRoleToInstanceProfileRequest(params) @@ -225,19 +223,18 @@ const opAddUserToGroup = "AddUserToGroup" // AddUserToGroupRequest generates a "aws/request.Request" representing the // client's request for the AddUserToGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddUserToGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddUserToGroup method directly -// instead. +// See AddUserToGroup for more information on using the AddUserToGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddUserToGroupRequest method. // req, resp := client.AddUserToGroupRequest(params) @@ -316,19 +313,18 @@ const opAttachGroupPolicy = "AttachGroupPolicy" // AttachGroupPolicyRequest generates a "aws/request.Request" representing the // client's request for the AttachGroupPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AttachGroupPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AttachGroupPolicy method directly -// instead. +// See AttachGroupPolicy for more information on using the AttachGroupPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AttachGroupPolicyRequest method. // req, resp := client.AttachGroupPolicyRequest(params) @@ -388,6 +384,10 @@ func (c *IAM) AttachGroupPolicyRequest(input *AttachGroupPolicyInput) (req *requ // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // +// * ErrCodePolicyNotAttachableException "PolicyNotAttachable" +// The request failed because AWS service role policies can only be attached +// to the service-linked role for that service. +// // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. @@ -418,19 +418,18 @@ const opAttachRolePolicy = "AttachRolePolicy" // AttachRolePolicyRequest generates a "aws/request.Request" representing the // client's request for the AttachRolePolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AttachRolePolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AttachRolePolicy method directly -// instead. +// See AttachRolePolicy for more information on using the AttachRolePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AttachRolePolicyRequest method. // req, resp := client.AttachRolePolicyRequest(params) @@ -500,6 +499,10 @@ func (c *IAM) AttachRolePolicyRequest(input *AttachRolePolicyInput) (req *reques // the name of the service that depends on this service-linked role. You must // request the change through that service. // +// * ErrCodePolicyNotAttachableException "PolicyNotAttachable" +// The request failed because AWS service role policies can only be attached +// to the service-linked role for that service. +// // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. @@ -530,19 +533,18 @@ const opAttachUserPolicy = "AttachUserPolicy" // AttachUserPolicyRequest generates a "aws/request.Request" representing the // client's request for the AttachUserPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AttachUserPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AttachUserPolicy method directly -// instead. +// See AttachUserPolicy for more information on using the AttachUserPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AttachUserPolicyRequest method. // req, resp := client.AttachUserPolicyRequest(params) @@ -602,6 +604,10 @@ func (c *IAM) AttachUserPolicyRequest(input *AttachUserPolicyInput) (req *reques // The request was rejected because an invalid or out-of-range value was supplied // for an input parameter. // +// * ErrCodePolicyNotAttachableException "PolicyNotAttachable" +// The request failed because AWS service role policies can only be attached +// to the service-linked role for that service. +// // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception // or failure. @@ -632,19 +638,18 @@ const opChangePassword = "ChangePassword" // ChangePasswordRequest generates a "aws/request.Request" representing the // client's request for the ChangePassword operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ChangePassword for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ChangePassword method directly -// instead. +// See ChangePassword for more information on using the ChangePassword +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ChangePasswordRequest method. // req, resp := client.ChangePasswordRequest(params) @@ -742,19 +747,18 @@ const opCreateAccessKey = "CreateAccessKey" // CreateAccessKeyRequest generates a "aws/request.Request" representing the // client's request for the CreateAccessKey operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateAccessKey for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateAccessKey method directly -// instead. +// See CreateAccessKey for more information on using the CreateAccessKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateAccessKeyRequest method. // req, resp := client.CreateAccessKeyRequest(params) @@ -847,19 +851,18 @@ const opCreateAccountAlias = "CreateAccountAlias" // CreateAccountAliasRequest generates a "aws/request.Request" representing the // client's request for the CreateAccountAlias operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateAccountAlias for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateAccountAlias method directly -// instead. +// See CreateAccountAlias for more information on using the CreateAccountAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateAccountAliasRequest method. // req, resp := client.CreateAccountAliasRequest(params) @@ -940,19 +943,18 @@ const opCreateGroup = "CreateGroup" // CreateGroupRequest generates a "aws/request.Request" representing the // client's request for the CreateGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateGroup method directly -// instead. +// See CreateGroup for more information on using the CreateGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateGroupRequest method. // req, resp := client.CreateGroupRequest(params) @@ -1037,19 +1039,18 @@ const opCreateInstanceProfile = "CreateInstanceProfile" // CreateInstanceProfileRequest generates a "aws/request.Request" representing the // client's request for the CreateInstanceProfile operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateInstanceProfile for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateInstanceProfile method directly -// instead. +// See CreateInstanceProfile for more information on using the CreateInstanceProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateInstanceProfileRequest method. // req, resp := client.CreateInstanceProfileRequest(params) @@ -1131,19 +1132,18 @@ const opCreateLoginProfile = "CreateLoginProfile" // CreateLoginProfileRequest generates a "aws/request.Request" representing the // client's request for the CreateLoginProfile operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateLoginProfile for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateLoginProfile method directly -// instead. +// See CreateLoginProfile for more information on using the CreateLoginProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateLoginProfileRequest method. // req, resp := client.CreateLoginProfileRequest(params) @@ -1231,19 +1231,18 @@ const opCreateOpenIDConnectProvider = "CreateOpenIDConnectProvider" // CreateOpenIDConnectProviderRequest generates a "aws/request.Request" representing the // client's request for the CreateOpenIDConnectProvider operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateOpenIDConnectProvider for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateOpenIDConnectProvider method directly -// instead. +// See CreateOpenIDConnectProvider for more information on using the CreateOpenIDConnectProvider +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateOpenIDConnectProviderRequest method. // req, resp := client.CreateOpenIDConnectProviderRequest(params) @@ -1340,19 +1339,18 @@ const opCreatePolicy = "CreatePolicy" // CreatePolicyRequest generates a "aws/request.Request" representing the // client's request for the CreatePolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreatePolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreatePolicy method directly -// instead. +// See CreatePolicy for more information on using the CreatePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreatePolicyRequest method. // req, resp := client.CreatePolicyRequest(params) @@ -1446,19 +1444,18 @@ const opCreatePolicyVersion = "CreatePolicyVersion" // CreatePolicyVersionRequest generates a "aws/request.Request" representing the // client's request for the CreatePolicyVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreatePolicyVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreatePolicyVersion method directly -// instead. +// See CreatePolicyVersion for more information on using the CreatePolicyVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreatePolicyVersionRequest method. // req, resp := client.CreatePolicyVersionRequest(params) @@ -1554,19 +1551,18 @@ const opCreateRole = "CreateRole" // CreateRoleRequest generates a "aws/request.Request" representing the // client's request for the CreateRole operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateRole for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateRole method directly -// instead. +// See CreateRole for more information on using the CreateRole +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateRoleRequest method. // req, resp := client.CreateRoleRequest(params) @@ -1655,19 +1651,18 @@ const opCreateSAMLProvider = "CreateSAMLProvider" // CreateSAMLProviderRequest generates a "aws/request.Request" representing the // client's request for the CreateSAMLProvider operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateSAMLProvider for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateSAMLProvider method directly -// instead. +// See CreateSAMLProvider for more information on using the CreateSAMLProvider +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateSAMLProviderRequest method. // req, resp := client.CreateSAMLProviderRequest(params) @@ -1769,19 +1764,18 @@ const opCreateServiceLinkedRole = "CreateServiceLinkedRole" // CreateServiceLinkedRoleRequest generates a "aws/request.Request" representing the // client's request for the CreateServiceLinkedRole operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateServiceLinkedRole for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateServiceLinkedRole method directly -// instead. +// See CreateServiceLinkedRole for more information on using the CreateServiceLinkedRole +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateServiceLinkedRoleRequest method. // req, resp := client.CreateServiceLinkedRoleRequest(params) @@ -1875,19 +1869,18 @@ const opCreateServiceSpecificCredential = "CreateServiceSpecificCredential" // CreateServiceSpecificCredentialRequest generates a "aws/request.Request" representing the // client's request for the CreateServiceSpecificCredential operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateServiceSpecificCredential for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateServiceSpecificCredential method directly -// instead. +// See CreateServiceSpecificCredential for more information on using the CreateServiceSpecificCredential +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateServiceSpecificCredentialRequest method. // req, resp := client.CreateServiceSpecificCredentialRequest(params) @@ -1976,19 +1969,18 @@ const opCreateUser = "CreateUser" // CreateUserRequest generates a "aws/request.Request" representing the // client's request for the CreateUser operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateUser for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateUser method directly -// instead. +// See CreateUser for more information on using the CreateUser +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateUserRequest method. // req, resp := client.CreateUserRequest(params) @@ -2073,19 +2065,18 @@ const opCreateVirtualMFADevice = "CreateVirtualMFADevice" // CreateVirtualMFADeviceRequest generates a "aws/request.Request" representing the // client's request for the CreateVirtualMFADevice operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateVirtualMFADevice for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateVirtualMFADevice method directly -// instead. +// See CreateVirtualMFADevice for more information on using the CreateVirtualMFADevice +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateVirtualMFADeviceRequest method. // req, resp := client.CreateVirtualMFADeviceRequest(params) @@ -2175,19 +2166,18 @@ const opDeactivateMFADevice = "DeactivateMFADevice" // DeactivateMFADeviceRequest generates a "aws/request.Request" representing the // client's request for the DeactivateMFADevice operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeactivateMFADevice for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeactivateMFADevice method directly -// instead. +// See DeactivateMFADevice for more information on using the DeactivateMFADevice +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeactivateMFADeviceRequest method. // req, resp := client.DeactivateMFADeviceRequest(params) @@ -2277,19 +2267,18 @@ const opDeleteAccessKey = "DeleteAccessKey" // DeleteAccessKeyRequest generates a "aws/request.Request" representing the // client's request for the DeleteAccessKey operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteAccessKey for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteAccessKey method directly -// instead. +// See DeleteAccessKey for more information on using the DeleteAccessKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteAccessKeyRequest method. // req, resp := client.DeleteAccessKeyRequest(params) @@ -2373,19 +2362,18 @@ const opDeleteAccountAlias = "DeleteAccountAlias" // DeleteAccountAliasRequest generates a "aws/request.Request" representing the // client's request for the DeleteAccountAlias operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteAccountAlias for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteAccountAlias method directly -// instead. +// See DeleteAccountAlias for more information on using the DeleteAccountAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteAccountAliasRequest method. // req, resp := client.DeleteAccountAliasRequest(params) @@ -2466,19 +2454,18 @@ const opDeleteAccountPasswordPolicy = "DeleteAccountPasswordPolicy" // DeleteAccountPasswordPolicyRequest generates a "aws/request.Request" representing the // client's request for the DeleteAccountPasswordPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteAccountPasswordPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteAccountPasswordPolicy method directly -// instead. +// See DeleteAccountPasswordPolicy for more information on using the DeleteAccountPasswordPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteAccountPasswordPolicyRequest method. // req, resp := client.DeleteAccountPasswordPolicyRequest(params) @@ -2557,19 +2544,18 @@ const opDeleteGroup = "DeleteGroup" // DeleteGroupRequest generates a "aws/request.Request" representing the // client's request for the DeleteGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteGroup method directly -// instead. +// See DeleteGroup for more information on using the DeleteGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteGroupRequest method. // req, resp := client.DeleteGroupRequest(params) @@ -2653,19 +2639,18 @@ const opDeleteGroupPolicy = "DeleteGroupPolicy" // DeleteGroupPolicyRequest generates a "aws/request.Request" representing the // client's request for the DeleteGroupPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteGroupPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteGroupPolicy method directly -// instead. +// See DeleteGroupPolicy for more information on using the DeleteGroupPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteGroupPolicyRequest method. // req, resp := client.DeleteGroupPolicyRequest(params) @@ -2750,19 +2735,18 @@ const opDeleteInstanceProfile = "DeleteInstanceProfile" // DeleteInstanceProfileRequest generates a "aws/request.Request" representing the // client's request for the DeleteInstanceProfile operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteInstanceProfile for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteInstanceProfile method directly -// instead. +// See DeleteInstanceProfile for more information on using the DeleteInstanceProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteInstanceProfileRequest method. // req, resp := client.DeleteInstanceProfileRequest(params) @@ -2854,19 +2838,18 @@ const opDeleteLoginProfile = "DeleteLoginProfile" // DeleteLoginProfileRequest generates a "aws/request.Request" representing the // client's request for the DeleteLoginProfile operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteLoginProfile for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteLoginProfile method directly -// instead. +// See DeleteLoginProfile for more information on using the DeleteLoginProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteLoginProfileRequest method. // req, resp := client.DeleteLoginProfileRequest(params) @@ -2957,19 +2940,18 @@ const opDeleteOpenIDConnectProvider = "DeleteOpenIDConnectProvider" // DeleteOpenIDConnectProviderRequest generates a "aws/request.Request" representing the // client's request for the DeleteOpenIDConnectProvider operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteOpenIDConnectProvider for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteOpenIDConnectProvider method directly -// instead. +// See DeleteOpenIDConnectProvider for more information on using the DeleteOpenIDConnectProvider +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteOpenIDConnectProviderRequest method. // req, resp := client.DeleteOpenIDConnectProviderRequest(params) @@ -3055,19 +3037,18 @@ const opDeletePolicy = "DeletePolicy" // DeletePolicyRequest generates a "aws/request.Request" representing the // client's request for the DeletePolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeletePolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeletePolicy method directly -// instead. +// See DeletePolicy for more information on using the DeletePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeletePolicyRequest method. // req, resp := client.DeletePolicyRequest(params) @@ -3176,19 +3157,18 @@ const opDeletePolicyVersion = "DeletePolicyVersion" // DeletePolicyVersionRequest generates a "aws/request.Request" representing the // client's request for the DeletePolicyVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeletePolicyVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeletePolicyVersion method directly -// instead. +// See DeletePolicyVersion for more information on using the DeletePolicyVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeletePolicyVersionRequest method. // req, resp := client.DeletePolicyVersionRequest(params) @@ -3283,19 +3263,18 @@ const opDeleteRole = "DeleteRole" // DeleteRoleRequest generates a "aws/request.Request" representing the // client's request for the DeleteRole operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteRole for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteRole method directly -// instead. +// See DeleteRole for more information on using the DeleteRole +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteRoleRequest method. // req, resp := client.DeleteRoleRequest(params) @@ -3389,19 +3368,18 @@ const opDeleteRolePolicy = "DeleteRolePolicy" // DeleteRolePolicyRequest generates a "aws/request.Request" representing the // client's request for the DeleteRolePolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteRolePolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteRolePolicy method directly -// instead. +// See DeleteRolePolicy for more information on using the DeleteRolePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteRolePolicyRequest method. // req, resp := client.DeleteRolePolicyRequest(params) @@ -3492,19 +3470,18 @@ const opDeleteSAMLProvider = "DeleteSAMLProvider" // DeleteSAMLProviderRequest generates a "aws/request.Request" representing the // client's request for the DeleteSAMLProvider operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSAMLProvider for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSAMLProvider method directly -// instead. +// See DeleteSAMLProvider for more information on using the DeleteSAMLProvider +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSAMLProviderRequest method. // req, resp := client.DeleteSAMLProviderRequest(params) @@ -3594,19 +3571,18 @@ const opDeleteSSHPublicKey = "DeleteSSHPublicKey" // DeleteSSHPublicKeyRequest generates a "aws/request.Request" representing the // client's request for the DeleteSSHPublicKey operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSSHPublicKey for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSSHPublicKey method directly -// instead. +// See DeleteSSHPublicKey for more information on using the DeleteSSHPublicKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSSHPublicKeyRequest method. // req, resp := client.DeleteSSHPublicKeyRequest(params) @@ -3683,19 +3659,18 @@ const opDeleteServerCertificate = "DeleteServerCertificate" // DeleteServerCertificateRequest generates a "aws/request.Request" representing the // client's request for the DeleteServerCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteServerCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteServerCertificate method directly -// instead. +// See DeleteServerCertificate for more information on using the DeleteServerCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteServerCertificateRequest method. // req, resp := client.DeleteServerCertificateRequest(params) @@ -3789,23 +3764,129 @@ func (c *IAM) DeleteServerCertificateWithContext(ctx aws.Context, input *DeleteS return out, req.Send() } +const opDeleteServiceLinkedRole = "DeleteServiceLinkedRole" + +// DeleteServiceLinkedRoleRequest generates a "aws/request.Request" representing the +// client's request for the DeleteServiceLinkedRole operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteServiceLinkedRole for more information on using the DeleteServiceLinkedRole +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteServiceLinkedRoleRequest method. +// req, resp := client.DeleteServiceLinkedRoleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteServiceLinkedRole +func (c *IAM) DeleteServiceLinkedRoleRequest(input *DeleteServiceLinkedRoleInput) (req *request.Request, output *DeleteServiceLinkedRoleOutput) { + op := &request.Operation{ + Name: opDeleteServiceLinkedRole, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteServiceLinkedRoleInput{} + } + + output = &DeleteServiceLinkedRoleOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteServiceLinkedRole API operation for AWS Identity and Access Management. +// +// Submits a service-linked role deletion request and returns a DeletionTaskId, +// which you can use to check the status of the deletion. Before you call this +// operation, confirm that the role has no active sessions and that any resources +// used by the role in the linked service are deleted. If you call this operation +// more than once for the same service-linked role and an earlier deletion task +// is not complete, then the DeletionTaskId of the earlier request is returned. +// +// If you submit a deletion request for a service-linked role whose linked service +// is still accessing a resource, then the deletion task fails. If it fails, +// the GetServiceLinkedRoleDeletionStatus API operation returns the reason for +// the failure, including the resources that must be deleted. To delete the +// service-linked role, you must first remove those resources from the linked +// service and then submit the deletion request again. Resources are specific +// to the service that is linked to the role. For more information about removing +// resources from a service, see the AWS documentation (http://docs.aws.amazon.com/) +// for your service. +// +// For more information about service-linked roles, see Roles Terms and Concepts: +// AWS Service-Linked Role (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) +// in the IAM User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation DeleteServiceLinkedRole for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNoSuchEntityException "NoSuchEntity" +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ErrCodeLimitExceededException "LimitExceeded" +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ErrCodeServiceFailureException "ServiceFailure" +// The request processing has failed because of an unknown error, exception +// or failure. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteServiceLinkedRole +func (c *IAM) DeleteServiceLinkedRole(input *DeleteServiceLinkedRoleInput) (*DeleteServiceLinkedRoleOutput, error) { + req, out := c.DeleteServiceLinkedRoleRequest(input) + return out, req.Send() +} + +// DeleteServiceLinkedRoleWithContext is the same as DeleteServiceLinkedRole with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteServiceLinkedRole for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IAM) DeleteServiceLinkedRoleWithContext(ctx aws.Context, input *DeleteServiceLinkedRoleInput, opts ...request.Option) (*DeleteServiceLinkedRoleOutput, error) { + req, out := c.DeleteServiceLinkedRoleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteServiceSpecificCredential = "DeleteServiceSpecificCredential" // DeleteServiceSpecificCredentialRequest generates a "aws/request.Request" representing the // client's request for the DeleteServiceSpecificCredential operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteServiceSpecificCredential for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteServiceSpecificCredential method directly -// instead. +// See DeleteServiceSpecificCredential for more information on using the DeleteServiceSpecificCredential +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteServiceSpecificCredentialRequest method. // req, resp := client.DeleteServiceSpecificCredentialRequest(params) @@ -3876,19 +3957,18 @@ const opDeleteSigningCertificate = "DeleteSigningCertificate" // DeleteSigningCertificateRequest generates a "aws/request.Request" representing the // client's request for the DeleteSigningCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSigningCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSigningCertificate method directly -// instead. +// See DeleteSigningCertificate for more information on using the DeleteSigningCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSigningCertificateRequest method. // req, resp := client.DeleteSigningCertificateRequest(params) @@ -3972,19 +4052,18 @@ const opDeleteUser = "DeleteUser" // DeleteUserRequest generates a "aws/request.Request" representing the // client's request for the DeleteUser operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteUser for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteUser method directly -// instead. +// See DeleteUser for more information on using the DeleteUser +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteUserRequest method. // req, resp := client.DeleteUserRequest(params) @@ -4068,19 +4147,18 @@ const opDeleteUserPolicy = "DeleteUserPolicy" // DeleteUserPolicyRequest generates a "aws/request.Request" representing the // client's request for the DeleteUserPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteUserPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteUserPolicy method directly -// instead. +// See DeleteUserPolicy for more information on using the DeleteUserPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteUserPolicyRequest method. // req, resp := client.DeleteUserPolicyRequest(params) @@ -4165,19 +4243,18 @@ const opDeleteVirtualMFADevice = "DeleteVirtualMFADevice" // DeleteVirtualMFADeviceRequest generates a "aws/request.Request" representing the // client's request for the DeleteVirtualMFADevice operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteVirtualMFADevice for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteVirtualMFADevice method directly -// instead. +// See DeleteVirtualMFADevice for more information on using the DeleteVirtualMFADevice +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteVirtualMFADeviceRequest method. // req, resp := client.DeleteVirtualMFADeviceRequest(params) @@ -4263,19 +4340,18 @@ const opDetachGroupPolicy = "DetachGroupPolicy" // DetachGroupPolicyRequest generates a "aws/request.Request" representing the // client's request for the DetachGroupPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DetachGroupPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DetachGroupPolicy method directly -// instead. +// See DetachGroupPolicy for more information on using the DetachGroupPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DetachGroupPolicyRequest method. // req, resp := client.DetachGroupPolicyRequest(params) @@ -4363,19 +4439,18 @@ const opDetachRolePolicy = "DetachRolePolicy" // DetachRolePolicyRequest generates a "aws/request.Request" representing the // client's request for the DetachRolePolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DetachRolePolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DetachRolePolicy method directly -// instead. +// See DetachRolePolicy for more information on using the DetachRolePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DetachRolePolicyRequest method. // req, resp := client.DetachRolePolicyRequest(params) @@ -4469,19 +4544,18 @@ const opDetachUserPolicy = "DetachUserPolicy" // DetachUserPolicyRequest generates a "aws/request.Request" representing the // client's request for the DetachUserPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DetachUserPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DetachUserPolicy method directly -// instead. +// See DetachUserPolicy for more information on using the DetachUserPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DetachUserPolicyRequest method. // req, resp := client.DetachUserPolicyRequest(params) @@ -4569,19 +4643,18 @@ const opEnableMFADevice = "EnableMFADevice" // EnableMFADeviceRequest generates a "aws/request.Request" representing the // client's request for the EnableMFADevice operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EnableMFADevice for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EnableMFADevice method directly -// instead. +// See EnableMFADevice for more information on using the EnableMFADevice +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EnableMFADeviceRequest method. // req, resp := client.EnableMFADeviceRequest(params) @@ -4676,19 +4749,18 @@ const opGenerateCredentialReport = "GenerateCredentialReport" // GenerateCredentialReportRequest generates a "aws/request.Request" representing the // client's request for the GenerateCredentialReport operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GenerateCredentialReport for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GenerateCredentialReport method directly -// instead. +// See GenerateCredentialReport for more information on using the GenerateCredentialReport +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GenerateCredentialReportRequest method. // req, resp := client.GenerateCredentialReportRequest(params) @@ -4763,19 +4835,18 @@ const opGetAccessKeyLastUsed = "GetAccessKeyLastUsed" // GetAccessKeyLastUsedRequest generates a "aws/request.Request" representing the // client's request for the GetAccessKeyLastUsed operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetAccessKeyLastUsed for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetAccessKeyLastUsed method directly -// instead. +// See GetAccessKeyLastUsed for more information on using the GetAccessKeyLastUsed +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetAccessKeyLastUsedRequest method. // req, resp := client.GetAccessKeyLastUsedRequest(params) @@ -4847,19 +4918,18 @@ const opGetAccountAuthorizationDetails = "GetAccountAuthorizationDetails" // GetAccountAuthorizationDetailsRequest generates a "aws/request.Request" representing the // client's request for the GetAccountAuthorizationDetails operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetAccountAuthorizationDetails for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetAccountAuthorizationDetails method directly -// instead. +// See GetAccountAuthorizationDetails for more information on using the GetAccountAuthorizationDetails +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetAccountAuthorizationDetailsRequest method. // req, resp := client.GetAccountAuthorizationDetailsRequest(params) @@ -4990,19 +5060,18 @@ const opGetAccountPasswordPolicy = "GetAccountPasswordPolicy" // GetAccountPasswordPolicyRequest generates a "aws/request.Request" representing the // client's request for the GetAccountPasswordPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetAccountPasswordPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetAccountPasswordPolicy method directly -// instead. +// See GetAccountPasswordPolicy for more information on using the GetAccountPasswordPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetAccountPasswordPolicyRequest method. // req, resp := client.GetAccountPasswordPolicyRequest(params) @@ -5076,19 +5145,18 @@ const opGetAccountSummary = "GetAccountSummary" // GetAccountSummaryRequest generates a "aws/request.Request" representing the // client's request for the GetAccountSummary operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetAccountSummary for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetAccountSummary method directly -// instead. +// See GetAccountSummary for more information on using the GetAccountSummary +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetAccountSummaryRequest method. // req, resp := client.GetAccountSummaryRequest(params) @@ -5161,19 +5229,18 @@ const opGetContextKeysForCustomPolicy = "GetContextKeysForCustomPolicy" // GetContextKeysForCustomPolicyRequest generates a "aws/request.Request" representing the // client's request for the GetContextKeysForCustomPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetContextKeysForCustomPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetContextKeysForCustomPolicy method directly -// instead. +// See GetContextKeysForCustomPolicy for more information on using the GetContextKeysForCustomPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetContextKeysForCustomPolicyRequest method. // req, resp := client.GetContextKeysForCustomPolicyRequest(params) @@ -5251,19 +5318,18 @@ const opGetContextKeysForPrincipalPolicy = "GetContextKeysForPrincipalPolicy" // GetContextKeysForPrincipalPolicyRequest generates a "aws/request.Request" representing the // client's request for the GetContextKeysForPrincipalPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetContextKeysForPrincipalPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetContextKeysForPrincipalPolicy method directly -// instead. +// See GetContextKeysForPrincipalPolicy for more information on using the GetContextKeysForPrincipalPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetContextKeysForPrincipalPolicyRequest method. // req, resp := client.GetContextKeysForPrincipalPolicyRequest(params) @@ -5352,19 +5418,18 @@ const opGetCredentialReport = "GetCredentialReport" // GetCredentialReportRequest generates a "aws/request.Request" representing the // client's request for the GetCredentialReport operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetCredentialReport for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetCredentialReport method directly -// instead. +// See GetCredentialReport for more information on using the GetCredentialReport +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetCredentialReportRequest method. // req, resp := client.GetCredentialReportRequest(params) @@ -5449,19 +5514,18 @@ const opGetGroup = "GetGroup" // GetGroupRequest generates a "aws/request.Request" representing the // client's request for the GetGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetGroup method directly -// instead. +// See GetGroup for more information on using the GetGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetGroupRequest method. // req, resp := client.GetGroupRequest(params) @@ -5591,19 +5655,18 @@ const opGetGroupPolicy = "GetGroupPolicy" // GetGroupPolicyRequest generates a "aws/request.Request" representing the // client's request for the GetGroupPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetGroupPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetGroupPolicy method directly -// instead. +// See GetGroupPolicy for more information on using the GetGroupPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetGroupPolicyRequest method. // req, resp := client.GetGroupPolicyRequest(params) @@ -5692,19 +5755,18 @@ const opGetInstanceProfile = "GetInstanceProfile" // GetInstanceProfileRequest generates a "aws/request.Request" representing the // client's request for the GetInstanceProfile operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetInstanceProfile for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetInstanceProfile method directly -// instead. +// See GetInstanceProfile for more information on using the GetInstanceProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetInstanceProfileRequest method. // req, resp := client.GetInstanceProfileRequest(params) @@ -5780,19 +5842,18 @@ const opGetLoginProfile = "GetLoginProfile" // GetLoginProfileRequest generates a "aws/request.Request" representing the // client's request for the GetLoginProfile operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetLoginProfile for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetLoginProfile method directly -// instead. +// See GetLoginProfile for more information on using the GetLoginProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetLoginProfileRequest method. // req, resp := client.GetLoginProfileRequest(params) @@ -5867,19 +5928,18 @@ const opGetOpenIDConnectProvider = "GetOpenIDConnectProvider" // GetOpenIDConnectProviderRequest generates a "aws/request.Request" representing the // client's request for the GetOpenIDConnectProvider operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetOpenIDConnectProvider for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetOpenIDConnectProvider method directly -// instead. +// See GetOpenIDConnectProvider for more information on using the GetOpenIDConnectProvider +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetOpenIDConnectProviderRequest method. // req, resp := client.GetOpenIDConnectProviderRequest(params) @@ -5957,19 +6017,18 @@ const opGetPolicy = "GetPolicy" // GetPolicyRequest generates a "aws/request.Request" representing the // client's request for the GetPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetPolicy method directly -// instead. +// See GetPolicy for more information on using the GetPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetPolicyRequest method. // req, resp := client.GetPolicyRequest(params) @@ -6059,19 +6118,18 @@ const opGetPolicyVersion = "GetPolicyVersion" // GetPolicyVersionRequest generates a "aws/request.Request" representing the // client's request for the GetPolicyVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetPolicyVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetPolicyVersion method directly -// instead. +// See GetPolicyVersion for more information on using the GetPolicyVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetPolicyVersionRequest method. // req, resp := client.GetPolicyVersionRequest(params) @@ -6169,19 +6227,18 @@ const opGetRole = "GetRole" // GetRoleRequest generates a "aws/request.Request" representing the // client's request for the GetRole operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetRole for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetRole method directly -// instead. +// See GetRole for more information on using the GetRole +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetRoleRequest method. // req, resp := client.GetRoleRequest(params) @@ -6262,19 +6319,18 @@ const opGetRolePolicy = "GetRolePolicy" // GetRolePolicyRequest generates a "aws/request.Request" representing the // client's request for the GetRolePolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetRolePolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetRolePolicy method directly -// instead. +// See GetRolePolicy for more information on using the GetRolePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetRolePolicyRequest method. // req, resp := client.GetRolePolicyRequest(params) @@ -6366,19 +6422,18 @@ const opGetSAMLProvider = "GetSAMLProvider" // GetSAMLProviderRequest generates a "aws/request.Request" representing the // client's request for the GetSAMLProvider operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSAMLProvider for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSAMLProvider method directly -// instead. +// See GetSAMLProvider for more information on using the GetSAMLProvider +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSAMLProviderRequest method. // req, resp := client.GetSAMLProviderRequest(params) @@ -6458,19 +6513,18 @@ const opGetSSHPublicKey = "GetSSHPublicKey" // GetSSHPublicKeyRequest generates a "aws/request.Request" representing the // client's request for the GetSSHPublicKey operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSSHPublicKey for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSSHPublicKey method directly -// instead. +// See GetSSHPublicKey for more information on using the GetSSHPublicKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSSHPublicKeyRequest method. // req, resp := client.GetSSHPublicKeyRequest(params) @@ -6549,19 +6603,18 @@ const opGetServerCertificate = "GetServerCertificate" // GetServerCertificateRequest generates a "aws/request.Request" representing the // client's request for the GetServerCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetServerCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetServerCertificate method directly -// instead. +// See GetServerCertificate for more information on using the GetServerCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetServerCertificateRequest method. // req, resp := client.GetServerCertificateRequest(params) @@ -6635,23 +6688,114 @@ func (c *IAM) GetServerCertificateWithContext(ctx aws.Context, input *GetServerC return out, req.Send() } +const opGetServiceLinkedRoleDeletionStatus = "GetServiceLinkedRoleDeletionStatus" + +// GetServiceLinkedRoleDeletionStatusRequest generates a "aws/request.Request" representing the +// client's request for the GetServiceLinkedRoleDeletionStatus operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetServiceLinkedRoleDeletionStatus for more information on using the GetServiceLinkedRoleDeletionStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetServiceLinkedRoleDeletionStatusRequest method. +// req, resp := client.GetServiceLinkedRoleDeletionStatusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetServiceLinkedRoleDeletionStatus +func (c *IAM) GetServiceLinkedRoleDeletionStatusRequest(input *GetServiceLinkedRoleDeletionStatusInput) (req *request.Request, output *GetServiceLinkedRoleDeletionStatusOutput) { + op := &request.Operation{ + Name: opGetServiceLinkedRoleDeletionStatus, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetServiceLinkedRoleDeletionStatusInput{} + } + + output = &GetServiceLinkedRoleDeletionStatusOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetServiceLinkedRoleDeletionStatus API operation for AWS Identity and Access Management. +// +// Retrieves the status of your service-linked role deletion. After you use +// the DeleteServiceLinkedRole API operation to submit a service-linked role +// for deletion, you can use the DeletionTaskId parameter in GetServiceLinkedRoleDeletionStatus +// to check the status of the deletion. If the deletion fails, this operation +// returns the reason that it failed. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation GetServiceLinkedRoleDeletionStatus for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNoSuchEntityException "NoSuchEntity" +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ErrCodeInvalidInputException "InvalidInput" +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * ErrCodeServiceFailureException "ServiceFailure" +// The request processing has failed because of an unknown error, exception +// or failure. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetServiceLinkedRoleDeletionStatus +func (c *IAM) GetServiceLinkedRoleDeletionStatus(input *GetServiceLinkedRoleDeletionStatusInput) (*GetServiceLinkedRoleDeletionStatusOutput, error) { + req, out := c.GetServiceLinkedRoleDeletionStatusRequest(input) + return out, req.Send() +} + +// GetServiceLinkedRoleDeletionStatusWithContext is the same as GetServiceLinkedRoleDeletionStatus with the addition of +// the ability to pass a context and additional request options. +// +// See GetServiceLinkedRoleDeletionStatus for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IAM) GetServiceLinkedRoleDeletionStatusWithContext(ctx aws.Context, input *GetServiceLinkedRoleDeletionStatusInput, opts ...request.Option) (*GetServiceLinkedRoleDeletionStatusOutput, error) { + req, out := c.GetServiceLinkedRoleDeletionStatusRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetUser = "GetUser" // GetUserRequest generates a "aws/request.Request" representing the // client's request for the GetUser operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetUser for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetUser method directly -// instead. +// See GetUser for more information on using the GetUser +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetUserRequest method. // req, resp := client.GetUserRequest(params) @@ -6728,19 +6872,18 @@ const opGetUserPolicy = "GetUserPolicy" // GetUserPolicyRequest generates a "aws/request.Request" representing the // client's request for the GetUserPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetUserPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetUserPolicy method directly -// instead. +// See GetUserPolicy for more information on using the GetUserPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetUserPolicyRequest method. // req, resp := client.GetUserPolicyRequest(params) @@ -6829,19 +6972,18 @@ const opListAccessKeys = "ListAccessKeys" // ListAccessKeysRequest generates a "aws/request.Request" representing the // client's request for the ListAccessKeys operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAccessKeys for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAccessKeys method directly -// instead. +// See ListAccessKeys for more information on using the ListAccessKeys +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAccessKeysRequest method. // req, resp := client.ListAccessKeysRequest(params) @@ -6982,19 +7124,18 @@ const opListAccountAliases = "ListAccountAliases" // ListAccountAliasesRequest generates a "aws/request.Request" representing the // client's request for the ListAccountAliases operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAccountAliases for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAccountAliases method directly -// instead. +// See ListAccountAliases for more information on using the ListAccountAliases +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAccountAliasesRequest method. // req, resp := client.ListAccountAliasesRequest(params) @@ -7122,19 +7263,18 @@ const opListAttachedGroupPolicies = "ListAttachedGroupPolicies" // ListAttachedGroupPoliciesRequest generates a "aws/request.Request" representing the // client's request for the ListAttachedGroupPolicies operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAttachedGroupPolicies for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAttachedGroupPolicies method directly -// instead. +// See ListAttachedGroupPolicies for more information on using the ListAttachedGroupPolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAttachedGroupPoliciesRequest method. // req, resp := client.ListAttachedGroupPoliciesRequest(params) @@ -7278,19 +7418,18 @@ const opListAttachedRolePolicies = "ListAttachedRolePolicies" // ListAttachedRolePoliciesRequest generates a "aws/request.Request" representing the // client's request for the ListAttachedRolePolicies operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAttachedRolePolicies for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAttachedRolePolicies method directly -// instead. +// See ListAttachedRolePolicies for more information on using the ListAttachedRolePolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAttachedRolePoliciesRequest method. // req, resp := client.ListAttachedRolePoliciesRequest(params) @@ -7434,19 +7573,18 @@ const opListAttachedUserPolicies = "ListAttachedUserPolicies" // ListAttachedUserPoliciesRequest generates a "aws/request.Request" representing the // client's request for the ListAttachedUserPolicies operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAttachedUserPolicies for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAttachedUserPolicies method directly -// instead. +// See ListAttachedUserPolicies for more information on using the ListAttachedUserPolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAttachedUserPoliciesRequest method. // req, resp := client.ListAttachedUserPoliciesRequest(params) @@ -7590,19 +7728,18 @@ const opListEntitiesForPolicy = "ListEntitiesForPolicy" // ListEntitiesForPolicyRequest generates a "aws/request.Request" representing the // client's request for the ListEntitiesForPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListEntitiesForPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListEntitiesForPolicy method directly -// instead. +// See ListEntitiesForPolicy for more information on using the ListEntitiesForPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListEntitiesForPolicyRequest method. // req, resp := client.ListEntitiesForPolicyRequest(params) @@ -7743,19 +7880,18 @@ const opListGroupPolicies = "ListGroupPolicies" // ListGroupPoliciesRequest generates a "aws/request.Request" representing the // client's request for the ListGroupPolicies operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListGroupPolicies for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListGroupPolicies method directly -// instead. +// See ListGroupPolicies for more information on using the ListGroupPolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListGroupPoliciesRequest method. // req, resp := client.ListGroupPoliciesRequest(params) @@ -7895,19 +8031,18 @@ const opListGroups = "ListGroups" // ListGroupsRequest generates a "aws/request.Request" representing the // client's request for the ListGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListGroups method directly -// instead. +// See ListGroups for more information on using the ListGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListGroupsRequest method. // req, resp := client.ListGroupsRequest(params) @@ -8034,19 +8169,18 @@ const opListGroupsForUser = "ListGroupsForUser" // ListGroupsForUserRequest generates a "aws/request.Request" representing the // client's request for the ListGroupsForUser operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListGroupsForUser for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListGroupsForUser method directly -// instead. +// See ListGroupsForUser for more information on using the ListGroupsForUser +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListGroupsForUserRequest method. // req, resp := client.ListGroupsForUserRequest(params) @@ -8177,19 +8311,18 @@ const opListInstanceProfiles = "ListInstanceProfiles" // ListInstanceProfilesRequest generates a "aws/request.Request" representing the // client's request for the ListInstanceProfiles operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListInstanceProfiles for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListInstanceProfiles method directly -// instead. +// See ListInstanceProfiles for more information on using the ListInstanceProfiles +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListInstanceProfilesRequest method. // req, resp := client.ListInstanceProfilesRequest(params) @@ -8318,19 +8451,18 @@ const opListInstanceProfilesForRole = "ListInstanceProfilesForRole" // ListInstanceProfilesForRoleRequest generates a "aws/request.Request" representing the // client's request for the ListInstanceProfilesForRole operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListInstanceProfilesForRole for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListInstanceProfilesForRole method directly -// instead. +// See ListInstanceProfilesForRole for more information on using the ListInstanceProfilesForRole +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListInstanceProfilesForRoleRequest method. // req, resp := client.ListInstanceProfilesForRoleRequest(params) @@ -8463,19 +8595,18 @@ const opListMFADevices = "ListMFADevices" // ListMFADevicesRequest generates a "aws/request.Request" representing the // client's request for the ListMFADevices operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListMFADevices for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListMFADevices method directly -// instead. +// See ListMFADevices for more information on using the ListMFADevices +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListMFADevicesRequest method. // req, resp := client.ListMFADevicesRequest(params) @@ -8609,19 +8740,18 @@ const opListOpenIDConnectProviders = "ListOpenIDConnectProviders" // ListOpenIDConnectProvidersRequest generates a "aws/request.Request" representing the // client's request for the ListOpenIDConnectProviders operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListOpenIDConnectProviders for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListOpenIDConnectProviders method directly -// instead. +// See ListOpenIDConnectProviders for more information on using the ListOpenIDConnectProviders +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListOpenIDConnectProvidersRequest method. // req, resp := client.ListOpenIDConnectProvidersRequest(params) @@ -8691,19 +8821,18 @@ const opListPolicies = "ListPolicies" // ListPoliciesRequest generates a "aws/request.Request" representing the // client's request for the ListPolicies operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListPolicies for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListPolicies method directly -// instead. +// See ListPolicies for more information on using the ListPolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPoliciesRequest method. // req, resp := client.ListPoliciesRequest(params) @@ -8840,19 +8969,18 @@ const opListPolicyVersions = "ListPolicyVersions" // ListPolicyVersionsRequest generates a "aws/request.Request" representing the // client's request for the ListPolicyVersions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListPolicyVersions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListPolicyVersions method directly -// instead. +// See ListPolicyVersions for more information on using the ListPolicyVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPolicyVersionsRequest method. // req, resp := client.ListPolicyVersionsRequest(params) @@ -8990,19 +9118,18 @@ const opListRolePolicies = "ListRolePolicies" // ListRolePoliciesRequest generates a "aws/request.Request" representing the // client's request for the ListRolePolicies operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListRolePolicies for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListRolePolicies method directly -// instead. +// See ListRolePolicies for more information on using the ListRolePolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListRolePoliciesRequest method. // req, resp := client.ListRolePoliciesRequest(params) @@ -9141,19 +9268,18 @@ const opListRoles = "ListRoles" // ListRolesRequest generates a "aws/request.Request" representing the // client's request for the ListRoles operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListRoles for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListRoles method directly -// instead. +// See ListRoles for more information on using the ListRoles +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListRolesRequest method. // req, resp := client.ListRolesRequest(params) @@ -9282,19 +9408,18 @@ const opListSAMLProviders = "ListSAMLProviders" // ListSAMLProvidersRequest generates a "aws/request.Request" representing the // client's request for the ListSAMLProviders operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListSAMLProviders for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListSAMLProviders method directly -// instead. +// See ListSAMLProviders for more information on using the ListSAMLProviders +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListSAMLProvidersRequest method. // req, resp := client.ListSAMLProvidersRequest(params) @@ -9365,19 +9490,18 @@ const opListSSHPublicKeys = "ListSSHPublicKeys" // ListSSHPublicKeysRequest generates a "aws/request.Request" representing the // client's request for the ListSSHPublicKeys operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListSSHPublicKeys for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListSSHPublicKeys method directly -// instead. +// See ListSSHPublicKeys for more information on using the ListSSHPublicKeys +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListSSHPublicKeysRequest method. // req, resp := client.ListSSHPublicKeysRequest(params) @@ -9512,19 +9636,18 @@ const opListServerCertificates = "ListServerCertificates" // ListServerCertificatesRequest generates a "aws/request.Request" representing the // client's request for the ListServerCertificates operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListServerCertificates for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListServerCertificates method directly -// instead. +// See ListServerCertificates for more information on using the ListServerCertificates +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListServerCertificatesRequest method. // req, resp := client.ListServerCertificatesRequest(params) @@ -9657,19 +9780,18 @@ const opListServiceSpecificCredentials = "ListServiceSpecificCredentials" // ListServiceSpecificCredentialsRequest generates a "aws/request.Request" representing the // client's request for the ListServiceSpecificCredentials operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListServiceSpecificCredentials for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListServiceSpecificCredentials method directly -// instead. +// See ListServiceSpecificCredentials for more information on using the ListServiceSpecificCredentials +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListServiceSpecificCredentialsRequest method. // req, resp := client.ListServiceSpecificCredentialsRequest(params) @@ -9747,19 +9869,18 @@ const opListSigningCertificates = "ListSigningCertificates" // ListSigningCertificatesRequest generates a "aws/request.Request" representing the // client's request for the ListSigningCertificates operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListSigningCertificates for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListSigningCertificates method directly -// instead. +// See ListSigningCertificates for more information on using the ListSigningCertificates +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListSigningCertificatesRequest method. // req, resp := client.ListSigningCertificatesRequest(params) @@ -9898,19 +10019,18 @@ const opListUserPolicies = "ListUserPolicies" // ListUserPoliciesRequest generates a "aws/request.Request" representing the // client's request for the ListUserPolicies operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListUserPolicies for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListUserPolicies method directly -// instead. +// See ListUserPolicies for more information on using the ListUserPolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListUserPoliciesRequest method. // req, resp := client.ListUserPoliciesRequest(params) @@ -10048,19 +10168,18 @@ const opListUsers = "ListUsers" // ListUsersRequest generates a "aws/request.Request" representing the // client's request for the ListUsers operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListUsers for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListUsers method directly -// instead. +// See ListUsers for more information on using the ListUsers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListUsersRequest method. // req, resp := client.ListUsersRequest(params) @@ -10189,19 +10308,18 @@ const opListVirtualMFADevices = "ListVirtualMFADevices" // ListVirtualMFADevicesRequest generates a "aws/request.Request" representing the // client's request for the ListVirtualMFADevices operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListVirtualMFADevices for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListVirtualMFADevices method directly -// instead. +// See ListVirtualMFADevices for more information on using the ListVirtualMFADevices +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListVirtualMFADevicesRequest method. // req, resp := client.ListVirtualMFADevicesRequest(params) @@ -10325,19 +10443,18 @@ const opPutGroupPolicy = "PutGroupPolicy" // PutGroupPolicyRequest generates a "aws/request.Request" representing the // client's request for the PutGroupPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutGroupPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutGroupPolicy method directly -// instead. +// See PutGroupPolicy for more information on using the PutGroupPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutGroupPolicyRequest method. // req, resp := client.PutGroupPolicyRequest(params) @@ -10436,19 +10553,18 @@ const opPutRolePolicy = "PutRolePolicy" // PutRolePolicyRequest generates a "aws/request.Request" representing the // client's request for the PutRolePolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutRolePolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutRolePolicy method directly -// instead. +// See PutRolePolicy for more information on using the PutRolePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutRolePolicyRequest method. // req, resp := client.PutRolePolicyRequest(params) @@ -10559,19 +10675,18 @@ const opPutUserPolicy = "PutUserPolicy" // PutUserPolicyRequest generates a "aws/request.Request" representing the // client's request for the PutUserPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutUserPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutUserPolicy method directly -// instead. +// See PutUserPolicy for more information on using the PutUserPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutUserPolicyRequest method. // req, resp := client.PutUserPolicyRequest(params) @@ -10670,19 +10785,18 @@ const opRemoveClientIDFromOpenIDConnectProvider = "RemoveClientIDFromOpenIDConne // RemoveClientIDFromOpenIDConnectProviderRequest generates a "aws/request.Request" representing the // client's request for the RemoveClientIDFromOpenIDConnectProvider operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveClientIDFromOpenIDConnectProvider for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveClientIDFromOpenIDConnectProvider method directly -// instead. +// See RemoveClientIDFromOpenIDConnectProvider for more information on using the RemoveClientIDFromOpenIDConnectProvider +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveClientIDFromOpenIDConnectProviderRequest method. // req, resp := client.RemoveClientIDFromOpenIDConnectProviderRequest(params) @@ -10766,19 +10880,18 @@ const opRemoveRoleFromInstanceProfile = "RemoveRoleFromInstanceProfile" // RemoveRoleFromInstanceProfileRequest generates a "aws/request.Request" representing the // client's request for the RemoveRoleFromInstanceProfile operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveRoleFromInstanceProfile for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveRoleFromInstanceProfile method directly -// instead. +// See RemoveRoleFromInstanceProfile for more information on using the RemoveRoleFromInstanceProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveRoleFromInstanceProfileRequest method. // req, resp := client.RemoveRoleFromInstanceProfileRequest(params) @@ -10872,19 +10985,18 @@ const opRemoveUserFromGroup = "RemoveUserFromGroup" // RemoveUserFromGroupRequest generates a "aws/request.Request" representing the // client's request for the RemoveUserFromGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveUserFromGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveUserFromGroup method directly -// instead. +// See RemoveUserFromGroup for more information on using the RemoveUserFromGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveUserFromGroupRequest method. // req, resp := client.RemoveUserFromGroupRequest(params) @@ -10963,19 +11075,18 @@ const opResetServiceSpecificCredential = "ResetServiceSpecificCredential" // ResetServiceSpecificCredentialRequest generates a "aws/request.Request" representing the // client's request for the ResetServiceSpecificCredential operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ResetServiceSpecificCredential for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ResetServiceSpecificCredential method directly -// instead. +// See ResetServiceSpecificCredential for more information on using the ResetServiceSpecificCredential +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ResetServiceSpecificCredentialRequest method. // req, resp := client.ResetServiceSpecificCredentialRequest(params) @@ -11047,19 +11158,18 @@ const opResyncMFADevice = "ResyncMFADevice" // ResyncMFADeviceRequest generates a "aws/request.Request" representing the // client's request for the ResyncMFADevice operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ResyncMFADevice for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ResyncMFADevice method directly -// instead. +// See ResyncMFADevice for more information on using the ResyncMFADevice +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ResyncMFADeviceRequest method. // req, resp := client.ResyncMFADeviceRequest(params) @@ -11147,19 +11257,18 @@ const opSetDefaultPolicyVersion = "SetDefaultPolicyVersion" // SetDefaultPolicyVersionRequest generates a "aws/request.Request" representing the // client's request for the SetDefaultPolicyVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetDefaultPolicyVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetDefaultPolicyVersion method directly -// instead. +// See SetDefaultPolicyVersion for more information on using the SetDefaultPolicyVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetDefaultPolicyVersionRequest method. // req, resp := client.SetDefaultPolicyVersionRequest(params) @@ -11251,19 +11360,18 @@ const opSimulateCustomPolicy = "SimulateCustomPolicy" // SimulateCustomPolicyRequest generates a "aws/request.Request" representing the // client's request for the SimulateCustomPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SimulateCustomPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SimulateCustomPolicy method directly -// instead. +// See SimulateCustomPolicy for more information on using the SimulateCustomPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SimulateCustomPolicyRequest method. // req, resp := client.SimulateCustomPolicyRequest(params) @@ -11330,7 +11438,7 @@ func (c *IAM) SimulateCustomPolicyRequest(input *SimulateCustomPolicyInput) (req // // * ErrCodePolicyEvaluationException "PolicyEvaluation" // The request failed because a provided policy could not be successfully evaluated. -// An additional detail message indicates the source of the failure. +// An additional detailed message indicates the source of the failure. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SimulateCustomPolicy func (c *IAM) SimulateCustomPolicy(input *SimulateCustomPolicyInput) (*SimulatePolicyResponse, error) { @@ -11408,19 +11516,18 @@ const opSimulatePrincipalPolicy = "SimulatePrincipalPolicy" // SimulatePrincipalPolicyRequest generates a "aws/request.Request" representing the // client's request for the SimulatePrincipalPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SimulatePrincipalPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SimulatePrincipalPolicy method directly -// instead. +// See SimulatePrincipalPolicy for more information on using the SimulatePrincipalPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SimulatePrincipalPolicyRequest method. // req, resp := client.SimulatePrincipalPolicyRequest(params) @@ -11501,7 +11608,7 @@ func (c *IAM) SimulatePrincipalPolicyRequest(input *SimulatePrincipalPolicyInput // // * ErrCodePolicyEvaluationException "PolicyEvaluation" // The request failed because a provided policy could not be successfully evaluated. -// An additional detail message indicates the source of the failure. +// An additional detailed message indicates the source of the failure. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SimulatePrincipalPolicy func (c *IAM) SimulatePrincipalPolicy(input *SimulatePrincipalPolicyInput) (*SimulatePolicyResponse, error) { @@ -11579,19 +11686,18 @@ const opUpdateAccessKey = "UpdateAccessKey" // UpdateAccessKeyRequest generates a "aws/request.Request" representing the // client's request for the UpdateAccessKey operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateAccessKey for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateAccessKey method directly -// instead. +// See UpdateAccessKey for more information on using the UpdateAccessKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateAccessKeyRequest method. // req, resp := client.UpdateAccessKeyRequest(params) @@ -11680,19 +11786,18 @@ const opUpdateAccountPasswordPolicy = "UpdateAccountPasswordPolicy" // UpdateAccountPasswordPolicyRequest generates a "aws/request.Request" representing the // client's request for the UpdateAccountPasswordPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateAccountPasswordPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateAccountPasswordPolicy method directly -// instead. +// See UpdateAccountPasswordPolicy for more information on using the UpdateAccountPasswordPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateAccountPasswordPolicyRequest method. // req, resp := client.UpdateAccountPasswordPolicyRequest(params) @@ -11784,19 +11889,18 @@ const opUpdateAssumeRolePolicy = "UpdateAssumeRolePolicy" // UpdateAssumeRolePolicyRequest generates a "aws/request.Request" representing the // client's request for the UpdateAssumeRolePolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateAssumeRolePolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateAssumeRolePolicy method directly -// instead. +// See UpdateAssumeRolePolicy for more information on using the UpdateAssumeRolePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateAssumeRolePolicyRequest method. // req, resp := client.UpdateAssumeRolePolicyRequest(params) @@ -11888,19 +11992,18 @@ const opUpdateGroup = "UpdateGroup" // UpdateGroupRequest generates a "aws/request.Request" representing the // client's request for the UpdateGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateGroup method directly -// instead. +// See UpdateGroup for more information on using the UpdateGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateGroupRequest method. // req, resp := client.UpdateGroupRequest(params) @@ -11993,19 +12096,18 @@ const opUpdateLoginProfile = "UpdateLoginProfile" // UpdateLoginProfileRequest generates a "aws/request.Request" representing the // client's request for the UpdateLoginProfile operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateLoginProfile for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateLoginProfile method directly -// instead. +// See UpdateLoginProfile for more information on using the UpdateLoginProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateLoginProfileRequest method. // req, resp := client.UpdateLoginProfileRequest(params) @@ -12098,19 +12200,18 @@ const opUpdateOpenIDConnectProviderThumbprint = "UpdateOpenIDConnectProviderThum // UpdateOpenIDConnectProviderThumbprintRequest generates a "aws/request.Request" representing the // client's request for the UpdateOpenIDConnectProviderThumbprint operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateOpenIDConnectProviderThumbprint for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateOpenIDConnectProviderThumbprint method directly -// instead. +// See UpdateOpenIDConnectProviderThumbprint for more information on using the UpdateOpenIDConnectProviderThumbprint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateOpenIDConnectProviderThumbprintRequest method. // req, resp := client.UpdateOpenIDConnectProviderThumbprintRequest(params) @@ -12203,19 +12304,18 @@ const opUpdateRoleDescription = "UpdateRoleDescription" // UpdateRoleDescriptionRequest generates a "aws/request.Request" representing the // client's request for the UpdateRoleDescription operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateRoleDescription for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateRoleDescription method directly -// instead. +// See UpdateRoleDescription for more information on using the UpdateRoleDescription +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateRoleDescriptionRequest method. // req, resp := client.UpdateRoleDescriptionRequest(params) @@ -12294,19 +12394,18 @@ const opUpdateSAMLProvider = "UpdateSAMLProvider" // UpdateSAMLProviderRequest generates a "aws/request.Request" representing the // client's request for the UpdateSAMLProvider operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateSAMLProvider for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateSAMLProvider method directly -// instead. +// See UpdateSAMLProvider for more information on using the UpdateSAMLProvider +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateSAMLProviderRequest method. // req, resp := client.UpdateSAMLProviderRequest(params) @@ -12389,19 +12488,18 @@ const opUpdateSSHPublicKey = "UpdateSSHPublicKey" // UpdateSSHPublicKeyRequest generates a "aws/request.Request" representing the // client's request for the UpdateSSHPublicKey operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateSSHPublicKey for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateSSHPublicKey method directly -// instead. +// See UpdateSSHPublicKey for more information on using the UpdateSSHPublicKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateSSHPublicKeyRequest method. // req, resp := client.UpdateSSHPublicKeyRequest(params) @@ -12481,19 +12579,18 @@ const opUpdateServerCertificate = "UpdateServerCertificate" // UpdateServerCertificateRequest generates a "aws/request.Request" representing the // client's request for the UpdateServerCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateServerCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateServerCertificate method directly -// instead. +// See UpdateServerCertificate for more information on using the UpdateServerCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateServerCertificateRequest method. // req, resp := client.UpdateServerCertificateRequest(params) @@ -12594,19 +12691,18 @@ const opUpdateServiceSpecificCredential = "UpdateServiceSpecificCredential" // UpdateServiceSpecificCredentialRequest generates a "aws/request.Request" representing the // client's request for the UpdateServiceSpecificCredential operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateServiceSpecificCredential for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateServiceSpecificCredential method directly -// instead. +// See UpdateServiceSpecificCredential for more information on using the UpdateServiceSpecificCredential +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateServiceSpecificCredentialRequest method. // req, resp := client.UpdateServiceSpecificCredentialRequest(params) @@ -12680,19 +12776,18 @@ const opUpdateSigningCertificate = "UpdateSigningCertificate" // UpdateSigningCertificateRequest generates a "aws/request.Request" representing the // client's request for the UpdateSigningCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateSigningCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateSigningCertificate method directly -// instead. +// See UpdateSigningCertificate for more information on using the UpdateSigningCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateSigningCertificateRequest method. // req, resp := client.UpdateSigningCertificateRequest(params) @@ -12778,19 +12873,18 @@ const opUpdateUser = "UpdateUser" // UpdateUserRequest generates a "aws/request.Request" representing the // client's request for the UpdateUser operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateUser for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateUser method directly -// instead. +// See UpdateUser for more information on using the UpdateUser +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateUserRequest method. // req, resp := client.UpdateUserRequest(params) @@ -12890,19 +12984,18 @@ const opUploadSSHPublicKey = "UploadSSHPublicKey" // UploadSSHPublicKeyRequest generates a "aws/request.Request" representing the // client's request for the UploadSSHPublicKey operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UploadSSHPublicKey for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UploadSSHPublicKey method directly -// instead. +// See UploadSSHPublicKey for more information on using the UploadSSHPublicKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UploadSSHPublicKeyRequest method. // req, resp := client.UploadSSHPublicKeyRequest(params) @@ -12993,19 +13086,18 @@ const opUploadServerCertificate = "UploadServerCertificate" // UploadServerCertificateRequest generates a "aws/request.Request" representing the // client's request for the UploadServerCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UploadServerCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UploadServerCertificate method directly -// instead. +// See UploadServerCertificate for more information on using the UploadServerCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UploadServerCertificateRequest method. // req, resp := client.UploadServerCertificateRequest(params) @@ -13115,19 +13207,18 @@ const opUploadSigningCertificate = "UploadSigningCertificate" // UploadSigningCertificateRequest generates a "aws/request.Request" representing the // client's request for the UploadSigningCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UploadSigningCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UploadSigningCertificate method directly -// instead. +// See UploadSigningCertificate for more information on using the UploadSigningCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UploadSigningCertificateRequest method. // req, resp := client.UploadSigningCertificateRequest(params) @@ -14732,7 +14823,7 @@ type CreatePolicyInput struct { // // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) // a string of characters consisting of upper and lowercase alphanumeric characters - // with no spaces. You can also include any of the following characters: =,.@- + // with no spaces. You can also include any of the following characters: =,.@-+ // // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` @@ -15871,7 +15962,7 @@ type DeleteGroupPolicyInput struct { // // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) // a string of characters consisting of upper and lowercase alphanumeric characters - // with no spaces. You can also include any of the following characters: =,.@- + // with no spaces. You can also include any of the following characters: =,.@-+ // // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` @@ -16332,7 +16423,7 @@ type DeleteRolePolicyInput struct { // // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) // a string of characters consisting of upper and lowercase alphanumeric characters - // with no spaces. You can also include any of the following characters: =,.@- + // with no spaces. You can also include any of the following characters: =,.@-+ // // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` @@ -16607,6 +16698,75 @@ func (s DeleteServerCertificateOutput) GoString() string { return s.String() } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteServiceLinkedRoleRequest +type DeleteServiceLinkedRoleInput struct { + _ struct{} `type:"structure"` + + // The name of the service-linked role to be deleted. + // + // RoleName is a required field + RoleName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteServiceLinkedRoleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteServiceLinkedRoleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteServiceLinkedRoleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteServiceLinkedRoleInput"} + if s.RoleName == nil { + invalidParams.Add(request.NewErrParamRequired("RoleName")) + } + if s.RoleName != nil && len(*s.RoleName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoleName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRoleName sets the RoleName field's value. +func (s *DeleteServiceLinkedRoleInput) SetRoleName(v string) *DeleteServiceLinkedRoleInput { + s.RoleName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteServiceLinkedRoleResponse +type DeleteServiceLinkedRoleOutput struct { + _ struct{} `type:"structure"` + + // The deletion task identifier that you can use to check the status of the + // deletion. This identifier is returned in the format task/aws-service-role///. + // + // DeletionTaskId is a required field + DeletionTaskId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteServiceLinkedRoleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteServiceLinkedRoleOutput) GoString() string { + return s.String() +} + +// SetDeletionTaskId sets the DeletionTaskId field's value. +func (s *DeleteServiceLinkedRoleOutput) SetDeletionTaskId(v string) *DeleteServiceLinkedRoleOutput { + s.DeletionTaskId = &v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeleteServiceSpecificCredentialRequest type DeleteServiceSpecificCredentialInput struct { _ struct{} `type:"structure"` @@ -16833,7 +16993,7 @@ type DeleteUserPolicyInput struct { // // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) // a string of characters consisting of upper and lowercase alphanumeric characters - // with no spaces. You can also include any of the following characters: =,.@- + // with no spaces. You can also include any of the following characters: =,.@-+ // // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` @@ -16970,6 +17130,48 @@ func (s DeleteVirtualMFADeviceOutput) GoString() string { return s.String() } +// The reason that the service-linked role deletion failed. +// +// This data type is used as a response element in the GetServiceLinkedRoleDeletionStatus +// operation. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeletionTaskFailureReasonType +type DeletionTaskFailureReasonType struct { + _ struct{} `type:"structure"` + + // A short description of the reason that the service-linked role deletion failed. + Reason *string `type:"string"` + + // A list of objects that contains details about the service-linked role deletion + // failure. If the service-linked role has active sessions or if any resources + // that were used by the role have not been deleted from the linked service, + // the role can't be deleted. This parameter includes a list of the resources + // that are associated with the role and the region in which the resources are + // being used. + RoleUsageList []*RoleUsageType `type:"list"` +} + +// String returns the string representation +func (s DeletionTaskFailureReasonType) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletionTaskFailureReasonType) GoString() string { + return s.String() +} + +// SetReason sets the Reason field's value. +func (s *DeletionTaskFailureReasonType) SetReason(v string) *DeletionTaskFailureReasonType { + s.Reason = &v + return s +} + +// SetRoleUsageList sets the RoleUsageList field's value. +func (s *DeletionTaskFailureReasonType) SetRoleUsageList(v []*RoleUsageType) *DeletionTaskFailureReasonType { + s.RoleUsageList = v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DetachGroupPolicyRequest type DetachGroupPolicyInput struct { _ struct{} `type:"structure"` @@ -18193,7 +18395,7 @@ type GetGroupPolicyInput struct { // // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) // a string of characters consisting of upper and lowercase alphanumeric characters - // with no spaces. You can also include any of the following characters: =,.@- + // with no spaces. You can also include any of the following characters: =,.@-+ // // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` @@ -18786,7 +18988,7 @@ type GetRolePolicyInput struct { // // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) // a string of characters consisting of upper and lowercase alphanumeric characters - // with no spaces. You can also include any of the following characters: =,.@- + // with no spaces. You can also include any of the following characters: =,.@-+ // // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` @@ -19165,6 +19367,84 @@ func (s *GetServerCertificateOutput) SetServerCertificate(v *ServerCertificate) return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetServiceLinkedRoleDeletionStatusRequest +type GetServiceLinkedRoleDeletionStatusInput struct { + _ struct{} `type:"structure"` + + // The deletion task identifier. This identifier is returned by the DeleteServiceLinkedRole + // operation in the format task/aws-service-role///. + // + // DeletionTaskId is a required field + DeletionTaskId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetServiceLinkedRoleDeletionStatusInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetServiceLinkedRoleDeletionStatusInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetServiceLinkedRoleDeletionStatusInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetServiceLinkedRoleDeletionStatusInput"} + if s.DeletionTaskId == nil { + invalidParams.Add(request.NewErrParamRequired("DeletionTaskId")) + } + if s.DeletionTaskId != nil && len(*s.DeletionTaskId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DeletionTaskId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDeletionTaskId sets the DeletionTaskId field's value. +func (s *GetServiceLinkedRoleDeletionStatusInput) SetDeletionTaskId(v string) *GetServiceLinkedRoleDeletionStatusInput { + s.DeletionTaskId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetServiceLinkedRoleDeletionStatusResponse +type GetServiceLinkedRoleDeletionStatusOutput struct { + _ struct{} `type:"structure"` + + // An object that contains details about the reason the deletion failed. + Reason *DeletionTaskFailureReasonType `type:"structure"` + + // The status of the deletion. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"DeletionTaskStatusType"` +} + +// String returns the string representation +func (s GetServiceLinkedRoleDeletionStatusOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetServiceLinkedRoleDeletionStatusOutput) GoString() string { + return s.String() +} + +// SetReason sets the Reason field's value. +func (s *GetServiceLinkedRoleDeletionStatusOutput) SetReason(v *DeletionTaskFailureReasonType) *GetServiceLinkedRoleDeletionStatusOutput { + s.Reason = v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetServiceLinkedRoleDeletionStatusOutput) SetStatus(v string) *GetServiceLinkedRoleDeletionStatusOutput { + s.Status = &v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetUserRequest type GetUserInput struct { _ struct{} `type:"structure"` @@ -19242,7 +19522,7 @@ type GetUserPolicyInput struct { // // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) // a string of characters consisting of upper and lowercase alphanumeric characters - // with no spaces. You can also include any of the following characters: =,.@- + // with no spaces. You can also include any of the following characters: =,.@-+ // // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` @@ -20585,6 +20865,10 @@ type ListGroupPoliciesOutput struct { // A list of policy names. // + // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@-+ + // // PolicyNames is a required field PolicyNames []*string `type:"list" required:"true"` } @@ -23602,7 +23886,7 @@ type PutGroupPolicyInput struct { // // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) // a string of characters consisting of upper and lowercase alphanumeric characters - // with no spaces. You can also include any of the following characters: =,.@- + // with no spaces. You can also include any of the following characters: =,.@-+ // // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` @@ -23699,7 +23983,7 @@ type PutRolePolicyInput struct { // // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) // a string of characters consisting of upper and lowercase alphanumeric characters - // with no spaces. You can also include any of the following characters: =,.@- + // with no spaces. You can also include any of the following characters: =,.@-+ // // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` @@ -23805,7 +24089,7 @@ type PutUserPolicyInput struct { // // This parameter allows (per its regex pattern (http://wikipedia.org/wiki/regex)) // a string of characters consisting of upper and lowercase alphanumeric characters - // with no spaces. You can also include any of the following characters: =,.@- + // with no spaces. You can also include any of the following characters: =,.@-+ // // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` @@ -24640,6 +24924,43 @@ func (s *RoleDetail) SetRolePolicyList(v []*PolicyDetail) *RoleDetail { return s } +// An object that contains details about how a service-linked role is used. +// +// This data type is used as a response element in the GetServiceLinkedRoleDeletionStatus +// operation. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/RoleUsageType +type RoleUsageType struct { + _ struct{} `type:"structure"` + + // The name of the region where the service-linked role is being used. + Region *string `min:"1" type:"string"` + + // The name of the resource that is using the service-linked role. + Resources []*string `type:"list"` +} + +// String returns the string representation +func (s RoleUsageType) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RoleUsageType) GoString() string { + return s.String() +} + +// SetRegion sets the Region field's value. +func (s *RoleUsageType) SetRegion(v string) *RoleUsageType { + s.Region = &v + return s +} + +// SetResources sets the Resources field's value. +func (s *RoleUsageType) SetResources(v []*string) *RoleUsageType { + s.Resources = v + return s +} + // Contains the list of SAML providers for this account. // Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SAMLProviderListEntry type SAMLProviderListEntry struct { @@ -27592,15 +27913,18 @@ type User struct { // a list of AWS websites that capture a user's last sign-in time, see the Credential // Reports (http://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html) // topic in the Using IAM guide. If a password is used more than once in a five-minute - // span, only the first use is returned in this field. This field is null (not - // present) when: + // span, only the first use is returned in this field. If the field is null + // (no value) then it indicates that they never signed in with a password. This + // can be because: // - // * The user does not have a password + // * The user never had a password. // - // * The password exists but has never been used (at least not since IAM - // started tracking this information on October 20th, 2014 + // * A password exists but has not been used since IAM started tracking this + // information on October 20th, 2014. // - // * there is no sign-in data associated with the user + // A null does not mean that the user never had a password. Also, if the user + // does not currently have a password, but had one in the past, then this field + // contains the date and time the most recent password was used. // // This value is returned only in the GetUser and ListUsers actions. PasswordLastUsed *time.Time `type:"timestamp" timestampFormat:"iso8601"` @@ -27881,6 +28205,20 @@ const ( ContextKeyTypeEnumDateList = "dateList" ) +const ( + // DeletionTaskStatusTypeSucceeded is a DeletionTaskStatusType enum value + DeletionTaskStatusTypeSucceeded = "SUCCEEDED" + + // DeletionTaskStatusTypeInProgress is a DeletionTaskStatusType enum value + DeletionTaskStatusTypeInProgress = "IN_PROGRESS" + + // DeletionTaskStatusTypeFailed is a DeletionTaskStatusType enum value + DeletionTaskStatusTypeFailed = "FAILED" + + // DeletionTaskStatusTypeNotStarted is a DeletionTaskStatusType enum value + DeletionTaskStatusTypeNotStarted = "NOT_STARTED" +) + const ( // EntityTypeUser is a EntityType enum value EntityTypeUser = "User" diff --git a/vendor/github.com/aws/aws-sdk-go/service/iam/doc.go b/vendor/github.com/aws/aws-sdk-go/service/iam/doc.go index 0f70af3b5..a4900f7f4 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/iam/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/iam/doc.go @@ -64,69 +64,17 @@ // // Using the Client // -// To use the client for AWS Identity and Access Management you will first need -// to create a new instance of it. +// To AWS Identity and Access Management with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := iam.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Identity and Access Management client IAM for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/iam/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AddClientIDToOpenIDConnectProvider(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AddClientIDToOpenIDConnectProvider result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AddClientIDToOpenIDConnectProviderWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package iam diff --git a/vendor/github.com/aws/aws-sdk-go/service/iam/errors.go b/vendor/github.com/aws/aws-sdk-go/service/iam/errors.go index 97ad363c8..470e19b37 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/iam/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/iam/errors.go @@ -144,9 +144,16 @@ const ( // "PolicyEvaluation". // // The request failed because a provided policy could not be successfully evaluated. - // An additional detail message indicates the source of the failure. + // An additional detailed message indicates the source of the failure. ErrCodePolicyEvaluationException = "PolicyEvaluation" + // ErrCodePolicyNotAttachableException for service response error code + // "PolicyNotAttachable". + // + // The request failed because AWS service role policies can only be attached + // to the service-linked role for that service. + ErrCodePolicyNotAttachableException = "PolicyNotAttachable" + // ErrCodeServiceFailureException for service response error code // "ServiceFailure". // diff --git a/vendor/github.com/aws/aws-sdk-go/service/iam/examples_test.go b/vendor/github.com/aws/aws-sdk-go/service/iam/examples_test.go index c4e997bf9..b0a9eb702 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/iam/examples_test.go +++ b/vendor/github.com/aws/aws-sdk-go/service/iam/examples_test.go @@ -156,6 +156,8 @@ func ExampleIAM_AttachGroupPolicy_shared00() { fmt.Println(iam.ErrCodeLimitExceededException, aerr.Error()) case iam.ErrCodeInvalidInputException: fmt.Println(iam.ErrCodeInvalidInputException, aerr.Error()) + case iam.ErrCodePolicyNotAttachableException: + fmt.Println(iam.ErrCodePolicyNotAttachableException, aerr.Error()) case iam.ErrCodeServiceFailureException: fmt.Println(iam.ErrCodeServiceFailureException, aerr.Error()) default: @@ -195,6 +197,8 @@ func ExampleIAM_AttachRolePolicy_shared00() { fmt.Println(iam.ErrCodeInvalidInputException, aerr.Error()) case iam.ErrCodeUnmodifiableEntityException: fmt.Println(iam.ErrCodeUnmodifiableEntityException, aerr.Error()) + case iam.ErrCodePolicyNotAttachableException: + fmt.Println(iam.ErrCodePolicyNotAttachableException, aerr.Error()) case iam.ErrCodeServiceFailureException: fmt.Println(iam.ErrCodeServiceFailureException, aerr.Error()) default: @@ -232,6 +236,8 @@ func ExampleIAM_AttachUserPolicy_shared00() { fmt.Println(iam.ErrCodeLimitExceededException, aerr.Error()) case iam.ErrCodeInvalidInputException: fmt.Println(iam.ErrCodeInvalidInputException, aerr.Error()) + case iam.ErrCodePolicyNotAttachableException: + fmt.Println(iam.ErrCodePolicyNotAttachableException, aerr.Error()) case iam.ErrCodeServiceFailureException: fmt.Println(iam.ErrCodeServiceFailureException, aerr.Error()) default: diff --git a/vendor/github.com/aws/aws-sdk-go/service/iam/iamiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/iam/iamiface/interface.go index e6c636761..c820c7b6a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/iam/iamiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/iam/iamiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Identity and Access Management. @@ -208,6 +208,10 @@ type IAMAPI interface { DeleteServerCertificateWithContext(aws.Context, *iam.DeleteServerCertificateInput, ...request.Option) (*iam.DeleteServerCertificateOutput, error) DeleteServerCertificateRequest(*iam.DeleteServerCertificateInput) (*request.Request, *iam.DeleteServerCertificateOutput) + DeleteServiceLinkedRole(*iam.DeleteServiceLinkedRoleInput) (*iam.DeleteServiceLinkedRoleOutput, error) + DeleteServiceLinkedRoleWithContext(aws.Context, *iam.DeleteServiceLinkedRoleInput, ...request.Option) (*iam.DeleteServiceLinkedRoleOutput, error) + DeleteServiceLinkedRoleRequest(*iam.DeleteServiceLinkedRoleInput) (*request.Request, *iam.DeleteServiceLinkedRoleOutput) + DeleteServiceSpecificCredential(*iam.DeleteServiceSpecificCredentialInput) (*iam.DeleteServiceSpecificCredentialOutput, error) DeleteServiceSpecificCredentialWithContext(aws.Context, *iam.DeleteServiceSpecificCredentialInput, ...request.Option) (*iam.DeleteServiceSpecificCredentialOutput, error) DeleteServiceSpecificCredentialRequest(*iam.DeleteServiceSpecificCredentialInput) (*request.Request, *iam.DeleteServiceSpecificCredentialOutput) @@ -330,6 +334,10 @@ type IAMAPI interface { GetServerCertificateWithContext(aws.Context, *iam.GetServerCertificateInput, ...request.Option) (*iam.GetServerCertificateOutput, error) GetServerCertificateRequest(*iam.GetServerCertificateInput) (*request.Request, *iam.GetServerCertificateOutput) + GetServiceLinkedRoleDeletionStatus(*iam.GetServiceLinkedRoleDeletionStatusInput) (*iam.GetServiceLinkedRoleDeletionStatusOutput, error) + GetServiceLinkedRoleDeletionStatusWithContext(aws.Context, *iam.GetServiceLinkedRoleDeletionStatusInput, ...request.Option) (*iam.GetServiceLinkedRoleDeletionStatusOutput, error) + GetServiceLinkedRoleDeletionStatusRequest(*iam.GetServiceLinkedRoleDeletionStatusInput) (*request.Request, *iam.GetServiceLinkedRoleDeletionStatusOutput) + GetUser(*iam.GetUserInput) (*iam.GetUserOutput, error) GetUserWithContext(aws.Context, *iam.GetUserInput, ...request.Option) (*iam.GetUserOutput, error) GetUserRequest(*iam.GetUserInput) (*request.Request, *iam.GetUserOutput) diff --git a/vendor/github.com/aws/aws-sdk-go/service/iam/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/iam/waiters.go index 8bf5129cb..7a35d9e31 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/iam/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/iam/waiters.go @@ -11,7 +11,7 @@ import ( // WaitUntilInstanceProfileExists uses the IAM API operation // GetInstanceProfile to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *IAM) WaitUntilInstanceProfileExists(input *GetInstanceProfileInput) error { return c.WaitUntilInstanceProfileExistsWithContext(aws.BackgroundContext(), input) @@ -62,7 +62,7 @@ func (c *IAM) WaitUntilInstanceProfileExistsWithContext(ctx aws.Context, input * // WaitUntilUserExists uses the IAM API operation // GetUser to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *IAM) WaitUntilUserExists(input *GetUserInput) error { return c.WaitUntilUserExistsWithContext(aws.BackgroundContext(), input) diff --git a/vendor/github.com/aws/aws-sdk-go/service/inspector/api.go b/vendor/github.com/aws/aws-sdk-go/service/inspector/api.go index 277aa2964..4caa04a19 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/inspector/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/inspector/api.go @@ -17,19 +17,18 @@ const opAddAttributesToFindings = "AddAttributesToFindings" // AddAttributesToFindingsRequest generates a "aws/request.Request" representing the // client's request for the AddAttributesToFindings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddAttributesToFindings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddAttributesToFindings method directly -// instead. +// See AddAttributesToFindings for more information on using the AddAttributesToFindings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddAttributesToFindingsRequest method. // req, resp := client.AddAttributesToFindingsRequest(params) @@ -109,19 +108,18 @@ const opCreateAssessmentTarget = "CreateAssessmentTarget" // CreateAssessmentTargetRequest generates a "aws/request.Request" representing the // client's request for the CreateAssessmentTarget operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateAssessmentTarget for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateAssessmentTarget method directly -// instead. +// See CreateAssessmentTarget for more information on using the CreateAssessmentTarget +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateAssessmentTargetRequest method. // req, resp := client.CreateAssessmentTargetRequest(params) @@ -207,19 +205,18 @@ const opCreateAssessmentTemplate = "CreateAssessmentTemplate" // CreateAssessmentTemplateRequest generates a "aws/request.Request" representing the // client's request for the CreateAssessmentTemplate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateAssessmentTemplate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateAssessmentTemplate method directly -// instead. +// See CreateAssessmentTemplate for more information on using the CreateAssessmentTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateAssessmentTemplateRequest method. // req, resp := client.CreateAssessmentTemplateRequest(params) @@ -303,19 +300,18 @@ const opCreateResourceGroup = "CreateResourceGroup" // CreateResourceGroupRequest generates a "aws/request.Request" representing the // client's request for the CreateResourceGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateResourceGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateResourceGroup method directly -// instead. +// See CreateResourceGroup for more information on using the CreateResourceGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateResourceGroupRequest method. // req, resp := client.CreateResourceGroupRequest(params) @@ -397,19 +393,18 @@ const opDeleteAssessmentRun = "DeleteAssessmentRun" // DeleteAssessmentRunRequest generates a "aws/request.Request" representing the // client's request for the DeleteAssessmentRun operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteAssessmentRun for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteAssessmentRun method directly -// instead. +// See DeleteAssessmentRun for more information on using the DeleteAssessmentRun +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteAssessmentRunRequest method. // req, resp := client.DeleteAssessmentRunRequest(params) @@ -495,19 +490,18 @@ const opDeleteAssessmentTarget = "DeleteAssessmentTarget" // DeleteAssessmentTargetRequest generates a "aws/request.Request" representing the // client's request for the DeleteAssessmentTarget operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteAssessmentTarget for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteAssessmentTarget method directly -// instead. +// See DeleteAssessmentTarget for more information on using the DeleteAssessmentTarget +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteAssessmentTargetRequest method. // req, resp := client.DeleteAssessmentTargetRequest(params) @@ -593,19 +587,18 @@ const opDeleteAssessmentTemplate = "DeleteAssessmentTemplate" // DeleteAssessmentTemplateRequest generates a "aws/request.Request" representing the // client's request for the DeleteAssessmentTemplate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteAssessmentTemplate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteAssessmentTemplate method directly -// instead. +// See DeleteAssessmentTemplate for more information on using the DeleteAssessmentTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteAssessmentTemplateRequest method. // req, resp := client.DeleteAssessmentTemplateRequest(params) @@ -691,19 +684,18 @@ const opDescribeAssessmentRuns = "DescribeAssessmentRuns" // DescribeAssessmentRunsRequest generates a "aws/request.Request" representing the // client's request for the DescribeAssessmentRuns operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAssessmentRuns for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAssessmentRuns method directly -// instead. +// See DescribeAssessmentRuns for more information on using the DescribeAssessmentRuns +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAssessmentRunsRequest method. // req, resp := client.DescribeAssessmentRunsRequest(params) @@ -776,19 +768,18 @@ const opDescribeAssessmentTargets = "DescribeAssessmentTargets" // DescribeAssessmentTargetsRequest generates a "aws/request.Request" representing the // client's request for the DescribeAssessmentTargets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAssessmentTargets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAssessmentTargets method directly -// instead. +// See DescribeAssessmentTargets for more information on using the DescribeAssessmentTargets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAssessmentTargetsRequest method. // req, resp := client.DescribeAssessmentTargetsRequest(params) @@ -861,19 +852,18 @@ const opDescribeAssessmentTemplates = "DescribeAssessmentTemplates" // DescribeAssessmentTemplatesRequest generates a "aws/request.Request" representing the // client's request for the DescribeAssessmentTemplates operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAssessmentTemplates for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAssessmentTemplates method directly -// instead. +// See DescribeAssessmentTemplates for more information on using the DescribeAssessmentTemplates +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAssessmentTemplatesRequest method. // req, resp := client.DescribeAssessmentTemplatesRequest(params) @@ -946,19 +936,18 @@ const opDescribeCrossAccountAccessRole = "DescribeCrossAccountAccessRole" // DescribeCrossAccountAccessRoleRequest generates a "aws/request.Request" representing the // client's request for the DescribeCrossAccountAccessRole operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeCrossAccountAccessRole for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeCrossAccountAccessRole method directly -// instead. +// See DescribeCrossAccountAccessRole for more information on using the DescribeCrossAccountAccessRole +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeCrossAccountAccessRoleRequest method. // req, resp := client.DescribeCrossAccountAccessRoleRequest(params) @@ -1026,19 +1015,18 @@ const opDescribeFindings = "DescribeFindings" // DescribeFindingsRequest generates a "aws/request.Request" representing the // client's request for the DescribeFindings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeFindings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeFindings method directly -// instead. +// See DescribeFindings for more information on using the DescribeFindings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeFindingsRequest method. // req, resp := client.DescribeFindingsRequest(params) @@ -1110,19 +1098,18 @@ const opDescribeResourceGroups = "DescribeResourceGroups" // DescribeResourceGroupsRequest generates a "aws/request.Request" representing the // client's request for the DescribeResourceGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeResourceGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeResourceGroups method directly -// instead. +// See DescribeResourceGroups for more information on using the DescribeResourceGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeResourceGroupsRequest method. // req, resp := client.DescribeResourceGroupsRequest(params) @@ -1195,19 +1182,18 @@ const opDescribeRulesPackages = "DescribeRulesPackages" // DescribeRulesPackagesRequest generates a "aws/request.Request" representing the // client's request for the DescribeRulesPackages operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeRulesPackages for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeRulesPackages method directly -// instead. +// See DescribeRulesPackages for more information on using the DescribeRulesPackages +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeRulesPackagesRequest method. // req, resp := client.DescribeRulesPackagesRequest(params) @@ -1280,19 +1266,18 @@ const opGetAssessmentReport = "GetAssessmentReport" // GetAssessmentReportRequest generates a "aws/request.Request" representing the // client's request for the GetAssessmentReport operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetAssessmentReport for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetAssessmentReport method directly -// instead. +// See GetAssessmentReport for more information on using the GetAssessmentReport +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetAssessmentReportRequest method. // req, resp := client.GetAssessmentReportRequest(params) @@ -1383,19 +1368,18 @@ const opGetTelemetryMetadata = "GetTelemetryMetadata" // GetTelemetryMetadataRequest generates a "aws/request.Request" representing the // client's request for the GetTelemetryMetadata operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetTelemetryMetadata for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetTelemetryMetadata method directly -// instead. +// See GetTelemetryMetadata for more information on using the GetTelemetryMetadata +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetTelemetryMetadataRequest method. // req, resp := client.GetTelemetryMetadataRequest(params) @@ -1475,19 +1459,18 @@ const opListAssessmentRunAgents = "ListAssessmentRunAgents" // ListAssessmentRunAgentsRequest generates a "aws/request.Request" representing the // client's request for the ListAssessmentRunAgents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAssessmentRunAgents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAssessmentRunAgents method directly -// instead. +// See ListAssessmentRunAgents for more information on using the ListAssessmentRunAgents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAssessmentRunAgentsRequest method. // req, resp := client.ListAssessmentRunAgentsRequest(params) @@ -1503,6 +1486,12 @@ func (c *Inspector) ListAssessmentRunAgentsRequest(input *ListAssessmentRunAgent Name: opListAssessmentRunAgents, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -1563,23 +1552,72 @@ func (c *Inspector) ListAssessmentRunAgentsWithContext(ctx aws.Context, input *L return out, req.Send() } +// ListAssessmentRunAgentsPages iterates over the pages of a ListAssessmentRunAgents operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAssessmentRunAgents method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListAssessmentRunAgents operation. +// pageNum := 0 +// err := client.ListAssessmentRunAgentsPages(params, +// func(page *ListAssessmentRunAgentsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Inspector) ListAssessmentRunAgentsPages(input *ListAssessmentRunAgentsInput, fn func(*ListAssessmentRunAgentsOutput, bool) bool) error { + return c.ListAssessmentRunAgentsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListAssessmentRunAgentsPagesWithContext same as ListAssessmentRunAgentsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector) ListAssessmentRunAgentsPagesWithContext(ctx aws.Context, input *ListAssessmentRunAgentsInput, fn func(*ListAssessmentRunAgentsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAssessmentRunAgentsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAssessmentRunAgentsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListAssessmentRunAgentsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opListAssessmentRuns = "ListAssessmentRuns" // ListAssessmentRunsRequest generates a "aws/request.Request" representing the // client's request for the ListAssessmentRuns operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAssessmentRuns for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAssessmentRuns method directly -// instead. +// See ListAssessmentRuns for more information on using the ListAssessmentRuns +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAssessmentRunsRequest method. // req, resp := client.ListAssessmentRunsRequest(params) @@ -1595,6 +1633,12 @@ func (c *Inspector) ListAssessmentRunsRequest(input *ListAssessmentRunsInput) (r Name: opListAssessmentRuns, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -1655,23 +1699,72 @@ func (c *Inspector) ListAssessmentRunsWithContext(ctx aws.Context, input *ListAs return out, req.Send() } +// ListAssessmentRunsPages iterates over the pages of a ListAssessmentRuns operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAssessmentRuns method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListAssessmentRuns operation. +// pageNum := 0 +// err := client.ListAssessmentRunsPages(params, +// func(page *ListAssessmentRunsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Inspector) ListAssessmentRunsPages(input *ListAssessmentRunsInput, fn func(*ListAssessmentRunsOutput, bool) bool) error { + return c.ListAssessmentRunsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListAssessmentRunsPagesWithContext same as ListAssessmentRunsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector) ListAssessmentRunsPagesWithContext(ctx aws.Context, input *ListAssessmentRunsInput, fn func(*ListAssessmentRunsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAssessmentRunsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAssessmentRunsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListAssessmentRunsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opListAssessmentTargets = "ListAssessmentTargets" // ListAssessmentTargetsRequest generates a "aws/request.Request" representing the // client's request for the ListAssessmentTargets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAssessmentTargets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAssessmentTargets method directly -// instead. +// See ListAssessmentTargets for more information on using the ListAssessmentTargets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAssessmentTargetsRequest method. // req, resp := client.ListAssessmentTargetsRequest(params) @@ -1687,6 +1780,12 @@ func (c *Inspector) ListAssessmentTargetsRequest(input *ListAssessmentTargetsInp Name: opListAssessmentTargets, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -1744,23 +1843,72 @@ func (c *Inspector) ListAssessmentTargetsWithContext(ctx aws.Context, input *Lis return out, req.Send() } +// ListAssessmentTargetsPages iterates over the pages of a ListAssessmentTargets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAssessmentTargets method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListAssessmentTargets operation. +// pageNum := 0 +// err := client.ListAssessmentTargetsPages(params, +// func(page *ListAssessmentTargetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Inspector) ListAssessmentTargetsPages(input *ListAssessmentTargetsInput, fn func(*ListAssessmentTargetsOutput, bool) bool) error { + return c.ListAssessmentTargetsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListAssessmentTargetsPagesWithContext same as ListAssessmentTargetsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector) ListAssessmentTargetsPagesWithContext(ctx aws.Context, input *ListAssessmentTargetsInput, fn func(*ListAssessmentTargetsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAssessmentTargetsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAssessmentTargetsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListAssessmentTargetsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opListAssessmentTemplates = "ListAssessmentTemplates" // ListAssessmentTemplatesRequest generates a "aws/request.Request" representing the // client's request for the ListAssessmentTemplates operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAssessmentTemplates for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAssessmentTemplates method directly -// instead. +// See ListAssessmentTemplates for more information on using the ListAssessmentTemplates +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAssessmentTemplatesRequest method. // req, resp := client.ListAssessmentTemplatesRequest(params) @@ -1776,6 +1924,12 @@ func (c *Inspector) ListAssessmentTemplatesRequest(input *ListAssessmentTemplate Name: opListAssessmentTemplates, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -1836,23 +1990,72 @@ func (c *Inspector) ListAssessmentTemplatesWithContext(ctx aws.Context, input *L return out, req.Send() } +// ListAssessmentTemplatesPages iterates over the pages of a ListAssessmentTemplates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAssessmentTemplates method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListAssessmentTemplates operation. +// pageNum := 0 +// err := client.ListAssessmentTemplatesPages(params, +// func(page *ListAssessmentTemplatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Inspector) ListAssessmentTemplatesPages(input *ListAssessmentTemplatesInput, fn func(*ListAssessmentTemplatesOutput, bool) bool) error { + return c.ListAssessmentTemplatesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListAssessmentTemplatesPagesWithContext same as ListAssessmentTemplatesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector) ListAssessmentTemplatesPagesWithContext(ctx aws.Context, input *ListAssessmentTemplatesInput, fn func(*ListAssessmentTemplatesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAssessmentTemplatesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAssessmentTemplatesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListAssessmentTemplatesOutput), !p.HasNextPage()) + } + return p.Err() +} + const opListEventSubscriptions = "ListEventSubscriptions" // ListEventSubscriptionsRequest generates a "aws/request.Request" representing the // client's request for the ListEventSubscriptions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListEventSubscriptions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListEventSubscriptions method directly -// instead. +// See ListEventSubscriptions for more information on using the ListEventSubscriptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListEventSubscriptionsRequest method. // req, resp := client.ListEventSubscriptionsRequest(params) @@ -1868,6 +2071,12 @@ func (c *Inspector) ListEventSubscriptionsRequest(input *ListEventSubscriptionsI Name: opListEventSubscriptions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -1929,23 +2138,72 @@ func (c *Inspector) ListEventSubscriptionsWithContext(ctx aws.Context, input *Li return out, req.Send() } +// ListEventSubscriptionsPages iterates over the pages of a ListEventSubscriptions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListEventSubscriptions method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListEventSubscriptions operation. +// pageNum := 0 +// err := client.ListEventSubscriptionsPages(params, +// func(page *ListEventSubscriptionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Inspector) ListEventSubscriptionsPages(input *ListEventSubscriptionsInput, fn func(*ListEventSubscriptionsOutput, bool) bool) error { + return c.ListEventSubscriptionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListEventSubscriptionsPagesWithContext same as ListEventSubscriptionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector) ListEventSubscriptionsPagesWithContext(ctx aws.Context, input *ListEventSubscriptionsInput, fn func(*ListEventSubscriptionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListEventSubscriptionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListEventSubscriptionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListEventSubscriptionsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opListFindings = "ListFindings" // ListFindingsRequest generates a "aws/request.Request" representing the // client's request for the ListFindings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListFindings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListFindings method directly -// instead. +// See ListFindings for more information on using the ListFindings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListFindingsRequest method. // req, resp := client.ListFindingsRequest(params) @@ -1961,6 +2219,12 @@ func (c *Inspector) ListFindingsRequest(input *ListFindingsInput) (req *request. Name: opListFindings, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -2021,23 +2285,72 @@ func (c *Inspector) ListFindingsWithContext(ctx aws.Context, input *ListFindings return out, req.Send() } +// ListFindingsPages iterates over the pages of a ListFindings operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListFindings method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListFindings operation. +// pageNum := 0 +// err := client.ListFindingsPages(params, +// func(page *ListFindingsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Inspector) ListFindingsPages(input *ListFindingsInput, fn func(*ListFindingsOutput, bool) bool) error { + return c.ListFindingsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListFindingsPagesWithContext same as ListFindingsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector) ListFindingsPagesWithContext(ctx aws.Context, input *ListFindingsInput, fn func(*ListFindingsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListFindingsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListFindingsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListFindingsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opListRulesPackages = "ListRulesPackages" // ListRulesPackagesRequest generates a "aws/request.Request" representing the // client's request for the ListRulesPackages operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListRulesPackages for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListRulesPackages method directly -// instead. +// See ListRulesPackages for more information on using the ListRulesPackages +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListRulesPackagesRequest method. // req, resp := client.ListRulesPackagesRequest(params) @@ -2053,6 +2366,12 @@ func (c *Inspector) ListRulesPackagesRequest(input *ListRulesPackagesInput) (req Name: opListRulesPackages, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -2108,23 +2427,72 @@ func (c *Inspector) ListRulesPackagesWithContext(ctx aws.Context, input *ListRul return out, req.Send() } +// ListRulesPackagesPages iterates over the pages of a ListRulesPackages operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListRulesPackages method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListRulesPackages operation. +// pageNum := 0 +// err := client.ListRulesPackagesPages(params, +// func(page *ListRulesPackagesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Inspector) ListRulesPackagesPages(input *ListRulesPackagesInput, fn func(*ListRulesPackagesOutput, bool) bool) error { + return c.ListRulesPackagesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListRulesPackagesPagesWithContext same as ListRulesPackagesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector) ListRulesPackagesPagesWithContext(ctx aws.Context, input *ListRulesPackagesInput, fn func(*ListRulesPackagesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListRulesPackagesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListRulesPackagesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListRulesPackagesOutput), !p.HasNextPage()) + } + return p.Err() +} + const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the // client's request for the ListTagsForResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTagsForResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTagsForResource method directly -// instead. +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTagsForResourceRequest method. // req, resp := client.ListTagsForResourceRequest(params) @@ -2203,19 +2571,18 @@ const opPreviewAgents = "PreviewAgents" // PreviewAgentsRequest generates a "aws/request.Request" representing the // client's request for the PreviewAgents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PreviewAgents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PreviewAgents method directly -// instead. +// See PreviewAgents for more information on using the PreviewAgents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PreviewAgentsRequest method. // req, resp := client.PreviewAgentsRequest(params) @@ -2231,6 +2598,12 @@ func (c *Inspector) PreviewAgentsRequest(input *PreviewAgentsInput) (req *reques Name: opPreviewAgents, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -2295,23 +2668,72 @@ func (c *Inspector) PreviewAgentsWithContext(ctx aws.Context, input *PreviewAgen return out, req.Send() } +// PreviewAgentsPages iterates over the pages of a PreviewAgents operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See PreviewAgents method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a PreviewAgents operation. +// pageNum := 0 +// err := client.PreviewAgentsPages(params, +// func(page *PreviewAgentsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Inspector) PreviewAgentsPages(input *PreviewAgentsInput, fn func(*PreviewAgentsOutput, bool) bool) error { + return c.PreviewAgentsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// PreviewAgentsPagesWithContext same as PreviewAgentsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector) PreviewAgentsPagesWithContext(ctx aws.Context, input *PreviewAgentsInput, fn func(*PreviewAgentsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *PreviewAgentsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.PreviewAgentsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*PreviewAgentsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opRegisterCrossAccountAccessRole = "RegisterCrossAccountAccessRole" // RegisterCrossAccountAccessRoleRequest generates a "aws/request.Request" representing the // client's request for the RegisterCrossAccountAccessRole operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterCrossAccountAccessRole for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterCrossAccountAccessRole method directly -// instead. +// See RegisterCrossAccountAccessRole for more information on using the RegisterCrossAccountAccessRole +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterCrossAccountAccessRoleRequest method. // req, resp := client.RegisterCrossAccountAccessRoleRequest(params) @@ -2393,19 +2815,18 @@ const opRemoveAttributesFromFindings = "RemoveAttributesFromFindings" // RemoveAttributesFromFindingsRequest generates a "aws/request.Request" representing the // client's request for the RemoveAttributesFromFindings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveAttributesFromFindings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveAttributesFromFindings method directly -// instead. +// See RemoveAttributesFromFindings for more information on using the RemoveAttributesFromFindings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveAttributesFromFindingsRequest method. // req, resp := client.RemoveAttributesFromFindingsRequest(params) @@ -2486,19 +2907,18 @@ const opSetTagsForResource = "SetTagsForResource" // SetTagsForResourceRequest generates a "aws/request.Request" representing the // client's request for the SetTagsForResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetTagsForResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetTagsForResource method directly -// instead. +// See SetTagsForResource for more information on using the SetTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetTagsForResourceRequest method. // req, resp := client.SetTagsForResourceRequest(params) @@ -2580,19 +3000,18 @@ const opStartAssessmentRun = "StartAssessmentRun" // StartAssessmentRunRequest generates a "aws/request.Request" representing the // client's request for the StartAssessmentRun operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartAssessmentRun for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartAssessmentRun method directly -// instead. +// See StartAssessmentRun for more information on using the StartAssessmentRun +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartAssessmentRunRequest method. // req, resp := client.StartAssessmentRunRequest(params) @@ -2685,19 +3104,18 @@ const opStopAssessmentRun = "StopAssessmentRun" // StopAssessmentRunRequest generates a "aws/request.Request" representing the // client's request for the StopAssessmentRun operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StopAssessmentRun for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StopAssessmentRun method directly -// instead. +// See StopAssessmentRun for more information on using the StopAssessmentRun +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StopAssessmentRunRequest method. // req, resp := client.StopAssessmentRunRequest(params) @@ -2778,19 +3196,18 @@ const opSubscribeToEvent = "SubscribeToEvent" // SubscribeToEventRequest generates a "aws/request.Request" representing the // client's request for the SubscribeToEvent operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SubscribeToEvent for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SubscribeToEvent method directly -// instead. +// See SubscribeToEvent for more information on using the SubscribeToEvent +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SubscribeToEventRequest method. // req, resp := client.SubscribeToEventRequest(params) @@ -2876,19 +3293,18 @@ const opUnsubscribeFromEvent = "UnsubscribeFromEvent" // UnsubscribeFromEventRequest generates a "aws/request.Request" representing the // client's request for the UnsubscribeFromEvent operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UnsubscribeFromEvent for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UnsubscribeFromEvent method directly -// instead. +// See UnsubscribeFromEvent for more information on using the UnsubscribeFromEvent +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UnsubscribeFromEventRequest method. // req, resp := client.UnsubscribeFromEventRequest(params) @@ -2970,19 +3386,18 @@ const opUpdateAssessmentTarget = "UpdateAssessmentTarget" // UpdateAssessmentTargetRequest generates a "aws/request.Request" representing the // client's request for the UpdateAssessmentTarget operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateAssessmentTarget for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateAssessmentTarget method directly -// instead. +// See UpdateAssessmentTarget for more information on using the UpdateAssessmentTarget +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateAssessmentTargetRequest method. // req, resp := client.UpdateAssessmentTargetRequest(params) @@ -4314,7 +4729,9 @@ type CreateAssessmentTemplateInput struct { RulesPackageArns []*string `locationName:"rulesPackageArns" type:"list" required:"true"` // The user-defined attributes that are assigned to every finding that is generated - // by the assessment run that uses this assessment template. + // by the assessment run that uses this assessment template. An attribute is + // a key and value pair (an Attribute object). Within an assessment template, + // each key must be unique. UserAttributesForFindings []*Attribute `locationName:"userAttributesForFindings" type:"list"` } @@ -7344,6 +7761,13 @@ type StopAssessmentRunInput struct { // // AssessmentRunArn is a required field AssessmentRunArn *string `locationName:"assessmentRunArn" min:"1" type:"string" required:"true"` + + // An input option that can be set to either START_EVALUATION or SKIP_EVALUATION. + // START_EVALUATION (the default value), stops the AWS agent from collecting + // data and begins the results evaluation and the findings generation process. + // SKIP_EVALUATION cancels the assessment run immediately, after which no findings + // are generated. + StopAction *string `locationName:"stopAction" type:"string" enum:"StopAction"` } // String returns the string representation @@ -7378,6 +7802,12 @@ func (s *StopAssessmentRunInput) SetAssessmentRunArn(v string) *StopAssessmentRu return s } +// SetStopAction sets the StopAction field's value. +func (s *StopAssessmentRunInput) SetStopAction(v string) *StopAssessmentRunInput { + s.StopAction = &v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/StopAssessmentRunOutput type StopAssessmentRunOutput struct { _ struct{} `type:"structure"` @@ -7959,6 +8389,9 @@ const ( // AssessmentRunStateCompletedWithErrors is a AssessmentRunState enum value AssessmentRunStateCompletedWithErrors = "COMPLETED_WITH_ERRORS" + + // AssessmentRunStateCanceled is a AssessmentRunState enum value + AssessmentRunStateCanceled = "CANCELED" ) const ( @@ -8266,3 +8699,11 @@ const ( // SeverityUndefined is a Severity enum value SeverityUndefined = "Undefined" ) + +const ( + // StopActionStartEvaluation is a StopAction enum value + StopActionStartEvaluation = "START_EVALUATION" + + // StopActionSkipEvaluation is a StopAction enum value + StopActionSkipEvaluation = "SKIP_EVALUATION" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/inspector/doc.go b/vendor/github.com/aws/aws-sdk-go/service/inspector/doc.go index 1d83fc5ad..729ee506d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/inspector/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/inspector/doc.go @@ -14,69 +14,17 @@ // // Using the Client // -// To use the client for Amazon Inspector you will first need -// to create a new instance of it. +// To Amazon Inspector with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := inspector.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Inspector client Inspector for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/inspector/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AddAttributesToFindings(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AddAttributesToFindings result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AddAttributesToFindingsWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package inspector diff --git a/vendor/github.com/aws/aws-sdk-go/service/inspector/inspectoriface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/inspector/inspectoriface/interface.go index 3e4742c34..eaed8aa17 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/inspector/inspectoriface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/inspector/inspectoriface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Inspector. @@ -128,30 +128,51 @@ type InspectorAPI interface { ListAssessmentRunAgentsWithContext(aws.Context, *inspector.ListAssessmentRunAgentsInput, ...request.Option) (*inspector.ListAssessmentRunAgentsOutput, error) ListAssessmentRunAgentsRequest(*inspector.ListAssessmentRunAgentsInput) (*request.Request, *inspector.ListAssessmentRunAgentsOutput) + ListAssessmentRunAgentsPages(*inspector.ListAssessmentRunAgentsInput, func(*inspector.ListAssessmentRunAgentsOutput, bool) bool) error + ListAssessmentRunAgentsPagesWithContext(aws.Context, *inspector.ListAssessmentRunAgentsInput, func(*inspector.ListAssessmentRunAgentsOutput, bool) bool, ...request.Option) error + ListAssessmentRuns(*inspector.ListAssessmentRunsInput) (*inspector.ListAssessmentRunsOutput, error) ListAssessmentRunsWithContext(aws.Context, *inspector.ListAssessmentRunsInput, ...request.Option) (*inspector.ListAssessmentRunsOutput, error) ListAssessmentRunsRequest(*inspector.ListAssessmentRunsInput) (*request.Request, *inspector.ListAssessmentRunsOutput) + ListAssessmentRunsPages(*inspector.ListAssessmentRunsInput, func(*inspector.ListAssessmentRunsOutput, bool) bool) error + ListAssessmentRunsPagesWithContext(aws.Context, *inspector.ListAssessmentRunsInput, func(*inspector.ListAssessmentRunsOutput, bool) bool, ...request.Option) error + ListAssessmentTargets(*inspector.ListAssessmentTargetsInput) (*inspector.ListAssessmentTargetsOutput, error) ListAssessmentTargetsWithContext(aws.Context, *inspector.ListAssessmentTargetsInput, ...request.Option) (*inspector.ListAssessmentTargetsOutput, error) ListAssessmentTargetsRequest(*inspector.ListAssessmentTargetsInput) (*request.Request, *inspector.ListAssessmentTargetsOutput) + ListAssessmentTargetsPages(*inspector.ListAssessmentTargetsInput, func(*inspector.ListAssessmentTargetsOutput, bool) bool) error + ListAssessmentTargetsPagesWithContext(aws.Context, *inspector.ListAssessmentTargetsInput, func(*inspector.ListAssessmentTargetsOutput, bool) bool, ...request.Option) error + ListAssessmentTemplates(*inspector.ListAssessmentTemplatesInput) (*inspector.ListAssessmentTemplatesOutput, error) ListAssessmentTemplatesWithContext(aws.Context, *inspector.ListAssessmentTemplatesInput, ...request.Option) (*inspector.ListAssessmentTemplatesOutput, error) ListAssessmentTemplatesRequest(*inspector.ListAssessmentTemplatesInput) (*request.Request, *inspector.ListAssessmentTemplatesOutput) + ListAssessmentTemplatesPages(*inspector.ListAssessmentTemplatesInput, func(*inspector.ListAssessmentTemplatesOutput, bool) bool) error + ListAssessmentTemplatesPagesWithContext(aws.Context, *inspector.ListAssessmentTemplatesInput, func(*inspector.ListAssessmentTemplatesOutput, bool) bool, ...request.Option) error + ListEventSubscriptions(*inspector.ListEventSubscriptionsInput) (*inspector.ListEventSubscriptionsOutput, error) ListEventSubscriptionsWithContext(aws.Context, *inspector.ListEventSubscriptionsInput, ...request.Option) (*inspector.ListEventSubscriptionsOutput, error) ListEventSubscriptionsRequest(*inspector.ListEventSubscriptionsInput) (*request.Request, *inspector.ListEventSubscriptionsOutput) + ListEventSubscriptionsPages(*inspector.ListEventSubscriptionsInput, func(*inspector.ListEventSubscriptionsOutput, bool) bool) error + ListEventSubscriptionsPagesWithContext(aws.Context, *inspector.ListEventSubscriptionsInput, func(*inspector.ListEventSubscriptionsOutput, bool) bool, ...request.Option) error + ListFindings(*inspector.ListFindingsInput) (*inspector.ListFindingsOutput, error) ListFindingsWithContext(aws.Context, *inspector.ListFindingsInput, ...request.Option) (*inspector.ListFindingsOutput, error) ListFindingsRequest(*inspector.ListFindingsInput) (*request.Request, *inspector.ListFindingsOutput) + ListFindingsPages(*inspector.ListFindingsInput, func(*inspector.ListFindingsOutput, bool) bool) error + ListFindingsPagesWithContext(aws.Context, *inspector.ListFindingsInput, func(*inspector.ListFindingsOutput, bool) bool, ...request.Option) error + ListRulesPackages(*inspector.ListRulesPackagesInput) (*inspector.ListRulesPackagesOutput, error) ListRulesPackagesWithContext(aws.Context, *inspector.ListRulesPackagesInput, ...request.Option) (*inspector.ListRulesPackagesOutput, error) ListRulesPackagesRequest(*inspector.ListRulesPackagesInput) (*request.Request, *inspector.ListRulesPackagesOutput) + ListRulesPackagesPages(*inspector.ListRulesPackagesInput, func(*inspector.ListRulesPackagesOutput, bool) bool) error + ListRulesPackagesPagesWithContext(aws.Context, *inspector.ListRulesPackagesInput, func(*inspector.ListRulesPackagesOutput, bool) bool, ...request.Option) error + ListTagsForResource(*inspector.ListTagsForResourceInput) (*inspector.ListTagsForResourceOutput, error) ListTagsForResourceWithContext(aws.Context, *inspector.ListTagsForResourceInput, ...request.Option) (*inspector.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*inspector.ListTagsForResourceInput) (*request.Request, *inspector.ListTagsForResourceOutput) @@ -160,6 +181,9 @@ type InspectorAPI interface { PreviewAgentsWithContext(aws.Context, *inspector.PreviewAgentsInput, ...request.Option) (*inspector.PreviewAgentsOutput, error) PreviewAgentsRequest(*inspector.PreviewAgentsInput) (*request.Request, *inspector.PreviewAgentsOutput) + PreviewAgentsPages(*inspector.PreviewAgentsInput, func(*inspector.PreviewAgentsOutput, bool) bool) error + PreviewAgentsPagesWithContext(aws.Context, *inspector.PreviewAgentsInput, func(*inspector.PreviewAgentsOutput, bool) bool, ...request.Option) error + RegisterCrossAccountAccessRole(*inspector.RegisterCrossAccountAccessRoleInput) (*inspector.RegisterCrossAccountAccessRoleOutput, error) RegisterCrossAccountAccessRoleWithContext(aws.Context, *inspector.RegisterCrossAccountAccessRoleInput, ...request.Option) (*inspector.RegisterCrossAccountAccessRoleOutput, error) RegisterCrossAccountAccessRoleRequest(*inspector.RegisterCrossAccountAccessRoleInput) (*request.Request, *inspector.RegisterCrossAccountAccessRoleOutput) diff --git a/vendor/github.com/aws/aws-sdk-go/service/iot/api.go b/vendor/github.com/aws/aws-sdk-go/service/iot/api.go index cb36b9c9d..f0bf1b5b3 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/iot/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/iot/api.go @@ -17,19 +17,18 @@ const opAcceptCertificateTransfer = "AcceptCertificateTransfer" // AcceptCertificateTransferRequest generates a "aws/request.Request" representing the // client's request for the AcceptCertificateTransfer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AcceptCertificateTransfer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AcceptCertificateTransfer method directly -// instead. +// See AcceptCertificateTransfer for more information on using the AcceptCertificateTransfer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AcceptCertificateTransferRequest method. // req, resp := client.AcceptCertificateTransferRequest(params) @@ -119,19 +118,18 @@ const opAttachPrincipalPolicy = "AttachPrincipalPolicy" // AttachPrincipalPolicyRequest generates a "aws/request.Request" representing the // client's request for the AttachPrincipalPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AttachPrincipalPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AttachPrincipalPolicy method directly -// instead. +// See AttachPrincipalPolicy for more information on using the AttachPrincipalPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AttachPrincipalPolicyRequest method. // req, resp := client.AttachPrincipalPolicyRequest(params) @@ -217,19 +215,18 @@ const opAttachThingPrincipal = "AttachThingPrincipal" // AttachThingPrincipalRequest generates a "aws/request.Request" representing the // client's request for the AttachThingPrincipal operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AttachThingPrincipal for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AttachThingPrincipal method directly -// instead. +// See AttachThingPrincipal for more information on using the AttachThingPrincipal +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AttachThingPrincipalRequest method. // req, resp := client.AttachThingPrincipalRequest(params) @@ -309,19 +306,18 @@ const opCancelCertificateTransfer = "CancelCertificateTransfer" // CancelCertificateTransferRequest generates a "aws/request.Request" representing the // client's request for the CancelCertificateTransfer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CancelCertificateTransfer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CancelCertificateTransfer method directly -// instead. +// See CancelCertificateTransfer for more information on using the CancelCertificateTransfer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CancelCertificateTransferRequest method. // req, resp := client.CancelCertificateTransferRequest(params) @@ -416,19 +412,18 @@ const opCreateCertificateFromCsr = "CreateCertificateFromCsr" // CreateCertificateFromCsrRequest generates a "aws/request.Request" representing the // client's request for the CreateCertificateFromCsr operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateCertificateFromCsr for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateCertificateFromCsr method directly -// instead. +// See CreateCertificateFromCsr for more information on using the CreateCertificateFromCsr +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateCertificateFromCsrRequest method. // req, resp := client.CreateCertificateFromCsrRequest(params) @@ -546,19 +541,18 @@ const opCreateKeysAndCertificate = "CreateKeysAndCertificate" // CreateKeysAndCertificateRequest generates a "aws/request.Request" representing the // client's request for the CreateKeysAndCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateKeysAndCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateKeysAndCertificate method directly -// instead. +// See CreateKeysAndCertificate for more information on using the CreateKeysAndCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateKeysAndCertificateRequest method. // req, resp := client.CreateKeysAndCertificateRequest(params) @@ -639,19 +633,18 @@ const opCreatePolicy = "CreatePolicy" // CreatePolicyRequest generates a "aws/request.Request" representing the // client's request for the CreatePolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreatePolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreatePolicy method directly -// instead. +// See CreatePolicy for more information on using the CreatePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreatePolicyRequest method. // req, resp := client.CreatePolicyRequest(params) @@ -738,19 +731,18 @@ const opCreatePolicyVersion = "CreatePolicyVersion" // CreatePolicyVersionRequest generates a "aws/request.Request" representing the // client's request for the CreatePolicyVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreatePolicyVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreatePolicyVersion method directly -// instead. +// See CreatePolicyVersion for more information on using the CreatePolicyVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreatePolicyVersionRequest method. // req, resp := client.CreatePolicyVersionRequest(params) @@ -843,19 +835,18 @@ const opCreateThing = "CreateThing" // CreateThingRequest generates a "aws/request.Request" representing the // client's request for the CreateThing operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateThing for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateThing method directly -// instead. +// See CreateThing for more information on using the CreateThing +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateThingRequest method. // req, resp := client.CreateThingRequest(params) @@ -938,19 +929,18 @@ const opCreateThingType = "CreateThingType" // CreateThingTypeRequest generates a "aws/request.Request" representing the // client's request for the CreateThingType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateThingType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateThingType method directly -// instead. +// See CreateThingType for more information on using the CreateThingType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateThingTypeRequest method. // req, resp := client.CreateThingTypeRequest(params) @@ -1030,19 +1020,18 @@ const opCreateTopicRule = "CreateTopicRule" // CreateTopicRuleRequest generates a "aws/request.Request" representing the // client's request for the CreateTopicRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateTopicRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateTopicRule method directly -// instead. +// See CreateTopicRule for more information on using the CreateTopicRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateTopicRuleRequest method. // req, resp := client.CreateTopicRuleRequest(params) @@ -1123,19 +1112,18 @@ const opDeleteCACertificate = "DeleteCACertificate" // DeleteCACertificateRequest generates a "aws/request.Request" representing the // client's request for the DeleteCACertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteCACertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteCACertificate method directly -// instead. +// See DeleteCACertificate for more information on using the DeleteCACertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteCACertificateRequest method. // req, resp := client.DeleteCACertificateRequest(params) @@ -1218,19 +1206,18 @@ const opDeleteCertificate = "DeleteCertificate" // DeleteCertificateRequest generates a "aws/request.Request" representing the // client's request for the DeleteCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteCertificate method directly -// instead. +// See DeleteCertificate for more information on using the DeleteCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteCertificateRequest method. // req, resp := client.DeleteCertificateRequest(params) @@ -1323,19 +1310,18 @@ const opDeletePolicy = "DeletePolicy" // DeletePolicyRequest generates a "aws/request.Request" representing the // client's request for the DeletePolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeletePolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeletePolicy method directly -// instead. +// See DeletePolicy for more information on using the DeletePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeletePolicyRequest method. // req, resp := client.DeletePolicyRequest(params) @@ -1430,19 +1416,18 @@ const opDeletePolicyVersion = "DeletePolicyVersion" // DeletePolicyVersionRequest generates a "aws/request.Request" representing the // client's request for the DeletePolicyVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeletePolicyVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeletePolicyVersion method directly -// instead. +// See DeletePolicyVersion for more information on using the DeletePolicyVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeletePolicyVersionRequest method. // req, resp := client.DeletePolicyVersionRequest(params) @@ -1530,19 +1515,18 @@ const opDeleteRegistrationCode = "DeleteRegistrationCode" // DeleteRegistrationCodeRequest generates a "aws/request.Request" representing the // client's request for the DeleteRegistrationCode operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteRegistrationCode for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteRegistrationCode method directly -// instead. +// See DeleteRegistrationCode for more information on using the DeleteRegistrationCode +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteRegistrationCodeRequest method. // req, resp := client.DeleteRegistrationCodeRequest(params) @@ -1619,19 +1603,18 @@ const opDeleteThing = "DeleteThing" // DeleteThingRequest generates a "aws/request.Request" representing the // client's request for the DeleteThing operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteThing for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteThing method directly -// instead. +// See DeleteThing for more information on using the DeleteThing +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteThingRequest method. // req, resp := client.DeleteThingRequest(params) @@ -1715,19 +1698,18 @@ const opDeleteThingType = "DeleteThingType" // DeleteThingTypeRequest generates a "aws/request.Request" representing the // client's request for the DeleteThingType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteThingType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteThingType method directly -// instead. +// See DeleteThingType for more information on using the DeleteThingType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteThingTypeRequest method. // req, resp := client.DeleteThingTypeRequest(params) @@ -1811,19 +1793,18 @@ const opDeleteTopicRule = "DeleteTopicRule" // DeleteTopicRuleRequest generates a "aws/request.Request" representing the // client's request for the DeleteTopicRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteTopicRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteTopicRule method directly -// instead. +// See DeleteTopicRule for more information on using the DeleteTopicRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteTopicRuleRequest method. // req, resp := client.DeleteTopicRuleRequest(params) @@ -1899,19 +1880,18 @@ const opDeprecateThingType = "DeprecateThingType" // DeprecateThingTypeRequest generates a "aws/request.Request" representing the // client's request for the DeprecateThingType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeprecateThingType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeprecateThingType method directly -// instead. +// See DeprecateThingType for more information on using the DeprecateThingType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeprecateThingTypeRequest method. // req, resp := client.DeprecateThingTypeRequest(params) @@ -1992,19 +1972,18 @@ const opDescribeCACertificate = "DescribeCACertificate" // DescribeCACertificateRequest generates a "aws/request.Request" representing the // client's request for the DescribeCACertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeCACertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeCACertificate method directly -// instead. +// See DescribeCACertificate for more information on using the DescribeCACertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeCACertificateRequest method. // req, resp := client.DescribeCACertificateRequest(params) @@ -2084,19 +2063,18 @@ const opDescribeCertificate = "DescribeCertificate" // DescribeCertificateRequest generates a "aws/request.Request" representing the // client's request for the DescribeCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeCertificate method directly -// instead. +// See DescribeCertificate for more information on using the DescribeCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeCertificateRequest method. // req, resp := client.DescribeCertificateRequest(params) @@ -2176,19 +2154,18 @@ const opDescribeEndpoint = "DescribeEndpoint" // DescribeEndpointRequest generates a "aws/request.Request" representing the // client's request for the DescribeEndpoint operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEndpoint for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEndpoint method directly -// instead. +// See DescribeEndpoint for more information on using the DescribeEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEndpointRequest method. // req, resp := client.DescribeEndpointRequest(params) @@ -2259,19 +2236,18 @@ const opDescribeThing = "DescribeThing" // DescribeThingRequest generates a "aws/request.Request" representing the // client's request for the DescribeThing operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeThing for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeThing method directly -// instead. +// See DescribeThing for more information on using the DescribeThing +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeThingRequest method. // req, resp := client.DescribeThingRequest(params) @@ -2351,19 +2327,18 @@ const opDescribeThingType = "DescribeThingType" // DescribeThingTypeRequest generates a "aws/request.Request" representing the // client's request for the DescribeThingType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeThingType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeThingType method directly -// instead. +// See DescribeThingType for more information on using the DescribeThingType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeThingTypeRequest method. // req, resp := client.DescribeThingTypeRequest(params) @@ -2443,19 +2418,18 @@ const opDetachPrincipalPolicy = "DetachPrincipalPolicy" // DetachPrincipalPolicyRequest generates a "aws/request.Request" representing the // client's request for the DetachPrincipalPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DetachPrincipalPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DetachPrincipalPolicy method directly -// instead. +// See DetachPrincipalPolicy for more information on using the DetachPrincipalPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DetachPrincipalPolicyRequest method. // req, resp := client.DetachPrincipalPolicyRequest(params) @@ -2537,19 +2511,18 @@ const opDetachThingPrincipal = "DetachThingPrincipal" // DetachThingPrincipalRequest generates a "aws/request.Request" representing the // client's request for the DetachThingPrincipal operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DetachThingPrincipal for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DetachThingPrincipal method directly -// instead. +// See DetachThingPrincipal for more information on using the DetachThingPrincipal +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DetachThingPrincipalRequest method. // req, resp := client.DetachThingPrincipalRequest(params) @@ -2629,19 +2602,18 @@ const opDisableTopicRule = "DisableTopicRule" // DisableTopicRuleRequest generates a "aws/request.Request" representing the // client's request for the DisableTopicRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisableTopicRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisableTopicRule method directly -// instead. +// See DisableTopicRule for more information on using the DisableTopicRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisableTopicRuleRequest method. // req, resp := client.DisableTopicRuleRequest(params) @@ -2717,19 +2689,18 @@ const opEnableTopicRule = "EnableTopicRule" // EnableTopicRuleRequest generates a "aws/request.Request" representing the // client's request for the EnableTopicRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EnableTopicRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EnableTopicRule method directly -// instead. +// See EnableTopicRule for more information on using the EnableTopicRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EnableTopicRuleRequest method. // req, resp := client.EnableTopicRuleRequest(params) @@ -2805,19 +2776,18 @@ const opGetLoggingOptions = "GetLoggingOptions" // GetLoggingOptionsRequest generates a "aws/request.Request" representing the // client's request for the GetLoggingOptions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetLoggingOptions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetLoggingOptions method directly -// instead. +// See GetLoggingOptions for more information on using the GetLoggingOptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetLoggingOptionsRequest method. // req, resp := client.GetLoggingOptionsRequest(params) @@ -2888,19 +2858,18 @@ const opGetPolicy = "GetPolicy" // GetPolicyRequest generates a "aws/request.Request" representing the // client's request for the GetPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetPolicy method directly -// instead. +// See GetPolicy for more information on using the GetPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetPolicyRequest method. // req, resp := client.GetPolicyRequest(params) @@ -2981,19 +2950,18 @@ const opGetPolicyVersion = "GetPolicyVersion" // GetPolicyVersionRequest generates a "aws/request.Request" representing the // client's request for the GetPolicyVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetPolicyVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetPolicyVersion method directly -// instead. +// See GetPolicyVersion for more information on using the GetPolicyVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetPolicyVersionRequest method. // req, resp := client.GetPolicyVersionRequest(params) @@ -3073,19 +3041,18 @@ const opGetRegistrationCode = "GetRegistrationCode" // GetRegistrationCodeRequest generates a "aws/request.Request" representing the // client's request for the GetRegistrationCode operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetRegistrationCode for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetRegistrationCode method directly -// instead. +// See GetRegistrationCode for more information on using the GetRegistrationCode +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetRegistrationCodeRequest method. // req, resp := client.GetRegistrationCodeRequest(params) @@ -3162,19 +3129,18 @@ const opGetTopicRule = "GetTopicRule" // GetTopicRuleRequest generates a "aws/request.Request" representing the // client's request for the GetTopicRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetTopicRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetTopicRule method directly -// instead. +// See GetTopicRule for more information on using the GetTopicRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetTopicRuleRequest method. // req, resp := client.GetTopicRuleRequest(params) @@ -3248,19 +3214,18 @@ const opListCACertificates = "ListCACertificates" // ListCACertificatesRequest generates a "aws/request.Request" representing the // client's request for the ListCACertificates operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListCACertificates for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListCACertificates method directly -// instead. +// See ListCACertificates for more information on using the ListCACertificates +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListCACertificatesRequest method. // req, resp := client.ListCACertificatesRequest(params) @@ -3340,19 +3305,18 @@ const opListCertificates = "ListCertificates" // ListCertificatesRequest generates a "aws/request.Request" representing the // client's request for the ListCertificates operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListCertificates for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListCertificates method directly -// instead. +// See ListCertificates for more information on using the ListCertificates +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListCertificatesRequest method. // req, resp := client.ListCertificatesRequest(params) @@ -3432,19 +3396,18 @@ const opListCertificatesByCA = "ListCertificatesByCA" // ListCertificatesByCARequest generates a "aws/request.Request" representing the // client's request for the ListCertificatesByCA operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListCertificatesByCA for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListCertificatesByCA method directly -// instead. +// See ListCertificatesByCA for more information on using the ListCertificatesByCA +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListCertificatesByCARequest method. // req, resp := client.ListCertificatesByCARequest(params) @@ -3521,19 +3484,18 @@ const opListOutgoingCertificates = "ListOutgoingCertificates" // ListOutgoingCertificatesRequest generates a "aws/request.Request" representing the // client's request for the ListOutgoingCertificates operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListOutgoingCertificates for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListOutgoingCertificates method directly -// instead. +// See ListOutgoingCertificates for more information on using the ListOutgoingCertificates +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListOutgoingCertificatesRequest method. // req, resp := client.ListOutgoingCertificatesRequest(params) @@ -3610,19 +3572,18 @@ const opListPolicies = "ListPolicies" // ListPoliciesRequest generates a "aws/request.Request" representing the // client's request for the ListPolicies operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListPolicies for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListPolicies method directly -// instead. +// See ListPolicies for more information on using the ListPolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPoliciesRequest method. // req, resp := client.ListPoliciesRequest(params) @@ -3699,19 +3660,18 @@ const opListPolicyPrincipals = "ListPolicyPrincipals" // ListPolicyPrincipalsRequest generates a "aws/request.Request" representing the // client's request for the ListPolicyPrincipals operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListPolicyPrincipals for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListPolicyPrincipals method directly -// instead. +// See ListPolicyPrincipals for more information on using the ListPolicyPrincipals +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPolicyPrincipalsRequest method. // req, resp := client.ListPolicyPrincipalsRequest(params) @@ -3791,19 +3751,18 @@ const opListPolicyVersions = "ListPolicyVersions" // ListPolicyVersionsRequest generates a "aws/request.Request" representing the // client's request for the ListPolicyVersions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListPolicyVersions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListPolicyVersions method directly -// instead. +// See ListPolicyVersions for more information on using the ListPolicyVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPolicyVersionsRequest method. // req, resp := client.ListPolicyVersionsRequest(params) @@ -3883,19 +3842,18 @@ const opListPrincipalPolicies = "ListPrincipalPolicies" // ListPrincipalPoliciesRequest generates a "aws/request.Request" representing the // client's request for the ListPrincipalPolicies operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListPrincipalPolicies for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListPrincipalPolicies method directly -// instead. +// See ListPrincipalPolicies for more information on using the ListPrincipalPolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPrincipalPoliciesRequest method. // req, resp := client.ListPrincipalPoliciesRequest(params) @@ -3976,19 +3934,18 @@ const opListPrincipalThings = "ListPrincipalThings" // ListPrincipalThingsRequest generates a "aws/request.Request" representing the // client's request for the ListPrincipalThings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListPrincipalThings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListPrincipalThings method directly -// instead. +// See ListPrincipalThings for more information on using the ListPrincipalThings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPrincipalThingsRequest method. // req, resp := client.ListPrincipalThingsRequest(params) @@ -4068,19 +4025,18 @@ const opListThingPrincipals = "ListThingPrincipals" // ListThingPrincipalsRequest generates a "aws/request.Request" representing the // client's request for the ListThingPrincipals operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListThingPrincipals for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListThingPrincipals method directly -// instead. +// See ListThingPrincipals for more information on using the ListThingPrincipals +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListThingPrincipalsRequest method. // req, resp := client.ListThingPrincipalsRequest(params) @@ -4160,19 +4116,18 @@ const opListThingTypes = "ListThingTypes" // ListThingTypesRequest generates a "aws/request.Request" representing the // client's request for the ListThingTypes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListThingTypes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListThingTypes method directly -// instead. +// See ListThingTypes for more information on using the ListThingTypes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListThingTypesRequest method. // req, resp := client.ListThingTypesRequest(params) @@ -4249,19 +4204,18 @@ const opListThings = "ListThings" // ListThingsRequest generates a "aws/request.Request" representing the // client's request for the ListThings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListThings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListThings method directly -// instead. +// See ListThings for more information on using the ListThings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListThingsRequest method. // req, resp := client.ListThingsRequest(params) @@ -4341,19 +4295,18 @@ const opListTopicRules = "ListTopicRules" // ListTopicRulesRequest generates a "aws/request.Request" representing the // client's request for the ListTopicRules operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTopicRules for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTopicRules method directly -// instead. +// See ListTopicRules for more information on using the ListTopicRules +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTopicRulesRequest method. // req, resp := client.ListTopicRulesRequest(params) @@ -4424,19 +4377,18 @@ const opRegisterCACertificate = "RegisterCACertificate" // RegisterCACertificateRequest generates a "aws/request.Request" representing the // client's request for the RegisterCACertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterCACertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterCACertificate method directly -// instead. +// See RegisterCACertificate for more information on using the RegisterCACertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterCACertificateRequest method. // req, resp := client.RegisterCACertificateRequest(params) @@ -4531,19 +4483,18 @@ const opRegisterCertificate = "RegisterCertificate" // RegisterCertificateRequest generates a "aws/request.Request" representing the // client's request for the RegisterCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterCertificate method directly -// instead. +// See RegisterCertificate for more information on using the RegisterCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterCertificateRequest method. // req, resp := client.RegisterCertificateRequest(params) @@ -4636,19 +4587,18 @@ const opRejectCertificateTransfer = "RejectCertificateTransfer" // RejectCertificateTransferRequest generates a "aws/request.Request" representing the // client's request for the RejectCertificateTransfer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RejectCertificateTransfer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RejectCertificateTransfer method directly -// instead. +// See RejectCertificateTransfer for more information on using the RejectCertificateTransfer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RejectCertificateTransferRequest method. // req, resp := client.RejectCertificateTransferRequest(params) @@ -4742,19 +4692,18 @@ const opReplaceTopicRule = "ReplaceTopicRule" // ReplaceTopicRuleRequest generates a "aws/request.Request" representing the // client's request for the ReplaceTopicRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ReplaceTopicRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ReplaceTopicRule method directly -// instead. +// See ReplaceTopicRule for more information on using the ReplaceTopicRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ReplaceTopicRuleRequest method. // req, resp := client.ReplaceTopicRuleRequest(params) @@ -4835,19 +4784,18 @@ const opSetDefaultPolicyVersion = "SetDefaultPolicyVersion" // SetDefaultPolicyVersionRequest generates a "aws/request.Request" representing the // client's request for the SetDefaultPolicyVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetDefaultPolicyVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetDefaultPolicyVersion method directly -// instead. +// See SetDefaultPolicyVersion for more information on using the SetDefaultPolicyVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetDefaultPolicyVersionRequest method. // req, resp := client.SetDefaultPolicyVersionRequest(params) @@ -4932,19 +4880,18 @@ const opSetLoggingOptions = "SetLoggingOptions" // SetLoggingOptionsRequest generates a "aws/request.Request" representing the // client's request for the SetLoggingOptions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetLoggingOptions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetLoggingOptions method directly -// instead. +// See SetLoggingOptions for more information on using the SetLoggingOptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetLoggingOptionsRequest method. // req, resp := client.SetLoggingOptionsRequest(params) @@ -5017,19 +4964,18 @@ const opTransferCertificate = "TransferCertificate" // TransferCertificateRequest generates a "aws/request.Request" representing the // client's request for the TransferCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TransferCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TransferCertificate method directly -// instead. +// See TransferCertificate for more information on using the TransferCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TransferCertificateRequest method. // req, resp := client.TransferCertificateRequest(params) @@ -5127,19 +5073,18 @@ const opUpdateCACertificate = "UpdateCACertificate" // UpdateCACertificateRequest generates a "aws/request.Request" representing the // client's request for the UpdateCACertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateCACertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateCACertificate method directly -// instead. +// See UpdateCACertificate for more information on using the UpdateCACertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateCACertificateRequest method. // req, resp := client.UpdateCACertificateRequest(params) @@ -5221,19 +5166,18 @@ const opUpdateCertificate = "UpdateCertificate" // UpdateCertificateRequest generates a "aws/request.Request" representing the // client's request for the UpdateCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateCertificate method directly -// instead. +// See UpdateCertificate for more information on using the UpdateCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateCertificateRequest method. // req, resp := client.UpdateCertificateRequest(params) @@ -5324,19 +5268,18 @@ const opUpdateThing = "UpdateThing" // UpdateThingRequest generates a "aws/request.Request" representing the // client's request for the UpdateThing operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateThing for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateThing method directly -// instead. +// See UpdateThing for more information on using the UpdateThing +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateThingRequest method. // req, resp := client.UpdateThingRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/iot/doc.go b/vendor/github.com/aws/aws-sdk-go/service/iot/doc.go index fe722aef6..db01ff3f3 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/iot/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/iot/doc.go @@ -17,69 +17,17 @@ // // Using the Client // -// To use the client for AWS IoT you will first need -// to create a new instance of it. +// To AWS IoT with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := iot.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS IoT client IoT for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/iot/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AcceptCertificateTransfer(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AcceptCertificateTransfer result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AcceptCertificateTransferWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package iot diff --git a/vendor/github.com/aws/aws-sdk-go/service/iot/iotiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/iot/iotiface/interface.go index 22882eb9d..9987589a9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/iot/iotiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/iot/iotiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS IoT. diff --git a/vendor/github.com/aws/aws-sdk-go/service/iotdataplane/api.go b/vendor/github.com/aws/aws-sdk-go/service/iotdataplane/api.go index 8c40d33d3..bd86a4d84 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/iotdataplane/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/iotdataplane/api.go @@ -14,19 +14,18 @@ const opDeleteThingShadow = "DeleteThingShadow" // DeleteThingShadowRequest generates a "aws/request.Request" representing the // client's request for the DeleteThingShadow operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteThingShadow for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteThingShadow method directly -// instead. +// See DeleteThingShadow for more information on using the DeleteThingShadow +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteThingShadowRequest method. // req, resp := client.DeleteThingShadowRequest(params) @@ -35,8 +34,6 @@ const opDeleteThingShadow = "DeleteThingShadow" // if err == nil { // resp is now filled // fmt.Println(resp) // } -// -// Please also see https://docs.aws.amazon.com/goto/WebAPI/iot-data-2015-05-28/DeleteThingShadow func (c *IoTDataPlane) DeleteThingShadowRequest(input *DeleteThingShadowInput) (req *request.Request, output *DeleteThingShadowOutput) { op := &request.Operation{ Name: opDeleteThingShadow, @@ -92,7 +89,6 @@ func (c *IoTDataPlane) DeleteThingShadowRequest(input *DeleteThingShadowInput) ( // * ErrCodeUnsupportedDocumentEncodingException "UnsupportedDocumentEncodingException" // The document encoding is not supported. // -// Please also see https://docs.aws.amazon.com/goto/WebAPI/iot-data-2015-05-28/DeleteThingShadow func (c *IoTDataPlane) DeleteThingShadow(input *DeleteThingShadowInput) (*DeleteThingShadowOutput, error) { req, out := c.DeleteThingShadowRequest(input) return out, req.Send() @@ -118,19 +114,18 @@ const opGetThingShadow = "GetThingShadow" // GetThingShadowRequest generates a "aws/request.Request" representing the // client's request for the GetThingShadow operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetThingShadow for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetThingShadow method directly -// instead. +// See GetThingShadow for more information on using the GetThingShadow +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetThingShadowRequest method. // req, resp := client.GetThingShadowRequest(params) @@ -139,8 +134,6 @@ const opGetThingShadow = "GetThingShadow" // if err == nil { // resp is now filled // fmt.Println(resp) // } -// -// Please also see https://docs.aws.amazon.com/goto/WebAPI/iot-data-2015-05-28/GetThingShadow func (c *IoTDataPlane) GetThingShadowRequest(input *GetThingShadowInput) (req *request.Request, output *GetThingShadowOutput) { op := &request.Operation{ Name: opGetThingShadow, @@ -196,7 +189,6 @@ func (c *IoTDataPlane) GetThingShadowRequest(input *GetThingShadowInput) (req *r // * ErrCodeUnsupportedDocumentEncodingException "UnsupportedDocumentEncodingException" // The document encoding is not supported. // -// Please also see https://docs.aws.amazon.com/goto/WebAPI/iot-data-2015-05-28/GetThingShadow func (c *IoTDataPlane) GetThingShadow(input *GetThingShadowInput) (*GetThingShadowOutput, error) { req, out := c.GetThingShadowRequest(input) return out, req.Send() @@ -222,19 +214,18 @@ const opPublish = "Publish" // PublishRequest generates a "aws/request.Request" representing the // client's request for the Publish operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See Publish for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the Publish method directly -// instead. +// See Publish for more information on using the Publish +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PublishRequest method. // req, resp := client.PublishRequest(params) @@ -243,8 +234,6 @@ const opPublish = "Publish" // if err == nil { // resp is now filled // fmt.Println(resp) // } -// -// Please also see https://docs.aws.amazon.com/goto/WebAPI/iot-data-2015-05-28/Publish func (c *IoTDataPlane) PublishRequest(input *PublishInput) (req *request.Request, output *PublishOutput) { op := &request.Operation{ Name: opPublish, @@ -290,7 +279,6 @@ func (c *IoTDataPlane) PublishRequest(input *PublishInput) (req *request.Request // * ErrCodeMethodNotAllowedException "MethodNotAllowedException" // The specified combination of HTTP verb and URI is not supported. // -// Please also see https://docs.aws.amazon.com/goto/WebAPI/iot-data-2015-05-28/Publish func (c *IoTDataPlane) Publish(input *PublishInput) (*PublishOutput, error) { req, out := c.PublishRequest(input) return out, req.Send() @@ -316,19 +304,18 @@ const opUpdateThingShadow = "UpdateThingShadow" // UpdateThingShadowRequest generates a "aws/request.Request" representing the // client's request for the UpdateThingShadow operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateThingShadow for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateThingShadow method directly -// instead. +// See UpdateThingShadow for more information on using the UpdateThingShadow +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateThingShadowRequest method. // req, resp := client.UpdateThingShadowRequest(params) @@ -337,8 +324,6 @@ const opUpdateThingShadow = "UpdateThingShadow" // if err == nil { // resp is now filled // fmt.Println(resp) // } -// -// Please also see https://docs.aws.amazon.com/goto/WebAPI/iot-data-2015-05-28/UpdateThingShadow func (c *IoTDataPlane) UpdateThingShadowRequest(input *UpdateThingShadowInput) (req *request.Request, output *UpdateThingShadowOutput) { op := &request.Operation{ Name: opUpdateThingShadow, @@ -397,7 +382,6 @@ func (c *IoTDataPlane) UpdateThingShadowRequest(input *UpdateThingShadowInput) ( // * ErrCodeUnsupportedDocumentEncodingException "UnsupportedDocumentEncodingException" // The document encoding is not supported. // -// Please also see https://docs.aws.amazon.com/goto/WebAPI/iot-data-2015-05-28/UpdateThingShadow func (c *IoTDataPlane) UpdateThingShadow(input *UpdateThingShadowInput) (*UpdateThingShadowOutput, error) { req, out := c.UpdateThingShadowRequest(input) return out, req.Send() @@ -420,7 +404,6 @@ func (c *IoTDataPlane) UpdateThingShadowWithContext(ctx aws.Context, input *Upda } // The input for the DeleteThingShadow operation. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/iot-data-2015-05-28/DeleteThingShadowRequest type DeleteThingShadowInput struct { _ struct{} `type:"structure"` @@ -463,7 +446,6 @@ func (s *DeleteThingShadowInput) SetThingName(v string) *DeleteThingShadowInput } // The output from the DeleteThingShadow operation. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/iot-data-2015-05-28/DeleteThingShadowResponse type DeleteThingShadowOutput struct { _ struct{} `type:"structure" payload:"Payload"` @@ -490,7 +472,6 @@ func (s *DeleteThingShadowOutput) SetPayload(v []byte) *DeleteThingShadowOutput } // The input for the GetThingShadow operation. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/iot-data-2015-05-28/GetThingShadowRequest type GetThingShadowInput struct { _ struct{} `type:"structure"` @@ -533,7 +514,6 @@ func (s *GetThingShadowInput) SetThingName(v string) *GetThingShadowInput { } // The output from the GetThingShadow operation. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/iot-data-2015-05-28/GetThingShadowResponse type GetThingShadowOutput struct { _ struct{} `type:"structure" payload:"Payload"` @@ -558,7 +538,6 @@ func (s *GetThingShadowOutput) SetPayload(v []byte) *GetThingShadowOutput { } // The input for the Publish operation. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/iot-data-2015-05-28/PublishRequest type PublishInput struct { _ struct{} `type:"structure" payload:"Payload"` @@ -615,7 +594,6 @@ func (s *PublishInput) SetTopic(v string) *PublishInput { return s } -// Please also see https://docs.aws.amazon.com/goto/WebAPI/iot-data-2015-05-28/PublishOutput type PublishOutput struct { _ struct{} `type:"structure"` } @@ -631,7 +609,6 @@ func (s PublishOutput) GoString() string { } // The input for the UpdateThingShadow operation. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/iot-data-2015-05-28/UpdateThingShadowRequest type UpdateThingShadowInput struct { _ struct{} `type:"structure" payload:"Payload"` @@ -688,7 +665,6 @@ func (s *UpdateThingShadowInput) SetThingName(v string) *UpdateThingShadowInput } // The output from the UpdateThingShadow operation. -// Please also see https://docs.aws.amazon.com/goto/WebAPI/iot-data-2015-05-28/UpdateThingShadowResponse type UpdateThingShadowOutput struct { _ struct{} `type:"structure" payload:"Payload"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/iotdataplane/customizations_test.go b/vendor/github.com/aws/aws-sdk-go/service/iotdataplane/customizations_test.go index edc9ac440..64f6ce496 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/iotdataplane/customizations_test.go +++ b/vendor/github.com/aws/aws-sdk-go/service/iotdataplane/customizations_test.go @@ -4,8 +4,6 @@ import ( "fmt" "testing" - "github.com/stretchr/testify/assert" - "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/awstesting/unit" "github.com/aws/aws-sdk-go/service/iotdataplane" @@ -19,9 +17,15 @@ func TestRequireEndpointIfRegionProvided(t *testing.T) { req, _ := svc.GetThingShadowRequest(nil) err := req.Build() - assert.Equal(t, "", svc.Endpoint) - assert.Error(t, err) - assert.Equal(t, aws.ErrMissingEndpoint, err) + if e, a := "", svc.Endpoint; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if err == nil { + t.Errorf("expect error, got none") + } + if e, a := aws.ErrMissingEndpoint, err; e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestRequireEndpointIfNoRegionProvided(t *testing.T) { @@ -33,9 +37,15 @@ func TestRequireEndpointIfNoRegionProvided(t *testing.T) { req, _ := svc.GetThingShadowRequest(nil) err := req.Build() - assert.Equal(t, "", svc.Endpoint) - assert.Error(t, err) - assert.Equal(t, aws.ErrMissingEndpoint, err) + if e, a := "", svc.Endpoint; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if err == nil { + t.Errorf("expect error, got none") + } + if e, a := aws.ErrMissingEndpoint, err; e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestRequireEndpointUsed(t *testing.T) { @@ -47,6 +57,10 @@ func TestRequireEndpointUsed(t *testing.T) { req, _ := svc.GetThingShadowRequest(nil) err := req.Build() - assert.Equal(t, "https://endpoint", svc.Endpoint) - assert.NoError(t, err) + if e, a := "https://endpoint", svc.Endpoint; e != a { + t.Errorf("expect %v, got %v", e, a) + } + if err != nil { + t.Errorf("expect no error, got %v", err) + } } diff --git a/vendor/github.com/aws/aws-sdk-go/service/iotdataplane/doc.go b/vendor/github.com/aws/aws-sdk-go/service/iotdataplane/doc.go index 906f78fe1..6dcbf0604 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/iotdataplane/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/iotdataplane/doc.go @@ -10,76 +10,22 @@ // shadows. A thing shadow is a persistent representation of your things and // their state in the AWS cloud. // -// See https://docs.aws.amazon.com/goto/WebAPI/iot-data-2015-05-28 for more information on this service. -// // See iotdataplane package documentation for more information. // https://docs.aws.amazon.com/sdk-for-go/api/service/iotdataplane/ // // Using the Client // -// To use the client for AWS IoT Data Plane you will first need -// to create a new instance of it. +// To AWS IoT Data Plane with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := iotdataplane.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS IoT Data Plane client IoTDataPlane for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/iotdataplane/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.DeleteThingShadow(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("DeleteThingShadow result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.DeleteThingShadowWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package iotdataplane diff --git a/vendor/github.com/aws/aws-sdk-go/service/iotdataplane/iotdataplaneiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/iotdataplane/iotdataplaneiface/interface.go index fce9c879b..c6cff032a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/iotdataplane/iotdataplaneiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/iotdataplane/iotdataplaneiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS IoT Data Plane. diff --git a/vendor/github.com/aws/aws-sdk-go/service/kinesis/api.go b/vendor/github.com/aws/aws-sdk-go/service/kinesis/api.go index d47b28fd2..e86b29407 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kinesis/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kinesis/api.go @@ -17,19 +17,18 @@ const opAddTagsToStream = "AddTagsToStream" // AddTagsToStreamRequest generates a "aws/request.Request" representing the // client's request for the AddTagsToStream operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddTagsToStream for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddTagsToStream method directly -// instead. +// See AddTagsToStream for more information on using the AddTagsToStream +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddTagsToStreamRequest method. // req, resp := client.AddTagsToStreamRequest(params) @@ -116,19 +115,18 @@ const opCreateStream = "CreateStream" // CreateStreamRequest generates a "aws/request.Request" representing the // client's request for the CreateStream operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateStream for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateStream method directly -// instead. +// See CreateStream for more information on using the CreateStream +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateStreamRequest method. // req, resp := client.CreateStreamRequest(params) @@ -244,19 +242,18 @@ const opDecreaseStreamRetentionPeriod = "DecreaseStreamRetentionPeriod" // DecreaseStreamRetentionPeriodRequest generates a "aws/request.Request" representing the // client's request for the DecreaseStreamRetentionPeriod operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DecreaseStreamRetentionPeriod for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DecreaseStreamRetentionPeriod method directly -// instead. +// See DecreaseStreamRetentionPeriod for more information on using the DecreaseStreamRetentionPeriod +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DecreaseStreamRetentionPeriodRequest method. // req, resp := client.DecreaseStreamRetentionPeriodRequest(params) @@ -341,19 +338,18 @@ const opDeleteStream = "DeleteStream" // DeleteStreamRequest generates a "aws/request.Request" representing the // client's request for the DeleteStream operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteStream for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteStream method directly -// instead. +// See DeleteStream for more information on using the DeleteStream +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteStreamRequest method. // req, resp := client.DeleteStreamRequest(params) @@ -447,19 +443,18 @@ const opDescribeLimits = "DescribeLimits" // DescribeLimitsRequest generates a "aws/request.Request" representing the // client's request for the DescribeLimits operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeLimits for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeLimits method directly -// instead. +// See DescribeLimits for more information on using the DescribeLimits +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeLimitsRequest method. // req, resp := client.DescribeLimitsRequest(params) @@ -533,19 +528,18 @@ const opDescribeStream = "DescribeStream" // DescribeStreamRequest generates a "aws/request.Request" representing the // client's request for the DescribeStream operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeStream for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeStream method directly -// instead. +// See DescribeStream for more information on using the DescribeStream +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeStreamRequest method. // req, resp := client.DescribeStreamRequest(params) @@ -692,19 +686,18 @@ const opDisableEnhancedMonitoring = "DisableEnhancedMonitoring" // DisableEnhancedMonitoringRequest generates a "aws/request.Request" representing the // client's request for the DisableEnhancedMonitoring operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisableEnhancedMonitoring for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisableEnhancedMonitoring method directly -// instead. +// See DisableEnhancedMonitoring for more information on using the DisableEnhancedMonitoring +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisableEnhancedMonitoringRequest method. // req, resp := client.DisableEnhancedMonitoringRequest(params) @@ -785,19 +778,18 @@ const opEnableEnhancedMonitoring = "EnableEnhancedMonitoring" // EnableEnhancedMonitoringRequest generates a "aws/request.Request" representing the // client's request for the EnableEnhancedMonitoring operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EnableEnhancedMonitoring for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EnableEnhancedMonitoring method directly -// instead. +// See EnableEnhancedMonitoring for more information on using the EnableEnhancedMonitoring +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EnableEnhancedMonitoringRequest method. // req, resp := client.EnableEnhancedMonitoringRequest(params) @@ -878,19 +870,18 @@ const opGetRecords = "GetRecords" // GetRecordsRequest generates a "aws/request.Request" representing the // client's request for the GetRecords operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetRecords for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetRecords method directly -// instead. +// See GetRecords for more information on using the GetRecords +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetRecordsRequest method. // req, resp := client.GetRecordsRequest(params) @@ -1051,19 +1042,18 @@ const opGetShardIterator = "GetShardIterator" // GetShardIteratorRequest generates a "aws/request.Request" representing the // client's request for the GetShardIterator operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetShardIterator for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetShardIterator method directly -// instead. +// See GetShardIterator for more information on using the GetShardIterator +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetShardIteratorRequest method. // req, resp := client.GetShardIteratorRequest(params) @@ -1181,19 +1171,18 @@ const opIncreaseStreamRetentionPeriod = "IncreaseStreamRetentionPeriod" // IncreaseStreamRetentionPeriodRequest generates a "aws/request.Request" representing the // client's request for the IncreaseStreamRetentionPeriod operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See IncreaseStreamRetentionPeriod for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the IncreaseStreamRetentionPeriod method directly -// instead. +// See IncreaseStreamRetentionPeriod for more information on using the IncreaseStreamRetentionPeriod +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the IncreaseStreamRetentionPeriodRequest method. // req, resp := client.IncreaseStreamRetentionPeriodRequest(params) @@ -1282,19 +1271,18 @@ const opListStreams = "ListStreams" // ListStreamsRequest generates a "aws/request.Request" representing the // client's request for the ListStreams operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListStreams for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListStreams method directly -// instead. +// See ListStreams for more information on using the ListStreams +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListStreamsRequest method. // req, resp := client.ListStreamsRequest(params) @@ -1434,19 +1422,18 @@ const opListTagsForStream = "ListTagsForStream" // ListTagsForStreamRequest generates a "aws/request.Request" representing the // client's request for the ListTagsForStream operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTagsForStream for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTagsForStream method directly -// instead. +// See ListTagsForStream for more information on using the ListTagsForStream +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTagsForStreamRequest method. // req, resp := client.ListTagsForStreamRequest(params) @@ -1523,19 +1510,18 @@ const opMergeShards = "MergeShards" // MergeShardsRequest generates a "aws/request.Request" representing the // client's request for the MergeShards operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See MergeShards for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the MergeShards method directly -// instead. +// See MergeShards for more information on using the MergeShards +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the MergeShardsRequest method. // req, resp := client.MergeShardsRequest(params) @@ -1653,19 +1639,18 @@ const opPutRecord = "PutRecord" // PutRecordRequest generates a "aws/request.Request" representing the // client's request for the PutRecord operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutRecord for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutRecord method directly -// instead. +// See PutRecord for more information on using the PutRecord +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutRecordRequest method. // req, resp := client.PutRecordRequest(params) @@ -1809,19 +1794,18 @@ const opPutRecords = "PutRecords" // PutRecordsRequest generates a "aws/request.Request" representing the // client's request for the PutRecords operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutRecords for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutRecords method directly -// instead. +// See PutRecords for more information on using the PutRecords +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutRecordsRequest method. // req, resp := client.PutRecordsRequest(params) @@ -1985,19 +1969,18 @@ const opRemoveTagsFromStream = "RemoveTagsFromStream" // RemoveTagsFromStreamRequest generates a "aws/request.Request" representing the // client's request for the RemoveTagsFromStream operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveTagsFromStream for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveTagsFromStream method directly -// instead. +// See RemoveTagsFromStream for more information on using the RemoveTagsFromStream +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveTagsFromStreamRequest method. // req, resp := client.RemoveTagsFromStreamRequest(params) @@ -2083,19 +2066,18 @@ const opSplitShard = "SplitShard" // SplitShardRequest generates a "aws/request.Request" representing the // client's request for the SplitShard operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SplitShard for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SplitShard method directly -// instead. +// See SplitShard for more information on using the SplitShard +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SplitShardRequest method. // req, resp := client.SplitShardRequest(params) @@ -2222,19 +2204,18 @@ const opStartStreamEncryption = "StartStreamEncryption" // StartStreamEncryptionRequest generates a "aws/request.Request" representing the // client's request for the StartStreamEncryption operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartStreamEncryption for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartStreamEncryption method directly -// instead. +// See StartStreamEncryption for more information on using the StartStreamEncryption +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartStreamEncryptionRequest method. // req, resp := client.StartStreamEncryptionRequest(params) @@ -2359,19 +2340,18 @@ const opStopStreamEncryption = "StopStreamEncryption" // StopStreamEncryptionRequest generates a "aws/request.Request" representing the // client's request for the StopStreamEncryption operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StopStreamEncryption for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StopStreamEncryption method directly -// instead. +// See StopStreamEncryption for more information on using the StopStreamEncryption +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StopStreamEncryptionRequest method. // req, resp := client.StopStreamEncryptionRequest(params) @@ -2471,19 +2451,18 @@ const opUpdateShardCount = "UpdateShardCount" // UpdateShardCountRequest generates a "aws/request.Request" representing the // client's request for the UpdateShardCount operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateShardCount for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateShardCount method directly -// instead. +// See UpdateShardCount for more information on using the UpdateShardCount +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateShardCountRequest method. // req, resp := client.UpdateShardCountRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/kinesis/doc.go b/vendor/github.com/aws/aws-sdk-go/service/kinesis/doc.go index a64d6b708..a9016f212 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kinesis/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kinesis/doc.go @@ -13,69 +13,17 @@ // // Using the Client // -// To use the client for Amazon Kinesis you will first need -// to create a new instance of it. +// To Amazon Kinesis with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := kinesis.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Kinesis client Kinesis for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/kinesis/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AddTagsToStream(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AddTagsToStream result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AddTagsToStreamWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package kinesis diff --git a/vendor/github.com/aws/aws-sdk-go/service/kinesis/kinesisiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/kinesis/kinesisiface/interface.go index d4a70e5eb..e24948281 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kinesis/kinesisiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kinesis/kinesisiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Kinesis. diff --git a/vendor/github.com/aws/aws-sdk-go/service/kinesis/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/kinesis/waiters.go index a64a77af6..a51912ab6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kinesis/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kinesis/waiters.go @@ -11,7 +11,7 @@ import ( // WaitUntilStreamExists uses the Kinesis API operation // DescribeStream to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *Kinesis) WaitUntilStreamExists(input *DescribeStreamInput) error { return c.WaitUntilStreamExistsWithContext(aws.BackgroundContext(), input) @@ -57,7 +57,7 @@ func (c *Kinesis) WaitUntilStreamExistsWithContext(ctx aws.Context, input *Descr // WaitUntilStreamNotExists uses the Kinesis API operation // DescribeStream to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *Kinesis) WaitUntilStreamNotExists(input *DescribeStreamInput) error { return c.WaitUntilStreamNotExistsWithContext(aws.BackgroundContext(), input) diff --git a/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/api.go b/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/api.go index 5f49364fc..71980c882 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/api.go @@ -15,19 +15,18 @@ const opAddApplicationCloudWatchLoggingOption = "AddApplicationCloudWatchLogging // AddApplicationCloudWatchLoggingOptionRequest generates a "aws/request.Request" representing the // client's request for the AddApplicationCloudWatchLoggingOption operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddApplicationCloudWatchLoggingOption for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddApplicationCloudWatchLoggingOption method directly -// instead. +// See AddApplicationCloudWatchLoggingOption for more information on using the AddApplicationCloudWatchLoggingOption +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddApplicationCloudWatchLoggingOptionRequest method. // req, resp := client.AddApplicationCloudWatchLoggingOptionRequest(params) @@ -58,7 +57,7 @@ func (c *KinesisAnalytics) AddApplicationCloudWatchLoggingOptionRequest(input *A // // Adds a CloudWatch log stream to monitor application configuration errors. // For more information about using CloudWatch log streams with Amazon Kinesis -// Analytics applications, see Monitoring Configuration Errors (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-monitor-configuration.html). +// Analytics applications, see Working with Amazon CloudWatch Logs (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-logs.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -108,19 +107,18 @@ const opAddApplicationInput = "AddApplicationInput" // AddApplicationInputRequest generates a "aws/request.Request" representing the // client's request for the AddApplicationInput operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddApplicationInput for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddApplicationInput method directly -// instead. +// See AddApplicationInput for more information on using the AddApplicationInput +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddApplicationInputRequest method. // req, resp := client.AddApplicationInputRequest(params) @@ -185,6 +183,10 @@ func (c *KinesisAnalytics) AddApplicationInputRequest(input *AddApplicationInput // For example, two individuals attempting to edit the same application at the // same time. // +// * ErrCodeCodeValidationException "CodeValidationException" +// User-provided application code (query) is invalid. This can be a simple syntax +// error. +// // Please also see https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/AddApplicationInput func (c *KinesisAnalytics) AddApplicationInput(input *AddApplicationInputInput) (*AddApplicationInputOutput, error) { req, out := c.AddApplicationInputRequest(input) @@ -211,19 +213,18 @@ const opAddApplicationOutput = "AddApplicationOutput" // AddApplicationOutputRequest generates a "aws/request.Request" representing the // client's request for the AddApplicationOutput operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddApplicationOutput for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddApplicationOutput method directly -// instead. +// See AddApplicationOutput for more information on using the AddApplicationOutput +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddApplicationOutputRequest method. // req, resp := client.AddApplicationOutputRequest(params) @@ -324,19 +325,18 @@ const opAddApplicationReferenceDataSource = "AddApplicationReferenceDataSource" // AddApplicationReferenceDataSourceRequest generates a "aws/request.Request" representing the // client's request for the AddApplicationReferenceDataSource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddApplicationReferenceDataSource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddApplicationReferenceDataSource method directly -// instead. +// See AddApplicationReferenceDataSource for more information on using the AddApplicationReferenceDataSource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddApplicationReferenceDataSourceRequest method. // req, resp := client.AddApplicationReferenceDataSourceRequest(params) @@ -429,19 +429,18 @@ const opCreateApplication = "CreateApplication" // CreateApplicationRequest generates a "aws/request.Request" representing the // client's request for the CreateApplication operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateApplication for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateApplication method directly -// instead. +// See CreateApplication for more information on using the CreateApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateApplicationRequest method. // req, resp := client.CreateApplicationRequest(params) @@ -544,19 +543,18 @@ const opDeleteApplication = "DeleteApplication" // DeleteApplicationRequest generates a "aws/request.Request" representing the // client's request for the DeleteApplication operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteApplication for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteApplication method directly -// instead. +// See DeleteApplication for more information on using the DeleteApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteApplicationRequest method. // req, resp := client.DeleteApplicationRequest(params) @@ -637,19 +635,18 @@ const opDeleteApplicationCloudWatchLoggingOption = "DeleteApplicationCloudWatchL // DeleteApplicationCloudWatchLoggingOptionRequest generates a "aws/request.Request" representing the // client's request for the DeleteApplicationCloudWatchLoggingOption operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteApplicationCloudWatchLoggingOption for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteApplicationCloudWatchLoggingOption method directly -// instead. +// See DeleteApplicationCloudWatchLoggingOption for more information on using the DeleteApplicationCloudWatchLoggingOption +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteApplicationCloudWatchLoggingOptionRequest method. // req, resp := client.DeleteApplicationCloudWatchLoggingOptionRequest(params) @@ -680,7 +677,7 @@ func (c *KinesisAnalytics) DeleteApplicationCloudWatchLoggingOptionRequest(input // // Deletes a CloudWatch log stream from an application. For more information // about using CloudWatch log streams with Amazon Kinesis Analytics applications, -// see Monitoring Configuration Errors (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-monitor-configuration.html). +// see Working with Amazon CloudWatch Logs (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-logs.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -730,19 +727,18 @@ const opDeleteApplicationOutput = "DeleteApplicationOutput" // DeleteApplicationOutputRequest generates a "aws/request.Request" representing the // client's request for the DeleteApplicationOutput operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteApplicationOutput for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteApplicationOutput method directly -// instead. +// See DeleteApplicationOutput for more information on using the DeleteApplicationOutput +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteApplicationOutputRequest method. // req, resp := client.DeleteApplicationOutputRequest(params) @@ -826,19 +822,18 @@ const opDeleteApplicationReferenceDataSource = "DeleteApplicationReferenceDataSo // DeleteApplicationReferenceDataSourceRequest generates a "aws/request.Request" representing the // client's request for the DeleteApplicationReferenceDataSource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteApplicationReferenceDataSource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteApplicationReferenceDataSource method directly -// instead. +// See DeleteApplicationReferenceDataSource for more information on using the DeleteApplicationReferenceDataSource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteApplicationReferenceDataSourceRequest method. // req, resp := client.DeleteApplicationReferenceDataSourceRequest(params) @@ -925,19 +920,18 @@ const opDescribeApplication = "DescribeApplication" // DescribeApplicationRequest generates a "aws/request.Request" representing the // client's request for the DescribeApplication operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeApplication for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeApplication method directly -// instead. +// See DescribeApplication for more information on using the DescribeApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeApplicationRequest method. // req, resp := client.DescribeApplicationRequest(params) @@ -1012,19 +1006,18 @@ const opDiscoverInputSchema = "DiscoverInputSchema" // DiscoverInputSchemaRequest generates a "aws/request.Request" representing the // client's request for the DiscoverInputSchema operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DiscoverInputSchema for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DiscoverInputSchema method directly -// instead. +// See DiscoverInputSchema for more information on using the DiscoverInputSchema +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DiscoverInputSchemaRequest method. // req, resp := client.DiscoverInputSchemaRequest(params) @@ -1089,6 +1082,9 @@ func (c *KinesisAnalytics) DiscoverInputSchemaRequest(input *DiscoverInputSchema // see GetRecords (http://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetRecords.html) // in the Amazon Kinesis Streams API Reference. // +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is unavailable, back off and retry the operation. +// // Please also see https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/DiscoverInputSchema func (c *KinesisAnalytics) DiscoverInputSchema(input *DiscoverInputSchemaInput) (*DiscoverInputSchemaOutput, error) { req, out := c.DiscoverInputSchemaRequest(input) @@ -1115,19 +1111,18 @@ const opListApplications = "ListApplications" // ListApplicationsRequest generates a "aws/request.Request" representing the // client's request for the ListApplications operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListApplications for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListApplications method directly -// instead. +// See ListApplications for more information on using the ListApplications +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListApplicationsRequest method. // req, resp := client.ListApplicationsRequest(params) @@ -1200,19 +1195,18 @@ const opStartApplication = "StartApplication" // StartApplicationRequest generates a "aws/request.Request" representing the // client's request for the StartApplication operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartApplication for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartApplication method directly -// instead. +// See StartApplication for more information on using the StartApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartApplicationRequest method. // req, resp := client.StartApplicationRequest(params) @@ -1303,19 +1297,18 @@ const opStopApplication = "StopApplication" // StopApplicationRequest generates a "aws/request.Request" representing the // client's request for the StopApplication operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StopApplication for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StopApplication method directly -// instead. +// See StopApplication for more information on using the StopApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StopApplicationRequest method. // req, resp := client.StopApplicationRequest(params) @@ -1393,19 +1386,18 @@ const opUpdateApplication = "UpdateApplication" // UpdateApplicationRequest generates a "aws/request.Request" representing the // client's request for the UpdateApplication operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateApplication for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateApplication method directly -// instead. +// See UpdateApplication for more information on using the UpdateApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateApplicationRequest method. // req, resp := client.UpdateApplicationRequest(params) @@ -1495,19 +1487,19 @@ func (c *KinesisAnalytics) UpdateApplicationWithContext(ctx aws.Context, input * type AddApplicationCloudWatchLoggingOptionInput struct { _ struct{} `type:"structure"` - // The Amazon Kinesis Analytics application name. + // The Kinesis Analytics application name. // // ApplicationName is a required field ApplicationName *string `min:"1" type:"string" required:"true"` - // Provide the CloudWatch log stream ARN and the IAM role ARN. Note: To write - // application messages to CloudWatch, the IAM role used must have the PutLogEvents - // policy action enabled. + // Provides the CloudWatch log stream Amazon Resource Name (ARN) and the IAM + // role ARN. Note: To write application messages to CloudWatch, the IAM role + // that is used must have the PutLogEvents policy action enabled. // // CloudWatchLoggingOption is a required field CloudWatchLoggingOption *CloudWatchLoggingOption `type:"structure" required:"true"` - // The version ID of the Amazon Kinesis Analytics application. + // The version ID of the Kinesis Analytics application. // // CurrentApplicationVersionId is a required field CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` @@ -1916,9 +1908,9 @@ type ApplicationDetail struct { // ApplicationVersionId is a required field ApplicationVersionId *int64 `min:"1" type:"long" required:"true"` - // Describes the CloudWatch log streams configured to receive application messages. - // For more information about using CloudWatch log streams with Amazon Kinesis - // Analytics applications, see Monitoring Configuration Errors (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-monitor-configuration.html). + // Describes the CloudWatch log streams that are configured to receive application + // messages. For more information about using CloudWatch log streams with Amazon + // Kinesis Analytics applications, see Working with Amazon CloudWatch Logs (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-logs.html). CloudWatchLoggingOptionDescriptions []*CloudWatchLoggingOptionDescription `type:"list"` // Timestamp when the application version was created. @@ -2252,7 +2244,7 @@ func (s *CSVMappingParameters) SetRecordRowDelimiter(v string) *CSVMappingParame } // Provides a description of CloudWatch logging options, including the log stream -// ARN and the role ARN. +// Amazon Resource Name (ARN) and the role ARN. // Please also see https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/CloudWatchLoggingOption type CloudWatchLoggingOption struct { _ struct{} `type:"structure"` @@ -2263,8 +2255,8 @@ type CloudWatchLoggingOption struct { LogStreamARN *string `min:"1" type:"string" required:"true"` // IAM ARN of the role to use to send application messages. Note: To write application - // messages to CloudWatch, the IAM role used must have the PutLogEvents policy - // action enabled. + // messages to CloudWatch, the IAM role that is used must have the PutLogEvents + // policy action enabled. // // RoleARN is a required field RoleARN *string `min:"1" type:"string" required:"true"` @@ -2463,8 +2455,8 @@ type CreateApplicationInput struct { ApplicationName *string `min:"1" type:"string" required:"true"` // Use this parameter to configure a CloudWatch log stream to monitor application - // configuration errors. For more information, see Monitoring Configuration - // Errors (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-monitor-configuration.html). + // configuration errors. For more information, see Working with Amazon CloudWatch + // Logs (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-logs.html). CloudWatchLoggingOptions []*CloudWatchLoggingOption `type:"list"` // Use this parameter to configure the application input. @@ -2628,7 +2620,7 @@ func (s *CreateApplicationOutput) SetApplicationSummary(v *ApplicationSummary) * type DeleteApplicationCloudWatchLoggingOptionInput struct { _ struct{} `type:"structure"` - // The Amazon Kinesis Analytics application name. + // The Kinesis Analytics application name. // // ApplicationName is a required field ApplicationName *string `min:"1" type:"string" required:"true"` @@ -2639,7 +2631,7 @@ type DeleteApplicationCloudWatchLoggingOptionInput struct { // CloudWatchLoggingOptionId is a required field CloudWatchLoggingOptionId *string `min:"1" type:"string" required:"true"` - // The version ID of the Amazon Kinesis Analytics application. + // The version ID of the Kinesis Analytics application. // // CurrentApplicationVersionId is a required field CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` @@ -3223,11 +3215,15 @@ type Input struct { // If the streaming source is an Amazon Kinesis Firehose delivery stream, identifies // the Firehose delivery stream's ARN and an IAM role that enables Amazon Kinesis // Analytics to access the stream on your behalf. + // + // Note: Either KinesisStreamsInput or KinesisFirehoseInput is required. KinesisFirehoseInput *KinesisFirehoseInput `type:"structure"` // If the streaming source is an Amazon Kinesis stream, identifies the stream's // Amazon Resource Name (ARN) and an IAM role that enables Amazon Kinesis Analytics // to access the stream on your behalf. + // + // Note: Either KinesisStreamsInput or KinesisFirehoseInput is required. KinesisStreamsInput *KinesisStreamsInput `type:"structure"` // Name prefix to use when creating in-application stream. Suppose you specify @@ -3791,11 +3787,6 @@ type JSONMappingParameters struct { // Path to the top-level parent that contains the records. // - // For example, consider the following JSON record: - // - // In the RecordRowPath, "$" refers to the root and path "$.vehicle.Model" refers - // to the specific "Model" key in the JSON. - // // RecordRowPath is a required field RecordRowPath *string `type:"string" required:"true"` } diff --git a/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/doc.go b/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/doc.go index 945f5d876..9dbcde71b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/doc.go @@ -10,69 +10,17 @@ // // Using the Client // -// To use the client for Amazon Kinesis Analytics you will first need -// to create a new instance of it. +// To Amazon Kinesis Analytics with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := kinesisanalytics.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Kinesis Analytics client KinesisAnalytics for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/kinesisanalytics/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AddApplicationCloudWatchLoggingOption(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AddApplicationCloudWatchLoggingOption result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AddApplicationCloudWatchLoggingOptionWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package kinesisanalytics diff --git a/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/errors.go b/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/errors.go index 3eb5d5f25..75b5581b5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/errors.go @@ -58,6 +58,12 @@ const ( // in the Amazon Kinesis Streams API Reference. ErrCodeResourceProvisionedThroughputExceededException = "ResourceProvisionedThroughputExceededException" + // ErrCodeServiceUnavailableException for service response error code + // "ServiceUnavailableException". + // + // The service is unavailable, back off and retry the operation. + ErrCodeServiceUnavailableException = "ServiceUnavailableException" + // ErrCodeUnableToDetectSchemaException for service response error code // "UnableToDetectSchemaException". // diff --git a/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/kinesisanalyticsiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/kinesisanalyticsiface/interface.go index 5928f2a48..5db74f324 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/kinesisanalyticsiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/kinesisanalyticsiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Kinesis Analytics. diff --git a/vendor/github.com/aws/aws-sdk-go/service/kms/api.go b/vendor/github.com/aws/aws-sdk-go/service/kms/api.go index f8960a3c8..ac1c5fda8 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kms/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kms/api.go @@ -17,19 +17,18 @@ const opCancelKeyDeletion = "CancelKeyDeletion" // CancelKeyDeletionRequest generates a "aws/request.Request" representing the // client's request for the CancelKeyDeletion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CancelKeyDeletion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CancelKeyDeletion method directly -// instead. +// See CancelKeyDeletion for more information on using the CancelKeyDeletion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CancelKeyDeletionRequest method. // req, resp := client.CancelKeyDeletionRequest(params) @@ -123,19 +122,18 @@ const opCreateAlias = "CreateAlias" // CreateAliasRequest generates a "aws/request.Request" representing the // client's request for the CreateAlias operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateAlias for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateAlias method directly -// instead. +// See CreateAlias for more information on using the CreateAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateAliasRequest method. // req, resp := client.CreateAliasRequest(params) @@ -245,19 +243,18 @@ const opCreateGrant = "CreateGrant" // CreateGrantRequest generates a "aws/request.Request" representing the // client's request for the CreateGrant operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateGrant for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateGrant method directly -// instead. +// See CreateGrant for more information on using the CreateGrant +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateGrantRequest method. // req, resp := client.CreateGrantRequest(params) @@ -360,19 +357,18 @@ const opCreateKey = "CreateKey" // CreateKeyRequest generates a "aws/request.Request" representing the // client's request for the CreateKey operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateKey for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateKey method directly -// instead. +// See CreateKey for more information on using the CreateKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateKeyRequest method. // req, resp := client.CreateKeyRequest(params) @@ -474,19 +470,18 @@ const opDecrypt = "Decrypt" // DecryptRequest generates a "aws/request.Request" representing the // client's request for the Decrypt operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See Decrypt for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the Decrypt method directly -// instead. +// See Decrypt for more information on using the Decrypt +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DecryptRequest method. // req, resp := client.DecryptRequest(params) @@ -601,19 +596,18 @@ const opDeleteAlias = "DeleteAlias" // DeleteAliasRequest generates a "aws/request.Request" representing the // client's request for the DeleteAlias operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteAlias for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteAlias method directly -// instead. +// See DeleteAlias for more information on using the DeleteAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteAliasRequest method. // req, resp := client.DeleteAliasRequest(params) @@ -700,19 +694,18 @@ const opDeleteImportedKeyMaterial = "DeleteImportedKeyMaterial" // DeleteImportedKeyMaterialRequest generates a "aws/request.Request" representing the // client's request for the DeleteImportedKeyMaterial operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteImportedKeyMaterial for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteImportedKeyMaterial method directly -// instead. +// See DeleteImportedKeyMaterial for more information on using the DeleteImportedKeyMaterial +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteImportedKeyMaterialRequest method. // req, resp := client.DeleteImportedKeyMaterialRequest(params) @@ -815,19 +808,18 @@ const opDescribeKey = "DescribeKey" // DescribeKeyRequest generates a "aws/request.Request" representing the // client's request for the DescribeKey operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeKey for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeKey method directly -// instead. +// See DescribeKey for more information on using the DescribeKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeKeyRequest method. // req, resp := client.DescribeKeyRequest(params) @@ -907,19 +899,18 @@ const opDisableKey = "DisableKey" // DisableKeyRequest generates a "aws/request.Request" representing the // client's request for the DisableKey operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisableKey for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisableKey method directly -// instead. +// See DisableKey for more information on using the DisableKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisableKeyRequest method. // req, resp := client.DisableKeyRequest(params) @@ -1013,19 +1004,18 @@ const opDisableKeyRotation = "DisableKeyRotation" // DisableKeyRotationRequest generates a "aws/request.Request" representing the // client's request for the DisableKeyRotation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisableKeyRotation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisableKeyRotation method directly -// instead. +// See DisableKeyRotation for more information on using the DisableKeyRotation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisableKeyRotationRequest method. // req, resp := client.DisableKeyRotationRequest(params) @@ -1122,19 +1112,18 @@ const opEnableKey = "EnableKey" // EnableKeyRequest generates a "aws/request.Request" representing the // client's request for the EnableKey operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EnableKey for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EnableKey method directly -// instead. +// See EnableKey for more information on using the EnableKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EnableKeyRequest method. // req, resp := client.EnableKeyRequest(params) @@ -1229,19 +1218,18 @@ const opEnableKeyRotation = "EnableKeyRotation" // EnableKeyRotationRequest generates a "aws/request.Request" representing the // client's request for the EnableKeyRotation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EnableKeyRotation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EnableKeyRotation method directly -// instead. +// See EnableKeyRotation for more information on using the EnableKeyRotation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EnableKeyRotationRequest method. // req, resp := client.EnableKeyRotationRequest(params) @@ -1338,19 +1326,18 @@ const opEncrypt = "Encrypt" // EncryptRequest generates a "aws/request.Request" representing the // client's request for the Encrypt operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See Encrypt for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the Encrypt method directly -// instead. +// See Encrypt for more information on using the Encrypt +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EncryptRequest method. // req, resp := client.EncryptRequest(params) @@ -1467,19 +1454,18 @@ const opGenerateDataKey = "GenerateDataKey" // GenerateDataKeyRequest generates a "aws/request.Request" representing the // client's request for the GenerateDataKey operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GenerateDataKey for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GenerateDataKey method directly -// instead. +// See GenerateDataKey for more information on using the GenerateDataKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GenerateDataKeyRequest method. // req, resp := client.GenerateDataKeyRequest(params) @@ -1620,19 +1606,18 @@ const opGenerateDataKeyWithoutPlaintext = "GenerateDataKeyWithoutPlaintext" // GenerateDataKeyWithoutPlaintextRequest generates a "aws/request.Request" representing the // client's request for the GenerateDataKeyWithoutPlaintext operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GenerateDataKeyWithoutPlaintext for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GenerateDataKeyWithoutPlaintext method directly -// instead. +// See GenerateDataKeyWithoutPlaintext for more information on using the GenerateDataKeyWithoutPlaintext +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GenerateDataKeyWithoutPlaintextRequest method. // req, resp := client.GenerateDataKeyWithoutPlaintextRequest(params) @@ -1744,19 +1729,18 @@ const opGenerateRandom = "GenerateRandom" // GenerateRandomRequest generates a "aws/request.Request" representing the // client's request for the GenerateRandom operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GenerateRandom for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GenerateRandom method directly -// instead. +// See GenerateRandom for more information on using the GenerateRandom +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GenerateRandomRequest method. // req, resp := client.GenerateRandomRequest(params) @@ -1833,19 +1817,18 @@ const opGetKeyPolicy = "GetKeyPolicy" // GetKeyPolicyRequest generates a "aws/request.Request" representing the // client's request for the GetKeyPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetKeyPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetKeyPolicy method directly -// instead. +// See GetKeyPolicy for more information on using the GetKeyPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetKeyPolicyRequest method. // req, resp := client.GetKeyPolicyRequest(params) @@ -1933,19 +1916,18 @@ const opGetKeyRotationStatus = "GetKeyRotationStatus" // GetKeyRotationStatusRequest generates a "aws/request.Request" representing the // client's request for the GetKeyRotationStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetKeyRotationStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetKeyRotationStatus method directly -// instead. +// See GetKeyRotationStatus for more information on using the GetKeyRotationStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetKeyRotationStatusRequest method. // req, resp := client.GetKeyRotationStatusRequest(params) @@ -2038,19 +2020,18 @@ const opGetParametersForImport = "GetParametersForImport" // GetParametersForImportRequest generates a "aws/request.Request" representing the // client's request for the GetParametersForImport operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetParametersForImport for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetParametersForImport method directly -// instead. +// See GetParametersForImport for more information on using the GetParametersForImport +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetParametersForImportRequest method. // req, resp := client.GetParametersForImportRequest(params) @@ -2157,19 +2138,18 @@ const opImportKeyMaterial = "ImportKeyMaterial" // ImportKeyMaterialRequest generates a "aws/request.Request" representing the // client's request for the ImportKeyMaterial operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ImportKeyMaterial for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ImportKeyMaterial method directly -// instead. +// See ImportKeyMaterial for more information on using the ImportKeyMaterial +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ImportKeyMaterialRequest method. // req, resp := client.ImportKeyMaterialRequest(params) @@ -2300,19 +2280,18 @@ const opListAliases = "ListAliases" // ListAliasesRequest generates a "aws/request.Request" representing the // client's request for the ListAliases operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAliases for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAliases method directly -// instead. +// See ListAliases for more information on using the ListAliases +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAliasesRequest method. // req, resp := client.ListAliasesRequest(params) @@ -2445,19 +2424,18 @@ const opListGrants = "ListGrants" // ListGrantsRequest generates a "aws/request.Request" representing the // client's request for the ListGrants operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListGrants for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListGrants method directly -// instead. +// See ListGrants for more information on using the ListGrants +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListGrantsRequest method. // req, resp := client.ListGrantsRequest(params) @@ -2605,19 +2583,18 @@ const opListKeyPolicies = "ListKeyPolicies" // ListKeyPoliciesRequest generates a "aws/request.Request" representing the // client's request for the ListKeyPolicies operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListKeyPolicies for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListKeyPolicies method directly -// instead. +// See ListKeyPolicies for more information on using the ListKeyPolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListKeyPoliciesRequest method. // req, resp := client.ListKeyPoliciesRequest(params) @@ -2761,19 +2738,18 @@ const opListKeys = "ListKeys" // ListKeysRequest generates a "aws/request.Request" representing the // client's request for the ListKeys operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListKeys for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListKeys method directly -// instead. +// See ListKeys for more information on using the ListKeys +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListKeysRequest method. // req, resp := client.ListKeysRequest(params) @@ -2906,19 +2882,18 @@ const opListResourceTags = "ListResourceTags" // ListResourceTagsRequest generates a "aws/request.Request" representing the // client's request for the ListResourceTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListResourceTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListResourceTags method directly -// instead. +// See ListResourceTags for more information on using the ListResourceTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListResourceTagsRequest method. // req, resp := client.ListResourceTagsRequest(params) @@ -2998,19 +2973,18 @@ const opListRetirableGrants = "ListRetirableGrants" // ListRetirableGrantsRequest generates a "aws/request.Request" representing the // client's request for the ListRetirableGrants operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListRetirableGrants for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListRetirableGrants method directly -// instead. +// See ListRetirableGrants for more information on using the ListRetirableGrants +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListRetirableGrantsRequest method. // req, resp := client.ListRetirableGrantsRequest(params) @@ -3098,19 +3072,18 @@ const opPutKeyPolicy = "PutKeyPolicy" // PutKeyPolicyRequest generates a "aws/request.Request" representing the // client's request for the PutKeyPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutKeyPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutKeyPolicy method directly -// instead. +// See PutKeyPolicy for more information on using the PutKeyPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutKeyPolicyRequest method. // req, resp := client.PutKeyPolicyRequest(params) @@ -3216,19 +3189,18 @@ const opReEncrypt = "ReEncrypt" // ReEncryptRequest generates a "aws/request.Request" representing the // client's request for the ReEncrypt operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ReEncrypt for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ReEncrypt method directly -// instead. +// See ReEncrypt for more information on using the ReEncrypt +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ReEncryptRequest method. // req, resp := client.ReEncryptRequest(params) @@ -3341,19 +3313,18 @@ const opRetireGrant = "RetireGrant" // RetireGrantRequest generates a "aws/request.Request" representing the // client's request for the RetireGrant operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RetireGrant for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RetireGrant method directly -// instead. +// See RetireGrant for more information on using the RetireGrant +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RetireGrantRequest method. // req, resp := client.RetireGrantRequest(params) @@ -3461,19 +3432,18 @@ const opRevokeGrant = "RevokeGrant" // RevokeGrantRequest generates a "aws/request.Request" representing the // client's request for the RevokeGrant operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RevokeGrant for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RevokeGrant method directly -// instead. +// See RevokeGrant for more information on using the RevokeGrant +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RevokeGrantRequest method. // req, resp := client.RevokeGrantRequest(params) @@ -3567,19 +3537,18 @@ const opScheduleKeyDeletion = "ScheduleKeyDeletion" // ScheduleKeyDeletionRequest generates a "aws/request.Request" representing the // client's request for the ScheduleKeyDeletion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ScheduleKeyDeletion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ScheduleKeyDeletion method directly -// instead. +// See ScheduleKeyDeletion for more information on using the ScheduleKeyDeletion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ScheduleKeyDeletionRequest method. // req, resp := client.ScheduleKeyDeletionRequest(params) @@ -3682,19 +3651,18 @@ const opTagResource = "TagResource" // TagResourceRequest generates a "aws/request.Request" representing the // client's request for the TagResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TagResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TagResource method directly -// instead. +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TagResourceRequest method. // req, resp := client.TagResourceRequest(params) @@ -3798,19 +3766,18 @@ const opUntagResource = "UntagResource" // UntagResourceRequest generates a "aws/request.Request" representing the // client's request for the UntagResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UntagResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UntagResource method directly -// instead. +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UntagResourceRequest method. // req, resp := client.UntagResourceRequest(params) @@ -3904,19 +3871,18 @@ const opUpdateAlias = "UpdateAlias" // UpdateAliasRequest generates a "aws/request.Request" representing the // client's request for the UpdateAlias operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateAlias for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateAlias method directly -// instead. +// See UpdateAlias for more information on using the UpdateAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateAliasRequest method. // req, resp := client.UpdateAliasRequest(params) @@ -4015,19 +3981,18 @@ const opUpdateKeyDescription = "UpdateKeyDescription" // UpdateKeyDescriptionRequest generates a "aws/request.Request" representing the // client's request for the UpdateKeyDescription operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateKeyDescription for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateKeyDescription method directly -// instead. +// See UpdateKeyDescription for more information on using the UpdateKeyDescription +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateKeyDescriptionRequest method. // req, resp := client.UpdateKeyDescriptionRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/kms/doc.go b/vendor/github.com/aws/aws-sdk-go/service/kms/doc.go index 6e1eb48f1..0b6a33ca9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kms/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kms/doc.go @@ -82,69 +82,17 @@ // // Using the Client // -// To use the client for AWS Key Management Service you will first need -// to create a new instance of it. +// To AWS Key Management Service with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := kms.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Key Management Service client KMS for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/kms/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CancelKeyDeletion(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CancelKeyDeletion result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CancelKeyDeletionWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package kms diff --git a/vendor/github.com/aws/aws-sdk-go/service/kms/kmsiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/kms/kmsiface/interface.go index f3b68eb0c..f5c3b8412 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kms/kmsiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kms/kmsiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Key Management Service. diff --git a/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go b/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go index 9b3e5220f..9c4bc147a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go @@ -17,19 +17,18 @@ const opAddPermission = "AddPermission" // AddPermissionRequest generates a "aws/request.Request" representing the // client's request for the AddPermission operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddPermission for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddPermission method directly -// instead. +// See AddPermission for more information on using the AddPermission +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddPermissionRequest method. // req, resp := client.AddPermissionRequest(params) @@ -38,6 +37,8 @@ const opAddPermission = "AddPermission" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/AddPermission func (c *Lambda) AddPermissionRequest(input *AddPermissionInput) (req *request.Request, output *AddPermissionOutput) { op := &request.Operation{ Name: opAddPermission, @@ -102,6 +103,7 @@ func (c *Lambda) AddPermissionRequest(input *AddPermissionInput) (req *request.R // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/AddPermission func (c *Lambda) AddPermission(input *AddPermissionInput) (*AddPermissionOutput, error) { req, out := c.AddPermissionRequest(input) return out, req.Send() @@ -127,19 +129,18 @@ const opCreateAlias = "CreateAlias" // CreateAliasRequest generates a "aws/request.Request" representing the // client's request for the CreateAlias operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateAlias for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateAlias method directly -// instead. +// See CreateAlias for more information on using the CreateAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateAliasRequest method. // req, resp := client.CreateAliasRequest(params) @@ -148,6 +149,8 @@ const opCreateAlias = "CreateAlias" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateAlias func (c *Lambda) CreateAliasRequest(input *CreateAliasInput) (req *request.Request, output *AliasConfiguration) { op := &request.Operation{ Name: opCreateAlias, @@ -199,6 +202,7 @@ func (c *Lambda) CreateAliasRequest(input *CreateAliasInput) (req *request.Reque // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateAlias func (c *Lambda) CreateAlias(input *CreateAliasInput) (*AliasConfiguration, error) { req, out := c.CreateAliasRequest(input) return out, req.Send() @@ -224,19 +228,18 @@ const opCreateEventSourceMapping = "CreateEventSourceMapping" // CreateEventSourceMappingRequest generates a "aws/request.Request" representing the // client's request for the CreateEventSourceMapping operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateEventSourceMapping for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateEventSourceMapping method directly -// instead. +// See CreateEventSourceMapping for more information on using the CreateEventSourceMapping +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateEventSourceMappingRequest method. // req, resp := client.CreateEventSourceMappingRequest(params) @@ -245,6 +248,8 @@ const opCreateEventSourceMapping = "CreateEventSourceMapping" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateEventSourceMapping func (c *Lambda) CreateEventSourceMappingRequest(input *CreateEventSourceMappingInput) (req *request.Request, output *EventSourceMappingConfiguration) { op := &request.Operation{ Name: opCreateEventSourceMapping, @@ -316,6 +321,7 @@ func (c *Lambda) CreateEventSourceMappingRequest(input *CreateEventSourceMapping // The resource (for example, a Lambda function or access policy statement) // specified in the request does not exist. // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateEventSourceMapping func (c *Lambda) CreateEventSourceMapping(input *CreateEventSourceMappingInput) (*EventSourceMappingConfiguration, error) { req, out := c.CreateEventSourceMappingRequest(input) return out, req.Send() @@ -341,19 +347,18 @@ const opCreateFunction = "CreateFunction" // CreateFunctionRequest generates a "aws/request.Request" representing the // client's request for the CreateFunction operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateFunction for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateFunction method directly -// instead. +// See CreateFunction for more information on using the CreateFunction +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateFunctionRequest method. // req, resp := client.CreateFunctionRequest(params) @@ -362,6 +367,8 @@ const opCreateFunction = "CreateFunction" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateFunction func (c *Lambda) CreateFunctionRequest(input *CreateFunctionInput) (req *request.Request, output *FunctionConfiguration) { op := &request.Operation{ Name: opCreateFunction, @@ -421,6 +428,7 @@ func (c *Lambda) CreateFunctionRequest(input *CreateFunctionInput) (req *request // * ErrCodeCodeStorageExceededException "CodeStorageExceededException" // You have exceeded your maximum total code size per account. Limits (http://docs.aws.amazon.com/lambda/latest/dg/limits.html) // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateFunction func (c *Lambda) CreateFunction(input *CreateFunctionInput) (*FunctionConfiguration, error) { req, out := c.CreateFunctionRequest(input) return out, req.Send() @@ -446,19 +454,18 @@ const opDeleteAlias = "DeleteAlias" // DeleteAliasRequest generates a "aws/request.Request" representing the // client's request for the DeleteAlias operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteAlias for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteAlias method directly -// instead. +// See DeleteAlias for more information on using the DeleteAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteAliasRequest method. // req, resp := client.DeleteAliasRequest(params) @@ -467,6 +474,8 @@ const opDeleteAlias = "DeleteAlias" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteAlias func (c *Lambda) DeleteAliasRequest(input *DeleteAliasInput) (req *request.Request, output *DeleteAliasOutput) { op := &request.Operation{ Name: opDeleteAlias, @@ -512,6 +521,7 @@ func (c *Lambda) DeleteAliasRequest(input *DeleteAliasInput) (req *request.Reque // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteAlias func (c *Lambda) DeleteAlias(input *DeleteAliasInput) (*DeleteAliasOutput, error) { req, out := c.DeleteAliasRequest(input) return out, req.Send() @@ -537,19 +547,18 @@ const opDeleteEventSourceMapping = "DeleteEventSourceMapping" // DeleteEventSourceMappingRequest generates a "aws/request.Request" representing the // client's request for the DeleteEventSourceMapping operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteEventSourceMapping for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteEventSourceMapping method directly -// instead. +// See DeleteEventSourceMapping for more information on using the DeleteEventSourceMapping +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteEventSourceMappingRequest method. // req, resp := client.DeleteEventSourceMappingRequest(params) @@ -558,6 +567,8 @@ const opDeleteEventSourceMapping = "DeleteEventSourceMapping" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteEventSourceMapping func (c *Lambda) DeleteEventSourceMappingRequest(input *DeleteEventSourceMappingInput) (req *request.Request, output *EventSourceMappingConfiguration) { op := &request.Operation{ Name: opDeleteEventSourceMapping, @@ -606,6 +617,7 @@ func (c *Lambda) DeleteEventSourceMappingRequest(input *DeleteEventSourceMapping // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteEventSourceMapping func (c *Lambda) DeleteEventSourceMapping(input *DeleteEventSourceMappingInput) (*EventSourceMappingConfiguration, error) { req, out := c.DeleteEventSourceMappingRequest(input) return out, req.Send() @@ -631,19 +643,18 @@ const opDeleteFunction = "DeleteFunction" // DeleteFunctionRequest generates a "aws/request.Request" representing the // client's request for the DeleteFunction operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteFunction for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteFunction method directly -// instead. +// See DeleteFunction for more information on using the DeleteFunction +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteFunctionRequest method. // req, resp := client.DeleteFunctionRequest(params) @@ -652,6 +663,8 @@ const opDeleteFunction = "DeleteFunction" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunction func (c *Lambda) DeleteFunctionRequest(input *DeleteFunctionInput) (req *request.Request, output *DeleteFunctionOutput) { op := &request.Operation{ Name: opDeleteFunction, @@ -713,6 +726,7 @@ func (c *Lambda) DeleteFunctionRequest(input *DeleteFunctionInput) (req *request // * ErrCodeResourceConflictException "ResourceConflictException" // The resource already exists. // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunction func (c *Lambda) DeleteFunction(input *DeleteFunctionInput) (*DeleteFunctionOutput, error) { req, out := c.DeleteFunctionRequest(input) return out, req.Send() @@ -738,19 +752,18 @@ const opGetAccountSettings = "GetAccountSettings" // GetAccountSettingsRequest generates a "aws/request.Request" representing the // client's request for the GetAccountSettings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetAccountSettings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetAccountSettings method directly -// instead. +// See GetAccountSettings for more information on using the GetAccountSettings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetAccountSettingsRequest method. // req, resp := client.GetAccountSettingsRequest(params) @@ -759,6 +772,8 @@ const opGetAccountSettings = "GetAccountSettings" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetAccountSettings func (c *Lambda) GetAccountSettingsRequest(input *GetAccountSettingsInput) (req *request.Request, output *GetAccountSettingsOutput) { op := &request.Operation{ Name: opGetAccountSettings, @@ -798,6 +813,7 @@ func (c *Lambda) GetAccountSettingsRequest(input *GetAccountSettingsInput) (req // * ErrCodeServiceException "ServiceException" // The AWS Lambda service encountered an internal error. // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetAccountSettings func (c *Lambda) GetAccountSettings(input *GetAccountSettingsInput) (*GetAccountSettingsOutput, error) { req, out := c.GetAccountSettingsRequest(input) return out, req.Send() @@ -823,19 +839,18 @@ const opGetAlias = "GetAlias" // GetAliasRequest generates a "aws/request.Request" representing the // client's request for the GetAlias operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetAlias for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetAlias method directly -// instead. +// See GetAlias for more information on using the GetAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetAliasRequest method. // req, resp := client.GetAliasRequest(params) @@ -844,6 +859,8 @@ const opGetAlias = "GetAlias" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetAlias func (c *Lambda) GetAliasRequest(input *GetAliasInput) (req *request.Request, output *AliasConfiguration) { op := &request.Operation{ Name: opGetAlias, @@ -892,6 +909,7 @@ func (c *Lambda) GetAliasRequest(input *GetAliasInput) (req *request.Request, ou // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetAlias func (c *Lambda) GetAlias(input *GetAliasInput) (*AliasConfiguration, error) { req, out := c.GetAliasRequest(input) return out, req.Send() @@ -917,19 +935,18 @@ const opGetEventSourceMapping = "GetEventSourceMapping" // GetEventSourceMappingRequest generates a "aws/request.Request" representing the // client's request for the GetEventSourceMapping operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetEventSourceMapping for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetEventSourceMapping method directly -// instead. +// See GetEventSourceMapping for more information on using the GetEventSourceMapping +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetEventSourceMappingRequest method. // req, resp := client.GetEventSourceMappingRequest(params) @@ -938,6 +955,8 @@ const opGetEventSourceMapping = "GetEventSourceMapping" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetEventSourceMapping func (c *Lambda) GetEventSourceMappingRequest(input *GetEventSourceMappingInput) (req *request.Request, output *EventSourceMappingConfiguration) { op := &request.Operation{ Name: opGetEventSourceMapping, @@ -985,6 +1004,7 @@ func (c *Lambda) GetEventSourceMappingRequest(input *GetEventSourceMappingInput) // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetEventSourceMapping func (c *Lambda) GetEventSourceMapping(input *GetEventSourceMappingInput) (*EventSourceMappingConfiguration, error) { req, out := c.GetEventSourceMappingRequest(input) return out, req.Send() @@ -1010,19 +1030,18 @@ const opGetFunction = "GetFunction" // GetFunctionRequest generates a "aws/request.Request" representing the // client's request for the GetFunction operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetFunction for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetFunction method directly -// instead. +// See GetFunction for more information on using the GetFunction +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetFunctionRequest method. // req, resp := client.GetFunctionRequest(params) @@ -1031,6 +1050,8 @@ const opGetFunction = "GetFunction" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunction func (c *Lambda) GetFunctionRequest(input *GetFunctionInput) (req *request.Request, output *GetFunctionOutput) { op := &request.Operation{ Name: opGetFunction, @@ -1087,6 +1108,7 @@ func (c *Lambda) GetFunctionRequest(input *GetFunctionInput) (req *request.Reque // will also get this exception if you have selected a deprecated runtime, such // as Node v0.10.42. // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunction func (c *Lambda) GetFunction(input *GetFunctionInput) (*GetFunctionOutput, error) { req, out := c.GetFunctionRequest(input) return out, req.Send() @@ -1112,19 +1134,18 @@ const opGetFunctionConfiguration = "GetFunctionConfiguration" // GetFunctionConfigurationRequest generates a "aws/request.Request" representing the // client's request for the GetFunctionConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetFunctionConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetFunctionConfiguration method directly -// instead. +// See GetFunctionConfiguration for more information on using the GetFunctionConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetFunctionConfigurationRequest method. // req, resp := client.GetFunctionConfigurationRequest(params) @@ -1133,6 +1154,8 @@ const opGetFunctionConfiguration = "GetFunctionConfiguration" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionConfiguration func (c *Lambda) GetFunctionConfigurationRequest(input *GetFunctionConfigurationInput) (req *request.Request, output *FunctionConfiguration) { op := &request.Operation{ Name: opGetFunctionConfiguration, @@ -1189,6 +1212,7 @@ func (c *Lambda) GetFunctionConfigurationRequest(input *GetFunctionConfiguration // will also get this exception if you have selected a deprecated runtime, such // as Node v0.10.42. // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionConfiguration func (c *Lambda) GetFunctionConfiguration(input *GetFunctionConfigurationInput) (*FunctionConfiguration, error) { req, out := c.GetFunctionConfigurationRequest(input) return out, req.Send() @@ -1214,19 +1238,18 @@ const opGetPolicy = "GetPolicy" // GetPolicyRequest generates a "aws/request.Request" representing the // client's request for the GetPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetPolicy method directly -// instead. +// See GetPolicy for more information on using the GetPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetPolicyRequest method. // req, resp := client.GetPolicyRequest(params) @@ -1235,6 +1258,8 @@ const opGetPolicy = "GetPolicy" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetPolicy func (c *Lambda) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, output *GetPolicyOutput) { op := &request.Operation{ Name: opGetPolicy, @@ -1286,6 +1311,7 @@ func (c *Lambda) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, // will also get this exception if you have selected a deprecated runtime, such // as Node v0.10.42. // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetPolicy func (c *Lambda) GetPolicy(input *GetPolicyInput) (*GetPolicyOutput, error) { req, out := c.GetPolicyRequest(input) return out, req.Send() @@ -1311,19 +1337,18 @@ const opInvoke = "Invoke" // InvokeRequest generates a "aws/request.Request" representing the // client's request for the Invoke operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See Invoke for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the Invoke method directly -// instead. +// See Invoke for more information on using the Invoke +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InvokeRequest method. // req, resp := client.InvokeRequest(params) @@ -1332,6 +1357,8 @@ const opInvoke = "Invoke" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/Invoke func (c *Lambda) InvokeRequest(input *InvokeInput) (req *request.Request, output *InvokeOutput) { op := &request.Operation{ Name: opInvoke, @@ -1445,6 +1472,7 @@ func (c *Lambda) InvokeRequest(input *InvokeInput) (req *request.Request, output // * ErrCodeInvalidRuntimeException "InvalidRuntimeException" // The runtime or runtime version specified is not supported. // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/Invoke func (c *Lambda) Invoke(input *InvokeInput) (*InvokeOutput, error) { req, out := c.InvokeRequest(input) return out, req.Send() @@ -1470,19 +1498,18 @@ const opInvokeAsync = "InvokeAsync" // InvokeAsyncRequest generates a "aws/request.Request" representing the // client's request for the InvokeAsync operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InvokeAsync for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InvokeAsync method directly -// instead. +// See InvokeAsync for more information on using the InvokeAsync +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InvokeAsyncRequest method. // req, resp := client.InvokeAsyncRequest(params) @@ -1491,6 +1518,8 @@ const opInvokeAsync = "InvokeAsync" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/InvokeAsync func (c *Lambda) InvokeAsyncRequest(input *InvokeAsyncInput) (req *request.Request, output *InvokeAsyncOutput) { if c.Client.Config.Logger != nil { c.Client.Config.Logger.Log("This operation, InvokeAsync, has been deprecated") @@ -1541,6 +1570,7 @@ func (c *Lambda) InvokeAsyncRequest(input *InvokeAsyncInput) (req *request.Reque // * ErrCodeInvalidRuntimeException "InvalidRuntimeException" // The runtime or runtime version specified is not supported. // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/InvokeAsync func (c *Lambda) InvokeAsync(input *InvokeAsyncInput) (*InvokeAsyncOutput, error) { req, out := c.InvokeAsyncRequest(input) return out, req.Send() @@ -1566,19 +1596,18 @@ const opListAliases = "ListAliases" // ListAliasesRequest generates a "aws/request.Request" representing the // client's request for the ListAliases operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAliases for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAliases method directly -// instead. +// See ListAliases for more information on using the ListAliases +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAliasesRequest method. // req, resp := client.ListAliasesRequest(params) @@ -1587,6 +1616,8 @@ const opListAliases = "ListAliases" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListAliases func (c *Lambda) ListAliasesRequest(input *ListAliasesInput) (req *request.Request, output *ListAliasesOutput) { op := &request.Operation{ Name: opListAliases, @@ -1636,6 +1667,7 @@ func (c *Lambda) ListAliasesRequest(input *ListAliasesInput) (req *request.Reque // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListAliases func (c *Lambda) ListAliases(input *ListAliasesInput) (*ListAliasesOutput, error) { req, out := c.ListAliasesRequest(input) return out, req.Send() @@ -1661,19 +1693,18 @@ const opListEventSourceMappings = "ListEventSourceMappings" // ListEventSourceMappingsRequest generates a "aws/request.Request" representing the // client's request for the ListEventSourceMappings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListEventSourceMappings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListEventSourceMappings method directly -// instead. +// See ListEventSourceMappings for more information on using the ListEventSourceMappings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListEventSourceMappingsRequest method. // req, resp := client.ListEventSourceMappingsRequest(params) @@ -1682,6 +1713,8 @@ const opListEventSourceMappings = "ListEventSourceMappings" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListEventSourceMappings func (c *Lambda) ListEventSourceMappingsRequest(input *ListEventSourceMappingsInput) (req *request.Request, output *ListEventSourceMappingsOutput) { op := &request.Operation{ Name: opListEventSourceMappings, @@ -1744,6 +1777,7 @@ func (c *Lambda) ListEventSourceMappingsRequest(input *ListEventSourceMappingsIn // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListEventSourceMappings func (c *Lambda) ListEventSourceMappings(input *ListEventSourceMappingsInput) (*ListEventSourceMappingsOutput, error) { req, out := c.ListEventSourceMappingsRequest(input) return out, req.Send() @@ -1819,19 +1853,18 @@ const opListFunctions = "ListFunctions" // ListFunctionsRequest generates a "aws/request.Request" representing the // client's request for the ListFunctions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListFunctions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListFunctions method directly -// instead. +// See ListFunctions for more information on using the ListFunctions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListFunctionsRequest method. // req, resp := client.ListFunctionsRequest(params) @@ -1840,6 +1873,8 @@ const opListFunctions = "ListFunctions" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctions func (c *Lambda) ListFunctionsRequest(input *ListFunctionsInput) (req *request.Request, output *ListFunctionsOutput) { op := &request.Operation{ Name: opListFunctions, @@ -1894,6 +1929,7 @@ func (c *Lambda) ListFunctionsRequest(input *ListFunctionsInput) (req *request.R // will also get this exception if you have selected a deprecated runtime, such // as Node v0.10.42. // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctions func (c *Lambda) ListFunctions(input *ListFunctionsInput) (*ListFunctionsOutput, error) { req, out := c.ListFunctionsRequest(input) return out, req.Send() @@ -1969,19 +2005,18 @@ const opListTags = "ListTags" // ListTagsRequest generates a "aws/request.Request" representing the // client's request for the ListTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTags method directly -// instead. +// See ListTags for more information on using the ListTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTagsRequest method. // req, resp := client.ListTagsRequest(params) @@ -1990,6 +2025,8 @@ const opListTags = "ListTags" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListTags func (c *Lambda) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) { op := &request.Operation{ Name: opListTags, @@ -2035,6 +2072,7 @@ func (c *Lambda) ListTagsRequest(input *ListTagsInput) (req *request.Request, ou // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListTags func (c *Lambda) ListTags(input *ListTagsInput) (*ListTagsOutput, error) { req, out := c.ListTagsRequest(input) return out, req.Send() @@ -2060,19 +2098,18 @@ const opListVersionsByFunction = "ListVersionsByFunction" // ListVersionsByFunctionRequest generates a "aws/request.Request" representing the // client's request for the ListVersionsByFunction operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListVersionsByFunction for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListVersionsByFunction method directly -// instead. +// See ListVersionsByFunction for more information on using the ListVersionsByFunction +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListVersionsByFunctionRequest method. // req, resp := client.ListVersionsByFunctionRequest(params) @@ -2081,6 +2118,8 @@ const opListVersionsByFunction = "ListVersionsByFunction" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListVersionsByFunction func (c *Lambda) ListVersionsByFunctionRequest(input *ListVersionsByFunctionInput) (req *request.Request, output *ListVersionsByFunctionOutput) { op := &request.Operation{ Name: opListVersionsByFunction, @@ -2126,6 +2165,7 @@ func (c *Lambda) ListVersionsByFunctionRequest(input *ListVersionsByFunctionInpu // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListVersionsByFunction func (c *Lambda) ListVersionsByFunction(input *ListVersionsByFunctionInput) (*ListVersionsByFunctionOutput, error) { req, out := c.ListVersionsByFunctionRequest(input) return out, req.Send() @@ -2151,19 +2191,18 @@ const opPublishVersion = "PublishVersion" // PublishVersionRequest generates a "aws/request.Request" representing the // client's request for the PublishVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PublishVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PublishVersion method directly -// instead. +// See PublishVersion for more information on using the PublishVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PublishVersionRequest method. // req, resp := client.PublishVersionRequest(params) @@ -2172,6 +2211,8 @@ const opPublishVersion = "PublishVersion" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PublishVersion func (c *Lambda) PublishVersionRequest(input *PublishVersionInput) (req *request.Request, output *FunctionConfiguration) { op := &request.Operation{ Name: opPublishVersion, @@ -2223,6 +2264,7 @@ func (c *Lambda) PublishVersionRequest(input *PublishVersionInput) (req *request // * ErrCodeCodeStorageExceededException "CodeStorageExceededException" // You have exceeded your maximum total code size per account. Limits (http://docs.aws.amazon.com/lambda/latest/dg/limits.html) // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PublishVersion func (c *Lambda) PublishVersion(input *PublishVersionInput) (*FunctionConfiguration, error) { req, out := c.PublishVersionRequest(input) return out, req.Send() @@ -2248,19 +2290,18 @@ const opRemovePermission = "RemovePermission" // RemovePermissionRequest generates a "aws/request.Request" representing the // client's request for the RemovePermission operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemovePermission for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemovePermission method directly -// instead. +// See RemovePermission for more information on using the RemovePermission +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemovePermissionRequest method. // req, resp := client.RemovePermissionRequest(params) @@ -2269,6 +2310,8 @@ const opRemovePermission = "RemovePermission" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/RemovePermission func (c *Lambda) RemovePermissionRequest(input *RemovePermissionInput) (req *request.Request, output *RemovePermissionOutput) { op := &request.Operation{ Name: opRemovePermission, @@ -2327,6 +2370,7 @@ func (c *Lambda) RemovePermissionRequest(input *RemovePermissionInput) (req *req // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/RemovePermission func (c *Lambda) RemovePermission(input *RemovePermissionInput) (*RemovePermissionOutput, error) { req, out := c.RemovePermissionRequest(input) return out, req.Send() @@ -2352,19 +2396,18 @@ const opTagResource = "TagResource" // TagResourceRequest generates a "aws/request.Request" representing the // client's request for the TagResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TagResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TagResource method directly -// instead. +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TagResourceRequest method. // req, resp := client.TagResourceRequest(params) @@ -2373,6 +2416,8 @@ const opTagResource = "TagResource" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/TagResource func (c *Lambda) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { op := &request.Operation{ Name: opTagResource, @@ -2421,6 +2466,7 @@ func (c *Lambda) TagResourceRequest(input *TagResourceInput) (req *request.Reque // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/TagResource func (c *Lambda) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { req, out := c.TagResourceRequest(input) return out, req.Send() @@ -2446,19 +2492,18 @@ const opUntagResource = "UntagResource" // UntagResourceRequest generates a "aws/request.Request" representing the // client's request for the UntagResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UntagResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UntagResource method directly -// instead. +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UntagResourceRequest method. // req, resp := client.UntagResourceRequest(params) @@ -2467,6 +2512,8 @@ const opUntagResource = "UntagResource" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UntagResource func (c *Lambda) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { op := &request.Operation{ Name: opUntagResource, @@ -2514,6 +2561,7 @@ func (c *Lambda) UntagResourceRequest(input *UntagResourceInput) (req *request.R // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UntagResource func (c *Lambda) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { req, out := c.UntagResourceRequest(input) return out, req.Send() @@ -2539,19 +2587,18 @@ const opUpdateAlias = "UpdateAlias" // UpdateAliasRequest generates a "aws/request.Request" representing the // client's request for the UpdateAlias operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateAlias for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateAlias method directly -// instead. +// See UpdateAlias for more information on using the UpdateAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateAliasRequest method. // req, resp := client.UpdateAliasRequest(params) @@ -2560,6 +2607,8 @@ const opUpdateAlias = "UpdateAlias" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateAlias func (c *Lambda) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Request, output *AliasConfiguration) { op := &request.Operation{ Name: opUpdateAlias, @@ -2608,6 +2657,7 @@ func (c *Lambda) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Reque // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateAlias func (c *Lambda) UpdateAlias(input *UpdateAliasInput) (*AliasConfiguration, error) { req, out := c.UpdateAliasRequest(input) return out, req.Send() @@ -2633,19 +2683,18 @@ const opUpdateEventSourceMapping = "UpdateEventSourceMapping" // UpdateEventSourceMappingRequest generates a "aws/request.Request" representing the // client's request for the UpdateEventSourceMapping operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateEventSourceMapping for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateEventSourceMapping method directly -// instead. +// See UpdateEventSourceMapping for more information on using the UpdateEventSourceMapping +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateEventSourceMappingRequest method. // req, resp := client.UpdateEventSourceMappingRequest(params) @@ -2654,6 +2703,8 @@ const opUpdateEventSourceMapping = "UpdateEventSourceMapping" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateEventSourceMapping func (c *Lambda) UpdateEventSourceMappingRequest(input *UpdateEventSourceMappingInput) (req *request.Request, output *EventSourceMappingConfiguration) { op := &request.Operation{ Name: opUpdateEventSourceMapping, @@ -2717,6 +2768,7 @@ func (c *Lambda) UpdateEventSourceMappingRequest(input *UpdateEventSourceMapping // * ErrCodeResourceConflictException "ResourceConflictException" // The resource already exists. // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateEventSourceMapping func (c *Lambda) UpdateEventSourceMapping(input *UpdateEventSourceMappingInput) (*EventSourceMappingConfiguration, error) { req, out := c.UpdateEventSourceMappingRequest(input) return out, req.Send() @@ -2742,19 +2794,18 @@ const opUpdateFunctionCode = "UpdateFunctionCode" // UpdateFunctionCodeRequest generates a "aws/request.Request" representing the // client's request for the UpdateFunctionCode operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateFunctionCode for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateFunctionCode method directly -// instead. +// See UpdateFunctionCode for more information on using the UpdateFunctionCode +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateFunctionCodeRequest method. // req, resp := client.UpdateFunctionCodeRequest(params) @@ -2763,6 +2814,8 @@ const opUpdateFunctionCode = "UpdateFunctionCode" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionCode func (c *Lambda) UpdateFunctionCodeRequest(input *UpdateFunctionCodeInput) (req *request.Request, output *FunctionConfiguration) { op := &request.Operation{ Name: opUpdateFunctionCode, @@ -2818,6 +2871,7 @@ func (c *Lambda) UpdateFunctionCodeRequest(input *UpdateFunctionCodeInput) (req // * ErrCodeCodeStorageExceededException "CodeStorageExceededException" // You have exceeded your maximum total code size per account. Limits (http://docs.aws.amazon.com/lambda/latest/dg/limits.html) // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionCode func (c *Lambda) UpdateFunctionCode(input *UpdateFunctionCodeInput) (*FunctionConfiguration, error) { req, out := c.UpdateFunctionCodeRequest(input) return out, req.Send() @@ -2843,19 +2897,18 @@ const opUpdateFunctionConfiguration = "UpdateFunctionConfiguration" // UpdateFunctionConfigurationRequest generates a "aws/request.Request" representing the // client's request for the UpdateFunctionConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateFunctionConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateFunctionConfiguration method directly -// instead. +// See UpdateFunctionConfiguration for more information on using the UpdateFunctionConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateFunctionConfigurationRequest method. // req, resp := client.UpdateFunctionConfigurationRequest(params) @@ -2864,6 +2917,8 @@ const opUpdateFunctionConfiguration = "UpdateFunctionConfiguration" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionConfiguration func (c *Lambda) UpdateFunctionConfigurationRequest(input *UpdateFunctionConfigurationInput) (req *request.Request, output *FunctionConfiguration) { op := &request.Operation{ Name: opUpdateFunctionConfiguration, @@ -2921,6 +2976,7 @@ func (c *Lambda) UpdateFunctionConfigurationRequest(input *UpdateFunctionConfigu // * ErrCodeResourceConflictException "ResourceConflictException" // The resource already exists. // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionConfiguration func (c *Lambda) UpdateFunctionConfiguration(input *UpdateFunctionConfigurationInput) (*FunctionConfiguration, error) { req, out := c.UpdateFunctionConfigurationRequest(input) return out, req.Send() @@ -2944,6 +3000,7 @@ func (c *Lambda) UpdateFunctionConfigurationWithContext(ctx aws.Context, input * // Provides limits of code size and concurrency associated with the current // account and region. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/AccountLimit type AccountLimit struct { _ struct{} `type:"structure"` @@ -3003,6 +3060,7 @@ func (s *AccountLimit) SetTotalCodeSize(v int64) *AccountLimit { // Provides code size usage and function count associated with the current account // and region. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/AccountUsage type AccountUsage struct { _ struct{} `type:"structure"` @@ -3035,6 +3093,7 @@ func (s *AccountUsage) SetTotalCodeSize(v int64) *AccountUsage { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/AddPermissionRequest type AddPermissionInput struct { _ struct{} `type:"structure"` @@ -3205,6 +3264,7 @@ func (s *AddPermissionInput) SetStatementId(v string) *AddPermissionInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/AddPermissionResponse type AddPermissionOutput struct { _ struct{} `type:"structure"` @@ -3231,6 +3291,7 @@ func (s *AddPermissionOutput) SetStatement(v string) *AddPermissionOutput { } // Provides configuration information about a Lambda function version alias. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/AliasConfiguration type AliasConfiguration struct { _ struct{} `type:"structure"` @@ -3283,6 +3344,7 @@ func (s *AliasConfiguration) SetName(v string) *AliasConfiguration { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateAliasRequest type CreateAliasInput struct { _ struct{} `type:"structure"` @@ -3369,6 +3431,7 @@ func (s *CreateAliasInput) SetName(v string) *CreateAliasInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateEventSourceMappingRequest type CreateEventSourceMappingInput struct { _ struct{} `type:"structure"` @@ -3496,6 +3559,7 @@ func (s *CreateEventSourceMappingInput) SetStartingPositionTimestamp(v time.Time return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateFunctionRequest type CreateFunctionInput struct { _ struct{} `type:"structure"` @@ -3733,6 +3797,7 @@ func (s *CreateFunctionInput) SetVpcConfig(v *VpcConfig) *CreateFunctionInput { // The parent object that contains the target ARN (Amazon Resource Name) of // an Amazon SQS queue or Amazon SNS topic. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeadLetterConfig type DeadLetterConfig struct { _ struct{} `type:"structure"` @@ -3757,6 +3822,7 @@ func (s *DeadLetterConfig) SetTargetArn(v string) *DeadLetterConfig { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteAliasRequest type DeleteAliasInput struct { _ struct{} `type:"structure"` @@ -3818,6 +3884,7 @@ func (s *DeleteAliasInput) SetName(v string) *DeleteAliasInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteAliasOutput type DeleteAliasOutput struct { _ struct{} `type:"structure"` } @@ -3832,6 +3899,7 @@ func (s DeleteAliasOutput) GoString() string { return s.String() } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteEventSourceMappingRequest type DeleteEventSourceMappingInput struct { _ struct{} `type:"structure"` @@ -3870,6 +3938,7 @@ func (s *DeleteEventSourceMappingInput) SetUUID(v string) *DeleteEventSourceMapp return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunctionRequest type DeleteFunctionInput struct { _ struct{} `type:"structure"` @@ -3944,6 +4013,7 @@ func (s *DeleteFunctionInput) SetQualifier(v string) *DeleteFunctionInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunctionOutput type DeleteFunctionOutput struct { _ struct{} `type:"structure"` } @@ -3959,6 +4029,7 @@ func (s DeleteFunctionOutput) GoString() string { } // The parent object that contains your environment's configuration settings. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/Environment type Environment struct { _ struct{} `type:"structure"` @@ -3984,6 +4055,7 @@ func (s *Environment) SetVariables(v map[string]*string) *Environment { // The parent object that contains error information associated with your configuration // settings. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/EnvironmentError type EnvironmentError struct { _ struct{} `type:"structure"` @@ -4018,6 +4090,7 @@ func (s *EnvironmentError) SetMessage(v string) *EnvironmentError { // The parent object returned that contains your environment's configuration // settings or any error information associated with your configuration settings. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/EnvironmentResponse type EnvironmentResponse struct { _ struct{} `type:"structure"` @@ -4053,6 +4126,7 @@ func (s *EnvironmentResponse) SetVariables(v map[string]*string) *EnvironmentRes } // Describes mapping between an Amazon Kinesis stream and a Lambda function. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/EventSourceMappingConfiguration type EventSourceMappingConfiguration struct { _ struct{} `type:"structure"` @@ -4145,6 +4219,7 @@ func (s *EventSourceMappingConfiguration) SetUUID(v string) *EventSourceMappingC } // The code for the Lambda function. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/FunctionCode type FunctionCode struct { _ struct{} `type:"structure"` @@ -4224,6 +4299,7 @@ func (s *FunctionCode) SetZipFile(v []byte) *FunctionCode { } // The object for the Lambda function location. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/FunctionCodeLocation type FunctionCodeLocation struct { _ struct{} `type:"structure"` @@ -4258,6 +4334,7 @@ func (s *FunctionCodeLocation) SetRepositoryType(v string) *FunctionCodeLocation } // A complex type that describes function metadata. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/FunctionConfiguration type FunctionConfiguration struct { _ struct{} `type:"structure"` @@ -4446,6 +4523,7 @@ func (s *FunctionConfiguration) SetVpcConfig(v *VpcConfigResponse) *FunctionConf return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetAccountSettingsRequest type GetAccountSettingsInput struct { _ struct{} `type:"structure"` } @@ -4460,6 +4538,7 @@ func (s GetAccountSettingsInput) GoString() string { return s.String() } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetAccountSettingsResponse type GetAccountSettingsOutput struct { _ struct{} `type:"structure"` @@ -4494,6 +4573,7 @@ func (s *GetAccountSettingsOutput) SetAccountUsage(v *AccountUsage) *GetAccountS return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetAliasRequest type GetAliasInput struct { _ struct{} `type:"structure"` @@ -4556,6 +4636,7 @@ func (s *GetAliasInput) SetName(v string) *GetAliasInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetEventSourceMappingRequest type GetEventSourceMappingInput struct { _ struct{} `type:"structure"` @@ -4594,6 +4675,7 @@ func (s *GetEventSourceMappingInput) SetUUID(v string) *GetEventSourceMappingInp return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionConfigurationRequest type GetFunctionConfigurationInput struct { _ struct{} `type:"structure"` @@ -4661,6 +4743,7 @@ func (s *GetFunctionConfigurationInput) SetQualifier(v string) *GetFunctionConfi return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionRequest type GetFunctionInput struct { _ struct{} `type:"structure"` @@ -4727,6 +4810,7 @@ func (s *GetFunctionInput) SetQualifier(v string) *GetFunctionInput { } // This response contains the object for the Lambda function location (see FunctionCodeLocation. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionResponse type GetFunctionOutput struct { _ struct{} `type:"structure"` @@ -4768,6 +4852,7 @@ func (s *GetFunctionOutput) SetTags(v map[string]*string) *GetFunctionOutput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetPolicyRequest type GetPolicyInput struct { _ struct{} `type:"structure"` @@ -4833,6 +4918,7 @@ func (s *GetPolicyInput) SetQualifier(v string) *GetPolicyInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetPolicyResponse type GetPolicyOutput struct { _ struct{} `type:"structure"` @@ -4858,6 +4944,7 @@ func (s *GetPolicyOutput) SetPolicy(v string) *GetPolicyOutput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/InvokeAsyncRequest type InvokeAsyncInput struct { _ struct{} `deprecated:"true" type:"structure" payload:"InvokeArgs"` @@ -4916,6 +5003,7 @@ func (s *InvokeAsyncInput) SetInvokeArgs(v io.ReadSeeker) *InvokeAsyncInput { } // Upon success, it returns empty response. Otherwise, throws an exception. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/InvokeAsyncResponse type InvokeAsyncOutput struct { _ struct{} `deprecated:"true" type:"structure"` @@ -4939,6 +5027,7 @@ func (s *InvokeAsyncOutput) SetStatus(v int64) *InvokeAsyncOutput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/InvocationRequest type InvokeInput struct { _ struct{} `type:"structure" payload:"Payload"` @@ -5057,6 +5146,7 @@ func (s *InvokeInput) SetQualifier(v string) *InvokeInput { } // Upon success, returns an empty response. Otherwise, throws an exception. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/InvocationResponse type InvokeOutput struct { _ struct{} `type:"structure" payload:"Payload"` @@ -5122,6 +5212,7 @@ func (s *InvokeOutput) SetStatusCode(v int64) *InvokeOutput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListAliasesRequest type ListAliasesInput struct { _ struct{} `type:"structure"` @@ -5202,6 +5293,7 @@ func (s *ListAliasesInput) SetMaxItems(v int64) *ListAliasesInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListAliasesResponse type ListAliasesOutput struct { _ struct{} `type:"structure"` @@ -5234,6 +5326,7 @@ func (s *ListAliasesOutput) SetNextMarker(v string) *ListAliasesOutput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListEventSourceMappingsRequest type ListEventSourceMappingsInput struct { _ struct{} `type:"structure"` @@ -5314,6 +5407,7 @@ func (s *ListEventSourceMappingsInput) SetMaxItems(v int64) *ListEventSourceMapp } // Contains a list of event sources (see EventSourceMappingConfiguration) +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListEventSourceMappingsResponse type ListEventSourceMappingsOutput struct { _ struct{} `type:"structure"` @@ -5346,6 +5440,7 @@ func (s *ListEventSourceMappingsOutput) SetNextMarker(v string) *ListEventSource return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctionsRequest type ListFunctionsInput struct { _ struct{} `type:"structure"` @@ -5427,6 +5522,7 @@ func (s *ListFunctionsInput) SetMaxItems(v int64) *ListFunctionsInput { } // Contains a list of AWS Lambda function configurations (see FunctionConfiguration. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctionsResponse type ListFunctionsOutput struct { _ struct{} `type:"structure"` @@ -5459,6 +5555,7 @@ func (s *ListFunctionsOutput) SetNextMarker(v string) *ListFunctionsOutput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListTagsRequest type ListTagsInput struct { _ struct{} `type:"structure"` @@ -5497,6 +5594,7 @@ func (s *ListTagsInput) SetResource(v string) *ListTagsInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListTagsResponse type ListTagsOutput struct { _ struct{} `type:"structure"` @@ -5520,6 +5618,7 @@ func (s *ListTagsOutput) SetTags(v map[string]*string) *ListTagsOutput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListVersionsByFunctionRequest type ListVersionsByFunctionInput struct { _ struct{} `type:"structure"` @@ -5589,6 +5688,7 @@ func (s *ListVersionsByFunctionInput) SetMaxItems(v int64) *ListVersionsByFuncti return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListVersionsByFunctionResponse type ListVersionsByFunctionOutput struct { _ struct{} `type:"structure"` @@ -5621,6 +5721,7 @@ func (s *ListVersionsByFunctionOutput) SetVersions(v []*FunctionConfiguration) * return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PublishVersionRequest type PublishVersionInput struct { _ struct{} `type:"structure"` @@ -5689,6 +5790,7 @@ func (s *PublishVersionInput) SetFunctionName(v string) *PublishVersionInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/RemovePermissionRequest type RemovePermissionInput struct { _ struct{} `type:"structure"` @@ -5768,6 +5870,7 @@ func (s *RemovePermissionInput) SetStatementId(v string) *RemovePermissionInput return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/RemovePermissionOutput type RemovePermissionOutput struct { _ struct{} `type:"structure"` } @@ -5782,6 +5885,7 @@ func (s RemovePermissionOutput) GoString() string { return s.String() } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/TagResourceRequest type TagResourceInput struct { _ struct{} `type:"structure"` @@ -5834,6 +5938,7 @@ func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/TagResourceOutput type TagResourceOutput struct { _ struct{} `type:"structure"` } @@ -5849,6 +5954,7 @@ func (s TagResourceOutput) GoString() string { } // The parent object that contains your function's tracing settings. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/TracingConfig type TracingConfig struct { _ struct{} `type:"structure"` @@ -5877,6 +5983,7 @@ func (s *TracingConfig) SetMode(v string) *TracingConfig { } // Parent object of the tracing information associated with your Lambda function. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/TracingConfigResponse type TracingConfigResponse struct { _ struct{} `type:"structure"` @@ -5900,6 +6007,7 @@ func (s *TracingConfigResponse) SetMode(v string) *TracingConfigResponse { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UntagResourceRequest type UntagResourceInput struct { _ struct{} `type:"structure"` @@ -5952,6 +6060,7 @@ func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UntagResourceOutput type UntagResourceOutput struct { _ struct{} `type:"structure"` } @@ -5966,6 +6075,7 @@ func (s UntagResourceOutput) GoString() string { return s.String() } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateAliasRequest type UpdateAliasInput struct { _ struct{} `type:"structure"` @@ -6048,6 +6158,7 @@ func (s *UpdateAliasInput) SetName(v string) *UpdateAliasInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateEventSourceMappingRequest type UpdateEventSourceMappingInput struct { _ struct{} `type:"structure"` @@ -6135,6 +6246,7 @@ func (s *UpdateEventSourceMappingInput) SetUUID(v string) *UpdateEventSourceMapp return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionCodeRequest type UpdateFunctionCodeInput struct { _ struct{} `type:"structure"` @@ -6260,6 +6372,7 @@ func (s *UpdateFunctionCodeInput) SetZipFile(v []byte) *UpdateFunctionCodeInput return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionConfigurationRequest type UpdateFunctionConfigurationInput struct { _ struct{} `type:"structure"` @@ -6446,6 +6559,7 @@ func (s *UpdateFunctionConfigurationInput) SetVpcConfig(v *VpcConfig) *UpdateFun // identifying the list of security group IDs and subnet IDs. These must belong // to the same VPC. You must provide at least one security group and one subnet // ID. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/VpcConfig type VpcConfig struct { _ struct{} `type:"structure"` @@ -6479,6 +6593,7 @@ func (s *VpcConfig) SetSubnetIds(v []*string) *VpcConfig { } // VPC configuration associated with your Lambda function. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/VpcConfigResponse type VpcConfigResponse struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/lambda/doc.go b/vendor/github.com/aws/aws-sdk-go/service/lambda/doc.go index b51b2a41a..5da2c8099 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lambda/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lambda/doc.go @@ -11,74 +11,24 @@ // about how the service works, see AWS Lambda: How it Works (http://docs.aws.amazon.com/lambda/latest/dg/lambda-introduction.html) // in the AWS Lambda Developer Guide. // +// See https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31 for more information on this service. +// // See lambda package documentation for more information. // https://docs.aws.amazon.com/sdk-for-go/api/service/lambda/ // // Using the Client // -// To use the client for AWS Lambda you will first need -// to create a new instance of it. +// To AWS Lambda with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := lambda.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Lambda client Lambda for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/lambda/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AddPermission(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AddPermission result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AddPermissionWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package lambda diff --git a/vendor/github.com/aws/aws-sdk-go/service/lambda/lambdaiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/lambda/lambdaiface/interface.go index aab3d738e..69b111887 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lambda/lambdaiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lambda/lambdaiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Lambda. diff --git a/vendor/github.com/aws/aws-sdk-go/service/lexmodelbuildingservice/api.go b/vendor/github.com/aws/aws-sdk-go/service/lexmodelbuildingservice/api.go index 64d0f7083..b4d8fdfb6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lexmodelbuildingservice/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lexmodelbuildingservice/api.go @@ -17,19 +17,18 @@ const opCreateBotVersion = "CreateBotVersion" // CreateBotVersionRequest generates a "aws/request.Request" representing the // client's request for the CreateBotVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateBotVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateBotVersion method directly -// instead. +// See CreateBotVersion for more information on using the CreateBotVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateBotVersionRequest method. // req, resp := client.CreateBotVersionRequest(params) @@ -125,19 +124,18 @@ const opCreateIntentVersion = "CreateIntentVersion" // CreateIntentVersionRequest generates a "aws/request.Request" representing the // client's request for the CreateIntentVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateIntentVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateIntentVersion method directly -// instead. +// See CreateIntentVersion for more information on using the CreateIntentVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateIntentVersionRequest method. // req, resp := client.CreateIntentVersionRequest(params) @@ -235,19 +233,18 @@ const opCreateSlotTypeVersion = "CreateSlotTypeVersion" // CreateSlotTypeVersionRequest generates a "aws/request.Request" representing the // client's request for the CreateSlotTypeVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateSlotTypeVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateSlotTypeVersion method directly -// instead. +// See CreateSlotTypeVersion for more information on using the CreateSlotTypeVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateSlotTypeVersionRequest method. // req, resp := client.CreateSlotTypeVersionRequest(params) @@ -344,19 +341,18 @@ const opDeleteBot = "DeleteBot" // DeleteBotRequest generates a "aws/request.Request" representing the // client's request for the DeleteBot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteBot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteBot method directly -// instead. +// See DeleteBot for more information on using the DeleteBot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteBotRequest method. // req, resp := client.DeleteBotRequest(params) @@ -462,19 +458,18 @@ const opDeleteBotAlias = "DeleteBotAlias" // DeleteBotAliasRequest generates a "aws/request.Request" representing the // client's request for the DeleteBotAlias operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteBotAlias for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteBotAlias method directly -// instead. +// See DeleteBotAlias for more information on using the DeleteBotAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteBotAliasRequest method. // req, resp := client.DeleteBotAliasRequest(params) @@ -579,19 +574,18 @@ const opDeleteBotChannelAssociation = "DeleteBotChannelAssociation" // DeleteBotChannelAssociationRequest generates a "aws/request.Request" representing the // client's request for the DeleteBotChannelAssociation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteBotChannelAssociation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteBotChannelAssociation method directly -// instead. +// See DeleteBotChannelAssociation for more information on using the DeleteBotChannelAssociation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteBotChannelAssociationRequest method. // req, resp := client.DeleteBotChannelAssociationRequest(params) @@ -678,19 +672,18 @@ const opDeleteBotVersion = "DeleteBotVersion" // DeleteBotVersionRequest generates a "aws/request.Request" representing the // client's request for the DeleteBotVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteBotVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteBotVersion method directly -// instead. +// See DeleteBotVersion for more information on using the DeleteBotVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteBotVersionRequest method. // req, resp := client.DeleteBotVersionRequest(params) @@ -790,19 +783,18 @@ const opDeleteIntent = "DeleteIntent" // DeleteIntentRequest generates a "aws/request.Request" representing the // client's request for the DeleteIntent operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteIntent for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteIntent method directly -// instead. +// See DeleteIntent for more information on using the DeleteIntent +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteIntentRequest method. // req, resp := client.DeleteIntentRequest(params) @@ -912,19 +904,18 @@ const opDeleteIntentVersion = "DeleteIntentVersion" // DeleteIntentVersionRequest generates a "aws/request.Request" representing the // client's request for the DeleteIntentVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteIntentVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteIntentVersion method directly -// instead. +// See DeleteIntentVersion for more information on using the DeleteIntentVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteIntentVersionRequest method. // req, resp := client.DeleteIntentVersionRequest(params) @@ -1024,19 +1015,18 @@ const opDeleteSlotType = "DeleteSlotType" // DeleteSlotTypeRequest generates a "aws/request.Request" representing the // client's request for the DeleteSlotType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSlotType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSlotType method directly -// instead. +// See DeleteSlotType for more information on using the DeleteSlotType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSlotTypeRequest method. // req, resp := client.DeleteSlotTypeRequest(params) @@ -1148,19 +1138,18 @@ const opDeleteSlotTypeVersion = "DeleteSlotTypeVersion" // DeleteSlotTypeVersionRequest generates a "aws/request.Request" representing the // client's request for the DeleteSlotTypeVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSlotTypeVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSlotTypeVersion method directly -// instead. +// See DeleteSlotTypeVersion for more information on using the DeleteSlotTypeVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSlotTypeVersionRequest method. // req, resp := client.DeleteSlotTypeVersionRequest(params) @@ -1260,19 +1249,18 @@ const opDeleteUtterances = "DeleteUtterances" // DeleteUtterancesRequest generates a "aws/request.Request" representing the // client's request for the DeleteUtterances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteUtterances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteUtterances method directly -// instead. +// See DeleteUtterances for more information on using the DeleteUtterances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteUtterancesRequest method. // req, resp := client.DeleteUtterancesRequest(params) @@ -1363,19 +1351,18 @@ const opGetBot = "GetBot" // GetBotRequest generates a "aws/request.Request" representing the // client's request for the GetBot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBot method directly -// instead. +// See GetBot for more information on using the GetBot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBotRequest method. // req, resp := client.GetBotRequest(params) @@ -1407,7 +1394,7 @@ func (c *LexModelBuildingService) GetBotRequest(input *GetBotInput) (req *reques // Returns metadata information for a specific bot. You must provide the bot // name and the bot version or alias. // -// The GetBot operation requires permissions for the lex:GetBot action. +// This operation requires permissions for the lex:GetBot action. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1457,19 +1444,18 @@ const opGetBotAlias = "GetBotAlias" // GetBotAliasRequest generates a "aws/request.Request" representing the // client's request for the GetBotAlias operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBotAlias for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBotAlias method directly -// instead. +// See GetBotAlias for more information on using the GetBotAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBotAliasRequest method. // req, resp := client.GetBotAliasRequest(params) @@ -1551,19 +1537,18 @@ const opGetBotAliases = "GetBotAliases" // GetBotAliasesRequest generates a "aws/request.Request" representing the // client's request for the GetBotAliases operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBotAliases for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBotAliases method directly -// instead. +// See GetBotAliases for more information on using the GetBotAliases +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBotAliasesRequest method. // req, resp := client.GetBotAliasesRequest(params) @@ -1696,19 +1681,18 @@ const opGetBotChannelAssociation = "GetBotChannelAssociation" // GetBotChannelAssociationRequest generates a "aws/request.Request" representing the // client's request for the GetBotChannelAssociation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBotChannelAssociation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBotChannelAssociation method directly -// instead. +// See GetBotChannelAssociation for more information on using the GetBotChannelAssociation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBotChannelAssociationRequest method. // req, resp := client.GetBotChannelAssociationRequest(params) @@ -1791,19 +1775,18 @@ const opGetBotChannelAssociations = "GetBotChannelAssociations" // GetBotChannelAssociationsRequest generates a "aws/request.Request" representing the // client's request for the GetBotChannelAssociations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBotChannelAssociations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBotChannelAssociations method directly -// instead. +// See GetBotChannelAssociations for more information on using the GetBotChannelAssociations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBotChannelAssociationsRequest method. // req, resp := client.GetBotChannelAssociationsRequest(params) @@ -1937,19 +1920,18 @@ const opGetBotVersions = "GetBotVersions" // GetBotVersionsRequest generates a "aws/request.Request" representing the // client's request for the GetBotVersions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBotVersions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBotVersions method directly -// instead. +// See GetBotVersions for more information on using the GetBotVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBotVersionsRequest method. // req, resp := client.GetBotVersionsRequest(params) @@ -2094,19 +2076,18 @@ const opGetBots = "GetBots" // GetBotsRequest generates a "aws/request.Request" representing the // client's request for the GetBots operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBots for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBots method directly -// instead. +// See GetBots for more information on using the GetBots +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBotsRequest method. // req, resp := client.GetBotsRequest(params) @@ -2250,19 +2231,18 @@ const opGetBuiltinIntent = "GetBuiltinIntent" // GetBuiltinIntentRequest generates a "aws/request.Request" representing the // client's request for the GetBuiltinIntent operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBuiltinIntent for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBuiltinIntent method directly -// instead. +// See GetBuiltinIntent for more information on using the GetBuiltinIntent +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBuiltinIntentRequest method. // req, resp := client.GetBuiltinIntentRequest(params) @@ -2343,19 +2323,18 @@ const opGetBuiltinIntents = "GetBuiltinIntents" // GetBuiltinIntentsRequest generates a "aws/request.Request" representing the // client's request for the GetBuiltinIntents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBuiltinIntents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBuiltinIntents method directly -// instead. +// See GetBuiltinIntents for more information on using the GetBuiltinIntents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBuiltinIntentsRequest method. // req, resp := client.GetBuiltinIntentsRequest(params) @@ -2488,19 +2467,18 @@ const opGetBuiltinSlotTypes = "GetBuiltinSlotTypes" // GetBuiltinSlotTypesRequest generates a "aws/request.Request" representing the // client's request for the GetBuiltinSlotTypes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBuiltinSlotTypes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBuiltinSlotTypes method directly -// instead. +// See GetBuiltinSlotTypes for more information on using the GetBuiltinSlotTypes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBuiltinSlotTypesRequest method. // req, resp := client.GetBuiltinSlotTypesRequest(params) @@ -2632,23 +2610,112 @@ func (c *LexModelBuildingService) GetBuiltinSlotTypesPagesWithContext(ctx aws.Co return p.Err() } +const opGetExport = "GetExport" + +// GetExportRequest generates a "aws/request.Request" representing the +// client's request for the GetExport operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetExport for more information on using the GetExport +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetExportRequest method. +// req, resp := client.GetExportRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetExport +func (c *LexModelBuildingService) GetExportRequest(input *GetExportInput) (req *request.Request, output *GetExportOutput) { + op := &request.Operation{ + Name: opGetExport, + HTTPMethod: "GET", + HTTPPath: "/exports/", + } + + if input == nil { + input = &GetExportInput{} + } + + output = &GetExportOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetExport API operation for Amazon Lex Model Building Service. +// +// Exports the contents of a Amazon Lex resource in a specified format. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Lex Model Building Service's +// API operation GetExport for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. Check the resource and +// try again. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The request exceeded a limit. Try your request again. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal Amazon Lex error occurred. Try your request again. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not well formed. For example, a value is invalid or a required +// field is missing. Check the field values, and try again. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetExport +func (c *LexModelBuildingService) GetExport(input *GetExportInput) (*GetExportOutput, error) { + req, out := c.GetExportRequest(input) + return out, req.Send() +} + +// GetExportWithContext is the same as GetExport with the addition of +// the ability to pass a context and additional request options. +// +// See GetExport for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *LexModelBuildingService) GetExportWithContext(ctx aws.Context, input *GetExportInput, opts ...request.Option) (*GetExportOutput, error) { + req, out := c.GetExportRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetIntent = "GetIntent" // GetIntentRequest generates a "aws/request.Request" representing the // client's request for the GetIntent operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetIntent for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetIntent method directly -// instead. +// See GetIntent for more information on using the GetIntent +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetIntentRequest method. // req, resp := client.GetIntentRequest(params) @@ -2730,19 +2797,18 @@ const opGetIntentVersions = "GetIntentVersions" // GetIntentVersionsRequest generates a "aws/request.Request" representing the // client's request for the GetIntentVersions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetIntentVersions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetIntentVersions method directly -// instead. +// See GetIntentVersions for more information on using the GetIntentVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetIntentVersionsRequest method. // req, resp := client.GetIntentVersionsRequest(params) @@ -2887,19 +2953,18 @@ const opGetIntents = "GetIntents" // GetIntentsRequest generates a "aws/request.Request" representing the // client's request for the GetIntents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetIntents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetIntents method directly -// instead. +// See GetIntents for more information on using the GetIntents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetIntentsRequest method. // req, resp := client.GetIntentsRequest(params) @@ -3042,19 +3107,18 @@ const opGetSlotType = "GetSlotType" // GetSlotTypeRequest generates a "aws/request.Request" representing the // client's request for the GetSlotType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSlotType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSlotType method directly -// instead. +// See GetSlotType for more information on using the GetSlotType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSlotTypeRequest method. // req, resp := client.GetSlotTypeRequest(params) @@ -3136,19 +3200,18 @@ const opGetSlotTypeVersions = "GetSlotTypeVersions" // GetSlotTypeVersionsRequest generates a "aws/request.Request" representing the // client's request for the GetSlotTypeVersions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSlotTypeVersions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSlotTypeVersions method directly -// instead. +// See GetSlotTypeVersions for more information on using the GetSlotTypeVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSlotTypeVersionsRequest method. // req, resp := client.GetSlotTypeVersionsRequest(params) @@ -3293,19 +3356,18 @@ const opGetSlotTypes = "GetSlotTypes" // GetSlotTypesRequest generates a "aws/request.Request" representing the // client's request for the GetSlotTypes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSlotTypes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSlotTypes method directly -// instead. +// See GetSlotTypes for more information on using the GetSlotTypes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSlotTypesRequest method. // req, resp := client.GetSlotTypesRequest(params) @@ -3448,19 +3510,18 @@ const opGetUtterancesView = "GetUtterancesView" // GetUtterancesViewRequest generates a "aws/request.Request" representing the // client's request for the GetUtterancesView operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetUtterancesView for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetUtterancesView method directly -// instead. +// See GetUtterancesView for more information on using the GetUtterancesView +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetUtterancesViewRequest method. // req, resp := client.GetUtterancesViewRequest(params) @@ -3558,19 +3619,18 @@ const opPutBot = "PutBot" // PutBotRequest generates a "aws/request.Request" representing the // client's request for the PutBot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutBot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutBot method directly -// instead. +// See PutBot for more information on using the PutBot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutBotRequest method. // req, resp := client.PutBotRequest(params) @@ -3664,19 +3724,18 @@ const opPutBotAlias = "PutBotAlias" // PutBotAliasRequest generates a "aws/request.Request" representing the // client's request for the PutBotAlias operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutBotAlias for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutBotAlias method directly -// instead. +// See PutBotAlias for more information on using the PutBotAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutBotAliasRequest method. // req, resp := client.PutBotAliasRequest(params) @@ -3762,19 +3821,18 @@ const opPutIntent = "PutIntent" // PutIntentRequest generates a "aws/request.Request" representing the // client's request for the PutIntent operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutIntent for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutIntent method directly -// instead. +// See PutIntent for more information on using the PutIntent +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutIntentRequest method. // req, resp := client.PutIntentRequest(params) @@ -3899,19 +3957,18 @@ const opPutSlotType = "PutSlotType" // PutSlotTypeRequest generates a "aws/request.Request" representing the // client's request for the PutSlotType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutSlotType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutSlotType method directly -// instead. +// See PutSlotType for more information on using the PutSlotType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutSlotTypeRequest method. // req, resp := client.PutSlotTypeRequest(params) @@ -4507,7 +4564,7 @@ type CreateBotVersionOutput struct { IdleSessionTTLInSeconds *int64 `locationName:"idleSessionTTLInSeconds" min:"60" type:"integer"` // An array of Intent objects. For more information, see PutBot. - Intents []*Intent `locationName:"intents" min:"1" type:"list"` + Intents []*Intent `locationName:"intents" type:"list"` // The date when the $LATEST version of this bot was updated. LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp" timestampFormat:"unix"` @@ -4923,6 +4980,10 @@ type CreateSlotTypeVersionOutput struct { // The name of the slot type. Name *string `locationName:"name" min:"1" type:"string"` + // The strategy that Amazon Lex uses to determine the value of the slot. For + // more information, see PutSlotType. + ValueSelectionStrategy *string `locationName:"valueSelectionStrategy" type:"string" enum:"SlotValueSelectionStrategy"` + // The version assigned to the new slot type version. Version *string `locationName:"version" min:"1" type:"string"` } @@ -4973,6 +5034,12 @@ func (s *CreateSlotTypeVersionOutput) SetName(v string) *CreateSlotTypeVersionOu return s } +// SetValueSelectionStrategy sets the ValueSelectionStrategy field's value. +func (s *CreateSlotTypeVersionOutput) SetValueSelectionStrategy(v string) *CreateSlotTypeVersionOutput { + s.ValueSelectionStrategy = &v + return s +} + // SetVersion sets the Version field's value. func (s *CreateSlotTypeVersionOutput) SetVersion(v string) *CreateSlotTypeVersionOutput { s.Version = &v @@ -5634,6 +5701,9 @@ func (s DeleteUtterancesOutput) GoString() string { type EnumerationValue struct { _ struct{} `type:"structure"` + // Additional values related to the slot type value. + Synonyms []*string `locationName:"synonyms" type:"list"` + // The value of the slot type. // // Value is a required field @@ -5666,6 +5736,12 @@ func (s *EnumerationValue) Validate() error { return nil } +// SetSynonyms sets the Synonyms field's value. +func (s *EnumerationValue) SetSynonyms(v []*string) *EnumerationValue { + s.Synonyms = v + return s +} + // SetValue sets the Value field's value. func (s *EnumerationValue) SetValue(v string) *EnumerationValue { s.Value = &v @@ -6472,7 +6548,7 @@ type GetBotOutput struct { IdleSessionTTLInSeconds *int64 `locationName:"idleSessionTTLInSeconds" min:"60" type:"integer"` // An array of intent objects. For more information, see PutBot. - Intents []*Intent `locationName:"intents" min:"1" type:"list"` + Intents []*Intent `locationName:"intents" type:"list"` // The date that the bot was updated. When you create a resource, the creation // date and last updated date are the same. @@ -7095,6 +7171,181 @@ func (s *GetBuiltinSlotTypesOutput) SetSlotTypes(v []*BuiltinSlotTypeMetadata) * return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetExportRequest +type GetExportInput struct { + _ struct{} `type:"structure"` + + // The format of the exported data. + // + // ExportType is a required field + ExportType *string `location:"querystring" locationName:"exportType" type:"string" required:"true" enum:"ExportType"` + + // The name of the bot to export. + // + // Name is a required field + Name *string `location:"querystring" locationName:"name" min:"1" type:"string" required:"true"` + + // The type of resource to export. + // + // ResourceType is a required field + ResourceType *string `location:"querystring" locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"` + + // The version of the bot to export. + // + // Version is a required field + Version *string `location:"querystring" locationName:"version" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetExportInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetExportInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetExportInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetExportInput"} + if s.ExportType == nil { + invalidParams.Add(request.NewErrParamRequired("ExportType")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.ResourceType == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceType")) + } + if s.Version == nil { + invalidParams.Add(request.NewErrParamRequired("Version")) + } + if s.Version != nil && len(*s.Version) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Version", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetExportType sets the ExportType field's value. +func (s *GetExportInput) SetExportType(v string) *GetExportInput { + s.ExportType = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetExportInput) SetName(v string) *GetExportInput { + s.Name = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *GetExportInput) SetResourceType(v string) *GetExportInput { + s.ResourceType = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *GetExportInput) SetVersion(v string) *GetExportInput { + s.Version = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetExportResponse +type GetExportOutput struct { + _ struct{} `type:"structure"` + + // The status of the export. + // + // * IN_PROGRESS - The export is in progress. + // + // * READY - The export is complete. + // + // * FAILED - The export could not be completed. + ExportStatus *string `locationName:"exportStatus" type:"string" enum:"ExportStatus"` + + // The format of the exported data. + ExportType *string `locationName:"exportType" type:"string" enum:"ExportType"` + + // If status is FAILED, Amazon Lex provides the reason that it failed to export + // the resource. + FailureReason *string `locationName:"failureReason" type:"string"` + + // The name of the bot being exported. + Name *string `locationName:"name" min:"1" type:"string"` + + // The type of the exported resource. + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` + + // An S3 pre-signed URL that provides the location of the exported resource. + // The exported resource is a ZIP archive that contains the exported resource + // in JSON format. The structure of the archive may change. Your code should + // not rely on the archive structure. + Url *string `locationName:"url" type:"string"` + + // The version of the bot being exported. + Version *string `locationName:"version" min:"1" type:"string"` +} + +// String returns the string representation +func (s GetExportOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetExportOutput) GoString() string { + return s.String() +} + +// SetExportStatus sets the ExportStatus field's value. +func (s *GetExportOutput) SetExportStatus(v string) *GetExportOutput { + s.ExportStatus = &v + return s +} + +// SetExportType sets the ExportType field's value. +func (s *GetExportOutput) SetExportType(v string) *GetExportOutput { + s.ExportType = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *GetExportOutput) SetFailureReason(v string) *GetExportOutput { + s.FailureReason = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetExportOutput) SetName(v string) *GetExportOutput { + s.Name = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *GetExportOutput) SetResourceType(v string) *GetExportOutput { + s.ResourceType = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *GetExportOutput) SetUrl(v string) *GetExportOutput { + s.Url = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *GetExportOutput) SetVersion(v string) *GetExportOutput { + s.Version = &v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetIntentRequest type GetIntentInput struct { _ struct{} `type:"structure"` @@ -7594,6 +7845,10 @@ type GetSlotTypeOutput struct { // The name of the slot type. Name *string `locationName:"name" min:"1" type:"string"` + // The strategy that Amazon Lex uses to determine the value of the slot. For + // more information, see PutSlotType. + ValueSelectionStrategy *string `locationName:"valueSelectionStrategy" type:"string" enum:"SlotValueSelectionStrategy"` + // The version of the slot type. Version *string `locationName:"version" min:"1" type:"string"` } @@ -7644,6 +7899,12 @@ func (s *GetSlotTypeOutput) SetName(v string) *GetSlotTypeOutput { return s } +// SetValueSelectionStrategy sets the ValueSelectionStrategy field's value. +func (s *GetSlotTypeOutput) SetValueSelectionStrategy(v string) *GetSlotTypeOutput { + s.ValueSelectionStrategy = &v + return s +} + // SetVersion sets the Version field's value. func (s *GetSlotTypeOutput) SetVersion(v string) *GetSlotTypeOutput { s.Version = &v @@ -8506,7 +8767,7 @@ type PutBotInput struct { // An array of Intent objects. Each intent represents a command that a user // can express. For example, a pizza ordering bot might support an OrderPizza // intent. For more information, see how-it-works. - Intents []*Intent `locationName:"intents" min:"1" type:"list"` + Intents []*Intent `locationName:"intents" type:"list"` // Specifies the target locale for the bot. Any intent used in the bot must // be compatible with the locale of the bot. @@ -8554,9 +8815,6 @@ func (s *PutBotInput) Validate() error { if s.IdleSessionTTLInSeconds != nil && *s.IdleSessionTTLInSeconds < 60 { invalidParams.Add(request.NewErrParamMinValue("IdleSessionTTLInSeconds", 60)) } - if s.Intents != nil && len(s.Intents) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Intents", 1)) - } if s.Locale == nil { invalidParams.Add(request.NewErrParamRequired("Locale")) } @@ -8714,7 +8972,7 @@ type PutBotOutput struct { IdleSessionTTLInSeconds *int64 `locationName:"idleSessionTTLInSeconds" min:"60" type:"integer"` // An array of Intent objects. For more information, see PutBot. - Intents []*Intent `locationName:"intents" min:"1" type:"list"` + Intents []*Intent `locationName:"intents" type:"list"` // The date that the bot was updated. When you create a resource, the creation // date and last updated date are the same. @@ -8918,9 +9176,9 @@ type PutIntentInput struct { // You can specify only one. FollowUpPrompt *FollowUpPrompt `locationName:"followUpPrompt" type:"structure"` - // Describes how the intent is fulfilled. For example, after a user provides - // all of the information for a pizza order, fulfillmentActivity defines how - // the bot places an order with a local pizza store. + // Required. Describes how the intent is fulfilled. For example, after a user + // provides all of the information for a pizza order, fulfillmentActivity defines + // how the bot places an order with a local pizza store. // // You might configure Amazon Lex to return all of the intent information to // the client application, or direct it to invoke a Lambda function that can @@ -8960,7 +9218,7 @@ type PutIntentInput struct { // An array of intent slots. At runtime, Amazon Lex elicits required slot values // from the user using prompts defined in the slots. For more information, see - // . + // how-it-works. Slots []*Slot `locationName:"slots" type:"list"` } @@ -9279,7 +9537,16 @@ type PutSlotTypeInput struct { Description *string `locationName:"description" type:"string"` // A list of EnumerationValue objects that defines the values that the slot - // type can take. + // type can take. Each value can have a list of synonyms, which are additional + // values that help train the machine learning model about the values that it + // resolves for a slot. + // + // When Amazon Lex resolves a slot value, it generates a resolution list that + // contains up to five possible values for the slot. If you are using a Lambda + // function, this resolution list is passed to the function. If you are not + // using a Lambda function you can choose to return the value that the user + // entered or the first value in the resolution list as the slot value. The + // valueSelectionStrategy field indicates the option to use. EnumerationValues []*EnumerationValue `locationName:"enumerationValues" min:"1" type:"list"` // The name of the slot type. The name is not case sensitive. @@ -9293,6 +9560,19 @@ type PutSlotTypeInput struct { // // Name is a required field Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` + + // Determines the slot resolution strategy that Amazon Lex uses to return slot + // type values. The field can be set to one of the following values: + // + // * ORIGINAL_VALUE - Returns the value entered by the user, if the user + // value is similar to the slot value. + // + // * TOP_RESOLUTION - If there is a resolution list for the slot, return + // the first value in the resolution list as the slot type value. If there + // is no resolution list, null is returned. + // + // If you don't specify the valueSelectionStrategy, the default is ORIGINAL_VALUE. + ValueSelectionStrategy *string `locationName:"valueSelectionStrategy" type:"string" enum:"SlotValueSelectionStrategy"` } // String returns the string representation @@ -9358,6 +9638,12 @@ func (s *PutSlotTypeInput) SetName(v string) *PutSlotTypeInput { return s } +// SetValueSelectionStrategy sets the ValueSelectionStrategy field's value. +func (s *PutSlotTypeInput) SetValueSelectionStrategy(v string) *PutSlotTypeInput { + s.ValueSelectionStrategy = &v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/PutSlotTypeResponse type PutSlotTypeOutput struct { _ struct{} `type:"structure"` @@ -9382,6 +9668,10 @@ type PutSlotTypeOutput struct { // The name of the slot type. Name *string `locationName:"name" min:"1" type:"string"` + // The slot resolution strategy that Amazon Lex uses to determine the value + // of the slot. For more information, see PutSlotType. + ValueSelectionStrategy *string `locationName:"valueSelectionStrategy" type:"string" enum:"SlotValueSelectionStrategy"` + // The version of the slot type. For a new slot type, the version is always // $LATEST. Version *string `locationName:"version" min:"1" type:"string"` @@ -9433,6 +9723,12 @@ func (s *PutSlotTypeOutput) SetName(v string) *PutSlotTypeOutput { return s } +// SetValueSelectionStrategy sets the ValueSelectionStrategy field's value. +func (s *PutSlotTypeOutput) SetValueSelectionStrategy(v string) *PutSlotTypeOutput { + s.ValueSelectionStrategy = &v + return s +} + // SetVersion sets the Version field's value. func (s *PutSlotTypeOutput) SetVersion(v string) *PutSlotTypeOutput { s.Version = &v @@ -9870,6 +10166,22 @@ const ( ContentTypeSsml = "SSML" ) +const ( + // ExportStatusInProgress is a ExportStatus enum value + ExportStatusInProgress = "IN_PROGRESS" + + // ExportStatusReady is a ExportStatus enum value + ExportStatusReady = "READY" + + // ExportStatusFailed is a ExportStatus enum value + ExportStatusFailed = "FAILED" +) + +const ( + // ExportTypeAlexaSkillsKit is a ExportType enum value + ExportTypeAlexaSkillsKit = "ALEXA_SKILLS_KIT" +) + const ( // FulfillmentActivityTypeReturnIntent is a FulfillmentActivityType enum value FulfillmentActivityTypeReturnIntent = "ReturnIntent" @@ -9905,6 +10217,11 @@ const ( ReferenceTypeBotChannel = "BotChannel" ) +const ( + // ResourceTypeBot is a ResourceType enum value + ResourceTypeBot = "BOT" +) + const ( // SlotConstraintRequired is a SlotConstraint enum value SlotConstraintRequired = "Required" @@ -9913,6 +10230,14 @@ const ( SlotConstraintOptional = "Optional" ) +const ( + // SlotValueSelectionStrategyOriginalValue is a SlotValueSelectionStrategy enum value + SlotValueSelectionStrategyOriginalValue = "ORIGINAL_VALUE" + + // SlotValueSelectionStrategyTopResolution is a SlotValueSelectionStrategy enum value + SlotValueSelectionStrategyTopResolution = "TOP_RESOLUTION" +) + const ( // StatusBuilding is a Status enum value StatusBuilding = "BUILDING" diff --git a/vendor/github.com/aws/aws-sdk-go/service/lexmodelbuildingservice/doc.go b/vendor/github.com/aws/aws-sdk-go/service/lexmodelbuildingservice/doc.go index 62060f3e1..80013e195 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lexmodelbuildingservice/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lexmodelbuildingservice/doc.go @@ -14,69 +14,17 @@ // // Using the Client // -// To use the client for Amazon Lex Model Building Service you will first need -// to create a new instance of it. +// To Amazon Lex Model Building Service with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := lexmodelbuildingservice.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Lex Model Building Service client LexModelBuildingService for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/lexmodelbuildingservice/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CreateBotVersion(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CreateBotVersion result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CreateBotVersionWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package lexmodelbuildingservice diff --git a/vendor/github.com/aws/aws-sdk-go/service/lexmodelbuildingservice/lexmodelbuildingserviceiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/lexmodelbuildingservice/lexmodelbuildingserviceiface/interface.go index 980b1173f..2280ea645 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lexmodelbuildingservice/lexmodelbuildingserviceiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lexmodelbuildingservice/lexmodelbuildingserviceiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Lex Model Building Service. @@ -166,6 +166,10 @@ type LexModelBuildingServiceAPI interface { GetBuiltinSlotTypesPages(*lexmodelbuildingservice.GetBuiltinSlotTypesInput, func(*lexmodelbuildingservice.GetBuiltinSlotTypesOutput, bool) bool) error GetBuiltinSlotTypesPagesWithContext(aws.Context, *lexmodelbuildingservice.GetBuiltinSlotTypesInput, func(*lexmodelbuildingservice.GetBuiltinSlotTypesOutput, bool) bool, ...request.Option) error + GetExport(*lexmodelbuildingservice.GetExportInput) (*lexmodelbuildingservice.GetExportOutput, error) + GetExportWithContext(aws.Context, *lexmodelbuildingservice.GetExportInput, ...request.Option) (*lexmodelbuildingservice.GetExportOutput, error) + GetExportRequest(*lexmodelbuildingservice.GetExportInput) (*request.Request, *lexmodelbuildingservice.GetExportOutput) + GetIntent(*lexmodelbuildingservice.GetIntentInput) (*lexmodelbuildingservice.GetIntentOutput, error) GetIntentWithContext(aws.Context, *lexmodelbuildingservice.GetIntentInput, ...request.Option) (*lexmodelbuildingservice.GetIntentOutput, error) GetIntentRequest(*lexmodelbuildingservice.GetIntentInput) (*request.Request, *lexmodelbuildingservice.GetIntentOutput) diff --git a/vendor/github.com/aws/aws-sdk-go/service/lexruntimeservice/api.go b/vendor/github.com/aws/aws-sdk-go/service/lexruntimeservice/api.go index ea77c1005..4790f8544 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lexruntimeservice/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lexruntimeservice/api.go @@ -15,19 +15,18 @@ const opPostContent = "PostContent" // PostContentRequest generates a "aws/request.Request" representing the // client's request for the PostContent operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PostContent for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PostContent method directly -// instead. +// See PostContent for more information on using the PostContent +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PostContentRequest method. // req, resp := client.PostContentRequest(params) @@ -60,8 +59,12 @@ func (c *LexRuntimeService) PostContentRequest(input *PostContentInput) (req *re // PostContent API operation for Amazon Lex Runtime Service. // // Sends user input (text or speech) to Amazon Lex. Clients use this API to -// send requests to Amazon Lex at runtime. Amazon Lex interprets the user input -// using the machine learning model that it built for the bot. +// send text and audio requests to Amazon Lex at runtime. Amazon Lex interprets +// the user input using the machine learning model that it built for the bot. +// +// The PostContent operation supports audio input at 8kHz and 16kHz. You can +// use 8kHz audio to achieve higher speech recognition accuracy in telephone +// audio applications. // // In response, Amazon Lex returns the next message to convey to the user. Consider // the following example messages: @@ -125,7 +128,7 @@ func (c *LexRuntimeService) PostContentRequest(input *PostContentInput) (req *re // // * ErrCodeBadRequestException "BadRequestException" // Request validation failed, there is no usable message in the context, or -// the bot build failed. +// the bot build failed, is still in progress, or contains unbuilt changes. // // * ErrCodeLimitExceededException "LimitExceededException" // Exceeded a limit. @@ -146,17 +149,23 @@ func (c *LexRuntimeService) PostContentRequest(input *PostContentInput) (req *re // The input speech is too long. // // * ErrCodeDependencyFailedException "DependencyFailedException" -// One of the downstream dependencies, such as AWS Lambda or Amazon Polly, threw -// an exception. For example, if Amazon Lex does not have sufficient permissions -// to call a Lambda function, it results in Lambda throwing an exception. +// One of the dependencies, such as AWS Lambda or Amazon Polly, threw an exception. +// For example, +// +// * If Amazon Lex does not have sufficient permissions to call a Lambda +// function. +// +// * If a Lambda function takes longer than 30 seconds to execute. +// +// * If a fulfillment Lambda function returns a Delegate dialog action without +// removing any slot values. // // * ErrCodeBadGatewayException "BadGatewayException" // Either the Amazon Lex bot is still building, or one of the dependent services // (Amazon Polly, AWS Lambda) failed with an internal service error. // // * ErrCodeLoopDetectedException "LoopDetectedException" -// Lambda fulfilment function returned DelegateDialogAction to Amazon Lex without -// changing any slot values. +// This exception is not used. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/runtime.lex-2016-11-28/PostContent func (c *LexRuntimeService) PostContent(input *PostContentInput) (*PostContentOutput, error) { @@ -184,19 +193,18 @@ const opPostText = "PostText" // PostTextRequest generates a "aws/request.Request" representing the // client's request for the PostText operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PostText for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PostText method directly -// instead. +// See PostText for more information on using the PostText +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PostTextRequest method. // req, resp := client.PostTextRequest(params) @@ -289,7 +297,7 @@ func (c *LexRuntimeService) PostTextRequest(input *PostTextInput) (req *request. // // * ErrCodeBadRequestException "BadRequestException" // Request validation failed, there is no usable message in the context, or -// the bot build failed. +// the bot build failed, is still in progress, or contains unbuilt changes. // // * ErrCodeLimitExceededException "LimitExceededException" // Exceeded a limit. @@ -301,17 +309,23 @@ func (c *LexRuntimeService) PostTextRequest(input *PostTextInput) (req *request. // Two clients are using the same AWS account, Amazon Lex bot, and user ID. // // * ErrCodeDependencyFailedException "DependencyFailedException" -// One of the downstream dependencies, such as AWS Lambda or Amazon Polly, threw -// an exception. For example, if Amazon Lex does not have sufficient permissions -// to call a Lambda function, it results in Lambda throwing an exception. +// One of the dependencies, such as AWS Lambda or Amazon Polly, threw an exception. +// For example, +// +// * If Amazon Lex does not have sufficient permissions to call a Lambda +// function. +// +// * If a Lambda function takes longer than 30 seconds to execute. +// +// * If a fulfillment Lambda function returns a Delegate dialog action without +// removing any slot values. // // * ErrCodeBadGatewayException "BadGatewayException" // Either the Amazon Lex bot is still building, or one of the dependent services // (Amazon Polly, AWS Lambda) failed with an internal service error. // // * ErrCodeLoopDetectedException "LoopDetectedException" -// Lambda fulfilment function returned DelegateDialogAction to Amazon Lex without -// changing any slot values. +// This exception is not used. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/runtime.lex-2016-11-28/PostText func (c *LexRuntimeService) PostText(input *PostTextInput) (*PostTextOutput, error) { @@ -478,20 +492,23 @@ type PostContentInput struct { // BotName is a required field BotName *string `location:"uri" locationName:"botName" type:"string" required:"true"` - // You pass this values as the Content-Type HTTP header. + // You pass this value as the Content-Type HTTP header. // // Indicates the audio format or text. The header value must start with one // of the following prefixes: // - // * PCM format + // * PCM format, audio data must be in little-endian byte order. // // audio/l16; rate=16000; channels=1 // // audio/x-l16; sample-rate=16000; channel-count=1 // + // audio/lpcm; sample-rate=8000; sample-size-bits=16; channel-count=1; is-big-endian=false + // + // // * Opus format // - // audio/x-cbr-opus-with-preamble; preamble-size=0; bit-rate=1; frame-size-milliseconds=1.1 + // audio/x-cbr-opus-with-preamble; preamble-size=0; bit-rate=256000; frame-size-milliseconds=4 // // * Text format // @@ -503,70 +520,59 @@ type PostContentInput struct { // User input in PCM or Opus audio format or text format as described in the // Content-Type HTTP header. // + // You can stream audio data to Amazon Lex or you can create a local buffer + // that captures all of the audio data before sending. In general, you get better + // performance if you stream audio data rather than buffering the data locally. + // // InputStream is a required field InputStream io.ReadSeeker `locationName:"inputStream" type:"blob" required:"true"` - // You pass this value in the x-amz-lex-session-attributes HTTP header. The - // value must be map (keys and values must be strings) that is JSON serialized - // and then base64 encoded. + // You pass this value as the x-amz-lex-request-attributes HTTP header. // - // A session represents dialog between a user and Amazon Lex. At runtime, a - // client application can pass contextual information, in the request to Amazon - // Lex. For example, + // Request-specific information passed between Amazon Lex and a client application. + // The value must be a JSON serialized and base64 encoded map with string keys + // and values. The total size of the requestAttributes and sessionAttributes + // headers is limited to 12 KB. // - // * You might use session attributes to track the requestID of user requests. + // The namespace x-amz-lex: is reserved for special attributes. Don't create + // any request attributes with the prefix x-amz-lex:. // - // * In Getting Started Exercise 1, the example bot uses the price session - // attribute to maintain the price of flowers ordered (for example, "price":25). - // The code hook (Lambda function) sets this attribute based on the type - // of flowers ordered. For more information, see Review the Details of Information - // Flow (http://docs.aws.amazon.com/lex/latest/dg/gs-bp-details-after-lambda.html). + // For more information, see Setting Request Attributes (http://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs). + RequestAttributes aws.JSONValue `location:"header" locationName:"x-amz-lex-request-attributes" type:"jsonvalue"` + + // You pass this value as the x-amz-lex-session-attributes HTTP header. // + // Application-specific information passed between Amazon Lex and a client application. + // The value must be a JSON serialized and base64 encoded map with string keys + // and values. The total size of the sessionAttributes and requestAttributes + // headers is limited to 12 KB. // - // * In the BookTrip bot exercise, the bot uses the currentReservation session - // attribute to maintains the slot data during the in-progress conversation - // to book a hotel or book a car. For more information, see Details of Information - // Flow (http://docs.aws.amazon.com/lex/latest/dg/book-trip-detail-flow.html). - // - // - // Amazon Lex passes these session attributes to the Lambda functions configured - // for the intent In the your Lambda function, you can use the session attributes - // for initialization and customization (prompts). Some examples are: - // - // * Initialization - In a pizza ordering bot, if you pass user location - // (for example, "Location : 111 Maple Street"), then your Lambda function - // might use this information to determine the closest pizzeria to place - // the order (and perhaps set the storeAddress slot value as well). - // - // Personalized prompts - For example, you can configure prompts to refer to - // the user by name (for example, "Hey [firstName], what toppings would you - // like?"). You can pass the user's name as a session attribute ("firstName": - // "Joe") so that Amazon Lex can substitute the placeholder to provide a - // personalized prompt to the user ("Hey Joe, what toppings would you like?"). - // - // - // Amazon Lex does not persist session attributes. - // - // If you configured a code hook for the intent, Amazon Lex passes the incoming - // session attributes to the Lambda function. The Lambda function must return - // these session attributes if you want Amazon Lex to return them to the client. - // - // If there is no code hook configured for the intent Amazon Lex simply returns - // the session attributes to the client application. + // For more information, see Setting Session Attributes (http://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs). SessionAttributes aws.JSONValue `location:"header" locationName:"x-amz-lex-session-attributes" type:"jsonvalue"` - // ID of the client application user. Typically, each of your application users - // should have a unique ID. The application developer decides the user IDs. - // At runtime, each request must include the user ID. Note the following considerations: + // The ID of the client application user. Amazon Lex uses this to identify a + // user's conversation with your bot. At runtime, each request must contain + // the userID field. // - // * If you want a user to start conversation on one device and continue - // the conversation on another device, you might choose a user-specific identifier, - // such as the user's login, or Amazon Cognito user ID (assuming your application - // is using Amazon Cognito). + // To decide the user ID to use for your application, consider the following + // factors. // - // * If you want the same user to be able to have two independent conversations - // on two different devices, you might choose device-specific identifier, - // such as device ID, or some globally unique identifier. + // * The userID field must not contain any personally identifiable information + // of the user, for example, name, personal identification numbers, or other + // end user personal information. + // + // * If you want a user to start a conversation on one device and continue + // on another device, use a user-specific identifier. + // + // * If you want the same user to be able to have two independent conversations + // on two different devices, choose a device-specific identifier. + // + // * A user can't have two independent conversations with two different versions + // of the same bot. For example, a user can't have a conversation with the + // PROD and BETA versions of the same bot. If you anticipate that a user + // will need to have conversation with two different versions, for example, + // while testing, include the bot alias in the user ID to separate the two + // conversations. // // UserId is a required field UserId *string `location:"uri" locationName:"userId" min:"2" type:"string" required:"true"` @@ -640,6 +646,12 @@ func (s *PostContentInput) SetInputStream(v io.ReadSeeker) *PostContentInput { return s } +// SetRequestAttributes sets the RequestAttributes field's value. +func (s *PostContentInput) SetRequestAttributes(v aws.JSONValue) *PostContentInput { + s.RequestAttributes = v + return s +} + // SetSessionAttributes sets the SessionAttributes field's value. func (s *PostContentInput) SetSessionAttributes(v aws.JSONValue) *PostContentInput { s.SessionAttributes = v @@ -672,14 +684,14 @@ type PostContentOutput struct { // one of the following values as dialogState. The client can optionally use // this information to customize the user interface. // - // * ElicitIntent – Amazon Lex wants to elicit the user's intent. Consider + // * ElicitIntent - Amazon Lex wants to elicit the user's intent. Consider // the following examples: // // For example, a user might utter an intent ("I want to order a pizza"). If // Amazon Lex cannot infer the user intent from this utterance, it will return // this dialog state. // - // * ConfirmIntent – Amazon Lex is expecting a "yes" or "no" response. + // * ConfirmIntent - Amazon Lex is expecting a "yes" or "no" response. // // For example, Amazon Lex wants user confirmation before fulfilling an intent. // Instead of a simple "yes" or "no" response, a user might respond with @@ -688,7 +700,7 @@ type PostContentOutput struct { // information (in these examples, update the crust type slot or change the // intent from OrderPizza to OrderDrink). // - // * ElicitSlot – Amazon Lex is expecting the value of a slot for the current + // * ElicitSlot - Amazon Lex is expecting the value of a slot for the current // intent. // // For example, suppose that in the response Amazon Lex sends this message: @@ -697,13 +709,13 @@ type PostContentOutput struct { // the response (e.g., "medium thick crust pizza"). Amazon Lex can process // such additional information appropriately. // - // * Fulfilled – Conveys that the Lambda function has successfully fulfilled + // * Fulfilled - Conveys that the Lambda function has successfully fulfilled // the intent. // - // * ReadyForFulfillment – Conveys that the client has to fullfill the request. + // * ReadyForFulfillment - Conveys that the client has to fulfill the request. // // - // * Failed – Conveys that the conversation with the user failed. + // * Failed - Conveys that the conversation with the user failed. // // This can happen for various reasons, including that the user does not provide // an appropriate response to prompts from the service (you can configure @@ -711,7 +723,12 @@ type PostContentOutput struct { // or if the Lambda function fails to fulfill the intent. DialogState *string `location:"header" locationName:"x-amz-lex-dialog-state" type:"string" enum:"DialogState"` - // Transcript of the voice input to the operation. + // The text used to process the request. + // + // If the input was an audio stream, the inputTranscript field contains the + // text extracted from the audio stream. This is the text that is actually processed + // to recognize intents and slot values. You can use this information to determine + // if Amazon Lex is correctly processing the audio that you send. InputTranscript *string `location:"header" locationName:"x-amz-lex-input-transcript" type:"string"` // Current user intent that Amazon Lex is aware of. @@ -740,6 +757,15 @@ type PostContentOutput struct { // Map of zero or more intent slots (name/value pairs) Amazon Lex detected from // the user input during the conversation. + // + // Amazon Lex creates a resolution list containing likely values for a slot. + // The value that it returns is determined by the valueSelectionStrategy selected + // when the slot type was created or updated. If valueSelectionStrategy is set + // to ORIGINAL_VALUE, the value provided by the user is returned, if the user + // value is similar to the slot values. If valueSelectionStrategy is set to + // TOP_RESOLUTION Amazon Lex returns the first value in the resolution list + // or, if there is no resolution list, null. If you don't specify a valueSelectionStrategy, + // the default is ORIGINAL_VALUE. Slots aws.JSONValue `location:"header" locationName:"x-amz-lex-slots" type:"jsonvalue"` } @@ -826,68 +852,42 @@ type PostTextInput struct { // InputText is a required field InputText *string `locationName:"inputText" min:"1" type:"string" required:"true"` - // By using session attributes, a client application can pass contextual information - // in the request to Amazon Lex For example, + // Request-specific information passed between Amazon Lex and a client application. // - // * In Getting Started Exercise 1, the example bot uses the price session - // attribute to maintain the price of the flowers ordered (for example, "Price":25). - // The code hook (the Lambda function) sets this attribute based on the type - // of flowers ordered. For more information, see Review the Details of Information - // Flow (http://docs.aws.amazon.com/lex/latest/dg/gs-bp-details-after-lambda.html). + // The namespace x-amz-lex: is reserved for special attributes. Don't create + // any request attributes with the prefix x-amz-lex:. // + // For more information, see Setting Request Attributes (http://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-request-attribs). + RequestAttributes map[string]*string `locationName:"requestAttributes" type:"map"` + + // Application-specific information passed between Amazon Lex and a client application. // - // * In the BookTrip bot exercise, the bot uses the currentReservation session - // attribute to maintain slot data during the in-progress conversation to - // book a hotel or book a car. For more information, see Details of Information - // Flow (http://docs.aws.amazon.com/lex/latest/dg/book-trip-detail-flow.html). - // - // - // * You might use the session attributes (key, value pairs) to track the - // requestID of user requests. - // - // Amazon Lex simply passes these session attributes to the Lambda functions - // configured for the intent. - // - // In your Lambda function, you can also use the session attributes for initialization - // and customization (prompts and response cards). Some examples are: - // - // * Initialization - In a pizza ordering bot, if you can pass the user - // location as a session attribute (for example, "Location" : "111 Maple - // street"), then your Lambda function might use this information to determine - // the closest pizzeria to place the order (perhaps to set the storeAddress - // slot value). - // - // * Personalize prompts - For example, you can configure prompts to refer - // to the user name. (For example, "Hey [FirstName], what toppings would - // you like?"). You can pass the user name as a session attribute ("FirstName" - // : "Joe") so that Amazon Lex can substitute the placeholder to provide - // a personalize prompt to the user ("Hey Joe, what toppings would you like?"). - // - // - // Amazon Lex does not persist session attributes. - // - // If you configure a code hook for the intent, Amazon Lex passes the incoming - // session attributes to the Lambda function. If you want Amazon Lex to return - // these session attributes back to the client, the Lambda function must return - // them. - // - // If there is no code hook configured for the intent, Amazon Lex simply returns - // the session attributes back to the client application. + // For more information, see Setting Session Attributes (http://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html#context-mgmt-session-attribs). SessionAttributes map[string]*string `locationName:"sessionAttributes" type:"map"` - // The ID of the client application user. The application developer decides - // the user IDs. At runtime, each request must include the user ID. Typically, - // each of your application users should have a unique ID. Note the following - // considerations: + // The ID of the client application user. Amazon Lex uses this to identify a + // user's conversation with your bot. At runtime, each request must contain + // the userID field. // - // * If you want a user to start a conversation on one device and continue - // the conversation on another device, you might choose a user-specific identifier, - // such as a login or Amazon Cognito user ID (assuming your application is - // using Amazon Cognito). + // To decide the user ID to use for your application, consider the following + // factors. // - // * If you want the same user to be able to have two independent conversations - // on two different devices, you might choose a device-specific identifier, - // such as device ID, or some globally unique identifier. + // * The userID field must not contain any personally identifiable information + // of the user, for example, name, personal identification numbers, or other + // end user personal information. + // + // * If you want a user to start a conversation on one device and continue + // on another device, use a user-specific identifier. + // + // * If you want the same user to be able to have two independent conversations + // on two different devices, choose a device-specific identifier. + // + // * A user can't have two independent conversations with two different versions + // of the same bot. For example, a user can't have a conversation with the + // PROD and BETA versions of the same bot. If you anticipate that a user + // will need to have conversation with two different versions, for example, + // while testing, include the bot alias in the user ID to separate the two + // conversations. // // UserId is a required field UserId *string `location:"uri" locationName:"userId" min:"2" type:"string" required:"true"` @@ -949,6 +949,12 @@ func (s *PostTextInput) SetInputText(v string) *PostTextInput { return s } +// SetRequestAttributes sets the RequestAttributes field's value. +func (s *PostTextInput) SetRequestAttributes(v map[string]*string) *PostTextInput { + s.RequestAttributes = v + return s +} + // SetSessionAttributes sets the SessionAttributes field's value. func (s *PostTextInput) SetSessionAttributes(v map[string]*string) *PostTextInput { s.SessionAttributes = v @@ -969,13 +975,13 @@ type PostTextOutput struct { // one of the following values as dialogState. The client can optionally use // this information to customize the user interface. // - // * ElicitIntent – Amazon Lex wants to elicit user intent. + // * ElicitIntent - Amazon Lex wants to elicit user intent. // // For example, a user might utter an intent ("I want to order a pizza"). If // Amazon Lex cannot infer the user intent from this utterance, it will return // this dialogState. // - // * ConfirmIntent – Amazon Lex is expecting a "yes" or "no" response. + // * ConfirmIntent - Amazon Lex is expecting a "yes" or "no" response. // // For example, Amazon Lex wants user confirmation before fulfilling an intent. // @@ -986,7 +992,7 @@ type PostTextOutput struct { // examples, update the crust type slot value, or change intent from OrderPizza // to OrderDrink). // - // * ElicitSlot – Amazon Lex is expecting a slot value for the current intent. + // * ElicitSlot - Amazon Lex is expecting a slot value for the current intent. // // // For example, suppose that in the response Amazon Lex sends this message: @@ -995,13 +1001,13 @@ type PostTextOutput struct { // the response (e.g., "medium thick crust pizza"). Amazon Lex can process // such additional information appropriately. // - // * Fulfilled – Conveys that the Lambda function configured for the intent + // * Fulfilled - Conveys that the Lambda function configured for the intent // has successfully fulfilled the intent. // - // * ReadyForFulfillment – Conveys that the client has to fulfill the intent. + // * ReadyForFulfillment - Conveys that the client has to fulfill the intent. // // - // * Failed – Conveys that the conversation with the user failed. + // * Failed - Conveys that the conversation with the user failed. // // This can happen for various reasons including that the user did not provide // an appropriate response to prompts from the service (you can configure @@ -1038,8 +1044,16 @@ type PostTextOutput struct { // which Amazon Lex is eliciting a value. SlotToElicit *string `locationName:"slotToElicit" type:"string"` - // The intent slots (name/value pairs) that Amazon Lex detected so far from - // the user input in the conversation. + // The intent slots that Amazon Lex detected from the user input in the conversation. + // + // Amazon Lex creates a resolution list containing likely values for a slot. + // The value that it returns is determined by the valueSelectionStrategy selected + // when the slot type was created or updated. If valueSelectionStrategy is set + // to ORIGINAL_VALUE, the value provided by the user is returned, if the user + // value is similar to the slot values. If valueSelectionStrategy is set to + // TOP_RESOLUTION Amazon Lex returns the first value in the resolution list + // or, if there is no resolution list, null. If you don't specify a valueSelectionStrategy, + // the default is ORIGINAL_VALUE. Slots map[string]*string `locationName:"slots" type:"map"` } diff --git a/vendor/github.com/aws/aws-sdk-go/service/lexruntimeservice/doc.go b/vendor/github.com/aws/aws-sdk-go/service/lexruntimeservice/doc.go index f0b9124f2..b06af7eb2 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lexruntimeservice/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lexruntimeservice/doc.go @@ -22,69 +22,17 @@ // // Using the Client // -// To use the client for Amazon Lex Runtime Service you will first need -// to create a new instance of it. +// To Amazon Lex Runtime Service with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := lexruntimeservice.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Lex Runtime Service client LexRuntimeService for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/lexruntimeservice/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.PostContent(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("PostContent result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.PostContentWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package lexruntimeservice diff --git a/vendor/github.com/aws/aws-sdk-go/service/lexruntimeservice/errors.go b/vendor/github.com/aws/aws-sdk-go/service/lexruntimeservice/errors.go index 75193ca56..8cb079f04 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lexruntimeservice/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lexruntimeservice/errors.go @@ -15,7 +15,7 @@ const ( // "BadRequestException". // // Request validation failed, there is no usable message in the context, or - // the bot build failed. + // the bot build failed, is still in progress, or contains unbuilt changes. ErrCodeBadRequestException = "BadRequestException" // ErrCodeConflictException for service response error code @@ -27,9 +27,16 @@ const ( // ErrCodeDependencyFailedException for service response error code // "DependencyFailedException". // - // One of the downstream dependencies, such as AWS Lambda or Amazon Polly, threw - // an exception. For example, if Amazon Lex does not have sufficient permissions - // to call a Lambda function, it results in Lambda throwing an exception. + // One of the dependencies, such as AWS Lambda or Amazon Polly, threw an exception. + // For example, + // + // * If Amazon Lex does not have sufficient permissions to call a Lambda + // function. + // + // * If a Lambda function takes longer than 30 seconds to execute. + // + // * If a fulfillment Lambda function returns a Delegate dialog action without + // removing any slot values. ErrCodeDependencyFailedException = "DependencyFailedException" // ErrCodeInternalFailureException for service response error code @@ -47,8 +54,7 @@ const ( // ErrCodeLoopDetectedException for service response error code // "LoopDetectedException". // - // Lambda fulfilment function returned DelegateDialogAction to Amazon Lex without - // changing any slot values. + // This exception is not used. ErrCodeLoopDetectedException = "LoopDetectedException" // ErrCodeNotAcceptableException for service response error code diff --git a/vendor/github.com/aws/aws-sdk-go/service/lexruntimeservice/lexruntimeserviceiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/lexruntimeservice/lexruntimeserviceiface/interface.go index fc7e5fe16..4db7b4192 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lexruntimeservice/lexruntimeserviceiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lexruntimeservice/lexruntimeserviceiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Lex Runtime Service. diff --git a/vendor/github.com/aws/aws-sdk-go/service/lightsail/api.go b/vendor/github.com/aws/aws-sdk-go/service/lightsail/api.go index 1908c56f5..57abd6ff6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lightsail/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lightsail/api.go @@ -14,19 +14,18 @@ const opAllocateStaticIp = "AllocateStaticIp" // AllocateStaticIpRequest generates a "aws/request.Request" representing the // client's request for the AllocateStaticIp operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AllocateStaticIp for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AllocateStaticIp method directly -// instead. +// See AllocateStaticIp for more information on using the AllocateStaticIp +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AllocateStaticIpRequest method. // req, resp := client.AllocateStaticIpRequest(params) @@ -119,19 +118,18 @@ const opAttachStaticIp = "AttachStaticIp" // AttachStaticIpRequest generates a "aws/request.Request" representing the // client's request for the AttachStaticIp operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AttachStaticIp for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AttachStaticIp method directly -// instead. +// See AttachStaticIp for more information on using the AttachStaticIp +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AttachStaticIpRequest method. // req, resp := client.AttachStaticIpRequest(params) @@ -224,19 +222,18 @@ const opCloseInstancePublicPorts = "CloseInstancePublicPorts" // CloseInstancePublicPortsRequest generates a "aws/request.Request" representing the // client's request for the CloseInstancePublicPorts operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CloseInstancePublicPorts for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CloseInstancePublicPorts method directly -// instead. +// See CloseInstancePublicPorts for more information on using the CloseInstancePublicPorts +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CloseInstancePublicPortsRequest method. // req, resp := client.CloseInstancePublicPortsRequest(params) @@ -329,19 +326,18 @@ const opCreateDomain = "CreateDomain" // CreateDomainRequest generates a "aws/request.Request" representing the // client's request for the CreateDomain operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDomain for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDomain method directly -// instead. +// See CreateDomain for more information on using the CreateDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDomainRequest method. // req, resp := client.CreateDomainRequest(params) @@ -434,19 +430,18 @@ const opCreateDomainEntry = "CreateDomainEntry" // CreateDomainEntryRequest generates a "aws/request.Request" representing the // client's request for the CreateDomainEntry operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDomainEntry for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDomainEntry method directly -// instead. +// See CreateDomainEntry for more information on using the CreateDomainEntry +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDomainEntryRequest method. // req, resp := client.CreateDomainEntryRequest(params) @@ -540,19 +535,18 @@ const opCreateInstanceSnapshot = "CreateInstanceSnapshot" // CreateInstanceSnapshotRequest generates a "aws/request.Request" representing the // client's request for the CreateInstanceSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateInstanceSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateInstanceSnapshot method directly -// instead. +// See CreateInstanceSnapshot for more information on using the CreateInstanceSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateInstanceSnapshotRequest method. // req, resp := client.CreateInstanceSnapshotRequest(params) @@ -646,19 +640,18 @@ const opCreateInstances = "CreateInstances" // CreateInstancesRequest generates a "aws/request.Request" representing the // client's request for the CreateInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateInstances method directly -// instead. +// See CreateInstances for more information on using the CreateInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateInstancesRequest method. // req, resp := client.CreateInstancesRequest(params) @@ -751,19 +744,18 @@ const opCreateInstancesFromSnapshot = "CreateInstancesFromSnapshot" // CreateInstancesFromSnapshotRequest generates a "aws/request.Request" representing the // client's request for the CreateInstancesFromSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateInstancesFromSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateInstancesFromSnapshot method directly -// instead. +// See CreateInstancesFromSnapshot for more information on using the CreateInstancesFromSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateInstancesFromSnapshotRequest method. // req, resp := client.CreateInstancesFromSnapshotRequest(params) @@ -857,19 +849,18 @@ const opCreateKeyPair = "CreateKeyPair" // CreateKeyPairRequest generates a "aws/request.Request" representing the // client's request for the CreateKeyPair operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateKeyPair for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateKeyPair method directly -// instead. +// See CreateKeyPair for more information on using the CreateKeyPair +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateKeyPairRequest method. // req, resp := client.CreateKeyPairRequest(params) @@ -962,19 +953,18 @@ const opDeleteDomain = "DeleteDomain" // DeleteDomainRequest generates a "aws/request.Request" representing the // client's request for the DeleteDomain operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDomain for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDomain method directly -// instead. +// See DeleteDomain for more information on using the DeleteDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDomainRequest method. // req, resp := client.DeleteDomainRequest(params) @@ -1067,19 +1057,18 @@ const opDeleteDomainEntry = "DeleteDomainEntry" // DeleteDomainEntryRequest generates a "aws/request.Request" representing the // client's request for the DeleteDomainEntry operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDomainEntry for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDomainEntry method directly -// instead. +// See DeleteDomainEntry for more information on using the DeleteDomainEntry +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDomainEntryRequest method. // req, resp := client.DeleteDomainEntryRequest(params) @@ -1172,19 +1161,18 @@ const opDeleteInstance = "DeleteInstance" // DeleteInstanceRequest generates a "aws/request.Request" representing the // client's request for the DeleteInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteInstance method directly -// instead. +// See DeleteInstance for more information on using the DeleteInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteInstanceRequest method. // req, resp := client.DeleteInstanceRequest(params) @@ -1277,19 +1265,18 @@ const opDeleteInstanceSnapshot = "DeleteInstanceSnapshot" // DeleteInstanceSnapshotRequest generates a "aws/request.Request" representing the // client's request for the DeleteInstanceSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteInstanceSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteInstanceSnapshot method directly -// instead. +// See DeleteInstanceSnapshot for more information on using the DeleteInstanceSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteInstanceSnapshotRequest method. // req, resp := client.DeleteInstanceSnapshotRequest(params) @@ -1382,19 +1369,18 @@ const opDeleteKeyPair = "DeleteKeyPair" // DeleteKeyPairRequest generates a "aws/request.Request" representing the // client's request for the DeleteKeyPair operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteKeyPair for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteKeyPair method directly -// instead. +// See DeleteKeyPair for more information on using the DeleteKeyPair +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteKeyPairRequest method. // req, resp := client.DeleteKeyPairRequest(params) @@ -1487,19 +1473,18 @@ const opDetachStaticIp = "DetachStaticIp" // DetachStaticIpRequest generates a "aws/request.Request" representing the // client's request for the DetachStaticIp operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DetachStaticIp for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DetachStaticIp method directly -// instead. +// See DetachStaticIp for more information on using the DetachStaticIp +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DetachStaticIpRequest method. // req, resp := client.DetachStaticIpRequest(params) @@ -1592,19 +1577,18 @@ const opDownloadDefaultKeyPair = "DownloadDefaultKeyPair" // DownloadDefaultKeyPairRequest generates a "aws/request.Request" representing the // client's request for the DownloadDefaultKeyPair operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DownloadDefaultKeyPair for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DownloadDefaultKeyPair method directly -// instead. +// See DownloadDefaultKeyPair for more information on using the DownloadDefaultKeyPair +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DownloadDefaultKeyPairRequest method. // req, resp := client.DownloadDefaultKeyPairRequest(params) @@ -1697,19 +1681,18 @@ const opGetActiveNames = "GetActiveNames" // GetActiveNamesRequest generates a "aws/request.Request" representing the // client's request for the GetActiveNames operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetActiveNames for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetActiveNames method directly -// instead. +// See GetActiveNames for more information on using the GetActiveNames +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetActiveNamesRequest method. // req, resp := client.GetActiveNamesRequest(params) @@ -1802,19 +1785,18 @@ const opGetBlueprints = "GetBlueprints" // GetBlueprintsRequest generates a "aws/request.Request" representing the // client's request for the GetBlueprints operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBlueprints for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBlueprints method directly -// instead. +// See GetBlueprints for more information on using the GetBlueprints +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBlueprintsRequest method. // req, resp := client.GetBlueprintsRequest(params) @@ -1910,19 +1892,18 @@ const opGetBundles = "GetBundles" // GetBundlesRequest generates a "aws/request.Request" representing the // client's request for the GetBundles operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBundles for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBundles method directly -// instead. +// See GetBundles for more information on using the GetBundles +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBundlesRequest method. // req, resp := client.GetBundlesRequest(params) @@ -2016,19 +1997,18 @@ const opGetDomain = "GetDomain" // GetDomainRequest generates a "aws/request.Request" representing the // client's request for the GetDomain operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDomain for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDomain method directly -// instead. +// See GetDomain for more information on using the GetDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDomainRequest method. // req, resp := client.GetDomainRequest(params) @@ -2121,19 +2101,18 @@ const opGetDomains = "GetDomains" // GetDomainsRequest generates a "aws/request.Request" representing the // client's request for the GetDomains operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDomains for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDomains method directly -// instead. +// See GetDomains for more information on using the GetDomains +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDomainsRequest method. // req, resp := client.GetDomainsRequest(params) @@ -2226,19 +2205,18 @@ const opGetInstance = "GetInstance" // GetInstanceRequest generates a "aws/request.Request" representing the // client's request for the GetInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetInstance method directly -// instead. +// See GetInstance for more information on using the GetInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetInstanceRequest method. // req, resp := client.GetInstanceRequest(params) @@ -2332,19 +2310,18 @@ const opGetInstanceAccessDetails = "GetInstanceAccessDetails" // GetInstanceAccessDetailsRequest generates a "aws/request.Request" representing the // client's request for the GetInstanceAccessDetails operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetInstanceAccessDetails for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetInstanceAccessDetails method directly -// instead. +// See GetInstanceAccessDetails for more information on using the GetInstanceAccessDetails +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetInstanceAccessDetailsRequest method. // req, resp := client.GetInstanceAccessDetailsRequest(params) @@ -2438,19 +2415,18 @@ const opGetInstanceMetricData = "GetInstanceMetricData" // GetInstanceMetricDataRequest generates a "aws/request.Request" representing the // client's request for the GetInstanceMetricData operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetInstanceMetricData for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetInstanceMetricData method directly -// instead. +// See GetInstanceMetricData for more information on using the GetInstanceMetricData +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetInstanceMetricDataRequest method. // req, resp := client.GetInstanceMetricDataRequest(params) @@ -2544,19 +2520,18 @@ const opGetInstancePortStates = "GetInstancePortStates" // GetInstancePortStatesRequest generates a "aws/request.Request" representing the // client's request for the GetInstancePortStates operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetInstancePortStates for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetInstancePortStates method directly -// instead. +// See GetInstancePortStates for more information on using the GetInstancePortStates +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetInstancePortStatesRequest method. // req, resp := client.GetInstancePortStatesRequest(params) @@ -2649,19 +2624,18 @@ const opGetInstanceSnapshot = "GetInstanceSnapshot" // GetInstanceSnapshotRequest generates a "aws/request.Request" representing the // client's request for the GetInstanceSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetInstanceSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetInstanceSnapshot method directly -// instead. +// See GetInstanceSnapshot for more information on using the GetInstanceSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetInstanceSnapshotRequest method. // req, resp := client.GetInstanceSnapshotRequest(params) @@ -2754,19 +2728,18 @@ const opGetInstanceSnapshots = "GetInstanceSnapshots" // GetInstanceSnapshotsRequest generates a "aws/request.Request" representing the // client's request for the GetInstanceSnapshots operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetInstanceSnapshots for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetInstanceSnapshots method directly -// instead. +// See GetInstanceSnapshots for more information on using the GetInstanceSnapshots +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetInstanceSnapshotsRequest method. // req, resp := client.GetInstanceSnapshotsRequest(params) @@ -2859,19 +2832,18 @@ const opGetInstanceState = "GetInstanceState" // GetInstanceStateRequest generates a "aws/request.Request" representing the // client's request for the GetInstanceState operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetInstanceState for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetInstanceState method directly -// instead. +// See GetInstanceState for more information on using the GetInstanceState +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetInstanceStateRequest method. // req, resp := client.GetInstanceStateRequest(params) @@ -2964,19 +2936,18 @@ const opGetInstances = "GetInstances" // GetInstancesRequest generates a "aws/request.Request" representing the // client's request for the GetInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetInstances method directly -// instead. +// See GetInstances for more information on using the GetInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetInstancesRequest method. // req, resp := client.GetInstancesRequest(params) @@ -3070,19 +3041,18 @@ const opGetKeyPair = "GetKeyPair" // GetKeyPairRequest generates a "aws/request.Request" representing the // client's request for the GetKeyPair operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetKeyPair for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetKeyPair method directly -// instead. +// See GetKeyPair for more information on using the GetKeyPair +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetKeyPairRequest method. // req, resp := client.GetKeyPairRequest(params) @@ -3175,19 +3145,18 @@ const opGetKeyPairs = "GetKeyPairs" // GetKeyPairsRequest generates a "aws/request.Request" representing the // client's request for the GetKeyPairs operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetKeyPairs for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetKeyPairs method directly -// instead. +// See GetKeyPairs for more information on using the GetKeyPairs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetKeyPairsRequest method. // req, resp := client.GetKeyPairsRequest(params) @@ -3280,19 +3249,18 @@ const opGetOperation = "GetOperation" // GetOperationRequest generates a "aws/request.Request" representing the // client's request for the GetOperation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetOperation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetOperation method directly -// instead. +// See GetOperation for more information on using the GetOperation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetOperationRequest method. // req, resp := client.GetOperationRequest(params) @@ -3387,19 +3355,18 @@ const opGetOperations = "GetOperations" // GetOperationsRequest generates a "aws/request.Request" representing the // client's request for the GetOperations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetOperations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetOperations method directly -// instead. +// See GetOperations for more information on using the GetOperations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetOperationsRequest method. // req, resp := client.GetOperationsRequest(params) @@ -3496,19 +3463,18 @@ const opGetOperationsForResource = "GetOperationsForResource" // GetOperationsForResourceRequest generates a "aws/request.Request" representing the // client's request for the GetOperationsForResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetOperationsForResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetOperationsForResource method directly -// instead. +// See GetOperationsForResource for more information on using the GetOperationsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetOperationsForResourceRequest method. // req, resp := client.GetOperationsForResourceRequest(params) @@ -3601,19 +3567,18 @@ const opGetRegions = "GetRegions" // GetRegionsRequest generates a "aws/request.Request" representing the // client's request for the GetRegions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetRegions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetRegions method directly -// instead. +// See GetRegions for more information on using the GetRegions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetRegionsRequest method. // req, resp := client.GetRegionsRequest(params) @@ -3707,19 +3672,18 @@ const opGetStaticIp = "GetStaticIp" // GetStaticIpRequest generates a "aws/request.Request" representing the // client's request for the GetStaticIp operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetStaticIp for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetStaticIp method directly -// instead. +// See GetStaticIp for more information on using the GetStaticIp +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetStaticIpRequest method. // req, resp := client.GetStaticIpRequest(params) @@ -3812,19 +3776,18 @@ const opGetStaticIps = "GetStaticIps" // GetStaticIpsRequest generates a "aws/request.Request" representing the // client's request for the GetStaticIps operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetStaticIps for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetStaticIps method directly -// instead. +// See GetStaticIps for more information on using the GetStaticIps +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetStaticIpsRequest method. // req, resp := client.GetStaticIpsRequest(params) @@ -3917,19 +3880,18 @@ const opImportKeyPair = "ImportKeyPair" // ImportKeyPairRequest generates a "aws/request.Request" representing the // client's request for the ImportKeyPair operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ImportKeyPair for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ImportKeyPair method directly -// instead. +// See ImportKeyPair for more information on using the ImportKeyPair +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ImportKeyPairRequest method. // req, resp := client.ImportKeyPairRequest(params) @@ -4022,19 +3984,18 @@ const opIsVpcPeered = "IsVpcPeered" // IsVpcPeeredRequest generates a "aws/request.Request" representing the // client's request for the IsVpcPeered operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See IsVpcPeered for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the IsVpcPeered method directly -// instead. +// See IsVpcPeered for more information on using the IsVpcPeered +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the IsVpcPeeredRequest method. // req, resp := client.IsVpcPeeredRequest(params) @@ -4127,19 +4088,18 @@ const opOpenInstancePublicPorts = "OpenInstancePublicPorts" // OpenInstancePublicPortsRequest generates a "aws/request.Request" representing the // client's request for the OpenInstancePublicPorts operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OpenInstancePublicPorts for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OpenInstancePublicPorts method directly -// instead. +// See OpenInstancePublicPorts for more information on using the OpenInstancePublicPorts +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OpenInstancePublicPortsRequest method. // req, resp := client.OpenInstancePublicPortsRequest(params) @@ -4232,19 +4192,18 @@ const opPeerVpc = "PeerVpc" // PeerVpcRequest generates a "aws/request.Request" representing the // client's request for the PeerVpc operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PeerVpc for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PeerVpc method directly -// instead. +// See PeerVpc for more information on using the PeerVpc +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PeerVpcRequest method. // req, resp := client.PeerVpcRequest(params) @@ -4337,19 +4296,18 @@ const opPutInstancePublicPorts = "PutInstancePublicPorts" // PutInstancePublicPortsRequest generates a "aws/request.Request" representing the // client's request for the PutInstancePublicPorts operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutInstancePublicPorts for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutInstancePublicPorts method directly -// instead. +// See PutInstancePublicPorts for more information on using the PutInstancePublicPorts +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutInstancePublicPortsRequest method. // req, resp := client.PutInstancePublicPortsRequest(params) @@ -4443,19 +4401,18 @@ const opRebootInstance = "RebootInstance" // RebootInstanceRequest generates a "aws/request.Request" representing the // client's request for the RebootInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RebootInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RebootInstance method directly -// instead. +// See RebootInstance for more information on using the RebootInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RebootInstanceRequest method. // req, resp := client.RebootInstanceRequest(params) @@ -4551,19 +4508,18 @@ const opReleaseStaticIp = "ReleaseStaticIp" // ReleaseStaticIpRequest generates a "aws/request.Request" representing the // client's request for the ReleaseStaticIp operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ReleaseStaticIp for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ReleaseStaticIp method directly -// instead. +// See ReleaseStaticIp for more information on using the ReleaseStaticIp +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ReleaseStaticIpRequest method. // req, resp := client.ReleaseStaticIpRequest(params) @@ -4656,19 +4612,18 @@ const opStartInstance = "StartInstance" // StartInstanceRequest generates a "aws/request.Request" representing the // client's request for the StartInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartInstance method directly -// instead. +// See StartInstance for more information on using the StartInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartInstanceRequest method. // req, resp := client.StartInstanceRequest(params) @@ -4762,19 +4717,18 @@ const opStopInstance = "StopInstance" // StopInstanceRequest generates a "aws/request.Request" representing the // client's request for the StopInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StopInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StopInstance method directly -// instead. +// See StopInstance for more information on using the StopInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StopInstanceRequest method. // req, resp := client.StopInstanceRequest(params) @@ -4867,19 +4821,18 @@ const opUnpeerVpc = "UnpeerVpc" // UnpeerVpcRequest generates a "aws/request.Request" representing the // client's request for the UnpeerVpc operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UnpeerVpc for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UnpeerVpc method directly -// instead. +// See UnpeerVpc for more information on using the UnpeerVpc +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UnpeerVpcRequest method. // req, resp := client.UnpeerVpcRequest(params) @@ -4972,19 +4925,18 @@ const opUpdateDomainEntry = "UpdateDomainEntry" // UpdateDomainEntryRequest generates a "aws/request.Request" representing the // client's request for the UpdateDomainEntry operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateDomainEntry for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateDomainEntry method directly -// instead. +// See UpdateDomainEntry for more information on using the UpdateDomainEntry +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateDomainEntryRequest method. // req, resp := client.UpdateDomainEntryRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/lightsail/doc.go b/vendor/github.com/aws/aws-sdk-go/service/lightsail/doc.go index 0e2e9ee62..a07989bc2 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lightsail/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lightsail/doc.go @@ -24,69 +24,17 @@ // // Using the Client // -// To use the client for Amazon Lightsail you will first need -// to create a new instance of it. +// To Amazon Lightsail with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := lightsail.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Lightsail client Lightsail for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/lightsail/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AllocateStaticIp(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AllocateStaticIp result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AllocateStaticIpWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package lightsail diff --git a/vendor/github.com/aws/aws-sdk-go/service/lightsail/lightsailiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/lightsail/lightsailiface/interface.go index 40a449bd4..f53ca521d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lightsail/lightsailiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lightsail/lightsailiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Lightsail. diff --git a/vendor/github.com/aws/aws-sdk-go/service/machinelearning/api.go b/vendor/github.com/aws/aws-sdk-go/service/machinelearning/api.go index 927e74b2c..434011dd5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/machinelearning/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/machinelearning/api.go @@ -15,19 +15,18 @@ const opAddTags = "AddTags" // AddTagsRequest generates a "aws/request.Request" representing the // client's request for the AddTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddTags method directly -// instead. +// See AddTags for more information on using the AddTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddTagsRequest method. // req, resp := client.AddTagsRequest(params) @@ -105,19 +104,18 @@ const opCreateBatchPrediction = "CreateBatchPrediction" // CreateBatchPredictionRequest generates a "aws/request.Request" representing the // client's request for the CreateBatchPrediction operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateBatchPrediction for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateBatchPrediction method directly -// instead. +// See CreateBatchPrediction for more information on using the CreateBatchPrediction +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateBatchPredictionRequest method. // req, resp := client.CreateBatchPredictionRequest(params) @@ -204,19 +202,18 @@ const opCreateDataSourceFromRDS = "CreateDataSourceFromRDS" // CreateDataSourceFromRDSRequest generates a "aws/request.Request" representing the // client's request for the CreateDataSourceFromRDS operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDataSourceFromRDS for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDataSourceFromRDS method directly -// instead. +// See CreateDataSourceFromRDS for more information on using the CreateDataSourceFromRDS +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDataSourceFromRDSRequest method. // req, resp := client.CreateDataSourceFromRDSRequest(params) @@ -303,19 +300,18 @@ const opCreateDataSourceFromRedshift = "CreateDataSourceFromRedshift" // CreateDataSourceFromRedshiftRequest generates a "aws/request.Request" representing the // client's request for the CreateDataSourceFromRedshift operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDataSourceFromRedshift for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDataSourceFromRedshift method directly -// instead. +// See CreateDataSourceFromRedshift for more information on using the CreateDataSourceFromRedshift +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDataSourceFromRedshiftRequest method. // req, resp := client.CreateDataSourceFromRedshiftRequest(params) @@ -421,19 +417,18 @@ const opCreateDataSourceFromS3 = "CreateDataSourceFromS3" // CreateDataSourceFromS3Request generates a "aws/request.Request" representing the // client's request for the CreateDataSourceFromS3 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDataSourceFromS3 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDataSourceFromS3 method directly -// instead. +// See CreateDataSourceFromS3 for more information on using the CreateDataSourceFromS3 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDataSourceFromS3Request method. // req, resp := client.CreateDataSourceFromS3Request(params) @@ -534,19 +529,18 @@ const opCreateEvaluation = "CreateEvaluation" // CreateEvaluationRequest generates a "aws/request.Request" representing the // client's request for the CreateEvaluation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateEvaluation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateEvaluation method directly -// instead. +// See CreateEvaluation for more information on using the CreateEvaluation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateEvaluationRequest method. // req, resp := client.CreateEvaluationRequest(params) @@ -635,19 +629,18 @@ const opCreateMLModel = "CreateMLModel" // CreateMLModelRequest generates a "aws/request.Request" representing the // client's request for the CreateMLModel operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateMLModel for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateMLModel method directly -// instead. +// See CreateMLModel for more information on using the CreateMLModel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateMLModelRequest method. // req, resp := client.CreateMLModelRequest(params) @@ -737,19 +730,18 @@ const opCreateRealtimeEndpoint = "CreateRealtimeEndpoint" // CreateRealtimeEndpointRequest generates a "aws/request.Request" representing the // client's request for the CreateRealtimeEndpoint operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateRealtimeEndpoint for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateRealtimeEndpoint method directly -// instead. +// See CreateRealtimeEndpoint for more information on using the CreateRealtimeEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateRealtimeEndpointRequest method. // req, resp := client.CreateRealtimeEndpointRequest(params) @@ -823,19 +815,18 @@ const opDeleteBatchPrediction = "DeleteBatchPrediction" // DeleteBatchPredictionRequest generates a "aws/request.Request" representing the // client's request for the DeleteBatchPrediction operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteBatchPrediction for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteBatchPrediction method directly -// instead. +// See DeleteBatchPrediction for more information on using the DeleteBatchPrediction +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteBatchPredictionRequest method. // req, resp := client.DeleteBatchPredictionRequest(params) @@ -912,19 +903,18 @@ const opDeleteDataSource = "DeleteDataSource" // DeleteDataSourceRequest generates a "aws/request.Request" representing the // client's request for the DeleteDataSource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDataSource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDataSource method directly -// instead. +// See DeleteDataSource for more information on using the DeleteDataSource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDataSourceRequest method. // req, resp := client.DeleteDataSourceRequest(params) @@ -1001,19 +991,18 @@ const opDeleteEvaluation = "DeleteEvaluation" // DeleteEvaluationRequest generates a "aws/request.Request" representing the // client's request for the DeleteEvaluation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteEvaluation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteEvaluation method directly -// instead. +// See DeleteEvaluation for more information on using the DeleteEvaluation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteEvaluationRequest method. // req, resp := client.DeleteEvaluationRequest(params) @@ -1090,19 +1079,18 @@ const opDeleteMLModel = "DeleteMLModel" // DeleteMLModelRequest generates a "aws/request.Request" representing the // client's request for the DeleteMLModel operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteMLModel for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteMLModel method directly -// instead. +// See DeleteMLModel for more information on using the DeleteMLModel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteMLModelRequest method. // req, resp := client.DeleteMLModelRequest(params) @@ -1179,19 +1167,18 @@ const opDeleteRealtimeEndpoint = "DeleteRealtimeEndpoint" // DeleteRealtimeEndpointRequest generates a "aws/request.Request" representing the // client's request for the DeleteRealtimeEndpoint operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteRealtimeEndpoint for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteRealtimeEndpoint method directly -// instead. +// See DeleteRealtimeEndpoint for more information on using the DeleteRealtimeEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteRealtimeEndpointRequest method. // req, resp := client.DeleteRealtimeEndpointRequest(params) @@ -1263,19 +1250,18 @@ const opDeleteTags = "DeleteTags" // DeleteTagsRequest generates a "aws/request.Request" representing the // client's request for the DeleteTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteTags method directly -// instead. +// See DeleteTags for more information on using the DeleteTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteTagsRequest method. // req, resp := client.DeleteTagsRequest(params) @@ -1352,19 +1338,18 @@ const opDescribeBatchPredictions = "DescribeBatchPredictions" // DescribeBatchPredictionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeBatchPredictions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeBatchPredictions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeBatchPredictions method directly -// instead. +// See DescribeBatchPredictions for more information on using the DescribeBatchPredictions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeBatchPredictionsRequest method. // req, resp := client.DescribeBatchPredictionsRequest(params) @@ -1490,19 +1475,18 @@ const opDescribeDataSources = "DescribeDataSources" // DescribeDataSourcesRequest generates a "aws/request.Request" representing the // client's request for the DescribeDataSources operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDataSources for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDataSources method directly -// instead. +// See DescribeDataSources for more information on using the DescribeDataSources +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDataSourcesRequest method. // req, resp := client.DescribeDataSourcesRequest(params) @@ -1627,19 +1611,18 @@ const opDescribeEvaluations = "DescribeEvaluations" // DescribeEvaluationsRequest generates a "aws/request.Request" representing the // client's request for the DescribeEvaluations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEvaluations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEvaluations method directly -// instead. +// See DescribeEvaluations for more information on using the DescribeEvaluations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEvaluationsRequest method. // req, resp := client.DescribeEvaluationsRequest(params) @@ -1765,19 +1748,18 @@ const opDescribeMLModels = "DescribeMLModels" // DescribeMLModelsRequest generates a "aws/request.Request" representing the // client's request for the DescribeMLModels operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeMLModels for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeMLModels method directly -// instead. +// See DescribeMLModels for more information on using the DescribeMLModels +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeMLModelsRequest method. // req, resp := client.DescribeMLModelsRequest(params) @@ -1902,19 +1884,18 @@ const opDescribeTags = "DescribeTags" // DescribeTagsRequest generates a "aws/request.Request" representing the // client's request for the DescribeTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTags method directly -// instead. +// See DescribeTags for more information on using the DescribeTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTagsRequest method. // req, resp := client.DescribeTagsRequest(params) @@ -1986,19 +1967,18 @@ const opGetBatchPrediction = "GetBatchPrediction" // GetBatchPredictionRequest generates a "aws/request.Request" representing the // client's request for the GetBatchPrediction operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBatchPrediction for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBatchPrediction method directly -// instead. +// See GetBatchPrediction for more information on using the GetBatchPrediction +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBatchPredictionRequest method. // req, resp := client.GetBatchPredictionRequest(params) @@ -2071,19 +2051,18 @@ const opGetDataSource = "GetDataSource" // GetDataSourceRequest generates a "aws/request.Request" representing the // client's request for the GetDataSource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDataSource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDataSource method directly -// instead. +// See GetDataSource for more information on using the GetDataSource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDataSourceRequest method. // req, resp := client.GetDataSourceRequest(params) @@ -2160,19 +2139,18 @@ const opGetEvaluation = "GetEvaluation" // GetEvaluationRequest generates a "aws/request.Request" representing the // client's request for the GetEvaluation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetEvaluation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetEvaluation method directly -// instead. +// See GetEvaluation for more information on using the GetEvaluation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetEvaluationRequest method. // req, resp := client.GetEvaluationRequest(params) @@ -2245,19 +2223,18 @@ const opGetMLModel = "GetMLModel" // GetMLModelRequest generates a "aws/request.Request" representing the // client's request for the GetMLModel operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetMLModel for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetMLModel method directly -// instead. +// See GetMLModel for more information on using the GetMLModel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetMLModelRequest method. // req, resp := client.GetMLModelRequest(params) @@ -2332,19 +2309,18 @@ const opPredict = "Predict" // PredictRequest generates a "aws/request.Request" representing the // client's request for the Predict operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See Predict for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the Predict method directly -// instead. +// See Predict for more information on using the Predict +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PredictRequest method. // req, resp := client.PredictRequest(params) @@ -2426,19 +2402,18 @@ const opUpdateBatchPrediction = "UpdateBatchPrediction" // UpdateBatchPredictionRequest generates a "aws/request.Request" representing the // client's request for the UpdateBatchPrediction operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateBatchPrediction for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateBatchPrediction method directly -// instead. +// See UpdateBatchPrediction for more information on using the UpdateBatchPrediction +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateBatchPredictionRequest method. // req, resp := client.UpdateBatchPredictionRequest(params) @@ -2513,19 +2488,18 @@ const opUpdateDataSource = "UpdateDataSource" // UpdateDataSourceRequest generates a "aws/request.Request" representing the // client's request for the UpdateDataSource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateDataSource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateDataSource method directly -// instead. +// See UpdateDataSource for more information on using the UpdateDataSource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateDataSourceRequest method. // req, resp := client.UpdateDataSourceRequest(params) @@ -2600,19 +2574,18 @@ const opUpdateEvaluation = "UpdateEvaluation" // UpdateEvaluationRequest generates a "aws/request.Request" representing the // client's request for the UpdateEvaluation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateEvaluation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateEvaluation method directly -// instead. +// See UpdateEvaluation for more information on using the UpdateEvaluation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateEvaluationRequest method. // req, resp := client.UpdateEvaluationRequest(params) @@ -2687,19 +2660,18 @@ const opUpdateMLModel = "UpdateMLModel" // UpdateMLModelRequest generates a "aws/request.Request" representing the // client's request for the UpdateMLModel operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateMLModel for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateMLModel method directly -// instead. +// See UpdateMLModel for more information on using the UpdateMLModel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateMLModelRequest method. // req, resp := client.UpdateMLModelRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/machinelearning/customizations_test.go b/vendor/github.com/aws/aws-sdk-go/service/machinelearning/customizations_test.go index 734de65ef..7dc639a3f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/machinelearning/customizations_test.go +++ b/vendor/github.com/aws/aws-sdk-go/service/machinelearning/customizations_test.go @@ -6,8 +6,6 @@ import ( "net/http" "testing" - "github.com/stretchr/testify/assert" - "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/awstesting/unit" @@ -32,6 +30,10 @@ func TestPredictEndpoint(t *testing.T) { }) err := req.Send() - assert.Nil(t, err) - assert.Equal(t, "https://localhost/endpoint", req.HTTPRequest.URL.String()) + if err != nil { + t.Errorf("expect no error, got %v", err) + } + if e, a := "https://localhost/endpoint", req.HTTPRequest.URL.String(); e != a { + t.Errorf("expect %v, got %v", e, a) + } } diff --git a/vendor/github.com/aws/aws-sdk-go/service/machinelearning/doc.go b/vendor/github.com/aws/aws-sdk-go/service/machinelearning/doc.go index ba53f209b..9d83e6121 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/machinelearning/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/machinelearning/doc.go @@ -10,69 +10,17 @@ // // Using the Client // -// To use the client for Amazon Machine Learning you will first need -// to create a new instance of it. +// To Amazon Machine Learning with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := machinelearning.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Machine Learning client MachineLearning for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/machinelearning/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AddTags(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AddTags result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AddTagsWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package machinelearning diff --git a/vendor/github.com/aws/aws-sdk-go/service/machinelearning/machinelearningiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/machinelearning/machinelearningiface/interface.go index 03a98a397..7b3be6cd9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/machinelearning/machinelearningiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/machinelearning/machinelearningiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Machine Learning. diff --git a/vendor/github.com/aws/aws-sdk-go/service/machinelearning/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/machinelearning/waiters.go index aedc4aed7..f5c30fa38 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/machinelearning/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/machinelearning/waiters.go @@ -11,7 +11,7 @@ import ( // WaitUntilBatchPredictionAvailable uses the Amazon Machine Learning API operation // DescribeBatchPredictions to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *MachineLearning) WaitUntilBatchPredictionAvailable(input *DescribeBatchPredictionsInput) error { return c.WaitUntilBatchPredictionAvailableWithContext(aws.BackgroundContext(), input) @@ -62,7 +62,7 @@ func (c *MachineLearning) WaitUntilBatchPredictionAvailableWithContext(ctx aws.C // WaitUntilDataSourceAvailable uses the Amazon Machine Learning API operation // DescribeDataSources to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *MachineLearning) WaitUntilDataSourceAvailable(input *DescribeDataSourcesInput) error { return c.WaitUntilDataSourceAvailableWithContext(aws.BackgroundContext(), input) @@ -113,7 +113,7 @@ func (c *MachineLearning) WaitUntilDataSourceAvailableWithContext(ctx aws.Contex // WaitUntilEvaluationAvailable uses the Amazon Machine Learning API operation // DescribeEvaluations to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *MachineLearning) WaitUntilEvaluationAvailable(input *DescribeEvaluationsInput) error { return c.WaitUntilEvaluationAvailableWithContext(aws.BackgroundContext(), input) @@ -164,7 +164,7 @@ func (c *MachineLearning) WaitUntilEvaluationAvailableWithContext(ctx aws.Contex // WaitUntilMLModelAvailable uses the Amazon Machine Learning API operation // DescribeMLModels to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *MachineLearning) WaitUntilMLModelAvailable(input *DescribeMLModelsInput) error { return c.WaitUntilMLModelAvailableWithContext(aws.BackgroundContext(), input) diff --git a/vendor/github.com/aws/aws-sdk-go/service/marketplacecommerceanalytics/api.go b/vendor/github.com/aws/aws-sdk-go/service/marketplacecommerceanalytics/api.go index cffe189ca..cbce28d40 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/marketplacecommerceanalytics/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/marketplacecommerceanalytics/api.go @@ -14,19 +14,18 @@ const opGenerateDataSet = "GenerateDataSet" // GenerateDataSetRequest generates a "aws/request.Request" representing the // client's request for the GenerateDataSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GenerateDataSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GenerateDataSet method directly -// instead. +// See GenerateDataSet for more information on using the GenerateDataSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GenerateDataSetRequest method. // req, resp := client.GenerateDataSetRequest(params) @@ -103,19 +102,18 @@ const opStartSupportDataExport = "StartSupportDataExport" // StartSupportDataExportRequest generates a "aws/request.Request" representing the // client's request for the StartSupportDataExport operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartSupportDataExport for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartSupportDataExport method directly -// instead. +// See StartSupportDataExport for more information on using the StartSupportDataExport +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartSupportDataExportRequest method. // req, resp := client.StartSupportDataExportRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/marketplacecommerceanalytics/doc.go b/vendor/github.com/aws/aws-sdk-go/service/marketplacecommerceanalytics/doc.go index 4d112f6f9..db3b20a62 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/marketplacecommerceanalytics/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/marketplacecommerceanalytics/doc.go @@ -12,69 +12,17 @@ // // Using the Client // -// To use the client for AWS Marketplace Commerce Analytics you will first need -// to create a new instance of it. +// To AWS Marketplace Commerce Analytics with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := marketplacecommerceanalytics.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Marketplace Commerce Analytics client MarketplaceCommerceAnalytics for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/marketplacecommerceanalytics/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.GenerateDataSet(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("GenerateDataSet result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.GenerateDataSetWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package marketplacecommerceanalytics diff --git a/vendor/github.com/aws/aws-sdk-go/service/marketplacecommerceanalytics/marketplacecommerceanalyticsiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/marketplacecommerceanalytics/marketplacecommerceanalyticsiface/interface.go index 434c874ea..dbd598eed 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/marketplacecommerceanalytics/marketplacecommerceanalyticsiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/marketplacecommerceanalytics/marketplacecommerceanalyticsiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Marketplace Commerce Analytics. diff --git a/vendor/github.com/aws/aws-sdk-go/service/marketplaceentitlementservice/api.go b/vendor/github.com/aws/aws-sdk-go/service/marketplaceentitlementservice/api.go index 809909bdc..a1bdfaa35 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/marketplaceentitlementservice/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/marketplaceentitlementservice/api.go @@ -14,19 +14,18 @@ const opGetEntitlements = "GetEntitlements" // GetEntitlementsRequest generates a "aws/request.Request" representing the // client's request for the GetEntitlements operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetEntitlements for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetEntitlements method directly -// instead. +// See GetEntitlements for more information on using the GetEntitlements +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetEntitlementsRequest method. // req, resp := client.GetEntitlementsRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/marketplaceentitlementservice/doc.go b/vendor/github.com/aws/aws-sdk-go/service/marketplaceentitlementservice/doc.go index 1d8b910c0..9c4c49cbb 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/marketplaceentitlementservice/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/marketplaceentitlementservice/doc.go @@ -23,69 +23,17 @@ // // Using the Client // -// To use the client for AWS Marketplace Entitlement Service you will first need -// to create a new instance of it. +// To AWS Marketplace Entitlement Service with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := marketplaceentitlementservice.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Marketplace Entitlement Service client MarketplaceEntitlementService for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/marketplaceentitlementservice/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.GetEntitlements(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("GetEntitlements result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.GetEntitlementsWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package marketplaceentitlementservice diff --git a/vendor/github.com/aws/aws-sdk-go/service/marketplaceentitlementservice/marketplaceentitlementserviceiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/marketplaceentitlementservice/marketplaceentitlementserviceiface/interface.go index a512b5456..6d59e8050 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/marketplaceentitlementservice/marketplaceentitlementserviceiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/marketplaceentitlementservice/marketplaceentitlementserviceiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Marketplace Entitlement Service. diff --git a/vendor/github.com/aws/aws-sdk-go/service/marketplacemetering/api.go b/vendor/github.com/aws/aws-sdk-go/service/marketplacemetering/api.go index 888f3e274..c915df314 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/marketplacemetering/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/marketplacemetering/api.go @@ -15,19 +15,18 @@ const opBatchMeterUsage = "BatchMeterUsage" // BatchMeterUsageRequest generates a "aws/request.Request" representing the // client's request for the BatchMeterUsage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See BatchMeterUsage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the BatchMeterUsage method directly -// instead. +// See BatchMeterUsage for more information on using the BatchMeterUsage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the BatchMeterUsageRequest method. // req, resp := client.BatchMeterUsageRequest(params) @@ -122,19 +121,18 @@ const opMeterUsage = "MeterUsage" // MeterUsageRequest generates a "aws/request.Request" representing the // client's request for the MeterUsage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See MeterUsage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the MeterUsage method directly -// instead. +// See MeterUsage for more information on using the MeterUsage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the MeterUsageRequest method. // req, resp := client.MeterUsageRequest(params) @@ -230,19 +228,18 @@ const opResolveCustomer = "ResolveCustomer" // ResolveCustomerRequest generates a "aws/request.Request" representing the // client's request for the ResolveCustomer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ResolveCustomer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ResolveCustomer method directly -// instead. +// See ResolveCustomer for more information on using the ResolveCustomer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ResolveCustomerRequest method. // req, resp := client.ResolveCustomerRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/marketplacemetering/doc.go b/vendor/github.com/aws/aws-sdk-go/service/marketplacemetering/doc.go index fd0535c4a..d44d7e388 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/marketplacemetering/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/marketplacemetering/doc.go @@ -32,69 +32,17 @@ // // Using the Client // -// To use the client for AWSMarketplace Metering you will first need -// to create a new instance of it. +// To AWSMarketplace Metering with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := marketplacemetering.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWSMarketplace Metering client MarketplaceMetering for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/marketplacemetering/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.BatchMeterUsage(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("BatchMeterUsage result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.BatchMeterUsageWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package marketplacemetering diff --git a/vendor/github.com/aws/aws-sdk-go/service/marketplacemetering/marketplacemeteringiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/marketplacemetering/marketplacemeteringiface/interface.go index e437ef9d0..ac8e55416 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/marketplacemetering/marketplacemeteringiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/marketplacemetering/marketplacemeteringiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWSMarketplace Metering. diff --git a/vendor/github.com/aws/aws-sdk-go/service/migrationhub/api.go b/vendor/github.com/aws/aws-sdk-go/service/migrationhub/api.go new file mode 100644 index 000000000..0614b2653 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/migrationhub/api.go @@ -0,0 +1,3717 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package migrationhub + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" +) + +const opAssociateCreatedArtifact = "AssociateCreatedArtifact" + +// AssociateCreatedArtifactRequest generates a "aws/request.Request" representing the +// client's request for the AssociateCreatedArtifact operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AssociateCreatedArtifact for more information on using the AssociateCreatedArtifact +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the AssociateCreatedArtifactRequest method. +// req, resp := client.AssociateCreatedArtifactRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/AssociateCreatedArtifact +func (c *MigrationHub) AssociateCreatedArtifactRequest(input *AssociateCreatedArtifactInput) (req *request.Request, output *AssociateCreatedArtifactOutput) { + op := &request.Operation{ + Name: opAssociateCreatedArtifact, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssociateCreatedArtifactInput{} + } + + output = &AssociateCreatedArtifactOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssociateCreatedArtifact API operation for AWS Migration Hub. +// +// Associates a created artifact of an AWS cloud resource, the target receiving +// the migration, with the migration task performed by a migration tool. This +// API has the following traits: +// +// * Migration tools can call the AssociateCreatedArtifact operation to indicate +// which AWS artifact is associated with a migration task. +// +// * The created artifact name must be provided in ARN (Amazon Resource Name) +// format which will contain information about type and region; for example: +// arn:aws:ec2:us-east-1:488216288981:image/ami-6d0ba87b. +// +// * Examples of the AWS resource behind the created artifact are, AMI's, +// EC2 instance, or DMS endpoint, etc. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Migration Hub's +// API operation AssociateCreatedArtifact for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Exception raised when the account making the call is not whitelisted or there +// are other authentication errors. +// +// * ErrCodeInternalServerError "InternalServerError" +// Exception raised when there is an internal, configuration, or dependency +// error encountered. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised when the service encounters throttled communication with +// upstream dependencies or is overloaded with requests. +// +// * ErrCodeDryRunOperation "DryRunOperation" +// Exception raised to indicate a successfully authorized action when the DryRun +// flag is set to "true". +// +// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" +// Exception raised to indicate a request was not authorized when the DryRun +// flag is set to "true". +// +// * ErrCodeInvalidInputException "InvalidInputException" +// Exception raised when the provided input violates a policy constraint or +// is entered in the wrong format or data type. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception raised when the request references a resource (ADS configuration, +// update stream, migration task, etc.) that does not exist in ADS (Application +// Discovery Service) or in Migration Hub's repository. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/AssociateCreatedArtifact +func (c *MigrationHub) AssociateCreatedArtifact(input *AssociateCreatedArtifactInput) (*AssociateCreatedArtifactOutput, error) { + req, out := c.AssociateCreatedArtifactRequest(input) + return out, req.Send() +} + +// AssociateCreatedArtifactWithContext is the same as AssociateCreatedArtifact with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateCreatedArtifact for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MigrationHub) AssociateCreatedArtifactWithContext(ctx aws.Context, input *AssociateCreatedArtifactInput, opts ...request.Option) (*AssociateCreatedArtifactOutput, error) { + req, out := c.AssociateCreatedArtifactRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opAssociateDiscoveredResource = "AssociateDiscoveredResource" + +// AssociateDiscoveredResourceRequest generates a "aws/request.Request" representing the +// client's request for the AssociateDiscoveredResource operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AssociateDiscoveredResource for more information on using the AssociateDiscoveredResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the AssociateDiscoveredResourceRequest method. +// req, resp := client.AssociateDiscoveredResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/AssociateDiscoveredResource +func (c *MigrationHub) AssociateDiscoveredResourceRequest(input *AssociateDiscoveredResourceInput) (req *request.Request, output *AssociateDiscoveredResourceOutput) { + op := &request.Operation{ + Name: opAssociateDiscoveredResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssociateDiscoveredResourceInput{} + } + + output = &AssociateDiscoveredResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssociateDiscoveredResource API operation for AWS Migration Hub. +// +// Associates a discovered resource ID from Application Discovery Service (ADS) +// with a migration task. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Migration Hub's +// API operation AssociateDiscoveredResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Exception raised when the account making the call is not whitelisted or there +// are other authentication errors. +// +// * ErrCodeInternalServerError "InternalServerError" +// Exception raised when there is an internal, configuration, or dependency +// error encountered. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised when the service encounters throttled communication with +// upstream dependencies or is overloaded with requests. +// +// * ErrCodeDryRunOperation "DryRunOperation" +// Exception raised to indicate a successfully authorized action when the DryRun +// flag is set to "true". +// +// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" +// Exception raised to indicate a request was not authorized when the DryRun +// flag is set to "true". +// +// * ErrCodeInvalidInputException "InvalidInputException" +// Exception raised when the provided input violates a policy constraint or +// is entered in the wrong format or data type. +// +// * ErrCodePolicyErrorException "PolicyErrorException" +// Exception raised when there are problems accessing ADS (Application Discovery +// Service); most likely due to a misconfigured policy or the ADSCaller role +// is missing or not configured correctly. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception raised when the request references a resource (ADS configuration, +// update stream, migration task, etc.) that does not exist in ADS (Application +// Discovery Service) or in Migration Hub's repository. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/AssociateDiscoveredResource +func (c *MigrationHub) AssociateDiscoveredResource(input *AssociateDiscoveredResourceInput) (*AssociateDiscoveredResourceOutput, error) { + req, out := c.AssociateDiscoveredResourceRequest(input) + return out, req.Send() +} + +// AssociateDiscoveredResourceWithContext is the same as AssociateDiscoveredResource with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateDiscoveredResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MigrationHub) AssociateDiscoveredResourceWithContext(ctx aws.Context, input *AssociateDiscoveredResourceInput, opts ...request.Option) (*AssociateDiscoveredResourceOutput, error) { + req, out := c.AssociateDiscoveredResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateProgressUpdateStream = "CreateProgressUpdateStream" + +// CreateProgressUpdateStreamRequest generates a "aws/request.Request" representing the +// client's request for the CreateProgressUpdateStream operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateProgressUpdateStream for more information on using the CreateProgressUpdateStream +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateProgressUpdateStreamRequest method. +// req, resp := client.CreateProgressUpdateStreamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/CreateProgressUpdateStream +func (c *MigrationHub) CreateProgressUpdateStreamRequest(input *CreateProgressUpdateStreamInput) (req *request.Request, output *CreateProgressUpdateStreamOutput) { + op := &request.Operation{ + Name: opCreateProgressUpdateStream, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateProgressUpdateStreamInput{} + } + + output = &CreateProgressUpdateStreamOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateProgressUpdateStream API operation for AWS Migration Hub. +// +// Creates a progress update stream which is an AWS resource used for access +// control as well as a namespace for migration task names that is implicitly +// linked to your AWS account. It must uniquely identify the migration tool +// as it is used for all updates made by the tool; however, it does not need +// to be unique for each AWS account because it is scoped to the AWS account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Migration Hub's +// API operation CreateProgressUpdateStream for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Exception raised when the account making the call is not whitelisted or there +// are other authentication errors. +// +// * ErrCodeInternalServerError "InternalServerError" +// Exception raised when there is an internal, configuration, or dependency +// error encountered. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised when the service encounters throttled communication with +// upstream dependencies or is overloaded with requests. +// +// * ErrCodeDryRunOperation "DryRunOperation" +// Exception raised to indicate a successfully authorized action when the DryRun +// flag is set to "true". +// +// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" +// Exception raised to indicate a request was not authorized when the DryRun +// flag is set to "true". +// +// * ErrCodeInvalidInputException "InvalidInputException" +// Exception raised when the provided input violates a policy constraint or +// is entered in the wrong format or data type. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/CreateProgressUpdateStream +func (c *MigrationHub) CreateProgressUpdateStream(input *CreateProgressUpdateStreamInput) (*CreateProgressUpdateStreamOutput, error) { + req, out := c.CreateProgressUpdateStreamRequest(input) + return out, req.Send() +} + +// CreateProgressUpdateStreamWithContext is the same as CreateProgressUpdateStream with the addition of +// the ability to pass a context and additional request options. +// +// See CreateProgressUpdateStream for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MigrationHub) CreateProgressUpdateStreamWithContext(ctx aws.Context, input *CreateProgressUpdateStreamInput, opts ...request.Option) (*CreateProgressUpdateStreamOutput, error) { + req, out := c.CreateProgressUpdateStreamRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteProgressUpdateStream = "DeleteProgressUpdateStream" + +// DeleteProgressUpdateStreamRequest generates a "aws/request.Request" representing the +// client's request for the DeleteProgressUpdateStream operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteProgressUpdateStream for more information on using the DeleteProgressUpdateStream +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteProgressUpdateStreamRequest method. +// req, resp := client.DeleteProgressUpdateStreamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DeleteProgressUpdateStream +func (c *MigrationHub) DeleteProgressUpdateStreamRequest(input *DeleteProgressUpdateStreamInput) (req *request.Request, output *DeleteProgressUpdateStreamOutput) { + op := &request.Operation{ + Name: opDeleteProgressUpdateStream, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteProgressUpdateStreamInput{} + } + + output = &DeleteProgressUpdateStreamOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteProgressUpdateStream API operation for AWS Migration Hub. +// +// Deletes a progress update stream, including all of its tasks, which was previously +// created as an AWS resource used for access control. This API has the following +// traits: +// +// * The only parameter needed for DeleteProgressUpdateStream is the stream +// name (same as a CreateProgressUpdateStream call). +// +// * The call will return, and a background process will asynchronously be +// doing the actual delete of the stream and all of its resources (tasks, +// associated resources, resource attributes, created artifacts). +// +// * If the stream takes time to be deleted, it might still show up on a +// ListProgressUpdateStreams call. +// +// * CreateProgressUpdateStream, ImportMigrationTask, NotifyMigrationTaskState, +// and all Associate[*] APIs realted to the tasks belonging to the stream +// will throw "InvalidInputException" if the stream of the same name is in +// the process of being deleted. +// +// * Once the stream and all of its resources are deleted, CreateProgressUpdateStream +// for a stream of the same name will succeed, and that stream will be an +// entirely new logical resource (without any resources associated with the +// old stream). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Migration Hub's +// API operation DeleteProgressUpdateStream for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Exception raised when the account making the call is not whitelisted or there +// are other authentication errors. +// +// * ErrCodeInternalServerError "InternalServerError" +// Exception raised when there is an internal, configuration, or dependency +// error encountered. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised when the service encounters throttled communication with +// upstream dependencies or is overloaded with requests. +// +// * ErrCodeDryRunOperation "DryRunOperation" +// Exception raised to indicate a successfully authorized action when the DryRun +// flag is set to "true". +// +// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" +// Exception raised to indicate a request was not authorized when the DryRun +// flag is set to "true". +// +// * ErrCodeInvalidInputException "InvalidInputException" +// Exception raised when the provided input violates a policy constraint or +// is entered in the wrong format or data type. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception raised when the request references a resource (ADS configuration, +// update stream, migration task, etc.) that does not exist in ADS (Application +// Discovery Service) or in Migration Hub's repository. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DeleteProgressUpdateStream +func (c *MigrationHub) DeleteProgressUpdateStream(input *DeleteProgressUpdateStreamInput) (*DeleteProgressUpdateStreamOutput, error) { + req, out := c.DeleteProgressUpdateStreamRequest(input) + return out, req.Send() +} + +// DeleteProgressUpdateStreamWithContext is the same as DeleteProgressUpdateStream with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteProgressUpdateStream for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MigrationHub) DeleteProgressUpdateStreamWithContext(ctx aws.Context, input *DeleteProgressUpdateStreamInput, opts ...request.Option) (*DeleteProgressUpdateStreamOutput, error) { + req, out := c.DeleteProgressUpdateStreamRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeApplicationState = "DescribeApplicationState" + +// DescribeApplicationStateRequest generates a "aws/request.Request" representing the +// client's request for the DescribeApplicationState operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeApplicationState for more information on using the DescribeApplicationState +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeApplicationStateRequest method. +// req, resp := client.DescribeApplicationStateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DescribeApplicationState +func (c *MigrationHub) DescribeApplicationStateRequest(input *DescribeApplicationStateInput) (req *request.Request, output *DescribeApplicationStateOutput) { + op := &request.Operation{ + Name: opDescribeApplicationState, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeApplicationStateInput{} + } + + output = &DescribeApplicationStateOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeApplicationState API operation for AWS Migration Hub. +// +// Gets the migration status of an application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Migration Hub's +// API operation DescribeApplicationState for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Exception raised when the account making the call is not whitelisted or there +// are other authentication errors. +// +// * ErrCodeInternalServerError "InternalServerError" +// Exception raised when there is an internal, configuration, or dependency +// error encountered. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised when the service encounters throttled communication with +// upstream dependencies or is overloaded with requests. +// +// * ErrCodeInvalidInputException "InvalidInputException" +// Exception raised when the provided input violates a policy constraint or +// is entered in the wrong format or data type. +// +// * ErrCodePolicyErrorException "PolicyErrorException" +// Exception raised when there are problems accessing ADS (Application Discovery +// Service); most likely due to a misconfigured policy or the ADSCaller role +// is missing or not configured correctly. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception raised when the request references a resource (ADS configuration, +// update stream, migration task, etc.) that does not exist in ADS (Application +// Discovery Service) or in Migration Hub's repository. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DescribeApplicationState +func (c *MigrationHub) DescribeApplicationState(input *DescribeApplicationStateInput) (*DescribeApplicationStateOutput, error) { + req, out := c.DescribeApplicationStateRequest(input) + return out, req.Send() +} + +// DescribeApplicationStateWithContext is the same as DescribeApplicationState with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeApplicationState for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MigrationHub) DescribeApplicationStateWithContext(ctx aws.Context, input *DescribeApplicationStateInput, opts ...request.Option) (*DescribeApplicationStateOutput, error) { + req, out := c.DescribeApplicationStateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeMigrationTask = "DescribeMigrationTask" + +// DescribeMigrationTaskRequest generates a "aws/request.Request" representing the +// client's request for the DescribeMigrationTask operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeMigrationTask for more information on using the DescribeMigrationTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeMigrationTaskRequest method. +// req, resp := client.DescribeMigrationTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DescribeMigrationTask +func (c *MigrationHub) DescribeMigrationTaskRequest(input *DescribeMigrationTaskInput) (req *request.Request, output *DescribeMigrationTaskOutput) { + op := &request.Operation{ + Name: opDescribeMigrationTask, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeMigrationTaskInput{} + } + + output = &DescribeMigrationTaskOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeMigrationTask API operation for AWS Migration Hub. +// +// Retrieves a list of all attributes associated with a specific migration task. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Migration Hub's +// API operation DescribeMigrationTask for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Exception raised when the account making the call is not whitelisted or there +// are other authentication errors. +// +// * ErrCodeInternalServerError "InternalServerError" +// Exception raised when there is an internal, configuration, or dependency +// error encountered. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised when the service encounters throttled communication with +// upstream dependencies or is overloaded with requests. +// +// * ErrCodeInvalidInputException "InvalidInputException" +// Exception raised when the provided input violates a policy constraint or +// is entered in the wrong format or data type. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception raised when the request references a resource (ADS configuration, +// update stream, migration task, etc.) that does not exist in ADS (Application +// Discovery Service) or in Migration Hub's repository. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DescribeMigrationTask +func (c *MigrationHub) DescribeMigrationTask(input *DescribeMigrationTaskInput) (*DescribeMigrationTaskOutput, error) { + req, out := c.DescribeMigrationTaskRequest(input) + return out, req.Send() +} + +// DescribeMigrationTaskWithContext is the same as DescribeMigrationTask with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeMigrationTask for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MigrationHub) DescribeMigrationTaskWithContext(ctx aws.Context, input *DescribeMigrationTaskInput, opts ...request.Option) (*DescribeMigrationTaskOutput, error) { + req, out := c.DescribeMigrationTaskRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDisassociateCreatedArtifact = "DisassociateCreatedArtifact" + +// DisassociateCreatedArtifactRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateCreatedArtifact operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DisassociateCreatedArtifact for more information on using the DisassociateCreatedArtifact +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DisassociateCreatedArtifactRequest method. +// req, resp := client.DisassociateCreatedArtifactRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DisassociateCreatedArtifact +func (c *MigrationHub) DisassociateCreatedArtifactRequest(input *DisassociateCreatedArtifactInput) (req *request.Request, output *DisassociateCreatedArtifactOutput) { + op := &request.Operation{ + Name: opDisassociateCreatedArtifact, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisassociateCreatedArtifactInput{} + } + + output = &DisassociateCreatedArtifactOutput{} + req = c.newRequest(op, input, output) + return +} + +// DisassociateCreatedArtifact API operation for AWS Migration Hub. +// +// Disassociates a created artifact of an AWS resource with a migration task +// performed by a migration tool that was previously associated. This API has +// the following traits: +// +// * A migration user can call the DisassociateCreatedArtifacts operation +// to disassociate a created AWS Artifact from a migration task. +// +// * The created artifact name must be provided in ARN (Amazon Resource Name) +// format which will contain information about type and region; for example: +// arn:aws:ec2:us-east-1:488216288981:image/ami-6d0ba87b. +// +// * Examples of the AWS resource behind the created artifact are, AMI's, +// EC2 instance, or RDS instance, etc. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Migration Hub's +// API operation DisassociateCreatedArtifact for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Exception raised when the account making the call is not whitelisted or there +// are other authentication errors. +// +// * ErrCodeInternalServerError "InternalServerError" +// Exception raised when there is an internal, configuration, or dependency +// error encountered. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised when the service encounters throttled communication with +// upstream dependencies or is overloaded with requests. +// +// * ErrCodeDryRunOperation "DryRunOperation" +// Exception raised to indicate a successfully authorized action when the DryRun +// flag is set to "true". +// +// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" +// Exception raised to indicate a request was not authorized when the DryRun +// flag is set to "true". +// +// * ErrCodeInvalidInputException "InvalidInputException" +// Exception raised when the provided input violates a policy constraint or +// is entered in the wrong format or data type. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception raised when the request references a resource (ADS configuration, +// update stream, migration task, etc.) that does not exist in ADS (Application +// Discovery Service) or in Migration Hub's repository. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DisassociateCreatedArtifact +func (c *MigrationHub) DisassociateCreatedArtifact(input *DisassociateCreatedArtifactInput) (*DisassociateCreatedArtifactOutput, error) { + req, out := c.DisassociateCreatedArtifactRequest(input) + return out, req.Send() +} + +// DisassociateCreatedArtifactWithContext is the same as DisassociateCreatedArtifact with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateCreatedArtifact for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MigrationHub) DisassociateCreatedArtifactWithContext(ctx aws.Context, input *DisassociateCreatedArtifactInput, opts ...request.Option) (*DisassociateCreatedArtifactOutput, error) { + req, out := c.DisassociateCreatedArtifactRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDisassociateDiscoveredResource = "DisassociateDiscoveredResource" + +// DisassociateDiscoveredResourceRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateDiscoveredResource operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DisassociateDiscoveredResource for more information on using the DisassociateDiscoveredResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DisassociateDiscoveredResourceRequest method. +// req, resp := client.DisassociateDiscoveredResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DisassociateDiscoveredResource +func (c *MigrationHub) DisassociateDiscoveredResourceRequest(input *DisassociateDiscoveredResourceInput) (req *request.Request, output *DisassociateDiscoveredResourceOutput) { + op := &request.Operation{ + Name: opDisassociateDiscoveredResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisassociateDiscoveredResourceInput{} + } + + output = &DisassociateDiscoveredResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// DisassociateDiscoveredResource API operation for AWS Migration Hub. +// +// Disassociate an Application Discovery Service (ADS) discovered resource from +// a migration task. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Migration Hub's +// API operation DisassociateDiscoveredResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Exception raised when the account making the call is not whitelisted or there +// are other authentication errors. +// +// * ErrCodeInternalServerError "InternalServerError" +// Exception raised when there is an internal, configuration, or dependency +// error encountered. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised when the service encounters throttled communication with +// upstream dependencies or is overloaded with requests. +// +// * ErrCodeDryRunOperation "DryRunOperation" +// Exception raised to indicate a successfully authorized action when the DryRun +// flag is set to "true". +// +// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" +// Exception raised to indicate a request was not authorized when the DryRun +// flag is set to "true". +// +// * ErrCodeInvalidInputException "InvalidInputException" +// Exception raised when the provided input violates a policy constraint or +// is entered in the wrong format or data type. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception raised when the request references a resource (ADS configuration, +// update stream, migration task, etc.) that does not exist in ADS (Application +// Discovery Service) or in Migration Hub's repository. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DisassociateDiscoveredResource +func (c *MigrationHub) DisassociateDiscoveredResource(input *DisassociateDiscoveredResourceInput) (*DisassociateDiscoveredResourceOutput, error) { + req, out := c.DisassociateDiscoveredResourceRequest(input) + return out, req.Send() +} + +// DisassociateDiscoveredResourceWithContext is the same as DisassociateDiscoveredResource with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateDiscoveredResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MigrationHub) DisassociateDiscoveredResourceWithContext(ctx aws.Context, input *DisassociateDiscoveredResourceInput, opts ...request.Option) (*DisassociateDiscoveredResourceOutput, error) { + req, out := c.DisassociateDiscoveredResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opImportMigrationTask = "ImportMigrationTask" + +// ImportMigrationTaskRequest generates a "aws/request.Request" representing the +// client's request for the ImportMigrationTask operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ImportMigrationTask for more information on using the ImportMigrationTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ImportMigrationTaskRequest method. +// req, resp := client.ImportMigrationTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ImportMigrationTask +func (c *MigrationHub) ImportMigrationTaskRequest(input *ImportMigrationTaskInput) (req *request.Request, output *ImportMigrationTaskOutput) { + op := &request.Operation{ + Name: opImportMigrationTask, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ImportMigrationTaskInput{} + } + + output = &ImportMigrationTaskOutput{} + req = c.newRequest(op, input, output) + return +} + +// ImportMigrationTask API operation for AWS Migration Hub. +// +// Registers a new migration task which represents a server, database, etc., +// being migrated to AWS by a migration tool. +// +// This API is a prerequisite to calling the NotifyMigrationTaskState API as +// the migration tool must first register the migration task with Migration +// Hub. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Migration Hub's +// API operation ImportMigrationTask for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Exception raised when the account making the call is not whitelisted or there +// are other authentication errors. +// +// * ErrCodeInternalServerError "InternalServerError" +// Exception raised when there is an internal, configuration, or dependency +// error encountered. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised when the service encounters throttled communication with +// upstream dependencies or is overloaded with requests. +// +// * ErrCodeDryRunOperation "DryRunOperation" +// Exception raised to indicate a successfully authorized action when the DryRun +// flag is set to "true". +// +// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" +// Exception raised to indicate a request was not authorized when the DryRun +// flag is set to "true". +// +// * ErrCodeInvalidInputException "InvalidInputException" +// Exception raised when the provided input violates a policy constraint or +// is entered in the wrong format or data type. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception raised when the request references a resource (ADS configuration, +// update stream, migration task, etc.) that does not exist in ADS (Application +// Discovery Service) or in Migration Hub's repository. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ImportMigrationTask +func (c *MigrationHub) ImportMigrationTask(input *ImportMigrationTaskInput) (*ImportMigrationTaskOutput, error) { + req, out := c.ImportMigrationTaskRequest(input) + return out, req.Send() +} + +// ImportMigrationTaskWithContext is the same as ImportMigrationTask with the addition of +// the ability to pass a context and additional request options. +// +// See ImportMigrationTask for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MigrationHub) ImportMigrationTaskWithContext(ctx aws.Context, input *ImportMigrationTaskInput, opts ...request.Option) (*ImportMigrationTaskOutput, error) { + req, out := c.ImportMigrationTaskRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListCreatedArtifacts = "ListCreatedArtifacts" + +// ListCreatedArtifactsRequest generates a "aws/request.Request" representing the +// client's request for the ListCreatedArtifacts operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListCreatedArtifacts for more information on using the ListCreatedArtifacts +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListCreatedArtifactsRequest method. +// req, resp := client.ListCreatedArtifactsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListCreatedArtifacts +func (c *MigrationHub) ListCreatedArtifactsRequest(input *ListCreatedArtifactsInput) (req *request.Request, output *ListCreatedArtifactsOutput) { + op := &request.Operation{ + Name: opListCreatedArtifacts, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListCreatedArtifactsInput{} + } + + output = &ListCreatedArtifactsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListCreatedArtifacts API operation for AWS Migration Hub. +// +// Lists the created artifacts attached to a given migration task in an update +// stream. This API has the following traits: +// +// * Gets the list of the created artifacts while migration is taking place. +// +// * Shows the artifacts created by the migration tool that was associated +// by the AssociateCreatedArtifact API. +// +// * Lists created artifacts in a paginated interface. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Migration Hub's +// API operation ListCreatedArtifacts for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Exception raised when the account making the call is not whitelisted or there +// are other authentication errors. +// +// * ErrCodeInternalServerError "InternalServerError" +// Exception raised when there is an internal, configuration, or dependency +// error encountered. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised when the service encounters throttled communication with +// upstream dependencies or is overloaded with requests. +// +// * ErrCodeInvalidInputException "InvalidInputException" +// Exception raised when the provided input violates a policy constraint or +// is entered in the wrong format or data type. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception raised when the request references a resource (ADS configuration, +// update stream, migration task, etc.) that does not exist in ADS (Application +// Discovery Service) or in Migration Hub's repository. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListCreatedArtifacts +func (c *MigrationHub) ListCreatedArtifacts(input *ListCreatedArtifactsInput) (*ListCreatedArtifactsOutput, error) { + req, out := c.ListCreatedArtifactsRequest(input) + return out, req.Send() +} + +// ListCreatedArtifactsWithContext is the same as ListCreatedArtifacts with the addition of +// the ability to pass a context and additional request options. +// +// See ListCreatedArtifacts for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MigrationHub) ListCreatedArtifactsWithContext(ctx aws.Context, input *ListCreatedArtifactsInput, opts ...request.Option) (*ListCreatedArtifactsOutput, error) { + req, out := c.ListCreatedArtifactsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListDiscoveredResources = "ListDiscoveredResources" + +// ListDiscoveredResourcesRequest generates a "aws/request.Request" representing the +// client's request for the ListDiscoveredResources operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListDiscoveredResources for more information on using the ListDiscoveredResources +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListDiscoveredResourcesRequest method. +// req, resp := client.ListDiscoveredResourcesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListDiscoveredResources +func (c *MigrationHub) ListDiscoveredResourcesRequest(input *ListDiscoveredResourcesInput) (req *request.Request, output *ListDiscoveredResourcesOutput) { + op := &request.Operation{ + Name: opListDiscoveredResources, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListDiscoveredResourcesInput{} + } + + output = &ListDiscoveredResourcesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDiscoveredResources API operation for AWS Migration Hub. +// +// Lists discovered resources associated with the given MigrationTask. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Migration Hub's +// API operation ListDiscoveredResources for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Exception raised when the account making the call is not whitelisted or there +// are other authentication errors. +// +// * ErrCodeInternalServerError "InternalServerError" +// Exception raised when there is an internal, configuration, or dependency +// error encountered. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised when the service encounters throttled communication with +// upstream dependencies or is overloaded with requests. +// +// * ErrCodeInvalidInputException "InvalidInputException" +// Exception raised when the provided input violates a policy constraint or +// is entered in the wrong format or data type. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception raised when the request references a resource (ADS configuration, +// update stream, migration task, etc.) that does not exist in ADS (Application +// Discovery Service) or in Migration Hub's repository. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListDiscoveredResources +func (c *MigrationHub) ListDiscoveredResources(input *ListDiscoveredResourcesInput) (*ListDiscoveredResourcesOutput, error) { + req, out := c.ListDiscoveredResourcesRequest(input) + return out, req.Send() +} + +// ListDiscoveredResourcesWithContext is the same as ListDiscoveredResources with the addition of +// the ability to pass a context and additional request options. +// +// See ListDiscoveredResources for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MigrationHub) ListDiscoveredResourcesWithContext(ctx aws.Context, input *ListDiscoveredResourcesInput, opts ...request.Option) (*ListDiscoveredResourcesOutput, error) { + req, out := c.ListDiscoveredResourcesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListMigrationTasks = "ListMigrationTasks" + +// ListMigrationTasksRequest generates a "aws/request.Request" representing the +// client's request for the ListMigrationTasks operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListMigrationTasks for more information on using the ListMigrationTasks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListMigrationTasksRequest method. +// req, resp := client.ListMigrationTasksRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListMigrationTasks +func (c *MigrationHub) ListMigrationTasksRequest(input *ListMigrationTasksInput) (req *request.Request, output *ListMigrationTasksOutput) { + op := &request.Operation{ + Name: opListMigrationTasks, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListMigrationTasksInput{} + } + + output = &ListMigrationTasksOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListMigrationTasks API operation for AWS Migration Hub. +// +// Lists all, or filtered by resource name, migration tasks associated with +// the user account making this call. This API has the following traits: +// +// * Can show a summary list of the most recent migration tasks. +// +// * Can show a summary list of migration tasks associated with a given discovered +// resource. +// +// * Lists migration tasks in a paginated interface. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Migration Hub's +// API operation ListMigrationTasks for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Exception raised when the account making the call is not whitelisted or there +// are other authentication errors. +// +// * ErrCodeInternalServerError "InternalServerError" +// Exception raised when there is an internal, configuration, or dependency +// error encountered. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised when the service encounters throttled communication with +// upstream dependencies or is overloaded with requests. +// +// * ErrCodeInvalidInputException "InvalidInputException" +// Exception raised when the provided input violates a policy constraint or +// is entered in the wrong format or data type. +// +// * ErrCodePolicyErrorException "PolicyErrorException" +// Exception raised when there are problems accessing ADS (Application Discovery +// Service); most likely due to a misconfigured policy or the ADSCaller role +// is missing or not configured correctly. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception raised when the request references a resource (ADS configuration, +// update stream, migration task, etc.) that does not exist in ADS (Application +// Discovery Service) or in Migration Hub's repository. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListMigrationTasks +func (c *MigrationHub) ListMigrationTasks(input *ListMigrationTasksInput) (*ListMigrationTasksOutput, error) { + req, out := c.ListMigrationTasksRequest(input) + return out, req.Send() +} + +// ListMigrationTasksWithContext is the same as ListMigrationTasks with the addition of +// the ability to pass a context and additional request options. +// +// See ListMigrationTasks for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MigrationHub) ListMigrationTasksWithContext(ctx aws.Context, input *ListMigrationTasksInput, opts ...request.Option) (*ListMigrationTasksOutput, error) { + req, out := c.ListMigrationTasksRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListProgressUpdateStreams = "ListProgressUpdateStreams" + +// ListProgressUpdateStreamsRequest generates a "aws/request.Request" representing the +// client's request for the ListProgressUpdateStreams operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListProgressUpdateStreams for more information on using the ListProgressUpdateStreams +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListProgressUpdateStreamsRequest method. +// req, resp := client.ListProgressUpdateStreamsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListProgressUpdateStreams +func (c *MigrationHub) ListProgressUpdateStreamsRequest(input *ListProgressUpdateStreamsInput) (req *request.Request, output *ListProgressUpdateStreamsOutput) { + op := &request.Operation{ + Name: opListProgressUpdateStreams, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListProgressUpdateStreamsInput{} + } + + output = &ListProgressUpdateStreamsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListProgressUpdateStreams API operation for AWS Migration Hub. +// +// Lists progress update streams associated with the user account making this +// call. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Migration Hub's +// API operation ListProgressUpdateStreams for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Exception raised when the account making the call is not whitelisted or there +// are other authentication errors. +// +// * ErrCodeInternalServerError "InternalServerError" +// Exception raised when there is an internal, configuration, or dependency +// error encountered. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised when the service encounters throttled communication with +// upstream dependencies or is overloaded with requests. +// +// * ErrCodeInvalidInputException "InvalidInputException" +// Exception raised when the provided input violates a policy constraint or +// is entered in the wrong format or data type. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListProgressUpdateStreams +func (c *MigrationHub) ListProgressUpdateStreams(input *ListProgressUpdateStreamsInput) (*ListProgressUpdateStreamsOutput, error) { + req, out := c.ListProgressUpdateStreamsRequest(input) + return out, req.Send() +} + +// ListProgressUpdateStreamsWithContext is the same as ListProgressUpdateStreams with the addition of +// the ability to pass a context and additional request options. +// +// See ListProgressUpdateStreams for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MigrationHub) ListProgressUpdateStreamsWithContext(ctx aws.Context, input *ListProgressUpdateStreamsInput, opts ...request.Option) (*ListProgressUpdateStreamsOutput, error) { + req, out := c.ListProgressUpdateStreamsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opNotifyApplicationState = "NotifyApplicationState" + +// NotifyApplicationStateRequest generates a "aws/request.Request" representing the +// client's request for the NotifyApplicationState operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See NotifyApplicationState for more information on using the NotifyApplicationState +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the NotifyApplicationStateRequest method. +// req, resp := client.NotifyApplicationStateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/NotifyApplicationState +func (c *MigrationHub) NotifyApplicationStateRequest(input *NotifyApplicationStateInput) (req *request.Request, output *NotifyApplicationStateOutput) { + op := &request.Operation{ + Name: opNotifyApplicationState, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &NotifyApplicationStateInput{} + } + + output = &NotifyApplicationStateOutput{} + req = c.newRequest(op, input, output) + return +} + +// NotifyApplicationState API operation for AWS Migration Hub. +// +// Sets the migration state of an application. For a given application identified +// by the value passed to ApplicationId, its status is set or updated by passing +// one of three values to Status: NOT_STARTED | IN_PROGRESS | COMPLETED. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Migration Hub's +// API operation NotifyApplicationState for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Exception raised when the account making the call is not whitelisted or there +// are other authentication errors. +// +// * ErrCodeInternalServerError "InternalServerError" +// Exception raised when there is an internal, configuration, or dependency +// error encountered. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised when the service encounters throttled communication with +// upstream dependencies or is overloaded with requests. +// +// * ErrCodeDryRunOperation "DryRunOperation" +// Exception raised to indicate a successfully authorized action when the DryRun +// flag is set to "true". +// +// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" +// Exception raised to indicate a request was not authorized when the DryRun +// flag is set to "true". +// +// * ErrCodeInvalidInputException "InvalidInputException" +// Exception raised when the provided input violates a policy constraint or +// is entered in the wrong format or data type. +// +// * ErrCodePolicyErrorException "PolicyErrorException" +// Exception raised when there are problems accessing ADS (Application Discovery +// Service); most likely due to a misconfigured policy or the ADSCaller role +// is missing or not configured correctly. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception raised when the request references a resource (ADS configuration, +// update stream, migration task, etc.) that does not exist in ADS (Application +// Discovery Service) or in Migration Hub's repository. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/NotifyApplicationState +func (c *MigrationHub) NotifyApplicationState(input *NotifyApplicationStateInput) (*NotifyApplicationStateOutput, error) { + req, out := c.NotifyApplicationStateRequest(input) + return out, req.Send() +} + +// NotifyApplicationStateWithContext is the same as NotifyApplicationState with the addition of +// the ability to pass a context and additional request options. +// +// See NotifyApplicationState for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MigrationHub) NotifyApplicationStateWithContext(ctx aws.Context, input *NotifyApplicationStateInput, opts ...request.Option) (*NotifyApplicationStateOutput, error) { + req, out := c.NotifyApplicationStateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opNotifyMigrationTaskState = "NotifyMigrationTaskState" + +// NotifyMigrationTaskStateRequest generates a "aws/request.Request" representing the +// client's request for the NotifyMigrationTaskState operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See NotifyMigrationTaskState for more information on using the NotifyMigrationTaskState +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the NotifyMigrationTaskStateRequest method. +// req, resp := client.NotifyMigrationTaskStateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/NotifyMigrationTaskState +func (c *MigrationHub) NotifyMigrationTaskStateRequest(input *NotifyMigrationTaskStateInput) (req *request.Request, output *NotifyMigrationTaskStateOutput) { + op := &request.Operation{ + Name: opNotifyMigrationTaskState, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &NotifyMigrationTaskStateInput{} + } + + output = &NotifyMigrationTaskStateOutput{} + req = c.newRequest(op, input, output) + return +} + +// NotifyMigrationTaskState API operation for AWS Migration Hub. +// +// Notifies Migration Hub of the current status, progress, or other detail regarding +// a migration task. This API has the following traits: +// +// * Migration tools will call the NotifyMigrationTaskState API to share +// the latest progress and status. +// +// * MigrationTaskName is used for addressing updates to the correct target. +// +// * ProgressUpdateStream is used for access control and to provide a namespace +// for each migration tool. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Migration Hub's +// API operation NotifyMigrationTaskState for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Exception raised when the account making the call is not whitelisted or there +// are other authentication errors. +// +// * ErrCodeInternalServerError "InternalServerError" +// Exception raised when there is an internal, configuration, or dependency +// error encountered. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised when the service encounters throttled communication with +// upstream dependencies or is overloaded with requests. +// +// * ErrCodeDryRunOperation "DryRunOperation" +// Exception raised to indicate a successfully authorized action when the DryRun +// flag is set to "true". +// +// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" +// Exception raised to indicate a request was not authorized when the DryRun +// flag is set to "true". +// +// * ErrCodeInvalidInputException "InvalidInputException" +// Exception raised when the provided input violates a policy constraint or +// is entered in the wrong format or data type. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception raised when the request references a resource (ADS configuration, +// update stream, migration task, etc.) that does not exist in ADS (Application +// Discovery Service) or in Migration Hub's repository. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/NotifyMigrationTaskState +func (c *MigrationHub) NotifyMigrationTaskState(input *NotifyMigrationTaskStateInput) (*NotifyMigrationTaskStateOutput, error) { + req, out := c.NotifyMigrationTaskStateRequest(input) + return out, req.Send() +} + +// NotifyMigrationTaskStateWithContext is the same as NotifyMigrationTaskState with the addition of +// the ability to pass a context and additional request options. +// +// See NotifyMigrationTaskState for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MigrationHub) NotifyMigrationTaskStateWithContext(ctx aws.Context, input *NotifyMigrationTaskStateInput, opts ...request.Option) (*NotifyMigrationTaskStateOutput, error) { + req, out := c.NotifyMigrationTaskStateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opPutResourceAttributes = "PutResourceAttributes" + +// PutResourceAttributesRequest generates a "aws/request.Request" representing the +// client's request for the PutResourceAttributes operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutResourceAttributes for more information on using the PutResourceAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the PutResourceAttributesRequest method. +// req, resp := client.PutResourceAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/PutResourceAttributes +func (c *MigrationHub) PutResourceAttributesRequest(input *PutResourceAttributesInput) (req *request.Request, output *PutResourceAttributesOutput) { + op := &request.Operation{ + Name: opPutResourceAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutResourceAttributesInput{} + } + + output = &PutResourceAttributesOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutResourceAttributes API operation for AWS Migration Hub. +// +// Provides identifying details of the resource being migrated so that it can +// be associated in the Application Discovery Service (ADS)'s repository. This +// association occurs asynchronously after PutResourceAttributes returns. +// +// Keep in mind that subsequent calls to PutResourceAttributes will override +// previously stored attributes. For example, if it is first called with a MAC +// address, but later, it is desired to add an IP address, it will then be required +// to call it with both the IP and MAC addresses to prevent overiding the MAC +// address. +// +// Because this is an asynchronous call, it will always return 200, whether +// an association occurs or not. To confirm if an association was found based +// on the provided details, call ListAssociatedResource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Migration Hub's +// API operation PutResourceAttributes for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// Exception raised when the account making the call is not whitelisted or there +// are other authentication errors. +// +// * ErrCodeInternalServerError "InternalServerError" +// Exception raised when there is an internal, configuration, or dependency +// error encountered. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// Exception raised when the service encounters throttled communication with +// upstream dependencies or is overloaded with requests. +// +// * ErrCodeDryRunOperation "DryRunOperation" +// Exception raised to indicate a successfully authorized action when the DryRun +// flag is set to "true". +// +// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" +// Exception raised to indicate a request was not authorized when the DryRun +// flag is set to "true". +// +// * ErrCodeInvalidInputException "InvalidInputException" +// Exception raised when the provided input violates a policy constraint or +// is entered in the wrong format or data type. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Exception raised when the request references a resource (ADS configuration, +// update stream, migration task, etc.) that does not exist in ADS (Application +// Discovery Service) or in Migration Hub's repository. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/PutResourceAttributes +func (c *MigrationHub) PutResourceAttributes(input *PutResourceAttributesInput) (*PutResourceAttributesOutput, error) { + req, out := c.PutResourceAttributesRequest(input) + return out, req.Send() +} + +// PutResourceAttributesWithContext is the same as PutResourceAttributes with the addition of +// the ability to pass a context and additional request options. +// +// See PutResourceAttributes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MigrationHub) PutResourceAttributesWithContext(ctx aws.Context, input *PutResourceAttributesInput, opts ...request.Option) (*PutResourceAttributesOutput, error) { + req, out := c.PutResourceAttributesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/AssociateCreatedArtifactRequest +type AssociateCreatedArtifactInput struct { + _ struct{} `type:"structure"` + + // An ARN of the AWS resource related to the migration (e.g., AMI, EC2 instance, + // RDS instance, etc.) + // + // CreatedArtifact is a required field + CreatedArtifact *CreatedArtifact `type:"structure" required:"true"` + + // Optional boolean flag to indicate whether any effect should take place. Used + // to test if the caller has permission to make the call. + DryRun *bool `type:"boolean"` + + // Unique identifier that references the migration task. + // + // MigrationTaskName is a required field + MigrationTaskName *string `min:"1" type:"string" required:"true"` + + // The name of the ProgressUpdateStream. + // + // ProgressUpdateStream is a required field + ProgressUpdateStream *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateCreatedArtifactInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateCreatedArtifactInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateCreatedArtifactInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateCreatedArtifactInput"} + if s.CreatedArtifact == nil { + invalidParams.Add(request.NewErrParamRequired("CreatedArtifact")) + } + if s.MigrationTaskName == nil { + invalidParams.Add(request.NewErrParamRequired("MigrationTaskName")) + } + if s.MigrationTaskName != nil && len(*s.MigrationTaskName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MigrationTaskName", 1)) + } + if s.ProgressUpdateStream == nil { + invalidParams.Add(request.NewErrParamRequired("ProgressUpdateStream")) + } + if s.ProgressUpdateStream != nil && len(*s.ProgressUpdateStream) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProgressUpdateStream", 1)) + } + if s.CreatedArtifact != nil { + if err := s.CreatedArtifact.Validate(); err != nil { + invalidParams.AddNested("CreatedArtifact", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreatedArtifact sets the CreatedArtifact field's value. +func (s *AssociateCreatedArtifactInput) SetCreatedArtifact(v *CreatedArtifact) *AssociateCreatedArtifactInput { + s.CreatedArtifact = v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *AssociateCreatedArtifactInput) SetDryRun(v bool) *AssociateCreatedArtifactInput { + s.DryRun = &v + return s +} + +// SetMigrationTaskName sets the MigrationTaskName field's value. +func (s *AssociateCreatedArtifactInput) SetMigrationTaskName(v string) *AssociateCreatedArtifactInput { + s.MigrationTaskName = &v + return s +} + +// SetProgressUpdateStream sets the ProgressUpdateStream field's value. +func (s *AssociateCreatedArtifactInput) SetProgressUpdateStream(v string) *AssociateCreatedArtifactInput { + s.ProgressUpdateStream = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/AssociateCreatedArtifactResult +type AssociateCreatedArtifactOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AssociateCreatedArtifactOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateCreatedArtifactOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/AssociateDiscoveredResourceRequest +type AssociateDiscoveredResourceInput struct { + _ struct{} `type:"structure"` + + // Object representing a Resource. + // + // DiscoveredResource is a required field + DiscoveredResource *DiscoveredResource `type:"structure" required:"true"` + + // Optional boolean flag to indicate whether any effect should take place. Used + // to test if the caller has permission to make the call. + DryRun *bool `type:"boolean"` + + // The identifier given to the MigrationTask. + // + // MigrationTaskName is a required field + MigrationTaskName *string `min:"1" type:"string" required:"true"` + + // The name of the ProgressUpdateStream. + // + // ProgressUpdateStream is a required field + ProgressUpdateStream *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateDiscoveredResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateDiscoveredResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateDiscoveredResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateDiscoveredResourceInput"} + if s.DiscoveredResource == nil { + invalidParams.Add(request.NewErrParamRequired("DiscoveredResource")) + } + if s.MigrationTaskName == nil { + invalidParams.Add(request.NewErrParamRequired("MigrationTaskName")) + } + if s.MigrationTaskName != nil && len(*s.MigrationTaskName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MigrationTaskName", 1)) + } + if s.ProgressUpdateStream == nil { + invalidParams.Add(request.NewErrParamRequired("ProgressUpdateStream")) + } + if s.ProgressUpdateStream != nil && len(*s.ProgressUpdateStream) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProgressUpdateStream", 1)) + } + if s.DiscoveredResource != nil { + if err := s.DiscoveredResource.Validate(); err != nil { + invalidParams.AddNested("DiscoveredResource", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDiscoveredResource sets the DiscoveredResource field's value. +func (s *AssociateDiscoveredResourceInput) SetDiscoveredResource(v *DiscoveredResource) *AssociateDiscoveredResourceInput { + s.DiscoveredResource = v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *AssociateDiscoveredResourceInput) SetDryRun(v bool) *AssociateDiscoveredResourceInput { + s.DryRun = &v + return s +} + +// SetMigrationTaskName sets the MigrationTaskName field's value. +func (s *AssociateDiscoveredResourceInput) SetMigrationTaskName(v string) *AssociateDiscoveredResourceInput { + s.MigrationTaskName = &v + return s +} + +// SetProgressUpdateStream sets the ProgressUpdateStream field's value. +func (s *AssociateDiscoveredResourceInput) SetProgressUpdateStream(v string) *AssociateDiscoveredResourceInput { + s.ProgressUpdateStream = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/AssociateDiscoveredResourceResult +type AssociateDiscoveredResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AssociateDiscoveredResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateDiscoveredResourceOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/CreateProgressUpdateStreamRequest +type CreateProgressUpdateStreamInput struct { + _ struct{} `type:"structure"` + + // Optional boolean flag to indicate whether any effect should take place. Used + // to test if the caller has permission to make the call. + DryRun *bool `type:"boolean"` + + // The name of the ProgressUpdateStream. + // + // ProgressUpdateStreamName is a required field + ProgressUpdateStreamName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateProgressUpdateStreamInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateProgressUpdateStreamInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateProgressUpdateStreamInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateProgressUpdateStreamInput"} + if s.ProgressUpdateStreamName == nil { + invalidParams.Add(request.NewErrParamRequired("ProgressUpdateStreamName")) + } + if s.ProgressUpdateStreamName != nil && len(*s.ProgressUpdateStreamName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProgressUpdateStreamName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *CreateProgressUpdateStreamInput) SetDryRun(v bool) *CreateProgressUpdateStreamInput { + s.DryRun = &v + return s +} + +// SetProgressUpdateStreamName sets the ProgressUpdateStreamName field's value. +func (s *CreateProgressUpdateStreamInput) SetProgressUpdateStreamName(v string) *CreateProgressUpdateStreamInput { + s.ProgressUpdateStreamName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/CreateProgressUpdateStreamResult +type CreateProgressUpdateStreamOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateProgressUpdateStreamOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateProgressUpdateStreamOutput) GoString() string { + return s.String() +} + +// An ARN of the AWS cloud resource target receiving the migration (e.g., AMI, +// EC2 instance, RDS instance, etc.). +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/CreatedArtifact +type CreatedArtifact struct { + _ struct{} `type:"structure"` + + // A description that can be free-form text to record additional detail about + // the artifact for clarity or for later reference. + Description *string `type:"string"` + + // An ARN that uniquely identifies the result of a migration task. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreatedArtifact) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatedArtifact) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreatedArtifact) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatedArtifact"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreatedArtifact) SetDescription(v string) *CreatedArtifact { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreatedArtifact) SetName(v string) *CreatedArtifact { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DeleteProgressUpdateStreamRequest +type DeleteProgressUpdateStreamInput struct { + _ struct{} `type:"structure"` + + // Optional boolean flag to indicate whether any effect should take place. Used + // to test if the caller has permission to make the call. + DryRun *bool `type:"boolean"` + + // The name of the ProgressUpdateStream. + // + // ProgressUpdateStreamName is a required field + ProgressUpdateStreamName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteProgressUpdateStreamInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteProgressUpdateStreamInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteProgressUpdateStreamInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteProgressUpdateStreamInput"} + if s.ProgressUpdateStreamName == nil { + invalidParams.Add(request.NewErrParamRequired("ProgressUpdateStreamName")) + } + if s.ProgressUpdateStreamName != nil && len(*s.ProgressUpdateStreamName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProgressUpdateStreamName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DeleteProgressUpdateStreamInput) SetDryRun(v bool) *DeleteProgressUpdateStreamInput { + s.DryRun = &v + return s +} + +// SetProgressUpdateStreamName sets the ProgressUpdateStreamName field's value. +func (s *DeleteProgressUpdateStreamInput) SetProgressUpdateStreamName(v string) *DeleteProgressUpdateStreamInput { + s.ProgressUpdateStreamName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DeleteProgressUpdateStreamResult +type DeleteProgressUpdateStreamOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteProgressUpdateStreamOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteProgressUpdateStreamOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DescribeApplicationStateRequest +type DescribeApplicationStateInput struct { + _ struct{} `type:"structure"` + + // The configurationId in ADS that uniquely identifies the grouped application. + // + // ApplicationId is a required field + ApplicationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeApplicationStateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeApplicationStateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeApplicationStateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeApplicationStateInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *DescribeApplicationStateInput) SetApplicationId(v string) *DescribeApplicationStateInput { + s.ApplicationId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DescribeApplicationStateResult +type DescribeApplicationStateOutput struct { + _ struct{} `type:"structure"` + + // Status of the application - Not Started, In-Progress, Complete. + ApplicationStatus *string `type:"string" enum:"ApplicationStatus"` + + // The timestamp when the application status was last updated. + LastUpdatedTime *time.Time `type:"timestamp" timestampFormat:"unix"` +} + +// String returns the string representation +func (s DescribeApplicationStateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeApplicationStateOutput) GoString() string { + return s.String() +} + +// SetApplicationStatus sets the ApplicationStatus field's value. +func (s *DescribeApplicationStateOutput) SetApplicationStatus(v string) *DescribeApplicationStateOutput { + s.ApplicationStatus = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *DescribeApplicationStateOutput) SetLastUpdatedTime(v time.Time) *DescribeApplicationStateOutput { + s.LastUpdatedTime = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DescribeMigrationTaskRequest +type DescribeMigrationTaskInput struct { + _ struct{} `type:"structure"` + + // The identifier given to the MigrationTask. + // + // MigrationTaskName is a required field + MigrationTaskName *string `min:"1" type:"string" required:"true"` + + // The name of the ProgressUpdateStream. + // + // ProgressUpdateStream is a required field + ProgressUpdateStream *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeMigrationTaskInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMigrationTaskInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeMigrationTaskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeMigrationTaskInput"} + if s.MigrationTaskName == nil { + invalidParams.Add(request.NewErrParamRequired("MigrationTaskName")) + } + if s.MigrationTaskName != nil && len(*s.MigrationTaskName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MigrationTaskName", 1)) + } + if s.ProgressUpdateStream == nil { + invalidParams.Add(request.NewErrParamRequired("ProgressUpdateStream")) + } + if s.ProgressUpdateStream != nil && len(*s.ProgressUpdateStream) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProgressUpdateStream", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMigrationTaskName sets the MigrationTaskName field's value. +func (s *DescribeMigrationTaskInput) SetMigrationTaskName(v string) *DescribeMigrationTaskInput { + s.MigrationTaskName = &v + return s +} + +// SetProgressUpdateStream sets the ProgressUpdateStream field's value. +func (s *DescribeMigrationTaskInput) SetProgressUpdateStream(v string) *DescribeMigrationTaskInput { + s.ProgressUpdateStream = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DescribeMigrationTaskResult +type DescribeMigrationTaskOutput struct { + _ struct{} `type:"structure"` + + // Object encapsulating information about the migration task. + MigrationTask *MigrationTask `type:"structure"` +} + +// String returns the string representation +func (s DescribeMigrationTaskOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMigrationTaskOutput) GoString() string { + return s.String() +} + +// SetMigrationTask sets the MigrationTask field's value. +func (s *DescribeMigrationTaskOutput) SetMigrationTask(v *MigrationTask) *DescribeMigrationTaskOutput { + s.MigrationTask = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DisassociateCreatedArtifactRequest +type DisassociateCreatedArtifactInput struct { + _ struct{} `type:"structure"` + + // An ARN of the AWS resource related to the migration (e.g., AMI, EC2 instance, + // RDS instance, etc.) + // + // CreatedArtifactName is a required field + CreatedArtifactName *string `min:"1" type:"string" required:"true"` + + // Optional boolean flag to indicate whether any effect should take place. Used + // to test if the caller has permission to make the call. + DryRun *bool `type:"boolean"` + + // Unique identifier that references the migration task to be disassociated + // with the artifact. + // + // MigrationTaskName is a required field + MigrationTaskName *string `min:"1" type:"string" required:"true"` + + // The name of the ProgressUpdateStream. + // + // ProgressUpdateStream is a required field + ProgressUpdateStream *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DisassociateCreatedArtifactInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateCreatedArtifactInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateCreatedArtifactInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateCreatedArtifactInput"} + if s.CreatedArtifactName == nil { + invalidParams.Add(request.NewErrParamRequired("CreatedArtifactName")) + } + if s.CreatedArtifactName != nil && len(*s.CreatedArtifactName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CreatedArtifactName", 1)) + } + if s.MigrationTaskName == nil { + invalidParams.Add(request.NewErrParamRequired("MigrationTaskName")) + } + if s.MigrationTaskName != nil && len(*s.MigrationTaskName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MigrationTaskName", 1)) + } + if s.ProgressUpdateStream == nil { + invalidParams.Add(request.NewErrParamRequired("ProgressUpdateStream")) + } + if s.ProgressUpdateStream != nil && len(*s.ProgressUpdateStream) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProgressUpdateStream", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreatedArtifactName sets the CreatedArtifactName field's value. +func (s *DisassociateCreatedArtifactInput) SetCreatedArtifactName(v string) *DisassociateCreatedArtifactInput { + s.CreatedArtifactName = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *DisassociateCreatedArtifactInput) SetDryRun(v bool) *DisassociateCreatedArtifactInput { + s.DryRun = &v + return s +} + +// SetMigrationTaskName sets the MigrationTaskName field's value. +func (s *DisassociateCreatedArtifactInput) SetMigrationTaskName(v string) *DisassociateCreatedArtifactInput { + s.MigrationTaskName = &v + return s +} + +// SetProgressUpdateStream sets the ProgressUpdateStream field's value. +func (s *DisassociateCreatedArtifactInput) SetProgressUpdateStream(v string) *DisassociateCreatedArtifactInput { + s.ProgressUpdateStream = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DisassociateCreatedArtifactResult +type DisassociateCreatedArtifactOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DisassociateCreatedArtifactOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateCreatedArtifactOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DisassociateDiscoveredResourceRequest +type DisassociateDiscoveredResourceInput struct { + _ struct{} `type:"structure"` + + // ConfigurationId of the ADS resource to be disassociated. + // + // ConfigurationId is a required field + ConfigurationId *string `min:"1" type:"string" required:"true"` + + // Optional boolean flag to indicate whether any effect should take place. Used + // to test if the caller has permission to make the call. + DryRun *bool `type:"boolean"` + + // The identifier given to the MigrationTask. + // + // MigrationTaskName is a required field + MigrationTaskName *string `min:"1" type:"string" required:"true"` + + // The name of the ProgressUpdateStream. + // + // ProgressUpdateStream is a required field + ProgressUpdateStream *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DisassociateDiscoveredResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateDiscoveredResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateDiscoveredResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateDiscoveredResourceInput"} + if s.ConfigurationId == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigurationId")) + } + if s.ConfigurationId != nil && len(*s.ConfigurationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConfigurationId", 1)) + } + if s.MigrationTaskName == nil { + invalidParams.Add(request.NewErrParamRequired("MigrationTaskName")) + } + if s.MigrationTaskName != nil && len(*s.MigrationTaskName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MigrationTaskName", 1)) + } + if s.ProgressUpdateStream == nil { + invalidParams.Add(request.NewErrParamRequired("ProgressUpdateStream")) + } + if s.ProgressUpdateStream != nil && len(*s.ProgressUpdateStream) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProgressUpdateStream", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfigurationId sets the ConfigurationId field's value. +func (s *DisassociateDiscoveredResourceInput) SetConfigurationId(v string) *DisassociateDiscoveredResourceInput { + s.ConfigurationId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *DisassociateDiscoveredResourceInput) SetDryRun(v bool) *DisassociateDiscoveredResourceInput { + s.DryRun = &v + return s +} + +// SetMigrationTaskName sets the MigrationTaskName field's value. +func (s *DisassociateDiscoveredResourceInput) SetMigrationTaskName(v string) *DisassociateDiscoveredResourceInput { + s.MigrationTaskName = &v + return s +} + +// SetProgressUpdateStream sets the ProgressUpdateStream field's value. +func (s *DisassociateDiscoveredResourceInput) SetProgressUpdateStream(v string) *DisassociateDiscoveredResourceInput { + s.ProgressUpdateStream = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DisassociateDiscoveredResourceResult +type DisassociateDiscoveredResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DisassociateDiscoveredResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateDiscoveredResourceOutput) GoString() string { + return s.String() +} + +// Object representing the on-premises resource being migrated. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DiscoveredResource +type DiscoveredResource struct { + _ struct{} `type:"structure"` + + // The configurationId in ADS that uniquely identifies the on-premise resource. + // + // ConfigurationId is a required field + ConfigurationId *string `min:"1" type:"string" required:"true"` + + // A description that can be free-form text to record additional detail about + // the discovered resource for clarity or later reference. + Description *string `type:"string"` +} + +// String returns the string representation +func (s DiscoveredResource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DiscoveredResource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DiscoveredResource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DiscoveredResource"} + if s.ConfigurationId == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigurationId")) + } + if s.ConfigurationId != nil && len(*s.ConfigurationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConfigurationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfigurationId sets the ConfigurationId field's value. +func (s *DiscoveredResource) SetConfigurationId(v string) *DiscoveredResource { + s.ConfigurationId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *DiscoveredResource) SetDescription(v string) *DiscoveredResource { + s.Description = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ImportMigrationTaskRequest +type ImportMigrationTaskInput struct { + _ struct{} `type:"structure"` + + // Optional boolean flag to indicate whether any effect should take place. Used + // to test if the caller has permission to make the call. + DryRun *bool `type:"boolean"` + + // Unique identifier that references the migration task. + // + // MigrationTaskName is a required field + MigrationTaskName *string `min:"1" type:"string" required:"true"` + + // The name of the ProgressUpdateStream. + // + // ProgressUpdateStream is a required field + ProgressUpdateStream *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ImportMigrationTaskInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImportMigrationTaskInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ImportMigrationTaskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportMigrationTaskInput"} + if s.MigrationTaskName == nil { + invalidParams.Add(request.NewErrParamRequired("MigrationTaskName")) + } + if s.MigrationTaskName != nil && len(*s.MigrationTaskName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MigrationTaskName", 1)) + } + if s.ProgressUpdateStream == nil { + invalidParams.Add(request.NewErrParamRequired("ProgressUpdateStream")) + } + if s.ProgressUpdateStream != nil && len(*s.ProgressUpdateStream) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProgressUpdateStream", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *ImportMigrationTaskInput) SetDryRun(v bool) *ImportMigrationTaskInput { + s.DryRun = &v + return s +} + +// SetMigrationTaskName sets the MigrationTaskName field's value. +func (s *ImportMigrationTaskInput) SetMigrationTaskName(v string) *ImportMigrationTaskInput { + s.MigrationTaskName = &v + return s +} + +// SetProgressUpdateStream sets the ProgressUpdateStream field's value. +func (s *ImportMigrationTaskInput) SetProgressUpdateStream(v string) *ImportMigrationTaskInput { + s.ProgressUpdateStream = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ImportMigrationTaskResult +type ImportMigrationTaskOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s ImportMigrationTaskOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImportMigrationTaskOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListCreatedArtifactsRequest +type ListCreatedArtifactsInput struct { + _ struct{} `type:"structure"` + + // Maximum number of results to be returned per page. + MaxResults *int64 `min:"1" type:"integer"` + + // Unique identifier that references the migration task. + // + // MigrationTaskName is a required field + MigrationTaskName *string `min:"1" type:"string" required:"true"` + + // If a NextToken was returned by a previous call, there are more results available. + // To retrieve the next page of results, make the call again using the returned + // token in NextToken. + NextToken *string `type:"string"` + + // The name of the ProgressUpdateStream. + // + // ProgressUpdateStream is a required field + ProgressUpdateStream *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListCreatedArtifactsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCreatedArtifactsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListCreatedArtifactsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCreatedArtifactsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.MigrationTaskName == nil { + invalidParams.Add(request.NewErrParamRequired("MigrationTaskName")) + } + if s.MigrationTaskName != nil && len(*s.MigrationTaskName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MigrationTaskName", 1)) + } + if s.ProgressUpdateStream == nil { + invalidParams.Add(request.NewErrParamRequired("ProgressUpdateStream")) + } + if s.ProgressUpdateStream != nil && len(*s.ProgressUpdateStream) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProgressUpdateStream", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListCreatedArtifactsInput) SetMaxResults(v int64) *ListCreatedArtifactsInput { + s.MaxResults = &v + return s +} + +// SetMigrationTaskName sets the MigrationTaskName field's value. +func (s *ListCreatedArtifactsInput) SetMigrationTaskName(v string) *ListCreatedArtifactsInput { + s.MigrationTaskName = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCreatedArtifactsInput) SetNextToken(v string) *ListCreatedArtifactsInput { + s.NextToken = &v + return s +} + +// SetProgressUpdateStream sets the ProgressUpdateStream field's value. +func (s *ListCreatedArtifactsInput) SetProgressUpdateStream(v string) *ListCreatedArtifactsInput { + s.ProgressUpdateStream = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListCreatedArtifactsResult +type ListCreatedArtifactsOutput struct { + _ struct{} `type:"structure"` + + // List of created artifacts up to the maximum number of results specified in + // the request. + CreatedArtifactList []*CreatedArtifact `type:"list"` + + // If there are more created artifacts than the max result, return the next + // token to be passed to the next call as a bookmark of where to start from. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListCreatedArtifactsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCreatedArtifactsOutput) GoString() string { + return s.String() +} + +// SetCreatedArtifactList sets the CreatedArtifactList field's value. +func (s *ListCreatedArtifactsOutput) SetCreatedArtifactList(v []*CreatedArtifact) *ListCreatedArtifactsOutput { + s.CreatedArtifactList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCreatedArtifactsOutput) SetNextToken(v string) *ListCreatedArtifactsOutput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListDiscoveredResourcesRequest +type ListDiscoveredResourcesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results returned per page. + MaxResults *int64 `min:"1" type:"integer"` + + // The name of the MigrationTask. + // + // MigrationTaskName is a required field + MigrationTaskName *string `min:"1" type:"string" required:"true"` + + // If a NextToken was returned by a previous call, there are more results available. + // To retrieve the next page of results, make the call again using the returned + // token in NextToken. + NextToken *string `type:"string"` + + // The name of the ProgressUpdateStream. + // + // ProgressUpdateStream is a required field + ProgressUpdateStream *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListDiscoveredResourcesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDiscoveredResourcesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDiscoveredResourcesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDiscoveredResourcesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.MigrationTaskName == nil { + invalidParams.Add(request.NewErrParamRequired("MigrationTaskName")) + } + if s.MigrationTaskName != nil && len(*s.MigrationTaskName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MigrationTaskName", 1)) + } + if s.ProgressUpdateStream == nil { + invalidParams.Add(request.NewErrParamRequired("ProgressUpdateStream")) + } + if s.ProgressUpdateStream != nil && len(*s.ProgressUpdateStream) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProgressUpdateStream", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDiscoveredResourcesInput) SetMaxResults(v int64) *ListDiscoveredResourcesInput { + s.MaxResults = &v + return s +} + +// SetMigrationTaskName sets the MigrationTaskName field's value. +func (s *ListDiscoveredResourcesInput) SetMigrationTaskName(v string) *ListDiscoveredResourcesInput { + s.MigrationTaskName = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDiscoveredResourcesInput) SetNextToken(v string) *ListDiscoveredResourcesInput { + s.NextToken = &v + return s +} + +// SetProgressUpdateStream sets the ProgressUpdateStream field's value. +func (s *ListDiscoveredResourcesInput) SetProgressUpdateStream(v string) *ListDiscoveredResourcesInput { + s.ProgressUpdateStream = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListDiscoveredResourcesResult +type ListDiscoveredResourcesOutput struct { + _ struct{} `type:"structure"` + + // Returned list of discovered resources associated with the given MigrationTask. + DiscoveredResourceList []*DiscoveredResource `type:"list"` + + // If there are more discovered resources than the max result, return the next + // token to be passed to the next call as a bookmark of where to start from. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListDiscoveredResourcesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDiscoveredResourcesOutput) GoString() string { + return s.String() +} + +// SetDiscoveredResourceList sets the DiscoveredResourceList field's value. +func (s *ListDiscoveredResourcesOutput) SetDiscoveredResourceList(v []*DiscoveredResource) *ListDiscoveredResourcesOutput { + s.DiscoveredResourceList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDiscoveredResourcesOutput) SetNextToken(v string) *ListDiscoveredResourcesOutput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListMigrationTasksRequest +type ListMigrationTasksInput struct { + _ struct{} `type:"structure"` + + // Value to specify how many results are returned per page. + MaxResults *int64 `min:"1" type:"integer"` + + // If a NextToken was returned by a previous call, there are more results available. + // To retrieve the next page of results, make the call again using the returned + // token in NextToken. + NextToken *string `type:"string"` + + // Filter migration tasks by discovered resource name. + ResourceName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListMigrationTasksInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListMigrationTasksInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListMigrationTasksInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListMigrationTasksInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ResourceName != nil && len(*s.ResourceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListMigrationTasksInput) SetMaxResults(v int64) *ListMigrationTasksInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListMigrationTasksInput) SetNextToken(v string) *ListMigrationTasksInput { + s.NextToken = &v + return s +} + +// SetResourceName sets the ResourceName field's value. +func (s *ListMigrationTasksInput) SetResourceName(v string) *ListMigrationTasksInput { + s.ResourceName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListMigrationTasksResult +type ListMigrationTasksOutput struct { + _ struct{} `type:"structure"` + + // Lists the migration task's summary which includes: MigrationTaskName, ProgressPercent, + // ProgressUpdateStream, Status, and the UpdateDateTime for each task. + MigrationTaskSummaryList []*MigrationTaskSummary `type:"list"` + + // If there are more migration tasks than the max result, return the next token + // to be passed to the next call as a bookmark of where to start from. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListMigrationTasksOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListMigrationTasksOutput) GoString() string { + return s.String() +} + +// SetMigrationTaskSummaryList sets the MigrationTaskSummaryList field's value. +func (s *ListMigrationTasksOutput) SetMigrationTaskSummaryList(v []*MigrationTaskSummary) *ListMigrationTasksOutput { + s.MigrationTaskSummaryList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListMigrationTasksOutput) SetNextToken(v string) *ListMigrationTasksOutput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListProgressUpdateStreamsRequest +type ListProgressUpdateStreamsInput struct { + _ struct{} `type:"structure"` + + // Filter to limit the maximum number of results to list per page. + MaxResults *int64 `min:"1" type:"integer"` + + // If a NextToken was returned by a previous call, there are more results available. + // To retrieve the next page of results, make the call again using the returned + // token in NextToken. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListProgressUpdateStreamsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProgressUpdateStreamsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListProgressUpdateStreamsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListProgressUpdateStreamsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListProgressUpdateStreamsInput) SetMaxResults(v int64) *ListProgressUpdateStreamsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProgressUpdateStreamsInput) SetNextToken(v string) *ListProgressUpdateStreamsInput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListProgressUpdateStreamsResult +type ListProgressUpdateStreamsOutput struct { + _ struct{} `type:"structure"` + + // If there are more streams created than the max result, return the next token + // to be passed to the next call as a bookmark of where to start from. + NextToken *string `type:"string"` + + // List of progress update streams up to the max number of results passed in + // the input. + ProgressUpdateStreamSummaryList []*ProgressUpdateStreamSummary `type:"list"` +} + +// String returns the string representation +func (s ListProgressUpdateStreamsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProgressUpdateStreamsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProgressUpdateStreamsOutput) SetNextToken(v string) *ListProgressUpdateStreamsOutput { + s.NextToken = &v + return s +} + +// SetProgressUpdateStreamSummaryList sets the ProgressUpdateStreamSummaryList field's value. +func (s *ListProgressUpdateStreamsOutput) SetProgressUpdateStreamSummaryList(v []*ProgressUpdateStreamSummary) *ListProgressUpdateStreamsOutput { + s.ProgressUpdateStreamSummaryList = v + return s +} + +// Represents a migration task in a migration tool. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/MigrationTask +type MigrationTask struct { + _ struct{} `type:"structure"` + + // Unique identifier that references the migration task. + MigrationTaskName *string `min:"1" type:"string"` + + // A name that identifies the vendor of the migration tool being used. + ProgressUpdateStream *string `min:"1" type:"string"` + + ResourceAttributeList []*ResourceAttribute `type:"list"` + + // Task object encapsulating task information. + Task *Task `type:"structure"` + + // The timestamp when the task was gathered. + UpdateDateTime *time.Time `type:"timestamp" timestampFormat:"unix"` +} + +// String returns the string representation +func (s MigrationTask) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MigrationTask) GoString() string { + return s.String() +} + +// SetMigrationTaskName sets the MigrationTaskName field's value. +func (s *MigrationTask) SetMigrationTaskName(v string) *MigrationTask { + s.MigrationTaskName = &v + return s +} + +// SetProgressUpdateStream sets the ProgressUpdateStream field's value. +func (s *MigrationTask) SetProgressUpdateStream(v string) *MigrationTask { + s.ProgressUpdateStream = &v + return s +} + +// SetResourceAttributeList sets the ResourceAttributeList field's value. +func (s *MigrationTask) SetResourceAttributeList(v []*ResourceAttribute) *MigrationTask { + s.ResourceAttributeList = v + return s +} + +// SetTask sets the Task field's value. +func (s *MigrationTask) SetTask(v *Task) *MigrationTask { + s.Task = v + return s +} + +// SetUpdateDateTime sets the UpdateDateTime field's value. +func (s *MigrationTask) SetUpdateDateTime(v time.Time) *MigrationTask { + s.UpdateDateTime = &v + return s +} + +// MigrationTaskSummary includes MigrationTaskName, ProgressPercent, ProgressUpdateStream, +// Status, and UpdateDateTime for each task. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/MigrationTaskSummary +type MigrationTaskSummary struct { + _ struct{} `type:"structure"` + + // Unique identifier that references the migration task. + MigrationTaskName *string `min:"1" type:"string"` + + ProgressPercent *int64 `type:"integer"` + + // An AWS resource used for access control. It should uniquely identify the + // migration tool as it is used for all updates made by the tool. + ProgressUpdateStream *string `min:"1" type:"string"` + + // Status of the task. + Status *string `type:"string" enum:"Status"` + + // Detail information of what is being done within the overall status state. + StatusDetail *string `type:"string"` + + // The timestamp when the task was gathered. + UpdateDateTime *time.Time `type:"timestamp" timestampFormat:"unix"` +} + +// String returns the string representation +func (s MigrationTaskSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MigrationTaskSummary) GoString() string { + return s.String() +} + +// SetMigrationTaskName sets the MigrationTaskName field's value. +func (s *MigrationTaskSummary) SetMigrationTaskName(v string) *MigrationTaskSummary { + s.MigrationTaskName = &v + return s +} + +// SetProgressPercent sets the ProgressPercent field's value. +func (s *MigrationTaskSummary) SetProgressPercent(v int64) *MigrationTaskSummary { + s.ProgressPercent = &v + return s +} + +// SetProgressUpdateStream sets the ProgressUpdateStream field's value. +func (s *MigrationTaskSummary) SetProgressUpdateStream(v string) *MigrationTaskSummary { + s.ProgressUpdateStream = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *MigrationTaskSummary) SetStatus(v string) *MigrationTaskSummary { + s.Status = &v + return s +} + +// SetStatusDetail sets the StatusDetail field's value. +func (s *MigrationTaskSummary) SetStatusDetail(v string) *MigrationTaskSummary { + s.StatusDetail = &v + return s +} + +// SetUpdateDateTime sets the UpdateDateTime field's value. +func (s *MigrationTaskSummary) SetUpdateDateTime(v time.Time) *MigrationTaskSummary { + s.UpdateDateTime = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/NotifyApplicationStateRequest +type NotifyApplicationStateInput struct { + _ struct{} `type:"structure"` + + // The configurationId in ADS that uniquely identifies the grouped application. + // + // ApplicationId is a required field + ApplicationId *string `min:"1" type:"string" required:"true"` + + // Optional boolean flag to indicate whether any effect should take place. Used + // to test if the caller has permission to make the call. + DryRun *bool `type:"boolean"` + + // Status of the application - Not Started, In-Progress, Complete. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"ApplicationStatus"` +} + +// String returns the string representation +func (s NotifyApplicationStateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NotifyApplicationStateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *NotifyApplicationStateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "NotifyApplicationStateInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *NotifyApplicationStateInput) SetApplicationId(v string) *NotifyApplicationStateInput { + s.ApplicationId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *NotifyApplicationStateInput) SetDryRun(v bool) *NotifyApplicationStateInput { + s.DryRun = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *NotifyApplicationStateInput) SetStatus(v string) *NotifyApplicationStateInput { + s.Status = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/NotifyApplicationStateResult +type NotifyApplicationStateOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s NotifyApplicationStateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NotifyApplicationStateOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/NotifyMigrationTaskStateRequest +type NotifyMigrationTaskStateInput struct { + _ struct{} `type:"structure"` + + // Optional boolean flag to indicate whether any effect should take place. Used + // to test if the caller has permission to make the call. + DryRun *bool `type:"boolean"` + + // Unique identifier that references the migration task. + // + // MigrationTaskName is a required field + MigrationTaskName *string `min:"1" type:"string" required:"true"` + + // Number of seconds after the UpdateDateTime within which the Migration Hub + // can expect an update. If Migration Hub does not receive an update within + // the specified interval, then the migration task will be considered stale. + // + // NextUpdateSeconds is a required field + NextUpdateSeconds *int64 `type:"integer" required:"true"` + + // The name of the ProgressUpdateStream. + // + // ProgressUpdateStream is a required field + ProgressUpdateStream *string `min:"1" type:"string" required:"true"` + + // Information about the task's progress and status. + // + // Task is a required field + Task *Task `type:"structure" required:"true"` + + // The timestamp when the task was gathered. + // + // UpdateDateTime is a required field + UpdateDateTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"` +} + +// String returns the string representation +func (s NotifyMigrationTaskStateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NotifyMigrationTaskStateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *NotifyMigrationTaskStateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "NotifyMigrationTaskStateInput"} + if s.MigrationTaskName == nil { + invalidParams.Add(request.NewErrParamRequired("MigrationTaskName")) + } + if s.MigrationTaskName != nil && len(*s.MigrationTaskName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MigrationTaskName", 1)) + } + if s.NextUpdateSeconds == nil { + invalidParams.Add(request.NewErrParamRequired("NextUpdateSeconds")) + } + if s.ProgressUpdateStream == nil { + invalidParams.Add(request.NewErrParamRequired("ProgressUpdateStream")) + } + if s.ProgressUpdateStream != nil && len(*s.ProgressUpdateStream) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProgressUpdateStream", 1)) + } + if s.Task == nil { + invalidParams.Add(request.NewErrParamRequired("Task")) + } + if s.UpdateDateTime == nil { + invalidParams.Add(request.NewErrParamRequired("UpdateDateTime")) + } + if s.Task != nil { + if err := s.Task.Validate(); err != nil { + invalidParams.AddNested("Task", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *NotifyMigrationTaskStateInput) SetDryRun(v bool) *NotifyMigrationTaskStateInput { + s.DryRun = &v + return s +} + +// SetMigrationTaskName sets the MigrationTaskName field's value. +func (s *NotifyMigrationTaskStateInput) SetMigrationTaskName(v string) *NotifyMigrationTaskStateInput { + s.MigrationTaskName = &v + return s +} + +// SetNextUpdateSeconds sets the NextUpdateSeconds field's value. +func (s *NotifyMigrationTaskStateInput) SetNextUpdateSeconds(v int64) *NotifyMigrationTaskStateInput { + s.NextUpdateSeconds = &v + return s +} + +// SetProgressUpdateStream sets the ProgressUpdateStream field's value. +func (s *NotifyMigrationTaskStateInput) SetProgressUpdateStream(v string) *NotifyMigrationTaskStateInput { + s.ProgressUpdateStream = &v + return s +} + +// SetTask sets the Task field's value. +func (s *NotifyMigrationTaskStateInput) SetTask(v *Task) *NotifyMigrationTaskStateInput { + s.Task = v + return s +} + +// SetUpdateDateTime sets the UpdateDateTime field's value. +func (s *NotifyMigrationTaskStateInput) SetUpdateDateTime(v time.Time) *NotifyMigrationTaskStateInput { + s.UpdateDateTime = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/NotifyMigrationTaskStateResult +type NotifyMigrationTaskStateOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s NotifyMigrationTaskStateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NotifyMigrationTaskStateOutput) GoString() string { + return s.String() +} + +// Summary of the AWS resource used for access control that is implicitly linked +// to your AWS account. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ProgressUpdateStreamSummary +type ProgressUpdateStreamSummary struct { + _ struct{} `type:"structure"` + + // The name of the ProgressUpdateStream. + ProgressUpdateStreamName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ProgressUpdateStreamSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProgressUpdateStreamSummary) GoString() string { + return s.String() +} + +// SetProgressUpdateStreamName sets the ProgressUpdateStreamName field's value. +func (s *ProgressUpdateStreamSummary) SetProgressUpdateStreamName(v string) *ProgressUpdateStreamSummary { + s.ProgressUpdateStreamName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/PutResourceAttributesRequest +type PutResourceAttributesInput struct { + _ struct{} `type:"structure"` + + // Optional boolean flag to indicate whether any effect should take place. Used + // to test if the caller has permission to make the call. + DryRun *bool `type:"boolean"` + + // Unique identifier that references the migration task. + // + // MigrationTaskName is a required field + MigrationTaskName *string `min:"1" type:"string" required:"true"` + + // The name of the ProgressUpdateStream. + // + // ProgressUpdateStream is a required field + ProgressUpdateStream *string `min:"1" type:"string" required:"true"` + + // Information about the resource that is being migrated. This data will be + // used to map the task to a resource in the Application Discovery Service (ADS)'s + // repository. + // + // ResourceAttributeList is a required field + ResourceAttributeList []*ResourceAttribute `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s PutResourceAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutResourceAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutResourceAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutResourceAttributesInput"} + if s.MigrationTaskName == nil { + invalidParams.Add(request.NewErrParamRequired("MigrationTaskName")) + } + if s.MigrationTaskName != nil && len(*s.MigrationTaskName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MigrationTaskName", 1)) + } + if s.ProgressUpdateStream == nil { + invalidParams.Add(request.NewErrParamRequired("ProgressUpdateStream")) + } + if s.ProgressUpdateStream != nil && len(*s.ProgressUpdateStream) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProgressUpdateStream", 1)) + } + if s.ResourceAttributeList == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceAttributeList")) + } + if s.ResourceAttributeList != nil && len(s.ResourceAttributeList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceAttributeList", 1)) + } + if s.ResourceAttributeList != nil { + for i, v := range s.ResourceAttributeList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceAttributeList", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *PutResourceAttributesInput) SetDryRun(v bool) *PutResourceAttributesInput { + s.DryRun = &v + return s +} + +// SetMigrationTaskName sets the MigrationTaskName field's value. +func (s *PutResourceAttributesInput) SetMigrationTaskName(v string) *PutResourceAttributesInput { + s.MigrationTaskName = &v + return s +} + +// SetProgressUpdateStream sets the ProgressUpdateStream field's value. +func (s *PutResourceAttributesInput) SetProgressUpdateStream(v string) *PutResourceAttributesInput { + s.ProgressUpdateStream = &v + return s +} + +// SetResourceAttributeList sets the ResourceAttributeList field's value. +func (s *PutResourceAttributesInput) SetResourceAttributeList(v []*ResourceAttribute) *PutResourceAttributesInput { + s.ResourceAttributeList = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/PutResourceAttributesResult +type PutResourceAttributesOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutResourceAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutResourceAttributesOutput) GoString() string { + return s.String() +} + +// Attribute associated with a resource. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ResourceAttribute +type ResourceAttribute struct { + _ struct{} `type:"structure"` + + // Type of resource. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"ResourceAttributeType"` + + // Value of the resource type. + // + // Value is a required field + Value *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ResourceAttribute) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceAttribute) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResourceAttribute) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResourceAttribute"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetType sets the Type field's value. +func (s *ResourceAttribute) SetType(v string) *ResourceAttribute { + s.Type = &v + return s +} + +// SetValue sets the Value field's value. +func (s *ResourceAttribute) SetValue(v string) *ResourceAttribute { + s.Value = &v + return s +} + +// Task object encapsulating task information. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/Task +type Task struct { + _ struct{} `type:"structure"` + + // Indication of the percentage completion of the task. + ProgressPercent *int64 `type:"integer"` + + // Status of the task - Not Started, In-Progress, Complete. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"Status"` + + // Details of task status as notified by a migration tool. A tool might use + // this field to provide clarifying information about the status that is unique + // to that tool or that explains an error state. + StatusDetail *string `type:"string"` +} + +// String returns the string representation +func (s Task) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Task) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Task) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Task"} + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProgressPercent sets the ProgressPercent field's value. +func (s *Task) SetProgressPercent(v int64) *Task { + s.ProgressPercent = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Task) SetStatus(v string) *Task { + s.Status = &v + return s +} + +// SetStatusDetail sets the StatusDetail field's value. +func (s *Task) SetStatusDetail(v string) *Task { + s.StatusDetail = &v + return s +} + +const ( + // ApplicationStatusNotStarted is a ApplicationStatus enum value + ApplicationStatusNotStarted = "NOT_STARTED" + + // ApplicationStatusInProgress is a ApplicationStatus enum value + ApplicationStatusInProgress = "IN_PROGRESS" + + // ApplicationStatusCompleted is a ApplicationStatus enum value + ApplicationStatusCompleted = "COMPLETED" +) + +const ( + // ResourceAttributeTypeIpv4Address is a ResourceAttributeType enum value + ResourceAttributeTypeIpv4Address = "IPV4_ADDRESS" + + // ResourceAttributeTypeIpv6Address is a ResourceAttributeType enum value + ResourceAttributeTypeIpv6Address = "IPV6_ADDRESS" + + // ResourceAttributeTypeMacAddress is a ResourceAttributeType enum value + ResourceAttributeTypeMacAddress = "MAC_ADDRESS" + + // ResourceAttributeTypeFqdn is a ResourceAttributeType enum value + ResourceAttributeTypeFqdn = "FQDN" + + // ResourceAttributeTypeVmManagerId is a ResourceAttributeType enum value + ResourceAttributeTypeVmManagerId = "VM_MANAGER_ID" + + // ResourceAttributeTypeVmManagedObjectReference is a ResourceAttributeType enum value + ResourceAttributeTypeVmManagedObjectReference = "VM_MANAGED_OBJECT_REFERENCE" + + // ResourceAttributeTypeVmName is a ResourceAttributeType enum value + ResourceAttributeTypeVmName = "VM_NAME" + + // ResourceAttributeTypeVmPath is a ResourceAttributeType enum value + ResourceAttributeTypeVmPath = "VM_PATH" + + // ResourceAttributeTypeBiosId is a ResourceAttributeType enum value + ResourceAttributeTypeBiosId = "BIOS_ID" + + // ResourceAttributeTypeMotherboardSerialNumber is a ResourceAttributeType enum value + ResourceAttributeTypeMotherboardSerialNumber = "MOTHERBOARD_SERIAL_NUMBER" + + // ResourceAttributeTypeLabel is a ResourceAttributeType enum value + ResourceAttributeTypeLabel = "LABEL" +) + +const ( + // StatusNotStarted is a Status enum value + StatusNotStarted = "NOT_STARTED" + + // StatusInProgress is a Status enum value + StatusInProgress = "IN_PROGRESS" + + // StatusFailed is a Status enum value + StatusFailed = "FAILED" + + // StatusCompleted is a Status enum value + StatusCompleted = "COMPLETED" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/migrationhub/doc.go b/vendor/github.com/aws/aws-sdk-go/service/migrationhub/doc.go new file mode 100644 index 000000000..b093bbd74 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/migrationhub/doc.go @@ -0,0 +1,26 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package migrationhub provides the client and types for making API +// requests to AWS Migration Hub. +// +// See https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31 for more information on this service. +// +// See migrationhub package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/migrationhub/ +// +// Using the Client +// +// To AWS Migration Hub with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the AWS Migration Hub client MigrationHub for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/migrationhub/#New +package migrationhub diff --git a/vendor/github.com/aws/aws-sdk-go/service/migrationhub/errors.go b/vendor/github.com/aws/aws-sdk-go/service/migrationhub/errors.go new file mode 100644 index 000000000..7e11cd864 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/migrationhub/errors.go @@ -0,0 +1,64 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package migrationhub + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // Exception raised when the account making the call is not whitelisted or there + // are other authentication errors. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeDryRunOperation for service response error code + // "DryRunOperation". + // + // Exception raised to indicate a successfully authorized action when the DryRun + // flag is set to "true". + ErrCodeDryRunOperation = "DryRunOperation" + + // ErrCodeInternalServerError for service response error code + // "InternalServerError". + // + // Exception raised when there is an internal, configuration, or dependency + // error encountered. + ErrCodeInternalServerError = "InternalServerError" + + // ErrCodeInvalidInputException for service response error code + // "InvalidInputException". + // + // Exception raised when the provided input violates a policy constraint or + // is entered in the wrong format or data type. + ErrCodeInvalidInputException = "InvalidInputException" + + // ErrCodePolicyErrorException for service response error code + // "PolicyErrorException". + // + // Exception raised when there are problems accessing ADS (Application Discovery + // Service); most likely due to a misconfigured policy or the ADSCaller role + // is missing or not configured correctly. + ErrCodePolicyErrorException = "PolicyErrorException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // Exception raised when the request references a resource (ADS configuration, + // update stream, migration task, etc.) that does not exist in ADS (Application + // Discovery Service) or in Migration Hub's repository. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeServiceUnavailableException for service response error code + // "ServiceUnavailableException". + // + // Exception raised when the service encounters throttled communication with + // upstream dependencies or is overloaded with requests. + ErrCodeServiceUnavailableException = "ServiceUnavailableException" + + // ErrCodeUnauthorizedOperation for service response error code + // "UnauthorizedOperation". + // + // Exception raised to indicate a request was not authorized when the DryRun + // flag is set to "true". + ErrCodeUnauthorizedOperation = "UnauthorizedOperation" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/migrationhub/migrationhubiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/migrationhub/migrationhubiface/interface.go new file mode 100644 index 000000000..7e560dc71 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/migrationhub/migrationhubiface/interface.go @@ -0,0 +1,128 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package migrationhubiface provides an interface to enable mocking the AWS Migration Hub service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package migrationhubiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/migrationhub" +) + +// MigrationHubAPI provides an interface to enable mocking the +// migrationhub.MigrationHub service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // AWS Migration Hub. +// func myFunc(svc migrationhubiface.MigrationHubAPI) bool { +// // Make svc.AssociateCreatedArtifact request +// } +// +// func main() { +// sess := session.New() +// svc := migrationhub.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockMigrationHubClient struct { +// migrationhubiface.MigrationHubAPI +// } +// func (m *mockMigrationHubClient) AssociateCreatedArtifact(input *migrationhub.AssociateCreatedArtifactInput) (*migrationhub.AssociateCreatedArtifactOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockMigrationHubClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type MigrationHubAPI interface { + AssociateCreatedArtifact(*migrationhub.AssociateCreatedArtifactInput) (*migrationhub.AssociateCreatedArtifactOutput, error) + AssociateCreatedArtifactWithContext(aws.Context, *migrationhub.AssociateCreatedArtifactInput, ...request.Option) (*migrationhub.AssociateCreatedArtifactOutput, error) + AssociateCreatedArtifactRequest(*migrationhub.AssociateCreatedArtifactInput) (*request.Request, *migrationhub.AssociateCreatedArtifactOutput) + + AssociateDiscoveredResource(*migrationhub.AssociateDiscoveredResourceInput) (*migrationhub.AssociateDiscoveredResourceOutput, error) + AssociateDiscoveredResourceWithContext(aws.Context, *migrationhub.AssociateDiscoveredResourceInput, ...request.Option) (*migrationhub.AssociateDiscoveredResourceOutput, error) + AssociateDiscoveredResourceRequest(*migrationhub.AssociateDiscoveredResourceInput) (*request.Request, *migrationhub.AssociateDiscoveredResourceOutput) + + CreateProgressUpdateStream(*migrationhub.CreateProgressUpdateStreamInput) (*migrationhub.CreateProgressUpdateStreamOutput, error) + CreateProgressUpdateStreamWithContext(aws.Context, *migrationhub.CreateProgressUpdateStreamInput, ...request.Option) (*migrationhub.CreateProgressUpdateStreamOutput, error) + CreateProgressUpdateStreamRequest(*migrationhub.CreateProgressUpdateStreamInput) (*request.Request, *migrationhub.CreateProgressUpdateStreamOutput) + + DeleteProgressUpdateStream(*migrationhub.DeleteProgressUpdateStreamInput) (*migrationhub.DeleteProgressUpdateStreamOutput, error) + DeleteProgressUpdateStreamWithContext(aws.Context, *migrationhub.DeleteProgressUpdateStreamInput, ...request.Option) (*migrationhub.DeleteProgressUpdateStreamOutput, error) + DeleteProgressUpdateStreamRequest(*migrationhub.DeleteProgressUpdateStreamInput) (*request.Request, *migrationhub.DeleteProgressUpdateStreamOutput) + + DescribeApplicationState(*migrationhub.DescribeApplicationStateInput) (*migrationhub.DescribeApplicationStateOutput, error) + DescribeApplicationStateWithContext(aws.Context, *migrationhub.DescribeApplicationStateInput, ...request.Option) (*migrationhub.DescribeApplicationStateOutput, error) + DescribeApplicationStateRequest(*migrationhub.DescribeApplicationStateInput) (*request.Request, *migrationhub.DescribeApplicationStateOutput) + + DescribeMigrationTask(*migrationhub.DescribeMigrationTaskInput) (*migrationhub.DescribeMigrationTaskOutput, error) + DescribeMigrationTaskWithContext(aws.Context, *migrationhub.DescribeMigrationTaskInput, ...request.Option) (*migrationhub.DescribeMigrationTaskOutput, error) + DescribeMigrationTaskRequest(*migrationhub.DescribeMigrationTaskInput) (*request.Request, *migrationhub.DescribeMigrationTaskOutput) + + DisassociateCreatedArtifact(*migrationhub.DisassociateCreatedArtifactInput) (*migrationhub.DisassociateCreatedArtifactOutput, error) + DisassociateCreatedArtifactWithContext(aws.Context, *migrationhub.DisassociateCreatedArtifactInput, ...request.Option) (*migrationhub.DisassociateCreatedArtifactOutput, error) + DisassociateCreatedArtifactRequest(*migrationhub.DisassociateCreatedArtifactInput) (*request.Request, *migrationhub.DisassociateCreatedArtifactOutput) + + DisassociateDiscoveredResource(*migrationhub.DisassociateDiscoveredResourceInput) (*migrationhub.DisassociateDiscoveredResourceOutput, error) + DisassociateDiscoveredResourceWithContext(aws.Context, *migrationhub.DisassociateDiscoveredResourceInput, ...request.Option) (*migrationhub.DisassociateDiscoveredResourceOutput, error) + DisassociateDiscoveredResourceRequest(*migrationhub.DisassociateDiscoveredResourceInput) (*request.Request, *migrationhub.DisassociateDiscoveredResourceOutput) + + ImportMigrationTask(*migrationhub.ImportMigrationTaskInput) (*migrationhub.ImportMigrationTaskOutput, error) + ImportMigrationTaskWithContext(aws.Context, *migrationhub.ImportMigrationTaskInput, ...request.Option) (*migrationhub.ImportMigrationTaskOutput, error) + ImportMigrationTaskRequest(*migrationhub.ImportMigrationTaskInput) (*request.Request, *migrationhub.ImportMigrationTaskOutput) + + ListCreatedArtifacts(*migrationhub.ListCreatedArtifactsInput) (*migrationhub.ListCreatedArtifactsOutput, error) + ListCreatedArtifactsWithContext(aws.Context, *migrationhub.ListCreatedArtifactsInput, ...request.Option) (*migrationhub.ListCreatedArtifactsOutput, error) + ListCreatedArtifactsRequest(*migrationhub.ListCreatedArtifactsInput) (*request.Request, *migrationhub.ListCreatedArtifactsOutput) + + ListDiscoveredResources(*migrationhub.ListDiscoveredResourcesInput) (*migrationhub.ListDiscoveredResourcesOutput, error) + ListDiscoveredResourcesWithContext(aws.Context, *migrationhub.ListDiscoveredResourcesInput, ...request.Option) (*migrationhub.ListDiscoveredResourcesOutput, error) + ListDiscoveredResourcesRequest(*migrationhub.ListDiscoveredResourcesInput) (*request.Request, *migrationhub.ListDiscoveredResourcesOutput) + + ListMigrationTasks(*migrationhub.ListMigrationTasksInput) (*migrationhub.ListMigrationTasksOutput, error) + ListMigrationTasksWithContext(aws.Context, *migrationhub.ListMigrationTasksInput, ...request.Option) (*migrationhub.ListMigrationTasksOutput, error) + ListMigrationTasksRequest(*migrationhub.ListMigrationTasksInput) (*request.Request, *migrationhub.ListMigrationTasksOutput) + + ListProgressUpdateStreams(*migrationhub.ListProgressUpdateStreamsInput) (*migrationhub.ListProgressUpdateStreamsOutput, error) + ListProgressUpdateStreamsWithContext(aws.Context, *migrationhub.ListProgressUpdateStreamsInput, ...request.Option) (*migrationhub.ListProgressUpdateStreamsOutput, error) + ListProgressUpdateStreamsRequest(*migrationhub.ListProgressUpdateStreamsInput) (*request.Request, *migrationhub.ListProgressUpdateStreamsOutput) + + NotifyApplicationState(*migrationhub.NotifyApplicationStateInput) (*migrationhub.NotifyApplicationStateOutput, error) + NotifyApplicationStateWithContext(aws.Context, *migrationhub.NotifyApplicationStateInput, ...request.Option) (*migrationhub.NotifyApplicationStateOutput, error) + NotifyApplicationStateRequest(*migrationhub.NotifyApplicationStateInput) (*request.Request, *migrationhub.NotifyApplicationStateOutput) + + NotifyMigrationTaskState(*migrationhub.NotifyMigrationTaskStateInput) (*migrationhub.NotifyMigrationTaskStateOutput, error) + NotifyMigrationTaskStateWithContext(aws.Context, *migrationhub.NotifyMigrationTaskStateInput, ...request.Option) (*migrationhub.NotifyMigrationTaskStateOutput, error) + NotifyMigrationTaskStateRequest(*migrationhub.NotifyMigrationTaskStateInput) (*request.Request, *migrationhub.NotifyMigrationTaskStateOutput) + + PutResourceAttributes(*migrationhub.PutResourceAttributesInput) (*migrationhub.PutResourceAttributesOutput, error) + PutResourceAttributesWithContext(aws.Context, *migrationhub.PutResourceAttributesInput, ...request.Option) (*migrationhub.PutResourceAttributesOutput, error) + PutResourceAttributesRequest(*migrationhub.PutResourceAttributesInput) (*request.Request, *migrationhub.PutResourceAttributesOutput) +} + +var _ MigrationHubAPI = (*migrationhub.MigrationHub)(nil) diff --git a/vendor/github.com/aws/aws-sdk-go/service/migrationhub/service.go b/vendor/github.com/aws/aws-sdk-go/service/migrationhub/service.go new file mode 100644 index 000000000..e7d767fbe --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/migrationhub/service.go @@ -0,0 +1,95 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package migrationhub + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" +) + +// MigrationHub provides the API operation methods for making requests to +// AWS Migration Hub. See this package's package overview docs +// for details on the service. +// +// MigrationHub methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type MigrationHub struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "mgh" // Service endpoint prefix API calls made to. + EndpointsID = ServiceName // Service ID for Regions and Endpoints metadata. +) + +// New creates a new instance of the MigrationHub client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// // Create a MigrationHub client from just a session. +// svc := migrationhub.New(mySession) +// +// // Create a MigrationHub client with additional configuration +// svc := migrationhub.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *MigrationHub { + c := p.ClientConfig(EndpointsID, cfgs...) + return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion, c.SigningName) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion, signingName string) *MigrationHub { + svc := &MigrationHub{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2017-05-31", + JSONVersion: "1.1", + TargetPrefix: "AWSMigrationHub", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(jsonrpc.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(jsonrpc.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(jsonrpc.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(jsonrpc.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a MigrationHub operation and runs any +// custom request initialization. +func (c *MigrationHub) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/mobile/api.go b/vendor/github.com/aws/aws-sdk-go/service/mobile/api.go new file mode 100644 index 000000000..0bca027e0 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/mobile/api.go @@ -0,0 +1,1995 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package mobile + +import ( + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" +) + +const opCreateProject = "CreateProject" + +// CreateProjectRequest generates a "aws/request.Request" representing the +// client's request for the CreateProject operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateProject for more information on using the CreateProject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateProjectRequest method. +// req, resp := client.CreateProjectRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/CreateProject +func (c *Mobile) CreateProjectRequest(input *CreateProjectInput) (req *request.Request, output *CreateProjectOutput) { + op := &request.Operation{ + Name: opCreateProject, + HTTPMethod: "POST", + HTTPPath: "/projects", + } + + if input == nil { + input = &CreateProjectInput{} + } + + output = &CreateProjectOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateProject API operation for AWS Mobile. +// +// Creates an AWS Mobile Hub project. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Mobile's +// API operation CreateProject for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalFailureException "InternalFailureException" +// The service has encountered an unexpected error condition which prevents +// it from servicing the request. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is temporarily unavailable. The request should be retried after +// some time delay. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// Credentials of the caller are insufficient to authorize the request. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Too many requests have been received for this AWS account in too short a +// time. The request should be retried after some time delay. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request cannot be processed because some parameter is not valid or the +// project state prevents the operation from being performed. +// +// * ErrCodeNotFoundException "NotFoundException" +// No entity can be found with the specified identifier. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// There are too many AWS Mobile Hub projects in the account or the account +// has exceeded the maximum number of resources in some AWS service. You should +// create another sub-account using AWS Organizations or remove some resources +// and retry your request. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/CreateProject +func (c *Mobile) CreateProject(input *CreateProjectInput) (*CreateProjectOutput, error) { + req, out := c.CreateProjectRequest(input) + return out, req.Send() +} + +// CreateProjectWithContext is the same as CreateProject with the addition of +// the ability to pass a context and additional request options. +// +// See CreateProject for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Mobile) CreateProjectWithContext(ctx aws.Context, input *CreateProjectInput, opts ...request.Option) (*CreateProjectOutput, error) { + req, out := c.CreateProjectRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteProject = "DeleteProject" + +// DeleteProjectRequest generates a "aws/request.Request" representing the +// client's request for the DeleteProject operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteProject for more information on using the DeleteProject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteProjectRequest method. +// req, resp := client.DeleteProjectRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/DeleteProject +func (c *Mobile) DeleteProjectRequest(input *DeleteProjectInput) (req *request.Request, output *DeleteProjectOutput) { + op := &request.Operation{ + Name: opDeleteProject, + HTTPMethod: "DELETE", + HTTPPath: "/projects/{projectId}", + } + + if input == nil { + input = &DeleteProjectInput{} + } + + output = &DeleteProjectOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteProject API operation for AWS Mobile. +// +// Delets a project in AWS Mobile Hub. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Mobile's +// API operation DeleteProject for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalFailureException "InternalFailureException" +// The service has encountered an unexpected error condition which prevents +// it from servicing the request. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is temporarily unavailable. The request should be retried after +// some time delay. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// Credentials of the caller are insufficient to authorize the request. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Too many requests have been received for this AWS account in too short a +// time. The request should be retried after some time delay. +// +// * ErrCodeNotFoundException "NotFoundException" +// No entity can be found with the specified identifier. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/DeleteProject +func (c *Mobile) DeleteProject(input *DeleteProjectInput) (*DeleteProjectOutput, error) { + req, out := c.DeleteProjectRequest(input) + return out, req.Send() +} + +// DeleteProjectWithContext is the same as DeleteProject with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteProject for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Mobile) DeleteProjectWithContext(ctx aws.Context, input *DeleteProjectInput, opts ...request.Option) (*DeleteProjectOutput, error) { + req, out := c.DeleteProjectRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeBundle = "DescribeBundle" + +// DescribeBundleRequest generates a "aws/request.Request" representing the +// client's request for the DescribeBundle operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeBundle for more information on using the DescribeBundle +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeBundleRequest method. +// req, resp := client.DescribeBundleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/DescribeBundle +func (c *Mobile) DescribeBundleRequest(input *DescribeBundleInput) (req *request.Request, output *DescribeBundleOutput) { + op := &request.Operation{ + Name: opDescribeBundle, + HTTPMethod: "GET", + HTTPPath: "/bundles/{bundleId}", + } + + if input == nil { + input = &DescribeBundleInput{} + } + + output = &DescribeBundleOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeBundle API operation for AWS Mobile. +// +// Get the bundle details for the requested bundle id. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Mobile's +// API operation DescribeBundle for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalFailureException "InternalFailureException" +// The service has encountered an unexpected error condition which prevents +// it from servicing the request. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is temporarily unavailable. The request should be retried after +// some time delay. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// Credentials of the caller are insufficient to authorize the request. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Too many requests have been received for this AWS account in too short a +// time. The request should be retried after some time delay. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request cannot be processed because some parameter is not valid or the +// project state prevents the operation from being performed. +// +// * ErrCodeNotFoundException "NotFoundException" +// No entity can be found with the specified identifier. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/DescribeBundle +func (c *Mobile) DescribeBundle(input *DescribeBundleInput) (*DescribeBundleOutput, error) { + req, out := c.DescribeBundleRequest(input) + return out, req.Send() +} + +// DescribeBundleWithContext is the same as DescribeBundle with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeBundle for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Mobile) DescribeBundleWithContext(ctx aws.Context, input *DescribeBundleInput, opts ...request.Option) (*DescribeBundleOutput, error) { + req, out := c.DescribeBundleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeProject = "DescribeProject" + +// DescribeProjectRequest generates a "aws/request.Request" representing the +// client's request for the DescribeProject operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeProject for more information on using the DescribeProject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeProjectRequest method. +// req, resp := client.DescribeProjectRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/DescribeProject +func (c *Mobile) DescribeProjectRequest(input *DescribeProjectInput) (req *request.Request, output *DescribeProjectOutput) { + op := &request.Operation{ + Name: opDescribeProject, + HTTPMethod: "GET", + HTTPPath: "/project", + } + + if input == nil { + input = &DescribeProjectInput{} + } + + output = &DescribeProjectOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeProject API operation for AWS Mobile. +// +// Gets details about a project in AWS Mobile Hub. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Mobile's +// API operation DescribeProject for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalFailureException "InternalFailureException" +// The service has encountered an unexpected error condition which prevents +// it from servicing the request. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is temporarily unavailable. The request should be retried after +// some time delay. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// Credentials of the caller are insufficient to authorize the request. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Too many requests have been received for this AWS account in too short a +// time. The request should be retried after some time delay. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request cannot be processed because some parameter is not valid or the +// project state prevents the operation from being performed. +// +// * ErrCodeNotFoundException "NotFoundException" +// No entity can be found with the specified identifier. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/DescribeProject +func (c *Mobile) DescribeProject(input *DescribeProjectInput) (*DescribeProjectOutput, error) { + req, out := c.DescribeProjectRequest(input) + return out, req.Send() +} + +// DescribeProjectWithContext is the same as DescribeProject with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeProject for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Mobile) DescribeProjectWithContext(ctx aws.Context, input *DescribeProjectInput, opts ...request.Option) (*DescribeProjectOutput, error) { + req, out := c.DescribeProjectRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opExportBundle = "ExportBundle" + +// ExportBundleRequest generates a "aws/request.Request" representing the +// client's request for the ExportBundle operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ExportBundle for more information on using the ExportBundle +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ExportBundleRequest method. +// req, resp := client.ExportBundleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ExportBundle +func (c *Mobile) ExportBundleRequest(input *ExportBundleInput) (req *request.Request, output *ExportBundleOutput) { + op := &request.Operation{ + Name: opExportBundle, + HTTPMethod: "POST", + HTTPPath: "/bundles/{bundleId}", + } + + if input == nil { + input = &ExportBundleInput{} + } + + output = &ExportBundleOutput{} + req = c.newRequest(op, input, output) + return +} + +// ExportBundle API operation for AWS Mobile. +// +// Generates customized software development kit (SDK) and or tool packages +// used to integrate mobile web or mobile app clients with backend AWS resources. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Mobile's +// API operation ExportBundle for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalFailureException "InternalFailureException" +// The service has encountered an unexpected error condition which prevents +// it from servicing the request. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is temporarily unavailable. The request should be retried after +// some time delay. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// Credentials of the caller are insufficient to authorize the request. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Too many requests have been received for this AWS account in too short a +// time. The request should be retried after some time delay. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request cannot be processed because some parameter is not valid or the +// project state prevents the operation from being performed. +// +// * ErrCodeNotFoundException "NotFoundException" +// No entity can be found with the specified identifier. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ExportBundle +func (c *Mobile) ExportBundle(input *ExportBundleInput) (*ExportBundleOutput, error) { + req, out := c.ExportBundleRequest(input) + return out, req.Send() +} + +// ExportBundleWithContext is the same as ExportBundle with the addition of +// the ability to pass a context and additional request options. +// +// See ExportBundle for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Mobile) ExportBundleWithContext(ctx aws.Context, input *ExportBundleInput, opts ...request.Option) (*ExportBundleOutput, error) { + req, out := c.ExportBundleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opExportProject = "ExportProject" + +// ExportProjectRequest generates a "aws/request.Request" representing the +// client's request for the ExportProject operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ExportProject for more information on using the ExportProject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ExportProjectRequest method. +// req, resp := client.ExportProjectRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ExportProject +func (c *Mobile) ExportProjectRequest(input *ExportProjectInput) (req *request.Request, output *ExportProjectOutput) { + op := &request.Operation{ + Name: opExportProject, + HTTPMethod: "POST", + HTTPPath: "/exports/{projectId}", + } + + if input == nil { + input = &ExportProjectInput{} + } + + output = &ExportProjectOutput{} + req = c.newRequest(op, input, output) + return +} + +// ExportProject API operation for AWS Mobile. +// +// Exports project configuration to a snapshot which can be downloaded and shared. +// Note that mobile app push credentials are encrypted in exported projects, +// so they can only be shared successfully within the same AWS account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Mobile's +// API operation ExportProject for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalFailureException "InternalFailureException" +// The service has encountered an unexpected error condition which prevents +// it from servicing the request. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is temporarily unavailable. The request should be retried after +// some time delay. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// Credentials of the caller are insufficient to authorize the request. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Too many requests have been received for this AWS account in too short a +// time. The request should be retried after some time delay. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request cannot be processed because some parameter is not valid or the +// project state prevents the operation from being performed. +// +// * ErrCodeNotFoundException "NotFoundException" +// No entity can be found with the specified identifier. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ExportProject +func (c *Mobile) ExportProject(input *ExportProjectInput) (*ExportProjectOutput, error) { + req, out := c.ExportProjectRequest(input) + return out, req.Send() +} + +// ExportProjectWithContext is the same as ExportProject with the addition of +// the ability to pass a context and additional request options. +// +// See ExportProject for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Mobile) ExportProjectWithContext(ctx aws.Context, input *ExportProjectInput, opts ...request.Option) (*ExportProjectOutput, error) { + req, out := c.ExportProjectRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListBundles = "ListBundles" + +// ListBundlesRequest generates a "aws/request.Request" representing the +// client's request for the ListBundles operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListBundles for more information on using the ListBundles +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListBundlesRequest method. +// req, resp := client.ListBundlesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ListBundles +func (c *Mobile) ListBundlesRequest(input *ListBundlesInput) (req *request.Request, output *ListBundlesOutput) { + op := &request.Operation{ + Name: opListBundles, + HTTPMethod: "GET", + HTTPPath: "/bundles", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListBundlesInput{} + } + + output = &ListBundlesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListBundles API operation for AWS Mobile. +// +// List all available bundles. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Mobile's +// API operation ListBundles for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalFailureException "InternalFailureException" +// The service has encountered an unexpected error condition which prevents +// it from servicing the request. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is temporarily unavailable. The request should be retried after +// some time delay. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// Credentials of the caller are insufficient to authorize the request. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Too many requests have been received for this AWS account in too short a +// time. The request should be retried after some time delay. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request cannot be processed because some parameter is not valid or the +// project state prevents the operation from being performed. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ListBundles +func (c *Mobile) ListBundles(input *ListBundlesInput) (*ListBundlesOutput, error) { + req, out := c.ListBundlesRequest(input) + return out, req.Send() +} + +// ListBundlesWithContext is the same as ListBundles with the addition of +// the ability to pass a context and additional request options. +// +// See ListBundles for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Mobile) ListBundlesWithContext(ctx aws.Context, input *ListBundlesInput, opts ...request.Option) (*ListBundlesOutput, error) { + req, out := c.ListBundlesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListBundlesPages iterates over the pages of a ListBundles operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListBundles method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListBundles operation. +// pageNum := 0 +// err := client.ListBundlesPages(params, +// func(page *ListBundlesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Mobile) ListBundlesPages(input *ListBundlesInput, fn func(*ListBundlesOutput, bool) bool) error { + return c.ListBundlesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListBundlesPagesWithContext same as ListBundlesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Mobile) ListBundlesPagesWithContext(ctx aws.Context, input *ListBundlesInput, fn func(*ListBundlesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListBundlesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListBundlesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListBundlesOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListProjects = "ListProjects" + +// ListProjectsRequest generates a "aws/request.Request" representing the +// client's request for the ListProjects operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListProjects for more information on using the ListProjects +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListProjectsRequest method. +// req, resp := client.ListProjectsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ListProjects +func (c *Mobile) ListProjectsRequest(input *ListProjectsInput) (req *request.Request, output *ListProjectsOutput) { + op := &request.Operation{ + Name: opListProjects, + HTTPMethod: "GET", + HTTPPath: "/projects", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListProjectsInput{} + } + + output = &ListProjectsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListProjects API operation for AWS Mobile. +// +// Lists projects in AWS Mobile Hub. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Mobile's +// API operation ListProjects for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalFailureException "InternalFailureException" +// The service has encountered an unexpected error condition which prevents +// it from servicing the request. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is temporarily unavailable. The request should be retried after +// some time delay. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// Credentials of the caller are insufficient to authorize the request. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Too many requests have been received for this AWS account in too short a +// time. The request should be retried after some time delay. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request cannot be processed because some parameter is not valid or the +// project state prevents the operation from being performed. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ListProjects +func (c *Mobile) ListProjects(input *ListProjectsInput) (*ListProjectsOutput, error) { + req, out := c.ListProjectsRequest(input) + return out, req.Send() +} + +// ListProjectsWithContext is the same as ListProjects with the addition of +// the ability to pass a context and additional request options. +// +// See ListProjects for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Mobile) ListProjectsWithContext(ctx aws.Context, input *ListProjectsInput, opts ...request.Option) (*ListProjectsOutput, error) { + req, out := c.ListProjectsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListProjectsPages iterates over the pages of a ListProjects operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListProjects method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListProjects operation. +// pageNum := 0 +// err := client.ListProjectsPages(params, +// func(page *ListProjectsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Mobile) ListProjectsPages(input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool) error { + return c.ListProjectsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListProjectsPagesWithContext same as ListProjectsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Mobile) ListProjectsPagesWithContext(ctx aws.Context, input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListProjectsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListProjectsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListProjectsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opUpdateProject = "UpdateProject" + +// UpdateProjectRequest generates a "aws/request.Request" representing the +// client's request for the UpdateProject operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateProject for more information on using the UpdateProject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateProjectRequest method. +// req, resp := client.UpdateProjectRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/UpdateProject +func (c *Mobile) UpdateProjectRequest(input *UpdateProjectInput) (req *request.Request, output *UpdateProjectOutput) { + op := &request.Operation{ + Name: opUpdateProject, + HTTPMethod: "POST", + HTTPPath: "/update", + } + + if input == nil { + input = &UpdateProjectInput{} + } + + output = &UpdateProjectOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateProject API operation for AWS Mobile. +// +// Update an existing project. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Mobile's +// API operation UpdateProject for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalFailureException "InternalFailureException" +// The service has encountered an unexpected error condition which prevents +// it from servicing the request. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is temporarily unavailable. The request should be retried after +// some time delay. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// Credentials of the caller are insufficient to authorize the request. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// Too many requests have been received for this AWS account in too short a +// time. The request should be retried after some time delay. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request cannot be processed because some parameter is not valid or the +// project state prevents the operation from being performed. +// +// * ErrCodeNotFoundException "NotFoundException" +// No entity can be found with the specified identifier. +// +// * ErrCodeAccountActionRequiredException "AccountActionRequiredException" +// Account Action is required in order to continue the request. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// There are too many AWS Mobile Hub projects in the account or the account +// has exceeded the maximum number of resources in some AWS service. You should +// create another sub-account using AWS Organizations or remove some resources +// and retry your request. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/UpdateProject +func (c *Mobile) UpdateProject(input *UpdateProjectInput) (*UpdateProjectOutput, error) { + req, out := c.UpdateProjectRequest(input) + return out, req.Send() +} + +// UpdateProjectWithContext is the same as UpdateProject with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateProject for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Mobile) UpdateProjectWithContext(ctx aws.Context, input *UpdateProjectInput, opts ...request.Option) (*UpdateProjectOutput, error) { + req, out := c.UpdateProjectRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// The details of the bundle. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/BundleDetails +type BundleDetails struct { + _ struct{} `type:"structure"` + + // Developer desktop or mobile app or website platforms. + AvailablePlatforms []*string `locationName:"availablePlatforms" type:"list"` + + // Unique bundle identifier. + BundleId *string `locationName:"bundleId" type:"string"` + + // Description of the download bundle. + Description *string `locationName:"description" type:"string"` + + // Icon for the download bundle. + IconUrl *string `locationName:"iconUrl" type:"string"` + + // Title of the download bundle. + Title *string `locationName:"title" type:"string"` + + // Version of the download bundle. + Version *string `locationName:"version" type:"string"` +} + +// String returns the string representation +func (s BundleDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BundleDetails) GoString() string { + return s.String() +} + +// SetAvailablePlatforms sets the AvailablePlatforms field's value. +func (s *BundleDetails) SetAvailablePlatforms(v []*string) *BundleDetails { + s.AvailablePlatforms = v + return s +} + +// SetBundleId sets the BundleId field's value. +func (s *BundleDetails) SetBundleId(v string) *BundleDetails { + s.BundleId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *BundleDetails) SetDescription(v string) *BundleDetails { + s.Description = &v + return s +} + +// SetIconUrl sets the IconUrl field's value. +func (s *BundleDetails) SetIconUrl(v string) *BundleDetails { + s.IconUrl = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *BundleDetails) SetTitle(v string) *BundleDetails { + s.Title = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *BundleDetails) SetVersion(v string) *BundleDetails { + s.Version = &v + return s +} + +// Request structure used to request a project be created. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/CreateProjectRequest +type CreateProjectInput struct { + _ struct{} `type:"structure" payload:"Contents"` + + // ZIP or YAML file which contains configuration settings to be used when creating + // the project. This may be the contents of the file downloaded from the URL + // provided in an export project operation. + Contents []byte `locationName:"contents" type:"blob"` + + // Name of the project. + Name *string `location:"querystring" locationName:"name" type:"string"` + + // Default region where project resources should be created. + Region *string `location:"querystring" locationName:"region" type:"string"` + + // Unique identifier for an exported snapshot of project configuration. This + // snapshot identifier is included in the share URL when a project is exported. + SnapshotId *string `location:"querystring" locationName:"snapshotId" type:"string"` +} + +// String returns the string representation +func (s CreateProjectInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateProjectInput) GoString() string { + return s.String() +} + +// SetContents sets the Contents field's value. +func (s *CreateProjectInput) SetContents(v []byte) *CreateProjectInput { + s.Contents = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateProjectInput) SetName(v string) *CreateProjectInput { + s.Name = &v + return s +} + +// SetRegion sets the Region field's value. +func (s *CreateProjectInput) SetRegion(v string) *CreateProjectInput { + s.Region = &v + return s +} + +// SetSnapshotId sets the SnapshotId field's value. +func (s *CreateProjectInput) SetSnapshotId(v string) *CreateProjectInput { + s.SnapshotId = &v + return s +} + +// Result structure used in response to a request to create a project. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/CreateProjectResult +type CreateProjectOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about the created AWS Mobile Hub project. + Details *ProjectDetails `locationName:"details" type:"structure"` +} + +// String returns the string representation +func (s CreateProjectOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateProjectOutput) GoString() string { + return s.String() +} + +// SetDetails sets the Details field's value. +func (s *CreateProjectOutput) SetDetails(v *ProjectDetails) *CreateProjectOutput { + s.Details = v + return s +} + +// Request structure used to request a project be deleted. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/DeleteProjectRequest +type DeleteProjectInput struct { + _ struct{} `type:"structure"` + + // Unique project identifier. + // + // ProjectId is a required field + ProjectId *string `location:"uri" locationName:"projectId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteProjectInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteProjectInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteProjectInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteProjectInput"} + if s.ProjectId == nil { + invalidParams.Add(request.NewErrParamRequired("ProjectId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProjectId sets the ProjectId field's value. +func (s *DeleteProjectInput) SetProjectId(v string) *DeleteProjectInput { + s.ProjectId = &v + return s +} + +// Result structure used in response to request to delete a project. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/DeleteProjectResult +type DeleteProjectOutput struct { + _ struct{} `type:"structure"` + + // Resources which were deleted. + DeletedResources []*Resource `locationName:"deletedResources" type:"list"` + + // Resources which were not deleted, due to a risk of losing potentially important + // data or files. + OrphanedResources []*Resource `locationName:"orphanedResources" type:"list"` +} + +// String returns the string representation +func (s DeleteProjectOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteProjectOutput) GoString() string { + return s.String() +} + +// SetDeletedResources sets the DeletedResources field's value. +func (s *DeleteProjectOutput) SetDeletedResources(v []*Resource) *DeleteProjectOutput { + s.DeletedResources = v + return s +} + +// SetOrphanedResources sets the OrphanedResources field's value. +func (s *DeleteProjectOutput) SetOrphanedResources(v []*Resource) *DeleteProjectOutput { + s.OrphanedResources = v + return s +} + +// Request structure to request the details of a specific bundle. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/DescribeBundleRequest +type DescribeBundleInput struct { + _ struct{} `type:"structure"` + + // Unique bundle identifier. + // + // BundleId is a required field + BundleId *string `location:"uri" locationName:"bundleId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeBundleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeBundleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeBundleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeBundleInput"} + if s.BundleId == nil { + invalidParams.Add(request.NewErrParamRequired("BundleId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBundleId sets the BundleId field's value. +func (s *DescribeBundleInput) SetBundleId(v string) *DescribeBundleInput { + s.BundleId = &v + return s +} + +// Result structure contains the details of the bundle. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/DescribeBundleResult +type DescribeBundleOutput struct { + _ struct{} `type:"structure"` + + // The details of the bundle. + Details *BundleDetails `locationName:"details" type:"structure"` +} + +// String returns the string representation +func (s DescribeBundleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeBundleOutput) GoString() string { + return s.String() +} + +// SetDetails sets the Details field's value. +func (s *DescribeBundleOutput) SetDetails(v *BundleDetails) *DescribeBundleOutput { + s.Details = v + return s +} + +// Request structure used to request details about a project. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/DescribeProjectRequest +type DescribeProjectInput struct { + _ struct{} `type:"structure"` + + // Unique project identifier. + // + // ProjectId is a required field + ProjectId *string `location:"querystring" locationName:"projectId" type:"string" required:"true"` + + // If set to true, causes AWS Mobile Hub to synchronize information from other + // services, e.g., update state of AWS CloudFormation stacks in the AWS Mobile + // Hub project. + SyncFromResources *bool `location:"querystring" locationName:"syncFromResources" type:"boolean"` +} + +// String returns the string representation +func (s DescribeProjectInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeProjectInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeProjectInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeProjectInput"} + if s.ProjectId == nil { + invalidParams.Add(request.NewErrParamRequired("ProjectId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProjectId sets the ProjectId field's value. +func (s *DescribeProjectInput) SetProjectId(v string) *DescribeProjectInput { + s.ProjectId = &v + return s +} + +// SetSyncFromResources sets the SyncFromResources field's value. +func (s *DescribeProjectInput) SetSyncFromResources(v bool) *DescribeProjectInput { + s.SyncFromResources = &v + return s +} + +// Result structure used for requests of project details. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/DescribeProjectResult +type DescribeProjectOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about an AWS Mobile Hub project. + Details *ProjectDetails `locationName:"details" type:"structure"` +} + +// String returns the string representation +func (s DescribeProjectOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeProjectOutput) GoString() string { + return s.String() +} + +// SetDetails sets the Details field's value. +func (s *DescribeProjectOutput) SetDetails(v *ProjectDetails) *DescribeProjectOutput { + s.Details = v + return s +} + +// Request structure used to request generation of custom SDK and tool packages +// required to integrate mobile web or app clients with backed AWS resources. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ExportBundleRequest +type ExportBundleInput struct { + _ struct{} `type:"structure"` + + // Unique bundle identifier. + // + // BundleId is a required field + BundleId *string `location:"uri" locationName:"bundleId" type:"string" required:"true"` + + // Developer desktop or target application platform. + Platform *string `location:"querystring" locationName:"platform" type:"string" enum:"Platform"` + + // Unique project identifier. + ProjectId *string `location:"querystring" locationName:"projectId" type:"string"` +} + +// String returns the string representation +func (s ExportBundleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ExportBundleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ExportBundleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExportBundleInput"} + if s.BundleId == nil { + invalidParams.Add(request.NewErrParamRequired("BundleId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBundleId sets the BundleId field's value. +func (s *ExportBundleInput) SetBundleId(v string) *ExportBundleInput { + s.BundleId = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *ExportBundleInput) SetPlatform(v string) *ExportBundleInput { + s.Platform = &v + return s +} + +// SetProjectId sets the ProjectId field's value. +func (s *ExportBundleInput) SetProjectId(v string) *ExportBundleInput { + s.ProjectId = &v + return s +} + +// Result structure which contains link to download custom-generated SDK and +// tool packages used to integrate mobile web or app clients with backed AWS +// resources. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ExportBundleResult +type ExportBundleOutput struct { + _ struct{} `type:"structure"` + + // URL which contains the custom-generated SDK and tool packages used to integrate + // the client mobile app or web app with the AWS resources created by the AWS + // Mobile Hub project. + DownloadUrl *string `locationName:"downloadUrl" type:"string"` +} + +// String returns the string representation +func (s ExportBundleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ExportBundleOutput) GoString() string { + return s.String() +} + +// SetDownloadUrl sets the DownloadUrl field's value. +func (s *ExportBundleOutput) SetDownloadUrl(v string) *ExportBundleOutput { + s.DownloadUrl = &v + return s +} + +// Request structure used in requests to export project configuration details. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ExportProjectRequest +type ExportProjectInput struct { + _ struct{} `type:"structure"` + + // Unique project identifier. + // + // ProjectId is a required field + ProjectId *string `location:"uri" locationName:"projectId" type:"string" required:"true"` +} + +// String returns the string representation +func (s ExportProjectInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ExportProjectInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ExportProjectInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExportProjectInput"} + if s.ProjectId == nil { + invalidParams.Add(request.NewErrParamRequired("ProjectId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProjectId sets the ProjectId field's value. +func (s *ExportProjectInput) SetProjectId(v string) *ExportProjectInput { + s.ProjectId = &v + return s +} + +// Result structure used for requests to export project configuration details. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ExportProjectResult +type ExportProjectOutput struct { + _ struct{} `type:"structure"` + + // URL which can be used to download the exported project configuation file(s). + DownloadUrl *string `locationName:"downloadUrl" type:"string"` + + // URL which can be shared to allow other AWS users to create their own project + // in AWS Mobile Hub with the same configuration as the specified project. This + // URL pertains to a snapshot in time of the project configuration that is created + // when this API is called. If you want to share additional changes to your + // project configuration, then you will need to create and share a new snapshot + // by calling this method again. + ShareUrl *string `locationName:"shareUrl" type:"string"` + + // Unique identifier for the exported snapshot of the project configuration. + // This snapshot identifier is included in the share URL. + SnapshotId *string `locationName:"snapshotId" type:"string"` +} + +// String returns the string representation +func (s ExportProjectOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ExportProjectOutput) GoString() string { + return s.String() +} + +// SetDownloadUrl sets the DownloadUrl field's value. +func (s *ExportProjectOutput) SetDownloadUrl(v string) *ExportProjectOutput { + s.DownloadUrl = &v + return s +} + +// SetShareUrl sets the ShareUrl field's value. +func (s *ExportProjectOutput) SetShareUrl(v string) *ExportProjectOutput { + s.ShareUrl = &v + return s +} + +// SetSnapshotId sets the SnapshotId field's value. +func (s *ExportProjectOutput) SetSnapshotId(v string) *ExportProjectOutput { + s.SnapshotId = &v + return s +} + +// Request structure to request all available bundles. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ListBundlesRequest +type ListBundlesInput struct { + _ struct{} `type:"structure"` + + // Maximum number of records to list in a single response. + MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` + + // Pagination token. Set to null to start listing bundles from start. If non-null + // pagination token is returned in a result, then pass its value in here in + // another request to list more bundles. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListBundlesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListBundlesInput) GoString() string { + return s.String() +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListBundlesInput) SetMaxResults(v int64) *ListBundlesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBundlesInput) SetNextToken(v string) *ListBundlesInput { + s.NextToken = &v + return s +} + +// Result structure contains a list of all available bundles with details. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ListBundlesResult +type ListBundlesOutput struct { + _ struct{} `type:"structure"` + + // A list of bundles. + BundleList []*BundleDetails `locationName:"bundleList" type:"list"` + + // Pagination token. If non-null pagination token is returned in a result, then + // pass its value in another request to fetch more entries. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListBundlesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListBundlesOutput) GoString() string { + return s.String() +} + +// SetBundleList sets the BundleList field's value. +func (s *ListBundlesOutput) SetBundleList(v []*BundleDetails) *ListBundlesOutput { + s.BundleList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBundlesOutput) SetNextToken(v string) *ListBundlesOutput { + s.NextToken = &v + return s +} + +// Request structure used to request projects list in AWS Mobile Hub. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ListProjectsRequest +type ListProjectsInput struct { + _ struct{} `type:"structure"` + + // Maximum number of records to list in a single response. + MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` + + // Pagination token. Set to null to start listing projects from start. If non-null + // pagination token is returned in a result, then pass its value in here in + // another request to list more projects. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListProjectsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProjectsInput) GoString() string { + return s.String() +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListProjectsInput) SetMaxResults(v int64) *ListProjectsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProjectsInput) SetNextToken(v string) *ListProjectsInput { + s.NextToken = &v + return s +} + +// Result structure used for requests to list projects in AWS Mobile Hub. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ListProjectsResult +type ListProjectsOutput struct { + _ struct{} `type:"structure"` + + // Pagination token. Set to null to start listing records from start. If non-null + // pagination token is returned in a result, then pass its value in here in + // another request to list more entries. + NextToken *string `locationName:"nextToken" type:"string"` + + // List of projects. + Projects []*ProjectSummary `locationName:"projects" type:"list"` +} + +// String returns the string representation +func (s ListProjectsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProjectsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProjectsOutput) SetNextToken(v string) *ListProjectsOutput { + s.NextToken = &v + return s +} + +// SetProjects sets the Projects field's value. +func (s *ListProjectsOutput) SetProjects(v []*ProjectSummary) *ListProjectsOutput { + s.Projects = v + return s +} + +// Detailed information about an AWS Mobile Hub project. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ProjectDetails +type ProjectDetails struct { + _ struct{} `type:"structure"` + + // Website URL for this project in the AWS Mobile Hub console. + ConsoleUrl *string `locationName:"consoleUrl" type:"string"` + + // Date the project was created. + CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"unix"` + + // Date of the last modification of the project. + LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp" timestampFormat:"unix"` + + // Name of the project. + Name *string `locationName:"name" type:"string"` + + // Unique project identifier. + ProjectId *string `locationName:"projectId" type:"string"` + + // Default region to use for AWS resource creation in the AWS Mobile Hub project. + Region *string `locationName:"region" type:"string"` + + // List of AWS resources associated with a project. + Resources []*Resource `locationName:"resources" type:"list"` + + // Synchronization state for a project. + State *string `locationName:"state" type:"string" enum:"ProjectState"` +} + +// String returns the string representation +func (s ProjectDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProjectDetails) GoString() string { + return s.String() +} + +// SetConsoleUrl sets the ConsoleUrl field's value. +func (s *ProjectDetails) SetConsoleUrl(v string) *ProjectDetails { + s.ConsoleUrl = &v + return s +} + +// SetCreatedDate sets the CreatedDate field's value. +func (s *ProjectDetails) SetCreatedDate(v time.Time) *ProjectDetails { + s.CreatedDate = &v + return s +} + +// SetLastUpdatedDate sets the LastUpdatedDate field's value. +func (s *ProjectDetails) SetLastUpdatedDate(v time.Time) *ProjectDetails { + s.LastUpdatedDate = &v + return s +} + +// SetName sets the Name field's value. +func (s *ProjectDetails) SetName(v string) *ProjectDetails { + s.Name = &v + return s +} + +// SetProjectId sets the ProjectId field's value. +func (s *ProjectDetails) SetProjectId(v string) *ProjectDetails { + s.ProjectId = &v + return s +} + +// SetRegion sets the Region field's value. +func (s *ProjectDetails) SetRegion(v string) *ProjectDetails { + s.Region = &v + return s +} + +// SetResources sets the Resources field's value. +func (s *ProjectDetails) SetResources(v []*Resource) *ProjectDetails { + s.Resources = v + return s +} + +// SetState sets the State field's value. +func (s *ProjectDetails) SetState(v string) *ProjectDetails { + s.State = &v + return s +} + +// Summary information about an AWS Mobile Hub project. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ProjectSummary +type ProjectSummary struct { + _ struct{} `type:"structure"` + + // Name of the project. + Name *string `locationName:"name" type:"string"` + + // Unique project identifier. + ProjectId *string `locationName:"projectId" type:"string"` +} + +// String returns the string representation +func (s ProjectSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProjectSummary) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *ProjectSummary) SetName(v string) *ProjectSummary { + s.Name = &v + return s +} + +// SetProjectId sets the ProjectId field's value. +func (s *ProjectSummary) SetProjectId(v string) *ProjectSummary { + s.ProjectId = &v + return s +} + +// Information about an instance of an AWS resource associated with a project. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/Resource +type Resource struct { + _ struct{} `type:"structure"` + + // AWS resource name which uniquely identifies the resource in AWS systems. + Arn *string `locationName:"arn" type:"string"` + + // Key-value attribute pairs. + Attributes map[string]*string `locationName:"attributes" type:"map"` + + // Identifies which feature in AWS Mobile Hub is associated with this AWS resource. + Feature *string `locationName:"feature" type:"string"` + + // Name of the AWS resource (e.g., for an Amazon S3 bucket this is the name + // of the bucket). + Name *string `locationName:"name" type:"string"` + + // Simplified name for type of AWS resource (e.g., bucket is an Amazon S3 bucket). + Type *string `locationName:"type" type:"string"` +} + +// String returns the string representation +func (s Resource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Resource) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Resource) SetArn(v string) *Resource { + s.Arn = &v + return s +} + +// SetAttributes sets the Attributes field's value. +func (s *Resource) SetAttributes(v map[string]*string) *Resource { + s.Attributes = v + return s +} + +// SetFeature sets the Feature field's value. +func (s *Resource) SetFeature(v string) *Resource { + s.Feature = &v + return s +} + +// SetName sets the Name field's value. +func (s *Resource) SetName(v string) *Resource { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *Resource) SetType(v string) *Resource { + s.Type = &v + return s +} + +// Request structure used for requests to update project configuration. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/UpdateProjectRequest +type UpdateProjectInput struct { + _ struct{} `type:"structure" payload:"Contents"` + + // ZIP or YAML file which contains project configuration to be updated. This + // should be the contents of the file downloaded from the URL provided in an + // export project operation. + Contents []byte `locationName:"contents" type:"blob"` + + // Unique project identifier. + // + // ProjectId is a required field + ProjectId *string `location:"querystring" locationName:"projectId" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateProjectInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateProjectInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateProjectInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateProjectInput"} + if s.ProjectId == nil { + invalidParams.Add(request.NewErrParamRequired("ProjectId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContents sets the Contents field's value. +func (s *UpdateProjectInput) SetContents(v []byte) *UpdateProjectInput { + s.Contents = v + return s +} + +// SetProjectId sets the ProjectId field's value. +func (s *UpdateProjectInput) SetProjectId(v string) *UpdateProjectInput { + s.ProjectId = &v + return s +} + +// Result structure used for requests to updated project configuration. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/UpdateProjectResult +type UpdateProjectOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about the updated AWS Mobile Hub project. + Details *ProjectDetails `locationName:"details" type:"structure"` +} + +// String returns the string representation +func (s UpdateProjectOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateProjectOutput) GoString() string { + return s.String() +} + +// SetDetails sets the Details field's value. +func (s *UpdateProjectOutput) SetDetails(v *ProjectDetails) *UpdateProjectOutput { + s.Details = v + return s +} + +// Developer desktop or target mobile app or website platform. +const ( + // PlatformOsx is a Platform enum value + PlatformOsx = "OSX" + + // PlatformWindows is a Platform enum value + PlatformWindows = "WINDOWS" + + // PlatformLinux is a Platform enum value + PlatformLinux = "LINUX" + + // PlatformObjc is a Platform enum value + PlatformObjc = "OBJC" + + // PlatformSwift is a Platform enum value + PlatformSwift = "SWIFT" + + // PlatformAndroid is a Platform enum value + PlatformAndroid = "ANDROID" + + // PlatformJavascript is a Platform enum value + PlatformJavascript = "JAVASCRIPT" +) + +// Synchronization state for a project. +const ( + // ProjectStateNormal is a ProjectState enum value + ProjectStateNormal = "NORMAL" + + // ProjectStateSyncing is a ProjectState enum value + ProjectStateSyncing = "SYNCING" + + // ProjectStateImporting is a ProjectState enum value + ProjectStateImporting = "IMPORTING" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/mobile/doc.go b/vendor/github.com/aws/aws-sdk-go/service/mobile/doc.go new file mode 100644 index 000000000..97a245762 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/mobile/doc.go @@ -0,0 +1,31 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package mobile provides the client and types for making API +// requests to AWS Mobile. +// +// AWS Mobile Service provides mobile app and website developers with capabilities +// required to configure AWS resources and bootstrap their developer desktop +// projects with the necessary SDKs, constants, tools and samples to make use +// of those resources. +// +// See https://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01 for more information on this service. +// +// See mobile package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/mobile/ +// +// Using the Client +// +// To AWS Mobile with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the AWS Mobile client Mobile for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/mobile/#New +package mobile diff --git a/vendor/github.com/aws/aws-sdk-go/service/mobile/errors.go b/vendor/github.com/aws/aws-sdk-go/service/mobile/errors.go new file mode 100644 index 000000000..32aaa405e --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/mobile/errors.go @@ -0,0 +1,61 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package mobile + +const ( + + // ErrCodeAccountActionRequiredException for service response error code + // "AccountActionRequiredException". + // + // Account Action is required in order to continue the request. + ErrCodeAccountActionRequiredException = "AccountActionRequiredException" + + // ErrCodeBadRequestException for service response error code + // "BadRequestException". + // + // The request cannot be processed because some parameter is not valid or the + // project state prevents the operation from being performed. + ErrCodeBadRequestException = "BadRequestException" + + // ErrCodeInternalFailureException for service response error code + // "InternalFailureException". + // + // The service has encountered an unexpected error condition which prevents + // it from servicing the request. + ErrCodeInternalFailureException = "InternalFailureException" + + // ErrCodeLimitExceededException for service response error code + // "LimitExceededException". + // + // There are too many AWS Mobile Hub projects in the account or the account + // has exceeded the maximum number of resources in some AWS service. You should + // create another sub-account using AWS Organizations or remove some resources + // and retry your request. + ErrCodeLimitExceededException = "LimitExceededException" + + // ErrCodeNotFoundException for service response error code + // "NotFoundException". + // + // No entity can be found with the specified identifier. + ErrCodeNotFoundException = "NotFoundException" + + // ErrCodeServiceUnavailableException for service response error code + // "ServiceUnavailableException". + // + // The service is temporarily unavailable. The request should be retried after + // some time delay. + ErrCodeServiceUnavailableException = "ServiceUnavailableException" + + // ErrCodeTooManyRequestsException for service response error code + // "TooManyRequestsException". + // + // Too many requests have been received for this AWS account in too short a + // time. The request should be retried after some time delay. + ErrCodeTooManyRequestsException = "TooManyRequestsException" + + // ErrCodeUnauthorizedException for service response error code + // "UnauthorizedException". + // + // Credentials of the caller are insufficient to authorize the request. + ErrCodeUnauthorizedException = "UnauthorizedException" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/mobile/mobileiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/mobile/mobileiface/interface.go new file mode 100644 index 000000000..e860e41b3 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/mobile/mobileiface/interface.go @@ -0,0 +1,106 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package mobileiface provides an interface to enable mocking the AWS Mobile service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package mobileiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/mobile" +) + +// MobileAPI provides an interface to enable mocking the +// mobile.Mobile service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // AWS Mobile. +// func myFunc(svc mobileiface.MobileAPI) bool { +// // Make svc.CreateProject request +// } +// +// func main() { +// sess := session.New() +// svc := mobile.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockMobileClient struct { +// mobileiface.MobileAPI +// } +// func (m *mockMobileClient) CreateProject(input *mobile.CreateProjectInput) (*mobile.CreateProjectOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockMobileClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type MobileAPI interface { + CreateProject(*mobile.CreateProjectInput) (*mobile.CreateProjectOutput, error) + CreateProjectWithContext(aws.Context, *mobile.CreateProjectInput, ...request.Option) (*mobile.CreateProjectOutput, error) + CreateProjectRequest(*mobile.CreateProjectInput) (*request.Request, *mobile.CreateProjectOutput) + + DeleteProject(*mobile.DeleteProjectInput) (*mobile.DeleteProjectOutput, error) + DeleteProjectWithContext(aws.Context, *mobile.DeleteProjectInput, ...request.Option) (*mobile.DeleteProjectOutput, error) + DeleteProjectRequest(*mobile.DeleteProjectInput) (*request.Request, *mobile.DeleteProjectOutput) + + DescribeBundle(*mobile.DescribeBundleInput) (*mobile.DescribeBundleOutput, error) + DescribeBundleWithContext(aws.Context, *mobile.DescribeBundleInput, ...request.Option) (*mobile.DescribeBundleOutput, error) + DescribeBundleRequest(*mobile.DescribeBundleInput) (*request.Request, *mobile.DescribeBundleOutput) + + DescribeProject(*mobile.DescribeProjectInput) (*mobile.DescribeProjectOutput, error) + DescribeProjectWithContext(aws.Context, *mobile.DescribeProjectInput, ...request.Option) (*mobile.DescribeProjectOutput, error) + DescribeProjectRequest(*mobile.DescribeProjectInput) (*request.Request, *mobile.DescribeProjectOutput) + + ExportBundle(*mobile.ExportBundleInput) (*mobile.ExportBundleOutput, error) + ExportBundleWithContext(aws.Context, *mobile.ExportBundleInput, ...request.Option) (*mobile.ExportBundleOutput, error) + ExportBundleRequest(*mobile.ExportBundleInput) (*request.Request, *mobile.ExportBundleOutput) + + ExportProject(*mobile.ExportProjectInput) (*mobile.ExportProjectOutput, error) + ExportProjectWithContext(aws.Context, *mobile.ExportProjectInput, ...request.Option) (*mobile.ExportProjectOutput, error) + ExportProjectRequest(*mobile.ExportProjectInput) (*request.Request, *mobile.ExportProjectOutput) + + ListBundles(*mobile.ListBundlesInput) (*mobile.ListBundlesOutput, error) + ListBundlesWithContext(aws.Context, *mobile.ListBundlesInput, ...request.Option) (*mobile.ListBundlesOutput, error) + ListBundlesRequest(*mobile.ListBundlesInput) (*request.Request, *mobile.ListBundlesOutput) + + ListBundlesPages(*mobile.ListBundlesInput, func(*mobile.ListBundlesOutput, bool) bool) error + ListBundlesPagesWithContext(aws.Context, *mobile.ListBundlesInput, func(*mobile.ListBundlesOutput, bool) bool, ...request.Option) error + + ListProjects(*mobile.ListProjectsInput) (*mobile.ListProjectsOutput, error) + ListProjectsWithContext(aws.Context, *mobile.ListProjectsInput, ...request.Option) (*mobile.ListProjectsOutput, error) + ListProjectsRequest(*mobile.ListProjectsInput) (*request.Request, *mobile.ListProjectsOutput) + + ListProjectsPages(*mobile.ListProjectsInput, func(*mobile.ListProjectsOutput, bool) bool) error + ListProjectsPagesWithContext(aws.Context, *mobile.ListProjectsInput, func(*mobile.ListProjectsOutput, bool) bool, ...request.Option) error + + UpdateProject(*mobile.UpdateProjectInput) (*mobile.UpdateProjectOutput, error) + UpdateProjectWithContext(aws.Context, *mobile.UpdateProjectInput, ...request.Option) (*mobile.UpdateProjectOutput, error) + UpdateProjectRequest(*mobile.UpdateProjectInput) (*request.Request, *mobile.UpdateProjectOutput) +} + +var _ MobileAPI = (*mobile.Mobile)(nil) diff --git a/vendor/github.com/aws/aws-sdk-go/service/mobile/service.go b/vendor/github.com/aws/aws-sdk-go/service/mobile/service.go new file mode 100644 index 000000000..d334a47bf --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/mobile/service.go @@ -0,0 +1,97 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package mobile + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +// Mobile provides the API operation methods for making requests to +// AWS Mobile. See this package's package overview docs +// for details on the service. +// +// Mobile methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type Mobile struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "mobile" // Service endpoint prefix API calls made to. + EndpointsID = ServiceName // Service ID for Regions and Endpoints metadata. +) + +// New creates a new instance of the Mobile client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// // Create a Mobile client from just a session. +// svc := mobile.New(mySession) +// +// // Create a Mobile client with additional configuration +// svc := mobile.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *Mobile { + c := p.ClientConfig(EndpointsID, cfgs...) + return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion, c.SigningName) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion, signingName string) *Mobile { + if len(signingName) == 0 { + signingName = "AWSMobileHubService" + } + svc := &Mobile{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2017-07-01", + JSONVersion: "1.1", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(restjson.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a Mobile operation and runs any +// custom request initialization. +func (c *Mobile) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/mobileanalytics/api.go b/vendor/github.com/aws/aws-sdk-go/service/mobileanalytics/api.go index 49136d6d7..085e71d8a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/mobileanalytics/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/mobileanalytics/api.go @@ -16,19 +16,18 @@ const opPutEvents = "PutEvents" // PutEventsRequest generates a "aws/request.Request" representing the // client's request for the PutEvents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutEvents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutEvents method directly -// instead. +// See PutEvents for more information on using the PutEvents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutEventsRequest method. // req, resp := client.PutEventsRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/mobileanalytics/doc.go b/vendor/github.com/aws/aws-sdk-go/service/mobileanalytics/doc.go index c242ac2b9..d5272fba4 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/mobileanalytics/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/mobileanalytics/doc.go @@ -11,69 +11,17 @@ // // Using the Client // -// To use the client for Amazon Mobile Analytics you will first need -// to create a new instance of it. +// To Amazon Mobile Analytics with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := mobileanalytics.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Mobile Analytics client MobileAnalytics for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/mobileanalytics/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.PutEvents(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("PutEvents result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.PutEventsWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package mobileanalytics diff --git a/vendor/github.com/aws/aws-sdk-go/service/mobileanalytics/mobileanalyticsiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/mobileanalytics/mobileanalyticsiface/interface.go index 67f55093a..a5e7dbb65 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/mobileanalytics/mobileanalyticsiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/mobileanalytics/mobileanalyticsiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Mobile Analytics. diff --git a/vendor/github.com/aws/aws-sdk-go/service/mturk/api.go b/vendor/github.com/aws/aws-sdk-go/service/mturk/api.go index 9223ecb37..8ac841b82 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/mturk/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/mturk/api.go @@ -15,19 +15,18 @@ const opAcceptQualificationRequest = "AcceptQualificationRequest" // AcceptQualificationRequestRequest generates a "aws/request.Request" representing the // client's request for the AcceptQualificationRequest operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AcceptQualificationRequest for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AcceptQualificationRequest method directly -// instead. +// See AcceptQualificationRequest for more information on using the AcceptQualificationRequest +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AcceptQualificationRequestRequest method. // req, resp := client.AcceptQualificationRequestRequest(params) @@ -106,19 +105,18 @@ const opApproveAssignment = "ApproveAssignment" // ApproveAssignmentRequest generates a "aws/request.Request" representing the // client's request for the ApproveAssignment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ApproveAssignment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ApproveAssignment method directly -// instead. +// See ApproveAssignment for more information on using the ApproveAssignment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ApproveAssignmentRequest method. // req, resp := client.ApproveAssignmentRequest(params) @@ -208,19 +206,18 @@ const opAssociateQualificationWithWorker = "AssociateQualificationWithWorker" // AssociateQualificationWithWorkerRequest generates a "aws/request.Request" representing the // client's request for the AssociateQualificationWithWorker operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssociateQualificationWithWorker for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssociateQualificationWithWorker method directly -// instead. +// See AssociateQualificationWithWorker for more information on using the AssociateQualificationWithWorker +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssociateQualificationWithWorkerRequest method. // req, resp := client.AssociateQualificationWithWorkerRequest(params) @@ -304,19 +301,18 @@ const opCreateAdditionalAssignmentsForHIT = "CreateAdditionalAssignmentsForHIT" // CreateAdditionalAssignmentsForHITRequest generates a "aws/request.Request" representing the // client's request for the CreateAdditionalAssignmentsForHIT operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateAdditionalAssignmentsForHIT for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateAdditionalAssignmentsForHIT method directly -// instead. +// See CreateAdditionalAssignmentsForHIT for more information on using the CreateAdditionalAssignmentsForHIT +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateAdditionalAssignmentsForHITRequest method. // req, resp := client.CreateAdditionalAssignmentsForHITRequest(params) @@ -402,19 +398,18 @@ const opCreateHIT = "CreateHIT" // CreateHITRequest generates a "aws/request.Request" representing the // client's request for the CreateHIT operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateHIT for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateHIT method directly -// instead. +// See CreateHIT for more information on using the CreateHIT +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateHITRequest method. // req, resp := client.CreateHITRequest(params) @@ -507,19 +502,18 @@ const opCreateHITType = "CreateHITType" // CreateHITTypeRequest generates a "aws/request.Request" representing the // client's request for the CreateHITType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateHITType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateHITType method directly -// instead. +// See CreateHITType for more information on using the CreateHITType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateHITTypeRequest method. // req, resp := client.CreateHITTypeRequest(params) @@ -594,19 +588,18 @@ const opCreateHITWithHITType = "CreateHITWithHITType" // CreateHITWithHITTypeRequest generates a "aws/request.Request" representing the // client's request for the CreateHITWithHITType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateHITWithHITType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateHITWithHITType method directly -// instead. +// See CreateHITWithHITType for more information on using the CreateHITWithHITType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateHITWithHITTypeRequest method. // req, resp := client.CreateHITWithHITTypeRequest(params) @@ -690,19 +683,18 @@ const opCreateQualificationType = "CreateQualificationType" // CreateQualificationTypeRequest generates a "aws/request.Request" representing the // client's request for the CreateQualificationType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateQualificationType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateQualificationType method directly -// instead. +// See CreateQualificationType for more information on using the CreateQualificationType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateQualificationTypeRequest method. // req, resp := client.CreateQualificationTypeRequest(params) @@ -775,19 +767,18 @@ const opCreateWorkerBlock = "CreateWorkerBlock" // CreateWorkerBlockRequest generates a "aws/request.Request" representing the // client's request for the CreateWorkerBlock operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateWorkerBlock for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateWorkerBlock method directly -// instead. +// See CreateWorkerBlock for more information on using the CreateWorkerBlock +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateWorkerBlockRequest method. // req, resp := client.CreateWorkerBlockRequest(params) @@ -861,19 +852,18 @@ const opDeleteHIT = "DeleteHIT" // DeleteHITRequest generates a "aws/request.Request" representing the // client's request for the DeleteHIT operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteHIT for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteHIT method directly -// instead. +// See DeleteHIT for more information on using the DeleteHIT +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteHITRequest method. // req, resp := client.DeleteHITRequest(params) @@ -963,19 +953,18 @@ const opDeleteQualificationType = "DeleteQualificationType" // DeleteQualificationTypeRequest generates a "aws/request.Request" representing the // client's request for the DeleteQualificationType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteQualificationType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteQualificationType method directly -// instead. +// See DeleteQualificationType for more information on using the DeleteQualificationType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteQualificationTypeRequest method. // req, resp := client.DeleteQualificationTypeRequest(params) @@ -1059,19 +1048,18 @@ const opDeleteWorkerBlock = "DeleteWorkerBlock" // DeleteWorkerBlockRequest generates a "aws/request.Request" representing the // client's request for the DeleteWorkerBlock operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteWorkerBlock for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteWorkerBlock method directly -// instead. +// See DeleteWorkerBlock for more information on using the DeleteWorkerBlock +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteWorkerBlockRequest method. // req, resp := client.DeleteWorkerBlockRequest(params) @@ -1148,19 +1136,18 @@ const opDisassociateQualificationFromWorker = "DisassociateQualificationFromWork // DisassociateQualificationFromWorkerRequest generates a "aws/request.Request" representing the // client's request for the DisassociateQualificationFromWorker operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisassociateQualificationFromWorker for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisassociateQualificationFromWorker method directly -// instead. +// See DisassociateQualificationFromWorker for more information on using the DisassociateQualificationFromWorker +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisassociateQualificationFromWorkerRequest method. // req, resp := client.DisassociateQualificationFromWorkerRequest(params) @@ -1236,19 +1223,18 @@ const opGetAccountBalance = "GetAccountBalance" // GetAccountBalanceRequest generates a "aws/request.Request" representing the // client's request for the GetAccountBalance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetAccountBalance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetAccountBalance method directly -// instead. +// See GetAccountBalance for more information on using the GetAccountBalance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetAccountBalanceRequest method. // req, resp := client.GetAccountBalanceRequest(params) @@ -1321,19 +1307,18 @@ const opGetAssignment = "GetAssignment" // GetAssignmentRequest generates a "aws/request.Request" representing the // client's request for the GetAssignment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetAssignment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetAssignment method directly -// instead. +// See GetAssignment for more information on using the GetAssignment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetAssignmentRequest method. // req, resp := client.GetAssignmentRequest(params) @@ -1405,19 +1390,18 @@ const opGetFileUploadURL = "GetFileUploadURL" // GetFileUploadURLRequest generates a "aws/request.Request" representing the // client's request for the GetFileUploadURL operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetFileUploadURL for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetFileUploadURL method directly -// instead. +// See GetFileUploadURL for more information on using the GetFileUploadURL +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetFileUploadURLRequest method. // req, resp := client.GetFileUploadURLRequest(params) @@ -1495,19 +1479,18 @@ const opGetHIT = "GetHIT" // GetHITRequest generates a "aws/request.Request" representing the // client's request for the GetHIT operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetHIT for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetHIT method directly -// instead. +// See GetHIT for more information on using the GetHIT +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetHITRequest method. // req, resp := client.GetHITRequest(params) @@ -1579,19 +1562,18 @@ const opGetQualificationScore = "GetQualificationScore" // GetQualificationScoreRequest generates a "aws/request.Request" representing the // client's request for the GetQualificationScore operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetQualificationScore for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetQualificationScore method directly -// instead. +// See GetQualificationScore for more information on using the GetQualificationScore +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetQualificationScoreRequest method. // req, resp := client.GetQualificationScoreRequest(params) @@ -1671,19 +1653,18 @@ const opGetQualificationType = "GetQualificationType" // GetQualificationTypeRequest generates a "aws/request.Request" representing the // client's request for the GetQualificationType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetQualificationType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetQualificationType method directly -// instead. +// See GetQualificationType for more information on using the GetQualificationType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetQualificationTypeRequest method. // req, resp := client.GetQualificationTypeRequest(params) @@ -1756,19 +1737,18 @@ const opListAssignmentsForHIT = "ListAssignmentsForHIT" // ListAssignmentsForHITRequest generates a "aws/request.Request" representing the // client's request for the ListAssignmentsForHIT operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAssignmentsForHIT for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAssignmentsForHIT method directly -// instead. +// See ListAssignmentsForHIT for more information on using the ListAssignmentsForHIT +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAssignmentsForHITRequest method. // req, resp := client.ListAssignmentsForHITRequest(params) @@ -1916,19 +1896,18 @@ const opListBonusPayments = "ListBonusPayments" // ListBonusPaymentsRequest generates a "aws/request.Request" representing the // client's request for the ListBonusPayments operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListBonusPayments for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListBonusPayments method directly -// instead. +// See ListBonusPayments for more information on using the ListBonusPayments +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListBonusPaymentsRequest method. // req, resp := client.ListBonusPaymentsRequest(params) @@ -2057,19 +2036,18 @@ const opListHITs = "ListHITs" // ListHITsRequest generates a "aws/request.Request" representing the // client's request for the ListHITs operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListHITs for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListHITs method directly -// instead. +// See ListHITs for more information on using the ListHITs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListHITsRequest method. // req, resp := client.ListHITsRequest(params) @@ -2199,19 +2177,18 @@ const opListHITsForQualificationType = "ListHITsForQualificationType" // ListHITsForQualificationTypeRequest generates a "aws/request.Request" representing the // client's request for the ListHITsForQualificationType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListHITsForQualificationType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListHITsForQualificationType method directly -// instead. +// See ListHITsForQualificationType for more information on using the ListHITsForQualificationType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListHITsForQualificationTypeRequest method. // req, resp := client.ListHITsForQualificationTypeRequest(params) @@ -2342,19 +2319,18 @@ const opListQualificationRequests = "ListQualificationRequests" // ListQualificationRequestsRequest generates a "aws/request.Request" representing the // client's request for the ListQualificationRequests operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListQualificationRequests for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListQualificationRequests method directly -// instead. +// See ListQualificationRequests for more information on using the ListQualificationRequests +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListQualificationRequestsRequest method. // req, resp := client.ListQualificationRequestsRequest(params) @@ -2485,19 +2461,18 @@ const opListQualificationTypes = "ListQualificationTypes" // ListQualificationTypesRequest generates a "aws/request.Request" representing the // client's request for the ListQualificationTypes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListQualificationTypes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListQualificationTypes method directly -// instead. +// See ListQualificationTypes for more information on using the ListQualificationTypes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListQualificationTypesRequest method. // req, resp := client.ListQualificationTypesRequest(params) @@ -2628,19 +2603,18 @@ const opListReviewPolicyResultsForHIT = "ListReviewPolicyResultsForHIT" // ListReviewPolicyResultsForHITRequest generates a "aws/request.Request" representing the // client's request for the ListReviewPolicyResultsForHIT operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListReviewPolicyResultsForHIT for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListReviewPolicyResultsForHIT method directly -// instead. +// See ListReviewPolicyResultsForHIT for more information on using the ListReviewPolicyResultsForHIT +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListReviewPolicyResultsForHITRequest method. // req, resp := client.ListReviewPolicyResultsForHITRequest(params) @@ -2772,19 +2746,18 @@ const opListReviewableHITs = "ListReviewableHITs" // ListReviewableHITsRequest generates a "aws/request.Request" representing the // client's request for the ListReviewableHITs operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListReviewableHITs for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListReviewableHITs method directly -// instead. +// See ListReviewableHITs for more information on using the ListReviewableHITs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListReviewableHITsRequest method. // req, resp := client.ListReviewableHITsRequest(params) @@ -2914,19 +2887,18 @@ const opListWorkerBlocks = "ListWorkerBlocks" // ListWorkerBlocksRequest generates a "aws/request.Request" representing the // client's request for the ListWorkerBlocks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListWorkerBlocks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListWorkerBlocks method directly -// instead. +// See ListWorkerBlocks for more information on using the ListWorkerBlocks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListWorkerBlocksRequest method. // req, resp := client.ListWorkerBlocksRequest(params) @@ -3055,19 +3027,18 @@ const opListWorkersWithQualificationType = "ListWorkersWithQualificationType" // ListWorkersWithQualificationTypeRequest generates a "aws/request.Request" representing the // client's request for the ListWorkersWithQualificationType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListWorkersWithQualificationType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListWorkersWithQualificationType method directly -// instead. +// See ListWorkersWithQualificationType for more information on using the ListWorkersWithQualificationType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListWorkersWithQualificationTypeRequest method. // req, resp := client.ListWorkersWithQualificationTypeRequest(params) @@ -3196,19 +3167,18 @@ const opNotifyWorkers = "NotifyWorkers" // NotifyWorkersRequest generates a "aws/request.Request" representing the // client's request for the NotifyWorkers operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See NotifyWorkers for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the NotifyWorkers method directly -// instead. +// See NotifyWorkers for more information on using the NotifyWorkers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the NotifyWorkersRequest method. // req, resp := client.NotifyWorkersRequest(params) @@ -3284,19 +3254,18 @@ const opRejectAssignment = "RejectAssignment" // RejectAssignmentRequest generates a "aws/request.Request" representing the // client's request for the RejectAssignment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RejectAssignment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RejectAssignment method directly -// instead. +// See RejectAssignment for more information on using the RejectAssignment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RejectAssignmentRequest method. // req, resp := client.RejectAssignmentRequest(params) @@ -3376,19 +3345,18 @@ const opRejectQualificationRequest = "RejectQualificationRequest" // RejectQualificationRequestRequest generates a "aws/request.Request" representing the // client's request for the RejectQualificationRequest operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RejectQualificationRequest for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RejectQualificationRequest method directly -// instead. +// See RejectQualificationRequest for more information on using the RejectQualificationRequest +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RejectQualificationRequestRequest method. // req, resp := client.RejectQualificationRequestRequest(params) @@ -3463,19 +3431,18 @@ const opSendBonus = "SendBonus" // SendBonusRequest generates a "aws/request.Request" representing the // client's request for the SendBonus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SendBonus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SendBonus method directly -// instead. +// See SendBonus for more information on using the SendBonus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SendBonusRequest method. // req, resp := client.SendBonusRequest(params) @@ -3555,19 +3522,18 @@ const opSendTestEventNotification = "SendTestEventNotification" // SendTestEventNotificationRequest generates a "aws/request.Request" representing the // client's request for the SendTestEventNotification operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SendTestEventNotification for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SendTestEventNotification method directly -// instead. +// See SendTestEventNotification for more information on using the SendTestEventNotification +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SendTestEventNotificationRequest method. // req, resp := client.SendTestEventNotificationRequest(params) @@ -3644,19 +3610,18 @@ const opUpdateExpirationForHIT = "UpdateExpirationForHIT" // UpdateExpirationForHITRequest generates a "aws/request.Request" representing the // client's request for the UpdateExpirationForHIT operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateExpirationForHIT for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateExpirationForHIT method directly -// instead. +// See UpdateExpirationForHIT for more information on using the UpdateExpirationForHIT +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateExpirationForHITRequest method. // req, resp := client.UpdateExpirationForHITRequest(params) @@ -3730,19 +3695,18 @@ const opUpdateHITReviewStatus = "UpdateHITReviewStatus" // UpdateHITReviewStatusRequest generates a "aws/request.Request" representing the // client's request for the UpdateHITReviewStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateHITReviewStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateHITReviewStatus method directly -// instead. +// See UpdateHITReviewStatus for more information on using the UpdateHITReviewStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateHITReviewStatusRequest method. // req, resp := client.UpdateHITReviewStatusRequest(params) @@ -3816,19 +3780,18 @@ const opUpdateHITTypeOfHIT = "UpdateHITTypeOfHIT" // UpdateHITTypeOfHITRequest generates a "aws/request.Request" representing the // client's request for the UpdateHITTypeOfHIT operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateHITTypeOfHIT for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateHITTypeOfHIT method directly -// instead. +// See UpdateHITTypeOfHIT for more information on using the UpdateHITTypeOfHIT +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateHITTypeOfHITRequest method. // req, resp := client.UpdateHITTypeOfHITRequest(params) @@ -3903,19 +3866,18 @@ const opUpdateNotificationSettings = "UpdateNotificationSettings" // UpdateNotificationSettingsRequest generates a "aws/request.Request" representing the // client's request for the UpdateNotificationSettings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateNotificationSettings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateNotificationSettings method directly -// instead. +// See UpdateNotificationSettings for more information on using the UpdateNotificationSettings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateNotificationSettingsRequest method. // req, resp := client.UpdateNotificationSettingsRequest(params) @@ -3996,19 +3958,18 @@ const opUpdateQualificationType = "UpdateQualificationType" // UpdateQualificationTypeRequest generates a "aws/request.Request" representing the // client's request for the UpdateQualificationType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateQualificationType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateQualificationType method directly -// instead. +// See UpdateQualificationType for more information on using the UpdateQualificationType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateQualificationTypeRequest method. // req, resp := client.UpdateQualificationTypeRequest(params) @@ -4496,7 +4457,7 @@ type BonusPayment struct { // The ID of the assignment associated with this bonus payment. AssignmentId *string `min:"1" type:"string"` - // A string representing a numeric value. + // A string representing a currency amount. BonusAmount *string `type:"string"` // The date and time of when the bonus was granted. @@ -4559,7 +4520,9 @@ type CreateAdditionalAssignmentsForHITInput struct { HITId *string `min:"1" type:"string" required:"true"` // The number of additional assignments to request for this HIT. - NumberOfAdditionalAssignments *int64 `type:"integer"` + // + // NumberOfAdditionalAssignments is a required field + NumberOfAdditionalAssignments *int64 `type:"integer" required:"true"` // A unique identifier for this request, which allows you to retry the call // on error without extending the HIT multiple times. This is useful in cases @@ -4589,6 +4552,9 @@ func (s *CreateAdditionalAssignmentsForHITInput) Validate() error { if s.HITId != nil && len(*s.HITId) < 1 { invalidParams.Add(request.NewErrParamMinLen("HITId", 1)) } + if s.NumberOfAdditionalAssignments == nil { + invalidParams.Add(request.NewErrParamRequired("NumberOfAdditionalAssignments")) + } if s.UniqueRequestToken != nil && len(*s.UniqueRequestToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("UniqueRequestToken", 1)) } @@ -4781,6 +4747,26 @@ func (s *CreateHITInput) Validate() error { if s.UniqueRequestToken != nil && len(*s.UniqueRequestToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("UniqueRequestToken", 1)) } + if s.AssignmentReviewPolicy != nil { + if err := s.AssignmentReviewPolicy.Validate(); err != nil { + invalidParams.AddNested("AssignmentReviewPolicy", err.(request.ErrInvalidParams)) + } + } + if s.HITLayoutParameters != nil { + for i, v := range s.HITLayoutParameters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "HITLayoutParameters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.HITReviewPolicy != nil { + if err := s.HITReviewPolicy.Validate(); err != nil { + invalidParams.AddNested("HITReviewPolicy", err.(request.ErrInvalidParams)) + } + } if s.QualificationRequirements != nil { for i, v := range s.QualificationRequirements { if v == nil { @@ -5180,6 +5166,26 @@ func (s *CreateHITWithHITTypeInput) Validate() error { if s.UniqueRequestToken != nil && len(*s.UniqueRequestToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("UniqueRequestToken", 1)) } + if s.AssignmentReviewPolicy != nil { + if err := s.AssignmentReviewPolicy.Validate(); err != nil { + invalidParams.AddNested("AssignmentReviewPolicy", err.(request.ErrInvalidParams)) + } + } + if s.HITLayoutParameters != nil { + for i, v := range s.HITLayoutParameters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "HITLayoutParameters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.HITReviewPolicy != nil { + if err := s.HITReviewPolicy.Validate(); err != nil { + invalidParams.AddNested("HITReviewPolicy", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -5817,10 +5823,10 @@ func (s GetAccountBalanceInput) GoString() string { type GetAccountBalanceOutput struct { _ struct{} `type:"structure"` - // A string representing a numeric value. + // A string representing a currency amount. AvailableBalance *string `type:"string"` - // A string representing a numeric value. + // A string representing a currency amount. OnHoldBalance *string `type:"string"` } @@ -6298,7 +6304,7 @@ type HIT struct { // is visible only to the creator of the HIT. RequesterAnnotation *string `type:"string"` - // A string representing a numeric value. + // A string representing a currency amount. Reward *string `type:"string"` // The title of the HIT. @@ -6449,10 +6455,14 @@ type HITLayoutParameter struct { _ struct{} `type:"structure"` // The name of the parameter in the HITLayout. - Name *string `type:"string"` + // + // Name is a required field + Name *string `type:"string" required:"true"` // The value substituted for the parameter referenced in the HITLayout. - Value *string `type:"string"` + // + // Value is a required field + Value *string `type:"string" required:"true"` } // String returns the string representation @@ -6465,6 +6475,22 @@ func (s HITLayoutParameter) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *HITLayoutParameter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HITLayoutParameter"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetName sets the Name field's value. func (s *HITLayoutParameter) SetName(v string) *HITLayoutParameter { s.Name = &v @@ -7729,10 +7755,14 @@ func (s *Locale) SetSubdivision(v string) *Locale { type NotificationSpecification struct { _ struct{} `type:"structure"` - // The destination for notification messages. or email notifications (if Transport - // is Email), this is an email address. For Amazon Simple Queue Service (Amazon - // SQS) notifications (if Transport is SQS), this is the URL for your Amazon - // SQS queue. + // The target for notification messages. The Destination’s format is determined + // by the specified Transport: + // + // * When Transport is Email, the Destination is your email address. + // + // * When Transport is SQS, the Destination is your queue URL. + // + // * When Transport is SNS, the Destination is the ARN of your topic. // // Destination is a required field Destination *string `type:"string" required:"true"` @@ -7742,16 +7772,20 @@ type NotificationSpecification struct { // | AssignmentRejected | AssignmentApproved | HITCreated | HITExtended | HITDisposed // | HITReviewable | HITExpired | Ping. The Ping event is only valid for the // SendTestEventNotification operation. - EventTypes []*string `type:"list"` + // + // EventTypes is a required field + EventTypes []*string `type:"list" required:"true"` // The method Amazon Mechanical Turk uses to send the notification. Valid Values: - // Email | SQS. + // Email | SQS | SNS. // // Transport is a required field Transport *string `type:"string" required:"true" enum:"NotificationTransport"` // The version of the Notification API to use. Valid value is 2006-05-05. - Version *string `type:"string"` + // + // Version is a required field + Version *string `type:"string" required:"true"` } // String returns the string representation @@ -7770,9 +7804,15 @@ func (s *NotificationSpecification) Validate() error { if s.Destination == nil { invalidParams.Add(request.NewErrParamRequired("Destination")) } + if s.EventTypes == nil { + invalidParams.Add(request.NewErrParamRequired("EventTypes")) + } if s.Transport == nil { invalidParams.Add(request.NewErrParamRequired("Transport")) } + if s.Version == nil { + invalidParams.Add(request.NewErrParamRequired("Version")) + } if invalidParams.Len() > 0 { return invalidParams @@ -8468,7 +8508,9 @@ type RejectAssignmentInput struct { // A message for the Worker, which the Worker can see in the Status section // of the web site. - RequesterFeedback *string `type:"string"` + // + // RequesterFeedback is a required field + RequesterFeedback *string `type:"string" required:"true"` } // String returns the string representation @@ -8490,6 +8532,9 @@ func (s *RejectAssignmentInput) Validate() error { if s.AssignmentId != nil && len(*s.AssignmentId) < 1 { invalidParams.Add(request.NewErrParamMinLen("AssignmentId", 1)) } + if s.RequesterFeedback == nil { + invalidParams.Add(request.NewErrParamRequired("RequesterFeedback")) + } if invalidParams.Len() > 0 { return invalidParams @@ -8691,7 +8736,9 @@ type ReviewPolicy struct { Parameters []*PolicyParameter `type:"list"` // Name of a Review Policy: SimplePlurality/2011-09-01 or ScoreMyKnownAnswers/2011-09-01 - PolicyName *string `type:"string"` + // + // PolicyName is a required field + PolicyName *string `type:"string" required:"true"` } // String returns the string representation @@ -8704,6 +8751,19 @@ func (s ReviewPolicy) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReviewPolicy) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReviewPolicy"} + if s.PolicyName == nil { + invalidParams.Add(request.NewErrParamRequired("PolicyName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetParameters sets the Parameters field's value. func (s *ReviewPolicy) SetParameters(v []*PolicyParameter) *ReviewPolicy { s.Parameters = v @@ -8847,7 +8907,9 @@ type SendBonusInput struct { // A message that explains the reason for the bonus payment. The Worker receiving // the bonus can see this message. - Reason *string `type:"string"` + // + // Reason is a required field + Reason *string `type:"string" required:"true"` // A unique identifier for this request, which allows you to retry the call // on error without granting multiple bonuses. This is useful in cases such @@ -8885,6 +8947,9 @@ func (s *SendBonusInput) Validate() error { if s.BonusAmount == nil { invalidParams.Add(request.NewErrParamRequired("BonusAmount")) } + if s.Reason == nil { + invalidParams.Add(request.NewErrParamRequired("Reason")) + } if s.UniqueRequestToken != nil && len(*s.UniqueRequestToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("UniqueRequestToken", 1)) } @@ -9029,7 +9094,9 @@ type UpdateExpirationForHITInput struct { _ struct{} `type:"structure"` // The date and time at which you want the HIT to expire - ExpireAt *time.Time `type:"timestamp" timestampFormat:"unix"` + // + // ExpireAt is a required field + ExpireAt *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"` // The HIT to update. // @@ -9050,6 +9117,9 @@ func (s UpdateExpirationForHITInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateExpirationForHITInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateExpirationForHITInput"} + if s.ExpireAt == nil { + invalidParams.Add(request.NewErrParamRequired("ExpireAt")) + } if s.HITId == nil { invalidParams.Add(request.NewErrParamRequired("HITId")) } @@ -9630,6 +9700,9 @@ const ( // NotificationTransportSqs is a NotificationTransport enum value NotificationTransportSqs = "SQS" + + // NotificationTransportSns is a NotificationTransport enum value + NotificationTransportSns = "SNS" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/mturk/doc.go b/vendor/github.com/aws/aws-sdk-go/service/mturk/doc.go index dd98d5874..6d3cebcdb 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/mturk/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/mturk/doc.go @@ -12,69 +12,17 @@ // // Using the Client // -// To use the client for Amazon Mechanical Turk you will first need -// to create a new instance of it. +// To Amazon Mechanical Turk with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := mturk.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Mechanical Turk client MTurk for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/mturk/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AcceptQualificationRequest(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AcceptQualificationRequest result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AcceptQualificationRequestWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package mturk diff --git a/vendor/github.com/aws/aws-sdk-go/service/mturk/mturkiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/mturk/mturkiface/interface.go index a65509c41..3dd1ea41b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/mturk/mturkiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/mturk/mturkiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Mechanical Turk. diff --git a/vendor/github.com/aws/aws-sdk-go/service/opsworks/api.go b/vendor/github.com/aws/aws-sdk-go/service/opsworks/api.go index 82a4bd57c..a6dcfd4c7 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/opsworks/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/opsworks/api.go @@ -16,19 +16,18 @@ const opAssignInstance = "AssignInstance" // AssignInstanceRequest generates a "aws/request.Request" representing the // client's request for the AssignInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssignInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssignInstance method directly -// instead. +// See AssignInstance for more information on using the AssignInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssignInstanceRequest method. // req, resp := client.AssignInstanceRequest(params) @@ -113,19 +112,18 @@ const opAssignVolume = "AssignVolume" // AssignVolumeRequest generates a "aws/request.Request" representing the // client's request for the AssignVolume operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssignVolume for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssignVolume method directly -// instead. +// See AssignVolume for more information on using the AssignVolume +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssignVolumeRequest method. // req, resp := client.AssignVolumeRequest(params) @@ -207,19 +205,18 @@ const opAssociateElasticIp = "AssociateElasticIp" // AssociateElasticIpRequest generates a "aws/request.Request" representing the // client's request for the AssociateElasticIp operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssociateElasticIp for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssociateElasticIp method directly -// instead. +// See AssociateElasticIp for more information on using the AssociateElasticIp +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssociateElasticIpRequest method. // req, resp := client.AssociateElasticIpRequest(params) @@ -299,19 +296,18 @@ const opAttachElasticLoadBalancer = "AttachElasticLoadBalancer" // AttachElasticLoadBalancerRequest generates a "aws/request.Request" representing the // client's request for the AttachElasticLoadBalancer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AttachElasticLoadBalancer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AttachElasticLoadBalancer method directly -// instead. +// See AttachElasticLoadBalancer for more information on using the AttachElasticLoadBalancer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AttachElasticLoadBalancerRequest method. // req, resp := client.AttachElasticLoadBalancerRequest(params) @@ -396,19 +392,18 @@ const opCloneStack = "CloneStack" // CloneStackRequest generates a "aws/request.Request" representing the // client's request for the CloneStack operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CloneStack for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CloneStack method directly -// instead. +// See CloneStack for more information on using the CloneStack +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CloneStackRequest method. // req, resp := client.CloneStackRequest(params) @@ -485,19 +480,18 @@ const opCreateApp = "CreateApp" // CreateAppRequest generates a "aws/request.Request" representing the // client's request for the CreateApp operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateApp for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateApp method directly -// instead. +// See CreateApp for more information on using the CreateApp +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateAppRequest method. // req, resp := client.CreateAppRequest(params) @@ -574,19 +568,18 @@ const opCreateDeployment = "CreateDeployment" // CreateDeploymentRequest generates a "aws/request.Request" representing the // client's request for the CreateDeployment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDeployment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDeployment method directly -// instead. +// See CreateDeployment for more information on using the CreateDeployment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDeploymentRequest method. // req, resp := client.CreateDeploymentRequest(params) @@ -664,19 +657,18 @@ const opCreateInstance = "CreateInstance" // CreateInstanceRequest generates a "aws/request.Request" representing the // client's request for the CreateInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateInstance method directly -// instead. +// See CreateInstance for more information on using the CreateInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateInstanceRequest method. // req, resp := client.CreateInstanceRequest(params) @@ -753,19 +745,18 @@ const opCreateLayer = "CreateLayer" // CreateLayerRequest generates a "aws/request.Request" representing the // client's request for the CreateLayer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateLayer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateLayer method directly -// instead. +// See CreateLayer for more information on using the CreateLayer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateLayerRequest method. // req, resp := client.CreateLayerRequest(params) @@ -848,19 +839,18 @@ const opCreateStack = "CreateStack" // CreateStackRequest generates a "aws/request.Request" representing the // client's request for the CreateStack operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateStack for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateStack method directly -// instead. +// See CreateStack for more information on using the CreateStack +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateStackRequest method. // req, resp := client.CreateStackRequest(params) @@ -932,19 +922,18 @@ const opCreateUserProfile = "CreateUserProfile" // CreateUserProfileRequest generates a "aws/request.Request" representing the // client's request for the CreateUserProfile operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateUserProfile for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateUserProfile method directly -// instead. +// See CreateUserProfile for more information on using the CreateUserProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateUserProfileRequest method. // req, resp := client.CreateUserProfileRequest(params) @@ -1016,19 +1005,18 @@ const opDeleteApp = "DeleteApp" // DeleteAppRequest generates a "aws/request.Request" representing the // client's request for the DeleteApp operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteApp for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteApp method directly -// instead. +// See DeleteApp for more information on using the DeleteApp +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteAppRequest method. // req, resp := client.DeleteAppRequest(params) @@ -1106,19 +1094,18 @@ const opDeleteInstance = "DeleteInstance" // DeleteInstanceRequest generates a "aws/request.Request" representing the // client's request for the DeleteInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteInstance method directly -// instead. +// See DeleteInstance for more information on using the DeleteInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteInstanceRequest method. // req, resp := client.DeleteInstanceRequest(params) @@ -1199,19 +1186,18 @@ const opDeleteLayer = "DeleteLayer" // DeleteLayerRequest generates a "aws/request.Request" representing the // client's request for the DeleteLayer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteLayer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteLayer method directly -// instead. +// See DeleteLayer for more information on using the DeleteLayer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteLayerRequest method. // req, resp := client.DeleteLayerRequest(params) @@ -1291,19 +1277,18 @@ const opDeleteStack = "DeleteStack" // DeleteStackRequest generates a "aws/request.Request" representing the // client's request for the DeleteStack operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteStack for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteStack method directly -// instead. +// See DeleteStack for more information on using the DeleteStack +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteStackRequest method. // req, resp := client.DeleteStackRequest(params) @@ -1383,19 +1368,18 @@ const opDeleteUserProfile = "DeleteUserProfile" // DeleteUserProfileRequest generates a "aws/request.Request" representing the // client's request for the DeleteUserProfile operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteUserProfile for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteUserProfile method directly -// instead. +// See DeleteUserProfile for more information on using the DeleteUserProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteUserProfileRequest method. // req, resp := client.DeleteUserProfileRequest(params) @@ -1472,19 +1456,18 @@ const opDeregisterEcsCluster = "DeregisterEcsCluster" // DeregisterEcsClusterRequest generates a "aws/request.Request" representing the // client's request for the DeregisterEcsCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeregisterEcsCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeregisterEcsCluster method directly -// instead. +// See DeregisterEcsCluster for more information on using the DeregisterEcsCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeregisterEcsClusterRequest method. // req, resp := client.DeregisterEcsClusterRequest(params) @@ -1563,19 +1546,18 @@ const opDeregisterElasticIp = "DeregisterElasticIp" // DeregisterElasticIpRequest generates a "aws/request.Request" representing the // client's request for the DeregisterElasticIp operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeregisterElasticIp for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeregisterElasticIp method directly -// instead. +// See DeregisterElasticIp for more information on using the DeregisterElasticIp +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeregisterElasticIpRequest method. // req, resp := client.DeregisterElasticIpRequest(params) @@ -1654,19 +1636,18 @@ const opDeregisterInstance = "DeregisterInstance" // DeregisterInstanceRequest generates a "aws/request.Request" representing the // client's request for the DeregisterInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeregisterInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeregisterInstance method directly -// instead. +// See DeregisterInstance for more information on using the DeregisterInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeregisterInstanceRequest method. // req, resp := client.DeregisterInstanceRequest(params) @@ -1746,19 +1727,18 @@ const opDeregisterRdsDbInstance = "DeregisterRdsDbInstance" // DeregisterRdsDbInstanceRequest generates a "aws/request.Request" representing the // client's request for the DeregisterRdsDbInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeregisterRdsDbInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeregisterRdsDbInstance method directly -// instead. +// See DeregisterRdsDbInstance for more information on using the DeregisterRdsDbInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeregisterRdsDbInstanceRequest method. // req, resp := client.DeregisterRdsDbInstanceRequest(params) @@ -1836,19 +1816,18 @@ const opDeregisterVolume = "DeregisterVolume" // DeregisterVolumeRequest generates a "aws/request.Request" representing the // client's request for the DeregisterVolume operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeregisterVolume for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeregisterVolume method directly -// instead. +// See DeregisterVolume for more information on using the DeregisterVolume +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeregisterVolumeRequest method. // req, resp := client.DeregisterVolumeRequest(params) @@ -1927,19 +1906,18 @@ const opDescribeAgentVersions = "DescribeAgentVersions" // DescribeAgentVersionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeAgentVersions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAgentVersions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAgentVersions method directly -// instead. +// See DescribeAgentVersions for more information on using the DescribeAgentVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAgentVersionsRequest method. // req, resp := client.DescribeAgentVersionsRequest(params) @@ -2012,19 +1990,18 @@ const opDescribeApps = "DescribeApps" // DescribeAppsRequest generates a "aws/request.Request" representing the // client's request for the DescribeApps operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeApps for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeApps method directly -// instead. +// See DescribeApps for more information on using the DescribeApps +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAppsRequest method. // req, resp := client.DescribeAppsRequest(params) @@ -2102,19 +2079,18 @@ const opDescribeCommands = "DescribeCommands" // DescribeCommandsRequest generates a "aws/request.Request" representing the // client's request for the DescribeCommands operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeCommands for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeCommands method directly -// instead. +// See DescribeCommands for more information on using the DescribeCommands +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeCommandsRequest method. // req, resp := client.DescribeCommandsRequest(params) @@ -2192,19 +2168,18 @@ const opDescribeDeployments = "DescribeDeployments" // DescribeDeploymentsRequest generates a "aws/request.Request" representing the // client's request for the DescribeDeployments operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDeployments for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDeployments method directly -// instead. +// See DescribeDeployments for more information on using the DescribeDeployments +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDeploymentsRequest method. // req, resp := client.DescribeDeploymentsRequest(params) @@ -2282,19 +2257,18 @@ const opDescribeEcsClusters = "DescribeEcsClusters" // DescribeEcsClustersRequest generates a "aws/request.Request" representing the // client's request for the DescribeEcsClusters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEcsClusters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEcsClusters method directly -// instead. +// See DescribeEcsClusters for more information on using the DescribeEcsClusters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEcsClustersRequest method. // req, resp := client.DescribeEcsClustersRequest(params) @@ -2431,19 +2405,18 @@ const opDescribeElasticIps = "DescribeElasticIps" // DescribeElasticIpsRequest generates a "aws/request.Request" representing the // client's request for the DescribeElasticIps operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeElasticIps for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeElasticIps method directly -// instead. +// See DescribeElasticIps for more information on using the DescribeElasticIps +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeElasticIpsRequest method. // req, resp := client.DescribeElasticIpsRequest(params) @@ -2521,19 +2494,18 @@ const opDescribeElasticLoadBalancers = "DescribeElasticLoadBalancers" // DescribeElasticLoadBalancersRequest generates a "aws/request.Request" representing the // client's request for the DescribeElasticLoadBalancers operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeElasticLoadBalancers for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeElasticLoadBalancers method directly -// instead. +// See DescribeElasticLoadBalancers for more information on using the DescribeElasticLoadBalancers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeElasticLoadBalancersRequest method. // req, resp := client.DescribeElasticLoadBalancersRequest(params) @@ -2611,19 +2583,18 @@ const opDescribeInstances = "DescribeInstances" // DescribeInstancesRequest generates a "aws/request.Request" representing the // client's request for the DescribeInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeInstances method directly -// instead. +// See DescribeInstances for more information on using the DescribeInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeInstancesRequest method. // req, resp := client.DescribeInstancesRequest(params) @@ -2701,19 +2672,18 @@ const opDescribeLayers = "DescribeLayers" // DescribeLayersRequest generates a "aws/request.Request" representing the // client's request for the DescribeLayers operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeLayers for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeLayers method directly -// instead. +// See DescribeLayers for more information on using the DescribeLayers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeLayersRequest method. // req, resp := client.DescribeLayersRequest(params) @@ -2791,19 +2761,18 @@ const opDescribeLoadBasedAutoScaling = "DescribeLoadBasedAutoScaling" // DescribeLoadBasedAutoScalingRequest generates a "aws/request.Request" representing the // client's request for the DescribeLoadBasedAutoScaling operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeLoadBasedAutoScaling for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeLoadBasedAutoScaling method directly -// instead. +// See DescribeLoadBasedAutoScaling for more information on using the DescribeLoadBasedAutoScaling +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeLoadBasedAutoScalingRequest method. // req, resp := client.DescribeLoadBasedAutoScalingRequest(params) @@ -2881,19 +2850,18 @@ const opDescribeMyUserProfile = "DescribeMyUserProfile" // DescribeMyUserProfileRequest generates a "aws/request.Request" representing the // client's request for the DescribeMyUserProfile operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeMyUserProfile for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeMyUserProfile method directly -// instead. +// See DescribeMyUserProfile for more information on using the DescribeMyUserProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeMyUserProfileRequest method. // req, resp := client.DescribeMyUserProfileRequest(params) @@ -2960,19 +2928,18 @@ const opDescribePermissions = "DescribePermissions" // DescribePermissionsRequest generates a "aws/request.Request" representing the // client's request for the DescribePermissions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribePermissions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribePermissions method directly -// instead. +// See DescribePermissions for more information on using the DescribePermissions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribePermissionsRequest method. // req, resp := client.DescribePermissionsRequest(params) @@ -3048,19 +3015,18 @@ const opDescribeRaidArrays = "DescribeRaidArrays" // DescribeRaidArraysRequest generates a "aws/request.Request" representing the // client's request for the DescribeRaidArrays operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeRaidArrays for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeRaidArrays method directly -// instead. +// See DescribeRaidArrays for more information on using the DescribeRaidArrays +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeRaidArraysRequest method. // req, resp := client.DescribeRaidArraysRequest(params) @@ -3138,19 +3104,18 @@ const opDescribeRdsDbInstances = "DescribeRdsDbInstances" // DescribeRdsDbInstancesRequest generates a "aws/request.Request" representing the // client's request for the DescribeRdsDbInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeRdsDbInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeRdsDbInstances method directly -// instead. +// See DescribeRdsDbInstances for more information on using the DescribeRdsDbInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeRdsDbInstancesRequest method. // req, resp := client.DescribeRdsDbInstancesRequest(params) @@ -3228,19 +3193,18 @@ const opDescribeServiceErrors = "DescribeServiceErrors" // DescribeServiceErrorsRequest generates a "aws/request.Request" representing the // client's request for the DescribeServiceErrors operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeServiceErrors for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeServiceErrors method directly -// instead. +// See DescribeServiceErrors for more information on using the DescribeServiceErrors +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeServiceErrorsRequest method. // req, resp := client.DescribeServiceErrorsRequest(params) @@ -3318,19 +3282,18 @@ const opDescribeStackProvisioningParameters = "DescribeStackProvisioningParamete // DescribeStackProvisioningParametersRequest generates a "aws/request.Request" representing the // client's request for the DescribeStackProvisioningParameters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeStackProvisioningParameters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeStackProvisioningParameters method directly -// instead. +// See DescribeStackProvisioningParameters for more information on using the DescribeStackProvisioningParameters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeStackProvisioningParametersRequest method. // req, resp := client.DescribeStackProvisioningParametersRequest(params) @@ -3406,19 +3369,18 @@ const opDescribeStackSummary = "DescribeStackSummary" // DescribeStackSummaryRequest generates a "aws/request.Request" representing the // client's request for the DescribeStackSummary operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeStackSummary for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeStackSummary method directly -// instead. +// See DescribeStackSummary for more information on using the DescribeStackSummary +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeStackSummaryRequest method. // req, resp := client.DescribeStackSummaryRequest(params) @@ -3495,19 +3457,18 @@ const opDescribeStacks = "DescribeStacks" // DescribeStacksRequest generates a "aws/request.Request" representing the // client's request for the DescribeStacks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeStacks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeStacks method directly -// instead. +// See DescribeStacks for more information on using the DescribeStacks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeStacksRequest method. // req, resp := client.DescribeStacksRequest(params) @@ -3583,19 +3544,18 @@ const opDescribeTimeBasedAutoScaling = "DescribeTimeBasedAutoScaling" // DescribeTimeBasedAutoScalingRequest generates a "aws/request.Request" representing the // client's request for the DescribeTimeBasedAutoScaling operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTimeBasedAutoScaling for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTimeBasedAutoScaling method directly -// instead. +// See DescribeTimeBasedAutoScaling for more information on using the DescribeTimeBasedAutoScaling +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTimeBasedAutoScalingRequest method. // req, resp := client.DescribeTimeBasedAutoScalingRequest(params) @@ -3673,19 +3633,18 @@ const opDescribeUserProfiles = "DescribeUserProfiles" // DescribeUserProfilesRequest generates a "aws/request.Request" representing the // client's request for the DescribeUserProfiles operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeUserProfiles for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeUserProfiles method directly -// instead. +// See DescribeUserProfiles for more information on using the DescribeUserProfiles +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeUserProfilesRequest method. // req, resp := client.DescribeUserProfilesRequest(params) @@ -3760,19 +3719,18 @@ const opDescribeVolumes = "DescribeVolumes" // DescribeVolumesRequest generates a "aws/request.Request" representing the // client's request for the DescribeVolumes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeVolumes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeVolumes method directly -// instead. +// See DescribeVolumes for more information on using the DescribeVolumes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeVolumesRequest method. // req, resp := client.DescribeVolumesRequest(params) @@ -3850,19 +3808,18 @@ const opDetachElasticLoadBalancer = "DetachElasticLoadBalancer" // DetachElasticLoadBalancerRequest generates a "aws/request.Request" representing the // client's request for the DetachElasticLoadBalancer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DetachElasticLoadBalancer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DetachElasticLoadBalancer method directly -// instead. +// See DetachElasticLoadBalancer for more information on using the DetachElasticLoadBalancer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DetachElasticLoadBalancerRequest method. // req, resp := client.DetachElasticLoadBalancerRequest(params) @@ -3937,19 +3894,18 @@ const opDisassociateElasticIp = "DisassociateElasticIp" // DisassociateElasticIpRequest generates a "aws/request.Request" representing the // client's request for the DisassociateElasticIp operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisassociateElasticIp for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisassociateElasticIp method directly -// instead. +// See DisassociateElasticIp for more information on using the DisassociateElasticIp +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisassociateElasticIpRequest method. // req, resp := client.DisassociateElasticIpRequest(params) @@ -4029,19 +3985,18 @@ const opGetHostnameSuggestion = "GetHostnameSuggestion" // GetHostnameSuggestionRequest generates a "aws/request.Request" representing the // client's request for the GetHostnameSuggestion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetHostnameSuggestion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetHostnameSuggestion method directly -// instead. +// See GetHostnameSuggestion for more information on using the GetHostnameSuggestion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetHostnameSuggestionRequest method. // req, resp := client.GetHostnameSuggestionRequest(params) @@ -4118,19 +4073,18 @@ const opGrantAccess = "GrantAccess" // GrantAccessRequest generates a "aws/request.Request" representing the // client's request for the GrantAccess operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GrantAccess for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GrantAccess method directly -// instead. +// See GrantAccess for more information on using the GrantAccess +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GrantAccessRequest method. // req, resp := client.GrantAccessRequest(params) @@ -4203,19 +4157,18 @@ const opListTags = "ListTags" // ListTagsRequest generates a "aws/request.Request" representing the // client's request for the ListTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTags method directly -// instead. +// See ListTags for more information on using the ListTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTagsRequest method. // req, resp := client.ListTagsRequest(params) @@ -4286,19 +4239,18 @@ const opRebootInstance = "RebootInstance" // RebootInstanceRequest generates a "aws/request.Request" representing the // client's request for the RebootInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RebootInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RebootInstance method directly -// instead. +// See RebootInstance for more information on using the RebootInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RebootInstanceRequest method. // req, resp := client.RebootInstanceRequest(params) @@ -4377,19 +4329,18 @@ const opRegisterEcsCluster = "RegisterEcsCluster" // RegisterEcsClusterRequest generates a "aws/request.Request" representing the // client's request for the RegisterEcsCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterEcsCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterEcsCluster method directly -// instead. +// See RegisterEcsCluster for more information on using the RegisterEcsCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterEcsClusterRequest method. // req, resp := client.RegisterEcsClusterRequest(params) @@ -4467,19 +4418,18 @@ const opRegisterElasticIp = "RegisterElasticIp" // RegisterElasticIpRequest generates a "aws/request.Request" representing the // client's request for the RegisterElasticIp operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterElasticIp for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterElasticIp method directly -// instead. +// See RegisterElasticIp for more information on using the RegisterElasticIp +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterElasticIpRequest method. // req, resp := client.RegisterElasticIpRequest(params) @@ -4558,19 +4508,18 @@ const opRegisterInstance = "RegisterInstance" // RegisterInstanceRequest generates a "aws/request.Request" representing the // client's request for the RegisterInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterInstance method directly -// instead. +// See RegisterInstance for more information on using the RegisterInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterInstanceRequest method. // req, resp := client.RegisterInstanceRequest(params) @@ -4660,19 +4609,18 @@ const opRegisterRdsDbInstance = "RegisterRdsDbInstance" // RegisterRdsDbInstanceRequest generates a "aws/request.Request" representing the // client's request for the RegisterRdsDbInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterRdsDbInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterRdsDbInstance method directly -// instead. +// See RegisterRdsDbInstance for more information on using the RegisterRdsDbInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterRdsDbInstanceRequest method. // req, resp := client.RegisterRdsDbInstanceRequest(params) @@ -4750,19 +4698,18 @@ const opRegisterVolume = "RegisterVolume" // RegisterVolumeRequest generates a "aws/request.Request" representing the // client's request for the RegisterVolume operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterVolume for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterVolume method directly -// instead. +// See RegisterVolume for more information on using the RegisterVolume +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterVolumeRequest method. // req, resp := client.RegisterVolumeRequest(params) @@ -4841,19 +4788,18 @@ const opSetLoadBasedAutoScaling = "SetLoadBasedAutoScaling" // SetLoadBasedAutoScalingRequest generates a "aws/request.Request" representing the // client's request for the SetLoadBasedAutoScaling operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetLoadBasedAutoScaling for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetLoadBasedAutoScaling method directly -// instead. +// See SetLoadBasedAutoScaling for more information on using the SetLoadBasedAutoScaling +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetLoadBasedAutoScalingRequest method. // req, resp := client.SetLoadBasedAutoScalingRequest(params) @@ -4938,19 +4884,18 @@ const opSetPermission = "SetPermission" // SetPermissionRequest generates a "aws/request.Request" representing the // client's request for the SetPermission operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetPermission for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetPermission method directly -// instead. +// See SetPermission for more information on using the SetPermission +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetPermissionRequest method. // req, resp := client.SetPermissionRequest(params) @@ -5029,19 +4974,18 @@ const opSetTimeBasedAutoScaling = "SetTimeBasedAutoScaling" // SetTimeBasedAutoScalingRequest generates a "aws/request.Request" representing the // client's request for the SetTimeBasedAutoScaling operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetTimeBasedAutoScaling for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetTimeBasedAutoScaling method directly -// instead. +// See SetTimeBasedAutoScaling for more information on using the SetTimeBasedAutoScaling +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetTimeBasedAutoScalingRequest method. // req, resp := client.SetTimeBasedAutoScalingRequest(params) @@ -5121,19 +5065,18 @@ const opStartInstance = "StartInstance" // StartInstanceRequest generates a "aws/request.Request" representing the // client's request for the StartInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartInstance method directly -// instead. +// See StartInstance for more information on using the StartInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartInstanceRequest method. // req, resp := client.StartInstanceRequest(params) @@ -5212,19 +5155,18 @@ const opStartStack = "StartStack" // StartStackRequest generates a "aws/request.Request" representing the // client's request for the StartStack operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartStack for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartStack method directly -// instead. +// See StartStack for more information on using the StartStack +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartStackRequest method. // req, resp := client.StartStackRequest(params) @@ -5302,19 +5244,18 @@ const opStopInstance = "StopInstance" // StopInstanceRequest generates a "aws/request.Request" representing the // client's request for the StopInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StopInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StopInstance method directly -// instead. +// See StopInstance for more information on using the StopInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StopInstanceRequest method. // req, resp := client.StopInstanceRequest(params) @@ -5395,19 +5336,18 @@ const opStopStack = "StopStack" // StopStackRequest generates a "aws/request.Request" representing the // client's request for the StopStack operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StopStack for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StopStack method directly -// instead. +// See StopStack for more information on using the StopStack +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StopStackRequest method. // req, resp := client.StopStackRequest(params) @@ -5485,19 +5425,18 @@ const opTagResource = "TagResource" // TagResourceRequest generates a "aws/request.Request" representing the // client's request for the TagResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TagResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TagResource method directly -// instead. +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TagResourceRequest method. // req, resp := client.TagResourceRequest(params) @@ -5572,19 +5511,18 @@ const opUnassignInstance = "UnassignInstance" // UnassignInstanceRequest generates a "aws/request.Request" representing the // client's request for the UnassignInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UnassignInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UnassignInstance method directly -// instead. +// See UnassignInstance for more information on using the UnassignInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UnassignInstanceRequest method. // req, resp := client.UnassignInstanceRequest(params) @@ -5665,19 +5603,18 @@ const opUnassignVolume = "UnassignVolume" // UnassignVolumeRequest generates a "aws/request.Request" representing the // client's request for the UnassignVolume operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UnassignVolume for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UnassignVolume method directly -// instead. +// See UnassignVolume for more information on using the UnassignVolume +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UnassignVolumeRequest method. // req, resp := client.UnassignVolumeRequest(params) @@ -5756,19 +5693,18 @@ const opUntagResource = "UntagResource" // UntagResourceRequest generates a "aws/request.Request" representing the // client's request for the UntagResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UntagResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UntagResource method directly -// instead. +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UntagResourceRequest method. // req, resp := client.UntagResourceRequest(params) @@ -5841,19 +5777,18 @@ const opUpdateApp = "UpdateApp" // UpdateAppRequest generates a "aws/request.Request" representing the // client's request for the UpdateApp operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateApp for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateApp method directly -// instead. +// See UpdateApp for more information on using the UpdateApp +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateAppRequest method. // req, resp := client.UpdateAppRequest(params) @@ -5931,19 +5866,18 @@ const opUpdateElasticIp = "UpdateElasticIp" // UpdateElasticIpRequest generates a "aws/request.Request" representing the // client's request for the UpdateElasticIp operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateElasticIp for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateElasticIp method directly -// instead. +// See UpdateElasticIp for more information on using the UpdateElasticIp +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateElasticIpRequest method. // req, resp := client.UpdateElasticIpRequest(params) @@ -6022,19 +5956,18 @@ const opUpdateInstance = "UpdateInstance" // UpdateInstanceRequest generates a "aws/request.Request" representing the // client's request for the UpdateInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateInstance method directly -// instead. +// See UpdateInstance for more information on using the UpdateInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateInstanceRequest method. // req, resp := client.UpdateInstanceRequest(params) @@ -6112,19 +6045,18 @@ const opUpdateLayer = "UpdateLayer" // UpdateLayerRequest generates a "aws/request.Request" representing the // client's request for the UpdateLayer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateLayer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateLayer method directly -// instead. +// See UpdateLayer for more information on using the UpdateLayer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateLayerRequest method. // req, resp := client.UpdateLayerRequest(params) @@ -6202,19 +6134,18 @@ const opUpdateMyUserProfile = "UpdateMyUserProfile" // UpdateMyUserProfileRequest generates a "aws/request.Request" representing the // client's request for the UpdateMyUserProfile operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateMyUserProfile for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateMyUserProfile method directly -// instead. +// See UpdateMyUserProfile for more information on using the UpdateMyUserProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateMyUserProfileRequest method. // req, resp := client.UpdateMyUserProfileRequest(params) @@ -6288,19 +6219,18 @@ const opUpdateRdsDbInstance = "UpdateRdsDbInstance" // UpdateRdsDbInstanceRequest generates a "aws/request.Request" representing the // client's request for the UpdateRdsDbInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateRdsDbInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateRdsDbInstance method directly -// instead. +// See UpdateRdsDbInstance for more information on using the UpdateRdsDbInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateRdsDbInstanceRequest method. // req, resp := client.UpdateRdsDbInstanceRequest(params) @@ -6378,19 +6308,18 @@ const opUpdateStack = "UpdateStack" // UpdateStackRequest generates a "aws/request.Request" representing the // client's request for the UpdateStack operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateStack for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateStack method directly -// instead. +// See UpdateStack for more information on using the UpdateStack +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateStackRequest method. // req, resp := client.UpdateStackRequest(params) @@ -6468,19 +6397,18 @@ const opUpdateUserProfile = "UpdateUserProfile" // UpdateUserProfileRequest generates a "aws/request.Request" representing the // client's request for the UpdateUserProfile operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateUserProfile for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateUserProfile method directly -// instead. +// See UpdateUserProfile for more information on using the UpdateUserProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateUserProfileRequest method. // req, resp := client.UpdateUserProfileRequest(params) @@ -6557,19 +6485,18 @@ const opUpdateVolume = "UpdateVolume" // UpdateVolumeRequest generates a "aws/request.Request" representing the // client's request for the UpdateVolume operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateVolume for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateVolume method directly -// instead. +// See UpdateVolume for more information on using the UpdateVolume +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateVolumeRequest method. // req, resp := client.UpdateVolumeRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/opsworks/doc.go b/vendor/github.com/aws/aws-sdk-go/service/opsworks/doc.go index 91746b4f9..534193a11 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/opsworks/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/opsworks/doc.go @@ -81,69 +81,17 @@ // // Using the Client // -// To use the client for AWS OpsWorks you will first need -// to create a new instance of it. +// To AWS OpsWorks with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := opsworks.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS OpsWorks client OpsWorks for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/opsworks/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AssignInstance(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AssignInstance result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AssignInstanceWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package opsworks diff --git a/vendor/github.com/aws/aws-sdk-go/service/opsworks/opsworksiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/opsworks/opsworksiface/interface.go index 848f0ee8e..826f685f2 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/opsworks/opsworksiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/opsworks/opsworksiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS OpsWorks. diff --git a/vendor/github.com/aws/aws-sdk-go/service/opsworks/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/opsworks/waiters.go index 99a800a60..f30328d20 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/opsworks/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/opsworks/waiters.go @@ -11,7 +11,7 @@ import ( // WaitUntilAppExists uses the AWS OpsWorks API operation // DescribeApps to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *OpsWorks) WaitUntilAppExists(input *DescribeAppsInput) error { return c.WaitUntilAppExistsWithContext(aws.BackgroundContext(), input) @@ -62,7 +62,7 @@ func (c *OpsWorks) WaitUntilAppExistsWithContext(ctx aws.Context, input *Describ // WaitUntilDeploymentSuccessful uses the AWS OpsWorks API operation // DescribeDeployments to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *OpsWorks) WaitUntilDeploymentSuccessful(input *DescribeDeploymentsInput) error { return c.WaitUntilDeploymentSuccessfulWithContext(aws.BackgroundContext(), input) @@ -113,7 +113,7 @@ func (c *OpsWorks) WaitUntilDeploymentSuccessfulWithContext(ctx aws.Context, inp // WaitUntilInstanceOnline uses the AWS OpsWorks API operation // DescribeInstances to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *OpsWorks) WaitUntilInstanceOnline(input *DescribeInstancesInput) error { return c.WaitUntilInstanceOnlineWithContext(aws.BackgroundContext(), input) @@ -199,7 +199,7 @@ func (c *OpsWorks) WaitUntilInstanceOnlineWithContext(ctx aws.Context, input *De // WaitUntilInstanceRegistered uses the AWS OpsWorks API operation // DescribeInstances to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *OpsWorks) WaitUntilInstanceRegistered(input *DescribeInstancesInput) error { return c.WaitUntilInstanceRegisteredWithContext(aws.BackgroundContext(), input) @@ -280,7 +280,7 @@ func (c *OpsWorks) WaitUntilInstanceRegisteredWithContext(ctx aws.Context, input // WaitUntilInstanceStopped uses the AWS OpsWorks API operation // DescribeInstances to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *OpsWorks) WaitUntilInstanceStopped(input *DescribeInstancesInput) error { return c.WaitUntilInstanceStoppedWithContext(aws.BackgroundContext(), input) @@ -371,7 +371,7 @@ func (c *OpsWorks) WaitUntilInstanceStoppedWithContext(ctx aws.Context, input *D // WaitUntilInstanceTerminated uses the AWS OpsWorks API operation // DescribeInstances to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *OpsWorks) WaitUntilInstanceTerminated(input *DescribeInstancesInput) error { return c.WaitUntilInstanceTerminatedWithContext(aws.BackgroundContext(), input) diff --git a/vendor/github.com/aws/aws-sdk-go/service/opsworkscm/api.go b/vendor/github.com/aws/aws-sdk-go/service/opsworkscm/api.go index 06fd48c3a..d51d559a6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/opsworkscm/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/opsworkscm/api.go @@ -14,19 +14,18 @@ const opAssociateNode = "AssociateNode" // AssociateNodeRequest generates a "aws/request.Request" representing the // client's request for the AssociateNode operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssociateNode for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssociateNode method directly -// instead. +// See AssociateNode for more information on using the AssociateNode +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssociateNodeRequest method. // req, resp := client.AssociateNodeRequest(params) @@ -113,19 +112,18 @@ const opCreateBackup = "CreateBackup" // CreateBackupRequest generates a "aws/request.Request" representing the // client's request for the CreateBackup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateBackup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateBackup method directly -// instead. +// See CreateBackup for more information on using the CreateBackup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateBackupRequest method. // req, resp := client.CreateBackupRequest(params) @@ -216,19 +214,18 @@ const opCreateServer = "CreateServer" // CreateServerRequest generates a "aws/request.Request" representing the // client's request for the CreateServer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateServer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateServer method directly -// instead. +// See CreateServer for more information on using the CreateServer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateServerRequest method. // req, resp := client.CreateServerRequest(params) @@ -325,19 +322,18 @@ const opDeleteBackup = "DeleteBackup" // DeleteBackupRequest generates a "aws/request.Request" representing the // client's request for the DeleteBackup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteBackup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteBackup method directly -// instead. +// See DeleteBackup for more information on using the DeleteBackup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteBackupRequest method. // req, resp := client.DeleteBackupRequest(params) @@ -417,19 +413,18 @@ const opDeleteServer = "DeleteServer" // DeleteServerRequest generates a "aws/request.Request" representing the // client's request for the DeleteServer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteServer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteServer method directly -// instead. +// See DeleteServer for more information on using the DeleteServer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteServerRequest method. // req, resp := client.DeleteServerRequest(params) @@ -514,19 +509,18 @@ const opDescribeAccountAttributes = "DescribeAccountAttributes" // DescribeAccountAttributesRequest generates a "aws/request.Request" representing the // client's request for the DescribeAccountAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAccountAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAccountAttributes method directly -// instead. +// See DescribeAccountAttributes for more information on using the DescribeAccountAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAccountAttributesRequest method. // req, resp := client.DescribeAccountAttributesRequest(params) @@ -592,19 +586,18 @@ const opDescribeBackups = "DescribeBackups" // DescribeBackupsRequest generates a "aws/request.Request" representing the // client's request for the DescribeBackups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeBackups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeBackups method directly -// instead. +// See DescribeBackups for more information on using the DescribeBackups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeBackupsRequest method. // req, resp := client.DescribeBackupsRequest(params) @@ -684,19 +677,18 @@ const opDescribeEvents = "DescribeEvents" // DescribeEventsRequest generates a "aws/request.Request" representing the // client's request for the DescribeEvents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEvents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEvents method directly -// instead. +// See DescribeEvents for more information on using the DescribeEvents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEventsRequest method. // req, resp := client.DescribeEventsRequest(params) @@ -776,19 +768,18 @@ const opDescribeNodeAssociationStatus = "DescribeNodeAssociationStatus" // DescribeNodeAssociationStatusRequest generates a "aws/request.Request" representing the // client's request for the DescribeNodeAssociationStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeNodeAssociationStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeNodeAssociationStatus method directly -// instead. +// See DescribeNodeAssociationStatus for more information on using the DescribeNodeAssociationStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeNodeAssociationStatusRequest method. // req, resp := client.DescribeNodeAssociationStatusRequest(params) @@ -863,19 +854,18 @@ const opDescribeServers = "DescribeServers" // DescribeServersRequest generates a "aws/request.Request" representing the // client's request for the DescribeServers operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeServers for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeServers method directly -// instead. +// See DescribeServers for more information on using the DescribeServers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeServersRequest method. // req, resp := client.DescribeServersRequest(params) @@ -956,19 +946,18 @@ const opDisassociateNode = "DisassociateNode" // DisassociateNodeRequest generates a "aws/request.Request" representing the // client's request for the DisassociateNode operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisassociateNode for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisassociateNode method directly -// instead. +// See DisassociateNode for more information on using the DisassociateNode +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisassociateNodeRequest method. // req, resp := client.DisassociateNodeRequest(params) @@ -1051,19 +1040,18 @@ const opRestoreServer = "RestoreServer" // RestoreServerRequest generates a "aws/request.Request" representing the // client's request for the RestoreServer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RestoreServer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RestoreServer method directly -// instead. +// See RestoreServer for more information on using the RestoreServer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RestoreServerRequest method. // req, resp := client.RestoreServerRequest(params) @@ -1148,19 +1136,18 @@ const opStartMaintenance = "StartMaintenance" // StartMaintenanceRequest generates a "aws/request.Request" representing the // client's request for the StartMaintenance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartMaintenance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartMaintenance method directly -// instead. +// See StartMaintenance for more information on using the StartMaintenance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartMaintenanceRequest method. // req, resp := client.StartMaintenanceRequest(params) @@ -1243,19 +1230,18 @@ const opUpdateServer = "UpdateServer" // UpdateServerRequest generates a "aws/request.Request" representing the // client's request for the UpdateServer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateServer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateServer method directly -// instead. +// See UpdateServer for more information on using the UpdateServer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateServerRequest method. // req, resp := client.UpdateServerRequest(params) @@ -1332,19 +1318,18 @@ const opUpdateServerEngineAttributes = "UpdateServerEngineAttributes" // UpdateServerEngineAttributesRequest generates a "aws/request.Request" representing the // client's request for the UpdateServerEngineAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateServerEngineAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateServerEngineAttributes method directly -// instead. +// See UpdateServerEngineAttributes for more information on using the UpdateServerEngineAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateServerEngineAttributesRequest method. // req, resp := client.UpdateServerEngineAttributesRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/opsworkscm/doc.go b/vendor/github.com/aws/aws-sdk-go/service/opsworkscm/doc.go index ea573bd61..0d8ba1ac9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/opsworkscm/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/opsworkscm/doc.go @@ -59,69 +59,17 @@ // // Using the Client // -// To use the client for AWS OpsWorks for Chef Automate you will first need -// to create a new instance of it. +// To AWS OpsWorks for Chef Automate with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := opsworkscm.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS OpsWorks for Chef Automate client OpsWorksCM for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/opsworkscm/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AssociateNode(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AssociateNode result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AssociateNodeWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package opsworkscm diff --git a/vendor/github.com/aws/aws-sdk-go/service/opsworkscm/opsworkscmiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/opsworkscm/opsworkscmiface/interface.go index 17aa96590..699edc53c 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/opsworkscm/opsworkscmiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/opsworkscm/opsworkscmiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS OpsWorks for Chef Automate. diff --git a/vendor/github.com/aws/aws-sdk-go/service/organizations/api.go b/vendor/github.com/aws/aws-sdk-go/service/organizations/api.go index dc6b91a53..1319e2eeb 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/organizations/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/organizations/api.go @@ -16,19 +16,18 @@ const opAcceptHandshake = "AcceptHandshake" // AcceptHandshakeRequest generates a "aws/request.Request" representing the // client's request for the AcceptHandshake operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AcceptHandshake for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AcceptHandshake method directly -// instead. +// See AcceptHandshake for more information on using the AcceptHandshake +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AcceptHandshakeRequest method. // req, resp := client.AcceptHandshakeRequest(params) @@ -106,6 +105,10 @@ func (c *Organizations) AcceptHandshakeRequest(input *AcceptHandshakeInput) (req // the number of accounts in an organization. Note: deleted and closed accounts // still count toward your limit. // +// If you get an exception that indicates that you exceeded your account limits +// for the organization or that you can"t add an account because your organization +// is still initializing, please contact AWS Customer Support (https://console.aws.amazon.com/support/home#/). +// // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes you can send in one day. // @@ -236,19 +239,18 @@ const opAttachPolicy = "AttachPolicy" // AttachPolicyRequest generates a "aws/request.Request" representing the // client's request for the AttachPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AttachPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AttachPolicy method directly -// instead. +// See AttachPolicy for more information on using the AttachPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AttachPolicyRequest method. // req, resp := client.AttachPolicyRequest(params) @@ -359,6 +361,10 @@ func (c *Organizations) AttachPolicyRequest(input *AttachPolicyInput) (req *requ // // Note: deleted and closed accounts still count toward your limit. // +// If you get an exception that indicates that you exceeded your account limits +// for the organization or that you can"t add an account because your organization +// is still initializing, please contact AWS Customer Support (https://console.aws.amazon.com/support/home#/). +// // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes you can send in one day. // @@ -382,20 +388,29 @@ func (c *Organizations) AttachPolicyRequest(input *AttachPolicyInput) (req *requ // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that does not yet have enough information to exist // as a stand-alone account. This account requires you to first agree to -// the End-User License Agreement (EULA). +// the AWS Customer Agreement. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that does not yet have enough information // to exist as a stand-alone account. This account requires you to first -// complete phone verification. +// complete phone verification. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization // with this account, you first must associate a payment instrument, such -// as a credit card, with the account. +// as a credit card, with the account. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation // with this member account, you first must associate a payment instrument, -// such as a credit card, with the account. +// such as a credit card, with the account. Follow the steps at To leave +// an organization when all required account information has not yet been +// provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number // of accounts that you can create in one day. @@ -407,6 +422,10 @@ func (c *Organizations) AttachPolicyRequest(input *AttachPolicyInput) (req *requ // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you +// must first provide contact a valid address and phone number for the master +// account. Then try the operation again. +// // * ErrCodeDuplicatePolicyAttachmentException "DuplicatePolicyAttachmentException" // The selected policy is already attached to the specified target. // @@ -510,19 +529,18 @@ const opCancelHandshake = "CancelHandshake" // CancelHandshakeRequest generates a "aws/request.Request" representing the // client's request for the CancelHandshake operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CancelHandshake for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CancelHandshake method directly -// instead. +// See CancelHandshake for more information on using the CancelHandshake +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CancelHandshakeRequest method. // req, resp := client.CancelHandshakeRequest(params) @@ -679,19 +697,18 @@ const opCreateAccount = "CreateAccount" // CreateAccountRequest generates a "aws/request.Request" representing the // client's request for the CreateAccount operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateAccount for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateAccount method directly -// instead. +// See CreateAccount for more information on using the CreateAccount +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateAccountRequest method. // req, resp := client.CreateAccountRequest(params) @@ -736,9 +753,14 @@ func (c *Organizations) CreateAccountRequest(input *CreateAccountInput) (req *re // in Your Organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_create.html) // in the AWS Organizations User Guide. // -// You cannot remove accounts that are created with this operation from an organization. -// That also means that you cannot delete an organization that contains an account -// that is created with this operation. +// When you create an account in an organization using the AWS Organizations +// console, API, or CLI commands, the information required for the account to +// operate as a standalone account, such as a payment method and signing the +// End User Licence Agreement (EULA) is not automatically collected. If you +// must remove an account from your organization later, you can do so only after +// you provide the missing information. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // When you create a member account with this operation, you can choose whether // to create the account with the IAM User and Role Access to Billing Information @@ -750,6 +772,10 @@ func (c *Organizations) CreateAccountRequest(input *CreateAccountInput) (req *re // // This operation can be called only from the organization's master account. // +// If you get an exception that indicates that you exceeded your account limits +// for the organization or that you can"t add an account because your organization +// is still initializing, please contact AWS Customer Support (https://console.aws.amazon.com/support/home#/). +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -790,6 +816,10 @@ func (c *Organizations) CreateAccountRequest(input *CreateAccountInput) (req *re // // Note: deleted and closed accounts still count toward your limit. // +// If you get an exception that indicates that you exceeded your account limits +// for the organization or that you can"t add an account because your organization +// is still initializing, please contact AWS Customer Support (https://console.aws.amazon.com/support/home#/). +// // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes you can send in one day. // @@ -813,20 +843,29 @@ func (c *Organizations) CreateAccountRequest(input *CreateAccountInput) (req *re // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that does not yet have enough information to exist // as a stand-alone account. This account requires you to first agree to -// the End-User License Agreement (EULA). +// the AWS Customer Agreement. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that does not yet have enough information // to exist as a stand-alone account. This account requires you to first -// complete phone verification. +// complete phone verification. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization // with this account, you first must associate a payment instrument, such -// as a credit card, with the account. +// as a credit card, with the account. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation // with this member account, you first must associate a payment instrument, -// such as a credit card, with the account. +// such as a credit card, with the account. Follow the steps at To leave +// an organization when all required account information has not yet been +// provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number // of accounts that you can create in one day. @@ -838,6 +877,10 @@ func (c *Organizations) CreateAccountRequest(input *CreateAccountInput) (req *re // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you +// must first provide contact a valid address and phone number for the master +// account. Then try the operation again. +// // * ErrCodeInvalidInputException "InvalidInputException" // The requested operation failed because you provided invalid values for one // or more of the request parameters. This exception includes a reason that @@ -929,19 +972,18 @@ const opCreateOrganization = "CreateOrganization" // CreateOrganizationRequest generates a "aws/request.Request" representing the // client's request for the CreateOrganization operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateOrganization for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateOrganization method directly -// instead. +// See CreateOrganization for more information on using the CreateOrganization +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateOrganizationRequest method. // req, resp := client.CreateOrganizationRequest(params) @@ -1025,6 +1067,10 @@ func (c *Organizations) CreateOrganizationRequest(input *CreateOrganizationInput // // Note: deleted and closed accounts still count toward your limit. // +// If you get an exception that indicates that you exceeded your account limits +// for the organization or that you can"t add an account because your organization +// is still initializing, please contact AWS Customer Support (https://console.aws.amazon.com/support/home#/). +// // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes you can send in one day. // @@ -1048,20 +1094,29 @@ func (c *Organizations) CreateOrganizationRequest(input *CreateOrganizationInput // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that does not yet have enough information to exist // as a stand-alone account. This account requires you to first agree to -// the End-User License Agreement (EULA). +// the AWS Customer Agreement. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that does not yet have enough information // to exist as a stand-alone account. This account requires you to first -// complete phone verification. +// complete phone verification. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization // with this account, you first must associate a payment instrument, such -// as a credit card, with the account. +// as a credit card, with the account. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation // with this member account, you first must associate a payment instrument, -// such as a credit card, with the account. +// such as a credit card, with the account. Follow the steps at To leave +// an organization when all required account information has not yet been +// provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number // of accounts that you can create in one day. @@ -1073,6 +1128,10 @@ func (c *Organizations) CreateOrganizationRequest(input *CreateOrganizationInput // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you +// must first provide contact a valid address and phone number for the master +// account. Then try the operation again. +// // * ErrCodeInvalidInputException "InvalidInputException" // The requested operation failed because you provided invalid values for one // or more of the request parameters. This exception includes a reason that @@ -1160,19 +1219,18 @@ const opCreateOrganizationalUnit = "CreateOrganizationalUnit" // CreateOrganizationalUnitRequest generates a "aws/request.Request" representing the // client's request for the CreateOrganizationalUnit operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateOrganizationalUnit for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateOrganizationalUnit method directly -// instead. +// See CreateOrganizationalUnit for more information on using the CreateOrganizationalUnit +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateOrganizationalUnitRequest method. // req, resp := client.CreateOrganizationalUnitRequest(params) @@ -1252,6 +1310,10 @@ func (c *Organizations) CreateOrganizationalUnitRequest(input *CreateOrganizatio // // Note: deleted and closed accounts still count toward your limit. // +// If you get an exception that indicates that you exceeded your account limits +// for the organization or that you can"t add an account because your organization +// is still initializing, please contact AWS Customer Support (https://console.aws.amazon.com/support/home#/). +// // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes you can send in one day. // @@ -1275,20 +1337,29 @@ func (c *Organizations) CreateOrganizationalUnitRequest(input *CreateOrganizatio // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that does not yet have enough information to exist // as a stand-alone account. This account requires you to first agree to -// the End-User License Agreement (EULA). +// the AWS Customer Agreement. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that does not yet have enough information // to exist as a stand-alone account. This account requires you to first -// complete phone verification. +// complete phone verification. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization // with this account, you first must associate a payment instrument, such -// as a credit card, with the account. +// as a credit card, with the account. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation // with this member account, you first must associate a payment instrument, -// such as a credit card, with the account. +// such as a credit card, with the account. Follow the steps at To leave +// an organization when all required account information has not yet been +// provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number // of accounts that you can create in one day. @@ -1300,6 +1371,10 @@ func (c *Organizations) CreateOrganizationalUnitRequest(input *CreateOrganizatio // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you +// must first provide contact a valid address and phone number for the master +// account. Then try the operation again. +// // * ErrCodeDuplicateOrganizationalUnitException "DuplicateOrganizationalUnitException" // An organizational unit (OU) with the same name already exists. // @@ -1394,19 +1469,18 @@ const opCreatePolicy = "CreatePolicy" // CreatePolicyRequest generates a "aws/request.Request" representing the // client's request for the CreatePolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreatePolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreatePolicy method directly -// instead. +// See CreatePolicy for more information on using the CreatePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreatePolicyRequest method. // req, resp := client.CreatePolicyRequest(params) @@ -1483,6 +1557,10 @@ func (c *Organizations) CreatePolicyRequest(input *CreatePolicyInput) (req *requ // // Note: deleted and closed accounts still count toward your limit. // +// If you get an exception that indicates that you exceeded your account limits +// for the organization or that you can"t add an account because your organization +// is still initializing, please contact AWS Customer Support (https://console.aws.amazon.com/support/home#/). +// // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes you can send in one day. // @@ -1506,20 +1584,29 @@ func (c *Organizations) CreatePolicyRequest(input *CreatePolicyInput) (req *requ // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that does not yet have enough information to exist // as a stand-alone account. This account requires you to first agree to -// the End-User License Agreement (EULA). +// the AWS Customer Agreement. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that does not yet have enough information // to exist as a stand-alone account. This account requires you to first -// complete phone verification. +// complete phone verification. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization // with this account, you first must associate a payment instrument, such -// as a credit card, with the account. +// as a credit card, with the account. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation // with this member account, you first must associate a payment instrument, -// such as a credit card, with the account. +// such as a credit card, with the account. Follow the steps at To leave +// an organization when all required account information has not yet been +// provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number // of accounts that you can create in one day. @@ -1531,6 +1618,10 @@ func (c *Organizations) CreatePolicyRequest(input *CreatePolicyInput) (req *requ // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you +// must first provide contact a valid address and phone number for the master +// account. Then try the operation again. +// // * ErrCodeDuplicatePolicyException "DuplicatePolicyException" // A policy with the same name already exists. // @@ -1634,19 +1725,18 @@ const opDeclineHandshake = "DeclineHandshake" // DeclineHandshakeRequest generates a "aws/request.Request" representing the // client's request for the DeclineHandshake operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeclineHandshake for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeclineHandshake method directly -// instead. +// See DeclineHandshake for more information on using the DeclineHandshake +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeclineHandshakeRequest method. // req, resp := client.DeclineHandshakeRequest(params) @@ -1804,19 +1894,18 @@ const opDeleteOrganization = "DeleteOrganization" // DeleteOrganizationRequest generates a "aws/request.Request" representing the // client's request for the DeleteOrganization operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteOrganization for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteOrganization method directly -// instead. +// See DeleteOrganization for more information on using the DeleteOrganization +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteOrganizationRequest method. // req, resp := client.DeleteOrganizationRequest(params) @@ -1851,10 +1940,6 @@ func (c *Organizations) DeleteOrganizationRequest(input *DeleteOrganizationInput // from the master account. The organization must be empty of member accounts, // OUs, and policies. // -// If you create any accounts using Organizations operations or the Organizations -// console, you can't remove those accounts from the organization, which means -// that you can't delete the organization. -// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -1970,19 +2055,18 @@ const opDeleteOrganizationalUnit = "DeleteOrganizationalUnit" // DeleteOrganizationalUnitRequest generates a "aws/request.Request" representing the // client's request for the DeleteOrganizationalUnit operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteOrganizationalUnit for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteOrganizationalUnit method directly -// instead. +// See DeleteOrganizationalUnit for more information on using the DeleteOrganizationalUnit +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteOrganizationalUnitRequest method. // req, resp := client.DeleteOrganizationalUnitRequest(params) @@ -2137,19 +2221,18 @@ const opDeletePolicy = "DeletePolicy" // DeletePolicyRequest generates a "aws/request.Request" representing the // client's request for the DeletePolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeletePolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeletePolicy method directly -// instead. +// See DeletePolicy for more information on using the DeletePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeletePolicyRequest method. // req, resp := client.DeletePolicyRequest(params) @@ -2302,19 +2385,18 @@ const opDescribeAccount = "DescribeAccount" // DescribeAccountRequest generates a "aws/request.Request" representing the // client's request for the DescribeAccount operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAccount for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAccount method directly -// instead. +// See DescribeAccount for more information on using the DescribeAccount +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAccountRequest method. // req, resp := client.DescribeAccountRequest(params) @@ -2458,19 +2540,18 @@ const opDescribeCreateAccountStatus = "DescribeCreateAccountStatus" // DescribeCreateAccountStatusRequest generates a "aws/request.Request" representing the // client's request for the DescribeCreateAccountStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeCreateAccountStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeCreateAccountStatus method directly -// instead. +// See DescribeCreateAccountStatus for more information on using the DescribeCreateAccountStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeCreateAccountStatusRequest method. // req, resp := client.DescribeCreateAccountStatusRequest(params) @@ -2613,19 +2694,18 @@ const opDescribeHandshake = "DescribeHandshake" // DescribeHandshakeRequest generates a "aws/request.Request" representing the // client's request for the DescribeHandshake operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeHandshake for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeHandshake method directly -// instead. +// See DescribeHandshake for more information on using the DescribeHandshake +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeHandshakeRequest method. // req, resp := client.DescribeHandshakeRequest(params) @@ -2773,19 +2853,18 @@ const opDescribeOrganization = "DescribeOrganization" // DescribeOrganizationRequest generates a "aws/request.Request" representing the // client's request for the DescribeOrganization operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeOrganization for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeOrganization method directly -// instead. +// See DescribeOrganization for more information on using the DescribeOrganization +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeOrganizationRequest method. // req, resp := client.DescribeOrganizationRequest(params) @@ -2876,19 +2955,18 @@ const opDescribeOrganizationalUnit = "DescribeOrganizationalUnit" // DescribeOrganizationalUnitRequest generates a "aws/request.Request" representing the // client's request for the DescribeOrganizationalUnit operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeOrganizationalUnit for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeOrganizationalUnit method directly -// instead. +// See DescribeOrganizationalUnit for more information on using the DescribeOrganizationalUnit +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeOrganizationalUnitRequest method. // req, resp := client.DescribeOrganizationalUnitRequest(params) @@ -3031,19 +3109,18 @@ const opDescribePolicy = "DescribePolicy" // DescribePolicyRequest generates a "aws/request.Request" representing the // client's request for the DescribePolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribePolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribePolicy method directly -// instead. +// See DescribePolicy for more information on using the DescribePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribePolicyRequest method. // req, resp := client.DescribePolicyRequest(params) @@ -3185,19 +3262,18 @@ const opDetachPolicy = "DetachPolicy" // DetachPolicyRequest generates a "aws/request.Request" representing the // client's request for the DetachPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DetachPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DetachPolicy method directly -// instead. +// See DetachPolicy for more information on using the DetachPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DetachPolicyRequest method. // req, resp := client.DetachPolicyRequest(params) @@ -3284,6 +3360,10 @@ func (c *Organizations) DetachPolicyRequest(input *DetachPolicyInput) (req *requ // // Note: deleted and closed accounts still count toward your limit. // +// If you get an exception that indicates that you exceeded your account limits +// for the organization or that you can"t add an account because your organization +// is still initializing, please contact AWS Customer Support (https://console.aws.amazon.com/support/home#/). +// // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes you can send in one day. // @@ -3307,20 +3387,29 @@ func (c *Organizations) DetachPolicyRequest(input *DetachPolicyInput) (req *requ // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that does not yet have enough information to exist // as a stand-alone account. This account requires you to first agree to -// the End-User License Agreement (EULA). +// the AWS Customer Agreement. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that does not yet have enough information // to exist as a stand-alone account. This account requires you to first -// complete phone verification. +// complete phone verification. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization // with this account, you first must associate a payment instrument, such -// as a credit card, with the account. +// as a credit card, with the account. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation // with this member account, you first must associate a payment instrument, -// such as a credit card, with the account. +// such as a credit card, with the account. Follow the steps at To leave +// an organization when all required account information has not yet been +// provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number // of accounts that you can create in one day. @@ -3332,6 +3421,10 @@ func (c *Organizations) DetachPolicyRequest(input *DetachPolicyInput) (req *requ // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you +// must first provide contact a valid address and phone number for the master +// account. Then try the operation again. +// // * ErrCodeInvalidInputException "InvalidInputException" // The requested operation failed because you provided invalid values for one // or more of the request parameters. This exception includes a reason that @@ -3428,19 +3521,18 @@ const opDisablePolicyType = "DisablePolicyType" // DisablePolicyTypeRequest generates a "aws/request.Request" representing the // client's request for the DisablePolicyType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisablePolicyType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisablePolicyType method directly -// instead. +// See DisablePolicyType for more information on using the DisablePolicyType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisablePolicyTypeRequest method. // req, resp := client.DisablePolicyTypeRequest(params) @@ -3469,7 +3561,7 @@ func (c *Organizations) DisablePolicyTypeRequest(input *DisablePolicyTypeInput) // DisablePolicyType API operation for AWS Organizations. // -// Disables an organizational control policy type in a root. A poicy of a certain +// Disables an organizational control policy type in a root. A policy of a certain // type can be attached to entities in a root only if that type is enabled in // the root. After you perform this operation, you no longer can attach policies // of the specified type to that root or to any OU or account in that root. @@ -3517,6 +3609,10 @@ func (c *Organizations) DisablePolicyTypeRequest(input *DisablePolicyTypeInput) // // Note: deleted and closed accounts still count toward your limit. // +// If you get an exception that indicates that you exceeded your account limits +// for the organization or that you can"t add an account because your organization +// is still initializing, please contact AWS Customer Support (https://console.aws.amazon.com/support/home#/). +// // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes you can send in one day. // @@ -3540,20 +3636,29 @@ func (c *Organizations) DisablePolicyTypeRequest(input *DisablePolicyTypeInput) // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that does not yet have enough information to exist // as a stand-alone account. This account requires you to first agree to -// the End-User License Agreement (EULA). +// the AWS Customer Agreement. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that does not yet have enough information // to exist as a stand-alone account. This account requires you to first -// complete phone verification. +// complete phone verification. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization // with this account, you first must associate a payment instrument, such -// as a credit card, with the account. +// as a credit card, with the account. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation // with this member account, you first must associate a payment instrument, -// such as a credit card, with the account. +// such as a credit card, with the account. Follow the steps at To leave +// an organization when all required account information has not yet been +// provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number // of accounts that you can create in one day. @@ -3565,6 +3670,10 @@ func (c *Organizations) DisablePolicyTypeRequest(input *DisablePolicyTypeInput) // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you +// must first provide contact a valid address and phone number for the master +// account. Then try the operation again. +// // * ErrCodeInvalidInputException "InvalidInputException" // The requested operation failed because you provided invalid values for one // or more of the request parameters. This exception includes a reason that @@ -3662,19 +3771,18 @@ const opEnableAllFeatures = "EnableAllFeatures" // EnableAllFeaturesRequest generates a "aws/request.Request" representing the // client's request for the EnableAllFeatures operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EnableAllFeatures for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EnableAllFeatures method directly -// instead. +// See EnableAllFeatures for more information on using the EnableAllFeatures +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EnableAllFeaturesRequest method. // req, resp := client.EnableAllFeaturesRequest(params) @@ -3762,6 +3870,10 @@ func (c *Organizations) EnableAllFeaturesRequest(input *EnableAllFeaturesInput) // the number of accounts in an organization. Note: deleted and closed accounts // still count toward your limit. // +// If you get an exception that indicates that you exceeded your account limits +// for the organization or that you can"t add an account because your organization +// is still initializing, please contact AWS Customer Support (https://console.aws.amazon.com/support/home#/). +// // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes you can send in one day. // @@ -3876,19 +3988,18 @@ const opEnablePolicyType = "EnablePolicyType" // EnablePolicyTypeRequest generates a "aws/request.Request" representing the // client's request for the EnablePolicyType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EnablePolicyType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EnablePolicyType method directly -// instead. +// See EnablePolicyType for more information on using the EnablePolicyType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EnablePolicyTypeRequest method. // req, resp := client.EnablePolicyTypeRequest(params) @@ -3963,6 +4074,10 @@ func (c *Organizations) EnablePolicyTypeRequest(input *EnablePolicyTypeInput) (r // // Note: deleted and closed accounts still count toward your limit. // +// If you get an exception that indicates that you exceeded your account limits +// for the organization or that you can"t add an account because your organization +// is still initializing, please contact AWS Customer Support (https://console.aws.amazon.com/support/home#/). +// // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes you can send in one day. // @@ -3986,20 +4101,29 @@ func (c *Organizations) EnablePolicyTypeRequest(input *EnablePolicyTypeInput) (r // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that does not yet have enough information to exist // as a stand-alone account. This account requires you to first agree to -// the End-User License Agreement (EULA). +// the AWS Customer Agreement. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that does not yet have enough information // to exist as a stand-alone account. This account requires you to first -// complete phone verification. +// complete phone verification. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization // with this account, you first must associate a payment instrument, such -// as a credit card, with the account. +// as a credit card, with the account. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation // with this member account, you first must associate a payment instrument, -// such as a credit card, with the account. +// such as a credit card, with the account. Follow the steps at To leave +// an organization when all required account information has not yet been +// provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number // of accounts that you can create in one day. @@ -4011,6 +4135,10 @@ func (c *Organizations) EnablePolicyTypeRequest(input *EnablePolicyTypeInput) (r // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you +// must first provide contact a valid address and phone number for the master +// account. Then try the operation again. +// // * ErrCodeInvalidInputException "InvalidInputException" // The requested operation failed because you provided invalid values for one // or more of the request parameters. This exception includes a reason that @@ -4111,19 +4239,18 @@ const opInviteAccountToOrganization = "InviteAccountToOrganization" // InviteAccountToOrganizationRequest generates a "aws/request.Request" representing the // client's request for the InviteAccountToOrganization operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InviteAccountToOrganization for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InviteAccountToOrganization method directly -// instead. +// See InviteAccountToOrganization for more information on using the InviteAccountToOrganization +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InviteAccountToOrganizationRequest method. // req, resp := client.InviteAccountToOrganizationRequest(params) @@ -4157,15 +4284,19 @@ func (c *Organizations) InviteAccountToOrganizationRequest(input *InviteAccountT // is associated with the other account's owner. The invitation is implemented // as a Handshake whose details are in the response. // -// You can invite AWS accounts only from the same reseller as the master account. +// You can invite AWS accounts only from the same seller as the master account. // For example, if your organization's master account was created by Amazon -// Internet Services Pvt. Ltd (AISPL), an AWS reseller in India, then you can +// Internet Services Pvt. Ltd (AISPL), an AWS seller in India, then you can // only invite other AISPL accounts to your organization. You can't combine -// accounts from AISPL and AWS. For more information, see Consolidated Billing -// in India (http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/useconsolidatedbilliing-India.html). +// accounts from AISPL and AWS, or any other AWS seller. For more information, +// see Consolidated Billing in India (http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/useconsolidatedbilliing-India.html). // // This operation can be called only from the organization's master account. // +// If you get an exception that indicates that you exceeded your account limits +// for the organization or that you can"t add an account because your organization +// is still initializing, please contact AWS Customer Support (https://console.aws.amazon.com/support/home#/). +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -4197,6 +4328,10 @@ func (c *Organizations) InviteAccountToOrganizationRequest(input *InviteAccountT // the number of accounts in an organization. Note: deleted and closed accounts // still count toward your limit. // +// If you get an exception that indicates that you exceeded your account limits +// for the organization or that you can"t add an account because your organization +// is still initializing, please contact AWS Customer Support (https://console.aws.amazon.com/support/home#/). +// // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes you can send in one day. // @@ -4322,19 +4457,18 @@ const opLeaveOrganization = "LeaveOrganization" // LeaveOrganizationRequest generates a "aws/request.Request" representing the // client's request for the LeaveOrganization operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See LeaveOrganization for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the LeaveOrganization method directly -// instead. +// See LeaveOrganization for more information on using the LeaveOrganization +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the LeaveOrganizationRequest method. // req, resp := client.LeaveOrganizationRequest(params) @@ -4377,8 +4511,18 @@ func (c *Organizations) LeaveOrganizationRequest(input *LeaveOrganizationInput) // can do, including preventing them from successfully calling LeaveOrganization // and leaving the organization. // -// If you created the account using the AWS Organizations console, the Organizations -// API, or the Organizations CLI commands, then you cannot remove the account. +// You can leave an organization as a member account only if the account is +// configured with the information required to operate as a standalone account. +// When you create an account in an organization using the AWS Organizations +// console, API, or CLI commands, the information required of standalone accounts +// is not automatically collected. For each account that you want to make standalone, +// you must accept the End User License Agreement (EULA), choose a support plan, +// provide and verify the required contact information, and provide a current +// payment method. AWS uses the payment method to charge for any billable (not +// free tier) AWS activity that occurs while the account is not attached to +// an organization. Follow the steps at To leave an organization when all required +// account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // You can leave an organization only after you enable IAM user access to billing // in your account. For more information, see Activating Access to the Billing @@ -4430,6 +4574,10 @@ func (c *Organizations) LeaveOrganizationRequest(input *LeaveOrganizationInput) // // Note: deleted and closed accounts still count toward your limit. // +// If you get an exception that indicates that you exceeded your account limits +// for the organization or that you can"t add an account because your organization +// is still initializing, please contact AWS Customer Support (https://console.aws.amazon.com/support/home#/). +// // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes you can send in one day. // @@ -4453,20 +4601,29 @@ func (c *Organizations) LeaveOrganizationRequest(input *LeaveOrganizationInput) // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that does not yet have enough information to exist // as a stand-alone account. This account requires you to first agree to -// the End-User License Agreement (EULA). +// the AWS Customer Agreement. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that does not yet have enough information // to exist as a stand-alone account. This account requires you to first -// complete phone verification. +// complete phone verification. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization // with this account, you first must associate a payment instrument, such -// as a credit card, with the account. +// as a credit card, with the account. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation // with this member account, you first must associate a payment instrument, -// such as a credit card, with the account. +// such as a credit card, with the account. Follow the steps at To leave +// an organization when all required account information has not yet been +// provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number // of accounts that you can create in one day. @@ -4478,6 +4635,10 @@ func (c *Organizations) LeaveOrganizationRequest(input *LeaveOrganizationInput) // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you +// must first provide contact a valid address and phone number for the master +// account. Then try the operation again. +// // * ErrCodeInvalidInputException "InvalidInputException" // The requested operation failed because you provided invalid values for one // or more of the request parameters. This exception includes a reason that @@ -4570,19 +4731,18 @@ const opListAccounts = "ListAccounts" // ListAccountsRequest generates a "aws/request.Request" representing the // client's request for the ListAccounts operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAccounts for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAccounts method directly -// instead. +// See ListAccounts for more information on using the ListAccounts +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAccountsRequest method. // req, resp := client.ListAccountsRequest(params) @@ -4778,19 +4938,18 @@ const opListAccountsForParent = "ListAccountsForParent" // ListAccountsForParentRequest generates a "aws/request.Request" representing the // client's request for the ListAccountsForParent operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAccountsForParent for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAccountsForParent method directly -// instead. +// See ListAccountsForParent for more information on using the ListAccountsForParent +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAccountsForParentRequest method. // req, resp := client.ListAccountsForParentRequest(params) @@ -4992,19 +5151,18 @@ const opListChildren = "ListChildren" // ListChildrenRequest generates a "aws/request.Request" representing the // client's request for the ListChildren operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListChildren for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListChildren method directly -// instead. +// See ListChildren for more information on using the ListChildren +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListChildrenRequest method. // req, resp := client.ListChildrenRequest(params) @@ -5203,19 +5361,18 @@ const opListCreateAccountStatus = "ListCreateAccountStatus" // ListCreateAccountStatusRequest generates a "aws/request.Request" representing the // client's request for the ListCreateAccountStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListCreateAccountStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListCreateAccountStatus method directly -// instead. +// See ListCreateAccountStatus for more information on using the ListCreateAccountStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListCreateAccountStatusRequest method. // req, resp := client.ListCreateAccountStatusRequest(params) @@ -5411,19 +5568,18 @@ const opListHandshakesForAccount = "ListHandshakesForAccount" // ListHandshakesForAccountRequest generates a "aws/request.Request" representing the // client's request for the ListHandshakesForAccount operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListHandshakesForAccount for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListHandshakesForAccount method directly -// instead. +// See ListHandshakesForAccount for more information on using the ListHandshakesForAccount +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListHandshakesForAccountRequest method. // req, resp := client.ListHandshakesForAccountRequest(params) @@ -5623,19 +5779,18 @@ const opListHandshakesForOrganization = "ListHandshakesForOrganization" // ListHandshakesForOrganizationRequest generates a "aws/request.Request" representing the // client's request for the ListHandshakesForOrganization operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListHandshakesForOrganization for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListHandshakesForOrganization method directly -// instead. +// See ListHandshakesForOrganization for more information on using the ListHandshakesForOrganization +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListHandshakesForOrganizationRequest method. // req, resp := client.ListHandshakesForOrganizationRequest(params) @@ -5841,19 +5996,18 @@ const opListOrganizationalUnitsForParent = "ListOrganizationalUnitsForParent" // ListOrganizationalUnitsForParentRequest generates a "aws/request.Request" representing the // client's request for the ListOrganizationalUnitsForParent operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListOrganizationalUnitsForParent for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListOrganizationalUnitsForParent method directly -// instead. +// See ListOrganizationalUnitsForParent for more information on using the ListOrganizationalUnitsForParent +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListOrganizationalUnitsForParentRequest method. // req, resp := client.ListOrganizationalUnitsForParentRequest(params) @@ -6052,19 +6206,18 @@ const opListParents = "ListParents" // ListParentsRequest generates a "aws/request.Request" representing the // client's request for the ListParents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListParents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListParents method directly -// instead. +// See ListParents for more information on using the ListParents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListParentsRequest method. // req, resp := client.ListParentsRequest(params) @@ -6267,19 +6420,18 @@ const opListPolicies = "ListPolicies" // ListPoliciesRequest generates a "aws/request.Request" representing the // client's request for the ListPolicies operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListPolicies for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListPolicies method directly -// instead. +// See ListPolicies for more information on using the ListPolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPoliciesRequest method. // req, resp := client.ListPoliciesRequest(params) @@ -6474,19 +6626,18 @@ const opListPoliciesForTarget = "ListPoliciesForTarget" // ListPoliciesForTargetRequest generates a "aws/request.Request" representing the // client's request for the ListPoliciesForTarget operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListPoliciesForTarget for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListPoliciesForTarget method directly -// instead. +// See ListPoliciesForTarget for more information on using the ListPoliciesForTarget +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPoliciesForTargetRequest method. // req, resp := client.ListPoliciesForTargetRequest(params) @@ -6686,19 +6837,18 @@ const opListRoots = "ListRoots" // ListRootsRequest generates a "aws/request.Request" representing the // client's request for the ListRoots operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListRoots for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListRoots method directly -// instead. +// See ListRoots for more information on using the ListRoots +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListRootsRequest method. // req, resp := client.ListRootsRequest(params) @@ -6893,19 +7043,18 @@ const opListTargetsForPolicy = "ListTargetsForPolicy" // ListTargetsForPolicyRequest generates a "aws/request.Request" representing the // client's request for the ListTargetsForPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTargetsForPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTargetsForPolicy method directly -// instead. +// See ListTargetsForPolicy for more information on using the ListTargetsForPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTargetsForPolicyRequest method. // req, resp := client.ListTargetsForPolicyRequest(params) @@ -7103,19 +7252,18 @@ const opMoveAccount = "MoveAccount" // MoveAccountRequest generates a "aws/request.Request" representing the // client's request for the MoveAccount operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See MoveAccount for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the MoveAccount method directly -// instead. +// See MoveAccount for more information on using the MoveAccount +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the MoveAccountRequest method. // req, resp := client.MoveAccountRequest(params) @@ -7276,19 +7424,18 @@ const opRemoveAccountFromOrganization = "RemoveAccountFromOrganization" // RemoveAccountFromOrganizationRequest generates a "aws/request.Request" representing the // client's request for the RemoveAccountFromOrganization operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveAccountFromOrganization for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveAccountFromOrganization method directly -// instead. +// See RemoveAccountFromOrganization for more information on using the RemoveAccountFromOrganization +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveAccountFromOrganizationRequest method. // req, resp := client.RemoveAccountFromOrganizationRequest(params) @@ -7330,10 +7477,20 @@ func (c *Organizations) RemoveAccountFromOrganizationRequest(input *RemoveAccoun // This operation can be called only from the organization's master account. // Member accounts can remove themselves with LeaveOrganization instead. // -// You can remove only accounts that were created outside your organization -// and invited to join. If you created the account using the AWS Organizations -// console, the Organizations API, or the Organizations CLI commands, then you -// cannot remove the account. +// You can remove an account from your organization only if the account is configured +// with the information required to operate as a standalone account. When you +// create an account in an organization using the AWS Organizations console, +// API, or CLI commands, the information required of standalone accounts is +// not automatically collected. For an account that you want to make standalone, +// you must accept the End User License Agreement (EULA), choose a support plan, +// provide and verify the required contact information, and provide a current +// payment method. AWS uses the payment method to charge for any billable (not +// free tier) AWS activity that occurs while the account is not attached to +// an organization. To remove an account that does not yet have this information, +// you must sign in as the member account and follow the steps at To leave +// an organization when all required account information has not yet been provided +// (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // You can remove a member account only after you enable IAM user access to // billing in the member account. For more information, see Activating Access @@ -7385,6 +7542,10 @@ func (c *Organizations) RemoveAccountFromOrganizationRequest(input *RemoveAccoun // // Note: deleted and closed accounts still count toward your limit. // +// If you get an exception that indicates that you exceeded your account limits +// for the organization or that you can"t add an account because your organization +// is still initializing, please contact AWS Customer Support (https://console.aws.amazon.com/support/home#/). +// // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes you can send in one day. // @@ -7408,20 +7569,29 @@ func (c *Organizations) RemoveAccountFromOrganizationRequest(input *RemoveAccoun // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that does not yet have enough information to exist // as a stand-alone account. This account requires you to first agree to -// the End-User License Agreement (EULA). +// the AWS Customer Agreement. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that does not yet have enough information // to exist as a stand-alone account. This account requires you to first -// complete phone verification. +// complete phone verification. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization // with this account, you first must associate a payment instrument, such -// as a credit card, with the account. +// as a credit card, with the account. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation // with this member account, you first must associate a payment instrument, -// such as a credit card, with the account. +// such as a credit card, with the account. Follow the steps at To leave +// an organization when all required account information has not yet been +// provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number // of accounts that you can create in one day. @@ -7433,6 +7603,10 @@ func (c *Organizations) RemoveAccountFromOrganizationRequest(input *RemoveAccoun // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you +// must first provide contact a valid address and phone number for the master +// account. Then try the operation again. +// // * ErrCodeInvalidInputException "InvalidInputException" // The requested operation failed because you provided invalid values for one // or more of the request parameters. This exception includes a reason that @@ -7525,19 +7699,18 @@ const opUpdateOrganizationalUnit = "UpdateOrganizationalUnit" // UpdateOrganizationalUnitRequest generates a "aws/request.Request" representing the // client's request for the UpdateOrganizationalUnit operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateOrganizationalUnit for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateOrganizationalUnit method directly -// instead. +// See UpdateOrganizationalUnit for more information on using the UpdateOrganizationalUnit +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateOrganizationalUnitRequest method. // req, resp := client.UpdateOrganizationalUnitRequest(params) @@ -7689,19 +7862,18 @@ const opUpdatePolicy = "UpdatePolicy" // UpdatePolicyRequest generates a "aws/request.Request" representing the // client's request for the UpdatePolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdatePolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdatePolicy method directly -// instead. +// See UpdatePolicy for more information on using the UpdatePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdatePolicyRequest method. // req, resp := client.UpdatePolicyRequest(params) @@ -7776,6 +7948,10 @@ func (c *Organizations) UpdatePolicyRequest(input *UpdatePolicyInput) (req *requ // // Note: deleted and closed accounts still count toward your limit. // +// If you get an exception that indicates that you exceeded your account limits +// for the organization or that you can"t add an account because your organization +// is still initializing, please contact AWS Customer Support (https://console.aws.amazon.com/support/home#/). +// // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes you can send in one day. // @@ -7799,20 +7975,29 @@ func (c *Organizations) UpdatePolicyRequest(input *UpdatePolicyInput) (req *requ // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that does not yet have enough information to exist // as a stand-alone account. This account requires you to first agree to -// the End-User License Agreement (EULA). +// the AWS Customer Agreement. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that does not yet have enough information // to exist as a stand-alone account. This account requires you to first -// complete phone verification. +// complete phone verification. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization // with this account, you first must associate a payment instrument, such -// as a credit card, with the account. +// as a credit card, with the account. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation // with this member account, you first must associate a payment instrument, -// such as a credit card, with the account. +// such as a credit card, with the account. Follow the steps at To leave +// an organization when all required account information has not yet been +// provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number // of accounts that you can create in one day. @@ -7824,6 +8009,10 @@ func (c *Organizations) UpdatePolicyRequest(input *UpdatePolicyInput) (req *requ // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you +// must first provide contact a valid address and phone number for the master +// account. Then try the operation again. +// // * ErrCodeDuplicatePolicyException "DuplicatePolicyException" // A policy with the same name already exists. // @@ -8286,7 +8475,10 @@ type CreateAccountInput struct { AccountName *string `min:"1" type:"string" required:"true"` // The email address of the owner to assign to the new member account. This - // email address must not already be associated with another AWS account. + // email address must not already be associated with another AWS account. You + // must use a valid email address to complete account creation. You cannot access + // the root user of the account or remove an account that was created with an + // invalid email address. // // Email is a required field Email *string `min:"6" type:"string" required:"true"` @@ -9482,7 +9674,7 @@ type DisablePolicyTypeInput struct { PolicyType *string `type:"string" required:"true" enum:"PolicyType"` // The unique identifier (ID) of the root in which you want to disable a policy - // type. You can get the ID from the ListPolicies operation. + // type. You can get the ID from the ListRoots operation. // // The regex pattern (http://wikipedia.org/wiki/regex) for a root ID string // requires "r-" followed by from 4 to 32 lower-case letters or digits. @@ -9854,10 +10046,14 @@ type HandshakeParty struct { // // The regex pattern (http://wikipedia.org/wiki/regex) for handshake ID string // requires "h-" followed by from 8 to 32 lower-case letters or digits. - Id *string `min:"1" type:"string"` + // + // Id is a required field + Id *string `min:"1" type:"string" required:"true"` // The type of party. - Type *string `type:"string" enum:"HandshakePartyType"` + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"HandshakePartyType"` } // String returns the string representation @@ -9873,9 +10069,15 @@ func (s HandshakeParty) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *HandshakeParty) Validate() error { invalidParams := request.ErrInvalidParams{Context: "HandshakeParty"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } if s.Id != nil && len(*s.Id) < 1 { invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } if invalidParams.Len() > 0 { return invalidParams @@ -9972,13 +10174,13 @@ type InviteAccountToOrganizationInput struct { // If you use the AWS CLI, you can submit this as a single string, similar to // the following example: // - // --target id=123456789012,type=ACCOUNT + // --target Id=123456789012,Type=ACCOUNT // // If you specify "Type": "ACCOUNT", then you must provide the AWS account ID // number as the Id. If you specify "Type": "EMAIL", then you must specify the // email address that is associated with the account. // - // --target id=bill@example.com,type=EMAIL + // --target Id=bill@example.com,Type=EMAIL // // Target is a required field Target *HandshakeParty `type:"structure" required:"true"` @@ -12376,6 +12578,9 @@ const ( // ConstraintViolationExceptionReasonMasterAccountAddressDoesNotMatchMarketplace is a ConstraintViolationExceptionReason enum value ConstraintViolationExceptionReasonMasterAccountAddressDoesNotMatchMarketplace = "MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE" + + // ConstraintViolationExceptionReasonMasterAccountMissingContactInfo is a ConstraintViolationExceptionReason enum value + ConstraintViolationExceptionReasonMasterAccountMissingContactInfo = "MASTER_ACCOUNT_MISSING_CONTACT_INFO" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/organizations/doc.go b/vendor/github.com/aws/aws-sdk-go/service/organizations/doc.go index 4adb150cf..19932a6d6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/organizations/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/organizations/doc.go @@ -123,69 +123,17 @@ // // Using the Client // -// To use the client for AWS Organizations you will first need -// to create a new instance of it. +// To AWS Organizations with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := organizations.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Organizations client Organizations for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/organizations/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AcceptHandshake(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AcceptHandshake result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AcceptHandshakeWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package organizations diff --git a/vendor/github.com/aws/aws-sdk-go/service/organizations/errors.go b/vendor/github.com/aws/aws-sdk-go/service/organizations/errors.go index 3e96957c5..9fdff886a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/organizations/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/organizations/errors.go @@ -69,6 +69,10 @@ const ( // // Note: deleted and closed accounts still count toward your limit. // + // If you get an exception that indicates that you exceeded your account limits + // for the organization or that you can"t add an account because your organization + // is still initializing, please contact AWS Customer Support (https://console.aws.amazon.com/support/home#/). + // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes you can send in one day. // @@ -92,20 +96,29 @@ const ( // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that does not yet have enough information to exist // as a stand-alone account. This account requires you to first agree to - // the End-User License Agreement (EULA). + // the AWS Customer Agreement. Follow the steps at To leave an organization + // when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) + // in the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that does not yet have enough information // to exist as a stand-alone account. This account requires you to first - // complete phone verification. + // complete phone verification. Follow the steps at To leave an organization + // when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) + // in the AWS Organizations User Guide. // // * MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization // with this account, you first must associate a payment instrument, such - // as a credit card, with the account. + // as a credit card, with the account. Follow the steps at To leave an organization + // when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) + // in the AWS Organizations User Guide. // // * MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation // with this member account, you first must associate a payment instrument, - // such as a credit card, with the account. + // such as a credit card, with the account. Follow the steps at To leave + // an organization when all required account information has not yet been + // provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) + // in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number // of accounts that you can create in one day. @@ -116,6 +129,10 @@ const ( // For example, accounts with India addresses must be associated with the // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. + // + // * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you + // must first provide contact a valid address and phone number for the master + // account. Then try the operation again. ErrCodeConstraintViolationException = "ConstraintViolationException" // ErrCodeCreateAccountStatusNotFoundException for service response error code @@ -190,6 +207,10 @@ const ( // the number of accounts in an organization. Note: deleted and closed accounts // still count toward your limit. // + // If you get an exception that indicates that you exceeded your account limits + // for the organization or that you can"t add an account because your organization + // is still initializing, please contact AWS Customer Support (https://console.aws.amazon.com/support/home#/). + // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes you can send in one day. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/organizations/organizationsiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/organizations/organizationsiface/interface.go index 2142e3603..e7a88c589 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/organizations/organizationsiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/organizations/organizationsiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Organizations. diff --git a/vendor/github.com/aws/aws-sdk-go/service/pinpoint/api.go b/vendor/github.com/aws/aws-sdk-go/service/pinpoint/api.go index 43b72bdca..c70682c9b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/pinpoint/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/pinpoint/api.go @@ -8,23 +8,110 @@ import ( "github.com/aws/aws-sdk-go/aws/request" ) +const opCreateApp = "CreateApp" + +// CreateAppRequest generates a "aws/request.Request" representing the +// client's request for the CreateApp operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateApp for more information on using the CreateApp +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateAppRequest method. +// req, resp := client.CreateAppRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateApp +func (c *Pinpoint) CreateAppRequest(input *CreateAppInput) (req *request.Request, output *CreateAppOutput) { + op := &request.Operation{ + Name: opCreateApp, + HTTPMethod: "POST", + HTTPPath: "/v1/apps", + } + + if input == nil { + input = &CreateAppInput{} + } + + output = &CreateAppOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateApp API operation for Amazon Pinpoint. +// +// Creates or updates an app. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation CreateApp for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateApp +func (c *Pinpoint) CreateApp(input *CreateAppInput) (*CreateAppOutput, error) { + req, out := c.CreateAppRequest(input) + return out, req.Send() +} + +// CreateAppWithContext is the same as CreateApp with the addition of +// the ability to pass a context and additional request options. +// +// See CreateApp for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) CreateAppWithContext(ctx aws.Context, input *CreateAppInput, opts ...request.Option) (*CreateAppOutput, error) { + req, out := c.CreateAppRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateCampaign = "CreateCampaign" // CreateCampaignRequest generates a "aws/request.Request" representing the // client's request for the CreateCampaign operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateCampaign for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateCampaign method directly -// instead. +// See CreateCampaign for more information on using the CreateCampaign +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateCampaignRequest method. // req, resp := client.CreateCampaignRequest(params) @@ -33,6 +120,8 @@ const opCreateCampaign = "CreateCampaign" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateCampaign func (c *Pinpoint) CreateCampaignRequest(input *CreateCampaignInput) (req *request.Request, output *CreateCampaignOutput) { op := &request.Operation{ Name: opCreateCampaign, @@ -73,6 +162,7 @@ func (c *Pinpoint) CreateCampaignRequest(input *CreateCampaignInput) (req *reque // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateCampaign func (c *Pinpoint) CreateCampaign(input *CreateCampaignInput) (*CreateCampaignOutput, error) { req, out := c.CreateCampaignRequest(input) return out, req.Send() @@ -98,19 +188,18 @@ const opCreateImportJob = "CreateImportJob" // CreateImportJobRequest generates a "aws/request.Request" representing the // client's request for the CreateImportJob operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateImportJob for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateImportJob method directly -// instead. +// See CreateImportJob for more information on using the CreateImportJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateImportJobRequest method. // req, resp := client.CreateImportJobRequest(params) @@ -119,6 +208,8 @@ const opCreateImportJob = "CreateImportJob" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateImportJob func (c *Pinpoint) CreateImportJobRequest(input *CreateImportJobInput) (req *request.Request, output *CreateImportJobOutput) { op := &request.Operation{ Name: opCreateImportJob, @@ -159,6 +250,7 @@ func (c *Pinpoint) CreateImportJobRequest(input *CreateImportJobInput) (req *req // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateImportJob func (c *Pinpoint) CreateImportJob(input *CreateImportJobInput) (*CreateImportJobOutput, error) { req, out := c.CreateImportJobRequest(input) return out, req.Send() @@ -184,19 +276,18 @@ const opCreateSegment = "CreateSegment" // CreateSegmentRequest generates a "aws/request.Request" representing the // client's request for the CreateSegment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateSegment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateSegment method directly -// instead. +// See CreateSegment for more information on using the CreateSegment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateSegmentRequest method. // req, resp := client.CreateSegmentRequest(params) @@ -205,6 +296,8 @@ const opCreateSegment = "CreateSegment" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSegment func (c *Pinpoint) CreateSegmentRequest(input *CreateSegmentInput) (req *request.Request, output *CreateSegmentOutput) { op := &request.Operation{ Name: opCreateSegment, @@ -245,6 +338,7 @@ func (c *Pinpoint) CreateSegmentRequest(input *CreateSegmentInput) (req *request // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSegment func (c *Pinpoint) CreateSegment(input *CreateSegmentInput) (*CreateSegmentOutput, error) { req, out := c.CreateSegmentRequest(input) return out, req.Send() @@ -266,23 +360,110 @@ func (c *Pinpoint) CreateSegmentWithContext(ctx aws.Context, input *CreateSegmen return out, req.Send() } +const opDeleteAdmChannel = "DeleteAdmChannel" + +// DeleteAdmChannelRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAdmChannel operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteAdmChannel for more information on using the DeleteAdmChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteAdmChannelRequest method. +// req, resp := client.DeleteAdmChannelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteAdmChannel +func (c *Pinpoint) DeleteAdmChannelRequest(input *DeleteAdmChannelInput) (req *request.Request, output *DeleteAdmChannelOutput) { + op := &request.Operation{ + Name: opDeleteAdmChannel, + HTTPMethod: "DELETE", + HTTPPath: "/v1/apps/{application-id}/channels/adm", + } + + if input == nil { + input = &DeleteAdmChannelInput{} + } + + output = &DeleteAdmChannelOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteAdmChannel API operation for Amazon Pinpoint. +// +// Delete an ADM channel +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation DeleteAdmChannel for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteAdmChannel +func (c *Pinpoint) DeleteAdmChannel(input *DeleteAdmChannelInput) (*DeleteAdmChannelOutput, error) { + req, out := c.DeleteAdmChannelRequest(input) + return out, req.Send() +} + +// DeleteAdmChannelWithContext is the same as DeleteAdmChannel with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteAdmChannel for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) DeleteAdmChannelWithContext(ctx aws.Context, input *DeleteAdmChannelInput, opts ...request.Option) (*DeleteAdmChannelOutput, error) { + req, out := c.DeleteAdmChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteApnsChannel = "DeleteApnsChannel" // DeleteApnsChannelRequest generates a "aws/request.Request" representing the // client's request for the DeleteApnsChannel operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteApnsChannel for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteApnsChannel method directly -// instead. +// See DeleteApnsChannel for more information on using the DeleteApnsChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteApnsChannelRequest method. // req, resp := client.DeleteApnsChannelRequest(params) @@ -291,6 +472,8 @@ const opDeleteApnsChannel = "DeleteApnsChannel" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsChannel func (c *Pinpoint) DeleteApnsChannelRequest(input *DeleteApnsChannelInput) (req *request.Request, output *DeleteApnsChannelOutput) { op := &request.Operation{ Name: opDeleteApnsChannel, @@ -331,6 +514,7 @@ func (c *Pinpoint) DeleteApnsChannelRequest(input *DeleteApnsChannelInput) (req // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsChannel func (c *Pinpoint) DeleteApnsChannel(input *DeleteApnsChannelInput) (*DeleteApnsChannelOutput, error) { req, out := c.DeleteApnsChannelRequest(input) return out, req.Send() @@ -356,19 +540,18 @@ const opDeleteApnsSandboxChannel = "DeleteApnsSandboxChannel" // DeleteApnsSandboxChannelRequest generates a "aws/request.Request" representing the // client's request for the DeleteApnsSandboxChannel operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteApnsSandboxChannel for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteApnsSandboxChannel method directly -// instead. +// See DeleteApnsSandboxChannel for more information on using the DeleteApnsSandboxChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteApnsSandboxChannelRequest method. // req, resp := client.DeleteApnsSandboxChannelRequest(params) @@ -377,6 +560,8 @@ const opDeleteApnsSandboxChannel = "DeleteApnsSandboxChannel" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsSandboxChannel func (c *Pinpoint) DeleteApnsSandboxChannelRequest(input *DeleteApnsSandboxChannelInput) (req *request.Request, output *DeleteApnsSandboxChannelOutput) { op := &request.Operation{ Name: opDeleteApnsSandboxChannel, @@ -417,6 +602,7 @@ func (c *Pinpoint) DeleteApnsSandboxChannelRequest(input *DeleteApnsSandboxChann // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsSandboxChannel func (c *Pinpoint) DeleteApnsSandboxChannel(input *DeleteApnsSandboxChannelInput) (*DeleteApnsSandboxChannelOutput, error) { req, out := c.DeleteApnsSandboxChannelRequest(input) return out, req.Send() @@ -438,23 +624,198 @@ func (c *Pinpoint) DeleteApnsSandboxChannelWithContext(ctx aws.Context, input *D return out, req.Send() } +const opDeleteApp = "DeleteApp" + +// DeleteAppRequest generates a "aws/request.Request" representing the +// client's request for the DeleteApp operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteApp for more information on using the DeleteApp +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteAppRequest method. +// req, resp := client.DeleteAppRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApp +func (c *Pinpoint) DeleteAppRequest(input *DeleteAppInput) (req *request.Request, output *DeleteAppOutput) { + op := &request.Operation{ + Name: opDeleteApp, + HTTPMethod: "DELETE", + HTTPPath: "/v1/apps/{application-id}", + } + + if input == nil { + input = &DeleteAppInput{} + } + + output = &DeleteAppOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteApp API operation for Amazon Pinpoint. +// +// Deletes an app. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation DeleteApp for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApp +func (c *Pinpoint) DeleteApp(input *DeleteAppInput) (*DeleteAppOutput, error) { + req, out := c.DeleteAppRequest(input) + return out, req.Send() +} + +// DeleteAppWithContext is the same as DeleteApp with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteApp for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) DeleteAppWithContext(ctx aws.Context, input *DeleteAppInput, opts ...request.Option) (*DeleteAppOutput, error) { + req, out := c.DeleteAppRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteBaiduChannel = "DeleteBaiduChannel" + +// DeleteBaiduChannelRequest generates a "aws/request.Request" representing the +// client's request for the DeleteBaiduChannel operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteBaiduChannel for more information on using the DeleteBaiduChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteBaiduChannelRequest method. +// req, resp := client.DeleteBaiduChannelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteBaiduChannel +func (c *Pinpoint) DeleteBaiduChannelRequest(input *DeleteBaiduChannelInput) (req *request.Request, output *DeleteBaiduChannelOutput) { + op := &request.Operation{ + Name: opDeleteBaiduChannel, + HTTPMethod: "DELETE", + HTTPPath: "/v1/apps/{application-id}/channels/baidu", + } + + if input == nil { + input = &DeleteBaiduChannelInput{} + } + + output = &DeleteBaiduChannelOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteBaiduChannel API operation for Amazon Pinpoint. +// +// Delete a BAIDU GCM channel +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation DeleteBaiduChannel for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteBaiduChannel +func (c *Pinpoint) DeleteBaiduChannel(input *DeleteBaiduChannelInput) (*DeleteBaiduChannelOutput, error) { + req, out := c.DeleteBaiduChannelRequest(input) + return out, req.Send() +} + +// DeleteBaiduChannelWithContext is the same as DeleteBaiduChannel with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteBaiduChannel for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) DeleteBaiduChannelWithContext(ctx aws.Context, input *DeleteBaiduChannelInput, opts ...request.Option) (*DeleteBaiduChannelOutput, error) { + req, out := c.DeleteBaiduChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteCampaign = "DeleteCampaign" // DeleteCampaignRequest generates a "aws/request.Request" representing the // client's request for the DeleteCampaign operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteCampaign for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteCampaign method directly -// instead. +// See DeleteCampaign for more information on using the DeleteCampaign +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteCampaignRequest method. // req, resp := client.DeleteCampaignRequest(params) @@ -463,6 +824,8 @@ const opDeleteCampaign = "DeleteCampaign" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteCampaign func (c *Pinpoint) DeleteCampaignRequest(input *DeleteCampaignInput) (req *request.Request, output *DeleteCampaignOutput) { op := &request.Operation{ Name: opDeleteCampaign, @@ -503,6 +866,7 @@ func (c *Pinpoint) DeleteCampaignRequest(input *DeleteCampaignInput) (req *reque // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteCampaign func (c *Pinpoint) DeleteCampaign(input *DeleteCampaignInput) (*DeleteCampaignOutput, error) { req, out := c.DeleteCampaignRequest(input) return out, req.Send() @@ -528,19 +892,18 @@ const opDeleteEmailChannel = "DeleteEmailChannel" // DeleteEmailChannelRequest generates a "aws/request.Request" representing the // client's request for the DeleteEmailChannel operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteEmailChannel for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteEmailChannel method directly -// instead. +// See DeleteEmailChannel for more information on using the DeleteEmailChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteEmailChannelRequest method. // req, resp := client.DeleteEmailChannelRequest(params) @@ -549,6 +912,8 @@ const opDeleteEmailChannel = "DeleteEmailChannel" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailChannel func (c *Pinpoint) DeleteEmailChannelRequest(input *DeleteEmailChannelInput) (req *request.Request, output *DeleteEmailChannelOutput) { op := &request.Operation{ Name: opDeleteEmailChannel, @@ -589,6 +954,7 @@ func (c *Pinpoint) DeleteEmailChannelRequest(input *DeleteEmailChannelInput) (re // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailChannel func (c *Pinpoint) DeleteEmailChannel(input *DeleteEmailChannelInput) (*DeleteEmailChannelOutput, error) { req, out := c.DeleteEmailChannelRequest(input) return out, req.Send() @@ -614,19 +980,18 @@ const opDeleteEventStream = "DeleteEventStream" // DeleteEventStreamRequest generates a "aws/request.Request" representing the // client's request for the DeleteEventStream operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteEventStream for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteEventStream method directly -// instead. +// See DeleteEventStream for more information on using the DeleteEventStream +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteEventStreamRequest method. // req, resp := client.DeleteEventStreamRequest(params) @@ -635,6 +1000,8 @@ const opDeleteEventStream = "DeleteEventStream" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEventStream func (c *Pinpoint) DeleteEventStreamRequest(input *DeleteEventStreamInput) (req *request.Request, output *DeleteEventStreamOutput) { op := &request.Operation{ Name: opDeleteEventStream, @@ -675,6 +1042,7 @@ func (c *Pinpoint) DeleteEventStreamRequest(input *DeleteEventStreamInput) (req // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEventStream func (c *Pinpoint) DeleteEventStream(input *DeleteEventStreamInput) (*DeleteEventStreamOutput, error) { req, out := c.DeleteEventStreamRequest(input) return out, req.Send() @@ -700,19 +1068,18 @@ const opDeleteGcmChannel = "DeleteGcmChannel" // DeleteGcmChannelRequest generates a "aws/request.Request" representing the // client's request for the DeleteGcmChannel operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteGcmChannel for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteGcmChannel method directly -// instead. +// See DeleteGcmChannel for more information on using the DeleteGcmChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteGcmChannelRequest method. // req, resp := client.DeleteGcmChannelRequest(params) @@ -721,6 +1088,8 @@ const opDeleteGcmChannel = "DeleteGcmChannel" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteGcmChannel func (c *Pinpoint) DeleteGcmChannelRequest(input *DeleteGcmChannelInput) (req *request.Request, output *DeleteGcmChannelOutput) { op := &request.Operation{ Name: opDeleteGcmChannel, @@ -761,6 +1130,7 @@ func (c *Pinpoint) DeleteGcmChannelRequest(input *DeleteGcmChannelInput) (req *r // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteGcmChannel func (c *Pinpoint) DeleteGcmChannel(input *DeleteGcmChannelInput) (*DeleteGcmChannelOutput, error) { req, out := c.DeleteGcmChannelRequest(input) return out, req.Send() @@ -786,19 +1156,18 @@ const opDeleteSegment = "DeleteSegment" // DeleteSegmentRequest generates a "aws/request.Request" representing the // client's request for the DeleteSegment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSegment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSegment method directly -// instead. +// See DeleteSegment for more information on using the DeleteSegment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSegmentRequest method. // req, resp := client.DeleteSegmentRequest(params) @@ -807,6 +1176,8 @@ const opDeleteSegment = "DeleteSegment" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSegment func (c *Pinpoint) DeleteSegmentRequest(input *DeleteSegmentInput) (req *request.Request, output *DeleteSegmentOutput) { op := &request.Operation{ Name: opDeleteSegment, @@ -847,6 +1218,7 @@ func (c *Pinpoint) DeleteSegmentRequest(input *DeleteSegmentInput) (req *request // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSegment func (c *Pinpoint) DeleteSegment(input *DeleteSegmentInput) (*DeleteSegmentOutput, error) { req, out := c.DeleteSegmentRequest(input) return out, req.Send() @@ -872,19 +1244,18 @@ const opDeleteSmsChannel = "DeleteSmsChannel" // DeleteSmsChannelRequest generates a "aws/request.Request" representing the // client's request for the DeleteSmsChannel operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSmsChannel for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSmsChannel method directly -// instead. +// See DeleteSmsChannel for more information on using the DeleteSmsChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSmsChannelRequest method. // req, resp := client.DeleteSmsChannelRequest(params) @@ -893,6 +1264,8 @@ const opDeleteSmsChannel = "DeleteSmsChannel" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsChannel func (c *Pinpoint) DeleteSmsChannelRequest(input *DeleteSmsChannelInput) (req *request.Request, output *DeleteSmsChannelOutput) { op := &request.Operation{ Name: opDeleteSmsChannel, @@ -933,6 +1306,7 @@ func (c *Pinpoint) DeleteSmsChannelRequest(input *DeleteSmsChannelInput) (req *r // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsChannel func (c *Pinpoint) DeleteSmsChannel(input *DeleteSmsChannelInput) (*DeleteSmsChannelOutput, error) { req, out := c.DeleteSmsChannelRequest(input) return out, req.Send() @@ -954,23 +1328,110 @@ func (c *Pinpoint) DeleteSmsChannelWithContext(ctx aws.Context, input *DeleteSms return out, req.Send() } +const opGetAdmChannel = "GetAdmChannel" + +// GetAdmChannelRequest generates a "aws/request.Request" representing the +// client's request for the GetAdmChannel operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetAdmChannel for more information on using the GetAdmChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetAdmChannelRequest method. +// req, resp := client.GetAdmChannelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetAdmChannel +func (c *Pinpoint) GetAdmChannelRequest(input *GetAdmChannelInput) (req *request.Request, output *GetAdmChannelOutput) { + op := &request.Operation{ + Name: opGetAdmChannel, + HTTPMethod: "GET", + HTTPPath: "/v1/apps/{application-id}/channels/adm", + } + + if input == nil { + input = &GetAdmChannelInput{} + } + + output = &GetAdmChannelOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetAdmChannel API operation for Amazon Pinpoint. +// +// Get an ADM channel +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation GetAdmChannel for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetAdmChannel +func (c *Pinpoint) GetAdmChannel(input *GetAdmChannelInput) (*GetAdmChannelOutput, error) { + req, out := c.GetAdmChannelRequest(input) + return out, req.Send() +} + +// GetAdmChannelWithContext is the same as GetAdmChannel with the addition of +// the ability to pass a context and additional request options. +// +// See GetAdmChannel for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) GetAdmChannelWithContext(ctx aws.Context, input *GetAdmChannelInput, opts ...request.Option) (*GetAdmChannelOutput, error) { + req, out := c.GetAdmChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetApnsChannel = "GetApnsChannel" // GetApnsChannelRequest generates a "aws/request.Request" representing the // client's request for the GetApnsChannel operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetApnsChannel for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetApnsChannel method directly -// instead. +// See GetApnsChannel for more information on using the GetApnsChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetApnsChannelRequest method. // req, resp := client.GetApnsChannelRequest(params) @@ -979,6 +1440,8 @@ const opGetApnsChannel = "GetApnsChannel" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsChannel func (c *Pinpoint) GetApnsChannelRequest(input *GetApnsChannelInput) (req *request.Request, output *GetApnsChannelOutput) { op := &request.Operation{ Name: opGetApnsChannel, @@ -1019,6 +1482,7 @@ func (c *Pinpoint) GetApnsChannelRequest(input *GetApnsChannelInput) (req *reque // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsChannel func (c *Pinpoint) GetApnsChannel(input *GetApnsChannelInput) (*GetApnsChannelOutput, error) { req, out := c.GetApnsChannelRequest(input) return out, req.Send() @@ -1044,19 +1508,18 @@ const opGetApnsSandboxChannel = "GetApnsSandboxChannel" // GetApnsSandboxChannelRequest generates a "aws/request.Request" representing the // client's request for the GetApnsSandboxChannel operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetApnsSandboxChannel for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetApnsSandboxChannel method directly -// instead. +// See GetApnsSandboxChannel for more information on using the GetApnsSandboxChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetApnsSandboxChannelRequest method. // req, resp := client.GetApnsSandboxChannelRequest(params) @@ -1065,6 +1528,8 @@ const opGetApnsSandboxChannel = "GetApnsSandboxChannel" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsSandboxChannel func (c *Pinpoint) GetApnsSandboxChannelRequest(input *GetApnsSandboxChannelInput) (req *request.Request, output *GetApnsSandboxChannelOutput) { op := &request.Operation{ Name: opGetApnsSandboxChannel, @@ -1105,6 +1570,7 @@ func (c *Pinpoint) GetApnsSandboxChannelRequest(input *GetApnsSandboxChannelInpu // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsSandboxChannel func (c *Pinpoint) GetApnsSandboxChannel(input *GetApnsSandboxChannelInput) (*GetApnsSandboxChannelOutput, error) { req, out := c.GetApnsSandboxChannelRequest(input) return out, req.Send() @@ -1126,23 +1592,110 @@ func (c *Pinpoint) GetApnsSandboxChannelWithContext(ctx aws.Context, input *GetA return out, req.Send() } +const opGetApp = "GetApp" + +// GetAppRequest generates a "aws/request.Request" representing the +// client's request for the GetApp operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetApp for more information on using the GetApp +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetAppRequest method. +// req, resp := client.GetAppRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApp +func (c *Pinpoint) GetAppRequest(input *GetAppInput) (req *request.Request, output *GetAppOutput) { + op := &request.Operation{ + Name: opGetApp, + HTTPMethod: "GET", + HTTPPath: "/v1/apps/{application-id}", + } + + if input == nil { + input = &GetAppInput{} + } + + output = &GetAppOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetApp API operation for Amazon Pinpoint. +// +// Returns information about an app. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation GetApp for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApp +func (c *Pinpoint) GetApp(input *GetAppInput) (*GetAppOutput, error) { + req, out := c.GetAppRequest(input) + return out, req.Send() +} + +// GetAppWithContext is the same as GetApp with the addition of +// the ability to pass a context and additional request options. +// +// See GetApp for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) GetAppWithContext(ctx aws.Context, input *GetAppInput, opts ...request.Option) (*GetAppOutput, error) { + req, out := c.GetAppRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetApplicationSettings = "GetApplicationSettings" // GetApplicationSettingsRequest generates a "aws/request.Request" representing the // client's request for the GetApplicationSettings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetApplicationSettings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetApplicationSettings method directly -// instead. +// See GetApplicationSettings for more information on using the GetApplicationSettings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetApplicationSettingsRequest method. // req, resp := client.GetApplicationSettingsRequest(params) @@ -1151,6 +1704,8 @@ const opGetApplicationSettings = "GetApplicationSettings" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApplicationSettings func (c *Pinpoint) GetApplicationSettingsRequest(input *GetApplicationSettingsInput) (req *request.Request, output *GetApplicationSettingsOutput) { op := &request.Operation{ Name: opGetApplicationSettings, @@ -1191,6 +1746,7 @@ func (c *Pinpoint) GetApplicationSettingsRequest(input *GetApplicationSettingsIn // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApplicationSettings func (c *Pinpoint) GetApplicationSettings(input *GetApplicationSettingsInput) (*GetApplicationSettingsOutput, error) { req, out := c.GetApplicationSettingsRequest(input) return out, req.Send() @@ -1212,23 +1768,198 @@ func (c *Pinpoint) GetApplicationSettingsWithContext(ctx aws.Context, input *Get return out, req.Send() } +const opGetApps = "GetApps" + +// GetAppsRequest generates a "aws/request.Request" representing the +// client's request for the GetApps operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetApps for more information on using the GetApps +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetAppsRequest method. +// req, resp := client.GetAppsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApps +func (c *Pinpoint) GetAppsRequest(input *GetAppsInput) (req *request.Request, output *GetAppsOutput) { + op := &request.Operation{ + Name: opGetApps, + HTTPMethod: "GET", + HTTPPath: "/v1/apps", + } + + if input == nil { + input = &GetAppsInput{} + } + + output = &GetAppsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetApps API operation for Amazon Pinpoint. +// +// Returns information about your apps. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation GetApps for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApps +func (c *Pinpoint) GetApps(input *GetAppsInput) (*GetAppsOutput, error) { + req, out := c.GetAppsRequest(input) + return out, req.Send() +} + +// GetAppsWithContext is the same as GetApps with the addition of +// the ability to pass a context and additional request options. +// +// See GetApps for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) GetAppsWithContext(ctx aws.Context, input *GetAppsInput, opts ...request.Option) (*GetAppsOutput, error) { + req, out := c.GetAppsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetBaiduChannel = "GetBaiduChannel" + +// GetBaiduChannelRequest generates a "aws/request.Request" representing the +// client's request for the GetBaiduChannel operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetBaiduChannel for more information on using the GetBaiduChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetBaiduChannelRequest method. +// req, resp := client.GetBaiduChannelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetBaiduChannel +func (c *Pinpoint) GetBaiduChannelRequest(input *GetBaiduChannelInput) (req *request.Request, output *GetBaiduChannelOutput) { + op := &request.Operation{ + Name: opGetBaiduChannel, + HTTPMethod: "GET", + HTTPPath: "/v1/apps/{application-id}/channels/baidu", + } + + if input == nil { + input = &GetBaiduChannelInput{} + } + + output = &GetBaiduChannelOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetBaiduChannel API operation for Amazon Pinpoint. +// +// Get a BAIDU GCM channel +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation GetBaiduChannel for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetBaiduChannel +func (c *Pinpoint) GetBaiduChannel(input *GetBaiduChannelInput) (*GetBaiduChannelOutput, error) { + req, out := c.GetBaiduChannelRequest(input) + return out, req.Send() +} + +// GetBaiduChannelWithContext is the same as GetBaiduChannel with the addition of +// the ability to pass a context and additional request options. +// +// See GetBaiduChannel for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) GetBaiduChannelWithContext(ctx aws.Context, input *GetBaiduChannelInput, opts ...request.Option) (*GetBaiduChannelOutput, error) { + req, out := c.GetBaiduChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetCampaign = "GetCampaign" // GetCampaignRequest generates a "aws/request.Request" representing the // client's request for the GetCampaign operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetCampaign for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetCampaign method directly -// instead. +// See GetCampaign for more information on using the GetCampaign +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetCampaignRequest method. // req, resp := client.GetCampaignRequest(params) @@ -1237,6 +1968,8 @@ const opGetCampaign = "GetCampaign" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaign func (c *Pinpoint) GetCampaignRequest(input *GetCampaignInput) (req *request.Request, output *GetCampaignOutput) { op := &request.Operation{ Name: opGetCampaign, @@ -1277,6 +2010,7 @@ func (c *Pinpoint) GetCampaignRequest(input *GetCampaignInput) (req *request.Req // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaign func (c *Pinpoint) GetCampaign(input *GetCampaignInput) (*GetCampaignOutput, error) { req, out := c.GetCampaignRequest(input) return out, req.Send() @@ -1302,19 +2036,18 @@ const opGetCampaignActivities = "GetCampaignActivities" // GetCampaignActivitiesRequest generates a "aws/request.Request" representing the // client's request for the GetCampaignActivities operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetCampaignActivities for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetCampaignActivities method directly -// instead. +// See GetCampaignActivities for more information on using the GetCampaignActivities +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetCampaignActivitiesRequest method. // req, resp := client.GetCampaignActivitiesRequest(params) @@ -1323,6 +2056,8 @@ const opGetCampaignActivities = "GetCampaignActivities" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignActivities func (c *Pinpoint) GetCampaignActivitiesRequest(input *GetCampaignActivitiesInput) (req *request.Request, output *GetCampaignActivitiesOutput) { op := &request.Operation{ Name: opGetCampaignActivities, @@ -1363,6 +2098,7 @@ func (c *Pinpoint) GetCampaignActivitiesRequest(input *GetCampaignActivitiesInpu // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignActivities func (c *Pinpoint) GetCampaignActivities(input *GetCampaignActivitiesInput) (*GetCampaignActivitiesOutput, error) { req, out := c.GetCampaignActivitiesRequest(input) return out, req.Send() @@ -1388,19 +2124,18 @@ const opGetCampaignVersion = "GetCampaignVersion" // GetCampaignVersionRequest generates a "aws/request.Request" representing the // client's request for the GetCampaignVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetCampaignVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetCampaignVersion method directly -// instead. +// See GetCampaignVersion for more information on using the GetCampaignVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetCampaignVersionRequest method. // req, resp := client.GetCampaignVersionRequest(params) @@ -1409,6 +2144,8 @@ const opGetCampaignVersion = "GetCampaignVersion" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersion func (c *Pinpoint) GetCampaignVersionRequest(input *GetCampaignVersionInput) (req *request.Request, output *GetCampaignVersionOutput) { op := &request.Operation{ Name: opGetCampaignVersion, @@ -1449,6 +2186,7 @@ func (c *Pinpoint) GetCampaignVersionRequest(input *GetCampaignVersionInput) (re // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersion func (c *Pinpoint) GetCampaignVersion(input *GetCampaignVersionInput) (*GetCampaignVersionOutput, error) { req, out := c.GetCampaignVersionRequest(input) return out, req.Send() @@ -1474,19 +2212,18 @@ const opGetCampaignVersions = "GetCampaignVersions" // GetCampaignVersionsRequest generates a "aws/request.Request" representing the // client's request for the GetCampaignVersions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetCampaignVersions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetCampaignVersions method directly -// instead. +// See GetCampaignVersions for more information on using the GetCampaignVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetCampaignVersionsRequest method. // req, resp := client.GetCampaignVersionsRequest(params) @@ -1495,6 +2232,8 @@ const opGetCampaignVersions = "GetCampaignVersions" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersions func (c *Pinpoint) GetCampaignVersionsRequest(input *GetCampaignVersionsInput) (req *request.Request, output *GetCampaignVersionsOutput) { op := &request.Operation{ Name: opGetCampaignVersions, @@ -1535,6 +2274,7 @@ func (c *Pinpoint) GetCampaignVersionsRequest(input *GetCampaignVersionsInput) ( // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersions func (c *Pinpoint) GetCampaignVersions(input *GetCampaignVersionsInput) (*GetCampaignVersionsOutput, error) { req, out := c.GetCampaignVersionsRequest(input) return out, req.Send() @@ -1560,19 +2300,18 @@ const opGetCampaigns = "GetCampaigns" // GetCampaignsRequest generates a "aws/request.Request" representing the // client's request for the GetCampaigns operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetCampaigns for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetCampaigns method directly -// instead. +// See GetCampaigns for more information on using the GetCampaigns +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetCampaignsRequest method. // req, resp := client.GetCampaignsRequest(params) @@ -1581,6 +2320,8 @@ const opGetCampaigns = "GetCampaigns" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaigns func (c *Pinpoint) GetCampaignsRequest(input *GetCampaignsInput) (req *request.Request, output *GetCampaignsOutput) { op := &request.Operation{ Name: opGetCampaigns, @@ -1621,6 +2362,7 @@ func (c *Pinpoint) GetCampaignsRequest(input *GetCampaignsInput) (req *request.R // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaigns func (c *Pinpoint) GetCampaigns(input *GetCampaignsInput) (*GetCampaignsOutput, error) { req, out := c.GetCampaignsRequest(input) return out, req.Send() @@ -1646,19 +2388,18 @@ const opGetEmailChannel = "GetEmailChannel" // GetEmailChannelRequest generates a "aws/request.Request" representing the // client's request for the GetEmailChannel operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetEmailChannel for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetEmailChannel method directly -// instead. +// See GetEmailChannel for more information on using the GetEmailChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetEmailChannelRequest method. // req, resp := client.GetEmailChannelRequest(params) @@ -1667,6 +2408,8 @@ const opGetEmailChannel = "GetEmailChannel" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailChannel func (c *Pinpoint) GetEmailChannelRequest(input *GetEmailChannelInput) (req *request.Request, output *GetEmailChannelOutput) { op := &request.Operation{ Name: opGetEmailChannel, @@ -1707,6 +2450,7 @@ func (c *Pinpoint) GetEmailChannelRequest(input *GetEmailChannelInput) (req *req // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailChannel func (c *Pinpoint) GetEmailChannel(input *GetEmailChannelInput) (*GetEmailChannelOutput, error) { req, out := c.GetEmailChannelRequest(input) return out, req.Send() @@ -1732,19 +2476,18 @@ const opGetEndpoint = "GetEndpoint" // GetEndpointRequest generates a "aws/request.Request" representing the // client's request for the GetEndpoint operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetEndpoint for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetEndpoint method directly -// instead. +// See GetEndpoint for more information on using the GetEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetEndpointRequest method. // req, resp := client.GetEndpointRequest(params) @@ -1753,6 +2496,8 @@ const opGetEndpoint = "GetEndpoint" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEndpoint func (c *Pinpoint) GetEndpointRequest(input *GetEndpointInput) (req *request.Request, output *GetEndpointOutput) { op := &request.Operation{ Name: opGetEndpoint, @@ -1793,6 +2538,7 @@ func (c *Pinpoint) GetEndpointRequest(input *GetEndpointInput) (req *request.Req // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEndpoint func (c *Pinpoint) GetEndpoint(input *GetEndpointInput) (*GetEndpointOutput, error) { req, out := c.GetEndpointRequest(input) return out, req.Send() @@ -1818,19 +2564,18 @@ const opGetEventStream = "GetEventStream" // GetEventStreamRequest generates a "aws/request.Request" representing the // client's request for the GetEventStream operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetEventStream for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetEventStream method directly -// instead. +// See GetEventStream for more information on using the GetEventStream +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetEventStreamRequest method. // req, resp := client.GetEventStreamRequest(params) @@ -1839,6 +2584,8 @@ const opGetEventStream = "GetEventStream" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEventStream func (c *Pinpoint) GetEventStreamRequest(input *GetEventStreamInput) (req *request.Request, output *GetEventStreamOutput) { op := &request.Operation{ Name: opGetEventStream, @@ -1879,6 +2626,7 @@ func (c *Pinpoint) GetEventStreamRequest(input *GetEventStreamInput) (req *reque // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEventStream func (c *Pinpoint) GetEventStream(input *GetEventStreamInput) (*GetEventStreamOutput, error) { req, out := c.GetEventStreamRequest(input) return out, req.Send() @@ -1904,19 +2652,18 @@ const opGetGcmChannel = "GetGcmChannel" // GetGcmChannelRequest generates a "aws/request.Request" representing the // client's request for the GetGcmChannel operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetGcmChannel for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetGcmChannel method directly -// instead. +// See GetGcmChannel for more information on using the GetGcmChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetGcmChannelRequest method. // req, resp := client.GetGcmChannelRequest(params) @@ -1925,6 +2672,8 @@ const opGetGcmChannel = "GetGcmChannel" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetGcmChannel func (c *Pinpoint) GetGcmChannelRequest(input *GetGcmChannelInput) (req *request.Request, output *GetGcmChannelOutput) { op := &request.Operation{ Name: opGetGcmChannel, @@ -1965,6 +2714,7 @@ func (c *Pinpoint) GetGcmChannelRequest(input *GetGcmChannelInput) (req *request // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetGcmChannel func (c *Pinpoint) GetGcmChannel(input *GetGcmChannelInput) (*GetGcmChannelOutput, error) { req, out := c.GetGcmChannelRequest(input) return out, req.Send() @@ -1990,19 +2740,18 @@ const opGetImportJob = "GetImportJob" // GetImportJobRequest generates a "aws/request.Request" representing the // client's request for the GetImportJob operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetImportJob for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetImportJob method directly -// instead. +// See GetImportJob for more information on using the GetImportJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetImportJobRequest method. // req, resp := client.GetImportJobRequest(params) @@ -2011,6 +2760,8 @@ const opGetImportJob = "GetImportJob" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJob func (c *Pinpoint) GetImportJobRequest(input *GetImportJobInput) (req *request.Request, output *GetImportJobOutput) { op := &request.Operation{ Name: opGetImportJob, @@ -2051,6 +2802,7 @@ func (c *Pinpoint) GetImportJobRequest(input *GetImportJobInput) (req *request.R // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJob func (c *Pinpoint) GetImportJob(input *GetImportJobInput) (*GetImportJobOutput, error) { req, out := c.GetImportJobRequest(input) return out, req.Send() @@ -2076,19 +2828,18 @@ const opGetImportJobs = "GetImportJobs" // GetImportJobsRequest generates a "aws/request.Request" representing the // client's request for the GetImportJobs operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetImportJobs for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetImportJobs method directly -// instead. +// See GetImportJobs for more information on using the GetImportJobs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetImportJobsRequest method. // req, resp := client.GetImportJobsRequest(params) @@ -2097,6 +2848,8 @@ const opGetImportJobs = "GetImportJobs" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJobs func (c *Pinpoint) GetImportJobsRequest(input *GetImportJobsInput) (req *request.Request, output *GetImportJobsOutput) { op := &request.Operation{ Name: opGetImportJobs, @@ -2137,6 +2890,7 @@ func (c *Pinpoint) GetImportJobsRequest(input *GetImportJobsInput) (req *request // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJobs func (c *Pinpoint) GetImportJobs(input *GetImportJobsInput) (*GetImportJobsOutput, error) { req, out := c.GetImportJobsRequest(input) return out, req.Send() @@ -2162,19 +2916,18 @@ const opGetSegment = "GetSegment" // GetSegmentRequest generates a "aws/request.Request" representing the // client's request for the GetSegment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSegment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSegment method directly -// instead. +// See GetSegment for more information on using the GetSegment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSegmentRequest method. // req, resp := client.GetSegmentRequest(params) @@ -2183,6 +2936,8 @@ const opGetSegment = "GetSegment" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegment func (c *Pinpoint) GetSegmentRequest(input *GetSegmentInput) (req *request.Request, output *GetSegmentOutput) { op := &request.Operation{ Name: opGetSegment, @@ -2223,6 +2978,7 @@ func (c *Pinpoint) GetSegmentRequest(input *GetSegmentInput) (req *request.Reque // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegment func (c *Pinpoint) GetSegment(input *GetSegmentInput) (*GetSegmentOutput, error) { req, out := c.GetSegmentRequest(input) return out, req.Send() @@ -2248,19 +3004,18 @@ const opGetSegmentImportJobs = "GetSegmentImportJobs" // GetSegmentImportJobsRequest generates a "aws/request.Request" representing the // client's request for the GetSegmentImportJobs operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSegmentImportJobs for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSegmentImportJobs method directly -// instead. +// See GetSegmentImportJobs for more information on using the GetSegmentImportJobs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSegmentImportJobsRequest method. // req, resp := client.GetSegmentImportJobsRequest(params) @@ -2269,6 +3024,8 @@ const opGetSegmentImportJobs = "GetSegmentImportJobs" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentImportJobs func (c *Pinpoint) GetSegmentImportJobsRequest(input *GetSegmentImportJobsInput) (req *request.Request, output *GetSegmentImportJobsOutput) { op := &request.Operation{ Name: opGetSegmentImportJobs, @@ -2309,6 +3066,7 @@ func (c *Pinpoint) GetSegmentImportJobsRequest(input *GetSegmentImportJobsInput) // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentImportJobs func (c *Pinpoint) GetSegmentImportJobs(input *GetSegmentImportJobsInput) (*GetSegmentImportJobsOutput, error) { req, out := c.GetSegmentImportJobsRequest(input) return out, req.Send() @@ -2334,19 +3092,18 @@ const opGetSegmentVersion = "GetSegmentVersion" // GetSegmentVersionRequest generates a "aws/request.Request" representing the // client's request for the GetSegmentVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSegmentVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSegmentVersion method directly -// instead. +// See GetSegmentVersion for more information on using the GetSegmentVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSegmentVersionRequest method. // req, resp := client.GetSegmentVersionRequest(params) @@ -2355,6 +3112,8 @@ const opGetSegmentVersion = "GetSegmentVersion" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersion func (c *Pinpoint) GetSegmentVersionRequest(input *GetSegmentVersionInput) (req *request.Request, output *GetSegmentVersionOutput) { op := &request.Operation{ Name: opGetSegmentVersion, @@ -2395,6 +3154,7 @@ func (c *Pinpoint) GetSegmentVersionRequest(input *GetSegmentVersionInput) (req // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersion func (c *Pinpoint) GetSegmentVersion(input *GetSegmentVersionInput) (*GetSegmentVersionOutput, error) { req, out := c.GetSegmentVersionRequest(input) return out, req.Send() @@ -2420,19 +3180,18 @@ const opGetSegmentVersions = "GetSegmentVersions" // GetSegmentVersionsRequest generates a "aws/request.Request" representing the // client's request for the GetSegmentVersions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSegmentVersions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSegmentVersions method directly -// instead. +// See GetSegmentVersions for more information on using the GetSegmentVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSegmentVersionsRequest method. // req, resp := client.GetSegmentVersionsRequest(params) @@ -2441,6 +3200,8 @@ const opGetSegmentVersions = "GetSegmentVersions" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersions func (c *Pinpoint) GetSegmentVersionsRequest(input *GetSegmentVersionsInput) (req *request.Request, output *GetSegmentVersionsOutput) { op := &request.Operation{ Name: opGetSegmentVersions, @@ -2481,6 +3242,7 @@ func (c *Pinpoint) GetSegmentVersionsRequest(input *GetSegmentVersionsInput) (re // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersions func (c *Pinpoint) GetSegmentVersions(input *GetSegmentVersionsInput) (*GetSegmentVersionsOutput, error) { req, out := c.GetSegmentVersionsRequest(input) return out, req.Send() @@ -2506,19 +3268,18 @@ const opGetSegments = "GetSegments" // GetSegmentsRequest generates a "aws/request.Request" representing the // client's request for the GetSegments operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSegments for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSegments method directly -// instead. +// See GetSegments for more information on using the GetSegments +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSegmentsRequest method. // req, resp := client.GetSegmentsRequest(params) @@ -2527,6 +3288,8 @@ const opGetSegments = "GetSegments" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegments func (c *Pinpoint) GetSegmentsRequest(input *GetSegmentsInput) (req *request.Request, output *GetSegmentsOutput) { op := &request.Operation{ Name: opGetSegments, @@ -2567,6 +3330,7 @@ func (c *Pinpoint) GetSegmentsRequest(input *GetSegmentsInput) (req *request.Req // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegments func (c *Pinpoint) GetSegments(input *GetSegmentsInput) (*GetSegmentsOutput, error) { req, out := c.GetSegmentsRequest(input) return out, req.Send() @@ -2592,19 +3356,18 @@ const opGetSmsChannel = "GetSmsChannel" // GetSmsChannelRequest generates a "aws/request.Request" representing the // client's request for the GetSmsChannel operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSmsChannel for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSmsChannel method directly -// instead. +// See GetSmsChannel for more information on using the GetSmsChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSmsChannelRequest method. // req, resp := client.GetSmsChannelRequest(params) @@ -2613,6 +3376,8 @@ const opGetSmsChannel = "GetSmsChannel" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsChannel func (c *Pinpoint) GetSmsChannelRequest(input *GetSmsChannelInput) (req *request.Request, output *GetSmsChannelOutput) { op := &request.Operation{ Name: opGetSmsChannel, @@ -2653,6 +3418,7 @@ func (c *Pinpoint) GetSmsChannelRequest(input *GetSmsChannelInput) (req *request // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsChannel func (c *Pinpoint) GetSmsChannel(input *GetSmsChannelInput) (*GetSmsChannelOutput, error) { req, out := c.GetSmsChannelRequest(input) return out, req.Send() @@ -2678,19 +3444,18 @@ const opPutEventStream = "PutEventStream" // PutEventStreamRequest generates a "aws/request.Request" representing the // client's request for the PutEventStream operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutEventStream for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutEventStream method directly -// instead. +// See PutEventStream for more information on using the PutEventStream +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutEventStreamRequest method. // req, resp := client.PutEventStreamRequest(params) @@ -2699,6 +3464,8 @@ const opPutEventStream = "PutEventStream" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEventStream func (c *Pinpoint) PutEventStreamRequest(input *PutEventStreamInput) (req *request.Request, output *PutEventStreamOutput) { op := &request.Operation{ Name: opPutEventStream, @@ -2739,6 +3506,7 @@ func (c *Pinpoint) PutEventStreamRequest(input *PutEventStreamInput) (req *reque // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEventStream func (c *Pinpoint) PutEventStream(input *PutEventStreamInput) (*PutEventStreamOutput, error) { req, out := c.PutEventStreamRequest(input) return out, req.Send() @@ -2764,19 +3532,18 @@ const opSendMessages = "SendMessages" // SendMessagesRequest generates a "aws/request.Request" representing the // client's request for the SendMessages operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SendMessages for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SendMessages method directly -// instead. +// See SendMessages for more information on using the SendMessages +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SendMessagesRequest method. // req, resp := client.SendMessagesRequest(params) @@ -2785,6 +3552,8 @@ const opSendMessages = "SendMessages" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendMessages func (c *Pinpoint) SendMessagesRequest(input *SendMessagesInput) (req *request.Request, output *SendMessagesOutput) { op := &request.Operation{ Name: opSendMessages, @@ -2825,6 +3594,7 @@ func (c *Pinpoint) SendMessagesRequest(input *SendMessagesInput) (req *request.R // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendMessages func (c *Pinpoint) SendMessages(input *SendMessagesInput) (*SendMessagesOutput, error) { req, out := c.SendMessagesRequest(input) return out, req.Send() @@ -2846,23 +3616,198 @@ func (c *Pinpoint) SendMessagesWithContext(ctx aws.Context, input *SendMessagesI return out, req.Send() } +const opSendUsersMessages = "SendUsersMessages" + +// SendUsersMessagesRequest generates a "aws/request.Request" representing the +// client's request for the SendUsersMessages operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See SendUsersMessages for more information on using the SendUsersMessages +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the SendUsersMessagesRequest method. +// req, resp := client.SendUsersMessagesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendUsersMessages +func (c *Pinpoint) SendUsersMessagesRequest(input *SendUsersMessagesInput) (req *request.Request, output *SendUsersMessagesOutput) { + op := &request.Operation{ + Name: opSendUsersMessages, + HTTPMethod: "POST", + HTTPPath: "/v1/apps/{application-id}/users-messages", + } + + if input == nil { + input = &SendUsersMessagesInput{} + } + + output = &SendUsersMessagesOutput{} + req = c.newRequest(op, input, output) + return +} + +// SendUsersMessages API operation for Amazon Pinpoint. +// +// Send a batch of messages to users +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation SendUsersMessages for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendUsersMessages +func (c *Pinpoint) SendUsersMessages(input *SendUsersMessagesInput) (*SendUsersMessagesOutput, error) { + req, out := c.SendUsersMessagesRequest(input) + return out, req.Send() +} + +// SendUsersMessagesWithContext is the same as SendUsersMessages with the addition of +// the ability to pass a context and additional request options. +// +// See SendUsersMessages for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) SendUsersMessagesWithContext(ctx aws.Context, input *SendUsersMessagesInput, opts ...request.Option) (*SendUsersMessagesOutput, error) { + req, out := c.SendUsersMessagesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateAdmChannel = "UpdateAdmChannel" + +// UpdateAdmChannelRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAdmChannel operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateAdmChannel for more information on using the UpdateAdmChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateAdmChannelRequest method. +// req, resp := client.UpdateAdmChannelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateAdmChannel +func (c *Pinpoint) UpdateAdmChannelRequest(input *UpdateAdmChannelInput) (req *request.Request, output *UpdateAdmChannelOutput) { + op := &request.Operation{ + Name: opUpdateAdmChannel, + HTTPMethod: "PUT", + HTTPPath: "/v1/apps/{application-id}/channels/adm", + } + + if input == nil { + input = &UpdateAdmChannelInput{} + } + + output = &UpdateAdmChannelOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateAdmChannel API operation for Amazon Pinpoint. +// +// Update an ADM channel +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation UpdateAdmChannel for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateAdmChannel +func (c *Pinpoint) UpdateAdmChannel(input *UpdateAdmChannelInput) (*UpdateAdmChannelOutput, error) { + req, out := c.UpdateAdmChannelRequest(input) + return out, req.Send() +} + +// UpdateAdmChannelWithContext is the same as UpdateAdmChannel with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateAdmChannel for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) UpdateAdmChannelWithContext(ctx aws.Context, input *UpdateAdmChannelInput, opts ...request.Option) (*UpdateAdmChannelOutput, error) { + req, out := c.UpdateAdmChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateApnsChannel = "UpdateApnsChannel" // UpdateApnsChannelRequest generates a "aws/request.Request" representing the // client's request for the UpdateApnsChannel operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateApnsChannel for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateApnsChannel method directly -// instead. +// See UpdateApnsChannel for more information on using the UpdateApnsChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateApnsChannelRequest method. // req, resp := client.UpdateApnsChannelRequest(params) @@ -2871,6 +3816,8 @@ const opUpdateApnsChannel = "UpdateApnsChannel" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsChannel func (c *Pinpoint) UpdateApnsChannelRequest(input *UpdateApnsChannelInput) (req *request.Request, output *UpdateApnsChannelOutput) { op := &request.Operation{ Name: opUpdateApnsChannel, @@ -2911,6 +3858,7 @@ func (c *Pinpoint) UpdateApnsChannelRequest(input *UpdateApnsChannelInput) (req // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsChannel func (c *Pinpoint) UpdateApnsChannel(input *UpdateApnsChannelInput) (*UpdateApnsChannelOutput, error) { req, out := c.UpdateApnsChannelRequest(input) return out, req.Send() @@ -2936,19 +3884,18 @@ const opUpdateApnsSandboxChannel = "UpdateApnsSandboxChannel" // UpdateApnsSandboxChannelRequest generates a "aws/request.Request" representing the // client's request for the UpdateApnsSandboxChannel operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateApnsSandboxChannel for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateApnsSandboxChannel method directly -// instead. +// See UpdateApnsSandboxChannel for more information on using the UpdateApnsSandboxChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateApnsSandboxChannelRequest method. // req, resp := client.UpdateApnsSandboxChannelRequest(params) @@ -2957,6 +3904,8 @@ const opUpdateApnsSandboxChannel = "UpdateApnsSandboxChannel" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsSandboxChannel func (c *Pinpoint) UpdateApnsSandboxChannelRequest(input *UpdateApnsSandboxChannelInput) (req *request.Request, output *UpdateApnsSandboxChannelOutput) { op := &request.Operation{ Name: opUpdateApnsSandboxChannel, @@ -2997,6 +3946,7 @@ func (c *Pinpoint) UpdateApnsSandboxChannelRequest(input *UpdateApnsSandboxChann // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsSandboxChannel func (c *Pinpoint) UpdateApnsSandboxChannel(input *UpdateApnsSandboxChannelInput) (*UpdateApnsSandboxChannelOutput, error) { req, out := c.UpdateApnsSandboxChannelRequest(input) return out, req.Send() @@ -3022,19 +3972,18 @@ const opUpdateApplicationSettings = "UpdateApplicationSettings" // UpdateApplicationSettingsRequest generates a "aws/request.Request" representing the // client's request for the UpdateApplicationSettings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateApplicationSettings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateApplicationSettings method directly -// instead. +// See UpdateApplicationSettings for more information on using the UpdateApplicationSettings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateApplicationSettingsRequest method. // req, resp := client.UpdateApplicationSettingsRequest(params) @@ -3043,6 +3992,8 @@ const opUpdateApplicationSettings = "UpdateApplicationSettings" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApplicationSettings func (c *Pinpoint) UpdateApplicationSettingsRequest(input *UpdateApplicationSettingsInput) (req *request.Request, output *UpdateApplicationSettingsOutput) { op := &request.Operation{ Name: opUpdateApplicationSettings, @@ -3083,6 +4034,7 @@ func (c *Pinpoint) UpdateApplicationSettingsRequest(input *UpdateApplicationSett // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApplicationSettings func (c *Pinpoint) UpdateApplicationSettings(input *UpdateApplicationSettingsInput) (*UpdateApplicationSettingsOutput, error) { req, out := c.UpdateApplicationSettingsRequest(input) return out, req.Send() @@ -3104,23 +4056,110 @@ func (c *Pinpoint) UpdateApplicationSettingsWithContext(ctx aws.Context, input * return out, req.Send() } +const opUpdateBaiduChannel = "UpdateBaiduChannel" + +// UpdateBaiduChannelRequest generates a "aws/request.Request" representing the +// client's request for the UpdateBaiduChannel operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateBaiduChannel for more information on using the UpdateBaiduChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateBaiduChannelRequest method. +// req, resp := client.UpdateBaiduChannelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateBaiduChannel +func (c *Pinpoint) UpdateBaiduChannelRequest(input *UpdateBaiduChannelInput) (req *request.Request, output *UpdateBaiduChannelOutput) { + op := &request.Operation{ + Name: opUpdateBaiduChannel, + HTTPMethod: "PUT", + HTTPPath: "/v1/apps/{application-id}/channels/baidu", + } + + if input == nil { + input = &UpdateBaiduChannelInput{} + } + + output = &UpdateBaiduChannelOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateBaiduChannel API operation for Amazon Pinpoint. +// +// Update a BAIDU GCM channel +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation UpdateBaiduChannel for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeMethodNotAllowedException "MethodNotAllowedException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateBaiduChannel +func (c *Pinpoint) UpdateBaiduChannel(input *UpdateBaiduChannelInput) (*UpdateBaiduChannelOutput, error) { + req, out := c.UpdateBaiduChannelRequest(input) + return out, req.Send() +} + +// UpdateBaiduChannelWithContext is the same as UpdateBaiduChannel with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateBaiduChannel for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) UpdateBaiduChannelWithContext(ctx aws.Context, input *UpdateBaiduChannelInput, opts ...request.Option) (*UpdateBaiduChannelOutput, error) { + req, out := c.UpdateBaiduChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateCampaign = "UpdateCampaign" // UpdateCampaignRequest generates a "aws/request.Request" representing the // client's request for the UpdateCampaign operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateCampaign for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateCampaign method directly -// instead. +// See UpdateCampaign for more information on using the UpdateCampaign +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateCampaignRequest method. // req, resp := client.UpdateCampaignRequest(params) @@ -3129,6 +4168,8 @@ const opUpdateCampaign = "UpdateCampaign" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateCampaign func (c *Pinpoint) UpdateCampaignRequest(input *UpdateCampaignInput) (req *request.Request, output *UpdateCampaignOutput) { op := &request.Operation{ Name: opUpdateCampaign, @@ -3169,6 +4210,7 @@ func (c *Pinpoint) UpdateCampaignRequest(input *UpdateCampaignInput) (req *reque // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateCampaign func (c *Pinpoint) UpdateCampaign(input *UpdateCampaignInput) (*UpdateCampaignOutput, error) { req, out := c.UpdateCampaignRequest(input) return out, req.Send() @@ -3194,19 +4236,18 @@ const opUpdateEmailChannel = "UpdateEmailChannel" // UpdateEmailChannelRequest generates a "aws/request.Request" representing the // client's request for the UpdateEmailChannel operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateEmailChannel for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateEmailChannel method directly -// instead. +// See UpdateEmailChannel for more information on using the UpdateEmailChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateEmailChannelRequest method. // req, resp := client.UpdateEmailChannelRequest(params) @@ -3215,6 +4256,8 @@ const opUpdateEmailChannel = "UpdateEmailChannel" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailChannel func (c *Pinpoint) UpdateEmailChannelRequest(input *UpdateEmailChannelInput) (req *request.Request, output *UpdateEmailChannelOutput) { op := &request.Operation{ Name: opUpdateEmailChannel, @@ -3255,6 +4298,7 @@ func (c *Pinpoint) UpdateEmailChannelRequest(input *UpdateEmailChannelInput) (re // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailChannel func (c *Pinpoint) UpdateEmailChannel(input *UpdateEmailChannelInput) (*UpdateEmailChannelOutput, error) { req, out := c.UpdateEmailChannelRequest(input) return out, req.Send() @@ -3280,19 +4324,18 @@ const opUpdateEndpoint = "UpdateEndpoint" // UpdateEndpointRequest generates a "aws/request.Request" representing the // client's request for the UpdateEndpoint operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateEndpoint for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateEndpoint method directly -// instead. +// See UpdateEndpoint for more information on using the UpdateEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateEndpointRequest method. // req, resp := client.UpdateEndpointRequest(params) @@ -3301,6 +4344,8 @@ const opUpdateEndpoint = "UpdateEndpoint" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpoint func (c *Pinpoint) UpdateEndpointRequest(input *UpdateEndpointInput) (req *request.Request, output *UpdateEndpointOutput) { op := &request.Operation{ Name: opUpdateEndpoint, @@ -3341,6 +4386,7 @@ func (c *Pinpoint) UpdateEndpointRequest(input *UpdateEndpointInput) (req *reque // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpoint func (c *Pinpoint) UpdateEndpoint(input *UpdateEndpointInput) (*UpdateEndpointOutput, error) { req, out := c.UpdateEndpointRequest(input) return out, req.Send() @@ -3366,19 +4412,18 @@ const opUpdateEndpointsBatch = "UpdateEndpointsBatch" // UpdateEndpointsBatchRequest generates a "aws/request.Request" representing the // client's request for the UpdateEndpointsBatch operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateEndpointsBatch for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateEndpointsBatch method directly -// instead. +// See UpdateEndpointsBatch for more information on using the UpdateEndpointsBatch +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateEndpointsBatchRequest method. // req, resp := client.UpdateEndpointsBatchRequest(params) @@ -3387,6 +4432,8 @@ const opUpdateEndpointsBatch = "UpdateEndpointsBatch" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpointsBatch func (c *Pinpoint) UpdateEndpointsBatchRequest(input *UpdateEndpointsBatchInput) (req *request.Request, output *UpdateEndpointsBatchOutput) { op := &request.Operation{ Name: opUpdateEndpointsBatch, @@ -3427,6 +4474,7 @@ func (c *Pinpoint) UpdateEndpointsBatchRequest(input *UpdateEndpointsBatchInput) // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpointsBatch func (c *Pinpoint) UpdateEndpointsBatch(input *UpdateEndpointsBatchInput) (*UpdateEndpointsBatchOutput, error) { req, out := c.UpdateEndpointsBatchRequest(input) return out, req.Send() @@ -3452,19 +4500,18 @@ const opUpdateGcmChannel = "UpdateGcmChannel" // UpdateGcmChannelRequest generates a "aws/request.Request" representing the // client's request for the UpdateGcmChannel operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateGcmChannel for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateGcmChannel method directly -// instead. +// See UpdateGcmChannel for more information on using the UpdateGcmChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateGcmChannelRequest method. // req, resp := client.UpdateGcmChannelRequest(params) @@ -3473,6 +4520,8 @@ const opUpdateGcmChannel = "UpdateGcmChannel" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateGcmChannel func (c *Pinpoint) UpdateGcmChannelRequest(input *UpdateGcmChannelInput) (req *request.Request, output *UpdateGcmChannelOutput) { op := &request.Operation{ Name: opUpdateGcmChannel, @@ -3513,6 +4562,7 @@ func (c *Pinpoint) UpdateGcmChannelRequest(input *UpdateGcmChannelInput) (req *r // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateGcmChannel func (c *Pinpoint) UpdateGcmChannel(input *UpdateGcmChannelInput) (*UpdateGcmChannelOutput, error) { req, out := c.UpdateGcmChannelRequest(input) return out, req.Send() @@ -3538,19 +4588,18 @@ const opUpdateSegment = "UpdateSegment" // UpdateSegmentRequest generates a "aws/request.Request" representing the // client's request for the UpdateSegment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateSegment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateSegment method directly -// instead. +// See UpdateSegment for more information on using the UpdateSegment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateSegmentRequest method. // req, resp := client.UpdateSegmentRequest(params) @@ -3559,6 +4608,8 @@ const opUpdateSegment = "UpdateSegment" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSegment func (c *Pinpoint) UpdateSegmentRequest(input *UpdateSegmentInput) (req *request.Request, output *UpdateSegmentOutput) { op := &request.Operation{ Name: opUpdateSegment, @@ -3599,6 +4650,7 @@ func (c *Pinpoint) UpdateSegmentRequest(input *UpdateSegmentInput) (req *request // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSegment func (c *Pinpoint) UpdateSegment(input *UpdateSegmentInput) (*UpdateSegmentOutput, error) { req, out := c.UpdateSegmentRequest(input) return out, req.Send() @@ -3624,19 +4676,18 @@ const opUpdateSmsChannel = "UpdateSmsChannel" // UpdateSmsChannelRequest generates a "aws/request.Request" representing the // client's request for the UpdateSmsChannel operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateSmsChannel for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateSmsChannel method directly -// instead. +// See UpdateSmsChannel for more information on using the UpdateSmsChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateSmsChannelRequest method. // req, resp := client.UpdateSmsChannelRequest(params) @@ -3645,6 +4696,8 @@ const opUpdateSmsChannel = "UpdateSmsChannel" // if err == nil { // resp is now filled // fmt.Println(resp) // } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsChannel func (c *Pinpoint) UpdateSmsChannelRequest(input *UpdateSmsChannelInput) (req *request.Request, output *UpdateSmsChannelOutput) { op := &request.Operation{ Name: opUpdateSmsChannel, @@ -3685,6 +4738,7 @@ func (c *Pinpoint) UpdateSmsChannelRequest(input *UpdateSmsChannelInput) (req *r // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsChannel func (c *Pinpoint) UpdateSmsChannel(input *UpdateSmsChannelInput) (*UpdateSmsChannelOutput, error) { req, out := c.UpdateSmsChannelRequest(input) return out, req.Send() @@ -3706,18 +4760,360 @@ func (c *Pinpoint) UpdateSmsChannelWithContext(ctx aws.Context, input *UpdateSms return out, req.Send() } +// Amazon Device Messaging channel definition. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ADMChannelRequest +type ADMChannelRequest struct { + _ struct{} `type:"structure"` + + // Client ID as gotten from Amazon + ClientId *string `type:"string"` + + // Client secret as gotten from Amazon + ClientSecret *string `type:"string"` + + // If the channel is enabled for sending messages. + Enabled *bool `type:"boolean"` +} + +// String returns the string representation +func (s ADMChannelRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ADMChannelRequest) GoString() string { + return s.String() +} + +// SetClientId sets the ClientId field's value. +func (s *ADMChannelRequest) SetClientId(v string) *ADMChannelRequest { + s.ClientId = &v + return s +} + +// SetClientSecret sets the ClientSecret field's value. +func (s *ADMChannelRequest) SetClientSecret(v string) *ADMChannelRequest { + s.ClientSecret = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *ADMChannelRequest) SetEnabled(v bool) *ADMChannelRequest { + s.Enabled = &v + return s +} + +// Amazon Device Messaging channel definition. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ADMChannelResponse +type ADMChannelResponse struct { + _ struct{} `type:"structure"` + + // Application id + ApplicationId *string `type:"string"` + + // When was this segment created + CreationDate *string `type:"string"` + + // If the channel is enabled for sending messages. + Enabled *bool `type:"boolean"` + + // Channel ID. Not used, only for backwards compatibility. + Id *string `type:"string"` + + // Is this channel archived + IsArchived *bool `type:"boolean"` + + // Who last updated this entry + LastModifiedBy *string `type:"string"` + + // Last date this was updated + LastModifiedDate *string `type:"string"` + + // Platform type. Will be "ADM" + Platform *string `type:"string"` + + // Version of channel + Version *int64 `type:"integer"` +} + +// String returns the string representation +func (s ADMChannelResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ADMChannelResponse) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *ADMChannelResponse) SetApplicationId(v string) *ADMChannelResponse { + s.ApplicationId = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *ADMChannelResponse) SetCreationDate(v string) *ADMChannelResponse { + s.CreationDate = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *ADMChannelResponse) SetEnabled(v bool) *ADMChannelResponse { + s.Enabled = &v + return s +} + +// SetId sets the Id field's value. +func (s *ADMChannelResponse) SetId(v string) *ADMChannelResponse { + s.Id = &v + return s +} + +// SetIsArchived sets the IsArchived field's value. +func (s *ADMChannelResponse) SetIsArchived(v bool) *ADMChannelResponse { + s.IsArchived = &v + return s +} + +// SetLastModifiedBy sets the LastModifiedBy field's value. +func (s *ADMChannelResponse) SetLastModifiedBy(v string) *ADMChannelResponse { + s.LastModifiedBy = &v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *ADMChannelResponse) SetLastModifiedDate(v string) *ADMChannelResponse { + s.LastModifiedDate = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *ADMChannelResponse) SetPlatform(v string) *ADMChannelResponse { + s.Platform = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *ADMChannelResponse) SetVersion(v int64) *ADMChannelResponse { + s.Version = &v + return s +} + +// ADM Message. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ADMMessage +type ADMMessage struct { + _ struct{} `type:"structure"` + + // The action that occurs if the user taps a push notification delivered by + // the campaign: OPEN_APP - Your app launches, or it becomes the foreground + // app if it has been sent to the background. This is the default action. DEEP_LINK + // - Uses deep linking features in iOS and Android to open your app and display + // a designated user interface within the app. URL - The default mobile browser + // on the user's device launches and opens a web page at the URL you specify. + // Possible values include: OPEN_APP | DEEP_LINK | URL + Action *string `type:"string" enum:"Action"` + + // The message body of the notification, the email body or the text message. + Body *string `type:"string"` + + // Optional. Arbitrary string used to indicate multiple messages are logically + // the same and that ADM is allowed to drop previously enqueued messages in + // favor of this one. + ConsolidationKey *string `type:"string"` + + Data map[string]*string `type:"map"` + + // Optional. Number of seconds ADM should retain the message if the device is + // offline + ExpiresAfter *string `type:"string"` + + // The icon image name of the asset saved in your application. + IconReference *string `type:"string"` + + // The URL that points to an image used as the large icon to the notification + // content view. + ImageIconUrl *string `type:"string"` + + // The URL that points to an image used in the push notification. + ImageUrl *string `type:"string"` + + // The data payload used for a silent push. This payload is added to the notifications' + // data.pinpoint.jsonBody' object + JsonData *string `type:"string"` + + // Optional. Base-64-encoded MD5 checksum of the data parameter. Used to verify + // data integrity + MD5 *string `type:"string"` + + // The Raw JSON formatted string to be used as the payload. This value overrides + // the message. + RawContent *string `type:"string"` + + // Indicates if the message should display on the users device. Silent pushes + // can be used for Remote Configuration and Phone Home use cases. + SilentPush *bool `type:"boolean"` + + // The URL that points to an image used as the small icon for the notification + // which will be used to represent the notification in the status bar and content + // view + SmallImageIconUrl *string `type:"string"` + + // Indicates a sound to play when the device receives the notification. Supports + // default, or the filename of a sound resource bundled in the app. Android + // sound files must reside in /res/raw/ + Sound *string `type:"string"` + + Substitutions map[string][]*string `type:"map"` + + // The message title that displays above the message on the user's device. + Title *string `type:"string"` + + // The URL to open in the user's mobile browser. Used if the value for Action + // is URL. + Url *string `type:"string"` +} + +// String returns the string representation +func (s ADMMessage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ADMMessage) GoString() string { + return s.String() +} + +// SetAction sets the Action field's value. +func (s *ADMMessage) SetAction(v string) *ADMMessage { + s.Action = &v + return s +} + +// SetBody sets the Body field's value. +func (s *ADMMessage) SetBody(v string) *ADMMessage { + s.Body = &v + return s +} + +// SetConsolidationKey sets the ConsolidationKey field's value. +func (s *ADMMessage) SetConsolidationKey(v string) *ADMMessage { + s.ConsolidationKey = &v + return s +} + +// SetData sets the Data field's value. +func (s *ADMMessage) SetData(v map[string]*string) *ADMMessage { + s.Data = v + return s +} + +// SetExpiresAfter sets the ExpiresAfter field's value. +func (s *ADMMessage) SetExpiresAfter(v string) *ADMMessage { + s.ExpiresAfter = &v + return s +} + +// SetIconReference sets the IconReference field's value. +func (s *ADMMessage) SetIconReference(v string) *ADMMessage { + s.IconReference = &v + return s +} + +// SetImageIconUrl sets the ImageIconUrl field's value. +func (s *ADMMessage) SetImageIconUrl(v string) *ADMMessage { + s.ImageIconUrl = &v + return s +} + +// SetImageUrl sets the ImageUrl field's value. +func (s *ADMMessage) SetImageUrl(v string) *ADMMessage { + s.ImageUrl = &v + return s +} + +// SetJsonData sets the JsonData field's value. +func (s *ADMMessage) SetJsonData(v string) *ADMMessage { + s.JsonData = &v + return s +} + +// SetMD5 sets the MD5 field's value. +func (s *ADMMessage) SetMD5(v string) *ADMMessage { + s.MD5 = &v + return s +} + +// SetRawContent sets the RawContent field's value. +func (s *ADMMessage) SetRawContent(v string) *ADMMessage { + s.RawContent = &v + return s +} + +// SetSilentPush sets the SilentPush field's value. +func (s *ADMMessage) SetSilentPush(v bool) *ADMMessage { + s.SilentPush = &v + return s +} + +// SetSmallImageIconUrl sets the SmallImageIconUrl field's value. +func (s *ADMMessage) SetSmallImageIconUrl(v string) *ADMMessage { + s.SmallImageIconUrl = &v + return s +} + +// SetSound sets the Sound field's value. +func (s *ADMMessage) SetSound(v string) *ADMMessage { + s.Sound = &v + return s +} + +// SetSubstitutions sets the Substitutions field's value. +func (s *ADMMessage) SetSubstitutions(v map[string][]*string) *ADMMessage { + s.Substitutions = v + return s +} + +// SetTitle sets the Title field's value. +func (s *ADMMessage) SetTitle(v string) *ADMMessage { + s.Title = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *ADMMessage) SetUrl(v string) *ADMMessage { + s.Url = &v + return s +} + // Apple Push Notification Service channel definition. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/APNSChannelRequest type APNSChannelRequest struct { _ struct{} `type:"structure"` + // The bundle id used for APNs Tokens. + BundleId *string `type:"string"` + // The distribution certificate from Apple. Certificate *string `type:"string"` + // The default authentication method used for APNs. + DefaultAuthenticationMethod *string `type:"string"` + // If the channel is enabled for sending messages. Enabled *bool `type:"boolean"` // The certificate private key. PrivateKey *string `type:"string"` + + // The team id used for APNs Tokens. + TeamId *string `type:"string"` + + // The token key used for APNs Tokens. + TokenKey *string `type:"string"` + + // The token key used for APNs Tokens. + TokenKeyId *string `type:"string"` } // String returns the string representation @@ -3730,12 +5126,24 @@ func (s APNSChannelRequest) GoString() string { return s.String() } +// SetBundleId sets the BundleId field's value. +func (s *APNSChannelRequest) SetBundleId(v string) *APNSChannelRequest { + s.BundleId = &v + return s +} + // SetCertificate sets the Certificate field's value. func (s *APNSChannelRequest) SetCertificate(v string) *APNSChannelRequest { s.Certificate = &v return s } +// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value. +func (s *APNSChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSChannelRequest { + s.DefaultAuthenticationMethod = &v + return s +} + // SetEnabled sets the Enabled field's value. func (s *APNSChannelRequest) SetEnabled(v bool) *APNSChannelRequest { s.Enabled = &v @@ -3748,7 +5156,26 @@ func (s *APNSChannelRequest) SetPrivateKey(v string) *APNSChannelRequest { return s } +// SetTeamId sets the TeamId field's value. +func (s *APNSChannelRequest) SetTeamId(v string) *APNSChannelRequest { + s.TeamId = &v + return s +} + +// SetTokenKey sets the TokenKey field's value. +func (s *APNSChannelRequest) SetTokenKey(v string) *APNSChannelRequest { + s.TokenKey = &v + return s +} + +// SetTokenKeyId sets the TokenKeyId field's value. +func (s *APNSChannelRequest) SetTokenKeyId(v string) *APNSChannelRequest { + s.TokenKeyId = &v + return s +} + // Apple Distribution Push Notification Service channel definition. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/APNSChannelResponse type APNSChannelResponse struct { _ struct{} `type:"structure"` @@ -3761,7 +5188,7 @@ type APNSChannelResponse struct { // If the channel is enabled for sending messages. Enabled *bool `type:"boolean"` - // Channel ID. Not used, only for backwards compatibility. + // Channel ID. Not used. Present only for backwards compatibility. Id *string `type:"string"` // Is this channel archived @@ -3845,6 +5272,7 @@ func (s *APNSChannelResponse) SetVersion(v int64) *APNSChannelResponse { } // APNS Message. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/APNSMessage type APNSMessage struct { _ struct{} `type:"structure"` @@ -3872,9 +5300,16 @@ type APNSMessage struct { Data map[string]*string `type:"map"` + // The data payload used for a silent push. This payload is added to the notifications' + // data.pinpoint.jsonBody' object + JsonData *string `type:"string"` + // The URL that points to a video used in the push notification. MediaUrl *string `type:"string"` + // The preferred authentication method, either "CERTIFICATE" or "TOKEN" + PreferredAuthenticationMethod *string `type:"string"` + // The Raw JSON formatted string to be used as the payload. This value overrides // the message. RawContent *string `type:"string"` @@ -3944,12 +5379,24 @@ func (s *APNSMessage) SetData(v map[string]*string) *APNSMessage { return s } +// SetJsonData sets the JsonData field's value. +func (s *APNSMessage) SetJsonData(v string) *APNSMessage { + s.JsonData = &v + return s +} + // SetMediaUrl sets the MediaUrl field's value. func (s *APNSMessage) SetMediaUrl(v string) *APNSMessage { s.MediaUrl = &v return s } +// SetPreferredAuthenticationMethod sets the PreferredAuthenticationMethod field's value. +func (s *APNSMessage) SetPreferredAuthenticationMethod(v string) *APNSMessage { + s.PreferredAuthenticationMethod = &v + return s +} + // SetRawContent sets the RawContent field's value. func (s *APNSMessage) SetRawContent(v string) *APNSMessage { s.RawContent = &v @@ -3993,17 +5440,33 @@ func (s *APNSMessage) SetUrl(v string) *APNSMessage { } // Apple Development Push Notification Service channel definition. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/APNSSandboxChannelRequest type APNSSandboxChannelRequest struct { _ struct{} `type:"structure"` + // The bundle id used for APNs Tokens. + BundleId *string `type:"string"` + // The distribution certificate from Apple. Certificate *string `type:"string"` + // The default authentication method used for APNs. + DefaultAuthenticationMethod *string `type:"string"` + // If the channel is enabled for sending messages. Enabled *bool `type:"boolean"` // The certificate private key. PrivateKey *string `type:"string"` + + // The team id used for APNs Tokens. + TeamId *string `type:"string"` + + // The token key used for APNs Tokens. + TokenKey *string `type:"string"` + + // The token key used for APNs Tokens. + TokenKeyId *string `type:"string"` } // String returns the string representation @@ -4016,12 +5479,24 @@ func (s APNSSandboxChannelRequest) GoString() string { return s.String() } +// SetBundleId sets the BundleId field's value. +func (s *APNSSandboxChannelRequest) SetBundleId(v string) *APNSSandboxChannelRequest { + s.BundleId = &v + return s +} + // SetCertificate sets the Certificate field's value. func (s *APNSSandboxChannelRequest) SetCertificate(v string) *APNSSandboxChannelRequest { s.Certificate = &v return s } +// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value. +func (s *APNSSandboxChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSSandboxChannelRequest { + s.DefaultAuthenticationMethod = &v + return s +} + // SetEnabled sets the Enabled field's value. func (s *APNSSandboxChannelRequest) SetEnabled(v bool) *APNSSandboxChannelRequest { s.Enabled = &v @@ -4034,7 +5509,26 @@ func (s *APNSSandboxChannelRequest) SetPrivateKey(v string) *APNSSandboxChannelR return s } +// SetTeamId sets the TeamId field's value. +func (s *APNSSandboxChannelRequest) SetTeamId(v string) *APNSSandboxChannelRequest { + s.TeamId = &v + return s +} + +// SetTokenKey sets the TokenKey field's value. +func (s *APNSSandboxChannelRequest) SetTokenKey(v string) *APNSSandboxChannelRequest { + s.TokenKey = &v + return s +} + +// SetTokenKeyId sets the TokenKeyId field's value. +func (s *APNSSandboxChannelRequest) SetTokenKeyId(v string) *APNSSandboxChannelRequest { + s.TokenKeyId = &v + return s +} + // Apple Development Push Notification Service channel definition. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/APNSSandboxChannelResponse type APNSSandboxChannelResponse struct { _ struct{} `type:"structure"` @@ -4059,7 +5553,7 @@ type APNSSandboxChannelResponse struct { // Last date this was updated LastModifiedDate *string `type:"string"` - // The platform type. Will be APNS. + // The platform type. Will be APNS_SANDBOX. Platform *string `type:"string"` // Version of channel @@ -4131,6 +5625,7 @@ func (s *APNSSandboxChannelResponse) SetVersion(v int64) *APNSSandboxChannelResp } // Activities for campaign. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ActivitiesResponse type ActivitiesResponse struct { _ struct{} `type:"structure"` @@ -4155,6 +5650,7 @@ func (s *ActivitiesResponse) SetItem(v []*ActivityResponse) *ActivitiesResponse } // Activity definition +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ActivityResponse type ActivityResponse struct { _ struct{} `type:"structure"` @@ -4290,13 +5786,14 @@ func (s *ActivityResponse) SetTreatmentId(v string) *ActivityResponse { } // Address configuration. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/AddressConfiguration type AddressConfiguration struct { _ struct{} `type:"structure"` // Body override. If specified will override default body. BodyOverride *string `type:"string"` - // Type of channel of this address + // The channel type.Valid values: GCM | APNS | SMS | EMAIL ChannelType *string `type:"string" enum:"ChannelType"` Context map[string]*string `type:"map"` @@ -4357,7 +5854,42 @@ func (s *AddressConfiguration) SetTitleOverride(v string) *AddressConfiguration return s } +// Application Response. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ApplicationResponse +type ApplicationResponse struct { + _ struct{} `type:"structure"` + + // The unique application ID. + Id *string `type:"string"` + + // The display name of the application. + Name *string `type:"string"` +} + +// String returns the string representation +func (s ApplicationResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplicationResponse) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *ApplicationResponse) SetId(v string) *ApplicationResponse { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *ApplicationResponse) SetName(v string) *ApplicationResponse { + s.Name = &v + return s +} + // Application settings. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ApplicationSettingsResource type ApplicationSettingsResource struct { _ struct{} `type:"structure"` @@ -4412,7 +5944,43 @@ func (s *ApplicationSettingsResource) SetQuietTime(v *QuietTime) *ApplicationSet return s } +// Get Applications Result. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ApplicationsResponse +type ApplicationsResponse struct { + _ struct{} `type:"structure"` + + // List of applications returned in this page. + Item []*ApplicationResponse `type:"list"` + + // The string that you use in a subsequent request to get the next page of results + // in a paginated response. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ApplicationsResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplicationsResponse) GoString() string { + return s.String() +} + +// SetItem sets the Item field's value. +func (s *ApplicationsResponse) SetItem(v []*ApplicationResponse) *ApplicationsResponse { + s.Item = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ApplicationsResponse) SetNextToken(v string) *ApplicationsResponse { + s.NextToken = &v + return s +} + // Custom attibute dimension +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/AttributeDimension type AttributeDimension struct { _ struct{} `type:"structure"` @@ -4446,13 +6014,322 @@ func (s *AttributeDimension) SetValues(v []*string) *AttributeDimension { return s } +// Baidu Cloud Push credentials +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/BaiduChannelRequest +type BaiduChannelRequest struct { + _ struct{} `type:"structure"` + + // Platform credential API key from Baidu. + ApiKey *string `type:"string"` + + // If the channel is enabled for sending messages. + Enabled *bool `type:"boolean"` + + // Platform credential Secret key from Baidu. + SecretKey *string `type:"string"` +} + +// String returns the string representation +func (s BaiduChannelRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BaiduChannelRequest) GoString() string { + return s.String() +} + +// SetApiKey sets the ApiKey field's value. +func (s *BaiduChannelRequest) SetApiKey(v string) *BaiduChannelRequest { + s.ApiKey = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *BaiduChannelRequest) SetEnabled(v bool) *BaiduChannelRequest { + s.Enabled = &v + return s +} + +// SetSecretKey sets the SecretKey field's value. +func (s *BaiduChannelRequest) SetSecretKey(v string) *BaiduChannelRequest { + s.SecretKey = &v + return s +} + +// Baidu Cloud Messaging channel definition +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/BaiduChannelResponse +type BaiduChannelResponse struct { + _ struct{} `type:"structure"` + + // Application id + ApplicationId *string `type:"string"` + + // When was this segment created + CreationDate *string `type:"string"` + + // The Baidu API key from Baidu. + Credential *string `type:"string"` + + // If the channel is enabled for sending messages. + Enabled *bool `type:"boolean"` + + // Channel ID. Not used, only for backwards compatibility. + Id *string `type:"string"` + + // Is this channel archived + IsArchived *bool `type:"boolean"` + + // Who made the last change + LastModifiedBy *string `type:"string"` + + // Last date this was updated + LastModifiedDate *string `type:"string"` + + // The platform type. Will be BAIDU + Platform *string `type:"string"` + + // Version of channel + Version *int64 `type:"integer"` +} + +// String returns the string representation +func (s BaiduChannelResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BaiduChannelResponse) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *BaiduChannelResponse) SetApplicationId(v string) *BaiduChannelResponse { + s.ApplicationId = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *BaiduChannelResponse) SetCreationDate(v string) *BaiduChannelResponse { + s.CreationDate = &v + return s +} + +// SetCredential sets the Credential field's value. +func (s *BaiduChannelResponse) SetCredential(v string) *BaiduChannelResponse { + s.Credential = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *BaiduChannelResponse) SetEnabled(v bool) *BaiduChannelResponse { + s.Enabled = &v + return s +} + +// SetId sets the Id field's value. +func (s *BaiduChannelResponse) SetId(v string) *BaiduChannelResponse { + s.Id = &v + return s +} + +// SetIsArchived sets the IsArchived field's value. +func (s *BaiduChannelResponse) SetIsArchived(v bool) *BaiduChannelResponse { + s.IsArchived = &v + return s +} + +// SetLastModifiedBy sets the LastModifiedBy field's value. +func (s *BaiduChannelResponse) SetLastModifiedBy(v string) *BaiduChannelResponse { + s.LastModifiedBy = &v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *BaiduChannelResponse) SetLastModifiedDate(v string) *BaiduChannelResponse { + s.LastModifiedDate = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *BaiduChannelResponse) SetPlatform(v string) *BaiduChannelResponse { + s.Platform = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *BaiduChannelResponse) SetVersion(v int64) *BaiduChannelResponse { + s.Version = &v + return s +} + +// Baidu Message. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/BaiduMessage +type BaiduMessage struct { + _ struct{} `type:"structure"` + + // The action that occurs if the user taps a push notification delivered by + // the campaign: OPEN_APP - Your app launches, or it becomes the foreground + // app if it has been sent to the background. This is the default action. DEEP_LINK + // - Uses deep linking features in iOS and Android to open your app and display + // a designated user interface within the app. URL - The default mobile browser + // on the user's device launches and opens a web page at the URL you specify. + // Possible values include: OPEN_APP | DEEP_LINK | URL + Action *string `type:"string" enum:"Action"` + + // The message body of the notification, the email body or the text message. + Body *string `type:"string"` + + Data map[string]*string `type:"map"` + + // The icon image name of the asset saved in your application. + IconReference *string `type:"string"` + + // The URL that points to an image used as the large icon to the notification + // content view. + ImageIconUrl *string `type:"string"` + + // The URL that points to an image used in the push notification. + ImageUrl *string `type:"string"` + + // The data payload used for a silent push. This payload is added to the notifications' + // data.pinpoint.jsonBody' object + JsonData *string `type:"string"` + + // The Raw JSON formatted string to be used as the payload. This value overrides + // the message. + RawContent *string `type:"string"` + + // Indicates if the message should display on the users device. Silent pushes + // can be used for Remote Configuration and Phone Home use cases. + SilentPush *bool `type:"boolean"` + + // The URL that points to an image used as the small icon for the notification + // which will be used to represent the notification in the status bar and content + // view + SmallImageIconUrl *string `type:"string"` + + // Indicates a sound to play when the device receives the notification. Supports + // default, or the filename of a sound resource bundled in the app. Android + // sound files must reside in /res/raw/ + Sound *string `type:"string"` + + Substitutions map[string][]*string `type:"map"` + + // The message title that displays above the message on the user's device. + Title *string `type:"string"` + + // The URL to open in the user's mobile browser. Used if the value for Action + // is URL. + Url *string `type:"string"` +} + +// String returns the string representation +func (s BaiduMessage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BaiduMessage) GoString() string { + return s.String() +} + +// SetAction sets the Action field's value. +func (s *BaiduMessage) SetAction(v string) *BaiduMessage { + s.Action = &v + return s +} + +// SetBody sets the Body field's value. +func (s *BaiduMessage) SetBody(v string) *BaiduMessage { + s.Body = &v + return s +} + +// SetData sets the Data field's value. +func (s *BaiduMessage) SetData(v map[string]*string) *BaiduMessage { + s.Data = v + return s +} + +// SetIconReference sets the IconReference field's value. +func (s *BaiduMessage) SetIconReference(v string) *BaiduMessage { + s.IconReference = &v + return s +} + +// SetImageIconUrl sets the ImageIconUrl field's value. +func (s *BaiduMessage) SetImageIconUrl(v string) *BaiduMessage { + s.ImageIconUrl = &v + return s +} + +// SetImageUrl sets the ImageUrl field's value. +func (s *BaiduMessage) SetImageUrl(v string) *BaiduMessage { + s.ImageUrl = &v + return s +} + +// SetJsonData sets the JsonData field's value. +func (s *BaiduMessage) SetJsonData(v string) *BaiduMessage { + s.JsonData = &v + return s +} + +// SetRawContent sets the RawContent field's value. +func (s *BaiduMessage) SetRawContent(v string) *BaiduMessage { + s.RawContent = &v + return s +} + +// SetSilentPush sets the SilentPush field's value. +func (s *BaiduMessage) SetSilentPush(v bool) *BaiduMessage { + s.SilentPush = &v + return s +} + +// SetSmallImageIconUrl sets the SmallImageIconUrl field's value. +func (s *BaiduMessage) SetSmallImageIconUrl(v string) *BaiduMessage { + s.SmallImageIconUrl = &v + return s +} + +// SetSound sets the Sound field's value. +func (s *BaiduMessage) SetSound(v string) *BaiduMessage { + s.Sound = &v + return s +} + +// SetSubstitutions sets the Substitutions field's value. +func (s *BaiduMessage) SetSubstitutions(v map[string][]*string) *BaiduMessage { + s.Substitutions = v + return s +} + +// SetTitle sets the Title field's value. +func (s *BaiduMessage) SetTitle(v string) *BaiduMessage { + s.Title = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *BaiduMessage) SetUrl(v string) *BaiduMessage { + s.Url = &v + return s +} + // The email message configuration. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CampaignEmailMessage type CampaignEmailMessage struct { _ struct{} `type:"structure"` // The email text body. Body *string `type:"string"` + // The email address used to send the email from. Defaults to use FromAddress + // specified in the Email Channel. + FromAddress *string `type:"string"` + // The email html body. HtmlBody *string `type:"string"` @@ -4476,6 +6353,12 @@ func (s *CampaignEmailMessage) SetBody(v string) *CampaignEmailMessage { return s } +// SetFromAddress sets the FromAddress field's value. +func (s *CampaignEmailMessage) SetFromAddress(v string) *CampaignEmailMessage { + s.FromAddress = &v + return s +} + // SetHtmlBody sets the HtmlBody field's value. func (s *CampaignEmailMessage) SetHtmlBody(v string) *CampaignEmailMessage { s.HtmlBody = &v @@ -4490,12 +6373,21 @@ func (s *CampaignEmailMessage) SetTitle(v string) *CampaignEmailMessage { // Campaign Limits are used to limit the number of messages that can be sent // to a user. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CampaignLimits type CampaignLimits struct { _ struct{} `type:"structure"` // The maximum number of messages that the campaign can send daily. Daily *int64 `type:"integer"` + // The maximum duration of a campaign from the scheduled start. Must be a minimum + // of 60 seconds. + MaximumDuration *int64 `type:"integer"` + + // The maximum number of messages per second that the campaign will send. This + // is a best effort maximum cap and can go as high as 20000 and as low as 50 + MessagesPerSecond *int64 `type:"integer"` + // The maximum total number of messages that the campaign can send. Total *int64 `type:"integer"` } @@ -4516,6 +6408,18 @@ func (s *CampaignLimits) SetDaily(v int64) *CampaignLimits { return s } +// SetMaximumDuration sets the MaximumDuration field's value. +func (s *CampaignLimits) SetMaximumDuration(v int64) *CampaignLimits { + s.MaximumDuration = &v + return s +} + +// SetMessagesPerSecond sets the MessagesPerSecond field's value. +func (s *CampaignLimits) SetMessagesPerSecond(v int64) *CampaignLimits { + s.MessagesPerSecond = &v + return s +} + // SetTotal sets the Total field's value. func (s *CampaignLimits) SetTotal(v int64) *CampaignLimits { s.Total = &v @@ -4523,6 +6427,7 @@ func (s *CampaignLimits) SetTotal(v int64) *CampaignLimits { } // Campaign definition +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CampaignResponse type CampaignResponse struct { _ struct{} `type:"structure"` @@ -4713,6 +6618,7 @@ func (s *CampaignResponse) SetVersion(v int64) *CampaignResponse { } // SMS message configuration. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CampaignSmsMessage type CampaignSmsMessage struct { _ struct{} `type:"structure"` @@ -4755,6 +6661,7 @@ func (s *CampaignSmsMessage) SetSenderId(v string) *CampaignSmsMessage { } // State of the Campaign +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CampaignState type CampaignState struct { _ struct{} `type:"structure"` @@ -4781,6 +6688,7 @@ func (s *CampaignState) SetCampaignStatus(v string) *CampaignState { } // List of available campaigns. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CampaignsResponse type CampaignsResponse struct { _ struct{} `type:"structure"` @@ -4814,6 +6722,97 @@ func (s *CampaignsResponse) SetNextToken(v string) *CampaignsResponse { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateAppRequest +type CreateAppInput struct { + _ struct{} `type:"structure" payload:"CreateApplicationRequest"` + + // Application Request. + // + // CreateApplicationRequest is a required field + CreateApplicationRequest *CreateApplicationRequest `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateAppInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAppInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAppInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAppInput"} + if s.CreateApplicationRequest == nil { + invalidParams.Add(request.NewErrParamRequired("CreateApplicationRequest")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreateApplicationRequest sets the CreateApplicationRequest field's value. +func (s *CreateAppInput) SetCreateApplicationRequest(v *CreateApplicationRequest) *CreateAppInput { + s.CreateApplicationRequest = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateAppResponse +type CreateAppOutput struct { + _ struct{} `type:"structure" payload:"ApplicationResponse"` + + // Application Response. + // + // ApplicationResponse is a required field + ApplicationResponse *ApplicationResponse `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateAppOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAppOutput) GoString() string { + return s.String() +} + +// SetApplicationResponse sets the ApplicationResponse field's value. +func (s *CreateAppOutput) SetApplicationResponse(v *ApplicationResponse) *CreateAppOutput { + s.ApplicationResponse = v + return s +} + +// Application Request. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateApplicationRequest +type CreateApplicationRequest struct { + _ struct{} `type:"structure"` + + // The display name of the application. Used in the Amazon Pinpoint console. + Name *string `type:"string"` +} + +// String returns the string representation +func (s CreateApplicationRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateApplicationRequest) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *CreateApplicationRequest) SetName(v string) *CreateApplicationRequest { + s.Name = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateCampaignRequest type CreateCampaignInput struct { _ struct{} `type:"structure" payload:"WriteCampaignRequest"` @@ -4864,6 +6863,7 @@ func (s *CreateCampaignInput) SetWriteCampaignRequest(v *WriteCampaignRequest) * return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateCampaignResponse type CreateCampaignOutput struct { _ struct{} `type:"structure" payload:"CampaignResponse"` @@ -4889,6 +6889,7 @@ func (s *CreateCampaignOutput) SetCampaignResponse(v *CampaignResponse) *CreateC return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateImportJobRequest type CreateImportJobInput struct { _ struct{} `type:"structure" payload:"ImportJobRequest"` @@ -4937,6 +6938,7 @@ func (s *CreateImportJobInput) SetImportJobRequest(v *ImportJobRequest) *CreateI return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateImportJobResponse type CreateImportJobOutput struct { _ struct{} `type:"structure" payload:"ImportJobResponse"` @@ -4960,6 +6962,7 @@ func (s *CreateImportJobOutput) SetImportJobResponse(v *ImportJobResponse) *Crea return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSegmentRequest type CreateSegmentInput struct { _ struct{} `type:"structure" payload:"WriteSegmentRequest"` @@ -5010,6 +7013,7 @@ func (s *CreateSegmentInput) SetWriteSegmentRequest(v *WriteSegmentRequest) *Cre return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSegmentResponse type CreateSegmentOutput struct { _ struct{} `type:"structure" payload:"SegmentResponse"` @@ -5036,6 +7040,7 @@ func (s *CreateSegmentOutput) SetSegmentResponse(v *SegmentResponse) *CreateSegm } // Default Message across push notification, email, and sms. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DefaultMessage type DefaultMessage struct { _ struct{} `type:"structure"` @@ -5068,6 +7073,7 @@ func (s *DefaultMessage) SetSubstitutions(v map[string][]*string) *DefaultMessag } // Default Push Notification Message. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DefaultPushNotificationMessage type DefaultPushNotificationMessage struct { _ struct{} `type:"structure"` @@ -5085,6 +7091,10 @@ type DefaultPushNotificationMessage struct { Data map[string]*string `type:"map"` + // The data payload used for a silent push. This payload is added to the notifications' + // data.pinpoint.jsonBody' object + JsonData *string `type:"string"` + // Indicates if the message should display on the users device. Silent pushes // can be used for Remote Configuration and Phone Home use cases. SilentPush *bool `type:"boolean"` @@ -5127,6 +7137,12 @@ func (s *DefaultPushNotificationMessage) SetData(v map[string]*string) *DefaultP return s } +// SetJsonData sets the JsonData field's value. +func (s *DefaultPushNotificationMessage) SetJsonData(v string) *DefaultPushNotificationMessage { + s.JsonData = &v + return s +} + // SetSilentPush sets the SilentPush field's value. func (s *DefaultPushNotificationMessage) SetSilentPush(v bool) *DefaultPushNotificationMessage { s.SilentPush = &v @@ -5151,6 +7167,70 @@ func (s *DefaultPushNotificationMessage) SetUrl(v string) *DefaultPushNotificati return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteAdmChannelRequest +type DeleteAdmChannelInput struct { + _ struct{} `type:"structure"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteAdmChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAdmChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAdmChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAdmChannelInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *DeleteAdmChannelInput) SetApplicationId(v string) *DeleteAdmChannelInput { + s.ApplicationId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteAdmChannelResponse +type DeleteAdmChannelOutput struct { + _ struct{} `type:"structure" payload:"ADMChannelResponse"` + + // Amazon Device Messaging channel definition. + // + // ADMChannelResponse is a required field + ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DeleteAdmChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAdmChannelOutput) GoString() string { + return s.String() +} + +// SetADMChannelResponse sets the ADMChannelResponse field's value. +func (s *DeleteAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *DeleteAdmChannelOutput { + s.ADMChannelResponse = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsChannelRequest type DeleteApnsChannelInput struct { _ struct{} `type:"structure"` @@ -5187,6 +7267,7 @@ func (s *DeleteApnsChannelInput) SetApplicationId(v string) *DeleteApnsChannelIn return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsChannelResponse type DeleteApnsChannelOutput struct { _ struct{} `type:"structure" payload:"APNSChannelResponse"` @@ -5212,6 +7293,7 @@ func (s *DeleteApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsSandboxChannelRequest type DeleteApnsSandboxChannelInput struct { _ struct{} `type:"structure"` @@ -5248,6 +7330,7 @@ func (s *DeleteApnsSandboxChannelInput) SetApplicationId(v string) *DeleteApnsSa return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsSandboxChannelResponse type DeleteApnsSandboxChannelOutput struct { _ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"` @@ -5273,6 +7356,133 @@ func (s *DeleteApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSa return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteAppRequest +type DeleteAppInput struct { + _ struct{} `type:"structure"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteAppInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAppInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAppInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAppInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *DeleteAppInput) SetApplicationId(v string) *DeleteAppInput { + s.ApplicationId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteAppResponse +type DeleteAppOutput struct { + _ struct{} `type:"structure" payload:"ApplicationResponse"` + + // Application Response. + // + // ApplicationResponse is a required field + ApplicationResponse *ApplicationResponse `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DeleteAppOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAppOutput) GoString() string { + return s.String() +} + +// SetApplicationResponse sets the ApplicationResponse field's value. +func (s *DeleteAppOutput) SetApplicationResponse(v *ApplicationResponse) *DeleteAppOutput { + s.ApplicationResponse = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteBaiduChannelRequest +type DeleteBaiduChannelInput struct { + _ struct{} `type:"structure"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteBaiduChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteBaiduChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteBaiduChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteBaiduChannelInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *DeleteBaiduChannelInput) SetApplicationId(v string) *DeleteBaiduChannelInput { + s.ApplicationId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteBaiduChannelResponse +type DeleteBaiduChannelOutput struct { + _ struct{} `type:"structure" payload:"BaiduChannelResponse"` + + // Baidu Cloud Messaging channel definition + // + // BaiduChannelResponse is a required field + BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DeleteBaiduChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteBaiduChannelOutput) GoString() string { + return s.String() +} + +// SetBaiduChannelResponse sets the BaiduChannelResponse field's value. +func (s *DeleteBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *DeleteBaiduChannelOutput { + s.BaiduChannelResponse = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteCampaignRequest type DeleteCampaignInput struct { _ struct{} `type:"structure"` @@ -5321,6 +7531,7 @@ func (s *DeleteCampaignInput) SetCampaignId(v string) *DeleteCampaignInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteCampaignResponse type DeleteCampaignOutput struct { _ struct{} `type:"structure" payload:"CampaignResponse"` @@ -5346,6 +7557,7 @@ func (s *DeleteCampaignOutput) SetCampaignResponse(v *CampaignResponse) *DeleteC return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailChannelRequest type DeleteEmailChannelInput struct { _ struct{} `type:"structure"` @@ -5382,6 +7594,7 @@ func (s *DeleteEmailChannelInput) SetApplicationId(v string) *DeleteEmailChannel return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailChannelResponse type DeleteEmailChannelOutput struct { _ struct{} `type:"structure" payload:"EmailChannelResponse"` @@ -5407,11 +7620,10 @@ func (s *DeleteEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelRespon return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEventStreamRequest type DeleteEventStreamInput struct { _ struct{} `type:"structure"` - // Application Id. - // // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` } @@ -5445,6 +7657,7 @@ func (s *DeleteEventStreamInput) SetApplicationId(v string) *DeleteEventStreamIn return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEventStreamResponse type DeleteEventStreamOutput struct { _ struct{} `type:"structure" payload:"EventStream"` @@ -5470,6 +7683,7 @@ func (s *DeleteEventStreamOutput) SetEventStream(v *EventStream) *DeleteEventStr return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteGcmChannelRequest type DeleteGcmChannelInput struct { _ struct{} `type:"structure"` @@ -5506,6 +7720,7 @@ func (s *DeleteGcmChannelInput) SetApplicationId(v string) *DeleteGcmChannelInpu return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteGcmChannelResponse type DeleteGcmChannelOutput struct { _ struct{} `type:"structure" payload:"GCMChannelResponse"` @@ -5531,6 +7746,7 @@ func (s *DeleteGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *D return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSegmentRequest type DeleteSegmentInput struct { _ struct{} `type:"structure"` @@ -5579,6 +7795,7 @@ func (s *DeleteSegmentInput) SetSegmentId(v string) *DeleteSegmentInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSegmentResponse type DeleteSegmentOutput struct { _ struct{} `type:"structure" payload:"SegmentResponse"` @@ -5604,6 +7821,7 @@ func (s *DeleteSegmentOutput) SetSegmentResponse(v *SegmentResponse) *DeleteSegm return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsChannelRequest type DeleteSmsChannelInput struct { _ struct{} `type:"structure"` @@ -5640,6 +7858,7 @@ func (s *DeleteSmsChannelInput) SetApplicationId(v string) *DeleteSmsChannelInpu return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsChannelResponse type DeleteSmsChannelOutput struct { _ struct{} `type:"structure" payload:"SMSChannelResponse"` @@ -5666,18 +7885,29 @@ func (s *DeleteSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *D } // The message configuration. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DirectMessageConfiguration type DirectMessageConfiguration struct { _ struct{} `type:"structure"` + // The message to ADM channels. Overrides the default push notification message. + ADMMessage *ADMMessage `type:"structure"` + // The message to APNS channels. Overrides the default push notification message. APNSMessage *APNSMessage `type:"structure"` + // The message to Baidu GCM channels. Overrides the default push notification + // message. + BaiduMessage *BaiduMessage `type:"structure"` + // The default message for all channels. DefaultMessage *DefaultMessage `type:"structure"` // The default push notification message for all push channels. DefaultPushNotificationMessage *DefaultPushNotificationMessage `type:"structure"` + // The message to Email channels. Overrides the default message. + EmailMessage *EmailMessage `type:"structure"` + // The message to GCM channels. Overrides the default push notification message. GCMMessage *GCMMessage `type:"structure"` @@ -5695,12 +7925,24 @@ func (s DirectMessageConfiguration) GoString() string { return s.String() } +// SetADMMessage sets the ADMMessage field's value. +func (s *DirectMessageConfiguration) SetADMMessage(v *ADMMessage) *DirectMessageConfiguration { + s.ADMMessage = v + return s +} + // SetAPNSMessage sets the APNSMessage field's value. func (s *DirectMessageConfiguration) SetAPNSMessage(v *APNSMessage) *DirectMessageConfiguration { s.APNSMessage = v return s } +// SetBaiduMessage sets the BaiduMessage field's value. +func (s *DirectMessageConfiguration) SetBaiduMessage(v *BaiduMessage) *DirectMessageConfiguration { + s.BaiduMessage = v + return s +} + // SetDefaultMessage sets the DefaultMessage field's value. func (s *DirectMessageConfiguration) SetDefaultMessage(v *DefaultMessage) *DirectMessageConfiguration { s.DefaultMessage = v @@ -5713,6 +7955,12 @@ func (s *DirectMessageConfiguration) SetDefaultPushNotificationMessage(v *Defaul return s } +// SetEmailMessage sets the EmailMessage field's value. +func (s *DirectMessageConfiguration) SetEmailMessage(v *EmailMessage) *DirectMessageConfiguration { + s.EmailMessage = v + return s +} + // SetGCMMessage sets the GCMMessage field's value. func (s *DirectMessageConfiguration) SetGCMMessage(v *GCMMessage) *DirectMessageConfiguration { s.GCMMessage = v @@ -5726,6 +7974,7 @@ func (s *DirectMessageConfiguration) SetSMSMessage(v *SMSMessage) *DirectMessage } // Email Channel Request +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/EmailChannelRequest type EmailChannelRequest struct { _ struct{} `type:"structure"` @@ -5778,10 +8027,11 @@ func (s *EmailChannelRequest) SetRoleArn(v string) *EmailChannelRequest { } // Email Channel Response. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/EmailChannelResponse type EmailChannelResponse struct { _ struct{} `type:"structure"` - // Application id + // The unique ID of the application to which the email channel belongs. ApplicationId *string `type:"string"` // The date that the settings were last updated in ISO 8601 format. @@ -5901,7 +8151,78 @@ func (s *EmailChannelResponse) SetVersion(v int64) *EmailChannelResponse { return s } +// Email Message. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/EmailMessage +type EmailMessage struct { + _ struct{} `type:"structure"` + + // The message body of the notification, the email body or the text message. + Body *string `type:"string"` + + // The email address used to send the email from. Defaults to use FromAddress + // specified in the Email Channel. + FromAddress *string `type:"string"` + + // The HTML part of the email. + HtmlBody *string `type:"string"` + + Substitutions map[string][]*string `type:"map"` + + // The ARN of the template to use for the email. + TemplateArn *string `type:"string"` + + // The subject of the email. + Title *string `type:"string"` +} + +// String returns the string representation +func (s EmailMessage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EmailMessage) GoString() string { + return s.String() +} + +// SetBody sets the Body field's value. +func (s *EmailMessage) SetBody(v string) *EmailMessage { + s.Body = &v + return s +} + +// SetFromAddress sets the FromAddress field's value. +func (s *EmailMessage) SetFromAddress(v string) *EmailMessage { + s.FromAddress = &v + return s +} + +// SetHtmlBody sets the HtmlBody field's value. +func (s *EmailMessage) SetHtmlBody(v string) *EmailMessage { + s.HtmlBody = &v + return s +} + +// SetSubstitutions sets the Substitutions field's value. +func (s *EmailMessage) SetSubstitutions(v map[string][]*string) *EmailMessage { + s.Substitutions = v + return s +} + +// SetTemplateArn sets the TemplateArn field's value. +func (s *EmailMessage) SetTemplateArn(v string) *EmailMessage { + s.TemplateArn = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *EmailMessage) SetTitle(v string) *EmailMessage { + s.Title = &v + return s +} + // Endpoint update request +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/EndpointBatchItem type EndpointBatchItem struct { _ struct{} `type:"structure"` @@ -5911,7 +8232,7 @@ type EndpointBatchItem struct { Attributes map[string][]*string `type:"map"` - // The channel type.Valid values: APNS, GCM + // The channel type.Valid values: GCM | APNS | SMS | EMAIL ChannelType *string `type:"string" enum:"ChannelType"` // The endpoint demographic attributes. @@ -5933,8 +8254,8 @@ type EndpointBatchItem struct { Metrics map[string]*float64 `type:"map"` // Indicates whether a user has opted out of receiving messages with one of - // the following values:ALL – User receives all messages.NONE – User receives - // no messages. + // the following values:ALL - User has opted out of all messages.NONE - Users + // has not opted out and receives all messages. OptOut *string `type:"string"` // The unique ID for the most recent request to update the endpoint. @@ -6027,6 +8348,7 @@ func (s *EndpointBatchItem) SetUser(v *EndpointUser) *EndpointBatchItem { } // Endpoint batch update request. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/EndpointBatchRequest type EndpointBatchRequest struct { _ struct{} `type:"structure"` @@ -6051,6 +8373,7 @@ func (s *EndpointBatchRequest) SetItem(v []*EndpointBatchItem) *EndpointBatchReq } // Endpoint demographic data +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/EndpointDemographic type EndpointDemographic struct { _ struct{} `type:"structure"` @@ -6139,6 +8462,7 @@ func (s *EndpointDemographic) SetTimezone(v string) *EndpointDemographic { } // Endpoint location data +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/EndpointLocation type EndpointLocation struct { _ struct{} `type:"structure"` @@ -6210,7 +8534,69 @@ func (s *EndpointLocation) SetRegion(v string) *EndpointLocation { return s } +// The result from sending a message to an endpoint. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/EndpointMessageResult +type EndpointMessageResult struct { + _ struct{} `type:"structure"` + + // Address that endpoint message was delivered to. + Address *string `type:"string"` + + // Delivery status of message. + DeliveryStatus *string `type:"string" enum:"DeliveryStatus"` + + // Downstream service status code. + StatusCode *int64 `type:"integer"` + + // Status message for message delivery. + StatusMessage *string `type:"string"` + + // If token was updated as part of delivery. (This is GCM Specific) + UpdatedToken *string `type:"string"` +} + +// String returns the string representation +func (s EndpointMessageResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EndpointMessageResult) GoString() string { + return s.String() +} + +// SetAddress sets the Address field's value. +func (s *EndpointMessageResult) SetAddress(v string) *EndpointMessageResult { + s.Address = &v + return s +} + +// SetDeliveryStatus sets the DeliveryStatus field's value. +func (s *EndpointMessageResult) SetDeliveryStatus(v string) *EndpointMessageResult { + s.DeliveryStatus = &v + return s +} + +// SetStatusCode sets the StatusCode field's value. +func (s *EndpointMessageResult) SetStatusCode(v int64) *EndpointMessageResult { + s.StatusCode = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *EndpointMessageResult) SetStatusMessage(v string) *EndpointMessageResult { + s.StatusMessage = &v + return s +} + +// SetUpdatedToken sets the UpdatedToken field's value. +func (s *EndpointMessageResult) SetUpdatedToken(v string) *EndpointMessageResult { + s.UpdatedToken = &v + return s +} + // Endpoint update request +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/EndpointRequest type EndpointRequest struct { _ struct{} `type:"structure"` @@ -6220,7 +8606,7 @@ type EndpointRequest struct { Attributes map[string][]*string `type:"map"` - // The channel type.Valid values: APNS, GCM + // The channel type.Valid values: GCM | APNS | SMS | EMAIL ChannelType *string `type:"string" enum:"ChannelType"` // The endpoint demographic attributes. @@ -6239,8 +8625,8 @@ type EndpointRequest struct { Metrics map[string]*float64 `type:"map"` // Indicates whether a user has opted out of receiving messages with one of - // the following values:ALL – User receives all messages.NONE – User receives - // no messages. + // the following values:ALL - User has opted out of all messages.NONE - Users + // has not opted out and receives all messages. OptOut *string `type:"string"` // The unique ID for the most recent request to update the endpoint. @@ -6327,6 +8713,7 @@ func (s *EndpointRequest) SetUser(v *EndpointUser) *EndpointRequest { } // Endpoint response +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/EndpointResponse type EndpointResponse struct { _ struct{} `type:"structure"` @@ -6339,7 +8726,7 @@ type EndpointResponse struct { Attributes map[string][]*string `type:"map"` - // The channel type.Valid values: APNS, GCM + // The channel type.Valid values: GCM | APNS | SMS | EMAIL ChannelType *string `type:"string" enum:"ChannelType"` // A number from 0 - 99 that represents the cohort the endpoint is assigned @@ -6372,13 +8759,14 @@ type EndpointResponse struct { Metrics map[string]*float64 `type:"map"` // Indicates whether a user has opted out of receiving messages with one of - // the following values:ALL – User receives all messages.NONE – User receives - // no messages. + // the following values:ALL - User has opted out of all messages.NONE - Users + // has not opted out and receives all messages. OptOut *string `type:"string"` // The unique ID for the most recent request to update the endpoint. RequestId *string `type:"string"` + // The ShardId of endpoint. ShardId *string `type:"string"` // Custom user-specific attributes that your app reports to Amazon Pinpoint. @@ -6491,7 +8879,68 @@ func (s *EndpointResponse) SetUser(v *EndpointUser) *EndpointResponse { return s } +// Endpoint send configuration. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/EndpointSendConfiguration +type EndpointSendConfiguration struct { + _ struct{} `type:"structure"` + + // Body override. If specified will override default body. + BodyOverride *string `type:"string"` + + Context map[string]*string `type:"map"` + + // The Raw JSON formatted string to be used as the payload. This value overrides + // the message. + RawContent *string `type:"string"` + + Substitutions map[string][]*string `type:"map"` + + // Title override. If specified will override default title if applicable. + TitleOverride *string `type:"string"` +} + +// String returns the string representation +func (s EndpointSendConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EndpointSendConfiguration) GoString() string { + return s.String() +} + +// SetBodyOverride sets the BodyOverride field's value. +func (s *EndpointSendConfiguration) SetBodyOverride(v string) *EndpointSendConfiguration { + s.BodyOverride = &v + return s +} + +// SetContext sets the Context field's value. +func (s *EndpointSendConfiguration) SetContext(v map[string]*string) *EndpointSendConfiguration { + s.Context = v + return s +} + +// SetRawContent sets the RawContent field's value. +func (s *EndpointSendConfiguration) SetRawContent(v string) *EndpointSendConfiguration { + s.RawContent = &v + return s +} + +// SetSubstitutions sets the Substitutions field's value. +func (s *EndpointSendConfiguration) SetSubstitutions(v map[string][]*string) *EndpointSendConfiguration { + s.Substitutions = v + return s +} + +// SetTitleOverride sets the TitleOverride field's value. +func (s *EndpointSendConfiguration) SetTitleOverride(v string) *EndpointSendConfiguration { + s.TitleOverride = &v + return s +} + // Endpoint user specific custom userAttributes +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/EndpointUser type EndpointUser struct { _ struct{} `type:"structure"` @@ -6524,6 +8973,7 @@ func (s *EndpointUser) SetUserId(v string) *EndpointUser { } // Model for an event publishing subscription export. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/EventStream type EventStream struct { _ struct{} `type:"structure"` @@ -6597,6 +9047,7 @@ func (s *EventStream) SetRoleArn(v string) *EventStream { } // Google Cloud Messaging credentials +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GCMChannelRequest type GCMChannelRequest struct { _ struct{} `type:"structure"` @@ -6630,6 +9081,7 @@ func (s *GCMChannelRequest) SetEnabled(v bool) *GCMChannelRequest { } // Google Cloud Messaging channel definition +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GCMChannelResponse type GCMChannelResponse struct { _ struct{} `type:"structure"` @@ -6645,7 +9097,7 @@ type GCMChannelResponse struct { // If the channel is enabled for sending messages. Enabled *bool `type:"boolean"` - // Channel ID. Not used, only for backwards compatibility. + // Channel ID. Not used. Present only for backwards compatibility. Id *string `type:"string"` // Is this channel archived @@ -6735,6 +9187,7 @@ func (s *GCMChannelResponse) SetVersion(v int64) *GCMChannelResponse { } // GCM Message. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GCMMessage type GCMMessage struct { _ struct{} `type:"structure"` @@ -6768,6 +9221,10 @@ type GCMMessage struct { // The URL that points to an image used in the push notification. ImageUrl *string `type:"string"` + // The data payload used for a silent push. This payload is added to the notifications' + // data.pinpoint.jsonBody' object + JsonData *string `type:"string"` + // The Raw JSON formatted string to be used as the payload. This value overrides // the message. RawContent *string `type:"string"` @@ -6852,6 +9309,12 @@ func (s *GCMMessage) SetImageUrl(v string) *GCMMessage { return s } +// SetJsonData sets the JsonData field's value. +func (s *GCMMessage) SetJsonData(v string) *GCMMessage { + s.JsonData = &v + return s +} + // SetRawContent sets the RawContent field's value. func (s *GCMMessage) SetRawContent(v string) *GCMMessage { s.RawContent = &v @@ -6900,6 +9363,70 @@ func (s *GCMMessage) SetUrl(v string) *GCMMessage { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetAdmChannelRequest +type GetAdmChannelInput struct { + _ struct{} `type:"structure"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetAdmChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAdmChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetAdmChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetAdmChannelInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *GetAdmChannelInput) SetApplicationId(v string) *GetAdmChannelInput { + s.ApplicationId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetAdmChannelResponse +type GetAdmChannelOutput struct { + _ struct{} `type:"structure" payload:"ADMChannelResponse"` + + // Amazon Device Messaging channel definition. + // + // ADMChannelResponse is a required field + ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"` +} + +// String returns the string representation +func (s GetAdmChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAdmChannelOutput) GoString() string { + return s.String() +} + +// SetADMChannelResponse sets the ADMChannelResponse field's value. +func (s *GetAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *GetAdmChannelOutput { + s.ADMChannelResponse = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsChannelRequest type GetApnsChannelInput struct { _ struct{} `type:"structure"` @@ -6936,6 +9463,7 @@ func (s *GetApnsChannelInput) SetApplicationId(v string) *GetApnsChannelInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsChannelResponse type GetApnsChannelOutput struct { _ struct{} `type:"structure" payload:"APNSChannelResponse"` @@ -6961,6 +9489,7 @@ func (s *GetApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *G return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsSandboxChannelRequest type GetApnsSandboxChannelInput struct { _ struct{} `type:"structure"` @@ -6997,6 +9526,7 @@ func (s *GetApnsSandboxChannelInput) SetApplicationId(v string) *GetApnsSandboxC return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsSandboxChannelResponse type GetApnsSandboxChannelOutput struct { _ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"` @@ -7022,6 +9552,70 @@ func (s *GetApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandb return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetAppRequest +type GetAppInput struct { + _ struct{} `type:"structure"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetAppInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAppInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetAppInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetAppInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *GetAppInput) SetApplicationId(v string) *GetAppInput { + s.ApplicationId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetAppResponse +type GetAppOutput struct { + _ struct{} `type:"structure" payload:"ApplicationResponse"` + + // Application Response. + // + // ApplicationResponse is a required field + ApplicationResponse *ApplicationResponse `type:"structure" required:"true"` +} + +// String returns the string representation +func (s GetAppOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAppOutput) GoString() string { + return s.String() +} + +// SetApplicationResponse sets the ApplicationResponse field's value. +func (s *GetAppOutput) SetApplicationResponse(v *ApplicationResponse) *GetAppOutput { + s.ApplicationResponse = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApplicationSettingsRequest type GetApplicationSettingsInput struct { _ struct{} `type:"structure"` @@ -7058,6 +9652,7 @@ func (s *GetApplicationSettingsInput) SetApplicationId(v string) *GetApplication return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApplicationSettingsResponse type GetApplicationSettingsOutput struct { _ struct{} `type:"structure" payload:"ApplicationSettingsResource"` @@ -7083,6 +9678,127 @@ func (s *GetApplicationSettingsOutput) SetApplicationSettingsResource(v *Applica return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetAppsRequest +type GetAppsInput struct { + _ struct{} `type:"structure"` + + PageSize *string `location:"querystring" locationName:"page-size" type:"string"` + + Token *string `location:"querystring" locationName:"token" type:"string"` +} + +// String returns the string representation +func (s GetAppsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAppsInput) GoString() string { + return s.String() +} + +// SetPageSize sets the PageSize field's value. +func (s *GetAppsInput) SetPageSize(v string) *GetAppsInput { + s.PageSize = &v + return s +} + +// SetToken sets the Token field's value. +func (s *GetAppsInput) SetToken(v string) *GetAppsInput { + s.Token = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetAppsResponse +type GetAppsOutput struct { + _ struct{} `type:"structure" payload:"ApplicationsResponse"` + + // Get Applications Result. + // + // ApplicationsResponse is a required field + ApplicationsResponse *ApplicationsResponse `type:"structure" required:"true"` +} + +// String returns the string representation +func (s GetAppsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAppsOutput) GoString() string { + return s.String() +} + +// SetApplicationsResponse sets the ApplicationsResponse field's value. +func (s *GetAppsOutput) SetApplicationsResponse(v *ApplicationsResponse) *GetAppsOutput { + s.ApplicationsResponse = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetBaiduChannelRequest +type GetBaiduChannelInput struct { + _ struct{} `type:"structure"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetBaiduChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetBaiduChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetBaiduChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetBaiduChannelInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *GetBaiduChannelInput) SetApplicationId(v string) *GetBaiduChannelInput { + s.ApplicationId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetBaiduChannelResponse +type GetBaiduChannelOutput struct { + _ struct{} `type:"structure" payload:"BaiduChannelResponse"` + + // Baidu Cloud Messaging channel definition + // + // BaiduChannelResponse is a required field + BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"` +} + +// String returns the string representation +func (s GetBaiduChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetBaiduChannelOutput) GoString() string { + return s.String() +} + +// SetBaiduChannelResponse sets the BaiduChannelResponse field's value. +func (s *GetBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *GetBaiduChannelOutput { + s.BaiduChannelResponse = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignActivitiesRequest type GetCampaignActivitiesInput struct { _ struct{} `type:"structure"` @@ -7147,6 +9863,7 @@ func (s *GetCampaignActivitiesInput) SetToken(v string) *GetCampaignActivitiesIn return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignActivitiesResponse type GetCampaignActivitiesOutput struct { _ struct{} `type:"structure" payload:"ActivitiesResponse"` @@ -7172,6 +9889,7 @@ func (s *GetCampaignActivitiesOutput) SetActivitiesResponse(v *ActivitiesRespons return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignRequest type GetCampaignInput struct { _ struct{} `type:"structure"` @@ -7220,6 +9938,7 @@ func (s *GetCampaignInput) SetCampaignId(v string) *GetCampaignInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignResponse type GetCampaignOutput struct { _ struct{} `type:"structure" payload:"CampaignResponse"` @@ -7245,6 +9964,7 @@ func (s *GetCampaignOutput) SetCampaignResponse(v *CampaignResponse) *GetCampaig return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersionRequest type GetCampaignVersionInput struct { _ struct{} `type:"structure"` @@ -7305,6 +10025,7 @@ func (s *GetCampaignVersionInput) SetVersion(v string) *GetCampaignVersionInput return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersionResponse type GetCampaignVersionOutput struct { _ struct{} `type:"structure" payload:"CampaignResponse"` @@ -7330,6 +10051,7 @@ func (s *GetCampaignVersionOutput) SetCampaignResponse(v *CampaignResponse) *Get return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersionsRequest type GetCampaignVersionsInput struct { _ struct{} `type:"structure"` @@ -7394,6 +10116,7 @@ func (s *GetCampaignVersionsInput) SetToken(v string) *GetCampaignVersionsInput return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersionsResponse type GetCampaignVersionsOutput struct { _ struct{} `type:"structure" payload:"CampaignsResponse"` @@ -7419,6 +10142,7 @@ func (s *GetCampaignVersionsOutput) SetCampaignsResponse(v *CampaignsResponse) * return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignsRequest type GetCampaignsInput struct { _ struct{} `type:"structure"` @@ -7471,6 +10195,7 @@ func (s *GetCampaignsInput) SetToken(v string) *GetCampaignsInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignsResponse type GetCampaignsOutput struct { _ struct{} `type:"structure" payload:"CampaignsResponse"` @@ -7496,6 +10221,7 @@ func (s *GetCampaignsOutput) SetCampaignsResponse(v *CampaignsResponse) *GetCamp return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailChannelRequest type GetEmailChannelInput struct { _ struct{} `type:"structure"` @@ -7532,6 +10258,7 @@ func (s *GetEmailChannelInput) SetApplicationId(v string) *GetEmailChannelInput return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailChannelResponse type GetEmailChannelOutput struct { _ struct{} `type:"structure" payload:"EmailChannelResponse"` @@ -7557,6 +10284,7 @@ func (s *GetEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEndpointRequest type GetEndpointInput struct { _ struct{} `type:"structure"` @@ -7605,6 +10333,7 @@ func (s *GetEndpointInput) SetEndpointId(v string) *GetEndpointInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEndpointResponse type GetEndpointOutput struct { _ struct{} `type:"structure" payload:"EndpointResponse"` @@ -7630,11 +10359,10 @@ func (s *GetEndpointOutput) SetEndpointResponse(v *EndpointResponse) *GetEndpoin return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEventStreamRequest type GetEventStreamInput struct { _ struct{} `type:"structure"` - // Application Id. - // // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` } @@ -7668,6 +10396,7 @@ func (s *GetEventStreamInput) SetApplicationId(v string) *GetEventStreamInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEventStreamResponse type GetEventStreamOutput struct { _ struct{} `type:"structure" payload:"EventStream"` @@ -7693,6 +10422,7 @@ func (s *GetEventStreamOutput) SetEventStream(v *EventStream) *GetEventStreamOut return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetGcmChannelRequest type GetGcmChannelInput struct { _ struct{} `type:"structure"` @@ -7729,6 +10459,7 @@ func (s *GetGcmChannelInput) SetApplicationId(v string) *GetGcmChannelInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetGcmChannelResponse type GetGcmChannelOutput struct { _ struct{} `type:"structure" payload:"GCMChannelResponse"` @@ -7754,6 +10485,7 @@ func (s *GetGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *GetG return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJobRequest type GetImportJobInput struct { _ struct{} `type:"structure"` @@ -7802,6 +10534,7 @@ func (s *GetImportJobInput) SetJobId(v string) *GetImportJobInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJobResponse type GetImportJobOutput struct { _ struct{} `type:"structure" payload:"ImportJobResponse"` @@ -7825,6 +10558,7 @@ func (s *GetImportJobOutput) SetImportJobResponse(v *ImportJobResponse) *GetImpo return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJobsRequest type GetImportJobsInput struct { _ struct{} `type:"structure"` @@ -7877,6 +10611,7 @@ func (s *GetImportJobsInput) SetToken(v string) *GetImportJobsInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJobsResponse type GetImportJobsOutput struct { _ struct{} `type:"structure" payload:"ImportJobsResponse"` @@ -7902,6 +10637,7 @@ func (s *GetImportJobsOutput) SetImportJobsResponse(v *ImportJobsResponse) *GetI return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentImportJobsRequest type GetSegmentImportJobsInput struct { _ struct{} `type:"structure"` @@ -7966,6 +10702,7 @@ func (s *GetSegmentImportJobsInput) SetToken(v string) *GetSegmentImportJobsInpu return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentImportJobsResponse type GetSegmentImportJobsOutput struct { _ struct{} `type:"structure" payload:"ImportJobsResponse"` @@ -7991,6 +10728,7 @@ func (s *GetSegmentImportJobsOutput) SetImportJobsResponse(v *ImportJobsResponse return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentRequest type GetSegmentInput struct { _ struct{} `type:"structure"` @@ -8039,6 +10777,7 @@ func (s *GetSegmentInput) SetSegmentId(v string) *GetSegmentInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentResponse type GetSegmentOutput struct { _ struct{} `type:"structure" payload:"SegmentResponse"` @@ -8064,6 +10803,7 @@ func (s *GetSegmentOutput) SetSegmentResponse(v *SegmentResponse) *GetSegmentOut return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersionRequest type GetSegmentVersionInput struct { _ struct{} `type:"structure"` @@ -8124,6 +10864,7 @@ func (s *GetSegmentVersionInput) SetVersion(v string) *GetSegmentVersionInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersionResponse type GetSegmentVersionOutput struct { _ struct{} `type:"structure" payload:"SegmentResponse"` @@ -8149,6 +10890,7 @@ func (s *GetSegmentVersionOutput) SetSegmentResponse(v *SegmentResponse) *GetSeg return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersionsRequest type GetSegmentVersionsInput struct { _ struct{} `type:"structure"` @@ -8213,6 +10955,7 @@ func (s *GetSegmentVersionsInput) SetToken(v string) *GetSegmentVersionsInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersionsResponse type GetSegmentVersionsOutput struct { _ struct{} `type:"structure" payload:"SegmentsResponse"` @@ -8238,6 +10981,7 @@ func (s *GetSegmentVersionsOutput) SetSegmentsResponse(v *SegmentsResponse) *Get return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentsRequest type GetSegmentsInput struct { _ struct{} `type:"structure"` @@ -8290,6 +11034,7 @@ func (s *GetSegmentsInput) SetToken(v string) *GetSegmentsInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentsResponse type GetSegmentsOutput struct { _ struct{} `type:"structure" payload:"SegmentsResponse"` @@ -8315,6 +11060,7 @@ func (s *GetSegmentsOutput) SetSegmentsResponse(v *SegmentsResponse) *GetSegment return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsChannelRequest type GetSmsChannelInput struct { _ struct{} `type:"structure"` @@ -8351,6 +11097,7 @@ func (s *GetSmsChannelInput) SetApplicationId(v string) *GetSmsChannelInput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsChannelResponse type GetSmsChannelOutput struct { _ struct{} `type:"structure" payload:"SMSChannelResponse"` @@ -8376,6 +11123,7 @@ func (s *GetSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *GetS return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ImportJobRequest type ImportJobRequest struct { _ struct{} `type:"structure"` @@ -8471,6 +11219,7 @@ func (s *ImportJobRequest) SetSegmentName(v string) *ImportJobRequest { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ImportJobResource type ImportJobResource struct { _ struct{} `type:"structure"` @@ -8566,6 +11315,7 @@ func (s *ImportJobResource) SetSegmentName(v string) *ImportJobResource { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ImportJobResponse type ImportJobResponse struct { _ struct{} `type:"structure"` @@ -8702,6 +11452,7 @@ func (s *ImportJobResponse) SetType(v string) *ImportJobResponse { } // Import job list. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ImportJobsResponse type ImportJobsResponse struct { _ struct{} `type:"structure"` @@ -8735,6 +11486,7 @@ func (s *ImportJobsResponse) SetNextToken(v string) *ImportJobsResponse { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/Message type Message struct { _ struct{} `type:"structure"` @@ -8766,6 +11518,10 @@ type Message struct { // The URL that points to the media resource, for example a .mp4 or .gif file. MediaUrl *string `type:"string"` + // The Raw JSON formatted string to be used as the payload. This value overrides + // the message. + RawContent *string `type:"string"` + // Indicates if the message should display on the users device.Silent pushes // can be used for Remote Configuration and Phone Home use cases. SilentPush *bool `type:"boolean"` @@ -8830,6 +11586,12 @@ func (s *Message) SetMediaUrl(v string) *Message { return s } +// SetRawContent sets the RawContent field's value. +func (s *Message) SetRawContent(v string) *Message { + s.RawContent = &v + return s +} + // SetSilentPush sets the SilentPush field's value. func (s *Message) SetSilentPush(v bool) *Message { s.SilentPush = &v @@ -8849,6 +11611,7 @@ func (s *Message) SetUrl(v string) *Message { } // Simple message object. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/MessageBody type MessageBody struct { _ struct{} `type:"structure"` @@ -8882,6 +11645,7 @@ func (s *MessageBody) SetRequestID(v string) *MessageBody { } // Message configuration for a campaign. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/MessageConfiguration type MessageConfiguration struct { _ struct{} `type:"structure"` @@ -8944,6 +11708,7 @@ func (s *MessageConfiguration) SetSMSMessage(v *CampaignSmsMessage) *MessageConf } // Send message request. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/MessageRequest type MessageRequest struct { _ struct{} `type:"structure"` @@ -8951,10 +11716,19 @@ type MessageRequest struct { // phone number or push token) and the Address Configuration as the value. Addresses map[string]*AddressConfiguration `type:"map"` + Campaign map[string]*string `type:"map"` + Context map[string]*string `type:"map"` + // A map of destination addresses, with the address as the key(Email address, + // phone number or push token) and the Address Configuration as the value. + Endpoints map[string]*EndpointSendConfiguration `type:"map"` + // Message configuration. MessageConfiguration *DirectMessageConfiguration `type:"structure"` + + // Original request Id for which this message is delivered. + RequestId *string `type:"string"` } // String returns the string representation @@ -8973,25 +11747,48 @@ func (s *MessageRequest) SetAddresses(v map[string]*AddressConfiguration) *Messa return s } +// SetCampaign sets the Campaign field's value. +func (s *MessageRequest) SetCampaign(v map[string]*string) *MessageRequest { + s.Campaign = v + return s +} + // SetContext sets the Context field's value. func (s *MessageRequest) SetContext(v map[string]*string) *MessageRequest { s.Context = v return s } +// SetEndpoints sets the Endpoints field's value. +func (s *MessageRequest) SetEndpoints(v map[string]*EndpointSendConfiguration) *MessageRequest { + s.Endpoints = v + return s +} + // SetMessageConfiguration sets the MessageConfiguration field's value. func (s *MessageRequest) SetMessageConfiguration(v *DirectMessageConfiguration) *MessageRequest { s.MessageConfiguration = v return s } +// SetRequestId sets the RequestId field's value. +func (s *MessageRequest) SetRequestId(v string) *MessageRequest { + s.RequestId = &v + return s +} + // Send message response. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/MessageResponse type MessageResponse struct { _ struct{} `type:"structure"` // Application id of the message. ApplicationId *string `type:"string"` + // A map containing a multi part response for each address, with the endpointId + // as the key and the result as the value. + EndpointResult map[string]*EndpointMessageResult `type:"map"` + // Original request Id for which this message was delivered. RequestId *string `type:"string"` @@ -9017,6 +11814,12 @@ func (s *MessageResponse) SetApplicationId(v string) *MessageResponse { return s } +// SetEndpointResult sets the EndpointResult field's value. +func (s *MessageResponse) SetEndpointResult(v map[string]*EndpointMessageResult) *MessageResponse { + s.EndpointResult = v + return s +} + // SetRequestId sets the RequestId field's value. func (s *MessageResponse) SetRequestId(v string) *MessageResponse { s.RequestId = &v @@ -9030,6 +11833,7 @@ func (s *MessageResponse) SetResult(v map[string]*MessageResult) *MessageRespons } // The result from sending a message to an address. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/MessageResult type MessageResult struct { _ struct{} `type:"structure"` @@ -9080,15 +11884,14 @@ func (s *MessageResult) SetUpdatedToken(v string) *MessageResult { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEventStreamRequest type PutEventStreamInput struct { _ struct{} `type:"structure" payload:"WriteEventStream"` - // Application Id. - // // ApplicationId is a required field ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` - // Write event stream wrapper. + // Request to save an EventStream. // // WriteEventStream is a required field WriteEventStream *WriteEventStream `type:"structure" required:"true"` @@ -9132,6 +11935,7 @@ func (s *PutEventStreamInput) SetWriteEventStream(v *WriteEventStream) *PutEvent return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEventStreamResponse type PutEventStreamOutput struct { _ struct{} `type:"structure" payload:"EventStream"` @@ -9158,6 +11962,7 @@ func (s *PutEventStreamOutput) SetEventStream(v *EventStream) *PutEventStreamOut } // Quiet Time +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/QuietTime type QuietTime struct { _ struct{} `type:"structure"` @@ -9191,6 +11996,7 @@ func (s *QuietTime) SetStart(v string) *QuietTime { } // Define how a segment based on recency of use. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/RecencyDimension type RecencyDimension struct { _ struct{} `type:"structure"` @@ -9227,6 +12033,7 @@ func (s *RecencyDimension) SetRecencyType(v string) *RecencyDimension { } // SMS Channel Request +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SMSChannelRequest type SMSChannelRequest struct { _ struct{} `type:"structure"` @@ -9235,6 +12042,9 @@ type SMSChannelRequest struct { // Sender identifier of your messages. SenderId *string `type:"string"` + + // ShortCode registered with phone provider. + ShortCode *string `type:"string"` } // String returns the string representation @@ -9259,11 +12069,18 @@ func (s *SMSChannelRequest) SetSenderId(v string) *SMSChannelRequest { return s } +// SetShortCode sets the ShortCode field's value. +func (s *SMSChannelRequest) SetShortCode(v string) *SMSChannelRequest { + s.ShortCode = &v + return s +} + // SMS Channel Response. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SMSChannelResponse type SMSChannelResponse struct { _ struct{} `type:"structure"` - // Application id + // The unique ID of the application to which the SMS channel belongs. ApplicationId *string `type:"string"` // The date that the settings were last updated in ISO 8601 format. @@ -9374,6 +12191,7 @@ func (s *SMSChannelResponse) SetVersion(v int64) *SMSChannelResponse { } // SMS Message. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SMSMessage type SMSMessage struct { _ struct{} `type:"structure"` @@ -9424,6 +12242,7 @@ func (s *SMSMessage) SetSubstitutions(v map[string][]*string) *SMSMessage { } // Shcedule that defines when a campaign is run. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/Schedule type Schedule struct { _ struct{} `type:"structure"` @@ -9496,6 +12315,7 @@ func (s *Schedule) SetTimezone(v string) *Schedule { } // Segment behavior dimensions +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SegmentBehaviors type SegmentBehaviors struct { _ struct{} `type:"structure"` @@ -9520,6 +12340,7 @@ func (s *SegmentBehaviors) SetRecency(v *RecencyDimension) *SegmentBehaviors { } // Segment demographic dimensions +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SegmentDemographics type SegmentDemographics struct { _ struct{} `type:"structure"` @@ -9589,6 +12410,7 @@ func (s *SegmentDemographics) SetPlatform(v *SetDimension) *SegmentDemographics } // Segment dimensions +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SegmentDimensions type SegmentDimensions struct { _ struct{} `type:"structure"` @@ -9649,6 +12471,7 @@ func (s *SegmentDimensions) SetUserAttributes(v map[string]*AttributeDimension) } // Segment import definition. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SegmentImportResource type SegmentImportResource struct { _ struct{} `type:"structure"` @@ -9721,6 +12544,7 @@ func (s *SegmentImportResource) SetSize(v int64) *SegmentImportResource { } // Segment location dimensions +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SegmentLocation type SegmentLocation struct { _ struct{} `type:"structure"` @@ -9745,6 +12569,7 @@ func (s *SegmentLocation) SetCountry(v *SetDimension) *SegmentLocation { } // Segment definition. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SegmentResponse type SegmentResponse struct { _ struct{} `type:"structure"` @@ -9847,6 +12672,7 @@ func (s *SegmentResponse) SetVersion(v int64) *SegmentResponse { } // Segments in your account. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SegmentsResponse type SegmentsResponse struct { _ struct{} `type:"structure"` @@ -9880,6 +12706,7 @@ func (s *SegmentsResponse) SetNextToken(v string) *SegmentsResponse { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendMessagesRequest type SendMessagesInput struct { _ struct{} `type:"structure" payload:"MessageRequest"` @@ -9930,6 +12757,7 @@ func (s *SendMessagesInput) SetMessageRequest(v *MessageRequest) *SendMessagesIn return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendMessagesResponse type SendMessagesOutput struct { _ struct{} `type:"structure" payload:"MessageResponse"` @@ -9955,7 +12783,180 @@ func (s *SendMessagesOutput) SetMessageResponse(v *MessageResponse) *SendMessage return s } +// Send message request. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendUsersMessageRequest +type SendUsersMessageRequest struct { + _ struct{} `type:"structure"` + + Context map[string]*string `type:"map"` + + // Message configuration. + MessageConfiguration *DirectMessageConfiguration `type:"structure"` + + // Original request Id for which this message is delivered. + RequestId *string `type:"string"` + + // A map of destination endpoints, with the EndpointId as the key Endpoint Message + // Configuration as the value. + Users map[string]*EndpointSendConfiguration `type:"map"` +} + +// String returns the string representation +func (s SendUsersMessageRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SendUsersMessageRequest) GoString() string { + return s.String() +} + +// SetContext sets the Context field's value. +func (s *SendUsersMessageRequest) SetContext(v map[string]*string) *SendUsersMessageRequest { + s.Context = v + return s +} + +// SetMessageConfiguration sets the MessageConfiguration field's value. +func (s *SendUsersMessageRequest) SetMessageConfiguration(v *DirectMessageConfiguration) *SendUsersMessageRequest { + s.MessageConfiguration = v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *SendUsersMessageRequest) SetRequestId(v string) *SendUsersMessageRequest { + s.RequestId = &v + return s +} + +// SetUsers sets the Users field's value. +func (s *SendUsersMessageRequest) SetUsers(v map[string]*EndpointSendConfiguration) *SendUsersMessageRequest { + s.Users = v + return s +} + +// User send message response. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendUsersMessageResponse +type SendUsersMessageResponse struct { + _ struct{} `type:"structure"` + + // Application id of the message. + ApplicationId *string `type:"string"` + + // Original request Id for which this message was delivered. + RequestId *string `type:"string"` + + // A map containing of UserId to Map of EndpointId to Endpoint Message Result. + Result map[string]map[string]*EndpointMessageResult `type:"map"` +} + +// String returns the string representation +func (s SendUsersMessageResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SendUsersMessageResponse) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *SendUsersMessageResponse) SetApplicationId(v string) *SendUsersMessageResponse { + s.ApplicationId = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *SendUsersMessageResponse) SetRequestId(v string) *SendUsersMessageResponse { + s.RequestId = &v + return s +} + +// SetResult sets the Result field's value. +func (s *SendUsersMessageResponse) SetResult(v map[string]map[string]*EndpointMessageResult) *SendUsersMessageResponse { + s.Result = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendUsersMessagesRequest +type SendUsersMessagesInput struct { + _ struct{} `type:"structure" payload:"SendUsersMessageRequest"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + + // Send message request. + // + // SendUsersMessageRequest is a required field + SendUsersMessageRequest *SendUsersMessageRequest `type:"structure" required:"true"` +} + +// String returns the string representation +func (s SendUsersMessagesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SendUsersMessagesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SendUsersMessagesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SendUsersMessagesInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.SendUsersMessageRequest == nil { + invalidParams.Add(request.NewErrParamRequired("SendUsersMessageRequest")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *SendUsersMessagesInput) SetApplicationId(v string) *SendUsersMessagesInput { + s.ApplicationId = &v + return s +} + +// SetSendUsersMessageRequest sets the SendUsersMessageRequest field's value. +func (s *SendUsersMessagesInput) SetSendUsersMessageRequest(v *SendUsersMessageRequest) *SendUsersMessagesInput { + s.SendUsersMessageRequest = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendUsersMessagesResponse +type SendUsersMessagesOutput struct { + _ struct{} `type:"structure" payload:"SendUsersMessageResponse"` + + // User send message response. + // + // SendUsersMessageResponse is a required field + SendUsersMessageResponse *SendUsersMessageResponse `type:"structure" required:"true"` +} + +// String returns the string representation +func (s SendUsersMessagesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SendUsersMessagesOutput) GoString() string { + return s.String() +} + +// SetSendUsersMessageResponse sets the SendUsersMessageResponse field's value. +func (s *SendUsersMessagesOutput) SetSendUsersMessageResponse(v *SendUsersMessageResponse) *SendUsersMessagesOutput { + s.SendUsersMessageResponse = v + return s +} + // Dimension specification of a segment. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SetDimension type SetDimension struct { _ struct{} `type:"structure"` @@ -9990,6 +12991,7 @@ func (s *SetDimension) SetValues(v []*string) *SetDimension { } // Treatment resource +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/TreatmentResource type TreatmentResource struct { _ struct{} `type:"structure"` @@ -10067,6 +13069,84 @@ func (s *TreatmentResource) SetTreatmentName(v string) *TreatmentResource { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateAdmChannelRequest +type UpdateAdmChannelInput struct { + _ struct{} `type:"structure" payload:"ADMChannelRequest"` + + // Amazon Device Messaging channel definition. + // + // ADMChannelRequest is a required field + ADMChannelRequest *ADMChannelRequest `type:"structure" required:"true"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateAdmChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAdmChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateAdmChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateAdmChannelInput"} + if s.ADMChannelRequest == nil { + invalidParams.Add(request.NewErrParamRequired("ADMChannelRequest")) + } + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetADMChannelRequest sets the ADMChannelRequest field's value. +func (s *UpdateAdmChannelInput) SetADMChannelRequest(v *ADMChannelRequest) *UpdateAdmChannelInput { + s.ADMChannelRequest = v + return s +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *UpdateAdmChannelInput) SetApplicationId(v string) *UpdateAdmChannelInput { + s.ApplicationId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateAdmChannelResponse +type UpdateAdmChannelOutput struct { + _ struct{} `type:"structure" payload:"ADMChannelResponse"` + + // Amazon Device Messaging channel definition. + // + // ADMChannelResponse is a required field + ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateAdmChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAdmChannelOutput) GoString() string { + return s.String() +} + +// SetADMChannelResponse sets the ADMChannelResponse field's value. +func (s *UpdateAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *UpdateAdmChannelOutput { + s.ADMChannelResponse = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsChannelRequest type UpdateApnsChannelInput struct { _ struct{} `type:"structure" payload:"APNSChannelRequest"` @@ -10117,6 +13197,7 @@ func (s *UpdateApnsChannelInput) SetApplicationId(v string) *UpdateApnsChannelIn return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsChannelResponse type UpdateApnsChannelOutput struct { _ struct{} `type:"structure" payload:"APNSChannelResponse"` @@ -10142,6 +13223,7 @@ func (s *UpdateApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsSandboxChannelRequest type UpdateApnsSandboxChannelInput struct { _ struct{} `type:"structure" payload:"APNSSandboxChannelRequest"` @@ -10192,6 +13274,7 @@ func (s *UpdateApnsSandboxChannelInput) SetApplicationId(v string) *UpdateApnsSa return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsSandboxChannelResponse type UpdateApnsSandboxChannelOutput struct { _ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"` @@ -10217,6 +13300,7 @@ func (s *UpdateApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSa return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApplicationSettingsRequest type UpdateApplicationSettingsInput struct { _ struct{} `type:"structure" payload:"WriteApplicationSettingsRequest"` @@ -10267,6 +13351,7 @@ func (s *UpdateApplicationSettingsInput) SetWriteApplicationSettingsRequest(v *W return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApplicationSettingsResponse type UpdateApplicationSettingsOutput struct { _ struct{} `type:"structure" payload:"ApplicationSettingsResource"` @@ -10292,6 +13377,84 @@ func (s *UpdateApplicationSettingsOutput) SetApplicationSettingsResource(v *Appl return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateBaiduChannelRequest +type UpdateBaiduChannelInput struct { + _ struct{} `type:"structure" payload:"BaiduChannelRequest"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + + // Baidu Cloud Push credentials + // + // BaiduChannelRequest is a required field + BaiduChannelRequest *BaiduChannelRequest `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateBaiduChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateBaiduChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateBaiduChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateBaiduChannelInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.BaiduChannelRequest == nil { + invalidParams.Add(request.NewErrParamRequired("BaiduChannelRequest")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *UpdateBaiduChannelInput) SetApplicationId(v string) *UpdateBaiduChannelInput { + s.ApplicationId = &v + return s +} + +// SetBaiduChannelRequest sets the BaiduChannelRequest field's value. +func (s *UpdateBaiduChannelInput) SetBaiduChannelRequest(v *BaiduChannelRequest) *UpdateBaiduChannelInput { + s.BaiduChannelRequest = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateBaiduChannelResponse +type UpdateBaiduChannelOutput struct { + _ struct{} `type:"structure" payload:"BaiduChannelResponse"` + + // Baidu Cloud Messaging channel definition + // + // BaiduChannelResponse is a required field + BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateBaiduChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateBaiduChannelOutput) GoString() string { + return s.String() +} + +// SetBaiduChannelResponse sets the BaiduChannelResponse field's value. +func (s *UpdateBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *UpdateBaiduChannelOutput { + s.BaiduChannelResponse = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateCampaignRequest type UpdateCampaignInput struct { _ struct{} `type:"structure" payload:"WriteCampaignRequest"` @@ -10354,6 +13517,7 @@ func (s *UpdateCampaignInput) SetWriteCampaignRequest(v *WriteCampaignRequest) * return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateCampaignResponse type UpdateCampaignOutput struct { _ struct{} `type:"structure" payload:"CampaignResponse"` @@ -10379,6 +13543,7 @@ func (s *UpdateCampaignOutput) SetCampaignResponse(v *CampaignResponse) *UpdateC return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailChannelRequest type UpdateEmailChannelInput struct { _ struct{} `type:"structure" payload:"EmailChannelRequest"` @@ -10429,6 +13594,7 @@ func (s *UpdateEmailChannelInput) SetEmailChannelRequest(v *EmailChannelRequest) return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailChannelResponse type UpdateEmailChannelOutput struct { _ struct{} `type:"structure" payload:"EmailChannelResponse"` @@ -10454,6 +13620,7 @@ func (s *UpdateEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelRespon return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpointRequest type UpdateEndpointInput struct { _ struct{} `type:"structure" payload:"EndpointRequest"` @@ -10516,6 +13683,7 @@ func (s *UpdateEndpointInput) SetEndpointRequest(v *EndpointRequest) *UpdateEndp return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpointResponse type UpdateEndpointOutput struct { _ struct{} `type:"structure" payload:"MessageBody"` @@ -10541,6 +13709,7 @@ func (s *UpdateEndpointOutput) SetMessageBody(v *MessageBody) *UpdateEndpointOut return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpointsBatchRequest type UpdateEndpointsBatchInput struct { _ struct{} `type:"structure" payload:"EndpointBatchRequest"` @@ -10591,6 +13760,7 @@ func (s *UpdateEndpointsBatchInput) SetEndpointBatchRequest(v *EndpointBatchRequ return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpointsBatchResponse type UpdateEndpointsBatchOutput struct { _ struct{} `type:"structure" payload:"MessageBody"` @@ -10616,6 +13786,7 @@ func (s *UpdateEndpointsBatchOutput) SetMessageBody(v *MessageBody) *UpdateEndpo return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateGcmChannelRequest type UpdateGcmChannelInput struct { _ struct{} `type:"structure" payload:"GCMChannelRequest"` @@ -10666,6 +13837,7 @@ func (s *UpdateGcmChannelInput) SetGCMChannelRequest(v *GCMChannelRequest) *Upda return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateGcmChannelResponse type UpdateGcmChannelOutput struct { _ struct{} `type:"structure" payload:"GCMChannelResponse"` @@ -10691,6 +13863,7 @@ func (s *UpdateGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *U return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSegmentRequest type UpdateSegmentInput struct { _ struct{} `type:"structure" payload:"WriteSegmentRequest"` @@ -10753,6 +13926,7 @@ func (s *UpdateSegmentInput) SetWriteSegmentRequest(v *WriteSegmentRequest) *Upd return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSegmentResponse type UpdateSegmentOutput struct { _ struct{} `type:"structure" payload:"SegmentResponse"` @@ -10778,6 +13952,7 @@ func (s *UpdateSegmentOutput) SetSegmentResponse(v *SegmentResponse) *UpdateSegm return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsChannelRequest type UpdateSmsChannelInput struct { _ struct{} `type:"structure" payload:"SMSChannelRequest"` @@ -10828,6 +14003,7 @@ func (s *UpdateSmsChannelInput) SetSMSChannelRequest(v *SMSChannelRequest) *Upda return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsChannelResponse type UpdateSmsChannelOutput struct { _ struct{} `type:"structure" payload:"SMSChannelResponse"` @@ -10854,6 +14030,7 @@ func (s *UpdateSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *U } // Creating application setting request +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/WriteApplicationSettingsRequest type WriteApplicationSettingsRequest struct { _ struct{} `type:"structure"` @@ -10891,6 +14068,7 @@ func (s *WriteApplicationSettingsRequest) SetQuietTime(v *QuietTime) *WriteAppli } // Used to create a campaign. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/WriteCampaignRequest type WriteCampaignRequest struct { _ struct{} `type:"structure"` @@ -10926,6 +14104,9 @@ type WriteCampaignRequest struct { // The version of the segment to which the campaign sends messages. SegmentVersion *int64 `type:"integer"` + // Whether or not to enable trace logging for the campaign. Undocumented + Trace *bool `type:"boolean"` + // A custom description for the treatment. TreatmentDescription *string `type:"string"` @@ -11003,6 +14184,12 @@ func (s *WriteCampaignRequest) SetSegmentVersion(v int64) *WriteCampaignRequest return s } +// SetTrace sets the Trace field's value. +func (s *WriteCampaignRequest) SetTrace(v bool) *WriteCampaignRequest { + s.Trace = &v + return s +} + // SetTreatmentDescription sets the TreatmentDescription field's value. func (s *WriteCampaignRequest) SetTreatmentDescription(v string) *WriteCampaignRequest { s.TreatmentDescription = &v @@ -11016,6 +14203,7 @@ func (s *WriteCampaignRequest) SetTreatmentName(v string) *WriteCampaignRequest } // Request to save an EventStream. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/WriteEventStream type WriteEventStream struct { _ struct{} `type:"structure"` @@ -11024,6 +14212,10 @@ type WriteEventStream struct { // Kinesis ARN: arn:aws:kinesis:REGION:ACCOUNT_ID:stream/STREAM_NAME DestinationStreamArn *string `type:"string"` + // The external ID assigned the IAM role that authorizes Amazon Pinpoint to + // publish to the stream. + ExternalId *string `type:"string"` + // The IAM role that authorizes Amazon Pinpoint to publish events to the stream // in your account. RoleArn *string `type:"string"` @@ -11045,6 +14237,12 @@ func (s *WriteEventStream) SetDestinationStreamArn(v string) *WriteEventStream { return s } +// SetExternalId sets the ExternalId field's value. +func (s *WriteEventStream) SetExternalId(v string) *WriteEventStream { + s.ExternalId = &v + return s +} + // SetRoleArn sets the RoleArn field's value. func (s *WriteEventStream) SetRoleArn(v string) *WriteEventStream { s.RoleArn = &v @@ -11052,6 +14250,7 @@ func (s *WriteEventStream) SetRoleArn(v string) *WriteEventStream { } // Segment definition. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/WriteSegmentRequest type WriteSegmentRequest struct { _ struct{} `type:"structure"` @@ -11085,6 +14284,7 @@ func (s *WriteSegmentRequest) SetName(v string) *WriteSegmentRequest { } // Used to create a campaign treatment. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/WriteTreatmentResource type WriteTreatmentResource struct { _ struct{} `type:"structure"` @@ -11198,6 +14398,9 @@ const ( // ChannelTypeEmail is a ChannelType enum value ChannelTypeEmail = "EMAIL" + + // ChannelTypeBaidu is a ChannelType enum value + ChannelTypeBaidu = "BAIDU" ) const ( @@ -11212,6 +14415,15 @@ const ( // DeliveryStatusPermanentFailure is a DeliveryStatus enum value DeliveryStatusPermanentFailure = "PERMANENT_FAILURE" + + // DeliveryStatusUnknownFailure is a DeliveryStatus enum value + DeliveryStatusUnknownFailure = "UNKNOWN_FAILURE" + + // DeliveryStatusOptOut is a DeliveryStatus enum value + DeliveryStatusOptOut = "OPT_OUT" + + // DeliveryStatusDuplicate is a DeliveryStatus enum value + DeliveryStatusDuplicate = "DUPLICATE" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/pinpoint/doc.go b/vendor/github.com/aws/aws-sdk-go/service/pinpoint/doc.go index d9bccd86f..6512ccdf1 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/pinpoint/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/pinpoint/doc.go @@ -3,74 +3,24 @@ // Package pinpoint provides the client and types for making API // requests to Amazon Pinpoint. // +// See https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01 for more information on this service. +// // See pinpoint package documentation for more information. // https://docs.aws.amazon.com/sdk-for-go/api/service/pinpoint/ // // Using the Client // -// To use the client for Amazon Pinpoint you will first need -// to create a new instance of it. +// To Amazon Pinpoint with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := pinpoint.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Pinpoint client Pinpoint for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/pinpoint/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CreateCampaign(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CreateCampaign result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CreateCampaignWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package pinpoint diff --git a/vendor/github.com/aws/aws-sdk-go/service/pinpoint/pinpointiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/pinpoint/pinpointiface/interface.go index 829e5a81f..10bc0a77f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/pinpoint/pinpointiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/pinpoint/pinpointiface/interface.go @@ -21,12 +21,12 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Pinpoint. // func myFunc(svc pinpointiface.PinpointAPI) bool { -// // Make svc.CreateCampaign request +// // Make svc.CreateApp request // } // // func main() { @@ -42,7 +42,7 @@ import ( // type mockPinpointClient struct { // pinpointiface.PinpointAPI // } -// func (m *mockPinpointClient) CreateCampaign(input *pinpoint.CreateCampaignInput) (*pinpoint.CreateCampaignOutput, error) { +// func (m *mockPinpointClient) CreateApp(input *pinpoint.CreateAppInput) (*pinpoint.CreateAppOutput, error) { // // mock response/functionality // } // @@ -60,6 +60,10 @@ import ( // and waiters. Its suggested to use the pattern above for testing, or using // tooling to generate mocks to satisfy the interfaces. type PinpointAPI interface { + CreateApp(*pinpoint.CreateAppInput) (*pinpoint.CreateAppOutput, error) + CreateAppWithContext(aws.Context, *pinpoint.CreateAppInput, ...request.Option) (*pinpoint.CreateAppOutput, error) + CreateAppRequest(*pinpoint.CreateAppInput) (*request.Request, *pinpoint.CreateAppOutput) + CreateCampaign(*pinpoint.CreateCampaignInput) (*pinpoint.CreateCampaignOutput, error) CreateCampaignWithContext(aws.Context, *pinpoint.CreateCampaignInput, ...request.Option) (*pinpoint.CreateCampaignOutput, error) CreateCampaignRequest(*pinpoint.CreateCampaignInput) (*request.Request, *pinpoint.CreateCampaignOutput) @@ -72,6 +76,10 @@ type PinpointAPI interface { CreateSegmentWithContext(aws.Context, *pinpoint.CreateSegmentInput, ...request.Option) (*pinpoint.CreateSegmentOutput, error) CreateSegmentRequest(*pinpoint.CreateSegmentInput) (*request.Request, *pinpoint.CreateSegmentOutput) + DeleteAdmChannel(*pinpoint.DeleteAdmChannelInput) (*pinpoint.DeleteAdmChannelOutput, error) + DeleteAdmChannelWithContext(aws.Context, *pinpoint.DeleteAdmChannelInput, ...request.Option) (*pinpoint.DeleteAdmChannelOutput, error) + DeleteAdmChannelRequest(*pinpoint.DeleteAdmChannelInput) (*request.Request, *pinpoint.DeleteAdmChannelOutput) + DeleteApnsChannel(*pinpoint.DeleteApnsChannelInput) (*pinpoint.DeleteApnsChannelOutput, error) DeleteApnsChannelWithContext(aws.Context, *pinpoint.DeleteApnsChannelInput, ...request.Option) (*pinpoint.DeleteApnsChannelOutput, error) DeleteApnsChannelRequest(*pinpoint.DeleteApnsChannelInput) (*request.Request, *pinpoint.DeleteApnsChannelOutput) @@ -80,6 +88,14 @@ type PinpointAPI interface { DeleteApnsSandboxChannelWithContext(aws.Context, *pinpoint.DeleteApnsSandboxChannelInput, ...request.Option) (*pinpoint.DeleteApnsSandboxChannelOutput, error) DeleteApnsSandboxChannelRequest(*pinpoint.DeleteApnsSandboxChannelInput) (*request.Request, *pinpoint.DeleteApnsSandboxChannelOutput) + DeleteApp(*pinpoint.DeleteAppInput) (*pinpoint.DeleteAppOutput, error) + DeleteAppWithContext(aws.Context, *pinpoint.DeleteAppInput, ...request.Option) (*pinpoint.DeleteAppOutput, error) + DeleteAppRequest(*pinpoint.DeleteAppInput) (*request.Request, *pinpoint.DeleteAppOutput) + + DeleteBaiduChannel(*pinpoint.DeleteBaiduChannelInput) (*pinpoint.DeleteBaiduChannelOutput, error) + DeleteBaiduChannelWithContext(aws.Context, *pinpoint.DeleteBaiduChannelInput, ...request.Option) (*pinpoint.DeleteBaiduChannelOutput, error) + DeleteBaiduChannelRequest(*pinpoint.DeleteBaiduChannelInput) (*request.Request, *pinpoint.DeleteBaiduChannelOutput) + DeleteCampaign(*pinpoint.DeleteCampaignInput) (*pinpoint.DeleteCampaignOutput, error) DeleteCampaignWithContext(aws.Context, *pinpoint.DeleteCampaignInput, ...request.Option) (*pinpoint.DeleteCampaignOutput, error) DeleteCampaignRequest(*pinpoint.DeleteCampaignInput) (*request.Request, *pinpoint.DeleteCampaignOutput) @@ -104,6 +120,10 @@ type PinpointAPI interface { DeleteSmsChannelWithContext(aws.Context, *pinpoint.DeleteSmsChannelInput, ...request.Option) (*pinpoint.DeleteSmsChannelOutput, error) DeleteSmsChannelRequest(*pinpoint.DeleteSmsChannelInput) (*request.Request, *pinpoint.DeleteSmsChannelOutput) + GetAdmChannel(*pinpoint.GetAdmChannelInput) (*pinpoint.GetAdmChannelOutput, error) + GetAdmChannelWithContext(aws.Context, *pinpoint.GetAdmChannelInput, ...request.Option) (*pinpoint.GetAdmChannelOutput, error) + GetAdmChannelRequest(*pinpoint.GetAdmChannelInput) (*request.Request, *pinpoint.GetAdmChannelOutput) + GetApnsChannel(*pinpoint.GetApnsChannelInput) (*pinpoint.GetApnsChannelOutput, error) GetApnsChannelWithContext(aws.Context, *pinpoint.GetApnsChannelInput, ...request.Option) (*pinpoint.GetApnsChannelOutput, error) GetApnsChannelRequest(*pinpoint.GetApnsChannelInput) (*request.Request, *pinpoint.GetApnsChannelOutput) @@ -112,10 +132,22 @@ type PinpointAPI interface { GetApnsSandboxChannelWithContext(aws.Context, *pinpoint.GetApnsSandboxChannelInput, ...request.Option) (*pinpoint.GetApnsSandboxChannelOutput, error) GetApnsSandboxChannelRequest(*pinpoint.GetApnsSandboxChannelInput) (*request.Request, *pinpoint.GetApnsSandboxChannelOutput) + GetApp(*pinpoint.GetAppInput) (*pinpoint.GetAppOutput, error) + GetAppWithContext(aws.Context, *pinpoint.GetAppInput, ...request.Option) (*pinpoint.GetAppOutput, error) + GetAppRequest(*pinpoint.GetAppInput) (*request.Request, *pinpoint.GetAppOutput) + GetApplicationSettings(*pinpoint.GetApplicationSettingsInput) (*pinpoint.GetApplicationSettingsOutput, error) GetApplicationSettingsWithContext(aws.Context, *pinpoint.GetApplicationSettingsInput, ...request.Option) (*pinpoint.GetApplicationSettingsOutput, error) GetApplicationSettingsRequest(*pinpoint.GetApplicationSettingsInput) (*request.Request, *pinpoint.GetApplicationSettingsOutput) + GetApps(*pinpoint.GetAppsInput) (*pinpoint.GetAppsOutput, error) + GetAppsWithContext(aws.Context, *pinpoint.GetAppsInput, ...request.Option) (*pinpoint.GetAppsOutput, error) + GetAppsRequest(*pinpoint.GetAppsInput) (*request.Request, *pinpoint.GetAppsOutput) + + GetBaiduChannel(*pinpoint.GetBaiduChannelInput) (*pinpoint.GetBaiduChannelOutput, error) + GetBaiduChannelWithContext(aws.Context, *pinpoint.GetBaiduChannelInput, ...request.Option) (*pinpoint.GetBaiduChannelOutput, error) + GetBaiduChannelRequest(*pinpoint.GetBaiduChannelInput) (*request.Request, *pinpoint.GetBaiduChannelOutput) + GetCampaign(*pinpoint.GetCampaignInput) (*pinpoint.GetCampaignOutput, error) GetCampaignWithContext(aws.Context, *pinpoint.GetCampaignInput, ...request.Option) (*pinpoint.GetCampaignOutput, error) GetCampaignRequest(*pinpoint.GetCampaignInput) (*request.Request, *pinpoint.GetCampaignOutput) @@ -192,6 +224,14 @@ type PinpointAPI interface { SendMessagesWithContext(aws.Context, *pinpoint.SendMessagesInput, ...request.Option) (*pinpoint.SendMessagesOutput, error) SendMessagesRequest(*pinpoint.SendMessagesInput) (*request.Request, *pinpoint.SendMessagesOutput) + SendUsersMessages(*pinpoint.SendUsersMessagesInput) (*pinpoint.SendUsersMessagesOutput, error) + SendUsersMessagesWithContext(aws.Context, *pinpoint.SendUsersMessagesInput, ...request.Option) (*pinpoint.SendUsersMessagesOutput, error) + SendUsersMessagesRequest(*pinpoint.SendUsersMessagesInput) (*request.Request, *pinpoint.SendUsersMessagesOutput) + + UpdateAdmChannel(*pinpoint.UpdateAdmChannelInput) (*pinpoint.UpdateAdmChannelOutput, error) + UpdateAdmChannelWithContext(aws.Context, *pinpoint.UpdateAdmChannelInput, ...request.Option) (*pinpoint.UpdateAdmChannelOutput, error) + UpdateAdmChannelRequest(*pinpoint.UpdateAdmChannelInput) (*request.Request, *pinpoint.UpdateAdmChannelOutput) + UpdateApnsChannel(*pinpoint.UpdateApnsChannelInput) (*pinpoint.UpdateApnsChannelOutput, error) UpdateApnsChannelWithContext(aws.Context, *pinpoint.UpdateApnsChannelInput, ...request.Option) (*pinpoint.UpdateApnsChannelOutput, error) UpdateApnsChannelRequest(*pinpoint.UpdateApnsChannelInput) (*request.Request, *pinpoint.UpdateApnsChannelOutput) @@ -204,6 +244,10 @@ type PinpointAPI interface { UpdateApplicationSettingsWithContext(aws.Context, *pinpoint.UpdateApplicationSettingsInput, ...request.Option) (*pinpoint.UpdateApplicationSettingsOutput, error) UpdateApplicationSettingsRequest(*pinpoint.UpdateApplicationSettingsInput) (*request.Request, *pinpoint.UpdateApplicationSettingsOutput) + UpdateBaiduChannel(*pinpoint.UpdateBaiduChannelInput) (*pinpoint.UpdateBaiduChannelOutput, error) + UpdateBaiduChannelWithContext(aws.Context, *pinpoint.UpdateBaiduChannelInput, ...request.Option) (*pinpoint.UpdateBaiduChannelOutput, error) + UpdateBaiduChannelRequest(*pinpoint.UpdateBaiduChannelInput) (*request.Request, *pinpoint.UpdateBaiduChannelOutput) + UpdateCampaign(*pinpoint.UpdateCampaignInput) (*pinpoint.UpdateCampaignOutput, error) UpdateCampaignWithContext(aws.Context, *pinpoint.UpdateCampaignInput, ...request.Option) (*pinpoint.UpdateCampaignOutput, error) UpdateCampaignRequest(*pinpoint.UpdateCampaignInput) (*request.Request, *pinpoint.UpdateCampaignOutput) diff --git a/vendor/github.com/aws/aws-sdk-go/service/polly/api.go b/vendor/github.com/aws/aws-sdk-go/service/polly/api.go index cd9713b4d..4761eab0b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/polly/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/polly/api.go @@ -15,19 +15,18 @@ const opDeleteLexicon = "DeleteLexicon" // DeleteLexiconRequest generates a "aws/request.Request" representing the // client's request for the DeleteLexicon operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteLexicon for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteLexicon method directly -// instead. +// See DeleteLexicon for more information on using the DeleteLexicon +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteLexiconRequest method. // req, resp := client.DeleteLexiconRequest(params) @@ -107,19 +106,18 @@ const opDescribeVoices = "DescribeVoices" // DescribeVoicesRequest generates a "aws/request.Request" representing the // client's request for the DescribeVoices operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeVoices for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeVoices method directly -// instead. +// See DescribeVoices for more information on using the DescribeVoices +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeVoicesRequest method. // req, resp := client.DescribeVoicesRequest(params) @@ -207,19 +205,18 @@ const opGetLexicon = "GetLexicon" // GetLexiconRequest generates a "aws/request.Request" representing the // client's request for the GetLexicon operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetLexicon for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetLexicon method directly -// instead. +// See GetLexicon for more information on using the GetLexicon +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetLexiconRequest method. // req, resp := client.GetLexiconRequest(params) @@ -296,19 +293,18 @@ const opListLexicons = "ListLexicons" // ListLexiconsRequest generates a "aws/request.Request" representing the // client's request for the ListLexicons operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListLexicons for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListLexicons method directly -// instead. +// See ListLexicons for more information on using the ListLexicons +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListLexiconsRequest method. // req, resp := client.ListLexiconsRequest(params) @@ -381,19 +377,18 @@ const opPutLexicon = "PutLexicon" // PutLexiconRequest generates a "aws/request.Request" representing the // client's request for the PutLexicon operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutLexicon for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutLexicon method directly -// instead. +// See PutLexicon for more information on using the PutLexicon +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutLexiconRequest method. // req, resp := client.PutLexiconRequest(params) @@ -487,19 +482,18 @@ const opSynthesizeSpeech = "SynthesizeSpeech" // SynthesizeSpeechRequest generates a "aws/request.Request" representing the // client's request for the SynthesizeSpeech operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SynthesizeSpeech for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SynthesizeSpeech method directly -// instead. +// See SynthesizeSpeech for more information on using the SynthesizeSpeech +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SynthesizeSpeechRequest method. // req, resp := client.SynthesizeSpeechRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/polly/doc.go b/vendor/github.com/aws/aws-sdk-go/service/polly/doc.go index b558484e3..72c4cb0a1 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/polly/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/polly/doc.go @@ -18,69 +18,17 @@ // // Using the Client // -// To use the client for Amazon Polly you will first need -// to create a new instance of it. +// To Amazon Polly with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := polly.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Polly client Polly for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/polly/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.DeleteLexicon(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("DeleteLexicon result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.DeleteLexiconWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package polly diff --git a/vendor/github.com/aws/aws-sdk-go/service/polly/pollyiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/polly/pollyiface/interface.go index 8b848e000..98bbdcb85 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/polly/pollyiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/polly/pollyiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Polly. diff --git a/vendor/github.com/aws/aws-sdk-go/service/rds/api.go b/vendor/github.com/aws/aws-sdk-go/service/rds/api.go index b62c16588..afb4d200b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/rds/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/rds/api.go @@ -17,19 +17,18 @@ const opAddRoleToDBCluster = "AddRoleToDBCluster" // AddRoleToDBClusterRequest generates a "aws/request.Request" representing the // client's request for the AddRoleToDBCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddRoleToDBCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddRoleToDBCluster method directly -// instead. +// See AddRoleToDBCluster for more information on using the AddRoleToDBCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddRoleToDBClusterRequest method. // req, resp := client.AddRoleToDBClusterRequest(params) @@ -112,19 +111,18 @@ const opAddSourceIdentifierToSubscription = "AddSourceIdentifierToSubscription" // AddSourceIdentifierToSubscriptionRequest generates a "aws/request.Request" representing the // client's request for the AddSourceIdentifierToSubscription operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddSourceIdentifierToSubscription for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddSourceIdentifierToSubscription method directly -// instead. +// See AddSourceIdentifierToSubscription for more information on using the AddSourceIdentifierToSubscription +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddSourceIdentifierToSubscriptionRequest method. // req, resp := client.AddSourceIdentifierToSubscriptionRequest(params) @@ -195,19 +193,18 @@ const opAddTagsToResource = "AddTagsToResource" // AddTagsToResourceRequest generates a "aws/request.Request" representing the // client's request for the AddTagsToResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddTagsToResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddTagsToResource method directly -// instead. +// See AddTagsToResource for more information on using the AddTagsToResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddTagsToResourceRequest method. // req, resp := client.AddTagsToResourceRequest(params) @@ -288,19 +285,18 @@ const opApplyPendingMaintenanceAction = "ApplyPendingMaintenanceAction" // ApplyPendingMaintenanceActionRequest generates a "aws/request.Request" representing the // client's request for the ApplyPendingMaintenanceAction operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ApplyPendingMaintenanceAction for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ApplyPendingMaintenanceAction method directly -// instead. +// See ApplyPendingMaintenanceAction for more information on using the ApplyPendingMaintenanceAction +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ApplyPendingMaintenanceActionRequest method. // req, resp := client.ApplyPendingMaintenanceActionRequest(params) @@ -369,19 +365,18 @@ const opAuthorizeDBSecurityGroupIngress = "AuthorizeDBSecurityGroupIngress" // AuthorizeDBSecurityGroupIngressRequest generates a "aws/request.Request" representing the // client's request for the AuthorizeDBSecurityGroupIngress operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AuthorizeDBSecurityGroupIngress for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AuthorizeDBSecurityGroupIngress method directly -// instead. +// See AuthorizeDBSecurityGroupIngress for more information on using the AuthorizeDBSecurityGroupIngress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AuthorizeDBSecurityGroupIngressRequest method. // req, resp := client.AuthorizeDBSecurityGroupIngressRequest(params) @@ -418,9 +413,9 @@ func (c *RDS) AuthorizeDBSecurityGroupIngressRequest(input *AuthorizeDBSecurityG // EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName // or EC2SecurityGroupId for non-VPC). // -// You cannot authorize ingress from an EC2 security group in one region to -// an Amazon RDS DB instance in another. You cannot authorize ingress from a -// VPC security group in one VPC to an Amazon RDS DB instance in another. +// You cannot authorize ingress from an EC2 security group in one AWS Region +// to an Amazon RDS DB instance in another. You cannot authorize ingress from +// a VPC security group in one VPC to an Amazon RDS DB instance in another. // // For an overview of CIDR ranges, go to the Wikipedia Tutorial (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). // @@ -471,19 +466,18 @@ const opCopyDBClusterParameterGroup = "CopyDBClusterParameterGroup" // CopyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the // client's request for the CopyDBClusterParameterGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CopyDBClusterParameterGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CopyDBClusterParameterGroup method directly -// instead. +// See CopyDBClusterParameterGroup for more information on using the CopyDBClusterParameterGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CopyDBClusterParameterGroupRequest method. // req, resp := client.CopyDBClusterParameterGroupRequest(params) @@ -558,19 +552,18 @@ const opCopyDBClusterSnapshot = "CopyDBClusterSnapshot" // CopyDBClusterSnapshotRequest generates a "aws/request.Request" representing the // client's request for the CopyDBClusterSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CopyDBClusterSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CopyDBClusterSnapshot method directly -// instead. +// See CopyDBClusterSnapshot for more information on using the CopyDBClusterSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CopyDBClusterSnapshotRequest method. // req, resp := client.CopyDBClusterSnapshotRequest(params) @@ -604,59 +597,60 @@ func (c *RDS) CopyDBClusterSnapshotRequest(input *CopyDBClusterSnapshotInput) (r // To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier // must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot. // -// You can copy an encrypted DB cluster snapshot from another AWS region. In -// that case, the region where you call the CopyDBClusterSnapshot action is -// the destination region for the encrypted DB cluster snapshot to be copied -// to. To copy an encrypted DB cluster snapshot from another region, you must -// provide the following values: +// You can copy an encrypted DB cluster snapshot from another AWS Region. In +// that case, the AWS Region where you call the CopyDBClusterSnapshot action +// is the destination AWS Region for the encrypted DB cluster snapshot to be +// copied to. To copy an encrypted DB cluster snapshot from another AWS Region, +// you must provide the following values: // // * KmsKeyId - The AWS Key Management System (KMS) key identifier for the // key to use to encrypt the copy of the DB cluster snapshot in the destination -// region. +// AWS Region. // // * PreSignedUrl - A URL that contains a Signature Version 4 signed request -// for the CopyDBClusterSnapshot action to be called in the source region +// for the CopyDBClusterSnapshot action to be called in the source AWS Region // where the DB cluster snapshot will be copied from. The pre-signed URL // must be a valid request for the CopyDBClusterSnapshot API action that -// can be executed in the source region that contains the encrypted DB cluster -// snapshot to be copied. +// can be executed in the source AWS Region that contains the encrypted DB +// cluster snapshot to be copied. // // The pre-signed URL request must contain the following parameter values: // // KmsKeyId - The KMS key identifier for the key to use to encrypt the copy -// of the DB cluster snapshot in the destination region. This is the same -// identifier for both the CopyDBClusterSnapshot action that is called in -// the destination region, and the action contained in the pre-signed URL. +// of the DB cluster snapshot in the destination AWS Region. This is the +// same identifier for both the CopyDBClusterSnapshot action that is called +// in the destination AWS Region, and the action contained in the pre-signed +// URL. // -// DestinationRegion - The name of the region that the DB cluster snapshot will -// be created in. +// DestinationRegion - The name of the AWS Region that the DB cluster snapshot +// will be created in. // // SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for // the encrypted DB cluster snapshot to be copied. This identifier must be -// in the Amazon Resource Name (ARN) format for the source region. For example, -// if you are copying an encrypted DB cluster snapshot from the us-west-2 -// region, then your SourceDBClusterSnapshotIdentifier looks like the following -// example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115. +// in the Amazon Resource Name (ARN) format for the source AWS Region. For +// example, if you are copying an encrypted DB cluster snapshot from the +// us-west-2 region, then your SourceDBClusterSnapshotIdentifier looks like +// the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115. // // To learn how to generate a Signature Version 4 signed request, see Authenticating // Requests: Using Query Parameters (AWS Signature Version 4) (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html) // and Signature Version 4 Signing Process (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). // // * TargetDBClusterSnapshotIdentifier - The identifier for the new copy -// of the DB cluster snapshot in the destination region. +// of the DB cluster snapshot in the destination AWS Region. // // * SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier // for the encrypted DB cluster snapshot to be copied. This identifier must -// be in the ARN format for the source region and is the same value as the -// SourceDBClusterSnapshotIdentifier in the pre-signed URL. +// be in the ARN format for the source AWS Region and is the same value as +// the SourceDBClusterSnapshotIdentifier in the pre-signed URL. // // To cancel the copy operation once it is in progress, delete the target DB // cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that // DB cluster snapshot is in "copying" status. // -// For more information on copying encrypted DB cluster snapshots from one region -// to another, see Copying a DB Cluster Snapshot in the Same Account, Either -// in the Same Region or Across Regions (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html#USER_CopyDBClusterSnapshot.CrossRegion) +// For more information on copying encrypted DB cluster snapshots from one AWS +// Region to another, see Copying a DB Cluster Snapshot in the Same Account, +// Either in the Same Region or Across Regions (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html#USER_CopyDBClusterSnapshot.CrossRegion) // in the Amazon RDS User Guide. // // For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) @@ -714,19 +708,18 @@ const opCopyDBParameterGroup = "CopyDBParameterGroup" // CopyDBParameterGroupRequest generates a "aws/request.Request" representing the // client's request for the CopyDBParameterGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CopyDBParameterGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CopyDBParameterGroup method directly -// instead. +// See CopyDBParameterGroup for more information on using the CopyDBParameterGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CopyDBParameterGroupRequest method. // req, resp := client.CopyDBParameterGroupRequest(params) @@ -801,19 +794,18 @@ const opCopyDBSnapshot = "CopyDBSnapshot" // CopyDBSnapshotRequest generates a "aws/request.Request" representing the // client's request for the CopyDBSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CopyDBSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CopyDBSnapshot method directly -// instead. +// See CopyDBSnapshot for more information on using the CopyDBSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CopyDBSnapshotRequest method. // req, resp := client.CopyDBSnapshotRequest(params) @@ -845,11 +837,11 @@ func (c *RDS) CopyDBSnapshotRequest(input *CopyDBSnapshotInput) (req *request.Re // Copies the specified DB snapshot. The source DB snapshot must be in the "available" // state. // -// You can copy a snapshot from one AWS region to another. In that case, the -// region where you call the CopyDBSnapshot action is the destination region -// for the DB snapshot copy. +// You can copy a snapshot from one AWS Region to another. In that case, the +// AWS Region where you call the CopyDBSnapshot action is the destination AWS +// Region for the DB snapshot copy. // -// You cannot copy an encrypted, shared DB snapshot from one AWS region to another. +// You cannot copy an encrypted, shared DB snapshot from one AWS Region to another. // // For more information about copying snapshots, see Copying a DB Snapshot (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopyDBSnapshot.html) // in the Amazon RDS User Guide. @@ -903,19 +895,18 @@ const opCopyOptionGroup = "CopyOptionGroup" // CopyOptionGroupRequest generates a "aws/request.Request" representing the // client's request for the CopyOptionGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CopyOptionGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CopyOptionGroup method directly -// instead. +// See CopyOptionGroup for more information on using the CopyOptionGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CopyOptionGroupRequest method. // req, resp := client.CopyOptionGroupRequest(params) @@ -989,19 +980,18 @@ const opCreateDBCluster = "CreateDBCluster" // CreateDBClusterRequest generates a "aws/request.Request" representing the // client's request for the CreateDBCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDBCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDBCluster method directly -// instead. +// See CreateDBCluster for more information on using the CreateDBCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDBClusterRequest method. // req, resp := client.CreateDBClusterRequest(params) @@ -1127,19 +1117,18 @@ const opCreateDBClusterParameterGroup = "CreateDBClusterParameterGroup" // CreateDBClusterParameterGroupRequest generates a "aws/request.Request" representing the // client's request for the CreateDBClusterParameterGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDBClusterParameterGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDBClusterParameterGroup method directly -// instead. +// See CreateDBClusterParameterGroup for more information on using the CreateDBClusterParameterGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDBClusterParameterGroupRequest method. // req, resp := client.CreateDBClusterParameterGroupRequest(params) @@ -1238,19 +1227,18 @@ const opCreateDBClusterSnapshot = "CreateDBClusterSnapshot" // CreateDBClusterSnapshotRequest generates a "aws/request.Request" representing the // client's request for the CreateDBClusterSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDBClusterSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDBClusterSnapshot method directly -// instead. +// See CreateDBClusterSnapshot for more information on using the CreateDBClusterSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDBClusterSnapshotRequest method. // req, resp := client.CreateDBClusterSnapshotRequest(params) @@ -1332,19 +1320,18 @@ const opCreateDBInstance = "CreateDBInstance" // CreateDBInstanceRequest generates a "aws/request.Request" representing the // client's request for the CreateDBInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDBInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDBInstance method directly -// instead. +// See CreateDBInstance for more information on using the CreateDBInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDBInstanceRequest method. // req, resp := client.CreateDBInstanceRequest(params) @@ -1472,19 +1459,18 @@ const opCreateDBInstanceReadReplica = "CreateDBInstanceReadReplica" // CreateDBInstanceReadReplicaRequest generates a "aws/request.Request" representing the // client's request for the CreateDBInstanceReadReplica operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDBInstanceReadReplica for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDBInstanceReadReplica method directly -// instead. +// See CreateDBInstanceReadReplica for more information on using the CreateDBInstanceReadReplica +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDBInstanceReadReplicaRequest method. // req, resp := client.CreateDBInstanceReadReplicaRequest(params) @@ -1513,8 +1499,9 @@ func (c *RDS) CreateDBInstanceReadReplicaRequest(input *CreateDBInstanceReadRepl // CreateDBInstanceReadReplica API operation for Amazon Relational Database Service. // -// Creates a DB instance for a DB instance running MySQL, MariaDB, or PostgreSQL -// that acts as a Read Replica of a source DB instance. +// Creates a new DB instance that acts as a Read Replica for an existing source +// DB instance. You can create a Read Replica for a DB instance running MySQL, +// MariaDB, or PostgreSQL. // // Amazon Aurora does not support this action. You must call the CreateDBInstance // action to create a DB instance for an Aurora DB cluster. @@ -1526,60 +1513,8 @@ func (c *RDS) CreateDBInstanceReadReplicaRequest(input *CreateDBInstanceReadRepl // // The source DB instance must have backup retention enabled. // -// You can create an encrypted Read Replica in a different AWS Region than the -// source DB instance. In that case, the region where you call the CreateDBInstanceReadReplica -// action is the destination region of the encrypted Read Replica. The source -// DB instance must be encrypted. -// -// To create an encrypted Read Replica in another AWS Region, you must provide -// the following values: -// -// * KmsKeyId - The AWS Key Management System (KMS) key identifier for the -// key to use to encrypt the Read Replica in the destination region. -// -// * PreSignedUrl - A URL that contains a Signature Version 4 signed request -// for the CreateDBInstanceReadReplica API action in the AWS region that -// contains the source DB instance. The PreSignedUrl parameter must be used -// when encrypting a Read Replica from another AWS region. -// -// The presigned URL must be a valid request for the CreateDBInstanceReadReplica -// API action that can be executed in the source region that contains the -// encrypted DB instance. The presigned URL request must contain the following -// parameter values: -// -// DestinationRegion - The AWS Region that the Read Replica is created in. This -// region is the same one where the CreateDBInstanceReadReplica action is -// called that contains this presigned URL. -// -// For example, if you create an encrypted Read Replica in the us-east-1 region, -// and the source DB instance is in the west-2 region, then you call the -// CreateDBInstanceReadReplica action in the us-east-1 region and provide -// a presigned URL that contains a call to the CreateDBInstanceReadReplica -// action in the us-west-2 region. For this example, the DestinationRegion -// in the presigned URL must be set to the us-east-1 region. -// -// KmsKeyId - The KMS key identifier for the key to use to encrypt the Read -// Replica in the destination region. This is the same identifier for both -// the CreateDBInstanceReadReplica action that is called in the destination -// region, and the action contained in the presigned URL. -// -// SourceDBInstanceIdentifier - The DB instance identifier for the encrypted -// Read Replica to be created. This identifier must be in the Amazon Resource -// Name (ARN) format for the source region. For example, if you create an -// encrypted Read Replica from a DB instance in the us-west-2 region, then -// your SourceDBInstanceIdentifier would look like this example: arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-instance-20161115. -// -// To learn how to generate a Signature Version 4 signed request, see Authenticating -// Requests: Using Query Parameters (AWS Signature Version 4) (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html) -// and Signature Version 4 Signing Process (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). -// -// * DBInstanceIdentifier - The identifier for the encrypted Read Replica -// in the destination region. -// -// * SourceDBInstanceIdentifier - The DB instance identifier for the encrypted -// Read Replica. This identifier must be in the ARN format for the source -// region and is the same value as the SourceDBInstanceIdentifier in the -// presigned URL. +// For more information, see Working with PostgreSQL, MySQL, and MariaDB Read +// Replicas (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1676,19 +1611,18 @@ const opCreateDBParameterGroup = "CreateDBParameterGroup" // CreateDBParameterGroupRequest generates a "aws/request.Request" representing the // client's request for the CreateDBParameterGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDBParameterGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDBParameterGroup method directly -// instead. +// See CreateDBParameterGroup for more information on using the CreateDBParameterGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDBParameterGroupRequest method. // req, resp := client.CreateDBParameterGroupRequest(params) @@ -1780,19 +1714,18 @@ const opCreateDBSecurityGroup = "CreateDBSecurityGroup" // CreateDBSecurityGroupRequest generates a "aws/request.Request" representing the // client's request for the CreateDBSecurityGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDBSecurityGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDBSecurityGroup method directly -// instead. +// See CreateDBSecurityGroup for more information on using the CreateDBSecurityGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDBSecurityGroupRequest method. // req, resp := client.CreateDBSecurityGroupRequest(params) @@ -1869,19 +1802,18 @@ const opCreateDBSnapshot = "CreateDBSnapshot" // CreateDBSnapshotRequest generates a "aws/request.Request" representing the // client's request for the CreateDBSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDBSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDBSnapshot method directly -// instead. +// See CreateDBSnapshot for more information on using the CreateDBSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDBSnapshotRequest method. // req, resp := client.CreateDBSnapshotRequest(params) @@ -1958,19 +1890,18 @@ const opCreateDBSubnetGroup = "CreateDBSubnetGroup" // CreateDBSubnetGroupRequest generates a "aws/request.Request" representing the // client's request for the CreateDBSubnetGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDBSubnetGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDBSubnetGroup method directly -// instead. +// See CreateDBSubnetGroup for more information on using the CreateDBSubnetGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDBSubnetGroupRequest method. // req, resp := client.CreateDBSubnetGroupRequest(params) @@ -2000,7 +1931,7 @@ func (c *RDS) CreateDBSubnetGroupRequest(input *CreateDBSubnetGroupInput) (req * // CreateDBSubnetGroup API operation for Amazon Relational Database Service. // // Creates a new DB subnet group. DB subnet groups must contain at least one -// subnet in at least two AZs in the region. +// subnet in at least two AZs in the AWS Region. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2054,19 +1985,18 @@ const opCreateEventSubscription = "CreateEventSubscription" // CreateEventSubscriptionRequest generates a "aws/request.Request" representing the // client's request for the CreateEventSubscription operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateEventSubscription for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateEventSubscription method directly -// instead. +// See CreateEventSubscription for more information on using the CreateEventSubscription +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateEventSubscriptionRequest method. // req, resp := client.CreateEventSubscriptionRequest(params) @@ -2169,19 +2099,18 @@ const opCreateOptionGroup = "CreateOptionGroup" // CreateOptionGroupRequest generates a "aws/request.Request" representing the // client's request for the CreateOptionGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateOptionGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateOptionGroup method directly -// instead. +// See CreateOptionGroup for more information on using the CreateOptionGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateOptionGroupRequest method. // req, resp := client.CreateOptionGroupRequest(params) @@ -2252,19 +2181,18 @@ const opDeleteDBCluster = "DeleteDBCluster" // DeleteDBClusterRequest generates a "aws/request.Request" representing the // client's request for the DeleteDBCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDBCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDBCluster method directly -// instead. +// See DeleteDBCluster for more information on using the DeleteDBCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDBClusterRequest method. // req, resp := client.DeleteDBClusterRequest(params) @@ -2349,19 +2277,18 @@ const opDeleteDBClusterParameterGroup = "DeleteDBClusterParameterGroup" // DeleteDBClusterParameterGroupRequest generates a "aws/request.Request" representing the // client's request for the DeleteDBClusterParameterGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDBClusterParameterGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDBClusterParameterGroup method directly -// instead. +// See DeleteDBClusterParameterGroup for more information on using the DeleteDBClusterParameterGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDBClusterParameterGroupRequest method. // req, resp := client.DeleteDBClusterParameterGroupRequest(params) @@ -2440,19 +2367,18 @@ const opDeleteDBClusterSnapshot = "DeleteDBClusterSnapshot" // DeleteDBClusterSnapshotRequest generates a "aws/request.Request" representing the // client's request for the DeleteDBClusterSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDBClusterSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDBClusterSnapshot method directly -// instead. +// See DeleteDBClusterSnapshot for more information on using the DeleteDBClusterSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDBClusterSnapshotRequest method. // req, resp := client.DeleteDBClusterSnapshotRequest(params) @@ -2529,19 +2455,18 @@ const opDeleteDBInstance = "DeleteDBInstance" // DeleteDBInstanceRequest generates a "aws/request.Request" representing the // client's request for the DeleteDBInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDBInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDBInstance method directly -// instead. +// See DeleteDBInstance for more information on using the DeleteDBInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDBInstanceRequest method. // req, resp := client.DeleteDBInstanceRequest(params) @@ -2585,7 +2510,7 @@ func (c *RDS) DeleteDBInstanceRequest(input *DeleteDBInstanceInput) (req *reques // the SkipFinalSnapshot parameter is set to true. // // If the specified DB instance is part of an Amazon Aurora DB cluster, you -// cannot delete the DB instance if the following are true: +// cannot delete the DB instance if both of the following conditions are true: // // * The DB cluster is a Read Replica of another Amazon Aurora DB cluster. // @@ -2645,19 +2570,18 @@ const opDeleteDBParameterGroup = "DeleteDBParameterGroup" // DeleteDBParameterGroupRequest generates a "aws/request.Request" representing the // client's request for the DeleteDBParameterGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDBParameterGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDBParameterGroup method directly -// instead. +// See DeleteDBParameterGroup for more information on using the DeleteDBParameterGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDBParameterGroupRequest method. // req, resp := client.DeleteDBParameterGroupRequest(params) @@ -2733,19 +2657,18 @@ const opDeleteDBSecurityGroup = "DeleteDBSecurityGroup" // DeleteDBSecurityGroupRequest generates a "aws/request.Request" representing the // client's request for the DeleteDBSecurityGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDBSecurityGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDBSecurityGroup method directly -// instead. +// See DeleteDBSecurityGroup for more information on using the DeleteDBSecurityGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDBSecurityGroupRequest method. // req, resp := client.DeleteDBSecurityGroupRequest(params) @@ -2820,19 +2743,18 @@ const opDeleteDBSnapshot = "DeleteDBSnapshot" // DeleteDBSnapshotRequest generates a "aws/request.Request" representing the // client's request for the DeleteDBSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDBSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDBSnapshot method directly -// instead. +// See DeleteDBSnapshot for more information on using the DeleteDBSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDBSnapshotRequest method. // req, resp := client.DeleteDBSnapshotRequest(params) @@ -2906,19 +2828,18 @@ const opDeleteDBSubnetGroup = "DeleteDBSubnetGroup" // DeleteDBSubnetGroupRequest generates a "aws/request.Request" representing the // client's request for the DeleteDBSubnetGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDBSubnetGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDBSubnetGroup method directly -// instead. +// See DeleteDBSubnetGroup for more information on using the DeleteDBSubnetGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDBSubnetGroupRequest method. // req, resp := client.DeleteDBSubnetGroupRequest(params) @@ -2996,19 +2917,18 @@ const opDeleteEventSubscription = "DeleteEventSubscription" // DeleteEventSubscriptionRequest generates a "aws/request.Request" representing the // client's request for the DeleteEventSubscription operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteEventSubscription for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteEventSubscription method directly -// instead. +// See DeleteEventSubscription for more information on using the DeleteEventSubscription +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteEventSubscriptionRequest method. // req, resp := client.DeleteEventSubscriptionRequest(params) @@ -3080,19 +3000,18 @@ const opDeleteOptionGroup = "DeleteOptionGroup" // DeleteOptionGroupRequest generates a "aws/request.Request" representing the // client's request for the DeleteOptionGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteOptionGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteOptionGroup method directly -// instead. +// See DeleteOptionGroup for more information on using the DeleteOptionGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteOptionGroupRequest method. // req, resp := client.DeleteOptionGroupRequest(params) @@ -3165,19 +3084,18 @@ const opDescribeAccountAttributes = "DescribeAccountAttributes" // DescribeAccountAttributesRequest generates a "aws/request.Request" representing the // client's request for the DescribeAccountAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAccountAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAccountAttributes method directly -// instead. +// See DescribeAccountAttributes for more information on using the DescribeAccountAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAccountAttributesRequest method. // req, resp := client.DescribeAccountAttributesRequest(params) @@ -3245,19 +3163,18 @@ const opDescribeCertificates = "DescribeCertificates" // DescribeCertificatesRequest generates a "aws/request.Request" representing the // client's request for the DescribeCertificates operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeCertificates for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeCertificates method directly -// instead. +// See DescribeCertificates for more information on using the DescribeCertificates +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeCertificatesRequest method. // req, resp := client.DescribeCertificatesRequest(params) @@ -3325,19 +3242,18 @@ const opDescribeDBClusterParameterGroups = "DescribeDBClusterParameterGroups" // DescribeDBClusterParameterGroupsRequest generates a "aws/request.Request" representing the // client's request for the DescribeDBClusterParameterGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDBClusterParameterGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDBClusterParameterGroups method directly -// instead. +// See DescribeDBClusterParameterGroups for more information on using the DescribeDBClusterParameterGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDBClusterParameterGroupsRequest method. // req, resp := client.DescribeDBClusterParameterGroupsRequest(params) @@ -3410,19 +3326,18 @@ const opDescribeDBClusterParameters = "DescribeDBClusterParameters" // DescribeDBClusterParametersRequest generates a "aws/request.Request" representing the // client's request for the DescribeDBClusterParameters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDBClusterParameters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDBClusterParameters method directly -// instead. +// See DescribeDBClusterParameters for more information on using the DescribeDBClusterParameters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDBClusterParametersRequest method. // req, resp := client.DescribeDBClusterParametersRequest(params) @@ -3494,19 +3409,18 @@ const opDescribeDBClusterSnapshotAttributes = "DescribeDBClusterSnapshotAttribut // DescribeDBClusterSnapshotAttributesRequest generates a "aws/request.Request" representing the // client's request for the DescribeDBClusterSnapshotAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDBClusterSnapshotAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDBClusterSnapshotAttributes method directly -// instead. +// See DescribeDBClusterSnapshotAttributes for more information on using the DescribeDBClusterSnapshotAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDBClusterSnapshotAttributesRequest method. // req, resp := client.DescribeDBClusterSnapshotAttributesRequest(params) @@ -3585,19 +3499,18 @@ const opDescribeDBClusterSnapshots = "DescribeDBClusterSnapshots" // DescribeDBClusterSnapshotsRequest generates a "aws/request.Request" representing the // client's request for the DescribeDBClusterSnapshots operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDBClusterSnapshots for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDBClusterSnapshots method directly -// instead. +// See DescribeDBClusterSnapshots for more information on using the DescribeDBClusterSnapshots +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDBClusterSnapshotsRequest method. // req, resp := client.DescribeDBClusterSnapshotsRequest(params) @@ -3669,19 +3582,18 @@ const opDescribeDBClusters = "DescribeDBClusters" // DescribeDBClustersRequest generates a "aws/request.Request" representing the // client's request for the DescribeDBClusters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDBClusters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDBClusters method directly -// instead. +// See DescribeDBClusters for more information on using the DescribeDBClusters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDBClustersRequest method. // req, resp := client.DescribeDBClustersRequest(params) @@ -3753,19 +3665,18 @@ const opDescribeDBEngineVersions = "DescribeDBEngineVersions" // DescribeDBEngineVersionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeDBEngineVersions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDBEngineVersions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDBEngineVersions method directly -// instead. +// See DescribeDBEngineVersions for more information on using the DescribeDBEngineVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDBEngineVersionsRequest method. // req, resp := client.DescribeDBEngineVersionsRequest(params) @@ -3884,19 +3795,18 @@ const opDescribeDBInstances = "DescribeDBInstances" // DescribeDBInstancesRequest generates a "aws/request.Request" representing the // client's request for the DescribeDBInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDBInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDBInstances method directly -// instead. +// See DescribeDBInstances for more information on using the DescribeDBInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDBInstancesRequest method. // req, resp := client.DescribeDBInstancesRequest(params) @@ -4020,19 +3930,18 @@ const opDescribeDBLogFiles = "DescribeDBLogFiles" // DescribeDBLogFilesRequest generates a "aws/request.Request" representing the // client's request for the DescribeDBLogFiles operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDBLogFiles for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDBLogFiles method directly -// instead. +// See DescribeDBLogFiles for more information on using the DescribeDBLogFiles +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDBLogFilesRequest method. // req, resp := client.DescribeDBLogFilesRequest(params) @@ -4156,19 +4065,18 @@ const opDescribeDBParameterGroups = "DescribeDBParameterGroups" // DescribeDBParameterGroupsRequest generates a "aws/request.Request" representing the // client's request for the DescribeDBParameterGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDBParameterGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDBParameterGroups method directly -// instead. +// See DescribeDBParameterGroups for more information on using the DescribeDBParameterGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDBParameterGroupsRequest method. // req, resp := client.DescribeDBParameterGroupsRequest(params) @@ -4294,19 +4202,18 @@ const opDescribeDBParameters = "DescribeDBParameters" // DescribeDBParametersRequest generates a "aws/request.Request" representing the // client's request for the DescribeDBParameters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDBParameters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDBParameters method directly -// instead. +// See DescribeDBParameters for more information on using the DescribeDBParameters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDBParametersRequest method. // req, resp := client.DescribeDBParametersRequest(params) @@ -4430,19 +4337,18 @@ const opDescribeDBSecurityGroups = "DescribeDBSecurityGroups" // DescribeDBSecurityGroupsRequest generates a "aws/request.Request" representing the // client's request for the DescribeDBSecurityGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDBSecurityGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDBSecurityGroups method directly -// instead. +// See DescribeDBSecurityGroups for more information on using the DescribeDBSecurityGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDBSecurityGroupsRequest method. // req, resp := client.DescribeDBSecurityGroupsRequest(params) @@ -4568,19 +4474,18 @@ const opDescribeDBSnapshotAttributes = "DescribeDBSnapshotAttributes" // DescribeDBSnapshotAttributesRequest generates a "aws/request.Request" representing the // client's request for the DescribeDBSnapshotAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDBSnapshotAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDBSnapshotAttributes method directly -// instead. +// See DescribeDBSnapshotAttributes for more information on using the DescribeDBSnapshotAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDBSnapshotAttributesRequest method. // req, resp := client.DescribeDBSnapshotAttributesRequest(params) @@ -4659,19 +4564,18 @@ const opDescribeDBSnapshots = "DescribeDBSnapshots" // DescribeDBSnapshotsRequest generates a "aws/request.Request" representing the // client's request for the DescribeDBSnapshots operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDBSnapshots for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDBSnapshots method directly -// instead. +// See DescribeDBSnapshots for more information on using the DescribeDBSnapshots +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDBSnapshotsRequest method. // req, resp := client.DescribeDBSnapshotsRequest(params) @@ -4795,19 +4699,18 @@ const opDescribeDBSubnetGroups = "DescribeDBSubnetGroups" // DescribeDBSubnetGroupsRequest generates a "aws/request.Request" representing the // client's request for the DescribeDBSubnetGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDBSubnetGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDBSubnetGroups method directly -// instead. +// See DescribeDBSubnetGroups for more information on using the DescribeDBSubnetGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDBSubnetGroupsRequest method. // req, resp := client.DescribeDBSubnetGroupsRequest(params) @@ -4934,19 +4837,18 @@ const opDescribeEngineDefaultClusterParameters = "DescribeEngineDefaultClusterPa // DescribeEngineDefaultClusterParametersRequest generates a "aws/request.Request" representing the // client's request for the DescribeEngineDefaultClusterParameters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEngineDefaultClusterParameters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEngineDefaultClusterParameters method directly -// instead. +// See DescribeEngineDefaultClusterParameters for more information on using the DescribeEngineDefaultClusterParameters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEngineDefaultClusterParametersRequest method. // req, resp := client.DescribeEngineDefaultClusterParametersRequest(params) @@ -5013,19 +4915,18 @@ const opDescribeEngineDefaultParameters = "DescribeEngineDefaultParameters" // DescribeEngineDefaultParametersRequest generates a "aws/request.Request" representing the // client's request for the DescribeEngineDefaultParameters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEngineDefaultParameters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEngineDefaultParameters method directly -// instead. +// See DescribeEngineDefaultParameters for more information on using the DescribeEngineDefaultParameters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEngineDefaultParametersRequest method. // req, resp := client.DescribeEngineDefaultParametersRequest(params) @@ -5145,19 +5046,18 @@ const opDescribeEventCategories = "DescribeEventCategories" // DescribeEventCategoriesRequest generates a "aws/request.Request" representing the // client's request for the DescribeEventCategories operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEventCategories for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEventCategories method directly -// instead. +// See DescribeEventCategories for more information on using the DescribeEventCategories +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEventCategoriesRequest method. // req, resp := client.DescribeEventCategoriesRequest(params) @@ -5223,19 +5123,18 @@ const opDescribeEventSubscriptions = "DescribeEventSubscriptions" // DescribeEventSubscriptionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeEventSubscriptions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEventSubscriptions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEventSubscriptions method directly -// instead. +// See DescribeEventSubscriptions for more information on using the DescribeEventSubscriptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEventSubscriptionsRequest method. // req, resp := client.DescribeEventSubscriptionsRequest(params) @@ -5363,19 +5262,18 @@ const opDescribeEvents = "DescribeEvents" // DescribeEventsRequest generates a "aws/request.Request" representing the // client's request for the DescribeEvents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEvents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEvents method directly -// instead. +// See DescribeEvents for more information on using the DescribeEvents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEventsRequest method. // req, resp := client.DescribeEventsRequest(params) @@ -5498,19 +5396,18 @@ const opDescribeOptionGroupOptions = "DescribeOptionGroupOptions" // DescribeOptionGroupOptionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeOptionGroupOptions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeOptionGroupOptions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeOptionGroupOptions method directly -// instead. +// See DescribeOptionGroupOptions for more information on using the DescribeOptionGroupOptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeOptionGroupOptionsRequest method. // req, resp := client.DescribeOptionGroupOptionsRequest(params) @@ -5629,19 +5526,18 @@ const opDescribeOptionGroups = "DescribeOptionGroups" // DescribeOptionGroupsRequest generates a "aws/request.Request" representing the // client's request for the DescribeOptionGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeOptionGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeOptionGroups method directly -// instead. +// See DescribeOptionGroups for more information on using the DescribeOptionGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeOptionGroupsRequest method. // req, resp := client.DescribeOptionGroupsRequest(params) @@ -5765,19 +5661,18 @@ const opDescribeOrderableDBInstanceOptions = "DescribeOrderableDBInstanceOptions // DescribeOrderableDBInstanceOptionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeOrderableDBInstanceOptions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeOrderableDBInstanceOptions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeOrderableDBInstanceOptions method directly -// instead. +// See DescribeOrderableDBInstanceOptions for more information on using the DescribeOrderableDBInstanceOptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeOrderableDBInstanceOptionsRequest method. // req, resp := client.DescribeOrderableDBInstanceOptionsRequest(params) @@ -5896,19 +5791,18 @@ const opDescribePendingMaintenanceActions = "DescribePendingMaintenanceActions" // DescribePendingMaintenanceActionsRequest generates a "aws/request.Request" representing the // client's request for the DescribePendingMaintenanceActions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribePendingMaintenanceActions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribePendingMaintenanceActions method directly -// instead. +// See DescribePendingMaintenanceActions for more information on using the DescribePendingMaintenanceActions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribePendingMaintenanceActionsRequest method. // req, resp := client.DescribePendingMaintenanceActionsRequest(params) @@ -5977,19 +5871,18 @@ const opDescribeReservedDBInstances = "DescribeReservedDBInstances" // DescribeReservedDBInstancesRequest generates a "aws/request.Request" representing the // client's request for the DescribeReservedDBInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeReservedDBInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeReservedDBInstances method directly -// instead. +// See DescribeReservedDBInstances for more information on using the DescribeReservedDBInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeReservedDBInstancesRequest method. // req, resp := client.DescribeReservedDBInstancesRequest(params) @@ -6114,19 +6007,18 @@ const opDescribeReservedDBInstancesOfferings = "DescribeReservedDBInstancesOffer // DescribeReservedDBInstancesOfferingsRequest generates a "aws/request.Request" representing the // client's request for the DescribeReservedDBInstancesOfferings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeReservedDBInstancesOfferings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeReservedDBInstancesOfferings method directly -// instead. +// See DescribeReservedDBInstancesOfferings for more information on using the DescribeReservedDBInstancesOfferings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeReservedDBInstancesOfferingsRequest method. // req, resp := client.DescribeReservedDBInstancesOfferingsRequest(params) @@ -6250,19 +6142,18 @@ const opDescribeSourceRegions = "DescribeSourceRegions" // DescribeSourceRegionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeSourceRegions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSourceRegions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSourceRegions method directly -// instead. +// See DescribeSourceRegions for more information on using the DescribeSourceRegions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSourceRegionsRequest method. // req, resp := client.DescribeSourceRegionsRequest(params) @@ -6291,7 +6182,7 @@ func (c *RDS) DescribeSourceRegionsRequest(input *DescribeSourceRegionsInput) (r // DescribeSourceRegions API operation for Amazon Relational Database Service. // -// Returns a list of the source AWS regions where the current AWS region can +// Returns a list of the source AWS regions where the current AWS Region can // create a Read Replica or copy a DB snapshot from. This API action supports // pagination. // @@ -6327,19 +6218,18 @@ const opDownloadDBLogFilePortion = "DownloadDBLogFilePortion" // DownloadDBLogFilePortionRequest generates a "aws/request.Request" representing the // client's request for the DownloadDBLogFilePortion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DownloadDBLogFilePortion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DownloadDBLogFilePortion method directly -// instead. +// See DownloadDBLogFilePortion for more information on using the DownloadDBLogFilePortion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DownloadDBLogFilePortionRequest method. // req, resp := client.DownloadDBLogFilePortionRequest(params) @@ -6466,19 +6356,18 @@ const opFailoverDBCluster = "FailoverDBCluster" // FailoverDBClusterRequest generates a "aws/request.Request" representing the // client's request for the FailoverDBCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See FailoverDBCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the FailoverDBCluster method directly -// instead. +// See FailoverDBCluster for more information on using the FailoverDBCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the FailoverDBClusterRequest method. // req, resp := client.FailoverDBClusterRequest(params) @@ -6565,19 +6454,18 @@ const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the // client's request for the ListTagsForResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTagsForResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTagsForResource method directly -// instead. +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTagsForResourceRequest method. // req, resp := client.ListTagsForResourceRequest(params) @@ -6654,19 +6542,18 @@ const opModifyDBCluster = "ModifyDBCluster" // ModifyDBClusterRequest generates a "aws/request.Request" representing the // client's request for the ModifyDBCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyDBCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyDBCluster method directly -// instead. +// See ModifyDBCluster for more information on using the ModifyDBCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyDBClusterRequest method. // req, resp := client.ModifyDBClusterRequest(params) @@ -6772,19 +6659,18 @@ const opModifyDBClusterParameterGroup = "ModifyDBClusterParameterGroup" // ModifyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the // client's request for the ModifyDBClusterParameterGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyDBClusterParameterGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyDBClusterParameterGroup method directly -// instead. +// See ModifyDBClusterParameterGroup for more information on using the ModifyDBClusterParameterGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyDBClusterParameterGroupRequest method. // req, resp := client.ModifyDBClusterParameterGroupRequest(params) @@ -6877,19 +6763,18 @@ const opModifyDBClusterSnapshotAttribute = "ModifyDBClusterSnapshotAttribute" // ModifyDBClusterSnapshotAttributeRequest generates a "aws/request.Request" representing the // client's request for the ModifyDBClusterSnapshotAttribute operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyDBClusterSnapshotAttribute for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyDBClusterSnapshotAttribute method directly -// instead. +// See ModifyDBClusterSnapshotAttribute for more information on using the ModifyDBClusterSnapshotAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyDBClusterSnapshotAttributeRequest method. // req, resp := client.ModifyDBClusterSnapshotAttributeRequest(params) @@ -6980,19 +6865,18 @@ const opModifyDBInstance = "ModifyDBInstance" // ModifyDBInstanceRequest generates a "aws/request.Request" representing the // client's request for the ModifyDBInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyDBInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyDBInstance method directly -// instead. +// See ModifyDBInstance for more information on using the ModifyDBInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyDBInstanceRequest method. // req, resp := client.ModifyDBInstanceRequest(params) @@ -7114,19 +6998,18 @@ const opModifyDBParameterGroup = "ModifyDBParameterGroup" // ModifyDBParameterGroupRequest generates a "aws/request.Request" representing the // client's request for the ModifyDBParameterGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyDBParameterGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyDBParameterGroup method directly -// instead. +// See ModifyDBParameterGroup for more information on using the ModifyDBParameterGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyDBParameterGroupRequest method. // req, resp := client.ModifyDBParameterGroupRequest(params) @@ -7216,19 +7099,18 @@ const opModifyDBSnapshot = "ModifyDBSnapshot" // ModifyDBSnapshotRequest generates a "aws/request.Request" representing the // client's request for the ModifyDBSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyDBSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyDBSnapshot method directly -// instead. +// See ModifyDBSnapshot for more information on using the ModifyDBSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyDBSnapshotRequest method. // req, resp := client.ModifyDBSnapshotRequest(params) @@ -7258,11 +7140,9 @@ func (c *RDS) ModifyDBSnapshotRequest(input *ModifyDBSnapshotInput) (req *reques // ModifyDBSnapshot API operation for Amazon Relational Database Service. // // Updates a manual DB snapshot, which can be encrypted or not encrypted, with -// a new engine version. You can update the engine version to either a new major -// or minor engine version. +// a new engine version. // -// Amazon RDS supports upgrading a MySQL DB snapshot from MySQL 5.1 to MySQL -// 5.5. +// Amazon RDS supports upgrading DB snapshots for MySQL and Oracle. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -7301,19 +7181,18 @@ const opModifyDBSnapshotAttribute = "ModifyDBSnapshotAttribute" // ModifyDBSnapshotAttributeRequest generates a "aws/request.Request" representing the // client's request for the ModifyDBSnapshotAttribute operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyDBSnapshotAttribute for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyDBSnapshotAttribute method directly -// instead. +// See ModifyDBSnapshotAttribute for more information on using the ModifyDBSnapshotAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyDBSnapshotAttributeRequest method. // req, resp := client.ModifyDBSnapshotAttributeRequest(params) @@ -7404,19 +7283,18 @@ const opModifyDBSubnetGroup = "ModifyDBSubnetGroup" // ModifyDBSubnetGroupRequest generates a "aws/request.Request" representing the // client's request for the ModifyDBSubnetGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyDBSubnetGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyDBSubnetGroup method directly -// instead. +// See ModifyDBSubnetGroup for more information on using the ModifyDBSubnetGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyDBSubnetGroupRequest method. // req, resp := client.ModifyDBSubnetGroupRequest(params) @@ -7446,7 +7324,7 @@ func (c *RDS) ModifyDBSubnetGroupRequest(input *ModifyDBSubnetGroupInput) (req * // ModifyDBSubnetGroup API operation for Amazon Relational Database Service. // // Modifies an existing DB subnet group. DB subnet groups must contain at least -// one subnet in at least two AZs in the region. +// one subnet in at least two AZs in the AWS Region. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -7500,19 +7378,18 @@ const opModifyEventSubscription = "ModifyEventSubscription" // ModifyEventSubscriptionRequest generates a "aws/request.Request" representing the // client's request for the ModifyEventSubscription operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyEventSubscription for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyEventSubscription method directly -// instead. +// See ModifyEventSubscription for more information on using the ModifyEventSubscription +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyEventSubscriptionRequest method. // req, resp := client.ModifyEventSubscriptionRequest(params) @@ -7603,19 +7480,18 @@ const opModifyOptionGroup = "ModifyOptionGroup" // ModifyOptionGroupRequest generates a "aws/request.Request" representing the // client's request for the ModifyOptionGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyOptionGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyOptionGroup method directly -// instead. +// See ModifyOptionGroup for more information on using the ModifyOptionGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyOptionGroupRequest method. // req, resp := client.ModifyOptionGroupRequest(params) @@ -7686,19 +7562,18 @@ const opPromoteReadReplica = "PromoteReadReplica" // PromoteReadReplicaRequest generates a "aws/request.Request" representing the // client's request for the PromoteReadReplica operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PromoteReadReplica for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PromoteReadReplica method directly -// instead. +// See PromoteReadReplica for more information on using the PromoteReadReplica +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PromoteReadReplicaRequest method. // req, resp := client.PromoteReadReplicaRequest(params) @@ -7774,19 +7649,18 @@ const opPromoteReadReplicaDBCluster = "PromoteReadReplicaDBCluster" // PromoteReadReplicaDBClusterRequest generates a "aws/request.Request" representing the // client's request for the PromoteReadReplicaDBCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PromoteReadReplicaDBCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PromoteReadReplicaDBCluster method directly -// instead. +// See PromoteReadReplicaDBCluster for more information on using the PromoteReadReplicaDBCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PromoteReadReplicaDBClusterRequest method. // req, resp := client.PromoteReadReplicaDBClusterRequest(params) @@ -7857,19 +7731,18 @@ const opPurchaseReservedDBInstancesOffering = "PurchaseReservedDBInstancesOfferi // PurchaseReservedDBInstancesOfferingRequest generates a "aws/request.Request" representing the // client's request for the PurchaseReservedDBInstancesOffering operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PurchaseReservedDBInstancesOffering for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PurchaseReservedDBInstancesOffering method directly -// instead. +// See PurchaseReservedDBInstancesOffering for more information on using the PurchaseReservedDBInstancesOffering +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PurchaseReservedDBInstancesOfferingRequest method. // req, resp := client.PurchaseReservedDBInstancesOfferingRequest(params) @@ -7943,19 +7816,18 @@ const opRebootDBInstance = "RebootDBInstance" // RebootDBInstanceRequest generates a "aws/request.Request" representing the // client's request for the RebootDBInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RebootDBInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RebootDBInstance method directly -// instead. +// See RebootDBInstance for more information on using the RebootDBInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RebootDBInstanceRequest method. // req, resp := client.RebootDBInstanceRequest(params) @@ -8042,19 +7914,18 @@ const opRemoveRoleFromDBCluster = "RemoveRoleFromDBCluster" // RemoveRoleFromDBClusterRequest generates a "aws/request.Request" representing the // client's request for the RemoveRoleFromDBCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveRoleFromDBCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveRoleFromDBCluster method directly -// instead. +// See RemoveRoleFromDBCluster for more information on using the RemoveRoleFromDBCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveRoleFromDBClusterRequest method. // req, resp := client.RemoveRoleFromDBClusterRequest(params) @@ -8133,19 +8004,18 @@ const opRemoveSourceIdentifierFromSubscription = "RemoveSourceIdentifierFromSubs // RemoveSourceIdentifierFromSubscriptionRequest generates a "aws/request.Request" representing the // client's request for the RemoveSourceIdentifierFromSubscription operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveSourceIdentifierFromSubscription for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveSourceIdentifierFromSubscription method directly -// instead. +// See RemoveSourceIdentifierFromSubscription for more information on using the RemoveSourceIdentifierFromSubscription +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveSourceIdentifierFromSubscriptionRequest method. // req, resp := client.RemoveSourceIdentifierFromSubscriptionRequest(params) @@ -8216,19 +8086,18 @@ const opRemoveTagsFromResource = "RemoveTagsFromResource" // RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the // client's request for the RemoveTagsFromResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveTagsFromResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveTagsFromResource method directly -// instead. +// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveTagsFromResourceRequest method. // req, resp := client.RemoveTagsFromResourceRequest(params) @@ -8307,19 +8176,18 @@ const opResetDBClusterParameterGroup = "ResetDBClusterParameterGroup" // ResetDBClusterParameterGroupRequest generates a "aws/request.Request" representing the // client's request for the ResetDBClusterParameterGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ResetDBClusterParameterGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ResetDBClusterParameterGroup method directly -// instead. +// See ResetDBClusterParameterGroup for more information on using the ResetDBClusterParameterGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ResetDBClusterParameterGroupRequest method. // req, resp := client.ResetDBClusterParameterGroupRequest(params) @@ -8404,19 +8272,18 @@ const opResetDBParameterGroup = "ResetDBParameterGroup" // ResetDBParameterGroupRequest generates a "aws/request.Request" representing the // client's request for the ResetDBParameterGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ResetDBParameterGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ResetDBParameterGroup method directly -// instead. +// See ResetDBParameterGroup for more information on using the ResetDBParameterGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ResetDBParameterGroupRequest method. // req, resp := client.ResetDBParameterGroupRequest(params) @@ -8495,19 +8362,18 @@ const opRestoreDBClusterFromS3 = "RestoreDBClusterFromS3" // RestoreDBClusterFromS3Request generates a "aws/request.Request" representing the // client's request for the RestoreDBClusterFromS3 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RestoreDBClusterFromS3 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RestoreDBClusterFromS3 method directly -// instead. +// See RestoreDBClusterFromS3 for more information on using the RestoreDBClusterFromS3 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RestoreDBClusterFromS3Request method. // req, resp := client.RestoreDBClusterFromS3Request(params) @@ -8623,19 +8489,18 @@ const opRestoreDBClusterFromSnapshot = "RestoreDBClusterFromSnapshot" // RestoreDBClusterFromSnapshotRequest generates a "aws/request.Request" representing the // client's request for the RestoreDBClusterFromSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RestoreDBClusterFromSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RestoreDBClusterFromSnapshot method directly -// instead. +// See RestoreDBClusterFromSnapshot for more information on using the RestoreDBClusterFromSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RestoreDBClusterFromSnapshotRequest method. // req, resp := client.RestoreDBClusterFromSnapshotRequest(params) @@ -8664,10 +8529,15 @@ func (c *RDS) RestoreDBClusterFromSnapshotRequest(input *RestoreDBClusterFromSna // RestoreDBClusterFromSnapshot API operation for Amazon Relational Database Service. // -// Creates a new DB cluster from a DB cluster snapshot. The target DB cluster -// is created from the source DB cluster restore point with the same configuration -// as the original source DB cluster, except that the new DB cluster is created -// with the default security group. +// Creates a new DB cluster from a DB snapshot or DB cluster snapshot. +// +// If a DB snapshot is specified, the target DB cluster is created from the +// source DB snapshot with a default configuration and default security group. +// +// If a DB cluster snapshot is specified, the target DB cluster is created from +// the source DB cluster restore point with the same configuration as the original +// source DB cluster, except that the new DB cluster is created with the default +// security group. // // For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) // in the Amazon RDS User Guide. @@ -8764,19 +8634,18 @@ const opRestoreDBClusterToPointInTime = "RestoreDBClusterToPointInTime" // RestoreDBClusterToPointInTimeRequest generates a "aws/request.Request" representing the // client's request for the RestoreDBClusterToPointInTime operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RestoreDBClusterToPointInTime for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RestoreDBClusterToPointInTime method directly -// instead. +// See RestoreDBClusterToPointInTime for more information on using the RestoreDBClusterToPointInTime +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RestoreDBClusterToPointInTimeRequest method. // req, resp := client.RestoreDBClusterToPointInTimeRequest(params) @@ -8811,6 +8680,13 @@ func (c *RDS) RestoreDBClusterToPointInTimeRequest(input *RestoreDBClusterToPoin // same configuration as the original DB cluster, except that the new DB cluster // is created with the default DB security group. // +// This action only restores the DB cluster, not the DB instances for that DB +// cluster. You must invoke the CreateDBInstance action to create DB instances +// for the restored DB cluster, specifying the identifier of the restored DB +// cluster in DBClusterIdentifier. You can create DB instances only after the +// RestoreDBClusterToPointInTime action has completed and the DB cluster is +// available. +// // For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) // in the Amazon RDS User Guide. // @@ -8902,19 +8778,18 @@ const opRestoreDBInstanceFromDBSnapshot = "RestoreDBInstanceFromDBSnapshot" // RestoreDBInstanceFromDBSnapshotRequest generates a "aws/request.Request" representing the // client's request for the RestoreDBInstanceFromDBSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RestoreDBInstanceFromDBSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RestoreDBInstanceFromDBSnapshot method directly -// instead. +// See RestoreDBInstanceFromDBSnapshot for more information on using the RestoreDBInstanceFromDBSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RestoreDBInstanceFromDBSnapshotRequest method. // req, resp := client.RestoreDBInstanceFromDBSnapshotRequest(params) @@ -9060,19 +8935,18 @@ const opRestoreDBInstanceToPointInTime = "RestoreDBInstanceToPointInTime" // RestoreDBInstanceToPointInTimeRequest generates a "aws/request.Request" representing the // client's request for the RestoreDBInstanceToPointInTime operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RestoreDBInstanceToPointInTime for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RestoreDBInstanceToPointInTime method directly -// instead. +// See RestoreDBInstanceToPointInTime for more information on using the RestoreDBInstanceToPointInTime +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RestoreDBInstanceToPointInTimeRequest method. // req, resp := client.RestoreDBInstanceToPointInTimeRequest(params) @@ -9215,19 +9089,18 @@ const opRevokeDBSecurityGroupIngress = "RevokeDBSecurityGroupIngress" // RevokeDBSecurityGroupIngressRequest generates a "aws/request.Request" representing the // client's request for the RevokeDBSecurityGroupIngress operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RevokeDBSecurityGroupIngress for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RevokeDBSecurityGroupIngress method directly -// instead. +// See RevokeDBSecurityGroupIngress for more information on using the RevokeDBSecurityGroupIngress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RevokeDBSecurityGroupIngressRequest method. // req, resp := client.RevokeDBSecurityGroupIngressRequest(params) @@ -9308,19 +9181,18 @@ const opStartDBInstance = "StartDBInstance" // StartDBInstanceRequest generates a "aws/request.Request" representing the // client's request for the StartDBInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartDBInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartDBInstance method directly -// instead. +// See StartDBInstance for more information on using the StartDBInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartDBInstanceRequest method. // req, resp := client.StartDBInstanceRequest(params) @@ -9428,19 +9300,18 @@ const opStopDBInstance = "StopDBInstance" // StopDBInstanceRequest generates a "aws/request.Request" representing the // client's request for the StopDBInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StopDBInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StopDBInstance method directly -// instead. +// See StopDBInstance for more information on using the StopDBInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StopDBInstanceRequest method. // req, resp := client.StopDBInstanceRequest(params) @@ -10166,12 +10037,12 @@ type CopyDBClusterParameterGroupInput struct { // // * Must specify a valid DB cluster parameter group. // - // * If the source DB cluster parameter group is in the same region as the - // copy, specify a valid DB parameter group identifier, for example my-db-cluster-param-group, + // * If the source DB cluster parameter group is in the same AWS Region as + // the copy, specify a valid DB parameter group identifier, for example my-db-cluster-param-group, // or a valid ARN. // - // * If the source DB parameter group is in a different region than the copy, - // specify a valid DB cluster parameter group ARN, for example arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1. + // * If the source DB parameter group is in a different AWS Region than the + // copy, specify a valid DB cluster parameter group ARN, for example arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1. // // SourceDBClusterParameterGroupIdentifier is a required field SourceDBClusterParameterGroupIdentifier *string `type:"string" required:"true"` @@ -10311,38 +10182,38 @@ type CopyDBClusterSnapshotInput struct { // If you copy an encrypted DB cluster snapshot that is shared from another // AWS account, then you must specify a value for KmsKeyId. // - // To copy an encrypted DB cluster snapshot to another region, you must set - // KmsKeyId to the KMS key ID you want to use to encrypt the copy of the DB - // cluster snapshot in the destination region. KMS encryption keys are specific - // to the region that they are created in, and you cannot use encryption keys - // from one region in another region. + // To copy an encrypted DB cluster snapshot to another AWS Region, you must + // set KmsKeyId to the KMS key ID you want to use to encrypt the copy of the + // DB cluster snapshot in the destination AWS Region. KMS encryption keys are + // specific to the AWS Region that they are created in, and you cannot use encryption + // keys from one AWS Region in another AWS Region. KmsKeyId *string `type:"string"` // The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot - // API action in the AWS region that contains the source DB cluster snapshot + // API action in the AWS Region that contains the source DB cluster snapshot // to copy. The PreSignedUrl parameter must be used when copying an encrypted - // DB cluster snapshot from another AWS region. + // DB cluster snapshot from another AWS Region. // // The pre-signed URL must be a valid request for the CopyDBSClusterSnapshot - // API action that can be executed in the source region that contains the encrypted - // DB cluster snapshot to be copied. The pre-signed URL request must contain - // the following parameter values: + // API action that can be executed in the source AWS Region that contains the + // encrypted DB cluster snapshot to be copied. The pre-signed URL request must + // contain the following parameter values: // // * KmsKeyId - The KMS key identifier for the key to use to encrypt the - // copy of the DB cluster snapshot in the destination region. This is the - // same identifier for both the CopyDBClusterSnapshot action that is called - // in the destination region, and the action contained in the pre-signed - // URL. + // copy of the DB cluster snapshot in the destination AWS Region. This is + // the same identifier for both the CopyDBClusterSnapshot action that is + // called in the destination AWS Region, and the action contained in the + // pre-signed URL. // - // * DestinationRegion - The name of the region that the DB cluster snapshot + // * DestinationRegion - The name of the AWS Region that the DB cluster snapshot // will be created in. // // * SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier // for the encrypted DB cluster snapshot to be copied. This identifier must - // be in the Amazon Resource Name (ARN) format for the source region. For - // example, if you are copying an encrypted DB cluster snapshot from the - // us-west-2 region, then your SourceDBClusterSnapshotIdentifier looks like - // the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115. + // be in the Amazon Resource Name (ARN) format for the source AWS Region. + // For example, if you are copying an encrypted DB cluster snapshot from + // the us-west-2 region, then your SourceDBClusterSnapshotIdentifier looks + // like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115. // // To learn how to generate a Signature Version 4 signed request, see Authenticating // Requests: Using Query Parameters (AWS Signature Version 4) (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html) @@ -10352,7 +10223,7 @@ type CopyDBClusterSnapshotInput struct { // The identifier of the DB cluster snapshot to copy. This parameter is not // case-sensitive. // - // You cannot copy an encrypted, shared DB cluster snapshot from one AWS region + // You cannot copy an encrypted, shared DB cluster snapshot from one AWS Region // to another. // // Constraints: @@ -10365,10 +10236,10 @@ type CopyDBClusterSnapshotInput struct { // // * Must specify a valid system snapshot in the "available" state. // - // * If the source snapshot is in the same region as the copy, specify a - // valid DB snapshot identifier. + // * If the source snapshot is in the same AWS Region as the copy, specify + // a valid DB snapshot identifier. // - // * If the source snapshot is in a different region than the copy, specify + // * If the source snapshot is in a different AWS Region than the copy, specify // a valid DB cluster snapshot ARN. For more information, go to Copying // a DB Snapshot or DB Cluster Snapshot (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html). // @@ -10658,54 +10529,53 @@ type CopyDBSnapshotInput struct { // If you specify this parameter when you copy an unencrypted snapshot, the // copy is encrypted. // - // If you copy an encrypted snapshot to a different AWS region, then you must - // specify a KMS key for the destination AWS region. KMS encryption keys are - // specific to the region that they are created in, and you cannot use encryption - // keys from one region in another region. + // If you copy an encrypted snapshot to a different AWS Region, then you must + // specify a KMS key for the destination AWS Region. KMS encryption keys are + // specific to the AWS Region that they are created in, and you cannot use encryption + // keys from one AWS Region in another AWS Region. KmsKeyId *string `type:"string"` - // The name of an option group to associate with the copy. + // The name of an option group to associate with the copy of the snapshot. // - // Specify this option if you are copying a snapshot from one AWS region to - // another, and your DB instance uses a non-default option group. If your source + // Specify this option if you are copying a snapshot from one AWS Region to + // another, and your DB instance uses a nondefault option group. If your source // DB instance uses Transparent Data Encryption for Oracle or Microsoft SQL // Server, you must specify this option when copying across regions. For more // information, see Option Group Considerations (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html#USER_CopySnapshot.Options). OptionGroupName *string `type:"string"` // The URL that contains a Signature Version 4 signed request for the CopyDBSnapshot - // API action in the source AWS region that contains the source DB snapshot + // API action in the source AWS Region that contains the source DB snapshot // to copy. // // You must specify this parameter when you copy an encrypted DB snapshot from - // another AWS region by using the Amazon RDS API. You can specify the source + // another AWS Region by using the Amazon RDS API. You can specify the source // region option instead of this parameter when you copy an encrypted DB snapshot - // from another AWS region by using the AWS CLI. + // from another AWS Region by using the AWS CLI. // // The presigned URL must be a valid request for the CopyDBSnapshot API action - // that can be executed in the source region that contains the encrypted DB - // snapshot to be copied. The presigned URL request must contain the following + // that can be executed in the source AWS Region that contains the encrypted + // DB snapshot to be copied. The presigned URL request must contain the following // parameter values: // // * DestinationRegion - The AWS Region that the encrypted DB snapshot will - // be copied to. This region is the same one where the CopyDBSnapshot action - // is called that contains this presigned URL. + // be copied to. This AWS Region is the same one where the CopyDBSnapshot + // action is called that contains this presigned URL. // // For example, if you copy an encrypted DB snapshot from the us-west-2 region - // to the us-east-1 region, then you will call the CopyDBSnapshot action - // in the us-east-1 region and provide a presigned URL that contains a call - // to the CopyDBSnapshot action in the us-west-2 region. For this example, - // the DestinationRegion in the presigned URL must be set to the us-east-1 - // region. + // to the us-east-1 region, then you call the CopyDBSnapshot action in the + // us-east-1 region and provide a presigned URL that contains a call to the + // CopyDBSnapshot action in the us-west-2 region. For this example, the DestinationRegion + // in the presigned URL must be set to the us-east-1 region. // // * KmsKeyId - The KMS key identifier for the key to use to encrypt the - // copy of the DB snapshot in the destination region. This is the same identifier - // for both the CopyDBSnapshot action that is called in the destination region, - // and the action contained in the presigned URL. + // copy of the DB snapshot in the destination AWS Region. This is the same + // identifier for both the CopyDBSnapshot action that is called in the destination + // AWS Region, and the action contained in the presigned URL. // // * SourceDBSnapshotIdentifier - The DB snapshot identifier for the encrypted // snapshot to be copied. This identifier must be in the Amazon Resource - // Name (ARN) format for the source region. For example, if you are copying + // Name (ARN) format for the source AWS Region. For example, if you are copying // an encrypted DB snapshot from the us-west-2 region, then your SourceDBSnapshotIdentifier // looks like the following example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115. // @@ -10717,17 +10587,17 @@ type CopyDBSnapshotInput struct { // The identifier for the source DB snapshot. // - // If the source snapshot is in the same region as the copy, specify a valid - // DB snapshot identifier. For example, rds:mysql-instance1-snapshot-20130805. + // If the source snapshot is in the same AWS Region as the copy, specify a valid + // DB snapshot identifier. For example, you might specify rds:mysql-instance1-snapshot-20130805. // - // If the source snapshot is in a different region than the copy, specify a - // valid DB snapshot ARN. For example, arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805. + // If the source snapshot is in a different AWS Region than the copy, specify + // a valid DB snapshot ARN. For example, you might specify arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805. // // If you are copying from a shared manual DB snapshot, this parameter must // be the Amazon Resource Name (ARN) of the shared DB snapshot. // // If you are copying an encrypted snapshot this parameter must be in the ARN - // format for the source region, and must match the SourceDBSnapshotIdentifier + // format for the source AWS Region, and must match the SourceDBSnapshotIdentifier // in the PreSignedUrl parameter. // // Constraints: @@ -10888,12 +10758,12 @@ type CopyOptionGroupInput struct { // // * Must specify a valid option group. // - // * If the source option group is in the same region as the copy, specify + // * If the source option group is in the same AWS Region as the copy, specify // a valid option group identifier, for example my-option-group, or a valid // ARN. // - // * If the source option group is in a different region than the copy, specify - // a valid option group ARN, for example arn:aws:rds:us-west-2:123456789012:og:special-options. + // * If the source option group is in a different AWS Region than the copy, + // specify a valid option group ARN, for example arn:aws:rds:us-west-2:123456789012:og:special-options. // // SourceOptionGroupIdentifier is a required field SourceOptionGroupIdentifier *string `type:"string" required:"true"` @@ -11093,14 +10963,21 @@ type CreateDBClusterInput struct { // the KMS encryption key used to encrypt the new DB cluster, then you can use // the KMS key alias instead of the ARN for the KMS encryption key. // - // If the StorageEncrypted parameter is true, and you do not specify a value - // for the KmsKeyId parameter, then Amazon RDS will use your default encryption - // key. AWS KMS creates the default encryption key for your AWS account. Your - // AWS account has a different default encryption key for each AWS region. + // If an encryption key is not specified in KmsKeyId: // - // If you create a Read Replica of an encrypted DB cluster in another region, - // you must set KmsKeyId to a KMS key ID that is valid in the destination region. - // This key is used to encrypt the Read Replica in that region. + // * If ReplicationSourceIdentifier identifies an encrypted source, then + // Amazon RDS will use the encryption key used to encrypt the source. Otherwise, + // Amazon RDS will use your default encryption key. + // + // * If the StorageEncrypted parameter is true and ReplicationSourceIdentifier + // is not specified, then Amazon RDS will use your default encryption key. + // + // AWS KMS creates the default encryption key for your AWS account. Your AWS + // account has a different default encryption key for each AWS Region. + // + // If you create a Read Replica of an encrypted DB cluster in another AWS Region, + // you must set KmsKeyId to a KMS key ID that is valid in the destination AWS + // Region. This key is used to encrypt the Read Replica in that AWS Region. KmsKeyId *string `type:"string"` // The password for the master database user. This password can contain any @@ -11133,27 +11010,28 @@ type CreateDBClusterInput struct { Port *int64 `type:"integer"` // A URL that contains a Signature Version 4 signed request for the CreateDBCluster - // action to be called in the source region where the DB cluster will be replicated - // from. You only need to specify PreSignedUrl when you are performing cross-region - // replication from an encrypted DB cluster. + // action to be called in the source AWS Region where the DB cluster will be + // replicated from. You only need to specify PreSignedUrl when you are performing + // cross-region replication from an encrypted DB cluster. // // The pre-signed URL must be a valid request for the CreateDBCluster API action - // that can be executed in the source region that contains the encrypted DB - // cluster to be copied. + // that can be executed in the source AWS Region that contains the encrypted + // DB cluster to be copied. // // The pre-signed URL request must contain the following parameter values: // // * KmsKeyId - The KMS key identifier for the key to use to encrypt the - // copy of the DB cluster in the destination region. This should refer to - // the same KMS key for both the CreateDBCluster action that is called in - // the destination region, and the action contained in the pre-signed URL. + // copy of the DB cluster in the destination AWS Region. This should refer + // to the same KMS key for both the CreateDBCluster action that is called + // in the destination AWS Region, and the action contained in the pre-signed + // URL. // - // * DestinationRegion - The name of the region that Aurora Read Replica + // * DestinationRegion - The name of the AWS Region that Aurora Read Replica // will be created in. // // * ReplicationSourceIdentifier - The DB cluster identifier for the encrypted // DB cluster to be copied. This identifier must be in the Amazon Resource - // Name (ARN) format for the source region. For example, if you are copying + // Name (ARN) format for the source AWS Region. For example, if you are copying // an encrypted DB cluster from the us-west-2 region, then your ReplicationSourceIdentifier // would look like Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1. // @@ -11166,7 +11044,7 @@ type CreateDBClusterInput struct { // backups are enabled using the BackupRetentionPeriod parameter. // // Default: A 30-minute window selected at random from an 8-hour block of time - // per region. To see the time blocks available, see Adjusting the Preferred + // per AWS Region. To see the time blocks available, see Adjusting the Preferred // Maintenance Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html) // in the Amazon RDS User Guide. // @@ -11187,7 +11065,7 @@ type CreateDBClusterInput struct { // Format: ddd:hh24:mi-ddd:hh24:mi // // Default: A 30-minute window selected at random from an 8-hour block of time - // per region, occurring on a random day of the week. To see the time blocks + // per AWS Region, occurring on a random day of the week. To see the time blocks // available, see Adjusting the Preferred Maintenance Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html) // in the Amazon RDS User Guide. // @@ -11673,24 +11551,65 @@ type CreateDBInstanceInput struct { // // MySQL // - // Constraints: Must be an integer from 5 to 6144. + // Constraints to the amount of storage for each storage type are the following: + // + // * General Purpose (SSD) storage (gp2): Must be an integer from 5 to 6144. + // + // * Provisioned IOPS storage (io1): Must be an integer from 100 to 6144. + // + // * Magnetic storage (standard): Must be an integer from 5 to 3072. // // MariaDB // - // Constraints: Must be an integer from 5 to 6144. + // Constraints to the amount of storage for each storage type are the following: + // + // * General Purpose (SSD) storage (gp2): Must be an integer from 5 to 6144. + // + // * Provisioned IOPS storage (io1): Must be an integer from 100 to 6144. + // + // * Magnetic storage (standard): Must be an integer from 5 to 3072. // // PostgreSQL // - // Constraints: Must be an integer from 5 to 6144. + // Constraints to the amount of storage for each storage type are the following: + // + // * General Purpose (SSD) storage (gp2): Must be an integer from 5 to 6144. + // + // * Provisioned IOPS storage (io1): Must be an integer from 100 to 6144. + // + // * Magnetic storage (standard): Must be an integer from 5 to 3072. // // Oracle // - // Constraints: Must be an integer from 10 to 6144. + // Constraints to the amount of storage for each storage type are the following: + // + // * General Purpose (SSD) storage (gp2): Must be an integer from 10 to 6144. + // + // * Provisioned IOPS storage (io1): Must be an integer from 100 to 6144. + // + // * Magnetic storage (standard): Must be an integer from 10 to 3072. // // SQL Server // - // Constraints: Must be an integer from 200 to 4096 (Standard Edition and Enterprise - // Edition) or from 20 to 4096 (Express Edition and Web Edition) + // Constraints to the amount of storage for each storage type are the following: + // + // * General Purpose (SSD) storage (gp2): + // + // Enterprise and Standard editions: Must be an integer from 200 to 16384. + // + // Web and Express editions: Must be an integer from 20 to 16384. + // + // * Provisioned IOPS storage (io1): + // + // Enterprise and Standard editions: Must be an integer from 200 to 16384. + // + // Web and Express editions: Must be an integer from 100 to 16384. + // + // * Magnetic storage (standard): + // + // Enterprise and Standard editions: Must be an integer from 200 to 1024. + // + // Web and Express editions: Must be an integer from 20 to 1024. AllocatedStorage *int64 `type:"integer"` // Indicates that minor engine upgrades will be applied automatically to the @@ -11703,19 +11622,25 @@ type CreateDBInstanceInput struct { // For information on regions and Availability Zones, see Regions and Availability // Zones (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html). // - // Default: A random, system-chosen Availability Zone in the endpoint's region. + // Default: A random, system-chosen Availability Zone in the endpoint's AWS + // Region. // // Example: us-east-1d // // Constraint: The AvailabilityZone parameter cannot be specified if the MultiAZ // parameter is set to true. The specified Availability Zone must be in the - // same region as the current endpoint. + // same AWS Region as the current endpoint. AvailabilityZone *string `type:"string"` // The number of days for which automated backups are retained. Setting this // parameter to a positive number enables backups. Setting this parameter to // 0 disables automated backups. // + // Amazon Aurora + // + // Not applicable. The retention period for automated backups is managed by + // the DB cluster. For more information, see CreateDBCluster. + // // Default: 1 // // Constraints: @@ -11727,6 +11652,11 @@ type CreateDBInstanceInput struct { // For supported engines, indicates that the DB instance should be associated // with the specified CharacterSet. + // + // Amazon Aurora + // + // Not applicable. The character set is managed by the DB cluster. For more + // information, see CreateDBCluster. CharacterSetName *string `type:"string"` // True to copy all tags from the DB instance to snapshots of the DB instance; @@ -11757,8 +11687,7 @@ type CreateDBInstanceInput struct { // // Constraints: // - // * Must contain from 1 to 63 alphanumeric characters or hyphens (1 to 15 - // for SQL Server). + // * Must contain from 1 to 63 alphanumeric characters or hyphens. // // * First character must be a letter. // @@ -11875,6 +11804,13 @@ type CreateDBInstanceInput struct { // // You can enable IAM database authentication for the following database engines: // + // Amazon Aurora + // + // Not applicable. Mapping AWS IAM accounts to database accounts is managed + // by the DB cluster. For more information, see CreateDBCluster. + // + // MySQL + // // * For MySQL 5.6, minor version 5.6.34 or higher // // * For MySQL 5.7, minor version 5.7.16 or higher @@ -11882,9 +11818,11 @@ type CreateDBInstanceInput struct { // Default: false EnableIAMDatabaseAuthentication *bool `type:"boolean"` + EnablePerformanceInsights *bool `type:"boolean"` + // The name of the database engine to be used for this instance. // - // Not every database engine is available for every AWS region. + // Not every database engine is available for every AWS Region. // // Valid Values: // @@ -11919,21 +11857,24 @@ type CreateDBInstanceInput struct { // // The following are the database engines and major and minor versions that // are available with Amazon RDS. Not every database engine is available for - // every AWS region. + // every AWS Region. // // Amazon Aurora // - // * Version 5.6 (available in these AWS regions: ap-northeast-1, ap-northeast-2, - // ap-south-1, ap-southeast-2, eu-west-1, us-east-1, us-east-2, us-west-2): - // 5.6.10a + // Not applicable. The version number of the database engine to be used by the + // DB instance is managed by the DB cluster. For more information, see CreateDBCluster. // // MariaDB // + // * 10.1.23 (supported in all AWS regions) + // // * 10.1.19 (supported in all AWS regions) // // * 10.1.14 (supported in all regions except us-east-2) // - // 10.0.28 (supported in all AWS regions) + // 10.0.31 (supported in all AWS regions) + // + // * 10.0.28 (supported in all AWS regions) // // * 10.0.24 (supported in all AWS regions) // @@ -11985,8 +11926,6 @@ type CreateDBInstanceInput struct { // // * 5.7.11 (supported in all AWS regions) // - // * 5.7.10 (supported in all regions except us-east-2, ca-central-1, eu-west-2) - // // * 5.6.35 (supported in all AWS regions) // // * 5.6.34 (supported in all AWS regions) @@ -11995,24 +11934,6 @@ type CreateDBInstanceInput struct { // // * 5.6.27 (supported in all regions except us-east-2, ca-central-1, eu-west-2) // - // * 5.6.23 (supported in all regions except us-east-2, ap-south-1, ca-central-1, - // eu-west-2) - // - // * 5.6.22 (supported in all regions except us-east-2, ap-south-1, ap-northeast-2, - // ca-central-1, eu-west-2) - // - // * 5.6.21b (supported in all regions except us-east-2, ap-south-1, ap-northeast-2, - // ca-central-1, eu-west-2) - // - // * 5.6.21 (supported in all regions except us-east-2, ap-south-1, ap-northeast-2, - // ca-central-1, eu-west-2) - // - // * 5.6.19b (supported in all regions except us-east-2, ap-south-1, ap-northeast-2, - // ca-central-1, eu-west-2) - // - // * 5.6.19a (supported in all regions except us-east-2, ap-south-1, ap-northeast-2, - // ca-central-1, eu-west-2) - // // 5.5.54(supported in all AWS regions) // // 5.5.53(supported in all AWS regions) @@ -12063,7 +11984,7 @@ type CreateDBInstanceInput struct { // // PostgreSQL // - // Version 9.6.x: 9.6.1 | 9.6.2 + // Version 9.6.x: 9.6.1 | 9.6.2 | 9.6.3 // // Version 9.5.x:9.5.6 | 9.5.4 | 9.5.2 // @@ -12088,10 +12009,15 @@ type CreateDBInstanceInput struct { // the KMS encryption key used to encrypt the new DB instance, then you can // use the KMS key alias instead of the ARN for the KM encryption key. // + // Amazon Aurora + // + // Not applicable. The KMS key identifier is managed by the DB cluster. For + // more information, see CreateDBCluster. + // // If the StorageEncrypted parameter is true, and you do not specify a value // for the KmsKeyId parameter, then Amazon RDS will use your default encryption // key. AWS KMS creates the default encryption key for your AWS account. Your - // AWS account has a different default encryption key for each AWS region. + // AWS account has a different default encryption key for each AWS Region. KmsKeyId *string `type:"string"` // License model information for this DB instance. @@ -12099,13 +12025,13 @@ type CreateDBInstanceInput struct { // Valid values: license-included | bring-your-own-license | general-public-license LicenseModel *string `type:"string"` - // The password for the master database user. Can be any printable ASCII character - // except "/", """, or "@". + // The password for the master user. Can be any printable ASCII character except + // "/", """, or "@". // // Amazon Aurora // - // Not applicable. You specify the password for the master database user when - // you create your DB cluster. + // Not applicable. The password for the master user is managed by the DB cluster. + // For more information, see CreateDBCluster. // // MariaDB // @@ -12128,12 +12054,12 @@ type CreateDBInstanceInput struct { // Constraints: Must contain from 8 to 128 characters. MasterUserPassword *string `type:"string"` - // The name for the master database user. + // The name for the master user. // // Amazon Aurora // - // Not applicable. You specify the name for the master database user when you - // create your DB cluster. + // Not applicable. The name for the master user is managed by the DB cluster. + // For more information, see CreateDBCluster. // // MariaDB // @@ -12215,6 +12141,8 @@ type CreateDBInstanceInput struct { // from a DB instance once it is associated with a DB instance OptionGroupName *string `type:"string"` + PerformanceInsightsKMSKeyId *string `type:"string"` + // The port number on which the database accepts connections. // // MySQL @@ -12267,8 +12195,13 @@ type CreateDBInstanceInput struct { // backups are enabled, using the BackupRetentionPeriod parameter. For more // information, see DB Instance Backups (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.BackingUpAndRestoringAmazonRDSInstances.html). // + // Amazon Aurora + // + // Not applicable. The daily time range for creating automated backups is managed + // by the DB cluster. For more information, see CreateDBCluster. + // // Default: A 30-minute window selected at random from an 8-hour block of time - // per region. To see the time blocks available, see Adjusting the Preferred + // per AWS Region. To see the time blocks available, see Adjusting the Preferred // DB Instance Maintenance Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow). // // Constraints: @@ -12289,7 +12222,7 @@ type CreateDBInstanceInput struct { // Format: ddd:hh24:mi-ddd:hh24:mi // // Default: A 30-minute window selected at random from an 8-hour block of time - // per region, occurring on a random day of the week. To see the time blocks + // per AWS Region, occurring on a random day of the week. To see the time blocks // available, see Adjusting the Preferred Maintenance Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html) // in the Amazon RDS User Guide. // @@ -12327,6 +12260,11 @@ type CreateDBInstanceInput struct { // Specifies whether the DB instance is encrypted. // + // Amazon Aurora + // + // Not applicable. The encryption for DB instances is managed by the DB cluster. + // For more information, see CreateDBCluster. + // // Default: false StorageEncrypted *bool `type:"boolean"` @@ -12355,6 +12293,11 @@ type CreateDBInstanceInput struct { // A list of EC2 VPC security groups to associate with this DB instance. // + // Amazon Aurora + // + // Not applicable. The associated list of EC2 VPC security groups is managed + // by the DB cluster. For more information, see CreateDBCluster. + // // Default: The default EC2 VPC security group for the DB subnet group's VPC. VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"` } @@ -12484,6 +12427,12 @@ func (s *CreateDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *Crea return s } +// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value. +func (s *CreateDBInstanceInput) SetEnablePerformanceInsights(v bool) *CreateDBInstanceInput { + s.EnablePerformanceInsights = &v + return s +} + // SetEngine sets the Engine field's value. func (s *CreateDBInstanceInput) SetEngine(v string) *CreateDBInstanceInput { s.Engine = &v @@ -12550,6 +12499,12 @@ func (s *CreateDBInstanceInput) SetOptionGroupName(v string) *CreateDBInstanceIn return s } +// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value. +func (s *CreateDBInstanceInput) SetPerformanceInsightsKMSKeyId(v string) *CreateDBInstanceInput { + s.PerformanceInsightsKMSKeyId = &v + return s +} + // SetPort sets the Port field's value. func (s *CreateDBInstanceInput) SetPort(v int64) *CreateDBInstanceInput { s.Port = &v @@ -12670,7 +12625,8 @@ type CreateDBInstanceReadReplicaInput struct { // The Amazon EC2 Availability Zone that the Read Replica will be created in. // - // Default: A random, system-chosen Availability Zone in the endpoint's region. + // Default: A random, system-chosen Availability Zone in the endpoint's AWS + // Region. // // Example: us-east-1d AvailabilityZone *string `type:"string"` @@ -12705,12 +12661,12 @@ type CreateDBInstanceReadReplicaInput struct { // Constraints: // // * Can only be specified if the source DB instance identifier specifies - // a DB instance in another region. + // a DB instance in another AWS Region. // - // * The specified DB subnet group must be in the same region in which the - // operation is running. + // * The specified DB subnet group must be in the same AWS Region in which + // the operation is running. // - // * All Read Replicas in one region that are created from the same source + // * All Read Replicas in one AWS Region that are created from the same source // DB instance must either:> // // Specify DB subnet groups from the same VPC. All these Read Replicas will @@ -12742,6 +12698,8 @@ type CreateDBInstanceReadReplicaInput struct { // Default: false EnableIAMDatabaseAuthentication *bool `type:"boolean"` + EnablePerformanceInsights *bool `type:"boolean"` + // The amount of Provisioned IOPS (input/output operations per second) to be // initially allocated for the DB instance. Iops *int64 `type:"integer"` @@ -12750,19 +12708,17 @@ type CreateDBInstanceReadReplicaInput struct { // Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS // encryption key. // - // If you create an unencrypted Read Replica and specify a value for the KmsKeyId - // parameter, Amazon RDS encrypts the target Read Replica using the specified - // KMS encryption key. + // If you specify this parameter when you create a Read Replica from an unencrypted + // DB instance, the Read Replica is encrypted. // - // If you create an encrypted Read Replica from your AWS account, you can specify - // a value for KmsKeyId to encrypt the Read Replica with a new KMS encryption - // key. If you don't specify a value for KmsKeyId, then the Read Replica is - // encrypted with the same KMS key as the source DB instance. + // If you create an encrypted Read Replica in the same AWS Region as the source + // DB instance, then you do not have to specify a value for this parameter. + // The Read Replica is encrypted with the same KMS key as the source DB instance. // - // If you create an encrypted Read Replica in a different AWS region, then you - // must specify a KMS key for the destination AWS region. KMS encryption keys - // are specific to the region that they are created in, and you cannot use encryption - // keys from one region in another region. + // If you create an encrypted Read Replica in a different AWS Region, then you + // must specify a KMS key for the destination AWS Region. KMS encryption keys + // are specific to the AWS Region that they are created in, and you cannot use + // encryption keys from one AWS Region in another AWS Region. KmsKeyId *string `type:"string"` // The interval, in seconds, between points when Enhanced Monitoring metrics @@ -12788,6 +12744,8 @@ type CreateDBInstanceReadReplicaInput struct { // default option group for the engine specified will be used. OptionGroupName *string `type:"string"` + PerformanceInsightsKMSKeyId *string `type:"string"` + // The port number that the DB instance uses for connections. // // Default: Inherits from the source DB instance @@ -12795,40 +12753,47 @@ type CreateDBInstanceReadReplicaInput struct { // Valid Values: 1150-65535 Port *int64 `type:"integer"` - // The URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica - // API action in the AWS region that contains the source DB instance. The PreSignedUrl - // parameter must be used when encrypting a Read Replica from another AWS region. + // The URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica + // API action in the source AWS Region that contains the source DB instance. + // + // You must specify this parameter when you create an encrypted Read Replica + // from another AWS Region by using the Amazon RDS API. You can specify the + // source region option instead of this parameter when you create an encrypted + // Read Replica from another AWS Region by using the AWS CLI. // // The presigned URL must be a valid request for the CreateDBInstanceReadReplica - // API action that can be executed in the source region that contains the encrypted - // DB instance. The presigned URL request must contain the following parameter - // values: + // API action that can be executed in the source AWS Region that contains the + // encrypted source DB instance. The presigned URL request must contain the + // following parameter values: // - // * DestinationRegion - The AWS Region that the Read Replica is created - // in. This region is the same one where the CreateDBInstanceReadReplica + // * DestinationRegion - The AWS Region that the encrypted Read Replica will + // be created in. This AWS Region is the same one where the CreateDBInstanceReadReplica // action is called that contains this presigned URL. // - // For example, if you create an encrypted Read Replica in the us-east-1 region, - // and the source DB instance is in the west-2 region, then you call the - // CreateDBInstanceReadReplica action in the us-east-1 region and provide - // a presigned URL that contains a call to the CreateDBInstanceReadReplica - // action in the us-west-2 region. For this example, the DestinationRegion - // in the presigned URL must be set to the us-east-1 region. + // For example, if you create an encrypted DB instance in the us-west-1 region, + // from a source DB instance in the us-east-2 region, then you call the CreateDBInstanceReadReplica + // action in the us-east-1 region and provide a presigned URL that contains + // a call to the CreateDBInstanceReadReplica action in the us-west-2 region. + // For this example, the DestinationRegion in the presigned URL must be set + // to the us-east-1 region. // // * KmsKeyId - The KMS key identifier for the key to use to encrypt the - // Read Replica in the destination region. This is the same identifier for - // both the CreateDBInstanceReadReplica action that is called in the destination - // region, and the action contained in the presigned URL. + // Read Replica in the destination AWS Region. This is the same identifier + // for both the CreateDBInstanceReadReplica action that is called in the + // destination AWS Region, and the action contained in the presigned URL. + // // // * SourceDBInstanceIdentifier - The DB instance identifier for the encrypted - // Read Replica to be created. This identifier must be in the Amazon Resource - // Name (ARN) format for the source region. For example, if you create an - // encrypted Read Replica from a DB instance in the us-west-2 region, then - // your SourceDBInstanceIdentifier would look like this example: arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-instance-20161115. + // DB instance to be replicated. This identifier must be in the Amazon Resource + // Name (ARN) format for the source AWS Region. For example, if you are creating + // an encrypted Read Replica from a DB instance in the us-west-2 region, + // then your SourceDBInstanceIdentifier looks like the following example: + // arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115. // - // To learn how to generate a Signature Version 4 signed request, see Authenticating + // + // To learn how to generate a Signature Version 4 signed request, see Authenticating // Requests: Using Query Parameters (AWS Signature Version 4) (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html) - // and Signature Version 4 Signing Process (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). + // and Signature Version 4 Signing Process (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). PreSignedUrl *string `type:"string"` // Specifies the accessibility options for the DB instance. A value of true @@ -12861,17 +12826,18 @@ type CreateDBInstanceReadReplicaInput struct { // is running MySQL 5.6. // // * Can specify a DB instance that is a PostgreSQL DB instance only if the - // source is running PostgreSQL 9.3.5 or later. + // source is running PostgreSQL 9.3.5 or later (9.4.7 and higher for cross + // region replication). // // * The specified DB instance must have automatic backups enabled, its backup // retention period must be greater than 0. // - // * If the source DB instance is in the same region as the Read Replica, + // * If the source DB instance is in the same AWS Region as the Read Replica, // specify a valid DB instance identifier. // - // * If the source DB instance is in a different region than the Read Replica, - // specify a valid DB instance ARN. For more information, go to Constructing - // a Amazon RDS Amazon Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing). + // * If the source DB instance is in a different AWS Region than the Read + // Replica, specify a valid DB instance ARN. For more information, go to + // Constructing a Amazon RDS Amazon Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing). // // SourceDBInstanceIdentifier is a required field SourceDBInstanceIdentifier *string `type:"string" required:"true"` @@ -12968,6 +12934,12 @@ func (s *CreateDBInstanceReadReplicaInput) SetEnableIAMDatabaseAuthentication(v return s } +// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value. +func (s *CreateDBInstanceReadReplicaInput) SetEnablePerformanceInsights(v bool) *CreateDBInstanceReadReplicaInput { + s.EnablePerformanceInsights = &v + return s +} + // SetIops sets the Iops field's value. func (s *CreateDBInstanceReadReplicaInput) SetIops(v int64) *CreateDBInstanceReadReplicaInput { s.Iops = &v @@ -12998,6 +12970,12 @@ func (s *CreateDBInstanceReadReplicaInput) SetOptionGroupName(v string) *CreateD return s } +// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value. +func (s *CreateDBInstanceReadReplicaInput) SetPerformanceInsightsKMSKeyId(v string) *CreateDBInstanceReadReplicaInput { + s.PerformanceInsightsKMSKeyId = &v + return s +} + // SetPort sets the Port field's value. func (s *CreateDBInstanceReadReplicaInput) SetPort(v int64) *CreateDBInstanceReadReplicaInput { s.Port = &v @@ -14983,6 +14961,10 @@ type DBInstance struct { // included when changes are pending. Specific changes are identified by subelements. PendingModifiedValues *PendingModifiedValues `type:"structure"` + PerformanceInsightsEnabled *bool `type:"boolean"` + + PerformanceInsightsKMSKeyId *string `type:"string"` + // Specifies the daily time range during which automated backups are created // if automated backups are enabled, as determined by the BackupRetentionPeriod. PreferredBackupWindow *string `type:"string"` @@ -15274,6 +15256,18 @@ func (s *DBInstance) SetPendingModifiedValues(v *PendingModifiedValues) *DBInsta return s } +// SetPerformanceInsightsEnabled sets the PerformanceInsightsEnabled field's value. +func (s *DBInstance) SetPerformanceInsightsEnabled(v bool) *DBInstance { + s.PerformanceInsightsEnabled = &v + return s +} + +// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value. +func (s *DBInstance) SetPerformanceInsightsKMSKeyId(v string) *DBInstance { + s.PerformanceInsightsKMSKeyId = &v + return s +} + // SetPreferredBackupWindow sets the PreferredBackupWindow field's value. func (s *DBInstance) SetPreferredBackupWindow(v string) *DBInstance { s.PreferredBackupWindow = &v @@ -15751,11 +15745,11 @@ type DBSnapshot struct { // Provides the type of the DB snapshot. SnapshotType *string `type:"string"` - // The DB snapshot Arn that the DB snapshot was copied from. It only has value - // in case of cross customer or cross region copy. + // The DB snapshot Amazon Resource Name (ARN) that the DB snapshot was copied + // from. It only has value in case of cross-customer or cross-region copy. SourceDBSnapshotIdentifier *string `type:"string"` - // The region that the DB snapshot was created in or copied from. + // The AWS Region that the DB snapshot was created in or copied from. SourceRegion *string `type:"string"` // Specifies the status of this DB snapshot. @@ -20527,7 +20521,7 @@ type DescribeSourceRegionsInput struct { // Constraints: Minimum 20, maximum 100. MaxRecords *int64 `type:"integer"` - // The source region name. For example, us-east-1. + // The source AWS Region name. For example, us-east-1. // // Constraints: // @@ -20601,7 +20595,7 @@ type DescribeSourceRegionsOutput struct { Marker *string `type:"string"` // A list of SourceRegion instances that contains each source AWS Region that - // the current region can get a Read Replica or a DB snapshot from. + // the current AWS Region can get a Read Replica or a DB snapshot from. SourceRegions []*SourceRegion `locationNameList:"SourceRegion" type:"list"` } @@ -21560,7 +21554,7 @@ type ModifyDBClusterInput struct { // backups are enabled, using the BackupRetentionPeriod parameter. // // Default: A 30-minute window selected at random from an 8-hour block of time - // per region. To see the time blocks available, see Adjusting the Preferred + // per AWS Region. To see the time blocks available, see Adjusting the Preferred // Maintenance Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html) // in the Amazon RDS User Guide. // @@ -21581,7 +21575,7 @@ type ModifyDBClusterInput struct { // Format: ddd:hh24:mi-ddd:hh24:mi // // Default: A 30-minute window selected at random from an 8-hour block of time - // per region, occurring on a random day of the week. To see the time blocks + // per AWS Region, occurring on a random day of the week. To see the time blocks // available, see Adjusting the Preferred Maintenance Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html) // in the Amazon RDS User Guide. // @@ -22014,6 +22008,11 @@ type ModifyDBInstanceInput struct { // to another non-zero value, the change is asynchronously applied as soon as // possible. // + // Amazon Aurora + // + // Not applicable. The retention period for automated backups is managed by + // the DB cluster. For more information, see ModifyDBCluster. + // // Default: Uses existing setting // // Constraints: @@ -22173,6 +22172,13 @@ type ModifyDBInstanceInput struct { // // You can enable IAM database authentication for the following database engines // + // Amazon Aurora + // + // Not applicable. Mapping AWS IAM accounts to database accounts is managed + // by the DB cluster. For more information, see ModifyDBCluster. + // + // MySQL + // // * For MySQL 5.6, minor version 5.6.34 or higher // // * For MySQL 5.7, minor version 5.7.16 or higher @@ -22180,11 +22186,13 @@ type ModifyDBInstanceInput struct { // Default: false EnableIAMDatabaseAuthentication *bool `type:"boolean"` + EnablePerformanceInsights *bool `type:"boolean"` + // The version number of the database engine to upgrade to. Changing this parameter // results in an outage and the change is applied during the next maintenance // window unless the ApplyImmediately parameter is set to true for this request. // - // For major version upgrades, if a non-default DB parameter group is currently + // For major version upgrades, if a nondefault DB parameter group is currently // in use, a new DB parameter group in the DB parameter group family for the // new engine version must be specified. The new DB parameter group can be the // default for that DB parameter group family. @@ -22232,14 +22240,19 @@ type ModifyDBInstanceInput struct { // Valid values: license-included | bring-your-own-license | general-public-license LicenseModel *string `type:"string"` - // The new password for the DB instance master user. Can be any printable ASCII - // character except "/", """, or "@". + // The new password for the master user. Can be any printable ASCII character + // except "/", """, or "@". // // Changing this parameter does not result in an outage and the change is asynchronously // applied as soon as possible. Between the time of the request and the completion // of the request, the MasterUserPassword element exists in the PendingModifiedValues // element of the operation response. // + // Amazon Aurora + // + // Not applicable. The password for the master user is managed by the DB cluster. + // For more information, see ModifyDBCluster. + // // Default: Uses existing setting // // Constraints: Must be 8 to 41 alphanumeric characters (MySQL, MariaDB, and @@ -22305,11 +22318,18 @@ type ModifyDBInstanceInput struct { // from a DB instance once it is associated with a DB instance OptionGroupName *string `type:"string"` + PerformanceInsightsKMSKeyId *string `type:"string"` + // The daily time range during which automated backups are created if automated // backups are enabled, as determined by the BackupRetentionPeriod parameter. // Changing this parameter does not result in an outage and the change is asynchronously // applied as soon as possible. // + // Amazon Aurora + // + // Not applicable. The daily time range for creating automated backups is managed + // by the DB cluster. For more information, see ModifyDBCluster. + // // Constraints: // // * Must be in the format hh24:mi-hh24:mi @@ -22383,6 +22403,11 @@ type ModifyDBInstanceInput struct { // A list of EC2 VPC security groups to authorize on this DB instance. This // change is asynchronously applied as soon as possible. // + // Amazon Aurora + // + // Not applicable. The associated list of EC2 VPC security groups is managed + // by the DB cluster. For more information, see ModifyDBCluster. + // // Constraints: // // * Must be 1 to 255 alphanumeric characters @@ -22512,6 +22537,12 @@ func (s *ModifyDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *Modi return s } +// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value. +func (s *ModifyDBInstanceInput) SetEnablePerformanceInsights(v bool) *ModifyDBInstanceInput { + s.EnablePerformanceInsights = &v + return s +} + // SetEngineVersion sets the EngineVersion field's value. func (s *ModifyDBInstanceInput) SetEngineVersion(v string) *ModifyDBInstanceInput { s.EngineVersion = &v @@ -22566,6 +22597,12 @@ func (s *ModifyDBInstanceInput) SetOptionGroupName(v string) *ModifyDBInstanceIn return s } +// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value. +func (s *ModifyDBInstanceInput) SetPerformanceInsightsKMSKeyId(v string) *ModifyDBInstanceInput { + s.PerformanceInsightsKMSKeyId = &v + return s +} + // SetPreferredBackupWindow sets the PreferredBackupWindow field's value. func (s *ModifyDBInstanceInput) SetPreferredBackupWindow(v string) *ModifyDBInstanceInput { s.PreferredBackupWindow = &v @@ -22847,8 +22884,31 @@ type ModifyDBSnapshotInput struct { // DBSnapshotIdentifier is a required field DBSnapshotIdentifier *string `type:"string" required:"true"` - // The engine version to update the DB snapshot to. + // The engine version to upgrade the DB snapshot to. + // + // The following are the database engines and engine versions that are available + // when you upgrade a DB snapshot. + // + // MySQL + // + // * 5.5.46 (supported for 5.1 DB snapshots) + // + // Oracle + // + // * 12.1.0.2.v8 (supported for 12.1.0.1 DB snapshots) + // + // * 11.2.0.4.v12 (supported for 11.2.0.2 DB snapshots) + // + // * 11.2.0.4.v11 (supported for 11.2.0.3 DB snapshots) EngineVersion *string `type:"string"` + + // The option group to identify with the upgraded DB snapshot. + // + // You can specify this parameter when you upgrade an Oracle DB snapshot. The + // same option group considerations apply when upgrading a DB snapshot as when + // upgrading a DB instance. For more information, see Option Group Considerations + // (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Oracle.html#USER_UpgradeDBInstance.Oracle.OGPG.OG). + OptionGroupName *string `type:"string"` } // String returns the string representation @@ -22886,6 +22946,12 @@ func (s *ModifyDBSnapshotInput) SetEngineVersion(v string) *ModifyDBSnapshotInpu return s } +// SetOptionGroupName sets the OptionGroupName field's value. +func (s *ModifyDBSnapshotInput) SetOptionGroupName(v string) *ModifyDBSnapshotInput { + s.OptionGroupName = &v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshotResult type ModifyDBSnapshotOutput struct { _ struct{} `type:"structure"` @@ -23595,6 +23661,19 @@ type OptionGroupOption struct { // Specifies whether the option requires a port. PortRequired *bool `type:"boolean"` + + // If true, you must enable the Auto Minor Version Upgrade setting for your + // DB instance before you can use this option. You can enable Auto Minor Version + // Upgrade when you first create your DB instance, or by modifying your DB instance + // later. + RequiresAutoMinorEngineVersionUpgrade *bool `type:"boolean"` + + // If true, you can change the option to an earlier version of the option. This + // only applies to options that have different versions available. + SupportsOptionVersionDowngrade *bool `type:"boolean"` + + // If true, you can only use this option with a DB instance that is in a VPC. + VpcOnly *bool `type:"boolean"` } // String returns the string representation @@ -23685,6 +23764,24 @@ func (s *OptionGroupOption) SetPortRequired(v bool) *OptionGroupOption { return s } +// SetRequiresAutoMinorEngineVersionUpgrade sets the RequiresAutoMinorEngineVersionUpgrade field's value. +func (s *OptionGroupOption) SetRequiresAutoMinorEngineVersionUpgrade(v bool) *OptionGroupOption { + s.RequiresAutoMinorEngineVersionUpgrade = &v + return s +} + +// SetSupportsOptionVersionDowngrade sets the SupportsOptionVersionDowngrade field's value. +func (s *OptionGroupOption) SetSupportsOptionVersionDowngrade(v bool) *OptionGroupOption { + s.SupportsOptionVersionDowngrade = &v + return s +} + +// SetVpcOnly sets the VpcOnly field's value. +func (s *OptionGroupOption) SetVpcOnly(v bool) *OptionGroupOption { + s.VpcOnly = &v + return s +} + // Option group option settings are used to display settings available for each // option with their default values and other information. These values are // used with the DescribeOptionGroupOptions action. @@ -23936,6 +24033,8 @@ type OrderableDBInstanceOption struct { // Indicates whether this orderable DB instance supports provisioned IOPS. SupportsIops *bool `type:"boolean"` + SupportsPerformanceInsights *bool `type:"boolean"` + // Indicates whether this orderable DB instance supports encrypted storage. SupportsStorageEncryption *bool `type:"boolean"` @@ -24019,6 +24118,12 @@ func (s *OrderableDBInstanceOption) SetSupportsIops(v bool) *OrderableDBInstance return s } +// SetSupportsPerformanceInsights sets the SupportsPerformanceInsights field's value. +func (s *OrderableDBInstanceOption) SetSupportsPerformanceInsights(v bool) *OrderableDBInstanceOption { + s.SupportsPerformanceInsights = &v + return s +} + // SetSupportsStorageEncryption sets the SupportsStorageEncryption field's value. func (s *OrderableDBInstanceOption) SetSupportsStorageEncryption(v bool) *OrderableDBInstanceOption { s.SupportsStorageEncryption = &v @@ -24487,7 +24592,7 @@ type PromoteReadReplicaInput struct { // backups are enabled, using the BackupRetentionPeriod parameter. // // Default: A 30-minute window selected at random from an 8-hour block of time - // per region. To see the time blocks available, see Adjusting the Preferred + // per AWS Region. To see the time blocks available, see Adjusting the Preferred // Maintenance Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html) // in the Amazon RDS User Guide. // @@ -25563,7 +25668,7 @@ type RestoreDBClusterFromS3Input struct { // If the StorageEncrypted parameter is true, and you do not specify a value // for the KmsKeyId parameter, then Amazon RDS will use your default encryption // key. AWS KMS creates the default encryption key for your AWS account. Your - // AWS account has a different default encryption key for each AWS region. + // AWS account has a different default encryption key for each AWS Region. KmsKeyId *string `type:"string"` // The password for the master database user. This password can contain any @@ -25604,7 +25709,7 @@ type RestoreDBClusterFromS3Input struct { // backups are enabled using the BackupRetentionPeriod parameter. // // Default: A 30-minute window selected at random from an 8-hour block of time - // per region. To see the time blocks available, see Adjusting the Preferred + // per AWS Region. To see the time blocks available, see Adjusting the Preferred // Maintenance Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html) // in the Amazon RDS User Guide. // @@ -25625,7 +25730,7 @@ type RestoreDBClusterFromS3Input struct { // Format: ddd:hh24:mi-ddd:hh24:mi // // Default: A 30-minute window selected at random from an 8-hour block of time - // per region, occurring on a random day of the week. To see the time blocks + // per AWS Region, occurring on a random day of the week. To see the time blocks // available, see Adjusting the Preferred Maintenance Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html) // in the Amazon RDS User Guide. // @@ -25920,8 +26025,8 @@ type RestoreDBClusterFromSnapshotInput struct { // DB cluster can be created in. AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"` - // The name of the DB cluster to create from the DB cluster snapshot. This parameter - // isn't case-sensitive. + // The name of the DB cluster to create from the DB snapshot or DB cluster snapshot. + // This parameter isn't case-sensitive. // // Constraints: // @@ -25966,7 +26071,7 @@ type RestoreDBClusterFromSnapshotInput struct { EngineVersion *string `type:"string"` // The KMS key identifier to use when restoring an encrypted DB cluster from - // a DB cluster snapshot. + // a DB snapshot or DB cluster snapshot. // // The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption // key. If you are restoring a DB cluster with the same AWS account that owns @@ -25976,12 +26081,12 @@ type RestoreDBClusterFromSnapshotInput struct { // If you do not specify a value for the KmsKeyId parameter, then the following // will occur: // - // * If the DB cluster snapshot is encrypted, then the restored DB cluster - // is encrypted using the KMS key that was used to encrypt the DB cluster - // snapshot. + // * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is encrypted, + // then the restored DB cluster is encrypted using the KMS key that was used + // to encrypt the DB snapshot or DB cluster snapshot. // - // * If the DB cluster snapshot is not encrypted, then the restored DB cluster - // is encrypted using the specified encryption key. + // * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is not + // encrypted, then the restored DB cluster is not encrypted. KmsKeyId *string `type:"string"` // The name of the option group to use for the restored DB cluster. @@ -25994,7 +26099,11 @@ type RestoreDBClusterFromSnapshotInput struct { // Default: The same port as the original DB cluster. Port *int64 `type:"integer"` - // The identifier for the DB cluster snapshot to restore from. + // The identifier for the DB snapshot or DB cluster snapshot to restore from. + // + // You can use either the name or the Amazon Resource Name (ARN) to specify + // a DB cluster snapshot. However, you can use only the ARN to specify a DB + // snapshot. // // Constraints: // @@ -26461,8 +26570,7 @@ type RestoreDBInstanceFromDBSnapshotInput struct { // // Constraints: // - // * Must contain from 1 to 63 alphanumeric characters or hyphens (1 to 15 - // for SQL Server) + // * Must contain from 1 to 63 alphanumeric characters or hyphens // // * First character must be a letter // @@ -27340,13 +27448,13 @@ func (s *RevokeDBSecurityGroupIngressOutput) SetDBSecurityGroup(v *DBSecurityGro type SourceRegion struct { _ struct{} `type:"structure"` - // The source region endpoint. + // The endpoint for the source AWS Region endpoint. Endpoint *string `type:"string"` - // The source region name. + // The name of the source AWS Region. RegionName *string `type:"string"` - // The status of the source region. + // The status of the source AWS Region. Status *string `type:"string"` } diff --git a/vendor/github.com/aws/aws-sdk-go/service/rds/customizations_test.go b/vendor/github.com/aws/aws-sdk-go/service/rds/customizations_test.go index 62db13af7..511b03026 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/rds/customizations_test.go +++ b/vendor/github.com/aws/aws-sdk-go/service/rds/customizations_test.go @@ -4,25 +4,29 @@ import ( "fmt" "io/ioutil" "net/url" + "regexp" + "strings" "testing" "time" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/awstesting" "github.com/aws/aws-sdk-go/awstesting/unit" - - "github.com/stretchr/testify/assert" ) func TestPresignWithPresignNotSet(t *testing.T) { reqs := map[string]*request.Request{} svc := New(unit.Session, &aws.Config{Region: aws.String("us-west-2")}) - assert.NotPanics(t, func() { + f := func() { // Doesn't panic on nil input req, _ := svc.CopyDBSnapshotRequest(nil) req.Sign() - }) + } + if paniced, p := awstesting.DidPanic(f); paniced { + t.Errorf("expect no panic, got %v", p) + } reqs[opCopyDBSnapshot], _ = svc.CopyDBSnapshotRequest(&CopyDBSnapshotInput{ SourceRegion: aws.String("us-west-1"), @@ -42,7 +46,11 @@ func TestPresignWithPresignNotSet(t *testing.T) { q, _ := url.ParseQuery(string(b)) u, _ := url.QueryUnescape(q.Get("PreSignedUrl")) - assert.Regexp(t, fmt.Sprintf(`^https://rds.us-west-1\.amazonaws\.com/\?Action=%s.+?DestinationRegion=us-west-2.+`, op), u) + + exp := fmt.Sprintf(`^https://rds.us-west-1\.amazonaws\.com/\?Action=%s.+?DestinationRegion=us-west-2.+`, op) + if re, a := regexp.MustCompile(exp), u; !re.MatchString(a) { + t.Errorf("expect %s to match %s", re, a) + } } } @@ -50,11 +58,14 @@ func TestPresignWithPresignSet(t *testing.T) { reqs := map[string]*request.Request{} svc := New(unit.Session, &aws.Config{Region: aws.String("us-west-2")}) - assert.NotPanics(t, func() { + f := func() { // Doesn't panic on nil input req, _ := svc.CopyDBSnapshotRequest(nil) req.Sign() - }) + } + if paniced, p := awstesting.DidPanic(f); paniced { + t.Errorf("expect no panic, got %v", p) + } reqs[opCopyDBSnapshot], _ = svc.CopyDBSnapshotRequest(&CopyDBSnapshotInput{ SourceRegion: aws.String("us-west-1"), @@ -77,7 +88,9 @@ func TestPresignWithPresignSet(t *testing.T) { q, _ := url.ParseQuery(string(b)) u, _ := url.QueryUnescape(q.Get("PreSignedUrl")) - assert.Regexp(t, `presignedURL`, u) + if e, a := "presignedURL", u; !strings.Contains(a, e) { + t.Errorf("expect %s to be in %s", e, a) + } } } @@ -85,11 +98,14 @@ func TestPresignWithSourceNotSet(t *testing.T) { reqs := map[string]*request.Request{} svc := New(unit.Session, &aws.Config{Region: aws.String("us-west-2")}) - assert.NotPanics(t, func() { + f := func() { // Doesn't panic on nil input req, _ := svc.CopyDBSnapshotRequest(nil) req.Sign() - }) + } + if paniced, p := awstesting.DidPanic(f); paniced { + t.Errorf("expect no panic, got %v", p) + } reqs[opCopyDBSnapshot], _ = svc.CopyDBSnapshotRequest(&CopyDBSnapshotInput{ SourceDBSnapshotIdentifier: aws.String("foo"), diff --git a/vendor/github.com/aws/aws-sdk-go/service/rds/doc.go b/vendor/github.com/aws/aws-sdk-go/service/rds/doc.go index c3365d9f3..d8777b443 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/rds/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/rds/doc.go @@ -53,69 +53,17 @@ // // Using the Client // -// To use the client for Amazon Relational Database Service you will first need -// to create a new instance of it. +// To Amazon Relational Database Service with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := rds.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Relational Database Service client RDS for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/rds/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AddRoleToDBCluster(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AddRoleToDBCluster result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AddRoleToDBClusterWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package rds diff --git a/vendor/github.com/aws/aws-sdk-go/service/rds/rdsiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/rds/rdsiface/interface.go index 0716dc815..cde111d34 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/rds/rdsiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/rds/rdsiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Relational Database Service. diff --git a/vendor/github.com/aws/aws-sdk-go/service/rds/rdsutils/connect_test.go b/vendor/github.com/aws/aws-sdk-go/service/rds/rdsutils/connect_test.go index 2d65700ad..b912346d4 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/rds/rdsutils/connect_test.go +++ b/vendor/github.com/aws/aws-sdk-go/service/rds/rdsutils/connect_test.go @@ -1,12 +1,11 @@ package rdsutils_test import ( + "regexp" "testing" "github.com/aws/aws-sdk-go/aws/credentials" "github.com/aws/aws-sdk-go/service/rds/rdsutils" - - "github.com/stretchr/testify/assert" ) func TestBuildAuthToken(t *testing.T) { @@ -33,7 +32,11 @@ func TestBuildAuthToken(t *testing.T) { for _, c := range cases { creds := credentials.NewStaticCredentials("AKID", "SECRET", "SESSION") url, err := rdsutils.BuildAuthToken(c.endpoint, c.region, c.user, creds) - assert.NoError(t, err) - assert.Regexp(t, c.expectedRegex, url) + if err != nil { + t.Errorf("expect no error, got %v", err) + } + if re, a := regexp.MustCompile(c.expectedRegex), url; !re.MatchString(a) { + t.Errorf("expect %s to match %s", re, a) + } } } diff --git a/vendor/github.com/aws/aws-sdk-go/service/rds/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/rds/waiters.go index 3ea78a9ba..cd45bcdc3 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/rds/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/rds/waiters.go @@ -11,7 +11,7 @@ import ( // WaitUntilDBInstanceAvailable uses the Amazon RDS API operation // DescribeDBInstances to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *RDS) WaitUntilDBInstanceAvailable(input *DescribeDBInstancesInput) error { return c.WaitUntilDBInstanceAvailableWithContext(aws.BackgroundContext(), input) @@ -82,7 +82,7 @@ func (c *RDS) WaitUntilDBInstanceAvailableWithContext(ctx aws.Context, input *De // WaitUntilDBInstanceDeleted uses the Amazon RDS API operation // DescribeDBInstances to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *RDS) WaitUntilDBInstanceDeleted(input *DescribeDBInstancesInput) error { return c.WaitUntilDBInstanceDeletedWithContext(aws.BackgroundContext(), input) diff --git a/vendor/github.com/aws/aws-sdk-go/service/redshift/api.go b/vendor/github.com/aws/aws-sdk-go/service/redshift/api.go index 6fab8fc65..d5ba56267 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/redshift/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/redshift/api.go @@ -16,19 +16,18 @@ const opAuthorizeClusterSecurityGroupIngress = "AuthorizeClusterSecurityGroupIng // AuthorizeClusterSecurityGroupIngressRequest generates a "aws/request.Request" representing the // client's request for the AuthorizeClusterSecurityGroupIngress operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AuthorizeClusterSecurityGroupIngress for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AuthorizeClusterSecurityGroupIngress method directly -// instead. +// See AuthorizeClusterSecurityGroupIngress for more information on using the AuthorizeClusterSecurityGroupIngress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AuthorizeClusterSecurityGroupIngressRequest method. // req, resp := client.AuthorizeClusterSecurityGroupIngressRequest(params) @@ -126,19 +125,18 @@ const opAuthorizeSnapshotAccess = "AuthorizeSnapshotAccess" // AuthorizeSnapshotAccessRequest generates a "aws/request.Request" representing the // client's request for the AuthorizeSnapshotAccess operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AuthorizeSnapshotAccess for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AuthorizeSnapshotAccess method directly -// instead. +// See AuthorizeSnapshotAccess for more information on using the AuthorizeSnapshotAccess +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AuthorizeSnapshotAccessRequest method. // req, resp := client.AuthorizeSnapshotAccessRequest(params) @@ -228,19 +226,18 @@ const opCopyClusterSnapshot = "CopyClusterSnapshot" // CopyClusterSnapshotRequest generates a "aws/request.Request" representing the // client's request for the CopyClusterSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CopyClusterSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CopyClusterSnapshot method directly -// instead. +// See CopyClusterSnapshot for more information on using the CopyClusterSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CopyClusterSnapshotRequest method. // req, resp := client.CopyClusterSnapshotRequest(params) @@ -332,19 +329,18 @@ const opCreateCluster = "CreateCluster" // CreateClusterRequest generates a "aws/request.Request" representing the // client's request for the CreateCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateCluster method directly -// instead. +// See CreateCluster for more information on using the CreateCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateClusterRequest method. // req, resp := client.CreateClusterRequest(params) @@ -482,19 +478,18 @@ const opCreateClusterParameterGroup = "CreateClusterParameterGroup" // CreateClusterParameterGroupRequest generates a "aws/request.Request" representing the // client's request for the CreateClusterParameterGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateClusterParameterGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateClusterParameterGroup method directly -// instead. +// See CreateClusterParameterGroup for more information on using the CreateClusterParameterGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateClusterParameterGroupRequest method. // req, resp := client.CreateClusterParameterGroupRequest(params) @@ -584,19 +579,18 @@ const opCreateClusterSecurityGroup = "CreateClusterSecurityGroup" // CreateClusterSecurityGroupRequest generates a "aws/request.Request" representing the // client's request for the CreateClusterSecurityGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateClusterSecurityGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateClusterSecurityGroup method directly -// instead. +// See CreateClusterSecurityGroup for more information on using the CreateClusterSecurityGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateClusterSecurityGroupRequest method. // req, resp := client.CreateClusterSecurityGroupRequest(params) @@ -681,19 +675,18 @@ const opCreateClusterSnapshot = "CreateClusterSnapshot" // CreateClusterSnapshotRequest generates a "aws/request.Request" representing the // client's request for the CreateClusterSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateClusterSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateClusterSnapshot method directly -// instead. +// See CreateClusterSnapshot for more information on using the CreateClusterSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateClusterSnapshotRequest method. // req, resp := client.CreateClusterSnapshotRequest(params) @@ -783,19 +776,18 @@ const opCreateClusterSubnetGroup = "CreateClusterSubnetGroup" // CreateClusterSubnetGroupRequest generates a "aws/request.Request" representing the // client's request for the CreateClusterSubnetGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateClusterSubnetGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateClusterSubnetGroup method directly -// instead. +// See CreateClusterSubnetGroup for more information on using the CreateClusterSubnetGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateClusterSubnetGroupRequest method. // req, resp := client.CreateClusterSubnetGroupRequest(params) @@ -898,19 +890,18 @@ const opCreateEventSubscription = "CreateEventSubscription" // CreateEventSubscriptionRequest generates a "aws/request.Request" representing the // client's request for the CreateEventSubscription operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateEventSubscription for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateEventSubscription method directly -// instead. +// See CreateEventSubscription for more information on using the CreateEventSubscription +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateEventSubscriptionRequest method. // req, resp := client.CreateEventSubscriptionRequest(params) @@ -1039,19 +1030,18 @@ const opCreateHsmClientCertificate = "CreateHsmClientCertificate" // CreateHsmClientCertificateRequest generates a "aws/request.Request" representing the // client's request for the CreateHsmClientCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateHsmClientCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateHsmClientCertificate method directly -// instead. +// See CreateHsmClientCertificate for more information on using the CreateHsmClientCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateHsmClientCertificateRequest method. // req, resp := client.CreateHsmClientCertificateRequest(params) @@ -1139,19 +1129,18 @@ const opCreateHsmConfiguration = "CreateHsmConfiguration" // CreateHsmConfigurationRequest generates a "aws/request.Request" representing the // client's request for the CreateHsmConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateHsmConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateHsmConfiguration method directly -// instead. +// See CreateHsmConfiguration for more information on using the CreateHsmConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateHsmConfigurationRequest method. // req, resp := client.CreateHsmConfigurationRequest(params) @@ -1240,19 +1229,18 @@ const opCreateSnapshotCopyGrant = "CreateSnapshotCopyGrant" // CreateSnapshotCopyGrantRequest generates a "aws/request.Request" representing the // client's request for the CreateSnapshotCopyGrant operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateSnapshotCopyGrant for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateSnapshotCopyGrant method directly -// instead. +// See CreateSnapshotCopyGrant for more information on using the CreateSnapshotCopyGrant +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateSnapshotCopyGrantRequest method. // req, resp := client.CreateSnapshotCopyGrantRequest(params) @@ -1344,19 +1332,18 @@ const opCreateTags = "CreateTags" // CreateTagsRequest generates a "aws/request.Request" representing the // client's request for the CreateTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateTags method directly -// instead. +// See CreateTags for more information on using the CreateTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateTagsRequest method. // req, resp := client.CreateTagsRequest(params) @@ -1438,19 +1425,18 @@ const opDeleteCluster = "DeleteCluster" // DeleteClusterRequest generates a "aws/request.Request" representing the // client's request for the DeleteCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteCluster method directly -// instead. +// See DeleteCluster for more information on using the DeleteCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteClusterRequest method. // req, resp := client.DeleteClusterRequest(params) @@ -1545,19 +1531,18 @@ const opDeleteClusterParameterGroup = "DeleteClusterParameterGroup" // DeleteClusterParameterGroupRequest generates a "aws/request.Request" representing the // client's request for the DeleteClusterParameterGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteClusterParameterGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteClusterParameterGroup method directly -// instead. +// See DeleteClusterParameterGroup for more information on using the DeleteClusterParameterGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteClusterParameterGroupRequest method. // req, resp := client.DeleteClusterParameterGroupRequest(params) @@ -1634,19 +1619,18 @@ const opDeleteClusterSecurityGroup = "DeleteClusterSecurityGroup" // DeleteClusterSecurityGroupRequest generates a "aws/request.Request" representing the // client's request for the DeleteClusterSecurityGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteClusterSecurityGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteClusterSecurityGroup method directly -// instead. +// See DeleteClusterSecurityGroup for more information on using the DeleteClusterSecurityGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteClusterSecurityGroupRequest method. // req, resp := client.DeleteClusterSecurityGroupRequest(params) @@ -1727,19 +1711,18 @@ const opDeleteClusterSnapshot = "DeleteClusterSnapshot" // DeleteClusterSnapshotRequest generates a "aws/request.Request" representing the // client's request for the DeleteClusterSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteClusterSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteClusterSnapshot method directly -// instead. +// See DeleteClusterSnapshot for more information on using the DeleteClusterSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteClusterSnapshotRequest method. // req, resp := client.DeleteClusterSnapshotRequest(params) @@ -1818,19 +1801,18 @@ const opDeleteClusterSubnetGroup = "DeleteClusterSubnetGroup" // DeleteClusterSubnetGroupRequest generates a "aws/request.Request" representing the // client's request for the DeleteClusterSubnetGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteClusterSubnetGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteClusterSubnetGroup method directly -// instead. +// See DeleteClusterSubnetGroup for more information on using the DeleteClusterSubnetGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteClusterSubnetGroupRequest method. // req, resp := client.DeleteClusterSubnetGroupRequest(params) @@ -1907,19 +1889,18 @@ const opDeleteEventSubscription = "DeleteEventSubscription" // DeleteEventSubscriptionRequest generates a "aws/request.Request" representing the // client's request for the DeleteEventSubscription operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteEventSubscription for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteEventSubscription method directly -// instead. +// See DeleteEventSubscription for more information on using the DeleteEventSubscription +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteEventSubscriptionRequest method. // req, resp := client.DeleteEventSubscriptionRequest(params) @@ -1994,19 +1975,18 @@ const opDeleteHsmClientCertificate = "DeleteHsmClientCertificate" // DeleteHsmClientCertificateRequest generates a "aws/request.Request" representing the // client's request for the DeleteHsmClientCertificate operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteHsmClientCertificate for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteHsmClientCertificate method directly -// instead. +// See DeleteHsmClientCertificate for more information on using the DeleteHsmClientCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteHsmClientCertificateRequest method. // req, resp := client.DeleteHsmClientCertificateRequest(params) @@ -2080,19 +2060,18 @@ const opDeleteHsmConfiguration = "DeleteHsmConfiguration" // DeleteHsmConfigurationRequest generates a "aws/request.Request" representing the // client's request for the DeleteHsmConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteHsmConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteHsmConfiguration method directly -// instead. +// See DeleteHsmConfiguration for more information on using the DeleteHsmConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteHsmConfigurationRequest method. // req, resp := client.DeleteHsmConfigurationRequest(params) @@ -2166,19 +2145,18 @@ const opDeleteSnapshotCopyGrant = "DeleteSnapshotCopyGrant" // DeleteSnapshotCopyGrantRequest generates a "aws/request.Request" representing the // client's request for the DeleteSnapshotCopyGrant operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSnapshotCopyGrant for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSnapshotCopyGrant method directly -// instead. +// See DeleteSnapshotCopyGrant for more information on using the DeleteSnapshotCopyGrant +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSnapshotCopyGrantRequest method. // req, resp := client.DeleteSnapshotCopyGrantRequest(params) @@ -2253,19 +2231,18 @@ const opDeleteTags = "DeleteTags" // DeleteTagsRequest generates a "aws/request.Request" representing the // client's request for the DeleteTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteTags method directly -// instead. +// See DeleteTags for more information on using the DeleteTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteTagsRequest method. // req, resp := client.DeleteTagsRequest(params) @@ -2339,19 +2316,18 @@ const opDescribeClusterParameterGroups = "DescribeClusterParameterGroups" // DescribeClusterParameterGroupsRequest generates a "aws/request.Request" representing the // client's request for the DescribeClusterParameterGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeClusterParameterGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeClusterParameterGroups method directly -// instead. +// See DescribeClusterParameterGroups for more information on using the DescribeClusterParameterGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeClusterParameterGroupsRequest method. // req, resp := client.DescribeClusterParameterGroupsRequest(params) @@ -2496,19 +2472,18 @@ const opDescribeClusterParameters = "DescribeClusterParameters" // DescribeClusterParametersRequest generates a "aws/request.Request" representing the // client's request for the DescribeClusterParameters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeClusterParameters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeClusterParameters method directly -// instead. +// See DescribeClusterParameters for more information on using the DescribeClusterParameters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeClusterParametersRequest method. // req, resp := client.DescribeClusterParametersRequest(params) @@ -2643,19 +2618,18 @@ const opDescribeClusterSecurityGroups = "DescribeClusterSecurityGroups" // DescribeClusterSecurityGroupsRequest generates a "aws/request.Request" representing the // client's request for the DescribeClusterSecurityGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeClusterSecurityGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeClusterSecurityGroups method directly -// instead. +// See DescribeClusterSecurityGroups for more information on using the DescribeClusterSecurityGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeClusterSecurityGroupsRequest method. // req, resp := client.DescribeClusterSecurityGroupsRequest(params) @@ -2799,19 +2773,18 @@ const opDescribeClusterSnapshots = "DescribeClusterSnapshots" // DescribeClusterSnapshotsRequest generates a "aws/request.Request" representing the // client's request for the DescribeClusterSnapshots operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeClusterSnapshots for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeClusterSnapshots method directly -// instead. +// See DescribeClusterSnapshots for more information on using the DescribeClusterSnapshots +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeClusterSnapshotsRequest method. // req, resp := client.DescribeClusterSnapshotsRequest(params) @@ -2952,19 +2925,18 @@ const opDescribeClusterSubnetGroups = "DescribeClusterSubnetGroups" // DescribeClusterSubnetGroupsRequest generates a "aws/request.Request" representing the // client's request for the DescribeClusterSubnetGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeClusterSubnetGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeClusterSubnetGroups method directly -// instead. +// See DescribeClusterSubnetGroups for more information on using the DescribeClusterSubnetGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeClusterSubnetGroupsRequest method. // req, resp := client.DescribeClusterSubnetGroupsRequest(params) @@ -3104,19 +3076,18 @@ const opDescribeClusterVersions = "DescribeClusterVersions" // DescribeClusterVersionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeClusterVersions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeClusterVersions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeClusterVersions method directly -// instead. +// See DescribeClusterVersions for more information on using the DescribeClusterVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeClusterVersionsRequest method. // req, resp := client.DescribeClusterVersionsRequest(params) @@ -3239,19 +3210,18 @@ const opDescribeClusters = "DescribeClusters" // DescribeClustersRequest generates a "aws/request.Request" representing the // client's request for the DescribeClusters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeClusters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeClusters method directly -// instead. +// See DescribeClusters for more information on using the DescribeClusters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeClustersRequest method. // req, resp := client.DescribeClustersRequest(params) @@ -3391,19 +3361,18 @@ const opDescribeDefaultClusterParameters = "DescribeDefaultClusterParameters" // DescribeDefaultClusterParametersRequest generates a "aws/request.Request" representing the // client's request for the DescribeDefaultClusterParameters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDefaultClusterParameters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDefaultClusterParameters method directly -// instead. +// See DescribeDefaultClusterParameters for more information on using the DescribeDefaultClusterParameters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDefaultClusterParametersRequest method. // req, resp := client.DescribeDefaultClusterParametersRequest(params) @@ -3526,19 +3495,18 @@ const opDescribeEventCategories = "DescribeEventCategories" // DescribeEventCategoriesRequest generates a "aws/request.Request" representing the // client's request for the DescribeEventCategories operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEventCategories for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEventCategories method directly -// instead. +// See DescribeEventCategories for more information on using the DescribeEventCategories +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEventCategoriesRequest method. // req, resp := client.DescribeEventCategoriesRequest(params) @@ -3603,19 +3571,18 @@ const opDescribeEventSubscriptions = "DescribeEventSubscriptions" // DescribeEventSubscriptionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeEventSubscriptions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEventSubscriptions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEventSubscriptions method directly -// instead. +// See DescribeEventSubscriptions for more information on using the DescribeEventSubscriptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEventSubscriptionsRequest method. // req, resp := client.DescribeEventSubscriptionsRequest(params) @@ -3742,19 +3709,18 @@ const opDescribeEvents = "DescribeEvents" // DescribeEventsRequest generates a "aws/request.Request" representing the // client's request for the DescribeEvents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEvents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEvents method directly -// instead. +// See DescribeEvents for more information on using the DescribeEvents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEventsRequest method. // req, resp := client.DescribeEventsRequest(params) @@ -3876,19 +3842,18 @@ const opDescribeHsmClientCertificates = "DescribeHsmClientCertificates" // DescribeHsmClientCertificatesRequest generates a "aws/request.Request" representing the // client's request for the DescribeHsmClientCertificates operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeHsmClientCertificates for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeHsmClientCertificates method directly -// instead. +// See DescribeHsmClientCertificates for more information on using the DescribeHsmClientCertificates +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeHsmClientCertificatesRequest method. // req, resp := client.DescribeHsmClientCertificatesRequest(params) @@ -4027,19 +3992,18 @@ const opDescribeHsmConfigurations = "DescribeHsmConfigurations" // DescribeHsmConfigurationsRequest generates a "aws/request.Request" representing the // client's request for the DescribeHsmConfigurations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeHsmConfigurations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeHsmConfigurations method directly -// instead. +// See DescribeHsmConfigurations for more information on using the DescribeHsmConfigurations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeHsmConfigurationsRequest method. // req, resp := client.DescribeHsmConfigurationsRequest(params) @@ -4178,19 +4142,18 @@ const opDescribeLoggingStatus = "DescribeLoggingStatus" // DescribeLoggingStatusRequest generates a "aws/request.Request" representing the // client's request for the DescribeLoggingStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeLoggingStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeLoggingStatus method directly -// instead. +// See DescribeLoggingStatus for more information on using the DescribeLoggingStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeLoggingStatusRequest method. // req, resp := client.DescribeLoggingStatusRequest(params) @@ -4259,19 +4222,18 @@ const opDescribeOrderableClusterOptions = "DescribeOrderableClusterOptions" // DescribeOrderableClusterOptionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeOrderableClusterOptions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeOrderableClusterOptions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeOrderableClusterOptions method directly -// instead. +// See DescribeOrderableClusterOptions for more information on using the DescribeOrderableClusterOptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeOrderableClusterOptionsRequest method. // req, resp := client.DescribeOrderableClusterOptionsRequest(params) @@ -4398,19 +4360,18 @@ const opDescribeReservedNodeOfferings = "DescribeReservedNodeOfferings" // DescribeReservedNodeOfferingsRequest generates a "aws/request.Request" representing the // client's request for the DescribeReservedNodeOfferings operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeReservedNodeOfferings for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeReservedNodeOfferings method directly -// instead. +// See DescribeReservedNodeOfferings for more information on using the DescribeReservedNodeOfferings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeReservedNodeOfferingsRequest method. // req, resp := client.DescribeReservedNodeOfferingsRequest(params) @@ -4550,19 +4511,18 @@ const opDescribeReservedNodes = "DescribeReservedNodes" // DescribeReservedNodesRequest generates a "aws/request.Request" representing the // client's request for the DescribeReservedNodes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeReservedNodes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeReservedNodes method directly -// instead. +// See DescribeReservedNodes for more information on using the DescribeReservedNodes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeReservedNodesRequest method. // req, resp := client.DescribeReservedNodesRequest(params) @@ -4690,19 +4650,18 @@ const opDescribeResize = "DescribeResize" // DescribeResizeRequest generates a "aws/request.Request" representing the // client's request for the DescribeResize operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeResize for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeResize method directly -// instead. +// See DescribeResize for more information on using the DescribeResize +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeResizeRequest method. // req, resp := client.DescribeResizeRequest(params) @@ -4779,19 +4738,18 @@ const opDescribeSnapshotCopyGrants = "DescribeSnapshotCopyGrants" // DescribeSnapshotCopyGrantsRequest generates a "aws/request.Request" representing the // client's request for the DescribeSnapshotCopyGrants operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSnapshotCopyGrants for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSnapshotCopyGrants method directly -// instead. +// See DescribeSnapshotCopyGrants for more information on using the DescribeSnapshotCopyGrants +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSnapshotCopyGrantsRequest method. // req, resp := client.DescribeSnapshotCopyGrantsRequest(params) @@ -4868,19 +4826,18 @@ const opDescribeTableRestoreStatus = "DescribeTableRestoreStatus" // DescribeTableRestoreStatusRequest generates a "aws/request.Request" representing the // client's request for the DescribeTableRestoreStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTableRestoreStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTableRestoreStatus method directly -// instead. +// See DescribeTableRestoreStatus for more information on using the DescribeTableRestoreStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTableRestoreStatusRequest method. // req, resp := client.DescribeTableRestoreStatusRequest(params) @@ -4955,19 +4912,18 @@ const opDescribeTags = "DescribeTags" // DescribeTagsRequest generates a "aws/request.Request" representing the // client's request for the DescribeTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTags method directly -// instead. +// See DescribeTags for more information on using the DescribeTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTagsRequest method. // req, resp := client.DescribeTagsRequest(params) @@ -5060,19 +5016,18 @@ const opDisableLogging = "DisableLogging" // DisableLoggingRequest generates a "aws/request.Request" representing the // client's request for the DisableLogging operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisableLogging for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisableLogging method directly -// instead. +// See DisableLogging for more information on using the DisableLogging +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisableLoggingRequest method. // req, resp := client.DisableLoggingRequest(params) @@ -5141,19 +5096,18 @@ const opDisableSnapshotCopy = "DisableSnapshotCopy" // DisableSnapshotCopyRequest generates a "aws/request.Request" representing the // client's request for the DisableSnapshotCopy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisableSnapshotCopy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisableSnapshotCopy method directly -// instead. +// See DisableSnapshotCopy for more information on using the DisableSnapshotCopy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisableSnapshotCopyRequest method. // req, resp := client.DisableSnapshotCopyRequest(params) @@ -5235,19 +5189,18 @@ const opEnableLogging = "EnableLogging" // EnableLoggingRequest generates a "aws/request.Request" representing the // client's request for the EnableLogging operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EnableLogging for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EnableLogging method directly -// instead. +// See EnableLogging for more information on using the EnableLogging +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EnableLoggingRequest method. // req, resp := client.EnableLoggingRequest(params) @@ -5332,19 +5285,18 @@ const opEnableSnapshotCopy = "EnableSnapshotCopy" // EnableSnapshotCopyRequest generates a "aws/request.Request" representing the // client's request for the EnableSnapshotCopy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EnableSnapshotCopy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EnableSnapshotCopy method directly -// instead. +// See EnableSnapshotCopy for more information on using the EnableSnapshotCopy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EnableSnapshotCopyRequest method. // req, resp := client.EnableSnapshotCopyRequest(params) @@ -5442,19 +5394,18 @@ const opGetClusterCredentials = "GetClusterCredentials" // GetClusterCredentialsRequest generates a "aws/request.Request" representing the // client's request for the GetClusterCredentials operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetClusterCredentials for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetClusterCredentials method directly -// instead. +// See GetClusterCredentials for more information on using the GetClusterCredentials +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetClusterCredentialsRequest method. // req, resp := client.GetClusterCredentialsRequest(params) @@ -5547,19 +5498,18 @@ const opModifyCluster = "ModifyCluster" // ModifyClusterRequest generates a "aws/request.Request" representing the // client's request for the ModifyCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyCluster method directly -// instead. +// See ModifyCluster for more information on using the ModifyCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyClusterRequest method. // req, resp := client.ModifyClusterRequest(params) @@ -5687,19 +5637,18 @@ const opModifyClusterIamRoles = "ModifyClusterIamRoles" // ModifyClusterIamRolesRequest generates a "aws/request.Request" representing the // client's request for the ModifyClusterIamRoles operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyClusterIamRoles for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyClusterIamRoles method directly -// instead. +// See ModifyClusterIamRoles for more information on using the ModifyClusterIamRoles +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyClusterIamRolesRequest method. // req, resp := client.ModifyClusterIamRolesRequest(params) @@ -5773,19 +5722,18 @@ const opModifyClusterParameterGroup = "ModifyClusterParameterGroup" // ModifyClusterParameterGroupRequest generates a "aws/request.Request" representing the // client's request for the ModifyClusterParameterGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyClusterParameterGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyClusterParameterGroup method directly -// instead. +// See ModifyClusterParameterGroup for more information on using the ModifyClusterParameterGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyClusterParameterGroupRequest method. // req, resp := client.ModifyClusterParameterGroupRequest(params) @@ -5862,19 +5810,18 @@ const opModifyClusterSubnetGroup = "ModifyClusterSubnetGroup" // ModifyClusterSubnetGroupRequest generates a "aws/request.Request" representing the // client's request for the ModifyClusterSubnetGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyClusterSubnetGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyClusterSubnetGroup method directly -// instead. +// See ModifyClusterSubnetGroup for more information on using the ModifyClusterSubnetGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyClusterSubnetGroupRequest method. // req, resp := client.ModifyClusterSubnetGroupRequest(params) @@ -5965,19 +5912,18 @@ const opModifyEventSubscription = "ModifyEventSubscription" // ModifyEventSubscriptionRequest generates a "aws/request.Request" representing the // client's request for the ModifyEventSubscription operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyEventSubscription for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyEventSubscription method directly -// instead. +// See ModifyEventSubscription for more information on using the ModifyEventSubscription +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyEventSubscriptionRequest method. // req, resp := client.ModifyEventSubscriptionRequest(params) @@ -6077,19 +6023,18 @@ const opModifySnapshotCopyRetentionPeriod = "ModifySnapshotCopyRetentionPeriod" // ModifySnapshotCopyRetentionPeriodRequest generates a "aws/request.Request" representing the // client's request for the ModifySnapshotCopyRetentionPeriod operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifySnapshotCopyRetentionPeriod for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifySnapshotCopyRetentionPeriod method directly -// instead. +// See ModifySnapshotCopyRetentionPeriod for more information on using the ModifySnapshotCopyRetentionPeriod +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifySnapshotCopyRetentionPeriodRequest method. // req, resp := client.ModifySnapshotCopyRetentionPeriodRequest(params) @@ -6167,19 +6112,18 @@ const opPurchaseReservedNodeOffering = "PurchaseReservedNodeOffering" // PurchaseReservedNodeOfferingRequest generates a "aws/request.Request" representing the // client's request for the PurchaseReservedNodeOffering operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PurchaseReservedNodeOffering for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PurchaseReservedNodeOffering method directly -// instead. +// See PurchaseReservedNodeOffering for more information on using the PurchaseReservedNodeOffering +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PurchaseReservedNodeOfferingRequest method. // req, resp := client.PurchaseReservedNodeOfferingRequest(params) @@ -6266,19 +6210,18 @@ const opRebootCluster = "RebootCluster" // RebootClusterRequest generates a "aws/request.Request" representing the // client's request for the RebootCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RebootCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RebootCluster method directly -// instead. +// See RebootCluster for more information on using the RebootCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RebootClusterRequest method. // req, resp := client.RebootClusterRequest(params) @@ -6355,19 +6298,18 @@ const opResetClusterParameterGroup = "ResetClusterParameterGroup" // ResetClusterParameterGroupRequest generates a "aws/request.Request" representing the // client's request for the ResetClusterParameterGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ResetClusterParameterGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ResetClusterParameterGroup method directly -// instead. +// See ResetClusterParameterGroup for more information on using the ResetClusterParameterGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ResetClusterParameterGroupRequest method. // req, resp := client.ResetClusterParameterGroupRequest(params) @@ -6443,19 +6385,18 @@ const opRestoreFromClusterSnapshot = "RestoreFromClusterSnapshot" // RestoreFromClusterSnapshotRequest generates a "aws/request.Request" representing the // client's request for the RestoreFromClusterSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RestoreFromClusterSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RestoreFromClusterSnapshot method directly -// instead. +// See RestoreFromClusterSnapshot for more information on using the RestoreFromClusterSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RestoreFromClusterSnapshotRequest method. // req, resp := client.RestoreFromClusterSnapshotRequest(params) @@ -6609,19 +6550,18 @@ const opRestoreTableFromClusterSnapshot = "RestoreTableFromClusterSnapshot" // RestoreTableFromClusterSnapshotRequest generates a "aws/request.Request" representing the // client's request for the RestoreTableFromClusterSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RestoreTableFromClusterSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RestoreTableFromClusterSnapshot method directly -// instead. +// See RestoreTableFromClusterSnapshot for more information on using the RestoreTableFromClusterSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RestoreTableFromClusterSnapshotRequest method. // req, resp := client.RestoreTableFromClusterSnapshotRequest(params) @@ -6722,19 +6662,18 @@ const opRevokeClusterSecurityGroupIngress = "RevokeClusterSecurityGroupIngress" // RevokeClusterSecurityGroupIngressRequest generates a "aws/request.Request" representing the // client's request for the RevokeClusterSecurityGroupIngress operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RevokeClusterSecurityGroupIngress for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RevokeClusterSecurityGroupIngress method directly -// instead. +// See RevokeClusterSecurityGroupIngress for more information on using the RevokeClusterSecurityGroupIngress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RevokeClusterSecurityGroupIngressRequest method. // req, resp := client.RevokeClusterSecurityGroupIngressRequest(params) @@ -6814,19 +6753,18 @@ const opRevokeSnapshotAccess = "RevokeSnapshotAccess" // RevokeSnapshotAccessRequest generates a "aws/request.Request" representing the // client's request for the RevokeSnapshotAccess operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RevokeSnapshotAccess for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RevokeSnapshotAccess method directly -// instead. +// See RevokeSnapshotAccess for more information on using the RevokeSnapshotAccess +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RevokeSnapshotAccessRequest method. // req, resp := client.RevokeSnapshotAccessRequest(params) @@ -6908,19 +6846,18 @@ const opRotateEncryptionKey = "RotateEncryptionKey" // RotateEncryptionKeyRequest generates a "aws/request.Request" representing the // client's request for the RotateEncryptionKey operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RotateEncryptionKey for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RotateEncryptionKey method directly -// instead. +// See RotateEncryptionKey for more information on using the RotateEncryptionKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RotateEncryptionKeyRequest method. // req, resp := client.RotateEncryptionKeyRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/redshift/doc.go b/vendor/github.com/aws/aws-sdk-go/service/redshift/doc.go index 3a3fb7d1e..de582f04b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/redshift/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/redshift/doc.go @@ -35,69 +35,17 @@ // // Using the Client // -// To use the client for Amazon Redshift you will first need -// to create a new instance of it. +// To Amazon Redshift with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := redshift.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Redshift client Redshift for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/redshift/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AuthorizeClusterSecurityGroupIngress(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AuthorizeClusterSecurityGroupIngress result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AuthorizeClusterSecurityGroupIngressWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package redshift diff --git a/vendor/github.com/aws/aws-sdk-go/service/redshift/redshiftiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/redshift/redshiftiface/interface.go index 0dbf4d74d..695eb9b00 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/redshift/redshiftiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/redshift/redshiftiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Redshift. diff --git a/vendor/github.com/aws/aws-sdk-go/service/redshift/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/redshift/waiters.go index 21ce4ee92..6bd0f1f59 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/redshift/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/redshift/waiters.go @@ -11,7 +11,7 @@ import ( // WaitUntilClusterAvailable uses the Amazon Redshift API operation // DescribeClusters to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *Redshift) WaitUntilClusterAvailable(input *DescribeClustersInput) error { return c.WaitUntilClusterAvailableWithContext(aws.BackgroundContext(), input) @@ -67,7 +67,7 @@ func (c *Redshift) WaitUntilClusterAvailableWithContext(ctx aws.Context, input * // WaitUntilClusterDeleted uses the Amazon Redshift API operation // DescribeClusters to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *Redshift) WaitUntilClusterDeleted(input *DescribeClustersInput) error { return c.WaitUntilClusterDeletedWithContext(aws.BackgroundContext(), input) @@ -123,7 +123,7 @@ func (c *Redshift) WaitUntilClusterDeletedWithContext(ctx aws.Context, input *De // WaitUntilClusterRestored uses the Amazon Redshift API operation // DescribeClusters to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *Redshift) WaitUntilClusterRestored(input *DescribeClustersInput) error { return c.WaitUntilClusterRestoredWithContext(aws.BackgroundContext(), input) @@ -174,7 +174,7 @@ func (c *Redshift) WaitUntilClusterRestoredWithContext(ctx aws.Context, input *D // WaitUntilSnapshotAvailable uses the Amazon Redshift API operation // DescribeClusterSnapshots to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *Redshift) WaitUntilSnapshotAvailable(input *DescribeClusterSnapshotsInput) error { return c.WaitUntilSnapshotAvailableWithContext(aws.BackgroundContext(), input) diff --git a/vendor/github.com/aws/aws-sdk-go/service/rekognition/api.go b/vendor/github.com/aws/aws-sdk-go/service/rekognition/api.go index e73cd40dc..3e4a1bb3b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/rekognition/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/rekognition/api.go @@ -12,19 +12,18 @@ const opCompareFaces = "CompareFaces" // CompareFacesRequest generates a "aws/request.Request" representing the // client's request for the CompareFaces operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CompareFaces for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CompareFaces method directly -// instead. +// See CompareFaces for more information on using the CompareFaces +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CompareFacesRequest method. // req, resp := client.CompareFacesRequest(params) @@ -147,19 +146,18 @@ const opCreateCollection = "CreateCollection" // CreateCollectionRequest generates a "aws/request.Request" representing the // client's request for the CreateCollection operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateCollection for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateCollection method directly -// instead. +// See CreateCollection for more information on using the CreateCollection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateCollectionRequest method. // req, resp := client.CreateCollectionRequest(params) @@ -255,19 +253,18 @@ const opDeleteCollection = "DeleteCollection" // DeleteCollectionRequest generates a "aws/request.Request" representing the // client's request for the DeleteCollection operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteCollection for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteCollection method directly -// instead. +// See DeleteCollection for more information on using the DeleteCollection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteCollectionRequest method. // req, resp := client.DeleteCollectionRequest(params) @@ -354,19 +351,18 @@ const opDeleteFaces = "DeleteFaces" // DeleteFacesRequest generates a "aws/request.Request" representing the // client's request for the DeleteFaces operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteFaces for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteFaces method directly -// instead. +// See DeleteFaces for more information on using the DeleteFaces +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteFacesRequest method. // req, resp := client.DeleteFacesRequest(params) @@ -453,19 +449,18 @@ const opDetectFaces = "DetectFaces" // DetectFacesRequest generates a "aws/request.Request" representing the // client's request for the DetectFaces operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DetectFaces for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DetectFaces method directly -// instead. +// See DetectFaces for more information on using the DetectFaces +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DetectFacesRequest method. // req, resp := client.DetectFacesRequest(params) @@ -572,19 +567,18 @@ const opDetectLabels = "DetectLabels" // DetectLabelsRequest generates a "aws/request.Request" representing the // client's request for the DetectLabels operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DetectLabels for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DetectLabels method directly -// instead. +// See DetectLabels for more information on using the DetectLabels +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DetectLabelsRequest method. // req, resp := client.DetectLabelsRequest(params) @@ -719,19 +713,18 @@ const opDetectModerationLabels = "DetectModerationLabels" // DetectModerationLabelsRequest generates a "aws/request.Request" representing the // client's request for the DetectModerationLabels operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DetectModerationLabels for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DetectModerationLabels method directly -// instead. +// See DetectModerationLabels for more information on using the DetectModerationLabels +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DetectModerationLabelsRequest method. // req, resp := client.DetectModerationLabelsRequest(params) @@ -828,19 +821,18 @@ const opGetCelebrityInfo = "GetCelebrityInfo" // GetCelebrityInfoRequest generates a "aws/request.Request" representing the // client's request for the GetCelebrityInfo operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetCelebrityInfo for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetCelebrityInfo method directly -// instead. +// See GetCelebrityInfo for more information on using the GetCelebrityInfo +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetCelebrityInfoRequest method. // req, resp := client.GetCelebrityInfoRequest(params) @@ -929,19 +921,18 @@ const opIndexFaces = "IndexFaces" // IndexFacesRequest generates a "aws/request.Request" representing the // client's request for the IndexFaces operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See IndexFaces for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the IndexFaces method directly -// instead. +// See IndexFaces for more information on using the IndexFaces +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the IndexFacesRequest method. // req, resp := client.IndexFacesRequest(params) @@ -1062,19 +1053,18 @@ const opListCollections = "ListCollections" // ListCollectionsRequest generates a "aws/request.Request" representing the // client's request for the ListCollections operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListCollections for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListCollections method directly -// instead. +// See ListCollections for more information on using the ListCollections +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListCollectionsRequest method. // req, resp := client.ListCollectionsRequest(params) @@ -1223,19 +1213,18 @@ const opListFaces = "ListFaces" // ListFacesRequest generates a "aws/request.Request" representing the // client's request for the ListFaces operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListFaces for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListFaces method directly -// instead. +// See ListFaces for more information on using the ListFaces +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListFacesRequest method. // req, resp := client.ListFacesRequest(params) @@ -1382,19 +1371,18 @@ const opRecognizeCelebrities = "RecognizeCelebrities" // RecognizeCelebritiesRequest generates a "aws/request.Request" representing the // client's request for the RecognizeCelebrities operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RecognizeCelebrities for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RecognizeCelebrities method directly -// instead. +// See RecognizeCelebrities for more information on using the RecognizeCelebrities +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RecognizeCelebritiesRequest method. // req, resp := client.RecognizeCelebritiesRequest(params) @@ -1512,19 +1500,18 @@ const opSearchFaces = "SearchFaces" // SearchFacesRequest generates a "aws/request.Request" representing the // client's request for the SearchFaces operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SearchFaces for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SearchFaces method directly -// instead. +// See SearchFaces for more information on using the SearchFaces +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SearchFacesRequest method. // req, resp := client.SearchFacesRequest(params) @@ -1624,19 +1611,18 @@ const opSearchFacesByImage = "SearchFacesByImage" // SearchFacesByImageRequest generates a "aws/request.Request" representing the // client's request for the SearchFacesByImage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SearchFacesByImage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SearchFacesByImage method directly -// instead. +// See SearchFacesByImage for more information on using the SearchFacesByImage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SearchFacesByImageRequest method. // req, resp := client.SearchFacesByImageRequest(params) @@ -3532,12 +3518,12 @@ type Landmark struct { // Type of the landmark. Type *string `type:"string" enum:"LandmarkType"` - // x-coordinate from the top left of the landmark expressed as the ration of + // x-coordinate from the top left of the landmark expressed as the ratio of // the width of the image. For example, if the images is 700x200 and the x-coordinate // of the landmark is at 350 pixels, this value is 0.5. X *float64 `type:"float"` - // y-coordinate from the top left of the landmark expressed as the ration of + // y-coordinate from the top left of the landmark expressed as the ratio of // the height of the image. For example, if the images is 700x200 and the y-coordinate // of the landmark is at 100 pixels, this value is 0.5. Y *float64 `type:"float"` @@ -4396,87 +4382,87 @@ const ( const ( // GenderTypeMale is a GenderType enum value - GenderTypeMale = "MALE" + GenderTypeMale = "Male" // GenderTypeFemale is a GenderType enum value - GenderTypeFemale = "FEMALE" + GenderTypeFemale = "Female" ) const ( // LandmarkTypeEyeLeft is a LandmarkType enum value - LandmarkTypeEyeLeft = "EYE_LEFT" + LandmarkTypeEyeLeft = "eyeLeft" // LandmarkTypeEyeRight is a LandmarkType enum value - LandmarkTypeEyeRight = "EYE_RIGHT" + LandmarkTypeEyeRight = "eyeRight" // LandmarkTypeNose is a LandmarkType enum value - LandmarkTypeNose = "NOSE" + LandmarkTypeNose = "nose" // LandmarkTypeMouthLeft is a LandmarkType enum value - LandmarkTypeMouthLeft = "MOUTH_LEFT" + LandmarkTypeMouthLeft = "mouthLeft" // LandmarkTypeMouthRight is a LandmarkType enum value - LandmarkTypeMouthRight = "MOUTH_RIGHT" + LandmarkTypeMouthRight = "mouthRight" - // LandmarkTypeLeftEyebrowLeft is a LandmarkType enum value - LandmarkTypeLeftEyebrowLeft = "LEFT_EYEBROW_LEFT" + // LandmarkTypeLeftEyeBrowLeft is a LandmarkType enum value + LandmarkTypeLeftEyeBrowLeft = "leftEyeBrowLeft" - // LandmarkTypeLeftEyebrowRight is a LandmarkType enum value - LandmarkTypeLeftEyebrowRight = "LEFT_EYEBROW_RIGHT" + // LandmarkTypeLeftEyeBrowRight is a LandmarkType enum value + LandmarkTypeLeftEyeBrowRight = "leftEyeBrowRight" - // LandmarkTypeLeftEyebrowUp is a LandmarkType enum value - LandmarkTypeLeftEyebrowUp = "LEFT_EYEBROW_UP" + // LandmarkTypeLeftEyeBrowUp is a LandmarkType enum value + LandmarkTypeLeftEyeBrowUp = "leftEyeBrowUp" - // LandmarkTypeRightEyebrowLeft is a LandmarkType enum value - LandmarkTypeRightEyebrowLeft = "RIGHT_EYEBROW_LEFT" + // LandmarkTypeRightEyeBrowLeft is a LandmarkType enum value + LandmarkTypeRightEyeBrowLeft = "rightEyeBrowLeft" - // LandmarkTypeRightEyebrowRight is a LandmarkType enum value - LandmarkTypeRightEyebrowRight = "RIGHT_EYEBROW_RIGHT" + // LandmarkTypeRightEyeBrowRight is a LandmarkType enum value + LandmarkTypeRightEyeBrowRight = "rightEyeBrowRight" - // LandmarkTypeRightEyebrowUp is a LandmarkType enum value - LandmarkTypeRightEyebrowUp = "RIGHT_EYEBROW_UP" + // LandmarkTypeRightEyeBrowUp is a LandmarkType enum value + LandmarkTypeRightEyeBrowUp = "rightEyeBrowUp" // LandmarkTypeLeftEyeLeft is a LandmarkType enum value - LandmarkTypeLeftEyeLeft = "LEFT_EYE_LEFT" + LandmarkTypeLeftEyeLeft = "leftEyeLeft" // LandmarkTypeLeftEyeRight is a LandmarkType enum value - LandmarkTypeLeftEyeRight = "LEFT_EYE_RIGHT" + LandmarkTypeLeftEyeRight = "leftEyeRight" // LandmarkTypeLeftEyeUp is a LandmarkType enum value - LandmarkTypeLeftEyeUp = "LEFT_EYE_UP" + LandmarkTypeLeftEyeUp = "leftEyeUp" // LandmarkTypeLeftEyeDown is a LandmarkType enum value - LandmarkTypeLeftEyeDown = "LEFT_EYE_DOWN" + LandmarkTypeLeftEyeDown = "leftEyeDown" // LandmarkTypeRightEyeLeft is a LandmarkType enum value - LandmarkTypeRightEyeLeft = "RIGHT_EYE_LEFT" + LandmarkTypeRightEyeLeft = "rightEyeLeft" // LandmarkTypeRightEyeRight is a LandmarkType enum value - LandmarkTypeRightEyeRight = "RIGHT_EYE_RIGHT" + LandmarkTypeRightEyeRight = "rightEyeRight" // LandmarkTypeRightEyeUp is a LandmarkType enum value - LandmarkTypeRightEyeUp = "RIGHT_EYE_UP" + LandmarkTypeRightEyeUp = "rightEyeUp" // LandmarkTypeRightEyeDown is a LandmarkType enum value - LandmarkTypeRightEyeDown = "RIGHT_EYE_DOWN" + LandmarkTypeRightEyeDown = "rightEyeDown" // LandmarkTypeNoseLeft is a LandmarkType enum value - LandmarkTypeNoseLeft = "NOSE_LEFT" + LandmarkTypeNoseLeft = "noseLeft" // LandmarkTypeNoseRight is a LandmarkType enum value - LandmarkTypeNoseRight = "NOSE_RIGHT" + LandmarkTypeNoseRight = "noseRight" // LandmarkTypeMouthUp is a LandmarkType enum value - LandmarkTypeMouthUp = "MOUTH_UP" + LandmarkTypeMouthUp = "mouthUp" // LandmarkTypeMouthDown is a LandmarkType enum value - LandmarkTypeMouthDown = "MOUTH_DOWN" + LandmarkTypeMouthDown = "mouthDown" // LandmarkTypeLeftPupil is a LandmarkType enum value - LandmarkTypeLeftPupil = "LEFT_PUPIL" + LandmarkTypeLeftPupil = "leftPupil" // LandmarkTypeRightPupil is a LandmarkType enum value - LandmarkTypeRightPupil = "RIGHT_PUPIL" + LandmarkTypeRightPupil = "rightPupil" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/rekognition/doc.go b/vendor/github.com/aws/aws-sdk-go/service/rekognition/doc.go index d9a6ca6be..30039338e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/rekognition/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/rekognition/doc.go @@ -10,69 +10,17 @@ // // Using the Client // -// To use the client for Amazon Rekognition you will first need -// to create a new instance of it. +// To Amazon Rekognition with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := rekognition.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Rekognition client Rekognition for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/rekognition/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CompareFaces(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CompareFaces result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CompareFacesWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package rekognition diff --git a/vendor/github.com/aws/aws-sdk-go/service/rekognition/rekognitioniface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/rekognition/rekognitioniface/interface.go index c4a232a53..15bcb1fd0 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/rekognition/rekognitioniface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/rekognition/rekognitioniface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Rekognition. diff --git a/vendor/github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi/api.go b/vendor/github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi/api.go index 76d5f8648..231389030 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi/api.go @@ -14,19 +14,18 @@ const opGetResources = "GetResources" // GetResourcesRequest generates a "aws/request.Request" representing the // client's request for the GetResources operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetResources for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetResources method directly -// instead. +// See GetResources for more information on using the GetResources +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetResourcesRequest method. // req, resp := client.GetResourcesRequest(params) @@ -167,19 +166,18 @@ const opGetTagKeys = "GetTagKeys" // GetTagKeysRequest generates a "aws/request.Request" representing the // client's request for the GetTagKeys operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetTagKeys for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetTagKeys method directly -// instead. +// See GetTagKeys for more information on using the GetTagKeys +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetTagKeysRequest method. // req, resp := client.GetTagKeysRequest(params) @@ -315,19 +313,18 @@ const opGetTagValues = "GetTagValues" // GetTagValuesRequest generates a "aws/request.Request" representing the // client's request for the GetTagValues operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetTagValues for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetTagValues method directly -// instead. +// See GetTagValues for more information on using the GetTagValues +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetTagValuesRequest method. // req, resp := client.GetTagValuesRequest(params) @@ -464,19 +461,18 @@ const opTagResources = "TagResources" // TagResourcesRequest generates a "aws/request.Request" representing the // client's request for the TagResources operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TagResources for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TagResources method directly -// instead. +// See TagResources for more information on using the TagResources +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TagResourcesRequest method. // req, resp := client.TagResourcesRequest(params) @@ -568,19 +564,18 @@ const opUntagResources = "UntagResources" // UntagResourcesRequest generates a "aws/request.Request" representing the // client's request for the UntagResources operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UntagResources for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UntagResources method directly -// instead. +// See UntagResources for more information on using the UntagResources +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UntagResourcesRequest method. // req, resp := client.UntagResourcesRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi/doc.go b/vendor/github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi/doc.go index 53b95a3b3..8dd08e073 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi/doc.go @@ -48,69 +48,17 @@ // // Using the Client // -// To use the client for AWS Resource Groups Tagging API you will first need -// to create a new instance of it. +// To AWS Resource Groups Tagging API with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := resourcegroupstaggingapi.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Resource Groups Tagging API client ResourceGroupsTaggingAPI for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/resourcegroupstaggingapi/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.GetResources(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("GetResources result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.GetResourcesWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package resourcegroupstaggingapi diff --git a/vendor/github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi/resourcegroupstaggingapiiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi/resourcegroupstaggingapiiface/interface.go index 0ba44380e..a0ece6e96 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi/resourcegroupstaggingapiiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi/resourcegroupstaggingapiiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Resource Groups Tagging API. diff --git a/vendor/github.com/aws/aws-sdk-go/service/route53/api.go b/vendor/github.com/aws/aws-sdk-go/service/route53/api.go index 04acca9ba..bc0770073 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/route53/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/route53/api.go @@ -15,19 +15,18 @@ const opAssociateVPCWithHostedZone = "AssociateVPCWithHostedZone" // AssociateVPCWithHostedZoneRequest generates a "aws/request.Request" representing the // client's request for the AssociateVPCWithHostedZone operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssociateVPCWithHostedZone for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssociateVPCWithHostedZone method directly -// instead. +// See AssociateVPCWithHostedZone for more information on using the AssociateVPCWithHostedZone +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssociateVPCWithHostedZoneRequest method. // req, resp := client.AssociateVPCWithHostedZoneRequest(params) @@ -139,19 +138,18 @@ const opChangeResourceRecordSets = "ChangeResourceRecordSets" // ChangeResourceRecordSetsRequest generates a "aws/request.Request" representing the // client's request for the ChangeResourceRecordSets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ChangeResourceRecordSets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ChangeResourceRecordSets method directly -// instead. +// See ChangeResourceRecordSets for more information on using the ChangeResourceRecordSets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ChangeResourceRecordSetsRequest method. // req, resp := client.ChangeResourceRecordSetsRequest(params) @@ -315,19 +313,18 @@ const opChangeTagsForResource = "ChangeTagsForResource" // ChangeTagsForResourceRequest generates a "aws/request.Request" representing the // client's request for the ChangeTagsForResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ChangeTagsForResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ChangeTagsForResource method directly -// instead. +// See ChangeTagsForResource for more information on using the ChangeTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ChangeTagsForResourceRequest method. // req, resp := client.ChangeTagsForResourceRequest(params) @@ -416,19 +413,18 @@ const opCreateHealthCheck = "CreateHealthCheck" // CreateHealthCheckRequest generates a "aws/request.Request" representing the // client's request for the CreateHealthCheck operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateHealthCheck for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateHealthCheck method directly -// instead. +// See CreateHealthCheck for more information on using the CreateHealthCheck +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateHealthCheckRequest method. // req, resp := client.CreateHealthCheckRequest(params) @@ -543,19 +539,18 @@ const opCreateHostedZone = "CreateHostedZone" // CreateHostedZoneRequest generates a "aws/request.Request" representing the // client's request for the CreateHostedZone operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateHostedZone for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateHostedZone method directly -// instead. +// See CreateHostedZone for more information on using the CreateHostedZone +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateHostedZoneRequest method. // req, resp := client.CreateHostedZoneRequest(params) @@ -700,23 +695,223 @@ func (c *Route53) CreateHostedZoneWithContext(ctx aws.Context, input *CreateHost return out, req.Send() } +const opCreateQueryLoggingConfig = "CreateQueryLoggingConfig" + +// CreateQueryLoggingConfigRequest generates a "aws/request.Request" representing the +// client's request for the CreateQueryLoggingConfig operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateQueryLoggingConfig for more information on using the CreateQueryLoggingConfig +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateQueryLoggingConfigRequest method. +// req, resp := client.CreateQueryLoggingConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateQueryLoggingConfig +func (c *Route53) CreateQueryLoggingConfigRequest(input *CreateQueryLoggingConfigInput) (req *request.Request, output *CreateQueryLoggingConfigOutput) { + op := &request.Operation{ + Name: opCreateQueryLoggingConfig, + HTTPMethod: "POST", + HTTPPath: "/2013-04-01/queryloggingconfig", + } + + if input == nil { + input = &CreateQueryLoggingConfigInput{} + } + + output = &CreateQueryLoggingConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateQueryLoggingConfig API operation for Amazon Route 53. +// +// Creates a configuration for DNS query logging. After you create a query logging +// configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch +// Logs log group. +// +// DNS query logs contain information about the queries that Amazon Route 53 +// receives for a specified public hosted zone, such as the following: +// +// * Amazon Route 53 edge location that responded to the DNS query +// +// * Domain or subdomain that was requested +// +// * DNS record type, such as A or AAAA +// +// * DNS response code, such as NoError or ServFail +// +// Log Group and Resource PolicyBefore you create a query logging configuration, +// perform the following operations. +// +// If you create a query logging configuration using the Amazon Route 53 console, +// Amazon Route 53 performs these operations automatically. +// +// Create a CloudWatch Logs log group, and make note of the ARN, which you specify +// when you create a query logging configuration. Note the following: +// +// You must create the log group in the us-east-1 region. +// +// You must use the same AWS account to create the log group and the hosted +// zone that you want to configure query logging for. +// +// When you create log groups for query logging, we recommend that you use a +// consistent prefix, for example: +// +// /aws/route53/hosted zone name +// +// In the next step, you'll create a resource policy, which controls access +// to one or more log groups and the associated AWS resources, such as Amazon +// Route 53 hosted zones. There's a limit on the number of resource policies +// that you can create, so we recommend that you use a consistent prefix so +// you can use the same resource policy for all the log groups that you create +// for query logging. +// +// Create a CloudWatch Logs resource policy, and give it the permissions that +// Amazon Route 53 needs to create log streams and to to send query logs to +// log streams. For the value of Resource, specify the ARN for the log group +// that you created in the previous step. To use the same resource policy for +// all the CloudWatch Logs log groups that you created for query logging configurations, +// replace the hosted zone name with *, for example: +// +// arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/* +// +// You can't use the CloudWatch console to create or edit a resource policy. +// You must use the CloudWatch API, one of the AWS SDKs, or the AWS CLI. +// +// Log Streams and Edge LocationsWhen Amazon Route 53 finishes creating the +// configuration for DNS query logging, it does the following: +// +// Creates a log stream for an edge location the first time that the edge location +// responds to DNS queries for the specified hosted zone. That log stream is +// used to log all queries that Amazon Route 53 responds to for that edge location. +// +// Begins to send query logs to the applicable log stream. +// +// The name of each log stream is in the following format: +// +// hosted zone ID/edge location code +// +// The edge location code is a three-letter code and an arbitrarily assigned +// number, for example, DFW3. The three-letter code typically corresponds with +// the International Air Transport Association airport code for an airport near +// the edge location. (These abbreviations might change in the future.) For +// a list of edge locations, see "The Amazon Route 53 Global Network" on the +// Amazon Route 53 Product Details (http://aws.amazon.com/route53/details/) +// page. +// +// Queries That Are LoggedQuery logs contain only the queries that DNS resolvers +// forward to Amazon Route 53. If a DNS resolver has already cached the response +// to a query (such as the IP address for a load balancer for example.com), +// the resolver will continue to return the cached response. It doesn't forward +// another query to Amazon Route 53 until the TTL for the corresponding resource +// record set expires. Depending on how many DNS queries are submitted for a +// resource record set, and depending on the TTL for that resource record set, +// query logs might contain information about only one query out of every several +// thousand queries that are submitted to DNS. For more information about how +// DNS works, see Routing Internet Traffic to Your Website or Web Application +// (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/welcome-dns-service.html) +// in the Amazon Route 53 Developer Guide. +// +// Log File FormatFor a list of the values in each query log and the format +// of each value, see Logging DNS Queries (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html) +// in the Amazon Route 53 Developer Guide. +// +// PricingFor information about charges for query logs, see Amazon CloudWatch +// Pricing (http://aws.amazon.com/cloudwatch/pricing/). +// +// How to Stop LoggingIf you want Amazon Route 53 to stop sending query logs +// to CloudWatch Logs, delete the query logging configuration. For more information, +// see DeleteQueryLoggingConfig. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53's +// API operation CreateQueryLoggingConfig for usage and error information. +// +// Returned Error Codes: +// * ErrCodeConcurrentModification "ConcurrentModification" +// Another user submitted a request to create, update, or delete the object +// at the same time that you did. Retry the request. +// +// * ErrCodeNoSuchHostedZone "NoSuchHostedZone" +// No hosted zone exists with the ID that you specified. +// +// * ErrCodeNoSuchCloudWatchLogsLogGroup "NoSuchCloudWatchLogsLogGroup" +// There is no CloudWatch Logs log group with the specified ARN. +// +// * ErrCodeInvalidInput "InvalidInput" +// The input is not valid. +// +// * ErrCodeQueryLoggingConfigAlreadyExists "QueryLoggingConfigAlreadyExists" +// You can create only one query logging configuration for a hosted zone, and +// a query logging configuration already exists for this hosted zone. +// +// * ErrCodeInsufficientCloudWatchLogsResourcePolicy "InsufficientCloudWatchLogsResourcePolicy" +// Amazon Route 53 doesn't have the permissions required to create log streams +// and send query logs to log streams. Possible causes include the following: +// +// * There is no resource policy that specifies the log group ARN in the +// value for Resource. +// +// * The resource policy that includes the log group ARN in the value for +// Resource doesn't have the necessary permissions. +// +// * The resource policy hasn't finished propagating yet. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateQueryLoggingConfig +func (c *Route53) CreateQueryLoggingConfig(input *CreateQueryLoggingConfigInput) (*CreateQueryLoggingConfigOutput, error) { + req, out := c.CreateQueryLoggingConfigRequest(input) + return out, req.Send() +} + +// CreateQueryLoggingConfigWithContext is the same as CreateQueryLoggingConfig with the addition of +// the ability to pass a context and additional request options. +// +// See CreateQueryLoggingConfig for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53) CreateQueryLoggingConfigWithContext(ctx aws.Context, input *CreateQueryLoggingConfigInput, opts ...request.Option) (*CreateQueryLoggingConfigOutput, error) { + req, out := c.CreateQueryLoggingConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateReusableDelegationSet = "CreateReusableDelegationSet" // CreateReusableDelegationSetRequest generates a "aws/request.Request" representing the // client's request for the CreateReusableDelegationSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateReusableDelegationSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateReusableDelegationSet method directly -// instead. +// See CreateReusableDelegationSet for more information on using the CreateReusableDelegationSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateReusableDelegationSetRequest method. // req, resp := client.CreateReusableDelegationSetRequest(params) @@ -814,19 +1009,18 @@ const opCreateTrafficPolicy = "CreateTrafficPolicy" // CreateTrafficPolicyRequest generates a "aws/request.Request" representing the // client's request for the CreateTrafficPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateTrafficPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateTrafficPolicy method directly -// instead. +// See CreateTrafficPolicy for more information on using the CreateTrafficPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateTrafficPolicyRequest method. // req, resp := client.CreateTrafficPolicyRequest(params) @@ -908,19 +1102,18 @@ const opCreateTrafficPolicyInstance = "CreateTrafficPolicyInstance" // CreateTrafficPolicyInstanceRequest generates a "aws/request.Request" representing the // client's request for the CreateTrafficPolicyInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateTrafficPolicyInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateTrafficPolicyInstance method directly -// instead. +// See CreateTrafficPolicyInstance for more information on using the CreateTrafficPolicyInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateTrafficPolicyInstanceRequest method. // req, resp := client.CreateTrafficPolicyInstanceRequest(params) @@ -979,7 +1172,7 @@ func (c *Route53) CreateTrafficPolicyInstanceRequest(input *CreateTrafficPolicyI // No traffic policy exists with the specified ID. // // * ErrCodeTrafficPolicyInstanceAlreadyExists "TrafficPolicyInstanceAlreadyExists" -// Traffic policy instance with given Id already exists. +// There is already a traffic policy instance with the specified ID. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateTrafficPolicyInstance func (c *Route53) CreateTrafficPolicyInstance(input *CreateTrafficPolicyInstanceInput) (*CreateTrafficPolicyInstanceOutput, error) { @@ -1007,19 +1200,18 @@ const opCreateTrafficPolicyVersion = "CreateTrafficPolicyVersion" // CreateTrafficPolicyVersionRequest generates a "aws/request.Request" representing the // client's request for the CreateTrafficPolicyVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateTrafficPolicyVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateTrafficPolicyVersion method directly -// instead. +// See CreateTrafficPolicyVersion for more information on using the CreateTrafficPolicyVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateTrafficPolicyVersionRequest method. // req, resp := client.CreateTrafficPolicyVersionRequest(params) @@ -1072,8 +1264,8 @@ func (c *Route53) CreateTrafficPolicyVersionRequest(input *CreateTrafficPolicyVe // The input is not valid. // // * ErrCodeConcurrentModification "ConcurrentModification" -// Another user submitted a request to update the object at the same time that -// you did. Retry the request. +// Another user submitted a request to create, update, or delete the object +// at the same time that you did. Retry the request. // // * ErrCodeInvalidTrafficPolicyDocument "InvalidTrafficPolicyDocument" // The format of the traffic policy document that you specified in the Document @@ -1105,19 +1297,18 @@ const opCreateVPCAssociationAuthorization = "CreateVPCAssociationAuthorization" // CreateVPCAssociationAuthorizationRequest generates a "aws/request.Request" representing the // client's request for the CreateVPCAssociationAuthorization operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateVPCAssociationAuthorization for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateVPCAssociationAuthorization method directly -// instead. +// See CreateVPCAssociationAuthorization for more information on using the CreateVPCAssociationAuthorization +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateVPCAssociationAuthorizationRequest method. // req, resp := client.CreateVPCAssociationAuthorizationRequest(params) @@ -1166,8 +1357,8 @@ func (c *Route53) CreateVPCAssociationAuthorizationRequest(input *CreateVPCAssoc // // Returned Error Codes: // * ErrCodeConcurrentModification "ConcurrentModification" -// Another user submitted a request to update the object at the same time that -// you did. Retry the request. +// Another user submitted a request to create, update, or delete the object +// at the same time that you did. Retry the request. // // * ErrCodeTooManyVPCAssociationAuthorizations "TooManyVPCAssociationAuthorizations" // You've created the maximum number of authorizations that can be created for @@ -1212,19 +1403,18 @@ const opDeleteHealthCheck = "DeleteHealthCheck" // DeleteHealthCheckRequest generates a "aws/request.Request" representing the // client's request for the DeleteHealthCheck operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteHealthCheck for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteHealthCheck method directly -// instead. +// See DeleteHealthCheck for more information on using the DeleteHealthCheck +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteHealthCheckRequest method. // req, resp := client.DeleteHealthCheckRequest(params) @@ -1307,19 +1497,18 @@ const opDeleteHostedZone = "DeleteHostedZone" // DeleteHostedZoneRequest generates a "aws/request.Request" representing the // client's request for the DeleteHostedZone operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteHostedZone for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteHostedZone method directly -// instead. +// See DeleteHostedZone for more information on using the DeleteHostedZone +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteHostedZoneRequest method. // req, resp := client.DeleteHostedZoneRequest(params) @@ -1428,23 +1617,112 @@ func (c *Route53) DeleteHostedZoneWithContext(ctx aws.Context, input *DeleteHost return out, req.Send() } +const opDeleteQueryLoggingConfig = "DeleteQueryLoggingConfig" + +// DeleteQueryLoggingConfigRequest generates a "aws/request.Request" representing the +// client's request for the DeleteQueryLoggingConfig operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteQueryLoggingConfig for more information on using the DeleteQueryLoggingConfig +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteQueryLoggingConfigRequest method. +// req, resp := client.DeleteQueryLoggingConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteQueryLoggingConfig +func (c *Route53) DeleteQueryLoggingConfigRequest(input *DeleteQueryLoggingConfigInput) (req *request.Request, output *DeleteQueryLoggingConfigOutput) { + op := &request.Operation{ + Name: opDeleteQueryLoggingConfig, + HTTPMethod: "DELETE", + HTTPPath: "/2013-04-01/queryloggingconfig/{Id}", + } + + if input == nil { + input = &DeleteQueryLoggingConfigInput{} + } + + output = &DeleteQueryLoggingConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteQueryLoggingConfig API operation for Amazon Route 53. +// +// Deletes a configuration for DNS query logging. If you delete a configuration, +// Amazon Route 53 stops sending query logs to CloudWatch Logs. Amazon Route +// 53 doesn't delete any logs that are already in CloudWatch Logs. +// +// For more information about DNS query logs, see CreateQueryLoggingConfig. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53's +// API operation DeleteQueryLoggingConfig for usage and error information. +// +// Returned Error Codes: +// * ErrCodeConcurrentModification "ConcurrentModification" +// Another user submitted a request to create, update, or delete the object +// at the same time that you did. Retry the request. +// +// * ErrCodeNoSuchQueryLoggingConfig "NoSuchQueryLoggingConfig" +// There is no DNS query logging configuration with the specified ID. +// +// * ErrCodeInvalidInput "InvalidInput" +// The input is not valid. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteQueryLoggingConfig +func (c *Route53) DeleteQueryLoggingConfig(input *DeleteQueryLoggingConfigInput) (*DeleteQueryLoggingConfigOutput, error) { + req, out := c.DeleteQueryLoggingConfigRequest(input) + return out, req.Send() +} + +// DeleteQueryLoggingConfigWithContext is the same as DeleteQueryLoggingConfig with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteQueryLoggingConfig for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53) DeleteQueryLoggingConfigWithContext(ctx aws.Context, input *DeleteQueryLoggingConfigInput, opts ...request.Option) (*DeleteQueryLoggingConfigOutput, error) { + req, out := c.DeleteQueryLoggingConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteReusableDelegationSet = "DeleteReusableDelegationSet" // DeleteReusableDelegationSetRequest generates a "aws/request.Request" representing the // client's request for the DeleteReusableDelegationSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteReusableDelegationSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteReusableDelegationSet method directly -// instead. +// See DeleteReusableDelegationSet for more information on using the DeleteReusableDelegationSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteReusableDelegationSetRequest method. // req, resp := client.DeleteReusableDelegationSetRequest(params) @@ -1529,19 +1807,18 @@ const opDeleteTrafficPolicy = "DeleteTrafficPolicy" // DeleteTrafficPolicyRequest generates a "aws/request.Request" representing the // client's request for the DeleteTrafficPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteTrafficPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteTrafficPolicy method directly -// instead. +// See DeleteTrafficPolicy for more information on using the DeleteTrafficPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteTrafficPolicyRequest method. // req, resp := client.DeleteTrafficPolicyRequest(params) @@ -1591,8 +1868,8 @@ func (c *Route53) DeleteTrafficPolicyRequest(input *DeleteTrafficPolicyInput) (r // traffic policy. // // * ErrCodeConcurrentModification "ConcurrentModification" -// Another user submitted a request to update the object at the same time that -// you did. Retry the request. +// Another user submitted a request to create, update, or delete the object +// at the same time that you did. Retry the request. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteTrafficPolicy func (c *Route53) DeleteTrafficPolicy(input *DeleteTrafficPolicyInput) (*DeleteTrafficPolicyOutput, error) { @@ -1620,19 +1897,18 @@ const opDeleteTrafficPolicyInstance = "DeleteTrafficPolicyInstance" // DeleteTrafficPolicyInstanceRequest generates a "aws/request.Request" representing the // client's request for the DeleteTrafficPolicyInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteTrafficPolicyInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteTrafficPolicyInstance method directly -// instead. +// See DeleteTrafficPolicyInstance for more information on using the DeleteTrafficPolicyInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteTrafficPolicyInstanceRequest method. // req, resp := client.DeleteTrafficPolicyInstanceRequest(params) @@ -1714,19 +1990,18 @@ const opDeleteVPCAssociationAuthorization = "DeleteVPCAssociationAuthorization" // DeleteVPCAssociationAuthorizationRequest generates a "aws/request.Request" representing the // client's request for the DeleteVPCAssociationAuthorization operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteVPCAssociationAuthorization for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteVPCAssociationAuthorization method directly -// instead. +// See DeleteVPCAssociationAuthorization for more information on using the DeleteVPCAssociationAuthorization +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteVPCAssociationAuthorizationRequest method. // req, resp := client.DeleteVPCAssociationAuthorizationRequest(params) @@ -1775,8 +2050,8 @@ func (c *Route53) DeleteVPCAssociationAuthorizationRequest(input *DeleteVPCAssoc // // Returned Error Codes: // * ErrCodeConcurrentModification "ConcurrentModification" -// Another user submitted a request to update the object at the same time that -// you did. Retry the request. +// Another user submitted a request to create, update, or delete the object +// at the same time that you did. Retry the request. // // * ErrCodeVPCAssociationAuthorizationNotFound "VPCAssociationAuthorizationNotFound" // The VPC that you specified is not authorized to be associated with the hosted @@ -1818,19 +2093,18 @@ const opDisassociateVPCFromHostedZone = "DisassociateVPCFromHostedZone" // DisassociateVPCFromHostedZoneRequest generates a "aws/request.Request" representing the // client's request for the DisassociateVPCFromHostedZone operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisassociateVPCFromHostedZone for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisassociateVPCFromHostedZone method directly -// instead. +// See DisassociateVPCFromHostedZone for more information on using the DisassociateVPCFromHostedZone +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisassociateVPCFromHostedZoneRequest method. // req, resp := client.DisassociateVPCFromHostedZoneRequest(params) @@ -1919,19 +2193,18 @@ const opGetChange = "GetChange" // GetChangeRequest generates a "aws/request.Request" representing the // client's request for the GetChange operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetChange for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetChange method directly -// instead. +// See GetChange for more information on using the GetChange +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetChangeRequest method. // req, resp := client.GetChangeRequest(params) @@ -2010,19 +2283,18 @@ const opGetCheckerIpRanges = "GetCheckerIpRanges" // GetCheckerIpRangesRequest generates a "aws/request.Request" representing the // client's request for the GetCheckerIpRanges operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetCheckerIpRanges for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetCheckerIpRanges method directly -// instead. +// See GetCheckerIpRanges for more information on using the GetCheckerIpRanges +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetCheckerIpRangesRequest method. // req, resp := client.GetCheckerIpRangesRequest(params) @@ -2088,19 +2360,18 @@ const opGetGeoLocation = "GetGeoLocation" // GetGeoLocationRequest generates a "aws/request.Request" representing the // client's request for the GetGeoLocation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetGeoLocation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetGeoLocation method directly -// instead. +// See GetGeoLocation for more information on using the GetGeoLocation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetGeoLocationRequest method. // req, resp := client.GetGeoLocationRequest(params) @@ -2188,19 +2459,18 @@ const opGetHealthCheck = "GetHealthCheck" // GetHealthCheckRequest generates a "aws/request.Request" representing the // client's request for the GetHealthCheck operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetHealthCheck for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetHealthCheck method directly -// instead. +// See GetHealthCheck for more information on using the GetHealthCheck +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetHealthCheckRequest method. // req, resp := client.GetHealthCheckRequest(params) @@ -2276,19 +2546,18 @@ const opGetHealthCheckCount = "GetHealthCheckCount" // GetHealthCheckCountRequest generates a "aws/request.Request" representing the // client's request for the GetHealthCheckCount operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetHealthCheckCount for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetHealthCheckCount method directly -// instead. +// See GetHealthCheckCount for more information on using the GetHealthCheckCount +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetHealthCheckCountRequest method. // req, resp := client.GetHealthCheckCountRequest(params) @@ -2352,19 +2621,18 @@ const opGetHealthCheckLastFailureReason = "GetHealthCheckLastFailureReason" // GetHealthCheckLastFailureReasonRequest generates a "aws/request.Request" representing the // client's request for the GetHealthCheckLastFailureReason operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetHealthCheckLastFailureReason for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetHealthCheckLastFailureReason method directly -// instead. +// See GetHealthCheckLastFailureReason for more information on using the GetHealthCheckLastFailureReason +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetHealthCheckLastFailureReasonRequest method. // req, resp := client.GetHealthCheckLastFailureReasonRequest(params) @@ -2436,19 +2704,18 @@ const opGetHealthCheckStatus = "GetHealthCheckStatus" // GetHealthCheckStatusRequest generates a "aws/request.Request" representing the // client's request for the GetHealthCheckStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetHealthCheckStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetHealthCheckStatus method directly -// instead. +// See GetHealthCheckStatus for more information on using the GetHealthCheckStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetHealthCheckStatusRequest method. // req, resp := client.GetHealthCheckStatusRequest(params) @@ -2520,19 +2787,18 @@ const opGetHostedZone = "GetHostedZone" // GetHostedZoneRequest generates a "aws/request.Request" representing the // client's request for the GetHostedZone operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetHostedZone for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetHostedZone method directly -// instead. +// See GetHostedZone for more information on using the GetHostedZone +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetHostedZoneRequest method. // req, resp := client.GetHostedZoneRequest(params) @@ -2604,19 +2870,18 @@ const opGetHostedZoneCount = "GetHostedZoneCount" // GetHostedZoneCountRequest generates a "aws/request.Request" representing the // client's request for the GetHostedZoneCount operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetHostedZoneCount for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetHostedZoneCount method directly -// instead. +// See GetHostedZoneCount for more information on using the GetHostedZoneCount +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetHostedZoneCountRequest method. // req, resp := client.GetHostedZoneCountRequest(params) @@ -2681,23 +2946,107 @@ func (c *Route53) GetHostedZoneCountWithContext(ctx aws.Context, input *GetHoste return out, req.Send() } +const opGetQueryLoggingConfig = "GetQueryLoggingConfig" + +// GetQueryLoggingConfigRequest generates a "aws/request.Request" representing the +// client's request for the GetQueryLoggingConfig operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetQueryLoggingConfig for more information on using the GetQueryLoggingConfig +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetQueryLoggingConfigRequest method. +// req, resp := client.GetQueryLoggingConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetQueryLoggingConfig +func (c *Route53) GetQueryLoggingConfigRequest(input *GetQueryLoggingConfigInput) (req *request.Request, output *GetQueryLoggingConfigOutput) { + op := &request.Operation{ + Name: opGetQueryLoggingConfig, + HTTPMethod: "GET", + HTTPPath: "/2013-04-01/queryloggingconfig/{Id}", + } + + if input == nil { + input = &GetQueryLoggingConfigInput{} + } + + output = &GetQueryLoggingConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetQueryLoggingConfig API operation for Amazon Route 53. +// +// Gets information about a specified configuration for DNS query logging. +// +// For more information about DNS query logs, see CreateQueryLoggingConfig and +// Logging DNS Queries (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53's +// API operation GetQueryLoggingConfig for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNoSuchQueryLoggingConfig "NoSuchQueryLoggingConfig" +// There is no DNS query logging configuration with the specified ID. +// +// * ErrCodeInvalidInput "InvalidInput" +// The input is not valid. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetQueryLoggingConfig +func (c *Route53) GetQueryLoggingConfig(input *GetQueryLoggingConfigInput) (*GetQueryLoggingConfigOutput, error) { + req, out := c.GetQueryLoggingConfigRequest(input) + return out, req.Send() +} + +// GetQueryLoggingConfigWithContext is the same as GetQueryLoggingConfig with the addition of +// the ability to pass a context and additional request options. +// +// See GetQueryLoggingConfig for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53) GetQueryLoggingConfigWithContext(ctx aws.Context, input *GetQueryLoggingConfigInput, opts ...request.Option) (*GetQueryLoggingConfigOutput, error) { + req, out := c.GetQueryLoggingConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetReusableDelegationSet = "GetReusableDelegationSet" // GetReusableDelegationSetRequest generates a "aws/request.Request" representing the // client's request for the GetReusableDelegationSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetReusableDelegationSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetReusableDelegationSet method directly -// instead. +// See GetReusableDelegationSet for more information on using the GetReusableDelegationSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetReusableDelegationSetRequest method. // req, resp := client.GetReusableDelegationSetRequest(params) @@ -2772,19 +3121,18 @@ const opGetTrafficPolicy = "GetTrafficPolicy" // GetTrafficPolicyRequest generates a "aws/request.Request" representing the // client's request for the GetTrafficPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetTrafficPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetTrafficPolicy method directly -// instead. +// See GetTrafficPolicy for more information on using the GetTrafficPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetTrafficPolicyRequest method. // req, resp := client.GetTrafficPolicyRequest(params) @@ -2855,19 +3203,18 @@ const opGetTrafficPolicyInstance = "GetTrafficPolicyInstance" // GetTrafficPolicyInstanceRequest generates a "aws/request.Request" representing the // client's request for the GetTrafficPolicyInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetTrafficPolicyInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetTrafficPolicyInstance method directly -// instead. +// See GetTrafficPolicyInstance for more information on using the GetTrafficPolicyInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetTrafficPolicyInstanceRequest method. // req, resp := client.GetTrafficPolicyInstanceRequest(params) @@ -2946,19 +3293,18 @@ const opGetTrafficPolicyInstanceCount = "GetTrafficPolicyInstanceCount" // GetTrafficPolicyInstanceCountRequest generates a "aws/request.Request" representing the // client's request for the GetTrafficPolicyInstanceCount operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetTrafficPolicyInstanceCount for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetTrafficPolicyInstanceCount method directly -// instead. +// See GetTrafficPolicyInstanceCount for more information on using the GetTrafficPolicyInstanceCount +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetTrafficPolicyInstanceCountRequest method. // req, resp := client.GetTrafficPolicyInstanceCountRequest(params) @@ -3022,19 +3368,18 @@ const opListGeoLocations = "ListGeoLocations" // ListGeoLocationsRequest generates a "aws/request.Request" representing the // client's request for the ListGeoLocations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListGeoLocations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListGeoLocations method directly -// instead. +// See ListGeoLocations for more information on using the ListGeoLocations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListGeoLocationsRequest method. // req, resp := client.ListGeoLocationsRequest(params) @@ -3107,19 +3452,18 @@ const opListHealthChecks = "ListHealthChecks" // ListHealthChecksRequest generates a "aws/request.Request" representing the // client's request for the ListHealthChecks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListHealthChecks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListHealthChecks method directly -// instead. +// See ListHealthChecks for more information on using the ListHealthChecks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListHealthChecksRequest method. // req, resp := client.ListHealthChecksRequest(params) @@ -3248,19 +3592,18 @@ const opListHostedZones = "ListHostedZones" // ListHostedZonesRequest generates a "aws/request.Request" representing the // client's request for the ListHostedZones operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListHostedZones for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListHostedZones method directly -// instead. +// See ListHostedZones for more information on using the ListHostedZones +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListHostedZonesRequest method. // req, resp := client.ListHostedZonesRequest(params) @@ -3396,19 +3739,18 @@ const opListHostedZonesByName = "ListHostedZonesByName" // ListHostedZonesByNameRequest generates a "aws/request.Request" representing the // client's request for the ListHostedZonesByName operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListHostedZonesByName for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListHostedZonesByName method directly -// instead. +// See ListHostedZonesByName for more information on using the ListHostedZonesByName +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListHostedZonesByNameRequest method. // req, resp := client.ListHostedZonesByNameRequest(params) @@ -3524,23 +3866,115 @@ func (c *Route53) ListHostedZonesByNameWithContext(ctx aws.Context, input *ListH return out, req.Send() } +const opListQueryLoggingConfigs = "ListQueryLoggingConfigs" + +// ListQueryLoggingConfigsRequest generates a "aws/request.Request" representing the +// client's request for the ListQueryLoggingConfigs operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListQueryLoggingConfigs for more information on using the ListQueryLoggingConfigs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListQueryLoggingConfigsRequest method. +// req, resp := client.ListQueryLoggingConfigsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListQueryLoggingConfigs +func (c *Route53) ListQueryLoggingConfigsRequest(input *ListQueryLoggingConfigsInput) (req *request.Request, output *ListQueryLoggingConfigsOutput) { + op := &request.Operation{ + Name: opListQueryLoggingConfigs, + HTTPMethod: "GET", + HTTPPath: "/2013-04-01/queryloggingconfig", + } + + if input == nil { + input = &ListQueryLoggingConfigsInput{} + } + + output = &ListQueryLoggingConfigsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListQueryLoggingConfigs API operation for Amazon Route 53. +// +// Lists the configurations for DNS query logging that are associated with the +// current AWS account or the configuration that is associated with a specified +// hosted zone. +// +// For more information about DNS query logs, see CreateQueryLoggingConfig. +// Additional information, including the format of DNS query logs, appears in +// Logging DNS Queries (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html) +// in the Amazon Route 53 Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53's +// API operation ListQueryLoggingConfigs for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInput "InvalidInput" +// The input is not valid. +// +// * ErrCodeInvalidPaginationToken "InvalidPaginationToken" +// The value that you specified to get the second or subsequent page of results +// is invalid. +// +// * ErrCodeNoSuchHostedZone "NoSuchHostedZone" +// No hosted zone exists with the ID that you specified. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListQueryLoggingConfigs +func (c *Route53) ListQueryLoggingConfigs(input *ListQueryLoggingConfigsInput) (*ListQueryLoggingConfigsOutput, error) { + req, out := c.ListQueryLoggingConfigsRequest(input) + return out, req.Send() +} + +// ListQueryLoggingConfigsWithContext is the same as ListQueryLoggingConfigs with the addition of +// the ability to pass a context and additional request options. +// +// See ListQueryLoggingConfigs for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53) ListQueryLoggingConfigsWithContext(ctx aws.Context, input *ListQueryLoggingConfigsInput, opts ...request.Option) (*ListQueryLoggingConfigsOutput, error) { + req, out := c.ListQueryLoggingConfigsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListResourceRecordSets = "ListResourceRecordSets" // ListResourceRecordSetsRequest generates a "aws/request.Request" representing the // client's request for the ListResourceRecordSets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListResourceRecordSets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListResourceRecordSets method directly -// instead. +// See ListResourceRecordSets for more information on using the ListResourceRecordSets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListResourceRecordSetsRequest method. // req, resp := client.ListResourceRecordSetsRequest(params) @@ -3705,19 +4139,18 @@ const opListReusableDelegationSets = "ListReusableDelegationSets" // ListReusableDelegationSetsRequest generates a "aws/request.Request" representing the // client's request for the ListReusableDelegationSets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListReusableDelegationSets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListReusableDelegationSets method directly -// instead. +// See ListReusableDelegationSets for more information on using the ListReusableDelegationSets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListReusableDelegationSetsRequest method. // req, resp := client.ListReusableDelegationSetsRequest(params) @@ -3786,19 +4219,18 @@ const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the // client's request for the ListTagsForResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTagsForResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTagsForResource method directly -// instead. +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTagsForResourceRequest method. // req, resp := client.ListTagsForResourceRequest(params) @@ -3887,19 +4319,18 @@ const opListTagsForResources = "ListTagsForResources" // ListTagsForResourcesRequest generates a "aws/request.Request" representing the // client's request for the ListTagsForResources operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTagsForResources for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTagsForResources method directly -// instead. +// See ListTagsForResources for more information on using the ListTagsForResources +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTagsForResourcesRequest method. // req, resp := client.ListTagsForResourcesRequest(params) @@ -3988,19 +4419,18 @@ const opListTrafficPolicies = "ListTrafficPolicies" // ListTrafficPoliciesRequest generates a "aws/request.Request" representing the // client's request for the ListTrafficPolicies operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTrafficPolicies for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTrafficPolicies method directly -// instead. +// See ListTrafficPolicies for more information on using the ListTrafficPolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTrafficPoliciesRequest method. // req, resp := client.ListTrafficPoliciesRequest(params) @@ -4070,19 +4500,18 @@ const opListTrafficPolicyInstances = "ListTrafficPolicyInstances" // ListTrafficPolicyInstancesRequest generates a "aws/request.Request" representing the // client's request for the ListTrafficPolicyInstances operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTrafficPolicyInstances for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTrafficPolicyInstances method directly -// instead. +// See ListTrafficPolicyInstances for more information on using the ListTrafficPolicyInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTrafficPolicyInstancesRequest method. // req, resp := client.ListTrafficPolicyInstancesRequest(params) @@ -4163,19 +4592,18 @@ const opListTrafficPolicyInstancesByHostedZone = "ListTrafficPolicyInstancesByHo // ListTrafficPolicyInstancesByHostedZoneRequest generates a "aws/request.Request" representing the // client's request for the ListTrafficPolicyInstancesByHostedZone operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTrafficPolicyInstancesByHostedZone for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTrafficPolicyInstancesByHostedZone method directly -// instead. +// See ListTrafficPolicyInstancesByHostedZone for more information on using the ListTrafficPolicyInstancesByHostedZone +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTrafficPolicyInstancesByHostedZoneRequest method. // req, resp := client.ListTrafficPolicyInstancesByHostedZoneRequest(params) @@ -4259,19 +4687,18 @@ const opListTrafficPolicyInstancesByPolicy = "ListTrafficPolicyInstancesByPolicy // ListTrafficPolicyInstancesByPolicyRequest generates a "aws/request.Request" representing the // client's request for the ListTrafficPolicyInstancesByPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTrafficPolicyInstancesByPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTrafficPolicyInstancesByPolicy method directly -// instead. +// See ListTrafficPolicyInstancesByPolicy for more information on using the ListTrafficPolicyInstancesByPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTrafficPolicyInstancesByPolicyRequest method. // req, resp := client.ListTrafficPolicyInstancesByPolicyRequest(params) @@ -4355,19 +4782,18 @@ const opListTrafficPolicyVersions = "ListTrafficPolicyVersions" // ListTrafficPolicyVersionsRequest generates a "aws/request.Request" representing the // client's request for the ListTrafficPolicyVersions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTrafficPolicyVersions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTrafficPolicyVersions method directly -// instead. +// See ListTrafficPolicyVersions for more information on using the ListTrafficPolicyVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTrafficPolicyVersionsRequest method. // req, resp := client.ListTrafficPolicyVersionsRequest(params) @@ -4440,19 +4866,18 @@ const opListVPCAssociationAuthorizations = "ListVPCAssociationAuthorizations" // ListVPCAssociationAuthorizationsRequest generates a "aws/request.Request" representing the // client's request for the ListVPCAssociationAuthorizations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListVPCAssociationAuthorizations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListVPCAssociationAuthorizations method directly -// instead. +// See ListVPCAssociationAuthorizations for more information on using the ListVPCAssociationAuthorizations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListVPCAssociationAuthorizationsRequest method. // req, resp := client.ListVPCAssociationAuthorizationsRequest(params) @@ -4503,6 +4928,8 @@ func (c *Route53) ListVPCAssociationAuthorizationsRequest(input *ListVPCAssociat // The input is not valid. // // * ErrCodeInvalidPaginationToken "InvalidPaginationToken" +// The value that you specified to get the second or subsequent page of results +// is invalid. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListVPCAssociationAuthorizations func (c *Route53) ListVPCAssociationAuthorizations(input *ListVPCAssociationAuthorizationsInput) (*ListVPCAssociationAuthorizationsOutput, error) { @@ -4530,19 +4957,18 @@ const opTestDNSAnswer = "TestDNSAnswer" // TestDNSAnswerRequest generates a "aws/request.Request" representing the // client's request for the TestDNSAnswer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TestDNSAnswer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TestDNSAnswer method directly -// instead. +// See TestDNSAnswer for more information on using the TestDNSAnswer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TestDNSAnswerRequest method. // req, resp := client.TestDNSAnswerRequest(params) @@ -4615,19 +5041,18 @@ const opUpdateHealthCheck = "UpdateHealthCheck" // UpdateHealthCheckRequest generates a "aws/request.Request" representing the // client's request for the UpdateHealthCheck operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateHealthCheck for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateHealthCheck method directly -// instead. +// See UpdateHealthCheck for more information on using the UpdateHealthCheck +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateHealthCheckRequest method. // req, resp := client.UpdateHealthCheckRequest(params) @@ -4707,19 +5132,18 @@ const opUpdateHostedZoneComment = "UpdateHostedZoneComment" // UpdateHostedZoneCommentRequest generates a "aws/request.Request" representing the // client's request for the UpdateHostedZoneComment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateHostedZoneComment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateHostedZoneComment method directly -// instead. +// See UpdateHostedZoneComment for more information on using the UpdateHostedZoneComment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateHostedZoneCommentRequest method. // req, resp := client.UpdateHostedZoneCommentRequest(params) @@ -4790,19 +5214,18 @@ const opUpdateTrafficPolicyComment = "UpdateTrafficPolicyComment" // UpdateTrafficPolicyCommentRequest generates a "aws/request.Request" representing the // client's request for the UpdateTrafficPolicyComment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateTrafficPolicyComment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateTrafficPolicyComment method directly -// instead. +// See UpdateTrafficPolicyComment for more information on using the UpdateTrafficPolicyComment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateTrafficPolicyCommentRequest method. // req, resp := client.UpdateTrafficPolicyCommentRequest(params) @@ -4848,8 +5271,8 @@ func (c *Route53) UpdateTrafficPolicyCommentRequest(input *UpdateTrafficPolicyCo // No traffic policy exists with the specified ID. // // * ErrCodeConcurrentModification "ConcurrentModification" -// Another user submitted a request to update the object at the same time that -// you did. Retry the request. +// Another user submitted a request to create, update, or delete the object +// at the same time that you did. Retry the request. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/UpdateTrafficPolicyComment func (c *Route53) UpdateTrafficPolicyComment(input *UpdateTrafficPolicyCommentInput) (*UpdateTrafficPolicyCommentOutput, error) { @@ -4877,19 +5300,18 @@ const opUpdateTrafficPolicyInstance = "UpdateTrafficPolicyInstance" // UpdateTrafficPolicyInstanceRequest generates a "aws/request.Request" representing the // client's request for the UpdateTrafficPolicyInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateTrafficPolicyInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateTrafficPolicyInstance method directly -// instead. +// See UpdateTrafficPolicyInstance for more information on using the UpdateTrafficPolicyInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateTrafficPolicyInstanceRequest method. // req, resp := client.UpdateTrafficPolicyInstanceRequest(params) @@ -5118,12 +5540,16 @@ type AliasTarget struct { // Elastic Load Balancing API: Use DescribeLoadBalancers to get the value of // DNSName. For more information, see the applicable guide: // - // Classic Load Balancer: DescribeLoadBalancers (http://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html) + // Classic Load Balancers: DescribeLoadBalancers (http://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html) // - // Application Load Balancer: DescribeLoadBalancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) + // Application and Network Load Balancers: DescribeLoadBalancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) // - // AWS CLI: Use describe-load-balancers (http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) - // to get the value of DNSName. + // AWS CLI: Use describe-load-balancers to get the value of DNSName. For more + // information, see the applicable guide: + // + // Classic Load Balancers: describe-load-balancers (http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) + // + // Application and Network Load Balancers: describe-load-balancers (http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html) // // Amazon S3 bucket that is configured as a static websiteSpecify the domain // name of the Amazon S3 website endpoint in which you created the bucket, for @@ -5212,23 +5638,28 @@ type AliasTarget struct { // // Elastic Load Balancing (http://docs.aws.amazon.com/general/latest/gr/rande.html#elb_region) // table in the "AWS Regions and Endpoints" chapter of the Amazon Web Services - // General Reference: Use the value in the "Amazon Route 53 Hosted Zone ID" - // column that corresponds with the region that you created your load balancer - // in. + // General Reference: Use the value that corresponds with the region that you + // created your load balancer in. Note that there are separate columns for Application + // and Classic Load Balancers and for Network Load Balancers. // - // AWS Management Console: Go to the Amazon EC2 page, click Load Balancers in - // the navigation pane, select the load balancer, and get the value of the Hosted - // zone field on the Description tab. + // AWS Management Console: Go to the Amazon EC2 page, choose Load Balancers + // in the navigation pane, select the load balancer, and get the value of the + // Hosted zone field on the Description tab. // // Elastic Load Balancing API: Use DescribeLoadBalancers to get the value of // CanonicalHostedZoneNameId. For more information, see the applicable guide: // - // Classic Load Balancer: DescribeLoadBalancers (http://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html) + // Classic Load Balancers: DescribeLoadBalancers (http://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html) // - // Application Load Balancer: DescribeLoadBalancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) + // Application and Network Load Balancers: DescribeLoadBalancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) // - // AWS CLI: Use describe-load-balancers (http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) - // to get the value of CanonicalHostedZoneNameID. + // AWS CLI: Use describe-load-balancers to get the value of CanonicalHostedZoneNameID + // (for Classic Load Balancers) or CanonicalHostedZoneNameID (for Application + // and Network Load Balancers). For more information, see the applicable guide: + // + // Classic Load Balancers: describe-load-balancers (http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) + // + // Application and Network Load Balancers: describe-load-balancers (http://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html) // // An Amazon S3 bucket configured as a static websiteSpecify the hosted zone // ID for the region that you created the bucket in. For more information about @@ -6246,6 +6677,107 @@ func (s *CreateHostedZoneOutput) SetVPC(v *VPC) *CreateHostedZoneOutput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateQueryLoggingConfigRequest +type CreateQueryLoggingConfigInput struct { + _ struct{} `locationName:"CreateQueryLoggingConfigRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"` + + // The Amazon Resource Name (ARN) for the log group that you want to Amazon + // Route 53 to send query logs to. This is the format of the ARN: + // + // arn:aws:logs:region:account-id:log-group:log_group_name + // + // To get the ARN for a log group, you can use the CloudWatch console, the DescribeLogGroups + // (http://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DescribeLogGroups.html) + // API action, the describe-log-groups (http://docs.aws.amazon.com/cli/latest/reference/logs/describe-log-groups.html) + // command, or the applicable command in one of the AWS SDKs. + // + // CloudWatchLogsLogGroupArn is a required field + CloudWatchLogsLogGroupArn *string `type:"string" required:"true"` + + // The ID of the hosted zone that you want to log queries for. You can log queries + // only for public hosted zones. + // + // HostedZoneId is a required field + HostedZoneId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateQueryLoggingConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateQueryLoggingConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateQueryLoggingConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateQueryLoggingConfigInput"} + if s.CloudWatchLogsLogGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("CloudWatchLogsLogGroupArn")) + } + if s.HostedZoneId == nil { + invalidParams.Add(request.NewErrParamRequired("HostedZoneId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value. +func (s *CreateQueryLoggingConfigInput) SetCloudWatchLogsLogGroupArn(v string) *CreateQueryLoggingConfigInput { + s.CloudWatchLogsLogGroupArn = &v + return s +} + +// SetHostedZoneId sets the HostedZoneId field's value. +func (s *CreateQueryLoggingConfigInput) SetHostedZoneId(v string) *CreateQueryLoggingConfigInput { + s.HostedZoneId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateQueryLoggingConfigResponse +type CreateQueryLoggingConfigOutput struct { + _ struct{} `type:"structure"` + + // The unique URL representing the new query logging configuration. + // + // Location is a required field + Location *string `location:"header" locationName:"Location" type:"string" required:"true"` + + // A complex type that contains the ID for a query logging configuration, the + // ID of the hosted zone that you want to log queries for, and the ARN for the + // log group that you want Amazon Route 53 to send query logs to. + // + // QueryLoggingConfig is a required field + QueryLoggingConfig *QueryLoggingConfig `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateQueryLoggingConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateQueryLoggingConfigOutput) GoString() string { + return s.String() +} + +// SetLocation sets the Location field's value. +func (s *CreateQueryLoggingConfigOutput) SetLocation(v string) *CreateQueryLoggingConfigOutput { + s.Location = &v + return s +} + +// SetQueryLoggingConfig sets the QueryLoggingConfig field's value. +func (s *CreateQueryLoggingConfigOutput) SetQueryLoggingConfig(v *QueryLoggingConfig) *CreateQueryLoggingConfigOutput { + s.QueryLoggingConfig = v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/CreateReusableDelegationSetRequest type CreateReusableDelegationSetInput struct { _ struct{} `locationName:"CreateReusableDelegationSetRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"` @@ -6975,6 +7507,63 @@ func (s *DeleteHostedZoneOutput) SetChangeInfo(v *ChangeInfo) *DeleteHostedZoneO return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteQueryLoggingConfigRequest +type DeleteQueryLoggingConfigInput struct { + _ struct{} `type:"structure"` + + // The ID of the configuration that you want to delete. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteQueryLoggingConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteQueryLoggingConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteQueryLoggingConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteQueryLoggingConfigInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteQueryLoggingConfigInput) SetId(v string) *DeleteQueryLoggingConfigInput { + s.Id = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteQueryLoggingConfigResponse +type DeleteQueryLoggingConfigOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteQueryLoggingConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteQueryLoggingConfigOutput) GoString() string { + return s.String() +} + // A request to delete a reusable delegation set. // Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/DeleteReusableDelegationSetRequest type DeleteReusableDelegationSetInput struct { @@ -8143,6 +8732,76 @@ func (s *GetHostedZoneOutput) SetVPCs(v []*VPC) *GetHostedZoneOutput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetQueryLoggingConfigRequest +type GetQueryLoggingConfigInput struct { + _ struct{} `type:"structure"` + + // The ID of the configuration for DNS query logging that you want to get information + // about. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetQueryLoggingConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetQueryLoggingConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetQueryLoggingConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetQueryLoggingConfigInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *GetQueryLoggingConfigInput) SetId(v string) *GetQueryLoggingConfigInput { + s.Id = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetQueryLoggingConfigResponse +type GetQueryLoggingConfigOutput struct { + _ struct{} `type:"structure"` + + // A complex type that contains information about the query logging configuration + // that you specified in a GetQueryLoggingConfig request. + // + // QueryLoggingConfig is a required field + QueryLoggingConfig *QueryLoggingConfig `type:"structure" required:"true"` +} + +// String returns the string representation +func (s GetQueryLoggingConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetQueryLoggingConfigOutput) GoString() string { + return s.String() +} + +// SetQueryLoggingConfig sets the QueryLoggingConfig field's value. +func (s *GetQueryLoggingConfigOutput) SetQueryLoggingConfig(v *QueryLoggingConfig) *GetQueryLoggingConfigOutput { + s.QueryLoggingConfig = v + return s +} + // A request to get information about a specified reusable delegation set. // Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/GetReusableDelegationSetRequest type GetReusableDelegationSetInput struct { @@ -9668,6 +10327,107 @@ func (s *ListHostedZonesOutput) SetNextMarker(v string) *ListHostedZonesOutput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListQueryLoggingConfigsRequest +type ListQueryLoggingConfigsInput struct { + _ struct{} `type:"structure"` + + // (Optional) If you want to list the query logging configuration that is associated + // with a hosted zone, specify the ID in HostedZoneId. + // + // If you don't specify a hosted zone ID, ListQueryLoggingConfigs returns all + // of the configurations that are associated with the current AWS account. + HostedZoneId *string `location:"querystring" locationName:"hostedzoneid" type:"string"` + + // (Optional) The maximum number of query logging configurations that you want + // Amazon Route 53 to return in response to the current request. If the current + // AWS account has more than MaxResults configurations, use the value of ListQueryLoggingConfigsResponse$NextToken + // in the response to get the next page of results. + // + // If you don't specify a value for MaxResults, Amazon Route 53 returns up to + // 100 configurations. + MaxResults *string `location:"querystring" locationName:"maxresults" type:"string"` + + // (Optional) If the current AWS account has more than MaxResults query logging + // configurations, use NextToken to get the second and subsequent pages of results. + // + // For the first ListQueryLoggingConfigs request, omit this value. + // + // For the second and subsequent requests, get the value of NextToken from the + // previous response and specify that value for NextToken in the request. + NextToken *string `location:"querystring" locationName:"nexttoken" type:"string"` +} + +// String returns the string representation +func (s ListQueryLoggingConfigsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListQueryLoggingConfigsInput) GoString() string { + return s.String() +} + +// SetHostedZoneId sets the HostedZoneId field's value. +func (s *ListQueryLoggingConfigsInput) SetHostedZoneId(v string) *ListQueryLoggingConfigsInput { + s.HostedZoneId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListQueryLoggingConfigsInput) SetMaxResults(v string) *ListQueryLoggingConfigsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListQueryLoggingConfigsInput) SetNextToken(v string) *ListQueryLoggingConfigsInput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListQueryLoggingConfigsResponse +type ListQueryLoggingConfigsOutput struct { + _ struct{} `type:"structure"` + + // If a response includes the last of the query logging configurations that + // are associated with the current AWS account, NextToken doesn't appear in + // the response. + // + // If a response doesn't include the last of the configurations, you can get + // more configurations by submitting another ListQueryLoggingConfigs request. + // Get the value of NextToken that Amazon Route 53 returned in the previous + // response and include it in NextToken in the next request. + NextToken *string `type:"string"` + + // An array that contains one QueryLoggingConfig element for each configuration + // for DNS query logging that is associated with the current AWS account. + // + // QueryLoggingConfigs is a required field + QueryLoggingConfigs []*QueryLoggingConfig `locationNameList:"QueryLoggingConfig" type:"list" required:"true"` +} + +// String returns the string representation +func (s ListQueryLoggingConfigsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListQueryLoggingConfigsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListQueryLoggingConfigsOutput) SetNextToken(v string) *ListQueryLoggingConfigsOutput { + s.NextToken = &v + return s +} + +// SetQueryLoggingConfigs sets the QueryLoggingConfigs field's value. +func (s *ListQueryLoggingConfigsOutput) SetQueryLoggingConfigs(v []*QueryLoggingConfig) *ListQueryLoggingConfigsOutput { + s.QueryLoggingConfigs = v + return s +} + // A request for the resource record sets that are associated with a specified // hosted zone. // Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListResourceRecordSetsRequest @@ -9700,11 +10460,11 @@ type ListResourceRecordSetsInput struct { // The type of resource record set to begin the record listing from. // - // Valid values for basic resource record sets: A | AAAA | CNAME | MX | NAPTR - // | NS | PTR | SOA | SPF | SRV | TXT + // Valid values for basic resource record sets: A | AAAA | CAA | CNAME | MX + // | NAPTR | NS | PTR | SOA | SPF | SRV | TXT // // Values for weighted, latency, geo, and failover resource record sets: A | - // AAAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT + // AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT // // Values for alias resource record sets: // @@ -9716,6 +10476,9 @@ type ListResourceRecordSetsInput struct { // // * Amazon S3 bucket: A // + // * Another resource record set in this hosted zone: The type of the resource + // record set that the alias references. + // // Constraint: Specifying type without specifying name returns an InvalidInput // error. StartRecordType *string `location:"querystring" locationName:"type" type:"string" enum:"RRType"` @@ -11105,6 +11868,57 @@ func (s *ListVPCAssociationAuthorizationsOutput) SetVPCs(v []*VPC) *ListVPCAssoc return s } +// A complex type that contains information about a configuration for DNS query +// logging. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/QueryLoggingConfig +type QueryLoggingConfig struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon + // Route 53 is publishing logs to. + // + // CloudWatchLogsLogGroupArn is a required field + CloudWatchLogsLogGroupArn *string `type:"string" required:"true"` + + // The ID of the hosted zone that CloudWatch Logs is logging queries for. + // + // HostedZoneId is a required field + HostedZoneId *string `type:"string" required:"true"` + + // The ID for a configuration for DNS query logging. + // + // Id is a required field + Id *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s QueryLoggingConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s QueryLoggingConfig) GoString() string { + return s.String() +} + +// SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value. +func (s *QueryLoggingConfig) SetCloudWatchLogsLogGroupArn(v string) *QueryLoggingConfig { + s.CloudWatchLogsLogGroupArn = &v + return s +} + +// SetHostedZoneId sets the HostedZoneId field's value. +func (s *QueryLoggingConfig) SetHostedZoneId(v string) *QueryLoggingConfig { + s.HostedZoneId = &v + return s +} + +// SetId sets the Id field's value. +func (s *QueryLoggingConfig) SetId(v string) *QueryLoggingConfig { + s.Id = &v + return s +} + // Information specific to the resource record. // // If you're creating an alias resource record set, omit ResourceRecord. @@ -11474,13 +12288,13 @@ type ResourceRecordSet struct { // data is encoded for them, see Supported DNS Resource Record Types (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) // in the Amazon Route 53 Developer Guide. // - // Valid values for basic resource record sets: A | AAAA | CNAME | MX | NAPTR - // | NS | PTR | SOA | SPF | SRV | TXT + // Valid values for basic resource record sets: A | AAAA | CAA | CNAME | MX + // | NAPTR | NS | PTR | SOA | SPF | SRV | TXT // // Values for weighted, latency, geolocation, and failover resource record sets: - // A | AAAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT. When creating a group - // of weighted, latency, geolocation, or failover resource record sets, specify - // the same value for all of the resource record sets in the group. + // A | AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT. When creating + // a group of weighted, latency, geolocation, or failover resource record sets, + // specify the same value for all of the resource record sets in the group. // // Valid values for multivalue answer resource record sets: A | AAAA | MX | // NAPTR | PTR | SPF | SRV | TXT @@ -12537,6 +13351,23 @@ type UpdateHealthCheckInput struct { // want Amazon Route 53 health checkers to check the specified endpoint from. Regions []*string `locationNameList:"Region" min:"3" type:"list"` + // A complex type that contains one ResetElement element for each element that + // you want to reset to the default value. Valid values for ResetElement include + // the following: + // + // * ChildHealthChecks: Amazon Route 53 resets HealthCheckConfig$ChildHealthChecks + // to null. + // + // * FullyQualifiedDomainName: Amazon Route 53 resets HealthCheckConfig$FullyQualifiedDomainName + // to null. + // + // * Regions: Amazon Route 53 resets the HealthCheckConfig$Regions list to + // the default set of regions. + // + // * ResourcePath: Amazon Route 53 resets HealthCheckConfig$ResourcePath + // to null. + ResetElements []*string `locationNameList:"ResettableElementName" type:"list"` + // The path that you want Amazon Route 53 to request when performing health // checks. The path can be any value for which your endpoint will return an // HTTP status code of 2xx or 3xx when the endpoint is healthy, for example @@ -12671,6 +13502,12 @@ func (s *UpdateHealthCheckInput) SetRegions(v []*string) *UpdateHealthCheckInput return s } +// SetResetElements sets the ResetElements field's value. +func (s *UpdateHealthCheckInput) SetResetElements(v []*string) *UpdateHealthCheckInput { + s.ResetElements = v + return s +} + // SetResourcePath sets the ResourcePath field's value. func (s *UpdateHealthCheckInput) SetResourcePath(v string) *UpdateHealthCheckInput { s.ResourcePath = &v @@ -13233,6 +14070,23 @@ const ( // RRTypeAaaa is a RRType enum value RRTypeAaaa = "AAAA" + + // RRTypeCaa is a RRType enum value + RRTypeCaa = "CAA" +) + +const ( + // ResettableElementNameFullyQualifiedDomainName is a ResettableElementName enum value + ResettableElementNameFullyQualifiedDomainName = "FullyQualifiedDomainName" + + // ResettableElementNameRegions is a ResettableElementName enum value + ResettableElementNameRegions = "Regions" + + // ResettableElementNameResourcePath is a ResettableElementName enum value + ResettableElementNameResourcePath = "ResourcePath" + + // ResettableElementNameChildHealthChecks is a ResettableElementName enum value + ResettableElementNameChildHealthChecks = "ChildHealthChecks" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/route53/doc.go b/vendor/github.com/aws/aws-sdk-go/service/route53/doc.go index 361449aa9..64ac990f1 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/route53/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/route53/doc.go @@ -10,69 +10,17 @@ // // Using the Client // -// To use the client for Amazon Route 53 you will first need -// to create a new instance of it. +// To Amazon Route 53 with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := route53.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Route 53 client Route53 for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/route53/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AssociateVPCWithHostedZone(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AssociateVPCWithHostedZone result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AssociateVPCWithHostedZoneWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package route53 diff --git a/vendor/github.com/aws/aws-sdk-go/service/route53/errors.go b/vendor/github.com/aws/aws-sdk-go/service/route53/errors.go index a808abbab..24225020e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/route53/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/route53/errors.go @@ -7,8 +7,8 @@ const ( // ErrCodeConcurrentModification for service response error code // "ConcurrentModification". // - // Another user submitted a request to update the object at the same time that - // you did. Retry the request. + // Another user submitted a request to create, update, or delete the object + // at the same time that you did. Retry the request. ErrCodeConcurrentModification = "ConcurrentModification" // ErrCodeConflictingDomainExists for service response error code @@ -129,6 +129,21 @@ const ( // 53 endpoint. ErrCodeIncompatibleVersion = "IncompatibleVersion" + // ErrCodeInsufficientCloudWatchLogsResourcePolicy for service response error code + // "InsufficientCloudWatchLogsResourcePolicy". + // + // Amazon Route 53 doesn't have the permissions required to create log streams + // and send query logs to log streams. Possible causes include the following: + // + // * There is no resource policy that specifies the log group ARN in the + // value for Resource. + // + // * The resource policy that includes the log group ARN in the value for + // Resource doesn't have the necessary permissions. + // + // * The resource policy hasn't finished propagating yet. + ErrCodeInsufficientCloudWatchLogsResourcePolicy = "InsufficientCloudWatchLogsResourcePolicy" + // ErrCodeInvalidArgument for service response error code // "InvalidArgument". // @@ -156,6 +171,9 @@ const ( // ErrCodeInvalidPaginationToken for service response error code // "InvalidPaginationToken". + // + // The value that you specified to get the second or subsequent page of results + // is invalid. ErrCodeInvalidPaginationToken = "InvalidPaginationToken" // ErrCodeInvalidTrafficPolicyDocument for service response error code @@ -192,6 +210,12 @@ const ( // A change with the specified change ID does not exist. ErrCodeNoSuchChange = "NoSuchChange" + // ErrCodeNoSuchCloudWatchLogsLogGroup for service response error code + // "NoSuchCloudWatchLogsLogGroup". + // + // There is no CloudWatch Logs log group with the specified ARN. + ErrCodeNoSuchCloudWatchLogsLogGroup = "NoSuchCloudWatchLogsLogGroup" + // ErrCodeNoSuchDelegationSet for service response error code // "NoSuchDelegationSet". // @@ -217,6 +241,12 @@ const ( // No hosted zone exists with the ID that you specified. ErrCodeNoSuchHostedZone = "NoSuchHostedZone" + // ErrCodeNoSuchQueryLoggingConfig for service response error code + // "NoSuchQueryLoggingConfig". + // + // There is no DNS query logging configuration with the specified ID. + ErrCodeNoSuchQueryLoggingConfig = "NoSuchQueryLoggingConfig" + // ErrCodeNoSuchTrafficPolicy for service response error code // "NoSuchTrafficPolicy". // @@ -253,6 +283,13 @@ const ( // 53 doesn't support associating a VPC with a public hosted zone. ErrCodePublicZoneVPCAssociation = "PublicZoneVPCAssociation" + // ErrCodeQueryLoggingConfigAlreadyExists for service response error code + // "QueryLoggingConfigAlreadyExists". + // + // You can create only one query logging configuration for a hosted zone, and + // a query logging configuration already exists for this hosted zone. + ErrCodeQueryLoggingConfigAlreadyExists = "QueryLoggingConfigAlreadyExists" + // ErrCodeThrottlingException for service response error code // "ThrottlingException". // @@ -317,7 +354,7 @@ const ( // ErrCodeTrafficPolicyInstanceAlreadyExists for service response error code // "TrafficPolicyInstanceAlreadyExists". // - // Traffic policy instance with given Id already exists. + // There is already a traffic policy instance with the specified ID. ErrCodeTrafficPolicyInstanceAlreadyExists = "TrafficPolicyInstanceAlreadyExists" // ErrCodeVPCAssociationAuthorizationNotFound for service response error code diff --git a/vendor/github.com/aws/aws-sdk-go/service/route53/route53iface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/route53/route53iface/interface.go index 39f6fd112..3aaa9430a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/route53/route53iface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/route53/route53iface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Route 53. @@ -80,6 +80,10 @@ type Route53API interface { CreateHostedZoneWithContext(aws.Context, *route53.CreateHostedZoneInput, ...request.Option) (*route53.CreateHostedZoneOutput, error) CreateHostedZoneRequest(*route53.CreateHostedZoneInput) (*request.Request, *route53.CreateHostedZoneOutput) + CreateQueryLoggingConfig(*route53.CreateQueryLoggingConfigInput) (*route53.CreateQueryLoggingConfigOutput, error) + CreateQueryLoggingConfigWithContext(aws.Context, *route53.CreateQueryLoggingConfigInput, ...request.Option) (*route53.CreateQueryLoggingConfigOutput, error) + CreateQueryLoggingConfigRequest(*route53.CreateQueryLoggingConfigInput) (*request.Request, *route53.CreateQueryLoggingConfigOutput) + CreateReusableDelegationSet(*route53.CreateReusableDelegationSetInput) (*route53.CreateReusableDelegationSetOutput, error) CreateReusableDelegationSetWithContext(aws.Context, *route53.CreateReusableDelegationSetInput, ...request.Option) (*route53.CreateReusableDelegationSetOutput, error) CreateReusableDelegationSetRequest(*route53.CreateReusableDelegationSetInput) (*request.Request, *route53.CreateReusableDelegationSetOutput) @@ -108,6 +112,10 @@ type Route53API interface { DeleteHostedZoneWithContext(aws.Context, *route53.DeleteHostedZoneInput, ...request.Option) (*route53.DeleteHostedZoneOutput, error) DeleteHostedZoneRequest(*route53.DeleteHostedZoneInput) (*request.Request, *route53.DeleteHostedZoneOutput) + DeleteQueryLoggingConfig(*route53.DeleteQueryLoggingConfigInput) (*route53.DeleteQueryLoggingConfigOutput, error) + DeleteQueryLoggingConfigWithContext(aws.Context, *route53.DeleteQueryLoggingConfigInput, ...request.Option) (*route53.DeleteQueryLoggingConfigOutput, error) + DeleteQueryLoggingConfigRequest(*route53.DeleteQueryLoggingConfigInput) (*request.Request, *route53.DeleteQueryLoggingConfigOutput) + DeleteReusableDelegationSet(*route53.DeleteReusableDelegationSetInput) (*route53.DeleteReusableDelegationSetOutput, error) DeleteReusableDelegationSetWithContext(aws.Context, *route53.DeleteReusableDelegationSetInput, ...request.Option) (*route53.DeleteReusableDelegationSetOutput, error) DeleteReusableDelegationSetRequest(*route53.DeleteReusableDelegationSetInput) (*request.Request, *route53.DeleteReusableDelegationSetOutput) @@ -164,6 +172,10 @@ type Route53API interface { GetHostedZoneCountWithContext(aws.Context, *route53.GetHostedZoneCountInput, ...request.Option) (*route53.GetHostedZoneCountOutput, error) GetHostedZoneCountRequest(*route53.GetHostedZoneCountInput) (*request.Request, *route53.GetHostedZoneCountOutput) + GetQueryLoggingConfig(*route53.GetQueryLoggingConfigInput) (*route53.GetQueryLoggingConfigOutput, error) + GetQueryLoggingConfigWithContext(aws.Context, *route53.GetQueryLoggingConfigInput, ...request.Option) (*route53.GetQueryLoggingConfigOutput, error) + GetQueryLoggingConfigRequest(*route53.GetQueryLoggingConfigInput) (*request.Request, *route53.GetQueryLoggingConfigOutput) + GetReusableDelegationSet(*route53.GetReusableDelegationSetInput) (*route53.GetReusableDelegationSetOutput, error) GetReusableDelegationSetWithContext(aws.Context, *route53.GetReusableDelegationSetInput, ...request.Option) (*route53.GetReusableDelegationSetOutput, error) GetReusableDelegationSetRequest(*route53.GetReusableDelegationSetInput) (*request.Request, *route53.GetReusableDelegationSetOutput) @@ -202,6 +214,10 @@ type Route53API interface { ListHostedZonesByNameWithContext(aws.Context, *route53.ListHostedZonesByNameInput, ...request.Option) (*route53.ListHostedZonesByNameOutput, error) ListHostedZonesByNameRequest(*route53.ListHostedZonesByNameInput) (*request.Request, *route53.ListHostedZonesByNameOutput) + ListQueryLoggingConfigs(*route53.ListQueryLoggingConfigsInput) (*route53.ListQueryLoggingConfigsOutput, error) + ListQueryLoggingConfigsWithContext(aws.Context, *route53.ListQueryLoggingConfigsInput, ...request.Option) (*route53.ListQueryLoggingConfigsOutput, error) + ListQueryLoggingConfigsRequest(*route53.ListQueryLoggingConfigsInput) (*request.Request, *route53.ListQueryLoggingConfigsOutput) + ListResourceRecordSets(*route53.ListResourceRecordSetsInput) (*route53.ListResourceRecordSetsOutput, error) ListResourceRecordSetsWithContext(aws.Context, *route53.ListResourceRecordSetsInput, ...request.Option) (*route53.ListResourceRecordSetsOutput, error) ListResourceRecordSetsRequest(*route53.ListResourceRecordSetsInput) (*request.Request, *route53.ListResourceRecordSetsOutput) diff --git a/vendor/github.com/aws/aws-sdk-go/service/route53/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/route53/waiters.go index 71d99e6ea..9bd7a9a71 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/route53/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/route53/waiters.go @@ -11,7 +11,7 @@ import ( // WaitUntilResourceRecordSetsChanged uses the Route 53 API operation // GetChange to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *Route53) WaitUntilResourceRecordSetsChanged(input *GetChangeInput) error { return c.WaitUntilResourceRecordSetsChangedWithContext(aws.BackgroundContext(), input) diff --git a/vendor/github.com/aws/aws-sdk-go/service/route53domains/api.go b/vendor/github.com/aws/aws-sdk-go/service/route53domains/api.go index cf1d71ce8..cb899794c 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/route53domains/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/route53domains/api.go @@ -15,19 +15,18 @@ const opCheckDomainAvailability = "CheckDomainAvailability" // CheckDomainAvailabilityRequest generates a "aws/request.Request" representing the // client's request for the CheckDomainAvailability operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CheckDomainAvailability for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CheckDomainAvailability method directly -// instead. +// See CheckDomainAvailability for more information on using the CheckDomainAvailability +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CheckDomainAvailabilityRequest method. // req, resp := client.CheckDomainAvailabilityRequest(params) @@ -102,19 +101,18 @@ const opDeleteTagsForDomain = "DeleteTagsForDomain" // DeleteTagsForDomainRequest generates a "aws/request.Request" representing the // client's request for the DeleteTagsForDomain operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteTagsForDomain for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteTagsForDomain method directly -// instead. +// See DeleteTagsForDomain for more information on using the DeleteTagsForDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteTagsForDomainRequest method. // req, resp := client.DeleteTagsForDomainRequest(params) @@ -194,19 +192,18 @@ const opDisableDomainAutoRenew = "DisableDomainAutoRenew" // DisableDomainAutoRenewRequest generates a "aws/request.Request" representing the // client's request for the DisableDomainAutoRenew operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisableDomainAutoRenew for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisableDomainAutoRenew method directly -// instead. +// See DisableDomainAutoRenew for more information on using the DisableDomainAutoRenew +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisableDomainAutoRenewRequest method. // req, resp := client.DisableDomainAutoRenewRequest(params) @@ -280,19 +277,18 @@ const opDisableDomainTransferLock = "DisableDomainTransferLock" // DisableDomainTransferLockRequest generates a "aws/request.Request" representing the // client's request for the DisableDomainTransferLock operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisableDomainTransferLock for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisableDomainTransferLock method directly -// instead. +// See DisableDomainTransferLock for more information on using the DisableDomainTransferLock +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisableDomainTransferLockRequest method. // req, resp := client.DisableDomainTransferLockRequest(params) @@ -381,19 +377,18 @@ const opEnableDomainAutoRenew = "EnableDomainAutoRenew" // EnableDomainAutoRenewRequest generates a "aws/request.Request" representing the // client's request for the EnableDomainAutoRenew operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EnableDomainAutoRenew for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EnableDomainAutoRenew method directly -// instead. +// See EnableDomainAutoRenew for more information on using the EnableDomainAutoRenew +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EnableDomainAutoRenewRequest method. // req, resp := client.EnableDomainAutoRenewRequest(params) @@ -478,19 +473,18 @@ const opEnableDomainTransferLock = "EnableDomainTransferLock" // EnableDomainTransferLockRequest generates a "aws/request.Request" representing the // client's request for the EnableDomainTransferLock operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See EnableDomainTransferLock for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the EnableDomainTransferLock method directly -// instead. +// See EnableDomainTransferLock for more information on using the EnableDomainTransferLock +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the EnableDomainTransferLockRequest method. // req, resp := client.EnableDomainTransferLockRequest(params) @@ -577,19 +571,18 @@ const opGetContactReachabilityStatus = "GetContactReachabilityStatus" // GetContactReachabilityStatusRequest generates a "aws/request.Request" representing the // client's request for the GetContactReachabilityStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetContactReachabilityStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetContactReachabilityStatus method directly -// instead. +// See GetContactReachabilityStatus for more information on using the GetContactReachabilityStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetContactReachabilityStatusRequest method. // req, resp := client.GetContactReachabilityStatusRequest(params) @@ -671,19 +664,18 @@ const opGetDomainDetail = "GetDomainDetail" // GetDomainDetailRequest generates a "aws/request.Request" representing the // client's request for the GetDomainDetail operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDomainDetail for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDomainDetail method directly -// instead. +// See GetDomainDetail for more information on using the GetDomainDetail +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDomainDetailRequest method. // req, resp := client.GetDomainDetailRequest(params) @@ -758,19 +750,18 @@ const opGetDomainSuggestions = "GetDomainSuggestions" // GetDomainSuggestionsRequest generates a "aws/request.Request" representing the // client's request for the GetDomainSuggestions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDomainSuggestions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDomainSuggestions method directly -// instead. +// See GetDomainSuggestions for more information on using the GetDomainSuggestions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDomainSuggestionsRequest method. // req, resp := client.GetDomainSuggestionsRequest(params) @@ -845,19 +836,18 @@ const opGetOperationDetail = "GetOperationDetail" // GetOperationDetailRequest generates a "aws/request.Request" representing the // client's request for the GetOperationDetail operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetOperationDetail for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetOperationDetail method directly -// instead. +// See GetOperationDetail for more information on using the GetOperationDetail +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetOperationDetailRequest method. // req, resp := client.GetOperationDetailRequest(params) @@ -927,19 +917,18 @@ const opListDomains = "ListDomains" // ListDomainsRequest generates a "aws/request.Request" representing the // client's request for the ListDomains operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDomains for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDomains method directly -// instead. +// See ListDomains for more information on using the ListDomains +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDomainsRequest method. // req, resp := client.ListDomainsRequest(params) @@ -1066,19 +1055,18 @@ const opListOperations = "ListOperations" // ListOperationsRequest generates a "aws/request.Request" representing the // client's request for the ListOperations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListOperations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListOperations method directly -// instead. +// See ListOperations for more information on using the ListOperations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListOperationsRequest method. // req, resp := client.ListOperationsRequest(params) @@ -1204,19 +1192,18 @@ const opListTagsForDomain = "ListTagsForDomain" // ListTagsForDomainRequest generates a "aws/request.Request" representing the // client's request for the ListTagsForDomain operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTagsForDomain for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTagsForDomain method directly -// instead. +// See ListTagsForDomain for more information on using the ListTagsForDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTagsForDomainRequest method. // req, resp := client.ListTagsForDomainRequest(params) @@ -1297,19 +1284,18 @@ const opRegisterDomain = "RegisterDomain" // RegisterDomainRequest generates a "aws/request.Request" representing the // client's request for the RegisterDomain operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterDomain for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterDomain method directly -// instead. +// See RegisterDomain for more information on using the RegisterDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterDomainRequest method. // req, resp := client.RegisterDomainRequest(params) @@ -1419,19 +1405,18 @@ const opRenewDomain = "RenewDomain" // RenewDomainRequest generates a "aws/request.Request" representing the // client's request for the RenewDomain operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RenewDomain for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RenewDomain method directly -// instead. +// See RenewDomain for more information on using the RenewDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RenewDomainRequest method. // req, resp := client.RenewDomainRequest(params) @@ -1521,19 +1506,18 @@ const opResendContactReachabilityEmail = "ResendContactReachabilityEmail" // ResendContactReachabilityEmailRequest generates a "aws/request.Request" representing the // client's request for the ResendContactReachabilityEmail operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ResendContactReachabilityEmail for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ResendContactReachabilityEmail method directly -// instead. +// See ResendContactReachabilityEmail for more information on using the ResendContactReachabilityEmail +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ResendContactReachabilityEmailRequest method. // req, resp := client.ResendContactReachabilityEmailRequest(params) @@ -1612,19 +1596,18 @@ const opRetrieveDomainAuthCode = "RetrieveDomainAuthCode" // RetrieveDomainAuthCodeRequest generates a "aws/request.Request" representing the // client's request for the RetrieveDomainAuthCode operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RetrieveDomainAuthCode for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RetrieveDomainAuthCode method directly -// instead. +// See RetrieveDomainAuthCode for more information on using the RetrieveDomainAuthCode +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RetrieveDomainAuthCodeRequest method. // req, resp := client.RetrieveDomainAuthCodeRequest(params) @@ -1698,19 +1681,18 @@ const opTransferDomain = "TransferDomain" // TransferDomainRequest generates a "aws/request.Request" representing the // client's request for the TransferDomain operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TransferDomain for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TransferDomain method directly -// instead. +// See TransferDomain for more information on using the TransferDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TransferDomainRequest method. // req, resp := client.TransferDomainRequest(params) @@ -1820,19 +1802,18 @@ const opUpdateDomainContact = "UpdateDomainContact" // UpdateDomainContactRequest generates a "aws/request.Request" representing the // client's request for the UpdateDomainContact operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateDomainContact for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateDomainContact method directly -// instead. +// See UpdateDomainContact for more information on using the UpdateDomainContact +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateDomainContactRequest method. // req, resp := client.UpdateDomainContactRequest(params) @@ -1922,19 +1903,18 @@ const opUpdateDomainContactPrivacy = "UpdateDomainContactPrivacy" // UpdateDomainContactPrivacyRequest generates a "aws/request.Request" representing the // client's request for the UpdateDomainContactPrivacy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateDomainContactPrivacy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateDomainContactPrivacy method directly -// instead. +// See UpdateDomainContactPrivacy for more information on using the UpdateDomainContactPrivacy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateDomainContactPrivacyRequest method. // req, resp := client.UpdateDomainContactPrivacyRequest(params) @@ -2027,19 +2007,18 @@ const opUpdateDomainNameservers = "UpdateDomainNameservers" // UpdateDomainNameserversRequest generates a "aws/request.Request" representing the // client's request for the UpdateDomainNameservers operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateDomainNameservers for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateDomainNameservers method directly -// instead. +// See UpdateDomainNameservers for more information on using the UpdateDomainNameservers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateDomainNameserversRequest method. // req, resp := client.UpdateDomainNameserversRequest(params) @@ -2129,19 +2108,18 @@ const opUpdateTagsForDomain = "UpdateTagsForDomain" // UpdateTagsForDomainRequest generates a "aws/request.Request" representing the // client's request for the UpdateTagsForDomain operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateTagsForDomain for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateTagsForDomain method directly -// instead. +// See UpdateTagsForDomain for more information on using the UpdateTagsForDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateTagsForDomainRequest method. // req, resp := client.UpdateTagsForDomainRequest(params) @@ -2221,19 +2199,18 @@ const opViewBilling = "ViewBilling" // ViewBillingRequest generates a "aws/request.Request" representing the // client's request for the ViewBilling operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ViewBilling for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ViewBilling method directly -// instead. +// See ViewBilling for more information on using the ViewBilling +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ViewBillingRequest method. // req, resp := client.ViewBillingRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/route53domains/doc.go b/vendor/github.com/aws/aws-sdk-go/service/route53domains/doc.go index e0c467089..d05a6967e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/route53domains/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/route53domains/doc.go @@ -13,69 +13,17 @@ // // Using the Client // -// To use the client for Amazon Route 53 Domains you will first need -// to create a new instance of it. +// To Amazon Route 53 Domains with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := route53domains.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Route 53 Domains client Route53Domains for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/route53domains/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CheckDomainAvailability(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CheckDomainAvailability result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CheckDomainAvailabilityWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package route53domains diff --git a/vendor/github.com/aws/aws-sdk-go/service/route53domains/route53domainsiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/route53domains/route53domainsiface/interface.go index b0327e93d..82c7d517f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/route53domains/route53domainsiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/route53domains/route53domainsiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Route 53 Domains. diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/api.go b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go index 8a5fd8e17..1d4fa3835 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/s3/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go @@ -18,19 +18,18 @@ const opAbortMultipartUpload = "AbortMultipartUpload" // AbortMultipartUploadRequest generates a "aws/request.Request" representing the // client's request for the AbortMultipartUpload operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AbortMultipartUpload for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AbortMultipartUpload method directly -// instead. +// See AbortMultipartUpload for more information on using the AbortMultipartUpload +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AbortMultipartUploadRequest method. // req, resp := client.AbortMultipartUploadRequest(params) @@ -102,19 +101,18 @@ const opCompleteMultipartUpload = "CompleteMultipartUpload" // CompleteMultipartUploadRequest generates a "aws/request.Request" representing the // client's request for the CompleteMultipartUpload operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CompleteMultipartUpload for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CompleteMultipartUpload method directly -// instead. +// See CompleteMultipartUpload for more information on using the CompleteMultipartUpload +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CompleteMultipartUploadRequest method. // req, resp := client.CompleteMultipartUploadRequest(params) @@ -177,19 +175,18 @@ const opCopyObject = "CopyObject" // CopyObjectRequest generates a "aws/request.Request" representing the // client's request for the CopyObject operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CopyObject for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CopyObject method directly -// instead. +// See CopyObject for more information on using the CopyObject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CopyObjectRequest method. // req, resp := client.CopyObjectRequest(params) @@ -258,19 +255,18 @@ const opCreateBucket = "CreateBucket" // CreateBucketRequest generates a "aws/request.Request" representing the // client's request for the CreateBucket operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateBucket for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateBucket method directly -// instead. +// See CreateBucket for more information on using the CreateBucket +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateBucketRequest method. // req, resp := client.CreateBucketRequest(params) @@ -341,19 +337,18 @@ const opCreateMultipartUpload = "CreateMultipartUpload" // CreateMultipartUploadRequest generates a "aws/request.Request" representing the // client's request for the CreateMultipartUpload operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateMultipartUpload for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateMultipartUpload method directly -// instead. +// See CreateMultipartUpload for more information on using the CreateMultipartUpload +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateMultipartUploadRequest method. // req, resp := client.CreateMultipartUploadRequest(params) @@ -422,19 +417,18 @@ const opDeleteBucket = "DeleteBucket" // DeleteBucketRequest generates a "aws/request.Request" representing the // client's request for the DeleteBucket operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteBucket for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteBucket method directly -// instead. +// See DeleteBucket for more information on using the DeleteBucket +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteBucketRequest method. // req, resp := client.DeleteBucketRequest(params) @@ -500,19 +494,18 @@ const opDeleteBucketAnalyticsConfiguration = "DeleteBucketAnalyticsConfiguration // DeleteBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the // client's request for the DeleteBucketAnalyticsConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteBucketAnalyticsConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteBucketAnalyticsConfiguration method directly -// instead. +// See DeleteBucketAnalyticsConfiguration for more information on using the DeleteBucketAnalyticsConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteBucketAnalyticsConfigurationRequest method. // req, resp := client.DeleteBucketAnalyticsConfigurationRequest(params) @@ -578,19 +571,18 @@ const opDeleteBucketCors = "DeleteBucketCors" // DeleteBucketCorsRequest generates a "aws/request.Request" representing the // client's request for the DeleteBucketCors operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteBucketCors for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteBucketCors method directly -// instead. +// See DeleteBucketCors for more information on using the DeleteBucketCors +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteBucketCorsRequest method. // req, resp := client.DeleteBucketCorsRequest(params) @@ -655,19 +647,18 @@ const opDeleteBucketInventoryConfiguration = "DeleteBucketInventoryConfiguration // DeleteBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the // client's request for the DeleteBucketInventoryConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteBucketInventoryConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteBucketInventoryConfiguration method directly -// instead. +// See DeleteBucketInventoryConfiguration for more information on using the DeleteBucketInventoryConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteBucketInventoryConfigurationRequest method. // req, resp := client.DeleteBucketInventoryConfigurationRequest(params) @@ -733,19 +724,18 @@ const opDeleteBucketLifecycle = "DeleteBucketLifecycle" // DeleteBucketLifecycleRequest generates a "aws/request.Request" representing the // client's request for the DeleteBucketLifecycle operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteBucketLifecycle for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteBucketLifecycle method directly -// instead. +// See DeleteBucketLifecycle for more information on using the DeleteBucketLifecycle +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteBucketLifecycleRequest method. // req, resp := client.DeleteBucketLifecycleRequest(params) @@ -810,19 +800,18 @@ const opDeleteBucketMetricsConfiguration = "DeleteBucketMetricsConfiguration" // DeleteBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the // client's request for the DeleteBucketMetricsConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteBucketMetricsConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteBucketMetricsConfiguration method directly -// instead. +// See DeleteBucketMetricsConfiguration for more information on using the DeleteBucketMetricsConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteBucketMetricsConfigurationRequest method. // req, resp := client.DeleteBucketMetricsConfigurationRequest(params) @@ -888,19 +877,18 @@ const opDeleteBucketPolicy = "DeleteBucketPolicy" // DeleteBucketPolicyRequest generates a "aws/request.Request" representing the // client's request for the DeleteBucketPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteBucketPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteBucketPolicy method directly -// instead. +// See DeleteBucketPolicy for more information on using the DeleteBucketPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteBucketPolicyRequest method. // req, resp := client.DeleteBucketPolicyRequest(params) @@ -965,19 +953,18 @@ const opDeleteBucketReplication = "DeleteBucketReplication" // DeleteBucketReplicationRequest generates a "aws/request.Request" representing the // client's request for the DeleteBucketReplication operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteBucketReplication for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteBucketReplication method directly -// instead. +// See DeleteBucketReplication for more information on using the DeleteBucketReplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteBucketReplicationRequest method. // req, resp := client.DeleteBucketReplicationRequest(params) @@ -1042,19 +1029,18 @@ const opDeleteBucketTagging = "DeleteBucketTagging" // DeleteBucketTaggingRequest generates a "aws/request.Request" representing the // client's request for the DeleteBucketTagging operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteBucketTagging for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteBucketTagging method directly -// instead. +// See DeleteBucketTagging for more information on using the DeleteBucketTagging +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteBucketTaggingRequest method. // req, resp := client.DeleteBucketTaggingRequest(params) @@ -1119,19 +1105,18 @@ const opDeleteBucketWebsite = "DeleteBucketWebsite" // DeleteBucketWebsiteRequest generates a "aws/request.Request" representing the // client's request for the DeleteBucketWebsite operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteBucketWebsite for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteBucketWebsite method directly -// instead. +// See DeleteBucketWebsite for more information on using the DeleteBucketWebsite +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteBucketWebsiteRequest method. // req, resp := client.DeleteBucketWebsiteRequest(params) @@ -1196,19 +1181,18 @@ const opDeleteObject = "DeleteObject" // DeleteObjectRequest generates a "aws/request.Request" representing the // client's request for the DeleteObject operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteObject for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteObject method directly -// instead. +// See DeleteObject for more information on using the DeleteObject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteObjectRequest method. // req, resp := client.DeleteObjectRequest(params) @@ -1273,19 +1257,18 @@ const opDeleteObjectTagging = "DeleteObjectTagging" // DeleteObjectTaggingRequest generates a "aws/request.Request" representing the // client's request for the DeleteObjectTagging operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteObjectTagging for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteObjectTagging method directly -// instead. +// See DeleteObjectTagging for more information on using the DeleteObjectTagging +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteObjectTaggingRequest method. // req, resp := client.DeleteObjectTaggingRequest(params) @@ -1348,19 +1331,18 @@ const opDeleteObjects = "DeleteObjects" // DeleteObjectsRequest generates a "aws/request.Request" representing the // client's request for the DeleteObjects operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteObjects for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteObjects method directly -// instead. +// See DeleteObjects for more information on using the DeleteObjects +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteObjectsRequest method. // req, resp := client.DeleteObjectsRequest(params) @@ -1424,19 +1406,18 @@ const opGetBucketAccelerateConfiguration = "GetBucketAccelerateConfiguration" // GetBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the // client's request for the GetBucketAccelerateConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBucketAccelerateConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBucketAccelerateConfiguration method directly -// instead. +// See GetBucketAccelerateConfiguration for more information on using the GetBucketAccelerateConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBucketAccelerateConfigurationRequest method. // req, resp := client.GetBucketAccelerateConfigurationRequest(params) @@ -1499,19 +1480,18 @@ const opGetBucketAcl = "GetBucketAcl" // GetBucketAclRequest generates a "aws/request.Request" representing the // client's request for the GetBucketAcl operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBucketAcl for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBucketAcl method directly -// instead. +// See GetBucketAcl for more information on using the GetBucketAcl +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBucketAclRequest method. // req, resp := client.GetBucketAclRequest(params) @@ -1574,19 +1554,18 @@ const opGetBucketAnalyticsConfiguration = "GetBucketAnalyticsConfiguration" // GetBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the // client's request for the GetBucketAnalyticsConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBucketAnalyticsConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBucketAnalyticsConfiguration method directly -// instead. +// See GetBucketAnalyticsConfiguration for more information on using the GetBucketAnalyticsConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBucketAnalyticsConfigurationRequest method. // req, resp := client.GetBucketAnalyticsConfigurationRequest(params) @@ -1650,19 +1629,18 @@ const opGetBucketCors = "GetBucketCors" // GetBucketCorsRequest generates a "aws/request.Request" representing the // client's request for the GetBucketCors operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBucketCors for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBucketCors method directly -// instead. +// See GetBucketCors for more information on using the GetBucketCors +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBucketCorsRequest method. // req, resp := client.GetBucketCorsRequest(params) @@ -1725,19 +1703,18 @@ const opGetBucketInventoryConfiguration = "GetBucketInventoryConfiguration" // GetBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the // client's request for the GetBucketInventoryConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBucketInventoryConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBucketInventoryConfiguration method directly -// instead. +// See GetBucketInventoryConfiguration for more information on using the GetBucketInventoryConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBucketInventoryConfigurationRequest method. // req, resp := client.GetBucketInventoryConfigurationRequest(params) @@ -1801,19 +1778,18 @@ const opGetBucketLifecycle = "GetBucketLifecycle" // GetBucketLifecycleRequest generates a "aws/request.Request" representing the // client's request for the GetBucketLifecycle operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBucketLifecycle for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBucketLifecycle method directly -// instead. +// See GetBucketLifecycle for more information on using the GetBucketLifecycle +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBucketLifecycleRequest method. // req, resp := client.GetBucketLifecycleRequest(params) @@ -1879,19 +1855,18 @@ const opGetBucketLifecycleConfiguration = "GetBucketLifecycleConfiguration" // GetBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the // client's request for the GetBucketLifecycleConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBucketLifecycleConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBucketLifecycleConfiguration method directly -// instead. +// See GetBucketLifecycleConfiguration for more information on using the GetBucketLifecycleConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBucketLifecycleConfigurationRequest method. // req, resp := client.GetBucketLifecycleConfigurationRequest(params) @@ -1954,19 +1929,18 @@ const opGetBucketLocation = "GetBucketLocation" // GetBucketLocationRequest generates a "aws/request.Request" representing the // client's request for the GetBucketLocation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBucketLocation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBucketLocation method directly -// instead. +// See GetBucketLocation for more information on using the GetBucketLocation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBucketLocationRequest method. // req, resp := client.GetBucketLocationRequest(params) @@ -2029,19 +2003,18 @@ const opGetBucketLogging = "GetBucketLogging" // GetBucketLoggingRequest generates a "aws/request.Request" representing the // client's request for the GetBucketLogging operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBucketLogging for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBucketLogging method directly -// instead. +// See GetBucketLogging for more information on using the GetBucketLogging +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBucketLoggingRequest method. // req, resp := client.GetBucketLoggingRequest(params) @@ -2105,19 +2078,18 @@ const opGetBucketMetricsConfiguration = "GetBucketMetricsConfiguration" // GetBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the // client's request for the GetBucketMetricsConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBucketMetricsConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBucketMetricsConfiguration method directly -// instead. +// See GetBucketMetricsConfiguration for more information on using the GetBucketMetricsConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBucketMetricsConfigurationRequest method. // req, resp := client.GetBucketMetricsConfigurationRequest(params) @@ -2181,19 +2153,18 @@ const opGetBucketNotification = "GetBucketNotification" // GetBucketNotificationRequest generates a "aws/request.Request" representing the // client's request for the GetBucketNotification operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBucketNotification for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBucketNotification method directly -// instead. +// See GetBucketNotification for more information on using the GetBucketNotification +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBucketNotificationRequest method. // req, resp := client.GetBucketNotificationRequest(params) @@ -2259,19 +2230,18 @@ const opGetBucketNotificationConfiguration = "GetBucketNotificationConfiguration // GetBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the // client's request for the GetBucketNotificationConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBucketNotificationConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBucketNotificationConfiguration method directly -// instead. +// See GetBucketNotificationConfiguration for more information on using the GetBucketNotificationConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBucketNotificationConfigurationRequest method. // req, resp := client.GetBucketNotificationConfigurationRequest(params) @@ -2334,19 +2304,18 @@ const opGetBucketPolicy = "GetBucketPolicy" // GetBucketPolicyRequest generates a "aws/request.Request" representing the // client's request for the GetBucketPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBucketPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBucketPolicy method directly -// instead. +// See GetBucketPolicy for more information on using the GetBucketPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBucketPolicyRequest method. // req, resp := client.GetBucketPolicyRequest(params) @@ -2409,19 +2378,18 @@ const opGetBucketReplication = "GetBucketReplication" // GetBucketReplicationRequest generates a "aws/request.Request" representing the // client's request for the GetBucketReplication operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBucketReplication for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBucketReplication method directly -// instead. +// See GetBucketReplication for more information on using the GetBucketReplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBucketReplicationRequest method. // req, resp := client.GetBucketReplicationRequest(params) @@ -2484,19 +2452,18 @@ const opGetBucketRequestPayment = "GetBucketRequestPayment" // GetBucketRequestPaymentRequest generates a "aws/request.Request" representing the // client's request for the GetBucketRequestPayment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBucketRequestPayment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBucketRequestPayment method directly -// instead. +// See GetBucketRequestPayment for more information on using the GetBucketRequestPayment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBucketRequestPaymentRequest method. // req, resp := client.GetBucketRequestPaymentRequest(params) @@ -2559,19 +2526,18 @@ const opGetBucketTagging = "GetBucketTagging" // GetBucketTaggingRequest generates a "aws/request.Request" representing the // client's request for the GetBucketTagging operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBucketTagging for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBucketTagging method directly -// instead. +// See GetBucketTagging for more information on using the GetBucketTagging +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBucketTaggingRequest method. // req, resp := client.GetBucketTaggingRequest(params) @@ -2634,19 +2600,18 @@ const opGetBucketVersioning = "GetBucketVersioning" // GetBucketVersioningRequest generates a "aws/request.Request" representing the // client's request for the GetBucketVersioning operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBucketVersioning for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBucketVersioning method directly -// instead. +// See GetBucketVersioning for more information on using the GetBucketVersioning +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBucketVersioningRequest method. // req, resp := client.GetBucketVersioningRequest(params) @@ -2709,19 +2674,18 @@ const opGetBucketWebsite = "GetBucketWebsite" // GetBucketWebsiteRequest generates a "aws/request.Request" representing the // client's request for the GetBucketWebsite operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetBucketWebsite for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetBucketWebsite method directly -// instead. +// See GetBucketWebsite for more information on using the GetBucketWebsite +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetBucketWebsiteRequest method. // req, resp := client.GetBucketWebsiteRequest(params) @@ -2784,19 +2748,18 @@ const opGetObject = "GetObject" // GetObjectRequest generates a "aws/request.Request" representing the // client's request for the GetObject operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetObject for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetObject method directly -// instead. +// See GetObject for more information on using the GetObject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetObjectRequest method. // req, resp := client.GetObjectRequest(params) @@ -2864,19 +2827,18 @@ const opGetObjectAcl = "GetObjectAcl" // GetObjectAclRequest generates a "aws/request.Request" representing the // client's request for the GetObjectAcl operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetObjectAcl for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetObjectAcl method directly -// instead. +// See GetObjectAcl for more information on using the GetObjectAcl +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetObjectAclRequest method. // req, resp := client.GetObjectAclRequest(params) @@ -2944,19 +2906,18 @@ const opGetObjectTagging = "GetObjectTagging" // GetObjectTaggingRequest generates a "aws/request.Request" representing the // client's request for the GetObjectTagging operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetObjectTagging for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetObjectTagging method directly -// instead. +// See GetObjectTagging for more information on using the GetObjectTagging +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetObjectTaggingRequest method. // req, resp := client.GetObjectTaggingRequest(params) @@ -3019,19 +2980,18 @@ const opGetObjectTorrent = "GetObjectTorrent" // GetObjectTorrentRequest generates a "aws/request.Request" representing the // client's request for the GetObjectTorrent operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetObjectTorrent for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetObjectTorrent method directly -// instead. +// See GetObjectTorrent for more information on using the GetObjectTorrent +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetObjectTorrentRequest method. // req, resp := client.GetObjectTorrentRequest(params) @@ -3094,19 +3054,18 @@ const opHeadBucket = "HeadBucket" // HeadBucketRequest generates a "aws/request.Request" representing the // client's request for the HeadBucket operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See HeadBucket for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the HeadBucket method directly -// instead. +// See HeadBucket for more information on using the HeadBucket +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the HeadBucketRequest method. // req, resp := client.HeadBucketRequest(params) @@ -3177,19 +3136,18 @@ const opHeadObject = "HeadObject" // HeadObjectRequest generates a "aws/request.Request" representing the // client's request for the HeadObject operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See HeadObject for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the HeadObject method directly -// instead. +// See HeadObject for more information on using the HeadObject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the HeadObjectRequest method. // req, resp := client.HeadObjectRequest(params) @@ -3257,19 +3215,18 @@ const opListBucketAnalyticsConfigurations = "ListBucketAnalyticsConfigurations" // ListBucketAnalyticsConfigurationsRequest generates a "aws/request.Request" representing the // client's request for the ListBucketAnalyticsConfigurations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListBucketAnalyticsConfigurations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListBucketAnalyticsConfigurations method directly -// instead. +// See ListBucketAnalyticsConfigurations for more information on using the ListBucketAnalyticsConfigurations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListBucketAnalyticsConfigurationsRequest method. // req, resp := client.ListBucketAnalyticsConfigurationsRequest(params) @@ -3332,19 +3289,18 @@ const opListBucketInventoryConfigurations = "ListBucketInventoryConfigurations" // ListBucketInventoryConfigurationsRequest generates a "aws/request.Request" representing the // client's request for the ListBucketInventoryConfigurations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListBucketInventoryConfigurations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListBucketInventoryConfigurations method directly -// instead. +// See ListBucketInventoryConfigurations for more information on using the ListBucketInventoryConfigurations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListBucketInventoryConfigurationsRequest method. // req, resp := client.ListBucketInventoryConfigurationsRequest(params) @@ -3407,19 +3363,18 @@ const opListBucketMetricsConfigurations = "ListBucketMetricsConfigurations" // ListBucketMetricsConfigurationsRequest generates a "aws/request.Request" representing the // client's request for the ListBucketMetricsConfigurations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListBucketMetricsConfigurations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListBucketMetricsConfigurations method directly -// instead. +// See ListBucketMetricsConfigurations for more information on using the ListBucketMetricsConfigurations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListBucketMetricsConfigurationsRequest method. // req, resp := client.ListBucketMetricsConfigurationsRequest(params) @@ -3482,19 +3437,18 @@ const opListBuckets = "ListBuckets" // ListBucketsRequest generates a "aws/request.Request" representing the // client's request for the ListBuckets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListBuckets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListBuckets method directly -// instead. +// See ListBuckets for more information on using the ListBuckets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListBucketsRequest method. // req, resp := client.ListBucketsRequest(params) @@ -3557,19 +3511,18 @@ const opListMultipartUploads = "ListMultipartUploads" // ListMultipartUploadsRequest generates a "aws/request.Request" representing the // client's request for the ListMultipartUploads operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListMultipartUploads for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListMultipartUploads method directly -// instead. +// See ListMultipartUploads for more information on using the ListMultipartUploads +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListMultipartUploadsRequest method. // req, resp := client.ListMultipartUploadsRequest(params) @@ -3688,19 +3641,18 @@ const opListObjectVersions = "ListObjectVersions" // ListObjectVersionsRequest generates a "aws/request.Request" representing the // client's request for the ListObjectVersions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListObjectVersions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListObjectVersions method directly -// instead. +// See ListObjectVersions for more information on using the ListObjectVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListObjectVersionsRequest method. // req, resp := client.ListObjectVersionsRequest(params) @@ -3819,19 +3771,18 @@ const opListObjects = "ListObjects" // ListObjectsRequest generates a "aws/request.Request" representing the // client's request for the ListObjects operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListObjects for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListObjects method directly -// instead. +// See ListObjects for more information on using the ListObjects +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListObjectsRequest method. // req, resp := client.ListObjectsRequest(params) @@ -3957,19 +3908,18 @@ const opListObjectsV2 = "ListObjectsV2" // ListObjectsV2Request generates a "aws/request.Request" representing the // client's request for the ListObjectsV2 operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListObjectsV2 for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListObjectsV2 method directly -// instead. +// See ListObjectsV2 for more information on using the ListObjectsV2 +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListObjectsV2Request method. // req, resp := client.ListObjectsV2Request(params) @@ -4096,19 +4046,18 @@ const opListParts = "ListParts" // ListPartsRequest generates a "aws/request.Request" representing the // client's request for the ListParts operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListParts for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListParts method directly -// instead. +// See ListParts for more information on using the ListParts +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPartsRequest method. // req, resp := client.ListPartsRequest(params) @@ -4227,19 +4176,18 @@ const opPutBucketAccelerateConfiguration = "PutBucketAccelerateConfiguration" // PutBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the // client's request for the PutBucketAccelerateConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutBucketAccelerateConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutBucketAccelerateConfiguration method directly -// instead. +// See PutBucketAccelerateConfiguration for more information on using the PutBucketAccelerateConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutBucketAccelerateConfigurationRequest method. // req, resp := client.PutBucketAccelerateConfigurationRequest(params) @@ -4304,19 +4252,18 @@ const opPutBucketAcl = "PutBucketAcl" // PutBucketAclRequest generates a "aws/request.Request" representing the // client's request for the PutBucketAcl operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutBucketAcl for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutBucketAcl method directly -// instead. +// See PutBucketAcl for more information on using the PutBucketAcl +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutBucketAclRequest method. // req, resp := client.PutBucketAclRequest(params) @@ -4381,19 +4328,18 @@ const opPutBucketAnalyticsConfiguration = "PutBucketAnalyticsConfiguration" // PutBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the // client's request for the PutBucketAnalyticsConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutBucketAnalyticsConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutBucketAnalyticsConfiguration method directly -// instead. +// See PutBucketAnalyticsConfiguration for more information on using the PutBucketAnalyticsConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutBucketAnalyticsConfigurationRequest method. // req, resp := client.PutBucketAnalyticsConfigurationRequest(params) @@ -4459,19 +4405,18 @@ const opPutBucketCors = "PutBucketCors" // PutBucketCorsRequest generates a "aws/request.Request" representing the // client's request for the PutBucketCors operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutBucketCors for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutBucketCors method directly -// instead. +// See PutBucketCors for more information on using the PutBucketCors +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutBucketCorsRequest method. // req, resp := client.PutBucketCorsRequest(params) @@ -4536,19 +4481,18 @@ const opPutBucketInventoryConfiguration = "PutBucketInventoryConfiguration" // PutBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the // client's request for the PutBucketInventoryConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutBucketInventoryConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutBucketInventoryConfiguration method directly -// instead. +// See PutBucketInventoryConfiguration for more information on using the PutBucketInventoryConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutBucketInventoryConfigurationRequest method. // req, resp := client.PutBucketInventoryConfigurationRequest(params) @@ -4614,19 +4558,18 @@ const opPutBucketLifecycle = "PutBucketLifecycle" // PutBucketLifecycleRequest generates a "aws/request.Request" representing the // client's request for the PutBucketLifecycle operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutBucketLifecycle for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutBucketLifecycle method directly -// instead. +// See PutBucketLifecycle for more information on using the PutBucketLifecycle +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutBucketLifecycleRequest method. // req, resp := client.PutBucketLifecycleRequest(params) @@ -4694,19 +4637,18 @@ const opPutBucketLifecycleConfiguration = "PutBucketLifecycleConfiguration" // PutBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the // client's request for the PutBucketLifecycleConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutBucketLifecycleConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutBucketLifecycleConfiguration method directly -// instead. +// See PutBucketLifecycleConfiguration for more information on using the PutBucketLifecycleConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutBucketLifecycleConfigurationRequest method. // req, resp := client.PutBucketLifecycleConfigurationRequest(params) @@ -4772,19 +4714,18 @@ const opPutBucketLogging = "PutBucketLogging" // PutBucketLoggingRequest generates a "aws/request.Request" representing the // client's request for the PutBucketLogging operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutBucketLogging for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutBucketLogging method directly -// instead. +// See PutBucketLogging for more information on using the PutBucketLogging +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutBucketLoggingRequest method. // req, resp := client.PutBucketLoggingRequest(params) @@ -4851,19 +4792,18 @@ const opPutBucketMetricsConfiguration = "PutBucketMetricsConfiguration" // PutBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the // client's request for the PutBucketMetricsConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutBucketMetricsConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutBucketMetricsConfiguration method directly -// instead. +// See PutBucketMetricsConfiguration for more information on using the PutBucketMetricsConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutBucketMetricsConfigurationRequest method. // req, resp := client.PutBucketMetricsConfigurationRequest(params) @@ -4929,19 +4869,18 @@ const opPutBucketNotification = "PutBucketNotification" // PutBucketNotificationRequest generates a "aws/request.Request" representing the // client's request for the PutBucketNotification operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutBucketNotification for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutBucketNotification method directly -// instead. +// See PutBucketNotification for more information on using the PutBucketNotification +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutBucketNotificationRequest method. // req, resp := client.PutBucketNotificationRequest(params) @@ -5009,19 +4948,18 @@ const opPutBucketNotificationConfiguration = "PutBucketNotificationConfiguration // PutBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the // client's request for the PutBucketNotificationConfiguration operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutBucketNotificationConfiguration for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutBucketNotificationConfiguration method directly -// instead. +// See PutBucketNotificationConfiguration for more information on using the PutBucketNotificationConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutBucketNotificationConfigurationRequest method. // req, resp := client.PutBucketNotificationConfigurationRequest(params) @@ -5086,19 +5024,18 @@ const opPutBucketPolicy = "PutBucketPolicy" // PutBucketPolicyRequest generates a "aws/request.Request" representing the // client's request for the PutBucketPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutBucketPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutBucketPolicy method directly -// instead. +// See PutBucketPolicy for more information on using the PutBucketPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutBucketPolicyRequest method. // req, resp := client.PutBucketPolicyRequest(params) @@ -5164,19 +5101,18 @@ const opPutBucketReplication = "PutBucketReplication" // PutBucketReplicationRequest generates a "aws/request.Request" representing the // client's request for the PutBucketReplication operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutBucketReplication for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutBucketReplication method directly -// instead. +// See PutBucketReplication for more information on using the PutBucketReplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutBucketReplicationRequest method. // req, resp := client.PutBucketReplicationRequest(params) @@ -5242,19 +5178,18 @@ const opPutBucketRequestPayment = "PutBucketRequestPayment" // PutBucketRequestPaymentRequest generates a "aws/request.Request" representing the // client's request for the PutBucketRequestPayment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutBucketRequestPayment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutBucketRequestPayment method directly -// instead. +// See PutBucketRequestPayment for more information on using the PutBucketRequestPayment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutBucketRequestPaymentRequest method. // req, resp := client.PutBucketRequestPaymentRequest(params) @@ -5323,19 +5258,18 @@ const opPutBucketTagging = "PutBucketTagging" // PutBucketTaggingRequest generates a "aws/request.Request" representing the // client's request for the PutBucketTagging operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutBucketTagging for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutBucketTagging method directly -// instead. +// See PutBucketTagging for more information on using the PutBucketTagging +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutBucketTaggingRequest method. // req, resp := client.PutBucketTaggingRequest(params) @@ -5400,19 +5334,18 @@ const opPutBucketVersioning = "PutBucketVersioning" // PutBucketVersioningRequest generates a "aws/request.Request" representing the // client's request for the PutBucketVersioning operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutBucketVersioning for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutBucketVersioning method directly -// instead. +// See PutBucketVersioning for more information on using the PutBucketVersioning +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutBucketVersioningRequest method. // req, resp := client.PutBucketVersioningRequest(params) @@ -5478,19 +5411,18 @@ const opPutBucketWebsite = "PutBucketWebsite" // PutBucketWebsiteRequest generates a "aws/request.Request" representing the // client's request for the PutBucketWebsite operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutBucketWebsite for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutBucketWebsite method directly -// instead. +// See PutBucketWebsite for more information on using the PutBucketWebsite +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutBucketWebsiteRequest method. // req, resp := client.PutBucketWebsiteRequest(params) @@ -5555,19 +5487,18 @@ const opPutObject = "PutObject" // PutObjectRequest generates a "aws/request.Request" representing the // client's request for the PutObject operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutObject for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutObject method directly -// instead. +// See PutObject for more information on using the PutObject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutObjectRequest method. // req, resp := client.PutObjectRequest(params) @@ -5630,19 +5561,18 @@ const opPutObjectAcl = "PutObjectAcl" // PutObjectAclRequest generates a "aws/request.Request" representing the // client's request for the PutObjectAcl operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutObjectAcl for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutObjectAcl method directly -// instead. +// See PutObjectAcl for more information on using the PutObjectAcl +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutObjectAclRequest method. // req, resp := client.PutObjectAclRequest(params) @@ -5711,19 +5641,18 @@ const opPutObjectTagging = "PutObjectTagging" // PutObjectTaggingRequest generates a "aws/request.Request" representing the // client's request for the PutObjectTagging operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutObjectTagging for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutObjectTagging method directly -// instead. +// See PutObjectTagging for more information on using the PutObjectTagging +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutObjectTaggingRequest method. // req, resp := client.PutObjectTaggingRequest(params) @@ -5786,19 +5715,18 @@ const opRestoreObject = "RestoreObject" // RestoreObjectRequest generates a "aws/request.Request" representing the // client's request for the RestoreObject operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RestoreObject for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RestoreObject method directly -// instead. +// See RestoreObject for more information on using the RestoreObject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RestoreObjectRequest method. // req, resp := client.RestoreObjectRequest(params) @@ -5866,19 +5794,18 @@ const opUploadPart = "UploadPart" // UploadPartRequest generates a "aws/request.Request" representing the // client's request for the UploadPart operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UploadPart for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UploadPart method directly -// instead. +// See UploadPart for more information on using the UploadPart +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UploadPartRequest method. // req, resp := client.UploadPartRequest(params) @@ -5947,19 +5874,18 @@ const opUploadPartCopy = "UploadPartCopy" // UploadPartCopyRequest generates a "aws/request.Request" representing the // client's request for the UploadPartCopy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UploadPartCopy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UploadPartCopy method directly -// instead. +// See UploadPartCopy for more information on using the UploadPartCopy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UploadPartCopyRequest method. // req, resp := client.UploadPartCopyRequest(params) @@ -17159,6 +17085,9 @@ type PutObjectInput struct { // body cannot be determined automatically. ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` + // The base64-encoded 128-bit MD5 digest of the part data. + ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"` + // A standard MIME type describing the format of the object data. ContentType *string `location:"header" locationName:"Content-Type" type:"string"` @@ -17312,6 +17241,12 @@ func (s *PutObjectInput) SetContentLength(v int64) *PutObjectInput { return s } +// SetContentMD5 sets the ContentMD5 field's value. +func (s *PutObjectInput) SetContentMD5(v string) *PutObjectInput { + s.ContentMD5 = &v + return s +} + // SetContentType sets the ContentType field's value. func (s *PutObjectInput) SetContentType(v string) *PutObjectInput { s.ContentType = &v @@ -19153,6 +19088,9 @@ type UploadPartInput struct { // body cannot be determined automatically. ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` + // The base64-encoded 128-bit MD5 digest of the part data. + ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"` + // Object key for which the multipart upload was initiated. // // Key is a required field @@ -19252,6 +19190,12 @@ func (s *UploadPartInput) SetContentLength(v int64) *UploadPartInput { return s } +// SetContentMD5 sets the ContentMD5 field's value. +func (s *UploadPartInput) SetContentMD5(v string) *UploadPartInput { + s.ContentMD5 = &v + return s +} + // SetKey sets the Key field's value. func (s *UploadPartInput) SetKey(v string) *UploadPartInput { s.Key = &v diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/doc.go b/vendor/github.com/aws/aws-sdk-go/service/s3/doc.go index f045fd0db..30068d159 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/s3/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/doc.go @@ -10,69 +10,17 @@ // // Using the Client // -// To use the client for Amazon Simple Storage Service you will first need -// to create a new instance of it. +// To Amazon Simple Storage Service with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := s3.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Simple Storage Service client S3 for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/s3/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AbortMultipartUpload(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AbortMultipartUpload result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AbortMultipartUploadWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package s3 diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/s3crypto/envelope.go b/vendor/github.com/aws/aws-sdk-go/service/s3/s3crypto/envelope.go index 9986717dc..6e1e70a4d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/s3/s3crypto/envelope.go +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/s3crypto/envelope.go @@ -26,7 +26,7 @@ type Envelope struct { // IV is the randomly generated IV base64 encoded. IV string `json:"x-amz-iv"` // CipherKey is the randomly generated cipher key. - CipherKey string `json:"x-amz-key-v2, x-amz-key"` + CipherKey string `json:"x-amz-key-v2"` // MaterialDesc is a description to distinguish from other envelopes. MatDesc string `json:"x-amz-matdesc"` WrapAlg string `json:"x-amz-wrap-alg"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/s3iface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/s3/s3iface/interface.go index 8c1e33437..34e71df0f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/s3/s3iface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/s3iface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Simple Storage Service. diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/upload.go b/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/upload.go index fc1f47205..a4079b83e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/upload.go +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/upload.go @@ -117,6 +117,9 @@ type UploadInput struct { // The language the content is in. ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"` + // The base64-encoded 128-bit MD5 digest of the part data. + ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"` + // A standard MIME type describing the format of the object data. ContentType *string `location:"header" locationName:"Content-Type" type:"string"` @@ -218,8 +221,11 @@ type Uploader struct { // if this value is set to zero, the DefaultUploadPartSize value will be used. PartSize int64 - // The number of goroutines to spin up in parallel when sending parts. - // If this is set to zero, the DefaultUploadConcurrency value will be used. + // The number of goroutines to spin up in parallel per call to Upload when + // sending parts. If this is set to zero, the DefaultUploadConcurrency value + // will be used. + // + // The concurrency pool is not shared between calls to Upload. Concurrency int // Setting this value to true will cause the SDK to avoid calling diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/s3/waiters.go index cccfa8c2b..2596c694b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/s3/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/waiters.go @@ -11,7 +11,7 @@ import ( // WaitUntilBucketExists uses the Amazon S3 API operation // HeadBucket to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *S3) WaitUntilBucketExists(input *HeadBucketInput) error { return c.WaitUntilBucketExistsWithContext(aws.BackgroundContext(), input) @@ -72,7 +72,7 @@ func (c *S3) WaitUntilBucketExistsWithContext(ctx aws.Context, input *HeadBucket // WaitUntilBucketNotExists uses the Amazon S3 API operation // HeadBucket to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *S3) WaitUntilBucketNotExists(input *HeadBucketInput) error { return c.WaitUntilBucketNotExistsWithContext(aws.BackgroundContext(), input) @@ -118,7 +118,7 @@ func (c *S3) WaitUntilBucketNotExistsWithContext(ctx aws.Context, input *HeadBuc // WaitUntilObjectExists uses the Amazon S3 API operation // HeadObject to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *S3) WaitUntilObjectExists(input *HeadObjectInput) error { return c.WaitUntilObjectExistsWithContext(aws.BackgroundContext(), input) @@ -169,7 +169,7 @@ func (c *S3) WaitUntilObjectExistsWithContext(ctx aws.Context, input *HeadObject // WaitUntilObjectNotExists uses the Amazon S3 API operation // HeadObject to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *S3) WaitUntilObjectNotExists(input *HeadObjectInput) error { return c.WaitUntilObjectNotExistsWithContext(aws.BackgroundContext(), input) diff --git a/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go b/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go index e47cefe17..b9b2efdef 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go @@ -15,19 +15,18 @@ const opAcceptPortfolioShare = "AcceptPortfolioShare" // AcceptPortfolioShareRequest generates a "aws/request.Request" representing the // client's request for the AcceptPortfolioShare operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AcceptPortfolioShare for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AcceptPortfolioShare method directly -// instead. +// See AcceptPortfolioShare for more information on using the AcceptPortfolioShare +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AcceptPortfolioShareRequest method. // req, resp := client.AcceptPortfolioShareRequest(params) @@ -102,19 +101,18 @@ const opAssociatePrincipalWithPortfolio = "AssociatePrincipalWithPortfolio" // AssociatePrincipalWithPortfolioRequest generates a "aws/request.Request" representing the // client's request for the AssociatePrincipalWithPortfolio operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssociatePrincipalWithPortfolio for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssociatePrincipalWithPortfolio method directly -// instead. +// See AssociatePrincipalWithPortfolio for more information on using the AssociatePrincipalWithPortfolio +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssociatePrincipalWithPortfolioRequest method. // req, resp := client.AssociatePrincipalWithPortfolioRequest(params) @@ -189,19 +187,18 @@ const opAssociateProductWithPortfolio = "AssociateProductWithPortfolio" // AssociateProductWithPortfolioRequest generates a "aws/request.Request" representing the // client's request for the AssociateProductWithPortfolio operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssociateProductWithPortfolio for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssociateProductWithPortfolio method directly -// instead. +// See AssociateProductWithPortfolio for more information on using the AssociateProductWithPortfolio +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssociateProductWithPortfolioRequest method. // req, resp := client.AssociateProductWithPortfolioRequest(params) @@ -276,19 +273,18 @@ const opAssociateTagOptionWithResource = "AssociateTagOptionWithResource" // AssociateTagOptionWithResourceRequest generates a "aws/request.Request" representing the // client's request for the AssociateTagOptionWithResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssociateTagOptionWithResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssociateTagOptionWithResource method directly -// instead. +// See AssociateTagOptionWithResource for more information on using the AssociateTagOptionWithResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssociateTagOptionWithResourceRequest method. // req, resp := client.AssociateTagOptionWithResourceRequest(params) @@ -372,23 +368,111 @@ func (c *ServiceCatalog) AssociateTagOptionWithResourceWithContext(ctx aws.Conte return out, req.Send() } +const opCopyProduct = "CopyProduct" + +// CopyProductRequest generates a "aws/request.Request" representing the +// client's request for the CopyProduct operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CopyProduct for more information on using the CopyProduct +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CopyProductRequest method. +// req, resp := client.CopyProductRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CopyProduct +func (c *ServiceCatalog) CopyProductRequest(input *CopyProductInput) (req *request.Request, output *CopyProductOutput) { + op := &request.Operation{ + Name: opCopyProduct, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CopyProductInput{} + } + + output = &CopyProductOutput{} + req = c.newRequest(op, input, output) + return +} + +// CopyProduct API operation for AWS Service Catalog. +// +// Copies the specified source product to the specified target product or a +// new product. +// +// You can copy the product to the same account or another account. You can +// copy the product to the same region or another region. +// +// This operation is performed asynchronously. To track the progress of the +// operation, use DescribeCopyProductStatus. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Service Catalog's +// API operation CopyProduct for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource was not found. +// +// * ErrCodeInvalidParametersException "InvalidParametersException" +// One or more parameters provided to the operation are invalid. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CopyProduct +func (c *ServiceCatalog) CopyProduct(input *CopyProductInput) (*CopyProductOutput, error) { + req, out := c.CopyProductRequest(input) + return out, req.Send() +} + +// CopyProductWithContext is the same as CopyProduct with the addition of +// the ability to pass a context and additional request options. +// +// See CopyProduct for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ServiceCatalog) CopyProductWithContext(ctx aws.Context, input *CopyProductInput, opts ...request.Option) (*CopyProductOutput, error) { + req, out := c.CopyProductRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateConstraint = "CreateConstraint" // CreateConstraintRequest generates a "aws/request.Request" representing the // client's request for the CreateConstraint operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateConstraint for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateConstraint method directly -// instead. +// See CreateConstraint for more information on using the CreateConstraint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateConstraintRequest method. // req, resp := client.CreateConstraintRequest(params) @@ -466,19 +550,18 @@ const opCreatePortfolio = "CreatePortfolio" // CreatePortfolioRequest generates a "aws/request.Request" representing the // client's request for the CreatePortfolio operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreatePortfolio for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreatePortfolio method directly -// instead. +// See CreatePortfolio for more information on using the CreatePortfolio +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreatePortfolioRequest method. // req, resp := client.CreatePortfolioRequest(params) @@ -555,19 +638,18 @@ const opCreatePortfolioShare = "CreatePortfolioShare" // CreatePortfolioShareRequest generates a "aws/request.Request" representing the // client's request for the CreatePortfolioShare operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreatePortfolioShare for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreatePortfolioShare method directly -// instead. +// See CreatePortfolioShare for more information on using the CreatePortfolioShare +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreatePortfolioShareRequest method. // req, resp := client.CreatePortfolioShareRequest(params) @@ -642,19 +724,18 @@ const opCreateProduct = "CreateProduct" // CreateProductRequest generates a "aws/request.Request" representing the // client's request for the CreateProduct operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateProduct for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateProduct method directly -// instead. +// See CreateProduct for more information on using the CreateProduct +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateProductRequest method. // req, resp := client.CreateProductRequest(params) @@ -731,19 +812,18 @@ const opCreateProvisioningArtifact = "CreateProvisioningArtifact" // CreateProvisioningArtifactRequest generates a "aws/request.Request" representing the // client's request for the CreateProvisioningArtifact operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateProvisioningArtifact for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateProvisioningArtifact method directly -// instead. +// See CreateProvisioningArtifact for more information on using the CreateProvisioningArtifact +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateProvisioningArtifactRequest method. // req, resp := client.CreateProvisioningArtifactRequest(params) @@ -775,8 +855,6 @@ func (c *ServiceCatalog) CreateProvisioningArtifactRequest(input *CreateProvisio // Create a new provisioning artifact for the specified product. This operation // does not work with a product that has been shared with you. // -// See the bottom of this topic for an example JSON request. -// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -821,19 +899,18 @@ const opCreateTagOption = "CreateTagOption" // CreateTagOptionRequest generates a "aws/request.Request" representing the // client's request for the CreateTagOption operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateTagOption for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateTagOption method directly -// instead. +// See CreateTagOption for more information on using the CreateTagOption +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateTagOptionRequest method. // req, resp := client.CreateTagOptionRequest(params) @@ -910,19 +987,18 @@ const opDeleteConstraint = "DeleteConstraint" // DeleteConstraintRequest generates a "aws/request.Request" representing the // client's request for the DeleteConstraint operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteConstraint for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteConstraint method directly -// instead. +// See DeleteConstraint for more information on using the DeleteConstraint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteConstraintRequest method. // req, resp := client.DeleteConstraintRequest(params) @@ -993,19 +1069,18 @@ const opDeletePortfolio = "DeletePortfolio" // DeletePortfolioRequest generates a "aws/request.Request" representing the // client's request for the DeletePortfolio operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeletePortfolio for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeletePortfolio method directly -// instead. +// See DeletePortfolio for more information on using the DeletePortfolio +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeletePortfolioRequest method. // req, resp := client.DeletePortfolioRequest(params) @@ -1087,19 +1162,18 @@ const opDeletePortfolioShare = "DeletePortfolioShare" // DeletePortfolioShareRequest generates a "aws/request.Request" representing the // client's request for the DeletePortfolioShare operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeletePortfolioShare for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeletePortfolioShare method directly -// instead. +// See DeletePortfolioShare for more information on using the DeletePortfolioShare +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeletePortfolioShareRequest method. // req, resp := client.DeletePortfolioShareRequest(params) @@ -1167,19 +1241,18 @@ const opDeleteProduct = "DeleteProduct" // DeleteProductRequest generates a "aws/request.Request" representing the // client's request for the DeleteProduct operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteProduct for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteProduct method directly -// instead. +// See DeleteProduct for more information on using the DeleteProduct +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteProductRequest method. // req, resp := client.DeleteProductRequest(params) @@ -1260,19 +1333,18 @@ const opDeleteProvisioningArtifact = "DeleteProvisioningArtifact" // DeleteProvisioningArtifactRequest generates a "aws/request.Request" representing the // client's request for the DeleteProvisioningArtifact operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteProvisioningArtifact for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteProvisioningArtifact method directly -// instead. +// See DeleteProvisioningArtifact for more information on using the DeleteProvisioningArtifact +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteProvisioningArtifactRequest method. // req, resp := client.DeleteProvisioningArtifactRequest(params) @@ -1350,19 +1422,18 @@ const opDescribeConstraint = "DescribeConstraint" // DescribeConstraintRequest generates a "aws/request.Request" representing the // client's request for the DescribeConstraint operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeConstraint for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeConstraint method directly -// instead. +// See DescribeConstraint for more information on using the DescribeConstraint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeConstraintRequest method. // req, resp := client.DescribeConstraintRequest(params) @@ -1426,23 +1497,101 @@ func (c *ServiceCatalog) DescribeConstraintWithContext(ctx aws.Context, input *D return out, req.Send() } +const opDescribeCopyProductStatus = "DescribeCopyProductStatus" + +// DescribeCopyProductStatusRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCopyProductStatus operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeCopyProductStatus for more information on using the DescribeCopyProductStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeCopyProductStatusRequest method. +// req, resp := client.DescribeCopyProductStatusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeCopyProductStatus +func (c *ServiceCatalog) DescribeCopyProductStatusRequest(input *DescribeCopyProductStatusInput) (req *request.Request, output *DescribeCopyProductStatusOutput) { + op := &request.Operation{ + Name: opDescribeCopyProductStatus, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeCopyProductStatusInput{} + } + + output = &DescribeCopyProductStatusOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeCopyProductStatus API operation for AWS Service Catalog. +// +// Describes the status of the specified copy product operation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Service Catalog's +// API operation DescribeCopyProductStatus for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource was not found. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeCopyProductStatus +func (c *ServiceCatalog) DescribeCopyProductStatus(input *DescribeCopyProductStatusInput) (*DescribeCopyProductStatusOutput, error) { + req, out := c.DescribeCopyProductStatusRequest(input) + return out, req.Send() +} + +// DescribeCopyProductStatusWithContext is the same as DescribeCopyProductStatus with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeCopyProductStatus for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ServiceCatalog) DescribeCopyProductStatusWithContext(ctx aws.Context, input *DescribeCopyProductStatusInput, opts ...request.Option) (*DescribeCopyProductStatusOutput, error) { + req, out := c.DescribeCopyProductStatusRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribePortfolio = "DescribePortfolio" // DescribePortfolioRequest generates a "aws/request.Request" representing the // client's request for the DescribePortfolio operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribePortfolio for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribePortfolio method directly -// instead. +// See DescribePortfolio for more information on using the DescribePortfolio +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribePortfolioRequest method. // req, resp := client.DescribePortfolioRequest(params) @@ -1511,19 +1660,18 @@ const opDescribeProduct = "DescribeProduct" // DescribeProductRequest generates a "aws/request.Request" representing the // client's request for the DescribeProduct operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeProduct for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeProduct method directly -// instead. +// See DescribeProduct for more information on using the DescribeProduct +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeProductRequest method. // req, resp := client.DescribeProductRequest(params) @@ -1597,19 +1745,18 @@ const opDescribeProductAsAdmin = "DescribeProductAsAdmin" // DescribeProductAsAdminRequest generates a "aws/request.Request" representing the // client's request for the DescribeProductAsAdmin operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeProductAsAdmin for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeProductAsAdmin method directly -// instead. +// See DescribeProductAsAdmin for more information on using the DescribeProductAsAdmin +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeProductAsAdminRequest method. // req, resp := client.DescribeProductAsAdminRequest(params) @@ -1677,19 +1824,18 @@ const opDescribeProductView = "DescribeProductView" // DescribeProductViewRequest generates a "aws/request.Request" representing the // client's request for the DescribeProductView operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeProductView for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeProductView method directly -// instead. +// See DescribeProductView for more information on using the DescribeProductView +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeProductViewRequest method. // req, resp := client.DescribeProductViewRequest(params) @@ -1763,19 +1909,18 @@ const opDescribeProvisionedProduct = "DescribeProvisionedProduct" // DescribeProvisionedProductRequest generates a "aws/request.Request" representing the // client's request for the DescribeProvisionedProduct operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeProvisionedProduct for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeProvisionedProduct method directly -// instead. +// See DescribeProvisionedProduct for more information on using the DescribeProvisionedProduct +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeProvisionedProductRequest method. // req, resp := client.DescribeProvisionedProductRequest(params) @@ -1843,19 +1988,18 @@ const opDescribeProvisioningArtifact = "DescribeProvisioningArtifact" // DescribeProvisioningArtifactRequest generates a "aws/request.Request" representing the // client's request for the DescribeProvisioningArtifact operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeProvisioningArtifact for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeProvisioningArtifact method directly -// instead. +// See DescribeProvisioningArtifact for more information on using the DescribeProvisioningArtifact +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeProvisioningArtifactRequest method. // req, resp := client.DescribeProvisioningArtifactRequest(params) @@ -1923,19 +2067,18 @@ const opDescribeProvisioningParameters = "DescribeProvisioningParameters" // DescribeProvisioningParametersRequest generates a "aws/request.Request" representing the // client's request for the DescribeProvisioningParameters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeProvisioningParameters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeProvisioningParameters method directly -// instead. +// See DescribeProvisioningParameters for more information on using the DescribeProvisioningParameters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeProvisioningParametersRequest method. // req, resp := client.DescribeProvisioningParametersRequest(params) @@ -2018,19 +2161,18 @@ const opDescribeRecord = "DescribeRecord" // DescribeRecordRequest generates a "aws/request.Request" representing the // client's request for the DescribeRecord operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeRecord for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeRecord method directly -// instead. +// See DescribeRecord for more information on using the DescribeRecord +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeRecordRequest method. // req, resp := client.DescribeRecordRequest(params) @@ -2100,19 +2242,18 @@ const opDescribeTagOption = "DescribeTagOption" // DescribeTagOptionRequest generates a "aws/request.Request" representing the // client's request for the DescribeTagOption operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTagOption for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTagOption method directly -// instead. +// See DescribeTagOption for more information on using the DescribeTagOption +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTagOptionRequest method. // req, resp := client.DescribeTagOptionRequest(params) @@ -2185,19 +2326,18 @@ const opDisassociatePrincipalFromPortfolio = "DisassociatePrincipalFromPortfolio // DisassociatePrincipalFromPortfolioRequest generates a "aws/request.Request" representing the // client's request for the DisassociatePrincipalFromPortfolio operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisassociatePrincipalFromPortfolio for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisassociatePrincipalFromPortfolio method directly -// instead. +// See DisassociatePrincipalFromPortfolio for more information on using the DisassociatePrincipalFromPortfolio +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisassociatePrincipalFromPortfolioRequest method. // req, resp := client.DisassociatePrincipalFromPortfolioRequest(params) @@ -2268,19 +2408,18 @@ const opDisassociateProductFromPortfolio = "DisassociateProductFromPortfolio" // DisassociateProductFromPortfolioRequest generates a "aws/request.Request" representing the // client's request for the DisassociateProductFromPortfolio operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisassociateProductFromPortfolio for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisassociateProductFromPortfolio method directly -// instead. +// See DisassociateProductFromPortfolio for more information on using the DisassociateProductFromPortfolio +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisassociateProductFromPortfolioRequest method. // req, resp := client.DisassociateProductFromPortfolioRequest(params) @@ -2355,19 +2494,18 @@ const opDisassociateTagOptionFromResource = "DisassociateTagOptionFromResource" // DisassociateTagOptionFromResourceRequest generates a "aws/request.Request" representing the // client's request for the DisassociateTagOptionFromResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisassociateTagOptionFromResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisassociateTagOptionFromResource method directly -// instead. +// See DisassociateTagOptionFromResource for more information on using the DisassociateTagOptionFromResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisassociateTagOptionFromResourceRequest method. // req, resp := client.DisassociateTagOptionFromResourceRequest(params) @@ -2440,19 +2578,18 @@ const opListAcceptedPortfolioShares = "ListAcceptedPortfolioShares" // ListAcceptedPortfolioSharesRequest generates a "aws/request.Request" representing the // client's request for the ListAcceptedPortfolioShares operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAcceptedPortfolioShares for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAcceptedPortfolioShares method directly -// instead. +// See ListAcceptedPortfolioShares for more information on using the ListAcceptedPortfolioShares +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAcceptedPortfolioSharesRequest method. // req, resp := client.ListAcceptedPortfolioSharesRequest(params) @@ -2468,6 +2605,12 @@ func (c *ServiceCatalog) ListAcceptedPortfolioSharesRequest(input *ListAcceptedP Name: opListAcceptedPortfolioShares, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"PageToken"}, + OutputTokens: []string{"NextPageToken"}, + LimitToken: "PageSize", + TruncationToken: "", + }, } if input == nil { @@ -2516,23 +2659,72 @@ func (c *ServiceCatalog) ListAcceptedPortfolioSharesWithContext(ctx aws.Context, return out, req.Send() } +// ListAcceptedPortfolioSharesPages iterates over the pages of a ListAcceptedPortfolioShares operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAcceptedPortfolioShares method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListAcceptedPortfolioShares operation. +// pageNum := 0 +// err := client.ListAcceptedPortfolioSharesPages(params, +// func(page *ListAcceptedPortfolioSharesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ServiceCatalog) ListAcceptedPortfolioSharesPages(input *ListAcceptedPortfolioSharesInput, fn func(*ListAcceptedPortfolioSharesOutput, bool) bool) error { + return c.ListAcceptedPortfolioSharesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListAcceptedPortfolioSharesPagesWithContext same as ListAcceptedPortfolioSharesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ServiceCatalog) ListAcceptedPortfolioSharesPagesWithContext(ctx aws.Context, input *ListAcceptedPortfolioSharesInput, fn func(*ListAcceptedPortfolioSharesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAcceptedPortfolioSharesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAcceptedPortfolioSharesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListAcceptedPortfolioSharesOutput), !p.HasNextPage()) + } + return p.Err() +} + const opListConstraintsForPortfolio = "ListConstraintsForPortfolio" // ListConstraintsForPortfolioRequest generates a "aws/request.Request" representing the // client's request for the ListConstraintsForPortfolio operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListConstraintsForPortfolio for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListConstraintsForPortfolio method directly -// instead. +// See ListConstraintsForPortfolio for more information on using the ListConstraintsForPortfolio +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListConstraintsForPortfolioRequest method. // req, resp := client.ListConstraintsForPortfolioRequest(params) @@ -2548,6 +2740,12 @@ func (c *ServiceCatalog) ListConstraintsForPortfolioRequest(input *ListConstrain Name: opListConstraintsForPortfolio, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"PageToken"}, + OutputTokens: []string{"NextPageToken"}, + LimitToken: "PageSize", + TruncationToken: "", + }, } if input == nil { @@ -2600,23 +2798,72 @@ func (c *ServiceCatalog) ListConstraintsForPortfolioWithContext(ctx aws.Context, return out, req.Send() } +// ListConstraintsForPortfolioPages iterates over the pages of a ListConstraintsForPortfolio operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListConstraintsForPortfolio method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListConstraintsForPortfolio operation. +// pageNum := 0 +// err := client.ListConstraintsForPortfolioPages(params, +// func(page *ListConstraintsForPortfolioOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ServiceCatalog) ListConstraintsForPortfolioPages(input *ListConstraintsForPortfolioInput, fn func(*ListConstraintsForPortfolioOutput, bool) bool) error { + return c.ListConstraintsForPortfolioPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListConstraintsForPortfolioPagesWithContext same as ListConstraintsForPortfolioPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ServiceCatalog) ListConstraintsForPortfolioPagesWithContext(ctx aws.Context, input *ListConstraintsForPortfolioInput, fn func(*ListConstraintsForPortfolioOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListConstraintsForPortfolioInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListConstraintsForPortfolioRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListConstraintsForPortfolioOutput), !p.HasNextPage()) + } + return p.Err() +} + const opListLaunchPaths = "ListLaunchPaths" // ListLaunchPathsRequest generates a "aws/request.Request" representing the // client's request for the ListLaunchPaths operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListLaunchPaths for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListLaunchPaths method directly -// instead. +// See ListLaunchPaths for more information on using the ListLaunchPaths +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListLaunchPathsRequest method. // req, resp := client.ListLaunchPathsRequest(params) @@ -2632,6 +2879,12 @@ func (c *ServiceCatalog) ListLaunchPathsRequest(input *ListLaunchPathsInput) (re Name: opListLaunchPaths, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"PageToken"}, + OutputTokens: []string{"NextPageToken"}, + LimitToken: "PageSize", + TruncationToken: "", + }, } if input == nil { @@ -2685,23 +2938,72 @@ func (c *ServiceCatalog) ListLaunchPathsWithContext(ctx aws.Context, input *List return out, req.Send() } +// ListLaunchPathsPages iterates over the pages of a ListLaunchPaths operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListLaunchPaths method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListLaunchPaths operation. +// pageNum := 0 +// err := client.ListLaunchPathsPages(params, +// func(page *ListLaunchPathsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ServiceCatalog) ListLaunchPathsPages(input *ListLaunchPathsInput, fn func(*ListLaunchPathsOutput, bool) bool) error { + return c.ListLaunchPathsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListLaunchPathsPagesWithContext same as ListLaunchPathsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ServiceCatalog) ListLaunchPathsPagesWithContext(ctx aws.Context, input *ListLaunchPathsInput, fn func(*ListLaunchPathsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListLaunchPathsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListLaunchPathsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListLaunchPathsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opListPortfolioAccess = "ListPortfolioAccess" // ListPortfolioAccessRequest generates a "aws/request.Request" representing the // client's request for the ListPortfolioAccess operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListPortfolioAccess for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListPortfolioAccess method directly -// instead. +// See ListPortfolioAccess for more information on using the ListPortfolioAccess +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPortfolioAccessRequest method. // req, resp := client.ListPortfolioAccessRequest(params) @@ -2770,19 +3072,18 @@ const opListPortfolios = "ListPortfolios" // ListPortfoliosRequest generates a "aws/request.Request" representing the // client's request for the ListPortfolios operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListPortfolios for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListPortfolios method directly -// instead. +// See ListPortfolios for more information on using the ListPortfolios +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPortfoliosRequest method. // req, resp := client.ListPortfoliosRequest(params) @@ -2798,6 +3099,12 @@ func (c *ServiceCatalog) ListPortfoliosRequest(input *ListPortfoliosInput) (req Name: opListPortfolios, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"PageToken"}, + OutputTokens: []string{"NextPageToken"}, + LimitToken: "PageSize", + TruncationToken: "", + }, } if input == nil { @@ -2846,23 +3153,72 @@ func (c *ServiceCatalog) ListPortfoliosWithContext(ctx aws.Context, input *ListP return out, req.Send() } +// ListPortfoliosPages iterates over the pages of a ListPortfolios operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPortfolios method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListPortfolios operation. +// pageNum := 0 +// err := client.ListPortfoliosPages(params, +// func(page *ListPortfoliosOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ServiceCatalog) ListPortfoliosPages(input *ListPortfoliosInput, fn func(*ListPortfoliosOutput, bool) bool) error { + return c.ListPortfoliosPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPortfoliosPagesWithContext same as ListPortfoliosPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ServiceCatalog) ListPortfoliosPagesWithContext(ctx aws.Context, input *ListPortfoliosInput, fn func(*ListPortfoliosOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPortfoliosInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPortfoliosRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListPortfoliosOutput), !p.HasNextPage()) + } + return p.Err() +} + const opListPortfoliosForProduct = "ListPortfoliosForProduct" // ListPortfoliosForProductRequest generates a "aws/request.Request" representing the // client's request for the ListPortfoliosForProduct operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListPortfoliosForProduct for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListPortfoliosForProduct method directly -// instead. +// See ListPortfoliosForProduct for more information on using the ListPortfoliosForProduct +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPortfoliosForProductRequest method. // req, resp := client.ListPortfoliosForProductRequest(params) @@ -2878,6 +3234,12 @@ func (c *ServiceCatalog) ListPortfoliosForProductRequest(input *ListPortfoliosFo Name: opListPortfoliosForProduct, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"PageToken"}, + OutputTokens: []string{"NextPageToken"}, + LimitToken: "PageSize", + TruncationToken: "", + }, } if input == nil { @@ -2929,23 +3291,72 @@ func (c *ServiceCatalog) ListPortfoliosForProductWithContext(ctx aws.Context, in return out, req.Send() } +// ListPortfoliosForProductPages iterates over the pages of a ListPortfoliosForProduct operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPortfoliosForProduct method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListPortfoliosForProduct operation. +// pageNum := 0 +// err := client.ListPortfoliosForProductPages(params, +// func(page *ListPortfoliosForProductOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ServiceCatalog) ListPortfoliosForProductPages(input *ListPortfoliosForProductInput, fn func(*ListPortfoliosForProductOutput, bool) bool) error { + return c.ListPortfoliosForProductPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPortfoliosForProductPagesWithContext same as ListPortfoliosForProductPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ServiceCatalog) ListPortfoliosForProductPagesWithContext(ctx aws.Context, input *ListPortfoliosForProductInput, fn func(*ListPortfoliosForProductOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPortfoliosForProductInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPortfoliosForProductRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListPortfoliosForProductOutput), !p.HasNextPage()) + } + return p.Err() +} + const opListPrincipalsForPortfolio = "ListPrincipalsForPortfolio" // ListPrincipalsForPortfolioRequest generates a "aws/request.Request" representing the // client's request for the ListPrincipalsForPortfolio operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListPrincipalsForPortfolio for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListPrincipalsForPortfolio method directly -// instead. +// See ListPrincipalsForPortfolio for more information on using the ListPrincipalsForPortfolio +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPrincipalsForPortfolioRequest method. // req, resp := client.ListPrincipalsForPortfolioRequest(params) @@ -2961,6 +3372,12 @@ func (c *ServiceCatalog) ListPrincipalsForPortfolioRequest(input *ListPrincipals Name: opListPrincipalsForPortfolio, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"PageToken"}, + OutputTokens: []string{"NextPageToken"}, + LimitToken: "PageSize", + TruncationToken: "", + }, } if input == nil { @@ -3012,23 +3429,72 @@ func (c *ServiceCatalog) ListPrincipalsForPortfolioWithContext(ctx aws.Context, return out, req.Send() } +// ListPrincipalsForPortfolioPages iterates over the pages of a ListPrincipalsForPortfolio operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPrincipalsForPortfolio method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListPrincipalsForPortfolio operation. +// pageNum := 0 +// err := client.ListPrincipalsForPortfolioPages(params, +// func(page *ListPrincipalsForPortfolioOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ServiceCatalog) ListPrincipalsForPortfolioPages(input *ListPrincipalsForPortfolioInput, fn func(*ListPrincipalsForPortfolioOutput, bool) bool) error { + return c.ListPrincipalsForPortfolioPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPrincipalsForPortfolioPagesWithContext same as ListPrincipalsForPortfolioPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ServiceCatalog) ListPrincipalsForPortfolioPagesWithContext(ctx aws.Context, input *ListPrincipalsForPortfolioInput, fn func(*ListPrincipalsForPortfolioOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPrincipalsForPortfolioInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPrincipalsForPortfolioRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListPrincipalsForPortfolioOutput), !p.HasNextPage()) + } + return p.Err() +} + const opListProvisioningArtifacts = "ListProvisioningArtifacts" // ListProvisioningArtifactsRequest generates a "aws/request.Request" representing the // client's request for the ListProvisioningArtifacts operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListProvisioningArtifacts for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListProvisioningArtifacts method directly -// instead. +// See ListProvisioningArtifacts for more information on using the ListProvisioningArtifacts +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListProvisioningArtifactsRequest method. // req, resp := client.ListProvisioningArtifactsRequest(params) @@ -3099,19 +3565,18 @@ const opListRecordHistory = "ListRecordHistory" // ListRecordHistoryRequest generates a "aws/request.Request" representing the // client's request for the ListRecordHistory operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListRecordHistory for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListRecordHistory method directly -// instead. +// See ListRecordHistory for more information on using the ListRecordHistory +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListRecordHistoryRequest method. // req, resp := client.ListRecordHistoryRequest(params) @@ -3180,19 +3645,18 @@ const opListResourcesForTagOption = "ListResourcesForTagOption" // ListResourcesForTagOptionRequest generates a "aws/request.Request" representing the // client's request for the ListResourcesForTagOption operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListResourcesForTagOption for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListResourcesForTagOption method directly -// instead. +// See ListResourcesForTagOption for more information on using the ListResourcesForTagOption +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListResourcesForTagOptionRequest method. // req, resp := client.ListResourcesForTagOptionRequest(params) @@ -3324,19 +3788,18 @@ const opListTagOptions = "ListTagOptions" // ListTagOptionsRequest generates a "aws/request.Request" representing the // client's request for the ListTagOptions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTagOptions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTagOptions method directly -// instead. +// See ListTagOptions for more information on using the ListTagOptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTagOptionsRequest method. // req, resp := client.ListTagOptionsRequest(params) @@ -3465,19 +3928,18 @@ const opProvisionProduct = "ProvisionProduct" // ProvisionProductRequest generates a "aws/request.Request" representing the // client's request for the ProvisionProduct operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ProvisionProduct for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ProvisionProduct method directly -// instead. +// See ProvisionProduct for more information on using the ProvisionProduct +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ProvisionProductRequest method. // req, resp := client.ProvisionProductRequest(params) @@ -3562,19 +4024,18 @@ const opRejectPortfolioShare = "RejectPortfolioShare" // RejectPortfolioShareRequest generates a "aws/request.Request" representing the // client's request for the RejectPortfolioShare operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RejectPortfolioShare for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RejectPortfolioShare method directly -// instead. +// See RejectPortfolioShare for more information on using the RejectPortfolioShare +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RejectPortfolioShareRequest method. // req, resp := client.RejectPortfolioShareRequest(params) @@ -3642,19 +4103,18 @@ const opScanProvisionedProducts = "ScanProvisionedProducts" // ScanProvisionedProductsRequest generates a "aws/request.Request" representing the // client's request for the ScanProvisionedProducts operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ScanProvisionedProducts for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ScanProvisionedProducts method directly -// instead. +// See ScanProvisionedProducts for more information on using the ScanProvisionedProducts +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ScanProvisionedProductsRequest method. // req, resp := client.ScanProvisionedProductsRequest(params) @@ -3723,19 +4183,18 @@ const opSearchProducts = "SearchProducts" // SearchProductsRequest generates a "aws/request.Request" representing the // client's request for the SearchProducts operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SearchProducts for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SearchProducts method directly -// instead. +// See SearchProducts for more information on using the SearchProducts +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SearchProductsRequest method. // req, resp := client.SearchProductsRequest(params) @@ -3751,6 +4210,12 @@ func (c *ServiceCatalog) SearchProductsRequest(input *SearchProductsInput) (req Name: opSearchProducts, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"PageToken"}, + OutputTokens: []string{"NextPageToken"}, + LimitToken: "PageSize", + TruncationToken: "", + }, } if input == nil { @@ -3803,23 +4268,72 @@ func (c *ServiceCatalog) SearchProductsWithContext(ctx aws.Context, input *Searc return out, req.Send() } +// SearchProductsPages iterates over the pages of a SearchProducts operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See SearchProducts method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a SearchProducts operation. +// pageNum := 0 +// err := client.SearchProductsPages(params, +// func(page *SearchProductsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ServiceCatalog) SearchProductsPages(input *SearchProductsInput, fn func(*SearchProductsOutput, bool) bool) error { + return c.SearchProductsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// SearchProductsPagesWithContext same as SearchProductsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ServiceCatalog) SearchProductsPagesWithContext(ctx aws.Context, input *SearchProductsInput, fn func(*SearchProductsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *SearchProductsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.SearchProductsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*SearchProductsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opSearchProductsAsAdmin = "SearchProductsAsAdmin" // SearchProductsAsAdminRequest generates a "aws/request.Request" representing the // client's request for the SearchProductsAsAdmin operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SearchProductsAsAdmin for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SearchProductsAsAdmin method directly -// instead. +// See SearchProductsAsAdmin for more information on using the SearchProductsAsAdmin +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SearchProductsAsAdminRequest method. // req, resp := client.SearchProductsAsAdminRequest(params) @@ -3835,6 +4349,12 @@ func (c *ServiceCatalog) SearchProductsAsAdminRequest(input *SearchProductsAsAdm Name: opSearchProductsAsAdmin, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"PageToken"}, + OutputTokens: []string{"NextPageToken"}, + LimitToken: "PageSize", + TruncationToken: "", + }, } if input == nil { @@ -3889,23 +4409,72 @@ func (c *ServiceCatalog) SearchProductsAsAdminWithContext(ctx aws.Context, input return out, req.Send() } +// SearchProductsAsAdminPages iterates over the pages of a SearchProductsAsAdmin operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See SearchProductsAsAdmin method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a SearchProductsAsAdmin operation. +// pageNum := 0 +// err := client.SearchProductsAsAdminPages(params, +// func(page *SearchProductsAsAdminOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ServiceCatalog) SearchProductsAsAdminPages(input *SearchProductsAsAdminInput, fn func(*SearchProductsAsAdminOutput, bool) bool) error { + return c.SearchProductsAsAdminPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// SearchProductsAsAdminPagesWithContext same as SearchProductsAsAdminPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ServiceCatalog) SearchProductsAsAdminPagesWithContext(ctx aws.Context, input *SearchProductsAsAdminInput, fn func(*SearchProductsAsAdminOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *SearchProductsAsAdminInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.SearchProductsAsAdminRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*SearchProductsAsAdminOutput), !p.HasNextPage()) + } + return p.Err() +} + const opTerminateProvisionedProduct = "TerminateProvisionedProduct" // TerminateProvisionedProductRequest generates a "aws/request.Request" representing the // client's request for the TerminateProvisionedProduct operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TerminateProvisionedProduct for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TerminateProvisionedProduct method directly -// instead. +// See TerminateProvisionedProduct for more information on using the TerminateProvisionedProduct +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TerminateProvisionedProductRequest method. // req, resp := client.TerminateProvisionedProductRequest(params) @@ -3980,19 +4549,18 @@ const opUpdateConstraint = "UpdateConstraint" // UpdateConstraintRequest generates a "aws/request.Request" representing the // client's request for the UpdateConstraint operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateConstraint for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateConstraint method directly -// instead. +// See UpdateConstraint for more information on using the UpdateConstraint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateConstraintRequest method. // req, resp := client.UpdateConstraintRequest(params) @@ -4063,19 +4631,18 @@ const opUpdatePortfolio = "UpdatePortfolio" // UpdatePortfolioRequest generates a "aws/request.Request" representing the // client's request for the UpdatePortfolio operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdatePortfolio for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdatePortfolio method directly -// instead. +// See UpdatePortfolio for more information on using the UpdatePortfolio +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdatePortfolioRequest method. // req, resp := client.UpdatePortfolioRequest(params) @@ -4156,19 +4723,18 @@ const opUpdateProduct = "UpdateProduct" // UpdateProductRequest generates a "aws/request.Request" representing the // client's request for the UpdateProduct operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateProduct for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateProduct method directly -// instead. +// See UpdateProduct for more information on using the UpdateProduct +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateProductRequest method. // req, resp := client.UpdateProductRequest(params) @@ -4244,19 +4810,18 @@ const opUpdateProvisionedProduct = "UpdateProvisionedProduct" // UpdateProvisionedProductRequest generates a "aws/request.Request" representing the // client's request for the UpdateProvisionedProduct operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateProvisionedProduct for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateProvisionedProduct method directly -// instead. +// See UpdateProvisionedProduct for more information on using the UpdateProvisionedProduct +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateProvisionedProductRequest method. // req, resp := client.UpdateProvisionedProductRequest(params) @@ -4333,19 +4898,18 @@ const opUpdateProvisioningArtifact = "UpdateProvisioningArtifact" // UpdateProvisioningArtifactRequest generates a "aws/request.Request" representing the // client's request for the UpdateProvisioningArtifact operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateProvisioningArtifact for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateProvisioningArtifact method directly -// instead. +// See UpdateProvisioningArtifact for more information on using the UpdateProvisioningArtifact +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateProvisioningArtifactRequest method. // req, resp := client.UpdateProvisioningArtifactRequest(params) @@ -4418,19 +4982,18 @@ const opUpdateTagOption = "UpdateTagOption" // UpdateTagOptionRequest generates a "aws/request.Request" representing the // client's request for the UpdateTagOption operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateTagOption for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateTagOption method directly -// instead. +// See UpdateTagOption for more information on using the UpdateTagOption +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateTagOptionRequest method. // req, resp := client.UpdateTagOptionRequest(params) @@ -4509,16 +5072,13 @@ func (c *ServiceCatalog) UpdateTagOptionWithContext(ctx aws.Context, input *Upda type AcceptPortfolioShareInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The portfolio identifier. @@ -4625,16 +5185,13 @@ func (s *AccessLevelFilter) SetValue(v string) *AccessLevelFilter { type AssociatePrincipalWithPortfolioInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The portfolio identifier. @@ -4731,16 +5288,13 @@ func (s AssociatePrincipalWithPortfolioOutput) GoString() string { type AssociateProductWithPortfolioInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The portfolio identifier. @@ -4988,34 +5542,173 @@ func (s *ConstraintSummary) SetType(v string) *ConstraintSummary { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CopyProductInput +type CopyProductInput struct { + _ struct{} `type:"structure"` + + // The language code. + // + // * en - English (default) + // + // * jp - Japanese + // + // * zh - Chinese + AcceptLanguage *string `type:"string"` + + // The copy options. If the value is CopyTags, the tags from the source product + // are copied to the target product. + CopyOptions []*string `type:"list"` + + // A token to disambiguate duplicate requests. You can use the same input in + // multiple requests, provided that you also specify a different idempotency + // token for each request. + // + // IdempotencyToken is a required field + IdempotencyToken *string `min:"1" type:"string" required:"true" idempotencyToken:"true"` + + // The Amazon Resource Name (ARN) of the source product. + // + // SourceProductArn is a required field + SourceProductArn *string `min:"1" type:"string" required:"true"` + + // The IDs of the product versions to copy. By default, all provisioning artifacts + // are copied. + SourceProvisioningArtifactIdentifiers []map[string]*string `type:"list"` + + // The ID of the target product. By default, a new product is created. + TargetProductId *string `min:"1" type:"string"` + + // A name for the target product. The default is the name of the source product. + TargetProductName *string `type:"string"` +} + +// String returns the string representation +func (s CopyProductInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CopyProductInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CopyProductInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CopyProductInput"} + if s.IdempotencyToken == nil { + invalidParams.Add(request.NewErrParamRequired("IdempotencyToken")) + } + if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1)) + } + if s.SourceProductArn == nil { + invalidParams.Add(request.NewErrParamRequired("SourceProductArn")) + } + if s.SourceProductArn != nil && len(*s.SourceProductArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SourceProductArn", 1)) + } + if s.TargetProductId != nil && len(*s.TargetProductId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetProductId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcceptLanguage sets the AcceptLanguage field's value. +func (s *CopyProductInput) SetAcceptLanguage(v string) *CopyProductInput { + s.AcceptLanguage = &v + return s +} + +// SetCopyOptions sets the CopyOptions field's value. +func (s *CopyProductInput) SetCopyOptions(v []*string) *CopyProductInput { + s.CopyOptions = v + return s +} + +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *CopyProductInput) SetIdempotencyToken(v string) *CopyProductInput { + s.IdempotencyToken = &v + return s +} + +// SetSourceProductArn sets the SourceProductArn field's value. +func (s *CopyProductInput) SetSourceProductArn(v string) *CopyProductInput { + s.SourceProductArn = &v + return s +} + +// SetSourceProvisioningArtifactIdentifiers sets the SourceProvisioningArtifactIdentifiers field's value. +func (s *CopyProductInput) SetSourceProvisioningArtifactIdentifiers(v []map[string]*string) *CopyProductInput { + s.SourceProvisioningArtifactIdentifiers = v + return s +} + +// SetTargetProductId sets the TargetProductId field's value. +func (s *CopyProductInput) SetTargetProductId(v string) *CopyProductInput { + s.TargetProductId = &v + return s +} + +// SetTargetProductName sets the TargetProductName field's value. +func (s *CopyProductInput) SetTargetProductName(v string) *CopyProductInput { + s.TargetProductName = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CopyProductOutput +type CopyProductOutput struct { + _ struct{} `type:"structure"` + + // A unique token to pass to DescribeCopyProductStatus to track the progress + // of the operation. + CopyProductToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CopyProductOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CopyProductOutput) GoString() string { + return s.String() +} + +// SetCopyProductToken sets the CopyProductToken field's value. +func (s *CopyProductOutput) SetCopyProductToken(v string) *CopyProductOutput { + s.CopyProductToken = &v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateConstraintInput type CreateConstraintInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The text description of the constraint. Description *string `type:"string"` - // A token to disambiguate duplicate requests. You can create multiple resources - // using the same input in multiple requests, provided that you also specify - // a different idempotency token for each request. + // A token to disambiguate duplicate requests. You can use the same input in + // multiple requests, provided that you also specify a different idempotency + // token for each request. // // IdempotencyToken is a required field IdempotencyToken *string `min:"1" type:"string" required:"true" idempotencyToken:"true"` // The constraint parameters. Expected values vary depending on which Type is - // specified. For examples, see the bottom of this topic. + // specified. For more information, see the Examples section. // // For Type LAUNCH, the RoleArn property is required. // @@ -5178,16 +5871,13 @@ func (s *CreateConstraintOutput) SetStatus(v string) *CreateConstraintOutput { type CreatePortfolioInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The text description of the portfolio. @@ -5198,9 +5888,9 @@ type CreatePortfolioInput struct { // DisplayName is a required field DisplayName *string `min:"1" type:"string" required:"true"` - // A token to disambiguate duplicate requests. You can create multiple resources - // using the same input in multiple requests, provided that you also specify - // a different idempotency token for each request. + // A token to disambiguate duplicate requests. You can use the same input in + // multiple requests, provided that you also specify a different idempotency + // token for each request. // // IdempotencyToken is a required field IdempotencyToken *string `min:"1" type:"string" required:"true" idempotencyToken:"true"` @@ -5335,16 +6025,13 @@ func (s *CreatePortfolioOutput) SetTags(v []*Tag) *CreatePortfolioOutput { type CreatePortfolioShareInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The account ID with which to share the portfolio. @@ -5424,16 +6111,13 @@ func (s CreatePortfolioShareOutput) GoString() string { type CreateProductInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The text description of the product. @@ -5442,9 +6126,9 @@ type CreateProductInput struct { // The distributor of the product. Distributor *string `type:"string"` - // A token to disambiguate duplicate requests. You can create multiple resources - // using the same input in multiple requests, provided that you also specify - // a different idempotency token for each request. + // A token to disambiguate duplicate requests. You can use the same input in + // multiple requests, provided that you also specify a different idempotency + // token for each request. // // IdempotencyToken is a required field IdempotencyToken *string `min:"1" type:"string" required:"true" idempotencyToken:"true"` @@ -5653,21 +6337,18 @@ func (s *CreateProductOutput) SetTags(v []*Tag) *CreateProductOutput { type CreateProvisioningArtifactInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` - // A token to disambiguate duplicate requests. You can create multiple resources - // using the same input in multiple requests, provided that you also specify - // a different idempotency token for each request. + // A token to disambiguate duplicate requests. You can use the same input in + // multiple requests, provided that you also specify a different idempotency + // token for each request. // // IdempotencyToken is a required field IdempotencyToken *string `min:"1" type:"string" required:"true" idempotencyToken:"true"` @@ -5876,16 +6557,13 @@ func (s *CreateTagOptionOutput) SetTagOptionDetail(v *TagOptionDetail) *CreateTa type DeleteConstraintInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The identifier of the constraint to delete. @@ -5951,16 +6629,13 @@ func (s DeleteConstraintOutput) GoString() string { type DeletePortfolioInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The identifier of the portfolio for the delete request. @@ -6026,16 +6701,13 @@ func (s DeletePortfolioOutput) GoString() string { type DeletePortfolioShareInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The account ID associated with the share to delete. @@ -6115,16 +6787,13 @@ func (s DeletePortfolioShareOutput) GoString() string { type DeleteProductInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The identifier of the product for the delete request. @@ -6190,16 +6859,13 @@ func (s DeleteProductOutput) GoString() string { type DeleteProvisioningArtifactInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The product identifier. @@ -6283,16 +6949,13 @@ func (s DeleteProvisioningArtifactOutput) GoString() string { type DescribeConstraintInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The identifier of the constraint. @@ -6381,20 +7044,116 @@ func (s *DescribeConstraintOutput) SetStatus(v string) *DescribeConstraintOutput return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeCopyProductStatusInput +type DescribeCopyProductStatusInput struct { + _ struct{} `type:"structure"` + + // The language code. + // + // * en - English (default) + // + // * jp - Japanese + // + // * zh - Chinese + AcceptLanguage *string `type:"string"` + + // The token returned from the call to CopyProduct that initiated the operation. + // + // CopyProductToken is a required field + CopyProductToken *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeCopyProductStatusInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeCopyProductStatusInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeCopyProductStatusInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeCopyProductStatusInput"} + if s.CopyProductToken == nil { + invalidParams.Add(request.NewErrParamRequired("CopyProductToken")) + } + if s.CopyProductToken != nil && len(*s.CopyProductToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CopyProductToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcceptLanguage sets the AcceptLanguage field's value. +func (s *DescribeCopyProductStatusInput) SetAcceptLanguage(v string) *DescribeCopyProductStatusInput { + s.AcceptLanguage = &v + return s +} + +// SetCopyProductToken sets the CopyProductToken field's value. +func (s *DescribeCopyProductStatusInput) SetCopyProductToken(v string) *DescribeCopyProductStatusInput { + s.CopyProductToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeCopyProductStatusOutput +type DescribeCopyProductStatusOutput struct { + _ struct{} `type:"structure"` + + // The status of the copy product operation. + CopyProductStatus *string `type:"string" enum:"CopyProductStatus"` + + // The status message. + StatusDetail *string `type:"string"` + + // The ID of the copied product. + TargetProductId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeCopyProductStatusOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeCopyProductStatusOutput) GoString() string { + return s.String() +} + +// SetCopyProductStatus sets the CopyProductStatus field's value. +func (s *DescribeCopyProductStatusOutput) SetCopyProductStatus(v string) *DescribeCopyProductStatusOutput { + s.CopyProductStatus = &v + return s +} + +// SetStatusDetail sets the StatusDetail field's value. +func (s *DescribeCopyProductStatusOutput) SetStatusDetail(v string) *DescribeCopyProductStatusOutput { + s.StatusDetail = &v + return s +} + +// SetTargetProductId sets the TargetProductId field's value. +func (s *DescribeCopyProductStatusOutput) SetTargetProductId(v string) *DescribeCopyProductStatusOutput { + s.TargetProductId = &v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribePortfolioInput type DescribePortfolioInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The identifier of the portfolio for which to retrieve information. @@ -6487,16 +7246,13 @@ func (s *DescribePortfolioOutput) SetTags(v []*Tag) *DescribePortfolioOutput { type DescribeProductAsAdminInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The identifier of the product for which to retrieve information. @@ -6598,16 +7354,13 @@ func (s *DescribeProductAsAdminOutput) SetTags(v []*Tag) *DescribeProductAsAdmin type DescribeProductInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The ProductId of the product to describe. @@ -6692,16 +7445,13 @@ func (s *DescribeProductOutput) SetProvisioningArtifacts(v []*ProvisioningArtifa type DescribeProductViewInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The ProductViewId of the product to describe. @@ -6786,16 +7536,13 @@ func (s *DescribeProductViewOutput) SetProvisioningArtifacts(v []*ProvisioningAr type DescribeProvisionedProductInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The provisioned product identifier. @@ -6870,16 +7617,13 @@ func (s *DescribeProvisionedProductOutput) SetProvisionedProductDetail(v *Provis type DescribeProvisioningArtifactInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The product identifier. @@ -6999,16 +7743,13 @@ func (s *DescribeProvisioningArtifactOutput) SetStatus(v string) *DescribeProvis type DescribeProvisioningParametersInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The identifier of the path for this product's provisioning. This value is @@ -7144,16 +7885,13 @@ func (s *DescribeProvisioningParametersOutput) SetUsageInstructions(v []*UsageIn type DescribeRecordInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The record identifier of the ProvisionedProduct object for which to retrieve @@ -7338,16 +8076,13 @@ func (s *DescribeTagOptionOutput) SetTagOptionDetail(v *TagOptionDetail) *Descri type DisassociatePrincipalFromPortfolioInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The portfolio identifier. @@ -7430,16 +8165,13 @@ func (s DisassociatePrincipalFromPortfolioOutput) GoString() string { type DisassociateProductFromPortfolioInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The portfolio identifier. @@ -7646,16 +8378,13 @@ func (s *LaunchPathSummary) SetTags(v []*Tag) *LaunchPathSummary { type ListAcceptedPortfolioSharesInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The maximum number of items to return in the results. If more results exist @@ -7734,16 +8463,13 @@ func (s *ListAcceptedPortfolioSharesOutput) SetPortfolioDetails(v []*PortfolioDe type ListConstraintsForPortfolioInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The maximum number of items to return in the results. If more results exist @@ -7861,16 +8587,13 @@ func (s *ListConstraintsForPortfolioOutput) SetNextPageToken(v string) *ListCons type ListLaunchPathsInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The maximum number of items to return in the results. If more results exist @@ -7977,16 +8700,13 @@ func (s *ListLaunchPathsOutput) SetNextPageToken(v string) *ListLaunchPathsOutpu type ListPortfolioAccessInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The portfolio identifier. @@ -8071,16 +8791,13 @@ func (s *ListPortfolioAccessOutput) SetNextPageToken(v string) *ListPortfolioAcc type ListPortfoliosForProductInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The maximum number of items to return in the results. If more results exist @@ -8186,16 +8903,13 @@ func (s *ListPortfoliosForProductOutput) SetPortfolioDetails(v []*PortfolioDetai type ListPortfoliosInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The maximum number of items to return in the results. If more results exist @@ -8274,16 +8988,13 @@ func (s *ListPortfoliosOutput) SetPortfolioDetails(v []*PortfolioDetail) *ListPo type ListPrincipalsForPortfolioInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The maximum number of items to return in the results. If more results exist @@ -8389,16 +9100,13 @@ func (s *ListPrincipalsForPortfolioOutput) SetPrincipals(v []*Principal) *ListPr type ListProvisioningArtifactsInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The product identifier. @@ -8483,16 +9191,13 @@ func (s *ListProvisioningArtifactsOutput) SetProvisioningArtifactDetails(v []*Pr type ListRecordHistoryInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The access level for obtaining results. If left unspecified, User level access @@ -9229,16 +9934,13 @@ func (s *ProductViewSummary) SetType(v string) *ProductViewSummary { type ProvisionProductInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related @@ -9443,9 +10145,9 @@ type ProvisionedProductDetail struct { // The identifier of the ProvisionedProduct object. Id *string `type:"string"` - // A token to disambiguate duplicate requests. You can create multiple resources - // using the same input in multiple requests, provided that you also specify - // a different idempotency token for each request. + // A token to disambiguate duplicate requests. You can use the same input in + // multiple requests, provided that you also specify a different idempotency + // token for each request. IdempotencyToken *string `min:"1" type:"string"` // The record identifier of the last request performed on this ProvisionedProduct @@ -10187,16 +10889,13 @@ func (s *RecordTag) SetValue(v string) *RecordTag { type RejectPortfolioShareInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The portfolio identifier. @@ -10323,16 +11022,13 @@ func (s *ResourceDetail) SetName(v string) *ResourceDetail { type ScanProvisionedProductsInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The access level for obtaining results. If left unspecified, User level access @@ -10421,16 +11117,13 @@ func (s *ScanProvisionedProductsOutput) SetProvisionedProducts(v []*ProvisionedP type SearchProductsAsAdminInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The list of filters with which to limit search results. If no search filters @@ -10569,16 +11262,13 @@ func (s *SearchProductsAsAdminOutput) SetProductViewDetails(v []*ProductViewDeta type SearchProductsInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The list of filters with which to limit search results. If no search filters @@ -10842,16 +11532,13 @@ func (s *TagOptionSummary) SetValues(v []*string) *TagOptionSummary { type TerminateProvisionedProductInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // If set to true, AWS Service Catalog stops managing the specified ProvisionedProduct @@ -10968,16 +11655,13 @@ func (s *TerminateProvisionedProductOutput) SetRecordDetail(v *RecordDetail) *Te type UpdateConstraintInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The updated text description of the constraint. @@ -11079,16 +11763,13 @@ func (s *UpdateConstraintOutput) SetStatus(v string) *UpdateConstraintOutput { type UpdatePortfolioInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // Tags to add to the existing list of tags associated with the portfolio. @@ -11233,16 +11914,13 @@ func (s *UpdatePortfolioOutput) SetTags(v []*Tag) *UpdatePortfolioOutput { type UpdateProductInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // Tags to add to the existing list of tags associated with the product. @@ -11417,16 +12095,13 @@ func (s *UpdateProductOutput) SetTags(v []*Tag) *UpdateProductOutput { type UpdateProvisionedProductInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The identifier of the path to use in the updated ProvisionedProduct object. @@ -11589,16 +12264,13 @@ func (s *UpdateProvisionedProductOutput) SetRecordDetail(v *RecordDetail) *Updat type UpdateProvisioningArtifactInput struct { _ struct{} `type:"structure"` - // The language code to use for this operation. Supported language codes are - // as follows: + // The language code. // - // "en" (English) + // * en - English (default) // - // "jp" (Japanese) + // * jp - Japanese // - // "zh" (Chinese) - // - // If no code is specified, "en" is used as the default. + // * zh - Chinese AcceptLanguage *string `type:"string"` // The updated text description of the provisioning artifact. @@ -11915,6 +12587,22 @@ const ( AccessLevelFilterKeyUser = "User" ) +const ( + // CopyOptionCopyTags is a CopyOption enum value + CopyOptionCopyTags = "CopyTags" +) + +const ( + // CopyProductStatusSucceeded is a CopyProductStatus enum value + CopyProductStatusSucceeded = "SUCCEEDED" + + // CopyProductStatusInProgress is a CopyProductStatus enum value + CopyProductStatusInProgress = "IN_PROGRESS" + + // CopyProductStatusFailed is a CopyProductStatus enum value + CopyProductStatusFailed = "FAILED" +) + const ( // PrincipalTypeIam is a PrincipalType enum value PrincipalTypeIam = "IAM" @@ -11972,6 +12660,11 @@ const ( ProvisionedProductStatusError = "ERROR" ) +const ( + // ProvisioningArtifactPropertyNameId is a ProvisioningArtifactPropertyName enum value + ProvisioningArtifactPropertyNameId = "Id" +) + const ( // ProvisioningArtifactTypeCloudFormationTemplate is a ProvisioningArtifactType enum value ProvisioningArtifactTypeCloudFormationTemplate = "CLOUD_FORMATION_TEMPLATE" diff --git a/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/doc.go b/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/doc.go index d32b25d59..065e22865 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/doc.go @@ -24,69 +24,17 @@ // // Using the Client // -// To use the client for AWS Service Catalog you will first need -// to create a new instance of it. +// To AWS Service Catalog with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := servicecatalog.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Service Catalog client ServiceCatalog for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/servicecatalog/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AcceptPortfolioShare(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AcceptPortfolioShare result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AcceptPortfolioShareWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package servicecatalog diff --git a/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/servicecatalogiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/servicecatalogiface/interface.go index e56a1f937..4820291a6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/servicecatalogiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/servicecatalogiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Service Catalog. @@ -76,6 +76,10 @@ type ServiceCatalogAPI interface { AssociateTagOptionWithResourceWithContext(aws.Context, *servicecatalog.AssociateTagOptionWithResourceInput, ...request.Option) (*servicecatalog.AssociateTagOptionWithResourceOutput, error) AssociateTagOptionWithResourceRequest(*servicecatalog.AssociateTagOptionWithResourceInput) (*request.Request, *servicecatalog.AssociateTagOptionWithResourceOutput) + CopyProduct(*servicecatalog.CopyProductInput) (*servicecatalog.CopyProductOutput, error) + CopyProductWithContext(aws.Context, *servicecatalog.CopyProductInput, ...request.Option) (*servicecatalog.CopyProductOutput, error) + CopyProductRequest(*servicecatalog.CopyProductInput) (*request.Request, *servicecatalog.CopyProductOutput) + CreateConstraint(*servicecatalog.CreateConstraintInput) (*servicecatalog.CreateConstraintOutput, error) CreateConstraintWithContext(aws.Context, *servicecatalog.CreateConstraintInput, ...request.Option) (*servicecatalog.CreateConstraintOutput, error) CreateConstraintRequest(*servicecatalog.CreateConstraintInput) (*request.Request, *servicecatalog.CreateConstraintOutput) @@ -124,6 +128,10 @@ type ServiceCatalogAPI interface { DescribeConstraintWithContext(aws.Context, *servicecatalog.DescribeConstraintInput, ...request.Option) (*servicecatalog.DescribeConstraintOutput, error) DescribeConstraintRequest(*servicecatalog.DescribeConstraintInput) (*request.Request, *servicecatalog.DescribeConstraintOutput) + DescribeCopyProductStatus(*servicecatalog.DescribeCopyProductStatusInput) (*servicecatalog.DescribeCopyProductStatusOutput, error) + DescribeCopyProductStatusWithContext(aws.Context, *servicecatalog.DescribeCopyProductStatusInput, ...request.Option) (*servicecatalog.DescribeCopyProductStatusOutput, error) + DescribeCopyProductStatusRequest(*servicecatalog.DescribeCopyProductStatusInput) (*request.Request, *servicecatalog.DescribeCopyProductStatusOutput) + DescribePortfolio(*servicecatalog.DescribePortfolioInput) (*servicecatalog.DescribePortfolioOutput, error) DescribePortfolioWithContext(aws.Context, *servicecatalog.DescribePortfolioInput, ...request.Option) (*servicecatalog.DescribePortfolioOutput, error) DescribePortfolioRequest(*servicecatalog.DescribePortfolioInput) (*request.Request, *servicecatalog.DescribePortfolioOutput) @@ -176,14 +184,23 @@ type ServiceCatalogAPI interface { ListAcceptedPortfolioSharesWithContext(aws.Context, *servicecatalog.ListAcceptedPortfolioSharesInput, ...request.Option) (*servicecatalog.ListAcceptedPortfolioSharesOutput, error) ListAcceptedPortfolioSharesRequest(*servicecatalog.ListAcceptedPortfolioSharesInput) (*request.Request, *servicecatalog.ListAcceptedPortfolioSharesOutput) + ListAcceptedPortfolioSharesPages(*servicecatalog.ListAcceptedPortfolioSharesInput, func(*servicecatalog.ListAcceptedPortfolioSharesOutput, bool) bool) error + ListAcceptedPortfolioSharesPagesWithContext(aws.Context, *servicecatalog.ListAcceptedPortfolioSharesInput, func(*servicecatalog.ListAcceptedPortfolioSharesOutput, bool) bool, ...request.Option) error + ListConstraintsForPortfolio(*servicecatalog.ListConstraintsForPortfolioInput) (*servicecatalog.ListConstraintsForPortfolioOutput, error) ListConstraintsForPortfolioWithContext(aws.Context, *servicecatalog.ListConstraintsForPortfolioInput, ...request.Option) (*servicecatalog.ListConstraintsForPortfolioOutput, error) ListConstraintsForPortfolioRequest(*servicecatalog.ListConstraintsForPortfolioInput) (*request.Request, *servicecatalog.ListConstraintsForPortfolioOutput) + ListConstraintsForPortfolioPages(*servicecatalog.ListConstraintsForPortfolioInput, func(*servicecatalog.ListConstraintsForPortfolioOutput, bool) bool) error + ListConstraintsForPortfolioPagesWithContext(aws.Context, *servicecatalog.ListConstraintsForPortfolioInput, func(*servicecatalog.ListConstraintsForPortfolioOutput, bool) bool, ...request.Option) error + ListLaunchPaths(*servicecatalog.ListLaunchPathsInput) (*servicecatalog.ListLaunchPathsOutput, error) ListLaunchPathsWithContext(aws.Context, *servicecatalog.ListLaunchPathsInput, ...request.Option) (*servicecatalog.ListLaunchPathsOutput, error) ListLaunchPathsRequest(*servicecatalog.ListLaunchPathsInput) (*request.Request, *servicecatalog.ListLaunchPathsOutput) + ListLaunchPathsPages(*servicecatalog.ListLaunchPathsInput, func(*servicecatalog.ListLaunchPathsOutput, bool) bool) error + ListLaunchPathsPagesWithContext(aws.Context, *servicecatalog.ListLaunchPathsInput, func(*servicecatalog.ListLaunchPathsOutput, bool) bool, ...request.Option) error + ListPortfolioAccess(*servicecatalog.ListPortfolioAccessInput) (*servicecatalog.ListPortfolioAccessOutput, error) ListPortfolioAccessWithContext(aws.Context, *servicecatalog.ListPortfolioAccessInput, ...request.Option) (*servicecatalog.ListPortfolioAccessOutput, error) ListPortfolioAccessRequest(*servicecatalog.ListPortfolioAccessInput) (*request.Request, *servicecatalog.ListPortfolioAccessOutput) @@ -192,14 +209,23 @@ type ServiceCatalogAPI interface { ListPortfoliosWithContext(aws.Context, *servicecatalog.ListPortfoliosInput, ...request.Option) (*servicecatalog.ListPortfoliosOutput, error) ListPortfoliosRequest(*servicecatalog.ListPortfoliosInput) (*request.Request, *servicecatalog.ListPortfoliosOutput) + ListPortfoliosPages(*servicecatalog.ListPortfoliosInput, func(*servicecatalog.ListPortfoliosOutput, bool) bool) error + ListPortfoliosPagesWithContext(aws.Context, *servicecatalog.ListPortfoliosInput, func(*servicecatalog.ListPortfoliosOutput, bool) bool, ...request.Option) error + ListPortfoliosForProduct(*servicecatalog.ListPortfoliosForProductInput) (*servicecatalog.ListPortfoliosForProductOutput, error) ListPortfoliosForProductWithContext(aws.Context, *servicecatalog.ListPortfoliosForProductInput, ...request.Option) (*servicecatalog.ListPortfoliosForProductOutput, error) ListPortfoliosForProductRequest(*servicecatalog.ListPortfoliosForProductInput) (*request.Request, *servicecatalog.ListPortfoliosForProductOutput) + ListPortfoliosForProductPages(*servicecatalog.ListPortfoliosForProductInput, func(*servicecatalog.ListPortfoliosForProductOutput, bool) bool) error + ListPortfoliosForProductPagesWithContext(aws.Context, *servicecatalog.ListPortfoliosForProductInput, func(*servicecatalog.ListPortfoliosForProductOutput, bool) bool, ...request.Option) error + ListPrincipalsForPortfolio(*servicecatalog.ListPrincipalsForPortfolioInput) (*servicecatalog.ListPrincipalsForPortfolioOutput, error) ListPrincipalsForPortfolioWithContext(aws.Context, *servicecatalog.ListPrincipalsForPortfolioInput, ...request.Option) (*servicecatalog.ListPrincipalsForPortfolioOutput, error) ListPrincipalsForPortfolioRequest(*servicecatalog.ListPrincipalsForPortfolioInput) (*request.Request, *servicecatalog.ListPrincipalsForPortfolioOutput) + ListPrincipalsForPortfolioPages(*servicecatalog.ListPrincipalsForPortfolioInput, func(*servicecatalog.ListPrincipalsForPortfolioOutput, bool) bool) error + ListPrincipalsForPortfolioPagesWithContext(aws.Context, *servicecatalog.ListPrincipalsForPortfolioInput, func(*servicecatalog.ListPrincipalsForPortfolioOutput, bool) bool, ...request.Option) error + ListProvisioningArtifacts(*servicecatalog.ListProvisioningArtifactsInput) (*servicecatalog.ListProvisioningArtifactsOutput, error) ListProvisioningArtifactsWithContext(aws.Context, *servicecatalog.ListProvisioningArtifactsInput, ...request.Option) (*servicecatalog.ListProvisioningArtifactsOutput, error) ListProvisioningArtifactsRequest(*servicecatalog.ListProvisioningArtifactsInput) (*request.Request, *servicecatalog.ListProvisioningArtifactsOutput) @@ -238,10 +264,16 @@ type ServiceCatalogAPI interface { SearchProductsWithContext(aws.Context, *servicecatalog.SearchProductsInput, ...request.Option) (*servicecatalog.SearchProductsOutput, error) SearchProductsRequest(*servicecatalog.SearchProductsInput) (*request.Request, *servicecatalog.SearchProductsOutput) + SearchProductsPages(*servicecatalog.SearchProductsInput, func(*servicecatalog.SearchProductsOutput, bool) bool) error + SearchProductsPagesWithContext(aws.Context, *servicecatalog.SearchProductsInput, func(*servicecatalog.SearchProductsOutput, bool) bool, ...request.Option) error + SearchProductsAsAdmin(*servicecatalog.SearchProductsAsAdminInput) (*servicecatalog.SearchProductsAsAdminOutput, error) SearchProductsAsAdminWithContext(aws.Context, *servicecatalog.SearchProductsAsAdminInput, ...request.Option) (*servicecatalog.SearchProductsAsAdminOutput, error) SearchProductsAsAdminRequest(*servicecatalog.SearchProductsAsAdminInput) (*request.Request, *servicecatalog.SearchProductsAsAdminOutput) + SearchProductsAsAdminPages(*servicecatalog.SearchProductsAsAdminInput, func(*servicecatalog.SearchProductsAsAdminOutput, bool) bool) error + SearchProductsAsAdminPagesWithContext(aws.Context, *servicecatalog.SearchProductsAsAdminInput, func(*servicecatalog.SearchProductsAsAdminOutput, bool) bool, ...request.Option) error + TerminateProvisionedProduct(*servicecatalog.TerminateProvisionedProductInput) (*servicecatalog.TerminateProvisionedProductOutput, error) TerminateProvisionedProductWithContext(aws.Context, *servicecatalog.TerminateProvisionedProductInput, ...request.Option) (*servicecatalog.TerminateProvisionedProductOutput, error) TerminateProvisionedProductRequest(*servicecatalog.TerminateProvisionedProductInput) (*request.Request, *servicecatalog.TerminateProvisionedProductOutput) diff --git a/vendor/github.com/aws/aws-sdk-go/service/ses/api.go b/vendor/github.com/aws/aws-sdk-go/service/ses/api.go index 80e738ddc..90e4ba45a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ses/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ses/api.go @@ -17,19 +17,18 @@ const opCloneReceiptRuleSet = "CloneReceiptRuleSet" // CloneReceiptRuleSetRequest generates a "aws/request.Request" representing the // client's request for the CloneReceiptRuleSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CloneReceiptRuleSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CloneReceiptRuleSet method directly -// instead. +// See CloneReceiptRuleSet for more information on using the CloneReceiptRuleSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CloneReceiptRuleSetRequest method. // req, resp := client.CloneReceiptRuleSetRequest(params) @@ -65,7 +64,7 @@ func (c *SES) CloneReceiptRuleSetRequest(input *CloneReceiptRuleSetInput) (req * // For information about setting up rule sets, see the Amazon SES Developer // Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html). // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -111,19 +110,18 @@ const opCreateConfigurationSet = "CreateConfigurationSet" // CreateConfigurationSetRequest generates a "aws/request.Request" representing the // client's request for the CreateConfigurationSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateConfigurationSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateConfigurationSet method directly -// instead. +// See CreateConfigurationSet for more information on using the CreateConfigurationSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateConfigurationSetRequest method. // req, resp := client.CreateConfigurationSetRequest(params) @@ -157,7 +155,7 @@ func (c *SES) CreateConfigurationSetRequest(input *CreateConfigurationSetInput) // Configuration sets enable you to publish email sending events. For information // about using configuration sets, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html). // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -205,19 +203,18 @@ const opCreateConfigurationSetEventDestination = "CreateConfigurationSetEventDes // CreateConfigurationSetEventDestinationRequest generates a "aws/request.Request" representing the // client's request for the CreateConfigurationSetEventDestination operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateConfigurationSetEventDestination for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateConfigurationSetEventDestination method directly -// instead. +// See CreateConfigurationSetEventDestination for more information on using the CreateConfigurationSetEventDestination +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateConfigurationSetEventDestinationRequest method. // req, resp := client.CreateConfigurationSetEventDestinationRequest(params) @@ -249,14 +246,14 @@ func (c *SES) CreateConfigurationSetEventDestinationRequest(input *CreateConfigu // Creates a configuration set event destination. // // When you create or update an event destination, you must provide one, and -// only one, destination. The destination can be either Amazon CloudWatch or -// Amazon Kinesis Firehose. +// only one, destination. The destination can be Amazon CloudWatch, Amazon Kinesis +// Firehose, or Amazon Simple Notification Service (Amazon SNS). // // An event destination is the AWS service to which Amazon SES publishes the // email sending events associated with a configuration set. For information // about using configuration sets, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html). // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -281,6 +278,10 @@ func (c *SES) CreateConfigurationSetEventDestinationRequest(input *CreateConfigu // Indicates that the Amazon Kinesis Firehose destination is invalid. See the // error message for details. // +// * ErrCodeInvalidSNSDestinationException "InvalidSNSDestination" +// Indicates that the Amazon Simple Notification Service (Amazon SNS) destination +// is invalid. See the error message for details. +// // * ErrCodeLimitExceededException "LimitExceeded" // Indicates that a resource could not be created because of service limits. // For a list of Amazon SES limits, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/limits.html). @@ -307,23 +308,121 @@ func (c *SES) CreateConfigurationSetEventDestinationWithContext(ctx aws.Context, return out, req.Send() } +const opCreateConfigurationSetTrackingOptions = "CreateConfigurationSetTrackingOptions" + +// CreateConfigurationSetTrackingOptionsRequest generates a "aws/request.Request" representing the +// client's request for the CreateConfigurationSetTrackingOptions operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateConfigurationSetTrackingOptions for more information on using the CreateConfigurationSetTrackingOptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateConfigurationSetTrackingOptionsRequest method. +// req, resp := client.CreateConfigurationSetTrackingOptionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateConfigurationSetTrackingOptions +func (c *SES) CreateConfigurationSetTrackingOptionsRequest(input *CreateConfigurationSetTrackingOptionsInput) (req *request.Request, output *CreateConfigurationSetTrackingOptionsOutput) { + op := &request.Operation{ + Name: opCreateConfigurationSetTrackingOptions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateConfigurationSetTrackingOptionsInput{} + } + + output = &CreateConfigurationSetTrackingOptionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateConfigurationSetTrackingOptions API operation for Amazon Simple Email Service. +// +// Creates an association between a configuration set and a custom domain for +// open and click event tracking. +// +// By default, images and links used for tracking open and click events are +// hosted on domains operated by Amazon SES. You can configure a subdomain of +// your own to handle these events by redirecting them to the Amazon SES-operated +// domain. For information about using configuration sets, see Configuring Custom +// Domains to Handle Open and Click Tracking (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html) +// in the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation CreateConfigurationSetTrackingOptions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeConfigurationSetDoesNotExistException "ConfigurationSetDoesNotExist" +// Indicates that the configuration set does not exist. +// +// * ErrCodeTrackingOptionsAlreadyExistsException "TrackingOptionsAlreadyExistsException" +// Indicates that the configuration set you specified already contains a TrackingOptions +// object. +// +// * ErrCodeInvalidTrackingOptionsException "InvalidTrackingOptions" +// Indicates that the custom domain to be used for open and click tracking redirects +// is invalid. This error appears most often in the following situations: +// +// * When the tracking domain you specified is not verified in Amazon SES. +// +// * When the tracking domain you specified is not a valid domain or subdomain. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateConfigurationSetTrackingOptions +func (c *SES) CreateConfigurationSetTrackingOptions(input *CreateConfigurationSetTrackingOptionsInput) (*CreateConfigurationSetTrackingOptionsOutput, error) { + req, out := c.CreateConfigurationSetTrackingOptionsRequest(input) + return out, req.Send() +} + +// CreateConfigurationSetTrackingOptionsWithContext is the same as CreateConfigurationSetTrackingOptions with the addition of +// the ability to pass a context and additional request options. +// +// See CreateConfigurationSetTrackingOptions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SES) CreateConfigurationSetTrackingOptionsWithContext(ctx aws.Context, input *CreateConfigurationSetTrackingOptionsInput, opts ...request.Option) (*CreateConfigurationSetTrackingOptionsOutput, error) { + req, out := c.CreateConfigurationSetTrackingOptionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateReceiptFilter = "CreateReceiptFilter" // CreateReceiptFilterRequest generates a "aws/request.Request" representing the // client's request for the CreateReceiptFilter operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateReceiptFilter for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateReceiptFilter method directly -// instead. +// See CreateReceiptFilter for more information on using the CreateReceiptFilter +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateReceiptFilterRequest method. // req, resp := client.CreateReceiptFilterRequest(params) @@ -357,7 +456,7 @@ func (c *SES) CreateReceiptFilterRequest(input *CreateReceiptFilterInput) (req * // For information about setting up IP address filters, see the Amazon SES Developer // Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-ip-filters.html). // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -400,19 +499,18 @@ const opCreateReceiptRule = "CreateReceiptRule" // CreateReceiptRuleRequest generates a "aws/request.Request" representing the // client's request for the CreateReceiptRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateReceiptRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateReceiptRule method directly -// instead. +// See CreateReceiptRule for more information on using the CreateReceiptRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateReceiptRuleRequest method. // req, resp := client.CreateReceiptRuleRequest(params) @@ -446,7 +544,7 @@ func (c *SES) CreateReceiptRuleRequest(input *CreateReceiptRuleInput) (req *requ // For information about setting up receipt rules, see the Amazon SES Developer // Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rules.html). // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -512,19 +610,18 @@ const opCreateReceiptRuleSet = "CreateReceiptRuleSet" // CreateReceiptRuleSetRequest generates a "aws/request.Request" representing the // client's request for the CreateReceiptRuleSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateReceiptRuleSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateReceiptRuleSet method directly -// instead. +// See CreateReceiptRuleSet for more information on using the CreateReceiptRuleSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateReceiptRuleSetRequest method. // req, resp := client.CreateReceiptRuleSetRequest(params) @@ -558,7 +655,7 @@ func (c *SES) CreateReceiptRuleSetRequest(input *CreateReceiptRuleSetInput) (req // For information about setting up receipt rule sets, see the Amazon SES Developer // Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html). // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -601,19 +698,18 @@ const opDeleteConfigurationSet = "DeleteConfigurationSet" // DeleteConfigurationSetRequest generates a "aws/request.Request" representing the // client's request for the DeleteConfigurationSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteConfigurationSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteConfigurationSet method directly -// instead. +// See DeleteConfigurationSet for more information on using the DeleteConfigurationSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteConfigurationSetRequest method. // req, resp := client.DeleteConfigurationSetRequest(params) @@ -642,12 +738,11 @@ func (c *SES) DeleteConfigurationSetRequest(input *DeleteConfigurationSetInput) // DeleteConfigurationSet API operation for Amazon Simple Email Service. // -// Deletes a configuration set. +// Deletes a configuration set. Configuration sets enable you to publish email +// sending events. For information about using configuration sets, see the Amazon +// SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html). // -// Configuration sets enable you to publish email sending events. For information -// about using configuration sets, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html). -// -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -686,19 +781,18 @@ const opDeleteConfigurationSetEventDestination = "DeleteConfigurationSetEventDes // DeleteConfigurationSetEventDestinationRequest generates a "aws/request.Request" representing the // client's request for the DeleteConfigurationSetEventDestination operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteConfigurationSetEventDestination for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteConfigurationSetEventDestination method directly -// instead. +// See DeleteConfigurationSetEventDestination for more information on using the DeleteConfigurationSetEventDestination +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteConfigurationSetEventDestinationRequest method. // req, resp := client.DeleteConfigurationSetEventDestinationRequest(params) @@ -727,13 +821,12 @@ func (c *SES) DeleteConfigurationSetEventDestinationRequest(input *DeleteConfigu // DeleteConfigurationSetEventDestination API operation for Amazon Simple Email Service. // -// Deletes a configuration set event destination. +// Deletes a configuration set event destination. Configuration set event destinations +// are associated with configuration sets, which enable you to publish email +// sending events. For information about using configuration sets, see the Amazon +// SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html). // -// Configuration set event destinations are associated with configuration sets, -// which enable you to publish email sending events. For information about using -// configuration sets, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html). -// -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -771,23 +864,116 @@ func (c *SES) DeleteConfigurationSetEventDestinationWithContext(ctx aws.Context, return out, req.Send() } +const opDeleteConfigurationSetTrackingOptions = "DeleteConfigurationSetTrackingOptions" + +// DeleteConfigurationSetTrackingOptionsRequest generates a "aws/request.Request" representing the +// client's request for the DeleteConfigurationSetTrackingOptions operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteConfigurationSetTrackingOptions for more information on using the DeleteConfigurationSetTrackingOptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteConfigurationSetTrackingOptionsRequest method. +// req, resp := client.DeleteConfigurationSetTrackingOptionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteConfigurationSetTrackingOptions +func (c *SES) DeleteConfigurationSetTrackingOptionsRequest(input *DeleteConfigurationSetTrackingOptionsInput) (req *request.Request, output *DeleteConfigurationSetTrackingOptionsOutput) { + op := &request.Operation{ + Name: opDeleteConfigurationSetTrackingOptions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteConfigurationSetTrackingOptionsInput{} + } + + output = &DeleteConfigurationSetTrackingOptionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteConfigurationSetTrackingOptions API operation for Amazon Simple Email Service. +// +// Deletes an association between a configuration set and a custom domain for +// open and click event tracking. +// +// By default, images and links used for tracking open and click events are +// hosted on domains operated by Amazon SES. You can configure a subdomain of +// your own to handle these events by redirecting them to the Amazon SES-operated +// domain. For information about using configuration sets, see Configuring Custom +// Domains to Handle Open and Click Tracking (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html) +// in the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html). +// +// Deleting this kind of association will result in emails sent using the specified +// configuration set to capture open and click events using the standard, Amazon +// SES-operated domains. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation DeleteConfigurationSetTrackingOptions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeConfigurationSetDoesNotExistException "ConfigurationSetDoesNotExist" +// Indicates that the configuration set does not exist. +// +// * ErrCodeTrackingOptionsDoesNotExistException "TrackingOptionsDoesNotExistException" +// Indicates that the TrackingOptions object you specified does not exist. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteConfigurationSetTrackingOptions +func (c *SES) DeleteConfigurationSetTrackingOptions(input *DeleteConfigurationSetTrackingOptionsInput) (*DeleteConfigurationSetTrackingOptionsOutput, error) { + req, out := c.DeleteConfigurationSetTrackingOptionsRequest(input) + return out, req.Send() +} + +// DeleteConfigurationSetTrackingOptionsWithContext is the same as DeleteConfigurationSetTrackingOptions with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteConfigurationSetTrackingOptions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SES) DeleteConfigurationSetTrackingOptionsWithContext(ctx aws.Context, input *DeleteConfigurationSetTrackingOptionsInput, opts ...request.Option) (*DeleteConfigurationSetTrackingOptionsOutput, error) { + req, out := c.DeleteConfigurationSetTrackingOptionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteIdentity = "DeleteIdentity" // DeleteIdentityRequest generates a "aws/request.Request" representing the // client's request for the DeleteIdentity operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteIdentity for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteIdentity method directly -// instead. +// See DeleteIdentity for more information on using the DeleteIdentity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteIdentityRequest method. // req, resp := client.DeleteIdentityRequest(params) @@ -819,7 +1005,7 @@ func (c *SES) DeleteIdentityRequest(input *DeleteIdentityInput) (req *request.Re // Deletes the specified identity (an email address or a domain) from the list // of verified identities. // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -853,19 +1039,18 @@ const opDeleteIdentityPolicy = "DeleteIdentityPolicy" // DeleteIdentityPolicyRequest generates a "aws/request.Request" representing the // client's request for the DeleteIdentityPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteIdentityPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteIdentityPolicy method directly -// instead. +// See DeleteIdentityPolicy for more information on using the DeleteIdentityPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteIdentityPolicyRequest method. // req, resp := client.DeleteIdentityPolicyRequest(params) @@ -905,7 +1090,7 @@ func (c *SES) DeleteIdentityPolicyRequest(input *DeleteIdentityPolicyInput) (req // other senders to use its identities. For information about using sending // authorization, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -939,19 +1124,18 @@ const opDeleteReceiptFilter = "DeleteReceiptFilter" // DeleteReceiptFilterRequest generates a "aws/request.Request" representing the // client's request for the DeleteReceiptFilter operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteReceiptFilter for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteReceiptFilter method directly -// instead. +// See DeleteReceiptFilter for more information on using the DeleteReceiptFilter +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteReceiptFilterRequest method. // req, resp := client.DeleteReceiptFilterRequest(params) @@ -985,7 +1169,7 @@ func (c *SES) DeleteReceiptFilterRequest(input *DeleteReceiptFilterInput) (req * // For information about managing IP address filters, see the Amazon SES Developer // Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-ip-filters.html). // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1019,19 +1203,18 @@ const opDeleteReceiptRule = "DeleteReceiptRule" // DeleteReceiptRuleRequest generates a "aws/request.Request" representing the // client's request for the DeleteReceiptRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteReceiptRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteReceiptRule method directly -// instead. +// See DeleteReceiptRule for more information on using the DeleteReceiptRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteReceiptRuleRequest method. // req, resp := client.DeleteReceiptRuleRequest(params) @@ -1065,7 +1248,7 @@ func (c *SES) DeleteReceiptRuleRequest(input *DeleteReceiptRuleInput) (req *requ // For information about managing receipt rules, see the Amazon SES Developer // Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rules.html). // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1104,19 +1287,18 @@ const opDeleteReceiptRuleSet = "DeleteReceiptRuleSet" // DeleteReceiptRuleSetRequest generates a "aws/request.Request" representing the // client's request for the DeleteReceiptRuleSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteReceiptRuleSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteReceiptRuleSet method directly -// instead. +// See DeleteReceiptRuleSet for more information on using the DeleteReceiptRuleSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteReceiptRuleSetRequest method. // req, resp := client.DeleteReceiptRuleSetRequest(params) @@ -1152,7 +1334,7 @@ func (c *SES) DeleteReceiptRuleSetRequest(input *DeleteReceiptRuleSetInput) (req // For information about managing receipt rule sets, see the Amazon SES Developer // Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html). // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1191,19 +1373,18 @@ const opDeleteVerifiedEmailAddress = "DeleteVerifiedEmailAddress" // DeleteVerifiedEmailAddressRequest generates a "aws/request.Request" representing the // client's request for the DeleteVerifiedEmailAddress operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteVerifiedEmailAddress for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteVerifiedEmailAddress method directly -// instead. +// See DeleteVerifiedEmailAddress for more information on using the DeleteVerifiedEmailAddress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteVerifiedEmailAddressRequest method. // req, resp := client.DeleteVerifiedEmailAddressRequest(params) @@ -1234,12 +1415,8 @@ func (c *SES) DeleteVerifiedEmailAddressRequest(input *DeleteVerifiedEmailAddres // DeleteVerifiedEmailAddress API operation for Amazon Simple Email Service. // -// Deletes the specified email address from the list of verified addresses. -// -// The DeleteVerifiedEmailAddress action is deprecated as of the May 15, 2012 -// release of Domain Verification. The DeleteIdentity action is now preferred. -// -// This action is throttled at one request per second. +// Deprecated. Use the DeleteIdentity operation to delete email addresses and +// domains. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1273,19 +1450,18 @@ const opDescribeActiveReceiptRuleSet = "DescribeActiveReceiptRuleSet" // DescribeActiveReceiptRuleSetRequest generates a "aws/request.Request" representing the // client's request for the DescribeActiveReceiptRuleSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeActiveReceiptRuleSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeActiveReceiptRuleSet method directly -// instead. +// See DescribeActiveReceiptRuleSet for more information on using the DescribeActiveReceiptRuleSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeActiveReceiptRuleSetRequest method. // req, resp := client.DescribeActiveReceiptRuleSetRequest(params) @@ -1320,7 +1496,7 @@ func (c *SES) DescribeActiveReceiptRuleSetRequest(input *DescribeActiveReceiptRu // For information about setting up receipt rule sets, see the Amazon SES Developer // Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html). // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1354,19 +1530,18 @@ const opDescribeConfigurationSet = "DescribeConfigurationSet" // DescribeConfigurationSetRequest generates a "aws/request.Request" representing the // client's request for the DescribeConfigurationSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeConfigurationSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeConfigurationSet method directly -// instead. +// See DescribeConfigurationSet for more information on using the DescribeConfigurationSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeConfigurationSetRequest method. // req, resp := client.DescribeConfigurationSetRequest(params) @@ -1395,12 +1570,10 @@ func (c *SES) DescribeConfigurationSetRequest(input *DescribeConfigurationSetInp // DescribeConfigurationSet API operation for Amazon Simple Email Service. // -// Returns the details of the specified configuration set. +// Returns the details of the specified configuration set. For information about +// using configuration sets, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html). // -// Configuration sets enable you to publish email sending events. For information -// about using configuration sets, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html). -// -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1439,19 +1612,18 @@ const opDescribeReceiptRule = "DescribeReceiptRule" // DescribeReceiptRuleRequest generates a "aws/request.Request" representing the // client's request for the DescribeReceiptRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeReceiptRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeReceiptRule method directly -// instead. +// See DescribeReceiptRule for more information on using the DescribeReceiptRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeReceiptRuleRequest method. // req, resp := client.DescribeReceiptRuleRequest(params) @@ -1485,7 +1657,7 @@ func (c *SES) DescribeReceiptRuleRequest(input *DescribeReceiptRuleInput) (req * // For information about setting up receipt rules, see the Amazon SES Developer // Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rules.html). // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1527,19 +1699,18 @@ const opDescribeReceiptRuleSet = "DescribeReceiptRuleSet" // DescribeReceiptRuleSetRequest generates a "aws/request.Request" representing the // client's request for the DescribeReceiptRuleSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeReceiptRuleSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeReceiptRuleSet method directly -// instead. +// See DescribeReceiptRuleSet for more information on using the DescribeReceiptRuleSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeReceiptRuleSetRequest method. // req, resp := client.DescribeReceiptRuleSetRequest(params) @@ -1573,7 +1744,7 @@ func (c *SES) DescribeReceiptRuleSetRequest(input *DescribeReceiptRuleSetInput) // For information about managing receipt rule sets, see the Amazon SES Developer // Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html). // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1612,19 +1783,18 @@ const opGetIdentityDkimAttributes = "GetIdentityDkimAttributes" // GetIdentityDkimAttributesRequest generates a "aws/request.Request" representing the // client's request for the GetIdentityDkimAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetIdentityDkimAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetIdentityDkimAttributes method directly -// instead. +// See GetIdentityDkimAttributes for more information on using the GetIdentityDkimAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetIdentityDkimAttributesRequest method. // req, resp := client.GetIdentityDkimAttributesRequest(params) @@ -1654,11 +1824,11 @@ func (c *SES) GetIdentityDkimAttributesRequest(input *GetIdentityDkimAttributesI // GetIdentityDkimAttributes API operation for Amazon Simple Email Service. // // Returns the current status of Easy DKIM signing for an entity. For domain -// name identities, this action also returns the DKIM tokens that are required +// name identities, this operation also returns the DKIM tokens that are required // for Easy DKIM signing, and whether Amazon SES has successfully verified that // these tokens have been published. // -// This action takes a list of identities as input and returns the following +// This operation takes a list of identities as input and returns the following // information for each: // // * Whether Easy DKIM signing is enabled or disabled. @@ -1670,7 +1840,7 @@ func (c *SES) GetIdentityDkimAttributesRequest(input *GetIdentityDkimAttributesI // in the domain's DNS. This information is only returned for domain name // identities, not for email addresses. // -// This action is throttled at one request per second and can only get DKIM +// This operation is throttled at one request per second and can only get DKIM // attributes for up to 100 identities at a time. // // For more information about creating DNS records using DKIM tokens, go to @@ -1708,19 +1878,18 @@ const opGetIdentityMailFromDomainAttributes = "GetIdentityMailFromDomainAttribut // GetIdentityMailFromDomainAttributesRequest generates a "aws/request.Request" representing the // client's request for the GetIdentityMailFromDomainAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetIdentityMailFromDomainAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetIdentityMailFromDomainAttributes method directly -// instead. +// See GetIdentityMailFromDomainAttributes for more information on using the GetIdentityMailFromDomainAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetIdentityMailFromDomainAttributesRequest method. // req, resp := client.GetIdentityMailFromDomainAttributesRequest(params) @@ -1750,9 +1919,9 @@ func (c *SES) GetIdentityMailFromDomainAttributesRequest(input *GetIdentityMailF // GetIdentityMailFromDomainAttributes API operation for Amazon Simple Email Service. // // Returns the custom MAIL FROM attributes for a list of identities (email addresses -// and/or domains). +// : domains). // -// This action is throttled at one request per second and can only get custom +// This operation is throttled at one request per second and can only get custom // MAIL FROM attributes for up to 100 identities at a time. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1787,19 +1956,18 @@ const opGetIdentityNotificationAttributes = "GetIdentityNotificationAttributes" // GetIdentityNotificationAttributesRequest generates a "aws/request.Request" representing the // client's request for the GetIdentityNotificationAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetIdentityNotificationAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetIdentityNotificationAttributes method directly -// instead. +// See GetIdentityNotificationAttributes for more information on using the GetIdentityNotificationAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetIdentityNotificationAttributesRequest method. // req, resp := client.GetIdentityNotificationAttributesRequest(params) @@ -1831,7 +1999,7 @@ func (c *SES) GetIdentityNotificationAttributesRequest(input *GetIdentityNotific // Given a list of verified identities (email addresses and/or domains), returns // a structure describing identity notification attributes. // -// This action is throttled at one request per second and can only get notification +// This operation is throttled at one request per second and can only get notification // attributes for up to 100 identities at a time. // // For more information about using notifications with Amazon SES, see the Amazon @@ -1869,19 +2037,18 @@ const opGetIdentityPolicies = "GetIdentityPolicies" // GetIdentityPoliciesRequest generates a "aws/request.Request" representing the // client's request for the GetIdentityPolicies operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetIdentityPolicies for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetIdentityPolicies method directly -// instead. +// See GetIdentityPolicies for more information on using the GetIdentityPolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetIdentityPoliciesRequest method. // req, resp := client.GetIdentityPoliciesRequest(params) @@ -1922,7 +2089,7 @@ func (c *SES) GetIdentityPoliciesRequest(input *GetIdentityPoliciesInput) (req * // other senders to use its identities. For information about using sending // authorization, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1956,19 +2123,18 @@ const opGetIdentityVerificationAttributes = "GetIdentityVerificationAttributes" // GetIdentityVerificationAttributesRequest generates a "aws/request.Request" representing the // client's request for the GetIdentityVerificationAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetIdentityVerificationAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetIdentityVerificationAttributes method directly -// instead. +// See GetIdentityVerificationAttributes for more information on using the GetIdentityVerificationAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetIdentityVerificationAttributesRequest method. // req, resp := client.GetIdentityVerificationAttributesRequest(params) @@ -2001,7 +2167,23 @@ func (c *SES) GetIdentityVerificationAttributesRequest(input *GetIdentityVerific // verification status and (for domain identities) the verification token for // each identity. // -// This action is throttled at one request per second and can only get verification +// The verification status of an email address is "Pending" until the email +// address owner clicks the link within the verification email that Amazon SES +// sent to that address. If the email address owner clicks the link within 24 +// hours, the verification status of the email address changes to "Success". +// If the link is not clicked within 24 hours, the verification status changes +// to "Failed." In that case, if you still want to verify the email address, +// you must restart the verification process from the beginning. +// +// For domain identities, the domain's verification status is "Pending" as Amazon +// SES searches for the required TXT record in the DNS settings of the domain. +// When Amazon SES detects the record, the domain's verification status changes +// to "Success". If Amazon SES is unable to detect the record within 72 hours, +// the domain's verification status changes to "Failed." In that case, if you +// still want to verify the domain, you must restart the verification process +// from the beginning. +// +// This operation is throttled at one request per second and can only get verification // attributes for up to 100 identities at a time. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2036,19 +2218,18 @@ const opGetSendQuota = "GetSendQuota" // GetSendQuotaRequest generates a "aws/request.Request" representing the // client's request for the GetSendQuota operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSendQuota for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSendQuota method directly -// instead. +// See GetSendQuota for more information on using the GetSendQuota +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSendQuotaRequest method. // req, resp := client.GetSendQuotaRequest(params) @@ -2077,9 +2258,9 @@ func (c *SES) GetSendQuotaRequest(input *GetSendQuotaInput) (req *request.Reques // GetSendQuota API operation for Amazon Simple Email Service. // -// Returns the user's current sending limits. +// Provides the sending limits for the Amazon SES account. // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2113,19 +2294,18 @@ const opGetSendStatistics = "GetSendStatistics" // GetSendStatisticsRequest generates a "aws/request.Request" representing the // client's request for the GetSendStatistics operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSendStatistics for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSendStatistics method directly -// instead. +// See GetSendStatistics for more information on using the GetSendStatistics +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSendStatisticsRequest method. // req, resp := client.GetSendStatisticsRequest(params) @@ -2154,12 +2334,11 @@ func (c *SES) GetSendStatisticsRequest(input *GetSendStatisticsInput) (req *requ // GetSendStatistics API operation for Amazon Simple Email Service. // -// Returns the user's sending statistics. The result is a list of data points, -// representing the last two weeks of sending activity. +// Provides sending statistics for the Amazon SES account. The result is a list +// of data points, representing the last two weeks of sending activity. Each +// data point in the list contains statistics for a 15-minute period of time. // -// Each data point in the list contains statistics for a 15-minute interval. -// -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2193,19 +2372,18 @@ const opListConfigurationSets = "ListConfigurationSets" // ListConfigurationSetsRequest generates a "aws/request.Request" representing the // client's request for the ListConfigurationSets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListConfigurationSets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListConfigurationSets method directly -// instead. +// See ListConfigurationSets for more information on using the ListConfigurationSets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListConfigurationSetsRequest method. // req, resp := client.ListConfigurationSetsRequest(params) @@ -2234,13 +2412,17 @@ func (c *SES) ListConfigurationSetsRequest(input *ListConfigurationSetsInput) (r // ListConfigurationSets API operation for Amazon Simple Email Service. // -// Lists the configuration sets associated with your AWS account. +// Provides a list of the configuration sets associated with your Amazon SES +// account. For information about using configuration sets, see Monitoring Your +// Amazon SES Sending Activity (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html) +// in the Amazon SES Developer Guide. // -// Configuration sets enable you to publish email sending events. For information -// about using configuration sets, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html). -// -// This action is throttled at one request per second and can return up to 50 -// configuration sets at a time. +// You can execute this operation no more than once per second. This operation +// will return up to 50 configuration sets each time it is run. If your Amazon +// SES account has more than 50 configuration sets, this operation will also +// return a NextToken element. You can then execute the ListConfigurationSets +// operation again, passing the NextToken parameter and the value of the NextToken +// element to retrieve additional results. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2274,19 +2456,18 @@ const opListIdentities = "ListIdentities" // ListIdentitiesRequest generates a "aws/request.Request" representing the // client's request for the ListIdentities operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListIdentities for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListIdentities method directly -// instead. +// See ListIdentities for more information on using the ListIdentities +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListIdentitiesRequest method. // req, resp := client.ListIdentitiesRequest(params) @@ -2324,7 +2505,7 @@ func (c *SES) ListIdentitiesRequest(input *ListIdentitiesInput) (req *request.Re // Returns a list containing all of the identities (email addresses and domains) // for your AWS account, regardless of verification status. // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2408,19 +2589,18 @@ const opListIdentityPolicies = "ListIdentityPolicies" // ListIdentityPoliciesRequest generates a "aws/request.Request" representing the // client's request for the ListIdentityPolicies operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListIdentityPolicies for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListIdentityPolicies method directly -// instead. +// See ListIdentityPolicies for more information on using the ListIdentityPolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListIdentityPoliciesRequest method. // req, resp := client.ListIdentityPoliciesRequest(params) @@ -2460,7 +2640,7 @@ func (c *SES) ListIdentityPoliciesRequest(input *ListIdentityPoliciesInput) (req // other senders to use its identities. For information about using sending // authorization, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2494,19 +2674,18 @@ const opListReceiptFilters = "ListReceiptFilters" // ListReceiptFiltersRequest generates a "aws/request.Request" representing the // client's request for the ListReceiptFilters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListReceiptFilters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListReceiptFilters method directly -// instead. +// See ListReceiptFilters for more information on using the ListReceiptFilters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListReceiptFiltersRequest method. // req, resp := client.ListReceiptFiltersRequest(params) @@ -2540,7 +2719,7 @@ func (c *SES) ListReceiptFiltersRequest(input *ListReceiptFiltersInput) (req *re // For information about managing IP address filters, see the Amazon SES Developer // Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-ip-filters.html). // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2574,19 +2753,18 @@ const opListReceiptRuleSets = "ListReceiptRuleSets" // ListReceiptRuleSetsRequest generates a "aws/request.Request" representing the // client's request for the ListReceiptRuleSets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListReceiptRuleSets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListReceiptRuleSets method directly -// instead. +// See ListReceiptRuleSets for more information on using the ListReceiptRuleSets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListReceiptRuleSetsRequest method. // req, resp := client.ListReceiptRuleSetsRequest(params) @@ -2623,7 +2801,7 @@ func (c *SES) ListReceiptRuleSetsRequest(input *ListReceiptRuleSetsInput) (req * // For information about managing receipt rule sets, see the Amazon SES Developer // Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html). // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2657,19 +2835,18 @@ const opListVerifiedEmailAddresses = "ListVerifiedEmailAddresses" // ListVerifiedEmailAddressesRequest generates a "aws/request.Request" representing the // client's request for the ListVerifiedEmailAddresses operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListVerifiedEmailAddresses for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListVerifiedEmailAddresses method directly -// instead. +// See ListVerifiedEmailAddresses for more information on using the ListVerifiedEmailAddresses +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListVerifiedEmailAddressesRequest method. // req, resp := client.ListVerifiedEmailAddressesRequest(params) @@ -2698,12 +2875,8 @@ func (c *SES) ListVerifiedEmailAddressesRequest(input *ListVerifiedEmailAddresse // ListVerifiedEmailAddresses API operation for Amazon Simple Email Service. // -// Returns a list containing all of the email addresses that have been verified. -// -// The ListVerifiedEmailAddresses action is deprecated as of the May 15, 2012 -// release of Domain Verification. The ListIdentities action is now preferred. -// -// This action is throttled at one request per second. +// Deprecated. Use the ListIdentities operation to list the email addresses +// and domains associated with your account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2737,19 +2910,18 @@ const opPutIdentityPolicy = "PutIdentityPolicy" // PutIdentityPolicyRequest generates a "aws/request.Request" representing the // client's request for the PutIdentityPolicy operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutIdentityPolicy for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutIdentityPolicy method directly -// instead. +// See PutIdentityPolicy for more information on using the PutIdentityPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutIdentityPolicyRequest method. // req, resp := client.PutIdentityPolicyRequest(params) @@ -2788,7 +2960,7 @@ func (c *SES) PutIdentityPolicyRequest(input *PutIdentityPolicyInput) (req *requ // other senders to use its identities. For information about using sending // authorization, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2828,19 +3000,18 @@ const opReorderReceiptRuleSet = "ReorderReceiptRuleSet" // ReorderReceiptRuleSetRequest generates a "aws/request.Request" representing the // client's request for the ReorderReceiptRuleSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ReorderReceiptRuleSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ReorderReceiptRuleSet method directly -// instead. +// See ReorderReceiptRuleSet for more information on using the ReorderReceiptRuleSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ReorderReceiptRuleSetRequest method. // req, resp := client.ReorderReceiptRuleSetRequest(params) @@ -2878,7 +3049,7 @@ func (c *SES) ReorderReceiptRuleSetRequest(input *ReorderReceiptRuleSetInput) (r // For information about managing receipt rule sets, see the Amazon SES Developer // Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html). // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2920,19 +3091,18 @@ const opSendBounce = "SendBounce" // SendBounceRequest generates a "aws/request.Request" representing the // client's request for the SendBounce operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SendBounce for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SendBounce method directly -// instead. +// See SendBounce for more information on using the SendBounce +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SendBounceRequest method. // req, resp := client.SendBounceRequest(params) @@ -2971,7 +3141,7 @@ func (c *SES) SendBounceRequest(input *SendBounceInput) (req *request.Request, o // For information about receiving email through Amazon SES, see the Amazon // SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html). // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3011,19 +3181,18 @@ const opSendEmail = "SendEmail" // SendEmailRequest generates a "aws/request.Request" representing the // client's request for the SendEmail operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SendEmail for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SendEmail method directly -// instead. +// See SendEmail for more information on using the SendEmail +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SendEmailRequest method. // req, resp := client.SendEmailRequest(params) @@ -3052,31 +3221,41 @@ func (c *SES) SendEmailRequest(input *SendEmailInput) (req *request.Request, out // SendEmail API operation for Amazon Simple Email Service. // -// Composes an email message based on input data, and then immediately queues -// the message for sending. +// Composes an email message and immediately queues it for sending. In order +// to send email using the SendEmail operation, your message must meet the following +// requirements: // -// There are several important points to know about SendEmail: +// * The message must be sent from a verified email address or domain. If +// you attempt to send email using a non-verified address or domain, the +// operation will result in an "Email address not verified" error. // -// * You can only send email from verified email addresses and domains; otherwise, -// you will get an "Email address not verified" error. If your account is -// still in the Amazon SES sandbox, you must also verify every recipient -// email address except for the recipients provided by the Amazon SES mailbox -// simulator. For more information, go to the Amazon SES Developer Guide -// (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html). +// * If your account is still in the Amazon SES sandbox, you may only send +// to verified addresses or domains, or to email addresses associated with +// the Amazon SES Mailbox Simulator. For more information, see Verifying +// Email Addresses and Domains (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html) +// in the Amazon SES Developer Guide. // -// * The total size of the message cannot exceed 10 MB. This includes any -// attachments that are part of the message. +// * The total size of the message, including attachments, must be smaller +// than 10 MB. // -// * Amazon SES has a limit on the total number of recipients per message. -// The combined number of To:, CC: and BCC: email addresses cannot exceed -// 50. If you need to send an email message to a larger audience, you can -// divide your recipient list into groups of 50 or fewer, and then call Amazon -// SES repeatedly to send the message to each group. +// * The message must include at least one recipient email address. The recipient +// address can be a To: address, a CC: address, or a BCC: address. If a recipient +// email address is invalid (that is, it is not in the format UserName@[SubDomain.]Domain.TopLevelDomain), +// the entire message will be rejected, even if the message contains other +// recipients that are valid. // -// * For every message that you send, the total number of recipients (To:, -// CC: and BCC:) is counted against your sending quota - the maximum number -// of emails you can send in a 24-hour period. For information about your -// sending quota, go to the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/manage-sending-limits.html). +// * The message may not include more than 50 recipients, across the To:, +// CC: and BCC: fields. If you need to send an email message to a larger +// audience, you can divide your recipient list into groups of 50 or fewer, +// and then call the SendEmail operation several times to send the message +// to each group. +// +// For every message that you send, the total number of recipients (including +// each recipient in the To:, CC: and BCC: fields) is counted against the maximum +// number of emails you can send in a 24-hour period (your sending quota). For +// more information about sending quotas in Amazon SES, see Managing Your Amazon +// SES Sending Limits (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/manage-sending-limits.html) +// in the Amazon SES Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3125,19 +3304,18 @@ const opSendRawEmail = "SendRawEmail" // SendRawEmailRequest generates a "aws/request.Request" representing the // client's request for the SendRawEmail operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SendRawEmail for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SendRawEmail method directly -// instead. +// See SendRawEmail for more information on using the SendRawEmail +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SendRawEmailRequest method. // req, resp := client.SendRawEmailRequest(params) @@ -3166,44 +3344,58 @@ func (c *SES) SendRawEmailRequest(input *SendRawEmailInput) (req *request.Reques // SendRawEmail API operation for Amazon Simple Email Service. // -// Sends an email message, with header and content specified by the client. -// The SendRawEmail action is useful for sending multipart MIME emails. The -// raw text of the message must comply with Internet email standards; otherwise, -// the message cannot be sent. +// Composes an email message and immediately queues it for sending. When calling +// this operation, you may specify the message headers as well as the content. +// The SendRawEmail operation is particularly useful for sending multipart MIME +// emails (such as those that contain both a plain-text and an HTML version). // -// There are several important points to know about SendRawEmail: +// In order to send email using the SendRawEmail operation, your message must +// meet the following requirements: // -// * You can only send email from verified email addresses and domains; otherwise, -// you will get an "Email address not verified" error. If your account is -// still in the Amazon SES sandbox, you must also verify every recipient -// email address except for the recipients provided by the Amazon SES mailbox -// simulator. For more information, go to the Amazon SES Developer Guide -// (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html). +// * The message must be sent from a verified email address or domain. If +// you attempt to send email using a non-verified address or domain, the +// operation will result in an "Email address not verified" error. // -// * The total size of the message cannot exceed 10 MB. This includes any -// attachments that are part of the message. +// * If your account is still in the Amazon SES sandbox, you may only send +// to verified addresses or domains, or to email addresses associated with +// the Amazon SES Mailbox Simulator. For more information, see Verifying +// Email Addresses and Domains (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html) +// in the Amazon SES Developer Guide. // -// * Amazon SES has a limit on the total number of recipients per message. -// The combined number of To:, CC: and BCC: email addresses cannot exceed -// 50. If you need to send an email message to a larger audience, you can -// divide your recipient list into groups of 50 or fewer, and then call Amazon -// SES repeatedly to send the message to each group. +// * The total size of the message, including attachments, must be smaller +// than 10 MB. // -// * The To:, CC:, and BCC: headers in the raw message can contain a group -// list. Note that each recipient in a group list counts towards the 50-recipient -// limit. +// * The message must include at least one recipient email address. The recipient +// address can be a To: address, a CC: address, or a BCC: address. If a recipient +// email address is invalid (that is, it is not in the format UserName@[SubDomain.]Domain.TopLevelDomain), +// the entire message will be rejected, even if the message contains other +// recipients that are valid. // -// * Amazon SES overrides any Message-ID and Date headers you provide. +// * The message may not include more than 50 recipients, across the To:, +// CC: and BCC: fields. If you need to send an email message to a larger +// audience, you can divide your recipient list into groups of 50 or fewer, +// and then call the SendRawEmail operation several times to send the message +// to each group. // -// * For every message that you send, the total number of recipients (To:, -// CC: and BCC:) is counted against your sending quota - the maximum number -// of emails you can send in a 24-hour period. For information about your -// sending quota, go to the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/manage-sending-limits.html). +// For every message that you send, the total number of recipients (including +// each recipient in the To:, CC: and BCC: fields) is counted against the maximum +// number of emails you can send in a 24-hour period (your sending quota). For +// more information about sending quotas in Amazon SES, see Managing Your Amazon +// SES Sending Limits (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/manage-sending-limits.html) +// in the Amazon SES Developer Guide. +// +// Additionally, keep the following considerations in mind when using the SendRawEmail +// operation: +// +// * Although you can customize the message headers when using the SendRawEmail +// operation, Amazon SES will automatically apply its own Message-ID and +// Date headers; if you passed these headers when creating the message, they +// will be overwritten by the values that Amazon SES provides. // // * If you are using sending authorization to send on behalf of another // user, SendRawEmail enables you to specify the cross-account identity for -// the email's "Source," "From," and "Return-Path" parameters in one of two -// ways: you can pass optional parameters SourceArn, FromArn, and/or ReturnPathArn +// the email's Source, From, and Return-Path parameters in one of two ways: +// you can pass optional parameters SourceArn, FromArn, and/or ReturnPathArn // to the API, or you can include the following X-headers in the header of // your raw email: // @@ -3213,16 +3405,16 @@ func (c *SES) SendRawEmailRequest(input *SendRawEmailInput) (req *request.Reques // // X-SES-RETURN-PATH-ARN // -// Do not include these X-headers in the DKIM signature, because they are removed -// by Amazon SES before sending the email. +// Do not include these X-headers in the DKIM signature; Amazon SES will remove +// them before sending the email. // -// For the most common sending authorization use case, we recommend that you -// specify the SourceIdentityArn and do not specify either the FromIdentityArn -// or ReturnPathIdentityArn. (The same note applies to the corresponding -// X-headers.) If you only specify the SourceIdentityArn, Amazon SES will -// simply set the "From" address and the "Return Path" address to the identity -// specified in SourceIdentityArn. For more information about sending authorization, -// see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). +// For most common sending authorization scenarios, we recommend that you specify +// the SourceIdentityArn parameter and not the FromIdentityArn or ReturnPathIdentityArn +// parameters. If you only specify the SourceIdentityArn parameter, Amazon +// SES will set the From and Return Path addresses to the identity specified +// in SourceIdentityArn. For more information about sending authorization, +// see the Using Sending Authorization with Amazon SES (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html) +// in the Amazon SES Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3271,19 +3463,18 @@ const opSetActiveReceiptRuleSet = "SetActiveReceiptRuleSet" // SetActiveReceiptRuleSetRequest generates a "aws/request.Request" representing the // client's request for the SetActiveReceiptRuleSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetActiveReceiptRuleSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetActiveReceiptRuleSet method directly -// instead. +// See SetActiveReceiptRuleSet for more information on using the SetActiveReceiptRuleSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetActiveReceiptRuleSetRequest method. // req, resp := client.SetActiveReceiptRuleSetRequest(params) @@ -3320,7 +3511,7 @@ func (c *SES) SetActiveReceiptRuleSetRequest(input *SetActiveReceiptRuleSetInput // For information about managing receipt rule sets, see the Amazon SES Developer // Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html). // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3359,19 +3550,18 @@ const opSetIdentityDkimEnabled = "SetIdentityDkimEnabled" // SetIdentityDkimEnabledRequest generates a "aws/request.Request" representing the // client's request for the SetIdentityDkimEnabled operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetIdentityDkimEnabled for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetIdentityDkimEnabled method directly -// instead. +// See SetIdentityDkimEnabled for more information on using the SetIdentityDkimEnabled +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetIdentityDkimEnabledRequest method. // req, resp := client.SetIdentityDkimEnabledRequest(params) @@ -3402,18 +3592,19 @@ func (c *SES) SetIdentityDkimEnabledRequest(input *SetIdentityDkimEnabledInput) // // Enables or disables Easy DKIM signing of email sent from an identity: // -// * If Easy DKIM signing is enabled for a domain name identity (e.g., example.com), -// then Amazon SES will DKIM-sign all email sent by addresses under that -// domain name (e.g., user@example.com). +// * If Easy DKIM signing is enabled for a domain name identity (such as +// example.com), then Amazon SES will DKIM-sign all email sent by addresses +// under that domain name (for example, user@example.com). // // * If Easy DKIM signing is enabled for an email address, then Amazon SES // will DKIM-sign all email sent by that email address. // -// For email addresses (e.g., user@example.com), you can only enable Easy DKIM -// signing if the corresponding domain (e.g., example.com) has been set up for -// Easy DKIM using the AWS Console or the VerifyDomainDkim action. +// For email addresses (for example, user@example.com), you can only enable +// Easy DKIM signing if the corresponding domain (in this case, example.com) +// has been set up for Easy DKIM using the AWS Console or the VerifyDomainDkim +// operation. // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // For more information about Easy DKIM signing, go to the Amazon SES Developer // Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html). @@ -3450,19 +3641,18 @@ const opSetIdentityFeedbackForwardingEnabled = "SetIdentityFeedbackForwardingEna // SetIdentityFeedbackForwardingEnabledRequest generates a "aws/request.Request" representing the // client's request for the SetIdentityFeedbackForwardingEnabled operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetIdentityFeedbackForwardingEnabled for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetIdentityFeedbackForwardingEnabled method directly -// instead. +// See SetIdentityFeedbackForwardingEnabled for more information on using the SetIdentityFeedbackForwardingEnabled +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetIdentityFeedbackForwardingEnabledRequest method. // req, resp := client.SetIdentityFeedbackForwardingEnabledRequest(params) @@ -3499,7 +3689,7 @@ func (c *SES) SetIdentityFeedbackForwardingEnabledRequest(input *SetIdentityFeed // Feedback forwarding does not apply to delivery notifications. Delivery notifications // are only available through Amazon SNS. // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // For more information about using notifications with Amazon SES, see the Amazon // SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html). @@ -3536,19 +3726,18 @@ const opSetIdentityHeadersInNotificationsEnabled = "SetIdentityHeadersInNotifica // SetIdentityHeadersInNotificationsEnabledRequest generates a "aws/request.Request" representing the // client's request for the SetIdentityHeadersInNotificationsEnabled operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetIdentityHeadersInNotificationsEnabled for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetIdentityHeadersInNotificationsEnabled method directly -// instead. +// See SetIdentityHeadersInNotificationsEnabled for more information on using the SetIdentityHeadersInNotificationsEnabled +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetIdentityHeadersInNotificationsEnabledRequest method. // req, resp := client.SetIdentityHeadersInNotificationsEnabledRequest(params) @@ -3581,7 +3770,7 @@ func (c *SES) SetIdentityHeadersInNotificationsEnabledRequest(input *SetIdentity // includes the original email headers in the Amazon Simple Notification Service // (Amazon SNS) notifications of a specified type. // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // For more information about using notifications with Amazon SES, see the Amazon // SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html). @@ -3618,19 +3807,18 @@ const opSetIdentityMailFromDomain = "SetIdentityMailFromDomain" // SetIdentityMailFromDomainRequest generates a "aws/request.Request" representing the // client's request for the SetIdentityMailFromDomain operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetIdentityMailFromDomain for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetIdentityMailFromDomain method directly -// instead. +// See SetIdentityMailFromDomain for more information on using the SetIdentityMailFromDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetIdentityMailFromDomainRequest method. // req, resp := client.SetIdentityMailFromDomainRequest(params) @@ -3667,7 +3855,7 @@ func (c *SES) SetIdentityMailFromDomainRequest(input *SetIdentityMailFromDomainI // Sender Policy Framework (SPF) checks, you must also add or update an SPF // record. For more information, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from-set.html). // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3701,19 +3889,18 @@ const opSetIdentityNotificationTopic = "SetIdentityNotificationTopic" // SetIdentityNotificationTopicRequest generates a "aws/request.Request" representing the // client's request for the SetIdentityNotificationTopic operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetIdentityNotificationTopic for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetIdentityNotificationTopic method directly -// instead. +// See SetIdentityNotificationTopic for more information on using the SetIdentityNotificationTopic +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetIdentityNotificationTopicRequest method. // req, resp := client.SetIdentityNotificationTopicRequest(params) @@ -3750,7 +3937,7 @@ func (c *SES) SetIdentityNotificationTopicRequest(input *SetIdentityNotification // Unless feedback forwarding is enabled, you must specify Amazon SNS topics // for bounce and complaint notifications. For more information, see SetIdentityFeedbackForwardingEnabled. // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // For more information about feedback notification, see the Amazon SES Developer // Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html). @@ -3787,19 +3974,18 @@ const opSetReceiptRulePosition = "SetReceiptRulePosition" // SetReceiptRulePositionRequest generates a "aws/request.Request" representing the // client's request for the SetReceiptRulePosition operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetReceiptRulePosition for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetReceiptRulePosition method directly -// instead. +// See SetReceiptRulePosition for more information on using the SetReceiptRulePosition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetReceiptRulePositionRequest method. // req, resp := client.SetReceiptRulePositionRequest(params) @@ -3833,7 +4019,7 @@ func (c *SES) SetReceiptRulePositionRequest(input *SetReceiptRulePositionInput) // For information about managing receipt rules, see the Amazon SES Developer // Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rules.html). // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3875,19 +4061,18 @@ const opUpdateConfigurationSetEventDestination = "UpdateConfigurationSetEventDes // UpdateConfigurationSetEventDestinationRequest generates a "aws/request.Request" representing the // client's request for the UpdateConfigurationSetEventDestination operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateConfigurationSetEventDestination for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateConfigurationSetEventDestination method directly -// instead. +// See UpdateConfigurationSetEventDestination for more information on using the UpdateConfigurationSetEventDestination +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateConfigurationSetEventDestinationRequest method. // req, resp := client.UpdateConfigurationSetEventDestinationRequest(params) @@ -3916,18 +4101,18 @@ func (c *SES) UpdateConfigurationSetEventDestinationRequest(input *UpdateConfigu // UpdateConfigurationSetEventDestination API operation for Amazon Simple Email Service. // -// Updates the event destination of a configuration set. +// Updates the event destination of a configuration set. Event destinations +// are associated with configuration sets, which enable you to publish email +// sending events to Amazon CloudWatch, Amazon Kinesis Firehose, or Amazon Simple +// Notification Service (Amazon SNS). For information about using configuration +// sets, see Monitoring Your Amazon SES Sending Activity (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html) +// in the Amazon SES Developer Guide. // // When you create or update an event destination, you must provide one, and -// only one, destination. The destination can be either Amazon CloudWatch or -// Amazon Kinesis Firehose. +// only one, destination. The destination can be Amazon CloudWatch, Amazon Kinesis +// Firehose, or Amazon Simple Notification Service (Amazon SNS). // -// Event destinations are associated with configuration sets, which enable you -// to publish email sending events to Amazon CloudWatch or Amazon Kinesis Firehose. -// For information about using configuration sets, see the Amazon SES Developer -// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html). -// -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3951,6 +4136,10 @@ func (c *SES) UpdateConfigurationSetEventDestinationRequest(input *UpdateConfigu // Indicates that the Amazon Kinesis Firehose destination is invalid. See the // error message for details. // +// * ErrCodeInvalidSNSDestinationException "InvalidSNSDestination" +// Indicates that the Amazon Simple Notification Service (Amazon SNS) destination +// is invalid. See the error message for details. +// // Please also see https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetEventDestination func (c *SES) UpdateConfigurationSetEventDestination(input *UpdateConfigurationSetEventDestinationInput) (*UpdateConfigurationSetEventDestinationOutput, error) { req, out := c.UpdateConfigurationSetEventDestinationRequest(input) @@ -3973,23 +4162,120 @@ func (c *SES) UpdateConfigurationSetEventDestinationWithContext(ctx aws.Context, return out, req.Send() } +const opUpdateConfigurationSetTrackingOptions = "UpdateConfigurationSetTrackingOptions" + +// UpdateConfigurationSetTrackingOptionsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateConfigurationSetTrackingOptions operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateConfigurationSetTrackingOptions for more information on using the UpdateConfigurationSetTrackingOptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateConfigurationSetTrackingOptionsRequest method. +// req, resp := client.UpdateConfigurationSetTrackingOptionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetTrackingOptions +func (c *SES) UpdateConfigurationSetTrackingOptionsRequest(input *UpdateConfigurationSetTrackingOptionsInput) (req *request.Request, output *UpdateConfigurationSetTrackingOptionsOutput) { + op := &request.Operation{ + Name: opUpdateConfigurationSetTrackingOptions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateConfigurationSetTrackingOptionsInput{} + } + + output = &UpdateConfigurationSetTrackingOptionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateConfigurationSetTrackingOptions API operation for Amazon Simple Email Service. +// +// Modifies an association between a configuration set and a custom domain for +// open and click event tracking. +// +// By default, images and links used for tracking open and click events are +// hosted on domains operated by Amazon SES. You can configure a subdomain of +// your own to handle these events by redirecting them to the Amazon SES-operated +// domain. For information about using configuration sets, see Configuring Custom +// Domains to Handle Open and Click Tracking (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html) +// in the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation UpdateConfigurationSetTrackingOptions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeConfigurationSetDoesNotExistException "ConfigurationSetDoesNotExist" +// Indicates that the configuration set does not exist. +// +// * ErrCodeTrackingOptionsDoesNotExistException "TrackingOptionsDoesNotExistException" +// Indicates that the TrackingOptions object you specified does not exist. +// +// * ErrCodeInvalidTrackingOptionsException "InvalidTrackingOptions" +// Indicates that the custom domain to be used for open and click tracking redirects +// is invalid. This error appears most often in the following situations: +// +// * When the tracking domain you specified is not verified in Amazon SES. +// +// * When the tracking domain you specified is not a valid domain or subdomain. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetTrackingOptions +func (c *SES) UpdateConfigurationSetTrackingOptions(input *UpdateConfigurationSetTrackingOptionsInput) (*UpdateConfigurationSetTrackingOptionsOutput, error) { + req, out := c.UpdateConfigurationSetTrackingOptionsRequest(input) + return out, req.Send() +} + +// UpdateConfigurationSetTrackingOptionsWithContext is the same as UpdateConfigurationSetTrackingOptions with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateConfigurationSetTrackingOptions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SES) UpdateConfigurationSetTrackingOptionsWithContext(ctx aws.Context, input *UpdateConfigurationSetTrackingOptionsInput, opts ...request.Option) (*UpdateConfigurationSetTrackingOptionsOutput, error) { + req, out := c.UpdateConfigurationSetTrackingOptionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateReceiptRule = "UpdateReceiptRule" // UpdateReceiptRuleRequest generates a "aws/request.Request" representing the // client's request for the UpdateReceiptRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateReceiptRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateReceiptRule method directly -// instead. +// See UpdateReceiptRule for more information on using the UpdateReceiptRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateReceiptRuleRequest method. // req, resp := client.UpdateReceiptRuleRequest(params) @@ -4023,7 +4309,7 @@ func (c *SES) UpdateReceiptRuleRequest(input *UpdateReceiptRuleInput) (req *requ // For information about managing receipt rules, see the Amazon SES Developer // Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rules.html). // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4086,19 +4372,18 @@ const opVerifyDomainDkim = "VerifyDomainDkim" // VerifyDomainDkimRequest generates a "aws/request.Request" representing the // client's request for the VerifyDomainDkim operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See VerifyDomainDkim for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the VerifyDomainDkim method directly -// instead. +// See VerifyDomainDkim for more information on using the VerifyDomainDkim +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the VerifyDomainDkimRequest method. // req, resp := client.VerifyDomainDkimRequest(params) @@ -4135,10 +4420,10 @@ func (c *SES) VerifyDomainDkimRequest(input *VerifyDomainDkimInput) (req *reques // detection, Amazon SES will be able to DKIM-sign email originating from that // domain. // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // To enable or disable Easy DKIM signing for a domain, use the SetIdentityDkimEnabled -// action. +// operation. // // For more information about creating DNS records using DKIM tokens, go to // the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim-dns-records.html). @@ -4175,19 +4460,18 @@ const opVerifyDomainIdentity = "VerifyDomainIdentity" // VerifyDomainIdentityRequest generates a "aws/request.Request" representing the // client's request for the VerifyDomainIdentity operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See VerifyDomainIdentity for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the VerifyDomainIdentity method directly -// instead. +// See VerifyDomainIdentity for more information on using the VerifyDomainIdentity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the VerifyDomainIdentityRequest method. // req, resp := client.VerifyDomainIdentityRequest(params) @@ -4216,9 +4500,12 @@ func (c *SES) VerifyDomainIdentityRequest(input *VerifyDomainIdentityInput) (req // VerifyDomainIdentity API operation for Amazon Simple Email Service. // -// Verifies a domain. +// Adds a domain to the list of identities for your Amazon SES account and attempts +// to verify it. For more information about verifying domains, see Verifying +// Email Addresses and Domains (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html) +// in the Amazon SES Developer Guide. // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4252,19 +4539,18 @@ const opVerifyEmailAddress = "VerifyEmailAddress" // VerifyEmailAddressRequest generates a "aws/request.Request" representing the // client's request for the VerifyEmailAddress operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See VerifyEmailAddress for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the VerifyEmailAddress method directly -// instead. +// See VerifyEmailAddress for more information on using the VerifyEmailAddress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the VerifyEmailAddressRequest method. // req, resp := client.VerifyEmailAddressRequest(params) @@ -4295,13 +4581,7 @@ func (c *SES) VerifyEmailAddressRequest(input *VerifyEmailAddressInput) (req *re // VerifyEmailAddress API operation for Amazon Simple Email Service. // -// Verifies an email address. This action causes a confirmation email message -// to be sent to the specified address. -// -// The VerifyEmailAddress action is deprecated as of the May 15, 2012 release -// of Domain Verification. The VerifyEmailIdentity action is now preferred. -// -// This action is throttled at one request per second. +// Deprecated. Use the VerifyEmailIdentity operation to verify a new email address. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4335,19 +4615,18 @@ const opVerifyEmailIdentity = "VerifyEmailIdentity" // VerifyEmailIdentityRequest generates a "aws/request.Request" representing the // client's request for the VerifyEmailIdentity operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See VerifyEmailIdentity for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the VerifyEmailIdentity method directly -// instead. +// See VerifyEmailIdentity for more information on using the VerifyEmailIdentity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the VerifyEmailIdentityRequest method. // req, resp := client.VerifyEmailIdentityRequest(params) @@ -4376,10 +4655,11 @@ func (c *SES) VerifyEmailIdentityRequest(input *VerifyEmailIdentityInput) (req * // VerifyEmailIdentity API operation for Amazon Simple Email Service. // -// Verifies an email address. This action causes a confirmation email message +// Adds an email address to the list of identities for your Amazon SES account +// and attempts to verify it. This operation causes a confirmation email message // to be sent to the specified address. // -// This action is throttled at one request per second. +// You can execute this operation no more than once per second. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4930,18 +5210,20 @@ func (s *CloudWatchDimensionConfiguration) SetDimensionValueSource(v string) *Cl // The name of the configuration set. // -// Configuration sets enable you to publish email sending events. For information -// about using configuration sets, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html). +// Configuration sets let you create groups of rules that you can apply to the +// emails you send using Amazon SES. For more information about using configuration +// sets, see Using Amazon SES Configuration Sets (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/using-configuration-sets.html) +// in the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/). // Please also see https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/ConfigurationSet type ConfigurationSet struct { _ struct{} `type:"structure"` - // The name of the configuration set. The name must: + // The name of the configuration set. The name must meet the following requirements: // - // * Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), - // or dashes (-). + // * Contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or + // dashes (-). // - // * Contain less than 64 characters. + // * Contain 64 characters or fewer. // // Name is a required field Name *string `type:"string" required:"true"` @@ -5038,13 +5320,14 @@ func (s *Content) SetData(v string) *Content { type CreateConfigurationSetEventDestinationInput struct { _ struct{} `type:"structure"` - // The name of the configuration set to which to apply the event destination. + // The name of the configuration set that the event destination should be associated + // with. // // ConfigurationSetName is a required field ConfigurationSetName *string `type:"string" required:"true"` - // An object that describes the AWS service to which Amazon SES will publish - // the email sending events associated with the specified configuration set. + // An object that describes the AWS service that email sending event information + // will be published to. // // EventDestination is a required field EventDestination *EventDestination `type:"structure" required:"true"` @@ -5172,6 +5455,84 @@ func (s CreateConfigurationSetOutput) GoString() string { return s.String() } +// Represents a request to create an open and click tracking option object in +// a configuration set. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateConfigurationSetTrackingOptionsRequest +type CreateConfigurationSetTrackingOptionsInput struct { + _ struct{} `type:"structure"` + + // The name of the configuration set that the tracking options should be associated + // with. + // + // ConfigurationSetName is a required field + ConfigurationSetName *string `type:"string" required:"true"` + + // A domain that is used to redirect email recipients to an Amazon SES-operated + // domain. This domain captures open and click events generated by Amazon SES + // emails. + // + // For more information, see Configuring Custom Domains to Handle Open and Click + // Tracking (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html) + // in the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html). + // + // TrackingOptions is a required field + TrackingOptions *TrackingOptions `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateConfigurationSetTrackingOptionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateConfigurationSetTrackingOptionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateConfigurationSetTrackingOptionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateConfigurationSetTrackingOptionsInput"} + if s.ConfigurationSetName == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName")) + } + if s.TrackingOptions == nil { + invalidParams.Add(request.NewErrParamRequired("TrackingOptions")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfigurationSetName sets the ConfigurationSetName field's value. +func (s *CreateConfigurationSetTrackingOptionsInput) SetConfigurationSetName(v string) *CreateConfigurationSetTrackingOptionsInput { + s.ConfigurationSetName = &v + return s +} + +// SetTrackingOptions sets the TrackingOptions field's value. +func (s *CreateConfigurationSetTrackingOptionsInput) SetTrackingOptions(v *TrackingOptions) *CreateConfigurationSetTrackingOptionsInput { + s.TrackingOptions = v + return s +} + +// An empty element returned on a successful request. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/CreateConfigurationSetTrackingOptionsResponse +type CreateConfigurationSetTrackingOptionsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateConfigurationSetTrackingOptionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateConfigurationSetTrackingOptionsOutput) GoString() string { + return s.String() +} + // Represents a request to create a new IP address filter. You use IP address // filters when you receive email with Amazon SES. For more information, see // the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html). @@ -5254,7 +5615,7 @@ type CreateReceiptRuleInput struct { // Rule is a required field Rule *ReceiptRule `type:"structure" required:"true"` - // The name of the rule set to which to add the rule. + // The name of the rule set that the receipt rule will be added to. // // RuleSetName is a required field RuleSetName *string `type:"string" required:"true"` @@ -5521,6 +5882,64 @@ func (s DeleteConfigurationSetOutput) GoString() string { return s.String() } +// Represents a request to delete open and click tracking options in a configuration +// set. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteConfigurationSetTrackingOptionsRequest +type DeleteConfigurationSetTrackingOptionsInput struct { + _ struct{} `type:"structure"` + + // The name of the configuration set from which you want to delete the tracking + // options. + // + // ConfigurationSetName is a required field + ConfigurationSetName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteConfigurationSetTrackingOptionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteConfigurationSetTrackingOptionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteConfigurationSetTrackingOptionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteConfigurationSetTrackingOptionsInput"} + if s.ConfigurationSetName == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfigurationSetName sets the ConfigurationSetName field's value. +func (s *DeleteConfigurationSetTrackingOptionsInput) SetConfigurationSetName(v string) *DeleteConfigurationSetTrackingOptionsInput { + s.ConfigurationSetName = &v + return s +} + +// An empty element returned on a successful request. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteConfigurationSetTrackingOptionsResponse +type DeleteConfigurationSetTrackingOptionsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteConfigurationSetTrackingOptionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteConfigurationSetTrackingOptionsOutput) GoString() string { + return s.String() +} + // Represents a request to delete one of your Amazon SES identities (an email // address or domain). // Please also see https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/DeleteIdentityRequest @@ -6021,6 +6440,10 @@ type DescribeConfigurationSetOutput struct { // A list of event destinations associated with the configuration set. EventDestinations []*EventDestination `type:"list"` + + // The name of the custom open and click tracking domain associated with the + // configuration set. + TrackingOptions *TrackingOptions `type:"structure"` } // String returns the string representation @@ -6045,6 +6468,12 @@ func (s *DescribeConfigurationSetOutput) SetEventDestinations(v []*EventDestinat return s } +// SetTrackingOptions sets the TrackingOptions field's value. +func (s *DescribeConfigurationSetOutput) SetTrackingOptions(v *TrackingOptions) *DescribeConfigurationSetOutput { + s.TrackingOptions = v + return s +} + // Represents a request to return the details of a receipt rule. You use receipt // rules to receive email with Amazon SES. For more information, see the Amazon // SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html). @@ -6057,7 +6486,7 @@ type DescribeReceiptRuleInput struct { // RuleName is a required field RuleName *string `type:"string" required:"true"` - // The name of the receipt rule set to which the receipt rule belongs. + // The name of the receipt rule set that the receipt rule belongs to. // // RuleSetName is a required field RuleSetName *string `type:"string" required:"true"` @@ -6211,7 +6640,7 @@ func (s *DescribeReceiptRuleSetOutput) SetRules(v []*ReceiptRule) *DescribeRecei // By default, the string must be 7-bit ASCII. If the text must contain any // other characters, then you must use MIME encoded-word syntax (RFC 2047) instead // of a literal string. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. -// For more information, see RFC 2047 (http://tools.ietf.org/html/rfc2047). +// For more information, see RFC 2047 (https://tools.ietf.org/html/rfc2047). // Please also see https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/Destination type Destination struct { _ struct{} `type:"structure"` @@ -6254,17 +6683,17 @@ func (s *Destination) SetToAddresses(v []*string) *Destination { return s } -// Contains information about the event destination to which the specified email -// sending events are published. +// Contains information about the event destination that the specified email +// sending events will be published to. // // When you create or update an event destination, you must provide one, and -// only one, destination. The destination can be either Amazon CloudWatch or -// Amazon Kinesis Firehose. +// only one, destination. The destination can be Amazon CloudWatch, Amazon Kinesis +// Firehose or Amazon Simple Notification Service (Amazon SNS). // // Event destinations are associated with configuration sets, which enable you -// to publish email sending events to Amazon CloudWatch or Amazon Kinesis Firehose. -// For information about using configuration sets, see the Amazon SES Developer -// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html). +// to publish email sending events to Amazon CloudWatch, Amazon Kinesis Firehose, +// or Amazon Simple Notification Service (Amazon SNS). For information about +// using configuration sets, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html). // Please also see https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/EventDestination type EventDestination struct { _ struct{} `type:"structure"` @@ -6297,6 +6726,10 @@ type EventDestination struct { // // Name is a required field Name *string `type:"string" required:"true"` + + // An object that contains the topic ARN associated with an Amazon Simple Notification + // Service (Amazon SNS) event destination. + SNSDestination *SNSDestination `type:"structure"` } // String returns the string representation @@ -6328,6 +6761,11 @@ func (s *EventDestination) Validate() error { invalidParams.AddNested("KinesisFirehoseDestination", err.(request.ErrInvalidParams)) } } + if s.SNSDestination != nil { + if err := s.SNSDestination.Validate(); err != nil { + invalidParams.AddNested("SNSDestination", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -6365,6 +6803,12 @@ func (s *EventDestination) SetName(v string) *EventDestination { return s } +// SetSNSDestination sets the SNSDestination field's value. +func (s *EventDestination) SetSNSDestination(v *SNSDestination) *EventDestination { + s.SNSDestination = v + return s +} + // Additional X-headers to include in the Delivery Status Notification (DSN) // when an email that Amazon SES receives on your behalf bounces. // @@ -7180,8 +7624,8 @@ func (s *IdentityVerificationAttributes) SetVerificationToken(v string) *Identit type KinesisFirehoseDestination struct { _ struct{} `type:"structure"` - // The ARN of the Amazon Kinesis Firehose stream to which to publish email sending - // events. + // The ARN of the Amazon Kinesis Firehose stream that email sending events should + // be published to. // // DeliveryStreamARN is a required field DeliveryStreamARN *string `type:"string" required:"true"` @@ -7913,8 +8357,8 @@ func (s *MessageTag) SetValue(v string) *MessageTag { type PutIdentityPolicyInput struct { _ struct{} `type:"structure"` - // The identity to which the policy will apply. You can specify an identity - // by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, + // The identity that the policy will apply to. You can specify an identity by + // using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, // example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com. // // To successfully call this API, you must own the identity. @@ -8013,9 +8457,12 @@ func (s PutIdentityPolicyOutput) GoString() string { type RawMessage struct { _ struct{} `type:"structure"` - // The raw data of the message. The client must ensure that the message format - // complies with Internet email standards regarding email header fields, MIME - // types, MIME encoding, and base64 encoding. + // The raw data of the message. This data needs to base64-encoded if you are + // accessing Amazon SES directly through the HTTPS interface. If you are accessing + // Amazon SES using an AWS SDK, the SDK takes care of the base 64-encoding for + // you. In all cases, the client must ensure that the message format complies + // with Internet email standards regarding email header fields, MIME types, + // and MIME encoding. // // The To:, CC:, and BCC: headers in the raw message can contain a group list. // @@ -8334,8 +8781,8 @@ func (s *ReceiptIpFilter) SetPolicy(v string) *ReceiptIpFilter { // when it receives mail on behalf of one or more email addresses or domains // that you own. // -// Each receipt rule defines a set of email addresses or domains to which it -// applies. If the email addresses or domains match at least one recipient address +// Each receipt rule defines a set of email addresses or domains that it applies +// to. If the email addresses or domains match at least one recipient address // of the message, Amazon SES executes all of the receipt rule's actions on // the message. // @@ -8364,12 +8811,12 @@ type ReceiptRule struct { // Name is a required field Name *string `type:"string" required:"true"` - // The recipient domains and email addresses to which the receipt rule applies. + // The recipient domains and email addresses that the receipt rule applies to. // If this field is not specified, this rule will match all recipients under // all verified domains. Recipients []*string `type:"list"` - // If true, then messages to which this receipt rule applies are scanned for + // If true, then messages that this receipt rule applies to are scanned for // spam and viruses. The default value is false. ScanEnabled *bool `type:"boolean"` @@ -8520,7 +8967,7 @@ type RecipientDsnFields struct { // Additional X-headers to include in the DSN. ExtensionFields []*ExtensionField `type:"list"` - // The email address to which the message was ultimately delivered. This corresponds + // The email address that the message was ultimately delivered to. This corresponds // to the Final-Recipient in the DSN. If not specified, FinalRecipient will // be set to the Recipient specified in the BouncedRecipientInfo structure. // Either FinalRecipient or the recipient in BouncedRecipientInfo must be a @@ -8716,7 +9163,7 @@ func (s ReorderReceiptRuleSetOutput) GoString() string { type S3Action struct { _ struct{} `type:"structure"` - // The name of the Amazon S3 bucket to which to save the received email. + // The name of the Amazon S3 bucket that incoming email will be saved to. // // BucketName is a required field BucketName *string `type:"string" required:"true"` @@ -8749,7 +9196,7 @@ type S3Action struct { // This encryption client is currently available with the AWS Java SDK (http://aws.amazon.com/sdk-for-java/) // and AWS Ruby SDK (http://aws.amazon.com/sdk-for-ruby/) only. For more information // about client-side encryption using AWS KMS master keys, see the Amazon S3 - // Developer Guide (http://alpha-docs-aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html). + // Developer Guide (AmazonS3/latest/dev/UsingClientSideEncryption.html). KmsKeyArn *string `type:"string"` // The key prefix of the Amazon S3 bucket. The key prefix is similar to a directory @@ -8883,6 +9330,54 @@ func (s *SNSAction) SetTopicArn(v string) *SNSAction { return s } +// Contains the topic ARN associated with an Amazon Simple Notification Service +// (Amazon SNS) event destination. +// +// Event destinations, such as Amazon SNS, are associated with configuration +// sets, which enable you to publish email sending events. For information about +// using configuration sets, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html). +// Please also see https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SNSDestination +type SNSDestination struct { + _ struct{} `type:"structure"` + + // The ARN of the Amazon SNS topic that email sending events will be published + // to. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. + // For more information about Amazon SNS topics, see the Amazon SNS Developer + // Guide (http://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html). + // + // TopicARN is a required field + TopicARN *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s SNSDestination) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SNSDestination) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SNSDestination) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SNSDestination"} + if s.TopicARN == nil { + invalidParams.Add(request.NewErrParamRequired("TopicARN")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTopicARN sets the TopicARN field's value. +func (s *SNSDestination) SetTopicARN(v string) *SNSDestination { + s.TopicARN = &v + return s +} + // Represents a request to send a bounce message to the sender of an email you // received through Amazon SES. // Please also see https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendBounceRequest @@ -9113,13 +9608,13 @@ type SendEmailInput struct { // to the message, each reply-to address will receive the reply. ReplyToAddresses []*string `type:"list"` - // The email address to which bounces and complaints are to be forwarded when - // feedback forwarding is enabled. If the message cannot be delivered to the - // recipient, then an error message will be returned from the recipient's ISP; - // this message will then be forwarded to the email address specified by the - // ReturnPath parameter. The ReturnPath parameter is never overwritten. This - // email address must be either individually verified with Amazon SES, or from - // a domain that has been verified with Amazon SES. + // The email address that bounces and complaints will be forwarded to when feedback + // forwarding is enabled. If the message cannot be delivered to the recipient, + // then an error message will be returned from the recipient's ISP; this message + // will then be forwarded to the email address specified by the ReturnPath parameter. + // The ReturnPath parameter is never overwritten. This email address must be + // either individually verified with Amazon SES, or from a domain that has been + // verified with Amazon SES. ReturnPath *string `type:"string"` // This parameter is used only for sending authorization. It is the ARN of the @@ -9149,7 +9644,7 @@ type SendEmailInput struct { // any other characters, then you must use MIME encoded-word syntax (RFC 2047) // instead of a literal string. MIME encoded-word syntax uses the following // form: =?charset?encoding?encoded-text?=. For more information, see RFC 2047 - // (http://tools.ietf.org/html/rfc2047). + // (https://tools.ietf.org/html/rfc2047). // // Source is a required field Source *string `type:"string" required:"true"` @@ -9336,6 +9831,10 @@ type SendRawEmailInput struct { // // * Must be base64-encoded. // + // * Per RFC 5321 (https://tools.ietf.org/html/rfc5321#section-4.5.3.1.6), + // the maximum length of each line of text, including the , must not + // exceed 1,000 characters. + // // RawMessage is a required field RawMessage *RawMessage `type:"structure" required:"true"` @@ -9364,7 +9863,7 @@ type SendRawEmailInput struct { // By default, the string must be 7-bit ASCII. If the text must contain any // other characters, then you must use MIME encoded-word syntax (RFC 2047) instead // of a literal string. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. - // For more information, see RFC 2047 (http://tools.ietf.org/html/rfc2047). + // For more information, see RFC 2047 (https://tools.ietf.org/html/rfc2047). // // If you specify the Source parameter and have feedback forwarding enabled, // then bounces and complaints will be sent to this email address. This takes @@ -10065,7 +10564,7 @@ func (s SetReceiptRulePositionOutput) GoString() string { type StopAction struct { _ struct{} `type:"structure"` - // The scope to which the Stop action applies. That is, what is being stopped. + // The name of the RuleSet that is being stopped. // // Scope is a required field Scope *string `type:"string" required:"true" enum:"StopScope"` @@ -10112,6 +10611,38 @@ func (s *StopAction) SetTopicArn(v string) *StopAction { return s } +// A domain that is used to redirect email recipients to an Amazon SES-operated +// domain. This domain captures open and click events generated by Amazon SES +// emails. +// +// For more information, see Configuring Custom Domains to Handle Open and Click +// Tracking (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html) +// in the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html). +// Please also see https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/TrackingOptions +type TrackingOptions struct { + _ struct{} `type:"structure"` + + // The custom subdomain that will be used to redirect email recipients to the + // Amazon SES event tracking domain. + CustomRedirectDomain *string `type:"string"` +} + +// String returns the string representation +func (s TrackingOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TrackingOptions) GoString() string { + return s.String() +} + +// SetCustomRedirectDomain sets the CustomRedirectDomain field's value. +func (s *TrackingOptions) SetCustomRedirectDomain(v string) *TrackingOptions { + s.CustomRedirectDomain = &v + return s +} + // Represents a request to update the event destination of a configuration set. // Configuration sets enable you to publish email sending events. For information // about using configuration sets, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html). @@ -10119,7 +10650,8 @@ func (s *StopAction) SetTopicArn(v string) *StopAction { type UpdateConfigurationSetEventDestinationInput struct { _ struct{} `type:"structure"` - // The name of the configuration set that you want to update. + // The name of the configuration set that contains the event destination that + // you want to update. // // ConfigurationSetName is a required field ConfigurationSetName *string `type:"string" required:"true"` @@ -10190,6 +10722,83 @@ func (s UpdateConfigurationSetEventDestinationOutput) GoString() string { return s.String() } +// Represents a request to update the tracking options for a configuration set. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetTrackingOptionsRequest +type UpdateConfigurationSetTrackingOptionsInput struct { + _ struct{} `type:"structure"` + + // The name of the configuration set for which you want to update the custom + // tracking domain. + // + // ConfigurationSetName is a required field + ConfigurationSetName *string `type:"string" required:"true"` + + // A domain that is used to redirect email recipients to an Amazon SES-operated + // domain. This domain captures open and click events generated by Amazon SES + // emails. + // + // For more information, see Configuring Custom Domains to Handle Open and Click + // Tracking (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html) + // in the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html). + // + // TrackingOptions is a required field + TrackingOptions *TrackingOptions `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateConfigurationSetTrackingOptionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateConfigurationSetTrackingOptionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateConfigurationSetTrackingOptionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateConfigurationSetTrackingOptionsInput"} + if s.ConfigurationSetName == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName")) + } + if s.TrackingOptions == nil { + invalidParams.Add(request.NewErrParamRequired("TrackingOptions")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfigurationSetName sets the ConfigurationSetName field's value. +func (s *UpdateConfigurationSetTrackingOptionsInput) SetConfigurationSetName(v string) *UpdateConfigurationSetTrackingOptionsInput { + s.ConfigurationSetName = &v + return s +} + +// SetTrackingOptions sets the TrackingOptions field's value. +func (s *UpdateConfigurationSetTrackingOptionsInput) SetTrackingOptions(v *TrackingOptions) *UpdateConfigurationSetTrackingOptionsInput { + s.TrackingOptions = v + return s +} + +// An empty element returned on a successful request. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/UpdateConfigurationSetTrackingOptionsResponse +type UpdateConfigurationSetTrackingOptionsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateConfigurationSetTrackingOptionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateConfigurationSetTrackingOptionsOutput) GoString() string { + return s.String() +} + // Represents a request to update a receipt rule. You use receipt rules to receive // email with Amazon SES. For more information, see the Amazon SES Developer // Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html). @@ -10202,7 +10811,7 @@ type UpdateReceiptRuleInput struct { // Rule is a required field Rule *ReceiptRule `type:"structure" required:"true"` - // The name of the receipt rule set to which the receipt rule belongs. + // The name of the receipt rule set that the receipt rule belongs to. // // RuleSetName is a required field RuleSetName *string `type:"string" required:"true"` @@ -10396,8 +11005,15 @@ func (s *VerifyDomainIdentityInput) SetDomain(v string) *VerifyDomainIdentityInp type VerifyDomainIdentityOutput struct { _ struct{} `type:"structure"` - // A TXT record that must be placed in the DNS settings for the domain, in order - // to complete domain verification. + // A TXT record that you must place in the DNS settings of the domain to complete + // domain verification with Amazon SES. + // + // As Amazon SES searches for the TXT record, the domain's verification status + // is "Pending". When Amazon SES detects the record, the domain's verification + // status changes to "Success". If Amazon SES is unable to detect the record + // within 72 hours, the domain's verification status changes to "Failed." In + // that case, if you still want to verify the domain, you must restart the verification + // process from the beginning. // // VerificationToken is a required field VerificationToken *string `type:"string" required:"true"` @@ -10626,6 +11242,9 @@ const ( const ( // ConfigurationSetAttributeEventDestinations is a ConfigurationSetAttribute enum value ConfigurationSetAttributeEventDestinations = "eventDestinations" + + // ConfigurationSetAttributeTrackingOptions is a ConfigurationSetAttribute enum value + ConfigurationSetAttributeTrackingOptions = "trackingOptions" ) const ( @@ -10648,6 +11267,9 @@ const ( // DimensionValueSourceEmailHeader is a DimensionValueSource enum value DimensionValueSourceEmailHeader = "emailHeader" + + // DimensionValueSourceLinkTag is a DimensionValueSource enum value + DimensionValueSourceLinkTag = "linkTag" ) const ( @@ -10682,6 +11304,12 @@ const ( // EventTypeDelivery is a EventType enum value EventTypeDelivery = "delivery" + + // EventTypeOpen is a EventType enum value + EventTypeOpen = "open" + + // EventTypeClick is a EventType enum value + EventTypeClick = "click" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/ses/doc.go b/vendor/github.com/aws/aws-sdk-go/service/ses/doc.go index 21c30ecba..ad81c43a5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ses/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ses/doc.go @@ -3,13 +3,13 @@ // Package ses provides the client and types for making API // requests to Amazon Simple Email Service. // -// This is the API Reference for Amazon Simple Email Service (Amazon SES). This -// documentation is intended to be used in conjunction with the Amazon SES Developer -// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html). +// This is the API Reference for Amazon Simple Email Service (https://aws.amazon.com/ses/) +// (Amazon SES). This documentation is intended to be used in conjunction with +// the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html). // // For a list of Amazon SES endpoints to use in service requests, see Regions // and Amazon SES (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/regions.html) -// in the Amazon SES Developer Guide. +// in the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html). // // See https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01 for more information on this service. // @@ -18,69 +18,17 @@ // // Using the Client // -// To use the client for Amazon Simple Email Service you will first need -// to create a new instance of it. +// To Amazon Simple Email Service with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := ses.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Simple Email Service client SES for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/ses/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CloneReceiptRuleSet(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CloneReceiptRuleSet result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CloneReceiptRuleSetWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package ses diff --git a/vendor/github.com/aws/aws-sdk-go/service/ses/errors.go b/vendor/github.com/aws/aws-sdk-go/service/ses/errors.go index ef5f15819..3cdc428bd 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ses/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ses/errors.go @@ -88,6 +88,13 @@ const ( // Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html). ErrCodeInvalidS3ConfigurationException = "InvalidS3Configuration" + // ErrCodeInvalidSNSDestinationException for service response error code + // "InvalidSNSDestination". + // + // Indicates that the Amazon Simple Notification Service (Amazon SNS) destination + // is invalid. See the error message for details. + ErrCodeInvalidSNSDestinationException = "InvalidSNSDestination" + // ErrCodeInvalidSnsTopicException for service response error code // "InvalidSnsTopic". // @@ -96,6 +103,17 @@ const ( // about giving permissions, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html). ErrCodeInvalidSnsTopicException = "InvalidSnsTopic" + // ErrCodeInvalidTrackingOptionsException for service response error code + // "InvalidTrackingOptions". + // + // Indicates that the custom domain to be used for open and click tracking redirects + // is invalid. This error appears most often in the following situations: + // + // * When the tracking domain you specified is not verified in Amazon SES. + // + // * When the tracking domain you specified is not a valid domain or subdomain. + ErrCodeInvalidTrackingOptionsException = "InvalidTrackingOptions" + // ErrCodeLimitExceededException for service response error code // "LimitExceeded". // @@ -130,4 +148,17 @@ const ( // // Indicates that the provided receipt rule set does not exist. ErrCodeRuleSetDoesNotExistException = "RuleSetDoesNotExist" + + // ErrCodeTrackingOptionsAlreadyExistsException for service response error code + // "TrackingOptionsAlreadyExistsException". + // + // Indicates that the configuration set you specified already contains a TrackingOptions + // object. + ErrCodeTrackingOptionsAlreadyExistsException = "TrackingOptionsAlreadyExistsException" + + // ErrCodeTrackingOptionsDoesNotExistException for service response error code + // "TrackingOptionsDoesNotExistException". + // + // Indicates that the TrackingOptions object you specified does not exist. + ErrCodeTrackingOptionsDoesNotExistException = "TrackingOptionsDoesNotExistException" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/ses/sesiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/ses/sesiface/interface.go index deaf060c7..32bb28d01 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ses/sesiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ses/sesiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Simple Email Service. @@ -72,6 +72,10 @@ type SESAPI interface { CreateConfigurationSetEventDestinationWithContext(aws.Context, *ses.CreateConfigurationSetEventDestinationInput, ...request.Option) (*ses.CreateConfigurationSetEventDestinationOutput, error) CreateConfigurationSetEventDestinationRequest(*ses.CreateConfigurationSetEventDestinationInput) (*request.Request, *ses.CreateConfigurationSetEventDestinationOutput) + CreateConfigurationSetTrackingOptions(*ses.CreateConfigurationSetTrackingOptionsInput) (*ses.CreateConfigurationSetTrackingOptionsOutput, error) + CreateConfigurationSetTrackingOptionsWithContext(aws.Context, *ses.CreateConfigurationSetTrackingOptionsInput, ...request.Option) (*ses.CreateConfigurationSetTrackingOptionsOutput, error) + CreateConfigurationSetTrackingOptionsRequest(*ses.CreateConfigurationSetTrackingOptionsInput) (*request.Request, *ses.CreateConfigurationSetTrackingOptionsOutput) + CreateReceiptFilter(*ses.CreateReceiptFilterInput) (*ses.CreateReceiptFilterOutput, error) CreateReceiptFilterWithContext(aws.Context, *ses.CreateReceiptFilterInput, ...request.Option) (*ses.CreateReceiptFilterOutput, error) CreateReceiptFilterRequest(*ses.CreateReceiptFilterInput) (*request.Request, *ses.CreateReceiptFilterOutput) @@ -92,6 +96,10 @@ type SESAPI interface { DeleteConfigurationSetEventDestinationWithContext(aws.Context, *ses.DeleteConfigurationSetEventDestinationInput, ...request.Option) (*ses.DeleteConfigurationSetEventDestinationOutput, error) DeleteConfigurationSetEventDestinationRequest(*ses.DeleteConfigurationSetEventDestinationInput) (*request.Request, *ses.DeleteConfigurationSetEventDestinationOutput) + DeleteConfigurationSetTrackingOptions(*ses.DeleteConfigurationSetTrackingOptionsInput) (*ses.DeleteConfigurationSetTrackingOptionsOutput, error) + DeleteConfigurationSetTrackingOptionsWithContext(aws.Context, *ses.DeleteConfigurationSetTrackingOptionsInput, ...request.Option) (*ses.DeleteConfigurationSetTrackingOptionsOutput, error) + DeleteConfigurationSetTrackingOptionsRequest(*ses.DeleteConfigurationSetTrackingOptionsInput) (*request.Request, *ses.DeleteConfigurationSetTrackingOptionsOutput) + DeleteIdentity(*ses.DeleteIdentityInput) (*ses.DeleteIdentityOutput, error) DeleteIdentityWithContext(aws.Context, *ses.DeleteIdentityInput, ...request.Option) (*ses.DeleteIdentityOutput, error) DeleteIdentityRequest(*ses.DeleteIdentityInput) (*request.Request, *ses.DeleteIdentityOutput) @@ -239,6 +247,10 @@ type SESAPI interface { UpdateConfigurationSetEventDestinationWithContext(aws.Context, *ses.UpdateConfigurationSetEventDestinationInput, ...request.Option) (*ses.UpdateConfigurationSetEventDestinationOutput, error) UpdateConfigurationSetEventDestinationRequest(*ses.UpdateConfigurationSetEventDestinationInput) (*request.Request, *ses.UpdateConfigurationSetEventDestinationOutput) + UpdateConfigurationSetTrackingOptions(*ses.UpdateConfigurationSetTrackingOptionsInput) (*ses.UpdateConfigurationSetTrackingOptionsOutput, error) + UpdateConfigurationSetTrackingOptionsWithContext(aws.Context, *ses.UpdateConfigurationSetTrackingOptionsInput, ...request.Option) (*ses.UpdateConfigurationSetTrackingOptionsOutput, error) + UpdateConfigurationSetTrackingOptionsRequest(*ses.UpdateConfigurationSetTrackingOptionsInput) (*request.Request, *ses.UpdateConfigurationSetTrackingOptionsOutput) + UpdateReceiptRule(*ses.UpdateReceiptRuleInput) (*ses.UpdateReceiptRuleOutput, error) UpdateReceiptRuleWithContext(aws.Context, *ses.UpdateReceiptRuleInput, ...request.Option) (*ses.UpdateReceiptRuleOutput, error) UpdateReceiptRuleRequest(*ses.UpdateReceiptRuleInput) (*request.Request, *ses.UpdateReceiptRuleOutput) diff --git a/vendor/github.com/aws/aws-sdk-go/service/ses/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/ses/waiters.go index 6597b6b77..6a78874fe 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ses/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ses/waiters.go @@ -11,7 +11,7 @@ import ( // WaitUntilIdentityExists uses the Amazon SES API operation // GetIdentityVerificationAttributes to wait for a condition to be met before returning. -// If the condition is not meet within the max attempt window an error will +// If the condition is not met within the max attempt window, an error will // be returned. func (c *SES) WaitUntilIdentityExists(input *GetIdentityVerificationAttributesInput) error { return c.WaitUntilIdentityExistsWithContext(aws.BackgroundContext(), input) diff --git a/vendor/github.com/aws/aws-sdk-go/service/sfn/api.go b/vendor/github.com/aws/aws-sdk-go/service/sfn/api.go index 57f442379..4edca8f57 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sfn/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sfn/api.go @@ -14,19 +14,18 @@ const opCreateActivity = "CreateActivity" // CreateActivityRequest generates a "aws/request.Request" representing the // client's request for the CreateActivity operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateActivity for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateActivity method directly -// instead. +// See CreateActivity for more information on using the CreateActivity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateActivityRequest method. // req, resp := client.CreateActivityRequest(params) @@ -98,19 +97,18 @@ const opCreateStateMachine = "CreateStateMachine" // CreateStateMachineRequest generates a "aws/request.Request" representing the // client's request for the CreateStateMachine operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateStateMachine for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateStateMachine method directly -// instead. +// See CreateStateMachine for more information on using the CreateStateMachine +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateStateMachineRequest method. // req, resp := client.CreateStateMachineRequest(params) @@ -195,19 +193,18 @@ const opDeleteActivity = "DeleteActivity" // DeleteActivityRequest generates a "aws/request.Request" representing the // client's request for the DeleteActivity operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteActivity for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteActivity method directly -// instead. +// See DeleteActivity for more information on using the DeleteActivity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteActivityRequest method. // req, resp := client.DeleteActivityRequest(params) @@ -275,19 +272,18 @@ const opDeleteStateMachine = "DeleteStateMachine" // DeleteStateMachineRequest generates a "aws/request.Request" representing the // client's request for the DeleteStateMachine operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteStateMachine for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteStateMachine method directly -// instead. +// See DeleteStateMachine for more information on using the DeleteStateMachine +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteStateMachineRequest method. // req, resp := client.DeleteStateMachineRequest(params) @@ -356,19 +352,18 @@ const opDescribeActivity = "DescribeActivity" // DescribeActivityRequest generates a "aws/request.Request" representing the // client's request for the DescribeActivity operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeActivity for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeActivity method directly -// instead. +// See DescribeActivity for more information on using the DescribeActivity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeActivityRequest method. // req, resp := client.DescribeActivityRequest(params) @@ -439,19 +434,18 @@ const opDescribeExecution = "DescribeExecution" // DescribeExecutionRequest generates a "aws/request.Request" representing the // client's request for the DescribeExecution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeExecution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeExecution method directly -// instead. +// See DescribeExecution for more information on using the DescribeExecution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeExecutionRequest method. // req, resp := client.DescribeExecutionRequest(params) @@ -522,19 +516,18 @@ const opDescribeStateMachine = "DescribeStateMachine" // DescribeStateMachineRequest generates a "aws/request.Request" representing the // client's request for the DescribeStateMachine operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeStateMachine for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeStateMachine method directly -// instead. +// See DescribeStateMachine for more information on using the DescribeStateMachine +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeStateMachineRequest method. // req, resp := client.DescribeStateMachineRequest(params) @@ -605,19 +598,18 @@ const opGetActivityTask = "GetActivityTask" // GetActivityTaskRequest generates a "aws/request.Request" representing the // client's request for the GetActivityTask operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetActivityTask for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetActivityTask method directly -// instead. +// See GetActivityTask for more information on using the GetActivityTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetActivityTaskRequest method. // req, resp := client.GetActivityTaskRequest(params) @@ -701,19 +693,18 @@ const opGetExecutionHistory = "GetExecutionHistory" // GetExecutionHistoryRequest generates a "aws/request.Request" representing the // client's request for the GetExecutionHistory operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetExecutionHistory for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetExecutionHistory method directly -// instead. +// See GetExecutionHistory for more information on using the GetExecutionHistory +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetExecutionHistoryRequest method. // req, resp := client.GetExecutionHistoryRequest(params) @@ -847,19 +838,18 @@ const opListActivities = "ListActivities" // ListActivitiesRequest generates a "aws/request.Request" representing the // client's request for the ListActivities operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListActivities for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListActivities method directly -// instead. +// See ListActivities for more information on using the ListActivities +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListActivitiesRequest method. // req, resp := client.ListActivitiesRequest(params) @@ -985,19 +975,18 @@ const opListExecutions = "ListExecutions" // ListExecutionsRequest generates a "aws/request.Request" representing the // client's request for the ListExecutions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListExecutions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListExecutions method directly -// instead. +// See ListExecutions for more information on using the ListExecutions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListExecutionsRequest method. // req, resp := client.ListExecutionsRequest(params) @@ -1129,19 +1118,18 @@ const opListStateMachines = "ListStateMachines" // ListStateMachinesRequest generates a "aws/request.Request" representing the // client's request for the ListStateMachines operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListStateMachines for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListStateMachines method directly -// instead. +// See ListStateMachines for more information on using the ListStateMachines +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListStateMachinesRequest method. // req, resp := client.ListStateMachinesRequest(params) @@ -1267,19 +1255,18 @@ const opSendTaskFailure = "SendTaskFailure" // SendTaskFailureRequest generates a "aws/request.Request" representing the // client's request for the SendTaskFailure operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SendTaskFailure for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SendTaskFailure method directly -// instead. +// See SendTaskFailure for more information on using the SendTaskFailure +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SendTaskFailureRequest method. // req, resp := client.SendTaskFailureRequest(params) @@ -1351,19 +1338,18 @@ const opSendTaskHeartbeat = "SendTaskHeartbeat" // SendTaskHeartbeatRequest generates a "aws/request.Request" representing the // client's request for the SendTaskHeartbeat operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SendTaskHeartbeat for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SendTaskHeartbeat method directly -// instead. +// See SendTaskHeartbeat for more information on using the SendTaskHeartbeat +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SendTaskHeartbeatRequest method. // req, resp := client.SendTaskHeartbeatRequest(params) @@ -1447,19 +1433,18 @@ const opSendTaskSuccess = "SendTaskSuccess" // SendTaskSuccessRequest generates a "aws/request.Request" representing the // client's request for the SendTaskSuccess operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SendTaskSuccess for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SendTaskSuccess method directly -// instead. +// See SendTaskSuccess for more information on using the SendTaskSuccess +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SendTaskSuccessRequest method. // req, resp := client.SendTaskSuccessRequest(params) @@ -1535,19 +1520,18 @@ const opStartExecution = "StartExecution" // StartExecutionRequest generates a "aws/request.Request" representing the // client's request for the StartExecution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartExecution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartExecution method directly -// instead. +// See StartExecution for more information on using the StartExecution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartExecutionRequest method. // req, resp := client.StartExecutionRequest(params) @@ -1634,19 +1618,18 @@ const opStopExecution = "StopExecution" // StopExecutionRequest generates a "aws/request.Request" representing the // client's request for the StopExecution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StopExecution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StopExecution method directly -// instead. +// See StopExecution for more information on using the StopExecution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StopExecutionRequest method. // req, resp := client.StopExecutionRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/sfn/doc.go b/vendor/github.com/aws/aws-sdk-go/service/sfn/doc.go index 09e2ce50c..eb36eb6e9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sfn/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sfn/doc.go @@ -27,69 +27,17 @@ // // Using the Client // -// To use the client for AWS Step Functions you will first need -// to create a new instance of it. +// To AWS Step Functions with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := sfn.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Step Functions client SFN for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/sfn/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CreateActivity(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CreateActivity result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CreateActivityWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package sfn diff --git a/vendor/github.com/aws/aws-sdk-go/service/sfn/sfniface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/sfn/sfniface/interface.go index f4d043936..34b5969d6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sfn/sfniface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sfn/sfniface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Step Functions. diff --git a/vendor/github.com/aws/aws-sdk-go/service/shield/api.go b/vendor/github.com/aws/aws-sdk-go/service/shield/api.go index f25fe1890..7446db223 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/shield/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/shield/api.go @@ -14,19 +14,18 @@ const opCreateProtection = "CreateProtection" // CreateProtectionRequest generates a "aws/request.Request" representing the // client's request for the CreateProtection operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateProtection for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateProtection method directly -// instead. +// See CreateProtection for more information on using the CreateProtection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateProtectionRequest method. // req, resp := client.CreateProtectionRequest(params) @@ -118,19 +117,18 @@ const opCreateSubscription = "CreateSubscription" // CreateSubscriptionRequest generates a "aws/request.Request" representing the // client's request for the CreateSubscription operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateSubscription for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateSubscription method directly -// instead. +// See CreateSubscription for more information on using the CreateSubscription +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateSubscriptionRequest method. // req, resp := client.CreateSubscriptionRequest(params) @@ -202,19 +200,18 @@ const opDeleteProtection = "DeleteProtection" // DeleteProtectionRequest generates a "aws/request.Request" representing the // client's request for the DeleteProtection operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteProtection for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteProtection method directly -// instead. +// See DeleteProtection for more information on using the DeleteProtection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteProtectionRequest method. // req, resp := client.DeleteProtectionRequest(params) @@ -290,19 +287,18 @@ const opDeleteSubscription = "DeleteSubscription" // DeleteSubscriptionRequest generates a "aws/request.Request" representing the // client's request for the DeleteSubscription operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSubscription for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSubscription method directly -// instead. +// See DeleteSubscription for more information on using the DeleteSubscription +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSubscriptionRequest method. // req, resp := client.DeleteSubscriptionRequest(params) @@ -378,19 +374,18 @@ const opDescribeAttack = "DescribeAttack" // DescribeAttackRequest generates a "aws/request.Request" representing the // client's request for the DescribeAttack operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAttack for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAttack method directly -// instead. +// See DescribeAttack for more information on using the DescribeAttack +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAttackRequest method. // req, resp := client.DescribeAttackRequest(params) @@ -462,19 +457,18 @@ const opDescribeProtection = "DescribeProtection" // DescribeProtectionRequest generates a "aws/request.Request" representing the // client's request for the DescribeProtection operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeProtection for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeProtection method directly -// instead. +// See DescribeProtection for more information on using the DescribeProtection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeProtectionRequest method. // req, resp := client.DescribeProtectionRequest(params) @@ -546,19 +540,18 @@ const opDescribeSubscription = "DescribeSubscription" // DescribeSubscriptionRequest generates a "aws/request.Request" representing the // client's request for the DescribeSubscription operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSubscription for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSubscription method directly -// instead. +// See DescribeSubscription for more information on using the DescribeSubscription +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSubscriptionRequest method. // req, resp := client.DescribeSubscriptionRequest(params) @@ -630,19 +623,18 @@ const opListAttacks = "ListAttacks" // ListAttacksRequest generates a "aws/request.Request" representing the // client's request for the ListAttacks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAttacks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAttacks method directly -// instead. +// See ListAttacks for more information on using the ListAttacks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAttacksRequest method. // req, resp := client.ListAttacksRequest(params) @@ -719,19 +711,18 @@ const opListProtections = "ListProtections" // ListProtectionsRequest generates a "aws/request.Request" representing the // client's request for the ListProtections operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListProtections for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListProtections method directly -// instead. +// See ListProtections for more information on using the ListProtections +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListProtectionsRequest method. // req, resp := client.ListProtectionsRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/shield/doc.go b/vendor/github.com/aws/aws-sdk-go/service/shield/doc.go index 056acf69d..f9a6916dd 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/shield/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/shield/doc.go @@ -16,69 +16,17 @@ // // Using the Client // -// To use the client for AWS Shield you will first need -// to create a new instance of it. +// To AWS Shield with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := shield.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Shield client Shield for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/shield/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CreateProtection(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CreateProtection result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CreateProtectionWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package shield diff --git a/vendor/github.com/aws/aws-sdk-go/service/shield/shieldiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/shield/shieldiface/interface.go index 1ddd18d0c..8e0eebab9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/shield/shieldiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/shield/shieldiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Shield. diff --git a/vendor/github.com/aws/aws-sdk-go/service/simpledb/api.go b/vendor/github.com/aws/aws-sdk-go/service/simpledb/api.go index 9bc84823c..24dc68744 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/simpledb/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/simpledb/api.go @@ -16,19 +16,18 @@ const opBatchDeleteAttributes = "BatchDeleteAttributes" // BatchDeleteAttributesRequest generates a "aws/request.Request" representing the // client's request for the BatchDeleteAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See BatchDeleteAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the BatchDeleteAttributes method directly -// instead. +// See BatchDeleteAttributes for more information on using the BatchDeleteAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the BatchDeleteAttributesRequest method. // req, resp := client.BatchDeleteAttributesRequest(params) @@ -113,19 +112,18 @@ const opBatchPutAttributes = "BatchPutAttributes" // BatchPutAttributesRequest generates a "aws/request.Request" representing the // client's request for the BatchPutAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See BatchPutAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the BatchPutAttributes method directly -// instead. +// See BatchPutAttributes for more information on using the BatchPutAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the BatchPutAttributesRequest method. // req, resp := client.BatchPutAttributesRequest(params) @@ -258,19 +256,18 @@ const opCreateDomain = "CreateDomain" // CreateDomainRequest generates a "aws/request.Request" representing the // client's request for the CreateDomain operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDomain for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDomain method directly -// instead. +// See CreateDomain for more information on using the CreateDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDomainRequest method. // req, resp := client.CreateDomainRequest(params) @@ -351,19 +348,18 @@ const opDeleteAttributes = "DeleteAttributes" // DeleteAttributesRequest generates a "aws/request.Request" representing the // client's request for the DeleteAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteAttributes method directly -// instead. +// See DeleteAttributes for more information on using the DeleteAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteAttributesRequest method. // req, resp := client.DeleteAttributesRequest(params) @@ -449,19 +445,18 @@ const opDeleteDomain = "DeleteDomain" // DeleteDomainRequest generates a "aws/request.Request" representing the // client's request for the DeleteDomain operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDomain for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDomain method directly -// instead. +// See DeleteDomain for more information on using the DeleteDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDomainRequest method. // req, resp := client.DeleteDomainRequest(params) @@ -533,19 +528,18 @@ const opDomainMetadata = "DomainMetadata" // DomainMetadataRequest generates a "aws/request.Request" representing the // client's request for the DomainMetadata operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DomainMetadata for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DomainMetadata method directly -// instead. +// See DomainMetadata for more information on using the DomainMetadata +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DomainMetadataRequest method. // req, resp := client.DomainMetadataRequest(params) @@ -615,19 +609,18 @@ const opGetAttributes = "GetAttributes" // GetAttributesRequest generates a "aws/request.Request" representing the // client's request for the GetAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetAttributes method directly -// instead. +// See GetAttributes for more information on using the GetAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetAttributesRequest method. // req, resp := client.GetAttributesRequest(params) @@ -707,19 +700,18 @@ const opListDomains = "ListDomains" // ListDomainsRequest generates a "aws/request.Request" representing the // client's request for the ListDomains operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDomains for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDomains method directly -// instead. +// See ListDomains for more information on using the ListDomains +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDomainsRequest method. // req, resp := client.ListDomainsRequest(params) @@ -848,19 +840,18 @@ const opPutAttributes = "PutAttributes" // PutAttributesRequest generates a "aws/request.Request" representing the // client's request for the PutAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutAttributes method directly -// instead. +// See PutAttributes for more information on using the PutAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutAttributesRequest method. // req, resp := client.PutAttributesRequest(params) @@ -975,19 +966,18 @@ const opSelect = "Select" // SelectRequest generates a "aws/request.Request" representing the // client's request for the Select operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See Select for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the Select method directly -// instead. +// See Select for more information on using the Select +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SelectRequest method. // req, resp := client.SelectRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/simpledb/doc.go b/vendor/github.com/aws/aws-sdk-go/service/simpledb/doc.go index cb06efc4a..dba450063 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/simpledb/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/simpledb/doc.go @@ -24,69 +24,17 @@ // // Using the Client // -// To use the client for Amazon SimpleDB you will first need -// to create a new instance of it. +// To Amazon SimpleDB with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := simpledb.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon SimpleDB client SimpleDB for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/simpledb/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.BatchDeleteAttributes(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("BatchDeleteAttributes result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.BatchDeleteAttributesWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package simpledb diff --git a/vendor/github.com/aws/aws-sdk-go/service/simpledb/simpledbiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/simpledb/simpledbiface/interface.go index e84f0ce77..7f9c71551 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/simpledb/simpledbiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/simpledb/simpledbiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon SimpleDB. diff --git a/vendor/github.com/aws/aws-sdk-go/service/simpledb/unmarshal_error_leak_test.go b/vendor/github.com/aws/aws-sdk-go/service/simpledb/unmarshal_error_leak_test.go index 340791db1..8f5798f33 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/simpledb/unmarshal_error_leak_test.go +++ b/vendor/github.com/aws/aws-sdk-go/service/simpledb/unmarshal_error_leak_test.go @@ -1,7 +1,6 @@ package simpledb import ( - "github.com/stretchr/testify/assert" "net/http" "testing" @@ -27,7 +26,13 @@ func TestUnmarhsalErrorLeak(t *testing.T) { reader := req.HTTPResponse.Body.(*awstesting.ReadCloser) unmarshalError(req) - assert.NotNil(t, req.Error) - assert.Equal(t, reader.Closed, true) - assert.Equal(t, reader.Size, 0) + if req.Error == nil { + t.Errorf("expect error, got nil") + } + if !reader.Closed { + t.Errorf("expect closed, was not") + } + if e, a := 0, reader.Size; e != a { + t.Errorf("expect %v, got %v", e, a) + } } diff --git a/vendor/github.com/aws/aws-sdk-go/service/simpledb/unmarshall_error_test.go b/vendor/github.com/aws/aws-sdk-go/service/simpledb/unmarshall_error_test.go index 53f35a2d5..d4ceb5aed 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/simpledb/unmarshall_error_test.go +++ b/vendor/github.com/aws/aws-sdk-go/service/simpledb/unmarshall_error_test.go @@ -6,8 +6,6 @@ import ( "net/http" "testing" - "github.com/stretchr/testify/assert" - "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/aws/request" @@ -45,9 +43,15 @@ func TestStatusCodeError(t *testing.T) { DomainName: aws.String("test-domain"), }) - assert.Error(t, err) - assert.Equal(t, test.code, err.(awserr.Error).Code()) - assert.Equal(t, test.message, err.(awserr.Error).Message()) + if err == nil { + t.Fatalf("expect error, got nil") + } + if e, a := test.code, err.(awserr.Error).Code(); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := test.message, err.(awserr.Error).Message(); e != a { + t.Errorf("expect %v, got %v", e, a) + } } } @@ -111,12 +115,22 @@ func TestResponseError(t *testing.T) { DomainName: aws.String("test-domain"), }) - assert.Error(t, err) - assert.Equal(t, test.code, err.(awserr.Error).Code()) - assert.Equal(t, test.message, err.(awserr.Error).Message()) + if err == nil { + t.Fatalf("expect error, got none") + } + if e, a := test.code, err.(awserr.Error).Code(); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := test.message, err.(awserr.Error).Message(); e != a { + t.Errorf("expect %v, got %v", e, a) + } if len(test.errors) > 0 { - assert.Equal(t, test.requestID, err.(awserr.RequestFailure).RequestID()) - assert.Equal(t, test.scode, err.(awserr.RequestFailure).StatusCode()) + if e, a := test.requestID, err.(awserr.RequestFailure).RequestID(); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := test.scode, err.(awserr.RequestFailure).StatusCode(); e != a { + t.Errorf("expect %v, got %v", e, a) + } } } } diff --git a/vendor/github.com/aws/aws-sdk-go/service/sms/api.go b/vendor/github.com/aws/aws-sdk-go/service/sms/api.go index e8269f58d..2f124b841 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sms/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sms/api.go @@ -14,19 +14,18 @@ const opCreateReplicationJob = "CreateReplicationJob" // CreateReplicationJobRequest generates a "aws/request.Request" representing the // client's request for the CreateReplicationJob operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateReplicationJob for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateReplicationJob method directly -// instead. +// See CreateReplicationJob for more information on using the CreateReplicationJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateReplicationJobRequest method. // req, resp := client.CreateReplicationJobRequest(params) @@ -123,19 +122,18 @@ const opDeleteReplicationJob = "DeleteReplicationJob" // DeleteReplicationJobRequest generates a "aws/request.Request" representing the // client's request for the DeleteReplicationJob operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteReplicationJob for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteReplicationJob method directly -// instead. +// See DeleteReplicationJob for more information on using the DeleteReplicationJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteReplicationJobRequest method. // req, resp := client.DeleteReplicationJobRequest(params) @@ -222,19 +220,18 @@ const opDeleteServerCatalog = "DeleteServerCatalog" // DeleteServerCatalogRequest generates a "aws/request.Request" representing the // client's request for the DeleteServerCatalog operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteServerCatalog for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteServerCatalog method directly -// instead. +// See DeleteServerCatalog for more information on using the DeleteServerCatalog +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteServerCatalogRequest method. // req, resp := client.DeleteServerCatalogRequest(params) @@ -317,19 +314,18 @@ const opDisassociateConnector = "DisassociateConnector" // DisassociateConnectorRequest generates a "aws/request.Request" representing the // client's request for the DisassociateConnector operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisassociateConnector for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisassociateConnector method directly -// instead. +// See DisassociateConnector for more information on using the DisassociateConnector +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisassociateConnectorRequest method. // req, resp := client.DisassociateConnectorRequest(params) @@ -411,19 +407,18 @@ const opGetConnectors = "GetConnectors" // GetConnectorsRequest generates a "aws/request.Request" representing the // client's request for the GetConnectors operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetConnectors for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetConnectors method directly -// instead. +// See GetConnectors for more information on using the GetConnectors +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetConnectorsRequest method. // req, resp := client.GetConnectorsRequest(params) @@ -548,19 +543,18 @@ const opGetReplicationJobs = "GetReplicationJobs" // GetReplicationJobsRequest generates a "aws/request.Request" representing the // client's request for the GetReplicationJobs operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetReplicationJobs for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetReplicationJobs method directly -// instead. +// See GetReplicationJobs for more information on using the GetReplicationJobs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetReplicationJobsRequest method. // req, resp := client.GetReplicationJobsRequest(params) @@ -694,19 +688,18 @@ const opGetReplicationRuns = "GetReplicationRuns" // GetReplicationRunsRequest generates a "aws/request.Request" representing the // client's request for the GetReplicationRuns operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetReplicationRuns for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetReplicationRuns method directly -// instead. +// See GetReplicationRuns for more information on using the GetReplicationRuns +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetReplicationRunsRequest method. // req, resp := client.GetReplicationRunsRequest(params) @@ -840,19 +833,18 @@ const opGetServers = "GetServers" // GetServersRequest generates a "aws/request.Request" representing the // client's request for the GetServers operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetServers for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetServers method directly -// instead. +// See GetServers for more information on using the GetServers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetServersRequest method. // req, resp := client.GetServersRequest(params) @@ -977,19 +969,18 @@ const opImportServerCatalog = "ImportServerCatalog" // ImportServerCatalogRequest generates a "aws/request.Request" representing the // client's request for the ImportServerCatalog operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ImportServerCatalog for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ImportServerCatalog method directly -// instead. +// See ImportServerCatalog for more information on using the ImportServerCatalog +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ImportServerCatalogRequest method. // req, resp := client.ImportServerCatalogRequest(params) @@ -1077,19 +1068,18 @@ const opStartOnDemandReplicationRun = "StartOnDemandReplicationRun" // StartOnDemandReplicationRunRequest generates a "aws/request.Request" representing the // client's request for the StartOnDemandReplicationRun operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartOnDemandReplicationRun for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartOnDemandReplicationRun method directly -// instead. +// See StartOnDemandReplicationRun for more information on using the StartOnDemandReplicationRun +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartOnDemandReplicationRunRequest method. // req, resp := client.StartOnDemandReplicationRunRequest(params) @@ -1177,19 +1167,18 @@ const opUpdateReplicationJob = "UpdateReplicationJob" // UpdateReplicationJobRequest generates a "aws/request.Request" representing the // client's request for the UpdateReplicationJob operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateReplicationJob for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateReplicationJob method directly -// instead. +// See UpdateReplicationJob for more information on using the UpdateReplicationJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateReplicationJobRequest method. // req, resp := client.UpdateReplicationJobRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/sms/doc.go b/vendor/github.com/aws/aws-sdk-go/service/sms/doc.go index b5cb2cb9a..5aa0443dc 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sms/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sms/doc.go @@ -13,69 +13,17 @@ // // Using the Client // -// To use the client for AWS Server Migration Service you will first need -// to create a new instance of it. +// To AWS Server Migration Service with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := sms.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Server Migration Service client SMS for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/sms/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CreateReplicationJob(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CreateReplicationJob result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CreateReplicationJobWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package sms diff --git a/vendor/github.com/aws/aws-sdk-go/service/sms/smsiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/sms/smsiface/interface.go index e6f1db1ba..109b9c42e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sms/smsiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sms/smsiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Server Migration Service. diff --git a/vendor/github.com/aws/aws-sdk-go/service/snowball/api.go b/vendor/github.com/aws/aws-sdk-go/service/snowball/api.go index 25fc00533..3cc0599ce 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/snowball/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/snowball/api.go @@ -15,19 +15,18 @@ const opCancelCluster = "CancelCluster" // CancelClusterRequest generates a "aws/request.Request" representing the // client's request for the CancelCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CancelCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CancelCluster method directly -// instead. +// See CancelCluster for more information on using the CancelCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CancelClusterRequest method. // req, resp := client.CancelClusterRequest(params) @@ -106,19 +105,18 @@ const opCancelJob = "CancelJob" // CancelJobRequest generates a "aws/request.Request" representing the // client's request for the CancelJob operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CancelJob for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CancelJob method directly -// instead. +// See CancelJob for more information on using the CancelJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CancelJobRequest method. // req, resp := client.CancelJobRequest(params) @@ -198,19 +196,18 @@ const opCreateAddress = "CreateAddress" // CreateAddressRequest generates a "aws/request.Request" representing the // client's request for the CreateAddress operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateAddress for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateAddress method directly -// instead. +// See CreateAddress for more information on using the CreateAddress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateAddressRequest method. // req, resp := client.CreateAddressRequest(params) @@ -287,19 +284,18 @@ const opCreateCluster = "CreateCluster" // CreateClusterRequest generates a "aws/request.Request" representing the // client's request for the CreateCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateCluster method directly -// instead. +// See CreateCluster for more information on using the CreateCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateClusterRequest method. // req, resp := client.CreateClusterRequest(params) @@ -379,19 +375,18 @@ const opCreateJob = "CreateJob" // CreateJobRequest generates a "aws/request.Request" representing the // client's request for the CreateJob operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateJob for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateJob method directly -// instead. +// See CreateJob for more information on using the CreateJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateJobRequest method. // req, resp := client.CreateJobRequest(params) @@ -479,19 +474,18 @@ const opDescribeAddress = "DescribeAddress" // DescribeAddressRequest generates a "aws/request.Request" representing the // client's request for the DescribeAddress operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAddress for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAddress method directly -// instead. +// See DescribeAddress for more information on using the DescribeAddress +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAddressRequest method. // req, resp := client.DescribeAddressRequest(params) @@ -561,19 +555,18 @@ const opDescribeAddresses = "DescribeAddresses" // DescribeAddressesRequest generates a "aws/request.Request" representing the // client's request for the DescribeAddresses operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAddresses for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAddresses method directly -// instead. +// See DescribeAddresses for more information on using the DescribeAddresses +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAddressesRequest method. // req, resp := client.DescribeAddressesRequest(params) @@ -704,19 +697,18 @@ const opDescribeCluster = "DescribeCluster" // DescribeClusterRequest generates a "aws/request.Request" representing the // client's request for the DescribeCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeCluster method directly -// instead. +// See DescribeCluster for more information on using the DescribeCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeClusterRequest method. // req, resp := client.DescribeClusterRequest(params) @@ -786,19 +778,18 @@ const opDescribeJob = "DescribeJob" // DescribeJobRequest generates a "aws/request.Request" representing the // client's request for the DescribeJob operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeJob for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeJob method directly -// instead. +// See DescribeJob for more information on using the DescribeJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeJobRequest method. // req, resp := client.DescribeJobRequest(params) @@ -868,19 +859,18 @@ const opGetJobManifest = "GetJobManifest" // GetJobManifestRequest generates a "aws/request.Request" representing the // client's request for the GetJobManifest operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetJobManifest for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetJobManifest method directly -// instead. +// See GetJobManifest for more information on using the GetJobManifest +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetJobManifestRequest method. // req, resp := client.GetJobManifestRequest(params) @@ -970,19 +960,18 @@ const opGetJobUnlockCode = "GetJobUnlockCode" // GetJobUnlockCodeRequest generates a "aws/request.Request" representing the // client's request for the GetJobUnlockCode operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetJobUnlockCode for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetJobUnlockCode method directly -// instead. +// See GetJobUnlockCode for more information on using the GetJobUnlockCode +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetJobUnlockCodeRequest method. // req, resp := client.GetJobUnlockCodeRequest(params) @@ -1067,19 +1056,18 @@ const opGetSnowballUsage = "GetSnowballUsage" // GetSnowballUsageRequest generates a "aws/request.Request" representing the // client's request for the GetSnowballUsage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSnowballUsage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSnowballUsage method directly -// instead. +// See GetSnowballUsage for more information on using the GetSnowballUsage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSnowballUsageRequest method. // req, resp := client.GetSnowballUsageRequest(params) @@ -1146,19 +1134,18 @@ const opListClusterJobs = "ListClusterJobs" // ListClusterJobsRequest generates a "aws/request.Request" representing the // client's request for the ListClusterJobs operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListClusterJobs for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListClusterJobs method directly -// instead. +// See ListClusterJobs for more information on using the ListClusterJobs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListClusterJobsRequest method. // req, resp := client.ListClusterJobsRequest(params) @@ -1233,19 +1220,18 @@ const opListClusters = "ListClusters" // ListClustersRequest generates a "aws/request.Request" representing the // client's request for the ListClusters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListClusters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListClusters method directly -// instead. +// See ListClusters for more information on using the ListClusters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListClustersRequest method. // req, resp := client.ListClustersRequest(params) @@ -1316,19 +1302,18 @@ const opListJobs = "ListJobs" // ListJobsRequest generates a "aws/request.Request" representing the // client's request for the ListJobs operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListJobs for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListJobs method directly -// instead. +// See ListJobs for more information on using the ListJobs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListJobsRequest method. // req, resp := client.ListJobsRequest(params) @@ -1457,19 +1442,18 @@ const opUpdateCluster = "UpdateCluster" // UpdateClusterRequest generates a "aws/request.Request" representing the // client's request for the UpdateCluster operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateCluster for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateCluster method directly -// instead. +// See UpdateCluster for more information on using the UpdateCluster +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateClusterRequest method. // req, resp := client.UpdateClusterRequest(params) @@ -1554,19 +1538,18 @@ const opUpdateJob = "UpdateJob" // UpdateJobRequest generates a "aws/request.Request" representing the // client's request for the UpdateJob operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateJob for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateJob method directly -// instead. +// See UpdateJob for more information on using the UpdateJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateJobRequest method. // req, resp := client.UpdateJobRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/snowball/doc.go b/vendor/github.com/aws/aws-sdk-go/service/snowball/doc.go index c6765ec83..a8820a176 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/snowball/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/snowball/doc.go @@ -19,69 +19,17 @@ // // Using the Client // -// To use the client for Amazon Import/Export Snowball you will first need -// to create a new instance of it. +// To Amazon Import/Export Snowball with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := snowball.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Import/Export Snowball client Snowball for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/snowball/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CancelCluster(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CancelCluster result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CancelClusterWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package snowball diff --git a/vendor/github.com/aws/aws-sdk-go/service/snowball/snowballiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/snowball/snowballiface/interface.go index 2f1fca86f..4367eb500 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/snowball/snowballiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/snowball/snowballiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Import/Export Snowball. diff --git a/vendor/github.com/aws/aws-sdk-go/service/sns/api.go b/vendor/github.com/aws/aws-sdk-go/service/sns/api.go index d5664abfc..549cd044f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sns/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sns/api.go @@ -16,19 +16,18 @@ const opAddPermission = "AddPermission" // AddPermissionRequest generates a "aws/request.Request" representing the // client's request for the AddPermission operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddPermission for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddPermission method directly -// instead. +// See AddPermission for more information on using the AddPermission +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddPermissionRequest method. // req, resp := client.AddPermissionRequest(params) @@ -108,19 +107,18 @@ const opCheckIfPhoneNumberIsOptedOut = "CheckIfPhoneNumberIsOptedOut" // CheckIfPhoneNumberIsOptedOutRequest generates a "aws/request.Request" representing the // client's request for the CheckIfPhoneNumberIsOptedOut operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CheckIfPhoneNumberIsOptedOut for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CheckIfPhoneNumberIsOptedOut method directly -// instead. +// See CheckIfPhoneNumberIsOptedOut for more information on using the CheckIfPhoneNumberIsOptedOut +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CheckIfPhoneNumberIsOptedOutRequest method. // req, resp := client.CheckIfPhoneNumberIsOptedOutRequest(params) @@ -203,19 +201,18 @@ const opConfirmSubscription = "ConfirmSubscription" // ConfirmSubscriptionRequest generates a "aws/request.Request" representing the // client's request for the ConfirmSubscription operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ConfirmSubscription for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ConfirmSubscription method directly -// instead. +// See ConfirmSubscription for more information on using the ConfirmSubscription +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ConfirmSubscriptionRequest method. // req, resp := client.ConfirmSubscriptionRequest(params) @@ -299,19 +296,18 @@ const opCreatePlatformApplication = "CreatePlatformApplication" // CreatePlatformApplicationRequest generates a "aws/request.Request" representing the // client's request for the CreatePlatformApplication operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreatePlatformApplication for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreatePlatformApplication method directly -// instead. +// See CreatePlatformApplication for more information on using the CreatePlatformApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreatePlatformApplicationRequest method. // req, resp := client.CreatePlatformApplicationRequest(params) @@ -410,19 +406,18 @@ const opCreatePlatformEndpoint = "CreatePlatformEndpoint" // CreatePlatformEndpointRequest generates a "aws/request.Request" representing the // client's request for the CreatePlatformEndpoint operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreatePlatformEndpoint for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreatePlatformEndpoint method directly -// instead. +// See CreatePlatformEndpoint for more information on using the CreatePlatformEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreatePlatformEndpointRequest method. // req, resp := client.CreatePlatformEndpointRequest(params) @@ -512,19 +507,18 @@ const opCreateTopic = "CreateTopic" // CreateTopicRequest generates a "aws/request.Request" representing the // client's request for the CreateTopic operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateTopic for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateTopic method directly -// instead. +// See CreateTopic for more information on using the CreateTopic +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateTopicRequest method. // req, resp := client.CreateTopicRequest(params) @@ -605,19 +599,18 @@ const opDeleteEndpoint = "DeleteEndpoint" // DeleteEndpointRequest generates a "aws/request.Request" representing the // client's request for the DeleteEndpoint operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteEndpoint for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteEndpoint method directly -// instead. +// See DeleteEndpoint for more information on using the DeleteEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteEndpointRequest method. // req, resp := client.DeleteEndpointRequest(params) @@ -698,19 +691,18 @@ const opDeletePlatformApplication = "DeletePlatformApplication" // DeletePlatformApplicationRequest generates a "aws/request.Request" representing the // client's request for the DeletePlatformApplication operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeletePlatformApplication for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeletePlatformApplication method directly -// instead. +// See DeletePlatformApplication for more information on using the DeletePlatformApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeletePlatformApplicationRequest method. // req, resp := client.DeletePlatformApplicationRequest(params) @@ -788,19 +780,18 @@ const opDeleteTopic = "DeleteTopic" // DeleteTopicRequest generates a "aws/request.Request" representing the // client's request for the DeleteTopic operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteTopic for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteTopic method directly -// instead. +// See DeleteTopic for more information on using the DeleteTopic +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteTopicRequest method. // req, resp := client.DeleteTopicRequest(params) @@ -882,19 +873,18 @@ const opGetEndpointAttributes = "GetEndpointAttributes" // GetEndpointAttributesRequest generates a "aws/request.Request" representing the // client's request for the GetEndpointAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetEndpointAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetEndpointAttributes method directly -// instead. +// See GetEndpointAttributes for more information on using the GetEndpointAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetEndpointAttributesRequest method. // req, resp := client.GetEndpointAttributesRequest(params) @@ -973,19 +963,18 @@ const opGetPlatformApplicationAttributes = "GetPlatformApplicationAttributes" // GetPlatformApplicationAttributesRequest generates a "aws/request.Request" representing the // client's request for the GetPlatformApplicationAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetPlatformApplicationAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetPlatformApplicationAttributes method directly -// instead. +// See GetPlatformApplicationAttributes for more information on using the GetPlatformApplicationAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetPlatformApplicationAttributesRequest method. // req, resp := client.GetPlatformApplicationAttributesRequest(params) @@ -1064,19 +1053,18 @@ const opGetSMSAttributes = "GetSMSAttributes" // GetSMSAttributesRequest generates a "aws/request.Request" representing the // client's request for the GetSMSAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSMSAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSMSAttributes method directly -// instead. +// See GetSMSAttributes for more information on using the GetSMSAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSMSAttributesRequest method. // req, resp := client.GetSMSAttributesRequest(params) @@ -1156,19 +1144,18 @@ const opGetSubscriptionAttributes = "GetSubscriptionAttributes" // GetSubscriptionAttributesRequest generates a "aws/request.Request" representing the // client's request for the GetSubscriptionAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSubscriptionAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSubscriptionAttributes method directly -// instead. +// See GetSubscriptionAttributes for more information on using the GetSubscriptionAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSubscriptionAttributesRequest method. // req, resp := client.GetSubscriptionAttributesRequest(params) @@ -1245,19 +1232,18 @@ const opGetTopicAttributes = "GetTopicAttributes" // GetTopicAttributesRequest generates a "aws/request.Request" representing the // client's request for the GetTopicAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetTopicAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetTopicAttributes method directly -// instead. +// See GetTopicAttributes for more information on using the GetTopicAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetTopicAttributesRequest method. // req, resp := client.GetTopicAttributesRequest(params) @@ -1335,19 +1321,18 @@ const opListEndpointsByPlatformApplication = "ListEndpointsByPlatformApplication // ListEndpointsByPlatformApplicationRequest generates a "aws/request.Request" representing the // client's request for the ListEndpointsByPlatformApplication operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListEndpointsByPlatformApplication for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListEndpointsByPlatformApplication method directly -// instead. +// See ListEndpointsByPlatformApplication for more information on using the ListEndpointsByPlatformApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListEndpointsByPlatformApplicationRequest method. // req, resp := client.ListEndpointsByPlatformApplicationRequest(params) @@ -1487,19 +1472,18 @@ const opListPhoneNumbersOptedOut = "ListPhoneNumbersOptedOut" // ListPhoneNumbersOptedOutRequest generates a "aws/request.Request" representing the // client's request for the ListPhoneNumbersOptedOut operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListPhoneNumbersOptedOut for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListPhoneNumbersOptedOut method directly -// instead. +// See ListPhoneNumbersOptedOut for more information on using the ListPhoneNumbersOptedOut +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPhoneNumbersOptedOutRequest method. // req, resp := client.ListPhoneNumbersOptedOutRequest(params) @@ -1585,19 +1569,18 @@ const opListPlatformApplications = "ListPlatformApplications" // ListPlatformApplicationsRequest generates a "aws/request.Request" representing the // client's request for the ListPlatformApplications operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListPlatformApplications for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListPlatformApplications method directly -// instead. +// See ListPlatformApplications for more information on using the ListPlatformApplications +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListPlatformApplicationsRequest method. // req, resp := client.ListPlatformApplicationsRequest(params) @@ -1734,19 +1717,18 @@ const opListSubscriptions = "ListSubscriptions" // ListSubscriptionsRequest generates a "aws/request.Request" representing the // client's request for the ListSubscriptions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListSubscriptions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListSubscriptions method directly -// instead. +// See ListSubscriptions for more information on using the ListSubscriptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListSubscriptionsRequest method. // req, resp := client.ListSubscriptionsRequest(params) @@ -1879,19 +1861,18 @@ const opListSubscriptionsByTopic = "ListSubscriptionsByTopic" // ListSubscriptionsByTopicRequest generates a "aws/request.Request" representing the // client's request for the ListSubscriptionsByTopic operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListSubscriptionsByTopic for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListSubscriptionsByTopic method directly -// instead. +// See ListSubscriptionsByTopic for more information on using the ListSubscriptionsByTopic +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListSubscriptionsByTopicRequest method. // req, resp := client.ListSubscriptionsByTopicRequest(params) @@ -2027,19 +2008,18 @@ const opListTopics = "ListTopics" // ListTopicsRequest generates a "aws/request.Request" representing the // client's request for the ListTopics operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTopics for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTopics method directly -// instead. +// See ListTopics for more information on using the ListTopics +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTopicsRequest method. // req, resp := client.ListTopicsRequest(params) @@ -2171,19 +2151,18 @@ const opOptInPhoneNumber = "OptInPhoneNumber" // OptInPhoneNumberRequest generates a "aws/request.Request" representing the // client's request for the OptInPhoneNumber operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See OptInPhoneNumber for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the OptInPhoneNumber method directly -// instead. +// See OptInPhoneNumber for more information on using the OptInPhoneNumber +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the OptInPhoneNumberRequest method. // req, resp := client.OptInPhoneNumberRequest(params) @@ -2264,19 +2243,18 @@ const opPublish = "Publish" // PublishRequest generates a "aws/request.Request" representing the // client's request for the Publish operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See Publish for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the Publish method directly -// instead. +// See Publish for more information on using the Publish +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PublishRequest method. // req, resp := client.PublishRequest(params) @@ -2373,19 +2351,18 @@ const opRemovePermission = "RemovePermission" // RemovePermissionRequest generates a "aws/request.Request" representing the // client's request for the RemovePermission operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemovePermission for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemovePermission method directly -// instead. +// See RemovePermission for more information on using the RemovePermission +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemovePermissionRequest method. // req, resp := client.RemovePermissionRequest(params) @@ -2464,19 +2441,18 @@ const opSetEndpointAttributes = "SetEndpointAttributes" // SetEndpointAttributesRequest generates a "aws/request.Request" representing the // client's request for the SetEndpointAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetEndpointAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetEndpointAttributes method directly -// instead. +// See SetEndpointAttributes for more information on using the SetEndpointAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetEndpointAttributesRequest method. // req, resp := client.SetEndpointAttributesRequest(params) @@ -2557,19 +2533,18 @@ const opSetPlatformApplicationAttributes = "SetPlatformApplicationAttributes" // SetPlatformApplicationAttributesRequest generates a "aws/request.Request" representing the // client's request for the SetPlatformApplicationAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetPlatformApplicationAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetPlatformApplicationAttributes method directly -// instead. +// See SetPlatformApplicationAttributes for more information on using the SetPlatformApplicationAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetPlatformApplicationAttributesRequest method. // req, resp := client.SetPlatformApplicationAttributesRequest(params) @@ -2652,19 +2627,18 @@ const opSetSMSAttributes = "SetSMSAttributes" // SetSMSAttributesRequest generates a "aws/request.Request" representing the // client's request for the SetSMSAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetSMSAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetSMSAttributes method directly -// instead. +// See SetSMSAttributes for more information on using the SetSMSAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetSMSAttributesRequest method. // req, resp := client.SetSMSAttributesRequest(params) @@ -2748,19 +2722,18 @@ const opSetSubscriptionAttributes = "SetSubscriptionAttributes" // SetSubscriptionAttributesRequest generates a "aws/request.Request" representing the // client's request for the SetSubscriptionAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetSubscriptionAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetSubscriptionAttributes method directly -// instead. +// See SetSubscriptionAttributes for more information on using the SetSubscriptionAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetSubscriptionAttributesRequest method. // req, resp := client.SetSubscriptionAttributesRequest(params) @@ -2839,19 +2812,18 @@ const opSetTopicAttributes = "SetTopicAttributes" // SetTopicAttributesRequest generates a "aws/request.Request" representing the // client's request for the SetTopicAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetTopicAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetTopicAttributes method directly -// instead. +// See SetTopicAttributes for more information on using the SetTopicAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetTopicAttributesRequest method. // req, resp := client.SetTopicAttributesRequest(params) @@ -2930,19 +2902,18 @@ const opSubscribe = "Subscribe" // SubscribeRequest generates a "aws/request.Request" representing the // client's request for the Subscribe operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See Subscribe for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the Subscribe method directly -// instead. +// See Subscribe for more information on using the Subscribe +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SubscribeRequest method. // req, resp := client.SubscribeRequest(params) @@ -3025,19 +2996,18 @@ const opUnsubscribe = "Unsubscribe" // UnsubscribeRequest generates a "aws/request.Request" representing the // client's request for the Unsubscribe operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See Unsubscribe for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the Unsubscribe method directly -// instead. +// See Unsubscribe for more information on using the Unsubscribe +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UnsubscribeRequest method. // req, resp := client.UnsubscribeRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/sns/doc.go b/vendor/github.com/aws/aws-sdk-go/service/sns/doc.go index 52461d3d4..2afaa9238 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sns/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sns/doc.go @@ -24,69 +24,17 @@ // // Using the Client // -// To use the client for Amazon Simple Notification Service you will first need -// to create a new instance of it. +// To Amazon Simple Notification Service with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := sns.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Simple Notification Service client SNS for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/sns/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AddPermission(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AddPermission result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AddPermissionWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package sns diff --git a/vendor/github.com/aws/aws-sdk-go/service/sns/snsiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/sns/snsiface/interface.go index a1acf04c0..9ef06d41b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sns/snsiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sns/snsiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Simple Notification Service. diff --git a/vendor/github.com/aws/aws-sdk-go/service/sqs/api.go b/vendor/github.com/aws/aws-sdk-go/service/sqs/api.go index 97ba16313..2674bb244 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sqs/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sqs/api.go @@ -16,19 +16,18 @@ const opAddPermission = "AddPermission" // AddPermissionRequest generates a "aws/request.Request" representing the // client's request for the AddPermission operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddPermission for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddPermission method directly -// instead. +// See AddPermission for more information on using the AddPermission +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddPermissionRequest method. // req, resp := client.AddPermissionRequest(params) @@ -120,19 +119,18 @@ const opChangeMessageVisibility = "ChangeMessageVisibility" // ChangeMessageVisibilityRequest generates a "aws/request.Request" representing the // client's request for the ChangeMessageVisibility operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ChangeMessageVisibility for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ChangeMessageVisibility method directly -// instead. +// See ChangeMessageVisibility for more information on using the ChangeMessageVisibility +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ChangeMessageVisibilityRequest method. // req, resp := client.ChangeMessageVisibilityRequest(params) @@ -241,19 +239,18 @@ const opChangeMessageVisibilityBatch = "ChangeMessageVisibilityBatch" // ChangeMessageVisibilityBatchRequest generates a "aws/request.Request" representing the // client's request for the ChangeMessageVisibilityBatch operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ChangeMessageVisibilityBatch for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ChangeMessageVisibilityBatch method directly -// instead. +// See ChangeMessageVisibilityBatch for more information on using the ChangeMessageVisibilityBatch +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ChangeMessageVisibilityBatchRequest method. // req, resp := client.ChangeMessageVisibilityBatchRequest(params) @@ -345,19 +342,18 @@ const opCreateQueue = "CreateQueue" // CreateQueueRequest generates a "aws/request.Request" representing the // client's request for the CreateQueue operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateQueue for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateQueue method directly -// instead. +// See CreateQueue for more information on using the CreateQueue +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateQueueRequest method. // req, resp := client.CreateQueueRequest(params) @@ -470,19 +466,18 @@ const opDeleteMessage = "DeleteMessage" // DeleteMessageRequest generates a "aws/request.Request" representing the // client's request for the DeleteMessage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteMessage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteMessage method directly -// instead. +// See DeleteMessage for more information on using the DeleteMessage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteMessageRequest method. // req, resp := client.DeleteMessageRequest(params) @@ -574,19 +569,18 @@ const opDeleteMessageBatch = "DeleteMessageBatch" // DeleteMessageBatchRequest generates a "aws/request.Request" representing the // client's request for the DeleteMessageBatch operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteMessageBatch for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteMessageBatch method directly -// instead. +// See DeleteMessageBatch for more information on using the DeleteMessageBatch +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteMessageBatchRequest method. // req, resp := client.DeleteMessageBatchRequest(params) @@ -677,19 +671,18 @@ const opDeleteQueue = "DeleteQueue" // DeleteQueueRequest generates a "aws/request.Request" representing the // client's request for the DeleteQueue operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteQueue for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteQueue method directly -// instead. +// See DeleteQueue for more information on using the DeleteQueue +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteQueueRequest method. // req, resp := client.DeleteQueueRequest(params) @@ -766,19 +759,18 @@ const opGetQueueAttributes = "GetQueueAttributes" // GetQueueAttributesRequest generates a "aws/request.Request" representing the // client's request for the GetQueueAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetQueueAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetQueueAttributes method directly -// instead. +// See GetQueueAttributes for more information on using the GetQueueAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetQueueAttributesRequest method. // req, resp := client.GetQueueAttributesRequest(params) @@ -857,19 +849,18 @@ const opGetQueueUrl = "GetQueueUrl" // GetQueueUrlRequest generates a "aws/request.Request" representing the // client's request for the GetQueueUrl operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetQueueUrl for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetQueueUrl method directly -// instead. +// See GetQueueUrl for more information on using the GetQueueUrl +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetQueueUrlRequest method. // req, resp := client.GetQueueUrlRequest(params) @@ -944,19 +935,18 @@ const opListDeadLetterSourceQueues = "ListDeadLetterSourceQueues" // ListDeadLetterSourceQueuesRequest generates a "aws/request.Request" representing the // client's request for the ListDeadLetterSourceQueues operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDeadLetterSourceQueues for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDeadLetterSourceQueues method directly -// instead. +// See ListDeadLetterSourceQueues for more information on using the ListDeadLetterSourceQueues +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDeadLetterSourceQueuesRequest method. // req, resp := client.ListDeadLetterSourceQueuesRequest(params) @@ -1029,19 +1019,18 @@ const opListQueues = "ListQueues" // ListQueuesRequest generates a "aws/request.Request" representing the // client's request for the ListQueues operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListQueues for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListQueues method directly -// instead. +// See ListQueues for more information on using the ListQueues +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListQueuesRequest method. // req, resp := client.ListQueuesRequest(params) @@ -1106,19 +1095,18 @@ const opPurgeQueue = "PurgeQueue" // PurgeQueueRequest generates a "aws/request.Request" representing the // client's request for the PurgeQueue operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PurgeQueue for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PurgeQueue method directly -// instead. +// See PurgeQueue for more information on using the PurgeQueue +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PurgeQueueRequest method. // req, resp := client.PurgeQueueRequest(params) @@ -1202,19 +1190,18 @@ const opReceiveMessage = "ReceiveMessage" // ReceiveMessageRequest generates a "aws/request.Request" representing the // client's request for the ReceiveMessage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ReceiveMessage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ReceiveMessage method directly -// instead. +// See ReceiveMessage for more information on using the ReceiveMessage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ReceiveMessageRequest method. // req, resp := client.ReceiveMessageRequest(params) @@ -1331,19 +1318,18 @@ const opRemovePermission = "RemovePermission" // RemovePermissionRequest generates a "aws/request.Request" representing the // client's request for the RemovePermission operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemovePermission for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemovePermission method directly -// instead. +// See RemovePermission for more information on using the RemovePermission +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemovePermissionRequest method. // req, resp := client.RemovePermissionRequest(params) @@ -1409,19 +1395,18 @@ const opSendMessage = "SendMessage" // SendMessageRequest generates a "aws/request.Request" representing the // client's request for the SendMessage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SendMessage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SendMessage method directly -// instead. +// See SendMessage for more information on using the SendMessage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SendMessageRequest method. // req, resp := client.SendMessageRequest(params) @@ -1500,19 +1485,18 @@ const opSendMessageBatch = "SendMessageBatch" // SendMessageBatchRequest generates a "aws/request.Request" representing the // client's request for the SendMessageBatch operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SendMessageBatch for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SendMessageBatch method directly -// instead. +// See SendMessageBatch for more information on using the SendMessageBatch +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SendMessageBatchRequest method. // req, resp := client.SendMessageBatchRequest(params) @@ -1625,19 +1609,18 @@ const opSetQueueAttributes = "SetQueueAttributes" // SetQueueAttributesRequest generates a "aws/request.Request" representing the // client's request for the SetQueueAttributes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetQueueAttributes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetQueueAttributes method directly -// instead. +// See SetQueueAttributes for more information on using the SetQueueAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetQueueAttributesRequest method. // req, resp := client.SetQueueAttributesRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/sqs/api_test.go b/vendor/github.com/aws/aws-sdk-go/service/sqs/api_test.go index 4cec7788d..3cf70eb55 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sqs/api_test.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sqs/api_test.go @@ -5,8 +5,6 @@ package sqs_test import ( "testing" - "github.com/stretchr/testify/assert" - "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/awstesting/unit" "github.com/aws/aws-sdk-go/service/sqs" @@ -24,7 +22,13 @@ func TestFlattenedTraits(t *testing.T) { }, }) - assert.Error(t, err) - assert.Equal(t, "InvalidAddress", err.Code()) - assert.Equal(t, "The address QUEUE is not valid for this endpoint.", err.Message()) + if err == nil { + t.Fatalf("expect error, got nil") + } + if e, a := "InvalidAddress", err.Code(); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := "The address QUEUE is not valid for this endpoint.", err.Message(); e != a { + t.Errorf("expect %v, got %v", e, a) + } } diff --git a/vendor/github.com/aws/aws-sdk-go/service/sqs/checksums_test.go b/vendor/github.com/aws/aws-sdk-go/service/sqs/checksums_test.go index c7451c7b4..36f355633 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sqs/checksums_test.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sqs/checksums_test.go @@ -4,10 +4,9 @@ import ( "bytes" "io/ioutil" "net/http" + "strings" "testing" - "github.com/stretchr/testify/assert" - "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/aws/request" @@ -36,7 +35,9 @@ func TestSendMessageChecksum(t *testing.T) { } }) err := req.Send() - assert.NoError(t, err) + if err != nil { + t.Errorf("expect no error, got %v", err) + } } func TestSendMessageChecksumInvalid(t *testing.T) { @@ -52,10 +53,16 @@ func TestSendMessageChecksumInvalid(t *testing.T) { } }) err := req.Send() - assert.Error(t, err) + if err == nil { + t.Fatalf("expect error, got nil") + } - assert.Equal(t, "InvalidChecksum", err.(awserr.Error).Code()) - assert.Contains(t, err.(awserr.Error).Message(), "expected MD5 checksum '000', got '098f6bcd4621d373cade4e832627b4f6'") + if e, a := "InvalidChecksum", err.(awserr.Error).Code(); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := err.(awserr.Error).Message(), "expected MD5 checksum '000', got '098f6bcd4621d373cade4e832627b4f6'"; !strings.Contains(a, e) { + t.Errorf("expect %v to be in %v, was not", e, a) + } } func TestSendMessageChecksumInvalidNoValidation(t *testing.T) { @@ -77,7 +84,9 @@ func TestSendMessageChecksumInvalidNoValidation(t *testing.T) { } }) err := req.Send() - assert.NoError(t, err) + if err != nil { + t.Errorf("expect no error, got %v", err) + } } func TestSendMessageChecksumNoInput(t *testing.T) { @@ -88,10 +97,16 @@ func TestSendMessageChecksumNoInput(t *testing.T) { r.Data = &sqs.SendMessageOutput{} }) err := req.Send() - assert.Error(t, err) + if err == nil { + t.Fatalf("expect error, got nil") + } - assert.Equal(t, "InvalidChecksum", err.(awserr.Error).Code()) - assert.Contains(t, err.(awserr.Error).Message(), "cannot compute checksum. missing body") + if e, a := "InvalidChecksum", err.(awserr.Error).Code(); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := err.(awserr.Error).Message(), "cannot compute checksum. missing body"; !strings.Contains(a, e) { + t.Errorf("expect %v to be in %v, was not", e, a) + } } func TestSendMessageChecksumNoOutput(t *testing.T) { @@ -104,10 +119,16 @@ func TestSendMessageChecksumNoOutput(t *testing.T) { r.Data = &sqs.SendMessageOutput{} }) err := req.Send() - assert.Error(t, err) + if err == nil { + t.Fatalf("expect error, got nil") + } - assert.Equal(t, "InvalidChecksum", err.(awserr.Error).Code()) - assert.Contains(t, err.(awserr.Error).Message(), "cannot verify checksum. missing response MD5") + if e, a := "InvalidChecksum", err.(awserr.Error).Code(); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := err.(awserr.Error).Message(), "cannot verify checksum. missing response MD5"; !strings.Contains(a, e) { + t.Errorf("expect %v to be in %v, was not", e, a) + } } func TestRecieveMessageChecksum(t *testing.T) { @@ -126,7 +147,9 @@ func TestRecieveMessageChecksum(t *testing.T) { } }) err := req.Send() - assert.NoError(t, err) + if err != nil { + t.Errorf("expect no error, got %v", err) + } } func TestRecieveMessageChecksumInvalid(t *testing.T) { @@ -146,10 +169,16 @@ func TestRecieveMessageChecksumInvalid(t *testing.T) { } }) err := req.Send() - assert.Error(t, err) + if err == nil { + t.Fatalf("expect error, got nil") + } - assert.Equal(t, "InvalidChecksum", err.(awserr.Error).Code()) - assert.Contains(t, err.(awserr.Error).Message(), "invalid messages: 123, 456") + if e, a := "InvalidChecksum", err.(awserr.Error).Code(); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := err.(awserr.Error).Message(), "invalid messages: 123, 456"; !strings.Contains(a, e) { + t.Errorf("expect %v to be in %v, was not", e, a) + } } func TestSendMessageBatchChecksum(t *testing.T) { @@ -175,7 +204,9 @@ func TestSendMessageBatchChecksum(t *testing.T) { } }) err := req.Send() - assert.NoError(t, err) + if err != nil { + t.Errorf("expect no error, got %v", err) + } } func TestSendMessageBatchChecksumInvalid(t *testing.T) { @@ -201,8 +232,14 @@ func TestSendMessageBatchChecksumInvalid(t *testing.T) { } }) err := req.Send() - assert.Error(t, err) + if err == nil { + t.Fatalf("expect error, got nil") + } - assert.Equal(t, "InvalidChecksum", err.(awserr.Error).Code()) - assert.Contains(t, err.(awserr.Error).Message(), "invalid messages: 456, 789") + if e, a := "InvalidChecksum", err.(awserr.Error).Code(); e != a { + t.Errorf("expect %v, got %v", e, a) + } + if e, a := err.(awserr.Error).Message(), "invalid messages: 456, 789"; !strings.Contains(a, e) { + t.Errorf("expect %v to be in %v, was not", e, a) + } } diff --git a/vendor/github.com/aws/aws-sdk-go/service/sqs/doc.go b/vendor/github.com/aws/aws-sdk-go/service/sqs/doc.go index 24189f539..23a359934 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sqs/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sqs/doc.go @@ -47,69 +47,17 @@ // // Using the Client // -// To use the client for Amazon Simple Queue Service you will first need -// to create a new instance of it. +// To Amazon Simple Queue Service with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := sqs.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Simple Queue Service client SQS for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/sqs/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AddPermission(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AddPermission result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AddPermissionWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package sqs diff --git a/vendor/github.com/aws/aws-sdk-go/service/sqs/sqsiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/sqs/sqsiface/interface.go index 136aee47c..d150742d3 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sqs/sqsiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sqs/sqsiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Simple Queue Service. diff --git a/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go b/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go index e9bb6dd58..faedb6468 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go @@ -15,19 +15,18 @@ const opAddTagsToResource = "AddTagsToResource" // AddTagsToResourceRequest generates a "aws/request.Request" representing the // client's request for the AddTagsToResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddTagsToResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddTagsToResource method directly -// instead. +// See AddTagsToResource for more information on using the AddTagsToResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddTagsToResourceRequest method. // req, resp := client.AddTagsToResourceRequest(params) @@ -126,19 +125,18 @@ const opCancelCommand = "CancelCommand" // CancelCommandRequest generates a "aws/request.Request" representing the // client's request for the CancelCommand operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CancelCommand for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CancelCommand method directly -// instead. +// See CancelCommand for more information on using the CancelCommand +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CancelCommandRequest method. // req, resp := client.CancelCommandRequest(params) @@ -227,19 +225,18 @@ const opCreateActivation = "CreateActivation" // CreateActivationRequest generates a "aws/request.Request" representing the // client's request for the CreateActivation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateActivation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateActivation method directly -// instead. +// See CreateActivation for more information on using the CreateActivation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateActivationRequest method. // req, resp := client.CreateActivationRequest(params) @@ -311,19 +308,18 @@ const opCreateAssociation = "CreateAssociation" // CreateAssociationRequest generates a "aws/request.Request" representing the // client's request for the CreateAssociation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateAssociation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateAssociation method directly -// instead. +// See CreateAssociation for more information on using the CreateAssociation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateAssociationRequest method. // req, resp := client.CreateAssociationRequest(params) @@ -444,19 +440,18 @@ const opCreateAssociationBatch = "CreateAssociationBatch" // CreateAssociationBatchRequest generates a "aws/request.Request" representing the // client's request for the CreateAssociationBatch operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateAssociationBatch for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateAssociationBatch method directly -// instead. +// See CreateAssociationBatch for more information on using the CreateAssociationBatch +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateAssociationBatchRequest method. // req, resp := client.CreateAssociationBatchRequest(params) @@ -577,19 +572,18 @@ const opCreateDocument = "CreateDocument" // CreateDocumentRequest generates a "aws/request.Request" representing the // client's request for the CreateDocument operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateDocument for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateDocument method directly -// instead. +// See CreateDocument for more information on using the CreateDocument +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateDocumentRequest method. // req, resp := client.CreateDocumentRequest(params) @@ -675,19 +669,18 @@ const opCreateMaintenanceWindow = "CreateMaintenanceWindow" // CreateMaintenanceWindowRequest generates a "aws/request.Request" representing the // client's request for the CreateMaintenanceWindow operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateMaintenanceWindow for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateMaintenanceWindow method directly -// instead. +// See CreateMaintenanceWindow for more information on using the CreateMaintenanceWindow +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateMaintenanceWindowRequest method. // req, resp := client.CreateMaintenanceWindowRequest(params) @@ -763,19 +756,18 @@ const opCreatePatchBaseline = "CreatePatchBaseline" // CreatePatchBaselineRequest generates a "aws/request.Request" representing the // client's request for the CreatePatchBaseline operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreatePatchBaseline for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreatePatchBaseline method directly -// instead. +// See CreatePatchBaseline for more information on using the CreatePatchBaseline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreatePatchBaselineRequest method. // req, resp := client.CreatePatchBaselineRequest(params) @@ -851,19 +843,18 @@ const opCreateResourceDataSync = "CreateResourceDataSync" // CreateResourceDataSyncRequest generates a "aws/request.Request" representing the // client's request for the CreateResourceDataSync operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateResourceDataSync for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateResourceDataSync method directly -// instead. +// See CreateResourceDataSync for more information on using the CreateResourceDataSync +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateResourceDataSyncRequest method. // req, resp := client.CreateResourceDataSyncRequest(params) @@ -951,19 +942,18 @@ const opDeleteActivation = "DeleteActivation" // DeleteActivationRequest generates a "aws/request.Request" representing the // client's request for the DeleteActivation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteActivation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteActivation method directly -// instead. +// See DeleteActivation for more information on using the DeleteActivation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteActivationRequest method. // req, resp := client.DeleteActivationRequest(params) @@ -1042,19 +1032,18 @@ const opDeleteAssociation = "DeleteAssociation" // DeleteAssociationRequest generates a "aws/request.Request" representing the // client's request for the DeleteAssociation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteAssociation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteAssociation method directly -// instead. +// See DeleteAssociation for more information on using the DeleteAssociation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteAssociationRequest method. // req, resp := client.DeleteAssociationRequest(params) @@ -1152,19 +1141,18 @@ const opDeleteDocument = "DeleteDocument" // DeleteDocumentRequest generates a "aws/request.Request" representing the // client's request for the DeleteDocument operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDocument for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDocument method directly -// instead. +// See DeleteDocument for more information on using the DeleteDocument +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDocumentRequest method. // req, resp := client.DeleteDocumentRequest(params) @@ -1247,19 +1235,18 @@ const opDeleteMaintenanceWindow = "DeleteMaintenanceWindow" // DeleteMaintenanceWindowRequest generates a "aws/request.Request" representing the // client's request for the DeleteMaintenanceWindow operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteMaintenanceWindow for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteMaintenanceWindow method directly -// instead. +// See DeleteMaintenanceWindow for more information on using the DeleteMaintenanceWindow +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteMaintenanceWindowRequest method. // req, resp := client.DeleteMaintenanceWindowRequest(params) @@ -1327,19 +1314,18 @@ const opDeleteParameter = "DeleteParameter" // DeleteParameterRequest generates a "aws/request.Request" representing the // client's request for the DeleteParameter operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteParameter for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteParameter method directly -// instead. +// See DeleteParameter for more information on using the DeleteParameter +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteParameterRequest method. // req, resp := client.DeleteParameterRequest(params) @@ -1410,19 +1396,18 @@ const opDeleteParameters = "DeleteParameters" // DeleteParametersRequest generates a "aws/request.Request" representing the // client's request for the DeleteParameters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteParameters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteParameters method directly -// instead. +// See DeleteParameters for more information on using the DeleteParameters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteParametersRequest method. // req, resp := client.DeleteParametersRequest(params) @@ -1451,7 +1436,8 @@ func (c *SSM) DeleteParametersRequest(input *DeleteParametersInput) (req *reques // DeleteParameters API operation for Amazon Simple Systems Manager (SSM). // -// Delete a list of parameters. +// Delete a list of parameters. This API is used to delete parameters by using +// the Amazon EC2 console. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1490,19 +1476,18 @@ const opDeletePatchBaseline = "DeletePatchBaseline" // DeletePatchBaselineRequest generates a "aws/request.Request" representing the // client's request for the DeletePatchBaseline operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeletePatchBaseline for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeletePatchBaseline method directly -// instead. +// See DeletePatchBaseline for more information on using the DeletePatchBaseline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeletePatchBaselineRequest method. // req, resp := client.DeletePatchBaselineRequest(params) @@ -1574,19 +1559,18 @@ const opDeleteResourceDataSync = "DeleteResourceDataSync" // DeleteResourceDataSyncRequest generates a "aws/request.Request" representing the // client's request for the DeleteResourceDataSync operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteResourceDataSync for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteResourceDataSync method directly -// instead. +// See DeleteResourceDataSync for more information on using the DeleteResourceDataSync +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteResourceDataSyncRequest method. // req, resp := client.DeleteResourceDataSyncRequest(params) @@ -1660,19 +1644,18 @@ const opDeregisterManagedInstance = "DeregisterManagedInstance" // DeregisterManagedInstanceRequest generates a "aws/request.Request" representing the // client's request for the DeregisterManagedInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeregisterManagedInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeregisterManagedInstance method directly -// instead. +// See DeregisterManagedInstance for more information on using the DeregisterManagedInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeregisterManagedInstanceRequest method. // req, resp := client.DeregisterManagedInstanceRequest(params) @@ -1757,19 +1740,18 @@ const opDeregisterPatchBaselineForPatchGroup = "DeregisterPatchBaselineForPatchG // DeregisterPatchBaselineForPatchGroupRequest generates a "aws/request.Request" representing the // client's request for the DeregisterPatchBaselineForPatchGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeregisterPatchBaselineForPatchGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeregisterPatchBaselineForPatchGroup method directly -// instead. +// See DeregisterPatchBaselineForPatchGroup for more information on using the DeregisterPatchBaselineForPatchGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeregisterPatchBaselineForPatchGroupRequest method. // req, resp := client.DeregisterPatchBaselineForPatchGroupRequest(params) @@ -1841,19 +1823,18 @@ const opDeregisterTargetFromMaintenanceWindow = "DeregisterTargetFromMaintenance // DeregisterTargetFromMaintenanceWindowRequest generates a "aws/request.Request" representing the // client's request for the DeregisterTargetFromMaintenanceWindow operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeregisterTargetFromMaintenanceWindow for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeregisterTargetFromMaintenanceWindow method directly -// instead. +// See DeregisterTargetFromMaintenanceWindow for more information on using the DeregisterTargetFromMaintenanceWindow +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeregisterTargetFromMaintenanceWindowRequest method. // req, resp := client.DeregisterTargetFromMaintenanceWindowRequest(params) @@ -1899,6 +1880,10 @@ func (c *SSM) DeregisterTargetFromMaintenanceWindowRequest(input *DeregisterTarg // * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. // +// * ErrCodeTargetInUseException "TargetInUseException" +// You specified the Safe option for the DeregisterTargetFromMaintenanceWindow +// operation, but the target is still referenced in a task. +// // Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTargetFromMaintenanceWindow func (c *SSM) DeregisterTargetFromMaintenanceWindow(input *DeregisterTargetFromMaintenanceWindowInput) (*DeregisterTargetFromMaintenanceWindowOutput, error) { req, out := c.DeregisterTargetFromMaintenanceWindowRequest(input) @@ -1925,19 +1910,18 @@ const opDeregisterTaskFromMaintenanceWindow = "DeregisterTaskFromMaintenanceWind // DeregisterTaskFromMaintenanceWindowRequest generates a "aws/request.Request" representing the // client's request for the DeregisterTaskFromMaintenanceWindow operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeregisterTaskFromMaintenanceWindow for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeregisterTaskFromMaintenanceWindow method directly -// instead. +// See DeregisterTaskFromMaintenanceWindow for more information on using the DeregisterTaskFromMaintenanceWindow +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeregisterTaskFromMaintenanceWindowRequest method. // req, resp := client.DeregisterTaskFromMaintenanceWindowRequest(params) @@ -2009,19 +1993,18 @@ const opDescribeActivations = "DescribeActivations" // DescribeActivationsRequest generates a "aws/request.Request" representing the // client's request for the DescribeActivations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeActivations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeActivations method directly -// instead. +// See DescribeActivations for more information on using the DescribeActivations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeActivationsRequest method. // req, resp := client.DescribeActivationsRequest(params) @@ -2154,19 +2137,18 @@ const opDescribeAssociation = "DescribeAssociation" // DescribeAssociationRequest generates a "aws/request.Request" representing the // client's request for the DescribeAssociation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAssociation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAssociation method directly -// instead. +// See DescribeAssociation for more information on using the DescribeAssociation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAssociationRequest method. // req, resp := client.DescribeAssociationRequest(params) @@ -2209,6 +2191,11 @@ func (c *SSM) DescribeAssociationRequest(input *DescribeAssociationInput) (req * // * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist" // The specified association does not exist. // +// * ErrCodeInvalidAssociationVersion "InvalidAssociationVersion" +// The version you specified is not valid. Use ListAssociationVersions to view +// all versions of an association according to the association ID. Or, use the +// $LATEST parameter to view the latest version of the association. +// // * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. // @@ -2256,19 +2243,18 @@ const opDescribeAutomationExecutions = "DescribeAutomationExecutions" // DescribeAutomationExecutionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeAutomationExecutions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAutomationExecutions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAutomationExecutions method directly -// instead. +// See DescribeAutomationExecutions for more information on using the DescribeAutomationExecutions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAutomationExecutionsRequest method. // req, resp := client.DescribeAutomationExecutionsRequest(params) @@ -2339,19 +2325,18 @@ const opDescribeAvailablePatches = "DescribeAvailablePatches" // DescribeAvailablePatchesRequest generates a "aws/request.Request" representing the // client's request for the DescribeAvailablePatches operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAvailablePatches for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAvailablePatches method directly -// instead. +// See DescribeAvailablePatches for more information on using the DescribeAvailablePatches +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAvailablePatchesRequest method. // req, resp := client.DescribeAvailablePatchesRequest(params) @@ -2419,19 +2404,18 @@ const opDescribeDocument = "DescribeDocument" // DescribeDocumentRequest generates a "aws/request.Request" representing the // client's request for the DescribeDocument operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDocument for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDocument method directly -// instead. +// See DescribeDocument for more information on using the DescribeDocument +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDocumentRequest method. // req, resp := client.DescribeDocumentRequest(params) @@ -2505,19 +2489,18 @@ const opDescribeDocumentPermission = "DescribeDocumentPermission" // DescribeDocumentPermissionRequest generates a "aws/request.Request" representing the // client's request for the DescribeDocumentPermission operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDocumentPermission for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDocumentPermission method directly -// instead. +// See DescribeDocumentPermission for more information on using the DescribeDocumentPermission +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDocumentPermissionRequest method. // req, resp := client.DescribeDocumentPermissionRequest(params) @@ -2594,19 +2577,18 @@ const opDescribeEffectiveInstanceAssociations = "DescribeEffectiveInstanceAssoci // DescribeEffectiveInstanceAssociationsRequest generates a "aws/request.Request" representing the // client's request for the DescribeEffectiveInstanceAssociations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEffectiveInstanceAssociations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEffectiveInstanceAssociations method directly -// instead. +// See DescribeEffectiveInstanceAssociations for more information on using the DescribeEffectiveInstanceAssociations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEffectiveInstanceAssociationsRequest method. // req, resp := client.DescribeEffectiveInstanceAssociationsRequest(params) @@ -2692,19 +2674,18 @@ const opDescribeEffectivePatchesForPatchBaseline = "DescribeEffectivePatchesForP // DescribeEffectivePatchesForPatchBaselineRequest generates a "aws/request.Request" representing the // client's request for the DescribeEffectivePatchesForPatchBaseline operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeEffectivePatchesForPatchBaseline for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeEffectivePatchesForPatchBaseline method directly -// instead. +// See DescribeEffectivePatchesForPatchBaseline for more information on using the DescribeEffectivePatchesForPatchBaseline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeEffectivePatchesForPatchBaselineRequest method. // req, resp := client.DescribeEffectivePatchesForPatchBaselineRequest(params) @@ -2787,19 +2768,18 @@ const opDescribeInstanceAssociationsStatus = "DescribeInstanceAssociationsStatus // DescribeInstanceAssociationsStatusRequest generates a "aws/request.Request" representing the // client's request for the DescribeInstanceAssociationsStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeInstanceAssociationsStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeInstanceAssociationsStatus method directly -// instead. +// See DescribeInstanceAssociationsStatus for more information on using the DescribeInstanceAssociationsStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeInstanceAssociationsStatusRequest method. // req, resp := client.DescribeInstanceAssociationsStatusRequest(params) @@ -2885,19 +2865,18 @@ const opDescribeInstanceInformation = "DescribeInstanceInformation" // DescribeInstanceInformationRequest generates a "aws/request.Request" representing the // client's request for the DescribeInstanceInformation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeInstanceInformation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeInstanceInformation method directly -// instead. +// See DescribeInstanceInformation for more information on using the DescribeInstanceInformation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeInstanceInformationRequest method. // req, resp := client.DescribeInstanceInformationRequest(params) @@ -3050,19 +3029,18 @@ const opDescribeInstancePatchStates = "DescribeInstancePatchStates" // DescribeInstancePatchStatesRequest generates a "aws/request.Request" representing the // client's request for the DescribeInstancePatchStates operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeInstancePatchStates for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeInstancePatchStates method directly -// instead. +// See DescribeInstancePatchStates for more information on using the DescribeInstancePatchStates +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeInstancePatchStatesRequest method. // req, resp := client.DescribeInstancePatchStatesRequest(params) @@ -3133,19 +3111,18 @@ const opDescribeInstancePatchStatesForPatchGroup = "DescribeInstancePatchStatesF // DescribeInstancePatchStatesForPatchGroupRequest generates a "aws/request.Request" representing the // client's request for the DescribeInstancePatchStatesForPatchGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeInstancePatchStatesForPatchGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeInstancePatchStatesForPatchGroup method directly -// instead. +// See DescribeInstancePatchStatesForPatchGroup for more information on using the DescribeInstancePatchStatesForPatchGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeInstancePatchStatesForPatchGroupRequest method. // req, resp := client.DescribeInstancePatchStatesForPatchGroupRequest(params) @@ -3221,19 +3198,18 @@ const opDescribeInstancePatches = "DescribeInstancePatches" // DescribeInstancePatchesRequest generates a "aws/request.Request" representing the // client's request for the DescribeInstancePatches operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeInstancePatches for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeInstancePatches method directly -// instead. +// See DescribeInstancePatches for more information on using the DescribeInstancePatches +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeInstancePatchesRequest method. // req, resp := client.DescribeInstancePatchesRequest(params) @@ -3324,19 +3300,18 @@ const opDescribeMaintenanceWindowExecutionTaskInvocations = "DescribeMaintenance // DescribeMaintenanceWindowExecutionTaskInvocationsRequest generates a "aws/request.Request" representing the // client's request for the DescribeMaintenanceWindowExecutionTaskInvocations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeMaintenanceWindowExecutionTaskInvocations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeMaintenanceWindowExecutionTaskInvocations method directly -// instead. +// See DescribeMaintenanceWindowExecutionTaskInvocations for more information on using the DescribeMaintenanceWindowExecutionTaskInvocations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeMaintenanceWindowExecutionTaskInvocationsRequest method. // req, resp := client.DescribeMaintenanceWindowExecutionTaskInvocationsRequest(params) @@ -3409,19 +3384,18 @@ const opDescribeMaintenanceWindowExecutionTasks = "DescribeMaintenanceWindowExec // DescribeMaintenanceWindowExecutionTasksRequest generates a "aws/request.Request" representing the // client's request for the DescribeMaintenanceWindowExecutionTasks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeMaintenanceWindowExecutionTasks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeMaintenanceWindowExecutionTasks method directly -// instead. +// See DescribeMaintenanceWindowExecutionTasks for more information on using the DescribeMaintenanceWindowExecutionTasks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeMaintenanceWindowExecutionTasksRequest method. // req, resp := client.DescribeMaintenanceWindowExecutionTasksRequest(params) @@ -3493,19 +3467,18 @@ const opDescribeMaintenanceWindowExecutions = "DescribeMaintenanceWindowExecutio // DescribeMaintenanceWindowExecutionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeMaintenanceWindowExecutions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeMaintenanceWindowExecutions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeMaintenanceWindowExecutions method directly -// instead. +// See DescribeMaintenanceWindowExecutions for more information on using the DescribeMaintenanceWindowExecutions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeMaintenanceWindowExecutionsRequest method. // req, resp := client.DescribeMaintenanceWindowExecutionsRequest(params) @@ -3534,9 +3507,9 @@ func (c *SSM) DescribeMaintenanceWindowExecutionsRequest(input *DescribeMaintena // DescribeMaintenanceWindowExecutions API operation for Amazon Simple Systems Manager (SSM). // -// Lists the executions of a Maintenance Window (meaning, information about -// when the Maintenance Window was scheduled to be active and information about -// tasks registered and run with the Maintenance Window). +// Lists the executions of a Maintenance Window. This includes information about +// when the Maintenance Window was scheduled to be active, and information about +// tasks registered and run with the Maintenance Window. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3575,19 +3548,18 @@ const opDescribeMaintenanceWindowTargets = "DescribeMaintenanceWindowTargets" // DescribeMaintenanceWindowTargetsRequest generates a "aws/request.Request" representing the // client's request for the DescribeMaintenanceWindowTargets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeMaintenanceWindowTargets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeMaintenanceWindowTargets method directly -// instead. +// See DescribeMaintenanceWindowTargets for more information on using the DescribeMaintenanceWindowTargets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeMaintenanceWindowTargetsRequest method. // req, resp := client.DescribeMaintenanceWindowTargetsRequest(params) @@ -3659,19 +3631,18 @@ const opDescribeMaintenanceWindowTasks = "DescribeMaintenanceWindowTasks" // DescribeMaintenanceWindowTasksRequest generates a "aws/request.Request" representing the // client's request for the DescribeMaintenanceWindowTasks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeMaintenanceWindowTasks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeMaintenanceWindowTasks method directly -// instead. +// See DescribeMaintenanceWindowTasks for more information on using the DescribeMaintenanceWindowTasks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeMaintenanceWindowTasksRequest method. // req, resp := client.DescribeMaintenanceWindowTasksRequest(params) @@ -3743,19 +3714,18 @@ const opDescribeMaintenanceWindows = "DescribeMaintenanceWindows" // DescribeMaintenanceWindowsRequest generates a "aws/request.Request" representing the // client's request for the DescribeMaintenanceWindows operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeMaintenanceWindows for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeMaintenanceWindows method directly -// instead. +// See DescribeMaintenanceWindows for more information on using the DescribeMaintenanceWindows +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeMaintenanceWindowsRequest method. // req, resp := client.DescribeMaintenanceWindowsRequest(params) @@ -3823,19 +3793,18 @@ const opDescribeParameters = "DescribeParameters" // DescribeParametersRequest generates a "aws/request.Request" representing the // client's request for the DescribeParameters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeParameters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeParameters method directly -// instead. +// See DescribeParameters for more information on using the DescribeParameters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeParametersRequest method. // req, resp := client.DescribeParametersRequest(params) @@ -3872,6 +3841,14 @@ func (c *SSM) DescribeParametersRequest(input *DescribeParametersInput) (req *re // // Get information about a parameter. // +// Request results are returned on a best-effort basis. If you specify MaxResults +// in the request, the response includes information up to the limit specified. +// The number of items returned, however, can be between zero and the value +// of MaxResults. If the service reaches an internal limit while processing +// the results, it stops the operation and returns the matching values up to +// that point and a NextToken. You can specify the NextToken in a subsequent +// call to get the next set of results. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -3972,19 +3949,18 @@ const opDescribePatchBaselines = "DescribePatchBaselines" // DescribePatchBaselinesRequest generates a "aws/request.Request" representing the // client's request for the DescribePatchBaselines operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribePatchBaselines for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribePatchBaselines method directly -// instead. +// See DescribePatchBaselines for more information on using the DescribePatchBaselines +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribePatchBaselinesRequest method. // req, resp := client.DescribePatchBaselinesRequest(params) @@ -4052,19 +4028,18 @@ const opDescribePatchGroupState = "DescribePatchGroupState" // DescribePatchGroupStateRequest generates a "aws/request.Request" representing the // client's request for the DescribePatchGroupState operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribePatchGroupState for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribePatchGroupState method directly -// instead. +// See DescribePatchGroupState for more information on using the DescribePatchGroupState +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribePatchGroupStateRequest method. // req, resp := client.DescribePatchGroupStateRequest(params) @@ -4135,19 +4110,18 @@ const opDescribePatchGroups = "DescribePatchGroups" // DescribePatchGroupsRequest generates a "aws/request.Request" representing the // client's request for the DescribePatchGroups operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribePatchGroups for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribePatchGroups method directly -// instead. +// See DescribePatchGroups for more information on using the DescribePatchGroups +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribePatchGroupsRequest method. // req, resp := client.DescribePatchGroupsRequest(params) @@ -4215,19 +4189,18 @@ const opGetAutomationExecution = "GetAutomationExecution" // GetAutomationExecutionRequest generates a "aws/request.Request" representing the // client's request for the GetAutomationExecution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetAutomationExecution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetAutomationExecution method directly -// instead. +// See GetAutomationExecution for more information on using the GetAutomationExecution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetAutomationExecutionRequest method. // req, resp := client.GetAutomationExecutionRequest(params) @@ -4299,19 +4272,18 @@ const opGetCommandInvocation = "GetCommandInvocation" // GetCommandInvocationRequest generates a "aws/request.Request" representing the // client's request for the GetCommandInvocation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetCommandInvocation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetCommandInvocation method directly -// instead. +// See GetCommandInvocation for more information on using the GetCommandInvocation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetCommandInvocationRequest method. // req, resp := client.GetCommandInvocationRequest(params) @@ -4404,19 +4376,18 @@ const opGetDefaultPatchBaseline = "GetDefaultPatchBaseline" // GetDefaultPatchBaselineRequest generates a "aws/request.Request" representing the // client's request for the GetDefaultPatchBaseline operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDefaultPatchBaseline for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDefaultPatchBaseline method directly -// instead. +// See GetDefaultPatchBaseline for more information on using the GetDefaultPatchBaseline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDefaultPatchBaselineRequest method. // req, resp := client.GetDefaultPatchBaselineRequest(params) @@ -4486,19 +4457,18 @@ const opGetDeployablePatchSnapshotForInstance = "GetDeployablePatchSnapshotForIn // GetDeployablePatchSnapshotForInstanceRequest generates a "aws/request.Request" representing the // client's request for the GetDeployablePatchSnapshotForInstance operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDeployablePatchSnapshotForInstance for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDeployablePatchSnapshotForInstance method directly -// instead. +// See GetDeployablePatchSnapshotForInstance for more information on using the GetDeployablePatchSnapshotForInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDeployablePatchSnapshotForInstanceRequest method. // req, resp := client.GetDeployablePatchSnapshotForInstanceRequest(params) @@ -4572,19 +4542,18 @@ const opGetDocument = "GetDocument" // GetDocumentRequest generates a "aws/request.Request" representing the // client's request for the GetDocument operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDocument for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDocument method directly -// instead. +// See GetDocument for more information on using the GetDocument +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDocumentRequest method. // req, resp := client.GetDocumentRequest(params) @@ -4658,19 +4627,18 @@ const opGetInventory = "GetInventory" // GetInventoryRequest generates a "aws/request.Request" representing the // client's request for the GetInventory operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetInventory for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetInventory method directly -// instead. +// See GetInventory for more information on using the GetInventory +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetInventoryRequest method. // req, resp := client.GetInventoryRequest(params) @@ -4751,19 +4719,18 @@ const opGetInventorySchema = "GetInventorySchema" // GetInventorySchemaRequest generates a "aws/request.Request" representing the // client's request for the GetInventorySchema operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetInventorySchema for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetInventorySchema method directly -// instead. +// See GetInventorySchema for more information on using the GetInventorySchema +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetInventorySchemaRequest method. // req, resp := client.GetInventorySchemaRequest(params) @@ -4838,19 +4805,18 @@ const opGetMaintenanceWindow = "GetMaintenanceWindow" // GetMaintenanceWindowRequest generates a "aws/request.Request" representing the // client's request for the GetMaintenanceWindow operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetMaintenanceWindow for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetMaintenanceWindow method directly -// instead. +// See GetMaintenanceWindow for more information on using the GetMaintenanceWindow +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetMaintenanceWindowRequest method. // req, resp := client.GetMaintenanceWindowRequest(params) @@ -4922,19 +4888,18 @@ const opGetMaintenanceWindowExecution = "GetMaintenanceWindowExecution" // GetMaintenanceWindowExecutionRequest generates a "aws/request.Request" representing the // client's request for the GetMaintenanceWindowExecution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetMaintenanceWindowExecution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetMaintenanceWindowExecution method directly -// instead. +// See GetMaintenanceWindowExecution for more information on using the GetMaintenanceWindowExecution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetMaintenanceWindowExecutionRequest method. // req, resp := client.GetMaintenanceWindowExecutionRequest(params) @@ -5007,19 +4972,18 @@ const opGetMaintenanceWindowExecutionTask = "GetMaintenanceWindowExecutionTask" // GetMaintenanceWindowExecutionTaskRequest generates a "aws/request.Request" representing the // client's request for the GetMaintenanceWindowExecutionTask operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetMaintenanceWindowExecutionTask for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetMaintenanceWindowExecutionTask method directly -// instead. +// See GetMaintenanceWindowExecutionTask for more information on using the GetMaintenanceWindowExecutionTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetMaintenanceWindowExecutionTaskRequest method. // req, resp := client.GetMaintenanceWindowExecutionTaskRequest(params) @@ -5088,23 +5052,189 @@ func (c *SSM) GetMaintenanceWindowExecutionTaskWithContext(ctx aws.Context, inpu return out, req.Send() } +const opGetMaintenanceWindowExecutionTaskInvocation = "GetMaintenanceWindowExecutionTaskInvocation" + +// GetMaintenanceWindowExecutionTaskInvocationRequest generates a "aws/request.Request" representing the +// client's request for the GetMaintenanceWindowExecutionTaskInvocation operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetMaintenanceWindowExecutionTaskInvocation for more information on using the GetMaintenanceWindowExecutionTaskInvocation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetMaintenanceWindowExecutionTaskInvocationRequest method. +// req, resp := client.GetMaintenanceWindowExecutionTaskInvocationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTaskInvocation +func (c *SSM) GetMaintenanceWindowExecutionTaskInvocationRequest(input *GetMaintenanceWindowExecutionTaskInvocationInput) (req *request.Request, output *GetMaintenanceWindowExecutionTaskInvocationOutput) { + op := &request.Operation{ + Name: opGetMaintenanceWindowExecutionTaskInvocation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetMaintenanceWindowExecutionTaskInvocationInput{} + } + + output = &GetMaintenanceWindowExecutionTaskInvocationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetMaintenanceWindowExecutionTaskInvocation API operation for Amazon Simple Systems Manager (SSM). +// +// Retrieves a task invocation. A task invocation is a specific task executing +// on a specific target. Maintenance Windows report status for all invocations. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s +// API operation GetMaintenanceWindowExecutionTaskInvocation for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDoesNotExistException "DoesNotExistException" +// Error returned when the ID specified for a resource (e.g. a Maintenance Window) +// doesn't exist. +// +// * ErrCodeInternalServerError "InternalServerError" +// An error occurred on the server side. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTaskInvocation +func (c *SSM) GetMaintenanceWindowExecutionTaskInvocation(input *GetMaintenanceWindowExecutionTaskInvocationInput) (*GetMaintenanceWindowExecutionTaskInvocationOutput, error) { + req, out := c.GetMaintenanceWindowExecutionTaskInvocationRequest(input) + return out, req.Send() +} + +// GetMaintenanceWindowExecutionTaskInvocationWithContext is the same as GetMaintenanceWindowExecutionTaskInvocation with the addition of +// the ability to pass a context and additional request options. +// +// See GetMaintenanceWindowExecutionTaskInvocation for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) GetMaintenanceWindowExecutionTaskInvocationWithContext(ctx aws.Context, input *GetMaintenanceWindowExecutionTaskInvocationInput, opts ...request.Option) (*GetMaintenanceWindowExecutionTaskInvocationOutput, error) { + req, out := c.GetMaintenanceWindowExecutionTaskInvocationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetMaintenanceWindowTask = "GetMaintenanceWindowTask" + +// GetMaintenanceWindowTaskRequest generates a "aws/request.Request" representing the +// client's request for the GetMaintenanceWindowTask operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetMaintenanceWindowTask for more information on using the GetMaintenanceWindowTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetMaintenanceWindowTaskRequest method. +// req, resp := client.GetMaintenanceWindowTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowTask +func (c *SSM) GetMaintenanceWindowTaskRequest(input *GetMaintenanceWindowTaskInput) (req *request.Request, output *GetMaintenanceWindowTaskOutput) { + op := &request.Operation{ + Name: opGetMaintenanceWindowTask, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetMaintenanceWindowTaskInput{} + } + + output = &GetMaintenanceWindowTaskOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetMaintenanceWindowTask API operation for Amazon Simple Systems Manager (SSM). +// +// Lists the tasks in a Maintenance Window. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s +// API operation GetMaintenanceWindowTask for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDoesNotExistException "DoesNotExistException" +// Error returned when the ID specified for a resource (e.g. a Maintenance Window) +// doesn't exist. +// +// * ErrCodeInternalServerError "InternalServerError" +// An error occurred on the server side. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowTask +func (c *SSM) GetMaintenanceWindowTask(input *GetMaintenanceWindowTaskInput) (*GetMaintenanceWindowTaskOutput, error) { + req, out := c.GetMaintenanceWindowTaskRequest(input) + return out, req.Send() +} + +// GetMaintenanceWindowTaskWithContext is the same as GetMaintenanceWindowTask with the addition of +// the ability to pass a context and additional request options. +// +// See GetMaintenanceWindowTask for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) GetMaintenanceWindowTaskWithContext(ctx aws.Context, input *GetMaintenanceWindowTaskInput, opts ...request.Option) (*GetMaintenanceWindowTaskOutput, error) { + req, out := c.GetMaintenanceWindowTaskRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetParameter = "GetParameter" // GetParameterRequest generates a "aws/request.Request" representing the // client's request for the GetParameter operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetParameter for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetParameter method directly -// instead. +// See GetParameter for more information on using the GetParameter +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetParameterRequest method. // req, resp := client.GetParameterRequest(params) @@ -5178,19 +5308,18 @@ const opGetParameterHistory = "GetParameterHistory" // GetParameterHistoryRequest generates a "aws/request.Request" representing the // client's request for the GetParameterHistory operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetParameterHistory for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetParameterHistory method directly -// instead. +// See GetParameterHistory for more information on using the GetParameterHistory +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetParameterHistoryRequest method. // req, resp := client.GetParameterHistoryRequest(params) @@ -5323,19 +5452,18 @@ const opGetParameters = "GetParameters" // GetParametersRequest generates a "aws/request.Request" representing the // client's request for the GetParameters operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetParameters for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetParameters method directly -// instead. +// See GetParameters for more information on using the GetParameters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetParametersRequest method. // req, resp := client.GetParametersRequest(params) @@ -5406,19 +5534,18 @@ const opGetParametersByPath = "GetParametersByPath" // GetParametersByPathRequest generates a "aws/request.Request" representing the // client's request for the GetParametersByPath operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetParametersByPath for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetParametersByPath method directly -// instead. +// See GetParametersByPath for more information on using the GetParametersByPath +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetParametersByPathRequest method. // req, resp := client.GetParametersByPathRequest(params) @@ -5456,6 +5583,14 @@ func (c *SSM) GetParametersByPathRequest(input *GetParametersByPathInput) (req * // Retrieve parameters in a specific hierarchy. For more information, see Working // with Systems Manager Parameters (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-working.html). // +// Request results are returned on a best-effort basis. If you specify MaxResults +// in the request, the response includes information up to the limit specified. +// The number of items returned, however, can be between zero and the value +// of MaxResults. If the service reaches an internal limit while processing +// the results, it stops the operation and returns the matching values up to +// that point and a NextToken. You can specify the NextToken in a subsequent +// call to get the next set of results. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -5559,19 +5694,18 @@ const opGetPatchBaseline = "GetPatchBaseline" // GetPatchBaselineRequest generates a "aws/request.Request" representing the // client's request for the GetPatchBaseline operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetPatchBaseline for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetPatchBaseline method directly -// instead. +// See GetPatchBaseline for more information on using the GetPatchBaseline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetPatchBaselineRequest method. // req, resp := client.GetPatchBaselineRequest(params) @@ -5647,19 +5781,18 @@ const opGetPatchBaselineForPatchGroup = "GetPatchBaselineForPatchGroup" // GetPatchBaselineForPatchGroupRequest generates a "aws/request.Request" representing the // client's request for the GetPatchBaselineForPatchGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetPatchBaselineForPatchGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetPatchBaselineForPatchGroup method directly -// instead. +// See GetPatchBaselineForPatchGroup for more information on using the GetPatchBaselineForPatchGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetPatchBaselineForPatchGroupRequest method. // req, resp := client.GetPatchBaselineForPatchGroupRequest(params) @@ -5724,23 +5857,107 @@ func (c *SSM) GetPatchBaselineForPatchGroupWithContext(ctx aws.Context, input *G return out, req.Send() } +const opListAssociationVersions = "ListAssociationVersions" + +// ListAssociationVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListAssociationVersions operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListAssociationVersions for more information on using the ListAssociationVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListAssociationVersionsRequest method. +// req, resp := client.ListAssociationVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociationVersions +func (c *SSM) ListAssociationVersionsRequest(input *ListAssociationVersionsInput) (req *request.Request, output *ListAssociationVersionsOutput) { + op := &request.Operation{ + Name: opListAssociationVersions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListAssociationVersionsInput{} + } + + output = &ListAssociationVersionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListAssociationVersions API operation for Amazon Simple Systems Manager (SSM). +// +// Retrieves all versions of an association for a specific association ID. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s +// API operation ListAssociationVersions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServerError "InternalServerError" +// An error occurred on the server side. +// +// * ErrCodeInvalidNextToken "InvalidNextToken" +// The specified token is not valid. +// +// * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist" +// The specified association does not exist. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociationVersions +func (c *SSM) ListAssociationVersions(input *ListAssociationVersionsInput) (*ListAssociationVersionsOutput, error) { + req, out := c.ListAssociationVersionsRequest(input) + return out, req.Send() +} + +// ListAssociationVersionsWithContext is the same as ListAssociationVersions with the addition of +// the ability to pass a context and additional request options. +// +// See ListAssociationVersions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) ListAssociationVersionsWithContext(ctx aws.Context, input *ListAssociationVersionsInput, opts ...request.Option) (*ListAssociationVersionsOutput, error) { + req, out := c.ListAssociationVersionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListAssociations = "ListAssociations" // ListAssociationsRequest generates a "aws/request.Request" representing the // client's request for the ListAssociations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListAssociations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListAssociations method directly -// instead. +// See ListAssociations for more information on using the ListAssociations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListAssociationsRequest method. // req, resp := client.ListAssociationsRequest(params) @@ -5867,19 +6084,18 @@ const opListCommandInvocations = "ListCommandInvocations" // ListCommandInvocationsRequest generates a "aws/request.Request" representing the // client's request for the ListCommandInvocations operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListCommandInvocations for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListCommandInvocations method directly -// instead. +// See ListCommandInvocations for more information on using the ListCommandInvocations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListCommandInvocationsRequest method. // req, resp := client.ListCommandInvocationsRequest(params) @@ -6030,19 +6246,18 @@ const opListCommands = "ListCommands" // ListCommandsRequest generates a "aws/request.Request" representing the // client's request for the ListCommands operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListCommands for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListCommands method directly -// instead. +// See ListCommands for more information on using the ListCommands +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListCommandsRequest method. // req, resp := client.ListCommandsRequest(params) @@ -6185,23 +6400,207 @@ func (c *SSM) ListCommandsPagesWithContext(ctx aws.Context, input *ListCommandsI return p.Err() } +const opListComplianceItems = "ListComplianceItems" + +// ListComplianceItemsRequest generates a "aws/request.Request" representing the +// client's request for the ListComplianceItems operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListComplianceItems for more information on using the ListComplianceItems +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListComplianceItemsRequest method. +// req, resp := client.ListComplianceItemsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceItems +func (c *SSM) ListComplianceItemsRequest(input *ListComplianceItemsInput) (req *request.Request, output *ListComplianceItemsOutput) { + op := &request.Operation{ + Name: opListComplianceItems, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListComplianceItemsInput{} + } + + output = &ListComplianceItemsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListComplianceItems API operation for Amazon Simple Systems Manager (SSM). +// +// For a specified resource ID, this API action returns a list of compliance +// statuses for different resource types. Currently, you can only specify one +// resource ID per call. List results depend on the criteria specified in the +// filter. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s +// API operation ListComplianceItems for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidResourceType "InvalidResourceType" +// The resource type is not valid. If you are attempting to tag an instance, +// the instance must be a registered, managed instance. +// +// * ErrCodeInvalidResourceId "InvalidResourceId" +// The resource ID is not valid. Verify that you entered the correct ID and +// try again. +// +// * ErrCodeInternalServerError "InternalServerError" +// An error occurred on the server side. +// +// * ErrCodeInvalidFilter "InvalidFilter" +// The filter name is not valid. Verify the you entered the correct name and +// try again. +// +// * ErrCodeInvalidNextToken "InvalidNextToken" +// The specified token is not valid. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceItems +func (c *SSM) ListComplianceItems(input *ListComplianceItemsInput) (*ListComplianceItemsOutput, error) { + req, out := c.ListComplianceItemsRequest(input) + return out, req.Send() +} + +// ListComplianceItemsWithContext is the same as ListComplianceItems with the addition of +// the ability to pass a context and additional request options. +// +// See ListComplianceItems for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) ListComplianceItemsWithContext(ctx aws.Context, input *ListComplianceItemsInput, opts ...request.Option) (*ListComplianceItemsOutput, error) { + req, out := c.ListComplianceItemsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListComplianceSummaries = "ListComplianceSummaries" + +// ListComplianceSummariesRequest generates a "aws/request.Request" representing the +// client's request for the ListComplianceSummaries operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListComplianceSummaries for more information on using the ListComplianceSummaries +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListComplianceSummariesRequest method. +// req, resp := client.ListComplianceSummariesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceSummaries +func (c *SSM) ListComplianceSummariesRequest(input *ListComplianceSummariesInput) (req *request.Request, output *ListComplianceSummariesOutput) { + op := &request.Operation{ + Name: opListComplianceSummaries, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListComplianceSummariesInput{} + } + + output = &ListComplianceSummariesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListComplianceSummaries API operation for Amazon Simple Systems Manager (SSM). +// +// Returns a summary count of compliant and non-compliant resources for a compliance +// type. For example, this call can return State Manager associations, patches, +// or custom compliance types according to the filter criteria that you specify. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s +// API operation ListComplianceSummaries for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidFilter "InvalidFilter" +// The filter name is not valid. Verify the you entered the correct name and +// try again. +// +// * ErrCodeInvalidNextToken "InvalidNextToken" +// The specified token is not valid. +// +// * ErrCodeInternalServerError "InternalServerError" +// An error occurred on the server side. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceSummaries +func (c *SSM) ListComplianceSummaries(input *ListComplianceSummariesInput) (*ListComplianceSummariesOutput, error) { + req, out := c.ListComplianceSummariesRequest(input) + return out, req.Send() +} + +// ListComplianceSummariesWithContext is the same as ListComplianceSummaries with the addition of +// the ability to pass a context and additional request options. +// +// See ListComplianceSummaries for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) ListComplianceSummariesWithContext(ctx aws.Context, input *ListComplianceSummariesInput, opts ...request.Option) (*ListComplianceSummariesOutput, error) { + req, out := c.ListComplianceSummariesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListDocumentVersions = "ListDocumentVersions" // ListDocumentVersionsRequest generates a "aws/request.Request" representing the // client's request for the ListDocumentVersions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDocumentVersions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDocumentVersions method directly -// instead. +// See ListDocumentVersions for more information on using the ListDocumentVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDocumentVersionsRequest method. // req, resp := client.ListDocumentVersionsRequest(params) @@ -6275,19 +6674,18 @@ const opListDocuments = "ListDocuments" // ListDocumentsRequest generates a "aws/request.Request" representing the // client's request for the ListDocuments operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDocuments for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDocuments method directly -// instead. +// See ListDocuments for more information on using the ListDocuments +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDocumentsRequest method. // req, resp := client.ListDocumentsRequest(params) @@ -6417,19 +6815,18 @@ const opListInventoryEntries = "ListInventoryEntries" // ListInventoryEntriesRequest generates a "aws/request.Request" representing the // client's request for the ListInventoryEntries operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListInventoryEntries for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListInventoryEntries method directly -// instead. +// See ListInventoryEntries for more information on using the ListInventoryEntries +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListInventoryEntriesRequest method. // req, resp := client.ListInventoryEntriesRequest(params) @@ -6518,23 +6915,110 @@ func (c *SSM) ListInventoryEntriesWithContext(ctx aws.Context, input *ListInvent return out, req.Send() } +const opListResourceComplianceSummaries = "ListResourceComplianceSummaries" + +// ListResourceComplianceSummariesRequest generates a "aws/request.Request" representing the +// client's request for the ListResourceComplianceSummaries operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListResourceComplianceSummaries for more information on using the ListResourceComplianceSummaries +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListResourceComplianceSummariesRequest method. +// req, resp := client.ListResourceComplianceSummariesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceComplianceSummaries +func (c *SSM) ListResourceComplianceSummariesRequest(input *ListResourceComplianceSummariesInput) (req *request.Request, output *ListResourceComplianceSummariesOutput) { + op := &request.Operation{ + Name: opListResourceComplianceSummaries, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListResourceComplianceSummariesInput{} + } + + output = &ListResourceComplianceSummariesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListResourceComplianceSummaries API operation for Amazon Simple Systems Manager (SSM). +// +// Returns a resource-level summary count. The summary includes information +// about compliant and non-compliant statuses and detailed compliance-item severity +// counts, according to the filter criteria you specify. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s +// API operation ListResourceComplianceSummaries for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidFilter "InvalidFilter" +// The filter name is not valid. Verify the you entered the correct name and +// try again. +// +// * ErrCodeInvalidNextToken "InvalidNextToken" +// The specified token is not valid. +// +// * ErrCodeInternalServerError "InternalServerError" +// An error occurred on the server side. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceComplianceSummaries +func (c *SSM) ListResourceComplianceSummaries(input *ListResourceComplianceSummariesInput) (*ListResourceComplianceSummariesOutput, error) { + req, out := c.ListResourceComplianceSummariesRequest(input) + return out, req.Send() +} + +// ListResourceComplianceSummariesWithContext is the same as ListResourceComplianceSummaries with the addition of +// the ability to pass a context and additional request options. +// +// See ListResourceComplianceSummaries for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) ListResourceComplianceSummariesWithContext(ctx aws.Context, input *ListResourceComplianceSummariesInput, opts ...request.Option) (*ListResourceComplianceSummariesOutput, error) { + req, out := c.ListResourceComplianceSummariesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListResourceDataSync = "ListResourceDataSync" // ListResourceDataSyncRequest generates a "aws/request.Request" representing the // client's request for the ListResourceDataSync operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListResourceDataSync for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListResourceDataSync method directly -// instead. +// See ListResourceDataSync for more information on using the ListResourceDataSync +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListResourceDataSyncRequest method. // req, resp := client.ListResourceDataSyncRequest(params) @@ -6614,19 +7098,18 @@ const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the // client's request for the ListTagsForResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTagsForResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTagsForResource method directly -// instead. +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTagsForResourceRequest method. // req, resp := client.ListTagsForResourceRequest(params) @@ -6702,19 +7185,18 @@ const opModifyDocumentPermission = "ModifyDocumentPermission" // ModifyDocumentPermissionRequest generates a "aws/request.Request" representing the // client's request for the ModifyDocumentPermission operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyDocumentPermission for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyDocumentPermission method directly -// instead. +// See ModifyDocumentPermission for more information on using the ModifyDocumentPermission +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyDocumentPermissionRequest method. // req, resp := client.ModifyDocumentPermissionRequest(params) @@ -6796,23 +7278,126 @@ func (c *SSM) ModifyDocumentPermissionWithContext(ctx aws.Context, input *Modify return out, req.Send() } +const opPutComplianceItems = "PutComplianceItems" + +// PutComplianceItemsRequest generates a "aws/request.Request" representing the +// client's request for the PutComplianceItems operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutComplianceItems for more information on using the PutComplianceItems +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the PutComplianceItemsRequest method. +// req, resp := client.PutComplianceItemsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutComplianceItems +func (c *SSM) PutComplianceItemsRequest(input *PutComplianceItemsInput) (req *request.Request, output *PutComplianceItemsOutput) { + op := &request.Operation{ + Name: opPutComplianceItems, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutComplianceItemsInput{} + } + + output = &PutComplianceItemsOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutComplianceItems API operation for Amazon Simple Systems Manager (SSM). +// +// Registers a compliance type and other compliance details on a designated +// resource. This action lets you register custom compliance details with a +// resource. This call overwrites existing compliance information on the resource, +// so you must provide a full list of compliance items each time that you send +// the request. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s +// API operation PutComplianceItems for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServerError "InternalServerError" +// An error occurred on the server side. +// +// * ErrCodeInvalidItemContentException "InvalidItemContentException" +// One or more content items is not valid. +// +// * ErrCodeTotalSizeLimitExceededException "TotalSizeLimitExceededException" +// The size of inventory data has exceeded the total size limit for the resource. +// +// * ErrCodeItemSizeLimitExceededException "ItemSizeLimitExceededException" +// The inventory item size has exceeded the size limit. +// +// * ErrCodeComplianceTypeCountLimitExceededException "ComplianceTypeCountLimitExceededException" +// You specified too many custom compliance types. You can specify a maximum +// of 10 different types. +// +// * ErrCodeInvalidResourceType "InvalidResourceType" +// The resource type is not valid. If you are attempting to tag an instance, +// the instance must be a registered, managed instance. +// +// * ErrCodeInvalidResourceId "InvalidResourceId" +// The resource ID is not valid. Verify that you entered the correct ID and +// try again. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutComplianceItems +func (c *SSM) PutComplianceItems(input *PutComplianceItemsInput) (*PutComplianceItemsOutput, error) { + req, out := c.PutComplianceItemsRequest(input) + return out, req.Send() +} + +// PutComplianceItemsWithContext is the same as PutComplianceItems with the addition of +// the ability to pass a context and additional request options. +// +// See PutComplianceItems for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) PutComplianceItemsWithContext(ctx aws.Context, input *PutComplianceItemsInput, opts ...request.Option) (*PutComplianceItemsOutput, error) { + req, out := c.PutComplianceItemsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opPutInventory = "PutInventory" // PutInventoryRequest generates a "aws/request.Request" representing the // client's request for the PutInventory operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutInventory for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutInventory method directly -// instead. +// See PutInventory for more information on using the PutInventory +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutInventoryRequest method. // req, resp := client.PutInventoryRequest(params) @@ -6895,6 +7480,18 @@ func (c *SSM) PutInventoryRequest(input *PutInventoryInput) (req *request.Reques // service. Check output of GetInventorySchema to see the available schema version // for each type. // +// * ErrCodeUnsupportedInventoryItemContextException "UnsupportedInventoryItemContextException" +// The Context attribute that you specified for the InventoryItem is not allowed +// for this inventory type. You can only use the Context attribute with inventory +// types like AWS:ComplianceItem. +// +// * ErrCodeInvalidInventoryItemContextException "InvalidInventoryItemContextException" +// You specified invalid keys or values in the Context attribute for InventoryItem. +// Verify the keys and values, and try again. +// +// * ErrCodeSubTypeCountLimitExceededException "SubTypeCountLimitExceededException" +// The sub-type count exceeded the limit for the inventory type. +// // Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutInventory func (c *SSM) PutInventory(input *PutInventoryInput) (*PutInventoryOutput, error) { req, out := c.PutInventoryRequest(input) @@ -6921,19 +7518,18 @@ const opPutParameter = "PutParameter" // PutParameterRequest generates a "aws/request.Request" representing the // client's request for the PutParameter operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutParameter for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutParameter method directly -// instead. +// See PutParameter for more information on using the PutParameter +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutParameterRequest method. // req, resp := client.PutParameterRequest(params) @@ -7036,19 +7632,18 @@ const opRegisterDefaultPatchBaseline = "RegisterDefaultPatchBaseline" // RegisterDefaultPatchBaselineRequest generates a "aws/request.Request" representing the // client's request for the RegisterDefaultPatchBaseline operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterDefaultPatchBaseline for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterDefaultPatchBaseline method directly -// instead. +// See RegisterDefaultPatchBaseline for more information on using the RegisterDefaultPatchBaseline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterDefaultPatchBaselineRequest method. // req, resp := client.RegisterDefaultPatchBaselineRequest(params) @@ -7124,19 +7719,18 @@ const opRegisterPatchBaselineForPatchGroup = "RegisterPatchBaselineForPatchGroup // RegisterPatchBaselineForPatchGroupRequest generates a "aws/request.Request" representing the // client's request for the RegisterPatchBaselineForPatchGroup operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterPatchBaselineForPatchGroup for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterPatchBaselineForPatchGroup method directly -// instead. +// See RegisterPatchBaselineForPatchGroup for more information on using the RegisterPatchBaselineForPatchGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterPatchBaselineForPatchGroupRequest method. // req, resp := client.RegisterPatchBaselineForPatchGroupRequest(params) @@ -7220,19 +7814,18 @@ const opRegisterTargetWithMaintenanceWindow = "RegisterTargetWithMaintenanceWind // RegisterTargetWithMaintenanceWindowRequest generates a "aws/request.Request" representing the // client's request for the RegisterTargetWithMaintenanceWindow operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterTargetWithMaintenanceWindow for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterTargetWithMaintenanceWindow method directly -// instead. +// See RegisterTargetWithMaintenanceWindow for more information on using the RegisterTargetWithMaintenanceWindow +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterTargetWithMaintenanceWindowRequest method. // req, resp := client.RegisterTargetWithMaintenanceWindowRequest(params) @@ -7312,19 +7905,18 @@ const opRegisterTaskWithMaintenanceWindow = "RegisterTaskWithMaintenanceWindow" // RegisterTaskWithMaintenanceWindowRequest generates a "aws/request.Request" representing the // client's request for the RegisterTaskWithMaintenanceWindow operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterTaskWithMaintenanceWindow for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterTaskWithMaintenanceWindow method directly -// instead. +// See RegisterTaskWithMaintenanceWindow for more information on using the RegisterTaskWithMaintenanceWindow +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterTaskWithMaintenanceWindowRequest method. // req, resp := client.RegisterTaskWithMaintenanceWindowRequest(params) @@ -7375,6 +7967,10 @@ func (c *SSM) RegisterTaskWithMaintenanceWindowRequest(input *RegisterTaskWithMa // Error returned when the caller has exceeded the default resource limits (e.g. // too many Maintenance Windows have been created). // +// * ErrCodeFeatureNotAvailableException "FeatureNotAvailableException" +// You attempted to register a LAMBDA or STEP_FUNCTION task in a region where +// the corresponding service is not available. +// // * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. // @@ -7404,19 +8000,18 @@ const opRemoveTagsFromResource = "RemoveTagsFromResource" // RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the // client's request for the RemoveTagsFromResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveTagsFromResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveTagsFromResource method directly -// instead. +// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveTagsFromResourceRequest method. // req, resp := client.RemoveTagsFromResourceRequest(params) @@ -7488,23 +8083,109 @@ func (c *SSM) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTa return out, req.Send() } +const opSendAutomationSignal = "SendAutomationSignal" + +// SendAutomationSignalRequest generates a "aws/request.Request" representing the +// client's request for the SendAutomationSignal operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See SendAutomationSignal for more information on using the SendAutomationSignal +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the SendAutomationSignalRequest method. +// req, resp := client.SendAutomationSignalRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendAutomationSignal +func (c *SSM) SendAutomationSignalRequest(input *SendAutomationSignalInput) (req *request.Request, output *SendAutomationSignalOutput) { + op := &request.Operation{ + Name: opSendAutomationSignal, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SendAutomationSignalInput{} + } + + output = &SendAutomationSignalOutput{} + req = c.newRequest(op, input, output) + return +} + +// SendAutomationSignal API operation for Amazon Simple Systems Manager (SSM). +// +// Sends a signal to an Automation execution to change the current behavior +// or status of the execution. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s +// API operation SendAutomationSignal for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAutomationExecutionNotFoundException "AutomationExecutionNotFoundException" +// There is no automation execution information for the requested automation +// execution ID. +// +// * ErrCodeInvalidAutomationSignalException "InvalidAutomationSignalException" +// The signal is not valid for the current Automation execution. +// +// * ErrCodeInternalServerError "InternalServerError" +// An error occurred on the server side. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendAutomationSignal +func (c *SSM) SendAutomationSignal(input *SendAutomationSignalInput) (*SendAutomationSignalOutput, error) { + req, out := c.SendAutomationSignalRequest(input) + return out, req.Send() +} + +// SendAutomationSignalWithContext is the same as SendAutomationSignal with the addition of +// the ability to pass a context and additional request options. +// +// See SendAutomationSignal for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) SendAutomationSignalWithContext(ctx aws.Context, input *SendAutomationSignalInput, opts ...request.Option) (*SendAutomationSignalOutput, error) { + req, out := c.SendAutomationSignalRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opSendCommand = "SendCommand" // SendCommandRequest generates a "aws/request.Request" representing the // client's request for the SendCommand operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SendCommand for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SendCommand method directly -// instead. +// See SendCommand for more information on using the SendCommand +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SendCommandRequest method. // req, resp := client.SendCommandRequest(params) @@ -7618,19 +8299,18 @@ const opStartAutomationExecution = "StartAutomationExecution" // StartAutomationExecutionRequest generates a "aws/request.Request" representing the // client's request for the StartAutomationExecution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartAutomationExecution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartAutomationExecution method directly -// instead. +// See StartAutomationExecution for more information on using the StartAutomationExecution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartAutomationExecutionRequest method. // req, resp := client.StartAutomationExecutionRequest(params) @@ -7684,6 +8364,10 @@ func (c *SSM) StartAutomationExecutionRequest(input *StartAutomationExecutionInp // * ErrCodeAutomationDefinitionVersionNotFoundException "AutomationDefinitionVersionNotFoundException" // An Automation document with the specified name and version could not be found. // +// * ErrCodeIdempotentParameterMismatch "IdempotentParameterMismatch" +// Error returned when an idempotent operation is retried and the parameters +// don't match the original call to the API with the same idempotency token. +// // * ErrCodeInternalServerError "InternalServerError" // An error occurred on the server side. // @@ -7713,19 +8397,18 @@ const opStopAutomationExecution = "StopAutomationExecution" // StopAutomationExecutionRequest generates a "aws/request.Request" representing the // client's request for the StopAutomationExecution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StopAutomationExecution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StopAutomationExecution method directly -// instead. +// See StopAutomationExecution for more information on using the StopAutomationExecution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StopAutomationExecutionRequest method. // req, resp := client.StopAutomationExecutionRequest(params) @@ -7797,19 +8480,18 @@ const opUpdateAssociation = "UpdateAssociation" // UpdateAssociationRequest generates a "aws/request.Request" representing the // client's request for the UpdateAssociation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateAssociation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateAssociation method directly -// instead. +// See UpdateAssociation for more information on using the UpdateAssociation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateAssociationRequest method. // req, resp := client.UpdateAssociationRequest(params) @@ -7838,8 +8520,8 @@ func (c *SSM) UpdateAssociationRequest(input *UpdateAssociationInput) (req *requ // UpdateAssociation API operation for Amazon Simple Systems Manager (SSM). // -// Updates an association. You can only update the document version, schedule, -// parameters, and Amazon S3 output of an association. +// Updates an association. You can update the association name and version, +// the document version, schedule, parameters, and Amazon S3 output. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -7882,6 +8564,15 @@ func (c *SSM) UpdateAssociationRequest(input *UpdateAssociationInput) (req *requ // The target is not valid or does not exist. It might not be configured for // EC2 Systems Manager or you might not have permission to perform the operation. // +// * ErrCodeInvalidAssociationVersion "InvalidAssociationVersion" +// The version you specified is not valid. Use ListAssociationVersions to view +// all versions of an association according to the association ID. Or, use the +// $LATEST parameter to view the latest version of the association. +// +// * ErrCodeAssociationVersionLimitExceeded "AssociationVersionLimitExceeded" +// You have reached the maximum number versions allowed for an association. +// Each association has a limit of 1,000 versions. +// // Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociation func (c *SSM) UpdateAssociation(input *UpdateAssociationInput) (*UpdateAssociationOutput, error) { req, out := c.UpdateAssociationRequest(input) @@ -7908,19 +8599,18 @@ const opUpdateAssociationStatus = "UpdateAssociationStatus" // UpdateAssociationStatusRequest generates a "aws/request.Request" representing the // client's request for the UpdateAssociationStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateAssociationStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateAssociationStatus method directly -// instead. +// See UpdateAssociationStatus for more information on using the UpdateAssociationStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateAssociationStatusRequest method. // req, resp := client.UpdateAssociationStatusRequest(params) @@ -8017,19 +8707,18 @@ const opUpdateDocument = "UpdateDocument" // UpdateDocumentRequest generates a "aws/request.Request" representing the // client's request for the UpdateDocument operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateDocument for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateDocument method directly -// instead. +// See UpdateDocument for more information on using the UpdateDocument +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateDocumentRequest method. // req, resp := client.UpdateDocumentRequest(params) @@ -8120,19 +8809,18 @@ const opUpdateDocumentDefaultVersion = "UpdateDocumentDefaultVersion" // UpdateDocumentDefaultVersionRequest generates a "aws/request.Request" representing the // client's request for the UpdateDocumentDefaultVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateDocumentDefaultVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateDocumentDefaultVersion method directly -// instead. +// See UpdateDocumentDefaultVersion for more information on using the UpdateDocumentDefaultVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateDocumentDefaultVersionRequest method. // req, resp := client.UpdateDocumentDefaultVersionRequest(params) @@ -8209,19 +8897,18 @@ const opUpdateMaintenanceWindow = "UpdateMaintenanceWindow" // UpdateMaintenanceWindowRequest generates a "aws/request.Request" representing the // client's request for the UpdateMaintenanceWindow operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateMaintenanceWindow for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateMaintenanceWindow method directly -// instead. +// See UpdateMaintenanceWindow for more information on using the UpdateMaintenanceWindow +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateMaintenanceWindowRequest method. // req, resp := client.UpdateMaintenanceWindowRequest(params) @@ -8289,23 +8976,223 @@ func (c *SSM) UpdateMaintenanceWindowWithContext(ctx aws.Context, input *UpdateM return out, req.Send() } +const opUpdateMaintenanceWindowTarget = "UpdateMaintenanceWindowTarget" + +// UpdateMaintenanceWindowTargetRequest generates a "aws/request.Request" representing the +// client's request for the UpdateMaintenanceWindowTarget operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateMaintenanceWindowTarget for more information on using the UpdateMaintenanceWindowTarget +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateMaintenanceWindowTargetRequest method. +// req, resp := client.UpdateMaintenanceWindowTargetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTarget +func (c *SSM) UpdateMaintenanceWindowTargetRequest(input *UpdateMaintenanceWindowTargetInput) (req *request.Request, output *UpdateMaintenanceWindowTargetOutput) { + op := &request.Operation{ + Name: opUpdateMaintenanceWindowTarget, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateMaintenanceWindowTargetInput{} + } + + output = &UpdateMaintenanceWindowTargetOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateMaintenanceWindowTarget API operation for Amazon Simple Systems Manager (SSM). +// +// Modifies the target of an existing Maintenance Window. You can't change the +// target type, but you can change the following: +// +// The target from being an ID target to a Tag target, or a Tag target to an +// ID target. +// +// IDs for an ID target. +// +// Tags for a Tag target. +// +// Owner. +// +// Name. +// +// Description. +// +// If a parameter is null, then the corresponding field is not modified. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s +// API operation UpdateMaintenanceWindowTarget for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDoesNotExistException "DoesNotExistException" +// Error returned when the ID specified for a resource (e.g. a Maintenance Window) +// doesn't exist. +// +// * ErrCodeInternalServerError "InternalServerError" +// An error occurred on the server side. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTarget +func (c *SSM) UpdateMaintenanceWindowTarget(input *UpdateMaintenanceWindowTargetInput) (*UpdateMaintenanceWindowTargetOutput, error) { + req, out := c.UpdateMaintenanceWindowTargetRequest(input) + return out, req.Send() +} + +// UpdateMaintenanceWindowTargetWithContext is the same as UpdateMaintenanceWindowTarget with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateMaintenanceWindowTarget for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) UpdateMaintenanceWindowTargetWithContext(ctx aws.Context, input *UpdateMaintenanceWindowTargetInput, opts ...request.Option) (*UpdateMaintenanceWindowTargetOutput, error) { + req, out := c.UpdateMaintenanceWindowTargetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateMaintenanceWindowTask = "UpdateMaintenanceWindowTask" + +// UpdateMaintenanceWindowTaskRequest generates a "aws/request.Request" representing the +// client's request for the UpdateMaintenanceWindowTask operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateMaintenanceWindowTask for more information on using the UpdateMaintenanceWindowTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateMaintenanceWindowTaskRequest method. +// req, resp := client.UpdateMaintenanceWindowTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTask +func (c *SSM) UpdateMaintenanceWindowTaskRequest(input *UpdateMaintenanceWindowTaskInput) (req *request.Request, output *UpdateMaintenanceWindowTaskOutput) { + op := &request.Operation{ + Name: opUpdateMaintenanceWindowTask, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateMaintenanceWindowTaskInput{} + } + + output = &UpdateMaintenanceWindowTaskOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateMaintenanceWindowTask API operation for Amazon Simple Systems Manager (SSM). +// +// Modifies a task assigned to a Maintenance Window. You can't change the task +// type, but you can change the following values: +// +// Task ARN. For example, you can change a RUN_COMMAND task from AWS-RunPowerShellScript +// to AWS-RunShellScript. +// +// Service role ARN. +// +// Task parameters. +// +// Task priority. +// +// Task MaxConcurrency and MaxErrors. +// +// Log location. +// +// If a parameter is null, then the corresponding field is not modified. Also, +// if you set Replace to true, then all fields required by the RegisterTaskWithMaintenanceWindow +// action are required for this request. Optional fields that aren't specified +// are set to null. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s +// API operation UpdateMaintenanceWindowTask for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDoesNotExistException "DoesNotExistException" +// Error returned when the ID specified for a resource (e.g. a Maintenance Window) +// doesn't exist. +// +// * ErrCodeInternalServerError "InternalServerError" +// An error occurred on the server side. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTask +func (c *SSM) UpdateMaintenanceWindowTask(input *UpdateMaintenanceWindowTaskInput) (*UpdateMaintenanceWindowTaskOutput, error) { + req, out := c.UpdateMaintenanceWindowTaskRequest(input) + return out, req.Send() +} + +// UpdateMaintenanceWindowTaskWithContext is the same as UpdateMaintenanceWindowTask with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateMaintenanceWindowTask for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) UpdateMaintenanceWindowTaskWithContext(ctx aws.Context, input *UpdateMaintenanceWindowTaskInput, opts ...request.Option) (*UpdateMaintenanceWindowTaskOutput, error) { + req, out := c.UpdateMaintenanceWindowTaskRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateManagedInstanceRole = "UpdateManagedInstanceRole" // UpdateManagedInstanceRoleRequest generates a "aws/request.Request" representing the // client's request for the UpdateManagedInstanceRole operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateManagedInstanceRole for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateManagedInstanceRole method directly -// instead. +// See UpdateManagedInstanceRole for more information on using the UpdateManagedInstanceRole +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateManagedInstanceRoleRequest method. // req, resp := client.UpdateManagedInstanceRoleRequest(params) @@ -8389,19 +9276,18 @@ const opUpdatePatchBaseline = "UpdatePatchBaseline" // UpdatePatchBaselineRequest generates a "aws/request.Request" representing the // client's request for the UpdatePatchBaseline operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdatePatchBaseline for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdatePatchBaseline method directly -// instead. +// See UpdatePatchBaseline for more information on using the UpdatePatchBaseline +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdatePatchBaselineRequest method. // req, resp := client.UpdatePatchBaselineRequest(params) @@ -8674,6 +9560,12 @@ type Association struct { // is a binding between a document and a set of targets with a schedule. AssociationId *string `type:"string"` + // The association name. + AssociationName *string `type:"string"` + + // The association version. + AssociationVersion *string `type:"string"` + // The version of the document used in the association. DocumentVersion *string `type:"string"` @@ -8712,6 +9604,18 @@ func (s *Association) SetAssociationId(v string) *Association { return s } +// SetAssociationName sets the AssociationName field's value. +func (s *Association) SetAssociationName(v string) *Association { + s.AssociationName = &v + return s +} + +// SetAssociationVersion sets the AssociationVersion field's value. +func (s *Association) SetAssociationVersion(v string) *Association { + s.AssociationVersion = &v + return s +} + // SetDocumentVersion sets the DocumentVersion field's value. func (s *Association) SetDocumentVersion(v string) *Association { s.DocumentVersion = &v @@ -8762,6 +9666,12 @@ type AssociationDescription struct { // The association ID. AssociationId *string `type:"string"` + // The association name. + AssociationName *string `type:"string"` + + // The association version. + AssociationVersion *string `type:"string"` + // The date when the association was made. Date *time.Time `type:"timestamp" timestampFormat:"unix"` @@ -8818,6 +9728,18 @@ func (s *AssociationDescription) SetAssociationId(v string) *AssociationDescript return s } +// SetAssociationName sets the AssociationName field's value. +func (s *AssociationDescription) SetAssociationName(v string) *AssociationDescription { + s.AssociationName = &v + return s +} + +// SetAssociationVersion sets the AssociationVersion field's value. +func (s *AssociationDescription) SetAssociationVersion(v string) *AssociationDescription { + s.AssociationVersion = &v + return s +} + // SetDate sets the Date field's value. func (s *AssociationDescription) SetDate(v time.Time) *AssociationDescription { s.Date = &v @@ -9078,6 +10000,116 @@ func (s *AssociationStatus) SetName(v string) *AssociationStatus { return s } +// Information about the association version. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AssociationVersionInfo +type AssociationVersionInfo struct { + _ struct{} `type:"structure"` + + // The ID created by the system when the association was created. + AssociationId *string `type:"string"` + + // The name specified for the association version when the association version + // was created. + AssociationName *string `type:"string"` + + // The association version. + AssociationVersion *string `type:"string"` + + // The date the association version was created. + CreatedDate *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The version of an SSM document used when the association version was created. + DocumentVersion *string `type:"string"` + + // The name specified when the association was created. + Name *string `type:"string"` + + // The location in Amazon S3 specified for the association when the association + // version was created. + OutputLocation *InstanceAssociationOutputLocation `type:"structure"` + + // Parameters specified when the association version was created. + Parameters map[string][]*string `type:"map"` + + // The cron or rate schedule specified for the association when the association + // version was created. + ScheduleExpression *string `min:"1" type:"string"` + + // The targets specified for the association when the association version was + // created. + Targets []*Target `type:"list"` +} + +// String returns the string representation +func (s AssociationVersionInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociationVersionInfo) GoString() string { + return s.String() +} + +// SetAssociationId sets the AssociationId field's value. +func (s *AssociationVersionInfo) SetAssociationId(v string) *AssociationVersionInfo { + s.AssociationId = &v + return s +} + +// SetAssociationName sets the AssociationName field's value. +func (s *AssociationVersionInfo) SetAssociationName(v string) *AssociationVersionInfo { + s.AssociationName = &v + return s +} + +// SetAssociationVersion sets the AssociationVersion field's value. +func (s *AssociationVersionInfo) SetAssociationVersion(v string) *AssociationVersionInfo { + s.AssociationVersion = &v + return s +} + +// SetCreatedDate sets the CreatedDate field's value. +func (s *AssociationVersionInfo) SetCreatedDate(v time.Time) *AssociationVersionInfo { + s.CreatedDate = &v + return s +} + +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *AssociationVersionInfo) SetDocumentVersion(v string) *AssociationVersionInfo { + s.DocumentVersion = &v + return s +} + +// SetName sets the Name field's value. +func (s *AssociationVersionInfo) SetName(v string) *AssociationVersionInfo { + s.Name = &v + return s +} + +// SetOutputLocation sets the OutputLocation field's value. +func (s *AssociationVersionInfo) SetOutputLocation(v *InstanceAssociationOutputLocation) *AssociationVersionInfo { + s.OutputLocation = v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *AssociationVersionInfo) SetParameters(v map[string][]*string) *AssociationVersionInfo { + s.Parameters = v + return s +} + +// SetScheduleExpression sets the ScheduleExpression field's value. +func (s *AssociationVersionInfo) SetScheduleExpression(v string) *AssociationVersionInfo { + s.ScheduleExpression = &v + return s +} + +// SetTargets sets the Targets field's value. +func (s *AssociationVersionInfo) SetTargets(v []*Target) *AssociationVersionInfo { + s.Targets = v + return s +} + // Detailed information about the current state of an individual Automation // execution. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AutomationExecution @@ -10114,6 +11146,401 @@ func (s *CommandPlugin) SetStatusDetails(v string) *CommandPlugin { return s } +// A summary of the call execution that includes an execution ID, the type of +// execution (for example, Command), and the date/time of the execution using +// a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ComplianceExecutionSummary +type ComplianceExecutionSummary struct { + _ struct{} `type:"structure"` + + // An ID created by the system when PutComplianceItems was called. For example, + // CommandID is a valid execution ID. You can use this ID in subsequent calls. + ExecutionId *string `type:"string"` + + // The time the execution ran as a datetime object that is saved in the following + // format: yyyy-MM-dd'T'HH:mm:ss'Z'. + // + // ExecutionTime is a required field + ExecutionTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"` + + // The type of execution. For example, Command is a valid execution type. + ExecutionType *string `type:"string"` +} + +// String returns the string representation +func (s ComplianceExecutionSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ComplianceExecutionSummary) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ComplianceExecutionSummary) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ComplianceExecutionSummary"} + if s.ExecutionTime == nil { + invalidParams.Add(request.NewErrParamRequired("ExecutionTime")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetExecutionId sets the ExecutionId field's value. +func (s *ComplianceExecutionSummary) SetExecutionId(v string) *ComplianceExecutionSummary { + s.ExecutionId = &v + return s +} + +// SetExecutionTime sets the ExecutionTime field's value. +func (s *ComplianceExecutionSummary) SetExecutionTime(v time.Time) *ComplianceExecutionSummary { + s.ExecutionTime = &v + return s +} + +// SetExecutionType sets the ExecutionType field's value. +func (s *ComplianceExecutionSummary) SetExecutionType(v string) *ComplianceExecutionSummary { + s.ExecutionType = &v + return s +} + +// Information about the compliance as defined by the resource type. For example, +// for a patch resource type, Items includes information about the PatchSeverity, +// Classification, etc. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ComplianceItem +type ComplianceItem struct { + _ struct{} `type:"structure"` + + // The compliance type. For example, Association (for a State Manager association), + // Patch, or Custom:string are all valid compliance types. + ComplianceType *string `min:"1" type:"string"` + + // A "Key": "Value" tag combination for the compliance item. + Details map[string]*string `type:"map"` + + // A summary for the compliance item. The summary includes an execution ID, + // the execution type (for example, command), and the execution time. + ExecutionSummary *ComplianceExecutionSummary `type:"structure"` + + // An ID for the compliance item. For example, if the compliance item is a Windows + // patch, the ID could be the number of the KB article. Here's an example: KB4010320. + Id *string `min:"1" type:"string"` + + // An ID for the resource. For a managed instance, this is the instance ID. + ResourceId *string `min:"1" type:"string"` + + // The type of resource. ManagedInstance is currently the only supported resource + // type. + ResourceType *string `min:"1" type:"string"` + + // The severity of the compliance status. Severity can be one of the following: + // Critical, High, Medium, Low, Informational, Unspecified. + Severity *string `type:"string" enum:"ComplianceSeverity"` + + // The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT. + Status *string `type:"string" enum:"ComplianceStatus"` + + // A title for the compliance item. For example, if the compliance item is a + // Windows patch, the title could be the title of the KB article for the patch. + // Here's an example: Security Update for Active Directory Federation Services. + Title *string `type:"string"` +} + +// String returns the string representation +func (s ComplianceItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ComplianceItem) GoString() string { + return s.String() +} + +// SetComplianceType sets the ComplianceType field's value. +func (s *ComplianceItem) SetComplianceType(v string) *ComplianceItem { + s.ComplianceType = &v + return s +} + +// SetDetails sets the Details field's value. +func (s *ComplianceItem) SetDetails(v map[string]*string) *ComplianceItem { + s.Details = v + return s +} + +// SetExecutionSummary sets the ExecutionSummary field's value. +func (s *ComplianceItem) SetExecutionSummary(v *ComplianceExecutionSummary) *ComplianceItem { + s.ExecutionSummary = v + return s +} + +// SetId sets the Id field's value. +func (s *ComplianceItem) SetId(v string) *ComplianceItem { + s.Id = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *ComplianceItem) SetResourceId(v string) *ComplianceItem { + s.ResourceId = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ComplianceItem) SetResourceType(v string) *ComplianceItem { + s.ResourceType = &v + return s +} + +// SetSeverity sets the Severity field's value. +func (s *ComplianceItem) SetSeverity(v string) *ComplianceItem { + s.Severity = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ComplianceItem) SetStatus(v string) *ComplianceItem { + s.Status = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *ComplianceItem) SetTitle(v string) *ComplianceItem { + s.Title = &v + return s +} + +// Information about a compliance item. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ComplianceItemEntry +type ComplianceItemEntry struct { + _ struct{} `type:"structure"` + + // A "Key": "Value" tag combination for the compliance item. + Details map[string]*string `type:"map"` + + // The compliance item ID. For example, if the compliance item is a Windows + // patch, the ID could be the number of the KB article. + Id *string `min:"1" type:"string"` + + // The severity of the compliance status. Severity can be one of the following: + // Critical, High, Medium, Low, Informational, Unspecified. + // + // Severity is a required field + Severity *string `type:"string" required:"true" enum:"ComplianceSeverity"` + + // The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"ComplianceStatus"` + + // The title of the compliance item. For example, if the compliance item is + // a Windows patch, the title could be the title of the KB article for the patch. + // Here's an example: Security Update for Active Directory Federation Services. + Title *string `type:"string"` +} + +// String returns the string representation +func (s ComplianceItemEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ComplianceItemEntry) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ComplianceItemEntry) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ComplianceItemEntry"} + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.Severity == nil { + invalidParams.Add(request.NewErrParamRequired("Severity")) + } + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDetails sets the Details field's value. +func (s *ComplianceItemEntry) SetDetails(v map[string]*string) *ComplianceItemEntry { + s.Details = v + return s +} + +// SetId sets the Id field's value. +func (s *ComplianceItemEntry) SetId(v string) *ComplianceItemEntry { + s.Id = &v + return s +} + +// SetSeverity sets the Severity field's value. +func (s *ComplianceItemEntry) SetSeverity(v string) *ComplianceItemEntry { + s.Severity = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ComplianceItemEntry) SetStatus(v string) *ComplianceItemEntry { + s.Status = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *ComplianceItemEntry) SetTitle(v string) *ComplianceItemEntry { + s.Title = &v + return s +} + +// One or more filters. Use a filter to return a more specific list of results. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ComplianceStringFilter +type ComplianceStringFilter struct { + _ struct{} `type:"structure"` + + // The name of the filter. + Key *string `min:"1" type:"string"` + + // The type of comparison that should be performed for the value: Equal, NotEqual, + // BeginWith, LessThan, or GreaterThan. + Type *string `type:"string" enum:"ComplianceQueryOperatorType"` + + // The value for which to search. + Values []*string `locationNameList:"FilterValue" min:"1" type:"list"` +} + +// String returns the string representation +func (s ComplianceStringFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ComplianceStringFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ComplianceStringFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ComplianceStringFilter"} + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Values != nil && len(s.Values) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Values", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *ComplianceStringFilter) SetKey(v string) *ComplianceStringFilter { + s.Key = &v + return s +} + +// SetType sets the Type field's value. +func (s *ComplianceStringFilter) SetType(v string) *ComplianceStringFilter { + s.Type = &v + return s +} + +// SetValues sets the Values field's value. +func (s *ComplianceStringFilter) SetValues(v []*string) *ComplianceStringFilter { + s.Values = v + return s +} + +// A summary of compliance information by compliance type. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ComplianceSummaryItem +type ComplianceSummaryItem struct { + _ struct{} `type:"structure"` + + // The type of compliance item. For example, the compliance type can be Association, + // Patch, or Custom:string. + ComplianceType *string `min:"1" type:"string"` + + // A list of COMPLIANT items for the specified compliance type. + CompliantSummary *CompliantSummary `type:"structure"` + + // A list of NON_COMPLIANT items for the specified compliance type. + NonCompliantSummary *NonCompliantSummary `type:"structure"` +} + +// String returns the string representation +func (s ComplianceSummaryItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ComplianceSummaryItem) GoString() string { + return s.String() +} + +// SetComplianceType sets the ComplianceType field's value. +func (s *ComplianceSummaryItem) SetComplianceType(v string) *ComplianceSummaryItem { + s.ComplianceType = &v + return s +} + +// SetCompliantSummary sets the CompliantSummary field's value. +func (s *ComplianceSummaryItem) SetCompliantSummary(v *CompliantSummary) *ComplianceSummaryItem { + s.CompliantSummary = v + return s +} + +// SetNonCompliantSummary sets the NonCompliantSummary field's value. +func (s *ComplianceSummaryItem) SetNonCompliantSummary(v *NonCompliantSummary) *ComplianceSummaryItem { + s.NonCompliantSummary = v + return s +} + +// A summary of resources that are compliant. The summary is organized according +// to the resource count for each compliance type. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CompliantSummary +type CompliantSummary struct { + _ struct{} `type:"structure"` + + // The total number of resources that are compliant. + CompliantCount *int64 `type:"integer"` + + // A summary of the compliance severity by compliance type. + SeveritySummary *SeveritySummary `type:"structure"` +} + +// String returns the string representation +func (s CompliantSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CompliantSummary) GoString() string { + return s.String() +} + +// SetCompliantCount sets the CompliantCount field's value. +func (s *CompliantSummary) SetCompliantCount(v int64) *CompliantSummary { + s.CompliantCount = &v + return s +} + +// SetSeveritySummary sets the SeveritySummary field's value. +func (s *CompliantSummary) SetSeveritySummary(v *SeveritySummary) *CompliantSummary { + s.SeveritySummary = v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateActivationRequest type CreateActivationInput struct { _ struct{} `type:"structure"` @@ -10322,6 +11749,9 @@ func (s *CreateAssociationBatchOutput) SetSuccessful(v []*AssociationDescription type CreateAssociationBatchRequestEntry struct { _ struct{} `type:"structure"` + // Specify a descriptive name for the association. + AssociationName *string `type:"string"` + // The document version. DocumentVersion *string `type:"string"` @@ -10387,6 +11817,12 @@ func (s *CreateAssociationBatchRequestEntry) Validate() error { return nil } +// SetAssociationName sets the AssociationName field's value. +func (s *CreateAssociationBatchRequestEntry) SetAssociationName(v string) *CreateAssociationBatchRequestEntry { + s.AssociationName = &v + return s +} + // SetDocumentVersion sets the DocumentVersion field's value. func (s *CreateAssociationBatchRequestEntry) SetDocumentVersion(v string) *CreateAssociationBatchRequestEntry { s.DocumentVersion = &v @@ -10433,6 +11869,9 @@ func (s *CreateAssociationBatchRequestEntry) SetTargets(v []*Target) *CreateAsso type CreateAssociationInput struct { _ struct{} `type:"structure"` + // Specify a descriptive name for the association. + AssociationName *string `type:"string"` + // The document version you want to associate with the target(s). Can be a specific // version or the default version. DocumentVersion *string `type:"string"` @@ -10499,6 +11938,12 @@ func (s *CreateAssociationInput) Validate() error { return nil } +// SetAssociationName sets the AssociationName field's value. +func (s *CreateAssociationInput) SetAssociationName(v string) *CreateAssociationInput { + s.AssociationName = &v + return s +} + // SetDocumentVersion sets the DocumentVersion field's value. func (s *CreateAssociationInput) SetDocumentVersion(v string) *CreateAssociationInput { s.DocumentVersion = &v @@ -10659,8 +12104,13 @@ func (s *CreateDocumentOutput) SetDocumentDescription(v *DocumentDescription) *C type CreateMaintenanceWindowInput struct { _ struct{} `type:"structure"` - // Whether targets must be registered with the Maintenance Window before tasks - // can be defined for those targets. + // Enables a Maintenance Window task to execute on managed instances, even if + // you have not registered those instances as targets. If enabled, then you + // must specify the unregistered instances (by instance ID) when you register + // a task with the Maintenance Window + // + // If you don't enable this option, then you must specify previously-registered + // targets when you register a task with the Maintenance Window. // // AllowUnassociatedTargets is a required field AllowUnassociatedTargets *bool `type:"boolean" required:"true"` @@ -10674,6 +12124,10 @@ type CreateMaintenanceWindowInput struct { // Cutoff is a required field Cutoff *int64 `type:"integer" required:"true"` + // An optional description for the Maintenance Window. We recommend specifying + // a description to help you organize your Maintenance Windows. + Description *string `min:"1" type:"string"` + // The duration of the Maintenance Window in hours. // // Duration is a required field @@ -10712,6 +12166,9 @@ func (s *CreateMaintenanceWindowInput) Validate() error { if s.Cutoff == nil { invalidParams.Add(request.NewErrParamRequired("Cutoff")) } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } if s.Duration == nil { invalidParams.Add(request.NewErrParamRequired("Duration")) } @@ -10755,6 +12212,12 @@ func (s *CreateMaintenanceWindowInput) SetCutoff(v int64) *CreateMaintenanceWind return s } +// SetDescription sets the Description field's value. +func (s *CreateMaintenanceWindowInput) SetDescription(v string) *CreateMaintenanceWindowInput { + s.Description = &v + return s +} + // SetDuration sets the Duration field's value. func (s *CreateMaintenanceWindowInput) SetDuration(v int64) *CreateMaintenanceWindowInput { s.Duration = &v @@ -11670,6 +13133,11 @@ func (s *DeregisterPatchBaselineForPatchGroupOutput) SetPatchGroup(v string) *De type DeregisterTargetFromMaintenanceWindowInput struct { _ struct{} `type:"structure"` + // The system checks if the target is being referenced by a task. If the target + // is being referenced, the system returns an error and does not deregister + // the target from the Maintenance Window. + Safe *bool `type:"boolean"` + // The ID of the Maintenance Window the target should be removed from. // // WindowId is a required field @@ -11713,6 +13181,12 @@ func (s *DeregisterTargetFromMaintenanceWindowInput) Validate() error { return nil } +// SetSafe sets the Safe field's value. +func (s *DeregisterTargetFromMaintenanceWindowInput) SetSafe(v bool) *DeregisterTargetFromMaintenanceWindowInput { + s.Safe = &v + return s +} + // SetWindowId sets the WindowId field's value. func (s *DeregisterTargetFromMaintenanceWindowInput) SetWindowId(v string) *DeregisterTargetFromMaintenanceWindowInput { s.WindowId = &v @@ -11982,6 +13456,12 @@ type DescribeAssociationInput struct { // The association ID for which you want information. AssociationId *string `type:"string"` + // Specify the association version to retrieve. To view the latest version, + // either specify $LATEST for this parameter, or omit this parameter. To view + // a list of all associations for an instance, use ListInstanceAssociations. + // To get a list of versions for a specific association, use ListAssociationVersions. + AssociationVersion *string `type:"string"` + // The instance ID. InstanceId *string `type:"string"` @@ -12005,6 +13485,12 @@ func (s *DescribeAssociationInput) SetAssociationId(v string) *DescribeAssociati return s } +// SetAssociationVersion sets the AssociationVersion field's value. +func (s *DescribeAssociationInput) SetAssociationVersion(v string) *DescribeAssociationInput { + s.AssociationVersion = &v + return s +} + // SetInstanceId sets the InstanceId field's value. func (s *DescribeAssociationInput) SetInstanceId(v string) *DescribeAssociationInput { s.InstanceId = &v @@ -15652,6 +17138,9 @@ type GetInventorySchemaInput struct { // a previous call.) NextToken *string `type:"string"` + // Returns the sub-type schema for a specified inventory type. + SubType *bool `type:"boolean"` + // The type of inventory item to return. TypeName *string `type:"string"` } @@ -15691,6 +17180,12 @@ func (s *GetInventorySchemaInput) SetNextToken(v string) *GetInventorySchemaInpu return s } +// SetSubType sets the SubType field's value. +func (s *GetInventorySchemaInput) SetSubType(v bool) *GetInventorySchemaInput { + s.SubType = &v + return s +} + // SetTypeName sets the TypeName field's value. func (s *GetInventorySchemaInput) SetTypeName(v string) *GetInventorySchemaInput { s.TypeName = &v @@ -15902,6 +17397,209 @@ func (s *GetMaintenanceWindowExecutionTaskInput) SetWindowExecutionId(v string) return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTaskInvocationRequest +type GetMaintenanceWindowExecutionTaskInvocationInput struct { + _ struct{} `type:"structure"` + + // The invocation ID to retrieve. + // + // InvocationId is a required field + InvocationId *string `min:"36" type:"string" required:"true"` + + // The ID of the specific task in the Maintenance Window task that should be + // retrieved. + // + // TaskId is a required field + TaskId *string `min:"36" type:"string" required:"true"` + + // The ID of the Maintenance Window execution for which the task is a part. + // + // WindowExecutionId is a required field + WindowExecutionId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetMaintenanceWindowExecutionTaskInvocationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetMaintenanceWindowExecutionTaskInvocationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetMaintenanceWindowExecutionTaskInvocationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowExecutionTaskInvocationInput"} + if s.InvocationId == nil { + invalidParams.Add(request.NewErrParamRequired("InvocationId")) + } + if s.InvocationId != nil && len(*s.InvocationId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("InvocationId", 36)) + } + if s.TaskId == nil { + invalidParams.Add(request.NewErrParamRequired("TaskId")) + } + if s.TaskId != nil && len(*s.TaskId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("TaskId", 36)) + } + if s.WindowExecutionId == nil { + invalidParams.Add(request.NewErrParamRequired("WindowExecutionId")) + } + if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInvocationId sets the InvocationId field's value. +func (s *GetMaintenanceWindowExecutionTaskInvocationInput) SetInvocationId(v string) *GetMaintenanceWindowExecutionTaskInvocationInput { + s.InvocationId = &v + return s +} + +// SetTaskId sets the TaskId field's value. +func (s *GetMaintenanceWindowExecutionTaskInvocationInput) SetTaskId(v string) *GetMaintenanceWindowExecutionTaskInvocationInput { + s.TaskId = &v + return s +} + +// SetWindowExecutionId sets the WindowExecutionId field's value. +func (s *GetMaintenanceWindowExecutionTaskInvocationInput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionTaskInvocationInput { + s.WindowExecutionId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTaskInvocationResult +type GetMaintenanceWindowExecutionTaskInvocationOutput struct { + _ struct{} `type:"structure"` + + // The time that the task finished executing on the target. + EndTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The execution ID. + ExecutionId *string `type:"string"` + + // The invocation ID. + InvocationId *string `min:"36" type:"string"` + + // User-provided value to be included in any CloudWatch events raised while + // running tasks for these targets in this Maintenance Window. + OwnerInformation *string `min:"1" type:"string"` + + // The parameters used at the time that the task executed. + Parameters *string `type:"string"` + + // The time that the task started executing on the target. + StartTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The task status for an invocation. + Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"` + + // The details explaining the status. Details are only available for certain + // status values. + StatusDetails *string `type:"string"` + + // The task execution ID. + TaskExecutionId *string `min:"36" type:"string"` + + // Retrieves the task type for a Maintenance Window. Task types include the + // following: LAMBDA, STEP_FUNCTION, AUTOMATION, RUN_COMMAND. + TaskType *string `type:"string" enum:"MaintenanceWindowTaskType"` + + // The Maintenance Window execution ID. + WindowExecutionId *string `min:"36" type:"string"` + + // The Maintenance Window target ID. + WindowTargetId *string `type:"string"` +} + +// String returns the string representation +func (s GetMaintenanceWindowExecutionTaskInvocationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetMaintenanceWindowExecutionTaskInvocationOutput) GoString() string { + return s.String() +} + +// SetEndTime sets the EndTime field's value. +func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetEndTime(v time.Time) *GetMaintenanceWindowExecutionTaskInvocationOutput { + s.EndTime = &v + return s +} + +// SetExecutionId sets the ExecutionId field's value. +func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetExecutionId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput { + s.ExecutionId = &v + return s +} + +// SetInvocationId sets the InvocationId field's value. +func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetInvocationId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput { + s.InvocationId = &v + return s +} + +// SetOwnerInformation sets the OwnerInformation field's value. +func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetOwnerInformation(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput { + s.OwnerInformation = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetParameters(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput { + s.Parameters = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetStartTime(v time.Time) *GetMaintenanceWindowExecutionTaskInvocationOutput { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetStatus(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput { + s.Status = &v + return s +} + +// SetStatusDetails sets the StatusDetails field's value. +func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetStatusDetails(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput { + s.StatusDetails = &v + return s +} + +// SetTaskExecutionId sets the TaskExecutionId field's value. +func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetTaskExecutionId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput { + s.TaskExecutionId = &v + return s +} + +// SetTaskType sets the TaskType field's value. +func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetTaskType(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput { + s.TaskType = &v + return s +} + +// SetWindowExecutionId sets the WindowExecutionId field's value. +func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput { + s.WindowExecutionId = &v + return s +} + +// SetWindowTargetId sets the WindowTargetId field's value. +func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetWindowTargetId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput { + s.WindowTargetId = &v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTaskResult type GetMaintenanceWindowExecutionTaskOutput struct { _ struct{} `type:"structure"` @@ -16098,6 +17796,9 @@ type GetMaintenanceWindowOutput struct { // Manager stops scheduling new tasks for execution. Cutoff *int64 `type:"integer"` + // The description of the Maintenance Window. + Description *string `min:"1" type:"string"` + // The duration of the Maintenance Window in hours. Duration *int64 `min:"1" type:"integer"` @@ -16145,6 +17846,12 @@ func (s *GetMaintenanceWindowOutput) SetCutoff(v int64) *GetMaintenanceWindowOut return s } +// SetDescription sets the Description field's value. +func (s *GetMaintenanceWindowOutput) SetDescription(v string) *GetMaintenanceWindowOutput { + s.Description = &v + return s +} + // SetDuration sets the Duration field's value. func (s *GetMaintenanceWindowOutput) SetDuration(v int64) *GetMaintenanceWindowOutput { s.Duration = &v @@ -16181,6 +17888,210 @@ func (s *GetMaintenanceWindowOutput) SetWindowId(v string) *GetMaintenanceWindow return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowTaskRequest +type GetMaintenanceWindowTaskInput struct { + _ struct{} `type:"structure"` + + // The Maintenance Window ID that includes the task to retrieve. + // + // WindowId is a required field + WindowId *string `min:"20" type:"string" required:"true"` + + // The Maintenance Window task ID to retrieve. + // + // WindowTaskId is a required field + WindowTaskId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetMaintenanceWindowTaskInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetMaintenanceWindowTaskInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetMaintenanceWindowTaskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowTaskInput"} + if s.WindowId == nil { + invalidParams.Add(request.NewErrParamRequired("WindowId")) + } + if s.WindowId != nil && len(*s.WindowId) < 20 { + invalidParams.Add(request.NewErrParamMinLen("WindowId", 20)) + } + if s.WindowTaskId == nil { + invalidParams.Add(request.NewErrParamRequired("WindowTaskId")) + } + if s.WindowTaskId != nil && len(*s.WindowTaskId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("WindowTaskId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWindowId sets the WindowId field's value. +func (s *GetMaintenanceWindowTaskInput) SetWindowId(v string) *GetMaintenanceWindowTaskInput { + s.WindowId = &v + return s +} + +// SetWindowTaskId sets the WindowTaskId field's value. +func (s *GetMaintenanceWindowTaskInput) SetWindowTaskId(v string) *GetMaintenanceWindowTaskInput { + s.WindowTaskId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowTaskResult +type GetMaintenanceWindowTaskOutput struct { + _ struct{} `type:"structure"` + + // The retrieved task description. + Description *string `min:"1" type:"string"` + + // The location in Amazon S3 where the task results are logged. + LoggingInfo *LoggingInfo `type:"structure"` + + // The maximum number of targets allowed to run this task in parallel. + MaxConcurrency *string `min:"1" type:"string"` + + // The maximum number of errors allowed before the task stops being scheduled. + MaxErrors *string `min:"1" type:"string"` + + // The retrieved task name. + Name *string `min:"3" type:"string"` + + // The priority of the task when it executes. The lower the number, the higher + // the priority. Tasks that have the same priority are scheduled in parallel. + Priority *int64 `type:"integer"` + + // The IAM service role to assume during task execution. + ServiceRoleArn *string `type:"string"` + + // The targets where the task should execute. + Targets []*Target `type:"list"` + + // The resource that the task used during execution. For RUN_COMMAND and AUTOMATION + // task types, the TaskArn is the SSM Document name/ARN. For LAMBDA tasks, the + // value is the function name/ARN. For STEP_FUNCTION tasks, the value is the + // state machine ARN. + TaskArn *string `min:"1" type:"string"` + + // The parameters to pass to the task when it executes. + TaskInvocationParameters *MaintenanceWindowTaskInvocationParameters `type:"structure"` + + // The parameters to pass to the task when it executes. + TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map"` + + // The type of task to execute. + TaskType *string `type:"string" enum:"MaintenanceWindowTaskType"` + + // The retrieved Maintenance Window ID. + WindowId *string `min:"20" type:"string"` + + // The retrieved Maintenance Window task ID. + WindowTaskId *string `min:"36" type:"string"` +} + +// String returns the string representation +func (s GetMaintenanceWindowTaskOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetMaintenanceWindowTaskOutput) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *GetMaintenanceWindowTaskOutput) SetDescription(v string) *GetMaintenanceWindowTaskOutput { + s.Description = &v + return s +} + +// SetLoggingInfo sets the LoggingInfo field's value. +func (s *GetMaintenanceWindowTaskOutput) SetLoggingInfo(v *LoggingInfo) *GetMaintenanceWindowTaskOutput { + s.LoggingInfo = v + return s +} + +// SetMaxConcurrency sets the MaxConcurrency field's value. +func (s *GetMaintenanceWindowTaskOutput) SetMaxConcurrency(v string) *GetMaintenanceWindowTaskOutput { + s.MaxConcurrency = &v + return s +} + +// SetMaxErrors sets the MaxErrors field's value. +func (s *GetMaintenanceWindowTaskOutput) SetMaxErrors(v string) *GetMaintenanceWindowTaskOutput { + s.MaxErrors = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetMaintenanceWindowTaskOutput) SetName(v string) *GetMaintenanceWindowTaskOutput { + s.Name = &v + return s +} + +// SetPriority sets the Priority field's value. +func (s *GetMaintenanceWindowTaskOutput) SetPriority(v int64) *GetMaintenanceWindowTaskOutput { + s.Priority = &v + return s +} + +// SetServiceRoleArn sets the ServiceRoleArn field's value. +func (s *GetMaintenanceWindowTaskOutput) SetServiceRoleArn(v string) *GetMaintenanceWindowTaskOutput { + s.ServiceRoleArn = &v + return s +} + +// SetTargets sets the Targets field's value. +func (s *GetMaintenanceWindowTaskOutput) SetTargets(v []*Target) *GetMaintenanceWindowTaskOutput { + s.Targets = v + return s +} + +// SetTaskArn sets the TaskArn field's value. +func (s *GetMaintenanceWindowTaskOutput) SetTaskArn(v string) *GetMaintenanceWindowTaskOutput { + s.TaskArn = &v + return s +} + +// SetTaskInvocationParameters sets the TaskInvocationParameters field's value. +func (s *GetMaintenanceWindowTaskOutput) SetTaskInvocationParameters(v *MaintenanceWindowTaskInvocationParameters) *GetMaintenanceWindowTaskOutput { + s.TaskInvocationParameters = v + return s +} + +// SetTaskParameters sets the TaskParameters field's value. +func (s *GetMaintenanceWindowTaskOutput) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *GetMaintenanceWindowTaskOutput { + s.TaskParameters = v + return s +} + +// SetTaskType sets the TaskType field's value. +func (s *GetMaintenanceWindowTaskOutput) SetTaskType(v string) *GetMaintenanceWindowTaskOutput { + s.TaskType = &v + return s +} + +// SetWindowId sets the WindowId field's value. +func (s *GetMaintenanceWindowTaskOutput) SetWindowId(v string) *GetMaintenanceWindowTaskOutput { + s.WindowId = &v + return s +} + +// SetWindowTaskId sets the WindowTaskId field's value. +func (s *GetMaintenanceWindowTaskOutput) SetWindowTaskId(v string) *GetMaintenanceWindowTaskOutput { + s.WindowTaskId = &v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameterHistoryRequest type GetParameterHistoryInput struct { _ struct{} `type:"structure"` @@ -16896,6 +18807,9 @@ type InstanceAssociation struct { // The association ID. AssociationId *string `type:"string"` + // Version information for the association on the instance. + AssociationVersion *string `type:"string"` + // The content of the association document for the instance(s). Content *string `min:"1" type:"string"` @@ -16919,6 +18833,12 @@ func (s *InstanceAssociation) SetAssociationId(v string) *InstanceAssociation { return s } +// SetAssociationVersion sets the AssociationVersion field's value. +func (s *InstanceAssociation) SetAssociationVersion(v string) *InstanceAssociation { + s.AssociationVersion = &v + return s +} + // SetContent sets the Content field's value. func (s *InstanceAssociation) SetContent(v string) *InstanceAssociation { s.Content = &v @@ -17004,6 +18924,12 @@ type InstanceAssociationStatusInfo struct { // The association ID. AssociationId *string `type:"string"` + // The name of the association applied to the instance. + AssociationName *string `type:"string"` + + // The version of the association applied to the instance. + AssociationVersion *string `type:"string"` + // Detailed status information about the instance association. DetailedStatus *string `type:"string"` @@ -17049,6 +18975,18 @@ func (s *InstanceAssociationStatusInfo) SetAssociationId(v string) *InstanceAsso return s } +// SetAssociationName sets the AssociationName field's value. +func (s *InstanceAssociationStatusInfo) SetAssociationName(v string) *InstanceAssociationStatusInfo { + s.AssociationName = &v + return s +} + +// SetAssociationVersion sets the AssociationVersion field's value. +func (s *InstanceAssociationStatusInfo) SetAssociationVersion(v string) *InstanceAssociationStatusInfo { + s.AssociationVersion = &v + return s +} + // SetDetailedStatus sets the DetailedStatus field's value. func (s *InstanceAssociationStatusInfo) SetDetailedStatus(v string) *InstanceAssociationStatusInfo { s.DetailedStatus = &v @@ -17735,6 +19673,11 @@ type InventoryItem struct { // since last update. ContentHash *string `type:"string"` + // A map of associated properties for a specified inventory type. For example, + // with this attribute, you can specify the ExecutionId, ExecutionType, ComplianceType + // properties of the AWS:ComplianceItem type. + Context map[string]*string `type:"map"` + // The schema version for the inventory item. // // SchemaVersion is a required field @@ -17799,6 +19742,12 @@ func (s *InventoryItem) SetContentHash(v string) *InventoryItem { return s } +// SetContext sets the Context field's value. +func (s *InventoryItem) SetContext(v map[string]*string) *InventoryItem { + s.Context = v + return s +} + // SetSchemaVersion sets the SchemaVersion field's value. func (s *InventoryItem) SetSchemaVersion(v string) *InventoryItem { s.SchemaVersion = &v @@ -18009,6 +19958,103 @@ func (s *InventoryResultItem) SetTypeName(v string) *InventoryResultItem { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociationVersionsRequest +type ListAssociationVersionsInput struct { + _ struct{} `type:"structure"` + + // The association ID for which you want to view all versions. + // + // AssociationId is a required field + AssociationId *string `type:"string" required:"true"` + + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"1" type:"integer"` + + // A token to start the list. Use this token to get the next set of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListAssociationVersionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAssociationVersionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAssociationVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAssociationVersionsInput"} + if s.AssociationId == nil { + invalidParams.Add(request.NewErrParamRequired("AssociationId")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssociationId sets the AssociationId field's value. +func (s *ListAssociationVersionsInput) SetAssociationId(v string) *ListAssociationVersionsInput { + s.AssociationId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListAssociationVersionsInput) SetMaxResults(v int64) *ListAssociationVersionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAssociationVersionsInput) SetNextToken(v string) *ListAssociationVersionsInput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociationVersionsResult +type ListAssociationVersionsOutput struct { + _ struct{} `type:"structure"` + + // Information about all versions of the association for the specified association + // ID. + AssociationVersions []*AssociationVersionInfo `min:"1" type:"list"` + + // The token for the next set of items to return. Use this token to get the + // next set of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListAssociationVersionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAssociationVersionsOutput) GoString() string { + return s.String() +} + +// SetAssociationVersions sets the AssociationVersions field's value. +func (s *ListAssociationVersionsOutput) SetAssociationVersions(v []*AssociationVersionInfo) *ListAssociationVersionsOutput { + s.AssociationVersions = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAssociationVersionsOutput) SetNextToken(v string) *ListAssociationVersionsOutput { + s.NextToken = &v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociationsRequest type ListAssociationsInput struct { _ struct{} `type:"structure"` @@ -18378,6 +20424,238 @@ func (s *ListCommandsOutput) SetNextToken(v string) *ListCommandsOutput { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceItemsRequest +type ListComplianceItemsInput struct { + _ struct{} `type:"structure"` + + // One or more compliance filters. Use a filter to return a more specific list + // of results. + Filters []*ComplianceStringFilter `locationNameList:"ComplianceFilter" type:"list"` + + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"1" type:"integer"` + + // A token to start the list. Use this token to get the next set of results. + NextToken *string `type:"string"` + + // The ID for the resources from which to get compliance information. Currently, + // you can only specify one resource ID. + ResourceIds []*string `min:"1" type:"list"` + + // The type of resource from which to get compliance information. Currently, + // the only supported resource type is ManagedInstance. + ResourceTypes []*string `min:"1" type:"list"` +} + +// String returns the string representation +func (s ListComplianceItemsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListComplianceItemsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListComplianceItemsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListComplianceItemsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ResourceIds != nil && len(s.ResourceIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceIds", 1)) + } + if s.ResourceTypes != nil && len(s.ResourceTypes) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceTypes", 1)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *ListComplianceItemsInput) SetFilters(v []*ComplianceStringFilter) *ListComplianceItemsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListComplianceItemsInput) SetMaxResults(v int64) *ListComplianceItemsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListComplianceItemsInput) SetNextToken(v string) *ListComplianceItemsInput { + s.NextToken = &v + return s +} + +// SetResourceIds sets the ResourceIds field's value. +func (s *ListComplianceItemsInput) SetResourceIds(v []*string) *ListComplianceItemsInput { + s.ResourceIds = v + return s +} + +// SetResourceTypes sets the ResourceTypes field's value. +func (s *ListComplianceItemsInput) SetResourceTypes(v []*string) *ListComplianceItemsInput { + s.ResourceTypes = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceItemsResult +type ListComplianceItemsOutput struct { + _ struct{} `type:"structure"` + + // A list of compliance information for the specified resource ID. + ComplianceItems []*ComplianceItem `locationNameList:"Item" type:"list"` + + // The token for the next set of items to return. Use this token to get the + // next set of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListComplianceItemsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListComplianceItemsOutput) GoString() string { + return s.String() +} + +// SetComplianceItems sets the ComplianceItems field's value. +func (s *ListComplianceItemsOutput) SetComplianceItems(v []*ComplianceItem) *ListComplianceItemsOutput { + s.ComplianceItems = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListComplianceItemsOutput) SetNextToken(v string) *ListComplianceItemsOutput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceSummariesRequest +type ListComplianceSummariesInput struct { + _ struct{} `type:"structure"` + + // One or more compliance or inventory filters. Use a filter to return a more + // specific list of results. + Filters []*ComplianceStringFilter `locationNameList:"ComplianceFilter" type:"list"` + + // The maximum number of items to return for this call. Currently, you can specify + // null or 50. The call also returns a token that you can specify in a subsequent + // call to get the next set of results. + MaxResults *int64 `min:"1" type:"integer"` + + // A token to start the list. Use this token to get the next set of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListComplianceSummariesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListComplianceSummariesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListComplianceSummariesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListComplianceSummariesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *ListComplianceSummariesInput) SetFilters(v []*ComplianceStringFilter) *ListComplianceSummariesInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListComplianceSummariesInput) SetMaxResults(v int64) *ListComplianceSummariesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListComplianceSummariesInput) SetNextToken(v string) *ListComplianceSummariesInput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceSummariesResult +type ListComplianceSummariesOutput struct { + _ struct{} `type:"structure"` + + // A list of compliant and non-compliant summary counts based on compliance + // types. For example, this call returns State Manager associations, patches, + // or custom compliance types according to the filter criteria that you specified. + ComplianceSummaryItems []*ComplianceSummaryItem `locationNameList:"Item" type:"list"` + + // The token for the next set of items to return. Use this token to get the + // next set of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListComplianceSummariesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListComplianceSummariesOutput) GoString() string { + return s.String() +} + +// SetComplianceSummaryItems sets the ComplianceSummaryItems field's value. +func (s *ListComplianceSummariesOutput) SetComplianceSummaryItems(v []*ComplianceSummaryItem) *ListComplianceSummariesOutput { + s.ComplianceSummaryItems = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListComplianceSummariesOutput) SetNextToken(v string) *ListComplianceSummariesOutput { + s.NextToken = &v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocumentVersionsRequest type ListDocumentVersionsInput struct { _ struct{} `type:"structure"` @@ -18752,6 +21030,109 @@ func (s *ListInventoryEntriesOutput) SetTypeName(v string) *ListInventoryEntries return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceComplianceSummariesRequest +type ListResourceComplianceSummariesInput struct { + _ struct{} `type:"structure"` + + // One or more filters. Use a filter to return a more specific list of results. + Filters []*ComplianceStringFilter `locationNameList:"ComplianceFilter" type:"list"` + + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"1" type:"integer"` + + // A token to start the list. Use this token to get the next set of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListResourceComplianceSummariesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListResourceComplianceSummariesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListResourceComplianceSummariesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResourceComplianceSummariesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *ListResourceComplianceSummariesInput) SetFilters(v []*ComplianceStringFilter) *ListResourceComplianceSummariesInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListResourceComplianceSummariesInput) SetMaxResults(v int64) *ListResourceComplianceSummariesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListResourceComplianceSummariesInput) SetNextToken(v string) *ListResourceComplianceSummariesInput { + s.NextToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceComplianceSummariesResult +type ListResourceComplianceSummariesOutput struct { + _ struct{} `type:"structure"` + + // The token for the next set of items to return. Use this token to get the + // next set of results. + NextToken *string `type:"string"` + + // A summary count for specified or targeted managed instances. Summary count + // includes information about compliant and non-compliant State Manager associations, + // patch status, or custom items according to the filter criteria that you specify. + ResourceComplianceSummaryItems []*ResourceComplianceSummaryItem `locationNameList:"Item" type:"list"` +} + +// String returns the string representation +func (s ListResourceComplianceSummariesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListResourceComplianceSummariesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListResourceComplianceSummariesOutput) SetNextToken(v string) *ListResourceComplianceSummariesOutput { + s.NextToken = &v + return s +} + +// SetResourceComplianceSummaryItems sets the ResourceComplianceSummaryItems field's value. +func (s *ListResourceComplianceSummariesOutput) SetResourceComplianceSummaryItems(v []*ResourceComplianceSummaryItem) *ListResourceComplianceSummariesOutput { + s.ResourceComplianceSummaryItems = v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceDataSyncRequest type ListResourceDataSyncInput struct { _ struct{} `type:"structure"` @@ -18980,6 +21361,53 @@ func (s *LoggingInfo) SetS3Region(v string) *LoggingInfo { return s } +// The parameters for an AUTOMATION task type. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/MaintenanceWindowAutomationParameters +type MaintenanceWindowAutomationParameters struct { + _ struct{} `type:"structure"` + + // The version of an Automation document to use during task execution. + DocumentVersion *string `type:"string"` + + // The parameters for the AUTOMATION task. + Parameters map[string][]*string `min:"1" type:"map"` +} + +// String returns the string representation +func (s MaintenanceWindowAutomationParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MaintenanceWindowAutomationParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MaintenanceWindowAutomationParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowAutomationParameters"} + if s.Parameters != nil && len(s.Parameters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Parameters", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *MaintenanceWindowAutomationParameters) SetDocumentVersion(v string) *MaintenanceWindowAutomationParameters { + s.DocumentVersion = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *MaintenanceWindowAutomationParameters) SetParameters(v map[string][]*string) *MaintenanceWindowAutomationParameters { + s.Parameters = v + return s +} + // Describes the information about an execution of a Maintenance Window. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/MaintenanceWindowExecution type MaintenanceWindowExecution struct { @@ -19177,6 +21605,9 @@ type MaintenanceWindowExecutionTaskInvocationIdentity struct { // The ID of the specific task execution in the Maintenance Window execution. TaskExecutionId *string `min:"36" type:"string"` + // The task type. + TaskType *string `type:"string" enum:"MaintenanceWindowTaskType"` + // The ID of the Maintenance Window execution that ran the task. WindowExecutionId *string `min:"36" type:"string"` @@ -19249,6 +21680,12 @@ func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetTaskExecutionId(v return s } +// SetTaskType sets the TaskType field's value. +func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetTaskType(v string) *MaintenanceWindowExecutionTaskInvocationIdentity { + s.TaskType = &v + return s +} + // SetWindowExecutionId sets the WindowExecutionId field's value. func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetWindowExecutionId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity { s.WindowExecutionId = &v @@ -19317,6 +21754,9 @@ type MaintenanceWindowIdentity struct { // Manager stops scheduling new tasks for execution. Cutoff *int64 `type:"integer"` + // A description of the Maintenance Window. + Description *string `min:"1" type:"string"` + // The duration of the Maintenance Window in hours. Duration *int64 `min:"1" type:"integer"` @@ -19346,6 +21786,12 @@ func (s *MaintenanceWindowIdentity) SetCutoff(v int64) *MaintenanceWindowIdentit return s } +// SetDescription sets the Description field's value. +func (s *MaintenanceWindowIdentity) SetDescription(v string) *MaintenanceWindowIdentity { + s.Description = &v + return s +} + // SetDuration sets the Duration field's value. func (s *MaintenanceWindowIdentity) SetDuration(v int64) *MaintenanceWindowIdentity { s.Duration = &v @@ -19370,11 +21816,246 @@ func (s *MaintenanceWindowIdentity) SetWindowId(v string) *MaintenanceWindowIden return s } +// The parameters for a LAMBDA task type. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/MaintenanceWindowLambdaParameters +type MaintenanceWindowLambdaParameters struct { + _ struct{} `type:"structure"` + + // Pass client-specific information to the Lambda function that you are invoking. + // You can then process the client information in your Lambda function as you + // choose through the context variable. + ClientContext *string `min:"1" type:"string"` + + // JSON to provide to your Lambda function as input. + // + // Payload is automatically base64 encoded/decoded by the SDK. + Payload []byte `type:"blob"` + + // (Optional) Specify a Lambda function version or alias name. If you specify + // a function version, the action uses the qualified function ARN to invoke + // a specific Lambda function. If you specify an alias name, the action uses + // the alias ARN to invoke the Lambda function version to which the alias points. + Qualifier *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s MaintenanceWindowLambdaParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MaintenanceWindowLambdaParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MaintenanceWindowLambdaParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowLambdaParameters"} + if s.ClientContext != nil && len(*s.ClientContext) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientContext", 1)) + } + if s.Qualifier != nil && len(*s.Qualifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientContext sets the ClientContext field's value. +func (s *MaintenanceWindowLambdaParameters) SetClientContext(v string) *MaintenanceWindowLambdaParameters { + s.ClientContext = &v + return s +} + +// SetPayload sets the Payload field's value. +func (s *MaintenanceWindowLambdaParameters) SetPayload(v []byte) *MaintenanceWindowLambdaParameters { + s.Payload = v + return s +} + +// SetQualifier sets the Qualifier field's value. +func (s *MaintenanceWindowLambdaParameters) SetQualifier(v string) *MaintenanceWindowLambdaParameters { + s.Qualifier = &v + return s +} + +// The parameters for a RUN_COMMAND task type. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/MaintenanceWindowRunCommandParameters +type MaintenanceWindowRunCommandParameters struct { + _ struct{} `type:"structure"` + + // Information about the command(s) to execute. + Comment *string `type:"string"` + + // The SHA-256 or SHA-1 hash created by the system when the document was created. + // SHA-1 hashes have been deprecated. + DocumentHash *string `type:"string"` + + // SHA-256 or SHA-1. SHA-1 hashes have been deprecated. + DocumentHashType *string `type:"string" enum:"DocumentHashType"` + + // Configurations for sending notifications about command status changes on + // a per-instance basis. + NotificationConfig *NotificationConfig `type:"structure"` + + // The name of the Amazon S3 bucket. + OutputS3BucketName *string `min:"3" type:"string"` + + // The Amazon S3 bucket subfolder. + OutputS3KeyPrefix *string `type:"string"` + + // The parameters for the RUN_COMMAND task execution. + Parameters map[string][]*string `type:"map"` + + // The IAM service role to assume during task execution. + ServiceRoleArn *string `type:"string"` + + // If this time is reached and the command has not already started executing, + // it doesn not execute. + TimeoutSeconds *int64 `min:"30" type:"integer"` +} + +// String returns the string representation +func (s MaintenanceWindowRunCommandParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MaintenanceWindowRunCommandParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MaintenanceWindowRunCommandParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowRunCommandParameters"} + if s.OutputS3BucketName != nil && len(*s.OutputS3BucketName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("OutputS3BucketName", 3)) + } + if s.TimeoutSeconds != nil && *s.TimeoutSeconds < 30 { + invalidParams.Add(request.NewErrParamMinValue("TimeoutSeconds", 30)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComment sets the Comment field's value. +func (s *MaintenanceWindowRunCommandParameters) SetComment(v string) *MaintenanceWindowRunCommandParameters { + s.Comment = &v + return s +} + +// SetDocumentHash sets the DocumentHash field's value. +func (s *MaintenanceWindowRunCommandParameters) SetDocumentHash(v string) *MaintenanceWindowRunCommandParameters { + s.DocumentHash = &v + return s +} + +// SetDocumentHashType sets the DocumentHashType field's value. +func (s *MaintenanceWindowRunCommandParameters) SetDocumentHashType(v string) *MaintenanceWindowRunCommandParameters { + s.DocumentHashType = &v + return s +} + +// SetNotificationConfig sets the NotificationConfig field's value. +func (s *MaintenanceWindowRunCommandParameters) SetNotificationConfig(v *NotificationConfig) *MaintenanceWindowRunCommandParameters { + s.NotificationConfig = v + return s +} + +// SetOutputS3BucketName sets the OutputS3BucketName field's value. +func (s *MaintenanceWindowRunCommandParameters) SetOutputS3BucketName(v string) *MaintenanceWindowRunCommandParameters { + s.OutputS3BucketName = &v + return s +} + +// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value. +func (s *MaintenanceWindowRunCommandParameters) SetOutputS3KeyPrefix(v string) *MaintenanceWindowRunCommandParameters { + s.OutputS3KeyPrefix = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *MaintenanceWindowRunCommandParameters) SetParameters(v map[string][]*string) *MaintenanceWindowRunCommandParameters { + s.Parameters = v + return s +} + +// SetServiceRoleArn sets the ServiceRoleArn field's value. +func (s *MaintenanceWindowRunCommandParameters) SetServiceRoleArn(v string) *MaintenanceWindowRunCommandParameters { + s.ServiceRoleArn = &v + return s +} + +// SetTimeoutSeconds sets the TimeoutSeconds field's value. +func (s *MaintenanceWindowRunCommandParameters) SetTimeoutSeconds(v int64) *MaintenanceWindowRunCommandParameters { + s.TimeoutSeconds = &v + return s +} + +// The parameters for the STEP_FUNCTION execution. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/MaintenanceWindowStepFunctionsParameters +type MaintenanceWindowStepFunctionsParameters struct { + _ struct{} `type:"structure"` + + // The inputs for the STEP_FUNCTION task. + Input *string `type:"string"` + + // The name of the STEP_FUNCTION task. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s MaintenanceWindowStepFunctionsParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MaintenanceWindowStepFunctionsParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MaintenanceWindowStepFunctionsParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowStepFunctionsParameters"} + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInput sets the Input field's value. +func (s *MaintenanceWindowStepFunctionsParameters) SetInput(v string) *MaintenanceWindowStepFunctionsParameters { + s.Input = &v + return s +} + +// SetName sets the Name field's value. +func (s *MaintenanceWindowStepFunctionsParameters) SetName(v string) *MaintenanceWindowStepFunctionsParameters { + s.Name = &v + return s +} + // The target registered with the Maintenance Window. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/MaintenanceWindowTarget type MaintenanceWindowTarget struct { _ struct{} `type:"structure"` + // A description of the target. + Description *string `min:"1" type:"string"` + + // The target name. + Name *string `min:"3" type:"string"` + // User-provided value that will be included in any CloudWatch events raised // while running tasks for these targets in this Maintenance Window. OwnerInformation *string `min:"1" type:"string"` @@ -19403,6 +22084,18 @@ func (s MaintenanceWindowTarget) GoString() string { return s.String() } +// SetDescription sets the Description field's value. +func (s *MaintenanceWindowTarget) SetDescription(v string) *MaintenanceWindowTarget { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *MaintenanceWindowTarget) SetName(v string) *MaintenanceWindowTarget { + s.Name = &v + return s +} + // SetOwnerInformation sets the OwnerInformation field's value. func (s *MaintenanceWindowTarget) SetOwnerInformation(v string) *MaintenanceWindowTarget { s.OwnerInformation = &v @@ -19438,6 +22131,9 @@ func (s *MaintenanceWindowTarget) SetWindowTargetId(v string) *MaintenanceWindow type MaintenanceWindowTask struct { _ struct{} `type:"structure"` + // A description of the task. + Description *string `min:"1" type:"string"` + // Information about an Amazon S3 bucket to write task-level logs to. LoggingInfo *LoggingInfo `type:"structure"` @@ -19447,9 +22143,12 @@ type MaintenanceWindowTask struct { // The maximum number of errors allowed before this task stops being scheduled. MaxErrors *string `min:"1" type:"string"` - // The priority of the task in the Maintenance Window, the lower the number - // the higher the priority. Tasks in a Maintenance Window are scheduled in priority - // order with tasks that have the same priority scheduled in parallel. + // The task name. + Name *string `min:"3" type:"string"` + + // The priority of the task in the Maintenance Window. The lower the number, + // the higher the priority. Tasks that have the same priority are scheduled + // in parallel. Priority *int64 `type:"integer"` // The role that should be assumed when executing the task @@ -19459,13 +22158,17 @@ type MaintenanceWindowTask struct { // Tags are specified using Key=,Values=. Targets []*Target `type:"list"` - // The ARN of the task to execute. + // The resource that the task uses during execution. For RUN_COMMAND and AUTOMATION + // task types, TaskArn is the SSM document name or ARN. For LAMBDA tasks, it's + // the function name or ARN. For STEP_FUNCTION tasks, it's the state machine + // ARN. TaskArn *string `min:"1" type:"string"` // The parameters that should be passed to the task when it is executed. TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map"` - // The type of task. + // The type of task. The type can be one of the following: RUN_COMMAND, AUTOMATION, + // LAMBDA, or STEP_FUNCTION. Type *string `type:"string" enum:"MaintenanceWindowTaskType"` // The Maintenance Window ID where the task is registered. @@ -19485,6 +22188,12 @@ func (s MaintenanceWindowTask) GoString() string { return s.String() } +// SetDescription sets the Description field's value. +func (s *MaintenanceWindowTask) SetDescription(v string) *MaintenanceWindowTask { + s.Description = &v + return s +} + // SetLoggingInfo sets the LoggingInfo field's value. func (s *MaintenanceWindowTask) SetLoggingInfo(v *LoggingInfo) *MaintenanceWindowTask { s.LoggingInfo = v @@ -19503,6 +22212,12 @@ func (s *MaintenanceWindowTask) SetMaxErrors(v string) *MaintenanceWindowTask { return s } +// SetName sets the Name field's value. +func (s *MaintenanceWindowTask) SetName(v string) *MaintenanceWindowTask { + s.Name = &v + return s +} + // SetPriority sets the Priority field's value. func (s *MaintenanceWindowTask) SetPriority(v int64) *MaintenanceWindowTask { s.Priority = &v @@ -19551,6 +22266,88 @@ func (s *MaintenanceWindowTask) SetWindowTaskId(v string) *MaintenanceWindowTask return s } +// The parameters for task execution. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/MaintenanceWindowTaskInvocationParameters +type MaintenanceWindowTaskInvocationParameters struct { + _ struct{} `type:"structure"` + + // The parameters for a AUTOMATION task type. + Automation *MaintenanceWindowAutomationParameters `type:"structure"` + + // The parameters for a LAMBDA task type. + Lambda *MaintenanceWindowLambdaParameters `type:"structure"` + + // The parameters for a RUN_COMMAND task type. + RunCommand *MaintenanceWindowRunCommandParameters `type:"structure"` + + // The parameters for a STEP_FUNCTION task type. + StepFunctions *MaintenanceWindowStepFunctionsParameters `type:"structure"` +} + +// String returns the string representation +func (s MaintenanceWindowTaskInvocationParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MaintenanceWindowTaskInvocationParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MaintenanceWindowTaskInvocationParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowTaskInvocationParameters"} + if s.Automation != nil { + if err := s.Automation.Validate(); err != nil { + invalidParams.AddNested("Automation", err.(request.ErrInvalidParams)) + } + } + if s.Lambda != nil { + if err := s.Lambda.Validate(); err != nil { + invalidParams.AddNested("Lambda", err.(request.ErrInvalidParams)) + } + } + if s.RunCommand != nil { + if err := s.RunCommand.Validate(); err != nil { + invalidParams.AddNested("RunCommand", err.(request.ErrInvalidParams)) + } + } + if s.StepFunctions != nil { + if err := s.StepFunctions.Validate(); err != nil { + invalidParams.AddNested("StepFunctions", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutomation sets the Automation field's value. +func (s *MaintenanceWindowTaskInvocationParameters) SetAutomation(v *MaintenanceWindowAutomationParameters) *MaintenanceWindowTaskInvocationParameters { + s.Automation = v + return s +} + +// SetLambda sets the Lambda field's value. +func (s *MaintenanceWindowTaskInvocationParameters) SetLambda(v *MaintenanceWindowLambdaParameters) *MaintenanceWindowTaskInvocationParameters { + s.Lambda = v + return s +} + +// SetRunCommand sets the RunCommand field's value. +func (s *MaintenanceWindowTaskInvocationParameters) SetRunCommand(v *MaintenanceWindowRunCommandParameters) *MaintenanceWindowTaskInvocationParameters { + s.RunCommand = v + return s +} + +// SetStepFunctions sets the StepFunctions field's value. +func (s *MaintenanceWindowTaskInvocationParameters) SetStepFunctions(v *MaintenanceWindowStepFunctionsParameters) *MaintenanceWindowTaskInvocationParameters { + s.StepFunctions = v + return s +} + // Defines the values for a task parameter. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/MaintenanceWindowTaskParameterValueExpression type MaintenanceWindowTaskParameterValueExpression struct { @@ -19667,6 +22464,41 @@ func (s ModifyDocumentPermissionOutput) GoString() string { return s.String() } +// A summary of resources that are not compliant. The summary is organized according +// to resource type. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/NonCompliantSummary +type NonCompliantSummary struct { + _ struct{} `type:"structure"` + + // The total number of compliance items that are not compliant. + NonCompliantCount *int64 `type:"integer"` + + // A summary of the non-compliance severity by compliance type + SeveritySummary *SeveritySummary `type:"structure"` +} + +// String returns the string representation +func (s NonCompliantSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NonCompliantSummary) GoString() string { + return s.String() +} + +// SetNonCompliantCount sets the NonCompliantCount field's value. +func (s *NonCompliantSummary) SetNonCompliantCount(v int64) *NonCompliantSummary { + s.NonCompliantCount = &v + return s +} + +// SetSeveritySummary sets the SeveritySummary field's value. +func (s *NonCompliantSummary) SetSeveritySummary(v *SeveritySummary) *NonCompliantSummary { + s.SeveritySummary = v + return s +} + // Configurations for sending notifications. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/NotificationConfig type NotificationConfig struct { @@ -20697,6 +23529,158 @@ func (s *PatchStatus) SetDeploymentStatus(v string) *PatchStatus { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutComplianceItemsRequest +type PutComplianceItemsInput struct { + _ struct{} `type:"structure"` + + // Specify the compliance type. For example, specify Association (for a State + // Manager association), Patch, or Custom:string. + // + // ComplianceType is a required field + ComplianceType *string `min:"1" type:"string" required:"true"` + + // A summary of the call execution that includes an execution ID, the type of + // execution (for example, Command), and the date/time of the execution using + // a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'. + // + // ExecutionSummary is a required field + ExecutionSummary *ComplianceExecutionSummary `type:"structure" required:"true"` + + // MD5 or SHA-256 content hash. The content hash is used to determine if existing + // information should be overwritten or ignored. If the content hashes match, + // the request to put compliance information is ignored. + ItemContentHash *string `type:"string"` + + // Information about the compliance as defined by the resource type. For example, + // for a patch compliance type, Items includes information about the PatchSeverity, + // Classification, etc. + // + // Items is a required field + Items []*ComplianceItemEntry `type:"list" required:"true"` + + // Specify an ID for this resource. For a managed instance, this is the instance + // ID. + // + // ResourceId is a required field + ResourceId *string `min:"1" type:"string" required:"true"` + + // Specify the type of resource. ManagedInstance is currently the only supported + // resource type. + // + // ResourceType is a required field + ResourceType *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s PutComplianceItemsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutComplianceItemsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutComplianceItemsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutComplianceItemsInput"} + if s.ComplianceType == nil { + invalidParams.Add(request.NewErrParamRequired("ComplianceType")) + } + if s.ComplianceType != nil && len(*s.ComplianceType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComplianceType", 1)) + } + if s.ExecutionSummary == nil { + invalidParams.Add(request.NewErrParamRequired("ExecutionSummary")) + } + if s.Items == nil { + invalidParams.Add(request.NewErrParamRequired("Items")) + } + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.ResourceId != nil && len(*s.ResourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) + } + if s.ResourceType == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceType")) + } + if s.ResourceType != nil && len(*s.ResourceType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1)) + } + if s.ExecutionSummary != nil { + if err := s.ExecutionSummary.Validate(); err != nil { + invalidParams.AddNested("ExecutionSummary", err.(request.ErrInvalidParams)) + } + } + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComplianceType sets the ComplianceType field's value. +func (s *PutComplianceItemsInput) SetComplianceType(v string) *PutComplianceItemsInput { + s.ComplianceType = &v + return s +} + +// SetExecutionSummary sets the ExecutionSummary field's value. +func (s *PutComplianceItemsInput) SetExecutionSummary(v *ComplianceExecutionSummary) *PutComplianceItemsInput { + s.ExecutionSummary = v + return s +} + +// SetItemContentHash sets the ItemContentHash field's value. +func (s *PutComplianceItemsInput) SetItemContentHash(v string) *PutComplianceItemsInput { + s.ItemContentHash = &v + return s +} + +// SetItems sets the Items field's value. +func (s *PutComplianceItemsInput) SetItems(v []*ComplianceItemEntry) *PutComplianceItemsInput { + s.Items = v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *PutComplianceItemsInput) SetResourceId(v string) *PutComplianceItemsInput { + s.ResourceId = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *PutComplianceItemsInput) SetResourceType(v string) *PutComplianceItemsInput { + s.ResourceType = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutComplianceItemsResult +type PutComplianceItemsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutComplianceItemsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutComplianceItemsOutput) GoString() string { + return s.String() +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutInventoryRequest type PutInventoryInput struct { _ struct{} `type:"structure"` @@ -21077,6 +24061,12 @@ type RegisterTargetWithMaintenanceWindowInput struct { // User-provided idempotency token. ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` + // An optional description for the target. + Description *string `min:"1" type:"string"` + + // An optional name for the target. + Name *string `min:"3" type:"string"` + // User-provided value that will be included in any CloudWatch events raised // while running tasks for these targets in this Maintenance Window. OwnerInformation *string `min:"1" type:"string"` @@ -21114,6 +24104,12 @@ func (s *RegisterTargetWithMaintenanceWindowInput) Validate() error { if s.ClientToken != nil && len(*s.ClientToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.Name != nil && len(*s.Name) < 3 { + invalidParams.Add(request.NewErrParamMinLen("Name", 3)) + } if s.OwnerInformation != nil && len(*s.OwnerInformation) < 1 { invalidParams.Add(request.NewErrParamMinLen("OwnerInformation", 1)) } @@ -21152,6 +24148,18 @@ func (s *RegisterTargetWithMaintenanceWindowInput) SetClientToken(v string) *Reg return s } +// SetDescription sets the Description field's value. +func (s *RegisterTargetWithMaintenanceWindowInput) SetDescription(v string) *RegisterTargetWithMaintenanceWindowInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *RegisterTargetWithMaintenanceWindowInput) SetName(v string) *RegisterTargetWithMaintenanceWindowInput { + s.Name = &v + return s +} + // SetOwnerInformation sets the OwnerInformation field's value. func (s *RegisterTargetWithMaintenanceWindowInput) SetOwnerInformation(v string) *RegisterTargetWithMaintenanceWindowInput { s.OwnerInformation = &v @@ -21207,6 +24215,9 @@ type RegisterTaskWithMaintenanceWindowInput struct { // User-provided idempotency token. ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` + // An optional description for the task. + Description *string `min:"1" type:"string"` + // A structure containing information about an Amazon S3 bucket to write instance-level // logs to. LoggingInfo *LoggingInfo `type:"structure"` @@ -21221,6 +24232,9 @@ type RegisterTaskWithMaintenanceWindowInput struct { // MaxErrors is a required field MaxErrors *string `min:"1" type:"string" required:"true"` + // An optional name for the task. + Name *string `min:"3" type:"string"` + // The priority of the task in the Maintenance Window, the lower the number // the higher the priority. Tasks in a Maintenance Window are scheduled in priority // order with tasks that have the same priority scheduled in parallel. @@ -21242,6 +24256,10 @@ type RegisterTaskWithMaintenanceWindowInput struct { // TaskArn is a required field TaskArn *string `min:"1" type:"string" required:"true"` + // The parameters that the task should use during execution. Populate only the + // fields that match the task type. All other fields should be empty. + TaskInvocationParameters *MaintenanceWindowTaskInvocationParameters `type:"structure"` + // The parameters that should be passed to the task when it is executed. TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map"` @@ -21272,6 +24290,9 @@ func (s *RegisterTaskWithMaintenanceWindowInput) Validate() error { if s.ClientToken != nil && len(*s.ClientToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } if s.MaxConcurrency == nil { invalidParams.Add(request.NewErrParamRequired("MaxConcurrency")) } @@ -21284,6 +24305,9 @@ func (s *RegisterTaskWithMaintenanceWindowInput) Validate() error { if s.MaxErrors != nil && len(*s.MaxErrors) < 1 { invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1)) } + if s.Name != nil && len(*s.Name) < 3 { + invalidParams.Add(request.NewErrParamMinLen("Name", 3)) + } if s.ServiceRoleArn == nil { invalidParams.Add(request.NewErrParamRequired("ServiceRoleArn")) } @@ -21320,6 +24344,11 @@ func (s *RegisterTaskWithMaintenanceWindowInput) Validate() error { } } } + if s.TaskInvocationParameters != nil { + if err := s.TaskInvocationParameters.Validate(); err != nil { + invalidParams.AddNested("TaskInvocationParameters", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -21333,6 +24362,12 @@ func (s *RegisterTaskWithMaintenanceWindowInput) SetClientToken(v string) *Regis return s } +// SetDescription sets the Description field's value. +func (s *RegisterTaskWithMaintenanceWindowInput) SetDescription(v string) *RegisterTaskWithMaintenanceWindowInput { + s.Description = &v + return s +} + // SetLoggingInfo sets the LoggingInfo field's value. func (s *RegisterTaskWithMaintenanceWindowInput) SetLoggingInfo(v *LoggingInfo) *RegisterTaskWithMaintenanceWindowInput { s.LoggingInfo = v @@ -21351,6 +24386,12 @@ func (s *RegisterTaskWithMaintenanceWindowInput) SetMaxErrors(v string) *Registe return s } +// SetName sets the Name field's value. +func (s *RegisterTaskWithMaintenanceWindowInput) SetName(v string) *RegisterTaskWithMaintenanceWindowInput { + s.Name = &v + return s +} + // SetPriority sets the Priority field's value. func (s *RegisterTaskWithMaintenanceWindowInput) SetPriority(v int64) *RegisterTaskWithMaintenanceWindowInput { s.Priority = &v @@ -21375,6 +24416,12 @@ func (s *RegisterTaskWithMaintenanceWindowInput) SetTaskArn(v string) *RegisterT return s } +// SetTaskInvocationParameters sets the TaskInvocationParameters field's value. +func (s *RegisterTaskWithMaintenanceWindowInput) SetTaskInvocationParameters(v *MaintenanceWindowTaskInvocationParameters) *RegisterTaskWithMaintenanceWindowInput { + s.TaskInvocationParameters = v + return s +} + // SetTaskParameters sets the TaskParameters field's value. func (s *RegisterTaskWithMaintenanceWindowInput) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *RegisterTaskWithMaintenanceWindowInput { s.TaskParameters = v @@ -21499,6 +24546,95 @@ func (s RemoveTagsFromResourceOutput) GoString() string { return s.String() } +// Compliance summary information for a specific resource. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ResourceComplianceSummaryItem +type ResourceComplianceSummaryItem struct { + _ struct{} `type:"structure"` + + // The compliance type. + ComplianceType *string `min:"1" type:"string"` + + // A list of items that are compliant for the resource. + CompliantSummary *CompliantSummary `type:"structure"` + + // Information about the execution. + ExecutionSummary *ComplianceExecutionSummary `type:"structure"` + + // A list of items that aren't compliant for the resource. + NonCompliantSummary *NonCompliantSummary `type:"structure"` + + // The highest severity item found for the resource. The resource is compliant + // for this item. + OverallSeverity *string `type:"string" enum:"ComplianceSeverity"` + + // The resource ID. + ResourceId *string `min:"1" type:"string"` + + // The resource type. + ResourceType *string `min:"1" type:"string"` + + // The compliance status for the resource. + Status *string `type:"string" enum:"ComplianceStatus"` +} + +// String returns the string representation +func (s ResourceComplianceSummaryItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceComplianceSummaryItem) GoString() string { + return s.String() +} + +// SetComplianceType sets the ComplianceType field's value. +func (s *ResourceComplianceSummaryItem) SetComplianceType(v string) *ResourceComplianceSummaryItem { + s.ComplianceType = &v + return s +} + +// SetCompliantSummary sets the CompliantSummary field's value. +func (s *ResourceComplianceSummaryItem) SetCompliantSummary(v *CompliantSummary) *ResourceComplianceSummaryItem { + s.CompliantSummary = v + return s +} + +// SetExecutionSummary sets the ExecutionSummary field's value. +func (s *ResourceComplianceSummaryItem) SetExecutionSummary(v *ComplianceExecutionSummary) *ResourceComplianceSummaryItem { + s.ExecutionSummary = v + return s +} + +// SetNonCompliantSummary sets the NonCompliantSummary field's value. +func (s *ResourceComplianceSummaryItem) SetNonCompliantSummary(v *NonCompliantSummary) *ResourceComplianceSummaryItem { + s.NonCompliantSummary = v + return s +} + +// SetOverallSeverity sets the OverallSeverity field's value. +func (s *ResourceComplianceSummaryItem) SetOverallSeverity(v string) *ResourceComplianceSummaryItem { + s.OverallSeverity = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *ResourceComplianceSummaryItem) SetResourceId(v string) *ResourceComplianceSummaryItem { + s.ResourceId = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ResourceComplianceSummaryItem) SetResourceType(v string) *ResourceComplianceSummaryItem { + s.ResourceType = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ResourceComplianceSummaryItem) SetStatus(v string) *ResourceComplianceSummaryItem { + s.Status = &v + return s +} + // Information about a Resource Data Sync configuration, including its current // status and last successful sync. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ResourceDataSyncItem @@ -21575,6 +24711,10 @@ func (s *ResourceDataSyncItem) SetSyncName(v string) *ResourceDataSyncItem { type ResourceDataSyncS3Destination struct { _ struct{} `type:"structure"` + // The ARN of an encryption key for a destination in Amazon S3. Must belong + // to the same region as the destination Amazon S3 bucket. + AWSKMSKeyARN *string `min:"1" type:"string"` + // The name of the Amazon S3 bucket where the aggregated data is stored. // // BucketName is a required field @@ -21607,6 +24747,9 @@ func (s ResourceDataSyncS3Destination) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ResourceDataSyncS3Destination) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ResourceDataSyncS3Destination"} + if s.AWSKMSKeyARN != nil && len(*s.AWSKMSKeyARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AWSKMSKeyARN", 1)) + } if s.BucketName == nil { invalidParams.Add(request.NewErrParamRequired("BucketName")) } @@ -21632,6 +24775,12 @@ func (s *ResourceDataSyncS3Destination) Validate() error { return nil } +// SetAWSKMSKeyARN sets the AWSKMSKeyARN field's value. +func (s *ResourceDataSyncS3Destination) SetAWSKMSKeyARN(v string) *ResourceDataSyncS3Destination { + s.AWSKMSKeyARN = &v + return s +} + // SetBucketName sets the BucketName field's value. func (s *ResourceDataSyncS3Destination) SetBucketName(v string) *ResourceDataSyncS3Destination { s.BucketName = &v @@ -21788,6 +24937,92 @@ func (s *S3OutputUrl) SetOutputUrl(v string) *S3OutputUrl { return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendAutomationSignalRequest +type SendAutomationSignalInput struct { + _ struct{} `type:"structure"` + + // The unique identifier for an existing Automation execution that you want + // to send the signal to. + // + // AutomationExecutionId is a required field + AutomationExecutionId *string `min:"36" type:"string" required:"true"` + + // The data sent with the signal. The data schema depends on the type of signal + // used in the request. + Payload map[string][]*string `min:"1" type:"map"` + + // The type of signal. Valid signal types include the following: Approve and + // Reject + // + // SignalType is a required field + SignalType *string `type:"string" required:"true" enum:"SignalType"` +} + +// String returns the string representation +func (s SendAutomationSignalInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SendAutomationSignalInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SendAutomationSignalInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SendAutomationSignalInput"} + if s.AutomationExecutionId == nil { + invalidParams.Add(request.NewErrParamRequired("AutomationExecutionId")) + } + if s.AutomationExecutionId != nil && len(*s.AutomationExecutionId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("AutomationExecutionId", 36)) + } + if s.Payload != nil && len(s.Payload) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Payload", 1)) + } + if s.SignalType == nil { + invalidParams.Add(request.NewErrParamRequired("SignalType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutomationExecutionId sets the AutomationExecutionId field's value. +func (s *SendAutomationSignalInput) SetAutomationExecutionId(v string) *SendAutomationSignalInput { + s.AutomationExecutionId = &v + return s +} + +// SetPayload sets the Payload field's value. +func (s *SendAutomationSignalInput) SetPayload(v map[string][]*string) *SendAutomationSignalInput { + s.Payload = v + return s +} + +// SetSignalType sets the SignalType field's value. +func (s *SendAutomationSignalInput) SetSignalType(v string) *SendAutomationSignalInput { + s.SignalType = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendAutomationSignalResult +type SendAutomationSignalOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s SendAutomationSignalOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SendAutomationSignalOutput) GoString() string { + return s.String() +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendCommandRequest type SendCommandInput struct { _ struct{} `type:"structure"` @@ -22027,10 +25262,97 @@ func (s *SendCommandOutput) SetCommand(v *Command) *SendCommandOutput { return s } +// The number of managed instances found for each patch severity level defined +// in the request filter. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SeveritySummary +type SeveritySummary struct { + _ struct{} `type:"structure"` + + // The total number of resources or compliance items that have a severity level + // of critical. Critical severity is determined by the organization that published + // the compliance items. + CriticalCount *int64 `type:"integer"` + + // The total number of resources or compliance items that have a severity level + // of high. High severity is determined by the organization that published the + // compliance items. + HighCount *int64 `type:"integer"` + + // The total number of resources or compliance items that have a severity level + // of informational. Informational severity is determined by the organization + // that published the compliance items. + InformationalCount *int64 `type:"integer"` + + // The total number of resources or compliance items that have a severity level + // of low. Low severity is determined by the organization that published the + // compliance items. + LowCount *int64 `type:"integer"` + + // The total number of resources or compliance items that have a severity level + // of medium. Medium severity is determined by the organization that published + // the compliance items. + MediumCount *int64 `type:"integer"` + + // The total number of resources or compliance items that have a severity level + // of unspecified. Unspecified severity is determined by the organization that + // published the compliance items. + UnspecifiedCount *int64 `type:"integer"` +} + +// String returns the string representation +func (s SeveritySummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SeveritySummary) GoString() string { + return s.String() +} + +// SetCriticalCount sets the CriticalCount field's value. +func (s *SeveritySummary) SetCriticalCount(v int64) *SeveritySummary { + s.CriticalCount = &v + return s +} + +// SetHighCount sets the HighCount field's value. +func (s *SeveritySummary) SetHighCount(v int64) *SeveritySummary { + s.HighCount = &v + return s +} + +// SetInformationalCount sets the InformationalCount field's value. +func (s *SeveritySummary) SetInformationalCount(v int64) *SeveritySummary { + s.InformationalCount = &v + return s +} + +// SetLowCount sets the LowCount field's value. +func (s *SeveritySummary) SetLowCount(v int64) *SeveritySummary { + s.LowCount = &v + return s +} + +// SetMediumCount sets the MediumCount field's value. +func (s *SeveritySummary) SetMediumCount(v int64) *SeveritySummary { + s.MediumCount = &v + return s +} + +// SetUnspecifiedCount sets the UnspecifiedCount field's value. +func (s *SeveritySummary) SetUnspecifiedCount(v int64) *SeveritySummary { + s.UnspecifiedCount = &v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartAutomationExecutionRequest type StartAutomationExecutionInput struct { _ struct{} `type:"structure"` + // User-provided idempotency token. The token must be unique, is case insensitive, + // enforces the UUID format, and can't be reused. + ClientToken *string `min:"36" type:"string"` + // The name of the Automation document to use for this execution. // // DocumentName is a required field @@ -22057,6 +25379,9 @@ func (s StartAutomationExecutionInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *StartAutomationExecutionInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "StartAutomationExecutionInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) + } if s.DocumentName == nil { invalidParams.Add(request.NewErrParamRequired("DocumentName")) } @@ -22070,6 +25395,12 @@ func (s *StartAutomationExecutionInput) Validate() error { return nil } +// SetClientToken sets the ClientToken field's value. +func (s *StartAutomationExecutionInput) SetClientToken(v string) *StartAutomationExecutionInput { + s.ClientToken = &v + return s +} + // SetDocumentName sets the DocumentName field's value. func (s *StartAutomationExecutionInput) SetDocumentName(v string) *StartAutomationExecutionInput { s.DocumentName = &v @@ -22415,6 +25746,14 @@ type UpdateAssociationInput struct { // AssociationId is a required field AssociationId *string `type:"string" required:"true"` + // The name of the association that you want to update. + AssociationName *string `type:"string"` + + // This parameter is provided for concurrency control purposes. You must specify + // the latest association version in the service. If you want to ensure that + // this request succeeds, either specify $LATEST, or omit this parameter. + AssociationVersion *string `type:"string"` + // The document version you want update for the association. DocumentVersion *string `type:"string"` @@ -22482,6 +25821,18 @@ func (s *UpdateAssociationInput) SetAssociationId(v string) *UpdateAssociationIn return s } +// SetAssociationName sets the AssociationName field's value. +func (s *UpdateAssociationInput) SetAssociationName(v string) *UpdateAssociationInput { + s.AssociationName = &v + return s +} + +// SetAssociationVersion sets the AssociationVersion field's value. +func (s *UpdateAssociationInput) SetAssociationVersion(v string) *UpdateAssociationInput { + s.AssociationVersion = &v + return s +} + // SetDocumentVersion sets the DocumentVersion field's value. func (s *UpdateAssociationInput) SetDocumentVersion(v string) *UpdateAssociationInput { s.DocumentVersion = &v @@ -22817,6 +26168,9 @@ type UpdateMaintenanceWindowInput struct { // Manager stops scheduling new tasks for execution. Cutoff *int64 `type:"integer"` + // An optional description for the update request. + Description *string `min:"1" type:"string"` + // The duration of the Maintenance Window in hours. Duration *int64 `min:"1" type:"integer"` @@ -22826,6 +26180,11 @@ type UpdateMaintenanceWindowInput struct { // The name of the Maintenance Window. Name *string `min:"3" type:"string"` + // If True, then all fields that are required by the CreateMaintenanceWindow + // action are also required for this API request. Optional fields that are not + // specified are set to null. + Replace *bool `type:"boolean"` + // The schedule of the Maintenance Window in the form of a cron or rate expression. Schedule *string `min:"1" type:"string"` @@ -22848,6 +26207,9 @@ func (s UpdateMaintenanceWindowInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateMaintenanceWindowInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateMaintenanceWindowInput"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } if s.Duration != nil && *s.Duration < 1 { invalidParams.Add(request.NewErrParamMinValue("Duration", 1)) } @@ -22882,6 +26244,12 @@ func (s *UpdateMaintenanceWindowInput) SetCutoff(v int64) *UpdateMaintenanceWind return s } +// SetDescription sets the Description field's value. +func (s *UpdateMaintenanceWindowInput) SetDescription(v string) *UpdateMaintenanceWindowInput { + s.Description = &v + return s +} + // SetDuration sets the Duration field's value. func (s *UpdateMaintenanceWindowInput) SetDuration(v int64) *UpdateMaintenanceWindowInput { s.Duration = &v @@ -22900,6 +26268,12 @@ func (s *UpdateMaintenanceWindowInput) SetName(v string) *UpdateMaintenanceWindo return s } +// SetReplace sets the Replace field's value. +func (s *UpdateMaintenanceWindowInput) SetReplace(v bool) *UpdateMaintenanceWindowInput { + s.Replace = &v + return s +} + // SetSchedule sets the Schedule field's value. func (s *UpdateMaintenanceWindowInput) SetSchedule(v string) *UpdateMaintenanceWindowInput { s.Schedule = &v @@ -22924,6 +26298,9 @@ type UpdateMaintenanceWindowOutput struct { // Manager stops scheduling new tasks for execution. Cutoff *int64 `type:"integer"` + // An optional description of the update. + Description *string `min:"1" type:"string"` + // The duration of the Maintenance Window in hours. Duration *int64 `min:"1" type:"integer"` @@ -22962,6 +26339,12 @@ func (s *UpdateMaintenanceWindowOutput) SetCutoff(v int64) *UpdateMaintenanceWin return s } +// SetDescription sets the Description field's value. +func (s *UpdateMaintenanceWindowOutput) SetDescription(v string) *UpdateMaintenanceWindowOutput { + s.Description = &v + return s +} + // SetDuration sets the Duration field's value. func (s *UpdateMaintenanceWindowOutput) SetDuration(v int64) *UpdateMaintenanceWindowOutput { s.Duration = &v @@ -22992,6 +26375,548 @@ func (s *UpdateMaintenanceWindowOutput) SetWindowId(v string) *UpdateMaintenance return s } +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTargetRequest +type UpdateMaintenanceWindowTargetInput struct { + _ struct{} `type:"structure"` + + // An optional description for the update. + Description *string `min:"1" type:"string"` + + // A name for the update. + Name *string `min:"3" type:"string"` + + // User-provided value that will be included in any CloudWatch events raised + // while running tasks for these targets in this Maintenance Window. + OwnerInformation *string `min:"1" type:"string"` + + // If True, then all fields that are required by the RegisterTargetWithMaintenanceWindow + // action are also required for this API request. Optional fields that are not + // specified are set to null. + Replace *bool `type:"boolean"` + + // The targets to add or replace. + Targets []*Target `type:"list"` + + // The Maintenance Window ID with which to modify the target. + // + // WindowId is a required field + WindowId *string `min:"20" type:"string" required:"true"` + + // The target ID to modify. + // + // WindowTargetId is a required field + WindowTargetId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateMaintenanceWindowTargetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateMaintenanceWindowTargetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateMaintenanceWindowTargetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateMaintenanceWindowTargetInput"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.Name != nil && len(*s.Name) < 3 { + invalidParams.Add(request.NewErrParamMinLen("Name", 3)) + } + if s.OwnerInformation != nil && len(*s.OwnerInformation) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OwnerInformation", 1)) + } + if s.WindowId == nil { + invalidParams.Add(request.NewErrParamRequired("WindowId")) + } + if s.WindowId != nil && len(*s.WindowId) < 20 { + invalidParams.Add(request.NewErrParamMinLen("WindowId", 20)) + } + if s.WindowTargetId == nil { + invalidParams.Add(request.NewErrParamRequired("WindowTargetId")) + } + if s.WindowTargetId != nil && len(*s.WindowTargetId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("WindowTargetId", 36)) + } + if s.Targets != nil { + for i, v := range s.Targets { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateMaintenanceWindowTargetInput) SetDescription(v string) *UpdateMaintenanceWindowTargetInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateMaintenanceWindowTargetInput) SetName(v string) *UpdateMaintenanceWindowTargetInput { + s.Name = &v + return s +} + +// SetOwnerInformation sets the OwnerInformation field's value. +func (s *UpdateMaintenanceWindowTargetInput) SetOwnerInformation(v string) *UpdateMaintenanceWindowTargetInput { + s.OwnerInformation = &v + return s +} + +// SetReplace sets the Replace field's value. +func (s *UpdateMaintenanceWindowTargetInput) SetReplace(v bool) *UpdateMaintenanceWindowTargetInput { + s.Replace = &v + return s +} + +// SetTargets sets the Targets field's value. +func (s *UpdateMaintenanceWindowTargetInput) SetTargets(v []*Target) *UpdateMaintenanceWindowTargetInput { + s.Targets = v + return s +} + +// SetWindowId sets the WindowId field's value. +func (s *UpdateMaintenanceWindowTargetInput) SetWindowId(v string) *UpdateMaintenanceWindowTargetInput { + s.WindowId = &v + return s +} + +// SetWindowTargetId sets the WindowTargetId field's value. +func (s *UpdateMaintenanceWindowTargetInput) SetWindowTargetId(v string) *UpdateMaintenanceWindowTargetInput { + s.WindowTargetId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTargetResult +type UpdateMaintenanceWindowTargetOutput struct { + _ struct{} `type:"structure"` + + // The updated description. + Description *string `min:"1" type:"string"` + + // The updated name. + Name *string `min:"3" type:"string"` + + // The updated owner. + OwnerInformation *string `min:"1" type:"string"` + + // The updated targets. + Targets []*Target `type:"list"` + + // The Maintenance Window ID specified in the update request. + WindowId *string `min:"20" type:"string"` + + // The target ID specified in the update request. + WindowTargetId *string `min:"36" type:"string"` +} + +// String returns the string representation +func (s UpdateMaintenanceWindowTargetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateMaintenanceWindowTargetOutput) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *UpdateMaintenanceWindowTargetOutput) SetDescription(v string) *UpdateMaintenanceWindowTargetOutput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateMaintenanceWindowTargetOutput) SetName(v string) *UpdateMaintenanceWindowTargetOutput { + s.Name = &v + return s +} + +// SetOwnerInformation sets the OwnerInformation field's value. +func (s *UpdateMaintenanceWindowTargetOutput) SetOwnerInformation(v string) *UpdateMaintenanceWindowTargetOutput { + s.OwnerInformation = &v + return s +} + +// SetTargets sets the Targets field's value. +func (s *UpdateMaintenanceWindowTargetOutput) SetTargets(v []*Target) *UpdateMaintenanceWindowTargetOutput { + s.Targets = v + return s +} + +// SetWindowId sets the WindowId field's value. +func (s *UpdateMaintenanceWindowTargetOutput) SetWindowId(v string) *UpdateMaintenanceWindowTargetOutput { + s.WindowId = &v + return s +} + +// SetWindowTargetId sets the WindowTargetId field's value. +func (s *UpdateMaintenanceWindowTargetOutput) SetWindowTargetId(v string) *UpdateMaintenanceWindowTargetOutput { + s.WindowTargetId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTaskRequest +type UpdateMaintenanceWindowTaskInput struct { + _ struct{} `type:"structure"` + + // The new task description to specify. + Description *string `min:"1" type:"string"` + + // The new logging location in Amazon S3 to specify. + LoggingInfo *LoggingInfo `type:"structure"` + + // The new MaxConcurrency value you want to specify. MaxConcurrency is the number + // of targets that are allowed to run this task in parallel. + MaxConcurrency *string `min:"1" type:"string"` + + // The new MaxErrors value to specify. MaxErrors is the maximum number of errors + // that are allowed before the task stops being scheduled. + MaxErrors *string `min:"1" type:"string"` + + // The new task name to specify. + Name *string `min:"3" type:"string"` + + // The new task priority to specify. The lower the number, the higher the priority. + // Tasks that have the same priority are scheduled in parallel. + Priority *int64 `type:"integer"` + + // If True, then all fields that are required by the RegisterTaskWithMaintenanceWndow + // action are also required for this API request. Optional fields that are not + // specified are set to null. + Replace *bool `type:"boolean"` + + // The IAM service role ARN to modify. The system assumes this role during task + // execution. + ServiceRoleArn *string `type:"string"` + + // The targets (either instances or tags) to modify. Instances are specified + // using Key=instanceids,Values=instanceID_1,instanceID_2. Tags are specified + // using Key=tag_name,Values=tag_value. + Targets []*Target `type:"list"` + + // The task ARN to modify. + TaskArn *string `min:"1" type:"string"` + + // The parameters that the task should use during execution. Populate only the + // fields that match the task type. All other fields should be empty. + TaskInvocationParameters *MaintenanceWindowTaskInvocationParameters `type:"structure"` + + // The parameters to modify. The map has the following format: + // + // Key: string, between 1 and 255 characters + // + // Value: an array of strings, each string is between 1 and 255 characters + TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map"` + + // The Maintenance Window ID that contains the task to modify. + // + // WindowId is a required field + WindowId *string `min:"20" type:"string" required:"true"` + + // The task ID to modify. + // + // WindowTaskId is a required field + WindowTaskId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateMaintenanceWindowTaskInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateMaintenanceWindowTaskInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateMaintenanceWindowTaskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateMaintenanceWindowTaskInput"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1)) + } + if s.MaxErrors != nil && len(*s.MaxErrors) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1)) + } + if s.Name != nil && len(*s.Name) < 3 { + invalidParams.Add(request.NewErrParamMinLen("Name", 3)) + } + if s.TaskArn != nil && len(*s.TaskArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TaskArn", 1)) + } + if s.WindowId == nil { + invalidParams.Add(request.NewErrParamRequired("WindowId")) + } + if s.WindowId != nil && len(*s.WindowId) < 20 { + invalidParams.Add(request.NewErrParamMinLen("WindowId", 20)) + } + if s.WindowTaskId == nil { + invalidParams.Add(request.NewErrParamRequired("WindowTaskId")) + } + if s.WindowTaskId != nil && len(*s.WindowTaskId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("WindowTaskId", 36)) + } + if s.LoggingInfo != nil { + if err := s.LoggingInfo.Validate(); err != nil { + invalidParams.AddNested("LoggingInfo", err.(request.ErrInvalidParams)) + } + } + if s.Targets != nil { + for i, v := range s.Targets { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams)) + } + } + } + if s.TaskInvocationParameters != nil { + if err := s.TaskInvocationParameters.Validate(); err != nil { + invalidParams.AddNested("TaskInvocationParameters", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateMaintenanceWindowTaskInput) SetDescription(v string) *UpdateMaintenanceWindowTaskInput { + s.Description = &v + return s +} + +// SetLoggingInfo sets the LoggingInfo field's value. +func (s *UpdateMaintenanceWindowTaskInput) SetLoggingInfo(v *LoggingInfo) *UpdateMaintenanceWindowTaskInput { + s.LoggingInfo = v + return s +} + +// SetMaxConcurrency sets the MaxConcurrency field's value. +func (s *UpdateMaintenanceWindowTaskInput) SetMaxConcurrency(v string) *UpdateMaintenanceWindowTaskInput { + s.MaxConcurrency = &v + return s +} + +// SetMaxErrors sets the MaxErrors field's value. +func (s *UpdateMaintenanceWindowTaskInput) SetMaxErrors(v string) *UpdateMaintenanceWindowTaskInput { + s.MaxErrors = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateMaintenanceWindowTaskInput) SetName(v string) *UpdateMaintenanceWindowTaskInput { + s.Name = &v + return s +} + +// SetPriority sets the Priority field's value. +func (s *UpdateMaintenanceWindowTaskInput) SetPriority(v int64) *UpdateMaintenanceWindowTaskInput { + s.Priority = &v + return s +} + +// SetReplace sets the Replace field's value. +func (s *UpdateMaintenanceWindowTaskInput) SetReplace(v bool) *UpdateMaintenanceWindowTaskInput { + s.Replace = &v + return s +} + +// SetServiceRoleArn sets the ServiceRoleArn field's value. +func (s *UpdateMaintenanceWindowTaskInput) SetServiceRoleArn(v string) *UpdateMaintenanceWindowTaskInput { + s.ServiceRoleArn = &v + return s +} + +// SetTargets sets the Targets field's value. +func (s *UpdateMaintenanceWindowTaskInput) SetTargets(v []*Target) *UpdateMaintenanceWindowTaskInput { + s.Targets = v + return s +} + +// SetTaskArn sets the TaskArn field's value. +func (s *UpdateMaintenanceWindowTaskInput) SetTaskArn(v string) *UpdateMaintenanceWindowTaskInput { + s.TaskArn = &v + return s +} + +// SetTaskInvocationParameters sets the TaskInvocationParameters field's value. +func (s *UpdateMaintenanceWindowTaskInput) SetTaskInvocationParameters(v *MaintenanceWindowTaskInvocationParameters) *UpdateMaintenanceWindowTaskInput { + s.TaskInvocationParameters = v + return s +} + +// SetTaskParameters sets the TaskParameters field's value. +func (s *UpdateMaintenanceWindowTaskInput) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *UpdateMaintenanceWindowTaskInput { + s.TaskParameters = v + return s +} + +// SetWindowId sets the WindowId field's value. +func (s *UpdateMaintenanceWindowTaskInput) SetWindowId(v string) *UpdateMaintenanceWindowTaskInput { + s.WindowId = &v + return s +} + +// SetWindowTaskId sets the WindowTaskId field's value. +func (s *UpdateMaintenanceWindowTaskInput) SetWindowTaskId(v string) *UpdateMaintenanceWindowTaskInput { + s.WindowTaskId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTaskResult +type UpdateMaintenanceWindowTaskOutput struct { + _ struct{} `type:"structure"` + + // The updated task description. + Description *string `min:"1" type:"string"` + + // The updated logging information in Amazon S3. + LoggingInfo *LoggingInfo `type:"structure"` + + // The updated MaxConcurrency value. + MaxConcurrency *string `min:"1" type:"string"` + + // The updated MaxErrors value. + MaxErrors *string `min:"1" type:"string"` + + // The updated task name. + Name *string `min:"3" type:"string"` + + // The updated priority value. + Priority *int64 `type:"integer"` + + // The updated service role ARN value. + ServiceRoleArn *string `type:"string"` + + // The updated target values. + Targets []*Target `type:"list"` + + // The updated task ARN value. + TaskArn *string `min:"1" type:"string"` + + // The updated parameter values. + TaskInvocationParameters *MaintenanceWindowTaskInvocationParameters `type:"structure"` + + // The updated parameter values. + TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map"` + + // The ID of the Maintenance Window that was updated. + WindowId *string `min:"20" type:"string"` + + // The task ID of the Maintenance Window that was updated. + WindowTaskId *string `min:"36" type:"string"` +} + +// String returns the string representation +func (s UpdateMaintenanceWindowTaskOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateMaintenanceWindowTaskOutput) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *UpdateMaintenanceWindowTaskOutput) SetDescription(v string) *UpdateMaintenanceWindowTaskOutput { + s.Description = &v + return s +} + +// SetLoggingInfo sets the LoggingInfo field's value. +func (s *UpdateMaintenanceWindowTaskOutput) SetLoggingInfo(v *LoggingInfo) *UpdateMaintenanceWindowTaskOutput { + s.LoggingInfo = v + return s +} + +// SetMaxConcurrency sets the MaxConcurrency field's value. +func (s *UpdateMaintenanceWindowTaskOutput) SetMaxConcurrency(v string) *UpdateMaintenanceWindowTaskOutput { + s.MaxConcurrency = &v + return s +} + +// SetMaxErrors sets the MaxErrors field's value. +func (s *UpdateMaintenanceWindowTaskOutput) SetMaxErrors(v string) *UpdateMaintenanceWindowTaskOutput { + s.MaxErrors = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateMaintenanceWindowTaskOutput) SetName(v string) *UpdateMaintenanceWindowTaskOutput { + s.Name = &v + return s +} + +// SetPriority sets the Priority field's value. +func (s *UpdateMaintenanceWindowTaskOutput) SetPriority(v int64) *UpdateMaintenanceWindowTaskOutput { + s.Priority = &v + return s +} + +// SetServiceRoleArn sets the ServiceRoleArn field's value. +func (s *UpdateMaintenanceWindowTaskOutput) SetServiceRoleArn(v string) *UpdateMaintenanceWindowTaskOutput { + s.ServiceRoleArn = &v + return s +} + +// SetTargets sets the Targets field's value. +func (s *UpdateMaintenanceWindowTaskOutput) SetTargets(v []*Target) *UpdateMaintenanceWindowTaskOutput { + s.Targets = v + return s +} + +// SetTaskArn sets the TaskArn field's value. +func (s *UpdateMaintenanceWindowTaskOutput) SetTaskArn(v string) *UpdateMaintenanceWindowTaskOutput { + s.TaskArn = &v + return s +} + +// SetTaskInvocationParameters sets the TaskInvocationParameters field's value. +func (s *UpdateMaintenanceWindowTaskOutput) SetTaskInvocationParameters(v *MaintenanceWindowTaskInvocationParameters) *UpdateMaintenanceWindowTaskOutput { + s.TaskInvocationParameters = v + return s +} + +// SetTaskParameters sets the TaskParameters field's value. +func (s *UpdateMaintenanceWindowTaskOutput) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *UpdateMaintenanceWindowTaskOutput { + s.TaskParameters = v + return s +} + +// SetWindowId sets the WindowId field's value. +func (s *UpdateMaintenanceWindowTaskOutput) SetWindowId(v string) *UpdateMaintenanceWindowTaskOutput { + s.WindowId = &v + return s +} + +// SetWindowTaskId sets the WindowTaskId field's value. +func (s *UpdateMaintenanceWindowTaskOutput) SetWindowTaskId(v string) *UpdateMaintenanceWindowTaskOutput { + s.WindowTaskId = &v + return s +} + // Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateManagedInstanceRoleRequest type UpdateManagedInstanceRoleInput struct { _ struct{} `type:"structure"` @@ -23314,6 +27239,9 @@ const ( // AssociationFilterKeyLastExecutedAfter is a AssociationFilterKey enum value AssociationFilterKeyLastExecutedAfter = "LastExecutedAfter" + + // AssociationFilterKeyAssociationName is a AssociationFilterKey enum value + AssociationFilterKeyAssociationName = "AssociationName" ) const ( @@ -23342,6 +27270,9 @@ const ( // AutomationExecutionStatusInProgress is a AutomationExecutionStatus enum value AutomationExecutionStatusInProgress = "InProgress" + // AutomationExecutionStatusWaiting is a AutomationExecutionStatus enum value + AutomationExecutionStatusWaiting = "Waiting" + // AutomationExecutionStatusSuccess is a AutomationExecutionStatus enum value AutomationExecutionStatusSuccess = "Success" @@ -23435,6 +27366,51 @@ const ( CommandStatusCancelling = "Cancelling" ) +const ( + // ComplianceQueryOperatorTypeEqual is a ComplianceQueryOperatorType enum value + ComplianceQueryOperatorTypeEqual = "EQUAL" + + // ComplianceQueryOperatorTypeNotEqual is a ComplianceQueryOperatorType enum value + ComplianceQueryOperatorTypeNotEqual = "NOT_EQUAL" + + // ComplianceQueryOperatorTypeBeginWith is a ComplianceQueryOperatorType enum value + ComplianceQueryOperatorTypeBeginWith = "BEGIN_WITH" + + // ComplianceQueryOperatorTypeLessThan is a ComplianceQueryOperatorType enum value + ComplianceQueryOperatorTypeLessThan = "LESS_THAN" + + // ComplianceQueryOperatorTypeGreaterThan is a ComplianceQueryOperatorType enum value + ComplianceQueryOperatorTypeGreaterThan = "GREATER_THAN" +) + +const ( + // ComplianceSeverityCritical is a ComplianceSeverity enum value + ComplianceSeverityCritical = "CRITICAL" + + // ComplianceSeverityHigh is a ComplianceSeverity enum value + ComplianceSeverityHigh = "HIGH" + + // ComplianceSeverityMedium is a ComplianceSeverity enum value + ComplianceSeverityMedium = "MEDIUM" + + // ComplianceSeverityLow is a ComplianceSeverity enum value + ComplianceSeverityLow = "LOW" + + // ComplianceSeverityInformational is a ComplianceSeverity enum value + ComplianceSeverityInformational = "INFORMATIONAL" + + // ComplianceSeverityUnspecified is a ComplianceSeverity enum value + ComplianceSeverityUnspecified = "UNSPECIFIED" +) + +const ( + // ComplianceStatusCompliant is a ComplianceStatus enum value + ComplianceStatusCompliant = "COMPLIANT" + + // ComplianceStatusNonCompliant is a ComplianceStatus enum value + ComplianceStatusNonCompliant = "NON_COMPLIANT" +) + const ( // DescribeActivationsFilterKeysActivationIds is a DescribeActivationsFilterKeys enum value DescribeActivationsFilterKeysActivationIds = "ActivationIds" @@ -23627,6 +27603,15 @@ const ( const ( // MaintenanceWindowTaskTypeRunCommand is a MaintenanceWindowTaskType enum value MaintenanceWindowTaskTypeRunCommand = "RUN_COMMAND" + + // MaintenanceWindowTaskTypeAutomation is a MaintenanceWindowTaskType enum value + MaintenanceWindowTaskTypeAutomation = "AUTOMATION" + + // MaintenanceWindowTaskTypeStepFunctions is a MaintenanceWindowTaskType enum value + MaintenanceWindowTaskTypeStepFunctions = "STEP_FUNCTIONS" + + // MaintenanceWindowTaskTypeLambda is a MaintenanceWindowTaskType enum value + MaintenanceWindowTaskTypeLambda = "LAMBDA" ) const ( @@ -23820,3 +27805,11 @@ const ( // ResourceTypeForTaggingParameter is a ResourceTypeForTagging enum value ResourceTypeForTaggingParameter = "Parameter" ) + +const ( + // SignalTypeApprove is a SignalType enum value + SignalTypeApprove = "Approve" + + // SignalTypeReject is a SignalType enum value + SignalTypeReject = "Reject" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/ssm/doc.go b/vendor/github.com/aws/aws-sdk-go/service/ssm/doc.go index 4c0d60696..f10e6aa8e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ssm/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ssm/doc.go @@ -24,69 +24,17 @@ // // Using the Client // -// To use the client for Amazon Simple Systems Manager (SSM) you will first need -// to create a new instance of it. +// To Amazon Simple Systems Manager (SSM) with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := ssm.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Simple Systems Manager (SSM) client SSM for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/ssm/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AddTagsToResource(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AddTagsToResource result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AddTagsToResourceWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package ssm diff --git a/vendor/github.com/aws/aws-sdk-go/service/ssm/errors.go b/vendor/github.com/aws/aws-sdk-go/service/ssm/errors.go index 23ec18b70..35c3d70fb 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ssm/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ssm/errors.go @@ -36,6 +36,13 @@ const ( // You can have at most 2,000 active associations. ErrCodeAssociationLimitExceeded = "AssociationLimitExceeded" + // ErrCodeAssociationVersionLimitExceeded for service response error code + // "AssociationVersionLimitExceeded". + // + // You have reached the maximum number versions allowed for an association. + // Each association has a limit of 1,000 versions. + ErrCodeAssociationVersionLimitExceeded = "AssociationVersionLimitExceeded" + // ErrCodeAutomationDefinitionNotFoundException for service response error code // "AutomationDefinitionNotFoundException". // @@ -62,6 +69,13 @@ const ( // execution ID. ErrCodeAutomationExecutionNotFoundException = "AutomationExecutionNotFoundException" + // ErrCodeComplianceTypeCountLimitExceededException for service response error code + // "ComplianceTypeCountLimitExceededException". + // + // You specified too many custom compliance types. You can specify a maximum + // of 10 different types. + ErrCodeComplianceTypeCountLimitExceededException = "ComplianceTypeCountLimitExceededException" + // ErrCodeCustomSchemaCountLimitExceededException for service response error code // "CustomSchemaCountLimitExceededException". // @@ -116,6 +130,13 @@ const ( // You cannot specify an instance ID in more than one association. ErrCodeDuplicateInstanceId = "DuplicateInstanceId" + // ErrCodeFeatureNotAvailableException for service response error code + // "FeatureNotAvailableException". + // + // You attempted to register a LAMBDA or STEP_FUNCTION task in a region where + // the corresponding service is not available. + ErrCodeFeatureNotAvailableException = "FeatureNotAvailableException" + // ErrCodeHierarchyLevelLimitExceededException for service response error code // "HierarchyLevelLimitExceededException". // @@ -167,6 +188,14 @@ const ( // The request does not meet the regular expression requirement. ErrCodeInvalidAllowedPatternException = "InvalidAllowedPatternException" + // ErrCodeInvalidAssociationVersion for service response error code + // "InvalidAssociationVersion". + // + // The version you specified is not valid. Use ListAssociationVersions to view + // all versions of an association according to the association ID. Or, use the + // $LATEST parameter to view the latest version of the association. + ErrCodeInvalidAssociationVersion = "InvalidAssociationVersion" + // ErrCodeInvalidAutomationExecutionParametersException for service response error code // "InvalidAutomationExecutionParametersException". // @@ -175,6 +204,12 @@ const ( // for the specified Automation document. ErrCodeInvalidAutomationExecutionParametersException = "InvalidAutomationExecutionParametersException" + // ErrCodeInvalidAutomationSignalException for service response error code + // "InvalidAutomationSignalException". + // + // The signal is not valid for the current Automation execution. + ErrCodeInvalidAutomationSignalException = "InvalidAutomationSignalException" + // ErrCodeInvalidCommandId for service response error code // "InvalidCommandId". ErrCodeInvalidCommandId = "InvalidCommandId" @@ -260,6 +295,13 @@ const ( // The specified filter value is not valid. ErrCodeInvalidInstanceInformationFilterValue = "InvalidInstanceInformationFilterValue" + // ErrCodeInvalidInventoryItemContextException for service response error code + // "InvalidInventoryItemContextException". + // + // You specified invalid keys or values in the Context attribute for InventoryItem. + // Verify the keys and values, and try again. + ErrCodeInvalidInventoryItemContextException = "InvalidInventoryItemContextException" + // ErrCodeInvalidItemContentException for service response error code // "InvalidItemContentException". // @@ -466,6 +508,19 @@ const ( // The updated status is the same as the current status. ErrCodeStatusUnchanged = "StatusUnchanged" + // ErrCodeSubTypeCountLimitExceededException for service response error code + // "SubTypeCountLimitExceededException". + // + // The sub-type count exceeded the limit for the inventory type. + ErrCodeSubTypeCountLimitExceededException = "SubTypeCountLimitExceededException" + + // ErrCodeTargetInUseException for service response error code + // "TargetInUseException". + // + // You specified the Safe option for the DeregisterTargetFromMaintenanceWindow + // operation, but the target is still referenced in a task. + ErrCodeTargetInUseException = "TargetInUseException" + // ErrCodeTooManyTagsError for service response error code // "TooManyTagsError". // @@ -486,6 +541,14 @@ const ( // The size of inventory data has exceeded the total size limit for the resource. ErrCodeTotalSizeLimitExceededException = "TotalSizeLimitExceededException" + // ErrCodeUnsupportedInventoryItemContextException for service response error code + // "UnsupportedInventoryItemContextException". + // + // The Context attribute that you specified for the InventoryItem is not allowed + // for this inventory type. You can only use the Context attribute with inventory + // types like AWS:ComplianceItem. + ErrCodeUnsupportedInventoryItemContextException = "UnsupportedInventoryItemContextException" + // ErrCodeUnsupportedInventorySchemaVersionException for service response error code // "UnsupportedInventorySchemaVersionException". // diff --git a/vendor/github.com/aws/aws-sdk-go/service/ssm/ssmiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/ssm/ssmiface/interface.go index efdfa3230..a281ac9d4 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ssm/ssmiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ssm/ssmiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Simple Systems Manager (SSM). @@ -285,6 +285,14 @@ type SSMAPI interface { GetMaintenanceWindowExecutionTaskWithContext(aws.Context, *ssm.GetMaintenanceWindowExecutionTaskInput, ...request.Option) (*ssm.GetMaintenanceWindowExecutionTaskOutput, error) GetMaintenanceWindowExecutionTaskRequest(*ssm.GetMaintenanceWindowExecutionTaskInput) (*request.Request, *ssm.GetMaintenanceWindowExecutionTaskOutput) + GetMaintenanceWindowExecutionTaskInvocation(*ssm.GetMaintenanceWindowExecutionTaskInvocationInput) (*ssm.GetMaintenanceWindowExecutionTaskInvocationOutput, error) + GetMaintenanceWindowExecutionTaskInvocationWithContext(aws.Context, *ssm.GetMaintenanceWindowExecutionTaskInvocationInput, ...request.Option) (*ssm.GetMaintenanceWindowExecutionTaskInvocationOutput, error) + GetMaintenanceWindowExecutionTaskInvocationRequest(*ssm.GetMaintenanceWindowExecutionTaskInvocationInput) (*request.Request, *ssm.GetMaintenanceWindowExecutionTaskInvocationOutput) + + GetMaintenanceWindowTask(*ssm.GetMaintenanceWindowTaskInput) (*ssm.GetMaintenanceWindowTaskOutput, error) + GetMaintenanceWindowTaskWithContext(aws.Context, *ssm.GetMaintenanceWindowTaskInput, ...request.Option) (*ssm.GetMaintenanceWindowTaskOutput, error) + GetMaintenanceWindowTaskRequest(*ssm.GetMaintenanceWindowTaskInput) (*request.Request, *ssm.GetMaintenanceWindowTaskOutput) + GetParameter(*ssm.GetParameterInput) (*ssm.GetParameterOutput, error) GetParameterWithContext(aws.Context, *ssm.GetParameterInput, ...request.Option) (*ssm.GetParameterOutput, error) GetParameterRequest(*ssm.GetParameterInput) (*request.Request, *ssm.GetParameterOutput) @@ -315,6 +323,10 @@ type SSMAPI interface { GetPatchBaselineForPatchGroupWithContext(aws.Context, *ssm.GetPatchBaselineForPatchGroupInput, ...request.Option) (*ssm.GetPatchBaselineForPatchGroupOutput, error) GetPatchBaselineForPatchGroupRequest(*ssm.GetPatchBaselineForPatchGroupInput) (*request.Request, *ssm.GetPatchBaselineForPatchGroupOutput) + ListAssociationVersions(*ssm.ListAssociationVersionsInput) (*ssm.ListAssociationVersionsOutput, error) + ListAssociationVersionsWithContext(aws.Context, *ssm.ListAssociationVersionsInput, ...request.Option) (*ssm.ListAssociationVersionsOutput, error) + ListAssociationVersionsRequest(*ssm.ListAssociationVersionsInput) (*request.Request, *ssm.ListAssociationVersionsOutput) + ListAssociations(*ssm.ListAssociationsInput) (*ssm.ListAssociationsOutput, error) ListAssociationsWithContext(aws.Context, *ssm.ListAssociationsInput, ...request.Option) (*ssm.ListAssociationsOutput, error) ListAssociationsRequest(*ssm.ListAssociationsInput) (*request.Request, *ssm.ListAssociationsOutput) @@ -336,6 +348,14 @@ type SSMAPI interface { ListCommandsPages(*ssm.ListCommandsInput, func(*ssm.ListCommandsOutput, bool) bool) error ListCommandsPagesWithContext(aws.Context, *ssm.ListCommandsInput, func(*ssm.ListCommandsOutput, bool) bool, ...request.Option) error + ListComplianceItems(*ssm.ListComplianceItemsInput) (*ssm.ListComplianceItemsOutput, error) + ListComplianceItemsWithContext(aws.Context, *ssm.ListComplianceItemsInput, ...request.Option) (*ssm.ListComplianceItemsOutput, error) + ListComplianceItemsRequest(*ssm.ListComplianceItemsInput) (*request.Request, *ssm.ListComplianceItemsOutput) + + ListComplianceSummaries(*ssm.ListComplianceSummariesInput) (*ssm.ListComplianceSummariesOutput, error) + ListComplianceSummariesWithContext(aws.Context, *ssm.ListComplianceSummariesInput, ...request.Option) (*ssm.ListComplianceSummariesOutput, error) + ListComplianceSummariesRequest(*ssm.ListComplianceSummariesInput) (*request.Request, *ssm.ListComplianceSummariesOutput) + ListDocumentVersions(*ssm.ListDocumentVersionsInput) (*ssm.ListDocumentVersionsOutput, error) ListDocumentVersionsWithContext(aws.Context, *ssm.ListDocumentVersionsInput, ...request.Option) (*ssm.ListDocumentVersionsOutput, error) ListDocumentVersionsRequest(*ssm.ListDocumentVersionsInput) (*request.Request, *ssm.ListDocumentVersionsOutput) @@ -351,6 +371,10 @@ type SSMAPI interface { ListInventoryEntriesWithContext(aws.Context, *ssm.ListInventoryEntriesInput, ...request.Option) (*ssm.ListInventoryEntriesOutput, error) ListInventoryEntriesRequest(*ssm.ListInventoryEntriesInput) (*request.Request, *ssm.ListInventoryEntriesOutput) + ListResourceComplianceSummaries(*ssm.ListResourceComplianceSummariesInput) (*ssm.ListResourceComplianceSummariesOutput, error) + ListResourceComplianceSummariesWithContext(aws.Context, *ssm.ListResourceComplianceSummariesInput, ...request.Option) (*ssm.ListResourceComplianceSummariesOutput, error) + ListResourceComplianceSummariesRequest(*ssm.ListResourceComplianceSummariesInput) (*request.Request, *ssm.ListResourceComplianceSummariesOutput) + ListResourceDataSync(*ssm.ListResourceDataSyncInput) (*ssm.ListResourceDataSyncOutput, error) ListResourceDataSyncWithContext(aws.Context, *ssm.ListResourceDataSyncInput, ...request.Option) (*ssm.ListResourceDataSyncOutput, error) ListResourceDataSyncRequest(*ssm.ListResourceDataSyncInput) (*request.Request, *ssm.ListResourceDataSyncOutput) @@ -363,6 +387,10 @@ type SSMAPI interface { ModifyDocumentPermissionWithContext(aws.Context, *ssm.ModifyDocumentPermissionInput, ...request.Option) (*ssm.ModifyDocumentPermissionOutput, error) ModifyDocumentPermissionRequest(*ssm.ModifyDocumentPermissionInput) (*request.Request, *ssm.ModifyDocumentPermissionOutput) + PutComplianceItems(*ssm.PutComplianceItemsInput) (*ssm.PutComplianceItemsOutput, error) + PutComplianceItemsWithContext(aws.Context, *ssm.PutComplianceItemsInput, ...request.Option) (*ssm.PutComplianceItemsOutput, error) + PutComplianceItemsRequest(*ssm.PutComplianceItemsInput) (*request.Request, *ssm.PutComplianceItemsOutput) + PutInventory(*ssm.PutInventoryInput) (*ssm.PutInventoryOutput, error) PutInventoryWithContext(aws.Context, *ssm.PutInventoryInput, ...request.Option) (*ssm.PutInventoryOutput, error) PutInventoryRequest(*ssm.PutInventoryInput) (*request.Request, *ssm.PutInventoryOutput) @@ -391,6 +419,10 @@ type SSMAPI interface { RemoveTagsFromResourceWithContext(aws.Context, *ssm.RemoveTagsFromResourceInput, ...request.Option) (*ssm.RemoveTagsFromResourceOutput, error) RemoveTagsFromResourceRequest(*ssm.RemoveTagsFromResourceInput) (*request.Request, *ssm.RemoveTagsFromResourceOutput) + SendAutomationSignal(*ssm.SendAutomationSignalInput) (*ssm.SendAutomationSignalOutput, error) + SendAutomationSignalWithContext(aws.Context, *ssm.SendAutomationSignalInput, ...request.Option) (*ssm.SendAutomationSignalOutput, error) + SendAutomationSignalRequest(*ssm.SendAutomationSignalInput) (*request.Request, *ssm.SendAutomationSignalOutput) + SendCommand(*ssm.SendCommandInput) (*ssm.SendCommandOutput, error) SendCommandWithContext(aws.Context, *ssm.SendCommandInput, ...request.Option) (*ssm.SendCommandOutput, error) SendCommandRequest(*ssm.SendCommandInput) (*request.Request, *ssm.SendCommandOutput) @@ -423,6 +455,14 @@ type SSMAPI interface { UpdateMaintenanceWindowWithContext(aws.Context, *ssm.UpdateMaintenanceWindowInput, ...request.Option) (*ssm.UpdateMaintenanceWindowOutput, error) UpdateMaintenanceWindowRequest(*ssm.UpdateMaintenanceWindowInput) (*request.Request, *ssm.UpdateMaintenanceWindowOutput) + UpdateMaintenanceWindowTarget(*ssm.UpdateMaintenanceWindowTargetInput) (*ssm.UpdateMaintenanceWindowTargetOutput, error) + UpdateMaintenanceWindowTargetWithContext(aws.Context, *ssm.UpdateMaintenanceWindowTargetInput, ...request.Option) (*ssm.UpdateMaintenanceWindowTargetOutput, error) + UpdateMaintenanceWindowTargetRequest(*ssm.UpdateMaintenanceWindowTargetInput) (*request.Request, *ssm.UpdateMaintenanceWindowTargetOutput) + + UpdateMaintenanceWindowTask(*ssm.UpdateMaintenanceWindowTaskInput) (*ssm.UpdateMaintenanceWindowTaskOutput, error) + UpdateMaintenanceWindowTaskWithContext(aws.Context, *ssm.UpdateMaintenanceWindowTaskInput, ...request.Option) (*ssm.UpdateMaintenanceWindowTaskOutput, error) + UpdateMaintenanceWindowTaskRequest(*ssm.UpdateMaintenanceWindowTaskInput) (*request.Request, *ssm.UpdateMaintenanceWindowTaskOutput) + UpdateManagedInstanceRole(*ssm.UpdateManagedInstanceRoleInput) (*ssm.UpdateManagedInstanceRoleOutput, error) UpdateManagedInstanceRoleWithContext(aws.Context, *ssm.UpdateManagedInstanceRoleInput, ...request.Option) (*ssm.UpdateManagedInstanceRoleOutput, error) UpdateManagedInstanceRoleRequest(*ssm.UpdateManagedInstanceRoleInput) (*request.Request, *ssm.UpdateManagedInstanceRoleOutput) diff --git a/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go b/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go index b0d575827..7ef80ef3a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go @@ -15,19 +15,18 @@ const opActivateGateway = "ActivateGateway" // ActivateGatewayRequest generates a "aws/request.Request" representing the // client's request for the ActivateGateway operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ActivateGateway for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ActivateGateway method directly -// instead. +// See ActivateGateway for more information on using the ActivateGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ActivateGatewayRequest method. // req, resp := client.ActivateGatewayRequest(params) @@ -108,19 +107,18 @@ const opAddCache = "AddCache" // AddCacheRequest generates a "aws/request.Request" representing the // client's request for the AddCache operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddCache for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddCache method directly -// instead. +// See AddCache for more information on using the AddCache +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddCacheRequest method. // req, resp := client.AddCacheRequest(params) @@ -199,19 +197,18 @@ const opAddTagsToResource = "AddTagsToResource" // AddTagsToResourceRequest generates a "aws/request.Request" representing the // client's request for the AddTagsToResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddTagsToResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddTagsToResource method directly -// instead. +// See AddTagsToResource for more information on using the AddTagsToResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddTagsToResourceRequest method. // req, resp := client.AddTagsToResourceRequest(params) @@ -297,19 +294,18 @@ const opAddUploadBuffer = "AddUploadBuffer" // AddUploadBufferRequest generates a "aws/request.Request" representing the // client's request for the AddUploadBuffer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddUploadBuffer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddUploadBuffer method directly -// instead. +// See AddUploadBuffer for more information on using the AddUploadBuffer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddUploadBufferRequest method. // req, resp := client.AddUploadBufferRequest(params) @@ -388,19 +384,18 @@ const opAddWorkingStorage = "AddWorkingStorage" // AddWorkingStorageRequest generates a "aws/request.Request" representing the // client's request for the AddWorkingStorage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddWorkingStorage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddWorkingStorage method directly -// instead. +// See AddWorkingStorage for more information on using the AddWorkingStorage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddWorkingStorageRequest method. // req, resp := client.AddWorkingStorageRequest(params) @@ -483,19 +478,18 @@ const opCancelArchival = "CancelArchival" // CancelArchivalRequest generates a "aws/request.Request" representing the // client's request for the CancelArchival operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CancelArchival for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CancelArchival method directly -// instead. +// See CancelArchival for more information on using the CancelArchival +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CancelArchivalRequest method. // req, resp := client.CancelArchivalRequest(params) @@ -570,19 +564,18 @@ const opCancelRetrieval = "CancelRetrieval" // CancelRetrievalRequest generates a "aws/request.Request" representing the // client's request for the CancelRetrieval operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CancelRetrieval for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CancelRetrieval method directly -// instead. +// See CancelRetrieval for more information on using the CancelRetrieval +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CancelRetrievalRequest method. // req, resp := client.CancelRetrievalRequest(params) @@ -657,19 +650,18 @@ const opCreateCachediSCSIVolume = "CreateCachediSCSIVolume" // CreateCachediSCSIVolumeRequest generates a "aws/request.Request" representing the // client's request for the CreateCachediSCSIVolume operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateCachediSCSIVolume for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateCachediSCSIVolume method directly -// instead. +// See CreateCachediSCSIVolume for more information on using the CreateCachediSCSIVolume +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateCachediSCSIVolumeRequest method. // req, resp := client.CreateCachediSCSIVolumeRequest(params) @@ -758,19 +750,18 @@ const opCreateNFSFileShare = "CreateNFSFileShare" // CreateNFSFileShareRequest generates a "aws/request.Request" representing the // client's request for the CreateNFSFileShare operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateNFSFileShare for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateNFSFileShare method directly -// instead. +// See CreateNFSFileShare for more information on using the CreateNFSFileShare +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateNFSFileShareRequest method. // req, resp := client.CreateNFSFileShareRequest(params) @@ -855,19 +846,18 @@ const opCreateSnapshot = "CreateSnapshot" // CreateSnapshotRequest generates a "aws/request.Request" representing the // client's request for the CreateSnapshot operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateSnapshot for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateSnapshot method directly -// instead. +// See CreateSnapshot for more information on using the CreateSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateSnapshotRequest method. // req, resp := client.CreateSnapshotRequest(params) @@ -967,19 +957,18 @@ const opCreateSnapshotFromVolumeRecoveryPoint = "CreateSnapshotFromVolumeRecover // CreateSnapshotFromVolumeRecoveryPointRequest generates a "aws/request.Request" representing the // client's request for the CreateSnapshotFromVolumeRecoveryPoint operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateSnapshotFromVolumeRecoveryPoint for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateSnapshotFromVolumeRecoveryPoint method directly -// instead. +// See CreateSnapshotFromVolumeRecoveryPoint for more information on using the CreateSnapshotFromVolumeRecoveryPoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateSnapshotFromVolumeRecoveryPointRequest method. // req, resp := client.CreateSnapshotFromVolumeRecoveryPointRequest(params) @@ -1072,19 +1061,18 @@ const opCreateStorediSCSIVolume = "CreateStorediSCSIVolume" // CreateStorediSCSIVolumeRequest generates a "aws/request.Request" representing the // client's request for the CreateStorediSCSIVolume operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateStorediSCSIVolume for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateStorediSCSIVolume method directly -// instead. +// See CreateStorediSCSIVolume for more information on using the CreateStorediSCSIVolume +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateStorediSCSIVolumeRequest method. // req, resp := client.CreateStorediSCSIVolumeRequest(params) @@ -1169,19 +1157,18 @@ const opCreateTapeWithBarcode = "CreateTapeWithBarcode" // CreateTapeWithBarcodeRequest generates a "aws/request.Request" representing the // client's request for the CreateTapeWithBarcode operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateTapeWithBarcode for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateTapeWithBarcode method directly -// instead. +// See CreateTapeWithBarcode for more information on using the CreateTapeWithBarcode +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateTapeWithBarcodeRequest method. // req, resp := client.CreateTapeWithBarcodeRequest(params) @@ -1211,8 +1198,9 @@ func (c *StorageGateway) CreateTapeWithBarcodeRequest(input *CreateTapeWithBarco // CreateTapeWithBarcode API operation for AWS Storage Gateway. // // Creates a virtual tape by using your own barcode. You write data to the virtual -// tape and then archive the tape. This operation is only supported in the tape -// gateway architecture. +// tape and then archive the tape. A barcode is unique and can not be reused +// if it has already been used on a tape . This applies to barcodes used on +// deleted tapes. This operation is only supported in the tape gateway. architecture. // // Cache storage must be allocated to the gateway before you can create a virtual // tape. Use the AddCache operation to add cache storage to a gateway. @@ -1259,19 +1247,18 @@ const opCreateTapes = "CreateTapes" // CreateTapesRequest generates a "aws/request.Request" representing the // client's request for the CreateTapes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateTapes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateTapes method directly -// instead. +// See CreateTapes for more information on using the CreateTapes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateTapesRequest method. // req, resp := client.CreateTapesRequest(params) @@ -1349,19 +1336,18 @@ const opDeleteBandwidthRateLimit = "DeleteBandwidthRateLimit" // DeleteBandwidthRateLimitRequest generates a "aws/request.Request" representing the // client's request for the DeleteBandwidthRateLimit operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteBandwidthRateLimit for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteBandwidthRateLimit method directly -// instead. +// See DeleteBandwidthRateLimit for more information on using the DeleteBandwidthRateLimit +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteBandwidthRateLimitRequest method. // req, resp := client.DeleteBandwidthRateLimitRequest(params) @@ -1438,19 +1424,18 @@ const opDeleteChapCredentials = "DeleteChapCredentials" // DeleteChapCredentialsRequest generates a "aws/request.Request" representing the // client's request for the DeleteChapCredentials operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteChapCredentials for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteChapCredentials method directly -// instead. +// See DeleteChapCredentials for more information on using the DeleteChapCredentials +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteChapCredentialsRequest method. // req, resp := client.DeleteChapCredentialsRequest(params) @@ -1524,19 +1509,18 @@ const opDeleteFileShare = "DeleteFileShare" // DeleteFileShareRequest generates a "aws/request.Request" representing the // client's request for the DeleteFileShare operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteFileShare for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteFileShare method directly -// instead. +// See DeleteFileShare for more information on using the DeleteFileShare +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteFileShareRequest method. // req, resp := client.DeleteFileShareRequest(params) @@ -1610,19 +1594,18 @@ const opDeleteGateway = "DeleteGateway" // DeleteGatewayRequest generates a "aws/request.Request" representing the // client's request for the DeleteGateway operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteGateway for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteGateway method directly -// instead. +// See DeleteGateway for more information on using the DeleteGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteGatewayRequest method. // req, resp := client.DeleteGatewayRequest(params) @@ -1710,19 +1693,18 @@ const opDeleteSnapshotSchedule = "DeleteSnapshotSchedule" // DeleteSnapshotScheduleRequest generates a "aws/request.Request" representing the // client's request for the DeleteSnapshotSchedule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSnapshotSchedule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSnapshotSchedule method directly -// instead. +// See DeleteSnapshotSchedule for more information on using the DeleteSnapshotSchedule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSnapshotScheduleRequest method. // req, resp := client.DeleteSnapshotScheduleRequest(params) @@ -1804,19 +1786,18 @@ const opDeleteTape = "DeleteTape" // DeleteTapeRequest generates a "aws/request.Request" representing the // client's request for the DeleteTape operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteTape for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteTape method directly -// instead. +// See DeleteTape for more information on using the DeleteTape +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteTapeRequest method. // req, resp := client.DeleteTapeRequest(params) @@ -1890,19 +1871,18 @@ const opDeleteTapeArchive = "DeleteTapeArchive" // DeleteTapeArchiveRequest generates a "aws/request.Request" representing the // client's request for the DeleteTapeArchive operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteTapeArchive for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteTapeArchive method directly -// instead. +// See DeleteTapeArchive for more information on using the DeleteTapeArchive +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteTapeArchiveRequest method. // req, resp := client.DeleteTapeArchiveRequest(params) @@ -1976,19 +1956,18 @@ const opDeleteVolume = "DeleteVolume" // DeleteVolumeRequest generates a "aws/request.Request" representing the // client's request for the DeleteVolume operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteVolume for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteVolume method directly -// instead. +// See DeleteVolume for more information on using the DeleteVolume +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteVolumeRequest method. // req, resp := client.DeleteVolumeRequest(params) @@ -2076,19 +2055,18 @@ const opDescribeBandwidthRateLimit = "DescribeBandwidthRateLimit" // DescribeBandwidthRateLimitRequest generates a "aws/request.Request" representing the // client's request for the DescribeBandwidthRateLimit operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeBandwidthRateLimit for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeBandwidthRateLimit method directly -// instead. +// See DescribeBandwidthRateLimit for more information on using the DescribeBandwidthRateLimit +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeBandwidthRateLimitRequest method. // req, resp := client.DescribeBandwidthRateLimitRequest(params) @@ -2167,19 +2145,18 @@ const opDescribeCache = "DescribeCache" // DescribeCacheRequest generates a "aws/request.Request" representing the // client's request for the DescribeCache operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeCache for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeCache method directly -// instead. +// See DescribeCache for more information on using the DescribeCache +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeCacheRequest method. // req, resp := client.DescribeCacheRequest(params) @@ -2256,19 +2233,18 @@ const opDescribeCachediSCSIVolumes = "DescribeCachediSCSIVolumes" // DescribeCachediSCSIVolumesRequest generates a "aws/request.Request" representing the // client's request for the DescribeCachediSCSIVolumes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeCachediSCSIVolumes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeCachediSCSIVolumes method directly -// instead. +// See DescribeCachediSCSIVolumes for more information on using the DescribeCachediSCSIVolumes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeCachediSCSIVolumesRequest method. // req, resp := client.DescribeCachediSCSIVolumesRequest(params) @@ -2346,19 +2322,18 @@ const opDescribeChapCredentials = "DescribeChapCredentials" // DescribeChapCredentialsRequest generates a "aws/request.Request" representing the // client's request for the DescribeChapCredentials operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeChapCredentials for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeChapCredentials method directly -// instead. +// See DescribeChapCredentials for more information on using the DescribeChapCredentials +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeChapCredentialsRequest method. // req, resp := client.DescribeChapCredentialsRequest(params) @@ -2432,19 +2407,18 @@ const opDescribeGatewayInformation = "DescribeGatewayInformation" // DescribeGatewayInformationRequest generates a "aws/request.Request" representing the // client's request for the DescribeGatewayInformation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeGatewayInformation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeGatewayInformation method directly -// instead. +// See DescribeGatewayInformation for more information on using the DescribeGatewayInformation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeGatewayInformationRequest method. // req, resp := client.DescribeGatewayInformationRequest(params) @@ -2520,19 +2494,18 @@ const opDescribeMaintenanceStartTime = "DescribeMaintenanceStartTime" // DescribeMaintenanceStartTimeRequest generates a "aws/request.Request" representing the // client's request for the DescribeMaintenanceStartTime operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeMaintenanceStartTime for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeMaintenanceStartTime method directly -// instead. +// See DescribeMaintenanceStartTime for more information on using the DescribeMaintenanceStartTime +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeMaintenanceStartTimeRequest method. // req, resp := client.DescribeMaintenanceStartTimeRequest(params) @@ -2606,19 +2579,18 @@ const opDescribeNFSFileShares = "DescribeNFSFileShares" // DescribeNFSFileSharesRequest generates a "aws/request.Request" representing the // client's request for the DescribeNFSFileShares operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeNFSFileShares for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeNFSFileShares method directly -// instead. +// See DescribeNFSFileShares for more information on using the DescribeNFSFileShares +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeNFSFileSharesRequest method. // req, resp := client.DescribeNFSFileSharesRequest(params) @@ -2692,19 +2664,18 @@ const opDescribeSnapshotSchedule = "DescribeSnapshotSchedule" // DescribeSnapshotScheduleRequest generates a "aws/request.Request" representing the // client's request for the DescribeSnapshotSchedule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSnapshotSchedule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSnapshotSchedule method directly -// instead. +// See DescribeSnapshotSchedule for more information on using the DescribeSnapshotSchedule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSnapshotScheduleRequest method. // req, resp := client.DescribeSnapshotScheduleRequest(params) @@ -2780,19 +2751,18 @@ const opDescribeStorediSCSIVolumes = "DescribeStorediSCSIVolumes" // DescribeStorediSCSIVolumesRequest generates a "aws/request.Request" representing the // client's request for the DescribeStorediSCSIVolumes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeStorediSCSIVolumes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeStorediSCSIVolumes method directly -// instead. +// See DescribeStorediSCSIVolumes for more information on using the DescribeStorediSCSIVolumes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeStorediSCSIVolumesRequest method. // req, resp := client.DescribeStorediSCSIVolumesRequest(params) @@ -2868,19 +2838,18 @@ const opDescribeTapeArchives = "DescribeTapeArchives" // DescribeTapeArchivesRequest generates a "aws/request.Request" representing the // client's request for the DescribeTapeArchives operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTapeArchives for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTapeArchives method directly -// instead. +// See DescribeTapeArchives for more information on using the DescribeTapeArchives +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTapeArchivesRequest method. // req, resp := client.DescribeTapeArchivesRequest(params) @@ -3013,19 +2982,18 @@ const opDescribeTapeRecoveryPoints = "DescribeTapeRecoveryPoints" // DescribeTapeRecoveryPointsRequest generates a "aws/request.Request" representing the // client's request for the DescribeTapeRecoveryPoints operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTapeRecoveryPoints for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTapeRecoveryPoints method directly -// instead. +// See DescribeTapeRecoveryPoints for more information on using the DescribeTapeRecoveryPoints +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTapeRecoveryPointsRequest method. // req, resp := client.DescribeTapeRecoveryPointsRequest(params) @@ -3160,19 +3128,18 @@ const opDescribeTapes = "DescribeTapes" // DescribeTapesRequest generates a "aws/request.Request" representing the // client's request for the DescribeTapes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTapes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTapes method directly -// instead. +// See DescribeTapes for more information on using the DescribeTapes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTapesRequest method. // req, resp := client.DescribeTapesRequest(params) @@ -3304,19 +3271,18 @@ const opDescribeUploadBuffer = "DescribeUploadBuffer" // DescribeUploadBufferRequest generates a "aws/request.Request" representing the // client's request for the DescribeUploadBuffer operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeUploadBuffer for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeUploadBuffer method directly -// instead. +// See DescribeUploadBuffer for more information on using the DescribeUploadBuffer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeUploadBufferRequest method. // req, resp := client.DescribeUploadBufferRequest(params) @@ -3393,19 +3359,18 @@ const opDescribeVTLDevices = "DescribeVTLDevices" // DescribeVTLDevicesRequest generates a "aws/request.Request" representing the // client's request for the DescribeVTLDevices operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeVTLDevices for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeVTLDevices method directly -// instead. +// See DescribeVTLDevices for more information on using the DescribeVTLDevices +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeVTLDevicesRequest method. // req, resp := client.DescribeVTLDevicesRequest(params) @@ -3537,19 +3502,18 @@ const opDescribeWorkingStorage = "DescribeWorkingStorage" // DescribeWorkingStorageRequest generates a "aws/request.Request" representing the // client's request for the DescribeWorkingStorage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeWorkingStorage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeWorkingStorage method directly -// instead. +// See DescribeWorkingStorage for more information on using the DescribeWorkingStorage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeWorkingStorageRequest method. // req, resp := client.DescribeWorkingStorageRequest(params) @@ -3631,19 +3595,18 @@ const opDisableGateway = "DisableGateway" // DisableGatewayRequest generates a "aws/request.Request" representing the // client's request for the DisableGateway operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisableGateway for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisableGateway method directly -// instead. +// See DisableGateway for more information on using the DisableGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisableGatewayRequest method. // req, resp := client.DisableGatewayRequest(params) @@ -3723,19 +3686,18 @@ const opListFileShares = "ListFileShares" // ListFileSharesRequest generates a "aws/request.Request" representing the // client's request for the ListFileShares operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListFileShares for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListFileShares method directly -// instead. +// See ListFileShares for more information on using the ListFileShares +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListFileSharesRequest method. // req, resp := client.ListFileSharesRequest(params) @@ -3810,19 +3772,18 @@ const opListGateways = "ListGateways" // ListGatewaysRequest generates a "aws/request.Request" representing the // client's request for the ListGateways operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListGateways for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListGateways method directly -// instead. +// See ListGateways for more information on using the ListGateways +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListGatewaysRequest method. // req, resp := client.ListGatewaysRequest(params) @@ -3961,19 +3922,18 @@ const opListLocalDisks = "ListLocalDisks" // ListLocalDisksRequest generates a "aws/request.Request" representing the // client's request for the ListLocalDisks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListLocalDisks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListLocalDisks method directly -// instead. +// See ListLocalDisks for more information on using the ListLocalDisks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListLocalDisksRequest method. // req, resp := client.ListLocalDisksRequest(params) @@ -4055,19 +4015,18 @@ const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the // client's request for the ListTagsForResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTagsForResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTagsForResource method directly -// instead. +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTagsForResourceRequest method. // req, resp := client.ListTagsForResourceRequest(params) @@ -4141,19 +4100,18 @@ const opListTapes = "ListTapes" // ListTapesRequest generates a "aws/request.Request" representing the // client's request for the ListTapes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListTapes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListTapes method directly -// instead. +// See ListTapes for more information on using the ListTapes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListTapesRequest method. // req, resp := client.ListTapesRequest(params) @@ -4236,19 +4194,18 @@ const opListVolumeInitiators = "ListVolumeInitiators" // ListVolumeInitiatorsRequest generates a "aws/request.Request" representing the // client's request for the ListVolumeInitiators operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListVolumeInitiators for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListVolumeInitiators method directly -// instead. +// See ListVolumeInitiators for more information on using the ListVolumeInitiators +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListVolumeInitiatorsRequest method. // req, resp := client.ListVolumeInitiatorsRequest(params) @@ -4323,19 +4280,18 @@ const opListVolumeRecoveryPoints = "ListVolumeRecoveryPoints" // ListVolumeRecoveryPointsRequest generates a "aws/request.Request" representing the // client's request for the ListVolumeRecoveryPoints operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListVolumeRecoveryPoints for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListVolumeRecoveryPoints method directly -// instead. +// See ListVolumeRecoveryPoints for more information on using the ListVolumeRecoveryPoints +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListVolumeRecoveryPointsRequest method. // req, resp := client.ListVolumeRecoveryPointsRequest(params) @@ -4415,19 +4371,18 @@ const opListVolumes = "ListVolumes" // ListVolumesRequest generates a "aws/request.Request" representing the // client's request for the ListVolumes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListVolumes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListVolumes method directly -// instead. +// See ListVolumes for more information on using the ListVolumes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListVolumesRequest method. // req, resp := client.ListVolumesRequest(params) @@ -4567,19 +4522,18 @@ const opRefreshCache = "RefreshCache" // RefreshCacheRequest generates a "aws/request.Request" representing the // client's request for the RefreshCache operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RefreshCache for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RefreshCache method directly -// instead. +// See RefreshCache for more information on using the RefreshCache +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RefreshCacheRequest method. // req, resp := client.RefreshCacheRequest(params) @@ -4609,8 +4563,8 @@ func (c *StorageGateway) RefreshCacheRequest(input *RefreshCacheInput) (req *req // RefreshCache API operation for AWS Storage Gateway. // // Refreshes the cache for the specified file share. This operation finds objects -// in the Amazon S3 bucket that were added or removed since the gateway last -// listed the bucket's contents and cached the results. +// in the Amazon S3 bucket that were added, removed or replaced since the gateway +// last listed the bucket's contents and cached the results. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4654,19 +4608,18 @@ const opRemoveTagsFromResource = "RemoveTagsFromResource" // RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the // client's request for the RemoveTagsFromResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveTagsFromResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveTagsFromResource method directly -// instead. +// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveTagsFromResourceRequest method. // req, resp := client.RemoveTagsFromResourceRequest(params) @@ -4740,19 +4693,18 @@ const opResetCache = "ResetCache" // ResetCacheRequest generates a "aws/request.Request" representing the // client's request for the ResetCache operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ResetCache for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ResetCache method directly -// instead. +// See ResetCache for more information on using the ResetCache +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ResetCacheRequest method. // req, resp := client.ResetCacheRequest(params) @@ -4837,19 +4789,18 @@ const opRetrieveTapeArchive = "RetrieveTapeArchive" // RetrieveTapeArchiveRequest generates a "aws/request.Request" representing the // client's request for the RetrieveTapeArchive operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RetrieveTapeArchive for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RetrieveTapeArchive method directly -// instead. +// See RetrieveTapeArchive for more information on using the RetrieveTapeArchive +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RetrieveTapeArchiveRequest method. // req, resp := client.RetrieveTapeArchiveRequest(params) @@ -4931,19 +4882,18 @@ const opRetrieveTapeRecoveryPoint = "RetrieveTapeRecoveryPoint" // RetrieveTapeRecoveryPointRequest generates a "aws/request.Request" representing the // client's request for the RetrieveTapeRecoveryPoint operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RetrieveTapeRecoveryPoint for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RetrieveTapeRecoveryPoint method directly -// instead. +// See RetrieveTapeRecoveryPoint for more information on using the RetrieveTapeRecoveryPoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RetrieveTapeRecoveryPointRequest method. // req, resp := client.RetrieveTapeRecoveryPointRequest(params) @@ -5025,19 +4975,18 @@ const opSetLocalConsolePassword = "SetLocalConsolePassword" // SetLocalConsolePasswordRequest generates a "aws/request.Request" representing the // client's request for the SetLocalConsolePassword operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SetLocalConsolePassword for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SetLocalConsolePassword method directly -// instead. +// See SetLocalConsolePassword for more information on using the SetLocalConsolePassword +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SetLocalConsolePasswordRequest method. // req, resp := client.SetLocalConsolePasswordRequest(params) @@ -5113,19 +5062,18 @@ const opShutdownGateway = "ShutdownGateway" // ShutdownGatewayRequest generates a "aws/request.Request" representing the // client's request for the ShutdownGateway operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ShutdownGateway for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ShutdownGateway method directly -// instead. +// See ShutdownGateway for more information on using the ShutdownGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ShutdownGatewayRequest method. // req, resp := client.ShutdownGatewayRequest(params) @@ -5218,19 +5166,18 @@ const opStartGateway = "StartGateway" // StartGatewayRequest generates a "aws/request.Request" representing the // client's request for the StartGateway operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartGateway for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartGateway method directly -// instead. +// See StartGateway for more information on using the StartGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartGatewayRequest method. // req, resp := client.StartGatewayRequest(params) @@ -5314,19 +5261,18 @@ const opUpdateBandwidthRateLimit = "UpdateBandwidthRateLimit" // UpdateBandwidthRateLimitRequest generates a "aws/request.Request" representing the // client's request for the UpdateBandwidthRateLimit operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateBandwidthRateLimit for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateBandwidthRateLimit method directly -// instead. +// See UpdateBandwidthRateLimit for more information on using the UpdateBandwidthRateLimit +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateBandwidthRateLimitRequest method. // req, resp := client.UpdateBandwidthRateLimitRequest(params) @@ -5408,19 +5354,18 @@ const opUpdateChapCredentials = "UpdateChapCredentials" // UpdateChapCredentialsRequest generates a "aws/request.Request" representing the // client's request for the UpdateChapCredentials operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateChapCredentials for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateChapCredentials method directly -// instead. +// See UpdateChapCredentials for more information on using the UpdateChapCredentials +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateChapCredentialsRequest method. // req, resp := client.UpdateChapCredentialsRequest(params) @@ -5498,19 +5443,18 @@ const opUpdateGatewayInformation = "UpdateGatewayInformation" // UpdateGatewayInformationRequest generates a "aws/request.Request" representing the // client's request for the UpdateGatewayInformation operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateGatewayInformation for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateGatewayInformation method directly -// instead. +// See UpdateGatewayInformation for more information on using the UpdateGatewayInformation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateGatewayInformationRequest method. // req, resp := client.UpdateGatewayInformationRequest(params) @@ -5589,19 +5533,18 @@ const opUpdateGatewaySoftwareNow = "UpdateGatewaySoftwareNow" // UpdateGatewaySoftwareNowRequest generates a "aws/request.Request" representing the // client's request for the UpdateGatewaySoftwareNow operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateGatewaySoftwareNow for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateGatewaySoftwareNow method directly -// instead. +// See UpdateGatewaySoftwareNow for more information on using the UpdateGatewaySoftwareNow +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateGatewaySoftwareNowRequest method. // req, resp := client.UpdateGatewaySoftwareNowRequest(params) @@ -5688,19 +5631,18 @@ const opUpdateMaintenanceStartTime = "UpdateMaintenanceStartTime" // UpdateMaintenanceStartTimeRequest generates a "aws/request.Request" representing the // client's request for the UpdateMaintenanceStartTime operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateMaintenanceStartTime for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateMaintenanceStartTime method directly -// instead. +// See UpdateMaintenanceStartTime for more information on using the UpdateMaintenanceStartTime +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateMaintenanceStartTimeRequest method. // req, resp := client.UpdateMaintenanceStartTimeRequest(params) @@ -5775,19 +5717,18 @@ const opUpdateNFSFileShare = "UpdateNFSFileShare" // UpdateNFSFileShareRequest generates a "aws/request.Request" representing the // client's request for the UpdateNFSFileShare operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateNFSFileShare for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateNFSFileShare method directly -// instead. +// See UpdateNFSFileShare for more information on using the UpdateNFSFileShare +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateNFSFileShareRequest method. // req, resp := client.UpdateNFSFileShareRequest(params) @@ -5879,19 +5820,18 @@ const opUpdateSnapshotSchedule = "UpdateSnapshotSchedule" // UpdateSnapshotScheduleRequest generates a "aws/request.Request" representing the // client's request for the UpdateSnapshotSchedule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateSnapshotSchedule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateSnapshotSchedule method directly -// instead. +// See UpdateSnapshotSchedule for more information on using the UpdateSnapshotSchedule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateSnapshotScheduleRequest method. // req, resp := client.UpdateSnapshotScheduleRequest(params) @@ -5973,19 +5913,18 @@ const opUpdateVTLDeviceType = "UpdateVTLDeviceType" // UpdateVTLDeviceTypeRequest generates a "aws/request.Request" representing the // client's request for the UpdateVTLDeviceType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateVTLDeviceType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateVTLDeviceType method directly -// instead. +// See UpdateVTLDeviceType for more information on using the UpdateVTLDeviceType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateVTLDeviceTypeRequest method. // req, resp := client.UpdateVTLDeviceTypeRequest(params) @@ -6632,7 +6571,7 @@ type CachediSCSIVolume struct { // in the response if the cached volume is not restoring or bootstrapping. VolumeProgress *float64 `type:"double"` - // The size of the volume in bytes. + // The size, in bytes, of the volume capacity. VolumeSizeInBytes *int64 `type:"long"` // One of the VolumeStatus values that indicates the state of the storage volume. @@ -7560,7 +7499,7 @@ type CreateStorediSCSIVolumeInput struct { // The name of the iSCSI target used by initiators to connect to the target // and as a suffix for the target ARN. For example, specifying TargetName as - // myvolume results in the target ARN of arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. + // myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. // The target name must be unique across all volumes of a gateway. // // TargetName is a required field @@ -7705,6 +7644,9 @@ type CreateTapeWithBarcodeInput struct { // The barcode that you want to assign to the tape. // + // Barcodes cannot be reused. This includes barcodes used for tapes that have + // been deleted. + // // TapeBarcode is a required field TapeBarcode *string `min:"7" type:"string" required:"true"` @@ -8141,6 +8083,12 @@ type DeleteFileShareInput struct { // // FileShareARN is a required field FileShareARN *string `min:"50" type:"string" required:"true"` + + // If set to true, deletes a file share immediately and aborts all data uploads + // to AWS. Otherwise the file share is not deleted until all data is uploaded + // to AWS. This process aborts the data upload process and the file share enters + // the FORCE_DELETING status. + ForceDelete *bool `type:"boolean"` } // String returns the string representation @@ -8175,6 +8123,12 @@ func (s *DeleteFileShareInput) SetFileShareARN(v string) *DeleteFileShareInput { return s } +// SetForceDelete sets the ForceDelete field's value. +func (s *DeleteFileShareInput) SetForceDelete(v bool) *DeleteFileShareInput { + s.ForceDelete = &v + return s +} + // DeleteFileShareOutput // Please also see https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteFileShareOutput type DeleteFileShareOutput struct { @@ -12308,7 +12262,7 @@ type Tape struct { // The size, in bytes, of data written to the virtual tape. // - // This value is not available for tapes created prior to May,13 2015. + // This value is not available for tapes created prior to May 13, 2015. TapeUsedInBytes *int64 `type:"long"` // The virtual tape library (VTL) device that the virtual tape is associated @@ -12407,7 +12361,7 @@ type TapeArchive struct { // The size, in bytes, of data written to the virtual tape. // - // This value is not available for tapes created prior to May,13 2015. + // This value is not available for tapes created prior to May 13, 2015. TapeUsedInBytes *int64 `type:"long"` } @@ -13152,7 +13106,7 @@ type UpdateNFSFileShareInput struct { NFSFileShareDefaults *NFSFileShareDefaults `type:"structure"` // Sets the write status of a file share: "true" if the write status is read-only, - // and otherwise "false". + // otherwise "false". ReadOnly *bool `type:"boolean"` // The user mapped to anonymous user. Valid options are the following: @@ -13567,7 +13521,7 @@ type VolumeInfo struct { // The Amazon Resource Name (ARN) for the storage volume. For example, the following // is a valid ARN: // - // arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB + // arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB // // Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens // (-). diff --git a/vendor/github.com/aws/aws-sdk-go/service/storagegateway/doc.go b/vendor/github.com/aws/aws-sdk-go/service/storagegateway/doc.go index b0ab965ad..b988ae33e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/storagegateway/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/storagegateway/doc.go @@ -28,7 +28,7 @@ // their request parameters, response elements, possible errors, and examples // of requests and responses. // -// * AWS Storage Gateway Regions and Endpoints (http://docs.aws.amazon.com/general/latest/general/latest/gr/rande.html#sg_region): +// * AWS Storage Gateway Regions and Endpoints: (http://docs.aws.amazon.com/general/latest/gr/rande.html#sg_region) // Provides a list of each region and endpoints available for use with AWS // Storage Gateway. // @@ -63,69 +63,17 @@ // // Using the Client // -// To use the client for AWS Storage Gateway you will first need -// to create a new instance of it. +// To AWS Storage Gateway with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := storagegateway.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Storage Gateway client StorageGateway for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/storagegateway/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.ActivateGateway(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("ActivateGateway result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.ActivateGatewayWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package storagegateway diff --git a/vendor/github.com/aws/aws-sdk-go/service/storagegateway/storagegatewayiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/storagegateway/storagegatewayiface/interface.go index 281d832c0..6c9e5af02 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/storagegateway/storagegatewayiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/storagegateway/storagegatewayiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Storage Gateway. diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go index e5c105fed..3b8be4378 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go @@ -14,19 +14,18 @@ const opAssumeRole = "AssumeRole" // AssumeRoleRequest generates a "aws/request.Request" representing the // client's request for the AssumeRole operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssumeRole for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssumeRole method directly -// instead. +// See AssumeRole for more information on using the AssumeRole +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssumeRoleRequest method. // req, resp := client.AssumeRoleRequest(params) @@ -195,19 +194,18 @@ const opAssumeRoleWithSAML = "AssumeRoleWithSAML" // AssumeRoleWithSAMLRequest generates a "aws/request.Request" representing the // client's request for the AssumeRoleWithSAML operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssumeRoleWithSAML for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssumeRoleWithSAML method directly -// instead. +// See AssumeRoleWithSAML for more information on using the AssumeRoleWithSAML +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssumeRoleWithSAMLRequest method. // req, resp := client.AssumeRoleWithSAMLRequest(params) @@ -369,19 +367,18 @@ const opAssumeRoleWithWebIdentity = "AssumeRoleWithWebIdentity" // AssumeRoleWithWebIdentityRequest generates a "aws/request.Request" representing the // client's request for the AssumeRoleWithWebIdentity operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssumeRoleWithWebIdentity for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssumeRoleWithWebIdentity method directly -// instead. +// See AssumeRoleWithWebIdentity for more information on using the AssumeRoleWithWebIdentity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssumeRoleWithWebIdentityRequest method. // req, resp := client.AssumeRoleWithWebIdentityRequest(params) @@ -572,19 +569,18 @@ const opDecodeAuthorizationMessage = "DecodeAuthorizationMessage" // DecodeAuthorizationMessageRequest generates a "aws/request.Request" representing the // client's request for the DecodeAuthorizationMessage operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DecodeAuthorizationMessage for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DecodeAuthorizationMessage method directly -// instead. +// See DecodeAuthorizationMessage for more information on using the DecodeAuthorizationMessage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DecodeAuthorizationMessageRequest method. // req, resp := client.DecodeAuthorizationMessageRequest(params) @@ -685,19 +681,18 @@ const opGetCallerIdentity = "GetCallerIdentity" // GetCallerIdentityRequest generates a "aws/request.Request" representing the // client's request for the GetCallerIdentity operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetCallerIdentity for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetCallerIdentity method directly -// instead. +// See GetCallerIdentity for more information on using the GetCallerIdentity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetCallerIdentityRequest method. // req, resp := client.GetCallerIdentityRequest(params) @@ -761,19 +756,18 @@ const opGetFederationToken = "GetFederationToken" // GetFederationTokenRequest generates a "aws/request.Request" representing the // client's request for the GetFederationToken operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetFederationToken for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetFederationToken method directly -// instead. +// See GetFederationToken for more information on using the GetFederationToken +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetFederationTokenRequest method. // req, resp := client.GetFederationTokenRequest(params) @@ -931,19 +925,18 @@ const opGetSessionToken = "GetSessionToken" // GetSessionTokenRequest generates a "aws/request.Request" representing the // client's request for the GetSessionToken operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSessionToken for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSessionToken method directly -// instead. +// See GetSessionToken for more information on using the GetSessionToken +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSessionTokenRequest method. // req, resp := client.GetSessionTokenRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/customizations_test.go b/vendor/github.com/aws/aws-sdk-go/service/sts/customizations_test.go index 6f870d35e..18972b1f5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sts/customizations_test.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sts/customizations_test.go @@ -3,8 +3,6 @@ package sts_test import ( "testing" - "github.com/stretchr/testify/assert" - "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/awstesting/unit" "github.com/aws/aws-sdk-go/service/sts" @@ -22,8 +20,12 @@ func TestUnsignedRequest_AssumeRoleWithSAML(t *testing.T) { }) err := req.Sign() - assert.NoError(t, err) - assert.Equal(t, "", req.HTTPRequest.Header.Get("Authorization")) + if err != nil { + t.Errorf("expect no error, got %v", err) + } + if e, a := "", req.HTTPRequest.Header.Get("Authorization"); e != a { + t.Errorf("expect %v, got %v", e, a) + } } func TestUnsignedRequest_AssumeRoleWithWebIdentity(t *testing.T) { @@ -34,6 +36,10 @@ func TestUnsignedRequest_AssumeRoleWithWebIdentity(t *testing.T) { }) err := req.Sign() - assert.NoError(t, err) - assert.Equal(t, "", req.HTTPRequest.Header.Get("Authorization")) + if err != nil { + t.Errorf("expect no error, got %v", err) + } + if e, a := "", req.HTTPRequest.Header.Get("Authorization"); e != a { + t.Errorf("expect %v, got %v", e, a) + } } diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/doc.go b/vendor/github.com/aws/aws-sdk-go/service/sts/doc.go index d2af518cf..a43fa8055 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sts/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sts/doc.go @@ -56,69 +56,17 @@ // // Using the Client // -// To use the client for AWS Security Token Service you will first need -// to create a new instance of it. +// To AWS Security Token Service with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := sts.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Security Token Service client STS for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/sts/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AssumeRole(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AssumeRole result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AssumeRoleWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package sts diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/stsiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/sts/stsiface/interface.go index 99531316c..1eba20b00 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sts/stsiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sts/stsiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Security Token Service. diff --git a/vendor/github.com/aws/aws-sdk-go/service/support/api.go b/vendor/github.com/aws/aws-sdk-go/service/support/api.go index 35aa9b4f0..7f0cf9c7a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/support/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/support/api.go @@ -12,19 +12,18 @@ const opAddAttachmentsToSet = "AddAttachmentsToSet" // AddAttachmentsToSetRequest generates a "aws/request.Request" representing the // client's request for the AddAttachmentsToSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddAttachmentsToSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddAttachmentsToSet method directly -// instead. +// See AddAttachmentsToSet for more information on using the AddAttachmentsToSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddAttachmentsToSetRequest method. // req, resp := client.AddAttachmentsToSetRequest(params) @@ -116,19 +115,18 @@ const opAddCommunicationToCase = "AddCommunicationToCase" // AddCommunicationToCaseRequest generates a "aws/request.Request" representing the // client's request for the AddCommunicationToCase operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddCommunicationToCase for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddCommunicationToCase method directly -// instead. +// See AddCommunicationToCase for more information on using the AddCommunicationToCase +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddCommunicationToCaseRequest method. // req, resp := client.AddCommunicationToCaseRequest(params) @@ -213,19 +211,18 @@ const opCreateCase = "CreateCase" // CreateCaseRequest generates a "aws/request.Request" representing the // client's request for the CreateCase operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateCase for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateCase method directly -// instead. +// See CreateCase for more information on using the CreateCase +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateCaseRequest method. // req, resp := client.CreateCaseRequest(params) @@ -346,19 +343,18 @@ const opDescribeAttachment = "DescribeAttachment" // DescribeAttachmentRequest generates a "aws/request.Request" representing the // client's request for the DescribeAttachment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeAttachment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeAttachment method directly -// instead. +// See DescribeAttachment for more information on using the DescribeAttachment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeAttachmentRequest method. // req, resp := client.DescribeAttachmentRequest(params) @@ -436,19 +432,18 @@ const opDescribeCases = "DescribeCases" // DescribeCasesRequest generates a "aws/request.Request" representing the // client's request for the DescribeCases operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeCases for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeCases method directly -// instead. +// See DescribeCases for more information on using the DescribeCases +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeCasesRequest method. // req, resp := client.DescribeCasesRequest(params) @@ -589,19 +584,18 @@ const opDescribeCommunications = "DescribeCommunications" // DescribeCommunicationsRequest generates a "aws/request.Request" representing the // client's request for the DescribeCommunications operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeCommunications for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeCommunications method directly -// instead. +// See DescribeCommunications for more information on using the DescribeCommunications +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeCommunicationsRequest method. // req, resp := client.DescribeCommunicationsRequest(params) @@ -737,19 +731,18 @@ const opDescribeServices = "DescribeServices" // DescribeServicesRequest generates a "aws/request.Request" representing the // client's request for the DescribeServices operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeServices for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeServices method directly -// instead. +// See DescribeServices for more information on using the DescribeServices +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeServicesRequest method. // req, resp := client.DescribeServicesRequest(params) @@ -827,19 +820,18 @@ const opDescribeSeverityLevels = "DescribeSeverityLevels" // DescribeSeverityLevelsRequest generates a "aws/request.Request" representing the // client's request for the DescribeSeverityLevels operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeSeverityLevels for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeSeverityLevels method directly -// instead. +// See DescribeSeverityLevels for more information on using the DescribeSeverityLevels +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeSeverityLevelsRequest method. // req, resp := client.DescribeSeverityLevelsRequest(params) @@ -909,19 +901,18 @@ const opDescribeTrustedAdvisorCheckRefreshStatuses = "DescribeTrustedAdvisorChec // DescribeTrustedAdvisorCheckRefreshStatusesRequest generates a "aws/request.Request" representing the // client's request for the DescribeTrustedAdvisorCheckRefreshStatuses operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTrustedAdvisorCheckRefreshStatuses for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTrustedAdvisorCheckRefreshStatuses method directly -// instead. +// See DescribeTrustedAdvisorCheckRefreshStatuses for more information on using the DescribeTrustedAdvisorCheckRefreshStatuses +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTrustedAdvisorCheckRefreshStatusesRequest method. // req, resp := client.DescribeTrustedAdvisorCheckRefreshStatusesRequest(params) @@ -994,19 +985,18 @@ const opDescribeTrustedAdvisorCheckResult = "DescribeTrustedAdvisorCheckResult" // DescribeTrustedAdvisorCheckResultRequest generates a "aws/request.Request" representing the // client's request for the DescribeTrustedAdvisorCheckResult operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTrustedAdvisorCheckResult for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTrustedAdvisorCheckResult method directly -// instead. +// See DescribeTrustedAdvisorCheckResult for more information on using the DescribeTrustedAdvisorCheckResult +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTrustedAdvisorCheckResultRequest method. // req, resp := client.DescribeTrustedAdvisorCheckResultRequest(params) @@ -1093,19 +1083,18 @@ const opDescribeTrustedAdvisorCheckSummaries = "DescribeTrustedAdvisorCheckSumma // DescribeTrustedAdvisorCheckSummariesRequest generates a "aws/request.Request" representing the // client's request for the DescribeTrustedAdvisorCheckSummaries operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTrustedAdvisorCheckSummaries for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTrustedAdvisorCheckSummaries method directly -// instead. +// See DescribeTrustedAdvisorCheckSummaries for more information on using the DescribeTrustedAdvisorCheckSummaries +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTrustedAdvisorCheckSummariesRequest method. // req, resp := client.DescribeTrustedAdvisorCheckSummariesRequest(params) @@ -1176,19 +1165,18 @@ const opDescribeTrustedAdvisorChecks = "DescribeTrustedAdvisorChecks" // DescribeTrustedAdvisorChecksRequest generates a "aws/request.Request" representing the // client's request for the DescribeTrustedAdvisorChecks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTrustedAdvisorChecks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTrustedAdvisorChecks method directly -// instead. +// See DescribeTrustedAdvisorChecks for more information on using the DescribeTrustedAdvisorChecks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTrustedAdvisorChecksRequest method. // req, resp := client.DescribeTrustedAdvisorChecksRequest(params) @@ -1259,19 +1247,18 @@ const opRefreshTrustedAdvisorCheck = "RefreshTrustedAdvisorCheck" // RefreshTrustedAdvisorCheckRequest generates a "aws/request.Request" representing the // client's request for the RefreshTrustedAdvisorCheck operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RefreshTrustedAdvisorCheck for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RefreshTrustedAdvisorCheck method directly -// instead. +// See RefreshTrustedAdvisorCheck for more information on using the RefreshTrustedAdvisorCheck +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RefreshTrustedAdvisorCheckRequest method. // req, resp := client.RefreshTrustedAdvisorCheckRequest(params) @@ -1355,19 +1342,18 @@ const opResolveCase = "ResolveCase" // ResolveCaseRequest generates a "aws/request.Request" representing the // client's request for the ResolveCase operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ResolveCase for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ResolveCase method directly -// instead. +// See ResolveCase for more information on using the ResolveCase +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ResolveCaseRequest method. // req, resp := client.ResolveCaseRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/support/doc.go b/vendor/github.com/aws/aws-sdk-go/service/support/doc.go index 4a7b181dd..3ec6235ea 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/support/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/support/doc.go @@ -61,69 +61,17 @@ // // Using the Client // -// To use the client for AWS Support you will first need -// to create a new instance of it. +// To AWS Support with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := support.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS Support client Support for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/support/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AddAttachmentsToSet(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AddAttachmentsToSet result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AddAttachmentsToSetWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package support diff --git a/vendor/github.com/aws/aws-sdk-go/service/support/supportiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/support/supportiface/interface.go index e06f4e292..acdfa7dba 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/support/supportiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/support/supportiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS Support. diff --git a/vendor/github.com/aws/aws-sdk-go/service/swf/api.go b/vendor/github.com/aws/aws-sdk-go/service/swf/api.go index 661006c03..a69f7b288 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/swf/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/swf/api.go @@ -17,19 +17,18 @@ const opCountClosedWorkflowExecutions = "CountClosedWorkflowExecutions" // CountClosedWorkflowExecutionsRequest generates a "aws/request.Request" representing the // client's request for the CountClosedWorkflowExecutions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CountClosedWorkflowExecutions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CountClosedWorkflowExecutions method directly -// instead. +// See CountClosedWorkflowExecutions for more information on using the CountClosedWorkflowExecutions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CountClosedWorkflowExecutionsRequest method. // req, resp := client.CountClosedWorkflowExecutionsRequest(params) @@ -130,19 +129,18 @@ const opCountOpenWorkflowExecutions = "CountOpenWorkflowExecutions" // CountOpenWorkflowExecutionsRequest generates a "aws/request.Request" representing the // client's request for the CountOpenWorkflowExecutions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CountOpenWorkflowExecutions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CountOpenWorkflowExecutions method directly -// instead. +// See CountOpenWorkflowExecutions for more information on using the CountOpenWorkflowExecutions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CountOpenWorkflowExecutionsRequest method. // req, resp := client.CountOpenWorkflowExecutionsRequest(params) @@ -243,19 +241,18 @@ const opCountPendingActivityTasks = "CountPendingActivityTasks" // CountPendingActivityTasksRequest generates a "aws/request.Request" representing the // client's request for the CountPendingActivityTasks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CountPendingActivityTasks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CountPendingActivityTasks method directly -// instead. +// See CountPendingActivityTasks for more information on using the CountPendingActivityTasks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CountPendingActivityTasksRequest method. // req, resp := client.CountPendingActivityTasksRequest(params) @@ -350,19 +347,18 @@ const opCountPendingDecisionTasks = "CountPendingDecisionTasks" // CountPendingDecisionTasksRequest generates a "aws/request.Request" representing the // client's request for the CountPendingDecisionTasks operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CountPendingDecisionTasks for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CountPendingDecisionTasks method directly -// instead. +// See CountPendingDecisionTasks for more information on using the CountPendingDecisionTasks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CountPendingDecisionTasksRequest method. // req, resp := client.CountPendingDecisionTasksRequest(params) @@ -457,19 +453,18 @@ const opDeprecateActivityType = "DeprecateActivityType" // DeprecateActivityTypeRequest generates a "aws/request.Request" representing the // client's request for the DeprecateActivityType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeprecateActivityType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeprecateActivityType method directly -// instead. +// See DeprecateActivityType for more information on using the DeprecateActivityType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeprecateActivityTypeRequest method. // req, resp := client.DeprecateActivityTypeRequest(params) @@ -574,19 +569,18 @@ const opDeprecateDomain = "DeprecateDomain" // DeprecateDomainRequest generates a "aws/request.Request" representing the // client's request for the DeprecateDomain operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeprecateDomain for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeprecateDomain method directly -// instead. +// See DeprecateDomain for more information on using the DeprecateDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeprecateDomainRequest method. // req, resp := client.DeprecateDomainRequest(params) @@ -689,19 +683,18 @@ const opDeprecateWorkflowType = "DeprecateWorkflowType" // DeprecateWorkflowTypeRequest generates a "aws/request.Request" representing the // client's request for the DeprecateWorkflowType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeprecateWorkflowType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeprecateWorkflowType method directly -// instead. +// See DeprecateWorkflowType for more information on using the DeprecateWorkflowType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeprecateWorkflowTypeRequest method. // req, resp := client.DeprecateWorkflowTypeRequest(params) @@ -807,19 +800,18 @@ const opDescribeActivityType = "DescribeActivityType" // DescribeActivityTypeRequest generates a "aws/request.Request" representing the // client's request for the DescribeActivityType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeActivityType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeActivityType method directly -// instead. +// See DescribeActivityType for more information on using the DescribeActivityType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeActivityTypeRequest method. // req, resp := client.DescribeActivityTypeRequest(params) @@ -916,19 +908,18 @@ const opDescribeDomain = "DescribeDomain" // DescribeDomainRequest generates a "aws/request.Request" representing the // client's request for the DescribeDomain operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDomain for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDomain method directly -// instead. +// See DescribeDomain for more information on using the DescribeDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDomainRequest method. // req, resp := client.DescribeDomainRequest(params) @@ -1019,19 +1010,18 @@ const opDescribeWorkflowExecution = "DescribeWorkflowExecution" // DescribeWorkflowExecutionRequest generates a "aws/request.Request" representing the // client's request for the DescribeWorkflowExecution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeWorkflowExecution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeWorkflowExecution method directly -// instead. +// See DescribeWorkflowExecution for more information on using the DescribeWorkflowExecution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeWorkflowExecutionRequest method. // req, resp := client.DescribeWorkflowExecutionRequest(params) @@ -1125,19 +1115,18 @@ const opDescribeWorkflowType = "DescribeWorkflowType" // DescribeWorkflowTypeRequest generates a "aws/request.Request" representing the // client's request for the DescribeWorkflowType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeWorkflowType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeWorkflowType method directly -// instead. +// See DescribeWorkflowType for more information on using the DescribeWorkflowType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeWorkflowTypeRequest method. // req, resp := client.DescribeWorkflowTypeRequest(params) @@ -1234,19 +1223,18 @@ const opGetWorkflowExecutionHistory = "GetWorkflowExecutionHistory" // GetWorkflowExecutionHistoryRequest generates a "aws/request.Request" representing the // client's request for the GetWorkflowExecutionHistory operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetWorkflowExecutionHistory for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetWorkflowExecutionHistory method directly -// instead. +// See GetWorkflowExecutionHistory for more information on using the GetWorkflowExecutionHistory +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetWorkflowExecutionHistoryRequest method. // req, resp := client.GetWorkflowExecutionHistoryRequest(params) @@ -1397,19 +1385,18 @@ const opListActivityTypes = "ListActivityTypes" // ListActivityTypesRequest generates a "aws/request.Request" representing the // client's request for the ListActivityTypes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListActivityTypes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListActivityTypes method directly -// instead. +// See ListActivityTypes for more information on using the ListActivityTypes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListActivityTypesRequest method. // req, resp := client.ListActivityTypesRequest(params) @@ -1559,19 +1546,18 @@ const opListClosedWorkflowExecutions = "ListClosedWorkflowExecutions" // ListClosedWorkflowExecutionsRequest generates a "aws/request.Request" representing the // client's request for the ListClosedWorkflowExecutions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListClosedWorkflowExecutions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListClosedWorkflowExecutions method directly -// instead. +// See ListClosedWorkflowExecutions for more information on using the ListClosedWorkflowExecutions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListClosedWorkflowExecutionsRequest method. // req, resp := client.ListClosedWorkflowExecutionsRequest(params) @@ -1730,19 +1716,18 @@ const opListDomains = "ListDomains" // ListDomainsRequest generates a "aws/request.Request" representing the // client's request for the ListDomains operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListDomains for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListDomains method directly -// instead. +// See ListDomains for more information on using the ListDomains +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListDomainsRequest method. // req, resp := client.ListDomainsRequest(params) @@ -1889,19 +1874,18 @@ const opListOpenWorkflowExecutions = "ListOpenWorkflowExecutions" // ListOpenWorkflowExecutionsRequest generates a "aws/request.Request" representing the // client's request for the ListOpenWorkflowExecutions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListOpenWorkflowExecutions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListOpenWorkflowExecutions method directly -// instead. +// See ListOpenWorkflowExecutions for more information on using the ListOpenWorkflowExecutions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListOpenWorkflowExecutionsRequest method. // req, resp := client.ListOpenWorkflowExecutionsRequest(params) @@ -2060,19 +2044,18 @@ const opListWorkflowTypes = "ListWorkflowTypes" // ListWorkflowTypesRequest generates a "aws/request.Request" representing the // client's request for the ListWorkflowTypes operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListWorkflowTypes for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListWorkflowTypes method directly -// instead. +// See ListWorkflowTypes for more information on using the ListWorkflowTypes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListWorkflowTypesRequest method. // req, resp := client.ListWorkflowTypesRequest(params) @@ -2220,19 +2203,18 @@ const opPollForActivityTask = "PollForActivityTask" // PollForActivityTaskRequest generates a "aws/request.Request" representing the // client's request for the PollForActivityTask operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PollForActivityTask for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PollForActivityTask method directly -// instead. +// See PollForActivityTask for more information on using the PollForActivityTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PollForActivityTaskRequest method. // req, resp := client.PollForActivityTaskRequest(params) @@ -2339,19 +2321,18 @@ const opPollForDecisionTask = "PollForDecisionTask" // PollForDecisionTaskRequest generates a "aws/request.Request" representing the // client's request for the PollForDecisionTask operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PollForDecisionTask for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PollForDecisionTask method directly -// instead. +// See PollForDecisionTask for more information on using the PollForDecisionTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PollForDecisionTaskRequest method. // req, resp := client.PollForDecisionTaskRequest(params) @@ -2524,19 +2505,18 @@ const opRecordActivityTaskHeartbeat = "RecordActivityTaskHeartbeat" // RecordActivityTaskHeartbeatRequest generates a "aws/request.Request" representing the // client's request for the RecordActivityTaskHeartbeat operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RecordActivityTaskHeartbeat for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RecordActivityTaskHeartbeat method directly -// instead. +// See RecordActivityTaskHeartbeat for more information on using the RecordActivityTaskHeartbeat +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RecordActivityTaskHeartbeatRequest method. // req, resp := client.RecordActivityTaskHeartbeatRequest(params) @@ -2651,19 +2631,18 @@ const opRegisterActivityType = "RegisterActivityType" // RegisterActivityTypeRequest generates a "aws/request.Request" representing the // client's request for the RegisterActivityType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterActivityType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterActivityType method directly -// instead. +// See RegisterActivityType for more information on using the RegisterActivityType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterActivityTypeRequest method. // req, resp := client.RegisterActivityTypeRequest(params) @@ -2778,19 +2757,18 @@ const opRegisterDomain = "RegisterDomain" // RegisterDomainRequest generates a "aws/request.Request" representing the // client's request for the RegisterDomain operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterDomain for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterDomain method directly -// instead. +// See RegisterDomain for more information on using the RegisterDomain +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterDomainRequest method. // req, resp := client.RegisterDomainRequest(params) @@ -2887,19 +2865,18 @@ const opRegisterWorkflowType = "RegisterWorkflowType" // RegisterWorkflowTypeRequest generates a "aws/request.Request" representing the // client's request for the RegisterWorkflowType operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RegisterWorkflowType for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RegisterWorkflowType method directly -// instead. +// See RegisterWorkflowType for more information on using the RegisterWorkflowType +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RegisterWorkflowTypeRequest method. // req, resp := client.RegisterWorkflowTypeRequest(params) @@ -3017,19 +2994,18 @@ const opRequestCancelWorkflowExecution = "RequestCancelWorkflowExecution" // RequestCancelWorkflowExecutionRequest generates a "aws/request.Request" representing the // client's request for the RequestCancelWorkflowExecution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RequestCancelWorkflowExecution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RequestCancelWorkflowExecution method directly -// instead. +// See RequestCancelWorkflowExecution for more information on using the RequestCancelWorkflowExecution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RequestCancelWorkflowExecutionRequest method. // req, resp := client.RequestCancelWorkflowExecutionRequest(params) @@ -3132,19 +3108,18 @@ const opRespondActivityTaskCanceled = "RespondActivityTaskCanceled" // RespondActivityTaskCanceledRequest generates a "aws/request.Request" representing the // client's request for the RespondActivityTaskCanceled operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RespondActivityTaskCanceled for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RespondActivityTaskCanceled method directly -// instead. +// See RespondActivityTaskCanceled for more information on using the RespondActivityTaskCanceled +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RespondActivityTaskCanceledRequest method. // req, resp := client.RespondActivityTaskCanceledRequest(params) @@ -3250,19 +3225,18 @@ const opRespondActivityTaskCompleted = "RespondActivityTaskCompleted" // RespondActivityTaskCompletedRequest generates a "aws/request.Request" representing the // client's request for the RespondActivityTaskCompleted operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RespondActivityTaskCompleted for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RespondActivityTaskCompleted method directly -// instead. +// See RespondActivityTaskCompleted for more information on using the RespondActivityTaskCompleted +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RespondActivityTaskCompletedRequest method. // req, resp := client.RespondActivityTaskCompletedRequest(params) @@ -3367,19 +3341,18 @@ const opRespondActivityTaskFailed = "RespondActivityTaskFailed" // RespondActivityTaskFailedRequest generates a "aws/request.Request" representing the // client's request for the RespondActivityTaskFailed operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RespondActivityTaskFailed for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RespondActivityTaskFailed method directly -// instead. +// See RespondActivityTaskFailed for more information on using the RespondActivityTaskFailed +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RespondActivityTaskFailedRequest method. // req, resp := client.RespondActivityTaskFailedRequest(params) @@ -3479,19 +3452,18 @@ const opRespondDecisionTaskCompleted = "RespondDecisionTaskCompleted" // RespondDecisionTaskCompletedRequest generates a "aws/request.Request" representing the // client's request for the RespondDecisionTaskCompleted operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RespondDecisionTaskCompleted for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RespondDecisionTaskCompleted method directly -// instead. +// See RespondDecisionTaskCompleted for more information on using the RespondDecisionTaskCompleted +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RespondDecisionTaskCompletedRequest method. // req, resp := client.RespondDecisionTaskCompletedRequest(params) @@ -3580,19 +3552,18 @@ const opSignalWorkflowExecution = "SignalWorkflowExecution" // SignalWorkflowExecutionRequest generates a "aws/request.Request" representing the // client's request for the SignalWorkflowExecution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See SignalWorkflowExecution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the SignalWorkflowExecution method directly -// instead. +// See SignalWorkflowExecution for more information on using the SignalWorkflowExecution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the SignalWorkflowExecutionRequest method. // req, resp := client.SignalWorkflowExecutionRequest(params) @@ -3693,19 +3664,18 @@ const opStartWorkflowExecution = "StartWorkflowExecution" // StartWorkflowExecutionRequest generates a "aws/request.Request" representing the // client's request for the StartWorkflowExecution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartWorkflowExecution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartWorkflowExecution method directly -// instead. +// See StartWorkflowExecution for more information on using the StartWorkflowExecution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartWorkflowExecutionRequest method. // req, resp := client.StartWorkflowExecutionRequest(params) @@ -3840,19 +3810,18 @@ const opTerminateWorkflowExecution = "TerminateWorkflowExecution" // TerminateWorkflowExecutionRequest generates a "aws/request.Request" representing the // client's request for the TerminateWorkflowExecution operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TerminateWorkflowExecution for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TerminateWorkflowExecution method directly -// instead. +// See TerminateWorkflowExecution for more information on using the TerminateWorkflowExecution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TerminateWorkflowExecutionRequest method. // req, resp := client.TerminateWorkflowExecutionRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/swf/doc.go b/vendor/github.com/aws/aws-sdk-go/service/swf/doc.go index 93791c26a..e2d5ea4f4 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/swf/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/swf/doc.go @@ -22,69 +22,17 @@ // // Using the Client // -// To use the client for Amazon Simple Workflow Service you will first need -// to create a new instance of it. +// To Amazon Simple Workflow Service with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := swf.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Simple Workflow Service client SWF for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/swf/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CountClosedWorkflowExecutions(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CountClosedWorkflowExecutions result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CountClosedWorkflowExecutionsWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package swf diff --git a/vendor/github.com/aws/aws-sdk-go/service/swf/swfiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/swf/swfiface/interface.go index 296d1c70d..4a6a385a6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/swf/swfiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/swf/swfiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon Simple Workflow Service. diff --git a/vendor/github.com/aws/aws-sdk-go/service/waf/api.go b/vendor/github.com/aws/aws-sdk-go/service/waf/api.go index 203d206a7..47400993a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/waf/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/waf/api.go @@ -15,19 +15,18 @@ const opCreateByteMatchSet = "CreateByteMatchSet" // CreateByteMatchSetRequest generates a "aws/request.Request" representing the // client's request for the CreateByteMatchSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateByteMatchSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateByteMatchSet method directly -// instead. +// See CreateByteMatchSet for more information on using the CreateByteMatchSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateByteMatchSetRequest method. // req, resp := client.CreateByteMatchSetRequest(params) @@ -163,19 +162,18 @@ const opCreateIPSet = "CreateIPSet" // CreateIPSetRequest generates a "aws/request.Request" representing the // client's request for the CreateIPSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateIPSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateIPSet method directly -// instead. +// See CreateIPSet for more information on using the CreateIPSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateIPSetRequest method. // req, resp := client.CreateIPSetRequest(params) @@ -311,19 +309,18 @@ const opCreateRateBasedRule = "CreateRateBasedRule" // CreateRateBasedRuleRequest generates a "aws/request.Request" representing the // client's request for the CreateRateBasedRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateRateBasedRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateRateBasedRule method directly -// instead. +// See CreateRateBasedRule for more information on using the CreateRateBasedRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateRateBasedRuleRequest method. // req, resp := client.CreateRateBasedRuleRequest(params) @@ -494,19 +491,18 @@ const opCreateRule = "CreateRule" // CreateRuleRequest generates a "aws/request.Request" representing the // client's request for the CreateRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateRule method directly -// instead. +// See CreateRule for more information on using the CreateRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateRuleRequest method. // req, resp := client.CreateRuleRequest(params) @@ -652,19 +648,18 @@ const opCreateSizeConstraintSet = "CreateSizeConstraintSet" // CreateSizeConstraintSetRequest generates a "aws/request.Request" representing the // client's request for the CreateSizeConstraintSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateSizeConstraintSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateSizeConstraintSet method directly -// instead. +// See CreateSizeConstraintSet for more information on using the CreateSizeConstraintSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateSizeConstraintSetRequest method. // req, resp := client.CreateSizeConstraintSetRequest(params) @@ -801,19 +796,18 @@ const opCreateSqlInjectionMatchSet = "CreateSqlInjectionMatchSet" // CreateSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the // client's request for the CreateSqlInjectionMatchSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateSqlInjectionMatchSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateSqlInjectionMatchSet method directly -// instead. +// See CreateSqlInjectionMatchSet for more information on using the CreateSqlInjectionMatchSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateSqlInjectionMatchSetRequest method. // req, resp := client.CreateSqlInjectionMatchSetRequest(params) @@ -946,19 +940,18 @@ const opCreateWebACL = "CreateWebACL" // CreateWebACLRequest generates a "aws/request.Request" representing the // client's request for the CreateWebACL operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateWebACL for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateWebACL method directly -// instead. +// See CreateWebACL for more information on using the CreateWebACL +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateWebACLRequest method. // req, resp := client.CreateWebACLRequest(params) @@ -1103,19 +1096,18 @@ const opCreateXssMatchSet = "CreateXssMatchSet" // CreateXssMatchSetRequest generates a "aws/request.Request" representing the // client's request for the CreateXssMatchSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateXssMatchSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateXssMatchSet method directly -// instead. +// See CreateXssMatchSet for more information on using the CreateXssMatchSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateXssMatchSetRequest method. // req, resp := client.CreateXssMatchSetRequest(params) @@ -1249,19 +1241,18 @@ const opDeleteByteMatchSet = "DeleteByteMatchSet" // DeleteByteMatchSetRequest generates a "aws/request.Request" representing the // client's request for the DeleteByteMatchSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteByteMatchSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteByteMatchSet method directly -// instead. +// See DeleteByteMatchSet for more information on using the DeleteByteMatchSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteByteMatchSetRequest method. // req, resp := client.DeleteByteMatchSetRequest(params) @@ -1377,19 +1368,18 @@ const opDeleteIPSet = "DeleteIPSet" // DeleteIPSetRequest generates a "aws/request.Request" representing the // client's request for the DeleteIPSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteIPSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteIPSet method directly -// instead. +// See DeleteIPSet for more information on using the DeleteIPSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteIPSetRequest method. // req, resp := client.DeleteIPSetRequest(params) @@ -1504,19 +1494,18 @@ const opDeleteRateBasedRule = "DeleteRateBasedRule" // DeleteRateBasedRuleRequest generates a "aws/request.Request" representing the // client's request for the DeleteRateBasedRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteRateBasedRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteRateBasedRule method directly -// instead. +// See DeleteRateBasedRule for more information on using the DeleteRateBasedRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteRateBasedRuleRequest method. // req, resp := client.DeleteRateBasedRuleRequest(params) @@ -1633,19 +1622,18 @@ const opDeleteRule = "DeleteRule" // DeleteRuleRequest generates a "aws/request.Request" representing the // client's request for the DeleteRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteRule method directly -// instead. +// See DeleteRule for more information on using the DeleteRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteRuleRequest method. // req, resp := client.DeleteRuleRequest(params) @@ -1760,19 +1748,18 @@ const opDeleteSizeConstraintSet = "DeleteSizeConstraintSet" // DeleteSizeConstraintSetRequest generates a "aws/request.Request" representing the // client's request for the DeleteSizeConstraintSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSizeConstraintSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSizeConstraintSet method directly -// instead. +// See DeleteSizeConstraintSet for more information on using the DeleteSizeConstraintSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSizeConstraintSetRequest method. // req, resp := client.DeleteSizeConstraintSetRequest(params) @@ -1888,19 +1875,18 @@ const opDeleteSqlInjectionMatchSet = "DeleteSqlInjectionMatchSet" // DeleteSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the // client's request for the DeleteSqlInjectionMatchSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSqlInjectionMatchSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSqlInjectionMatchSet method directly -// instead. +// See DeleteSqlInjectionMatchSet for more information on using the DeleteSqlInjectionMatchSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSqlInjectionMatchSetRequest method. // req, resp := client.DeleteSqlInjectionMatchSetRequest(params) @@ -2017,19 +2003,18 @@ const opDeleteWebACL = "DeleteWebACL" // DeleteWebACLRequest generates a "aws/request.Request" representing the // client's request for the DeleteWebACL operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteWebACL for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteWebACL method directly -// instead. +// See DeleteWebACL for more information on using the DeleteWebACL +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteWebACLRequest method. // req, resp := client.DeleteWebACLRequest(params) @@ -2141,19 +2126,18 @@ const opDeleteXssMatchSet = "DeleteXssMatchSet" // DeleteXssMatchSetRequest generates a "aws/request.Request" representing the // client's request for the DeleteXssMatchSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteXssMatchSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteXssMatchSet method directly -// instead. +// See DeleteXssMatchSet for more information on using the DeleteXssMatchSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteXssMatchSetRequest method. // req, resp := client.DeleteXssMatchSetRequest(params) @@ -2269,19 +2253,18 @@ const opGetByteMatchSet = "GetByteMatchSet" // GetByteMatchSetRequest generates a "aws/request.Request" representing the // client's request for the GetByteMatchSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetByteMatchSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetByteMatchSet method directly -// instead. +// See GetByteMatchSet for more information on using the GetByteMatchSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetByteMatchSetRequest method. // req, resp := client.GetByteMatchSetRequest(params) @@ -2357,19 +2340,18 @@ const opGetChangeToken = "GetChangeToken" // GetChangeTokenRequest generates a "aws/request.Request" representing the // client's request for the GetChangeToken operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetChangeToken for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetChangeToken method directly -// instead. +// See GetChangeToken for more information on using the GetChangeToken +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetChangeTokenRequest method. // req, resp := client.GetChangeTokenRequest(params) @@ -2452,19 +2434,18 @@ const opGetChangeTokenStatus = "GetChangeTokenStatus" // GetChangeTokenStatusRequest generates a "aws/request.Request" representing the // client's request for the GetChangeTokenStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetChangeTokenStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetChangeTokenStatus method directly -// instead. +// See GetChangeTokenStatus for more information on using the GetChangeTokenStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetChangeTokenStatusRequest method. // req, resp := client.GetChangeTokenStatusRequest(params) @@ -2546,19 +2527,18 @@ const opGetIPSet = "GetIPSet" // GetIPSetRequest generates a "aws/request.Request" representing the // client's request for the GetIPSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetIPSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetIPSet method directly -// instead. +// See GetIPSet for more information on using the GetIPSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetIPSetRequest method. // req, resp := client.GetIPSetRequest(params) @@ -2634,19 +2614,18 @@ const opGetRateBasedRule = "GetRateBasedRule" // GetRateBasedRuleRequest generates a "aws/request.Request" representing the // client's request for the GetRateBasedRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetRateBasedRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetRateBasedRule method directly -// instead. +// See GetRateBasedRule for more information on using the GetRateBasedRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetRateBasedRuleRequest method. // req, resp := client.GetRateBasedRuleRequest(params) @@ -2723,19 +2702,18 @@ const opGetRateBasedRuleManagedKeys = "GetRateBasedRuleManagedKeys" // GetRateBasedRuleManagedKeysRequest generates a "aws/request.Request" representing the // client's request for the GetRateBasedRuleManagedKeys operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetRateBasedRuleManagedKeys for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetRateBasedRuleManagedKeys method directly -// instead. +// See GetRateBasedRuleManagedKeys for more information on using the GetRateBasedRuleManagedKeys +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetRateBasedRuleManagedKeysRequest method. // req, resp := client.GetRateBasedRuleManagedKeysRequest(params) @@ -2843,19 +2821,18 @@ const opGetRule = "GetRule" // GetRuleRequest generates a "aws/request.Request" representing the // client's request for the GetRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetRule method directly -// instead. +// See GetRule for more information on using the GetRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetRuleRequest method. // req, resp := client.GetRuleRequest(params) @@ -2932,19 +2909,18 @@ const opGetSampledRequests = "GetSampledRequests" // GetSampledRequestsRequest generates a "aws/request.Request" representing the // client's request for the GetSampledRequests operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSampledRequests for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSampledRequests method directly -// instead. +// See GetSampledRequests for more information on using the GetSampledRequests +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSampledRequestsRequest method. // req, resp := client.GetSampledRequestsRequest(params) @@ -3026,19 +3002,18 @@ const opGetSizeConstraintSet = "GetSizeConstraintSet" // GetSizeConstraintSetRequest generates a "aws/request.Request" representing the // client's request for the GetSizeConstraintSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSizeConstraintSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSizeConstraintSet method directly -// instead. +// See GetSizeConstraintSet for more information on using the GetSizeConstraintSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSizeConstraintSetRequest method. // req, resp := client.GetSizeConstraintSetRequest(params) @@ -3114,19 +3089,18 @@ const opGetSqlInjectionMatchSet = "GetSqlInjectionMatchSet" // GetSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the // client's request for the GetSqlInjectionMatchSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSqlInjectionMatchSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSqlInjectionMatchSet method directly -// instead. +// See GetSqlInjectionMatchSet for more information on using the GetSqlInjectionMatchSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSqlInjectionMatchSetRequest method. // req, resp := client.GetSqlInjectionMatchSetRequest(params) @@ -3202,19 +3176,18 @@ const opGetWebACL = "GetWebACL" // GetWebACLRequest generates a "aws/request.Request" representing the // client's request for the GetWebACL operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetWebACL for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetWebACL method directly -// instead. +// See GetWebACL for more information on using the GetWebACL +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetWebACLRequest method. // req, resp := client.GetWebACLRequest(params) @@ -3290,19 +3263,18 @@ const opGetXssMatchSet = "GetXssMatchSet" // GetXssMatchSetRequest generates a "aws/request.Request" representing the // client's request for the GetXssMatchSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetXssMatchSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetXssMatchSet method directly -// instead. +// See GetXssMatchSet for more information on using the GetXssMatchSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetXssMatchSetRequest method. // req, resp := client.GetXssMatchSetRequest(params) @@ -3378,19 +3350,18 @@ const opListByteMatchSets = "ListByteMatchSets" // ListByteMatchSetsRequest generates a "aws/request.Request" representing the // client's request for the ListByteMatchSets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListByteMatchSets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListByteMatchSets method directly -// instead. +// See ListByteMatchSets for more information on using the ListByteMatchSets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListByteMatchSetsRequest method. // req, resp := client.ListByteMatchSetsRequest(params) @@ -3463,19 +3434,18 @@ const opListIPSets = "ListIPSets" // ListIPSetsRequest generates a "aws/request.Request" representing the // client's request for the ListIPSets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListIPSets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListIPSets method directly -// instead. +// See ListIPSets for more information on using the ListIPSets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListIPSetsRequest method. // req, resp := client.ListIPSetsRequest(params) @@ -3548,19 +3518,18 @@ const opListRateBasedRules = "ListRateBasedRules" // ListRateBasedRulesRequest generates a "aws/request.Request" representing the // client's request for the ListRateBasedRules operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListRateBasedRules for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListRateBasedRules method directly -// instead. +// See ListRateBasedRules for more information on using the ListRateBasedRules +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListRateBasedRulesRequest method. // req, resp := client.ListRateBasedRulesRequest(params) @@ -3633,19 +3602,18 @@ const opListRules = "ListRules" // ListRulesRequest generates a "aws/request.Request" representing the // client's request for the ListRules operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListRules for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListRules method directly -// instead. +// See ListRules for more information on using the ListRules +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListRulesRequest method. // req, resp := client.ListRulesRequest(params) @@ -3718,19 +3686,18 @@ const opListSizeConstraintSets = "ListSizeConstraintSets" // ListSizeConstraintSetsRequest generates a "aws/request.Request" representing the // client's request for the ListSizeConstraintSets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListSizeConstraintSets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListSizeConstraintSets method directly -// instead. +// See ListSizeConstraintSets for more information on using the ListSizeConstraintSets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListSizeConstraintSetsRequest method. // req, resp := client.ListSizeConstraintSetsRequest(params) @@ -3803,19 +3770,18 @@ const opListSqlInjectionMatchSets = "ListSqlInjectionMatchSets" // ListSqlInjectionMatchSetsRequest generates a "aws/request.Request" representing the // client's request for the ListSqlInjectionMatchSets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListSqlInjectionMatchSets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListSqlInjectionMatchSets method directly -// instead. +// See ListSqlInjectionMatchSets for more information on using the ListSqlInjectionMatchSets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListSqlInjectionMatchSetsRequest method. // req, resp := client.ListSqlInjectionMatchSetsRequest(params) @@ -3888,19 +3854,18 @@ const opListWebACLs = "ListWebACLs" // ListWebACLsRequest generates a "aws/request.Request" representing the // client's request for the ListWebACLs operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListWebACLs for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListWebACLs method directly -// instead. +// See ListWebACLs for more information on using the ListWebACLs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListWebACLsRequest method. // req, resp := client.ListWebACLsRequest(params) @@ -3973,19 +3938,18 @@ const opListXssMatchSets = "ListXssMatchSets" // ListXssMatchSetsRequest generates a "aws/request.Request" representing the // client's request for the ListXssMatchSets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListXssMatchSets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListXssMatchSets method directly -// instead. +// See ListXssMatchSets for more information on using the ListXssMatchSets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListXssMatchSetsRequest method. // req, resp := client.ListXssMatchSetsRequest(params) @@ -4058,19 +4022,18 @@ const opUpdateByteMatchSet = "UpdateByteMatchSet" // UpdateByteMatchSetRequest generates a "aws/request.Request" representing the // client's request for the UpdateByteMatchSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateByteMatchSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateByteMatchSet method directly -// instead. +// See UpdateByteMatchSet for more information on using the UpdateByteMatchSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateByteMatchSetRequest method. // req, resp := client.UpdateByteMatchSetRequest(params) @@ -4258,19 +4221,18 @@ const opUpdateIPSet = "UpdateIPSet" // UpdateIPSetRequest generates a "aws/request.Request" representing the // client's request for the UpdateIPSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateIPSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateIPSet method directly -// instead. +// See UpdateIPSet for more information on using the UpdateIPSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateIPSetRequest method. // req, resp := client.UpdateIPSetRequest(params) @@ -4478,19 +4440,18 @@ const opUpdateRateBasedRule = "UpdateRateBasedRule" // UpdateRateBasedRuleRequest generates a "aws/request.Request" representing the // client's request for the UpdateRateBasedRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateRateBasedRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateRateBasedRule method directly -// instead. +// See UpdateRateBasedRule for more information on using the UpdateRateBasedRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateRateBasedRuleRequest method. // req, resp := client.UpdateRateBasedRuleRequest(params) @@ -4687,19 +4648,18 @@ const opUpdateRule = "UpdateRule" // UpdateRuleRequest generates a "aws/request.Request" representing the // client's request for the UpdateRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateRule method directly -// instead. +// See UpdateRule for more information on using the UpdateRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateRuleRequest method. // req, resp := client.UpdateRuleRequest(params) @@ -4891,19 +4851,18 @@ const opUpdateSizeConstraintSet = "UpdateSizeConstraintSet" // UpdateSizeConstraintSetRequest generates a "aws/request.Request" representing the // client's request for the UpdateSizeConstraintSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateSizeConstraintSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateSizeConstraintSet method directly -// instead. +// See UpdateSizeConstraintSet for more information on using the UpdateSizeConstraintSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateSizeConstraintSetRequest method. // req, resp := client.UpdateSizeConstraintSetRequest(params) @@ -5101,19 +5060,18 @@ const opUpdateSqlInjectionMatchSet = "UpdateSqlInjectionMatchSet" // UpdateSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the // client's request for the UpdateSqlInjectionMatchSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateSqlInjectionMatchSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateSqlInjectionMatchSet method directly -// instead. +// See UpdateSqlInjectionMatchSet for more information on using the UpdateSqlInjectionMatchSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateSqlInjectionMatchSetRequest method. // req, resp := client.UpdateSqlInjectionMatchSetRequest(params) @@ -5296,19 +5254,18 @@ const opUpdateWebACL = "UpdateWebACL" // UpdateWebACLRequest generates a "aws/request.Request" representing the // client's request for the UpdateWebACL operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateWebACL for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateWebACL method directly -// instead. +// See UpdateWebACL for more information on using the UpdateWebACL +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateWebACLRequest method. // req, resp := client.UpdateWebACLRequest(params) @@ -5515,19 +5472,18 @@ const opUpdateXssMatchSet = "UpdateXssMatchSet" // UpdateXssMatchSetRequest generates a "aws/request.Request" representing the // client's request for the UpdateXssMatchSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateXssMatchSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateXssMatchSet method directly -// instead. +// See UpdateXssMatchSet for more information on using the UpdateXssMatchSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateXssMatchSetRequest method. // req, resp := client.UpdateXssMatchSetRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/waf/doc.go b/vendor/github.com/aws/aws-sdk-go/service/waf/doc.go index e2fbbfddf..4f7176335 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/waf/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/waf/doc.go @@ -18,69 +18,17 @@ // // Using the Client // -// To use the client for AWS WAF you will first need -// to create a new instance of it. +// To AWS WAF with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := waf.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS WAF client WAF for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/waf/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CreateByteMatchSet(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CreateByteMatchSet result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CreateByteMatchSetWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package waf diff --git a/vendor/github.com/aws/aws-sdk-go/service/waf/wafiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/waf/wafiface/interface.go index 6b3b4518b..325cbd787 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/waf/wafiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/waf/wafiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS WAF. diff --git a/vendor/github.com/aws/aws-sdk-go/service/wafregional/api.go b/vendor/github.com/aws/aws-sdk-go/service/wafregional/api.go index 274dd6e1c..dcf329a0a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/wafregional/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/wafregional/api.go @@ -13,19 +13,18 @@ const opAssociateWebACL = "AssociateWebACL" // AssociateWebACLRequest generates a "aws/request.Request" representing the // client's request for the AssociateWebACL operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AssociateWebACL for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AssociateWebACL method directly -// instead. +// See AssociateWebACL for more information on using the AssociateWebACL +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AssociateWebACLRequest method. // req, resp := client.AssociateWebACLRequest(params) @@ -134,19 +133,18 @@ const opCreateByteMatchSet = "CreateByteMatchSet" // CreateByteMatchSetRequest generates a "aws/request.Request" representing the // client's request for the CreateByteMatchSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateByteMatchSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateByteMatchSet method directly -// instead. +// See CreateByteMatchSet for more information on using the CreateByteMatchSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateByteMatchSetRequest method. // req, resp := client.CreateByteMatchSetRequest(params) @@ -282,19 +280,18 @@ const opCreateIPSet = "CreateIPSet" // CreateIPSetRequest generates a "aws/request.Request" representing the // client's request for the CreateIPSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateIPSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateIPSet method directly -// instead. +// See CreateIPSet for more information on using the CreateIPSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateIPSetRequest method. // req, resp := client.CreateIPSetRequest(params) @@ -430,19 +427,18 @@ const opCreateRateBasedRule = "CreateRateBasedRule" // CreateRateBasedRuleRequest generates a "aws/request.Request" representing the // client's request for the CreateRateBasedRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateRateBasedRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateRateBasedRule method directly -// instead. +// See CreateRateBasedRule for more information on using the CreateRateBasedRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateRateBasedRuleRequest method. // req, resp := client.CreateRateBasedRuleRequest(params) @@ -613,19 +609,18 @@ const opCreateRule = "CreateRule" // CreateRuleRequest generates a "aws/request.Request" representing the // client's request for the CreateRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateRule method directly -// instead. +// See CreateRule for more information on using the CreateRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateRuleRequest method. // req, resp := client.CreateRuleRequest(params) @@ -771,19 +766,18 @@ const opCreateSizeConstraintSet = "CreateSizeConstraintSet" // CreateSizeConstraintSetRequest generates a "aws/request.Request" representing the // client's request for the CreateSizeConstraintSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateSizeConstraintSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateSizeConstraintSet method directly -// instead. +// See CreateSizeConstraintSet for more information on using the CreateSizeConstraintSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateSizeConstraintSetRequest method. // req, resp := client.CreateSizeConstraintSetRequest(params) @@ -920,19 +914,18 @@ const opCreateSqlInjectionMatchSet = "CreateSqlInjectionMatchSet" // CreateSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the // client's request for the CreateSqlInjectionMatchSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateSqlInjectionMatchSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateSqlInjectionMatchSet method directly -// instead. +// See CreateSqlInjectionMatchSet for more information on using the CreateSqlInjectionMatchSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateSqlInjectionMatchSetRequest method. // req, resp := client.CreateSqlInjectionMatchSetRequest(params) @@ -1065,19 +1058,18 @@ const opCreateWebACL = "CreateWebACL" // CreateWebACLRequest generates a "aws/request.Request" representing the // client's request for the CreateWebACL operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateWebACL for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateWebACL method directly -// instead. +// See CreateWebACL for more information on using the CreateWebACL +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateWebACLRequest method. // req, resp := client.CreateWebACLRequest(params) @@ -1222,19 +1214,18 @@ const opCreateXssMatchSet = "CreateXssMatchSet" // CreateXssMatchSetRequest generates a "aws/request.Request" representing the // client's request for the CreateXssMatchSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateXssMatchSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateXssMatchSet method directly -// instead. +// See CreateXssMatchSet for more information on using the CreateXssMatchSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateXssMatchSetRequest method. // req, resp := client.CreateXssMatchSetRequest(params) @@ -1368,19 +1359,18 @@ const opDeleteByteMatchSet = "DeleteByteMatchSet" // DeleteByteMatchSetRequest generates a "aws/request.Request" representing the // client's request for the DeleteByteMatchSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteByteMatchSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteByteMatchSet method directly -// instead. +// See DeleteByteMatchSet for more information on using the DeleteByteMatchSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteByteMatchSetRequest method. // req, resp := client.DeleteByteMatchSetRequest(params) @@ -1496,19 +1486,18 @@ const opDeleteIPSet = "DeleteIPSet" // DeleteIPSetRequest generates a "aws/request.Request" representing the // client's request for the DeleteIPSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteIPSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteIPSet method directly -// instead. +// See DeleteIPSet for more information on using the DeleteIPSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteIPSetRequest method. // req, resp := client.DeleteIPSetRequest(params) @@ -1623,19 +1612,18 @@ const opDeleteRateBasedRule = "DeleteRateBasedRule" // DeleteRateBasedRuleRequest generates a "aws/request.Request" representing the // client's request for the DeleteRateBasedRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteRateBasedRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteRateBasedRule method directly -// instead. +// See DeleteRateBasedRule for more information on using the DeleteRateBasedRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteRateBasedRuleRequest method. // req, resp := client.DeleteRateBasedRuleRequest(params) @@ -1752,19 +1740,18 @@ const opDeleteRule = "DeleteRule" // DeleteRuleRequest generates a "aws/request.Request" representing the // client's request for the DeleteRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteRule method directly -// instead. +// See DeleteRule for more information on using the DeleteRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteRuleRequest method. // req, resp := client.DeleteRuleRequest(params) @@ -1879,19 +1866,18 @@ const opDeleteSizeConstraintSet = "DeleteSizeConstraintSet" // DeleteSizeConstraintSetRequest generates a "aws/request.Request" representing the // client's request for the DeleteSizeConstraintSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSizeConstraintSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSizeConstraintSet method directly -// instead. +// See DeleteSizeConstraintSet for more information on using the DeleteSizeConstraintSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSizeConstraintSetRequest method. // req, resp := client.DeleteSizeConstraintSetRequest(params) @@ -2007,19 +1993,18 @@ const opDeleteSqlInjectionMatchSet = "DeleteSqlInjectionMatchSet" // DeleteSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the // client's request for the DeleteSqlInjectionMatchSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteSqlInjectionMatchSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteSqlInjectionMatchSet method directly -// instead. +// See DeleteSqlInjectionMatchSet for more information on using the DeleteSqlInjectionMatchSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteSqlInjectionMatchSetRequest method. // req, resp := client.DeleteSqlInjectionMatchSetRequest(params) @@ -2136,19 +2121,18 @@ const opDeleteWebACL = "DeleteWebACL" // DeleteWebACLRequest generates a "aws/request.Request" representing the // client's request for the DeleteWebACL operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteWebACL for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteWebACL method directly -// instead. +// See DeleteWebACL for more information on using the DeleteWebACL +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteWebACLRequest method. // req, resp := client.DeleteWebACLRequest(params) @@ -2260,19 +2244,18 @@ const opDeleteXssMatchSet = "DeleteXssMatchSet" // DeleteXssMatchSetRequest generates a "aws/request.Request" representing the // client's request for the DeleteXssMatchSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteXssMatchSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteXssMatchSet method directly -// instead. +// See DeleteXssMatchSet for more information on using the DeleteXssMatchSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteXssMatchSetRequest method. // req, resp := client.DeleteXssMatchSetRequest(params) @@ -2388,19 +2371,18 @@ const opDisassociateWebACL = "DisassociateWebACL" // DisassociateWebACLRequest generates a "aws/request.Request" representing the // client's request for the DisassociateWebACL operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DisassociateWebACL for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DisassociateWebACL method directly -// instead. +// See DisassociateWebACL for more information on using the DisassociateWebACL +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DisassociateWebACLRequest method. // req, resp := client.DisassociateWebACLRequest(params) @@ -2505,19 +2487,18 @@ const opGetByteMatchSet = "GetByteMatchSet" // GetByteMatchSetRequest generates a "aws/request.Request" representing the // client's request for the GetByteMatchSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetByteMatchSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetByteMatchSet method directly -// instead. +// See GetByteMatchSet for more information on using the GetByteMatchSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetByteMatchSetRequest method. // req, resp := client.GetByteMatchSetRequest(params) @@ -2593,19 +2574,18 @@ const opGetChangeToken = "GetChangeToken" // GetChangeTokenRequest generates a "aws/request.Request" representing the // client's request for the GetChangeToken operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetChangeToken for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetChangeToken method directly -// instead. +// See GetChangeToken for more information on using the GetChangeToken +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetChangeTokenRequest method. // req, resp := client.GetChangeTokenRequest(params) @@ -2688,19 +2668,18 @@ const opGetChangeTokenStatus = "GetChangeTokenStatus" // GetChangeTokenStatusRequest generates a "aws/request.Request" representing the // client's request for the GetChangeTokenStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetChangeTokenStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetChangeTokenStatus method directly -// instead. +// See GetChangeTokenStatus for more information on using the GetChangeTokenStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetChangeTokenStatusRequest method. // req, resp := client.GetChangeTokenStatusRequest(params) @@ -2782,19 +2761,18 @@ const opGetIPSet = "GetIPSet" // GetIPSetRequest generates a "aws/request.Request" representing the // client's request for the GetIPSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetIPSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetIPSet method directly -// instead. +// See GetIPSet for more information on using the GetIPSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetIPSetRequest method. // req, resp := client.GetIPSetRequest(params) @@ -2870,19 +2848,18 @@ const opGetRateBasedRule = "GetRateBasedRule" // GetRateBasedRuleRequest generates a "aws/request.Request" representing the // client's request for the GetRateBasedRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetRateBasedRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetRateBasedRule method directly -// instead. +// See GetRateBasedRule for more information on using the GetRateBasedRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetRateBasedRuleRequest method. // req, resp := client.GetRateBasedRuleRequest(params) @@ -2959,19 +2936,18 @@ const opGetRateBasedRuleManagedKeys = "GetRateBasedRuleManagedKeys" // GetRateBasedRuleManagedKeysRequest generates a "aws/request.Request" representing the // client's request for the GetRateBasedRuleManagedKeys operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetRateBasedRuleManagedKeys for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetRateBasedRuleManagedKeys method directly -// instead. +// See GetRateBasedRuleManagedKeys for more information on using the GetRateBasedRuleManagedKeys +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetRateBasedRuleManagedKeysRequest method. // req, resp := client.GetRateBasedRuleManagedKeysRequest(params) @@ -3079,19 +3055,18 @@ const opGetRule = "GetRule" // GetRuleRequest generates a "aws/request.Request" representing the // client's request for the GetRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetRule method directly -// instead. +// See GetRule for more information on using the GetRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetRuleRequest method. // req, resp := client.GetRuleRequest(params) @@ -3168,19 +3143,18 @@ const opGetSampledRequests = "GetSampledRequests" // GetSampledRequestsRequest generates a "aws/request.Request" representing the // client's request for the GetSampledRequests operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSampledRequests for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSampledRequests method directly -// instead. +// See GetSampledRequests for more information on using the GetSampledRequests +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSampledRequestsRequest method. // req, resp := client.GetSampledRequestsRequest(params) @@ -3262,19 +3236,18 @@ const opGetSizeConstraintSet = "GetSizeConstraintSet" // GetSizeConstraintSetRequest generates a "aws/request.Request" representing the // client's request for the GetSizeConstraintSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSizeConstraintSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSizeConstraintSet method directly -// instead. +// See GetSizeConstraintSet for more information on using the GetSizeConstraintSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSizeConstraintSetRequest method. // req, resp := client.GetSizeConstraintSetRequest(params) @@ -3350,19 +3323,18 @@ const opGetSqlInjectionMatchSet = "GetSqlInjectionMatchSet" // GetSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the // client's request for the GetSqlInjectionMatchSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetSqlInjectionMatchSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetSqlInjectionMatchSet method directly -// instead. +// See GetSqlInjectionMatchSet for more information on using the GetSqlInjectionMatchSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetSqlInjectionMatchSetRequest method. // req, resp := client.GetSqlInjectionMatchSetRequest(params) @@ -3438,19 +3410,18 @@ const opGetWebACL = "GetWebACL" // GetWebACLRequest generates a "aws/request.Request" representing the // client's request for the GetWebACL operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetWebACL for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetWebACL method directly -// instead. +// See GetWebACL for more information on using the GetWebACL +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetWebACLRequest method. // req, resp := client.GetWebACLRequest(params) @@ -3526,19 +3497,18 @@ const opGetWebACLForResource = "GetWebACLForResource" // GetWebACLForResourceRequest generates a "aws/request.Request" representing the // client's request for the GetWebACLForResource operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetWebACLForResource for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetWebACLForResource method directly -// instead. +// See GetWebACLForResource for more information on using the GetWebACLForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetWebACLForResourceRequest method. // req, resp := client.GetWebACLForResourceRequest(params) @@ -3647,19 +3617,18 @@ const opGetXssMatchSet = "GetXssMatchSet" // GetXssMatchSetRequest generates a "aws/request.Request" representing the // client's request for the GetXssMatchSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetXssMatchSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetXssMatchSet method directly -// instead. +// See GetXssMatchSet for more information on using the GetXssMatchSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetXssMatchSetRequest method. // req, resp := client.GetXssMatchSetRequest(params) @@ -3735,19 +3704,18 @@ const opListByteMatchSets = "ListByteMatchSets" // ListByteMatchSetsRequest generates a "aws/request.Request" representing the // client's request for the ListByteMatchSets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListByteMatchSets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListByteMatchSets method directly -// instead. +// See ListByteMatchSets for more information on using the ListByteMatchSets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListByteMatchSetsRequest method. // req, resp := client.ListByteMatchSetsRequest(params) @@ -3820,19 +3788,18 @@ const opListIPSets = "ListIPSets" // ListIPSetsRequest generates a "aws/request.Request" representing the // client's request for the ListIPSets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListIPSets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListIPSets method directly -// instead. +// See ListIPSets for more information on using the ListIPSets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListIPSetsRequest method. // req, resp := client.ListIPSetsRequest(params) @@ -3905,19 +3872,18 @@ const opListRateBasedRules = "ListRateBasedRules" // ListRateBasedRulesRequest generates a "aws/request.Request" representing the // client's request for the ListRateBasedRules operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListRateBasedRules for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListRateBasedRules method directly -// instead. +// See ListRateBasedRules for more information on using the ListRateBasedRules +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListRateBasedRulesRequest method. // req, resp := client.ListRateBasedRulesRequest(params) @@ -3990,19 +3956,18 @@ const opListResourcesForWebACL = "ListResourcesForWebACL" // ListResourcesForWebACLRequest generates a "aws/request.Request" representing the // client's request for the ListResourcesForWebACL operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListResourcesForWebACL for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListResourcesForWebACL method directly -// instead. +// See ListResourcesForWebACL for more information on using the ListResourcesForWebACL +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListResourcesForWebACLRequest method. // req, resp := client.ListResourcesForWebACLRequest(params) @@ -4078,19 +4043,18 @@ const opListRules = "ListRules" // ListRulesRequest generates a "aws/request.Request" representing the // client's request for the ListRules operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListRules for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListRules method directly -// instead. +// See ListRules for more information on using the ListRules +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListRulesRequest method. // req, resp := client.ListRulesRequest(params) @@ -4163,19 +4127,18 @@ const opListSizeConstraintSets = "ListSizeConstraintSets" // ListSizeConstraintSetsRequest generates a "aws/request.Request" representing the // client's request for the ListSizeConstraintSets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListSizeConstraintSets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListSizeConstraintSets method directly -// instead. +// See ListSizeConstraintSets for more information on using the ListSizeConstraintSets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListSizeConstraintSetsRequest method. // req, resp := client.ListSizeConstraintSetsRequest(params) @@ -4248,19 +4211,18 @@ const opListSqlInjectionMatchSets = "ListSqlInjectionMatchSets" // ListSqlInjectionMatchSetsRequest generates a "aws/request.Request" representing the // client's request for the ListSqlInjectionMatchSets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListSqlInjectionMatchSets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListSqlInjectionMatchSets method directly -// instead. +// See ListSqlInjectionMatchSets for more information on using the ListSqlInjectionMatchSets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListSqlInjectionMatchSetsRequest method. // req, resp := client.ListSqlInjectionMatchSetsRequest(params) @@ -4333,19 +4295,18 @@ const opListWebACLs = "ListWebACLs" // ListWebACLsRequest generates a "aws/request.Request" representing the // client's request for the ListWebACLs operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListWebACLs for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListWebACLs method directly -// instead. +// See ListWebACLs for more information on using the ListWebACLs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListWebACLsRequest method. // req, resp := client.ListWebACLsRequest(params) @@ -4418,19 +4379,18 @@ const opListXssMatchSets = "ListXssMatchSets" // ListXssMatchSetsRequest generates a "aws/request.Request" representing the // client's request for the ListXssMatchSets operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ListXssMatchSets for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ListXssMatchSets method directly -// instead. +// See ListXssMatchSets for more information on using the ListXssMatchSets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ListXssMatchSetsRequest method. // req, resp := client.ListXssMatchSetsRequest(params) @@ -4503,19 +4463,18 @@ const opUpdateByteMatchSet = "UpdateByteMatchSet" // UpdateByteMatchSetRequest generates a "aws/request.Request" representing the // client's request for the UpdateByteMatchSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateByteMatchSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateByteMatchSet method directly -// instead. +// See UpdateByteMatchSet for more information on using the UpdateByteMatchSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateByteMatchSetRequest method. // req, resp := client.UpdateByteMatchSetRequest(params) @@ -4703,19 +4662,18 @@ const opUpdateIPSet = "UpdateIPSet" // UpdateIPSetRequest generates a "aws/request.Request" representing the // client's request for the UpdateIPSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateIPSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateIPSet method directly -// instead. +// See UpdateIPSet for more information on using the UpdateIPSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateIPSetRequest method. // req, resp := client.UpdateIPSetRequest(params) @@ -4923,19 +4881,18 @@ const opUpdateRateBasedRule = "UpdateRateBasedRule" // UpdateRateBasedRuleRequest generates a "aws/request.Request" representing the // client's request for the UpdateRateBasedRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateRateBasedRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateRateBasedRule method directly -// instead. +// See UpdateRateBasedRule for more information on using the UpdateRateBasedRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateRateBasedRuleRequest method. // req, resp := client.UpdateRateBasedRuleRequest(params) @@ -5132,19 +5089,18 @@ const opUpdateRule = "UpdateRule" // UpdateRuleRequest generates a "aws/request.Request" representing the // client's request for the UpdateRule operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateRule for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateRule method directly -// instead. +// See UpdateRule for more information on using the UpdateRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateRuleRequest method. // req, resp := client.UpdateRuleRequest(params) @@ -5336,19 +5292,18 @@ const opUpdateSizeConstraintSet = "UpdateSizeConstraintSet" // UpdateSizeConstraintSetRequest generates a "aws/request.Request" representing the // client's request for the UpdateSizeConstraintSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateSizeConstraintSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateSizeConstraintSet method directly -// instead. +// See UpdateSizeConstraintSet for more information on using the UpdateSizeConstraintSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateSizeConstraintSetRequest method. // req, resp := client.UpdateSizeConstraintSetRequest(params) @@ -5546,19 +5501,18 @@ const opUpdateSqlInjectionMatchSet = "UpdateSqlInjectionMatchSet" // UpdateSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the // client's request for the UpdateSqlInjectionMatchSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateSqlInjectionMatchSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateSqlInjectionMatchSet method directly -// instead. +// See UpdateSqlInjectionMatchSet for more information on using the UpdateSqlInjectionMatchSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateSqlInjectionMatchSetRequest method. // req, resp := client.UpdateSqlInjectionMatchSetRequest(params) @@ -5741,19 +5695,18 @@ const opUpdateWebACL = "UpdateWebACL" // UpdateWebACLRequest generates a "aws/request.Request" representing the // client's request for the UpdateWebACL operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateWebACL for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateWebACL method directly -// instead. +// See UpdateWebACL for more information on using the UpdateWebACL +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateWebACLRequest method. // req, resp := client.UpdateWebACLRequest(params) @@ -5960,19 +5913,18 @@ const opUpdateXssMatchSet = "UpdateXssMatchSet" // UpdateXssMatchSetRequest generates a "aws/request.Request" representing the // client's request for the UpdateXssMatchSet operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateXssMatchSet for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateXssMatchSet method directly -// instead. +// See UpdateXssMatchSet for more information on using the UpdateXssMatchSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateXssMatchSetRequest method. // req, resp := client.UpdateXssMatchSetRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/wafregional/doc.go b/vendor/github.com/aws/aws-sdk-go/service/wafregional/doc.go index 0e8126553..454fdefac 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/wafregional/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/wafregional/doc.go @@ -20,69 +20,17 @@ // // Using the Client // -// To use the client for AWS WAF Regional you will first need -// to create a new instance of it. +// To AWS WAF Regional with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := wafregional.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS WAF Regional client WAFRegional for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/wafregional/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AssociateWebACL(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AssociateWebACL result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AssociateWebACLWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package wafregional diff --git a/vendor/github.com/aws/aws-sdk-go/service/wafregional/wafregionaliface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/wafregional/wafregionaliface/interface.go index 18ffd20cf..f1da76dc9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/wafregional/wafregionaliface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/wafregional/wafregionaliface/interface.go @@ -22,7 +22,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS WAF Regional. diff --git a/vendor/github.com/aws/aws-sdk-go/service/workdocs/api.go b/vendor/github.com/aws/aws-sdk-go/service/workdocs/api.go index 47d087eef..8fabba95e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/workdocs/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/workdocs/api.go @@ -17,19 +17,18 @@ const opAbortDocumentVersionUpload = "AbortDocumentVersionUpload" // AbortDocumentVersionUploadRequest generates a "aws/request.Request" representing the // client's request for the AbortDocumentVersionUpload operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AbortDocumentVersionUpload for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AbortDocumentVersionUpload method directly -// instead. +// See AbortDocumentVersionUpload for more information on using the AbortDocumentVersionUpload +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AbortDocumentVersionUploadRequest method. // req, resp := client.AbortDocumentVersionUploadRequest(params) @@ -118,19 +117,18 @@ const opActivateUser = "ActivateUser" // ActivateUserRequest generates a "aws/request.Request" representing the // client's request for the ActivateUser operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ActivateUser for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ActivateUser method directly -// instead. +// See ActivateUser for more information on using the ActivateUser +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ActivateUserRequest method. // req, resp := client.ActivateUserRequest(params) @@ -212,19 +210,18 @@ const opAddResourcePermissions = "AddResourcePermissions" // AddResourcePermissionsRequest generates a "aws/request.Request" representing the // client's request for the AddResourcePermissions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See AddResourcePermissions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the AddResourcePermissions method directly -// instead. +// See AddResourcePermissions for more information on using the AddResourcePermissions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the AddResourcePermissionsRequest method. // req, resp := client.AddResourcePermissionsRequest(params) @@ -304,19 +301,18 @@ const opCreateComment = "CreateComment" // CreateCommentRequest generates a "aws/request.Request" representing the // client's request for the CreateComment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateComment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateComment method directly -// instead. +// See CreateComment for more information on using the CreateComment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateCommentRequest method. // req, resp := client.CreateCommentRequest(params) @@ -405,19 +401,18 @@ const opCreateCustomMetadata = "CreateCustomMetadata" // CreateCustomMetadataRequest generates a "aws/request.Request" representing the // client's request for the CreateCustomMetadata operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateCustomMetadata for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateCustomMetadata method directly -// instead. +// See CreateCustomMetadata for more information on using the CreateCustomMetadata +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateCustomMetadataRequest method. // req, resp := client.CreateCustomMetadataRequest(params) @@ -507,19 +502,18 @@ const opCreateFolder = "CreateFolder" // CreateFolderRequest generates a "aws/request.Request" representing the // client's request for the CreateFolder operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateFolder for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateFolder method directly -// instead. +// See CreateFolder for more information on using the CreateFolder +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateFolderRequest method. // req, resp := client.CreateFolderRequest(params) @@ -610,19 +604,18 @@ const opCreateLabels = "CreateLabels" // CreateLabelsRequest generates a "aws/request.Request" representing the // client's request for the CreateLabels operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateLabels for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateLabels method directly -// instead. +// See CreateLabels for more information on using the CreateLabels +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateLabelsRequest method. // req, resp := client.CreateLabelsRequest(params) @@ -707,19 +700,18 @@ const opCreateNotificationSubscription = "CreateNotificationSubscription" // CreateNotificationSubscriptionRequest generates a "aws/request.Request" representing the // client's request for the CreateNotificationSubscription operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateNotificationSubscription for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateNotificationSubscription method directly -// instead. +// See CreateNotificationSubscription for more information on using the CreateNotificationSubscription +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateNotificationSubscriptionRequest method. // req, resp := client.CreateNotificationSubscriptionRequest(params) @@ -798,19 +790,18 @@ const opCreateUser = "CreateUser" // CreateUserRequest generates a "aws/request.Request" representing the // client's request for the CreateUser operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateUser for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateUser method directly -// instead. +// See CreateUser for more information on using the CreateUser +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateUserRequest method. // req, resp := client.CreateUserRequest(params) @@ -893,19 +884,18 @@ const opDeactivateUser = "DeactivateUser" // DeactivateUserRequest generates a "aws/request.Request" representing the // client's request for the DeactivateUser operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeactivateUser for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeactivateUser method directly -// instead. +// See DeactivateUser for more information on using the DeactivateUser +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeactivateUserRequest method. // req, resp := client.DeactivateUserRequest(params) @@ -990,19 +980,18 @@ const opDeleteComment = "DeleteComment" // DeleteCommentRequest generates a "aws/request.Request" representing the // client's request for the DeleteComment operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteComment for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteComment method directly -// instead. +// See DeleteComment for more information on using the DeleteComment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteCommentRequest method. // req, resp := client.DeleteCommentRequest(params) @@ -1093,19 +1082,18 @@ const opDeleteCustomMetadata = "DeleteCustomMetadata" // DeleteCustomMetadataRequest generates a "aws/request.Request" representing the // client's request for the DeleteCustomMetadata operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteCustomMetadata for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteCustomMetadata method directly -// instead. +// See DeleteCustomMetadata for more information on using the DeleteCustomMetadata +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteCustomMetadataRequest method. // req, resp := client.DeleteCustomMetadataRequest(params) @@ -1190,19 +1178,18 @@ const opDeleteDocument = "DeleteDocument" // DeleteDocumentRequest generates a "aws/request.Request" representing the // client's request for the DeleteDocument operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteDocument for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteDocument method directly -// instead. +// See DeleteDocument for more information on using the DeleteDocument +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteDocumentRequest method. // req, resp := client.DeleteDocumentRequest(params) @@ -1292,19 +1279,18 @@ const opDeleteFolder = "DeleteFolder" // DeleteFolderRequest generates a "aws/request.Request" representing the // client's request for the DeleteFolder operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteFolder for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteFolder method directly -// instead. +// See DeleteFolder for more information on using the DeleteFolder +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteFolderRequest method. // req, resp := client.DeleteFolderRequest(params) @@ -1394,19 +1380,18 @@ const opDeleteFolderContents = "DeleteFolderContents" // DeleteFolderContentsRequest generates a "aws/request.Request" representing the // client's request for the DeleteFolderContents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteFolderContents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteFolderContents method directly -// instead. +// See DeleteFolderContents for more information on using the DeleteFolderContents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteFolderContentsRequest method. // req, resp := client.DeleteFolderContentsRequest(params) @@ -1490,19 +1475,18 @@ const opDeleteLabels = "DeleteLabels" // DeleteLabelsRequest generates a "aws/request.Request" representing the // client's request for the DeleteLabels operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteLabels for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteLabels method directly -// instead. +// See DeleteLabels for more information on using the DeleteLabels +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteLabelsRequest method. // req, resp := client.DeleteLabelsRequest(params) @@ -1584,19 +1568,18 @@ const opDeleteNotificationSubscription = "DeleteNotificationSubscription" // DeleteNotificationSubscriptionRequest generates a "aws/request.Request" representing the // client's request for the DeleteNotificationSubscription operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteNotificationSubscription for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteNotificationSubscription method directly -// instead. +// See DeleteNotificationSubscription for more information on using the DeleteNotificationSubscription +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteNotificationSubscriptionRequest method. // req, resp := client.DeleteNotificationSubscriptionRequest(params) @@ -1675,19 +1658,18 @@ const opDeleteUser = "DeleteUser" // DeleteUserRequest generates a "aws/request.Request" representing the // client's request for the DeleteUser operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteUser for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteUser method directly -// instead. +// See DeleteUser for more information on using the DeleteUser +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteUserRequest method. // req, resp := client.DeleteUserRequest(params) @@ -1771,19 +1753,18 @@ const opDescribeActivities = "DescribeActivities" // DescribeActivitiesRequest generates a "aws/request.Request" representing the // client's request for the DescribeActivities operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeActivities for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeActivities method directly -// instead. +// See DescribeActivities for more information on using the DescribeActivities +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeActivitiesRequest method. // req, resp := client.DescribeActivitiesRequest(params) @@ -1865,19 +1846,18 @@ const opDescribeComments = "DescribeComments" // DescribeCommentsRequest generates a "aws/request.Request" representing the // client's request for the DescribeComments operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeComments for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeComments method directly -// instead. +// See DescribeComments for more information on using the DescribeComments +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeCommentsRequest method. // req, resp := client.DescribeCommentsRequest(params) @@ -1962,19 +1942,18 @@ const opDescribeDocumentVersions = "DescribeDocumentVersions" // DescribeDocumentVersionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeDocumentVersions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeDocumentVersions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeDocumentVersions method directly -// instead. +// See DescribeDocumentVersions for more information on using the DescribeDocumentVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeDocumentVersionsRequest method. // req, resp := client.DescribeDocumentVersionsRequest(params) @@ -2120,19 +2099,18 @@ const opDescribeFolderContents = "DescribeFolderContents" // DescribeFolderContentsRequest generates a "aws/request.Request" representing the // client's request for the DescribeFolderContents operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeFolderContents for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeFolderContents method directly -// instead. +// See DescribeFolderContents for more information on using the DescribeFolderContents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeFolderContentsRequest method. // req, resp := client.DescribeFolderContentsRequest(params) @@ -2279,19 +2257,18 @@ const opDescribeNotificationSubscriptions = "DescribeNotificationSubscriptions" // DescribeNotificationSubscriptionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeNotificationSubscriptions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeNotificationSubscriptions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeNotificationSubscriptions method directly -// instead. +// See DescribeNotificationSubscriptions for more information on using the DescribeNotificationSubscriptions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeNotificationSubscriptionsRequest method. // req, resp := client.DescribeNotificationSubscriptionsRequest(params) @@ -2365,19 +2342,18 @@ const opDescribeResourcePermissions = "DescribeResourcePermissions" // DescribeResourcePermissionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeResourcePermissions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeResourcePermissions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeResourcePermissions method directly -// instead. +// See DescribeResourcePermissions for more information on using the DescribeResourcePermissions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeResourcePermissionsRequest method. // req, resp := client.DescribeResourcePermissionsRequest(params) @@ -2456,19 +2432,18 @@ const opDescribeRootFolders = "DescribeRootFolders" // DescribeRootFoldersRequest generates a "aws/request.Request" representing the // client's request for the DescribeRootFolders operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeRootFolders for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeRootFolders method directly -// instead. +// See DescribeRootFolders for more information on using the DescribeRootFolders +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeRootFoldersRequest method. // req, resp := client.DescribeRootFoldersRequest(params) @@ -2553,19 +2528,18 @@ const opDescribeUsers = "DescribeUsers" // DescribeUsersRequest generates a "aws/request.Request" representing the // client's request for the DescribeUsers operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeUsers for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeUsers method directly -// instead. +// See DescribeUsers for more information on using the DescribeUsers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeUsersRequest method. // req, resp := client.DescribeUsersRequest(params) @@ -2708,19 +2682,18 @@ const opGetCurrentUser = "GetCurrentUser" // GetCurrentUserRequest generates a "aws/request.Request" representing the // client's request for the GetCurrentUser operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetCurrentUser for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetCurrentUser method directly -// instead. +// See GetCurrentUser for more information on using the GetCurrentUser +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetCurrentUserRequest method. // req, resp := client.GetCurrentUserRequest(params) @@ -2803,19 +2776,18 @@ const opGetDocument = "GetDocument" // GetDocumentRequest generates a "aws/request.Request" representing the // client's request for the GetDocument operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDocument for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDocument method directly -// instead. +// See GetDocument for more information on using the GetDocument +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDocumentRequest method. // req, resp := client.GetDocumentRequest(params) @@ -2900,19 +2872,18 @@ const opGetDocumentPath = "GetDocumentPath" // GetDocumentPathRequest generates a "aws/request.Request" representing the // client's request for the GetDocumentPath operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDocumentPath for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDocumentPath method directly -// instead. +// See GetDocumentPath for more information on using the GetDocumentPath +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDocumentPathRequest method. // req, resp := client.GetDocumentPathRequest(params) @@ -3000,19 +2971,18 @@ const opGetDocumentVersion = "GetDocumentVersion" // GetDocumentVersionRequest generates a "aws/request.Request" representing the // client's request for the GetDocumentVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetDocumentVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetDocumentVersion method directly -// instead. +// See GetDocumentVersion for more information on using the GetDocumentVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetDocumentVersionRequest method. // req, resp := client.GetDocumentVersionRequest(params) @@ -3097,19 +3067,18 @@ const opGetFolder = "GetFolder" // GetFolderRequest generates a "aws/request.Request" representing the // client's request for the GetFolder operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetFolder for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetFolder method directly -// instead. +// See GetFolder for more information on using the GetFolder +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetFolderRequest method. // req, resp := client.GetFolderRequest(params) @@ -3197,19 +3166,18 @@ const opGetFolderPath = "GetFolderPath" // GetFolderPathRequest generates a "aws/request.Request" representing the // client's request for the GetFolderPath operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetFolderPath for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetFolderPath method directly -// instead. +// See GetFolderPath for more information on using the GetFolderPath +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetFolderPathRequest method. // req, resp := client.GetFolderPathRequest(params) @@ -3297,19 +3265,18 @@ const opInitiateDocumentVersionUpload = "InitiateDocumentVersionUpload" // InitiateDocumentVersionUploadRequest generates a "aws/request.Request" representing the // client's request for the InitiateDocumentVersionUpload operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See InitiateDocumentVersionUpload for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the InitiateDocumentVersionUpload method directly -// instead. +// See InitiateDocumentVersionUpload for more information on using the InitiateDocumentVersionUpload +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the InitiateDocumentVersionUploadRequest method. // req, resp := client.InitiateDocumentVersionUploadRequest(params) @@ -3417,19 +3384,18 @@ const opRemoveAllResourcePermissions = "RemoveAllResourcePermissions" // RemoveAllResourcePermissionsRequest generates a "aws/request.Request" representing the // client's request for the RemoveAllResourcePermissions operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveAllResourcePermissions for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveAllResourcePermissions method directly -// instead. +// See RemoveAllResourcePermissions for more information on using the RemoveAllResourcePermissions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveAllResourcePermissionsRequest method. // req, resp := client.RemoveAllResourcePermissionsRequest(params) @@ -3510,19 +3476,18 @@ const opRemoveResourcePermission = "RemoveResourcePermission" // RemoveResourcePermissionRequest generates a "aws/request.Request" representing the // client's request for the RemoveResourcePermission operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RemoveResourcePermission for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RemoveResourcePermission method directly -// instead. +// See RemoveResourcePermission for more information on using the RemoveResourcePermission +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RemoveResourcePermissionRequest method. // req, resp := client.RemoveResourcePermissionRequest(params) @@ -3603,19 +3568,18 @@ const opUpdateDocument = "UpdateDocument" // UpdateDocumentRequest generates a "aws/request.Request" representing the // client's request for the UpdateDocument operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateDocument for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateDocument method directly -// instead. +// See UpdateDocument for more information on using the UpdateDocument +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateDocumentRequest method. // req, resp := client.UpdateDocumentRequest(params) @@ -3712,19 +3676,18 @@ const opUpdateDocumentVersion = "UpdateDocumentVersion" // UpdateDocumentVersionRequest generates a "aws/request.Request" representing the // client's request for the UpdateDocumentVersion operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateDocumentVersion for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateDocumentVersion method directly -// instead. +// See UpdateDocumentVersion for more information on using the UpdateDocumentVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateDocumentVersionRequest method. // req, resp := client.UpdateDocumentVersionRequest(params) @@ -3821,19 +3784,18 @@ const opUpdateFolder = "UpdateFolder" // UpdateFolderRequest generates a "aws/request.Request" representing the // client's request for the UpdateFolder operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateFolder for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateFolder method directly -// instead. +// See UpdateFolder for more information on using the UpdateFolder +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateFolderRequest method. // req, resp := client.UpdateFolderRequest(params) @@ -3930,19 +3892,18 @@ const opUpdateUser = "UpdateUser" // UpdateUserRequest generates a "aws/request.Request" representing the // client's request for the UpdateUser operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See UpdateUser for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the UpdateUser method directly -// instead. +// See UpdateUser for more information on using the UpdateUser +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the UpdateUserRequest method. // req, resp := client.UpdateUserRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/workdocs/doc.go b/vendor/github.com/aws/aws-sdk-go/service/workdocs/doc.go index 59346a426..7f923169f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/workdocs/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/workdocs/doc.go @@ -42,69 +42,17 @@ // // Using the Client // -// To use the client for Amazon WorkDocs you will first need -// to create a new instance of it. +// To Amazon WorkDocs with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := workdocs.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon WorkDocs client WorkDocs for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/workdocs/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.AbortDocumentVersionUpload(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("AbortDocumentVersionUpload result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.AbortDocumentVersionUploadWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package workdocs diff --git a/vendor/github.com/aws/aws-sdk-go/service/workdocs/workdocsiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/workdocs/workdocsiface/interface.go index b4530899b..07974dd1f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/workdocs/workdocsiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/workdocs/workdocsiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon WorkDocs. diff --git a/vendor/github.com/aws/aws-sdk-go/service/workspaces/api.go b/vendor/github.com/aws/aws-sdk-go/service/workspaces/api.go index 3d6ed3e23..017f0dbf5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/workspaces/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/workspaces/api.go @@ -15,19 +15,18 @@ const opCreateTags = "CreateTags" // CreateTagsRequest generates a "aws/request.Request" representing the // client's request for the CreateTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateTags method directly -// instead. +// See CreateTags for more information on using the CreateTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateTagsRequest method. // req, resp := client.CreateTagsRequest(params) @@ -101,19 +100,18 @@ const opCreateWorkspaces = "CreateWorkspaces" // CreateWorkspacesRequest generates a "aws/request.Request" representing the // client's request for the CreateWorkspaces operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See CreateWorkspaces for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the CreateWorkspaces method directly -// instead. +// See CreateWorkspaces for more information on using the CreateWorkspaces +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the CreateWorkspacesRequest method. // req, resp := client.CreateWorkspacesRequest(params) @@ -186,19 +184,18 @@ const opDeleteTags = "DeleteTags" // DeleteTagsRequest generates a "aws/request.Request" representing the // client's request for the DeleteTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DeleteTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DeleteTags method directly -// instead. +// See DeleteTags for more information on using the DeleteTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DeleteTagsRequest method. // req, resp := client.DeleteTagsRequest(params) @@ -269,19 +266,18 @@ const opDescribeTags = "DescribeTags" // DescribeTagsRequest generates a "aws/request.Request" representing the // client's request for the DescribeTags operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeTags for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeTags method directly -// instead. +// See DescribeTags for more information on using the DescribeTags +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeTagsRequest method. // req, resp := client.DescribeTagsRequest(params) @@ -349,19 +345,18 @@ const opDescribeWorkspaceBundles = "DescribeWorkspaceBundles" // DescribeWorkspaceBundlesRequest generates a "aws/request.Request" representing the // client's request for the DescribeWorkspaceBundles operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeWorkspaceBundles for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeWorkspaceBundles method directly -// instead. +// See DescribeWorkspaceBundles for more information on using the DescribeWorkspaceBundles +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeWorkspaceBundlesRequest method. // req, resp := client.DescribeWorkspaceBundlesRequest(params) @@ -494,19 +489,18 @@ const opDescribeWorkspaceDirectories = "DescribeWorkspaceDirectories" // DescribeWorkspaceDirectoriesRequest generates a "aws/request.Request" representing the // client's request for the DescribeWorkspaceDirectories operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeWorkspaceDirectories for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeWorkspaceDirectories method directly -// instead. +// See DescribeWorkspaceDirectories for more information on using the DescribeWorkspaceDirectories +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeWorkspaceDirectoriesRequest method. // req, resp := client.DescribeWorkspaceDirectoriesRequest(params) @@ -637,19 +631,18 @@ const opDescribeWorkspaces = "DescribeWorkspaces" // DescribeWorkspacesRequest generates a "aws/request.Request" representing the // client's request for the DescribeWorkspaces operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeWorkspaces for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeWorkspaces method directly -// instead. +// See DescribeWorkspaces for more information on using the DescribeWorkspaces +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeWorkspacesRequest method. // req, resp := client.DescribeWorkspacesRequest(params) @@ -784,19 +777,18 @@ const opDescribeWorkspacesConnectionStatus = "DescribeWorkspacesConnectionStatus // DescribeWorkspacesConnectionStatusRequest generates a "aws/request.Request" representing the // client's request for the DescribeWorkspacesConnectionStatus operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See DescribeWorkspacesConnectionStatus for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the DescribeWorkspacesConnectionStatus method directly -// instead. +// See DescribeWorkspacesConnectionStatus for more information on using the DescribeWorkspacesConnectionStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the DescribeWorkspacesConnectionStatusRequest method. // req, resp := client.DescribeWorkspacesConnectionStatusRequest(params) @@ -864,19 +856,18 @@ const opModifyWorkspaceProperties = "ModifyWorkspaceProperties" // ModifyWorkspacePropertiesRequest generates a "aws/request.Request" representing the // client's request for the ModifyWorkspaceProperties operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See ModifyWorkspaceProperties for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the ModifyWorkspaceProperties method directly -// instead. +// See ModifyWorkspaceProperties for more information on using the ModifyWorkspaceProperties +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the ModifyWorkspacePropertiesRequest method. // req, resp := client.ModifyWorkspacePropertiesRequest(params) @@ -965,19 +956,18 @@ const opRebootWorkspaces = "RebootWorkspaces" // RebootWorkspacesRequest generates a "aws/request.Request" representing the // client's request for the RebootWorkspaces operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RebootWorkspaces for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RebootWorkspaces method directly -// instead. +// See RebootWorkspaces for more information on using the RebootWorkspaces +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RebootWorkspacesRequest method. // req, resp := client.RebootWorkspacesRequest(params) @@ -1045,19 +1035,18 @@ const opRebuildWorkspaces = "RebuildWorkspaces" // RebuildWorkspacesRequest generates a "aws/request.Request" representing the // client's request for the RebuildWorkspaces operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See RebuildWorkspaces for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the RebuildWorkspaces method directly -// instead. +// See RebuildWorkspaces for more information on using the RebuildWorkspaces +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the RebuildWorkspacesRequest method. // req, resp := client.RebuildWorkspacesRequest(params) @@ -1138,19 +1127,18 @@ const opStartWorkspaces = "StartWorkspaces" // StartWorkspacesRequest generates a "aws/request.Request" representing the // client's request for the StartWorkspaces operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StartWorkspaces for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StartWorkspaces method directly -// instead. +// See StartWorkspaces for more information on using the StartWorkspaces +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StartWorkspacesRequest method. // req, resp := client.StartWorkspacesRequest(params) @@ -1214,19 +1202,18 @@ const opStopWorkspaces = "StopWorkspaces" // StopWorkspacesRequest generates a "aws/request.Request" representing the // client's request for the StopWorkspaces operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See StopWorkspaces for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the StopWorkspaces method directly -// instead. +// See StopWorkspaces for more information on using the StopWorkspaces +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the StopWorkspacesRequest method. // req, resp := client.StopWorkspacesRequest(params) @@ -1290,19 +1277,18 @@ const opTerminateWorkspaces = "TerminateWorkspaces" // TerminateWorkspacesRequest generates a "aws/request.Request" representing the // client's request for the TerminateWorkspaces operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See TerminateWorkspaces for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the TerminateWorkspaces method directly -// instead. +// See TerminateWorkspaces for more information on using the TerminateWorkspaces +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the TerminateWorkspacesRequest method. // req, resp := client.TerminateWorkspacesRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/workspaces/doc.go b/vendor/github.com/aws/aws-sdk-go/service/workspaces/doc.go index dd521dd36..8320f961c 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/workspaces/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/workspaces/doc.go @@ -13,69 +13,17 @@ // // Using the Client // -// To use the client for Amazon WorkSpaces you will first need -// to create a new instance of it. +// To Amazon WorkSpaces with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := workspaces.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon WorkSpaces client WorkSpaces for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/workspaces/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.CreateTags(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("CreateTags result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.CreateTagsWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package workspaces diff --git a/vendor/github.com/aws/aws-sdk-go/service/workspaces/workspacesiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/workspaces/workspacesiface/interface.go index 2c295c92b..4604f3fc8 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/workspaces/workspacesiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/workspaces/workspacesiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // Amazon WorkSpaces. diff --git a/vendor/github.com/aws/aws-sdk-go/service/xray/api.go b/vendor/github.com/aws/aws-sdk-go/service/xray/api.go index dce6c85b5..4763b986e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/xray/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/xray/api.go @@ -14,19 +14,18 @@ const opBatchGetTraces = "BatchGetTraces" // BatchGetTracesRequest generates a "aws/request.Request" representing the // client's request for the BatchGetTraces operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See BatchGetTraces for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the BatchGetTraces method directly -// instead. +// See BatchGetTraces for more information on using the BatchGetTraces +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the BatchGetTracesRequest method. // req, resp := client.BatchGetTracesRequest(params) @@ -99,19 +98,18 @@ const opGetServiceGraph = "GetServiceGraph" // GetServiceGraphRequest generates a "aws/request.Request" representing the // client's request for the GetServiceGraph operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetServiceGraph for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetServiceGraph method directly -// instead. +// See GetServiceGraph for more information on using the GetServiceGraph +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetServiceGraphRequest method. // req, resp := client.GetServiceGraphRequest(params) @@ -186,19 +184,18 @@ const opGetTraceGraph = "GetTraceGraph" // GetTraceGraphRequest generates a "aws/request.Request" representing the // client's request for the GetTraceGraph operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetTraceGraph for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetTraceGraph method directly -// instead. +// See GetTraceGraph for more information on using the GetTraceGraph +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetTraceGraphRequest method. // req, resp := client.GetTraceGraphRequest(params) @@ -269,19 +266,18 @@ const opGetTraceSummaries = "GetTraceSummaries" // GetTraceSummariesRequest generates a "aws/request.Request" representing the // client's request for the GetTraceSummaries operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See GetTraceSummaries for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the GetTraceSummaries method directly -// instead. +// See GetTraceSummaries for more information on using the GetTraceSummaries +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the GetTraceSummariesRequest method. // req, resp := client.GetTraceSummariesRequest(params) @@ -368,19 +364,18 @@ const opPutTelemetryRecords = "PutTelemetryRecords" // PutTelemetryRecordsRequest generates a "aws/request.Request" representing the // client's request for the PutTelemetryRecords operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutTelemetryRecords for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutTelemetryRecords method directly -// instead. +// See PutTelemetryRecords for more information on using the PutTelemetryRecords +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutTelemetryRecordsRequest method. // req, resp := client.PutTelemetryRecordsRequest(params) @@ -451,19 +446,18 @@ const opPutTraceSegments = "PutTraceSegments" // PutTraceSegmentsRequest generates a "aws/request.Request" representing the // client's request for the PutTraceSegments operation. The "output" return -// value can be used to capture response data after the request's "Send" method -// is called. +// value will be populated with the request's response once the request complets +// successfuly. // -// See PutTraceSegments for usage and error information. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Creating a request object using this method should be used when you want to inject -// custom logic into the request's lifecycle using a custom handler, or if you want to -// access properties on the request object before or after sending the request. If -// you just want the service response, call the PutTraceSegments method directly -// instead. +// See PutTraceSegments for more information on using the PutTraceSegments +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// Note: You must call the "Send" method on the returned request object in order -// to execute the request. // // // Example sending a request using the PutTraceSegmentsRequest method. // req, resp := client.PutTraceSegmentsRequest(params) diff --git a/vendor/github.com/aws/aws-sdk-go/service/xray/doc.go b/vendor/github.com/aws/aws-sdk-go/service/xray/doc.go index 2128be4de..a02483b7a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/xray/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/xray/doc.go @@ -13,69 +13,17 @@ // // Using the Client // -// To use the client for AWS X-Ray you will first need -// to create a new instance of it. +// To AWS X-Ray with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. // -// When creating a client for an AWS service you'll first need to have a Session -// already created. The Session provides configuration that can be shared -// between multiple service clients. Additional configuration can be applied to -// the Session and service's client when they are constructed. The aws package's -// Config type contains several fields such as Region for the AWS Region the -// client should make API requests too. The optional Config value can be provided -// as the variadic argument for Sessions and client creation. -// -// Once the service's client is created you can use it to make API requests the -// AWS service. These clients are safe to use concurrently. -// -// // Create a session to share configuration, and load external configuration. -// sess := session.Must(session.NewSession()) -// -// // Create the service's client with the session. -// svc := xray.New(sess) -// -// See the SDK's documentation for more information on how to use service clients. +// See the SDK's documentation for more information on how to use the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/ // -// See aws package's Config type for more information on configuration options. +// See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the AWS X-Ray client XRay for more -// information on creating the service's client. +// information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/xray/#New -// -// Once the client is created you can make an API request to the service. -// Each API method takes a input parameter, and returns the service response -// and an error. -// -// The API method will document which error codes the service can be returned -// by the operation if the service models the API operation's errors. These -// errors will also be available as const strings prefixed with "ErrCode". -// -// result, err := svc.BatchGetTraces(params) -// if err != nil { -// // Cast err to awserr.Error to handle specific error codes. -// aerr, ok := err.(awserr.Error) -// if ok && aerr.Code() == { -// // Specific error code handling -// } -// return err -// } -// -// fmt.Println("BatchGetTraces result:") -// fmt.Println(result) -// -// Using the Client with Context -// -// The service's client also provides methods to make API requests with a Context -// value. This allows you to control the timeout, and cancellation of pending -// requests. These methods also take request Option as variadic parameter to apply -// additional configuration to the API request. -// -// ctx := context.Background() -// -// result, err := svc.BatchGetTracesWithContext(ctx, params) -// -// See the request package documentation for more information on using Context pattern -// with the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package xray diff --git a/vendor/github.com/aws/aws-sdk-go/service/xray/xrayiface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/xray/xrayiface/interface.go index 6fd6b4ed0..fd5314c2c 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/xray/xrayiface/interface.go +++ b/vendor/github.com/aws/aws-sdk-go/service/xray/xrayiface/interface.go @@ -21,7 +21,7 @@ import ( // // The best way to use this interface is so the SDK's service client's calls // can be stubbed out for unit testing your code with the SDK without needing -// to inject custom request handlers into the the SDK's request pipeline. +// to inject custom request handlers into the SDK's request pipeline. // // // myFunc uses an SDK service client to make a request to // // AWS X-Ray. diff --git a/vendor/github.com/billziss-gh/cgofuse/fuse/host.go b/vendor/github.com/billziss-gh/cgofuse/fuse/host.go index 916891d89..3d4c0b692 100644 --- a/vendor/github.com/billziss-gh/cgofuse/fuse/host.go +++ b/vendor/github.com/billziss-gh/cgofuse/fuse/host.go @@ -21,7 +21,7 @@ package fuse // Use `set CPATH=C:\Program Files (x86)\WinFsp\inc\fuse` on Windows. // The flag `I/usr/local/include/winfsp` only works on xgo and docker. -#cgo windows CFLAGS: -D_WIN32_WINNT=0x0501 -DFUSE_USE_VERSION=28 -I/usr/local/include/winfsp +#cgo windows CFLAGS: -DFUSE_USE_VERSION=28 -I/usr/local/include/winfsp #if !(defined(__APPLE__) || defined(__linux__) || defined(_WIN32)) #error platform not supported @@ -100,20 +100,9 @@ static NTSTATUS FspLoad(PVOID *PModule) #endif #define FSP_DLLPATH "bin\\" FSP_DLLNAME - WINADVAPI - LSTATUS - APIENTRY - RegGetValueW( - HKEY hkey, - LPCWSTR lpSubKey, - LPCWSTR lpValue, - DWORD dwFlags, - LPDWORD pdwType, - PVOID pvData, - LPDWORD pcbData); - WCHAR PathBuf[MAX_PATH]; DWORD Size; + DWORD RegType; HKEY RegKey; LONG Result; HMODULE Module; @@ -129,14 +118,20 @@ static NTSTATUS FspLoad(PVOID *PModule) if (ERROR_SUCCESS == Result) { Size = sizeof PathBuf - sizeof L"" FSP_DLLPATH + sizeof(WCHAR); - Result = RegGetValueW(RegKey, 0, L"InstallDir", - RRF_RT_REG_SZ, 0, PathBuf, &Size); + Result = RegQueryValueExW(RegKey, L"InstallDir", 0, + &RegType, (LPBYTE)PathBuf, &Size); RegCloseKey(RegKey); + if (ERROR_SUCCESS == Result && REG_SZ != RegType) + Result = ERROR_FILE_NOT_FOUND; } if (ERROR_SUCCESS != Result) return 0xC0000034;//STATUS_OBJECT_NAME_NOT_FOUND - RtlCopyMemory(PathBuf + (Size / sizeof(WCHAR) - 1), L"" FSP_DLLPATH, sizeof L"" FSP_DLLPATH); + if (0 < Size && L'\0' == PathBuf[Size / sizeof(WCHAR) - 1]) + Size -= sizeof(WCHAR); + + RtlCopyMemory(PathBuf + Size / sizeof(WCHAR), + L"" FSP_DLLPATH, sizeof L"" FSP_DLLPATH); Module = LoadLibraryW(PathBuf); if (0 == Module) return 0xC0000135;//STATUS_DLL_NOT_FOUND diff --git a/vendor/github.com/cpuguy83/go-md2man/Dockerfile b/vendor/github.com/cpuguy83/go-md2man/Dockerfile new file mode 100644 index 000000000..97bec8289 --- /dev/null +++ b/vendor/github.com/cpuguy83/go-md2man/Dockerfile @@ -0,0 +1,8 @@ +FROM golang:1.8 AS build +COPY . /go/src/github.com/cpuguy83/go-md2man +WORKDIR /go/src/github.com/cpuguy83/go-md2man +RUN CGO_ENABLED=0 go build + +FROM scratch +COPY --from=build /go/src/github.com/cpuguy83/go-md2man/go-md2man /go-md2man +ENTRYPOINT ["/go-md2man"] diff --git a/vendor/github.com/cpuguy83/go-md2man/Gopkg.lock b/vendor/github.com/cpuguy83/go-md2man/Gopkg.lock new file mode 100644 index 000000000..03f34f68b --- /dev/null +++ b/vendor/github.com/cpuguy83/go-md2man/Gopkg.lock @@ -0,0 +1,15 @@ +# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. + + +[[projects]] + name = "github.com/russross/blackfriday" + packages = ["."] + revision = "4048872b16cc0fc2c5fd9eacf0ed2c2fedaa0c8c" + version = "v1.5" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "d4fdd599038b13752bbcaf722cac55d8e6d81b6fd60bb325df3e31d71aaf358c" + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/vendor/github.com/cpuguy83/go-md2man/Gopkg.toml b/vendor/github.com/cpuguy83/go-md2man/Gopkg.toml new file mode 100644 index 000000000..9372f8c85 --- /dev/null +++ b/vendor/github.com/cpuguy83/go-md2man/Gopkg.toml @@ -0,0 +1,26 @@ + +# Gopkg.toml example +# +# Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md +# for detailed Gopkg.toml documentation. +# +# required = ["github.com/user/thing/cmd/thing"] +# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"] +# +# [[constraint]] +# name = "github.com/user/project" +# version = "1.0.0" +# +# [[constraint]] +# name = "github.com/user/project2" +# branch = "dev" +# source = "github.com/myfork/project2" +# +# [[override]] +# name = "github.com/x/y" +# version = "2.4.0" + + +[[constraint]] + name = "github.com/russross/blackfriday" + version = "1.4" diff --git a/vendor/github.com/cpuguy83/go-md2man/md2man/roff.go b/vendor/github.com/cpuguy83/go-md2man/md2man/roff.go index b8cea1c73..292fca343 100644 --- a/vendor/github.com/cpuguy83/go-md2man/md2man/roff.go +++ b/vendor/github.com/cpuguy83/go-md2man/md2man/roff.go @@ -118,11 +118,24 @@ func (r *roffRenderer) Paragraph(out *bytes.Buffer, text func() bool) { } } -// TODO: This might now work func (r *roffRenderer) Table(out *bytes.Buffer, header []byte, body []byte, columnData []int) { - out.WriteString(".TS\nallbox;\n") + out.WriteString("\n.TS\nallbox;\n") + max_delims := 0 + lines := strings.Split(strings.TrimRight(string(header), "\n")+"\n"+strings.TrimRight(string(body), "\n"), "\n") + for _, w := range lines { + cur_delims := strings.Count(w, "\t") + if cur_delims > max_delims { + max_delims = cur_delims + } + } + out.Write([]byte(strings.Repeat("l ", max_delims+1) + "\n")) + out.Write([]byte(strings.Repeat("l ", max_delims+1) + ".\n")) out.Write(header) + if len(header) > 0 { + out.Write([]byte("\n")) + } + out.Write(body) out.WriteString("\n.TE\n") } @@ -132,24 +145,30 @@ func (r *roffRenderer) TableRow(out *bytes.Buffer, text []byte) { out.WriteString("\n") } out.Write(text) - out.WriteString("\n") } func (r *roffRenderer) TableHeaderCell(out *bytes.Buffer, text []byte, align int) { if out.Len() > 0 { - out.WriteString(" ") + out.WriteString("\t") } - out.Write(text) - out.WriteString(" ") + if len(text) == 0 { + text = []byte{' '} + } + out.Write([]byte("\\fB\\fC" + string(text) + "\\fR")) } -// TODO: This is probably broken func (r *roffRenderer) TableCell(out *bytes.Buffer, text []byte, align int) { if out.Len() > 0 { out.WriteString("\t") } + if len(text) > 30 { + text = append([]byte("T{\n"), text...) + text = append(text, []byte("\nT}")...) + } + if len(text) == 0 { + text = []byte{' '} + } out.Write(text) - out.WriteString("\t") } func (r *roffRenderer) Footnotes(out *bytes.Buffer, text func() bool) { diff --git a/vendor/github.com/cpuguy83/go-md2man/md2man/roff_test.go b/vendor/github.com/cpuguy83/go-md2man/md2man/roff_test.go new file mode 100644 index 000000000..b8804f133 --- /dev/null +++ b/vendor/github.com/cpuguy83/go-md2man/md2man/roff_test.go @@ -0,0 +1,83 @@ +package md2man + +import ( + "bytes" + "testing" +) + +func TestBlockCode(t *testing.T) { + r := &roffRenderer{} + buf := bytes.NewBuffer(nil) + + code := []byte("$ echo hello world\nhello world\n") + r.BlockCode(buf, code, "") + + expected := ` +.PP +.RS + +.nf +$ echo hello world +hello world + +.fi +.RE +` + result := buf.String() + if expected != result { + t.Fatalf("got incorrect output:\nexpected:\n%v\n\ngot:\n%v", expected, result) + } +} + +func TestTableCell(t *testing.T) { + r := &roffRenderer{} + buf := bytes.NewBuffer(nil) + cell := []byte{} + + r.TableCell(buf, cell, 0) + expected := " " + if buf.String() != expected { + t.Fatal("expected %q, got %q", expected, buf.String()) + } + + r.TableCell(buf, cell, 0) + expected += "\t " + if buf.String() != expected { + t.Fatalf("expected %q, got %q", expected, buf.String()) + } + + cell = []byte("*") + r.TableCell(buf, cell, 0) + expected += "\t*" + if buf.String() != expected { + t.Fatalf("expected %q, got %q", expected, buf.String()) + } + + cell = []byte("this is a test with some really long string") + r.TableCell(buf, cell, 0) + expected += "\tT{\nthis is a test with some really long string\nT}" + if buf.String() != expected { + t.Fatalf("expected %q, got %q", expected, buf.String()) + } + + cell = []byte("some short string") + r.TableCell(buf, cell, 0) + expected += "\tsome short string" + if buf.String() != expected { + t.Fatalf("expected %q, got %q", expected, buf.String()) + } + + cell = []byte{} + r.TableCell(buf, cell, 0) + expected += "\t " + if buf.String() != expected { + t.Fatalf("expected %q, got %q", expected, buf.String()) + } + + cell = []byte("*") + r.TableCell(buf, cell, 0) + expected += "\t*" + if buf.String() != expected { + t.Fatalf("expected %q, got %q", expected, buf.String()) + } +} diff --git a/vendor/github.com/cpuguy83/go-md2man/vendor.yml b/vendor/github.com/cpuguy83/go-md2man/vendor.yml deleted file mode 100644 index 1b85d9ae5..000000000 --- a/vendor/github.com/cpuguy83/go-md2man/vendor.yml +++ /dev/null @@ -1,5 +0,0 @@ -vendors: -- path: github.com/russross/blackfriday - rev: 93622da34e54fb6529bfb7c57e710f37a8d9cbd8 -- path: github.com/shurcooL/sanitized_anchor_name - rev: 10ef21a441db47d8b13ebcc5fd2310f636973c77 diff --git a/vendor/github.com/go-ini/ini/.travis.yml b/vendor/github.com/go-ini/ini/.travis.yml index 9a41f64df..fbfaee213 100644 --- a/vendor/github.com/go-ini/ini/.travis.yml +++ b/vendor/github.com/go-ini/ini/.travis.yml @@ -1,11 +1,11 @@ sudo: false language: go go: - - 1.4 - - 1.5 - - 1.6 - - 1.7 - - 1.8 + - 1.4.x + - 1.5.x + - 1.6.x + - 1.7.x + - 1.8.x - master script: diff --git a/vendor/github.com/go-ini/ini/ini.go b/vendor/github.com/go-ini/ini/ini.go index 0bd6c505b..7f3c4d1ed 100644 --- a/vendor/github.com/go-ini/ini/ini.go +++ b/vendor/github.com/go-ini/ini/ini.go @@ -24,10 +24,8 @@ import ( "os" "regexp" "runtime" - "strconv" "strings" "sync" - "time" ) const ( @@ -37,7 +35,7 @@ const ( // Maximum allowed depth when recursively substituing variable names. _DEPTH_VALUES = 99 - _VERSION = "1.28.0" + _VERSION = "1.28.2" ) // Version returns current package version literal. @@ -398,10 +396,7 @@ func (f *File) Append(source interface{}, others ...interface{}) error { return f.Reload() } -// WriteToIndent writes content into io.Writer with given indention. -// If PrettyFormat has been set to be true, -// it will align "=" sign with spaces under each section. -func (f *File) WriteToIndent(w io.Writer, indent string) (n int64, err error) { +func (f *File) writeToBuffer(indent string) (*bytes.Buffer, error) { equalSign := "=" if PrettyFormat { equalSign = " = " @@ -415,14 +410,14 @@ func (f *File) WriteToIndent(w io.Writer, indent string) (n int64, err error) { if sec.Comment[0] != '#' && sec.Comment[0] != ';' { sec.Comment = "; " + sec.Comment } - if _, err = buf.WriteString(sec.Comment + LineBreak); err != nil { - return 0, err + if _, err := buf.WriteString(sec.Comment + LineBreak); err != nil { + return nil, err } } if i > 0 || DefaultHeader { - if _, err = buf.WriteString("[" + sname + "]" + LineBreak); err != nil { - return 0, err + if _, err := buf.WriteString("[" + sname + "]" + LineBreak); err != nil { + return nil, err } } else { // Write nothing if default section is empty @@ -432,8 +427,8 @@ func (f *File) WriteToIndent(w io.Writer, indent string) (n int64, err error) { } if sec.isRawSection { - if _, err = buf.WriteString(sec.rawBody); err != nil { - return 0, err + if _, err := buf.WriteString(sec.rawBody); err != nil { + return nil, err } continue } @@ -469,8 +464,8 @@ func (f *File) WriteToIndent(w io.Writer, indent string) (n int64, err error) { if key.Comment[0] != '#' && key.Comment[0] != ';' { key.Comment = "; " + key.Comment } - if _, err = buf.WriteString(key.Comment + LineBreak); err != nil { - return 0, err + if _, err := buf.WriteString(key.Comment + LineBreak); err != nil { + return nil, err } } @@ -488,8 +483,8 @@ func (f *File) WriteToIndent(w io.Writer, indent string) (n int64, err error) { } for _, val := range key.ValueWithShadows() { - if _, err = buf.WriteString(kname); err != nil { - return 0, err + if _, err := buf.WriteString(kname); err != nil { + return nil, err } if key.isBooleanType { @@ -510,20 +505,31 @@ func (f *File) WriteToIndent(w io.Writer, indent string) (n int64, err error) { } else if !f.options.IgnoreInlineComment && strings.ContainsAny(val, "#;") { val = "`" + val + "`" } - if _, err = buf.WriteString(equalSign + val + LineBreak); err != nil { - return 0, err + if _, err := buf.WriteString(equalSign + val + LineBreak); err != nil { + return nil, err } } } if PrettySection { // Put a line between sections - if _, err = buf.WriteString(LineBreak); err != nil { - return 0, err + if _, err := buf.WriteString(LineBreak); err != nil { + return nil, err } } } + return buf, nil +} + +// WriteToIndent writes content into io.Writer with given indention. +// If PrettyFormat has been set to be true, +// it will align "=" sign with spaces under each section. +func (f *File) WriteToIndent(w io.Writer, indent string) (int64, error) { + buf, err := f.writeToBuffer(indent) + if err != nil { + return 0, err + } return buf.WriteTo(w) } @@ -536,23 +542,12 @@ func (f *File) WriteTo(w io.Writer) (int64, error) { func (f *File) SaveToIndent(filename, indent string) error { // Note: Because we are truncating with os.Create, // so it's safer to save to a temporary file location and rename afte done. - tmpPath := filename + "." + strconv.Itoa(time.Now().Nanosecond()) + ".tmp" - defer os.Remove(tmpPath) - - fw, err := os.Create(tmpPath) + buf, err := f.writeToBuffer(indent) if err != nil { return err } - if _, err = f.WriteToIndent(fw, indent); err != nil { - fw.Close() - return err - } - fw.Close() - - // Remove old file and rename the new one. - os.Remove(filename) - return os.Rename(tmpPath, filename) + return ioutil.WriteFile(filename, buf.Bytes(), 0666) } // SaveTo writes content to file system. diff --git a/vendor/github.com/go-ini/ini/struct.go b/vendor/github.com/go-ini/ini/struct.go index d522e003a..eeb8dabaa 100644 --- a/vendor/github.com/go-ini/ini/struct.go +++ b/vendor/github.com/go-ini/ini/struct.go @@ -408,10 +408,11 @@ func isEmptyValue(v reflect.Value) bool { return v.Uint() == 0 case reflect.Float32, reflect.Float64: return v.Float() == 0 - case reflectTime: - return v.Interface().(time.Time).IsZero() case reflect.Interface, reflect.Ptr: return v.IsNil() + case reflectTime: + t, ok := v.Interface().(time.Time) + return ok && t.IsZero() } return false } diff --git a/vendor/github.com/golang/protobuf/.travis.yml b/vendor/github.com/golang/protobuf/.travis.yml index 24e22f85a..93c67805b 100644 --- a/vendor/github.com/golang/protobuf/.travis.yml +++ b/vendor/github.com/golang/protobuf/.travis.yml @@ -4,6 +4,7 @@ go: - 1.6.x - 1.7.x - 1.8.x +- 1.9.x install: - go get -v -d -t github.com/golang/protobuf/... diff --git a/vendor/github.com/golang/protobuf/README.md b/vendor/github.com/golang/protobuf/README.md index 795f53f6f..207eb6b48 100644 --- a/vendor/github.com/golang/protobuf/README.md +++ b/vendor/github.com/golang/protobuf/README.md @@ -111,6 +111,7 @@ When the .proto file specifies `syntax="proto3"`, there are some differences: Consider file test.proto, containing ```proto + syntax = "proto2"; package example; enum FOO { X = 17; }; diff --git a/vendor/github.com/golang/protobuf/jsonpb/jsonpb.go b/vendor/github.com/golang/protobuf/jsonpb/jsonpb.go index 412ba1ce4..110ae1384 100644 --- a/vendor/github.com/golang/protobuf/jsonpb/jsonpb.go +++ b/vendor/github.com/golang/protobuf/jsonpb/jsonpb.go @@ -73,6 +73,31 @@ type Marshaler struct { // Whether to use the original (.proto) name for fields. OrigName bool + + // A custom URL resolver to use when marshaling Any messages to JSON. + // If unset, the default resolution strategy is to extract the + // fully-qualified type name from the type URL and pass that to + // proto.MessageType(string). + AnyResolver AnyResolver +} + +// AnyResolver takes a type URL, present in an Any message, and resolves it into +// an instance of the associated message. +type AnyResolver interface { + Resolve(typeUrl string) (proto.Message, error) +} + +func defaultResolveAny(typeUrl string) (proto.Message, error) { + // Only the part of typeUrl after the last slash is relevant. + mname := typeUrl + if slash := strings.LastIndex(mname, "/"); slash >= 0 { + mname = mname[slash+1:] + } + mt := proto.MessageType(mname) + if mt == nil { + return nil, fmt.Errorf("unknown message type %q", mname) + } + return reflect.New(mt.Elem()).Interface().(proto.Message), nil } // JSONPBMarshaler is implemented by protobuf messages that customize the @@ -344,16 +369,17 @@ func (m *Marshaler) marshalAny(out *errWriter, any proto.Message, indent string) turl := v.Field(0).String() val := v.Field(1).Bytes() - // Only the part of type_url after the last slash is relevant. - mname := turl - if slash := strings.LastIndex(mname, "/"); slash >= 0 { - mname = mname[slash+1:] + var msg proto.Message + var err error + if m.AnyResolver != nil { + msg, err = m.AnyResolver.Resolve(turl) + } else { + msg, err = defaultResolveAny(turl) } - mt := proto.MessageType(mname) - if mt == nil { - return fmt.Errorf("unknown message type %q", mname) + if err != nil { + return err } - msg := reflect.New(mt.Elem()).Interface().(proto.Message) + if err := proto.Unmarshal(val, msg); err != nil { return err } @@ -590,6 +616,12 @@ type Unmarshaler struct { // Whether to allow messages to contain unknown fields, as opposed to // failing to unmarshal. AllowUnknownFields bool + + // A custom URL resolver to use when unmarshaling Any messages from JSON. + // If unset, the default resolution strategy is to extract the + // fully-qualified type name from the type URL and pass that to + // proto.MessageType(string). + AnyResolver AnyResolver } // UnmarshalNext unmarshals the next protocol buffer from a JSON object stream. @@ -639,7 +671,14 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe // Allocate memory for pointer fields. if targetType.Kind() == reflect.Ptr { + // If input value is "null" and target is a pointer type, then the field should be treated as not set + // UNLESS the target is structpb.Value, in which case it should be set to structpb.NullValue. + _, isJSONPBUnmarshaler := target.Interface().(JSONPBUnmarshaler) + if string(inputValue) == "null" && targetType != reflect.TypeOf(&stpb.Value{}) && !isJSONPBUnmarshaler { + return nil + } target.Set(reflect.New(targetType.Elem())) + return u.unmarshalValue(target.Elem(), inputValue, prop) } @@ -647,15 +686,11 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe return jsu.UnmarshalJSONPB(u, []byte(inputValue)) } - // Handle well-known types. + // Handle well-known types that are not pointers. if w, ok := target.Addr().Interface().(wkt); ok { switch w.XXX_WellKnownType() { case "DoubleValue", "FloatValue", "Int64Value", "UInt64Value", "Int32Value", "UInt32Value", "BoolValue", "StringValue", "BytesValue": - // "Wrappers use the same representation in JSON - // as the wrapped primitive type, except that null is allowed." - // encoding/json will turn JSON `null` into Go `nil`, - // so we don't have to do any extra work. return u.unmarshalValue(target.Field(0), inputValue, prop) case "Any": // Use json.RawMessage pointer type instead of value to support pre-1.8 version. @@ -677,16 +712,17 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe } target.Field(0).SetString(turl) - mname := turl - if slash := strings.LastIndex(mname, "/"); slash >= 0 { - mname = mname[slash+1:] + var m proto.Message + var err error + if u.AnyResolver != nil { + m, err = u.AnyResolver.Resolve(turl) + } else { + m, err = defaultResolveAny(turl) } - mt := proto.MessageType(mname) - if mt == nil { - return fmt.Errorf("unknown message type %q", mname) + if err != nil { + return err } - m := reflect.New(mt.Elem()).Interface().(proto.Message) if _, ok := m.(wkt); ok { val, ok := jsonFields["value"] if !ok { @@ -716,21 +752,16 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe return nil case "Duration": - ivStr := string(inputValue) - if ivStr == "null" { - target.Field(0).SetInt(0) - target.Field(1).SetInt(0) - return nil - } - - unq, err := strconv.Unquote(ivStr) + unq, err := strconv.Unquote(string(inputValue)) if err != nil { return err } + d, err := time.ParseDuration(unq) if err != nil { return fmt.Errorf("bad Duration: %v", err) } + ns := d.Nanoseconds() s := ns / 1e9 ns %= 1e9 @@ -738,33 +769,25 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe target.Field(1).SetInt(ns) return nil case "Timestamp": - ivStr := string(inputValue) - if ivStr == "null" { - target.Field(0).SetInt(0) - target.Field(1).SetInt(0) - return nil - } - - unq, err := strconv.Unquote(ivStr) + unq, err := strconv.Unquote(string(inputValue)) if err != nil { return err } + t, err := time.Parse(time.RFC3339Nano, unq) if err != nil { return fmt.Errorf("bad Timestamp: %v", err) } + target.Field(0).SetInt(t.Unix()) target.Field(1).SetInt(int64(t.Nanosecond())) return nil case "Struct": - if string(inputValue) == "null" { - // Interpret a null struct as empty. - return nil - } var m map[string]json.RawMessage if err := json.Unmarshal(inputValue, &m); err != nil { return fmt.Errorf("bad StructValue: %v", err) } + target.Field(0).Set(reflect.ValueOf(map[string]*stpb.Value{})) for k, jv := range m { pv := &stpb.Value{} @@ -775,14 +798,11 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe } return nil case "ListValue": - if string(inputValue) == "null" { - // Interpret a null ListValue as empty. - return nil - } var s []json.RawMessage if err := json.Unmarshal(inputValue, &s); err != nil { return fmt.Errorf("bad ListValue: %v", err) } + target.Field(0).Set(reflect.ValueOf(make([]*stpb.Value, len(s), len(s)))) for i, sv := range s { if err := u.unmarshalValue(target.Field(0).Index(i), sv, prop); err != nil { @@ -933,11 +953,13 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe if err := json.Unmarshal(inputValue, &slc); err != nil { return err } - len := len(slc) - target.Set(reflect.MakeSlice(targetType, len, len)) - for i := 0; i < len; i++ { - if err := u.unmarshalValue(target.Index(i), slc[i], prop); err != nil { - return err + if slc != nil { + l := len(slc) + target.Set(reflect.MakeSlice(targetType, l, l)) + for i := 0; i < l; i++ { + if err := u.unmarshalValue(target.Index(i), slc[i], prop); err != nil { + return err + } } } return nil @@ -949,33 +971,35 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe if err := json.Unmarshal(inputValue, &mp); err != nil { return err } - target.Set(reflect.MakeMap(targetType)) - var keyprop, valprop *proto.Properties - if prop != nil { - // These could still be nil if the protobuf metadata is broken somehow. - // TODO: This won't work because the fields are unexported. - // We should probably just reparse them. - //keyprop, valprop = prop.mkeyprop, prop.mvalprop - } - for ks, raw := range mp { - // Unmarshal map key. The core json library already decoded the key into a - // string, so we handle that specially. Other types were quoted post-serialization. - var k reflect.Value - if targetType.Key().Kind() == reflect.String { - k = reflect.ValueOf(ks) - } else { - k = reflect.New(targetType.Key()).Elem() - if err := u.unmarshalValue(k, json.RawMessage(ks), keyprop); err != nil { + if mp != nil { + target.Set(reflect.MakeMap(targetType)) + var keyprop, valprop *proto.Properties + if prop != nil { + // These could still be nil if the protobuf metadata is broken somehow. + // TODO: This won't work because the fields are unexported. + // We should probably just reparse them. + //keyprop, valprop = prop.mkeyprop, prop.mvalprop + } + for ks, raw := range mp { + // Unmarshal map key. The core json library already decoded the key into a + // string, so we handle that specially. Other types were quoted post-serialization. + var k reflect.Value + if targetType.Key().Kind() == reflect.String { + k = reflect.ValueOf(ks) + } else { + k = reflect.New(targetType.Key()).Elem() + if err := u.unmarshalValue(k, json.RawMessage(ks), keyprop); err != nil { + return err + } + } + + // Unmarshal map value. + v := reflect.New(targetType.Elem()).Elem() + if err := u.unmarshalValue(v, raw, valprop); err != nil { return err } + target.SetMapIndex(k, v) } - - // Unmarshal map value. - v := reflect.New(targetType.Elem()).Elem() - if err := u.unmarshalValue(v, raw, valprop); err != nil { - return err - } - target.SetMapIndex(k, v) } return nil } diff --git a/vendor/github.com/golang/protobuf/jsonpb/jsonpb_test.go b/vendor/github.com/golang/protobuf/jsonpb/jsonpb_test.go index da93163e6..2428d0566 100644 --- a/vendor/github.com/golang/protobuf/jsonpb/jsonpb_test.go +++ b/vendor/github.com/golang/protobuf/jsonpb/jsonpb_test.go @@ -379,9 +379,9 @@ var marshalingTests = []struct { &pb.Mappy{Strry: map[string]string{`"one"`: "two", "three": "four"}}, `{"strry":{"\"one\"":"two","three":"four"}}`}, {"map", marshaler, - &pb.Mappy{Objjy: map[int32]*pb.Simple3{1: &pb.Simple3{Dub: 1}}}, `{"objjy":{"1":{"dub":1}}}`}, + &pb.Mappy{Objjy: map[int32]*pb.Simple3{1: {Dub: 1}}}, `{"objjy":{"1":{"dub":1}}}`}, {"map", marshalerAllOptions, - &pb.Mappy{Objjy: map[int32]*pb.Simple3{1: &pb.Simple3{Dub: 1}}}, objjyPrettyJSON}, + &pb.Mappy{Objjy: map[int32]*pb.Simple3{1: {Dub: 1}}}, objjyPrettyJSON}, {"map", marshaler, &pb.Mappy{Buggy: map[int64]string{1234: "yup"}}, `{"buggy":{"1234":"yup"}}`}, {"map", marshaler, &pb.Mappy{Booly: map[bool]bool{false: true}}, `{"booly":{"false":true}}`}, @@ -395,7 +395,7 @@ var marshalingTests = []struct { {"proto2 map", marshaler, &pb.Maps{MInt64Str: map[int64]string{213: "cat"}}, `{"mInt64Str":{"213":"cat"}}`}, {"proto2 map", marshaler, - &pb.Maps{MBoolSimple: map[bool]*pb.Simple{true: &pb.Simple{OInt32: proto.Int32(1)}}}, + &pb.Maps{MBoolSimple: map[bool]*pb.Simple{true: {OInt32: proto.Int32(1)}}}, `{"mBoolSimple":{"true":{"oInt32":1}}}`}, {"oneof, not set", marshaler, &pb.MsgWithOneof{}, `{}`}, {"oneof, set", marshaler, &pb.MsgWithOneof{Union: &pb.MsgWithOneof_Title{"Grand Poobah"}}, `{"title":"Grand Poobah"}`}, @@ -486,7 +486,7 @@ func TestMarshalAnyJSONPBMarshaler(t *testing.T) { } // after custom marshaling, it's round-tripped through JSON decoding/encoding already, // so the keys are sorted, whitespace is compacted, and "@type" key has been added - expected := `{"@type":"type.googleapis.com/` + dynamicMessageName +`","baz":[0,1,2,3],"foo":"bar"}` + expected := `{"@type":"type.googleapis.com/` + dynamicMessageName + `","baz":[0,1,2,3],"foo":"bar"}` if str != expected { t.Errorf("marshalling JSON produced incorrect output: got %s, wanted %s", str, expected) } @@ -535,7 +535,7 @@ var unmarshalingTests = []struct { {"-Inf", Unmarshaler{}, `{"oDouble":"-Infinity"}`, &pb.Simple{ODouble: proto.Float64(math.Inf(-1))}}, {"map", Unmarshaler{}, `{"nummy":{"1":2,"3":4}}`, &pb.Mappy{Nummy: map[int64]int32{1: 2, 3: 4}}}, {"map", Unmarshaler{}, `{"strry":{"\"one\"":"two","three":"four"}}`, &pb.Mappy{Strry: map[string]string{`"one"`: "two", "three": "four"}}}, - {"map", Unmarshaler{}, `{"objjy":{"1":{"dub":1}}}`, &pb.Mappy{Objjy: map[int32]*pb.Simple3{1: &pb.Simple3{Dub: 1}}}}, + {"map", Unmarshaler{}, `{"objjy":{"1":{"dub":1}}}`, &pb.Mappy{Objjy: map[int32]*pb.Simple3{1: {Dub: 1}}}}, {"proto2 extension", Unmarshaler{}, realNumberJSON, realNumber}, {"Any with message", Unmarshaler{}, anySimpleJSON, anySimple}, {"Any with message and indent", Unmarshaler{}, anySimplePrettyJSON, anySimple}, @@ -553,12 +553,12 @@ var unmarshalingTests = []struct { {"camelName input", Unmarshaler{}, `{"oBool":true}`, &pb.Simple{OBool: proto.Bool(true)}}, {"Duration", Unmarshaler{}, `{"dur":"3.000s"}`, &pb.KnownTypes{Dur: &durpb.Duration{Seconds: 3}}}, - {"null Duration", Unmarshaler{}, `{"dur":null}`, &pb.KnownTypes{Dur: &durpb.Duration{Seconds: 0}}}, + {"null Duration", Unmarshaler{}, `{"dur":null}`, &pb.KnownTypes{Dur: nil}}, {"Timestamp", Unmarshaler{}, `{"ts":"2014-05-13T16:53:20.021Z"}`, &pb.KnownTypes{Ts: &tspb.Timestamp{Seconds: 14e8, Nanos: 21e6}}}, {"PreEpochTimestamp", Unmarshaler{}, `{"ts":"1969-12-31T23:59:58.999999995Z"}`, &pb.KnownTypes{Ts: &tspb.Timestamp{Seconds: -2, Nanos: 999999995}}}, {"ZeroTimeTimestamp", Unmarshaler{}, `{"ts":"0001-01-01T00:00:00Z"}`, &pb.KnownTypes{Ts: &tspb.Timestamp{Seconds: -62135596800, Nanos: 0}}}, - {"null Timestamp", Unmarshaler{}, `{"ts":null}`, &pb.KnownTypes{Ts: &tspb.Timestamp{Seconds: 0, Nanos: 0}}}, - {"null Struct", Unmarshaler{}, `{"st": null}`, &pb.KnownTypes{St: &stpb.Struct{}}}, + {"null Timestamp", Unmarshaler{}, `{"ts":null}`, &pb.KnownTypes{Ts: nil}}, + {"null Struct", Unmarshaler{}, `{"st": null}`, &pb.KnownTypes{St: nil}}, {"empty Struct", Unmarshaler{}, `{"st": {}}`, &pb.KnownTypes{St: &stpb.Struct{}}}, {"basic Struct", Unmarshaler{}, `{"st": {"a": "x", "b": null, "c": 3, "d": true}}`, &pb.KnownTypes{St: &stpb.Struct{Fields: map[string]*stpb.Value{ "a": {Kind: &stpb.Value_StringValue{"x"}}, @@ -575,7 +575,7 @@ var unmarshalingTests = []struct { }}}}, }}}}, }}}}, - {"null ListValue", Unmarshaler{}, `{"lv": null}`, &pb.KnownTypes{Lv: &stpb.ListValue{}}}, + {"null ListValue", Unmarshaler{}, `{"lv": null}`, &pb.KnownTypes{Lv: nil}}, {"empty ListValue", Unmarshaler{}, `{"lv": []}`, &pb.KnownTypes{Lv: &stpb.ListValue{}}}, {"basic ListValue", Unmarshaler{}, `{"lv": ["x", null, 3, true]}`, &pb.KnownTypes{Lv: &stpb.ListValue{Values: []*stpb.Value{ {Kind: &stpb.Value_StringValue{"x"}}, @@ -612,8 +612,17 @@ var unmarshalingTests = []struct { {"BoolValue", Unmarshaler{}, `{"bool":true}`, &pb.KnownTypes{Bool: &wpb.BoolValue{Value: true}}}, {"StringValue", Unmarshaler{}, `{"str":"plush"}`, &pb.KnownTypes{Str: &wpb.StringValue{Value: "plush"}}}, {"BytesValue", Unmarshaler{}, `{"bytes":"d293"}`, &pb.KnownTypes{Bytes: &wpb.BytesValue{Value: []byte("wow")}}}, - // `null` is also a permissible value. Let's just test one. - {"null DoubleValue", Unmarshaler{}, `{"dbl":null}`, &pb.KnownTypes{Dbl: &wpb.DoubleValue{}}}, + + // Ensure that `null` as a value ends up with a nil pointer instead of a [type]Value struct. + {"null DoubleValue", Unmarshaler{}, `{"dbl":null}`, &pb.KnownTypes{Dbl: nil}}, + {"null FloatValue", Unmarshaler{}, `{"flt":null}`, &pb.KnownTypes{Flt: nil}}, + {"null Int64Value", Unmarshaler{}, `{"i64":null}`, &pb.KnownTypes{I64: nil}}, + {"null UInt64Value", Unmarshaler{}, `{"u64":null}`, &pb.KnownTypes{U64: nil}}, + {"null Int32Value", Unmarshaler{}, `{"i32":null}`, &pb.KnownTypes{I32: nil}}, + {"null UInt32Value", Unmarshaler{}, `{"u32":null}`, &pb.KnownTypes{U32: nil}}, + {"null BoolValue", Unmarshaler{}, `{"bool":null}`, &pb.KnownTypes{Bool: nil}}, + {"null StringValue", Unmarshaler{}, `{"str":null}`, &pb.KnownTypes{Str: nil}}, + {"null BytesValue", Unmarshaler{}, `{"bytes":null}`, &pb.KnownTypes{Bytes: nil}}, } func TestUnmarshaling(t *testing.T) { @@ -636,6 +645,26 @@ func TestUnmarshaling(t *testing.T) { } } +func TestUnmarshalNullArray(t *testing.T) { + var repeats pb.Repeats + if err := UnmarshalString(`{"rBool":null}`, &repeats); err != nil { + t.Fatal(err) + } + if !reflect.DeepEqual(repeats, pb.Repeats{}) { + t.Errorf("got non-nil fields in [%#v]", repeats) + } +} + +func TestUnmarshalNullObject(t *testing.T) { + var maps pb.Maps + if err := UnmarshalString(`{"mInt64Str":null}`, &maps); err != nil { + t.Fatal(err) + } + if !reflect.DeepEqual(maps, pb.Maps{}) { + t.Errorf("got non-nil fields in [%#v]", maps) + } +} + func TestUnmarshalNext(t *testing.T) { // We only need to check against a few, not all of them. tests := unmarshalingTests[:5] @@ -692,6 +721,65 @@ func TestUnmarshalingBadInput(t *testing.T) { } } +type funcResolver func(turl string) (proto.Message, error) + +func (fn funcResolver) Resolve(turl string) (proto.Message, error) { + return fn(turl) +} + +func TestAnyWithCustomResolver(t *testing.T) { + var resolvedTypeUrls []string + resolver := funcResolver(func(turl string) (proto.Message, error) { + resolvedTypeUrls = append(resolvedTypeUrls, turl) + return new(pb.Simple), nil + }) + msg := &pb.Simple{ + OBytes: []byte{1, 2, 3, 4}, + OBool: proto.Bool(true), + OString: proto.String("foobar"), + OInt64: proto.Int64(1020304), + } + msgBytes, err := proto.Marshal(msg) + if err != nil { + t.Errorf("an unexpected error occurred when marshaling message: %v", err) + } + // make an Any with a type URL that won't resolve w/out custom resolver + any := &anypb.Any{ + TypeUrl: "https://foobar.com/some.random.MessageKind", + Value: msgBytes, + } + + m := Marshaler{AnyResolver: resolver} + js, err := m.MarshalToString(any) + if err != nil { + t.Errorf("an unexpected error occurred when marshaling any to JSON: %v", err) + } + if len(resolvedTypeUrls) != 1 { + t.Errorf("custom resolver was not invoked during marshaling") + } else if resolvedTypeUrls[0] != "https://foobar.com/some.random.MessageKind" { + t.Errorf("custom resolver was invoked with wrong URL: got %q, wanted %q", resolvedTypeUrls[0], "https://foobar.com/some.random.MessageKind") + } + wanted := `{"@type":"https://foobar.com/some.random.MessageKind","oBool":true,"oInt64":"1020304","oString":"foobar","oBytes":"AQIDBA=="}` + if js != wanted { + t.Errorf("marshalling JSON produced incorrect output: got %s, wanted %s", js, wanted) + } + + u := Unmarshaler{AnyResolver: resolver} + roundTrip := &anypb.Any{} + err = u.Unmarshal(bytes.NewReader([]byte(js)), roundTrip) + if err != nil { + t.Errorf("an unexpected error occurred when unmarshaling any from JSON: %v", err) + } + if len(resolvedTypeUrls) != 2 { + t.Errorf("custom resolver was not invoked during marshaling") + } else if resolvedTypeUrls[1] != "https://foobar.com/some.random.MessageKind" { + t.Errorf("custom resolver was invoked with wrong URL: got %q, wanted %q", resolvedTypeUrls[1], "https://foobar.com/some.random.MessageKind") + } + if !proto.Equal(any, roundTrip) { + t.Errorf("message contents not set correctly after unmarshalling JSON: got %s, wanted %s", roundTrip, any) + } +} + func TestUnmarshalJSONPBUnmarshaler(t *testing.T) { rawJson := `{ "foo": "bar", "baz": [0, 1, 2, 3] }` var msg dynamicMessage @@ -703,6 +791,19 @@ func TestUnmarshalJSONPBUnmarshaler(t *testing.T) { } } +func TestUnmarshalNullWithJSONPBUnmarshaler(t *testing.T) { + rawJson := `{"stringField":null}` + var ptrFieldMsg ptrFieldMessage + if err := Unmarshal(strings.NewReader(rawJson), &ptrFieldMsg); err != nil { + t.Errorf("unmarshal error: %v", err) + } + + want := ptrFieldMessage{StringField: &stringField{IsSet: true, StringValue: "null"}} + if !proto.Equal(&ptrFieldMsg, &want) { + t.Errorf("unmarshal result StringField: got %v, want %v", ptrFieldMsg, want) + } +} + func TestUnmarshalAnyJSONPBUnmarshaler(t *testing.T) { rawJson := `{ "@type": "blah.com/` + dynamicMessageName + `", "foo": "bar", "baz": [0, 1, 2, 3] }` var got anypb.Any @@ -727,11 +828,47 @@ func TestUnmarshalAnyJSONPBUnmarshaler(t *testing.T) { const ( dynamicMessageName = "google.protobuf.jsonpb.testing.dynamicMessage" ) + func init() { // we register the custom type below so that we can use it in Any types proto.RegisterType((*dynamicMessage)(nil), dynamicMessageName) } +type ptrFieldMessage struct { + StringField *stringField `protobuf:"bytes,1,opt,name=stringField"` +} + +func (m *ptrFieldMessage) Reset() { +} + +func (m *ptrFieldMessage) String() string { + return m.StringField.StringValue +} + +func (m *ptrFieldMessage) ProtoMessage() { +} + +type stringField struct { + IsSet bool `protobuf:"varint,1,opt,name=isSet"` + StringValue string `protobuf:"bytes,2,opt,name=stringValue"` +} + +func (s *stringField) Reset() { +} + +func (s *stringField) String() string { + return s.StringValue +} + +func (s *stringField) ProtoMessage() { +} + +func (s *stringField) UnmarshalJSONPB(jum *Unmarshaler, js []byte) error { + s.IsSet = true + s.StringValue = string(js) + return nil +} + // dynamicMessage implements protobuf.Message but is not a normal generated message type. // It provides implementations of JSONPBMarshaler and JSONPBUnmarshaler for JSON support. type dynamicMessage struct { @@ -756,4 +893,4 @@ func (m *dynamicMessage) MarshalJSONPB(jm *Marshaler) ([]byte, error) { func (m *dynamicMessage) UnmarshalJSONPB(jum *Unmarshaler, js []byte) error { m.rawJson = string(js) return nil -} \ No newline at end of file +} diff --git a/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/Makefile b/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/Makefile index 41a2d04d0..f706871a6 100644 --- a/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/Makefile +++ b/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/Makefile @@ -33,4 +33,5 @@ # at src/google/protobuf/descriptor.proto regenerate: @echo WARNING! THIS RULE IS PROBABLY NOT RIGHT FOR YOUR INSTALLATION + cp $(HOME)/src/protobuf/include/google/protobuf/descriptor.proto . protoc --go_out=../../../../.. -I$(HOME)/src/protobuf/include $(HOME)/src/protobuf/include/google/protobuf/descriptor.proto diff --git a/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.pb.go b/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.pb.go index 63cf2c80a..c6a91bcab 100644 --- a/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.pb.go +++ b/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.pb.go @@ -11,6 +11,7 @@ It has these top-level messages: FileDescriptorSet FileDescriptorProto DescriptorProto + ExtensionRangeOptions FieldDescriptorProto OneofDescriptorProto EnumDescriptorProto @@ -137,7 +138,7 @@ func (x *FieldDescriptorProto_Type) UnmarshalJSON(data []byte) error { *x = FieldDescriptorProto_Type(value) return nil } -func (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{3, 0} } +func (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{4, 0} } type FieldDescriptorProto_Label int32 @@ -176,7 +177,7 @@ func (x *FieldDescriptorProto_Label) UnmarshalJSON(data []byte) error { return nil } func (FieldDescriptorProto_Label) EnumDescriptor() ([]byte, []int) { - return fileDescriptor0, []int{3, 1} + return fileDescriptor0, []int{4, 1} } // Generated classes can be optimized for speed or code size. @@ -216,7 +217,7 @@ func (x *FileOptions_OptimizeMode) UnmarshalJSON(data []byte) error { *x = FileOptions_OptimizeMode(value) return nil } -func (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{9, 0} } +func (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{10, 0} } type FieldOptions_CType int32 @@ -254,7 +255,7 @@ func (x *FieldOptions_CType) UnmarshalJSON(data []byte) error { *x = FieldOptions_CType(value) return nil } -func (FieldOptions_CType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{11, 0} } +func (FieldOptions_CType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{12, 0} } type FieldOptions_JSType int32 @@ -294,7 +295,7 @@ func (x *FieldOptions_JSType) UnmarshalJSON(data []byte) error { *x = FieldOptions_JSType(value) return nil } -func (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{11, 1} } +func (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{12, 1} } // Is this method side-effect-free (or safe in HTTP parlance), or idempotent, // or neither? HTTP based RPC implementation may choose GET verb for safe @@ -335,7 +336,7 @@ func (x *MethodOptions_IdempotencyLevel) UnmarshalJSON(data []byte) error { return nil } func (MethodOptions_IdempotencyLevel) EnumDescriptor() ([]byte, []int) { - return fileDescriptor0, []int{16, 0} + return fileDescriptor0, []int{17, 0} } // The protocol compiler can output a FileDescriptorSet containing the .proto @@ -567,9 +568,10 @@ func (m *DescriptorProto) GetReservedName() []string { } type DescriptorProto_ExtensionRange struct { - Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` - End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` - XXX_unrecognized []byte `json:"-"` + Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` + End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` + Options *ExtensionRangeOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` + XXX_unrecognized []byte `json:"-"` } func (m *DescriptorProto_ExtensionRange) Reset() { *m = DescriptorProto_ExtensionRange{} } @@ -593,6 +595,13 @@ func (m *DescriptorProto_ExtensionRange) GetEnd() int32 { return 0 } +func (m *DescriptorProto_ExtensionRange) GetOptions() *ExtensionRangeOptions { + if m != nil { + return m.Options + } + return nil +} + // Range of reserved tag numbers. Reserved tag numbers may not be used by // fields or extension ranges in the same message. Reserved ranges may // not overlap. @@ -623,6 +632,33 @@ func (m *DescriptorProto_ReservedRange) GetEnd() int32 { return 0 } +type ExtensionRangeOptions struct { + // The parser stores options it doesn't recognize here. See above. + UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` + proto.XXX_InternalExtensions `json:"-"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *ExtensionRangeOptions) Reset() { *m = ExtensionRangeOptions{} } +func (m *ExtensionRangeOptions) String() string { return proto.CompactTextString(m) } +func (*ExtensionRangeOptions) ProtoMessage() {} +func (*ExtensionRangeOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } + +var extRange_ExtensionRangeOptions = []proto.ExtensionRange{ + {1000, 536870911}, +} + +func (*ExtensionRangeOptions) ExtensionRangeArray() []proto.ExtensionRange { + return extRange_ExtensionRangeOptions +} + +func (m *ExtensionRangeOptions) GetUninterpretedOption() []*UninterpretedOption { + if m != nil { + return m.UninterpretedOption + } + return nil +} + // Describes a field within a message. type FieldDescriptorProto struct { Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` @@ -661,7 +697,7 @@ type FieldDescriptorProto struct { func (m *FieldDescriptorProto) Reset() { *m = FieldDescriptorProto{} } func (m *FieldDescriptorProto) String() string { return proto.CompactTextString(m) } func (*FieldDescriptorProto) ProtoMessage() {} -func (*FieldDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } +func (*FieldDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } func (m *FieldDescriptorProto) GetName() string { if m != nil && m.Name != nil { @@ -743,7 +779,7 @@ type OneofDescriptorProto struct { func (m *OneofDescriptorProto) Reset() { *m = OneofDescriptorProto{} } func (m *OneofDescriptorProto) String() string { return proto.CompactTextString(m) } func (*OneofDescriptorProto) ProtoMessage() {} -func (*OneofDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } +func (*OneofDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } func (m *OneofDescriptorProto) GetName() string { if m != nil && m.Name != nil { @@ -770,7 +806,7 @@ type EnumDescriptorProto struct { func (m *EnumDescriptorProto) Reset() { *m = EnumDescriptorProto{} } func (m *EnumDescriptorProto) String() string { return proto.CompactTextString(m) } func (*EnumDescriptorProto) ProtoMessage() {} -func (*EnumDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } +func (*EnumDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } func (m *EnumDescriptorProto) GetName() string { if m != nil && m.Name != nil { @@ -804,7 +840,7 @@ type EnumValueDescriptorProto struct { func (m *EnumValueDescriptorProto) Reset() { *m = EnumValueDescriptorProto{} } func (m *EnumValueDescriptorProto) String() string { return proto.CompactTextString(m) } func (*EnumValueDescriptorProto) ProtoMessage() {} -func (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } +func (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } func (m *EnumValueDescriptorProto) GetName() string { if m != nil && m.Name != nil { @@ -838,7 +874,7 @@ type ServiceDescriptorProto struct { func (m *ServiceDescriptorProto) Reset() { *m = ServiceDescriptorProto{} } func (m *ServiceDescriptorProto) String() string { return proto.CompactTextString(m) } func (*ServiceDescriptorProto) ProtoMessage() {} -func (*ServiceDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } +func (*ServiceDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } func (m *ServiceDescriptorProto) GetName() string { if m != nil && m.Name != nil { @@ -879,7 +915,7 @@ type MethodDescriptorProto struct { func (m *MethodDescriptorProto) Reset() { *m = MethodDescriptorProto{} } func (m *MethodDescriptorProto) String() string { return proto.CompactTextString(m) } func (*MethodDescriptorProto) ProtoMessage() {} -func (*MethodDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } +func (*MethodDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } const Default_MethodDescriptorProto_ClientStreaming bool = false const Default_MethodDescriptorProto_ServerStreaming bool = false @@ -974,6 +1010,7 @@ type FileOptions struct { CcGenericServices *bool `protobuf:"varint,16,opt,name=cc_generic_services,json=ccGenericServices,def=0" json:"cc_generic_services,omitempty"` JavaGenericServices *bool `protobuf:"varint,17,opt,name=java_generic_services,json=javaGenericServices,def=0" json:"java_generic_services,omitempty"` PyGenericServices *bool `protobuf:"varint,18,opt,name=py_generic_services,json=pyGenericServices,def=0" json:"py_generic_services,omitempty"` + PhpGenericServices *bool `protobuf:"varint,42,opt,name=php_generic_services,json=phpGenericServices,def=0" json:"php_generic_services,omitempty"` // Is this file deprecated? // Depending on the target platform, this can emit Deprecated annotations // for everything in the file, or it will be completely ignored; in the very @@ -995,6 +1032,10 @@ type FileOptions struct { // Sets the php class prefix which is prepended to all php generated classes // from this .proto. Default is empty. PhpClassPrefix *string `protobuf:"bytes,40,opt,name=php_class_prefix,json=phpClassPrefix" json:"php_class_prefix,omitempty"` + // Use this option to change the namespace of php generated classes. Default + // is empty. When this option is empty, the package name will be used for + // determining the namespace. + PhpNamespace *string `protobuf:"bytes,41,opt,name=php_namespace,json=phpNamespace" json:"php_namespace,omitempty"` // The parser stores options it doesn't recognize here. See above. UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` proto.XXX_InternalExtensions `json:"-"` @@ -1004,7 +1045,7 @@ type FileOptions struct { func (m *FileOptions) Reset() { *m = FileOptions{} } func (m *FileOptions) String() string { return proto.CompactTextString(m) } func (*FileOptions) ProtoMessage() {} -func (*FileOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } +func (*FileOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } var extRange_FileOptions = []proto.ExtensionRange{ {1000, 536870911}, @@ -1020,6 +1061,7 @@ const Default_FileOptions_OptimizeFor FileOptions_OptimizeMode = FileOptions_SPE const Default_FileOptions_CcGenericServices bool = false const Default_FileOptions_JavaGenericServices bool = false const Default_FileOptions_PyGenericServices bool = false +const Default_FileOptions_PhpGenericServices bool = false const Default_FileOptions_Deprecated bool = false const Default_FileOptions_CcEnableArenas bool = false @@ -1093,6 +1135,13 @@ func (m *FileOptions) GetPyGenericServices() bool { return Default_FileOptions_PyGenericServices } +func (m *FileOptions) GetPhpGenericServices() bool { + if m != nil && m.PhpGenericServices != nil { + return *m.PhpGenericServices + } + return Default_FileOptions_PhpGenericServices +} + func (m *FileOptions) GetDeprecated() bool { if m != nil && m.Deprecated != nil { return *m.Deprecated @@ -1135,6 +1184,13 @@ func (m *FileOptions) GetPhpClassPrefix() string { return "" } +func (m *FileOptions) GetPhpNamespace() string { + if m != nil && m.PhpNamespace != nil { + return *m.PhpNamespace + } + return "" +} + func (m *FileOptions) GetUninterpretedOption() []*UninterpretedOption { if m != nil { return m.UninterpretedOption @@ -1202,7 +1258,7 @@ type MessageOptions struct { func (m *MessageOptions) Reset() { *m = MessageOptions{} } func (m *MessageOptions) String() string { return proto.CompactTextString(m) } func (*MessageOptions) ProtoMessage() {} -func (*MessageOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } +func (*MessageOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } var extRange_MessageOptions = []proto.ExtensionRange{ {1000, 536870911}, @@ -1265,13 +1321,15 @@ type FieldOptions struct { Packed *bool `protobuf:"varint,2,opt,name=packed" json:"packed,omitempty"` // The jstype option determines the JavaScript type used for values of the // field. The option is permitted only for 64 bit integral and fixed types - // (int64, uint64, sint64, fixed64, sfixed64). By default these types are - // represented as JavaScript strings. This avoids loss of precision that can - // happen when a large value is converted to a floating point JavaScript - // numbers. Specifying JS_NUMBER for the jstype causes the generated - // JavaScript code to use the JavaScript "number" type instead of strings. - // This option is an enum to permit additional types to be added, - // e.g. goog.math.Integer. + // (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING + // is represented as JavaScript string, which avoids loss of precision that + // can happen when a large value is converted to a floating point JavaScript. + // Specifying JS_NUMBER for the jstype causes the generated JavaScript code to + // use the JavaScript "number" type. The behavior of the default option + // JS_NORMAL is implementation dependent. + // + // This option is an enum to permit additional types to be added, e.g. + // goog.math.Integer. Jstype *FieldOptions_JSType `protobuf:"varint,6,opt,name=jstype,enum=google.protobuf.FieldOptions_JSType,def=0" json:"jstype,omitempty"` // Should this field be parsed lazily? Lazy applies only to message-type // fields. It means that when the outer message is initially parsed, the @@ -1318,7 +1376,7 @@ type FieldOptions struct { func (m *FieldOptions) Reset() { *m = FieldOptions{} } func (m *FieldOptions) String() string { return proto.CompactTextString(m) } func (*FieldOptions) ProtoMessage() {} -func (*FieldOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } +func (*FieldOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } var extRange_FieldOptions = []proto.ExtensionRange{ {1000, 536870911}, @@ -1393,7 +1451,7 @@ type OneofOptions struct { func (m *OneofOptions) Reset() { *m = OneofOptions{} } func (m *OneofOptions) String() string { return proto.CompactTextString(m) } func (*OneofOptions) ProtoMessage() {} -func (*OneofOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } +func (*OneofOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} } var extRange_OneofOptions = []proto.ExtensionRange{ {1000, 536870911}, @@ -1428,7 +1486,7 @@ type EnumOptions struct { func (m *EnumOptions) Reset() { *m = EnumOptions{} } func (m *EnumOptions) String() string { return proto.CompactTextString(m) } func (*EnumOptions) ProtoMessage() {} -func (*EnumOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} } +func (*EnumOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} } var extRange_EnumOptions = []proto.ExtensionRange{ {1000, 536870911}, @@ -1476,7 +1534,7 @@ type EnumValueOptions struct { func (m *EnumValueOptions) Reset() { *m = EnumValueOptions{} } func (m *EnumValueOptions) String() string { return proto.CompactTextString(m) } func (*EnumValueOptions) ProtoMessage() {} -func (*EnumValueOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} } +func (*EnumValueOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} } var extRange_EnumValueOptions = []proto.ExtensionRange{ {1000, 536870911}, @@ -1517,7 +1575,7 @@ type ServiceOptions struct { func (m *ServiceOptions) Reset() { *m = ServiceOptions{} } func (m *ServiceOptions) String() string { return proto.CompactTextString(m) } func (*ServiceOptions) ProtoMessage() {} -func (*ServiceOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} } +func (*ServiceOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} } var extRange_ServiceOptions = []proto.ExtensionRange{ {1000, 536870911}, @@ -1559,7 +1617,7 @@ type MethodOptions struct { func (m *MethodOptions) Reset() { *m = MethodOptions{} } func (m *MethodOptions) String() string { return proto.CompactTextString(m) } func (*MethodOptions) ProtoMessage() {} -func (*MethodOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} } +func (*MethodOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} } var extRange_MethodOptions = []proto.ExtensionRange{ {1000, 536870911}, @@ -1615,7 +1673,7 @@ type UninterpretedOption struct { func (m *UninterpretedOption) Reset() { *m = UninterpretedOption{} } func (m *UninterpretedOption) String() string { return proto.CompactTextString(m) } func (*UninterpretedOption) ProtoMessage() {} -func (*UninterpretedOption) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} } +func (*UninterpretedOption) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} } func (m *UninterpretedOption) GetName() []*UninterpretedOption_NamePart { if m != nil { @@ -1681,7 +1739,7 @@ func (m *UninterpretedOption_NamePart) Reset() { *m = UninterpretedOptio func (m *UninterpretedOption_NamePart) String() string { return proto.CompactTextString(m) } func (*UninterpretedOption_NamePart) ProtoMessage() {} func (*UninterpretedOption_NamePart) Descriptor() ([]byte, []int) { - return fileDescriptor0, []int{17, 0} + return fileDescriptor0, []int{18, 0} } func (m *UninterpretedOption_NamePart) GetNamePart() string { @@ -1751,7 +1809,7 @@ type SourceCodeInfo struct { func (m *SourceCodeInfo) Reset() { *m = SourceCodeInfo{} } func (m *SourceCodeInfo) String() string { return proto.CompactTextString(m) } func (*SourceCodeInfo) ProtoMessage() {} -func (*SourceCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} } +func (*SourceCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} } func (m *SourceCodeInfo) GetLocation() []*SourceCodeInfo_Location { if m != nil { @@ -1847,7 +1905,7 @@ type SourceCodeInfo_Location struct { func (m *SourceCodeInfo_Location) Reset() { *m = SourceCodeInfo_Location{} } func (m *SourceCodeInfo_Location) String() string { return proto.CompactTextString(m) } func (*SourceCodeInfo_Location) ProtoMessage() {} -func (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18, 0} } +func (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19, 0} } func (m *SourceCodeInfo_Location) GetPath() []int32 { if m != nil { @@ -1897,7 +1955,7 @@ type GeneratedCodeInfo struct { func (m *GeneratedCodeInfo) Reset() { *m = GeneratedCodeInfo{} } func (m *GeneratedCodeInfo) String() string { return proto.CompactTextString(m) } func (*GeneratedCodeInfo) ProtoMessage() {} -func (*GeneratedCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} } +func (*GeneratedCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} } func (m *GeneratedCodeInfo) GetAnnotation() []*GeneratedCodeInfo_Annotation { if m != nil { @@ -1926,7 +1984,7 @@ func (m *GeneratedCodeInfo_Annotation) Reset() { *m = GeneratedCodeInfo_ func (m *GeneratedCodeInfo_Annotation) String() string { return proto.CompactTextString(m) } func (*GeneratedCodeInfo_Annotation) ProtoMessage() {} func (*GeneratedCodeInfo_Annotation) Descriptor() ([]byte, []int) { - return fileDescriptor0, []int{19, 0} + return fileDescriptor0, []int{20, 0} } func (m *GeneratedCodeInfo_Annotation) GetPath() []int32 { @@ -1963,6 +2021,7 @@ func init() { proto.RegisterType((*DescriptorProto)(nil), "google.protobuf.DescriptorProto") proto.RegisterType((*DescriptorProto_ExtensionRange)(nil), "google.protobuf.DescriptorProto.ExtensionRange") proto.RegisterType((*DescriptorProto_ReservedRange)(nil), "google.protobuf.DescriptorProto.ReservedRange") + proto.RegisterType((*ExtensionRangeOptions)(nil), "google.protobuf.ExtensionRangeOptions") proto.RegisterType((*FieldDescriptorProto)(nil), "google.protobuf.FieldDescriptorProto") proto.RegisterType((*OneofDescriptorProto)(nil), "google.protobuf.OneofDescriptorProto") proto.RegisterType((*EnumDescriptorProto)(nil), "google.protobuf.EnumDescriptorProto") @@ -1994,159 +2053,163 @@ func init() { func init() { proto.RegisterFile("google/protobuf/descriptor.proto", fileDescriptor0) } var fileDescriptor0 = []byte{ - // 2460 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0x5b, 0x6f, 0xdb, 0xc8, - 0x15, 0x5e, 0x5d, 0x2d, 0x1d, 0xc9, 0xf2, 0x78, 0xec, 0x4d, 0x18, 0xef, 0x25, 0x8e, 0xf6, 0x12, - 0x6f, 0xd2, 0xc8, 0x0b, 0xe7, 0xb2, 0x59, 0xa7, 0x48, 0x21, 0x4b, 0x8c, 0x57, 0xa9, 0x2c, 0xa9, - 0x94, 0xdc, 0x4d, 0xf6, 0x85, 0x18, 0x93, 0x23, 0x99, 0x09, 0x45, 0x72, 0x49, 0x2a, 0x89, 0xf7, - 0x29, 0x40, 0x9f, 0x0a, 0xf4, 0x07, 0x14, 0x45, 0xd1, 0x87, 0x7d, 0x59, 0xa0, 0x3f, 0xa0, 0xcf, - 0xfd, 0x05, 0x05, 0xf6, 0xb9, 0x2f, 0x45, 0x51, 0xa0, 0xfd, 0x07, 0x7d, 0x2d, 0x66, 0x86, 0xa4, - 0x48, 0x5d, 0x12, 0x77, 0x81, 0xec, 0x3e, 0xd9, 0x73, 0xce, 0x77, 0x0e, 0xcf, 0x9c, 0xf9, 0x66, - 0xce, 0x99, 0x11, 0x6c, 0x8f, 0x6c, 0x7b, 0x64, 0xd2, 0x5d, 0xc7, 0xb5, 0x7d, 0xfb, 0x64, 0x32, - 0xdc, 0xd5, 0xa9, 0xa7, 0xb9, 0x86, 0xe3, 0xdb, 0x6e, 0x8d, 0xcb, 0xf0, 0x9a, 0x40, 0xd4, 0x42, - 0x44, 0xf5, 0x08, 0xd6, 0x1f, 0x18, 0x26, 0x6d, 0x46, 0xc0, 0x3e, 0xf5, 0xf1, 0x5d, 0xc8, 0x0e, - 0x0d, 0x93, 0x4a, 0xa9, 0xed, 0xcc, 0x4e, 0x69, 0xef, 0xc3, 0xda, 0x8c, 0x51, 0x2d, 0x69, 0xd1, - 0x63, 0x62, 0x85, 0x5b, 0x54, 0xff, 0x95, 0x85, 0x8d, 0x05, 0x5a, 0x8c, 0x21, 0x6b, 0x91, 0x31, - 0xf3, 0x98, 0xda, 0x29, 0x2a, 0xfc, 0x7f, 0x2c, 0xc1, 0x8a, 0x43, 0xb4, 0xa7, 0x64, 0x44, 0xa5, - 0x34, 0x17, 0x87, 0x43, 0xfc, 0x3e, 0x80, 0x4e, 0x1d, 0x6a, 0xe9, 0xd4, 0xd2, 0xce, 0xa4, 0xcc, - 0x76, 0x66, 0xa7, 0xa8, 0xc4, 0x24, 0xf8, 0x3a, 0xac, 0x3b, 0x93, 0x13, 0xd3, 0xd0, 0xd4, 0x18, - 0x0c, 0xb6, 0x33, 0x3b, 0x39, 0x05, 0x09, 0x45, 0x73, 0x0a, 0xbe, 0x0a, 0x6b, 0xcf, 0x29, 0x79, - 0x1a, 0x87, 0x96, 0x38, 0xb4, 0xc2, 0xc4, 0x31, 0x60, 0x03, 0xca, 0x63, 0xea, 0x79, 0x64, 0x44, - 0x55, 0xff, 0xcc, 0xa1, 0x52, 0x96, 0xcf, 0x7e, 0x7b, 0x6e, 0xf6, 0xb3, 0x33, 0x2f, 0x05, 0x56, - 0x83, 0x33, 0x87, 0xe2, 0x3a, 0x14, 0xa9, 0x35, 0x19, 0x0b, 0x0f, 0xb9, 0x25, 0xf9, 0x93, 0xad, - 0xc9, 0x78, 0xd6, 0x4b, 0x81, 0x99, 0x05, 0x2e, 0x56, 0x3c, 0xea, 0x3e, 0x33, 0x34, 0x2a, 0xe5, - 0xb9, 0x83, 0xab, 0x73, 0x0e, 0xfa, 0x42, 0x3f, 0xeb, 0x23, 0xb4, 0xc3, 0x0d, 0x28, 0xd2, 0x17, - 0x3e, 0xb5, 0x3c, 0xc3, 0xb6, 0xa4, 0x15, 0xee, 0xe4, 0xa3, 0x05, 0xab, 0x48, 0x4d, 0x7d, 0xd6, - 0xc5, 0xd4, 0x0e, 0xdf, 0x81, 0x15, 0xdb, 0xf1, 0x0d, 0xdb, 0xf2, 0xa4, 0xc2, 0x76, 0x6a, 0xa7, - 0xb4, 0xf7, 0xee, 0x42, 0x22, 0x74, 0x05, 0x46, 0x09, 0xc1, 0xb8, 0x05, 0xc8, 0xb3, 0x27, 0xae, - 0x46, 0x55, 0xcd, 0xd6, 0xa9, 0x6a, 0x58, 0x43, 0x5b, 0x2a, 0x72, 0x07, 0x97, 0xe7, 0x27, 0xc2, - 0x81, 0x0d, 0x5b, 0xa7, 0x2d, 0x6b, 0x68, 0x2b, 0x15, 0x2f, 0x31, 0xc6, 0x17, 0x20, 0xef, 0x9d, - 0x59, 0x3e, 0x79, 0x21, 0x95, 0x39, 0x43, 0x82, 0x51, 0xf5, 0xbf, 0x39, 0x58, 0x3b, 0x0f, 0xc5, - 0xee, 0x41, 0x6e, 0xc8, 0x66, 0x29, 0xa5, 0xff, 0x9f, 0x1c, 0x08, 0x9b, 0x64, 0x12, 0xf3, 0x3f, - 0x30, 0x89, 0x75, 0x28, 0x59, 0xd4, 0xf3, 0xa9, 0x2e, 0x18, 0x91, 0x39, 0x27, 0xa7, 0x40, 0x18, - 0xcd, 0x53, 0x2a, 0xfb, 0x83, 0x28, 0xf5, 0x08, 0xd6, 0xa2, 0x90, 0x54, 0x97, 0x58, 0xa3, 0x90, - 0x9b, 0xbb, 0xaf, 0x8b, 0xa4, 0x26, 0x87, 0x76, 0x0a, 0x33, 0x53, 0x2a, 0x34, 0x31, 0xc6, 0x4d, - 0x00, 0xdb, 0xa2, 0xf6, 0x50, 0xd5, 0xa9, 0x66, 0x4a, 0x85, 0x25, 0x59, 0xea, 0x32, 0xc8, 0x5c, - 0x96, 0x6c, 0x21, 0xd5, 0x4c, 0xfc, 0xf9, 0x94, 0x6a, 0x2b, 0x4b, 0x98, 0x72, 0x24, 0x36, 0xd9, - 0x1c, 0xdb, 0x8e, 0xa1, 0xe2, 0x52, 0xc6, 0x7b, 0xaa, 0x07, 0x33, 0x2b, 0xf2, 0x20, 0x6a, 0xaf, - 0x9d, 0x99, 0x12, 0x98, 0x89, 0x89, 0xad, 0xba, 0xf1, 0x21, 0xfe, 0x00, 0x22, 0x81, 0xca, 0x69, - 0x05, 0xfc, 0x14, 0x2a, 0x87, 0xc2, 0x0e, 0x19, 0xd3, 0xad, 0xbb, 0x50, 0x49, 0xa6, 0x07, 0x6f, - 0x42, 0xce, 0xf3, 0x89, 0xeb, 0x73, 0x16, 0xe6, 0x14, 0x31, 0xc0, 0x08, 0x32, 0xd4, 0xd2, 0xf9, - 0x29, 0x97, 0x53, 0xd8, 0xbf, 0x5b, 0x9f, 0xc1, 0x6a, 0xe2, 0xf3, 0xe7, 0x35, 0xac, 0xfe, 0x3e, - 0x0f, 0x9b, 0x8b, 0x38, 0xb7, 0x90, 0xfe, 0x17, 0x20, 0x6f, 0x4d, 0xc6, 0x27, 0xd4, 0x95, 0x32, - 0xdc, 0x43, 0x30, 0xc2, 0x75, 0xc8, 0x99, 0xe4, 0x84, 0x9a, 0x52, 0x76, 0x3b, 0xb5, 0x53, 0xd9, - 0xbb, 0x7e, 0x2e, 0x56, 0xd7, 0xda, 0xcc, 0x44, 0x11, 0x96, 0xf8, 0x3e, 0x64, 0x83, 0x23, 0x8e, - 0x79, 0xb8, 0x76, 0x3e, 0x0f, 0x8c, 0x8b, 0x0a, 0xb7, 0xc3, 0xef, 0x40, 0x91, 0xfd, 0x15, 0xb9, - 0xcd, 0xf3, 0x98, 0x0b, 0x4c, 0xc0, 0xf2, 0x8a, 0xb7, 0xa0, 0xc0, 0x69, 0xa6, 0xd3, 0xb0, 0x34, - 0x44, 0x63, 0xb6, 0x30, 0x3a, 0x1d, 0x92, 0x89, 0xe9, 0xab, 0xcf, 0x88, 0x39, 0xa1, 0x9c, 0x30, - 0x45, 0xa5, 0x1c, 0x08, 0x7f, 0xcd, 0x64, 0xf8, 0x32, 0x94, 0x04, 0x2b, 0x0d, 0x4b, 0xa7, 0x2f, - 0xf8, 0xe9, 0x93, 0x53, 0x04, 0x51, 0x5b, 0x4c, 0xc2, 0x3e, 0xff, 0xc4, 0xb3, 0xad, 0x70, 0x69, - 0xf9, 0x27, 0x98, 0x80, 0x7f, 0xfe, 0xb3, 0xd9, 0x83, 0xef, 0xbd, 0xc5, 0xd3, 0x9b, 0xe5, 0x62, - 0xf5, 0x2f, 0x69, 0xc8, 0xf2, 0xfd, 0xb6, 0x06, 0xa5, 0xc1, 0xe3, 0x9e, 0xac, 0x36, 0xbb, 0xc7, - 0x07, 0x6d, 0x19, 0xa5, 0x70, 0x05, 0x80, 0x0b, 0x1e, 0xb4, 0xbb, 0xf5, 0x01, 0x4a, 0x47, 0xe3, - 0x56, 0x67, 0x70, 0xe7, 0x16, 0xca, 0x44, 0x06, 0xc7, 0x42, 0x90, 0x8d, 0x03, 0x6e, 0xee, 0xa1, - 0x1c, 0x46, 0x50, 0x16, 0x0e, 0x5a, 0x8f, 0xe4, 0xe6, 0x9d, 0x5b, 0x28, 0x9f, 0x94, 0xdc, 0xdc, - 0x43, 0x2b, 0x78, 0x15, 0x8a, 0x5c, 0x72, 0xd0, 0xed, 0xb6, 0x51, 0x21, 0xf2, 0xd9, 0x1f, 0x28, - 0xad, 0xce, 0x21, 0x2a, 0x46, 0x3e, 0x0f, 0x95, 0xee, 0x71, 0x0f, 0x41, 0xe4, 0xe1, 0x48, 0xee, - 0xf7, 0xeb, 0x87, 0x32, 0x2a, 0x45, 0x88, 0x83, 0xc7, 0x03, 0xb9, 0x8f, 0xca, 0x89, 0xb0, 0x6e, - 0xee, 0xa1, 0xd5, 0xe8, 0x13, 0x72, 0xe7, 0xf8, 0x08, 0x55, 0xf0, 0x3a, 0xac, 0x8a, 0x4f, 0x84, - 0x41, 0xac, 0xcd, 0x88, 0xee, 0xdc, 0x42, 0x68, 0x1a, 0x88, 0xf0, 0xb2, 0x9e, 0x10, 0xdc, 0xb9, - 0x85, 0x70, 0xb5, 0x01, 0x39, 0xce, 0x2e, 0x8c, 0xa1, 0xd2, 0xae, 0x1f, 0xc8, 0x6d, 0xb5, 0xdb, - 0x1b, 0xb4, 0xba, 0x9d, 0x7a, 0x1b, 0xa5, 0xa6, 0x32, 0x45, 0xfe, 0xd5, 0x71, 0x4b, 0x91, 0x9b, - 0x28, 0x1d, 0x97, 0xf5, 0xe4, 0xfa, 0x40, 0x6e, 0xa2, 0x4c, 0x55, 0x83, 0xcd, 0x45, 0xe7, 0xcc, - 0xc2, 0x9d, 0x11, 0x5b, 0xe2, 0xf4, 0x92, 0x25, 0xe6, 0xbe, 0xe6, 0x96, 0xf8, 0xdb, 0x14, 0x6c, - 0x2c, 0x38, 0x6b, 0x17, 0x7e, 0xe4, 0x17, 0x90, 0x13, 0x14, 0x15, 0xd5, 0xe7, 0x93, 0x85, 0x87, - 0x36, 0x27, 0xec, 0x5c, 0x05, 0xe2, 0x76, 0xf1, 0x0a, 0x9c, 0x59, 0x52, 0x81, 0x99, 0x8b, 0xb9, - 0x20, 0x7f, 0x93, 0x02, 0x69, 0x99, 0xef, 0xd7, 0x1c, 0x14, 0xe9, 0xc4, 0x41, 0x71, 0x6f, 0x36, - 0x80, 0x2b, 0xcb, 0xe7, 0x30, 0x17, 0xc5, 0x77, 0x29, 0xb8, 0xb0, 0xb8, 0x51, 0x59, 0x18, 0xc3, - 0x7d, 0xc8, 0x8f, 0xa9, 0x7f, 0x6a, 0x87, 0xc5, 0xfa, 0xe3, 0x05, 0x25, 0x80, 0xa9, 0x67, 0x73, - 0x15, 0x58, 0xc5, 0x6b, 0x48, 0x66, 0x59, 0xb7, 0x21, 0xa2, 0x99, 0x8b, 0xf4, 0xb7, 0x69, 0x78, - 0x7b, 0xa1, 0xf3, 0x85, 0x81, 0xbe, 0x07, 0x60, 0x58, 0xce, 0xc4, 0x17, 0x05, 0x59, 0x9c, 0x4f, - 0x45, 0x2e, 0xe1, 0x7b, 0x9f, 0x9d, 0x3d, 0x13, 0x3f, 0xd2, 0x67, 0xb8, 0x1e, 0x84, 0x88, 0x03, - 0xee, 0x4e, 0x03, 0xcd, 0xf2, 0x40, 0xdf, 0x5f, 0x32, 0xd3, 0xb9, 0x5a, 0xf7, 0x29, 0x20, 0xcd, - 0x34, 0xa8, 0xe5, 0xab, 0x9e, 0xef, 0x52, 0x32, 0x36, 0xac, 0x11, 0x3f, 0x80, 0x0b, 0xfb, 0xb9, - 0x21, 0x31, 0x3d, 0xaa, 0xac, 0x09, 0x75, 0x3f, 0xd4, 0x32, 0x0b, 0x5e, 0x65, 0xdc, 0x98, 0x45, - 0x3e, 0x61, 0x21, 0xd4, 0x91, 0x45, 0xf5, 0xef, 0x2b, 0x50, 0x8a, 0xb5, 0x75, 0xf8, 0x0a, 0x94, - 0x9f, 0x90, 0x67, 0x44, 0x0d, 0x5b, 0x75, 0x91, 0x89, 0x12, 0x93, 0xf5, 0x82, 0x76, 0xfd, 0x53, - 0xd8, 0xe4, 0x10, 0x7b, 0xe2, 0x53, 0x57, 0xd5, 0x4c, 0xe2, 0x79, 0x3c, 0x69, 0x05, 0x0e, 0xc5, - 0x4c, 0xd7, 0x65, 0xaa, 0x46, 0xa8, 0xc1, 0xb7, 0x61, 0x83, 0x5b, 0x8c, 0x27, 0xa6, 0x6f, 0x38, - 0x26, 0x55, 0xd9, 0xe5, 0xc1, 0xe3, 0x07, 0x71, 0x14, 0xd9, 0x3a, 0x43, 0x1c, 0x05, 0x00, 0x16, - 0x91, 0x87, 0x9b, 0xf0, 0x1e, 0x37, 0x1b, 0x51, 0x8b, 0xba, 0xc4, 0xa7, 0x2a, 0xfd, 0x7a, 0x42, - 0x4c, 0x4f, 0x25, 0x96, 0xae, 0x9e, 0x12, 0xef, 0x54, 0xda, 0x64, 0x0e, 0x0e, 0xd2, 0x52, 0x4a, - 0xb9, 0xc4, 0x80, 0x87, 0x01, 0x4e, 0xe6, 0xb0, 0xba, 0xa5, 0x7f, 0x41, 0xbc, 0x53, 0xbc, 0x0f, - 0x17, 0xb8, 0x17, 0xcf, 0x77, 0x0d, 0x6b, 0xa4, 0x6a, 0xa7, 0x54, 0x7b, 0xaa, 0x4e, 0xfc, 0xe1, - 0x5d, 0xe9, 0x9d, 0xf8, 0xf7, 0x79, 0x84, 0x7d, 0x8e, 0x69, 0x30, 0xc8, 0xb1, 0x3f, 0xbc, 0x8b, - 0xfb, 0x50, 0x66, 0x8b, 0x31, 0x36, 0xbe, 0xa1, 0xea, 0xd0, 0x76, 0x79, 0x65, 0xa9, 0x2c, 0xd8, - 0xd9, 0xb1, 0x0c, 0xd6, 0xba, 0x81, 0xc1, 0x91, 0xad, 0xd3, 0xfd, 0x5c, 0xbf, 0x27, 0xcb, 0x4d, - 0xa5, 0x14, 0x7a, 0x79, 0x60, 0xbb, 0x8c, 0x50, 0x23, 0x3b, 0x4a, 0x70, 0x49, 0x10, 0x6a, 0x64, - 0x87, 0xe9, 0xbd, 0x0d, 0x1b, 0x9a, 0x26, 0xe6, 0x6c, 0x68, 0x6a, 0xd0, 0xe2, 0x7b, 0x12, 0x4a, - 0x24, 0x4b, 0xd3, 0x0e, 0x05, 0x20, 0xe0, 0xb8, 0x87, 0x3f, 0x87, 0xb7, 0xa7, 0xc9, 0x8a, 0x1b, - 0xae, 0xcf, 0xcd, 0x72, 0xd6, 0xf4, 0x36, 0x6c, 0x38, 0x67, 0xf3, 0x86, 0x38, 0xf1, 0x45, 0xe7, - 0x6c, 0xd6, 0xec, 0x23, 0x7e, 0x6d, 0x73, 0xa9, 0x46, 0x7c, 0xaa, 0x4b, 0x17, 0xe3, 0xe8, 0x98, - 0x02, 0xef, 0x02, 0xd2, 0x34, 0x95, 0x5a, 0xe4, 0xc4, 0xa4, 0x2a, 0x71, 0xa9, 0x45, 0x3c, 0xe9, - 0x72, 0x1c, 0x5c, 0xd1, 0x34, 0x99, 0x6b, 0xeb, 0x5c, 0x89, 0xaf, 0xc1, 0xba, 0x7d, 0xf2, 0x44, - 0x13, 0xcc, 0x52, 0x1d, 0x97, 0x0e, 0x8d, 0x17, 0xd2, 0x87, 0x3c, 0x4d, 0x6b, 0x4c, 0xc1, 0x79, - 0xd5, 0xe3, 0x62, 0xfc, 0x09, 0x20, 0xcd, 0x3b, 0x25, 0xae, 0xc3, 0x4b, 0xbb, 0xe7, 0x10, 0x8d, - 0x4a, 0x1f, 0x09, 0xa8, 0x90, 0x77, 0x42, 0x31, 0x63, 0xb6, 0xf7, 0xdc, 0x18, 0xfa, 0xa1, 0xc7, - 0xab, 0x82, 0xd9, 0x5c, 0x16, 0x78, 0xdb, 0x01, 0xe4, 0x9c, 0x3a, 0xc9, 0x0f, 0xef, 0x70, 0x58, - 0xc5, 0x39, 0x75, 0xe2, 0xdf, 0x7d, 0x04, 0x9b, 0x13, 0xcb, 0xb0, 0x7c, 0xea, 0x3a, 0x2e, 0x65, - 0xed, 0xbe, 0xd8, 0xb3, 0xd2, 0xbf, 0x57, 0x96, 0x34, 0xec, 0xc7, 0x71, 0xb4, 0xa0, 0x8a, 0xb2, - 0x31, 0x99, 0x17, 0x56, 0xf7, 0xa1, 0x1c, 0x67, 0x10, 0x2e, 0x82, 0xe0, 0x10, 0x4a, 0xb1, 0x6a, - 0xdc, 0xe8, 0x36, 0x59, 0x1d, 0xfd, 0x4a, 0x46, 0x69, 0x56, 0xcf, 0xdb, 0xad, 0x81, 0xac, 0x2a, - 0xc7, 0x9d, 0x41, 0xeb, 0x48, 0x46, 0x99, 0x6b, 0xc5, 0xc2, 0x7f, 0x56, 0xd0, 0xcb, 0x97, 0x2f, - 0x5f, 0xa6, 0x1f, 0x66, 0x0b, 0x1f, 0xa3, 0xab, 0xd5, 0xef, 0xd3, 0x50, 0x49, 0x76, 0xd2, 0xf8, - 0xe7, 0x70, 0x31, 0xbc, 0xf6, 0x7a, 0xd4, 0x57, 0x9f, 0x1b, 0x2e, 0xa7, 0xf6, 0x98, 0x88, 0x5e, - 0x34, 0x5a, 0x95, 0xcd, 0x00, 0xd5, 0xa7, 0xfe, 0x97, 0x86, 0xcb, 0x88, 0x3b, 0x26, 0x3e, 0x6e, - 0xc3, 0x65, 0xcb, 0x56, 0x3d, 0x9f, 0x58, 0x3a, 0x71, 0x75, 0x75, 0xfa, 0xe0, 0xa0, 0x12, 0x4d, - 0xa3, 0x9e, 0x67, 0x8b, 0x92, 0x12, 0x79, 0x79, 0xd7, 0xb2, 0xfb, 0x01, 0x78, 0x7a, 0xd6, 0xd6, - 0x03, 0xe8, 0x0c, 0x83, 0x32, 0xcb, 0x18, 0xf4, 0x0e, 0x14, 0xc7, 0xc4, 0x51, 0xa9, 0xe5, 0xbb, - 0x67, 0xbc, 0xff, 0x2b, 0x28, 0x85, 0x31, 0x71, 0x64, 0x36, 0x7e, 0x73, 0x2b, 0x91, 0xcc, 0x66, - 0x01, 0x15, 0x1f, 0x66, 0x0b, 0x45, 0x04, 0xd5, 0x7f, 0x66, 0xa0, 0x1c, 0xef, 0x07, 0x59, 0x7b, - 0xad, 0xf1, 0xb3, 0x3f, 0xc5, 0x4f, 0x87, 0x0f, 0x5e, 0xd9, 0x3d, 0xd6, 0x1a, 0xac, 0x28, 0xec, - 0xe7, 0x45, 0x97, 0xa6, 0x08, 0x4b, 0x56, 0x90, 0xd9, 0x79, 0x40, 0x45, 0xef, 0x5f, 0x50, 0x82, - 0x11, 0x3e, 0x84, 0xfc, 0x13, 0x8f, 0xfb, 0xce, 0x73, 0xdf, 0x1f, 0xbe, 0xda, 0xf7, 0xc3, 0x3e, - 0x77, 0x5e, 0x7c, 0xd8, 0x57, 0x3b, 0x5d, 0xe5, 0xa8, 0xde, 0x56, 0x02, 0x73, 0x7c, 0x09, 0xb2, - 0x26, 0xf9, 0xe6, 0x2c, 0x59, 0x3e, 0xb8, 0xe8, 0xbc, 0x8b, 0x70, 0x09, 0xb2, 0xcf, 0x29, 0x79, - 0x9a, 0x3c, 0xb4, 0xb9, 0xe8, 0x0d, 0x6e, 0x86, 0x5d, 0xc8, 0xf1, 0x7c, 0x61, 0x80, 0x20, 0x63, - 0xe8, 0x2d, 0x5c, 0x80, 0x6c, 0xa3, 0xab, 0xb0, 0x0d, 0x81, 0xa0, 0x2c, 0xa4, 0x6a, 0xaf, 0x25, - 0x37, 0x64, 0x94, 0xae, 0xde, 0x86, 0xbc, 0x48, 0x02, 0xdb, 0x2c, 0x51, 0x1a, 0xd0, 0x5b, 0xc1, - 0x30, 0xf0, 0x91, 0x0a, 0xb5, 0xc7, 0x47, 0x07, 0xb2, 0x82, 0xd2, 0xc9, 0xa5, 0xce, 0xa2, 0x5c, - 0xd5, 0x83, 0x72, 0xbc, 0x21, 0xfc, 0x51, 0x58, 0x56, 0xfd, 0x6b, 0x0a, 0x4a, 0xb1, 0x06, 0x8f, - 0xb5, 0x16, 0xc4, 0x34, 0xed, 0xe7, 0x2a, 0x31, 0x0d, 0xe2, 0x05, 0xd4, 0x00, 0x2e, 0xaa, 0x33, - 0xc9, 0x79, 0x97, 0xee, 0x47, 0xda, 0x22, 0x39, 0x94, 0xaf, 0xfe, 0x29, 0x05, 0x68, 0xb6, 0x45, - 0x9c, 0x09, 0x33, 0xf5, 0x53, 0x86, 0x59, 0xfd, 0x63, 0x0a, 0x2a, 0xc9, 0xbe, 0x70, 0x26, 0xbc, - 0x2b, 0x3f, 0x69, 0x78, 0xff, 0x48, 0xc3, 0x6a, 0xa2, 0x1b, 0x3c, 0x6f, 0x74, 0x5f, 0xc3, 0xba, - 0xa1, 0xd3, 0xb1, 0x63, 0xfb, 0xd4, 0xd2, 0xce, 0x54, 0x93, 0x3e, 0xa3, 0xa6, 0x54, 0xe5, 0x87, - 0xc6, 0xee, 0xab, 0xfb, 0xcd, 0x5a, 0x6b, 0x6a, 0xd7, 0x66, 0x66, 0xfb, 0x1b, 0xad, 0xa6, 0x7c, - 0xd4, 0xeb, 0x0e, 0xe4, 0x4e, 0xe3, 0xb1, 0x7a, 0xdc, 0xf9, 0x65, 0xa7, 0xfb, 0x65, 0x47, 0x41, - 0xc6, 0x0c, 0xec, 0x0d, 0x6e, 0xfb, 0x1e, 0xa0, 0xd9, 0xa0, 0xf0, 0x45, 0x58, 0x14, 0x16, 0x7a, - 0x0b, 0x6f, 0xc0, 0x5a, 0xa7, 0xab, 0xf6, 0x5b, 0x4d, 0x59, 0x95, 0x1f, 0x3c, 0x90, 0x1b, 0x83, - 0xbe, 0xb8, 0x80, 0x47, 0xe8, 0x41, 0x62, 0x83, 0x57, 0xff, 0x90, 0x81, 0x8d, 0x05, 0x91, 0xe0, - 0x7a, 0xd0, 0xfb, 0x8b, 0xeb, 0xc8, 0x8d, 0xf3, 0x44, 0x5f, 0x63, 0xdd, 0x45, 0x8f, 0xb8, 0x7e, - 0x70, 0x55, 0xf8, 0x04, 0x58, 0x96, 0x2c, 0xdf, 0x18, 0x1a, 0xd4, 0x0d, 0xde, 0x2b, 0xc4, 0x85, - 0x60, 0x6d, 0x2a, 0x17, 0x4f, 0x16, 0x3f, 0x03, 0xec, 0xd8, 0x9e, 0xe1, 0x1b, 0xcf, 0xa8, 0x6a, - 0x58, 0xe1, 0xe3, 0x06, 0xbb, 0x20, 0x64, 0x15, 0x14, 0x6a, 0x5a, 0x96, 0x1f, 0xa1, 0x2d, 0x3a, - 0x22, 0x33, 0x68, 0x76, 0x98, 0x67, 0x14, 0x14, 0x6a, 0x22, 0xf4, 0x15, 0x28, 0xeb, 0xf6, 0x84, - 0xb5, 0x5b, 0x02, 0xc7, 0x6a, 0x47, 0x4a, 0x29, 0x09, 0x59, 0x04, 0x09, 0xfa, 0xe1, 0xe9, 0xab, - 0x4a, 0x59, 0x29, 0x09, 0x99, 0x80, 0x5c, 0x85, 0x35, 0x32, 0x1a, 0xb9, 0xcc, 0x79, 0xe8, 0x48, - 0x74, 0xf8, 0x95, 0x48, 0xcc, 0x81, 0x5b, 0x0f, 0xa1, 0x10, 0xe6, 0x81, 0x95, 0x6a, 0x96, 0x09, - 0xd5, 0x11, 0x6f, 0x5b, 0xe9, 0x9d, 0xa2, 0x52, 0xb0, 0x42, 0xe5, 0x15, 0x28, 0x1b, 0x9e, 0x3a, - 0x7d, 0x64, 0x4d, 0x6f, 0xa7, 0x77, 0x0a, 0x4a, 0xc9, 0xf0, 0xa2, 0x57, 0xb5, 0xea, 0x77, 0x69, - 0xa8, 0x24, 0x1f, 0x89, 0x71, 0x13, 0x0a, 0xa6, 0xad, 0x11, 0x4e, 0x2d, 0xf1, 0x0b, 0xc5, 0xce, - 0x6b, 0xde, 0x95, 0x6b, 0xed, 0x00, 0xaf, 0x44, 0x96, 0x5b, 0x7f, 0x4b, 0x41, 0x21, 0x14, 0xe3, - 0x0b, 0x90, 0x75, 0x88, 0x7f, 0xca, 0xdd, 0xe5, 0x0e, 0xd2, 0x28, 0xa5, 0xf0, 0x31, 0x93, 0x7b, - 0x0e, 0xb1, 0x38, 0x05, 0x02, 0x39, 0x1b, 0xb3, 0x75, 0x35, 0x29, 0xd1, 0xf9, 0xf5, 0xc1, 0x1e, - 0x8f, 0xa9, 0xe5, 0x7b, 0xe1, 0xba, 0x06, 0xf2, 0x46, 0x20, 0xc6, 0xd7, 0x61, 0xdd, 0x77, 0x89, - 0x61, 0x26, 0xb0, 0x59, 0x8e, 0x45, 0xa1, 0x22, 0x02, 0xef, 0xc3, 0xa5, 0xd0, 0xaf, 0x4e, 0x7d, - 0xa2, 0x9d, 0x52, 0x7d, 0x6a, 0x94, 0xe7, 0x2f, 0x90, 0x17, 0x03, 0x40, 0x33, 0xd0, 0x87, 0xb6, - 0xd5, 0xef, 0x53, 0xb0, 0x1e, 0x5e, 0x78, 0xf4, 0x28, 0x59, 0x47, 0x00, 0xc4, 0xb2, 0x6c, 0x3f, - 0x9e, 0xae, 0x79, 0x2a, 0xcf, 0xd9, 0xd5, 0xea, 0x91, 0x91, 0x12, 0x73, 0xb0, 0x35, 0x06, 0x98, - 0x6a, 0x96, 0xa6, 0xed, 0x32, 0x94, 0x82, 0x5f, 0x00, 0xf8, 0xcf, 0x48, 0xe2, 0x8a, 0x0c, 0x42, - 0xc4, 0x6e, 0x46, 0x78, 0x13, 0x72, 0x27, 0x74, 0x64, 0x58, 0xc1, 0xbb, 0xa4, 0x18, 0x84, 0xaf, - 0x9d, 0xd9, 0xe8, 0xb5, 0xf3, 0xe0, 0x77, 0x29, 0xd8, 0xd0, 0xec, 0xf1, 0x6c, 0xbc, 0x07, 0x68, - 0xe6, 0x9e, 0xee, 0x7d, 0x91, 0xfa, 0xea, 0xfe, 0xc8, 0xf0, 0x4f, 0x27, 0x27, 0x35, 0xcd, 0x1e, - 0xef, 0x8e, 0x6c, 0x93, 0x58, 0xa3, 0xe9, 0xef, 0x60, 0xfc, 0x1f, 0xed, 0xc6, 0x88, 0x5a, 0x37, - 0x46, 0x76, 0xec, 0x57, 0xb1, 0x7b, 0xd3, 0x7f, 0xbf, 0x4d, 0x67, 0x0e, 0x7b, 0x07, 0x7f, 0x4e, - 0x6f, 0x1d, 0x8a, 0x6f, 0xf5, 0xc2, 0xdc, 0x28, 0x74, 0x68, 0x52, 0x8d, 0xcd, 0xf7, 0x7f, 0x01, - 0x00, 0x00, 0xff, 0xff, 0x8e, 0x54, 0xe7, 0xef, 0x60, 0x1b, 0x00, 0x00, + // 2519 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xdd, 0x6e, 0x1b, 0xc7, + 0x15, 0x0e, 0x7f, 0x45, 0x1e, 0x52, 0xd4, 0x68, 0xa4, 0xd8, 0x6b, 0xe5, 0xc7, 0x32, 0xf3, 0x63, + 0xd9, 0x69, 0xa8, 0x40, 0xb1, 0x1d, 0x47, 0x29, 0xd2, 0x52, 0xe4, 0x5a, 0xa1, 0x4a, 0x91, 0xec, + 0x92, 0x6a, 0x7e, 0x6e, 0x16, 0xa3, 0xdd, 0x21, 0xb9, 0xf6, 0x72, 0x77, 0xb3, 0xbb, 0xb4, 0xad, + 0xa0, 0x17, 0x06, 0x7a, 0x55, 0xa0, 0x0f, 0x50, 0x14, 0x45, 0x2f, 0x72, 0x13, 0xa0, 0x0f, 0x50, + 0x20, 0x77, 0x7d, 0x82, 0x02, 0x79, 0x83, 0xa2, 0x28, 0xd0, 0x3e, 0x46, 0x31, 0x33, 0xbb, 0xcb, + 0x5d, 0xfe, 0xc4, 0x6a, 0x80, 0x38, 0x57, 0xe4, 0x7c, 0xe7, 0x3b, 0x67, 0xce, 0x9c, 0x39, 0x33, + 0x73, 0x66, 0x16, 0x76, 0x47, 0xb6, 0x3d, 0x32, 0xe9, 0xbe, 0xe3, 0xda, 0xbe, 0x7d, 0x3e, 0x1d, + 0xee, 0xeb, 0xd4, 0xd3, 0x5c, 0xc3, 0xf1, 0x6d, 0xb7, 0xc6, 0x31, 0xbc, 0x21, 0x18, 0xb5, 0x90, + 0x51, 0x3d, 0x85, 0xcd, 0x07, 0x86, 0x49, 0x9b, 0x11, 0xb1, 0x4f, 0x7d, 0x7c, 0x1f, 0xb2, 0x43, + 0xc3, 0xa4, 0x52, 0x6a, 0x37, 0xb3, 0x57, 0x3a, 0x78, 0xb3, 0x36, 0xa7, 0x54, 0x4b, 0x6a, 0xf4, + 0x18, 0xac, 0x70, 0x8d, 0xea, 0xbf, 0xb3, 0xb0, 0xb5, 0x44, 0x8a, 0x31, 0x64, 0x2d, 0x32, 0x61, + 0x16, 0x53, 0x7b, 0x45, 0x85, 0xff, 0xc7, 0x12, 0xac, 0x39, 0x44, 0x7b, 0x44, 0x46, 0x54, 0x4a, + 0x73, 0x38, 0x6c, 0xe2, 0xd7, 0x01, 0x74, 0xea, 0x50, 0x4b, 0xa7, 0x96, 0x76, 0x21, 0x65, 0x76, + 0x33, 0x7b, 0x45, 0x25, 0x86, 0xe0, 0x77, 0x60, 0xd3, 0x99, 0x9e, 0x9b, 0x86, 0xa6, 0xc6, 0x68, + 0xb0, 0x9b, 0xd9, 0xcb, 0x29, 0x48, 0x08, 0x9a, 0x33, 0xf2, 0x4d, 0xd8, 0x78, 0x42, 0xc9, 0xa3, + 0x38, 0xb5, 0xc4, 0xa9, 0x15, 0x06, 0xc7, 0x88, 0x0d, 0x28, 0x4f, 0xa8, 0xe7, 0x91, 0x11, 0x55, + 0xfd, 0x0b, 0x87, 0x4a, 0x59, 0x3e, 0xfa, 0xdd, 0x85, 0xd1, 0xcf, 0x8f, 0xbc, 0x14, 0x68, 0x0d, + 0x2e, 0x1c, 0x8a, 0xeb, 0x50, 0xa4, 0xd6, 0x74, 0x22, 0x2c, 0xe4, 0x56, 0xc4, 0x4f, 0xb6, 0xa6, + 0x93, 0x79, 0x2b, 0x05, 0xa6, 0x16, 0x98, 0x58, 0xf3, 0xa8, 0xfb, 0xd8, 0xd0, 0xa8, 0x94, 0xe7, + 0x06, 0x6e, 0x2e, 0x18, 0xe8, 0x0b, 0xf9, 0xbc, 0x8d, 0x50, 0x0f, 0x37, 0xa0, 0x48, 0x9f, 0xfa, + 0xd4, 0xf2, 0x0c, 0xdb, 0x92, 0xd6, 0xb8, 0x91, 0xb7, 0x96, 0xcc, 0x22, 0x35, 0xf5, 0x79, 0x13, + 0x33, 0x3d, 0x7c, 0x0f, 0xd6, 0x6c, 0xc7, 0x37, 0x6c, 0xcb, 0x93, 0x0a, 0xbb, 0xa9, 0xbd, 0xd2, + 0xc1, 0xab, 0x4b, 0x13, 0xa1, 0x2b, 0x38, 0x4a, 0x48, 0xc6, 0x2d, 0x40, 0x9e, 0x3d, 0x75, 0x35, + 0xaa, 0x6a, 0xb6, 0x4e, 0x55, 0xc3, 0x1a, 0xda, 0x52, 0x91, 0x1b, 0xb8, 0xbe, 0x38, 0x10, 0x4e, + 0x6c, 0xd8, 0x3a, 0x6d, 0x59, 0x43, 0x5b, 0xa9, 0x78, 0x89, 0x36, 0xbe, 0x02, 0x79, 0xef, 0xc2, + 0xf2, 0xc9, 0x53, 0xa9, 0xcc, 0x33, 0x24, 0x68, 0x55, 0xbf, 0xcd, 0xc3, 0xc6, 0x65, 0x52, 0xec, + 0x23, 0xc8, 0x0d, 0xd9, 0x28, 0xa5, 0xf4, 0xff, 0x13, 0x03, 0xa1, 0x93, 0x0c, 0x62, 0xfe, 0x07, + 0x06, 0xb1, 0x0e, 0x25, 0x8b, 0x7a, 0x3e, 0xd5, 0x45, 0x46, 0x64, 0x2e, 0x99, 0x53, 0x20, 0x94, + 0x16, 0x53, 0x2a, 0xfb, 0x83, 0x52, 0xea, 0x33, 0xd8, 0x88, 0x5c, 0x52, 0x5d, 0x62, 0x8d, 0xc2, + 0xdc, 0xdc, 0x7f, 0x9e, 0x27, 0x35, 0x39, 0xd4, 0x53, 0x98, 0x9a, 0x52, 0xa1, 0x89, 0x36, 0x6e, + 0x02, 0xd8, 0x16, 0xb5, 0x87, 0xaa, 0x4e, 0x35, 0x53, 0x2a, 0xac, 0x88, 0x52, 0x97, 0x51, 0x16, + 0xa2, 0x64, 0x0b, 0x54, 0x33, 0xf1, 0x87, 0xb3, 0x54, 0x5b, 0x5b, 0x91, 0x29, 0xa7, 0x62, 0x91, + 0x2d, 0x64, 0xdb, 0x19, 0x54, 0x5c, 0xca, 0xf2, 0x9e, 0xea, 0xc1, 0xc8, 0x8a, 0xdc, 0x89, 0xda, + 0x73, 0x47, 0xa6, 0x04, 0x6a, 0x62, 0x60, 0xeb, 0x6e, 0xbc, 0x89, 0xdf, 0x80, 0x08, 0x50, 0x79, + 0x5a, 0x01, 0xdf, 0x85, 0xca, 0x21, 0xd8, 0x21, 0x13, 0xba, 0xf3, 0x15, 0x54, 0x92, 0xe1, 0xc1, + 0xdb, 0x90, 0xf3, 0x7c, 0xe2, 0xfa, 0x3c, 0x0b, 0x73, 0x8a, 0x68, 0x60, 0x04, 0x19, 0x6a, 0xe9, + 0x7c, 0x97, 0xcb, 0x29, 0xec, 0x2f, 0xfe, 0xe5, 0x6c, 0xc0, 0x19, 0x3e, 0xe0, 0xb7, 0x17, 0x67, + 0x34, 0x61, 0x79, 0x7e, 0xdc, 0x3b, 0x1f, 0xc0, 0x7a, 0x62, 0x00, 0x97, 0xed, 0xba, 0xfa, 0x5b, + 0x78, 0x79, 0xa9, 0x69, 0xfc, 0x19, 0x6c, 0x4f, 0x2d, 0xc3, 0xf2, 0xa9, 0xeb, 0xb8, 0x94, 0x65, + 0xac, 0xe8, 0x4a, 0xfa, 0xcf, 0xda, 0x8a, 0x9c, 0x3b, 0x8b, 0xb3, 0x85, 0x15, 0x65, 0x6b, 0xba, + 0x08, 0xde, 0x2e, 0x16, 0xfe, 0xbb, 0x86, 0x9e, 0x3d, 0x7b, 0xf6, 0x2c, 0x5d, 0xfd, 0x63, 0x1e, + 0xb6, 0x97, 0xad, 0x99, 0xa5, 0xcb, 0xf7, 0x0a, 0xe4, 0xad, 0xe9, 0xe4, 0x9c, 0xba, 0x3c, 0x48, + 0x39, 0x25, 0x68, 0xe1, 0x3a, 0xe4, 0x4c, 0x72, 0x4e, 0x4d, 0x29, 0xbb, 0x9b, 0xda, 0xab, 0x1c, + 0xbc, 0x73, 0xa9, 0x55, 0x59, 0x6b, 0x33, 0x15, 0x45, 0x68, 0xe2, 0x8f, 0x21, 0x1b, 0x6c, 0xd1, + 0xcc, 0xc2, 0xed, 0xcb, 0x59, 0x60, 0x6b, 0x49, 0xe1, 0x7a, 0xf8, 0x15, 0x28, 0xb2, 0x5f, 0x91, + 0x1b, 0x79, 0xee, 0x73, 0x81, 0x01, 0x2c, 0x2f, 0xf0, 0x0e, 0x14, 0xf8, 0x32, 0xd1, 0x69, 0x78, + 0xb4, 0x45, 0x6d, 0x96, 0x58, 0x3a, 0x1d, 0x92, 0xa9, 0xe9, 0xab, 0x8f, 0x89, 0x39, 0xa5, 0x3c, + 0xe1, 0x8b, 0x4a, 0x39, 0x00, 0x7f, 0xc3, 0x30, 0x7c, 0x1d, 0x4a, 0x62, 0x55, 0x19, 0x96, 0x4e, + 0x9f, 0xf2, 0xdd, 0x33, 0xa7, 0x88, 0x85, 0xd6, 0x62, 0x08, 0xeb, 0xfe, 0xa1, 0x67, 0x5b, 0x61, + 0x6a, 0xf2, 0x2e, 0x18, 0xc0, 0xbb, 0xff, 0x60, 0x7e, 0xe3, 0x7e, 0x6d, 0xf9, 0xf0, 0xe6, 0x73, + 0xaa, 0xfa, 0xb7, 0x34, 0x64, 0xf9, 0x7e, 0xb1, 0x01, 0xa5, 0xc1, 0xe7, 0x3d, 0x59, 0x6d, 0x76, + 0xcf, 0x8e, 0xda, 0x32, 0x4a, 0xe1, 0x0a, 0x00, 0x07, 0x1e, 0xb4, 0xbb, 0xf5, 0x01, 0x4a, 0x47, + 0xed, 0x56, 0x67, 0x70, 0xef, 0x0e, 0xca, 0x44, 0x0a, 0x67, 0x02, 0xc8, 0xc6, 0x09, 0xef, 0x1f, + 0xa0, 0x1c, 0x46, 0x50, 0x16, 0x06, 0x5a, 0x9f, 0xc9, 0xcd, 0x7b, 0x77, 0x50, 0x3e, 0x89, 0xbc, + 0x7f, 0x80, 0xd6, 0xf0, 0x3a, 0x14, 0x39, 0x72, 0xd4, 0xed, 0xb6, 0x51, 0x21, 0xb2, 0xd9, 0x1f, + 0x28, 0xad, 0xce, 0x31, 0x2a, 0x46, 0x36, 0x8f, 0x95, 0xee, 0x59, 0x0f, 0x41, 0x64, 0xe1, 0x54, + 0xee, 0xf7, 0xeb, 0xc7, 0x32, 0x2a, 0x45, 0x8c, 0xa3, 0xcf, 0x07, 0x72, 0x1f, 0x95, 0x13, 0x6e, + 0xbd, 0x7f, 0x80, 0xd6, 0xa3, 0x2e, 0xe4, 0xce, 0xd9, 0x29, 0xaa, 0xe0, 0x4d, 0x58, 0x17, 0x5d, + 0x84, 0x4e, 0x6c, 0xcc, 0x41, 0xf7, 0xee, 0x20, 0x34, 0x73, 0x44, 0x58, 0xd9, 0x4c, 0x00, 0xf7, + 0xee, 0x20, 0x5c, 0x6d, 0x40, 0x8e, 0x67, 0x17, 0xc6, 0x50, 0x69, 0xd7, 0x8f, 0xe4, 0xb6, 0xda, + 0xed, 0x0d, 0x5a, 0xdd, 0x4e, 0xbd, 0x8d, 0x52, 0x33, 0x4c, 0x91, 0x7f, 0x7d, 0xd6, 0x52, 0xe4, + 0x26, 0x4a, 0xc7, 0xb1, 0x9e, 0x5c, 0x1f, 0xc8, 0x4d, 0x94, 0xa9, 0x6a, 0xb0, 0xbd, 0x6c, 0x9f, + 0x5c, 0xba, 0x32, 0x62, 0x53, 0x9c, 0x5e, 0x31, 0xc5, 0xdc, 0xd6, 0xc2, 0x14, 0x7f, 0x9d, 0x82, + 0xad, 0x25, 0x67, 0xc5, 0xd2, 0x4e, 0x7e, 0x01, 0x39, 0x91, 0xa2, 0xe2, 0xf4, 0xbc, 0xb5, 0xf4, + 0xd0, 0xe1, 0x09, 0xbb, 0x70, 0x82, 0x72, 0xbd, 0x78, 0x05, 0x91, 0x59, 0x51, 0x41, 0x30, 0x13, + 0x0b, 0x4e, 0xfe, 0x2e, 0x05, 0xd2, 0x2a, 0xdb, 0xcf, 0xd9, 0x28, 0xd2, 0x89, 0x8d, 0xe2, 0xa3, + 0x79, 0x07, 0x6e, 0xac, 0x1e, 0xc3, 0x82, 0x17, 0xdf, 0xa4, 0xe0, 0xca, 0xf2, 0x42, 0x6b, 0xa9, + 0x0f, 0x1f, 0x43, 0x7e, 0x42, 0xfd, 0xb1, 0x1d, 0x16, 0x1b, 0x6f, 0x2f, 0x39, 0xc2, 0x98, 0x78, + 0x3e, 0x56, 0x81, 0x56, 0xfc, 0x0c, 0xcc, 0xac, 0xaa, 0x96, 0x84, 0x37, 0x0b, 0x9e, 0xfe, 0x3e, + 0x0d, 0x2f, 0x2f, 0x35, 0xbe, 0xd4, 0xd1, 0xd7, 0x00, 0x0c, 0xcb, 0x99, 0xfa, 0xa2, 0xa0, 0x10, + 0xfb, 0x53, 0x91, 0x23, 0x7c, 0xed, 0xb3, 0xbd, 0x67, 0xea, 0x47, 0xf2, 0x0c, 0x97, 0x83, 0x80, + 0x38, 0xe1, 0xfe, 0xcc, 0xd1, 0x2c, 0x77, 0xf4, 0xf5, 0x15, 0x23, 0x5d, 0x38, 0xab, 0xdf, 0x03, + 0xa4, 0x99, 0x06, 0xb5, 0x7c, 0xd5, 0xf3, 0x5d, 0x4a, 0x26, 0x86, 0x35, 0xe2, 0x1b, 0x70, 0xe1, + 0x30, 0x37, 0x24, 0xa6, 0x47, 0x95, 0x0d, 0x21, 0xee, 0x87, 0x52, 0xa6, 0xc1, 0xcf, 0x38, 0x37, + 0xa6, 0x91, 0x4f, 0x68, 0x08, 0x71, 0xa4, 0x51, 0xfd, 0xb6, 0x00, 0xa5, 0x58, 0x59, 0x8a, 0x6f, + 0x40, 0xf9, 0x21, 0x79, 0x4c, 0xd4, 0xf0, 0xaa, 0x21, 0x22, 0x51, 0x62, 0x58, 0x2f, 0xb8, 0x6e, + 0xbc, 0x07, 0xdb, 0x9c, 0x62, 0x4f, 0x7d, 0xea, 0xaa, 0x9a, 0x49, 0x3c, 0x8f, 0x07, 0xad, 0xc0, + 0xa9, 0x98, 0xc9, 0xba, 0x4c, 0xd4, 0x08, 0x25, 0xf8, 0x2e, 0x6c, 0x71, 0x8d, 0xc9, 0xd4, 0xf4, + 0x0d, 0xc7, 0xa4, 0x2a, 0xbb, 0xfc, 0x78, 0x7c, 0x23, 0x8e, 0x3c, 0xdb, 0x64, 0x8c, 0xd3, 0x80, + 0xc0, 0x3c, 0xf2, 0x70, 0x13, 0x5e, 0xe3, 0x6a, 0x23, 0x6a, 0x51, 0x97, 0xf8, 0x54, 0xa5, 0x5f, + 0x4e, 0x89, 0xe9, 0xa9, 0xc4, 0xd2, 0xd5, 0x31, 0xf1, 0xc6, 0xd2, 0x36, 0x33, 0x70, 0x94, 0x96, + 0x52, 0xca, 0x35, 0x46, 0x3c, 0x0e, 0x78, 0x32, 0xa7, 0xd5, 0x2d, 0xfd, 0x13, 0xe2, 0x8d, 0xf1, + 0x21, 0x5c, 0xe1, 0x56, 0x3c, 0xdf, 0x35, 0xac, 0x91, 0xaa, 0x8d, 0xa9, 0xf6, 0x48, 0x9d, 0xfa, + 0xc3, 0xfb, 0xd2, 0x2b, 0xf1, 0xfe, 0xb9, 0x87, 0x7d, 0xce, 0x69, 0x30, 0xca, 0x99, 0x3f, 0xbc, + 0x8f, 0xfb, 0x50, 0x66, 0x93, 0x31, 0x31, 0xbe, 0xa2, 0xea, 0xd0, 0x76, 0xf9, 0xc9, 0x52, 0x59, + 0xb2, 0xb2, 0x63, 0x11, 0xac, 0x75, 0x03, 0x85, 0x53, 0x5b, 0xa7, 0x87, 0xb9, 0x7e, 0x4f, 0x96, + 0x9b, 0x4a, 0x29, 0xb4, 0xf2, 0xc0, 0x76, 0x59, 0x42, 0x8d, 0xec, 0x28, 0xc0, 0x25, 0x91, 0x50, + 0x23, 0x3b, 0x0c, 0xef, 0x5d, 0xd8, 0xd2, 0x34, 0x31, 0x66, 0x43, 0x53, 0x83, 0x2b, 0x8a, 0x27, + 0xa1, 0x44, 0xb0, 0x34, 0xed, 0x58, 0x10, 0x82, 0x1c, 0xf7, 0xf0, 0x87, 0xf0, 0xf2, 0x2c, 0x58, + 0x71, 0xc5, 0xcd, 0x85, 0x51, 0xce, 0xab, 0xde, 0x85, 0x2d, 0xe7, 0x62, 0x51, 0x11, 0x27, 0x7a, + 0x74, 0x2e, 0xe6, 0xd5, 0x3e, 0x80, 0x6d, 0x67, 0xec, 0x2c, 0xea, 0xdd, 0x8e, 0xeb, 0x61, 0x67, + 0xec, 0xcc, 0x2b, 0xbe, 0xc5, 0xef, 0xab, 0x2e, 0xd5, 0x88, 0x4f, 0x75, 0xe9, 0x6a, 0x9c, 0x1e, + 0x13, 0xe0, 0x7d, 0x40, 0x9a, 0xa6, 0x52, 0x8b, 0x9c, 0x9b, 0x54, 0x25, 0x2e, 0xb5, 0x88, 0x27, + 0x5d, 0x8f, 0x93, 0x2b, 0x9a, 0x26, 0x73, 0x69, 0x9d, 0x0b, 0xf1, 0x6d, 0xd8, 0xb4, 0xcf, 0x1f, + 0x6a, 0x22, 0x25, 0x55, 0xc7, 0xa5, 0x43, 0xe3, 0xa9, 0xf4, 0x26, 0x8f, 0xef, 0x06, 0x13, 0xf0, + 0x84, 0xec, 0x71, 0x18, 0xdf, 0x02, 0xa4, 0x79, 0x63, 0xe2, 0x3a, 0xbc, 0x26, 0xf0, 0x1c, 0xa2, + 0x51, 0xe9, 0x2d, 0x41, 0x15, 0x78, 0x27, 0x84, 0xd9, 0x92, 0xf0, 0x9e, 0x18, 0x43, 0x3f, 0xb4, + 0x78, 0x53, 0x2c, 0x09, 0x8e, 0x05, 0xd6, 0xf6, 0x00, 0xb1, 0x50, 0x24, 0x3a, 0xde, 0xe3, 0xb4, + 0x8a, 0x33, 0x76, 0xe2, 0xfd, 0xbe, 0x01, 0xeb, 0x8c, 0x39, 0xeb, 0xf4, 0x96, 0xa8, 0x67, 0x9c, + 0x71, 0xac, 0xc7, 0x1f, 0xad, 0xb4, 0xac, 0x1e, 0x42, 0x39, 0x9e, 0x9f, 0xb8, 0x08, 0x22, 0x43, + 0x51, 0x8a, 0x9d, 0xf5, 0x8d, 0x6e, 0x93, 0x9d, 0xd2, 0x5f, 0xc8, 0x28, 0xcd, 0xaa, 0x85, 0x76, + 0x6b, 0x20, 0xab, 0xca, 0x59, 0x67, 0xd0, 0x3a, 0x95, 0x51, 0x26, 0x56, 0x96, 0x9e, 0x64, 0x0b, + 0x6f, 0xa3, 0x9b, 0xd5, 0xef, 0xd2, 0x50, 0x49, 0xde, 0x33, 0xf0, 0xcf, 0xe1, 0x6a, 0xf8, 0x28, + 0xe0, 0x51, 0x5f, 0x7d, 0x62, 0xb8, 0x7c, 0xe1, 0x4c, 0x88, 0xa8, 0xb3, 0xa3, 0xa9, 0xdb, 0x0e, + 0x58, 0x7d, 0xea, 0x7f, 0x6a, 0xb8, 0x6c, 0x59, 0x4c, 0x88, 0x8f, 0xdb, 0x70, 0xdd, 0xb2, 0x55, + 0xcf, 0x27, 0x96, 0x4e, 0x5c, 0x5d, 0x9d, 0x3d, 0xc7, 0xa8, 0x44, 0xd3, 0xa8, 0xe7, 0xd9, 0xe2, + 0xc0, 0x8a, 0xac, 0xbc, 0x6a, 0xd9, 0xfd, 0x80, 0x3c, 0xdb, 0xc9, 0xeb, 0x01, 0x75, 0x2e, 0xcd, + 0x32, 0xab, 0xd2, 0xec, 0x15, 0x28, 0x4e, 0x88, 0xa3, 0x52, 0xcb, 0x77, 0x2f, 0x78, 0x75, 0x59, + 0x50, 0x0a, 0x13, 0xe2, 0xc8, 0xac, 0xfd, 0x42, 0x8a, 0xfc, 0x93, 0x6c, 0xa1, 0x80, 0x8a, 0x27, + 0xd9, 0x42, 0x11, 0x41, 0xf5, 0x5f, 0x19, 0x28, 0xc7, 0xab, 0x4d, 0x56, 0xbc, 0x6b, 0xfc, 0x64, + 0x49, 0xf1, 0xbd, 0xe7, 0x8d, 0xef, 0xad, 0x4d, 0x6b, 0x0d, 0x76, 0xe4, 0x1c, 0xe6, 0x45, 0x0d, + 0xa8, 0x08, 0x4d, 0x76, 0xdc, 0xb3, 0xdd, 0x86, 0x8a, 0x7b, 0x4d, 0x41, 0x09, 0x5a, 0xf8, 0x18, + 0xf2, 0x0f, 0x3d, 0x6e, 0x3b, 0xcf, 0x6d, 0xbf, 0xf9, 0xfd, 0xb6, 0x4f, 0xfa, 0xdc, 0x78, 0xf1, + 0xa4, 0xaf, 0x76, 0xba, 0xca, 0x69, 0xbd, 0xad, 0x04, 0xea, 0xf8, 0x1a, 0x64, 0x4d, 0xf2, 0xd5, + 0x45, 0xf2, 0x70, 0xe2, 0xd0, 0x65, 0x27, 0xe1, 0x1a, 0x64, 0x9f, 0x50, 0xf2, 0x28, 0x79, 0x24, + 0x70, 0xe8, 0x47, 0x5c, 0x0c, 0xfb, 0x90, 0xe3, 0xf1, 0xc2, 0x00, 0x41, 0xc4, 0xd0, 0x4b, 0xb8, + 0x00, 0xd9, 0x46, 0x57, 0x61, 0x0b, 0x02, 0x41, 0x59, 0xa0, 0x6a, 0xaf, 0x25, 0x37, 0x64, 0x94, + 0xae, 0xde, 0x85, 0xbc, 0x08, 0x02, 0x5b, 0x2c, 0x51, 0x18, 0xd0, 0x4b, 0x41, 0x33, 0xb0, 0x91, + 0x0a, 0xa5, 0x67, 0xa7, 0x47, 0xb2, 0x82, 0xd2, 0xc9, 0xa9, 0xce, 0xa2, 0x5c, 0xd5, 0x83, 0x72, + 0xbc, 0xdc, 0x7c, 0x31, 0x57, 0xc9, 0xbf, 0xa7, 0xa0, 0x14, 0x2b, 0x1f, 0x59, 0xe1, 0x42, 0x4c, + 0xd3, 0x7e, 0xa2, 0x12, 0xd3, 0x20, 0x5e, 0x90, 0x1a, 0xc0, 0xa1, 0x3a, 0x43, 0x2e, 0x3b, 0x75, + 0x2f, 0x68, 0x89, 0xe4, 0x50, 0xbe, 0xfa, 0x97, 0x14, 0xa0, 0xf9, 0x02, 0x74, 0xce, 0xcd, 0xd4, + 0x4f, 0xe9, 0x66, 0xf5, 0xcf, 0x29, 0xa8, 0x24, 0xab, 0xce, 0x39, 0xf7, 0x6e, 0xfc, 0xa4, 0xee, + 0xfd, 0x33, 0x0d, 0xeb, 0x89, 0x5a, 0xf3, 0xb2, 0xde, 0x7d, 0x09, 0x9b, 0x86, 0x4e, 0x27, 0x8e, + 0xed, 0x53, 0x4b, 0xbb, 0x50, 0x4d, 0xfa, 0x98, 0x9a, 0x52, 0x95, 0x6f, 0x1a, 0xfb, 0xdf, 0x5f, + 0xcd, 0xd6, 0x5a, 0x33, 0xbd, 0x36, 0x53, 0x3b, 0xdc, 0x6a, 0x35, 0xe5, 0xd3, 0x5e, 0x77, 0x20, + 0x77, 0x1a, 0x9f, 0xab, 0x67, 0x9d, 0x5f, 0x75, 0xba, 0x9f, 0x76, 0x14, 0x64, 0xcc, 0xd1, 0x7e, + 0xc4, 0x65, 0xdf, 0x03, 0x34, 0xef, 0x14, 0xbe, 0x0a, 0xcb, 0xdc, 0x42, 0x2f, 0xe1, 0x2d, 0xd8, + 0xe8, 0x74, 0xd5, 0x7e, 0xab, 0x29, 0xab, 0xf2, 0x83, 0x07, 0x72, 0x63, 0xd0, 0x17, 0xd7, 0xfb, + 0x88, 0x3d, 0x48, 0x2c, 0xf0, 0xea, 0x9f, 0x32, 0xb0, 0xb5, 0xc4, 0x13, 0x5c, 0x0f, 0x6e, 0x16, + 0xe2, 0xb2, 0xf3, 0xee, 0x65, 0xbc, 0xaf, 0xb1, 0x82, 0xa0, 0x47, 0x5c, 0x3f, 0xb8, 0x88, 0xdc, + 0x02, 0x16, 0x25, 0xcb, 0x37, 0x86, 0x06, 0x75, 0x83, 0xd7, 0x10, 0x71, 0xdd, 0xd8, 0x98, 0xe1, + 0xe2, 0x41, 0xe4, 0x67, 0x80, 0x1d, 0xdb, 0x33, 0x7c, 0xe3, 0x31, 0x55, 0x0d, 0x2b, 0x7c, 0x3a, + 0x61, 0xd7, 0x8f, 0xac, 0x82, 0x42, 0x49, 0xcb, 0xf2, 0x23, 0xb6, 0x45, 0x47, 0x64, 0x8e, 0xcd, + 0x36, 0xf3, 0x8c, 0x82, 0x42, 0x49, 0xc4, 0xbe, 0x01, 0x65, 0xdd, 0x9e, 0xb2, 0x9a, 0x4c, 0xf0, + 0xd8, 0xd9, 0x91, 0x52, 0x4a, 0x02, 0x8b, 0x28, 0x41, 0xb5, 0x3d, 0x7b, 0xb3, 0x29, 0x2b, 0x25, + 0x81, 0x09, 0xca, 0x4d, 0xd8, 0x20, 0xa3, 0x91, 0xcb, 0x8c, 0x87, 0x86, 0xc4, 0xfd, 0xa1, 0x12, + 0xc1, 0x9c, 0xb8, 0x73, 0x02, 0x85, 0x30, 0x0e, 0xec, 0xa8, 0x66, 0x91, 0x50, 0x1d, 0xf1, 0x6e, + 0x97, 0xde, 0x2b, 0x2a, 0x05, 0x2b, 0x14, 0xde, 0x80, 0xb2, 0xe1, 0xa9, 0xb3, 0x27, 0xe8, 0xf4, + 0x6e, 0x7a, 0xaf, 0xa0, 0x94, 0x0c, 0x2f, 0x7a, 0xbe, 0xab, 0x7e, 0x93, 0x86, 0x4a, 0xf2, 0x09, + 0x1d, 0x37, 0xa1, 0x60, 0xda, 0x1a, 0xe1, 0xa9, 0x25, 0xbe, 0xdf, 0xec, 0x3d, 0xe7, 0xd5, 0xbd, + 0xd6, 0x0e, 0xf8, 0x4a, 0xa4, 0xb9, 0xf3, 0x8f, 0x14, 0x14, 0x42, 0x18, 0x5f, 0x81, 0xac, 0x43, + 0xfc, 0x31, 0x37, 0x97, 0x3b, 0x4a, 0xa3, 0x94, 0xc2, 0xdb, 0x0c, 0xf7, 0x1c, 0x62, 0xf1, 0x14, + 0x08, 0x70, 0xd6, 0x66, 0xf3, 0x6a, 0x52, 0xa2, 0xf3, 0xcb, 0x89, 0x3d, 0x99, 0x50, 0xcb, 0xf7, + 0xc2, 0x79, 0x0d, 0xf0, 0x46, 0x00, 0xe3, 0x77, 0x60, 0xd3, 0x77, 0x89, 0x61, 0x26, 0xb8, 0x59, + 0xce, 0x45, 0xa1, 0x20, 0x22, 0x1f, 0xc2, 0xb5, 0xd0, 0xae, 0x4e, 0x7d, 0xa2, 0x8d, 0xa9, 0x3e, + 0x53, 0xca, 0xf3, 0xf7, 0xd9, 0xab, 0x01, 0xa1, 0x19, 0xc8, 0x43, 0xdd, 0xea, 0x77, 0x29, 0xd8, + 0x0c, 0xaf, 0x53, 0x7a, 0x14, 0xac, 0x53, 0x00, 0x62, 0x59, 0xb6, 0x1f, 0x0f, 0xd7, 0x62, 0x2a, + 0x2f, 0xe8, 0xd5, 0xea, 0x91, 0x92, 0x12, 0x33, 0xb0, 0x33, 0x01, 0x98, 0x49, 0x56, 0x86, 0xed, + 0x3a, 0x94, 0x82, 0xef, 0x23, 0xfc, 0x23, 0x9b, 0xb8, 0x80, 0x83, 0x80, 0xd8, 0xbd, 0x0b, 0x6f, + 0x43, 0xee, 0x9c, 0x8e, 0x0c, 0x2b, 0x78, 0xf5, 0x14, 0x8d, 0xf0, 0x25, 0x37, 0x1b, 0xbd, 0xe4, + 0x1e, 0xfd, 0x21, 0x05, 0x5b, 0x9a, 0x3d, 0x99, 0xf7, 0xf7, 0x08, 0xcd, 0xbd, 0x02, 0x78, 0x9f, + 0xa4, 0xbe, 0xf8, 0x78, 0x64, 0xf8, 0xe3, 0xe9, 0x79, 0x4d, 0xb3, 0x27, 0xfb, 0x23, 0xdb, 0x24, + 0xd6, 0x68, 0xf6, 0x95, 0x90, 0xff, 0xd1, 0xde, 0x1d, 0x51, 0xeb, 0xdd, 0x91, 0x1d, 0xfb, 0x66, + 0xf8, 0xd1, 0xec, 0xef, 0xd7, 0xe9, 0xcc, 0x71, 0xef, 0xe8, 0xaf, 0xe9, 0x9d, 0x63, 0xd1, 0x57, + 0x2f, 0x8c, 0x8d, 0x42, 0x87, 0x26, 0xd5, 0xd8, 0x78, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0x0c, + 0xab, 0xb6, 0x37, 0x7e, 0x1c, 0x00, 0x00, } diff --git a/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.proto b/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.proto new file mode 100644 index 000000000..4d4fb378f --- /dev/null +++ b/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.proto @@ -0,0 +1,849 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// The messages in this file describe the definitions found in .proto files. +// A valid .proto file can be translated directly to a FileDescriptorProto +// without any other information (e.g. without reading its imports). + + +syntax = "proto2"; + +package google.protobuf; +option go_package = "github.com/golang/protobuf/protoc-gen-go/descriptor;descriptor"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "DescriptorProtos"; +option csharp_namespace = "Google.Protobuf.Reflection"; +option objc_class_prefix = "GPB"; + +// descriptor.proto must be optimized for speed because reflection-based +// algorithms don't work during bootstrapping. +option optimize_for = SPEED; + +// The protocol compiler can output a FileDescriptorSet containing the .proto +// files it parses. +message FileDescriptorSet { + repeated FileDescriptorProto file = 1; +} + +// Describes a complete .proto file. +message FileDescriptorProto { + optional string name = 1; // file name, relative to root of source tree + optional string package = 2; // e.g. "foo", "foo.bar", etc. + + // Names of files imported by this file. + repeated string dependency = 3; + // Indexes of the public imported files in the dependency list above. + repeated int32 public_dependency = 10; + // Indexes of the weak imported files in the dependency list. + // For Google-internal migration only. Do not use. + repeated int32 weak_dependency = 11; + + // All top-level definitions in this file. + repeated DescriptorProto message_type = 4; + repeated EnumDescriptorProto enum_type = 5; + repeated ServiceDescriptorProto service = 6; + repeated FieldDescriptorProto extension = 7; + + optional FileOptions options = 8; + + // This field contains optional information about the original source code. + // You may safely remove this entire field without harming runtime + // functionality of the descriptors -- the information is needed only by + // development tools. + optional SourceCodeInfo source_code_info = 9; + + // The syntax of the proto file. + // The supported values are "proto2" and "proto3". + optional string syntax = 12; +} + +// Describes a message type. +message DescriptorProto { + optional string name = 1; + + repeated FieldDescriptorProto field = 2; + repeated FieldDescriptorProto extension = 6; + + repeated DescriptorProto nested_type = 3; + repeated EnumDescriptorProto enum_type = 4; + + message ExtensionRange { + optional int32 start = 1; + optional int32 end = 2; + + optional ExtensionRangeOptions options = 3; + } + repeated ExtensionRange extension_range = 5; + + repeated OneofDescriptorProto oneof_decl = 8; + + optional MessageOptions options = 7; + + // Range of reserved tag numbers. Reserved tag numbers may not be used by + // fields or extension ranges in the same message. Reserved ranges may + // not overlap. + message ReservedRange { + optional int32 start = 1; // Inclusive. + optional int32 end = 2; // Exclusive. + } + repeated ReservedRange reserved_range = 9; + // Reserved field names, which may not be used by fields in the same message. + // A given name may only be reserved once. + repeated string reserved_name = 10; +} + +message ExtensionRangeOptions { + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +// Describes a field within a message. +message FieldDescriptorProto { + enum Type { + // 0 is reserved for errors. + // Order is weird for historical reasons. + TYPE_DOUBLE = 1; + TYPE_FLOAT = 2; + // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if + // negative values are likely. + TYPE_INT64 = 3; + TYPE_UINT64 = 4; + // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if + // negative values are likely. + TYPE_INT32 = 5; + TYPE_FIXED64 = 6; + TYPE_FIXED32 = 7; + TYPE_BOOL = 8; + TYPE_STRING = 9; + // Tag-delimited aggregate. + // Group type is deprecated and not supported in proto3. However, Proto3 + // implementations should still be able to parse the group wire format and + // treat group fields as unknown fields. + TYPE_GROUP = 10; + TYPE_MESSAGE = 11; // Length-delimited aggregate. + + // New in version 2. + TYPE_BYTES = 12; + TYPE_UINT32 = 13; + TYPE_ENUM = 14; + TYPE_SFIXED32 = 15; + TYPE_SFIXED64 = 16; + TYPE_SINT32 = 17; // Uses ZigZag encoding. + TYPE_SINT64 = 18; // Uses ZigZag encoding. + }; + + enum Label { + // 0 is reserved for errors + LABEL_OPTIONAL = 1; + LABEL_REQUIRED = 2; + LABEL_REPEATED = 3; + }; + + optional string name = 1; + optional int32 number = 3; + optional Label label = 4; + + // If type_name is set, this need not be set. If both this and type_name + // are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. + optional Type type = 5; + + // For message and enum types, this is the name of the type. If the name + // starts with a '.', it is fully-qualified. Otherwise, C++-like scoping + // rules are used to find the type (i.e. first the nested types within this + // message are searched, then within the parent, on up to the root + // namespace). + optional string type_name = 6; + + // For extensions, this is the name of the type being extended. It is + // resolved in the same manner as type_name. + optional string extendee = 2; + + // For numeric types, contains the original text representation of the value. + // For booleans, "true" or "false". + // For strings, contains the default text contents (not escaped in any way). + // For bytes, contains the C escaped value. All bytes >= 128 are escaped. + // TODO(kenton): Base-64 encode? + optional string default_value = 7; + + // If set, gives the index of a oneof in the containing type's oneof_decl + // list. This field is a member of that oneof. + optional int32 oneof_index = 9; + + // JSON name of this field. The value is set by protocol compiler. If the + // user has set a "json_name" option on this field, that option's value + // will be used. Otherwise, it's deduced from the field's name by converting + // it to camelCase. + optional string json_name = 10; + + optional FieldOptions options = 8; +} + +// Describes a oneof. +message OneofDescriptorProto { + optional string name = 1; + optional OneofOptions options = 2; +} + +// Describes an enum type. +message EnumDescriptorProto { + optional string name = 1; + + repeated EnumValueDescriptorProto value = 2; + + optional EnumOptions options = 3; +} + +// Describes a value within an enum. +message EnumValueDescriptorProto { + optional string name = 1; + optional int32 number = 2; + + optional EnumValueOptions options = 3; +} + +// Describes a service. +message ServiceDescriptorProto { + optional string name = 1; + repeated MethodDescriptorProto method = 2; + + optional ServiceOptions options = 3; +} + +// Describes a method of a service. +message MethodDescriptorProto { + optional string name = 1; + + // Input and output type names. These are resolved in the same way as + // FieldDescriptorProto.type_name, but must refer to a message type. + optional string input_type = 2; + optional string output_type = 3; + + optional MethodOptions options = 4; + + // Identifies if client streams multiple client messages + optional bool client_streaming = 5 [default=false]; + // Identifies if server streams multiple server messages + optional bool server_streaming = 6 [default=false]; +} + + +// =================================================================== +// Options + +// Each of the definitions above may have "options" attached. These are +// just annotations which may cause code to be generated slightly differently +// or may contain hints for code that manipulates protocol messages. +// +// Clients may define custom options as extensions of the *Options messages. +// These extensions may not yet be known at parsing time, so the parser cannot +// store the values in them. Instead it stores them in a field in the *Options +// message called uninterpreted_option. This field must have the same name +// across all *Options messages. We then use this field to populate the +// extensions when we build a descriptor, at which point all protos have been +// parsed and so all extensions are known. +// +// Extension numbers for custom options may be chosen as follows: +// * For options which will only be used within a single application or +// organization, or for experimental options, use field numbers 50000 +// through 99999. It is up to you to ensure that you do not use the +// same number for multiple options. +// * For options which will be published and used publicly by multiple +// independent entities, e-mail protobuf-global-extension-registry@google.com +// to reserve extension numbers. Simply provide your project name (e.g. +// Objective-C plugin) and your project website (if available) -- there's no +// need to explain how you intend to use them. Usually you only need one +// extension number. You can declare multiple options with only one extension +// number by putting them in a sub-message. See the Custom Options section of +// the docs for examples: +// https://developers.google.com/protocol-buffers/docs/proto#options +// If this turns out to be popular, a web service will be set up +// to automatically assign option numbers. + + +message FileOptions { + + // Sets the Java package where classes generated from this .proto will be + // placed. By default, the proto package is used, but this is often + // inappropriate because proto packages do not normally start with backwards + // domain names. + optional string java_package = 1; + + + // If set, all the classes from the .proto file are wrapped in a single + // outer class with the given name. This applies to both Proto1 + // (equivalent to the old "--one_java_file" option) and Proto2 (where + // a .proto always translates to a single class, but you may want to + // explicitly choose the class name). + optional string java_outer_classname = 8; + + // If set true, then the Java code generator will generate a separate .java + // file for each top-level message, enum, and service defined in the .proto + // file. Thus, these types will *not* be nested inside the outer class + // named by java_outer_classname. However, the outer class will still be + // generated to contain the file's getDescriptor() method as well as any + // top-level extensions defined in the file. + optional bool java_multiple_files = 10 [default=false]; + + // This option does nothing. + optional bool java_generate_equals_and_hash = 20 [deprecated=true]; + + // If set true, then the Java2 code generator will generate code that + // throws an exception whenever an attempt is made to assign a non-UTF-8 + // byte sequence to a string field. + // Message reflection will do the same. + // However, an extension field still accepts non-UTF-8 byte sequences. + // This option has no effect on when used with the lite runtime. + optional bool java_string_check_utf8 = 27 [default=false]; + + + // Generated classes can be optimized for speed or code size. + enum OptimizeMode { + SPEED = 1; // Generate complete code for parsing, serialization, + // etc. + CODE_SIZE = 2; // Use ReflectionOps to implement these methods. + LITE_RUNTIME = 3; // Generate code using MessageLite and the lite runtime. + } + optional OptimizeMode optimize_for = 9 [default=SPEED]; + + // Sets the Go package where structs generated from this .proto will be + // placed. If omitted, the Go package will be derived from the following: + // - The basename of the package import path, if provided. + // - Otherwise, the package statement in the .proto file, if present. + // - Otherwise, the basename of the .proto file, without extension. + optional string go_package = 11; + + + + // Should generic services be generated in each language? "Generic" services + // are not specific to any particular RPC system. They are generated by the + // main code generators in each language (without additional plugins). + // Generic services were the only kind of service generation supported by + // early versions of google.protobuf. + // + // Generic services are now considered deprecated in favor of using plugins + // that generate code specific to your particular RPC system. Therefore, + // these default to false. Old code which depends on generic services should + // explicitly set them to true. + optional bool cc_generic_services = 16 [default=false]; + optional bool java_generic_services = 17 [default=false]; + optional bool py_generic_services = 18 [default=false]; + optional bool php_generic_services = 42 [default=false]; + + // Is this file deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for everything in the file, or it will be completely ignored; in the very + // least, this is a formalization for deprecating files. + optional bool deprecated = 23 [default=false]; + + // Enables the use of arenas for the proto messages in this file. This applies + // only to generated classes for C++. + optional bool cc_enable_arenas = 31 [default=false]; + + + // Sets the objective c class prefix which is prepended to all objective c + // generated classes from this .proto. There is no default. + optional string objc_class_prefix = 36; + + // Namespace for generated classes; defaults to the package. + optional string csharp_namespace = 37; + + // By default Swift generators will take the proto package and CamelCase it + // replacing '.' with underscore and use that to prefix the types/symbols + // defined. When this options is provided, they will use this value instead + // to prefix the types/symbols defined. + optional string swift_prefix = 39; + + // Sets the php class prefix which is prepended to all php generated classes + // from this .proto. Default is empty. + optional string php_class_prefix = 40; + + // Use this option to change the namespace of php generated classes. Default + // is empty. When this option is empty, the package name will be used for + // determining the namespace. + optional string php_namespace = 41; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; + + reserved 38; +} + +message MessageOptions { + // Set true to use the old proto1 MessageSet wire format for extensions. + // This is provided for backwards-compatibility with the MessageSet wire + // format. You should not use this for any other reason: It's less + // efficient, has fewer features, and is more complicated. + // + // The message must be defined exactly as follows: + // message Foo { + // option message_set_wire_format = true; + // extensions 4 to max; + // } + // Note that the message cannot have any defined fields; MessageSets only + // have extensions. + // + // All extensions of your type must be singular messages; e.g. they cannot + // be int32s, enums, or repeated messages. + // + // Because this is an option, the above two restrictions are not enforced by + // the protocol compiler. + optional bool message_set_wire_format = 1 [default=false]; + + // Disables the generation of the standard "descriptor()" accessor, which can + // conflict with a field of the same name. This is meant to make migration + // from proto1 easier; new code should avoid fields named "descriptor". + optional bool no_standard_descriptor_accessor = 2 [default=false]; + + // Is this message deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the message, or it will be completely ignored; in the very least, + // this is a formalization for deprecating messages. + optional bool deprecated = 3 [default=false]; + + // Whether the message is an automatically generated map entry type for the + // maps field. + // + // For maps fields: + // map map_field = 1; + // The parsed descriptor looks like: + // message MapFieldEntry { + // option map_entry = true; + // optional KeyType key = 1; + // optional ValueType value = 2; + // } + // repeated MapFieldEntry map_field = 1; + // + // Implementations may choose not to generate the map_entry=true message, but + // use a native map in the target language to hold the keys and values. + // The reflection APIs in such implementions still need to work as + // if the field is a repeated message field. + // + // NOTE: Do not set the option in .proto files. Always use the maps syntax + // instead. The option should only be implicitly set by the proto compiler + // parser. + optional bool map_entry = 7; + + reserved 8; // javalite_serializable + reserved 9; // javanano_as_lite + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message FieldOptions { + // The ctype option instructs the C++ code generator to use a different + // representation of the field than it normally would. See the specific + // options below. This option is not yet implemented in the open source + // release -- sorry, we'll try to include it in a future version! + optional CType ctype = 1 [default = STRING]; + enum CType { + // Default mode. + STRING = 0; + + CORD = 1; + + STRING_PIECE = 2; + } + // The packed option can be enabled for repeated primitive fields to enable + // a more efficient representation on the wire. Rather than repeatedly + // writing the tag and type for each element, the entire array is encoded as + // a single length-delimited blob. In proto3, only explicit setting it to + // false will avoid using packed encoding. + optional bool packed = 2; + + // The jstype option determines the JavaScript type used for values of the + // field. The option is permitted only for 64 bit integral and fixed types + // (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING + // is represented as JavaScript string, which avoids loss of precision that + // can happen when a large value is converted to a floating point JavaScript. + // Specifying JS_NUMBER for the jstype causes the generated JavaScript code to + // use the JavaScript "number" type. The behavior of the default option + // JS_NORMAL is implementation dependent. + // + // This option is an enum to permit additional types to be added, e.g. + // goog.math.Integer. + optional JSType jstype = 6 [default = JS_NORMAL]; + enum JSType { + // Use the default type. + JS_NORMAL = 0; + + // Use JavaScript strings. + JS_STRING = 1; + + // Use JavaScript numbers. + JS_NUMBER = 2; + } + + // Should this field be parsed lazily? Lazy applies only to message-type + // fields. It means that when the outer message is initially parsed, the + // inner message's contents will not be parsed but instead stored in encoded + // form. The inner message will actually be parsed when it is first accessed. + // + // This is only a hint. Implementations are free to choose whether to use + // eager or lazy parsing regardless of the value of this option. However, + // setting this option true suggests that the protocol author believes that + // using lazy parsing on this field is worth the additional bookkeeping + // overhead typically needed to implement it. + // + // This option does not affect the public interface of any generated code; + // all method signatures remain the same. Furthermore, thread-safety of the + // interface is not affected by this option; const methods remain safe to + // call from multiple threads concurrently, while non-const methods continue + // to require exclusive access. + // + // + // Note that implementations may choose not to check required fields within + // a lazy sub-message. That is, calling IsInitialized() on the outer message + // may return true even if the inner message has missing required fields. + // This is necessary because otherwise the inner message would have to be + // parsed in order to perform the check, defeating the purpose of lazy + // parsing. An implementation which chooses not to check required fields + // must be consistent about it. That is, for any particular sub-message, the + // implementation must either *always* check its required fields, or *never* + // check its required fields, regardless of whether or not the message has + // been parsed. + optional bool lazy = 5 [default=false]; + + // Is this field deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for accessors, or it will be completely ignored; in the very least, this + // is a formalization for deprecating fields. + optional bool deprecated = 3 [default=false]; + + // For Google-internal migration only. Do not use. + optional bool weak = 10 [default=false]; + + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; + + reserved 4; // removed jtype +} + +message OneofOptions { + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message EnumOptions { + + // Set this option to true to allow mapping different tag names to the same + // value. + optional bool allow_alias = 2; + + // Is this enum deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the enum, or it will be completely ignored; in the very least, this + // is a formalization for deprecating enums. + optional bool deprecated = 3 [default=false]; + + reserved 5; // javanano_as_lite + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message EnumValueOptions { + // Is this enum value deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the enum value, or it will be completely ignored; in the very least, + // this is a formalization for deprecating enum values. + optional bool deprecated = 1 [default=false]; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message ServiceOptions { + + // Note: Field numbers 1 through 32 are reserved for Google's internal RPC + // framework. We apologize for hoarding these numbers to ourselves, but + // we were already using them long before we decided to release Protocol + // Buffers. + + // Is this service deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the service, or it will be completely ignored; in the very least, + // this is a formalization for deprecating services. + optional bool deprecated = 33 [default=false]; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message MethodOptions { + + // Note: Field numbers 1 through 32 are reserved for Google's internal RPC + // framework. We apologize for hoarding these numbers to ourselves, but + // we were already using them long before we decided to release Protocol + // Buffers. + + // Is this method deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the method, or it will be completely ignored; in the very least, + // this is a formalization for deprecating methods. + optional bool deprecated = 33 [default=false]; + + // Is this method side-effect-free (or safe in HTTP parlance), or idempotent, + // or neither? HTTP based RPC implementation may choose GET verb for safe + // methods, and PUT verb for idempotent methods instead of the default POST. + enum IdempotencyLevel { + IDEMPOTENCY_UNKNOWN = 0; + NO_SIDE_EFFECTS = 1; // implies idempotent + IDEMPOTENT = 2; // idempotent, but may have side effects + } + optional IdempotencyLevel idempotency_level = + 34 [default=IDEMPOTENCY_UNKNOWN]; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + + +// A message representing a option the parser does not recognize. This only +// appears in options protos created by the compiler::Parser class. +// DescriptorPool resolves these when building Descriptor objects. Therefore, +// options protos in descriptor objects (e.g. returned by Descriptor::options(), +// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions +// in them. +message UninterpretedOption { + // 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). + // E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents + // "foo.(bar.baz).qux". + message NamePart { + required string name_part = 1; + required bool is_extension = 2; + } + repeated NamePart name = 2; + + // The value of the uninterpreted option, in whatever type the tokenizer + // identified it as during parsing. Exactly one of these should be set. + optional string identifier_value = 3; + optional uint64 positive_int_value = 4; + optional int64 negative_int_value = 5; + optional double double_value = 6; + optional bytes string_value = 7; + optional string aggregate_value = 8; +} + +// =================================================================== +// Optional source code info + +// Encapsulates information about the original source file from which a +// FileDescriptorProto was generated. +message SourceCodeInfo { + // A Location identifies a piece of source code in a .proto file which + // corresponds to a particular definition. This information is intended + // to be useful to IDEs, code indexers, documentation generators, and similar + // tools. + // + // For example, say we have a file like: + // message Foo { + // optional string foo = 1; + // } + // Let's look at just the field definition: + // optional string foo = 1; + // ^ ^^ ^^ ^ ^^^ + // a bc de f ghi + // We have the following locations: + // span path represents + // [a,i) [ 4, 0, 2, 0 ] The whole field definition. + // [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). + // [c,d) [ 4, 0, 2, 0, 5 ] The type (string). + // [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). + // [g,h) [ 4, 0, 2, 0, 3 ] The number (1). + // + // Notes: + // - A location may refer to a repeated field itself (i.e. not to any + // particular index within it). This is used whenever a set of elements are + // logically enclosed in a single code segment. For example, an entire + // extend block (possibly containing multiple extension definitions) will + // have an outer location whose path refers to the "extensions" repeated + // field without an index. + // - Multiple locations may have the same path. This happens when a single + // logical declaration is spread out across multiple places. The most + // obvious example is the "extend" block again -- there may be multiple + // extend blocks in the same scope, each of which will have the same path. + // - A location's span is not always a subset of its parent's span. For + // example, the "extendee" of an extension declaration appears at the + // beginning of the "extend" block and is shared by all extensions within + // the block. + // - Just because a location's span is a subset of some other location's span + // does not mean that it is a descendent. For example, a "group" defines + // both a type and a field in a single declaration. Thus, the locations + // corresponding to the type and field and their components will overlap. + // - Code which tries to interpret locations should probably be designed to + // ignore those that it doesn't understand, as more types of locations could + // be recorded in the future. + repeated Location location = 1; + message Location { + // Identifies which part of the FileDescriptorProto was defined at this + // location. + // + // Each element is a field number or an index. They form a path from + // the root FileDescriptorProto to the place where the definition. For + // example, this path: + // [ 4, 3, 2, 7, 1 ] + // refers to: + // file.message_type(3) // 4, 3 + // .field(7) // 2, 7 + // .name() // 1 + // This is because FileDescriptorProto.message_type has field number 4: + // repeated DescriptorProto message_type = 4; + // and DescriptorProto.field has field number 2: + // repeated FieldDescriptorProto field = 2; + // and FieldDescriptorProto.name has field number 1: + // optional string name = 1; + // + // Thus, the above path gives the location of a field name. If we removed + // the last element: + // [ 4, 3, 2, 7 ] + // this path refers to the whole field declaration (from the beginning + // of the label to the terminating semicolon). + repeated int32 path = 1 [packed=true]; + + // Always has exactly three or four elements: start line, start column, + // end line (optional, otherwise assumed same as start line), end column. + // These are packed into a single field for efficiency. Note that line + // and column numbers are zero-based -- typically you will want to add + // 1 to each before displaying to a user. + repeated int32 span = 2 [packed=true]; + + // If this SourceCodeInfo represents a complete declaration, these are any + // comments appearing before and after the declaration which appear to be + // attached to the declaration. + // + // A series of line comments appearing on consecutive lines, with no other + // tokens appearing on those lines, will be treated as a single comment. + // + // leading_detached_comments will keep paragraphs of comments that appear + // before (but not connected to) the current element. Each paragraph, + // separated by empty lines, will be one comment element in the repeated + // field. + // + // Only the comment content is provided; comment markers (e.g. //) are + // stripped out. For block comments, leading whitespace and an asterisk + // will be stripped from the beginning of each line other than the first. + // Newlines are included in the output. + // + // Examples: + // + // optional int32 foo = 1; // Comment attached to foo. + // // Comment attached to bar. + // optional int32 bar = 2; + // + // optional string baz = 3; + // // Comment attached to baz. + // // Another line attached to baz. + // + // // Comment attached to qux. + // // + // // Another line attached to qux. + // optional double qux = 4; + // + // // Detached comment for corge. This is not leading or trailing comments + // // to qux or corge because there are blank lines separating it from + // // both. + // + // // Detached comment for corge paragraph 2. + // + // optional string corge = 5; + // /* Block comment attached + // * to corge. Leading asterisks + // * will be removed. */ + // /* Block comment attached to + // * grault. */ + // optional int32 grault = 6; + // + // // ignored detached comments. + optional string leading_comments = 3; + optional string trailing_comments = 4; + repeated string leading_detached_comments = 6; + } +} + +// Describes the relationship between generated code and its original source +// file. A GeneratedCodeInfo message is associated with only one generated +// source file, but may contain references to different source .proto files. +message GeneratedCodeInfo { + // An Annotation connects some span of text in generated code to an element + // of its generating .proto file. + repeated Annotation annotation = 1; + message Annotation { + // Identifies the element in the original source .proto file. This field + // is formatted the same as SourceCodeInfo.Location.path. + repeated int32 path = 1 [packed=true]; + + // Identifies the filesystem path to the original source .proto. + optional string source_file = 2; + + // Identifies the starting offset in bytes in the generated code + // that relates to the identified object. + optional int32 begin = 3; + + // Identifies the ending offset in bytes in the generated code that + // relates to the identified offset. The end offset should be one past + // the last relevant byte (so the length of the text = end - begin). + optional int32 end = 4; + } +} diff --git a/vendor/github.com/golang/protobuf/protoc-gen-go/generator/generator.go b/vendor/github.com/golang/protobuf/protoc-gen-go/generator/generator.go index 211ab5d3a..60d524645 100644 --- a/vendor/github.com/golang/protobuf/protoc-gen-go/generator/generator.go +++ b/vendor/github.com/golang/protobuf/protoc-gen-go/generator/generator.go @@ -1984,7 +1984,7 @@ func (g *Generator) generateMessage(message *Descriptor) { case typename == "string": def = strconv.Quote(def) case typename == "[]byte": - def = "[]byte(" + strconv.Quote(def) + ")" + def = "[]byte(" + strconv.Quote(unescape(def)) + ")" kind = "var " case def == "inf", def == "-inf", def == "nan": // These names are known to, and defined by, the protocol language. @@ -2508,6 +2508,67 @@ func (g *Generator) generateMessage(message *Descriptor) { g.addInitf("%s.RegisterType((*%s)(nil), %q)", g.Pkg["proto"], ccTypeName, fullName) } +var escapeChars = [256]byte{ + 'a': '\a', 'b': '\b', 'f': '\f', 'n': '\n', 'r': '\r', 't': '\t', 'v': '\v', '\\': '\\', '"': '"', '\'': '\'', '?': '?', +} + +// unescape reverses the "C" escaping that protoc does for default values of bytes fields. +// It is best effort in that it effectively ignores malformed input. Seemingly invalid escape +// sequences are conveyed, unmodified, into the decoded result. +func unescape(s string) string { + // NB: Sadly, we can't use strconv.Unquote because protoc will escape both + // single and double quotes, but strconv.Unquote only allows one or the + // other (based on actual surrounding quotes of its input argument). + + var out []byte + for len(s) > 0 { + // regular character, or too short to be valid escape + if s[0] != '\\' || len(s) < 2 { + out = append(out, s[0]) + s = s[1:] + } else if c := escapeChars[s[1]]; c != 0 { + // escape sequence + out = append(out, c) + s = s[2:] + } else if s[1] == 'x' || s[1] == 'X' { + // hex escape, e.g. "\x80 + if len(s) < 4 { + // too short to be valid + out = append(out, s[:2]...) + s = s[2:] + continue + } + v, err := strconv.ParseUint(s[2:4], 16, 8) + if err != nil { + out = append(out, s[:4]...) + } else { + out = append(out, byte(v)) + } + s = s[4:] + } else if '0' <= s[1] && s[1] <= '7' { + // octal escape, can vary from 1 to 3 octal digits; e.g., "\0" "\40" or "\164" + // so consume up to 2 more bytes or up to end-of-string + n := len(s[1:]) - len(strings.TrimLeft(s[1:], "01234567")) + if n > 3 { + n = 3 + } + v, err := strconv.ParseUint(s[1:1+n], 8, 8) + if err != nil { + out = append(out, s[:1+n]...) + } else { + out = append(out, byte(v)) + } + s = s[1+n:] + } else { + // bad escape, just propagate the slash as-is + out = append(out, s[0]) + s = s[1:] + } + } + + return string(out) +} + func (g *Generator) generateExtension(ext *ExtensionDescriptor) { ccTypeName := ext.DescName() diff --git a/vendor/github.com/golang/protobuf/protoc-gen-go/generator/name_test.go b/vendor/github.com/golang/protobuf/protoc-gen-go/generator/name_test.go index a5ebc8533..76808f3b7 100644 --- a/vendor/github.com/golang/protobuf/protoc-gen-go/generator/name_test.go +++ b/vendor/github.com/golang/protobuf/protoc-gen-go/generator/name_test.go @@ -83,3 +83,32 @@ func TestGoPackageOption(t *testing.T) { } } } + +func TestUnescape(t *testing.T) { + tests := []struct { + in string + out string + }{ + // successful cases, including all kinds of escapes + {"", ""}, + {"foo bar baz frob nitz", "foo bar baz frob nitz"}, + {`\000\001\002\003\004\005\006\007`, string([]byte{0, 1, 2, 3, 4, 5, 6, 7})}, + {`\a\b\f\n\r\t\v\\\?\'\"`, string([]byte{'\a', '\b', '\f', '\n', '\r', '\t', '\v', '\\', '?', '\'', '"'})}, + {`\x10\x20\x30\x40\x50\x60\x70\x80`, string([]byte{16, 32, 48, 64, 80, 96, 112, 128})}, + // variable length octal escapes + {`\0\018\222\377\3\04\005\6\07`, string([]byte{0, 1, '8', 0222, 255, 3, 4, 5, 6, 7})}, + // malformed escape sequences left as is + {"foo \\g bar", "foo \\g bar"}, + {"foo \\xg0 bar", "foo \\xg0 bar"}, + {"\\", "\\"}, + {"\\x", "\\x"}, + {"\\xf", "\\xf"}, + {"\\777", "\\777"}, // overflows byte + } + for _, tc := range tests { + s := unescape(tc.in) + if s != tc.out { + t.Errorf("doUnescape(%q) = %q; should have been %q", tc.in, s, tc.out) + } + } +} diff --git a/vendor/github.com/golang/protobuf/protoc-gen-go/plugin/Makefile b/vendor/github.com/golang/protobuf/protoc-gen-go/plugin/Makefile index 4095623e0..bc0463d57 100644 --- a/vendor/github.com/golang/protobuf/protoc-gen-go/plugin/Makefile +++ b/vendor/github.com/golang/protobuf/protoc-gen-go/plugin/Makefile @@ -34,6 +34,7 @@ # Also we need to fix an import. regenerate: @echo WARNING! THIS RULE IS PROBABLY NOT RIGHT FOR YOUR INSTALLATION + cp $(HOME)/src/protobuf/include/google/protobuf/compiler/plugin.proto . protoc --go_out=Mgoogle/protobuf/descriptor.proto=github.com/golang/protobuf/protoc-gen-go/descriptor:../../../../.. \ -I$(HOME)/src/protobuf/include $(HOME)/src/protobuf/include/google/protobuf/compiler/plugin.proto diff --git a/vendor/github.com/golang/protobuf/protoc-gen-go/plugin/plugin.proto b/vendor/github.com/golang/protobuf/protoc-gen-go/plugin/plugin.proto new file mode 100644 index 000000000..5b5574529 --- /dev/null +++ b/vendor/github.com/golang/protobuf/protoc-gen-go/plugin/plugin.proto @@ -0,0 +1,167 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// +// WARNING: The plugin interface is currently EXPERIMENTAL and is subject to +// change. +// +// protoc (aka the Protocol Compiler) can be extended via plugins. A plugin is +// just a program that reads a CodeGeneratorRequest from stdin and writes a +// CodeGeneratorResponse to stdout. +// +// Plugins written using C++ can use google/protobuf/compiler/plugin.h instead +// of dealing with the raw protocol defined here. +// +// A plugin executable needs only to be placed somewhere in the path. The +// plugin should be named "protoc-gen-$NAME", and will then be used when the +// flag "--${NAME}_out" is passed to protoc. + +syntax = "proto2"; +package google.protobuf.compiler; +option java_package = "com.google.protobuf.compiler"; +option java_outer_classname = "PluginProtos"; + +option go_package = "github.com/golang/protobuf/protoc-gen-go/plugin;plugin_go"; + +import "google/protobuf/descriptor.proto"; + +// The version number of protocol compiler. +message Version { + optional int32 major = 1; + optional int32 minor = 2; + optional int32 patch = 3; + // A suffix for alpha, beta or rc release, e.g., "alpha-1", "rc2". It should + // be empty for mainline stable releases. + optional string suffix = 4; +} + +// An encoded CodeGeneratorRequest is written to the plugin's stdin. +message CodeGeneratorRequest { + // The .proto files that were explicitly listed on the command-line. The + // code generator should generate code only for these files. Each file's + // descriptor will be included in proto_file, below. + repeated string file_to_generate = 1; + + // The generator parameter passed on the command-line. + optional string parameter = 2; + + // FileDescriptorProtos for all files in files_to_generate and everything + // they import. The files will appear in topological order, so each file + // appears before any file that imports it. + // + // protoc guarantees that all proto_files will be written after + // the fields above, even though this is not technically guaranteed by the + // protobuf wire format. This theoretically could allow a plugin to stream + // in the FileDescriptorProtos and handle them one by one rather than read + // the entire set into memory at once. However, as of this writing, this + // is not similarly optimized on protoc's end -- it will store all fields in + // memory at once before sending them to the plugin. + // + // Type names of fields and extensions in the FileDescriptorProto are always + // fully qualified. + repeated FileDescriptorProto proto_file = 15; + + // The version number of protocol compiler. + optional Version compiler_version = 3; + +} + +// The plugin writes an encoded CodeGeneratorResponse to stdout. +message CodeGeneratorResponse { + // Error message. If non-empty, code generation failed. The plugin process + // should exit with status code zero even if it reports an error in this way. + // + // This should be used to indicate errors in .proto files which prevent the + // code generator from generating correct code. Errors which indicate a + // problem in protoc itself -- such as the input CodeGeneratorRequest being + // unparseable -- should be reported by writing a message to stderr and + // exiting with a non-zero status code. + optional string error = 1; + + // Represents a single generated file. + message File { + // The file name, relative to the output directory. The name must not + // contain "." or ".." components and must be relative, not be absolute (so, + // the file cannot lie outside the output directory). "/" must be used as + // the path separator, not "\". + // + // If the name is omitted, the content will be appended to the previous + // file. This allows the generator to break large files into small chunks, + // and allows the generated text to be streamed back to protoc so that large + // files need not reside completely in memory at one time. Note that as of + // this writing protoc does not optimize for this -- it will read the entire + // CodeGeneratorResponse before writing files to disk. + optional string name = 1; + + // If non-empty, indicates that the named file should already exist, and the + // content here is to be inserted into that file at a defined insertion + // point. This feature allows a code generator to extend the output + // produced by another code generator. The original generator may provide + // insertion points by placing special annotations in the file that look + // like: + // @@protoc_insertion_point(NAME) + // The annotation can have arbitrary text before and after it on the line, + // which allows it to be placed in a comment. NAME should be replaced with + // an identifier naming the point -- this is what other generators will use + // as the insertion_point. Code inserted at this point will be placed + // immediately above the line containing the insertion point (thus multiple + // insertions to the same point will come out in the order they were added). + // The double-@ is intended to make it unlikely that the generated code + // could contain things that look like insertion points by accident. + // + // For example, the C++ code generator places the following line in the + // .pb.h files that it generates: + // // @@protoc_insertion_point(namespace_scope) + // This line appears within the scope of the file's package namespace, but + // outside of any particular class. Another plugin can then specify the + // insertion_point "namespace_scope" to generate additional classes or + // other declarations that should be placed in this scope. + // + // Note that if the line containing the insertion point begins with + // whitespace, the same whitespace will be added to every line of the + // inserted text. This is useful for languages like Python, where + // indentation matters. In these languages, the insertion point comment + // should be indented the same amount as any inserted code will need to be + // in order to work correctly in that context. + // + // The code generator that generates the initial file and the one which + // inserts into it must both run as part of a single invocation of protoc. + // Code generators are executed in the order in which they appear on the + // command line. + // + // If |insertion_point| is present, |name| must also be present. + optional string insertion_point = 2; + + // The file contents. + optional string content = 15; + } + repeated File file = 15; +} diff --git a/vendor/github.com/golang/protobuf/ptypes/any/any.pb.go b/vendor/github.com/golang/protobuf/ptypes/any/any.pb.go index 1fbaa44ca..f34601723 100644 --- a/vendor/github.com/golang/protobuf/ptypes/any/any.pb.go +++ b/vendor/github.com/golang/protobuf/ptypes/any/any.pb.go @@ -1,11 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. -// source: github.com/golang/protobuf/ptypes/any/any.proto +// source: google/protobuf/any.proto /* Package any is a generated protocol buffer package. It is generated from these files: - github.com/golang/protobuf/ptypes/any/any.proto + google/protobuf/any.proto It has these top-level messages: Any @@ -62,6 +62,16 @@ const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package // any.Unpack(foo) // ... // +// Example 4: Pack and unpack a message in Go +// +// foo := &pb.Foo{...} +// any, err := ptypes.MarshalAny(foo) +// ... +// foo := &pb.Foo{} +// if err := ptypes.UnmarshalAny(any, foo); err != nil { +// ... +// } +// // The pack methods provided by protobuf library will by default use // 'type.googleapis.com/full.type.name' as the type URL and the unpack // methods only use the fully qualified type name after the last '/' @@ -149,20 +159,20 @@ func init() { proto.RegisterType((*Any)(nil), "google.protobuf.Any") } -func init() { proto.RegisterFile("github.com/golang/protobuf/ptypes/any/any.proto", fileDescriptor0) } +func init() { proto.RegisterFile("google/protobuf/any.proto", fileDescriptor0) } var fileDescriptor0 = []byte{ - // 184 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x4f, 0xcf, 0x2c, 0xc9, - 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0x2f, 0x28, - 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0x28, 0xa9, 0x2c, 0x48, 0x2d, 0xd6, 0x4f, 0xcc, - 0xab, 0x04, 0x61, 0x3d, 0xb0, 0xb8, 0x10, 0x7f, 0x7a, 0x7e, 0x7e, 0x7a, 0x4e, 0xaa, 0x1e, 0x4c, - 0x95, 0x92, 0x19, 0x17, 0xb3, 0x63, 0x5e, 0xa5, 0x90, 0x24, 0x17, 0x07, 0x48, 0x79, 0x7c, 0x69, - 0x51, 0x8e, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x67, 0x10, 0x3b, 0x88, 0x1f, 0x5a, 0x94, 0x23, 0x24, - 0xc2, 0xc5, 0x5a, 0x96, 0x98, 0x53, 0x9a, 0x2a, 0xc1, 0xa4, 0xc0, 0xa8, 0xc1, 0x13, 0x04, 0xe1, - 0x38, 0xe5, 0x73, 0x09, 0x27, 0xe7, 0xe7, 0xea, 0xa1, 0x19, 0xe7, 0xc4, 0xe1, 0x98, 0x57, 0x19, - 0x00, 0xe2, 0x04, 0x30, 0x46, 0xa9, 0x12, 0xe5, 0xb8, 0x45, 0x4c, 0xcc, 0xee, 0x01, 0x4e, 0xab, - 0x98, 0xe4, 0xdc, 0x21, 0x46, 0x05, 0x40, 0x95, 0xe8, 0x85, 0xa7, 0xe6, 0xe4, 0x78, 0xe7, 0xe5, - 0x97, 0xe7, 0x85, 0x80, 0x94, 0x26, 0xb1, 0x81, 0xf5, 0x1a, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, - 0x45, 0x1f, 0x1a, 0xf2, 0xf3, 0x00, 0x00, 0x00, + // 185 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4c, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcc, 0xab, 0xd4, + 0x03, 0x73, 0x84, 0xf8, 0x21, 0x52, 0x7a, 0x30, 0x29, 0x25, 0x33, 0x2e, 0x66, 0xc7, 0xbc, 0x4a, + 0x21, 0x49, 0x2e, 0x8e, 0x92, 0xca, 0x82, 0xd4, 0xf8, 0xd2, 0xa2, 0x1c, 0x09, 0x46, 0x05, 0x46, + 0x0d, 0xce, 0x20, 0x76, 0x10, 0x3f, 0xb4, 0x28, 0x47, 0x48, 0x84, 0x8b, 0xb5, 0x2c, 0x31, 0xa7, + 0x34, 0x55, 0x82, 0x49, 0x81, 0x51, 0x83, 0x27, 0x08, 0xc2, 0x71, 0xca, 0xe7, 0x12, 0x4e, 0xce, + 0xcf, 0xd5, 0x43, 0x33, 0xce, 0x89, 0xc3, 0x31, 0xaf, 0x32, 0x00, 0xc4, 0x09, 0x60, 0x8c, 0x52, + 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0xcf, 0x49, 0xcc, + 0x4b, 0x47, 0xb8, 0xa8, 0x00, 0x64, 0x7a, 0x31, 0xc8, 0x61, 0x8b, 0x98, 0x98, 0xdd, 0x03, 0x9c, + 0x56, 0x31, 0xc9, 0xb9, 0x43, 0x8c, 0x0a, 0x80, 0x2a, 0xd1, 0x0b, 0x4f, 0xcd, 0xc9, 0xf1, 0xce, + 0xcb, 0x2f, 0xcf, 0x0b, 0x01, 0x29, 0x4d, 0x62, 0x03, 0xeb, 0x35, 0x06, 0x04, 0x00, 0x00, 0xff, + 0xff, 0x13, 0xf8, 0xe8, 0x42, 0xdd, 0x00, 0x00, 0x00, } diff --git a/vendor/github.com/golang/protobuf/ptypes/any/any.proto b/vendor/github.com/golang/protobuf/ptypes/any/any.proto index 9bd3f50a4..c74866762 100644 --- a/vendor/github.com/golang/protobuf/ptypes/any/any.proto +++ b/vendor/github.com/golang/protobuf/ptypes/any/any.proto @@ -74,6 +74,16 @@ option objc_class_prefix = "GPB"; // any.Unpack(foo) // ... // +// Example 4: Pack and unpack a message in Go +// +// foo := &pb.Foo{...} +// any, err := ptypes.MarshalAny(foo) +// ... +// foo := &pb.Foo{} +// if err := ptypes.UnmarshalAny(any, foo); err != nil { +// ... +// } +// // The pack methods provided by protobuf library will by default use // 'type.googleapis.com/full.type.name' as the type URL and the unpack // methods only use the fully qualified type name after the last '/' diff --git a/vendor/github.com/golang/protobuf/ptypes/duration/duration.pb.go b/vendor/github.com/golang/protobuf/ptypes/duration/duration.pb.go index fe3350bed..b2410a098 100644 --- a/vendor/github.com/golang/protobuf/ptypes/duration/duration.pb.go +++ b/vendor/github.com/golang/protobuf/ptypes/duration/duration.pb.go @@ -1,11 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. -// source: github.com/golang/protobuf/ptypes/duration/duration.proto +// source: google/protobuf/duration.proto /* Package duration is a generated protocol buffer package. It is generated from these files: - github.com/golang/protobuf/ptypes/duration/duration.proto + google/protobuf/duration.proto It has these top-level messages: Duration @@ -125,22 +125,20 @@ func init() { proto.RegisterType((*Duration)(nil), "google.protobuf.Duration") } -func init() { - proto.RegisterFile("github.com/golang/protobuf/ptypes/duration/duration.proto", fileDescriptor0) -} +func init() { proto.RegisterFile("google/protobuf/duration.proto", fileDescriptor0) } var fileDescriptor0 = []byte{ - // 189 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xb2, 0x4c, 0xcf, 0x2c, 0xc9, - 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0x2f, 0x28, - 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0x28, 0xa9, 0x2c, 0x48, 0x2d, 0xd6, 0x4f, 0x29, - 0x2d, 0x4a, 0x2c, 0xc9, 0xcc, 0xcf, 0x83, 0x33, 0xf4, 0xc0, 0x2a, 0x84, 0xf8, 0xd3, 0xf3, 0xf3, - 0xd3, 0x73, 0x52, 0xf5, 0x60, 0xea, 0x95, 0xac, 0xb8, 0x38, 0x5c, 0xa0, 0x4a, 0x84, 0x24, 0xb8, - 0xd8, 0x8b, 0x53, 0x93, 0xf3, 0xf3, 0x52, 0x8a, 0x25, 0x18, 0x15, 0x18, 0x35, 0x98, 0x83, 0x60, - 0x5c, 0x21, 0x11, 0x2e, 0xd6, 0xbc, 0xc4, 0xbc, 0xfc, 0x62, 0x09, 0x26, 0x05, 0x46, 0x0d, 0xd6, - 0x20, 0x08, 0xc7, 0xa9, 0x86, 0x4b, 0x38, 0x39, 0x3f, 0x57, 0x0f, 0xcd, 0x48, 0x27, 0x5e, 0x98, - 0x81, 0x01, 0x20, 0x91, 0x00, 0xc6, 0x28, 0x2d, 0xe2, 0xdd, 0xfb, 0x83, 0x91, 0x71, 0x11, 0x13, - 0xb3, 0x7b, 0x80, 0xd3, 0x2a, 0x26, 0x39, 0x77, 0x88, 0xb9, 0x01, 0x50, 0xa5, 0x7a, 0xe1, 0xa9, - 0x39, 0x39, 0xde, 0x79, 0xf9, 0xe5, 0x79, 0x21, 0x20, 0x2d, 0x49, 0x6c, 0x60, 0x33, 0x8c, 0x01, - 0x01, 0x00, 0x00, 0xff, 0xff, 0x45, 0x5a, 0x81, 0x3d, 0x0e, 0x01, 0x00, 0x00, + // 190 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4b, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0x29, 0x2d, 0x4a, + 0x2c, 0xc9, 0xcc, 0xcf, 0xd3, 0x03, 0x8b, 0x08, 0xf1, 0x43, 0xe4, 0xf5, 0x60, 0xf2, 0x4a, 0x56, + 0x5c, 0x1c, 0x2e, 0x50, 0x25, 0x42, 0x12, 0x5c, 0xec, 0xc5, 0xa9, 0xc9, 0xf9, 0x79, 0x29, 0xc5, + 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0xcc, 0x41, 0x30, 0xae, 0x90, 0x08, 0x17, 0x6b, 0x5e, 0x62, 0x5e, + 0x7e, 0xb1, 0x04, 0x93, 0x02, 0xa3, 0x06, 0x6b, 0x10, 0x84, 0xe3, 0x54, 0xc3, 0x25, 0x9c, 0x9c, + 0x9f, 0xab, 0x87, 0x66, 0xa4, 0x13, 0x2f, 0xcc, 0xc0, 0x00, 0x90, 0x48, 0x00, 0x63, 0x94, 0x56, + 0x7a, 0x66, 0x49, 0x46, 0x69, 0x92, 0x5e, 0x72, 0x7e, 0xae, 0x7e, 0x7a, 0x7e, 0x4e, 0x62, 0x5e, + 0x3a, 0xc2, 0x7d, 0x05, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x70, 0x67, 0xfe, 0x60, 0x64, 0x5c, 0xc4, + 0xc4, 0xec, 0x1e, 0xe0, 0xb4, 0x8a, 0x49, 0xce, 0x1d, 0x62, 0x6e, 0x00, 0x54, 0xa9, 0x5e, 0x78, + 0x6a, 0x4e, 0x8e, 0x77, 0x5e, 0x7e, 0x79, 0x5e, 0x08, 0x48, 0x4b, 0x12, 0x1b, 0xd8, 0x0c, 0x63, + 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0xdc, 0x84, 0x30, 0xff, 0xf3, 0x00, 0x00, 0x00, } diff --git a/vendor/github.com/golang/protobuf/ptypes/empty/empty.pb.go b/vendor/github.com/golang/protobuf/ptypes/empty/empty.pb.go index ae1594144..e877b72c3 100644 --- a/vendor/github.com/golang/protobuf/ptypes/empty/empty.pb.go +++ b/vendor/github.com/golang/protobuf/ptypes/empty/empty.pb.go @@ -1,11 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. -// source: github.com/golang/protobuf/ptypes/empty/empty.proto +// source: google/protobuf/empty.proto /* Package empty is a generated protocol buffer package. It is generated from these files: - github.com/golang/protobuf/ptypes/empty/empty.proto + google/protobuf/empty.proto It has these top-level messages: Empty @@ -49,20 +49,18 @@ func init() { proto.RegisterType((*Empty)(nil), "google.protobuf.Empty") } -func init() { - proto.RegisterFile("github.com/golang/protobuf/ptypes/empty/empty.proto", fileDescriptor0) -} +func init() { proto.RegisterFile("google/protobuf/empty.proto", fileDescriptor0) } var fileDescriptor0 = []byte{ - // 147 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x32, 0x4e, 0xcf, 0x2c, 0xc9, - 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0x2f, 0x28, - 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0x28, 0xa9, 0x2c, 0x48, 0x2d, 0xd6, 0x4f, 0xcd, - 0x2d, 0x28, 0xa9, 0x84, 0x90, 0x7a, 0x60, 0x39, 0x21, 0xfe, 0xf4, 0xfc, 0xfc, 0xf4, 0x9c, 0x54, - 0x3d, 0x98, 0x4a, 0x25, 0x76, 0x2e, 0x56, 0x57, 0x90, 0xbc, 0x53, 0x19, 0x97, 0x70, 0x72, 0x7e, - 0xae, 0x1e, 0x9a, 0xbc, 0x13, 0x17, 0x58, 0x36, 0x00, 0xc4, 0x0d, 0x60, 0x8c, 0x52, 0x27, 0xd2, - 0xce, 0x1f, 0x8c, 0x8c, 0x8b, 0x98, 0x98, 0xdd, 0x03, 0x9c, 0x56, 0x31, 0xc9, 0xb9, 0x43, 0x4c, - 0x0c, 0x80, 0xaa, 0xd3, 0x0b, 0x4f, 0xcd, 0xc9, 0xf1, 0xce, 0xcb, 0x2f, 0xcf, 0x0b, 0x01, 0xa9, - 0x4f, 0x62, 0x03, 0x1b, 0x60, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x6e, 0x8e, 0x0a, 0x06, 0xcf, - 0x00, 0x00, 0x00, + // 148 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4e, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcd, 0x2d, 0x28, + 0xa9, 0xd4, 0x03, 0x73, 0x85, 0xf8, 0x21, 0x92, 0x7a, 0x30, 0x49, 0x25, 0x76, 0x2e, 0x56, 0x57, + 0x90, 0xbc, 0x53, 0x19, 0x97, 0x70, 0x72, 0x7e, 0xae, 0x1e, 0x9a, 0xbc, 0x13, 0x17, 0x58, 0x36, + 0x00, 0xc4, 0x0d, 0x60, 0x8c, 0x52, 0x4f, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, + 0xd5, 0x4f, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0x47, 0x58, 0x53, 0x50, 0x52, 0x59, 0x90, 0x5a, 0x0c, + 0xb1, 0xed, 0x07, 0x23, 0xe3, 0x22, 0x26, 0x66, 0xf7, 0x00, 0xa7, 0x55, 0x4c, 0x72, 0xee, 0x10, + 0x13, 0x03, 0xa0, 0xea, 0xf4, 0xc2, 0x53, 0x73, 0x72, 0xbc, 0xf3, 0xf2, 0xcb, 0xf3, 0x42, 0x40, + 0xea, 0x93, 0xd8, 0xc0, 0x06, 0x18, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0x64, 0xd4, 0xb3, 0xa6, + 0xb7, 0x00, 0x00, 0x00, } diff --git a/vendor/github.com/golang/protobuf/ptypes/regen.sh b/vendor/github.com/golang/protobuf/ptypes/regen.sh index 2a5b4e8bd..b50a9414a 100755 --- a/vendor/github.com/golang/protobuf/ptypes/regen.sh +++ b/vendor/github.com/golang/protobuf/ptypes/regen.sh @@ -8,14 +8,7 @@ PKG=github.com/golang/protobuf/ptypes UPSTREAM=https://github.com/google/protobuf UPSTREAM_SUBDIR=src/google/protobuf -PROTO_FILES=' - any.proto - duration.proto - empty.proto - struct.proto - timestamp.proto - wrappers.proto -' +PROTO_FILES=(any duration empty struct timestamp wrappers) function die() { echo 1>&2 $* @@ -36,31 +29,15 @@ pkgdir=$(go list -f '{{.Dir}}' $PKG) echo 1>&2 $pkgdir base=$(echo $pkgdir | sed "s,/$PKG\$,,") echo 1>&2 "base: $base" -cd $base +cd "$base" echo 1>&2 "fetching latest protos... " git clone -q $UPSTREAM $tmpdir -# Pass 1: build mapping from upstream filename to our filename. -declare -A filename_map -for f in $(cd $PKG && find * -name '*.proto'); do - echo -n 1>&2 "looking for latest version of $f... " - up=$(cd $tmpdir/$UPSTREAM_SUBDIR && find * -name $(basename $f) | grep -v /testdata/) - echo 1>&2 $up - if [ $(echo $up | wc -w) != "1" ]; then - die "not exactly one match" - fi - filename_map[$up]=$f -done -# Pass 2: copy files -for up in "${!filename_map[@]}"; do - f=${filename_map[$up]} - shortname=$(basename $f | sed 's,\.proto$,,') - cp $tmpdir/$UPSTREAM_SUBDIR/$up $PKG/$f + +for file in ${PROTO_FILES[@]}; do + echo 1>&2 "* $file" + protoc --go_out=. -I$tmpdir/src $tmpdir/src/google/protobuf/$file.proto || die + cp $tmpdir/src/google/protobuf/$file.proto $PKG/$file done -# Run protoc once per package. -for dir in $(find $PKG -name '*.proto' | xargs dirname | sort | uniq); do - echo 1>&2 "* $dir" - protoc --go_out=. $dir/*.proto -done echo 1>&2 "All OK" diff --git a/vendor/github.com/golang/protobuf/ptypes/struct/struct.pb.go b/vendor/github.com/golang/protobuf/ptypes/struct/struct.pb.go index 35a8ec599..4cfe60818 100644 --- a/vendor/github.com/golang/protobuf/ptypes/struct/struct.pb.go +++ b/vendor/github.com/golang/protobuf/ptypes/struct/struct.pb.go @@ -1,11 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. -// source: github.com/golang/protobuf/ptypes/struct/struct.proto +// source: google/protobuf/struct.proto /* Package structpb is a generated protocol buffer package. It is generated from these files: - github.com/golang/protobuf/ptypes/struct/struct.proto + google/protobuf/struct.proto It has these top-level messages: Struct @@ -346,37 +346,35 @@ func init() { proto.RegisterEnum("google.protobuf.NullValue", NullValue_name, NullValue_value) } -func init() { - proto.RegisterFile("github.com/golang/protobuf/ptypes/struct/struct.proto", fileDescriptor0) -} +func init() { proto.RegisterFile("google/protobuf/struct.proto", fileDescriptor0) } var fileDescriptor0 = []byte{ // 417 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0x41, 0x8b, 0xd3, 0x40, - 0x14, 0x80, 0x3b, 0xc9, 0x36, 0x98, 0x17, 0x59, 0x97, 0x11, 0xb4, 0xac, 0xa0, 0xa1, 0x7b, 0x09, - 0x22, 0x09, 0x56, 0x04, 0x31, 0x5e, 0x0c, 0xac, 0xbb, 0x60, 0x58, 0x62, 0x74, 0x57, 0xf0, 0x52, - 0x9a, 0x34, 0x8d, 0xa1, 0xd3, 0x99, 0x90, 0xcc, 0x28, 0x3d, 0xfa, 0x2f, 0x3c, 0x7b, 0xf4, 0xe8, - 0xaf, 0xf3, 0x28, 0x33, 0x93, 0x44, 0x69, 0x29, 0x78, 0x9a, 0xbe, 0x37, 0xdf, 0xfb, 0xe6, 0xbd, - 0xd7, 0xc0, 0xf3, 0xb2, 0xe2, 0x9f, 0x45, 0xe6, 0xe7, 0x6c, 0x13, 0x94, 0x8c, 0x2c, 0x68, 0x19, - 0xd4, 0x0d, 0xe3, 0x2c, 0x13, 0xab, 0xa0, 0xe6, 0xdb, 0xba, 0x68, 0x83, 0x96, 0x37, 0x22, 0xe7, - 0xdd, 0xe1, 0xab, 0x5b, 0x7c, 0xa7, 0x64, 0xac, 0x24, 0x85, 0xdf, 0xb3, 0xd3, 0xef, 0x08, 0xac, - 0xf7, 0x8a, 0xc0, 0x21, 0x58, 0xab, 0xaa, 0x20, 0xcb, 0x76, 0x82, 0x5c, 0xd3, 0x73, 0x66, 0x67, - 0xfe, 0x0e, 0xec, 0x6b, 0xd0, 0x7f, 0xa3, 0xa8, 0x73, 0xca, 0x9b, 0x6d, 0xda, 0x95, 0x9c, 0xbe, - 0x03, 0xe7, 0x9f, 0x34, 0x3e, 0x01, 0x73, 0x5d, 0x6c, 0x27, 0xc8, 0x45, 0x9e, 0x9d, 0xca, 0x9f, - 0xf8, 0x09, 0x8c, 0xbf, 0x2c, 0x88, 0x28, 0x26, 0x86, 0x8b, 0x3c, 0x67, 0x76, 0x6f, 0x4f, 0x7e, - 0x23, 0x6f, 0x53, 0x0d, 0xbd, 0x34, 0x5e, 0xa0, 0xe9, 0x2f, 0x03, 0xc6, 0x2a, 0x89, 0x43, 0x00, - 0x2a, 0x08, 0x99, 0x6b, 0x81, 0x94, 0x1e, 0xcf, 0x4e, 0xf7, 0x04, 0x57, 0x82, 0x10, 0xc5, 0x5f, - 0x8e, 0x52, 0x9b, 0xf6, 0x01, 0x3e, 0x83, 0xdb, 0x54, 0x6c, 0xb2, 0xa2, 0x99, 0xff, 0x7d, 0x1f, - 0x5d, 0x8e, 0x52, 0x47, 0x67, 0x07, 0xa8, 0xe5, 0x4d, 0x45, 0xcb, 0x0e, 0x32, 0x65, 0xe3, 0x12, - 0xd2, 0x59, 0x0d, 0x3d, 0x02, 0xc8, 0x18, 0xeb, 0xdb, 0x38, 0x72, 0x91, 0x77, 0x4b, 0x3e, 0x25, - 0x73, 0x1a, 0x78, 0xa5, 0x2c, 0x22, 0xe7, 0x1d, 0x32, 0x56, 0xa3, 0xde, 0x3f, 0xb0, 0xc7, 0x4e, - 0x2f, 0x72, 0x3e, 0x4c, 0x49, 0xaa, 0xb6, 0xaf, 0xb5, 0x54, 0xed, 0xfe, 0x94, 0x71, 0xd5, 0xf2, - 0x61, 0x4a, 0xd2, 0x07, 0x91, 0x05, 0x47, 0xeb, 0x8a, 0x2e, 0xa7, 0x21, 0xd8, 0x03, 0x81, 0x7d, - 0xb0, 0x94, 0xac, 0xff, 0x47, 0x0f, 0x2d, 0xbd, 0xa3, 0x1e, 0x3f, 0x00, 0x7b, 0x58, 0x22, 0x3e, - 0x06, 0xb8, 0xba, 0x8e, 0xe3, 0xf9, 0xcd, 0xeb, 0xf8, 0xfa, 0xfc, 0x64, 0x14, 0x7d, 0x43, 0x70, - 0x37, 0x67, 0x9b, 0x5d, 0x45, 0xe4, 0xe8, 0x69, 0x12, 0x19, 0x27, 0xe8, 0xd3, 0xd3, 0xff, 0xfd, - 0x30, 0x43, 0x7d, 0xd4, 0xd9, 0x6f, 0x84, 0x7e, 0x18, 0xe6, 0x45, 0x12, 0xfd, 0x34, 0x1e, 0x5e, - 0x68, 0x79, 0xd2, 0xf7, 0xf7, 0xb1, 0x20, 0xe4, 0x2d, 0x65, 0x5f, 0xe9, 0x07, 0x59, 0x99, 0x59, - 0x4a, 0xf5, 0xec, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x9b, 0x6e, 0x5d, 0x3c, 0xfe, 0x02, 0x00, + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0x41, 0x8b, 0xd3, 0x40, + 0x14, 0xc7, 0x3b, 0xc9, 0x36, 0x98, 0x17, 0x59, 0x97, 0x11, 0xb4, 0xac, 0xa2, 0xa1, 0x7b, 0x09, + 0x22, 0x29, 0xd6, 0x8b, 0x18, 0x2f, 0x06, 0xd6, 0x5d, 0x30, 0x2c, 0x31, 0xba, 0x15, 0xbc, 0x94, + 0x26, 0x4d, 0x63, 0xe8, 0x74, 0x26, 0x24, 0x33, 0x4a, 0x8f, 0x7e, 0x0b, 0xcf, 0x1e, 0x3d, 0xfa, + 0xe9, 0x3c, 0xca, 0xcc, 0x24, 0xa9, 0xb4, 0xf4, 0x94, 0xbc, 0xf7, 0x7e, 0xef, 0x3f, 0xef, 0xff, + 0x66, 0xe0, 0x71, 0xc1, 0x58, 0x41, 0xf2, 0x49, 0x55, 0x33, 0xce, 0x52, 0xb1, 0x9a, 0x34, 0xbc, + 0x16, 0x19, 0xf7, 0x55, 0x8c, 0xef, 0xe9, 0xaa, 0xdf, 0x55, 0xc7, 0x3f, 0x11, 0x58, 0x1f, 0x15, + 0x81, 0x03, 0xb0, 0x56, 0x65, 0x4e, 0x96, 0xcd, 0x08, 0xb9, 0xa6, 0xe7, 0x4c, 0x2f, 0xfc, 0x3d, + 0xd8, 0xd7, 0xa0, 0xff, 0x4e, 0x51, 0x97, 0x94, 0xd7, 0xdb, 0xa4, 0x6d, 0x39, 0xff, 0x00, 0xce, + 0x7f, 0x69, 0x7c, 0x06, 0xe6, 0x3a, 0xdf, 0x8e, 0x90, 0x8b, 0x3c, 0x3b, 0x91, 0xbf, 0xf8, 0x39, + 0x0c, 0xbf, 0x2d, 0x88, 0xc8, 0x47, 0x86, 0x8b, 0x3c, 0x67, 0xfa, 0xe0, 0x40, 0x7c, 0x26, 0xab, + 0x89, 0x86, 0x5e, 0x1b, 0xaf, 0xd0, 0xf8, 0x8f, 0x01, 0x43, 0x95, 0xc4, 0x01, 0x00, 0x15, 0x84, + 0xcc, 0xb5, 0x80, 0x14, 0x3d, 0x9d, 0x9e, 0x1f, 0x08, 0xdc, 0x08, 0x42, 0x14, 0x7f, 0x3d, 0x48, + 0x6c, 0xda, 0x05, 0xf8, 0x02, 0xee, 0x52, 0xb1, 0x49, 0xf3, 0x7a, 0xbe, 0x3b, 0x1f, 0x5d, 0x0f, + 0x12, 0x47, 0x67, 0x7b, 0xa8, 0xe1, 0x75, 0x49, 0x8b, 0x16, 0x32, 0xe5, 0xe0, 0x12, 0xd2, 0x59, + 0x0d, 0x3d, 0x05, 0x48, 0x19, 0xeb, 0xc6, 0x38, 0x71, 0x91, 0x77, 0x47, 0x1e, 0x25, 0x73, 0x1a, + 0x78, 0xa3, 0x54, 0x44, 0xc6, 0x5b, 0x64, 0xa8, 0xac, 0x3e, 0x3c, 0xb2, 0xc7, 0x56, 0x5e, 0x64, + 0xbc, 0x77, 0x49, 0xca, 0xa6, 0xeb, 0xb5, 0x54, 0xef, 0xa1, 0xcb, 0xa8, 0x6c, 0x78, 0xef, 0x92, + 0x74, 0x41, 0x68, 0xc1, 0xc9, 0xba, 0xa4, 0xcb, 0x71, 0x00, 0x76, 0x4f, 0x60, 0x1f, 0x2c, 0x25, + 0xd6, 0xdd, 0xe8, 0xb1, 0xa5, 0xb7, 0xd4, 0xb3, 0x47, 0x60, 0xf7, 0x4b, 0xc4, 0xa7, 0x00, 0x37, + 0xb7, 0x51, 0x34, 0x9f, 0xbd, 0x8d, 0x6e, 0x2f, 0xcf, 0x06, 0xe1, 0x0f, 0x04, 0xf7, 0x33, 0xb6, + 0xd9, 0x97, 0x08, 0x1d, 0xed, 0x26, 0x96, 0x71, 0x8c, 0xbe, 0xbc, 0x28, 0x4a, 0xfe, 0x55, 0xa4, + 0x7e, 0xc6, 0x36, 0x93, 0x82, 0x91, 0x05, 0x2d, 0x76, 0x4f, 0xb1, 0xe2, 0xdb, 0x2a, 0x6f, 0xda, + 0x17, 0x19, 0xe8, 0x4f, 0x95, 0xfe, 0x45, 0xe8, 0x97, 0x61, 0x5e, 0xc5, 0xe1, 0x6f, 0xe3, 0xc9, + 0x95, 0x16, 0x8f, 0xbb, 0xf9, 0x3e, 0xe7, 0x84, 0xbc, 0xa7, 0xec, 0x3b, 0xfd, 0x24, 0x3b, 0x53, + 0x4b, 0x49, 0xbd, 0xfc, 0x17, 0x00, 0x00, 0xff, 0xff, 0xe8, 0x1b, 0x59, 0xf8, 0xe5, 0x02, 0x00, 0x00, } diff --git a/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.pb.go b/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.pb.go index 3b76261ec..e23e4a25d 100644 --- a/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.pb.go +++ b/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.pb.go @@ -1,11 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. -// source: github.com/golang/protobuf/ptypes/timestamp/timestamp.proto +// source: google/protobuf/timestamp.proto /* Package timestamp is a generated protocol buffer package. It is generated from these files: - github.com/golang/protobuf/ptypes/timestamp/timestamp.proto + google/protobuf/timestamp.proto It has these top-level messages: Timestamp @@ -141,22 +141,20 @@ func init() { proto.RegisterType((*Timestamp)(nil), "google.protobuf.Timestamp") } -func init() { - proto.RegisterFile("github.com/golang/protobuf/ptypes/timestamp/timestamp.proto", fileDescriptor0) -} +func init() { proto.RegisterFile("google/protobuf/timestamp.proto", fileDescriptor0) } var fileDescriptor0 = []byte{ - // 190 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xb2, 0x4e, 0xcf, 0x2c, 0xc9, - 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0x2f, 0x28, - 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0x28, 0xa9, 0x2c, 0x48, 0x2d, 0xd6, 0x2f, 0xc9, - 0xcc, 0x4d, 0x2d, 0x2e, 0x49, 0xcc, 0x2d, 0x40, 0xb0, 0xf4, 0xc0, 0x6a, 0x84, 0xf8, 0xd3, 0xf3, - 0xf3, 0xd3, 0x73, 0x52, 0xf5, 0x60, 0x3a, 0x94, 0xac, 0xb9, 0x38, 0x43, 0x60, 0x6a, 0x84, 0x24, - 0xb8, 0xd8, 0x8b, 0x53, 0x93, 0xf3, 0xf3, 0x52, 0x8a, 0x25, 0x18, 0x15, 0x18, 0x35, 0x98, 0x83, - 0x60, 0x5c, 0x21, 0x11, 0x2e, 0xd6, 0xbc, 0xc4, 0xbc, 0xfc, 0x62, 0x09, 0x26, 0x05, 0x46, 0x0d, - 0xd6, 0x20, 0x08, 0xc7, 0xa9, 0x8e, 0x4b, 0x38, 0x39, 0x3f, 0x57, 0x0f, 0xcd, 0x4c, 0x27, 0x3e, - 0xb8, 0x89, 0x01, 0x20, 0xa1, 0x00, 0xc6, 0x28, 0x6d, 0x12, 0xdc, 0xfc, 0x83, 0x91, 0x71, 0x11, - 0x13, 0xb3, 0x7b, 0x80, 0xd3, 0x2a, 0x26, 0x39, 0x77, 0x88, 0xc9, 0x01, 0x50, 0xb5, 0x7a, 0xe1, - 0xa9, 0x39, 0x39, 0xde, 0x79, 0xf9, 0xe5, 0x79, 0x21, 0x20, 0x3d, 0x49, 0x6c, 0x60, 0x43, 0x8c, - 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x6b, 0x59, 0x0a, 0x4d, 0x13, 0x01, 0x00, 0x00, + // 191 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4f, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0xc9, 0xcc, 0x4d, + 0x2d, 0x2e, 0x49, 0xcc, 0x2d, 0xd0, 0x03, 0x0b, 0x09, 0xf1, 0x43, 0x14, 0xe8, 0xc1, 0x14, 0x28, + 0x59, 0x73, 0x71, 0x86, 0xc0, 0xd4, 0x08, 0x49, 0x70, 0xb1, 0x17, 0xa7, 0x26, 0xe7, 0xe7, 0xa5, + 0x14, 0x4b, 0x30, 0x2a, 0x30, 0x6a, 0x30, 0x07, 0xc1, 0xb8, 0x42, 0x22, 0x5c, 0xac, 0x79, 0x89, + 0x79, 0xf9, 0xc5, 0x12, 0x4c, 0x0a, 0x8c, 0x1a, 0xac, 0x41, 0x10, 0x8e, 0x53, 0x1d, 0x97, 0x70, + 0x72, 0x7e, 0xae, 0x1e, 0x9a, 0x99, 0x4e, 0x7c, 0x70, 0x13, 0x03, 0x40, 0x42, 0x01, 0x8c, 0x51, + 0xda, 0xe9, 0x99, 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0xe9, 0xf9, 0x39, 0x89, + 0x79, 0xe9, 0x08, 0x27, 0x16, 0x94, 0x54, 0x16, 0xa4, 0x16, 0x23, 0x5c, 0xfa, 0x83, 0x91, 0x71, + 0x11, 0x13, 0xb3, 0x7b, 0x80, 0xd3, 0x2a, 0x26, 0x39, 0x77, 0x88, 0xc9, 0x01, 0x50, 0xb5, 0x7a, + 0xe1, 0xa9, 0x39, 0x39, 0xde, 0x79, 0xf9, 0xe5, 0x79, 0x21, 0x20, 0x3d, 0x49, 0x6c, 0x60, 0x43, + 0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xbc, 0x77, 0x4a, 0x07, 0xf7, 0x00, 0x00, 0x00, } diff --git a/vendor/github.com/golang/protobuf/ptypes/wrappers/wrappers.pb.go b/vendor/github.com/golang/protobuf/ptypes/wrappers/wrappers.pb.go index 1328bd296..0ed59bf19 100644 --- a/vendor/github.com/golang/protobuf/ptypes/wrappers/wrappers.pb.go +++ b/vendor/github.com/golang/protobuf/ptypes/wrappers/wrappers.pb.go @@ -1,11 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. -// source: github.com/golang/protobuf/ptypes/wrappers/wrappers.proto +// source: google/protobuf/wrappers.proto /* Package wrappers is a generated protocol buffer package. It is generated from these files: - github.com/golang/protobuf/ptypes/wrappers/wrappers.proto + google/protobuf/wrappers.proto It has these top-level messages: DoubleValue @@ -236,27 +236,25 @@ func init() { proto.RegisterType((*BytesValue)(nil), "google.protobuf.BytesValue") } -func init() { - proto.RegisterFile("github.com/golang/protobuf/ptypes/wrappers/wrappers.proto", fileDescriptor0) -} +func init() { proto.RegisterFile("google/protobuf/wrappers.proto", fileDescriptor0) } var fileDescriptor0 = []byte{ - // 257 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xb2, 0x4c, 0xcf, 0x2c, 0xc9, - 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0x2f, 0x28, - 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0x28, 0xa9, 0x2c, 0x48, 0x2d, 0xd6, 0x2f, 0x2f, - 0x4a, 0x2c, 0x28, 0x48, 0x2d, 0x42, 0x30, 0xf4, 0xc0, 0x2a, 0x84, 0xf8, 0xd3, 0xf3, 0xf3, 0xd3, - 0x73, 0x52, 0xf5, 0x60, 0xea, 0x95, 0x94, 0xb9, 0xb8, 0x5d, 0xf2, 0x4b, 0x93, 0x72, 0x52, 0xc3, - 0x12, 0x73, 0x4a, 0x53, 0x85, 0x44, 0xb8, 0x58, 0xcb, 0x40, 0x0c, 0x09, 0x46, 0x05, 0x46, 0x0d, - 0xc6, 0x20, 0x08, 0x47, 0x49, 0x89, 0x8b, 0xcb, 0x2d, 0x27, 0x3f, 0xb1, 0x04, 0x8b, 0x1a, 0x26, - 0x24, 0x35, 0x9e, 0x79, 0x25, 0x66, 0x26, 0x58, 0xd4, 0x30, 0xc3, 0xd4, 0x28, 0x73, 0x71, 0x87, - 0xe2, 0x52, 0xc4, 0x82, 0x6a, 0x90, 0xb1, 0x11, 0x16, 0x35, 0xac, 0x68, 0x06, 0x61, 0x55, 0xc4, - 0x0b, 0x53, 0xa4, 0xc8, 0xc5, 0xe9, 0x94, 0x9f, 0x9f, 0x83, 0x45, 0x09, 0x07, 0x92, 0x39, 0xc1, - 0x25, 0x45, 0x99, 0x79, 0xe9, 0x58, 0x14, 0x71, 0x22, 0x39, 0xc8, 0xa9, 0xb2, 0x24, 0xb5, 0x18, - 0x8b, 0x1a, 0x1e, 0xa8, 0x1a, 0xa7, 0x1a, 0x2e, 0xe1, 0xe4, 0xfc, 0x5c, 0x3d, 0xb4, 0xd0, 0x75, - 0xe2, 0x0d, 0x87, 0x06, 0x7f, 0x00, 0x48, 0x24, 0x80, 0x31, 0x4a, 0x8b, 0xf8, 0xa8, 0xfb, 0xc1, - 0xc8, 0xb8, 0x88, 0x89, 0xd9, 0x3d, 0xc0, 0x69, 0x15, 0x93, 0x9c, 0x3b, 0xc4, 0xdc, 0x00, 0xa8, - 0x52, 0xbd, 0xf0, 0xd4, 0x9c, 0x1c, 0xef, 0xbc, 0xfc, 0xf2, 0xbc, 0x10, 0x90, 0x96, 0x24, 0x36, - 0xb0, 0x19, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xee, 0x36, 0x8d, 0xd8, 0x19, 0x02, 0x00, - 0x00, + // 259 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4b, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0x2f, 0x4a, 0x2c, + 0x28, 0x48, 0x2d, 0x2a, 0xd6, 0x03, 0x8b, 0x08, 0xf1, 0x43, 0xe4, 0xf5, 0x60, 0xf2, 0x4a, 0xca, + 0x5c, 0xdc, 0x2e, 0xf9, 0xa5, 0x49, 0x39, 0xa9, 0x61, 0x89, 0x39, 0xa5, 0xa9, 0x42, 0x22, 0x5c, + 0xac, 0x65, 0x20, 0x86, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x63, 0x10, 0x84, 0xa3, 0xa4, 0xc4, 0xc5, + 0xe5, 0x96, 0x93, 0x9f, 0x58, 0x82, 0x45, 0x0d, 0x13, 0x92, 0x1a, 0xcf, 0xbc, 0x12, 0x33, 0x13, + 0x2c, 0x6a, 0x98, 0x61, 0x6a, 0x94, 0xb9, 0xb8, 0x43, 0x71, 0x29, 0x62, 0x41, 0x35, 0xc8, 0xd8, + 0x08, 0x8b, 0x1a, 0x56, 0x34, 0x83, 0xb0, 0x2a, 0xe2, 0x85, 0x29, 0x52, 0xe4, 0xe2, 0x74, 0xca, + 0xcf, 0xcf, 0xc1, 0xa2, 0x84, 0x03, 0xc9, 0x9c, 0xe0, 0x92, 0xa2, 0xcc, 0xbc, 0x74, 0x2c, 0x8a, + 0x38, 0x91, 0x1c, 0xe4, 0x54, 0x59, 0x92, 0x5a, 0x8c, 0x45, 0x0d, 0x0f, 0x54, 0x8d, 0x53, 0x0d, + 0x97, 0x70, 0x72, 0x7e, 0xae, 0x1e, 0x5a, 0xe8, 0x3a, 0xf1, 0x86, 0x43, 0x83, 0x3f, 0x00, 0x24, + 0x12, 0xc0, 0x18, 0xa5, 0x95, 0x9e, 0x59, 0x92, 0x51, 0x9a, 0xa4, 0x97, 0x9c, 0x9f, 0xab, 0x9f, + 0x9e, 0x9f, 0x93, 0x98, 0x97, 0x8e, 0x88, 0xaa, 0x82, 0x92, 0xca, 0x82, 0xd4, 0x62, 0x78, 0x8c, + 0xfd, 0x60, 0x64, 0x5c, 0xc4, 0xc4, 0xec, 0x1e, 0xe0, 0xb4, 0x8a, 0x49, 0xce, 0x1d, 0x62, 0x6e, + 0x00, 0x54, 0xa9, 0x5e, 0x78, 0x6a, 0x4e, 0x8e, 0x77, 0x5e, 0x7e, 0x79, 0x5e, 0x08, 0x48, 0x4b, + 0x12, 0x1b, 0xd8, 0x0c, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x19, 0x6c, 0xb9, 0xb8, 0xfe, + 0x01, 0x00, 0x00, } diff --git a/vendor/github.com/jlaffaye/ftp/parse.go b/vendor/github.com/jlaffaye/ftp/parse.go index 12e9efa5e..780e3b8e1 100644 --- a/vendor/github.com/jlaffaye/ftp/parse.go +++ b/vendor/github.com/jlaffaye/ftp/parse.go @@ -40,7 +40,7 @@ func parseRFC3659ListLine(line string) (*Entry, error) { return nil, errUnsupportedListLine } - key := field[:i] + key := strings.ToLower(field[:i]) value := field[i+1:] switch key { diff --git a/vendor/github.com/jlaffaye/ftp/parse_test.go b/vendor/github.com/jlaffaye/ftp/parse_test.go index 91a17f73b..a164eb7ed 100644 --- a/vendor/github.com/jlaffaye/ftp/parse_test.go +++ b/vendor/github.com/jlaffaye/ftp/parse_test.go @@ -47,6 +47,8 @@ var listTests = []line{ {"modify=20150806235817;perm=fle;type=dir;unique=1B20F360U4;UNIX.group=0;UNIX.mode=0755;UNIX.owner=0; movies", "movies", 0, EntryTypeFolder, time.Date(2015, time.August, 6, 23, 58, 17, 0, time.UTC)}, {"modify=20150814172949;perm=flcdmpe;type=dir;unique=85A0C168U4;UNIX.group=0;UNIX.mode=0777;UNIX.owner=0; _upload", "_upload", 0, EntryTypeFolder, time.Date(2015, time.August, 14, 17, 29, 49, 0, time.UTC)}, {"modify=20150813175250;perm=adfr;size=951;type=file;unique=119FBB87UE;UNIX.group=0;UNIX.mode=0644;UNIX.owner=0; welcome.msg", "welcome.msg", 951, EntryTypeFile, time.Date(2015, time.August, 13, 17, 52, 50, 0, time.UTC)}, + // Format and types have first letter UpperCase + {"Modify=20150813175250;Perm=adfr;Size=951;Type=file;Unique=119FBB87UE;UNIX.group=0;UNIX.mode=0644;UNIX.owner=0; welcome.msg", "welcome.msg", 951, EntryTypeFile, time.Date(2015, time.August, 13, 17, 52, 50, 0, time.UTC)}, // DOS DIR command output {"08-07-15 07:50PM 718 Post_PRR_20150901_1166_265118_13049.dat", "Post_PRR_20150901_1166_265118_13049.dat", 718, EntryTypeFile, time.Date(2015, time.August, 7, 19, 50, 0, 0, time.UTC)}, diff --git a/vendor/github.com/jmespath/go-jmespath/Makefile b/vendor/github.com/jmespath/go-jmespath/Makefile index ad17bf001..a828d2848 100644 --- a/vendor/github.com/jmespath/go-jmespath/Makefile +++ b/vendor/github.com/jmespath/go-jmespath/Makefile @@ -35,7 +35,7 @@ buildfuzz: go-fuzz-build github.com/jmespath/go-jmespath/fuzz fuzz: buildfuzz - go-fuzz -bin=./jmespath-fuzz.zip -workdir=fuzz/corpus + go-fuzz -bin=./jmespath-fuzz.zip -workdir=fuzz/testdata bench: go test -bench . -cpuprofile cpu.out diff --git a/vendor/github.com/jmespath/go-jmespath/api.go b/vendor/github.com/jmespath/go-jmespath/api.go index 67df3fc1c..9cfa988bc 100644 --- a/vendor/github.com/jmespath/go-jmespath/api.go +++ b/vendor/github.com/jmespath/go-jmespath/api.go @@ -1,5 +1,42 @@ package jmespath +import "strconv" + +// JmesPath is the epresentation of a compiled JMES path query. A JmesPath is +// safe for concurrent use by multiple goroutines. +type JMESPath struct { + ast ASTNode + intr *treeInterpreter +} + +// Compile parses a JMESPath expression and returns, if successful, a JMESPath +// object that can be used to match against data. +func Compile(expression string) (*JMESPath, error) { + parser := NewParser() + ast, err := parser.Parse(expression) + if err != nil { + return nil, err + } + jmespath := &JMESPath{ast: ast, intr: newInterpreter()} + return jmespath, nil +} + +// MustCompile is like Compile but panics if the expression cannot be parsed. +// It simplifies safe initialization of global variables holding compiled +// JMESPaths. +func MustCompile(expression string) *JMESPath { + jmespath, err := Compile(expression) + if err != nil { + panic(`jmespath: Compile(` + strconv.Quote(expression) + `): ` + err.Error()) + } + return jmespath +} + +// Search evaluates a JMESPath expression against input data and returns the result. +func (jp *JMESPath) Search(data interface{}) (interface{}, error) { + return jp.intr.Execute(jp.ast, data) +} + // Search evaluates a JMESPath expression against input data and returns the result. func Search(expression string, data interface{}) (interface{}, error) { intr := newInterpreter() diff --git a/vendor/github.com/jmespath/go-jmespath/api_test.go b/vendor/github.com/jmespath/go-jmespath/api_test.go new file mode 100644 index 000000000..b0b106d3d --- /dev/null +++ b/vendor/github.com/jmespath/go-jmespath/api_test.go @@ -0,0 +1,32 @@ +package jmespath + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestValidPrecompiledExpressionSearches(t *testing.T) { + assert := assert.New(t) + data := make(map[string]interface{}) + data["foo"] = "bar" + precompiled, err := Compile("foo") + assert.Nil(err) + result, err := precompiled.Search(data) + assert.Nil(err) + assert.Equal("bar", result) +} + +func TestInvalidPrecompileErrors(t *testing.T) { + assert := assert.New(t) + _, err := Compile("not a valid expression") + assert.NotNil(err) +} + +func TestInvalidMustCompilePanics(t *testing.T) { + defer func() { + r := recover() + assert.NotNil(t, r) + }() + MustCompile("not a valid expression") +} diff --git a/vendor/github.com/jmespath/go-jmespath/functions.go b/vendor/github.com/jmespath/go-jmespath/functions.go index 8a3f2ef0d..9b7cd89b4 100644 --- a/vendor/github.com/jmespath/go-jmespath/functions.go +++ b/vendor/github.com/jmespath/go-jmespath/functions.go @@ -5,6 +5,7 @@ import ( "errors" "fmt" "math" + "reflect" "sort" "strconv" "strings" @@ -124,197 +125,197 @@ type functionCaller struct { func newFunctionCaller() *functionCaller { caller := &functionCaller{} caller.functionTable = map[string]functionEntry{ - "length": functionEntry{ + "length": { name: "length", arguments: []argSpec{ - argSpec{types: []jpType{jpString, jpArray, jpObject}}, + {types: []jpType{jpString, jpArray, jpObject}}, }, handler: jpfLength, }, - "starts_with": functionEntry{ + "starts_with": { name: "starts_with", arguments: []argSpec{ - argSpec{types: []jpType{jpString}}, - argSpec{types: []jpType{jpString}}, + {types: []jpType{jpString}}, + {types: []jpType{jpString}}, }, handler: jpfStartsWith, }, - "abs": functionEntry{ + "abs": { name: "abs", arguments: []argSpec{ - argSpec{types: []jpType{jpNumber}}, + {types: []jpType{jpNumber}}, }, handler: jpfAbs, }, - "avg": functionEntry{ + "avg": { name: "avg", arguments: []argSpec{ - argSpec{types: []jpType{jpArrayNumber}}, + {types: []jpType{jpArrayNumber}}, }, handler: jpfAvg, }, - "ceil": functionEntry{ + "ceil": { name: "ceil", arguments: []argSpec{ - argSpec{types: []jpType{jpNumber}}, + {types: []jpType{jpNumber}}, }, handler: jpfCeil, }, - "contains": functionEntry{ + "contains": { name: "contains", arguments: []argSpec{ - argSpec{types: []jpType{jpArray, jpString}}, - argSpec{types: []jpType{jpAny}}, + {types: []jpType{jpArray, jpString}}, + {types: []jpType{jpAny}}, }, handler: jpfContains, }, - "ends_with": functionEntry{ + "ends_with": { name: "ends_with", arguments: []argSpec{ - argSpec{types: []jpType{jpString}}, - argSpec{types: []jpType{jpString}}, + {types: []jpType{jpString}}, + {types: []jpType{jpString}}, }, handler: jpfEndsWith, }, - "floor": functionEntry{ + "floor": { name: "floor", arguments: []argSpec{ - argSpec{types: []jpType{jpNumber}}, + {types: []jpType{jpNumber}}, }, handler: jpfFloor, }, - "map": functionEntry{ + "map": { name: "amp", arguments: []argSpec{ - argSpec{types: []jpType{jpExpref}}, - argSpec{types: []jpType{jpArray}}, + {types: []jpType{jpExpref}}, + {types: []jpType{jpArray}}, }, handler: jpfMap, hasExpRef: true, }, - "max": functionEntry{ + "max": { name: "max", arguments: []argSpec{ - argSpec{types: []jpType{jpArrayNumber, jpArrayString}}, + {types: []jpType{jpArrayNumber, jpArrayString}}, }, handler: jpfMax, }, - "merge": functionEntry{ + "merge": { name: "merge", arguments: []argSpec{ - argSpec{types: []jpType{jpObject}, variadic: true}, + {types: []jpType{jpObject}, variadic: true}, }, handler: jpfMerge, }, - "max_by": functionEntry{ + "max_by": { name: "max_by", arguments: []argSpec{ - argSpec{types: []jpType{jpArray}}, - argSpec{types: []jpType{jpExpref}}, + {types: []jpType{jpArray}}, + {types: []jpType{jpExpref}}, }, handler: jpfMaxBy, hasExpRef: true, }, - "sum": functionEntry{ + "sum": { name: "sum", arguments: []argSpec{ - argSpec{types: []jpType{jpArrayNumber}}, + {types: []jpType{jpArrayNumber}}, }, handler: jpfSum, }, - "min": functionEntry{ + "min": { name: "min", arguments: []argSpec{ - argSpec{types: []jpType{jpArrayNumber, jpArrayString}}, + {types: []jpType{jpArrayNumber, jpArrayString}}, }, handler: jpfMin, }, - "min_by": functionEntry{ + "min_by": { name: "min_by", arguments: []argSpec{ - argSpec{types: []jpType{jpArray}}, - argSpec{types: []jpType{jpExpref}}, + {types: []jpType{jpArray}}, + {types: []jpType{jpExpref}}, }, handler: jpfMinBy, hasExpRef: true, }, - "type": functionEntry{ + "type": { name: "type", arguments: []argSpec{ - argSpec{types: []jpType{jpAny}}, + {types: []jpType{jpAny}}, }, handler: jpfType, }, - "keys": functionEntry{ + "keys": { name: "keys", arguments: []argSpec{ - argSpec{types: []jpType{jpObject}}, + {types: []jpType{jpObject}}, }, handler: jpfKeys, }, - "values": functionEntry{ + "values": { name: "values", arguments: []argSpec{ - argSpec{types: []jpType{jpObject}}, + {types: []jpType{jpObject}}, }, handler: jpfValues, }, - "sort": functionEntry{ + "sort": { name: "sort", arguments: []argSpec{ - argSpec{types: []jpType{jpArrayString, jpArrayNumber}}, + {types: []jpType{jpArrayString, jpArrayNumber}}, }, handler: jpfSort, }, - "sort_by": functionEntry{ + "sort_by": { name: "sort_by", arguments: []argSpec{ - argSpec{types: []jpType{jpArray}}, - argSpec{types: []jpType{jpExpref}}, + {types: []jpType{jpArray}}, + {types: []jpType{jpExpref}}, }, handler: jpfSortBy, hasExpRef: true, }, - "join": functionEntry{ + "join": { name: "join", arguments: []argSpec{ - argSpec{types: []jpType{jpString}}, - argSpec{types: []jpType{jpArrayString}}, + {types: []jpType{jpString}}, + {types: []jpType{jpArrayString}}, }, handler: jpfJoin, }, - "reverse": functionEntry{ + "reverse": { name: "reverse", arguments: []argSpec{ - argSpec{types: []jpType{jpArray, jpString}}, + {types: []jpType{jpArray, jpString}}, }, handler: jpfReverse, }, - "to_array": functionEntry{ + "to_array": { name: "to_array", arguments: []argSpec{ - argSpec{types: []jpType{jpAny}}, + {types: []jpType{jpAny}}, }, handler: jpfToArray, }, - "to_string": functionEntry{ + "to_string": { name: "to_string", arguments: []argSpec{ - argSpec{types: []jpType{jpAny}}, + {types: []jpType{jpAny}}, }, handler: jpfToString, }, - "to_number": functionEntry{ + "to_number": { name: "to_number", arguments: []argSpec{ - argSpec{types: []jpType{jpAny}}, + {types: []jpType{jpAny}}, }, handler: jpfToNumber, }, - "not_null": functionEntry{ + "not_null": { name: "not_null", arguments: []argSpec{ - argSpec{types: []jpType{jpAny}, variadic: true}, + {types: []jpType{jpAny}, variadic: true}, }, handler: jpfNotNull, }, @@ -357,7 +358,7 @@ func (a *argSpec) typeCheck(arg interface{}) error { return nil } case jpArray: - if _, ok := arg.([]interface{}); ok { + if isSliceType(arg) { return nil } case jpObject: @@ -409,8 +410,9 @@ func jpfLength(arguments []interface{}) (interface{}, error) { arg := arguments[0] if c, ok := arg.(string); ok { return float64(utf8.RuneCountInString(c)), nil - } else if c, ok := arg.([]interface{}); ok { - return float64(len(c)), nil + } else if isSliceType(arg) { + v := reflect.ValueOf(arg) + return float64(v.Len()), nil } else if c, ok := arg.(map[string]interface{}); ok { return float64(len(c)), nil } diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-1 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-1 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-1 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-10 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-10 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-10 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-10 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-100 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-100 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-100 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-100 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-101 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-101 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-101 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-101 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-102 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-102 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-102 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-102 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-103 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-103 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-103 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-103 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-104 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-104 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-104 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-104 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-105 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-105 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-105 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-105 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-106 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-106 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-106 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-106 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-107 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-107 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-107 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-107 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-108 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-108 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-108 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-108 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-109 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-109 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-109 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-109 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-110 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-110 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-110 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-110 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-112 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-112 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-112 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-112 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-115 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-115 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-115 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-115 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-118 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-118 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-118 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-118 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-119 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-119 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-119 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-119 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-12 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-12 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-12 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-12 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-120 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-120 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-120 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-120 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-121 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-121 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-121 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-121 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-122 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-122 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-122 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-122 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-123 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-123 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-123 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-123 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-126 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-126 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-126 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-126 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-128 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-128 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-128 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-128 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-129 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-129 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-129 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-129 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-13 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-13 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-13 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-13 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-130 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-130 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-130 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-130 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-131 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-131 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-131 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-131 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-132 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-132 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-132 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-132 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-133 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-133 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-133 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-133 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-134 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-134 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-134 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-134 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-135 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-135 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-135 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-135 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-136 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-136 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-136 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-136 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-137 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-137 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-137 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-137 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-138 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-138 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-138 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-138 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-139 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-139 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-139 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-139 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-14 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-14 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-14 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-14 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-140 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-140 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-140 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-140 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-141 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-141 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-141 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-141 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-142 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-142 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-142 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-142 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-143 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-143 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-143 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-143 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-144 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-144 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-144 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-144 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-145 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-145 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-145 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-145 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-146 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-146 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-146 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-146 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-147 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-147 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-147 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-147 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-148 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-148 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-148 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-148 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-149 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-149 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-149 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-149 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-15 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-15 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-15 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-15 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-150 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-150 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-150 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-150 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-151 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-151 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-151 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-151 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-152 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-152 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-152 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-152 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-153 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-153 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-153 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-153 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-155 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-155 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-155 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-155 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-156 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-156 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-156 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-156 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-157 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-157 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-157 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-157 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-158 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-158 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-158 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-158 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-159 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-159 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-159 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-159 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-16 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-16 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-16 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-16 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-160 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-160 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-160 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-160 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-161 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-161 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-161 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-161 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-162 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-162 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-162 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-162 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-163 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-163 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-163 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-163 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-164 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-164 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-164 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-164 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-165 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-165 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-165 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-165 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-166 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-166 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-166 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-166 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-167 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-167 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-167 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-167 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-168 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-168 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-168 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-168 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-169 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-169 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-169 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-169 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-17 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-17 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-17 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-17 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-170 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-170 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-170 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-170 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-171 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-171 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-171 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-171 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-172 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-172 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-172 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-172 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-173 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-173 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-173 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-173 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-174 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-174 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-174 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-174 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-175 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-175 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-175 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-175 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-178 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-178 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-178 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-178 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-179 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-179 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-179 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-179 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-18 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-18 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-18 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-18 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-180 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-180 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-180 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-180 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-181 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-181 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-181 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-181 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-182 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-182 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-182 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-182 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-183 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-183 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-183 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-183 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-184 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-184 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-184 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-184 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-185 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-185 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-185 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-185 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-186 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-186 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-186 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-186 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-187 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-187 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-187 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-187 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-188 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-188 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-188 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-188 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-189 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-189 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-189 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-189 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-19 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-19 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-19 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-19 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-190 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-190 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-190 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-190 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-191 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-191 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-191 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-191 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-192 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-192 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-192 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-192 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-193 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-193 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-193 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-193 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-194 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-194 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-194 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-194 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-195 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-195 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-195 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-195 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-196 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-196 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-196 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-196 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-198 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-198 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-198 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-198 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-199 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-199 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-199 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-199 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-2 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-2 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-2 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-20 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-20 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-20 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-20 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-200 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-200 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-200 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-200 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-201 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-201 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-201 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-201 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-202 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-202 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-202 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-202 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-203 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-203 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-203 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-203 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-204 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-204 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-204 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-204 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-205 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-205 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-205 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-205 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-206 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-206 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-206 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-206 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-207 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-207 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-207 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-207 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-208 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-208 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-208 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-208 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-209 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-209 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-209 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-209 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-21 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-21 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-21 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-21 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-210 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-210 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-210 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-210 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-211 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-211 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-211 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-211 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-212 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-212 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-212 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-212 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-213 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-213 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-213 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-213 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-214 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-214 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-214 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-214 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-215 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-215 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-215 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-215 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-216 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-216 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-216 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-216 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-217 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-217 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-217 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-217 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-218 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-218 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-218 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-218 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-219 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-219 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-219 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-219 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-22 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-22 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-22 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-22 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-220 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-220 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-220 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-220 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-221 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-221 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-221 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-221 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-222 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-222 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-222 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-222 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-223 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-223 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-223 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-223 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-224 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-224 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-224 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-224 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-225 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-225 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-225 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-225 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-226 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-226 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-226 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-226 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-227 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-227 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-227 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-227 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-228 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-228 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-228 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-228 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-229 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-229 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-229 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-229 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-23 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-23 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-23 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-23 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-230 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-230 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-230 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-230 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-231 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-231 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-231 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-231 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-232 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-232 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-232 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-232 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-233 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-233 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-233 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-233 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-234 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-234 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-234 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-234 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-235 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-235 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-235 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-235 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-236 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-236 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-236 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-236 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-237 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-237 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-237 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-237 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-238 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-238 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-238 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-238 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-239 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-239 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-239 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-239 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-24 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-24 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-24 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-24 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-240 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-240 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-240 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-240 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-241 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-241 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-241 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-241 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-242 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-242 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-242 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-242 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-243 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-243 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-243 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-243 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-244 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-244 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-244 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-244 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-245 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-245 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-245 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-245 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-246 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-246 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-246 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-246 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-247 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-247 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-247 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-247 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-248 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-248 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-248 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-248 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-249 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-249 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-249 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-249 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-25 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-25 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-25 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-25 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-250 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-250 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-250 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-250 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-251 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-251 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-251 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-251 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-252 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-252 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-252 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-252 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-253 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-253 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-253 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-253 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-254 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-254 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-254 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-254 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-255 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-255 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-255 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-255 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-256 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-256 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-256 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-256 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-257 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-257 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-257 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-257 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-258 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-258 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-258 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-258 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-259 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-259 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-259 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-259 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-26 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-26 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-26 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-26 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-260 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-260 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-260 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-260 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-261 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-261 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-261 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-261 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-262 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-262 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-262 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-262 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-263 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-263 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-263 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-263 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-264 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-264 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-264 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-264 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-265 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-265 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-265 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-265 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-266 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-266 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-266 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-266 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-267 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-267 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-267 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-267 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-268 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-268 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-268 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-268 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-269 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-269 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-269 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-269 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-27 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-27 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-27 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-27 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-270 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-270 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-270 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-270 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-271 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-271 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-271 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-271 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-272 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-272 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-272 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-272 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-273 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-273 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-273 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-273 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-274 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-274 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-274 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-274 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-275 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-275 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-275 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-275 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-276 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-276 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-276 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-276 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-277 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-277 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-277 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-277 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-278 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-278 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-278 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-278 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-279 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-279 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-279 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-279 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-28 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-28 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-28 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-28 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-280 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-280 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-280 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-280 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-281 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-281 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-281 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-281 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-282 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-282 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-282 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-282 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-283 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-283 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-283 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-283 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-284 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-284 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-284 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-284 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-285 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-285 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-285 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-285 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-286 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-286 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-286 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-286 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-287 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-287 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-287 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-287 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-288 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-288 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-288 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-288 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-289 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-289 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-289 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-289 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-29 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-29 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-29 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-29 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-290 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-290 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-290 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-290 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-291 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-291 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-291 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-291 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-292 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-292 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-292 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-292 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-293 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-293 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-293 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-293 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-294 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-294 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-294 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-294 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-295 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-295 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-295 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-295 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-296 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-296 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-296 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-296 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-297 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-297 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-297 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-297 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-298 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-298 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-298 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-298 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-299 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-299 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-299 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-299 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-3 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-3 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-3 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-30 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-30 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-30 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-30 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-300 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-300 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-300 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-300 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-301 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-301 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-301 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-301 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-302 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-302 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-302 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-302 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-303 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-303 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-303 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-303 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-304 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-304 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-304 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-304 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-305 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-305 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-305 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-305 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-306 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-306 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-306 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-306 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-307 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-307 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-307 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-307 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-308 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-308 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-308 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-308 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-309 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-309 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-309 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-309 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-31 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-31 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-31 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-31 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-310 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-310 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-310 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-310 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-311 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-311 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-311 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-311 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-312 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-312 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-312 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-312 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-313 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-313 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-313 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-313 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-314 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-314 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-314 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-314 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-315 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-315 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-315 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-315 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-316 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-316 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-316 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-316 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-317 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-317 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-317 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-317 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-318 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-318 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-318 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-318 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-319 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-319 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-319 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-319 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-32 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-32 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-32 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-32 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-320 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-320 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-320 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-320 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-321 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-321 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-321 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-321 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-322 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-322 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-322 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-322 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-323 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-323 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-323 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-323 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-324 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-324 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-324 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-324 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-325 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-325 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-325 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-325 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-326 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-326 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-326 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-326 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-327 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-327 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-327 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-327 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-328 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-328 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-328 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-328 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-329 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-329 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-329 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-329 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-33 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-33 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-33 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-33 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-330 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-330 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-330 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-330 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-331 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-331 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-331 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-331 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-332 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-332 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-332 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-332 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-333 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-333 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-333 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-333 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-334 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-334 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-334 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-334 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-335 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-335 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-335 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-335 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-336 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-336 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-336 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-336 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-337 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-337 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-337 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-337 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-338 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-338 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-338 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-338 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-339 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-339 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-339 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-339 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-34 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-34 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-34 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-34 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-340 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-340 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-340 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-340 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-341 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-341 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-341 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-341 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-342 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-342 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-342 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-342 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-343 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-343 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-343 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-343 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-344 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-344 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-344 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-344 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-345 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-345 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-345 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-345 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-346 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-346 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-346 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-346 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-347 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-347 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-347 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-347 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-348 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-348 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-348 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-348 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-349 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-349 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-349 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-349 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-35 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-35 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-35 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-35 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-350 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-350 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-350 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-350 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-351 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-351 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-351 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-351 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-352 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-352 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-352 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-352 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-353 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-353 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-353 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-353 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-354 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-354 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-354 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-354 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-355 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-355 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-355 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-355 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-356 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-356 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-356 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-356 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-357 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-357 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-357 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-357 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-358 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-358 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-358 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-358 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-359 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-359 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-359 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-359 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-36 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-36 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-36 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-36 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-360 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-360 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-360 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-360 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-361 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-361 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-361 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-361 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-362 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-362 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-362 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-362 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-363 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-363 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-363 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-363 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-364 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-364 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-364 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-364 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-365 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-365 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-365 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-365 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-366 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-366 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-366 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-366 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-367 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-367 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-367 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-367 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-368 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-368 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-368 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-368 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-369 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-369 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-369 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-369 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-37 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-37 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-37 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-37 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-370 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-370 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-370 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-370 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-371 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-371 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-371 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-371 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-372 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-372 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-372 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-372 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-373 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-373 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-373 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-373 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-374 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-374 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-374 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-374 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-375 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-375 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-375 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-375 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-376 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-376 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-376 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-376 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-377 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-377 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-377 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-377 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-378 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-378 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-378 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-378 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-379 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-379 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-379 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-379 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-38 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-38 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-38 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-38 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-380 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-380 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-380 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-380 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-381 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-381 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-381 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-381 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-382 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-382 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-382 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-382 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-383 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-383 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-383 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-383 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-384 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-384 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-384 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-384 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-385 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-385 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-385 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-385 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-386 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-386 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-386 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-386 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-387 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-387 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-387 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-387 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-388 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-388 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-388 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-388 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-389 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-389 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-389 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-389 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-39 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-39 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-39 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-39 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-390 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-390 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-390 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-390 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-391 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-391 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-391 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-391 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-392 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-392 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-392 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-392 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-393 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-393 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-393 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-393 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-394 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-394 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-394 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-394 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-395 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-395 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-395 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-395 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-396 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-396 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-396 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-396 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-397 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-397 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-397 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-397 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-398 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-398 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-398 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-398 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-399 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-399 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-399 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-399 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-4 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-4 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-4 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-40 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-40 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-40 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-40 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-400 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-400 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-400 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-400 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-401 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-401 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-401 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-401 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-402 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-402 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-402 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-402 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-403 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-403 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-403 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-403 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-404 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-404 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-404 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-404 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-405 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-405 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-405 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-405 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-406 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-406 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-406 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-406 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-407 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-407 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-407 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-407 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-408 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-408 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-408 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-408 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-409 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-409 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-409 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-409 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-41 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-41 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-41 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-41 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-410 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-410 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-410 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-410 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-411 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-411 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-411 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-411 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-412 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-412 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-412 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-412 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-413 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-413 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-413 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-413 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-414 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-414 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-414 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-414 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-415 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-415 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-415 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-415 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-416 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-416 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-416 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-416 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-417 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-417 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-417 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-417 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-418 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-418 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-418 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-418 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-419 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-419 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-419 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-419 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-42 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-42 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-42 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-42 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-420 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-420 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-420 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-420 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-421 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-421 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-421 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-421 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-422 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-422 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-422 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-422 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-423 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-423 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-423 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-423 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-424 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-424 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-424 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-424 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-425 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-425 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-425 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-425 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-426 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-426 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-426 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-426 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-427 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-427 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-427 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-427 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-428 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-428 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-428 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-428 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-429 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-429 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-429 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-429 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-43 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-43 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-43 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-43 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-430 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-430 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-430 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-430 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-431 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-431 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-431 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-431 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-432 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-432 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-432 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-432 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-433 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-433 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-433 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-433 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-434 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-434 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-434 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-434 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-435 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-435 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-435 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-435 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-436 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-436 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-436 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-436 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-437 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-437 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-437 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-437 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-438 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-438 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-438 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-438 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-439 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-439 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-439 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-439 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-44 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-44 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-44 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-44 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-440 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-440 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-440 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-440 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-441 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-441 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-441 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-441 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-442 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-442 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-442 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-442 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-443 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-443 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-443 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-443 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-444 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-444 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-444 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-444 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-445 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-445 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-445 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-445 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-446 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-446 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-446 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-446 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-447 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-447 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-447 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-447 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-448 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-448 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-448 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-448 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-449 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-449 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-449 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-449 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-45 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-45 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-45 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-45 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-450 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-450 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-450 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-450 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-451 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-451 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-451 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-451 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-452 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-452 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-452 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-452 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-453 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-453 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-453 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-453 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-454 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-454 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-454 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-454 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-455 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-455 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-455 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-455 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-456 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-456 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-456 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-456 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-457 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-457 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-457 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-457 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-458 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-458 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-458 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-458 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-459 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-459 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-459 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-459 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-46 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-46 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-46 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-46 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-460 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-460 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-460 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-460 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-461 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-461 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-461 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-461 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-462 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-462 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-462 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-462 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-463 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-463 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-463 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-463 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-464 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-464 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-464 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-464 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-465 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-465 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-465 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-465 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-466 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-466 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-466 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-466 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-467 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-467 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-467 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-467 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-468 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-468 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-468 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-468 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-469 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-469 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-469 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-469 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-47 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-47 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-47 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-47 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-470 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-470 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-470 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-470 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-471 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-471 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-471 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-471 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-472 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-472 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-472 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-472 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-473 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-473 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-473 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-473 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-474 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-474 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-474 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-474 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-475 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-475 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-475 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-475 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-476 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-476 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-476 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-476 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-477 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-477 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-477 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-477 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-478 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-478 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-478 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-478 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-479 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-479 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-479 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-479 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-48 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-48 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-48 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-48 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-480 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-480 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-480 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-480 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-481 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-481 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-481 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-481 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-482 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-482 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-482 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-482 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-483 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-483 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-483 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-483 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-484 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-484 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-484 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-484 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-485 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-485 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-485 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-485 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-486 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-486 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-486 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-486 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-487 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-487 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-487 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-487 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-488 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-488 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-488 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-488 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-489 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-489 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-489 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-489 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-49 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-49 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-49 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-49 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-490 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-490 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-490 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-490 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-491 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-491 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-491 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-491 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-492 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-492 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-492 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-492 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-493 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-493 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-493 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-493 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-494 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-494 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-494 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-494 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-495 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-495 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-495 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-495 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-496 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-496 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-496 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-496 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-497 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-497 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-497 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-497 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-498 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-498 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-498 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-498 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-499 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-499 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-499 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-499 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-5 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-5 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-5 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-50 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-50 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-50 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-50 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-500 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-500 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-500 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-500 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-501 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-501 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-501 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-501 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-502 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-502 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-502 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-502 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-503 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-503 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-503 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-503 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-504 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-504 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-504 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-504 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-505 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-505 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-505 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-505 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-506 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-506 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-506 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-506 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-507 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-507 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-507 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-507 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-508 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-508 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-508 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-508 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-509 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-509 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-509 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-509 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-51 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-51 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-51 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-51 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-510 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-510 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-510 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-510 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-511 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-511 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-511 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-511 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-512 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-512 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-512 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-512 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-513 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-513 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-513 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-513 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-514 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-514 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-514 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-514 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-515 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-515 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-515 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-515 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-516 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-516 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-516 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-516 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-517 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-517 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-517 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-517 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-518 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-518 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-518 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-518 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-519 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-519 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-519 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-519 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-52 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-52 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-52 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-52 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-520 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-520 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-520 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-520 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-521 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-521 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-521 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-521 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-522 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-522 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-522 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-522 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-523 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-523 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-523 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-523 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-524 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-524 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-524 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-524 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-525 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-525 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-525 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-525 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-526 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-526 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-526 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-526 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-527 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-527 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-527 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-527 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-528 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-528 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-528 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-528 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-529 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-529 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-529 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-529 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-53 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-53 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-53 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-53 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-530 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-530 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-530 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-530 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-531 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-531 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-531 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-531 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-532 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-532 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-532 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-532 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-533 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-533 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-533 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-533 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-534 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-534 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-534 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-534 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-535 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-535 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-535 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-535 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-536 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-536 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-536 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-536 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-537 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-537 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-537 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-537 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-538 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-538 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-538 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-538 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-539 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-539 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-539 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-539 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-54 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-54 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-54 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-54 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-540 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-540 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-540 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-540 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-541 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-541 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-541 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-541 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-542 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-542 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-542 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-542 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-543 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-543 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-543 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-543 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-544 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-544 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-544 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-544 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-545 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-545 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-545 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-545 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-546 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-546 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-546 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-546 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-547 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-547 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-547 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-547 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-548 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-548 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-548 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-548 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-549 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-549 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-549 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-549 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-55 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-55 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-55 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-55 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-550 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-550 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-550 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-550 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-551 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-551 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-551 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-551 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-552 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-552 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-552 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-552 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-553 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-553 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-553 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-553 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-554 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-554 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-554 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-554 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-555 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-555 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-555 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-555 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-556 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-556 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-556 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-556 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-557 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-557 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-557 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-557 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-558 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-558 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-558 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-558 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-559 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-559 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-559 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-559 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-56 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-56 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-56 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-56 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-560 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-560 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-560 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-560 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-561 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-561 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-561 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-561 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-562 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-562 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-562 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-562 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-563 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-563 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-563 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-563 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-564 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-564 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-564 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-564 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-565 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-565 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-565 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-565 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-566 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-566 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-566 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-566 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-567 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-567 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-567 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-567 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-568 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-568 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-568 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-568 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-569 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-569 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-569 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-569 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-57 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-57 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-57 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-57 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-570 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-570 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-570 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-570 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-571 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-571 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-571 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-571 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-572 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-572 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-572 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-572 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-573 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-573 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-573 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-573 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-574 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-574 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-574 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-574 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-575 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-575 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-575 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-575 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-576 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-576 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-576 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-576 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-577 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-577 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-577 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-577 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-578 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-578 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-578 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-578 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-579 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-579 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-579 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-579 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-58 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-58 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-58 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-58 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-580 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-580 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-580 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-580 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-581 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-581 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-581 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-581 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-582 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-582 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-582 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-582 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-583 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-583 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-583 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-583 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-584 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-584 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-584 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-584 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-585 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-585 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-585 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-585 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-586 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-586 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-586 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-586 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-587 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-587 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-587 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-587 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-588 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-588 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-588 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-588 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-589 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-589 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-589 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-589 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-59 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-59 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-59 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-59 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-590 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-590 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-590 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-590 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-591 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-591 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-591 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-591 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-592 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-592 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-592 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-592 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-593 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-593 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-593 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-593 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-594 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-594 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-594 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-594 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-595 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-595 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-595 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-595 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-596 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-596 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-596 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-596 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-597 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-597 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-597 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-597 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-598 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-598 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-598 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-598 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-599 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-599 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-599 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-599 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-6 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-6 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-6 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-60 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-60 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-60 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-60 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-600 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-600 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-600 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-600 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-601 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-601 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-601 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-601 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-602 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-602 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-602 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-602 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-603 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-603 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-603 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-603 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-604 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-604 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-604 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-604 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-605 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-605 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-605 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-605 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-606 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-606 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-606 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-606 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-607 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-607 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-607 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-607 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-608 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-608 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-608 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-608 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-609 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-609 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-609 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-609 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-61 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-61 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-61 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-61 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-610 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-610 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-610 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-610 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-611 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-611 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-611 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-611 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-612 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-612 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-612 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-612 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-613 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-613 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-613 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-613 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-614 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-614 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-614 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-614 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-615 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-615 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-615 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-615 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-616 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-616 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-616 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-616 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-617 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-617 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-617 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-617 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-618 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-618 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-618 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-618 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-619 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-619 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-619 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-619 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-62 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-62 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-62 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-62 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-620 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-620 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-620 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-620 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-621 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-621 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-621 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-621 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-622 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-622 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-622 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-622 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-623 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-623 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-623 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-623 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-624 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-624 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-624 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-624 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-625 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-625 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-625 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-625 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-626 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-626 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-626 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-626 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-627 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-627 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-627 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-627 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-628 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-628 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-628 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-628 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-629 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-629 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-629 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-629 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-63 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-63 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-63 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-63 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-630 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-630 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-630 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-630 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-631 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-631 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-631 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-631 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-632 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-632 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-632 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-632 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-633 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-633 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-633 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-633 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-634 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-634 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-634 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-634 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-635 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-635 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-635 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-635 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-636 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-636 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-636 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-636 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-637 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-637 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-637 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-637 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-638 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-638 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-638 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-638 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-639 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-639 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-639 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-639 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-64 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-64 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-64 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-64 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-640 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-640 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-640 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-640 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-641 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-641 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-641 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-641 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-642 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-642 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-642 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-642 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-643 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-643 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-643 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-643 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-644 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-644 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-644 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-644 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-645 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-645 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-645 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-645 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-646 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-646 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-646 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-646 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-647 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-647 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-647 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-647 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-648 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-648 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-648 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-648 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-649 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-649 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-649 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-649 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-65 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-65 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-65 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-65 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-650 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-650 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-650 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-650 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-651 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-651 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-651 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-651 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-652 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-652 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-652 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-652 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-653 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-653 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-653 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-653 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-654 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-654 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-654 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-654 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-655 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-655 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-655 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-655 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-656 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-656 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-656 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-656 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-66 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-66 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-66 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-66 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-67 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-67 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-67 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-67 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-68 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-68 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-68 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-68 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-69 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-69 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-69 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-69 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-7 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-7 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-7 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-7 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-70 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-70 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-70 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-70 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-71 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-71 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-71 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-71 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-72 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-72 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-72 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-72 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-73 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-73 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-73 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-73 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-74 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-74 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-74 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-74 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-75 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-75 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-75 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-75 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-76 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-76 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-76 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-76 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-77 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-77 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-77 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-77 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-78 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-78 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-78 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-78 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-79 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-79 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-79 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-79 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-8 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-8 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-8 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-8 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-80 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-80 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-80 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-80 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-81 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-81 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-81 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-81 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-82 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-82 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-82 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-82 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-83 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-83 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-83 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-83 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-84 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-84 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-84 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-84 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-85 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-85 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-85 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-85 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-86 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-86 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-86 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-86 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-87 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-87 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-87 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-87 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-88 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-88 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-88 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-88 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-89 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-89 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-89 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-89 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-9 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-9 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-9 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-9 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-90 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-90 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-90 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-90 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-91 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-91 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-91 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-91 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-92 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-92 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-92 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-92 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-93 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-93 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-93 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-93 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-94 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-94 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-94 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-94 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-95 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-95 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-95 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-95 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-96 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-96 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-96 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-96 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-97 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-97 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-97 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-97 diff --git a/vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-98 b/vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-98 similarity index 100% rename from vendor/github.com/jmespath/go-jmespath/fuzz/corpus/expr-98 rename to vendor/github.com/jmespath/go-jmespath/fuzz/testdata/expr-98 diff --git a/vendor/github.com/jmespath/go-jmespath/interpreter_test.go b/vendor/github.com/jmespath/go-jmespath/interpreter_test.go index 5b529c4f3..11c6d0aa0 100644 --- a/vendor/github.com/jmespath/go-jmespath/interpreter_test.go +++ b/vendor/github.com/jmespath/go-jmespath/interpreter_test.go @@ -69,7 +69,7 @@ func TestCanSupportUserDefinedStructsRef(t *testing.T) { func TestCanSupportStructWithSliceAll(t *testing.T) { assert := assert.New(t) - data := sliceType{A: "foo", B: []scalars{scalars{"f1", "b1"}, scalars{"correct", "b2"}}} + data := sliceType{A: "foo", B: []scalars{{"f1", "b1"}, {"correct", "b2"}}} result, err := Search("B[].Foo", data) assert.Nil(err) assert.Equal([]interface{}{"f1", "correct"}, result) @@ -77,7 +77,7 @@ func TestCanSupportStructWithSliceAll(t *testing.T) { func TestCanSupportStructWithSlicingExpression(t *testing.T) { assert := assert.New(t) - data := sliceType{A: "foo", B: []scalars{scalars{"f1", "b1"}, scalars{"correct", "b2"}}} + data := sliceType{A: "foo", B: []scalars{{"f1", "b1"}, {"correct", "b2"}}} result, err := Search("B[:].Foo", data) assert.Nil(err) assert.Equal([]interface{}{"f1", "correct"}, result) @@ -85,7 +85,7 @@ func TestCanSupportStructWithSlicingExpression(t *testing.T) { func TestCanSupportStructWithFilterProjection(t *testing.T) { assert := assert.New(t) - data := sliceType{A: "foo", B: []scalars{scalars{"f1", "b1"}, scalars{"correct", "b2"}}} + data := sliceType{A: "foo", B: []scalars{{"f1", "b1"}, {"correct", "b2"}}} result, err := Search("B[? `true` ].Foo", data) assert.Nil(err) assert.Equal([]interface{}{"f1", "correct"}, result) @@ -93,7 +93,7 @@ func TestCanSupportStructWithFilterProjection(t *testing.T) { func TestCanSupportStructWithSlice(t *testing.T) { assert := assert.New(t) - data := sliceType{A: "foo", B: []scalars{scalars{"f1", "b1"}, scalars{"correct", "b2"}}} + data := sliceType{A: "foo", B: []scalars{{"f1", "b1"}, {"correct", "b2"}}} result, err := Search("B[-1].Foo", data) assert.Nil(err) assert.Equal("correct", result) @@ -109,7 +109,7 @@ func TestCanSupportStructWithOrExpressions(t *testing.T) { func TestCanSupportStructWithSlicePointer(t *testing.T) { assert := assert.New(t) - data := sliceType{A: "foo", C: []*scalars{&scalars{"f1", "b1"}, &scalars{"correct", "b2"}}} + data := sliceType{A: "foo", C: []*scalars{{"f1", "b1"}, {"correct", "b2"}}} result, err := Search("C[-1].Foo", data) assert.Nil(err) assert.Equal("correct", result) @@ -128,7 +128,7 @@ func TestWillAutomaticallyCapitalizeFieldNames(t *testing.T) { func TestCanSupportStructWithSliceLowerCased(t *testing.T) { assert := assert.New(t) - data := sliceType{A: "foo", B: []scalars{scalars{"f1", "b1"}, scalars{"correct", "b2"}}} + data := sliceType{A: "foo", B: []scalars{{"f1", "b1"}, {"correct", "b2"}}} result, err := Search("b[-1].foo", data) assert.Nil(err) assert.Equal("correct", result) @@ -173,6 +173,14 @@ func TestCanSupportProjectionsWithStructs(t *testing.T) { assert.Equal([]interface{}{"first", "second", "third"}, result) } +func TestCanSupportSliceOfStructsWithFunctions(t *testing.T) { + assert := assert.New(t) + data := []scalars{scalars{"a1", "b1"}, scalars{"a2", "b2"}} + result, err := Search("length(@)", data) + assert.Nil(err) + assert.Equal(result.(float64), 2.0) +} + func BenchmarkInterpretSingleFieldStruct(b *testing.B) { intr := newInterpreter() parser := NewParser() diff --git a/vendor/github.com/jmespath/go-jmespath/lexer_test.go b/vendor/github.com/jmespath/go-jmespath/lexer_test.go index 7a9a9ee24..d13a042da 100644 --- a/vendor/github.com/jmespath/go-jmespath/lexer_test.go +++ b/vendor/github.com/jmespath/go-jmespath/lexer_test.go @@ -11,63 +11,63 @@ var lexingTests = []struct { expression string expected []token }{ - {"*", []token{token{tStar, "*", 0, 1}}}, - {".", []token{token{tDot, ".", 0, 1}}}, - {"[?", []token{token{tFilter, "[?", 0, 2}}}, - {"[]", []token{token{tFlatten, "[]", 0, 2}}}, - {"(", []token{token{tLparen, "(", 0, 1}}}, - {")", []token{token{tRparen, ")", 0, 1}}}, - {"[", []token{token{tLbracket, "[", 0, 1}}}, - {"]", []token{token{tRbracket, "]", 0, 1}}}, - {"{", []token{token{tLbrace, "{", 0, 1}}}, - {"}", []token{token{tRbrace, "}", 0, 1}}}, - {"||", []token{token{tOr, "||", 0, 2}}}, - {"|", []token{token{tPipe, "|", 0, 1}}}, - {"29", []token{token{tNumber, "29", 0, 2}}}, - {"2", []token{token{tNumber, "2", 0, 1}}}, - {"0", []token{token{tNumber, "0", 0, 1}}}, - {"-20", []token{token{tNumber, "-20", 0, 3}}}, - {"foo", []token{token{tUnquotedIdentifier, "foo", 0, 3}}}, - {`"bar"`, []token{token{tQuotedIdentifier, "bar", 0, 3}}}, + {"*", []token{{tStar, "*", 0, 1}}}, + {".", []token{{tDot, ".", 0, 1}}}, + {"[?", []token{{tFilter, "[?", 0, 2}}}, + {"[]", []token{{tFlatten, "[]", 0, 2}}}, + {"(", []token{{tLparen, "(", 0, 1}}}, + {")", []token{{tRparen, ")", 0, 1}}}, + {"[", []token{{tLbracket, "[", 0, 1}}}, + {"]", []token{{tRbracket, "]", 0, 1}}}, + {"{", []token{{tLbrace, "{", 0, 1}}}, + {"}", []token{{tRbrace, "}", 0, 1}}}, + {"||", []token{{tOr, "||", 0, 2}}}, + {"|", []token{{tPipe, "|", 0, 1}}}, + {"29", []token{{tNumber, "29", 0, 2}}}, + {"2", []token{{tNumber, "2", 0, 1}}}, + {"0", []token{{tNumber, "0", 0, 1}}}, + {"-20", []token{{tNumber, "-20", 0, 3}}}, + {"foo", []token{{tUnquotedIdentifier, "foo", 0, 3}}}, + {`"bar"`, []token{{tQuotedIdentifier, "bar", 0, 3}}}, // Escaping the delimiter - {`"bar\"baz"`, []token{token{tQuotedIdentifier, `bar"baz`, 0, 7}}}, - {",", []token{token{tComma, ",", 0, 1}}}, - {":", []token{token{tColon, ":", 0, 1}}}, - {"<", []token{token{tLT, "<", 0, 1}}}, - {"<=", []token{token{tLTE, "<=", 0, 2}}}, - {">", []token{token{tGT, ">", 0, 1}}}, - {">=", []token{token{tGTE, ">=", 0, 2}}}, - {"==", []token{token{tEQ, "==", 0, 2}}}, - {"!=", []token{token{tNE, "!=", 0, 2}}}, - {"`[0, 1, 2]`", []token{token{tJSONLiteral, "[0, 1, 2]", 1, 9}}}, - {"'foo'", []token{token{tStringLiteral, "foo", 1, 3}}}, - {"'a'", []token{token{tStringLiteral, "a", 1, 1}}}, - {`'foo\'bar'`, []token{token{tStringLiteral, "foo'bar", 1, 7}}}, - {"@", []token{token{tCurrent, "@", 0, 1}}}, - {"&", []token{token{tExpref, "&", 0, 1}}}, + {`"bar\"baz"`, []token{{tQuotedIdentifier, `bar"baz`, 0, 7}}}, + {",", []token{{tComma, ",", 0, 1}}}, + {":", []token{{tColon, ":", 0, 1}}}, + {"<", []token{{tLT, "<", 0, 1}}}, + {"<=", []token{{tLTE, "<=", 0, 2}}}, + {">", []token{{tGT, ">", 0, 1}}}, + {">=", []token{{tGTE, ">=", 0, 2}}}, + {"==", []token{{tEQ, "==", 0, 2}}}, + {"!=", []token{{tNE, "!=", 0, 2}}}, + {"`[0, 1, 2]`", []token{{tJSONLiteral, "[0, 1, 2]", 1, 9}}}, + {"'foo'", []token{{tStringLiteral, "foo", 1, 3}}}, + {"'a'", []token{{tStringLiteral, "a", 1, 1}}}, + {`'foo\'bar'`, []token{{tStringLiteral, "foo'bar", 1, 7}}}, + {"@", []token{{tCurrent, "@", 0, 1}}}, + {"&", []token{{tExpref, "&", 0, 1}}}, // Quoted identifier unicode escape sequences - {`"\u2713"`, []token{token{tQuotedIdentifier, "✓", 0, 3}}}, - {`"\\"`, []token{token{tQuotedIdentifier, `\`, 0, 1}}}, - {"`\"foo\"`", []token{token{tJSONLiteral, "\"foo\"", 1, 5}}}, + {`"\u2713"`, []token{{tQuotedIdentifier, "✓", 0, 3}}}, + {`"\\"`, []token{{tQuotedIdentifier, `\`, 0, 1}}}, + {"`\"foo\"`", []token{{tJSONLiteral, "\"foo\"", 1, 5}}}, // Combinations of tokens. {"foo.bar", []token{ - token{tUnquotedIdentifier, "foo", 0, 3}, - token{tDot, ".", 3, 1}, - token{tUnquotedIdentifier, "bar", 4, 3}, + {tUnquotedIdentifier, "foo", 0, 3}, + {tDot, ".", 3, 1}, + {tUnquotedIdentifier, "bar", 4, 3}, }}, {"foo[0]", []token{ - token{tUnquotedIdentifier, "foo", 0, 3}, - token{tLbracket, "[", 3, 1}, - token{tNumber, "0", 4, 1}, - token{tRbracket, "]", 5, 1}, + {tUnquotedIdentifier, "foo", 0, 3}, + {tLbracket, "[", 3, 1}, + {tNumber, "0", 4, 1}, + {tRbracket, "]", 5, 1}, }}, {"foo[?a maxMaxPacket { + return errors.Errorf("max packet size is too large (see docs)") + } c.maxPacket = size return nil } @@ -27,7 +47,7 @@ func MaxPacket(size int) func(*Client) error { // NewClient creates a new SFTP client on conn, using zero or more option // functions. -func NewClient(conn *ssh.Client, opts ...func(*Client) error) (*Client, error) { +func NewClient(conn *ssh.Client, opts ...ClientOption) (*Client, error) { s, err := conn.NewSession() if err != nil { return nil, err @@ -50,7 +70,7 @@ func NewClient(conn *ssh.Client, opts ...func(*Client) error) (*Client, error) { // NewClientPipe creates a new SFTP client given a Reader and a WriteCloser. // This can be used for connecting to an SFTP server over TCP/TLS or by using // the system's ssh client program (e.g. via exec.Command). -func NewClientPipe(rd io.Reader, wr io.WriteCloser, opts ...func(*Client) error) (*Client, error) { +func NewClientPipe(rd io.Reader, wr io.WriteCloser, opts ...ClientOption) (*Client, error) { sftp := &Client{ clientConn: clientConn{ conn: conn{ @@ -611,7 +631,7 @@ func (c *Client) Mkdir(path string) error { // applyOptions applies options functions to the Client. // If an error is encountered, option processing ceases. -func (c *Client) applyOptions(opts ...func(*Client) error) error { +func (c *Client) applyOptions(opts ...ClientOption) error { for _, f := range opts { if err := f(c); err != nil { return err @@ -791,7 +811,7 @@ func (f *File) WriteTo(w io.Writer) (int64, error) { if inFlight == 0 { if firstErr.err == nil && len(pendingWrites) > 0 { - return copied, errors.New("internal inconsistency") + return copied, InternalInconsistency } break } diff --git a/vendor/github.com/pkg/sftp/example_test.go b/vendor/github.com/pkg/sftp/example_test.go index c6c9009a6..483f68f1d 100644 --- a/vendor/github.com/pkg/sftp/example_test.go +++ b/vendor/github.com/pkg/sftp/example_test.go @@ -104,14 +104,26 @@ func ExampleClient_Mkdir_parents() { } defer client.Close() - ssh_fx_failure := uint32(4) + sshFxFailure := uint32(4) mkdirParents := func(client *sftp.Client, dir string) (err error) { var parents string + + if path.IsAbs(dir) { + // Otherwise, an absolute path given below would be turned in to a relative one + // by splitting on "/" + parents = "/" + } + for _, name := range strings.Split(dir, "/") { + if name == "" { + // Paths with double-/ in them should just move along + // this will also catch the case of the first character being a "/", i.e. an absolute path + continue + } parents = path.Join(parents, name) err = client.Mkdir(parents) if status, ok := err.(*sftp.StatusError); ok { - if status.Code == ssh_fx_failure { + if status.Code == sshFxFailure { var fi os.FileInfo fi, err = client.Stat(parents) if err == nil { diff --git a/vendor/github.com/pkg/sftp/packet-manager.go b/vendor/github.com/pkg/sftp/packet-manager.go index 6d1a8e5d6..8c6691cf6 100644 --- a/vendor/github.com/pkg/sftp/packet-manager.go +++ b/vendor/github.com/pkg/sftp/packet-manager.go @@ -23,13 +23,13 @@ type packetManager struct { working *sync.WaitGroup } -func newPktMgr(sender packetSender) packetManager { - s := packetManager{ - requests: make(chan requestPacket, sftpServerWorkerCount), - responses: make(chan responsePacket, sftpServerWorkerCount), +func newPktMgr(sender packetSender) *packetManager { + s := &packetManager{ + requests: make(chan requestPacket, SftpServerWorkerCount), + responses: make(chan responsePacket, SftpServerWorkerCount), fini: make(chan struct{}), - incoming: make([]uint32, 0, sftpServerWorkerCount), - outgoing: make([]responsePacket, 0, sftpServerWorkerCount), + incoming: make([]uint32, 0, SftpServerWorkerCount), + outgoing: make([]responsePacket, 0, SftpServerWorkerCount), sender: sender, working: &sync.WaitGroup{}, } @@ -39,19 +39,19 @@ func newPktMgr(sender packetSender) packetManager { // register incoming packets to be handled // send id of 0 for packets without id -func (s packetManager) incomingPacket(pkt requestPacket) { +func (s *packetManager) incomingPacket(pkt requestPacket) { s.working.Add(1) - s.requests <- pkt // buffer == sftpServerWorkerCount + s.requests <- pkt // buffer == SftpServerWorkerCount } // register outgoing packets as being ready -func (s packetManager) readyPacket(pkt responsePacket) { +func (s *packetManager) readyPacket(pkt responsePacket) { s.responses <- pkt s.working.Done() } // shut down packetManager controller -func (s packetManager) close() { +func (s *packetManager) close() { // pause until current packets are processed s.working.Wait() close(s.fini) @@ -63,15 +63,15 @@ func (s packetManager) close() { // transfers. func (s *packetManager) workerChan(runWorker func(requestChan)) requestChan { - rwChan := make(chan requestPacket, sftpServerWorkerCount) - for i := 0; i < sftpServerWorkerCount; i++ { + rwChan := make(chan requestPacket, SftpServerWorkerCount) + for i := 0; i < SftpServerWorkerCount; i++ { runWorker(rwChan) } cmdChan := make(chan requestPacket) runWorker(cmdChan) - pktChan := make(chan requestPacket, sftpServerWorkerCount) + pktChan := make(chan requestPacket, SftpServerWorkerCount) go func() { // start with cmdChan curChan := cmdChan @@ -147,10 +147,10 @@ func (s *packetManager) maybeSendPackets() { } } -func outfilter(o []responsePacket) []uint32 { - res := make([]uint32, 0, len(o)) - for _, v := range o { - res = append(res, v.id()) - } - return res -} +//func outfilter(o []responsePacket) []uint32 { +// res := make([]uint32, 0, len(o)) +// for _, v := range o { +// res = append(res, v.id()) +// } +// return res +//} diff --git a/vendor/github.com/pkg/sftp/request-example.go b/vendor/github.com/pkg/sftp/request-example.go index 3333a8d6f..f66b06055 100644 --- a/vendor/github.com/pkg/sftp/request-example.go +++ b/vendor/github.com/pkg/sftp/request-example.go @@ -11,7 +11,6 @@ import ( "os" "path/filepath" "sort" - "strconv" "sync" "time" ) @@ -26,7 +25,7 @@ func InMemHandler() Handlers { } // Handlers -func (fs *root) Fileread(r Request) (io.ReaderAt, error) { +func (fs *root) Fileread(r *Request) (io.ReaderAt, error) { fs.filesLock.Lock() defer fs.filesLock.Unlock() file, err := fs.fetch(r.Filepath) @@ -42,7 +41,7 @@ func (fs *root) Fileread(r Request) (io.ReaderAt, error) { return file.ReaderAt() } -func (fs *root) Filewrite(r Request) (io.WriterAt, error) { +func (fs *root) Filewrite(r *Request) (io.WriterAt, error) { fs.filesLock.Lock() defer fs.filesLock.Unlock() file, err := fs.fetch(r.Filepath) @@ -60,7 +59,7 @@ func (fs *root) Filewrite(r Request) (io.WriterAt, error) { return file.WriterAt() } -func (fs *root) Filecmd(r Request) error { +func (fs *root) Filecmd(r *Request) error { fs.filesLock.Lock() defer fs.filesLock.Unlock() switch r.Method { @@ -101,20 +100,27 @@ func (fs *root) Filecmd(r Request) error { return nil } -func (fs *root) Fileinfo(r Request) ([]os.FileInfo, error) { +type listerat []os.FileInfo + +// Modeled after strings.Reader's ReadAt() implementation +func (f listerat) ListAt(ls []os.FileInfo, offset int64) (int, error) { + var n int + if offset >= int64(len(f)) { + return 0, io.EOF + } + n = copy(ls, f[offset:]) + if n < len(ls) { + return n, io.EOF + } + return n, nil +} + +func (fs *root) Filelist(r *Request) (ListerAt, error) { fs.filesLock.Lock() defer fs.filesLock.Unlock() + switch r.Method { case "List": - var err error - batch_size := 10 - current_offset := 0 - if token := r.LsNext(); token != "" { - current_offset, err = strconv.Atoi(token) - if err != nil { - return nil, os.ErrInvalid - } - } ordered_names := []string{} for fn, _ := range fs.files { if filepath.Dir(fn) == r.Filepath { @@ -126,21 +132,13 @@ func (fs *root) Fileinfo(r Request) ([]os.FileInfo, error) { for i, fn := range ordered_names { list[i] = fs.files[fn] } - if len(list) < current_offset { - return nil, io.EOF - } - new_offset := current_offset + batch_size - if new_offset > len(list) { - new_offset = len(list) - } - r.LsSave(strconv.Itoa(new_offset)) - return list[current_offset:new_offset], nil + return listerat(list), nil case "Stat": file, err := fs.fetch(r.Filepath) if err != nil { return nil, err } - return []os.FileInfo{file}, nil + return listerat([]os.FileInfo{file}), nil case "Readlink": file, err := fs.fetch(r.Filepath) if err != nil { @@ -152,7 +150,7 @@ func (fs *root) Fileinfo(r Request) ([]os.FileInfo, error) { return nil, err } } - return []os.FileInfo{file}, nil + return listerat([]os.FileInfo{file}), nil } return nil, nil } diff --git a/vendor/github.com/pkg/sftp/request-interfaces.go b/vendor/github.com/pkg/sftp/request-interfaces.go index 46db449c4..0f2b0aaf2 100644 --- a/vendor/github.com/pkg/sftp/request-interfaces.go +++ b/vendor/github.com/pkg/sftp/request-interfaces.go @@ -10,21 +10,29 @@ import ( // FileReader should return an io.Reader for the filepath type FileReader interface { - Fileread(Request) (io.ReaderAt, error) + Fileread(*Request) (io.ReaderAt, error) } // FileWriter should return an io.Writer for the filepath type FileWriter interface { - Filewrite(Request) (io.WriterAt, error) + Filewrite(*Request) (io.WriterAt, error) } // FileCmder should return an error (rename, remove, setstate, etc.) type FileCmder interface { - Filecmd(Request) error + Filecmd(*Request) error } -// FileInfoer should return file listing info and errors (readdir, stat) -// note stat requests would return a list of 1 -type FileInfoer interface { - Fileinfo(Request) ([]os.FileInfo, error) +// FileLister should return file info interface and errors (readdir, stat) +type FileLister interface { + Filelist(*Request) (ListerAt, error) +} + +// ListerAt does for file lists what io.ReaderAt does for files. +// ListAt should return the number of entries copied and an io.EOF +// error if at end of list. This is testable by comparing how many you +// copied to how many could be copied (eg. n < len(ls) below). +// The copy() builtin is best for the copying. +type ListerAt interface { + ListAt([]os.FileInfo, int64) (int, error) } diff --git a/vendor/github.com/pkg/sftp/request-server.go b/vendor/github.com/pkg/sftp/request-server.go index b51a10b35..a6221136e 100644 --- a/vendor/github.com/pkg/sftp/request-server.go +++ b/vendor/github.com/pkg/sftp/request-server.go @@ -3,9 +3,9 @@ package sftp import ( "encoding" "io" - "os" "path/filepath" "strconv" + "strings" "sync" "syscall" @@ -21,14 +21,14 @@ type Handlers struct { FileGet FileReader FilePut FileWriter FileCmd FileCmder - FileInfo FileInfoer + FileList FileLister } // RequestServer abstracts the sftp protocol with an http request-like protocol type RequestServer struct { *serverConn Handlers Handlers - pktMgr packetManager + pktMgr *packetManager openRequests map[string]Request openRequestLock sync.RWMutex handleCount int @@ -51,20 +51,22 @@ func NewRequestServer(rwc io.ReadWriteCloser, h Handlers) *RequestServer { } } -func (rs *RequestServer) nextRequest(r Request) string { +// Note that we are explicitly saving the Request as a value. +func (rs *RequestServer) nextRequest(r *Request) string { rs.openRequestLock.Lock() defer rs.openRequestLock.Unlock() rs.handleCount++ handle := strconv.Itoa(rs.handleCount) - rs.openRequests[handle] = r + rs.openRequests[handle] = *r return handle } -func (rs *RequestServer) getRequest(handle string) (Request, bool) { +// Returns pointer to new copy of Request object +func (rs *RequestServer) getRequest(handle string) (*Request, bool) { rs.openRequestLock.RLock() defer rs.openRequestLock.RUnlock() r, ok := rs.openRequests[handle] - return r, ok + return &r, ok } func (rs *RequestServer) closeRequest(handle string) { @@ -130,7 +132,7 @@ func (rs *RequestServer) packetWorker(pktChan chan requestPacket) error { rs.closeRequest(handle) rpkt = statusFromError(pkt, nil) case *sshFxpRealpathPacket: - rpkt = cleanPath(pkt) + rpkt = cleanPacketPath(pkt) case isOpener: handle := rs.nextRequest(requestFromPacket(pkt)) rpkt = sshFxpHandlePacket{pkt.id(), handle} @@ -142,7 +144,7 @@ func (rs *RequestServer) packetWorker(pktChan chan requestPacket) error { } else { request = requestFromPacket( &sshFxpStatPacket{ID: pkt.id(), Path: request.Filepath}) - rpkt = rs.handle(request, pkt) + rpkt = request.call(rs.Handlers, pkt) } case *sshFxpFsetstatPacket: handle := pkt.getHandle() @@ -154,20 +156,23 @@ func (rs *RequestServer) packetWorker(pktChan chan requestPacket) error { &sshFxpSetstatPacket{ID: pkt.id(), Path: request.Filepath, Flags: pkt.Flags, Attrs: pkt.Attrs, }) - rpkt = rs.handle(request, pkt) + rpkt = request.call(rs.Handlers, pkt) } case hasHandle: handle := pkt.getHandle() request, ok := rs.getRequest(handle) - request.update(pkt) - if !ok { + uerr := request.updateMethod(pkt) + if !ok || uerr != nil { + if uerr == nil { + uerr = syscall.EBADF + } rpkt = statusFromError(pkt, syscall.EBADF) } else { - rpkt = rs.handle(request, pkt) + rpkt = request.call(rs.Handlers, pkt) } case hasPath: request := requestFromPacket(pkt) - rpkt = rs.handle(request, pkt) + rpkt = request.call(rs.Handlers, pkt) default: return errors.Errorf("unexpected packet type %T", pkt) } @@ -180,31 +185,24 @@ func (rs *RequestServer) packetWorker(pktChan chan requestPacket) error { return nil } -func cleanPath(pkt *sshFxpRealpathPacket) responsePacket { - path := pkt.getPath() - if !filepath.IsAbs(path) { - path = "/" + path - } // all paths are absolute - - cleaned_path := filepath.Clean(path) +func cleanPacketPath(pkt *sshFxpRealpathPacket) responsePacket { + path := cleanPath(pkt.getPath()) return &sshFxpNamePacket{ ID: pkt.id(), NameAttrs: []sshFxpNameAttr{{ - Name: cleaned_path, - LongName: cleaned_path, + Name: path, + LongName: path, Attrs: emptyFileStat, }}, } } -func (rs *RequestServer) handle(request Request, pkt requestPacket) responsePacket { - // fmt.Println("Request Method: ", request.Method) - rpkt, err := request.handle(rs.Handlers) - if err != nil { - err = errorAdapter(err) - rpkt = statusFromError(pkt, err) +func cleanPath(path string) string { + cleanSlashPath := filepath.ToSlash(filepath.Clean(path)) + if !strings.HasPrefix(cleanSlashPath, "/") { + return "/" + cleanSlashPath } - return rpkt + return cleanSlashPath } // Wrap underlying connection methods to use packetManager @@ -220,12 +218,3 @@ func (rs *RequestServer) sendPacket(m encoding.BinaryMarshaler) error { func (rs *RequestServer) sendError(p ider, err error) error { return rs.sendPacket(statusFromError(p, err)) } - -// os.ErrNotExist should convert to ssh_FX_NO_SUCH_FILE, but is not recognized -// by statusFromError. So we convert to syscall.ENOENT which it does. -func errorAdapter(err error) error { - if err == os.ErrNotExist { - return syscall.ENOENT - } - return err -} diff --git a/vendor/github.com/pkg/sftp/request-server_test.go b/vendor/github.com/pkg/sftp/request-server_test.go index ee9621be7..0c25ecfca 100644 --- a/vendor/github.com/pkg/sftp/request-server_test.go +++ b/vendor/github.com/pkg/sftp/request-server_test.go @@ -315,6 +315,7 @@ func TestRequestReadlink(t *testing.T) { func TestRequestReaddir(t *testing.T) { p := clientRequestServerPair(t) + MaxFilelist = 22 // make not divisible by our test amount (100) defer p.Close() for i := 0; i < 100; i++ { fname := fmt.Sprintf("/foo_%02d", i) @@ -327,3 +328,20 @@ func TestRequestReaddir(t *testing.T) { names := []string{di[18].Name(), di[81].Name()} assert.Equal(t, []string{"foo_18", "foo_81"}, names) } + +func TestCleanPath(t *testing.T) { + assert.Equal(t, "/", cleanPath("/")) + assert.Equal(t, "/", cleanPath("//")) + assert.Equal(t, "/a", cleanPath("/a/")) + assert.Equal(t, "/a", cleanPath("a/")) + assert.Equal(t, "/a/b/c", cleanPath("/a//b//c/")) + + // filepath.ToSlash does not touch \ as char on unix systems, so os.PathSeparator is used for windows compatible tests + bslash := string(os.PathSeparator) + assert.Equal(t, "/", cleanPath(bslash)) + assert.Equal(t, "/", cleanPath(bslash+bslash)) + assert.Equal(t, "/a", cleanPath(bslash+"a"+bslash)) + assert.Equal(t, "/a", cleanPath("a"+bslash)) + assert.Equal(t, "/a/b/c", cleanPath(bslash+"a"+bslash+bslash+"b"+bslash+bslash+"c"+bslash)) + +} diff --git a/vendor/github.com/pkg/sftp/request.go b/vendor/github.com/pkg/sftp/request.go index 6d7d6ffdf..28629de82 100644 --- a/vendor/github.com/pkg/sftp/request.go +++ b/vendor/github.com/pkg/sftp/request.go @@ -11,6 +11,9 @@ import ( "github.com/pkg/errors" ) +// MaxFilelist is the max number of files to return in a readdir batch. +var MaxFilelist int64 = 100 + // Request contains the data and state for the incoming service request. type Request struct { // Get, Put, Setstat, Stat, Rename, Remove @@ -20,72 +23,73 @@ type Request struct { Flags uint32 Attrs []byte // convert to sub-struct Target string // for renames and sym-links - // packet data - pkt_id uint32 - packets chan packet_data // reader/writer/readdir from handlers stateLock *sync.RWMutex state *state } type state struct { - writerAt io.WriterAt - readerAt io.ReaderAt - endofdir bool // in case handler doesn't use EOF on file list - readdirToken string + writerAt io.WriterAt + readerAt io.ReaderAt + listerAt ListerAt + lsoffset int64 } type packet_data struct { - id uint32 + _id uint32 data []byte length uint32 offset int64 } +func (pd packet_data) id() uint32 { + return pd._id +} + // New Request initialized based on packet data -func requestFromPacket(pkt hasPath) Request { +func requestFromPacket(pkt hasPath) *Request { method := requestMethod(pkt) request := NewRequest(method, pkt.getPath()) - request.pkt_id = pkt.id() switch p := pkt.(type) { case *sshFxpSetstatPacket: request.Flags = p.Flags request.Attrs = p.Attrs.([]byte) case *sshFxpRenamePacket: - request.Target = filepath.Clean(p.Newpath) + request.Target = cleanPath(p.Newpath) case *sshFxpSymlinkPacket: - request.Target = filepath.Clean(p.Linkpath) + request.Target = cleanPath(p.Linkpath) } return request } +func newRequest() *Request { + return &Request{state: &state{}, stateLock: &sync.RWMutex{}} +} + // NewRequest creates a new Request object. -func NewRequest(method, path string) Request { - request := Request{Method: method, Filepath: filepath.Clean(path)} - request.packets = make(chan packet_data, sftpServerWorkerCount) - request.state = &state{} - request.stateLock = &sync.RWMutex{} +func NewRequest(method, path string) *Request { + request := newRequest() + request.Method = method + request.Filepath = cleanPath(path) return request } -// LsSave takes a token to keep track of file list batches. Openssh uses a -// batch size of 100, so I suggest sticking close to that. -func (r Request) LsSave(token string) { +// Returns current offset for file list +func (r *Request) lsNext() int64 { r.stateLock.RLock() defer r.stateLock.RUnlock() - r.state.readdirToken = token + return r.state.lsoffset } -// LsNext should return the token from the previous call to know which batch -// to return next. -func (r Request) LsNext() string { - r.stateLock.RLock() - defer r.stateLock.RUnlock() - return r.state.readdirToken +// Increases next offset +func (r *Request) lsInc(offset int64) { + r.stateLock.Lock() + defer r.stateLock.Unlock() + r.state.lsoffset = r.state.lsoffset + offset } // manage file read/write state -func (r Request) setFileState(s interface{}) { +func (r *Request) setFileState(s interface{}) { r.stateLock.Lock() defer r.stateLock.Unlock() switch s := s.(type) { @@ -93,38 +97,33 @@ func (r Request) setFileState(s interface{}) { r.state.writerAt = s case io.ReaderAt: r.state.readerAt = s - + case ListerAt: + r.state.listerAt = s + case int64: + r.state.lsoffset = s } } -func (r Request) getWriter() io.WriterAt { +func (r *Request) getWriter() io.WriterAt { r.stateLock.RLock() defer r.stateLock.RUnlock() return r.state.writerAt } -func (r Request) getReader() io.ReaderAt { +func (r *Request) getReader() io.ReaderAt { r.stateLock.RLock() defer r.stateLock.RUnlock() return r.state.readerAt } -// For backwards compatibility. The Handler didn't have batch handling at -// first, and just always assumed 1 batch. This preserves that behavior. -func (r Request) setEOD(eod bool) { +func (r *Request) getLister() ListerAt { r.stateLock.RLock() defer r.stateLock.RUnlock() - r.state.endofdir = eod -} - -func (r Request) getEOD() bool { - r.stateLock.RLock() - defer r.stateLock.RUnlock() - return r.state.endofdir + return r.state.listerAt } // Close reader/writer if possible -func (r Request) close() { +func (r *Request) close() { rd := r.getReader() if c, ok := rd.(io.Closer); ok { c.Close() @@ -135,112 +134,130 @@ func (r Request) close() { } } -// push packet_data into fifo -func (r Request) pushPacket(pd packet_data) { - r.packets <- pd -} - -// pop packet_data into fifo -func (r *Request) popPacket() packet_data { - return <-r.packets -} - // called from worker to handle packet/request -func (r Request) handle(handlers Handlers) (responsePacket, error) { - var err error - var rpkt responsePacket +func (r *Request) call(handlers Handlers, pkt requestPacket) responsePacket { + pd := packetData(pkt) switch r.Method { case "Get": - rpkt, err = fileget(handlers.FileGet, r) + return fileget(handlers.FileGet, r, pd) case "Put": // add "Append" to this to handle append only file writes - rpkt, err = fileput(handlers.FilePut, r) + return fileput(handlers.FilePut, r, pd) case "Setstat", "Rename", "Rmdir", "Mkdir", "Symlink", "Remove": - rpkt, err = filecmd(handlers.FileCmd, r) + return filecmd(handlers.FileCmd, r, pd) case "List", "Stat", "Readlink": - rpkt, err = fileinfo(handlers.FileInfo, r) + return filelist(handlers.FileList, r, pd) default: - return rpkt, errors.Errorf("unexpected method: %s", r.Method) + return statusFromError(pkt, + errors.Errorf("unexpected method: %s", r.Method)) } - return rpkt, err +} + +// file data for additional read/write packets +func packetData(p requestPacket) packet_data { + pd := packet_data{_id: p.id()} + switch p := p.(type) { + case *sshFxpReadPacket: + pd.length = p.Len + pd.offset = int64(p.Offset) + case *sshFxpWritePacket: + pd.data = p.Data + pd.length = p.Length + pd.offset = int64(p.Offset) + } + return pd } // wrap FileReader handler -func fileget(h FileReader, r Request) (responsePacket, error) { +func fileget(h FileReader, r *Request, pd packet_data) responsePacket { var err error reader := r.getReader() if reader == nil { reader, err = h.Fileread(r) if err != nil { - return nil, err + return statusFromError(pd, err) } r.setFileState(reader) } - pd := r.popPacket() data := make([]byte, clamp(pd.length, maxTxPacket)) n, err := reader.ReadAt(data, pd.offset) + // only return EOF erro if no data left to read if err != nil && (err != io.EOF || n == 0) { - return nil, err + return statusFromError(pd, err) } return &sshFxpDataPacket{ - ID: pd.id, + ID: pd.id(), Length: uint32(n), Data: data[:n], - }, nil + } } // wrap FileWriter handler -func fileput(h FileWriter, r Request) (responsePacket, error) { +func fileput(h FileWriter, r *Request, pd packet_data) responsePacket { var err error writer := r.getWriter() if writer == nil { writer, err = h.Filewrite(r) if err != nil { - return nil, err + return statusFromError(pd, err) } r.setFileState(writer) } - pd := r.popPacket() _, err = writer.WriteAt(pd.data, pd.offset) if err != nil { - return nil, err + return statusFromError(pd, err) } return &sshFxpStatusPacket{ - ID: pd.id, + ID: pd.id(), StatusError: StatusError{ Code: ssh_FX_OK, - }}, nil + }} } // wrap FileCmder handler -func filecmd(h FileCmder, r Request) (responsePacket, error) { +func filecmd(h FileCmder, r *Request, pd packet_data) responsePacket { err := h.Filecmd(r) if err != nil { - return nil, err + return statusFromError(pd, err) } return &sshFxpStatusPacket{ - ID: r.pkt_id, + ID: pd.id(), StatusError: StatusError{ Code: ssh_FX_OK, - }}, nil + }} } -// wrap FileInfoer handler -func fileinfo(h FileInfoer, r Request) (responsePacket, error) { - if r.getEOD() { - return nil, io.EOF - } - finfo, err := h.Fileinfo(r) - if err != nil { - return nil, err +// wrap FileLister handler +func filelist(h FileLister, r *Request, pd packet_data) responsePacket { + var err error + lister := r.getLister() + if lister == nil { + lister, err = h.Filelist(r) + if err != nil { + return statusFromError(pd, err) + } + r.setFileState(lister) } + offset := r.lsNext() + finfo := make([]os.FileInfo, MaxFilelist) + n, err := lister.ListAt(finfo, offset) + r.lsInc(int64(n)) + // ignore EOF as we only return it when there are no results + finfo = finfo[:n] // avoid need for nil tests below + switch r.Method { case "List": - pd := r.popPacket() - dirname := path.Base(r.Filepath) - ret := &sshFxpNamePacket{ID: pd.id} + if err != nil && err != io.EOF { + return statusFromError(pd, err) + } + if n == 0 { + return statusFromError(pd, io.EOF) + } + dirname := filepath.ToSlash(path.Base(r.Filepath)) + ret := &sshFxpNamePacket{ID: pd.id()} + for _, fi := range finfo { ret.NameAttrs = append(ret.NameAttrs, sshFxpNameAttr{ Name: fi.Name(), @@ -248,63 +265,56 @@ func fileinfo(h FileInfoer, r Request) (responsePacket, error) { Attrs: []interface{}{fi}, }) } - // No entries means we should return EOF as the Handler didn't. - if len(finfo) == 0 { - return nil, io.EOF - } - // If files are returned but no token is set, return EOF next call. - if r.LsNext() == "" { - r.setEOD(true) - } - return ret, nil + return ret case "Stat": - if len(finfo) == 0 { + if err != nil && err != io.EOF { + return statusFromError(pd, err) + } + if n == 0 { err = &os.PathError{Op: "stat", Path: r.Filepath, Err: syscall.ENOENT} - return nil, err + return statusFromError(pd, err) } return &sshFxpStatResponse{ - ID: r.pkt_id, + ID: pd.id(), info: finfo[0], - }, nil + } case "Readlink": - if len(finfo) == 0 { + if err != nil && err != io.EOF { + return statusFromError(pd, err) + } + if n == 0 { err = &os.PathError{Op: "readlink", Path: r.Filepath, Err: syscall.ENOENT} - return nil, err + return statusFromError(pd, err) } filename := finfo[0].Name() return &sshFxpNamePacket{ - ID: r.pkt_id, + ID: pd.id(), NameAttrs: []sshFxpNameAttr{{ Name: filename, LongName: filename, Attrs: emptyFileStat, }}, - }, nil + } + default: + err = errors.Errorf("unexpected method: %s", r.Method) + return statusFromError(pd, err) } - return nil, err } // file data for additional read/write packets -func (r *Request) update(p hasHandle) error { - pd := packet_data{id: p.id()} +func (r *Request) updateMethod(p hasHandle) error { switch p := p.(type) { case *sshFxpReadPacket: r.Method = "Get" - pd.length = p.Len - pd.offset = int64(p.Offset) case *sshFxpWritePacket: r.Method = "Put" - pd.data = p.Data - pd.length = p.Length - pd.offset = int64(p.Offset) case *sshFxpReaddirPacket: r.Method = "List" default: return errors.Errorf("unexpected packet type %T", p) } - r.pushPacket(pd) return nil } diff --git a/vendor/github.com/pkg/sftp/request_test.go b/vendor/github.com/pkg/sftp/request_test.go index e537fc16e..c90a6edc4 100644 --- a/vendor/github.com/pkg/sftp/request_test.go +++ b/vendor/github.com/pkg/sftp/request_test.go @@ -18,28 +18,25 @@ type testHandler struct { err error // dummy error, should be file related } -func (t *testHandler) Fileread(r Request) (io.ReaderAt, error) { +func (t *testHandler) Fileread(r *Request) (io.ReaderAt, error) { if t.err != nil { return nil, t.err } return bytes.NewReader(t.filecontents), nil } -func (t *testHandler) Filewrite(r Request) (io.WriterAt, error) { +func (t *testHandler) Filewrite(r *Request) (io.WriterAt, error) { if t.err != nil { return nil, t.err } return io.WriterAt(t.output), nil } -func (t *testHandler) Filecmd(r Request) error { - if t.err != nil { - return t.err - } - return nil +func (t *testHandler) Filecmd(r *Request) error { + return t.err } -func (t *testHandler) Fileinfo(r Request) ([]os.FileInfo, error) { +func (t *testHandler) Filelist(r *Request) (ListerAt, error) { if t.err != nil { return nil, t.err } @@ -51,7 +48,7 @@ func (t *testHandler) Fileinfo(r Request) ([]os.FileInfo, error) { if err != nil { return nil, err } - return []os.FileInfo{fi}, nil + return listerat([]os.FileInfo{fi}), nil } // make sure len(fakefile) == len(filecontents) @@ -59,21 +56,15 @@ type fakefile [10]byte var filecontents = []byte("file-data.") -func testRequest(method string) Request { - request := Request{ +func testRequest(method string) *Request { + request := &Request{ Filepath: "./request_test.go", Method: method, Attrs: []byte("foo"), Target: "foo", - packets: make(chan packet_data, sftpServerWorkerCount), state: &state{}, stateLock: &sync.RWMutex{}, } - for _, p := range []packet_data{ - packet_data{id: 1, data: filecontents[:5], length: 5}, - packet_data{id: 2, data: filecontents[5:], length: 5, offset: 5}} { - request.packets <- p - } return request } @@ -98,7 +89,7 @@ func newTestHandlers() Handlers { FileGet: handler, FilePut: handler, FileCmd: handler, - FileInfo: handler, + FileList: handler, } } @@ -120,15 +111,30 @@ func statusOk(t *testing.T, p interface{}) { } } +// fake/test packet +type fakePacket struct { + myid uint32 + handle string +} + +func (f fakePacket) id() uint32 { + return f.myid +} + +func (f fakePacket) getHandle() string { + return f.handle +} +func (fakePacket) UnmarshalBinary(d []byte) error { return nil } + func TestRequestGet(t *testing.T) { handlers := newTestHandlers() request := testRequest("Get") // req.length is 5, so we test reads in 5 byte chunks for i, txt := range []string{"file-", "data."} { - pkt, err := request.handle(handlers) - assert.Nil(t, err) - dpkt := pkt.(*sshFxpDataPacket) - assert.Equal(t, dpkt.id(), uint32(i+1)) + pkt := &sshFxpReadPacket{uint32(i), "a", uint64(i * 5), 5} + rpkt := request.call(handlers, pkt) + dpkt := rpkt.(*sshFxpDataPacket) + assert.Equal(t, dpkt.id(), uint32(i)) assert.Equal(t, string(dpkt.Data), txt) } } @@ -136,26 +142,25 @@ func TestRequestGet(t *testing.T) { func TestRequestPut(t *testing.T) { handlers := newTestHandlers() request := testRequest("Put") - pkt, err := request.handle(handlers) - assert.Nil(t, err) - statusOk(t, pkt) - pkt, err = request.handle(handlers) - assert.Nil(t, err) - statusOk(t, pkt) + pkt := &sshFxpWritePacket{0, "a", 0, 5, []byte("file-")} + rpkt := request.call(handlers, pkt) + statusOk(t, rpkt) + pkt = &sshFxpWritePacket{1, "a", 5, 5, []byte("data.")} + rpkt = request.call(handlers, pkt) + statusOk(t, rpkt) assert.Equal(t, "file-data.", handlers.getOutString()) } func TestRequestCmdr(t *testing.T) { handlers := newTestHandlers() request := testRequest("Mkdir") - pkt, err := request.handle(handlers) - assert.Nil(t, err) - statusOk(t, pkt) + pkt := fakePacket{myid: 1} + rpkt := request.call(handlers, pkt) + statusOk(t, rpkt) handlers.returnError() - pkt, err = request.handle(handlers) - assert.Nil(t, pkt) - assert.Equal(t, err, errTest) + rpkt = request.call(handlers, pkt) + assert.Equal(t, rpkt, statusFromError(rpkt, errTest)) } func TestRequestInfoList(t *testing.T) { testInfoMethod(t, "List") } @@ -163,9 +168,9 @@ func TestRequestInfoReadlink(t *testing.T) { testInfoMethod(t, "Readlink") } func TestRequestInfoStat(t *testing.T) { handlers := newTestHandlers() request := testRequest("Stat") - pkt, err := request.handle(handlers) - assert.Nil(t, err) - spkt, ok := pkt.(*sshFxpStatResponse) + pkt := fakePacket{myid: 1} + rpkt := request.call(handlers, pkt) + spkt, ok := rpkt.(*sshFxpStatResponse) assert.True(t, ok) assert.Equal(t, spkt.info.Name(), "request_test.go") } @@ -173,9 +178,9 @@ func TestRequestInfoStat(t *testing.T) { func testInfoMethod(t *testing.T, method string) { handlers := newTestHandlers() request := testRequest(method) - pkt, err := request.handle(handlers) - assert.Nil(t, err) - npkt, ok := pkt.(*sshFxpNamePacket) + pkt := fakePacket{myid: 1} + rpkt := request.call(handlers, pkt) + npkt, ok := rpkt.(*sshFxpNamePacket) assert.True(t, ok) assert.IsType(t, sshFxpNameAttr{}, npkt.NameAttrs[0]) assert.Equal(t, npkt.NameAttrs[0].Name, "request_test.go") diff --git a/vendor/github.com/pkg/sftp/server.go b/vendor/github.com/pkg/sftp/server.go index 42afc9cbf..be14f62e9 100644 --- a/vendor/github.com/pkg/sftp/server.go +++ b/vendor/github.com/pkg/sftp/server.go @@ -18,7 +18,7 @@ import ( ) const ( - sftpServerWorkerCount = 8 + SftpServerWorkerCount = 8 ) // Server is an SSH File Transfer Protocol (sftp) server. @@ -29,7 +29,7 @@ type Server struct { *serverConn debugStream io.Writer readOnly bool - pktMgr packetManager + pktMgr *packetManager openFiles map[string]*os.File openFilesLock sync.RWMutex handleCount int @@ -230,8 +230,7 @@ func handlePacket(s *Server, p interface{}) error { if err != nil { return s.sendError(p, err) } - f = filepath.Clean(f) - f = filepath.ToSlash(f) // make path more Unix like on windows servers + f = cleanPath(f) return s.sendPacket(sshFxpNamePacket{ ID: p.ID, NameAttrs: []sshFxpNameAttr{{ @@ -555,6 +554,8 @@ func statusFromError(p ider, err error) sshFxpStatusPacket { ret.StatusError.msg = err.Error() if err == io.EOF { ret.StatusError.Code = ssh_FX_EOF + } else if err == os.ErrNotExist { + ret.StatusError.Code = ssh_FX_NO_SUCH_FILE } else if errno, ok := err.(syscall.Errno); ok { ret.StatusError.Code = translateErrno(errno) } else if pathError, ok := err.(*os.PathError); ok { @@ -573,3 +574,92 @@ func clamp(v, max uint32) uint32 { } return v } + +func runLsTypeWord(dirent os.FileInfo) string { + // find first character, the type char + // b Block special file. + // c Character special file. + // d Directory. + // l Symbolic link. + // s Socket link. + // p FIFO. + // - Regular file. + tc := '-' + mode := dirent.Mode() + if (mode & os.ModeDir) != 0 { + tc = 'd' + } else if (mode & os.ModeDevice) != 0 { + tc = 'b' + if (mode & os.ModeCharDevice) != 0 { + tc = 'c' + } + } else if (mode & os.ModeSymlink) != 0 { + tc = 'l' + } else if (mode & os.ModeSocket) != 0 { + tc = 's' + } else if (mode & os.ModeNamedPipe) != 0 { + tc = 'p' + } + + // owner + orc := '-' + if (mode & 0400) != 0 { + orc = 'r' + } + owc := '-' + if (mode & 0200) != 0 { + owc = 'w' + } + oxc := '-' + ox := (mode & 0100) != 0 + setuid := (mode & os.ModeSetuid) != 0 + if ox && setuid { + oxc = 's' + } else if setuid { + oxc = 'S' + } else if ox { + oxc = 'x' + } + + // group + grc := '-' + if (mode & 040) != 0 { + grc = 'r' + } + gwc := '-' + if (mode & 020) != 0 { + gwc = 'w' + } + gxc := '-' + gx := (mode & 010) != 0 + setgid := (mode & os.ModeSetgid) != 0 + if gx && setgid { + gxc = 's' + } else if setgid { + gxc = 'S' + } else if gx { + gxc = 'x' + } + + // all / others + arc := '-' + if (mode & 04) != 0 { + arc = 'r' + } + awc := '-' + if (mode & 02) != 0 { + awc = 'w' + } + axc := '-' + ax := (mode & 01) != 0 + sticky := (mode & os.ModeSticky) != 0 + if ax && sticky { + axc = 't' + } else if sticky { + axc = 'T' + } else if ax { + axc = 'x' + } + + return fmt.Sprintf("%c%c%c%c%c%c%c%c%c%c", tc, orc, owc, oxc, grc, gwc, gxc, arc, awc, axc) +} diff --git a/vendor/github.com/pkg/sftp/server_integration_test.go b/vendor/github.com/pkg/sftp/server_integration_test.go index c5786074a..25b89ef13 100644 --- a/vendor/github.com/pkg/sftp/server_integration_test.go +++ b/vendor/github.com/pkg/sftp/server_integration_test.go @@ -6,7 +6,12 @@ package sftp import ( "bytes" + "crypto/ecdsa" + "crypto/elliptic" + crand "crypto/rand" + "crypto/x509" "encoding/hex" + "encoding/pem" "flag" "fmt" "io/ioutil" @@ -316,7 +321,7 @@ func (chsvr *sshSessionChannelServer) handleSubsystem(req *ssh.Request) error { // starts an ssh server to test. returns: host string and port func testServer(t *testing.T, useSubsystem bool, readonly bool) (net.Listener, string, int) { if !*testIntegration { - t.Skip("skipping intergration test") + t.Skip("skipping integration test") } listener, err := net.Listen("tcp", "127.0.0.1:0") @@ -357,17 +362,59 @@ func testServer(t *testing.T, useSubsystem bool, readonly bool) (net.Listener, s return listener, host, port } +func makeDummyKey() (string, error) { + priv, err := ecdsa.GenerateKey(elliptic.P256(), crand.Reader) + if err != nil { + return "", fmt.Errorf("cannot generate key: %v", err) + } + der, err := x509.MarshalECPrivateKey(priv) + if err != nil { + return "", fmt.Errorf("cannot marshal key: %v", err) + } + block := &pem.Block{Type: "EC PRIVATE KEY", Bytes: der} + f, err := ioutil.TempFile("", "sftp-test-key-") + if err != nil { + return "", fmt.Errorf("cannot create temp file: %v", err) + } + defer func() { + if f != nil { + _ = f.Close() + _ = os.Remove(f.Name()) + } + }() + if err := pem.Encode(f, block); err != nil { + return "", fmt.Errorf("cannot write key: %v", err) + } + if err := f.Close(); err != nil { + return "", fmt.Errorf("error closing key file: %v", err) + } + path := f.Name() + f = nil + return path, nil +} + func runSftpClient(t *testing.T, script string, path string, host string, port int) (string, error) { // if sftp client binary is unavailable, skip test if _, err := os.Stat(*testSftpClientBin); err != nil { t.Skip("sftp client binary unavailable") } + + // make a dummy key so we don't rely on ssh-agent + dummyKey, err := makeDummyKey() + if err != nil { + return "", err + } + defer os.Remove(dummyKey) + args := []string{ // "-vvvv", "-b", "-", "-o", "StrictHostKeyChecking=no", "-o", "LogLevel=ERROR", "-o", "UserKnownHostsFile /dev/null", + // do not trigger ssh-agent prompting + "-o", "IdentityFile=" + dummyKey, + "-o", "IdentitiesOnly=yes", "-P", fmt.Sprintf("%d", port), fmt.Sprintf("%s:%s", host, path), } cmd := exec.Command(*testSftpClientBin, args...) @@ -378,7 +425,7 @@ func runSftpClient(t *testing.T, script string, path string, host string, port i if err := cmd.Start(); err != nil { return "", err } - err := cmd.Wait() + err = cmd.Wait() return string(stdout.Bytes()), err } diff --git a/vendor/github.com/pkg/sftp/server_stubs.go b/vendor/github.com/pkg/sftp/server_stubs.go index 3b1ddbdbb..a14c73482 100644 --- a/vendor/github.com/pkg/sftp/server_stubs.go +++ b/vendor/github.com/pkg/sftp/server_stubs.go @@ -4,9 +4,29 @@ package sftp import ( "os" - "path" + "time" + "fmt" ) func runLs(dirname string, dirent os.FileInfo) string { - return path.Join(dirname, dirent.Name()) + typeword := runLsTypeWord(dirent) + numLinks := 1 + if dirent.IsDir() { + numLinks = 0 + } + username := "root" + groupname := "root" + mtime := dirent.ModTime() + monthStr := mtime.Month().String()[0:3] + day := mtime.Day() + year := mtime.Year() + now := time.Now() + isOld := mtime.Before(now.Add(-time.Hour * 24 * 365 / 2)) + + yearOrTime := fmt.Sprintf("%02d:%02d", mtime.Hour(), mtime.Minute()) + if isOld { + yearOrTime = fmt.Sprintf("%d", year) + } + + return fmt.Sprintf("%s %4d %-8s %-8s %8d %s %2d %5s %s", typeword, numLinks, username, groupname, dirent.Size(), monthStr, day, yearOrTime, dirent.Name()) } diff --git a/vendor/github.com/pkg/sftp/server_test.go b/vendor/github.com/pkg/sftp/server_test.go index 721acc677..f2f034a8d 100644 --- a/vendor/github.com/pkg/sftp/server_test.go +++ b/vendor/github.com/pkg/sftp/server_test.go @@ -1,11 +1,159 @@ package sftp import ( + "testing" + "os" + "regexp" + "time" "io" "sync" - "testing" ) +const ( + typeDirectory = "d" + typeFile = "[^d]" +) + +func TestRunLsWithExamplesDirectory(t *testing.T) { + path := "examples" + item, _ := os.Stat(path) + result := runLs(path, item) + runLsTestHelper(t, result, typeDirectory, path) +} + +func TestRunLsWithLicensesFile(t *testing.T) { + path := "LICENSE" + item, _ := os.Stat(path) + result := runLs(path, item) + runLsTestHelper(t, result, typeFile, path) +} + +/* + The format of the `longname' field is unspecified by this protocol. + It MUST be suitable for use in the output of a directory listing + command (in fact, the recommended operation for a directory listing + command is to simply display this data). However, clients SHOULD NOT + attempt to parse the longname field for file attributes; they SHOULD + use the attrs field instead. + + The recommended format for the longname field is as follows: + + -rwxr-xr-x 1 mjos staff 348911 Mar 25 14:29 t-filexfer + 1234567890 123 12345678 12345678 12345678 123456789012 + + Here, the first line is sample output, and the second field indicates + widths of the various fields. Fields are separated by spaces. The + first field lists file permissions for user, group, and others; the + second field is link count; the third field is the name of the user + who owns the file; the fourth field is the name of the group that + owns the file; the fifth field is the size of the file in bytes; the + sixth field (which actually may contain spaces, but is fixed to 12 + characters) is the file modification time, and the seventh field is + the file name. Each field is specified to be a minimum of certain + number of character positions (indicated by the second line above), + but may also be longer if the data does not fit in the specified + length. + + The SSH_FXP_ATTRS response has the following format: + + uint32 id + ATTRS attrs + + where `id' is the request identifier, and `attrs' is the returned + file attributes as described in Section ``File Attributes''. + */ +func runLsTestHelper(t *testing.T, result, expectedType, path string) { + // using regular expressions to make tests work on all systems + // a virtual file system (like afero) would be needed to mock valid filesystem checks + // expected layout is: + // drwxr-xr-x 8 501 20 272 Aug 9 19:46 examples + + // permissions (len 10, "drwxr-xr-x") + got := result[0:10] + if ok, err := regexp.MatchString("^"+expectedType+"[rwx-]{9}$", got); !ok { + t.Errorf("runLs(%#v, *FileInfo): permission field mismatch, expected dir, got: %#v, err: %#v", path, got, err) + } + + // space + got = result[10:11] + if ok, err := regexp.MatchString("^\\s$", got); !ok { + t.Errorf("runLs(%#v, *FileInfo): spacer 1 mismatch, expected whitespace, got: %#v, err: %#v", path, got, err) + } + + // link count (len 3, number) + got = result[12:15] + if ok, err := regexp.MatchString("^\\s*[0-9]+$", got); !ok { + t.Errorf("runLs(%#v, *FileInfo): link count field mismatch, got: %#v, err: %#v", path, got, err) + } + + // spacer + got = result[15:16] + if ok, err := regexp.MatchString("^\\s$", got); !ok { + t.Errorf("runLs(%#v, *FileInfo): spacer 2 mismatch, expected whitespace, got: %#v, err: %#v", path, got, err) + } + + // username / uid (len 8, number or string) + got = result[16:24] + if ok, err := regexp.MatchString("^[^\\s]{1,8}\\s*$", got); !ok { + t.Errorf("runLs(%#v, *FileInfo): username / uid mismatch, expected user, got: %#v, err: %#v", path, got, err) + } + + // spacer + got = result[24:25] + if ok, err := regexp.MatchString("^\\s$", got); !ok { + t.Errorf("runLs(%#v, *FileInfo): spacer 3 mismatch, expected whitespace, got: %#v, err: %#v", path, got, err) + } + + // groupname / gid (len 8, number or string) + got = result[25:33] + if ok, err := regexp.MatchString("^[^\\s]{1,8}\\s*$", got); !ok { + t.Errorf("runLs(%#v, *FileInfo): groupname / gid mismatch, expected group, got: %#v, err: %#v", path, got, err) + } + + // spacer + got = result[33:34] + if ok, err := regexp.MatchString("^\\s$", got); !ok { + t.Errorf("runLs(%#v, *FileInfo): spacer 4 mismatch, expected whitespace, got: %#v, err: %#v", path, got, err) + } + + // filesize (len 8) + got = result[34:42] + if ok, err := regexp.MatchString("^\\s*[0-9]+$", got); !ok { + t.Errorf("runLs(%#v, *FileInfo): filesize field mismatch, expected size in bytes, got: %#v, err: %#v", path, got, err) + } + + // spacer + got = result[42:43] + if ok, err := regexp.MatchString("^\\s$", got); !ok { + t.Errorf("runLs(%#v, *FileInfo): spacer 5 mismatch, expected whitespace, got: %#v, err: %#v", path, got, err) + } + + // mod time (len 12, e.g. Aug 9 19:46) + got = result[43:55] + layout := "Jan 2 15:04" + _, err := time.Parse(layout, got) + + if err != nil { + layout = "Jan 2 2006" + _, err = time.Parse(layout, got) + } + if err != nil { + t.Errorf("runLs(%#v, *FileInfo): mod time field mismatch, expected date layout %s, got: %#v, err: %#v", path, layout, got, err) + } + + // spacer + got = result[55:56] + if ok, err := regexp.MatchString("^\\s$", got); !ok { + t.Errorf("runLs(%#v, *FileInfo): spacer 6 mismatch, expected whitespace, got: %#v, err: %#v", path, got, err) + } + + // filename + got = result[56:] + if ok, err := regexp.MatchString("^"+path+"$", got); !ok { + t.Errorf("runLs(%#v, *FileInfo): name field mismatch, expected examples, got: %#v, err: %#v", path, got, err) + } +} + func clientServerPair(t *testing.T) (*Client, *Server) { cr, sw := io.Pipe() sr, cw := io.Pipe() diff --git a/vendor/github.com/pkg/sftp/server_unix.go b/vendor/github.com/pkg/sftp/server_unix.go index 8c3f0b44e..8d0c138cc 100644 --- a/vendor/github.com/pkg/sftp/server_unix.go +++ b/vendor/github.com/pkg/sftp/server_unix.go @@ -11,96 +11,7 @@ import ( "time" ) -func runLsTypeWord(dirent os.FileInfo) string { - // find first character, the type char - // b Block special file. - // c Character special file. - // d Directory. - // l Symbolic link. - // s Socket link. - // p FIFO. - // - Regular file. - tc := '-' - mode := dirent.Mode() - if (mode & os.ModeDir) != 0 { - tc = 'd' - } else if (mode & os.ModeDevice) != 0 { - tc = 'b' - if (mode & os.ModeCharDevice) != 0 { - tc = 'c' - } - } else if (mode & os.ModeSymlink) != 0 { - tc = 'l' - } else if (mode & os.ModeSocket) != 0 { - tc = 's' - } else if (mode & os.ModeNamedPipe) != 0 { - tc = 'p' - } - - // owner - orc := '-' - if (mode & 0400) != 0 { - orc = 'r' - } - owc := '-' - if (mode & 0200) != 0 { - owc = 'w' - } - oxc := '-' - ox := (mode & 0100) != 0 - setuid := (mode & os.ModeSetuid) != 0 - if ox && setuid { - oxc = 's' - } else if setuid { - oxc = 'S' - } else if ox { - oxc = 'x' - } - - // group - grc := '-' - if (mode & 040) != 0 { - grc = 'r' - } - gwc := '-' - if (mode & 020) != 0 { - gwc = 'w' - } - gxc := '-' - gx := (mode & 010) != 0 - setgid := (mode & os.ModeSetgid) != 0 - if gx && setgid { - gxc = 's' - } else if setgid { - gxc = 'S' - } else if gx { - gxc = 'x' - } - - // all / others - arc := '-' - if (mode & 04) != 0 { - arc = 'r' - } - awc := '-' - if (mode & 02) != 0 { - awc = 'w' - } - axc := '-' - ax := (mode & 01) != 0 - sticky := (mode & os.ModeSticky) != 0 - if ax && sticky { - axc = 't' - } else if sticky { - axc = 'T' - } else if ax { - axc = 'x' - } - - return fmt.Sprintf("%c%c%c%c%c%c%c%c%c%c", tc, orc, owc, oxc, grc, gwc, gxc, arc, awc, axc) -} - -func runLsStatt(dirname string, dirent os.FileInfo, statt *syscall.Stat_t) string { +func runLsStatt(dirent os.FileInfo, statt *syscall.Stat_t) string { // example from openssh sftp server: // crw-rw-rw- 1 root wheel 0 Jul 31 20:52 ttyvd // format: @@ -136,7 +47,7 @@ func runLs(dirname string, dirent os.FileInfo) string { if dsys == nil { } else if statt, ok := dsys.(*syscall.Stat_t); !ok { } else { - return runLsStatt(dirname, dirent, statt) + return runLsStatt(dirent, statt) } return path.Join(dirname, dirent.Name()) diff --git a/vendor/github.com/rfjakob/eme/eme.go b/vendor/github.com/rfjakob/eme/eme.go index 2d3af7436..a05a191fc 100644 --- a/vendor/github.com/rfjakob/eme/eme.go +++ b/vendor/github.com/rfjakob/eme/eme.go @@ -109,7 +109,7 @@ func Transform(bc cipher.Block, tweak []byte, inputData []byte, direction direct // make following the paper easy. T := tweak // In the paper, the plaintext data is called "P" and the ciphertext is - // called "C". Because encryption and decryption are virtually indentical, + // called "C". Because encryption and decryption are virtually identical, // we share the code and always call the input data "P" and the output data // "C", regardless of the direction. P := inputData diff --git a/vendor/github.com/russross/blackfriday/.travis.yml b/vendor/github.com/russross/blackfriday/.travis.yml index 208fd25bc..a1687f17a 100644 --- a/vendor/github.com/russross/blackfriday/.travis.yml +++ b/vendor/github.com/russross/blackfriday/.travis.yml @@ -1,18 +1,30 @@ -# Travis CI (http://travis-ci.org/) is a continuous integration service for -# open source projects. This file configures it to run unit tests for -# blackfriday. - +sudo: false language: go - go: - - 1.2 - - 1.3 - - 1.4 - - 1.5 - + - 1.5.4 + - 1.6.2 + - tip +matrix: + include: + - go: 1.2.2 + script: + - go get -t -v ./... + - go test -v -race ./... + - go: 1.3.3 + script: + - go get -t -v ./... + - go test -v -race ./... + - go: 1.4.3 + script: + - go get -t -v ./... + - go test -v -race ./... + allow_failures: + - go: tip + fast_finish: true install: - - go get -d -t -v ./... - - go build -v ./... - + - # Do nothing. This is needed to prevent default install action "go get -t -v ./..." from happening here (we want it to happen inside script step). script: - - go test -v ./... + - go get -t -v ./... + - diff -u <(echo -n) <(gofmt -d -s .) + - go tool vet . + - go test -v -race ./... diff --git a/vendor/github.com/russross/blackfriday/README.md b/vendor/github.com/russross/blackfriday/README.md index 7b979700b..0d1ac9a73 100644 --- a/vendor/github.com/russross/blackfriday/README.md +++ b/vendor/github.com/russross/blackfriday/README.md @@ -1,4 +1,4 @@ -Blackfriday [![Build Status](https://travis-ci.org/russross/blackfriday.svg?branch=master)](https://travis-ci.org/russross/blackfriday) +Blackfriday [![Build Status](https://travis-ci.org/russross/blackfriday.svg?branch=master)](https://travis-ci.org/russross/blackfriday) [![GoDoc](https://godoc.org/github.com/russross/blackfriday?status.svg)](https://godoc.org/github.com/russross/blackfriday) =========== Blackfriday is a [Markdown][1] processor implemented in [Go][2]. It @@ -93,6 +93,22 @@ installed in `$GOPATH/bin`. This is a statically-linked binary that can be copied to wherever you need it without worrying about dependencies and library versions. +### Sanitized anchor names + +Blackfriday includes an algorithm for creating sanitized anchor names +corresponding to a given input text. This algorithm is used to create +anchors for headings when `EXTENSION_AUTO_HEADER_IDS` is enabled. The +algorithm has a specification, so that other packages can create +compatible anchor names and links to those anchors. + +The specification is located at https://godoc.org/github.com/russross/blackfriday#hdr-Sanitized_Anchor_Names. + +[`SanitizedAnchorName`](https://godoc.org/github.com/russross/blackfriday#SanitizedAnchorName) exposes this functionality, and can be used to +create compatible links to the anchor names generated by blackfriday. +This algorithm is also implemented in a small standalone package at +[`github.com/shurcooL/sanitized_anchor_name`](https://godoc.org/github.com/shurcooL/sanitized_anchor_name). It can be useful for clients +that want a small package and don't need full functionality of blackfriday. + Features -------- @@ -114,7 +130,7 @@ All features of Sundown are supported, including: know and send me the input that does it. NOTE: "safety" in this context means *runtime safety only*. In order to - protect yourself agains JavaScript injection in untrusted content, see + protect yourself against JavaScript injection in untrusted content, see [this example](https://github.com/russross/blackfriday#sanitize-untrusted-content). * **Fast processing**. It is fast enough to render on-demand in @@ -169,6 +185,15 @@ implements the following extensions: You can use 3 or more backticks to mark the beginning of the block, and the same number to mark the end of the block. + To preserve classes of fenced code blocks while using the bluemonday + HTML sanitizer, use the following policy: + + ``` go + p := bluemonday.UGCPolicy() + p.AllowAttrs("class").Matching(regexp.MustCompile("^language-[a-zA-Z0-9]+$")).OnElements("code") + html := p.SanitizeBytes(unsafe) + ``` + * **Definition lists**. A simple definition list is made of a single-line term followed by a colon and the definition for that term. @@ -242,6 +267,8 @@ are a few of note: point. In particular, it does not do any inline escaping, so input that happens to look like LaTeX code will be passed through without modification. + +* [Md2Vim](https://github.com/FooSoft/md2vim): transforms markdown files into vimdoc format. Todo diff --git a/vendor/github.com/russross/blackfriday/block.go b/vendor/github.com/russross/blackfriday/block.go index b5b084117..7fc731d54 100644 --- a/vendor/github.com/russross/blackfriday/block.go +++ b/vendor/github.com/russross/blackfriday/block.go @@ -15,8 +15,7 @@ package blackfriday import ( "bytes" - - "github.com/shurcooL/sanitized_anchor_name" + "unicode" ) // Parse block-level data. @@ -102,7 +101,7 @@ func (p *parser) block(out *bytes.Buffer, data []byte) { // } // ``` if p.flags&EXTENSION_FENCED_CODE != 0 { - if i := p.fencedCode(out, data, true); i > 0 { + if i := p.fencedCodeBlock(out, data, true); i > 0 { data = data[i:] continue } @@ -243,7 +242,7 @@ func (p *parser) prefixHeader(out *bytes.Buffer, data []byte) int { } if end > i { if id == "" && p.flags&EXTENSION_AUTO_HEADER_IDS != 0 { - id = sanitized_anchor_name.Create(string(data[i:end])) + id = SanitizedAnchorName(string(data[i:end])) } work := func() bool { p.inline(out, data[i:end]) @@ -320,6 +319,11 @@ func (p *parser) html(out *bytes.Buffer, data []byte, doRender bool) int { return size } + // check for HTML CDATA + if size := p.htmlCDATA(out, data, doRender); size > 0 { + return size + } + // no special case recognized return 0 } @@ -397,12 +401,10 @@ func (p *parser) html(out *bytes.Buffer, data []byte, doRender bool) int { return i } -// HTML comment, lax form -func (p *parser) htmlComment(out *bytes.Buffer, data []byte, doRender bool) int { - i := p.inlineHtmlComment(out, data) - // needs to end with a blank line - if j := p.isEmpty(data[i:]); j > 0 { - size := i + j +func (p *parser) renderHTMLBlock(out *bytes.Buffer, data []byte, start int, doRender bool) int { + // html block needs to end with a blank line + if i := p.isEmpty(data[start:]); i > 0 { + size := start + i if doRender { // trim trailing newlines end := size @@ -416,6 +418,35 @@ func (p *parser) htmlComment(out *bytes.Buffer, data []byte, doRender bool) int return 0 } +// HTML comment, lax form +func (p *parser) htmlComment(out *bytes.Buffer, data []byte, doRender bool) int { + i := p.inlineHTMLComment(out, data) + return p.renderHTMLBlock(out, data, i, doRender) +} + +// HTML CDATA section +func (p *parser) htmlCDATA(out *bytes.Buffer, data []byte, doRender bool) int { + const cdataTag = "') { + i++ + } + i++ + // no end-of-comment marker + if i >= len(data) { + return 0 + } + return p.renderHTMLBlock(out, data, i, doRender) +} + // HR, which is the only self-closing block tag considered func (p *parser) htmlHr(out *bytes.Buffer, data []byte, doRender bool) int { if data[0] != '<' || (data[1] != 'h' && data[1] != 'H') || (data[2] != 'r' && data[2] != 'R') { @@ -432,19 +463,7 @@ func (p *parser) htmlHr(out *bytes.Buffer, data []byte, doRender bool) int { } if data[i] == '>' { - i++ - if j := p.isEmpty(data[i:]); j > 0 { - size := i + j - if doRender { - // trim newlines - end := size - for end > 0 && data[end-1] == '\n' { - end-- - } - p.r.BlockHtml(out, data[:end]) - } - return size - } + return p.renderHTMLBlock(out, data, i+1, doRender) } return 0 @@ -495,7 +514,7 @@ func (p *parser) htmlFindEnd(tag string, data []byte) int { return i + skip } -func (p *parser) isEmpty(data []byte) int { +func (*parser) isEmpty(data []byte) int { // it is okay to call isEmpty on an empty buffer if len(data) == 0 { return 0 @@ -510,7 +529,7 @@ func (p *parser) isEmpty(data []byte) int { return i + 1 } -func (p *parser) isHRule(data []byte) bool { +func (*parser) isHRule(data []byte) bool { i := 0 // skip up to three spaces @@ -539,21 +558,24 @@ func (p *parser) isHRule(data []byte) bool { return n >= 3 } -func (p *parser) isFencedCode(data []byte, syntax **string, oldmarker string) (skip int, marker string) { +// isFenceLine checks if there's a fence line (e.g., ``` or ``` go) at the beginning of data, +// and returns the end index if so, or 0 otherwise. It also returns the marker found. +// If syntax is not nil, it gets set to the syntax specified in the fence line. +// A final newline is mandatory to recognize the fence line, unless newlineOptional is true. +func isFenceLine(data []byte, syntax *string, oldmarker string, newlineOptional bool) (end int, marker string) { i, size := 0, 0 - skip = 0 // skip up to three spaces for i < len(data) && i < 3 && data[i] == ' ' { i++ } - if i >= len(data) { - return - } // check for the marker characters: ~ or ` + if i >= len(data) { + return 0, "" + } if data[i] != '~' && data[i] != '`' { - return + return 0, "" } c := data[i] @@ -564,27 +586,28 @@ func (p *parser) isFencedCode(data []byte, syntax **string, oldmarker string) (s i++ } - if i >= len(data) { - return - } - // the marker char must occur at least 3 times if size < 3 { - return + return 0, "" } marker = string(data[i-size : i]) // if this is the end marker, it must match the beginning marker if oldmarker != "" && marker != oldmarker { - return + return 0, "" } + // TODO(shurcooL): It's probably a good idea to simplify the 2 code paths here + // into one, always get the syntax, and discard it if the caller doesn't care. if syntax != nil { syn := 0 i = skipChar(data, i, ' ') if i >= len(data) { - return + if newlineOptional && i == len(data) { + return i, marker + } + return 0, "" } syntaxStart := i @@ -599,7 +622,7 @@ func (p *parser) isFencedCode(data []byte, syntax **string, oldmarker string) (s } if i >= len(data) || data[i] != '}' { - return + return 0, "" } // strip all whitespace at the beginning and the end @@ -621,22 +644,26 @@ func (p *parser) isFencedCode(data []byte, syntax **string, oldmarker string) (s } } - language := string(data[syntaxStart : syntaxStart+syn]) - *syntax = &language + *syntax = string(data[syntaxStart : syntaxStart+syn]) } i = skipChar(data, i, ' ') if i >= len(data) || data[i] != '\n' { - return + if newlineOptional && i == len(data) { + return i, marker + } + return 0, "" } - skip = i + 1 - return + return i + 1, marker // Take newline into account. } -func (p *parser) fencedCode(out *bytes.Buffer, data []byte, doRender bool) int { - var lang *string - beg, marker := p.isFencedCode(data, &lang, "") +// fencedCodeBlock returns the end index if data contains a fenced code block at the beginning, +// or 0 otherwise. It writes to out if doRender is true, otherwise it has no side effects. +// If doRender is true, a final newline is mandatory to recognize the fenced code block. +func (p *parser) fencedCodeBlock(out *bytes.Buffer, data []byte, doRender bool) int { + var syntax string + beg, marker := isFenceLine(data, &syntax, "", false) if beg == 0 || beg >= len(data) { return 0 } @@ -647,7 +674,8 @@ func (p *parser) fencedCode(out *bytes.Buffer, data []byte, doRender bool) int { // safe to assume beg < len(data) // check for the end of the code block - fenceEnd, _ := p.isFencedCode(data[beg:], nil, marker) + newlineOptional := !doRender + fenceEnd, _ := isFenceLine(data[beg:], nil, marker, newlineOptional) if fenceEnd != 0 { beg += fenceEnd break @@ -668,11 +696,6 @@ func (p *parser) fencedCode(out *bytes.Buffer, data []byte, doRender bool) int { beg = end } - syntax := "" - if lang != nil { - syntax = *lang - } - if doRender { p.r.BlockCode(out, work.Bytes(), syntax) } @@ -914,7 +937,7 @@ func (p *parser) quote(out *bytes.Buffer, data []byte) int { // irregardless of any contents inside it for data[end] != '\n' { if p.flags&EXTENSION_FENCED_CODE != 0 { - if i := p.fencedCode(out, data[end:], false); i > 0 { + if i := p.fencedCodeBlock(out, data[end:], false); i > 0 { // -1 to compensate for the extra end++ after the loop: end += i - 1 break @@ -1133,6 +1156,7 @@ gatherlines: // and move on to the next line if p.isEmpty(data[line:i]) > 0 { containsBlankLine = true + raw.Write(data[line:i]) line = i continue } @@ -1153,6 +1177,14 @@ gatherlines: p.dliPrefix(chunk) > 0: if containsBlankLine { + // end the list if the type changed after a blank line + if indent <= itemIndent && + ((*flags&LIST_TYPE_ORDERED != 0 && p.uliPrefix(chunk) > 0) || + (*flags&LIST_TYPE_ORDERED == 0 && p.oliPrefix(chunk) > 0)) { + + *flags |= LIST_ITEM_END_OF_LIST + break gatherlines + } *flags |= LIST_ITEM_CONTAINS_BLOCK } @@ -1200,17 +1232,10 @@ gatherlines: // a blank line means this should be parsed as a block case containsBlankLine: - raw.WriteByte('\n') *flags |= LIST_ITEM_CONTAINS_BLOCK } - // if this line was preceeded by one or more blanks, - // re-introduce the blank into the buffer - if containsBlankLine { - containsBlankLine = false - raw.WriteByte('\n') - - } + containsBlankLine = false // add the line into the working buffer without prefix raw.Write(data[line+indent : i]) @@ -1218,6 +1243,12 @@ gatherlines: line = i } + // If reached end of data, the Renderer.ListItem call we're going to make below + // is definitely the last in the list. + if line >= len(data) { + *flags |= LIST_ITEM_END_OF_LIST + } + rawBytes := raw.Bytes() // render the contents of the list item @@ -1332,7 +1363,7 @@ func (p *parser) paragraph(out *bytes.Buffer, data []byte) int { id := "" if p.flags&EXTENSION_AUTO_HEADER_IDS != 0 { - id = sanitized_anchor_name.Create(string(data[prev:eol])) + id = SanitizedAnchorName(string(data[prev:eol])) } p.r.Header(out, work, level, id) @@ -1362,7 +1393,7 @@ func (p *parser) paragraph(out *bytes.Buffer, data []byte) int { // if there's a fenced code block, paragraph is over if p.flags&EXTENSION_FENCED_CODE != 0 { - if p.fencedCode(out, current, false) > 0 { + if p.fencedCodeBlock(out, current, false) > 0 { p.renderParagraph(out, data[:i]) return i } @@ -1396,3 +1427,24 @@ func (p *parser) paragraph(out *bytes.Buffer, data []byte) int { p.renderParagraph(out, data[:i]) return i } + +// SanitizedAnchorName returns a sanitized anchor name for the given text. +// +// It implements the algorithm specified in the package comment. +func SanitizedAnchorName(text string) string { + var anchorName []rune + futureDash := false + for _, r := range text { + switch { + case unicode.IsLetter(r) || unicode.IsNumber(r): + if futureDash && len(anchorName) > 0 { + anchorName = append(anchorName, '-') + } + futureDash = false + anchorName = append(anchorName, unicode.ToLower(r)) + default: + futureDash = true + } + } + return string(anchorName) +} diff --git a/vendor/github.com/russross/blackfriday/block_test.go b/vendor/github.com/russross/blackfriday/block_test.go index b33c2578b..89d57754e 100644 --- a/vendor/github.com/russross/blackfriday/block_test.go +++ b/vendor/github.com/russross/blackfriday/block_test.go @@ -657,6 +657,9 @@ func TestUnorderedList(t *testing.T) { "Paragraph\n\n* Linebreak\n", "

Paragraph

\n\n
    \n
  • Linebreak
  • \n
\n", + "* List\n\n1. Spacer Mixed listing\n", + "
    \n
  • List
  • \n
\n\n
    \n
  1. Spacer Mixed listing
  2. \n
\n", + "* List\n * Nested list\n", "
    \n
  • List\n\n
      \n
    • Nested list
    • \n
  • \n
\n", @@ -702,10 +705,41 @@ func TestUnorderedList(t *testing.T) { "* List\n\n * sublist\n\n normal text\n\n * another sublist\n", "
    \n
  • List

    \n\n
      \n
    • sublist
    • \n
    \n\n

    normal text

    \n\n
      \n
    • another sublist
    • \n
  • \n
\n", + + `* Foo + + bar + + qux +`, + `
    +
  • Foo

    + +
    bar
    +
    +qux
    +
  • +
+`, } doTestsBlock(t, tests, 0) } +func TestFencedCodeBlockWithinList(t *testing.T) { + doTestsBlock(t, []string{ + "* Foo\n\n ```\n bar\n\n qux\n ```\n", + `
    +
  • Foo

    + +
    bar
    +
    +qux
    +
  • +
+`, + }, EXTENSION_FENCED_CODE) +} + func TestOrderedList(t *testing.T) { var tests = []string{ "1. Hello\n", @@ -784,6 +818,12 @@ func TestOrderedList(t *testing.T) { "1. List\n\n code block with spaces\n", "
    \n
  1. List

    \n\n
      code block with spaces\n
  2. \n
\n", + "1. List\n\n* Spacer Mixed listing\n", + "
    \n
  1. List
  2. \n
\n\n
    \n
  • Spacer Mixed listing
  • \n
\n", + + "1. List\n* Mixed listing\n", + "
    \n
  1. List
  2. \n
  3. Mixed listing
  4. \n
\n", + "1. List\n * Mixted list\n", "
    \n
  1. List\n\n
      \n
    • Mixted list
    • \n
  2. \n
\n", @@ -798,6 +838,26 @@ func TestOrderedList(t *testing.T) { "1. numbers\n1. are ignored\n", "
    \n
  1. numbers
  2. \n
  3. are ignored
  4. \n
\n", + + `1. Foo + + bar + + + + qux +`, + `
    +
  1. Foo

    + +
    bar
    +
    +
    +
    +qux
    +
  2. +
+`, } doTestsBlock(t, tests, 0) } @@ -900,6 +960,14 @@ func TestDefinitionList(t *testing.T) { "

Definition b

\n" + "\n" + "\n

Text 2

\n", + + "Term 1\n: Definition a\n\n Text 1\n\n 1. First\n 2. Second", + "
\n" + + "
Term 1
\n" + + "

Definition a

\n\n" + + "

Text 1

\n\n" + + "
    \n
  1. First
  2. \n
  3. Second
  4. \n
\n" + + "
\n", } doTestsBlock(t, tests, EXTENSION_DEFINITION_LISTS) } @@ -1062,6 +1130,12 @@ func TestFencedCodeBlock(t *testing.T) { "Some text before a fenced code block\n``` oz\ncode blocks breakup paragraphs\n```\nSome text in between\n``` oz\nmultiple code blocks work okay\n```\nAnd some text after a fenced code block", "

Some text before a fenced code block

\n\n
code blocks breakup paragraphs\n
\n\n

Some text in between

\n\n
multiple code blocks work okay\n
\n\n

And some text after a fenced code block

\n", + + "```\n[]:()\n```\n", + "
[]:()\n
\n", + + "```\n[]:()\n[]:)\n[]:(\n[]:x\n[]:testing\n[:testing\n\n[]:\nlinebreak\n[]()\n\n[]:\n[]()\n```", + "
[]:()\n[]:)\n[]:(\n[]:x\n[]:testing\n[:testing\n\n[]:\nlinebreak\n[]()\n\n[]:\n[]()\n
\n", } doTestsBlock(t, tests, EXTENSION_FENCED_CODE) } @@ -1530,3 +1604,178 @@ func TestBlockComments(t *testing.T) { } doTestsBlock(t, tests, 0) } + +func TestCDATA(t *testing.T) { + var tests = []string{ + "Some text\n\n\n", + "

Some text

\n\n\n", + + "CDATA ]]\n\n\n", + "

CDATA ]]

\n\n\n", + + "CDATA >\n\n]]>\n", + "

CDATA >

\n\n]]>\n", + + "Lots of text\n\n\n", + "

Lots of text

\n\n\n", + + "]]>\n", + "]]>\n", + } + doTestsBlock(t, tests, 0) + doTestsBlock(t, []string{ + "``` html\n\n```\n", + "
<![CDATA[foo]]>\n
\n", + + "\n", + "\n", + + ` def func(): +> pass +]]> +`, + ` def func(): +> pass +]]> +`, + }, EXTENSION_FENCED_CODE) +} + +func TestIsFenceLine(t *testing.T) { + tests := []struct { + data []byte + syntaxRequested bool + newlineOptional bool + wantEnd int + wantMarker string + wantSyntax string + }{ + { + data: []byte("```"), + wantEnd: 0, + }, + { + data: []byte("```\nstuff here\n"), + wantEnd: 4, + wantMarker: "```", + }, + { + data: []byte("```\nstuff here\n"), + syntaxRequested: true, + wantEnd: 4, + wantMarker: "```", + }, + { + data: []byte("stuff here\n```\n"), + wantEnd: 0, + }, + { + data: []byte("```"), + newlineOptional: true, + wantEnd: 3, + wantMarker: "```", + }, + { + data: []byte("```"), + syntaxRequested: true, + newlineOptional: true, + wantEnd: 3, + wantMarker: "```", + }, + { + data: []byte("``` go"), + syntaxRequested: true, + newlineOptional: true, + wantEnd: 6, + wantMarker: "```", + wantSyntax: "go", + }, + } + + for _, test := range tests { + var syntax *string + if test.syntaxRequested { + syntax = new(string) + } + end, marker := isFenceLine(test.data, syntax, "```", test.newlineOptional) + if got, want := end, test.wantEnd; got != want { + t.Errorf("got end %v, want %v", got, want) + } + if got, want := marker, test.wantMarker; got != want { + t.Errorf("got marker %q, want %q", got, want) + } + if test.syntaxRequested { + if got, want := *syntax, test.wantSyntax; got != want { + t.Errorf("got syntax %q, want %q", got, want) + } + } + } +} + +func TestJoinLines(t *testing.T) { + input := `# 标题 + +第一 +行文字。 + +第 +二 +行文字。 +` + result := `

标题

+ +

第一行文字。

+ +

第二行文字。

+` + opt := Options{Extensions: commonExtensions | EXTENSION_JOIN_LINES} + renderer := HtmlRenderer(commonHtmlFlags, "", "") + output := MarkdownOptions([]byte(input), renderer, opt) + + if string(output) != result { + t.Error("output dose not match.") + } +} + +func TestSanitizedAnchorName(t *testing.T) { + tests := []struct { + text string + want string + }{ + { + text: "This is a header", + want: "this-is-a-header", + }, + { + text: "This is also a header", + want: "this-is-also-a-header", + }, + { + text: "main.go", + want: "main-go", + }, + { + text: "Article 123", + want: "article-123", + }, + { + text: "<- Let's try this, shall we?", + want: "let-s-try-this-shall-we", + }, + { + text: " ", + want: "", + }, + { + text: "Hello, 世界", + want: "hello-世界", + }, + } + for _, test := range tests { + if got := SanitizedAnchorName(test.text); got != test.want { + t.Errorf("SanitizedAnchorName(%q):\ngot %q\nwant %q", test.text, got, test.want) + } + } +} diff --git a/vendor/github.com/russross/blackfriday/doc.go b/vendor/github.com/russross/blackfriday/doc.go new file mode 100644 index 000000000..9656c42a1 --- /dev/null +++ b/vendor/github.com/russross/blackfriday/doc.go @@ -0,0 +1,32 @@ +// Package blackfriday is a Markdown processor. +// +// It translates plain text with simple formatting rules into HTML or LaTeX. +// +// Sanitized Anchor Names +// +// Blackfriday includes an algorithm for creating sanitized anchor names +// corresponding to a given input text. This algorithm is used to create +// anchors for headings when EXTENSION_AUTO_HEADER_IDS is enabled. The +// algorithm is specified below, so that other packages can create +// compatible anchor names and links to those anchors. +// +// The algorithm iterates over the input text, interpreted as UTF-8, +// one Unicode code point (rune) at a time. All runes that are letters (category L) +// or numbers (category N) are considered valid characters. They are mapped to +// lower case, and included in the output. All other runes are considered +// invalid characters. Invalid characters that preceed the first valid character, +// as well as invalid character that follow the last valid character +// are dropped completely. All other sequences of invalid characters +// between two valid characters are replaced with a single dash character '-'. +// +// SanitizedAnchorName exposes this functionality, and can be used to +// create compatible links to the anchor names generated by blackfriday. +// This algorithm is also implemented in a small standalone package at +// github.com/shurcooL/sanitized_anchor_name. It can be useful for clients +// that want a small package and don't need full functionality of blackfriday. +package blackfriday + +// NOTE: Keep Sanitized Anchor Name algorithm in sync with package +// github.com/shurcooL/sanitized_anchor_name. +// Otherwise, users of sanitized_anchor_name will get anchor names +// that are incompatible with those generated by blackfriday. diff --git a/vendor/github.com/russross/blackfriday/html.go b/vendor/github.com/russross/blackfriday/html.go index 74e67ee82..2f0ad3b1e 100644 --- a/vendor/github.com/russross/blackfriday/html.go +++ b/vendor/github.com/russross/blackfriday/html.go @@ -42,6 +42,7 @@ const ( HTML_SMARTYPANTS_DASHES // enable smart dashes (with HTML_USE_SMARTYPANTS) HTML_SMARTYPANTS_LATEX_DASHES // enable LaTeX-style dashes (with HTML_USE_SMARTYPANTS and HTML_SMARTYPANTS_DASHES) HTML_SMARTYPANTS_ANGLED_QUOTES // enable angled double quotes (with HTML_USE_SMARTYPANTS) for double quotes rendering + HTML_SMARTYPANTS_QUOTES_NBSP // enable "French guillemets" (with HTML_USE_SMARTYPANTS) HTML_FOOTNOTE_RETURN_LINKS // generate a link at the end of a footnote to return to the source ) diff --git a/vendor/github.com/russross/blackfriday/inline.go b/vendor/github.com/russross/blackfriday/inline.go index a28bb660d..4483b8f19 100644 --- a/vendor/github.com/russross/blackfriday/inline.go +++ b/vendor/github.com/russross/blackfriday/inline.go @@ -170,6 +170,10 @@ func lineBreak(p *parser, out *bytes.Buffer, data []byte, offset int) int { precededByBackslash := offset >= 1 && data[offset-1] == '\\' // see http://spec.commonmark.org/0.18/#example-527 precededByBackslash = precededByBackslash && p.flags&EXTENSION_BACKSLASH_LINE_BREAK != 0 + if p.flags&EXTENSION_JOIN_LINES != 0 { + return 1 + } + // should there be a hard line break here? if p.flags&EXTENSION_HARD_LINE_BREAK == 0 && !precededByTwoSpaces && !precededByBackslash { return 0 @@ -240,6 +244,8 @@ func link(p *parser, out *bytes.Buffer, data []byte, offset int) int { i++ } + brace := 0 + // look for the matching closing bracket for level := 1; level > 0 && i < len(data); i++ { switch { @@ -273,8 +279,8 @@ func link(p *parser, out *bytes.Buffer, data []byte, offset int) int { i++ } - // inline style link switch { + // inline style link case i < len(data) && data[i] == '(': // skip initial whitespace i++ @@ -285,14 +291,27 @@ func link(p *parser, out *bytes.Buffer, data []byte, offset int) int { linkB := i - // look for link end: ' " ) + // look for link end: ' " ), check for new opening braces and take this + // into account, this may lead for overshooting and probably will require + // some fine-tuning. findlinkend: for i < len(data) { switch { case data[i] == '\\': i += 2 - case data[i] == ')' || data[i] == '\'' || data[i] == '"': + case data[i] == '(': + brace++ + i++ + + case data[i] == ')': + if brace <= 0 { + break findlinkend + } + brace-- + i++ + + case data[i] == '\'' || data[i] == '"': break findlinkend default: @@ -469,6 +488,7 @@ func link(p *parser, out *bytes.Buffer, data []byte, offset int) int { } p.notes = append(p.notes, ref) + p.notesRecord[string(ref.link)] = struct{}{} link = ref.link title = ref.title @@ -479,9 +499,10 @@ func link(p *parser, out *bytes.Buffer, data []byte, offset int) int { return 0 } - if t == linkDeferredFootnote { + if t == linkDeferredFootnote && !p.isFootnote(lr) { lr.noteId = len(p.notes) + 1 p.notes = append(p.notes, lr) + p.notesRecord[string(lr.link)] = struct{}{} } // keep link and title from reference @@ -560,7 +581,7 @@ func link(p *parser, out *bytes.Buffer, data []byte, offset int) int { return i } -func (p *parser) inlineHtmlComment(out *bytes.Buffer, data []byte) int { +func (p *parser) inlineHTMLComment(out *bytes.Buffer, data []byte) int { if len(data) < 5 { return 0 } @@ -584,7 +605,7 @@ func leftAngle(p *parser, out *bytes.Buffer, data []byte, offset int) int { data = data[offset:] altype := LINK_TYPE_NOT_AUTOLINK end := tagLength(data, &altype) - if size := p.inlineHtmlComment(out, data); size > 0 { + if size := p.inlineHTMLComment(out, data); size > 0 { end = size } if end > 2 { @@ -923,7 +944,7 @@ func isMailtoAutoLink(data []byte) int { nb++ case '-', '.', '_': - break + // Do nothing. case '>': if nb == 1 { diff --git a/vendor/github.com/russross/blackfriday/inline_test.go b/vendor/github.com/russross/blackfriday/inline_test.go index d793e0196..5bae3e97b 100644 --- a/vendor/github.com/russross/blackfriday/inline_test.go +++ b/vendor/github.com/russross/blackfriday/inline_test.go @@ -15,9 +15,8 @@ package blackfriday import ( "regexp" - "testing" - "strings" + "testing" ) func runMarkdownInline(input string, opts Options, htmlFlags int, params HtmlRendererParameters) string { @@ -60,13 +59,11 @@ func doTestsInlineParam(t *testing.T, tests []string, opts Options, htmlFlags in params HtmlRendererParameters) { // catch and report panics var candidate string - /* - defer func() { - if err := recover(); err != nil { - t.Errorf("\npanic while processing [%#v] (%v)\n", candidate, err) - } - }() - */ + defer func() { + if err := recover(); err != nil { + t.Errorf("\npanic while processing [%#v]: %s\n", candidate, err) + } + }() for i := 0; i+1 < len(tests); i += 2 { input := tests[i] @@ -156,10 +153,35 @@ func TestEmphasis(t *testing.T) { "*What is A\\* algorithm?*\n", "

What is A* algorithm?

\n", + + "some para_graph with _emphasised_ text.\n", + "

some para_graph with emphasised text.

\n", + + "some paragraph with _emphasised_ te_xt.\n", + "

some paragraph with emphasised te_xt.

\n", + + "some paragraph with t_wo bi_ts of _emphasised_ text.\n", + "

some paragraph with two bits of emphasised text.

\n", + + "un*frigging*believable\n", + "

unfriggingbelievable

\n", } doTestsInline(t, tests) } +func TestNoIntraEmphasis(t *testing.T) { + tests := []string{ + "some para_graph with _emphasised_ text.\n", + "

some para_graph with emphasised text.

\n", + + "un*frigging*believable\n", + "

un*frigging*believable

\n", + } + doTestsInlineParam(t, tests, Options{ + Extensions: EXTENSION_NO_INTRA_EMPHASIS}, + 0, HtmlRendererParameters{}) +} + func TestReferenceOverride(t *testing.T) { var tests = []string{ "test [ref1][]\n", @@ -541,6 +563,20 @@ func TestInlineLink(t *testing.T) { "[link](<../>)\n", "

link

\n", + + // Issue 116 in blackfriday + "![](http://www.broadgate.co.uk/Content/Upload/DetailImages/Cyclus700(1).jpg)", + "

\"\"

\n", + + // no closing ), autolinking detects the url next + "[disambiguation](http://en.wikipedia.org/wiki/Disambiguation_(disambiguation) is the", + "

[disambiguation](http://en.wikipedia.org/wiki/Disambiguation_(disambiguation) is the

\n", + + "[disambiguation](http://en.wikipedia.org/wiki/Disambiguation_(disambiguation)) is the", + "

disambiguation is the

\n", + + "[disambiguation](http://en.wikipedia.org/wiki/Disambiguation_(disambiguation))", + "

disambiguation

\n", } doLinkTestsInline(t, tests) @@ -681,6 +717,9 @@ func TestReferenceLink(t *testing.T) { "[ref]\n [ref]: ../url/ \"title\"\n", "

ref

\n", + + "[link][ref]\n [ref]: /url/", + "

link

\n", } doLinkTestsInline(t, tests) } @@ -984,6 +1023,28 @@ what happens here +`, + `testing footnotes.[^a] + +test footnotes the second.[^b] + +[^a]: This is the first note[^a]. +[^b]: this is the second note.[^a] +`, + `

testing footnotes.1

+ +

test footnotes the second.2

+
+ +
+ +
    +
  1. This is the first note1. +
  2. +
  3. this is the second note.1 +
  4. +
+
`, } @@ -1037,6 +1098,34 @@ func TestNestedFootnotes(t *testing.T) { +`, + `This uses footnote A.[^A] + +This uses footnote C.[^C] + +[^A]: + A note. use itself.[^A] +[^B]: + B note, uses A to test duplicate.[^A] +[^C]: + C note, uses B.[^B] +`, + `

This uses footnote A.1

+ +

This uses footnote C.2

+
+ +
+ +
    +
  1. A note. use itself.1 +
  2. +
  3. C note, uses B.3 +
  4. +
  5. B note, uses A to test duplicate.1 +
  6. +
+
`, } doTestsInlineParam(t, tests, Options{Extensions: EXTENSION_FOOTNOTES}, 0, @@ -1084,6 +1173,18 @@ func TestSmartDoubleQuotes(t *testing.T) { doTestsInlineParam(t, tests, Options{}, HTML_USE_SMARTYPANTS, HtmlRendererParameters{}) } +func TestSmartDoubleQuotesNbsp(t *testing.T) { + var tests = []string{ + "this should be normal \"quoted\" text.\n", + "

this should be normal “ quoted ” text.

\n", + "this \" single double\n", + "

this “  single double

\n", + "two pair of \"some\" quoted \"text\".\n", + "

two pair of “ some ” quoted “ text ”.

\n"} + + doTestsInlineParam(t, tests, Options{}, HTML_USE_SMARTYPANTS|HTML_SMARTYPANTS_QUOTES_NBSP, HtmlRendererParameters{}) +} + func TestSmartAngledDoubleQuotes(t *testing.T) { var tests = []string{ "this should be angled \"quoted\" text.\n", @@ -1096,6 +1197,18 @@ func TestSmartAngledDoubleQuotes(t *testing.T) { doTestsInlineParam(t, tests, Options{}, HTML_USE_SMARTYPANTS|HTML_SMARTYPANTS_ANGLED_QUOTES, HtmlRendererParameters{}) } +func TestSmartAngledDoubleQuotesNbsp(t *testing.T) { + var tests = []string{ + "this should be angled \"quoted\" text.\n", + "

this should be angled « quoted » text.

\n", + "this \" single double\n", + "

this «  single double

\n", + "two pair of \"some\" quoted \"text\".\n", + "

two pair of « some » quoted « text ».

\n"} + + doTestsInlineParam(t, tests, Options{}, HTML_USE_SMARTYPANTS|HTML_SMARTYPANTS_ANGLED_QUOTES|HTML_SMARTYPANTS_QUOTES_NBSP, HtmlRendererParameters{}) +} + func TestSmartFractions(t *testing.T) { var tests = []string{ "1/2, 1/4 and 3/4; 1/4th and 3/4ths\n", @@ -1151,3 +1264,9 @@ func TestDisableSmartDashes(t *testing.T) { HTML_USE_SMARTYPANTS|HTML_SMARTYPANTS_LATEX_DASHES, HtmlRendererParameters{}) } + +func BenchmarkSmartDoubleQuotes(b *testing.B) { + for i := 0; i < b.N; i++ { + runMarkdownInline("this should be normal \"quoted\" text.\n", Options{}, HTML_USE_SMARTYPANTS, HtmlRendererParameters{}) + } +} diff --git a/vendor/github.com/russross/blackfriday/markdown.go b/vendor/github.com/russross/blackfriday/markdown.go index 746905bf3..1722a7389 100644 --- a/vendor/github.com/russross/blackfriday/markdown.go +++ b/vendor/github.com/russross/blackfriday/markdown.go @@ -13,9 +13,6 @@ // // -// Blackfriday markdown processor. -// -// Translates plain text with simple formatting rules into HTML or LaTeX. package blackfriday import ( @@ -25,7 +22,7 @@ import ( "unicode/utf8" ) -const VERSION = "1.4" +const VERSION = "1.5" // These are the supported markdown parsing extensions. // OR these values together to select multiple extensions. @@ -46,6 +43,7 @@ const ( EXTENSION_AUTO_HEADER_IDS // Create the header ID from the text EXTENSION_BACKSLASH_LINE_BREAK // translate trailing backslashes into line breaks EXTENSION_DEFINITION_LISTS // render definition lists + EXTENSION_JOIN_LINES // delete newline and join lines commonHtmlFlags = 0 | HTML_USE_XHTML | @@ -105,46 +103,46 @@ const ( // blockTags is a set of tags that are recognized as HTML block tags. // Any of these can be included in markdown text without special escaping. var blockTags = map[string]struct{}{ - "blockquote": struct{}{}, - "del": struct{}{}, - "div": struct{}{}, - "dl": struct{}{}, - "fieldset": struct{}{}, - "form": struct{}{}, - "h1": struct{}{}, - "h2": struct{}{}, - "h3": struct{}{}, - "h4": struct{}{}, - "h5": struct{}{}, - "h6": struct{}{}, - "iframe": struct{}{}, - "ins": struct{}{}, - "math": struct{}{}, - "noscript": struct{}{}, - "ol": struct{}{}, - "pre": struct{}{}, - "p": struct{}{}, - "script": struct{}{}, - "style": struct{}{}, - "table": struct{}{}, - "ul": struct{}{}, + "blockquote": {}, + "del": {}, + "div": {}, + "dl": {}, + "fieldset": {}, + "form": {}, + "h1": {}, + "h2": {}, + "h3": {}, + "h4": {}, + "h5": {}, + "h6": {}, + "iframe": {}, + "ins": {}, + "math": {}, + "noscript": {}, + "ol": {}, + "pre": {}, + "p": {}, + "script": {}, + "style": {}, + "table": {}, + "ul": {}, // HTML5 - "address": struct{}{}, - "article": struct{}{}, - "aside": struct{}{}, - "canvas": struct{}{}, - "figcaption": struct{}{}, - "figure": struct{}{}, - "footer": struct{}{}, - "header": struct{}{}, - "hgroup": struct{}{}, - "main": struct{}{}, - "nav": struct{}{}, - "output": struct{}{}, - "progress": struct{}{}, - "section": struct{}{}, - "video": struct{}{}, + "address": {}, + "article": {}, + "aside": {}, + "canvas": {}, + "figcaption": {}, + "figure": {}, + "footer": {}, + "header": {}, + "hgroup": {}, + "main": {}, + "nav": {}, + "output": {}, + "progress": {}, + "section": {}, + "video": {}, } // Renderer is the rendering interface. @@ -220,7 +218,8 @@ type parser struct { // Footnotes need to be ordered as well as available to quickly check for // presence. If a ref is also a footnote, it's stored both in refs and here // in notes. Slice is nil if footnotes not enabled. - notes []*reference + notes []*reference + notesRecord map[string]struct{} } func (p *parser) getRef(refid string) (ref *reference, found bool) { @@ -243,6 +242,11 @@ func (p *parser) getRef(refid string) (ref *reference, found bool) { return ref, found } +func (p *parser) isFootnote(ref *reference) bool { + _, ok := p.notesRecord[string(ref.link)] + return ok +} + // // // Public interface @@ -378,6 +382,7 @@ func MarkdownOptions(input []byte, renderer Renderer, opts Options) []byte { if extensions&EXTENSION_FOOTNOTES != 0 { p.notes = make([]*reference, 0) + p.notesRecord = make(map[string]struct{}) } first := firstPass(p, input) @@ -386,9 +391,9 @@ func MarkdownOptions(input []byte, renderer Renderer, opts Options) []byte { } // first pass: -// - extract references -// - expand tabs // - normalize newlines +// - extract references (outside of fenced code blocks) +// - expand tabs (outside of fenced code blocks) // - copy everything else func firstPass(p *parser, input []byte) []byte { var out bytes.Buffer @@ -396,46 +401,46 @@ func firstPass(p *parser, input []byte) []byte { if p.flags&EXTENSION_TAB_SIZE_EIGHT != 0 { tabSize = TAB_SIZE_EIGHT } - beg, end := 0, 0 + beg := 0 lastFencedCodeBlockEnd := 0 - for beg < len(input) { // iterate over lines - if end = isReference(p, input[beg:], tabSize); end > 0 { - beg += end - } else { // skip to the next line - end = beg - for end < len(input) && input[end] != '\n' && input[end] != '\r' { - end++ - } - - if p.flags&EXTENSION_FENCED_CODE != 0 { - // track fenced code block boundaries to suppress tab expansion - // inside them: - if beg >= lastFencedCodeBlockEnd { - if i := p.fencedCode(&out, input[beg:], false); i > 0 { - lastFencedCodeBlockEnd = beg + i - } - } - } - - // add the line body if present - if end > beg { - if end < lastFencedCodeBlockEnd { // Do not expand tabs while inside fenced code blocks. - out.Write(input[beg:end]) - } else { - expandTabs(&out, input[beg:end], tabSize) - } - } - out.WriteByte('\n') - - if end < len(input) && input[end] == '\r' { - end++ - } - if end < len(input) && input[end] == '\n' { - end++ - } - - beg = end + for beg < len(input) { + // Find end of this line, then process the line. + end := beg + for end < len(input) && input[end] != '\n' && input[end] != '\r' { + end++ } + + if p.flags&EXTENSION_FENCED_CODE != 0 { + // track fenced code block boundaries to suppress tab expansion + // and reference extraction inside them: + if beg >= lastFencedCodeBlockEnd { + if i := p.fencedCodeBlock(&out, input[beg:], false); i > 0 { + lastFencedCodeBlockEnd = beg + i + } + } + } + + // add the line body if present + if end > beg { + if end < lastFencedCodeBlockEnd { // Do not expand tabs while inside fenced code blocks. + out.Write(input[beg:end]) + } else if refEnd := isReference(p, input[beg:], tabSize); refEnd > 0 { + beg += refEnd + continue + } else { + expandTabs(&out, input[beg:end], tabSize) + } + } + + if end < len(input) && input[end] == '\r' { + end++ + } + if end < len(input) && input[end] == '\n' { + end++ + } + out.WriteByte('\n') + + beg = end } // empty input? @@ -635,12 +640,12 @@ func scanLinkRef(p *parser, data []byte, i int) (linkOffset, linkEnd, titleOffse i++ } linkOffset = i - for i < len(data) && data[i] != ' ' && data[i] != '\t' && data[i] != '\n' && data[i] != '\r' { - i++ - } if i == len(data) { return } + for i < len(data) && data[i] != ' ' && data[i] != '\t' && data[i] != '\n' && data[i] != '\r' { + i++ + } linkEnd = i if data[linkOffset] == '<' && data[linkEnd-1] == '>' { linkOffset++ diff --git a/vendor/github.com/russross/blackfriday/markdown_test.go b/vendor/github.com/russross/blackfriday/markdown_test.go new file mode 100644 index 000000000..d897644a4 --- /dev/null +++ b/vendor/github.com/russross/blackfriday/markdown_test.go @@ -0,0 +1,75 @@ +// +// Blackfriday Markdown Processor +// Available at http://github.com/russross/blackfriday +// +// Copyright © 2011 Russ Ross . +// Distributed under the Simplified BSD License. +// See README.md for details. +// + +// +// Unit tests for full document parsing and rendering +// + +package blackfriday + +import ( + "testing" +) + +func runMarkdown(input string) string { + return string(MarkdownCommon([]byte(input))) +} + +func doTests(t *testing.T, tests []string) { + // catch and report panics + var candidate string + defer func() { + if err := recover(); err != nil { + t.Errorf("\npanic while processing [%#v]: %s\n", candidate, err) + } + }() + + for i := 0; i+1 < len(tests); i += 2 { + input := tests[i] + candidate = input + expected := tests[i+1] + actual := runMarkdown(candidate) + if actual != expected { + t.Errorf("\nInput [%#v]\nExpected[%#v]\nActual [%#v]", + candidate, expected, actual) + } + + // now test every substring to stress test bounds checking + if !testing.Short() { + for start := 0; start < len(input); start++ { + for end := start + 1; end <= len(input); end++ { + candidate = input[start:end] + _ = runMarkdown(candidate) + } + } + } + } +} + +func TestDocument(t *testing.T) { + var tests = []string{ + // Empty document. + "", + "", + + " ", + "", + + // This shouldn't panic. + // https://github.com/russross/blackfriday/issues/172 + "[]:<", + "

[]:<

\n", + + // This shouldn't panic. + // https://github.com/russross/blackfriday/issues/173 + " [", + "

[

\n", + } + doTests(t, tests) +} diff --git a/vendor/github.com/russross/blackfriday/ref_test.go b/vendor/github.com/russross/blackfriday/ref_test.go index 770439cfd..733a63abe 100644 --- a/vendor/github.com/russross/blackfriday/ref_test.go +++ b/vendor/github.com/russross/blackfriday/ref_test.go @@ -29,7 +29,7 @@ func doTestsReference(t *testing.T, files []string, flag int) { var candidate string defer func() { if err := recover(); err != nil { - t.Errorf("\npanic while processing [%#v]\n", candidate) + t.Errorf("\npanic while processing [%#v]: %s\n", candidate, err) } }() diff --git a/vendor/github.com/russross/blackfriday/smartypants.go b/vendor/github.com/russross/blackfriday/smartypants.go index eeffa5e1e..f25bd07d9 100644 --- a/vendor/github.com/russross/blackfriday/smartypants.go +++ b/vendor/github.com/russross/blackfriday/smartypants.go @@ -39,7 +39,7 @@ func isdigit(c byte) bool { return c >= '0' && c <= '9' } -func smartQuoteHelper(out *bytes.Buffer, previousChar byte, nextChar byte, quote byte, isOpen *bool) bool { +func smartQuoteHelper(out *bytes.Buffer, previousChar byte, nextChar byte, quote byte, isOpen *bool, addNBSP bool) bool { // edge of the buffer is likely to be a tag that we don't get to see, // so we treat it like text sometimes @@ -96,6 +96,12 @@ func smartQuoteHelper(out *bytes.Buffer, previousChar byte, nextChar byte, quote *isOpen = false } + // Note that with the limited lookahead, this non-breaking + // space will also be appended to single double quotes. + if addNBSP && !*isOpen { + out.WriteString(" ") + } + out.WriteByte('&') if *isOpen { out.WriteByte('l') @@ -104,6 +110,11 @@ func smartQuoteHelper(out *bytes.Buffer, previousChar byte, nextChar byte, quote } out.WriteByte(quote) out.WriteString("quo;") + + if addNBSP && *isOpen { + out.WriteString(" ") + } + return true } @@ -116,7 +127,7 @@ func smartSingleQuote(out *bytes.Buffer, smrt *smartypantsData, previousChar byt if len(text) >= 3 { nextChar = text[2] } - if smartQuoteHelper(out, previousChar, nextChar, 'd', &smrt.inDoubleQuote) { + if smartQuoteHelper(out, previousChar, nextChar, 'd', &smrt.inDoubleQuote, false) { return 1 } } @@ -141,7 +152,7 @@ func smartSingleQuote(out *bytes.Buffer, smrt *smartypantsData, previousChar byt if len(text) > 1 { nextChar = text[1] } - if smartQuoteHelper(out, previousChar, nextChar, 's', &smrt.inSingleQuote) { + if smartQuoteHelper(out, previousChar, nextChar, 's', &smrt.inSingleQuote, false) { return 0 } @@ -205,13 +216,13 @@ func smartDashLatex(out *bytes.Buffer, smrt *smartypantsData, previousChar byte, return 0 } -func smartAmpVariant(out *bytes.Buffer, smrt *smartypantsData, previousChar byte, text []byte, quote byte) int { +func smartAmpVariant(out *bytes.Buffer, smrt *smartypantsData, previousChar byte, text []byte, quote byte, addNBSP bool) int { if bytes.HasPrefix(text, []byte(""")) { nextChar := byte(0) if len(text) >= 7 { nextChar = text[6] } - if smartQuoteHelper(out, previousChar, nextChar, quote, &smrt.inDoubleQuote) { + if smartQuoteHelper(out, previousChar, nextChar, quote, &smrt.inDoubleQuote, addNBSP) { return 5 } } @@ -224,12 +235,15 @@ func smartAmpVariant(out *bytes.Buffer, smrt *smartypantsData, previousChar byte return 0 } -func smartAmp(out *bytes.Buffer, smrt *smartypantsData, previousChar byte, text []byte) int { - return smartAmpVariant(out, smrt, previousChar, text, 'd') -} +func smartAmp(angledQuotes, addNBSP bool) func(out *bytes.Buffer, smrt *smartypantsData, previousChar byte, text []byte) int { + var quote byte = 'd' + if angledQuotes { + quote = 'a' + } -func smartAmpAngledQuote(out *bytes.Buffer, smrt *smartypantsData, previousChar byte, text []byte) int { - return smartAmpVariant(out, smrt, previousChar, text, 'a') + return func(out *bytes.Buffer, smrt *smartypantsData, previousChar byte, text []byte) int { + return smartAmpVariant(out, smrt, previousChar, text, quote, addNBSP) + } } func smartPeriod(out *bytes.Buffer, smrt *smartypantsData, previousChar byte, text []byte) int { @@ -253,7 +267,7 @@ func smartBacktick(out *bytes.Buffer, smrt *smartypantsData, previousChar byte, if len(text) >= 3 { nextChar = text[2] } - if smartQuoteHelper(out, previousChar, nextChar, 'd', &smrt.inDoubleQuote) { + if smartQuoteHelper(out, previousChar, nextChar, 'd', &smrt.inDoubleQuote, false) { return 1 } } @@ -337,7 +351,7 @@ func smartDoubleQuoteVariant(out *bytes.Buffer, smrt *smartypantsData, previousC if len(text) > 1 { nextChar = text[1] } - if !smartQuoteHelper(out, previousChar, nextChar, quote, &smrt.inDoubleQuote) { + if !smartQuoteHelper(out, previousChar, nextChar, quote, &smrt.inDoubleQuote, false) { out.WriteString(""") } @@ -367,14 +381,30 @@ type smartCallback func(out *bytes.Buffer, smrt *smartypantsData, previousChar b type smartypantsRenderer [256]smartCallback +var ( + smartAmpAngled = smartAmp(true, false) + smartAmpAngledNBSP = smartAmp(true, true) + smartAmpRegular = smartAmp(false, false) + smartAmpRegularNBSP = smartAmp(false, true) +) + func smartypants(flags int) *smartypantsRenderer { r := new(smartypantsRenderer) + addNBSP := flags&HTML_SMARTYPANTS_QUOTES_NBSP != 0 if flags&HTML_SMARTYPANTS_ANGLED_QUOTES == 0 { r['"'] = smartDoubleQuote - r['&'] = smartAmp + if !addNBSP { + r['&'] = smartAmpRegular + } else { + r['&'] = smartAmpRegularNBSP + } } else { r['"'] = smartAngledDoubleQuote - r['&'] = smartAmpAngledQuote + if !addNBSP { + r['&'] = smartAmpAngled + } else { + r['&'] = smartAmpAngledNBSP + } } r['\''] = smartSingleQuote r['('] = smartParens diff --git a/vendor/github.com/shurcooL/sanitized_anchor_name/.travis.yml b/vendor/github.com/shurcooL/sanitized_anchor_name/.travis.yml deleted file mode 100644 index 93b1fcdb3..000000000 --- a/vendor/github.com/shurcooL/sanitized_anchor_name/.travis.yml +++ /dev/null @@ -1,16 +0,0 @@ -sudo: false -language: go -go: - - 1.x - - master -matrix: - allow_failures: - - go: master - fast_finish: true -install: - - # Do nothing. This is needed to prevent default install action "go get -t -v ./..." from happening here (we want it to happen inside script step). -script: - - go get -t -v ./... - - diff -u <(echo -n) <(gofmt -d -s .) - - go tool vet . - - go test -v -race ./... diff --git a/vendor/github.com/shurcooL/sanitized_anchor_name/LICENSE b/vendor/github.com/shurcooL/sanitized_anchor_name/LICENSE deleted file mode 100644 index c35c17af9..000000000 --- a/vendor/github.com/shurcooL/sanitized_anchor_name/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2015 Dmitri Shuralyov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/vendor/github.com/shurcooL/sanitized_anchor_name/README.md b/vendor/github.com/shurcooL/sanitized_anchor_name/README.md deleted file mode 100644 index 670bf0fe6..000000000 --- a/vendor/github.com/shurcooL/sanitized_anchor_name/README.md +++ /dev/null @@ -1,36 +0,0 @@ -sanitized_anchor_name -===================== - -[![Build Status](https://travis-ci.org/shurcooL/sanitized_anchor_name.svg?branch=master)](https://travis-ci.org/shurcooL/sanitized_anchor_name) [![GoDoc](https://godoc.org/github.com/shurcooL/sanitized_anchor_name?status.svg)](https://godoc.org/github.com/shurcooL/sanitized_anchor_name) - -Package sanitized_anchor_name provides a func to create sanitized anchor names. - -Its logic can be reused by multiple packages to create interoperable anchor names -and links to those anchors. - -At this time, it does not try to ensure that generated anchor names -are unique, that responsibility falls on the caller. - -Installation ------------- - -```bash -go get -u github.com/shurcooL/sanitized_anchor_name -``` - -Example -------- - -```Go -anchorName := sanitized_anchor_name.Create("This is a header") - -fmt.Println(anchorName) - -// Output: -// this-is-a-header -``` - -License -------- - -- [MIT License](LICENSE) diff --git a/vendor/github.com/shurcooL/sanitized_anchor_name/main.go b/vendor/github.com/shurcooL/sanitized_anchor_name/main.go deleted file mode 100644 index 72a875350..000000000 --- a/vendor/github.com/shurcooL/sanitized_anchor_name/main.go +++ /dev/null @@ -1,29 +0,0 @@ -// Package sanitized_anchor_name provides a func to create sanitized anchor names. -// -// Its logic can be reused by multiple packages to create interoperable anchor names -// and links to those anchors. -// -// At this time, it does not try to ensure that generated anchor names -// are unique, that responsibility falls on the caller. -package sanitized_anchor_name // import "github.com/shurcooL/sanitized_anchor_name" - -import "unicode" - -// Create returns a sanitized anchor name for the given text. -func Create(text string) string { - var anchorName []rune - var futureDash = false - for _, r := range []rune(text) { - switch { - case unicode.IsLetter(r) || unicode.IsNumber(r): - if futureDash && len(anchorName) > 0 { - anchorName = append(anchorName, '-') - } - futureDash = false - anchorName = append(anchorName, unicode.ToLower(r)) - default: - futureDash = true - } - } - return string(anchorName) -} diff --git a/vendor/github.com/shurcooL/sanitized_anchor_name/main_test.go b/vendor/github.com/shurcooL/sanitized_anchor_name/main_test.go deleted file mode 100644 index 7ce323b94..000000000 --- a/vendor/github.com/shurcooL/sanitized_anchor_name/main_test.go +++ /dev/null @@ -1,35 +0,0 @@ -package sanitized_anchor_name_test - -import ( - "fmt" - - "github.com/shurcooL/sanitized_anchor_name" -) - -func ExampleCreate() { - anchorName := sanitized_anchor_name.Create("This is a header") - - fmt.Println(anchorName) - - // Output: - // this-is-a-header -} - -func ExampleCreate_two() { - fmt.Println(sanitized_anchor_name.Create("This is a header")) - fmt.Println(sanitized_anchor_name.Create("This is also a header")) - fmt.Println(sanitized_anchor_name.Create("main.go")) - fmt.Println(sanitized_anchor_name.Create("Article 123")) - fmt.Println(sanitized_anchor_name.Create("<- Let's try this, shall we?")) - fmt.Printf("%q\n", sanitized_anchor_name.Create(" ")) - fmt.Println(sanitized_anchor_name.Create("Hello, 世界")) - - // Output: - // this-is-a-header - // this-is-also-a-header - // main-go - // article-123 - // let-s-try-this-shall-we - // "" - // hello-世界 -} diff --git a/vendor/github.com/sirupsen/logrus/.travis.yml b/vendor/github.com/sirupsen/logrus/.travis.yml index ceace13bb..a23296a53 100644 --- a/vendor/github.com/sirupsen/logrus/.travis.yml +++ b/vendor/github.com/sirupsen/logrus/.travis.yml @@ -8,5 +8,8 @@ env: - GOMAXPROCS=4 GORACE=halt_on_error=1 install: - go get github.com/stretchr/testify/assert + - go get gopkg.in/gemnasium/logrus-airbrake-hook.v2 + - go get golang.org/x/sys/unix + - go get golang.org/x/sys/windows script: - - go test -race -v . + - go test -race -v ./... diff --git a/vendor/github.com/sirupsen/logrus/CHANGELOG.md b/vendor/github.com/sirupsen/logrus/CHANGELOG.md index c443aed09..8236d8b6e 100644 --- a/vendor/github.com/sirupsen/logrus/CHANGELOG.md +++ b/vendor/github.com/sirupsen/logrus/CHANGELOG.md @@ -1,3 +1,7 @@ +# 1.0.3 + +* Replace example files with testable examples + # 1.0.2 * bug: quote non-string values in text formatter (#583) diff --git a/vendor/github.com/sirupsen/logrus/README.md b/vendor/github.com/sirupsen/logrus/README.md index 82aeb4eef..4f5ce576d 100644 --- a/vendor/github.com/sirupsen/logrus/README.md +++ b/vendor/github.com/sirupsen/logrus/README.md @@ -1,7 +1,7 @@ # Logrus :walrus: [![Build Status](https://travis-ci.org/sirupsen/logrus.svg?branch=master)](https://travis-ci.org/sirupsen/logrus) [![GoDoc](https://godoc.org/github.com/sirupsen/logrus?status.svg)](https://godoc.org/github.com/sirupsen/logrus) Logrus is a structured logger for Go (golang), completely API compatible with -the standard library logger. [Godoc][godoc]. +the standard library logger. **Seeing weird case-sensitive problems?** It's in the past been possible to import Logrus as both upper- and lower-case. Due to the Go package environment, @@ -372,6 +372,7 @@ The built-in logging formatters are: Third party logging formatters: +* [`FluentdFormatter`](https://github.com/joonix/log). Formats entries that can by parsed by Kubernetes and Google Container Engine. * [`logstash`](https://github.com/bshuster-repo/logrus-logstash-hook). Logs fields as [Logstash](http://logstash.net) Events. * [`prefixed`](https://github.com/x-cray/logrus-prefixed-formatter). Displays log entry source along with alternative layout. * [`zalgo`](https://github.com/aybabtme/logzalgo). Invoking the P͉̫o̳̼̊w̖͈̰͎e̬͔̭͂r͚̼̹̲ ̫͓͉̳͈ō̠͕͖̚f̝͍̠ ͕̲̞͖͑Z̖̫̤̫ͪa͉̬͈̗l͖͎g̳̥o̰̥̅!̣͔̲̻͊̄ ̙̘̦̹̦. diff --git a/vendor/github.com/sirupsen/logrus/alt_exit_test.go b/vendor/github.com/sirupsen/logrus/alt_exit_test.go index d18296348..a08b1a898 100644 --- a/vendor/github.com/sirupsen/logrus/alt_exit_test.go +++ b/vendor/github.com/sirupsen/logrus/alt_exit_test.go @@ -2,7 +2,10 @@ package logrus import ( "io/ioutil" + "log" + "os" "os/exec" + "path/filepath" "testing" "time" ) @@ -11,30 +14,36 @@ func TestRegister(t *testing.T) { current := len(handlers) RegisterExitHandler(func() {}) if len(handlers) != current+1 { - t.Fatalf("can't add handler") + t.Fatalf("expected %d handlers, got %d", current+1, len(handlers)) } } func TestHandler(t *testing.T) { - gofile := "/tmp/testprog.go" + tempDir, err := ioutil.TempDir("", "test_handler") + if err != nil { + log.Fatalf("can't create temp dir. %q", err) + } + defer os.RemoveAll(tempDir) + + gofile := filepath.Join(tempDir, "gofile.go") if err := ioutil.WriteFile(gofile, testprog, 0666); err != nil { - t.Fatalf("can't create go file") + t.Fatalf("can't create go file. %q", err) } - outfile := "/tmp/testprog.out" + outfile := filepath.Join(tempDir, "outfile.out") arg := time.Now().UTC().String() - err := exec.Command("go", "run", gofile, outfile, arg).Run() + err = exec.Command("go", "run", gofile, outfile, arg).Run() if err == nil { t.Fatalf("completed normally, should have failed") } data, err := ioutil.ReadFile(outfile) if err != nil { - t.Fatalf("can't read output file %s", outfile) + t.Fatalf("can't read output file %s. %q", outfile, err) } if string(data) != arg { - t.Fatalf("bad data") + t.Fatalf("bad data. Expected %q, got %q", data, arg) } } diff --git a/vendor/github.com/sirupsen/logrus/appveyor.yml b/vendor/github.com/sirupsen/logrus/appveyor.yml new file mode 100644 index 000000000..96c2ce15f --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/appveyor.yml @@ -0,0 +1,14 @@ +version: "{build}" +platform: x64 +clone_folder: c:\gopath\src\github.com\sirupsen\logrus +environment: + GOPATH: c:\gopath +branches: + only: + - master +install: + - set PATH=%GOPATH%\bin;c:\go\bin;%PATH% + - go version +build_script: + - go get -t + - go test diff --git a/vendor/github.com/sirupsen/logrus/entry.go b/vendor/github.com/sirupsen/logrus/entry.go index 320e5d5b8..5bf582ef2 100644 --- a/vendor/github.com/sirupsen/logrus/entry.go +++ b/vendor/github.com/sirupsen/logrus/entry.go @@ -35,6 +35,7 @@ type Entry struct { Time time.Time // Level the log entry was logged at: Debug, Info, Warn, Error, Fatal or Panic + // This field will be set on entry firing and the value will be equal to the one in Logger struct field. Level Level // Message passed to Debug, Info, Warn, Error, Fatal or Panic diff --git a/vendor/github.com/sirupsen/logrus/example_basic_test.go b/vendor/github.com/sirupsen/logrus/example_basic_test.go new file mode 100644 index 000000000..a2acf550c --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/example_basic_test.go @@ -0,0 +1,69 @@ +package logrus_test + +import ( + "github.com/sirupsen/logrus" + "os" +) + +func Example_basic() { + var log = logrus.New() + log.Formatter = new(logrus.JSONFormatter) + log.Formatter = new(logrus.TextFormatter) //default + log.Formatter.(*logrus.TextFormatter).DisableTimestamp = true // remove timestamp from test output + log.Level = logrus.DebugLevel + log.Out = os.Stdout + + // file, err := os.OpenFile("logrus.log", os.O_CREATE|os.O_WRONLY, 0666) + // if err == nil { + // log.Out = file + // } else { + // log.Info("Failed to log to file, using default stderr") + // } + + defer func() { + err := recover() + if err != nil { + entry := err.(*logrus.Entry) + log.WithFields(logrus.Fields{ + "omg": true, + "err_animal": entry.Data["animal"], + "err_size": entry.Data["size"], + "err_level": entry.Level, + "err_message": entry.Message, + "number": 100, + }).Error("The ice breaks!") // or use Fatal() to force the process to exit with a nonzero code + } + }() + + log.WithFields(logrus.Fields{ + "animal": "walrus", + "number": 8, + }).Debug("Started observing beach") + + log.WithFields(logrus.Fields{ + "animal": "walrus", + "size": 10, + }).Info("A group of walrus emerges from the ocean") + + log.WithFields(logrus.Fields{ + "omg": true, + "number": 122, + }).Warn("The group's number increased tremendously!") + + log.WithFields(logrus.Fields{ + "temperature": -4, + }).Debug("Temperature changes") + + log.WithFields(logrus.Fields{ + "animal": "orca", + "size": 9009, + }).Panic("It's over 9000!") + + // Output: + // level=debug msg="Started observing beach" animal=walrus number=8 + // level=info msg="A group of walrus emerges from the ocean" animal=walrus size=10 + // level=warning msg="The group's number increased tremendously!" number=122 omg=true + // level=debug msg="Temperature changes" temperature=-4 + // level=panic msg="It's over 9000!" animal=orca size=9009 + // level=error msg="The ice breaks!" err_animal=orca err_level=panic err_message="It's over 9000!" err_size=9009 number=100 omg=true +} diff --git a/vendor/github.com/sirupsen/logrus/example_hook_test.go b/vendor/github.com/sirupsen/logrus/example_hook_test.go new file mode 100644 index 000000000..d4ddffca3 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/example_hook_test.go @@ -0,0 +1,35 @@ +package logrus_test + +import ( + "github.com/sirupsen/logrus" + "gopkg.in/gemnasium/logrus-airbrake-hook.v2" + "os" +) + +func Example_hook() { + var log = logrus.New() + log.Formatter = new(logrus.TextFormatter) // default + log.Formatter.(*logrus.TextFormatter).DisableTimestamp = true // remove timestamp from test output + log.Hooks.Add(airbrake.NewHook(123, "xyz", "development")) + log.Out = os.Stdout + + log.WithFields(logrus.Fields{ + "animal": "walrus", + "size": 10, + }).Info("A group of walrus emerges from the ocean") + + log.WithFields(logrus.Fields{ + "omg": true, + "number": 122, + }).Warn("The group's number increased tremendously!") + + log.WithFields(logrus.Fields{ + "omg": true, + "number": 100, + }).Error("The ice breaks!") + + // Output: + // level=info msg="A group of walrus emerges from the ocean" animal=walrus size=10 + // level=warning msg="The group's number increased tremendously!" number=122 omg=true + // level=error msg="The ice breaks!" number=100 omg=true +} diff --git a/vendor/github.com/sirupsen/logrus/examples/basic/basic.go b/vendor/github.com/sirupsen/logrus/examples/basic/basic.go deleted file mode 100644 index 3e112b4ee..000000000 --- a/vendor/github.com/sirupsen/logrus/examples/basic/basic.go +++ /dev/null @@ -1,59 +0,0 @@ -package main - -import ( - "github.com/sirupsen/logrus" - // "os" -) - -var log = logrus.New() - -func init() { - log.Formatter = new(logrus.JSONFormatter) - log.Formatter = new(logrus.TextFormatter) // default - - // file, err := os.OpenFile("logrus.log", os.O_CREATE|os.O_WRONLY, 0666) - // if err == nil { - // log.Out = file - // } else { - // log.Info("Failed to log to file, using default stderr") - // } - - log.Level = logrus.DebugLevel -} - -func main() { - defer func() { - err := recover() - if err != nil { - log.WithFields(logrus.Fields{ - "omg": true, - "err": err, - "number": 100, - }).Fatal("The ice breaks!") - } - }() - - log.WithFields(logrus.Fields{ - "animal": "walrus", - "number": 8, - }).Debug("Started observing beach") - - log.WithFields(logrus.Fields{ - "animal": "walrus", - "size": 10, - }).Info("A group of walrus emerges from the ocean") - - log.WithFields(logrus.Fields{ - "omg": true, - "number": 122, - }).Warn("The group's number increased tremendously!") - - log.WithFields(logrus.Fields{ - "temperature": -4, - }).Debug("Temperature changes") - - log.WithFields(logrus.Fields{ - "animal": "orca", - "size": 9009, - }).Panic("It's over 9000!") -} diff --git a/vendor/github.com/sirupsen/logrus/examples/hook/hook.go b/vendor/github.com/sirupsen/logrus/examples/hook/hook.go deleted file mode 100644 index c8470c387..000000000 --- a/vendor/github.com/sirupsen/logrus/examples/hook/hook.go +++ /dev/null @@ -1,30 +0,0 @@ -package main - -import ( - "github.com/sirupsen/logrus" - "gopkg.in/gemnasium/logrus-airbrake-hook.v2" -) - -var log = logrus.New() - -func init() { - log.Formatter = new(logrus.TextFormatter) // default - log.Hooks.Add(airbrake.NewHook(123, "xyz", "development")) -} - -func main() { - log.WithFields(logrus.Fields{ - "animal": "walrus", - "size": 10, - }).Info("A group of walrus emerges from the ocean") - - log.WithFields(logrus.Fields{ - "omg": true, - "number": 122, - }).Warn("The group's number increased tremendously!") - - log.WithFields(logrus.Fields{ - "omg": true, - "number": 100, - }).Fatal("The ice breaks!") -} diff --git a/vendor/github.com/sirupsen/logrus/formatter.go b/vendor/github.com/sirupsen/logrus/formatter.go index b5fbe934d..b183ff5b1 100644 --- a/vendor/github.com/sirupsen/logrus/formatter.go +++ b/vendor/github.com/sirupsen/logrus/formatter.go @@ -2,7 +2,7 @@ package logrus import "time" -const DefaultTimestampFormat = time.RFC3339 +const defaultTimestampFormat = time.RFC3339 // The Formatter interface is used to implement a custom Formatter. It takes an // `Entry`. It exposes all the fields, including the default ones: diff --git a/vendor/github.com/sirupsen/logrus/hooks/syslog/README.md b/vendor/github.com/sirupsen/logrus/hooks/syslog/README.md index 92b391c17..1bbc0f72d 100644 --- a/vendor/github.com/sirupsen/logrus/hooks/syslog/README.md +++ b/vendor/github.com/sirupsen/logrus/hooks/syslog/README.md @@ -6,12 +6,12 @@ import ( "log/syslog" "github.com/sirupsen/logrus" - logrus_syslog "github.com/sirupsen/logrus/hooks/syslog" + lSyslog "github.com/sirupsen/logrus/hooks/syslog" ) func main() { log := logrus.New() - hook, err := logrus_syslog.NewSyslogHook("udp", "localhost:514", syslog.LOG_INFO, "") + hook, err := lSyslog.NewSyslogHook("udp", "localhost:514", syslog.LOG_INFO, "") if err == nil { log.Hooks.Add(hook) @@ -25,12 +25,12 @@ If you want to connect to local syslog (Ex. "/dev/log" or "/var/run/syslog" or " import ( "log/syslog" "github.com/sirupsen/logrus" - logrus_syslog "github.com/sirupsen/logrus/hooks/syslog" + lSyslog "github.com/sirupsen/logrus/hooks/syslog" ) func main() { log := logrus.New() - hook, err := logrus_syslog.NewSyslogHook("", "", syslog.LOG_INFO, "") + hook, err := lSyslog.NewSyslogHook("", "", syslog.LOG_INFO, "") if err == nil { log.Hooks.Add(hook) diff --git a/vendor/github.com/sirupsen/logrus/hooks/syslog/syslog.go b/vendor/github.com/sirupsen/logrus/hooks/syslog/syslog.go index 204f0016d..329ce0d60 100644 --- a/vendor/github.com/sirupsen/logrus/hooks/syslog/syslog.go +++ b/vendor/github.com/sirupsen/logrus/hooks/syslog/syslog.go @@ -1,12 +1,13 @@ // +build !windows,!nacl,!plan9 -package logrus_syslog +package syslog import ( "fmt" - "github.com/sirupsen/logrus" "log/syslog" "os" + + "github.com/sirupsen/logrus" ) // SyslogHook to send logs via syslog. diff --git a/vendor/github.com/sirupsen/logrus/hooks/syslog/syslog_test.go b/vendor/github.com/sirupsen/logrus/hooks/syslog/syslog_test.go index 8d7fbe452..5ec3a4445 100644 --- a/vendor/github.com/sirupsen/logrus/hooks/syslog/syslog_test.go +++ b/vendor/github.com/sirupsen/logrus/hooks/syslog/syslog_test.go @@ -1,9 +1,10 @@ -package logrus_syslog +package syslog import ( - "github.com/sirupsen/logrus" "log/syslog" "testing" + + "github.com/sirupsen/logrus" ) func TestLocalhostAddAndPrint(t *testing.T) { diff --git a/vendor/github.com/sirupsen/logrus/json_formatter.go b/vendor/github.com/sirupsen/logrus/json_formatter.go index e787ea175..fb01c1b10 100644 --- a/vendor/github.com/sirupsen/logrus/json_formatter.go +++ b/vendor/github.com/sirupsen/logrus/json_formatter.go @@ -6,8 +6,11 @@ import ( ) type fieldKey string + +// FieldMap allows customization of the key names for default fields. type FieldMap map[fieldKey]string +// Default key names for the default fields const ( FieldKeyMsg = "msg" FieldKeyLevel = "level" @@ -22,6 +25,7 @@ func (f FieldMap) resolve(key fieldKey) string { return string(key) } +// JSONFormatter formats logs into parsable json type JSONFormatter struct { // TimestampFormat sets the format used for marshaling timestamps. TimestampFormat string @@ -29,7 +33,7 @@ type JSONFormatter struct { // DisableTimestamp allows disabling automatic timestamps in output DisableTimestamp bool - // FieldMap allows users to customize the names of keys for various fields. + // FieldMap allows users to customize the names of keys for default fields. // As an example: // formatter := &JSONFormatter{ // FieldMap: FieldMap{ @@ -41,6 +45,7 @@ type JSONFormatter struct { FieldMap FieldMap } +// Format renders a single log entry func (f *JSONFormatter) Format(entry *Entry) ([]byte, error) { data := make(Fields, len(entry.Data)+3) for k, v := range entry.Data { @@ -57,7 +62,7 @@ func (f *JSONFormatter) Format(entry *Entry) ([]byte, error) { timestampFormat := f.TimestampFormat if timestampFormat == "" { - timestampFormat = DefaultTimestampFormat + timestampFormat = defaultTimestampFormat } if !f.DisableTimestamp { diff --git a/vendor/github.com/sirupsen/logrus/logger.go b/vendor/github.com/sirupsen/logrus/logger.go index b44966f97..2acab0509 100644 --- a/vendor/github.com/sirupsen/logrus/logger.go +++ b/vendor/github.com/sirupsen/logrus/logger.go @@ -25,7 +25,7 @@ type Logger struct { Formatter Formatter // The logging level the logger should log at. This is typically (and defaults // to) `logrus.Info`, which allows Info(), Warn(), Error() and Fatal() to be - // logged. `logrus.Debug` is useful in + // logged. Level Level // Used to sync writing to the log. Locking is enabled by Default mu MutexWrap diff --git a/vendor/github.com/sirupsen/logrus/terminal_appengine.go b/vendor/github.com/sirupsen/logrus/terminal_appengine.go deleted file mode 100644 index e011a8694..000000000 --- a/vendor/github.com/sirupsen/logrus/terminal_appengine.go +++ /dev/null @@ -1,10 +0,0 @@ -// +build appengine - -package logrus - -import "io" - -// IsTerminal returns true if stderr's file descriptor is a terminal. -func IsTerminal(f io.Writer) bool { - return true -} diff --git a/vendor/github.com/sirupsen/logrus/terminal_bsd.go b/vendor/github.com/sirupsen/logrus/terminal_bsd.go index 5f6be4d3c..d7b3893f3 100644 --- a/vendor/github.com/sirupsen/logrus/terminal_bsd.go +++ b/vendor/github.com/sirupsen/logrus/terminal_bsd.go @@ -3,8 +3,8 @@ package logrus -import "syscall" +import "golang.org/x/sys/unix" -const ioctlReadTermios = syscall.TIOCGETA +const ioctlReadTermios = unix.TIOCGETA -type Termios syscall.Termios +type Termios unix.Termios diff --git a/vendor/github.com/sirupsen/logrus/terminal_linux.go b/vendor/github.com/sirupsen/logrus/terminal_linux.go index 308160ca8..88d7298e2 100644 --- a/vendor/github.com/sirupsen/logrus/terminal_linux.go +++ b/vendor/github.com/sirupsen/logrus/terminal_linux.go @@ -7,8 +7,8 @@ package logrus -import "syscall" +import "golang.org/x/sys/unix" -const ioctlReadTermios = syscall.TCGETS +const ioctlReadTermios = unix.TCGETS -type Termios syscall.Termios +type Termios unix.Termios diff --git a/vendor/github.com/sirupsen/logrus/terminal_notwindows.go b/vendor/github.com/sirupsen/logrus/terminal_notwindows.go deleted file mode 100644 index 190297abf..000000000 --- a/vendor/github.com/sirupsen/logrus/terminal_notwindows.go +++ /dev/null @@ -1,28 +0,0 @@ -// Based on ssh/terminal: -// Copyright 2011 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. - -// +build linux darwin freebsd openbsd netbsd dragonfly -// +build !appengine - -package logrus - -import ( - "io" - "os" - "syscall" - "unsafe" -) - -// IsTerminal returns true if stderr's file descriptor is a terminal. -func IsTerminal(f io.Writer) bool { - var termios Termios - switch v := f.(type) { - case *os.File: - _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(v.Fd()), ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) - return err == 0 - default: - return false - } -} diff --git a/vendor/github.com/sirupsen/logrus/terminal_solaris.go b/vendor/github.com/sirupsen/logrus/terminal_solaris.go deleted file mode 100644 index 3c86b1abe..000000000 --- a/vendor/github.com/sirupsen/logrus/terminal_solaris.go +++ /dev/null @@ -1,21 +0,0 @@ -// +build solaris,!appengine - -package logrus - -import ( - "io" - "os" - - "golang.org/x/sys/unix" -) - -// IsTerminal returns true if the given file descriptor is a terminal. -func IsTerminal(f io.Writer) bool { - switch v := f.(type) { - case *os.File: - _, err := unix.IoctlGetTermios(int(v.Fd()), unix.TCGETA) - return err == nil - default: - return false - } -} diff --git a/vendor/github.com/sirupsen/logrus/terminal_windows.go b/vendor/github.com/sirupsen/logrus/terminal_windows.go deleted file mode 100644 index 7a336307e..000000000 --- a/vendor/github.com/sirupsen/logrus/terminal_windows.go +++ /dev/null @@ -1,82 +0,0 @@ -// Based on ssh/terminal: -// Copyright 2011 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. - -// +build windows,!appengine - -package logrus - -import ( - "bytes" - "errors" - "io" - "os" - "os/exec" - "strconv" - "strings" - "syscall" - "unsafe" -) - -var kernel32 = syscall.NewLazyDLL("kernel32.dll") - -var ( - procGetConsoleMode = kernel32.NewProc("GetConsoleMode") - procSetConsoleMode = kernel32.NewProc("SetConsoleMode") -) - -const ( - enableProcessedOutput = 0x0001 - enableWrapAtEolOutput = 0x0002 - enableVirtualTerminalProcessing = 0x0004 -) - -func getVersion() (float64, error) { - stdout, stderr := &bytes.Buffer{}, &bytes.Buffer{} - cmd := exec.Command("cmd", "ver") - cmd.Stdout = stdout - cmd.Stderr = stderr - err := cmd.Run() - if err != nil { - return -1, err - } - - // The output should be like "Microsoft Windows [Version XX.X.XXXXXX]" - version := strings.Replace(stdout.String(), "\n", "", -1) - version = strings.Replace(version, "\r\n", "", -1) - - x1 := strings.Index(version, "[Version") - - if x1 == -1 || strings.Index(version, "]") == -1 { - return -1, errors.New("Can't determine Windows version") - } - - return strconv.ParseFloat(version[x1+9:x1+13], 64) -} - -func init() { - ver, err := getVersion() - if err != nil { - return - } - - // Activate Virtual Processing for Windows CMD - // Info: https://msdn.microsoft.com/en-us/library/windows/desktop/ms686033(v=vs.85).aspx - if ver >= 10 { - handle := syscall.Handle(os.Stderr.Fd()) - procSetConsoleMode.Call(uintptr(handle), enableProcessedOutput|enableWrapAtEolOutput|enableVirtualTerminalProcessing) - } -} - -// IsTerminal returns true if stderr's file descriptor is a terminal. -func IsTerminal(f io.Writer) bool { - switch v := f.(type) { - case *os.File: - var st uint32 - r, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(v.Fd()), uintptr(unsafe.Pointer(&st)), 0) - return r != 0 && e == 0 - default: - return false - } -} diff --git a/vendor/github.com/sirupsen/logrus/text_formatter.go b/vendor/github.com/sirupsen/logrus/text_formatter.go index 6aa48cfb6..be412aa94 100644 --- a/vendor/github.com/sirupsen/logrus/text_formatter.go +++ b/vendor/github.com/sirupsen/logrus/text_formatter.go @@ -3,10 +3,14 @@ package logrus import ( "bytes" "fmt" + "io" + "os" "sort" "strings" "sync" "time" + + "golang.org/x/crypto/ssh/terminal" ) const ( @@ -26,6 +30,7 @@ func init() { baseTimestamp = time.Now() } +// TextFormatter formats logs into text type TextFormatter struct { // Set to true to bypass checking for a TTY before outputting colors. ForceColors bool @@ -52,10 +57,6 @@ type TextFormatter struct { // QuoteEmptyFields will wrap empty fields in quotes if true QuoteEmptyFields bool - // QuoteCharacter can be set to the override the default quoting character " - // with something else. For example: ', or `. - QuoteCharacter string - // Whether the logger's out is to a terminal isTerminal bool @@ -63,14 +64,21 @@ type TextFormatter struct { } func (f *TextFormatter) init(entry *Entry) { - if len(f.QuoteCharacter) == 0 { - f.QuoteCharacter = "\"" - } if entry.Logger != nil { - f.isTerminal = IsTerminal(entry.Logger.Out) + f.isTerminal = f.checkIfTerminal(entry.Logger.Out) } } +func (f *TextFormatter) checkIfTerminal(w io.Writer) bool { + switch v := w.(type) { + case *os.File: + return terminal.IsTerminal(int(v.Fd())) + default: + return false + } +} + +// Format renders a single log entry func (f *TextFormatter) Format(entry *Entry) ([]byte, error) { var b *bytes.Buffer keys := make([]string, 0, len(entry.Data)) @@ -95,7 +103,7 @@ func (f *TextFormatter) Format(entry *Entry) ([]byte, error) { timestampFormat := f.TimestampFormat if timestampFormat == "" { - timestampFormat = DefaultTimestampFormat + timestampFormat = defaultTimestampFormat } if isColored { f.printColored(b, entry, keys, timestampFormat) @@ -161,11 +169,12 @@ func (f *TextFormatter) needsQuoting(text string) bool { } func (f *TextFormatter) appendKeyValue(b *bytes.Buffer, key string, value interface{}) { - + if b.Len() > 0 { + b.WriteByte(' ') + } b.WriteString(key) b.WriteByte('=') f.appendValue(b, value) - b.WriteByte(' ') } func (f *TextFormatter) appendValue(b *bytes.Buffer, value interface{}) { @@ -177,13 +186,6 @@ func (f *TextFormatter) appendValue(b *bytes.Buffer, value interface{}) { if !f.needsQuoting(stringVal) { b.WriteString(stringVal) } else { - b.WriteString(f.quoteString(stringVal)) + b.WriteString(fmt.Sprintf("%q", stringVal)) } } - -func (f *TextFormatter) quoteString(v string) string { - escapedQuote := fmt.Sprintf("\\%s", f.QuoteCharacter) - escapedValue := strings.Replace(v, f.QuoteCharacter, escapedQuote, -1) - - return fmt.Sprintf("%s%v%s", f.QuoteCharacter, escapedValue, f.QuoteCharacter) -} diff --git a/vendor/github.com/sirupsen/logrus/text_formatter_test.go b/vendor/github.com/sirupsen/logrus/text_formatter_test.go index d7b3bcb14..d93b931e5 100644 --- a/vendor/github.com/sirupsen/logrus/text_formatter_test.go +++ b/vendor/github.com/sirupsen/logrus/text_formatter_test.go @@ -3,19 +3,38 @@ package logrus import ( "bytes" "errors" + "fmt" "strings" "testing" "time" - "fmt" ) +func TestFormatting(t *testing.T) { + tf := &TextFormatter{DisableColors: true} + + testCases := []struct { + value string + expected string + }{ + {`foo`, "time=\"0001-01-01T00:00:00Z\" level=panic test=foo\n"}, + } + + for _, tc := range testCases { + b, _ := tf.Format(WithField("test", tc.value)) + + if string(b) != tc.expected { + t.Errorf("formatting expected for %q (result was %q instead of %q)", tc.value, string(b), tc.expected) + } + } +} + func TestQuoting(t *testing.T) { tf := &TextFormatter{DisableColors: true} checkQuoting := func(q bool, value interface{}) { b, _ := tf.Format(WithField("test", value)) idx := bytes.Index(b, ([]byte)("test=")) - cont := bytes.Contains(b[idx+5:], []byte(tf.QuoteCharacter)) + cont := bytes.Contains(b[idx+5:], []byte("\"")) if cont != q { if q { t.Errorf("quoting expected for: %#v", value) @@ -41,23 +60,6 @@ func TestQuoting(t *testing.T) { checkQuoting(false, errors.New("invalid")) checkQuoting(true, errors.New("invalid argument")) - // Test for custom quote character. - tf.QuoteCharacter = "`" - checkQuoting(false, "") - checkQuoting(false, "abcd") - checkQuoting(false, "/foobar") - checkQuoting(false, "foo_bar") - checkQuoting(false, "foo@bar") - checkQuoting(false, "foobar^") - checkQuoting(true, "foobar$") - checkQuoting(true, "&foobar") - checkQuoting(true, errors.New("invalid argument")) - - // Test for multi-character quotes. - tf.QuoteCharacter = "§~±" - checkQuoting(false, "abcd") - checkQuoting(true, errors.New("invalid argument")) - // Test for quoting empty fields. tf.QuoteEmptyFields = true checkQuoting(true, "") @@ -65,7 +67,7 @@ func TestQuoting(t *testing.T) { checkQuoting(true, errors.New("invalid argument")) } -func TestEscaping_DefaultQuoteCharacter(t *testing.T) { +func TestEscaping(t *testing.T) { tf := &TextFormatter{DisableColors: true} testCases := []struct { @@ -105,35 +107,13 @@ func TestEscaping_Interface(t *testing.T) { } } -func TestEscaping_CustomQuoteCharacter(t *testing.T) { - tf := &TextFormatter{DisableColors: true} - - testCases := []struct { - value string - expected string - quoteChar string - }{ - {`ba"r`, `ba"r`, `'`}, - {`ba'r`, `ba\'r`, `'`}, - {`ba'r`, `ba'r`, `^`}, - } - - for _, tc := range testCases { - tf.QuoteCharacter = tc.quoteChar - b, _ := tf.Format(WithField("test", tc.value)) - if !bytes.Contains(b, []byte(tc.expected)) { - t.Errorf("escaping expected for %q (result was %q instead of %q)", tc.value, string(b), tc.expected) - } - } -} - func TestTimestampFormat(t *testing.T) { checkTimeStr := func(format string) { customFormatter := &TextFormatter{DisableColors: true, TimestampFormat: format} customStr, _ := customFormatter.Format(WithField("test", "test")) timeStart := bytes.Index(customStr, ([]byte)("time=")) timeEnd := bytes.Index(customStr, ([]byte)("level=")) - timeStr := customStr[timeStart+5+len(customFormatter.QuoteCharacter) : timeEnd-1-len(customFormatter.QuoteCharacter)] + timeStr := customStr[timeStart+5+len("\"") : timeEnd-1-len("\"")] if format == "" { format = time.RFC3339 } diff --git a/vendor/github.com/spf13/cobra/bash_completions.go b/vendor/github.com/spf13/cobra/bash_completions.go index e0cfb3494..e402065dd 100644 --- a/vendor/github.com/spf13/cobra/bash_completions.go +++ b/vendor/github.com/spf13/cobra/bash_completions.go @@ -463,14 +463,14 @@ func gen(buf *bytes.Buffer, cmd *Command) { } // GenBashCompletion generates bash completion file and writes to the passed writer. -func (cmd *Command) GenBashCompletion(w io.Writer) error { +func (c *Command) GenBashCompletion(w io.Writer) error { buf := new(bytes.Buffer) - writePreamble(buf, cmd.Name()) - if len(cmd.BashCompletionFunction) > 0 { - buf.WriteString(cmd.BashCompletionFunction + "\n") + writePreamble(buf, c.Name()) + if len(c.BashCompletionFunction) > 0 { + buf.WriteString(c.BashCompletionFunction + "\n") } - gen(buf, cmd) - writePostscript(buf, cmd.Name()) + gen(buf, c) + writePostscript(buf, c.Name()) _, err := buf.WriteTo(w) return err @@ -481,24 +481,24 @@ func nonCompletableFlag(flag *pflag.Flag) bool { } // GenBashCompletionFile generates bash completion file. -func (cmd *Command) GenBashCompletionFile(filename string) error { +func (c *Command) GenBashCompletionFile(filename string) error { outFile, err := os.Create(filename) if err != nil { return err } defer outFile.Close() - return cmd.GenBashCompletion(outFile) + return c.GenBashCompletion(outFile) } // MarkFlagRequired adds the BashCompOneRequiredFlag annotation to the named flag, if it exists. -func (cmd *Command) MarkFlagRequired(name string) error { - return MarkFlagRequired(cmd.Flags(), name) +func (c *Command) MarkFlagRequired(name string) error { + return MarkFlagRequired(c.Flags(), name) } // MarkPersistentFlagRequired adds the BashCompOneRequiredFlag annotation to the named persistent flag, if it exists. -func (cmd *Command) MarkPersistentFlagRequired(name string) error { - return MarkFlagRequired(cmd.PersistentFlags(), name) +func (c *Command) MarkPersistentFlagRequired(name string) error { + return MarkFlagRequired(c.PersistentFlags(), name) } // MarkFlagRequired adds the BashCompOneRequiredFlag annotation to the named flag in the flag set, if it exists. @@ -508,20 +508,20 @@ func MarkFlagRequired(flags *pflag.FlagSet, name string) error { // MarkFlagFilename adds the BashCompFilenameExt annotation to the named flag, if it exists. // Generated bash autocompletion will select filenames for the flag, limiting to named extensions if provided. -func (cmd *Command) MarkFlagFilename(name string, extensions ...string) error { - return MarkFlagFilename(cmd.Flags(), name, extensions...) +func (c *Command) MarkFlagFilename(name string, extensions ...string) error { + return MarkFlagFilename(c.Flags(), name, extensions...) } // MarkFlagCustom adds the BashCompCustom annotation to the named flag, if it exists. // Generated bash autocompletion will call the bash function f for the flag. -func (cmd *Command) MarkFlagCustom(name string, f string) error { - return MarkFlagCustom(cmd.Flags(), name, f) +func (c *Command) MarkFlagCustom(name string, f string) error { + return MarkFlagCustom(c.Flags(), name, f) } // MarkPersistentFlagFilename adds the BashCompFilenameExt annotation to the named persistent flag, if it exists. // Generated bash autocompletion will select filenames for the flag, limiting to named extensions if provided. -func (cmd *Command) MarkPersistentFlagFilename(name string, extensions ...string) error { - return MarkFlagFilename(cmd.PersistentFlags(), name, extensions...) +func (c *Command) MarkPersistentFlagFilename(name string, extensions ...string) error { + return MarkFlagFilename(c.PersistentFlags(), name, extensions...) } // MarkFlagFilename adds the BashCompFilenameExt annotation to the named flag in the flag set, if it exists. diff --git a/vendor/github.com/spf13/cobra/bash_completions_test.go b/vendor/github.com/spf13/cobra/bash_completions_test.go index 071a6a2a2..a3b13a32a 100644 --- a/vendor/github.com/spf13/cobra/bash_completions_test.go +++ b/vendor/github.com/spf13/cobra/bash_completions_test.go @@ -118,7 +118,7 @@ func TestBashCompletions(t *testing.T) { check(t, str, `flags_completion+=("_filedir")`) // check for filename extension flags check(t, str, `must_have_one_noun+=("three")`) - // check for filename extention flags + // check for filename extension flags check(t, str, `flags_completion+=("__handle_filename_extension_flag json|yaml|yml")`) // check for custom flags check(t, str, `flags_completion+=("__complete_custom")`) diff --git a/vendor/github.com/spf13/cobra/cobra/cmd/helpers.go b/vendor/github.com/spf13/cobra/cobra/cmd/helpers.go index c5e261ce3..e5b37ec72 100644 --- a/vendor/github.com/spf13/cobra/cobra/cmd/helpers.go +++ b/vendor/github.com/spf13/cobra/cobra/cmd/helpers.go @@ -18,6 +18,7 @@ import ( "fmt" "io" "os" + "os/exec" "path/filepath" "strings" "text/template" @@ -31,7 +32,27 @@ func init() { envGoPath := os.Getenv("GOPATH") goPaths := filepath.SplitList(envGoPath) if len(goPaths) == 0 { - er("$GOPATH is not set") + // Adapted from https://github.com/Masterminds/glide/pull/798/files. + // As of Go 1.8 the GOPATH is no longer required to be set. Instead there + // is a default value. If there is no GOPATH check for the default value. + // Note, checking the GOPATH first to avoid invoking the go toolchain if + // possible. + + goExecutable := os.Getenv("COBRA_GO_EXECUTABLE") + if len(goExecutable) <= 0 { + goExecutable = "go" + } + + out, err := exec.Command(goExecutable, "env", "GOPATH").Output() + if err != nil { + er(err) + } + + toolchainGoPath := strings.TrimSpace(string(out)) + goPaths = filepath.SplitList(toolchainGoPath) + if len(goPaths) == 0 { + er("$GOPATH is not set") + } } srcPaths = make([]string, 0, len(goPaths)) for _, goPath := range goPaths { diff --git a/vendor/github.com/spf13/cobra/zsh_completions.go b/vendor/github.com/spf13/cobra/zsh_completions.go index b350aeeca..889c22e27 100644 --- a/vendor/github.com/spf13/cobra/zsh_completions.go +++ b/vendor/github.com/spf13/cobra/zsh_completions.go @@ -4,17 +4,29 @@ import ( "bytes" "fmt" "io" + "os" "strings" ) +// GenZshCompletionFile generates zsh completion file. +func (c *Command) GenZshCompletionFile(filename string) error { + outFile, err := os.Create(filename) + if err != nil { + return err + } + defer outFile.Close() + + return c.GenZshCompletion(outFile) +} + // GenZshCompletion generates a zsh completion file and writes to the passed writer. -func (cmd *Command) GenZshCompletion(w io.Writer) error { +func (c *Command) GenZshCompletion(w io.Writer) error { buf := new(bytes.Buffer) - writeHeader(buf, cmd) - maxDepth := maxDepth(cmd) + writeHeader(buf, c) + maxDepth := maxDepth(c) writeLevelMapping(buf, maxDepth) - writeLevelCases(buf, maxDepth, cmd) + writeLevelCases(buf, maxDepth, c) _, err := buf.WriteTo(w) return err diff --git a/vendor/github.com/stretchr/testify/assert/assertions.go b/vendor/github.com/stretchr/testify/assert/assertions.go index 6d9250623..82590507a 100644 --- a/vendor/github.com/stretchr/testify/assert/assertions.go +++ b/vendor/github.com/stretchr/testify/assert/assertions.go @@ -449,9 +449,7 @@ func isEmpty(object interface{}) bool { objValue := reflect.ValueOf(object) switch objValue.Kind() { - case reflect.Map: - fallthrough - case reflect.Slice, reflect.Chan: + case reflect.Array, reflect.Chan, reflect.Map, reflect.Slice, reflect.String: { return (objValue.Len() == 0) } diff --git a/vendor/github.com/yunify/qingstor-sdk-go/.travis.yml b/vendor/github.com/yunify/qingstor-sdk-go/.travis.yml index ed5d7bf91..2085313ab 100644 --- a/vendor/github.com/yunify/qingstor-sdk-go/.travis.yml +++ b/vendor/github.com/yunify/qingstor-sdk-go/.travis.yml @@ -5,14 +5,11 @@ services: language: go go: + - 1.6 - 1.7 - -env: - matrix: - - GO_VERSION=1.8 - - GO_VERSION=1.7 - - GO_VERSION=1.6 - - GO_VERSION=1.5 + - 1.8 + - 1.9 + - master cache: directories: @@ -32,14 +29,14 @@ before_install: mv linux-amd64 glide-v0.12.3; fi - pushd glide-v0.12.3 && sudo cp glide /usr/local/bin && popd - - if [[ ! -d "./snips-v0.1.0" ]]; then - wget https://github.com/yunify/snips/releases/download/v0.1.0/snips-v0.1.0-linux_amd64.tar.gz && - mkdir snips-v0.1.0 && - pushd snips-v0.1.0 && - tar -vxzf ../snips-v0.1.0-linux_amd64.tar.gz && + - if [[ ! -d "./snips-v0.2.8" ]]; then + wget https://github.com/yunify/snips/releases/download/v0.2.8/snips-v0.2.8-linux_amd64.tar.gz && + mkdir snips-v0.2.8 && + pushd snips-v0.2.8 && + tar -vxzf ../snips-v0.2.8-linux_amd64.tar.gz && popd; fi - - pushd snips-v0.1.0 && sudo cp snips /usr/local/bin && popd + - pushd snips-v0.2.8 && sudo cp snips /usr/local/bin && popd - popd - /usr/local/bin/make --version - /usr/local/bin/glide --version @@ -47,6 +44,7 @@ before_install: install: - go get -u github.com/golang/lint/golint; - glide install + - git submodule init before_script: - /usr/local/bin/make update @@ -55,4 +53,4 @@ before_script: script: - /usr/local/bin/make check - /usr/local/bin/make release - - /usr/local/bin/make test-runtime-go-${GO_VERSION} + - /usr/local/bin/make build test test-coverage diff --git a/vendor/github.com/yunify/qingstor-sdk-go/CHANGELOG.md b/vendor/github.com/yunify/qingstor-sdk-go/CHANGELOG.md index 81b87fe3c..4dd5b6598 100644 --- a/vendor/github.com/yunify/qingstor-sdk-go/CHANGELOG.md +++ b/vendor/github.com/yunify/qingstor-sdk-go/CHANGELOG.md @@ -1,6 +1,27 @@ # Change Log All notable changes to QingStor SDK for Go will be documented in this file. +## [v2.2.8] - 2017-09-25 + +### Added + +- Support setting custom SDK logger + +## [v2.2.7] - 2017-09-01 + +### Added + +- Support image process APIs +- Add advanced client for image process + +### Changed + +- Force the zone ID to be lowercase + +### Fixed + +- Add support for the X-QS-Date header + ## [v2.2.6] - 2017-07-21 ### Fixed @@ -100,6 +121,8 @@ All notable changes to QingStor SDK for Go will be documented in this file. - QingStor SDK for the Go programming language. +[v2.2.8]: https://github.com/yunify/qingstor-sdk-go/compare/v2.2.7...v2.2.8 +[v2.2.7]: https://github.com/yunify/qingstor-sdk-go/compare/v2.2.6...v2.2.7 [v2.2.6]: https://github.com/yunify/qingstor-sdk-go/compare/v2.2.5...v2.2.6 [v2.2.5]: https://github.com/yunify/qingstor-sdk-go/compare/v2.2.4...v2.2.5 [v2.2.4]: https://github.com/yunify/qingstor-sdk-go/compare/v2.2.3...v2.2.4 diff --git a/vendor/github.com/yunify/qingstor-sdk-go/Makefile b/vendor/github.com/yunify/qingstor-sdk-go/Makefile index 4e5a97c71..f0a44f2ce 100644 --- a/vendor/github.com/yunify/qingstor-sdk-go/Makefile +++ b/vendor/github.com/yunify/qingstor-sdk-go/Makefile @@ -19,7 +19,6 @@ help: @echo " test to run test" @echo " test-coverage to run test with coverage" @echo " test-race to run test with race" - @echo " test-runtime to run test in Go 1.8/1.7/1.6/1.5 in docker" @echo " integration-test to run integration test" @echo " release to build and release current version" @echo " release-source to pack the source code" @@ -55,18 +54,14 @@ generate: @if [[ ! -f "$$(which snips)" ]]; then \ echo "ERROR: Command \"snips\" not found."; \ fi - snips \ - --service=qingstor --service-api-version=latest \ - --spec="./specs" --template="./template" --output="./service" + snips -f="./specs/qingstor/2016-01-06/swagger/api_v2.0.json" -t="./template" -o="./service" gofmt -w . @echo "ok" .PHONY: build build: @echo "build the SDK" - GOOS=linux GOARCH=amd64 go build ${PKGS_TO_RELEASE} - GOOS=darwin GOARCH=amd64 go build ${PKGS_TO_RELEASE} - GOOS=windows GOARCH=amd64 go build ${PKGS_TO_RELEASE} + go build ${PKGS_TO_RELEASE} @echo "ok" .PHONY: test @@ -94,90 +89,6 @@ test-race: go test -v -race -cpu=1,2,4 ${PKGS_TO_RELEASE} @echo "ok" -.PHONY: test-runtime -test-runtime: test-runtime-go-1.8 test-runtime-go-1.7 test-runtime-go-1.6 test-runtime-go-1.5 - -export define DOCKERFILE_GO_1_8 -FROM golang:1.8 - -ADD . /go/src/github.com/yunify/qingstor-sdk-go -WORKDIR /go/src/github.com/yunify/qingstor-sdk-go - -CMD ["make", "build", "test", "test-coverage"] -endef - -.PHONY: test-runtime-go-1.8 -test-runtime-go-1.8: - @echo "run test in go 1.8" - echo "$${DOCKERFILE_GO_1_8}" > "dockerfile_go_1.8" - docker build -f "./dockerfile_go_1.8" -t "${PREFIX}:go-1.8" . - rm -f "./dockerfile_go_1.8" - docker run --name "${PREFIX}-go-1.8-unit" -t "${PREFIX}:go-1.8" - docker rm "${PREFIX}-go-1.8-unit" - docker rmi "${PREFIX}:go-1.8" - @echo "ok" - -export define DOCKERFILE_GO_1_7 -FROM golang:1.7 - -ADD . /go/src/github.com/yunify/qingstor-sdk-go -WORKDIR /go/src/github.com/yunify/qingstor-sdk-go - -CMD ["make", "build", "test", "test-coverage"] -endef - -.PHONY: test-runtime-go-1.7 -test-runtime-go-1.7: - @echo "run test in go 1.7" - echo "$${DOCKERFILE_GO_1_7}" > "dockerfile_go_1.7" - docker build -f "./dockerfile_go_1.7" -t "${PREFIX}:go-1.7" . - rm -f "./dockerfile_go_1.7" - docker run --name "${PREFIX}-go-1.7-unit" -t "${PREFIX}:go-1.7" - docker rm "${PREFIX}-go-1.7-unit" - docker rmi "${PREFIX}:go-1.7" - @echo "ok" - -export define DOCKERFILE_GO_1_6 -FROM golang:1.6 - -ADD . /go/src/github.com/yunify/qingstor-sdk-go -WORKDIR /go/src/github.com/yunify/qingstor-sdk-go - -CMD ["make", "build", "test", "test-coverage"] -endef - -.PHONY: test-runtime-go-1.6 -test-runtime-go-1.6: - @echo "run test in go 1.6" - echo "$${DOCKERFILE_GO_1_6}" > "dockerfile_go_1.6" - docker build -f "./dockerfile_go_1.6" -t "${PREFIX}:go-1.6" . - rm -f "./dockerfile_go_1.6" - docker run --name "${PREFIX}-go-1.6-unit" -t "${PREFIX}:go-1.6" - docker rm "${PREFIX}-go-1.6-unit" - docker rmi "${PREFIX}:go-1.6" - @echo "ok" - -export define DOCKERFILE_GO_1_5 -FROM golang:1.5 -ENV GO15VENDOREXPERIMENT="1" - -ADD . /go/src/github.com/yunify/qingstor-sdk-go -WORKDIR /go/src/github.com/yunify/qingstor-sdk-go - -CMD ["make", "build", "test", "test-coverage"] -endef - -.PHONY: test-runtime-go-1.5 -test-runtime-go-1.5: - @echo "run test in go 1.5" - echo "$${DOCKERFILE_GO_1_5}" > "dockerfile_go_1.5" - docker build -f "dockerfile_go_1.5" -t "${PREFIX}:go-1.5" . - rm -f "dockerfile_go_1.5" - docker run --name "${PREFIX}-go-1.5-unit" -t "${PREFIX}:go-1.5" - docker rm "${PREFIX}-go-1.5-unit" - docker rmi "${PREFIX}:go-1.5" - @echo "ok" - .PHONY: integration-test integration-test: @echo "run integration test" diff --git a/vendor/github.com/yunify/qingstor-sdk-go/client/upload/chunk.go b/vendor/github.com/yunify/qingstor-sdk-go/client/upload/chunk.go new file mode 100644 index 000000000..48a7dc3e2 --- /dev/null +++ b/vendor/github.com/yunify/qingstor-sdk-go/client/upload/chunk.go @@ -0,0 +1,106 @@ +package upload + +import ( + "bytes" + "io" + "errors" +) + +const ( + // QingStor has a max upload parts limit to 10000. + maxUploadParts = 10000 + // We read from stream for read 1024B. + segmentSize = 1024 +) + +// chunk provides a struct to read file +type chunk struct { + fd io.Reader + cur int64 + size int64 + partSize int +} + +// newChunk creates a FileChunk struct +func newChunk(fd io.Reader, partSize int) *chunk { + f := &chunk{ + fd: fd, + partSize: partSize, + } + f.initSize() + + return f +} + +// nextPart reads the next part of the file +func (f *chunk) nextPart() (io.ReadSeeker, error) { + type readerAtSeeker interface { + io.ReaderAt + io.ReadSeeker + } + switch r := f.fd.(type) { + case readerAtSeeker: + var sectionSize int64 + var err error + leftSize := f.size - f.cur + if leftSize >= int64(f.partSize) { + sectionSize = int64(f.partSize) + } else if leftSize > 0 { + sectionSize = f.size - f.cur + } else { + err = io.EOF + } + seekReader := io.NewSectionReader(r, f.cur, sectionSize) + f.cur += sectionSize + return seekReader, err + case io.Reader: + buf := make([]byte, segmentSize) + var n, lenBuf int + var err error + var chunk []byte + for { + n, _ = r.Read(buf) + if n == 0 { + if lenBuf == 0 { + err = io.EOF + } + break + } + lenBuf = lenBuf + n + chunk = append(chunk, buf...) + if lenBuf == f.partSize { + break + } + } + partBody := bytes.NewReader(chunk[:lenBuf]) + return partBody, err + default: + return nil, errors.New("file does not support read") + } +} + +// initSize tries to detect the total stream size, setting u.size. If +// the size is not known, size is set to -1. +func (f *chunk) initSize() { + f.size = -1 + + switch r := f.fd.(type) { + case io.Seeker: + pos, _ := r.Seek(0, 1) + defer r.Seek(pos, 0) + + n, err := r.Seek(0, 2) + if err != nil { + return + } + f.size = n + + // Try to adjust partSize if it is too small and account for + // integer division truncation. + if f.size/int64(f.partSize) >= int64(maxUploadParts) { + // Add one to the part size to account for remainders + // during the size calculation. e.g odd number of bytes. + f.partSize = int(f.size/int64(maxUploadParts)) + 1 + } + } +} diff --git a/vendor/github.com/yunify/qingstor-sdk-go/client/upload/chunk_test.go b/vendor/github.com/yunify/qingstor-sdk-go/client/upload/chunk_test.go new file mode 100644 index 000000000..975a10ebd --- /dev/null +++ b/vendor/github.com/yunify/qingstor-sdk-go/client/upload/chunk_test.go @@ -0,0 +1,52 @@ +package upload + +import ( + "fmt" + "os" + "os/exec" + "testing" +) + +var partSize = 5 * 1024 + +//Test_newFileChunk is the test function for New +func Test_newFileChunk(t *testing.T) { + setup() + + fd, _ := os.Open("test_file") + defer fd.Close() + fr := newChunk(fd, partSize) + if fr.size != 512000 { + t.Fatalf("expected 512000, got %d", fr.size) + } + + tearDown() +} + +// Test_nextPart is the test function for nextSeekablePart +func Test_nextPart(t *testing.T) { + setup() + + fd, _ := os.Open("test_file") + defer fd.Close() + fr := newChunk(fd, partSize) + partBody, err := fr.nextPart() + if err != nil { + fmt.Println(err) + } + temp := make([]byte, 6000) + n, _ := partBody.Read(temp) + if n != partSize { + t.Fatalf("expected 5120, got %d", len(temp)) + } + + tearDown() +} + +func setup() { + exec.Command("dd", "if=/dev/zero", "of=test_file", "bs=1024", "count=500").Output() +} + +func tearDown() { + exec.Command("rm", "", "test_file").Output() +} diff --git a/vendor/github.com/yunify/qingstor-sdk-go/client/upload/upload_client.go b/vendor/github.com/yunify/qingstor-sdk-go/client/upload/upload_client.go new file mode 100644 index 000000000..20c43f5a1 --- /dev/null +++ b/vendor/github.com/yunify/qingstor-sdk-go/client/upload/upload_client.go @@ -0,0 +1,110 @@ +package upload + +import ( + "errors" + "github.com/yunify/qingstor-sdk-go/logger" + "github.com/yunify/qingstor-sdk-go/service" + "io" +) + +// Uploader struct provides a struct to upload +type Uploader struct { + bucket *service.Bucket + partSize int +} + +const smallestPartSize int = 1024 * 1024 * 4 + +//Init creates a uploader struct +func Init(bucket *service.Bucket, partSize int) *Uploader { + return &Uploader{ + bucket: bucket, + partSize: partSize, + } +} + +// Upload uploads multi parts of large object +func (u *Uploader) Upload(fd io.Reader, objectKey string) error { + if u.partSize < smallestPartSize { + logger.Errorf("Part size error") + return errors.New("the part size is too small") + } + + uploadID, err := u.init(objectKey) + if err != nil { + logger.Errorf("Init multipart upload error" + err.Error()) + return err + } + + partNumbers, err := u.upload(fd, uploadID, objectKey) + if err != nil { + logger.Errorf("Upload multipart error" + err.Error()) + return err + } + + err = u.complete(objectKey, uploadID, partNumbers) + if err != nil { + logger.Errorf("Complete upload error" + err.Error()) + return err + } + + return nil +} + +func (u *Uploader) init(objectKey string) (*string, error) { + output, err := u.bucket.InitiateMultipartUpload( + objectKey, + &service.InitiateMultipartUploadInput{}, + ) + if err != nil { + return nil, err + } + return output.UploadID, nil +} + +func (u *Uploader) upload(fd io.Reader, uploadID *string, objectKey string) ([]*service.ObjectPartType, error) { + var partCnt int + partNumbers := []*service.ObjectPartType{} + fileReader := newChunk(fd, u.partSize) + for { + partBody, err := fileReader.nextPart() + if err == io.EOF { + break + } + if err != nil { + logger.Errorf("Get next part failed for %v", err) + return nil, err + } + _, err = u.bucket.UploadMultipart( + objectKey, + &service.UploadMultipartInput{ + UploadID: uploadID, + PartNumber: &partCnt, + Body: partBody, + }, + ) + if err != nil { + logger.Errorf("Upload multipart failed for %v", err) + return nil, err + } + partNumbers = append(partNumbers, &service.ObjectPartType{ + PartNumber: service.Int(partCnt - 0), + }) + partCnt++ + } + return partNumbers, nil +} + +func (u *Uploader) complete(objectKey string, uploadID *string, partNumbers []*service.ObjectPartType) error { + _, err := u.bucket.CompleteMultipartUpload( + objectKey, + &service.CompleteMultipartUploadInput{ + UploadID: uploadID, + ObjectParts: partNumbers, + }, + ) + if err != nil { + return err + } + return nil +} diff --git a/vendor/github.com/yunify/qingstor-sdk-go/config/config.go b/vendor/github.com/yunify/qingstor-sdk-go/config/config.go index fabb5efd8..06711c90a 100644 --- a/vendor/github.com/yunify/qingstor-sdk-go/config/config.go +++ b/vendor/github.com/yunify/qingstor-sdk-go/config/config.go @@ -113,7 +113,7 @@ func (c *Config) Check() error { func (c *Config) LoadDefaultConfig() error { _, err := yaml.Decode([]byte(DefaultConfigFileContent), c) if err != nil { - logger.Error("Config parse error: " + err.Error()) + logger.Errorf("Config parse error: " + err.Error()) return err } @@ -127,7 +127,7 @@ func (c *Config) LoadDefaultConfig() error { func (c *Config) LoadUserConfig() error { _, err := os.Stat(GetUserConfigFilePath()) if err != nil { - logger.Warn("Installing default config file to \"" + GetUserConfigFilePath() + "\"") + logger.Warnf("Installing default config file to \"" + GetUserConfigFilePath() + "\"") InstallDefaultUserConfig() } @@ -143,7 +143,7 @@ func (c *Config) LoadConfigFromFilePath(filepath string) error { yamlString, err := ioutil.ReadFile(filepath) if err != nil { - logger.Error("File not found: " + filepath) + logger.Errorf("File not found: " + filepath) return err } @@ -157,7 +157,7 @@ func (c *Config) LoadConfigFromContent(content []byte) error { _, err := yaml.Decode(content, c) if err != nil { - logger.Error("Config parse error: " + err.Error()) + logger.Errorf("Config parse error: " + err.Error()) return err } diff --git a/vendor/github.com/yunify/qingstor-sdk-go/logger/logger.go b/vendor/github.com/yunify/qingstor-sdk-go/logger/logger.go index dfd372fcf..d7de1ad47 100644 --- a/vendor/github.com/yunify/qingstor-sdk-go/logger/logger.go +++ b/vendor/github.com/yunify/qingstor-sdk-go/logger/logger.go @@ -20,7 +20,6 @@ package logger import ( "fmt" - "io" "os" "strings" "time" @@ -28,7 +27,15 @@ import ( "github.com/sirupsen/logrus" ) -var instance *logrus.Logger +// Logger is the interface of SDK logger. +type Logger interface { + Debugf(format string, args ...interface{}) + Infof(format string, args ...interface{}) + Warnf(format string, args ...interface{}) + Errorf(format string, args ...interface{}) + Fatalf(format string, args ...interface{}) + Panicf(format string, args ...interface{}) +} // LogFormatter is used to format log entry. type LogFormatter struct{} @@ -48,12 +55,8 @@ func (c *LogFormatter) Format(entry *logrus.Entry) ([]byte, error) { time.Now().Format("2006-01-02T15:04:05.000Z"), os.Getpid(), level, - entry.Message)), nil -} - -// SetOutput set the destination for the log output -func SetOutput(out io.Writer) { - instance.Out = out + entry.Message), + ), nil } // CheckLevel checks whether the log level is valid. @@ -66,54 +69,60 @@ func CheckLevel(level string) error { // GetLevel get the log level string. func GetLevel() string { - return instance.Level.String() + if l, ok := instance.(*logrus.Logger); ok { + return l.Level.String() + } + return "unknown" } // SetLevel sets the log level. Valid levels are "debug", "info", "warn", "error", and "fatal". func SetLevel(level string) { - lvl, err := logrus.ParseLevel(level) - if err != nil { - Fatal(fmt.Sprintf(`log level not valid: "%s"`, level)) - } - instance.Level = lvl -} - -// Debug logs a message with severity DEBUG. -func Debug(format string, v ...interface{}) { - output(instance.Debug, format, v...) -} - -// Info logs a message with severity INFO. -func Info(format string, v ...interface{}) { - output(instance.Info, format, v...) -} - -// Warn logs a message with severity WARN. -func Warn(format string, v ...interface{}) { - output(instance.Warn, format, v...) -} - -// Error logs a message with severity ERROR. -func Error(format string, v ...interface{}) { - output(instance.Error, format, v...) -} - -// Fatal logs a message with severity ERROR followed by a call to os.Exit(). -func Fatal(format string, v ...interface{}) { - output(instance.Fatal, format, v...) -} - -func output(origin func(...interface{}), format string, v ...interface{}) { - if len(v) > 0 { - origin(fmt.Sprintf(format, v...)) - } else { - origin(format) + if l, ok := instance.(*logrus.Logger); ok { + lvl, err := logrus.ParseLevel(level) + if err != nil { + Fatalf(fmt.Sprintf(`log level not valid: "%s"`, level)) + } + l.Level = lvl } } +// SetLogger sets the a logger as SDK logger. +func SetLogger(l Logger) { + instance = l +} + +// Debugf logs a message with severity DEBUG. +func Debugf(format string, v ...interface{}) { + instance.Debugf(format, v...) +} + +// Infof logs a message with severity INFO. +func Infof(format string, v ...interface{}) { + instance.Infof(format, v...) +} + +// Warnf logs a message with severity WARN. +func Warnf(format string, v ...interface{}) { + instance.Warnf(format, v...) +} + +// Errorf logs a message with severity ERROR. +func Errorf(format string, v ...interface{}) { + instance.Errorf(format, v...) +} + +// Fatalf logs a message with severity ERROR followed by a call to os.Exit(). +func Fatalf(format string, v ...interface{}) { + instance.Fatalf(format, v...) +} + +var instance Logger + func init() { - instance = logrus.New() - instance.Formatter = &LogFormatter{} - instance.Out = os.Stderr - instance.Level = logrus.WarnLevel + l := logrus.New() + l.Formatter = &LogFormatter{} + l.Out = os.Stderr + l.Level = logrus.WarnLevel + + instance = l } diff --git a/vendor/github.com/yunify/qingstor-sdk-go/request/builder/base.go b/vendor/github.com/yunify/qingstor-sdk-go/request/builder/base.go index 77609e124..0d8ad6cfa 100644 --- a/vendor/github.com/yunify/qingstor-sdk-go/request/builder/base.go +++ b/vendor/github.com/yunify/qingstor-sdk-go/request/builder/base.go @@ -39,7 +39,7 @@ import ( type BaseBuilder struct { parsedURL string parsedProperties *map[string]string - parsedParams *map[string]string + parsedQuery *map[string]string parsedHeaders *map[string]string parsedBodyString string parsedBody io.Reader @@ -76,7 +76,7 @@ func (b *BaseBuilder) build() (*http.Request, error) { } func (b *BaseBuilder) parse() (*BaseBuilder, error) { - err := b.parseRequestParamsAndHeaders() + err := b.parseRequestQueryAndHeaders() if err != nil { return b, err } @@ -96,15 +96,15 @@ func (b *BaseBuilder) parse() (*BaseBuilder, error) { return b, nil } -func (b *BaseBuilder) parseRequestParamsAndHeaders() error { - requestParams := map[string]string{} +func (b *BaseBuilder) parseRequestQueryAndHeaders() error { + requestQuery := map[string]string{} requestHeaders := map[string]string{} maps := map[string](map[string]string){ - "params": requestParams, + "query": requestQuery, "headers": requestHeaders, } - b.parsedParams = &requestParams + b.parsedQuery = &requestQuery b.parsedHeaders = &requestHeaders if !b.input.IsValid() { @@ -280,7 +280,7 @@ func (b *BaseBuilder) setupHeaders(httpRequest *http.Request) error { body.Seek(0, 0) length = end - start default: - return errors.New("Can not get Content-Length") + return errors.New("can not get Content-Length") } if length > 0 { httpRequest.ContentLength = length diff --git a/vendor/github.com/yunify/qingstor-sdk-go/request/builder/base_test.go b/vendor/github.com/yunify/qingstor-sdk-go/request/builder/base_test.go index d4b3eeaca..2f20a07bb 100644 --- a/vendor/github.com/yunify/qingstor-sdk-go/request/builder/base_test.go +++ b/vendor/github.com/yunify/qingstor-sdk-go/request/builder/base_test.go @@ -33,9 +33,9 @@ type FakeProperties struct { CD *int `name:"c-d"` } type FakeInput struct { - ParamA *string `location:"params" name:"a"` - ParamB *string `location:"params" name:"b"` - ParamCD *int `location:"params" name:"c_d" default:"1024"` + ParamA *string `location:"query" name:"a"` + ParamB *string `location:"query" name:"b"` + ParamCD *int `location:"query" name:"c_d" default:"1024"` HeaderA *string `location:"headers" name:"A"` HeaderB *time.Time `location:"headers" name:"B" format:"RFC 822"` HeaderCD *int `location:"headers" name:"C-D"` @@ -109,7 +109,7 @@ func TestBaseBuilder_BuildHTTPRequest(t *testing.T) { assert.Equal(t, &map[string]string{ "a": "param_a", "c_d": "1024", - }, builder.parsedParams) + }, builder.parsedQuery) assert.Equal(t, &map[string]string{ "A": "header_a", "B": "Thu, 01 Sep 2016 07:30:00 GMT", diff --git a/vendor/github.com/yunify/qingstor-sdk-go/request/builder/qingstor.go b/vendor/github.com/yunify/qingstor-sdk-go/request/builder/qingstor.go index d17170e5f..7fac557f2 100644 --- a/vendor/github.com/yunify/qingstor-sdk-go/request/builder/qingstor.go +++ b/vendor/github.com/yunify/qingstor-sdk-go/request/builder/qingstor.go @@ -75,20 +75,20 @@ func (qb *QingStorBuilder) BuildHTTPRequest(o *data.Operation, i *reflect.Value) return nil, err } - logger.Info(fmt.Sprintf( + logger.Infof(fmt.Sprintf( "Built QingStor request: [%d] %s", convert.StringToUnixTimestamp(httpRequest.Header.Get("Date"), convert.RFC822), httpRequest.URL.String()), ) - logger.Info(fmt.Sprintf( + logger.Infof(fmt.Sprintf( "QingStor request headers: [%d] %s", convert.StringToUnixTimestamp(httpRequest.Header.Get("Date"), convert.RFC822), fmt.Sprint(httpRequest.Header)), ) if qb.baseBuilder.parsedBodyString != "" { - logger.Info(fmt.Sprintf( + logger.Infof(fmt.Sprintf( "QingStor request body string: [%d] %s", convert.StringToUnixTimestamp(httpRequest.Header.Get("Date"), convert.RFC822), qb.baseBuilder.parsedBodyString), @@ -120,9 +120,9 @@ func (qb *QingStorBuilder) parseURL() error { return err } - if qb.baseBuilder.parsedParams != nil { + if qb.baseBuilder.parsedQuery != nil { queryValue := requestURL.Query() - for key, value := range *qb.baseBuilder.parsedParams { + for key, value := range *qb.baseBuilder.parsedQuery { queryValue.Set(key, value) } requestURL.RawQuery = queryValue.Encode() diff --git a/vendor/github.com/yunify/qingstor-sdk-go/request/request.go b/vendor/github.com/yunify/qingstor-sdk-go/request/request.go index 6feef641a..a6ce3186d 100644 --- a/vendor/github.com/yunify/qingstor-sdk-go/request/request.go +++ b/vendor/github.com/yunify/qingstor-sdk-go/request/request.go @@ -216,7 +216,7 @@ func (r *Request) send() error { retries := r.Operation.Config.ConnectionRetries + 1 for { if retries > 0 { - logger.Info(fmt.Sprintf( + logger.Infof(fmt.Sprintf( "Sending request: [%d] %s %s", convert.StringToUnixTimestamp(r.HTTPRequest.Header.Get("Date"), convert.RFC822), r.Operation.RequestMethod, diff --git a/vendor/github.com/yunify/qingstor-sdk-go/request/request_test.go b/vendor/github.com/yunify/qingstor-sdk-go/request/request_test.go index 5fb768f36..ec6ff8146 100644 --- a/vendor/github.com/yunify/qingstor-sdk-go/request/request_test.go +++ b/vendor/github.com/yunify/qingstor-sdk-go/request/request_test.go @@ -41,7 +41,7 @@ type SomeActionInput struct { Date *time.Time `json:"Date" name:"Date" format:"RFC 822" location:"headers"` IfModifiedSince *time.Time `json:"If-Modified-Since" name:"If-Modified-Since" format:"RFC 822" location:"headers"` Range *string `json:"Range" name:"Range" location:"headers"` - UploadID *string `json:"upload_id" name:"upload_id" location:"params"` + UploadID *string `json:"upload_id" name:"upload_id" location:"query"` Count *int `json:"count" name:"count" location:"elements"` } diff --git a/vendor/github.com/yunify/qingstor-sdk-go/request/signer/qingstor.go b/vendor/github.com/yunify/qingstor-sdk-go/request/signer/qingstor.go index 088cec1c4..0df5c44de 100644 --- a/vendor/github.com/yunify/qingstor-sdk-go/request/signer/qingstor.go +++ b/vendor/github.com/yunify/qingstor-sdk-go/request/signer/qingstor.go @@ -85,11 +85,11 @@ func (qss *QingStorSigner) BuildSignature(request *http.Request) (string, error) signature := strings.TrimSpace(base64.StdEncoding.EncodeToString(h.Sum(nil))) authorization := "QS " + qss.AccessKeyID + ":" + signature - logger.Debug(fmt.Sprintf( + logger.Debugf(fmt.Sprintf( "QingStor authorization: [%d] %s", convert.StringToUnixTimestamp(request.Header.Get("Date"), convert.RFC822), - authorization), - ) + authorization, + )) return authorization, nil } @@ -111,7 +111,7 @@ func (qss *QingStorSigner) BuildQuerySignature(request *http.Request, expires in qss.AccessKeyID, expires, signature, ) - logger.Debug(fmt.Sprintf( + logger.Debugf(fmt.Sprintf( "QingStor query signature: [%d] %s", convert.StringToUnixTimestamp(request.Header.Get("Date"), convert.RFC822), query, @@ -141,7 +141,7 @@ func (qss *QingStorSigner) BuildStringToSign(request *http.Request) (string, err } stringToSign += canonicalizedResource - logger.Debug(fmt.Sprintf( + logger.Debugf(fmt.Sprintf( "QingStor string to sign: [%d] %s", convert.StringToUnixTimestamp(request.Header.Get("Date"), convert.RFC822), stringToSign, @@ -167,7 +167,7 @@ func (qss *QingStorSigner) BuildQueryStringToSign(request *http.Request, expires } stringToSign += canonicalizedResource - logger.Debug(fmt.Sprintf( + logger.Debugf(fmt.Sprintf( "QingStor query string to sign: [%d] %s", convert.StringToUnixTimestamp(request.Header.Get("Date"), convert.RFC822), stringToSign, @@ -208,7 +208,7 @@ func (qss *QingStorSigner) buildCanonicalizedResource(request *http.Request) (st parts := []string{} for _, key := range keys { values := query[key] - if qss.paramsToSign(key) { + if qss.queryToSign(key) { if len(values) > 0 { if values[0] != "" { value := strings.TrimSpace(strings.Join(values, "")) @@ -231,7 +231,7 @@ func (qss *QingStorSigner) buildCanonicalizedResource(request *http.Request) (st path = path + "?" + joinedParts } - logger.Debug(fmt.Sprintf( + logger.Debugf(fmt.Sprintf( "QingStor canonicalized resource: [%d] %s", convert.StringToUnixTimestamp(request.Header.Get("Date"), convert.RFC822), path, @@ -240,7 +240,7 @@ func (qss *QingStorSigner) buildCanonicalizedResource(request *http.Request) (st return path, nil } -func (qss *QingStorSigner) paramsToSign(key string) bool { +func (qss *QingStorSigner) queryToSign(key string) bool { keysMap := map[string]bool{ "acl": true, "cors": true, @@ -252,6 +252,8 @@ func (qss *QingStorSigner) paramsToSign(key string) bool { "upload_id": true, "uploads": true, "image": true, + "lifecycle": true, + "logging": true, "response-expires": true, "response-cache-control": true, "response-content-type": true, diff --git a/vendor/github.com/yunify/qingstor-sdk-go/request/unpacker/base.go b/vendor/github.com/yunify/qingstor-sdk-go/request/unpacker/base.go index 18920512d..953479e32 100644 --- a/vendor/github.com/yunify/qingstor-sdk-go/request/unpacker/base.go +++ b/vendor/github.com/yunify/qingstor-sdk-go/request/unpacker/base.go @@ -69,7 +69,7 @@ func (b *BaseUnpacker) exposeStatusCode() error { if value.IsValid() { switch value.Interface().(type) { case *int: - logger.Info(fmt.Sprintf( + logger.Infof(fmt.Sprintf( "QingStor response status code: [%d] %d", convert.StringToUnixTimestamp(b.httpResponse.Header.Get("Date"), convert.RFC822), b.httpResponse.StatusCode, @@ -82,7 +82,7 @@ func (b *BaseUnpacker) exposeStatusCode() error { } func (b *BaseUnpacker) parseResponseHeaders() error { - logger.Info(fmt.Sprintf( + logger.Infof(fmt.Sprintf( "QingStor response headers: [%d] %s", convert.StringToUnixTimestamp(b.httpResponse.Header.Get("Date"), convert.RFC822), fmt.Sprint(b.httpResponse.Header), @@ -145,7 +145,7 @@ func (b *BaseUnpacker) parseResponseBody() error { buffer.ReadFrom(b.httpResponse.Body) b.httpResponse.Body.Close() - logger.Info(fmt.Sprintf( + logger.Infof(fmt.Sprintf( "QingStor response body string: [%d] %s", convert.StringToUnixTimestamp(b.httpResponse.Header.Get("Date"), convert.RFC822), string(buffer.Bytes()), @@ -168,7 +168,7 @@ func (b *BaseUnpacker) parseResponseElements() error { buffer.ReadFrom(b.httpResponse.Body) b.httpResponse.Body.Close() - logger.Info(fmt.Sprintf( + logger.Infof(fmt.Sprintf( "QingStor response body string: [%d] %s", convert.StringToUnixTimestamp(b.httpResponse.Header.Get("Date"), convert.RFC822), string(buffer.Bytes()), diff --git a/vendor/github.com/yunify/qingstor-sdk-go/service/bucket.go b/vendor/github.com/yunify/qingstor-sdk-go/service/bucket.go index 935ad33bd..30318052b 100644 --- a/vendor/github.com/yunify/qingstor-sdk-go/service/bucket.go +++ b/vendor/github.com/yunify/qingstor-sdk-go/service/bucket.go @@ -20,6 +20,7 @@ import ( "fmt" "io" "net/http" + "strings" "time" "github.com/yunify/qingstor-sdk-go/config" @@ -31,6 +32,7 @@ import ( var _ fmt.State var _ io.Reader var _ http.Header +var _ strings.Reader var _ time.Time var _ config.Config @@ -42,6 +44,7 @@ type Bucket struct { // Bucket initializes a new bucket. func (s *Service) Bucket(bucketName string, zone string) (*Bucket, error) { + zone = strings.ToLower(zone) properties := &Properties{ BucketName: &bucketName, Zone: &zone, @@ -743,15 +746,15 @@ func (s *Bucket) ListMultipartUploadsRequest(input *ListMultipartUploadsInput) ( // ListMultipartUploadsInput presents input for ListMultipartUploads. type ListMultipartUploadsInput struct { // Put all keys that share a common prefix into a list - Delimiter *string `json:"delimiter,omitempty" name:"delimiter" location:"params"` + Delimiter *string `json:"delimiter,omitempty" name:"delimiter" location:"query"` // Limit results returned from the first key after key_marker sorted by alphabetical order - KeyMarker *string `json:"key_marker,omitempty" name:"key_marker" location:"params"` + KeyMarker *string `json:"key_marker,omitempty" name:"key_marker" location:"query"` // Results count limit - Limit *int `json:"limit,omitempty" name:"limit" location:"params"` + Limit *int `json:"limit,omitempty" name:"limit" location:"query"` // Limits results to keys that begin with the prefix - Prefix *string `json:"prefix,omitempty" name:"prefix" location:"params"` + Prefix *string `json:"prefix,omitempty" name:"prefix" location:"query"` // Limit results returned from the first uploading segment after upload_id_marker sorted by the time of upload_id - UploadIDMarker *string `json:"upload_id_marker,omitempty" name:"upload_id_marker" location:"params"` + UploadIDMarker *string `json:"upload_id_marker,omitempty" name:"upload_id_marker" location:"query"` } // Validate validates the input for ListMultipartUploads. @@ -838,13 +841,13 @@ func (s *Bucket) ListObjectsRequest(input *ListObjectsInput) (*request.Request, // ListObjectsInput presents input for ListObjects. type ListObjectsInput struct { // Put all keys that share a common prefix into a list - Delimiter *string `json:"delimiter,omitempty" name:"delimiter" location:"params"` + Delimiter *string `json:"delimiter,omitempty" name:"delimiter" location:"query"` // Results count limit - Limit *int `json:"limit,omitempty" name:"limit" location:"params"` + Limit *int `json:"limit,omitempty" name:"limit" location:"query"` // Limit results to keys that start at this marker - Marker *string `json:"marker,omitempty" name:"marker" location:"params"` + Marker *string `json:"marker,omitempty" name:"marker" location:"query"` // Limits results to keys that begin with the prefix - Prefix *string `json:"prefix,omitempty" name:"prefix" location:"params"` + Prefix *string `json:"prefix,omitempty" name:"prefix" location:"query"` } // Validate validates the input for ListObjects. diff --git a/vendor/github.com/yunify/qingstor-sdk-go/service/object.go b/vendor/github.com/yunify/qingstor-sdk-go/service/object.go index 4a081ece9..09ce53e86 100644 --- a/vendor/github.com/yunify/qingstor-sdk-go/service/object.go +++ b/vendor/github.com/yunify/qingstor-sdk-go/service/object.go @@ -20,6 +20,7 @@ import ( "fmt" "io" "net/http" + "strings" "time" "github.com/yunify/qingstor-sdk-go/config" @@ -31,6 +32,7 @@ import ( var _ fmt.State var _ io.Reader var _ http.Header +var _ strings.Reader var _ time.Time var _ config.Config @@ -88,7 +90,7 @@ func (s *Bucket) AbortMultipartUploadRequest(objectKey string, input *AbortMulti // AbortMultipartUploadInput presents input for AbortMultipartUpload. type AbortMultipartUploadInput struct { // Object multipart upload ID - UploadID *string `json:"upload_id" name:"upload_id" location:"params"` // Required + UploadID *string `json:"upload_id" name:"upload_id" location:"query"` // Required } @@ -166,7 +168,7 @@ func (s *Bucket) CompleteMultipartUploadRequest(objectKey string, input *Complet // CompleteMultipartUploadInput presents input for CompleteMultipartUpload. type CompleteMultipartUploadInput struct { // Object multipart upload ID - UploadID *string `json:"upload_id" name:"upload_id" location:"params"` // Required + UploadID *string `json:"upload_id" name:"upload_id" location:"query"` // Required // MD5sum of the object part ETag *string `json:"ETag,omitempty" name:"ETag" location:"headers"` @@ -207,6 +209,9 @@ type CompleteMultipartUploadOutput struct { StatusCode *int `location:"statusCode"` RequestID *string `location:"requestID"` + + // Encryption algorithm of the object + XQSEncryptionCustomerAlgorithm *string `json:"X-QS-Encryption-Customer-Algorithm,omitempty" name:"X-QS-Encryption-Customer-Algorithm" location:"headers"` } // DeleteObject does Delete the object. @@ -320,17 +325,17 @@ func (s *Bucket) GetObjectRequest(objectKey string, input *GetObjectInput) (*req // GetObjectInput presents input for GetObject. type GetObjectInput struct { // Specified the Cache-Control response header - ResponseCacheControl *string `json:"response-cache-control,omitempty" name:"response-cache-control" location:"params"` + ResponseCacheControl *string `json:"response-cache-control,omitempty" name:"response-cache-control" location:"query"` // Specified the Content-Disposition response header - ResponseContentDisposition *string `json:"response-content-disposition,omitempty" name:"response-content-disposition" location:"params"` + ResponseContentDisposition *string `json:"response-content-disposition,omitempty" name:"response-content-disposition" location:"query"` // Specified the Content-Encoding response header - ResponseContentEncoding *string `json:"response-content-encoding,omitempty" name:"response-content-encoding" location:"params"` + ResponseContentEncoding *string `json:"response-content-encoding,omitempty" name:"response-content-encoding" location:"query"` // Specified the Content-Language response header - ResponseContentLanguage *string `json:"response-content-language,omitempty" name:"response-content-language" location:"params"` + ResponseContentLanguage *string `json:"response-content-language,omitempty" name:"response-content-language" location:"query"` // Specified the Content-Type response header - ResponseContentType *string `json:"response-content-type,omitempty" name:"response-content-type" location:"params"` + ResponseContentType *string `json:"response-content-type,omitempty" name:"response-content-type" location:"query"` // Specified the Expires response header - ResponseExpires *string `json:"response-expires,omitempty" name:"response-expires" location:"params"` + ResponseExpires *string `json:"response-expires,omitempty" name:"response-expires" location:"query"` // Check whether the ETag matches IfMatch *string `json:"If-Match,omitempty" name:"If-Match" location:"headers"` @@ -522,19 +527,19 @@ func (s *Bucket) ImageProcessRequest(objectKey string, input *ImageProcessInput) // ImageProcessInput presents input for ImageProcess. type ImageProcessInput struct { // Image process action - Action *string `json:"action" name:"action" location:"params"` // Required + Action *string `json:"action" name:"action" location:"query"` // Required // Specified the Cache-Control response header - ResponseCacheControl *string `json:"response-cache-control,omitempty" name:"response-cache-control" location:"params"` + ResponseCacheControl *string `json:"response-cache-control,omitempty" name:"response-cache-control" location:"query"` // Specified the Content-Disposition response header - ResponseContentDisposition *string `json:"response-content-disposition,omitempty" name:"response-content-disposition" location:"params"` + ResponseContentDisposition *string `json:"response-content-disposition,omitempty" name:"response-content-disposition" location:"query"` // Specified the Content-Encoding response header - ResponseContentEncoding *string `json:"response-content-encoding,omitempty" name:"response-content-encoding" location:"params"` + ResponseContentEncoding *string `json:"response-content-encoding,omitempty" name:"response-content-encoding" location:"query"` // Specified the Content-Language response header - ResponseContentLanguage *string `json:"response-content-language,omitempty" name:"response-content-language" location:"params"` + ResponseContentLanguage *string `json:"response-content-language,omitempty" name:"response-content-language" location:"query"` // Specified the Content-Type response header - ResponseContentType *string `json:"response-content-type,omitempty" name:"response-content-type" location:"params"` + ResponseContentType *string `json:"response-content-type,omitempty" name:"response-content-type" location:"query"` // Specified the Expires response header - ResponseExpires *string `json:"response-expires,omitempty" name:"response-expires" location:"params"` + ResponseExpires *string `json:"response-expires,omitempty" name:"response-expires" location:"query"` // Check whether the object has been modified IfModifiedSince *time.Time `json:"If-Modified-Since,omitempty" name:"If-Modified-Since" format:"RFC 822" location:"headers"` @@ -706,11 +711,11 @@ func (s *Bucket) ListMultipartRequest(objectKey string, input *ListMultipartInpu // ListMultipartInput presents input for ListMultipart. type ListMultipartInput struct { // Limit results count - Limit *int `json:"limit,omitempty" name:"limit" location:"params"` + Limit *int `json:"limit,omitempty" name:"limit" location:"query"` // Object multipart upload part number - PartNumberMarker *int `json:"part_number_marker,omitempty" name:"part_number_marker" location:"params"` + PartNumberMarker *int `json:"part_number_marker,omitempty" name:"part_number_marker" location:"query"` // Object multipart upload ID - UploadID *string `json:"upload_id" name:"upload_id" location:"params"` // Required + UploadID *string `json:"upload_id" name:"upload_id" location:"query"` // Required } @@ -944,6 +949,11 @@ type PutObjectOutput struct { StatusCode *int `location:"statusCode"` RequestID *string `location:"requestID"` + + // MD5sum of the object + ETag *string `json:"ETag,omitempty" name:"ETag" location:"headers"` + // Encryption algorithm of the object + XQSEncryptionCustomerAlgorithm *string `json:"X-QS-Encryption-Customer-Algorithm,omitempty" name:"X-QS-Encryption-Customer-Algorithm" location:"headers"` } // UploadMultipart does Upload object multipart. @@ -1000,9 +1010,9 @@ func (s *Bucket) UploadMultipartRequest(objectKey string, input *UploadMultipart // UploadMultipartInput presents input for UploadMultipart. type UploadMultipartInput struct { // Object multipart upload part number - PartNumber *int `json:"part_number" name:"part_number" default:"0" location:"params"` // Required + PartNumber *int `json:"part_number" name:"part_number" default:"0" location:"query"` // Required // Object multipart upload ID - UploadID *string `json:"upload_id" name:"upload_id" location:"params"` // Required + UploadID *string `json:"upload_id" name:"upload_id" location:"query"` // Required // Object multipart content length ContentLength *int64 `json:"Content-Length,omitempty" name:"Content-Length" location:"headers"` @@ -1062,4 +1072,11 @@ type UploadMultipartOutput struct { StatusCode *int `location:"statusCode"` RequestID *string `location:"requestID"` + + // MD5sum of the object + ETag *string `json:"ETag,omitempty" name:"ETag" location:"headers"` + // Range of response data content + XQSContentCopyRange *string `json:"X-QS-Content-Copy-Range,omitempty" name:"X-QS-Content-Copy-Range" location:"headers"` + // Encryption algorithm of the object + XQSEncryptionCustomerAlgorithm *string `json:"X-QS-Encryption-Customer-Algorithm,omitempty" name:"X-QS-Encryption-Customer-Algorithm" location:"headers"` } diff --git a/vendor/github.com/yunify/qingstor-sdk-go/template/shared.tmpl b/vendor/github.com/yunify/qingstor-sdk-go/template/shared.tmpl index 0acfff3fb..bafa8322f 100644 --- a/vendor/github.com/yunify/qingstor-sdk-go/template/shared.tmpl +++ b/vendor/github.com/yunify/qingstor-sdk-go/template/shared.tmpl @@ -107,12 +107,12 @@ {{$isBucket := eq $service.Name "Bucket"}} {{$isObject := eq $service.Name "Object"}} - {{$hasParams := gt (len $operation.Request.Params.Properties) 0}} + {{$hasQuery := gt (len $operation.Request.Query.Properties) 0}} {{$hasHeaders := gt (len $operation.Request.Headers.Properties) 0}} {{$hasElements := gt (len $operation.Request.Elements.Properties) 0}} {{$hasStringBody := eq $operation.Request.Body.Type "string"}} {{$hasBinaryBody := eq $operation.Request.Body.Type "binary"}} - {{$hasInput := or $hasParams $hasHeaders $hasElements $hasStringBody $hasBinaryBody}} + {{$hasInput := or $hasQuery $hasHeaders $hasElements $hasStringBody $hasBinaryBody}} {{if $operation.Description -}} {{if eq $belongs "Bucket" -}} @@ -181,10 +181,10 @@ input = &{{$opID}}Input{} } {{end}} - {{$uri := $operation.Request.URI}} - {{$uri := replace $uri "{" "<" -1}} - {{$uri := replace $uri "}" ">" -1}} - {{$uri := dashConnected $uri}} + {{$path := $operation.Request.Path}} + {{$path := replace $path "{" "<" -1}} + {{$path := replace $path "}" ">" -1}} + {{$path := dashConnected $path}} {{- if ne $belongs "Service"}} properties := *s.Properties @@ -200,21 +200,18 @@ {{- end}} APIName: "{{$operation.Name}}", RequestMethod: "{{$operation.Request.Method}}", - RequestURI: "{{$uri}}", - {{if $operation.Response.StatusCodes -}} - StatusCodes: []int{ - {{range $statusCodeNumber, $statusCode := $operation.Response.StatusCodes -}} - {{$statusCodeNumber}}, - {{- if $statusCode.Description -}} - // {{$statusCode.Description}} - {{- end}} + RequestURI: "{{$path}}", + StatusCodes: []int{ + {{range $keyStatus, $valueStatus := $operation.Responses -}} + {{- if $valueStatus.StatusCode -}} + {{$valueStatus.StatusCode.Code}}, // {{$valueStatus.StatusCode.Description}} + {{else}} + 200, // OK {{end -}} - }, - {{else}} - StatusCodes: []int{ + {{else}} 200, // OK - }, - {{end -}} + {{end -}} + }, } x := &{{$opID}}Output{} @@ -229,9 +226,9 @@ {{if $hasInput}} // {{$opID}}Input presents input for {{$opID}}. type {{$opID}}Input struct { - {{- if $operation.Request.Params.Properties | len}} - {{$data := $operation.Request.Params -}} - {{template "RenderProperties" passThrough $data `location:"params"` $operation.Name}} + {{- if $operation.Request.Query.Properties | len}} + {{$data := $operation.Request.Query -}} + {{template "RenderProperties" passThrough $data `location:"query"` $operation.Name}} {{end}} {{- if $operation.Request.Headers.Properties | len}} @@ -259,7 +256,7 @@ // Validate validates the input for {{$opID}}. func (v *{{$opID}}Input) Validate() error { - {{template "ValidateCustomizedType" passThrough $operation.Request.Params $operation.Name}} + {{template "ValidateCustomizedType" passThrough $operation.Request.Query $operation.Name}} {{template "ValidateCustomizedType" passThrough $operation.Request.Headers $operation.Name}} {{template "ValidateCustomizedType" passThrough $operation.Request.Elements $operation.Name}} @@ -272,27 +269,28 @@ StatusCode *int `location:"statusCode"` RequestID *string `location:"requestID"` + {{range $keyStatus, $valueStatus := $operation.Responses -}} + {{if eq $valueStatus.Body.Type "string"}} + {{if $valueStatus.Body.Description -}} + // {{$valueStatus.Body.Description}} + {{- end}} + Body string `location:"body"` + {{else if eq $valueStatus.Body.Type "binary"}} + {{if $valueStatus.Body.Description -}} + // {{$valueStatus.Body.Description}} + {{- end}} + Body io.ReadCloser `location:"body"` + {{end}} - {{if eq $operation.Response.Body.Type "string"}} - {{if $operation.Response.Body.Description -}} - // {{$operation.Response.Body.Description}} - {{- end}} - Body string `location:"body"` - {{else if eq $operation.Response.Body.Type "binary"}} - {{if $operation.Response.Body.Description -}} - // {{$operation.Response.Body.Description}} - {{- end}} - Body io.ReadCloser `location:"body"` - {{end}} + {{if $valueStatus.Elements.Properties | len}} + {{$data := $valueStatus.Elements}} + {{template "RenderProperties" passThrough $data `location:"elements"` $operation.Name}} + {{end}} - {{if $operation.Response.Elements.Properties | len}} - {{$data := $operation.Response.Elements}} - {{template "RenderProperties" passThrough $data `location:"elements"` $operation.Name}} - {{end}} - - {{if $operation.Response.Headers.Properties | len}} - {{$data := $operation.Response.Headers}} - {{template "RenderProperties" passThrough $data `location:"headers"` $operation.Name}} + {{if $valueStatus.Headers.Properties | len}} + {{$data := $valueStatus.Headers}} + {{template "RenderProperties" passThrough $data `location:"headers"` $operation.Name}} + {{end}} {{end}} } {{end}} diff --git a/vendor/github.com/yunify/qingstor-sdk-go/template/sub_service.tmpl b/vendor/github.com/yunify/qingstor-sdk-go/template/sub_service.tmpl index f999cff52..1951b37a2 100644 --- a/vendor/github.com/yunify/qingstor-sdk-go/template/sub_service.tmpl +++ b/vendor/github.com/yunify/qingstor-sdk-go/template/sub_service.tmpl @@ -23,6 +23,7 @@ import ( "fmt" "io" "net/http" + "strings" "time" "github.com/yunify/qingstor-sdk-go/config" @@ -34,6 +35,7 @@ import ( var _ fmt.State var _ io.Reader var _ http.Header +var _ strings.Reader var _ time.Time var _ config.Config @@ -48,6 +50,11 @@ var _ config.Config func (s *Service) {{$subService.ID | camelCase}}( {{- template "SubServiceInitParams" passThrough $subService.Properties true -}} ) (*{{$subService.ID | camelCase}}, error) { + {{- range $_, $property := $subService.Properties.Properties -}} + {{if eq $property.ID "zone"}} + {{$property.ID}} = strings.ToLower({{$property.ID}}) + {{end}} + {{- end -}} properties := &Properties{ {{range $_, $property := $subService.Properties.Properties -}} {{$property.ID | upperFirst}}: &{{$property.ID}}, diff --git a/vendor/github.com/yunify/qingstor-sdk-go/template/types.tmpl b/vendor/github.com/yunify/qingstor-sdk-go/template/types.tmpl index a2e495fbe..5841d3fe0 100644 --- a/vendor/github.com/yunify/qingstor-sdk-go/template/types.tmpl +++ b/vendor/github.com/yunify/qingstor-sdk-go/template/types.tmpl @@ -30,20 +30,21 @@ import ( // Properties presents the service properties. type Properties struct { {{- template "RenderProperties" passThrough $service.Properties "" "" -}} - - {{range $_, $p := $objectSubService.Properties.Properties -}} - {{- if $p.Description -}} - // {{$p.Description}} - {{end -}} - {{if $p.Enum -}} - // {{camelCase $p.ID}}'s available values: {{commaConnected $p.Enum}} - {{end -}} - {{$p.ID | camelCase | upperFirst}}{{" " -}} - {{template "PropertyType" passThrough $p false}}{{" " -}} - `{{template "PropertyTagsDashConnected" $p}}`{{" " -}} - {{if $p.IsRequired -}} - // Required - {{- end}} + {{if $objectSubService -}} + {{range $_, $p := $objectSubService.Properties.Properties -}} + {{- if $p.Description -}} + // {{$p.Description}} + {{end -}} + {{if $p.Enum -}} + // {{camelCase $p.ID}}'s available values: {{commaConnected $p.Enum}} + {{end -}} + {{$p.ID | camelCase | upperFirst}}{{" " -}} + {{template "PropertyType" passThrough $p false}}{{" " -}} + `{{template "PropertyTagsDashConnected" $p}}`{{" " -}} + {{if $p.IsRequired -}} + // Required + {{- end}} + {{end}} {{end}} } diff --git a/vendor/github.com/yunify/qingstor-sdk-go/test/local_features/upload.feature b/vendor/github.com/yunify/qingstor-sdk-go/test/local_features/upload.feature new file mode 100644 index 000000000..e3a2e438e --- /dev/null +++ b/vendor/github.com/yunify/qingstor-sdk-go/test/local_features/upload.feature @@ -0,0 +1,10 @@ +@upload +Feature: the upload feature + + Scenario: create the uploader + When initialize uploader + Then uploader is initialized + + Scenario: upload large file + When upload a large file + Then the large file is uploaded diff --git a/vendor/github.com/yunify/qingstor-sdk-go/test/main.go b/vendor/github.com/yunify/qingstor-sdk-go/test/main.go index af6fcf08a..54fe50aaa 100644 --- a/vendor/github.com/yunify/qingstor-sdk-go/test/main.go +++ b/vendor/github.com/yunify/qingstor-sdk-go/test/main.go @@ -42,10 +42,11 @@ func main() { ObjectFeatureContext(s) ObjectMultipartFeatureContext(s) ImageFeatureContext(s) + UploadFeatureContext(s) } options := godog.Options{ Format: "pretty", - Paths: []string{"./features"}, + Paths: []string{"./features", "./local_features"}, Tags: "", } status := godog.RunWithOptions("*", context, options) @@ -108,6 +109,8 @@ type testConfig struct { RetryWaitTime int `json:"retry_wait_time" yaml:"retry_wait_time"` MaxRetries int `json:"max_retries" yaml:"max_retries"` + + Concurrency int `json:"concurrency"` } func loadTestConfig() { diff --git a/vendor/github.com/yunify/qingstor-sdk-go/test/object.go b/vendor/github.com/yunify/qingstor-sdk-go/test/object.go index 3dd6b2246..78eedb8f0 100644 --- a/vendor/github.com/yunify/qingstor-sdk-go/test/object.go +++ b/vendor/github.com/yunify/qingstor-sdk-go/test/object.go @@ -67,9 +67,7 @@ func ObjectFeatureContext(s *godog.Suite) { } // -------------------------------------------------------------------------- -const concurrency = 16 - -var putObjectOutputs [concurrency]*qs.PutObjectOutput +var putObjectOutputs []*qs.PutObjectOutput func putObjectWithKey(objectKey string) error { _, err = exec.Command("dd", "if=/dev/zero", "of=/tmp/sdk_bin", "bs=1024", "count=1").Output() @@ -78,11 +76,12 @@ func putObjectWithKey(objectKey string) error { } defer os.Remove("/tmp/sdk_bin") - errChan := make(chan error, concurrency) + errChan := make(chan error, tc.Concurrency) + putObjectOutputs = make([]*qs.PutObjectOutput, tc.Concurrency) wg := sync.WaitGroup{} - wg.Add(concurrency) - for i := 0; i < concurrency; i++ { + wg.Add(tc.Concurrency) + for i := 0; i < tc.Concurrency; i++ { go func(index int, errChan chan<- error) { wg.Done() @@ -126,7 +125,7 @@ func putObjectWithKey(objectKey string) error { } wg.Wait() - for i := 0; i < concurrency; i++ { + for i := 0; i < tc.Concurrency; i++ { err = <-errChan if err != nil { return err @@ -146,14 +145,15 @@ func putObjectStatusCodeIs(statusCode int) error { } // -------------------------------------------------------------------------- -var copyObjectOutputs [concurrency]*qs.PutObjectOutput +var copyObjectOutputs []*qs.PutObjectOutput func copyObjectWithKey(objectKey string) error { - errChan := make(chan error, concurrency) + errChan := make(chan error, tc.Concurrency) + copyObjectOutputs = make([]*qs.PutObjectOutput, tc.Concurrency) wg := sync.WaitGroup{} - wg.Add(concurrency) - for i := 0; i < concurrency; i++ { + wg.Add(tc.Concurrency) + for i := 0; i < tc.Concurrency; i++ { go func(index int, errChan chan<- error) { wg.Done() @@ -178,7 +178,7 @@ func copyObjectWithKey(objectKey string) error { } wg.Wait() - for i := 0; i < concurrency; i++ { + for i := 0; i < tc.Concurrency; i++ { err = <-errChan if err != nil { return err @@ -198,14 +198,15 @@ func copyObjectStatusCodeIs(statusCode int) error { } // -------------------------------------------------------------------------- -var moveObjectOutputs [concurrency]*qs.PutObjectOutput +var moveObjectOutputs []*qs.PutObjectOutput func moveObjectWithKey(objectKey string) error { - errChan := make(chan error, concurrency) + errChan := make(chan error, tc.Concurrency) + moveObjectOutputs = make([]*qs.PutObjectOutput, tc.Concurrency) wg := sync.WaitGroup{} - wg.Add(concurrency) - for i := 0; i < concurrency; i++ { + wg.Add(tc.Concurrency) + for i := 0; i < tc.Concurrency; i++ { go func(index int, errChan chan<- error) { wg.Done() @@ -230,7 +231,7 @@ func moveObjectWithKey(objectKey string) error { } wg.Wait() - for i := 0; i < concurrency; i++ { + for i := 0; i < tc.Concurrency; i++ { err = <-errChan if err != nil { return err @@ -251,14 +252,15 @@ func moveObjectStatusCodeIs(statusCode int) error { // -------------------------------------------------------------------------- -var getObjectOutputs [concurrency]*qs.GetObjectOutput +var getObjectOutputs []*qs.GetObjectOutput func getObjectWithKey(objectKey string) error { - errChan := make(chan error, concurrency) + errChan := make(chan error, tc.Concurrency) + getObjectOutputs = make([]*qs.GetObjectOutput, tc.Concurrency) wg := sync.WaitGroup{} - wg.Add(concurrency) - for i := 0; i < concurrency; i++ { + wg.Add(tc.Concurrency) + for i := 0; i < tc.Concurrency; i++ { go func(index int, errChan chan<- error) { wg.Done() @@ -279,7 +281,7 @@ func getObjectWithKey(objectKey string) error { } wg.Wait() - for i := 0; i < concurrency; i++ { + for i := 0; i < tc.Concurrency; i++ { err = <-errChan if err != nil { return err @@ -313,14 +315,15 @@ func getObjectContentLengthIs(length int) error { // -------------------------------------------------------------------------- -var getObjectWithContentTypeRequests [concurrency]*request.Request +var getObjectWithContentTypeRequests []*request.Request func getObjectWithContentType(objectKey, contentType string) error { - errChan := make(chan error, concurrency) + errChan := make(chan error, tc.Concurrency) + getObjectWithContentTypeRequests = make([]*request.Request, tc.Concurrency) wg := sync.WaitGroup{} - wg.Add(concurrency) - for i := 0; i < concurrency; i++ { + wg.Add(tc.Concurrency) + for i := 0; i < tc.Concurrency; i++ { go func(index int, errChan chan<- error) { wg.Done() @@ -354,7 +357,7 @@ func getObjectWithContentType(objectKey, contentType string) error { } wg.Wait() - for i := 0; i < concurrency; i++ { + for i := 0; i < tc.Concurrency; i++ { err = <-errChan if err != nil { return err @@ -375,14 +378,15 @@ func getObjectContentTypeIs(contentType string) error { // -------------------------------------------------------------------------- -var getObjectWithQuerySignatureURLs [concurrency]string +var getObjectWithQuerySignatureURLs []string func getObjectWithQuerySignature(objectKey string) error { - errChan := make(chan error, concurrency) + errChan := make(chan error, tc.Concurrency) + getObjectWithQuerySignatureURLs = make([]string, tc.Concurrency) wg := sync.WaitGroup{} - wg.Add(concurrency) - for i := 0; i < concurrency; i++ { + wg.Add(tc.Concurrency) + for i := 0; i < tc.Concurrency; i++ { go func(index int, errChan chan<- error) { wg.Done() @@ -414,7 +418,7 @@ func getObjectWithQuerySignature(objectKey string) error { } wg.Wait() - for i := 0; i < concurrency; i++ { + for i := 0; i < tc.Concurrency; i++ { err = <-errChan if err != nil { return err @@ -443,14 +447,15 @@ func getObjectWithQuerySignatureContentLengthIs(length int) error { // -------------------------------------------------------------------------- -var headObjectOutputs [concurrency]*qs.HeadObjectOutput +var headObjectOutputs []*qs.HeadObjectOutput func headObjectWithKey(objectKey string) error { - errChan := make(chan error, concurrency) + errChan := make(chan error, tc.Concurrency) + headObjectOutputs = make([]*qs.HeadObjectOutput, tc.Concurrency) wg := sync.WaitGroup{} - wg.Add(concurrency) - for i := 0; i < concurrency; i++ { + wg.Add(tc.Concurrency) + for i := 0; i < tc.Concurrency; i++ { go func(index int, errChan chan<- error) { wg.Done() @@ -471,7 +476,7 @@ func headObjectWithKey(objectKey string) error { } wg.Wait() - for i := 0; i < concurrency; i++ { + for i := 0; i < tc.Concurrency; i++ { err = <-errChan if err != nil { return err @@ -492,14 +497,15 @@ func headObjectStatusCodeIs(statusCode int) error { // -------------------------------------------------------------------------- -var optionsObjectOutputs [concurrency]*qs.OptionsObjectOutput +var optionsObjectOutputs []*qs.OptionsObjectOutput func optionsObjectWithMethodAndOrigin(objectKey, method, origin string) error { - errChan := make(chan error, concurrency) + errChan := make(chan error, tc.Concurrency) + optionsObjectOutputs = make([]*qs.OptionsObjectOutput, tc.Concurrency) wg := sync.WaitGroup{} - wg.Add(concurrency) - for i := 0; i < concurrency; i++ { + wg.Add(tc.Concurrency) + for i := 0; i < tc.Concurrency; i++ { go func(index int, errChan chan<- error) { wg.Done() @@ -524,7 +530,7 @@ func optionsObjectWithMethodAndOrigin(objectKey, method, origin string) error { } wg.Wait() - for i := 0; i < concurrency; i++ { + for i := 0; i < tc.Concurrency; i++ { err = <-errChan if err != nil { return err @@ -545,15 +551,16 @@ func optionsObjectStatusCodeIs(statusCode int) error { // -------------------------------------------------------------------------- -var deleteObjectOutputs [concurrency]*qs.DeleteObjectOutput -var deleteTheMoveObjectOutputs [concurrency]*qs.DeleteObjectOutput +var deleteObjectOutputs []*qs.DeleteObjectOutput +var deleteTheMoveObjectOutputs []*qs.DeleteObjectOutput func deleteObjectWithKey(objectKey string) error { - errChan := make(chan error, concurrency) + errChan := make(chan error, tc.Concurrency) + deleteObjectOutputs = make([]*qs.DeleteObjectOutput, tc.Concurrency) wg := sync.WaitGroup{} - wg.Add(concurrency) - for i := 0; i < concurrency; i++ { + wg.Add(tc.Concurrency) + for i := 0; i < tc.Concurrency; i++ { go func(index int, errChan chan<- error) { wg.Done() @@ -574,7 +581,7 @@ func deleteObjectWithKey(objectKey string) error { } wg.Wait() - for i := 0; i < concurrency; i++ { + for i := 0; i < tc.Concurrency; i++ { err = <-errChan if err != nil { return err @@ -594,11 +601,12 @@ func deleteObjectStatusCodeIs(statusCode int) error { } func deleteTheMoveObjectWithKey(objectKey string) error { - errChan := make(chan error, concurrency) + errChan := make(chan error, tc.Concurrency) + deleteTheMoveObjectOutputs = make([]*qs.DeleteObjectOutput, tc.Concurrency) wg := sync.WaitGroup{} - wg.Add(concurrency) - for i := 0; i < concurrency; i++ { + wg.Add(tc.Concurrency) + for i := 0; i < tc.Concurrency; i++ { go func(index int, errChan chan<- error) { wg.Done() @@ -619,7 +627,7 @@ func deleteTheMoveObjectWithKey(objectKey string) error { } wg.Wait() - for i := 0; i < concurrency; i++ { + for i := 0; i < tc.Concurrency; i++ { err = <-errChan if err != nil { return err diff --git a/vendor/github.com/yunify/qingstor-sdk-go/test/test_config.yaml.example b/vendor/github.com/yunify/qingstor-sdk-go/test/test_config.yaml.example index 7d497d385..4b9a544f2 100644 --- a/vendor/github.com/yunify/qingstor-sdk-go/test/test_config.yaml.example +++ b/vendor/github.com/yunify/qingstor-sdk-go/test/test_config.yaml.example @@ -5,3 +5,5 @@ bucket_name: access-key-id retry_wait_time: 3 # seconds max_retries: 60 + +concurrency: 1 diff --git a/vendor/github.com/yunify/qingstor-sdk-go/test/upload.go b/vendor/github.com/yunify/qingstor-sdk-go/test/upload.go new file mode 100644 index 000000000..a29a26c00 --- /dev/null +++ b/vendor/github.com/yunify/qingstor-sdk-go/test/upload.go @@ -0,0 +1,67 @@ +package main + +import ( + "os" + "os/exec" + "errors" + + "github.com/DATA-DOG/godog" + "github.com/yunify/qingstor-sdk-go/client/upload" +) + +var uploader *upload.Uploader + +// UploadFeatureContext provides feature context for upload. +func UploadFeatureContext(s *godog.Suite) { + s.Step("initialize uploader$", initializeUploader) + s.Step("uploader is initialized$", uploaderIsInitialized) + + s.Step("upload a large file$", uploadLargeFile) + s.Step("the large file is uploaded$", largeFileIsUploaded) +} + +var fd *os.File + +func initializeUploader() error { + uploadSetup() + PartSize := 4 * 1024 * 1024 + + fd, err = os.Open("test_file") + if err != nil { + return err + } + + uploader = upload.Init(bucket, PartSize) + return nil +} + +func uploaderIsInitialized() error { + if uploader == nil { + return errors.New("uploader not initialized") + } + return nil +} + +var objectKey string + +func uploadLargeFile() error { + objectKey = "test_multipart_upload" + err := uploader.Upload(fd, objectKey) + if err != nil { + return err + } + return nil +} + +func largeFileIsUploaded() error { + defer uploadTearDown() + return nil +} + +func uploadSetup() { + exec.Command("dd", "if=/dev/zero", "of=test_file", "bs=1024", "count=20480").Output() +} + +func uploadTearDown() { + exec.Command("rm", "", "test_file").Output() +} diff --git a/vendor/github.com/yunify/qingstor-sdk-go/version.go b/vendor/github.com/yunify/qingstor-sdk-go/version.go index 74abe9ebf..b4aca190f 100644 --- a/vendor/github.com/yunify/qingstor-sdk-go/version.go +++ b/vendor/github.com/yunify/qingstor-sdk-go/version.go @@ -20,4 +20,4 @@ package sdk // Version number. -const Version = "2.2.6" +const Version = "2.2.8" diff --git a/vendor/golang.org/x/crypto/acme/acme.go b/vendor/golang.org/x/crypto/acme/acme.go index 4e409be6d..e8388b083 100644 --- a/vendor/golang.org/x/crypto/acme/acme.go +++ b/vendor/golang.org/x/crypto/acme/acme.go @@ -51,38 +51,6 @@ const ( maxNonces = 100 ) -// CertOption is an optional argument type for Client methods which manipulate -// certificate data. -type CertOption interface { - privateCertOpt() -} - -// WithKey creates an option holding a private/public key pair. -// The private part signs a certificate, and the public part represents the signee. -func WithKey(key crypto.Signer) CertOption { - return &certOptKey{key} -} - -type certOptKey struct { - key crypto.Signer -} - -func (*certOptKey) privateCertOpt() {} - -// WithTemplate creates an option for specifying a certificate template. -// See x509.CreateCertificate for template usage details. -// -// In TLSSNIxChallengeCert methods, the template is also used as parent, -// resulting in a self-signed certificate. -// The DNSNames field of t is always overwritten for tls-sni challenge certs. -func WithTemplate(t *x509.Certificate) CertOption { - return (*certOptTemplate)(t) -} - -type certOptTemplate x509.Certificate - -func (*certOptTemplate) privateCertOpt() {} - // Client is an ACME client. // The only required field is Key. An example of creating a client with a new key // is as follows: @@ -289,7 +257,7 @@ func (c *Client) RevokeCert(ctx context.Context, key crypto.Signer, cert []byte, func AcceptTOS(tosURL string) bool { return true } // Register creates a new account registration by following the "new-reg" flow. -// It returns registered account. The a argument is not modified. +// It returns registered account. The account is not modified. // // The registration may require the caller to agree to the CA's Terms of Service (TOS). // If so, and the account has not indicated the acceptance of the terms (see Account for details), diff --git a/vendor/golang.org/x/crypto/acme/autocert/autocert.go b/vendor/golang.org/x/crypto/acme/autocert/autocert.go index a478eff54..b10102017 100644 --- a/vendor/golang.org/x/crypto/acme/autocert/autocert.go +++ b/vendor/golang.org/x/crypto/acme/autocert/autocert.go @@ -83,8 +83,10 @@ func defaultHostPolicy(context.Context, string) error { // It obtains and refreshes certificates automatically, // as well as providing them to a TLS server via tls.Config. // -// To preserve issued certificates and improve overall performance, -// use a cache implementation of Cache. For instance, DirCache. +// You must specify a cache implementation, such as DirCache, +// to reuse obtained certificates across program restarts. +// Otherwise your server is very likely to exceed the certificate +// issuer's request rate limits. type Manager struct { // Prompt specifies a callback function to conditionally accept a CA's Terms of Service (TOS). // The registration may require the caller to agree to the CA's TOS. diff --git a/vendor/golang.org/x/crypto/acme/autocert/example_test.go b/vendor/golang.org/x/crypto/acme/autocert/example_test.go index c6267b8dd..71d61eb1c 100644 --- a/vendor/golang.org/x/crypto/acme/autocert/example_test.go +++ b/vendor/golang.org/x/crypto/acme/autocert/example_test.go @@ -23,6 +23,7 @@ func ExampleNewListener() { func ExampleManager() { m := autocert.Manager{ + Cache: autocert.DirCache("secret-dir"), Prompt: autocert.AcceptTOS, HostPolicy: autocert.HostWhitelist("example.org"), } diff --git a/vendor/golang.org/x/crypto/acme/types.go b/vendor/golang.org/x/crypto/acme/types.go index ab4de0b88..3e199749e 100644 --- a/vendor/golang.org/x/crypto/acme/types.go +++ b/vendor/golang.org/x/crypto/acme/types.go @@ -5,6 +5,8 @@ package acme import ( + "crypto" + "crypto/x509" "errors" "fmt" "net/http" @@ -293,3 +295,35 @@ func (e *wireError) error(h http.Header) *Error { Header: h, } } + +// CertOption is an optional argument type for the TLSSNIxChallengeCert methods for +// customizing a temporary certificate for TLS-SNI challenges. +type CertOption interface { + privateCertOpt() +} + +// WithKey creates an option holding a private/public key pair. +// The private part signs a certificate, and the public part represents the signee. +func WithKey(key crypto.Signer) CertOption { + return &certOptKey{key} +} + +type certOptKey struct { + key crypto.Signer +} + +func (*certOptKey) privateCertOpt() {} + +// WithTemplate creates an option for specifying a certificate template. +// See x509.CreateCertificate for template usage details. +// +// In TLSSNIxChallengeCert methods, the template is also used as parent, +// resulting in a self-signed certificate. +// The DNSNames field of t is always overwritten for tls-sni challenge certs. +func WithTemplate(t *x509.Certificate) CertOption { + return (*certOptTemplate)(t) +} + +type certOptTemplate x509.Certificate + +func (*certOptTemplate) privateCertOpt() {} diff --git a/vendor/golang.org/x/crypto/blake2b/blake2b_test.go b/vendor/golang.org/x/crypto/blake2b/blake2b_test.go index 4aa49579a..5d68bbf60 100644 --- a/vendor/golang.org/x/crypto/blake2b/blake2b_test.go +++ b/vendor/golang.org/x/crypto/blake2b/blake2b_test.go @@ -126,7 +126,7 @@ func testHashes2X(t *testing.T) { t.Fatalf("#%d (single write): error from Read: %v", i, err) } if n, err := h.Read(sum); n != 0 || err != io.EOF { - t.Fatalf("#%d (single write): Read did not return (0, os.EOF) after exhaustion, got (%v, %v)", i, n, err) + t.Fatalf("#%d (single write): Read did not return (0, io.EOF) after exhaustion, got (%v, %v)", i, n, err) } if gotHex := fmt.Sprintf("%x", sum); gotHex != expectedHex { t.Fatalf("#%d (single write): got %s, wanted %s", i, gotHex, expectedHex) diff --git a/vendor/golang.org/x/crypto/chacha20poly1305/internal/chacha20/chacha_generic.go b/vendor/golang.org/x/crypto/chacha20poly1305/internal/chacha20/chacha_generic.go index f9e8a3a2f..0f8efdbaa 100644 --- a/vendor/golang.org/x/crypto/chacha20poly1305/internal/chacha20/chacha_generic.go +++ b/vendor/golang.org/x/crypto/chacha20poly1305/internal/chacha20/chacha_generic.go @@ -167,9 +167,8 @@ func core(out *[64]byte, in *[16]byte, k *[32]byte) { } // XORKeyStream crypts bytes from in to out using the given key and counters. -// In and out may be the same slice but otherwise should not overlap. Counter -// contains the raw ChaCha20 counter bytes (i.e. block counter followed by -// nonce). +// In and out must overlap entirely or not at all. Counter contains the raw +// ChaCha20 counter bytes (i.e. block counter followed by nonce). func XORKeyStream(out, in []byte, counter *[16]byte, key *[32]byte) { var block [64]byte var counterCopy [16]byte diff --git a/vendor/golang.org/x/crypto/cryptobyte/asn1.go b/vendor/golang.org/x/crypto/cryptobyte/asn1.go index 166e22d7b..88ec8b4fb 100644 --- a/vendor/golang.org/x/crypto/cryptobyte/asn1.go +++ b/vendor/golang.org/x/crypto/cryptobyte/asn1.go @@ -5,40 +5,30 @@ package cryptobyte import ( - "encoding/asn1" + encoding_asn1 "encoding/asn1" "fmt" "math/big" "reflect" "time" + + "golang.org/x/crypto/cryptobyte/asn1" ) // This file contains ASN.1-related methods for String and Builder. -// Tag represents an ASN.1 tag number and class (together also referred to as -// identifier octets). Methods in this package only support the low-tag-number -// form, i.e. a single identifier octet with bits 7-8 encoding the class and -// bits 1-6 encoding the tag number. -type Tag uint8 - -// Contructed returns t with the context-specific class bit set. -func (t Tag) ContextSpecific() Tag { return t | 0x80 } - -// Contructed returns t with the constructed class bit set. -func (t Tag) Constructed() Tag { return t | 0x20 } - // Builder // AddASN1Int64 appends a DER-encoded ASN.1 INTEGER. func (b *Builder) AddASN1Int64(v int64) { - b.addASN1Signed(asn1.TagInteger, v) + b.addASN1Signed(asn1.INTEGER, v) } // AddASN1Enum appends a DER-encoded ASN.1 ENUMERATION. func (b *Builder) AddASN1Enum(v int64) { - b.addASN1Signed(asn1.TagEnum, v) + b.addASN1Signed(asn1.ENUM, v) } -func (b *Builder) addASN1Signed(tag Tag, v int64) { +func (b *Builder) addASN1Signed(tag asn1.Tag, v int64) { b.AddASN1(tag, func(c *Builder) { length := 1 for i := v; i >= 0x80 || i < -0x80; i >>= 8 { @@ -54,7 +44,7 @@ func (b *Builder) addASN1Signed(tag Tag, v int64) { // AddASN1Uint64 appends a DER-encoded ASN.1 INTEGER. func (b *Builder) AddASN1Uint64(v uint64) { - b.AddASN1(asn1.TagInteger, func(c *Builder) { + b.AddASN1(asn1.INTEGER, func(c *Builder) { length := 1 for i := v; i >= 0x80; i >>= 8 { length++ @@ -73,7 +63,7 @@ func (b *Builder) AddASN1BigInt(n *big.Int) { return } - b.AddASN1(asn1.TagInteger, func(c *Builder) { + b.AddASN1(asn1.INTEGER, func(c *Builder) { if n.Sign() < 0 { // A negative number has to be converted to two's-complement form. So we // invert and subtract 1. If the most-significant-bit isn't set then @@ -103,7 +93,7 @@ func (b *Builder) AddASN1BigInt(n *big.Int) { // AddASN1OctetString appends a DER-encoded ASN.1 OCTET STRING. func (b *Builder) AddASN1OctetString(bytes []byte) { - b.AddASN1(asn1.TagOctetString, func(c *Builder) { + b.AddASN1(asn1.OCTET_STRING, func(c *Builder) { c.AddBytes(bytes) }) } @@ -116,27 +106,97 @@ func (b *Builder) AddASN1GeneralizedTime(t time.Time) { b.err = fmt.Errorf("cryptobyte: cannot represent %v as a GeneralizedTime", t) return } - b.AddASN1(asn1.TagGeneralizedTime, func(c *Builder) { + b.AddASN1(asn1.GeneralizedTime, func(c *Builder) { c.AddBytes([]byte(t.Format(generalizedTimeFormatStr))) }) } -// AddASN1BitString appends a DER-encoded ASN.1 BIT STRING. -func (b *Builder) AddASN1BitString(s asn1.BitString) { - // TODO(martinkr): Implement. - b.MarshalASN1(s) +// AddASN1BitString appends a DER-encoded ASN.1 BIT STRING. This does not +// support BIT STRINGs that are not a whole number of bytes. +func (b *Builder) AddASN1BitString(data []byte) { + b.AddASN1(asn1.BIT_STRING, func(b *Builder) { + b.AddUint8(0) + b.AddBytes(data) + }) } -// MarshalASN1 calls asn1.Marshal on its input and appends the result if +func (b *Builder) addBase128Int(n int64) { + var length int + if n == 0 { + length = 1 + } else { + for i := n; i > 0; i >>= 7 { + length++ + } + } + + for i := length - 1; i >= 0; i-- { + o := byte(n >> uint(i*7)) + o &= 0x7f + if i != 0 { + o |= 0x80 + } + + b.add(o) + } +} + +func isValidOID(oid encoding_asn1.ObjectIdentifier) bool { + if len(oid) < 2 { + return false + } + + if oid[0] > 2 || (oid[0] <= 1 && oid[1] >= 40) { + return false + } + + for _, v := range oid { + if v < 0 { + return false + } + } + + return true +} + +func (b *Builder) AddASN1ObjectIdentifier(oid encoding_asn1.ObjectIdentifier) { + b.AddASN1(asn1.OBJECT_IDENTIFIER, func(b *Builder) { + if !isValidOID(oid) { + b.err = fmt.Errorf("cryptobyte: invalid OID: %v", oid) + return + } + + b.addBase128Int(int64(oid[0])*40 + int64(oid[1])) + for _, v := range oid[2:] { + b.addBase128Int(int64(v)) + } + }) +} + +func (b *Builder) AddASN1Boolean(v bool) { + b.AddASN1(asn1.BOOLEAN, func(b *Builder) { + if v { + b.AddUint8(0xff) + } else { + b.AddUint8(0) + } + }) +} + +func (b *Builder) AddASN1NULL() { + b.add(uint8(asn1.NULL), 0) +} + +// MarshalASN1 calls encoding_asn1.Marshal on its input and appends the result if // successful or records an error if one occurred. func (b *Builder) MarshalASN1(v interface{}) { // NOTE(martinkr): This is somewhat of a hack to allow propagation of - // asn1.Marshal errors into Builder.err. N.B. if you call MarshalASN1 with a + // encoding_asn1.Marshal errors into Builder.err. N.B. if you call MarshalASN1 with a // value embedded into a struct, its tag information is lost. if b.err != nil { return } - bytes, err := asn1.Marshal(v) + bytes, err := encoding_asn1.Marshal(v) if err != nil { b.err = err return @@ -148,7 +208,7 @@ func (b *Builder) MarshalASN1(v interface{}) { // Tags greater than 30 are not supported and result in an error (i.e. // low-tag-number form only). The child builder passed to the // BuilderContinuation can be used to build the content of the ASN.1 object. -func (b *Builder) AddASN1(tag Tag, f BuilderContinuation) { +func (b *Builder) AddASN1(tag asn1.Tag, f BuilderContinuation) { if b.err != nil { return } @@ -164,6 +224,24 @@ func (b *Builder) AddASN1(tag Tag, f BuilderContinuation) { // String +func (s *String) ReadASN1Boolean(out *bool) bool { + var bytes String + if !s.ReadASN1(&bytes, asn1.INTEGER) || len(bytes) != 1 { + return false + } + + switch bytes[0] { + case 0: + *out = false + case 0xff: + *out = true + default: + return false + } + + return true +} + var bigIntType = reflect.TypeOf((*big.Int)(nil)).Elem() // ReadASN1Integer decodes an ASN.1 INTEGER into out and advances. If out does @@ -215,7 +293,7 @@ var bigOne = big.NewInt(1) func (s *String) readASN1BigInt(out *big.Int) bool { var bytes String - if !s.ReadASN1(&bytes, asn1.TagInteger) || !checkASN1Integer(bytes) { + if !s.ReadASN1(&bytes, asn1.INTEGER) || !checkASN1Integer(bytes) { return false } if bytes[0]&0x80 == 0x80 { @@ -235,7 +313,7 @@ func (s *String) readASN1BigInt(out *big.Int) bool { func (s *String) readASN1Int64(out *int64) bool { var bytes String - if !s.ReadASN1(&bytes, asn1.TagInteger) || !checkASN1Integer(bytes) || !asn1Signed(out, bytes) { + if !s.ReadASN1(&bytes, asn1.INTEGER) || !checkASN1Integer(bytes) || !asn1Signed(out, bytes) { return false } return true @@ -258,7 +336,7 @@ func asn1Signed(out *int64, n []byte) bool { func (s *String) readASN1Uint64(out *uint64) bool { var bytes String - if !s.ReadASN1(&bytes, asn1.TagInteger) || !checkASN1Integer(bytes) || !asn1Unsigned(out, bytes) { + if !s.ReadASN1(&bytes, asn1.INTEGER) || !checkASN1Integer(bytes) || !asn1Unsigned(out, bytes) { return false } return true @@ -286,7 +364,7 @@ func asn1Unsigned(out *uint64, n []byte) bool { func (s *String) ReadASN1Enum(out *int) bool { var bytes String var i int64 - if !s.ReadASN1(&bytes, asn1.TagEnum) || !checkASN1Integer(bytes) || !asn1Signed(&i, bytes) { + if !s.ReadASN1(&bytes, asn1.ENUM) || !checkASN1Integer(bytes) || !asn1Signed(&i, bytes) { return false } if int64(int(i)) != i { @@ -315,9 +393,9 @@ func (s *String) readBase128Int(out *int) bool { // ReadASN1ObjectIdentifier decodes an ASN.1 OBJECT IDENTIFIER into out and // advances. It returns true on success and false on error. -func (s *String) ReadASN1ObjectIdentifier(out *asn1.ObjectIdentifier) bool { +func (s *String) ReadASN1ObjectIdentifier(out *encoding_asn1.ObjectIdentifier) bool { var bytes String - if !s.ReadASN1(&bytes, asn1.TagOID) || len(bytes) == 0 { + if !s.ReadASN1(&bytes, asn1.OBJECT_IDENTIFIER) || len(bytes) == 0 { return false } @@ -356,7 +434,7 @@ func (s *String) ReadASN1ObjectIdentifier(out *asn1.ObjectIdentifier) bool { // advances. It returns true on success and false on error. func (s *String) ReadASN1GeneralizedTime(out *time.Time) bool { var bytes String - if !s.ReadASN1(&bytes, asn1.TagGeneralizedTime) { + if !s.ReadASN1(&bytes, asn1.GeneralizedTime) { return false } t := string(bytes) @@ -373,9 +451,9 @@ func (s *String) ReadASN1GeneralizedTime(out *time.Time) bool { // ReadASN1BitString decodes an ASN.1 BIT STRING into out and advances. It // returns true on success and false on error. -func (s *String) ReadASN1BitString(out *asn1.BitString) bool { +func (s *String) ReadASN1BitString(out *encoding_asn1.BitString) bool { var bytes String - if !s.ReadASN1(&bytes, asn1.TagBitString) || len(bytes) == 0 { + if !s.ReadASN1(&bytes, asn1.BIT_STRING) || len(bytes) == 0 { return false } @@ -392,10 +470,27 @@ func (s *String) ReadASN1BitString(out *asn1.BitString) bool { return true } +// ReadASN1BitString decodes an ASN.1 BIT STRING into out and advances. It is +// an error if the BIT STRING is not a whole number of bytes. This function +// returns true on success and false on error. +func (s *String) ReadASN1BitStringAsBytes(out *[]byte) bool { + var bytes String + if !s.ReadASN1(&bytes, asn1.BIT_STRING) || len(bytes) == 0 { + return false + } + + paddingBits := uint8(bytes[0]) + if paddingBits != 0 { + return false + } + *out = bytes[1:] + return true +} + // ReadASN1Bytes reads the contents of a DER-encoded ASN.1 element (not including // tag and length bytes) into out, and advances. The element must match the // given tag. It returns true on success and false on error. -func (s *String) ReadASN1Bytes(out *[]byte, tag Tag) bool { +func (s *String) ReadASN1Bytes(out *[]byte, tag asn1.Tag) bool { return s.ReadASN1((*String)(out), tag) } @@ -404,8 +499,8 @@ func (s *String) ReadASN1Bytes(out *[]byte, tag Tag) bool { // given tag. It returns true on success and false on error. // // Tags greater than 30 are not supported (i.e. low-tag-number format only). -func (s *String) ReadASN1(out *String, tag Tag) bool { - var t Tag +func (s *String) ReadASN1(out *String, tag asn1.Tag) bool { + var t asn1.Tag if !s.ReadAnyASN1(out, &t) || t != tag { return false } @@ -417,8 +512,8 @@ func (s *String) ReadASN1(out *String, tag Tag) bool { // given tag. It returns true on success and false on error. // // Tags greater than 30 are not supported (i.e. low-tag-number format only). -func (s *String) ReadASN1Element(out *String, tag Tag) bool { - var t Tag +func (s *String) ReadASN1Element(out *String, tag asn1.Tag) bool { + var t asn1.Tag if !s.ReadAnyASN1Element(out, &t) || t != tag { return false } @@ -430,7 +525,7 @@ func (s *String) ReadASN1Element(out *String, tag Tag) bool { // returns true on success and false on error. // // Tags greater than 30 are not supported (i.e. low-tag-number format only). -func (s *String) ReadAnyASN1(out *String, outTag *Tag) bool { +func (s *String) ReadAnyASN1(out *String, outTag *asn1.Tag) bool { return s.readASN1(out, outTag, true /* skip header */) } @@ -439,24 +534,30 @@ func (s *String) ReadAnyASN1(out *String, outTag *Tag) bool { // advances. It returns true on success and false on error. // // Tags greater than 30 are not supported (i.e. low-tag-number format only). -func (s *String) ReadAnyASN1Element(out *String, outTag *Tag) bool { +func (s *String) ReadAnyASN1Element(out *String, outTag *asn1.Tag) bool { return s.readASN1(out, outTag, false /* include header */) } // PeekASN1Tag returns true if the next ASN.1 value on the string starts with // the given tag. -func (s String) PeekASN1Tag(tag Tag) bool { +func (s String) PeekASN1Tag(tag asn1.Tag) bool { if len(s) == 0 { return false } - return Tag(s[0]) == tag + return asn1.Tag(s[0]) == tag } -// ReadOptionalASN1 attempts to read the contents of a DER-encoded ASN.Element -// (not including tag and length bytes) tagged with the given tag into out. It -// stores whether an element with the tag was found in outPresent, unless -// outPresent is nil. It returns true on success and false on error. -func (s *String) ReadOptionalASN1(out *String, outPresent *bool, tag Tag) bool { +// SkipASN1 reads and discards an ASN.1 element with the given tag. +func (s *String) SkipASN1(tag asn1.Tag) bool { + var unused String + return s.ReadASN1(&unused, tag) +} + +// ReadOptionalASN1 attempts to read the contents of a DER-encoded ASN.1 +// element (not including tag and length bytes) tagged with the given tag into +// out. It stores whether an element with the tag was found in outPresent, +// unless outPresent is nil. It returns true on success and false on error. +func (s *String) ReadOptionalASN1(out *String, outPresent *bool, tag asn1.Tag) bool { present := s.PeekASN1Tag(tag) if outPresent != nil { *outPresent = present @@ -467,12 +568,22 @@ func (s *String) ReadOptionalASN1(out *String, outPresent *bool, tag Tag) bool { return true } +// SkipOptionalASN1 advances s over an ASN.1 element with the given tag, or +// else leaves s unchanged. +func (s *String) SkipOptionalASN1(tag asn1.Tag) bool { + if !s.PeekASN1Tag(tag) { + return true + } + var unused String + return s.ReadASN1(&unused, tag) +} + // ReadOptionalASN1Integer attempts to read an optional ASN.1 INTEGER // explicitly tagged with tag into out and advances. If no element with a // matching tag is present, it writes defaultValue into out instead. If out // does not point to an integer or to a big.Int, it panics. It returns true on // success and false on error. -func (s *String) ReadOptionalASN1Integer(out interface{}, tag Tag, defaultValue interface{}) bool { +func (s *String) ReadOptionalASN1Integer(out interface{}, tag asn1.Tag, defaultValue interface{}) bool { if reflect.TypeOf(out).Kind() != reflect.Ptr { panic("out is not a pointer") } @@ -510,7 +621,7 @@ func (s *String) ReadOptionalASN1Integer(out interface{}, tag Tag, defaultValue // explicitly tagged with tag into out and advances. If no element with a // matching tag is present, it writes defaultValue into out instead. It returns // true on success and false on error. -func (s *String) ReadOptionalASN1OctetString(out *[]byte, outPresent *bool, tag Tag) bool { +func (s *String) ReadOptionalASN1OctetString(out *[]byte, outPresent *bool, tag asn1.Tag) bool { var present bool var child String if !s.ReadOptionalASN1(&child, &present, tag) { @@ -521,7 +632,7 @@ func (s *String) ReadOptionalASN1OctetString(out *[]byte, outPresent *bool, tag } if present { var oct String - if !child.ReadASN1(&oct, asn1.TagOctetString) || !child.Empty() { + if !child.ReadASN1(&oct, asn1.OCTET_STRING) || !child.Empty() { return false } *out = oct @@ -531,7 +642,24 @@ func (s *String) ReadOptionalASN1OctetString(out *[]byte, outPresent *bool, tag return true } -func (s *String) readASN1(out *String, outTag *Tag, skipHeader bool) bool { +// ReadOptionalASN1Boolean sets *out to the value of the next ASN.1 BOOLEAN or, +// if the next bytes are not an ASN.1 BOOLEAN, to the value of defaultValue. +func (s *String) ReadOptionalASN1Boolean(out *bool, defaultValue bool) bool { + var present bool + var child String + if !s.ReadOptionalASN1(&child, &present, asn1.BOOLEAN) { + return false + } + + if !present { + *out = defaultValue + return true + } + + return s.ReadASN1Boolean(out) +} + +func (s *String) readASN1(out *String, outTag *asn1.Tag, skipHeader bool) bool { if len(*s) < 2 { return false } @@ -547,7 +675,7 @@ func (s *String) readASN1(out *String, outTag *Tag, skipHeader bool) bool { } if outTag != nil { - *outTag = Tag(tag) + *outTag = asn1.Tag(tag) } // ITU-T X.690 section 8.1.3 diff --git a/vendor/golang.org/x/crypto/cryptobyte/asn1/asn1.go b/vendor/golang.org/x/crypto/cryptobyte/asn1/asn1.go new file mode 100644 index 000000000..cda8e3edf --- /dev/null +++ b/vendor/golang.org/x/crypto/cryptobyte/asn1/asn1.go @@ -0,0 +1,46 @@ +// Copyright 2017 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 asn1 contains supporting types for parsing and building ASN.1 +// messages with the cryptobyte package. +package asn1 // import "golang.org/x/crypto/cryptobyte/asn1" + +// Tag represents an ASN.1 identifier octet, consisting of a tag number +// (indicating a type) and class (such as context-specific or constructed). +// +// Methods in the cryptobyte package only support the low-tag-number form, i.e. +// a single identifier octet with bits 7-8 encoding the class and bits 1-6 +// encoding the tag number. +type Tag uint8 + +const ( + classConstructed = 0x20 + classContextSpecific = 0x80 +) + +// Constructed returns t with the constructed class bit set. +func (t Tag) Constructed() Tag { return t | classConstructed } + +// ContextSpecific returns t with the context-specific class bit set. +func (t Tag) ContextSpecific() Tag { return t | classContextSpecific } + +// The following is a list of standard tag and class combinations. +const ( + BOOLEAN = Tag(1) + INTEGER = Tag(2) + BIT_STRING = Tag(3) + OCTET_STRING = Tag(4) + NULL = Tag(5) + OBJECT_IDENTIFIER = Tag(6) + ENUM = Tag(10) + UTF8String = Tag(12) + SEQUENCE = Tag(16 | classConstructed) + SET = Tag(17 | classConstructed) + PrintableString = Tag(19) + T61String = Tag(20) + IA5String = Tag(22) + UTCTime = Tag(23) + GeneralizedTime = Tag(24) + GeneralString = Tag(27) +) diff --git a/vendor/golang.org/x/crypto/cryptobyte/asn1_test.go b/vendor/golang.org/x/crypto/cryptobyte/asn1_test.go index c8c187032..ee6674a2f 100644 --- a/vendor/golang.org/x/crypto/cryptobyte/asn1_test.go +++ b/vendor/golang.org/x/crypto/cryptobyte/asn1_test.go @@ -6,17 +6,19 @@ package cryptobyte import ( "bytes" - "encoding/asn1" + encoding_asn1 "encoding/asn1" "math/big" "reflect" "testing" "time" + + "golang.org/x/crypto/cryptobyte/asn1" ) type readASN1Test struct { name string in []byte - tag Tag + tag asn1.Tag ok bool out interface{} } @@ -194,7 +196,7 @@ func TestReadASN1IntegerInvalid(t *testing.T) { } } -func TestReadASN1ObjectIdentifier(t *testing.T) { +func TestASN1ObjectIdentifier(t *testing.T) { testData := []struct { in []byte ok bool @@ -212,10 +214,23 @@ func TestReadASN1ObjectIdentifier(t *testing.T) { for i, test := range testData { in := String(test.in) - var out asn1.ObjectIdentifier + var out encoding_asn1.ObjectIdentifier ok := in.ReadASN1ObjectIdentifier(&out) if ok != test.ok || ok && !out.Equal(test.out) { t.Errorf("#%d: in.ReadASN1ObjectIdentifier() = %v, want %v; out = %v, want %v", i, ok, test.ok, out, test.out) + continue + } + + var b Builder + b.AddASN1ObjectIdentifier(out) + result, err := b.Bytes() + if builderOk := err == nil; test.ok != builderOk { + t.Errorf("#%d: error from Builder.Bytes: %s", i, err) + continue + } + if test.ok && !bytes.Equal(result, test.in) { + t.Errorf("#%d: reserialisation didn't match, got %x, want %x", i, result, test.in) + continue } } } @@ -250,7 +265,7 @@ func TestReadASN1GeneralizedTime(t *testing.T) { {"201001020304-10Z", false, time.Time{}}, } for i, test := range testData { - in := String(append([]byte{asn1.TagGeneralizedTime, byte(len(test.in))}, test.in...)) + in := String(append([]byte{byte(asn1.GeneralizedTime), byte(len(test.in))}, test.in...)) var out time.Time ok := in.ReadASN1GeneralizedTime(&out) if ok != test.ok || ok && !reflect.DeepEqual(out, test.out) { @@ -263,20 +278,20 @@ func TestReadASN1BitString(t *testing.T) { testData := []struct { in []byte ok bool - out asn1.BitString + out encoding_asn1.BitString }{ - {[]byte{}, false, asn1.BitString{}}, - {[]byte{0x00}, true, asn1.BitString{}}, - {[]byte{0x07, 0x00}, true, asn1.BitString{Bytes: []byte{0}, BitLength: 1}}, - {[]byte{0x07, 0x01}, false, asn1.BitString{}}, - {[]byte{0x07, 0x40}, false, asn1.BitString{}}, - {[]byte{0x08, 0x00}, false, asn1.BitString{}}, - {[]byte{0xff}, false, asn1.BitString{}}, - {[]byte{0xfe, 0x00}, false, asn1.BitString{}}, + {[]byte{}, false, encoding_asn1.BitString{}}, + {[]byte{0x00}, true, encoding_asn1.BitString{}}, + {[]byte{0x07, 0x00}, true, encoding_asn1.BitString{Bytes: []byte{0}, BitLength: 1}}, + {[]byte{0x07, 0x01}, false, encoding_asn1.BitString{}}, + {[]byte{0x07, 0x40}, false, encoding_asn1.BitString{}}, + {[]byte{0x08, 0x00}, false, encoding_asn1.BitString{}}, + {[]byte{0xff}, false, encoding_asn1.BitString{}}, + {[]byte{0xfe, 0x00}, false, encoding_asn1.BitString{}}, } for i, test := range testData { in := String(append([]byte{3, byte(len(test.in))}, test.in...)) - var out asn1.BitString + var out encoding_asn1.BitString ok := in.ReadASN1BitString(&out) if ok != test.ok || ok && (!bytes.Equal(out.Bytes, test.out.Bytes) || out.BitLength != test.out.BitLength) { t.Errorf("#%d: in.ReadASN1BitString() = %v, want %v; out = %v, want %v", i, ok, test.ok, out, test.out) diff --git a/vendor/golang.org/x/crypto/cryptobyte/builder.go b/vendor/golang.org/x/crypto/cryptobyte/builder.go index 9883fb3c3..29b4c7641 100644 --- a/vendor/golang.org/x/crypto/cryptobyte/builder.go +++ b/vendor/golang.org/x/crypto/cryptobyte/builder.go @@ -10,15 +10,25 @@ import ( ) // A Builder builds byte strings from fixed-length and length-prefixed values. +// Builders either allocate space as needed, or are ‘fixed’, which means that +// they write into a given buffer and produce an error if it's exhausted. +// // The zero value is a usable Builder that allocates space as needed. +// +// Simple values are marshaled and appended to a Builder using methods on the +// Builder. Length-prefixed values are marshaled by providing a +// BuilderContinuation, which is a function that writes the inner contents of +// the value to a given Builder. See the documentation for BuilderContinuation +// for details. type Builder struct { - err error - result []byte - fixedSize bool - child *Builder - offset int - pendingLenLen int - pendingIsASN1 bool + err error + result []byte + fixedSize bool + child *Builder + offset int + pendingLenLen int + pendingIsASN1 bool + inContinuation *bool } // NewBuilder creates a Builder that appends its output to the given buffer. @@ -86,9 +96,9 @@ func (b *Builder) AddBytes(v []byte) { // BuilderContinuation is continuation-passing interface for building // length-prefixed byte sequences. Builder methods for length-prefixed -// sequences (AddUint8LengthPrefixed etc.) will invoke the BuilderContinuation +// sequences (AddUint8LengthPrefixed etc) will invoke the BuilderContinuation // supplied to them. The child builder passed to the continuation can be used -// to build the content of the length-prefixed sequence. Example: +// to build the content of the length-prefixed sequence. For example: // // parent := cryptobyte.NewBuilder() // parent.AddUint8LengthPrefixed(func (child *Builder) { @@ -102,8 +112,19 @@ func (b *Builder) AddBytes(v []byte) { // length prefix. After the continuation returns, the child must be considered // invalid, i.e. users must not store any copies or references of the child // that outlive the continuation. +// +// If the continuation panics with a value of type BuildError then the inner +// error will be returned as the error from Bytes. If the child panics +// otherwise then Bytes will repanic with the same value. type BuilderContinuation func(child *Builder) +// BuildError wraps an error. If a BuilderContinuation panics with this value, +// the panic will be recovered and the inner error will be returned from +// Builder.Bytes. +type BuildError struct { + Err error +} + // AddUint8LengthPrefixed adds a 8-bit length-prefixed byte sequence. func (b *Builder) AddUint8LengthPrefixed(f BuilderContinuation) { b.addLengthPrefixed(1, false, f) @@ -119,6 +140,34 @@ func (b *Builder) AddUint24LengthPrefixed(f BuilderContinuation) { b.addLengthPrefixed(3, false, f) } +// AddUint32LengthPrefixed adds a big-endian, 32-bit length-prefixed byte sequence. +func (b *Builder) AddUint32LengthPrefixed(f BuilderContinuation) { + b.addLengthPrefixed(4, false, f) +} + +func (b *Builder) callContinuation(f BuilderContinuation, arg *Builder) { + if !*b.inContinuation { + *b.inContinuation = true + + defer func() { + *b.inContinuation = false + + r := recover() + if r == nil { + return + } + + if buildError, ok := r.(BuildError); ok { + b.err = buildError.Err + } else { + panic(r) + } + }() + } + + f(arg) +} + func (b *Builder) addLengthPrefixed(lenLen int, isASN1 bool, f BuilderContinuation) { // Subsequent writes can be ignored if the builder has encountered an error. if b.err != nil { @@ -128,15 +177,20 @@ func (b *Builder) addLengthPrefixed(lenLen int, isASN1 bool, f BuilderContinuati offset := len(b.result) b.add(make([]byte, lenLen)...) - b.child = &Builder{ - result: b.result, - fixedSize: b.fixedSize, - offset: offset, - pendingLenLen: lenLen, - pendingIsASN1: isASN1, + if b.inContinuation == nil { + b.inContinuation = new(bool) } - f(b.child) + b.child = &Builder{ + result: b.result, + fixedSize: b.fixedSize, + offset: offset, + pendingLenLen: lenLen, + pendingIsASN1: isASN1, + inContinuation: b.inContinuation, + } + + b.callContinuation(f, b.child) b.flushChild() if b.child != nil { panic("cryptobyte: internal error") diff --git a/vendor/golang.org/x/crypto/cryptobyte/cryptobyte_test.go b/vendor/golang.org/x/crypto/cryptobyte/cryptobyte_test.go index 49c61dca4..f294dd552 100644 --- a/vendor/golang.org/x/crypto/cryptobyte/cryptobyte_test.go +++ b/vendor/golang.org/x/crypto/cryptobyte/cryptobyte_test.go @@ -6,6 +6,7 @@ package cryptobyte import ( "bytes" + "errors" "fmt" "testing" ) @@ -18,6 +19,54 @@ func builderBytesEq(b *Builder, want ...byte) error { return nil } +func TestContinuationError(t *testing.T) { + const errorStr = "TestContinuationError" + var b Builder + b.AddUint8LengthPrefixed(func(b *Builder) { + b.AddUint8(1) + panic(BuildError{Err: errors.New(errorStr)}) + }) + + ret, err := b.Bytes() + if ret != nil { + t.Error("expected nil result") + } + if err == nil { + t.Fatal("unexpected nil error") + } + if s := err.Error(); s != errorStr { + t.Errorf("expected error %q, got %v", errorStr, s) + } +} + +func TestContinuationNonError(t *testing.T) { + defer func() { + recover() + }() + + var b Builder + b.AddUint8LengthPrefixed(func(b *Builder) { + b.AddUint8(1) + panic(1) + }) + + t.Error("Builder did not panic") +} + +func TestGeneratedPanic(t *testing.T) { + defer func() { + recover() + }() + + var b Builder + b.AddUint8LengthPrefixed(func(b *Builder) { + var p *byte + *p = 0 + }) + + t.Error("Builder did not panic") +} + func TestBytes(t *testing.T) { var b Builder v := []byte("foobarbaz") diff --git a/vendor/golang.org/x/crypto/cryptobyte/example_test.go b/vendor/golang.org/x/crypto/cryptobyte/example_test.go index 7d3c06e12..86c098adf 100644 --- a/vendor/golang.org/x/crypto/cryptobyte/example_test.go +++ b/vendor/golang.org/x/crypto/cryptobyte/example_test.go @@ -5,9 +5,11 @@ package cryptobyte_test import ( - "encoding/asn1" + "errors" "fmt" + "golang.org/x/crypto/cryptobyte" + "golang.org/x/crypto/cryptobyte/asn1" ) func ExampleString_lengthPrefixed() { @@ -37,7 +39,7 @@ func ExampleString_lengthPrefixed() { fmt.Printf("%#v\n", result) } -func ExampleString_asn1() { +func ExampleString_aSN1() { // This is an example of parsing ASN.1 data that looks like: // Foo ::= SEQUENCE { // version [6] INTEGER DEFAULT 0 @@ -51,12 +53,12 @@ func ExampleString_asn1() { data, inner, versionBytes cryptobyte.String haveVersion bool ) - if !input.ReadASN1(&inner, cryptobyte.Tag(asn1.TagSequence).Constructed()) || + if !input.ReadASN1(&inner, asn1.SEQUENCE) || !input.Empty() || - !inner.ReadOptionalASN1(&versionBytes, &haveVersion, cryptobyte.Tag(6).Constructed().ContextSpecific()) || + !inner.ReadOptionalASN1(&versionBytes, &haveVersion, asn1.Tag(6).Constructed().ContextSpecific()) || (haveVersion && !versionBytes.ReadASN1Integer(&version)) || (haveVersion && !versionBytes.Empty()) || - !inner.ReadASN1(&data, asn1.TagOctetString) || + !inner.ReadASN1(&data, asn1.OCTET_STRING) || !inner.Empty() { panic("bad format") } @@ -65,7 +67,7 @@ func ExampleString_asn1() { fmt.Printf("haveVersion: %t, version: %d, data: %s\n", haveVersion, version, string(data)) } -func ExampleBuilder_asn1() { +func ExampleBuilder_aSN1() { // This is an example of building ASN.1 data that looks like: // Foo ::= SEQUENCE { // version [6] INTEGER DEFAULT 0 @@ -77,9 +79,9 @@ func ExampleBuilder_asn1() { const defaultVersion = 0 var b cryptobyte.Builder - b.AddASN1(cryptobyte.Tag(asn1.TagSequence).Constructed(), func(b *cryptobyte.Builder) { + b.AddASN1(asn1.SEQUENCE, func(b *cryptobyte.Builder) { if version != defaultVersion { - b.AddASN1(cryptobyte.Tag(6).Constructed().ContextSpecific(), func(b *cryptobyte.Builder) { + b.AddASN1(asn1.Tag(6).Constructed().ContextSpecific(), func(b *cryptobyte.Builder) { b.AddASN1Int64(version) }) } @@ -118,3 +120,35 @@ func ExampleBuilder_lengthPrefixed() { // Output: 000c0568656c6c6f05776f726c64 fmt.Printf("%x\n", result) } + +func ExampleBuilder_lengthPrefixOverflow() { + // Writing more data that can be expressed by the length prefix results + // in an error from Bytes(). + + tooLarge := make([]byte, 256) + + var b cryptobyte.Builder + b.AddUint8LengthPrefixed(func(b *cryptobyte.Builder) { + b.AddBytes(tooLarge) + }) + + result, err := b.Bytes() + fmt.Printf("len=%d err=%s\n", len(result), err) + + // Output: len=0 err=cryptobyte: pending child length 256 exceeds 1-byte length prefix +} + +func ExampleBuilderContinuation_errorHandling() { + var b cryptobyte.Builder + // Continuations that panic with a BuildError will cause Bytes to + // return the inner error. + b.AddUint16LengthPrefixed(func(b *cryptobyte.Builder) { + b.AddUint32(0) + panic(cryptobyte.BuildError{Err: errors.New("example error")}) + }) + + result, err := b.Bytes() + fmt.Printf("len=%d err=%s\n", len(result), err) + + // Output: len=0 err=example error +} diff --git a/vendor/golang.org/x/crypto/cryptobyte/string.go b/vendor/golang.org/x/crypto/cryptobyte/string.go index 678033611..7636fb9c8 100644 --- a/vendor/golang.org/x/crypto/cryptobyte/string.go +++ b/vendor/golang.org/x/crypto/cryptobyte/string.go @@ -2,9 +2,19 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// Package cryptobyte implements building and parsing of byte strings for -// DER-encoded ASN.1 and TLS messages. See the examples for the Builder and -// String types to get started. +// Package cryptobyte contains types that help with parsing and constructing +// length-prefixed, binary messages, including ASN.1 DER. (The asn1 subpackage +// contains useful ASN.1 constants.) +// +// The String type is for parsing. It wraps a []byte slice and provides helper +// functions for consuming structures, value by value. +// +// The Builder type is for constructing messages. It providers helper functions +// for appending values and also for appending length-prefixed submessages – +// without having to worry about calculating the length prefix ahead of time. +// +// See the documentation and examples for the Builder and String types to get +// started. package cryptobyte // import "golang.org/x/crypto/cryptobyte" // String represents a string of bytes. It provides methods for parsing diff --git a/vendor/golang.org/x/crypto/curve25519/curve25519.go b/vendor/golang.org/x/crypto/curve25519/curve25519.go index 2d14c2a78..cb8fbc57b 100644 --- a/vendor/golang.org/x/crypto/curve25519/curve25519.go +++ b/vendor/golang.org/x/crypto/curve25519/curve25519.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. -// We have a implementation in amd64 assembly so this code is only run on +// We have an implementation in amd64 assembly so this code is only run on // non-amd64 platforms. The amd64 assembly does not support gccgo. // +build !amd64 gccgo appengine diff --git a/vendor/golang.org/x/crypto/ed25519/ed25519.go b/vendor/golang.org/x/crypto/ed25519/ed25519.go index 9b07accb6..16cd38546 100644 --- a/vendor/golang.org/x/crypto/ed25519/ed25519.go +++ b/vendor/golang.org/x/crypto/ed25519/ed25519.go @@ -13,10 +13,10 @@ package ed25519 // from SUPERCOP. import ( + "bytes" "crypto" cryptorand "crypto/rand" "crypto/sha512" - "crypto/subtle" "errors" "io" "strconv" @@ -177,5 +177,5 @@ func Verify(publicKey PublicKey, message, sig []byte) bool { var checkR [32]byte R.ToBytes(&checkR) - return subtle.ConstantTimeCompare(sig[:32], checkR[:]) == 1 + return bytes.Equal(sig[:32], checkR[:]) } diff --git a/vendor/golang.org/x/crypto/nacl/auth/auth.go b/vendor/golang.org/x/crypto/nacl/auth/auth.go new file mode 100644 index 000000000..0835d3bf9 --- /dev/null +++ b/vendor/golang.org/x/crypto/nacl/auth/auth.go @@ -0,0 +1,58 @@ +// Copyright 2017 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 auth authenticates a message using a secret key. + +The Sum function, viewed as a function of the message for a uniform random +key, is designed to meet the standard notion of unforgeability. This means +that an attacker cannot find authenticators for any messages not authenticated +by the sender, even if the attacker has adaptively influenced the messages +authenticated by the sender. For a formal definition see, e.g., Section 2.4 +of Bellare, Kilian, and Rogaway, "The security of the cipher block chaining +message authentication code," Journal of Computer and System Sciences 61 (2000), +362–399; http://www-cse.ucsd.edu/~mihir/papers/cbc.html. + +auth does not make any promises regarding "strong" unforgeability; perhaps +one valid authenticator can be converted into another valid authenticator for +the same message. NaCl also does not make any promises regarding "truncated +unforgeability." + +This package is interoperable with NaCl: https://nacl.cr.yp.to/auth.html. +*/ +package auth + +import ( + "crypto/hmac" + "crypto/sha512" +) + +const ( + // Size is the size, in bytes, of an authenticated digest. + Size = 32 + // KeySize is the size, in bytes, of an authentication key. + KeySize = 32 +) + +// Sum generates an authenticator for m using a secret key and returns the +// 32-byte digest. +func Sum(m []byte, key *[KeySize]byte) *[Size]byte { + mac := hmac.New(sha512.New, key[:]) + mac.Write(m) + out := new([KeySize]byte) + copy(out[:], mac.Sum(nil)[:Size]) + return out +} + +// Verify checks that digest is a valid authenticator of message m under the +// given secret key. Verify does not leak timing information. +func Verify(digest []byte, m []byte, key *[32]byte) bool { + if len(digest) != Size { + return false + } + mac := hmac.New(sha512.New, key[:]) + mac.Write(m) + expectedMAC := mac.Sum(nil) // first 256 bits of 512-bit sum + return hmac.Equal(digest, expectedMAC[:Size]) +} diff --git a/vendor/golang.org/x/crypto/nacl/auth/auth_test.go b/vendor/golang.org/x/crypto/nacl/auth/auth_test.go new file mode 100644 index 000000000..92074b50b --- /dev/null +++ b/vendor/golang.org/x/crypto/nacl/auth/auth_test.go @@ -0,0 +1,172 @@ +// Copyright 2017 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 auth + +import ( + "bytes" + rand "crypto/rand" + mrand "math/rand" + "testing" +) + +// Test cases are from RFC 4231, and match those present in the tests directory +// of the download here: https://nacl.cr.yp.to/install.html +var testCases = []struct { + key [32]byte + msg []byte + out [32]byte +}{ + { + key: [32]byte{ + 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, + 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, + 0x0b, 0x0b, 0x0b, 0x0b, + }, + msg: []byte("Hi There"), + out: [32]byte{ + 0x87, 0xaa, 0x7c, 0xde, 0xa5, 0xef, 0x61, 0x9d, + 0x4f, 0xf0, 0xb4, 0x24, 0x1a, 0x1d, 0x6c, 0xb0, + 0x23, 0x79, 0xf4, 0xe2, 0xce, 0x4e, 0xc2, 0x78, + 0x7a, 0xd0, 0xb3, 0x05, 0x45, 0xe1, 0x7c, 0xde, + }, + }, + { + key: [32]byte{'J', 'e', 'f', 'e'}, + msg: []byte("what do ya want for nothing?"), + out: [32]byte{ + 0x16, 0x4b, 0x7a, 0x7b, 0xfc, 0xf8, 0x19, 0xe2, + 0xe3, 0x95, 0xfb, 0xe7, 0x3b, 0x56, 0xe0, 0xa3, + 0x87, 0xbd, 0x64, 0x22, 0x2e, 0x83, 0x1f, 0xd6, + 0x10, 0x27, 0x0c, 0xd7, 0xea, 0x25, 0x05, 0x54, + }, + }, + { + key: [32]byte{ + 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, + 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, + 0xaa, 0xaa, 0xaa, 0xaa, + }, + msg: []byte{ // 50 bytes of 0xdd + 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, + 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, + 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, + 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, + 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, + 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, + 0xdd, 0xdd, + }, + out: [32]byte{ + 0xfa, 0x73, 0xb0, 0x08, 0x9d, 0x56, 0xa2, 0x84, + 0xef, 0xb0, 0xf0, 0x75, 0x6c, 0x89, 0x0b, 0xe9, + 0xb1, 0xb5, 0xdb, 0xdd, 0x8e, 0xe8, 0x1a, 0x36, + 0x55, 0xf8, 0x3e, 0x33, 0xb2, 0x27, 0x9d, 0x39, + }, + }, + { + key: [32]byte{ + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, + 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, + 0x19, + }, + msg: []byte{ + 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, + 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, + 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, + 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, + 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, + 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, + 0xcd, 0xcd, + }, + out: [32]byte{ + 0xb0, 0xba, 0x46, 0x56, 0x37, 0x45, 0x8c, 0x69, + 0x90, 0xe5, 0xa8, 0xc5, 0xf6, 0x1d, 0x4a, 0xf7, + 0xe5, 0x76, 0xd9, 0x7f, 0xf9, 0x4b, 0x87, 0x2d, + 0xe7, 0x6f, 0x80, 0x50, 0x36, 0x1e, 0xe3, 0xdb, + }, + }, +} + +func TestSum(t *testing.T) { + for i, test := range testCases { + tag := Sum(test.msg, &test.key) + if !bytes.Equal(tag[:], test.out[:]) { + t.Errorf("#%d: Sum: got\n%x\nwant\n%x", i, tag, test.out) + } + } +} + +func TestVerify(t *testing.T) { + wrongMsg := []byte("unknown msg") + + for i, test := range testCases { + if !Verify(test.out[:], test.msg, &test.key) { + t.Errorf("#%d: Verify(%x, %q, %x) failed", i, test.out, test.msg, test.key) + } + if Verify(test.out[:], wrongMsg, &test.key) { + t.Errorf("#%d: Verify(%x, %q, %x) unexpectedly passed", i, test.out, wrongMsg, test.key) + } + } +} + +func TestStress(t *testing.T) { + if testing.Short() { + t.Skip("exhaustiveness test") + } + + var key [32]byte + msg := make([]byte, 10000) + prng := mrand.New(mrand.NewSource(0)) + + // copied from tests/auth5.c in nacl + for i := 0; i < 10000; i++ { + if _, err := rand.Read(key[:]); err != nil { + t.Fatal(err) + } + if _, err := rand.Read(msg[:i]); err != nil { + t.Fatal(err) + } + tag := Sum(msg[:i], &key) + if !Verify(tag[:], msg[:i], &key) { + t.Errorf("#%d: unexpected failure from Verify", i) + } + if i > 0 { + msgIndex := prng.Intn(i) + oldMsgByte := msg[msgIndex] + msg[msgIndex] += byte(1 + prng.Intn(255)) + if Verify(tag[:], msg[:i], &key) { + t.Errorf("#%d: unexpected success from Verify after corrupting message", i) + } + msg[msgIndex] = oldMsgByte + + tag[prng.Intn(len(tag))] += byte(1 + prng.Intn(255)) + if Verify(tag[:], msg[:i], &key) { + t.Errorf("#%d: unexpected success from Verify after corrupting authenticator", i) + } + } + } +} + +func BenchmarkAuth(b *testing.B) { + var key [32]byte + if _, err := rand.Read(key[:]); err != nil { + b.Fatal(err) + } + buf := make([]byte, 1024) + if _, err := rand.Read(buf[:]); err != nil { + b.Fatal(err) + } + + b.SetBytes(int64(len(buf))) + b.ReportAllocs() + b.ResetTimer() + + for i := 0; i < b.N; i++ { + tag := Sum(buf, &key) + if Verify(tag[:], buf, &key) == false { + b.Fatal("unexpected failure from Verify") + } + } +} diff --git a/vendor/golang.org/x/crypto/nacl/auth/example_test.go b/vendor/golang.org/x/crypto/nacl/auth/example_test.go new file mode 100644 index 000000000..02a2cd6c4 --- /dev/null +++ b/vendor/golang.org/x/crypto/nacl/auth/example_test.go @@ -0,0 +1,36 @@ +// Copyright 2017 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 auth_test + +import ( + "encoding/hex" + "fmt" + + "golang.org/x/crypto/nacl/auth" +) + +func Example() { + // Load your secret key from a safe place and reuse it across multiple + // Sum calls. (Obviously don't use this example key for anything + // real.) If you want to convert a passphrase to a key, use a suitable + // package like bcrypt or scrypt. + secretKeyBytes, err := hex.DecodeString("6368616e676520746869732070617373776f726420746f206120736563726574") + if err != nil { + panic(err) + } + + var secretKey [32]byte + copy(secretKey[:], secretKeyBytes) + + mac := auth.Sum([]byte("hello world"), &secretKey) + fmt.Printf("%x\n", *mac) + result := auth.Verify(mac[:], []byte("hello world"), &secretKey) + fmt.Println(result) + badResult := auth.Verify(mac[:], []byte("different message"), &secretKey) + fmt.Println(badResult) + // Output: eca5a521f3d77b63f567fb0cb6f5f2d200641bc8dada42f60c5f881260c30317 + // true + // false +} diff --git a/vendor/golang.org/x/crypto/nacl/box/box.go b/vendor/golang.org/x/crypto/nacl/box/box.go index 7ed1864f7..31b697be4 100644 --- a/vendor/golang.org/x/crypto/nacl/box/box.go +++ b/vendor/golang.org/x/crypto/nacl/box/box.go @@ -3,7 +3,7 @@ // license that can be found in the LICENSE file. /* -Package box authenticates and encrypts messages using public-key cryptography. +Package box authenticates and encrypts small messages using public-key cryptography. Box uses Curve25519, XSalsa20 and Poly1305 to encrypt and authenticate messages. The length of messages is not hidden. @@ -13,6 +13,23 @@ example, by using nonce 1 for the first message, nonce 2 for the second message, etc. Nonces are long enough that randomly generated nonces have negligible risk of collision. +Messages should be small because: + +1. The whole message needs to be held in memory to be processed. + +2. Using large messages pressures implementations on small machines to decrypt +and process plaintext before authenticating it. This is very dangerous, and +this API does not allow it, but a protocol that uses excessive message sizes +might present some implementations with no other choice. + +3. Fixed overheads will be sufficiently amortised by messages as small as 8KB. + +4. Performance may be improved by working with messages that fit into data caches. + +Thus large amounts of data should be chunked so that each message is small. +(Each message still needs a unique nonce.) If in doubt, 16KB is a reasonable +chunk size. + This package is interoperable with NaCl: https://nacl.cr.yp.to/box.html. */ package box // import "golang.org/x/crypto/nacl/box" @@ -56,7 +73,7 @@ func Precompute(sharedKey, peersPublicKey, privateKey *[32]byte) { } // Seal appends an encrypted and authenticated copy of message to out, which -// will be Overhead bytes longer than the original and must not overlap. The +// will be Overhead bytes longer than the original and must not overlap it. The // nonce must be unique for each distinct message for a given pair of keys. func Seal(out, message []byte, nonce *[24]byte, peersPublicKey, privateKey *[32]byte) []byte { var sharedKey [32]byte diff --git a/vendor/golang.org/x/crypto/nacl/secretbox/secretbox.go b/vendor/golang.org/x/crypto/nacl/secretbox/secretbox.go index 1e1dff506..53ee83cfb 100644 --- a/vendor/golang.org/x/crypto/nacl/secretbox/secretbox.go +++ b/vendor/golang.org/x/crypto/nacl/secretbox/secretbox.go @@ -13,6 +13,23 @@ example, by using nonce 1 for the first message, nonce 2 for the second message, etc. Nonces are long enough that randomly generated nonces have negligible risk of collision. +Messages should be small because: + +1. The whole message needs to be held in memory to be processed. + +2. Using large messages pressures implementations on small machines to decrypt +and process plaintext before authenticating it. This is very dangerous, and +this API does not allow it, but a protocol that uses excessive message sizes +might present some implementations with no other choice. + +3. Fixed overheads will be sufficiently amortised by messages as small as 8KB. + +4. Performance may be improved by working with messages that fit into data caches. + +Thus large amounts of data should be chunked so that each message is small. +(Each message still needs a unique nonce.) If in doubt, 16KB is a reasonable +chunk size. + This package is interoperable with NaCl: https://nacl.cr.yp.to/secretbox.html. */ package secretbox // import "golang.org/x/crypto/nacl/secretbox" diff --git a/vendor/golang.org/x/crypto/openpgp/keys_test.go b/vendor/golang.org/x/crypto/openpgp/keys_test.go index f768e68a6..76ba13ed1 100644 --- a/vendor/golang.org/x/crypto/openpgp/keys_test.go +++ b/vendor/golang.org/x/crypto/openpgp/keys_test.go @@ -12,7 +12,10 @@ import ( ) func TestKeyExpiry(t *testing.T) { - kring, _ := ReadKeyRing(readerFromHex(expiringKeyHex)) + kring, err := ReadKeyRing(readerFromHex(expiringKeyHex)) + if err != nil { + t.Fatal(err) + } entity := kring[0] const timeFormat = "2006-01-02" @@ -104,7 +107,10 @@ func TestGoodCrossSignature(t *testing.T) { // TestExternallyRevokableKey attempts to load and parse a key with a third party revocation permission. func TestExternallyRevocableKey(t *testing.T) { - kring, _ := ReadKeyRing(readerFromHex(subkeyUsageHex)) + kring, err := ReadKeyRing(readerFromHex(subkeyUsageHex)) + if err != nil { + t.Fatal(err) + } // The 0xA42704B92866382A key can be revoked by 0xBE3893CB843D0FE70C // according to this signature that appears within the key: @@ -125,7 +131,10 @@ func TestExternallyRevocableKey(t *testing.T) { } func TestKeyRevocation(t *testing.T) { - kring, _ := ReadKeyRing(readerFromHex(revokedKeyHex)) + kring, err := ReadKeyRing(readerFromHex(revokedKeyHex)) + if err != nil { + t.Fatal(err) + } // revokedKeyHex contains these keys: // pub 1024R/9A34F7C0 2014-03-25 [revoked: 2014-03-25] @@ -145,7 +154,10 @@ func TestKeyRevocation(t *testing.T) { } func TestSubkeyRevocation(t *testing.T) { - kring, _ := ReadKeyRing(readerFromHex(revokedSubkeyHex)) + kring, err := ReadKeyRing(readerFromHex(revokedSubkeyHex)) + if err != nil { + t.Fatal(err) + } // revokedSubkeyHex contains these keys: // pub 1024R/4EF7E4BECCDE97F0 2014-03-25 @@ -178,7 +190,10 @@ func TestSubkeyRevocation(t *testing.T) { } func TestKeyUsage(t *testing.T) { - kring, _ := ReadKeyRing(readerFromHex(subkeyUsageHex)) + kring, err := ReadKeyRing(readerFromHex(subkeyUsageHex)) + if err != nil { + t.Fatal(err) + } // subkeyUsageHex contains these keys: // pub 1024R/2866382A created: 2014-04-01 expires: never usage: SC diff --git a/vendor/golang.org/x/crypto/openpgp/packet/private_key_test.go b/vendor/golang.org/x/crypto/openpgp/packet/private_key_test.go index c16ef78ab..ac651d917 100644 --- a/vendor/golang.org/x/crypto/openpgp/packet/private_key_test.go +++ b/vendor/golang.org/x/crypto/openpgp/packet/private_key_test.go @@ -228,7 +228,7 @@ func TestECDSASignerPrivateKey(t *testing.T) { priv := NewSignerPrivateKey(time.Now(), &ecdsaSigner{ecdsaPriv}) if priv.PubKeyAlgo != PubKeyAlgoECDSA { - t.Fatal("NewSignerPrivateKey should have made a ECSDA private key") + t.Fatal("NewSignerPrivateKey should have made an ECSDA private key") } sig := &Signature{ diff --git a/vendor/golang.org/x/crypto/openpgp/packet/symmetric_key_encrypted.go b/vendor/golang.org/x/crypto/openpgp/packet/symmetric_key_encrypted.go index 4b1105b6f..744c2d2c4 100644 --- a/vendor/golang.org/x/crypto/openpgp/packet/symmetric_key_encrypted.go +++ b/vendor/golang.org/x/crypto/openpgp/packet/symmetric_key_encrypted.go @@ -88,10 +88,10 @@ func (ske *SymmetricKeyEncrypted) Decrypt(passphrase []byte) ([]byte, CipherFunc return nil, ske.CipherFunc, errors.UnsupportedError("unknown cipher: " + strconv.Itoa(int(cipherFunc))) } plaintextKey = plaintextKey[1:] - if l := len(plaintextKey); l == 0 || l%cipherFunc.blockSize() != 0 { - return nil, cipherFunc, errors.StructuralError("length of decrypted key not a multiple of block size") + if l, cipherKeySize := len(plaintextKey), cipherFunc.KeySize(); l != cipherFunc.KeySize() { + return nil, cipherFunc, errors.StructuralError("length of decrypted key (" + strconv.Itoa(l) + ") " + + "not equal to cipher keysize (" + strconv.Itoa(cipherKeySize) + ")") } - return plaintextKey, cipherFunc, nil } diff --git a/vendor/golang.org/x/crypto/openpgp/packet/symmetric_key_encrypted_test.go b/vendor/golang.org/x/crypto/openpgp/packet/symmetric_key_encrypted_test.go index 19538df77..e1d52c122 100644 --- a/vendor/golang.org/x/crypto/openpgp/packet/symmetric_key_encrypted_test.go +++ b/vendor/golang.org/x/crypto/openpgp/packet/symmetric_key_encrypted_test.go @@ -61,43 +61,57 @@ func TestSymmetricKeyEncrypted(t *testing.T) { const symmetricallyEncryptedHex = "8c0d04030302371a0b38d884f02060c91cf97c9973b8e58e028e9501708ccfe618fb92afef7fa2d80ddadd93cf" const symmetricallyEncryptedContentsHex = "cb1062004d14c4df636f6e74656e74732e0a" -func TestSerializeSymmetricKeyEncrypted(t *testing.T) { - buf := bytes.NewBuffer(nil) - passphrase := []byte("testing") - const cipherFunc = CipherAES128 - config := &Config{ - DefaultCipher: cipherFunc, +func TestSerializeSymmetricKeyEncryptedCiphers(t *testing.T) { + tests := [...]struct { + cipherFunc CipherFunction + name string + }{ + {Cipher3DES, "Cipher3DES"}, + {CipherCAST5, "CipherCAST5"}, + {CipherAES128, "CipherAES128"}, + {CipherAES192, "CipherAES192"}, + {CipherAES256, "CipherAES256"}, } - key, err := SerializeSymmetricKeyEncrypted(buf, passphrase, config) - if err != nil { - t.Errorf("failed to serialize: %s", err) - return - } + for _, test := range tests { + var buf bytes.Buffer + passphrase := []byte("testing") + config := &Config{ + DefaultCipher: test.cipherFunc, + } - p, err := Read(buf) - if err != nil { - t.Errorf("failed to reparse: %s", err) - return - } - ske, ok := p.(*SymmetricKeyEncrypted) - if !ok { - t.Errorf("parsed a different packet type: %#v", p) - return - } + key, err := SerializeSymmetricKeyEncrypted(&buf, passphrase, config) + if err != nil { + t.Errorf("cipher(%s) failed to serialize: %s", test.name, err) + continue + } - if ske.CipherFunc != config.DefaultCipher { - t.Errorf("SKE cipher function is %d (expected %d)", ske.CipherFunc, config.DefaultCipher) - } - parsedKey, parsedCipherFunc, err := ske.Decrypt(passphrase) - if err != nil { - t.Errorf("failed to decrypt reparsed SKE: %s", err) - return - } - if !bytes.Equal(key, parsedKey) { - t.Errorf("keys don't match after Decrypt: %x (original) vs %x (parsed)", key, parsedKey) - } - if parsedCipherFunc != cipherFunc { - t.Errorf("cipher function doesn't match after Decrypt: %d (original) vs %d (parsed)", cipherFunc, parsedCipherFunc) + p, err := Read(&buf) + if err != nil { + t.Errorf("cipher(%s) failed to reparse: %s", test.name, err) + continue + } + + ske, ok := p.(*SymmetricKeyEncrypted) + if !ok { + t.Errorf("cipher(%s) parsed a different packet type: %#v", test.name, p) + continue + } + + if ske.CipherFunc != config.DefaultCipher { + t.Errorf("cipher(%s) SKE cipher function is %d (expected %d)", test.name, ske.CipherFunc, config.DefaultCipher) + } + parsedKey, parsedCipherFunc, err := ske.Decrypt(passphrase) + if err != nil { + t.Errorf("cipher(%s) failed to decrypt reparsed SKE: %s", test.name, err) + continue + } + if !bytes.Equal(key, parsedKey) { + t.Errorf("cipher(%s) keys don't match after Decrypt: %x (original) vs %x (parsed)", test.name, key, parsedKey) + } + if parsedCipherFunc != test.cipherFunc { + t.Errorf("cipher(%s) cipher function doesn't match after Decrypt: %d (original) vs %d (parsed)", + test.name, test.cipherFunc, parsedCipherFunc) + } } } diff --git a/vendor/golang.org/x/crypto/pkcs12/crypto.go b/vendor/golang.org/x/crypto/pkcs12/crypto.go index 4bd4470ec..484ca51b7 100644 --- a/vendor/golang.org/x/crypto/pkcs12/crypto.go +++ b/vendor/golang.org/x/crypto/pkcs12/crypto.go @@ -124,7 +124,7 @@ func pbDecrypt(info decryptable, password []byte) (decrypted []byte, err error) return } -// decryptable abstracts a object that contains ciphertext. +// decryptable abstracts an object that contains ciphertext. type decryptable interface { Algorithm() pkix.AlgorithmIdentifier Data() []byte diff --git a/vendor/golang.org/x/crypto/salsa20/salsa/salsa20_amd64.go b/vendor/golang.org/x/crypto/salsa20/salsa/salsa20_amd64.go index 903c7858e..f9269c384 100644 --- a/vendor/golang.org/x/crypto/salsa20/salsa/salsa20_amd64.go +++ b/vendor/golang.org/x/crypto/salsa20/salsa/salsa20_amd64.go @@ -13,11 +13,12 @@ package salsa func salsa2020XORKeyStream(out, in *byte, n uint64, nonce, key *byte) // XORKeyStream crypts bytes from in to out using the given key and counters. -// In and out may be the same slice but otherwise should not overlap. Counter +// In and out must overlap entirely or not at all. Counter // contains the raw salsa20 counter bytes (both nonce and block counter). func XORKeyStream(out, in []byte, counter *[16]byte, key *[32]byte) { if len(in) == 0 { return } + _ = out[len(in)-1] salsa2020XORKeyStream(&out[0], &in[0], uint64(len(in)), &counter[0], &key[0]) } diff --git a/vendor/golang.org/x/crypto/salsa20/salsa/salsa20_ref.go b/vendor/golang.org/x/crypto/salsa20/salsa/salsa20_ref.go index 95f8ca5bb..22126d17c 100644 --- a/vendor/golang.org/x/crypto/salsa20/salsa/salsa20_ref.go +++ b/vendor/golang.org/x/crypto/salsa20/salsa/salsa20_ref.go @@ -203,7 +203,7 @@ func core(out *[64]byte, in *[16]byte, k *[32]byte, c *[16]byte) { } // XORKeyStream crypts bytes from in to out using the given key and counters. -// In and out may be the same slice but otherwise should not overlap. Counter +// In and out must overlap entirely or not at all. Counter // contains the raw salsa20 counter bytes (both nonce and block counter). func XORKeyStream(out, in []byte, counter *[16]byte, key *[32]byte) { var block [64]byte diff --git a/vendor/golang.org/x/crypto/salsa20/salsa/salsa_test.go b/vendor/golang.org/x/crypto/salsa20/salsa/salsa_test.go index f8cecd9e6..f67e94eba 100644 --- a/vendor/golang.org/x/crypto/salsa20/salsa/salsa_test.go +++ b/vendor/golang.org/x/crypto/salsa20/salsa/salsa_test.go @@ -33,3 +33,22 @@ func TestCore208(t *testing.T) { t.Errorf("expected %x, got %x", out, in) } } + +func TestOutOfBoundsWrite(t *testing.T) { + // encrypted "0123456789" + cipherText := []byte{170, 166, 196, 104, 175, 121, 68, 44, 174, 51} + var counter [16]byte + var key [32]byte + want := "abcdefghij" + plainText := []byte(want) + defer func() { + err := recover() + if err == nil { + t.Error("XORKeyStream expected to panic on len(dst) < len(src), but didn't") + } + if plainText[3] == '3' { + t.Errorf("XORKeyStream did out of bounds write, want %v, got %v", want, string(plainText)) + } + }() + XORKeyStream(plainText[:3], cipherText, &counter, &key) +} diff --git a/vendor/golang.org/x/crypto/salsa20/salsa20.go b/vendor/golang.org/x/crypto/salsa20/salsa20.go index a8ddd76e8..0ee62485a 100644 --- a/vendor/golang.org/x/crypto/salsa20/salsa20.go +++ b/vendor/golang.org/x/crypto/salsa20/salsa20.go @@ -27,8 +27,8 @@ import ( "golang.org/x/crypto/salsa20/salsa" ) -// XORKeyStream crypts bytes from in to out using the given key and nonce. In -// and out may be the same slice but otherwise should not overlap. Nonce must +// XORKeyStream crypts bytes from in to out using the given key and nonce. +// In and out must overlap entirely or not at all. Nonce must // be either 8 or 24 bytes long. func XORKeyStream(out, in []byte, nonce []byte, key *[32]byte) { if len(out) < len(in) { diff --git a/vendor/golang.org/x/crypto/sha3/sha3.go b/vendor/golang.org/x/crypto/sha3/sha3.go index c86167c0b..b12a35c87 100644 --- a/vendor/golang.org/x/crypto/sha3/sha3.go +++ b/vendor/golang.org/x/crypto/sha3/sha3.go @@ -42,9 +42,8 @@ type state struct { storage [maxRate]byte // Specific to SHA-3 and SHAKE. - fixedOutput bool // whether this is a fixed-output-length instance - outputLen int // the default output size in bytes - state spongeDirection // whether the sponge is absorbing or squeezing + outputLen int // the default output size in bytes + state spongeDirection // whether the sponge is absorbing or squeezing } // BlockSize returns the rate of sponge underlying this hash function. diff --git a/vendor/golang.org/x/crypto/ssh/agent/client.go b/vendor/golang.org/x/crypto/ssh/agent/client.go index ecfd7c58d..dce7682fa 100644 --- a/vendor/golang.org/x/crypto/ssh/agent/client.go +++ b/vendor/golang.org/x/crypto/ssh/agent/client.go @@ -57,6 +57,17 @@ type Agent interface { Signers() ([]ssh.Signer, error) } +// ConstraintExtension describes an optional constraint defined by users. +type ConstraintExtension struct { + // ExtensionName consist of a UTF-8 string suffixed by the + // implementation domain following the naming scheme defined + // in Section 4.2 of [RFC4251], e.g. "foo@example.com". + ExtensionName string + // ExtensionDetails contains the actual content of the extended + // constraint. + ExtensionDetails []byte +} + // AddedKey describes an SSH key to be added to an Agent. type AddedKey struct { // PrivateKey must be a *rsa.PrivateKey, *dsa.PrivateKey or @@ -73,6 +84,9 @@ type AddedKey struct { // ConfirmBeforeUse, if true, requests that the agent confirm with the // user before each use of this key. ConfirmBeforeUse bool + // ConstraintExtensions are the experimental or private-use constraints + // defined by users. + ConstraintExtensions []ConstraintExtension } // See [PROTOCOL.agent], section 3. @@ -94,8 +108,9 @@ const ( agentAddSmartcardKeyConstrained = 26 // 3.7 Key constraint identifiers - agentConstrainLifetime = 1 - agentConstrainConfirm = 2 + agentConstrainLifetime = 1 + agentConstrainConfirm = 2 + agentConstrainExtension = 3 ) // maxAgentResponseBytes is the maximum agent reply size that is accepted. This @@ -151,6 +166,19 @@ type publicKey struct { Rest []byte `ssh:"rest"` } +// 3.7 Key constraint identifiers +type constrainLifetimeAgentMsg struct { + LifetimeSecs uint32 `sshtype:"1"` +} + +type constrainExtensionAgentMsg struct { + ExtensionName string `sshtype:"3"` + ExtensionDetails []byte + + // Rest is a field used for parsing, not part of message + Rest []byte `ssh:"rest"` +} + // Key represents a protocol 2 public key as defined in // [PROTOCOL.agent], section 2.5.2. type Key struct { @@ -542,11 +570,7 @@ func (c *client) Add(key AddedKey) error { var constraints []byte if secs := key.LifetimeSecs; secs != 0 { - constraints = append(constraints, agentConstrainLifetime) - - var secsBytes [4]byte - binary.BigEndian.PutUint32(secsBytes[:], secs) - constraints = append(constraints, secsBytes[:]...) + constraints = append(constraints, ssh.Marshal(constrainLifetimeAgentMsg{secs})...) } if key.ConfirmBeforeUse { diff --git a/vendor/golang.org/x/crypto/ssh/agent/client_test.go b/vendor/golang.org/x/crypto/ssh/agent/client_test.go index 5fc47e577..266fd6d40 100644 --- a/vendor/golang.org/x/crypto/ssh/agent/client_test.go +++ b/vendor/golang.org/x/crypto/ssh/agent/client_test.go @@ -19,8 +19,8 @@ import ( "golang.org/x/crypto/ssh" ) -// startAgent executes ssh-agent, and returns a Agent interface to it. -func startAgent(t *testing.T) (client Agent, socket string, cleanup func()) { +// startOpenSSHAgent executes ssh-agent, and returns an Agent interface to it. +func startOpenSSHAgent(t *testing.T) (client Agent, socket string, cleanup func()) { if testing.Short() { // ssh-agent is not always available, and the key // types supported vary by platform. @@ -79,16 +79,32 @@ func startAgent(t *testing.T) (client Agent, socket string, cleanup func()) { } } -func testAgent(t *testing.T, key interface{}, cert *ssh.Certificate, lifetimeSecs uint32) { - agent, _, cleanup := startAgent(t) +// startKeyringAgent uses Keyring to simulate a ssh-agent Server and returns a client. +func startKeyringAgent(t *testing.T) (client Agent, cleanup func()) { + c1, c2, err := netPipe() + if err != nil { + t.Fatalf("netPipe: %v", err) + } + go ServeAgent(NewKeyring(), c2) + + return NewClient(c1), func() { + c1.Close() + c2.Close() + } +} + +func testOpenSSHAgent(t *testing.T, key interface{}, cert *ssh.Certificate, lifetimeSecs uint32) { + agent, _, cleanup := startOpenSSHAgent(t) defer cleanup() testAgentInterface(t, agent, key, cert, lifetimeSecs) } -func testKeyring(t *testing.T, key interface{}, cert *ssh.Certificate, lifetimeSecs uint32) { - a := NewKeyring() - testAgentInterface(t, a, key, cert, lifetimeSecs) +func testKeyringAgent(t *testing.T, key interface{}, cert *ssh.Certificate, lifetimeSecs uint32) { + agent, cleanup := startKeyringAgent(t) + defer cleanup() + + testAgentInterface(t, agent, key, cert, lifetimeSecs) } func testAgentInterface(t *testing.T, agent Agent, key interface{}, cert *ssh.Certificate, lifetimeSecs uint32) { @@ -159,8 +175,8 @@ func testAgentInterface(t *testing.T, agent Agent, key interface{}, cert *ssh.Ce func TestAgent(t *testing.T) { for _, keyType := range []string{"rsa", "dsa", "ecdsa", "ed25519"} { - testAgent(t, testPrivateKeys[keyType], nil, 0) - testKeyring(t, testPrivateKeys[keyType], nil, 1) + testOpenSSHAgent(t, testPrivateKeys[keyType], nil, 0) + testKeyringAgent(t, testPrivateKeys[keyType], nil, 0) } } @@ -172,8 +188,8 @@ func TestCert(t *testing.T) { } cert.SignCert(rand.Reader, testSigners["ecdsa"]) - testAgent(t, testPrivateKeys["rsa"], cert, 0) - testKeyring(t, testPrivateKeys["rsa"], cert, 1) + testOpenSSHAgent(t, testPrivateKeys["rsa"], cert, 0) + testKeyringAgent(t, testPrivateKeys["rsa"], cert, 0) } // netPipe is analogous to net.Pipe, but it uses a real net.Conn, and @@ -203,7 +219,7 @@ func netPipe() (net.Conn, net.Conn, error) { } func TestAuth(t *testing.T) { - agent, _, cleanup := startAgent(t) + agent, _, cleanup := startOpenSSHAgent(t) defer cleanup() a, b, err := netPipe() @@ -247,8 +263,14 @@ func TestAuth(t *testing.T) { conn.Close() } -func TestLockClient(t *testing.T) { - agent, _, cleanup := startAgent(t) +func TestLockOpenSSHAgent(t *testing.T) { + agent, _, cleanup := startOpenSSHAgent(t) + defer cleanup() + testLockAgent(agent, t) +} + +func TestLockKeyringAgent(t *testing.T) { + agent, cleanup := startKeyringAgent(t) defer cleanup() testLockAgent(agent, t) } @@ -308,10 +330,19 @@ func testLockAgent(agent Agent, t *testing.T) { } } -func TestAgentLifetime(t *testing.T) { - agent, _, cleanup := startAgent(t) +func testOpenSSHAgentLifetime(t *testing.T) { + agent, _, cleanup := startOpenSSHAgent(t) defer cleanup() + testAgentLifetime(t, agent) +} +func testKeyringAgentLifetime(t *testing.T) { + agent, cleanup := startKeyringAgent(t) + defer cleanup() + testAgentLifetime(t, agent) +} + +func testAgentLifetime(t *testing.T, agent Agent) { for _, keyType := range []string{"rsa", "dsa", "ecdsa"} { // Add private keys to the agent. err := agent.Add(AddedKey{ diff --git a/vendor/golang.org/x/crypto/ssh/agent/server.go b/vendor/golang.org/x/crypto/ssh/agent/server.go index 68a333fa5..321e48a26 100644 --- a/vendor/golang.org/x/crypto/ssh/agent/server.go +++ b/vendor/golang.org/x/crypto/ssh/agent/server.go @@ -106,7 +106,7 @@ func (s *server) processRequest(data []byte) (interface{}, error) { return nil, s.agent.Lock(req.Passphrase) case agentUnlock: - var req agentLockMsg + var req agentUnlockMsg if err := ssh.Unmarshal(data, &req); err != nil { return nil, err } @@ -155,6 +155,44 @@ func (s *server) processRequest(data []byte) (interface{}, error) { return nil, fmt.Errorf("unknown opcode %d", data[0]) } +func parseConstraints(constraints []byte) (lifetimeSecs uint32, confirmBeforeUse bool, extensions []ConstraintExtension, err error) { + for len(constraints) != 0 { + switch constraints[0] { + case agentConstrainLifetime: + lifetimeSecs = binary.BigEndian.Uint32(constraints[1:5]) + constraints = constraints[5:] + case agentConstrainConfirm: + confirmBeforeUse = true + constraints = constraints[1:] + case agentConstrainExtension: + var msg constrainExtensionAgentMsg + if err = ssh.Unmarshal(constraints, &msg); err != nil { + return 0, false, nil, err + } + extensions = append(extensions, ConstraintExtension{ + ExtensionName: msg.ExtensionName, + ExtensionDetails: msg.ExtensionDetails, + }) + constraints = msg.Rest + default: + return 0, false, nil, fmt.Errorf("unknown constraint type: %d", constraints[0]) + } + } + return +} + +func setConstraints(key *AddedKey, constraintBytes []byte) error { + lifetimeSecs, confirmBeforeUse, constraintExtensions, err := parseConstraints(constraintBytes) + if err != nil { + return err + } + + key.LifetimeSecs = lifetimeSecs + key.ConfirmBeforeUse = confirmBeforeUse + key.ConstraintExtensions = constraintExtensions + return nil +} + func parseRSAKey(req []byte) (*AddedKey, error) { var k rsaKeyMsg if err := ssh.Unmarshal(req, &k); err != nil { @@ -173,7 +211,11 @@ func parseRSAKey(req []byte) (*AddedKey, error) { } priv.Precompute() - return &AddedKey{PrivateKey: priv, Comment: k.Comments}, nil + addedKey := &AddedKey{PrivateKey: priv, Comment: k.Comments} + if err := setConstraints(addedKey, k.Constraints); err != nil { + return nil, err + } + return addedKey, nil } func parseEd25519Key(req []byte) (*AddedKey, error) { @@ -182,7 +224,12 @@ func parseEd25519Key(req []byte) (*AddedKey, error) { return nil, err } priv := ed25519.PrivateKey(k.Priv) - return &AddedKey{PrivateKey: &priv, Comment: k.Comments}, nil + + addedKey := &AddedKey{PrivateKey: &priv, Comment: k.Comments} + if err := setConstraints(addedKey, k.Constraints); err != nil { + return nil, err + } + return addedKey, nil } func parseDSAKey(req []byte) (*AddedKey, error) { @@ -202,7 +249,11 @@ func parseDSAKey(req []byte) (*AddedKey, error) { X: k.X, } - return &AddedKey{PrivateKey: priv, Comment: k.Comments}, nil + addedKey := &AddedKey{PrivateKey: priv, Comment: k.Comments} + if err := setConstraints(addedKey, k.Constraints); err != nil { + return nil, err + } + return addedKey, nil } func unmarshalECDSA(curveName string, keyBytes []byte, privScalar *big.Int) (priv *ecdsa.PrivateKey, err error) { @@ -243,7 +294,12 @@ func parseEd25519Cert(req []byte) (*AddedKey, error) { if !ok { return nil, errors.New("agent: bad ED25519 certificate") } - return &AddedKey{PrivateKey: &priv, Certificate: cert, Comment: k.Comments}, nil + + addedKey := &AddedKey{PrivateKey: &priv, Certificate: cert, Comment: k.Comments} + if err := setConstraints(addedKey, k.Constraints); err != nil { + return nil, err + } + return addedKey, nil } func parseECDSAKey(req []byte) (*AddedKey, error) { @@ -257,7 +313,11 @@ func parseECDSAKey(req []byte) (*AddedKey, error) { return nil, err } - return &AddedKey{PrivateKey: priv, Comment: k.Comments}, nil + addedKey := &AddedKey{PrivateKey: priv, Comment: k.Comments} + if err := setConstraints(addedKey, k.Constraints); err != nil { + return nil, err + } + return addedKey, nil } func parseRSACert(req []byte) (*AddedKey, error) { @@ -300,7 +360,11 @@ func parseRSACert(req []byte) (*AddedKey, error) { } priv.Precompute() - return &AddedKey{PrivateKey: &priv, Certificate: cert, Comment: k.Comments}, nil + addedKey := &AddedKey{PrivateKey: &priv, Certificate: cert, Comment: k.Comments} + if err := setConstraints(addedKey, k.Constraints); err != nil { + return nil, err + } + return addedKey, nil } func parseDSACert(req []byte) (*AddedKey, error) { @@ -338,7 +402,11 @@ func parseDSACert(req []byte) (*AddedKey, error) { X: k.X, } - return &AddedKey{PrivateKey: priv, Certificate: cert, Comment: k.Comments}, nil + addedKey := &AddedKey{PrivateKey: priv, Certificate: cert, Comment: k.Comments} + if err := setConstraints(addedKey, k.Constraints); err != nil { + return nil, err + } + return addedKey, nil } func parseECDSACert(req []byte) (*AddedKey, error) { @@ -371,7 +439,11 @@ func parseECDSACert(req []byte) (*AddedKey, error) { return nil, err } - return &AddedKey{PrivateKey: priv, Certificate: cert, Comment: k.Comments}, nil + addedKey := &AddedKey{PrivateKey: priv, Certificate: cert, Comment: k.Comments} + if err := setConstraints(addedKey, k.Constraints); err != nil { + return nil, err + } + return addedKey, nil } func (s *server) insertIdentity(req []byte) error { diff --git a/vendor/golang.org/x/crypto/ssh/agent/server_test.go b/vendor/golang.org/x/crypto/ssh/agent/server_test.go index 6b0837d94..038018ebb 100644 --- a/vendor/golang.org/x/crypto/ssh/agent/server_test.go +++ b/vendor/golang.org/x/crypto/ssh/agent/server_test.go @@ -8,6 +8,9 @@ import ( "crypto" "crypto/rand" "fmt" + pseudorand "math/rand" + "reflect" + "strings" "testing" "golang.org/x/crypto/ssh" @@ -40,7 +43,7 @@ func TestSetupForwardAgent(t *testing.T) { defer a.Close() defer b.Close() - _, socket, cleanup := startAgent(t) + _, socket, cleanup := startOpenSSHAgent(t) defer cleanup() serverConf := ssh.ServerConfig{ @@ -207,3 +210,50 @@ func TestCertTypes(t *testing.T) { } } } + +func TestParseConstraints(t *testing.T) { + // Test LifetimeSecs + var msg = constrainLifetimeAgentMsg{pseudorand.Uint32()} + lifetimeSecs, _, _, err := parseConstraints(ssh.Marshal(msg)) + if err != nil { + t.Fatalf("parseConstraints: %v", err) + } + if lifetimeSecs != msg.LifetimeSecs { + t.Errorf("got lifetime %v, want %v", lifetimeSecs, msg.LifetimeSecs) + } + + // Test ConfirmBeforeUse + _, confirmBeforeUse, _, err := parseConstraints([]byte{agentConstrainConfirm}) + if err != nil { + t.Fatalf("%v", err) + } + if !confirmBeforeUse { + t.Error("got comfirmBeforeUse == false") + } + + // Test ConstraintExtensions + var data []byte + var expect []ConstraintExtension + for i := 0; i < 10; i++ { + var ext = ConstraintExtension{ + ExtensionName: fmt.Sprintf("name%d", i), + ExtensionDetails: []byte(fmt.Sprintf("details: %d", i)), + } + expect = append(expect, ext) + data = append(data, agentConstrainExtension) + data = append(data, ssh.Marshal(ext)...) + } + _, _, extensions, err := parseConstraints(data) + if err != nil { + t.Fatalf("%v", err) + } + if !reflect.DeepEqual(expect, extensions) { + t.Errorf("got extension %v, want %v", extensions, expect) + } + + // Test Unknown Constraint + _, _, _, err = parseConstraints([]byte{128}) + if err == nil || !strings.Contains(err.Error(), "unknown constraint") { + t.Errorf("unexpected error: %v", err) + } +} diff --git a/vendor/golang.org/x/crypto/ssh/buffer.go b/vendor/golang.org/x/crypto/ssh/buffer.go index 6931b5114..1ab07d078 100644 --- a/vendor/golang.org/x/crypto/ssh/buffer.go +++ b/vendor/golang.org/x/crypto/ssh/buffer.go @@ -51,13 +51,12 @@ func (b *buffer) write(buf []byte) { } // eof closes the buffer. Reads from the buffer once all -// the data has been consumed will receive os.EOF. -func (b *buffer) eof() error { +// the data has been consumed will receive io.EOF. +func (b *buffer) eof() { b.Cond.L.Lock() b.closed = true b.Cond.Signal() b.Cond.L.Unlock() - return nil } // Read reads data from the internal buffer in buf. Reads will block diff --git a/vendor/golang.org/x/crypto/ssh/client_auth.go b/vendor/golang.org/x/crypto/ssh/client_auth.go index b882da086..3acd8d498 100644 --- a/vendor/golang.org/x/crypto/ssh/client_auth.go +++ b/vendor/golang.org/x/crypto/ssh/client_auth.go @@ -349,7 +349,7 @@ func handleAuthResponse(c packetConn) (bool, []string, error) { // both CLI and GUI environments. type KeyboardInteractiveChallenge func(user, instruction string, questions []string, echos []bool) (answers []string, err error) -// KeyboardInteractive returns a AuthMethod using a prompt/response +// KeyboardInteractive returns an AuthMethod using a prompt/response // sequence controlled by the server. func KeyboardInteractive(challenge KeyboardInteractiveChallenge) AuthMethod { return challenge diff --git a/vendor/golang.org/x/crypto/ssh/keys.go b/vendor/golang.org/x/crypto/ssh/keys.go index 7a8756a93..b682c1741 100644 --- a/vendor/golang.org/x/crypto/ssh/keys.go +++ b/vendor/golang.org/x/crypto/ssh/keys.go @@ -367,6 +367,17 @@ func (r *dsaPublicKey) Type() string { return "ssh-dss" } +func checkDSAParams(param *dsa.Parameters) error { + // SSH specifies FIPS 186-2, which only provided a single size + // (1024 bits) DSA key. FIPS 186-3 allows for larger key + // sizes, which would confuse SSH. + if l := param.P.BitLen(); l != 1024 { + return fmt.Errorf("ssh: unsupported DSA key size %d", l) + } + + return nil +} + // parseDSA parses an DSA key according to RFC 4253, section 6.6. func parseDSA(in []byte) (out PublicKey, rest []byte, err error) { var w struct { @@ -377,13 +388,18 @@ func parseDSA(in []byte) (out PublicKey, rest []byte, err error) { return nil, nil, err } + param := dsa.Parameters{ + P: w.P, + Q: w.Q, + G: w.G, + } + if err := checkDSAParams(¶m); err != nil { + return nil, nil, err + } + key := &dsaPublicKey{ - Parameters: dsa.Parameters{ - P: w.P, - Q: w.Q, - G: w.G, - }, - Y: w.Y, + Parameters: param, + Y: w.Y, } return key, w.Rest, nil } @@ -630,19 +646,28 @@ func (k *ecdsaPublicKey) CryptoPublicKey() crypto.PublicKey { } // NewSignerFromKey takes an *rsa.PrivateKey, *dsa.PrivateKey, -// *ecdsa.PrivateKey or any other crypto.Signer and returns a corresponding -// Signer instance. ECDSA keys must use P-256, P-384 or P-521. +// *ecdsa.PrivateKey or any other crypto.Signer and returns a +// corresponding Signer instance. ECDSA keys must use P-256, P-384 or +// P-521. DSA keys must use parameter size L1024N160. func NewSignerFromKey(key interface{}) (Signer, error) { switch key := key.(type) { case crypto.Signer: return NewSignerFromSigner(key) case *dsa.PrivateKey: - return &dsaPrivateKey{key}, nil + return newDSAPrivateKey(key) default: return nil, fmt.Errorf("ssh: unsupported key type %T", key) } } +func newDSAPrivateKey(key *dsa.PrivateKey) (Signer, error) { + if err := checkDSAParams(&key.PublicKey.Parameters); err != nil { + return nil, err + } + + return &dsaPrivateKey{key}, nil +} + type wrappedSigner struct { signer crypto.Signer pubKey PublicKey diff --git a/vendor/golang.org/x/crypto/ssh/server.go b/vendor/golang.org/x/crypto/ssh/server.go index b6f4cc811..8a78b7ca0 100644 --- a/vendor/golang.org/x/crypto/ssh/server.go +++ b/vendor/golang.org/x/crypto/ssh/server.go @@ -67,7 +67,7 @@ type ServerConfig struct { PasswordCallback func(conn ConnMetadata, password []byte) (*Permissions, error) // PublicKeyCallback, if non-nil, is called when a client - // offers a public key for authentication. It must return true + // offers a public key for authentication. It must return a nil error // if the given public key can be used to authenticate the // given user. For example, see CertChecker.Authenticate. A // call to this function does not guarantee that the key diff --git a/vendor/golang.org/x/crypto/ssh/session.go b/vendor/golang.org/x/crypto/ssh/session.go index 17e2aa85c..cc06e03f5 100644 --- a/vendor/golang.org/x/crypto/ssh/session.go +++ b/vendor/golang.org/x/crypto/ssh/session.go @@ -231,6 +231,26 @@ func (s *Session) RequestSubsystem(subsystem string) error { return err } +// RFC 4254 Section 6.7. +type ptyWindowChangeMsg struct { + Columns uint32 + Rows uint32 + Width uint32 + Height uint32 +} + +// WindowChange informs the remote host about a terminal window dimension change to h rows and w columns. +func (s *Session) WindowChange(h, w int) error { + req := ptyWindowChangeMsg{ + Columns: uint32(w), + Rows: uint32(h), + Width: uint32(w * 8), + Height: uint32(h * 8), + } + _, err := s.ch.SendRequest("window-change", false, Marshal(&req)) + return err +} + // RFC 4254 Section 6.9. type signalMsg struct { Signal string diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util.go b/vendor/golang.org/x/crypto/ssh/terminal/util.go index d01919614..e7404ff49 100644 --- a/vendor/golang.org/x/crypto/ssh/terminal/util.go +++ b/vendor/golang.org/x/crypto/ssh/terminal/util.go @@ -19,6 +19,8 @@ package terminal // import "golang.org/x/crypto/ssh/terminal" import ( "syscall" "unsafe" + + "golang.org/x/sys/unix" ) // State contains the state of a terminal. @@ -50,6 +52,8 @@ func MakeRaw(fd int) (*State, error) { newState.Lflag &^= syscall.ECHO | syscall.ECHONL | syscall.ICANON | syscall.ISIG | syscall.IEXTEN newState.Cflag &^= syscall.CSIZE | syscall.PARENB newState.Cflag |= syscall.CS8 + newState.Cc[unix.VMIN] = 1 + newState.Cc[unix.VTIME] = 0 if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlWriteTermios, uintptr(unsafe.Pointer(&newState)), 0, 0, 0); err != 0 { return nil, err } diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go b/vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go index 9c1ffd145..cb23a5904 100644 --- a/vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go +++ b/vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go @@ -6,7 +6,7 @@ package terminal -import "syscall" +import "golang.org/x/sys/unix" -const ioctlReadTermios = syscall.TIOCGETA -const ioctlWriteTermios = syscall.TIOCSETA +const ioctlReadTermios = unix.TIOCGETA +const ioctlWriteTermios = unix.TIOCSETA diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util_linux.go b/vendor/golang.org/x/crypto/ssh/terminal/util_linux.go index 5883b22d7..5fadfe8a1 100644 --- a/vendor/golang.org/x/crypto/ssh/terminal/util_linux.go +++ b/vendor/golang.org/x/crypto/ssh/terminal/util_linux.go @@ -4,8 +4,7 @@ package terminal -// These constants are declared here, rather than importing -// them from the syscall package as some syscall packages, even -// on linux, for example gccgo, do not declare them. -const ioctlReadTermios = 0x5401 // syscall.TCGETS -const ioctlWriteTermios = 0x5402 // syscall.TCSETS +import "golang.org/x/sys/unix" + +const ioctlReadTermios = unix.TCGETS +const ioctlWriteTermios = unix.TCSETS diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util_windows.go b/vendor/golang.org/x/crypto/ssh/terminal/util_windows.go index e0a1f36ce..60979ccd0 100644 --- a/vendor/golang.org/x/crypto/ssh/terminal/util_windows.go +++ b/vendor/golang.org/x/crypto/ssh/terminal/util_windows.go @@ -17,53 +17,7 @@ package terminal import ( - "syscall" - "unsafe" -) - -const ( - enableLineInput = 2 - enableEchoInput = 4 - enableProcessedInput = 1 - enableWindowInput = 8 - enableMouseInput = 16 - enableInsertMode = 32 - enableQuickEditMode = 64 - enableExtendedFlags = 128 - enableAutoPosition = 256 - enableProcessedOutput = 1 - enableWrapAtEolOutput = 2 -) - -var kernel32 = syscall.NewLazyDLL("kernel32.dll") - -var ( - procGetConsoleMode = kernel32.NewProc("GetConsoleMode") - procSetConsoleMode = kernel32.NewProc("SetConsoleMode") - procGetConsoleScreenBufferInfo = kernel32.NewProc("GetConsoleScreenBufferInfo") -) - -type ( - short int16 - word uint16 - - coord struct { - x short - y short - } - smallRect struct { - left short - top short - right short - bottom short - } - consoleScreenBufferInfo struct { - size coord - cursorPosition coord - attributes word - window smallRect - maximumWindowSize coord - } + "golang.org/x/sys/windows" ) type State struct { @@ -73,8 +27,8 @@ type State struct { // IsTerminal returns true if the given file descriptor is a terminal. func IsTerminal(fd int) bool { var st uint32 - r, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(fd), uintptr(unsafe.Pointer(&st)), 0) - return r != 0 && e == 0 + err := windows.GetConsoleMode(windows.Handle(fd), &st) + return err == nil } // MakeRaw put the terminal connected to the given file descriptor into raw @@ -82,14 +36,12 @@ func IsTerminal(fd int) bool { // restored. func MakeRaw(fd int) (*State, error) { var st uint32 - _, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(fd), uintptr(unsafe.Pointer(&st)), 0) - if e != 0 { - return nil, error(e) + if err := windows.GetConsoleMode(windows.Handle(fd), &st); err != nil { + return nil, err } - raw := st &^ (enableEchoInput | enableProcessedInput | enableLineInput | enableProcessedOutput) - _, _, e = syscall.Syscall(procSetConsoleMode.Addr(), 2, uintptr(fd), uintptr(raw), 0) - if e != 0 { - return nil, error(e) + raw := st &^ (windows.ENABLE_ECHO_INPUT | windows.ENABLE_PROCESSED_INPUT | windows.ENABLE_LINE_INPUT | windows.ENABLE_PROCESSED_OUTPUT) + if err := windows.SetConsoleMode(windows.Handle(fd), raw); err != nil { + return nil, err } return &State{st}, nil } @@ -98,9 +50,8 @@ func MakeRaw(fd int) (*State, error) { // restore the terminal after a signal. func GetState(fd int) (*State, error) { var st uint32 - _, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(fd), uintptr(unsafe.Pointer(&st)), 0) - if e != 0 { - return nil, error(e) + if err := windows.GetConsoleMode(windows.Handle(fd), &st); err != nil { + return nil, err } return &State{st}, nil } @@ -108,25 +59,23 @@ func GetState(fd int) (*State, error) { // Restore restores the terminal connected to the given file descriptor to a // previous state. func Restore(fd int, state *State) error { - _, _, err := syscall.Syscall(procSetConsoleMode.Addr(), 2, uintptr(fd), uintptr(state.mode), 0) - return err + return windows.SetConsoleMode(windows.Handle(fd), state.mode) } // GetSize returns the dimensions of the given terminal. func GetSize(fd int) (width, height int, err error) { - var info consoleScreenBufferInfo - _, _, e := syscall.Syscall(procGetConsoleScreenBufferInfo.Addr(), 2, uintptr(fd), uintptr(unsafe.Pointer(&info)), 0) - if e != 0 { - return 0, 0, error(e) + var info windows.ConsoleScreenBufferInfo + if err := windows.GetConsoleScreenBufferInfo(windows.Handle(fd), &info); err != nil { + return 0, 0, err } - return int(info.size.x), int(info.size.y), nil + return int(info.Size.X), int(info.Size.Y), nil } // passwordReader is an io.Reader that reads from a specific Windows HANDLE. type passwordReader int func (r passwordReader) Read(buf []byte) (int, error) { - return syscall.Read(syscall.Handle(r), buf) + return windows.Read(windows.Handle(r), buf) } // ReadPassword reads a line of input from a terminal without local echo. This @@ -134,21 +83,19 @@ func (r passwordReader) Read(buf []byte) (int, error) { // returned does not include the \n. func ReadPassword(fd int) ([]byte, error) { var st uint32 - _, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(fd), uintptr(unsafe.Pointer(&st)), 0) - if e != 0 { - return nil, error(e) + if err := windows.GetConsoleMode(windows.Handle(fd), &st); err != nil { + return nil, err } old := st - st &^= (enableEchoInput) - st |= (enableProcessedInput | enableLineInput | enableProcessedOutput) - _, _, e = syscall.Syscall(procSetConsoleMode.Addr(), 2, uintptr(fd), uintptr(st), 0) - if e != 0 { - return nil, error(e) + st &^= (windows.ENABLE_ECHO_INPUT) + st |= (windows.ENABLE_PROCESSED_INPUT | windows.ENABLE_LINE_INPUT | windows.ENABLE_PROCESSED_OUTPUT) + if err := windows.SetConsoleMode(windows.Handle(fd), st); err != nil { + return nil, err } defer func() { - syscall.Syscall(procSetConsoleMode.Addr(), 2, uintptr(fd), uintptr(old), 0) + windows.SetConsoleMode(windows.Handle(fd), old) }() return readPasswordLine(passwordReader(fd)) diff --git a/vendor/golang.org/x/crypto/ssh/test/session_test.go b/vendor/golang.org/x/crypto/ssh/test/session_test.go index fc7e4715b..8238d9d90 100644 --- a/vendor/golang.org/x/crypto/ssh/test/session_test.go +++ b/vendor/golang.org/x/crypto/ssh/test/session_test.go @@ -276,6 +276,54 @@ func TestValidTerminalMode(t *testing.T) { } } +func TestWindowChange(t *testing.T) { + server := newServer(t) + defer server.Shutdown() + conn := server.Dial(clientConfig()) + defer conn.Close() + + session, err := conn.NewSession() + if err != nil { + t.Fatalf("session failed: %v", err) + } + defer session.Close() + + stdout, err := session.StdoutPipe() + if err != nil { + t.Fatalf("unable to acquire stdout pipe: %s", err) + } + + stdin, err := session.StdinPipe() + if err != nil { + t.Fatalf("unable to acquire stdin pipe: %s", err) + } + + tm := ssh.TerminalModes{ssh.ECHO: 0} + if err = session.RequestPty("xterm", 80, 40, tm); err != nil { + t.Fatalf("req-pty failed: %s", err) + } + + if err := session.WindowChange(100, 100); err != nil { + t.Fatalf("window-change failed: %s", err) + } + + err = session.Shell() + if err != nil { + t.Fatalf("session failed: %s", err) + } + + stdin.Write([]byte("stty size && exit\n")) + + var buf bytes.Buffer + if _, err := io.Copy(&buf, stdout); err != nil { + t.Fatalf("reading failed: %s", err) + } + + if sttyOutput := buf.String(); !strings.Contains(sttyOutput, "100 100") { + t.Fatalf("terminal WindowChange failure: expected \"100 100\" stty output, got %s", sttyOutput) + } +} + func TestCiphers(t *testing.T) { var config ssh.Config config.SetDefaults() diff --git a/vendor/golang.org/x/crypto/xts/xts.go b/vendor/golang.org/x/crypto/xts/xts.go index a7643fdcd..92cbce99b 100644 --- a/vendor/golang.org/x/crypto/xts/xts.go +++ b/vendor/golang.org/x/crypto/xts/xts.go @@ -55,7 +55,7 @@ func NewCipher(cipherFunc func([]byte) (cipher.Block, error), key []byte) (c *Ci } // Encrypt encrypts a sector of plaintext and puts the result into ciphertext. -// Plaintext and ciphertext may be the same slice but should not overlap. +// Plaintext and ciphertext must overlap entirely or not at all. // Sectors must be a multiple of 16 bytes and less than 2²⁴ bytes. func (c *Cipher) Encrypt(ciphertext, plaintext []byte, sectorNum uint64) { if len(ciphertext) < len(plaintext) { @@ -86,7 +86,7 @@ func (c *Cipher) Encrypt(ciphertext, plaintext []byte, sectorNum uint64) { } // Decrypt decrypts a sector of ciphertext and puts the result into plaintext. -// Plaintext and ciphertext may be the same slice but should not overlap. +// Plaintext and ciphertext must overlap entirely or not at all. // Sectors must be a multiple of 16 bytes and less than 2²⁴ bytes. func (c *Cipher) Decrypt(plaintext, ciphertext []byte, sectorNum uint64) { if len(plaintext) < len(ciphertext) { diff --git a/vendor/golang.org/x/net/README b/vendor/golang.org/x/net/README deleted file mode 100644 index 6b13d8e50..000000000 --- a/vendor/golang.org/x/net/README +++ /dev/null @@ -1,3 +0,0 @@ -This repository holds supplementary Go networking libraries. - -To submit changes to this repository, see http://golang.org/doc/contribute.html. diff --git a/vendor/golang.org/x/net/README.md b/vendor/golang.org/x/net/README.md new file mode 100644 index 000000000..00a9b6eb2 --- /dev/null +++ b/vendor/golang.org/x/net/README.md @@ -0,0 +1,16 @@ +# Go Networking + +This repository holds supplementary Go networking libraries. + +## Download/Install + +The easiest way to install is to run `go get -u golang.org/x/net`. You can +also manually git clone the repository to `$GOPATH/src/golang.org/x/net`. + +## Report Issues / Send Patches + +This repository uses Gerrit for code changes. To learn how to submit +changes to this repository, see https://golang.org/doc/contribute.html. +The main issue tracker for the net repository is located at +https://github.com/golang/go/issues. Prefix your issue with "x/net:" in the +subject line, so it is easy to find. diff --git a/vendor/golang.org/x/net/html/atom/gen.go b/vendor/golang.org/x/net/html/atom/gen.go index 6bfa86601..cc5dc5dbc 100644 --- a/vendor/golang.org/x/net/html/atom/gen.go +++ b/vendor/golang.org/x/net/html/atom/gen.go @@ -4,17 +4,17 @@ // +build ignore +//go:generate go run gen.go +//go:generate go run gen.go -test + package main -// This program generates table.go and table_test.go. -// Invoke as -// -// go run gen.go |gofmt >table.go -// go run gen.go -test |gofmt >table_test.go - import ( + "bytes" "flag" "fmt" + "go/format" + "io/ioutil" "math/rand" "os" "sort" @@ -42,6 +42,18 @@ func identifier(s string) string { var test = flag.Bool("test", false, "generate table_test.go") +func genFile(name string, buf *bytes.Buffer) { + b, err := format.Source(buf.Bytes()) + if err != nil { + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + } + if err := ioutil.WriteFile(name, b, 0644); err != nil { + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + } +} + func main() { flag.Parse() @@ -52,32 +64,31 @@ func main() { all = append(all, extra...) sort.Strings(all) - if *test { - fmt.Printf("// generated by go run gen.go -test; DO NOT EDIT\n\n") - fmt.Printf("package atom\n\n") - fmt.Printf("var testAtomList = []string{\n") - for _, s := range all { - fmt.Printf("\t%q,\n", s) - } - fmt.Printf("}\n") - return - } - // uniq - lists have dups - // compute max len too - maxLen := 0 w := 0 for _, s := range all { if w == 0 || all[w-1] != s { - if maxLen < len(s) { - maxLen = len(s) - } all[w] = s w++ } } all = all[:w] + if *test { + var buf bytes.Buffer + fmt.Fprintln(&buf, "// Code generated by go generate gen.go; DO NOT EDIT.\n") + fmt.Fprintln(&buf, "//go:generate go run gen.go -test\n") + fmt.Fprintln(&buf, "package atom\n") + fmt.Fprintln(&buf, "var testAtomList = []string{") + for _, s := range all { + fmt.Fprintf(&buf, "\t%q,\n", s) + } + fmt.Fprintln(&buf, "}") + + genFile("table_test.go", &buf) + return + } + // Find hash that minimizes table size. var best *table for i := 0; i < 1000000; i++ { @@ -163,36 +174,46 @@ func main() { atom[s] = uint32(off<<8 | len(s)) } + var buf bytes.Buffer // Generate the Go code. - fmt.Printf("// generated by go run gen.go; DO NOT EDIT\n\n") - fmt.Printf("package atom\n\nconst (\n") + fmt.Fprintln(&buf, "// Code generated by go generate gen.go; DO NOT EDIT.\n") + fmt.Fprintln(&buf, "//go:generate go run gen.go\n") + fmt.Fprintln(&buf, "package atom\n\nconst (") + + // compute max len + maxLen := 0 for _, s := range all { - fmt.Printf("\t%s Atom = %#x\n", identifier(s), atom[s]) + if maxLen < len(s) { + maxLen = len(s) + } + fmt.Fprintf(&buf, "\t%s Atom = %#x\n", identifier(s), atom[s]) } - fmt.Printf(")\n\n") + fmt.Fprintln(&buf, ")\n") - fmt.Printf("const hash0 = %#x\n\n", best.h0) - fmt.Printf("const maxAtomLen = %d\n\n", maxLen) + fmt.Fprintf(&buf, "const hash0 = %#x\n\n", best.h0) + fmt.Fprintf(&buf, "const maxAtomLen = %d\n\n", maxLen) - fmt.Printf("var table = [1<<%d]Atom{\n", best.k) + fmt.Fprintf(&buf, "var table = [1<<%d]Atom{\n", best.k) for i, s := range best.tab { if s == "" { continue } - fmt.Printf("\t%#x: %#x, // %s\n", i, atom[s], s) + fmt.Fprintf(&buf, "\t%#x: %#x, // %s\n", i, atom[s], s) } - fmt.Printf("}\n") + fmt.Fprintf(&buf, "}\n") datasize := (1 << best.k) * 4 - fmt.Printf("const atomText =\n") + fmt.Fprintln(&buf, "const atomText =") textsize := len(text) for len(text) > 60 { - fmt.Printf("\t%q +\n", text[:60]) + fmt.Fprintf(&buf, "\t%q +\n", text[:60]) text = text[60:] } - fmt.Printf("\t%q\n\n", text) + fmt.Fprintf(&buf, "\t%q\n\n", text) - fmt.Fprintf(os.Stderr, "%d atoms; %d string bytes + %d tables = %d total data\n", len(all), textsize, datasize, textsize+datasize) + genFile("table.go", &buf) + + fmt.Fprintf(os.Stdout, "%d atoms; %d string bytes + %d tables = %d total data\n", len(all), textsize, datasize, textsize+datasize) } type byLen []string @@ -285,8 +306,10 @@ func (t *table) push(i uint32, depth int) bool { // The lists of element names and attribute keys were taken from // https://html.spec.whatwg.org/multipage/indices.html#index -// as of the "HTML Living Standard - Last Updated 21 February 2015" version. +// as of the "HTML Living Standard - Last Updated 18 September 2017" version. +// "command", "keygen" and "menuitem" have been removed from the spec, +// but are kept here for backwards compatibility. var elements = []string{ "a", "abbr", @@ -349,6 +372,7 @@ var elements = []string{ "legend", "li", "link", + "main", "map", "mark", "menu", @@ -364,6 +388,7 @@ var elements = []string{ "output", "p", "param", + "picture", "pre", "progress", "q", @@ -375,6 +400,7 @@ var elements = []string{ "script", "section", "select", + "slot", "small", "source", "span", @@ -403,14 +429,21 @@ var elements = []string{ } // https://html.spec.whatwg.org/multipage/indices.html#attributes-3 - +// +// "challenge", "command", "contextmenu", "dropzone", "icon", "keytype", "mediagroup", +// "radiogroup", "spellcheck", "scoped", "seamless", "sortable" and "sorted" have been removed from the spec, +// but are kept here for backwards compatibility. var attributes = []string{ "abbr", "accept", "accept-charset", "accesskey", "action", + "allowfullscreen", + "allowpaymentrequest", + "allowusermedia", "alt", + "as", "async", "autocomplete", "autofocus", @@ -420,6 +453,7 @@ var attributes = []string{ "checked", "cite", "class", + "color", "cols", "colspan", "command", @@ -457,6 +491,8 @@ var attributes = []string{ "icon", "id", "inputmode", + "integrity", + "is", "ismap", "itemid", "itemprop", @@ -481,16 +517,20 @@ var attributes = []string{ "multiple", "muted", "name", + "nomodule", + "nonce", "novalidate", "open", "optimum", "pattern", "ping", "placeholder", + "playsinline", "poster", "preload", "radiogroup", "readonly", + "referrerpolicy", "rel", "required", "reversed", @@ -507,10 +547,13 @@ var attributes = []string{ "sizes", "sortable", "sorted", + "slot", "span", + "spellcheck", "src", "srcdoc", "srclang", + "srcset", "start", "step", "style", @@ -520,16 +563,22 @@ var attributes = []string{ "translate", "type", "typemustmatch", + "updateviacache", "usemap", "value", "width", + "workertype", "wrap", } +// "onautocomplete", "onautocompleteerror", "onmousewheel", +// "onshow" and "onsort" have been removed from the spec, +// but are kept here for backwards compatibility. var eventHandlers = []string{ "onabort", "onautocomplete", "onautocompleteerror", + "onauxclick", "onafterprint", "onbeforeprint", "onbeforeunload", @@ -541,11 +590,14 @@ var eventHandlers = []string{ "onclick", "onclose", "oncontextmenu", + "oncopy", "oncuechange", + "oncut", "ondblclick", "ondrag", "ondragend", "ondragenter", + "ondragexit", "ondragleave", "ondragover", "ondragstart", @@ -565,18 +617,24 @@ var eventHandlers = []string{ "onload", "onloadeddata", "onloadedmetadata", + "onloadend", "onloadstart", "onmessage", + "onmessageerror", "onmousedown", + "onmouseenter", + "onmouseleave", "onmousemove", "onmouseout", "onmouseover", "onmouseup", "onmousewheel", + "onwheel", "onoffline", "ononline", "onpagehide", "onpageshow", + "onpaste", "onpause", "onplay", "onplaying", @@ -585,7 +643,9 @@ var eventHandlers = []string{ "onratechange", "onreset", "onresize", + "onrejectionhandled", "onscroll", + "onsecuritypolicyviolation", "onseeked", "onseeking", "onselect", @@ -597,6 +657,7 @@ var eventHandlers = []string{ "onsuspend", "ontimeupdate", "ontoggle", + "onunhandledrejection", "onunload", "onvolumechange", "onwaiting", diff --git a/vendor/golang.org/x/net/html/atom/table.go b/vendor/golang.org/x/net/html/atom/table.go index 2605ba310..f74018ece 100644 --- a/vendor/golang.org/x/net/html/atom/table.go +++ b/vendor/golang.org/x/net/html/atom/table.go @@ -1,713 +1,777 @@ -// generated by go run gen.go; DO NOT EDIT +// Code generated by go generate gen.go; DO NOT EDIT. + +//go:generate go run gen.go package atom const ( - A Atom = 0x1 - Abbr Atom = 0x4 - Accept Atom = 0x2106 - AcceptCharset Atom = 0x210e - Accesskey Atom = 0x3309 - Action Atom = 0x1f606 - Address Atom = 0x4f307 - Align Atom = 0x1105 - Alt Atom = 0x4503 - Annotation Atom = 0x1670a - AnnotationXml Atom = 0x1670e - Applet Atom = 0x2b306 - Area Atom = 0x2fa04 - Article Atom = 0x38807 - Aside Atom = 0x8305 - Async Atom = 0x7b05 - Audio Atom = 0xa605 - Autocomplete Atom = 0x1fc0c - Autofocus Atom = 0xb309 - Autoplay Atom = 0xce08 - B Atom = 0x101 - Base Atom = 0xd604 - Basefont Atom = 0xd608 - Bdi Atom = 0x1a03 - Bdo Atom = 0xe703 - Bgsound Atom = 0x11807 - Big Atom = 0x12403 - Blink Atom = 0x12705 - Blockquote Atom = 0x12c0a - Body Atom = 0x2f04 - Br Atom = 0x202 - Button Atom = 0x13606 - Canvas Atom = 0x7f06 - Caption Atom = 0x1bb07 - Center Atom = 0x5b506 - Challenge Atom = 0x21f09 - Charset Atom = 0x2807 - Checked Atom = 0x32807 - Cite Atom = 0x3c804 - Class Atom = 0x4de05 - Code Atom = 0x14904 - Col Atom = 0x15003 - Colgroup Atom = 0x15008 - Color Atom = 0x15d05 - Cols Atom = 0x16204 - Colspan Atom = 0x16207 - Command Atom = 0x17507 - Content Atom = 0x42307 - Contenteditable Atom = 0x4230f - Contextmenu Atom = 0x3310b - Controls Atom = 0x18808 - Coords Atom = 0x19406 - Crossorigin Atom = 0x19f0b - Data Atom = 0x44a04 - Datalist Atom = 0x44a08 - Datetime Atom = 0x23c08 - Dd Atom = 0x26702 - Default Atom = 0x8607 - Defer Atom = 0x14b05 - Del Atom = 0x3ef03 - Desc Atom = 0x4db04 - Details Atom = 0x4807 - Dfn Atom = 0x6103 - Dialog Atom = 0x1b06 - Dir Atom = 0x6903 - Dirname Atom = 0x6907 - Disabled Atom = 0x10c08 - Div Atom = 0x11303 - Dl Atom = 0x11e02 - Download Atom = 0x40008 - Draggable Atom = 0x17b09 - Dropzone Atom = 0x39108 - Dt Atom = 0x50902 - Em Atom = 0x6502 - Embed Atom = 0x6505 - Enctype Atom = 0x21107 - Face Atom = 0x5b304 - Fieldset Atom = 0x1b008 - Figcaption Atom = 0x1b80a - Figure Atom = 0x1cc06 - Font Atom = 0xda04 - Footer Atom = 0x8d06 - For Atom = 0x1d803 - ForeignObject Atom = 0x1d80d - Foreignobject Atom = 0x1e50d - Form Atom = 0x1f204 - Formaction Atom = 0x1f20a - Formenctype Atom = 0x20d0b - Formmethod Atom = 0x2280a - Formnovalidate Atom = 0x2320e - Formtarget Atom = 0x2470a - Frame Atom = 0x9a05 - Frameset Atom = 0x9a08 - H1 Atom = 0x26e02 - H2 Atom = 0x29402 - H3 Atom = 0x2a702 - H4 Atom = 0x2e902 - H5 Atom = 0x2f302 - H6 Atom = 0x50b02 - Head Atom = 0x2d504 - Header Atom = 0x2d506 - Headers Atom = 0x2d507 - Height Atom = 0x25106 - Hgroup Atom = 0x25906 - Hidden Atom = 0x26506 - High Atom = 0x26b04 - Hr Atom = 0x27002 - Href Atom = 0x27004 - Hreflang Atom = 0x27008 - Html Atom = 0x25504 - HttpEquiv Atom = 0x2780a - I Atom = 0x601 - Icon Atom = 0x42204 - Id Atom = 0x8502 - Iframe Atom = 0x29606 - Image Atom = 0x29c05 - Img Atom = 0x2a103 - Input Atom = 0x3e805 - Inputmode Atom = 0x3e809 - Ins Atom = 0x1a803 - Isindex Atom = 0x2a907 - Ismap Atom = 0x2b005 - Itemid Atom = 0x33c06 - Itemprop Atom = 0x3c908 - Itemref Atom = 0x5ad07 - Itemscope Atom = 0x2b909 - Itemtype Atom = 0x2c308 - Kbd Atom = 0x1903 - Keygen Atom = 0x3906 - Keytype Atom = 0x53707 - Kind Atom = 0x10904 - Label Atom = 0xf005 - Lang Atom = 0x27404 - Legend Atom = 0x18206 - Li Atom = 0x1202 - Link Atom = 0x12804 - List Atom = 0x44e04 - Listing Atom = 0x44e07 - Loop Atom = 0xf404 - Low Atom = 0x11f03 - Malignmark Atom = 0x100a - Manifest Atom = 0x5f108 - Map Atom = 0x2b203 - Mark Atom = 0x1604 - Marquee Atom = 0x2cb07 - Math Atom = 0x2d204 - Max Atom = 0x2e103 - Maxlength Atom = 0x2e109 - Media Atom = 0x6e05 - Mediagroup Atom = 0x6e0a - Menu Atom = 0x33804 - Menuitem Atom = 0x33808 - Meta Atom = 0x45d04 - Meter Atom = 0x24205 - Method Atom = 0x22c06 - Mglyph Atom = 0x2a206 - Mi Atom = 0x2eb02 - Min Atom = 0x2eb03 - Minlength Atom = 0x2eb09 - Mn Atom = 0x23502 - Mo Atom = 0x3ed02 - Ms Atom = 0x2bc02 - Mtext Atom = 0x2f505 - Multiple Atom = 0x30308 - Muted Atom = 0x30b05 - Name Atom = 0x6c04 - Nav Atom = 0x3e03 - Nobr Atom = 0x5704 - Noembed Atom = 0x6307 - Noframes Atom = 0x9808 - Noscript Atom = 0x3d208 - Novalidate Atom = 0x2360a - Object Atom = 0x1ec06 - Ol Atom = 0xc902 - Onabort Atom = 0x13a07 - Onafterprint Atom = 0x1c00c - Onautocomplete Atom = 0x1fa0e - Onautocompleteerror Atom = 0x1fa13 - Onbeforeprint Atom = 0x6040d - Onbeforeunload Atom = 0x4e70e - Onblur Atom = 0xaa06 - Oncancel Atom = 0xe908 - Oncanplay Atom = 0x28509 - Oncanplaythrough Atom = 0x28510 - Onchange Atom = 0x3a708 - Onclick Atom = 0x31007 - Onclose Atom = 0x31707 - Oncontextmenu Atom = 0x32f0d - Oncuechange Atom = 0x3420b - Ondblclick Atom = 0x34d0a - Ondrag Atom = 0x35706 - Ondragend Atom = 0x35709 - Ondragenter Atom = 0x3600b - Ondragleave Atom = 0x36b0b - Ondragover Atom = 0x3760a - Ondragstart Atom = 0x3800b - Ondrop Atom = 0x38f06 - Ondurationchange Atom = 0x39f10 - Onemptied Atom = 0x39609 - Onended Atom = 0x3af07 - Onerror Atom = 0x3b607 - Onfocus Atom = 0x3bd07 - Onhashchange Atom = 0x3da0c - Oninput Atom = 0x3e607 - Oninvalid Atom = 0x3f209 - Onkeydown Atom = 0x3fb09 - Onkeypress Atom = 0x4080a - Onkeyup Atom = 0x41807 - Onlanguagechange Atom = 0x43210 - Onload Atom = 0x44206 - Onloadeddata Atom = 0x4420c - Onloadedmetadata Atom = 0x45510 - Onloadstart Atom = 0x46b0b - Onmessage Atom = 0x47609 - Onmousedown Atom = 0x47f0b - Onmousemove Atom = 0x48a0b - Onmouseout Atom = 0x4950a - Onmouseover Atom = 0x4a20b - Onmouseup Atom = 0x4ad09 - Onmousewheel Atom = 0x4b60c - Onoffline Atom = 0x4c209 - Ononline Atom = 0x4cb08 - Onpagehide Atom = 0x4d30a - Onpageshow Atom = 0x4fe0a - Onpause Atom = 0x50d07 - Onplay Atom = 0x51706 - Onplaying Atom = 0x51709 - Onpopstate Atom = 0x5200a - Onprogress Atom = 0x52a0a - Onratechange Atom = 0x53e0c - Onreset Atom = 0x54a07 - Onresize Atom = 0x55108 - Onscroll Atom = 0x55f08 - Onseeked Atom = 0x56708 - Onseeking Atom = 0x56f09 - Onselect Atom = 0x57808 - Onshow Atom = 0x58206 - Onsort Atom = 0x58b06 - Onstalled Atom = 0x59509 - Onstorage Atom = 0x59e09 - Onsubmit Atom = 0x5a708 - Onsuspend Atom = 0x5bb09 - Ontimeupdate Atom = 0xdb0c - Ontoggle Atom = 0x5c408 - Onunload Atom = 0x5cc08 - Onvolumechange Atom = 0x5d40e - Onwaiting Atom = 0x5e209 - Open Atom = 0x3cf04 - Optgroup Atom = 0xf608 - Optimum Atom = 0x5eb07 - Option Atom = 0x60006 - Output Atom = 0x49c06 - P Atom = 0xc01 - Param Atom = 0xc05 - Pattern Atom = 0x5107 - Ping Atom = 0x7704 - Placeholder Atom = 0xc30b - Plaintext Atom = 0xfd09 - Poster Atom = 0x15706 - Pre Atom = 0x25e03 - Preload Atom = 0x25e07 - Progress Atom = 0x52c08 - Prompt Atom = 0x5fa06 - Public Atom = 0x41e06 - Q Atom = 0x13101 - Radiogroup Atom = 0x30a - Readonly Atom = 0x2fb08 - Rel Atom = 0x25f03 - Required Atom = 0x1d008 - Reversed Atom = 0x5a08 - Rows Atom = 0x9204 - Rowspan Atom = 0x9207 - Rp Atom = 0x1c602 - Rt Atom = 0x13f02 - Ruby Atom = 0xaf04 - S Atom = 0x2c01 - Samp Atom = 0x4e04 - Sandbox Atom = 0xbb07 - Scope Atom = 0x2bd05 - Scoped Atom = 0x2bd06 - Script Atom = 0x3d406 - Seamless Atom = 0x31c08 - Section Atom = 0x4e207 - Select Atom = 0x57a06 - Selected Atom = 0x57a08 - Shape Atom = 0x4f905 - Size Atom = 0x55504 - Sizes Atom = 0x55505 - Small Atom = 0x18f05 - Sortable Atom = 0x58d08 - Sorted Atom = 0x19906 - Source Atom = 0x1aa06 - Spacer Atom = 0x2db06 - Span Atom = 0x9504 - Spellcheck Atom = 0x3230a - Src Atom = 0x3c303 - Srcdoc Atom = 0x3c306 - Srclang Atom = 0x41107 - Start Atom = 0x38605 - Step Atom = 0x5f704 - Strike Atom = 0x53306 - Strong Atom = 0x55906 - Style Atom = 0x61105 - Sub Atom = 0x5a903 - Summary Atom = 0x61607 - Sup Atom = 0x61d03 - Svg Atom = 0x62003 - System Atom = 0x62306 - Tabindex Atom = 0x46308 - Table Atom = 0x42d05 - Target Atom = 0x24b06 - Tbody Atom = 0x2e05 - Td Atom = 0x4702 - Template Atom = 0x62608 - Textarea Atom = 0x2f608 - Tfoot Atom = 0x8c05 - Th Atom = 0x22e02 - Thead Atom = 0x2d405 - Time Atom = 0xdd04 - Title Atom = 0xa105 - Tr Atom = 0x10502 - Track Atom = 0x10505 - Translate Atom = 0x14009 - Tt Atom = 0x5302 - Type Atom = 0x21404 - Typemustmatch Atom = 0x2140d - U Atom = 0xb01 - Ul Atom = 0x8a02 - Usemap Atom = 0x51106 - Value Atom = 0x4005 - Var Atom = 0x11503 - Video Atom = 0x28105 - Wbr Atom = 0x12103 - Width Atom = 0x50705 - Wrap Atom = 0x58704 - Xmp Atom = 0xc103 + A Atom = 0x1 + Abbr Atom = 0x4 + Accept Atom = 0x1a06 + AcceptCharset Atom = 0x1a0e + Accesskey Atom = 0x2c09 + Action Atom = 0x25a06 + Address Atom = 0x6ed07 + Align Atom = 0x6d405 + Allowfullscreen Atom = 0x1f00f + Allowpaymentrequest Atom = 0x6913 + Allowusermedia Atom = 0x850e + Alt Atom = 0xb003 + Annotation Atom = 0x1b90a + AnnotationXml Atom = 0x1b90e + Applet Atom = 0x30106 + Area Atom = 0x34a04 + Article Atom = 0x3f007 + As Atom = 0xb902 + Aside Atom = 0xc105 + Async Atom = 0xb905 + Audio Atom = 0xcf05 + Autocomplete Atom = 0x2600c + Autofocus Atom = 0xeb09 + Autoplay Atom = 0x10608 + B Atom = 0x101 + Base Atom = 0x11504 + Basefont Atom = 0x11508 + Bdi Atom = 0x16103 + Bdo Atom = 0x13403 + Bgsound Atom = 0x14707 + Big Atom = 0x15903 + Blink Atom = 0x15c05 + Blockquote Atom = 0x1680a + Body Atom = 0x2804 + Br Atom = 0x202 + Button Atom = 0x17206 + Canvas Atom = 0xbd06 + Caption Atom = 0x21907 + Center Atom = 0x20806 + Challenge Atom = 0x28309 + Charset Atom = 0x2107 + Checked Atom = 0x46d07 + Cite Atom = 0x55804 + Class Atom = 0x5b905 + Code Atom = 0x19004 + Col Atom = 0x19703 + Colgroup Atom = 0x19708 + Color Atom = 0x1af05 + Cols Atom = 0x1b404 + Colspan Atom = 0x1b407 + Command Atom = 0x1c707 + Content Atom = 0x57f07 + Contenteditable Atom = 0x57f0f + Contextmenu Atom = 0x3740b + Controls Atom = 0x1ce08 + Coords Atom = 0x1da06 + Crossorigin Atom = 0x1e30b + Data Atom = 0x49904 + Datalist Atom = 0x49908 + Datetime Atom = 0x2a008 + Dd Atom = 0x2bf02 + Default Atom = 0xc407 + Defer Atom = 0x19205 + Del Atom = 0x44603 + Desc Atom = 0x55504 + Details Atom = 0x4607 + Dfn Atom = 0x5f03 + Dialog Atom = 0x16206 + Dir Atom = 0xa303 + Dirname Atom = 0xa307 + Disabled Atom = 0x14d08 + Div Atom = 0x15403 + Dl Atom = 0x5e202 + Download Atom = 0x45708 + Draggable Atom = 0x18309 + Dropzone Atom = 0x3f908 + Dt Atom = 0x64702 + Em Atom = 0x4202 + Embed Atom = 0x4205 + Enctype Atom = 0x27507 + Face Atom = 0x20604 + Fieldset Atom = 0x20e08 + Figcaption Atom = 0x2160a + Figure Atom = 0x23006 + Font Atom = 0x11904 + Footer Atom = 0xb306 + For Atom = 0x23c03 + ForeignObject Atom = 0x23c0d + Foreignobject Atom = 0x2490d + Form Atom = 0x25604 + Formaction Atom = 0x2560a + Formenctype Atom = 0x2710b + Formmethod Atom = 0x28c0a + Formnovalidate Atom = 0x2960e + Formtarget Atom = 0x2a80a + Frame Atom = 0x5705 + Frameset Atom = 0x5708 + H1 Atom = 0x14502 + H2 Atom = 0x2c602 + H3 Atom = 0x2f502 + H4 Atom = 0x33902 + H5 Atom = 0x34302 + H6 Atom = 0x64902 + Head Atom = 0x32504 + Header Atom = 0x32506 + Headers Atom = 0x32507 + Height Atom = 0x12c06 + Hgroup Atom = 0x2b206 + Hidden Atom = 0x2bd06 + High Atom = 0x2c304 + Hr Atom = 0x14002 + Href Atom = 0x2c804 + Hreflang Atom = 0x2c808 + Html Atom = 0x13004 + HttpEquiv Atom = 0x2d00a + I Atom = 0x601 + Icon Atom = 0x57e04 + Id Atom = 0xc302 + Iframe Atom = 0x2e406 + Image Atom = 0x2ea05 + Img Atom = 0x2ef03 + Input Atom = 0x43f05 + Inputmode Atom = 0x43f09 + Ins Atom = 0x1ec03 + Integrity Atom = 0x22709 + Is Atom = 0x14e02 + Isindex Atom = 0x2f707 + Ismap Atom = 0x2fe05 + Itemid Atom = 0x37f06 + Itemprop Atom = 0x55908 + Itemref Atom = 0x3c107 + Itemscope Atom = 0x66d09 + Itemtype Atom = 0x30708 + Kbd Atom = 0x16003 + Keygen Atom = 0x3206 + Keytype Atom = 0x7e07 + Kind Atom = 0x18004 + Label Atom = 0xda05 + Lang Atom = 0x2cc04 + Legend Atom = 0x18a06 + Li Atom = 0x11102 + Link Atom = 0x15d04 + List Atom = 0x49d04 + Listing Atom = 0x49d07 + Loop Atom = 0xde04 + Low Atom = 0x6b03 + Main Atom = 0x1004 + Malignmark Atom = 0x6d30a + Manifest Atom = 0x30f08 + Map Atom = 0x30003 + Mark Atom = 0x6d904 + Marquee Atom = 0x31b07 + Math Atom = 0x32204 + Max Atom = 0x33103 + Maxlength Atom = 0x33109 + Media Atom = 0x8e05 + Mediagroup Atom = 0x8e0a + Menu Atom = 0x37b04 + Menuitem Atom = 0x37b08 + Meta Atom = 0x4ac04 + Meter Atom = 0xa805 + Method Atom = 0x29006 + Mglyph Atom = 0x2f006 + Mi Atom = 0x33b02 + Min Atom = 0x33b03 + Minlength Atom = 0x33b09 + Mn Atom = 0x29902 + Mo Atom = 0x6302 + Ms Atom = 0x67002 + Mtext Atom = 0x34505 + Multiple Atom = 0x35308 + Muted Atom = 0x35b05 + Name Atom = 0xa604 + Nav Atom = 0x1303 + Nobr Atom = 0x3704 + Noembed Atom = 0x4007 + Noframes Atom = 0x5508 + Nomodule Atom = 0x6108 + Nonce Atom = 0x56205 + Noscript Atom = 0x1fe08 + Novalidate Atom = 0x29a0a + Object Atom = 0x25006 + Ol Atom = 0x10102 + Onabort Atom = 0x17607 + Onafterprint Atom = 0x21e0c + Onautocomplete Atom = 0x25e0e + Onautocompleteerror Atom = 0x25e13 + Onauxclick Atom = 0x61b0a + Onbeforeprint Atom = 0x69a0d + Onbeforeunload Atom = 0x6e10e + Onblur Atom = 0x5c206 + Oncancel Atom = 0xd308 + Oncanplay Atom = 0x13609 + Oncanplaythrough Atom = 0x13610 + Onchange Atom = 0x40f08 + Onclick Atom = 0x2dd07 + Onclose Atom = 0x36007 + Oncontextmenu Atom = 0x3720d + Oncopy Atom = 0x38506 + Oncuechange Atom = 0x38b0b + Oncut Atom = 0x39605 + Ondblclick Atom = 0x39b0a + Ondrag Atom = 0x3a506 + Ondragend Atom = 0x3a509 + Ondragenter Atom = 0x3ae0b + Ondragexit Atom = 0x3b90a + Ondragleave Atom = 0x3d30b + Ondragover Atom = 0x3de0a + Ondragstart Atom = 0x3e80b + Ondrop Atom = 0x3f706 + Ondurationchange Atom = 0x40710 + Onemptied Atom = 0x3fe09 + Onended Atom = 0x41707 + Onerror Atom = 0x41e07 + Onfocus Atom = 0x42507 + Onhashchange Atom = 0x4310c + Oninput Atom = 0x43d07 + Oninvalid Atom = 0x44909 + Onkeydown Atom = 0x45209 + Onkeypress Atom = 0x45f0a + Onkeyup Atom = 0x47407 + Onlanguagechange Atom = 0x48110 + Onload Atom = 0x49106 + Onloadeddata Atom = 0x4910c + Onloadedmetadata Atom = 0x4a410 + Onloadend Atom = 0x4ba09 + Onloadstart Atom = 0x4c30b + Onmessage Atom = 0x4ce09 + Onmessageerror Atom = 0x4ce0e + Onmousedown Atom = 0x4dc0b + Onmouseenter Atom = 0x4e70c + Onmouseleave Atom = 0x4f30c + Onmousemove Atom = 0x4ff0b + Onmouseout Atom = 0x50a0a + Onmouseover Atom = 0x5170b + Onmouseup Atom = 0x52209 + Onmousewheel Atom = 0x5300c + Onoffline Atom = 0x53c09 + Ononline Atom = 0x54508 + Onpagehide Atom = 0x54d0a + Onpageshow Atom = 0x5670a + Onpaste Atom = 0x57307 + Onpause Atom = 0x58e07 + Onplay Atom = 0x59806 + Onplaying Atom = 0x59809 + Onpopstate Atom = 0x5a10a + Onprogress Atom = 0x5ab0a + Onratechange Atom = 0x5c80c + Onrejectionhandled Atom = 0x5d412 + Onreset Atom = 0x5e607 + Onresize Atom = 0x5ed08 + Onscroll Atom = 0x5fc08 + Onsecuritypolicyviolation Atom = 0x60419 + Onseeked Atom = 0x62508 + Onseeking Atom = 0x62d09 + Onselect Atom = 0x63608 + Onshow Atom = 0x64006 + Onsort Atom = 0x64b06 + Onstalled Atom = 0x65509 + Onstorage Atom = 0x65e09 + Onsubmit Atom = 0x66708 + Onsuspend Atom = 0x67709 + Ontimeupdate Atom = 0x11a0c + Ontoggle Atom = 0x68008 + Onunhandledrejection Atom = 0x68814 + Onunload Atom = 0x6a708 + Onvolumechange Atom = 0x6af0e + Onwaiting Atom = 0x6bd09 + Onwheel Atom = 0x6c607 + Open Atom = 0x55f04 + Optgroup Atom = 0xe008 + Optimum Atom = 0x6cd07 + Option Atom = 0x6dd06 + Output Atom = 0x51106 + P Atom = 0xc01 + Param Atom = 0xc05 + Pattern Atom = 0x4f07 + Picture Atom = 0x9707 + Ping Atom = 0xe704 + Placeholder Atom = 0xfb0b + Plaintext Atom = 0x19e09 + Playsinline Atom = 0x10a0b + Poster Atom = 0x2b706 + Pre Atom = 0x46403 + Preload Atom = 0x47a07 + Progress Atom = 0x5ad08 + Prompt Atom = 0x52a06 + Public Atom = 0x57a06 + Q Atom = 0x7701 + Radiogroup Atom = 0x30a + Readonly Atom = 0x34b08 + Referrerpolicy Atom = 0x3c50e + Rel Atom = 0x47b03 + Required Atom = 0x23408 + Reversed Atom = 0x9c08 + Rows Atom = 0x3a04 + Rowspan Atom = 0x3a07 + Rp Atom = 0x22402 + Rt Atom = 0x17b02 + Ruby Atom = 0xac04 + S Atom = 0x2501 + Samp Atom = 0x4c04 + Sandbox Atom = 0xf307 + Scope Atom = 0x67105 + Scoped Atom = 0x67106 + Script Atom = 0x20006 + Seamless Atom = 0x36508 + Section Atom = 0x5bd07 + Select Atom = 0x63806 + Selected Atom = 0x63808 + Shape Atom = 0x1d505 + Size Atom = 0x5f104 + Sizes Atom = 0x5f105 + Slot Atom = 0x1df04 + Small Atom = 0x1ee05 + Sortable Atom = 0x64d08 + Sorted Atom = 0x32b06 + Source Atom = 0x36c06 + Spacer Atom = 0x42b06 + Span Atom = 0x3d04 + Spellcheck Atom = 0x4680a + Src Atom = 0x5b403 + Srcdoc Atom = 0x5b406 + Srclang Atom = 0x5f507 + Srcset Atom = 0x6f306 + Start Atom = 0x3ee05 + Step Atom = 0x57704 + Strike Atom = 0x7a06 + Strong Atom = 0x31506 + Style Atom = 0x6f905 + Sub Atom = 0x66903 + Summary Atom = 0x6fe07 + Sup Atom = 0x70503 + Svg Atom = 0x70803 + System Atom = 0x70b06 + Tabindex Atom = 0x4b208 + Table Atom = 0x58905 + Target Atom = 0x2ac06 + Tbody Atom = 0x2705 + Td Atom = 0x5e02 + Template Atom = 0x70e08 + Textarea Atom = 0x34608 + Tfoot Atom = 0xb205 + Th Atom = 0x13f02 + Thead Atom = 0x32405 + Time Atom = 0x11c04 + Title Atom = 0xca05 + Tr Atom = 0x7402 + Track Atom = 0x17c05 + Translate Atom = 0x1a609 + Tt Atom = 0x5102 + Type Atom = 0x8104 + Typemustmatch Atom = 0x2780d + U Atom = 0xb01 + Ul Atom = 0x6602 + Updateviacache Atom = 0x1200e + Usemap Atom = 0x59206 + Value Atom = 0x1505 + Var Atom = 0x15603 + Video Atom = 0x2d905 + Wbr Atom = 0x57003 + Width Atom = 0x64505 + Workertype Atom = 0x7160a + Wrap Atom = 0x72004 + Xmp Atom = 0xf903 ) -const hash0 = 0xc17da63e +const hash0 = 0x81cdf10e -const maxAtomLen = 19 +const maxAtomLen = 25 var table = [1 << 9]Atom{ - 0x1: 0x48a0b, // onmousemove - 0x2: 0x5e209, // onwaiting - 0x3: 0x1fa13, // onautocompleteerror - 0x4: 0x5fa06, // prompt - 0x7: 0x5eb07, // optimum - 0x8: 0x1604, // mark - 0xa: 0x5ad07, // itemref - 0xb: 0x4fe0a, // onpageshow - 0xc: 0x57a06, // select - 0xd: 0x17b09, // draggable - 0xe: 0x3e03, // nav - 0xf: 0x17507, // command - 0x11: 0xb01, // u - 0x14: 0x2d507, // headers - 0x15: 0x44a08, // datalist - 0x17: 0x4e04, // samp - 0x1a: 0x3fb09, // onkeydown - 0x1b: 0x55f08, // onscroll - 0x1c: 0x15003, // col - 0x20: 0x3c908, // itemprop - 0x21: 0x2780a, // http-equiv - 0x22: 0x61d03, // sup - 0x24: 0x1d008, // required - 0x2b: 0x25e07, // preload - 0x2c: 0x6040d, // onbeforeprint - 0x2d: 0x3600b, // ondragenter - 0x2e: 0x50902, // dt - 0x2f: 0x5a708, // onsubmit - 0x30: 0x27002, // hr - 0x31: 0x32f0d, // oncontextmenu - 0x33: 0x29c05, // image - 0x34: 0x50d07, // onpause - 0x35: 0x25906, // hgroup - 0x36: 0x7704, // ping - 0x37: 0x57808, // onselect - 0x3a: 0x11303, // div - 0x3b: 0x1fa0e, // onautocomplete - 0x40: 0x2eb02, // mi - 0x41: 0x31c08, // seamless - 0x42: 0x2807, // charset - 0x43: 0x8502, // id - 0x44: 0x5200a, // onpopstate - 0x45: 0x3ef03, // del - 0x46: 0x2cb07, // marquee - 0x47: 0x3309, // accesskey - 0x49: 0x8d06, // footer - 0x4a: 0x44e04, // list - 0x4b: 0x2b005, // ismap - 0x51: 0x33804, // menu - 0x52: 0x2f04, // body - 0x55: 0x9a08, // frameset - 0x56: 0x54a07, // onreset - 0x57: 0x12705, // blink - 0x58: 0xa105, // title - 0x59: 0x38807, // article - 0x5b: 0x22e02, // th - 0x5d: 0x13101, // q - 0x5e: 0x3cf04, // open - 0x5f: 0x2fa04, // area - 0x61: 0x44206, // onload - 0x62: 0xda04, // font - 0x63: 0xd604, // base - 0x64: 0x16207, // colspan - 0x65: 0x53707, // keytype - 0x66: 0x11e02, // dl - 0x68: 0x1b008, // fieldset - 0x6a: 0x2eb03, // min - 0x6b: 0x11503, // var - 0x6f: 0x2d506, // header - 0x70: 0x13f02, // rt - 0x71: 0x15008, // colgroup - 0x72: 0x23502, // mn - 0x74: 0x13a07, // onabort - 0x75: 0x3906, // keygen - 0x76: 0x4c209, // onoffline - 0x77: 0x21f09, // challenge - 0x78: 0x2b203, // map - 0x7a: 0x2e902, // h4 - 0x7b: 0x3b607, // onerror - 0x7c: 0x2e109, // maxlength - 0x7d: 0x2f505, // mtext - 0x7e: 0xbb07, // sandbox - 0x7f: 0x58b06, // onsort - 0x80: 0x100a, // malignmark - 0x81: 0x45d04, // meta - 0x82: 0x7b05, // async - 0x83: 0x2a702, // h3 - 0x84: 0x26702, // dd - 0x85: 0x27004, // href - 0x86: 0x6e0a, // mediagroup - 0x87: 0x19406, // coords - 0x88: 0x41107, // srclang - 0x89: 0x34d0a, // ondblclick - 0x8a: 0x4005, // value - 0x8c: 0xe908, // oncancel - 0x8e: 0x3230a, // spellcheck - 0x8f: 0x9a05, // frame - 0x91: 0x12403, // big - 0x94: 0x1f606, // action - 0x95: 0x6903, // dir - 0x97: 0x2fb08, // readonly - 0x99: 0x42d05, // table - 0x9a: 0x61607, // summary - 0x9b: 0x12103, // wbr - 0x9c: 0x30a, // radiogroup - 0x9d: 0x6c04, // name - 0x9f: 0x62306, // system - 0xa1: 0x15d05, // color - 0xa2: 0x7f06, // canvas - 0xa3: 0x25504, // html - 0xa5: 0x56f09, // onseeking - 0xac: 0x4f905, // shape - 0xad: 0x25f03, // rel - 0xae: 0x28510, // oncanplaythrough - 0xaf: 0x3760a, // ondragover - 0xb0: 0x62608, // template - 0xb1: 0x1d80d, // foreignObject - 0xb3: 0x9204, // rows - 0xb6: 0x44e07, // listing - 0xb7: 0x49c06, // output - 0xb9: 0x3310b, // contextmenu - 0xbb: 0x11f03, // low - 0xbc: 0x1c602, // rp - 0xbd: 0x5bb09, // onsuspend - 0xbe: 0x13606, // button - 0xbf: 0x4db04, // desc - 0xc1: 0x4e207, // section - 0xc2: 0x52a0a, // onprogress - 0xc3: 0x59e09, // onstorage - 0xc4: 0x2d204, // math - 0xc5: 0x4503, // alt - 0xc7: 0x8a02, // ul - 0xc8: 0x5107, // pattern - 0xc9: 0x4b60c, // onmousewheel - 0xca: 0x35709, // ondragend - 0xcb: 0xaf04, // ruby - 0xcc: 0xc01, // p - 0xcd: 0x31707, // onclose - 0xce: 0x24205, // meter - 0xcf: 0x11807, // bgsound - 0xd2: 0x25106, // height - 0xd4: 0x101, // b - 0xd5: 0x2c308, // itemtype - 0xd8: 0x1bb07, // caption - 0xd9: 0x10c08, // disabled - 0xdb: 0x33808, // menuitem - 0xdc: 0x62003, // svg - 0xdd: 0x18f05, // small - 0xde: 0x44a04, // data - 0xe0: 0x4cb08, // ononline - 0xe1: 0x2a206, // mglyph - 0xe3: 0x6505, // embed - 0xe4: 0x10502, // tr - 0xe5: 0x46b0b, // onloadstart - 0xe7: 0x3c306, // srcdoc - 0xeb: 0x5c408, // ontoggle - 0xed: 0xe703, // bdo - 0xee: 0x4702, // td - 0xef: 0x8305, // aside - 0xf0: 0x29402, // h2 - 0xf1: 0x52c08, // progress - 0xf2: 0x12c0a, // blockquote - 0xf4: 0xf005, // label - 0xf5: 0x601, // i - 0xf7: 0x9207, // rowspan - 0xfb: 0x51709, // onplaying - 0xfd: 0x2a103, // img - 0xfe: 0xf608, // optgroup - 0xff: 0x42307, // content - 0x101: 0x53e0c, // onratechange - 0x103: 0x3da0c, // onhashchange - 0x104: 0x4807, // details - 0x106: 0x40008, // download - 0x109: 0x14009, // translate - 0x10b: 0x4230f, // contenteditable - 0x10d: 0x36b0b, // ondragleave - 0x10e: 0x2106, // accept - 0x10f: 0x57a08, // selected - 0x112: 0x1f20a, // formaction - 0x113: 0x5b506, // center - 0x115: 0x45510, // onloadedmetadata - 0x116: 0x12804, // link - 0x117: 0xdd04, // time - 0x118: 0x19f0b, // crossorigin - 0x119: 0x3bd07, // onfocus - 0x11a: 0x58704, // wrap - 0x11b: 0x42204, // icon - 0x11d: 0x28105, // video - 0x11e: 0x4de05, // class - 0x121: 0x5d40e, // onvolumechange - 0x122: 0xaa06, // onblur - 0x123: 0x2b909, // itemscope - 0x124: 0x61105, // style - 0x127: 0x41e06, // public - 0x129: 0x2320e, // formnovalidate - 0x12a: 0x58206, // onshow - 0x12c: 0x51706, // onplay - 0x12d: 0x3c804, // cite - 0x12e: 0x2bc02, // ms - 0x12f: 0xdb0c, // ontimeupdate - 0x130: 0x10904, // kind - 0x131: 0x2470a, // formtarget - 0x135: 0x3af07, // onended - 0x136: 0x26506, // hidden - 0x137: 0x2c01, // s - 0x139: 0x2280a, // formmethod - 0x13a: 0x3e805, // input - 0x13c: 0x50b02, // h6 - 0x13d: 0xc902, // ol - 0x13e: 0x3420b, // oncuechange - 0x13f: 0x1e50d, // foreignobject - 0x143: 0x4e70e, // onbeforeunload - 0x144: 0x2bd05, // scope - 0x145: 0x39609, // onemptied - 0x146: 0x14b05, // defer - 0x147: 0xc103, // xmp - 0x148: 0x39f10, // ondurationchange - 0x149: 0x1903, // kbd - 0x14c: 0x47609, // onmessage - 0x14d: 0x60006, // option - 0x14e: 0x2eb09, // minlength - 0x14f: 0x32807, // checked - 0x150: 0xce08, // autoplay - 0x152: 0x202, // br - 0x153: 0x2360a, // novalidate - 0x156: 0x6307, // noembed - 0x159: 0x31007, // onclick - 0x15a: 0x47f0b, // onmousedown - 0x15b: 0x3a708, // onchange - 0x15e: 0x3f209, // oninvalid - 0x15f: 0x2bd06, // scoped - 0x160: 0x18808, // controls - 0x161: 0x30b05, // muted - 0x162: 0x58d08, // sortable - 0x163: 0x51106, // usemap - 0x164: 0x1b80a, // figcaption - 0x165: 0x35706, // ondrag - 0x166: 0x26b04, // high - 0x168: 0x3c303, // src - 0x169: 0x15706, // poster - 0x16b: 0x1670e, // annotation-xml - 0x16c: 0x5f704, // step - 0x16d: 0x4, // abbr - 0x16e: 0x1b06, // dialog - 0x170: 0x1202, // li - 0x172: 0x3ed02, // mo - 0x175: 0x1d803, // for - 0x176: 0x1a803, // ins - 0x178: 0x55504, // size - 0x179: 0x43210, // onlanguagechange - 0x17a: 0x8607, // default - 0x17b: 0x1a03, // bdi - 0x17c: 0x4d30a, // onpagehide - 0x17d: 0x6907, // dirname - 0x17e: 0x21404, // type - 0x17f: 0x1f204, // form - 0x181: 0x28509, // oncanplay - 0x182: 0x6103, // dfn - 0x183: 0x46308, // tabindex - 0x186: 0x6502, // em - 0x187: 0x27404, // lang - 0x189: 0x39108, // dropzone - 0x18a: 0x4080a, // onkeypress - 0x18b: 0x23c08, // datetime - 0x18c: 0x16204, // cols - 0x18d: 0x1, // a - 0x18e: 0x4420c, // onloadeddata - 0x190: 0xa605, // audio - 0x192: 0x2e05, // tbody - 0x193: 0x22c06, // method - 0x195: 0xf404, // loop - 0x196: 0x29606, // iframe - 0x198: 0x2d504, // head - 0x19e: 0x5f108, // manifest - 0x19f: 0xb309, // autofocus - 0x1a0: 0x14904, // code - 0x1a1: 0x55906, // strong - 0x1a2: 0x30308, // multiple - 0x1a3: 0xc05, // param - 0x1a6: 0x21107, // enctype - 0x1a7: 0x5b304, // face - 0x1a8: 0xfd09, // plaintext - 0x1a9: 0x26e02, // h1 - 0x1aa: 0x59509, // onstalled - 0x1ad: 0x3d406, // script - 0x1ae: 0x2db06, // spacer - 0x1af: 0x55108, // onresize - 0x1b0: 0x4a20b, // onmouseover - 0x1b1: 0x5cc08, // onunload - 0x1b2: 0x56708, // onseeked - 0x1b4: 0x2140d, // typemustmatch - 0x1b5: 0x1cc06, // figure - 0x1b6: 0x4950a, // onmouseout - 0x1b7: 0x25e03, // pre - 0x1b8: 0x50705, // width - 0x1b9: 0x19906, // sorted - 0x1bb: 0x5704, // nobr - 0x1be: 0x5302, // tt - 0x1bf: 0x1105, // align - 0x1c0: 0x3e607, // oninput - 0x1c3: 0x41807, // onkeyup - 0x1c6: 0x1c00c, // onafterprint - 0x1c7: 0x210e, // accept-charset - 0x1c8: 0x33c06, // itemid - 0x1c9: 0x3e809, // inputmode - 0x1cb: 0x53306, // strike - 0x1cc: 0x5a903, // sub - 0x1cd: 0x10505, // track - 0x1ce: 0x38605, // start - 0x1d0: 0xd608, // basefont - 0x1d6: 0x1aa06, // source - 0x1d7: 0x18206, // legend - 0x1d8: 0x2d405, // thead - 0x1da: 0x8c05, // tfoot - 0x1dd: 0x1ec06, // object - 0x1de: 0x6e05, // media - 0x1df: 0x1670a, // annotation - 0x1e0: 0x20d0b, // formenctype - 0x1e2: 0x3d208, // noscript - 0x1e4: 0x55505, // sizes - 0x1e5: 0x1fc0c, // autocomplete - 0x1e6: 0x9504, // span - 0x1e7: 0x9808, // noframes - 0x1e8: 0x24b06, // target - 0x1e9: 0x38f06, // ondrop - 0x1ea: 0x2b306, // applet - 0x1ec: 0x5a08, // reversed - 0x1f0: 0x2a907, // isindex - 0x1f3: 0x27008, // hreflang - 0x1f5: 0x2f302, // h5 - 0x1f6: 0x4f307, // address - 0x1fa: 0x2e103, // max - 0x1fb: 0xc30b, // placeholder - 0x1fc: 0x2f608, // textarea - 0x1fe: 0x4ad09, // onmouseup - 0x1ff: 0x3800b, // ondragstart + 0x1: 0x8e0a, // mediagroup + 0x2: 0x2cc04, // lang + 0x4: 0x2c09, // accesskey + 0x5: 0x5708, // frameset + 0x7: 0x63608, // onselect + 0x8: 0x70b06, // system + 0xa: 0x64505, // width + 0xc: 0x2710b, // formenctype + 0xd: 0x10102, // ol + 0xe: 0x38b0b, // oncuechange + 0x10: 0x13403, // bdo + 0x11: 0xcf05, // audio + 0x12: 0x18309, // draggable + 0x14: 0x2d905, // video + 0x15: 0x29902, // mn + 0x16: 0x37b04, // menu + 0x17: 0x2b706, // poster + 0x19: 0xb306, // footer + 0x1a: 0x29006, // method + 0x1b: 0x2a008, // datetime + 0x1c: 0x17607, // onabort + 0x1d: 0x1200e, // updateviacache + 0x1e: 0xb905, // async + 0x1f: 0x49106, // onload + 0x21: 0xd308, // oncancel + 0x22: 0x62508, // onseeked + 0x23: 0x2ea05, // image + 0x24: 0x5d412, // onrejectionhandled + 0x26: 0x15d04, // link + 0x27: 0x51106, // output + 0x28: 0x32504, // head + 0x29: 0x4f30c, // onmouseleave + 0x2a: 0x57307, // onpaste + 0x2b: 0x59809, // onplaying + 0x2c: 0x1b407, // colspan + 0x2f: 0x1af05, // color + 0x30: 0x5f104, // size + 0x31: 0x2d00a, // http-equiv + 0x33: 0x601, // i + 0x34: 0x54d0a, // onpagehide + 0x35: 0x68814, // onunhandledrejection + 0x37: 0x41e07, // onerror + 0x3a: 0x11508, // basefont + 0x3f: 0x1303, // nav + 0x40: 0x18004, // kind + 0x41: 0x34b08, // readonly + 0x42: 0x2f006, // mglyph + 0x44: 0x11102, // li + 0x46: 0x2bd06, // hidden + 0x47: 0x70803, // svg + 0x48: 0x57704, // step + 0x49: 0x22709, // integrity + 0x4a: 0x57a06, // public + 0x4c: 0x19703, // col + 0x4d: 0x1680a, // blockquote + 0x4e: 0x34302, // h5 + 0x50: 0x5ad08, // progress + 0x51: 0x5f105, // sizes + 0x52: 0x33902, // h4 + 0x56: 0x32405, // thead + 0x57: 0x7e07, // keytype + 0x58: 0x5ab0a, // onprogress + 0x59: 0x43f09, // inputmode + 0x5a: 0x3a509, // ondragend + 0x5d: 0x39605, // oncut + 0x5e: 0x42b06, // spacer + 0x5f: 0x19708, // colgroup + 0x62: 0x14e02, // is + 0x65: 0xb902, // as + 0x66: 0x53c09, // onoffline + 0x67: 0x32b06, // sorted + 0x69: 0x48110, // onlanguagechange + 0x6c: 0x4310c, // onhashchange + 0x6d: 0xa604, // name + 0x6e: 0xb205, // tfoot + 0x6f: 0x55504, // desc + 0x70: 0x33103, // max + 0x72: 0x1da06, // coords + 0x73: 0x2f502, // h3 + 0x74: 0x6e10e, // onbeforeunload + 0x75: 0x3a04, // rows + 0x76: 0x63806, // select + 0x77: 0xa805, // meter + 0x78: 0x37f06, // itemid + 0x79: 0x5300c, // onmousewheel + 0x7a: 0x5b406, // srcdoc + 0x7d: 0x17c05, // track + 0x7f: 0x30708, // itemtype + 0x82: 0x6302, // mo + 0x83: 0x40f08, // onchange + 0x84: 0x32507, // headers + 0x85: 0x5c80c, // onratechange + 0x86: 0x60419, // onsecuritypolicyviolation + 0x88: 0x49908, // datalist + 0x89: 0x4dc0b, // onmousedown + 0x8a: 0x1df04, // slot + 0x8b: 0x4a410, // onloadedmetadata + 0x8c: 0x1a06, // accept + 0x8d: 0x25006, // object + 0x91: 0x6af0e, // onvolumechange + 0x92: 0x2107, // charset + 0x93: 0x25e13, // onautocompleteerror + 0x94: 0x6913, // allowpaymentrequest + 0x95: 0x2804, // body + 0x96: 0xc407, // default + 0x97: 0x63808, // selected + 0x98: 0x20604, // face + 0x99: 0x1d505, // shape + 0x9b: 0x68008, // ontoggle + 0x9e: 0x64702, // dt + 0x9f: 0x6d904, // mark + 0xa1: 0xb01, // u + 0xa4: 0x6a708, // onunload + 0xa5: 0xde04, // loop + 0xa6: 0x14d08, // disabled + 0xaa: 0x41707, // onended + 0xab: 0x6d30a, // malignmark + 0xad: 0x67709, // onsuspend + 0xae: 0x34505, // mtext + 0xaf: 0x64b06, // onsort + 0xb0: 0x55908, // itemprop + 0xb3: 0x66d09, // itemscope + 0xb4: 0x15c05, // blink + 0xb6: 0x3a506, // ondrag + 0xb7: 0x6602, // ul + 0xb8: 0x25604, // form + 0xb9: 0xf307, // sandbox + 0xba: 0x5705, // frame + 0xbb: 0x1505, // value + 0xbc: 0x65e09, // onstorage + 0xc0: 0x17b02, // rt + 0xc2: 0x202, // br + 0xc3: 0x20e08, // fieldset + 0xc4: 0x2780d, // typemustmatch + 0xc5: 0x6108, // nomodule + 0xc6: 0x4007, // noembed + 0xc7: 0x69a0d, // onbeforeprint + 0xc8: 0x17206, // button + 0xc9: 0x2dd07, // onclick + 0xca: 0x6fe07, // summary + 0xcd: 0xac04, // ruby + 0xce: 0x5b905, // class + 0xcf: 0x3e80b, // ondragstart + 0xd0: 0x21907, // caption + 0xd4: 0x850e, // allowusermedia + 0xd5: 0x4c30b, // onloadstart + 0xd9: 0x15403, // div + 0xda: 0x49d04, // list + 0xdb: 0x32204, // math + 0xdc: 0x43f05, // input + 0xdf: 0x3de0a, // ondragover + 0xe0: 0x2c602, // h2 + 0xe2: 0x19e09, // plaintext + 0xe4: 0x4e70c, // onmouseenter + 0xe7: 0x46d07, // checked + 0xe8: 0x46403, // pre + 0xea: 0x35308, // multiple + 0xeb: 0x16103, // bdi + 0xec: 0x33109, // maxlength + 0xed: 0x7701, // q + 0xee: 0x61b0a, // onauxclick + 0xf0: 0x57003, // wbr + 0xf2: 0x11504, // base + 0xf3: 0x6dd06, // option + 0xf5: 0x40710, // ondurationchange + 0xf7: 0x5508, // noframes + 0xf9: 0x3f908, // dropzone + 0xfb: 0x67105, // scope + 0xfc: 0x9c08, // reversed + 0xfd: 0x3ae0b, // ondragenter + 0xfe: 0x3ee05, // start + 0xff: 0xf903, // xmp + 0x100: 0x5f507, // srclang + 0x101: 0x2ef03, // img + 0x104: 0x101, // b + 0x105: 0x23c03, // for + 0x106: 0xc105, // aside + 0x107: 0x43d07, // oninput + 0x108: 0x34a04, // area + 0x109: 0x28c0a, // formmethod + 0x10a: 0x72004, // wrap + 0x10c: 0x22402, // rp + 0x10d: 0x45f0a, // onkeypress + 0x10e: 0x5102, // tt + 0x110: 0x33b02, // mi + 0x111: 0x35b05, // muted + 0x112: 0xb003, // alt + 0x113: 0x19004, // code + 0x114: 0x4202, // em + 0x115: 0x3b90a, // ondragexit + 0x117: 0x3d04, // span + 0x119: 0x30f08, // manifest + 0x11a: 0x37b08, // menuitem + 0x11b: 0x57f07, // content + 0x11d: 0x6bd09, // onwaiting + 0x11f: 0x4ba09, // onloadend + 0x121: 0x3720d, // oncontextmenu + 0x123: 0x5c206, // onblur + 0x124: 0x3f007, // article + 0x125: 0xa303, // dir + 0x126: 0xe704, // ping + 0x127: 0x23408, // required + 0x128: 0x44909, // oninvalid + 0x129: 0x6d405, // align + 0x12b: 0x57e04, // icon + 0x12c: 0x64902, // h6 + 0x12d: 0x1b404, // cols + 0x12e: 0x2160a, // figcaption + 0x12f: 0x45209, // onkeydown + 0x130: 0x66708, // onsubmit + 0x131: 0x13609, // oncanplay + 0x132: 0x70503, // sup + 0x133: 0xc01, // p + 0x135: 0x3fe09, // onemptied + 0x136: 0x38506, // oncopy + 0x137: 0x55804, // cite + 0x138: 0x39b0a, // ondblclick + 0x13a: 0x4ff0b, // onmousemove + 0x13c: 0x66903, // sub + 0x13d: 0x47b03, // rel + 0x13e: 0xe008, // optgroup + 0x142: 0x3a07, // rowspan + 0x143: 0x36c06, // source + 0x144: 0x1fe08, // noscript + 0x145: 0x55f04, // open + 0x146: 0x1ec03, // ins + 0x147: 0x23c0d, // foreignObject + 0x148: 0x5a10a, // onpopstate + 0x14a: 0x27507, // enctype + 0x14b: 0x25e0e, // onautocomplete + 0x14c: 0x34608, // textarea + 0x14e: 0x2600c, // autocomplete + 0x14f: 0x14002, // hr + 0x150: 0x1ce08, // controls + 0x151: 0xc302, // id + 0x153: 0x21e0c, // onafterprint + 0x155: 0x2490d, // foreignobject + 0x156: 0x31b07, // marquee + 0x157: 0x58e07, // onpause + 0x158: 0x5e202, // dl + 0x159: 0x12c06, // height + 0x15a: 0x33b03, // min + 0x15b: 0xa307, // dirname + 0x15c: 0x1a609, // translate + 0x15d: 0x13004, // html + 0x15e: 0x33b09, // minlength + 0x15f: 0x47a07, // preload + 0x160: 0x70e08, // template + 0x161: 0x3d30b, // ondragleave + 0x164: 0x5b403, // src + 0x165: 0x31506, // strong + 0x167: 0x4c04, // samp + 0x168: 0x6ed07, // address + 0x169: 0x54508, // ononline + 0x16b: 0xfb0b, // placeholder + 0x16c: 0x2ac06, // target + 0x16d: 0x1ee05, // small + 0x16e: 0x6c607, // onwheel + 0x16f: 0x1b90a, // annotation + 0x170: 0x4680a, // spellcheck + 0x171: 0x4607, // details + 0x172: 0xbd06, // canvas + 0x173: 0xeb09, // autofocus + 0x174: 0xc05, // param + 0x176: 0x45708, // download + 0x177: 0x44603, // del + 0x178: 0x36007, // onclose + 0x179: 0x16003, // kbd + 0x17a: 0x30106, // applet + 0x17b: 0x2c804, // href + 0x17c: 0x5ed08, // onresize + 0x17e: 0x4910c, // onloadeddata + 0x180: 0x7402, // tr + 0x181: 0x2a80a, // formtarget + 0x182: 0xca05, // title + 0x183: 0x6f905, // style + 0x184: 0x7a06, // strike + 0x185: 0x59206, // usemap + 0x186: 0x2e406, // iframe + 0x187: 0x1004, // main + 0x189: 0x9707, // picture + 0x18c: 0x2fe05, // ismap + 0x18e: 0x49904, // data + 0x18f: 0xda05, // label + 0x191: 0x3c50e, // referrerpolicy + 0x192: 0x13f02, // th + 0x194: 0x52a06, // prompt + 0x195: 0x5bd07, // section + 0x197: 0x6cd07, // optimum + 0x198: 0x2c304, // high + 0x199: 0x14502, // h1 + 0x19a: 0x65509, // onstalled + 0x19b: 0x15603, // var + 0x19c: 0x11c04, // time + 0x19e: 0x67002, // ms + 0x19f: 0x32506, // header + 0x1a0: 0x4ce09, // onmessage + 0x1a1: 0x56205, // nonce + 0x1a2: 0x2560a, // formaction + 0x1a3: 0x20806, // center + 0x1a4: 0x3704, // nobr + 0x1a5: 0x58905, // table + 0x1a6: 0x49d07, // listing + 0x1a7: 0x18a06, // legend + 0x1a9: 0x28309, // challenge + 0x1aa: 0x23006, // figure + 0x1ab: 0x8e05, // media + 0x1ae: 0x8104, // type + 0x1af: 0x11904, // font + 0x1b0: 0x4ce0e, // onmessageerror + 0x1b1: 0x36508, // seamless + 0x1b2: 0x5f03, // dfn + 0x1b3: 0x19205, // defer + 0x1b4: 0x6b03, // low + 0x1b5: 0x62d09, // onseeking + 0x1b6: 0x5170b, // onmouseover + 0x1b7: 0x29a0a, // novalidate + 0x1b8: 0x7160a, // workertype + 0x1ba: 0x3c107, // itemref + 0x1bd: 0x1, // a + 0x1be: 0x30003, // map + 0x1bf: 0x11a0c, // ontimeupdate + 0x1c0: 0x14707, // bgsound + 0x1c1: 0x3206, // keygen + 0x1c2: 0x2705, // tbody + 0x1c5: 0x64006, // onshow + 0x1c7: 0x2501, // s + 0x1c8: 0x4f07, // pattern + 0x1cc: 0x13610, // oncanplaythrough + 0x1ce: 0x2bf02, // dd + 0x1cf: 0x6f306, // srcset + 0x1d0: 0x15903, // big + 0x1d2: 0x64d08, // sortable + 0x1d3: 0x47407, // onkeyup + 0x1d5: 0x59806, // onplay + 0x1d7: 0x4ac04, // meta + 0x1d8: 0x3f706, // ondrop + 0x1da: 0x5fc08, // onscroll + 0x1db: 0x1e30b, // crossorigin + 0x1dc: 0x5670a, // onpageshow + 0x1dd: 0x4, // abbr + 0x1de: 0x5e02, // td + 0x1df: 0x57f0f, // contenteditable + 0x1e0: 0x25a06, // action + 0x1e1: 0x10a0b, // playsinline + 0x1e2: 0x42507, // onfocus + 0x1e3: 0x2c808, // hreflang + 0x1e5: 0x50a0a, // onmouseout + 0x1e6: 0x5e607, // onreset + 0x1e7: 0x10608, // autoplay + 0x1ea: 0x67106, // scoped + 0x1ec: 0x30a, // radiogroup + 0x1ee: 0x3740b, // contextmenu + 0x1ef: 0x52209, // onmouseup + 0x1f1: 0x2b206, // hgroup + 0x1f2: 0x1f00f, // allowfullscreen + 0x1f3: 0x4b208, // tabindex + 0x1f6: 0x2f707, // isindex + 0x1f7: 0x1a0e, // accept-charset + 0x1f8: 0x2960e, // formnovalidate + 0x1fb: 0x1b90e, // annotation-xml + 0x1fc: 0x4205, // embed + 0x1fd: 0x20006, // script + 0x1fe: 0x16206, // dialog + 0x1ff: 0x1c707, // command } -const atomText = "abbradiogrouparamalignmarkbdialogaccept-charsetbodyaccesskey" + - "genavaluealtdetailsampatternobreversedfnoembedirnamediagroup" + - "ingasyncanvasidefaultfooterowspanoframesetitleaudionblurubya" + - "utofocusandboxmplaceholderautoplaybasefontimeupdatebdoncance" + - "labelooptgrouplaintextrackindisabledivarbgsoundlowbrbigblink" + - "blockquotebuttonabortranslatecodefercolgroupostercolorcolspa" + - "nnotation-xmlcommandraggablegendcontrolsmallcoordsortedcross" + - "originsourcefieldsetfigcaptionafterprintfigurequiredforeignO" + - "bjectforeignobjectformactionautocompleteerrorformenctypemust" + - "matchallengeformmethodformnovalidatetimeterformtargetheightm" + - "lhgroupreloadhiddenhigh1hreflanghttp-equivideoncanplaythroug" + - "h2iframeimageimglyph3isindexismappletitemscopeditemtypemarqu" + - "eematheaderspacermaxlength4minlength5mtextareadonlymultiplem" + - "utedonclickoncloseamlesspellcheckedoncontextmenuitemidoncuec" + - "hangeondblclickondragendondragenterondragleaveondragoverondr" + - "agstarticleondropzonemptiedondurationchangeonendedonerroronf" + - "ocusrcdocitempropenoscriptonhashchangeoninputmodeloninvalido" + - "nkeydownloadonkeypressrclangonkeyupublicontenteditableonlang" + - "uagechangeonloadeddatalistingonloadedmetadatabindexonloadsta" + - "rtonmessageonmousedownonmousemoveonmouseoutputonmouseoveronm" + - "ouseuponmousewheelonofflineononlineonpagehidesclassectionbef" + - "oreunloaddresshapeonpageshowidth6onpausemaponplayingonpopsta" + - "teonprogresstrikeytypeonratechangeonresetonresizestrongonscr" + - "ollonseekedonseekingonselectedonshowraponsortableonstalledon" + - "storageonsubmitemrefacenteronsuspendontoggleonunloadonvolume" + - "changeonwaitingoptimumanifestepromptoptionbeforeprintstylesu" + - "mmarysupsvgsystemplate" +const atomText = "abbradiogrouparamainavalueaccept-charsetbodyaccesskeygenobro" + + "wspanoembedetailsampatternoframesetdfnomoduleallowpaymentreq" + + "uestrikeytypeallowusermediagroupictureversedirnameterubyaltf" + + "ooterasyncanvasidefaultitleaudioncancelabelooptgroupingautof" + + "ocusandboxmplaceholderautoplaysinlinebasefontimeupdateviacac" + + "heightmlbdoncanplaythrough1bgsoundisabledivarbigblinkbdialog" + + "blockquotebuttonabortrackindraggablegendcodefercolgrouplaint" + + "extranslatecolorcolspannotation-xmlcommandcontrolshapecoords" + + "lotcrossoriginsmallowfullscreenoscriptfacenterfieldsetfigcap" + + "tionafterprintegrityfigurequiredforeignObjectforeignobjectfo" + + "rmactionautocompleteerrorformenctypemustmatchallengeformmeth" + + "odformnovalidatetimeformtargethgrouposterhiddenhigh2hreflang" + + "http-equivideonclickiframeimageimglyph3isindexismappletitemt" + + "ypemanifestrongmarqueematheadersortedmaxlength4minlength5mte" + + "xtareadonlymultiplemutedoncloseamlessourceoncontextmenuitemi" + + "doncopyoncuechangeoncutondblclickondragendondragenterondrage" + + "xitemreferrerpolicyondragleaveondragoverondragstarticleondro" + + "pzonemptiedondurationchangeonendedonerroronfocuspaceronhashc" + + "hangeoninputmodeloninvalidonkeydownloadonkeypresspellchecked" + + "onkeyupreloadonlanguagechangeonloadeddatalistingonloadedmeta" + + "databindexonloadendonloadstartonmessageerroronmousedownonmou" + + "seenteronmouseleaveonmousemoveonmouseoutputonmouseoveronmous" + + "eupromptonmousewheelonofflineononlineonpagehidescitempropeno" + + "nceonpageshowbronpastepublicontenteditableonpausemaponplayin" + + "gonpopstateonprogressrcdoclassectionbluronratechangeonreject" + + "ionhandledonresetonresizesrclangonscrollonsecuritypolicyviol" + + "ationauxclickonseekedonseekingonselectedonshowidth6onsortabl" + + "eonstalledonstorageonsubmitemscopedonsuspendontoggleonunhand" + + "ledrejectionbeforeprintonunloadonvolumechangeonwaitingonwhee" + + "loptimumalignmarkoptionbeforeunloaddressrcsetstylesummarysup" + + "svgsystemplateworkertypewrap" diff --git a/vendor/golang.org/x/net/html/atom/table_test.go b/vendor/golang.org/x/net/html/atom/table_test.go index 0f2ecce4f..16891054f 100644 --- a/vendor/golang.org/x/net/html/atom/table_test.go +++ b/vendor/golang.org/x/net/html/atom/table_test.go @@ -1,23 +1,28 @@ -// generated by go run gen.go -test; DO NOT EDIT +// Code generated by go generate gen.go; DO NOT EDIT. + +//go:generate go run gen.go -test package atom var testAtomList = []string{ "a", "abbr", - "abbr", "accept", "accept-charset", "accesskey", "action", "address", "align", + "allowfullscreen", + "allowpaymentrequest", + "allowusermedia", "alt", "annotation", "annotation-xml", "applet", "area", "article", + "as", "aside", "async", "audio", @@ -43,7 +48,6 @@ var testAtomList = []string{ "charset", "checked", "cite", - "cite", "class", "code", "col", @@ -52,7 +56,6 @@ var testAtomList = []string{ "cols", "colspan", "command", - "command", "content", "contenteditable", "contextmenu", @@ -60,7 +63,6 @@ var testAtomList = []string{ "coords", "crossorigin", "data", - "data", "datalist", "datetime", "dd", @@ -93,7 +95,6 @@ var testAtomList = []string{ "foreignObject", "foreignobject", "form", - "form", "formaction", "formenctype", "formmethod", @@ -128,6 +129,8 @@ var testAtomList = []string{ "input", "inputmode", "ins", + "integrity", + "is", "isindex", "ismap", "itemid", @@ -140,7 +143,6 @@ var testAtomList = []string{ "keytype", "kind", "label", - "label", "lang", "legend", "li", @@ -149,6 +151,7 @@ var testAtomList = []string{ "listing", "loop", "low", + "main", "malignmark", "manifest", "map", @@ -179,6 +182,8 @@ var testAtomList = []string{ "nobr", "noembed", "noframes", + "nomodule", + "nonce", "noscript", "novalidate", "object", @@ -187,6 +192,7 @@ var testAtomList = []string{ "onafterprint", "onautocomplete", "onautocompleteerror", + "onauxclick", "onbeforeprint", "onbeforeunload", "onblur", @@ -197,11 +203,14 @@ var testAtomList = []string{ "onclick", "onclose", "oncontextmenu", + "oncopy", "oncuechange", + "oncut", "ondblclick", "ondrag", "ondragend", "ondragenter", + "ondragexit", "ondragleave", "ondragover", "ondragstart", @@ -221,9 +230,13 @@ var testAtomList = []string{ "onload", "onloadeddata", "onloadedmetadata", + "onloadend", "onloadstart", "onmessage", + "onmessageerror", "onmousedown", + "onmouseenter", + "onmouseleave", "onmousemove", "onmouseout", "onmouseover", @@ -233,15 +246,18 @@ var testAtomList = []string{ "ononline", "onpagehide", "onpageshow", + "onpaste", "onpause", "onplay", "onplaying", "onpopstate", "onprogress", "onratechange", + "onrejectionhandled", "onreset", "onresize", "onscroll", + "onsecuritypolicyviolation", "onseeked", "onseeking", "onselect", @@ -253,9 +269,11 @@ var testAtomList = []string{ "onsuspend", "ontimeupdate", "ontoggle", + "onunhandledrejection", "onunload", "onvolumechange", "onwaiting", + "onwheel", "open", "optgroup", "optimum", @@ -264,9 +282,11 @@ var testAtomList = []string{ "p", "param", "pattern", + "picture", "ping", "placeholder", "plaintext", + "playsinline", "poster", "pre", "preload", @@ -276,6 +296,7 @@ var testAtomList = []string{ "q", "radiogroup", "readonly", + "referrerpolicy", "rel", "required", "reversed", @@ -297,23 +318,23 @@ var testAtomList = []string{ "shape", "size", "sizes", + "slot", "small", "sortable", "sorted", "source", "spacer", "span", - "span", "spellcheck", "src", "srcdoc", "srclang", + "srcset", "start", "step", "strike", "strong", "style", - "style", "sub", "summary", "sup", @@ -331,7 +352,6 @@ var testAtomList = []string{ "thead", "time", "title", - "title", "tr", "track", "translate", @@ -340,12 +360,14 @@ var testAtomList = []string{ "typemustmatch", "u", "ul", + "updateviacache", "usemap", "value", "var", "video", "wbr", "width", + "workertype", "wrap", "xmp", } diff --git a/vendor/golang.org/x/net/html/const.go b/vendor/golang.org/x/net/html/const.go index 52f651ff6..b37e62124 100644 --- a/vendor/golang.org/x/net/html/const.go +++ b/vendor/golang.org/x/net/html/const.go @@ -52,10 +52,12 @@ var isSpecialElementMap = map[string]bool{ "iframe": true, "img": true, "input": true, - "isindex": true, + "isindex": true, // The 'isindex' element has been removed, but keep it for backwards compatibility. + "keygen": true, "li": true, "link": true, "listing": true, + "main": true, "marquee": true, "menu": true, "meta": true, diff --git a/vendor/golang.org/x/net/http2/h2i/h2i.go b/vendor/golang.org/x/net/http2/h2i/h2i.go index 3f4cfe225..62e57527c 100644 --- a/vendor/golang.org/x/net/http2/h2i/h2i.go +++ b/vendor/golang.org/x/net/http2/h2i/h2i.go @@ -45,6 +45,7 @@ var ( flagNextProto = flag.String("nextproto", "h2,h2-14", "Comma-separated list of NPN/ALPN protocol names to negotiate.") flagInsecure = flag.Bool("insecure", false, "Whether to skip TLS cert validation") flagSettings = flag.String("settings", "empty", "comma-separated list of KEY=value settings for the initial SETTINGS frame. The magic value 'empty' sends an empty initial settings frame, and the magic value 'omit' causes no initial settings frame to be sent.") + flagDial = flag.String("dial", "", "optional ip:port to dial, to connect to a host:port but use a different SNI name (including a SNI name without DNS)") ) type command struct { @@ -147,11 +148,14 @@ func (app *h2i) Main() error { InsecureSkipVerify: *flagInsecure, } - hostAndPort := withPort(app.host) + hostAndPort := *flagDial + if hostAndPort == "" { + hostAndPort = withPort(app.host) + } log.Printf("Connecting to %s ...", hostAndPort) tc, err := tls.Dial("tcp", hostAndPort, cfg) if err != nil { - return fmt.Errorf("Error dialing %s: %v", withPort(app.host), err) + return fmt.Errorf("Error dialing %s: %v", hostAndPort, err) } log.Printf("Connected to %v", tc.RemoteAddr()) defer tc.Close() diff --git a/vendor/golang.org/x/net/http2/transport.go b/vendor/golang.org/x/net/http2/transport.go index 850d7ae09..adb77ffab 100644 --- a/vendor/golang.org/x/net/http2/transport.go +++ b/vendor/golang.org/x/net/http2/transport.go @@ -18,6 +18,7 @@ import ( "io/ioutil" "log" "math" + mathrand "math/rand" "net" "net/http" "sort" @@ -86,7 +87,7 @@ type Transport struct { // 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 allow. Unlike the http2 spec, zero here + // 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 ulimited value to the peer, Transport // interprets the highest possible value here (0xffffffff or 1<<32-1) @@ -164,15 +165,17 @@ type ClientConn struct { goAwayDebug string // goAway frame's debug data, retained as a string streams map[uint32]*clientStream // client-initiated nextStreamID uint32 + pendingRequests int // requests blocked and waiting to be sent because len(streams) == maxConcurrentStreams pings map[[8]byte]chan struct{} // in flight ping data to notification channel bw *bufio.Writer br *bufio.Reader fr *Framer lastActive time.Time // Settings from peer: (also guarded by mu) - maxFrameSize uint32 - maxConcurrentStreams uint32 - initialWindowSize uint32 + maxFrameSize uint32 + maxConcurrentStreams uint32 + peerMaxHeaderListSize uint64 + initialWindowSize uint32 hbuf bytes.Buffer // HPACK encoder writes into this henc *hpack.Encoder @@ -216,35 +219,45 @@ type clientStream struct { resTrailer *http.Header // client's Response.Trailer } -// awaitRequestCancel runs in its own goroutine and waits for the user -// to cancel a RoundTrip request, its context to expire, or for the -// request to be done (any way it might be removed from the cc.streams -// map: peer reset, successful completion, TCP connection breakage, -// etc) -func (cs *clientStream) awaitRequestCancel(req *http.Request) { +// awaitRequestCancel waits for the user to cancel a request or for the done +// channel to be signaled. A non-nil error is returned only if the request was +// canceled. +func awaitRequestCancel(req *http.Request, done <-chan struct{}) error { ctx := reqContext(req) if req.Cancel == nil && ctx.Done() == nil { - return + return nil } select { case <-req.Cancel: - cs.cancelStream() - cs.bufPipe.CloseWithError(errRequestCanceled) + return errRequestCanceled case <-ctx.Done(): + return ctx.Err() + case <-done: + return nil + } +} + +// awaitRequestCancel waits for the user to cancel a request, its context to +// expire, or for the request to be done (any way it might be removed from the +// cc.streams map: peer reset, successful completion, TCP connection breakage, +// etc). If the request is canceled, then cs will be canceled and closed. +func (cs *clientStream) awaitRequestCancel(req *http.Request) { + if err := awaitRequestCancel(req, cs.done); err != nil { cs.cancelStream() - cs.bufPipe.CloseWithError(ctx.Err()) - case <-cs.done: + cs.bufPipe.CloseWithError(err) } } func (cs *clientStream) cancelStream() { - cs.cc.mu.Lock() + cc := cs.cc + cc.mu.Lock() didReset := cs.didReset cs.didReset = true - cs.cc.mu.Unlock() + cc.mu.Unlock() if !didReset { - cs.cc.writeStreamReset(cs.ID, ErrCodeCancel, nil) + cc.writeStreamReset(cs.ID, ErrCodeCancel, nil) + cc.forgetStreamID(cs.ID) } } @@ -329,7 +342,7 @@ func (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Res } addr := authorityAddr(req.URL.Scheme, req.URL.Host) - for { + 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) @@ -337,9 +350,25 @@ func (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Res } traceGotConn(req, cc) res, err := cc.RoundTrip(req) - if err != nil { - if req, err = shouldRetryRequest(req, err); err == nil { - continue + if err != nil && retry <= 6 { + afterBodyWrite := false + if e, ok := err.(afterReqBodyWriteError); ok { + err = e + afterBodyWrite = true + } + if req, err = shouldRetryRequest(req, err, afterBodyWrite); err == nil { + // After the first retry, do exponential backoff with 10% jitter. + if retry == 0 { + continue + } + backoff := float64(uint(1) << (uint(retry) - 1)) + backoff += backoff * (0.1 * mathrand.Float64()) + select { + case <-time.After(time.Second * time.Duration(backoff)): + continue + case <-reqContext(req).Done(): + return nil, reqContext(req).Err() + } } } if err != nil { @@ -360,43 +389,60 @@ func (t *Transport) CloseIdleConnections() { } var ( - errClientConnClosed = errors.New("http2: client conn is closed") - errClientConnUnusable = errors.New("http2: client conn not usable") - - errClientConnGotGoAway = errors.New("http2: Transport received Server's graceful shutdown GOAWAY") - errClientConnGotGoAwayAfterSomeReqBody = errors.New("http2: Transport received Server's graceful shutdown GOAWAY; some request body already written") + errClientConnClosed = errors.New("http2: client conn is closed") + errClientConnUnusable = errors.New("http2: client conn not usable") + errClientConnGotGoAway = errors.New("http2: Transport received Server's graceful shutdown GOAWAY") ) +// afterReqBodyWriteError is a wrapper around errors returned by ClientConn.RoundTrip. +// It is used to signal that err happened after part of Request.Body was sent to the server. +type afterReqBodyWriteError struct { + err error +} + +func (e afterReqBodyWriteError) Error() string { + return e.err.Error() + "; some request body already written" +} + // 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) { - switch err { - default: +func shouldRetryRequest(req *http.Request, err error, afterBodyWrite bool) (*http.Request, error) { + if !canRetryError(err) { return nil, err - case errClientConnUnusable, errClientConnGotGoAway: - return req, nil - case errClientConnGotGoAwayAfterSomeReqBody: - // If the Body is nil (or http.NoBody), it's safe to reuse - // this request and its Body. - if req.Body == nil || reqBodyIsNoBody(req.Body) { - return req, nil - } - // Otherwise we depend on the Request having its GetBody - // func defined. - getBody := reqGetBody(req) // Go 1.8: getBody = req.GetBody - if getBody == nil { - return nil, errors.New("http2: Transport: peer server initiated graceful shutdown after some of Request.Body was written; define Request.GetBody to avoid this error") - } - body, err := getBody() - if err != nil { - return nil, err - } - newReq := *req - newReq.Body = body - return &newReq, nil } + if !afterBodyWrite { + return req, nil + } + // If the Body is nil (or http.NoBody), it's safe to reuse + // this request and its Body. + if req.Body == nil || reqBodyIsNoBody(req.Body) { + return req, nil + } + // Otherwise we depend on the Request having its GetBody + // func defined. + getBody := reqGetBody(req) // Go 1.8: getBody = req.GetBody + if getBody == nil { + return nil, fmt.Errorf("http2: Transport: cannot retry err [%v] after Request.Body was written; define Request.GetBody to avoid this error", err) + } + body, err := getBody() + if err != nil { + return nil, err + } + newReq := *req + newReq.Body = body + return &newReq, nil +} + +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(addr string, singleUse bool) (*ClientConn, error) { @@ -474,17 +520,18 @@ func (t *Transport) NewClientConn(c net.Conn) (*ClientConn, error) { func (t *Transport) newClientConn(c net.Conn, singleUse bool) (*ClientConn, error) { cc := &ClientConn{ - t: t, - tconn: c, - readerDone: make(chan struct{}), - nextStreamID: 1, - maxFrameSize: 16 << 10, // spec default - initialWindowSize: 65535, // spec default - maxConcurrentStreams: 1000, // "infinite", per spec. 1000 seems good enough. - streams: make(map[uint32]*clientStream), - singleUse: singleUse, - wantSettingsAck: true, - pings: make(map[[8]byte]chan struct{}), + t: t, + tconn: c, + readerDone: make(chan struct{}), + nextStreamID: 1, + maxFrameSize: 16 << 10, // spec default + initialWindowSize: 65535, // spec default + maxConcurrentStreams: 1000, // "infinite", per spec. 1000 seems good enough. + peerMaxHeaderListSize: 0xffffffffffffffff, // "infinite", per spec. Use 2^64-1 instead. + streams: make(map[uint32]*clientStream), + singleUse: singleUse, + wantSettingsAck: true, + pings: make(map[[8]byte]chan struct{}), } if d := t.idleConnTimeout(); d != 0 { cc.idleTimeout = d @@ -560,6 +607,8 @@ 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. func (cc *ClientConn) CanTakeNewRequest() bool { cc.mu.Lock() defer cc.mu.Unlock() @@ -571,8 +620,7 @@ func (cc *ClientConn) canTakeNewRequestLocked() bool { return false } return cc.goAway == nil && !cc.closed && - int64(len(cc.streams)+1) < int64(cc.maxConcurrentStreams) && - cc.nextStreamID < math.MaxInt32 + int64(cc.nextStreamID)+int64(cc.pendingRequests) < math.MaxInt32 } // onIdleTimeout is called from a time.AfterFunc goroutine. It will @@ -718,10 +766,9 @@ func (cc *ClientConn) RoundTrip(req *http.Request) (*http.Response, error) { hasTrailers := trailers != "" cc.mu.Lock() - cc.lastActive = time.Now() - if cc.closed || !cc.canTakeNewRequestLocked() { + if err := cc.awaitOpenSlotForRequest(req); err != nil { cc.mu.Unlock() - return nil, errClientConnUnusable + return nil, err } body := req.Body @@ -816,14 +863,13 @@ func (cc *ClientConn) RoundTrip(req *http.Request) (*http.Response, error) { cs.abortRequestBodyWrite(errStopReqBodyWrite) } if re.err != nil { - if re.err == errClientConnGotGoAway { - cc.mu.Lock() - if cs.startedWrite { - re.err = errClientConnGotGoAwayAfterSomeReqBody - } - cc.mu.Unlock() - } + cc.mu.Lock() + afterBodyWrite := cs.startedWrite + cc.mu.Unlock() cc.forgetStreamID(cs.ID) + if afterBodyWrite { + return nil, afterReqBodyWriteError{re.err} + } return nil, re.err } res.Request = req @@ -836,31 +882,31 @@ func (cc *ClientConn) RoundTrip(req *http.Request) (*http.Response, error) { case re := <-readLoopResCh: return handleReadLoopResponse(re) case <-respHeaderTimer: - cc.forgetStreamID(cs.ID) if !hasBody || bodyWritten { cc.writeStreamReset(cs.ID, ErrCodeCancel, nil) } else { bodyWriter.cancel() cs.abortRequestBodyWrite(errStopReqBodyWriteAndCancel) } + cc.forgetStreamID(cs.ID) return nil, errTimeout case <-ctx.Done(): - cc.forgetStreamID(cs.ID) if !hasBody || bodyWritten { cc.writeStreamReset(cs.ID, ErrCodeCancel, nil) } else { bodyWriter.cancel() cs.abortRequestBodyWrite(errStopReqBodyWriteAndCancel) } + cc.forgetStreamID(cs.ID) return nil, ctx.Err() case <-req.Cancel: - cc.forgetStreamID(cs.ID) if !hasBody || bodyWritten { cc.writeStreamReset(cs.ID, ErrCodeCancel, nil) } else { bodyWriter.cancel() cs.abortRequestBodyWrite(errStopReqBodyWriteAndCancel) } + cc.forgetStreamID(cs.ID) return nil, errRequestCanceled case <-cs.peerReset: // processResetStream already removed the @@ -887,6 +933,45 @@ func (cc *ClientConn) RoundTrip(req *http.Request) (*http.Response, error) { } } +// awaitOpenSlotForRequest waits until len(streams) < maxConcurrentStreams. +// Must hold cc.mu. +func (cc *ClientConn) awaitOpenSlotForRequest(req *http.Request) error { + var waitingForConn chan struct{} + var waitingForConnErr error // guarded by cc.mu + for { + cc.lastActive = time.Now() + if cc.closed || !cc.canTakeNewRequestLocked() { + return errClientConnUnusable + } + if int64(len(cc.streams))+1 <= int64(cc.maxConcurrentStreams) { + if waitingForConn != nil { + close(waitingForConn) + } + return nil + } + // Unfortunately, we cannot wait on a condition variable and channel at + // the same time, so instead, we spin up a goroutine to check if the + // request is canceled while we wait for a slot to open in the connection. + if waitingForConn == nil { + waitingForConn = make(chan struct{}) + go func() { + if err := awaitRequestCancel(req, waitingForConn); err != nil { + cc.mu.Lock() + waitingForConnErr = err + cc.cond.Broadcast() + cc.mu.Unlock() + } + }() + } + cc.pendingRequests++ + cc.cond.Wait() + cc.pendingRequests-- + if waitingForConnErr != nil { + return waitingForConnErr + } + } +} + // requires cc.wmu be held func (cc *ClientConn) writeHeaders(streamID uint32, endStream bool, hdrs []byte) error { first := true // first frame written (HEADERS is first, then CONTINUATION) @@ -1002,8 +1087,13 @@ func (cs *clientStream) writeRequestBody(body io.Reader, bodyCloser io.Closer) ( var trls []byte if hasTrailers { cc.mu.Lock() - defer cc.mu.Unlock() - trls = cc.encodeTrailers(req) + trls, err = cc.encodeTrailers(req) + cc.mu.Unlock() + if err != nil { + cc.writeStreamReset(cs.ID, ErrCodeInternal, err) + cc.forgetStreamID(cs.ID) + return err + } } cc.wmu.Lock() @@ -1106,62 +1196,86 @@ func (cc *ClientConn) encodeHeaders(req *http.Request, addGzipHeader bool, trail } } - // 8.1.2.3 Request Pseudo-Header Fields - // The :path pseudo-header field includes the path and query parts of the - // target URI (the path-absolute production and optionally a '?' character - // followed by the query production (see Sections 3.3 and 3.4 of - // [RFC3986]). - cc.writeHeader(":authority", host) - cc.writeHeader(":method", req.Method) - if req.Method != "CONNECT" { - cc.writeHeader(":path", path) - cc.writeHeader(":scheme", req.URL.Scheme) - } - if trailers != "" { - cc.writeHeader("trailer", trailers) + enumerateHeaders := func(f func(name, value string)) { + // 8.1.2.3 Request Pseudo-Header Fields + // The :path pseudo-header field includes the path and query parts of the + // target URI (the path-absolute production and optionally a '?' character + // followed by the query production (see Sections 3.3 and 3.4 of + // [RFC3986]). + f(":authority", host) + f(":method", req.Method) + if req.Method != "CONNECT" { + f(":path", path) + f(":scheme", req.URL.Scheme) + } + if trailers != "" { + f("trailer", trailers) + } + + var didUA bool + for k, vv := range req.Header { + if strings.EqualFold(k, "host") || strings.EqualFold(k, "content-length") { + // Host is :authority, already sent. + // Content-Length is automatic, set below. + continue + } else if strings.EqualFold(k, "connection") || strings.EqualFold(k, "proxy-connection") || + strings.EqualFold(k, "transfer-encoding") || strings.EqualFold(k, "upgrade") || + strings.EqualFold(k, "keep-alive") { + // Per 8.1.2.2 Connection-Specific Header + // Fields, don't send connection-specific + // fields. We have already checked if any + // are error-worthy so just ignore the rest. + continue + } else if strings.EqualFold(k, "user-agent") { + // Match Go's http1 behavior: at most one + // User-Agent. If set to nil or empty string, + // then omit it. Otherwise if not mentioned, + // include the default (below). + didUA = true + if len(vv) < 1 { + continue + } + vv = vv[:1] + if vv[0] == "" { + continue + } + + } + + for _, v := range vv { + f(k, v) + } + } + if shouldSendReqContentLength(req.Method, contentLength) { + f("content-length", strconv.FormatInt(contentLength, 10)) + } + if addGzipHeader { + f("accept-encoding", "gzip") + } + if !didUA { + f("user-agent", defaultUserAgent) + } } - var didUA bool - for k, vv := range req.Header { - lowKey := strings.ToLower(k) - switch lowKey { - case "host", "content-length": - // Host is :authority, already sent. - // Content-Length is automatic, set below. - continue - case "connection", "proxy-connection", "transfer-encoding", "upgrade", "keep-alive": - // Per 8.1.2.2 Connection-Specific Header - // Fields, don't send connection-specific - // fields. We have already checked if any - // are error-worthy so just ignore the rest. - continue - case "user-agent": - // Match Go's http1 behavior: at most one - // User-Agent. If set to nil or empty string, - // then omit it. Otherwise if not mentioned, - // include the default (below). - didUA = true - if len(vv) < 1 { - continue - } - vv = vv[:1] - if vv[0] == "" { - continue - } - } - for _, v := range vv { - cc.writeHeader(lowKey, v) - } - } - if shouldSendReqContentLength(req.Method, contentLength) { - cc.writeHeader("content-length", strconv.FormatInt(contentLength, 10)) - } - if addGzipHeader { - cc.writeHeader("accept-encoding", "gzip") - } - if !didUA { - cc.writeHeader("user-agent", defaultUserAgent) + // Do a first pass over the headers counting bytes to ensure + // we don't exceed cc.peerMaxHeaderListSize. This is done as a + // separate pass before encoding the headers to prevent + // modifying the hpack state. + hlSize := uint64(0) + enumerateHeaders(func(name, value string) { + hf := hpack.HeaderField{Name: name, Value: value} + hlSize += uint64(hf.Size()) + }) + + if hlSize > cc.peerMaxHeaderListSize { + return nil, errRequestHeaderListSize } + + // Header list size is ok. Write the headers. + enumerateHeaders(func(name, value string) { + cc.writeHeader(strings.ToLower(name), value) + }) + return cc.hbuf.Bytes(), nil } @@ -1188,17 +1302,29 @@ func shouldSendReqContentLength(method string, contentLength int64) bool { } // requires cc.mu be held. -func (cc *ClientConn) encodeTrailers(req *http.Request) []byte { +func (cc *ClientConn) encodeTrailers(req *http.Request) ([]byte, error) { cc.hbuf.Reset() + + hlSize := uint64(0) for k, vv := range req.Trailer { - // Transfer-Encoding, etc.. have already been filter at the + for _, v := range vv { + hf := hpack.HeaderField{Name: k, Value: v} + hlSize += uint64(hf.Size()) + } + } + if hlSize > cc.peerMaxHeaderListSize { + return nil, errRequestHeaderListSize + } + + for k, vv := range req.Trailer { + // Transfer-Encoding, etc.. have already been filtered at the // start of RoundTrip lowKey := strings.ToLower(k) for _, v := range vv { cc.writeHeader(lowKey, v) } } - return cc.hbuf.Bytes() + return cc.hbuf.Bytes(), nil } func (cc *ClientConn) writeHeader(name, value string) { @@ -1246,7 +1372,9 @@ func (cc *ClientConn) streamByID(id uint32, andRemove bool) *clientStream { cc.idleTimer.Reset(cc.idleTimeout) } close(cs.done) - cc.cond.Broadcast() // wake up checkResetOrDone via clientStream.awaitFlowControl + // Wake up checkResetOrDone via clientStream.awaitFlowControl and + // wake up RoundTrip if there is a pending request. + cc.cond.Broadcast() } return cs } @@ -1345,8 +1473,9 @@ func (rl *clientConnReadLoop) run() error { cc.vlogf("http2: Transport readFrame error on conn %p: (%T) %v", cc, err, err) } if se, ok := err.(StreamError); ok { - if cs := cc.streamByID(se.StreamID, true /*ended; remove it*/); cs != nil { + if cs := cc.streamByID(se.StreamID, false); cs != nil { cs.cc.writeStreamReset(cs.ID, se.Code, err) + cs.cc.forgetStreamID(cs.ID) if se.Cause == nil { se.Cause = cc.fr.errDetail } @@ -1668,6 +1797,7 @@ func (b transportResponseBody) Close() error { } cs.bufPipe.BreakWithError(errClosedResponseBody) + cc.forgetStreamID(cs.ID) return nil } @@ -1702,6 +1832,14 @@ func (rl *clientConnReadLoop) processData(f *DataFrame) error { } return nil } + if !cs.firstByte { + cc.logf("protocol error: received DATA before a HEADERS frame") + rl.endStreamError(cs, StreamError{ + StreamID: f.StreamID, + Code: ErrCodeProtocol, + }) + return nil + } if f.Length > 0 { // Check connection-level flow control. cc.mu.Lock() @@ -1816,6 +1954,8 @@ func (rl *clientConnReadLoop) processSettings(f *SettingsFrame) error { cc.maxFrameSize = s.Val case SettingMaxConcurrentStreams: cc.maxConcurrentStreams = s.Val + 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 @@ -1982,6 +2122,7 @@ func (cc *ClientConn) writeStreamReset(streamID uint32, code ErrCode, err error) var ( errResponseHeaderListSize = errors.New("http2: response header list larger than advertised limit") + errRequestHeaderListSize = errors.New("http2: request header list larger than peer's advertised limit") errPseudoTrailers = errors.New("http2: invalid pseudo header in trailers") ) diff --git a/vendor/golang.org/x/net/http2/transport_test.go b/vendor/golang.org/x/net/http2/transport_test.go index 15dfa0739..0126ff483 100644 --- a/vendor/golang.org/x/net/http2/transport_test.go +++ b/vendor/golang.org/x/net/http2/transport_test.go @@ -16,6 +16,7 @@ import ( "math/rand" "net" "net/http" + "net/http/httptest" "net/url" "os" "reflect" @@ -685,7 +686,7 @@ func newLocalListener(t *testing.T) net.Listener { return ln } -func (ct *clientTester) greet() { +func (ct *clientTester) greet(settings ...Setting) { buf := make([]byte, len(ClientPreface)) _, err := io.ReadFull(ct.sc, buf) if err != nil { @@ -699,7 +700,7 @@ func (ct *clientTester) greet() { ct.t.Fatalf("Wanted client settings frame; got %v", f) _ = sf // stash it away? } - if err := ct.fr.WriteSettings(); err != nil { + if err := ct.fr.WriteSettings(settings...); err != nil { ct.t.Fatal(err) } if err := ct.fr.WriteSettingsAck(); err != nil { @@ -1370,6 +1371,269 @@ func testInvalidTrailer(t *testing.T, trailers headerType, wantErr error, writeT ct.run() } +// headerListSize returns the HTTP2 header list size of h. +// http://httpwg.org/specs/rfc7540.html#SETTINGS_MAX_HEADER_LIST_SIZE +// http://httpwg.org/specs/rfc7540.html#MaxHeaderBlock +func headerListSize(h http.Header) (size uint32) { + for k, vv := range h { + for _, v := range vv { + hf := hpack.HeaderField{Name: k, Value: v} + size += hf.Size() + } + } + return size +} + +// padHeaders adds data to an http.Header until headerListSize(h) == +// limit. Due to the way header list sizes are calculated, padHeaders +// cannot add fewer than len("Pad-Headers") + 32 bytes to h, and will +// call t.Fatal if asked to do so. PadHeaders first reserves enough +// space for an empty "Pad-Headers" key, then adds as many copies of +// filler as possible. Any remaining bytes necessary to push the +// header list size up to limit are added to h["Pad-Headers"]. +func padHeaders(t *testing.T, h http.Header, limit uint64, filler string) { + if limit > 0xffffffff { + t.Fatalf("padHeaders: refusing to pad to more than 2^32-1 bytes. limit = %v", limit) + } + hf := hpack.HeaderField{Name: "Pad-Headers", Value: ""} + minPadding := uint64(hf.Size()) + size := uint64(headerListSize(h)) + + minlimit := size + minPadding + if limit < minlimit { + t.Fatalf("padHeaders: limit %v < %v", limit, minlimit) + } + + // Use a fixed-width format for name so that fieldSize + // remains constant. + nameFmt := "Pad-Headers-%06d" + hf = hpack.HeaderField{Name: fmt.Sprintf(nameFmt, 1), Value: filler} + fieldSize := uint64(hf.Size()) + + // Add as many complete filler values as possible, leaving + // room for at least one empty "Pad-Headers" key. + limit = limit - minPadding + for i := 0; size+fieldSize < limit; i++ { + name := fmt.Sprintf(nameFmt, i) + h.Add(name, filler) + size += fieldSize + } + + // Add enough bytes to reach limit. + remain := limit - size + lastValue := strings.Repeat("*", int(remain)) + h.Add("Pad-Headers", lastValue) +} + +func TestPadHeaders(t *testing.T) { + check := func(h http.Header, limit uint32, fillerLen int) { + if h == nil { + h = make(http.Header) + } + filler := strings.Repeat("f", fillerLen) + padHeaders(t, h, uint64(limit), filler) + gotSize := headerListSize(h) + if gotSize != limit { + t.Errorf("Got size = %v; want %v", gotSize, limit) + } + } + // Try all possible combinations for small fillerLen and limit. + hf := hpack.HeaderField{Name: "Pad-Headers", Value: ""} + minLimit := hf.Size() + for limit := minLimit; limit <= 128; limit++ { + for fillerLen := 0; uint32(fillerLen) <= limit; fillerLen++ { + check(nil, limit, fillerLen) + } + } + + // Try a few tests with larger limits, plus cumulative + // tests. Since these tests are cumulative, tests[i+1].limit + // must be >= tests[i].limit + minLimit. See the comment on + // padHeaders for more info on why the limit arg has this + // restriction. + tests := []struct { + fillerLen int + limit uint32 + }{ + { + fillerLen: 64, + limit: 1024, + }, + { + fillerLen: 1024, + limit: 1286, + }, + { + fillerLen: 256, + limit: 2048, + }, + { + fillerLen: 1024, + limit: 10 * 1024, + }, + { + fillerLen: 1023, + limit: 11 * 1024, + }, + } + h := make(http.Header) + for _, tc := range tests { + check(nil, tc.limit, tc.fillerLen) + check(h, tc.limit, tc.fillerLen) + } +} + +func TestTransportChecksRequestHeaderListSize(t *testing.T) { + st := newServerTester(t, + func(w http.ResponseWriter, r *http.Request) { + // Consume body & force client to send + // trailers before writing response. + // ioutil.ReadAll returns non-nil err for + // requests that attempt to send greater than + // maxHeaderListSize bytes of trailers, since + // those requests generate a stream reset. + ioutil.ReadAll(r.Body) + r.Body.Close() + }, + func(ts *httptest.Server) { + ts.Config.MaxHeaderBytes = 16 << 10 + }, + optOnlyServer, + optQuiet, + ) + defer st.Close() + + tr := &Transport{TLSClientConfig: tlsConfigInsecure} + defer tr.CloseIdleConnections() + + checkRoundTrip := func(req *http.Request, wantErr error, desc string) { + res, err := tr.RoundTrip(req) + if err != wantErr { + if res != nil { + res.Body.Close() + } + t.Errorf("%v: RoundTrip err = %v; want %v", desc, err, wantErr) + return + } + if err == nil { + if res == nil { + t.Errorf("%v: response nil; want non-nil.", desc) + return + } + defer res.Body.Close() + if res.StatusCode != http.StatusOK { + t.Errorf("%v: response status = %v; want %v", desc, res.StatusCode, http.StatusOK) + } + return + } + if res != nil { + t.Errorf("%v: RoundTrip err = %v but response non-nil", desc, err) + } + } + headerListSizeForRequest := func(req *http.Request) (size uint64) { + contentLen := actualContentLength(req) + trailers, err := commaSeparatedTrailers(req) + if err != nil { + t.Fatalf("headerListSizeForRequest: %v", err) + } + cc := &ClientConn{peerMaxHeaderListSize: 0xffffffffffffffff} + cc.henc = hpack.NewEncoder(&cc.hbuf) + cc.mu.Lock() + hdrs, err := cc.encodeHeaders(req, true, trailers, contentLen) + cc.mu.Unlock() + if err != nil { + t.Fatalf("headerListSizeForRequest: %v", err) + } + hpackDec := hpack.NewDecoder(initialHeaderTableSize, func(hf hpack.HeaderField) { + size += uint64(hf.Size()) + }) + if len(hdrs) > 0 { + if _, err := hpackDec.Write(hdrs); err != nil { + t.Fatalf("headerListSizeForRequest: %v", err) + } + } + return size + } + // Create a new Request for each test, rather than reusing the + // same Request, to avoid a race when modifying req.Headers. + // See https://github.com/golang/go/issues/21316 + newRequest := func() *http.Request { + // Body must be non-nil to enable writing trailers. + body := strings.NewReader("hello") + req, err := http.NewRequest("POST", st.ts.URL, body) + if err != nil { + t.Fatalf("newRequest: NewRequest: %v", err) + } + return req + } + + // Make an arbitrary request to ensure we get the server's + // settings frame and initialize peerMaxHeaderListSize. + req := newRequest() + checkRoundTrip(req, nil, "Initial request") + + // Get the ClientConn associated with the request and validate + // peerMaxHeaderListSize. + addr := authorityAddr(req.URL.Scheme, req.URL.Host) + cc, err := tr.connPool().GetClientConn(req, addr) + if err != nil { + t.Fatalf("GetClientConn: %v", err) + } + cc.mu.Lock() + peerSize := cc.peerMaxHeaderListSize + cc.mu.Unlock() + st.scMu.Lock() + wantSize := uint64(st.sc.maxHeaderListSize()) + st.scMu.Unlock() + if peerSize != wantSize { + t.Errorf("peerMaxHeaderListSize = %v; want %v", peerSize, wantSize) + } + + // Sanity check peerSize. (*serverConn) maxHeaderListSize adds + // 320 bytes of padding. + wantHeaderBytes := uint64(st.ts.Config.MaxHeaderBytes) + 320 + if peerSize != wantHeaderBytes { + t.Errorf("peerMaxHeaderListSize = %v; want %v.", peerSize, wantHeaderBytes) + } + + // Pad headers & trailers, but stay under peerSize. + req = newRequest() + req.Header = make(http.Header) + req.Trailer = make(http.Header) + filler := strings.Repeat("*", 1024) + padHeaders(t, req.Trailer, peerSize, filler) + // cc.encodeHeaders adds some default headers to the request, + // so we need to leave room for those. + defaultBytes := headerListSizeForRequest(req) + padHeaders(t, req.Header, peerSize-defaultBytes, filler) + checkRoundTrip(req, nil, "Headers & Trailers under limit") + + // Add enough header bytes to push us over peerSize. + req = newRequest() + req.Header = make(http.Header) + padHeaders(t, req.Header, peerSize, filler) + checkRoundTrip(req, errRequestHeaderListSize, "Headers over limit") + + // Push trailers over the limit. + req = newRequest() + req.Trailer = make(http.Header) + padHeaders(t, req.Trailer, peerSize+1, filler) + checkRoundTrip(req, errRequestHeaderListSize, "Trailers over limit") + + // Send headers with a single large value. + req = newRequest() + filler = strings.Repeat("*", int(peerSize)) + req.Header = make(http.Header) + req.Header.Set("Big", filler) + checkRoundTrip(req, errRequestHeaderListSize, "Single large header") + + // Send trailers with a single large value. + req = newRequest() + req.Trailer = make(http.Header) + req.Trailer.Set("Big", filler) + checkRoundTrip(req, errRequestHeaderListSize, "Single large trailer") +} + func TestTransportChecksResponseHeaderListSize(t *testing.T) { ct := newClientTester(t) ct.client = func() error { @@ -2662,7 +2926,7 @@ func TestTransportRequestPathPseudo(t *testing.T) { }, } for i, tt := range tests { - cc := &ClientConn{} + cc := &ClientConn{peerMaxHeaderListSize: 0xffffffffffffffff} cc.henc = hpack.NewEncoder(&cc.hbuf) cc.mu.Lock() hdrs, err := cc.encodeHeaders(tt.req, false, "", -1) @@ -2926,6 +3190,339 @@ func TestTransportRetryAfterGOAWAY(t *testing.T) { } } +func TestTransportRetryAfterRefusedStream(t *testing.T) { + clientDone := make(chan struct{}) + ct := newClientTester(t) + ct.client = func() error { + defer ct.cc.(*net.TCPConn).CloseWrite() + defer close(clientDone) + req, _ := http.NewRequest("GET", "https://dummy.tld/", nil) + resp, err := ct.tr.RoundTrip(req) + if err != nil { + return fmt.Errorf("RoundTrip: %v", err) + } + resp.Body.Close() + if resp.StatusCode != 204 { + return fmt.Errorf("Status = %v; want 204", resp.StatusCode) + } + return nil + } + ct.server = func() error { + ct.greet() + var buf bytes.Buffer + enc := hpack.NewEncoder(&buf) + nreq := 0 + + for { + f, err := ct.fr.ReadFrame() + if err != nil { + select { + case <-clientDone: + // If the client's done, it + // will have reported any + // errors on its side. + return nil + default: + return err + } + } + switch f := f.(type) { + case *WindowUpdateFrame, *SettingsFrame: + case *HeadersFrame: + if !f.HeadersEnded() { + return fmt.Errorf("headers should have END_HEADERS be ended: %v", f) + } + nreq++ + if nreq == 1 { + ct.fr.WriteRSTStream(f.StreamID, ErrCodeRefusedStream) + } else { + enc.WriteField(hpack.HeaderField{Name: ":status", Value: "204"}) + ct.fr.WriteHeaders(HeadersFrameParam{ + StreamID: f.StreamID, + EndHeaders: true, + EndStream: true, + BlockFragment: buf.Bytes(), + }) + } + default: + return fmt.Errorf("Unexpected client frame %v", f) + } + } + } + ct.run() +} + +func TestTransportRetryHasLimit(t *testing.T) { + // Skip in short mode because the total expected delay is 1s+2s+4s+8s+16s=29s. + if testing.Short() { + t.Skip("skipping long test in short mode") + } + clientDone := make(chan struct{}) + ct := newClientTester(t) + ct.client = func() error { + defer ct.cc.(*net.TCPConn).CloseWrite() + defer close(clientDone) + req, _ := http.NewRequest("GET", "https://dummy.tld/", nil) + resp, err := ct.tr.RoundTrip(req) + if err == nil { + return fmt.Errorf("RoundTrip expected error, got response: %+v", resp) + } + t.Logf("expected error, got: %v", err) + return nil + } + ct.server = func() error { + ct.greet() + for { + f, err := ct.fr.ReadFrame() + if err != nil { + select { + case <-clientDone: + // If the client's done, it + // will have reported any + // errors on its side. + return nil + default: + return err + } + } + switch f := f.(type) { + case *WindowUpdateFrame, *SettingsFrame: + case *HeadersFrame: + if !f.HeadersEnded() { + return fmt.Errorf("headers should have END_HEADERS be ended: %v", f) + } + ct.fr.WriteRSTStream(f.StreamID, ErrCodeRefusedStream) + default: + return fmt.Errorf("Unexpected client frame %v", f) + } + } + } + ct.run() +} + +func TestTransportResponseDataBeforeHeaders(t *testing.T) { + ct := newClientTester(t) + ct.client = func() error { + defer ct.cc.(*net.TCPConn).CloseWrite() + req := httptest.NewRequest("GET", "https://dummy.tld/", nil) + // First request is normal to ensure the check is per stream and not per connection. + _, err := ct.tr.RoundTrip(req) + if err != nil { + return fmt.Errorf("RoundTrip expected no error, got: %v", err) + } + // Second request returns a DATA frame with no HEADERS. + resp, err := ct.tr.RoundTrip(req) + if err == nil { + return fmt.Errorf("RoundTrip expected error, got response: %+v", resp) + } + if err, ok := err.(StreamError); !ok || err.Code != ErrCodeProtocol { + return fmt.Errorf("expected stream PROTOCOL_ERROR, got: %v", err) + } + return nil + } + ct.server = func() error { + ct.greet() + for { + f, err := ct.fr.ReadFrame() + if err == io.EOF { + return nil + } else if err != nil { + return err + } + switch f := f.(type) { + case *WindowUpdateFrame, *SettingsFrame: + case *HeadersFrame: + switch f.StreamID { + case 1: + // Send a valid response to first request. + var buf bytes.Buffer + enc := hpack.NewEncoder(&buf) + enc.WriteField(hpack.HeaderField{Name: ":status", Value: "200"}) + ct.fr.WriteHeaders(HeadersFrameParam{ + StreamID: f.StreamID, + EndHeaders: true, + EndStream: true, + BlockFragment: buf.Bytes(), + }) + case 3: + ct.fr.WriteData(f.StreamID, true, []byte("payload")) + } + default: + return fmt.Errorf("Unexpected client frame %v", f) + } + } + } + ct.run() +} +func TestTransportRequestsStallAtServerLimit(t *testing.T) { + const maxConcurrent = 2 + + greet := make(chan struct{}) // server sends initial SETTINGS frame + gotRequest := make(chan struct{}) // server received a request + clientDone := make(chan struct{}) + + // Collect errors from goroutines. + var wg sync.WaitGroup + errs := make(chan error, 100) + defer func() { + wg.Wait() + close(errs) + for err := range errs { + t.Error(err) + } + }() + + // We will send maxConcurrent+2 requests. This checker goroutine waits for the + // following stages: + // 1. The first maxConcurrent requests are received by the server. + // 2. The client will cancel the next request + // 3. The server is unblocked so it can service the first maxConcurrent requests + // 4. The client will send the final request + wg.Add(1) + unblockClient := make(chan struct{}) + clientRequestCancelled := make(chan struct{}) + unblockServer := make(chan struct{}) + go func() { + defer wg.Done() + // Stage 1. + for k := 0; k < maxConcurrent; k++ { + <-gotRequest + } + // Stage 2. + close(unblockClient) + <-clientRequestCancelled + // Stage 3: give some time for the final RoundTrip call to be scheduled and + // verify that the final request is not sent. + time.Sleep(50 * time.Millisecond) + select { + case <-gotRequest: + errs <- errors.New("last request did not stall") + close(unblockServer) + return + default: + } + close(unblockServer) + // Stage 4. + <-gotRequest + }() + + ct := newClientTester(t) + ct.client = func() error { + var wg sync.WaitGroup + defer func() { + wg.Wait() + close(clientDone) + ct.cc.(*net.TCPConn).CloseWrite() + }() + for k := 0; k < maxConcurrent+2; k++ { + wg.Add(1) + go func(k int) { + defer wg.Done() + // Don't send the second request until after receiving SETTINGS from the server + // to avoid a race where we use the default SettingMaxConcurrentStreams, which + // is much larger than maxConcurrent. We have to send the first request before + // waiting because the first request triggers the dial and greet. + if k > 0 { + <-greet + } + // Block until maxConcurrent requests are sent before sending any more. + if k >= maxConcurrent { + <-unblockClient + } + req, _ := http.NewRequest("GET", fmt.Sprintf("https://dummy.tld/%d", k), nil) + if k == maxConcurrent { + // This request will be canceled. + cancel := make(chan struct{}) + req.Cancel = cancel + close(cancel) + _, err := ct.tr.RoundTrip(req) + close(clientRequestCancelled) + if err == nil { + errs <- fmt.Errorf("RoundTrip(%d) should have failed due to cancel", k) + return + } + } else { + resp, err := ct.tr.RoundTrip(req) + if err != nil { + errs <- fmt.Errorf("RoundTrip(%d): %v", k, err) + return + } + ioutil.ReadAll(resp.Body) + resp.Body.Close() + if resp.StatusCode != 204 { + errs <- fmt.Errorf("Status = %v; want 204", resp.StatusCode) + return + } + } + }(k) + } + return nil + } + + ct.server = func() error { + var wg sync.WaitGroup + defer wg.Wait() + + ct.greet(Setting{SettingMaxConcurrentStreams, maxConcurrent}) + + // Server write loop. + var buf bytes.Buffer + enc := hpack.NewEncoder(&buf) + writeResp := make(chan uint32, maxConcurrent+1) + + wg.Add(1) + go func() { + defer wg.Done() + <-unblockServer + for id := range writeResp { + buf.Reset() + enc.WriteField(hpack.HeaderField{Name: ":status", Value: "204"}) + ct.fr.WriteHeaders(HeadersFrameParam{ + StreamID: id, + EndHeaders: true, + EndStream: true, + BlockFragment: buf.Bytes(), + }) + } + }() + + // Server read loop. + var nreq int + for { + f, err := ct.fr.ReadFrame() + if err != nil { + select { + case <-clientDone: + // If the client's done, it will have reported any errors on its side. + return nil + default: + return err + } + } + switch f := f.(type) { + case *WindowUpdateFrame: + case *SettingsFrame: + // Wait for the client SETTINGS ack until ending the greet. + close(greet) + case *HeadersFrame: + if !f.HeadersEnded() { + return fmt.Errorf("headers should have END_HEADERS be ended: %v", f) + } + gotRequest <- struct{}{} + nreq++ + writeResp <- f.StreamID + if nreq == maxConcurrent+1 { + close(writeResp) + } + default: + return fmt.Errorf("Unexpected client frame %v", f) + } + } + } + + ct.run() +} + func TestAuthorityAddr(t *testing.T) { tests := []struct { scheme, authority string @@ -3039,3 +3636,51 @@ func TestTransportNoBodyMeansNoDATA(t *testing.T) { } ct.run() } + +func benchSimpleRoundTrip(b *testing.B, nHeaders int) { + defer disableGoroutineTracking()() + b.ReportAllocs() + st := newServerTester(b, + func(w http.ResponseWriter, r *http.Request) { + }, + optOnlyServer, + optQuiet, + ) + defer st.Close() + + tr := &Transport{TLSClientConfig: tlsConfigInsecure} + defer tr.CloseIdleConnections() + + req, err := http.NewRequest("GET", st.ts.URL, nil) + if err != nil { + b.Fatal(err) + } + + for i := 0; i < nHeaders; i++ { + name := fmt.Sprint("A-", i) + req.Header.Set(name, "*") + } + + b.ResetTimer() + + for i := 0; i < b.N; i++ { + res, err := tr.RoundTrip(req) + if err != nil { + if res != nil { + res.Body.Close() + } + b.Fatalf("RoundTrip err = %v; want nil", err) + } + res.Body.Close() + if res.StatusCode != http.StatusOK { + b.Fatalf("Response code = %v; want %v", res.StatusCode, http.StatusOK) + } + } +} + +func BenchmarkClientRequestHeaders(b *testing.B) { + b.Run(" 0 Headers", func(b *testing.B) { benchSimpleRoundTrip(b, 0) }) + b.Run(" 10 Headers", func(b *testing.B) { benchSimpleRoundTrip(b, 10) }) + b.Run(" 100 Headers", func(b *testing.B) { benchSimpleRoundTrip(b, 100) }) + b.Run("1000 Headers", func(b *testing.B) { benchSimpleRoundTrip(b, 1000) }) +} diff --git a/vendor/golang.org/x/net/idna/idna.go b/vendor/golang.org/x/net/idna/idna.go index eb2473507..ec8232b2e 100644 --- a/vendor/golang.org/x/net/idna/idna.go +++ b/vendor/golang.org/x/net/idna/idna.go @@ -167,7 +167,7 @@ type options struct { bidirule func(s string) bool } -// A Profile defines the configuration of a IDNA mapper. +// A Profile defines the configuration of an IDNA mapper. type Profile struct { options } diff --git a/vendor/golang.org/x/net/idna/idna_test.go b/vendor/golang.org/x/net/idna/idna_test.go index b1bc6fa22..0b067cac9 100644 --- a/vendor/golang.org/x/net/idna/idna_test.go +++ b/vendor/golang.org/x/net/idna/idna_test.go @@ -39,5 +39,70 @@ func TestIDNA(t *testing.T) { } } +func TestIDNASeparators(t *testing.T) { + type subCase struct { + unicode string + wantASCII string + wantErr bool + } + + testCases := []struct { + name string + profile *Profile + subCases []subCase + }{ + { + name: "Punycode", profile: Punycode, + subCases: []subCase{ + {"example\u3002jp", "xn--examplejp-ck3h", false}, + {"東京\uFF0Ejp", "xn--jp-l92cn98g071o", false}, + {"大阪\uFF61jp", "xn--jp-ku9cz72u463f", false}, + }, + }, + { + name: "Lookup", profile: Lookup, + subCases: []subCase{ + {"example\u3002jp", "example.jp", false}, + {"東京\uFF0Ejp", "xn--1lqs71d.jp", false}, + {"大阪\uFF61jp", "xn--pssu33l.jp", false}, + }, + }, + { + name: "Display", profile: Display, + subCases: []subCase{ + {"example\u3002jp", "example.jp", false}, + {"東京\uFF0Ejp", "xn--1lqs71d.jp", false}, + {"大阪\uFF61jp", "xn--pssu33l.jp", false}, + }, + }, + { + name: "Registration", profile: Registration, + subCases: []subCase{ + {"example\u3002jp", "", true}, + {"東京\uFF0Ejp", "", true}, + {"大阪\uFF61jp", "", true}, + }, + }, + } + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + for _, c := range tc.subCases { + gotA, err := tc.profile.ToASCII(c.unicode) + if c.wantErr { + if err == nil { + t.Errorf("ToASCII(%q): got no error, but an error expected", c.unicode) + } + } else { + if err != nil { + t.Errorf("ToASCII(%q): got err=%v, but no error expected", c.unicode, err) + } else if gotA != c.wantASCII { + t.Errorf("ToASCII(%q): got %q, want %q", c.unicode, gotA, c.wantASCII) + } + } + } + }) + } +} + // TODO(nigeltao): test errors, once we've specified when ToASCII and ToUnicode // return errors. diff --git a/vendor/golang.org/x/net/proxy/socks5.go b/vendor/golang.org/x/net/proxy/socks5.go index 2efec6e8d..2d7978fe4 100644 --- a/vendor/golang.org/x/net/proxy/socks5.go +++ b/vendor/golang.org/x/net/proxy/socks5.go @@ -12,7 +12,7 @@ import ( ) // SOCKS5 returns a Dialer that makes SOCKSv5 connections to the given address -// with an optional username and password. See RFC 1928. +// with an optional username and password. See RFC 1928 and 1929. func SOCKS5(network, addr string, auth *Auth, forward Dialer) (Dialer, error) { s := &socks5{ network: network, @@ -120,6 +120,7 @@ func (s *socks5) connect(conn net.Conn, target string) error { return errors.New("proxy: SOCKS5 proxy at " + s.addr + " requires authentication") } + // See RFC 1929 if buf[1] == socks5AuthPassword { buf = buf[:0] buf = append(buf, 1 /* password protocol version */) diff --git a/vendor/golang.org/x/net/publicsuffix/gen.go b/vendor/golang.org/x/net/publicsuffix/gen.go index a2d499529..f85a3c32b 100644 --- a/vendor/golang.org/x/net/publicsuffix/gen.go +++ b/vendor/golang.org/x/net/publicsuffix/gen.go @@ -37,7 +37,7 @@ import ( const ( // These sum of these four values must be no greater than 32. - nodesBitsChildren = 9 + nodesBitsChildren = 10 nodesBitsICANN = 1 nodesBitsTextOffset = 15 nodesBitsTextLength = 6 diff --git a/vendor/golang.org/x/net/publicsuffix/table.go b/vendor/golang.org/x/net/publicsuffix/table.go index 50f070a92..549511c88 100644 --- a/vendor/golang.org/x/net/publicsuffix/table.go +++ b/vendor/golang.org/x/net/publicsuffix/table.go @@ -2,10 +2,10 @@ package publicsuffix -const version = "publicsuffix.org's public_suffix_list.dat, git revision f47d806df99585862c8426c3e064a50eb5a278f5 (2017-06-14T11:49:01Z)" +const version = "publicsuffix.org's public_suffix_list.dat, git revision 38b238d6324042f2c2e6270459d1f4ccfe789fba (2017-08-28T20:09:01Z)" const ( - nodesBitsChildren = 9 + nodesBitsChildren = 10 nodesBitsICANN = 1 nodesBitsTextOffset = 15 nodesBitsTextLength = 6 @@ -23,453 +23,459 @@ const ( ) // numTLD is the number of top level domains. -const numTLD = 1549 +const numTLD = 1557 // Text is the combined text of all labels. -const text = "bifukagawalterbihorologybikedagestangeorgeorgiaxasnesoddenmarkha" + - "ngelskjakdnepropetrovskiervaapsteiermarkaragandabruzzoologicalvi" + - "nklein-addrammenuernberggfarmerseine12bilbaogakidsmynasushiobara" + - "gusartsalangeninohekinannestadray-dnsiskinkyotobetsumidatlantica" + - "tholicheltenham-radio-opencraftranagatorodoybillustrationinomiya" + - "konojosoyrorosalondonetskarpaczeladzjavald-aostarnbergladegreevj" + - "e-og-hornnesaltdalimitedraydnsupdaternopilawabioceanographiquebi" + - "rdartcenterprisesakikuchikuseikarugamvikaruizawabirkenesoddtange" + - "novaraumalopolskanlandrivelandrobaknoluoktachikawakembuchikumaga" + - "yagawakkanaibetsubamericanfamilydscloudcontrolledekafjordrudunsa" + - "lvadordalibabalatinord-aurdalvdalaskanittedallasalleasinglesuran" + - "certmgretagajobojinzais-a-candidatebirthplacebjarkoybjerkreimbal" + - "sfjordgcahcesuolocus-1bjugnirasakis-a-catererblockbustermezlglas" + - "sassinationalheritagematsubarakawagoebloombergbauernishiazais-a-" + - "celticsfanishigoddabloxcmsalzburgliwicebluedancebmoattachmentsam" + - "egawabmsamnangerbmwegroweibolzanordkappgafanquannefrankfurtjmaxx" + - "xboxenapponazure-mobilebnpparibaselburglobalashovhachinohedmarka" + - "rumaifarmsteadupontariomutashinais-a-chefarsundurbanamexnethnolo" + - "gybnrweirbonnishiharabookinglobodoes-itvedestrandurhamburglogowf" + - "ashionishiizunazukis-a-conservativefsnillfjordvrcambridgestonexu" + - "s-2bootsamsclubindalimoliserniaboschaefflerdalindashorokanaiebos" + - "tikasaokaminokawanishiaizubangebostonakijinsekikogentingloppenza" + - "ogashimadachicagoboatsamsungmbhartiffanybotanicalgardenishikatak" + - "ayamatta-varjjatjometlifeinsurancebotanicgardenishikatsuragithub" + - "usercontentjxfinitybotanybouncemerckmsdnipropetrovskjervoyagebou" + - "nty-fullensakerrypropertiesandvikcoromantovalle-d-aostatic-acces" + - "sanfranciscofreakunemurorangeiseiyoichippubetsubetsugaruhrboutiq" + - "uebecngminakamichiharabozentsujiiebplacedogawarabikomaezakirunor" + - "dlandvrdnsangoppdalindesnesanjournalismailillesandefjordyndns-at" + - "-workinggroupaleobrandywinevalleybrasiliabresciabrindisibenikebr" + - "istoloslocalhistorybritishcolumbialowiezachpomorskienishikawazuk" + - "amitondabayashiogamagoriziabroadcastlegallocalhostrodawaravennag" + - "asukebroadwaybroke-itkmaxxjaworznowtvalled-aostavangerbrokerbron" + - "noysundyndns-blogdnsannanishimerabrothermesaverdeatnurembergmode" + - "nakasatsunais-a-cpadualstackspace-to-rentalstomakomaibarabrowser" + - "safetymarketsannohelplfinancialivornobrumunddalombardiamondsanok" + - "ashibatakashimaseratis-a-cubicle-slavellinotteroybrunelasticbean" + - "stalkashiharabrusselsantabarbarabruxellesantacruzsantafedjeffers" + - "onishinomiyashironobryanskleppalermomahachijorpelandyndns-freebo" + - "x-ostrowwlkpmgmxn--0trq7p7nnishinoomotegobrynewhollandyndns-home" + - "dnsanukis-a-democratmpalmspringsakerbuskerudinewmexicodyn-vpnplu" + - "sterbuzenishinoshimattelefonicarbonia-iglesias-carboniaiglesiasc" + - "arboniabuzzpamperedchefastlylbaltimore-og-romsdalwaysdatabasebal" + - "langenoamishirasatochigiessensiositelemarkarateu-1bwhalingrimsta" + - "dyndns-ipirangaulardalombardynamisches-dnsaotomemergencyachtsapo" + - "dlasiellaktyubinskiptveterinairealtorlandyndns-mailomzaporizhzhe" + - "guris-a-designerimarumorimachidabzhitomirumalselvendrellorenskog" + - "ripescaravantaacondoshichinohealth-carereformitakeharaconference" + - "constructionconsuladoesntexistanbullensvanguardyndns1consultanth" + - "ropologyconsultingvolluroycontactoyotsukaidownloadynnsaskatchewa" + - "ncontemporaryarteducationalchikugodoharuovatoyouracontractorsken" + - "conventureshinodesashibetsuikinderoycookingchannelblagdenesnaase" + - "ralingenkainanaejrietisalatinabenonichernivtsiciliacoolkuszczytn" + - "ore-og-uvdalutskasuyameldaluxembourgrpanamacooperaunitenrightath" + - "omeftpanasonichernovtsykkylvenetogakushimotoganewspapercopenhage" + - "ncyclopedichirurgiens-dentistes-en-francecorsicagliaridagawarsza" + - "washingtondclkaszubycorvettevadsoccertificationcosenzagancosidns" + - "dojoetsuwanouchikujogaszkoladbrokesassaris-a-huntercostumedio-ca" + - "mpidano-mediocampidanomediocouchpotatofriesatxn--11b4c3dynv6coun" + - "ciluxurycouponsaudacoursesauheradynvpnchiryukyuragifuchungbukhar" + - "acq-acranbrookuwanalyticsavannahgacreditcardyroyrvikingruecredit" + - "unioncremonashgabadaddjambyluzerncrewiiheyakagecricketrzyncrimea" + - "st-kazakhstanangercrotonextdirectoystre-slidrettozawacrownprovid" + - "ercrsvparaglidinguitarsaves-the-whalessandria-trani-barletta-and" + - "riatranibarlettaandriacruisesavonaplesaxocryptonomichigangwoncui" + - "sinellahppiacenzakopanerairguardiannakadomarinebraskaunjargalsac" + - "eoculturalcentertainmentozsdeltaitogliattiresbschokoladencuneocu" + - "pcakecxn--12c1fe0bradescorporationcyberlevagangaviikanonjis-a-kn" + - "ightpointtokaizukamikitayamatsuris-a-landscapercymrussiacyonabar" + - "ulvikatowicecyouthdfcbankatsushikabeeldengeluidfidonnakamurataji" + - "mibuildingulenfieldfiguerestaurantraniandriabarlettatraniandriaf" + - "ilateliafilegearthachiojiyahoofilminamidaitomangotsukisosakitaga" + - "wafinalfinancefineartschwarzgwangjuifminamiechizenfinlandfinnoyf" + - "irebaseapparisor-fronfirenzefirestonefirmdaleirvikaufenfishingol" + - "ffanschweizwildlifedorainfracloudfrontdoorfitjarmeniafitnessettl" + - "ementranoyfjalerflesbergunmarburguovdageaidnuslivinghistoryflick" + - "ragerotikakamigaharaflightsciencecentersciencehistoryflirflogint" + - "ogurafloraflorencefloridavvesiidazaifudaigojomedizinhistorisches" + - "cientistoragefloripaderbornfloristanohatakahamangyshlakasamatsud" + - "ontexisteingeekautokeinoflorogerscjohnsonflowerscotlandflynnhuba" + - "mblefrakkestadiscountysnes3-sa-east-1fndfoodnetworkshoppingushik" + - "amifuranortonsbergxn--12co0c3b4evalleaostatoilfor-ourfor-someetn" + - "edalfor-theaterforexrothachirogatakahatakaishimogosenforgotdnscr" + - "apper-siteforli-cesena-forlicesenaforlikescandynamic-dnscrapping" + - "forsaleitungsenforsandasuolodingenfortmissoulair-traffic-control" + - "leyfortworthadanosegawaforuminamifuranofosneserveftparliamentran" + - "sportransurlfotaruis-a-lawyerfoxfordedyn-ip24freeboxoservegame-s" + - "erversailleservehalflifestylefreemasonryfreetlservehttparmafreib" + - "urgfreightcminamiiselectrapaniimimatakatoris-a-liberalfresenius-" + - "3fribourgfriuli-v-giuliafriuli-ve-giuliafriuli-vegiuliafriuli-ve" + - "nezia-giuliafriuli-veneziagiuliafriuli-vgiuliafriuliv-giuliafriu" + - "live-giuliafriulivegiuliafriulivenezia-giuliafriuliveneziagiulia" + - "friulivgiuliafrlfroganservehumourfrognfrolandfrom-akrehamnfrom-a" + - "lfrom-arqhadselfiparocherkasyno-dserveirchitachinakagawassamukaw" + - "ataricohdatsunanjoburgriwataraidyndns-office-on-the-webcampobass" + - "ociatesapporofrom-azfrom-capebretonamiastapleserveminecraftravel" + - "channelfrom-collectionfrom-ctravelersinsurancefrom-dchitosetogit" + - "suldalotenkawafrom-defenseljordfrom-flanderservemp3from-gausdalf" + - "rom-higashiagatsumagoizumizakirkeneservep2parservepicservequakef" + - "rom-iafrom-idfrom-ilfrom-incheonfrom-kservesarcasmatartanddesign" + - "from-kyowariasahikawafrom-lajollamericanexpressexyfrom-maniwakur" + - "atextileksvikazofrom-mdfrom-megurokunohealthcareerservicesettsur" + - "geonshalloffamemorialfrom-microsoftbankazunofrom-mnfrom-modellin" + - "gfrom-msevastopolefrom-mtnfrom-nchloefrom-ndfrom-nefrom-nhktrdfr" + - "om-njcbnlfrom-nminamiizukamisatokamachintaifun-dnsaliasdaburfrom" + - "-nvalledaostavernfrom-nyfrom-ohkurafrom-oketohmannorth-kazakhsta" + - "nfrom-orfrom-padovaksdalfrom-pratohnoshoooshikamaishimodatefrom-" + - "rivnefrom-schoenbrunnfrom-sdfrom-tnfrom-txn--1ck2e1bananarepubli" + - "caseihichisobetsuitainairforcechirealminamiawajikibmdiscoveryomb" + - "ondishakotanavigationavoiitatebayashiibahcavuotnagaraholtaleniwa" + - "izumiotsukumiyamazonawsadodgemologicallyngenvironmentalconservat" + - "ionavuotnaklodzkodairassnasabaerobaticketselinogradultashkentata" + - "motors3-ap-northeast-2from-utazuerichardlillehammerfeste-ipartis" + - "-a-libertarianfrom-val-daostavalleyfrom-vtrentino-a-adigefrom-wa" + - "from-wielunnerfrom-wvallee-aosteroyfrom-wyfrosinonefrostalowa-wo" + - "lawafroyahikobeardubaiduckdnsevenassisicilyfstcgroupartnersewill" + - "iamhillfujiiderafujikawaguchikonefujiminohtawaramotoineppubologn" + - "akanotoddenfujinomiyadafujiokayamansionsfranziskanerdpolicefujis" + - "atoshonairtelecityeatsharis-a-linux-useranishiaritabashijonawate" + - "fujisawafujishiroishidakabiratoridefinimakanegasakindlegokasells" + - "-for-lessharpartshawaiijimarugame-hostrolekameokameyamatotakadaf" + - "ujitsurugashimaritimekeepingfujixeroxn--1ctwolominamatakkokamino" + - "yamaxunusualpersonfujiyoshidafukayabeatshellaspeziafukuchiyamada" + - "fukudominichocolatemasekashiwazakiyosatokashikiyosemitefukuis-a-" + - "llamarylandfukumitsubishigakirovogradoyfukuokazakiryuohaebarumin" + - "amimakis-a-musicianfukuroishikarikaturindalfukusakisarazurewebsi" + - "teshikagamiishibukawafukuyamagatakaharustkanoyakumoldeloittexasc" + - "olipicenoipifonynysaarlandfunabashiriuchinadafunagatakahashimama" + - "kishiwadafunahashikamiamakusatsumasendaisennangonohejis-a-nascar" + - "fanfundaciofuoiskujukuriyamanxn--1lqs03nfuosskoczowinbarcelonaga" + - "sakijobserverisignieznord-frontiereviewskrakowedeployomitanobihi" + - "rosakikamijimastronomy-gatewaybomloans3-ap-south-1furnituredston" + - "efurubiraquarelleborkangerfurudonostiaarpartyfurukawairtrafficho" + - "funatoriginsurecifedexhibitionishiokoppegardyndns-picsardegnamss" + - "koganeis-a-doctorayfusodegaurafussaikisofukushimaoris-a-nurserve" + - "bbshimojis-a-painteractivegarsheis-a-patsfanfutabayamaguchinomig" + - "awafutboldlygoingnowhere-for-moregontrailroadfuttsurugimperiafut" + - "urehostingfuturemailingfvgfyis-a-personaltrainerfylkesbiblackfri" + - "dayfyresdalhangoutsystemscloudfunctionshimokawahannanmokuizumode" + - "rnhannotaireshimokitayamahanyuzenhapmirhareidsbergenharstadharve" + - "stcelebrationhasamarcheapassagenshimonitayanagitlaborhasaminami-" + - "alpssells-itrentino-aadigehashbanghasudahasura-appassenger-assoc" + - "iationhasvikddielddanuorrikuzentakataiwanairlinedre-eikerhatogay" + - "aitakamoriokalmykiahatoyamazakitahiroshimarnardalhatsukaichikais" + - "eis-a-republicancerresearchaeologicaliforniahattfjelldalhayashim" + - "amotobungotakadapliernewjerseyhazuminobusellsyourhomegoodshimono" + - "sekikawahboehringerikehelsinkitakamiizumisanofidelitysvardollshi" + - "mosuwalkis-a-rockstarachowicehembygdsforbundhemneshimotsukehemse" + - "dalhepforgeherokussldheroyhgtvalleeaosteigenhigashichichibunkyon" + - "anaoshimageandsoundandvisionhigashihiroshimanehigashiizumozakita" + - "katakanabeautydalhigashikagawahigashikagurasoedahigashikawakitaa" + - "ikitakyushuaiahigashikurumeiwamarriottrentino-alto-adigehigashim" + - "atsushimarshallstatebankfhappouhigashimatsuyamakitaakitadaitoiga" + - "wahigashimurayamamotorcycleshimotsumahigashinarusembokukitamidor" + - "is-a-socialistmein-vigorgehigashinehigashiomihachimanchesterhiga" + - "shiosakasayamanakakogawahigashishirakawamatakanezawahigashisumiy" + - "oshikawaminamiaikitamotosumitakagildeskaliszhigashitsunotogawahi" + - "gashiurausukitanakagusukumoduminamiminowahigashiyamatokoriyamana" + - "shifteditchyouripaviancarrierhigashiyodogawahigashiyoshinogaris-" + - "a-soxfanhiraizumisatohobby-sitehirakatashinagawahiranais-a-stude" + - "ntalhirarahiratsukagawahirayaizuwakamatsubushikusakadogawahistor" + - "ichouseshinichinanhitachiomiyaginankokubunjis-a-teacherkassymant" + - "echnologyhitachiotagooglecodespotrentino-altoadigehitraeumtgerad" + - "elmenhorstalbanshinjournalistjohnhjartdalhjelmelandholeckobierzy" + - "ceholidayhomeipfizerhomelinkhakassiahomelinuxn--1lqs71dhomeoffic" + - "ehomesecuritymaceratakaokaluganskolevangerhomesecuritypccwindmil" + - "lhomesenseminehomeunixn--1qqw23ahondahoneywellbeingzonehongopocz" + - "northwesternmutualhonjyoitakarazukamakurazakitashiobarahornindal" + - "horseoulminamiogunicomcastresistancehortendofinternet-dnshinjuku" + - "manohospitalhoteleshinkamigotoyohashimotoshimahotmailhoyangerhoy" + - "landetroitskydivinghumanitieshinshinotsurgeryhurdalhurumajis-a-t" + - "echietis-a-therapistoiahyllestadhyogoris-an-accountantshinshiroh" + - "yugawarahyundaiwafunehzchoseiroumuenchenishitosashimizunaminamia" + - "shigarajfkhmelnitskiyamashikejgorajlchoyodobashichikashukujitawa" + - "rajlljmpharmacienshiojirishirifujiedajnjcpgfoggiajoyokaichibahcc" + - "avuotnagareyamalborkdalpha-myqnapcloudapplebesbyglandjpmorganjpn" + - "jprshioyanaizujuniperjurkoshimizumakis-an-engineeringkoshunantok" + - "igawakosugekotohiradomainshirakofuefukihaboromskoguchikuzenkotou" + - "rakouhokutamakis-an-entertainerkounosupplieshiranukamogawakouyam" + - "ashikokuchuokouzushimasoykozagawakozakis-bykpnkppspdnshiraois-ce" + - "rtifieducatorahimeshimamateramochizukirakrasnodarkredirectmelhus" + - "cultureggio-calabriakristiansandcatshiraokanagawakristiansundkro" + - "dsheradkrokstadelvaldaostarostwodzislawindowshiratakahagivestbyk" + - "ryminamisanrikubetsupportrentino-sued-tirolkumatorinokumejimasud" + - "akumenanyokkaichiropractichristmasakikugawatchandclockasukabedzi" + - "n-the-bandaikawachinaganoharamcoachampionshiphoptobishimaizurugb" + - "ydgoszczecinemakeupowiathletajimabariakeisenbahnishiwakis-a-fina" + - "ncialadvisor-aurdalottokonamegatakasugais-a-geekgalaxykunisakis-" + - "foundationkunitachiarailwaykunitomigusukumamotoyamassa-carrara-m" + - "assacarraramassabusinessebytomaritimobarakunneppulawykunstsammlu" + - "ngkunstunddesignkuokgrouphdkureggio-emilia-romagnakatsugawakurga" + - "nkurobelaudiblebtimnetzkurogimilanokuroisoftwarendalenugkuromats" + - "unais-gonekurotakikawasakis-into-animelbournekushirogawakustanai" + - "s-into-carshintomikasaharakusupplykutchanelkutnokuzumakis-into-c" + - "artoonshinyoshitomiokamitsuekvafjordkvalsundkvamfamberkeleykvana" + - "ngenkvinesdalkvinnheradkviteseidskogkvitsoykwpspiegelkzmissilewi" + - "smillermisugitokorozawamitourismolancastermitoyoakemiuramiyazumi" + - "yotamanomjondalenmlbfanmonmouthagebostadmonstermonticellolmontre" + - "alestatefarmequipmentrentino-suedtirolmonza-brianzaporizhzhiamon" + - "za-e-della-brianzapposhishikuis-not-certifiedunetbankharkovanylv" + - "enicemonzabrianzaptokuyamatsusakahoginowaniihamatamakawajimaphil" + - "adelphiaareadmyblogsitemonzaebrianzaramonzaedellabrianzamoonscal" + - "exusdecorativeartshisognemoparachutingmordoviajessheiminamitanem" + - "oriyamatsushigemoriyoshimilitarymormoneymoroyamatsuuramortgagemo" + - "scowinnershisuifuelveruminamiuonumatsumotofukemoseushistorymosjo" + - "enmoskeneshitaramamosshizukuishimofusaitamatsukuris-savedmosvikn" + - "x-serveronakatombetsunndalmoteginozawaonsenmoviemovistargardmtpc" + - "hromedicaltanissettairamtranbymuenstermugithubcloudusercontentre" + - "ntinoa-adigemuikamishihoronobeauxartsandcraftshizuokananporovigo" + - "tpantheonsitemukochikushinonsenergymulhouservebeermunakatanemunc" + - "ieszynmuosattemuphilatelymurmanskolobrzegersundmurotorcraftrenti" + - "noaadigemusashimurayamatsuzakis-slickhersonmusashinoharamuseetre" + - "ntinoalto-adigemuseumverenigingmusicargodaddynaliascoli-picenogi" + - "ftshoujis-uberleetrentino-stirolmutsuzawamy-vigorlicemy-wanggouv" + - "icenzamyactivedirectorymyasustor-elvdalmycdn77-securechtrainingm" + - "ydissentrentinoaltoadigemydrobofagemydshowamyeffectrentinos-tiro" + - "lmyfirewallonieruchomoscienceandindustrynmyfritzmyftpaccesshowti" + - "meteorapphilipsynology-diskstationmyfusionmyhome-serverrankoshig" + - "ayanagawamykolaivaporcloudmymailermymediapchryslermyokohamamatsu" + - "damypepsongdalenviknakanojohanamakinoharamypetshriramlidlugoleka" + - "gaminoduminamiyamashirokawanabelembroideryggeelvincklabudhabikin" + - "okawabarthagakhanamigawamyphotoshibajddarchaeologyeongnamegawalb" + - "rzycharternidmypsxn--30rr7ymysecuritycamerakermyshopblocksienara" + - "shinomytis-a-bookkeeperugiamyvnchungnamdalseidfjordyndns-remotew" + - "dyndns-serverdalouvreggioemiliaromagnakayamatsumaebashikshacknet" + - "oyookanmakiwakunigamidsundyndns-weberlincolnissandnessjoenissayo" + - "koshibahikariwanumatakazakis-a-greenissedalowiczest-le-patrondhe" + - "immobilienisshingugepicturesilkomaganepiemontepilotsimple-urlpim" + - "ientaketomisatolgapinkomakiyosumy-routerpioneerpippuphonefossigd" + - "alpiszpittsburghofauskedsmokorsetagayasells-for-unzenpiwatepizza" + - "pkomatsushimashikizunokunimihoboleslawiechristiansburgroks-thisa" + - "yamanobeokakudamatsueplanetariuminanoplantationplantsirdalplatfo" + - "rmshangrilanciaplaystationplazaplchurchaseljeepostfoldnavyplumbi" + - "ngopmnpodzonepohlpoivronpokerpokrovskomforbarclays3-us-gov-west-" + - "1politiendapolkowicepoltavalle-aostathellezajskommunalforbundpom" + - "orzeszowioslingpordenonepornporsangerporsanguidellogliastradingp" + - "orsgrunnanpoznanpraxis-a-bruinsfanprdpreservationpresidioprgmrpr" + - "imeloyalistockholmestrandprincipeprivatizehealthinsuranceprochow" + - "iceproductionslupskommuneprofbsbxn--12cfi8ixb8lvivano-frankivska" + - "tsuyamasfjordenprogressivegasiapromombetsurfbx-oscholarshipschoo" + - "lpropertyprotectionprotonetrentinosud-tirolprudentialpruszkowitd" + - "komonoprzeworskogptplusgardenpvtrentinosudtirolpwcirclegnicafede" + - "rationiyodogawapzqldqponqslgbtrentinosued-tirolquicksytesnoasait" + - "omobellevuelosangelesjaguarchitecturealtychyattorneyagawalesundq" + - "uipelementsokanazawaqvcircustomerstuff-4-salestufftoread-booksne" + - "solognestuttgartritonsusakis-very-evillagesusonosuzakaneyamazoes" + - "uzukaniepcesuzukis-very-goodhandsonsvalbardunloppacificitadelive" + - "rysveiosvelvikongsbergsvizzeraswedenswidnicartierswiebodzindiana" + - "polis-a-bloggerswiftcoversicherungswinoujscienceandhistoryswissh" + - "ikis-very-nicesynology-dsolundbeckomorotsukamiokamikoaniikappugl" + - "iatushuissier-justicetuvalle-daostaticsomatuxfamilytwmailvennesl" + - "askerrylogisticsomnaritakurashikis-very-badajozoravestfoldvestne" + - "soovestre-slidreamhostersopotrentinosuedtirolvestre-totennishiaw" + - "akuravestvagoyvevelstadvibo-valentiavibovalentiavideovillaskimit" + - "subatamicable-modembetsukuis-very-sweetpeppervinnicartoonartdeco" + - "ffeedbackplaneappspotagervinnytsiavipsinaappiagetmyiphoenixn--32" + - "vp30haibarakitahatakamatsukawavirginiavirtualvirtueeldomeindianm" + - "arketingvirtuelvisakegawavistaprinternationalfirearmsor-odalvite" + - "rboltrogstadvivoldavixn--3bst00minnesotaketakatsukis-into-gamess" + - "inatsukigatakasagotembaixadavlaanderenvladikavkazimierz-dolnyvla" + - "dimirvlogoipictetrentinostirolvolkswagentsor-varangervologdansko" + - "ninjamisonvolvolkenkundenvolyngdalvossevangenvotevotingvotoyonak" + - "agyokutoursorfoldwloclawekonskowolayangroupharmacyshirahamatonbe" + - "tsurnadalwmflabsorreisahayakawakamiichikawamisatotalworldworse-t" + - "handawowithgoogleapisa-hockeynutsiracusakatakinouewritesthisblog" + - "sytewroclawithyoutubeneventoeidsvollwtcitichernigovernmentoyonow" + - "tfbxoschulewuozuwwwiwatsukiyonowruzhgorodeowzmiuwajimaxn--45brj9" + - "civilaviationxn--45q11civilisationxn--4gbriminingxn--4it168dxn--" + - "4it797konyveloftrentino-sudtirolxn--4pvxs4allxn--54b7fta0ccivili" + - "zationxn--55qw42gxn--55qx5dxn--5js045dxn--5rtp49civilwarmanageme" + - "ntoyosatoyakokonoexn--5rtq34kooris-an-anarchistoricalsocietyxn--" + - "5su34j936bgsgxn--5tzm5gxn--6btw5axn--6frz82gxn--6orx2rxn--6qq986" + - "b3xlxn--7t0a264claimsarlucaniaxn--80adxhksortlandxn--80ao21axn--" + - "80aqecdr1axn--80asehdbarreauctionflfanfshostrowiecasertaipeiheij" + - "iiyamanouchikuhokuryugasakitaurayasudaukraanghkeymachineustarhub" + - "alsanagochihayaakasakawaharanzanpachigasakicks-assedicasadelamon" + - "edatingjemnes3-ap-southeast-2xn--80aswgxn--80audnedalnxn--8ltr62" + - "kopervikhmelnytskyivaolbia-tempio-olbiatempioolbialystokkepnogat" + - "aijis-an-actresshintokushimaxn--8pvr4uxn--8y0a063axn--90a3academ" + - "y-firewall-gatewayxn--90aishobaraomoriguchiharahkkeravjuedisches" + - "apeakebayernrtromsakakinokiaxn--90azhytomyrxn--9dbhblg6dietcimdb" + - "arrel-of-knowledgeologyonagoyaurskog-holandroverhalla-speziaerop" + - "ortalaheadjudaicaaarborteaches-yogasawaracingroks-theatree164xn-" + - "-9dbq2axn--9et52uxn--9krt00axn--andy-iraxn--aroport-byandexn--3d" + - "s443gxn--asky-iraxn--aurskog-hland-jnbarrell-of-knowledgeometre-" + - "experts-comptables3-us-west-1xn--avery-yuasakuhokkaidoomdnshome-" + - "webservercellikes-piedmontblancomeeresorumincommbankmpspbarclayc" + - "ards3-us-east-2xn--b-5gaxn--b4w605ferdxn--bck1b9a5dre4cldmailucc" + - "apitalonewportlligatoyotaris-a-gurulsandoyxn--bdddj-mrabdxn--bea" + - "ralvhki-y4axn--berlevg-jxaxn--bhcavuotna-s4axn--bhccavuotna-k7ax" + - "n--bidr-5nachikatsuuraxn--bievt-0qa2xn--bjarky-fyaotsurreyxn--bj" + - "ddar-ptamayufuettertdasnetzxn--blt-elabourxn--bmlo-graingerxn--b" + - "od-2naroyxn--brnny-wuaccident-investigation-aptibleaseating-orga" + - "nicbcn-north-1xn--brnnysund-m8accident-prevention-webhopenairbus" + - "antiquest-a-la-maisondre-landebudapest-a-la-masionionjukudoyamag" + - "entositelekommunikationthewifiat-band-campaniaxn--brum-voagatrom" + - "sojampagefrontapphotographysioxn--btsfjord-9zaxn--c1avgxn--c2br7" + - "gxn--c3s14mintelligencexn--cck2b3barsyonlinewhampshirebungoonord" + - "-odalazioceanographics3-us-west-2xn--cg4bkis-with-thebandovre-ei" + - "kerxn--ciqpnxn--clchc0ea0b2g2a9gcdn77-sslattumisakis-leetrentino" + - "-s-tirollagrigentomologyeongbukharkivgucciprianiigataishinomakim" + - "obetsuliguriaxn--comunicaes-v6a2oxn--correios-e-telecomunicaes-g" + - "hc29axn--czr694bashkiriaustevollarvikarasjohkamiminers3-ca-centr" + - "al-1xn--czrs0trusteexn--czru2dxn--czrw28basilicataniaustinnatura" + - "lsciencesnaturelles3-eu-central-1xn--d1acj3basketballfinanzgorau" + - "straliaisondriodejaneirochesterepbodynathomebuiltatarantottoribe" + - "staddnskingjerdrumckinseyokosukanzakiwienaturbruksgymnaturhistor" + - "isches3-eu-west-1xn--d1alfaromeoxn--d1atrvarggatroandinosaureise" + - "nxn--d5qv7z876clickasumigaurawa-mazowszextraspacekitagatajirissa" + - "gamiharaxn--davvenjrga-y4axn--djrs72d6uyxn--djty4koryokamikawane" + - "honbetsurutaharaxn--dnna-grajewolterskluwerxn--drbak-wuaxn--dyry" + - "-iraxn--e1a4clinichernihivanovodkagoshimalvikashiwaraxn--eckvdtc" + - "9dxn--efvn9southcarolinazawaxn--efvy88hair-surveillancexn--ehqz5" + - "6nxn--elqq16hakatanoshiroomuraxn--estv75gxn--eveni-0qa01gaxn--f6" + - "qx53axn--fct429kosaigawaxn--fhbeiarnxn--finny-yuaxn--fiq228c5hso" + - "uthwestfalenxn--fiq64batodayonaguniversityoriikariyaltakasakiyok" + - "awaraustrheimatunduhrennesoyokoteastcoastaldefencebinagisochildr" + - "ensgardenatuurwetenschappenaumburgjerstadotsuruokakegawaetnagaha" + - "maroygardenebakkeshibechambagriculturennebudejjudygarlandd-dnsfo" + - "r-better-thanawawdev-myqnapcloudcontrolapplinzi234xn--fiqs8sowax" + - "n--fiqz9spjelkavikomvuxn--2m4a15exn--fjord-lraxn--fjq720axn--fl-" + - "ziaxn--flor-jraxn--flw351exn--fpcrj9c3dxn--frde-grandrapidspread" + - "bettingxn--frna-woaraisaijotrysiljanxn--frya-hraxn--fzc2c9e2clin" + - "iquenoharaxn--fzys8d69uvgmailxn--g2xx48clintonoshoesarpsborgrond" + - "arxn--gckr3f0fedorapeopleirfjordxn--gecrj9clothingrongaxn--ggavi" + - "ika-8ya47hakodatexn--gildeskl-g0axn--givuotna-8yasakaiminatoyone" + - "zawaxn--gjvik-wuaxn--gk3at1exn--gls-elacaixaxn--gmq050isleofmand" + - "alxn--gmqw5axn--h-2failxn--h1aeghakonexn--h2brj9cnsarufutsunomiy" + - "awakasaikaitakoelnxn--h3cuzk1digitalxn--hbmer-xqaxn--hcesuolo-7y" + - "a35batsfjordivtasvuodnakaiwamizawauthordalandroiddnss3-eu-west-2" + - "xn--hery-iraxn--hgebostad-g3axn--hmmrfeasta-s4acctulangevagrarbo" + - "retumbriaxn--hnefoss-q1axn--hobl-iraxn--holtlen-hxaxn--hpmir-xqa" + - "xn--hxt814exn--hyanger-q1axn--hylandet-54axn--i1b6b1a6a2exn--imr" + - "513nxn--indery-fyasugissmarterthanyouxn--io0a7iwchoshibuyachiyod" + - "avvenjargapartmentsardiniaxn--j1aefedoraprojectrani-andria-barle" + - "tta-trani-andriaxn--j1amhakubaghdadxn--j6w193gxn--jlq61u9w7bauha" + - "usposts-and-telecommunicationsncfdivttasvuotnakamagayahababyklec" + - "lercasinordre-landiyoshiokaracoldwarmiamihamadautomotivecoalipay" + - "okozebinorfolkebibleikangereportateshinanomachimkentateyamagroce" + - "rybnikahokutobamaintenancebetsukubank12xn--jlster-byasuokanraxn-" + - "-jrpeland-54axn--jvr189misasaguris-lostre-toteneis-an-actorxn--k" + - "7yn95exn--karmy-yuaxn--kbrq7oxn--kcrx77d1x4axn--kfjord-iuaxn--kl" + - "bu-woaxn--klt787dxn--kltp7dxn--kltx9axn--klty5xn--3e0b707exn--ko" + - "luokta-7ya57hakuis-a-photographerokuappasadenamsosnowiechonanbui" + - "lderschmidtre-gauldalottexn--kprw13dxn--kpry57dxn--kpu716fermoda" + - "lenxn--kput3ixn--krager-gyatomitamamuraxn--kranghke-b0axn--krdsh" + - "erad-m8axn--krehamn-dxaxn--krjohka-hwab49jeonnamerikawauexn--ksn" + - "es-uuaxn--kvfjord-nxaxn--kvitsy-fyatsukanumazuryxn--kvnangen-k0a" + - "xn--l-1fairwindspydebergxn--l1accentureklamborghiniizaxn--lahead" + - "ju-7yatsushiroxn--langevg-jxaxn--lcvr32dxn--ldingen-q1axn--leaga" + - "viika-52bbcateringebugattipschlesisches3-website-ap-northeast-1x" + - "n--lesund-huaxn--lgbbat1ad8jetztrentino-sud-tirolxn--lgrd-poacnt" + - "oyotomiyazakis-a-hard-workerxn--lhppi-xqaxn--linds-pramericanart" + - "unesolutionsokndalxn--lns-qlansrlxn--loabt-0qaxn--lrdal-sraxn--l" + - "renskog-54axn--lt-liacolonialwilliamsburgrossetouchijiwadell-ogl" + - "iastraderxn--lten-granexn--lury-iraxn--m3ch0j3axn--mely-iraxn--m" + - "erker-kuaxn--mgb2ddesrtrentoyokawaxn--mgb9awbferraraxn--mgba3a3e" + - "jtunkongsvingerxn--mgba3a4f16axn--mgba3a4franamizuholdingsmilelx" + - "n--mgba7c0bbn0axn--mgbaakc7dvferrarittogoldpoint2thisamitsukexn-" + - "-mgbaam7a8hakusandiegoodyearxn--mgbab2bdxn--mgbai9a5eva00bbtatto" + - "olsztynsettlers3-website-ap-southeast-1xn--mgbai9azgqp6jevnakers" + - "huscountryestateofdelawarezzoologyxn--mgbayh7gpagespeedmobilizer" + - "oxn--mgbb9fbpobanazawaxn--mgbbh1a71exn--mgbc0a9azcgxn--mgbca7dzd" + - "oxn--mgberp4a5d4a87gxn--mgberp4a5d4arxn--mgbi4ecexposedxn--mgbpl" + - "2fhskodjejuegoshikiminokamoenairportland-4-salernoboribetsucksrv" + - "areserveblogspotrevisohughesolarssonxn--mgbqly7c0a67fbcoloradopl" + - "ateaudioxn--mgbqly7cvafredrikstadtvstordalxn--mgbt3dhdxn--mgbtf8" + - "flatangerxn--mgbtx2bbvacationswatch-and-clockerhcloudns3-website" + - "-ap-southeast-2xn--mgbx4cd0abbotturystykannamifunexn--mix082ferr" + - "eroticanonoichinomiyakexn--mix891fetsundxn--mjndalen-64axn--mk0a" + - "xindustriesteambulancexn--mk1bu44columbusheyxn--mkru45ixn--mlatv" + - "uopmi-s4axn--mli-tlanxesstorehabmerxn--mlselv-iuaxn--moreke-juax" + - "n--mori-qsakuragawaxn--mosjen-eyawaraxn--mot-tlapyatigorskypexn-" + - "-mre-og-romsdal-qqbentleyukinfinitintuitaxihuanhlfanhs3-website-" + - "eu-west-1xn--msy-ula0haldenxn--mtta-vrjjat-k7afamilycompanycommu" + - "nitysfjordyndns-wikinkobayashikaoirminamibosogndalucernexn--muos" + - "t-0qaxn--mxtq1misawaxn--ngbc5azdxn--ngbe9e0axn--ngbrxn--3oq18vl8" + - "pn36axn--nit225kosakaerodromegallupinbarefootballooningjovikarat" + - "suginamikatagamiharuconnectatsunobiraugustowadaegubs3-ap-southea" + - "st-1xn--nmesjevuemie-tcbalestrandabergamoarekexn--nnx388axn--nod" + - "exn--nqv7fs00emaxn--nry-yla5gxn--ntso0iqx3axn--ntsq17gxn--nttery" + - "-byaeservecounterstrikexn--nvuotna-hwaxn--nyqy26axn--o1achattano" + - "oganordreisa-geekoseis-an-artisteinkjerusalemrxn--o3cw4halsaintl" + - "ouis-a-anarchistoiredumbrellanbibaidarxn--o3cyx2axn--od0algxn--o" + - "d0aq3beppublishproxyzgorzeleccolognewyorkshirecipesaro-urbino-pe" + - "sarourbinopesaromasvuotnaharimamurogawatches3-website-sa-east-1x" + - "n--ogbpf8flekkefjordxn--oppegrd-ixaxn--ostery-fyawatahamaxn--osy" + - "ro-wuaxn--p1acfgujolsterxn--p1aixn--pbt977comobilyxn--pgbs0dhlxn" + - "--porsgu-sta26fhvalerxn--pssu33lxn--pssy2uxn--q9jyb4comparemarke" + - "rryhotelsasayamaxn--qcka1pmcdonaldstorfjordxn--qqqt11misconfused" + - "xn--qxamuneuestorjelenia-goraxn--rady-iraxn--rdal-poaxn--rde-ula" + - "quilancashireggiocalabriaxn--rdy-0nabarixn--rennesy-v1axn--rhkke" + - "rvju-01aflakstadaokagakibichuoxn--rholt-mragowoodsidexn--rhqv96g" + +const text = "bifukagawalterbihorologyukuhashimoichinosekigaharaxastronomy-gat" + + "ewaybomloans3-ca-central-1bikedagestangeorgeorgiabilbaogakihokum" + + "akogengerdalces3-website-us-west-1billustrationikinuyamashinashi" + + "kitchenikkoebenhavnikolaevents3-website-us-west-2bioddabirdartce" + + "nterprisesakikugawarszawashingtondclkariyameldalindesnesakurainv" + + "estmentsakyotanabellunord-odalivornomutashinainzais-a-candidateb" + + "irkenesoddtangenovaraumalopolskanlandrayddnsfreebox-oslocus-3bir" + + "thplacebitballooningladefinimakanegasakindlegokasells-for-lessal" + + "angenikonantankarlsoyurihonjoyentattoolsztynsettlersalondonetska" + + "rmoyusuharabjarkoyusuisserveexchangebjerkreimbalsfjordgcahcesuol" + + "ocalhostrodawaraugustowadaegubalsanagochihayaakasakawaharanzanne" + + "frankfurtarumizusawabkhaziamallamagazineat-url-o-g-i-naturalhist" + + "orymuseumcentereviewskrakowebredirectmeteorappaleobihirosakikami" + + "jimabogadocscbgdyniabruzzoologicalvinklein-addrammenuernberggfar" + + "merseinebinagisochildrensgardenaturalsciencesnaturelles3-ap-nort" + + "heast-2ixboxenapponazure-mobileastcoastaldefenceatonsberg12000em" + + "mafanconagawakayamadridvagsoyericssonyoursidealerimo-i-ranaamesj" + + "evuemielno-ip6bjugninohekinannestadraydnsaltdalombardiamondsalva" + + "dordalibabalatinord-frontierblockbustermezjavald-aostaplesalzbur" + + "glassassinationalheritagematsubarakawagoebloombergbauerninomiyak" + + "onojosoyrorosamegawabloxcmsamnangerbluedancebmoattachmentsamsclu" + + "bindalombardynamisches-dnsamsungleezebmsandvikcoromantovalle-d-a" + + "ostathellebmwedeployuufcfanirasakis-a-catererbnpparibaselburgliw" + + "icebnrwegroweibolzanorddalomzaporizhzheguris-a-celticsfanishiaza" + + "is-a-chefarmsteadrivelandrobaknoluoktachikawalbrzycharternidrudu" + + "nsanfranciscofreakunedre-eikerbonnishigoppdalorenskoglobalashovh" + + "achinohedmarkarpaczeladzlglobodoes-itvedestrandupontariobookingl" + + "ogoweirboomladbrokesangobootsanjournalismailillesandefjordurbana" + + "mexnetlifyis-a-conservativefsnillfjordurhamburgloppenzaogashimad" + + "achicagoboatsannanishiharaboschaefflerdalotenkawabostikaruizawab" + + "ostonakijinsekikogentingmbhartiffanyuzawabotanicalgardenishiizun" + + "azukis-a-cpadualstackspace-to-rentalstomakomaibarabotanicgardeni" + + "shikatakayamatta-varjjataxihuanishikatsuragit-repostfoldnavybota" + + "nybouncemerckmsdnipropetrovskjervoyagebounty-fullensakerryproper" + + "tiesannohelplfinancialotteboutiquebecngminakamichiharabozentsuji" + + "iebplacedekagaminordkappgafanpachigasakievennodesashibetsukumiya" + + "mazonawsaarlandyndns-at-workinggroupalmspringsakerbrandywinevall" + + "eybrasiliabresciabrindisibenikebristoloseyouripirangapartmentsan" + + "okarumaifarsundyndns-blogdnsantabarbarabritishcolumbialowiezachp" + + "omorskienishikawazukamitsuebroadcastlefrakkestadyndns-freeboxost" + + "rowwlkpmgmodenakatombetsumitakagiizebroadwaybroke-itgorybrokerbr" + + "onnoysundyndns-homednsantacruzsantafedjeffersonishimerabrotherme" + + "saverdeatnurembergmxfinitybrowsersafetymarketsanukis-a-cubicle-s" + + "lavellinotteroybrumunddalottokonamegatakasugais-a-democratjeldsu" + + "ndyndns-ipamperedchefashionishinomiyashironobrunelasticbeanstalk" + + "asaokaminoyamaxunusualpersonishinoomotegobrusselsaotomeloyalistj" + + "ordalshalsenishinoshimattelefonicarbonia-iglesias-carboniaiglesi" + + "ascarboniabruxellesapodlasiellaktyubinskiptveterinairealtorlandy" + + "ndns-mailouvrehabmerbryanskleppanamabrynewjerseybuskerudinewport" + + "lligatjmaxxxjaworznowtv-infoodnetworkshoppingrimstadyndns-office" + + "-on-the-webcambulancebuzenishiokoppegardyndns-picsapporobuzzpana" + + "sonicateringebugattipschlesischesardegnamsskoganeis-a-designerim" + + "arumorimachidabwfastlylbaltimore-og-romsdalillyokozehimejibigawa" + + "ukraanghkeymachinewhampshirebungoonord-aurdalpha-myqnapcloudacce" + + "sscambridgestonemurorangeiseiyoichippubetsubetsugaruhrhcloudns3-" + + "eu-central-1bzhitomirumalselvendrellowiczest-le-patronishitosash" + + "imizunaminamiashigaracompute-1computerhistoryofscience-fictionco" + + "msecuritytacticsaseboknowsitallvivano-frankivskasuyanagawacondos" + + "hichinohealth-carereformitakeharaconferenceconstructionconsulado" + + "esntexistanbullensvanguardyndns-workisboringrueconsultanthropolo" + + "gyconsultingvollcontactoyonocontemporaryarteducationalchikugodoh" + + "aruovatoyookannamifunecontractorskenconventureshinodearthdfcbank" + + "aszubycookingchannelsdvrdnsdojoetsuwanouchikujogaszczytnordreisa" + + "-geekatowicecoolkuszkolahppiacenzaganquannakadomarineustarhubsas" + + "katchewancooperaunitemp-dnsassaris-a-gurulsandoycopenhagencyclop" + + "edichernihivanovodkagoshimalvikashibatakashimaseratis-a-financia" + + "ladvisor-aurdalucaniacorsicagliaridagawashtenawdev-myqnapcloudap" + + "plebtimnetzwhoswhokksundyndns1corvettenrightathomeftparliamentoy" + + "osatoyakokonoecosenzakopanerairguardiann-arboretumbriacosidnsfor" + + "-better-thanawatchesatxn--12c1fe0bradescorporationcostumedio-cam" + + "pidano-mediocampidanomediocouchpotatofriesaudacouncilcouponsauhe" + + "radynnsavannahgacoursesaves-the-whalessandria-trani-barletta-and" + + "riatranibarlettaandriacqhachiojiyahoooshikamaishimodatecranbrook" + + "uwanalyticsavonaplesaxocreditcardynulvikatsushikabeeldengeluidyn" + + "v6creditunioncremonashgabadaddjambylcrewiiheyakagecricketrzyncri" + + "meast-kazakhstanangercrotonexus-2crownprovidercrsvparmacruisesbs" + + "chokoladencryptonomichigangwoncuisinellair-traffic-controlleycul" + + "turalcentertainmentoyotaris-a-hard-workercuneocupcakecxn--12cfi8" + + "ixb8lcyberlevagangaviikanonjis-a-huntercymrussiacyonabarunzencyo" + + "utheworkpccwildlifedorainfracloudcontrolledogawarabikomaezakirun" + + "orfolkebibleikangerfidonnakaniikawatanagurafieldfiguerestauranto" + + "yotsukaidownloadfilateliafilegearfilminamiechizenfinalfinancefin" + + "eartscientistockholmestrandfinlandfinnoyfirebaseapparscjohnsonfi" + + "renzefirestonefirmdaleirvikatsuyamasfjordenfishingolffanscotland" + + "fitjarfitnessettlementoyourafjalerflesbergulenflickragerotikakeg" + + "awaflightscrapper-siteflirflogintogurafloraflorencefloridavvesii" + + "dazaifudaigojomedizinhistorischescrappingunmarburguovdageaidnusl" + + "ivinghistoryfloripaderbornfloristanohatakahamangyshlakasamatsudo" + + "ntexisteingeekaufenflorogerserveftpartis-a-landscaperflowerserve" + + "game-serversicherungushikamifuranortonflynnhostingxn--1ck2e1bamb" + + "leclercasadelamonedatingjerstadotsuruokakudamatsuemrflynnhubanan" + + "arepublicaseihichisobetsuitainairforcechirealmetlifeinsuranceu-1" + + "fndfor-ourfor-someethnologyfor-theaterforexrothachirogatakahatak" + + "aishimogosenforgotdnservehalflifestyleforli-cesena-forlicesenafo" + + "rlikescandynamic-dnservehttpartnerservehumourforsaleitungsenfors" + + "andasuolodingenfortmissoulancashireggio-calabriafortworthadanose" + + "gawaforuminamifuranofosneserveirchernovtsykkylvenetogakushimotog" + + "anewyorkshirecipesaro-urbino-pesarourbinopesaromasvuotnaharimamu" + + "rogawassamukawataricohdatsunanjoburgriwataraidyndns-remotewdyndn" + + "s-serverdaluccapitalonewspaperfotaruis-a-lawyerfoxfordebianfredr" + + "ikstadtvserveminecraftoystre-slidrettozawafreeddnsgeekgalaxyfree" + + "masonryfreesitexascolipicenogiftservemp3freetlservep2partservepi" + + "cservequakefreiburgfreightcminamiiselectozsdeloittevadsoccertifi" + + "cationfresenius-4fribourgfriuli-v-giuliafriuli-ve-giuliafriuli-v" + + "egiuliafriuli-venezia-giuliafriuli-veneziagiuliafriuli-vgiuliafr" + + "iuliv-giuliafriulive-giuliafriulivegiuliafriulivenezia-giuliafri" + + "uliveneziagiuliafriulivgiuliafrlfroganservesarcasmatartanddesign" + + "frognfrolandfrom-akrehamnfrom-alfrom-arfrom-azfrom-capebretonami" + + "astalowa-wolayangroupartyfrom-coguchikuzenfrom-ctrani-andria-bar" + + "letta-trani-andriafrom-dchirurgiens-dentistes-en-francefrom-dedy" + + "n-ip24from-flanderservicesettsurgeonshalloffamemergencyachtsevas" + + "topolefrom-gausdalfrom-higashiagatsumagoizumizakirkenesevenassis" + + "icilyfrom-iafrom-idfrom-ilfrom-incheonfrom-ksewilliamhillfrom-ky" + + "owariasahikawafrom-lancasterfrom-maniwakuratextileksvikautokeino" + + "from-mdfrom-megurokunohealthcareersharis-a-liberalfrom-microsoft" + + "bankazofrom-mnfrom-modellingfrom-msharpasadenamsosnowiechiryukyu" + + "ragifuchungbukharafrom-mtnfrom-nchitachinakagawatchandclockashih" + + "arafrom-ndfrom-nefrom-nhktraniandriabarlettatraniandriafrom-njcb" + + "nlfrom-nminamiizukamishihoronobeauxartsandcraftshawaiijimarugame" + + "-hostrolekamikitayamatsuris-a-libertarianfrom-nvalled-aostatoilf" + + "rom-nyfrom-ohkurafrom-oketohmannorth-kazakhstanfrom-orfrom-padov" + + "aksdalfrom-pratohnoshooguyfrom-rivnefrom-schoenbrunnfrom-sdfrom-" + + "tnfrom-txn--1ctwolominamatakkokamiokamiminershellaspeziafrom-uta" + + "zuerichardlillehammerfeste-ipassagenshimojis-a-linux-useranishia" + + "ritabashijonawatefrom-val-daostavalleyfrom-vtranoyfrom-wafrom-wi" + + "elunnerfrom-wvalledaostavangerfrom-wyfrosinonefrostalbanshimokaw" + + "afroyahikobeardubaiduckdnshimokitayamafstavernfujiiderafujikawag" + + "uchikonefujiminohtawaramotoineppubolognakanotoddenfujinomiyadafu" + + "jiokayamansionshimonitayanagithubusercontentransportransurlfujis" + + "atoshonairtelecitychyattorneyagawakuyabukidsmynasushiobaragusart" + + "shimonosekikawafujisawafujishiroishidakabiratoridefenseljordfuji" + + "tsurugashimaritimekeepingfujixeroxn--1lqs03nfujiyoshidafukayabea" + + "tshimosuwalkis-a-llamarylandfukuchiyamadafukudominichitosetogits" + + "uldalucernefukuis-a-musicianfukumitsubishigakirovogradoyfukuokaz" + + "akiryuohadselfipassenger-associationfukuroishikarikaturindalfuku" + + "sakisarazurewebsiteshikagamiishibukawafukuyamagatakaharufunabash" + + "iriuchinadafunagatakahashimamakishiwadafunahashikamiamakusatsuma" + + "sendaisennangonohejis-a-nascarfanfundaciofuoiskujukuriyamanxn--1" + + "lqs71dfuosskoczowinbarcelonagasakikonaikawachinaganoharamcoacham" + + "pionshiphoptobishimaizurugbydgoszczecinemakeupowiathletajimabari" + + "akembuchikumagayagawakkanaibetsubamericanfamilydscloudcontrolapp" + + "spotagerfurnitureggio-emilia-romagnakasatsunairtrafficplexus-1fu" + + "rubiraquarellebesbyenglandfurudonostiaarpaviancarrierfurukawais-" + + "a-nurservebbshimotsukefusodegaurafussagamiharafutabayamaguchinom" + + "igawafutboldlygoingnowhere-for-moregontrailroadfuttsurugimperiaf" + + "uturecmshimotsumafuturehostingfuturemailingfvgfylkesbiblackfrida" + + "yfyresdalhangglidinghangoutsystemscloudfunctionshinichinanhannan" + + "mokuizumodernhannotaireshinjournalisteinkjerusalembroideryhanyuz" + + "enhapmirhareidsbergenharstadharvestcelebrationhasamarcheapgfoggi" + + "ahasaminami-alpssells-itrapaniimimatakatoris-a-playerhashbanghas" + + "udahasura-appharmacienshinjukumanohasvikazunohatogayaitakamoriok" + + "aluganskolevangerhatoyamazakitahiroshimarnardalhatsukaichikaisei" + + "s-a-republicancerresearchaeologicaliforniahattfjelldalhayashimam" + + "otobungotakadapliernewmexicodyn-vpnplusterhazuminobusellsyourhom" + + "egoodshinkamigotoyohashimotoshimahboehringerikehelsinkitakamiizu" + + "misanofidelityhembygdsforbundhemneshinshinotsurgeryhemsedalhepfo" + + "rgeherokussldheroyhgtvallee-aosteroyhigashichichibunkyonanaoshim" + + "ageandsoundandvisionhigashihiroshimanehigashiizumozakitakatakana" + + "beautysfjordhigashikagawahigashikagurasoedahigashikawakitaaikita" + + "kyushuaiahigashikurumeiwamarriottravelchannelhigashimatsushimars" + + "hallstatebankddielddanuorrikuzentakataiwanairlinebraskaunjargals" + + "aceohigashimatsuyamakitaakitadaitoigawahigashimurayamamotorcycle" + + "shinshirohigashinarusembokukitamidoris-a-rockstarachowicehigashi" + + "nehigashiomihachimanchesterhigashiosakasayamanakakogawahigashish" + + "irakawamatakanezawahigashisumiyoshikawaminamiaikitamotosumy-rout" + + "erhigashitsunotogawahigashiurausukitanakagusukumoduminamiminowah" + + "igashiyamatokoriyamanashifteditchyouripharmacyshintokushimahigas" + + "hiyodogawahigashiyoshinogaris-a-socialistmein-vigorgehiraizumisa" + + "tohobby-sitehirakatashinagawahiranais-a-soxfanhirarahiratsukagaw" + + "ahirayaizuwakamatsubushikusakadogawahistorichouseshintomikasahar" + + "ahitachiomiyagildeskaliszhitachiotagooglecodespotravelersinsuran" + + "cehitraeumtgeradellogliastradinghjartdalhjelmelandholeckobierzyc" + + "eholidayhomeiphdhomelinkfhappouhomelinuxn--1qqw23ahomeofficehome" + + "securitymaceratakaokamakurazakitashiobarahomesecuritypchloehomes" + + "enseminehomeunixn--2m4a15ehondahoneywellbeingzonehongopocznorthw" + + "esternmutualhonjyoitakarazukameokameyamatotakadahornindalhorseou" + + "lminamiogunicomcastresistancehortendofinternet-dnshinyoshitomiok" + + "amogawahospitalhoteleshiojirishirifujiedahotmailhoyangerhoylande" + + "troitskydivinghumanitieshioyanaizuhurdalhurumajis-a-studentalhyl" + + "lestadhyogoris-a-teacherkassymantechnologyhyugawarahyundaiwafune" + + "hzchocolatemasekashiwarajewishartgalleryjfkharkovalleeaosteigenj" + + "gorajlcube-serverrankoshigayakumoldelmenhorstagejlljmphilipsynol" + + "ogy-diskstationjnjcphilatelyjoyokaichibahccavuotnagareyamalborkd" + + "alwaysdatabaseballangenoamishirasatochigiessensiositelemarkherso" + + "njpmorganjpnjprshiraokananporovigotpantheonsitejuniperjurkoshuna" + + "ntokigawakosugekotohiradomainshiratakahagitlaborkotourakouhokuta" + + "makis-an-artistcgrouphiladelphiaareadmyblogsitekounosupplieshish" + + "ikuis-an-engineeringkouyamashikokuchuokouzushimasoykozagawakozak" + + "is-an-entertainerkozowindmillkpnkppspdnshisognekrasnodarkredston" + + "ekristiansandcatshisuifuelblagdenesnaaseralingenkainanaejrietisa" + + "latinabenonichoshibuyachiyodavvenjargaulardalutskasukabedzin-the" + + "-bandaioiraseeklogest-mon-blogueurovisionisshingugekristiansundk" + + "rodsheradkrokstadelvaldaostarnbergkryminamisanrikubetsupportrent" + + "ino-alto-adigekumatorinokumejimasudakumenanyokkaichiropractichoy" + + "odobashichikashukujitawarakunisakis-bykunitachiarailwaykunitomig" + + "usukumamotoyamassa-carrara-massacarraramassabusinessebyklegalloc" + + "alhistoryggeelvinckhmelnytskyivanylvenicekunneppulawykunstsammlu" + + "ngkunstunddesignkuokgrouphoenixn--30rr7ykureggioemiliaromagnakay" + + "amatsumaebashikshacknetrentino-altoadigekurgankurobelaudiblebork" + + "angerkurogimilanokuroisoftwarendalenugkuromatsunais-certifieduca" + + "torahimeshimamateramochizukirakurotakikawasakis-foundationkushir" + + "ogawakustanais-gonekusupplykutchanelkutnokuzumakis-into-animelbo" + + "urnekvafjordkvalsundkvamlidlugolekafjordkvanangenkvinesdalkvinnh" + + "eradkviteseidskogkvitsoykwpspiegelkzmisugitokorozawamitourismola" + + "ngevagrarchaeologyeongbuknx-serveronakatsugawamitoyoakemiuramiya" + + "zumiyotamanomjondalenmlbfanmonstermonticellolmontrealestatefarme" + + "quipmentrentino-s-tirollagrigentomologyeonggiehtavuoatnagaivuotn" + + "agaokakyotambabia-goracleaningatlantabusebastopologyeongnamegawa" + + "keisenbahnmonza-brianzaporizhzhiamonza-e-della-brianzapposhitara" + + "mamonzabrianzaptokuyamatsusakahoginankokubunjis-leetnedalmonzaeb" + + "rianzaramonzaedellabrianzamoonscalezajskolobrzegersundmoparachut" + + "ingmordoviajessheiminamitanemoriyamatsushigemoriyoshimilitarymor" + + "monmouthagakhanamigawamoroyamatsuuramortgagemoscowindowshizukuis" + + "himofusaintlouis-a-bruinsfanmoseushistorymosjoenmoskeneshizuokan" + + "azawamosshoujis-lostre-toteneis-an-accountantshirahamatonbetsurn" + + "adalmosvikomaganemoteginowaniihamatamakawajimaoris-not-certified" + + "unetbankhakassiamoviemovistargardmtpchristiansburgrondarmtranbym" + + "uenstermuginozawaonsenmuikamisunagawamukochikushinonsenergymulho" + + "uservebeermunakatanemuncieszynmuosattemuphonefosshowamurmanskoma" + + "kiyosunndalmurotorcraftrentino-stirolmusashimurayamatsuzakis-sav" + + "edmusashinoharamuseetrentino-sud-tirolmuseumverenigingmusicargod" + + "addynaliascoli-picenogataijis-slickharkivgucciprianiigataishinom" + + "akinderoymutsuzawamy-vigorlicemy-wanggouvicenzamyactivedirectory" + + "myasustor-elvdalmycdn77-securecifedexhibitionmyddnskingmydissent" + + "rentino-sudtirolmydrobofagemydshowtimemorialmyeffectrentino-sued" + + "-tirolmyfirewallonieruchomoscienceandindustrynmyfritzmyftpaccess" + + "hriramsterdamnserverbaniamyfusionmyhome-serversaillesienarashino" + + "mykolaivaolbia-tempio-olbiatempioolbialystokkepnoduminamiuonumat" + + "sumotofukemymailermymediapchristmasakimobetsuliguriamyokohamamat" + + "sudamypephotographysiomypetsigdalmyphotoshibajddarchitecturealty" + + "dalipaymypsxn--32vp30hagebostadmysecuritycamerakermyshopblocksil" + + "komatsushimashikizunokunimihoboleslawiechonanbuilderschmidtre-ga" + + "uldalukowhalingroks-thisayamanobeokalmykiamytis-a-bloggermytulea" + + "piagetmyipictetrentino-suedtirolmyvnchromedicaltanissettairamywi" + + "reitrentinoa-adigepinkomforbarclays3-us-east-2pioneerpippupictur" + + "esimple-urlpiszpittsburghofauskedsmokorsetagayasells-for-usgarde" + + "npiwatepixolinopizzapkommunalforbundplanetariuminamiyamashirokaw" + + "anabelembetsukubanklabudhabikinokawabarthaebaruminamimakis-a-pai" + + "nteractivegarsheis-a-patsfanplantationplantslingplatformshangril" + + "anslupskommuneplaystationplazaplchryslerplumbingopmnpodzonepohlp" + + "oivronpokerpokrovskomonopolitiendapolkowicepoltavalle-aostarostw" + + "odzislawinnersnoasaitamatsukuris-uberleetrdpomorzeszowiosokaneya" + + "mazoepordenonepornporsangerporsanguidell-ogliastraderporsgrunnan" + + "poznanpraxis-a-bookkeeperugiaprdpreservationpresidioprgmrprimelh" + + "uscultureisenprincipeprivatizehealthinsuranceprochowiceproductio" + + "nsokndalprofbsbxn--12co0c3b4evalleaostaticschuleprogressivegasia" + + "promombetsurfbx-oschwarzgwangjuifminamidaitomangotsukisofukushim" + + "aparocherkasyno-dschweizpropertyprotectionprotonetrentinoaadigep" + + "rudentialpruszkowitdkomorotsukamisatokamachintaifun-dnsaliasdabu" + + "rprzeworskogptplusdecorativeartsolarssonpvtrentinoalto-adigepwch" + + "ungnamdalseidfjordyndns-weberlincolniyodogawapzqldqponqslgbtrent" + + "inoaltoadigequicksytesolognequipelementsolundbeckomvuxn--2scrj9c" + + "hoseiroumuenchenissandnessjoenissayokoshibahikariwanumatakazakis" + + "-a-greenissedaluroyqvchurchaseljeepsongdalenviknagatorodoystufft" + + "oread-booksnesomnaritakurashikis-very-badajozorastuttgartrentino" + + "sudtirolsusakis-very-evillagesusonosuzakaniepcesuzukanmakiwakuni" + + "gamidsundsuzukis-very-goodhandsonsvalbardunloppacificirclegnicaf" + + "ederationsveiosvelvikongsvingersvizzerasvn-reposooswedenswidnica" + + "rtierswiebodzindianapolis-a-anarchistoireggiocalabriaswiftcovers" + + "winoujscienceandhistoryswisshikis-very-nicesynology-dsopotrentin" + + "os-tirolturystykanoyaltakasakiwientuscanytushuissier-justicetuva" + + "lle-daostatic-accessorreisahayakawakamiichikawamisatotaltuxfamil" + + "ytwmailvbargainstitutelevisionaustdalimanowarudaustevollavangena" + + "turbruksgymnaturhistorisches3-eu-west-1venneslaskerrylogisticsor" + + "tlandvestfoldvestnesoruminanovestre-slidreamhostersouthcarolinaz" + + "awavestre-totennishiawakuravestvagoyvevelstadvibo-valentiavibova" + + "lentiavideovillaskimitsubatamicable-modemoneyvinnicartoonartdeco" + + "ffeedbackplaneapplinzis-very-sweetpeppervinnytsiavipsinaappilots" + + "irdalvirginiavirtualvirtueeldomeindianmarketingvirtuelvisakataki" + + "nouevistaprinternationalfirearmsouthwestfalenviterboltrevisohugh" + + "esor-odalvivoldavixn--3bst00mincommbankmpspbarclaycards3-sa-east" + + "-1vlaanderenvladikavkazimierz-dolnyvladimirvlogoipimientaketomis" + + "atolgavolkswagentsowavologdanskonskowolawavolvolkenkundenvolyngd" + + "alvossevangenvotevotingvotoyonakagyokutourspjelkavikongsbergwloc" + + "lawekonsulatrobeepilepsydneywmflabspreadbettingworldworse-thanda" + + "wowithgoogleapisa-hockeynutsiracusakakinokiawpdevcloudwritesthis" + + "blogsytewroclawithyoutubeneventoeidsvollwtcircustomerwtfbxoscien" + + "cecentersciencehistorywuozuwwwiwatsukiyonowruzhgorodeowzmiuwajim" + + "axn--42c2d9axn--45br5cylxn--45brj9citadeliveryxn--45q11citicatho" + + "licheltenham-radio-opencraftrainingripescaravantaaxn--4gbriminin" + + "gxn--4it168dxn--4it797kooris-an-actorxn--4pvxs4allxn--54b7fta0cc" + + "ivilaviationxn--55qw42gxn--55qx5dxn--5js045dxn--5rtp49civilisati" + + "onxn--5rtq34kopervikhmelnitskiyamashikexn--5su34j936bgsgxn--5tzm" + + "5gxn--6btw5axn--6frz82gxn--6orx2rxn--6qq986b3xlxn--7t0a264civili" + + "zationxn--80adxhkspydebergxn--80ao21axn--80aqecdr1axn--80asehdba" + + "rreauctionaval-d-aosta-valleyolasiteu-2xn--80aswgxn--80audnedaln" + + "xn--8ltr62koryokamikawanehonbetsurutaharaxn--8pvr4uxn--8y0a063ax" + + "n--90a3academy-firewall-gatewayxn--90aeroportalaheadjudaicaaarbo" + + "rteaches-yogasawaracingroks-theatreexn--90aishobaraomoriguchihar" + + "ahkkeravjuedischesapeakebayernrtritonxn--90azhytomyrxn--9dbhblg6" + + "dietcimdbarrel-of-knowledgemologicallimitediscountysvardolls3-us" + + "-gov-west-1xn--9dbq2axn--9et52uxn--9krt00axn--andy-iraxn--aropor" + + "t-byandexn--3ds443gxn--asky-iraxn--aurskog-hland-jnbarrell-of-kn" + + "owledgeologyombondiscoveryomitanobninskarasjohkaminokawanishiaiz" + + "ubangeu-3utilitiesquare7xn--avery-yuasakegawaxn--b-5gaxn--b4w605" + + "ferdxn--bck1b9a5dre4civilwarmanagementjxn--0trq7p7nnxn--bdddj-mr" + + "abdxn--bearalvhki-y4axn--berlevg-jxaxn--bhcavuotna-s4axn--bhccav" + + "uotna-k7axn--bidr-5nachikatsuuraxn--bievt-0qa2xn--bjarky-fyaotsu" + + "rreyxn--bjddar-ptamayufuettertdasnetzxn--blt-elabourxn--bmlo-gra" + + "ingerxn--bod-2naroyxn--brnny-wuaccident-investigation-aptiblease" + + "ating-organicbcn-north-1xn--brnnysund-m8accident-prevention-webh" + + "openairbusantiquest-a-la-maisondre-landebudapest-a-la-masionionj" + + "ukudoyamagentositelekommunikationthewifiat-band-campaniaxn--brum" + + "-voagatroandinosaurepbodynathomebuiltrentinosued-tirolxn--btsfjo" + + "rd-9zaxn--c1avgxn--c2br7gxn--c3s14minnesotaketakatsukis-into-car" + + "shiranukanagawaxn--cck2b3barsyonlinewhollandishakotanavigationav" + + "oibmdisrechtranakaiwamizawaweddingjesdalimoliserniaustinnatuurwe" + + "tenschappenaumburgjerdrumckinseyokosukanzakiyokawaragrocerybnika" + + "hokutobamaintenancebetsuikicks-assedic66xn--cg4bkis-with-theband" + + "ovre-eikerxn--ciqpnxn--clchc0ea0b2g2a9gcdn77-sslattumintelligenc" + + "exn--comunicaes-v6a2oxn--correios-e-telecomunicaes-ghc29axn--czr" + + "694bashkiriaustraliaisondriodejaneirochesterxn--czrs0trogstadxn-" + + "-czru2dxn--czrw28basilicataniaustrheimatunduhrennesoyokotebinore" + + "-og-uvdalaziobiraskvolloabathsbcasacamdvrcampobassociatestingjem" + + "nes3-ap-southeast-1xn--d1acj3basketballyngenavuotnaklodzkodairau" + + "thordalandroiddnss3-eu-west-2xn--d1alfaromeoxn--d1atromsaitomobe" + + "llevuelosangelesjaguarmeniaxn--d5qv7z876claimsardiniaxn--davvenj" + + "rga-y4axn--djrs72d6uyxn--djty4kosaigawaxn--dnna-grajewolterskluw" + + "erxn--drbak-wuaxn--dyry-iraxn--e1a4clanbibaidarq-axn--eckvdtc9dx" + + "n--efvn9srlxn--efvy88haibarakisosakitagawaxn--ehqz56nxn--elqq16h" + + "air-surveillancexn--estv75gxn--eveni-0qa01gaxn--f6qx53axn--fct42" + + "9kosakaerodromegallupinbarefootballfinanzgoraurskog-holandroverh" + + "alla-speziaetnagahamaroygardenebakkeshibechambagriculturennebude" + + "jjudygarlandd-dnshome-webservercellikes-piedmontblancomeeres3-ap" + + "-south-1kappchizippodhaleangaviikadenadexetereport3l3p0rtargets-" + + "itargivestbytomaritimobaravennagasuke12hpalace164lima-cityeatsel" + + "inogradultarnobrzegyptianativeamericanantiques3-ap-northeast-133" + + "7xn--fhbeiarnxn--finny-yuaxn--fiq228c5hsrtrentinostirolxn--fiq64" + + "batodayonagoyautomotivecoalvdalaskanittedallasalleasinglesurance" + + "rtmgretagajoboji234xn--fiqs8srvaporcloudxn--fiqz9storagexn--fjor" + + "d-lraxn--fjq720axn--fl-ziaxn--flor-jraxn--flw351exn--fpcrj9c3dxn" + + "--frde-grandrapidstordalxn--frna-woaraisaijotromsojampagefrontap" + + "piemontexn--frya-hraxn--fzc2c9e2cldmailuxembourgrongaxn--fzys8d6" + + "9uvgmailxn--g2xx48clickasumigaurawa-mazowszextraspacekitagatajir" + + "issagaeroclubmedecincinnationwidealstahaugesunderseaportsinfolld" + + "alabamagasakishimabarackmazerbaijan-mayendoftheinternetflixilove" + + "collegefantasyleaguernseyxn--gckr3f0fedorapeopleirfjordynvpncher" + + "nivtsiciliaxn--gecrj9clinichernigovernmentjometacentruminamiawaj" + + "ikis-a-doctorayxn--ggaviika-8ya47hakatanoshiroomuraxn--gildeskl-" + + "g0axn--givuotna-8yasakaiminatoyonezawaxn--gjvik-wuaxn--gk3at1exn" + + "--gls-elacaixaxn--gmq050isleofmandalxn--gmqw5axn--h-2failxn--h1a" + + "eghakodatexn--h2breg3evenestorepaircraftrentinosud-tirolxn--h2br" + + "j9c8cliniquenoharaxn--h3cuzk1digitalxn--hbmer-xqaxn--hcesuolo-7y" + + "a35batsfjordivtasvuodnakamagayahababyglandivttasvuotnakamurataji" + + "mibuildingjovikarasjokarasuyamarylhurstjohnayorovnoceanographics" + + "3-us-west-1xn--hery-iraxn--hgebostad-g3axn--hmmrfeasta-s4acctrus" + + "teexn--hnefoss-q1axn--hobl-iraxn--holtlen-hxaxn--hpmir-xqaxn--hx" + + "t814exn--hyanger-q1axn--hylandet-54axn--i1b6b1a6a2exn--imr513nxn" + + "--indery-fyasugivingxn--io0a7issmarterthanyouxn--j1aefedoraproje" + + "ctoyotomiyazakis-a-knightpointtokaizukamikoaniikappugliaxn--j1am" + + "hakonexn--j6w193gxn--jlq61u9w7bauhausposts-and-telecommunication" + + "sncfdiyonaguniversityoriikarateu-4xn--jlster-byasuokanraxn--jrpe" + + "land-54axn--jvr189misakis-into-cartoonshiraois-a-techietis-a-the" + + "rapistoiaxn--k7yn95exn--karmy-yuaxn--kbrq7oxn--kcrx77d1x4axn--kf" + + "jord-iuaxn--klbu-woaxn--klt787dxn--kltp7dxn--kltx9axn--klty5xn--" + + "3e0b707exn--koluokta-7ya57hakubaghdadxn--kprw13dxn--kpry57dxn--k" + + "pu716fermodalenxn--kput3iwchofunatoriginsurecreationishiwakis-a-" + + "geekashiwazakiyosatokashikiyosemitexn--krager-gyatomitamamuraxn-" + + "-kranghke-b0axn--krdsherad-m8axn--krehamn-dxaxn--krjohka-hwab49j" + + "elenia-goraxn--ksnes-uuaxn--kvfjord-nxaxn--kvitsy-fyatsukanumazu" + + "ryxn--kvnangen-k0axn--l-1fairwindstorfjordxn--l1accentureklambor" + + "ghiniizaxn--laheadju-7yatsushiroxn--langevg-jxaxn--lcvr32dxn--ld" + + "ingen-q1axn--leagaviika-52bbcasertaipeiheijiitatebayashiibahcavu" + + "otnagaraholtalenvironmentalconservationflfanfshostrowiecasinordl" + + "andnpalermomahachijorpelandrangedalindashorokanaieverbankaratsug" + + "inamikatagamiharuconnectashkentatamotors3-us-west-2xn--lesund-hu" + + "axn--lgbbat1ad8jeonnamerikawauexn--lgrd-poaclintonoshoesarluxury" + + "xn--lhppi-xqaxn--linds-pramericanartrvareserveblogspotrentinosue" + + "dtirolxn--lns-qlapyatigorskypexn--loabt-0qaxn--lrdal-sraxn--lren" + + "skog-54axn--lt-liaclothingdustkakamigaharaxn--lten-granexn--lury" + + "-iraxn--m3ch0j3axn--mely-iraxn--merker-kuaxn--mgb2ddestorjdevclo" + + "udfrontdoorxn--mgb9awbferraraxn--mgba3a3ejtrysiljanxn--mgba3a4f1" + + "6axn--mgba3a4franamizuholdingsmilelverumisasaguris-into-gamessin" + + "atsukigatakasagotembaixadaxn--mgba7c0bbn0axn--mgbaakc7dvferrarit" + + "togoldpoint2thisamitsukexn--mgbaam7a8hakuis-a-personaltrainerxn-" + + "-mgbab2bdxn--mgbai9a5eva00bbtatarantottoriiyamanouchikuhokuryuga" + + "sakitaurayasudautoscanadaejeonbukaragandasnesoddenmarkhangelskja" + + "kdnepropetrovskiervaapsteiermark12xn--mgbai9azgqp6jetztrentino-a" + + "-adigexn--mgbayh7gpagespeedmobilizeroxn--mgbb9fbpobanazawaxn--mg" + + "bbh1a71exn--mgbc0a9azcgxn--mgbca7dzdoxn--mgberp4a5d4a87gxn--mgbe" + + "rp4a5d4arxn--mgbgu82axn--mgbi4ecexposedxn--mgbpl2fhskodjejuegosh" + + "ikiminokamoenairportland-4-salernoboribetsuckstpetersburgxn--mgb" + + "qly7c0a67fbcnsarpsborgrossetouchijiwadegreexn--mgbqly7cvafranzis" + + "kanerdpolicexn--mgbt3dhdxn--mgbtf8flatangerxn--mgbtx2bbvacations" + + "watch-and-clockerxn--mgbx4cd0abbottulanxessor-varangerxn--mix082" + + "ferreroticanonoichinomiyakexn--mix891fetsundyroyrvikinguitarscho" + + "larshipschoolxn--mjndalen-64axn--mk0axindustriesteamfamberkeleyx" + + "n--mk1bu44cntkmaxxn--11b4c3dyndns-wikinkobayashikaoirminamibosog" + + "ndaluzernxn--mkru45ixn--mlatvuopmi-s4axn--mli-tlaquilanciaxn--ml" + + "selv-iuaxn--moreke-juaxn--mori-qsakuhokkaidoomdnsiskinkyotobetsu" + + "midatlanticolognextdirectmparaglidingroundhandlingroznyxn--mosje" + + "n-eyawaraxn--mot-tlarvikoseis-an-actresshirakofuefukihaboromskog" + + "xn--mre-og-romsdal-qqbentleyoshiokaracoldwarmiamihamadaveroykeni" + + "waizumiotsukuibestadds3-external-1xn--msy-ula0hakusandiegoodyear" + + "xn--mtta-vrjjat-k7afamilycompanycolonialwilliamsburgrparisor-fro" + + "nxn--muost-0qaxn--mxtq1misawaxn--ngbc5azdxn--ngbe9e0axn--ngbrxn-" + + "-3hcrj9cistrondheimmobilienxn--nit225kosherbrookegawaxn--nmesjev" + + "uemie-tcbalestrandabergamoarekexn--nnx388axn--nodessakuragawaxn-" + + "-nqv7fs00emaxn--nry-yla5gxn--ntso0iqx3axn--ntsq17gxn--nttery-bya" + + "eservecounterstrikexn--nvuotna-hwaxn--nyqy26axn--o1achattanoogan" + + "ordre-landxn--o3cw4haldenxn--o3cyx2axn--od0algxn--od0aq3beppubli" + + "shproxyzgorzeleccollectionhlfanhs3-website-ap-northeast-1xn--ogb" + + "pf8flekkefjordxn--oppegrd-ixaxn--ostery-fyawatahamaxn--osyro-wua" + + "xn--p1acfgujolsterxn--p1aixn--pbt977coloradoplateaudioxn--pgbs0d" + + "hlxn--porsgu-sta26fhvalerxn--pssu33lxn--pssy2uxn--q9jyb4columbus" + + "heyxn--qcka1pmcdonaldstreamuneuesolutionsomaxn--qqqt11misconfuse" + + "dxn--qxamusementunesorfoldxn--rady-iraxn--rdal-poaxn--rde-ulavag" + + "iskexn--rdy-0nabarixn--rennesy-v1axn--rhkkervju-01aflakstadaokag" + + "akibichuoxn--rholt-mragowoodsideltaitogliattirestudioxn--rhqv96g" + "xn--rht27zxn--rht3dxn--rht61exn--risa-5narusawaxn--risr-iraxn--r" + - "land-uuaxn--rlingen-mxaxn--rmskog-byaxn--rny31hammarfeastafricap" + - "etownnews-stagingxn--rovu88bernuorockartuzyukuhashimoichinosekig" + - "aharautoscanadaejeonbukarasjokarasuyamarylhurstjordalshalsenaust" + - "dalavagiskebizenakaniikawatanaguramusementarnobrzegyptianaturalh" + - "istorymuseumcenterepaircraftarumizusawabogadocscbgdyniabkhaziama" + - "llamagazineat-url-o-g-i-nativeamericanantiques3-ap-northeast-1ka" + - "ppchizippodhaleangaviikadenadexetereit3l3p0rtargets-itargiving12" + - "000emmafanconagawakayamadridvagsoyericssonyoursidealerimo-i-rana" + - "amesjevuemielno-ip6xn--rros-granvindafjordxn--rskog-uuaxn--rst-0" + - "narutokyotangovtuscanyxn--rsta-francaiseharaxn--ryken-vuaxn--ryr" + - "vik-byaxn--s-1faithruherecreationxn--s9brj9compute-1xn--sandness" + - "jen-ogbizxn--sandy-yuaxn--seral-lraxn--ses554gxn--sgne-gratangen" + - "xn--skierv-utazaskoyabearalvahkihokumakogengerdalcestpetersburgx" + - "n--skjervy-v1axn--skjk-soaxn--sknit-yqaxn--sknland-fxaxn--slat-5" + - "narviikamisunagawaxn--slt-elabbvieeexn--smla-hraxn--smna-gratis-" + - "a-bulls-fanxn--snase-nraxn--sndre-land-0cbremangerxn--snes-poaxn" + - "--snsa-roaxn--sr-aurdal-l8axn--sr-fron-q1axn--sr-odal-q1axn--sr-" + - "varanger-ggbeskidyn-o-saurlandes3-website-us-east-1xn--srfold-by" + - "axn--srreisa-q1axn--srum-grazxn--stfold-9xaxn--stjrdal-s1axn--st" + - "jrdalshalsen-sqbestbuyshouses3-website-us-west-1xn--stre-toten-z" + - "cbstreamsterdamnserverbaniaxn--t60b56axn--tckweatherchannelxn--t" + - "iq49xqyjewelryxn--tjme-hraxn--tn0agrinet-freakstudioxn--tnsberg-" + - "q1axn--tor131oxn--trany-yuaxn--trgstad-r1axn--trna-woaxn--troms-" + - "zuaxn--tysvr-vraxn--uc0atvaroyxn--uc0ay4axn--uist22hamurakamigor" + - "is-a-playerxn--uisz3gxn--unjrga-rtaobaokinawashirosatochiokinosh" + - "imalatvuopmiasakuchinotsuchiurakawakuyabukievenestudyndns-at-hom" + - "edepotenzamamicrolightingxn--unup4yxn--uuwu58axn--vads-jraxn--va" + - "rd-jraxn--vegrshei-c0axn--vermgensberater-ctbetainaboxfusejnyuri" + - "honjoyentgoryusuharaveroykenglandds3-external-1xn--vermgensberat" + - "ung-pwbieigersundnpalaceu-3utilitiesquare7xn--vestvgy-ixa6oxn--v" + - "g-yiabcgxn--vgan-qoaxn--vgsy-qoa0jewishartgalleryxn--vgu402compu" + - "terhistoryofscience-fictionxn--vhquvbargainstitutelevisionayorov" + - "nobninskarelianceu-2xn--vler-qoaxn--vre-eiker-k8axn--vrggt-xqadx" + - "n--vry-yla5gxn--vuq861bielawalmartjeldsundrangedalillyusuisserve" + - "exchangevents3-website-us-west-2xn--w4r85el8fhu5dnraxn--w4rs40lx" + - "n--wcvs22dxn--wgbh1comsecuritytacticsaseboknowsitallukowhoswhokk" + - "sundyndns-workisboringroundhandlingroznyxn--wgbl6axn--xhq521biel" + - "laakesvuemielecceverbankarlsoyuufcfanikinuyamashinashikitchenikk" + - "oebenhavnikolaevennodessagaeroclubmedecincinnationwidealstahauge" + - "sunderseaportsinfolldalabamagasakishimabarackmazerbaijan-mayendo" + - "ftheinternetflixilovecollegefantasyleaguernseyuzawavocatanzarowe" + - "ddingjesdalavangenaval-d-aosta-valleyolasitehimejibigawaskvolloa" + - "bathsbc66xn--xkc2al3hye2axn--xkc2dl3a5ee0hangglidingxn--y9a3aqua" + - "riumishimatsunoxn--yer-znarvikosherbrookegawaxn--yfro4i67oxn--yg" + - "arden-p1axn--ygbi2ammxn--3pxu8konsulatrobeepilepsydneyxn--ystre-" + - "slidre-ujbieszczadygeyachimataikikonaioirasebastopologyeonggieht" + - "avuoatnagaivuotnagaokakyotambabia-goracleaningatlantabuseekloges" + - "t-mon-blogueurovisionikonantankarmoyxn--zbx025dxn--zf0ao64axn--z" + - "f0avxn--42c2d9axn--zfr164bievatmallorcadaquesakurainvestmentsaky" + - "otanabellunorddalimanowarudavoues3-fips-us-gov-west-1xperiaxz" + "land-uuaxn--rlingen-mxaxn--rmskog-byaxn--rny31halsaikitahatakama" + + "tsukawaxn--rovu88bernuorockartuzyukinfinitintuitateshinanomachim" + + "kentateyamavocatanzarowebspacebizenakanojohanamakinoharassnasaba" + + "erobatickets3-ap-southeast-2xn--rros-granvindafjordxn--rskog-uua" + + "xn--rst-0narutokyotangovtunkoninjamisonxn--rsta-francaiseharaxn-" + + "-rvc1e0am3exn--ryken-vuaxn--ryrvik-byaxn--s-1faithruheredumbrell" + + "ajollamericanexpressexyxn--s9brj9communitysnesarufutsunomiyawaka" + + "saikaitakoelnxn--sandnessjen-ogbizxn--sandy-yuaxn--seral-lraxn--" + + "ses554gxn--sgne-gratangenxn--skierv-utazaskoyabearalvahkijobserv" + + "erisignieznoipifonymishimatsunoxn--skjervy-v1axn--skjk-soaxn--sk" + + "nit-yqaxn--sknland-fxaxn--slat-5narviikamitondabayashiogamagoriz" + + "iaxn--slt-elabbvieeexn--smla-hraxn--smna-gratis-a-bulls-fanxn--s" + + "nase-nraxn--sndre-land-0cbremangerxn--snes-poaxn--snsa-roaxn--sr" + + "-aurdal-l8axn--sr-fron-q1axn--sr-odal-q1axn--sr-varanger-ggbeski" + + "dyn-o-saurlandes3-website-ap-southeast-1xn--srfold-byaxn--srreis" + + "a-q1axn--srum-grazxn--stfold-9xaxn--stjrdal-s1axn--stjrdalshalse" + + "n-sqbestbuyshouses3-website-ap-southeast-2xn--stre-toten-zcbstud" + + "yndns-at-homedepotenzamamicrolightingxn--t60b56axn--tckweatherch" + + "annelxn--tiq49xqyjevnakershuscountryestateofdelawarezzoologyxn--" + + "tjme-hraxn--tn0agrinet-freakstuff-4-salexn--tnsberg-q1axn--tor13" + + "1oxn--trany-yuaxn--trgstad-r1axn--trna-woaxn--troms-zuaxn--tysvr" + + "-vraxn--uc0atvarggatrentoyokawaxn--uc0ay4axn--uist22hammarfeasta" + + "fricapetownnews-stagingxn--uisz3gxn--unjrga-rtaobaokinawashirosa" + + "tochiokinoshimalatvuopmiasakuchinotsuchiurakawalesundxn--unup4yx" + + "n--uuwu58axn--vads-jraxn--vard-jraxn--vegrshei-c0axn--vermgensbe" + + "rater-ctbetainaboxfusejnynysadodgeometre-experts-comptables3-web" + + "site-eu-west-1xn--vermgensberatung-pwbieigersundray-dnsupdaterno" + + "pilawavoues3-fips-us-gov-west-1xn--vestvgy-ixa6oxn--vg-yiabcgxn-" + + "-vgan-qoaxn--vgsy-qoa0jewelryxn--vgu402comobilyxn--vhquvaroyxn--" + + "vler-qoaxn--vre-eiker-k8axn--vrggt-xqadxn--vry-yla5gxn--vuq861bi" + + "elawalmartatsunoceanographiquevje-og-hornnes3-website-sa-east-1x" + + "n--w4r85el8fhu5dnraxn--w4rs40lxn--wcvs22dxn--wgbh1comparemarkerr" + + "yhotelsasayamaxn--wgbl6axn--xhq521biellaakesvuemieleccexn--xkc2a" + + "l3hye2axn--xkc2dl3a5ee0hamurakamigoris-a-photographerokuappfizer" + + "xn--y9a3aquariumissilewismillerxn--yer-znarvikoshimizumakis-an-a" + + "narchistoricalsocietyxn--yfro4i67oxn--ygarden-p1axn--ygbi2ammxn-" + + "-3oq18vl8pn36axn--ystre-slidre-ujbieszczadygeyachimataikikuchiku" + + "seikarugamvikareliancexn--zbx025dxn--zf0ao64axn--zf0avxn--3pxu8k" + + "onyveloftrentino-aadigexn--zfr164bievatmallorcadaques3-website-u" + + "s-east-1xperiaxz" // nodes is the list of nodes. Each node is represented as a uint32, which // encodes the node's children, wildcard bit and node type (as an index into @@ -483,8274 +489,8419 @@ const text = "bifukagawalterbihorologybikedagestangeorgeorgiaxasnesoddenmarkha" // An I denotes an ICANN domain. // // The layout within the uint32, from MSB to LSB, is: -// [ 1 bits] unused -// [ 9 bits] children index +// [ 0 bits] unused +// [10 bits] children index // [ 1 bits] ICANN bit // [15 bits] text index // [ 6 bits] text length var nodes = [...]uint32{ - 0x31a403, - 0x284944, - 0x2dd106, - 0x3706c3, - 0x3706c6, - 0x398706, - 0x3a8103, - 0x2fe244, - 0x38e987, - 0x2dcd48, - 0x1a05702, - 0x316e87, - 0x35c789, - 0x2abb0a, - 0x2abb0b, - 0x22f383, - 0x287506, - 0x232dc5, - 0x1e021c2, - 0x2161c4, - 0x238743, - 0x26fc45, - 0x2214902, - 0x347743, - 0x266f744, - 0x33ddc5, - 0x2a04702, - 0x376b4e, - 0x24c4c3, - 0x38ae46, + 0x31fe83, + 0x28e944, + 0x2ed8c6, + 0x380743, + 0x380746, + 0x3a5306, + 0x3b5e43, + 0x30a7c4, + 0x20d0c7, + 0x2ed508, + 0x1a07102, + 0x31f1c7, + 0x368c09, + 0x2d68ca, + 0x2d68cb, + 0x238503, + 0x2dec46, + 0x23d6c5, + 0x1e07542, + 0x21cf84, + 0x266d03, + 0x346145, + 0x22035c2, + 0x20a643, + 0x271f944, + 0x342285, + 0x2a10042, + 0x38a48e, + 0x255083, + 0x3affc6, 0x2e00142, - 0x2dd287, - 0x236f46, - 0x3209282, - 0x229d83, - 0x24d9c4, - 0x325e86, - 0x26c588, - 0x2761c6, - 0x2011c4, + 0x2d4207, + 0x240d86, + 0x3204f02, + 0x22ee43, + 0x256204, + 0x32d106, + 0x25b788, + 0x2811c6, + 0x378fc4, 0x3600242, - 0x3335c9, - 0x20a1c7, - 0x351e86, - 0x330c89, - 0x298308, - 0x26e904, - 0x241ec6, - 0x222a46, - 0x3a022c2, - 0x26480f, - 0x20948e, - 0x211d04, - 0x2c2b85, - 0x2fe145, - 0x39e189, - 0x23c409, - 0x349a87, - 0x20fa86, - 0x275a83, - 0x3e02a82, - 0x315503, - 0x34e24a, - 0x20f903, - 0x2af985, - 0x284202, - 0x284209, - 0x4200ec2, - 0x212484, - 0x2b9686, - 0x2f3645, - 0x3552c4, - 0x4a05644, - 0x2030c3, - 0x232344, - 0x4e00c02, - 0x268d44, - 0x52ef6c4, - 0x25ef4a, - 0x5603dc2, - 0x2ba587, - 0x2f3b08, - 0x6208142, - 0x311687, - 0x2bf204, - 0x2bf207, - 0x36e0c5, - 0x34ffc7, - 0x349846, - 0x24f3c4, - 0x38c105, - 0x29e447, - 0x72001c2, - 0x26e503, - 0x200b82, - 0x200b83, - 0x760de02, - 0x2102c5, - 0x7a02a42, - 0x350e04, - 0x2734c5, - 0x211c47, - 0x26bcce, - 0x2b9184, - 0x245544, - 0x202f03, - 0x281d49, - 0x31ee0b, - 0x2e9a88, - 0x379948, - 0x3a9908, - 0x22ae48, - 0x330aca, - 0x34fec7, - 0x318186, - 0x7e87002, - 0x35e203, - 0x367e43, - 0x36f4c4, - 0x3a8143, - 0x3250c3, - 0x1720b82, - 0x8202502, - 0x27a8c5, - 0x296206, - 0x2d1b84, - 0x375487, - 0x2e1886, - 0x331f84, - 0x39d3c7, - 0x203bc3, - 0x86c54c2, - 0x8b0f242, - 0x8e16742, - 0x216746, - 0x9200002, - 0x3523c5, - 0x3220c3, - 0x200604, - 0x2e8f84, - 0x2e8f85, - 0x206b43, - 0x978d2c3, - 0x9a0bb42, - 0x289e05, - 0x289e0b, - 0x31e686, - 0x20cb4b, - 0x221344, - 0x20d949, - 0x20e9c4, - 0x9e0ec02, - 0x20f143, - 0x20f403, - 0x16105c2, - 0x268183, - 0x2105ca, - 0xa20b382, - 0x216445, - 0x29224a, - 0x2d7744, - 0x283783, - 0x26cfc4, - 0x212543, - 0x212544, - 0x212547, - 0x2140c5, - 0x2147c5, - 0x214f46, - 0x2157c6, - 0x216a03, - 0x21ae88, - 0x210043, - 0xa601c02, - 0x243448, - 0x213ccb, - 0x220148, - 0x220d86, - 0x221847, - 0x225348, - 0xb642b42, - 0xbabf3c2, - 0x326788, - 0x35e4c7, - 0x246085, - 0x357f48, - 0x2bd408, - 0x34dd83, - 0x22a1c4, - 0x36f502, - 0xbe2bc82, - 0xc238482, - 0xca2e802, - 0x22e803, - 0xce01ec2, - 0x2fe203, - 0x2f1e84, - 0x201ec3, - 0x26e8c4, - 0x201ecb, - 0x213c03, - 0x2de946, - 0x239f84, - 0x29034e, - 0x371145, - 0x38af48, - 0x31ffc7, - 0x31ffca, - 0x229743, - 0x22f147, - 0x31efc5, - 0x22f8c4, - 0x265b06, - 0x265b07, - 0x2c11c4, - 0x2f7a87, - 0x313d44, - 0x26c004, - 0x26c006, - 0x387184, - 0x3510c6, - 0x203f83, - 0x35e288, - 0x203f88, - 0x245503, - 0x268143, - 0x399a04, - 0x39e003, - 0xd219f02, - 0xd6d6a42, - 0x20bac3, - 0x207146, - 0x241fc3, - 0x377cc4, - 0xdaee982, - 0x3af843, - 0x3507c3, - 0x217a02, - 0xde04142, - 0x2c1946, - 0x233ac7, - 0x2e8945, - 0x37de04, - 0x28c505, - 0x268907, - 0x267805, - 0x2b8649, - 0x2cefc6, - 0x2daa88, - 0x2e8846, - 0xe21a1c2, - 0x32ca08, - 0x2f1c46, - 0x21a1c5, - 0x2f6d87, - 0x309984, - 0x309985, - 0x276384, - 0x276388, - 0xe60cc02, - 0xea09882, - 0x3103c6, - 0x3b8988, - 0x334385, - 0x337306, - 0x342f08, - 0x344a88, - 0xee09885, - 0xf2142c4, - 0x3b0787, - 0xf60e5c2, - 0xfa1b102, - 0x10a099c2, - 0x2b9785, - 0x2a2645, - 0x2fef86, - 0x3b2547, - 0x380747, - 0x112a84c3, - 0x2a84c7, - 0x31eb08, - 0x376ec9, - 0x376d07, - 0x384d07, - 0x3a8ec8, - 0x3ad4c6, - 0x22f3c6, - 0x23000c, - 0x23120a, - 0x231687, - 0x232c8b, - 0x233907, - 0x23390e, - 0x234cc4, - 0x235ac4, - 0x237a47, - 0x3690c7, - 0x23b206, - 0x23b207, - 0x23b4c7, - 0x19604682, - 0x23c886, - 0x23c88a, - 0x23ce8b, - 0x23dbc7, - 0x23ed45, - 0x23f083, - 0x240586, - 0x240587, - 0x38eb43, - 0x19a0c442, - 0x240f4a, - 0x19f5d882, - 0x1a2a5e02, - 0x1a643142, - 0x1aa2cd82, - 0x244bc5, - 0x245304, - 0x1b205742, - 0x268dc5, - 0x23d483, - 0x20eac5, - 0x22ad44, - 0x206804, - 0x314046, - 0x25e206, - 0x28a003, - 0x238284, - 0x3a6803, - 0x1b600dc2, - 0x391c04, - 0x391c06, - 0x3b0d05, - 0x205e06, - 0x2f6e88, - 0x266e84, - 0x27ed08, - 0x2426c5, - 0x228308, - 0x29ff86, - 0x237587, - 0x22e204, - 0x22e206, - 0x33f443, - 0x383ec3, - 0x223d08, - 0x318dc4, - 0x348747, - 0x23e6c6, - 0x2d6389, - 0x250348, - 0x26cd08, - 0x26d084, - 0x351443, - 0x225e02, - 0x1c60f882, - 0x1ca10e82, - 0x3a7403, - 0x1ce04a42, - 0x38eac4, - 0x2862c6, - 0x26e605, - 0x21ba03, - 0x232884, - 0x2b14c7, - 0x33da03, - 0x231a88, - 0x208545, - 0x36e803, - 0x273445, - 0x273584, - 0x2f6a86, - 0x209ec4, - 0x211346, - 0x211b86, - 0x3916c4, - 0x213b43, - 0x1d205882, - 0x247345, - 0x221c03, - 0x1d61b0c2, - 0x22ffc3, - 0x209bc5, - 0x232403, - 0x232409, - 0x1da05f02, - 0x1e205e42, - 0x2893c5, - 0x218786, - 0x2d1746, - 0x2b0a88, - 0x2b0a8b, - 0x20718b, - 0x2e8b45, - 0x2db145, - 0x2c6309, - 0x1600302, - 0x391888, - 0x20dc44, - 0x1ea007c2, - 0x3a7883, - 0x1f2c6086, - 0x20ae88, - 0x1f601402, - 0x2344c8, - 0x1fa2bb82, - 0x3b92ca, - 0x1feccc43, - 0x3ac1c6, - 0x3af408, - 0x3ac008, - 0x31d006, - 0x36bc07, - 0x264a07, - 0x3349ca, - 0x2d77c4, - 0x3474c4, - 0x35c1c9, - 0x20794385, - 0x209686, - 0x20e1c3, - 0x24a044, - 0x20a02644, - 0x202647, - 0x212fc7, - 0x22a584, - 0x285445, - 0x2ff048, - 0x366747, - 0x370f07, - 0x20e18342, - 0x327704, - 0x292b48, - 0x245bc4, - 0x247784, - 0x248085, - 0x2481c7, - 0x223589, - 0x248fc4, - 0x249709, - 0x249948, - 0x249dc4, - 0x249dc7, - 0x2124aa83, - 0x24ad47, - 0x1609d02, - 0x16ad202, - 0x24bec6, - 0x24c507, - 0x24cd44, - 0x24e6c7, - 0x24fa47, - 0x24fdc3, - 0x248902, - 0x229642, - 0x250a03, - 0x250a04, - 0x250a0b, - 0x379a48, - 0x256804, - 0x2523c5, - 0x254007, - 0x2555c5, - 0x2bc00a, - 0x256743, - 0x2160fc82, - 0x226e84, - 0x258d89, - 0x25c343, - 0x25c407, - 0x24a849, - 0x282688, - 0x204743, - 0x278fc7, - 0x279709, - 0x268ac3, - 0x2810c4, - 0x283c89, - 0x2880c6, - 0x289683, - 0x200182, - 0x21f983, - 0x3a8a87, - 0x21f985, - 0x379746, - 0x256e84, - 0x302e85, - 0x2e4403, - 0x216c46, - 0x20db42, - 0x395144, - 0x221402, - 0x221403, - 0x21a00782, - 0x247303, - 0x215c44, - 0x215c47, - 0x200906, - 0x202602, - 0x21e025c2, - 0x2dca84, - 0x22235e82, - 0x22600b02, - 0x2d4f84, - 0x2d4f85, - 0x2b6dc5, - 0x390e06, - 0x22a05d42, - 0x205d45, - 0x20cf05, - 0x20ae03, - 0x210986, - 0x2126c5, - 0x2166c2, - 0x343605, - 0x2166c4, - 0x221ec3, - 0x227343, - 0x22e0c642, - 0x2d4987, - 0x3669c4, - 0x3669c9, - 0x249f44, - 0x291d43, - 0x2f6609, - 0x367508, - 0x232a24c4, - 0x2a24c6, - 0x21c303, - 0x247bc3, - 0x2e9dc3, - 0x236eb382, - 0x368cc2, - 0x23a05e82, - 0x323cc8, - 0x32a388, - 0x398e46, - 0x2e27c5, - 0x22efc5, - 0x352ec7, - 0x21d205, - 0x228782, - 0x23e38182, - 0x1603002, - 0x2416c8, - 0x32c945, - 0x2e3404, - 0x2ebac5, - 0x23f407, - 0x3207c4, - 0x240e42, - 0x24200582, - 0x338984, - 0x212cc7, - 0x28a2c7, - 0x34ff84, - 0x292203, - 0x245444, - 0x245448, - 0x22f706, - 0x26598a, - 0x223444, - 0x292588, - 0x288504, - 0x221946, - 0x294684, - 0x2b9a86, - 0x366c89, - 0x25da47, - 0x3375c3, - 0x24667e42, - 0x267e43, - 0x20ee02, - 0x24a11ec2, - 0x3085c6, - 0x365c88, - 0x2a4087, - 0x3a3f49, - 0x291c49, - 0x2a5045, - 0x2a6049, - 0x2a6805, - 0x2a6949, - 0x2a8005, - 0x2a9108, - 0x21fb84, - 0x24e890c7, - 0x2a9303, - 0x2a9307, - 0x3850c6, - 0x2a9b87, - 0x2a1085, - 0x2935c3, - 0x2521ae02, - 0x3b40c4, - 0x2562ce82, - 0x258203, - 0x25a17f42, - 0x36d586, - 0x2f3a85, - 0x2ac207, - 0x26cc43, - 0x325044, - 0x20e903, - 0x33e783, - 0x25e02bc2, - 0x266015c2, - 0x398804, - 0x2488c3, - 0x243c85, - 0x26a029c2, - 0x27206482, - 0x2b4506, - 0x318f04, - 0x2e3004, - 0x2e300a, - 0x27a01fc2, - 0x37204a, - 0x3756c8, - 0x27fb1384, - 0x20ad83, - 0x201fc3, - 0x3a9a49, - 0x217649, - 0x285246, - 0x28244183, - 0x3292c5, - 0x30180d, - 0x375886, - 0x3bac8b, - 0x28602e82, - 0x22c1c8, - 0x29206e82, - 0x29606fc2, - 0x2ae585, - 0x29a03942, - 0x258447, - 0x21c907, - 0x21e003, - 0x2306c8, - 0x29e06502, - 0x312684, - 0x212943, - 0x351d45, - 0x34db83, - 0x2f3546, - 0x205904, - 0x268103, - 0x2ae9c3, - 0x2a205fc2, - 0x2e8ac4, - 0x35f6c5, - 0x39f1c7, - 0x275643, - 0x2ad883, - 0x2ae083, - 0x160fec2, - 0x2ae143, - 0x2ae943, - 0x2a605102, - 0x282104, - 0x25e406, - 0x342643, - 0x2aec43, - 0x2aaafd42, - 0x2afd48, - 0x2b0004, - 0x36c246, - 0x2b0387, - 0x249c46, - 0x28e2c4, - 0x38600682, - 0x384f8b, - 0x2fb08e, - 0x21930f, - 0x2985c3, - 0x38ebbbc2, - 0x1600f42, - 0x39201582, - 0x28f403, - 0x2fdec3, - 0x233706, - 0x277c46, - 0x3afd87, - 0x3328c4, - 0x396188c2, - 0x39a08882, - 0x348345, - 0x2e6047, - 0x3b5746, - 0x39e27282, - 0x227284, - 0x2b3ac3, - 0x3a20be02, - 0x3a759ec3, - 0x2b4c44, - 0x2be409, - 0x16c3ac2, - 0x3aa03a82, - 0x203a85, - 0x3aec3d42, - 0x3b203202, - 0x346947, - 0x239689, - 0x35ca0b, - 0x2647c5, - 0x2c4849, - 0x2e8246, - 0x31e6c7, - 0x3b608484, - 0x3199c9, - 0x373487, - 0x20ab47, - 0x20a383, - 0x20a386, - 0x3b68c7, - 0x206a43, - 0x2565c6, - 0x3be02a02, - 0x3c232682, - 0x385803, - 0x324c45, - 0x350f47, - 0x250086, - 0x21f905, - 0x277d44, - 0x2c9fc5, - 0x2f2684, - 0x3c6040c2, - 0x331107, - 0x2dbd44, - 0x217544, - 0x21754d, - 0x257509, - 0x3a4448, - 0x253944, - 0x3abc45, - 0x206447, - 0x2144c4, - 0x2e1947, - 0x21c485, - 0x3caa4604, - 0x2d92c5, - 0x25b004, - 0x24bb86, - 0x3b2345, - 0x3ce250c2, - 0x283844, - 0x283845, - 0x36fa46, - 0x20c3c5, - 0x30c304, - 0x2c5dc3, - 0x2053c6, - 0x358505, - 0x2bb485, - 0x3b2444, - 0x2234c3, - 0x2234cc, - 0x3d288a02, - 0x3d6010c2, - 0x3da00282, - 0x206343, - 0x206344, - 0x3de04bc2, - 0x2f9688, - 0x379805, - 0x235684, - 0x23b086, - 0x3e201f42, - 0x3e609782, - 0x3ea00e82, - 0x306b85, - 0x391586, - 0x211084, - 0x3263c6, - 0x2ba346, - 0x219943, - 0x3ef0de0a, - 0x247b05, - 0x2c8e83, - 0x223186, - 0x300fc9, - 0x223187, - 0x297788, - 0x2981c9, - 0x224348, - 0x229486, - 0x20bf03, - 0x3f2a8542, - 0x385683, - 0x385689, - 0x332448, - 0x3f649a02, - 0x3fa02342, - 0x227f83, - 0x2da905, - 0x251ec4, - 0x2c0909, - 0x22cb84, - 0x266348, - 0x202343, - 0x202344, - 0x278b03, - 0x2187c8, - 0x217487, - 0x4020b102, - 0x274082, - 0x351905, - 0x266689, - 0x209703, - 0x27b184, - 0x329284, - 0x2064c3, - 0x27c3ca, - 0x40752bc2, - 0x40a83802, - 0x2c5443, - 0x3739c3, - 0x1602302, - 0x38ac03, - 0x40e0f242, - 0x4120ec42, - 0x41610444, - 0x210446, - 0x383b06, - 0x26ad44, - 0x36c643, - 0x38bcc3, - 0x226883, - 0x23d206, - 0x2cb8c5, - 0x2c5a07, - 0x31e589, - 0x2ca645, - 0x2cb806, - 0x2cbd88, - 0x2cbf86, - 0x236a04, - 0x29944b, - 0x2ceac3, - 0x2ceac5, - 0x2cec08, - 0x228502, - 0x346c42, - 0x41a44c42, - 0x41e0e602, - 0x218903, - 0x422675c2, - 0x2675c3, - 0x2cef04, - 0x2cf5c3, - 0x42a115c2, - 0x42ed43c6, - 0x2a7306, - 0x43207902, - 0x4360f442, - 0x43a27382, - 0x43e02c82, - 0x4422dd02, - 0x44602d02, - 0x234703, - 0x390685, - 0x319606, - 0x44a11cc4, - 0x3b0b0a, - 0x32fe86, - 0x2e8d84, - 0x281d03, - 0x45604642, - 0x200c82, - 0x25fd03, - 0x45a05503, - 0x2c7b87, - 0x3b2247, - 0x47250b07, - 0x312d87, - 0x227b03, - 0x227b0a, - 0x236b84, - 0x23e5c4, - 0x23e5ca, - 0x213f05, - 0x47609642, - 0x24e683, - 0x47a008c2, - 0x21c2c3, - 0x267e03, - 0x48203342, - 0x2a8444, - 0x21de84, - 0x3b9505, - 0x305005, - 0x2e1ac6, - 0x2e1e46, - 0x48608442, - 0x48a033c2, - 0x3185c5, - 0x2a7012, - 0x2511c6, - 0x220803, - 0x30a746, - 0x220805, - 0x1610602, - 0x50e120c2, - 0x353e83, - 0x2120c3, - 0x2441c3, - 0x512023c2, - 0x376e43, - 0x5160b482, - 0x210483, - 0x282148, - 0x25e983, - 0x25e986, - 0x3a2987, - 0x306806, - 0x30680b, - 0x2e8cc7, - 0x3b3ec4, - 0x51e04ec2, - 0x379685, - 0x522054c3, - 0x2a6e03, - 0x326c05, - 0x329983, - 0x52729986, - 0x391a0a, - 0x26a9c3, - 0x204584, - 0x3b88c6, - 0x21a5c6, - 0x52a00983, - 0x324f07, - 0x285147, - 0x29b0c5, - 0x2318c6, - 0x224a83, - 0x54a10bc3, - 0x54e056c2, - 0x328144, - 0x22a2cc, - 0x236149, - 0x2414c7, - 0x249245, - 0x262a84, - 0x273cc8, - 0x278305, - 0x55284a05, - 0x28c609, - 0x351f43, - 0x2a5d84, - 0x556013c2, - 0x2013c3, - 0x55a94142, - 0x2a4386, - 0x160f982, - 0x55e06e02, - 0x306a88, - 0x2be603, - 0x2d9207, - 0x2e4d05, - 0x2dd685, - 0x32840b, - 0x2dd686, - 0x328606, - 0x2ffac6, - 0x262c84, - 0x3042c6, - 0x2e3508, - 0x23a043, - 0x250dc3, - 0x250dc4, - 0x2e4484, - 0x2e4a07, - 0x2e5ec5, - 0x562e6002, - 0x5660ba02, - 0x20ba05, - 0x2e83c4, - 0x2e83cb, - 0x2e8e88, - 0x228f44, - 0x2272c2, - 0x56e28ec2, - 0x23b903, - 0x2e9344, - 0x2e9605, - 0x2ea047, - 0x2eb604, - 0x2e8b84, - 0x57201302, - 0x360cc9, - 0x2ec405, - 0x264a85, - 0x2ecf85, - 0x57601303, - 0x2ee0c4, - 0x2ee0cb, - 0x2ee644, - 0x2ef3cb, - 0x2ef7c5, - 0x21944a, - 0x2f0048, - 0x2f024a, - 0x2f0ac3, - 0x2f0aca, - 0x57a01742, - 0x57e2d4c2, - 0x21aa03, - 0x582f1bc2, - 0x2f1bc3, - 0x5875c402, - 0x58b22842, - 0x2f2504, - 0x21afc6, - 0x326105, - 0x2f4503, - 0x31a9c6, - 0x204405, - 0x25e704, - 0x58e05ec2, - 0x2c9244, - 0x2c5f8a, - 0x22d787, - 0x2f38c6, - 0x380b07, - 0x22a403, - 0x283e48, - 0x37f48b, - 0x3736c5, - 0x333ec5, - 0x333ec6, - 0x390884, - 0x3aa248, - 0x222943, - 0x222944, - 0x222947, - 0x38e446, - 0x352686, - 0x29018a, - 0x246604, - 0x24660a, - 0x59282846, - 0x282847, - 0x252447, - 0x270844, - 0x270849, - 0x25e0c5, - 0x235e0b, - 0x2e81c3, - 0x211503, - 0x22f003, - 0x22fac4, - 0x59600482, - 0x25d4c6, - 0x293345, - 0x30a985, - 0x24f6c6, - 0x3395c4, - 0x59a02782, - 0x23f0c4, - 0x59e01c42, - 0x2b9f05, - 0x21ad84, - 0x21bec3, - 0x5a612102, - 0x212103, - 0x23ba46, - 0x5aa03082, - 0x27f488, - 0x223004, - 0x223006, - 0x374246, - 0x2540c4, - 0x205345, - 0x2141c8, - 0x216547, - 0x219687, - 0x21968f, - 0x292a46, - 0x22cf03, - 0x22cf04, - 0x310504, - 0x20d003, - 0x221a84, - 0x240944, - 0x5ae42b02, - 0x289d43, - 0x242b03, - 0x5b209842, - 0x229f83, - 0x38eb83, - 0x21484a, - 0x358107, - 0x2efc0c, - 0x2efec6, - 0x30a146, - 0x248547, - 0x5b64c687, - 0x24f809, - 0x243584, - 0x24fbc4, - 0x5ba18942, - 0x5be027c2, - 0x290546, - 0x324d04, - 0x2d6bc6, - 0x2a5148, - 0x3b8dc4, - 0x258486, - 0x2d1705, - 0x265c88, - 0x207383, - 0x273705, - 0x273e83, - 0x264b83, - 0x264b84, - 0x2759c3, - 0x5c2ec082, - 0x5c602e02, - 0x2e8089, - 0x278205, - 0x278404, - 0x27a9c5, - 0x20dd44, - 0x2e0d07, - 0x343bc5, - 0x250cc4, - 0x250cc8, - 0x2d5086, - 0x2d7984, - 0x2d8e88, - 0x2dbb87, - 0x5ca03902, - 0x2e36c4, - 0x20d0c4, - 0x20ad47, - 0x5ce2b804, - 0x2ccf42, - 0x5d201102, - 0x201543, - 0x203984, - 0x2aa283, - 0x374e05, - 0x5d61e182, - 0x2eb285, - 0x202c42, - 0x34d5c5, - 0x365e45, - 0x5da00c42, - 0x350744, - 0x5de00d02, - 0x2387c6, - 0x29a146, - 0x2667c8, - 0x2bfa08, - 0x36d504, - 0x36d6c5, - 0x3610c9, - 0x2db1c4, - 0x3919c4, - 0x205183, - 0x5e222705, - 0x2c3b87, - 0x2a2744, - 0x341e8d, - 0x361782, - 0x361783, - 0x364503, - 0x5e600802, - 0x388305, - 0x25f9c7, - 0x205b44, - 0x312e47, - 0x2983c9, - 0x2c60c9, - 0x2519c7, - 0x273b03, - 0x273b08, - 0x2ed249, - 0x24e187, - 0x373605, - 0x39e086, - 0x39fb86, - 0x3a3c05, - 0x257605, - 0x5ea02d82, - 0x36ce45, - 0x2b2908, - 0x2c1706, - 0x5eeb7487, - 0x2efa04, - 0x2aa987, - 0x2f62c6, - 0x5f230982, - 0x36f746, - 0x2f83ca, - 0x2f8e85, - 0x5f6de402, - 0x5fa36542, - 0x3b6c06, - 0x2a1e88, - 0x5fe8a487, - 0x60234e42, - 0x2255c3, - 0x311d86, - 0x225044, - 0x3a2846, - 0x390b06, - 0x26ff0a, - 0x331c05, - 0x367ec6, - 0x3759c3, - 0x3759c4, - 0x207102, - 0x309943, - 0x60606382, - 0x2f0f83, - 0x3722c4, - 0x2a1fc4, - 0x2a1fca, - 0x229543, - 0x276288, - 0x22954a, - 0x27b447, - 0x2fcd86, - 0x238684, - 0x290bc2, - 0x2a2e82, - 0x60a04002, - 0x245403, - 0x252207, - 0x31ac87, - 0x2848c4, - 0x26f8c7, - 0x2ea146, - 0x216847, - 0x35e604, - 0x242a05, - 0x2b7985, - 0x60e0fe82, - 0x20fe86, - 0x218283, - 0x220502, - 0x220506, - 0x61203e02, - 0x6160b0c2, - 0x3ba785, - 0x61a21c82, - 0x61e03b42, - 0x33b5c5, - 0x393105, - 0x367f85, - 0x267303, - 0x286385, - 0x2dd747, - 0x307bc5, - 0x306185, - 0x38b044, - 0x3204c6, - 0x23e804, - 0x62201442, - 0x62f630c5, - 0x2ebe07, - 0x2d6dc8, - 0x25fe86, - 0x25fe8d, - 0x260709, - 0x260712, - 0x32f345, - 0x3339c3, - 0x6320a9c2, - 0x309444, - 0x375903, - 0x360fc5, - 0x2fa085, - 0x63612982, - 0x36e843, - 0x63a50b82, - 0x642bf542, - 0x6460fb42, - 0x353805, - 0x37ac43, - 0x37a4c8, - 0x64a07842, - 0x64e000c2, - 0x2a8406, - 0x33b80a, - 0x21bf03, - 0x20c343, - 0x2ee3c3, - 0x65a02dc2, - 0x73e35482, - 0x74601c82, - 0x201682, - 0x36f549, - 0x2c2f04, - 0x2309c8, - 0x74af4542, - 0x74e08602, - 0x2ef605, - 0x2330c8, - 0x282288, - 0x2f858c, - 0x22d543, - 0x25a9c2, - 0x75201f82, - 0x2caac6, - 0x2fdc05, - 0x26d343, - 0x23cc46, - 0x2fdd46, - 0x201f83, - 0x2ff883, - 0x300786, - 0x3013c4, - 0x295586, - 0x2cec85, - 0x30164a, - 0x2eebc4, - 0x302304, - 0x30370a, - 0x7566b082, - 0x337745, - 0x30478a, - 0x305285, - 0x305b44, - 0x305c46, - 0x305dc4, - 0x218dc6, - 0x75a6dac2, - 0x2f3206, - 0x2f3dc5, - 0x3ab6c7, - 0x200206, - 0x248744, - 0x2d5e07, - 0x30dd46, - 0x2b8a45, - 0x381947, - 0x39eb47, - 0x39eb4e, - 0x25ed06, - 0x2e1805, - 0x27dec7, - 0x282b43, - 0x3b2f87, - 0x20f5c5, - 0x212144, - 0x212f82, - 0x3addc7, - 0x332944, - 0x377404, - 0x273f0b, - 0x21d5c3, - 0x2b6987, - 0x21d5c4, - 0x2cc0c7, - 0x228bc3, - 0x33678d, - 0x388b48, - 0x21d044, - 0x250bc5, - 0x307d05, - 0x308143, - 0x75e22f02, - 0x309903, - 0x309fc3, - 0x210004, - 0x279805, - 0x218307, - 0x375a46, - 0x372003, - 0x23ab4b, - 0x26ba4b, - 0x2a654b, - 0x2de44a, - 0x30254b, - 0x31be8b, - 0x356b8c, - 0x378d11, - 0x3b654a, - 0x3ba10b, - 0x30ad8b, - 0x30b34a, - 0x30b88a, - 0x30cb4e, - 0x30d18b, - 0x30d44a, - 0x30ef11, - 0x30f34a, - 0x30f84b, - 0x30fd8e, - 0x31078c, - 0x310c4b, - 0x310f0e, - 0x31128c, - 0x31474a, - 0x31698c, - 0x76316c8a, - 0x317489, - 0x31af4a, - 0x31b1ca, - 0x31b44b, - 0x31f60e, - 0x31f991, - 0x328b89, - 0x328dca, - 0x3295cb, - 0x32a84a, - 0x32b316, - 0x32e14b, - 0x32f10a, - 0x32f50a, - 0x33084b, - 0x333449, - 0x337109, - 0x337d4d, - 0x33870b, - 0x33978b, - 0x33a14b, - 0x33a609, - 0x33ac4e, - 0x33b30a, - 0x33fc8a, - 0x33ffca, - 0x340b8b, - 0x3413cb, - 0x34168d, - 0x342c0d, - 0x343290, - 0x34374b, - 0x34408c, - 0x34480b, - 0x34644b, - 0x34798b, - 0x34c00b, - 0x34ca8f, - 0x34ce4b, - 0x34d94a, - 0x34e689, - 0x34f409, - 0x34f8cb, - 0x34fb8e, - 0x35434b, - 0x35574f, - 0x35864b, - 0x35890b, - 0x358bcb, - 0x3590ca, - 0x35c609, - 0x35f34f, - 0x36424c, - 0x36488c, - 0x364d0e, - 0x3653cf, - 0x36578e, - 0x365fd0, - 0x3663cf, - 0x366f4e, - 0x36770c, - 0x367a12, - 0x3689d1, - 0x36988e, - 0x36a04e, - 0x36a58e, - 0x36a90f, - 0x36acce, - 0x36b053, - 0x36b511, - 0x36b94e, - 0x36bdcc, - 0x36d913, - 0x36e210, - 0x36ea8c, - 0x36ed8c, - 0x36f24b, - 0x3703ce, - 0x370c8b, - 0x3715cb, - 0x37258c, - 0x37814a, - 0x37850c, - 0x37880c, - 0x378b09, - 0x37bb8b, - 0x37be48, - 0x37c049, - 0x37c04f, - 0x37d98b, - 0x7677eb8a, - 0x381fcc, - 0x383189, - 0x383608, - 0x38380b, - 0x383c8b, - 0x38480a, - 0x384a8b, - 0x38540c, - 0x386008, - 0x388d4b, - 0x38b44b, - 0x39484b, - 0x3958cb, - 0x39e6cb, - 0x39e989, - 0x39eecd, - 0x3a464a, - 0x3a5597, - 0x3a6bd8, - 0x3a96c9, - 0x3ab30b, - 0x3ac814, - 0x3acd0b, - 0x3ad28a, - 0x3aea0a, - 0x3aec8b, - 0x3b4250, - 0x3b4651, - 0x3b4d0a, - 0x3b5b4d, - 0x3b624d, - 0x3ba3cb, - 0x3bbd46, - 0x20ff83, - 0x76b80483, - 0x22cdc6, - 0x247645, - 0x27a007, - 0x31bd46, - 0x1656682, - 0x2ad9c9, - 0x31a7c4, - 0x2dacc8, - 0x232b43, - 0x309387, - 0x234f42, - 0x2ac243, - 0x76e07b02, - 0x2c7406, - 0x2c9884, - 0x369f44, - 0x390143, - 0x390145, - 0x776c3d82, - 0x77aa6cc4, - 0x270787, - 0x77e4a282, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x209703, - 0x205503, - 0x200983, - 0x204e83, - 0x205702, - 0x16d208, - 0x2099c2, - 0x2e9dc3, - 0x209703, - 0x205503, - 0x200983, - 0x214843, - 0x324556, - 0x325793, - 0x26f749, - 0x3b0688, - 0x379509, - 0x304906, - 0x3389d0, - 0x254b53, - 0x38e508, + 0x33b8c9, + 0x212107, + 0x2e6046, + 0x341809, + 0x2a0048, + 0x33a904, + 0x2a0f46, + 0x21f886, + 0x3a02d42, + 0x3a014f, + 0x28c84e, + 0x21bfc4, + 0x382c85, + 0x30a6c5, + 0x2e2109, + 0x249089, + 0x33b1c7, + 0x23f8c6, + 0x20ae43, + 0x3e01d42, + 0x2e3203, + 0x225d0a, + 0x20cac3, + 0x242f85, + 0x28e142, + 0x28e149, + 0x4200bc2, + 0x209204, + 0x28ad46, + 0x2e5c05, + 0x361644, + 0x4a1a344, + 0x203ec3, + 0x218d04, + 0x4e00702, + 0x2f8e84, + 0x52f5f04, + 0x339bca, + 0x5600f82, + 0x28bc47, + 0x281548, + 0x6206502, + 0x31d0c7, + 0x2c6d44, + 0x2c6d47, + 0x393c45, + 0x35e887, + 0x33af86, + 0x271dc4, + 0x378385, 0x28ea47, - 0x36c747, - 0x284d0a, - 0x372349, - 0x38d849, - 0x28decb, - 0x349846, - 0x379b4a, - 0x220d86, - 0x31a3c3, - 0x2d48c5, - 0x35e288, - 0x23888d, - 0x2b984c, - 0x2de0c7, - 0x30b00d, - 0x2142c4, - 0x22fd8a, - 0x230d4a, - 0x23120a, - 0x2099c7, - 0x23af07, - 0x23d844, - 0x22e206, - 0x20c144, - 0x2b4148, - 0x22cbc9, - 0x2b0a86, - 0x2b0a88, - 0x2422cd, - 0x2c6309, - 0x3ac008, - 0x264a07, - 0x2f1f0a, - 0x24c506, - 0x2580c7, - 0x2cc3c4, - 0x23f287, - 0x309c0a, - 0x3ae54e, + 0x72001c2, + 0x224143, + 0x200c42, + 0x200c43, + 0x760b5c2, + 0x20f4c5, + 0x7a01d02, + 0x357844, + 0x27e405, + 0x21bf07, + 0x25aece, + 0x2bf044, + 0x23df04, + 0x211c43, + 0x28a4c9, + 0x30eacb, + 0x2ea6c8, + 0x3415c8, + 0x306208, + 0x2b7288, + 0x33a74a, + 0x35e787, + 0x321606, + 0x7e8f282, + 0x36a683, + 0x377683, + 0x37fd44, + 0x3b5e83, + 0x32c343, + 0x1727e02, + 0x8203302, + 0x283f45, + 0x29e006, + 0x2da184, + 0x388547, + 0x2fa686, + 0x389384, + 0x3aa107, + 0x223d43, + 0x86cd5c2, + 0x8a0d342, + 0x8e1e642, + 0x21e646, + 0x9200002, + 0x2501c5, + 0x329343, + 0x201684, + 0x2efb04, + 0x2efb05, + 0x203c43, + 0x979c783, + 0x9a092c2, + 0x291d85, + 0x291d8b, + 0x343c06, + 0x21270b, + 0x226544, + 0x213a49, + 0x2148c4, + 0x9e14b02, + 0x215943, + 0x216283, + 0x1616b42, + 0x275fc3, + 0x216b4a, + 0xa201102, 0x21d205, - 0x3b4a4b, - 0x331a09, - 0x217649, - 0x21c747, - 0x2a34ca, - 0x20ac87, - 0x2fb1c9, - 0x38f0c8, - 0x3533cb, - 0x2da905, - 0x3a430a, - 0x266e09, - 0x26d2ca, - 0x2ca6cb, - 0x23f18b, - 0x28dc55, - 0x2e3b85, - 0x264a85, - 0x2ee0ca, - 0x3945ca, - 0x331787, - 0x21da83, - 0x2904c8, - 0x2d2c4a, - 0x223006, - 0x24dfc9, - 0x265c88, - 0x2d7984, - 0x2aa289, - 0x2bfa08, - 0x29fec7, - 0x3630c6, - 0x2ebe07, - 0x289a47, - 0x23d005, - 0x21d04c, - 0x250bc5, - 0x2a84c3, - 0x232403, - 0x2e9dc3, + 0x29a88a, + 0x2e0544, + 0x201103, + 0x325384, + 0x21ae03, + 0x21ae04, + 0x21ae07, + 0x21b605, + 0x21d685, + 0x21dc46, + 0x21dfc6, + 0x21ea43, + 0x222688, + 0x206c03, + 0xa60c702, + 0x245848, + 0x23614b, + 0x228908, + 0x228e06, + 0x229dc7, + 0x22da48, + 0xb6024c2, + 0xba430c2, + 0x32da08, + 0x233347, + 0x2e7b45, + 0x2e7b48, + 0x2c3b08, + 0x2be483, + 0x232e04, + 0x37fd82, + 0xbe34382, + 0xc23e102, + 0xca37302, + 0x237303, + 0xce01382, + 0x30a783, + 0x300f44, + 0x20a043, + 0x322844, + 0x20d7cb, + 0x2322c3, + 0x2e6a46, + 0x245f44, + 0x2982ce, + 0x381245, + 0x3b00c8, + 0x263347, + 0x26334a, + 0x22e803, + 0x317a07, + 0x30ec85, + 0x23a384, + 0x272706, + 0x272707, + 0x330f44, + 0x301f87, + 0x25a184, + 0x25b204, + 0x25b206, + 0x25f704, + 0x36bdc6, + 0x216983, + 0x233108, + 0x316ec8, + 0x23dec3, + 0x275f83, + 0x3a6604, + 0x3aae83, + 0xd235f42, + 0xd6df482, + 0x207143, + 0x203f86, + 0x2a1043, + 0x285184, + 0xda165c2, + 0x2165c3, + 0x35f083, + 0x21fe02, + 0xde008c2, + 0x2c9786, + 0x23e347, + 0x2fd645, + 0x38fd04, + 0x294d45, + 0x2f8a47, + 0x2add85, + 0x2e4689, + 0x2e9906, + 0x2ef808, + 0x2fd546, + 0xe20e982, + 0x2ddb08, + 0x300d06, + 0x219205, + 0x316887, + 0x316dc4, + 0x316dc5, + 0x281384, + 0x345d88, + 0xe6127c2, + 0xea04882, + 0x33ca06, + 0x2cf588, + 0x34d485, + 0x351546, + 0x356108, + 0x371488, + 0xee35dc5, + 0xf214f44, + 0x34e247, + 0xf614602, + 0xfa22902, + 0x10e0f882, + 0x28ae45, + 0x2aaa45, + 0x30af86, + 0x350007, + 0x386287, + 0x11638543, + 0x2b0307, + 0x30e7c8, + 0x3a0849, + 0x38a647, + 0x3b9c87, + 0x238788, + 0x238f86, + 0x239e86, + 0x23aacc, + 0x23c08a, + 0x23c407, + 0x23d58b, + 0x23e187, + 0x23e18e, + 0x19a3f304, + 0x240244, + 0x242547, + 0x3ac747, + 0x246d46, + 0x246d47, + 0x247407, + 0x19e29682, + 0x2495c6, + 0x2495ca, + 0x24a08b, + 0x24ac87, + 0x24b845, + 0x24bb83, + 0x24bdc6, + 0x24bdc7, + 0x20d283, + 0x1a206e02, + 0x24c78a, + 0x1a769d02, + 0x1aa4f282, + 0x1ae4dd42, + 0x1b240e82, + 0x24e9c5, + 0x24ef44, + 0x1ba1a442, + 0x2f8f05, + 0x24a683, + 0x2149c5, + 0x2b7184, + 0x205ec4, + 0x25a486, + 0x262586, + 0x291f83, + 0x204844, + 0x3894c3, + 0x1c204c82, + 0x210ac4, + 0x210ac6, + 0x34e7c5, + 0x37e946, + 0x316988, + 0x273544, + 0x266ac8, + 0x398785, + 0x22bc88, + 0x2b2dc6, + 0x26d907, + 0x233d84, + 0x233d86, + 0x242bc3, + 0x393fc3, + 0x211d08, + 0x322004, + 0x356747, + 0x20c7c6, + 0x2dedc9, + 0x322a88, + 0x325448, + 0x331ac4, + 0x35f103, + 0x229942, + 0x1d2234c2, + 0x1d61a202, + 0x36c083, + 0x1da08e02, + 0x20d204, + 0x3521c6, + 0x3b3745, + 0x24fa83, + 0x23cf44, + 0x2b95c7, + 0x25a783, + 0x251208, + 0x218405, + 0x264143, + 0x27e385, + 0x27e4c4, + 0x300a06, + 0x218f84, + 0x21ab86, + 0x21be46, + 0x210584, + 0x23e543, + 0x1de1a582, + 0x23dd05, + 0x20b9c3, + 0x1e20c882, + 0x23aa83, + 0x2231c5, + 0x23cac3, + 0x23cac9, + 0x1e606b82, + 0x1ee07842, + 0x2918c5, + 0x2211c6, + 0x2d9d46, + 0x2bb248, + 0x2bb24b, + 0x203fcb, + 0x220bc5, + 0x2fd845, + 0x2cdfc9, + 0x1600302, + 0x210748, + 0x213d44, + 0x1f601842, + 0x326403, + 0x1fecdd46, + 0x348e08, + 0x20208b42, + 0x2bdec8, + 0x2060c182, + 0x2bf7ca, + 0x20a3fd03, + 0x203606, + 0x36cc48, + 0x209708, + 0x3b3a46, + 0x37c807, + 0x3a0347, + 0x34daca, + 0x2e05c4, + 0x354d44, + 0x368649, + 0x2139fb45, + 0x28ca46, + 0x210083, + 0x253d44, + 0x2160df44, + 0x20df47, + 0x22c507, + 0x234404, + 0x2df805, + 0x30b048, + 0x375e07, + 0x381007, + 0x21a07602, + 0x32e984, + 0x29b188, + 0x2504c4, + 0x251844, + 0x251c45, + 0x251d87, + 0x222349, + 0x252a04, + 0x253149, + 0x253388, + 0x253ac4, + 0x253ac7, + 0x21e54003, + 0x254187, + 0x1609c42, + 0x16b4a42, + 0x254b86, + 0x2550c7, + 0x255584, + 0x257687, + 0x258d47, + 0x259983, + 0x2f6802, + 0x207d82, + 0x231683, + 0x231684, + 0x23168b, + 0x3416c8, + 0x263c84, + 0x25c985, + 0x25eb47, + 0x260105, + 0x2c8c0a, + 0x263bc3, + 0x22206b02, + 0x206b04, + 0x267189, + 0x26a743, + 0x26a807, + 0x373089, + 0x212508, + 0x2db543, + 0x282f07, + 0x283649, + 0x23d483, + 0x289844, + 0x28d209, + 0x290146, + 0x21c203, + 0x200182, + 0x264d83, + 0x2b4847, + 0x2c3e85, + 0x3413c6, + 0x259004, + 0x374e05, + 0x225cc3, + 0x20e646, + 0x213c42, + 0x3a1784, + 0x2260d382, + 0x226603, + 0x22a01802, + 0x251743, + 0x21e444, + 0x21e447, + 0x201986, + 0x20df02, + 0x22e0dec2, + 0x2c4244, + 0x23235182, + 0x23601b82, + 0x265704, + 0x265705, + 0x345105, + 0x35c386, + 0x23a074c2, + 0x2074c5, + 0x213005, + 0x2157c3, + 0x219d06, + 0x21a645, + 0x21e5c2, + 0x34d0c5, + 0x21e5c4, + 0x228203, + 0x22a443, + 0x23e11442, + 0x2dcf47, + 0x376084, + 0x376089, + 0x253c44, + 0x2357c3, + 0x300589, + 0x389e08, + 0x242aa8c4, + 0x2aa8c6, + 0x219983, + 0x25d3c3, + 0x323043, + 0x246eebc2, + 0x379b82, + 0x24a17202, + 0x32af48, + 0x358e08, + 0x3a5a46, + 0x2fd0c5, + 0x317885, + 0x333d07, + 0x2247c5, + 0x210642, + 0x24e04742, + 0x160a442, + 0x2447c8, + 0x2dda45, + 0x2bfbc4, + 0x2f2845, + 0x381d87, + 0x240944, + 0x24c682, + 0x25200582, + 0x33ffc4, + 0x21ca07, + 0x292507, + 0x35e844, + 0x29a843, + 0x23de04, + 0x23de08, + 0x23a1c6, + 0x27258a, + 0x222204, + 0x29abc8, + 0x290584, + 0x229ec6, + 0x29c484, + 0x28b146, + 0x376349, + 0x274847, + 0x241243, + 0x256351c2, + 0x2755c3, + 0x214d02, + 0x25a52e42, + 0x313486, + 0x374588, + 0x2ac047, + 0x3ab249, + 0x299f49, + 0x2acf05, + 0x2adec9, + 0x2ae685, + 0x2ae7c9, + 0x2afe45, + 0x2b11c8, + 0x25e0a104, + 0x26259ac7, + 0x2b13c3, + 0x2b13c7, + 0x3ba046, + 0x2b1a47, + 0x2a9b05, + 0x2a2cc3, + 0x26636d02, + 0x339704, + 0x26a42a42, + 0x266603, + 0x26e206c2, + 0x30df06, + 0x2814c5, + 0x2b3cc7, + 0x332043, + 0x32c2c4, + 0x217003, + 0x342c43, + 0x27205e82, + 0x27a0c442, + 0x3a5404, + 0x2f67c3, + 0x24e545, + 0x27e01c82, + 0x286007c2, + 0x2c8286, + 0x322144, + 0x38c444, + 0x38c44a, + 0x28e00942, + 0x38298a, + 0x39b8c8, + 0x29231604, + 0x2046c3, + 0x20d8c3, + 0x306349, + 0x25bd09, + 0x364986, + 0x29655783, + 0x335d45, + 0x30d2cd, + 0x39ba86, + 0x204f4b, + 0x29a02b02, + 0x225b48, + 0x2be22782, + 0x2c203e02, + 0x2b1685, + 0x2c604182, + 0x266847, + 0x21b987, + 0x20bf43, + 0x23b188, + 0x2ca02542, + 0x3780c4, + 0x21a8c3, + 0x348505, + 0x364603, + 0x33c406, + 0x212a84, + 0x275f43, + 0x2b6443, + 0x2ce09942, + 0x2fd7c4, + 0x379c85, + 0x3b6587, + 0x280003, + 0x2b5103, + 0x2b5c03, + 0x1631182, + 0x2b5cc3, + 0x2b63c3, + 0x2d2086c2, + 0x3a2e44, + 0x262786, + 0x34ba83, + 0x2086c3, + 0x2d6b8042, + 0x2b8048, + 0x2b8304, + 0x37ce46, + 0x2b8bc7, + 0x258346, + 0x2a0304, + 0x3b201702, + 0x3b9f0b, + 0x307c0e, + 0x221d4f, + 0x2ac5c3, + 0x3ba64d42, + 0x160b542, + 0x3be00a82, + 0x2e89c3, + 0x2e4903, + 0x2de046, + 0x207986, + 0x203007, + 0x304704, + 0x3c221302, + 0x3c618742, + 0x3a1205, + 0x2e7007, + 0x38c946, + 0x3ca28142, + 0x228144, + 0x2bc743, + 0x3ce09a02, + 0x3d366443, + 0x2bce04, + 0x2c5409, + 0x16cb602, + 0x3d605242, + 0x385d85, + 0x3dacb882, + 0x3de03582, + 0x3541c7, + 0x21b2c9, + 0x368e8b, + 0x3a0105, + 0x2714c9, + 0x384d06, + 0x343c47, + 0x3e206844, + 0x341d89, + 0x380907, + 0x348ac7, + 0x2122c3, + 0x2122c6, + 0x312247, + 0x263a43, + 0x263a46, + 0x3ea01cc2, + 0x3ee022c2, + 0x22bf03, + 0x32bec5, + 0x25a007, + 0x227906, + 0x2c3e05, + 0x207a84, + 0x28ddc5, + 0x2fae04, + 0x3f204bc2, + 0x337447, + 0x2ca604, + 0x24f3c4, + 0x25bc0d, + 0x25d749, + 0x3ab748, + 0x25e044, + 0x234a85, + 0x322907, + 0x3329c4, + 0x2fa747, + 0x204bc5, + 0x3f6ac504, + 0x2b5e05, + 0x269404, + 0x256fc6, + 0x34fe05, + 0x3fa048c2, + 0x2011c4, + 0x2011c5, + 0x3802c6, + 0x206d85, + 0x3c0144, + 0x2cda83, + 0x208d46, + 0x222545, + 0x22b605, + 0x34ff04, + 0x222283, + 0x22228c, + 0x3fe90a82, + 0x40206702, + 0x40600282, + 0x211a83, + 0x211a84, + 0x40a02942, + 0x2fba48, + 0x341485, + 0x34c984, + 0x36ee86, + 0x40e0d842, + 0x41234502, + 0x41601fc2, + 0x2a6a85, + 0x210446, + 0x226144, + 0x32d646, + 0x28ba06, + 0x215c83, + 0x41b2770a, + 0x2f6b05, + 0x2f6fc3, + 0x22a9c6, + 0x30c989, + 0x22a9c7, + 0x29f648, + 0x29ff09, + 0x241b08, + 0x22e546, + 0x209b03, + 0x41e0c202, + 0x395343, + 0x395349, + 0x333608, + 0x42253442, + 0x42604a82, + 0x229443, + 0x2e4505, + 0x25c404, + 0x2c9ec9, + 0x26eb44, + 0x2e0908, + 0x2050c3, + 0x20dc44, + 0x2acd03, + 0x221208, + 0x25bb47, + 0x42e281c2, + 0x270d02, + 0x388b05, + 0x272dc9, + 0x28cac3, + 0x284bc4, + 0x335d04, + 0x227543, + 0x28580a, + 0x43382842, + 0x43601182, + 0x2cd543, + 0x384f83, + 0x160dc02, + 0x20ffc3, + 0x43a14702, + 0x43e00802, + 0x4420f644, + 0x20f646, + 0x3b6a46, + 0x248c44, + 0x37d243, + 0x200803, + 0x2f60c3, + 0x24a406, + 0x30aa05, + 0x2cd6c7, + 0x343b09, + 0x2d2d85, + 0x2d3f46, + 0x2d4908, + 0x2d4b06, + 0x260ec4, + 0x2a1d8b, + 0x2d8403, + 0x2d8405, + 0x2d8548, + 0x22c2c2, + 0x3544c2, + 0x4464ea42, + 0x44a14642, + 0x221343, + 0x44e745c2, + 0x2745c3, + 0x2d8844, + 0x2d8e03, + 0x45605902, + 0x45a0c0c6, + 0x2af186, + 0x45edcac2, + 0x462162c2, + 0x4662a482, + 0x46a00e82, + 0x46e176c2, + 0x47202ec2, + 0x205383, + 0x344905, + 0x348206, + 0x4761bf84, + 0x34e5ca, + 0x20bd46, + 0x220e04, + 0x28a483, + 0x4820ea42, + 0x204d42, + 0x23d503, + 0x48608e83, + 0x2d8047, + 0x34fd07, + 0x49e31787, + 0x23fcc7, + 0x2309c3, + 0x33188a, + 0x263544, + 0x3863c4, + 0x3863ca, + 0x24b685, + 0x4a2190c2, + 0x254b43, + 0x4a601942, + 0x21b543, + 0x275583, + 0x4ae02b82, + 0x2b0284, + 0x2256c4, + 0x208105, + 0x39e745, + 0x2fc3c6, + 0x2fc746, + 0x4b206802, + 0x4b600982, + 0x3139c5, + 0x2aee92, + 0x259806, + 0x231483, + 0x315a06, + 0x231485, + 0x1616b82, + 0x53a17102, + 0x35fd43, + 0x217103, + 0x35d703, + 0x53e02c82, + 0x38a783, + 0x54205b82, + 0x20cc43, + 0x3a2e88, + 0x231e83, + 0x231e86, + 0x3b0c87, + 0x26c286, + 0x26c28b, + 0x220d47, + 0x339504, + 0x54a00e42, + 0x341305, + 0x54e08e43, + 0x2aec83, + 0x32de85, + 0x331783, + 0x55331786, + 0x2108ca, + 0x2488c3, + 0x240c44, + 0x2cf4c6, + 0x2364c6, + 0x55601a03, + 0x32c187, + 0x364887, + 0x2a3885, + 0x251046, + 0x222583, + 0x57619f43, + 0x57a0cb42, + 0x34bd44, + 0x22c24c, + 0x232f09, + 0x2445c7, + 0x38ad45, + 0x252c84, + 0x25e6c8, + 0x265d45, + 0x57e6c505, + 0x27b709, + 0x2e6103, + 0x24f204, + 0x5821cc82, + 0x221543, + 0x5869bf42, + 0x3bbe86, + 0x16235c2, + 0x58a35b42, + 0x2a6988, + 0x2ac343, + 0x2b5d47, + 0x2daa05, + 0x2e5205, + 0x2e520b, + 0x2e58c6, + 0x2e5406, + 0x2e9006, + 0x232b84, + 0x2e9246, + 0x58eeae88, + 0x246003, + 0x231a43, + 0x231a44, + 0x2ea484, + 0x2eab87, + 0x2ec3c5, + 0x592ec502, + 0x59607082, + 0x207085, + 0x295bc4, + 0x2ef38b, + 0x2efa08, + 0x2998c4, + 0x228182, + 0x59e99842, + 0x350e83, + 0x2efec4, + 0x2f0185, + 0x2f0607, + 0x2f2384, + 0x220c04, + 0x5a204102, + 0x36f5c9, + 0x2f3185, + 0x3a03c5, + 0x2f3e45, + 0x5a621483, + 0x2f4dc4, + 0x2f4dcb, + 0x2f5204, + 0x2f5c0b, + 0x2f6005, + 0x221e8a, + 0x2f7608, + 0x2f780a, + 0x2f7fc3, + 0x2f7fca, + 0x5aa33502, + 0x5ae2fa42, + 0x236903, + 0x5b2f9f02, + 0x2f9f03, + 0x5b71c482, + 0x5bb29ac2, + 0x2fac84, + 0x2227c6, + 0x32d385, + 0x2fd4c3, + 0x320446, + 0x317345, + 0x262a84, + 0x5be06b42, + 0x2ba844, + 0x2cdc4a, + 0x22fd07, + 0x2e5e86, + 0x2612c7, + 0x20c743, + 0x2bce48, + 0x39fd8b, + 0x230305, + 0x2f41c5, + 0x2f41c6, + 0x2ea004, + 0x3bf388, + 0x20e543, + 0x21f784, + 0x21f787, + 0x355746, + 0x344b06, + 0x29810a, + 0x250d44, + 0x250d4a, + 0x5c20c386, + 0x20c387, + 0x25ca07, + 0x27b0c4, + 0x27b0c9, + 0x262445, + 0x2439cb, + 0x2eef43, + 0x21ad43, + 0x5c625b03, + 0x23a584, + 0x5ca00482, + 0x2f70c6, + 0x5cea2a45, + 0x315c45, + 0x258586, + 0x352b04, + 0x5d2044c2, + 0x24bbc4, + 0x5d60b282, + 0x28b5c5, + 0x236c84, + 0x22cb43, + 0x5de17142, + 0x217143, + 0x273e86, + 0x5e204242, + 0x2241c8, + 0x22a844, + 0x22a846, + 0x204dc6, + 0x25ec04, + 0x208cc5, + 0x214e48, + 0x215647, + 0x2159c7, + 0x2159cf, + 0x29b086, + 0x22f483, + 0x22f484, + 0x36edc4, + 0x213103, + 0x22a004, + 0x2494c4, + 0x5e60fd02, + 0x291cc3, + 0x24bf43, + 0x5ea0d2c2, + 0x22f043, + 0x20d2c3, + 0x21d70a, + 0x2e7d07, + 0x381f0c, + 0x3821c6, + 0x2f5a86, + 0x2f6447, + 0x5ee0e947, + 0x252d49, + 0x245984, + 0x253e04, + 0x5f221382, + 0x5f600a02, + 0x2984c6, + 0x32bf84, + 0x2df606, + 0x239048, + 0x2bf2c4, + 0x266886, + 0x2d9d05, + 0x26e488, + 0x2041c3, + 0x26fd85, + 0x270b03, + 0x3a04c3, + 0x3a04c4, + 0x206ac3, + 0x5fa0e602, + 0x5fe00742, + 0x2eee09, + 0x273885, + 0x276bc4, + 0x27ab05, + 0x217e84, + 0x2c62c7, + 0x36ecc5, + 0x231944, + 0x231948, + 0x2d6206, + 0x2dac04, + 0x2e0788, + 0x2e1fc7, + 0x60202502, + 0x2e6f44, + 0x2131c4, + 0x348cc7, + 0x60602504, + 0x210f82, + 0x60a06742, + 0x227103, + 0x2dfc84, + 0x2b2143, + 0x370645, + 0x60e06d42, + 0x2eeac5, + 0x21b9c2, + 0x35c7c5, + 0x374745, + 0x61204d02, + 0x35f004, + 0x61606182, + 0x266d86, + 0x2a7806, + 0x272f08, + 0x2c7588, + 0x30de84, + 0x2f97c5, + 0x395809, + 0x2fd8c4, + 0x210884, + 0x208483, + 0x61a1f545, + 0x2cb6c7, + 0x28d004, + 0x31288d, + 0x332182, + 0x33f203, + 0x3479c3, + 0x61e00d02, + 0x397dc5, + 0x212cc7, + 0x23fd84, + 0x23fd87, + 0x2a0109, + 0x2cdd89, + 0x277e07, + 0x20f803, + 0x2ba348, + 0x2522c9, + 0x349c47, + 0x355685, + 0x395546, + 0x398bc6, + 0x3aaf05, + 0x25d845, + 0x62209142, + 0x37da45, + 0x2bad08, + 0x2c9546, + 0x626c0d47, + 0x2f6244, + 0x29bb07, + 0x300246, + 0x62a3b442, + 0x37ffc6, + 0x302d4a, + 0x3035c5, + 0x62ee6282, + 0x63260a02, + 0x312586, + 0x2b36c8, + 0x636926c7, + 0x63a04502, + 0x226783, + 0x36a846, + 0x22cf04, + 0x3b0b46, + 0x344e06, + 0x36d78a, + 0x377705, + 0x208806, + 0x2205c3, + 0x2205c4, + 0x203082, + 0x314a43, + 0x63e11ac2, + 0x2f8483, + 0x382c04, + 0x2b3804, + 0x2b380a, + 0x22e603, + 0x281288, + 0x22e60a, + 0x2b4247, + 0x309306, + 0x266c44, + 0x220cc2, + 0x228cc2, + 0x64207002, + 0x23ddc3, + 0x25c7c7, + 0x320707, + 0x28e8c4, + 0x39d147, + 0x2f0706, + 0x21e747, + 0x233484, + 0x398ac5, + 0x2ce485, + 0x6462be42, + 0x231146, + 0x327943, + 0x371742, + 0x383306, + 0x64a08bc2, + 0x64e05082, + 0x3c0985, + 0x6522a202, + 0x65604782, + 0x348085, + 0x39e345, + 0x2088c5, + 0x26f003, + 0x352285, + 0x2e5987, + 0x305cc5, + 0x311985, + 0x3b01c4, + 0x24d486, + 0x264544, + 0x65a00d42, + 0x666f2bc5, + 0x2ab647, + 0x3176c8, + 0x29f806, + 0x29f80d, + 0x2aac09, + 0x2aac12, + 0x359f05, + 0x36f8c3, + 0x66a08882, + 0x314544, + 0x39bb03, + 0x3963c5, + 0x304a45, + 0x66e1a902, + 0x264183, + 0x67231802, + 0x67a43242, + 0x67e1f342, + 0x2ed385, + 0x23fec3, + 0x36d408, + 0x68204382, + 0x686000c2, + 0x2b0246, + 0x35f2ca, 0x205503, - 0x200983, - 0x2099c2, - 0x2a84c3, - 0x205503, - 0x204e83, - 0x200983, - 0x2a84c3, - 0x205503, - 0x25e983, - 0x200983, - 0x16d208, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x209703, - 0x205503, - 0x200983, - 0x16d208, - 0x2099c2, - 0x2006c2, - 0x231442, - 0x206502, + 0x209f43, + 0x2ef103, + 0x69202642, + 0x77602cc2, + 0x77e0d582, + 0x206442, + 0x37fdc9, + 0x2caa44, + 0x23b488, + 0x782fd502, + 0x78603642, + 0x2f5e45, + 0x23d9c8, + 0x3a2fc8, + 0x25920c, + 0x22fac3, + 0x78a68dc2, + 0x78e0c402, + 0x2d3206, + 0x30a185, + 0x2a7b83, + 0x381c46, + 0x30a2c6, + 0x20d883, + 0x30bc43, + 0x30c146, + 0x30cd84, + 0x29d386, + 0x2d85c5, + 0x30d10a, + 0x2397c4, + 0x30e244, + 0x30f08a, + 0x79203442, + 0x2413c5, + 0x31018a, + 0x310a85, + 0x311344, + 0x311446, + 0x3115c4, + 0x221806, + 0x79611042, + 0x33c0c6, + 0x3b1b45, + 0x3b80c7, + 0x200206, + 0x2de844, + 0x2de847, + 0x327646, + 0x245345, + 0x245347, + 0x3abdc7, + 0x3abdce, + 0x232206, + 0x2fa605, + 0x202447, + 0x216303, + 0x3326c7, + 0x2172c5, + 0x21b0c4, + 0x2343c2, + 0x2432c7, + 0x304784, + 0x383884, + 0x270b8b, + 0x224e03, + 0x2d4c47, + 0x224e04, + 0x2f11c7, + 0x299543, + 0x33dd4d, + 0x398608, + 0x224604, + 0x231845, + 0x312bc5, + 0x313003, + 0x79a0c4c2, + 0x314a03, + 0x314d43, + 0x20f204, + 0x283745, + 0x22a4c7, + 0x220646, + 0x382943, + 0x38344b, + 0x259c8b, + 0x2ac9cb, + 0x2fbd4b, + 0x2c578a, + 0x30e48b, + 0x32420b, + 0x362f0c, + 0x38bf4b, + 0x3bdf51, + 0x3bfd8a, + 0x31604b, + 0x31630c, + 0x31660b, + 0x316b8a, + 0x317c8a, + 0x318c8e, + 0x31930b, + 0x3195ca, + 0x31a9d1, + 0x31ae0a, + 0x31b30b, + 0x31b84e, + 0x31c18c, + 0x31c68b, + 0x31c94e, + 0x31cccc, + 0x31d9ca, + 0x31eccc, + 0x79f1efca, + 0x31f7c8, + 0x320909, + 0x3232ca, + 0x32354a, + 0x3237cb, + 0x326d8e, + 0x327111, + 0x330189, + 0x3303ca, + 0x3313cb, + 0x334a0a, + 0x3354d6, + 0x336e4b, + 0x337b0a, + 0x337f4a, + 0x33a4cb, + 0x33b749, + 0x33e6c9, + 0x33ec8d, + 0x33f2cb, + 0x34040b, + 0x340dcb, + 0x347049, + 0x34768e, + 0x347dca, + 0x3494ca, + 0x349a0a, + 0x34a14b, + 0x34a98b, + 0x34ac4d, + 0x34c50d, + 0x34cd50, + 0x34d20b, + 0x35064c, + 0x3512cb, + 0x353ccb, + 0x35528e, + 0x355e0b, + 0x355e0d, + 0x35ae8b, + 0x35b90f, + 0x35bccb, + 0x35c50a, + 0x35cb49, + 0x35de09, + 0x35e18b, + 0x35e44e, + 0x36020b, + 0x361acf, + 0x36394b, + 0x363c0b, + 0x363ecb, + 0x3643ca, + 0x368a89, + 0x36e04f, + 0x372a8c, + 0x3732cc, + 0x37374e, + 0x373ccf, + 0x37408e, + 0x375690, + 0x375a8f, + 0x37660e, + 0x376f4c, + 0x377252, + 0x379891, + 0x37a18e, + 0x37a94e, + 0x37ae8e, + 0x37b20f, + 0x37b5ce, + 0x37b953, + 0x37be11, + 0x37c24c, + 0x37c54e, + 0x37c9cc, + 0x37de53, + 0x37ead0, + 0x37f30c, + 0x37f60c, + 0x37facb, + 0x38044e, + 0x380d8b, + 0x3816cb, + 0x382fcc, + 0x38b38a, + 0x38b74c, + 0x38ba4c, + 0x38bd49, + 0x38d7cb, + 0x38da88, + 0x38df49, + 0x38df4f, + 0x38f88b, + 0x7a39028a, + 0x391e4c, + 0x393009, + 0x393488, + 0x39368b, + 0x393d8b, + 0x39490a, + 0x394b8b, + 0x3950cc, + 0x396048, + 0x398d4b, + 0x39b1cb, + 0x39ef4e, + 0x3a05cb, + 0x3a1f0b, + 0x3ab94b, + 0x3abc09, + 0x3ac14d, + 0x3b1d4a, + 0x3b2c97, + 0x3b4398, + 0x3b6bc9, + 0x3b7d0b, + 0x3b8fd4, + 0x3b94cb, + 0x3b9a4a, + 0x3ba38a, + 0x3ba60b, + 0x3badd0, + 0x3bb1d1, + 0x3bc00a, + 0x3bd54d, + 0x3bdc4d, + 0x3c05cb, + 0x3c1206, + 0x231243, + 0x7a791143, + 0x26ed86, + 0x248805, + 0x22d287, + 0x3240c6, + 0x1608742, + 0x2c1fc9, + 0x320244, + 0x2e4d48, + 0x210943, + 0x314487, + 0x239202, + 0x2b3d03, + 0x7aa04542, + 0x2d0d06, + 0x2d2104, + 0x37a844, + 0x3443c3, + 0x3443c5, + 0x7b2cb8c2, + 0x7b6aeb44, + 0x27b007, + 0x7ba43282, + 0x238543, + 0x23cac3, + 0x323043, + 0x28cac3, + 0x208e83, + 0x201a03, + 0x200e03, + 0x207102, + 0x16fb88, + 0x20f882, + 0x323043, + 0x28cac3, + 0x208e83, + 0xe03, + 0x201a03, + 0x215443, + 0x32b7d6, + 0x32ca13, + 0x39cfc9, + 0x34e148, + 0x341189, + 0x310306, + 0x340010, + 0x24c9d3, + 0x355808, + 0x2a0a87, + 0x37d347, + 0x28db0a, + 0x232309, + 0x3961c9, + 0x28664b, + 0x33af86, + 0x20728a, + 0x228e06, + 0x31fe43, + 0x2dce85, + 0x233108, + 0x266e4d, + 0x28af0c, + 0x218c87, + 0x318fcd, + 0x214f44, + 0x23a84a, + 0x23bbca, + 0x23c08a, + 0x24ccc7, + 0x246b87, + 0x24a904, + 0x233d86, + 0x209d44, + 0x2c7ec8, + 0x26eb89, + 0x2bb246, + 0x2bb248, + 0x24d18d, + 0x2cdfc9, + 0x209708, + 0x3a0347, + 0x300fca, + 0x2550c6, + 0x2664c7, + 0x2bd584, + 0x292347, + 0x35180a, + 0x38690e, + 0x2247c5, + 0x29224b, + 0x32f709, + 0x25bd09, + 0x21b7c7, + 0x2936ca, + 0x348c07, + 0x307d49, + 0x20b808, + 0x33420b, + 0x2e4505, + 0x3ab60a, + 0x2734c9, + 0x331d0a, + 0x2d2e0b, + 0x38668b, + 0x2863d5, + 0x30be85, + 0x3a03c5, + 0x2f4dca, + 0x364a8a, + 0x32f487, + 0x2252c3, + 0x298448, + 0x2db34a, + 0x22a846, + 0x252109, + 0x26e488, + 0x2dac04, + 0x2b2149, + 0x2c7588, + 0x2b2d07, + 0x2f2bc6, + 0x2ab647, + 0x376d87, + 0x24a205, + 0x22460c, + 0x231845, + 0x238543, + 0x23cac3, + 0x323043, + 0x208e83, + 0x201a03, + 0x20f882, + 0x238543, + 0x208e83, + 0x200e03, + 0x201a03, + 0x238543, + 0x208e83, + 0xe03, + 0x231e83, + 0x201a03, + 0x16fb88, + 0x238543, + 0x23cac3, + 0x323043, + 0x28cac3, + 0x208e83, + 0xe03, + 0x201a03, + 0x16fb88, + 0x20f882, + 0x201742, + 0x23c2c2, + 0x202542, 0x200542, - 0x2decc2, - 0x46a84c3, - 0x232403, - 0x2163c3, - 0x2e9dc3, - 0x244183, - 0x209703, - 0x2d47c6, - 0x205503, - 0x200983, - 0x233183, - 0x16d208, - 0x31ae44, - 0x202107, - 0x392403, - 0x2ae584, - 0x22e043, - 0x21c7c3, - 0x2e9dc3, - 0x16fc07, - 0x205702, - 0x18d2c3, - 0x5a099c2, - 0x88f4d, - 0x8928d, - 0x231442, - 0x1b1384, + 0x2e6dc2, + 0x4638543, + 0x23cac3, + 0x21b583, + 0x323043, + 0x255783, + 0x28cac3, + 0x2dcd86, + 0x208e83, + 0x201a03, + 0x20bdc3, + 0x16fb88, + 0x345b44, + 0x20da07, + 0x2112c3, + 0x2b1684, + 0x208543, + 0x21b843, + 0x323043, + 0x36dc7, + 0x145944, + 0xf183, + 0x145c05, + 0x207102, + 0x19c783, + 0x5a0f882, + 0x1490fc9, + 0x9144d, + 0x9178d, + 0x23c2c2, + 0x31604, + 0x145c49, 0x200442, - 0x5fb1288, - 0xed844, - 0x16d208, - 0x1411d82, - 0x15054c6, - 0x231783, - 0x200c03, - 0x66a84c3, - 0x22fd84, - 0x6a32403, - 0x6ee9dc3, - 0x202bc2, - 0x3b1384, - 0x205503, - 0x2f78c3, - 0x203ec2, - 0x200983, - 0x21b5c2, - 0x2f2443, - 0x203082, - 0x211643, - 0x265d43, + 0x5f4ed48, + 0xf4544, + 0x16fb88, + 0x1409702, + 0x1510cc6, + 0x239283, + 0x2bcc43, + 0x6638543, + 0x23a844, + 0x6a3cac3, + 0x6f23043, + 0x205e82, + 0x231604, + 0x208e83, + 0x301dc3, + 0x2014c2, + 0x201a03, + 0x222dc2, + 0x2fabc3, + 0x204242, + 0x205983, + 0x26e543, 0x200202, - 0x16d208, - 0x231783, - 0x2f78c3, - 0x203ec2, - 0x2f2443, - 0x203082, - 0x211643, - 0x265d43, + 0x16fb88, + 0x239283, + 0x301dc3, + 0x2014c2, + 0x2fabc3, + 0x204242, + 0x205983, + 0x26e543, 0x200202, - 0x2f2443, - 0x203082, - 0x211643, - 0x265d43, + 0x2fabc3, + 0x204242, + 0x205983, + 0x26e543, 0x200202, - 0x2a84c3, - 0x38d2c3, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x3b1384, - 0x244183, - 0x209703, - 0x211cc4, - 0x205503, - 0x200983, - 0x20f942, - 0x201303, - 0x16d208, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x209703, - 0x205503, - 0x200983, - 0x38d2c3, - 0x2099c2, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x3b1384, - 0x205503, - 0x200983, - 0x373605, - 0x212982, - 0x205702, - 0x16d208, - 0x1456108, - 0x2e9dc3, - 0x2274c1, - 0x202901, - 0x202941, - 0x23ad81, - 0x23ad01, - 0x30aec1, - 0x23aec1, - 0x2275c1, - 0x2eea41, - 0x30afc1, + 0x238543, + 0x39c783, + 0x238543, + 0x23cac3, + 0x323043, + 0x231604, + 0x255783, + 0x28cac3, + 0x21bf84, + 0x208e83, + 0x201a03, + 0x20cb02, + 0x221483, + 0x16fb88, + 0x238543, + 0x23cac3, + 0x323043, + 0x28cac3, + 0x208e83, + 0x201a03, + 0x39c783, + 0x20f882, + 0x238543, + 0x23cac3, + 0x323043, + 0x231604, + 0x208e83, + 0x201a03, + 0x355685, + 0x21a902, + 0x207102, + 0x16fb88, + 0x1480cc8, + 0x323043, + 0x20fec1, + 0x201641, + 0x203c01, + 0x201301, + 0x267401, + 0x2ae601, + 0x211341, + 0x28a0c1, + 0x24dfc1, + 0x2fbf81, 0x200141, 0x200001, - 0x129845, - 0x16d208, - 0x201ec1, - 0x200701, + 0x131645, + 0x16fb88, + 0x2008c1, + 0x201781, 0x200301, 0x200081, 0x200181, 0x200401, 0x200041, - 0x201181, + 0x2086c1, 0x200101, 0x200281, - 0x200e81, - 0x2008c1, - 0x200441, - 0x201301, - 0x206ec1, - 0x200341, 0x200801, + 0x200981, + 0x200441, + 0x204101, + 0x2227c1, + 0x200341, + 0x200741, 0x2002c1, 0x2000c1, - 0x201501, + 0x203441, 0x200201, - 0x200bc1, + 0x200c81, 0x2005c1, - 0x201cc1, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x205503, - 0x200983, - 0x2099c2, - 0x2a84c3, - 0x232403, + 0x204541, + 0x238543, + 0x23cac3, + 0x323043, + 0x208e83, + 0x201a03, + 0x20f882, + 0x238543, + 0x23cac3, 0x200442, - 0x200983, - 0x16fc07, - 0x9807, - 0x1cdc6, - 0x13ef8a, - 0x88648, - 0x51d48, - 0x52107, - 0x191106, - 0xd8c05, - 0x192345, - 0x5d306, - 0x125c86, - 0x25ef44, - 0x311547, - 0x16d208, - 0x2d5f04, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x205503, - 0x200983, - 0x2a84c3, - 0x232403, - 0x2163c3, - 0x2e9dc3, - 0x244183, - 0x209703, - 0x205503, - 0x200983, - 0x212982, - 0x2c5983, - 0x2bb143, - 0x32c243, - 0x2022c2, - 0x25d183, - 0x2030c3, - 0x204903, + 0x201a03, + 0x36dc7, + 0x8cbc7, + 0x24386, + 0x44f4a, + 0x906c8, + 0x5c288, + 0x5c6c7, + 0xffc6, + 0xe1d45, + 0x11205, + 0x86286, + 0x12cf06, + 0x286644, + 0x31cf87, + 0x16fb88, + 0x2de944, + 0x238543, + 0x23cac3, + 0x323043, + 0x208e83, + 0x201a03, + 0x238543, + 0x23cac3, + 0x21b583, + 0x323043, + 0x255783, + 0x28cac3, + 0x208e83, + 0x201a03, + 0x21a902, + 0x2ba8c3, + 0x242043, + 0x2cc103, + 0x202d42, + 0x33eb43, + 0x203ec3, + 0x20fc03, 0x200001, - 0x2dc745, - 0x206b43, - 0x221344, - 0x26cc83, - 0x318ec3, - 0x21b103, - 0x35ff43, - 0xaaa84c3, - 0x235ac4, - 0x23dbc3, - 0x21cc43, - 0x21b0c3, - 0x22ffc3, - 0x232403, - 0x232143, - 0x2459c3, - 0x2a2703, - 0x318e43, - 0x2344c3, - 0x202643, - 0x24ce44, - 0x24e347, - 0x248902, - 0x250943, - 0x256303, - 0x273ac3, - 0x390f43, - 0x2025c3, - 0xaee9dc3, - 0x20bec3, - 0x2143c3, - 0x24a5c3, - 0x328085, - 0x209d43, - 0x2fa383, - 0xb21f903, - 0x365f03, - 0x20d543, - 0x227f83, - 0x209703, - 0x228502, - 0x27d2c3, - 0x205503, - 0x1604e83, - 0x224a43, - 0x209a43, - 0x204a03, - 0x200983, - 0x35fe83, - 0x20f943, - 0x201303, - 0x2efe83, - 0x2ff903, - 0x2f2603, - 0x204405, - 0x23e743, - 0x285346, - 0x2f2643, - 0x36cf43, - 0x3759c4, - 0x2d9083, - 0x2284c3, - 0x267ec3, - 0x233183, - 0x212982, - 0x22d543, - 0x3024c3, - 0x304144, - 0x377404, - 0x20ce83, - 0x16d208, - 0x205702, - 0x200242, - 0x2022c2, - 0x201702, - 0x202a42, - 0x206c02, - 0x245482, - 0x2007c2, - 0x20d882, - 0x200e82, - 0x20b102, - 0x20e602, - 0x2675c2, - 0x2056c2, - 0x2decc2, - 0x2013c2, - 0x2069c2, - 0x201302, - 0x2172c2, - 0x202482, - 0x200482, - 0x219382, - 0x202782, - 0x209842, - 0x2027c2, - 0x222702, - 0x203b42, - 0x5702, - 0x242, - 0x22c2, - 0x1702, - 0x2a42, - 0x6c02, - 0x45482, - 0x7c2, - 0xd882, - 0xe82, - 0xb102, - 0xe602, - 0x675c2, - 0x56c2, - 0xdecc2, - 0x13c2, - 0x69c2, - 0x1302, - 0x172c2, - 0x2482, - 0x482, - 0x19382, - 0x2782, - 0x9842, - 0x27c2, - 0x22702, - 0x3b42, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x205503, - 0x200983, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x205503, - 0x200983, - 0x2099c2, - 0x200983, - 0xc6a84c3, - 0x2e9dc3, - 0x209703, - 0x21a2c2, - 0x16d208, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x205503, - 0x200983, - 0x7b02, - 0x201bc2, - 0x153f3c5, - 0x25ed82, - 0x16d208, - 0x99c2, - 0x20c182, - 0x208d02, - 0x2024c2, - 0x209642, - 0x208442, - 0x192345, - 0x2038c2, - 0x203ec2, - 0x2023c2, - 0x204dc2, - 0x2013c2, - 0x385502, - 0x201102, - 0x236582, - 0x16fc07, - 0x1b270d, - 0xd8c89, - 0x56e8b, - 0xdd608, - 0x53dc9, - 0xfacc6, - 0x2e9dc3, - 0x16d208, - 0x16d208, - 0x52e06, - 0x1a78c7, - 0x205702, - 0x25ef44, - 0x2099c2, - 0x2a84c3, - 0x2006c2, - 0x232403, - 0x20d882, - 0x2d5f04, - 0x244183, - 0x249a02, - 0x205503, - 0x200442, - 0x200983, - 0x264a86, - 0x31ba0f, - 0x70a403, - 0x16d208, - 0x2099c2, - 0x2163c3, - 0x2e9dc3, - 0x209703, - 0x1526f4b, - 0xd9888, - 0x142b68a, - 0x14fa807, - 0xda405, - 0x16fc07, - 0x2099c2, - 0x2a84c3, - 0x2e9dc3, - 0x205503, - 0x205702, - 0x20c202, - 0x20bb42, - 0xfea84c3, - 0x23c042, - 0x232403, - 0x209d02, - 0x221402, - 0x2e9dc3, - 0x228782, - 0x251442, - 0x2a6c82, - 0x200f82, - 0x28d742, - 0x203442, - 0x202e42, - 0x267e42, - 0x24ecc2, - 0x211ec2, - 0x2ad882, - 0x2eab02, - 0x2182c2, - 0x2ad342, - 0x209703, - 0x20ec42, - 0x205503, - 0x200e42, - 0x281702, - 0x200983, - 0x25d202, - 0x209842, - 0x218942, - 0x202e02, - 0x200c42, - 0x2de402, - 0x20fe82, - 0x250b82, - 0x220642, - 0x30d44a, - 0x34d94a, - 0x37fc4a, - 0x3bbec2, - 0x202cc2, - 0x2058c2, - 0x1026e389, - 0x1072510a, - 0x1594ac7, - 0x1410843, - 0x24d50, - 0x50642, - 0x2030c4, - 0x10ea84c3, - 0x232403, - 0x249944, - 0x2e9dc3, - 0x3b1384, - 0x244183, - 0x209703, - 0x205503, - 0xdc105, - 0x204e83, - 0x200983, - 0x23e743, - 0x25ed03, - 0x16d208, - 0x1591084, - 0x18ff45, - 0x1a768a, - 0x116902, - 0x18ae46, - 0xaf551, - 0x1166e389, - 0x18ffc8, - 0x13f9c8, - 0xff387, - 0xec2, - 0x12984b, - 0x1a5b0a, - 0x21347, - 0x16d208, - 0x108f08, - 0xe4c7, - 0x17818f4b, - 0x1b887, - 0x1c02, - 0x6c707, - 0x1a1ca, - 0x13f6cf, - 0x988f, - 0x1b102, - 0x99c2, - 0xa2648, - 0x19e30a, - 0x1320c8, - 0xdc2, - 0x13f44f, - 0x9e18b, - 0x68bc8, - 0x38f47, - 0x388a, - 0x304cb, - 0x4efc9, - 0x11dd07, - 0xfc34c, - 0x2c07, - 0x19b40a, - 0xd4ac8, - 0x1a3cce, - 0x1cdce, - 0x2118b, - 0x26ccb, - 0x27d4b, - 0x2c009, - 0x2da0b, - 0x5e7cd, - 0x85acb, - 0xdfc8d, - 0xe000d, - 0xe164a, - 0x17724b, - 0x1ae0cb, - 0x31c45, - 0x1424d50, - 0x12618f, - 0x1268cf, - 0xe2c0d, - 0x1b8f90, - 0x2bb82, - 0x17fb0388, - 0x9688, - 0x182ee705, - 0x48fcb, - 0x117090, - 0x4fdc8, - 0x26e8a, - 0x56b49, - 0x5cb47, - 0x5ce87, - 0x5d047, - 0x5f507, - 0x60587, - 0x60b87, - 0x61387, - 0x617c7, - 0x61cc7, - 0x61fc7, - 0x62fc7, - 0x63187, - 0x63347, - 0x63507, - 0x63807, - 0x64007, - 0x64c87, - 0x65407, - 0x66547, - 0x66b07, - 0x66cc7, - 0x67047, - 0x67487, - 0x67687, - 0x67947, - 0x67b07, - 0x67cc7, - 0x67f87, - 0x68247, - 0x68f07, - 0x69607, - 0x698c7, - 0x6a047, - 0x6a207, - 0x6a607, - 0x6aec7, - 0x6b147, - 0x6b547, - 0x6b707, - 0x6b8c7, - 0x70587, - 0x71387, - 0x718c7, - 0x71e47, - 0x72007, - 0x72387, - 0x728c7, - 0xdb42, - 0xbbb0a, - 0xffb87, - 0x184cfa0b, - 0x14cfa16, - 0x17e91, - 0x1082ca, - 0xa24ca, - 0x52e06, - 0xd0f8b, - 0x5e82, - 0x2f711, - 0x157789, - 0x942c9, - 0x67e42, - 0x9f54a, - 0xa4909, - 0xa504f, - 0xa5a8e, - 0xa6388, - 0x17f42, - 0x18ef09, - 0x17f08e, - 0xf80cc, - 0xdf20f, - 0x198f4e, - 0xc84c, - 0x11809, - 0x13491, - 0x222c8, - 0x24512, - 0x281cd, - 0x2e0cd, - 0x8618b, - 0xbadd5, - 0xbb9c9, - 0xe268a, - 0x120689, - 0x160310, - 0x39a0b, - 0x4480f, - 0x5648b, - 0x58a8c, - 0x70f90, - 0x7beca, - 0x7d18d, - 0x80d4e, - 0x86cca, - 0x8720c, - 0x89714, - 0x157411, - 0x1a200b, - 0x9004f, - 0x9320d, - 0x9a00e, - 0x9fd8c, - 0xa1acc, - 0xaae8b, - 0xab18e, - 0xab990, - 0x154c0b, - 0x1160cd, - 0x10e80f, - 0x17e50c, - 0xb090e, - 0xb2391, - 0xb3ecc, - 0xc00c7, - 0xc064d, - 0xc0fcc, - 0xc1dd0, - 0x102c8d, - 0x12bc87, - 0xc7750, - 0xd3748, - 0xd51cb, - 0x12aa8f, - 0x17e248, - 0x1084cd, - 0x14d550, - 0x18ba60c6, - 0xaff43, - 0xbe02, - 0x11e309, - 0x5394a, - 0x104186, - 0x18cd9009, - 0x11d43, - 0xd6191, - 0xd65c9, - 0xd7607, - 0xaf6cb, - 0xde6d0, - 0xdeb8c, - 0xdf6c5, - 0x18f248, - 0x19f94a, - 0x111947, - 0x33c2, - 0x124a4a, - 0x127549, - 0x35b4a, - 0x8a3cf, - 0x3edcb, - 0x12814c, - 0x169b92, - 0xaea45, - 0x166aca, - 0x192ece45, - 0x18020c, - 0x122843, - 0x185502, - 0xf2bca, - 0x14f3fcc, - 0x1b1a48, - 0xdfe48, - 0x16fb87, - 0x1c42, - 0x3082, - 0x3f590, - 0x27c2, - 0x1ad58f, - 0x5d306, - 0x77ece, - 0xe598b, - 0x86ec8, - 0xd1a49, - 0x17d152, - 0x1abecd, - 0x55b08, - 0x56d49, - 0x572cd, - 0x57b89, - 0x5c58b, - 0x5d848, - 0x61ac8, - 0x628c8, - 0x62b49, - 0x62d4a, - 0x6398c, - 0xe3cca, - 0xff947, - 0x2270d, - 0xf4b4b, - 0x11a5cc, - 0x18b050, - 0xc2, - 0x7a14d, - 0x2dc2, - 0x35482, - 0xff88a, - 0x1081ca, - 0x10928b, - 0x1ae28c, - 0x108c8e, - 0x100cd, - 0x1b3908, - 0x7b02, - 0x11b5ec4e, - 0x1227020e, - 0x12a83a0a, - 0x1336864e, - 0x13b143ce, - 0x1432ee0c, - 0x1594ac7, - 0x1594ac9, - 0x1410843, - 0x14b3054c, - 0x15333209, - 0x15b49dc9, - 0x50642, - 0x18fb51, - 0x70151, - 0x8394d, - 0x17acd1, - 0x114311, - 0x12ed4f, - 0x13048f, - 0x13314c, - 0x149d0c, - 0x1a688d, - 0x1bb815, - 0x5064c, - 0x11f0cc, - 0xe9c50, - 0x11d44c, - 0x12a54c, - 0x15e999, - 0x168399, - 0x16fd99, - 0x175d54, - 0x181ad4, - 0x19b7d4, - 0x19d714, - 0x1ac314, - 0x16250709, - 0x1699ba89, - 0x1731f189, - 0x11e224c9, - 0x50642, - 0x126224c9, - 0x50642, - 0x15e98a, - 0x50642, - 0x12e224c9, - 0x50642, - 0x15e98a, - 0x50642, - 0x136224c9, - 0x50642, - 0x13e224c9, - 0x50642, - 0x146224c9, - 0x50642, - 0x15e98a, - 0x50642, - 0x14e224c9, - 0x50642, - 0x15e98a, - 0x50642, - 0x156224c9, - 0x50642, - 0x15e224c9, - 0x50642, - 0x15e98a, - 0x50642, - 0x166224c9, - 0x50642, - 0x16e224c9, - 0x50642, - 0x176224c9, - 0x50642, - 0x15e98a, - 0x50642, - 0xaf545, - 0x1a5b04, - 0x2bb84, - 0x1aa404, - 0x1a75c4, - 0xc484, - 0x13fc4, - 0x58f44, - 0xff384, - 0x14ab3c3, - 0x143e603, - 0xfb244, - 0x1547c03, - 0x2bb82, - 0x100c3, - 0x205702, - 0x2099c2, - 0x2006c2, - 0x218342, - 0x20d882, - 0x200442, - 0x203082, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x24a5c3, - 0x205503, - 0x200983, - 0x16d208, - 0x2a84c3, - 0x232403, - 0x205503, - 0x200983, - 0x3fc3, - 0x2e9dc3, - 0x205702, - 0x38d2c3, - 0x1aea84c3, - 0x3b8e47, - 0x2e9dc3, - 0x206343, - 0x211cc4, - 0x205503, - 0x200983, - 0x255cca, - 0x264a85, - 0x201303, - 0x20b0c2, - 0x16d208, - 0x16d208, - 0x99c2, - 0x11fd02, - 0x6c845, - 0x129845, - 0x16d208, - 0x1b887, - 0xa84c3, - 0x1ba38e47, - 0x13ee06, - 0x1bd49c05, - 0x11de07, - 0x66ca, - 0x3748, - 0x65c7, - 0x56948, - 0x28d87, - 0x2c6cf, - 0x30b87, - 0x3b806, - 0x117090, - 0x12330f, - 0x104204, - 0x1c11dece, - 0xa8b4c, - 0x4f14a, - 0x9a2c7, - 0x112b8a, - 0x18f409, - 0xbf34a, - 0x5414a, - 0x104186, - 0x9a38a, - 0x8350a, - 0xe47c9, - 0xd5a48, - 0xd5d46, - 0xd9a8d, - 0xb3c45, - 0x1a78c7, - 0x5d6c7, - 0xd9394, - 0xf938b, - 0x68a0a, - 0xa2d0d, - 0x1cdc3, - 0x1cdc3, - 0x1cdc6, - 0x1cdc3, - 0x18d2c3, - 0x16d208, - 0x99c2, - 0x49944, - 0x887c3, - 0x173605, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x205503, - 0x200983, - 0x2030c3, - 0x2a84c3, - 0x232403, - 0x2163c3, - 0x2e9dc3, - 0x209703, - 0x205503, - 0x200983, - 0x294483, - 0x25ed03, - 0x2030c3, - 0x25ef44, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x205503, - 0x200983, - 0x2082c3, - 0x2a84c3, - 0x232403, - 0x218343, - 0x2163c3, - 0x2e9dc3, - 0x3b1384, - 0x353903, - 0x227f83, - 0x209703, - 0x205503, - 0x200983, - 0x201303, - 0x311dc3, - 0x1dea84c3, - 0x232403, - 0x246383, - 0x2e9dc3, - 0x20a203, - 0x227f83, - 0x200983, - 0x2072c3, - 0x33bac4, - 0x16d208, - 0x1e6a84c3, - 0x232403, - 0x2a6443, - 0x2e9dc3, - 0x209703, - 0x211cc4, - 0x205503, - 0x200983, - 0x21db03, - 0x16d208, - 0x1eea84c3, - 0x232403, - 0x2163c3, - 0x204e83, - 0x200983, - 0x16d208, - 0x1594ac7, - 0x38d2c3, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x3b1384, - 0x211cc4, - 0x205503, - 0x200983, - 0x129845, - 0x16fc07, - 0xd95cb, - 0xd69c4, - 0xb3c45, - 0x1456108, - 0xa6a8d, - 0x20284a05, - 0x18004, - 0x169c3, - 0x186345, - 0x349a05, - 0x16d208, - 0x1cdc2, - 0x336c3, - 0xf1446, - 0x319ec8, - 0x313bc7, - 0x25ef44, - 0x3b2c86, - 0x3bb6c6, - 0x16d208, - 0x30ce43, - 0x33e589, - 0x237295, - 0x3729f, - 0x2a84c3, - 0x31d012, - 0xefac6, - 0x10a045, - 0x26e8a, - 0x56b49, - 0x31cdcf, - 0x2d5f04, - 0x20b145, - 0x2fa150, - 0x3b0887, - 0x204e83, - 0x28b148, - 0x125bc6, - 0x2ae1ca, - 0x256044, - 0x2ec883, - 0x264a86, - 0x20b0c2, - 0x22d54b, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x209703, - 0x205503, - 0x200983, - 0x2f1743, - 0x2099c2, - 0x2cd83, - 0x205503, - 0x200983, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x209703, - 0x200983, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x206343, - 0x221f03, - 0x200983, - 0x2099c2, - 0x2a84c3, - 0x232403, - 0x205503, - 0x200983, - 0x205702, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x205503, - 0x200983, - 0x9885, - 0x25ef44, - 0x2a84c3, - 0x232403, - 0x210444, - 0x205503, - 0x200983, - 0x16d208, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x205503, - 0x200983, - 0x2a84c3, - 0x232403, - 0x2163c3, - 0x2143c3, - 0x209703, - 0x205503, - 0x200983, - 0x2099c2, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x205503, - 0x200983, - 0x16d208, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x391683, - 0x63643, - 0x6343, - 0x205503, - 0x200983, - 0x30d44a, - 0x32b0c9, - 0x346b0b, - 0x34708a, - 0x34d94a, - 0x35d74b, - 0x371e0a, - 0x37814a, - 0x37fc4a, - 0x37fecb, - 0x39f689, - 0x3a140a, - 0x3a178b, - 0x3acfcb, - 0x3b9eca, - 0x2a84c3, - 0x232403, - 0x2163c3, - 0x209703, - 0x205503, - 0x200983, - 0x4589, - 0x16d208, - 0x2a84c3, - 0x25cb44, - 0x207ac2, - 0x211cc4, - 0x26fc45, - 0x2030c3, - 0x25ef44, - 0x2a84c3, - 0x235ac4, - 0x232403, - 0x249944, - 0x2d5f04, - 0x3b1384, - 0x227f83, - 0x205503, - 0x200983, - 0x27a305, - 0x2082c3, - 0x201303, - 0x22ed03, - 0x250cc4, - 0x390fc4, - 0x34ae45, - 0x16d208, - 0x302044, - 0x3510c6, - 0x276384, - 0x2099c2, - 0x371007, - 0x24c0c7, - 0x247784, - 0x2555c5, - 0x302e85, - 0x2a9305, - 0x3b1384, - 0x3b8ac8, - 0x239486, - 0x30c188, - 0x24ed05, - 0x2da905, - 0x236b84, - 0x200983, - 0x2ed844, - 0x35c946, - 0x264b83, - 0x250cc4, - 0x256005, - 0x32d104, - 0x334944, - 0x20b0c2, - 0x2425c6, - 0x3962c6, - 0x2fdc05, - 0x205702, - 0x38d2c3, - 0x262099c2, - 0x2333c4, - 0x20d882, - 0x209703, - 0x202c82, - 0x205503, - 0x200442, - 0x214843, - 0x25ed03, - 0x16d208, - 0x16d208, - 0x2e9dc3, - 0x205702, - 0x26e099c2, - 0x2e9dc3, - 0x245b43, - 0x353903, - 0x327344, - 0x205503, - 0x200983, - 0x16d208, - 0x205702, - 0x276099c2, - 0x2a84c3, - 0x205503, - 0x200983, - 0x482, - 0x20a9c2, - 0x212982, - 0x206343, - 0x2e87c3, - 0x205702, - 0x129845, - 0x16d208, - 0x16fc07, - 0x2099c2, - 0x232403, - 0x249944, - 0x2032c3, - 0x2e9dc3, - 0x2143c3, - 0x209703, - 0x205503, - 0x216b03, - 0x200983, - 0x21da83, - 0x118fd3, - 0x11c954, - 0x16fc07, - 0x13b46, - 0x53b4b, - 0x1cdc6, - 0x51b87, - 0x11ab09, - 0xe6d4a, - 0x8850d, - 0x1b240c, - 0x1ada8a, - 0x192345, - 0x6708, - 0x5d306, - 0x125c86, - 0x22bb82, - 0xff14c, - 0x1a5cc7, - 0x22e51, - 0x2a84c3, - 0x568c5, - 0x77848, - 0x9e04, - 0x288347c6, - 0x17e86, - 0x8cb46, - 0x8da0a, - 0xac543, - 0x28e54b04, - 0x11aac5, - 0xde283, - 0xdc105, - 0xd104c, - 0xf04c8, - 0xb5708, - 0x9e009, - 0x134b08, - 0x141e046, - 0xda40a, - 0x82b48, - 0xf4648, - 0xff384, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x209703, - 0x205503, - 0x200983, - 0x205702, - 0x2099c2, - 0x2e9dc3, - 0x202bc2, - 0x205503, - 0x200983, - 0x214843, - 0x3653cf, - 0x36578e, - 0x16d208, - 0x2a84c3, - 0x42f87, - 0x232403, - 0x2e9dc3, - 0x244183, - 0x205503, - 0x200983, - 0x201bc3, - 0x201bc7, - 0x200142, - 0x32c249, - 0x200242, - 0x23f88b, - 0x297b8a, - 0x2a2a49, - 0x200882, - 0x391206, - 0x34ed15, - 0x23f9d5, - 0x246993, - 0x23ff53, - 0x202a82, - 0x205ac5, - 0x3b364c, - 0x27160b, - 0x2726c5, - 0x201702, - 0x284202, - 0x386fc6, - 0x200ec2, - 0x3695c6, - 0x2d4c4d, - 0x27ef4c, - 0x224dc4, - 0x203dc2, - 0x205942, - 0x2248c8, - 0x202a42, - 0x312fc6, - 0x2ba844, - 0x34eed5, - 0x246b13, - 0x210783, - 0x32fa0a, - 0x3bb147, - 0x3094c9, - 0x37b887, - 0x30f242, - 0x200002, - 0x3aef06, - 0x20cb42, - 0x16d208, - 0x2105c2, - 0x20b382, - 0x274e87, - 0x20f687, - 0x21b585, - 0x201c02, - 0x21da47, - 0x21dc08, - 0x242b42, - 0x2bf3c2, - 0x22e802, - 0x201ec2, - 0x237b88, - 0x201ec3, - 0x2b5308, - 0x2cf1cd, - 0x213c03, - 0x327988, - 0x239f8f, - 0x23a34e, - 0x25edca, - 0x229751, - 0x229bd0, - 0x2bcdcd, - 0x2bd10c, - 0x311c47, - 0x32fb87, - 0x3b2d49, - 0x224ec2, - 0x206c02, - 0x25340c, - 0x25370b, - 0x204142, - 0x2ab046, - 0x21a1c2, - 0x209882, - 0x21b102, - 0x2099c2, - 0x383a84, - 0x238bc7, - 0x204682, - 0x23d147, - 0x23e487, - 0x20e142, - 0x2301c2, - 0x242e45, - 0x205742, - 0x362e0e, - 0x2ebb8d, - 0x232403, - 0x2be90e, - 0x2e064d, - 0x37eac3, - 0x200e02, - 0x21fec4, - 0x2454c2, - 0x2175c2, - 0x358e45, - 0x364b47, - 0x383382, - 0x218342, - 0x249547, - 0x24d288, - 0x248902, - 0x2aeac6, - 0x25328c, - 0x2535cb, - 0x20fc82, - 0x25924f, - 0x259610, - 0x259a0f, - 0x259dd5, - 0x25a314, - 0x25a80e, - 0x25ab8e, - 0x25af0f, - 0x25b2ce, - 0x25b654, - 0x25bb53, - 0x25c00d, - 0x272a89, - 0x2895c3, - 0x200782, - 0x22b0c5, - 0x207f86, - 0x20d882, - 0x21f507, - 0x2e9dc3, - 0x205e82, - 0x362a08, - 0x229991, - 0x229dd0, - 0x206482, - 0x288d87, - 0x203942, - 0x214607, - 0x20be02, - 0x319cc9, - 0x386f87, - 0x27aac8, - 0x234606, - 0x2e86c3, - 0x32a105, - 0x232682, - 0x202082, - 0x3af305, - 0x380685, - 0x2040c2, - 0x24c543, - 0x32d187, - 0x223787, - 0x200502, - 0x254684, - 0x223b83, - 0x223b89, - 0x22c548, - 0x200282, - 0x204bc2, - 0x3105c7, - 0x31ff05, - 0x2a5348, - 0x219947, - 0x200e83, - 0x28c446, - 0x2bcc4d, - 0x2bcfcc, - 0x2b45c6, - 0x208d02, - 0x2a8542, - 0x202342, - 0x239e0f, - 0x23a20e, - 0x302f07, - 0x203d02, - 0x2bf745, - 0x2bf746, - 0x20f242, - 0x20ec42, - 0x221f06, - 0x214543, - 0x214546, - 0x2c6985, - 0x2c698d, - 0x2c6f55, - 0x2c814c, - 0x2c95cd, - 0x2c9992, - 0x20e602, - 0x2675c2, - 0x202d02, - 0x240806, - 0x2f7f86, - 0x2033c2, - 0x208006, - 0x2023c2, - 0x38b785, - 0x200542, - 0x2ebc89, - 0x31554c, - 0x31588b, - 0x200442, - 0x24e748, - 0x203b02, - 0x2056c2, - 0x26a346, - 0x222445, - 0x226747, - 0x257d85, - 0x29e405, - 0x243002, - 0x2067c2, - 0x2013c2, - 0x2df507, - 0x380c0d, - 0x380f8c, - 0x22f087, - 0x20f982, - 0x2069c2, - 0x241248, - 0x31e488, - 0x2e3988, - 0x308484, - 0x2ab407, - 0x2e90c3, - 0x228ec2, - 0x2082c2, - 0x2eb3c9, - 0x3a40c7, - 0x201302, - 0x26a745, - 0x22d4c2, - 0x21aa02, - 0x2f9f03, - 0x2f9f06, - 0x2f1742, - 0x2f23c2, - 0x201a42, - 0x202f86, - 0x21fe07, - 0x213bc2, - 0x205ec2, - 0x2b514f, - 0x2be74d, - 0x3872ce, - 0x2e04cc, - 0x2009c2, - 0x207302, - 0x234445, - 0x30ba46, - 0x2018c2, - 0x202482, - 0x200482, - 0x2198c4, - 0x2cf044, - 0x2d0e86, - 0x203082, - 0x36cac7, - 0x203083, - 0x285d48, - 0x34e488, - 0x239887, - 0x240706, - 0x203902, - 0x234b03, - 0x234b07, - 0x273946, - 0x2dee45, - 0x308808, - 0x200d02, - 0x331207, - 0x222702, - 0x361782, - 0x20cfc2, - 0x2c6749, - 0x230982, - 0x200842, - 0x22f303, - 0x331c87, - 0x2002c2, - 0x3156cc, - 0x3159cb, - 0x2b4646, - 0x2de1c5, - 0x221c82, - 0x203b42, - 0x2b7bc6, - 0x260dc3, - 0x38c187, - 0x236102, - 0x201442, - 0x34eb95, - 0x23fb95, - 0x246853, - 0x2400d3, - 0x2585c7, - 0x271a48, - 0x271a50, - 0x28d2cf, - 0x297953, - 0x2a2812, - 0x32be10, - 0x2d544f, - 0x35f7d2, - 0x30c3d1, - 0x2b7613, - 0x2c6512, - 0x2cff4f, - 0x2d2e8e, - 0x2d3f52, - 0x2d71d1, - 0x2d7c8f, - 0x30440e, - 0x2f0691, - 0x2f17d0, - 0x2f2752, - 0x2fc711, - 0x364586, - 0x36d3c7, - 0x372187, - 0x203142, - 0x27d8c5, - 0x3933c7, - 0x212982, - 0x209942, - 0x228a85, - 0x21e743, - 0x34b0c6, - 0x380dcd, - 0x38110c, - 0x201682, - 0x3b34cb, - 0x2714ca, - 0x20598a, - 0x2b6449, - 0x2ea64b, - 0x219a8d, - 0x2fa5cc, - 0x25180a, - 0x22090c, - 0x26908b, - 0x27250c, - 0x29474b, - 0x3154c3, - 0x36cfc6, - 0x3a98c2, - 0x2f4542, - 0x20a743, - 0x208602, - 0x21fe83, - 0x2366c6, - 0x259f87, - 0x2c7fc6, - 0x39e4c8, - 0x31e188, - 0x2ce146, - 0x201f82, - 0x2fd5cd, - 0x2fd90c, - 0x2d5fc7, - 0x301f07, - 0x213b82, - 0x201502, - 0x234a82, - 0x24d642, - 0x2099c2, - 0x205503, - 0x200983, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x209703, - 0x211cc4, - 0x205503, - 0x200983, - 0x214843, - 0x205702, - 0x2021c2, - 0x2ae8fdc5, - 0x2b247e45, - 0x2b717806, - 0x16d208, - 0x2baaee05, - 0x2099c2, - 0x2006c2, - 0x2bfb3ac5, - 0x2c27bdc5, - 0x2c67c9c7, - 0x2ca86a09, - 0x2ce3bc44, - 0x20d882, - 0x205e82, - 0x2d24b5c5, - 0x2d68f849, - 0x2db1db88, - 0x2deab805, - 0x2e300187, - 0x2e61ed48, - 0x2eae5d85, - 0x2ee00106, - 0x2f337809, - 0x2f6b5a48, - 0x2fac0488, - 0x2fe9704a, - 0x302732c4, - 0x306d13c5, - 0x30abc9c8, - 0x30e03a85, - 0x20cec2, - 0x31248a43, - 0x316a1686, - 0x31b60148, - 0x31eb94c6, - 0x32281f08, - 0x32719606, - 0x32adef04, - 0x200c82, - 0x32f2cb87, - 0x332a75c4, - 0x336756c7, - 0x33ba2987, - 0x200442, - 0x33e9b0c5, - 0x34334f84, - 0x346cd907, - 0x34a5f187, - 0x34e80886, - 0x3527c585, - 0x356959c7, - 0x35ad0b48, - 0x35e2b447, - 0x363164c9, - 0x36793105, - 0x36b31dc7, - 0x36e8f546, - 0x37391408, - 0x2273cd, - 0x279909, - 0x28174b, - 0x2a4b0b, - 0x34058b, - 0x2ffe8b, - 0x30bc4b, - 0x30bf0b, - 0x30c809, - 0x30d6cb, - 0x30d98b, - 0x30e48b, - 0x30f5ca, - 0x30fb0a, - 0x31010c, - 0x314d8b, - 0x31670a, - 0x32904a, - 0x33404e, - 0x33568e, - 0x335a0a, - 0x33808a, - 0x338dcb, - 0x33908b, - 0x339e8b, - 0x354ecb, - 0x3554ca, - 0x35618b, - 0x35644a, - 0x3566ca, - 0x35694a, - 0x372b0b, - 0x37914b, - 0x37c74e, - 0x37cacb, - 0x38454b, - 0x385acb, - 0x38900a, - 0x389289, - 0x3894ca, - 0x38a94a, - 0x3a00cb, - 0x3a1a4b, - 0x3a22ca, - 0x3a48cb, - 0x3a8c4b, - 0x3b990b, - 0x3767e648, - 0x37a87c89, - 0x37e9de89, - 0x382dacc8, - 0x342505, - 0x217083, - 0x21c6c4, - 0x220005, - 0x23b986, - 0x25da05, - 0x2864c4, - 0x21f408, - 0x308005, - 0x291784, - 0x203447, - 0x29cf8a, - 0x3712ca, - 0x338547, - 0x3af9c7, - 0x2f8f07, - 0x264e87, - 0x2f60c5, - 0x33bb86, - 0x2bb847, - 0x2b4904, - 0x2e4646, - 0x2e4546, - 0x3b9585, - 0x26d1c4, - 0x3519c6, - 0x29bf47, - 0x285746, - 0x2e3247, - 0x25e443, - 0x2b1c06, - 0x2328c5, - 0x27cac7, - 0x2641ca, - 0x260e44, - 0x217c08, - 0x2abd89, - 0x2cd247, - 0x336286, - 0x24e9c8, - 0x2b9c09, - 0x309684, - 0x366944, - 0x244245, - 0x2bb548, - 0x2c4b07, - 0x2a9709, - 0x364688, - 0x345e86, - 0x3204c6, - 0x298048, - 0x359646, - 0x247e45, - 0x280946, - 0x275ec8, - 0x24da46, - 0x2525cb, - 0x298646, - 0x29994d, - 0x3a6005, - 0x2a7486, - 0x208b45, - 0x2f9bc9, - 0x2f9a87, - 0x37a208, - 0x266986, - 0x298bc9, - 0x3793c6, - 0x264145, - 0x268686, - 0x2cae46, - 0x2cb3c9, - 0x3530c6, - 0x339487, - 0x26ad85, - 0x202ac3, - 0x252745, - 0x299c07, - 0x33c6c6, - 0x3a5f09, - 0x317806, - 0x280b86, - 0x210c49, - 0x280349, - 0x29fc07, - 0x282f88, - 0x28c989, - 0x27d548, - 0x378386, - 0x2d5805, - 0x2418ca, - 0x280c06, - 0x3b7986, - 0x2c8985, - 0x265808, - 0x223307, - 0x22f50a, - 0x249e46, - 0x279d45, - 0x37aa46, - 0x21ac47, - 0x336147, - 0x21bbc5, - 0x264305, - 0x357dc6, - 0x2ac5c6, - 0x34dc06, - 0x2b3204, - 0x27f689, - 0x288b46, - 0x2dd38a, - 0x21b388, - 0x3078c8, - 0x3712ca, - 0x20b445, - 0x29be85, - 0x350b88, - 0x2b2c88, - 0x27b5c7, - 0x258946, - 0x322388, - 0x2fdec7, - 0x27dc48, - 0x2b3846, - 0x281408, - 0x294f06, - 0x24ee87, - 0x299ec6, - 0x3519c6, - 0x3778ca, - 0x2bd8c6, - 0x2d5809, - 0x26dbc6, - 0x2af14a, - 0x2def09, - 0x2fb486, - 0x2b4b04, - 0x22b18d, - 0x287f07, - 0x326cc6, - 0x2c0345, - 0x379445, - 0x374246, - 0x2cd749, - 0x2b1647, - 0x277306, - 0x2cc246, - 0x286549, - 0x247d84, - 0x3482c4, - 0x352cc8, - 0x236a86, - 0x26a808, - 0x2e41c8, - 0x312747, - 0x3b7549, - 0x34de07, - 0x2aecca, - 0x2e1f8f, - 0x23188a, - 0x234245, - 0x276105, - 0x216e85, - 0x2ba787, - 0x21a803, - 0x283188, - 0x396786, - 0x396889, - 0x2b87c6, - 0x3b5207, - 0x298989, - 0x37a108, - 0x2c8a47, - 0x30a343, - 0x342585, - 0x21a785, - 0x2b304b, - 0x203b44, - 0x2c2084, - 0x274646, - 0x30abc7, - 0x382bca, - 0x248ac7, - 0x311e87, - 0x27bdc5, - 0x200645, - 0x2eef89, - 0x3519c6, - 0x24894d, - 0x353305, - 0x2b1383, - 0x205043, - 0x26f685, - 0x345c45, - 0x24e9c8, - 0x2790c7, - 0x348046, - 0x29db06, - 0x229105, - 0x2326c7, - 0x312247, - 0x239347, - 0x2d144a, - 0x2b1cc8, - 0x2b3204, - 0x24d7c7, - 0x27acc7, - 0x339306, - 0x262107, - 0x2dc4c8, - 0x2e6f08, - 0x268506, - 0x303008, - 0x2c87c4, - 0x2bb846, - 0x2353c6, - 0x33bfc6, - 0x2ba986, - 0x286004, - 0x264f46, - 0x2bf5c6, - 0x297546, - 0x247846, - 0x204f06, - 0x26e2c6, - 0x347f48, - 0x2b0748, - 0x2d1c88, - 0x25dc08, - 0x350b06, - 0x20dcc5, - 0x315ec6, - 0x2ab885, - 0x388447, - 0x215305, - 0x2125c3, - 0x211585, - 0x344cc4, - 0x205045, - 0x203b03, - 0x33a447, - 0x354648, - 0x2e3306, - 0x2c218d, - 0x2760c6, - 0x296ac5, - 0x2b7843, - 0x2bc389, - 0x247f06, - 0x28e7c6, - 0x29f4c4, - 0x231807, - 0x233606, - 0x2b1905, - 0x203cc3, - 0x3abd84, - 0x27ae86, - 0x2354c4, - 0x2da048, - 0x38ba89, - 0x215589, - 0x29f2ca, - 0x2a070d, - 0x313447, - 0x2b9186, - 0x206804, - 0x286a09, - 0x284688, - 0x287b06, - 0x33f286, - 0x262107, - 0x2b6b46, - 0x226346, - 0x26d606, - 0x3a2a0a, - 0x21ed48, - 0x2bacc5, - 0x262549, - 0x27e14a, - 0x2f5d08, - 0x29b908, - 0x295f08, - 0x2a7acc, - 0x30e705, - 0x29dd88, - 0x2e6586, - 0x37a386, - 0x3b50c7, - 0x2489c5, - 0x280ac5, - 0x215449, - 0x20e247, - 0x396845, - 0x227887, - 0x205043, - 0x2c5045, - 0x20ef48, - 0x252ac7, - 0x29b7c9, - 0x2d7985, - 0x2fa984, - 0x2a03c8, - 0x32ccc7, - 0x2c8c08, - 0x38d688, - 0x354b05, - 0x3a3946, - 0x278cc6, - 0x244609, - 0x2b01c7, - 0x2ac006, - 0x313787, - 0x210103, - 0x23bc44, - 0x2a1785, - 0x232804, - 0x3833c4, - 0x27fdc7, - 0x26c147, - 0x22e704, - 0x29b610, - 0x3b3c47, - 0x200645, - 0x24c20c, - 0x20a8c4, - 0x2c1488, - 0x24ed89, - 0x35acc6, - 0x334c48, - 0x215244, - 0x36c4c8, - 0x22fb06, - 0x2accc8, - 0x29c506, - 0x2bec0b, - 0x202ac5, - 0x2c8748, - 0x215ac4, - 0x38beca, - 0x29b7c9, - 0x245f06, - 0x216f48, - 0x256385, - 0x2b0f44, - 0x2c1386, - 0x239208, - 0x27e648, - 0x322c06, - 0x3a9ec4, - 0x241846, - 0x34de87, - 0x2755c7, - 0x26210f, - 0x207347, - 0x2fb547, - 0x3709c5, - 0x353e05, - 0x29f8c9, - 0x2dd046, - 0x27cc05, - 0x280647, - 0x2e0bc8, - 0x297645, - 0x299ec6, - 0x21b1c8, - 0x2b94ca, - 0x2db4c8, - 0x28ac87, - 0x2e23c6, - 0x262506, + 0x2ed0c5, + 0x203c43, + 0x226544, + 0x332083, + 0x322103, + 0x222903, + 0x383283, + 0xaa38543, + 0x240244, + 0x24ac83, + 0x207583, + 0x2228c3, + 0x23aa83, + 0x23cac3, + 0x23c803, + 0x202103, + 0x2aab03, + 0x322083, + 0x2bdec3, + 0x20df43, + 0x255684, + 0x257307, + 0x2f6802, + 0x25c003, + 0x263783, + 0x27e983, + 0x20fe03, + 0x20dec3, + 0xaf23043, + 0x209ac3, + 0x204c03, + 0x231603, + 0x34bc85, + 0x209c83, + 0x304d43, + 0xb207a83, + 0x374803, + 0x213643, + 0x229443, + 0x28cac3, + 0x22c2c2, + 0x20c0c3, + 0x208e83, + 0x1600e03, + 0x22b1c3, + 0x2014c3, + 0x21a743, + 0x201a03, + 0x36ea03, + 0x223583, + 0x221483, + 0x233503, + 0x30bcc3, + 0x2fad83, + 0x317345, + 0x20c843, + 0x2df706, + 0x2fadc3, + 0x349703, + 0x2205c4, + 0x20c9c3, + 0x386603, + 0x2f1a03, + 0x20bdc3, + 0x21a902, + 0x22fac3, + 0x30e403, + 0x30fac4, + 0x383884, 0x21a5c3, - 0x216a43, - 0x27e309, - 0x28c809, - 0x2c1286, - 0x2d7985, - 0x33bd48, - 0x216f48, - 0x3597c8, - 0x26d68b, - 0x2c23c7, - 0x30a589, - 0x262388, - 0x343084, - 0x3514c8, - 0x28cd89, - 0x2ac305, - 0x2ba687, - 0x23bcc5, - 0x27e548, - 0x28fc4b, - 0x295710, - 0x2a6dc5, - 0x215a0c, - 0x348205, - 0x27be43, - 0x2a8f86, - 0x2be6c4, - 0x335086, - 0x29bf47, - 0x21b244, - 0x240b88, - 0x28304d, - 0x302945, - 0x29b104, - 0x2243c4, - 0x276949, - 0x2a11c8, - 0x317687, - 0x22fb88, - 0x27f748, - 0x277605, - 0x209287, - 0x277587, - 0x33e347, - 0x264309, - 0x233489, - 0x214c46, - 0x2bd306, - 0x262346, - 0x37f785, - 0x3a7184, + 0x16fb88, + 0x207102, + 0x200242, + 0x202d42, + 0x20cac2, + 0x201d02, + 0x201442, + 0x23de42, + 0x201842, + 0x207b02, + 0x201fc2, + 0x2281c2, + 0x214642, + 0x2745c2, + 0x20cb42, + 0x2e6dc2, + 0x21cc82, + 0x225b82, + 0x204102, + 0x2204c2, + 0x205842, + 0x200482, + 0x221dc2, + 0x2044c2, + 0x20d2c2, + 0x200a02, + 0x21f542, + 0x204782, + 0x7102, + 0x242, + 0x2d42, + 0xcac2, + 0x1d02, + 0x1442, + 0x3de42, + 0x1842, + 0x7b02, + 0x1fc2, + 0x281c2, + 0x14642, + 0x745c2, + 0xcb42, + 0xe6dc2, + 0x1cc82, + 0x25b82, + 0x4102, + 0x204c2, + 0x5842, + 0x482, + 0x21dc2, + 0x44c2, + 0xd2c2, + 0xa02, + 0x1f542, + 0x4782, + 0x238543, + 0x23cac3, + 0x323043, + 0x208e83, + 0x201a03, + 0x2442, + 0x238543, + 0x23cac3, + 0x323043, + 0x208e83, + 0x201a03, + 0x20f882, + 0x201a03, + 0xc638543, + 0x323043, + 0x28cac3, + 0x1a3443, + 0x219302, + 0x16fb88, + 0x238543, + 0x23cac3, + 0x323043, + 0x208e83, + 0x1a3443, + 0x201a03, + 0x4542, + 0x201c02, + 0x1442b45, + 0x232282, + 0x16fb88, + 0xf882, + 0x209d82, + 0x209b02, + 0x20ddc2, + 0x2190c2, + 0x206802, + 0x11205, + 0x201282, + 0x2014c2, + 0x202c82, + 0x200dc2, + 0x21cc82, + 0x3951c2, + 0x206742, + 0x260a42, + 0x36dc7, + 0x1501cd, + 0xe1dc9, + 0x5900b, + 0xe5848, + 0x56809, + 0x106046, + 0x323043, + 0x16fb88, + 0x145944, + 0xf183, + 0x145c05, + 0x16fb88, + 0x5d3c6, + 0x145c49, + 0x126447, + 0x207102, + 0x286644, + 0x20f882, + 0x238543, + 0x201742, + 0x23cac3, + 0x207b02, + 0x2de944, + 0x255783, + 0x253442, + 0x208e83, + 0x200442, + 0x201a03, + 0x3a03c6, + 0x323d8f, + 0x7156c3, + 0x16fb88, + 0x20f882, + 0x21b583, + 0x323043, + 0x28cac3, + 0xe03, + 0x152e1cb, + 0xe2648, + 0x14b7aca, + 0x14f5907, + 0x8dbcb, + 0x149785, + 0x36dc7, + 0x20f882, + 0x238543, + 0x323043, + 0x208e83, + 0x207102, + 0x200b42, + 0x2092c2, + 0xfe38543, + 0x248582, + 0x23cac3, + 0x209c42, + 0x20d382, + 0x323043, + 0x210642, + 0x259c42, + 0x2aeb02, + 0x2006c2, + 0x295e02, + 0x203102, + 0x200782, + 0x2351c2, + 0x2335c2, + 0x252e42, + 0x2b5102, + 0x2d2942, + 0x327982, + 0x2111c2, + 0x28cac3, + 0x200802, + 0x208e83, + 0x24d382, + 0x289e82, + 0x201a03, + 0x2485c2, + 0x20d2c2, + 0x221382, + 0x200742, + 0x204d02, + 0x2e6282, + 0x22be42, + 0x231802, + 0x2312c2, + 0x3195ca, + 0x35c50a, + 0x39090a, + 0x3c1382, + 0x208a82, + 0x212a42, + 0x10223fc9, + 0x1072c38a, + 0x1438547, + 0x10a02482, + 0x1416dc3, + 0x12c2, + 0x12c38a, + 0x252044, + 0x11238543, + 0x23cac3, + 0x253384, + 0x323043, + 0x231604, + 0x255783, + 0x28cac3, + 0x208e83, + 0xe3bc5, + 0x200e03, + 0x201a03, + 0x20c843, + 0x202443, + 0x16fb88, + 0x140ff44, + 0x1441c5, + 0x12620a, + 0x11ec42, + 0x1affc6, + 0x35ad1, + 0x11a23fc9, + 0x144248, + 0x10b388, + 0x8cf47, + 0xbc2, + 0x13164b, + 0x1b320a, + 0x71ca, + 0x26547, + 0x16fb88, + 0x114008, + 0x14507, + 0x17c2198b, + 0x23087, + 0xc702, + 0x5b907, + 0x1920a, + 0x8cc4f, + 0x4f70f, + 0x22902, + 0xf882, + 0xaaa48, + 0xe228a, + 0x6a08, + 0x64b88, + 0xdfbc8, + 0x4c82, + 0x42bcf, + 0xa670b, + 0xf8d08, + 0x3e607, + 0x185b8a, + 0x3af8b, + 0x57f89, + 0x185a87, + 0x6908, + 0x1089cc, + 0x81a87, + 0x1a800a, + 0xdd088, + 0x1aafce, + 0x2438e, + 0x2638b, + 0x27bcb, + 0x2920b, + 0x2c049, + 0x2ff8b, + 0x31ccd, + 0x329cb, + 0x62b4d, + 0x62ecd, + 0xfa44a, + 0x1836cb, + 0x3b64b, + 0x47085, + 0x1802cc10, + 0x12d40f, + 0x12db4f, + 0x37a4d, + 0xbf490, + 0xc182, + 0x18623a08, + 0x8ca48, + 0x18af52c5, + 0x52a0b, + 0x11f3d0, + 0x5ad08, + 0x6b0a, + 0x27d89, + 0x6b307, + 0x6b647, + 0x6b807, + 0x6bb87, + 0x6ca87, + 0x6d487, + 0x6ddc7, + 0x6e187, + 0x6f187, + 0x6f487, + 0x70147, + 0x70307, + 0x704c7, + 0x70687, + 0x70987, + 0x70e47, + 0x71707, + 0x72007, + 0x72c87, + 0x731c7, + 0x73387, + 0x73707, + 0x74487, + 0x74687, + 0x750c7, + 0x75287, + 0x75447, + 0x75dc7, + 0x76087, + 0x77a47, + 0x78187, + 0x78447, + 0x78bc7, + 0x78d87, + 0x79187, + 0x79687, + 0x79907, + 0x79d07, + 0x79ec7, + 0x7a087, + 0x7ae07, + 0x7c447, + 0x7c987, + 0x7cc87, + 0x7ce47, + 0x7d1c7, + 0x7d787, + 0x13c42, + 0x64c8a, + 0xe90c7, + 0x287c5, + 0x806d1, + 0x157c6, + 0x11318a, + 0xaa8ca, + 0x5d3c6, + 0xb880b, + 0x17202, + 0x3a1d1, + 0x1bbc89, + 0x9c0c9, + 0x351c2, + 0xa808a, + 0xac7c9, + 0xacf0f, + 0xada4e, + 0xae208, + 0x206c2, + 0xb649, + 0x1025ce, + 0xe8b4c, + 0xf328f, + 0x1a5b4e, + 0x1684c, + 0x18009, + 0x1c291, + 0x1f108, + 0x2ac92, + 0x2bb4d, + 0x33c4d, + 0x15208b, + 0x41cd5, + 0x164ec9, + 0xfcf8a, + 0x40809, + 0x4d650, + 0x4e70b, + 0x5898f, + 0x6390b, + 0x7298c, + 0x77650, + 0x8430a, + 0x853cd, + 0x894ce, + 0x8ef4a, + 0xede0c, + 0x176a54, + 0x1bb911, + 0x95a8b, + 0x97fcf, + 0xa290d, + 0xa76ce, + 0xb2bcc, + 0xb330c, + 0x160b0b, + 0x160e0e, + 0xd6750, + 0x11868b, + 0x1876cd, + 0x1bce4f, + 0xba0cc, + 0xbb0ce, + 0xbc011, + 0xc7c4c, + 0xc9307, + 0xc9c0d, + 0x130d4c, + 0x1605d0, + 0x174c0d, + 0xd1b47, + 0xd7c10, + 0xdd6c8, + 0xf178b, + 0x134c4f, + 0x3ef48, + 0x11338d, + 0x15c750, + 0x172e49, + 0x18e086c6, + 0xb8243, + 0xbc445, + 0x9a02, + 0x143889, + 0x5e04a, + 0x10fb06, + 0x2594a, + 0x1900c949, + 0x1c003, + 0xdebd1, + 0xdf009, + 0xe0407, + 0x35c4b, + 0xe67d0, + 0xe6c8c, + 0xe8e48, + 0xe9805, + 0xb988, + 0x1ad4ca, + 0x1c0c7, + 0x16bac7, + 0x982, + 0x12bcca, + 0x12e7c9, + 0x79545, + 0x402ca, + 0x9260f, + 0x4b8cb, + 0x14bd4c, + 0x17a492, + 0x94e45, + 0xec1c8, + 0x17618a, + 0x196f3d05, + 0x190ecc, + 0x129ac3, + 0x1951c2, + 0xfb30a, + 0x14fb70c, + 0x14f508, + 0x62d08, + 0x36d47, + 0xb282, + 0x4242, + 0x47590, + 0xa02, + 0x3904f, + 0x86286, + 0x7c0e, + 0xebbcb, + 0x8f148, + 0xda049, + 0x18f052, + 0x95cd, + 0x586c8, + 0x58ec9, + 0x5d50d, + 0x5e4c9, + 0x5e88b, + 0x60648, + 0x65808, + 0x65b88, + 0x65e49, + 0x6604a, + 0x6a98c, + 0xeb04a, + 0x10bd07, + 0x1f54d, + 0xfde8b, + 0x12004c, + 0x404c8, + 0x4f049, + 0x1b01d0, + 0xc2, + 0x2d3cd, + 0x2642, + 0x2cc2, + 0x10bc4a, + 0x11308a, + 0x11438b, + 0x3b80c, + 0x113b0a, + 0x113d8e, + 0xf2cd, + 0x11d708, + 0x4542, + 0x11f46c0e, + 0x1260ee4e, + 0x12f43f8a, + 0x1373a14e, + 0x13f9d38e, + 0x1460138c, + 0x1438547, + 0x1438549, + 0x1416dc3, + 0x14e3700c, + 0x15707789, + 0x15f3b509, + 0x12c2, + 0x146b51, + 0xed91, + 0x143ecd, + 0x13a091, + 0x19d2d1, + 0x12cf, + 0x36f4f, + 0x1076cc, + 0x13b44c, + 0x18954d, + 0x1b5295, + 0x10ed8c, + 0xea88c, + 0x122ed0, + 0x158fcc, + 0x16d9cc, + 0x191819, + 0x1a83d9, + 0x1aa459, + 0x1b3e94, + 0x1b8ad4, + 0x1c0d14, + 0x2394, + 0x3754, + 0x1670ee49, + 0x16dc0fc9, + 0x176ea949, + 0x1221f309, + 0x12c2, + 0x12a1f309, + 0x12c2, + 0x238a, + 0x12c2, + 0x1321f309, + 0x12c2, + 0x238a, + 0x12c2, + 0x13a1f309, + 0x12c2, + 0x1421f309, + 0x12c2, + 0x14a1f309, + 0x12c2, + 0x238a, + 0x12c2, + 0x1521f309, + 0x12c2, + 0x238a, + 0x12c2, + 0x15a1f309, + 0x12c2, + 0x1621f309, + 0x12c2, + 0x238a, + 0x12c2, + 0x16a1f309, + 0x12c2, + 0x1721f309, + 0x12c2, + 0x17a1f309, + 0x12c2, + 0x238a, + 0x12c2, + 0x35ac5, + 0x1b3204, + 0x146c0e, + 0xee4e, + 0x143f8a, + 0x13a14e, + 0x19d38e, + 0x138c, + 0x3700c, + 0x107789, + 0x13b509, + 0x10ee49, + 0x1c0fc9, + 0xea949, + 0x122f8d, + 0x2649, + 0x3a09, + 0x5bf04, + 0x11d8c4, + 0x126144, + 0x15f784, + 0x8de84, + 0x4b744, + 0x6e44, + 0x67344, + 0x8cf44, + 0x157e2c3, + 0xc182, + 0xf2c3, + 0x4c82, + 0x207102, + 0x20f882, + 0x201742, + 0x207602, + 0x207b02, + 0x200442, + 0x204242, + 0x238543, + 0x23cac3, + 0x323043, + 0x231603, + 0x208e83, + 0x201a03, + 0x16fb88, + 0x238543, + 0x23cac3, + 0x208e83, + 0x201a03, + 0x160c3, + 0x323043, + 0x31604, + 0x207102, + 0x39c783, + 0x1b638543, + 0x2bf347, + 0x323043, + 0x211a83, + 0x21bf84, + 0x208e83, + 0x201a03, + 0x243d0a, + 0x3a03c5, + 0x221483, + 0x205082, + 0x16fb88, + 0x16fb88, + 0xf882, + 0x127482, + 0x1bf51b0b, + 0x5ba45, + 0x35dc5, + 0x114b46, + 0x145944, + 0xf183, + 0x145c05, + 0x131645, + 0x16fb88, + 0x23087, + 0x38543, + 0x1c644d87, + 0x1432c6, + 0x1c93b345, + 0x143387, + 0x1b4d0a, + 0x1b4bc8, + 0x11887, + 0x6df88, + 0x99707, + 0x152cf, + 0x435c7, + 0x150d86, + 0x11f3d0, + 0x12a58f, + 0x20a89, + 0x10fb84, + 0x1cd4344e, + 0xb098c, + 0x5810a, + 0xa7987, + 0x3520a, + 0xbb49, + 0xb514c, + 0x4304a, + 0x5ec8a, + 0x145c49, + 0x10fb06, + 0xa7a4a, + 0xe8a, + 0xa4e49, + 0xde488, + 0xde786, + 0xe284d, + 0xbc8c5, + 0x126447, + 0x1019c9, + 0xf72c7, + 0xb5ed4, + 0x103acb, + 0xf8b4a, + 0xab10d, + 0xd3c3, + 0xd3c3, + 0x24386, + 0xd3c3, + 0x19c783, + 0x16fb88, + 0xf882, + 0x53384, + 0x5f843, + 0x155685, + 0x238543, + 0x23cac3, + 0x323043, + 0x208e83, + 0x201a03, + 0x203ec3, + 0x238543, + 0x23cac3, + 0x21b583, + 0x323043, + 0x28cac3, + 0x208e83, + 0x201a03, + 0x29c283, + 0x202443, + 0x203ec3, + 0x286644, + 0x238543, + 0x23cac3, + 0x323043, + 0x208e83, + 0x201a03, + 0x206683, + 0x238543, + 0x23cac3, + 0x207603, + 0x21b583, + 0x323043, + 0x231604, + 0x3797c3, + 0x229443, + 0x28cac3, + 0x208e83, + 0x201a03, + 0x221483, + 0x36a883, + 0x1ea38543, + 0x23cac3, + 0x250ac3, + 0x323043, + 0x212143, + 0x229443, + 0x201a03, + 0x204103, + 0x35f584, + 0x16fb88, + 0x1f238543, + 0x23cac3, + 0x2ae2c3, + 0x323043, + 0x28cac3, + 0x21bf84, + 0x208e83, + 0x201a03, + 0x20e943, + 0x16fb88, + 0x1fa38543, + 0x23cac3, + 0x21b583, + 0x200e03, + 0x201a03, + 0x16fb88, + 0x1438547, + 0x39c783, + 0x238543, + 0x23cac3, + 0x323043, + 0x231604, + 0x21bf84, + 0x208e83, + 0x201a03, + 0x131645, + 0x36dc7, + 0xb610b, + 0xdf404, + 0xbc8c5, + 0x1480cc8, + 0xae90d, + 0x20e6c505, + 0x7bd44, + 0x10c3, + 0x172d45, + 0x33b145, + 0x16fb88, + 0xd3c2, + 0x2bc3, + 0xf9306, + 0x31f948, + 0x3347c7, + 0x286644, + 0x39c286, + 0x3b5146, + 0x16fb88, + 0x2ddac3, + 0x342a49, + 0x26d615, + 0x6d61f, + 0x238543, + 0x3b3a52, + 0xf6306, + 0x114dc5, + 0x6b0a, + 0x27d89, + 0x3b380f, + 0x2de944, + 0x3490c5, + 0x304b10, + 0x34e347, + 0x200e03, + 0x293408, + 0x12ce46, + 0x29630a, + 0x230f04, + 0x2f3743, + 0x3a03c6, + 0x205082, + 0x22facb, + 0xe03, + 0x238543, + 0x23cac3, + 0x323043, + 0x28cac3, + 0x208e83, + 0x201a03, + 0x2f9a03, + 0x20f882, + 0x6ed43, + 0x208e83, + 0x201a03, + 0x238543, + 0x23cac3, + 0x323043, + 0x28cac3, + 0x201a03, + 0x238543, + 0x23cac3, + 0x323043, + 0x211a83, + 0x228243, + 0x201a03, + 0x20f882, + 0x238543, + 0x23cac3, + 0x208e83, + 0xe03, + 0x201a03, + 0x207102, + 0x238543, + 0x23cac3, + 0x323043, + 0x208e83, + 0x201a03, + 0x35dc5, + 0x286644, + 0x238543, + 0x23cac3, + 0x20f644, + 0x208e83, + 0x201a03, + 0x16fb88, + 0x238543, + 0x23cac3, + 0x323043, + 0x208e83, + 0x1a3443, + 0x201a03, + 0x238543, + 0x23cac3, + 0x21b583, + 0x204c03, + 0x28cac3, + 0x208e83, + 0xe03, + 0x201a03, + 0x20f882, + 0x238543, + 0x23cac3, + 0x323043, + 0x208e83, + 0x201a03, + 0x16fb88, + 0x238543, + 0x23cac3, + 0x323043, + 0x210543, + 0x707c3, + 0x11a83, + 0x208e83, + 0x201a03, + 0x3195ca, + 0x335289, + 0x35438b, + 0x35490a, + 0x35c50a, + 0x369bcb, + 0x38274a, + 0x38b38a, + 0x39090a, + 0x390b8b, + 0x3ad209, + 0x3af10a, + 0x3af7cb, + 0x3b978b, + 0x3bfb4a, + 0x238543, + 0x23cac3, + 0x21b583, + 0x28cac3, + 0x208e83, + 0xe03, + 0x201a03, + 0x35dcb, + 0x651c8, + 0x1174c9, + 0x16fb88, + 0x238543, + 0x26b304, + 0x20b342, + 0x21bf84, + 0x346145, + 0x203ec3, + 0x286644, + 0x238543, + 0x240244, + 0x23cac3, + 0x253384, + 0x2de944, + 0x231604, + 0x229443, + 0x208e83, + 0x201a03, + 0x22d585, + 0x206683, + 0x221483, + 0x20ec43, + 0x231944, + 0x20fe84, + 0x2cc105, + 0x16fb88, + 0x30dc84, + 0x36bdc6, + 0x281384, + 0x20f882, + 0x381107, + 0x254d87, + 0x251844, + 0x260105, + 0x374e05, + 0x2b13c5, + 0x231604, + 0x2cf6c8, + 0x23eb46, + 0x3bffc8, + 0x257cc5, + 0x2e4505, + 0x263544, + 0x201a03, + 0x2f4544, + 0x368dc6, + 0x3a04c3, + 0x231944, + 0x280bc5, + 0x2e4ac4, + 0x34da44, + 0x205082, + 0x2669c6, + 0x3a2906, + 0x30a185, + 0x207102, + 0x39c783, + 0x2760f882, + 0x223b84, + 0x207b02, + 0x28cac3, + 0x200e82, + 0x208e83, + 0x200442, + 0x215443, + 0x202443, + 0x16fb88, + 0x16fb88, + 0x323043, + 0x207102, + 0x2820f882, + 0x323043, + 0x270443, + 0x3797c3, + 0x32e5c4, + 0x208e83, + 0x201a03, + 0x16fb88, + 0x207102, + 0x28a0f882, + 0x238543, + 0x208e83, + 0xe03, + 0x201a03, + 0x482, + 0x208882, + 0x21a902, + 0x211a83, + 0x2ef783, + 0x207102, + 0x131645, + 0x16fb88, + 0x36dc7, + 0x20f882, + 0x23cac3, + 0x253384, + 0x2020c3, + 0x323043, + 0x204c03, + 0x28cac3, + 0x208e83, + 0x21eb43, + 0x201a03, + 0x2252c3, + 0x122213, + 0x124cd4, + 0x36dc7, + 0x139986, + 0x5e24b, + 0x24386, + 0x5c0c7, + 0x120589, + 0xe838a, + 0x9058d, + 0x14fecc, + 0x3954a, + 0x11205, + 0x1b4d48, + 0x86286, + 0x31586, + 0x12cf06, + 0x20c182, + 0x10b14c, + 0x1b33c7, + 0x2a691, + 0x238543, + 0x6df05, + 0x7588, + 0x18ec4, + 0x29cbe1c6, + 0x806c6, + 0xb9a06, + 0x960ca, + 0xb4003, + 0x2a24c984, + 0xe8345, + 0x18e43, + 0x2a63dc47, + 0xe3bc5, + 0xb88cc, + 0xf7a88, + 0xbd248, + 0xa6589, + 0x14dc08, + 0x1425886, + 0x2ab71549, + 0x14978a, + 0x16308, + 0x114b48, + 0x8cf44, + 0xb5ac5, + 0x2ae42bc3, + 0x2b332106, + 0x2b6f4dc4, + 0x2bb39d87, + 0x114b44, + 0x114b44, + 0x114b44, + 0x114b44, + 0x238543, + 0x23cac3, + 0x323043, + 0x28cac3, + 0x208e83, + 0x201a03, + 0x207102, + 0x20f882, + 0x323043, + 0x205e82, + 0x208e83, + 0x201a03, + 0x215443, + 0x373ccf, + 0x37408e, + 0x16fb88, + 0x238543, + 0x4db87, + 0x23cac3, + 0x323043, + 0x255783, + 0x208e83, + 0x201a03, + 0x20d4c3, + 0x20d4c7, + 0x200142, + 0x2ce609, + 0x200242, + 0x24788b, + 0x2c110a, + 0x2c67c9, + 0x201242, + 0x2100c6, + 0x26cd95, + 0x2479d5, + 0x275793, + 0x247f53, + 0x201d42, + 0x212c45, + 0x31d44c, + 0x27c6cb, + 0x29c705, + 0x20cac2, + 0x28e142, + 0x384c06, + 0x200bc2, + 0x3acc46, + 0x2dd20d, + 0x26540c, + 0x22cc84, + 0x200f82, + 0x203402, + 0x22b048, + 0x201d02, + 0x20a746, + 0x28bf04, + 0x26cf55, + 0x275913, + 0x216d03, + 0x33844a, + 0x205407, + 0x3145c9, + 0x38d4c7, + 0x20d342, + 0x200002, + 0x3ba886, + 0x212702, + 0x16fb88, + 0x216b42, + 0x201102, + 0x27f847, + 0x217387, + 0x222d85, + 0x20c702, + 0x225287, + 0x225448, + 0x2024c2, + 0x2430c2, + 0x237302, + 0x201382, + 0x242688, + 0x20a043, + 0x25fa08, + 0x2e9b0d, + 0x2322c3, + 0x32ec08, + 0x245f4f, + 0x24630e, + 0x339a4a, + 0x22e811, + 0x22ec90, + 0x2c34cd, + 0x2c380c, + 0x36a707, + 0x3385c7, + 0x39c349, + 0x20d302, + 0x201442, + 0x25db0c, + 0x25de0b, + 0x2008c2, + 0x360cc6, + 0x20e982, + 0x204882, + 0x222902, + 0x20f882, + 0x3b69c4, + 0x244387, + 0x229682, + 0x24a347, + 0x24b547, + 0x20d282, + 0x20c8c2, + 0x24da45, + 0x21a442, + 0x2f290e, + 0x2ab3cd, + 0x23cac3, + 0x28d58e, + 0x2c5c0d, + 0x25ac43, + 0x201482, + 0x2891c4, + 0x216582, + 0x20fac2, + 0x364145, + 0x373587, + 0x393202, + 0x207602, + 0x252f87, + 0x255ac8, + 0x2f6802, + 0x294ec6, + 0x25d98c, + 0x25dccb, + 0x206b02, + 0x26764f, + 0x267a10, + 0x267e0f, + 0x2681d5, + 0x268714, + 0x268c0e, + 0x268f8e, + 0x26930f, + 0x2696ce, + 0x269a54, + 0x269f53, + 0x26a40d, + 0x27d949, + 0x291ac3, + 0x201802, + 0x2b7505, + 0x206346, + 0x207b02, + 0x3a4ec7, + 0x323043, + 0x217202, + 0x37e548, + 0x22ea51, + 0x22ee90, + 0x2007c2, + 0x290e07, + 0x204182, + 0x332b07, + 0x209a02, + 0x342089, + 0x384bc7, + 0x27ac08, + 0x2be006, + 0x2ef683, + 0x339205, + 0x2022c2, + 0x207a82, + 0x3bac85, + 0x391345, + 0x204bc2, + 0x231043, + 0x2e4b47, + 0x205747, + 0x200502, + 0x25f1c4, + 0x211b83, + 0x211b89, + 0x215148, + 0x200282, + 0x202942, + 0x242387, + 0x263285, + 0x2ad208, + 0x215c87, + 0x21a243, + 0x294c86, + 0x2c334d, + 0x2c36cc, + 0x2c8346, + 0x209b02, + 0x20c202, + 0x204a82, + 0x245dcf, + 0x2461ce, + 0x374e87, + 0x20b302, + 0x2c72c5, + 0x2c72c6, + 0x214702, + 0x200802, + 0x228246, + 0x2b57c3, + 0x332a46, + 0x2d0285, + 0x2d028d, + 0x2d0855, + 0x2d108c, + 0x2d1e4d, + 0x2d2212, + 0x214642, + 0x2745c2, + 0x202ec2, + 0x249386, + 0x302486, + 0x200982, + 0x2063c6, + 0x202c82, + 0x39b505, + 0x200542, + 0x2ab4c9, + 0x2e324c, + 0x2e358b, + 0x200442, + 0x257708, + 0x2052c2, + 0x20cb42, + 0x278ec6, + 0x21f285, + 0x36c107, + 0x24bc85, + 0x28ea05, + 0x235d82, + 0x219a42, + 0x21cc82, + 0x2f3587, + 0x2613cd, + 0x26174c, + 0x317947, + 0x2235c2, + 0x225b82, + 0x23f688, + 0x343a08, + 0x34c008, + 0x313344, + 0x361087, + 0x2efc43, + 0x299842, + 0x206682, + 0x2f2149, + 0x3ab3c7, + 0x204102, + 0x2792c5, + 0x22fa42, + 0x236902, + 0x35dc83, + 0x35dc86, + 0x2f9a02, + 0x2fab42, + 0x200c02, + 0x281e06, + 0x345607, + 0x221282, + 0x206b42, + 0x25f84f, + 0x28d3cd, + 0x3029ce, + 0x2c5a8c, + 0x201a42, + 0x204142, + 0x2bde45, + 0x317e46, + 0x209002, + 0x205842, + 0x200482, + 0x215c04, + 0x2e9984, + 0x2b8706, + 0x204242, + 0x37d6c7, + 0x233803, + 0x233808, + 0x33cb48, + 0x240687, + 0x249286, + 0x202502, + 0x242603, + 0x351107, + 0x26ffc6, + 0x2e2d05, + 0x3136c8, + 0x206182, + 0x337547, + 0x21f542, + 0x332182, + 0x207f02, + 0x2e95c9, + 0x23b442, + 0x2018c2, + 0x248383, + 0x377787, + 0x2002c2, + 0x2e33cc, + 0x2e36cb, + 0x2c83c6, + 0x218d85, + 0x22a202, + 0x204782, + 0x2c1486, + 0x237e83, + 0x378407, + 0x243cc2, + 0x200d42, + 0x26cc15, + 0x247b95, + 0x275653, + 0x2480d3, + 0x2955c7, + 0x2c0ec8, + 0x379d90, + 0x3c020f, + 0x2c0ed3, + 0x2c6592, + 0x2ce1d0, + 0x2db58f, + 0x2dc512, + 0x2dffd1, + 0x2e0cd3, + 0x2e9392, + 0x2ea0cf, + 0x2f7c4e, + 0x2f9a92, + 0x2faed1, + 0x303e4f, + 0x347a4e, + 0x3559d1, + 0x2fee10, + 0x32f912, + 0x36fd51, + 0x3af4c6, + 0x30dd47, + 0x382ac7, + 0x203702, + 0x286d05, + 0x304887, + 0x21a902, + 0x218f42, + 0x230d85, + 0x226c43, + 0x244c06, + 0x26158d, + 0x2618cc, + 0x206442, + 0x31d2cb, + 0x27c58a, + 0x212b0a, + 0x2c04c9, + 0x2f0c0b, + 0x215dcd, + 0x304f8c, + 0x2f574a, + 0x277bcc, + 0x27d34b, + 0x29c54c, + 0x2b4c0b, + 0x2e31c3, + 0x36f946, + 0x3061c2, + 0x2fd502, + 0x256d03, + 0x203642, + 0x203643, + 0x260b86, + 0x268387, + 0x2c48c6, + 0x2e2448, + 0x343708, + 0x2cc7c6, + 0x20c402, + 0x309b4d, + 0x309e8c, + 0x2dea07, + 0x30db47, + 0x2302c2, + 0x221682, + 0x260982, + 0x255e82, + 0x20f882, + 0x208e83, + 0x201a03, + 0x238543, + 0x23cac3, + 0x323043, + 0x28cac3, + 0x21bf84, + 0x208e83, + 0x201a03, + 0x215443, + 0x207102, + 0x207542, + 0x2da97d45, + 0x2de97685, + 0x2e320c86, + 0x16fb88, + 0x2e6b68c5, + 0x20f882, + 0x201742, + 0x2ea34cc5, + 0x2ee852c5, + 0x2f285e07, + 0x2f6f6e09, + 0x2fa74084, + 0x207b02, + 0x217202, + 0x2fe56a05, + 0x302977c9, + 0x30785908, + 0x30ab3185, + 0x30f3f5c7, + 0x31227248, + 0x316ec085, + 0x31a00106, + 0x31e41489, + 0x323311c8, + 0x326c8988, + 0x32a9ef0a, + 0x32e7e204, + 0x332d99c5, + 0x336c30c8, + 0x33b85d85, + 0x21a602, + 0x33e11103, + 0x342aa246, + 0x3475d1c8, + 0x34a8ab86, + 0x34e8a688, + 0x35348206, + 0x356e2dc4, + 0x204d42, + 0x35addc87, + 0x35eaf444, + 0x36280087, + 0x367b0c87, + 0x200442, + 0x36aa3885, + 0x36e8f904, + 0x372f1447, + 0x37632c47, + 0x37a89006, + 0x37e38385, + 0x3829d7c7, + 0x386d5dc8, + 0x38ab7887, + 0x38ea6c89, + 0x3939e345, + 0x397778c7, + 0x39a974c6, + 0x39e102c8, + 0x3279cd, + 0x27a209, + 0x28384b, + 0x289ecb, + 0x2ae3cb, + 0x2e62cb, + 0x31804b, + 0x31830b, + 0x318949, + 0x31984b, + 0x319b0b, + 0x31a08b, + 0x31b08a, + 0x31b5ca, + 0x31bbcc, + 0x31e00b, + 0x31ea4a, + 0x33064a, + 0x33c6ce, + 0x33d1ce, + 0x33d54a, + 0x33efca, + 0x33fa8b, + 0x33fd4b, + 0x340b0b, + 0x36124b, + 0x36184a, + 0x36250b, + 0x3627ca, + 0x362a4a, + 0x362cca, + 0x38424b, + 0x38c6cb, + 0x38e64e, + 0x38e9cb, + 0x39464b, + 0x395b0b, + 0x39900a, + 0x399289, + 0x3994ca, + 0x39a94a, + 0x3addcb, + 0x3afa8b, + 0x3b05ca, + 0x3b1fcb, + 0x3b674b, + 0x3bf58b, + 0x3a287a88, + 0x3a68fd09, + 0x3aaa6409, + 0x3aee4d48, + 0x34b945, + 0x202d43, + 0x21b744, + 0x345805, + 0x273dc6, + 0x274805, + 0x28f584, + 0x3a4dc8, + 0x312ec5, + 0x299a84, + 0x211587, + 0x2a550a, + 0x3813ca, + 0x308f07, + 0x202c47, + 0x303647, + 0x271907, + 0x2ff9c5, + 0x204906, + 0x22b9c7, + 0x2c8684, + 0x2db006, + 0x2daf06, + 0x208185, + 0x331c04, + 0x388bc6, + 0x2a4707, + 0x232646, + 0x2bfa07, + 0x232dc3, + 0x26c7c6, + 0x23cf85, + 0x285f07, + 0x27100a, + 0x284e04, + 0x220808, + 0x2a2009, + 0x2d0e47, + 0x31e8c6, + 0x257988, + 0x28b2c9, + 0x314784, + 0x376004, + 0x35d785, + 0x22b6c8, + 0x2ccc07, + 0x29a3c9, + 0x3af5c8, + 0x353706, + 0x24d486, + 0x29fd88, + 0x365bc6, + 0x297685, + 0x2890c6, + 0x280ec8, + 0x256286, + 0x25cb8b, + 0x2ac646, + 0x2a224d, + 0x208605, + 0x2af306, + 0x218a05, + 0x35d949, + 0x27a787, + 0x36d148, + 0x2969c6, + 0x2a1509, + 0x341046, + 0x270f85, + 0x2a7f06, + 0x2d3586, + 0x2d3b09, + 0x333f06, + 0x3529c7, + 0x248c85, + 0x201d83, + 0x25cd05, + 0x2a2507, + 0x338d06, + 0x208509, + 0x320c86, + 0x289306, + 0x219fc9, + 0x288ac9, + 0x2a8747, + 0x20cd08, + 0x280509, + 0x286988, + 0x38b5c6, + 0x2de245, + 0x23fa4a, + 0x289386, + 0x2bf1c6, + 0x2d7605, + 0x272408, + 0x2220c7, + 0x239fca, + 0x253b46, + 0x27a645, + 0x20a506, + 0x236b47, + 0x31e787, + 0x24fc45, + 0x271145, + 0x2e79c6, + 0x2fbfc6, + 0x2be306, + 0x2bb884, + 0x287e09, + 0x290bc6, + 0x2d430a, + 0x222b88, + 0x3059c8, + 0x3813ca, + 0x205b45, + 0x2a4645, + 0x3575c8, + 0x2b0fc8, + 0x2b43c7, + 0x295946, + 0x329608, + 0x30a447, + 0x287088, + 0x2bbec6, + 0x289b88, + 0x29cd06, + 0x257e47, + 0x2a27c6, + 0x388bc6, + 0x383d4a, + 0x345506, + 0x2de249, + 0x36b086, + 0x2b6c0a, + 0x2e2dc9, + 0x2fe406, + 0x2bccc4, + 0x2b75cd, + 0x28ff87, + 0x32df46, + 0x2c8845, + 0x3410c5, + 0x204dc6, + 0x2d4fc9, + 0x3879c7, + 0x2826c6, + 0x2bd406, + 0x28f609, + 0x33f784, + 0x3a1184, + 0x39c0c8, + 0x260f46, + 0x279388, + 0x30fec8, + 0x378187, + 0x3beb49, + 0x2be507, + 0x2b678a, + 0x2fc88f, + 0x25100a, + 0x2bdc45, + 0x281105, + 0x220085, + 0x28be47, + 0x236703, + 0x20cf08, + 0x201e46, + 0x201f49, + 0x2e4806, + 0x3a3607, + 0x2a12c9, + 0x36d048, + 0x2d76c7, + 0x315603, + 0x34b9c5, + 0x236685, + 0x2bb6cb, + 0x385e44, + 0x30ad44, + 0x27f006, + 0x315e87, + 0x392a4a, + 0x251a87, + 0x36a947, + 0x2852c5, + 0x2016c5, + 0x253689, + 0x388bc6, + 0x25190d, + 0x334145, + 0x2a10c3, + 0x200dc3, + 0x39cf05, + 0x3534c5, + 0x257988, + 0x283007, + 0x3a0f06, + 0x2a6086, + 0x232545, + 0x23cd87, + 0x377c87, + 0x23ea07, + 0x2d9a4a, + 0x26c888, + 0x2bb884, + 0x256007, + 0x284707, + 0x352846, + 0x26f5c7, + 0x2ece48, + 0x2e8548, + 0x276346, + 0x374f88, + 0x2d1704, + 0x22b9c6, + 0x239b86, + 0x333b86, + 0x2d0006, + 0x233ac4, + 0x2719c6, + 0x2c7146, + 0x29f406, + 0x2381c6, + 0x213ec6, + 0x223f06, + 0x3a0e08, + 0x3bcc88, + 0x2da288, + 0x274a08, + 0x357546, + 0x217e05, + 0x2dd4c6, + 0x2b3205, + 0x397f07, + 0x27df05, + 0x21ae83, + 0x2058c5, + 0x34cc44, + 0x214005, + 0x22dc83, + 0x33d807, + 0x374a48, + 0x2bfac6, + 0x2b0c4d, + 0x2810c6, + 0x29e985, + 0x227603, + 0x2c2a89, + 0x33f906, + 0x29dd86, + 0x2a8004, + 0x250f87, + 0x334546, + 0x387c85, + 0x20b2c3, + 0x209484, + 0x2848c6, + 0x204a04, + 0x239c88, + 0x2005c9, + 0x325f49, + 0x2a7e0a, + 0x2a918d, + 0x20abc7, + 0x2bf046, + 0x205ec4, + 0x2f6e09, + 0x28e688, + 0x28fb86, + 0x245246, + 0x26f5c7, + 0x2b9786, + 0x22c986, + 0x36aac6, + 0x3b0d0a, + 0x227248, + 0x364dc5, + 0x26fa09, + 0x28758a, + 0x2f1e88, + 0x2a40c8, + 0x29dd08, + 0x2ad74c, + 0x318585, + 0x2a6308, + 0x2e7546, + 0x36d2c6, + 0x3a34c7, + 0x251985, + 0x289245, + 0x325e09, + 0x219847, + 0x201f05, + 0x22d887, + 0x200dc3, + 0x2cd145, + 0x214308, + 0x25d087, + 0x2a3f89, + 0x2dac05, + 0x395a04, + 0x2a8e48, + 0x2dddc7, + 0x2d7888, + 0x2508c8, + 0x2d6645, + 0x281906, + 0x2a6186, + 0x277449, + 0x2b26c7, + 0x2b3ac6, + 0x2236c7, + 0x20e743, + 0x274084, + 0x2d1805, + 0x23cec4, + 0x393244, + 0x288547, + 0x25b347, + 0x234284, + 0x2a3dd0, + 0x234e47, + 0x2016c5, + 0x37178c, + 0x250684, + 0x2a9e48, + 0x257d49, + 0x36e646, + 0x34dd48, + 0x223384, + 0x37d0c8, + 0x23a5c6, + 0x238048, + 0x2a4cc6, + 0x2cc8cb, + 0x201d85, + 0x2d1688, + 0x200a04, + 0x200a0a, + 0x2a3f89, + 0x357f06, + 0x220148, + 0x263805, + 0x2b9044, + 0x2a9d46, + 0x23e8c8, + 0x287a88, + 0x329e86, + 0x358b04, + 0x23f9c6, + 0x2be587, + 0x27ff87, + 0x26f5cf, + 0x204187, + 0x2fe4c7, + 0x23d2c5, + 0x35fcc5, + 0x2a8409, + 0x2ed806, + 0x286045, + 0x288dc7, + 0x2c6188, + 0x29f505, + 0x2a27c6, + 0x2229c8, + 0x28ab8a, + 0x39c888, + 0x292f47, + 0x2fccc6, + 0x26f9c6, + 0x20ca43, + 0x2052c3, + 0x287749, + 0x280389, + 0x2a6b86, + 0x2dac05, + 0x304588, + 0x220148, + 0x365d48, + 0x36ab4b, + 0x2b0e87, + 0x315849, + 0x26f848, + 0x356284, + 0x3886c8, + 0x295089, + 0x2b3dc5, + 0x28bd47, + 0x274105, + 0x287988, + 0x297bcb, + 0x29d510, + 0x2aec45, + 0x21e20c, + 0x3a10c5, + 0x285343, + 0x296706, + 0x2c5a04, + 0x28fa06, + 0x2a4707, + 0x222a44, + 0x24c3c8, + 0x20cdcd, + 0x330a05, + 0x20ac04, + 0x241b84, + 0x27bd89, + 0x292bc8, + 0x320b07, + 0x23a648, + 0x287ec8, + 0x2829c5, + 0x28c647, + 0x282947, + 0x342807, + 0x271149, + 0x223c49, + 0x36c986, + 0x2c3a06, + 0x26f806, + 0x33e9c5, + 0x3b4944, 0x200006, 0x200386, - 0x277648, - 0x21a90b, - 0x260d07, - 0x206804, - 0x353646, - 0x2fe447, - 0x26dec5, - 0x391d05, - 0x219644, - 0x233406, + 0x282a08, + 0x23680b, + 0x284cc7, + 0x205ec4, + 0x334486, + 0x2ed187, + 0x388f45, + 0x210bc5, + 0x21b484, + 0x223bc6, 0x200088, - 0x286a09, - 0x2510c6, - 0x284048, - 0x2b19c6, - 0x345248, - 0x306dcc, - 0x2774c6, - 0x29678d, - 0x296c0b, - 0x339545, - 0x312387, - 0x3531c6, - 0x336008, - 0x214cc9, - 0x2d0588, - 0x200645, - 0x277987, - 0x27d648, - 0x349649, - 0x28e946, - 0x250fca, - 0x335d88, - 0x2d03cb, - 0x39818c, - 0x36c5c8, - 0x27a7c6, - 0x208c88, - 0x3b77c7, - 0x32cf49, - 0x28f74d, - 0x299dc6, - 0x27b808, - 0x2b0609, - 0x2bda48, - 0x281508, - 0x2bfe0c, - 0x2c0b47, - 0x2c1887, - 0x264145, - 0x2ad587, - 0x2e0a88, - 0x2c1406, - 0x2556cc, - 0x2ef888, - 0x2ccb88, - 0x25dec6, - 0x21a507, - 0x214e44, - 0x25dc08, - 0x22200c, - 0x2ce24c, - 0x2342c5, - 0x2d0d47, - 0x3a9e46, - 0x21a486, - 0x2f9d88, - 0x3af904, - 0x28574b, - 0x36cc0b, - 0x2e23c6, - 0x282ec7, - 0x37a805, - 0x269a05, - 0x285886, - 0x256345, - 0x203b05, - 0x2cc9c7, - 0x274c49, - 0x2ac784, - 0x2fbb45, - 0x2e4bc5, - 0x2d9dc8, - 0x329d05, - 0x2b72c9, - 0x2ae5c7, - 0x2ae5cb, - 0x381306, - 0x347c89, - 0x26d108, - 0x276545, - 0x33e448, - 0x2334c8, - 0x245747, - 0x3776c7, - 0x27fe49, - 0x2acc07, - 0x28a989, - 0x2aa70c, - 0x3163c8, - 0x2b2ac9, - 0x2b3d47, - 0x27f809, - 0x26c287, - 0x398288, - 0x3b7705, - 0x2bb7c6, - 0x2c0388, - 0x308a88, - 0x27e009, - 0x203b47, - 0x269ac5, - 0x222b09, - 0x2bd6c6, - 0x28f544, - 0x30e1c6, - 0x35ffc8, - 0x232ac7, - 0x21ab08, - 0x3030c9, - 0x3a3707, - 0x29d146, - 0x312444, - 0x211609, - 0x209108, - 0x25dd87, - 0x27eb46, - 0x21a846, - 0x3b7904, - 0x2241c6, - 0x204fc3, - 0x3b1649, - 0x202a86, - 0x303345, - 0x29db06, - 0x26cac5, - 0x27dac8, - 0x36c307, - 0x381646, - 0x3b3b06, - 0x3078c8, - 0x29fa47, - 0x299e05, - 0x29b408, - 0x3a1e48, - 0x335d88, - 0x3480c5, - 0x2bb846, - 0x215349, - 0x244484, - 0x26c94b, - 0x22604b, - 0x2babc9, - 0x205043, - 0x254485, - 0x2214c6, - 0x385208, - 0x2e1f04, - 0x2e3306, - 0x2d1589, - 0x2ca445, - 0x2cc906, - 0x32ccc6, - 0x216f44, - 0x2a764a, - 0x303288, - 0x308a86, - 0x3b8645, - 0x37a687, - 0x2e0fc7, - 0x3a3944, - 0x226287, - 0x2aecc4, - 0x33bf46, - 0x2096c3, - 0x264305, - 0x32ad45, - 0x207588, - 0x24d985, - 0x277209, - 0x25da47, - 0x25da4b, - 0x2a148c, - 0x2a224a, - 0x300187, - 0x203503, - 0x3afc08, - 0x348285, - 0x2976c5, - 0x205104, - 0x398186, - 0x24ed86, - 0x224207, - 0x33448b, - 0x286004, - 0x2e6684, - 0x21f044, - 0x2cafc6, - 0x21b244, - 0x2bb648, - 0x342445, - 0x21ba45, - 0x359707, - 0x312489, - 0x345c45, - 0x37424a, - 0x26ac89, - 0x2996ca, - 0x3a2b49, - 0x33fec4, - 0x2cc305, - 0x2b6c48, - 0x2cd9cb, - 0x244245, - 0x2f2fc6, - 0x213e84, - 0x277746, - 0x3a3589, - 0x353707, - 0x3179c8, - 0x2a0a86, - 0x34de07, - 0x27e648, - 0x3747c6, - 0x375604, - 0x365ac7, - 0x357305, - 0x367287, - 0x200104, - 0x353146, - 0x2f4308, - 0x296dc8, - 0x2e6047, - 0x274fc8, - 0x294fc5, - 0x204e84, - 0x3711c8, - 0x2750c4, - 0x216e05, - 0x2f5fc4, - 0x2fdfc7, - 0x288c07, - 0x27f948, - 0x2c8d86, - 0x24d905, - 0x277008, - 0x2db6c8, - 0x29f209, - 0x226346, - 0x22f588, - 0x38bd4a, - 0x26df48, - 0x2e5d85, - 0x20b306, - 0x26ab48, - 0x277a4a, - 0x210f87, - 0x284c45, - 0x292708, - 0x2ade04, - 0x265886, - 0x2c1c08, - 0x204f06, - 0x38e7c8, - 0x28f187, - 0x203346, - 0x2b4b04, - 0x284fc7, - 0x2b0d84, - 0x3a3547, - 0x28e60d, - 0x27b645, - 0x2cd54b, - 0x29c606, - 0x24e848, - 0x240b44, - 0x350d06, - 0x27ae86, - 0x208fc7, - 0x29644d, - 0x243cc7, - 0x2b12c8, - 0x269b85, - 0x278648, - 0x2c4a86, - 0x295048, - 0x228086, - 0x33d987, - 0x300449, - 0x343ac7, - 0x287dc8, - 0x2706c5, - 0x21b608, - 0x21a3c5, - 0x3a4245, - 0x3a2dc5, - 0x234543, - 0x2809c4, - 0x262545, - 0x337809, - 0x27ea46, - 0x2dc5c8, - 0x377485, - 0x2b2e87, - 0x2a78ca, - 0x2cc849, - 0x2cad4a, - 0x2d1d08, - 0x2276cc, - 0x2806cd, - 0x2fc003, - 0x38e6c8, - 0x3abd45, - 0x2b9286, - 0x379f86, - 0x2e58c5, - 0x313889, - 0x33cc45, - 0x277008, - 0x2552c6, - 0x347806, - 0x2a0289, - 0x393947, - 0x28ff06, - 0x2a7848, - 0x33bec8, - 0x2daec7, - 0x2ace4e, - 0x2c4cc5, - 0x349545, - 0x204e08, - 0x21fcc7, - 0x21a882, - 0x2bf984, - 0x334f8a, - 0x25de48, - 0x2fe546, - 0x298ac8, - 0x278cc6, - 0x332608, - 0x2ac008, - 0x3a4204, - 0x2b33c5, - 0x676384, - 0x676384, - 0x676384, - 0x202b43, - 0x21a6c6, - 0x2774c6, - 0x29cb0c, - 0x203383, - 0x27e146, - 0x2151c4, - 0x247e88, - 0x2d13c5, - 0x335086, - 0x2bcac8, - 0x2d2bc6, - 0x3815c6, - 0x245d08, - 0x2a1807, - 0x2ac9c9, - 0x2f214a, - 0x22b484, - 0x215305, - 0x2a96c5, - 0x247c06, - 0x313486, - 0x29d546, - 0x2f5546, - 0x2acb04, - 0x2acb0b, - 0x231804, - 0x29ccc5, - 0x2aad85, - 0x312806, - 0x3a6308, - 0x280587, - 0x317784, - 0x236203, - 0x2ad905, - 0x306047, - 0x28048b, - 0x207487, - 0x2bc9c8, - 0x2e62c7, - 0x370b06, - 0x279bc8, - 0x2a820b, - 0x21ff46, - 0x212309, - 0x2a8385, - 0x30a343, - 0x2cc906, - 0x28f088, - 0x213403, - 0x24f403, - 0x27e646, - 0x278cc6, - 0x35d10a, - 0x27a805, - 0x27accb, - 0x29da4b, - 0x23ef83, - 0x202843, - 0x2aec44, - 0x278a87, - 0x28f104, - 0x244504, - 0x2e6404, - 0x26e248, - 0x3b8588, - 0x3baf89, - 0x393188, - 0x2b9dc7, - 0x247846, - 0x2dc20f, - 0x2c4e06, - 0x2d1344, - 0x3b83ca, - 0x305f47, - 0x3b9606, - 0x28f589, - 0x3baf05, - 0x2076c5, - 0x3bb046, - 0x21b743, - 0x2ade49, - 0x21eec6, - 0x3afa89, - 0x382bc6, - 0x264305, - 0x2346c5, - 0x207343, - 0x278bc8, - 0x20d787, - 0x396784, - 0x247d08, - 0x2e1244, - 0x2f1006, - 0x2a8f86, - 0x23c346, - 0x2c8609, - 0x297645, - 0x3519c6, - 0x2582c9, - 0x2c41c6, - 0x26e2c6, - 0x387886, - 0x2160c5, - 0x2f5fc6, - 0x33d984, - 0x3b7705, - 0x2c0384, - 0x2b2246, - 0x3532c4, - 0x203c43, - 0x284745, - 0x2331c8, - 0x25e607, - 0x2b8209, - 0x284b48, - 0x297e11, - 0x32cd4a, - 0x2e2307, - 0x2e7246, - 0x2151c4, - 0x2c0488, - 0x22e448, - 0x297fca, - 0x2b708d, - 0x268686, - 0x245e06, - 0x285086, - 0x21ba47, - 0x2b1385, - 0x3912c7, - 0x247dc5, - 0x2ae704, - 0x2a6206, - 0x224047, - 0x2adb4d, - 0x26aa87, - 0x21f308, - 0x277309, - 0x20b206, - 0x28e8c5, - 0x22cb04, - 0x3600c6, - 0x3a3846, - 0x25dfc6, - 0x299348, - 0x215f83, - 0x208fc3, - 0x352105, - 0x277dc6, - 0x2abfc5, - 0x2a0c88, - 0x29c10a, - 0x282084, - 0x247e88, - 0x295f08, - 0x312647, - 0x377549, - 0x2bc6c8, - 0x286a87, - 0x2587c6, - 0x204f0a, - 0x360148, - 0x2f98c9, - 0x2a1288, - 0x221609, - 0x2e7107, - 0x2f2f05, - 0x26d886, - 0x2c1288, - 0x27e7c8, - 0x296088, - 0x2e24c8, - 0x29ccc5, - 0x208a84, - 0x20d488, - 0x23e2c4, - 0x3a2944, - 0x264305, - 0x2917c7, - 0x312249, - 0x208dc7, - 0x210cc5, - 0x274846, - 0x34f606, - 0x212444, - 0x2a05c6, - 0x24d744, - 0x278546, - 0x312006, - 0x213246, - 0x200645, - 0x2a0b47, - 0x203503, - 0x2079c9, - 0x3076c8, - 0x247d04, - 0x28690d, - 0x296ec8, - 0x2e3788, - 0x2f9846, - 0x300549, - 0x2cc849, - 0x3a3285, - 0x29c20a, - 0x27cf4a, - 0x29d74c, - 0x29d8c6, - 0x275446, - 0x2c4f86, - 0x2b4749, - 0x2b94c6, - 0x29fa86, - 0x33cd06, - 0x25dc08, - 0x274fc6, - 0x2ce80b, - 0x291945, - 0x21ba45, - 0x2756c5, - 0x352a46, - 0x204ec3, - 0x23c2c6, - 0x26aa07, - 0x2c0345, - 0x320585, - 0x379445, - 0x318446, - 0x31da84, - 0x31da86, - 0x292f49, - 0x3528cc, - 0x2ae448, - 0x239184, - 0x2f5c06, - 0x29c706, - 0x28f088, - 0x216f48, - 0x3527c9, - 0x37a687, - 0x2367c9, - 0x24cfc6, - 0x22e904, - 0x20ea44, - 0x280144, - 0x27e648, - 0x31208a, - 0x345bc6, - 0x353cc7, - 0x362c47, - 0x347d85, - 0x2a9684, - 0x28cd46, - 0x2b13c6, - 0x2336c3, - 0x307507, - 0x38d588, - 0x3a33ca, - 0x2cbb88, - 0x281f08, - 0x353305, - 0x339645, - 0x260e05, - 0x348146, - 0x3ad906, - 0x26c085, - 0x3b1889, - 0x2a948c, - 0x260ec7, - 0x298048, - 0x2e5c05, - 0x676384, - 0x320944, - 0x252c04, - 0x22df86, - 0x29eb0e, - 0x207747, - 0x21bc45, - 0x24440c, - 0x2e1107, - 0x223fc7, - 0x225109, - 0x217cc9, - 0x284c45, - 0x3076c8, - 0x215349, - 0x335c45, - 0x2c0288, - 0x2c2586, - 0x371446, - 0x2def04, - 0x2553c8, - 0x20b3c3, - 0x2af8c4, - 0x2ad985, - 0x3bab07, - 0x21c245, - 0x38bc09, - 0x28b30d, - 0x2a33c6, - 0x225fc4, - 0x2588c8, - 0x274a8a, - 0x2611c7, - 0x235d45, - 0x23b403, - 0x29dc0e, - 0x278ccc, - 0x2f5e07, - 0x29ecc7, - 0x200143, - 0x2b9505, - 0x252c05, - 0x298e88, - 0x295d49, - 0x239086, - 0x28f104, - 0x2e2246, - 0x27b5cb, - 0x2cc5cc, - 0x366d87, - 0x2d0305, - 0x3a1d48, - 0x2dac85, - 0x3b83c7, - 0x32cb87, - 0x247585, - 0x204ec3, - 0x26e584, - 0x21c685, - 0x2ac685, - 0x2ac686, - 0x292008, - 0x224047, - 0x37a286, - 0x26c486, - 0x3a2d06, - 0x268789, - 0x209387, - 0x25e286, - 0x2cc746, - 0x2731c6, - 0x2a7585, - 0x3b2b46, - 0x380145, - 0x329d88, - 0x29114b, - 0x28c346, - 0x362c84, - 0x2b4389, - 0x25da44, - 0x2c2508, - 0x30e2c7, - 0x281404, - 0x2bbd88, - 0x2c1684, - 0x2a75c4, - 0x286845, - 0x302986, - 0x26e187, - 0x203043, - 0x29d205, - 0x323284, - 0x349586, - 0x3a3308, - 0x38d2c5, - 0x290e09, - 0x222d05, - 0x2dbf88, - 0x215087, - 0x388588, - 0x2b8047, - 0x2fb609, - 0x264dc6, - 0x32bb46, - 0x28cac4, - 0x258705, - 0x2fce4c, - 0x2756c7, - 0x275fc7, - 0x362b08, - 0x2a33c6, - 0x26a944, - 0x328004, - 0x27fcc9, - 0x2c5086, - 0x298a07, - 0x208c04, - 0x23da46, - 0x33b785, - 0x2c88c7, - 0x2ce786, - 0x250e89, - 0x27cd87, - 0x262107, - 0x2a0106, - 0x23d985, - 0x27c548, - 0x21ed48, - 0x247a46, - 0x38d305, - 0x390586, - 0x2034c3, - 0x298d09, - 0x29d2ce, - 0x2b7d48, - 0x2e1348, - 0x24784b, - 0x291046, - 0x313104, - 0x2802c4, - 0x29d3ca, - 0x215907, - 0x25e345, - 0x212309, - 0x2bf685, - 0x3a2987, - 0x245c84, - 0x287087, - 0x2e40c8, - 0x2cd306, - 0x27b989, - 0x2bc7ca, - 0x215886, - 0x296a06, - 0x2aad05, - 0x37d085, - 0x282d07, - 0x244e48, - 0x33b6c8, - 0x3a4206, - 0x234745, - 0x31320e, - 0x2b3204, - 0x2479c5, - 0x2741c9, - 0x2dce48, - 0x28abc6, - 0x29af0c, - 0x29bd10, - 0x29e74f, - 0x29f7c8, - 0x300187, - 0x200645, - 0x262545, - 0x26e009, - 0x292909, - 0x241946, - 0x2442c7, - 0x2d0cc5, - 0x337b09, - 0x339386, - 0x2b930d, - 0x280009, - 0x244504, - 0x2b7ac8, - 0x20d549, - 0x345d86, - 0x274945, - 0x32bb46, - 0x317889, - 0x2f3c48, - 0x20dcc5, - 0x2553c4, - 0x29b0cb, - 0x345c45, - 0x29b206, - 0x280a06, - 0x265e46, - 0x276d4b, - 0x290f09, - 0x26c3c5, - 0x388347, - 0x32ccc6, - 0x334dc6, - 0x252988, - 0x302a89, - 0x21f0cc, - 0x305e48, - 0x309e46, - 0x322c03, - 0x2ba886, - 0x276b85, - 0x27b008, - 0x234146, - 0x2c8b08, - 0x248b45, - 0x279305, - 0x32eb08, - 0x332787, - 0x379ec7, - 0x224207, - 0x334c48, - 0x3002c8, - 0x2ad486, - 0x2b2087, - 0x23bb07, - 0x276a4a, - 0x201e03, - 0x352a46, - 0x2392c5, - 0x334f84, - 0x277309, - 0x2fb584, - 0x25e684, - 0x29c584, - 0x29eccb, - 0x20d6c7, - 0x313445, - 0x294cc8, - 0x274846, - 0x274848, - 0x27a746, - 0x28b085, - 0x28b645, - 0x28d886, - 0x28ee48, - 0x28f4c8, - 0x2774c6, - 0x294b0f, - 0x2987d0, - 0x3a6005, - 0x203503, - 0x22e9c5, - 0x30a4c8, - 0x292809, - 0x335d88, - 0x268608, - 0x2b8d48, - 0x20d787, - 0x274509, - 0x2c8d08, - 0x265304, - 0x29c408, - 0x2d9e89, - 0x2b27c7, - 0x299d44, - 0x208e88, - 0x2a090a, - 0x2e77c6, - 0x268686, - 0x226209, - 0x29bf47, - 0x2cba08, - 0x204848, - 0x2ddd88, - 0x35cc45, - 0x37e005, - 0x21ba45, - 0x252bc5, - 0x3b5987, - 0x204ec5, - 0x2c0345, - 0x313686, - 0x335cc7, - 0x2cd907, - 0x2a0c06, - 0x2d2245, - 0x29b206, - 0x27ba85, - 0x2b58c8, - 0x2f4284, - 0x2c4246, - 0x33b5c4, - 0x2b0f48, - 0x2c434a, - 0x2790cc, - 0x334685, - 0x21bb06, - 0x21f286, - 0x351fc6, - 0x309ec4, - 0x33ba45, - 0x27a587, - 0x29bfc9, - 0x2cb4c7, - 0x676384, - 0x676384, - 0x317605, - 0x37b944, - 0x29a8ca, - 0x2746c6, - 0x279e04, - 0x3b9585, - 0x37e405, - 0x2b12c4, - 0x280647, - 0x222c87, - 0x2cafc8, - 0x33de88, - 0x20dcc9, - 0x29cd88, - 0x29aa8b, - 0x2318c4, - 0x366885, - 0x27cc85, - 0x224189, - 0x302a89, - 0x2b4288, - 0x30e048, - 0x2d6604, - 0x29c745, - 0x217083, - 0x247bc5, - 0x351a46, - 0x295b8c, - 0x208b06, - 0x36c3c6, - 0x28ae45, - 0x3184c8, - 0x2b7ec6, - 0x2e73c6, - 0x268686, - 0x22920c, - 0x25e184, - 0x3a2e4a, - 0x28ad88, - 0x2959c7, - 0x323186, - 0x239147, - 0x2ec145, - 0x27eb46, - 0x34d406, - 0x35b847, - 0x25e6c4, - 0x2fe0c5, - 0x2741c4, - 0x2ae787, - 0x274408, - 0x2752ca, - 0x27d4c7, - 0x303407, - 0x300107, - 0x2dadc9, - 0x295b8a, - 0x21f083, - 0x25e5c5, - 0x213283, - 0x2e6449, - 0x33dc08, - 0x3709c7, - 0x335e89, - 0x21ee46, - 0x2b88c8, - 0x33a3c5, - 0x2db7ca, - 0x2d3549, - 0x2683c9, - 0x3b50c7, - 0x22e549, - 0x213148, - 0x35ba06, - 0x21bcc8, - 0x2160c7, - 0x2acc07, - 0x26ac87, - 0x2d0b48, - 0x2f5a86, - 0x2a06c5, - 0x27a587, - 0x296508, - 0x33b544, - 0x2dd244, - 0x28fe07, - 0x2ac387, - 0x2151ca, - 0x35b986, - 0x38c74a, - 0x2bf8c7, - 0x2b2fc7, - 0x246004, - 0x28aa44, - 0x2ce686, - 0x202d04, - 0x202d0c, - 0x3aff05, - 0x216d89, - 0x2d4f04, - 0x2b1385, + 0x2f6e09, + 0x259706, + 0x28df88, + 0x387d46, + 0x355088, + 0x2d6c8c, + 0x282886, + 0x29e64d, + 0x29eacb, + 0x352a85, + 0x377dc7, + 0x334006, + 0x31e648, + 0x36ca09, + 0x276608, + 0x2016c5, + 0x2076c7, + 0x286a88, + 0x332489, + 0x2a0986, + 0x25960a, + 0x31e3c8, + 0x27644b, + 0x2d964c, + 0x37d1c8, + 0x283e46, + 0x28c048, + 0x28a807, + 0x2e4909, + 0x2976cd, + 0x2a26c6, + 0x365308, + 0x3bcb49, + 0x2c4a48, + 0x289c88, + 0x2c798c, + 0x2c8e87, + 0x2c96c7, + 0x270f85, + 0x31a807, + 0x2c6048, + 0x2a9dc6, + 0x26020c, + 0x2f60c8, + 0x2d5708, + 0x262246, + 0x236407, + 0x36cb84, 0x274a08, - 0x279fc5, - 0x374246, - 0x223ec4, - 0x293c4a, - 0x2b00c6, - 0x29ba8a, - 0x22b447, - 0x21ac45, - 0x21b745, - 0x347dca, - 0x28efc5, - 0x26dfc6, - 0x23e2c4, - 0x2aedc6, - 0x282dc5, - 0x234206, - 0x2e604c, - 0x2cb14a, - 0x2587c4, - 0x247846, - 0x29bf47, - 0x2cf984, - 0x25dc08, - 0x393006, - 0x313089, - 0x2c7549, - 0x3164c9, - 0x26cb06, - 0x2161c6, - 0x21be07, - 0x3b17c8, - 0x215fc9, - 0x20d6c7, - 0x294e46, - 0x34de87, - 0x284f45, - 0x2b3204, - 0x21b9c7, - 0x23bcc5, - 0x286785, - 0x226987, - 0x247448, - 0x3a1cc6, - 0x29738d, - 0x29908f, - 0x29da4d, - 0x210d04, - 0x2332c6, - 0x2d3c08, - 0x33ccc5, - 0x276c08, - 0x24560a, - 0x244504, - 0x27bb46, - 0x26f3c7, - 0x286007, - 0x2a18c9, - 0x21bc85, - 0x2b12c4, - 0x2b330a, - 0x2bc289, - 0x22e647, - 0x265706, - 0x345d86, - 0x29c686, - 0x365b86, - 0x2d320f, - 0x2d3ac9, - 0x274fc6, - 0x22e346, - 0x31a809, - 0x2b2187, - 0x217443, - 0x229386, - 0x216a43, - 0x2e5788, - 0x34dcc7, - 0x29f9c9, - 0x2a8e08, - 0x37a008, - 0x203c86, - 0x208a49, - 0x242785, - 0x2b2244, - 0x2a99c7, - 0x2b47c5, - 0x210d04, - 0x313508, - 0x215bc4, - 0x2b1ec7, - 0x3545c6, - 0x357e85, - 0x2a1288, - 0x345c4b, - 0x331dc7, - 0x348046, - 0x2c4e84, - 0x319586, - 0x264305, - 0x23bcc5, - 0x27c2c9, - 0x280249, - 0x2acc44, - 0x2acc85, - 0x247885, - 0x2db646, - 0x3077c8, - 0x2bf046, - 0x38d3cb, - 0x35ab4a, - 0x2b0e85, - 0x28b6c6, - 0x396485, - 0x2cf485, - 0x2a54c7, - 0x352cc8, - 0x2367c4, - 0x25f806, - 0x28f546, - 0x213307, - 0x30a304, - 0x27ae86, - 0x237cc5, - 0x237cc9, - 0x2163c4, - 0x2a9809, - 0x2774c6, - 0x2c0c08, - 0x247885, - 0x362d45, - 0x234206, - 0x21efc9, - 0x217cc9, - 0x36c446, - 0x2dcf48, - 0x244508, - 0x396444, - 0x2b3644, - 0x2b3648, - 0x326dc8, - 0x2368c9, - 0x3519c6, - 0x268686, - 0x32224d, - 0x2e3306, - 0x306c89, - 0x315fc5, - 0x3bb046, - 0x391408, - 0x31d9c5, - 0x23bb44, - 0x264305, - 0x27fb48, - 0x29a689, - 0x274284, - 0x353146, - 0x279e8a, - 0x2f5d08, - 0x215349, - 0x38174a, - 0x335e06, - 0x299248, - 0x3b8185, - 0x2e0908, - 0x2b8145, - 0x21ed09, - 0x36a349, - 0x20d8c2, - 0x2a8385, - 0x269746, - 0x277407, - 0x3b05c5, - 0x308986, - 0x301448, - 0x2a33c6, - 0x2b6b09, - 0x2760c6, - 0x252808, - 0x2a89c5, - 0x23ebc6, - 0x33da88, - 0x27e648, - 0x2e7008, - 0x345f08, - 0x3b2b44, - 0x22a183, - 0x2b6d44, - 0x27d6c6, - 0x284f84, - 0x2e1287, - 0x2e72c9, - 0x2c45c5, - 0x204846, - 0x229386, - 0x291e4b, - 0x2b0dc6, - 0x3b8cc6, - 0x2c8488, - 0x3204c6, - 0x21aa43, - 0x3af743, - 0x2b3204, - 0x22f485, - 0x2b1807, - 0x274408, - 0x27440f, - 0x27a48b, - 0x3075c8, - 0x3531c6, - 0x3078ce, - 0x2319c3, - 0x2b1784, - 0x2b0d45, - 0x2b1146, - 0x28ce4b, - 0x291886, - 0x21b249, - 0x357e85, - 0x3899c8, - 0x20c688, - 0x217b8c, - 0x29ed06, - 0x247c06, - 0x2d7985, - 0x287b88, - 0x2790c5, - 0x343088, - 0x29b28a, - 0x29de89, - 0x676384, - 0x38a099c2, - 0x16d208, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x209703, - 0x205503, - 0x200983, - 0x38d2c3, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x3b1384, - 0x205503, - 0x200983, - 0x20cf83, - 0x25ef44, - 0x2a84c3, - 0x235ac4, - 0x232403, - 0x2d5f04, - 0x2e9dc3, - 0x3b0887, - 0x209703, - 0x204e83, - 0x28b148, - 0x200983, - 0x2ae1cb, - 0x2ec883, - 0x264a86, - 0x20b0c2, - 0x22d54b, - 0x232403, - 0x2e9dc3, - 0x205503, - 0x200983, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x200983, - 0x26be43, - 0x204783, - 0x205702, - 0x16d208, - 0x325f45, - 0x23bd48, - 0x2df7c8, - 0x2099c2, - 0x37ab45, - 0x38c347, - 0x2007c2, - 0x240d87, - 0x20d882, - 0x248707, - 0x32c589, - 0x3b7d48, - 0x2ddc09, - 0x23e202, - 0x263647, - 0x36c1c4, - 0x38c407, - 0x35aa47, - 0x2bbbc2, - 0x209703, - 0x20e602, - 0x200c82, - 0x200442, - 0x2013c2, - 0x205ec2, - 0x209842, - 0x2a80c5, - 0x320885, - 0x99c2, - 0x32403, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x205503, - 0x200983, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x209703, - 0x205503, - 0x200983, - 0x12083, - 0x1ec1, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x3b1384, - 0x244183, - 0x205503, - 0x200983, - 0x219503, - 0x3b819d06, - 0x13f443, - 0x7df85, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x205503, - 0x200983, - 0x2099c2, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x205503, - 0x200983, - 0x4a82, - 0x16d208, - 0x44e04, - 0xdb085, - 0x205702, - 0x26f544, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x2358c3, - 0x2a9305, - 0x244183, - 0x206343, - 0x205503, - 0x21c2c3, - 0x200983, - 0x214843, - 0x2387c3, - 0x25ed03, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x205503, - 0x200983, - 0x2099c2, - 0x200983, - 0x16d208, - 0x2e9dc3, - 0x16d208, - 0x200c03, - 0x2a84c3, - 0x22fd84, - 0x232403, - 0x2e9dc3, - 0x202bc2, - 0x209703, - 0x205503, - 0x200983, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x202bc2, - 0x227f83, - 0x205503, - 0x200983, - 0x2e87c3, - 0x214843, - 0x205702, - 0x2099c2, - 0x2e9dc3, - 0x205503, - 0x200983, - 0x264a85, - 0xe4886, - 0x25ef44, - 0x20b0c2, - 0x16d208, - 0x205702, - 0x1d848, - 0x1b4183, - 0x2099c2, - 0x3fc91386, - 0x1320c4, - 0xd95cb, - 0x13eec6, - 0x9807, - 0x232403, - 0x47208, - 0x2e9dc3, - 0xb9b45, - 0x13fb84, - 0x260f83, - 0x4ce87, - 0xd78c4, - 0x205503, - 0x7f1c4, - 0x200983, - 0x2ed844, - 0xd9388, - 0x125c86, - 0x82b48, - 0x6cf05, - 0x1fa49, - 0x2099c2, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x209703, - 0x204e83, - 0x200983, - 0x2ec883, - 0x20b0c2, - 0x16d208, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x24a5c3, - 0x211cc4, - 0x205503, - 0x200983, - 0x2a84c3, - 0x232403, - 0x2d5f04, - 0x2e9dc3, - 0x205503, - 0x200983, - 0x264a86, - 0x232403, - 0x2e9dc3, - 0x176e43, - 0x200983, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x205503, - 0x200983, - 0x9807, - 0x16d208, - 0x2e9dc3, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x205503, - 0x200983, - 0x426a84c3, - 0x232403, - 0x205503, - 0x200983, - 0x16d208, - 0x205702, - 0x2099c2, - 0x2a84c3, - 0x2e9dc3, - 0x205503, - 0x200442, - 0x200983, - 0x316e87, - 0x33e6cb, - 0x22d703, - 0x241608, - 0x3b1547, - 0x20a7c6, - 0x2c2c45, - 0x372349, - 0x209488, - 0x360d49, - 0x38f790, - 0x360d4b, - 0x39e189, - 0x201b03, - 0x20fb89, - 0x230f06, - 0x230f0c, - 0x326008, - 0x3b4f08, - 0x34af09, - 0x2905ce, - 0x2dd9cb, - 0x2f364c, - 0x2030c3, - 0x263d0c, - 0x207089, - 0x2fee47, - 0x23234c, - 0x3a89ca, - 0x2030c4, - 0x2d084d, - 0x263bc8, - 0x20cf8d, - 0x273846, - 0x28decb, - 0x283349, - 0x3b8b87, - 0x32fd06, - 0x330f89, - 0x351b8a, - 0x30b148, - 0x2ec484, - 0x2fba07, - 0x34f707, - 0x2bab04, - 0x37b5c4, - 0x22a749, - 0x281d49, - 0x22ae48, - 0x210785, - 0x3b4005, - 0x20db86, - 0x2d0709, - 0x24588d, - 0x2f30c8, - 0x20da87, - 0x2c2cc8, - 0x2e1886, - 0x38b6c4, - 0x3523c5, - 0x202986, - 0x204b04, - 0x206f87, - 0x20b8ca, - 0x212244, - 0x2157c6, - 0x216a09, - 0x216a0f, - 0x21788d, - 0x2184c6, - 0x21d450, - 0x21d846, - 0x21df87, - 0x21e4c7, - 0x21e4cf, - 0x21f6c9, - 0x224c46, - 0x225347, - 0x225348, - 0x225809, - 0x246088, - 0x2e52c7, - 0x20cc83, - 0x372986, - 0x3ba948, - 0x29088a, - 0x213c09, - 0x2095c3, - 0x38c246, - 0x25f64a, - 0x29e587, - 0x2fec8a, - 0x313d4e, - 0x21f806, - 0x2a8587, - 0x20e006, - 0x207146, - 0x37de0b, - 0x20414a, - 0x317f0d, - 0x216287, - 0x33ce88, - 0x33ce89, - 0x33ce8f, - 0x2b838c, - 0x27b289, - 0x2e6a0e, - 0x3b098a, - 0x2ba246, - 0x2f4586, - 0x30b58c, - 0x30ce8c, - 0x30dc08, - 0x3439c7, - 0x2b8c45, - 0x351e04, - 0x33c90e, - 0x228d04, - 0x351747, - 0x26030a, - 0x362554, - 0x36dd8f, - 0x21e688, - 0x372848, - 0x35040d, - 0x35040e, - 0x376ec9, - 0x3a8ec8, - 0x3a8ecf, - 0x23204c, - 0x23204f, - 0x233007, - 0x236dca, - 0x2435cb, - 0x238508, - 0x239cc7, - 0x3690cd, - 0x250406, - 0x2d0a06, - 0x23c149, - 0x394648, - 0x242088, - 0x24208e, - 0x2b5007, - 0x243885, - 0x244bc5, - 0x2063c4, - 0x20aa86, - 0x22ad48, - 0x202203, - 0x2ca10e, - 0x369488, - 0x2a2fcb, - 0x200dc7, - 0x3a4045, - 0x22e206, - 0x2aa0c7, - 0x333d08, - 0x26cd09, - 0x292e45, - 0x284788, - 0x212c06, - 0x38ad4a, - 0x33c809, - 0x232409, - 0x23240b, - 0x38dc48, - 0x2ba9c9, - 0x210846, - 0x22eb8a, - 0x2dc80a, - 0x236fcc, - 0x3a6687, - 0x32c38a, - 0x26ea8b, - 0x26ea99, - 0x3b6a88, - 0x264b05, - 0x2c6086, - 0x211e49, - 0x390746, - 0x28550a, - 0x209686, - 0x202644, - 0x2c620d, - 0x202647, - 0x211149, - 0x246385, - 0x2464c8, - 0x246fc9, - 0x247784, - 0x248387, - 0x248388, - 0x248c87, - 0x261908, - 0x24d487, - 0x26c645, - 0x25488c, - 0x2550c9, - 0x2bc00a, - 0x3937c9, - 0x20fc89, - 0x275a0c, - 0x25774b, - 0x257ec8, - 0x259048, - 0x25c404, - 0x2810c8, - 0x283c89, - 0x3a8a87, - 0x216c46, - 0x2835c7, - 0x2dcac9, - 0x26e6cb, - 0x319407, - 0x200a07, - 0x22b587, - 0x20cf04, - 0x20cf05, - 0x29a545, - 0x341c0b, - 0x39c644, - 0x3b2988, - 0x26614a, - 0x212cc7, - 0x2f6707, - 0x28bed2, - 0x278446, - 0x22f706, - 0x33c24e, - 0x27aa06, - 0x292588, - 0x29374f, - 0x20d348, - 0x37f308, - 0x30eaca, - 0x30ead1, - 0x2a0e8e, - 0x24dd0a, - 0x24dd0c, - 0x21e307, - 0x3a90d0, - 0x200408, - 0x2a1085, - 0x2aa4ca, - 0x204b4c, - 0x29518d, - 0x2f7e46, - 0x2f7e47, - 0x2f7e4c, - 0x300e4c, - 0x3292cc, - 0x2873cb, - 0x284184, - 0x226384, - 0x346d89, - 0x3050c7, - 0x225e49, - 0x37e909, - 0x39f1c7, - 0x3a8846, - 0x3a8849, - 0x2ad1c3, - 0x21c74a, - 0x31a287, - 0x33eb8b, - 0x317d8a, - 0x248844, - 0x22ba46, - 0x27d749, + 0x28d88c, + 0x22834c, + 0x2bdcc5, + 0x2b85c7, + 0x358a86, + 0x236386, + 0x35db08, 0x202b84, - 0x3affca, - 0x348345, - 0x2bdd45, - 0x2bdd4d, - 0x2be08e, - 0x28cc05, - 0x323906, - 0x264687, - 0x3870ca, - 0x39b686, - 0x3616c4, - 0x36d747, - 0x2c3f0b, - 0x2e1947, - 0x33fa84, - 0x24bb86, - 0x24bb8d, - 0x21e1cc, - 0x2053c6, - 0x2f32ca, - 0x2e03c6, - 0x2ed0c8, - 0x377c47, - 0x23568a, - 0x23d6c6, - 0x216183, - 0x391586, - 0x3ba7c8, - 0x29ac8a, - 0x275807, - 0x275808, - 0x281684, - 0x24b687, - 0x279348, - 0x2bd748, - 0x27c0c8, - 0x38c94a, - 0x2da905, - 0x2cf0c7, - 0x24db53, - 0x31e806, - 0x266348, - 0x221a09, - 0x240c48, - 0x203d0b, - 0x2cb608, - 0x2a5f44, - 0x32ec06, - 0x30bac6, - 0x3027c9, - 0x2c3dc7, - 0x254988, - 0x28af06, - 0x226884, - 0x2cb8c5, - 0x2c55c8, - 0x2c5bca, - 0x2c5e88, - 0x2cbf86, - 0x29944a, - 0x2ac808, - 0x2cf788, - 0x2d18c8, - 0x2d1f06, - 0x2d3e06, - 0x38e18c, - 0x2d43d0, - 0x27d2c5, - 0x20d148, - 0x301950, - 0x20d150, - 0x38f60e, - 0x38de0e, - 0x38de14, - 0x32fe8f, - 0x330246, - 0x332d51, - 0x33d213, - 0x33d688, - 0x3b3445, - 0x241b48, - 0x386245, - 0x329a8c, - 0x291549, - 0x228b49, - 0x3201c7, - 0x236b89, - 0x380887, - 0x2f6146, - 0x3521c7, - 0x269c45, - 0x2120c3, - 0x2023c9, - 0x221cc9, - 0x376e43, - 0x27f384, - 0x32a20d, - 0x206bcf, - 0x2268c5, - 0x329986, - 0x211407, - 0x325d87, - 0x288786, - 0x28878b, - 0x2a2405, - 0x256786, - 0x2f6c07, - 0x24e489, - 0x3a7486, - 0x21d305, - 0x22854b, - 0x235946, - 0x249245, - 0x357988, - 0x306a88, - 0x2c8f0c, - 0x2c8f10, - 0x2d2409, - 0x2ffd07, - 0x32840b, - 0x2e3b86, - 0x2e518a, - 0x2e754b, - 0x2e794a, - 0x2e7bc6, - 0x2e8685, - 0x319fc6, - 0x36c808, - 0x32028a, - 0x35009c, - 0x2ec94c, - 0x2ecc48, - 0x264a85, - 0x34ea07, - 0x26bec6, - 0x274e05, - 0x21afc6, - 0x288948, - 0x2bc507, - 0x2904c8, - 0x2a868a, - 0x33130c, - 0x331589, - 0x38b847, - 0x2198c4, - 0x244c86, - 0x37ee8a, - 0x37ea05, - 0x209f8c, - 0x20e648, - 0x367388, - 0x21a00c, - 0x22550c, - 0x225a09, - 0x225c47, - 0x231d4c, - 0x23aa84, - 0x23c60a, - 0x35e6cc, - 0x26b28b, - 0x242b8b, - 0x2efec6, - 0x24a107, - 0x24c687, - 0x3a930f, - 0x2f8a51, - 0x2d8592, - 0x24c68d, - 0x24c68e, - 0x24c9ce, - 0x330048, - 0x330052, - 0x24fbc8, - 0x3b1187, - 0x24aeca, - 0x3681c8, - 0x27a9c5, - 0x3b57ca, - 0x21dd87, - 0x2e36c4, - 0x201543, - 0x2a57c5, - 0x30ed47, - 0x2f5007, - 0x29538e, - 0x3382cd, - 0x33af89, - 0x222705, - 0x35c3c3, - 0x3a78c6, - 0x36e745, - 0x2a3208, - 0x205b49, - 0x2983c5, - 0x3692cf, - 0x2d96c7, - 0x372285, - 0x20178a, - 0x2a36c6, - 0x2ed249, - 0x396ccc, - 0x2f51c9, - 0x3abdc6, - 0x265f4c, - 0x322d06, - 0x2f7588, - 0x2f7786, - 0x3b6c06, - 0x3b96c4, - 0x258243, - 0x2a1fca, - 0x327191, - 0x3a9c0a, - 0x27ee85, - 0x265047, - 0x252207, - 0x279444, - 0x27944b, - 0x3b7bc8, - 0x2b7bc6, - 0x362b85, - 0x38b044, - 0x255f09, - 0x31ad84, - 0x254f07, - 0x32f345, - 0x32f347, - 0x33c485, - 0x2a8183, - 0x3b1048, - 0x33b80a, - 0x203043, - 0x325f8a, - 0x203046, - 0x36904f, - 0x2b4f89, - 0x2ca090, - 0x2f1548, - 0x2ccc89, - 0x2971c7, - 0x24bb0f, - 0x336244, - 0x2d5f84, - 0x21d6c6, - 0x22f246, - 0x25708a, - 0x23cc46, - 0x2f58c7, - 0x300788, - 0x300987, - 0x301207, - 0x30370a, - 0x30534b, - 0x2f3dc5, - 0x2d81c8, - 0x21bb03, - 0x23800c, - 0x36f78f, - 0x2b8a4d, - 0x2a7147, - 0x33b0c9, - 0x22bcc7, - 0x24a2c8, - 0x36274c, - 0x2a5e48, - 0x250bc8, - 0x318ace, - 0x32d354, - 0x32d864, - 0x3475ca, - 0x36148b, - 0x380944, - 0x380949, - 0x27bbc8, - 0x245345, - 0x201d0a, - 0x3696c7, - 0x26f744, - 0x38d2c3, - 0x2a84c3, - 0x235ac4, - 0x232403, - 0x2e9dc3, - 0x3b1384, - 0x244183, - 0x209703, - 0x2d43c6, - 0x211cc4, - 0x205503, - 0x200983, - 0x201303, - 0x205702, - 0x38d2c3, - 0x2099c2, - 0x2a84c3, - 0x235ac4, - 0x232403, - 0x2e9dc3, - 0x244183, - 0x2d43c6, - 0x205503, - 0x200983, - 0x16d208, - 0x2a84c3, - 0x232403, - 0x2163c3, - 0x205503, - 0x200983, - 0x16d208, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x209703, - 0x211cc4, - 0x205503, - 0x200983, - 0x205702, - 0x2bb143, - 0x2099c2, - 0x232403, - 0x2e9dc3, - 0x209703, - 0x205503, - 0x200983, - 0x201ec2, - 0x219f02, - 0x2099c2, - 0x2a84c3, - 0x202242, - 0x201fc2, - 0x3b1384, - 0x210444, - 0x227382, - 0x211cc4, + 0x23264b, + 0x37d80b, + 0x2fccc6, + 0x20cc47, + 0x339305, + 0x278585, + 0x232786, + 0x2637c5, + 0x385e05, + 0x2e40c7, + 0x27f609, + 0x2fc184, + 0x2feac5, + 0x2ead45, + 0x2b5448, + 0x235685, + 0x2c0b89, + 0x2b16c7, + 0x2b16cb, + 0x261ac6, + 0x3a0b49, + 0x331b48, + 0x272885, + 0x342908, + 0x223c88, + 0x249b07, + 0x383b47, + 0x2885c9, + 0x237f87, + 0x27de09, + 0x29b88c, + 0x2a6b88, + 0x331009, + 0x360987, + 0x287f89, + 0x25b487, + 0x2d9748, + 0x3bed05, + 0x22b946, + 0x2c8888, + 0x30cf08, + 0x287449, + 0x385e47, + 0x278645, + 0x21f949, + 0x345306, + 0x2440c4, + 0x2440c6, + 0x35d048, + 0x254547, + 0x236a08, + 0x375049, + 0x3b1a07, + 0x2a56c6, + 0x377e84, + 0x205949, + 0x28c4c8, + 0x262107, + 0x2b56c6, + 0x236746, + 0x2bf144, + 0x241986, + 0x202003, + 0x34f109, + 0x201d46, + 0x3752c5, + 0x2a6086, + 0x2d79c5, + 0x286f08, + 0x37cf07, + 0x261e06, + 0x234d06, + 0x3059c8, + 0x2a8587, + 0x2a2705, + 0x2a3bc8, + 0x3bb748, + 0x31e3c8, + 0x3a0f85, + 0x22b9c6, + 0x325d09, + 0x2772c4, + 0x351d8b, + 0x22c68b, + 0x364cc9, + 0x200dc3, + 0x25efc5, + 0x21d306, + 0x3ba188, + 0x2fc804, + 0x2bfac6, + 0x2d9b89, + 0x2bc9c5, + 0x2e4006, + 0x2dddc6, + 0x220144, + 0x2af4ca, + 0x375208, + 0x30cf06, + 0x2cf245, + 0x3b8247, + 0x23d187, + 0x281904, + 0x22c8c7, + 0x2b6784, + 0x333b06, + 0x20cf43, + 0x271145, + 0x334f05, + 0x3beec8, + 0x2561c5, + 0x2825c9, + 0x274847, + 0x27484b, + 0x2aa04c, + 0x2aa64a, + 0x33f5c7, + 0x202e83, + 0x202e88, + 0x3a1145, + 0x29f585, + 0x2140c4, + 0x2d9646, + 0x257d46, + 0x2419c7, + 0x34d58b, + 0x233ac4, + 0x2e7644, + 0x2cbd04, + 0x2d3706, + 0x222a44, + 0x22b7c8, + 0x34b885, + 0x24fac5, + 0x365c87, + 0x377ec9, + 0x3534c5, + 0x38dcca, + 0x248b89, + 0x2911ca, + 0x3b0e49, + 0x310444, + 0x2bd4c5, + 0x2b9888, + 0x2f150b, + 0x35d785, + 0x33be86, + 0x236304, + 0x282b06, + 0x3b1889, + 0x2ed287, + 0x320e48, + 0x2a9506, + 0x2be507, + 0x287a88, + 0x3870c6, + 0x39b804, + 0x3743c7, + 0x376945, + 0x389b87, + 0x200104, + 0x333f86, + 0x2d5f48, + 0x29ec88, + 0x2e7007, + 0x27f988, + 0x29cdc5, + 0x213e44, + 0x3812c8, + 0x27fa84, + 0x220005, + 0x2ffbc4, + 0x30a547, + 0x290c87, + 0x2880c8, + 0x2d7a06, + 0x256145, + 0x2823c8, + 0x39ca88, + 0x2a7d49, + 0x22c986, + 0x23a048, + 0x20088a, + 0x388fc8, + 0x2ec085, + 0x349286, + 0x248a48, + 0x20778a, + 0x226047, + 0x28ee45, + 0x29ad48, + 0x2c2404, + 0x272486, + 0x2c9a48, + 0x213ec6, + 0x20b308, + 0x296e87, + 0x211486, + 0x2bccc4, + 0x364707, + 0x2b8e84, + 0x3b1847, + 0x2a064d, + 0x288805, + 0x2d4dcb, + 0x2285c6, + 0x257808, + 0x24c384, + 0x357746, + 0x2848c6, + 0x28c387, + 0x29e30d, + 0x24e587, + 0x2b93c8, + 0x278705, + 0x276e08, + 0x2ccb86, + 0x29ce48, + 0x22ab46, + 0x25a707, + 0x39ae89, + 0x36ebc7, + 0x28fe48, + 0x27af45, + 0x222e08, + 0x219405, + 0x3ab545, + 0x3b10c5, + 0x23ef43, + 0x289144, + 0x26fa05, + 0x241489, + 0x3043c6, + 0x2ecf48, + 0x383905, + 0x2bb507, + 0x2ad54a, + 0x2e3f49, + 0x2d348a, + 0x2da308, + 0x22d6cc, + 0x288e4d, + 0x301bc3, + 0x20b208, + 0x209445, + 0x28a946, + 0x36cec6, + 0x2ebb05, + 0x2237c9, + 0x20e1c5, + 0x2823c8, + 0x25fe06, + 0x35e006, + 0x2a8d09, + 0x39ed87, + 0x297e86, + 0x2ad4c8, + 0x333a88, + 0x2e4f47, + 0x2381ce, + 0x2ccdc5, + 0x332385, + 0x213dc8, + 0x20a247, + 0x200842, + 0x2c7504, + 0x28f90a, + 0x2621c8, + 0x389206, + 0x2a1408, + 0x2a6186, + 0x3337c8, + 0x2b3ac8, + 0x3ab504, + 0x2bba45, + 0x681384, + 0x681384, + 0x681384, + 0x201e03, + 0x2365c6, + 0x282886, + 0x2a508c, + 0x200943, + 0x223286, + 0x20cf04, + 0x33f888, + 0x2d99c5, + 0x28fa06, + 0x2c31c8, + 0x2db2c6, + 0x261d86, + 0x357d08, + 0x2d1887, + 0x237d49, + 0x2fa8ca, + 0x20a944, + 0x27df05, + 0x29a385, + 0x2f6c06, + 0x20ac06, + 0x2a5ac6, + 0x2ff206, + 0x237e84, + 0x237e8b, + 0x23c584, + 0x2a5245, + 0x2b2ac5, + 0x378246, + 0x2090c8, + 0x288d07, + 0x320c04, + 0x232fc3, + 0x2c1f05, + 0x311847, + 0x288c0b, + 0x3bedc7, + 0x2c30c8, + 0x2e7287, + 0x23d406, + 0x27a4c8, + 0x2b004b, + 0x345746, + 0x21d449, + 0x2b01c5, + 0x315603, + 0x2e4006, + 0x296d88, + 0x21f083, + 0x271e03, + 0x287a86, + 0x2a6186, + 0x36958a, + 0x283e85, + 0x28470b, + 0x2a5fcb, + 0x210a83, + 0x20b943, + 0x2b6704, + 0x2af6c7, + 0x296e04, + 0x277344, + 0x2e73c4, + 0x223e88, + 0x2cf188, + 0x205249, + 0x39e3c8, + 0x28b487, + 0x2381c6, + 0x2ecb8f, + 0x2ccf06, + 0x2d9944, + 0x2cefca, + 0x311747, + 0x208206, + 0x297509, + 0x2051c5, + 0x3bf005, + 0x205306, + 0x222f43, + 0x2c2449, + 0x2273c6, + 0x202d09, + 0x392a46, + 0x271145, + 0x2be0c5, + 0x204183, + 0x2af808, + 0x213887, + 0x201e44, + 0x33f708, + 0x2ffe04, + 0x2f0486, + 0x296706, + 0x248fc6, + 0x2d1549, + 0x29f505, + 0x388bc6, + 0x2666c9, + 0x2cb906, + 0x223f06, + 0x397346, + 0x21ce85, + 0x2ffbc6, + 0x25a704, + 0x3bed05, + 0x2c8884, + 0x2b9f86, + 0x334104, + 0x2136c3, + 0x28e745, + 0x23dac8, + 0x262987, + 0x2c1ac9, + 0x28ed48, + 0x29fb51, + 0x2dde4a, + 0x2fcc07, + 0x25a986, + 0x20cf04, + 0x2c8988, + 0x233fc8, + 0x29fd0a, + 0x2c094d, + 0x2a7f06, + 0x357e06, + 0x3647c6, + 0x24fac7, + 0x2b9485, + 0x210187, + 0x20cdc5, + 0x2b1804, + 0x2ae086, + 0x241807, + 0x2c214d, + 0x248987, + 0x3a4cc8, + 0x2826c9, + 0x349186, + 0x2a0905, + 0x22dcc4, + 0x35d146, + 0x281806, + 0x262346, + 0x2a1c88, + 0x21cd43, + 0x20aa83, + 0x338e45, + 0x207b06, + 0x2b3a85, + 0x2a9708, + 0x2a48ca, + 0x3a2dc4, + 0x33f888, + 0x29dd08, + 0x378087, + 0x3839c9, + 0x2c2dc8, + 0x2a6d07, + 0x2957c6, + 0x213eca, + 0x35d1c8, + 0x2f8589, + 0x292c88, + 0x229b89, + 0x2e8747, + 0x33bdc5, + 0x36ad46, + 0x2a9c48, + 0x287c08, + 0x29de88, + 0x2fcdc8, + 0x2a5245, + 0x218944, + 0x213588, + 0x24b384, + 0x3b0c44, + 0x271145, + 0x299ac7, + 0x377c89, + 0x28c187, + 0x2008c5, + 0x27f206, + 0x363686, + 0x200b84, + 0x2a9046, + 0x255f84, + 0x276d06, + 0x377a46, + 0x21eec6, + 0x2016c5, + 0x2a95c7, + 0x202e83, + 0x21dd89, + 0x3057c8, + 0x2f6d04, + 0x2f6d0d, + 0x29ed88, + 0x2d7248, + 0x2f8506, + 0x39af89, + 0x2e3f49, + 0x3b1585, + 0x2a49ca, + 0x2edbca, + 0x2a5ccc, + 0x2a5e46, + 0x27fe06, + 0x2cd086, + 0x2c84c9, + 0x28ab86, + 0x2101c6, + 0x20e286, + 0x274a08, + 0x27f986, + 0x2d92cb, + 0x299c45, + 0x24fac5, + 0x280085, + 0x39be46, + 0x213e83, + 0x248f46, + 0x248907, + 0x2c8845, + 0x24d545, + 0x3410c5, + 0x313846, + 0x204dc4, + 0x385806, + 0x284049, + 0x39bccc, + 0x2b1548, + 0x23e844, + 0x2ff8c6, + 0x2286c6, + 0x296d88, + 0x220148, + 0x39bbc9, + 0x3b8247, + 0x260c89, + 0x255806, + 0x237404, + 0x214944, + 0x20a584, + 0x287a88, + 0x377aca, + 0x353446, + 0x35fb87, + 0x37e787, + 0x3a0c45, + 0x29a344, + 0x295046, + 0x2b94c6, + 0x202bc3, + 0x305607, + 0x2507c8, + 0x3b16ca, + 0x2d4708, + 0x28a688, + 0x334145, + 0x352b85, + 0x284dc5, + 0x3a1006, + 0x2393c6, + 0x25b285, + 0x34f349, + 0x29a14c, + 0x284e87, + 0x29fd88, + 0x24ee05, + 0x681384, + 0x240ac4, + 0x25d1c4, + 0x217946, + 0x2a728e, + 0x3bf087, + 0x24fcc5, + 0x27724c, + 0x2ffcc7, + 0x241787, + 0x274e89, + 0x2208c9, + 0x28ee45, + 0x3057c8, + 0x325d09, + 0x31e285, + 0x2c8788, + 0x227546, + 0x381546, + 0x2e2dc4, + 0x25ff08, + 0x248743, + 0x235e44, + 0x2c1f85, + 0x204dc7, + 0x21b4c5, + 0x200749, + 0x27e64d, + 0x2935c6, + 0x229b04, + 0x2958c8, + 0x27f44a, + 0x21da87, + 0x243905, + 0x235e83, + 0x2a618e, + 0x2af90c, + 0x2f1f87, + 0x2a7447, + 0x200143, + 0x28abc5, + 0x25d1c5, + 0x2a17c8, + 0x29db49, + 0x23e746, + 0x296e04, + 0x2fcb46, + 0x3650cb, + 0x2e3ccc, + 0x376447, + 0x2d9585, + 0x3bb648, + 0x2e4d05, + 0x2cefc7, + 0x2ddc87, + 0x248745, + 0x213e83, + 0x3b36c4, + 0x21b705, + 0x2fc085, + 0x2fc086, + 0x2821c8, + 0x241807, + 0x36d1c6, + 0x25b686, + 0x3b1006, + 0x2f88c9, + 0x28c747, + 0x262606, + 0x2e3e46, + 0x27e106, + 0x2af405, + 0x21e8c6, + 0x390e05, + 0x235708, + 0x2990cb, + 0x294b86, + 0x37e7c4, + 0x2c8109, + 0x274844, + 0x2274c8, + 0x2441c7, + 0x289b84, + 0x2c2688, + 0x2c94c4, + 0x2af444, + 0x39ac45, + 0x330a46, + 0x223dc7, + 0x20b3c3, + 0x2a5785, + 0x32a504, + 0x3323c6, + 0x3b1608, + 0x39c785, + 0x298d89, + 0x21fb45, + 0x223288, + 0x22cfc7, + 0x398048, + 0x2c1907, + 0x2fe589, + 0x271846, + 0x360486, + 0x20e284, + 0x295705, + 0x3093cc, + 0x280087, + 0x280fc7, + 0x37e648, + 0x2935c6, + 0x2794c4, + 0x34bc04, + 0x288449, + 0x2cd186, + 0x253707, + 0x2cff84, + 0x24ab06, + 0x35f245, + 0x2d7547, + 0x2d9246, + 0x2594c9, + 0x2eda07, + 0x26f5c7, + 0x2a8b86, + 0x24aa45, + 0x285988, + 0x227248, + 0x2f6a46, + 0x39c7c5, + 0x344806, + 0x202c03, + 0x2a1649, + 0x2a584e, + 0x2c1608, + 0x2fff08, + 0x2f684b, + 0x298fc6, + 0x20a884, + 0x261d84, + 0x2a594a, + 0x21e107, + 0x2626c5, + 0x21d449, + 0x2c7205, + 0x3b0c87, + 0x250584, + 0x27b907, + 0x30fdc8, + 0x2d0f06, + 0x365489, + 0x2c2eca, + 0x21e086, + 0x29e8c6, + 0x2b2a45, + 0x38ef85, + 0x325647, + 0x24ec48, + 0x35f188, + 0x3ab506, + 0x2be145, + 0x20a98e, + 0x2bb884, + 0x2a1745, + 0x27eb89, + 0x2ed608, + 0x292e86, + 0x2a36cc, + 0x2a44d0, + 0x2a6ecf, + 0x2a8308, + 0x33f5c7, + 0x2016c5, + 0x26fa05, + 0x389089, + 0x29af49, + 0x23fac6, + 0x35d807, + 0x2b8545, + 0x2b43c9, + 0x3528c6, + 0x28a9cd, + 0x288789, + 0x277344, + 0x2c1388, + 0x213649, + 0x353606, + 0x27f305, + 0x360486, + 0x320d09, + 0x281688, + 0x217e05, + 0x200984, + 0x2a388b, + 0x3534c5, + 0x2a39c6, + 0x289186, + 0x26e646, + 0x27c18b, + 0x298e89, + 0x25b5c5, + 0x397e07, + 0x2dddc6, + 0x34dec6, + 0x25cf48, + 0x330b49, + 0x3a4a8c, + 0x311648, + 0x23c586, + 0x329e83, + 0x28bf46, + 0x27bfc5, + 0x284a48, + 0x2bdb46, + 0x2d7788, + 0x251b05, + 0x283245, + 0x27a8c8, + 0x333947, + 0x36ce07, + 0x2419c7, + 0x34dd48, + 0x39ad08, + 0x31a706, + 0x2b9dc7, + 0x273f47, + 0x27be8a, + 0x20d703, + 0x39be46, + 0x23e985, + 0x28f904, + 0x2826c9, + 0x2fe504, + 0x262a04, + 0x2a4d44, + 0x2a744b, + 0x2137c7, + 0x20abc5, + 0x29cac8, + 0x27f206, + 0x27f208, + 0x283dc6, + 0x293345, + 0x293e85, + 0x295f46, + 0x296b48, + 0x297448, + 0x282886, + 0x29c90f, + 0x2a1110, + 0x208605, + 0x202e83, + 0x2374c5, + 0x315788, + 0x29ae49, + 0x31e3c8, + 0x2f8748, + 0x2bec08, + 0x213887, + 0x27eec9, + 0x2d7988, + 0x2730c4, + 0x2a4bc8, + 0x2b5509, + 0x2babc7, + 0x2a2644, + 0x28c248, + 0x2a938a, + 0x3085c6, + 0x2a7f06, + 0x22c849, + 0x2a4707, + 0x2d4588, + 0x2fdbc8, + 0x2cfe08, + 0x3690c5, + 0x38ff05, + 0x24fac5, + 0x25d185, + 0x38cb87, + 0x213e85, + 0x2c8845, + 0x20ae06, + 0x31e307, + 0x2f1447, + 0x2a9686, + 0x2da845, + 0x2a39c6, + 0x202f45, + 0x2b83c8, + 0x2f1e04, + 0x2cb986, + 0x348084, + 0x2b9048, + 0x2cba8a, + 0x28300c, + 0x34d785, + 0x24fb86, + 0x3a4c46, + 0x234b86, + 0x23c604, + 0x35f505, + 0x283c07, + 0x2a4789, + 0x2d3c07, + 0x681384, + 0x681384, + 0x320a85, + 0x38d584, + 0x2a308a, + 0x27f086, + 0x27a704, + 0x208185, + 0x3875c5, + 0x2b93c4, + 0x288dc7, + 0x21fac7, + 0x2d3708, + 0x342348, + 0x217e09, + 0x2a5308, + 0x2a324b, + 0x251044, + 0x375f45, + 0x2860c5, + 0x241949, + 0x330b49, + 0x2c8008, + 0x243f48, + 0x2df044, + 0x228705, + 0x202d43, + 0x2f6bc5, + 0x388c46, + 0x29d98c, + 0x2189c6, + 0x37cfc6, + 0x293105, + 0x3138c8, + 0x2c1786, + 0x25ab06, + 0x2a7f06, + 0x22e2cc, + 0x262504, + 0x3b114a, + 0x293048, + 0x29d7c7, + 0x32a406, + 0x23e807, + 0x2f2ec5, + 0x2b56c6, + 0x35c286, + 0x367cc7, + 0x262a44, + 0x30a645, + 0x27eb84, + 0x2b1887, + 0x27edc8, + 0x27fc8a, + 0x286907, + 0x375387, + 0x33f547, + 0x2e4e49, + 0x29d98a, + 0x2373c3, + 0x262945, + 0x20b343, + 0x2e7409, + 0x254ec8, + 0x23d2c7, + 0x31e4c9, + 0x227346, + 0x2042c8, + 0x33d785, + 0x39cb8a, + 0x2dbc89, + 0x276209, + 0x3a34c7, + 0x2340c9, + 0x21edc8, + 0x367e86, + 0x24fd48, + 0x21ce87, + 0x237f87, + 0x248b87, + 0x2d5dc8, + 0x2ff746, + 0x2a9145, + 0x283c07, + 0x29e3c8, + 0x348004, + 0x2d41c4, + 0x297d87, + 0x2b3e47, + 0x325b8a, + 0x367e06, + 0x35854a, + 0x2c7447, + 0x2bb647, + 0x358004, + 0x27dec4, + 0x2d7446, + 0x281b84, + 0x281b8c, + 0x203185, + 0x21ff89, + 0x265684, + 0x2b9485, + 0x27f3c8, + 0x22d245, + 0x204dc6, + 0x225f44, + 0x28f30a, + 0x2b25c6, + 0x2a424a, + 0x2b7887, + 0x236b45, + 0x222f45, + 0x3a0c8a, + 0x296cc5, + 0x2a7e06, + 0x24b384, + 0x2b6886, + 0x325705, + 0x2bdc06, + 0x2e700c, + 0x2d388a, + 0x2957c4, + 0x2381c6, + 0x2a4707, + 0x2d91c4, + 0x274a08, + 0x39e246, + 0x20a809, + 0x2baec9, + 0x2a6c89, + 0x351f46, + 0x21cf86, + 0x24fe87, + 0x34f288, + 0x21cd89, + 0x2137c7, + 0x29cc46, + 0x2be587, + 0x364685, + 0x2bb884, + 0x24fa47, + 0x274105, + 0x28f845, + 0x36c347, + 0x248608, + 0x3bb5c6, + 0x29f24d, + 0x2a19cf, + 0x2a5fcd, + 0x200904, + 0x23dbc6, + 0x2dc1c8, + 0x20e245, + 0x27c048, + 0x2499ca, + 0x277344, + 0x365646, + 0x33ae07, + 0x233ac7, + 0x2d1949, + 0x24fd05, + 0x2b93c4, + 0x2bb98a, + 0x2c2989, + 0x2341c7, + 0x272306, + 0x353606, + 0x228646, + 0x374486, + 0x2db94f, + 0x2dc089, + 0x27f986, + 0x233ec6, + 0x320289, + 0x2b9ec7, + 0x229403, + 0x22e446, + 0x2052c3, + 0x2eb9c8, + 0x2be3c7, + 0x2a8509, + 0x296588, + 0x36cf48, + 0x385f86, + 0x218909, + 0x398845, + 0x2b9f84, + 0x29a687, + 0x2c8545, + 0x200904, + 0x20ac88, + 0x202044, + 0x2b9c07, + 0x3749c6, + 0x2e7a85, + 0x292c88, + 0x3534cb, + 0x3778c7, + 0x3a0f06, + 0x2ccf84, + 0x348186, + 0x271145, + 0x274105, + 0x285709, + 0x2889c9, + 0x237fc4, + 0x238005, + 0x238205, + 0x39ca06, + 0x3058c8, + 0x2c6b86, + 0x25060b, + 0x36e4ca, + 0x2b8f85, + 0x293f06, + 0x3a2ac5, + 0x2e9dc5, + 0x2ad387, + 0x39c0c8, + 0x260c84, + 0x26be86, + 0x2974c6, + 0x21ef87, + 0x3155c4, + 0x2848c6, + 0x2427c5, + 0x2427c9, + 0x21b584, + 0x29a4c9, + 0x282886, + 0x2c8f48, + 0x238205, + 0x37e885, + 0x2bdc06, + 0x3a4989, + 0x2208c9, + 0x37d046, + 0x2ed708, + 0x277348, + 0x3a2a84, + 0x2bbcc4, + 0x2bbcc8, + 0x32e048, + 0x260d89, + 0x388bc6, + 0x2a7f06, + 0x3294cd, + 0x2bfac6, + 0x2d6b49, + 0x2dd5c5, + 0x205306, + 0x2102c8, + 0x326885, + 0x273f84, + 0x271145, + 0x2882c8, + 0x2a2e49, + 0x27ec44, + 0x333f86, + 0x22d10a, + 0x2f1e88, + 0x325d09, + 0x261f0a, + 0x31e446, + 0x2a1b88, + 0x2ced85, + 0x2c5ec8, + 0x2c1a05, + 0x227209, + 0x37ac49, + 0x203282, + 0x2b01c5, + 0x2782c6, + 0x2827c7, + 0x34e085, + 0x30ce06, + 0x326948, + 0x2935c6, + 0x2b9749, + 0x2810c6, + 0x25cdc8, + 0x2b0805, + 0x264906, + 0x25a808, + 0x287a88, + 0x2e8648, + 0x353788, + 0x21e8c4, + 0x281943, + 0x2b9984, + 0x286b06, + 0x3646c4, + 0x2ffe47, + 0x25aa09, + 0x2cbd05, + 0x2fdbc6, + 0x22e446, + 0x28200b, + 0x2b8ec6, + 0x2cf8c6, + 0x2d13c8, + 0x24d486, + 0x236943, + 0x2164c3, + 0x2bb884, + 0x239f45, + 0x387b87, + 0x27edc8, + 0x27edcf, + 0x283b0b, + 0x3056c8, + 0x334006, + 0x3059ce, + 0x251143, + 0x387b04, + 0x2b8e45, + 0x2b9246, + 0x29514b, + 0x299b86, + 0x222a49, + 0x2e7a85, + 0x3999c8, + 0x216688, + 0x22078c, + 0x2a7486, + 0x2f6c06, + 0x2dac05, + 0x28fc08, + 0x25a805, + 0x356288, + 0x2a3a4a, + 0x2a6409, + 0x681384, + 0x3b60f882, + 0x16fb88, + 0x238543, + 0x23cac3, + 0x323043, + 0x28cac3, + 0x208e83, + 0x201a03, + 0x39c783, + 0x238543, + 0x23cac3, + 0x323043, + 0x231604, + 0x208e83, + 0x201a03, + 0x213083, + 0x286644, + 0x238543, + 0x240244, + 0x23cac3, + 0x2de944, + 0x323043, + 0x34e347, + 0x28cac3, + 0x200e03, + 0x293408, + 0x201a03, + 0x29630b, + 0x2f3743, + 0x3a03c6, + 0x205082, + 0x22facb, + 0x23cac3, + 0x323043, + 0x208e83, + 0x201a03, + 0x238543, + 0x23cac3, + 0x323043, + 0x201a03, + 0x220b83, + 0x201503, + 0x207102, + 0x16fb88, + 0x32d1c5, + 0x274188, + 0x2f9f88, + 0x20f882, + 0x20a605, + 0x3785c7, + 0x201842, + 0x24c5c7, + 0x207b02, + 0x2f6607, + 0x2cc409, + 0x2ce948, + 0x2cfc89, + 0x24b2c2, + 0x2707c7, + 0x37cdc4, + 0x378687, + 0x36e3c7, + 0x264d42, + 0x28cac3, + 0x214642, + 0x204d42, 0x200442, - 0x200983, - 0x201303, - 0x2efec6, - 0x212982, - 0x202dc2, - 0x222f02, - 0x44e0d343, - 0x4521e303, - 0x52d46, - 0x52d46, - 0x25ef44, - 0x204e83, - 0x142abca, - 0x12778c, - 0x102cc, - 0x7dd8d, - 0x129845, - 0x21347, - 0x18648, - 0x1b887, - 0x20348, - 0x19d4ca, - 0x45ed6a45, - 0x12b809, - 0xaf848, - 0x4a70a, - 0x8a64e, - 0x1440a4b, - 0x1320c4, - 0x77848, - 0x68bc8, - 0x38f47, - 0x12807, - 0x4efc9, - 0x2c07, - 0xd4ac8, - 0x1318c9, - 0x3adc5, - 0x124d4e, - 0xa8a0d, - 0x9688, - 0x4622a586, - 0x46c2a588, - 0x70cc8, - 0x117090, - 0x5f347, - 0x601c7, - 0x64547, - 0x69447, - 0xdb42, - 0x190bc7, - 0x430c, - 0x35fc7, - 0xa4246, - 0xa4909, - 0xa6388, - 0x17f42, - 0x1fc2, - 0xb8fcb, - 0x7f247, - 0x11809, - 0xbb9c9, - 0x17e248, - 0xafd42, - 0x113a49, - 0xcdf8a, - 0xc9e09, - 0xd6fc9, - 0xd7ac8, - 0xd8a47, - 0xda889, - 0xde345, - 0xde6d0, - 0x175b86, - 0x192345, - 0x5e98d, - 0xf986, - 0xe9187, - 0xed858, - 0x1b1a48, - 0xb4c8a, - 0x1c42, - 0x52f4d, - 0x27c2, + 0x21cc82, + 0x206b42, + 0x20d2c2, + 0x2aff05, + 0x240a05, + 0xf882, + 0x3cac3, + 0x238543, + 0x23cac3, + 0x323043, + 0x208e83, + 0x201a03, + 0x238543, + 0x23cac3, + 0x323043, + 0x28cac3, + 0x208e83, + 0x1a3443, + 0x201a03, + 0x170c3, + 0x8c1, + 0x238543, + 0x23cac3, + 0x323043, + 0x231604, + 0x255783, + 0x208e83, + 0x1a3443, + 0x201a03, + 0x221f43, + 0x3e4f5906, + 0x42bc3, + 0x873c5, + 0x238543, + 0x23cac3, + 0x323043, + 0x208e83, + 0x201a03, + 0x20f882, + 0x238543, + 0x23cac3, + 0x323043, + 0x208e83, + 0x201a03, + 0x84c2, + 0x16fb88, + 0xe03, + 0x1a3443, + 0x4ec04, + 0xe5105, + 0x207102, + 0x39cdc4, + 0x238543, + 0x23cac3, + 0x323043, + 0x38acc3, + 0x2b13c5, + 0x255783, + 0x211a83, + 0x208e83, + 0x21b543, + 0x201a03, + 0x215443, + 0x20e383, + 0x202443, + 0x238543, + 0x23cac3, + 0x323043, + 0x208e83, + 0x201a03, + 0x20f882, + 0x201a03, + 0x16fb88, + 0x323043, + 0x1a3443, + 0x16fb88, + 0x1a3443, + 0x2bcc43, + 0x238543, + 0x23a844, + 0x23cac3, + 0x323043, + 0x205e82, + 0x28cac3, + 0x208e83, + 0x201a03, + 0x238543, + 0x23cac3, + 0x323043, + 0x205e82, + 0x229443, + 0x208e83, + 0x201a03, + 0x2ef783, + 0x215443, + 0x207102, + 0x20f882, + 0x323043, + 0x208e83, + 0x201a03, + 0x3a03c5, + 0xa4f06, + 0x286644, + 0x205082, + 0x16fb88, + 0x207102, + 0x25088, + 0x134943, + 0x20f882, + 0x42899306, + 0x6a04, + 0xb610b, + 0x44e86, + 0x8cbc7, + 0x23cac3, + 0x51648, + 0x323043, + 0x8b205, + 0x1493c4, + 0x227583, + 0x556c7, + 0xe06c4, + 0x208e83, + 0x1a3284, + 0x1a3443, + 0x201a03, + 0x2f4544, + 0xb5ec8, + 0x12cf06, + 0x16308, + 0x1252c5, + 0x9fc9, + 0x20f882, + 0x238543, + 0x23cac3, + 0x323043, + 0x28cac3, + 0x200e03, + 0x201a03, + 0x2f3743, + 0x205082, + 0x16fb88, + 0x238543, + 0x23cac3, + 0x323043, + 0x231603, + 0x21bf84, + 0x208e83, + 0xe03, + 0x201a03, + 0x238543, + 0x23cac3, + 0x2de944, + 0x323043, + 0x208e83, + 0x201a03, + 0x3a03c6, + 0x23cac3, + 0x323043, + 0x18a783, + 0x201a03, + 0x238543, + 0x23cac3, + 0x323043, + 0x208e83, + 0x201a03, + 0x8cbc7, + 0x16fb88, + 0x323043, + 0x238543, + 0x23cac3, + 0x323043, + 0x208e83, + 0x201a03, + 0x45238543, + 0x23cac3, + 0x208e83, + 0x201a03, + 0x16fb88, + 0x207102, + 0x20f882, + 0x238543, + 0x323043, + 0x208e83, + 0x200442, + 0x201a03, + 0x31f1c7, + 0x342b8b, + 0x22fc83, + 0x244708, + 0x34f007, + 0x348746, + 0x382d45, + 0x232309, + 0x28c848, + 0x346789, + 0x346790, + 0x36f64b, + 0x2e2109, + 0x205dc3, + 0x20af09, + 0x23bd86, + 0x23bd8c, + 0x32d288, + 0x3bc208, + 0x244a49, + 0x29854e, + 0x2cc1cb, + 0x2e5c0c, + 0x203ec3, + 0x26ad0c, + 0x203ec9, + 0x30ae47, + 0x23ca0c, + 0x2b478a, + 0x252044, + 0x2768cd, + 0x26abc8, + 0x21308d, + 0x26fec6, + 0x28664b, + 0x200cc9, + 0x2cf787, + 0x332c86, + 0x3372c9, + 0x34834a, + 0x319108, + 0x2f3204, + 0x2fe987, + 0x363787, + 0x2d0184, + 0x38d204, + 0x2345c9, + 0x28a4c9, + 0x2b7288, + 0x216d05, + 0x339645, + 0x213c86, + 0x276789, + 0x249c4d, + 0x33bf88, + 0x213b87, + 0x382dc8, + 0x2fa686, + 0x39b444, + 0x2501c5, + 0x201c46, + 0x202884, + 0x203dc7, + 0x206f4a, + 0x219784, + 0x21dfc6, + 0x21ea49, + 0x21ea4f, + 0x21fc8d, + 0x220f06, + 0x224c90, + 0x225086, + 0x2257c7, + 0x2269c7, + 0x2269cf, + 0x2276c9, + 0x22cb06, + 0x22da47, + 0x22da48, + 0x22f289, + 0x358088, + 0x2eb507, + 0x212843, + 0x394f46, + 0x3c0b48, + 0x29880a, + 0x236089, + 0x205d83, + 0x3784c6, + 0x26bcca, + 0x28eb87, + 0x30ac8a, + 0x25a18e, + 0x227806, + 0x2b03c7, + 0x217bc6, + 0x203f86, + 0x38fd0b, + 0x31708a, + 0x32138d, + 0x21d047, + 0x20e408, + 0x20e409, + 0x20e40f, + 0x2c1c4c, + 0x2b4089, + 0x2d890e, + 0x34e44a, + 0x28b906, + 0x314a86, + 0x319d8c, + 0x31be8c, + 0x327508, + 0x36eac7, + 0x274d85, + 0x3485c4, + 0x20f88e, + 0x299684, + 0x388947, + 0x39140a, + 0x38a814, + 0x39390f, + 0x226b88, + 0x394e08, + 0x35eccd, + 0x35ecce, + 0x3a0849, + 0x238788, + 0x23878f, + 0x23c70c, + 0x23c70f, + 0x23d907, + 0x240c0a, + 0x2459cb, + 0x243788, + 0x245c87, + 0x3ac74d, + 0x322b46, + 0x276a86, + 0x248dc9, + 0x364b08, + 0x24cf48, + 0x24cf4e, + 0x2f4087, + 0x24e145, + 0x24e9c5, + 0x204b44, + 0x348a06, + 0x2b7188, + 0x20db03, + 0x2f948e, + 0x3acb08, + 0x2b588b, + 0x378bc7, + 0x3ab345, + 0x233d86, + 0x2b1f87, + 0x32f2c8, + 0x325449, + 0x322dc5, + 0x28e788, + 0x21c946, + 0x3afeca, + 0x20f789, + 0x23cac9, + 0x23cacb, + 0x346448, + 0x2d0049, + 0x216dc6, + 0x23768a, + 0x293c0a, + 0x240e0c, + 0x28e4c7, + 0x2ce74a, + 0x36b38b, + 0x36b399, + 0x312408, + 0x3a0445, + 0x2cdd46, + 0x25c489, + 0x3449c6, + 0x2df8ca, + 0x28ca46, + 0x20df44, + 0x2cdecd, + 0x20df47, + 0x218209, + 0x250ac5, + 0x250c08, + 0x251409, + 0x251844, + 0x251f47, + 0x251f48, + 0x2526c7, + 0x26e2c8, + 0x255cc7, + 0x25b845, + 0x25f3cc, + 0x25fc09, + 0x2c8c0a, + 0x39ec09, + 0x20b009, + 0x37ee4c, + 0x264f0b, + 0x2662c8, + 0x267448, + 0x26a804, + 0x289848, + 0x28d209, + 0x2b4847, + 0x20e646, + 0x200f47, + 0x2c4289, + 0x32264b, + 0x325147, + 0x201a87, + 0x2b79c7, + 0x213004, + 0x213005, + 0x2a7c05, + 0x34b1cb, + 0x3a9384, + 0x350448, + 0x26e94a, + 0x21ca07, + 0x300687, + 0x294712, + 0x276c06, + 0x23a1c6, + 0x33888e, + 0x27ab46, + 0x29abc8, + 0x29b38f, + 0x213448, + 0x302848, + 0x3bd10a, + 0x3bd111, + 0x2a990e, + 0x25654a, + 0x25654c, + 0x20bf07, + 0x238990, + 0x200408, + 0x2a9b05, + 0x2b238a, + 0x2028cc, + 0x29cf8d, + 0x302346, + 0x302347, + 0x30234c, + 0x30c80c, + 0x335d4c, + 0x2edfcb, + 0x28e0c4, + 0x22c9c4, + 0x354609, + 0x39e807, + 0x229989, + 0x293a49, + 0x3b6587, + 0x2b4606, + 0x2b4609, + 0x2b4a03, + 0x21b7ca, + 0x31fd07, + 0x34304b, + 0x32120a, + 0x2f6744, + 0x35f646, + 0x286b89, + 0x281a04, + 0x20324a, + 0x3a1205, + 0x2c4d45, + 0x2c4d4d, + 0x2c508e, + 0x2b9ac5, + 0x32ab86, + 0x39ffc7, + 0x25f64a, + 0x3a8286, + 0x2eefc4, + 0x2f9847, + 0x3bc50b, + 0x2fa747, + 0x30b444, + 0x256fc6, + 0x256fcd, + 0x2c3f4c, + 0x208d46, + 0x33c18a, + 0x230206, + 0x22ddc8, + 0x285107, + 0x34c98a, + 0x3840c6, + 0x210443, + 0x210446, + 0x3c09c8, + 0x2a344a, + 0x2801c7, + 0x2801c8, + 0x289e04, + 0x256ac7, + 0x283288, + 0x345388, + 0x284508, + 0x35874a, + 0x2e4505, + 0x2e9a07, + 0x256393, + 0x343d86, + 0x2e0908, + 0x229f89, + 0x24c488, + 0x38600b, + 0x2d3d48, + 0x2bc644, + 0x27a9c6, + 0x317ec6, + 0x330889, + 0x3bc3c7, + 0x25f4c8, + 0x2931c6, + 0x36c244, + 0x30aa05, + 0x2d4008, + 0x2cd88a, + 0x2cdb48, + 0x2d4b06, + 0x2a1d8a, + 0x2fc208, + 0x2d8fc8, + 0x2d9ec8, + 0x2da506, + 0x2dc3c6, + 0x20c0cc, + 0x2dc990, + 0x285505, + 0x213248, + 0x30d410, + 0x213250, + 0x34660e, + 0x20bd4e, + 0x20bd54, + 0x20e78f, + 0x20eb46, + 0x3072d1, + 0x332e13, + 0x333288, + 0x31d245, + 0x2a0bc8, + 0x395705, + 0x23540c, + 0x2309c9, + 0x2994c9, + 0x230e47, + 0x263549, + 0x261047, + 0x2ffa46, + 0x24ffc7, + 0x20ef05, + 0x217103, + 0x20dcc9, + 0x22a249, + 0x38a783, + 0x3b35c4, + 0x358c8d, + 0x3b83cf, + 0x36c285, + 0x331786, + 0x21ac47, + 0x32d007, + 0x290806, + 0x29080b, + 0x2aa805, + 0x263c06, + 0x300b87, + 0x257449, + 0x345a06, + 0x20cb45, + 0x2248cb, + 0x230786, + 0x38ad45, + 0x273988, + 0x2a6988, + 0x2ba50c, + 0x2ba510, + 0x2b64c9, + 0x2c5607, + 0x2e520b, + 0x30be86, + 0x2eb3ca, + 0x2ec90b, + 0x2ee70a, + 0x2ee986, + 0x2ef645, + 0x31fa46, + 0x37d408, + 0x230f0a, + 0x35e95c, + 0x2f380c, + 0x2f3b08, + 0x3a03c5, + 0x35cec7, + 0x25b0c6, + 0x27f7c5, + 0x2227c6, + 0x2909c8, + 0x2c2c07, + 0x298448, + 0x2b04ca, + 0x33764c, + 0x3378c9, + 0x39b5c7, + 0x215c04, + 0x24ea86, + 0x2d518a, + 0x293b45, + 0x211ecc, + 0x212e48, + 0x389c88, + 0x21904c, + 0x2266cc, + 0x229549, + 0x229787, + 0x23ff4c, + 0x2454c4, + 0x24718a, + 0x23354c, + 0x279a4b, + 0x24bfcb, + 0x3821c6, + 0x2f7447, + 0x20e947, + 0x238bcf, + 0x303191, + 0x2e16d2, + 0x314ecd, + 0x314ece, + 0x31520e, + 0x20e948, + 0x20e952, + 0x253e08, + 0x34ec47, + 0x25430a, + 0x208b08, + 0x27ab05, + 0x38c9ca, + 0x2255c7, + 0x2e6f44, + 0x227103, + 0x297185, + 0x3bd387, + 0x2fb547, + 0x29d18e, + 0x308c8d, + 0x30d7c9, + 0x21f545, + 0x31c443, + 0x326446, + 0x264085, + 0x27dc48, + 0x2c0649, + 0x2a0105, + 0x3ac94f, + 0x2b6207, + 0x382bc5, + 0x37958a, + 0x358946, + 0x2522c9, + 0x37db4c, + 0x2fec09, + 0x2094c6, + 0x26e74c, + 0x329f86, + 0x3017c8, + 0x301c86, + 0x312586, + 0x2082c4, + 0x266643, + 0x2b380a, + 0x32e411, + 0x30650a, + 0x265345, + 0x271ac7, + 0x25c7c7, + 0x283384, + 0x28338b, + 0x2cfb08, + 0x2c1486, + 0x37e6c5, + 0x3b01c4, + 0x280ac9, + 0x320804, + 0x24cd87, + 0x359f05, + 0x359f07, + 0x338ac5, + 0x2affc3, + 0x34eb08, + 0x35f2ca, + 0x20b3c3, + 0x32d20a, + 0x281ec6, + 0x3ac6cf, + 0x2f4009, + 0x2f9410, + 0x2ebe48, + 0x2d5809, + 0x29f087, + 0x256f4f, + 0x31e884, + 0x2de9c4, + 0x224f06, + 0x317b06, + 0x2e2aca, + 0x381c46, + 0x2ff587, + 0x30c148, + 0x30c347, + 0x30cbc7, + 0x30f08a, + 0x310b4b, + 0x3b1b45, + 0x2e1308, + 0x204443, + 0x2045cc, + 0x38000f, + 0x274b8d, + 0x2aefc7, + 0x30d909, + 0x2e8207, + 0x24f2c8, + 0x38aa0c, + 0x2bc548, + 0x231848, + 0x321d0e, + 0x336054, + 0x336564, + 0x354e4a, + 0x37018b, + 0x261104, + 0x261109, + 0x3656c8, + 0x24ef85, + 0x20d60a, + 0x3acd47, + 0x31f944, + 0x39c783, + 0x238543, + 0x240244, + 0x23cac3, + 0x323043, + 0x231604, + 0x255783, + 0x28cac3, + 0x20c0c6, + 0x21bf84, + 0x208e83, + 0x201a03, + 0x221483, + 0x207102, + 0x39c783, + 0x20f882, + 0x238543, + 0x240244, + 0x23cac3, + 0x323043, + 0x255783, + 0x20c0c6, + 0x208e83, + 0x201a03, + 0x16fb88, + 0x238543, + 0x23cac3, + 0x21b583, + 0x208e83, + 0x1a3443, + 0x201a03, + 0x16fb88, + 0x238543, + 0x23cac3, + 0x323043, + 0x28cac3, + 0x21bf84, + 0x208e83, + 0x201a03, + 0x207102, + 0x242043, + 0x20f882, + 0x23cac3, + 0x323043, + 0x28cac3, + 0x208e83, + 0x201a03, + 0x201382, + 0x235f42, + 0x20f882, + 0x238543, + 0x206902, + 0x200942, + 0x231604, + 0x20f644, + 0x22a482, + 0x21bf84, + 0x200442, + 0x201a03, + 0x221483, + 0x3821c6, + 0x21a902, + 0x202642, + 0x20c4c2, + 0x47a13443, + 0x47e0bf03, 0x5d306, - 0x8d108, - 0x86ec8, - 0x16d0c9, - 0x55b08, - 0x5fb4e, - 0x1a78c7, - 0x19d0d, - 0xf2d05, - 0x190948, - 0x194448, - 0xfacc6, + 0x5d306, + 0x286644, + 0x200e03, + 0x14b700a, + 0x12ea0c, + 0xf4cc, + 0x871cd, + 0x131645, + 0x26547, + 0x1b1c6, + 0x21088, + 0x23087, + 0x28b08, + 0x1aa20a, + 0x1397c7, + 0x48adf485, + 0x1359c9, + 0x3e34b, + 0x35dcb, + 0x42e48, + 0x172f4a, + 0x9288e, + 0x144c28b, + 0x6a04, + 0x63d46, + 0x7588, + 0xf8d08, + 0x3e607, + 0x1a787, + 0x57f89, + 0x81a87, + 0xdd088, + 0x12f5c9, + 0x49804, + 0x49f45, + 0x12bfce, + 0xb084d, + 0x8ca48, + 0x48e34406, + 0x49834408, + 0x7b548, + 0x11f3d0, + 0x5998c, + 0x6b9c7, + 0x6c647, + 0x71387, + 0x77fc7, + 0x13c42, + 0x144ec7, + 0x11724c, + 0x43b87, + 0xac206, + 0xac7c9, + 0xae208, + 0x206c2, + 0x942, + 0xbee8b, + 0x1a3307, + 0x18009, + 0x164ec9, + 0x3ef48, + 0xb8042, + 0x134649, + 0xcc60a, + 0xd2689, + 0xdfdc9, + 0xe0b08, + 0xe1b87, + 0xe4489, + 0xe61c5, + 0xe67d0, + 0x191646, + 0x11205, + 0x31e8d, + 0x235c6, + 0xefd07, + 0xf4558, + 0x14f508, + 0xc74a, + 0xb282, + 0x5524d, + 0xa02, + 0x86286, + 0x95408, + 0x8f148, + 0x16fa49, + 0x586c8, + 0x6420e, + 0x126447, + 0x1051cd, + 0xfb445, + 0x144c48, + 0x19fc08, + 0x106046, 0xc2, - 0x125c86, - 0x7b02, + 0x12cf06, + 0x4542, 0x341, - 0x57a07, - 0xc8e83, - 0x466ee0c4, - 0x46a94443, + 0x65a07, + 0xf6fc3, + 0x492f4dc4, + 0x4969c243, 0x141, - 0x10986, + 0x19d06, 0x141, 0x1, - 0x10986, - 0xc8e83, - 0x1596bc5, - 0x2030c4, - 0x2a84c3, - 0x249944, - 0x3b1384, - 0x205503, - 0x2218c5, - 0x219503, - 0x23e743, - 0x373605, - 0x25ed03, - 0x47ea84c3, - 0x232403, - 0x2e9dc3, + 0x19d06, + 0xf6fc3, + 0x1402285, + 0x252044, + 0x238543, + 0x253384, + 0x231604, + 0x208e83, + 0x229e45, + 0x221f43, + 0x20c843, + 0x355685, + 0x202443, + 0x4aa38543, + 0x23cac3, + 0x323043, 0x200041, - 0x209703, - 0x210444, - 0x211cc4, - 0x205503, - 0x200983, - 0x214843, - 0x16d208, - 0x205702, - 0x38d2c3, - 0x2099c2, - 0x2a84c3, - 0x232403, - 0x2163c3, - 0x201fc2, - 0x3b1384, - 0x244183, - 0x209703, - 0x205503, - 0x204e83, - 0x200983, - 0x25ed03, - 0x16d208, - 0x36f502, - 0x99c2, - 0x1456108, - 0x100b4e, - 0x48e016c2, - 0x31a448, - 0x234386, - 0x209cc6, - 0x233d07, - 0x4920c202, - 0x49768ec8, - 0x20884a, - 0x25cc88, - 0x200242, - 0x31a0c9, - 0x2f3e07, - 0x216bc6, - 0x3b0d89, - 0x2cf204, - 0x20a6c6, - 0x2dbcc4, - 0x26ffc4, - 0x2544c9, - 0x326686, - 0x320945, - 0x22c445, - 0x384e07, - 0x2bfb47, - 0x28fa44, - 0x233f46, - 0x2fb005, - 0x2fde45, - 0x3963c5, - 0x3b3dc7, - 0x200c05, - 0x314b49, - 0x312945, - 0x333e44, - 0x39b5c7, - 0x31974e, - 0x32e5c9, - 0x33c109, - 0x3a64c6, - 0x23d408, - 0x26d98b, - 0x2aeecc, - 0x37f806, - 0x2dd887, - 0x20a305, - 0x37b5ca, - 0x22af49, - 0x20bf49, - 0x24ff86, - 0x2f69c5, - 0x27ce45, - 0x3490c9, - 0x39654b, - 0x273346, - 0x33a786, - 0x202504, - 0x28bb86, - 0x243908, - 0x3ba646, - 0x214386, - 0x207c08, - 0x20bb47, - 0x20bd09, - 0x20c585, - 0x16d208, - 0x212784, - 0x3ada04, - 0x283785, - 0x399a49, - 0x220f07, - 0x220f0b, - 0x22394a, - 0x227a45, - 0x49a08d42, - 0x33ea47, - 0x49e28908, - 0x2afb87, - 0x350e85, - 0x20c1ca, - 0x99c2, - 0x34dfcb, - 0x24d5ca, - 0x221bc6, - 0x282bc3, - 0x28e34d, - 0x3492cc, - 0x35084d, - 0x245c45, - 0x32ae05, - 0x202247, - 0x3aba49, - 0x208746, - 0x23cac5, - 0x2d29c8, - 0x28ba83, - 0x2dfac8, - 0x28ba88, - 0x2c3747, - 0x309708, - 0x3a7209, - 0x2cc447, - 0x33e247, - 0x396a48, - 0x251f44, - 0x251f47, - 0x273748, - 0x3a3ac6, - 0x205f4f, - 0x211a07, - 0x2e5446, - 0x225d85, - 0x223083, - 0x371847, - 0x36c043, - 0x248e46, - 0x24aa86, - 0x24b286, - 0x290c05, - 0x261903, - 0x388208, - 0x36f009, - 0x38224b, - 0x24b408, - 0x24d145, - 0x24f605, - 0x4a248902, - 0x352289, - 0x3b1407, - 0x256805, - 0x2543c7, - 0x2559c6, - 0x365a45, - 0x36e58b, - 0x257ec4, - 0x25c845, - 0x25c987, - 0x272cc6, - 0x273105, - 0x2812c7, - 0x281a07, - 0x2cd884, - 0x289c0a, - 0x28a0c8, - 0x3b8209, - 0x241e85, - 0x207886, - 0x243aca, - 0x22c346, - 0x261e07, - 0x3b7ecd, - 0x29c809, - 0x38d185, - 0x314187, - 0x332288, - 0x33d848, - 0x3b3107, - 0x379d86, - 0x215dc7, - 0x249f43, - 0x341c04, - 0x363485, - 0x392707, - 0x395dc9, - 0x22be48, - 0x344c45, - 0x23cd84, - 0x246245, - 0x24b80d, - 0x200f82, - 0x373746, - 0x25d246, - 0x2c578a, - 0x376546, - 0x37edc5, - 0x33df85, - 0x33df87, - 0x38ab8c, - 0x270b4a, - 0x28b846, - 0x2b9645, - 0x28b9c6, - 0x28bd07, - 0x28e186, - 0x290b0c, - 0x3b0ec9, - 0x4a610e07, - 0x293b05, - 0x293b06, - 0x293ec8, - 0x23b705, - 0x2a2c85, - 0x2a3848, - 0x2a3a4a, - 0x4aa4ecc2, - 0x4ae0ee02, - 0x2e6705, - 0x284f83, - 0x3adf08, - 0x204043, - 0x2a3cc4, - 0x2ed38b, - 0x26dd48, - 0x2e4d48, - 0x4b349909, - 0x2a7dc9, - 0x2a8906, - 0x2a9d48, - 0x2a9f49, - 0x2aab46, - 0x2aacc5, - 0x3843c6, - 0x2ab5c9, - 0x331f47, - 0x23ea86, - 0x233747, - 0x2085c7, - 0x32c8c4, - 0x4b7b1d49, - 0x2cab88, - 0x368dc8, - 0x383447, - 0x2c5246, - 0x226ac9, - 0x209c87, - 0x32e90a, - 0x38c588, - 0x3af5c7, - 0x3b9786, - 0x24f38a, - 0x262708, - 0x2dccc5, - 0x226645, - 0x2ee487, - 0x2f7349, - 0x36510b, - 0x315008, - 0x3129c9, - 0x24bfc7, - 0x2b550c, - 0x2b5c4c, - 0x2b5f4a, - 0x2b61cc, - 0x2c2708, - 0x2c2908, - 0x2c2b04, - 0x2c2ec9, - 0x2c3109, - 0x2c334a, - 0x2c35c9, - 0x2c3907, - 0x3af00c, - 0x241146, - 0x34acc8, - 0x22c406, - 0x32e7c6, - 0x38d087, - 0x3b3288, - 0x39034b, - 0x2afa47, - 0x352489, - 0x3445c9, - 0x249ac7, - 0x278a04, - 0x265187, - 0x2db346, - 0x214a06, - 0x2f3485, - 0x2a5888, - 0x291444, - 0x291446, - 0x270a0b, - 0x21ca49, - 0x214b46, - 0x21c489, - 0x3b3f46, - 0x254688, - 0x223b83, - 0x2f6b45, - 0x22edc9, - 0x261145, - 0x2f9684, - 0x272206, - 0x231545, - 0x228f86, - 0x3056c7, - 0x26e986, - 0x3a304b, - 0x22ea87, - 0x3379c6, - 0x346f06, - 0x384ec6, - 0x28fa09, - 0x2ef14a, - 0x2b3505, - 0x2170cd, - 0x2a3b46, - 0x235546, - 0x2b4e86, - 0x2ed045, - 0x2de9c7, - 0x2e14c7, - 0x3581ce, - 0x209703, - 0x2c5209, - 0x391dc9, - 0x37b9c7, - 0x358f07, - 0x29d645, - 0x27ec45, - 0x4ba2a88f, - 0x2ccec7, - 0x2cd088, - 0x2cd484, - 0x2cde46, - 0x4be44c42, - 0x2d2186, - 0x2d43c6, - 0x391f8e, - 0x2df90a, - 0x357b06, - 0x285eca, - 0x203549, - 0x324105, - 0x398008, - 0x3b5606, - 0x38cec8, - 0x26f088, - 0x28eb8b, - 0x233e05, - 0x200c88, - 0x207d4c, - 0x2bd507, - 0x24ae06, - 0x2e28c8, - 0x20a948, - 0x4c208442, - 0x20a48b, - 0x282549, - 0x329f09, - 0x3bb287, - 0x20f7c8, - 0x4c61bf48, - 0x3511cb, - 0x37e0c9, - 0x234fcd, - 0x2750c8, - 0x224a48, - 0x4ca03ec2, - 0x20e3c4, - 0x4ce1a2c2, - 0x2f4ec6, - 0x4d2004c2, - 0x3813ca, - 0x21c346, - 0x285908, - 0x284488, - 0x2af446, - 0x22d8c6, - 0x2f12c6, - 0x2a3185, - 0x238c04, - 0x4d61e144, - 0x205146, - 0x272707, - 0x4dae8bc7, - 0x35490b, - 0x319b09, - 0x32ae4a, - 0x391804, - 0x33e0c8, - 0x23e84d, - 0x2eb709, - 0x2eb948, - 0x2ebfc9, - 0x2ed844, - 0x243484, - 0x27c885, - 0x317b4b, - 0x26dcc6, - 0x3424c5, - 0x250149, - 0x234008, - 0x2047c4, - 0x37b749, - 0x208105, - 0x2bfb88, - 0x33e907, - 0x33c508, - 0x27d946, - 0x35e387, - 0x292349, - 0x2286c9, - 0x2492c5, - 0x334ec5, - 0x4de2d902, - 0x333c04, - 0x2049c5, - 0x32c146, - 0x318385, - 0x2b1ac7, - 0x205245, - 0x272d04, - 0x3a6586, - 0x23cb47, - 0x232986, - 0x2dca05, - 0x203188, - 0x234585, - 0x2062c7, - 0x20f1c9, - 0x21cb8a, - 0x2e1b87, - 0x2e1b8c, - 0x320906, - 0x343cc9, - 0x23b385, - 0x23b648, - 0x210803, - 0x210805, - 0x2e8a05, - 0x261607, - 0x4e20c002, - 0x22d0c7, - 0x2e4f06, - 0x342786, - 0x2e7d06, - 0x20a886, - 0x208388, - 0x241c85, - 0x2e5507, - 0x2e550d, - 0x201543, - 0x21ec05, - 0x201547, - 0x22d408, - 0x201105, - 0x218c88, - 0x36c0c6, - 0x32b9c7, - 0x2c4785, - 0x233e86, - 0x26f5c5, - 0x21390a, - 0x2f2e06, - 0x377ac7, - 0x2ca505, - 0x3612c7, - 0x36d6c4, - 0x2f9606, - 0x2fb3c5, - 0x32648b, - 0x2db1c9, - 0x2bb24a, - 0x249348, - 0x301d08, - 0x304a4c, - 0x306287, - 0x3073c8, - 0x310a48, - 0x31e945, - 0x34020a, - 0x35c3c9, - 0x4e600802, - 0x200806, - 0x219d04, - 0x2ea849, - 0x220b49, - 0x269287, - 0x294947, - 0x37e789, - 0x38cb48, - 0x38cb4f, - 0x315d06, - 0x2d670b, - 0x36e8c5, - 0x36e8c7, - 0x385889, - 0x212ac6, - 0x37b6c7, - 0x2d8905, - 0x2303c4, - 0x261006, - 0x211ac4, - 0x2ce4c7, - 0x307048, - 0x4eaf68c8, - 0x2f7085, - 0x2f71c7, - 0x236549, - 0x23e284, - 0x23e288, - 0x4ee2b888, - 0x279444, - 0x231388, - 0x32fdc4, - 0x3ab849, - 0x2173c5, - 0x4f20b0c2, - 0x315d45, - 0x2e4345, - 0x251288, - 0x232e47, - 0x4f601442, - 0x204785, - 0x2cf606, - 0x24b106, - 0x333bc8, - 0x302108, - 0x318346, - 0x327f06, - 0x2e2e49, - 0x3426c6, - 0x21298b, - 0x296305, - 0x368106, - 0x377088, - 0x250506, - 0x292cc6, - 0x21914a, - 0x23084a, - 0x245005, - 0x241d47, - 0x308786, - 0x4fa01682, - 0x201687, - 0x238705, - 0x243a44, - 0x243a45, - 0x391706, - 0x26a447, - 0x219a85, - 0x220c04, - 0x2c7e88, - 0x292d85, - 0x333a47, - 0x3a1645, - 0x213845, - 0x256e04, - 0x287609, - 0x2fae48, - 0x2e0286, - 0x2d9d06, - 0x2b6e46, - 0x4fefbc88, - 0x2fbe87, - 0x2fc0cd, - 0x2fcb4c, - 0x2fd149, - 0x2fd389, - 0x5035b2c2, - 0x3a8603, - 0x207943, - 0x2db405, - 0x39280a, - 0x327dc6, - 0x302385, - 0x305884, - 0x30588b, - 0x31b70c, - 0x31c14c, - 0x31c455, - 0x31d74d, - 0x320a8f, - 0x320e52, - 0x3212cf, - 0x321692, - 0x321b13, - 0x321fcd, - 0x32258d, - 0x32290e, - 0x322e8e, - 0x3236cc, - 0x323a8c, - 0x323ecb, - 0x32424e, - 0x325392, - 0x327b8c, - 0x328790, - 0x335212, - 0x33640c, - 0x336acd, - 0x336e0c, - 0x339a51, - 0x33a90d, - 0x34084d, - 0x340e4a, - 0x3410cc, - 0x3419cc, - 0x3421cc, - 0x34290c, - 0x344dd3, - 0x345450, - 0x345850, - 0x34610d, - 0x34670c, - 0x347309, - 0x34890d, - 0x348c53, - 0x34a311, - 0x34a753, - 0x34b24f, - 0x34b60c, - 0x34b90f, - 0x34bccd, - 0x34c2cf, - 0x34c690, - 0x34d10e, - 0x3539ce, - 0x353f50, - 0x35518d, - 0x355b0e, - 0x355e8c, - 0x356e93, - 0x35934e, - 0x3599d0, - 0x359dd1, - 0x35a20f, - 0x35a5d3, - 0x35ae4d, - 0x35b18f, - 0x35b54e, - 0x35bc10, - 0x35c009, - 0x35cd90, - 0x35d38f, - 0x35da0f, - 0x35ddd2, - 0x35efce, - 0x35fc4d, - 0x36070d, - 0x360a4d, - 0x36184d, - 0x361b8d, - 0x361ed0, - 0x3622cb, - 0x36324c, - 0x3635cc, - 0x363bcc, - 0x363ece, - 0x371a10, - 0x372dd2, - 0x37324b, - 0x3738ce, - 0x373c4e, - 0x3744ce, - 0x37494b, - 0x50774f56, - 0x37624d, - 0x3766d4, - 0x377e0d, - 0x37b115, - 0x37c40d, - 0x37cd8f, - 0x37d5cf, - 0x38250f, - 0x3828ce, - 0x382e4d, - 0x383f91, - 0x38674c, - 0x386a4c, - 0x386d4b, - 0x38764c, - 0x387a0f, - 0x387dd2, - 0x38878d, - 0x38974c, - 0x389bcc, - 0x389ecd, - 0x38a20f, - 0x38a5ce, - 0x3924cc, - 0x392a8d, - 0x392dcb, - 0x39358c, - 0x393b0d, - 0x393e4e, - 0x3941c9, - 0x394d13, - 0x39524d, - 0x39558d, - 0x395b8c, - 0x39600e, - 0x396fcf, - 0x39738c, - 0x39768d, - 0x3979cf, - 0x397d8c, - 0x39848c, - 0x39890c, - 0x398c0c, - 0x3992cd, - 0x399612, - 0x399c8c, - 0x399f8c, - 0x39a291, - 0x39a6cf, - 0x39aa8f, - 0x39ae53, - 0x39bcce, - 0x39c04f, - 0x39c40c, - 0x50b9c74e, - 0x39cacf, - 0x39ce96, - 0x39dc12, - 0x39f38c, - 0x39fd0f, - 0x3a038d, - 0x3a06cf, - 0x3a0a8c, - 0x3a0d8d, - 0x3a10cd, - 0x3a254e, - 0x3a4b8c, - 0x3a4e8c, - 0x3a5190, - 0x3a7a91, - 0x3a7ecb, - 0x3a820c, - 0x3a850e, - 0x3aa811, - 0x3aac4e, - 0x3aafcd, - 0x3b53cb, - 0x3b5e8f, - 0x3b6d94, - 0x228782, - 0x228782, - 0x200c83, - 0x228782, - 0x200c83, - 0x228782, - 0x205142, - 0x384405, - 0x3aa50c, - 0x228782, - 0x228782, - 0x205142, - 0x228782, - 0x294545, - 0x21cb85, - 0x228782, - 0x228782, - 0x20b382, - 0x294545, - 0x31f3c9, - 0x34a00c, - 0x228782, - 0x228782, - 0x228782, - 0x228782, - 0x384405, - 0x228782, - 0x228782, - 0x228782, - 0x228782, - 0x20b382, - 0x31f3c9, - 0x228782, - 0x228782, - 0x228782, - 0x21cb85, - 0x228782, - 0x21cb85, - 0x34a00c, - 0x3aa50c, - 0x38d2c3, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x3b1384, - 0x205503, - 0x200983, - 0x2708, - 0x5fc84, - 0xe0e08, - 0x205702, - 0x51a099c2, - 0x23dbc3, - 0x24f2c4, - 0x2032c3, - 0x393304, - 0x22f706, - 0x20e883, - 0x3328c4, - 0x286bc5, - 0x209703, - 0x205503, - 0x200983, - 0x255cca, - 0x2efec6, - 0x373fcc, - 0x16d208, - 0x2099c2, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x227f83, - 0x2d43c6, - 0x205503, - 0x200983, - 0x201303, - 0xa4508, - 0x129845, - 0x14902, - 0x52f86185, - 0x21347, - 0xc93c8, - 0xec0e, - 0x88192, - 0xfe20b, - 0x532d6a45, - 0x536d6a4c, - 0xb007, - 0x16fc07, - 0x1b254a, - 0x3a6d0, - 0x149c05, - 0xd95cb, - 0x68bc8, - 0x38f47, - 0x304cb, - 0x4efc9, - 0x11dd07, - 0x2c07, - 0x73587, - 0x1c106, - 0xd4ac8, - 0x53c1cdc6, - 0xa8a0d, - 0x1b1f10, - 0x5402bb82, - 0x9688, - 0x4a450, - 0x14434c, - 0x5474e88d, - 0x655c7, - 0x78749, - 0x52e06, - 0x940c8, - 0x67e42, - 0x9f54a, - 0x27f07, - 0x35fc7, - 0xa4909, - 0xa6388, - 0xb9b45, - 0xec50e, - 0xb54e, - 0xdecf, - 0x11809, - 0xbb9c9, - 0x43e4b, - 0x7664f, - 0x8780c, - 0x9ef4b, - 0xbbf48, - 0x154807, - 0xcdc48, - 0xfb80b, - 0xf568c, - 0xf640c, - 0xf908c, - 0xfe68d, - 0x17e248, - 0xeab02, - 0x113a49, - 0x185d4b, - 0xc5446, - 0x116fcb, - 0xd804a, - 0xd8c05, - 0xde6d0, - 0x111806, - 0x192345, - 0xe3f48, - 0xe9187, - 0xe9447, - 0xff487, - 0xf4d0a, - 0xc924a, - 0x5d306, - 0x91a0d, - 0x86ec8, - 0x55b08, - 0x56d49, - 0xb3c45, - 0xf484c, - 0xfe88b, - 0x165044, - 0xfaa89, - 0xfacc6, - 0x1af7c6, - 0x2dc2, - 0x125c86, - 0x107247, - 0x7b02, - 0xc83c5, - 0x29544, - 0x1ec1, - 0x4c983, - 0x53a85146, - 0x94443, - 0xd882, - 0x27f04, - 0x242, - 0x5ef44, - 0x3dc2, - 0x8142, - 0x2502, - 0x10f242, - 0x1ec2, - 0xd6a42, - 0x4142, - 0x1b102, - 0x2cd82, - 0x5742, - 0xdc2, + 0x28cac3, + 0x20f644, + 0x21bf84, + 0x208e83, + 0x201a03, + 0x215443, + 0x16fb88, + 0x207102, + 0x39c783, + 0x20f882, + 0x238543, + 0x23cac3, + 0x21b583, + 0x200942, + 0x231604, + 0x255783, + 0x28cac3, + 0x208e83, + 0x200e03, + 0x201a03, + 0x202443, + 0x16fb88, + 0x37fd82, + 0x18c1c7, 0xf882, - 0x32403, - 0x5f02, - 0x7c2, - 0x18342, - 0xfc82, - 0x5e82, - 0x1ae02, - 0x17f42, - 0x15c2, - 0x29c2, - 0x1fc2, - 0x44183, - 0x3942, - 0x6502, - 0xafd42, - 0xbe02, - 0x282, - 0x4bc2, - 0x1f42, - 0xa8542, - 0x2342, - 0x152bc2, - 0x675c2, - 0x2c82, - 0x5503, - 0x8c2, - 0x8442, - 0x33c2, - 0xb482, - 0x49245, - 0xba02, - 0x2d4c2, - 0x3c083, - 0x482, - 0x1c42, - 0x27c2, - 0x3902, - 0x1102, - 0x1442, - 0xc2, - 0x2dc2, - 0x9885, - 0x75c47, - 0x212503, - 0x205702, - 0x2a84c3, - 0x232403, - 0x2163c3, - 0x20ad83, - 0x227f83, - 0x205503, - 0x204e83, - 0x200983, - 0x294483, - 0x169c3, - 0x16d208, - 0x2a84c3, - 0x232403, - 0x2163c3, - 0x209703, - 0x205503, - 0x204e83, - 0x200983, - 0x2a84c3, - 0x232403, - 0x200983, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x200041, - 0x209703, - 0x205503, - 0x21c2c3, - 0x200983, - 0x38d2c3, - 0x2a84c3, - 0x232403, - 0x209683, - 0x2163c3, - 0x277dc3, - 0x280b83, - 0x21c303, - 0x252c03, - 0x2e9dc3, - 0x3b1384, - 0x205503, - 0x200983, - 0x25ed03, - 0x352e84, - 0x231a03, - 0x30c3, - 0x228483, - 0x37a908, - 0x24f3c4, - 0x3b870a, - 0x2b8ec6, - 0x1b6a04, - 0x39b2c7, - 0x21e7ca, - 0x315bc9, - 0x3ab587, - 0x3b724a, - 0x38d2c3, - 0x2e678b, - 0x2b9fc9, - 0x2bd645, - 0x2d1fc7, - 0x99c2, - 0x2a84c3, - 0x205747, - 0x2e2b85, - 0x2dbdc9, - 0x232403, - 0x233c06, - 0x2c1a43, - 0xdb283, - 0x104e46, - 0x18ec46, - 0xe807, - 0x212e46, - 0x21b185, - 0x282407, - 0x2d5b87, - 0x56ae9dc3, - 0x336647, - 0x365e03, - 0x206a05, - 0x3b1384, - 0x220688, - 0x38644c, - 0x2ad745, - 0x29c986, - 0x205607, - 0x38b907, - 0x238347, - 0x245108, - 0x303b8f, - 0x315e05, - 0x23dcc7, - 0x26f287, - 0x2a3e0a, - 0x2d2809, - 0x304f85, - 0x30664a, - 0x82a06, - 0x2c1ac5, - 0x374b84, - 0x2843c6, - 0x2f1d47, - 0x2eaa07, - 0x3bb408, - 0x22dc85, - 0x2e2a86, - 0x214305, - 0x3adcc5, - 0x21c984, - 0x2af347, - 0x2081ca, - 0x334808, - 0x35ba86, - 0x27f83, - 0x2da905, - 0x25f906, - 0x3af246, - 0x392246, - 0x209703, - 0x388a07, - 0x26f205, - 0x205503, - 0x2d830d, - 0x204e83, - 0x3bb508, - 0x27f404, - 0x272fc5, - 0x2a3d06, - 0x234d46, - 0x368007, - 0x2a6ec7, - 0x267345, - 0x200983, - 0x21fbc7, - 0x2788c9, - 0x311a49, - 0x22708a, - 0x243002, - 0x2069c4, - 0x2e5084, - 0x390207, - 0x22cf88, - 0x2ea2c9, - 0x21eac9, - 0x2eaf47, - 0x2ba486, - 0xec286, - 0x2ed844, - 0x2ede4a, - 0x2f0d48, - 0x2f1189, - 0x2bdbc6, - 0x2b1445, - 0x3346c8, - 0x2c5f8a, - 0x22ed03, - 0x353006, - 0x2eb047, - 0x223ec5, - 0x3a5e05, - 0x264b83, - 0x250cc4, - 0x226605, - 0x281b07, - 0x2faf85, - 0x2ee346, - 0xfc605, - 0x247d83, - 0x357bc9, - 0x272d8c, - 0x29344c, - 0x2ced08, - 0x293087, - 0x2f7908, - 0x2f7c4a, - 0x2f888b, - 0x2ba108, - 0x234e48, - 0x239586, - 0x390d45, - 0x38da4a, - 0x3a6205, - 0x20b0c2, - 0x2c4647, - 0x25fe86, - 0x35c8c5, - 0x370809, - 0x2f39c5, - 0x27e985, - 0x2ddf09, - 0x351846, - 0x237e88, - 0x33f383, - 0x20f486, - 0x272146, - 0x306445, - 0x306449, - 0x2b6789, - 0x279ac7, - 0x109104, - 0x309107, - 0x21e9c9, - 0x238d05, - 0x413c8, - 0x3b2e85, - 0x330e85, - 0x380509, - 0x201702, - 0x25e544, - 0x201e82, - 0x203942, - 0x31ecc5, - 0x3b6788, - 0x2b3b85, - 0x2c3ac3, - 0x2c3ac5, - 0x2d2383, - 0x20f442, - 0x377804, - 0x2ac783, - 0x2056c2, - 0x379884, - 0x2e5d43, - 0x2082c2, - 0x2b3c03, - 0x28d084, - 0x2e4c83, - 0x248684, - 0x203082, - 0x218943, - 0x22ef03, - 0x200d02, - 0x361782, - 0x2b65c9, - 0x207842, - 0x288d04, - 0x203cc2, - 0x334544, - 0x2ba444, - 0x2b74c4, - 0x202dc2, - 0x2391c2, - 0x225bc3, - 0x2f8403, - 0x23d904, - 0x281c84, - 0x2eb1c4, - 0x2f0f04, - 0x30a483, - 0x26e543, - 0x282984, - 0x30a2c4, - 0x30aac6, - 0x22a282, - 0x2099c2, - 0x232403, - 0x2e9dc3, - 0x205503, - 0x200983, - 0x205702, - 0x38d2c3, - 0x2a84c3, - 0x232403, - 0x2007c3, - 0x2e9dc3, - 0x3b1384, - 0x2b6884, - 0x211cc4, - 0x205503, - 0x200983, - 0x201303, - 0x2ee644, - 0x31a403, - 0x2bd0c3, - 0x34ab84, - 0x3b2c86, - 0x202f03, - 0x16fc07, - 0x222403, - 0x2459c3, - 0x2b0543, - 0x206a43, - 0x227f83, - 0x2d6cc5, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x205503, - 0x200983, - 0x282c43, - 0x2a5143, - 0x16d208, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x244183, - 0x205503, - 0x23a504, - 0x200983, - 0x26bec4, - 0x2bf145, - 0x16fc07, - 0x2099c2, + 0x10a985, + 0x1480cc8, + 0x10c50e, + 0x4ba0ab02, + 0x31fec8, + 0x2bdd86, + 0x2ca186, + 0x2bd707, + 0x4be00b42, + 0x4c3ac548, + 0x21870a, + 0x26b448, + 0x200242, + 0x31fb49, + 0x3b1b87, + 0x21ec06, + 0x34e849, + 0x2e9b44, + 0x348646, + 0x2ca584, + 0x27f584, + 0x25f009, + 0x32d906, + 0x240ac5, + 0x297a85, + 0x3b9d87, + 0x2c76c7, + 0x2979c4, + 0x2bd946, + 0x307b85, + 0x30a3c5, + 0x3a2a05, + 0x339407, + 0x378a05, + 0x31ddc9, + 0x234fc5, + 0x32f404, + 0x3a81c7, + 0x341b0e, + 0x306bc9, + 0x338749, + 0x388d86, + 0x24a608, + 0x36ae4b, + 0x2b698c, + 0x33ea46, + 0x2e5ac7, + 0x212245, + 0x38d20a, + 0x2b7389, + 0x209b49, + 0x259f06, + 0x300945, + 0x2edac5, + 0x3570c9, + 0x3a2b8b, + 0x27e286, + 0x3471c6, + 0x20de04, + 0x2943c6, + 0x24e1c8, + 0x3c0846, + 0x215006, + 0x205fc8, + 0x2092c7, + 0x209909, + 0x211385, + 0x16fb88, + 0x21a704, + 0x2394c4, + 0x201105, + 0x3a6649, + 0x228f87, + 0x228f8b, + 0x22b3ca, + 0x230905, + 0x4c612842, + 0x342f07, + 0x4ca30c08, + 0x3578c7, + 0x2c3d45, + 0x209dca, + 0xf882, + 0x2be6cb, + 0x255e0a, + 0x22a146, + 0x216383, + 0x2a038d, + 0x3572cc, + 0x357a4d, + 0x250545, + 0x334fc5, + 0x20db47, + 0x36c689, + 0x218606, + 0x381ac5, + 0x2d2b88, + 0x2942c3, + 0x2fa288, + 0x2942c8, + 0x2cb287, + 0x314808, + 0x3b49c9, + 0x374847, + 0x342707, + 0x202108, + 0x2d1c84, + 0x2d1c87, + 0x26fdc8, + 0x355546, + 0x3b874f, + 0x226207, + 0x2eb686, + 0x2298c5, + 0x22a8c3, + 0x381947, + 0x37cc43, + 0x252886, + 0x254006, + 0x254706, + 0x298b85, + 0x26e2c3, + 0x397cc8, + 0x37f889, + 0x3920cb, + 0x254888, + 0x255985, + 0x2584c5, + 0x4cef6802, + 0x250089, + 0x34eec7, + 0x263c85, + 0x25ef07, + 0x260506, + 0x374345, + 0x263ecb, + 0x2662c4, + 0x26b005, + 0x26b147, + 0x27db86, + 0x27e045, + 0x289a47, + 0x28a187, + 0x2d5104, + 0x291b8a, + 0x292048, + 0x2cee09, + 0x2a0f05, + 0x3bf1c6, + 0x24e38a, + 0x2be906, + 0x26f2c7, + 0x2ceacd, + 0x2aa349, + 0x396fc5, + 0x339f07, + 0x333448, + 0x25a5c8, + 0x332847, + 0x358246, + 0x21cb87, + 0x253c43, + 0x34b1c4, + 0x371cc5, + 0x39d947, + 0x3a2409, + 0x231b08, + 0x34cbc5, + 0x23bac4, + 0x254a45, + 0x256c4d, 0x2006c2, - 0x20d882, - 0x200c82, + 0x230386, + 0x2861c6, + 0x2e654a, + 0x3904c6, + 0x39ab85, + 0x342445, + 0x342447, + 0x3afd0c, + 0x27b3ca, + 0x294086, + 0x28ad05, + 0x294206, + 0x294547, + 0x296886, + 0x298a8c, + 0x34e989, + 0x4d21a187, + 0x29b745, + 0x29b746, + 0x29bcc8, + 0x246f85, + 0x2ab085, + 0x2ab808, + 0x2aba0a, + 0x4d6335c2, + 0x4da14d02, + 0x2e76c5, + 0x2eb603, + 0x243408, + 0x252403, + 0x2abc84, + 0x25240b, + 0x36b208, + 0x2daa48, + 0x4df3b049, + 0x2afc09, + 0x2b0746, + 0x2b1c08, + 0x2b1e09, + 0x2b2886, + 0x2b2a05, + 0x3944c6, + 0x2b2f49, + 0x389347, + 0x2647c6, + 0x2de087, + 0x218487, + 0x2dd9c4, + 0x4e34f809, + 0x2d32c8, + 0x3ac448, + 0x3932c7, + 0x2cd346, + 0x36c489, + 0x2ca847, + 0x32598a, + 0x358388, + 0x208387, + 0x208f86, + 0x271d8a, + 0x26fbc8, + 0x2ed485, + 0x230685, + 0x2ef1c7, + 0x311cc9, + 0x30150b, + 0x31a308, + 0x235049, + 0x254c87, + 0x2bd04c, + 0x2bfccc, + 0x2bffca, + 0x2c024c, + 0x2ca108, + 0x2ca308, + 0x2ca504, + 0x2caa09, + 0x2cac49, + 0x2cae8a, + 0x2cb109, + 0x2cb447, + 0x3ba98c, + 0x23f586, + 0x2cbf88, + 0x2be9c6, + 0x387486, + 0x396ec7, + 0x306dc8, + 0x3445cb, + 0x28e307, + 0x250289, + 0x350b89, + 0x253507, + 0x2771c4, + 0x271c07, + 0x2fda46, + 0x21d8c6, + 0x33c345, + 0x297248, + 0x2993c4, + 0x2993c6, + 0x27b28b, + 0x21bac9, + 0x36c886, + 0x204bc9, + 0x339586, + 0x25f1c8, + 0x211b83, + 0x300ac5, + 0x219b09, + 0x21da05, + 0x2fba44, + 0x27d046, + 0x2fd385, + 0x299906, + 0x310ec7, + 0x33a986, + 0x3b134b, + 0x237587, + 0x241646, + 0x354786, + 0x3b9e46, + 0x297989, + 0x25384a, + 0x2bbb85, + 0x2202cd, + 0x2abb06, + 0x204a86, + 0x2f3f06, + 0x22dd45, + 0x2e6ac7, + 0x300087, + 0x2e7dce, + 0x28cac3, + 0x2cd309, + 0x210c89, + 0x38d607, + 0x364207, + 0x2a5bc5, + 0x2b57c5, + 0x4e63470f, + 0x2d5a47, + 0x2d5c08, + 0x2d6144, + 0x2d7106, + 0x4ea4ea42, + 0x2da786, + 0x20c0c6, + 0x210e4e, + 0x2fa0ca, + 0x273b06, + 0x23398a, + 0x211689, + 0x32b385, + 0x3a4808, + 0x3bca06, + 0x306748, + 0x33aac8, + 0x2194cb, + 0x2bd805, + 0x378a88, + 0x20610c, + 0x2c3c07, + 0x254246, + 0x2fd1c8, + 0x3488c8, + 0x4ee06802, + 0x23588b, + 0x2123c9, + 0x205549, + 0x2174c7, + 0x223408, + 0x4f36bec8, + 0x38ffcb, + 0x23edc9, + 0x338f0d, + 0x27fa88, + 0x22b1c8, + 0x4f6014c2, + 0x203cc4, + 0x4fa19302, + 0x2fe206, + 0x4fe004c2, + 0x261b8a, + 0x2199c6, + 0x232808, + 0x2c6f48, + 0x2b6f06, + 0x22fe46, + 0x2f9186, + 0x2b5a45, + 0x2443c4, + 0x50206d04, + 0x214106, + 0x29c747, + 0x50620c47, + 0x2d644b, + 0x341ec9, + 0x33500a, + 0x2106c4, + 0x342588, + 0x26458d, + 0x2f2489, + 0x2f26c8, + 0x2f2d49, + 0x2f4544, + 0x245884, + 0x285cc5, + 0x320fcb, + 0x36b186, + 0x34b905, + 0x2279c9, + 0x2bda08, + 0x210dc4, + 0x38d389, + 0x2064c5, + 0x2c7708, + 0x342dc7, + 0x338b48, + 0x286d86, + 0x233207, + 0x29a989, + 0x224a49, + 0x38adc5, + 0x34dfc5, + 0x50a08402, + 0x32f1c4, + 0x2fdd45, + 0x2ce506, + 0x33bd05, + 0x387e47, + 0x214205, + 0x27dbc4, + 0x388e46, + 0x381b47, + 0x23d046, + 0x2c41c5, + 0x207f48, + 0x2bdf85, + 0x211a07, + 0x214689, + 0x21bc0a, + 0x2fc487, + 0x2fc48c, + 0x240a86, + 0x37e349, + 0x246a45, + 0x246ec8, + 0x207c03, + 0x216d85, + 0x2fd705, + 0x282d47, + 0x50e06ac2, + 0x22f647, + 0x2e56c6, + 0x373b46, + 0x30bfc6, + 0x348806, + 0x206748, + 0x2a0d05, + 0x2eb747, + 0x2eb74d, + 0x227103, + 0x227105, + 0x379347, + 0x22f988, + 0x378f05, + 0x2216c8, + 0x37ccc6, + 0x335b87, + 0x2cbec5, + 0x2bd886, + 0x39ce45, + 0x21c70a, + 0x2f1346, + 0x383f47, + 0x2bca85, + 0x2f5047, + 0x2f97c4, + 0x2fb9c6, + 0x2fe345, + 0x32d70b, + 0x2fd8c9, + 0x24214a, + 0x38ae48, + 0x30e048, + 0x380a8c, + 0x3964c7, + 0x3054c8, + 0x307f48, + 0x3084c5, + 0x311a8a, + 0x31c449, + 0x51200d02, + 0x201886, + 0x216044, + 0x216049, + 0x27d549, + 0x27e9c7, + 0x2b4e07, + 0x2938c9, + 0x22df48, + 0x22df4f, + 0x2e3a06, + 0x2df14b, + 0x34b445, + 0x34b447, + 0x368849, + 0x21aa46, + 0x38d307, + 0x2e1a45, + 0x23ae84, + 0x284fc6, + 0x2262c4, + 0x2db107, + 0x2d6f08, + 0x51700848, + 0x301245, + 0x301387, + 0x260a09, + 0x205304, + 0x24b348, + 0x51ab7cc8, + 0x283384, + 0x23c208, + 0x332d44, + 0x22be49, + 0x351a45, + 0x51e05082, + 0x2e3a45, + 0x310045, + 0x20fc48, + 0x23d747, + 0x52200d42, + 0x3322c5, + 0x2d8e46, + 0x27cb06, + 0x32f188, + 0x337d48, + 0x33bcc6, + 0x34bb06, + 0x38c289, + 0x373a86, + 0x21a90b, + 0x2e5f85, + 0x208a46, + 0x29e108, + 0x3a0a06, + 0x322c46, + 0x221b8a, + 0x23b30a, + 0x2498c5, + 0x2a0dc7, + 0x313646, + 0x52606442, + 0x379487, + 0x266cc5, + 0x24e304, + 0x24e305, + 0x2105c6, + 0x278fc7, + 0x215dc5, + 0x23b484, + 0x2c4788, + 0x322d05, + 0x3af347, + 0x3b6dc5, + 0x21c645, + 0x258f84, + 0x2ee209, + 0x3079c8, + 0x263146, + 0x2b5386, + 0x345186, + 0x52b08148, + 0x308347, + 0x30874d, + 0x3090cc, + 0x3096c9, + 0x309909, + 0x52f67742, + 0x3b6343, + 0x215ac3, + 0x2fdb05, + 0x39da4a, + 0x32f046, + 0x30e2c5, + 0x311084, + 0x31108b, + 0x323a8c, + 0x3244cc, + 0x3247d5, + 0x32660d, + 0x327d0f, + 0x3280d2, + 0x32854f, + 0x328912, + 0x328d93, + 0x32924d, + 0x32980d, + 0x329b8e, + 0x32a10e, + 0x32a94c, + 0x32ad0c, + 0x32b14b, + 0x32b4ce, + 0x32c612, + 0x32ee0c, + 0x32fd90, + 0x33cd52, + 0x33d9cc, + 0x33e08d, + 0x33e3cc, + 0x3406d1, + 0x34734d, + 0x349e0d, + 0x34a40a, + 0x34a68c, + 0x34af8c, + 0x34b60c, + 0x34c20c, + 0x3523d3, + 0x352cd0, + 0x3530d0, + 0x35398d, + 0x353f8c, + 0x354b89, + 0x35690d, + 0x356c53, + 0x3595d1, + 0x359a13, + 0x35a0cf, + 0x35a48c, + 0x35a78f, + 0x35ab4d, + 0x35b14f, + 0x35b510, + 0x35bf8e, + 0x35f88e, + 0x35fe10, + 0x36150d, + 0x361e8e, + 0x36220c, + 0x363213, + 0x3658ce, + 0x365f50, + 0x366351, + 0x36678f, + 0x366b53, + 0x3672cd, + 0x36760f, + 0x3679ce, + 0x368090, + 0x368489, + 0x369210, + 0x36980f, + 0x369e8f, + 0x36a252, + 0x36dcce, + 0x36e7cd, + 0x36f00d, + 0x36f34d, + 0x37078d, + 0x370acd, + 0x370e10, + 0x37120b, + 0x371a8c, + 0x371e0c, + 0x37240c, + 0x37270e, + 0x382350, + 0x384512, + 0x38498b, + 0x384e8e, + 0x38520e, + 0x386dce, + 0x38724b, + 0x53388016, + 0x38988d, + 0x38a014, + 0x38b04d, + 0x38cd55, + 0x38e30d, + 0x38ec8f, + 0x38f4cf, + 0x39238f, + 0x39274e, + 0x392ccd, + 0x394091, + 0x39668c, + 0x39698c, + 0x396c8b, + 0x39710c, + 0x3974cf, + 0x397892, + 0x39824d, + 0x39974c, + 0x399bcc, + 0x399ecd, + 0x39a20f, + 0x39a5ce, + 0x39d70c, + 0x39dccd, + 0x39e00b, + 0x39e9cc, + 0x39f2cd, + 0x39f60e, + 0x39f989, + 0x3a1353, + 0x3a188d, + 0x3a1bcd, + 0x3a21cc, + 0x3a264e, + 0x3a37cf, + 0x3a3b8c, + 0x3a3e8d, + 0x3a41cf, + 0x3a458c, + 0x3a508c, + 0x3a550c, + 0x3a580c, + 0x3a5ecd, + 0x3a6212, + 0x3a688c, + 0x3a6b8c, + 0x3a6e91, + 0x3a72cf, + 0x3a768f, + 0x3a7a53, + 0x3a8a0e, + 0x3a8d8f, + 0x3a914c, + 0x537a948e, + 0x3a980f, + 0x3a9bd6, + 0x3aaa92, + 0x3acf0c, + 0x3ada0f, + 0x3ae08d, + 0x3ae3cf, + 0x3ae78c, + 0x3aea8d, + 0x3aedcd, + 0x3b084e, + 0x3b228c, + 0x3b258c, + 0x3b2890, + 0x3b57d1, + 0x3b5c0b, + 0x3b5f4c, + 0x3b624e, + 0x3b7211, + 0x3b764e, + 0x3b79cd, + 0x3bc7cb, + 0x3bd88f, + 0x3be394, + 0x210642, + 0x210642, + 0x204d43, + 0x210642, + 0x204d43, + 0x210642, + 0x2009c2, + 0x394505, + 0x3b6f0c, + 0x210642, + 0x210642, + 0x2009c2, + 0x210642, + 0x29c345, + 0x21bc05, + 0x210642, + 0x210642, + 0x201102, + 0x29c345, + 0x326b49, + 0x3592cc, + 0x210642, + 0x210642, + 0x210642, + 0x210642, + 0x394505, + 0x210642, + 0x210642, + 0x210642, + 0x210642, + 0x201102, + 0x326b49, + 0x210642, + 0x210642, + 0x210642, + 0x21bc05, + 0x210642, + 0x21bc05, + 0x3592cc, + 0x3b6f0c, + 0x39c783, + 0x238543, + 0x23cac3, + 0x323043, + 0x231604, + 0x208e83, + 0x201a03, + 0xe008, + 0x64344, + 0xe03, + 0xc63c8, + 0x207102, + 0x5460f882, + 0x24ac83, + 0x23f044, + 0x2020c3, + 0x39e544, + 0x23a1c6, + 0x216f83, + 0x304704, + 0x2d7b05, + 0x28cac3, + 0x208e83, + 0x1a3443, + 0x201a03, + 0x243d0a, + 0x3821c6, + 0x38558c, + 0x16fb88, + 0x20f882, + 0x238543, + 0x23cac3, + 0x323043, + 0x229443, + 0x20c0c6, + 0x208e83, + 0x201a03, + 0x221483, + 0xac408, + 0x131645, + 0x35f09, + 0x35c2, + 0x55b95645, + 0x26547, + 0xba9c8, + 0x14b0e, + 0x90212, + 0x10a78b, + 0x1398c6, + 0x55edf485, + 0x562df48c, + 0x148f87, + 0x36dc7, + 0x15000a, + 0x46690, + 0x13b345, + 0xb610b, + 0xf8d08, + 0x3e607, + 0x3af8b, + 0x57f89, + 0x185a87, + 0x81a87, + 0x7e4c7, + 0x3e546, + 0xdd088, + 0x56824386, + 0xb084d, + 0x14f9d0, + 0x56c0c182, + 0x8ca48, + 0x4f450, + 0x15090c, + 0x5735cd4d, + 0x64a88, + 0x721c7, + 0x76f09, + 0x5d3c6, + 0x9bec8, + 0x351c2, + 0xa808a, + 0x293c7, + 0x43b87, + 0xac7c9, + 0xae208, + 0x8b205, + 0xd538e, + 0x5c4e, + 0x17a8f, + 0x18009, + 0x164ec9, + 0x15d38b, + 0x7ba8f, + 0xee40c, + 0xa88cb, + 0xc8b48, + 0xd6347, + 0xdbe88, + 0xfe78b, + 0xff34c, + 0x10038c, + 0x1037cc, + 0x10b54d, + 0x3ef48, + 0xd2942, + 0x134649, + 0x195d8b, + 0xcd546, + 0x11f30b, + 0xe118a, + 0xe1d45, + 0xe67d0, + 0xe9f06, + 0x16b986, + 0x11205, + 0x10fc48, + 0xefd07, + 0xeffc7, + 0x8d047, + 0xfe04a, + 0xba84a, + 0x86286, + 0x99d0d, + 0x8f148, + 0x586c8, + 0x58ec9, + 0xbc8c5, + 0x1ad70c, + 0x10b74b, + 0x19e604, + 0x105e09, + 0x106046, + 0x16546, + 0x2642, + 0x12cf06, + 0xc68b, + 0x112707, + 0x4542, + 0xd1305, + 0x2e604, + 0x8c1, + 0x52d03, + 0x56764886, + 0x9c243, + 0x7b02, + 0x293c4, + 0x242, + 0x86644, + 0xf82, + 0x6502, + 0x3302, + 0xd342, + 0x1382, + 0xdf482, + 0x8c2, + 0x22902, + 0x40e82, + 0x1a442, + 0x4c82, + 0x234c2, + 0x3cac3, + 0x6b82, + 0x1842, + 0x7602, + 0x6b02, + 0x17202, + 0x36d02, + 0x206c2, + 0xc442, + 0x1c82, + 0x942, + 0x55783, + 0x4182, + 0x2542, + 0xb8042, + 0x9a02, + 0x282, + 0x2942, + 0xd842, + 0xc202, + 0x4a82, + 0x182842, + 0x745c2, + 0xe82, + 0x8e83, + 0x1942, + 0x6802, + 0x982, + 0x5b82, + 0x18ad45, + 0x7082, + 0x2fa42, + 0x13ebc3, + 0x482, + 0xb282, + 0xa02, + 0x2502, + 0x6742, + 0xd42, + 0xc2, + 0x2642, + 0x35dc5, + 0x17f087, + 0x20d0c3, + 0x207102, + 0x238543, + 0x23cac3, + 0x21b583, + 0x2046c3, + 0x229443, + 0x208e83, + 0x200e03, + 0x201a03, + 0x29c283, + 0x10c3, + 0x16fb88, + 0x238543, + 0x23cac3, + 0x21b583, + 0x28cac3, + 0x208e83, + 0x200e03, + 0x1a3443, + 0x201a03, + 0x238543, + 0x23cac3, + 0x201a03, + 0x238543, + 0x23cac3, + 0x323043, + 0x200041, + 0x28cac3, + 0x208e83, + 0x21b543, + 0x201a03, + 0x146f44, + 0x39c783, + 0x238543, + 0x23cac3, + 0x26eac3, + 0x21b583, + 0x207b03, + 0x289303, + 0x219983, + 0x241503, + 0x323043, + 0x231604, + 0x208e83, + 0x201a03, + 0x202443, + 0x333cc4, + 0x251183, + 0x3ec3, + 0x3c0943, + 0x20a3c8, + 0x271dc4, + 0x2cf30a, + 0x2bed86, + 0x112384, + 0x3a7ec7, + 0x226cca, + 0x2e38c9, + 0x3b7f87, + 0x3be84a, + 0x39c783, + 0x2e774b, + 0x28b689, + 0x345285, + 0x2da5c7, + 0xf882, + 0x238543, + 0x21a447, + 0x2379c5, + 0x2ca689, + 0x23cac3, + 0x2bd606, + 0x2c9883, + 0xe5743, + 0x110646, + 0xd386, + 0x16f07, + 0x21af86, + 0x222985, + 0x3a3147, + 0x2de5c7, + 0x59b23043, + 0x33dc07, + 0x374703, + 0x3b5045, + 0x231604, + 0x231308, + 0x366fcc, + 0x2b4fc5, + 0x2aa4c6, + 0x21a307, + 0x39b687, + 0x23dfc7, + 0x23f108, + 0x30f50f, + 0x2e3b05, + 0x24ad87, + 0x33acc7, + 0x2abdca, + 0x2d29c9, + 0x39e6c5, + 0x31078a, + 0xc546, + 0x2c9905, + 0x3703c4, + 0x2c6e86, + 0x300e07, + 0x2d2847, + 0x306908, + 0x217645, + 0x2378c6, + 0x214f85, + 0x2e8105, + 0x21ba04, + 0x2b6e07, + 0x20658a, + 0x34d908, + 0x367f06, + 0x29443, + 0x2e4505, + 0x26bf86, + 0x3babc6, + 0x211106, + 0x28cac3, + 0x3984c7, + 0x33ac45, + 0x208e83, + 0x2e144d, + 0x200e03, + 0x306a08, + 0x3b3644, + 0x310945, + 0x2abcc6, + 0x23f386, + 0x208947, + 0x2aed47, + 0x26f045, + 0x201a03, + 0x20a147, + 0x277089, + 0x36bbc9, + 0x227f4a, + 0x235d82, + 0x3b5004, + 0x2eb2c4, + 0x344487, + 0x22f508, + 0x2f0889, + 0x226fc9, + 0x2f1ac7, + 0x28bb46, + 0xf3006, + 0x2f4544, + 0x2f4b4a, + 0x2f8248, + 0x2f9049, + 0x2c4bc6, + 0x2b9545, + 0x34d7c8, + 0x2cdc4a, + 0x20ec43, + 0x333e46, + 0x2f1bc7, + 0x225f45, + 0x3b3505, + 0x3a04c3, + 0x231944, + 0x230645, + 0x28a287, + 0x307b05, + 0x2ef086, + 0x103d45, + 0x273bc3, + 0x273bc9, + 0x26c04c, + 0x2a2b4c, + 0x2d8648, + 0x284187, + 0x301e08, + 0x30214a, + 0x302fcb, + 0x28b7c8, + 0x23ec48, + 0x23f486, + 0x345045, + 0x34624a, + 0x228cc5, + 0x205082, + 0x2cbd87, + 0x29f806, + 0x368d45, + 0x304209, + 0x281405, + 0x3716c5, + 0x218ac9, + 0x388a46, + 0x204448, + 0x332643, + 0x217186, + 0x27cf86, + 0x311f05, + 0x311f09, + 0x2f0fc9, + 0x27a3c7, + 0x114204, + 0x314207, + 0x226ec9, + 0x23f805, + 0x444c8, + 0x39c485, + 0x341a05, + 0x3911c9, + 0x20cac2, + 0x2628c4, + 0x200882, + 0x204182, + 0x30e985, + 0x312108, + 0x2bc805, + 0x2cb603, + 0x2cb605, + 0x2da983, + 0x2162c2, + 0x383c84, + 0x2fc183, + 0x20cb42, + 0x341504, + 0x2ec043, + 0x206682, + 0x28cfc3, + 0x295384, + 0x2eae03, + 0x2f6584, + 0x204242, + 0x221383, + 0x219c43, + 0x206182, + 0x332182, + 0x2f0e09, + 0x204382, + 0x290d84, + 0x201f82, + 0x34d644, + 0x28bb04, + 0x2c0d84, + 0x202642, + 0x23e882, + 0x229703, + 0x302d83, + 0x24a9c4, + 0x28a404, + 0x2f1d44, + 0x2f8404, + 0x315743, + 0x224183, + 0x20c4c4, + 0x315584, + 0x315d86, + 0x232ec2, + 0x20f882, + 0x23cac3, + 0x323043, + 0x208e83, + 0x201a03, + 0x207102, + 0x39c783, + 0x238543, + 0x23cac3, + 0x201843, + 0x323043, + 0x231604, + 0x2f10c4, + 0x21bf84, + 0x208e83, + 0x201a03, + 0x221483, + 0x2f5204, + 0x31fe83, + 0x2c37c3, + 0x359e44, + 0x39c286, + 0x211c43, + 0x36dc7, + 0x21f243, + 0x202103, + 0x2b8d83, + 0x263a43, + 0x229443, + 0x3321c5, + 0x238543, + 0x23cac3, + 0x323043, + 0x208e83, + 0x201a03, + 0x216403, + 0x239043, + 0x16fb88, + 0x238543, + 0x23cac3, + 0x323043, + 0x255783, + 0x208e83, + 0x2464c4, + 0x1a3443, + 0x201a03, + 0x25b0c4, + 0x2c6c85, + 0x36dc7, + 0x20f882, + 0x201742, + 0x207b02, + 0x204d42, + 0xe03, 0x200442, - 0x2a84c3, - 0x235ac4, - 0x232403, - 0x2e9dc3, - 0x209703, - 0x205503, - 0x200983, - 0x16d208, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x209703, - 0x211cc4, - 0x205503, - 0x200983, - 0x214843, - 0x25ef44, - 0x16d208, - 0x2a84c3, - 0x204e83, - 0x169c3, - 0x2030c4, - 0x16d208, - 0x2a84c3, - 0x249944, - 0x3b1384, - 0x204e83, - 0x203ec2, - 0x200983, - 0x23e743, - 0x50cc4, - 0x373605, - 0x20b0c2, - 0x30a403, - 0x205702, - 0x16d208, - 0x2099c2, - 0x232403, - 0x2e9dc3, - 0x201fc2, - 0x200983, - 0x205702, - 0x1b7407, - 0x12e3c9, - 0x6f83, - 0x16d208, - 0x18ebc3, - 0x5a31fd87, - 0xa84c3, - 0x708, - 0x232403, - 0x2e9dc3, - 0x1ae886, - 0x244183, - 0x8f2c8, - 0xc0e08, - 0x41a46, - 0x209703, - 0xca988, - 0xb1b43, - 0xdf145, - 0x32607, - 0x8003, - 0x174c0a, - 0x11ed83, - 0x308d44, - 0x10398b, - 0x103f48, - 0x8d742, - 0x205702, - 0x2099c2, - 0x2a84c3, - 0x232403, - 0x2d5f04, - 0x2e9dc3, - 0x244183, - 0x209703, - 0x205503, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x227f83, - 0x205503, - 0x200983, - 0x21aa03, - 0x214843, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x205503, - 0x200983, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x205503, - 0x200983, - 0x169c3, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x3b1384, - 0x227f83, - 0x205503, - 0x200983, - 0x212982, + 0x238543, + 0x240244, + 0x23cac3, + 0x323043, + 0x28cac3, + 0x208e83, + 0x201a03, + 0x16fb88, + 0x238543, + 0x23cac3, + 0x323043, + 0x28cac3, + 0x21bf84, + 0x208e83, + 0xe03, + 0x201a03, + 0x215443, + 0x286644, + 0x16fb88, + 0x238543, + 0x200e03, + 0x10c3, + 0x13e8c4, + 0x252044, + 0x16fb88, + 0x238543, + 0x253384, + 0x231604, + 0x200e03, + 0x2014c2, + 0x201a03, + 0x20c843, + 0x31944, + 0x355685, + 0x205082, + 0x3156c3, + 0x145c49, + 0xdfb46, + 0x19c588, + 0x207102, + 0x16fb88, + 0x20f882, + 0x23cac3, + 0x323043, + 0x200942, + 0xe03, + 0x201a03, + 0x207102, + 0x1bea07, + 0x1370c9, + 0x3dc3, + 0x16fb88, + 0xd303, + 0x5db4c807, + 0x38543, + 0x1788, + 0x23cac3, + 0x323043, + 0x186c46, + 0x255783, + 0xe8888, + 0xc9148, + 0x3fbc6, + 0x28cac3, + 0xd30c8, + 0x187ec3, + 0xe8a85, + 0x3ccc7, + 0x8e83, + 0x63c3, + 0x1a03, + 0xcb02, + 0x17044a, + 0x10ea43, + 0x313e44, + 0x10f30b, + 0x10f8c8, + 0x95e02, + 0x207102, + 0x20f882, + 0x238543, + 0x23cac3, + 0x2de944, + 0x323043, + 0x255783, + 0x28cac3, + 0x208e83, + 0x238543, + 0x23cac3, + 0x323043, + 0x229443, + 0x208e83, + 0x201a03, + 0x236903, + 0x215443, + 0x238543, + 0x23cac3, + 0x323043, + 0x208e83, + 0x201a03, + 0x238543, + 0x23cac3, + 0x323043, + 0x208e83, + 0x201a03, + 0x10c3, + 0x238543, + 0x23cac3, + 0x323043, + 0x231604, + 0x229443, + 0x208e83, + 0x201a03, + 0x21a902, 0x200141, - 0x205702, + 0x207102, 0x200001, - 0x320b82, - 0x16d208, - 0x21d445, - 0x201ec1, - 0xa84c3, - 0x200701, + 0x327e02, + 0x16fb88, + 0x224c85, + 0x2008c1, + 0x38543, + 0x201781, 0x200301, 0x200081, - 0x298602, - 0x36c044, - 0x384383, + 0x2ac602, + 0x37cc44, + 0x394483, 0x200181, 0x200401, 0x200041, 0x200101, - 0x2e9907, - 0x2eab8f, - 0x340446, + 0x2ea547, + 0x2ec54f, + 0x2fbc06, 0x200281, - 0x37f6c6, - 0x200e81, - 0x2008c1, - 0x332a0e, - 0x200441, - 0x200983, - 0x201301, - 0x270e85, - 0x20f942, - 0x264a85, - 0x200341, + 0x33e906, 0x200801, + 0x200981, + 0x306f8e, + 0x200441, + 0x201a03, + 0x204101, + 0x258885, + 0x20cb02, + 0x3a03c5, + 0x200341, + 0x200741, 0x2002c1, - 0x20b0c2, + 0x205082, 0x2000c1, 0x200201, - 0x200bc1, + 0x200c81, 0x2005c1, - 0x201cc1, - 0x16d208, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x205503, - 0x200983, - 0x219503, - 0x2a84c3, - 0x2e9dc3, - 0x8d688, - 0x209703, - 0x205503, - 0x20803, - 0x200983, - 0x14e7e88, - 0x16d208, - 0x44e04, - 0x14e7e8a, - 0x16d208, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x205503, - 0x200983, - 0x2030c3, - 0x16d208, - 0x2a84c3, - 0x232403, - 0x2d5f04, - 0x200983, - 0x27a305, - 0x33b804, - 0x2a84c3, - 0x205503, - 0x200983, - 0x225ca, - 0xd5284, - 0x10c9c6, - 0x2099c2, - 0x2a84c3, - 0x230309, - 0x232403, - 0x3034c9, - 0x2e9dc3, - 0x209703, - 0x205503, - 0x200983, - 0x2ed648, - 0x22ca47, - 0x373605, - 0x18ed88, - 0x1b7407, - 0x2d20a, - 0xecb, - 0x4ab87, - 0x3d2c8, - 0x1b1b8a, - 0x10a48, - 0x12e3c9, - 0x264c7, - 0x3be87, - 0x152b08, - 0x708, - 0x3df8f, - 0x11d85, - 0xa07, - 0x1ae886, - 0x137607, - 0x3d586, - 0x8f2c8, - 0xa5606, - 0x151647, - 0x19c9, - 0x1aa1c7, - 0xa46c9, - 0xb4a09, - 0xbeec6, - 0xc0e08, - 0xbfcc5, - 0x4eb4a, - 0xca988, - 0xb1b43, - 0xd2648, - 0x32607, - 0x6d505, - 0x69c50, - 0x8003, - 0x1aa047, - 0x15ec5, - 0xe9748, - 0x13ce05, - 0x11ed83, - 0x6fd48, - 0xcd46, - 0x42849, - 0xaa147, - 0x6fa0b, - 0x14ac44, - 0xfa544, - 0x10398b, - 0x103f48, - 0x104d47, - 0x129845, - 0x2a84c3, - 0x232403, - 0x2163c3, - 0x200983, - 0x22a403, - 0x2e9dc3, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x209703, - 0x205503, - 0x200983, - 0x43f8b, - 0x205702, - 0x2099c2, - 0x200983, - 0x16d208, - 0x205702, - 0x2099c2, - 0x20d882, - 0x201fc2, - 0x203d02, - 0x205503, + 0x204541, + 0x16fb88, + 0x238543, + 0x23cac3, + 0x323043, + 0x208e83, + 0x201a03, + 0x221f43, + 0x238543, + 0x323043, + 0x95d48, + 0x28cac3, + 0x208e83, + 0x31483, + 0x201a03, + 0x14eec08, + 0x16308, + 0x16fb88, + 0xe03, + 0x8e444, + 0x4ec04, + 0x14eec0a, + 0x16fb88, + 0x1a3443, + 0x238543, + 0x23cac3, + 0x323043, + 0x208e83, + 0x201a03, + 0x203ec3, + 0x16fb88, + 0x238543, + 0x23cac3, + 0x2de944, + 0x201a03, + 0x22d585, + 0x35f2c4, + 0x238543, + 0x208e83, + 0x201a03, + 0x1f40a, + 0xf1844, + 0x118b06, + 0x20f882, + 0x238543, + 0x23adc9, + 0x23cac3, + 0x375449, + 0x323043, + 0x28cac3, + 0x208e83, + 0x201a03, + 0x2f4348, + 0x22dc07, + 0x355685, + 0xb4c8, + 0x1bea07, + 0x2f78a, + 0x178ccb, + 0x13c507, + 0x4a4c8, + 0x14f64a, + 0x19dc8, + 0x1370c9, + 0x30507, + 0x742c7, + 0x19bf08, + 0x1788, + 0x4b04f, + 0x1c045, + 0x1a87, + 0x186c46, + 0x41287, + 0x4a786, + 0xe8888, + 0x96fc6, + 0x188847, + 0x178809, + 0x1bf307, + 0xd81c9, + 0xbcbc9, + 0xc6a06, + 0xc9148, + 0xc7845, + 0x57b0a, + 0xd30c8, + 0x187ec3, + 0xdad48, + 0x3ccc7, + 0x131f45, + 0x787d0, + 0x63c3, + 0x1a3443, + 0x125807, + 0x1cc85, + 0xf02c8, + 0xe385, + 0x10ea43, + 0x16d5c8, + 0x12906, + 0x198909, + 0xb2007, + 0x145f0b, + 0x180884, + 0x104f04, + 0x10f30b, + 0x10f8c8, + 0x110547, + 0x131645, + 0x238543, + 0x23cac3, + 0x21b583, + 0x201a03, + 0x20c743, + 0x323043, + 0x1a3443, + 0x238543, + 0x23cac3, + 0x323043, + 0x28cac3, + 0x208e83, + 0x201a03, + 0x15d4cb, + 0x207102, + 0x20f882, + 0x201a03, + 0x16fb88, + 0x207102, + 0x20f882, + 0x207b02, + 0x200942, + 0x20b302, + 0x208e83, 0x200442, - 0x205702, - 0x38d2c3, - 0x2099c2, - 0x2a84c3, - 0x232403, - 0x20d882, - 0x2e9dc3, - 0x244183, - 0x209703, - 0x211cc4, - 0x205503, - 0x216b03, - 0x200983, - 0x308d44, - 0x25ed03, - 0x2e9dc3, - 0x2099c2, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x209703, - 0x205503, - 0x204e83, - 0x200983, - 0x39f847, - 0x2a84c3, - 0x2614c7, - 0x2c7ac6, - 0x219203, - 0x218343, - 0x2e9dc3, - 0x2143c3, - 0x3b1384, - 0x37ef04, - 0x31ea46, - 0x20d143, - 0x205503, - 0x200983, - 0x27a305, - 0x318284, - 0x3b2a43, - 0x38b743, - 0x2c4647, - 0x33e885, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x209703, - 0x205503, - 0x200983, - 0x28e87, - 0x205942, - 0x287003, - 0x2bf143, - 0x38d2c3, - 0x626a84c3, - 0x202242, - 0x232403, - 0x2032c3, - 0x2e9dc3, - 0x3b1384, - 0x353903, - 0x315e03, - 0x209703, - 0x211cc4, - 0x62a04642, - 0x205503, - 0x200983, - 0x2082c3, - 0x229543, - 0x212982, - 0x25ed03, - 0x16d208, - 0x2e9dc3, - 0x169c3, - 0x26f744, - 0x38d2c3, - 0x2099c2, - 0x2a84c3, - 0x235ac4, - 0x232403, - 0x2e9dc3, - 0x3b1384, - 0x244183, - 0x282104, - 0x210444, - 0x2d43c6, - 0x211cc4, - 0x205503, - 0x200983, - 0x201303, - 0x25fe86, - 0x13f08b, - 0x1cdc6, - 0x5eb4a, - 0x107e4a, - 0x16d208, - 0x2142c4, - 0x63ea84c3, - 0x38d284, - 0x232403, - 0x256e84, - 0x2e9dc3, - 0x391683, - 0x209703, - 0x205503, - 0x200983, - 0x56243, - 0x32f78b, - 0x3a140a, - 0x3b9bcc, - 0xda688, - 0x205702, - 0x2099c2, - 0x20d882, - 0x2a9305, - 0x3b1384, - 0x202342, - 0x209703, - 0x210444, - 0x200c82, + 0x207102, + 0x39c783, + 0x20f882, + 0x238543, + 0x23cac3, + 0x207b02, + 0x323043, + 0x255783, + 0x28cac3, + 0x21bf84, + 0x208e83, + 0x21eb43, + 0x201a03, + 0x313e44, + 0x202443, + 0x323043, + 0x20f882, + 0x238543, + 0x23cac3, + 0x323043, + 0x28cac3, + 0x208e83, + 0x200e03, + 0x201a03, + 0x3ad3c7, + 0x238543, + 0x282c07, + 0x2d7f86, + 0x20e583, + 0x207603, + 0x323043, + 0x204c03, + 0x231604, + 0x2d5204, + 0x30e706, + 0x20bd43, + 0x208e83, + 0x201a03, + 0x22d585, + 0x321704, + 0x350503, + 0x39b4c3, + 0x2cbd87, + 0x342d45, + 0x238543, + 0x23cac3, + 0x323043, + 0x28cac3, + 0x208e83, + 0x201a03, + 0x99807, + 0x203402, + 0x28f283, + 0x205403, + 0x39c783, + 0x65e38543, + 0x206902, + 0x23cac3, + 0x2020c3, + 0x323043, + 0x231604, + 0x3797c3, + 0x2e3b03, + 0x28cac3, + 0x21bf84, + 0x6620ea42, + 0x208e83, + 0x201a03, + 0x206683, + 0x22e603, + 0x21a902, + 0x202443, + 0x16fb88, + 0x323043, + 0x10c3, + 0x31f944, + 0x39c783, + 0x20f882, + 0x238543, + 0x240244, + 0x23cac3, + 0x323043, + 0x231604, + 0x255783, + 0x3a2e44, + 0x20f644, + 0x20c0c6, + 0x21bf84, + 0x208e83, + 0x201a03, + 0x221483, + 0x29f806, + 0x4504b, + 0x24386, + 0x3204a, + 0x112d0a, + 0x16fb88, + 0x214f44, + 0x67638543, + 0x39c744, + 0x23cac3, + 0x259004, + 0x323043, + 0x210543, + 0x28cac3, + 0x208e83, + 0x1a3443, + 0x201a03, + 0xbac3, + 0x3381cb, + 0x3af10a, + 0x3bf84c, + 0xe4288, + 0x207102, + 0x20f882, + 0x207b02, + 0x2b13c5, + 0x231604, + 0x204a82, + 0x28cac3, + 0x20f644, + 0x204d42, 0x200442, - 0x209842, - 0x212982, - 0x18d2c3, - 0x19f02, - 0x2a1cc9, - 0x25d548, - 0x309a89, - 0x337449, - 0x23490a, - 0x23634a, - 0x20cc02, - 0x21b102, - 0x99c2, - 0x2a84c3, - 0x204682, - 0x23de86, - 0x35d882, - 0x201242, - 0x20124e, - 0x21898e, - 0x27b107, - 0x205487, - 0x275d02, - 0x232403, - 0x2e9dc3, + 0x20d2c2, + 0x21a902, + 0x19c783, + 0x35f42, + 0x2b3509, + 0x2f7148, + 0x351689, + 0x2410c9, + 0x350f0a, + 0x26080a, + 0x2127c2, + 0x222902, + 0xf882, + 0x238543, + 0x229682, + 0x24af46, + 0x369d02, + 0x206a42, + 0x37904e, + 0x2213ce, + 0x284b47, + 0x208e07, + 0x2ec8c2, + 0x23cac3, + 0x323043, 0x200042, - 0x201fc2, - 0x4a5c3, - 0x2eec0f, - 0x200f42, - 0x32c787, - 0x2c7d07, - 0x2d3907, - 0x2ad24c, - 0x3151cc, - 0x3a3a44, - 0x27c6ca, - 0x2188c2, - 0x20be02, - 0x2b6fc4, - 0x2226c2, - 0x2c2702, - 0x315404, - 0x20cec2, + 0x200942, + 0x31603, + 0x23980f, + 0x20b542, + 0x2dd887, + 0x2b4a87, + 0x2b7e87, + 0x31a4cc, + 0x2c448c, + 0x223984, + 0x285b0a, + 0x221302, + 0x209a02, + 0x2c0884, + 0x21f502, + 0x2ca102, + 0x2c46c4, + 0x21a602, 0x200282, - 0x6343, - 0x2a5687, - 0x2352c5, - 0x201f42, - 0x2eeb84, - 0x352bc2, - 0x2da248, - 0x205503, - 0x3b0208, - 0x200d42, - 0x233385, - 0x3b04c6, - 0x200983, - 0x20ba02, - 0x2ea507, - 0xf942, - 0x26b005, - 0x3a9f45, - 0x201642, - 0x242b02, - 0x3b7a8a, - 0x2671ca, - 0x202c42, - 0x2e4744, + 0x11a83, + 0x297047, + 0x2beb05, + 0x20d842, + 0x239784, + 0x382842, + 0x2e3008, + 0x208e83, + 0x203488, + 0x203cc2, + 0x223b45, + 0x38dbc6, + 0x201a03, + 0x207082, + 0x2f0ac7, + 0xcb02, + 0x2797c5, + 0x358b85, + 0x209642, + 0x20fd02, + 0x2cf9ca, + 0x26eeca, + 0x21b9c2, + 0x2a4dc4, 0x2002c2, - 0x206888, - 0x201c82, - 0x30a848, - 0x2feb47, - 0x2ff649, - 0x26b082, - 0x305645, - 0x33bc85, - 0x22dd4b, - 0x2c6c4c, - 0x22e848, - 0x3188c8, - 0x22a282, - 0x35f782, - 0x205702, - 0x16d208, - 0x2099c2, - 0x2a84c3, - 0x20d882, - 0x200c82, + 0x3b4ec8, + 0x20d582, + 0x315b08, + 0x30ab47, + 0x30ba09, + 0x203442, + 0x310e45, + 0x3044c5, + 0x21770b, + 0x2d054c, + 0x237348, + 0x321b08, + 0x232ec2, + 0x208a02, + 0x207102, + 0x16fb88, + 0x20f882, + 0x238543, + 0x207b02, + 0x204d42, + 0xe03, 0x200442, - 0x200983, - 0x209842, - 0x205702, - 0x652099c2, - 0x656e9dc3, - 0x206343, - 0x202342, - 0x205503, - 0x375cc3, - 0x200983, - 0x2e87c3, - 0x275d46, - 0x1614843, - 0x16d208, - 0x192345, - 0xa6a8d, - 0xa4dca, - 0x65c87, - 0x65e011c2, - 0x66200242, - 0x66600ec2, - 0x66a00c02, - 0x66e0de02, - 0x67201ec2, - 0x16fc07, - 0x676099c2, - 0x67a301c2, - 0x67e09982, - 0x68200dc2, - 0x218983, - 0x9e04, - 0x225d83, - 0x686149c2, - 0x68a00182, - 0x49f47, - 0x68e03002, - 0x69202e42, - 0x69600b42, - 0x69a02bc2, - 0x69e029c2, - 0x6a201fc2, - 0xb3985, - 0x234543, - 0x202b84, - 0x6a6226c2, - 0x6aa03a82, - 0x6ae03202, - 0x16c90b, - 0x6b200e82, - 0x6ba49a02, - 0x6be02342, - 0x6c203d02, - 0x6c60f242, - 0x6ca0ec42, - 0x6ce0e602, - 0x6d2675c2, - 0x6d604642, - 0x6da01b42, - 0x6de00c82, - 0x6e2042c2, - 0x6e61c702, - 0x6ea00e42, - 0x7f1c4, - 0x350703, - 0x6ee33082, - 0x6f216982, - 0x6f603402, - 0x6fa089c2, - 0x6fe00442, - 0x702056c2, - 0x44107, - 0x70601302, - 0x70a07302, - 0x70e09842, - 0x71218942, - 0xf484c, - 0x71621c82, - 0x71a3ab02, - 0x71e11602, - 0x72201682, - 0x72601f82, - 0x72a34a82, - 0x72e00202, - 0x7320e8c2, - 0x736724c2, - 0x73a56642, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0xa203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x6b753903, - 0x20a203, - 0x2d6d44, - 0x25d446, - 0x2f1743, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x353903, - 0x20a203, - 0x219f02, - 0x219f02, - 0x353903, - 0x20a203, - 0x742a84c3, - 0x232403, - 0x37ac03, - 0x209703, - 0x205503, - 0x200983, - 0x16d208, - 0x2099c2, - 0x2a84c3, - 0x205503, - 0x200983, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x209703, - 0x205503, - 0x200983, - 0x2030c4, - 0x2099c2, - 0x2a84c3, - 0x2028c3, - 0x232403, - 0x249944, - 0x2163c3, - 0x2e9dc3, - 0x3b1384, - 0x244183, - 0x209703, - 0x205503, - 0x200983, - 0x23e743, - 0x373605, - 0x2a1fc3, - 0x25ed03, - 0x2099c2, - 0x2a84c3, - 0x353903, - 0x205503, - 0x200983, - 0x205702, - 0x38d2c3, - 0x16d208, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x22f706, - 0x3b1384, - 0x244183, - 0x211cc4, - 0x205503, - 0x200983, - 0x201303, - 0x2a84c3, - 0x232403, - 0x205503, - 0x200983, - 0x14bb147, - 0x2a84c3, - 0x1cdc6, - 0x232403, - 0x2e9dc3, - 0xdba46, - 0x205503, - 0x200983, - 0x3149c8, - 0x318709, - 0x328b89, - 0x333808, - 0x37dc48, - 0x37dc49, - 0x24318d, - 0x2ee80f, - 0x251490, - 0x34848d, - 0x3638cc, - 0x37f98b, - 0x98605, - 0x205702, - 0x33e6c5, + 0x201a03, + 0x20d2c2, + 0x207102, + 0x68a0f882, + 0x68f23043, + 0x211a83, + 0x204a82, + 0x208e83, + 0x391783, + 0x201a03, + 0x2ef783, + 0x37f186, + 0x1615443, + 0x16fb88, + 0x11205, + 0xae90d, + 0xacc8a, + 0x6e487, + 0x69601e02, + 0x69a00242, + 0x69e00bc2, + 0x6a200702, + 0x6a60b5c2, + 0x6aa01382, + 0x36dc7, + 0x6ae0f882, + 0x6b20c8c2, + 0x6b604842, + 0x6ba04c82, + 0x2213c3, + 0x18ec4, + 0x2298c3, + 0x6be1d882, + 0x6c200182, + 0x53c47, + 0x6c60a442, + 0x6ca00782, + 0x6ce01bc2, + 0x6d205e82, + 0x6d601c82, + 0x6da00942, + 0xc2845, + 0x23ef43, + 0x281a04, + 0x6de1f502, + 0x6e205242, + 0x6e603582, + 0x17d50b, + 0x6ea01fc2, + 0x6f253442, + 0x6f604a82, + 0x6fa0b302, + 0x6fe14702, + 0x70200802, + 0x70614642, + 0x70a745c2, + 0x70e0ea42, + 0x71204802, + 0x71604d42, + 0x71a03382, + 0x71e08682, + 0x7224d382, + 0x1a3284, + 0x35efc3, + 0x72604f82, + 0x72a10902, + 0x72e11542, + 0x73201f02, + 0x73600442, + 0x73a0cb42, + 0x15d647, + 0x73e04102, + 0x74204142, + 0x7460d2c2, + 0x74a21382, + 0x1ad70c, + 0x74e2a202, + 0x75245542, + 0x75605942, + 0x75a06442, + 0x75e0c402, + 0x76260982, + 0x76600202, + 0x76a16fc2, + 0x76e7d302, + 0x772610c2, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x12143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x6ef797c3, + 0x212143, + 0x332244, + 0x2f7046, + 0x2f9a03, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x244949, + 0x235f42, + 0x26c783, + 0x2bcec3, + 0x20fbc5, + 0x2020c3, + 0x3797c3, + 0x212143, + 0x20c0c3, + 0x248d43, + 0x242989, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x3797c3, + 0x212143, + 0x235f42, + 0x235f42, + 0x3797c3, + 0x212143, + 0x77a38543, + 0x23cac3, + 0x20a6c3, + 0x28cac3, + 0x208e83, + 0xe03, + 0x201a03, + 0x16fb88, + 0x20f882, + 0x238543, + 0x208e83, + 0x201a03, + 0x238543, + 0x23cac3, + 0x323043, + 0x28cac3, + 0x208e83, + 0xe03, + 0x201a03, + 0x252044, + 0x20f882, + 0x238543, + 0x345903, + 0x23cac3, + 0x253384, + 0x21b583, + 0x323043, + 0x231604, + 0x255783, + 0x28cac3, + 0x208e83, + 0x201a03, + 0x20c843, + 0x355685, + 0x248d43, + 0x202443, + 0xe03, + 0x20f882, + 0x238543, + 0x3797c3, + 0x208e83, + 0x201a03, + 0x207102, + 0x39c783, + 0x16fb88, + 0x238543, + 0x23cac3, + 0x323043, + 0x23a1c6, + 0x231604, + 0x255783, + 0x21bf84, + 0x208e83, + 0x201a03, + 0x221483, + 0x238543, + 0x23cac3, + 0x208e83, + 0x201a03, + 0x1442047, + 0x238543, + 0x24386, + 0x23cac3, + 0x323043, + 0xe5586, + 0x208e83, + 0x201a03, + 0x31dc48, + 0x321949, + 0x330189, + 0x33bb08, + 0x38fb48, + 0x38fb49, + 0x24558d, + 0x24dd8f, + 0x2f53d0, + 0x35648d, + 0x37210c, + 0x39064b, + 0xba9c8, + 0xac605, + 0x207102, + 0x342b85, 0x200243, - 0x772099c2, - 0x232403, - 0x2e9dc3, - 0x343ec7, - 0x206a43, - 0x209703, - 0x205503, - 0x21c2c3, - 0x20dcc3, - 0x204e83, - 0x200983, - 0x2efec6, - 0x20b0c2, - 0x25ed03, - 0x16d208, - 0x205702, - 0x38d2c3, - 0x2099c2, - 0x2a84c3, - 0x232403, - 0x2e9dc3, - 0x3b1384, - 0x209703, - 0x205503, - 0x200983, - 0x214843, - 0x14f53c6, - 0x205702, - 0x2099c2, - 0x2e9dc3, - 0x209703, - 0x200983, + 0x7ae0f882, + 0x23cac3, + 0x323043, + 0x2d8c47, + 0x263a43, + 0x28cac3, + 0x208e83, + 0x21b543, + 0x217e03, + 0x200e03, + 0x201a03, + 0x3821c6, + 0x205082, + 0x202443, + 0x16fb88, + 0x207102, + 0x39c783, + 0x20f882, + 0x238543, + 0x23cac3, + 0x323043, + 0x231604, + 0x28cac3, + 0x208e83, + 0x201a03, + 0x215443, + 0x106904, + 0x15217c6, + 0x207102, + 0x20f882, + 0x323043, + 0x28cac3, + 0x201a03, } // children is the list of nodes' children, the parent's wildcard bit and the @@ -8770,453 +8921,422 @@ var children = [...]uint32{ 0x40000000, 0x50000000, 0x60000000, - 0x184c60d, - 0x1850613, - 0x1870614, - 0x19cc61c, - 0x19e0673, - 0x19f4678, - 0x1a0467d, - 0x1a20681, - 0x1a24688, - 0x1a3c689, - 0x1a6468f, - 0x1a68699, - 0x1a8069a, - 0x1a846a0, - 0x1a886a1, - 0x1ab06a2, + 0x186c615, + 0x187061b, + 0x189461c, + 0x19f0625, + 0x1a0467c, + 0x1a18681, + 0x1a2c686, + 0x1a4c68b, + 0x1a50693, + 0x1a68694, + 0x1a9069a, + 0x1a946a4, + 0x1aac6a5, + 0x1ab06ab, 0x1ab46ac, - 0x21abc6ad, - 0x1b046af, - 0x1b086c1, - 0x1b286c2, - 0x1b3c6ca, - 0x1b406cf, - 0x1b706d0, - 0x1b8c6dc, - 0x1bb46e3, - 0x1bc06ed, - 0x1bc46f0, - 0x1c5c6f1, - 0x1c70717, - 0x1c8471c, - 0x1cb4721, - 0x1cc472d, - 0x1cd8731, - 0x1cfc736, - 0x1e3473f, - 0x1e3878d, - 0x1ea478e, - 0x1f107a9, - 0x1f247c4, - 0x1f387c9, - 0x1f407ce, - 0x1f507d0, - 0x1f547d4, - 0x1f6c7d5, - 0x1fb87db, - 0x1fd47ee, - 0x1fd87f5, - 0x1fdc7f6, - 0x1fe87f7, - 0x20247fa, - 0x62028809, - 0x203c80a, - 0x205080f, - 0x2054814, - 0x2064815, - 0x2114819, - 0x2118845, - 0x22124846, - 0x2212c849, - 0x216484b, - 0x2168859, - 0x25b885a, - 0x2265896e, - 0x2265c996, - 0x22660997, - 0x2266c998, - 0x2267099b, - 0x2267c99c, - 0x2268099f, - 0x226849a0, - 0x226889a1, - 0x2268c9a2, - 0x226909a3, - 0x2269c9a4, - 0x226a09a7, - 0x226ac9a8, - 0x226b09ab, - 0x226b49ac, - 0x226b89ad, - 0x226c49ae, - 0x226c89b1, - 0x226cc9b2, - 0x226d09b3, - 0x26d49b4, - 0x226d89b5, - 0x226e49b6, - 0x226e89b9, - 0x26f09ba, - 0x227089bc, - 0x2270c9c2, - 0x27189c3, - 0x2271c9c6, - 0x27209c7, + 0x1af06ad, + 0x1af46bc, + 0x21afc6bd, + 0x1b446bf, + 0x1b486d1, + 0x1b686d2, + 0x1b7c6da, + 0x1b806df, + 0x1bb06e0, + 0x1bcc6ec, + 0x1bf46f3, + 0x1c006fd, + 0x1c04700, + 0x1c9c701, + 0x1cb0727, + 0x1cc472c, + 0x1cf4731, + 0x1d0473d, + 0x1d18741, + 0x1d3c746, + 0x1e7474f, + 0x1e7879d, + 0x1ee479e, + 0x1f507b9, + 0x1f687d4, + 0x1f7c7da, + 0x1f847df, + 0x1f987e1, + 0x1f9c7e6, + 0x1fb87e7, + 0x20047ee, + 0x2020801, + 0x2024808, + 0x2028809, + 0x204480a, + 0x2080811, + 0x62084820, + 0x209c821, + 0x20b4827, + 0x20b882d, + 0x20c882e, + 0x2178832, + 0x217c85e, + 0x2218c85f, + 0x22190863, + 0x22194864, + 0x21cc865, + 0x21d0873, + 0x2658874, + 0x226f8996, + 0x226fc9be, + 0x227009bf, + 0x2270c9c0, + 0x227109c3, + 0x2271c9c4, + 0x227209c7, 0x227249c8, - 0x27409c9, - 0x27589d0, - 0x275c9d6, - 0x276c9d7, - 0x27749db, - 0x27a89dd, - 0x27ac9ea, - 0x27bc9eb, - 0x28609ef, - 0x22864a18, - 0x286ca19, - 0x2870a1b, - 0x2888a1c, - 0x289ca22, - 0x28c4a27, - 0x28e4a31, - 0x2914a39, - 0x293ca45, - 0x2940a4f, - 0x2964a50, - 0x2968a59, - 0x297ca5a, - 0x2980a5f, - 0x2984a60, - 0x29a4a61, - 0x29c0a69, - 0x29c4a70, - 0x229c8a71, - 0x29cca72, - 0x29d0a73, - 0x29e0a74, - 0x29e4a78, - 0x2a5ca79, - 0x2a78a97, - 0x2a88a9e, - 0x2a9caa2, - 0x2ab4aa7, - 0x2ac8aad, - 0x2ae0ab2, - 0x2ae4ab8, - 0x2afcab9, - 0x2b14abf, - 0x2b30ac5, - 0x2b48acc, - 0x2ba8ad2, + 0x227289c9, + 0x2272c9ca, + 0x227309cb, + 0x2273c9cc, + 0x227409cf, + 0x2274c9d0, + 0x227509d3, + 0x227549d4, + 0x227589d5, + 0x227649d6, + 0x227689d9, + 0x2276c9da, + 0x227709db, + 0x27749dc, + 0x227789dd, + 0x227849de, + 0x227889e1, + 0x27909e2, + 0x27cc9e4, + 0x227ec9f3, + 0x227f09fb, + 0x227f49fc, + 0x27f89fd, + 0x227fc9fe, + 0x28009ff, + 0x281ca00, + 0x2834a07, + 0x2838a0d, + 0x2848a0e, + 0x2854a12, + 0x2888a15, + 0x288ca22, + 0x28a0a23, + 0x228a8a28, + 0x2968a2a, + 0x2296ca5a, + 0x2974a5b, + 0x2978a5d, + 0x2990a5e, + 0x29a4a64, + 0x29cca69, + 0x29eca73, + 0x2a1ca7b, + 0x2a44a87, + 0x2a48a91, + 0x2a6ca92, + 0x2a70a9b, + 0x2a84a9c, + 0x2a88aa1, + 0x2a8caa2, + 0x2aacaa3, + 0x2ac8aab, + 0x2accab2, + 0x22ad0ab3, + 0x2ad4ab4, + 0x2ad8ab5, + 0x2ae8ab6, + 0x2aecaba, + 0x2b64abb, + 0x2b68ad9, + 0x2b84ada, + 0x2b94ae1, + 0x2ba8ae5, 0x2bc0aea, - 0x2bc4af0, - 0x2bd8af1, - 0x2c1caf6, - 0x2c9cb07, - 0x2cc8b27, - 0x2cccb32, - 0x2cd4b33, - 0x2cf4b35, - 0x2cf8b3d, - 0x2d18b3e, - 0x2d20b46, - 0x2d5cb48, - 0x2d9cb57, - 0x2da0b67, - 0x2e00b68, - 0x2e04b80, - 0x22e08b81, - 0x2e20b82, - 0x2e44b88, - 0x2e64b91, - 0x3428b99, - 0x3434d0a, - 0x3454d0d, - 0x3610d15, - 0x36e0d84, - 0x3750db8, - 0x37a8dd4, - 0x3890dea, - 0x38e8e24, - 0x3924e3a, - 0x3a20e49, - 0x3aece88, - 0x3b84ebb, - 0x3c14ee1, - 0x3c78f05, - 0x3eb0f1e, - 0x3f68fac, - 0x4034fda, - 0x408100d, - 0x4109020, - 0x4145042, - 0x4195051, - 0x420d065, - 0x64211083, - 0x64215084, - 0x64219085, - 0x4295086, - 0x42f10a5, - 0x436d0bc, - 0x43e50db, - 0x44650f9, - 0x44d1119, - 0x45fd134, - 0x465517f, - 0x64659195, - 0x46f1196, - 0x47791bc, - 0x47c51de, - 0x482d1f1, - 0x48d520b, - 0x499d235, - 0x4a05267, - 0x4b19281, - 0x64b1d2c6, - 0x64b212c7, - 0x4b7d2c8, - 0x4bd92df, - 0x4c692f6, - 0x4ce531a, - 0x4d29339, - 0x4e0d34a, - 0x4e41383, - 0x4ea1390, - 0x4f153a8, - 0x4f9d3c5, - 0x4fdd3e7, - 0x504d3f7, - 0x65051413, - 0x65055414, - 0x25059415, - 0x5071416, - 0x508d41c, - 0x50d1423, - 0x50e1434, - 0x50f9438, - 0x517143e, - 0x517945c, - 0x518d45e, - 0x51a5463, - 0x51cd469, - 0x51d1473, - 0x51d9474, - 0x51ed476, - 0x520947b, - 0x520d482, - 0x5215483, - 0x5251485, - 0x5265494, - 0x526d499, - 0x527549b, - 0x527949d, - 0x529d49e, - 0x52c14a7, - 0x52d94b0, - 0x52dd4b6, - 0x52e54b7, - 0x52e94b9, - 0x534d4ba, - 0x53514d3, - 0x53754d4, - 0x53954dd, - 0x53b14e5, - 0x53c14ec, - 0x53d54f0, - 0x53d94f5, - 0x53e14f6, - 0x53f54f8, - 0x54054fd, - 0x5409501, - 0x5425502, - 0x5cb5509, - 0x5ced72d, - 0x5d1973b, - 0x5d31746, - 0x5d5174c, - 0x5d71754, - 0x5db575c, - 0x5dbd76d, - 0x25dc176f, - 0x25dc5770, - 0x5dcd771, - 0x5f29773, - 0x25f2d7ca, - 0x25f3d7cb, - 0x25f457cf, - 0x25f517d1, - 0x5f557d4, - 0x5f597d5, - 0x5f817d6, - 0x5fa97e0, - 0x5fad7ea, - 0x5fe57eb, - 0x5ff97f9, - 0x6b517fe, - 0x6b55ad4, - 0x6b59ad5, - 0x26b5dad6, - 0x6b61ad7, - 0x26b65ad8, - 0x6b69ad9, - 0x26b75ada, - 0x6b79add, - 0x6b7dade, - 0x26b81adf, - 0x6b85ae0, - 0x26b8dae1, - 0x6b91ae3, - 0x6b95ae4, - 0x26ba5ae5, - 0x6ba9ae9, - 0x6badaea, - 0x6bb1aeb, - 0x6bb5aec, - 0x26bb9aed, - 0x6bbdaee, - 0x6bc1aef, - 0x6bc5af0, - 0x6bc9af1, - 0x26bd1af2, - 0x6bd5af4, - 0x6bd9af5, - 0x6bddaf6, - 0x26be1af7, - 0x6be5af8, - 0x26bedaf9, - 0x26bf1afb, - 0x6c0dafc, - 0x6c19b03, - 0x6c59b06, - 0x6c5db16, - 0x6c81b17, - 0x6c85b20, - 0x6c89b21, - 0x6e01b22, - 0x26e05b80, - 0x26e0db81, - 0x26e11b83, - 0x26e15b84, - 0x6e1db85, - 0x6ef9b87, - 0x26efdbbe, - 0x6f01bbf, - 0x6f2dbc0, - 0x6f31bcb, - 0x6f51bcc, - 0x6f5dbd4, - 0x6f7dbd7, - 0x6fb5bdf, - 0x724dbed, - 0x7309c93, - 0x731dcc2, - 0x7351cc7, - 0x7381cd4, - 0x739dce0, - 0x73c1ce7, - 0x73ddcf0, - 0x73f9cf7, - 0x741dcfe, - 0x742dd07, - 0x7431d0b, - 0x7465d0c, - 0x7481d19, - 0x74edd20, - 0x274f1d3b, - 0x7515d3c, - 0x7535d45, - 0x7549d4d, - 0x755dd52, - 0x7561d57, - 0x7581d58, - 0x7625d60, - 0x7641d89, - 0x7661d90, - 0x7665d98, - 0x766dd99, - 0x7671d9b, - 0x7685d9c, - 0x76a5da1, - 0x76b1da9, - 0x76bddac, - 0x76eddaf, - 0x77bddbb, - 0x77c1def, - 0x77d5df0, - 0x77d9df5, - 0x77f1df6, - 0x77f5dfc, - 0x7801dfd, - 0x7805e00, - 0x7821e01, - 0x785de08, - 0x7861e17, - 0x7881e18, - 0x78d1e20, - 0x78ede34, - 0x7941e3b, - 0x7945e50, - 0x7949e51, - 0x794de52, - 0x7991e53, - 0x79a1e64, - 0x79dde68, - 0x79e1e77, - 0x7a11e78, - 0x7b59e84, - 0x7b7ded6, - 0x7ba9edf, - 0x7bb5eea, - 0x7bbdeed, - 0x7ccdeef, - 0x7cd9f33, - 0x7ce5f36, - 0x7cf1f39, - 0x7cfdf3c, - 0x7d09f3f, - 0x7d15f42, - 0x7d21f45, - 0x7d2df48, - 0x7d39f4b, - 0x7d45f4e, - 0x7d51f51, - 0x7d5df54, - 0x7d69f57, - 0x7d71f5a, - 0x7d7df5c, - 0x7d89f5f, - 0x7d95f62, - 0x7da1f65, - 0x7dadf68, - 0x7db9f6b, + 0x2bd8af0, + 0x2bf0af6, + 0x2bf4afc, + 0x2c0cafd, + 0x2c28b03, + 0x2c48b0a, + 0x2c60b12, + 0x2cc0b18, + 0x2cdcb30, + 0x2ce4b37, + 0x2ce8b39, + 0x2cfcb3a, + 0x2d40b3f, + 0x2dc0b50, + 0x2decb70, + 0x2df0b7b, + 0x2df8b7c, + 0x2e18b7e, + 0x2e1cb86, + 0x2e40b87, + 0x2e48b90, + 0x2e84b92, + 0x2ec8ba1, + 0x2eccbb2, + 0x2f34bb3, + 0x2f38bcd, + 0x22f3cbce, + 0x22f40bcf, + 0x22f50bd0, + 0x22f54bd4, + 0x22f58bd5, + 0x22f5cbd6, + 0x22f60bd7, + 0x2f78bd8, + 0x2f9cbde, + 0x2fbcbe7, + 0x3580bef, + 0x358cd60, + 0x35acd63, + 0x3768d6b, + 0x3838dda, + 0x38a8e0e, + 0x3900e2a, + 0x39e8e40, + 0x3a40e7a, + 0x3a7ce90, + 0x3b78e9f, + 0x3c44ede, + 0x3cdcf11, + 0x3d6cf37, + 0x3dd0f5b, + 0x4008f74, + 0x40c1002, + 0x418d030, + 0x41d9063, + 0x4261076, + 0x429d098, + 0x42ed0a7, + 0x43650bb, + 0x643690d9, + 0x6436d0da, + 0x643710db, + 0x43ed0dc, + 0x44490fb, + 0x44c5112, + 0x453d131, + 0x45bd14f, + 0x462916f, + 0x475518a, + 0x47ad1d5, + 0x647b11eb, + 0x48491ec, + 0x48d1212, + 0x491d234, + 0x4985247, + 0x4a2d261, + 0x4af528b, + 0x4b5d2bd, + 0x4c712d7, + 0x64c7531c, + 0x64c7931d, + 0x4cd531e, + 0x4d31335, + 0x4dc134c, + 0x4e3d370, + 0x4e8138f, + 0x4f653a0, + 0x4f993d9, + 0x4ff93e6, + 0x506d3fe, + 0x50f541b, + 0x513543d, + 0x51a544d, + 0x651a9469, + 0x651ad46a, + 0x251b146b, + 0x51c946c, + 0x51e5472, + 0x5229479, + 0x523948a, + 0x525148e, + 0x52c9494, + 0x52d14b2, + 0x52e54b4, + 0x53014b9, + 0x532d4c0, + 0x53314cb, + 0x53394cc, + 0x534d4ce, + 0x53694d3, + 0x53754da, + 0x537d4dd, + 0x53b94df, + 0x53cd4ee, + 0x53d54f3, + 0x53e14f5, + 0x53e94f8, + 0x540d4fa, + 0x5431503, + 0x544950c, + 0x544d512, + 0x5455513, + 0x5459515, + 0x54c1516, + 0x54c5530, + 0x54e9531, + 0x550d53a, + 0x5529543, + 0x553954a, + 0x554d54e, + 0x5551553, + 0x5559554, + 0x556d556, + 0x557d55b, + 0x558155f, + 0x559d560, + 0x5e2d567, + 0x5e6578b, + 0x5e91799, + 0x5ead7a4, + 0x5ecd7ab, + 0x5eed7b3, + 0x5f317bb, + 0x5f397cc, + 0x25f3d7ce, + 0x25f417cf, + 0x5f497d0, + 0x60c17d2, + 0x260c5830, + 0x260d5831, + 0x260dd835, + 0x260e9837, + 0x60ed83a, + 0x60f183b, + 0x611983c, + 0x6141846, + 0x6145850, + 0x617d851, + 0x619985f, + 0x6cf1866, + 0x6cf5b3c, + 0x6cf9b3d, + 0x26cfdb3e, + 0x6d01b3f, + 0x26d05b40, + 0x6d09b41, + 0x26d15b42, + 0x6d19b45, + 0x6d1db46, + 0x26d21b47, + 0x6d25b48, + 0x26d2db49, + 0x6d31b4b, + 0x6d35b4c, + 0x26d45b4d, + 0x6d49b51, + 0x6d4db52, + 0x6d51b53, + 0x6d55b54, + 0x26d59b55, + 0x6d5db56, + 0x6d61b57, + 0x6d65b58, + 0x6d69b59, + 0x26d71b5a, + 0x6d75b5c, + 0x6d79b5d, + 0x6d7db5e, + 0x26d81b5f, + 0x6d85b60, + 0x26d8db61, + 0x26d91b63, + 0x6dadb64, + 0x6dbdb6b, + 0x6e01b6f, + 0x6e05b80, + 0x6e29b81, + 0x6e2db8a, + 0x6e31b8b, + 0x6fbdb8c, + 0x26fc1bef, + 0x26fc9bf0, + 0x26fcdbf2, + 0x26fd1bf3, + 0x6fd9bf4, + 0x70b5bf6, + 0x270b9c2d, + 0x70bdc2e, + 0x70e9c2f, + 0x70edc3a, + 0x7111c3b, + 0x711dc44, + 0x713dc47, + 0x7141c4f, + 0x7179c50, + 0x7411c5e, + 0x74cdd04, + 0x74e1d33, + 0x7515d38, + 0x7545d45, + 0x7561d51, + 0x7589d58, + 0x75a9d62, + 0x75c5d6a, + 0x75edd71, + 0x75fdd7b, + 0x7601d7f, + 0x7605d80, + 0x7639d81, + 0x7645d8e, + 0x7665d91, + 0x76ddd99, + 0x276e1db7, + 0x7705db8, + 0x7725dc1, + 0x7739dc9, + 0x774ddce, + 0x7751dd3, + 0x7771dd4, + 0x7815ddc, + 0x7831e05, + 0x7855e0c, + 0x785de15, + 0x7869e17, + 0x7871e1a, + 0x7885e1c, + 0x78a5e21, + 0x78b1e29, + 0x78bde2c, + 0x78ede2f, + 0x79c1e3b, + 0x79c5e70, + 0x79d9e71, + 0x79e1e76, + 0x79f9e78, + 0x79fde7e, + 0x7a09e7f, + 0x7a0de82, + 0x7a29e83, + 0x7a65e8a, + 0x7a69e99, + 0x7a89e9a, + 0x7ad9ea2, + 0x7af5eb6, + 0x7b49ebd, + 0x7b4ded2, + 0x7b51ed3, + 0x7b55ed4, + 0x7b99ed5, + 0x7ba9ee6, + 0x7be9eea, + 0x7bedefa, + 0x7c1defb, + 0x7d65f07, + 0x7d8df59, + 0x7db9f63, 0x7dc5f6e, - 0x7dd1f71, - 0x7dddf74, - 0x7de9f77, - 0x7df5f7a, - 0x7e01f7d, - 0x7e0df80, - 0x7e19f83, - 0x7e25f86, - 0x7e31f89, - 0x7e3df8c, - 0x7e45f8f, - 0x7e51f91, - 0x7e5df94, - 0x7e69f97, - 0x7e75f9a, - 0x7e81f9d, - 0x7e8dfa0, - 0x7e99fa3, - 0x7ea5fa6, - 0x7eb1fa9, - 0x7ebdfac, - 0x7ec9faf, - 0x7ed5fb2, - 0x7ee1fb5, - 0x7ee9fb8, + 0x7dcdf71, + 0x7eddf73, + 0x7ee9fb7, 0x7ef5fba, 0x7f01fbd, 0x7f0dfc0, @@ -9225,29 +9345,75 @@ var children = [...]uint32{ 0x7f31fc9, 0x7f3dfcc, 0x7f49fcf, - 0x7f4dfd2, - 0x7f59fd3, - 0x7f71fd6, - 0x7f75fdc, - 0x7f85fdd, - 0x7f9dfe1, - 0x7fe1fe7, - 0x7ff5ff8, - 0x8029ffd, - 0x803a00a, - 0x805a00e, - 0x8072016, - 0x808a01c, - 0x808e022, - 0x280d2023, - 0x80d6034, - 0x8102035, - 0x8106040, - 0x811a041, + 0x7f55fd2, + 0x7f61fd5, + 0x7f6dfd8, + 0x7f79fdb, + 0x7f81fde, + 0x7f8dfe0, + 0x7f99fe3, + 0x7fa5fe6, + 0x7fb1fe9, + 0x7fbdfec, + 0x7fc9fef, + 0x7fd5ff2, + 0x7fe1ff5, + 0x7fedff8, + 0x7ff9ffb, + 0x8005ffe, + 0x8032001, + 0x803e00c, + 0x804a00f, + 0x8056012, + 0x8062015, + 0x806e018, + 0x807601b, + 0x808201d, + 0x808e020, + 0x809a023, + 0x80a6026, + 0x80b2029, + 0x80be02c, + 0x80ca02f, + 0x80d6032, + 0x80e2035, + 0x80ee038, + 0x80fa03b, + 0x810603e, + 0x8112041, + 0x811a044, + 0x8126046, + 0x8132049, + 0x813e04c, + 0x814a04f, + 0x8156052, + 0x8162055, + 0x816e058, + 0x817a05b, + 0x817e05e, + 0x818a05f, + 0x81a6062, + 0x81aa069, + 0x81ba06a, + 0x81d606e, + 0x821a075, + 0x821e086, + 0x8232087, + 0x826608c, + 0x8276099, + 0x829609d, + 0x82ae0a5, + 0x82c60ab, + 0x82ce0b1, + 0x283120b3, + 0x83160c4, + 0x83420c5, + 0x834a0d0, + 0x835e0d2, } -// max children 479 (capacity 511) -// max text offset 28411 (capacity 32767) +// max children 494 (capacity 1023) +// max text offset 28750 (capacity 32767) // max text length 36 (capacity 63) -// max hi 8262 (capacity 16383) -// max lo 8257 (capacity 16383) +// max hi 8407 (capacity 16383) +// max lo 8402 (capacity 16383) diff --git a/vendor/golang.org/x/net/publicsuffix/table_test.go b/vendor/golang.org/x/net/publicsuffix/table_test.go index 416512cb9..62610185b 100644 --- a/vendor/golang.org/x/net/publicsuffix/table_test.go +++ b/vendor/golang.org/x/net/publicsuffix/table_test.go @@ -5778,6 +5778,14 @@ var rules = [...]string{ "pvt.k12.ma.us", "chtr.k12.ma.us", "paroch.k12.ma.us", + "ann-arbor.mi.us", + "cog.mi.us", + "dst.mi.us", + "eaton.mi.us", + "gen.mi.us", + "mus.mi.us", + "tec.mi.us", + "washtenaw.mi.us", "uy", "com.uy", "edu.uy", @@ -5852,6 +5860,7 @@ var rules = [...]string{ "xn--mgbaam7a8h", "xn--y9a3aq", "xn--54b7fta0cc", + "xn--90ae", "xn--90ais", "xn--fiqs8s", "xn--fiqz9s", @@ -5861,6 +5870,13 @@ var rules = [...]string{ "xn--node", "xn--qxam", "xn--j6w193g", + "xn--2scrj9c", + "xn--3hcrj9c", + "xn--45br5cyl", + "xn--h2breg3eve", + "xn--h2brj9c8c", + "xn--mgbgu82a", + "xn--rvc1e0am3e", "xn--h2brj9c", "xn--mgbbh1a71e", "xn--fpcrj9c3d", @@ -7188,8 +7204,23 @@ var rules = [...]string{ "*.compute-1.amazonaws.com", "*.compute.amazonaws.com.cn", "us-east-1.amazonaws.com", - "elasticbeanstalk.cn-north-1.amazonaws.com.cn", - "*.elasticbeanstalk.com", + "cn-north-1.eb.amazonaws.com.cn", + "elasticbeanstalk.com", + "ap-northeast-1.elasticbeanstalk.com", + "ap-northeast-2.elasticbeanstalk.com", + "ap-south-1.elasticbeanstalk.com", + "ap-southeast-1.elasticbeanstalk.com", + "ap-southeast-2.elasticbeanstalk.com", + "ca-central-1.elasticbeanstalk.com", + "eu-central-1.elasticbeanstalk.com", + "eu-west-1.elasticbeanstalk.com", + "eu-west-2.elasticbeanstalk.com", + "sa-east-1.elasticbeanstalk.com", + "us-east-1.elasticbeanstalk.com", + "us-east-2.elasticbeanstalk.com", + "us-gov-west-1.elasticbeanstalk.com", + "us-west-1.elasticbeanstalk.com", + "us-west-2.elasticbeanstalk.com", "*.elb.amazonaws.com", "*.elb.amazonaws.com.cn", "s3.amazonaws.com", @@ -7257,6 +7288,7 @@ var rules = [...]string{ "backplaneapp.io", "betainabox.com", "bnr.la", + "boomla.net", "boxfuse.io", "square7.ch", "bplaced.com", @@ -7304,6 +7336,11 @@ var rules = [...]string{ "xenapponazure.com", "virtueeldomein.nl", "c66.me", + "jdevcloud.com", + "wpdevcloud.com", + "cloudaccess.host", + "freesite.host", + "cloudaccess.net", "cloudcontrolled.com", "cloudcontrolapp.com", "co.ca", @@ -7347,8 +7384,10 @@ var rules = [...]string{ "firm.dk", "reg.dk", "store.dk", + "debian.net", "dedyn.io", "dnshome.de", + "drayddns.com", "dreamhosters.com", "mydrobo.com", "drud.io", @@ -7646,8 +7685,26 @@ var rules = [...]string{ "ddnss.org", "definima.net", "definima.io", + "ddnsfree.com", + "ddnsgeek.com", + "giize.com", + "gleeze.com", + "kozow.com", + "loseyourip.com", + "ooguy.com", + "theworkpc.com", + "casacam.net", + "dynu.net", + "accesscam.org", + "camdvr.org", + "freeddns.org", + "mywire.org", + "webredirect.org", + "myddns.rocks", + "blogsite.xyz", "dynv6.net", "e4.cz", + "mytuleap.com", "enonic.io", "customer.enonic.io", "eu.org", @@ -7709,9 +7766,11 @@ var rules = [...]string{ "eu-1.evennode.com", "eu-2.evennode.com", "eu-3.evennode.com", + "eu-4.evennode.com", "us-1.evennode.com", "us-2.evennode.com", "us-3.evennode.com", + "us-4.evennode.com", "twmail.cc", "twmail.net", "twmail.org", @@ -7790,6 +7849,7 @@ var rules = [...]string{ "vladikavkaz.su", "vladimir.su", "vologda.su", + "channelsdvr.net", "fastlylb.net", "map.fastlylb.net", "freetls.fastly.net", @@ -7806,6 +7866,7 @@ var rules = [...]string{ "filegear.me", "firebaseapp.com", "flynnhub.com", + "flynnhosting.net", "freebox-os.com", "freeboxos.com", "fbx-os.fr", @@ -7813,6 +7874,7 @@ var rules = [...]string{ "freebox-os.fr", "freeboxos.fr", "myfusion.cloud", + "*.futurecms.at", "futurehosting.at", "futuremailing.at", "*.ex.ortsinfo.at", @@ -7821,11 +7883,6 @@ var rules = [...]string{ "service.gov.uk", "github.io", "githubusercontent.com", - "githubcloud.com", - "*.api.githubcloud.com", - "*.ext.githubcloud.com", - "gist.githubcloud.com", - "*.githubcloudusercontent.com", "gitlab.io", "homeoffice.gov.uk", "ro.im", @@ -7925,6 +7982,7 @@ var rules = [...]string{ "iki.fi", "biz.at", "info.at", + "info.cx", "ac.leg.br", "al.leg.br", "am.leg.br", @@ -7952,6 +8010,7 @@ var rules = [...]string{ "se.leg.br", "sp.leg.br", "to.leg.br", + "pixolino.com", "ipifony.net", "*.triton.zone", "*.cns.joyent.com", @@ -7960,6 +8019,10 @@ var rules = [...]string{ "knightpoint.systems", "co.krd", "edu.krd", + "git-repos.de", + "lcube-server.de", + "svn-repos.de", + "we.bs", "barsy.bg", "barsyonline.com", "barsy.de", @@ -7970,6 +8033,8 @@ var rules = [...]string{ "barsy.support", "*.magentosite.cloud", "hb.cldmail.ru", + "cloud.metacentrum.cz", + "custom.metacentrum.cz", "meteorapp.com", "eu.meteorapp.com", "co.pl", @@ -7977,6 +8042,11 @@ var rules = [...]string{ "azure-mobile.net", "cloudapp.net", "bmoattachments.org", + "net.ru", + "org.ru", + "pp.ru", + "bitballoon.com", + "netlify.com", "4u.com", "ngrok.io", "nfshost.com", @@ -8067,9 +8137,47 @@ var rules = [...]string{ "sytes.net", "webhop.me", "zapto.org", + "stage.nodeart.io", "nodum.co", "nodum.io", "nyc.mn", + "nom.ae", + "nom.ai", + "nom.al", + "nym.by", + "nym.bz", + "nom.cl", + "nom.gd", + "nom.gl", + "nym.gr", + "nom.gt", + "nom.hn", + "nom.im", + "nym.kz", + "nym.la", + "nom.li", + "nym.li", + "nym.lt", + "nym.lu", + "nym.me", + "nom.mk", + "nym.mx", + "nom.nu", + "nym.nz", + "nym.pe", + "nym.pt", + "nom.pw", + "nom.qa", + "nom.rs", + "nom.si", + "nym.sk", + "nym.su", + "nym.sx", + "nym.tw", + "nom.ug", + "nom.uy", + "nom.vc", + "nom.vg", "cya.gg", "nid.io", "opencraft.hosting", @@ -8095,6 +8203,7 @@ var rules = [...]string{ "priv.at", "protonet.io", "chirurgiens-dentistes-en-france.fr", + "byen.site", "qa2.com", "dev-myqnapcloud.com", "alpha-myqnapcloud.com", @@ -8144,6 +8253,7 @@ var rules = [...]string{ "spacekit.io", "stackspace.space", "storj.farm", + "temp-dns.com", "diskstation.me", "dscloud.biz", "dscloud.me", @@ -8164,8 +8274,31 @@ var rules = [...]string{ "gdynia.pl", "med.pl", "sopot.pl", + "cust.dev.thingdust.io", + "cust.disrec.thingdust.io", + "cust.prod.thingdust.io", + "cust.testing.thingdust.io", "bloxcms.com", "townnews-staging.com", + "12hp.at", + "2ix.at", + "4lima.at", + "lima-city.at", + "12hp.ch", + "2ix.ch", + "4lima.ch", + "lima-city.ch", + "trafficplex.cloud", + "de.cool", + "12hp.de", + "2ix.de", + "4lima.de", + "lima-city.de", + "1337.pictures", + "clan.rip", + "lima-city.rocks", + "webspace.rocks", + "lima.zone", "*.transurl.be", "*.transurl.eu", "*.transurl.nl", @@ -8190,10 +8323,14 @@ var rules = [...]string{ "inc.hk", "lib.de.us", "router.management", + "v-info.info", "wedeploy.io", "wedeploy.me", + "wedeploy.sh", "remotewd.com", "wmflabs.org", + "cistron.nl", + "demon.nl", "xs4all.space", "yolasite.com", "ybo.faith", @@ -9586,13 +9723,16 @@ var nodeLabels = [...]string{ "xn--11b4c3d", "xn--1ck2e1b", "xn--1qqw23a", + "xn--2scrj9c", "xn--30rr7y", "xn--3bst00m", "xn--3ds443g", "xn--3e0b707e", + "xn--3hcrj9c", "xn--3oq18vl8pn36a", "xn--3pxu8k", "xn--42c2d9a", + "xn--45br5cyl", "xn--45brj9c", "xn--45q11c", "xn--4gbrim", @@ -9610,6 +9750,7 @@ var nodeLabels = [...]string{ "xn--80aswg", "xn--8y0a063a", "xn--90a3ac", + "xn--90ae", "xn--90ais", "xn--9dbq2a", "xn--9et52u", @@ -9645,7 +9786,9 @@ var nodeLabels = [...]string{ "xn--gckr3f0f", "xn--gecrj9c", "xn--gk3at1e", + "xn--h2breg3eve", "xn--h2brj9c", + "xn--h2brj9c8c", "xn--hxt814e", "xn--i1b6b1a6a2e", "xn--imr513n", @@ -9680,6 +9823,7 @@ var nodeLabels = [...]string{ "xn--mgbca7dzdo", "xn--mgberp4a5d4a87g", "xn--mgberp4a5d4ar", + "xn--mgbgu82a", "xn--mgbi4ecexp", "xn--mgbpl2fh", "xn--mgbqly7c0a67fbc", @@ -9712,6 +9856,7 @@ var nodeLabels = [...]string{ "xn--qxam", "xn--rhqv96g", "xn--rovu88b", + "xn--rvc1e0am3e", "xn--s9brj9c", "xn--ses554g", "xn--t60b56a", @@ -9771,6 +9916,7 @@ var nodeLabels = [...]string{ "gov", "mil", "net", + "nom", "org", "sch", "accident-investigation", @@ -9872,6 +10018,7 @@ var nodeLabels = [...]string{ "org", "com", "net", + "nom", "off", "org", "blogspot", @@ -9880,6 +10027,7 @@ var nodeLabels = [...]string{ "gov", "mil", "net", + "nom", "org", "blogspot", "co", @@ -9907,13 +10055,18 @@ var nodeLabels = [...]string{ "urn", "gov", "cloudns", + "12hp", + "2ix", + "4lima", "ac", "biz", "co", + "futurecms", "futurehosting", "futuremailing", "gv", "info", + "lima-city", "or", "ortsinfo", "priv", @@ -10202,6 +10355,7 @@ var nodeLabels = [...]string{ "gov", "net", "org", + "we", "com", "edu", "gov", @@ -10212,12 +10366,14 @@ var nodeLabels = [...]string{ "com", "gov", "mil", + "nym", "of", "blogspot", "com", "edu", "gov", "net", + "nym", "org", "za", "ab", @@ -10248,8 +10404,12 @@ var nodeLabels = [...]string{ "twmail", "gov", "blogspot", + "12hp", + "2ix", + "4lima", "blogspot", "gotdns", + "lima-city", "square7", "ac", "asso", @@ -10272,10 +10432,12 @@ var nodeLabels = [...]string{ "gob", "gov", "mil", + "nom", "magentosite", "myfusion", "sensiosite", "statics", + "trafficplex", "vapor", "cloudns", "co", @@ -10329,9 +10491,10 @@ var nodeLabels = [...]string{ "amazonaws", "cn-north-1", "compute", + "eb", "elb", - "elasticbeanstalk", "s3", + "cn-north-1", "arts", "com", "edu", @@ -10360,6 +10523,7 @@ var nodeLabels = [...]string{ "ar", "barsyonline", "betainabox", + "bitballoon", "blogdns", "blogspot", "blogsyte", @@ -10375,6 +10539,8 @@ var nodeLabels = [...]string{ "co", "codespot", "damnserver", + "ddnsfree", + "ddnsgeek", "ddnsking", "de", "dev-myqnapcloud", @@ -10385,6 +10551,7 @@ var nodeLabels = [...]string{ "doesntexist", "dontexist", "doomdns", + "drayddns", "dreamhosters", "dsmynas", "dyn-o-saur", @@ -10468,9 +10635,9 @@ var nodeLabels = [...]string{ "gb", "geekgalaxy", "getmyip", - "githubcloud", - "githubcloudusercontent", + "giize", "githubusercontent", + "gleeze", "googleapis", "googlecode", "gotdns", @@ -10545,12 +10712,15 @@ var nodeLabels = [...]string{ "isa-geek", "isa-hockeynut", "issmarterthanyou", + "jdevcloud", "joyent", "jpn", + "kozow", "kr", "likes-pie", "likescandy", "logoip", + "loseyourip", "meteorapp", "mex", "myactivedirectory", @@ -10559,19 +10729,23 @@ var nodeLabels = [...]string{ "myqnapcloud", "mysecuritycamera", "myshopblocks", + "mytuleap", "myvnc", "neat-url", "net-freaks", + "netlify", "nfshost", "no", "on-aptible", "onthewifi", + "ooguy", "operaunite", "outsystemscloud", "ownprovider", "pagefrontapp", "pagespeedmobilizer", "pgfog", + "pixolino", "point2this", "prgmr", "publishproxy", @@ -10610,6 +10784,8 @@ var nodeLabels = [...]string{ "space-to-rent", "stufftoread", "teaches-yoga", + "temp-dns", + "theworkpc", "townnews-staging", "uk", "unusualperson", @@ -10619,6 +10795,7 @@ var nodeLabels = [...]string{ "withgoogle", "withyoutube", "workisboring", + "wpdevcloud", "writesthisblog", "xenapponazure", "yolasite", @@ -10701,19 +10878,34 @@ var nodeLabels = [...]string{ "s3", "alpha", "beta", + "ap-northeast-1", + "ap-northeast-2", + "ap-south-1", + "ap-southeast-1", + "ap-southeast-2", + "ca-central-1", + "eu-central-1", + "eu-west-1", + "eu-west-2", + "sa-east-1", + "us-east-1", + "us-east-2", + "us-gov-west-1", + "us-west-1", + "us-west-2", "eu-1", "eu-2", "eu-3", + "eu-4", "us-1", "us-2", "us-3", + "us-4", "apps", - "api", - "ext", - "gist", "cns", "eu", "xen", + "de", "ac", "co", "ed", @@ -10734,6 +10926,7 @@ var nodeLabels = [...]string{ "org", "ath", "gov", + "info", "ac", "biz", "com", @@ -10751,7 +10944,13 @@ var nodeLabels = [...]string{ "blogspot", "co", "e4", + "metacentrum", "realm", + "cloud", + "custom", + "12hp", + "2ix", + "4lima", "barsy", "blogspot", "bplaced", @@ -10770,6 +10969,7 @@ var nodeLabels = [...]string{ "dynvpn", "firewall-gateway", "fuettertdasnetz", + "git-repos", "goip", "home-webserver", "internet-dns", @@ -10777,8 +10977,10 @@ var nodeLabels = [...]string{ "istmein", "keymachine", "l-o-g-i-n", + "lcube-server", "lebtimnetz", "leitungsen", + "lima-city", "logoip", "mein-vigor", "my-gateway", @@ -10788,6 +10990,7 @@ var nodeLabels = [...]string{ "myhome-server", "spdns", "square7", + "svn-repos", "syno-ds", "synology-diskstation", "synology-ds", @@ -10920,6 +11123,7 @@ var nodeLabels = [...]string{ "presse", "tm", "veterinaire", + "nom", "com", "edu", "gov", @@ -10946,6 +11150,7 @@ var nodeLabels = [...]string{ "com", "edu", "net", + "nom", "org", "ac", "com", @@ -10965,6 +11170,7 @@ var nodeLabels = [...]string{ "edu", "gov", "net", + "nym", "org", "com", "edu", @@ -10972,6 +11178,7 @@ var nodeLabels = [...]string{ "ind", "mil", "net", + "nom", "org", "co", "com", @@ -11008,7 +11215,10 @@ var nodeLabels = [...]string{ "gob", "mil", "net", + "nom", "org", + "cloudaccess", + "freesite", "opencraft", "blogspot", "com", @@ -11091,6 +11301,7 @@ var nodeLabels = [...]string{ "co", "com", "net", + "nom", "org", "ro", "tt", @@ -11127,6 +11338,7 @@ var nodeLabels = [...]string{ "no-ip", "nsupdate", "selfip", + "v-info", "webhop", "eu", "backplaneapp", @@ -11144,6 +11356,7 @@ var nodeLabels = [...]string{ "lair", "ngrok", "nid", + "nodeart", "nodum", "pantheonsite", "protonet", @@ -11151,10 +11364,20 @@ var nodeLabels = [...]string{ "shiftedit", "spacekit", "stolos", + "thingdust", "vaporcloud", "wedeploy", "customer", "apps", + "stage", + "dev", + "disrec", + "prod", + "testing", + "cust", + "cust", + "cust", + "cust", "com", "edu", "gov", @@ -13433,6 +13656,7 @@ var nodeLabels = [...]string{ "gov", "mil", "net", + "nym", "org", "bnr", "c", @@ -13442,6 +13666,7 @@ var nodeLabels = [...]string{ "info", "int", "net", + "nym", "org", "per", "static", @@ -13460,6 +13685,8 @@ var nodeLabels = [...]string{ "org", "oy", "blogspot", + "nom", + "nym", "cyon", "mypep", "ac", @@ -13486,7 +13713,9 @@ var nodeLabels = [...]string{ "org", "blogspot", "gov", + "nym", "blogspot", + "nym", "asn", "com", "conf", @@ -13534,6 +13763,7 @@ var nodeLabels = [...]string{ "myds", "net", "noip", + "nym", "org", "priv", "synology", @@ -13557,6 +13787,7 @@ var nodeLabels = [...]string{ "inf", "name", "net", + "nom", "org", "com", "edu", @@ -14172,6 +14403,7 @@ var nodeLabels = [...]string{ "edu", "gob", "net", + "nym", "org", "blogspot", "com", @@ -14218,17 +14450,22 @@ var nodeLabels = [...]string{ "azurewebsites", "barsy", "blogdns", + "boomla", "bounceme", "bplaced", "broke-it", "buyshouses", + "casacam", "cdn77", "cdn77-ssl", + "channelsdvr", + "cloudaccess", "cloudapp", "cloudfront", "cloudfunctions", "cryptonomic", "ddns", + "debian", "definima", "dnsalias", "dnsdojo", @@ -14237,6 +14474,7 @@ var nodeLabels = [...]string{ "dsmynas", "dynalias", "dynathome", + "dynu", "dynv6", "eating-organic", "endofinternet", @@ -14245,6 +14483,7 @@ var nodeLabels = [...]string{ "fastlylb", "feste-ip", "firewall-gateway", + "flynnhosting", "from-az", "from-co", "from-la", @@ -14348,7 +14587,9 @@ var nodeLabels = [...]string{ "web", "blogspot", "bv", + "cistron", "co", + "demon", "transurl", "virtueeldomein", "aa", @@ -15126,6 +15367,7 @@ var nodeLabels = [...]string{ "org", "merseine", "mine", + "nom", "shacknet", "ac", "co", @@ -15139,6 +15381,7 @@ var nodeLabels = [...]string{ "maori", "mil", "net", + "nym", "org", "parliament", "school", @@ -15155,6 +15398,7 @@ var nodeLabels = [...]string{ "pro", "homelink", "barsy", + "accesscam", "ae", "amune", "blogdns", @@ -15162,6 +15406,7 @@ var nodeLabels = [...]string{ "bmoattachments", "boldlygoingnowhere", "cable-modem", + "camdvr", "cdn77", "cdn77-secure", "certmgr", @@ -15187,6 +15432,7 @@ var nodeLabels = [...]string{ "fedorainfracloud", "fedorapeople", "fedoraproject", + "freeddns", "from-me", "game-host", "gotdns", @@ -15224,6 +15470,7 @@ var nodeLabels = [...]string{ "myfirewall", "myftp", "mysecuritycamera", + "mywire", "nflfan", "no-ip", "pimienta", @@ -15246,6 +15493,7 @@ var nodeLabels = [...]string{ "ufcfan", "us", "webhop", + "webredirect", "wmflabs", "za", "zapto", @@ -15332,6 +15580,7 @@ var nodeLabels = [...]string{ "mil", "net", "nom", + "nym", "org", "com", "edu", @@ -15344,6 +15593,7 @@ var nodeLabels = [...]string{ "net", "ngo", "org", + "1337", "biz", "com", "edu", @@ -15615,6 +15865,7 @@ var nodeLabels = [...]string{ "int", "net", "nome", + "nym", "org", "publ", "belau", @@ -15623,6 +15874,7 @@ var nodeLabels = [...]string{ "ed", "go", "ne", + "nom", "or", "com", "coop", @@ -15638,6 +15890,7 @@ var nodeLabels = [...]string{ "mil", "name", "net", + "nom", "org", "sch", "asso", @@ -15645,6 +15898,7 @@ var nodeLabels = [...]string{ "com", "nom", "ybo", + "clan", "arts", "blogspot", "com", @@ -15658,12 +15912,16 @@ var nodeLabels = [...]string{ "store", "tm", "www", + "lima-city", + "myddns", + "webspace", "ac", "blogspot", "co", "edu", "gov", "in", + "nom", "org", "ac", "adygeya", @@ -15686,7 +15944,10 @@ var nodeLabels = [...]string{ "msk", "mytis", "nalchik", + "net", "nov", + "org", + "pp", "pyatigorsk", "spb", "test", @@ -15785,10 +16046,14 @@ var nodeLabels = [...]string{ "now", "org", "platform", + "wedeploy", "blogspot", + "nom", + "byen", "cyon", "platformsh", "blogspot", + "nym", "com", "edu", "gov", @@ -15857,6 +16122,7 @@ var nodeLabels = [...]string{ "navoi", "north-kazakhstan", "nov", + "nym", "obninsk", "penza", "pokrovsk", @@ -15879,6 +16145,7 @@ var nodeLabels = [...]string{ "org", "red", "gov", + "nym", "com", "edu", "gov", @@ -16003,6 +16270,7 @@ var nodeLabels = [...]string{ "idv", "mil", "net", + "nym", "org", "url", "xn--czrw28b", @@ -16109,6 +16377,7 @@ var nodeLabels = [...]string{ "com", "go", "ne", + "nom", "or", "org", "sc", @@ -16270,9 +16539,17 @@ var nodeLabels = [...]string{ "cc", "k12", "lib", + "ann-arbor", "cc", + "cog", + "dst", + "eaton", + "gen", "k12", "lib", + "mus", + "tec", + "washtenaw", "cc", "k12", "lib", @@ -16364,6 +16641,7 @@ var nodeLabels = [...]string{ "gub", "mil", "net", + "nom", "org", "blogspot", "co", @@ -16375,6 +16653,7 @@ var nodeLabels = [...]string{ "gov", "mil", "net", + "nom", "org", "arts", "co", @@ -16393,6 +16672,7 @@ var nodeLabels = [...]string{ "store", "tec", "web", + "nom", "co", "com", "k12", @@ -16435,6 +16715,7 @@ var nodeLabels = [...]string{ "xn--h3cuzk1di", "xn--m3ch0j3a", "xn--o3cyx2a", + "blogsite", "fhapp", "ac", "agric", @@ -16465,6 +16746,7 @@ var nodeLabels = [...]string{ "net", "org", "sch", + "lima", "triton", "ac", "co", diff --git a/vendor/golang.org/x/net/route/defs_openbsd.go b/vendor/golang.org/x/net/route/defs_openbsd.go index 0f66d3619..173bb5d51 100644 --- a/vendor/golang.org/x/net/route/defs_openbsd.go +++ b/vendor/golang.org/x/net/route/defs_openbsd.go @@ -69,6 +69,9 @@ const ( sysRTM_IFINFO = C.RTM_IFINFO sysRTM_IFANNOUNCE = C.RTM_IFANNOUNCE sysRTM_DESYNC = C.RTM_DESYNC + sysRTM_INVALIDATE = C.RTM_INVALIDATE + sysRTM_BFD = C.RTM_BFD + sysRTM_PROPOSAL = C.RTM_PROPOSAL sysRTA_DST = C.RTA_DST sysRTA_GATEWAY = C.RTA_GATEWAY @@ -81,6 +84,10 @@ const ( sysRTA_SRC = C.RTA_SRC sysRTA_SRCMASK = C.RTA_SRCMASK sysRTA_LABEL = C.RTA_LABEL + sysRTA_BFD = C.RTA_BFD + sysRTA_DNS = C.RTA_DNS + sysRTA_STATIC = C.RTA_STATIC + sysRTA_SEARCH = C.RTA_SEARCH sysRTAX_DST = C.RTAX_DST sysRTAX_GATEWAY = C.RTAX_GATEWAY @@ -93,6 +100,10 @@ const ( sysRTAX_SRC = C.RTAX_SRC sysRTAX_SRCMASK = C.RTAX_SRCMASK sysRTAX_LABEL = C.RTAX_LABEL + sysRTAX_BFD = C.RTAX_BFD + sysRTAX_DNS = C.RTAX_DNS + sysRTAX_STATIC = C.RTAX_STATIC + sysRTAX_SEARCH = C.RTAX_SEARCH sysRTAX_MAX = C.RTAX_MAX ) diff --git a/vendor/golang.org/x/net/route/route_test.go b/vendor/golang.org/x/net/route/route_test.go index 63fd8c561..61bd17454 100644 --- a/vendor/golang.org/x/net/route/route_test.go +++ b/vendor/golang.org/x/net/route/route_test.go @@ -74,6 +74,10 @@ var addrAttrNames = [...]string{ "df:mpls1-n:tag-o:src", // mpls1 for dragonfly, tag for netbsd, src for openbsd "df:mpls2-o:srcmask", // mpls2 for dragonfly, srcmask for openbsd "df:mpls3-o:label", // mpls3 for dragonfly, label for openbsd + "o:bfd", // bfd for openbsd + "o:dns", // dns for openbsd + "o:static", // static for openbsd + "o:search", // search for openbsd } func (attrs addrAttrs) String() string { diff --git a/vendor/golang.org/x/net/route/sys_openbsd.go b/vendor/golang.org/x/net/route/sys_openbsd.go index 19fc025e5..c5674e83d 100644 --- a/vendor/golang.org/x/net/route/sys_openbsd.go +++ b/vendor/golang.org/x/net/route/sys_openbsd.go @@ -75,5 +75,6 @@ func probeRoutingStack() (int, map[int]*wireFormat) { sysRTM_DELADDR: ifam, sysRTM_IFINFO: ifm, sysRTM_IFANNOUNCE: ifanm, + sysRTM_DESYNC: rtm, } } diff --git a/vendor/golang.org/x/net/route/zsys_openbsd.go b/vendor/golang.org/x/net/route/zsys_openbsd.go index f5a1ff967..db8c8efb4 100644 --- a/vendor/golang.org/x/net/route/zsys_openbsd.go +++ b/vendor/golang.org/x/net/route/zsys_openbsd.go @@ -54,6 +54,9 @@ const ( sysRTM_IFINFO = 0xe sysRTM_IFANNOUNCE = 0xf sysRTM_DESYNC = 0x10 + sysRTM_INVALIDATE = 0x11 + sysRTM_BFD = 0x12 + sysRTM_PROPOSAL = 0x13 sysRTA_DST = 0x1 sysRTA_GATEWAY = 0x2 @@ -66,6 +69,10 @@ const ( sysRTA_SRC = 0x100 sysRTA_SRCMASK = 0x200 sysRTA_LABEL = 0x400 + sysRTA_BFD = 0x800 + sysRTA_DNS = 0x1000 + sysRTA_STATIC = 0x2000 + sysRTA_SEARCH = 0x4000 sysRTAX_DST = 0x0 sysRTAX_GATEWAY = 0x1 @@ -78,7 +85,11 @@ const ( sysRTAX_SRC = 0x8 sysRTAX_SRCMASK = 0x9 sysRTAX_LABEL = 0xa - sysRTAX_MAX = 0xb + sysRTAX_BFD = 0xb + sysRTAX_DNS = 0xc + sysRTAX_STATIC = 0xd + sysRTAX_SEARCH = 0xe + sysRTAX_MAX = 0xf ) const ( diff --git a/vendor/golang.org/x/net/webdav/lock_test.go b/vendor/golang.org/x/net/webdav/lock_test.go index 116d6c0d7..5cf14cda4 100644 --- a/vendor/golang.org/x/net/webdav/lock_test.go +++ b/vendor/golang.org/x/net/webdav/lock_test.go @@ -69,7 +69,7 @@ var lockTestDurations = []time.Duration{ // lockTestNames are the names of a set of mutually compatible locks. For each // name fragment: // - _ means no explicit lock. -// - i means a infinite-depth lock, +// - i means an infinite-depth lock, // - z means a zero-depth lock, var lockTestNames = []string{ "/_/_/_/_/z", diff --git a/vendor/golang.org/x/oauth2/LICENSE b/vendor/golang.org/x/oauth2/LICENSE index d02f24fd5..6a66aea5e 100644 --- a/vendor/golang.org/x/oauth2/LICENSE +++ b/vendor/golang.org/x/oauth2/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2009 The oauth2 Authors. All rights reserved. +Copyright (c) 2009 The Go Authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are diff --git a/vendor/golang.org/x/oauth2/example_test.go b/vendor/golang.org/x/oauth2/example_test.go index 378c70dc1..fc2f793b2 100644 --- a/vendor/golang.org/x/oauth2/example_test.go +++ b/vendor/golang.org/x/oauth2/example_test.go @@ -48,24 +48,42 @@ func ExampleConfig() { client.Get("...") } -func ExampleHTTPClient() { - hc := &http.Client{Timeout: 2 * time.Second} - ctx := context.WithValue(context.Background(), oauth2.HTTPClient, hc) +func ExampleConfig_customHTTP() { + ctx := context.Background() conf := &oauth2.Config{ ClientID: "YOUR_CLIENT_ID", ClientSecret: "YOUR_CLIENT_SECRET", Scopes: []string{"SCOPE1", "SCOPE2"}, Endpoint: oauth2.Endpoint{ - AuthURL: "https://provider.com/o/oauth2/auth", TokenURL: "https://provider.com/o/oauth2/token", + AuthURL: "https://provider.com/o/oauth2/auth", }, } - // Exchange request will be made by the custom - // HTTP client, hc. - _, err := conf.Exchange(ctx, "foo") + // Redirect user to consent page to ask for permission + // for the scopes specified above. + url := conf.AuthCodeURL("state", oauth2.AccessTypeOffline) + fmt.Printf("Visit the URL for the auth dialog: %v", url) + + // Use the authorization code that is pushed to the redirect + // URL. Exchange will do the handshake to retrieve the + // initial access token. The HTTP Client returned by + // conf.Client will refresh the token as necessary. + var code string + if _, err := fmt.Scan(&code); err != nil { + log.Fatal(err) + } + + // Use the custom HTTP client when requesting a token. + httpClient := &http.Client{Timeout: 2 * time.Second} + ctx = context.WithValue(ctx, oauth2.HTTPClient, httpClient) + + tok, err := conf.Exchange(ctx, code) if err != nil { log.Fatal(err) } + + client := conf.Client(ctx, tok) + _ = client } diff --git a/vendor/golang.org/x/oauth2/google/default.go b/vendor/golang.org/x/oauth2/google/default.go index 004ed4eab..b4b62745c 100644 --- a/vendor/golang.org/x/oauth2/google/default.go +++ b/vendor/golang.org/x/oauth2/google/default.go @@ -24,6 +24,12 @@ import ( type DefaultCredentials struct { ProjectID string // may be empty TokenSource oauth2.TokenSource + + // JSON contains the raw bytes from a JSON credentials file. + // This field may be nil if authentication is provided by the + // environment and not with a credentials file, e.g. when code is + // running on Google Cloud Platform. + JSON []byte } // DefaultClient returns an HTTP Client that uses the @@ -126,5 +132,6 @@ func readCredentialsFile(ctx context.Context, filename string, scopes []string) return &DefaultCredentials{ ProjectID: f.ProjectID, TokenSource: ts, + JSON: b, }, nil } diff --git a/vendor/golang.org/x/oauth2/internal/doc.go b/vendor/golang.org/x/oauth2/internal/doc.go new file mode 100644 index 000000000..03265e888 --- /dev/null +++ b/vendor/golang.org/x/oauth2/internal/doc.go @@ -0,0 +1,6 @@ +// Copyright 2017 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 internal contains support packages for oauth2 package. +package internal diff --git a/vendor/golang.org/x/oauth2/internal/oauth2.go b/vendor/golang.org/x/oauth2/internal/oauth2.go index e31541b39..6978192a9 100644 --- a/vendor/golang.org/x/oauth2/internal/oauth2.go +++ b/vendor/golang.org/x/oauth2/internal/oauth2.go @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// Package internal contains support packages for oauth2 package. package internal import ( diff --git a/vendor/golang.org/x/oauth2/internal/oauth2_test.go b/vendor/golang.org/x/oauth2/internal/oauth2_test.go index 0aafc7f43..07d51c433 100644 --- a/vendor/golang.org/x/oauth2/internal/oauth2_test.go +++ b/vendor/golang.org/x/oauth2/internal/oauth2_test.go @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// Package internal contains support packages for oauth2 package. package internal import ( diff --git a/vendor/golang.org/x/oauth2/internal/token.go b/vendor/golang.org/x/oauth2/internal/token.go index 0487c81b5..cf959ea69 100644 --- a/vendor/golang.org/x/oauth2/internal/token.go +++ b/vendor/golang.org/x/oauth2/internal/token.go @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// Package internal contains support packages for oauth2 package. package internal import ( @@ -188,7 +187,7 @@ func RetrieveToken(ctx context.Context, clientID, clientSecret, tokenURL string, } req.Header.Set("Content-Type", "application/x-www-form-urlencoded") if !bustedAuth { - req.SetBasicAuth(clientID, clientSecret) + req.SetBasicAuth(url.QueryEscape(clientID), url.QueryEscape(clientSecret)) } r, err := ctxhttp.Do(ctx, hc, req) if err != nil { diff --git a/vendor/golang.org/x/oauth2/internal/token_test.go b/vendor/golang.org/x/oauth2/internal/token_test.go index c19a462cc..df5eb2647 100644 --- a/vendor/golang.org/x/oauth2/internal/token_test.go +++ b/vendor/golang.org/x/oauth2/internal/token_test.go @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// Package internal contains support packages for oauth2 package. package internal import ( diff --git a/vendor/golang.org/x/oauth2/internal/transport.go b/vendor/golang.org/x/oauth2/internal/transport.go index f1f173e34..783bd98c8 100644 --- a/vendor/golang.org/x/oauth2/internal/transport.go +++ b/vendor/golang.org/x/oauth2/internal/transport.go @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// Package internal contains support packages for oauth2 package. package internal import ( diff --git a/vendor/golang.org/x/oauth2/oauth2.go b/vendor/golang.org/x/oauth2/oauth2.go index 3e4835d7e..4bafe873d 100644 --- a/vendor/golang.org/x/oauth2/oauth2.go +++ b/vendor/golang.org/x/oauth2/oauth2.go @@ -291,6 +291,10 @@ var HTTPClient internal.ContextKey // NewClient creates an *http.Client from a Context and TokenSource. // The returned client is not valid beyond the lifetime of the context. // +// Note that if a custom *http.Client is provided via the Context it +// is used only for token acquisition and is not used to configure the +// *http.Client returned from NewClient. +// // As a special case, if src is nil, a non-OAuth2 client is returned // using the provided context. This exists to support related OAuth2 // packages. diff --git a/vendor/golang.org/x/oauth2/oauth2_test.go b/vendor/golang.org/x/oauth2/oauth2_test.go index 584084b2f..09293ede1 100644 --- a/vendor/golang.org/x/oauth2/oauth2_test.go +++ b/vendor/golang.org/x/oauth2/oauth2_test.go @@ -72,6 +72,25 @@ func TestAuthCodeURL_Optional(t *testing.T) { } } +func TestURLUnsafeClientConfig(t *testing.T) { + ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if got, want := r.Header.Get("Authorization"), "Basic Q0xJRU5UX0lEJTNGJTNGOkNMSUVOVF9TRUNSRVQlM0YlM0Y="; got != want { + t.Errorf("Authorization header = %q; want %q", got, want) + } + + w.Header().Set("Content-Type", "application/x-www-form-urlencoded") + w.Write([]byte("access_token=90d64460d14870c08c81352a05dedd3465940a7c&scope=user&token_type=bearer")) + })) + defer ts.Close() + conf := newConf(ts.URL) + conf.ClientID = "CLIENT_ID??" + conf.ClientSecret = "CLIENT_SECRET??" + _, err := conf.Exchange(context.Background(), "exchange-code") + if err != nil { + t.Error(err) + } +} + func TestExchangeRequest(t *testing.T) { ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { if r.URL.String() != "/token" { diff --git a/vendor/golang.org/x/sys/README b/vendor/golang.org/x/sys/README deleted file mode 100644 index bd422b40c..000000000 --- a/vendor/golang.org/x/sys/README +++ /dev/null @@ -1,3 +0,0 @@ -This repository holds supplemental Go packages for low-level interactions with the operating system. - -To submit changes to this repository, see http://golang.org/doc/contribute.html. diff --git a/vendor/golang.org/x/sys/README.md b/vendor/golang.org/x/sys/README.md new file mode 100644 index 000000000..ef6c9e59c --- /dev/null +++ b/vendor/golang.org/x/sys/README.md @@ -0,0 +1,18 @@ +# sys + +This repository holds supplemental Go packages for low-level interactions with +the operating system. + +## Download/Install + +The easiest way to install is to run `go get -u golang.org/x/sys`. You can +also manually git clone the repository to `$GOPATH/src/golang.org/x/sys`. + +## Report Issues / Send Patches + +This repository uses Gerrit for code changes. To learn how to submit changes to +this repository, see https://golang.org/doc/contribute.html. + +The main issue tracker for the sys repository is located at +https://github.com/golang/go/issues. Prefix your issue with "x/sys:" in the +subject line, so it is easy to find. diff --git a/vendor/golang.org/x/sys/unix/asm_openbsd_arm.s b/vendor/golang.org/x/sys/unix/asm_openbsd_arm.s new file mode 100644 index 000000000..469bfa100 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/asm_openbsd_arm.s @@ -0,0 +1,29 @@ +// Copyright 2017 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. + +// +build !gccgo + +#include "textflag.h" + +// +// System call support for ARM, OpenBSD +// + +// Just jump to package syscall's implementation for all these functions. +// The runtime may know about them. + +TEXT ·Syscall(SB),NOSPLIT,$0-28 + B syscall·Syscall(SB) + +TEXT ·Syscall6(SB),NOSPLIT,$0-40 + B syscall·Syscall6(SB) + +TEXT ·Syscall9(SB),NOSPLIT,$0-52 + B syscall·Syscall9(SB) + +TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + B syscall·RawSyscall(SB) + +TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 + B syscall·RawSyscall6(SB) diff --git a/vendor/golang.org/x/sys/unix/cap_freebsd.go b/vendor/golang.org/x/sys/unix/cap_freebsd.go index 66a95c2fe..83b6bceab 100644 --- a/vendor/golang.org/x/sys/unix/cap_freebsd.go +++ b/vendor/golang.org/x/sys/unix/cap_freebsd.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. -// +build freebsd,amd64 +// +build freebsd package unix diff --git a/vendor/golang.org/x/sys/unix/creds_test.go b/vendor/golang.org/x/sys/unix/creds_test.go index eaae7c367..7ae330532 100644 --- a/vendor/golang.org/x/sys/unix/creds_test.go +++ b/vendor/golang.org/x/sys/unix/creds_test.go @@ -21,101 +21,116 @@ import ( // sockets. The SO_PASSCRED socket option is enabled on the sending // socket for this to work. func TestSCMCredentials(t *testing.T) { - fds, err := unix.Socketpair(unix.AF_LOCAL, unix.SOCK_STREAM, 0) - if err != nil { - t.Fatalf("Socketpair: %v", err) - } - defer unix.Close(fds[0]) - defer unix.Close(fds[1]) - - err = unix.SetsockoptInt(fds[0], unix.SOL_SOCKET, unix.SO_PASSCRED, 1) - if err != nil { - t.Fatalf("SetsockoptInt: %v", err) + socketTypeTests := []struct { + socketType int + dataLen int + }{ + { + unix.SOCK_STREAM, + 1, + }, { + unix.SOCK_DGRAM, + 0, + }, } - srvFile := os.NewFile(uintptr(fds[0]), "server") - defer srvFile.Close() - srv, err := net.FileConn(srvFile) - if err != nil { - t.Errorf("FileConn: %v", err) - return - } - defer srv.Close() + for _, tt := range socketTypeTests { + fds, err := unix.Socketpair(unix.AF_LOCAL, tt.socketType, 0) + if err != nil { + t.Fatalf("Socketpair: %v", err) + } + defer unix.Close(fds[0]) + defer unix.Close(fds[1]) - cliFile := os.NewFile(uintptr(fds[1]), "client") - defer cliFile.Close() - cli, err := net.FileConn(cliFile) - if err != nil { - t.Errorf("FileConn: %v", err) - return - } - defer cli.Close() + err = unix.SetsockoptInt(fds[0], unix.SOL_SOCKET, unix.SO_PASSCRED, 1) + if err != nil { + t.Fatalf("SetsockoptInt: %v", err) + } + + srvFile := os.NewFile(uintptr(fds[0]), "server") + defer srvFile.Close() + srv, err := net.FileConn(srvFile) + if err != nil { + t.Errorf("FileConn: %v", err) + return + } + defer srv.Close() + + cliFile := os.NewFile(uintptr(fds[1]), "client") + defer cliFile.Close() + cli, err := net.FileConn(cliFile) + if err != nil { + t.Errorf("FileConn: %v", err) + return + } + defer cli.Close() + + var ucred unix.Ucred + if os.Getuid() != 0 { + ucred.Pid = int32(os.Getpid()) + ucred.Uid = 0 + ucred.Gid = 0 + oob := unix.UnixCredentials(&ucred) + _, _, err := cli.(*net.UnixConn).WriteMsgUnix(nil, oob, nil) + if op, ok := err.(*net.OpError); ok { + err = op.Err + } + if sys, ok := err.(*os.SyscallError); ok { + err = sys.Err + } + if err != syscall.EPERM { + t.Fatalf("WriteMsgUnix failed with %v, want EPERM", err) + } + } - var ucred unix.Ucred - if os.Getuid() != 0 { ucred.Pid = int32(os.Getpid()) - ucred.Uid = 0 - ucred.Gid = 0 + ucred.Uid = uint32(os.Getuid()) + ucred.Gid = uint32(os.Getgid()) oob := unix.UnixCredentials(&ucred) - _, _, err := cli.(*net.UnixConn).WriteMsgUnix(nil, oob, nil) - if op, ok := err.(*net.OpError); ok { - err = op.Err + + // On SOCK_STREAM, this is internally going to send a dummy byte + n, oobn, err := cli.(*net.UnixConn).WriteMsgUnix(nil, oob, nil) + if err != nil { + t.Fatalf("WriteMsgUnix: %v", err) } - if sys, ok := err.(*os.SyscallError); ok { - err = sys.Err + if n != 0 { + t.Fatalf("WriteMsgUnix n = %d, want 0", n) } - if err != syscall.EPERM { - t.Fatalf("WriteMsgUnix failed with %v, want EPERM", err) + if oobn != len(oob) { + t.Fatalf("WriteMsgUnix oobn = %d, want %d", oobn, len(oob)) } - } - ucred.Pid = int32(os.Getpid()) - ucred.Uid = uint32(os.Getuid()) - ucred.Gid = uint32(os.Getgid()) - oob := unix.UnixCredentials(&ucred) + oob2 := make([]byte, 10*len(oob)) + n, oobn2, flags, _, err := srv.(*net.UnixConn).ReadMsgUnix(nil, oob2) + if err != nil { + t.Fatalf("ReadMsgUnix: %v", err) + } + if flags != 0 { + t.Fatalf("ReadMsgUnix flags = 0x%x, want 0", flags) + } + if n != tt.dataLen { + t.Fatalf("ReadMsgUnix n = %d, want %d", n, tt.dataLen) + } + if oobn2 != oobn { + // without SO_PASSCRED set on the socket, ReadMsgUnix will + // return zero oob bytes + t.Fatalf("ReadMsgUnix oobn = %d, want %d", oobn2, oobn) + } + oob2 = oob2[:oobn2] + if !bytes.Equal(oob, oob2) { + t.Fatal("ReadMsgUnix oob bytes don't match") + } - // this is going to send a dummy byte - n, oobn, err := cli.(*net.UnixConn).WriteMsgUnix(nil, oob, nil) - if err != nil { - t.Fatalf("WriteMsgUnix: %v", err) - } - if n != 0 { - t.Fatalf("WriteMsgUnix n = %d, want 0", n) - } - if oobn != len(oob) { - t.Fatalf("WriteMsgUnix oobn = %d, want %d", oobn, len(oob)) - } - - oob2 := make([]byte, 10*len(oob)) - n, oobn2, flags, _, err := srv.(*net.UnixConn).ReadMsgUnix(nil, oob2) - if err != nil { - t.Fatalf("ReadMsgUnix: %v", err) - } - if flags != 0 { - t.Fatalf("ReadMsgUnix flags = 0x%x, want 0", flags) - } - if n != 1 { - t.Fatalf("ReadMsgUnix n = %d, want 1 (dummy byte)", n) - } - if oobn2 != oobn { - // without SO_PASSCRED set on the socket, ReadMsgUnix will - // return zero oob bytes - t.Fatalf("ReadMsgUnix oobn = %d, want %d", oobn2, oobn) - } - oob2 = oob2[:oobn2] - if !bytes.Equal(oob, oob2) { - t.Fatal("ReadMsgUnix oob bytes don't match") - } - - scm, err := unix.ParseSocketControlMessage(oob2) - if err != nil { - t.Fatalf("ParseSocketControlMessage: %v", err) - } - newUcred, err := unix.ParseUnixCredentials(&scm[0]) - if err != nil { - t.Fatalf("ParseUnixCredentials: %v", err) - } - if *newUcred != ucred { - t.Fatalf("ParseUnixCredentials = %+v, want %+v", newUcred, ucred) + scm, err := unix.ParseSocketControlMessage(oob2) + if err != nil { + t.Fatalf("ParseSocketControlMessage: %v", err) + } + newUcred, err := unix.ParseUnixCredentials(&scm[0]) + if err != nil { + t.Fatalf("ParseUnixCredentials: %v", err) + } + if *newUcred != ucred { + t.Fatalf("ParseUnixCredentials = %+v, want %+v", newUcred, ucred) + } } } diff --git a/vendor/golang.org/x/sys/unix/dev_darwin.go b/vendor/golang.org/x/sys/unix/dev_darwin.go new file mode 100644 index 000000000..8d1dc0fa3 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_darwin.go @@ -0,0 +1,24 @@ +// Copyright 2017 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. + +// Functions to access/create device major and minor numbers matching the +// encoding used in Darwin's sys/types.h header. + +package unix + +// Major returns the major component of a Darwin device number. +func Major(dev uint64) uint32 { + return uint32((dev >> 24) & 0xff) +} + +// Minor returns the minor component of a Darwin device number. +func Minor(dev uint64) uint32 { + return uint32(dev & 0xffffff) +} + +// Mkdev returns a Darwin device number generated from the given major and minor +// components. +func Mkdev(major, minor uint32) uint64 { + return (uint64(major) << 24) | uint64(minor) +} diff --git a/vendor/golang.org/x/sys/unix/dev_darwin_test.go b/vendor/golang.org/x/sys/unix/dev_darwin_test.go new file mode 100644 index 000000000..48d044860 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_darwin_test.go @@ -0,0 +1,49 @@ +// Copyright 2017 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 unix_test + +import ( + "fmt" + "testing" + + "golang.org/x/sys/unix" +) + +func TestDevices(t *testing.T) { + testCases := []struct { + path string + major uint32 + minor uint32 + }{ + // Most of the device major/minor numbers on Darwin are + // dynamically generated by devfs. These are some well-known + // static numbers. + {"/dev/ttyp0", 4, 0}, + {"/dev/ttys0", 4, 48}, + {"/dev/ptyp0", 5, 0}, + {"/dev/ptyr0", 5, 32}, + } + for _, tc := range testCases { + t.Run(fmt.Sprintf("%s %v:%v", tc.path, tc.major, tc.minor), func(t *testing.T) { + var stat unix.Stat_t + err := unix.Stat(tc.path, &stat) + if err != nil { + t.Errorf("failed to stat device: %v", err) + return + } + + dev := uint64(stat.Rdev) + if unix.Major(dev) != tc.major { + t.Errorf("for %s Major(%#x) == %d, want %d", tc.path, dev, unix.Major(dev), tc.major) + } + if unix.Minor(dev) != tc.minor { + t.Errorf("for %s Minor(%#x) == %d, want %d", tc.path, dev, unix.Minor(dev), tc.minor) + } + if unix.Mkdev(tc.major, tc.minor) != dev { + t.Errorf("for %s Mkdev(%d, %d) == %#x, want %#x", tc.path, tc.major, tc.minor, unix.Mkdev(tc.major, tc.minor), dev) + } + }) + } +} diff --git a/vendor/golang.org/x/sys/unix/dev_dragonfly.go b/vendor/golang.org/x/sys/unix/dev_dragonfly.go new file mode 100644 index 000000000..8502f202c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_dragonfly.go @@ -0,0 +1,30 @@ +// Copyright 2017 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. + +// Functions to access/create device major and minor numbers matching the +// encoding used in Dragonfly's sys/types.h header. +// +// The information below is extracted and adapted from sys/types.h: +// +// Minor gives a cookie instead of an index since in order to avoid changing the +// meanings of bits 0-15 or wasting time and space shifting bits 16-31 for +// devices that don't use them. + +package unix + +// Major returns the major component of a DragonFlyBSD device number. +func Major(dev uint64) uint32 { + return uint32((dev >> 8) & 0xff) +} + +// Minor returns the minor component of a DragonFlyBSD device number. +func Minor(dev uint64) uint32 { + return uint32(dev & 0xffff00ff) +} + +// Mkdev returns a DragonFlyBSD device number generated from the given major and +// minor components. +func Mkdev(major, minor uint32) uint64 { + return (uint64(major) << 8) | uint64(minor) +} diff --git a/vendor/golang.org/x/sys/unix/dev_dragonfly_test.go b/vendor/golang.org/x/sys/unix/dev_dragonfly_test.go new file mode 100644 index 000000000..2caba08a8 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_dragonfly_test.go @@ -0,0 +1,48 @@ +// Copyright 2017 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 unix_test + +import ( + "fmt" + "testing" + + "golang.org/x/sys/unix" +) + +func TestDevices(t *testing.T) { + testCases := []struct { + path string + major uint32 + minor uint32 + }{ + // Minor is a cookie instead of an index on DragonFlyBSD + {"/dev/null", 10, 0x00000002}, + {"/dev/random", 10, 0x00000003}, + {"/dev/urandom", 10, 0x00000004}, + {"/dev/zero", 10, 0x0000000c}, + {"/dev/bpf", 15, 0xffff00ff}, + } + for _, tc := range testCases { + t.Run(fmt.Sprintf("%s %v:%v", tc.path, tc.major, tc.minor), func(t *testing.T) { + var stat unix.Stat_t + err := unix.Stat(tc.path, &stat) + if err != nil { + t.Errorf("failed to stat device: %v", err) + return + } + + dev := uint64(stat.Rdev) + if unix.Major(dev) != tc.major { + t.Errorf("for %s Major(%#x) == %d, want %d", tc.path, dev, unix.Major(dev), tc.major) + } + if unix.Minor(dev) != tc.minor { + t.Errorf("for %s Minor(%#x) == %d, want %d", tc.path, dev, unix.Minor(dev), tc.minor) + } + if unix.Mkdev(tc.major, tc.minor) != dev { + t.Errorf("for %s Mkdev(%d, %d) == %#x, want %#x", tc.path, tc.major, tc.minor, unix.Mkdev(tc.major, tc.minor), dev) + } + }) + } +} diff --git a/vendor/golang.org/x/sys/unix/dev_freebsd.go b/vendor/golang.org/x/sys/unix/dev_freebsd.go new file mode 100644 index 000000000..eba3b4bd3 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_freebsd.go @@ -0,0 +1,30 @@ +// Copyright 2017 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. + +// Functions to access/create device major and minor numbers matching the +// encoding used in FreeBSD's sys/types.h header. +// +// The information below is extracted and adapted from sys/types.h: +// +// Minor gives a cookie instead of an index since in order to avoid changing the +// meanings of bits 0-15 or wasting time and space shifting bits 16-31 for +// devices that don't use them. + +package unix + +// Major returns the major component of a FreeBSD device number. +func Major(dev uint64) uint32 { + return uint32((dev >> 8) & 0xff) +} + +// Minor returns the minor component of a FreeBSD device number. +func Minor(dev uint64) uint32 { + return uint32(dev & 0xffff00ff) +} + +// Mkdev returns a FreeBSD device number generated from the given major and +// minor components. +func Mkdev(major, minor uint32) uint64 { + return (uint64(major) << 8) | uint64(minor) +} diff --git a/vendor/golang.org/x/sys/unix/dev_linux.go b/vendor/golang.org/x/sys/unix/dev_linux.go index c902c39e8..d165d6f30 100644 --- a/vendor/golang.org/x/sys/unix/dev_linux.go +++ b/vendor/golang.org/x/sys/unix/dev_linux.go @@ -34,9 +34,9 @@ func Minor(dev uint64) uint32 { // Mkdev returns a Linux device number generated from the given major and minor // components. func Mkdev(major, minor uint32) uint64 { - dev := uint64((major & 0x00000fff) << 8) - dev |= uint64((major & 0xfffff000) << 32) - dev |= uint64((minor & 0x000000ff) << 0) - dev |= uint64((minor & 0xffffff00) << 12) + dev := (uint64(major) & 0x00000fff) << 8 + dev |= (uint64(major) & 0xfffff000) << 32 + dev |= (uint64(minor) & 0x000000ff) << 0 + dev |= (uint64(minor) & 0xffffff00) << 12 return dev } diff --git a/vendor/golang.org/x/sys/unix/dev_netbsd.go b/vendor/golang.org/x/sys/unix/dev_netbsd.go new file mode 100644 index 000000000..b4a203d0c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_netbsd.go @@ -0,0 +1,29 @@ +// Copyright 2017 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. + +// Functions to access/create device major and minor numbers matching the +// encoding used in NetBSD's sys/types.h header. + +package unix + +// Major returns the major component of a NetBSD device number. +func Major(dev uint64) uint32 { + return uint32((dev & 0x000fff00) >> 8) +} + +// Minor returns the minor component of a NetBSD device number. +func Minor(dev uint64) uint32 { + minor := uint32((dev & 0x000000ff) >> 0) + minor |= uint32((dev & 0xfff00000) >> 12) + return minor +} + +// Mkdev returns a NetBSD device number generated from the given major and minor +// components. +func Mkdev(major, minor uint32) uint64 { + dev := (uint64(major) << 8) & 0x000fff00 + dev |= (uint64(minor) << 12) & 0xfff00000 + dev |= (uint64(minor) << 0) & 0x000000ff + return dev +} diff --git a/vendor/golang.org/x/sys/unix/dev_netbsd_test.go b/vendor/golang.org/x/sys/unix/dev_netbsd_test.go new file mode 100644 index 000000000..c39a80a48 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_netbsd_test.go @@ -0,0 +1,50 @@ +// Copyright 2017 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 unix_test + +import ( + "fmt" + "testing" + + "golang.org/x/sys/unix" +) + +func TestDevices(t *testing.T) { + testCases := []struct { + path string + major uint32 + minor uint32 + }{ + // well known major/minor numbers according to /dev/MAKEDEV on + // NetBSD 7.0 + {"/dev/null", 2, 2}, + {"/dev/zero", 2, 12}, + {"/dev/ttyp0", 5, 0}, + {"/dev/ttyp1", 5, 1}, + {"/dev/random", 46, 0}, + {"/dev/urandom", 46, 1}, + } + for _, tc := range testCases { + t.Run(fmt.Sprintf("%s %v:%v", tc.path, tc.major, tc.minor), func(t *testing.T) { + var stat unix.Stat_t + err := unix.Stat(tc.path, &stat) + if err != nil { + t.Errorf("failed to stat device: %v", err) + return + } + + dev := uint64(stat.Rdev) + if unix.Major(dev) != tc.major { + t.Errorf("for %s Major(%#x) == %d, want %d", tc.path, dev, unix.Major(dev), tc.major) + } + if unix.Minor(dev) != tc.minor { + t.Errorf("for %s Minor(%#x) == %d, want %d", tc.path, dev, unix.Minor(dev), tc.minor) + } + if unix.Mkdev(tc.major, tc.minor) != dev { + t.Errorf("for %s Mkdev(%d, %d) == %#x, want %#x", tc.path, tc.major, tc.minor, unix.Mkdev(tc.major, tc.minor), dev) + } + }) + } +} diff --git a/vendor/golang.org/x/sys/unix/dev_openbsd.go b/vendor/golang.org/x/sys/unix/dev_openbsd.go new file mode 100644 index 000000000..f3430c42f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_openbsd.go @@ -0,0 +1,29 @@ +// Copyright 2017 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. + +// Functions to access/create device major and minor numbers matching the +// encoding used in OpenBSD's sys/types.h header. + +package unix + +// Major returns the major component of an OpenBSD device number. +func Major(dev uint64) uint32 { + return uint32((dev & 0x0000ff00) >> 8) +} + +// Minor returns the minor component of an OpenBSD device number. +func Minor(dev uint64) uint32 { + minor := uint32((dev & 0x000000ff) >> 0) + minor |= uint32((dev & 0xffff0000) >> 8) + return minor +} + +// Mkdev returns an OpenBSD device number generated from the given major and minor +// components. +func Mkdev(major, minor uint32) uint64 { + dev := (uint64(major) << 8) & 0x0000ff00 + dev |= (uint64(minor) << 8) & 0xffff0000 + dev |= (uint64(minor) << 0) & 0x000000ff + return dev +} diff --git a/vendor/golang.org/x/sys/unix/dev_openbsd_test.go b/vendor/golang.org/x/sys/unix/dev_openbsd_test.go new file mode 100644 index 000000000..5635d271f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_openbsd_test.go @@ -0,0 +1,52 @@ +// Copyright 2017 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 unix_test + +import ( + "fmt" + "testing" + + "golang.org/x/sys/unix" +) + +func TestDevices(t *testing.T) { + testCases := []struct { + path string + major uint32 + minor uint32 + }{ + // well known major/minor numbers according to /dev/MAKEDEV on + // OpenBSD 6.0 + {"/dev/null", 2, 2}, + {"/dev/zero", 2, 12}, + {"/dev/ttyp0", 5, 0}, + {"/dev/ttyp1", 5, 1}, + {"/dev/random", 45, 0}, + {"/dev/srandom", 45, 1}, + {"/dev/urandom", 45, 2}, + {"/dev/arandom", 45, 3}, + } + for _, tc := range testCases { + t.Run(fmt.Sprintf("%s %v:%v", tc.path, tc.major, tc.minor), func(t *testing.T) { + var stat unix.Stat_t + err := unix.Stat(tc.path, &stat) + if err != nil { + t.Errorf("failed to stat device: %v", err) + return + } + + dev := uint64(stat.Rdev) + if unix.Major(dev) != tc.major { + t.Errorf("for %s Major(%#x) == %d, want %d", tc.path, dev, unix.Major(dev), tc.major) + } + if unix.Minor(dev) != tc.minor { + t.Errorf("for %s Minor(%#x) == %d, want %d", tc.path, dev, unix.Minor(dev), tc.minor) + } + if unix.Mkdev(tc.major, tc.minor) != dev { + t.Errorf("for %s Mkdev(%d, %d) == %#x, want %#x", tc.path, tc.major, tc.minor, unix.Mkdev(tc.major, tc.minor), dev) + } + }) + } +} diff --git a/vendor/golang.org/x/sys/unix/dev_solaris_test.go b/vendor/golang.org/x/sys/unix/dev_solaris_test.go new file mode 100644 index 000000000..db58c0d05 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/dev_solaris_test.go @@ -0,0 +1,49 @@ +// Copyright 2017 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 unix_test + +import ( + "fmt" + "testing" + + "golang.org/x/sys/unix" +) + +func TestDevices(t *testing.T) { + testCases := []struct { + path string + major uint32 + minor uint32 + }{ + // Well-known major/minor numbers on OpenSolaris according to + // /etc/name_to_major + {"/dev/zero", 134, 12}, + {"/dev/null", 134, 2}, + {"/dev/ptyp0", 172, 0}, + {"/dev/ttyp0", 175, 0}, + {"/dev/ttyp1", 175, 1}, + } + for _, tc := range testCases { + t.Run(fmt.Sprintf("%s %v:%v", tc.path, tc.major, tc.minor), func(t *testing.T) { + var stat unix.Stat_t + err := unix.Stat(tc.path, &stat) + if err != nil { + t.Errorf("failed to stat device: %v", err) + return + } + + dev := uint64(stat.Rdev) + if unix.Major(dev) != tc.major { + t.Errorf("for %s Major(%#x) == %d, want %d", tc.path, dev, unix.Major(dev), tc.major) + } + if unix.Minor(dev) != tc.minor { + t.Errorf("for %s Minor(%#x) == %d, want %d", tc.path, dev, unix.Minor(dev), tc.minor) + } + if unix.Mkdev(tc.major, tc.minor) != dev { + t.Errorf("for %s Mkdev(%d, %d) == %#x, want %#x", tc.path, tc.major, tc.minor, unix.Mkdev(tc.major, tc.minor), dev) + } + }) + } +} diff --git a/vendor/golang.org/x/sys/unix/errors_freebsd_386.go b/vendor/golang.org/x/sys/unix/errors_freebsd_386.go new file mode 100644 index 000000000..c56bc8b05 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/errors_freebsd_386.go @@ -0,0 +1,227 @@ +// Copyright 2017 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. + +// Constants that were deprecated or moved to enums in the FreeBSD headers. Keep +// them here for backwards compatibility. + +package unix + +const ( + IFF_SMART = 0x20 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BSC = 0x53 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_IPXIP = 0xf9 + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf6 + IFT_PFSYNC = 0xf7 + IFT_PLC = 0xae + IFT_POS = 0xab + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VOICEEM = 0x64 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IPPROTO_MAXID = 0x34 + IPV6_FAITH = 0x1d + IP_FAITH = 0x16 + MAP_NORESERVE = 0x40 + MAP_RENAME = 0x20 + NET_RT_MAXID = 0x6 + RTF_PRCLONING = 0x10000 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + SIOCADDRT = 0x8030720a + SIOCALIFADDR = 0x8118691b + SIOCDELRT = 0x8030720b + SIOCDLIFADDR = 0x8118691d + SIOCGLIFADDR = 0xc118691c + SIOCGLIFPHYADDR = 0xc118694b + SIOCSLIFPHYADDR = 0x8118694a +) diff --git a/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go new file mode 100644 index 000000000..3e9771175 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go @@ -0,0 +1,227 @@ +// Copyright 2017 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. + +// Constants that were deprecated or moved to enums in the FreeBSD headers. Keep +// them here for backwards compatibility. + +package unix + +const ( + IFF_SMART = 0x20 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BSC = 0x53 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_IPXIP = 0xf9 + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf6 + IFT_PFSYNC = 0xf7 + IFT_PLC = 0xae + IFT_POS = 0xab + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VOICEEM = 0x64 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IPPROTO_MAXID = 0x34 + IPV6_FAITH = 0x1d + IP_FAITH = 0x16 + MAP_NORESERVE = 0x40 + MAP_RENAME = 0x20 + NET_RT_MAXID = 0x6 + RTF_PRCLONING = 0x10000 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + SIOCADDRT = 0x8040720a + SIOCALIFADDR = 0x8118691b + SIOCDELRT = 0x8040720b + SIOCDLIFADDR = 0x8118691d + SIOCGLIFADDR = 0xc118691c + SIOCGLIFPHYADDR = 0xc118694b + SIOCSLIFPHYADDR = 0x8118694a +) diff --git a/vendor/golang.org/x/sys/unix/errors_freebsd_arm.go b/vendor/golang.org/x/sys/unix/errors_freebsd_arm.go new file mode 100644 index 000000000..856dca325 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/errors_freebsd_arm.go @@ -0,0 +1,226 @@ +// Copyright 2017 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 unix + +const ( + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BSC = 0x53 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf6 + IFT_PFSYNC = 0xf7 + IFT_PLC = 0xae + IFT_POS = 0xab + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VOICEEM = 0x64 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + + // missing constants on FreeBSD-11.1-RELEASE, copied from old values in ztypes_freebsd_arm.go + IFF_SMART = 0x20 + IFT_FAITH = 0xf2 + IFT_IPXIP = 0xf9 + IPPROTO_MAXID = 0x34 + IPV6_FAITH = 0x1d + IP_FAITH = 0x16 + MAP_NORESERVE = 0x40 + MAP_RENAME = 0x20 + NET_RT_MAXID = 0x6 + RTF_PRCLONING = 0x10000 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + SIOCADDRT = 0x8030720a + SIOCALIFADDR = 0x8118691b + SIOCDELRT = 0x8030720b + SIOCDLIFADDR = 0x8118691d + SIOCGLIFADDR = 0xc118691c + SIOCGLIFPHYADDR = 0xc118694b + SIOCSLIFPHYADDR = 0x8118694a +) diff --git a/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go b/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go deleted file mode 100644 index 56332692c..000000000 --- a/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go +++ /dev/null @@ -1,20 +0,0 @@ -// 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. - -// +build gccgo,linux,sparc64 - -package unix - -import "syscall" - -//extern sysconf -func realSysconf(name int) int64 - -func sysconf(name int) (n int64, err syscall.Errno) { - r := realSysconf(name) - if r < 0 { - return 0, syscall.GetErrno() - } - return r, 0 -} diff --git a/vendor/golang.org/x/sys/unix/linux/Dockerfile b/vendor/golang.org/x/sys/unix/linux/Dockerfile index 4397143c9..c448b9dde 100644 --- a/vendor/golang.org/x/sys/unix/linux/Dockerfile +++ b/vendor/golang.org/x/sys/unix/linux/Dockerfile @@ -1,5 +1,8 @@ FROM ubuntu:16.04 +# Use the most recent ubuntu sources +RUN echo 'deb http://en.archive.ubuntu.com/ubuntu/ artful main universe' >> /etc/apt/sources.list + # Dependencies to get the git sources and go binaries RUN apt-get update && apt-get install -y \ curl \ @@ -9,10 +12,10 @@ RUN apt-get update && apt-get install -y \ # Get the git sources. If not cached, this takes O(5 minutes). WORKDIR /git RUN git config --global advice.detachedHead false -# Linux Kernel: Released 19 Feb 2017 -RUN git clone --branch v4.10 --depth 1 https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux -# GNU C library: Released 05 Feb 2017 (we should try to get a secure way to clone this) -RUN git clone --branch glibc-2.25 --depth 1 git://sourceware.org/git/glibc.git +# Linux Kernel: Released 03 Sep 2017 +RUN git clone --branch v4.13 --depth 1 https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux +# GNU C library: Released 02 Aug 2017 (we should try to get a secure way to clone this) +RUN git clone --branch glibc-2.26 --depth 1 git://sourceware.org/git/glibc.git # Get Go 1.8 (https://github.com/docker-library/golang/blob/master/1.8/Dockerfile) ENV GOLANG_VERSION 1.8 diff --git a/vendor/golang.org/x/sys/unix/linux/types.go b/vendor/golang.org/x/sys/unix/linux/types.go index 56eb4c12e..426be5eb4 100644 --- a/vendor/golang.org/x/sys/unix/linux/types.go +++ b/vendor/golang.org/x/sys/unix/linux/types.go @@ -62,6 +62,8 @@ package unix #include #include #include +#include +#include // On mips64, the glibc stat and kernel stat do not agree #if (defined(__mips__) && _MIPS_SIM == _MIPS_SIM_ABI64) @@ -112,14 +114,6 @@ struct stat { #endif -// Certain constants and structs are missing from the fs/crypto UAPI -#define FS_MAX_KEY_SIZE 64 -struct fscrypt_key { - __u32 mode; - __u8 raw[FS_MAX_KEY_SIZE]; - __u32 size; -}; - #ifdef TCSETS2 // On systems that have "struct termios2" use this as type Termios. typedef struct termios2 termios_t; @@ -316,6 +310,8 @@ type IPMreqn C.struct_ip_mreqn type IPv6Mreq C.struct_ipv6_mreq +type PacketMreq C.struct_packet_mreq + type Msghdr C.struct_msghdr type Cmsghdr C.struct_cmsghdr @@ -344,9 +340,11 @@ const ( SizeofSockaddrALG = C.sizeof_struct_sockaddr_alg SizeofSockaddrVM = C.sizeof_struct_sockaddr_vm SizeofLinger = C.sizeof_struct_linger + SizeofIovec = C.sizeof_struct_iovec SizeofIPMreq = C.sizeof_struct_ip_mreq SizeofIPMreqn = C.sizeof_struct_ip_mreqn SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq + SizeofPacketMreq = C.sizeof_struct_packet_mreq SizeofMsghdr = C.sizeof_struct_msghdr SizeofCmsghdr = C.sizeof_struct_cmsghdr SizeofInet4Pktinfo = C.sizeof_struct_in_pktinfo @@ -537,12 +535,61 @@ const RNDGETENTCNT = C.RNDGETENTCNT const PERF_IOC_FLAG_GROUP = C.PERF_IOC_FLAG_GROUP -// sysconf information - -const _SC_PAGESIZE = C._SC_PAGESIZE - // Terminal handling type Termios C.termios_t type Winsize C.struct_winsize + +// Taskstats + +type Taskstats C.struct_taskstats + +const ( + TASKSTATS_CMD_UNSPEC = C.TASKSTATS_CMD_UNSPEC + TASKSTATS_CMD_GET = C.TASKSTATS_CMD_GET + TASKSTATS_CMD_NEW = C.TASKSTATS_CMD_NEW + TASKSTATS_TYPE_UNSPEC = C.TASKSTATS_TYPE_UNSPEC + TASKSTATS_TYPE_PID = C.TASKSTATS_TYPE_PID + TASKSTATS_TYPE_TGID = C.TASKSTATS_TYPE_TGID + TASKSTATS_TYPE_STATS = C.TASKSTATS_TYPE_STATS + TASKSTATS_TYPE_AGGR_PID = C.TASKSTATS_TYPE_AGGR_PID + TASKSTATS_TYPE_AGGR_TGID = C.TASKSTATS_TYPE_AGGR_TGID + TASKSTATS_TYPE_NULL = C.TASKSTATS_TYPE_NULL + TASKSTATS_CMD_ATTR_UNSPEC = C.TASKSTATS_CMD_ATTR_UNSPEC + TASKSTATS_CMD_ATTR_PID = C.TASKSTATS_CMD_ATTR_PID + TASKSTATS_CMD_ATTR_TGID = C.TASKSTATS_CMD_ATTR_TGID + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = C.TASKSTATS_CMD_ATTR_REGISTER_CPUMASK + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = C.TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK +) + +// Generic netlink + +type Genlmsghdr C.struct_genlmsghdr + +const ( + CTRL_CMD_UNSPEC = C.CTRL_CMD_UNSPEC + CTRL_CMD_NEWFAMILY = C.CTRL_CMD_NEWFAMILY + CTRL_CMD_DELFAMILY = C.CTRL_CMD_DELFAMILY + CTRL_CMD_GETFAMILY = C.CTRL_CMD_GETFAMILY + CTRL_CMD_NEWOPS = C.CTRL_CMD_NEWOPS + CTRL_CMD_DELOPS = C.CTRL_CMD_DELOPS + CTRL_CMD_GETOPS = C.CTRL_CMD_GETOPS + CTRL_CMD_NEWMCAST_GRP = C.CTRL_CMD_NEWMCAST_GRP + CTRL_CMD_DELMCAST_GRP = C.CTRL_CMD_DELMCAST_GRP + CTRL_CMD_GETMCAST_GRP = C.CTRL_CMD_GETMCAST_GRP + CTRL_ATTR_UNSPEC = C.CTRL_ATTR_UNSPEC + CTRL_ATTR_FAMILY_ID = C.CTRL_ATTR_FAMILY_ID + CTRL_ATTR_FAMILY_NAME = C.CTRL_ATTR_FAMILY_NAME + CTRL_ATTR_VERSION = C.CTRL_ATTR_VERSION + CTRL_ATTR_HDRSIZE = C.CTRL_ATTR_HDRSIZE + CTRL_ATTR_MAXATTR = C.CTRL_ATTR_MAXATTR + CTRL_ATTR_OPS = C.CTRL_ATTR_OPS + CTRL_ATTR_MCAST_GROUPS = C.CTRL_ATTR_MCAST_GROUPS + CTRL_ATTR_OP_UNSPEC = C.CTRL_ATTR_OP_UNSPEC + CTRL_ATTR_OP_ID = C.CTRL_ATTR_OP_ID + CTRL_ATTR_OP_FLAGS = C.CTRL_ATTR_OP_FLAGS + CTRL_ATTR_MCAST_GRP_UNSPEC = C.CTRL_ATTR_MCAST_GRP_UNSPEC + CTRL_ATTR_MCAST_GRP_NAME = C.CTRL_ATTR_MCAST_GRP_NAME + CTRL_ATTR_MCAST_GRP_ID = C.CTRL_ATTR_MCAST_GRP_ID +) diff --git a/vendor/golang.org/x/sys/unix/mkall.sh b/vendor/golang.org/x/sys/unix/mkall.sh index f0d6566f2..c3a080926 100755 --- a/vendor/golang.org/x/sys/unix/mkall.sh +++ b/vendor/golang.org/x/sys/unix/mkall.sh @@ -72,7 +72,7 @@ darwin_amd64) ;; darwin_arm) mkerrors="$mkerrors" - mksysnum="./mksysnum_darwin.pl /usr/include/sys/syscall.h" + mksysnum="./mksysnum_darwin.pl $(xcrun --show-sdk-path --sdk iphoneos)/usr/include/sys/syscall.h" mktypes="GOARCH=$GOARCH go tool cgo -godefs" ;; darwin_arm64) @@ -108,7 +108,7 @@ freebsd_arm) mksyscall="./mksyscall.pl -l32 -arm" mksysnum="curl -s 'http://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master' | ./mksysnum_freebsd.pl" # Let the type of C char be signed for making the bare syscall - # API consistent across over platforms. + # API consistent across platforms. mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" ;; linux_sparc64) @@ -130,6 +130,14 @@ netbsd_amd64) mksysnum="curl -s 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_netbsd.pl" mktypes="GOARCH=$GOARCH go tool cgo -godefs" ;; +netbsd_arm) + mkerrors="$mkerrors" + mksyscall="./mksyscall.pl -l32 -netbsd -arm" + mksysnum="curl -s 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_netbsd.pl" + # Let the type of C char be signed for making the bare syscall + # API consistent across platforms. + mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" + ;; openbsd_386) mkerrors="$mkerrors -m32" mksyscall="./mksyscall.pl -l32 -openbsd" @@ -146,6 +154,16 @@ openbsd_amd64) mksysnum="curl -s 'http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_openbsd.pl" mktypes="GOARCH=$GOARCH go tool cgo -godefs" ;; +openbsd_arm) + mkerrors="$mkerrors" + mksyscall="./mksyscall.pl -l32 -openbsd -arm" + mksysctl="./mksysctl_openbsd.pl" + zsysctl="zsysctl_openbsd.go" + mksysnum="curl -s 'http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_openbsd.pl" + # Let the type of C char be signed for making the bare syscall + # API consistent across platforms. + mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" + ;; solaris_amd64) mksyscall="./mksyscall_solaris.pl" mkerrors="$mkerrors -m64" diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh index 5fcd7a2a8..f9f5e5691 100755 --- a/vendor/golang.org/x/sys/unix/mkerrors.sh +++ b/vendor/golang.org/x/sys/unix/mkerrors.sh @@ -17,8 +17,8 @@ if test -z "$GOARCH" -o -z "$GOOS"; then fi # Check that we are using the new build system if we should -if [[ "$GOOS" -eq "linux" ]] && [[ "$GOARCH" != "sparc64" ]]; then - if [[ "$GOLANG_SYS_BUILD" -ne "docker" ]]; then +if [[ "$GOOS" = "linux" ]] && [[ "$GOARCH" != "sparc64" ]]; then + if [[ "$GOLANG_SYS_BUILD" != "docker" ]]; then echo 1>&2 "In the new build system, mkerrors should not be called directly." echo 1>&2 "See README.md" exit 1 @@ -27,7 +27,7 @@ fi CC=${CC:-cc} -if [[ "$GOOS" -eq "solaris" ]]; then +if [[ "$GOOS" = "solaris" ]]; then # Assumes GNU versions of utilities in PATH. export PATH=/usr/gnu/bin:$PATH fi @@ -45,6 +45,7 @@ includes_Darwin=' #include #include #include +#include #include #include #include @@ -180,6 +181,8 @@ struct ltchars { #include #include #include +#include +#include #include #include @@ -280,6 +283,7 @@ includes_SunOS=' #include #include #include +#include #include #include #include @@ -344,6 +348,7 @@ ccflags="$@" $2 !~ /^EXPR_/ && $2 ~ /^E[A-Z0-9_]+$/ || $2 ~ /^B[0-9_]+$/ || + $2 ~ /^(OLD|NEW)DEV$/ || $2 == "BOTHER" || $2 ~ /^CI?BAUD(EX)?$/ || $2 == "IBSHIFT" || @@ -412,6 +417,8 @@ ccflags="$@" $2 ~ /^SECCOMP_MODE_/ || $2 ~ /^SPLICE_/ || $2 ~ /^(VM|VMADDR)_/ || + $2 ~ /^(TASKSTATS|TS)_/ || + $2 ~ /^GENL_/ || $2 ~ /^XATTR_(CREATE|REPLACE)/ || $2 !~ "WMESGLEN" && $2 ~ /^W[A-Z0-9]+$/ || diff --git a/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl b/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl index d31f2c48f..85988b140 100755 --- a/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl +++ b/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl @@ -47,7 +47,7 @@ while(<>){ $name = "$7_$11" if $11 ne ''; $name =~ y/a-z/A-Z/; - if($compat eq '' || $compat eq '30' || $compat eq '50') { + if($compat eq '' || $compat eq '13' || $compat eq '30' || $compat eq '50') { print " $name = $num; // $proto\n"; } } diff --git a/vendor/golang.org/x/sys/unix/mmap_unix_test.go b/vendor/golang.org/x/sys/unix/mmap_unix_test.go index 18ccec05f..3258ca328 100644 --- a/vendor/golang.org/x/sys/unix/mmap_unix_test.go +++ b/vendor/golang.org/x/sys/unix/mmap_unix_test.go @@ -17,6 +17,18 @@ func TestMmap(t *testing.T) { if err != nil { t.Fatalf("Mmap: %v", err) } + if err := unix.Mprotect(b, unix.PROT_READ|unix.PROT_WRITE); err != nil { + t.Fatalf("Mprotect: %v", err) + } + + b[0] = 42 + + if err := unix.Msync(b, unix.MS_SYNC); err != nil { + t.Fatalf("Msync: %v", err) + } + if err := unix.Madvise(b, unix.MADV_DONTNEED); err != nil { + t.Fatalf("Madvise: %v", err) + } if err := unix.Munmap(b); err != nil { t.Fatalf("Munmap: %v", err) } diff --git a/vendor/golang.org/x/sys/unix/pagesize_unix.go b/vendor/golang.org/x/sys/unix/pagesize_unix.go new file mode 100644 index 000000000..45afcf72d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/pagesize_unix.go @@ -0,0 +1,15 @@ +// Copyright 2017 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. + +// +build darwin dragonfly freebsd linux netbsd openbsd solaris + +// For Unix, get the pagesize from the runtime. + +package unix + +import "syscall" + +func Getpagesize() int { + return syscall.Getpagesize() +} diff --git a/vendor/golang.org/x/sys/unix/syscall_bsd.go b/vendor/golang.org/x/sys/unix/syscall_bsd.go index ccb29c75c..c2846b32d 100644 --- a/vendor/golang.org/x/sys/unix/syscall_bsd.go +++ b/vendor/golang.org/x/sys/unix/syscall_bsd.go @@ -561,13 +561,19 @@ func Utimes(path string, tv []Timeval) error { func UtimesNano(path string, ts []Timespec) error { if ts == nil { + err := utimensat(AT_FDCWD, path, nil, 0) + if err != ENOSYS { + return err + } return utimes(path, nil) } - // TODO: The BSDs can do utimensat with SYS_UTIMENSAT but it - // isn't supported by darwin so this uses utimes instead if len(ts) != 2 { return EINVAL } + err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) + if err != ENOSYS { + return err + } // Not as efficient as it could be because Timespec and // Timeval have different types in the different OSes tv := [2]Timeval{ @@ -577,6 +583,16 @@ func UtimesNano(path string, ts []Timespec) error { return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) } +func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { + if ts == nil { + return utimensat(dirfd, path, nil, flags) + } + if len(ts) != 2 { + return EINVAL + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) +} + //sys futimes(fd int, timeval *[2]Timeval) (err error) func Futimes(fd int, tv []Timeval) error { @@ -594,9 +610,6 @@ func Futimes(fd int, tv []Timeval) error { // TODO: wrap // Acct(name nil-string) (err error) // Gethostuuid(uuid *byte, timeout *Timespec) (err error) -// Madvise(addr *byte, len int, behav int) (err error) -// Mprotect(addr *byte, len int, prot int) (err error) -// Msync(addr *byte, len int, flags int) (err error) // Ptrace(req int, pid int, addr uintptr, data int) (ret uintptr, err error) var mapper = &mmapper{ @@ -612,3 +625,11 @@ func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, e func Munmap(b []byte) (err error) { return mapper.Munmap(b) } + +//sys Madvise(b []byte, behav int) (err error) +//sys Mlock(b []byte) (err error) +//sys Mlockall(flags int) (err error) +//sys Mprotect(b []byte, prot int) (err error) +//sys Msync(b []byte, flags int) (err error) +//sys Munlock(b []byte) (err error) +//sys Munlockall() (err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.go b/vendor/golang.org/x/sys/unix/syscall_darwin.go index 4ee4b31d7..ad74a11fb 100644 --- a/vendor/golang.org/x/sys/unix/syscall_darwin.go +++ b/vendor/golang.org/x/sys/unix/syscall_darwin.go @@ -187,6 +187,11 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { return } +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) error { + // Darwin doesn't support SYS_UTIMENSAT + return ENOSYS +} + /* * Wrapped */ @@ -195,6 +200,45 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(signum), 1) } +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +// ioctl itself should not be exposed directly, but additional get/set +// functions for specific types are permissible. + +// IoctlSetInt performs an ioctl operation which sets an integer value +// on fd, using the specified request number. +func IoctlSetInt(fd int, req uint, value int) error { + return ioctl(fd, req, uintptr(value)) +} + +func IoctlSetWinsize(fd int, req uint, value *Winsize) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func IoctlSetTermios(fd int, req uint, value *Termios) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +// IoctlGetInt performs an ioctl operation which gets an integer value +// from fd, using the specified request number. +func IoctlGetInt(fd int, req uint) (int, error) { + var value int + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { + var value Winsize + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermios(fd int, req uint) (*Termios, error) { + var value Termios + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + /* * Exposed directly */ @@ -248,12 +292,6 @@ func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(sig //sys Mkdirat(dirfd int, path string, mode uint32) (err error) //sys Mkfifo(path string, mode uint32) (err error) //sys Mknod(path string, mode uint32, dev int) (err error) -//sys Mlock(b []byte) (err error) -//sys Mlockall(flags int) (err error) -//sys Mprotect(b []byte, prot int) (err error) -//sys Msync(b []byte, flags int) (err error) -//sys Munlock(b []byte) (err error) -//sys Munlockall() (err error) //sys Open(path string, mode int, perm uint32) (fd int, err error) //sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) //sys Pathconf(path string, name int) (val int, err error) @@ -330,9 +368,6 @@ func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(sig // Add_profil // Kdebug_trace // Sigreturn -// Mmap -// Mlock -// Munlock // Atsocket // Kqueue_from_portset_np // Kqueue_portset @@ -425,8 +460,6 @@ func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(sig // Lio_listio // __pthread_cond_wait // Iopolicysys -// Mlockall -// Munlockall // __pthread_kill // __pthread_sigmask // __sigwait diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_386.go b/vendor/golang.org/x/sys/unix/syscall_darwin_386.go index c172a3da5..76634f7ab 100644 --- a/vendor/golang.org/x/sys/unix/syscall_darwin_386.go +++ b/vendor/golang.org/x/sys/unix/syscall_darwin_386.go @@ -11,8 +11,6 @@ import ( "unsafe" ) -func Getpagesize() int { return 4096 } - func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } func NsecToTimespec(nsec int64) (ts Timespec) { diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go index c6c99c13a..7be02dab9 100644 --- a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go @@ -11,8 +11,6 @@ import ( "unsafe" ) -func Getpagesize() int { return 4096 } - func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } func NsecToTimespec(nsec int64) (ts Timespec) { diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go index d286cf408..26b66972f 100644 --- a/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go +++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go @@ -9,8 +9,6 @@ import ( "unsafe" ) -func Getpagesize() int { return 4096 } - func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } func NsecToTimespec(nsec int64) (ts Timespec) { diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go index c33905cdc..4d67a8742 100644 --- a/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go +++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go @@ -11,8 +11,6 @@ import ( "unsafe" ) -func Getpagesize() int { return 16384 } - func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } func NsecToTimespec(nsec int64) (ts Timespec) { diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go index 7e0210fc9..3a483373d 100644 --- a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go +++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go @@ -174,11 +174,6 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { //sys Mkdir(path string, mode uint32) (err error) //sys Mkfifo(path string, mode uint32) (err error) //sys Mknod(path string, mode uint32, dev int) (err error) -//sys Mlock(b []byte) (err error) -//sys Mlockall(flags int) (err error) -//sys Mprotect(b []byte, prot int) (err error) -//sys Munlock(b []byte) (err error) -//sys Munlockall() (err error) //sys Nanosleep(time *Timespec, leftover *Timespec) (err error) //sys Open(path string, mode int, perm uint32) (fd int, err error) //sys Pathconf(path string, name int) (val int, err error) @@ -218,6 +213,7 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { //sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ //sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE //sys accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) /* * Unimplemented @@ -252,9 +248,6 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { // Add_profil // Kdebug_trace // Sigreturn -// Mmap -// Mlock -// Munlock // Atsocket // Kqueue_from_portset_np // Kqueue_portset @@ -347,8 +340,6 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { // Lio_listio // __pthread_cond_wait // Iopolicysys -// Mlockall -// Munlockall // __pthread_kill // __pthread_sigmask // __sigwait @@ -401,7 +392,6 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { // Sendmsg_nocancel // Recvfrom_nocancel // Accept_nocancel -// Msync_nocancel // Fcntl_nocancel // Select_nocancel // Fsync_nocancel diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go index da7cb7982..6d8952d5a 100644 --- a/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go +++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go @@ -11,8 +11,6 @@ import ( "unsafe" ) -func Getpagesize() int { return 4096 } - func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } func NsecToTimespec(nsec int64) (ts Timespec) { diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd.go b/vendor/golang.org/x/sys/unix/syscall_freebsd.go index 83b411981..d26e52eae 100644 --- a/vendor/golang.org/x/sys/unix/syscall_freebsd.go +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd.go @@ -352,6 +352,45 @@ func Llistxattr(link string, dest []byte) (sz int, err error) { return s, e } +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +// ioctl itself should not be exposed directly, but additional get/set +// functions for specific types are permissible. + +// IoctlSetInt performs an ioctl operation which sets an integer value +// on fd, using the specified request number. +func IoctlSetInt(fd int, req uint, value int) error { + return ioctl(fd, req, uintptr(value)) +} + +func IoctlSetWinsize(fd int, req uint, value *Winsize) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func IoctlSetTermios(fd int, req uint, value *Termios) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +// IoctlGetInt performs an ioctl operation which gets an integer value +// from fd, using the specified request number. +func IoctlGetInt(fd int, req uint) (int, error) { + var value int + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { + var value Winsize + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermios(fd int, req uint) (*Termios, error) { + var value Termios + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + /* * Exposed directly */ @@ -382,10 +421,13 @@ func Llistxattr(link string, dest []byte) (sz 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 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) //sys Fchflags(fd int, flags int) (err error) //sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) //sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) //sys Flock(fd int, how int) (err error) //sys Fpathconf(fd int, name int) (val int, err error) //sys Fstat(fd int, stat *Stat_t) (err error) @@ -412,16 +454,13 @@ func Llistxattr(link string, dest []byte) (sz int, err error) { //sys Kqueue() (fd int, err error) //sys Lchown(path string, uid int, gid int) (err error) //sys Link(path string, link string) (err error) +//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) //sys Listen(s int, backlog int) (err error) //sys Lstat(path string, stat *Stat_t) (err error) //sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) //sys Mkfifo(path string, mode uint32) (err error) //sys Mknod(path string, mode uint32, dev int) (err error) -//sys Mlock(b []byte) (err error) -//sys Mlockall(flags int) (err error) -//sys Mprotect(b []byte, prot int) (err error) -//sys Munlock(b []byte) (err error) -//sys Munlockall() (err error) //sys Nanosleep(time *Timespec, leftover *Timespec) (err error) //sys Open(path string, mode int, perm uint32) (fd int, err error) //sys Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) @@ -430,7 +469,9 @@ func Llistxattr(link string, dest []byte) (sz int, err error) { //sys Pwrite(fd int, p []byte, 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) //sys Rename(from string, to string) (err error) +//sys Renameat(fromfd int, from string, tofd int, to string) (err error) //sys Revoke(path string) (err error) //sys Rmdir(path string) (err error) //sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK @@ -452,11 +493,13 @@ func Llistxattr(link string, dest []byte) (sz int, err error) { //sys Stat(path string, stat *Stat_t) (err error) //sys Statfs(path string, stat *Statfs_t) (err error) //sys Symlink(path string, link string) (err error) +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) //sys Sync() (err error) //sys Truncate(path string, length int64) (err error) //sys Umask(newmask int) (oldmask int) //sys Undelete(path string) (err error) //sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) //sys Unmount(path string, flags int) (err error) //sys write(fd int, p []byte) (n int, err error) //sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) @@ -464,6 +507,7 @@ func Llistxattr(link string, dest []byte) (sz int, err error) { //sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ //sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE //sys accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) /* * Unimplemented @@ -497,9 +541,6 @@ func Llistxattr(link string, dest []byte) (sz int, err error) { // Add_profil // Kdebug_trace // Sigreturn -// Mmap -// Mlock -// Munlock // Atsocket // Kqueue_from_portset_np // Kqueue_portset @@ -592,8 +633,6 @@ func Llistxattr(link string, dest []byte) (sz int, err error) { // Lio_listio // __pthread_cond_wait // Iopolicysys -// Mlockall -// Munlockall // __pthread_kill // __pthread_sigmask // __sigwait @@ -646,7 +685,6 @@ func Llistxattr(link string, dest []byte) (sz int, err error) { // Sendmsg_nocancel // Recvfrom_nocancel // Accept_nocancel -// Msync_nocancel // Fcntl_nocancel // Select_nocancel // Fsync_nocancel diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go index 6a0cd804d..4cf5f453f 100644 --- a/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go @@ -11,8 +11,6 @@ import ( "unsafe" ) -func Getpagesize() int { return 4096 } - func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } func NsecToTimespec(nsec int64) (ts Timespec) { diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go index e142540ef..b8036e726 100644 --- a/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go @@ -11,8 +11,6 @@ import ( "unsafe" ) -func Getpagesize() int { return 4096 } - func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } func NsecToTimespec(nsec int64) (ts Timespec) { diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go index 5504cb125..5a3bb6a15 100644 --- a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go @@ -11,8 +11,6 @@ import ( "unsafe" ) -func Getpagesize() int { return 4096 } - func TimespecToNsec(ts Timespec) int64 { return ts.Sec*1e9 + int64(ts.Nsec) } func NsecToTimespec(nsec int64) (ts Timespec) { diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_test.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_test.go index 4d574192e..654439e02 100644 --- a/vendor/golang.org/x/sys/unix/syscall_freebsd_test.go +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_test.go @@ -14,13 +14,14 @@ import ( "os/exec" "path" "path/filepath" + "runtime" "testing" "golang.org/x/sys/unix" ) func TestSysctlUint64(t *testing.T) { - _, err := unix.SysctlUint64("security.mac.labeled") + _, err := unix.SysctlUint64("vm.swap_total") if err != nil { t.Fatal(err) } @@ -157,6 +158,9 @@ func init() { } func TestCapEnter(t *testing.T) { + if runtime.GOARCH != "amd64" { + t.Skipf("skipping test on %s", runtime.GOARCH) + } ExitsCorrectly(t, "cap_enter") } @@ -253,6 +257,9 @@ func init() { } func TestOpenat(t *testing.T) { + if runtime.GOARCH != "amd64" { + t.Skipf("skipping test on %s", runtime.GOARCH) + } ExitsCorrectly(t, "openat") } diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go index a85201b60..1b7d59d89 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux.go @@ -931,8 +931,13 @@ func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from } var dummy byte if len(oob) > 0 { + var sockType int + sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE) + if err != nil { + return + } // receive at least one normal byte - if len(p) == 0 { + if sockType != SOCK_DGRAM && len(p) == 0 { iov.Base = &dummy iov.SetLen(1) } @@ -978,8 +983,13 @@ func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) } var dummy byte if len(oob) > 0 { + var sockType int + sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE) + if err != nil { + return 0, err + } // send at least one normal byte - if len(p) == 0 { + if sockType != SOCK_DGRAM && len(p) == 0 { iov.Base = &dummy iov.SetLen(1) } @@ -1279,6 +1289,7 @@ func Setgid(uid int) (err error) { //sys Setpriority(which int, who int, prio int) (err error) //sys Setxattr(path string, attr string, data []byte, flags int) (err error) //sys Sync() +//sys Syncfs(fd int) (err error) //sysnb Sysinfo(info *Sysinfo_t) (err error) //sys Tee(rfd int, wfd int, len int, flags int) (n int64, err error) //sysnb Tgkill(tgid int, tid int, sig syscall.Signal) (err error) @@ -1313,9 +1324,9 @@ func Munmap(b []byte) (err error) { //sys Madvise(b []byte, advice int) (err error) //sys Mprotect(b []byte, prot int) (err error) //sys Mlock(b []byte) (err error) -//sys Munlock(b []byte) (err error) //sys Mlockall(flags int) (err error) //sys Msync(b []byte, flags int) (err error) +//sys Munlock(b []byte) (err error) //sys Munlockall() (err error) // Vmsplice splices user pages from a slice of Iovecs into a pipe specified by fd, @@ -1383,7 +1394,6 @@ func Vmsplice(fd int, iovs []Iovec, flags int) (int, error) { // ModifyLdt // Mount // MovePages -// Mprotect // MqGetsetattr // MqNotify // MqOpen 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 2b881b979..f4c826a45 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_386.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_386.go @@ -14,8 +14,6 @@ import ( "unsafe" ) -func Getpagesize() int { return 4096 } - func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } func NsecToTimespec(nsec int64) (ts Timespec) { 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 9516a3fd7..0715200dc 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go @@ -69,8 +69,6 @@ func Gettimeofday(tv *Timeval) (err error) { return nil } -func Getpagesize() int { return 4096 } - func Time(t *Time_t) (tt Time_t, err error) { var tv Timeval errno := gettimeofday(&tv) 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 71d870228..2b79c84a6 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go @@ -11,8 +11,6 @@ import ( "unsafe" ) -func Getpagesize() int { return 4096 } - func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } func NsecToTimespec(nsec int64) (ts Timespec) { 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 4a136396c..68cc975db 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go @@ -66,8 +66,6 @@ func Lstat(path string, stat *Stat_t) (err error) { //sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) //sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) -func Getpagesize() int { return 65536 } - //sysnb Gettimeofday(tv *Timeval) (err error) func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } 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 73318e5c6..977df441b 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go @@ -55,8 +55,6 @@ package unix //sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) //sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) -func Getpagesize() int { return 65536 } - //sysnb Gettimeofday(tv *Timeval) (err error) func Time(t *Time_t) (tt Time_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 b83d93fdf..25a5a0da5 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go @@ -235,5 +235,3 @@ func Poll(fds []PollFd, timeout int) (n int, err error) { } return poll(&fds[0], len(fds), timeout) } - -func Getpagesize() int { return 4096 } 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 60770f627..a4a8e4ee1 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go @@ -28,7 +28,7 @@ package unix //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 //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK -//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) //sys Setfsgid(gid int) (err error) //sys Setfsuid(uid int) (err error) @@ -61,8 +61,6 @@ package unix //sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) //sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) -func Getpagesize() int { return 65536 } - //sysnb Gettimeofday(tv *Timeval) (err error) //sysnb Time(t *Time_t) (tt Time_t, err error) 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 1708a4bbf..3845fc9c4 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go @@ -46,8 +46,6 @@ import ( //sysnb getgroups(n int, list *_Gid_t) (nn int, err error) //sysnb setgroups(n int, list *_Gid_t) (err error) -func Getpagesize() int { return 4096 } - //sysnb Gettimeofday(tv *Timeval) (err error) func Time(t *Time_t) (tt Time_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 20b7454d7..bd9de3e9d 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go @@ -6,11 +6,6 @@ package unix -import ( - "sync/atomic" - "syscall" -) - //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) //sys Dup2(oldfd int, newfd int) (err error) //sys Fchown(fd int, uid int, gid int) (err error) @@ -63,21 +58,6 @@ import ( //sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) //sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) -func sysconf(name int) (n int64, err syscall.Errno) - -// pageSize caches the value of Getpagesize, since it can't change -// once the system is booted. -var pageSize int64 // accessed atomically - -func Getpagesize() int { - n := atomic.LoadInt64(&pageSize) - if n == 0 { - n, _ = sysconf(_SC_PAGESIZE) - atomic.StoreInt64(&pageSize, n) - } - return int(n) -} - func Ioperm(from int, num int, on int) (err error) { return ENOSYS } diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_test.go b/vendor/golang.org/x/sys/unix/syscall_linux_test.go index 377023130..c0ab2db9e 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_test.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_test.go @@ -192,6 +192,13 @@ func TestGetrlimit(t *testing.T) { } } +func TestSelect(t *testing.T) { + _, err := unix.Select(0, nil, nil, nil, &unix.Timeval{0, 0}) + if err != nil { + t.Fatalf("Select: %v", err) + } +} + // utilities taken from os/os_test.go func touch(t *testing.T, name string) { diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd.go b/vendor/golang.org/x/sys/unix/syscall_netbsd.go index 01f6a48c8..e12966845 100644 --- a/vendor/golang.org/x/sys/unix/syscall_netbsd.go +++ b/vendor/golang.org/x/sys/unix/syscall_netbsd.go @@ -170,11 +170,6 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e //sys Mkdir(path string, mode uint32) (err error) //sys Mkfifo(path string, mode uint32) (err error) //sys Mknod(path string, mode uint32, dev int) (err error) -//sys Mlock(b []byte) (err error) -//sys Mlockall(flags int) (err error) -//sys Mprotect(b []byte, prot int) (err error) -//sys Munlock(b []byte) (err error) -//sys Munlockall() (err error) //sys Nanosleep(time *Timespec, leftover *Timespec) (err error) //sys Open(path string, mode int, perm uint32) (fd int, err error) //sys Pathconf(path string, name int) (val int, err error) @@ -210,6 +205,7 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e //sys munmap(addr uintptr, length uintptr) (err error) //sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ //sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) /* * Unimplemented diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go index afaca0983..baefa411e 100644 --- a/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go +++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go @@ -6,8 +6,6 @@ package unix -func Getpagesize() int { return 4096 } - func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } func NsecToTimespec(nsec int64) (ts Timespec) { diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go index a6ff04ce5..59c2ab7eb 100644 --- a/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go @@ -6,8 +6,6 @@ package unix -func Getpagesize() int { return 4096 } - func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } func NsecToTimespec(nsec int64) (ts Timespec) { diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go index 68a6969b2..7208108a3 100644 --- a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go +++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go @@ -6,8 +6,6 @@ package unix -func Getpagesize() int { return 4096 } - func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } func NsecToTimespec(nsec int64) (ts Timespec) { diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd.go b/vendor/golang.org/x/sys/unix/syscall_openbsd.go index c0d2b6c80..408e63081 100644 --- a/vendor/golang.org/x/sys/unix/syscall_openbsd.go +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd.go @@ -149,11 +149,6 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { //sys Mkdir(path string, mode uint32) (err error) //sys Mkfifo(path string, mode uint32) (err error) //sys Mknod(path string, mode uint32, dev int) (err error) -//sys Mlock(b []byte) (err error) -//sys Mlockall(flags int) (err error) -//sys Mprotect(b []byte, prot int) (err error) -//sys Munlock(b []byte) (err error) -//sys Munlockall() (err error) //sys Nanosleep(time *Timespec, leftover *Timespec) (err error) //sys Open(path string, mode int, perm uint32) (fd int, err error) //sys Pathconf(path string, name int) (val int, err error) @@ -193,6 +188,7 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { //sys munmap(addr uintptr, length uintptr) (err error) //sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ //sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) /* * Unimplemented @@ -282,6 +278,5 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { // thrsleep // thrwakeup // unlinkat -// utimensat // vfork // writev diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go index a66ddc59c..d3809b426 100644 --- a/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go @@ -6,8 +6,6 @@ package unix -func Getpagesize() int { return 4096 } - func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } func NsecToTimespec(nsec int64) (ts Timespec) { diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go index 0776c1faf..9a9dfceff 100644 --- a/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go @@ -6,8 +6,6 @@ package unix -func Getpagesize() int { return 4096 } - func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } func NsecToTimespec(nsec int64) (ts Timespec) { diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go new file mode 100644 index 000000000..ba8649056 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go @@ -0,0 +1,40 @@ +// Copyright 2017 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. + +// +build arm,openbsd + +package unix + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = int64(nsec / 1e9) + ts.Nsec = int32(nsec % 1e9) + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Usec = int32(nsec % 1e9 / 1e3) + tv.Sec = int64(nsec / 1e9) + return +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris.go b/vendor/golang.org/x/sys/unix/syscall_solaris.go index 4b8ddabda..35e5d72ba 100644 --- a/vendor/golang.org/x/sys/unix/syscall_solaris.go +++ b/vendor/golang.org/x/sys/unix/syscall_solaris.go @@ -13,7 +13,6 @@ package unix import ( - "sync/atomic" "syscall" "unsafe" ) @@ -515,6 +514,24 @@ func Acct(path string) (err error) { return acct(pathp) } +//sys __makedev(version int, major uint, minor uint) (val uint64) + +func Mkdev(major, minor uint32) uint64 { + return __makedev(NEWDEV, uint(major), uint(minor)) +} + +//sys __major(version int, dev uint64) (val uint) + +func Major(dev uint64) uint32 { + return uint32(__major(NEWDEV, dev)) +} + +//sys __minor(version int, dev uint64) (val uint) + +func Minor(dev uint64) uint32 { + return uint32(__minor(NEWDEV, dev)) +} + /* * Expose the ioctl function */ @@ -581,6 +598,7 @@ func IoctlGetTermio(fd int, req uint) (*Termio, error) { //sys Fchown(fd int, uid int, gid int) (err error) //sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) //sys Fdatasync(fd int) (err error) +//sys Flock(fd int, how int) (err error) //sys Fpathconf(fd int, name int) (val int, err error) //sys Fstat(fd int, stat *Stat_t) (err error) //sys Fstatvfs(fd int, vfsstat *Statvfs_t) (err error) @@ -612,6 +630,7 @@ func IoctlGetTermio(fd int, req uint) (*Termio, error) { //sys Mlock(b []byte) (err error) //sys Mlockall(flags int) (err error) //sys Mprotect(b []byte, prot int) (err error) +//sys Msync(b []byte, flags int) (err error) //sys Munlock(b []byte) (err error) //sys Munlockall() (err error) //sys Nanosleep(time *Timespec, leftover *Timespec) (err error) @@ -698,18 +717,3 @@ func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, e func Munmap(b []byte) (err error) { return mapper.Munmap(b) } - -//sys sysconf(name int) (n int64, err error) - -// pageSize caches the value of Getpagesize, since it can't change -// once the system is booted. -var pageSize int64 // accessed atomically - -func Getpagesize() int { - n := atomic.LoadInt64(&pageSize) - if n == 0 { - n, _ = sysconf(_SC_PAGESIZE) - atomic.StoreInt64(&pageSize, n) - } - return int(n) -} diff --git a/vendor/golang.org/x/sys/unix/types_darwin.go b/vendor/golang.org/x/sys/unix/types_darwin.go index 74ff1ac91..415124d4a 100644 --- a/vendor/golang.org/x/sys/unix/types_darwin.go +++ b/vendor/golang.org/x/sys/unix/types_darwin.go @@ -242,6 +242,8 @@ type BpfHdr C.struct_bpf_hdr type Termios C.struct_termios +type Winsize C.struct_winsize + // fchmodat-like syscalls. const ( diff --git a/vendor/golang.org/x/sys/unix/types_dragonfly.go b/vendor/golang.org/x/sys/unix/types_dragonfly.go index a818704eb..80b27781d 100644 --- a/vendor/golang.org/x/sys/unix/types_dragonfly.go +++ b/vendor/golang.org/x/sys/unix/types_dragonfly.go @@ -240,3 +240,10 @@ type BpfHdr C.struct_bpf_hdr // Terminal handling type Termios C.struct_termios + +// fchmodat-like syscalls. + +const ( + AT_FDCWD = C.AT_FDCWD + AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW +) diff --git a/vendor/golang.org/x/sys/unix/types_freebsd.go b/vendor/golang.org/x/sys/unix/types_freebsd.go index f7478a3ae..934fd7ace 100644 --- a/vendor/golang.org/x/sys/unix/types_freebsd.go +++ b/vendor/golang.org/x/sys/unix/types_freebsd.go @@ -356,6 +356,17 @@ type BpfZbufHeader C.struct_bpf_zbuf_header type Termios C.struct_termios +type Winsize C.struct_winsize + +// fchmodat-like syscalls. + +const ( + AT_FDCWD = C.AT_FDCWD + AT_REMOVEDIR = C.AT_REMOVEDIR + AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW + AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW +) + // Capabilities type CapRights C.struct_cap_rights diff --git a/vendor/golang.org/x/sys/unix/types_netbsd.go b/vendor/golang.org/x/sys/unix/types_netbsd.go index 7cfdb9cd4..cb95c80aa 100644 --- a/vendor/golang.org/x/sys/unix/types_netbsd.go +++ b/vendor/golang.org/x/sys/unix/types_netbsd.go @@ -227,6 +227,13 @@ type BpfTimeval C.struct_bpf_timeval type Termios C.struct_termios +// fchmodat-like syscalls. + +const ( + AT_FDCWD = C.AT_FDCWD + AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW +) + // Sysctl type Sysctlnode C.struct_sysctlnode diff --git a/vendor/golang.org/x/sys/unix/types_openbsd.go b/vendor/golang.org/x/sys/unix/types_openbsd.go index 6c7c22795..392da69bf 100644 --- a/vendor/golang.org/x/sys/unix/types_openbsd.go +++ b/vendor/golang.org/x/sys/unix/types_openbsd.go @@ -242,3 +242,10 @@ type BpfTimeval C.struct_bpf_timeval // Terminal handling type Termios C.struct_termios + +// fchmodat-like syscalls. + +const ( + AT_FDCWD = C.AT_FDCWD + AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW +) diff --git a/vendor/golang.org/x/sys/unix/types_solaris.go b/vendor/golang.org/x/sys/unix/types_solaris.go index 393c7f04f..6d7461401 100644 --- a/vendor/golang.org/x/sys/unix/types_solaris.go +++ b/vendor/golang.org/x/sys/unix/types_solaris.go @@ -256,10 +256,6 @@ type BpfTimeval C.struct_bpf_timeval type BpfHdr C.struct_bpf_hdr -// sysconf information - -const _SC_PAGESIZE = C._SC_PAGESIZE - // Terminal handling type Termios C.struct_termios diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go index bb7974330..1c68758b6 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go @@ -822,6 +822,38 @@ const ( MAP_SHARED = 0x1 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x400000 + MNT_CMDFLAGS = 0xf0000 + MNT_CPROTECT = 0x80 + MNT_DEFWRITE = 0x2000000 + MNT_DONTBROWSE = 0x100000 + MNT_DOVOLFS = 0x8000 + MNT_DWAIT = 0x4 + MNT_EXPORTED = 0x100 + MNT_FORCE = 0x80000 + MNT_IGNORE_OWNERSHIP = 0x200000 + MNT_JOURNALED = 0x800000 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NOATIME = 0x10000000 + MNT_NOBLOCK = 0x20000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOUSERXATTR = 0x1000000 + MNT_NOWAIT = 0x2 + MNT_QUARANTINE = 0x400 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNKNOWNPERMISSIONS = 0x200000 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x17f0f5ff + MNT_WAIT = 0x1 MSG_CTRUNC = 0x20 MSG_DONTROUTE = 0x4 MSG_DONTWAIT = 0x80 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 ce8da84c4..48f63d4f0 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go @@ -822,6 +822,38 @@ const ( MAP_SHARED = 0x1 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x400000 + MNT_CMDFLAGS = 0xf0000 + MNT_CPROTECT = 0x80 + MNT_DEFWRITE = 0x2000000 + MNT_DONTBROWSE = 0x100000 + MNT_DOVOLFS = 0x8000 + MNT_DWAIT = 0x4 + MNT_EXPORTED = 0x100 + MNT_FORCE = 0x80000 + MNT_IGNORE_OWNERSHIP = 0x200000 + MNT_JOURNALED = 0x800000 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NOATIME = 0x10000000 + MNT_NOBLOCK = 0x20000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOUSERXATTR = 0x1000000 + MNT_NOWAIT = 0x2 + MNT_QUARANTINE = 0x400 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNKNOWNPERMISSIONS = 0x200000 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x17f0f5ff + MNT_WAIT = 0x1 MSG_CTRUNC = 0x20 MSG_DONTROUTE = 0x4 MSG_DONTWAIT = 0x80 diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go index a410e88ed..24cb522d9 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go @@ -1,11 +1,11 @@ // mkerrors.sh -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,darwin // Created by cgo -godefs - DO NOT EDIT // cgo -godefs -- _const.go -// +build arm,darwin - package unix import "syscall" @@ -48,6 +48,7 @@ const ( AF_UNIX = 0x1 AF_UNSPEC = 0x0 AF_UTUN = 0x26 + ALTWERASE = 0x200 B0 = 0x0 B110 = 0x6e B115200 = 0x1c200 @@ -86,6 +87,7 @@ const ( BIOCSBLEN = 0xc0044266 BIOCSDLT = 0x80044278 BIOCSETF = 0x80104267 + BIOCSETFNR = 0x8010427e BIOCSETIF = 0x8020426c BIOCSHDRCMPLT = 0x80044275 BIOCSRSIG = 0x80044273 @@ -137,9 +139,26 @@ const ( BPF_W = 0x0 BPF_X = 0x8 BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 CFLUSH = 0xf CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_MONOTONIC_RAW_APPROX = 0x5 + CLOCK_PROCESS_CPUTIME_ID = 0xc + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x10 + CLOCK_UPTIME_RAW = 0x8 + CLOCK_UPTIME_RAW_APPROX = 0x9 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRDLY = 0x3000 CREAD = 0x800 + CRTSCTS = 0x30000 CS5 = 0x0 CS6 = 0x100 CS7 = 0x200 @@ -152,33 +171,168 @@ const ( CSUSP = 0x1a CTL_MAXNAME = 0xc CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde DLT_APPLE_IP_OVER_IEEE1394 = 0x8a DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 DLT_ATM_CLIP = 0x13 DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 DLT_CHAOS = 0x5 DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 DLT_EN10MB = 0x1 DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 DLT_IEEE802 = 0x6 DLT_IEEE802_11 = 0x69 DLT_IEEE802_11_RADIO = 0x7f DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 DLT_LINUX_SLL = 0x71 DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0xf5 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d DLT_PFLOG = 0x75 DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 DLT_PPP = 0x9 DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 DLT_SLIP = 0x8 DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 DT_BLK = 0x6 DT_CHR = 0x2 DT_DIR = 0x4 @@ -196,13 +350,14 @@ const ( ECHONL = 0x10 ECHOPRT = 0x20 EVFILT_AIO = -0x3 + EVFILT_EXCEPT = -0xf EVFILT_FS = -0x9 EVFILT_MACHPORT = -0x8 EVFILT_PROC = -0x5 EVFILT_READ = -0x1 EVFILT_SIGNAL = -0x6 - EVFILT_SYSCOUNT = 0xe - EVFILT_THREADMARKER = 0xe + EVFILT_SYSCOUNT = 0xf + EVFILT_THREADMARKER = 0xf EVFILT_TIMER = -0x7 EVFILT_USER = -0xa EVFILT_VM = -0xc @@ -213,6 +368,7 @@ const ( EV_DELETE = 0x2 EV_DISABLE = 0x8 EV_DISPATCH = 0x80 + EV_DISPATCH2 = 0x180 EV_ENABLE = 0x4 EV_EOF = 0x8000 EV_ERROR = 0x4000 @@ -223,16 +379,25 @@ const ( EV_POLL = 0x1000 EV_RECEIPT = 0x40 EV_SYSFLAGS = 0xf000 + EV_UDATA_SPECIFIC = 0x100 + EV_VANISHED = 0x200 EXTA = 0x4b00 EXTB = 0x9600 EXTPROC = 0x800 FD_CLOEXEC = 0x1 FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 FLUSHO = 0x800000 F_ADDFILESIGS = 0x3d + F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 + F_ADDFILESIGS_RETURN = 0x61 F_ADDSIGS = 0x3b F_ALLOCATEALL = 0x4 F_ALLOCATECONTIG = 0x2 + F_BARRIERFSYNC = 0x55 + F_CHECK_LV = 0x62 F_CHKCLEAN = 0x29 F_DUPFD = 0x0 F_DUPFD_CLOEXEC = 0x43 @@ -347,6 +512,7 @@ const ( IFT_PDP = 0xff IFT_PFLOG = 0xf5 IFT_PFSYNC = 0xf6 + IFT_PKTAP = 0xfe IFT_PPP = 0x17 IFT_PROPMUX = 0x36 IFT_PROPVIRTUAL = 0x35 @@ -515,7 +681,7 @@ const ( IPV6_FAITH = 0x1d IPV6_FLOWINFO_MASK = 0xffffff0f IPV6_FLOWLABEL_MASK = 0xffff0f00 - IPV6_FRAGTTL = 0x78 + IPV6_FRAGTTL = 0x3c IPV6_FW_ADD = 0x1e IPV6_FW_DEL = 0x1f IPV6_FW_FLUSH = 0x20 @@ -633,11 +799,13 @@ const ( MADV_FREE_REUSABLE = 0x7 MADV_FREE_REUSE = 0x8 MADV_NORMAL = 0x0 + MADV_PAGEOUT = 0xa MADV_RANDOM = 0x1 MADV_SEQUENTIAL = 0x2 MADV_WILLNEED = 0x3 MADV_ZERO_WIRED_PAGES = 0x6 MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 MAP_COPY = 0x2 MAP_FILE = 0x0 MAP_FIXED = 0x10 @@ -649,9 +817,43 @@ const ( MAP_PRIVATE = 0x2 MAP_RENAME = 0x20 MAP_RESERVED0080 = 0x80 + MAP_RESILIENT_CODESIGN = 0x2000 + MAP_RESILIENT_MEDIA = 0x4000 MAP_SHARED = 0x1 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x400000 + MNT_CMDFLAGS = 0xf0000 + MNT_CPROTECT = 0x80 + MNT_DEFWRITE = 0x2000000 + MNT_DONTBROWSE = 0x100000 + MNT_DOVOLFS = 0x8000 + MNT_DWAIT = 0x4 + MNT_EXPORTED = 0x100 + MNT_FORCE = 0x80000 + MNT_IGNORE_OWNERSHIP = 0x200000 + MNT_JOURNALED = 0x800000 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NOATIME = 0x10000000 + MNT_NOBLOCK = 0x20000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOUSERXATTR = 0x1000000 + MNT_NOWAIT = 0x2 + MNT_QUARANTINE = 0x400 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNKNOWNPERMISSIONS = 0x200000 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x17f0f5ff + MNT_WAIT = 0x1 MSG_CTRUNC = 0x20 MSG_DONTROUTE = 0x4 MSG_DONTWAIT = 0x80 @@ -682,7 +884,13 @@ const ( NET_RT_MAXID = 0xa NET_RT_STAT = 0x4 NET_RT_TRASH = 0x5 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLDLY = 0x300 NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 NOTE_ABSOLUTE = 0x8 NOTE_ATTRIB = 0x8 NOTE_BACKGROUND = 0x40 @@ -706,11 +914,14 @@ const ( NOTE_FFNOP = 0x0 NOTE_FFOR = 0x80000000 NOTE_FORK = 0x40000000 + NOTE_FUNLOCK = 0x100 NOTE_LEEWAY = 0x10 NOTE_LINK = 0x10 NOTE_LOWAT = 0x1 + NOTE_MACH_CONTINUOUS_TIME = 0x80 NOTE_NONE = 0x80 NOTE_NSECONDS = 0x4 + NOTE_OOB = 0x2 NOTE_PCTRLMASK = -0x100000 NOTE_PDATAMASK = 0xfffff NOTE_REAP = 0x10000000 @@ -735,6 +946,7 @@ const ( ONOCR = 0x20 ONOEOT = 0x8 OPOST = 0x1 + OXTABS = 0x4 O_ACCMODE = 0x3 O_ALERT = 0x20000000 O_APPEND = 0x8 @@ -743,6 +955,7 @@ const ( O_CREAT = 0x200 O_DIRECTORY = 0x100000 O_DP_GETRAWENCRYPTED = 0x1 + O_DP_GETRAWUNENCRYPTED = 0x2 O_DSYNC = 0x400000 O_EVTONLY = 0x8000 O_EXCL = 0x800 @@ -795,7 +1008,10 @@ const ( RLIMIT_CPU_USAGE_MONITOR = 0x2 RLIMIT_DATA = 0x2 RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 RLIMIT_STACK = 0x3 RLIM_INFINITY = 0x7fffffffffffffff RTAX_AUTHOR = 0x6 @@ -830,6 +1046,7 @@ const ( RTF_LOCAL = 0x200000 RTF_MODIFIED = 0x20 RTF_MULTICAST = 0x800000 + RTF_NOIFREF = 0x2000 RTF_PINNED = 0x100000 RTF_PRCLONING = 0x10000 RTF_PROTO1 = 0x8000 @@ -964,6 +1181,8 @@ const ( SO_LABEL = 0x1010 SO_LINGER = 0x80 SO_LINGER_SEC = 0x1080 + SO_NETSVC_MARKING_LEVEL = 0x1119 + SO_NET_SERVICE_TYPE = 0x1116 SO_NKE = 0x1021 SO_NOADDRERR = 0x1023 SO_NOSIGPIPE = 0x1022 @@ -1019,11 +1238,22 @@ const ( S_IXGRP = 0x8 S_IXOTH = 0x1 S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0x4 + TABDLY = 0xc04 TCIFLUSH = 0x1 + TCIOFF = 0x3 TCIOFLUSH = 0x3 + TCION = 0x4 TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 TCP_CONNECTIONTIMEOUT = 0x20 + TCP_CONNECTION_INFO = 0x106 TCP_ENABLE_ECN = 0x104 + TCP_FASTOPEN = 0x105 TCP_KEEPALIVE = 0x10 TCP_KEEPCNT = 0x102 TCP_KEEPINTVL = 0x101 @@ -1123,6 +1353,11 @@ const ( VKILL = 0x5 VLNEXT = 0xe VMIN = 0x10 + VM_LOADAVG = 0x2 + VM_MACHFACTOR = 0x4 + VM_MAXID = 0x6 + VM_METER = 0x1 + VM_SWAPUSAGE = 0x5 VQUIT = 0x9 VREPRINT = 0x6 VSTART = 0xc @@ -1291,3 +1526,148 @@ const ( SIGXCPU = syscall.Signal(0x18) SIGXFSZ = syscall.Signal(0x19) ) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "device not configured", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource deadlock avoided", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "resource busy", + 17: "file exists", + 18: "cross-device link", + 19: "operation not supported by device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "result too large", + 35: "resource temporarily unavailable", + 36: "operation now in progress", + 37: "operation already in progress", + 38: "socket operation on non-socket", + 39: "destination address required", + 40: "message too long", + 41: "protocol wrong type for socket", + 42: "protocol not available", + 43: "protocol not supported", + 44: "socket type not supported", + 45: "operation not supported", + 46: "protocol family not supported", + 47: "address family not supported by protocol family", + 48: "address already in use", + 49: "can't assign requested address", + 50: "network is down", + 51: "network is unreachable", + 52: "network dropped connection on reset", + 53: "software caused connection abort", + 54: "connection reset by peer", + 55: "no buffer space available", + 56: "socket is already connected", + 57: "socket is not connected", + 58: "can't send after socket shutdown", + 59: "too many references: can't splice", + 60: "operation timed out", + 61: "connection refused", + 62: "too many levels of symbolic links", + 63: "file name too long", + 64: "host is down", + 65: "no route to host", + 66: "directory not empty", + 67: "too many processes", + 68: "too many users", + 69: "disc quota exceeded", + 70: "stale NFS file handle", + 71: "too many levels of remote in path", + 72: "RPC struct is bad", + 73: "RPC version wrong", + 74: "RPC prog. not avail", + 75: "program version wrong", + 76: "bad procedure for program", + 77: "no locks available", + 78: "function not implemented", + 79: "inappropriate file type or format", + 80: "authentication error", + 81: "need authenticator", + 82: "device power is off", + 83: "device error", + 84: "value too large to be stored in data type", + 85: "bad executable (or shared library)", + 86: "bad CPU type in executable", + 87: "shared library version mismatch", + 88: "malformed Mach-o file", + 89: "operation canceled", + 90: "identifier removed", + 91: "no message of desired type", + 92: "illegal byte sequence", + 93: "attribute not found", + 94: "bad message", + 95: "EMULTIHOP (Reserved)", + 96: "no message available on STREAM", + 97: "ENOLINK (Reserved)", + 98: "no STREAM resources", + 99: "not a STREAM", + 100: "protocol error", + 101: "STREAM ioctl timeout", + 102: "operation not supported on socket", + 103: "policy not found", + 104: "state not recoverable", + 105: "previous owner died", + 106: "interface output queue is full", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/BPT trap", + 6: "abort trap", + 7: "EMT trap", + 8: "floating point exception", + 9: "killed", + 10: "bus error", + 11: "segmentation fault", + 12: "bad system call", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "urgent I/O condition", + 17: "suspended (signal)", + 18: "suspended", + 19: "continued", + 20: "child exited", + 21: "stopped (tty input)", + 22: "stopped (tty output)", + 23: "I/O possible", + 24: "cputime limit exceeded", + 25: "filesize limit exceeded", + 26: "virtual timer expired", + 27: "profiling timer expired", + 28: "window size changes", + 29: "information request", + 30: "user defined signal 1", + 31: "user defined signal 2", +} 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 3189c6b34..cc8cc5b57 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go @@ -1,5 +1,5 @@ // mkerrors.sh -m64 -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT +// Code generated by the command above; see README.md. DO NOT EDIT. // +build arm64,darwin @@ -48,6 +48,7 @@ const ( AF_UNIX = 0x1 AF_UNSPEC = 0x0 AF_UTUN = 0x26 + ALTWERASE = 0x200 B0 = 0x0 B110 = 0x6e B115200 = 0x1c200 @@ -138,9 +139,26 @@ const ( BPF_W = 0x0 BPF_X = 0x8 BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 CFLUSH = 0xf CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_MONOTONIC_RAW_APPROX = 0x5 + CLOCK_PROCESS_CPUTIME_ID = 0xc + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x10 + CLOCK_UPTIME_RAW = 0x8 + CLOCK_UPTIME_RAW_APPROX = 0x9 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRDLY = 0x3000 CREAD = 0x800 + CRTSCTS = 0x30000 CS5 = 0x0 CS6 = 0x100 CS7 = 0x200 @@ -332,13 +350,14 @@ const ( ECHONL = 0x10 ECHOPRT = 0x20 EVFILT_AIO = -0x3 + EVFILT_EXCEPT = -0xf EVFILT_FS = -0x9 EVFILT_MACHPORT = -0x8 EVFILT_PROC = -0x5 EVFILT_READ = -0x1 EVFILT_SIGNAL = -0x6 - EVFILT_SYSCOUNT = 0xe - EVFILT_THREADMARKER = 0xe + EVFILT_SYSCOUNT = 0xf + EVFILT_THREADMARKER = 0xf EVFILT_TIMER = -0x7 EVFILT_USER = -0xa EVFILT_VM = -0xc @@ -349,6 +368,7 @@ const ( EV_DELETE = 0x2 EV_DISABLE = 0x8 EV_DISPATCH = 0x80 + EV_DISPATCH2 = 0x180 EV_ENABLE = 0x4 EV_EOF = 0x8000 EV_ERROR = 0x4000 @@ -359,16 +379,25 @@ const ( EV_POLL = 0x1000 EV_RECEIPT = 0x40 EV_SYSFLAGS = 0xf000 + EV_UDATA_SPECIFIC = 0x100 + EV_VANISHED = 0x200 EXTA = 0x4b00 EXTB = 0x9600 EXTPROC = 0x800 FD_CLOEXEC = 0x1 FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 FLUSHO = 0x800000 F_ADDFILESIGS = 0x3d + F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 + F_ADDFILESIGS_RETURN = 0x61 F_ADDSIGS = 0x3b F_ALLOCATEALL = 0x4 F_ALLOCATECONTIG = 0x2 + F_BARRIERFSYNC = 0x55 + F_CHECK_LV = 0x62 F_CHKCLEAN = 0x29 F_DUPFD = 0x0 F_DUPFD_CLOEXEC = 0x43 @@ -770,11 +799,13 @@ const ( MADV_FREE_REUSABLE = 0x7 MADV_FREE_REUSE = 0x8 MADV_NORMAL = 0x0 + MADV_PAGEOUT = 0xa MADV_RANDOM = 0x1 MADV_SEQUENTIAL = 0x2 MADV_WILLNEED = 0x3 MADV_ZERO_WIRED_PAGES = 0x6 MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 MAP_COPY = 0x2 MAP_FILE = 0x0 MAP_FIXED = 0x10 @@ -786,9 +817,43 @@ const ( MAP_PRIVATE = 0x2 MAP_RENAME = 0x20 MAP_RESERVED0080 = 0x80 + MAP_RESILIENT_CODESIGN = 0x2000 + MAP_RESILIENT_MEDIA = 0x4000 MAP_SHARED = 0x1 MCL_CURRENT = 0x1 MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x400000 + MNT_CMDFLAGS = 0xf0000 + MNT_CPROTECT = 0x80 + MNT_DEFWRITE = 0x2000000 + MNT_DONTBROWSE = 0x100000 + MNT_DOVOLFS = 0x8000 + MNT_DWAIT = 0x4 + MNT_EXPORTED = 0x100 + MNT_FORCE = 0x80000 + MNT_IGNORE_OWNERSHIP = 0x200000 + MNT_JOURNALED = 0x800000 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NOATIME = 0x10000000 + MNT_NOBLOCK = 0x20000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOUSERXATTR = 0x1000000 + MNT_NOWAIT = 0x2 + MNT_QUARANTINE = 0x400 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNKNOWNPERMISSIONS = 0x200000 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x17f0f5ff + MNT_WAIT = 0x1 MSG_CTRUNC = 0x20 MSG_DONTROUTE = 0x4 MSG_DONTWAIT = 0x80 @@ -819,7 +884,13 @@ const ( NET_RT_MAXID = 0xa NET_RT_STAT = 0x4 NET_RT_TRASH = 0x5 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLDLY = 0x300 NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 NOTE_ABSOLUTE = 0x8 NOTE_ATTRIB = 0x8 NOTE_BACKGROUND = 0x40 @@ -843,11 +914,14 @@ const ( NOTE_FFNOP = 0x0 NOTE_FFOR = 0x80000000 NOTE_FORK = 0x40000000 + NOTE_FUNLOCK = 0x100 NOTE_LEEWAY = 0x10 NOTE_LINK = 0x10 NOTE_LOWAT = 0x1 + NOTE_MACH_CONTINUOUS_TIME = 0x80 NOTE_NONE = 0x80 NOTE_NSECONDS = 0x4 + NOTE_OOB = 0x2 NOTE_PCTRLMASK = -0x100000 NOTE_PDATAMASK = 0xfffff NOTE_REAP = 0x10000000 @@ -872,6 +946,7 @@ const ( ONOCR = 0x20 ONOEOT = 0x8 OPOST = 0x1 + OXTABS = 0x4 O_ACCMODE = 0x3 O_ALERT = 0x20000000 O_APPEND = 0x8 @@ -880,6 +955,7 @@ const ( O_CREAT = 0x200 O_DIRECTORY = 0x100000 O_DP_GETRAWENCRYPTED = 0x1 + O_DP_GETRAWUNENCRYPTED = 0x2 O_DSYNC = 0x400000 O_EVTONLY = 0x8000 O_EXCL = 0x800 @@ -932,7 +1008,10 @@ const ( RLIMIT_CPU_USAGE_MONITOR = 0x2 RLIMIT_DATA = 0x2 RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 RLIMIT_STACK = 0x3 RLIM_INFINITY = 0x7fffffffffffffff RTAX_AUTHOR = 0x6 @@ -1102,6 +1181,8 @@ const ( SO_LABEL = 0x1010 SO_LINGER = 0x80 SO_LINGER_SEC = 0x1080 + SO_NETSVC_MARKING_LEVEL = 0x1119 + SO_NET_SERVICE_TYPE = 0x1116 SO_NKE = 0x1021 SO_NOADDRERR = 0x1023 SO_NOSIGPIPE = 0x1022 @@ -1157,11 +1238,22 @@ const ( S_IXGRP = 0x8 S_IXOTH = 0x1 S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0x4 + TABDLY = 0xc04 TCIFLUSH = 0x1 + TCIOFF = 0x3 TCIOFLUSH = 0x3 + TCION = 0x4 TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 TCP_CONNECTIONTIMEOUT = 0x20 + TCP_CONNECTION_INFO = 0x106 TCP_ENABLE_ECN = 0x104 + TCP_FASTOPEN = 0x105 TCP_KEEPALIVE = 0x10 TCP_KEEPCNT = 0x102 TCP_KEEPINTVL = 0x101 @@ -1261,6 +1353,11 @@ const ( VKILL = 0x5 VLNEXT = 0xe VMIN = 0x10 + VM_LOADAVG = 0x2 + VM_MACHFACTOR = 0x4 + VM_MAXID = 0x6 + VM_METER = 0x1 + VM_SWAPUSAGE = 0x5 VQUIT = 0x9 VREPRINT = 0x6 VSTART = 0xc diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go index 7b95751c3..1d3eec44d 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go +++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go @@ -1,5 +1,5 @@ // mkerrors.sh -m32 -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT +// Code generated by the command above; see README.md. DO NOT EDIT. // +build 386,freebsd @@ -11,1456 +11,1419 @@ package unix import "syscall" const ( - AF_APPLETALK = 0x10 - AF_ARP = 0x23 - AF_ATM = 0x1e - AF_BLUETOOTH = 0x24 - AF_CCITT = 0xa - AF_CHAOS = 0x5 - AF_CNT = 0x15 - AF_COIP = 0x14 - AF_DATAKIT = 0x9 - AF_DECnet = 0xc - AF_DLI = 0xd - AF_E164 = 0x1a - AF_ECMA = 0x8 - AF_HYLINK = 0xf - AF_IEEE80211 = 0x25 - AF_IMPLINK = 0x3 - AF_INET = 0x2 - AF_INET6 = 0x1c - AF_INET6_SDP = 0x2a - AF_INET_SDP = 0x28 - AF_IPX = 0x17 - AF_ISDN = 0x1a - AF_ISO = 0x7 - AF_LAT = 0xe - AF_LINK = 0x12 - AF_LOCAL = 0x1 - AF_MAX = 0x2a - AF_NATM = 0x1d - AF_NETBIOS = 0x6 - AF_NETGRAPH = 0x20 - AF_OSI = 0x7 - AF_PUP = 0x4 - AF_ROUTE = 0x11 - AF_SCLUSTER = 0x22 - AF_SIP = 0x18 - AF_SLOW = 0x21 - AF_SNA = 0xb - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - AF_VENDOR00 = 0x27 - AF_VENDOR01 = 0x29 - AF_VENDOR02 = 0x2b - AF_VENDOR03 = 0x2d - AF_VENDOR04 = 0x2f - AF_VENDOR05 = 0x31 - AF_VENDOR06 = 0x33 - AF_VENDOR07 = 0x35 - AF_VENDOR08 = 0x37 - AF_VENDOR09 = 0x39 - AF_VENDOR10 = 0x3b - AF_VENDOR11 = 0x3d - AF_VENDOR12 = 0x3f - AF_VENDOR13 = 0x41 - AF_VENDOR14 = 0x43 - AF_VENDOR15 = 0x45 - AF_VENDOR16 = 0x47 - AF_VENDOR17 = 0x49 - AF_VENDOR18 = 0x4b - AF_VENDOR19 = 0x4d - AF_VENDOR20 = 0x4f - AF_VENDOR21 = 0x51 - AF_VENDOR22 = 0x53 - AF_VENDOR23 = 0x55 - AF_VENDOR24 = 0x57 - AF_VENDOR25 = 0x59 - AF_VENDOR26 = 0x5b - AF_VENDOR27 = 0x5d - AF_VENDOR28 = 0x5f - AF_VENDOR29 = 0x61 - AF_VENDOR30 = 0x63 - AF_VENDOR31 = 0x65 - AF_VENDOR32 = 0x67 - AF_VENDOR33 = 0x69 - AF_VENDOR34 = 0x6b - AF_VENDOR35 = 0x6d - AF_VENDOR36 = 0x6f - AF_VENDOR37 = 0x71 - AF_VENDOR38 = 0x73 - AF_VENDOR39 = 0x75 - AF_VENDOR40 = 0x77 - AF_VENDOR41 = 0x79 - AF_VENDOR42 = 0x7b - AF_VENDOR43 = 0x7d - AF_VENDOR44 = 0x7f - AF_VENDOR45 = 0x81 - AF_VENDOR46 = 0x83 - AF_VENDOR47 = 0x85 - B0 = 0x0 - B110 = 0x6e - B115200 = 0x1c200 - B1200 = 0x4b0 - B134 = 0x86 - B14400 = 0x3840 - B150 = 0x96 - B1800 = 0x708 - B19200 = 0x4b00 - B200 = 0xc8 - B230400 = 0x38400 - B2400 = 0x960 - B28800 = 0x7080 - B300 = 0x12c - B38400 = 0x9600 - B460800 = 0x70800 - B4800 = 0x12c0 - B50 = 0x32 - B57600 = 0xe100 - B600 = 0x258 - B7200 = 0x1c20 - B75 = 0x4b - B76800 = 0x12c00 - B921600 = 0xe1000 - B9600 = 0x2580 - BIOCFEEDBACK = 0x8004427c - BIOCFLUSH = 0x20004268 - BIOCGBLEN = 0x40044266 - BIOCGDIRECTION = 0x40044276 - BIOCGDLT = 0x4004426a - BIOCGDLTLIST = 0xc0084279 - BIOCGETBUFMODE = 0x4004427d - BIOCGETIF = 0x4020426b - BIOCGETZMAX = 0x4004427f - BIOCGHDRCMPLT = 0x40044274 - BIOCGRSIG = 0x40044272 - BIOCGRTIMEOUT = 0x4008426e - BIOCGSEESENT = 0x40044276 - BIOCGSTATS = 0x4008426f - BIOCGTSTAMP = 0x40044283 - BIOCIMMEDIATE = 0x80044270 - BIOCLOCK = 0x2000427a - BIOCPROMISC = 0x20004269 - BIOCROTZBUF = 0x400c4280 - BIOCSBLEN = 0xc0044266 - BIOCSDIRECTION = 0x80044277 - BIOCSDLT = 0x80044278 - BIOCSETBUFMODE = 0x8004427e - BIOCSETF = 0x80084267 - BIOCSETFNR = 0x80084282 - BIOCSETIF = 0x8020426c - BIOCSETWF = 0x8008427b - BIOCSETZBUF = 0x800c4281 - BIOCSHDRCMPLT = 0x80044275 - BIOCSRSIG = 0x80044273 - BIOCSRTIMEOUT = 0x8008426d - BIOCSSEESENT = 0x80044277 - BIOCSTSTAMP = 0x80044284 - BIOCVERSION = 0x40044271 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALIGNMENT = 0x4 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_BUFMODE_BUFFER = 0x1 - BPF_BUFMODE_ZBUF = 0x2 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXBUFSIZE = 0x80000 - BPF_MAXINSNS = 0x200 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINBUFSIZE = 0x20 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_OR = 0x40 - BPF_RELEASE = 0x30bb6 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_T_BINTIME = 0x2 - BPF_T_BINTIME_FAST = 0x102 - BPF_T_BINTIME_MONOTONIC = 0x202 - BPF_T_BINTIME_MONOTONIC_FAST = 0x302 - BPF_T_FAST = 0x100 - BPF_T_FLAG_MASK = 0x300 - BPF_T_FORMAT_MASK = 0x3 - BPF_T_MICROTIME = 0x0 - BPF_T_MICROTIME_FAST = 0x100 - BPF_T_MICROTIME_MONOTONIC = 0x200 - BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 - BPF_T_MONOTONIC = 0x200 - BPF_T_MONOTONIC_FAST = 0x300 - BPF_T_NANOTIME = 0x1 - BPF_T_NANOTIME_FAST = 0x101 - BPF_T_NANOTIME_MONOTONIC = 0x201 - BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 - BPF_T_NONE = 0x3 - BPF_T_NORMAL = 0x0 - BPF_W = 0x0 - BPF_X = 0x8 - BRKINT = 0x2 - CFLUSH = 0xf - CLOCAL = 0x8000 - CLOCK_MONOTONIC = 0x4 - CLOCK_MONOTONIC_FAST = 0xc - CLOCK_MONOTONIC_PRECISE = 0xb - CLOCK_PROCESS_CPUTIME_ID = 0xf - CLOCK_PROF = 0x2 - CLOCK_REALTIME = 0x0 - CLOCK_REALTIME_FAST = 0xa - CLOCK_REALTIME_PRECISE = 0x9 - CLOCK_SECOND = 0xd - CLOCK_THREAD_CPUTIME_ID = 0xe - CLOCK_UPTIME = 0x5 - CLOCK_UPTIME_FAST = 0x8 - CLOCK_UPTIME_PRECISE = 0x7 - CLOCK_VIRTUAL = 0x1 - CREAD = 0x800 - CS5 = 0x0 - CS6 = 0x100 - CS7 = 0x200 - CS8 = 0x300 - CSIZE = 0x300 - CSTART = 0x11 - CSTATUS = 0x14 - CSTOP = 0x13 - CSTOPB = 0x400 - CSUSP = 0x1a - CTL_MAXNAME = 0x18 - CTL_NET = 0x4 - DLT_A429 = 0xb8 - DLT_A653_ICM = 0xb9 - DLT_AIRONET_HEADER = 0x78 - DLT_AOS = 0xde - DLT_APPLE_IP_OVER_IEEE1394 = 0x8a - DLT_ARCNET = 0x7 - DLT_ARCNET_LINUX = 0x81 - DLT_ATM_CLIP = 0x13 - DLT_ATM_RFC1483 = 0xb - DLT_AURORA = 0x7e - DLT_AX25 = 0x3 - DLT_AX25_KISS = 0xca - DLT_BACNET_MS_TP = 0xa5 - DLT_BLUETOOTH_HCI_H4 = 0xbb - DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 - DLT_CAN20B = 0xbe - DLT_CAN_SOCKETCAN = 0xe3 - DLT_CHAOS = 0x5 - DLT_CHDLC = 0x68 - DLT_CISCO_IOS = 0x76 - DLT_C_HDLC = 0x68 - DLT_C_HDLC_WITH_DIR = 0xcd - DLT_DBUS = 0xe7 - DLT_DECT = 0xdd - DLT_DOCSIS = 0x8f - DLT_DVB_CI = 0xeb - DLT_ECONET = 0x73 - DLT_EN10MB = 0x1 - DLT_EN3MB = 0x2 - DLT_ENC = 0x6d - DLT_ERF = 0xc5 - DLT_ERF_ETH = 0xaf - DLT_ERF_POS = 0xb0 - DLT_FC_2 = 0xe0 - DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 - DLT_FDDI = 0xa - DLT_FLEXRAY = 0xd2 - DLT_FRELAY = 0x6b - DLT_FRELAY_WITH_DIR = 0xce - DLT_GCOM_SERIAL = 0xad - DLT_GCOM_T1E1 = 0xac - DLT_GPF_F = 0xab - DLT_GPF_T = 0xaa - DLT_GPRS_LLC = 0xa9 - DLT_GSMTAP_ABIS = 0xda - DLT_GSMTAP_UM = 0xd9 - DLT_HHDLC = 0x79 - DLT_IBM_SN = 0x92 - DLT_IBM_SP = 0x91 - DLT_IEEE802 = 0x6 - DLT_IEEE802_11 = 0x69 - DLT_IEEE802_11_RADIO = 0x7f - DLT_IEEE802_11_RADIO_AVS = 0xa3 - DLT_IEEE802_15_4 = 0xc3 - DLT_IEEE802_15_4_LINUX = 0xbf - DLT_IEEE802_15_4_NOFCS = 0xe6 - DLT_IEEE802_15_4_NONASK_PHY = 0xd7 - DLT_IEEE802_16_MAC_CPS = 0xbc - DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 - DLT_IPFILTER = 0x74 - DLT_IPMB = 0xc7 - DLT_IPMB_LINUX = 0xd1 - DLT_IPNET = 0xe2 - DLT_IPOIB = 0xf2 - DLT_IPV4 = 0xe4 - DLT_IPV6 = 0xe5 - DLT_IP_OVER_FC = 0x7a - DLT_JUNIPER_ATM1 = 0x89 - DLT_JUNIPER_ATM2 = 0x87 - DLT_JUNIPER_ATM_CEMIC = 0xee - DLT_JUNIPER_CHDLC = 0xb5 - DLT_JUNIPER_ES = 0x84 - DLT_JUNIPER_ETHER = 0xb2 - DLT_JUNIPER_FIBRECHANNEL = 0xea - DLT_JUNIPER_FRELAY = 0xb4 - DLT_JUNIPER_GGSN = 0x85 - DLT_JUNIPER_ISM = 0xc2 - DLT_JUNIPER_MFR = 0x86 - DLT_JUNIPER_MLFR = 0x83 - DLT_JUNIPER_MLPPP = 0x82 - DLT_JUNIPER_MONITOR = 0xa4 - DLT_JUNIPER_PIC_PEER = 0xae - DLT_JUNIPER_PPP = 0xb3 - DLT_JUNIPER_PPPOE = 0xa7 - DLT_JUNIPER_PPPOE_ATM = 0xa8 - DLT_JUNIPER_SERVICES = 0x88 - DLT_JUNIPER_SRX_E2E = 0xe9 - DLT_JUNIPER_ST = 0xc8 - DLT_JUNIPER_VP = 0xb7 - DLT_JUNIPER_VS = 0xe8 - DLT_LAPB_WITH_DIR = 0xcf - DLT_LAPD = 0xcb - DLT_LIN = 0xd4 - DLT_LINUX_EVDEV = 0xd8 - DLT_LINUX_IRDA = 0x90 - DLT_LINUX_LAPD = 0xb1 - DLT_LINUX_PPP_WITHDIRECTION = 0xa6 - DLT_LINUX_SLL = 0x71 - DLT_LOOP = 0x6c - DLT_LTALK = 0x72 - DLT_MATCHING_MAX = 0xf6 - DLT_MATCHING_MIN = 0x68 - DLT_MFR = 0xb6 - DLT_MOST = 0xd3 - DLT_MPEG_2_TS = 0xf3 - DLT_MPLS = 0xdb - DLT_MTP2 = 0x8c - DLT_MTP2_WITH_PHDR = 0x8b - DLT_MTP3 = 0x8d - DLT_MUX27010 = 0xec - DLT_NETANALYZER = 0xf0 - DLT_NETANALYZER_TRANSPARENT = 0xf1 - DLT_NFC_LLCP = 0xf5 - DLT_NFLOG = 0xef - DLT_NG40 = 0xf4 - DLT_NULL = 0x0 - DLT_PCI_EXP = 0x7d - DLT_PFLOG = 0x75 - DLT_PFSYNC = 0x79 - DLT_PPI = 0xc0 - DLT_PPP = 0x9 - DLT_PPP_BSDOS = 0x10 - DLT_PPP_ETHER = 0x33 - DLT_PPP_PPPD = 0xa6 - DLT_PPP_SERIAL = 0x32 - DLT_PPP_WITH_DIR = 0xcc - DLT_PPP_WITH_DIRECTION = 0xa6 - DLT_PRISM_HEADER = 0x77 - DLT_PRONET = 0x4 - DLT_RAIF1 = 0xc6 - DLT_RAW = 0xc - DLT_RIO = 0x7c - DLT_SCCP = 0x8e - DLT_SITA = 0xc4 - DLT_SLIP = 0x8 - DLT_SLIP_BSDOS = 0xf - DLT_STANAG_5066_D_PDU = 0xed - DLT_SUNATM = 0x7b - DLT_SYMANTEC_FIREWALL = 0x63 - DLT_TZSP = 0x80 - DLT_USB = 0xba - DLT_USB_LINUX = 0xbd - DLT_USB_LINUX_MMAPPED = 0xdc - DLT_USER0 = 0x93 - DLT_USER1 = 0x94 - DLT_USER10 = 0x9d - DLT_USER11 = 0x9e - DLT_USER12 = 0x9f - DLT_USER13 = 0xa0 - DLT_USER14 = 0xa1 - DLT_USER15 = 0xa2 - DLT_USER2 = 0x95 - DLT_USER3 = 0x96 - DLT_USER4 = 0x97 - DLT_USER5 = 0x98 - DLT_USER6 = 0x99 - DLT_USER7 = 0x9a - DLT_USER8 = 0x9b - DLT_USER9 = 0x9c - DLT_WIHART = 0xdf - DLT_X2E_SERIAL = 0xd5 - DLT_X2E_XORAYA = 0xd6 - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x40 - ECHOE = 0x2 - ECHOK = 0x4 - ECHOKE = 0x1 - ECHONL = 0x10 - ECHOPRT = 0x20 - EVFILT_AIO = -0x3 - EVFILT_FS = -0x9 - EVFILT_LIO = -0xa - EVFILT_PROC = -0x5 - EVFILT_READ = -0x1 - EVFILT_SIGNAL = -0x6 - EVFILT_SYSCOUNT = 0xb - EVFILT_TIMER = -0x7 - EVFILT_USER = -0xb - EVFILT_VNODE = -0x4 - EVFILT_WRITE = -0x2 - EV_ADD = 0x1 - EV_CLEAR = 0x20 - EV_DELETE = 0x2 - EV_DISABLE = 0x8 - EV_DISPATCH = 0x80 - EV_DROP = 0x1000 - EV_ENABLE = 0x4 - EV_EOF = 0x8000 - EV_ERROR = 0x4000 - EV_FLAG1 = 0x2000 - EV_ONESHOT = 0x10 - EV_RECEIPT = 0x40 - EV_SYSFLAGS = 0xf000 - EXTA = 0x4b00 - EXTATTR_NAMESPACE_EMPTY = 0x0 - EXTATTR_NAMESPACE_SYSTEM = 0x2 - EXTATTR_NAMESPACE_USER = 0x1 - EXTB = 0x9600 - EXTPROC = 0x800 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FLUSHO = 0x800000 - F_CANCEL = 0x5 - F_DUP2FD = 0xa - F_DUP2FD_CLOEXEC = 0x12 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0x11 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLK = 0xb - F_GETOWN = 0x5 - F_OGETLK = 0x7 - F_OK = 0x0 - F_OSETLK = 0x8 - F_OSETLKW = 0x9 - F_RDAHEAD = 0x10 - F_RDLCK = 0x1 - F_READAHEAD = 0xf - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLK = 0xc - F_SETLKW = 0xd - F_SETLK_REMOTE = 0xe - F_SETOWN = 0x6 - F_UNLCK = 0x2 - F_UNLCKSYS = 0x4 - F_WRLCK = 0x3 - HUPCL = 0x4000 - ICANON = 0x100 - ICMP6_FILTER = 0x12 - ICRNL = 0x100 - IEXTEN = 0x400 - IFAN_ARRIVAL = 0x0 - IFAN_DEPARTURE = 0x1 - IFF_ALLMULTI = 0x200 - IFF_ALTPHYS = 0x4000 - IFF_BROADCAST = 0x2 - IFF_CANTCHANGE = 0x218f72 - IFF_CANTCONFIG = 0x10000 - IFF_DEBUG = 0x4 - IFF_DRV_OACTIVE = 0x400 - IFF_DRV_RUNNING = 0x40 - IFF_DYING = 0x200000 - IFF_LINK0 = 0x1000 - IFF_LINK1 = 0x2000 - IFF_LINK2 = 0x4000 - IFF_LOOPBACK = 0x8 - IFF_MONITOR = 0x40000 - IFF_MULTICAST = 0x8000 - IFF_NOARP = 0x80 - IFF_OACTIVE = 0x400 - IFF_POINTOPOINT = 0x10 - IFF_PPROMISC = 0x20000 - IFF_PROMISC = 0x100 - IFF_RENAMING = 0x400000 - IFF_RUNNING = 0x40 - IFF_SIMPLEX = 0x800 - IFF_SMART = 0x20 - IFF_STATICARP = 0x80000 - IFF_UP = 0x1 - IFNAMSIZ = 0x10 - IFT_1822 = 0x2 - IFT_A12MPPSWITCH = 0x82 - IFT_AAL2 = 0xbb - IFT_AAL5 = 0x31 - IFT_ADSL = 0x5e - IFT_AFLANE8023 = 0x3b - IFT_AFLANE8025 = 0x3c - IFT_ARAP = 0x58 - IFT_ARCNET = 0x23 - IFT_ARCNETPLUS = 0x24 - IFT_ASYNC = 0x54 - IFT_ATM = 0x25 - IFT_ATMDXI = 0x69 - IFT_ATMFUNI = 0x6a - IFT_ATMIMA = 0x6b - IFT_ATMLOGICAL = 0x50 - IFT_ATMRADIO = 0xbd - IFT_ATMSUBINTERFACE = 0x86 - IFT_ATMVCIENDPT = 0xc2 - IFT_ATMVIRTUAL = 0x95 - IFT_BGPPOLICYACCOUNTING = 0xa2 - IFT_BRIDGE = 0xd1 - IFT_BSC = 0x53 - IFT_CARP = 0xf8 - IFT_CCTEMUL = 0x3d - IFT_CEPT = 0x13 - IFT_CES = 0x85 - IFT_CHANNEL = 0x46 - IFT_CNR = 0x55 - IFT_COFFEE = 0x84 - IFT_COMPOSITELINK = 0x9b - IFT_DCN = 0x8d - IFT_DIGITALPOWERLINE = 0x8a - IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba - IFT_DLSW = 0x4a - IFT_DOCSCABLEDOWNSTREAM = 0x80 - IFT_DOCSCABLEMACLAYER = 0x7f - IFT_DOCSCABLEUPSTREAM = 0x81 - IFT_DS0 = 0x51 - IFT_DS0BUNDLE = 0x52 - IFT_DS1FDL = 0xaa - IFT_DS3 = 0x1e - IFT_DTM = 0x8c - IFT_DVBASILN = 0xac - IFT_DVBASIOUT = 0xad - IFT_DVBRCCDOWNSTREAM = 0x93 - IFT_DVBRCCMACLAYER = 0x92 - IFT_DVBRCCUPSTREAM = 0x94 - IFT_ENC = 0xf4 - IFT_EON = 0x19 - IFT_EPLRS = 0x57 - IFT_ESCON = 0x49 - IFT_ETHER = 0x6 - IFT_FAITH = 0xf2 - IFT_FAST = 0x7d - IFT_FASTETHER = 0x3e - IFT_FASTETHERFX = 0x45 - IFT_FDDI = 0xf - IFT_FIBRECHANNEL = 0x38 - IFT_FRAMERELAYINTERCONNECT = 0x3a - IFT_FRAMERELAYMPI = 0x5c - IFT_FRDLCIENDPT = 0xc1 - IFT_FRELAY = 0x20 - IFT_FRELAYDCE = 0x2c - IFT_FRF16MFRBUNDLE = 0xa3 - IFT_FRFORWARD = 0x9e - IFT_G703AT2MB = 0x43 - IFT_G703AT64K = 0x42 - IFT_GIF = 0xf0 - IFT_GIGABITETHERNET = 0x75 - IFT_GR303IDT = 0xb2 - IFT_GR303RDT = 0xb1 - IFT_H323GATEKEEPER = 0xa4 - IFT_H323PROXY = 0xa5 - IFT_HDH1822 = 0x3 - IFT_HDLC = 0x76 - IFT_HDSL2 = 0xa8 - IFT_HIPERLAN2 = 0xb7 - IFT_HIPPI = 0x2f - IFT_HIPPIINTERFACE = 0x39 - IFT_HOSTPAD = 0x5a - IFT_HSSI = 0x2e - IFT_HY = 0xe - IFT_IBM370PARCHAN = 0x48 - IFT_IDSL = 0x9a - IFT_IEEE1394 = 0x90 - IFT_IEEE80211 = 0x47 - IFT_IEEE80212 = 0x37 - IFT_IEEE8023ADLAG = 0xa1 - IFT_IFGSN = 0x91 - IFT_IMT = 0xbe - IFT_INFINIBAND = 0xc7 - IFT_INTERLEAVE = 0x7c - IFT_IP = 0x7e - IFT_IPFORWARD = 0x8e - IFT_IPOVERATM = 0x72 - IFT_IPOVERCDLC = 0x6d - IFT_IPOVERCLAW = 0x6e - IFT_IPSWITCH = 0x4e - IFT_IPXIP = 0xf9 - IFT_ISDN = 0x3f - IFT_ISDNBASIC = 0x14 - IFT_ISDNPRIMARY = 0x15 - IFT_ISDNS = 0x4b - IFT_ISDNU = 0x4c - IFT_ISO88022LLC = 0x29 - IFT_ISO88023 = 0x7 - IFT_ISO88024 = 0x8 - IFT_ISO88025 = 0x9 - IFT_ISO88025CRFPINT = 0x62 - IFT_ISO88025DTR = 0x56 - IFT_ISO88025FIBER = 0x73 - IFT_ISO88026 = 0xa - IFT_ISUP = 0xb3 - IFT_L2VLAN = 0x87 - IFT_L3IPVLAN = 0x88 - IFT_L3IPXVLAN = 0x89 - IFT_LAPB = 0x10 - IFT_LAPD = 0x4d - IFT_LAPF = 0x77 - IFT_LOCALTALK = 0x2a - IFT_LOOP = 0x18 - IFT_MEDIAMAILOVERIP = 0x8b - IFT_MFSIGLINK = 0xa7 - IFT_MIOX25 = 0x26 - IFT_MODEM = 0x30 - IFT_MPC = 0x71 - IFT_MPLS = 0xa6 - IFT_MPLSTUNNEL = 0x96 - IFT_MSDSL = 0x8f - IFT_MVL = 0xbf - IFT_MYRINET = 0x63 - IFT_NFAS = 0xaf - IFT_NSIP = 0x1b - IFT_OPTICALCHANNEL = 0xc3 - IFT_OPTICALTRANSPORT = 0xc4 - IFT_OTHER = 0x1 - IFT_P10 = 0xc - IFT_P80 = 0xd - IFT_PARA = 0x22 - IFT_PFLOG = 0xf6 - IFT_PFSYNC = 0xf7 - IFT_PLC = 0xae - IFT_POS = 0xab - IFT_PPP = 0x17 - IFT_PPPMULTILINKBUNDLE = 0x6c - IFT_PROPBWAP2MP = 0xb8 - IFT_PROPCNLS = 0x59 - IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 - IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 - IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 - IFT_PROPMUX = 0x36 - IFT_PROPVIRTUAL = 0x35 - IFT_PROPWIRELESSP2P = 0x9d - IFT_PTPSERIAL = 0x16 - IFT_PVC = 0xf1 - IFT_QLLC = 0x44 - IFT_RADIOMAC = 0xbc - IFT_RADSL = 0x5f - IFT_REACHDSL = 0xc0 - IFT_RFC1483 = 0x9f - IFT_RS232 = 0x21 - IFT_RSRB = 0x4f - IFT_SDLC = 0x11 - IFT_SDSL = 0x60 - IFT_SHDSL = 0xa9 - IFT_SIP = 0x1f - IFT_SLIP = 0x1c - IFT_SMDSDXI = 0x2b - IFT_SMDSICIP = 0x34 - IFT_SONET = 0x27 - IFT_SONETOVERHEADCHANNEL = 0xb9 - IFT_SONETPATH = 0x32 - IFT_SONETVT = 0x33 - IFT_SRP = 0x97 - IFT_SS7SIGLINK = 0x9c - IFT_STACKTOSTACK = 0x6f - IFT_STARLAN = 0xb - IFT_STF = 0xd7 - IFT_T1 = 0x12 - IFT_TDLC = 0x74 - IFT_TERMPAD = 0x5b - IFT_TR008 = 0xb0 - IFT_TRANSPHDLC = 0x7b - IFT_TUNNEL = 0x83 - IFT_ULTRA = 0x1d - IFT_USB = 0xa0 - IFT_V11 = 0x40 - IFT_V35 = 0x2d - IFT_V36 = 0x41 - IFT_V37 = 0x78 - IFT_VDSL = 0x61 - IFT_VIRTUALIPADDRESS = 0x70 - IFT_VOICEEM = 0x64 - IFT_VOICEENCAP = 0x67 - IFT_VOICEFXO = 0x65 - IFT_VOICEFXS = 0x66 - IFT_VOICEOVERATM = 0x98 - IFT_VOICEOVERFRAMERELAY = 0x99 - IFT_VOICEOVERIP = 0x68 - IFT_X213 = 0x5d - IFT_X25 = 0x5 - IFT_X25DDN = 0x4 - IFT_X25HUNTGROUP = 0x7a - IFT_X25MLP = 0x79 - IFT_X25PLE = 0x28 - IFT_XETHER = 0x1a - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLASSD_HOST = 0xfffffff - IN_CLASSD_NET = 0xf0000000 - IN_CLASSD_NSHIFT = 0x1c - IN_LOOPBACKNET = 0x7f - IN_RFC3021_MASK = 0xfffffffe - IPPROTO_3PC = 0x22 - IPPROTO_ADFS = 0x44 - IPPROTO_AH = 0x33 - IPPROTO_AHIP = 0x3d - IPPROTO_APES = 0x63 - IPPROTO_ARGUS = 0xd - IPPROTO_AX25 = 0x5d - IPPROTO_BHA = 0x31 - IPPROTO_BLT = 0x1e - IPPROTO_BRSATMON = 0x4c - IPPROTO_CARP = 0x70 - IPPROTO_CFTP = 0x3e - IPPROTO_CHAOS = 0x10 - IPPROTO_CMTP = 0x26 - IPPROTO_CPHB = 0x49 - IPPROTO_CPNX = 0x48 - IPPROTO_DDP = 0x25 - IPPROTO_DGP = 0x56 - IPPROTO_DIVERT = 0x102 - IPPROTO_DONE = 0x101 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_EMCON = 0xe - IPPROTO_ENCAP = 0x62 - IPPROTO_EON = 0x50 - IPPROTO_ESP = 0x32 - IPPROTO_ETHERIP = 0x61 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GGP = 0x3 - IPPROTO_GMTP = 0x64 - IPPROTO_GRE = 0x2f - IPPROTO_HELLO = 0x3f - IPPROTO_HIP = 0x8b - IPPROTO_HMP = 0x14 - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IDPR = 0x23 - IPPROTO_IDRP = 0x2d - IPPROTO_IGMP = 0x2 - IPPROTO_IGP = 0x55 - IPPROTO_IGRP = 0x58 - IPPROTO_IL = 0x28 - IPPROTO_INLSP = 0x34 - IPPROTO_INP = 0x20 - IPPROTO_IP = 0x0 - IPPROTO_IPCOMP = 0x6c - IPPROTO_IPCV = 0x47 - IPPROTO_IPEIP = 0x5e - IPPROTO_IPIP = 0x4 - IPPROTO_IPPC = 0x43 - IPPROTO_IPV4 = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_IRTP = 0x1c - IPPROTO_KRYPTOLAN = 0x41 - IPPROTO_LARP = 0x5b - IPPROTO_LEAF1 = 0x19 - IPPROTO_LEAF2 = 0x1a - IPPROTO_MAX = 0x100 - IPPROTO_MAXID = 0x34 - IPPROTO_MEAS = 0x13 - IPPROTO_MH = 0x87 - IPPROTO_MHRP = 0x30 - IPPROTO_MICP = 0x5f - IPPROTO_MOBILE = 0x37 - IPPROTO_MPLS = 0x89 - IPPROTO_MTP = 0x5c - IPPROTO_MUX = 0x12 - IPPROTO_ND = 0x4d - IPPROTO_NHRP = 0x36 - IPPROTO_NONE = 0x3b - IPPROTO_NSP = 0x1f - IPPROTO_NVPII = 0xb - IPPROTO_OLD_DIVERT = 0xfe - IPPROTO_OSPFIGP = 0x59 - IPPROTO_PFSYNC = 0xf0 - IPPROTO_PGM = 0x71 - IPPROTO_PIGP = 0x9 - IPPROTO_PIM = 0x67 - IPPROTO_PRM = 0x15 - IPPROTO_PUP = 0xc - IPPROTO_PVP = 0x4b - IPPROTO_RAW = 0xff - IPPROTO_RCCMON = 0xa - IPPROTO_RDP = 0x1b - IPPROTO_RESERVED_253 = 0xfd - IPPROTO_RESERVED_254 = 0xfe - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_RVD = 0x42 - IPPROTO_SATEXPAK = 0x40 - IPPROTO_SATMON = 0x45 - IPPROTO_SCCSP = 0x60 - IPPROTO_SCTP = 0x84 - IPPROTO_SDRP = 0x2a - IPPROTO_SEND = 0x103 - IPPROTO_SEP = 0x21 - IPPROTO_SHIM6 = 0x8c - IPPROTO_SKIP = 0x39 - IPPROTO_SPACER = 0x7fff - IPPROTO_SRPC = 0x5a - IPPROTO_ST = 0x7 - IPPROTO_SVMTP = 0x52 - IPPROTO_SWIPE = 0x35 - IPPROTO_TCF = 0x57 - IPPROTO_TCP = 0x6 - IPPROTO_TLSP = 0x38 - IPPROTO_TP = 0x1d - IPPROTO_TPXX = 0x27 - IPPROTO_TRUNK1 = 0x17 - IPPROTO_TRUNK2 = 0x18 - IPPROTO_TTP = 0x54 - IPPROTO_UDP = 0x11 - IPPROTO_UDPLITE = 0x88 - IPPROTO_VINES = 0x53 - IPPROTO_VISA = 0x46 - IPPROTO_VMTP = 0x51 - IPPROTO_WBEXPAK = 0x4f - IPPROTO_WBMON = 0x4e - IPPROTO_WSN = 0x4a - IPPROTO_XNET = 0xf - IPPROTO_XTP = 0x24 - IPV6_AUTOFLOWLABEL = 0x3b - IPV6_BINDANY = 0x40 - IPV6_BINDV6ONLY = 0x1b - IPV6_CHECKSUM = 0x1a - IPV6_DEFAULT_MULTICAST_HOPS = 0x1 - IPV6_DEFAULT_MULTICAST_LOOP = 0x1 - IPV6_DEFHLIM = 0x40 - IPV6_DONTFRAG = 0x3e - IPV6_DSTOPTS = 0x32 - IPV6_FAITH = 0x1d - IPV6_FLOWINFO_MASK = 0xffffff0f - IPV6_FLOWLABEL_MASK = 0xffff0f00 - IPV6_FRAGTTL = 0x78 - IPV6_FW_ADD = 0x1e - IPV6_FW_DEL = 0x1f - IPV6_FW_FLUSH = 0x20 - IPV6_FW_GET = 0x22 - IPV6_FW_ZERO = 0x21 - IPV6_HLIMDEC = 0x1 - IPV6_HOPLIMIT = 0x2f - IPV6_HOPOPTS = 0x31 - IPV6_IPSEC_POLICY = 0x1c - IPV6_JOIN_GROUP = 0xc - IPV6_LEAVE_GROUP = 0xd - IPV6_MAXHLIM = 0xff - IPV6_MAXOPTHDR = 0x800 - IPV6_MAXPACKET = 0xffff - IPV6_MAX_GROUP_SRC_FILTER = 0x200 - IPV6_MAX_MEMBERSHIPS = 0xfff - IPV6_MAX_SOCK_SRC_FILTER = 0x80 - IPV6_MIN_MEMBERSHIPS = 0x1f - IPV6_MMTU = 0x500 - IPV6_MSFILTER = 0x4a - IPV6_MULTICAST_HOPS = 0xa - IPV6_MULTICAST_IF = 0x9 - IPV6_MULTICAST_LOOP = 0xb - IPV6_NEXTHOP = 0x30 - IPV6_PATHMTU = 0x2c - IPV6_PKTINFO = 0x2e - IPV6_PORTRANGE = 0xe - IPV6_PORTRANGE_DEFAULT = 0x0 - IPV6_PORTRANGE_HIGH = 0x1 - IPV6_PORTRANGE_LOW = 0x2 - IPV6_PREFER_TEMPADDR = 0x3f - IPV6_RECVDSTOPTS = 0x28 - IPV6_RECVHOPLIMIT = 0x25 - IPV6_RECVHOPOPTS = 0x27 - IPV6_RECVPATHMTU = 0x2b - IPV6_RECVPKTINFO = 0x24 - IPV6_RECVRTHDR = 0x26 - IPV6_RECVTCLASS = 0x39 - IPV6_RTHDR = 0x33 - IPV6_RTHDRDSTOPTS = 0x23 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_SOCKOPT_RESERVED1 = 0x3 - IPV6_TCLASS = 0x3d - IPV6_UNICAST_HOPS = 0x4 - IPV6_USE_MIN_MTU = 0x2a - IPV6_V6ONLY = 0x1b - IPV6_VERSION = 0x60 - IPV6_VERSION_MASK = 0xf0 - IP_ADD_MEMBERSHIP = 0xc - IP_ADD_SOURCE_MEMBERSHIP = 0x46 - IP_BINDANY = 0x18 - IP_BLOCK_SOURCE = 0x48 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DONTFRAG = 0x43 - IP_DROP_MEMBERSHIP = 0xd - IP_DROP_SOURCE_MEMBERSHIP = 0x47 - IP_DUMMYNET3 = 0x31 - IP_DUMMYNET_CONFIGURE = 0x3c - IP_DUMMYNET_DEL = 0x3d - IP_DUMMYNET_FLUSH = 0x3e - IP_DUMMYNET_GET = 0x40 - IP_FAITH = 0x16 - IP_FW3 = 0x30 - IP_FW_ADD = 0x32 - IP_FW_DEL = 0x33 - IP_FW_FLUSH = 0x34 - IP_FW_GET = 0x36 - IP_FW_NAT_CFG = 0x38 - IP_FW_NAT_DEL = 0x39 - IP_FW_NAT_GET_CONFIG = 0x3a - IP_FW_NAT_GET_LOG = 0x3b - IP_FW_RESETLOG = 0x37 - IP_FW_TABLE_ADD = 0x28 - IP_FW_TABLE_DEL = 0x29 - IP_FW_TABLE_FLUSH = 0x2a - IP_FW_TABLE_GETSIZE = 0x2b - IP_FW_TABLE_LIST = 0x2c - IP_FW_ZERO = 0x35 - IP_HDRINCL = 0x2 - IP_IPSEC_POLICY = 0x15 - IP_MAXPACKET = 0xffff - IP_MAX_GROUP_SRC_FILTER = 0x200 - IP_MAX_MEMBERSHIPS = 0xfff - IP_MAX_SOCK_MUTE_FILTER = 0x80 - IP_MAX_SOCK_SRC_FILTER = 0x80 - IP_MAX_SOURCE_FILTER = 0x400 - IP_MF = 0x2000 - IP_MINTTL = 0x42 - IP_MIN_MEMBERSHIPS = 0x1f - IP_MSFILTER = 0x4a - IP_MSS = 0x240 - IP_MULTICAST_IF = 0x9 - IP_MULTICAST_LOOP = 0xb - IP_MULTICAST_TTL = 0xa - IP_MULTICAST_VIF = 0xe - IP_OFFMASK = 0x1fff - IP_ONESBCAST = 0x17 - IP_OPTIONS = 0x1 - IP_PORTRANGE = 0x13 - IP_PORTRANGE_DEFAULT = 0x0 - IP_PORTRANGE_HIGH = 0x1 - IP_PORTRANGE_LOW = 0x2 - IP_RECVDSTADDR = 0x7 - IP_RECVIF = 0x14 - IP_RECVOPTS = 0x5 - IP_RECVRETOPTS = 0x6 - IP_RECVTOS = 0x44 - IP_RECVTTL = 0x41 - IP_RETOPTS = 0x8 - IP_RF = 0x8000 - IP_RSVP_OFF = 0x10 - IP_RSVP_ON = 0xf - IP_RSVP_VIF_OFF = 0x12 - IP_RSVP_VIF_ON = 0x11 - IP_SENDSRCADDR = 0x7 - IP_TOS = 0x3 - IP_TTL = 0x4 - IP_UNBLOCK_SOURCE = 0x49 - ISIG = 0x80 - ISTRIP = 0x20 - IXANY = 0x800 - IXOFF = 0x400 - IXON = 0x200 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_AUTOSYNC = 0x7 - MADV_CORE = 0x9 - MADV_DONTNEED = 0x4 - MADV_FREE = 0x5 - MADV_NOCORE = 0x8 - MADV_NORMAL = 0x0 - MADV_NOSYNC = 0x6 - MADV_PROTECT = 0xa - MADV_RANDOM = 0x1 - MADV_SEQUENTIAL = 0x2 - MADV_WILLNEED = 0x3 - MAP_ALIGNED_SUPER = 0x1000000 - MAP_ALIGNMENT_MASK = -0x1000000 - MAP_ALIGNMENT_SHIFT = 0x18 - MAP_ANON = 0x1000 - MAP_ANONYMOUS = 0x1000 - MAP_COPY = 0x2 - MAP_EXCL = 0x4000 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_HASSEMAPHORE = 0x200 - MAP_NOCORE = 0x20000 - MAP_NORESERVE = 0x40 - MAP_NOSYNC = 0x800 - MAP_PREFAULT_READ = 0x40000 - MAP_PRIVATE = 0x2 - MAP_RENAME = 0x20 - MAP_RESERVED0080 = 0x80 - MAP_RESERVED0100 = 0x100 - MAP_SHARED = 0x1 - MAP_STACK = 0x400 - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MSG_CMSG_CLOEXEC = 0x40000 - MSG_COMPAT = 0x8000 - MSG_CTRUNC = 0x20 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x80 - MSG_EOF = 0x100 - MSG_EOR = 0x8 - MSG_NBIO = 0x4000 - MSG_NOSIGNAL = 0x20000 - MSG_NOTIFICATION = 0x2000 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_TRUNC = 0x10 - MSG_WAITALL = 0x40 - MS_ASYNC = 0x1 - MS_INVALIDATE = 0x2 - MS_SYNC = 0x0 - NAME_MAX = 0xff - NET_RT_DUMP = 0x1 - NET_RT_FLAGS = 0x2 - NET_RT_IFLIST = 0x3 - NET_RT_IFLISTL = 0x5 - NET_RT_IFMALIST = 0x4 - NET_RT_MAXID = 0x6 - NOFLSH = 0x80000000 - NOTE_ATTRIB = 0x8 - NOTE_CHILD = 0x4 - NOTE_DELETE = 0x1 - NOTE_EXEC = 0x20000000 - NOTE_EXIT = 0x80000000 - NOTE_EXTEND = 0x4 - NOTE_FFAND = 0x40000000 - NOTE_FFCOPY = 0xc0000000 - NOTE_FFCTRLMASK = 0xc0000000 - NOTE_FFLAGSMASK = 0xffffff - NOTE_FFNOP = 0x0 - NOTE_FFOR = 0x80000000 - NOTE_FORK = 0x40000000 - NOTE_LINK = 0x10 - NOTE_LOWAT = 0x1 - NOTE_PCTRLMASK = 0xf0000000 - NOTE_PDATAMASK = 0xfffff - NOTE_RENAME = 0x20 - NOTE_REVOKE = 0x40 - NOTE_TRACK = 0x1 - NOTE_TRACKERR = 0x2 - NOTE_TRIGGER = 0x1000000 - NOTE_WRITE = 0x2 - OCRNL = 0x10 - ONLCR = 0x2 - ONLRET = 0x40 - ONOCR = 0x20 - ONOEOT = 0x8 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_APPEND = 0x8 - O_ASYNC = 0x40 - O_CLOEXEC = 0x100000 - O_CREAT = 0x200 - O_DIRECT = 0x10000 - O_DIRECTORY = 0x20000 - O_EXCL = 0x800 - O_EXEC = 0x40000 - O_EXLOCK = 0x20 - O_FSYNC = 0x80 - O_NDELAY = 0x4 - O_NOCTTY = 0x8000 - O_NOFOLLOW = 0x100 - O_NONBLOCK = 0x4 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_SHLOCK = 0x10 - O_SYNC = 0x80 - O_TRUNC = 0x400 - O_TTY_INIT = 0x80000 - O_WRONLY = 0x1 - PARENB = 0x1000 - PARMRK = 0x8 - PARODD = 0x2000 - PENDIN = 0x20000000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - RLIMIT_AS = 0xa - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_NOFILE = 0x8 - RLIMIT_STACK = 0x3 - RLIM_INFINITY = 0x7fffffffffffffff - RTAX_AUTHOR = 0x6 - RTAX_BRD = 0x7 - RTAX_DST = 0x0 - RTAX_GATEWAY = 0x1 - RTAX_GENMASK = 0x3 - RTAX_IFA = 0x5 - RTAX_IFP = 0x4 - RTAX_MAX = 0x8 - RTAX_NETMASK = 0x2 - RTA_AUTHOR = 0x40 - RTA_BRD = 0x80 - RTA_DST = 0x1 - RTA_GATEWAY = 0x2 - RTA_GENMASK = 0x8 - RTA_IFA = 0x20 - RTA_IFP = 0x10 - RTA_NETMASK = 0x4 - RTF_BLACKHOLE = 0x1000 - RTF_BROADCAST = 0x400000 - RTF_DONE = 0x40 - RTF_DYNAMIC = 0x10 - RTF_FMASK = 0x1004d808 - RTF_GATEWAY = 0x2 - RTF_GWFLAG_COMPAT = 0x80000000 - RTF_HOST = 0x4 - RTF_LLDATA = 0x400 - RTF_LLINFO = 0x400 - RTF_LOCAL = 0x200000 - RTF_MODIFIED = 0x20 - RTF_MULTICAST = 0x800000 - RTF_PINNED = 0x100000 - RTF_PRCLONING = 0x10000 - RTF_PROTO1 = 0x8000 - RTF_PROTO2 = 0x4000 - RTF_PROTO3 = 0x40000 - RTF_REJECT = 0x8 - RTF_RNH_LOCKED = 0x40000000 - RTF_STATIC = 0x800 - RTF_STICKY = 0x10000000 - RTF_UP = 0x1 - RTF_XRESOLVE = 0x200 - RTM_ADD = 0x1 - RTM_CHANGE = 0x3 - RTM_DELADDR = 0xd - RTM_DELETE = 0x2 - RTM_DELMADDR = 0x10 - RTM_GET = 0x4 - RTM_IEEE80211 = 0x12 - RTM_IFANNOUNCE = 0x11 - RTM_IFINFO = 0xe - RTM_LOCK = 0x8 - RTM_LOSING = 0x5 - RTM_MISS = 0x7 - RTM_NEWADDR = 0xc - RTM_NEWMADDR = 0xf - RTM_OLDADD = 0x9 - RTM_OLDDEL = 0xa - RTM_REDIRECT = 0x6 - RTM_RESOLVE = 0xb - RTM_RTTUNIT = 0xf4240 - RTM_VERSION = 0x5 - RTV_EXPIRE = 0x4 - RTV_HOPCOUNT = 0x2 - RTV_MTU = 0x1 - RTV_RPIPE = 0x8 - RTV_RTT = 0x40 - RTV_RTTVAR = 0x80 - RTV_SPIPE = 0x10 - RTV_SSTHRESH = 0x20 - RTV_WEIGHT = 0x100 - RT_ALL_FIBS = -0x1 - RT_CACHING_CONTEXT = 0x1 - RT_DEFAULT_FIB = 0x0 - RT_NORTREF = 0x2 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - RUSAGE_THREAD = 0x1 - SCM_BINTIME = 0x4 - SCM_CREDS = 0x3 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x2 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDMULTI = 0x80206931 - SIOCADDRT = 0x8030720a - SIOCAIFADDR = 0x8040691a - SIOCAIFGROUP = 0x80246987 - SIOCALIFADDR = 0x8118691b - SIOCATMARK = 0x40047307 - SIOCDELMULTI = 0x80206932 - SIOCDELRT = 0x8030720b - SIOCDIFADDR = 0x80206919 - SIOCDIFGROUP = 0x80246989 - SIOCDIFPHYADDR = 0x80206949 - SIOCDLIFADDR = 0x8118691d - SIOCGDRVSPEC = 0xc01c697b - SIOCGETSGCNT = 0xc0147210 - SIOCGETVIFCNT = 0xc014720f - SIOCGHIWAT = 0x40047301 - SIOCGIFADDR = 0xc0206921 - SIOCGIFBRDADDR = 0xc0206923 - SIOCGIFCAP = 0xc020691f - SIOCGIFCONF = 0xc0086924 - SIOCGIFDESCR = 0xc020692a - SIOCGIFDSTADDR = 0xc0206922 - SIOCGIFFIB = 0xc020695c - SIOCGIFFLAGS = 0xc0206911 - SIOCGIFGENERIC = 0xc020693a - SIOCGIFGMEMB = 0xc024698a - SIOCGIFGROUP = 0xc0246988 - SIOCGIFINDEX = 0xc0206920 - SIOCGIFMAC = 0xc0206926 - SIOCGIFMEDIA = 0xc0286938 - SIOCGIFMETRIC = 0xc0206917 - SIOCGIFMTU = 0xc0206933 - SIOCGIFNETMASK = 0xc0206925 - SIOCGIFPDSTADDR = 0xc0206948 - SIOCGIFPHYS = 0xc0206935 - SIOCGIFPSRCADDR = 0xc0206947 - SIOCGIFSTATUS = 0xc331693b - SIOCGLIFADDR = 0xc118691c - SIOCGLIFPHYADDR = 0xc118694b - SIOCGLOWAT = 0x40047303 - SIOCGPGRP = 0x40047309 - SIOCGPRIVATE_0 = 0xc0206950 - SIOCGPRIVATE_1 = 0xc0206951 - SIOCIFCREATE = 0xc020697a - SIOCIFCREATE2 = 0xc020697c - SIOCIFDESTROY = 0x80206979 - SIOCIFGCLONERS = 0xc00c6978 - SIOCSDRVSPEC = 0x801c697b - SIOCSHIWAT = 0x80047300 - SIOCSIFADDR = 0x8020690c - SIOCSIFBRDADDR = 0x80206913 - SIOCSIFCAP = 0x8020691e - SIOCSIFDESCR = 0x80206929 - SIOCSIFDSTADDR = 0x8020690e - SIOCSIFFIB = 0x8020695d - SIOCSIFFLAGS = 0x80206910 - SIOCSIFGENERIC = 0x80206939 - SIOCSIFLLADDR = 0x8020693c - SIOCSIFMAC = 0x80206927 - SIOCSIFMEDIA = 0xc0206937 - SIOCSIFMETRIC = 0x80206918 - SIOCSIFMTU = 0x80206934 - SIOCSIFNAME = 0x80206928 - SIOCSIFNETMASK = 0x80206916 - SIOCSIFPHYADDR = 0x80406946 - SIOCSIFPHYS = 0x80206936 - SIOCSIFRVNET = 0xc020695b - SIOCSIFVNET = 0xc020695a - SIOCSLIFPHYADDR = 0x8118694a - SIOCSLOWAT = 0x80047302 - SIOCSPGRP = 0x80047308 - SOCK_CLOEXEC = 0x10000000 - SOCK_DGRAM = 0x2 - SOCK_MAXADDRLEN = 0xff - SOCK_NONBLOCK = 0x20000000 - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x1 - SOL_SOCKET = 0xffff - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x2 - SO_ACCEPTFILTER = 0x1000 - SO_BINTIME = 0x2000 - SO_BROADCAST = 0x20 - SO_DEBUG = 0x1 - SO_DONTROUTE = 0x10 - SO_ERROR = 0x1007 - SO_KEEPALIVE = 0x8 - SO_LABEL = 0x1009 - SO_LINGER = 0x80 - SO_LISTENINCQLEN = 0x1013 - SO_LISTENQLEN = 0x1012 - SO_LISTENQLIMIT = 0x1011 - SO_NOSIGPIPE = 0x800 - SO_NO_DDP = 0x8000 - SO_NO_OFFLOAD = 0x4000 - SO_OOBINLINE = 0x100 - SO_PEERLABEL = 0x1010 - SO_PROTOCOL = 0x1016 - SO_PROTOTYPE = 0x1016 - SO_RCVBUF = 0x1002 - SO_RCVLOWAT = 0x1004 - SO_RCVTIMEO = 0x1006 - SO_REUSEADDR = 0x4 - SO_REUSEPORT = 0x200 - SO_SETFIB = 0x1014 - SO_SNDBUF = 0x1001 - SO_SNDLOWAT = 0x1003 - SO_SNDTIMEO = 0x1005 - SO_TIMESTAMP = 0x400 - SO_TYPE = 0x1008 - SO_USELOOPBACK = 0x40 - SO_USER_COOKIE = 0x1015 - SO_VENDOR = 0x80000000 - TCIFLUSH = 0x1 - TCIOFLUSH = 0x3 - TCOFLUSH = 0x2 - TCP_CA_NAME_MAX = 0x10 - TCP_CONGESTION = 0x40 - TCP_INFO = 0x20 - TCP_KEEPCNT = 0x400 - TCP_KEEPIDLE = 0x100 - TCP_KEEPINIT = 0x80 - TCP_KEEPINTVL = 0x200 - TCP_MAXBURST = 0x4 - TCP_MAXHLEN = 0x3c - TCP_MAXOLEN = 0x28 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_SACK = 0x4 - TCP_MAX_WINSHIFT = 0xe - TCP_MD5SIG = 0x10 - TCP_MINMSS = 0xd8 - TCP_MSS = 0x218 - TCP_NODELAY = 0x1 - TCP_NOOPT = 0x8 - TCP_NOPUSH = 0x4 - TCP_VENDOR = 0x80000000 - TCSAFLUSH = 0x2 - TIOCCBRK = 0x2000747a - TIOCCDTR = 0x20007478 - TIOCCONS = 0x80047462 - TIOCDRAIN = 0x2000745e - TIOCEXCL = 0x2000740d - TIOCEXT = 0x80047460 - TIOCFLUSH = 0x80047410 - TIOCGDRAINWAIT = 0x40047456 - TIOCGETA = 0x402c7413 - TIOCGETD = 0x4004741a - TIOCGPGRP = 0x40047477 - TIOCGPTN = 0x4004740f - TIOCGSID = 0x40047463 - TIOCGWINSZ = 0x40087468 - TIOCMBIC = 0x8004746b - TIOCMBIS = 0x8004746c - TIOCMGDTRWAIT = 0x4004745a - TIOCMGET = 0x4004746a - TIOCMSDTRWAIT = 0x8004745b - TIOCMSET = 0x8004746d - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DCD = 0x40 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x20007471 - TIOCNXCL = 0x2000740e - TIOCOUTQ = 0x40047473 - TIOCPKT = 0x80047470 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCPTMASTER = 0x2000741c - TIOCSBRK = 0x2000747b - TIOCSCTTY = 0x20007461 - TIOCSDRAINWAIT = 0x80047457 - TIOCSDTR = 0x20007479 - TIOCSETA = 0x802c7414 - TIOCSETAF = 0x802c7416 - TIOCSETAW = 0x802c7415 - TIOCSETD = 0x8004741b - TIOCSIG = 0x2004745f - TIOCSPGRP = 0x80047476 - TIOCSTART = 0x2000746e - TIOCSTAT = 0x20007465 - TIOCSTI = 0x80017472 - TIOCSTOP = 0x2000746f - TIOCSWINSZ = 0x80087467 - TIOCTIMESTAMP = 0x40087459 - TIOCUCNTL = 0x80047466 - TOSTOP = 0x400000 - VDISCARD = 0xf - VDSUSP = 0xb - VEOF = 0x0 - VEOL = 0x1 - VEOL2 = 0x2 - VERASE = 0x3 - VERASE2 = 0x7 - VINTR = 0x8 - VKILL = 0x5 - VLNEXT = 0xe - VMIN = 0x10 - VQUIT = 0x9 - VREPRINT = 0x6 - VSTART = 0xc - VSTATUS = 0x12 - VSTOP = 0xd - VSUSP = 0xa - VTIME = 0x11 - VWERASE = 0x4 - WCONTINUED = 0x4 - WCOREFLAG = 0x80 - WEXITED = 0x10 - WLINUXCLONE = 0x80000000 - WNOHANG = 0x1 - WNOWAIT = 0x8 - WSTOPPED = 0x2 - WTRAPPED = 0x20 - WUNTRACED = 0x2 + AF_APPLETALK = 0x10 + AF_ARP = 0x23 + AF_ATM = 0x1e + AF_BLUETOOTH = 0x24 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1c + AF_INET6_SDP = 0x2a + AF_INET_SDP = 0x28 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x2a + AF_NATM = 0x1d + AF_NETBIOS = 0x6 + AF_NETGRAPH = 0x20 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SCLUSTER = 0x22 + AF_SIP = 0x18 + AF_SLOW = 0x21 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VENDOR00 = 0x27 + AF_VENDOR01 = 0x29 + AF_VENDOR02 = 0x2b + AF_VENDOR03 = 0x2d + AF_VENDOR04 = 0x2f + AF_VENDOR05 = 0x31 + AF_VENDOR06 = 0x33 + AF_VENDOR07 = 0x35 + AF_VENDOR08 = 0x37 + AF_VENDOR09 = 0x39 + AF_VENDOR10 = 0x3b + AF_VENDOR11 = 0x3d + AF_VENDOR12 = 0x3f + AF_VENDOR13 = 0x41 + AF_VENDOR14 = 0x43 + AF_VENDOR15 = 0x45 + AF_VENDOR16 = 0x47 + AF_VENDOR17 = 0x49 + AF_VENDOR18 = 0x4b + AF_VENDOR19 = 0x4d + AF_VENDOR20 = 0x4f + AF_VENDOR21 = 0x51 + AF_VENDOR22 = 0x53 + AF_VENDOR23 = 0x55 + AF_VENDOR24 = 0x57 + AF_VENDOR25 = 0x59 + AF_VENDOR26 = 0x5b + AF_VENDOR27 = 0x5d + AF_VENDOR28 = 0x5f + AF_VENDOR29 = 0x61 + AF_VENDOR30 = 0x63 + AF_VENDOR31 = 0x65 + AF_VENDOR32 = 0x67 + AF_VENDOR33 = 0x69 + AF_VENDOR34 = 0x6b + AF_VENDOR35 = 0x6d + AF_VENDOR36 = 0x6f + AF_VENDOR37 = 0x71 + AF_VENDOR38 = 0x73 + AF_VENDOR39 = 0x75 + AF_VENDOR40 = 0x77 + AF_VENDOR41 = 0x79 + AF_VENDOR42 = 0x7b + AF_VENDOR43 = 0x7d + AF_VENDOR44 = 0x7f + AF_VENDOR45 = 0x81 + AF_VENDOR46 = 0x83 + AF_VENDOR47 = 0x85 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427c + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRECTION = 0x40044276 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0084279 + BIOCGETBUFMODE = 0x4004427d + BIOCGETIF = 0x4020426b + BIOCGETZMAX = 0x4004427f + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4008426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCGTSTAMP = 0x40044283 + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x2000427a + BIOCPROMISC = 0x20004269 + BIOCROTZBUF = 0x400c4280 + BIOCSBLEN = 0xc0044266 + BIOCSDIRECTION = 0x80044277 + BIOCSDLT = 0x80044278 + BIOCSETBUFMODE = 0x8004427e + BIOCSETF = 0x80084267 + BIOCSETFNR = 0x80084282 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x8008427b + BIOCSETZBUF = 0x800c4281 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8008426d + BIOCSSEESENT = 0x80044277 + BIOCSTSTAMP = 0x80044284 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_BUFMODE_BUFFER = 0x1 + BPF_BUFMODE_ZBUF = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_T_BINTIME = 0x2 + BPF_T_BINTIME_FAST = 0x102 + BPF_T_BINTIME_MONOTONIC = 0x202 + BPF_T_BINTIME_MONOTONIC_FAST = 0x302 + BPF_T_FAST = 0x100 + BPF_T_FLAG_MASK = 0x300 + BPF_T_FORMAT_MASK = 0x3 + BPF_T_MICROTIME = 0x0 + BPF_T_MICROTIME_FAST = 0x100 + BPF_T_MICROTIME_MONOTONIC = 0x200 + BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 + BPF_T_MONOTONIC = 0x200 + BPF_T_MONOTONIC_FAST = 0x300 + BPF_T_NANOTIME = 0x1 + BPF_T_NANOTIME_FAST = 0x101 + BPF_T_NANOTIME_MONOTONIC = 0x201 + BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 + BPF_T_NONE = 0x3 + BPF_T_NORMAL = 0x0 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + CAP_ACCEPT = 0x200000020000000 + CAP_ACL_CHECK = 0x400000000010000 + CAP_ACL_DELETE = 0x400000000020000 + CAP_ACL_GET = 0x400000000040000 + CAP_ACL_SET = 0x400000000080000 + CAP_ALL0 = 0x20007ffffffffff + CAP_ALL1 = 0x4000000001fffff + CAP_BIND = 0x200000040000000 + CAP_BINDAT = 0x200008000000400 + CAP_CHFLAGSAT = 0x200000000001400 + CAP_CONNECT = 0x200000080000000 + CAP_CONNECTAT = 0x200010000000400 + CAP_CREATE = 0x200000000000040 + CAP_EVENT = 0x400000000000020 + CAP_EXTATTR_DELETE = 0x400000000001000 + CAP_EXTATTR_GET = 0x400000000002000 + CAP_EXTATTR_LIST = 0x400000000004000 + CAP_EXTATTR_SET = 0x400000000008000 + CAP_FCHDIR = 0x200000000000800 + CAP_FCHFLAGS = 0x200000000001000 + CAP_FCHMOD = 0x200000000002000 + CAP_FCHMODAT = 0x200000000002400 + CAP_FCHOWN = 0x200000000004000 + CAP_FCHOWNAT = 0x200000000004400 + CAP_FCNTL = 0x200000000008000 + CAP_FCNTL_ALL = 0x78 + CAP_FCNTL_GETFL = 0x8 + CAP_FCNTL_GETOWN = 0x20 + CAP_FCNTL_SETFL = 0x10 + CAP_FCNTL_SETOWN = 0x40 + CAP_FEXECVE = 0x200000000000080 + CAP_FLOCK = 0x200000000010000 + CAP_FPATHCONF = 0x200000000020000 + CAP_FSCK = 0x200000000040000 + CAP_FSTAT = 0x200000000080000 + CAP_FSTATAT = 0x200000000080400 + CAP_FSTATFS = 0x200000000100000 + CAP_FSYNC = 0x200000000000100 + CAP_FTRUNCATE = 0x200000000000200 + CAP_FUTIMES = 0x200000000200000 + CAP_FUTIMESAT = 0x200000000200400 + CAP_GETPEERNAME = 0x200000100000000 + CAP_GETSOCKNAME = 0x200000200000000 + CAP_GETSOCKOPT = 0x200000400000000 + CAP_IOCTL = 0x400000000000080 + CAP_IOCTLS_ALL = 0x7fffffff + CAP_KQUEUE = 0x400000000100040 + CAP_KQUEUE_CHANGE = 0x400000000100000 + CAP_KQUEUE_EVENT = 0x400000000000040 + CAP_LINKAT_SOURCE = 0x200020000000400 + CAP_LINKAT_TARGET = 0x200000000400400 + CAP_LISTEN = 0x200000800000000 + CAP_LOOKUP = 0x200000000000400 + CAP_MAC_GET = 0x400000000000001 + CAP_MAC_SET = 0x400000000000002 + CAP_MKDIRAT = 0x200000000800400 + CAP_MKFIFOAT = 0x200000001000400 + CAP_MKNODAT = 0x200000002000400 + CAP_MMAP = 0x200000000000010 + CAP_MMAP_R = 0x20000000000001d + CAP_MMAP_RW = 0x20000000000001f + CAP_MMAP_RWX = 0x20000000000003f + CAP_MMAP_RX = 0x20000000000003d + CAP_MMAP_W = 0x20000000000001e + CAP_MMAP_WX = 0x20000000000003e + CAP_MMAP_X = 0x20000000000003c + CAP_PDGETPID = 0x400000000000200 + CAP_PDKILL = 0x400000000000800 + CAP_PDWAIT = 0x400000000000400 + CAP_PEELOFF = 0x200001000000000 + CAP_POLL_EVENT = 0x400000000000020 + CAP_PREAD = 0x20000000000000d + CAP_PWRITE = 0x20000000000000e + CAP_READ = 0x200000000000001 + CAP_RECV = 0x200000000000001 + CAP_RENAMEAT_SOURCE = 0x200000004000400 + CAP_RENAMEAT_TARGET = 0x200040000000400 + CAP_RIGHTS_VERSION = 0x0 + CAP_RIGHTS_VERSION_00 = 0x0 + CAP_SEEK = 0x20000000000000c + CAP_SEEK_TELL = 0x200000000000004 + CAP_SEM_GETVALUE = 0x400000000000004 + CAP_SEM_POST = 0x400000000000008 + CAP_SEM_WAIT = 0x400000000000010 + CAP_SEND = 0x200000000000002 + CAP_SETSOCKOPT = 0x200002000000000 + CAP_SHUTDOWN = 0x200004000000000 + CAP_SOCK_CLIENT = 0x200007780000003 + CAP_SOCK_SERVER = 0x200007f60000003 + CAP_SYMLINKAT = 0x200000008000400 + CAP_TTYHOOK = 0x400000000000100 + CAP_UNLINKAT = 0x200000010000400 + CAP_UNUSED0_44 = 0x200080000000000 + CAP_UNUSED0_57 = 0x300000000000000 + CAP_UNUSED1_22 = 0x400000000200000 + CAP_UNUSED1_57 = 0x500000000000000 + CAP_WRITE = 0x200000000000002 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x4 + CLOCK_MONOTONIC_FAST = 0xc + CLOCK_MONOTONIC_PRECISE = 0xb + CLOCK_PROCESS_CPUTIME_ID = 0xf + CLOCK_PROF = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_FAST = 0xa + CLOCK_REALTIME_PRECISE = 0x9 + CLOCK_SECOND = 0xd + CLOCK_THREAD_CPUTIME_ID = 0xe + CLOCK_UPTIME = 0x5 + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_MAXNAME = 0x18 + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_BREDR_BB = 0xff + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_BLUETOOTH_LE_LL = 0xfb + DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 + DLT_BLUETOOTH_LINUX_MONITOR = 0xfe + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_EPON = 0x103 + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_INFINIBAND = 0xf7 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPMI_HPM_2 = 0x104 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0x104 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NETLINK = 0xfd + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x79 + DLT_PKTAP = 0x102 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PROFIBUS_DL = 0x101 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_RTAC_SERIAL = 0xfa + DLT_SCCP = 0x8e + DLT_SCTP = 0xf8 + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USBPCAP = 0xf9 + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_WIRESHARK_UPPER_PDU = 0xfc + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_FS = -0x9 + EVFILT_LIO = -0xa + EVFILT_PROC = -0x5 + EVFILT_PROCDESC = -0x8 + EVFILT_READ = -0x1 + EVFILT_SENDFILE = -0xc + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xc + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xb + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DROP = 0x1000 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_FLAG2 = 0x4000 + EV_FORCEONESHOT = 0x100 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_NAMESPACE_EMPTY = 0x0 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_CANCEL = 0x5 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xb + F_GETOWN = 0x5 + F_OGETLK = 0x7 + F_OK = 0x0 + F_OSETLK = 0x8 + F_OSETLKW = 0x9 + F_RDAHEAD = 0x10 + F_RDLCK = 0x1 + F_READAHEAD = 0xf + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0xc + F_SETLKW = 0xd + F_SETLK_REMOTE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_UNLCKSYS = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x218f52 + IFF_CANTCONFIG = 0x10000 + IFF_DEBUG = 0x4 + IFF_DRV_OACTIVE = 0x400 + IFF_DRV_RUNNING = 0x40 + IFF_DYING = 0x200000 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MONITOR = 0x40000 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PPROMISC = 0x20000 + IFF_PROMISC = 0x100 + IFF_RENAMING = 0x400000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x80000 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_IEEE1394 = 0x90 + IFT_INFINIBAND = 0xc7 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_PPP = 0x17 + IFT_PROPVIRTUAL = 0x35 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_MASK = 0xfffffffe + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CARP = 0x70 + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HIP = 0x8b + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MEAS = 0x13 + IPPROTO_MH = 0x87 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OLD_DIVERT = 0xfe + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_RESERVED_253 = 0xfd + IPPROTO_RESERVED_254 = 0xfe + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEND = 0x103 + IPPROTO_SEP = 0x21 + IPPROTO_SHIM6 = 0x8c + IPPROTO_SKIP = 0x39 + IPPROTO_SPACER = 0x7fff + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TLSP = 0x38 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDANY = 0x40 + IPV6_BINDMULTI = 0x41 + IPV6_BINDV6ONLY = 0x1b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FLOWID = 0x43 + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOWTYPE = 0x44 + IPV6_FRAGTTL = 0x78 + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_PREFER_TEMPADDR = 0x3f + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVFLOWID = 0x46 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRSSBUCKETID = 0x47 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RSSBUCKETID = 0x45 + IPV6_RSS_LISTEN_BUCKET = 0x42 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BINDANY = 0x18 + IP_BINDMULTI = 0x19 + IP_BLOCK_SOURCE = 0x48 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DONTFRAG = 0x43 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET3 = 0x31 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FLOWID = 0x5a + IP_FLOWTYPE = 0x5b + IP_FW3 = 0x30 + IP_FW_ADD = 0x32 + IP_FW_DEL = 0x33 + IP_FW_FLUSH = 0x34 + IP_FW_GET = 0x36 + IP_FW_NAT_CFG = 0x38 + IP_FW_NAT_DEL = 0x39 + IP_FW_NAT_GET_CONFIG = 0x3a + IP_FW_NAT_GET_LOG = 0x3b + IP_FW_RESETLOG = 0x37 + IP_FW_TABLE_ADD = 0x28 + IP_FW_TABLE_DEL = 0x29 + IP_FW_TABLE_FLUSH = 0x2a + IP_FW_TABLE_GETSIZE = 0x2b + IP_FW_TABLE_LIST = 0x2c + IP_FW_ZERO = 0x35 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MAX_SOURCE_FILTER = 0x400 + IP_MF = 0x2000 + IP_MINTTL = 0x42 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_OFFMASK = 0x1fff + IP_ONESBCAST = 0x17 + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVFLOWID = 0x5d + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRSSBUCKETID = 0x5e + IP_RECVTOS = 0x44 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSSBUCKETID = 0x5c + IP_RSS_LISTEN_BUCKET = 0x1a + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_AUTOSYNC = 0x7 + MADV_CORE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_NOCORE = 0x8 + MADV_NORMAL = 0x0 + MADV_NOSYNC = 0x6 + MADV_PROTECT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MAP_ALIGNED_SUPER = 0x1000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_EXCL = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_NOCORE = 0x20000 + MAP_NOSYNC = 0x800 + MAP_PREFAULT_READ = 0x40000 + MAP_PRIVATE = 0x2 + MAP_RESERVED0020 = 0x20 + MAP_RESERVED0040 = 0x40 + MAP_RESERVED0080 = 0x80 + MAP_RESERVED0100 = 0x100 + MAP_SHARED = 0x1 + MAP_STACK = 0x400 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MSG_CMSG_CLOEXEC = 0x40000 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_NBIO = 0x4000 + MSG_NOSIGNAL = 0x20000 + MSG_NOTIFICATION = 0x2000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x80000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLISTL = 0x5 + NET_RT_IFMALIST = 0x4 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_CLOSE = 0x100 + NOTE_CLOSE_WRITE = 0x200 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FILE_POLL = 0x2 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MSECONDS = 0x2 + NOTE_NSECONDS = 0x8 + NOTE_OPEN = 0x80 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_READ = 0x400 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x4 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x100000 + O_CREAT = 0x200 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x20000 + O_EXCL = 0x800 + O_EXEC = 0x40000 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_TTY_INIT = 0x80000 + O_VERIFY = 0x200000 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FIXEDMTU = 0x80000 + RTF_FMASK = 0x1004d808 + RTF_GATEWAY = 0x2 + RTF_GWFLAG_COMPAT = 0x80000000 + RTF_HOST = 0x4 + RTF_LLDATA = 0x400 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_PINNED = 0x100000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_RNH_LOCKED = 0x40000000 + RTF_STATIC = 0x800 + RTF_STICKY = 0x10000000 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x12 + RTM_IFANNOUNCE = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RTV_WEIGHT = 0x100 + RT_ALL_FIBS = -0x1 + RT_BLACKHOLE = 0x40 + RT_CACHING_CONTEXT = 0x1 + RT_DEFAULT_FIB = 0x0 + RT_HAS_GW = 0x80 + RT_HAS_HEADER = 0x10 + RT_HAS_HEADER_BIT = 0x4 + RT_L2_ME = 0x4 + RT_L2_ME_BIT = 0x2 + RT_LLE_CACHE = 0x100 + RT_MAY_LOOP = 0x8 + RT_MAY_LOOP_BIT = 0x3 + RT_NORTREF = 0x2 + RT_REJECT = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_BINTIME = 0x4 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80246987 + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80246989 + SIOCDIFPHYADDR = 0x80206949 + SIOCGDRVSPEC = 0xc01c697b + SIOCGETSGCNT = 0xc0147210 + SIOCGETVIFCNT = 0xc014720f + SIOCGHIWAT = 0x40047301 + SIOCGI2C = 0xc020693d + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0086924 + SIOCGIFDESCR = 0xc020692a + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFIB = 0xc020695c + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc024698a + SIOCGIFGROUP = 0xc0246988 + SIOCGIFINDEX = 0xc0206920 + SIOCGIFMAC = 0xc0206926 + SIOCGIFMEDIA = 0xc0286938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFXMEDIA = 0xc028698b + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGPRIVATE_0 = 0xc0206950 + SIOCGPRIVATE_1 = 0xc0206951 + SIOCGTUNFIB = 0xc020695e + SIOCIFCREATE = 0xc020697a + SIOCIFCREATE2 = 0xc020697c + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCSDRVSPEC = 0x801c697b + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020691e + SIOCSIFDESCR = 0x80206929 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFIB = 0x8020695d + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206927 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNAME = 0x80206928 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPHYS = 0x80206936 + SIOCSIFRVNET = 0xc020695b + SIOCSIFVNET = 0xc020695a + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSTUNFIB = 0x8020695f + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_NONBLOCK = 0x20000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BINTIME = 0x2000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1009 + SO_LINGER = 0x80 + SO_LISTENINCQLEN = 0x1013 + SO_LISTENQLEN = 0x1012 + SO_LISTENQLIMIT = 0x1011 + SO_NOSIGPIPE = 0x800 + SO_NO_DDP = 0x8000 + SO_NO_OFFLOAD = 0x4000 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1010 + SO_PROTOCOL = 0x1016 + SO_PROTOTYPE = 0x1016 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SETFIB = 0x1014 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USER_COOKIE = 0x1015 + SO_VENDOR = 0x80000000 + TAB0 = 0x0 + TAB3 = 0x4 + TABDLY = 0x4 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CA_NAME_MAX = 0x10 + TCP_CCALGOOPT = 0x41 + TCP_CONGESTION = 0x40 + TCP_FASTOPEN = 0x401 + TCP_FUNCTION_BLK = 0x2000 + TCP_FUNCTION_NAME_LEN_MAX = 0x20 + TCP_INFO = 0x20 + TCP_KEEPCNT = 0x400 + TCP_KEEPIDLE = 0x100 + TCP_KEEPINIT = 0x80 + TCP_KEEPINTVL = 0x200 + TCP_MAXBURST = 0x4 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_PCAP_IN = 0x1000 + TCP_PCAP_OUT = 0x800 + TCP_VENDOR = 0x80000000 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGPTN = 0x4004740f + TIOCGSID = 0x40047463 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DCD = 0x40 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMASTER = 0x2000741c + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40087459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + WEXITED = 0x10 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 + WNOWAIT = 0x8 + WSTOPPED = 0x2 + WTRAPPED = 0x20 + WUNTRACED = 0x2 ) // Errors diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go index 2afbe2d5e..c5c6f13e5 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go +++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go @@ -1,5 +1,5 @@ // mkerrors.sh -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT +// Code generated by the command above; see README.md. DO NOT EDIT. // +build arm,freebsd @@ -11,1442 +11,1428 @@ package unix import "syscall" const ( - AF_APPLETALK = 0x10 - AF_ARP = 0x23 - AF_ATM = 0x1e - AF_BLUETOOTH = 0x24 - AF_CCITT = 0xa - AF_CHAOS = 0x5 - AF_CNT = 0x15 - AF_COIP = 0x14 - AF_DATAKIT = 0x9 - AF_DECnet = 0xc - AF_DLI = 0xd - AF_E164 = 0x1a - AF_ECMA = 0x8 - AF_HYLINK = 0xf - AF_IEEE80211 = 0x25 - AF_IMPLINK = 0x3 - AF_INET = 0x2 - AF_INET6 = 0x1c - AF_INET6_SDP = 0x2a - AF_INET_SDP = 0x28 - AF_IPX = 0x17 - AF_ISDN = 0x1a - AF_ISO = 0x7 - AF_LAT = 0xe - AF_LINK = 0x12 - AF_LOCAL = 0x1 - AF_MAX = 0x2a - AF_NATM = 0x1d - AF_NETBIOS = 0x6 - AF_NETGRAPH = 0x20 - AF_OSI = 0x7 - AF_PUP = 0x4 - AF_ROUTE = 0x11 - AF_SCLUSTER = 0x22 - AF_SIP = 0x18 - AF_SLOW = 0x21 - AF_SNA = 0xb - AF_UNIX = 0x1 - AF_UNSPEC = 0x0 - AF_VENDOR00 = 0x27 - AF_VENDOR01 = 0x29 - AF_VENDOR02 = 0x2b - AF_VENDOR03 = 0x2d - AF_VENDOR04 = 0x2f - AF_VENDOR05 = 0x31 - AF_VENDOR06 = 0x33 - AF_VENDOR07 = 0x35 - AF_VENDOR08 = 0x37 - AF_VENDOR09 = 0x39 - AF_VENDOR10 = 0x3b - AF_VENDOR11 = 0x3d - AF_VENDOR12 = 0x3f - AF_VENDOR13 = 0x41 - AF_VENDOR14 = 0x43 - AF_VENDOR15 = 0x45 - AF_VENDOR16 = 0x47 - AF_VENDOR17 = 0x49 - AF_VENDOR18 = 0x4b - AF_VENDOR19 = 0x4d - AF_VENDOR20 = 0x4f - AF_VENDOR21 = 0x51 - AF_VENDOR22 = 0x53 - AF_VENDOR23 = 0x55 - AF_VENDOR24 = 0x57 - AF_VENDOR25 = 0x59 - AF_VENDOR26 = 0x5b - AF_VENDOR27 = 0x5d - AF_VENDOR28 = 0x5f - AF_VENDOR29 = 0x61 - AF_VENDOR30 = 0x63 - AF_VENDOR31 = 0x65 - AF_VENDOR32 = 0x67 - AF_VENDOR33 = 0x69 - AF_VENDOR34 = 0x6b - AF_VENDOR35 = 0x6d - AF_VENDOR36 = 0x6f - AF_VENDOR37 = 0x71 - AF_VENDOR38 = 0x73 - AF_VENDOR39 = 0x75 - AF_VENDOR40 = 0x77 - AF_VENDOR41 = 0x79 - AF_VENDOR42 = 0x7b - AF_VENDOR43 = 0x7d - AF_VENDOR44 = 0x7f - AF_VENDOR45 = 0x81 - AF_VENDOR46 = 0x83 - AF_VENDOR47 = 0x85 - B0 = 0x0 - B110 = 0x6e - B115200 = 0x1c200 - B1200 = 0x4b0 - B134 = 0x86 - B14400 = 0x3840 - B150 = 0x96 - B1800 = 0x708 - B19200 = 0x4b00 - B200 = 0xc8 - B230400 = 0x38400 - B2400 = 0x960 - B28800 = 0x7080 - B300 = 0x12c - B38400 = 0x9600 - B460800 = 0x70800 - B4800 = 0x12c0 - B50 = 0x32 - B57600 = 0xe100 - B600 = 0x258 - B7200 = 0x1c20 - B75 = 0x4b - B76800 = 0x12c00 - B921600 = 0xe1000 - B9600 = 0x2580 - BIOCFEEDBACK = 0x8004427c - BIOCFLUSH = 0x20004268 - BIOCGBLEN = 0x40044266 - BIOCGDIRECTION = 0x40044276 - BIOCGDLT = 0x4004426a - BIOCGDLTLIST = 0xc0084279 - BIOCGETBUFMODE = 0x4004427d - BIOCGETIF = 0x4020426b - BIOCGETZMAX = 0x4004427f - BIOCGHDRCMPLT = 0x40044274 - BIOCGRSIG = 0x40044272 - BIOCGRTIMEOUT = 0x4008426e - BIOCGSEESENT = 0x40044276 - BIOCGSTATS = 0x4008426f - BIOCGTSTAMP = 0x40044283 - BIOCIMMEDIATE = 0x80044270 - BIOCLOCK = 0x2000427a - BIOCPROMISC = 0x20004269 - BIOCROTZBUF = 0x400c4280 - BIOCSBLEN = 0xc0044266 - BIOCSDIRECTION = 0x80044277 - BIOCSDLT = 0x80044278 - BIOCSETBUFMODE = 0x8004427e - BIOCSETF = 0x80084267 - BIOCSETFNR = 0x80084282 - BIOCSETIF = 0x8020426c - BIOCSETWF = 0x8008427b - BIOCSETZBUF = 0x800c4281 - BIOCSHDRCMPLT = 0x80044275 - BIOCSRSIG = 0x80044273 - BIOCSRTIMEOUT = 0x8008426d - BIOCSSEESENT = 0x80044277 - BIOCSTSTAMP = 0x80044284 - BIOCVERSION = 0x40044271 - BPF_A = 0x10 - BPF_ABS = 0x20 - BPF_ADD = 0x0 - BPF_ALIGNMENT = 0x4 - BPF_ALU = 0x4 - BPF_AND = 0x50 - BPF_B = 0x10 - BPF_BUFMODE_BUFFER = 0x1 - BPF_BUFMODE_ZBUF = 0x2 - BPF_DIV = 0x30 - BPF_H = 0x8 - BPF_IMM = 0x0 - BPF_IND = 0x40 - BPF_JA = 0x0 - BPF_JEQ = 0x10 - BPF_JGE = 0x30 - BPF_JGT = 0x20 - BPF_JMP = 0x5 - BPF_JSET = 0x40 - BPF_K = 0x0 - BPF_LD = 0x0 - BPF_LDX = 0x1 - BPF_LEN = 0x80 - BPF_LSH = 0x60 - BPF_MAJOR_VERSION = 0x1 - BPF_MAXBUFSIZE = 0x80000 - BPF_MAXINSNS = 0x200 - BPF_MEM = 0x60 - BPF_MEMWORDS = 0x10 - BPF_MINBUFSIZE = 0x20 - BPF_MINOR_VERSION = 0x1 - BPF_MISC = 0x7 - BPF_MSH = 0xa0 - BPF_MUL = 0x20 - BPF_NEG = 0x80 - BPF_OR = 0x40 - BPF_RELEASE = 0x30bb6 - BPF_RET = 0x6 - BPF_RSH = 0x70 - BPF_ST = 0x2 - BPF_STX = 0x3 - BPF_SUB = 0x10 - BPF_TAX = 0x0 - BPF_TXA = 0x80 - BPF_T_BINTIME = 0x2 - BPF_T_BINTIME_FAST = 0x102 - BPF_T_BINTIME_MONOTONIC = 0x202 - BPF_T_BINTIME_MONOTONIC_FAST = 0x302 - BPF_T_FAST = 0x100 - BPF_T_FLAG_MASK = 0x300 - BPF_T_FORMAT_MASK = 0x3 - BPF_T_MICROTIME = 0x0 - BPF_T_MICROTIME_FAST = 0x100 - BPF_T_MICROTIME_MONOTONIC = 0x200 - BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 - BPF_T_MONOTONIC = 0x200 - BPF_T_MONOTONIC_FAST = 0x300 - BPF_T_NANOTIME = 0x1 - BPF_T_NANOTIME_FAST = 0x101 - BPF_T_NANOTIME_MONOTONIC = 0x201 - BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 - BPF_T_NONE = 0x3 - BPF_T_NORMAL = 0x0 - BPF_W = 0x0 - BPF_X = 0x8 - BRKINT = 0x2 - CFLUSH = 0xf - CLOCAL = 0x8000 - CREAD = 0x800 - CS5 = 0x0 - CS6 = 0x100 - CS7 = 0x200 - CS8 = 0x300 - CSIZE = 0x300 - CSTART = 0x11 - CSTATUS = 0x14 - CSTOP = 0x13 - CSTOPB = 0x400 - CSUSP = 0x1a - CTL_MAXNAME = 0x18 - CTL_NET = 0x4 - DLT_A429 = 0xb8 - DLT_A653_ICM = 0xb9 - DLT_AIRONET_HEADER = 0x78 - DLT_AOS = 0xde - DLT_APPLE_IP_OVER_IEEE1394 = 0x8a - DLT_ARCNET = 0x7 - DLT_ARCNET_LINUX = 0x81 - DLT_ATM_CLIP = 0x13 - DLT_ATM_RFC1483 = 0xb - DLT_AURORA = 0x7e - DLT_AX25 = 0x3 - DLT_AX25_KISS = 0xca - DLT_BACNET_MS_TP = 0xa5 - DLT_BLUETOOTH_HCI_H4 = 0xbb - DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 - DLT_CAN20B = 0xbe - DLT_CAN_SOCKETCAN = 0xe3 - DLT_CHAOS = 0x5 - DLT_CHDLC = 0x68 - DLT_CISCO_IOS = 0x76 - DLT_C_HDLC = 0x68 - DLT_C_HDLC_WITH_DIR = 0xcd - DLT_DBUS = 0xe7 - DLT_DECT = 0xdd - DLT_DOCSIS = 0x8f - DLT_DVB_CI = 0xeb - DLT_ECONET = 0x73 - DLT_EN10MB = 0x1 - DLT_EN3MB = 0x2 - DLT_ENC = 0x6d - DLT_ERF = 0xc5 - DLT_ERF_ETH = 0xaf - DLT_ERF_POS = 0xb0 - DLT_FC_2 = 0xe0 - DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 - DLT_FDDI = 0xa - DLT_FLEXRAY = 0xd2 - DLT_FRELAY = 0x6b - DLT_FRELAY_WITH_DIR = 0xce - DLT_GCOM_SERIAL = 0xad - DLT_GCOM_T1E1 = 0xac - DLT_GPF_F = 0xab - DLT_GPF_T = 0xaa - DLT_GPRS_LLC = 0xa9 - DLT_GSMTAP_ABIS = 0xda - DLT_GSMTAP_UM = 0xd9 - DLT_HHDLC = 0x79 - DLT_IBM_SN = 0x92 - DLT_IBM_SP = 0x91 - DLT_IEEE802 = 0x6 - DLT_IEEE802_11 = 0x69 - DLT_IEEE802_11_RADIO = 0x7f - DLT_IEEE802_11_RADIO_AVS = 0xa3 - DLT_IEEE802_15_4 = 0xc3 - DLT_IEEE802_15_4_LINUX = 0xbf - DLT_IEEE802_15_4_NOFCS = 0xe6 - DLT_IEEE802_15_4_NONASK_PHY = 0xd7 - DLT_IEEE802_16_MAC_CPS = 0xbc - DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 - DLT_IPFILTER = 0x74 - DLT_IPMB = 0xc7 - DLT_IPMB_LINUX = 0xd1 - DLT_IPNET = 0xe2 - DLT_IPOIB = 0xf2 - DLT_IPV4 = 0xe4 - DLT_IPV6 = 0xe5 - DLT_IP_OVER_FC = 0x7a - DLT_JUNIPER_ATM1 = 0x89 - DLT_JUNIPER_ATM2 = 0x87 - DLT_JUNIPER_ATM_CEMIC = 0xee - DLT_JUNIPER_CHDLC = 0xb5 - DLT_JUNIPER_ES = 0x84 - DLT_JUNIPER_ETHER = 0xb2 - DLT_JUNIPER_FIBRECHANNEL = 0xea - DLT_JUNIPER_FRELAY = 0xb4 - DLT_JUNIPER_GGSN = 0x85 - DLT_JUNIPER_ISM = 0xc2 - DLT_JUNIPER_MFR = 0x86 - DLT_JUNIPER_MLFR = 0x83 - DLT_JUNIPER_MLPPP = 0x82 - DLT_JUNIPER_MONITOR = 0xa4 - DLT_JUNIPER_PIC_PEER = 0xae - DLT_JUNIPER_PPP = 0xb3 - DLT_JUNIPER_PPPOE = 0xa7 - DLT_JUNIPER_PPPOE_ATM = 0xa8 - DLT_JUNIPER_SERVICES = 0x88 - DLT_JUNIPER_SRX_E2E = 0xe9 - DLT_JUNIPER_ST = 0xc8 - DLT_JUNIPER_VP = 0xb7 - DLT_JUNIPER_VS = 0xe8 - DLT_LAPB_WITH_DIR = 0xcf - DLT_LAPD = 0xcb - DLT_LIN = 0xd4 - DLT_LINUX_EVDEV = 0xd8 - DLT_LINUX_IRDA = 0x90 - DLT_LINUX_LAPD = 0xb1 - DLT_LINUX_PPP_WITHDIRECTION = 0xa6 - DLT_LINUX_SLL = 0x71 - DLT_LOOP = 0x6c - DLT_LTALK = 0x72 - DLT_MATCHING_MAX = 0xf6 - DLT_MATCHING_MIN = 0x68 - DLT_MFR = 0xb6 - DLT_MOST = 0xd3 - DLT_MPEG_2_TS = 0xf3 - DLT_MPLS = 0xdb - DLT_MTP2 = 0x8c - DLT_MTP2_WITH_PHDR = 0x8b - DLT_MTP3 = 0x8d - DLT_MUX27010 = 0xec - DLT_NETANALYZER = 0xf0 - DLT_NETANALYZER_TRANSPARENT = 0xf1 - DLT_NFC_LLCP = 0xf5 - DLT_NFLOG = 0xef - DLT_NG40 = 0xf4 - DLT_NULL = 0x0 - DLT_PCI_EXP = 0x7d - DLT_PFLOG = 0x75 - DLT_PFSYNC = 0x79 - DLT_PPI = 0xc0 - DLT_PPP = 0x9 - DLT_PPP_BSDOS = 0x10 - DLT_PPP_ETHER = 0x33 - DLT_PPP_PPPD = 0xa6 - DLT_PPP_SERIAL = 0x32 - DLT_PPP_WITH_DIR = 0xcc - DLT_PPP_WITH_DIRECTION = 0xa6 - DLT_PRISM_HEADER = 0x77 - DLT_PRONET = 0x4 - DLT_RAIF1 = 0xc6 - DLT_RAW = 0xc - DLT_RIO = 0x7c - DLT_SCCP = 0x8e - DLT_SITA = 0xc4 - DLT_SLIP = 0x8 - DLT_SLIP_BSDOS = 0xf - DLT_STANAG_5066_D_PDU = 0xed - DLT_SUNATM = 0x7b - DLT_SYMANTEC_FIREWALL = 0x63 - DLT_TZSP = 0x80 - DLT_USB = 0xba - DLT_USB_LINUX = 0xbd - DLT_USB_LINUX_MMAPPED = 0xdc - DLT_USER0 = 0x93 - DLT_USER1 = 0x94 - DLT_USER10 = 0x9d - DLT_USER11 = 0x9e - DLT_USER12 = 0x9f - DLT_USER13 = 0xa0 - DLT_USER14 = 0xa1 - DLT_USER15 = 0xa2 - DLT_USER2 = 0x95 - DLT_USER3 = 0x96 - DLT_USER4 = 0x97 - DLT_USER5 = 0x98 - DLT_USER6 = 0x99 - DLT_USER7 = 0x9a - DLT_USER8 = 0x9b - DLT_USER9 = 0x9c - DLT_WIHART = 0xdf - DLT_X2E_SERIAL = 0xd5 - DLT_X2E_XORAYA = 0xd6 - DT_BLK = 0x6 - DT_CHR = 0x2 - DT_DIR = 0x4 - DT_FIFO = 0x1 - DT_LNK = 0xa - DT_REG = 0x8 - DT_SOCK = 0xc - DT_UNKNOWN = 0x0 - DT_WHT = 0xe - ECHO = 0x8 - ECHOCTL = 0x40 - ECHOE = 0x2 - ECHOK = 0x4 - ECHOKE = 0x1 - ECHONL = 0x10 - ECHOPRT = 0x20 - EVFILT_AIO = -0x3 - EVFILT_FS = -0x9 - EVFILT_LIO = -0xa - EVFILT_PROC = -0x5 - EVFILT_READ = -0x1 - EVFILT_SIGNAL = -0x6 - EVFILT_SYSCOUNT = 0xb - EVFILT_TIMER = -0x7 - EVFILT_USER = -0xb - EVFILT_VNODE = -0x4 - EVFILT_WRITE = -0x2 - EV_ADD = 0x1 - EV_CLEAR = 0x20 - EV_DELETE = 0x2 - EV_DISABLE = 0x8 - EV_DISPATCH = 0x80 - EV_DROP = 0x1000 - EV_ENABLE = 0x4 - EV_EOF = 0x8000 - EV_ERROR = 0x4000 - EV_FLAG1 = 0x2000 - EV_ONESHOT = 0x10 - EV_RECEIPT = 0x40 - EV_SYSFLAGS = 0xf000 - EXTA = 0x4b00 - EXTATTR_NAMESPACE_EMPTY = 0x0 - EXTATTR_NAMESPACE_SYSTEM = 0x2 - EXTATTR_NAMESPACE_USER = 0x1 - EXTB = 0x9600 - EXTPROC = 0x800 - FD_CLOEXEC = 0x1 - FD_SETSIZE = 0x400 - FLUSHO = 0x800000 - F_CANCEL = 0x5 - F_DUP2FD = 0xa - F_DUP2FD_CLOEXEC = 0x12 - F_DUPFD = 0x0 - F_DUPFD_CLOEXEC = 0x11 - F_GETFD = 0x1 - F_GETFL = 0x3 - F_GETLK = 0xb - F_GETOWN = 0x5 - F_OGETLK = 0x7 - F_OK = 0x0 - F_OSETLK = 0x8 - F_OSETLKW = 0x9 - F_RDAHEAD = 0x10 - F_RDLCK = 0x1 - F_READAHEAD = 0xf - F_SETFD = 0x2 - F_SETFL = 0x4 - F_SETLK = 0xc - F_SETLKW = 0xd - F_SETLK_REMOTE = 0xe - F_SETOWN = 0x6 - F_UNLCK = 0x2 - F_UNLCKSYS = 0x4 - F_WRLCK = 0x3 - HUPCL = 0x4000 - ICANON = 0x100 - ICMP6_FILTER = 0x12 - ICRNL = 0x100 - IEXTEN = 0x400 - IFAN_ARRIVAL = 0x0 - IFAN_DEPARTURE = 0x1 - IFF_ALLMULTI = 0x200 - IFF_ALTPHYS = 0x4000 - IFF_BROADCAST = 0x2 - IFF_CANTCHANGE = 0x218f72 - IFF_CANTCONFIG = 0x10000 - IFF_DEBUG = 0x4 - IFF_DRV_OACTIVE = 0x400 - IFF_DRV_RUNNING = 0x40 - IFF_DYING = 0x200000 - IFF_LINK0 = 0x1000 - IFF_LINK1 = 0x2000 - IFF_LINK2 = 0x4000 - IFF_LOOPBACK = 0x8 - IFF_MONITOR = 0x40000 - IFF_MULTICAST = 0x8000 - IFF_NOARP = 0x80 - IFF_OACTIVE = 0x400 - IFF_POINTOPOINT = 0x10 - IFF_PPROMISC = 0x20000 - IFF_PROMISC = 0x100 - IFF_RENAMING = 0x400000 - IFF_RUNNING = 0x40 - IFF_SIMPLEX = 0x800 - IFF_SMART = 0x20 - IFF_STATICARP = 0x80000 - IFF_UP = 0x1 - IFNAMSIZ = 0x10 - IFT_1822 = 0x2 - IFT_A12MPPSWITCH = 0x82 - IFT_AAL2 = 0xbb - IFT_AAL5 = 0x31 - IFT_ADSL = 0x5e - IFT_AFLANE8023 = 0x3b - IFT_AFLANE8025 = 0x3c - IFT_ARAP = 0x58 - IFT_ARCNET = 0x23 - IFT_ARCNETPLUS = 0x24 - IFT_ASYNC = 0x54 - IFT_ATM = 0x25 - IFT_ATMDXI = 0x69 - IFT_ATMFUNI = 0x6a - IFT_ATMIMA = 0x6b - IFT_ATMLOGICAL = 0x50 - IFT_ATMRADIO = 0xbd - IFT_ATMSUBINTERFACE = 0x86 - IFT_ATMVCIENDPT = 0xc2 - IFT_ATMVIRTUAL = 0x95 - IFT_BGPPOLICYACCOUNTING = 0xa2 - IFT_BRIDGE = 0xd1 - IFT_BSC = 0x53 - IFT_CARP = 0xf8 - IFT_CCTEMUL = 0x3d - IFT_CEPT = 0x13 - IFT_CES = 0x85 - IFT_CHANNEL = 0x46 - IFT_CNR = 0x55 - IFT_COFFEE = 0x84 - IFT_COMPOSITELINK = 0x9b - IFT_DCN = 0x8d - IFT_DIGITALPOWERLINE = 0x8a - IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba - IFT_DLSW = 0x4a - IFT_DOCSCABLEDOWNSTREAM = 0x80 - IFT_DOCSCABLEMACLAYER = 0x7f - IFT_DOCSCABLEUPSTREAM = 0x81 - IFT_DS0 = 0x51 - IFT_DS0BUNDLE = 0x52 - IFT_DS1FDL = 0xaa - IFT_DS3 = 0x1e - IFT_DTM = 0x8c - IFT_DVBASILN = 0xac - IFT_DVBASIOUT = 0xad - IFT_DVBRCCDOWNSTREAM = 0x93 - IFT_DVBRCCMACLAYER = 0x92 - IFT_DVBRCCUPSTREAM = 0x94 - IFT_ENC = 0xf4 - IFT_EON = 0x19 - IFT_EPLRS = 0x57 - IFT_ESCON = 0x49 - IFT_ETHER = 0x6 - IFT_FAITH = 0xf2 - IFT_FAST = 0x7d - IFT_FASTETHER = 0x3e - IFT_FASTETHERFX = 0x45 - IFT_FDDI = 0xf - IFT_FIBRECHANNEL = 0x38 - IFT_FRAMERELAYINTERCONNECT = 0x3a - IFT_FRAMERELAYMPI = 0x5c - IFT_FRDLCIENDPT = 0xc1 - IFT_FRELAY = 0x20 - IFT_FRELAYDCE = 0x2c - IFT_FRF16MFRBUNDLE = 0xa3 - IFT_FRFORWARD = 0x9e - IFT_G703AT2MB = 0x43 - IFT_G703AT64K = 0x42 - IFT_GIF = 0xf0 - IFT_GIGABITETHERNET = 0x75 - IFT_GR303IDT = 0xb2 - IFT_GR303RDT = 0xb1 - IFT_H323GATEKEEPER = 0xa4 - IFT_H323PROXY = 0xa5 - IFT_HDH1822 = 0x3 - IFT_HDLC = 0x76 - IFT_HDSL2 = 0xa8 - IFT_HIPERLAN2 = 0xb7 - IFT_HIPPI = 0x2f - IFT_HIPPIINTERFACE = 0x39 - IFT_HOSTPAD = 0x5a - IFT_HSSI = 0x2e - IFT_HY = 0xe - IFT_IBM370PARCHAN = 0x48 - IFT_IDSL = 0x9a - IFT_IEEE1394 = 0x90 - IFT_IEEE80211 = 0x47 - IFT_IEEE80212 = 0x37 - IFT_IEEE8023ADLAG = 0xa1 - IFT_IFGSN = 0x91 - IFT_IMT = 0xbe - IFT_INFINIBAND = 0xc7 - IFT_INTERLEAVE = 0x7c - IFT_IP = 0x7e - IFT_IPFORWARD = 0x8e - IFT_IPOVERATM = 0x72 - IFT_IPOVERCDLC = 0x6d - IFT_IPOVERCLAW = 0x6e - IFT_IPSWITCH = 0x4e - IFT_IPXIP = 0xf9 - IFT_ISDN = 0x3f - IFT_ISDNBASIC = 0x14 - IFT_ISDNPRIMARY = 0x15 - IFT_ISDNS = 0x4b - IFT_ISDNU = 0x4c - IFT_ISO88022LLC = 0x29 - IFT_ISO88023 = 0x7 - IFT_ISO88024 = 0x8 - IFT_ISO88025 = 0x9 - IFT_ISO88025CRFPINT = 0x62 - IFT_ISO88025DTR = 0x56 - IFT_ISO88025FIBER = 0x73 - IFT_ISO88026 = 0xa - IFT_ISUP = 0xb3 - IFT_L2VLAN = 0x87 - IFT_L3IPVLAN = 0x88 - IFT_L3IPXVLAN = 0x89 - IFT_LAPB = 0x10 - IFT_LAPD = 0x4d - IFT_LAPF = 0x77 - IFT_LOCALTALK = 0x2a - IFT_LOOP = 0x18 - IFT_MEDIAMAILOVERIP = 0x8b - IFT_MFSIGLINK = 0xa7 - IFT_MIOX25 = 0x26 - IFT_MODEM = 0x30 - IFT_MPC = 0x71 - IFT_MPLS = 0xa6 - IFT_MPLSTUNNEL = 0x96 - IFT_MSDSL = 0x8f - IFT_MVL = 0xbf - IFT_MYRINET = 0x63 - IFT_NFAS = 0xaf - IFT_NSIP = 0x1b - IFT_OPTICALCHANNEL = 0xc3 - IFT_OPTICALTRANSPORT = 0xc4 - IFT_OTHER = 0x1 - IFT_P10 = 0xc - IFT_P80 = 0xd - IFT_PARA = 0x22 - IFT_PFLOG = 0xf6 - IFT_PFSYNC = 0xf7 - IFT_PLC = 0xae - IFT_POS = 0xab - IFT_PPP = 0x17 - IFT_PPPMULTILINKBUNDLE = 0x6c - IFT_PROPBWAP2MP = 0xb8 - IFT_PROPCNLS = 0x59 - IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 - IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 - IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 - IFT_PROPMUX = 0x36 - IFT_PROPVIRTUAL = 0x35 - IFT_PROPWIRELESSP2P = 0x9d - IFT_PTPSERIAL = 0x16 - IFT_PVC = 0xf1 - IFT_QLLC = 0x44 - IFT_RADIOMAC = 0xbc - IFT_RADSL = 0x5f - IFT_REACHDSL = 0xc0 - IFT_RFC1483 = 0x9f - IFT_RS232 = 0x21 - IFT_RSRB = 0x4f - IFT_SDLC = 0x11 - IFT_SDSL = 0x60 - IFT_SHDSL = 0xa9 - IFT_SIP = 0x1f - IFT_SLIP = 0x1c - IFT_SMDSDXI = 0x2b - IFT_SMDSICIP = 0x34 - IFT_SONET = 0x27 - IFT_SONETOVERHEADCHANNEL = 0xb9 - IFT_SONETPATH = 0x32 - IFT_SONETVT = 0x33 - IFT_SRP = 0x97 - IFT_SS7SIGLINK = 0x9c - IFT_STACKTOSTACK = 0x6f - IFT_STARLAN = 0xb - IFT_STF = 0xd7 - IFT_T1 = 0x12 - IFT_TDLC = 0x74 - IFT_TERMPAD = 0x5b - IFT_TR008 = 0xb0 - IFT_TRANSPHDLC = 0x7b - IFT_TUNNEL = 0x83 - IFT_ULTRA = 0x1d - IFT_USB = 0xa0 - IFT_V11 = 0x40 - IFT_V35 = 0x2d - IFT_V36 = 0x41 - IFT_V37 = 0x78 - IFT_VDSL = 0x61 - IFT_VIRTUALIPADDRESS = 0x70 - IFT_VOICEEM = 0x64 - IFT_VOICEENCAP = 0x67 - IFT_VOICEFXO = 0x65 - IFT_VOICEFXS = 0x66 - IFT_VOICEOVERATM = 0x98 - IFT_VOICEOVERFRAMERELAY = 0x99 - IFT_VOICEOVERIP = 0x68 - IFT_X213 = 0x5d - IFT_X25 = 0x5 - IFT_X25DDN = 0x4 - IFT_X25HUNTGROUP = 0x7a - IFT_X25MLP = 0x79 - IFT_X25PLE = 0x28 - IFT_XETHER = 0x1a - IGNBRK = 0x1 - IGNCR = 0x80 - IGNPAR = 0x4 - IMAXBEL = 0x2000 - INLCR = 0x40 - INPCK = 0x10 - IN_CLASSA_HOST = 0xffffff - IN_CLASSA_MAX = 0x80 - IN_CLASSA_NET = 0xff000000 - IN_CLASSA_NSHIFT = 0x18 - IN_CLASSB_HOST = 0xffff - IN_CLASSB_MAX = 0x10000 - IN_CLASSB_NET = 0xffff0000 - IN_CLASSB_NSHIFT = 0x10 - IN_CLASSC_HOST = 0xff - IN_CLASSC_NET = 0xffffff00 - IN_CLASSC_NSHIFT = 0x8 - IN_CLASSD_HOST = 0xfffffff - IN_CLASSD_NET = 0xf0000000 - IN_CLASSD_NSHIFT = 0x1c - IN_LOOPBACKNET = 0x7f - IN_RFC3021_MASK = 0xfffffffe - IPPROTO_3PC = 0x22 - IPPROTO_ADFS = 0x44 - IPPROTO_AH = 0x33 - IPPROTO_AHIP = 0x3d - IPPROTO_APES = 0x63 - IPPROTO_ARGUS = 0xd - IPPROTO_AX25 = 0x5d - IPPROTO_BHA = 0x31 - IPPROTO_BLT = 0x1e - IPPROTO_BRSATMON = 0x4c - IPPROTO_CARP = 0x70 - IPPROTO_CFTP = 0x3e - IPPROTO_CHAOS = 0x10 - IPPROTO_CMTP = 0x26 - IPPROTO_CPHB = 0x49 - IPPROTO_CPNX = 0x48 - IPPROTO_DDP = 0x25 - IPPROTO_DGP = 0x56 - IPPROTO_DIVERT = 0x102 - IPPROTO_DONE = 0x101 - IPPROTO_DSTOPTS = 0x3c - IPPROTO_EGP = 0x8 - IPPROTO_EMCON = 0xe - IPPROTO_ENCAP = 0x62 - IPPROTO_EON = 0x50 - IPPROTO_ESP = 0x32 - IPPROTO_ETHERIP = 0x61 - IPPROTO_FRAGMENT = 0x2c - IPPROTO_GGP = 0x3 - IPPROTO_GMTP = 0x64 - IPPROTO_GRE = 0x2f - IPPROTO_HELLO = 0x3f - IPPROTO_HIP = 0x8b - IPPROTO_HMP = 0x14 - IPPROTO_HOPOPTS = 0x0 - IPPROTO_ICMP = 0x1 - IPPROTO_ICMPV6 = 0x3a - IPPROTO_IDP = 0x16 - IPPROTO_IDPR = 0x23 - IPPROTO_IDRP = 0x2d - IPPROTO_IGMP = 0x2 - IPPROTO_IGP = 0x55 - IPPROTO_IGRP = 0x58 - IPPROTO_IL = 0x28 - IPPROTO_INLSP = 0x34 - IPPROTO_INP = 0x20 - IPPROTO_IP = 0x0 - IPPROTO_IPCOMP = 0x6c - IPPROTO_IPCV = 0x47 - IPPROTO_IPEIP = 0x5e - IPPROTO_IPIP = 0x4 - IPPROTO_IPPC = 0x43 - IPPROTO_IPV4 = 0x4 - IPPROTO_IPV6 = 0x29 - IPPROTO_IRTP = 0x1c - IPPROTO_KRYPTOLAN = 0x41 - IPPROTO_LARP = 0x5b - IPPROTO_LEAF1 = 0x19 - IPPROTO_LEAF2 = 0x1a - IPPROTO_MAX = 0x100 - IPPROTO_MAXID = 0x34 - IPPROTO_MEAS = 0x13 - IPPROTO_MH = 0x87 - IPPROTO_MHRP = 0x30 - IPPROTO_MICP = 0x5f - IPPROTO_MOBILE = 0x37 - IPPROTO_MPLS = 0x89 - IPPROTO_MTP = 0x5c - IPPROTO_MUX = 0x12 - IPPROTO_ND = 0x4d - IPPROTO_NHRP = 0x36 - IPPROTO_NONE = 0x3b - IPPROTO_NSP = 0x1f - IPPROTO_NVPII = 0xb - IPPROTO_OLD_DIVERT = 0xfe - IPPROTO_OSPFIGP = 0x59 - IPPROTO_PFSYNC = 0xf0 - IPPROTO_PGM = 0x71 - IPPROTO_PIGP = 0x9 - IPPROTO_PIM = 0x67 - IPPROTO_PRM = 0x15 - IPPROTO_PUP = 0xc - IPPROTO_PVP = 0x4b - IPPROTO_RAW = 0xff - IPPROTO_RCCMON = 0xa - IPPROTO_RDP = 0x1b - IPPROTO_RESERVED_253 = 0xfd - IPPROTO_RESERVED_254 = 0xfe - IPPROTO_ROUTING = 0x2b - IPPROTO_RSVP = 0x2e - IPPROTO_RVD = 0x42 - IPPROTO_SATEXPAK = 0x40 - IPPROTO_SATMON = 0x45 - IPPROTO_SCCSP = 0x60 - IPPROTO_SCTP = 0x84 - IPPROTO_SDRP = 0x2a - IPPROTO_SEND = 0x103 - IPPROTO_SEP = 0x21 - IPPROTO_SHIM6 = 0x8c - IPPROTO_SKIP = 0x39 - IPPROTO_SPACER = 0x7fff - IPPROTO_SRPC = 0x5a - IPPROTO_ST = 0x7 - IPPROTO_SVMTP = 0x52 - IPPROTO_SWIPE = 0x35 - IPPROTO_TCF = 0x57 - IPPROTO_TCP = 0x6 - IPPROTO_TLSP = 0x38 - IPPROTO_TP = 0x1d - IPPROTO_TPXX = 0x27 - IPPROTO_TRUNK1 = 0x17 - IPPROTO_TRUNK2 = 0x18 - IPPROTO_TTP = 0x54 - IPPROTO_UDP = 0x11 - IPPROTO_UDPLITE = 0x88 - IPPROTO_VINES = 0x53 - IPPROTO_VISA = 0x46 - IPPROTO_VMTP = 0x51 - IPPROTO_WBEXPAK = 0x4f - IPPROTO_WBMON = 0x4e - IPPROTO_WSN = 0x4a - IPPROTO_XNET = 0xf - IPPROTO_XTP = 0x24 - IPV6_AUTOFLOWLABEL = 0x3b - IPV6_BINDANY = 0x40 - IPV6_BINDV6ONLY = 0x1b - IPV6_CHECKSUM = 0x1a - IPV6_DEFAULT_MULTICAST_HOPS = 0x1 - IPV6_DEFAULT_MULTICAST_LOOP = 0x1 - IPV6_DEFHLIM = 0x40 - IPV6_DONTFRAG = 0x3e - IPV6_DSTOPTS = 0x32 - IPV6_FAITH = 0x1d - IPV6_FLOWINFO_MASK = 0xffffff0f - IPV6_FLOWLABEL_MASK = 0xffff0f00 - IPV6_FRAGTTL = 0x78 - IPV6_FW_ADD = 0x1e - IPV6_FW_DEL = 0x1f - IPV6_FW_FLUSH = 0x20 - IPV6_FW_GET = 0x22 - IPV6_FW_ZERO = 0x21 - IPV6_HLIMDEC = 0x1 - IPV6_HOPLIMIT = 0x2f - IPV6_HOPOPTS = 0x31 - IPV6_IPSEC_POLICY = 0x1c - IPV6_JOIN_GROUP = 0xc - IPV6_LEAVE_GROUP = 0xd - IPV6_MAXHLIM = 0xff - IPV6_MAXOPTHDR = 0x800 - IPV6_MAXPACKET = 0xffff - IPV6_MAX_GROUP_SRC_FILTER = 0x200 - IPV6_MAX_MEMBERSHIPS = 0xfff - IPV6_MAX_SOCK_SRC_FILTER = 0x80 - IPV6_MIN_MEMBERSHIPS = 0x1f - IPV6_MMTU = 0x500 - IPV6_MSFILTER = 0x4a - IPV6_MULTICAST_HOPS = 0xa - IPV6_MULTICAST_IF = 0x9 - IPV6_MULTICAST_LOOP = 0xb - IPV6_NEXTHOP = 0x30 - IPV6_PATHMTU = 0x2c - IPV6_PKTINFO = 0x2e - IPV6_PORTRANGE = 0xe - IPV6_PORTRANGE_DEFAULT = 0x0 - IPV6_PORTRANGE_HIGH = 0x1 - IPV6_PORTRANGE_LOW = 0x2 - IPV6_PREFER_TEMPADDR = 0x3f - IPV6_RECVDSTOPTS = 0x28 - IPV6_RECVHOPLIMIT = 0x25 - IPV6_RECVHOPOPTS = 0x27 - IPV6_RECVPATHMTU = 0x2b - IPV6_RECVPKTINFO = 0x24 - IPV6_RECVRTHDR = 0x26 - IPV6_RECVTCLASS = 0x39 - IPV6_RTHDR = 0x33 - IPV6_RTHDRDSTOPTS = 0x23 - IPV6_RTHDR_LOOSE = 0x0 - IPV6_RTHDR_STRICT = 0x1 - IPV6_RTHDR_TYPE_0 = 0x0 - IPV6_SOCKOPT_RESERVED1 = 0x3 - IPV6_TCLASS = 0x3d - IPV6_UNICAST_HOPS = 0x4 - IPV6_USE_MIN_MTU = 0x2a - IPV6_V6ONLY = 0x1b - IPV6_VERSION = 0x60 - IPV6_VERSION_MASK = 0xf0 - IP_ADD_MEMBERSHIP = 0xc - IP_ADD_SOURCE_MEMBERSHIP = 0x46 - IP_BINDANY = 0x18 - IP_BLOCK_SOURCE = 0x48 - IP_DEFAULT_MULTICAST_LOOP = 0x1 - IP_DEFAULT_MULTICAST_TTL = 0x1 - IP_DF = 0x4000 - IP_DONTFRAG = 0x43 - IP_DROP_MEMBERSHIP = 0xd - IP_DROP_SOURCE_MEMBERSHIP = 0x47 - IP_DUMMYNET3 = 0x31 - IP_DUMMYNET_CONFIGURE = 0x3c - IP_DUMMYNET_DEL = 0x3d - IP_DUMMYNET_FLUSH = 0x3e - IP_DUMMYNET_GET = 0x40 - IP_FAITH = 0x16 - IP_FW3 = 0x30 - IP_FW_ADD = 0x32 - IP_FW_DEL = 0x33 - IP_FW_FLUSH = 0x34 - IP_FW_GET = 0x36 - IP_FW_NAT_CFG = 0x38 - IP_FW_NAT_DEL = 0x39 - IP_FW_NAT_GET_CONFIG = 0x3a - IP_FW_NAT_GET_LOG = 0x3b - IP_FW_RESETLOG = 0x37 - IP_FW_TABLE_ADD = 0x28 - IP_FW_TABLE_DEL = 0x29 - IP_FW_TABLE_FLUSH = 0x2a - IP_FW_TABLE_GETSIZE = 0x2b - IP_FW_TABLE_LIST = 0x2c - IP_FW_ZERO = 0x35 - IP_HDRINCL = 0x2 - IP_IPSEC_POLICY = 0x15 - IP_MAXPACKET = 0xffff - IP_MAX_GROUP_SRC_FILTER = 0x200 - IP_MAX_MEMBERSHIPS = 0xfff - IP_MAX_SOCK_MUTE_FILTER = 0x80 - IP_MAX_SOCK_SRC_FILTER = 0x80 - IP_MAX_SOURCE_FILTER = 0x400 - IP_MF = 0x2000 - IP_MINTTL = 0x42 - IP_MIN_MEMBERSHIPS = 0x1f - IP_MSFILTER = 0x4a - IP_MSS = 0x240 - IP_MULTICAST_IF = 0x9 - IP_MULTICAST_LOOP = 0xb - IP_MULTICAST_TTL = 0xa - IP_MULTICAST_VIF = 0xe - IP_OFFMASK = 0x1fff - IP_ONESBCAST = 0x17 - IP_OPTIONS = 0x1 - IP_PORTRANGE = 0x13 - IP_PORTRANGE_DEFAULT = 0x0 - IP_PORTRANGE_HIGH = 0x1 - IP_PORTRANGE_LOW = 0x2 - IP_RECVDSTADDR = 0x7 - IP_RECVIF = 0x14 - IP_RECVOPTS = 0x5 - IP_RECVRETOPTS = 0x6 - IP_RECVTOS = 0x44 - IP_RECVTTL = 0x41 - IP_RETOPTS = 0x8 - IP_RF = 0x8000 - IP_RSVP_OFF = 0x10 - IP_RSVP_ON = 0xf - IP_RSVP_VIF_OFF = 0x12 - IP_RSVP_VIF_ON = 0x11 - IP_SENDSRCADDR = 0x7 - IP_TOS = 0x3 - IP_TTL = 0x4 - IP_UNBLOCK_SOURCE = 0x49 - ISIG = 0x80 - ISTRIP = 0x20 - IXANY = 0x800 - IXOFF = 0x400 - IXON = 0x200 - LOCK_EX = 0x2 - LOCK_NB = 0x4 - LOCK_SH = 0x1 - LOCK_UN = 0x8 - MADV_AUTOSYNC = 0x7 - MADV_CORE = 0x9 - MADV_DONTNEED = 0x4 - MADV_FREE = 0x5 - MADV_NOCORE = 0x8 - MADV_NORMAL = 0x0 - MADV_NOSYNC = 0x6 - MADV_PROTECT = 0xa - MADV_RANDOM = 0x1 - MADV_SEQUENTIAL = 0x2 - MADV_WILLNEED = 0x3 - MAP_ALIGNED_SUPER = 0x1000000 - MAP_ALIGNMENT_MASK = -0x1000000 - MAP_ALIGNMENT_SHIFT = 0x18 - MAP_ANON = 0x1000 - MAP_ANONYMOUS = 0x1000 - MAP_COPY = 0x2 - MAP_EXCL = 0x4000 - MAP_FILE = 0x0 - MAP_FIXED = 0x10 - MAP_HASSEMAPHORE = 0x200 - MAP_NOCORE = 0x20000 - MAP_NORESERVE = 0x40 - MAP_NOSYNC = 0x800 - MAP_PREFAULT_READ = 0x40000 - MAP_PRIVATE = 0x2 - MAP_RENAME = 0x20 - MAP_RESERVED0080 = 0x80 - MAP_RESERVED0100 = 0x100 - MAP_SHARED = 0x1 - MAP_STACK = 0x400 - MCL_CURRENT = 0x1 - MCL_FUTURE = 0x2 - MSG_CMSG_CLOEXEC = 0x40000 - MSG_COMPAT = 0x8000 - MSG_CTRUNC = 0x20 - MSG_DONTROUTE = 0x4 - MSG_DONTWAIT = 0x80 - MSG_EOF = 0x100 - MSG_EOR = 0x8 - MSG_NBIO = 0x4000 - MSG_NOSIGNAL = 0x20000 - MSG_NOTIFICATION = 0x2000 - MSG_OOB = 0x1 - MSG_PEEK = 0x2 - MSG_TRUNC = 0x10 - MSG_WAITALL = 0x40 - MS_ASYNC = 0x1 - MS_INVALIDATE = 0x2 - MS_SYNC = 0x0 - NAME_MAX = 0xff - NET_RT_DUMP = 0x1 - NET_RT_FLAGS = 0x2 - NET_RT_IFLIST = 0x3 - NET_RT_IFLISTL = 0x5 - NET_RT_IFMALIST = 0x4 - NET_RT_MAXID = 0x6 - NOFLSH = 0x80000000 - NOTE_ATTRIB = 0x8 - NOTE_CHILD = 0x4 - NOTE_DELETE = 0x1 - NOTE_EXEC = 0x20000000 - NOTE_EXIT = 0x80000000 - NOTE_EXTEND = 0x4 - NOTE_FFAND = 0x40000000 - NOTE_FFCOPY = 0xc0000000 - NOTE_FFCTRLMASK = 0xc0000000 - NOTE_FFLAGSMASK = 0xffffff - NOTE_FFNOP = 0x0 - NOTE_FFOR = 0x80000000 - NOTE_FORK = 0x40000000 - NOTE_LINK = 0x10 - NOTE_LOWAT = 0x1 - NOTE_PCTRLMASK = 0xf0000000 - NOTE_PDATAMASK = 0xfffff - NOTE_RENAME = 0x20 - NOTE_REVOKE = 0x40 - NOTE_TRACK = 0x1 - NOTE_TRACKERR = 0x2 - NOTE_TRIGGER = 0x1000000 - NOTE_WRITE = 0x2 - OCRNL = 0x10 - ONLCR = 0x2 - ONLRET = 0x40 - ONOCR = 0x20 - ONOEOT = 0x8 - OPOST = 0x1 - O_ACCMODE = 0x3 - O_APPEND = 0x8 - O_ASYNC = 0x40 - O_CLOEXEC = 0x100000 - O_CREAT = 0x200 - O_DIRECT = 0x10000 - O_DIRECTORY = 0x20000 - O_EXCL = 0x800 - O_EXEC = 0x40000 - O_EXLOCK = 0x20 - O_FSYNC = 0x80 - O_NDELAY = 0x4 - O_NOCTTY = 0x8000 - O_NOFOLLOW = 0x100 - O_NONBLOCK = 0x4 - O_RDONLY = 0x0 - O_RDWR = 0x2 - O_SHLOCK = 0x10 - O_SYNC = 0x80 - O_TRUNC = 0x400 - O_TTY_INIT = 0x80000 - O_WRONLY = 0x1 - PARENB = 0x1000 - PARMRK = 0x8 - PARODD = 0x2000 - PENDIN = 0x20000000 - PRIO_PGRP = 0x1 - PRIO_PROCESS = 0x0 - PRIO_USER = 0x2 - PROT_EXEC = 0x4 - PROT_NONE = 0x0 - PROT_READ = 0x1 - PROT_WRITE = 0x2 - RLIMIT_AS = 0xa - RLIMIT_CORE = 0x4 - RLIMIT_CPU = 0x0 - RLIMIT_DATA = 0x2 - RLIMIT_FSIZE = 0x1 - RLIMIT_NOFILE = 0x8 - RLIMIT_STACK = 0x3 - RLIM_INFINITY = 0x7fffffffffffffff - RTAX_AUTHOR = 0x6 - RTAX_BRD = 0x7 - RTAX_DST = 0x0 - RTAX_GATEWAY = 0x1 - RTAX_GENMASK = 0x3 - RTAX_IFA = 0x5 - RTAX_IFP = 0x4 - RTAX_MAX = 0x8 - RTAX_NETMASK = 0x2 - RTA_AUTHOR = 0x40 - RTA_BRD = 0x80 - RTA_DST = 0x1 - RTA_GATEWAY = 0x2 - RTA_GENMASK = 0x8 - RTA_IFA = 0x20 - RTA_IFP = 0x10 - RTA_NETMASK = 0x4 - RTF_BLACKHOLE = 0x1000 - RTF_BROADCAST = 0x400000 - RTF_DONE = 0x40 - RTF_DYNAMIC = 0x10 - RTF_FMASK = 0x1004d808 - RTF_GATEWAY = 0x2 - RTF_GWFLAG_COMPAT = 0x80000000 - RTF_HOST = 0x4 - RTF_LLDATA = 0x400 - RTF_LLINFO = 0x400 - RTF_LOCAL = 0x200000 - RTF_MODIFIED = 0x20 - RTF_MULTICAST = 0x800000 - RTF_PINNED = 0x100000 - RTF_PRCLONING = 0x10000 - RTF_PROTO1 = 0x8000 - RTF_PROTO2 = 0x4000 - RTF_PROTO3 = 0x40000 - RTF_REJECT = 0x8 - RTF_RNH_LOCKED = 0x40000000 - RTF_STATIC = 0x800 - RTF_STICKY = 0x10000000 - RTF_UP = 0x1 - RTF_XRESOLVE = 0x200 - RTM_ADD = 0x1 - RTM_CHANGE = 0x3 - RTM_DELADDR = 0xd - RTM_DELETE = 0x2 - RTM_DELMADDR = 0x10 - RTM_GET = 0x4 - RTM_IEEE80211 = 0x12 - RTM_IFANNOUNCE = 0x11 - RTM_IFINFO = 0xe - RTM_LOCK = 0x8 - RTM_LOSING = 0x5 - RTM_MISS = 0x7 - RTM_NEWADDR = 0xc - RTM_NEWMADDR = 0xf - RTM_OLDADD = 0x9 - RTM_OLDDEL = 0xa - RTM_REDIRECT = 0x6 - RTM_RESOLVE = 0xb - RTM_RTTUNIT = 0xf4240 - RTM_VERSION = 0x5 - RTV_EXPIRE = 0x4 - RTV_HOPCOUNT = 0x2 - RTV_MTU = 0x1 - RTV_RPIPE = 0x8 - RTV_RTT = 0x40 - RTV_RTTVAR = 0x80 - RTV_SPIPE = 0x10 - RTV_SSTHRESH = 0x20 - RTV_WEIGHT = 0x100 - RT_ALL_FIBS = -0x1 - RT_CACHING_CONTEXT = 0x1 - RT_DEFAULT_FIB = 0x0 - RT_NORTREF = 0x2 - RUSAGE_CHILDREN = -0x1 - RUSAGE_SELF = 0x0 - RUSAGE_THREAD = 0x1 - SCM_BINTIME = 0x4 - SCM_CREDS = 0x3 - SCM_RIGHTS = 0x1 - SCM_TIMESTAMP = 0x2 - SHUT_RD = 0x0 - SHUT_RDWR = 0x2 - SHUT_WR = 0x1 - SIOCADDMULTI = 0x80206931 - SIOCADDRT = 0x8030720a - SIOCAIFADDR = 0x8040691a - SIOCAIFGROUP = 0x80246987 - SIOCALIFADDR = 0x8118691b - SIOCATMARK = 0x40047307 - SIOCDELMULTI = 0x80206932 - SIOCDELRT = 0x8030720b - SIOCDIFADDR = 0x80206919 - SIOCDIFGROUP = 0x80246989 - SIOCDIFPHYADDR = 0x80206949 - SIOCDLIFADDR = 0x8118691d - SIOCGDRVSPEC = 0xc01c697b - SIOCGETSGCNT = 0xc0147210 - SIOCGETVIFCNT = 0xc014720f - SIOCGHIWAT = 0x40047301 - SIOCGIFADDR = 0xc0206921 - SIOCGIFBRDADDR = 0xc0206923 - SIOCGIFCAP = 0xc020691f - SIOCGIFCONF = 0xc0086924 - SIOCGIFDESCR = 0xc020692a - SIOCGIFDSTADDR = 0xc0206922 - SIOCGIFFIB = 0xc020695c - SIOCGIFFLAGS = 0xc0206911 - SIOCGIFGENERIC = 0xc020693a - SIOCGIFGMEMB = 0xc024698a - SIOCGIFGROUP = 0xc0246988 - SIOCGIFINDEX = 0xc0206920 - SIOCGIFMAC = 0xc0206926 - SIOCGIFMEDIA = 0xc0286938 - SIOCGIFMETRIC = 0xc0206917 - SIOCGIFMTU = 0xc0206933 - SIOCGIFNETMASK = 0xc0206925 - SIOCGIFPDSTADDR = 0xc0206948 - SIOCGIFPHYS = 0xc0206935 - SIOCGIFPSRCADDR = 0xc0206947 - SIOCGIFSTATUS = 0xc331693b - SIOCGLIFADDR = 0xc118691c - SIOCGLIFPHYADDR = 0xc118694b - SIOCGLOWAT = 0x40047303 - SIOCGPGRP = 0x40047309 - SIOCGPRIVATE_0 = 0xc0206950 - SIOCGPRIVATE_1 = 0xc0206951 - SIOCIFCREATE = 0xc020697a - SIOCIFCREATE2 = 0xc020697c - SIOCIFDESTROY = 0x80206979 - SIOCIFGCLONERS = 0xc00c6978 - SIOCSDRVSPEC = 0x801c697b - SIOCSHIWAT = 0x80047300 - SIOCSIFADDR = 0x8020690c - SIOCSIFBRDADDR = 0x80206913 - SIOCSIFCAP = 0x8020691e - SIOCSIFDESCR = 0x80206929 - SIOCSIFDSTADDR = 0x8020690e - SIOCSIFFIB = 0x8020695d - SIOCSIFFLAGS = 0x80206910 - SIOCSIFGENERIC = 0x80206939 - SIOCSIFLLADDR = 0x8020693c - SIOCSIFMAC = 0x80206927 - SIOCSIFMEDIA = 0xc0206937 - SIOCSIFMETRIC = 0x80206918 - SIOCSIFMTU = 0x80206934 - SIOCSIFNAME = 0x80206928 - SIOCSIFNETMASK = 0x80206916 - SIOCSIFPHYADDR = 0x80406946 - SIOCSIFPHYS = 0x80206936 - SIOCSIFRVNET = 0xc020695b - SIOCSIFVNET = 0xc020695a - SIOCSLIFPHYADDR = 0x8118694a - SIOCSLOWAT = 0x80047302 - SIOCSPGRP = 0x80047308 - SOCK_CLOEXEC = 0x10000000 - SOCK_DGRAM = 0x2 - SOCK_MAXADDRLEN = 0xff - SOCK_NONBLOCK = 0x20000000 - SOCK_RAW = 0x3 - SOCK_RDM = 0x4 - SOCK_SEQPACKET = 0x5 - SOCK_STREAM = 0x1 - SOL_SOCKET = 0xffff - SOMAXCONN = 0x80 - SO_ACCEPTCONN = 0x2 - SO_ACCEPTFILTER = 0x1000 - SO_BINTIME = 0x2000 - SO_BROADCAST = 0x20 - SO_DEBUG = 0x1 - SO_DONTROUTE = 0x10 - SO_ERROR = 0x1007 - SO_KEEPALIVE = 0x8 - SO_LABEL = 0x1009 - SO_LINGER = 0x80 - SO_LISTENINCQLEN = 0x1013 - SO_LISTENQLEN = 0x1012 - SO_LISTENQLIMIT = 0x1011 - SO_NOSIGPIPE = 0x800 - SO_NO_DDP = 0x8000 - SO_NO_OFFLOAD = 0x4000 - SO_OOBINLINE = 0x100 - SO_PEERLABEL = 0x1010 - SO_PROTOCOL = 0x1016 - SO_PROTOTYPE = 0x1016 - SO_RCVBUF = 0x1002 - SO_RCVLOWAT = 0x1004 - SO_RCVTIMEO = 0x1006 - SO_REUSEADDR = 0x4 - SO_REUSEPORT = 0x200 - SO_SETFIB = 0x1014 - SO_SNDBUF = 0x1001 - SO_SNDLOWAT = 0x1003 - SO_SNDTIMEO = 0x1005 - SO_TIMESTAMP = 0x400 - SO_TYPE = 0x1008 - SO_USELOOPBACK = 0x40 - SO_USER_COOKIE = 0x1015 - SO_VENDOR = 0x80000000 - TCIFLUSH = 0x1 - TCIOFLUSH = 0x3 - TCOFLUSH = 0x2 - TCP_CA_NAME_MAX = 0x10 - TCP_CONGESTION = 0x40 - TCP_INFO = 0x20 - TCP_KEEPCNT = 0x400 - TCP_KEEPIDLE = 0x100 - TCP_KEEPINIT = 0x80 - TCP_KEEPINTVL = 0x200 - TCP_MAXBURST = 0x4 - TCP_MAXHLEN = 0x3c - TCP_MAXOLEN = 0x28 - TCP_MAXSEG = 0x2 - TCP_MAXWIN = 0xffff - TCP_MAX_SACK = 0x4 - TCP_MAX_WINSHIFT = 0xe - TCP_MD5SIG = 0x10 - TCP_MINMSS = 0xd8 - TCP_MSS = 0x218 - TCP_NODELAY = 0x1 - TCP_NOOPT = 0x8 - TCP_NOPUSH = 0x4 - TCP_VENDOR = 0x80000000 - TCSAFLUSH = 0x2 - TIOCCBRK = 0x2000747a - TIOCCDTR = 0x20007478 - TIOCCONS = 0x80047462 - TIOCDRAIN = 0x2000745e - TIOCEXCL = 0x2000740d - TIOCEXT = 0x80047460 - TIOCFLUSH = 0x80047410 - TIOCGDRAINWAIT = 0x40047456 - TIOCGETA = 0x402c7413 - TIOCGETD = 0x4004741a - TIOCGPGRP = 0x40047477 - TIOCGPTN = 0x4004740f - TIOCGSID = 0x40047463 - TIOCGWINSZ = 0x40087468 - TIOCMBIC = 0x8004746b - TIOCMBIS = 0x8004746c - TIOCMGDTRWAIT = 0x4004745a - TIOCMGET = 0x4004746a - TIOCMSDTRWAIT = 0x8004745b - TIOCMSET = 0x8004746d - TIOCM_CAR = 0x40 - TIOCM_CD = 0x40 - TIOCM_CTS = 0x20 - TIOCM_DCD = 0x40 - TIOCM_DSR = 0x100 - TIOCM_DTR = 0x2 - TIOCM_LE = 0x1 - TIOCM_RI = 0x80 - TIOCM_RNG = 0x80 - TIOCM_RTS = 0x4 - TIOCM_SR = 0x10 - TIOCM_ST = 0x8 - TIOCNOTTY = 0x20007471 - TIOCNXCL = 0x2000740e - TIOCOUTQ = 0x40047473 - TIOCPKT = 0x80047470 - TIOCPKT_DATA = 0x0 - TIOCPKT_DOSTOP = 0x20 - TIOCPKT_FLUSHREAD = 0x1 - TIOCPKT_FLUSHWRITE = 0x2 - TIOCPKT_IOCTL = 0x40 - TIOCPKT_NOSTOP = 0x10 - TIOCPKT_START = 0x8 - TIOCPKT_STOP = 0x4 - TIOCPTMASTER = 0x2000741c - TIOCSBRK = 0x2000747b - TIOCSCTTY = 0x20007461 - TIOCSDRAINWAIT = 0x80047457 - TIOCSDTR = 0x20007479 - TIOCSETA = 0x802c7414 - TIOCSETAF = 0x802c7416 - TIOCSETAW = 0x802c7415 - TIOCSETD = 0x8004741b - TIOCSIG = 0x2004745f - TIOCSPGRP = 0x80047476 - TIOCSTART = 0x2000746e - TIOCSTAT = 0x20007465 - TIOCSTI = 0x80017472 - TIOCSTOP = 0x2000746f - TIOCSWINSZ = 0x80087467 - TIOCTIMESTAMP = 0x40087459 - TIOCUCNTL = 0x80047466 - TOSTOP = 0x400000 - VDISCARD = 0xf - VDSUSP = 0xb - VEOF = 0x0 - VEOL = 0x1 - VEOL2 = 0x2 - VERASE = 0x3 - VERASE2 = 0x7 - VINTR = 0x8 - VKILL = 0x5 - VLNEXT = 0xe - VMIN = 0x10 - VQUIT = 0x9 - VREPRINT = 0x6 - VSTART = 0xc - VSTATUS = 0x12 - VSTOP = 0xd - VSUSP = 0xa - VTIME = 0x11 - VWERASE = 0x4 - WCONTINUED = 0x4 - WCOREFLAG = 0x80 - WEXITED = 0x10 - WLINUXCLONE = 0x80000000 - WNOHANG = 0x1 - WNOWAIT = 0x8 - WSTOPPED = 0x2 - WTRAPPED = 0x20 - WUNTRACED = 0x2 + AF_APPLETALK = 0x10 + AF_ARP = 0x23 + AF_ATM = 0x1e + AF_BLUETOOTH = 0x24 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1c + AF_INET6_SDP = 0x2a + AF_INET_SDP = 0x28 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x2a + AF_NATM = 0x1d + AF_NETBIOS = 0x6 + AF_NETGRAPH = 0x20 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SCLUSTER = 0x22 + AF_SIP = 0x18 + AF_SLOW = 0x21 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VENDOR00 = 0x27 + AF_VENDOR01 = 0x29 + AF_VENDOR02 = 0x2b + AF_VENDOR03 = 0x2d + AF_VENDOR04 = 0x2f + AF_VENDOR05 = 0x31 + AF_VENDOR06 = 0x33 + AF_VENDOR07 = 0x35 + AF_VENDOR08 = 0x37 + AF_VENDOR09 = 0x39 + AF_VENDOR10 = 0x3b + AF_VENDOR11 = 0x3d + AF_VENDOR12 = 0x3f + AF_VENDOR13 = 0x41 + AF_VENDOR14 = 0x43 + AF_VENDOR15 = 0x45 + AF_VENDOR16 = 0x47 + AF_VENDOR17 = 0x49 + AF_VENDOR18 = 0x4b + AF_VENDOR19 = 0x4d + AF_VENDOR20 = 0x4f + AF_VENDOR21 = 0x51 + AF_VENDOR22 = 0x53 + AF_VENDOR23 = 0x55 + AF_VENDOR24 = 0x57 + AF_VENDOR25 = 0x59 + AF_VENDOR26 = 0x5b + AF_VENDOR27 = 0x5d + AF_VENDOR28 = 0x5f + AF_VENDOR29 = 0x61 + AF_VENDOR30 = 0x63 + AF_VENDOR31 = 0x65 + AF_VENDOR32 = 0x67 + AF_VENDOR33 = 0x69 + AF_VENDOR34 = 0x6b + AF_VENDOR35 = 0x6d + AF_VENDOR36 = 0x6f + AF_VENDOR37 = 0x71 + AF_VENDOR38 = 0x73 + AF_VENDOR39 = 0x75 + AF_VENDOR40 = 0x77 + AF_VENDOR41 = 0x79 + AF_VENDOR42 = 0x7b + AF_VENDOR43 = 0x7d + AF_VENDOR44 = 0x7f + AF_VENDOR45 = 0x81 + AF_VENDOR46 = 0x83 + AF_VENDOR47 = 0x85 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427c + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRECTION = 0x40044276 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0084279 + BIOCGETBUFMODE = 0x4004427d + BIOCGETIF = 0x4020426b + BIOCGETZMAX = 0x4004427f + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCGTSTAMP = 0x40044283 + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x2000427a + BIOCPROMISC = 0x20004269 + BIOCROTZBUF = 0x400c4280 + BIOCSBLEN = 0xc0044266 + BIOCSDIRECTION = 0x80044277 + BIOCSDLT = 0x80044278 + BIOCSETBUFMODE = 0x8004427e + BIOCSETF = 0x80084267 + BIOCSETFNR = 0x80084282 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x8008427b + BIOCSETZBUF = 0x800c4281 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCSTSTAMP = 0x80044284 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_BUFMODE_BUFFER = 0x1 + BPF_BUFMODE_ZBUF = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_T_BINTIME = 0x2 + BPF_T_BINTIME_FAST = 0x102 + BPF_T_BINTIME_MONOTONIC = 0x202 + BPF_T_BINTIME_MONOTONIC_FAST = 0x302 + BPF_T_FAST = 0x100 + BPF_T_FLAG_MASK = 0x300 + BPF_T_FORMAT_MASK = 0x3 + BPF_T_MICROTIME = 0x0 + BPF_T_MICROTIME_FAST = 0x100 + BPF_T_MICROTIME_MONOTONIC = 0x200 + BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 + BPF_T_MONOTONIC = 0x200 + BPF_T_MONOTONIC_FAST = 0x300 + BPF_T_NANOTIME = 0x1 + BPF_T_NANOTIME_FAST = 0x101 + BPF_T_NANOTIME_MONOTONIC = 0x201 + BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 + BPF_T_NONE = 0x3 + BPF_T_NORMAL = 0x0 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + CAP_ACCEPT = 0x200000020000000 + CAP_ACL_CHECK = 0x400000000010000 + CAP_ACL_DELETE = 0x400000000020000 + CAP_ACL_GET = 0x400000000040000 + CAP_ACL_SET = 0x400000000080000 + CAP_ALL0 = 0x20007ffffffffff + CAP_ALL1 = 0x4000000001fffff + CAP_BIND = 0x200000040000000 + CAP_BINDAT = 0x200008000000400 + CAP_CHFLAGSAT = 0x200000000001400 + CAP_CONNECT = 0x200000080000000 + CAP_CONNECTAT = 0x200010000000400 + CAP_CREATE = 0x200000000000040 + CAP_EVENT = 0x400000000000020 + CAP_EXTATTR_DELETE = 0x400000000001000 + CAP_EXTATTR_GET = 0x400000000002000 + CAP_EXTATTR_LIST = 0x400000000004000 + CAP_EXTATTR_SET = 0x400000000008000 + CAP_FCHDIR = 0x200000000000800 + CAP_FCHFLAGS = 0x200000000001000 + CAP_FCHMOD = 0x200000000002000 + CAP_FCHMODAT = 0x200000000002400 + CAP_FCHOWN = 0x200000000004000 + CAP_FCHOWNAT = 0x200000000004400 + CAP_FCNTL = 0x200000000008000 + CAP_FCNTL_ALL = 0x78 + CAP_FCNTL_GETFL = 0x8 + CAP_FCNTL_GETOWN = 0x20 + CAP_FCNTL_SETFL = 0x10 + CAP_FCNTL_SETOWN = 0x40 + CAP_FEXECVE = 0x200000000000080 + CAP_FLOCK = 0x200000000010000 + CAP_FPATHCONF = 0x200000000020000 + CAP_FSCK = 0x200000000040000 + CAP_FSTAT = 0x200000000080000 + CAP_FSTATAT = 0x200000000080400 + CAP_FSTATFS = 0x200000000100000 + CAP_FSYNC = 0x200000000000100 + CAP_FTRUNCATE = 0x200000000000200 + CAP_FUTIMES = 0x200000000200000 + CAP_FUTIMESAT = 0x200000000200400 + CAP_GETPEERNAME = 0x200000100000000 + CAP_GETSOCKNAME = 0x200000200000000 + CAP_GETSOCKOPT = 0x200000400000000 + CAP_IOCTL = 0x400000000000080 + CAP_IOCTLS_ALL = 0x7fffffff + CAP_KQUEUE = 0x400000000100040 + CAP_KQUEUE_CHANGE = 0x400000000100000 + CAP_KQUEUE_EVENT = 0x400000000000040 + CAP_LINKAT_SOURCE = 0x200020000000400 + CAP_LINKAT_TARGET = 0x200000000400400 + CAP_LISTEN = 0x200000800000000 + CAP_LOOKUP = 0x200000000000400 + CAP_MAC_GET = 0x400000000000001 + CAP_MAC_SET = 0x400000000000002 + CAP_MKDIRAT = 0x200000000800400 + CAP_MKFIFOAT = 0x200000001000400 + CAP_MKNODAT = 0x200000002000400 + CAP_MMAP = 0x200000000000010 + CAP_MMAP_R = 0x20000000000001d + CAP_MMAP_RW = 0x20000000000001f + CAP_MMAP_RWX = 0x20000000000003f + CAP_MMAP_RX = 0x20000000000003d + CAP_MMAP_W = 0x20000000000001e + CAP_MMAP_WX = 0x20000000000003e + CAP_MMAP_X = 0x20000000000003c + CAP_PDGETPID = 0x400000000000200 + CAP_PDKILL = 0x400000000000800 + CAP_PDWAIT = 0x400000000000400 + CAP_PEELOFF = 0x200001000000000 + CAP_POLL_EVENT = 0x400000000000020 + CAP_PREAD = 0x20000000000000d + CAP_PWRITE = 0x20000000000000e + CAP_READ = 0x200000000000001 + CAP_RECV = 0x200000000000001 + CAP_RENAMEAT_SOURCE = 0x200000004000400 + CAP_RENAMEAT_TARGET = 0x200040000000400 + CAP_RIGHTS_VERSION = 0x0 + CAP_RIGHTS_VERSION_00 = 0x0 + CAP_SEEK = 0x20000000000000c + CAP_SEEK_TELL = 0x200000000000004 + CAP_SEM_GETVALUE = 0x400000000000004 + CAP_SEM_POST = 0x400000000000008 + CAP_SEM_WAIT = 0x400000000000010 + CAP_SEND = 0x200000000000002 + CAP_SETSOCKOPT = 0x200002000000000 + CAP_SHUTDOWN = 0x200004000000000 + CAP_SOCK_CLIENT = 0x200007780000003 + CAP_SOCK_SERVER = 0x200007f60000003 + CAP_SYMLINKAT = 0x200000008000400 + CAP_TTYHOOK = 0x400000000000100 + CAP_UNLINKAT = 0x200000010000400 + CAP_UNUSED0_44 = 0x200080000000000 + CAP_UNUSED0_57 = 0x300000000000000 + CAP_UNUSED1_22 = 0x400000000200000 + CAP_UNUSED1_57 = 0x500000000000000 + CAP_WRITE = 0x200000000000002 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x4 + CLOCK_MONOTONIC_FAST = 0xc + CLOCK_MONOTONIC_PRECISE = 0xb + CLOCK_PROCESS_CPUTIME_ID = 0xf + CLOCK_PROF = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_FAST = 0xa + CLOCK_REALTIME_PRECISE = 0x9 + CLOCK_SECOND = 0xd + CLOCK_THREAD_CPUTIME_ID = 0xe + CLOCK_UPTIME = 0x5 + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_MAXNAME = 0x18 + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_BREDR_BB = 0xff + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_BLUETOOTH_LE_LL = 0xfb + DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 + DLT_BLUETOOTH_LINUX_MONITOR = 0xfe + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_CLASS_NETBSD_RAWAF = 0x2240000 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_EPON = 0x103 + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_INFINIBAND = 0xf7 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPMI_HPM_2 = 0x104 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_ISO_14443 = 0x108 + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0x109 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NETLINK = 0xfd + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x79 + DLT_PKTAP = 0x102 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PROFIBUS_DL = 0x101 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RDS = 0x109 + DLT_REDBACK_SMARTEDGE = 0x20 + DLT_RIO = 0x7c + DLT_RTAC_SERIAL = 0xfa + DLT_SCCP = 0x8e + DLT_SCTP = 0xf8 + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USBPCAP = 0xf9 + DLT_USB_FREEBSD = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WATTSTOPPER_DLM = 0x107 + DLT_WIHART = 0xdf + DLT_WIRESHARK_UPPER_PDU = 0xfc + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DLT_ZWAVE_R1_R2 = 0x105 + DLT_ZWAVE_R3 = 0x106 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_FS = -0x9 + EVFILT_LIO = -0xa + EVFILT_PROC = -0x5 + EVFILT_PROCDESC = -0x8 + EVFILT_READ = -0x1 + EVFILT_SENDFILE = -0xc + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xc + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xb + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DROP = 0x1000 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_FLAG2 = 0x4000 + EV_FORCEONESHOT = 0x100 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_NAMESPACE_EMPTY = 0x0 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_CANCEL = 0x5 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xb + F_GETOWN = 0x5 + F_OGETLK = 0x7 + F_OK = 0x0 + F_OSETLK = 0x8 + F_OSETLKW = 0x9 + F_RDAHEAD = 0x10 + F_RDLCK = 0x1 + F_READAHEAD = 0xf + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0xc + F_SETLKW = 0xd + F_SETLK_REMOTE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_UNLCKSYS = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x218f52 + IFF_CANTCONFIG = 0x10000 + IFF_DEBUG = 0x4 + IFF_DRV_OACTIVE = 0x400 + IFF_DRV_RUNNING = 0x40 + IFF_DYING = 0x200000 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MONITOR = 0x40000 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PPROMISC = 0x20000 + IFF_PROMISC = 0x100 + IFF_RENAMING = 0x400000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x80000 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_IEEE1394 = 0x90 + IFT_INFINIBAND = 0xc7 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_PPP = 0x17 + IFT_PROPVIRTUAL = 0x35 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_MASK = 0xfffffffe + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CARP = 0x70 + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HIP = 0x8b + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MEAS = 0x13 + IPPROTO_MH = 0x87 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OLD_DIVERT = 0xfe + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_RESERVED_253 = 0xfd + IPPROTO_RESERVED_254 = 0xfe + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEND = 0x103 + IPPROTO_SEP = 0x21 + IPPROTO_SHIM6 = 0x8c + IPPROTO_SKIP = 0x39 + IPPROTO_SPACER = 0x7fff + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TLSP = 0x38 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDANY = 0x40 + IPV6_BINDMULTI = 0x41 + IPV6_BINDV6ONLY = 0x1b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FLOWID = 0x43 + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOWTYPE = 0x44 + IPV6_FRAGTTL = 0x78 + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_PREFER_TEMPADDR = 0x3f + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVFLOWID = 0x46 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRSSBUCKETID = 0x47 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RSSBUCKETID = 0x45 + IPV6_RSS_LISTEN_BUCKET = 0x42 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BINDANY = 0x18 + IP_BINDMULTI = 0x19 + IP_BLOCK_SOURCE = 0x48 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DONTFRAG = 0x43 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET3 = 0x31 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FLOWID = 0x5a + IP_FLOWTYPE = 0x5b + IP_FW3 = 0x30 + IP_FW_ADD = 0x32 + IP_FW_DEL = 0x33 + IP_FW_FLUSH = 0x34 + IP_FW_GET = 0x36 + IP_FW_NAT_CFG = 0x38 + IP_FW_NAT_DEL = 0x39 + IP_FW_NAT_GET_CONFIG = 0x3a + IP_FW_NAT_GET_LOG = 0x3b + IP_FW_RESETLOG = 0x37 + IP_FW_TABLE_ADD = 0x28 + IP_FW_TABLE_DEL = 0x29 + IP_FW_TABLE_FLUSH = 0x2a + IP_FW_TABLE_GETSIZE = 0x2b + IP_FW_TABLE_LIST = 0x2c + IP_FW_ZERO = 0x35 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MAX_SOURCE_FILTER = 0x400 + IP_MF = 0x2000 + IP_MINTTL = 0x42 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_OFFMASK = 0x1fff + IP_ONESBCAST = 0x17 + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVFLOWID = 0x5d + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRSSBUCKETID = 0x5e + IP_RECVTOS = 0x44 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSSBUCKETID = 0x5c + IP_RSS_LISTEN_BUCKET = 0x1a + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_AUTOSYNC = 0x7 + MADV_CORE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_NOCORE = 0x8 + MADV_NORMAL = 0x0 + MADV_NOSYNC = 0x6 + MADV_PROTECT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MAP_ALIGNED_SUPER = 0x1000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_EXCL = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_GUARD = 0x2000 + MAP_HASSEMAPHORE = 0x200 + MAP_NOCORE = 0x20000 + MAP_NOSYNC = 0x800 + MAP_PREFAULT_READ = 0x40000 + MAP_PRIVATE = 0x2 + MAP_RESERVED0020 = 0x20 + MAP_RESERVED0040 = 0x40 + MAP_RESERVED0080 = 0x80 + MAP_RESERVED0100 = 0x100 + MAP_SHARED = 0x1 + MAP_STACK = 0x400 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MSG_CMSG_CLOEXEC = 0x40000 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_NBIO = 0x4000 + MSG_NOSIGNAL = 0x20000 + MSG_NOTIFICATION = 0x2000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x80000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLISTL = 0x5 + NET_RT_IFMALIST = 0x4 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_CLOSE = 0x100 + NOTE_CLOSE_WRITE = 0x200 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FILE_POLL = 0x2 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MSECONDS = 0x2 + NOTE_NSECONDS = 0x8 + NOTE_OPEN = 0x80 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_READ = 0x400 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x4 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x100000 + O_CREAT = 0x200 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x20000 + O_EXCL = 0x800 + O_EXEC = 0x40000 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_TTY_INIT = 0x80000 + O_VERIFY = 0x200000 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FIXEDMTU = 0x80000 + RTF_FMASK = 0x1004d808 + RTF_GATEWAY = 0x2 + RTF_GWFLAG_COMPAT = 0x80000000 + RTF_HOST = 0x4 + RTF_LLDATA = 0x400 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_PINNED = 0x100000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_RNH_LOCKED = 0x40000000 + RTF_STATIC = 0x800 + RTF_STICKY = 0x10000000 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x12 + RTM_IFANNOUNCE = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RTV_WEIGHT = 0x100 + RT_ALL_FIBS = -0x1 + RT_BLACKHOLE = 0x40 + RT_CACHING_CONTEXT = 0x1 + RT_DEFAULT_FIB = 0x0 + RT_HAS_GW = 0x80 + RT_HAS_HEADER = 0x10 + RT_HAS_HEADER_BIT = 0x4 + RT_L2_ME = 0x4 + RT_L2_ME_BIT = 0x2 + RT_LLE_CACHE = 0x100 + RT_MAY_LOOP = 0x8 + RT_MAY_LOOP_BIT = 0x3 + RT_NORTREF = 0x2 + RT_REJECT = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_BINTIME = 0x4 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80246987 + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80246989 + SIOCDIFPHYADDR = 0x80206949 + SIOCGDRVSPEC = 0xc01c697b + SIOCGETSGCNT = 0xc0147210 + SIOCGETVIFCNT = 0xc014720f + SIOCGHIWAT = 0x40047301 + SIOCGHWADDR = 0xc020693e + SIOCGI2C = 0xc020693d + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0086924 + SIOCGIFDESCR = 0xc020692a + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFIB = 0xc020695c + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc024698a + SIOCGIFGROUP = 0xc0246988 + SIOCGIFINDEX = 0xc0206920 + SIOCGIFMAC = 0xc0206926 + SIOCGIFMEDIA = 0xc0286938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFXMEDIA = 0xc028698b + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGPRIVATE_0 = 0xc0206950 + SIOCGPRIVATE_1 = 0xc0206951 + SIOCGTUNFIB = 0xc020695e + SIOCIFCREATE = 0xc020697a + SIOCIFCREATE2 = 0xc020697c + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCSDRVSPEC = 0x801c697b + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020691e + SIOCSIFDESCR = 0x80206929 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFIB = 0x8020695d + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206927 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNAME = 0x80206928 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPHYS = 0x80206936 + SIOCSIFRVNET = 0xc020695b + SIOCSIFVNET = 0xc020695a + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSTUNFIB = 0x8020695f + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_NONBLOCK = 0x20000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BINTIME = 0x2000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1009 + SO_LINGER = 0x80 + SO_LISTENINCQLEN = 0x1013 + SO_LISTENQLEN = 0x1012 + SO_LISTENQLIMIT = 0x1011 + SO_NOSIGPIPE = 0x800 + SO_NO_DDP = 0x8000 + SO_NO_OFFLOAD = 0x4000 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1010 + SO_PROTOCOL = 0x1016 + SO_PROTOTYPE = 0x1016 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SETFIB = 0x1014 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USER_COOKIE = 0x1015 + SO_VENDOR = 0x80000000 + TAB0 = 0x0 + TAB3 = 0x4 + TABDLY = 0x4 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CA_NAME_MAX = 0x10 + TCP_CCALGOOPT = 0x41 + TCP_CONGESTION = 0x40 + TCP_FASTOPEN = 0x401 + TCP_FUNCTION_BLK = 0x2000 + TCP_FUNCTION_NAME_LEN_MAX = 0x20 + TCP_INFO = 0x20 + TCP_KEEPCNT = 0x400 + TCP_KEEPIDLE = 0x100 + TCP_KEEPINIT = 0x80 + TCP_KEEPINTVL = 0x200 + TCP_MAXBURST = 0x4 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_PCAP_IN = 0x1000 + TCP_PCAP_OUT = 0x800 + TCP_VENDOR = 0x80000000 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGPTN = 0x4004740f + TIOCGSID = 0x40047463 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DCD = 0x40 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMASTER = 0x2000741c + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + WEXITED = 0x10 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 + WNOWAIT = 0x8 + WSTOPPED = 0x2 + WTRAPPED = 0x20 + WUNTRACED = 0x2 ) // Errors 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 a6b3b5f14..4066ad1e0 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go @@ -36,7 +36,7 @@ const ( AF_KEY = 0xf AF_LLC = 0x1a AF_LOCAL = 0x1 - AF_MAX = 0x2b + AF_MAX = 0x2c AF_MPLS = 0x1c AF_NETBEUI = 0xd AF_NETLINK = 0x10 @@ -51,6 +51,7 @@ const ( AF_ROUTE = 0x10 AF_RXRPC = 0x21 AF_SECURITY = 0xe + AF_SMC = 0x2b AF_SNA = 0x16 AF_TIPC = 0x1e AF_UNIX = 0x1 @@ -129,6 +130,7 @@ const ( ARPHRD_TUNNEL = 0x300 ARPHRD_TUNNEL6 = 0x301 ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a ARPHRD_X25 = 0x10f B0 = 0x0 B1000000 = 0x1008 @@ -392,6 +394,7 @@ const ( ETH_P_FIP = 0x8914 ETH_P_HDLC = 0x19 ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 ETH_P_IEEE802154 = 0xf6 ETH_P_IEEEPUP = 0xa00 ETH_P_IEEEPUPAT = 0xa01 @@ -453,6 +456,8 @@ const ( FF1 = 0x8000 FFDLY = 0x8000 FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 @@ -507,6 +512,19 @@ const ( F_ULOCK = 0x0 F_UNLCK = 0x2 F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 GRND_NONBLOCK = 0x1 GRND_RANDOM = 0x2 HUPCL = 0x400 @@ -644,8 +662,10 @@ const ( IPV6_2292PKTOPTIONS = 0x6 IPV6_2292RTHDR = 0x5 IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 IPV6_ADD_MEMBERSHIP = 0x14 IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 IPV6_CHECKSUM = 0x7 IPV6_DONTFRAG = 0x3e IPV6_DROP_MEMBERSHIP = 0x15 @@ -658,12 +678,14 @@ const ( IPV6_JOIN_GROUP = 0x14 IPV6_LEAVE_ANYCAST = 0x1c IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 IPV6_MTU = 0x18 IPV6_MTU_DISCOVER = 0x17 IPV6_MULTICAST_HOPS = 0x12 IPV6_MULTICAST_IF = 0x11 IPV6_MULTICAST_LOOP = 0x13 IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a IPV6_PATHMTU = 0x3d IPV6_PKTINFO = 0x32 IPV6_PMTUDISC_DO = 0x2 @@ -674,8 +696,10 @@ const ( IPV6_PMTUDISC_WANT = 0x1 IPV6_RECVDSTOPTS = 0x3a IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d IPV6_RECVHOPLIMIT = 0x33 IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a IPV6_RECVPATHMTU = 0x3c IPV6_RECVPKTINFO = 0x31 IPV6_RECVRTHDR = 0x38 @@ -689,7 +713,9 @@ const ( IPV6_RXDSTOPTS = 0x3b IPV6_RXHOPOPTS = 0x36 IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c IPV6_V6ONLY = 0x1a IPV6_XFRM_POLICY = 0x23 IP_ADD_MEMBERSHIP = 0x23 @@ -732,6 +758,7 @@ const ( IP_PMTUDISC_PROBE = 0x3 IP_PMTUDISC_WANT = 0x1 IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 IP_RECVOPTS = 0x6 IP_RECVORIGDSTADDR = 0x14 IP_RECVRETOPTS = 0x7 @@ -769,6 +796,7 @@ const ( KEYCTL_NEGATE = 0xd KEYCTL_READ = 0xb KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d KEYCTL_REVOKE = 0x3 KEYCTL_SEARCH = 0xa KEYCTL_SESSION_TO_PARENT = 0x12 @@ -902,6 +930,7 @@ const ( MS_SILENT = 0x8000 MS_SLAVE = 0x80000 MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 MS_SYNC = 0x4 MS_SYNCHRONOUS = 0x10 MS_UNBINDABLE = 0x20000 @@ -916,6 +945,7 @@ const ( NETLINK_DNRTMSG = 0xe NETLINK_DROP_MEMBERSHIP = 0x2 NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb NETLINK_FIB_LOOKUP = 0xa NETLINK_FIREWALL = 0x3 NETLINK_GENERIC = 0x10 @@ -934,6 +964,7 @@ const ( NETLINK_RX_RING = 0x6 NETLINK_SCSITRANSPORT = 0x12 NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 NETLINK_SOCK_DIAG = 0x4 NETLINK_TX_RING = 0x7 NETLINK_UNUSED = 0x1 @@ -954,8 +985,10 @@ const ( NLMSG_NOOP = 0x1 NLMSG_OVERRUN = 0x4 NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 NLM_F_APPEND = 0x800 NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 NLM_F_CREATE = 0x400 NLM_F_DUMP = 0x300 NLM_F_DUMP_FILTERED = 0x20 @@ -1012,6 +1045,7 @@ const ( PACKET_FANOUT_EBPF = 0x7 PACKET_FANOUT_FLAG_DEFRAG = 0x8000 PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 PACKET_FANOUT_HASH = 0x0 PACKET_FANOUT_LB = 0x1 PACKET_FANOUT_QM = 0x5 @@ -1268,7 +1302,7 @@ const ( RTAX_UNSPEC = 0x0 RTAX_WINDOW = 0x3 RTA_ALIGNTO = 0x4 - RTA_MAX = 0x19 + RTA_MAX = 0x1a RTCF_DIRECTSRC = 0x4000000 RTCF_DOREDIRECT = 0x1000000 RTCF_LOG = 0x2000000 @@ -1312,6 +1346,7 @@ const ( RTM_DELLINK = 0x11 RTM_DELMDB = 0x55 RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 RTM_DELNSID = 0x59 RTM_DELQDISC = 0x25 RTM_DELROUTE = 0x19 @@ -1320,6 +1355,7 @@ const ( RTM_DELTFILTER = 0x2d RTM_F_CLONED = 0x200 RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 RTM_F_LOOKUP_TABLE = 0x1000 RTM_F_NOTIFY = 0x100 RTM_F_PREFIX = 0x800 @@ -1341,10 +1377,11 @@ const ( RTM_GETSTATS = 0x5e RTM_GETTCLASS = 0x2a RTM_GETTFILTER = 0x2e - RTM_MAX = 0x5f + RTM_MAX = 0x63 RTM_NEWACTION = 0x30 RTM_NEWADDR = 0x14 RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 RTM_NEWLINK = 0x10 RTM_NEWMDB = 0x54 RTM_NEWNDUSEROPT = 0x44 @@ -1359,8 +1396,8 @@ const ( RTM_NEWSTATS = 0x5c RTM_NEWTCLASS = 0x28 RTM_NEWTFILTER = 0x2c - RTM_NR_FAMILIES = 0x14 - RTM_NR_MSGTYPES = 0x50 + RTM_NR_FAMILIES = 0x15 + RTM_NR_MSGTYPES = 0x54 RTM_SETDCB = 0x4f RTM_SETLINK = 0x13 RTM_SETNEIGHTBL = 0x43 @@ -1371,6 +1408,7 @@ const ( RTNH_F_OFFLOAD = 0x8 RTNH_F_ONLINK = 0x4 RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 RTN_MAX = 0xb RTPROT_BABEL = 0x2a RTPROT_BIRD = 0xc @@ -1401,6 +1439,7 @@ const ( SCM_TIMESTAMP = 0x1d SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a SCM_TIMESTAMPNS = 0x23 SCM_WIFI_STATUS = 0x29 SECCOMP_MODE_DISABLED = 0x0 @@ -1539,6 +1578,7 @@ const ( SO_BSDCOMPAT = 0xe SO_BUSY_POLL = 0x2e SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 SO_DEBUG = 0x1 SO_DETACH_BPF = 0x1b SO_DETACH_FILTER = 0x1b @@ -1547,11 +1587,13 @@ const ( SO_ERROR = 0x4 SO_GET_FILTER = 0x1a 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_NOFCS = 0x2b SO_NO_CHECK = 0xb SO_OOBINLINE = 0xa @@ -1559,6 +1601,7 @@ const ( SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b SO_PEERNAME = 0x1c SO_PEERSEC = 0x1f SO_PRIORITY = 0xc @@ -1626,6 +1669,12 @@ const ( TAB2 = 0x1000 TAB3 = 0x1800 TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x8 TCFLSH = 0x540b TCGETA = 0x5405 TCGETS = 0x5401 @@ -1649,6 +1698,7 @@ const ( TCP_CORK = 0x3 TCP_DEFER_ACCEPT = 0x9 TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e TCP_INFO = 0xb TCP_KEEPCNT = 0x6 TCP_KEEPIDLE = 0x4 @@ -1708,6 +1758,7 @@ const ( TIOCGPKT = 0x80045438 TIOCGPTLCK = 0x80045439 TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 TIOCGRS485 = 0x542e TIOCGSERIAL = 0x541e TIOCGSID = 0x5429 @@ -1765,6 +1816,7 @@ const ( TIOCSWINSZ = 0x5414 TIOCVHANGUP = 0x5437 TOSTOP = 0x100 + TS_COMM_LEN = 0x20 TUNATTACHFILTER = 0x400854d5 TUNDETACHFILTER = 0x400854d6 TUNGETFEATURES = 0x800454cf @@ -1999,7 +2051,6 @@ const ( SIGTSTP = syscall.Signal(0x14) SIGTTIN = syscall.Signal(0x15) SIGTTOU = syscall.Signal(0x16) - SIGUNUSED = syscall.Signal(0x1f) SIGURG = syscall.Signal(0x17) SIGUSR1 = syscall.Signal(0xa) SIGUSR2 = syscall.Signal(0xc) 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 4ffc8d29c..c9f53b0b3 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go @@ -36,7 +36,7 @@ const ( AF_KEY = 0xf AF_LLC = 0x1a AF_LOCAL = 0x1 - AF_MAX = 0x2b + AF_MAX = 0x2c AF_MPLS = 0x1c AF_NETBEUI = 0xd AF_NETLINK = 0x10 @@ -51,6 +51,7 @@ const ( AF_ROUTE = 0x10 AF_RXRPC = 0x21 AF_SECURITY = 0xe + AF_SMC = 0x2b AF_SNA = 0x16 AF_TIPC = 0x1e AF_UNIX = 0x1 @@ -129,6 +130,7 @@ const ( ARPHRD_TUNNEL = 0x300 ARPHRD_TUNNEL6 = 0x301 ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a ARPHRD_X25 = 0x10f B0 = 0x0 B1000000 = 0x1008 @@ -392,6 +394,7 @@ const ( ETH_P_FIP = 0x8914 ETH_P_HDLC = 0x19 ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 ETH_P_IEEE802154 = 0xf6 ETH_P_IEEEPUP = 0xa00 ETH_P_IEEEPUPAT = 0xa01 @@ -453,6 +456,8 @@ const ( FF1 = 0x8000 FFDLY = 0x8000 FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 @@ -507,6 +512,19 @@ const ( F_ULOCK = 0x0 F_UNLCK = 0x2 F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 GRND_NONBLOCK = 0x1 GRND_RANDOM = 0x2 HUPCL = 0x400 @@ -644,8 +662,10 @@ const ( IPV6_2292PKTOPTIONS = 0x6 IPV6_2292RTHDR = 0x5 IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 IPV6_ADD_MEMBERSHIP = 0x14 IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 IPV6_CHECKSUM = 0x7 IPV6_DONTFRAG = 0x3e IPV6_DROP_MEMBERSHIP = 0x15 @@ -658,12 +678,14 @@ const ( IPV6_JOIN_GROUP = 0x14 IPV6_LEAVE_ANYCAST = 0x1c IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 IPV6_MTU = 0x18 IPV6_MTU_DISCOVER = 0x17 IPV6_MULTICAST_HOPS = 0x12 IPV6_MULTICAST_IF = 0x11 IPV6_MULTICAST_LOOP = 0x13 IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a IPV6_PATHMTU = 0x3d IPV6_PKTINFO = 0x32 IPV6_PMTUDISC_DO = 0x2 @@ -674,8 +696,10 @@ const ( IPV6_PMTUDISC_WANT = 0x1 IPV6_RECVDSTOPTS = 0x3a IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d IPV6_RECVHOPLIMIT = 0x33 IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a IPV6_RECVPATHMTU = 0x3c IPV6_RECVPKTINFO = 0x31 IPV6_RECVRTHDR = 0x38 @@ -689,7 +713,9 @@ const ( IPV6_RXDSTOPTS = 0x3b IPV6_RXHOPOPTS = 0x36 IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c IPV6_V6ONLY = 0x1a IPV6_XFRM_POLICY = 0x23 IP_ADD_MEMBERSHIP = 0x23 @@ -732,6 +758,7 @@ const ( IP_PMTUDISC_PROBE = 0x3 IP_PMTUDISC_WANT = 0x1 IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 IP_RECVOPTS = 0x6 IP_RECVORIGDSTADDR = 0x14 IP_RECVRETOPTS = 0x7 @@ -769,6 +796,7 @@ const ( KEYCTL_NEGATE = 0xd KEYCTL_READ = 0xb KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d KEYCTL_REVOKE = 0x3 KEYCTL_SEARCH = 0xa KEYCTL_SESSION_TO_PARENT = 0x12 @@ -902,6 +930,7 @@ const ( MS_SILENT = 0x8000 MS_SLAVE = 0x80000 MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 MS_SYNC = 0x4 MS_SYNCHRONOUS = 0x10 MS_UNBINDABLE = 0x20000 @@ -916,6 +945,7 @@ const ( NETLINK_DNRTMSG = 0xe NETLINK_DROP_MEMBERSHIP = 0x2 NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb NETLINK_FIB_LOOKUP = 0xa NETLINK_FIREWALL = 0x3 NETLINK_GENERIC = 0x10 @@ -934,6 +964,7 @@ const ( NETLINK_RX_RING = 0x6 NETLINK_SCSITRANSPORT = 0x12 NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 NETLINK_SOCK_DIAG = 0x4 NETLINK_TX_RING = 0x7 NETLINK_UNUSED = 0x1 @@ -954,8 +985,10 @@ const ( NLMSG_NOOP = 0x1 NLMSG_OVERRUN = 0x4 NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 NLM_F_APPEND = 0x800 NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 NLM_F_CREATE = 0x400 NLM_F_DUMP = 0x300 NLM_F_DUMP_FILTERED = 0x20 @@ -1012,6 +1045,7 @@ const ( PACKET_FANOUT_EBPF = 0x7 PACKET_FANOUT_FLAG_DEFRAG = 0x8000 PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 PACKET_FANOUT_HASH = 0x0 PACKET_FANOUT_LB = 0x1 PACKET_FANOUT_QM = 0x5 @@ -1269,7 +1303,7 @@ const ( RTAX_UNSPEC = 0x0 RTAX_WINDOW = 0x3 RTA_ALIGNTO = 0x4 - RTA_MAX = 0x19 + RTA_MAX = 0x1a RTCF_DIRECTSRC = 0x4000000 RTCF_DOREDIRECT = 0x1000000 RTCF_LOG = 0x2000000 @@ -1313,6 +1347,7 @@ const ( RTM_DELLINK = 0x11 RTM_DELMDB = 0x55 RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 RTM_DELNSID = 0x59 RTM_DELQDISC = 0x25 RTM_DELROUTE = 0x19 @@ -1321,6 +1356,7 @@ const ( RTM_DELTFILTER = 0x2d RTM_F_CLONED = 0x200 RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 RTM_F_LOOKUP_TABLE = 0x1000 RTM_F_NOTIFY = 0x100 RTM_F_PREFIX = 0x800 @@ -1342,10 +1378,11 @@ const ( RTM_GETSTATS = 0x5e RTM_GETTCLASS = 0x2a RTM_GETTFILTER = 0x2e - RTM_MAX = 0x5f + RTM_MAX = 0x63 RTM_NEWACTION = 0x30 RTM_NEWADDR = 0x14 RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 RTM_NEWLINK = 0x10 RTM_NEWMDB = 0x54 RTM_NEWNDUSEROPT = 0x44 @@ -1360,8 +1397,8 @@ const ( RTM_NEWSTATS = 0x5c RTM_NEWTCLASS = 0x28 RTM_NEWTFILTER = 0x2c - RTM_NR_FAMILIES = 0x14 - RTM_NR_MSGTYPES = 0x50 + RTM_NR_FAMILIES = 0x15 + RTM_NR_MSGTYPES = 0x54 RTM_SETDCB = 0x4f RTM_SETLINK = 0x13 RTM_SETNEIGHTBL = 0x43 @@ -1372,6 +1409,7 @@ const ( RTNH_F_OFFLOAD = 0x8 RTNH_F_ONLINK = 0x4 RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 RTN_MAX = 0xb RTPROT_BABEL = 0x2a RTPROT_BIRD = 0xc @@ -1402,6 +1440,7 @@ const ( SCM_TIMESTAMP = 0x1d SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a SCM_TIMESTAMPNS = 0x23 SCM_WIFI_STATUS = 0x29 SECCOMP_MODE_DISABLED = 0x0 @@ -1540,6 +1579,7 @@ const ( SO_BSDCOMPAT = 0xe SO_BUSY_POLL = 0x2e SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 SO_DEBUG = 0x1 SO_DETACH_BPF = 0x1b SO_DETACH_FILTER = 0x1b @@ -1548,11 +1588,13 @@ const ( SO_ERROR = 0x4 SO_GET_FILTER = 0x1a 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_NOFCS = 0x2b SO_NO_CHECK = 0xb SO_OOBINLINE = 0xa @@ -1560,6 +1602,7 @@ const ( SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b SO_PEERNAME = 0x1c SO_PEERSEC = 0x1f SO_PRIORITY = 0xc @@ -1627,6 +1670,12 @@ const ( TAB2 = 0x1000 TAB3 = 0x1800 TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x8 TCFLSH = 0x540b TCGETA = 0x5405 TCGETS = 0x5401 @@ -1650,6 +1699,7 @@ const ( TCP_CORK = 0x3 TCP_DEFER_ACCEPT = 0x9 TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e TCP_INFO = 0xb TCP_KEEPCNT = 0x6 TCP_KEEPIDLE = 0x4 @@ -1709,6 +1759,7 @@ const ( TIOCGPKT = 0x80045438 TIOCGPTLCK = 0x80045439 TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 TIOCGRS485 = 0x542e TIOCGSERIAL = 0x541e TIOCGSID = 0x5429 @@ -1766,6 +1817,7 @@ const ( TIOCSWINSZ = 0x5414 TIOCVHANGUP = 0x5437 TOSTOP = 0x100 + TS_COMM_LEN = 0x20 TUNATTACHFILTER = 0x401054d5 TUNDETACHFILTER = 0x401054d6 TUNGETFEATURES = 0x800454cf @@ -2000,7 +2052,6 @@ const ( SIGTSTP = syscall.Signal(0x14) SIGTTIN = syscall.Signal(0x15) SIGTTOU = syscall.Signal(0x16) - SIGUNUSED = syscall.Signal(0x1f) SIGURG = syscall.Signal(0x17) SIGUSR1 = syscall.Signal(0xa) SIGUSR2 = syscall.Signal(0xc) 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 f4b178ef1..3e8c2c7aa 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go @@ -36,7 +36,7 @@ const ( AF_KEY = 0xf AF_LLC = 0x1a AF_LOCAL = 0x1 - AF_MAX = 0x2b + AF_MAX = 0x2c AF_MPLS = 0x1c AF_NETBEUI = 0xd AF_NETLINK = 0x10 @@ -51,6 +51,7 @@ const ( AF_ROUTE = 0x10 AF_RXRPC = 0x21 AF_SECURITY = 0xe + AF_SMC = 0x2b AF_SNA = 0x16 AF_TIPC = 0x1e AF_UNIX = 0x1 @@ -129,6 +130,7 @@ const ( ARPHRD_TUNNEL = 0x300 ARPHRD_TUNNEL6 = 0x301 ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a ARPHRD_X25 = 0x10f B0 = 0x0 B1000000 = 0x1008 @@ -392,6 +394,7 @@ const ( ETH_P_FIP = 0x8914 ETH_P_HDLC = 0x19 ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 ETH_P_IEEE802154 = 0xf6 ETH_P_IEEEPUP = 0xa00 ETH_P_IEEEPUPAT = 0xa01 @@ -453,6 +456,8 @@ const ( FF1 = 0x8000 FFDLY = 0x8000 FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 @@ -507,6 +512,19 @@ const ( F_ULOCK = 0x0 F_UNLCK = 0x2 F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 GRND_NONBLOCK = 0x1 GRND_RANDOM = 0x2 HUPCL = 0x400 @@ -644,8 +662,10 @@ const ( IPV6_2292PKTOPTIONS = 0x6 IPV6_2292RTHDR = 0x5 IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 IPV6_ADD_MEMBERSHIP = 0x14 IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 IPV6_CHECKSUM = 0x7 IPV6_DONTFRAG = 0x3e IPV6_DROP_MEMBERSHIP = 0x15 @@ -658,12 +678,14 @@ const ( IPV6_JOIN_GROUP = 0x14 IPV6_LEAVE_ANYCAST = 0x1c IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 IPV6_MTU = 0x18 IPV6_MTU_DISCOVER = 0x17 IPV6_MULTICAST_HOPS = 0x12 IPV6_MULTICAST_IF = 0x11 IPV6_MULTICAST_LOOP = 0x13 IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a IPV6_PATHMTU = 0x3d IPV6_PKTINFO = 0x32 IPV6_PMTUDISC_DO = 0x2 @@ -674,8 +696,10 @@ const ( IPV6_PMTUDISC_WANT = 0x1 IPV6_RECVDSTOPTS = 0x3a IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d IPV6_RECVHOPLIMIT = 0x33 IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a IPV6_RECVPATHMTU = 0x3c IPV6_RECVPKTINFO = 0x31 IPV6_RECVRTHDR = 0x38 @@ -689,7 +713,9 @@ const ( IPV6_RXDSTOPTS = 0x3b IPV6_RXHOPOPTS = 0x36 IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c IPV6_V6ONLY = 0x1a IPV6_XFRM_POLICY = 0x23 IP_ADD_MEMBERSHIP = 0x23 @@ -732,6 +758,7 @@ const ( IP_PMTUDISC_PROBE = 0x3 IP_PMTUDISC_WANT = 0x1 IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 IP_RECVOPTS = 0x6 IP_RECVORIGDSTADDR = 0x14 IP_RECVRETOPTS = 0x7 @@ -769,6 +796,7 @@ const ( KEYCTL_NEGATE = 0xd KEYCTL_READ = 0xb KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d KEYCTL_REVOKE = 0x3 KEYCTL_SEARCH = 0xa KEYCTL_SESSION_TO_PARENT = 0x12 @@ -901,6 +929,7 @@ const ( MS_SILENT = 0x8000 MS_SLAVE = 0x80000 MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 MS_SYNC = 0x4 MS_SYNCHRONOUS = 0x10 MS_UNBINDABLE = 0x20000 @@ -915,6 +944,7 @@ const ( NETLINK_DNRTMSG = 0xe NETLINK_DROP_MEMBERSHIP = 0x2 NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb NETLINK_FIB_LOOKUP = 0xa NETLINK_FIREWALL = 0x3 NETLINK_GENERIC = 0x10 @@ -933,6 +963,7 @@ const ( NETLINK_RX_RING = 0x6 NETLINK_SCSITRANSPORT = 0x12 NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 NETLINK_SOCK_DIAG = 0x4 NETLINK_TX_RING = 0x7 NETLINK_UNUSED = 0x1 @@ -953,8 +984,10 @@ const ( NLMSG_NOOP = 0x1 NLMSG_OVERRUN = 0x4 NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 NLM_F_APPEND = 0x800 NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 NLM_F_CREATE = 0x400 NLM_F_DUMP = 0x300 NLM_F_DUMP_FILTERED = 0x20 @@ -1011,6 +1044,7 @@ const ( PACKET_FANOUT_EBPF = 0x7 PACKET_FANOUT_FLAG_DEFRAG = 0x8000 PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 PACKET_FANOUT_HASH = 0x0 PACKET_FANOUT_LB = 0x1 PACKET_FANOUT_QM = 0x5 @@ -1273,7 +1307,7 @@ const ( RTAX_UNSPEC = 0x0 RTAX_WINDOW = 0x3 RTA_ALIGNTO = 0x4 - RTA_MAX = 0x19 + RTA_MAX = 0x1a RTCF_DIRECTSRC = 0x4000000 RTCF_DOREDIRECT = 0x1000000 RTCF_LOG = 0x2000000 @@ -1317,6 +1351,7 @@ const ( RTM_DELLINK = 0x11 RTM_DELMDB = 0x55 RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 RTM_DELNSID = 0x59 RTM_DELQDISC = 0x25 RTM_DELROUTE = 0x19 @@ -1325,6 +1360,7 @@ const ( RTM_DELTFILTER = 0x2d RTM_F_CLONED = 0x200 RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 RTM_F_LOOKUP_TABLE = 0x1000 RTM_F_NOTIFY = 0x100 RTM_F_PREFIX = 0x800 @@ -1346,10 +1382,11 @@ const ( RTM_GETSTATS = 0x5e RTM_GETTCLASS = 0x2a RTM_GETTFILTER = 0x2e - RTM_MAX = 0x5f + RTM_MAX = 0x63 RTM_NEWACTION = 0x30 RTM_NEWADDR = 0x14 RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 RTM_NEWLINK = 0x10 RTM_NEWMDB = 0x54 RTM_NEWNDUSEROPT = 0x44 @@ -1364,8 +1401,8 @@ const ( RTM_NEWSTATS = 0x5c RTM_NEWTCLASS = 0x28 RTM_NEWTFILTER = 0x2c - RTM_NR_FAMILIES = 0x14 - RTM_NR_MSGTYPES = 0x50 + RTM_NR_FAMILIES = 0x15 + RTM_NR_MSGTYPES = 0x54 RTM_SETDCB = 0x4f RTM_SETLINK = 0x13 RTM_SETNEIGHTBL = 0x43 @@ -1376,6 +1413,7 @@ const ( RTNH_F_OFFLOAD = 0x8 RTNH_F_ONLINK = 0x4 RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 RTN_MAX = 0xb RTPROT_BABEL = 0x2a RTPROT_BIRD = 0xc @@ -1406,6 +1444,7 @@ const ( SCM_TIMESTAMP = 0x1d SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a SCM_TIMESTAMPNS = 0x23 SCM_WIFI_STATUS = 0x29 SECCOMP_MODE_DISABLED = 0x0 @@ -1544,6 +1583,7 @@ const ( SO_BSDCOMPAT = 0xe SO_BUSY_POLL = 0x2e SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 SO_DEBUG = 0x1 SO_DETACH_BPF = 0x1b SO_DETACH_FILTER = 0x1b @@ -1552,11 +1592,13 @@ const ( SO_ERROR = 0x4 SO_GET_FILTER = 0x1a 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_NOFCS = 0x2b SO_NO_CHECK = 0xb SO_OOBINLINE = 0xa @@ -1564,6 +1606,7 @@ const ( SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b SO_PEERNAME = 0x1c SO_PEERSEC = 0x1f SO_PRIORITY = 0xc @@ -1631,6 +1674,12 @@ const ( TAB2 = 0x1000 TAB3 = 0x1800 TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x8 TCFLSH = 0x540b TCGETA = 0x5405 TCGETS = 0x5401 @@ -1654,6 +1703,7 @@ const ( TCP_CORK = 0x3 TCP_DEFER_ACCEPT = 0x9 TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e TCP_INFO = 0xb TCP_KEEPCNT = 0x6 TCP_KEEPIDLE = 0x4 @@ -1713,6 +1763,7 @@ const ( TIOCGPKT = 0x80045438 TIOCGPTLCK = 0x80045439 TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 TIOCGRS485 = 0x542e TIOCGSERIAL = 0x541e TIOCGSID = 0x5429 @@ -1770,6 +1821,7 @@ const ( TIOCSWINSZ = 0x5414 TIOCVHANGUP = 0x5437 TOSTOP = 0x100 + TS_COMM_LEN = 0x20 TUNATTACHFILTER = 0x400854d5 TUNDETACHFILTER = 0x400854d6 TUNGETFEATURES = 0x800454cf @@ -2004,7 +2056,6 @@ const ( SIGTSTP = syscall.Signal(0x14) SIGTTIN = syscall.Signal(0x15) SIGTTOU = syscall.Signal(0x16) - SIGUNUSED = syscall.Signal(0x1f) SIGURG = syscall.Signal(0x17) SIGUSR1 = syscall.Signal(0xa) SIGUSR2 = syscall.Signal(0xc) 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 495f13b61..383453349 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go @@ -36,7 +36,7 @@ const ( AF_KEY = 0xf AF_LLC = 0x1a AF_LOCAL = 0x1 - AF_MAX = 0x2b + AF_MAX = 0x2c AF_MPLS = 0x1c AF_NETBEUI = 0xd AF_NETLINK = 0x10 @@ -51,6 +51,7 @@ const ( AF_ROUTE = 0x10 AF_RXRPC = 0x21 AF_SECURITY = 0xe + AF_SMC = 0x2b AF_SNA = 0x16 AF_TIPC = 0x1e AF_UNIX = 0x1 @@ -129,6 +130,7 @@ const ( ARPHRD_TUNNEL = 0x300 ARPHRD_TUNNEL6 = 0x301 ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a ARPHRD_X25 = 0x10f B0 = 0x0 B1000000 = 0x1008 @@ -393,6 +395,7 @@ const ( ETH_P_FIP = 0x8914 ETH_P_HDLC = 0x19 ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 ETH_P_IEEE802154 = 0xf6 ETH_P_IEEEPUP = 0xa00 ETH_P_IEEEPUPAT = 0xa01 @@ -441,6 +444,7 @@ const ( EXTA = 0xe EXTB = 0xf EXTPROC = 0x10000 + EXTRA_MAGIC = 0x45585401 FALLOC_FL_COLLAPSE_RANGE = 0x8 FALLOC_FL_INSERT_RANGE = 0x20 FALLOC_FL_KEEP_SIZE = 0x1 @@ -454,6 +458,8 @@ const ( FF1 = 0x8000 FFDLY = 0x8000 FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 @@ -508,6 +514,19 @@ const ( F_ULOCK = 0x0 F_UNLCK = 0x2 F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 GRND_NONBLOCK = 0x1 GRND_RANDOM = 0x2 HUPCL = 0x400 @@ -645,8 +664,10 @@ const ( IPV6_2292PKTOPTIONS = 0x6 IPV6_2292RTHDR = 0x5 IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 IPV6_ADD_MEMBERSHIP = 0x14 IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 IPV6_CHECKSUM = 0x7 IPV6_DONTFRAG = 0x3e IPV6_DROP_MEMBERSHIP = 0x15 @@ -659,12 +680,14 @@ const ( IPV6_JOIN_GROUP = 0x14 IPV6_LEAVE_ANYCAST = 0x1c IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 IPV6_MTU = 0x18 IPV6_MTU_DISCOVER = 0x17 IPV6_MULTICAST_HOPS = 0x12 IPV6_MULTICAST_IF = 0x11 IPV6_MULTICAST_LOOP = 0x13 IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a IPV6_PATHMTU = 0x3d IPV6_PKTINFO = 0x32 IPV6_PMTUDISC_DO = 0x2 @@ -675,8 +698,10 @@ const ( IPV6_PMTUDISC_WANT = 0x1 IPV6_RECVDSTOPTS = 0x3a IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d IPV6_RECVHOPLIMIT = 0x33 IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a IPV6_RECVPATHMTU = 0x3c IPV6_RECVPKTINFO = 0x31 IPV6_RECVRTHDR = 0x38 @@ -690,7 +715,9 @@ const ( IPV6_RXDSTOPTS = 0x3b IPV6_RXHOPOPTS = 0x36 IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c IPV6_V6ONLY = 0x1a IPV6_XFRM_POLICY = 0x23 IP_ADD_MEMBERSHIP = 0x23 @@ -733,6 +760,7 @@ const ( IP_PMTUDISC_PROBE = 0x3 IP_PMTUDISC_WANT = 0x1 IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 IP_RECVOPTS = 0x6 IP_RECVORIGDSTADDR = 0x14 IP_RECVRETOPTS = 0x7 @@ -770,6 +798,7 @@ const ( KEYCTL_NEGATE = 0xd KEYCTL_READ = 0xb KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d KEYCTL_REVOKE = 0x3 KEYCTL_SEARCH = 0xa KEYCTL_SESSION_TO_PARENT = 0x12 @@ -902,6 +931,7 @@ const ( MS_SILENT = 0x8000 MS_SLAVE = 0x80000 MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 MS_SYNC = 0x4 MS_SYNCHRONOUS = 0x10 MS_UNBINDABLE = 0x20000 @@ -916,6 +946,7 @@ const ( NETLINK_DNRTMSG = 0xe NETLINK_DROP_MEMBERSHIP = 0x2 NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb NETLINK_FIB_LOOKUP = 0xa NETLINK_FIREWALL = 0x3 NETLINK_GENERIC = 0x10 @@ -934,6 +965,7 @@ const ( NETLINK_RX_RING = 0x6 NETLINK_SCSITRANSPORT = 0x12 NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 NETLINK_SOCK_DIAG = 0x4 NETLINK_TX_RING = 0x7 NETLINK_UNUSED = 0x1 @@ -954,8 +986,10 @@ const ( NLMSG_NOOP = 0x1 NLMSG_OVERRUN = 0x4 NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 NLM_F_APPEND = 0x800 NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 NLM_F_CREATE = 0x400 NLM_F_DUMP = 0x300 NLM_F_DUMP_FILTERED = 0x20 @@ -1012,6 +1046,7 @@ const ( PACKET_FANOUT_EBPF = 0x7 PACKET_FANOUT_FLAG_DEFRAG = 0x8000 PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 PACKET_FANOUT_HASH = 0x0 PACKET_FANOUT_LB = 0x1 PACKET_FANOUT_QM = 0x5 @@ -1258,7 +1293,7 @@ const ( RTAX_UNSPEC = 0x0 RTAX_WINDOW = 0x3 RTA_ALIGNTO = 0x4 - RTA_MAX = 0x19 + RTA_MAX = 0x1a RTCF_DIRECTSRC = 0x4000000 RTCF_DOREDIRECT = 0x1000000 RTCF_LOG = 0x2000000 @@ -1302,6 +1337,7 @@ const ( RTM_DELLINK = 0x11 RTM_DELMDB = 0x55 RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 RTM_DELNSID = 0x59 RTM_DELQDISC = 0x25 RTM_DELROUTE = 0x19 @@ -1310,6 +1346,7 @@ const ( RTM_DELTFILTER = 0x2d RTM_F_CLONED = 0x200 RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 RTM_F_LOOKUP_TABLE = 0x1000 RTM_F_NOTIFY = 0x100 RTM_F_PREFIX = 0x800 @@ -1331,10 +1368,11 @@ const ( RTM_GETSTATS = 0x5e RTM_GETTCLASS = 0x2a RTM_GETTFILTER = 0x2e - RTM_MAX = 0x5f + RTM_MAX = 0x63 RTM_NEWACTION = 0x30 RTM_NEWADDR = 0x14 RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 RTM_NEWLINK = 0x10 RTM_NEWMDB = 0x54 RTM_NEWNDUSEROPT = 0x44 @@ -1349,8 +1387,8 @@ const ( RTM_NEWSTATS = 0x5c RTM_NEWTCLASS = 0x28 RTM_NEWTFILTER = 0x2c - RTM_NR_FAMILIES = 0x14 - RTM_NR_MSGTYPES = 0x50 + RTM_NR_FAMILIES = 0x15 + RTM_NR_MSGTYPES = 0x54 RTM_SETDCB = 0x4f RTM_SETLINK = 0x13 RTM_SETNEIGHTBL = 0x43 @@ -1361,6 +1399,7 @@ const ( RTNH_F_OFFLOAD = 0x8 RTNH_F_ONLINK = 0x4 RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 RTN_MAX = 0xb RTPROT_BABEL = 0x2a RTPROT_BIRD = 0xc @@ -1391,6 +1430,7 @@ const ( SCM_TIMESTAMP = 0x1d SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a SCM_TIMESTAMPNS = 0x23 SCM_WIFI_STATUS = 0x29 SECCOMP_MODE_DISABLED = 0x0 @@ -1529,6 +1569,7 @@ const ( SO_BSDCOMPAT = 0xe SO_BUSY_POLL = 0x2e SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 SO_DEBUG = 0x1 SO_DETACH_BPF = 0x1b SO_DETACH_FILTER = 0x1b @@ -1537,11 +1578,13 @@ const ( SO_ERROR = 0x4 SO_GET_FILTER = 0x1a 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_NOFCS = 0x2b SO_NO_CHECK = 0xb SO_OOBINLINE = 0xa @@ -1549,6 +1592,7 @@ const ( SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b SO_PEERNAME = 0x1c SO_PEERSEC = 0x1f SO_PRIORITY = 0xc @@ -1616,6 +1660,12 @@ const ( TAB2 = 0x1000 TAB3 = 0x1800 TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x8 TCFLSH = 0x540b TCGETA = 0x5405 TCGETS = 0x5401 @@ -1639,6 +1689,7 @@ const ( TCP_CORK = 0x3 TCP_DEFER_ACCEPT = 0x9 TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e TCP_INFO = 0xb TCP_KEEPCNT = 0x6 TCP_KEEPIDLE = 0x4 @@ -1698,6 +1749,7 @@ const ( TIOCGPKT = 0x80045438 TIOCGPTLCK = 0x80045439 TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 TIOCGRS485 = 0x542e TIOCGSERIAL = 0x541e TIOCGSID = 0x5429 @@ -1755,6 +1807,7 @@ const ( TIOCSWINSZ = 0x5414 TIOCVHANGUP = 0x5437 TOSTOP = 0x100 + TS_COMM_LEN = 0x20 TUNATTACHFILTER = 0x401054d5 TUNDETACHFILTER = 0x401054d6 TUNGETFEATURES = 0x800454cf @@ -1989,7 +2042,6 @@ const ( SIGTSTP = syscall.Signal(0x14) SIGTTIN = syscall.Signal(0x15) SIGTTOU = syscall.Signal(0x16) - SIGUNUSED = syscall.Signal(0x1f) SIGURG = syscall.Signal(0x17) SIGUSR1 = syscall.Signal(0xa) SIGUSR2 = syscall.Signal(0xc) 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 59651e415..bde8f7d02 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go @@ -36,7 +36,7 @@ const ( AF_KEY = 0xf AF_LLC = 0x1a AF_LOCAL = 0x1 - AF_MAX = 0x2b + AF_MAX = 0x2c AF_MPLS = 0x1c AF_NETBEUI = 0xd AF_NETLINK = 0x10 @@ -51,6 +51,7 @@ const ( AF_ROUTE = 0x10 AF_RXRPC = 0x21 AF_SECURITY = 0xe + AF_SMC = 0x2b AF_SNA = 0x16 AF_TIPC = 0x1e AF_UNIX = 0x1 @@ -129,6 +130,7 @@ const ( ARPHRD_TUNNEL = 0x300 ARPHRD_TUNNEL6 = 0x301 ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a ARPHRD_X25 = 0x10f B0 = 0x0 B1000000 = 0x1008 @@ -392,6 +394,7 @@ const ( ETH_P_FIP = 0x8914 ETH_P_HDLC = 0x19 ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 ETH_P_IEEE802154 = 0xf6 ETH_P_IEEEPUP = 0xa00 ETH_P_IEEEPUPAT = 0xa01 @@ -453,6 +456,8 @@ const ( FF1 = 0x8000 FFDLY = 0x8000 FLUSHO = 0x2000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 @@ -507,6 +512,19 @@ const ( F_ULOCK = 0x0 F_UNLCK = 0x2 F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 GRND_NONBLOCK = 0x1 GRND_RANDOM = 0x2 HUPCL = 0x400 @@ -644,8 +662,10 @@ const ( IPV6_2292PKTOPTIONS = 0x6 IPV6_2292RTHDR = 0x5 IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 IPV6_ADD_MEMBERSHIP = 0x14 IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 IPV6_CHECKSUM = 0x7 IPV6_DONTFRAG = 0x3e IPV6_DROP_MEMBERSHIP = 0x15 @@ -658,12 +678,14 @@ const ( IPV6_JOIN_GROUP = 0x14 IPV6_LEAVE_ANYCAST = 0x1c IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 IPV6_MTU = 0x18 IPV6_MTU_DISCOVER = 0x17 IPV6_MULTICAST_HOPS = 0x12 IPV6_MULTICAST_IF = 0x11 IPV6_MULTICAST_LOOP = 0x13 IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a IPV6_PATHMTU = 0x3d IPV6_PKTINFO = 0x32 IPV6_PMTUDISC_DO = 0x2 @@ -674,8 +696,10 @@ const ( IPV6_PMTUDISC_WANT = 0x1 IPV6_RECVDSTOPTS = 0x3a IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d IPV6_RECVHOPLIMIT = 0x33 IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a IPV6_RECVPATHMTU = 0x3c IPV6_RECVPKTINFO = 0x31 IPV6_RECVRTHDR = 0x38 @@ -689,7 +713,9 @@ const ( IPV6_RXDSTOPTS = 0x3b IPV6_RXHOPOPTS = 0x36 IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c IPV6_V6ONLY = 0x1a IPV6_XFRM_POLICY = 0x23 IP_ADD_MEMBERSHIP = 0x23 @@ -732,6 +758,7 @@ const ( IP_PMTUDISC_PROBE = 0x3 IP_PMTUDISC_WANT = 0x1 IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 IP_RECVOPTS = 0x6 IP_RECVORIGDSTADDR = 0x14 IP_RECVRETOPTS = 0x7 @@ -769,6 +796,7 @@ const ( KEYCTL_NEGATE = 0xd KEYCTL_READ = 0xb KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d KEYCTL_REVOKE = 0x3 KEYCTL_SEARCH = 0xa KEYCTL_SESSION_TO_PARENT = 0x12 @@ -902,6 +930,7 @@ const ( MS_SILENT = 0x8000 MS_SLAVE = 0x80000 MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 MS_SYNC = 0x4 MS_SYNCHRONOUS = 0x10 MS_UNBINDABLE = 0x20000 @@ -916,6 +945,7 @@ const ( NETLINK_DNRTMSG = 0xe NETLINK_DROP_MEMBERSHIP = 0x2 NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb NETLINK_FIB_LOOKUP = 0xa NETLINK_FIREWALL = 0x3 NETLINK_GENERIC = 0x10 @@ -934,6 +964,7 @@ const ( NETLINK_RX_RING = 0x6 NETLINK_SCSITRANSPORT = 0x12 NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 NETLINK_SOCK_DIAG = 0x4 NETLINK_TX_RING = 0x7 NETLINK_UNUSED = 0x1 @@ -954,8 +985,10 @@ const ( NLMSG_NOOP = 0x1 NLMSG_OVERRUN = 0x4 NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 NLM_F_APPEND = 0x800 NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 NLM_F_CREATE = 0x400 NLM_F_DUMP = 0x300 NLM_F_DUMP_FILTERED = 0x20 @@ -1012,6 +1045,7 @@ const ( PACKET_FANOUT_EBPF = 0x7 PACKET_FANOUT_FLAG_DEFRAG = 0x8000 PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 PACKET_FANOUT_HASH = 0x0 PACKET_FANOUT_LB = 0x1 PACKET_FANOUT_QM = 0x5 @@ -1270,7 +1304,7 @@ const ( RTAX_UNSPEC = 0x0 RTAX_WINDOW = 0x3 RTA_ALIGNTO = 0x4 - RTA_MAX = 0x19 + RTA_MAX = 0x1a RTCF_DIRECTSRC = 0x4000000 RTCF_DOREDIRECT = 0x1000000 RTCF_LOG = 0x2000000 @@ -1314,6 +1348,7 @@ const ( RTM_DELLINK = 0x11 RTM_DELMDB = 0x55 RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 RTM_DELNSID = 0x59 RTM_DELQDISC = 0x25 RTM_DELROUTE = 0x19 @@ -1322,6 +1357,7 @@ const ( RTM_DELTFILTER = 0x2d RTM_F_CLONED = 0x200 RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 RTM_F_LOOKUP_TABLE = 0x1000 RTM_F_NOTIFY = 0x100 RTM_F_PREFIX = 0x800 @@ -1343,10 +1379,11 @@ const ( RTM_GETSTATS = 0x5e RTM_GETTCLASS = 0x2a RTM_GETTFILTER = 0x2e - RTM_MAX = 0x5f + RTM_MAX = 0x63 RTM_NEWACTION = 0x30 RTM_NEWADDR = 0x14 RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 RTM_NEWLINK = 0x10 RTM_NEWMDB = 0x54 RTM_NEWNDUSEROPT = 0x44 @@ -1361,8 +1398,8 @@ const ( RTM_NEWSTATS = 0x5c RTM_NEWTCLASS = 0x28 RTM_NEWTFILTER = 0x2c - RTM_NR_FAMILIES = 0x14 - RTM_NR_MSGTYPES = 0x50 + RTM_NR_FAMILIES = 0x15 + RTM_NR_MSGTYPES = 0x54 RTM_SETDCB = 0x4f RTM_SETLINK = 0x13 RTM_SETNEIGHTBL = 0x43 @@ -1373,6 +1410,7 @@ const ( RTNH_F_OFFLOAD = 0x8 RTNH_F_ONLINK = 0x4 RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 RTN_MAX = 0xb RTPROT_BABEL = 0x2a RTPROT_BIRD = 0xc @@ -1403,6 +1441,7 @@ const ( SCM_TIMESTAMP = 0x1d SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a SCM_TIMESTAMPNS = 0x23 SCM_WIFI_STATUS = 0x29 SECCOMP_MODE_DISABLED = 0x0 @@ -1541,6 +1580,7 @@ const ( SO_BSDCOMPAT = 0xe SO_BUSY_POLL = 0x2e SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 SO_DEBUG = 0x1 SO_DETACH_BPF = 0x1b SO_DETACH_FILTER = 0x1b @@ -1549,11 +1589,13 @@ const ( SO_ERROR = 0x1007 SO_GET_FILTER = 0x1a SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 SO_KEEPALIVE = 0x8 SO_LINGER = 0x80 SO_LOCK_FILTER = 0x2c SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 SO_NOFCS = 0x2b SO_NO_CHECK = 0xb SO_OOBINLINE = 0x100 @@ -1561,6 +1603,7 @@ const ( SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b SO_PEERNAME = 0x1c SO_PEERSEC = 0x1e SO_PRIORITY = 0xc @@ -1629,6 +1672,12 @@ const ( TAB2 = 0x1000 TAB3 = 0x1800 TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x8 TCFLSH = 0x5407 TCGETA = 0x5401 TCGETS = 0x540d @@ -1651,6 +1700,7 @@ const ( TCP_CORK = 0x3 TCP_DEFER_ACCEPT = 0x9 TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e TCP_INFO = 0xb TCP_KEEPCNT = 0x6 TCP_KEEPIDLE = 0x4 @@ -1709,6 +1759,7 @@ const ( TIOCGPKT = 0x40045438 TIOCGPTLCK = 0x40045439 TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 TIOCGRS485 = 0x4020542e TIOCGSERIAL = 0x5484 TIOCGSID = 0x7416 @@ -1769,6 +1820,7 @@ const ( TIOCSWINSZ = 0x80087467 TIOCVHANGUP = 0x5437 TOSTOP = 0x8000 + TS_COMM_LEN = 0x20 TUNATTACHFILTER = 0x800854d5 TUNDETACHFILTER = 0x800854d6 TUNGETFEATURES = 0x400454cf 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 a09bf9b18..42b6397d5 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go @@ -36,7 +36,7 @@ const ( AF_KEY = 0xf AF_LLC = 0x1a AF_LOCAL = 0x1 - AF_MAX = 0x2b + AF_MAX = 0x2c AF_MPLS = 0x1c AF_NETBEUI = 0xd AF_NETLINK = 0x10 @@ -51,6 +51,7 @@ const ( AF_ROUTE = 0x10 AF_RXRPC = 0x21 AF_SECURITY = 0xe + AF_SMC = 0x2b AF_SNA = 0x16 AF_TIPC = 0x1e AF_UNIX = 0x1 @@ -129,6 +130,7 @@ const ( ARPHRD_TUNNEL = 0x300 ARPHRD_TUNNEL6 = 0x301 ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a ARPHRD_X25 = 0x10f B0 = 0x0 B1000000 = 0x1008 @@ -392,6 +394,7 @@ const ( ETH_P_FIP = 0x8914 ETH_P_HDLC = 0x19 ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 ETH_P_IEEE802154 = 0xf6 ETH_P_IEEEPUP = 0xa00 ETH_P_IEEEPUPAT = 0xa01 @@ -453,6 +456,8 @@ const ( FF1 = 0x8000 FFDLY = 0x8000 FLUSHO = 0x2000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 @@ -507,6 +512,19 @@ const ( F_ULOCK = 0x0 F_UNLCK = 0x2 F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 GRND_NONBLOCK = 0x1 GRND_RANDOM = 0x2 HUPCL = 0x400 @@ -644,8 +662,10 @@ const ( IPV6_2292PKTOPTIONS = 0x6 IPV6_2292RTHDR = 0x5 IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 IPV6_ADD_MEMBERSHIP = 0x14 IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 IPV6_CHECKSUM = 0x7 IPV6_DONTFRAG = 0x3e IPV6_DROP_MEMBERSHIP = 0x15 @@ -658,12 +678,14 @@ const ( IPV6_JOIN_GROUP = 0x14 IPV6_LEAVE_ANYCAST = 0x1c IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 IPV6_MTU = 0x18 IPV6_MTU_DISCOVER = 0x17 IPV6_MULTICAST_HOPS = 0x12 IPV6_MULTICAST_IF = 0x11 IPV6_MULTICAST_LOOP = 0x13 IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a IPV6_PATHMTU = 0x3d IPV6_PKTINFO = 0x32 IPV6_PMTUDISC_DO = 0x2 @@ -674,8 +696,10 @@ const ( IPV6_PMTUDISC_WANT = 0x1 IPV6_RECVDSTOPTS = 0x3a IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d IPV6_RECVHOPLIMIT = 0x33 IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a IPV6_RECVPATHMTU = 0x3c IPV6_RECVPKTINFO = 0x31 IPV6_RECVRTHDR = 0x38 @@ -689,7 +713,9 @@ const ( IPV6_RXDSTOPTS = 0x3b IPV6_RXHOPOPTS = 0x36 IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c IPV6_V6ONLY = 0x1a IPV6_XFRM_POLICY = 0x23 IP_ADD_MEMBERSHIP = 0x23 @@ -732,6 +758,7 @@ const ( IP_PMTUDISC_PROBE = 0x3 IP_PMTUDISC_WANT = 0x1 IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 IP_RECVOPTS = 0x6 IP_RECVORIGDSTADDR = 0x14 IP_RECVRETOPTS = 0x7 @@ -769,6 +796,7 @@ const ( KEYCTL_NEGATE = 0xd KEYCTL_READ = 0xb KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d KEYCTL_REVOKE = 0x3 KEYCTL_SEARCH = 0xa KEYCTL_SESSION_TO_PARENT = 0x12 @@ -902,6 +930,7 @@ const ( MS_SILENT = 0x8000 MS_SLAVE = 0x80000 MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 MS_SYNC = 0x4 MS_SYNCHRONOUS = 0x10 MS_UNBINDABLE = 0x20000 @@ -916,6 +945,7 @@ const ( NETLINK_DNRTMSG = 0xe NETLINK_DROP_MEMBERSHIP = 0x2 NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb NETLINK_FIB_LOOKUP = 0xa NETLINK_FIREWALL = 0x3 NETLINK_GENERIC = 0x10 @@ -934,6 +964,7 @@ const ( NETLINK_RX_RING = 0x6 NETLINK_SCSITRANSPORT = 0x12 NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 NETLINK_SOCK_DIAG = 0x4 NETLINK_TX_RING = 0x7 NETLINK_UNUSED = 0x1 @@ -954,8 +985,10 @@ const ( NLMSG_NOOP = 0x1 NLMSG_OVERRUN = 0x4 NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 NLM_F_APPEND = 0x800 NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 NLM_F_CREATE = 0x400 NLM_F_DUMP = 0x300 NLM_F_DUMP_FILTERED = 0x20 @@ -1012,6 +1045,7 @@ const ( PACKET_FANOUT_EBPF = 0x7 PACKET_FANOUT_FLAG_DEFRAG = 0x8000 PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 PACKET_FANOUT_HASH = 0x0 PACKET_FANOUT_LB = 0x1 PACKET_FANOUT_QM = 0x5 @@ -1270,7 +1304,7 @@ const ( RTAX_UNSPEC = 0x0 RTAX_WINDOW = 0x3 RTA_ALIGNTO = 0x4 - RTA_MAX = 0x19 + RTA_MAX = 0x1a RTCF_DIRECTSRC = 0x4000000 RTCF_DOREDIRECT = 0x1000000 RTCF_LOG = 0x2000000 @@ -1314,6 +1348,7 @@ const ( RTM_DELLINK = 0x11 RTM_DELMDB = 0x55 RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 RTM_DELNSID = 0x59 RTM_DELQDISC = 0x25 RTM_DELROUTE = 0x19 @@ -1322,6 +1357,7 @@ const ( RTM_DELTFILTER = 0x2d RTM_F_CLONED = 0x200 RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 RTM_F_LOOKUP_TABLE = 0x1000 RTM_F_NOTIFY = 0x100 RTM_F_PREFIX = 0x800 @@ -1343,10 +1379,11 @@ const ( RTM_GETSTATS = 0x5e RTM_GETTCLASS = 0x2a RTM_GETTFILTER = 0x2e - RTM_MAX = 0x5f + RTM_MAX = 0x63 RTM_NEWACTION = 0x30 RTM_NEWADDR = 0x14 RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 RTM_NEWLINK = 0x10 RTM_NEWMDB = 0x54 RTM_NEWNDUSEROPT = 0x44 @@ -1361,8 +1398,8 @@ const ( RTM_NEWSTATS = 0x5c RTM_NEWTCLASS = 0x28 RTM_NEWTFILTER = 0x2c - RTM_NR_FAMILIES = 0x14 - RTM_NR_MSGTYPES = 0x50 + RTM_NR_FAMILIES = 0x15 + RTM_NR_MSGTYPES = 0x54 RTM_SETDCB = 0x4f RTM_SETLINK = 0x13 RTM_SETNEIGHTBL = 0x43 @@ -1373,6 +1410,7 @@ const ( RTNH_F_OFFLOAD = 0x8 RTNH_F_ONLINK = 0x4 RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 RTN_MAX = 0xb RTPROT_BABEL = 0x2a RTPROT_BIRD = 0xc @@ -1403,6 +1441,7 @@ const ( SCM_TIMESTAMP = 0x1d SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a SCM_TIMESTAMPNS = 0x23 SCM_WIFI_STATUS = 0x29 SECCOMP_MODE_DISABLED = 0x0 @@ -1541,6 +1580,7 @@ const ( SO_BSDCOMPAT = 0xe SO_BUSY_POLL = 0x2e SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 SO_DEBUG = 0x1 SO_DETACH_BPF = 0x1b SO_DETACH_FILTER = 0x1b @@ -1549,11 +1589,13 @@ const ( SO_ERROR = 0x1007 SO_GET_FILTER = 0x1a SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 SO_KEEPALIVE = 0x8 SO_LINGER = 0x80 SO_LOCK_FILTER = 0x2c SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 SO_NOFCS = 0x2b SO_NO_CHECK = 0xb SO_OOBINLINE = 0x100 @@ -1561,6 +1603,7 @@ const ( SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b SO_PEERNAME = 0x1c SO_PEERSEC = 0x1e SO_PRIORITY = 0xc @@ -1629,6 +1672,12 @@ const ( TAB2 = 0x1000 TAB3 = 0x1800 TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x8 TCFLSH = 0x5407 TCGETA = 0x5401 TCGETS = 0x540d @@ -1651,6 +1700,7 @@ const ( TCP_CORK = 0x3 TCP_DEFER_ACCEPT = 0x9 TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e TCP_INFO = 0xb TCP_KEEPCNT = 0x6 TCP_KEEPIDLE = 0x4 @@ -1709,6 +1759,7 @@ const ( TIOCGPKT = 0x40045438 TIOCGPTLCK = 0x40045439 TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 TIOCGRS485 = 0x4020542e TIOCGSERIAL = 0x5484 TIOCGSID = 0x7416 @@ -1769,6 +1820,7 @@ const ( TIOCSWINSZ = 0x80087467 TIOCVHANGUP = 0x5437 TOSTOP = 0x8000 + TS_COMM_LEN = 0x20 TUNATTACHFILTER = 0x801054d5 TUNDETACHFILTER = 0x801054d6 TUNGETFEATURES = 0x400454cf 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 72a0083c4..bd4ff8147 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go @@ -36,7 +36,7 @@ const ( AF_KEY = 0xf AF_LLC = 0x1a AF_LOCAL = 0x1 - AF_MAX = 0x2b + AF_MAX = 0x2c AF_MPLS = 0x1c AF_NETBEUI = 0xd AF_NETLINK = 0x10 @@ -51,6 +51,7 @@ const ( AF_ROUTE = 0x10 AF_RXRPC = 0x21 AF_SECURITY = 0xe + AF_SMC = 0x2b AF_SNA = 0x16 AF_TIPC = 0x1e AF_UNIX = 0x1 @@ -129,6 +130,7 @@ const ( ARPHRD_TUNNEL = 0x300 ARPHRD_TUNNEL6 = 0x301 ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a ARPHRD_X25 = 0x10f B0 = 0x0 B1000000 = 0x1008 @@ -392,6 +394,7 @@ const ( ETH_P_FIP = 0x8914 ETH_P_HDLC = 0x19 ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 ETH_P_IEEE802154 = 0xf6 ETH_P_IEEEPUP = 0xa00 ETH_P_IEEEPUPAT = 0xa01 @@ -453,6 +456,8 @@ const ( FF1 = 0x8000 FFDLY = 0x8000 FLUSHO = 0x2000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 @@ -507,6 +512,19 @@ const ( F_ULOCK = 0x0 F_UNLCK = 0x2 F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 GRND_NONBLOCK = 0x1 GRND_RANDOM = 0x2 HUPCL = 0x400 @@ -644,8 +662,10 @@ const ( IPV6_2292PKTOPTIONS = 0x6 IPV6_2292RTHDR = 0x5 IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 IPV6_ADD_MEMBERSHIP = 0x14 IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 IPV6_CHECKSUM = 0x7 IPV6_DONTFRAG = 0x3e IPV6_DROP_MEMBERSHIP = 0x15 @@ -658,12 +678,14 @@ const ( IPV6_JOIN_GROUP = 0x14 IPV6_LEAVE_ANYCAST = 0x1c IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 IPV6_MTU = 0x18 IPV6_MTU_DISCOVER = 0x17 IPV6_MULTICAST_HOPS = 0x12 IPV6_MULTICAST_IF = 0x11 IPV6_MULTICAST_LOOP = 0x13 IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a IPV6_PATHMTU = 0x3d IPV6_PKTINFO = 0x32 IPV6_PMTUDISC_DO = 0x2 @@ -674,8 +696,10 @@ const ( IPV6_PMTUDISC_WANT = 0x1 IPV6_RECVDSTOPTS = 0x3a IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d IPV6_RECVHOPLIMIT = 0x33 IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a IPV6_RECVPATHMTU = 0x3c IPV6_RECVPKTINFO = 0x31 IPV6_RECVRTHDR = 0x38 @@ -689,7 +713,9 @@ const ( IPV6_RXDSTOPTS = 0x3b IPV6_RXHOPOPTS = 0x36 IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c IPV6_V6ONLY = 0x1a IPV6_XFRM_POLICY = 0x23 IP_ADD_MEMBERSHIP = 0x23 @@ -732,6 +758,7 @@ const ( IP_PMTUDISC_PROBE = 0x3 IP_PMTUDISC_WANT = 0x1 IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 IP_RECVOPTS = 0x6 IP_RECVORIGDSTADDR = 0x14 IP_RECVRETOPTS = 0x7 @@ -769,6 +796,7 @@ const ( KEYCTL_NEGATE = 0xd KEYCTL_READ = 0xb KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d KEYCTL_REVOKE = 0x3 KEYCTL_SEARCH = 0xa KEYCTL_SESSION_TO_PARENT = 0x12 @@ -902,6 +930,7 @@ const ( MS_SILENT = 0x8000 MS_SLAVE = 0x80000 MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 MS_SYNC = 0x4 MS_SYNCHRONOUS = 0x10 MS_UNBINDABLE = 0x20000 @@ -916,6 +945,7 @@ const ( NETLINK_DNRTMSG = 0xe NETLINK_DROP_MEMBERSHIP = 0x2 NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb NETLINK_FIB_LOOKUP = 0xa NETLINK_FIREWALL = 0x3 NETLINK_GENERIC = 0x10 @@ -934,6 +964,7 @@ const ( NETLINK_RX_RING = 0x6 NETLINK_SCSITRANSPORT = 0x12 NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 NETLINK_SOCK_DIAG = 0x4 NETLINK_TX_RING = 0x7 NETLINK_UNUSED = 0x1 @@ -954,8 +985,10 @@ const ( NLMSG_NOOP = 0x1 NLMSG_OVERRUN = 0x4 NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 NLM_F_APPEND = 0x800 NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 NLM_F_CREATE = 0x400 NLM_F_DUMP = 0x300 NLM_F_DUMP_FILTERED = 0x20 @@ -1012,6 +1045,7 @@ const ( PACKET_FANOUT_EBPF = 0x7 PACKET_FANOUT_FLAG_DEFRAG = 0x8000 PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 PACKET_FANOUT_HASH = 0x0 PACKET_FANOUT_LB = 0x1 PACKET_FANOUT_QM = 0x5 @@ -1270,7 +1304,7 @@ const ( RTAX_UNSPEC = 0x0 RTAX_WINDOW = 0x3 RTA_ALIGNTO = 0x4 - RTA_MAX = 0x19 + RTA_MAX = 0x1a RTCF_DIRECTSRC = 0x4000000 RTCF_DOREDIRECT = 0x1000000 RTCF_LOG = 0x2000000 @@ -1314,6 +1348,7 @@ const ( RTM_DELLINK = 0x11 RTM_DELMDB = 0x55 RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 RTM_DELNSID = 0x59 RTM_DELQDISC = 0x25 RTM_DELROUTE = 0x19 @@ -1322,6 +1357,7 @@ const ( RTM_DELTFILTER = 0x2d RTM_F_CLONED = 0x200 RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 RTM_F_LOOKUP_TABLE = 0x1000 RTM_F_NOTIFY = 0x100 RTM_F_PREFIX = 0x800 @@ -1343,10 +1379,11 @@ const ( RTM_GETSTATS = 0x5e RTM_GETTCLASS = 0x2a RTM_GETTFILTER = 0x2e - RTM_MAX = 0x5f + RTM_MAX = 0x63 RTM_NEWACTION = 0x30 RTM_NEWADDR = 0x14 RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 RTM_NEWLINK = 0x10 RTM_NEWMDB = 0x54 RTM_NEWNDUSEROPT = 0x44 @@ -1361,8 +1398,8 @@ const ( RTM_NEWSTATS = 0x5c RTM_NEWTCLASS = 0x28 RTM_NEWTFILTER = 0x2c - RTM_NR_FAMILIES = 0x14 - RTM_NR_MSGTYPES = 0x50 + RTM_NR_FAMILIES = 0x15 + RTM_NR_MSGTYPES = 0x54 RTM_SETDCB = 0x4f RTM_SETLINK = 0x13 RTM_SETNEIGHTBL = 0x43 @@ -1373,6 +1410,7 @@ const ( RTNH_F_OFFLOAD = 0x8 RTNH_F_ONLINK = 0x4 RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 RTN_MAX = 0xb RTPROT_BABEL = 0x2a RTPROT_BIRD = 0xc @@ -1403,6 +1441,7 @@ const ( SCM_TIMESTAMP = 0x1d SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a SCM_TIMESTAMPNS = 0x23 SCM_WIFI_STATUS = 0x29 SECCOMP_MODE_DISABLED = 0x0 @@ -1541,6 +1580,7 @@ const ( SO_BSDCOMPAT = 0xe SO_BUSY_POLL = 0x2e SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 SO_DEBUG = 0x1 SO_DETACH_BPF = 0x1b SO_DETACH_FILTER = 0x1b @@ -1549,11 +1589,13 @@ const ( SO_ERROR = 0x1007 SO_GET_FILTER = 0x1a SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 SO_KEEPALIVE = 0x8 SO_LINGER = 0x80 SO_LOCK_FILTER = 0x2c SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 SO_NOFCS = 0x2b SO_NO_CHECK = 0xb SO_OOBINLINE = 0x100 @@ -1561,6 +1603,7 @@ const ( SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b SO_PEERNAME = 0x1c SO_PEERSEC = 0x1e SO_PRIORITY = 0xc @@ -1629,6 +1672,12 @@ const ( TAB2 = 0x1000 TAB3 = 0x1800 TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x8 TCFLSH = 0x5407 TCGETA = 0x5401 TCGETS = 0x540d @@ -1651,6 +1700,7 @@ const ( TCP_CORK = 0x3 TCP_DEFER_ACCEPT = 0x9 TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e TCP_INFO = 0xb TCP_KEEPCNT = 0x6 TCP_KEEPIDLE = 0x4 @@ -1709,6 +1759,7 @@ const ( TIOCGPKT = 0x40045438 TIOCGPTLCK = 0x40045439 TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 TIOCGRS485 = 0x4020542e TIOCGSERIAL = 0x5484 TIOCGSID = 0x7416 @@ -1769,6 +1820,7 @@ const ( TIOCSWINSZ = 0x80087467 TIOCVHANGUP = 0x5437 TOSTOP = 0x8000 + TS_COMM_LEN = 0x20 TUNATTACHFILTER = 0x801054d5 TUNDETACHFILTER = 0x801054d6 TUNGETFEATURES = 0x400454cf 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 84c0e3cc1..6dfc95c40 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go @@ -36,7 +36,7 @@ const ( AF_KEY = 0xf AF_LLC = 0x1a AF_LOCAL = 0x1 - AF_MAX = 0x2b + AF_MAX = 0x2c AF_MPLS = 0x1c AF_NETBEUI = 0xd AF_NETLINK = 0x10 @@ -51,6 +51,7 @@ const ( AF_ROUTE = 0x10 AF_RXRPC = 0x21 AF_SECURITY = 0xe + AF_SMC = 0x2b AF_SNA = 0x16 AF_TIPC = 0x1e AF_UNIX = 0x1 @@ -129,6 +130,7 @@ const ( ARPHRD_TUNNEL = 0x300 ARPHRD_TUNNEL6 = 0x301 ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a ARPHRD_X25 = 0x10f B0 = 0x0 B1000000 = 0x1008 @@ -392,6 +394,7 @@ const ( ETH_P_FIP = 0x8914 ETH_P_HDLC = 0x19 ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 ETH_P_IEEE802154 = 0xf6 ETH_P_IEEEPUP = 0xa00 ETH_P_IEEEPUPAT = 0xa01 @@ -453,6 +456,8 @@ const ( FF1 = 0x8000 FFDLY = 0x8000 FLUSHO = 0x2000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 @@ -507,6 +512,19 @@ const ( F_ULOCK = 0x0 F_UNLCK = 0x2 F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 GRND_NONBLOCK = 0x1 GRND_RANDOM = 0x2 HUPCL = 0x400 @@ -644,8 +662,10 @@ const ( IPV6_2292PKTOPTIONS = 0x6 IPV6_2292RTHDR = 0x5 IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 IPV6_ADD_MEMBERSHIP = 0x14 IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 IPV6_CHECKSUM = 0x7 IPV6_DONTFRAG = 0x3e IPV6_DROP_MEMBERSHIP = 0x15 @@ -658,12 +678,14 @@ const ( IPV6_JOIN_GROUP = 0x14 IPV6_LEAVE_ANYCAST = 0x1c IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 IPV6_MTU = 0x18 IPV6_MTU_DISCOVER = 0x17 IPV6_MULTICAST_HOPS = 0x12 IPV6_MULTICAST_IF = 0x11 IPV6_MULTICAST_LOOP = 0x13 IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a IPV6_PATHMTU = 0x3d IPV6_PKTINFO = 0x32 IPV6_PMTUDISC_DO = 0x2 @@ -674,8 +696,10 @@ const ( IPV6_PMTUDISC_WANT = 0x1 IPV6_RECVDSTOPTS = 0x3a IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d IPV6_RECVHOPLIMIT = 0x33 IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a IPV6_RECVPATHMTU = 0x3c IPV6_RECVPKTINFO = 0x31 IPV6_RECVRTHDR = 0x38 @@ -689,7 +713,9 @@ const ( IPV6_RXDSTOPTS = 0x3b IPV6_RXHOPOPTS = 0x36 IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c IPV6_V6ONLY = 0x1a IPV6_XFRM_POLICY = 0x23 IP_ADD_MEMBERSHIP = 0x23 @@ -732,6 +758,7 @@ const ( IP_PMTUDISC_PROBE = 0x3 IP_PMTUDISC_WANT = 0x1 IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 IP_RECVOPTS = 0x6 IP_RECVORIGDSTADDR = 0x14 IP_RECVRETOPTS = 0x7 @@ -769,6 +796,7 @@ const ( KEYCTL_NEGATE = 0xd KEYCTL_READ = 0xb KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d KEYCTL_REVOKE = 0x3 KEYCTL_SEARCH = 0xa KEYCTL_SESSION_TO_PARENT = 0x12 @@ -902,6 +930,7 @@ const ( MS_SILENT = 0x8000 MS_SLAVE = 0x80000 MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 MS_SYNC = 0x4 MS_SYNCHRONOUS = 0x10 MS_UNBINDABLE = 0x20000 @@ -916,6 +945,7 @@ const ( NETLINK_DNRTMSG = 0xe NETLINK_DROP_MEMBERSHIP = 0x2 NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb NETLINK_FIB_LOOKUP = 0xa NETLINK_FIREWALL = 0x3 NETLINK_GENERIC = 0x10 @@ -934,6 +964,7 @@ const ( NETLINK_RX_RING = 0x6 NETLINK_SCSITRANSPORT = 0x12 NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 NETLINK_SOCK_DIAG = 0x4 NETLINK_TX_RING = 0x7 NETLINK_UNUSED = 0x1 @@ -954,8 +985,10 @@ const ( NLMSG_NOOP = 0x1 NLMSG_OVERRUN = 0x4 NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 NLM_F_APPEND = 0x800 NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 NLM_F_CREATE = 0x400 NLM_F_DUMP = 0x300 NLM_F_DUMP_FILTERED = 0x20 @@ -1012,6 +1045,7 @@ const ( PACKET_FANOUT_EBPF = 0x7 PACKET_FANOUT_FLAG_DEFRAG = 0x8000 PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 PACKET_FANOUT_HASH = 0x0 PACKET_FANOUT_LB = 0x1 PACKET_FANOUT_QM = 0x5 @@ -1270,7 +1304,7 @@ const ( RTAX_UNSPEC = 0x0 RTAX_WINDOW = 0x3 RTA_ALIGNTO = 0x4 - RTA_MAX = 0x19 + RTA_MAX = 0x1a RTCF_DIRECTSRC = 0x4000000 RTCF_DOREDIRECT = 0x1000000 RTCF_LOG = 0x2000000 @@ -1314,6 +1348,7 @@ const ( RTM_DELLINK = 0x11 RTM_DELMDB = 0x55 RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 RTM_DELNSID = 0x59 RTM_DELQDISC = 0x25 RTM_DELROUTE = 0x19 @@ -1322,6 +1357,7 @@ const ( RTM_DELTFILTER = 0x2d RTM_F_CLONED = 0x200 RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 RTM_F_LOOKUP_TABLE = 0x1000 RTM_F_NOTIFY = 0x100 RTM_F_PREFIX = 0x800 @@ -1343,10 +1379,11 @@ const ( RTM_GETSTATS = 0x5e RTM_GETTCLASS = 0x2a RTM_GETTFILTER = 0x2e - RTM_MAX = 0x5f + RTM_MAX = 0x63 RTM_NEWACTION = 0x30 RTM_NEWADDR = 0x14 RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 RTM_NEWLINK = 0x10 RTM_NEWMDB = 0x54 RTM_NEWNDUSEROPT = 0x44 @@ -1361,8 +1398,8 @@ const ( RTM_NEWSTATS = 0x5c RTM_NEWTCLASS = 0x28 RTM_NEWTFILTER = 0x2c - RTM_NR_FAMILIES = 0x14 - RTM_NR_MSGTYPES = 0x50 + RTM_NR_FAMILIES = 0x15 + RTM_NR_MSGTYPES = 0x54 RTM_SETDCB = 0x4f RTM_SETLINK = 0x13 RTM_SETNEIGHTBL = 0x43 @@ -1373,6 +1410,7 @@ const ( RTNH_F_OFFLOAD = 0x8 RTNH_F_ONLINK = 0x4 RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 RTN_MAX = 0xb RTPROT_BABEL = 0x2a RTPROT_BIRD = 0xc @@ -1403,6 +1441,7 @@ const ( SCM_TIMESTAMP = 0x1d SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a SCM_TIMESTAMPNS = 0x23 SCM_WIFI_STATUS = 0x29 SECCOMP_MODE_DISABLED = 0x0 @@ -1541,6 +1580,7 @@ const ( SO_BSDCOMPAT = 0xe SO_BUSY_POLL = 0x2e SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 SO_DEBUG = 0x1 SO_DETACH_BPF = 0x1b SO_DETACH_FILTER = 0x1b @@ -1549,11 +1589,13 @@ const ( SO_ERROR = 0x1007 SO_GET_FILTER = 0x1a SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 SO_KEEPALIVE = 0x8 SO_LINGER = 0x80 SO_LOCK_FILTER = 0x2c SO_MARK = 0x24 SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 SO_NOFCS = 0x2b SO_NO_CHECK = 0xb SO_OOBINLINE = 0x100 @@ -1561,6 +1603,7 @@ const ( SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b SO_PEERNAME = 0x1c SO_PEERSEC = 0x1e SO_PRIORITY = 0xc @@ -1629,6 +1672,12 @@ const ( TAB2 = 0x1000 TAB3 = 0x1800 TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x8 TCFLSH = 0x5407 TCGETA = 0x5401 TCGETS = 0x540d @@ -1651,6 +1700,7 @@ const ( TCP_CORK = 0x3 TCP_DEFER_ACCEPT = 0x9 TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e TCP_INFO = 0xb TCP_KEEPCNT = 0x6 TCP_KEEPIDLE = 0x4 @@ -1709,6 +1759,7 @@ const ( TIOCGPKT = 0x40045438 TIOCGPTLCK = 0x40045439 TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 TIOCGRS485 = 0x4020542e TIOCGSERIAL = 0x5484 TIOCGSID = 0x7416 @@ -1769,6 +1820,7 @@ const ( TIOCSWINSZ = 0x80087467 TIOCVHANGUP = 0x5437 TOSTOP = 0x8000 + TS_COMM_LEN = 0x20 TUNATTACHFILTER = 0x800854d5 TUNDETACHFILTER = 0x800854d6 TUNGETFEATURES = 0x400454cf 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 8e4606e06..46b09d320 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go @@ -36,7 +36,7 @@ const ( AF_KEY = 0xf AF_LLC = 0x1a AF_LOCAL = 0x1 - AF_MAX = 0x2b + AF_MAX = 0x2c AF_MPLS = 0x1c AF_NETBEUI = 0xd AF_NETLINK = 0x10 @@ -51,6 +51,7 @@ const ( AF_ROUTE = 0x10 AF_RXRPC = 0x21 AF_SECURITY = 0xe + AF_SMC = 0x2b AF_SNA = 0x16 AF_TIPC = 0x1e AF_UNIX = 0x1 @@ -129,6 +130,7 @@ const ( ARPHRD_TUNNEL = 0x300 ARPHRD_TUNNEL6 = 0x301 ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a ARPHRD_X25 = 0x10f B0 = 0x0 B1000000 = 0x17 @@ -392,6 +394,7 @@ const ( ETH_P_FIP = 0x8914 ETH_P_HDLC = 0x19 ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 ETH_P_IEEE802154 = 0xf6 ETH_P_IEEEPUP = 0xa00 ETH_P_IEEEPUPAT = 0xa01 @@ -453,6 +456,8 @@ const ( FF1 = 0x4000 FFDLY = 0x4000 FLUSHO = 0x800000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 @@ -507,6 +512,19 @@ const ( F_ULOCK = 0x0 F_UNLCK = 0x2 F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 GRND_NONBLOCK = 0x1 GRND_RANDOM = 0x2 HUPCL = 0x4000 @@ -644,8 +662,10 @@ const ( IPV6_2292PKTOPTIONS = 0x6 IPV6_2292RTHDR = 0x5 IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 IPV6_ADD_MEMBERSHIP = 0x14 IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 IPV6_CHECKSUM = 0x7 IPV6_DONTFRAG = 0x3e IPV6_DROP_MEMBERSHIP = 0x15 @@ -658,12 +678,14 @@ const ( IPV6_JOIN_GROUP = 0x14 IPV6_LEAVE_ANYCAST = 0x1c IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 IPV6_MTU = 0x18 IPV6_MTU_DISCOVER = 0x17 IPV6_MULTICAST_HOPS = 0x12 IPV6_MULTICAST_IF = 0x11 IPV6_MULTICAST_LOOP = 0x13 IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a IPV6_PATHMTU = 0x3d IPV6_PKTINFO = 0x32 IPV6_PMTUDISC_DO = 0x2 @@ -674,8 +696,10 @@ const ( IPV6_PMTUDISC_WANT = 0x1 IPV6_RECVDSTOPTS = 0x3a IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d IPV6_RECVHOPLIMIT = 0x33 IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a IPV6_RECVPATHMTU = 0x3c IPV6_RECVPKTINFO = 0x31 IPV6_RECVRTHDR = 0x38 @@ -689,7 +713,9 @@ const ( IPV6_RXDSTOPTS = 0x3b IPV6_RXHOPOPTS = 0x36 IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c IPV6_V6ONLY = 0x1a IPV6_XFRM_POLICY = 0x23 IP_ADD_MEMBERSHIP = 0x23 @@ -732,6 +758,7 @@ const ( IP_PMTUDISC_PROBE = 0x3 IP_PMTUDISC_WANT = 0x1 IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 IP_RECVOPTS = 0x6 IP_RECVORIGDSTADDR = 0x14 IP_RECVRETOPTS = 0x7 @@ -769,6 +796,7 @@ const ( KEYCTL_NEGATE = 0xd KEYCTL_READ = 0xb KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d KEYCTL_REVOKE = 0x3 KEYCTL_SEARCH = 0xa KEYCTL_SESSION_TO_PARENT = 0x12 @@ -901,6 +929,7 @@ const ( MS_SILENT = 0x8000 MS_SLAVE = 0x80000 MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 MS_SYNC = 0x4 MS_SYNCHRONOUS = 0x10 MS_UNBINDABLE = 0x20000 @@ -915,6 +944,7 @@ const ( NETLINK_DNRTMSG = 0xe NETLINK_DROP_MEMBERSHIP = 0x2 NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb NETLINK_FIB_LOOKUP = 0xa NETLINK_FIREWALL = 0x3 NETLINK_GENERIC = 0x10 @@ -933,6 +963,7 @@ const ( NETLINK_RX_RING = 0x6 NETLINK_SCSITRANSPORT = 0x12 NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 NETLINK_SOCK_DIAG = 0x4 NETLINK_TX_RING = 0x7 NETLINK_UNUSED = 0x1 @@ -955,8 +986,10 @@ const ( NLMSG_NOOP = 0x1 NLMSG_OVERRUN = 0x4 NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 NLM_F_APPEND = 0x800 NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 NLM_F_CREATE = 0x400 NLM_F_DUMP = 0x300 NLM_F_DUMP_FILTERED = 0x20 @@ -1013,6 +1046,7 @@ const ( PACKET_FANOUT_EBPF = 0x7 PACKET_FANOUT_FLAG_DEFRAG = 0x8000 PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 PACKET_FANOUT_HASH = 0x0 PACKET_FANOUT_LB = 0x1 PACKET_FANOUT_QM = 0x5 @@ -1326,7 +1360,7 @@ const ( RTAX_UNSPEC = 0x0 RTAX_WINDOW = 0x3 RTA_ALIGNTO = 0x4 - RTA_MAX = 0x19 + RTA_MAX = 0x1a RTCF_DIRECTSRC = 0x4000000 RTCF_DOREDIRECT = 0x1000000 RTCF_LOG = 0x2000000 @@ -1370,6 +1404,7 @@ const ( RTM_DELLINK = 0x11 RTM_DELMDB = 0x55 RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 RTM_DELNSID = 0x59 RTM_DELQDISC = 0x25 RTM_DELROUTE = 0x19 @@ -1378,6 +1413,7 @@ const ( RTM_DELTFILTER = 0x2d RTM_F_CLONED = 0x200 RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 RTM_F_LOOKUP_TABLE = 0x1000 RTM_F_NOTIFY = 0x100 RTM_F_PREFIX = 0x800 @@ -1399,10 +1435,11 @@ const ( RTM_GETSTATS = 0x5e RTM_GETTCLASS = 0x2a RTM_GETTFILTER = 0x2e - RTM_MAX = 0x5f + RTM_MAX = 0x63 RTM_NEWACTION = 0x30 RTM_NEWADDR = 0x14 RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 RTM_NEWLINK = 0x10 RTM_NEWMDB = 0x54 RTM_NEWNDUSEROPT = 0x44 @@ -1417,8 +1454,8 @@ const ( RTM_NEWSTATS = 0x5c RTM_NEWTCLASS = 0x28 RTM_NEWTFILTER = 0x2c - RTM_NR_FAMILIES = 0x14 - RTM_NR_MSGTYPES = 0x50 + RTM_NR_FAMILIES = 0x15 + RTM_NR_MSGTYPES = 0x54 RTM_SETDCB = 0x4f RTM_SETLINK = 0x13 RTM_SETNEIGHTBL = 0x43 @@ -1429,6 +1466,7 @@ const ( RTNH_F_OFFLOAD = 0x8 RTNH_F_ONLINK = 0x4 RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 RTN_MAX = 0xb RTPROT_BABEL = 0x2a RTPROT_BIRD = 0xc @@ -1459,6 +1497,7 @@ const ( SCM_TIMESTAMP = 0x1d SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a SCM_TIMESTAMPNS = 0x23 SCM_WIFI_STATUS = 0x29 SECCOMP_MODE_DISABLED = 0x0 @@ -1597,6 +1636,7 @@ const ( SO_BSDCOMPAT = 0xe SO_BUSY_POLL = 0x2e SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 SO_DEBUG = 0x1 SO_DETACH_BPF = 0x1b SO_DETACH_FILTER = 0x1b @@ -1605,11 +1645,13 @@ const ( SO_ERROR = 0x4 SO_GET_FILTER = 0x1a 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_NOFCS = 0x2b SO_NO_CHECK = 0xb SO_OOBINLINE = 0xa @@ -1617,6 +1659,7 @@ const ( SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x15 + SO_PEERGROUPS = 0x3b SO_PEERNAME = 0x1c SO_PEERSEC = 0x1f SO_PRIORITY = 0xc @@ -1684,6 +1727,12 @@ const ( TAB2 = 0x800 TAB3 = 0xc00 TABDLY = 0xc00 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x8 TCFLSH = 0x2000741f TCGETA = 0x40147417 TCGETS = 0x402c7413 @@ -1705,6 +1754,7 @@ const ( TCP_CORK = 0x3 TCP_DEFER_ACCEPT = 0x9 TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e TCP_INFO = 0xb TCP_KEEPCNT = 0x6 TCP_KEEPIDLE = 0x4 @@ -1761,6 +1811,7 @@ const ( TIOCGPKT = 0x40045438 TIOCGPTLCK = 0x40045439 TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 TIOCGRS485 = 0x542e TIOCGSERIAL = 0x541e TIOCGSID = 0x5429 @@ -1827,6 +1878,7 @@ const ( TIOCSWINSZ = 0x80087467 TIOCVHANGUP = 0x5437 TOSTOP = 0x400000 + TS_COMM_LEN = 0x20 TUNATTACHFILTER = 0x801054d5 TUNDETACHFILTER = 0x801054d6 TUNGETFEATURES = 0x400454cf @@ -2061,7 +2113,6 @@ const ( SIGTSTP = syscall.Signal(0x14) SIGTTIN = syscall.Signal(0x15) SIGTTOU = syscall.Signal(0x16) - SIGUNUSED = syscall.Signal(0x1f) SIGURG = syscall.Signal(0x17) SIGUSR1 = syscall.Signal(0xa) SIGUSR2 = syscall.Signal(0xc) 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 16ed19311..08adb1d8f 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go @@ -36,7 +36,7 @@ const ( AF_KEY = 0xf AF_LLC = 0x1a AF_LOCAL = 0x1 - AF_MAX = 0x2b + AF_MAX = 0x2c AF_MPLS = 0x1c AF_NETBEUI = 0xd AF_NETLINK = 0x10 @@ -51,6 +51,7 @@ const ( AF_ROUTE = 0x10 AF_RXRPC = 0x21 AF_SECURITY = 0xe + AF_SMC = 0x2b AF_SNA = 0x16 AF_TIPC = 0x1e AF_UNIX = 0x1 @@ -129,6 +130,7 @@ const ( ARPHRD_TUNNEL = 0x300 ARPHRD_TUNNEL6 = 0x301 ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a ARPHRD_X25 = 0x10f B0 = 0x0 B1000000 = 0x17 @@ -392,6 +394,7 @@ const ( ETH_P_FIP = 0x8914 ETH_P_HDLC = 0x19 ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 ETH_P_IEEE802154 = 0xf6 ETH_P_IEEEPUP = 0xa00 ETH_P_IEEEPUPAT = 0xa01 @@ -453,6 +456,8 @@ const ( FF1 = 0x4000 FFDLY = 0x4000 FLUSHO = 0x800000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 @@ -507,6 +512,19 @@ const ( F_ULOCK = 0x0 F_UNLCK = 0x2 F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 GRND_NONBLOCK = 0x1 GRND_RANDOM = 0x2 HUPCL = 0x4000 @@ -644,8 +662,10 @@ const ( IPV6_2292PKTOPTIONS = 0x6 IPV6_2292RTHDR = 0x5 IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 IPV6_ADD_MEMBERSHIP = 0x14 IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 IPV6_CHECKSUM = 0x7 IPV6_DONTFRAG = 0x3e IPV6_DROP_MEMBERSHIP = 0x15 @@ -658,12 +678,14 @@ const ( IPV6_JOIN_GROUP = 0x14 IPV6_LEAVE_ANYCAST = 0x1c IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 IPV6_MTU = 0x18 IPV6_MTU_DISCOVER = 0x17 IPV6_MULTICAST_HOPS = 0x12 IPV6_MULTICAST_IF = 0x11 IPV6_MULTICAST_LOOP = 0x13 IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a IPV6_PATHMTU = 0x3d IPV6_PKTINFO = 0x32 IPV6_PMTUDISC_DO = 0x2 @@ -674,8 +696,10 @@ const ( IPV6_PMTUDISC_WANT = 0x1 IPV6_RECVDSTOPTS = 0x3a IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d IPV6_RECVHOPLIMIT = 0x33 IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a IPV6_RECVPATHMTU = 0x3c IPV6_RECVPKTINFO = 0x31 IPV6_RECVRTHDR = 0x38 @@ -689,7 +713,9 @@ const ( IPV6_RXDSTOPTS = 0x3b IPV6_RXHOPOPTS = 0x36 IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c IPV6_V6ONLY = 0x1a IPV6_XFRM_POLICY = 0x23 IP_ADD_MEMBERSHIP = 0x23 @@ -732,6 +758,7 @@ const ( IP_PMTUDISC_PROBE = 0x3 IP_PMTUDISC_WANT = 0x1 IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 IP_RECVOPTS = 0x6 IP_RECVORIGDSTADDR = 0x14 IP_RECVRETOPTS = 0x7 @@ -769,6 +796,7 @@ const ( KEYCTL_NEGATE = 0xd KEYCTL_READ = 0xb KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d KEYCTL_REVOKE = 0x3 KEYCTL_SEARCH = 0xa KEYCTL_SESSION_TO_PARENT = 0x12 @@ -901,6 +929,7 @@ const ( MS_SILENT = 0x8000 MS_SLAVE = 0x80000 MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 MS_SYNC = 0x4 MS_SYNCHRONOUS = 0x10 MS_UNBINDABLE = 0x20000 @@ -915,6 +944,7 @@ const ( NETLINK_DNRTMSG = 0xe NETLINK_DROP_MEMBERSHIP = 0x2 NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb NETLINK_FIB_LOOKUP = 0xa NETLINK_FIREWALL = 0x3 NETLINK_GENERIC = 0x10 @@ -933,6 +963,7 @@ const ( NETLINK_RX_RING = 0x6 NETLINK_SCSITRANSPORT = 0x12 NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 NETLINK_SOCK_DIAG = 0x4 NETLINK_TX_RING = 0x7 NETLINK_UNUSED = 0x1 @@ -955,8 +986,10 @@ const ( NLMSG_NOOP = 0x1 NLMSG_OVERRUN = 0x4 NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 NLM_F_APPEND = 0x800 NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 NLM_F_CREATE = 0x400 NLM_F_DUMP = 0x300 NLM_F_DUMP_FILTERED = 0x20 @@ -1013,6 +1046,7 @@ const ( PACKET_FANOUT_EBPF = 0x7 PACKET_FANOUT_FLAG_DEFRAG = 0x8000 PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 PACKET_FANOUT_HASH = 0x0 PACKET_FANOUT_LB = 0x1 PACKET_FANOUT_QM = 0x5 @@ -1326,7 +1360,7 @@ const ( RTAX_UNSPEC = 0x0 RTAX_WINDOW = 0x3 RTA_ALIGNTO = 0x4 - RTA_MAX = 0x19 + RTA_MAX = 0x1a RTCF_DIRECTSRC = 0x4000000 RTCF_DOREDIRECT = 0x1000000 RTCF_LOG = 0x2000000 @@ -1370,6 +1404,7 @@ const ( RTM_DELLINK = 0x11 RTM_DELMDB = 0x55 RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 RTM_DELNSID = 0x59 RTM_DELQDISC = 0x25 RTM_DELROUTE = 0x19 @@ -1378,6 +1413,7 @@ const ( RTM_DELTFILTER = 0x2d RTM_F_CLONED = 0x200 RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 RTM_F_LOOKUP_TABLE = 0x1000 RTM_F_NOTIFY = 0x100 RTM_F_PREFIX = 0x800 @@ -1399,10 +1435,11 @@ const ( RTM_GETSTATS = 0x5e RTM_GETTCLASS = 0x2a RTM_GETTFILTER = 0x2e - RTM_MAX = 0x5f + RTM_MAX = 0x63 RTM_NEWACTION = 0x30 RTM_NEWADDR = 0x14 RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 RTM_NEWLINK = 0x10 RTM_NEWMDB = 0x54 RTM_NEWNDUSEROPT = 0x44 @@ -1417,8 +1454,8 @@ const ( RTM_NEWSTATS = 0x5c RTM_NEWTCLASS = 0x28 RTM_NEWTFILTER = 0x2c - RTM_NR_FAMILIES = 0x14 - RTM_NR_MSGTYPES = 0x50 + RTM_NR_FAMILIES = 0x15 + RTM_NR_MSGTYPES = 0x54 RTM_SETDCB = 0x4f RTM_SETLINK = 0x13 RTM_SETNEIGHTBL = 0x43 @@ -1429,6 +1466,7 @@ const ( RTNH_F_OFFLOAD = 0x8 RTNH_F_ONLINK = 0x4 RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 RTN_MAX = 0xb RTPROT_BABEL = 0x2a RTPROT_BIRD = 0xc @@ -1459,6 +1497,7 @@ const ( SCM_TIMESTAMP = 0x1d SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a SCM_TIMESTAMPNS = 0x23 SCM_WIFI_STATUS = 0x29 SECCOMP_MODE_DISABLED = 0x0 @@ -1597,6 +1636,7 @@ const ( SO_BSDCOMPAT = 0xe SO_BUSY_POLL = 0x2e SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 SO_DEBUG = 0x1 SO_DETACH_BPF = 0x1b SO_DETACH_FILTER = 0x1b @@ -1605,11 +1645,13 @@ const ( SO_ERROR = 0x4 SO_GET_FILTER = 0x1a 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_NOFCS = 0x2b SO_NO_CHECK = 0xb SO_OOBINLINE = 0xa @@ -1617,6 +1659,7 @@ const ( SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x15 + SO_PEERGROUPS = 0x3b SO_PEERNAME = 0x1c SO_PEERSEC = 0x1f SO_PRIORITY = 0xc @@ -1684,6 +1727,12 @@ const ( TAB2 = 0x800 TAB3 = 0xc00 TABDLY = 0xc00 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x8 TCFLSH = 0x2000741f TCGETA = 0x40147417 TCGETS = 0x402c7413 @@ -1705,6 +1754,7 @@ const ( TCP_CORK = 0x3 TCP_DEFER_ACCEPT = 0x9 TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e TCP_INFO = 0xb TCP_KEEPCNT = 0x6 TCP_KEEPIDLE = 0x4 @@ -1761,6 +1811,7 @@ const ( TIOCGPKT = 0x40045438 TIOCGPTLCK = 0x40045439 TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 TIOCGRS485 = 0x542e TIOCGSERIAL = 0x541e TIOCGSID = 0x5429 @@ -1827,6 +1878,7 @@ const ( TIOCSWINSZ = 0x80087467 TIOCVHANGUP = 0x5437 TOSTOP = 0x400000 + TS_COMM_LEN = 0x20 TUNATTACHFILTER = 0x801054d5 TUNDETACHFILTER = 0x801054d6 TUNGETFEATURES = 0x400454cf @@ -2061,7 +2113,6 @@ const ( SIGTSTP = syscall.Signal(0x14) SIGTTIN = syscall.Signal(0x15) SIGTTOU = syscall.Signal(0x16) - SIGUNUSED = syscall.Signal(0x1f) SIGURG = syscall.Signal(0x17) SIGUSR1 = syscall.Signal(0xa) SIGUSR2 = syscall.Signal(0xc) 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 bd385f809..70bc1a2fc 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go @@ -36,7 +36,7 @@ const ( AF_KEY = 0xf AF_LLC = 0x1a AF_LOCAL = 0x1 - AF_MAX = 0x2b + AF_MAX = 0x2c AF_MPLS = 0x1c AF_NETBEUI = 0xd AF_NETLINK = 0x10 @@ -51,6 +51,7 @@ const ( AF_ROUTE = 0x10 AF_RXRPC = 0x21 AF_SECURITY = 0xe + AF_SMC = 0x2b AF_SNA = 0x16 AF_TIPC = 0x1e AF_UNIX = 0x1 @@ -129,6 +130,7 @@ const ( ARPHRD_TUNNEL = 0x300 ARPHRD_TUNNEL6 = 0x301 ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a ARPHRD_X25 = 0x10f B0 = 0x0 B1000000 = 0x1008 @@ -392,6 +394,7 @@ const ( ETH_P_FIP = 0x8914 ETH_P_HDLC = 0x19 ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 ETH_P_IEEE802154 = 0xf6 ETH_P_IEEEPUP = 0xa00 ETH_P_IEEEPUPAT = 0xa01 @@ -453,6 +456,8 @@ const ( FF1 = 0x8000 FFDLY = 0x8000 FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 @@ -507,6 +512,19 @@ const ( F_ULOCK = 0x0 F_UNLCK = 0x2 F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 GRND_NONBLOCK = 0x1 GRND_RANDOM = 0x2 HUPCL = 0x400 @@ -644,8 +662,10 @@ const ( IPV6_2292PKTOPTIONS = 0x6 IPV6_2292RTHDR = 0x5 IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 IPV6_ADD_MEMBERSHIP = 0x14 IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 IPV6_CHECKSUM = 0x7 IPV6_DONTFRAG = 0x3e IPV6_DROP_MEMBERSHIP = 0x15 @@ -658,12 +678,14 @@ const ( IPV6_JOIN_GROUP = 0x14 IPV6_LEAVE_ANYCAST = 0x1c IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 IPV6_MTU = 0x18 IPV6_MTU_DISCOVER = 0x17 IPV6_MULTICAST_HOPS = 0x12 IPV6_MULTICAST_IF = 0x11 IPV6_MULTICAST_LOOP = 0x13 IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a IPV6_PATHMTU = 0x3d IPV6_PKTINFO = 0x32 IPV6_PMTUDISC_DO = 0x2 @@ -674,8 +696,10 @@ const ( IPV6_PMTUDISC_WANT = 0x1 IPV6_RECVDSTOPTS = 0x3a IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d IPV6_RECVHOPLIMIT = 0x33 IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a IPV6_RECVPATHMTU = 0x3c IPV6_RECVPKTINFO = 0x31 IPV6_RECVRTHDR = 0x38 @@ -689,7 +713,9 @@ const ( IPV6_RXDSTOPTS = 0x3b IPV6_RXHOPOPTS = 0x36 IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c IPV6_V6ONLY = 0x1a IPV6_XFRM_POLICY = 0x23 IP_ADD_MEMBERSHIP = 0x23 @@ -732,6 +758,7 @@ const ( IP_PMTUDISC_PROBE = 0x3 IP_PMTUDISC_WANT = 0x1 IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 IP_RECVOPTS = 0x6 IP_RECVORIGDSTADDR = 0x14 IP_RECVRETOPTS = 0x7 @@ -769,6 +796,7 @@ const ( KEYCTL_NEGATE = 0xd KEYCTL_READ = 0xb KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d KEYCTL_REVOKE = 0x3 KEYCTL_SEARCH = 0xa KEYCTL_SESSION_TO_PARENT = 0x12 @@ -901,6 +929,7 @@ const ( MS_SILENT = 0x8000 MS_SLAVE = 0x80000 MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 MS_SYNC = 0x4 MS_SYNCHRONOUS = 0x10 MS_UNBINDABLE = 0x20000 @@ -915,6 +944,7 @@ const ( NETLINK_DNRTMSG = 0xe NETLINK_DROP_MEMBERSHIP = 0x2 NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb NETLINK_FIB_LOOKUP = 0xa NETLINK_FIREWALL = 0x3 NETLINK_GENERIC = 0x10 @@ -933,6 +963,7 @@ const ( NETLINK_RX_RING = 0x6 NETLINK_SCSITRANSPORT = 0x12 NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 NETLINK_SOCK_DIAG = 0x4 NETLINK_TX_RING = 0x7 NETLINK_UNUSED = 0x1 @@ -953,8 +984,10 @@ const ( NLMSG_NOOP = 0x1 NLMSG_OVERRUN = 0x4 NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 NLM_F_APPEND = 0x800 NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 NLM_F_CREATE = 0x400 NLM_F_DUMP = 0x300 NLM_F_DUMP_FILTERED = 0x20 @@ -1011,6 +1044,7 @@ const ( PACKET_FANOUT_EBPF = 0x7 PACKET_FANOUT_FLAG_DEFRAG = 0x8000 PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 PACKET_FANOUT_HASH = 0x0 PACKET_FANOUT_LB = 0x1 PACKET_FANOUT_QM = 0x5 @@ -1330,7 +1364,7 @@ const ( RTAX_UNSPEC = 0x0 RTAX_WINDOW = 0x3 RTA_ALIGNTO = 0x4 - RTA_MAX = 0x19 + RTA_MAX = 0x1a RTCF_DIRECTSRC = 0x4000000 RTCF_DOREDIRECT = 0x1000000 RTCF_LOG = 0x2000000 @@ -1374,6 +1408,7 @@ const ( RTM_DELLINK = 0x11 RTM_DELMDB = 0x55 RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 RTM_DELNSID = 0x59 RTM_DELQDISC = 0x25 RTM_DELROUTE = 0x19 @@ -1382,6 +1417,7 @@ const ( RTM_DELTFILTER = 0x2d RTM_F_CLONED = 0x200 RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 RTM_F_LOOKUP_TABLE = 0x1000 RTM_F_NOTIFY = 0x100 RTM_F_PREFIX = 0x800 @@ -1403,10 +1439,11 @@ const ( RTM_GETSTATS = 0x5e RTM_GETTCLASS = 0x2a RTM_GETTFILTER = 0x2e - RTM_MAX = 0x5f + RTM_MAX = 0x63 RTM_NEWACTION = 0x30 RTM_NEWADDR = 0x14 RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 RTM_NEWLINK = 0x10 RTM_NEWMDB = 0x54 RTM_NEWNDUSEROPT = 0x44 @@ -1421,8 +1458,8 @@ const ( RTM_NEWSTATS = 0x5c RTM_NEWTCLASS = 0x28 RTM_NEWTFILTER = 0x2c - RTM_NR_FAMILIES = 0x14 - RTM_NR_MSGTYPES = 0x50 + RTM_NR_FAMILIES = 0x15 + RTM_NR_MSGTYPES = 0x54 RTM_SETDCB = 0x4f RTM_SETLINK = 0x13 RTM_SETNEIGHTBL = 0x43 @@ -1433,6 +1470,7 @@ const ( RTNH_F_OFFLOAD = 0x8 RTNH_F_ONLINK = 0x4 RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 RTN_MAX = 0xb RTPROT_BABEL = 0x2a RTPROT_BIRD = 0xc @@ -1463,6 +1501,7 @@ const ( SCM_TIMESTAMP = 0x1d SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a SCM_TIMESTAMPNS = 0x23 SCM_WIFI_STATUS = 0x29 SECCOMP_MODE_DISABLED = 0x0 @@ -1601,6 +1640,7 @@ const ( SO_BSDCOMPAT = 0xe SO_BUSY_POLL = 0x2e SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 SO_DEBUG = 0x1 SO_DETACH_BPF = 0x1b SO_DETACH_FILTER = 0x1b @@ -1609,11 +1649,13 @@ const ( SO_ERROR = 0x4 SO_GET_FILTER = 0x1a 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_NOFCS = 0x2b SO_NO_CHECK = 0xb SO_OOBINLINE = 0xa @@ -1621,6 +1663,7 @@ const ( SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b SO_PEERNAME = 0x1c SO_PEERSEC = 0x1f SO_PRIORITY = 0xc @@ -1688,6 +1731,12 @@ const ( TAB2 = 0x1000 TAB3 = 0x1800 TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x8 TCFLSH = 0x540b TCGETA = 0x5405 TCGETS = 0x5401 @@ -1711,6 +1760,7 @@ const ( TCP_CORK = 0x3 TCP_DEFER_ACCEPT = 0x9 TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e TCP_INFO = 0xb TCP_KEEPCNT = 0x6 TCP_KEEPIDLE = 0x4 @@ -1770,6 +1820,7 @@ const ( TIOCGPKT = 0x80045438 TIOCGPTLCK = 0x80045439 TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 TIOCGRS485 = 0x542e TIOCGSERIAL = 0x541e TIOCGSID = 0x5429 @@ -1827,6 +1878,7 @@ const ( TIOCSWINSZ = 0x5414 TIOCVHANGUP = 0x5437 TOSTOP = 0x100 + TS_COMM_LEN = 0x20 TUNATTACHFILTER = 0x401054d5 TUNDETACHFILTER = 0x401054d6 TUNGETFEATURES = 0x800454cf @@ -2061,7 +2113,6 @@ const ( SIGTSTP = syscall.Signal(0x14) SIGTTIN = syscall.Signal(0x15) SIGTTOU = syscall.Signal(0x16) - SIGUNUSED = syscall.Signal(0x1f) SIGURG = syscall.Signal(0x17) SIGUSR1 = syscall.Signal(0xa) SIGUSR2 = syscall.Signal(0xc) diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go index ac85ca645..206c75f09 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go +++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go @@ -1006,6 +1006,9 @@ const ( MSG_TRUNC = 0x10 MSG_USERFLAGS = 0xffffff MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x4 NAME_MAX = 0x1ff NET_RT_DUMP = 0x1 NET_RT_FLAGS = 0x2 diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go new file mode 100644 index 000000000..3ed0b2602 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go @@ -0,0 +1,1586 @@ +// mkerrors.sh +// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- _const.go + +// +build arm,openbsd + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BLUETOOTH = 0x20 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_ENCAP = 0x1c + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_KEY = 0x1e + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x24 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SIP = 0x1d + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRFILT = 0x4004427c + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc008427b + BIOCGETIF = 0x4020426b + BIOCGFILDROP = 0x40044278 + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044273 + BIOCGRTIMEOUT = 0x400c426e + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x20004276 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDIRFILT = 0x8004427d + BIOCSDLT = 0x8004427a + BIOCSETF = 0x80084267 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x80084277 + BIOCSFILDROP = 0x80044279 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044272 + BIOCSRTIMEOUT = 0x800c426d + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIRECTION_IN = 0x1 + BPF_DIRECTION_OUT = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x200000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CREAD = 0x800 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0xff + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DIOCOSFPFLUSH = 0x2000444e + DLT_ARCNET = 0x7 + DLT_ATM_RFC1483 = 0xb + DLT_AX25 = 0x3 + DLT_CHAOS = 0x5 + DLT_C_HDLC = 0x68 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0xd + DLT_FDDI = 0xa + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_LOOP = 0xc + DLT_MPLS = 0xdb + DLT_NULL = 0x0 + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_SERIAL = 0x32 + DLT_PRONET = 0x4 + DLT_RAW = 0xe + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMT_TAGOVF = 0x1 + EMUL_ENABLED = 0x1 + EMUL_NATIVE = 0x2 + ENDRUNDISC = 0x9 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_AOE = 0x88a2 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LLDP = 0x88cc + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_QINQ = 0x88a8 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOW = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_ALIGN = 0x2 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_DIX_LEN = 0x600 + ETHER_MAX_LEN = 0x5ee + ETHER_MIN_LEN = 0x40 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = -0x3 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = -0x7 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xa + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8e52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BLUETOOTH = 0xf8 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf7 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DUMMY = 0xf1 + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf3 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFLOW = 0xf9 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf2 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_HOST = 0x1 + IN_RFC3021_NET = 0xfffffffe + IN_RFC3021_NSHIFT = 0x1f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DIVERT = 0x102 + IPPROTO_DIVERT_INIT = 0x2 + IPPROTO_DIVERT_RESP = 0x1 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x103 + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_AUTH_LEVEL = 0x35 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_ESP_NETWORK_LEVEL = 0x37 + IPV6_ESP_TRANS_LEVEL = 0x36 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPCOMP_LEVEL = 0x3c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_OPTIONS = 0x1 + IPV6_PATHMTU = 0x2c + IPV6_PIPEX = 0x3f + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVDSTPORT = 0x40 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTABLE = 0x1021 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_AUTH_LEVEL = 0x14 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DIVERTFL = 0x1022 + IP_DROP_MEMBERSHIP = 0xd + IP_ESP_NETWORK_LEVEL = 0x16 + IP_ESP_TRANS_LEVEL = 0x15 + IP_HDRINCL = 0x2 + IP_IPCOMP_LEVEL = 0x1d + IP_IPSECFLOWINFO = 0x24 + IP_IPSEC_LOCAL_AUTH = 0x1b + IP_IPSEC_LOCAL_CRED = 0x19 + IP_IPSEC_LOCAL_ID = 0x17 + IP_IPSEC_REMOTE_AUTH = 0x1c + IP_IPSEC_REMOTE_CRED = 0x1a + IP_IPSEC_REMOTE_ID = 0x18 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0xfff + IP_MF = 0x2000 + IP_MINTTL = 0x20 + IP_MIN_MEMBERSHIPS = 0xf + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PIPEX = 0x22 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVDSTPORT = 0x21 + IP_RECVIF = 0x1e + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRTABLE = 0x23 + IP_RECVTTL = 0x1f + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RTABLE = 0x1021 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + LCNT_OVERLOAD_FLUSH = 0x6 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FLAGMASK = 0x3ff7 + MAP_HASSEMAPHORE = 0x0 + MAP_INHERIT = 0x0 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_INHERIT_ZERO = 0x3 + MAP_NOEXTEND = 0x0 + MAP_NORESERVE = 0x0 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x0 + MAP_SHARED = 0x1 + MAP_TRYFIXED = 0x0 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_MCAST = 0x200 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x4 + MS_SYNC = 0x2 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_MAXID = 0x6 + NET_RT_STATS = 0x4 + NET_RT_TABLE = 0x5 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EOF = 0x2 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRUNCATE = 0x80 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x80 + ONOCR = 0x40 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x10000 + O_CREAT = 0x200 + O_DIRECTORY = 0x20000 + O_DSYNC = 0x80 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x80 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PF_FLUSH = 0x1 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x8 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_LABEL = 0xa + RTAX_MAX = 0xb + RTAX_NETMASK = 0x2 + RTAX_SRC = 0x8 + RTAX_SRCMASK = 0x9 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_LABEL = 0x400 + RTA_NETMASK = 0x4 + RTA_SRC = 0x100 + RTA_SRCMASK = 0x200 + RTF_ANNOUNCE = 0x4000 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONED = 0x10000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FMASK = 0x70f808 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_MPATH = 0x40000 + RTF_MPLS = 0x100000 + RTF_PERMANENT_ARP = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x2000 + RTF_REJECT = 0x8 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_USETRAILERS = 0x8000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DESYNC = 0x10 + RTM_GET = 0x4 + RTM_IFANNOUNCE = 0xf + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MAXSIZE = 0x800 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_TABLEID_MAX = 0xff + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80246987 + SIOCALIFADDR = 0x8218691c + SIOCATMARK = 0x40047307 + SIOCBRDGADD = 0x8054693c + SIOCBRDGADDS = 0x80546941 + SIOCBRDGARL = 0x806e694d + SIOCBRDGDADDR = 0x81286947 + SIOCBRDGDEL = 0x8054693d + SIOCBRDGDELS = 0x80546942 + SIOCBRDGFLUSH = 0x80546948 + SIOCBRDGFRL = 0x806e694e + SIOCBRDGGCACHE = 0xc0146941 + SIOCBRDGGFD = 0xc0146952 + SIOCBRDGGHT = 0xc0146951 + SIOCBRDGGIFFLGS = 0xc054693e + SIOCBRDGGMA = 0xc0146953 + SIOCBRDGGPARAM = 0xc03c6958 + SIOCBRDGGPRI = 0xc0146950 + SIOCBRDGGRL = 0xc028694f + SIOCBRDGGSIFS = 0xc054693c + SIOCBRDGGTO = 0xc0146946 + SIOCBRDGIFS = 0xc0546942 + SIOCBRDGRTS = 0xc0186943 + SIOCBRDGSADDR = 0xc1286944 + SIOCBRDGSCACHE = 0x80146940 + SIOCBRDGSFD = 0x80146952 + SIOCBRDGSHT = 0x80146951 + SIOCBRDGSIFCOST = 0x80546955 + SIOCBRDGSIFFLGS = 0x8054693f + SIOCBRDGSIFPRIO = 0x80546954 + SIOCBRDGSMA = 0x80146953 + SIOCBRDGSPRI = 0x80146950 + SIOCBRDGSPROTO = 0x8014695a + SIOCBRDGSTO = 0x80146945 + SIOCBRDGSTXHC = 0x80146959 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80246989 + SIOCDIFPHYADDR = 0x80206949 + SIOCDLIFADDR = 0x8218691e + SIOCGETKALIVE = 0xc01869a4 + SIOCGETLABEL = 0x8020699a + SIOCGETPFLOW = 0xc02069fe + SIOCGETPFSYNC = 0xc02069f8 + SIOCGETSGCNT = 0xc0147534 + SIOCGETVIFCNT = 0xc0147533 + SIOCGETVLAN = 0xc0206990 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCONF = 0xc0086924 + SIOCGIFDATA = 0xc020691b + SIOCGIFDESCR = 0xc0206981 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGATTR = 0xc024698b + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc024698a + SIOCGIFGROUP = 0xc0246988 + SIOCGIFHARDMTU = 0xc02069a5 + SIOCGIFMEDIA = 0xc0286936 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc020697e + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPRIORITY = 0xc020699c + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFRDOMAIN = 0xc02069a0 + SIOCGIFRTLABEL = 0xc0206983 + SIOCGIFRXR = 0x802069aa + SIOCGIFTIMESLOT = 0xc0206986 + SIOCGIFXFLAGS = 0xc020699e + SIOCGLIFADDR = 0xc218691d + SIOCGLIFPHYADDR = 0xc218694b + SIOCGLIFPHYRTABLE = 0xc02069a2 + SIOCGLIFPHYTTL = 0xc02069a9 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGSPPPPARAMS = 0xc0206994 + SIOCGVH = 0xc02069f6 + SIOCGVNETID = 0xc02069a7 + SIOCIFCREATE = 0x8020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCSETKALIVE = 0x801869a3 + SIOCSETLABEL = 0x80206999 + SIOCSETPFLOW = 0x802069fd + SIOCSETPFSYNC = 0x802069f7 + SIOCSETVLAN = 0x8020698f + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFDESCR = 0x80206980 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGATTR = 0x8024698c + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020691f + SIOCSIFMEDIA = 0xc0206935 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x8020697f + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPRIORITY = 0x8020699b + SIOCSIFRDOMAIN = 0x8020699f + SIOCSIFRTLABEL = 0x80206982 + SIOCSIFTIMESLOT = 0x80206985 + SIOCSIFXFLAGS = 0x8020699d + SIOCSLIFPHYADDR = 0x8218694a + SIOCSLIFPHYRTABLE = 0x802069a1 + SIOCSLIFPHYTTL = 0x802069a8 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSSPPPPARAMS = 0x80206993 + SIOCSVH = 0xc02069f5 + SIOCSVNETID = 0x802069a6 + SOCK_CLOEXEC = 0x8000 + SOCK_DGRAM = 0x2 + SOCK_NONBLOCK = 0x4000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BINDANY = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NETPROC = 0x1020 + SO_OOBINLINE = 0x100 + SO_PEERCRED = 0x1022 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RTABLE = 0x1021 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SPLICE = 0x1023 + SO_TIMESTAMP = 0x800 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x3 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x4 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOPUSH = 0x10 + TCP_NSTATES = 0xb + TCP_SACK_ENABLE = 0x8 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_PPS = 0x10 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGTSTAMP = 0x400c745b + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMODG = 0x4004746a + TIOCMODS = 0x8004746d + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x8004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSTSTAMP = 0x8008745a + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALTSIG = 0x4 + WCONTINUED = 0x8 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x58) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x59) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EIPSEC = syscall.Errno(0x52) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x5b) + ELOOP = syscall.Errno(0x3e) + EMEDIUMTYPE = syscall.Errno(0x56) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x53) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOMEDIUM = syscall.Errno(0x55) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5a) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x5b) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x57) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errors = [...]string{ + 1: "operation not permitted", + 2: "no such file or directory", + 3: "no such process", + 4: "interrupted system call", + 5: "input/output error", + 6: "device not configured", + 7: "argument list too long", + 8: "exec format error", + 9: "bad file descriptor", + 10: "no child processes", + 11: "resource deadlock avoided", + 12: "cannot allocate memory", + 13: "permission denied", + 14: "bad address", + 15: "block device required", + 16: "device busy", + 17: "file exists", + 18: "cross-device link", + 19: "operation not supported by device", + 20: "not a directory", + 21: "is a directory", + 22: "invalid argument", + 23: "too many open files in system", + 24: "too many open files", + 25: "inappropriate ioctl for device", + 26: "text file busy", + 27: "file too large", + 28: "no space left on device", + 29: "illegal seek", + 30: "read-only file system", + 31: "too many links", + 32: "broken pipe", + 33: "numerical argument out of domain", + 34: "result too large", + 35: "resource temporarily unavailable", + 36: "operation now in progress", + 37: "operation already in progress", + 38: "socket operation on non-socket", + 39: "destination address required", + 40: "message too long", + 41: "protocol wrong type for socket", + 42: "protocol not available", + 43: "protocol not supported", + 44: "socket type not supported", + 45: "operation not supported", + 46: "protocol family not supported", + 47: "address family not supported by protocol family", + 48: "address already in use", + 49: "can't assign requested address", + 50: "network is down", + 51: "network is unreachable", + 52: "network dropped connection on reset", + 53: "software caused connection abort", + 54: "connection reset by peer", + 55: "no buffer space available", + 56: "socket is already connected", + 57: "socket is not connected", + 58: "can't send after socket shutdown", + 59: "too many references: can't splice", + 60: "connection timed out", + 61: "connection refused", + 62: "too many levels of symbolic links", + 63: "file name too long", + 64: "host is down", + 65: "no route to host", + 66: "directory not empty", + 67: "too many processes", + 68: "too many users", + 69: "disc quota exceeded", + 70: "stale NFS file handle", + 71: "too many levels of remote in path", + 72: "RPC struct is bad", + 73: "RPC version wrong", + 74: "RPC prog. not avail", + 75: "program version wrong", + 76: "bad procedure for program", + 77: "no locks available", + 78: "function not implemented", + 79: "inappropriate file type or format", + 80: "authentication error", + 81: "need authenticator", + 82: "IPsec processing failure", + 83: "attribute not found", + 84: "illegal byte sequence", + 85: "no medium found", + 86: "wrong medium type", + 87: "value too large to be stored in data type", + 88: "operation canceled", + 89: "identifier removed", + 90: "no message of desired type", + 91: "not supported", +} + +// Signal table +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/BPT trap", + 6: "abort trap", + 7: "EMT trap", + 8: "floating point exception", + 9: "killed", + 10: "bus error", + 11: "segmentation fault", + 12: "bad system call", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", + 16: "urgent I/O condition", + 17: "stopped (signal)", + 18: "stopped", + 19: "continued", + 20: "child exited", + 21: "stopped (tty input)", + 22: "stopped (tty output)", + 23: "I/O possible", + 24: "cputime limit exceeded", + 25: "filesize limit exceeded", + 26: "virtual timer expired", + 27: "profiling timer expired", + 28: "window size changes", + 29: "information request", + 30: "user defined signal 1", + 31: "user defined signal 2", + 32: "thread AST", +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go index 81e83d78f..09eedb009 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go @@ -664,6 +664,8 @@ const ( MS_OLDSYNC = 0x0 MS_SYNC = 0x4 M_FLUSH = 0x86 + NAME_MAX = 0xff + NEWDEV = 0x1 NL0 = 0x0 NL1 = 0x100 NLDLY = 0x100 @@ -672,6 +674,9 @@ const ( OFDEL = 0x80 OFILL = 0x40 OLCUC = 0x2 + OLDDEV = 0x0 + ONBITSMAJOR = 0x7 + ONBITSMINOR = 0x8 ONLCR = 0x4 ONLRET = 0x20 ONOCR = 0x10 @@ -1105,6 +1110,7 @@ const ( VEOL = 0x5 VEOL2 = 0x6 VERASE = 0x2 + VERASE2 = 0x11 VINTR = 0x0 VKILL = 0x3 VLNEXT = 0xf diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go index 2198f0bf0..10491e9ed 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go @@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) if e1 != 0 { @@ -298,6 +398,16 @@ func kill(pid int, signum int, posix int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Access(path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -895,90 +1005,6 @@ func Mknod(path string, mode uint32, dev int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Msync(b []byte, flags int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Open(path string, mode int, perm uint32) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) 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 d5af92473..5f1f6bfef 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go @@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) if e1 != 0 { @@ -298,6 +398,16 @@ func kill(pid int, signum int, posix int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Access(path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -895,90 +1005,6 @@ func Mknod(path string, mode uint32, dev int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Msync(b []byte, flags int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Open(path string, mode int, perm uint32) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go index d516409db..7a4097459 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go @@ -1,5 +1,5 @@ -// mksyscall.pl -l32 -tags darwin,arm syscall_bsd.go syscall_darwin.go syscall_darwin_arm.go -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT +// mksyscall.pl -tags darwin,arm syscall_bsd.go syscall_darwin.go syscall_darwin_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. // +build darwin,arm @@ -221,7 +221,7 @@ func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) } else { _p0 = unsafe.Pointer(&_zero) } - _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + _, _, e1 := Syscall6(SYS_SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) if e1 != 0 { err = errnoErr(e1) } @@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) if e1 != 0 { @@ -298,6 +398,16 @@ func kill(pid int, signum int, posix int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Access(path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -456,6 +566,21 @@ func Exit(code int) { // 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) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Fchdir(fd int) (err error) { _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) if e1 != 0 { @@ -486,6 +611,21 @@ func Fchmod(fd int, mode uint32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + 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 { @@ -496,6 +636,21 @@ func Fchown(fd int, uid int, gid int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Flock(fd int, how int) (err error) { _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) if e1 != 0 { @@ -745,6 +900,26 @@ func Link(path string, link string) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Listen(s int, backlog int) (err error) { _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) if e1 != 0 { @@ -785,6 +960,21 @@ func Mkdir(path string, mode uint32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Mkfifo(path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -815,74 +1005,6 @@ func Mknod(path string, mode uint32, dev int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Open(path string, mode int, perm uint32) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -899,6 +1021,22 @@ func Open(path string, mode int, perm uint32) (fd int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Pathconf(path string, name int) (val int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -988,6 +1126,28 @@ func Readlink(path string, buf []byte) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 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 Rename(from string, to string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(from) @@ -1008,6 +1168,26 @@ func Rename(from string, to string) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Revoke(path string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1245,6 +1425,26 @@ func Symlink(path string, link string) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Sync() (err error) { _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) if e1 != 0 { @@ -1308,6 +1508,21 @@ func Unlink(path string) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Unmount(path string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) 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 e97759c35..07c6ebc9f 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go @@ -1,5 +1,5 @@ // mksyscall.pl -tags darwin,arm64 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.go -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT +// Code generated by the command above; see README.md. DO NOT EDIT. // +build darwin,arm64 @@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) if e1 != 0 { @@ -298,6 +398,16 @@ func kill(pid int, signum int, posix int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Access(path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -456,6 +566,21 @@ func Exit(code int) { // 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) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Fchdir(fd int) (err error) { _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) if e1 != 0 { @@ -486,6 +611,21 @@ func Fchmod(fd int, mode uint32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + 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 { @@ -496,6 +636,21 @@ func Fchown(fd int, uid int, gid int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Flock(fd int, how int) (err error) { _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) if e1 != 0 { @@ -745,6 +900,26 @@ func Link(path string, link string) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Listen(s int, backlog int) (err error) { _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) if e1 != 0 { @@ -785,6 +960,21 @@ func Mkdir(path string, mode uint32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Mkfifo(path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -815,74 +1005,6 @@ func Mknod(path string, mode uint32, dev int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Open(path string, mode int, perm uint32) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -899,6 +1021,22 @@ func Open(path string, mode int, perm uint32) (fd int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Pathconf(path string, name int) (val int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -988,6 +1126,28 @@ func Readlink(path string, buf []byte) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 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 Rename(from string, to string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(from) @@ -1008,6 +1168,26 @@ func Rename(from string, to string) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Revoke(path string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1245,6 +1425,26 @@ func Symlink(path string, link string) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Sync() (err error) { _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) if e1 != 0 { @@ -1308,6 +1508,21 @@ func Unlink(path string) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Unmount(path string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go index eafceb8e8..7fa205cd0 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go @@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func pipe() (r int, w int, err error) { r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) r = int(r0) @@ -829,74 +929,6 @@ func Mknod(path string, mode uint32, dev int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { @@ -1391,3 +1423,18 @@ func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} 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 f53801cee..1a0bb4cb0 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go @@ -1,5 +1,5 @@ // mksyscall.pl -l32 -tags freebsd,386 syscall_bsd.go syscall_freebsd.go syscall_freebsd_386.go -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT +// Code generated by the command above; see README.md. DO NOT EDIT. // +build freebsd,386 @@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func pipe() (r int, w int, err error) { r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) r = int(r0) @@ -278,6 +378,16 @@ func pipe() (r int, w int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Access(path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -303,6 +413,36 @@ func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func CapEnter() (err error) { + _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsLimit(fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Chdir(path string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -640,6 +780,21 @@ func Fadvise(fd int, offset int64, length int64, advice int) (err error) { // 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) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Fchdir(fd int) (err error) { _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) if e1 != 0 { @@ -670,6 +825,21 @@ func Fchmod(fd int, mode uint32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + 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 { @@ -680,6 +850,21 @@ func Fchown(fd int, uid int, gid int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Flock(fd int, how int) (err error) { _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) if e1 != 0 { @@ -949,6 +1134,26 @@ func Link(path string, link string) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Listen(s int, backlog int) (err error) { _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) if e1 != 0 { @@ -989,6 +1194,21 @@ func Mkdir(path string, mode uint32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Mkfifo(path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1019,74 +1239,6 @@ func Mknod(path string, mode uint32, dev int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { @@ -1113,6 +1265,22 @@ func Open(path string, mode int, perm uint32) (fd int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Pathconf(path string, name int) (val int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1202,6 +1370,28 @@ func Readlink(path string, buf []byte) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 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 Rename(from string, to string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(from) @@ -1222,6 +1412,26 @@ func Rename(from string, to string) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Revoke(path string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1469,6 +1679,26 @@ func Symlink(path string, link string) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Sync() (err error) { _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) if e1 != 0 { @@ -1532,6 +1762,21 @@ func Unlink(path string) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Unmount(path string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1615,3 +1860,18 @@ func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} 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 a2a5895d7..ac1e8e013 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go @@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func pipe() (r int, w int, err error) { r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) r = int(r0) @@ -278,6 +378,16 @@ func pipe() (r int, w int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Access(path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -670,6 +780,21 @@ func Fadvise(fd int, offset int64, length int64, advice int) (err error) { // 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) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Fchdir(fd int) (err error) { _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) if e1 != 0 { @@ -700,6 +825,21 @@ func Fchmod(fd int, mode uint32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + 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 { @@ -710,6 +850,21 @@ func Fchown(fd int, uid int, gid int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Flock(fd int, how int) (err error) { _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) if e1 != 0 { @@ -979,6 +1134,26 @@ func Link(path string, link string) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Listen(s int, backlog int) (err error) { _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) if e1 != 0 { @@ -1019,6 +1194,21 @@ func Mkdir(path string, mode uint32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Mkfifo(path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1049,74 +1239,6 @@ func Mknod(path string, mode uint32, dev int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { @@ -1248,6 +1370,28 @@ func Readlink(path string, buf []byte) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 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 Rename(from string, to string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(from) @@ -1268,6 +1412,26 @@ func Rename(from string, to string) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Revoke(path string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1515,6 +1679,26 @@ func Symlink(path string, link string) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Sync() (err error) { _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) if e1 != 0 { @@ -1578,6 +1762,21 @@ func Unlink(path string) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Unmount(path string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1661,3 +1860,18 @@ func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} 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 0e9b42bf4..2b4e6acf0 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go @@ -1,5 +1,5 @@ // mksyscall.pl -l32 -arm -tags freebsd,arm syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm.go -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT +// Code generated by the command above; see README.md. DO NOT EDIT. // +build freebsd,arm @@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func pipe() (r int, w int, err error) { r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) r = int(r0) @@ -278,6 +378,16 @@ func pipe() (r int, w int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Access(path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -303,6 +413,36 @@ func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func CapEnter() (err error) { + _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsLimit(fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Chdir(path string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -640,6 +780,21 @@ func Fadvise(fd int, offset int64, length int64, advice int) (err error) { // 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) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Fchdir(fd int) (err error) { _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) if e1 != 0 { @@ -670,6 +825,21 @@ func Fchmod(fd int, mode uint32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + 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 { @@ -680,6 +850,21 @@ func Fchown(fd int, uid int, gid int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Flock(fd int, how int) (err error) { _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) if e1 != 0 { @@ -949,6 +1134,26 @@ func Link(path string, link string) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Listen(s int, backlog int) (err error) { _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) if e1 != 0 { @@ -989,6 +1194,21 @@ func Mkdir(path string, mode uint32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Mkfifo(path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1019,74 +1239,6 @@ func Mknod(path string, mode uint32, dev int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { @@ -1113,6 +1265,22 @@ func Open(path string, mode int, perm uint32) (fd int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Pathconf(path string, name int) (val int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1202,6 +1370,28 @@ func Readlink(path string, buf []byte) (n int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 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 Rename(from string, to string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(from) @@ -1222,6 +1412,26 @@ func Rename(from string, to string) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Revoke(path string) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1469,6 +1679,26 @@ func Symlink(path string, link string) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Sync() (err error) { _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) if e1 != 0 { @@ -1532,6 +1762,21 @@ func Unlink(path string) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Unmount(path string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) @@ -1615,3 +1860,18 @@ func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} 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 8b8325a8a..000a46833 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go @@ -1234,6 +1234,16 @@ func Sync() { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Sysinfo(info *Sysinfo_t) (err error) { _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) if e1 != 0 { @@ -1436,22 +1446,6 @@ func Mlock(b []byte) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Mlockall(flags int) (err error) { _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) if e1 != 0 { @@ -1478,6 +1472,22 @@ func Msync(b []byte, flags int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Munlockall() (err error) { _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) 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 417cb98cd..712dffde4 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go @@ -1234,6 +1234,16 @@ func Sync() { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Sysinfo(info *Sysinfo_t) (err error) { _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) if e1 != 0 { @@ -1436,22 +1446,6 @@ func Mlock(b []byte) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Mlockall(flags int) (err error) { _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) if e1 != 0 { @@ -1478,6 +1472,22 @@ func Msync(b []byte, flags int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Munlockall() (err error) { _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 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 db7156bcb..338796d90 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go @@ -1234,6 +1234,16 @@ func Sync() { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Sysinfo(info *Sysinfo_t) (err error) { _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) if e1 != 0 { @@ -1436,22 +1446,6 @@ func Mlock(b []byte) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Mlockall(flags int) (err error) { _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) if e1 != 0 { @@ -1478,6 +1472,22 @@ func Msync(b []byte, flags int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Munlockall() (err error) { _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) 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 fbc7e2c05..fc3006d97 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go @@ -1234,6 +1234,16 @@ func Sync() { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Sysinfo(info *Sysinfo_t) (err error) { _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) if e1 != 0 { @@ -1436,22 +1446,6 @@ func Mlock(b []byte) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Mlockall(flags int) (err error) { _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) if e1 != 0 { @@ -1478,6 +1472,22 @@ func Msync(b []byte, flags int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Munlockall() (err error) { _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 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 de3f8599b..4b0ef2076 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go @@ -1234,6 +1234,16 @@ func Sync() { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Sysinfo(info *Sysinfo_t) (err error) { _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) if e1 != 0 { @@ -1436,22 +1446,6 @@ func Mlock(b []byte) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Mlockall(flags int) (err error) { _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) if e1 != 0 { @@ -1478,6 +1472,22 @@ func Msync(b []byte, flags int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Munlockall() (err error) { _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 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 6bedc3dc4..31eb98c7d 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go @@ -1234,6 +1234,16 @@ func Sync() { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Sysinfo(info *Sysinfo_t) (err error) { _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) if e1 != 0 { @@ -1436,22 +1446,6 @@ func Mlock(b []byte) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Mlockall(flags int) (err error) { _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) if e1 != 0 { @@ -1478,6 +1472,22 @@ func Msync(b []byte, flags int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Munlockall() (err error) { _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 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 8029e22fc..875ffa33f 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go @@ -1234,6 +1234,16 @@ func Sync() { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Sysinfo(info *Sysinfo_t) (err error) { _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) if e1 != 0 { @@ -1436,22 +1446,6 @@ func Mlock(b []byte) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Mlockall(flags int) (err error) { _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) if e1 != 0 { @@ -1478,6 +1472,22 @@ func Msync(b []byte, flags int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Munlockall() (err error) { _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 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 7866a1516..6863e81aa 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go @@ -1234,6 +1234,16 @@ func Sync() { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Sysinfo(info *Sysinfo_t) (err error) { _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) if e1 != 0 { @@ -1436,22 +1446,6 @@ func Mlock(b []byte) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Mlockall(flags int) (err error) { _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) if e1 != 0 { @@ -1478,6 +1472,22 @@ func Msync(b []byte, flags int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Munlockall() (err error) { _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) 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 06f18ed1f..2a32c6b41 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go @@ -1234,6 +1234,16 @@ func Sync() { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Sysinfo(info *Sysinfo_t) (err error) { _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) if e1 != 0 { @@ -1436,22 +1446,6 @@ func Mlock(b []byte) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Mlockall(flags int) (err error) { _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) if e1 != 0 { @@ -1478,6 +1472,22 @@ func Msync(b []byte, flags int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Munlockall() (err error) { _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) if e1 != 0 { @@ -1724,7 +1734,7 @@ func Seek(fd int, offset int64, whence int) (off int64, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { - r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) 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 80802bc33..8172d3558 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go @@ -1234,6 +1234,16 @@ func Sync() { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Sysinfo(info *Sysinfo_t) (err error) { _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) if e1 != 0 { @@ -1436,22 +1446,6 @@ func Mlock(b []byte) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Mlockall(flags int) (err error) { _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) if e1 != 0 { @@ -1478,6 +1472,22 @@ func Msync(b []byte, flags int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Munlockall() (err error) { _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) if e1 != 0 { @@ -1724,7 +1734,7 @@ func Seek(fd int, offset int64, whence int) (off int64, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { - r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) n = int(r0) if e1 != 0 { err = errnoErr(e1) 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 887dfcc36..49021966f 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go @@ -1234,6 +1234,16 @@ func Sync() { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Sysinfo(info *Sysinfo_t) (err error) { _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) if e1 != 0 { @@ -1436,22 +1446,6 @@ func Mlock(b []byte) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Mlockall(flags int) (err error) { _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) if e1 != 0 { @@ -1478,6 +1472,22 @@ func Msync(b []byte, flags int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Munlockall() (err error) { _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) if e1 != 0 { 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 3182345ec..db99fd0c9 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go @@ -1,5 +1,5 @@ // mksyscall.pl -l32 -netbsd -tags netbsd,386 syscall_bsd.go syscall_netbsd.go syscall_netbsd_386.go -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT +// Code generated by the command above; see README.md. DO NOT EDIT. // +build netbsd,386 @@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func pipe() (fd1 int, fd2 int, err error) { r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) fd1 = int(r0) @@ -777,74 +877,6 @@ func Mknod(path string, mode uint32, dev int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { @@ -1297,3 +1329,18 @@ func writelen(fd int, buf *byte, nbuf int) (n int, err error) { } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} 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 74ba8189a..7b6c2c87e 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go @@ -1,5 +1,5 @@ // mksyscall.pl -netbsd -tags netbsd,amd64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_amd64.go -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT +// Code generated by the command above; see README.md. DO NOT EDIT. // +build netbsd,amd64 @@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func pipe() (fd1 int, fd2 int, err error) { r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) fd1 = int(r0) @@ -777,74 +877,6 @@ func Mknod(path string, mode uint32, dev int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { @@ -1297,3 +1329,18 @@ func writelen(fd int, buf *byte, nbuf int) (n int, err error) { } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} 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 1f346e2f5..0f4cc3b52 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go @@ -1,5 +1,5 @@ -// mksyscall.pl -l32 -arm -tags netbsd,arm syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm.go -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT +// mksyscall.pl -l32 -netbsd -arm -tags netbsd,arm syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. // +build netbsd,arm @@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func pipe() (fd1 int, fd2 int, err error) { r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) fd1 = int(r0) @@ -777,74 +877,6 @@ func Mknod(path string, mode uint32, dev int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { @@ -1297,3 +1329,18 @@ func writelen(fd int, buf *byte, nbuf int) (n int, err error) { } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} 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 ca3e81392..7baea87c7 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go @@ -1,5 +1,5 @@ // mksyscall.pl -l32 -openbsd -tags openbsd,386 syscall_bsd.go syscall_openbsd.go syscall_openbsd_386.go -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT +// Code generated by the command above; see README.md. DO NOT EDIT. // +build openbsd,386 @@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func pipe(p *[2]_C_int) (err error) { _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) if e1 != 0 { @@ -785,74 +885,6 @@ func Mknod(path string, mode uint32, dev int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { @@ -1355,3 +1387,18 @@ func writelen(fd int, buf *byte, nbuf int) (n int, err error) { } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} 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 bf63d552e..0d69ce6b5 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go @@ -1,5 +1,5 @@ // mksyscall.pl -openbsd -tags openbsd,amd64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_amd64.go -// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT +// Code generated by the command above; see README.md. DO NOT EDIT. // +build openbsd,amd64 @@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func pipe(p *[2]_C_int) (err error) { _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) if e1 != 0 { @@ -785,74 +885,6 @@ func Mknod(path string, mode uint32, dev int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Mlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mlockall(flags int) (err error) { - _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Mprotect(b []byte, prot int) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlock(b []byte) (err error) { - var _p0 unsafe.Pointer - if len(b) > 0 { - _p0 = unsafe.Pointer(&b[0]) - } else { - _p0 = unsafe.Pointer(&_zero) - } - _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - -func Munlockall() (err error) { - _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { @@ -1355,3 +1387,18 @@ func writelen(fd int, buf *byte, nbuf int) (n int, err error) { } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go new file mode 100644 index 000000000..41572c26e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go @@ -0,0 +1,1404 @@ +// mksyscall.pl -l32 -openbsd -arm -tags openbsd,arm syscall_bsd.go syscall_openbsd.go syscall_openbsd_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build openbsd,arm + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 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 setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, 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 Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + 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 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// 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) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// 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 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go index d1ed02103..98b266550 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go @@ -25,6 +25,9 @@ import ( //go:cgo_import_dynamic libc___xnet_recvmsg __xnet_recvmsg "libsocket.so" //go:cgo_import_dynamic libc___xnet_sendmsg __xnet_sendmsg "libsocket.so" //go:cgo_import_dynamic libc_acct acct "libc.so" +//go:cgo_import_dynamic libc___makedev __makedev "libc.so" +//go:cgo_import_dynamic libc___major __major "libc.so" +//go:cgo_import_dynamic libc___minor __minor "libc.so" //go:cgo_import_dynamic libc_ioctl ioctl "libc.so" //go:cgo_import_dynamic libc_access access "libc.so" //go:cgo_import_dynamic libc_adjtime adjtime "libc.so" @@ -43,6 +46,7 @@ import ( //go:cgo_import_dynamic libc_fchown fchown "libc.so" //go:cgo_import_dynamic libc_fchownat fchownat "libc.so" //go:cgo_import_dynamic libc_fdatasync fdatasync "libc.so" +//go:cgo_import_dynamic libc_flock flock "libc.so" //go:cgo_import_dynamic libc_fpathconf fpathconf "libc.so" //go:cgo_import_dynamic libc_fstat fstat "libc.so" //go:cgo_import_dynamic libc_fstatvfs fstatvfs "libc.so" @@ -74,6 +78,7 @@ import ( //go:cgo_import_dynamic libc_mlock mlock "libc.so" //go:cgo_import_dynamic libc_mlockall mlockall "libc.so" //go:cgo_import_dynamic libc_mprotect mprotect "libc.so" +//go:cgo_import_dynamic libc_msync msync "libc.so" //go:cgo_import_dynamic libc_munlock munlock "libc.so" //go:cgo_import_dynamic libc_munlockall munlockall "libc.so" //go:cgo_import_dynamic libc_nanosleep nanosleep "libc.so" @@ -128,7 +133,6 @@ import ( //go:cgo_import_dynamic libc_getpeername getpeername "libsocket.so" //go:cgo_import_dynamic libc_setsockopt setsockopt "libsocket.so" //go:cgo_import_dynamic libc_recvfrom recvfrom "libsocket.so" -//go:cgo_import_dynamic libc_sysconf sysconf "libc.so" //go:linkname procpipe libc_pipe //go:linkname procgetsockname libc_getsockname @@ -145,6 +149,9 @@ import ( //go:linkname proc__xnet_recvmsg libc___xnet_recvmsg //go:linkname proc__xnet_sendmsg libc___xnet_sendmsg //go:linkname procacct libc_acct +//go:linkname proc__makedev libc___makedev +//go:linkname proc__major libc___major +//go:linkname proc__minor libc___minor //go:linkname procioctl libc_ioctl //go:linkname procAccess libc_access //go:linkname procAdjtime libc_adjtime @@ -163,6 +170,7 @@ import ( //go:linkname procFchown libc_fchown //go:linkname procFchownat libc_fchownat //go:linkname procFdatasync libc_fdatasync +//go:linkname procFlock libc_flock //go:linkname procFpathconf libc_fpathconf //go:linkname procFstat libc_fstat //go:linkname procFstatvfs libc_fstatvfs @@ -194,6 +202,7 @@ import ( //go:linkname procMlock libc_mlock //go:linkname procMlockall libc_mlockall //go:linkname procMprotect libc_mprotect +//go:linkname procMsync libc_msync //go:linkname procMunlock libc_munlock //go:linkname procMunlockall libc_munlockall //go:linkname procNanosleep libc_nanosleep @@ -248,7 +257,6 @@ import ( //go:linkname procgetpeername libc_getpeername //go:linkname procsetsockopt libc_setsockopt //go:linkname procrecvfrom libc_recvfrom -//go:linkname procsysconf libc_sysconf var ( procpipe, @@ -266,6 +274,9 @@ var ( proc__xnet_recvmsg, proc__xnet_sendmsg, procacct, + proc__makedev, + proc__major, + proc__minor, procioctl, procAccess, procAdjtime, @@ -284,6 +295,7 @@ var ( procFchown, procFchownat, procFdatasync, + procFlock, procFpathconf, procFstat, procFstatvfs, @@ -315,6 +327,7 @@ var ( procMlock, procMlockall, procMprotect, + procMsync, procMunlock, procMunlockall, procNanosleep, @@ -368,8 +381,7 @@ var ( proc__xnet_getsockopt, procgetpeername, procsetsockopt, - procrecvfrom, - procsysconf syscallFunc + procrecvfrom syscallFunc ) func pipe(p *[2]_C_int) (n int, err error) { @@ -519,6 +531,24 @@ func acct(path *byte) (err error) { return } +func __makedev(version int, major uint, minor uint) (val uint64) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__makedev)), 3, uintptr(version), uintptr(major), uintptr(minor), 0, 0, 0) + val = uint64(r0) + return +} + +func __major(version int, dev uint64) (val uint) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__major)), 2, uintptr(version), uintptr(dev), 0, 0, 0, 0) + val = uint(r0) + return +} + +func __minor(version int, dev uint64) (val uint) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__minor)), 2, uintptr(version), uintptr(dev), 0, 0, 0, 0) + val = uint(r0) + return +} + func ioctl(fd int, req uint, arg uintptr) (err error) { _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 0, 0) if e1 != 0 { @@ -702,6 +732,14 @@ func Fdatasync(fd int) (err error) { return } +func Flock(fd int, how int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFlock)), 2, uintptr(fd), uintptr(how), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + func Fpathconf(fd int, name int) (val int, err error) { r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFpathconf)), 2, uintptr(fd), uintptr(name), 0, 0, 0, 0) val = int(r0) @@ -1009,6 +1047,18 @@ func Mprotect(b []byte, prot int) (err error) { return } +func Msync(b []byte, flags int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMsync)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(flags), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + func Munlock(b []byte) (err error) { var _p0 *byte if len(b) > 0 { @@ -1578,12 +1628,3 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl } return } - -func sysconf(name int) (n int64, err error) { - r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsysconf)), 1, uintptr(name), 0, 0, 0, 0, 0) - n = int64(r0) - if e1 != 0 { - err = e1 - } - return -} diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go index b8c9aea85..41cb6ed39 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go @@ -1,5 +1,5 @@ -// mksysnum_darwin.pl /usr/include/sys/syscall.h -// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT +// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/usr/include/sys/syscall.h +// Code generated by the command above; see README.md. DO NOT EDIT. // +build arm,darwin @@ -121,12 +121,14 @@ const ( SYS_CSOPS = 169 SYS_CSOPS_AUDITTOKEN = 170 SYS_WAITID = 173 + SYS_KDEBUG_TYPEFILTER = 177 + SYS_KDEBUG_TRACE_STRING = 178 + SYS_KDEBUG_TRACE64 = 179 SYS_KDEBUG_TRACE = 180 SYS_SETGID = 181 SYS_SETEGID = 182 SYS_SETEUID = 183 SYS_SIGRETURN = 184 - SYS_CHUD = 185 SYS_FDATASYNC = 187 SYS_STAT = 188 SYS_FSTAT = 189 @@ -140,17 +142,10 @@ const ( SYS_LSEEK = 199 SYS_TRUNCATE = 200 SYS_FTRUNCATE = 201 - SYS___SYSCTL = 202 + SYS_SYSCTL = 202 SYS_MLOCK = 203 SYS_MUNLOCK = 204 SYS_UNDELETE = 205 - SYS_ATSOCKET = 206 - SYS_ATGETMSG = 207 - SYS_ATPUTMSG = 208 - SYS_ATPSNDREQ = 209 - SYS_ATPSNDRSP = 210 - SYS_ATPGETREQ = 211 - SYS_ATPGETRSP = 212 SYS_OPEN_DPROTECTED_NP = 216 SYS_GETATTRLIST = 220 SYS_SETATTRLIST = 221 @@ -202,9 +197,7 @@ const ( SYS_SEM_WAIT = 271 SYS_SEM_TRYWAIT = 272 SYS_SEM_POST = 273 - SYS_SEM_GETVALUE = 274 - SYS_SEM_INIT = 275 - SYS_SEM_DESTROY = 276 + SYS_SYSCTLBYNAME = 274 SYS_OPEN_EXTENDED = 277 SYS_UMASK_EXTENDED = 278 SYS_STAT_EXTENDED = 279 @@ -286,7 +279,6 @@ const ( SYS_KQUEUE = 362 SYS_KEVENT = 363 SYS_LCHOWN = 364 - SYS_STACK_SNAPSHOT = 365 SYS_BSDTHREAD_REGISTER = 366 SYS_WORKQ_OPEN = 367 SYS_WORKQ_KERNRETURN = 368 @@ -295,6 +287,7 @@ const ( SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 SYS_THREAD_SELFID = 372 SYS_LEDGER = 373 + SYS_KEVENT_QOS = 374 SYS___MAC_EXECVE = 380 SYS___MAC_SYSCALL = 381 SYS___MAC_GET_FILE = 382 @@ -306,11 +299,8 @@ const ( SYS___MAC_GET_FD = 388 SYS___MAC_SET_FD = 389 SYS___MAC_GET_PID = 390 - SYS___MAC_GET_LCID = 391 - SYS___MAC_GET_LCTX = 392 - SYS___MAC_SET_LCTX = 393 - SYS_SETLCID = 394 - SYS_GETLCID = 395 + SYS_PSELECT = 394 + SYS_PSELECT_NOCANCEL = 395 SYS_READ_NOCANCEL = 396 SYS_WRITE_NOCANCEL = 397 SYS_OPEN_NOCANCEL = 398 @@ -354,5 +344,83 @@ const ( SYS_PID_SHUTDOWN_SOCKETS = 436 SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 SYS_KAS_INFO = 439 - SYS_MAXSYSCALL = 440 + SYS_MEMORYSTATUS_CONTROL = 440 + SYS_GUARDED_OPEN_NP = 441 + SYS_GUARDED_CLOSE_NP = 442 + SYS_GUARDED_KQUEUE_NP = 443 + SYS_CHANGE_FDGUARD_NP = 444 + SYS_USRCTL = 445 + SYS_PROC_RLIMIT_CONTROL = 446 + SYS_CONNECTX = 447 + SYS_DISCONNECTX = 448 + SYS_PEELOFF = 449 + SYS_SOCKET_DELEGATE = 450 + SYS_TELEMETRY = 451 + SYS_PROC_UUID_POLICY = 452 + SYS_MEMORYSTATUS_GET_LEVEL = 453 + SYS_SYSTEM_OVERRIDE = 454 + SYS_VFS_PURGE = 455 + SYS_SFI_CTL = 456 + SYS_SFI_PIDCTL = 457 + SYS_COALITION = 458 + SYS_COALITION_INFO = 459 + SYS_NECP_MATCH_POLICY = 460 + SYS_GETATTRLISTBULK = 461 + SYS_CLONEFILEAT = 462 + SYS_OPENAT = 463 + SYS_OPENAT_NOCANCEL = 464 + SYS_RENAMEAT = 465 + SYS_FACCESSAT = 466 + SYS_FCHMODAT = 467 + SYS_FCHOWNAT = 468 + SYS_FSTATAT = 469 + SYS_FSTATAT64 = 470 + SYS_LINKAT = 471 + SYS_UNLINKAT = 472 + SYS_READLINKAT = 473 + SYS_SYMLINKAT = 474 + SYS_MKDIRAT = 475 + SYS_GETATTRLISTAT = 476 + SYS_PROC_TRACE_LOG = 477 + SYS_BSDTHREAD_CTL = 478 + SYS_OPENBYID_NP = 479 + SYS_RECVMSG_X = 480 + SYS_SENDMSG_X = 481 + SYS_THREAD_SELFUSAGE = 482 + SYS_CSRCTL = 483 + SYS_GUARDED_OPEN_DPROTECTED_NP = 484 + SYS_GUARDED_WRITE_NP = 485 + SYS_GUARDED_PWRITE_NP = 486 + SYS_GUARDED_WRITEV_NP = 487 + SYS_RENAMEATX_NP = 488 + SYS_MREMAP_ENCRYPTED = 489 + SYS_NETAGENT_TRIGGER = 490 + SYS_STACK_SNAPSHOT_WITH_CONFIG = 491 + SYS_MICROSTACKSHOT = 492 + SYS_GRAB_PGO_DATA = 493 + SYS_PERSONA = 494 + SYS_WORK_INTERVAL_CTL = 499 + SYS_GETENTROPY = 500 + SYS_NECP_OPEN = 501 + SYS_NECP_CLIENT_ACTION = 502 + SYS___NEXUS_OPEN = 503 + SYS___NEXUS_REGISTER = 504 + SYS___NEXUS_DEREGISTER = 505 + SYS___NEXUS_CREATE = 506 + SYS___NEXUS_DESTROY = 507 + SYS___NEXUS_GET_OPT = 508 + SYS___NEXUS_SET_OPT = 509 + SYS___CHANNEL_OPEN = 510 + SYS___CHANNEL_GET_INFO = 511 + SYS___CHANNEL_SYNC = 512 + SYS___CHANNEL_GET_OPT = 513 + SYS___CHANNEL_SET_OPT = 514 + SYS_ULOCK_WAIT = 515 + SYS_ULOCK_WAKE = 516 + SYS_FCLONEFILEAT = 517 + SYS_FS_SNAPSHOT = 518 + SYS_TERMINATE_WITH_PAYLOAD = 520 + SYS_ABORT_WITH_PAYLOAD = 521 + SYS_MAXSYSCALL = 522 + SYS_INVALID = 63 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go index 26677ebbf..075816c34 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go @@ -1,5 +1,5 @@ -// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.4.sdk/usr/include/sys/syscall.h -// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT +// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/usr/include/sys/syscall.h +// Code generated by the command above; see README.md. DO NOT EDIT. // +build arm64,darwin @@ -121,13 +121,14 @@ const ( SYS_CSOPS = 169 SYS_CSOPS_AUDITTOKEN = 170 SYS_WAITID = 173 + SYS_KDEBUG_TYPEFILTER = 177 + SYS_KDEBUG_TRACE_STRING = 178 SYS_KDEBUG_TRACE64 = 179 SYS_KDEBUG_TRACE = 180 SYS_SETGID = 181 SYS_SETEGID = 182 SYS_SETEUID = 183 SYS_SIGRETURN = 184 - SYS_CHUD = 185 SYS_FDATASYNC = 187 SYS_STAT = 188 SYS_FSTAT = 189 @@ -278,7 +279,6 @@ const ( SYS_KQUEUE = 362 SYS_KEVENT = 363 SYS_LCHOWN = 364 - SYS_STACK_SNAPSHOT = 365 SYS_BSDTHREAD_REGISTER = 366 SYS_WORKQ_OPEN = 367 SYS_WORKQ_KERNRETURN = 368 @@ -287,6 +287,7 @@ const ( SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 SYS_THREAD_SELFID = 372 SYS_LEDGER = 373 + SYS_KEVENT_QOS = 374 SYS___MAC_EXECVE = 380 SYS___MAC_SYSCALL = 381 SYS___MAC_GET_FILE = 382 @@ -298,11 +299,8 @@ const ( SYS___MAC_GET_FD = 388 SYS___MAC_SET_FD = 389 SYS___MAC_GET_PID = 390 - SYS___MAC_GET_LCID = 391 - SYS___MAC_GET_LCTX = 392 - SYS___MAC_SET_LCTX = 393 - SYS_SETLCID = 394 - SYS_GETLCID = 395 + SYS_PSELECT = 394 + SYS_PSELECT_NOCANCEL = 395 SYS_READ_NOCANCEL = 396 SYS_WRITE_NOCANCEL = 397 SYS_OPEN_NOCANCEL = 398 @@ -351,6 +349,7 @@ const ( SYS_GUARDED_CLOSE_NP = 442 SYS_GUARDED_KQUEUE_NP = 443 SYS_CHANGE_FDGUARD_NP = 444 + SYS_USRCTL = 445 SYS_PROC_RLIMIT_CONTROL = 446 SYS_CONNECTX = 447 SYS_DISCONNECTX = 448 @@ -367,6 +366,7 @@ const ( SYS_COALITION_INFO = 459 SYS_NECP_MATCH_POLICY = 460 SYS_GETATTRLISTBULK = 461 + SYS_CLONEFILEAT = 462 SYS_OPENAT = 463 SYS_OPENAT_NOCANCEL = 464 SYS_RENAMEAT = 465 @@ -392,7 +392,35 @@ const ( SYS_GUARDED_WRITE_NP = 485 SYS_GUARDED_PWRITE_NP = 486 SYS_GUARDED_WRITEV_NP = 487 - SYS_RENAME_EXT = 488 + SYS_RENAMEATX_NP = 488 SYS_MREMAP_ENCRYPTED = 489 - SYS_MAXSYSCALL = 490 + SYS_NETAGENT_TRIGGER = 490 + SYS_STACK_SNAPSHOT_WITH_CONFIG = 491 + SYS_MICROSTACKSHOT = 492 + SYS_GRAB_PGO_DATA = 493 + SYS_PERSONA = 494 + SYS_WORK_INTERVAL_CTL = 499 + SYS_GETENTROPY = 500 + SYS_NECP_OPEN = 501 + SYS_NECP_CLIENT_ACTION = 502 + SYS___NEXUS_OPEN = 503 + SYS___NEXUS_REGISTER = 504 + SYS___NEXUS_DEREGISTER = 505 + SYS___NEXUS_CREATE = 506 + SYS___NEXUS_DESTROY = 507 + SYS___NEXUS_GET_OPT = 508 + SYS___NEXUS_SET_OPT = 509 + SYS___CHANNEL_OPEN = 510 + SYS___CHANNEL_GET_INFO = 511 + SYS___CHANNEL_SYNC = 512 + SYS___CHANNEL_GET_OPT = 513 + SYS___CHANNEL_SET_OPT = 514 + SYS_ULOCK_WAIT = 515 + SYS_ULOCK_WAKE = 516 + SYS_FCLONEFILEAT = 517 + SYS_FS_SNAPSHOT = 518 + SYS_TERMINATE_WITH_PAYLOAD = 520 + SYS_ABORT_WITH_PAYLOAD = 521 + SYS_MAXSYSCALL = 522 + SYS_INVALID = 63 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go index 262a84536..b64a8122c 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go @@ -1,5 +1,5 @@ // mksysnum_freebsd.pl -// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT +// Code generated by the command above; see README.md. DO NOT EDIT. // +build 386,freebsd @@ -7,345 +7,347 @@ package unix const ( // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int - SYS_EXIT = 1 // { void sys_exit(int rval); } exit \ - SYS_FORK = 2 // { int fork(void); } - SYS_READ = 3 // { ssize_t read(int fd, void *buf, \ - SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \ - SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } - SYS_CLOSE = 6 // { int close(int fd); } - SYS_WAIT4 = 7 // { int wait4(int pid, int *status, \ - SYS_LINK = 9 // { int link(char *path, char *link); } - SYS_UNLINK = 10 // { int unlink(char *path); } - SYS_CHDIR = 12 // { int chdir(char *path); } - SYS_FCHDIR = 13 // { int fchdir(int fd); } - SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } - SYS_CHMOD = 15 // { int chmod(char *path, int mode); } - SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } - SYS_OBREAK = 17 // { int obreak(char *nsize); } break \ - SYS_GETPID = 20 // { pid_t getpid(void); } - SYS_MOUNT = 21 // { int mount(char *type, char *path, \ - SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } - SYS_SETUID = 23 // { int setuid(uid_t uid); } - SYS_GETUID = 24 // { uid_t getuid(void); } - SYS_GETEUID = 25 // { uid_t geteuid(void); } - SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, \ - SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \ - SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \ - SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \ - SYS_ACCEPT = 30 // { int accept(int s, \ - SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \ - SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \ - SYS_ACCESS = 33 // { int access(char *path, int amode); } - SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } - SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } - SYS_SYNC = 36 // { int sync(void); } - SYS_KILL = 37 // { int kill(int pid, int signum); } - SYS_GETPPID = 39 // { pid_t getppid(void); } - SYS_DUP = 41 // { int dup(u_int fd); } - SYS_PIPE = 42 // { int pipe(void); } - SYS_GETEGID = 43 // { gid_t getegid(void); } - SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, \ - SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \ - SYS_GETGID = 47 // { gid_t getgid(void); } - SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \ - SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } - SYS_ACCT = 51 // { int acct(char *path); } - SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \ - SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \ - SYS_REBOOT = 55 // { int reboot(int opt); } - SYS_REVOKE = 56 // { int revoke(char *path); } - SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } - SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, \ - SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \ - SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \ - SYS_CHROOT = 61 // { int chroot(char *path); } - SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \ - SYS_VFORK = 66 // { int vfork(void); } - SYS_SBRK = 69 // { int sbrk(int incr); } - SYS_SSTK = 70 // { int sstk(int incr); } - SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise \ - SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } - SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \ - SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \ - SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \ - SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \ - SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \ - SYS_GETPGRP = 81 // { int getpgrp(void); } - SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } - SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \ - SYS_SWAPON = 85 // { int swapon(char *name); } - SYS_GETITIMER = 86 // { int getitimer(u_int which, \ - SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } - SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } - SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } - SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, \ - SYS_FSYNC = 95 // { int fsync(int fd); } - SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \ - SYS_SOCKET = 97 // { int socket(int domain, int type, \ - SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \ - SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } - SYS_BIND = 104 // { int bind(int s, caddr_t name, \ - SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \ - SYS_LISTEN = 106 // { int listen(int s, int backlog); } - SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \ - SYS_GETRUSAGE = 117 // { int getrusage(int who, \ - SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \ - SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \ - SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \ - SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \ - SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } - SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } - SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } - SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } - SYS_RENAME = 128 // { int rename(char *from, char *to); } - SYS_FLOCK = 131 // { int flock(int fd, int how); } - SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } - SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, \ - SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } - SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \ - SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } - SYS_RMDIR = 137 // { int rmdir(char *path); } - SYS_UTIMES = 138 // { int utimes(char *path, \ - SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \ - SYS_SETSID = 147 // { int setsid(void); } - SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \ - SYS_LGETFH = 160 // { int lgetfh(char *fname, \ - SYS_GETFH = 161 // { int getfh(char *fname, \ - SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } - SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \ - SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \ - SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \ - SYS_SETFIB = 175 // { int setfib(int fibnum); } - SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } - SYS_SETGID = 181 // { int setgid(gid_t gid); } - SYS_SETEGID = 182 // { int setegid(gid_t egid); } - SYS_SETEUID = 183 // { int seteuid(uid_t euid); } - SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } - SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } - SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } - SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } - SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } - SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, \ - SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \ - SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \ - SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \ - SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \ - SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \ - SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \ - SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \ - SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } - SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } - SYS_UNDELETE = 205 // { int undelete(char *path); } - SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } - SYS_GETPGID = 207 // { int getpgid(pid_t pid); } - SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, \ - SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \ - SYS_CLOCK_SETTIME = 233 // { int clock_settime( \ - SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \ - SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \ - SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } - SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \ - SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \ - SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } - SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \ - SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } - SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \ - SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \ - SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\ - SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } - SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \ - SYS_RFORK = 251 // { int rfork(int flags); } - SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \ - SYS_ISSETUGID = 253 // { int issetugid(void); } - SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } - SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \ - SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } - SYS_LUTIMES = 276 // { int lutimes(char *path, \ - SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } - SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } - SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } - SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \ - SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \ - SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \ - SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \ - SYS_MODNEXT = 300 // { int modnext(int modid); } - SYS_MODSTAT = 301 // { int modstat(int modid, \ - SYS_MODFNEXT = 302 // { int modfnext(int modid); } - SYS_MODFIND = 303 // { int modfind(const char *name); } - SYS_KLDLOAD = 304 // { int kldload(const char *file); } - SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } - SYS_KLDFIND = 306 // { int kldfind(const char *file); } - SYS_KLDNEXT = 307 // { int kldnext(int fileid); } - SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct \ - SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } - SYS_GETSID = 310 // { int getsid(pid_t pid); } - SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, \ - SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \ - SYS_YIELD = 321 // { int yield(void); } - SYS_MLOCKALL = 324 // { int mlockall(int how); } - SYS_MUNLOCKALL = 325 // { int munlockall(void); } - SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } - SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, \ - SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \ - SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \ - SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } - SYS_SCHED_YIELD = 331 // { int sched_yield (void); } - SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } - SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } - SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, \ - SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } - SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \ - SYS_JAIL = 338 // { int jail(struct jail *jail); } - SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \ - SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } - SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } - SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, \ - SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \ - SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \ - SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \ - SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \ - SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \ - SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \ - SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \ - SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \ - SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \ - SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \ - SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \ - SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \ - SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \ - SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \ - SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \ - SYS_KQUEUE = 362 // { int kqueue(void); } - SYS_KEVENT = 363 // { int kevent(int fd, \ - SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \ - SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \ - SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \ - SYS___SETUGID = 374 // { int __setugid(int flag); } - SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } - SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \ - SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } - SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } - SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, \ - SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \ - SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \ - SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \ - SYS_KENV = 390 // { int kenv(int what, const char *name, \ - SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \ - SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \ - SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \ - SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \ - SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \ - SYS_STATFS = 396 // { int statfs(char *path, \ - SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } - SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \ - SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \ - SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \ - SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \ - SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \ - SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \ - SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \ - SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \ - SYS_SIGACTION = 416 // { int sigaction(int sig, \ - SYS_SIGRETURN = 417 // { int sigreturn( \ - SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } - SYS_SETCONTEXT = 422 // { int setcontext( \ - SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \ - SYS_SWAPOFF = 424 // { int swapoff(const char *name); } - SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \ - SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \ - SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \ - SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \ - SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \ - SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \ - SYS_THR_EXIT = 431 // { void thr_exit(long *state); } - SYS_THR_SELF = 432 // { int thr_self(long *id); } - SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } - SYS__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); } - SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); } - SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } - SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \ - SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \ - SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \ - SYS_THR_SUSPEND = 442 // { int thr_suspend( \ - SYS_THR_WAKE = 443 // { int thr_wake(long id); } - SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } - SYS_AUDIT = 445 // { int audit(const void *record, \ - SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \ - SYS_GETAUID = 447 // { int getauid(uid_t *auid); } - SYS_SETAUID = 448 // { int setauid(uid_t *auid); } - SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } - SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } - SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( \ - SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \ - SYS_AUDITCTL = 453 // { int auditctl(char *path); } - SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \ - SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \ - SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } - SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } - SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } - SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \ - SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } - SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \ - SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \ - SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \ - SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \ - SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \ - SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \ - SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \ - SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } - SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } - SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } - SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, \ - SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } - SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } - SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \ - SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \ - SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \ - SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \ - SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \ - SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \ - SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \ - SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \ - SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \ - SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \ - SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \ - SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } - SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } - SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, \ - SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \ - SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \ - SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \ - SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \ - SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } - SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } - SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \ - SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \ - SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } - SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } - SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } - SYS_CAP_NEW = 514 // { int cap_new(int fd, uint64_t rights); } - SYS_CAP_GETRIGHTS = 515 // { int cap_getrights(int fd, \ - SYS_CAP_ENTER = 516 // { int cap_enter(void); } - SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } - SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } - SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } - SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } - SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, \ - SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \ - SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } - SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \ - SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \ - SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \ - SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \ - SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \ - SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \ - SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \ - SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \ - SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \ - SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \ - SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \ - SYS_ACCEPT4 = 541 // { int accept4(int s, \ - SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } - SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \ - SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \ + SYS_EXIT = 1 // { void sys_exit(int rval); } exit \ + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, \ + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \ + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, \ + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break \ + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, \ + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, \ + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \ + SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \ + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \ + SYS_ACCEPT = 30 // { int accept(int s, \ + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \ + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \ + SYS_ACCESS = 33 // { int access(char *path, int amode); } + SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { int sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(u_int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, \ + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \ + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \ + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \ + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \ + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, \ + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \ + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \ + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \ + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise \ + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \ + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \ + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \ + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \ + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \ + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \ + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, \ + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, \ + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \ + SYS_SOCKET = 97 // { int socket(int domain, int type, \ + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \ + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, \ + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \ + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \ + SYS_GETRUSAGE = 117 // { int getrusage(int who, \ + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \ + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \ + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \ + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \ + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, \ + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \ + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, \ + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \ + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \ + SYS_LGETFH = 160 // { int lgetfh(char *fname, \ + SYS_GETFH = 161 // { int getfh(char *fname, \ + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \ + SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \ + SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \ + SYS_SETFIB = 175 // { int setfib(int fibnum); } + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } + SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, \ + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \ + SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \ + SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \ + SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \ + SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \ + SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \ + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \ + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, \ + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \ + SYS_CLOCK_SETTIME = 233 // { int clock_settime( \ + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \ + SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \ + SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } + SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \ + SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \ + SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \ + SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } + SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \ + SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \ + SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\ + SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \ + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \ + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \ + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, \ + SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } + SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } + SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } + SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \ + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \ + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \ + SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \ + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, \ + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct \ + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, \ + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \ + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, \ + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \ + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \ + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, \ + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \ + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \ + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, \ + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \ + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \ + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \ + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \ + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \ + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \ + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \ + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \ + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \ + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \ + SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \ + SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \ + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \ + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \ + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \ + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, \ + SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \ + SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \ + SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \ + SYS___SETUGID = 374 // { int __setugid(int flag); } + SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } + SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \ + SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } + SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } + SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, \ + SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \ + SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \ + SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \ + SYS_KENV = 390 // { int kenv(int what, const char *name, \ + SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \ + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \ + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \ + SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \ + SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \ + SYS_STATFS = 396 // { int statfs(char *path, \ + SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \ + SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \ + SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \ + SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \ + SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \ + SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \ + SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \ + SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \ + SYS_SIGACTION = 416 // { int sigaction(int sig, \ + SYS_SIGRETURN = 417 // { int sigreturn( \ + SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 422 // { int setcontext( \ + SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \ + SYS_SWAPOFF = 424 // { int swapoff(const char *name); } + SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \ + SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \ + SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \ + SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \ + SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \ + SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \ + SYS_THR_EXIT = 431 // { void thr_exit(long *state); } + SYS_THR_SELF = 432 // { int thr_self(long *id); } + SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } + SYS__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); } + SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); } + SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } + SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \ + SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \ + SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \ + SYS_THR_SUSPEND = 442 // { int thr_suspend( \ + SYS_THR_WAKE = 443 // { int thr_wake(long id); } + SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } + SYS_AUDIT = 445 // { int audit(const void *record, \ + SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \ + SYS_GETAUID = 447 // { int getauid(uid_t *auid); } + SYS_SETAUID = 448 // { int setauid(uid_t *auid); } + SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } + SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } + SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( \ + SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \ + SYS_AUDITCTL = 453 // { int auditctl(char *path); } + SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \ + SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \ + SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } + SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } + SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } + SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \ + SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \ + SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \ + SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \ + SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \ + SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } + SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } + SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } + SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, \ + SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } + SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } + SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \ + SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \ + SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \ + SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \ + SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \ + SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \ + SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \ + SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \ + SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \ + SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \ + SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \ + SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, \ + SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \ + SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \ + SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \ + SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \ + SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } + SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } + SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \ + SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \ + SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } + SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } + SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } + SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, \ + SYS_CAP_ENTER = 516 // { int cap_enter(void); } + SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } + SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } + SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } + SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } + SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, \ + SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \ + SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } + SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \ + SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \ + SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \ + SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \ + SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \ + SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \ + SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \ + SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \ + SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, \ + SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, \ + SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, \ + SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, \ + SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, \ + SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \ + SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \ + SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \ + SYS_ACCEPT4 = 541 // { int accept4(int s, \ + SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } + SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \ + SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \ + SYS_FUTIMENS = 546 // { int futimens(int fd, \ + SYS_UTIMENSAT = 547 // { int utimensat(int fd, \ ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go index 206b9f612..448831418 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go @@ -1,5 +1,5 @@ // mksysnum_freebsd.pl -// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT +// Code generated by the command above; see README.md. DO NOT EDIT. // +build arm,freebsd @@ -7,345 +7,347 @@ package unix const ( // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int - SYS_EXIT = 1 // { void sys_exit(int rval); } exit \ - SYS_FORK = 2 // { int fork(void); } - SYS_READ = 3 // { ssize_t read(int fd, void *buf, \ - SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \ - SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } - SYS_CLOSE = 6 // { int close(int fd); } - SYS_WAIT4 = 7 // { int wait4(int pid, int *status, \ - SYS_LINK = 9 // { int link(char *path, char *link); } - SYS_UNLINK = 10 // { int unlink(char *path); } - SYS_CHDIR = 12 // { int chdir(char *path); } - SYS_FCHDIR = 13 // { int fchdir(int fd); } - SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } - SYS_CHMOD = 15 // { int chmod(char *path, int mode); } - SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } - SYS_OBREAK = 17 // { int obreak(char *nsize); } break \ - SYS_GETPID = 20 // { pid_t getpid(void); } - SYS_MOUNT = 21 // { int mount(char *type, char *path, \ - SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } - SYS_SETUID = 23 // { int setuid(uid_t uid); } - SYS_GETUID = 24 // { uid_t getuid(void); } - SYS_GETEUID = 25 // { uid_t geteuid(void); } - SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, \ - SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \ - SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \ - SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \ - SYS_ACCEPT = 30 // { int accept(int s, \ - SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \ - SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \ - SYS_ACCESS = 33 // { int access(char *path, int amode); } - SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } - SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } - SYS_SYNC = 36 // { int sync(void); } - SYS_KILL = 37 // { int kill(int pid, int signum); } - SYS_GETPPID = 39 // { pid_t getppid(void); } - SYS_DUP = 41 // { int dup(u_int fd); } - SYS_PIPE = 42 // { int pipe(void); } - SYS_GETEGID = 43 // { gid_t getegid(void); } - SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, \ - SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \ - SYS_GETGID = 47 // { gid_t getgid(void); } - SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \ - SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } - SYS_ACCT = 51 // { int acct(char *path); } - SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \ - SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \ - SYS_REBOOT = 55 // { int reboot(int opt); } - SYS_REVOKE = 56 // { int revoke(char *path); } - SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } - SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, \ - SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \ - SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \ - SYS_CHROOT = 61 // { int chroot(char *path); } - SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \ - SYS_VFORK = 66 // { int vfork(void); } - SYS_SBRK = 69 // { int sbrk(int incr); } - SYS_SSTK = 70 // { int sstk(int incr); } - SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise \ - SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } - SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \ - SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \ - SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \ - SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \ - SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \ - SYS_GETPGRP = 81 // { int getpgrp(void); } - SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } - SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \ - SYS_SWAPON = 85 // { int swapon(char *name); } - SYS_GETITIMER = 86 // { int getitimer(u_int which, \ - SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } - SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } - SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } - SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, \ - SYS_FSYNC = 95 // { int fsync(int fd); } - SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \ - SYS_SOCKET = 97 // { int socket(int domain, int type, \ - SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \ - SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } - SYS_BIND = 104 // { int bind(int s, caddr_t name, \ - SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \ - SYS_LISTEN = 106 // { int listen(int s, int backlog); } - SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \ - SYS_GETRUSAGE = 117 // { int getrusage(int who, \ - SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \ - SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \ - SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \ - SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \ - SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } - SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } - SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } - SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } - SYS_RENAME = 128 // { int rename(char *from, char *to); } - SYS_FLOCK = 131 // { int flock(int fd, int how); } - SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } - SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, \ - SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } - SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \ - SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } - SYS_RMDIR = 137 // { int rmdir(char *path); } - SYS_UTIMES = 138 // { int utimes(char *path, \ - SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \ - SYS_SETSID = 147 // { int setsid(void); } - SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \ - SYS_LGETFH = 160 // { int lgetfh(char *fname, \ - SYS_GETFH = 161 // { int getfh(char *fname, \ - SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } - SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \ - SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \ - SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \ - SYS_SETFIB = 175 // { int setfib(int fibnum); } - SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } - SYS_SETGID = 181 // { int setgid(gid_t gid); } - SYS_SETEGID = 182 // { int setegid(gid_t egid); } - SYS_SETEUID = 183 // { int seteuid(uid_t euid); } - SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } - SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } - SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } - SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } - SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } - SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, \ - SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \ - SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \ - SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \ - SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \ - SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \ - SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \ - SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \ - SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } - SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } - SYS_UNDELETE = 205 // { int undelete(char *path); } - SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } - SYS_GETPGID = 207 // { int getpgid(pid_t pid); } - SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, \ - SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \ - SYS_CLOCK_SETTIME = 233 // { int clock_settime( \ - SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \ - SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \ - SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } - SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \ - SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \ - SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } - SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \ - SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } - SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \ - SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \ - SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\ - SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } - SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \ - SYS_RFORK = 251 // { int rfork(int flags); } - SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \ - SYS_ISSETUGID = 253 // { int issetugid(void); } - SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } - SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \ - SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } - SYS_LUTIMES = 276 // { int lutimes(char *path, \ - SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } - SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } - SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } - SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \ - SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \ - SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \ - SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \ - SYS_MODNEXT = 300 // { int modnext(int modid); } - SYS_MODSTAT = 301 // { int modstat(int modid, \ - SYS_MODFNEXT = 302 // { int modfnext(int modid); } - SYS_MODFIND = 303 // { int modfind(const char *name); } - SYS_KLDLOAD = 304 // { int kldload(const char *file); } - SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } - SYS_KLDFIND = 306 // { int kldfind(const char *file); } - SYS_KLDNEXT = 307 // { int kldnext(int fileid); } - SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct \ - SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } - SYS_GETSID = 310 // { int getsid(pid_t pid); } - SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, \ - SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \ - SYS_YIELD = 321 // { int yield(void); } - SYS_MLOCKALL = 324 // { int mlockall(int how); } - SYS_MUNLOCKALL = 325 // { int munlockall(void); } - SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } - SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, \ - SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \ - SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \ - SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } - SYS_SCHED_YIELD = 331 // { int sched_yield (void); } - SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } - SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } - SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, \ - SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } - SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \ - SYS_JAIL = 338 // { int jail(struct jail *jail); } - SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \ - SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } - SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } - SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, \ - SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \ - SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \ - SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \ - SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \ - SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \ - SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \ - SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \ - SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \ - SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \ - SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \ - SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \ - SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \ - SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \ - SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \ - SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \ - SYS_KQUEUE = 362 // { int kqueue(void); } - SYS_KEVENT = 363 // { int kevent(int fd, \ - SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \ - SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \ - SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \ - SYS___SETUGID = 374 // { int __setugid(int flag); } - SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } - SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \ - SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } - SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } - SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, \ - SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \ - SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \ - SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \ - SYS_KENV = 390 // { int kenv(int what, const char *name, \ - SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \ - SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \ - SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \ - SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \ - SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \ - SYS_STATFS = 396 // { int statfs(char *path, \ - SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } - SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \ - SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \ - SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \ - SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \ - SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \ - SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \ - SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \ - SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \ - SYS_SIGACTION = 416 // { int sigaction(int sig, \ - SYS_SIGRETURN = 417 // { int sigreturn( \ - SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } - SYS_SETCONTEXT = 422 // { int setcontext( \ - SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \ - SYS_SWAPOFF = 424 // { int swapoff(const char *name); } - SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \ - SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \ - SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \ - SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \ - SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \ - SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \ - SYS_THR_EXIT = 431 // { void thr_exit(long *state); } - SYS_THR_SELF = 432 // { int thr_self(long *id); } - SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } - SYS__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); } - SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); } - SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } - SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \ - SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \ - SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \ - SYS_THR_SUSPEND = 442 // { int thr_suspend( \ - SYS_THR_WAKE = 443 // { int thr_wake(long id); } - SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } - SYS_AUDIT = 445 // { int audit(const void *record, \ - SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \ - SYS_GETAUID = 447 // { int getauid(uid_t *auid); } - SYS_SETAUID = 448 // { int setauid(uid_t *auid); } - SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } - SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } - SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( \ - SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \ - SYS_AUDITCTL = 453 // { int auditctl(char *path); } - SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \ - SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \ - SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } - SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } - SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } - SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \ - SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } - SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \ - SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \ - SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \ - SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \ - SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \ - SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \ - SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \ - SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } - SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } - SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } - SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, \ - SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } - SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } - SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \ - SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \ - SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \ - SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \ - SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \ - SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \ - SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \ - SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \ - SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \ - SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \ - SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \ - SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } - SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } - SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, \ - SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \ - SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \ - SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \ - SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \ - SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } - SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } - SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \ - SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \ - SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } - SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } - SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } - SYS_CAP_NEW = 514 // { int cap_new(int fd, uint64_t rights); } - SYS_CAP_GETRIGHTS = 515 // { int cap_getrights(int fd, \ - SYS_CAP_ENTER = 516 // { int cap_enter(void); } - SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } - SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } - SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } - SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } - SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, \ - SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \ - SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } - SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \ - SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \ - SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \ - SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \ - SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \ - SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \ - SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \ - SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \ - SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \ - SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \ - SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \ - SYS_ACCEPT4 = 541 // { int accept4(int s, \ - SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } - SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \ - SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \ + SYS_EXIT = 1 // { void sys_exit(int rval); } exit \ + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, \ + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \ + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, \ + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break \ + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, \ + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, \ + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \ + SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \ + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \ + SYS_ACCEPT = 30 // { int accept(int s, \ + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \ + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \ + SYS_ACCESS = 33 // { int access(char *path, int amode); } + SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { int sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(u_int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, \ + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \ + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \ + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \ + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \ + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, \ + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \ + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \ + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \ + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise \ + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \ + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \ + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \ + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \ + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \ + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \ + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, \ + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, \ + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \ + SYS_SOCKET = 97 // { int socket(int domain, int type, \ + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \ + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, \ + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \ + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \ + SYS_GETRUSAGE = 117 // { int getrusage(int who, \ + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \ + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \ + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \ + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \ + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, \ + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \ + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, \ + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \ + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \ + SYS_LGETFH = 160 // { int lgetfh(char *fname, \ + SYS_GETFH = 161 // { int getfh(char *fname, \ + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \ + SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \ + SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \ + SYS_SETFIB = 175 // { int setfib(int fibnum); } + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } + SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, \ + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \ + SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \ + SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \ + SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \ + SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \ + SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \ + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \ + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, \ + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \ + SYS_CLOCK_SETTIME = 233 // { int clock_settime( \ + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \ + SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \ + SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } + SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \ + SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \ + SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \ + SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } + SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \ + SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \ + SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\ + SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \ + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \ + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \ + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, \ + SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } + SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } + SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } + SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \ + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \ + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \ + SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \ + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, \ + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct \ + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, \ + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \ + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, \ + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \ + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \ + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, \ + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \ + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \ + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, \ + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \ + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \ + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \ + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \ + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \ + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \ + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \ + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \ + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \ + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \ + SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \ + SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \ + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \ + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \ + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \ + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, \ + SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \ + SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \ + SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \ + SYS___SETUGID = 374 // { int __setugid(int flag); } + SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } + SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \ + SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } + SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } + SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, \ + SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \ + SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \ + SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \ + SYS_KENV = 390 // { int kenv(int what, const char *name, \ + SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \ + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \ + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \ + SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \ + SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \ + SYS_STATFS = 396 // { int statfs(char *path, \ + SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \ + SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \ + SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \ + SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \ + SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \ + SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \ + SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \ + SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \ + SYS_SIGACTION = 416 // { int sigaction(int sig, \ + SYS_SIGRETURN = 417 // { int sigreturn( \ + SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 422 // { int setcontext( \ + SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \ + SYS_SWAPOFF = 424 // { int swapoff(const char *name); } + SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \ + SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \ + SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \ + SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \ + SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \ + SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \ + SYS_THR_EXIT = 431 // { void thr_exit(long *state); } + SYS_THR_SELF = 432 // { int thr_self(long *id); } + SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } + SYS__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); } + SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); } + SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } + SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \ + SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \ + SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \ + SYS_THR_SUSPEND = 442 // { int thr_suspend( \ + SYS_THR_WAKE = 443 // { int thr_wake(long id); } + SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } + SYS_AUDIT = 445 // { int audit(const void *record, \ + SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \ + SYS_GETAUID = 447 // { int getauid(uid_t *auid); } + SYS_SETAUID = 448 // { int setauid(uid_t *auid); } + SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } + SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } + SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( \ + SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \ + SYS_AUDITCTL = 453 // { int auditctl(char *path); } + SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \ + SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \ + SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } + SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } + SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } + SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \ + SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \ + SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \ + SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \ + SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \ + SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } + SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } + SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } + SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, \ + SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } + SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } + SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \ + SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \ + SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \ + SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \ + SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \ + SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \ + SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \ + SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \ + SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \ + SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \ + SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \ + SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, \ + SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \ + SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \ + SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \ + SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \ + SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } + SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } + SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \ + SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \ + SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } + SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } + SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } + SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, \ + SYS_CAP_ENTER = 516 // { int cap_enter(void); } + SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } + SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } + SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } + SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } + SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, \ + SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \ + SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } + SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \ + SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \ + SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \ + SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \ + SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \ + SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \ + SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \ + SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \ + SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, \ + SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, \ + SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, \ + SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, \ + SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, \ + SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \ + SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \ + SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \ + SYS_ACCEPT4 = 541 // { int accept4(int s, \ + SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } + SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \ + SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \ + SYS_FUTIMENS = 546 // { int futimens(int fd, \ + SYS_UTIMENSAT = 547 // { int utimensat(int fd, \ ) 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 cef4fed02..95ab12903 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go @@ -385,4 +385,6 @@ const ( SYS_PKEY_MPROTECT = 380 SYS_PKEY_ALLOC = 381 SYS_PKEY_FREE = 382 + SYS_STATX = 383 + SYS_ARCH_PRCTL = 384 ) 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 49bfa1270..c5dabf2e4 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go @@ -338,4 +338,5 @@ const ( SYS_PKEY_MPROTECT = 329 SYS_PKEY_ALLOC = 330 SYS_PKEY_FREE = 331 + SYS_STATX = 332 ) 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 97b182ef5..ab7fa5fd3 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go @@ -358,4 +358,5 @@ const ( SYS_PKEY_MPROTECT = 394 SYS_PKEY_ALLOC = 395 SYS_PKEY_FREE = 396 + SYS_STATX = 397 ) 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 640784357..b1c6b4bd3 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go @@ -282,4 +282,5 @@ const ( SYS_PKEY_MPROTECT = 288 SYS_PKEY_ALLOC = 289 SYS_PKEY_FREE = 290 + SYS_STATX = 291 ) 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 939567c09..2e9aa7a3e 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go @@ -371,4 +371,5 @@ const ( SYS_PKEY_MPROTECT = 4363 SYS_PKEY_ALLOC = 4364 SYS_PKEY_FREE = 4365 + SYS_STATX = 4366 ) 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 09db95969..92827635a 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go @@ -331,4 +331,5 @@ const ( SYS_PKEY_MPROTECT = 5323 SYS_PKEY_ALLOC = 5324 SYS_PKEY_FREE = 5325 + SYS_STATX = 5326 ) 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 d1b872a09..45bd3fd6c 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go @@ -331,4 +331,5 @@ const ( SYS_PKEY_MPROTECT = 5323 SYS_PKEY_ALLOC = 5324 SYS_PKEY_FREE = 5325 + SYS_STATX = 5326 ) 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 82ba20f28..62ccac4b7 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go @@ -371,4 +371,5 @@ const ( SYS_PKEY_MPROTECT = 4363 SYS_PKEY_ALLOC = 4364 SYS_PKEY_FREE = 4365 + SYS_STATX = 4366 ) 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 8944448ae..dfe5dab67 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go @@ -366,4 +366,5 @@ const ( SYS_PREADV2 = 380 SYS_PWRITEV2 = 381 SYS_KEXEC_FILE_LOAD = 382 + SYS_STATX = 383 ) 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 90a039be4..eca97f738 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go @@ -366,4 +366,5 @@ const ( SYS_PREADV2 = 380 SYS_PWRITEV2 = 381 SYS_KEXEC_FILE_LOAD = 382 + SYS_STATX = 383 ) 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 aab0cdb18..8ea18e6c2 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go @@ -306,6 +306,8 @@ const ( SYS_COPY_FILE_RANGE = 375 SYS_PREADV2 = 376 SYS_PWRITEV2 = 377 + SYS_S390_GUARDED_STORAGE = 378 + SYS_STATX = 379 SYS_SELECT = 142 SYS_GETRLIMIT = 191 SYS_LCHOWN = 198 diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go index f60d8f988..8afda9c45 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go @@ -134,6 +134,7 @@ const ( SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } + SYS_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); } SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go index 48a91d464..aea8dbec4 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go @@ -134,6 +134,7 @@ const ( SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } + SYS_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); } SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go index 612ba662c..c6158a7ef 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go @@ -134,6 +134,7 @@ const ( SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } + SYS_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); } SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go new file mode 100644 index 000000000..32653e53c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go @@ -0,0 +1,213 @@ +// mksysnum_openbsd.pl +// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT + +// +build arm,openbsd + +package unix + +const ( + SYS_EXIT = 1 // { void sys_exit(int rval); } + SYS_FORK = 2 // { int sys_fork(void); } + SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, \ + SYS_OPEN = 5 // { int sys_open(const char *path, \ + SYS_CLOSE = 6 // { int sys_close(int fd); } + SYS_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } + SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, \ + SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int sys_unlink(const char *path); } + SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, \ + SYS_CHDIR = 12 // { int sys_chdir(const char *path); } + SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } + SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, \ + SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, \ + SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break + SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } + SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, \ + SYS_GETPID = 20 // { pid_t sys_getpid(void); } + SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, \ + SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t sys_getuid(void); } + SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } + SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, \ + SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, \ + SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, \ + SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, \ + SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, \ + SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, \ + SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, \ + SYS_ACCESS = 33 // { int sys_access(const char *path, int amode); } + SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } + SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } + SYS_SYNC = 36 // { void sys_sync(void); } + SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } + SYS_GETPPID = 39 // { pid_t sys_getppid(void); } + SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } + SYS_DUP = 41 // { int sys_dup(int fd); } + SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, \ + SYS_GETEGID = 43 // { gid_t sys_getegid(void); } + SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, \ + SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, \ + SYS_SIGACTION = 46 // { int sys_sigaction(int signum, \ + SYS_GETGID = 47 // { gid_t sys_getgid(void); } + SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } + SYS_GETLOGIN = 49 // { int sys_getlogin(char *namebuf, u_int namelen); } + SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int sys_acct(const char *path); } + SYS_SIGPENDING = 52 // { int sys_sigpending(void); } + SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } + SYS_IOCTL = 54 // { int sys_ioctl(int fd, \ + SYS_REBOOT = 55 // { int sys_reboot(int opt); } + SYS_REVOKE = 56 // { int sys_revoke(const char *path); } + SYS_SYMLINK = 57 // { int sys_symlink(const char *path, \ + SYS_READLINK = 58 // { ssize_t sys_readlink(const char *path, \ + SYS_EXECVE = 59 // { int sys_execve(const char *path, \ + SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } + SYS_CHROOT = 61 // { int sys_chroot(const char *path); } + SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, \ + SYS_STATFS = 63 // { int sys_statfs(const char *path, \ + SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, \ + SYS_VFORK = 66 // { int sys_vfork(void); } + SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, \ + SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, \ + SYS_SETITIMER = 69 // { int sys_setitimer(int which, \ + SYS_GETITIMER = 70 // { int sys_getitimer(int which, \ + SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, \ + SYS_KEVENT = 72 // { int sys_kevent(int fd, \ + SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, \ + SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, \ + SYS_UTIMES = 76 // { int sys_utimes(const char *path, \ + SYS_FUTIMES = 77 // { int sys_futimes(int fd, \ + SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, \ + SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, \ + SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, \ + SYS_GETPGRP = 81 // { int sys_getpgrp(void); } + SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, pid_t pgid); } + SYS_SENDSYSLOG = 83 // { int sys_sendsyslog(const void *buf, size_t nbyte); } + SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, \ + SYS_FUTIMENS = 85 // { int sys_futimens(int fd, \ + SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, \ + SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, \ + SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, \ + SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } + SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, \ + SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } + SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, \ + SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, \ + SYS_FSYNC = 95 // { int sys_fsync(int fd); } + SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } + SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, \ + SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } + SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } + SYS_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } + SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } + SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } + SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, \ + SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, \ + SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } + SYS_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, \ + SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, \ + SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \ + SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } + SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, \ + SYS_READV = 120 // { ssize_t sys_readv(int fd, \ + SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, \ + SYS_KILL = 122 // { int sys_kill(int pid, int signum); } + SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } + SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, \ + SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, \ + SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } + SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, \ + SYS_SETSID = 147 // { int sys_setsid(void); } + SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, \ + SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } + SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } + SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, \ + SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, \ + SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } + SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } + SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } + SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } + SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, \ + SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, \ + SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, \ + SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \ + SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, \ + SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } + SYS___SYSCTL = 202 // { int sys___sysctl(const int *name, u_int namelen, \ + SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } + SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } + SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, \ + SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } + SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \ + SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \ + SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, \ + SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } + SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, \ + SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, \ + SYS_ISSETUGID = 253 // { int sys_issetugid(void); } + SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } + SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } + SYS_PIPE = 263 // { int sys_pipe(int *fdp); } + SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } + SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, \ + SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, \ + SYS_KQUEUE = 269 // { int sys_kqueue(void); } + SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } + SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } + SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, \ + SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, \ + SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, \ + SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, \ + SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, \ + SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } + SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, \ + SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } + SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, \ + SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, \ + SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, \ + SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, \ + SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, \ + SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } + SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } + SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, \ + SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } + SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, \ + SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } + SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, \ + SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } + SYS_GETRTABLE = 311 // { int sys_getrtable(void); } + SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, \ + SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, \ + SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, \ + SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, \ + SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, \ + SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, \ + SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, \ + SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, \ + SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, \ + SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, \ + SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, \ + SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, \ + SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } + SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go index 062bdff21..e61d78a54 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go @@ -447,6 +447,13 @@ type Termios struct { Ospeed uint32 } +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + const ( AT_FDCWD = -0x2 AT_REMOVEDIR = 0x80 diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go index 590067f01..2619155ff 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go @@ -457,6 +457,13 @@ type Termios struct { Ospeed uint64 } +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + const ( AT_FDCWD = -0x2 AT_REMOVEDIR = 0x80 diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go index 66df363ce..4dca0d4db 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go @@ -447,3 +447,17 @@ type Termios struct { Ispeed uint32 Ospeed uint32 } + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x80 + AT_SYMLINK_FOLLOW = 0x40 + AT_SYMLINK_NOFOLLOW = 0x20 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go index 85d56eabd..f2881fd14 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go @@ -455,3 +455,17 @@ type Termios struct { Ispeed uint64 Ospeed uint64 } + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x80 + AT_SYMLINK_FOLLOW = 0x40 + AT_SYMLINK_NOFOLLOW = 0x20 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go index e585c893a..67c6bf883 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go @@ -441,3 +441,8 @@ type Termios struct { Ispeed uint32 Ospeed uint32 } + +const ( + AT_FDCWD = 0xfffafdcd + AT_SYMLINK_NOFOLLOW = 0x1 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go index 8cf30947b..5b28bcbba 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go @@ -1,6 +1,7 @@ +// cgo -godefs types_freebsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + // +build 386,freebsd -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs types_freebsd.go package unix @@ -85,7 +86,7 @@ type Stat_t struct { Ctimespec Timespec Size int64 Blocks int64 - Blksize uint32 + Blksize int32 Flags uint32 Gen uint32 Lspare int32 @@ -288,9 +289,9 @@ type FdSet struct { } const ( - sizeofIfMsghdr = 0x64 + sizeofIfMsghdr = 0xa8 SizeofIfMsghdr = 0x60 - sizeofIfData = 0x54 + sizeofIfData = 0x98 SizeofIfData = 0x50 SizeofIfaMsghdr = 0x14 SizeofIfmaMsghdr = 0x10 @@ -322,31 +323,31 @@ type IfMsghdr struct { } type ifData struct { - Type uint8 - Physical uint8 - Addrlen uint8 - Hdrlen uint8 - Link_state uint8 - Vhid uint8 - Baudrate_pf uint8 - Datalen uint8 - Mtu uint32 - Metric uint32 - Baudrate uint32 - Ipackets uint32 - Ierrors uint32 - Opackets uint32 - Oerrors uint32 - Collisions uint32 - Ibytes uint32 - Obytes uint32 - Imcasts uint32 - Omcasts uint32 - Iqdrops uint32 - Noproto uint32 - Hwassist uint64 - Epoch int32 - Lastchange Timeval + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Vhid uint8 + Datalen uint16 + Mtu uint32 + Metric uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Hwassist uint64 + X__ifi_epoch [8]byte + X__ifi_lastchange [16]byte } type IfData struct { @@ -500,3 +501,21 @@ type Termios struct { Ispeed uint32 Ospeed uint32 } + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x800 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type CapRights struct { + Rights [2]uint64 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go index 091c10ae7..c65d89e49 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go @@ -505,6 +505,20 @@ type Termios struct { Ospeed uint32 } +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x800 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + type CapRights struct { Rights [2]uint64 } diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go index 5472b5428..42c0a502c 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go @@ -1,5 +1,5 @@ -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs -- -fsigned-char types_freebsd.go +// cgo -godefs -- -fsigned-char types_freebsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. // +build arm,freebsd @@ -88,7 +88,7 @@ type Stat_t struct { Ctimespec Timespec Size int64 Blocks int64 - Blksize uint32 + Blksize int32 Flags uint32 Gen uint32 Lspare int32 @@ -142,6 +142,15 @@ type Fsid struct { Val [2]int32 } +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + type RawSockaddrInet4 struct { Len uint8 Family uint8 @@ -282,9 +291,9 @@ type FdSet struct { } const ( - sizeofIfMsghdr = 0x70 + sizeofIfMsghdr = 0xa8 SizeofIfMsghdr = 0x70 - sizeofIfData = 0x60 + sizeofIfData = 0x98 SizeofIfData = 0x60 SizeofIfaMsghdr = 0x14 SizeofIfmaMsghdr = 0x10 @@ -316,31 +325,31 @@ type IfMsghdr struct { } type ifData struct { - Type uint8 - Physical uint8 - Addrlen uint8 - Hdrlen uint8 - Link_state uint8 - Vhid uint8 - Baudrate_pf uint8 - Datalen uint8 - Mtu uint32 - Metric uint32 - Baudrate uint32 - Ipackets uint32 - Ierrors uint32 - Opackets uint32 - Oerrors uint32 - Collisions uint32 - Ibytes uint32 - Obytes uint32 - Imcasts uint32 - Omcasts uint32 - Iqdrops uint32 - Noproto uint32 - Hwassist uint64 - Epoch int64 - Lastchange Timeval + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Vhid uint8 + Datalen uint16 + Mtu uint32 + Metric uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Hwassist uint64 + X__ifi_epoch [8]byte + X__ifi_lastchange [16]byte } type IfData struct { @@ -495,3 +504,21 @@ type Termios struct { Ispeed uint32 Ospeed uint32 } + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x800 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type CapRights struct { + Rights [2]uint64 +} 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 fe539a065..8b30c6997 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go @@ -285,6 +285,13 @@ type IPv6Mreq struct { Interface uint32 } +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + type Msghdr struct { Name *byte Namelen uint32 @@ -373,9 +380,11 @@ const ( SizeofSockaddrALG = 0x58 SizeofSockaddrVM = 0x10 SizeofLinger = 0x8 + SizeofIovec = 0x8 SizeofIPMreq = 0x8 SizeofIPMreqn = 0xc SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 SizeofMsghdr = 0x1c SizeofCmsghdr = 0xc SizeofInet4Pktinfo = 0xc @@ -416,7 +425,7 @@ const ( IFLA_LINKINFO = 0x12 IFLA_NET_NS_PID = 0x13 IFLA_IFALIAS = 0x14 - IFLA_MAX = 0x2b + IFLA_MAX = 0x2c RT_SCOPE_UNIVERSE = 0x0 RT_SCOPE_SITE = 0xc8 RT_SCOPE_LINK = 0xfd @@ -664,8 +673,6 @@ const RNDGETENTCNT = 0x80045200 const PERF_IOC_FLAG_GROUP = 0x1 -const _SC_PAGESIZE = 0x1e - type Termios struct { Iflag uint32 Oflag uint32 @@ -683,3 +690,104 @@ type Winsize struct { Xpixel uint16 Ypixel uint16 } + +type Taskstats struct { + Version uint16 + Pad_cgo_0 [2]byte + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Pad_cgo_1 [6]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + Pad_cgo_2 [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Pad_cgo_3 [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) 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 e99cd797a..cf0358986 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go @@ -287,6 +287,13 @@ type IPv6Mreq struct { Interface uint32 } +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + type Msghdr struct { Name *byte Namelen uint32 @@ -377,9 +384,11 @@ const ( SizeofSockaddrALG = 0x58 SizeofSockaddrVM = 0x10 SizeofLinger = 0x8 + SizeofIovec = 0x10 SizeofIPMreq = 0x8 SizeofIPMreqn = 0xc SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 SizeofMsghdr = 0x38 SizeofCmsghdr = 0x10 SizeofInet4Pktinfo = 0xc @@ -420,7 +429,7 @@ const ( IFLA_LINKINFO = 0x12 IFLA_NET_NS_PID = 0x13 IFLA_IFALIAS = 0x14 - IFLA_MAX = 0x2b + IFLA_MAX = 0x2c RT_SCOPE_UNIVERSE = 0x0 RT_SCOPE_SITE = 0xc8 RT_SCOPE_LINK = 0xfd @@ -682,8 +691,6 @@ const RNDGETENTCNT = 0x80045200 const PERF_IOC_FLAG_GROUP = 0x1 -const _SC_PAGESIZE = 0x1e - type Termios struct { Iflag uint32 Oflag uint32 @@ -701,3 +708,104 @@ type Winsize struct { Xpixel uint16 Ypixel uint16 } + +type Taskstats struct { + Version uint16 + Pad_cgo_0 [2]byte + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Pad_cgo_1 [6]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + Pad_cgo_2 [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Pad_cgo_3 [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) 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 0857aa6e9..8ef7d85f1 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go @@ -289,6 +289,13 @@ type IPv6Mreq struct { Interface uint32 } +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + type Msghdr struct { Name *byte Namelen uint32 @@ -377,9 +384,11 @@ const ( SizeofSockaddrALG = 0x58 SizeofSockaddrVM = 0x10 SizeofLinger = 0x8 + SizeofIovec = 0x8 SizeofIPMreq = 0x8 SizeofIPMreqn = 0xc SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 SizeofMsghdr = 0x1c SizeofCmsghdr = 0xc SizeofInet4Pktinfo = 0xc @@ -420,7 +429,7 @@ const ( IFLA_LINKINFO = 0x12 IFLA_NET_NS_PID = 0x13 IFLA_IFALIAS = 0x14 - IFLA_MAX = 0x2b + IFLA_MAX = 0x2c RT_SCOPE_UNIVERSE = 0x0 RT_SCOPE_SITE = 0xc8 RT_SCOPE_LINK = 0xfd @@ -653,8 +662,6 @@ const RNDGETENTCNT = 0x80045200 const PERF_IOC_FLAG_GROUP = 0x1 -const _SC_PAGESIZE = 0x1e - type Termios struct { Iflag uint32 Oflag uint32 @@ -672,3 +679,104 @@ type Winsize struct { Xpixel uint16 Ypixel uint16 } + +type Taskstats struct { + Version uint16 + Pad_cgo_0 [2]byte + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Pad_cgo_1 [6]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]uint8 + Ac_sched uint8 + Ac_pad [3]uint8 + Pad_cgo_2 [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Pad_cgo_3 [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) 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 fb1c90a9e..311026867 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go @@ -288,6 +288,13 @@ type IPv6Mreq struct { Interface uint32 } +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + type Msghdr struct { Name *byte Namelen uint32 @@ -378,9 +385,11 @@ const ( SizeofSockaddrALG = 0x58 SizeofSockaddrVM = 0x10 SizeofLinger = 0x8 + SizeofIovec = 0x10 SizeofIPMreq = 0x8 SizeofIPMreqn = 0xc SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 SizeofMsghdr = 0x38 SizeofCmsghdr = 0x10 SizeofInet4Pktinfo = 0xc @@ -421,7 +430,7 @@ const ( IFLA_LINKINFO = 0x12 IFLA_NET_NS_PID = 0x13 IFLA_IFALIAS = 0x14 - IFLA_MAX = 0x2b + IFLA_MAX = 0x2c RT_SCOPE_UNIVERSE = 0x0 RT_SCOPE_SITE = 0xc8 RT_SCOPE_LINK = 0xfd @@ -661,8 +670,6 @@ const RNDGETENTCNT = 0x80045200 const PERF_IOC_FLAG_GROUP = 0x1 -const _SC_PAGESIZE = 0x1e - type Termios struct { Iflag uint32 Oflag uint32 @@ -680,3 +687,104 @@ type Winsize struct { Xpixel uint16 Ypixel uint16 } + +type Taskstats struct { + Version uint16 + Pad_cgo_0 [2]byte + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Pad_cgo_1 [6]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + Pad_cgo_2 [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Pad_cgo_3 [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) 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 d15c9f4a4..d2c1bc2c8 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go @@ -288,6 +288,13 @@ type IPv6Mreq struct { Interface uint32 } +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + type Msghdr struct { Name *byte Namelen uint32 @@ -376,9 +383,11 @@ const ( SizeofSockaddrALG = 0x58 SizeofSockaddrVM = 0x10 SizeofLinger = 0x8 + SizeofIovec = 0x8 SizeofIPMreq = 0x8 SizeofIPMreqn = 0xc SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 SizeofMsghdr = 0x1c SizeofCmsghdr = 0xc SizeofInet4Pktinfo = 0xc @@ -419,7 +428,7 @@ const ( IFLA_LINKINFO = 0x12 IFLA_NET_NS_PID = 0x13 IFLA_IFALIAS = 0x14 - IFLA_MAX = 0x2b + IFLA_MAX = 0x2c RT_SCOPE_UNIVERSE = 0x0 RT_SCOPE_SITE = 0xc8 RT_SCOPE_LINK = 0xfd @@ -658,8 +667,6 @@ const RNDGETENTCNT = 0x40045200 const PERF_IOC_FLAG_GROUP = 0x1 -const _SC_PAGESIZE = 0x1e - type Termios struct { Iflag uint32 Oflag uint32 @@ -677,3 +684,104 @@ type Winsize struct { Xpixel uint16 Ypixel uint16 } + +type Taskstats struct { + Version uint16 + Pad_cgo_0 [2]byte + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Pad_cgo_1 [6]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + Pad_cgo_2 [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Pad_cgo_3 [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) 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 a39d3624d..ec7a0cd27 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go @@ -288,6 +288,13 @@ type IPv6Mreq struct { Interface uint32 } +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + type Msghdr struct { Name *byte Namelen uint32 @@ -378,9 +385,11 @@ const ( SizeofSockaddrALG = 0x58 SizeofSockaddrVM = 0x10 SizeofLinger = 0x8 + SizeofIovec = 0x10 SizeofIPMreq = 0x8 SizeofIPMreqn = 0xc SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 SizeofMsghdr = 0x38 SizeofCmsghdr = 0x10 SizeofInet4Pktinfo = 0xc @@ -421,7 +430,7 @@ const ( IFLA_LINKINFO = 0x12 IFLA_NET_NS_PID = 0x13 IFLA_IFALIAS = 0x14 - IFLA_MAX = 0x2b + IFLA_MAX = 0x2c RT_SCOPE_UNIVERSE = 0x0 RT_SCOPE_SITE = 0xc8 RT_SCOPE_LINK = 0xfd @@ -663,8 +672,6 @@ const RNDGETENTCNT = 0x40045200 const PERF_IOC_FLAG_GROUP = 0x1 -const _SC_PAGESIZE = 0x1e - type Termios struct { Iflag uint32 Oflag uint32 @@ -682,3 +689,104 @@ type Winsize struct { Xpixel uint16 Ypixel uint16 } + +type Taskstats struct { + Version uint16 + Pad_cgo_0 [2]byte + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Pad_cgo_1 [6]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + Pad_cgo_2 [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Pad_cgo_3 [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) 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 a05f082ec..bbe08d7db 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go @@ -288,6 +288,13 @@ type IPv6Mreq struct { Interface uint32 } +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + type Msghdr struct { Name *byte Namelen uint32 @@ -378,9 +385,11 @@ const ( SizeofSockaddrALG = 0x58 SizeofSockaddrVM = 0x10 SizeofLinger = 0x8 + SizeofIovec = 0x10 SizeofIPMreq = 0x8 SizeofIPMreqn = 0xc SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 SizeofMsghdr = 0x38 SizeofCmsghdr = 0x10 SizeofInet4Pktinfo = 0xc @@ -421,7 +430,7 @@ const ( IFLA_LINKINFO = 0x12 IFLA_NET_NS_PID = 0x13 IFLA_IFALIAS = 0x14 - IFLA_MAX = 0x2b + IFLA_MAX = 0x2c RT_SCOPE_UNIVERSE = 0x0 RT_SCOPE_SITE = 0xc8 RT_SCOPE_LINK = 0xfd @@ -663,8 +672,6 @@ const RNDGETENTCNT = 0x40045200 const PERF_IOC_FLAG_GROUP = 0x1 -const _SC_PAGESIZE = 0x1e - type Termios struct { Iflag uint32 Oflag uint32 @@ -682,3 +689,104 @@ type Winsize struct { Xpixel uint16 Ypixel uint16 } + +type Taskstats struct { + Version uint16 + Pad_cgo_0 [2]byte + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Pad_cgo_1 [6]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + Pad_cgo_2 [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Pad_cgo_3 [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) 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 2ecdddcd8..75ee05ab4 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go @@ -288,6 +288,13 @@ type IPv6Mreq struct { Interface uint32 } +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + type Msghdr struct { Name *byte Namelen uint32 @@ -376,9 +383,11 @@ const ( SizeofSockaddrALG = 0x58 SizeofSockaddrVM = 0x10 SizeofLinger = 0x8 + SizeofIovec = 0x8 SizeofIPMreq = 0x8 SizeofIPMreqn = 0xc SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 SizeofMsghdr = 0x1c SizeofCmsghdr = 0xc SizeofInet4Pktinfo = 0xc @@ -419,7 +428,7 @@ const ( IFLA_LINKINFO = 0x12 IFLA_NET_NS_PID = 0x13 IFLA_IFALIAS = 0x14 - IFLA_MAX = 0x2b + IFLA_MAX = 0x2c RT_SCOPE_UNIVERSE = 0x0 RT_SCOPE_SITE = 0xc8 RT_SCOPE_LINK = 0xfd @@ -658,8 +667,6 @@ const RNDGETENTCNT = 0x40045200 const PERF_IOC_FLAG_GROUP = 0x1 -const _SC_PAGESIZE = 0x1e - type Termios struct { Iflag uint32 Oflag uint32 @@ -677,3 +684,104 @@ type Winsize struct { Xpixel uint16 Ypixel uint16 } + +type Taskstats struct { + Version uint16 + Pad_cgo_0 [2]byte + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Pad_cgo_1 [6]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + Pad_cgo_2 [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Pad_cgo_3 [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) 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 33b8e55cf..30a257f83 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go @@ -289,6 +289,13 @@ type IPv6Mreq struct { Interface uint32 } +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + type Msghdr struct { Name *byte Namelen uint32 @@ -379,9 +386,11 @@ const ( SizeofSockaddrALG = 0x58 SizeofSockaddrVM = 0x10 SizeofLinger = 0x8 + SizeofIovec = 0x10 SizeofIPMreq = 0x8 SizeofIPMreqn = 0xc SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 SizeofMsghdr = 0x38 SizeofCmsghdr = 0x10 SizeofInet4Pktinfo = 0xc @@ -422,7 +431,7 @@ const ( IFLA_LINKINFO = 0x12 IFLA_NET_NS_PID = 0x13 IFLA_IFALIAS = 0x14 - IFLA_MAX = 0x2b + IFLA_MAX = 0x2c RT_SCOPE_UNIVERSE = 0x0 RT_SCOPE_SITE = 0xc8 RT_SCOPE_LINK = 0xfd @@ -671,8 +680,6 @@ const RNDGETENTCNT = 0x40045200 const PERF_IOC_FLAG_GROUP = 0x1 -const _SC_PAGESIZE = 0x1e - type Termios struct { Iflag uint32 Oflag uint32 @@ -690,3 +697,104 @@ type Winsize struct { Xpixel uint16 Ypixel uint16 } + +type Taskstats struct { + Version uint16 + Pad_cgo_0 [2]byte + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Pad_cgo_1 [6]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]uint8 + Ac_sched uint8 + Ac_pad [3]uint8 + Pad_cgo_2 [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Pad_cgo_3 [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) 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 987d48149..bebed6f11 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go @@ -289,6 +289,13 @@ type IPv6Mreq struct { Interface uint32 } +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + type Msghdr struct { Name *byte Namelen uint32 @@ -379,9 +386,11 @@ const ( SizeofSockaddrALG = 0x58 SizeofSockaddrVM = 0x10 SizeofLinger = 0x8 + SizeofIovec = 0x10 SizeofIPMreq = 0x8 SizeofIPMreqn = 0xc SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 SizeofMsghdr = 0x38 SizeofCmsghdr = 0x10 SizeofInet4Pktinfo = 0xc @@ -422,7 +431,7 @@ const ( IFLA_LINKINFO = 0x12 IFLA_NET_NS_PID = 0x13 IFLA_IFALIAS = 0x14 - IFLA_MAX = 0x2b + IFLA_MAX = 0x2c RT_SCOPE_UNIVERSE = 0x0 RT_SCOPE_SITE = 0xc8 RT_SCOPE_LINK = 0xfd @@ -671,8 +680,6 @@ const RNDGETENTCNT = 0x40045200 const PERF_IOC_FLAG_GROUP = 0x1 -const _SC_PAGESIZE = 0x1e - type Termios struct { Iflag uint32 Oflag uint32 @@ -690,3 +697,104 @@ type Winsize struct { Xpixel uint16 Ypixel uint16 } + +type Taskstats struct { + Version uint16 + Pad_cgo_0 [2]byte + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Pad_cgo_1 [6]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]uint8 + Ac_sched uint8 + Ac_pad [3]uint8 + Pad_cgo_2 [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Pad_cgo_3 [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) 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 cf539ca9d..286661b35 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go @@ -288,6 +288,13 @@ type IPv6Mreq struct { Interface uint32 } +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + type Msghdr struct { Name *byte Namelen uint32 @@ -378,9 +385,11 @@ const ( SizeofSockaddrALG = 0x58 SizeofSockaddrVM = 0x10 SizeofLinger = 0x8 + SizeofIovec = 0x10 SizeofIPMreq = 0x8 SizeofIPMreqn = 0xc SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 SizeofMsghdr = 0x38 SizeofCmsghdr = 0x10 SizeofInet4Pktinfo = 0xc @@ -421,7 +430,7 @@ const ( IFLA_LINKINFO = 0x12 IFLA_NET_NS_PID = 0x13 IFLA_IFALIAS = 0x14 - IFLA_MAX = 0x2b + IFLA_MAX = 0x2c RT_SCOPE_UNIVERSE = 0x0 RT_SCOPE_SITE = 0xc8 RT_SCOPE_LINK = 0xfd @@ -688,8 +697,6 @@ const RNDGETENTCNT = 0x80045200 const PERF_IOC_FLAG_GROUP = 0x1 -const _SC_PAGESIZE = 0x1e - type Termios struct { Iflag uint32 Oflag uint32 @@ -707,3 +714,104 @@ type Winsize struct { Xpixel uint16 Ypixel uint16 } + +type Taskstats struct { + Version uint16 + _ [2]byte + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + _ [6]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + _ [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go index caf755fb8..42f99c0a3 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go +++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go @@ -382,6 +382,11 @@ type Termios struct { Ospeed int32 } +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_NOFOLLOW = 0x200 +) + type Sysctlnode struct { Flags uint32 Num int32 diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go index 91b4a5305..ff290ba06 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go @@ -389,6 +389,11 @@ type Termios struct { Ospeed int32 } +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_NOFOLLOW = 0x200 +) + type Sysctlnode struct { Flags uint32 Num int32 diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go index c0758f9d3..66dbd7c05 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go +++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go @@ -387,6 +387,11 @@ type Termios struct { Ospeed int32 } +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_NOFOLLOW = 0x200 +) + type Sysctlnode struct { Flags uint32 Num int32 diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go index 860a46979..20fc9f450 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go @@ -439,3 +439,8 @@ type Termios struct { Ispeed int32 Ospeed int32 } + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_NOFOLLOW = 0x2 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go index 23c52727f..46fe9490c 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go @@ -446,3 +446,8 @@ type Termios struct { Ispeed int32 Ospeed int32 } + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_NOFOLLOW = 0x2 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go new file mode 100644 index 000000000..62e1f7c04 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go @@ -0,0 +1,439 @@ +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types_openbsd.go + +// +build arm,openbsd + +package unix + +const ( + sizeofPtr = 0x4 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x4 + sizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 +} + +type Timeval struct { + Sec int64 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +const ( + S_IFMT = 0xf000 + S_IFIFO = 0x1000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFBLK = 0x6000 + S_IFREG = 0x8000 + S_IFLNK = 0xa000 + S_IFSOCK = 0xc000 + S_ISUID = 0x800 + S_ISGID = 0x400 + S_ISVTX = 0x200 + S_IRUSR = 0x100 + S_IWUSR = 0x80 + S_IXUSR = 0x40 +) + +type Stat_t struct { + Mode uint32 + Dev int32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + X__st_birthtim Timespec +} + +type Statfs_t struct { + F_flags uint32 + F_bsize uint32 + F_iosize uint32 + F_blocks uint64 + F_bfree uint64 + F_bavail int64 + F_files uint64 + F_ffree uint64 + F_favail int64 + F_syncwrites uint64 + F_syncreads uint64 + F_asyncwrites uint64 + F_asyncreads uint64 + F_fsid Fsid + F_namemax uint32 + F_owner uint32 + F_ctime uint64 + F_fstypename [16]uint8 + F_mntonname [90]uint8 + F_mntfromname [90]uint8 + F_mntfromspec [90]uint8 + Pad_cgo_0 [2]byte + Mount_info [160]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Namlen uint8 + X__d_padding [4]uint8 + Name [256]uint8 +} + +type Fsid struct { + Val [2]int32 +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x20 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + SizeofIfMsghdr = 0x98 + SizeofIfData = 0x80 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x1a + SizeofRtMsghdr = 0x60 + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Xflags int32 + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Mtu uint32 + Metric uint32 + Pad uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Capabilities uint32 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Metric int32 +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + What uint16 + Name [16]uint8 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Priority uint8 + Mpls uint8 + Addrs int32 + Flags int32 + Fmask int32 + Pid int32 + Seq int32 + Errno int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Pksent uint64 + Expire int64 + Locks uint32 + Mtu uint32 + Refcnt uint32 + Hopcount uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pad uint32 +} + +type Mclpool struct{} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [2]byte +} + +type BpfTimeval struct { + Sec uint32 + Usec uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_NOFOLLOW = 0x2 +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go index 92336f9f9..a979a33d5 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go @@ -413,8 +413,6 @@ type BpfHdr struct { Pad_cgo_0 [2]byte } -const _SC_PAGESIZE = 0xb - type Termios struct { Iflag uint32 Oflag uint32 diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go index 518250e70..9b5ed549a 100644 --- a/vendor/golang.org/x/sys/windows/syscall_windows.go +++ b/vendor/golang.org/x/sys/windows/syscall_windows.go @@ -71,12 +71,17 @@ func UTF16PtrFromString(s string) (*uint16, error) { func Getpagesize() int { return 4096 } -// Converts a Go function to a function pointer conforming -// to the stdcall or cdecl calling convention. This is useful when -// interoperating with Windows code requiring callbacks. -// Implemented in runtime/syscall_windows.goc -func NewCallback(fn interface{}) uintptr -func NewCallbackCDecl(fn interface{}) uintptr +// NewCallback converts a Go function to a function pointer conforming to the stdcall calling convention. +// This is useful when interoperating with Windows code requiring callbacks. +func NewCallback(fn interface{}) uintptr { + return syscall.NewCallback(fn) +} + +// NewCallbackCDecl converts a Go function to a function pointer conforming to the cdecl calling convention. +// This is useful when interoperating with Windows code requiring callbacks. +func NewCallbackCDecl(fn interface{}) uintptr { + return syscall.NewCallbackCDecl(fn) +} // windows api calls @@ -176,6 +181,8 @@ func NewCallbackCDecl(fn interface{}) uintptr //sys RegQueryValueEx(key Handle, name *uint16, reserved *uint32, valtype *uint32, buf *byte, buflen *uint32) (regerrno error) = advapi32.RegQueryValueExW //sys getCurrentProcessId() (pid uint32) = kernel32.GetCurrentProcessId //sys GetConsoleMode(console Handle, mode *uint32) (err error) = kernel32.GetConsoleMode +//sys SetConsoleMode(console Handle, mode uint32) (err error) = kernel32.SetConsoleMode +//sys GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) = kernel32.GetConsoleScreenBufferInfo //sys WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) = kernel32.WriteConsoleW //sys ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *byte) (err error) = kernel32.ReadConsoleW //sys CreateToolhelp32Snapshot(flags uint32, processId uint32) (handle Handle, err error) [failretval==InvalidHandle] = kernel32.CreateToolhelp32Snapshot @@ -186,8 +193,12 @@ func NewCallbackCDecl(fn interface{}) uintptr //sys CreateSymbolicLink(symlinkfilename *uint16, targetfilename *uint16, flags uint32) (err error) [failretval&0xff==0] = CreateSymbolicLinkW //sys CreateHardLink(filename *uint16, existingfilename *uint16, reserved uintptr) (err error) [failretval&0xff==0] = CreateHardLinkW //sys GetCurrentThreadId() (id uint32) -//sys CreateEvent(eventAttrs *syscall.SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) = kernel32.CreateEventW +//sys CreateEvent(eventAttrs *SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) = kernel32.CreateEventW +//sys CreateEventEx(eventAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) = kernel32.CreateEventExW +//sys OpenEvent(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) = kernel32.OpenEventW //sys SetEvent(event Handle) (err error) = kernel32.SetEvent +//sys ResetEvent(event Handle) (err error) = kernel32.ResetEvent +//sys PulseEvent(event Handle) (err error) = kernel32.PulseEvent // syscall interface implementation for other packages diff --git a/vendor/golang.org/x/sys/windows/ztypes_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go similarity index 96% rename from vendor/golang.org/x/sys/windows/ztypes_windows.go rename to vendor/golang.org/x/sys/windows/types_windows.go index c99a3fe5f..401a5f2d9 100644 --- a/vendor/golang.org/x/sys/windows/ztypes_windows.go +++ b/vendor/golang.org/x/sys/windows/types_windows.go @@ -1233,3 +1233,50 @@ const ( IfOperStatusNotPresent = 6 IfOperStatusLowerLayerDown = 7 ) + +// Console related constants used for the mode parameter to SetConsoleMode. See +// https://docs.microsoft.com/en-us/windows/console/setconsolemode for details. + +const ( + ENABLE_PROCESSED_INPUT = 0x1 + ENABLE_LINE_INPUT = 0x2 + ENABLE_ECHO_INPUT = 0x4 + ENABLE_WINDOW_INPUT = 0x8 + ENABLE_MOUSE_INPUT = 0x10 + ENABLE_INSERT_MODE = 0x20 + ENABLE_QUICK_EDIT_MODE = 0x40 + ENABLE_EXTENDED_FLAGS = 0x80 + ENABLE_AUTO_POSITION = 0x100 + ENABLE_VIRTUAL_TERMINAL_INPUT = 0x200 + + ENABLE_PROCESSED_OUTPUT = 0x1 + ENABLE_WRAP_AT_EOL_OUTPUT = 0x2 + ENABLE_VIRTUAL_TERMINAL_PROCESSING = 0x4 + DISABLE_NEWLINE_AUTO_RETURN = 0x8 + ENABLE_LVB_GRID_WORLDWIDE = 0x10 +) + +type Coord struct { + X int16 + Y int16 +} + +type SmallRect struct { + Left int16 + Top int16 + Right int16 + Bottom int16 +} + +// Used with GetConsoleScreenBuffer to retreive information about a console +// screen buffer. See +// https://docs.microsoft.com/en-us/windows/console/console-screen-buffer-info-str +// for details. + +type ConsoleScreenBufferInfo struct { + Size Coord + CursorPosition Coord + Attributes uint16 + Window SmallRect + MaximumWindowSize Coord +} diff --git a/vendor/golang.org/x/sys/windows/ztypes_windows_386.go b/vendor/golang.org/x/sys/windows/types_windows_386.go similarity index 100% rename from vendor/golang.org/x/sys/windows/ztypes_windows_386.go rename to vendor/golang.org/x/sys/windows/types_windows_386.go diff --git a/vendor/golang.org/x/sys/windows/ztypes_windows_amd64.go b/vendor/golang.org/x/sys/windows/types_windows_amd64.go similarity index 100% rename from vendor/golang.org/x/sys/windows/ztypes_windows_amd64.go rename to vendor/golang.org/x/sys/windows/types_windows_amd64.go diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go index d588e1d03..2f893d2ef 100644 --- a/vendor/golang.org/x/sys/windows/zsyscall_windows.go +++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go @@ -161,6 +161,8 @@ var ( procRegQueryValueExW = modadvapi32.NewProc("RegQueryValueExW") procGetCurrentProcessId = modkernel32.NewProc("GetCurrentProcessId") procGetConsoleMode = modkernel32.NewProc("GetConsoleMode") + procSetConsoleMode = modkernel32.NewProc("SetConsoleMode") + procGetConsoleScreenBufferInfo = modkernel32.NewProc("GetConsoleScreenBufferInfo") procWriteConsoleW = modkernel32.NewProc("WriteConsoleW") procReadConsoleW = modkernel32.NewProc("ReadConsoleW") procCreateToolhelp32Snapshot = modkernel32.NewProc("CreateToolhelp32Snapshot") @@ -171,7 +173,11 @@ var ( procCreateHardLinkW = modkernel32.NewProc("CreateHardLinkW") procGetCurrentThreadId = modkernel32.NewProc("GetCurrentThreadId") procCreateEventW = modkernel32.NewProc("CreateEventW") + procCreateEventExW = modkernel32.NewProc("CreateEventExW") + procOpenEventW = modkernel32.NewProc("OpenEventW") procSetEvent = modkernel32.NewProc("SetEvent") + procResetEvent = modkernel32.NewProc("ResetEvent") + procPulseEvent = modkernel32.NewProc("PulseEvent") procWSAStartup = modws2_32.NewProc("WSAStartup") procWSACleanup = modws2_32.NewProc("WSACleanup") procWSAIoctl = modws2_32.NewProc("WSAIoctl") @@ -1629,6 +1635,30 @@ func GetConsoleMode(console Handle, mode *uint32) (err error) { return } +func SetConsoleMode(console Handle, mode uint32) (err error) { + r1, _, e1 := syscall.Syscall(procSetConsoleMode.Addr(), 2, uintptr(console), uintptr(mode), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) { + r1, _, e1 := syscall.Syscall(procGetConsoleScreenBufferInfo.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(info)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + func WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) { r1, _, e1 := syscall.Syscall6(procWriteConsoleW.Addr(), 5, uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(towrite), uintptr(unsafe.Pointer(written)), uintptr(unsafe.Pointer(reserved)), 0) if r1 == 0 { @@ -1732,7 +1762,7 @@ func GetCurrentThreadId() (id uint32) { return } -func CreateEvent(eventAttrs *syscall.SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) { +func CreateEvent(eventAttrs *SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) { r0, _, e1 := syscall.Syscall6(procCreateEventW.Addr(), 4, uintptr(unsafe.Pointer(eventAttrs)), uintptr(manualReset), uintptr(initialState), uintptr(unsafe.Pointer(name)), 0, 0) handle = Handle(r0) if handle == 0 { @@ -1745,6 +1775,38 @@ func CreateEvent(eventAttrs *syscall.SecurityAttributes, manualReset uint32, ini return } +func CreateEventEx(eventAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall6(procCreateEventExW.Addr(), 4, uintptr(unsafe.Pointer(eventAttrs)), uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(desiredAccess), 0, 0) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func OpenEvent(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) { + var _p0 uint32 + if inheritHandle { + _p0 = 1 + } else { + _p0 = 0 + } + r0, _, e1 := syscall.Syscall(procOpenEventW.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(unsafe.Pointer(name))) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + func SetEvent(event Handle) (err error) { r1, _, e1 := syscall.Syscall(procSetEvent.Addr(), 1, uintptr(event), 0, 0) if r1 == 0 { @@ -1757,6 +1819,30 @@ func SetEvent(event Handle) (err error) { return } +func ResetEvent(event Handle) (err error) { + r1, _, e1 := syscall.Syscall(procResetEvent.Addr(), 1, uintptr(event), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func PulseEvent(event Handle) (err error) { + r1, _, e1 := syscall.Syscall(procPulseEvent.Addr(), 1, uintptr(event), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + func WSAStartup(verreq uint32, data *WSAData) (sockerr error) { r0, _, _ := syscall.Syscall(procWSAStartup.Addr(), 2, uintptr(verreq), uintptr(unsafe.Pointer(data)), 0) if r0 != 0 { diff --git a/vendor/golang.org/x/text/README b/vendor/golang.org/x/text/README deleted file mode 100644 index 4826fe8fb..000000000 --- a/vendor/golang.org/x/text/README +++ /dev/null @@ -1,23 +0,0 @@ -This repository holds supplementary Go libraries for text processing, many involving Unicode. - -To submit changes to this repository, see http://golang.org/doc/contribute.html. - -To generate the tables in this repository (except for the encoding tables), -run go generate from this directory. By default tables are generated for the -Unicode version in core and the CLDR version defined in -golang.org/x/text/unicode/cldr. - -Running go generate will as a side effect create a DATA subdirectory in this -directory which holds all files that are used as a source for generating the -tables. This directory will also serve as a cache. - -Run - - go test ./... - -from this directory to run all tests. Add the "-tags icu" flag to also run -ICU conformance tests (if available). This requires that you have the correct -ICU version installed on your system. - -TODO: -- updating unversioned source files. \ No newline at end of file diff --git a/vendor/golang.org/x/text/README.md b/vendor/golang.org/x/text/README.md new file mode 100644 index 000000000..24be1c676 --- /dev/null +++ b/vendor/golang.org/x/text/README.md @@ -0,0 +1,63 @@ +This repository holds supplementary Go libraries for text processing, many involving Unicode. + + +# Semantic Versioning +This repo uses Semantic versioning (http://semver.org/), so +1. MAJOR version when you make incompatible API changes, +1. MINOR version when you add functionality in a backwards-compatible manner, + and +1. PATCH version when you make backwards-compatible bug fixes. + +A Unicode major and minor version bump is mapped to a major version bump in +x/text. +A path version bump in Unicode is mapped to a minor version bump in x/text. +Note that, consistent with the definitions in semver, until version 1.0.0 of +x/text is reached, the minor version is considered a major version. +So going from 0.1.0 to 0.2.0 is considered to be a major version bump. + +A major new CLDR version is mapped to a minor version increase in x/text. +Any other new CLDR version is mapped to a patch version increase in x/text. + + +# Contribute +To submit changes to this repository, see http://golang.org/doc/contribute.html. + +To generate the tables in this repository (except for the encoding tables), +run go generate from this directory. By default tables are generated for the +Unicode version in core and the CLDR version defined in +golang.org/x/text/unicode/cldr. + +Running go generate will as a side effect create a DATA subdirectory in this +directory, which holds all files that are used as a source for generating the +tables. This directory will also serve as a cache. + +## Testing +Run + + go test ./... + +from this directory to run all tests. Add the "-tags icu" flag to also run +ICU conformance tests (if available). This requires that you have the correct +ICU version installed on your system. + +## Versions +To update a Unicode version run + + UNICODE_VERSION=x.x.x go generate + +where `x.x.x` must correspond to a directory in http://www.unicode.org/Public/. +If this version is newer than the version in core it will also update the +relevant packages there. The idna package in x/net will always be updated. + +To update a CLDR version run + + CLDR_VERSION=version go generate + +where `version` must correspond to a directory in +http://www.unicode.org/Public/cldr/. + +Note that the code gets adapted over time to changes in the data and that +backwards compatibility is not maintained. +So updating to a different version may not work. + +The files in DATA/{iana|icu|w3|whatwg} are currently not versioned. diff --git a/vendor/golang.org/x/text/cases/gen.go b/vendor/golang.org/x/text/cases/gen.go index eb399baa7..24b723003 100644 --- a/vendor/golang.org/x/text/cases/gen.go +++ b/vendor/golang.org/x/text/cases/gen.go @@ -596,7 +596,7 @@ func verifyProperties(chars []runeInfo) { // decomposition is greater than U+00FF, the rune is always // great and not a modifier. if f := runes[0]; unicode.IsMark(f) || f > 0xFF && !unicode.Is(unicode.Greek, f) { - log.Fatalf("%U: expeced first rune of Greek decomposition to be letter, found %U", r, f) + log.Fatalf("%U: expected first rune of Greek decomposition to be letter, found %U", r, f) } // A.6.2: Any follow-up rune in a Greek decomposition is a // modifier of which the first should be gobbled in @@ -605,7 +605,7 @@ func verifyProperties(chars []runeInfo) { switch m { case 0x0313, 0x0314, 0x0301, 0x0300, 0x0306, 0x0342, 0x0308, 0x0304, 0x345: default: - log.Fatalf("%U: modifier %U is outside of expeced Greek modifier set", r, m) + log.Fatalf("%U: modifier %U is outside of expected Greek modifier set", r, m) } } } diff --git a/vendor/golang.org/x/text/cases/tables.go b/vendor/golang.org/x/text/cases/tables.go index e6e95a685..cf73781cd 100644 --- a/vendor/golang.org/x/text/cases/tables.go +++ b/vendor/golang.org/x/text/cases/tables.go @@ -3,7 +3,7 @@ package cases // UnicodeVersion is the Unicode version from which the tables in this package are derived. -const UnicodeVersion = "9.0.0" +const UnicodeVersion = "10.0.0" var xorData string = "" + // Size: 185 bytes "\x00\x06\x07\x00\x01?\x00\x0f\x03\x00\x0f\x12\x00\x0f\x1f\x00\x0f\x1d" + @@ -216,7 +216,7 @@ func (t *caseTrie) lookupStringUnsafe(s string) uint16 { return 0 } -// caseTrie. Total size: 11742 bytes (11.47 KiB). Checksum: 147a11466b427436. +// caseTrie. Total size: 11892 bytes (11.61 KiB). Checksum: abd4a0bc39341b30. type caseTrie struct{} func newCaseTrie(i int) *caseTrie { @@ -407,7 +407,7 @@ var caseValues = [1280]uint16{ 0x3fc: 0x0015, 0x3fd: 0x0015, 0x3fe: 0xcecb, 0x3ff: 0xcf8b, // Block 0x10, offset 0x400 0x400: 0x0113, 0x401: 0x0112, 0x402: 0x0113, 0x403: 0x0112, 0x404: 0x0113, 0x405: 0x0112, - 0x406: 0x0113, 0x407: 0x0112, 0x408: 0x0014, 0x409: 0x0004, 0x40a: 0x0004, 0x40b: 0x0713, + 0x406: 0x0113, 0x407: 0x0112, 0x408: 0x0014, 0x409: 0x0014, 0x40a: 0x0014, 0x40b: 0x0713, 0x40c: 0x0712, 0x40d: 0xd04b, 0x40e: 0x0012, 0x40f: 0x0010, 0x410: 0x0113, 0x411: 0x0112, 0x412: 0x0113, 0x413: 0x0112, 0x414: 0x0012, 0x415: 0x0012, 0x416: 0x0113, 0x417: 0x0112, 0x418: 0x0113, 0x419: 0x0112, 0x41a: 0x0113, 0x41b: 0x0112, 0x41c: 0x0113, 0x41d: 0x0112, @@ -529,52 +529,52 @@ var caseIndex = [1600]uint16{ 0x350: 0xe0, 0x351: 0xe1, 0x352: 0xe2, 0x353: 0xe3, 0x356: 0xe4, 0x357: 0xe5, 0x358: 0xe6, 0x359: 0xe7, 0x35a: 0xe8, 0x35b: 0xe9, 0x35c: 0xea, 0x362: 0xeb, 0x363: 0xec, - 0x36b: 0xed, - 0x370: 0xee, 0x371: 0xef, 0x372: 0xf0, + 0x368: 0xed, 0x369: 0xee, 0x36a: 0xef, 0x36b: 0xf0, + 0x370: 0xf1, 0x371: 0xf2, 0x372: 0xf3, 0x374: 0xf4, 0x375: 0xf5, // Block 0xe, offset 0x380 0x380: 0x23, 0x381: 0x23, 0x382: 0x23, 0x383: 0x23, 0x384: 0x23, 0x385: 0x23, 0x386: 0x23, 0x387: 0x23, - 0x388: 0x23, 0x389: 0x23, 0x38a: 0x23, 0x38b: 0x23, 0x38c: 0x23, 0x38d: 0x23, 0x38e: 0xf1, - 0x390: 0x23, 0x391: 0xf2, 0x392: 0x23, 0x393: 0x23, 0x394: 0x23, 0x395: 0xf3, + 0x388: 0x23, 0x389: 0x23, 0x38a: 0x23, 0x38b: 0x23, 0x38c: 0x23, 0x38d: 0x23, 0x38e: 0xf6, + 0x390: 0x23, 0x391: 0xf7, 0x392: 0x23, 0x393: 0x23, 0x394: 0x23, 0x395: 0xf8, // Block 0xf, offset 0x3c0 0x3c0: 0x23, 0x3c1: 0x23, 0x3c2: 0x23, 0x3c3: 0x23, 0x3c4: 0x23, 0x3c5: 0x23, 0x3c6: 0x23, 0x3c7: 0x23, 0x3c8: 0x23, 0x3c9: 0x23, 0x3ca: 0x23, 0x3cb: 0x23, 0x3cc: 0x23, 0x3cd: 0x23, 0x3ce: 0x23, 0x3cf: 0x23, - 0x3d0: 0xf2, + 0x3d0: 0xf7, // Block 0x10, offset 0x400 0x410: 0x23, 0x411: 0x23, 0x412: 0x23, 0x413: 0x23, 0x414: 0x23, 0x415: 0x23, 0x416: 0x23, 0x417: 0x23, - 0x418: 0x23, 0x419: 0xf4, + 0x418: 0x23, 0x419: 0xf9, // Block 0x11, offset 0x440 0x460: 0x23, 0x461: 0x23, 0x462: 0x23, 0x463: 0x23, 0x464: 0x23, 0x465: 0x23, 0x466: 0x23, 0x467: 0x23, - 0x468: 0xed, 0x469: 0xf5, 0x46b: 0xf6, 0x46c: 0xf7, 0x46d: 0xf8, 0x46e: 0xf9, - 0x47c: 0x23, 0x47d: 0xfa, 0x47e: 0xfb, 0x47f: 0xfc, + 0x468: 0xf0, 0x469: 0xfa, 0x46b: 0xfb, 0x46c: 0xfc, 0x46d: 0xfd, 0x46e: 0xfe, + 0x47c: 0x23, 0x47d: 0xff, 0x47e: 0x100, 0x47f: 0x101, // Block 0x12, offset 0x480 - 0x4b0: 0x23, 0x4b1: 0xfd, 0x4b2: 0xfe, + 0x4b0: 0x23, 0x4b1: 0x102, 0x4b2: 0x103, // Block 0x13, offset 0x4c0 - 0x4c5: 0xff, 0x4c6: 0x100, - 0x4c9: 0x101, - 0x4d0: 0x102, 0x4d1: 0x103, 0x4d2: 0x104, 0x4d3: 0x105, 0x4d4: 0x106, 0x4d5: 0x107, 0x4d6: 0x108, 0x4d7: 0x109, - 0x4d8: 0x10a, 0x4d9: 0x10b, 0x4da: 0x10c, 0x4db: 0x10d, 0x4dc: 0x10e, 0x4dd: 0x10f, 0x4de: 0x110, 0x4df: 0x111, - 0x4e8: 0x112, 0x4e9: 0x113, 0x4ea: 0x114, + 0x4c5: 0x104, 0x4c6: 0x105, + 0x4c9: 0x106, + 0x4d0: 0x107, 0x4d1: 0x108, 0x4d2: 0x109, 0x4d3: 0x10a, 0x4d4: 0x10b, 0x4d5: 0x10c, 0x4d6: 0x10d, 0x4d7: 0x10e, + 0x4d8: 0x10f, 0x4d9: 0x110, 0x4da: 0x111, 0x4db: 0x112, 0x4dc: 0x113, 0x4dd: 0x114, 0x4de: 0x115, 0x4df: 0x116, + 0x4e8: 0x117, 0x4e9: 0x118, 0x4ea: 0x119, // Block 0x14, offset 0x500 - 0x500: 0x115, - 0x520: 0x23, 0x521: 0x23, 0x522: 0x23, 0x523: 0x116, 0x524: 0x10, 0x525: 0x117, - 0x538: 0x118, 0x539: 0x11, 0x53a: 0x119, + 0x500: 0x11a, + 0x520: 0x23, 0x521: 0x23, 0x522: 0x23, 0x523: 0x11b, 0x524: 0x10, 0x525: 0x11c, + 0x538: 0x11d, 0x539: 0x11, 0x53a: 0x11e, // Block 0x15, offset 0x540 - 0x544: 0x11a, 0x545: 0x11b, 0x546: 0x11c, - 0x54f: 0x11d, + 0x544: 0x11f, 0x545: 0x120, 0x546: 0x121, + 0x54f: 0x122, // Block 0x16, offset 0x580 0x590: 0x0a, 0x591: 0x0b, 0x592: 0x0c, 0x593: 0x0d, 0x594: 0x0e, 0x596: 0x0f, 0x59b: 0x10, 0x59d: 0x11, 0x59e: 0x12, 0x59f: 0x13, // Block 0x17, offset 0x5c0 - 0x5c0: 0x11e, 0x5c1: 0x11f, 0x5c4: 0x11f, 0x5c5: 0x11f, 0x5c6: 0x11f, 0x5c7: 0x120, + 0x5c0: 0x123, 0x5c1: 0x124, 0x5c4: 0x124, 0x5c5: 0x124, 0x5c6: 0x124, 0x5c7: 0x125, // Block 0x18, offset 0x600 0x620: 0x15, } -// sparseOffsets: 272 entries, 544 bytes -var sparseOffsets = []uint16{0x0, 0x9, 0xf, 0x18, 0x24, 0x2e, 0x3a, 0x3d, 0x41, 0x44, 0x48, 0x52, 0x54, 0x59, 0x69, 0x70, 0x75, 0x83, 0x84, 0x92, 0xa1, 0xab, 0xae, 0xb4, 0xbc, 0xbe, 0xc0, 0xce, 0xd4, 0xe2, 0xed, 0xf8, 0x103, 0x10f, 0x119, 0x124, 0x12f, 0x13b, 0x147, 0x14f, 0x157, 0x161, 0x16c, 0x178, 0x17e, 0x189, 0x18e, 0x196, 0x199, 0x19e, 0x1a2, 0x1a6, 0x1ad, 0x1b6, 0x1be, 0x1bf, 0x1c8, 0x1cf, 0x1d7, 0x1dd, 0x1e3, 0x1e8, 0x1ec, 0x1ef, 0x1f1, 0x1f4, 0x1f9, 0x1fa, 0x1fc, 0x1fe, 0x200, 0x207, 0x20c, 0x210, 0x219, 0x21c, 0x21f, 0x225, 0x226, 0x231, 0x232, 0x233, 0x238, 0x245, 0x24d, 0x255, 0x25e, 0x267, 0x270, 0x275, 0x278, 0x281, 0x28e, 0x290, 0x297, 0x299, 0x2a4, 0x2a5, 0x2b0, 0x2b8, 0x2c0, 0x2c6, 0x2c7, 0x2d5, 0x2da, 0x2dd, 0x2e2, 0x2e6, 0x2ec, 0x2f1, 0x2f4, 0x2f9, 0x2fe, 0x2ff, 0x305, 0x307, 0x308, 0x30a, 0x30c, 0x30f, 0x310, 0x312, 0x315, 0x31b, 0x31f, 0x321, 0x327, 0x32e, 0x332, 0x33b, 0x33c, 0x344, 0x348, 0x34d, 0x355, 0x35b, 0x361, 0x36b, 0x370, 0x379, 0x37f, 0x386, 0x38a, 0x392, 0x394, 0x396, 0x399, 0x39b, 0x39d, 0x39e, 0x39f, 0x3a1, 0x3a3, 0x3a9, 0x3ae, 0x3b0, 0x3b6, 0x3b9, 0x3bb, 0x3c1, 0x3c6, 0x3c8, 0x3c9, 0x3ca, 0x3cb, 0x3cd, 0x3cf, 0x3d1, 0x3d4, 0x3d6, 0x3d9, 0x3e1, 0x3e4, 0x3e8, 0x3f0, 0x3f2, 0x3f3, 0x3f4, 0x3f6, 0x3fc, 0x3fe, 0x3ff, 0x401, 0x403, 0x405, 0x412, 0x413, 0x414, 0x418, 0x41a, 0x41b, 0x41c, 0x41d, 0x41e, 0x422, 0x426, 0x42c, 0x42e, 0x435, 0x438, 0x43c, 0x442, 0x44b, 0x451, 0x457, 0x461, 0x46b, 0x46d, 0x474, 0x47a, 0x480, 0x486, 0x489, 0x48f, 0x492, 0x49a, 0x49b, 0x4a2, 0x4a3, 0x4a6, 0x4a7, 0x4ad, 0x4b0, 0x4b8, 0x4b9, 0x4ba, 0x4bb, 0x4bc, 0x4be, 0x4c0, 0x4c2, 0x4c6, 0x4c7, 0x4c9, 0x4ca, 0x4cb, 0x4cd, 0x4d2, 0x4d7, 0x4db, 0x4dc, 0x4df, 0x4e3, 0x4ee, 0x4f2, 0x4fa, 0x4ff, 0x503, 0x506, 0x50a, 0x50d, 0x510, 0x515, 0x519, 0x51d, 0x521, 0x525, 0x527, 0x529, 0x52c, 0x531, 0x533, 0x538, 0x541, 0x546, 0x547, 0x54a, 0x54b, 0x54c, 0x54e, 0x54f, 0x550} +// sparseOffsets: 277 entries, 554 bytes +var sparseOffsets = []uint16{0x0, 0x9, 0xf, 0x18, 0x24, 0x2e, 0x35, 0x38, 0x3c, 0x3f, 0x43, 0x4d, 0x4f, 0x54, 0x64, 0x6b, 0x70, 0x7e, 0x7f, 0x8d, 0x9c, 0xa6, 0xa9, 0xaf, 0xb7, 0xba, 0xbc, 0xca, 0xd0, 0xde, 0xe9, 0xf5, 0x100, 0x10c, 0x116, 0x122, 0x12d, 0x139, 0x145, 0x14d, 0x155, 0x15f, 0x16a, 0x176, 0x17d, 0x188, 0x18d, 0x195, 0x198, 0x19d, 0x1a1, 0x1a5, 0x1ac, 0x1b5, 0x1bd, 0x1be, 0x1c7, 0x1ce, 0x1d6, 0x1dc, 0x1e2, 0x1e7, 0x1eb, 0x1ee, 0x1f0, 0x1f3, 0x1f8, 0x1f9, 0x1fb, 0x1fd, 0x1ff, 0x206, 0x20b, 0x20f, 0x218, 0x21b, 0x21e, 0x224, 0x225, 0x230, 0x231, 0x232, 0x237, 0x244, 0x24c, 0x254, 0x25d, 0x266, 0x26f, 0x274, 0x277, 0x280, 0x28d, 0x28f, 0x296, 0x298, 0x2a4, 0x2a5, 0x2b0, 0x2b8, 0x2c0, 0x2c6, 0x2c7, 0x2d5, 0x2da, 0x2dd, 0x2e2, 0x2e6, 0x2ec, 0x2f1, 0x2f4, 0x2f9, 0x2fe, 0x2ff, 0x305, 0x307, 0x308, 0x30a, 0x30c, 0x30f, 0x310, 0x312, 0x315, 0x31b, 0x31f, 0x321, 0x326, 0x32d, 0x331, 0x33a, 0x33b, 0x343, 0x347, 0x34c, 0x354, 0x35a, 0x360, 0x36a, 0x36f, 0x378, 0x37e, 0x385, 0x389, 0x391, 0x393, 0x395, 0x398, 0x39a, 0x39c, 0x39d, 0x39e, 0x3a0, 0x3a2, 0x3a8, 0x3ad, 0x3af, 0x3b5, 0x3b8, 0x3ba, 0x3c0, 0x3c5, 0x3c7, 0x3c8, 0x3c9, 0x3ca, 0x3cc, 0x3ce, 0x3d0, 0x3d3, 0x3d5, 0x3d8, 0x3e0, 0x3e3, 0x3e7, 0x3ef, 0x3f1, 0x3f2, 0x3f3, 0x3f5, 0x3fb, 0x3fd, 0x3fe, 0x400, 0x402, 0x404, 0x411, 0x412, 0x413, 0x417, 0x419, 0x41a, 0x41b, 0x41c, 0x41d, 0x421, 0x425, 0x42b, 0x42d, 0x434, 0x437, 0x43b, 0x441, 0x44a, 0x450, 0x456, 0x460, 0x46a, 0x46c, 0x473, 0x479, 0x47f, 0x485, 0x488, 0x48e, 0x491, 0x499, 0x49a, 0x4a1, 0x4a2, 0x4a5, 0x4af, 0x4b5, 0x4bb, 0x4bc, 0x4c2, 0x4c5, 0x4cd, 0x4d4, 0x4db, 0x4dc, 0x4dd, 0x4de, 0x4df, 0x4e1, 0x4e3, 0x4e5, 0x4e9, 0x4ea, 0x4ec, 0x4ed, 0x4ee, 0x4f0, 0x4f5, 0x4fa, 0x4fe, 0x4ff, 0x502, 0x506, 0x511, 0x515, 0x51d, 0x522, 0x526, 0x529, 0x52d, 0x530, 0x533, 0x538, 0x53c, 0x540, 0x544, 0x548, 0x54a, 0x54c, 0x54f, 0x554, 0x556, 0x55b, 0x564, 0x569, 0x56a, 0x56d, 0x56e, 0x56f, 0x571, 0x572, 0x573} -// sparseValues: 1360 entries, 5440 bytes -var sparseValues = [1360]valueRange{ +// sparseValues: 1395 entries, 5580 bytes +var sparseValues = [1395]valueRange{ // Block 0x0, offset 0x0 {value: 0x0004, lo: 0xa8, hi: 0xa8}, {value: 0x0012, lo: 0xaa, hi: 0xaa}, @@ -628,36 +628,31 @@ var sparseValues = [1360]valueRange{ {value: 0x12ca, lo: 0xbf, hi: 0xbf}, // Block 0x5, offset 0x2e {value: 0x0015, lo: 0x80, hi: 0x81}, - {value: 0x0004, lo: 0x82, hi: 0x85}, - {value: 0x0014, lo: 0x86, hi: 0x91}, - {value: 0x0004, lo: 0x92, hi: 0x96}, - {value: 0x0054, lo: 0x97, hi: 0x97}, - {value: 0x0004, lo: 0x98, hi: 0x9f}, + {value: 0x0014, lo: 0x82, hi: 0x97}, + {value: 0x0004, lo: 0x98, hi: 0x9d}, + {value: 0x0014, lo: 0x9e, hi: 0x9f}, {value: 0x0015, lo: 0xa0, hi: 0xa4}, {value: 0x0004, lo: 0xa5, hi: 0xab}, - {value: 0x0014, lo: 0xac, hi: 0xac}, - {value: 0x0004, lo: 0xad, hi: 0xad}, - {value: 0x0014, lo: 0xae, hi: 0xae}, - {value: 0x0004, lo: 0xaf, hi: 0xbf}, - // Block 0x6, offset 0x3a + {value: 0x0014, lo: 0xac, hi: 0xbf}, + // Block 0x6, offset 0x35 {value: 0x0024, lo: 0x80, hi: 0x94}, {value: 0x0034, lo: 0x95, hi: 0xbc}, {value: 0x0024, lo: 0xbd, hi: 0xbf}, - // Block 0x7, offset 0x3d + // Block 0x7, offset 0x38 {value: 0x6553, lo: 0x80, hi: 0x8f}, {value: 0x2013, lo: 0x90, hi: 0x9f}, {value: 0x5f53, lo: 0xa0, hi: 0xaf}, {value: 0x2012, lo: 0xb0, hi: 0xbf}, - // Block 0x8, offset 0x41 + // Block 0x8, offset 0x3c {value: 0x5f52, lo: 0x80, hi: 0x8f}, {value: 0x6552, lo: 0x90, hi: 0x9f}, {value: 0x0117, lo: 0xa0, hi: 0xbf}, - // Block 0x9, offset 0x44 + // Block 0x9, offset 0x3f {value: 0x0117, lo: 0x80, hi: 0x81}, {value: 0x0024, lo: 0x83, hi: 0x87}, {value: 0x0014, lo: 0x88, hi: 0x89}, {value: 0x0117, lo: 0x8a, hi: 0xbf}, - // Block 0xa, offset 0x48 + // Block 0xa, offset 0x43 {value: 0x0f13, lo: 0x80, hi: 0x80}, {value: 0x0316, lo: 0x81, hi: 0x82}, {value: 0x0716, lo: 0x83, hi: 0x84}, @@ -668,16 +663,16 @@ var sparseValues = [1360]valueRange{ {value: 0x0316, lo: 0x8d, hi: 0x8e}, {value: 0x0f12, lo: 0x8f, hi: 0x8f}, {value: 0x0117, lo: 0x90, hi: 0xbf}, - // Block 0xb, offset 0x52 + // Block 0xb, offset 0x4d {value: 0x0117, lo: 0x80, hi: 0xaf}, {value: 0x6553, lo: 0xb1, hi: 0xbf}, - // Block 0xc, offset 0x54 + // Block 0xc, offset 0x4f {value: 0x3013, lo: 0x80, hi: 0x8f}, {value: 0x6853, lo: 0x90, hi: 0x96}, {value: 0x0014, lo: 0x99, hi: 0x99}, {value: 0x6552, lo: 0xa1, hi: 0xaf}, {value: 0x3012, lo: 0xb0, hi: 0xbf}, - // Block 0xd, offset 0x59 + // Block 0xd, offset 0x54 {value: 0x6852, lo: 0x80, hi: 0x86}, {value: 0x27aa, lo: 0x87, hi: 0x87}, {value: 0x0034, lo: 0x91, hi: 0x91}, @@ -694,7 +689,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0024, lo: 0xaf, hi: 0xaf}, {value: 0x0034, lo: 0xb0, hi: 0xbd}, {value: 0x0034, lo: 0xbf, hi: 0xbf}, - // Block 0xe, offset 0x69 + // Block 0xe, offset 0x64 {value: 0x0034, lo: 0x81, hi: 0x82}, {value: 0x0024, lo: 0x84, hi: 0x84}, {value: 0x0034, lo: 0x85, hi: 0x85}, @@ -702,13 +697,13 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0x90, hi: 0xaa}, {value: 0x0010, lo: 0xb0, hi: 0xb3}, {value: 0x0054, lo: 0xb4, hi: 0xb4}, - // Block 0xf, offset 0x70 + // Block 0xf, offset 0x6b {value: 0x0014, lo: 0x80, hi: 0x85}, {value: 0x0024, lo: 0x90, hi: 0x97}, {value: 0x0034, lo: 0x98, hi: 0x9a}, {value: 0x0014, lo: 0x9c, hi: 0x9c}, {value: 0x0010, lo: 0xa0, hi: 0xbf}, - // Block 0x10, offset 0x75 + // Block 0x10, offset 0x70 {value: 0x0014, lo: 0x80, hi: 0x80}, {value: 0x0010, lo: 0x81, hi: 0x8a}, {value: 0x0034, lo: 0x8b, hi: 0x92}, @@ -723,9 +718,9 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0xae, hi: 0xaf}, {value: 0x0034, lo: 0xb0, hi: 0xb0}, {value: 0x0010, lo: 0xb1, hi: 0xbf}, - // Block 0x11, offset 0x83 + // Block 0x11, offset 0x7e {value: 0x0010, lo: 0x80, hi: 0xbf}, - // Block 0x12, offset 0x84 + // Block 0x12, offset 0x7f {value: 0x0010, lo: 0x80, hi: 0x93}, {value: 0x0010, lo: 0x95, hi: 0x95}, {value: 0x0024, lo: 0x96, hi: 0x9c}, @@ -740,7 +735,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0034, lo: 0xad, hi: 0xad}, {value: 0x0010, lo: 0xae, hi: 0xbc}, {value: 0x0010, lo: 0xbf, hi: 0xbf}, - // Block 0x13, offset 0x92 + // Block 0x13, offset 0x8d {value: 0x0014, lo: 0x8f, hi: 0x8f}, {value: 0x0010, lo: 0x90, hi: 0x90}, {value: 0x0034, lo: 0x91, hi: 0x91}, @@ -756,7 +751,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0024, lo: 0xbd, hi: 0xbd}, {value: 0x0034, lo: 0xbe, hi: 0xbe}, {value: 0x0024, lo: 0xbf, hi: 0xbf}, - // Block 0x14, offset 0xa1 + // Block 0x14, offset 0x9c {value: 0x0024, lo: 0x80, hi: 0x81}, {value: 0x0034, lo: 0x82, hi: 0x82}, {value: 0x0024, lo: 0x83, hi: 0x83}, @@ -767,18 +762,18 @@ var sparseValues = [1360]valueRange{ {value: 0x0034, lo: 0x88, hi: 0x88}, {value: 0x0024, lo: 0x89, hi: 0x8a}, {value: 0x0010, lo: 0x8d, hi: 0xbf}, - // Block 0x15, offset 0xab + // Block 0x15, offset 0xa6 {value: 0x0010, lo: 0x80, hi: 0xa5}, {value: 0x0014, lo: 0xa6, hi: 0xb0}, {value: 0x0010, lo: 0xb1, hi: 0xb1}, - // Block 0x16, offset 0xae + // Block 0x16, offset 0xa9 {value: 0x0010, lo: 0x80, hi: 0xaa}, {value: 0x0024, lo: 0xab, hi: 0xb1}, {value: 0x0034, lo: 0xb2, hi: 0xb2}, {value: 0x0024, lo: 0xb3, hi: 0xb3}, {value: 0x0014, lo: 0xb4, hi: 0xb5}, {value: 0x0014, lo: 0xba, hi: 0xba}, - // Block 0x17, offset 0xb4 + // Block 0x17, offset 0xaf {value: 0x0010, lo: 0x80, hi: 0x95}, {value: 0x0024, lo: 0x96, hi: 0x99}, {value: 0x0014, lo: 0x9a, hi: 0x9a}, @@ -787,13 +782,14 @@ var sparseValues = [1360]valueRange{ {value: 0x0024, lo: 0xa5, hi: 0xa7}, {value: 0x0014, lo: 0xa8, hi: 0xa8}, {value: 0x0024, lo: 0xa9, hi: 0xad}, - // Block 0x18, offset 0xbc + // Block 0x18, offset 0xb7 {value: 0x0010, lo: 0x80, hi: 0x98}, {value: 0x0034, lo: 0x99, hi: 0x9b}, - // Block 0x19, offset 0xbe + {value: 0x0010, lo: 0xa0, hi: 0xaa}, + // Block 0x19, offset 0xba {value: 0x0010, lo: 0xa0, hi: 0xb4}, {value: 0x0010, lo: 0xb6, hi: 0xbd}, - // Block 0x1a, offset 0xc0 + // Block 0x1a, offset 0xbc {value: 0x0024, lo: 0x94, hi: 0xa1}, {value: 0x0014, lo: 0xa2, hi: 0xa2}, {value: 0x0034, lo: 0xa3, hi: 0xa3}, @@ -808,14 +804,14 @@ var sparseValues = [1360]valueRange{ {value: 0x0024, lo: 0xb7, hi: 0xb8}, {value: 0x0034, lo: 0xb9, hi: 0xba}, {value: 0x0024, lo: 0xbb, hi: 0xbf}, - // Block 0x1b, offset 0xce + // Block 0x1b, offset 0xca {value: 0x0014, lo: 0x80, hi: 0x82}, {value: 0x0010, lo: 0x83, hi: 0xb9}, {value: 0x0014, lo: 0xba, hi: 0xba}, {value: 0x0010, lo: 0xbb, hi: 0xbb}, {value: 0x0034, lo: 0xbc, hi: 0xbc}, {value: 0x0010, lo: 0xbd, hi: 0xbf}, - // Block 0x1c, offset 0xd4 + // Block 0x1c, offset 0xd0 {value: 0x0010, lo: 0x80, hi: 0x80}, {value: 0x0014, lo: 0x81, hi: 0x88}, {value: 0x0010, lo: 0x89, hi: 0x8c}, @@ -830,7 +826,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0xa6, hi: 0xaf}, {value: 0x0014, lo: 0xb1, hi: 0xb1}, {value: 0x0010, lo: 0xb2, hi: 0xbf}, - // Block 0x1d, offset 0xe2 + // Block 0x1d, offset 0xde {value: 0x0010, lo: 0x80, hi: 0x80}, {value: 0x0014, lo: 0x81, hi: 0x81}, {value: 0x0010, lo: 0x82, hi: 0x83}, @@ -842,7 +838,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0xb6, hi: 0xb9}, {value: 0x0034, lo: 0xbc, hi: 0xbc}, {value: 0x0010, lo: 0xbd, hi: 0xbf}, - // Block 0x1e, offset 0xed + // Block 0x1e, offset 0xe9 {value: 0x0010, lo: 0x80, hi: 0x80}, {value: 0x0014, lo: 0x81, hi: 0x84}, {value: 0x0010, lo: 0x87, hi: 0x88}, @@ -854,7 +850,8 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0x9f, hi: 0xa1}, {value: 0x0014, lo: 0xa2, hi: 0xa3}, {value: 0x0010, lo: 0xa6, hi: 0xb1}, - // Block 0x1f, offset 0xf8 + {value: 0x0010, lo: 0xbc, hi: 0xbc}, + // Block 0x1f, offset 0xf5 {value: 0x0014, lo: 0x81, hi: 0x82}, {value: 0x0010, lo: 0x83, hi: 0x83}, {value: 0x0010, lo: 0x85, hi: 0x8a}, @@ -866,7 +863,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0xb8, hi: 0xb9}, {value: 0x0034, lo: 0xbc, hi: 0xbc}, {value: 0x0010, lo: 0xbe, hi: 0xbf}, - // Block 0x20, offset 0x103 + // Block 0x20, offset 0x100 {value: 0x0010, lo: 0x80, hi: 0x80}, {value: 0x0014, lo: 0x81, hi: 0x82}, {value: 0x0014, lo: 0x87, hi: 0x88}, @@ -879,7 +876,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0014, lo: 0xb0, hi: 0xb1}, {value: 0x0010, lo: 0xb2, hi: 0xb4}, {value: 0x0014, lo: 0xb5, hi: 0xb5}, - // Block 0x21, offset 0x10f + // Block 0x21, offset 0x10c {value: 0x0014, lo: 0x81, hi: 0x82}, {value: 0x0010, lo: 0x83, hi: 0x83}, {value: 0x0010, lo: 0x85, hi: 0x8d}, @@ -890,7 +887,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0xb5, hi: 0xb9}, {value: 0x0034, lo: 0xbc, hi: 0xbc}, {value: 0x0010, lo: 0xbd, hi: 0xbf}, - // Block 0x22, offset 0x119 + // Block 0x22, offset 0x116 {value: 0x0010, lo: 0x80, hi: 0x80}, {value: 0x0014, lo: 0x81, hi: 0x85}, {value: 0x0014, lo: 0x87, hi: 0x88}, @@ -902,7 +899,8 @@ var sparseValues = [1360]valueRange{ {value: 0x0014, lo: 0xa2, hi: 0xa3}, {value: 0x0010, lo: 0xa6, hi: 0xaf}, {value: 0x0010, lo: 0xb9, hi: 0xb9}, - // Block 0x23, offset 0x124 + {value: 0x0014, lo: 0xba, hi: 0xbf}, + // Block 0x23, offset 0x122 {value: 0x0014, lo: 0x81, hi: 0x81}, {value: 0x0010, lo: 0x82, hi: 0x83}, {value: 0x0010, lo: 0x85, hi: 0x8c}, @@ -914,7 +912,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0034, lo: 0xbc, hi: 0xbc}, {value: 0x0010, lo: 0xbd, hi: 0xbe}, {value: 0x0014, lo: 0xbf, hi: 0xbf}, - // Block 0x24, offset 0x12f + // Block 0x24, offset 0x12d {value: 0x0010, lo: 0x80, hi: 0x80}, {value: 0x0014, lo: 0x81, hi: 0x84}, {value: 0x0010, lo: 0x87, hi: 0x88}, @@ -927,7 +925,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0014, lo: 0xa2, hi: 0xa3}, {value: 0x0010, lo: 0xa6, hi: 0xaf}, {value: 0x0010, lo: 0xb1, hi: 0xb1}, - // Block 0x25, offset 0x13b + // Block 0x25, offset 0x139 {value: 0x0014, lo: 0x82, hi: 0x82}, {value: 0x0010, lo: 0x83, hi: 0x83}, {value: 0x0010, lo: 0x85, hi: 0x8a}, @@ -940,7 +938,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0xa8, hi: 0xaa}, {value: 0x0010, lo: 0xae, hi: 0xb9}, {value: 0x0010, lo: 0xbe, hi: 0xbf}, - // Block 0x26, offset 0x147 + // Block 0x26, offset 0x145 {value: 0x0014, lo: 0x80, hi: 0x80}, {value: 0x0010, lo: 0x81, hi: 0x82}, {value: 0x0010, lo: 0x86, hi: 0x88}, @@ -949,7 +947,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0x90, hi: 0x90}, {value: 0x0010, lo: 0x97, hi: 0x97}, {value: 0x0010, lo: 0xa6, hi: 0xaf}, - // Block 0x27, offset 0x14f + // Block 0x27, offset 0x14d {value: 0x0014, lo: 0x80, hi: 0x80}, {value: 0x0010, lo: 0x81, hi: 0x83}, {value: 0x0010, lo: 0x85, hi: 0x8c}, @@ -958,7 +956,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0xaa, hi: 0xb9}, {value: 0x0010, lo: 0xbd, hi: 0xbd}, {value: 0x0014, lo: 0xbe, hi: 0xbf}, - // Block 0x28, offset 0x157 + // Block 0x28, offset 0x155 {value: 0x0014, lo: 0x80, hi: 0x80}, {value: 0x0010, lo: 0x81, hi: 0x84}, {value: 0x0014, lo: 0x86, hi: 0x88}, @@ -969,7 +967,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0xa0, hi: 0xa1}, {value: 0x0014, lo: 0xa2, hi: 0xa3}, {value: 0x0010, lo: 0xa6, hi: 0xaf}, - // Block 0x29, offset 0x161 + // Block 0x29, offset 0x15f {value: 0x0010, lo: 0x80, hi: 0x80}, {value: 0x0014, lo: 0x81, hi: 0x81}, {value: 0x0010, lo: 0x82, hi: 0x83}, @@ -981,7 +979,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0034, lo: 0xbc, hi: 0xbc}, {value: 0x0010, lo: 0xbd, hi: 0xbe}, {value: 0x0014, lo: 0xbf, hi: 0xbf}, - // Block 0x2a, offset 0x16c + // Block 0x2a, offset 0x16a {value: 0x0010, lo: 0x80, hi: 0x84}, {value: 0x0014, lo: 0x86, hi: 0x86}, {value: 0x0010, lo: 0x87, hi: 0x88}, @@ -994,14 +992,15 @@ var sparseValues = [1360]valueRange{ {value: 0x0014, lo: 0xa2, hi: 0xa3}, {value: 0x0010, lo: 0xa6, hi: 0xaf}, {value: 0x0010, lo: 0xb1, hi: 0xb2}, - // Block 0x2b, offset 0x178 - {value: 0x0014, lo: 0x81, hi: 0x81}, + // Block 0x2b, offset 0x176 + {value: 0x0014, lo: 0x80, hi: 0x81}, {value: 0x0010, lo: 0x82, hi: 0x83}, {value: 0x0010, lo: 0x85, hi: 0x8c}, {value: 0x0010, lo: 0x8e, hi: 0x90}, {value: 0x0010, lo: 0x92, hi: 0xba}, + {value: 0x0034, lo: 0xbb, hi: 0xbc}, {value: 0x0010, lo: 0xbd, hi: 0xbf}, - // Block 0x2c, offset 0x17e + // Block 0x2c, offset 0x17d {value: 0x0010, lo: 0x80, hi: 0x80}, {value: 0x0014, lo: 0x81, hi: 0x84}, {value: 0x0010, lo: 0x86, hi: 0x88}, @@ -1013,13 +1012,13 @@ var sparseValues = [1360]valueRange{ {value: 0x0014, lo: 0xa2, hi: 0xa3}, {value: 0x0010, lo: 0xa6, hi: 0xaf}, {value: 0x0010, lo: 0xba, hi: 0xbf}, - // Block 0x2d, offset 0x189 + // Block 0x2d, offset 0x188 {value: 0x0010, lo: 0x82, hi: 0x83}, {value: 0x0010, lo: 0x85, hi: 0x96}, {value: 0x0010, lo: 0x9a, hi: 0xb1}, {value: 0x0010, lo: 0xb3, hi: 0xbb}, {value: 0x0010, lo: 0xbd, hi: 0xbd}, - // Block 0x2e, offset 0x18e + // Block 0x2e, offset 0x18d {value: 0x0010, lo: 0x80, hi: 0x86}, {value: 0x0034, lo: 0x8a, hi: 0x8a}, {value: 0x0010, lo: 0x8f, hi: 0x91}, @@ -1028,27 +1027,27 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0x98, hi: 0x9f}, {value: 0x0010, lo: 0xa6, hi: 0xaf}, {value: 0x0010, lo: 0xb2, hi: 0xb3}, - // Block 0x2f, offset 0x196 + // Block 0x2f, offset 0x195 {value: 0x0014, lo: 0xb1, hi: 0xb1}, {value: 0x0014, lo: 0xb4, hi: 0xb7}, {value: 0x0034, lo: 0xb8, hi: 0xba}, - // Block 0x30, offset 0x199 + // Block 0x30, offset 0x198 {value: 0x0004, lo: 0x86, hi: 0x86}, {value: 0x0014, lo: 0x87, hi: 0x87}, {value: 0x0034, lo: 0x88, hi: 0x8b}, {value: 0x0014, lo: 0x8c, hi: 0x8e}, {value: 0x0010, lo: 0x90, hi: 0x99}, - // Block 0x31, offset 0x19e + // Block 0x31, offset 0x19d {value: 0x0014, lo: 0xb1, hi: 0xb1}, {value: 0x0014, lo: 0xb4, hi: 0xb7}, {value: 0x0034, lo: 0xb8, hi: 0xb9}, {value: 0x0014, lo: 0xbb, hi: 0xbc}, - // Block 0x32, offset 0x1a2 + // Block 0x32, offset 0x1a1 {value: 0x0004, lo: 0x86, hi: 0x86}, {value: 0x0034, lo: 0x88, hi: 0x8b}, {value: 0x0014, lo: 0x8c, hi: 0x8d}, {value: 0x0010, lo: 0x90, hi: 0x99}, - // Block 0x33, offset 0x1a6 + // Block 0x33, offset 0x1a5 {value: 0x0010, lo: 0x80, hi: 0x80}, {value: 0x0034, lo: 0x98, hi: 0x99}, {value: 0x0010, lo: 0xa0, hi: 0xa9}, @@ -1056,7 +1055,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0034, lo: 0xb7, hi: 0xb7}, {value: 0x0034, lo: 0xb9, hi: 0xb9}, {value: 0x0010, lo: 0xbe, hi: 0xbf}, - // Block 0x34, offset 0x1ad + // Block 0x34, offset 0x1ac {value: 0x0010, lo: 0x80, hi: 0x87}, {value: 0x0010, lo: 0x89, hi: 0xac}, {value: 0x0034, lo: 0xb1, hi: 0xb2}, @@ -1066,7 +1065,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0034, lo: 0xba, hi: 0xbd}, {value: 0x0014, lo: 0xbe, hi: 0xbe}, {value: 0x0010, lo: 0xbf, hi: 0xbf}, - // Block 0x35, offset 0x1b6 + // Block 0x35, offset 0x1b5 {value: 0x0034, lo: 0x80, hi: 0x80}, {value: 0x0014, lo: 0x81, hi: 0x81}, {value: 0x0024, lo: 0x82, hi: 0x83}, @@ -1075,9 +1074,9 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0x88, hi: 0x8c}, {value: 0x0014, lo: 0x8d, hi: 0x97}, {value: 0x0014, lo: 0x99, hi: 0xbc}, - // Block 0x36, offset 0x1be + // Block 0x36, offset 0x1bd {value: 0x0034, lo: 0x86, hi: 0x86}, - // Block 0x37, offset 0x1bf + // Block 0x37, offset 0x1be {value: 0x0010, lo: 0xab, hi: 0xac}, {value: 0x0014, lo: 0xad, hi: 0xb0}, {value: 0x0010, lo: 0xb1, hi: 0xb1}, @@ -1087,7 +1086,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0034, lo: 0xb9, hi: 0xba}, {value: 0x0010, lo: 0xbb, hi: 0xbc}, {value: 0x0014, lo: 0xbd, hi: 0xbe}, - // Block 0x38, offset 0x1c8 + // Block 0x38, offset 0x1c7 {value: 0x0010, lo: 0x80, hi: 0x89}, {value: 0x0010, lo: 0x96, hi: 0x97}, {value: 0x0014, lo: 0x98, hi: 0x99}, @@ -1095,7 +1094,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0xa2, hi: 0xa4}, {value: 0x0010, lo: 0xa7, hi: 0xad}, {value: 0x0014, lo: 0xb1, hi: 0xb4}, - // Block 0x39, offset 0x1cf + // Block 0x39, offset 0x1ce {value: 0x0014, lo: 0x82, hi: 0x82}, {value: 0x0010, lo: 0x83, hi: 0x84}, {value: 0x0014, lo: 0x85, hi: 0x86}, @@ -1104,60 +1103,60 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0x8f, hi: 0x9c}, {value: 0x0014, lo: 0x9d, hi: 0x9d}, {value: 0x6c53, lo: 0xa0, hi: 0xbf}, - // Block 0x3a, offset 0x1d7 + // Block 0x3a, offset 0x1d6 {value: 0x7053, lo: 0x80, hi: 0x85}, {value: 0x7053, lo: 0x87, hi: 0x87}, {value: 0x7053, lo: 0x8d, hi: 0x8d}, {value: 0x0010, lo: 0x90, hi: 0xba}, {value: 0x0014, lo: 0xbc, hi: 0xbc}, {value: 0x0010, lo: 0xbd, hi: 0xbf}, - // Block 0x3b, offset 0x1dd + // Block 0x3b, offset 0x1dc {value: 0x0010, lo: 0x80, hi: 0x88}, {value: 0x0010, lo: 0x8a, hi: 0x8d}, {value: 0x0010, lo: 0x90, hi: 0x96}, {value: 0x0010, lo: 0x98, hi: 0x98}, {value: 0x0010, lo: 0x9a, hi: 0x9d}, {value: 0x0010, lo: 0xa0, hi: 0xbf}, - // Block 0x3c, offset 0x1e3 + // Block 0x3c, offset 0x1e2 {value: 0x0010, lo: 0x80, hi: 0x88}, {value: 0x0010, lo: 0x8a, hi: 0x8d}, {value: 0x0010, lo: 0x90, hi: 0xb0}, {value: 0x0010, lo: 0xb2, hi: 0xb5}, {value: 0x0010, lo: 0xb8, hi: 0xbe}, - // Block 0x3d, offset 0x1e8 + // Block 0x3d, offset 0x1e7 {value: 0x0010, lo: 0x80, hi: 0x80}, {value: 0x0010, lo: 0x82, hi: 0x85}, {value: 0x0010, lo: 0x88, hi: 0x96}, {value: 0x0010, lo: 0x98, hi: 0xbf}, - // Block 0x3e, offset 0x1ec + // Block 0x3e, offset 0x1eb {value: 0x0010, lo: 0x80, hi: 0x90}, {value: 0x0010, lo: 0x92, hi: 0x95}, {value: 0x0010, lo: 0x98, hi: 0xbf}, - // Block 0x3f, offset 0x1ef + // Block 0x3f, offset 0x1ee {value: 0x0010, lo: 0x80, hi: 0x9a}, {value: 0x0024, lo: 0x9d, hi: 0x9f}, - // Block 0x40, offset 0x1f1 + // Block 0x40, offset 0x1f0 {value: 0x0010, lo: 0x80, hi: 0x8f}, {value: 0x7453, lo: 0xa0, hi: 0xaf}, {value: 0x7853, lo: 0xb0, hi: 0xbf}, - // Block 0x41, offset 0x1f4 + // Block 0x41, offset 0x1f3 {value: 0x7c53, lo: 0x80, hi: 0x8f}, {value: 0x8053, lo: 0x90, hi: 0x9f}, {value: 0x7c53, lo: 0xa0, hi: 0xaf}, {value: 0x0813, lo: 0xb0, hi: 0xb5}, {value: 0x0892, lo: 0xb8, hi: 0xbd}, - // Block 0x42, offset 0x1f9 + // Block 0x42, offset 0x1f8 {value: 0x0010, lo: 0x81, hi: 0xbf}, - // Block 0x43, offset 0x1fa + // Block 0x43, offset 0x1f9 {value: 0x0010, lo: 0x80, hi: 0xac}, {value: 0x0010, lo: 0xaf, hi: 0xbf}, - // Block 0x44, offset 0x1fc + // Block 0x44, offset 0x1fb {value: 0x0010, lo: 0x81, hi: 0x9a}, {value: 0x0010, lo: 0xa0, hi: 0xbf}, - // Block 0x45, offset 0x1fe + // Block 0x45, offset 0x1fd {value: 0x0010, lo: 0x80, hi: 0xaa}, {value: 0x0010, lo: 0xae, hi: 0xb8}, - // Block 0x46, offset 0x200 + // Block 0x46, offset 0x1ff {value: 0x0010, lo: 0x80, hi: 0x8c}, {value: 0x0010, lo: 0x8e, hi: 0x91}, {value: 0x0014, lo: 0x92, hi: 0x93}, @@ -1165,18 +1164,18 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0xa0, hi: 0xb1}, {value: 0x0014, lo: 0xb2, hi: 0xb3}, {value: 0x0034, lo: 0xb4, hi: 0xb4}, - // Block 0x47, offset 0x207 + // Block 0x47, offset 0x206 {value: 0x0010, lo: 0x80, hi: 0x91}, {value: 0x0014, lo: 0x92, hi: 0x93}, {value: 0x0010, lo: 0xa0, hi: 0xac}, {value: 0x0010, lo: 0xae, hi: 0xb0}, {value: 0x0014, lo: 0xb2, hi: 0xb3}, - // Block 0x48, offset 0x20c + // Block 0x48, offset 0x20b {value: 0x0014, lo: 0xb4, hi: 0xb5}, {value: 0x0010, lo: 0xb6, hi: 0xb6}, {value: 0x0014, lo: 0xb7, hi: 0xbd}, {value: 0x0010, lo: 0xbe, hi: 0xbf}, - // Block 0x49, offset 0x210 + // Block 0x49, offset 0x20f {value: 0x0010, lo: 0x80, hi: 0x85}, {value: 0x0014, lo: 0x86, hi: 0x86}, {value: 0x0010, lo: 0x87, hi: 0x88}, @@ -1186,24 +1185,24 @@ var sparseValues = [1360]valueRange{ {value: 0x0004, lo: 0x97, hi: 0x97}, {value: 0x0024, lo: 0x9d, hi: 0x9d}, {value: 0x0010, lo: 0xa0, hi: 0xa9}, - // Block 0x4a, offset 0x219 + // Block 0x4a, offset 0x218 {value: 0x0014, lo: 0x8b, hi: 0x8e}, {value: 0x0010, lo: 0x90, hi: 0x99}, {value: 0x0010, lo: 0xa0, hi: 0xbf}, - // Block 0x4b, offset 0x21c + // Block 0x4b, offset 0x21b {value: 0x0010, lo: 0x80, hi: 0x82}, {value: 0x0014, lo: 0x83, hi: 0x83}, {value: 0x0010, lo: 0x84, hi: 0xb7}, - // Block 0x4c, offset 0x21f + // Block 0x4c, offset 0x21e {value: 0x0010, lo: 0x80, hi: 0x84}, {value: 0x0014, lo: 0x85, hi: 0x86}, {value: 0x0010, lo: 0x87, hi: 0xa8}, {value: 0x0034, lo: 0xa9, hi: 0xa9}, {value: 0x0010, lo: 0xaa, hi: 0xaa}, {value: 0x0010, lo: 0xb0, hi: 0xbf}, - // Block 0x4d, offset 0x225 + // Block 0x4d, offset 0x224 {value: 0x0010, lo: 0x80, hi: 0xb5}, - // Block 0x4e, offset 0x226 + // Block 0x4e, offset 0x225 {value: 0x0010, lo: 0x80, hi: 0x9e}, {value: 0x0014, lo: 0xa0, hi: 0xa2}, {value: 0x0010, lo: 0xa3, hi: 0xa6}, @@ -1215,17 +1214,17 @@ var sparseValues = [1360]valueRange{ {value: 0x0034, lo: 0xb9, hi: 0xb9}, {value: 0x0024, lo: 0xba, hi: 0xba}, {value: 0x0034, lo: 0xbb, hi: 0xbb}, - // Block 0x4f, offset 0x231 + // Block 0x4f, offset 0x230 {value: 0x0010, lo: 0x86, hi: 0x8f}, - // Block 0x50, offset 0x232 + // Block 0x50, offset 0x231 {value: 0x0010, lo: 0x90, hi: 0x99}, - // Block 0x51, offset 0x233 + // Block 0x51, offset 0x232 {value: 0x0010, lo: 0x80, hi: 0x96}, {value: 0x0024, lo: 0x97, hi: 0x97}, {value: 0x0034, lo: 0x98, hi: 0x98}, {value: 0x0010, lo: 0x99, hi: 0x9a}, {value: 0x0014, lo: 0x9b, hi: 0x9b}, - // Block 0x52, offset 0x238 + // Block 0x52, offset 0x237 {value: 0x0010, lo: 0x95, hi: 0x95}, {value: 0x0014, lo: 0x96, hi: 0x96}, {value: 0x0010, lo: 0x97, hi: 0x97}, @@ -1239,7 +1238,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0014, lo: 0xb3, hi: 0xb4}, {value: 0x0024, lo: 0xb5, hi: 0xbc}, {value: 0x0034, lo: 0xbf, hi: 0xbf}, - // Block 0x53, offset 0x245 + // Block 0x53, offset 0x244 {value: 0x0010, lo: 0x80, hi: 0x89}, {value: 0x0010, lo: 0x90, hi: 0x99}, {value: 0x0004, lo: 0xa7, hi: 0xa7}, @@ -1248,7 +1247,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0024, lo: 0xbb, hi: 0xbc}, {value: 0x0034, lo: 0xbd, hi: 0xbd}, {value: 0x0014, lo: 0xbe, hi: 0xbe}, - // Block 0x54, offset 0x24d + // Block 0x54, offset 0x24c {value: 0x0014, lo: 0x80, hi: 0x83}, {value: 0x0010, lo: 0x84, hi: 0xb3}, {value: 0x0034, lo: 0xb4, hi: 0xb4}, @@ -1257,7 +1256,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0xbb, hi: 0xbb}, {value: 0x0014, lo: 0xbc, hi: 0xbc}, {value: 0x0010, lo: 0xbd, hi: 0xbf}, - // Block 0x55, offset 0x255 + // Block 0x55, offset 0x254 {value: 0x0010, lo: 0x80, hi: 0x81}, {value: 0x0014, lo: 0x82, hi: 0x82}, {value: 0x0010, lo: 0x83, hi: 0x83}, @@ -1267,7 +1266,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0024, lo: 0xab, hi: 0xab}, {value: 0x0034, lo: 0xac, hi: 0xac}, {value: 0x0024, lo: 0xad, hi: 0xb3}, - // Block 0x56, offset 0x25e + // Block 0x56, offset 0x25d {value: 0x0014, lo: 0x80, hi: 0x81}, {value: 0x0010, lo: 0x82, hi: 0xa1}, {value: 0x0014, lo: 0xa2, hi: 0xa5}, @@ -1277,7 +1276,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0034, lo: 0xab, hi: 0xab}, {value: 0x0014, lo: 0xac, hi: 0xad}, {value: 0x0010, lo: 0xae, hi: 0xbf}, - // Block 0x57, offset 0x267 + // Block 0x57, offset 0x266 {value: 0x0010, lo: 0x80, hi: 0xa5}, {value: 0x0034, lo: 0xa6, hi: 0xa6}, {value: 0x0010, lo: 0xa7, hi: 0xa7}, @@ -1287,17 +1286,17 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0xae, hi: 0xae}, {value: 0x0014, lo: 0xaf, hi: 0xb1}, {value: 0x0030, lo: 0xb2, hi: 0xb3}, - // Block 0x58, offset 0x270 + // Block 0x58, offset 0x26f {value: 0x0010, lo: 0x80, hi: 0xab}, {value: 0x0014, lo: 0xac, hi: 0xb3}, {value: 0x0010, lo: 0xb4, hi: 0xb5}, {value: 0x0014, lo: 0xb6, hi: 0xb6}, {value: 0x0034, lo: 0xb7, hi: 0xb7}, - // Block 0x59, offset 0x275 + // Block 0x59, offset 0x274 {value: 0x0010, lo: 0x80, hi: 0x89}, {value: 0x0010, lo: 0x8d, hi: 0xb7}, {value: 0x0014, lo: 0xb8, hi: 0xbd}, - // Block 0x5a, offset 0x278 + // Block 0x5a, offset 0x277 {value: 0x296a, lo: 0x80, hi: 0x80}, {value: 0x2a2a, lo: 0x81, hi: 0x81}, {value: 0x2aea, lo: 0x82, hi: 0x82}, @@ -1307,7 +1306,7 @@ var sparseValues = [1360]valueRange{ {value: 0x2dea, lo: 0x86, hi: 0x86}, {value: 0x2eaa, lo: 0x87, hi: 0x87}, {value: 0x2f6a, lo: 0x88, hi: 0x88}, - // Block 0x5b, offset 0x281 + // Block 0x5b, offset 0x280 {value: 0x0024, lo: 0x90, hi: 0x92}, {value: 0x0034, lo: 0x94, hi: 0x99}, {value: 0x0024, lo: 0x9a, hi: 0x9b}, @@ -1319,12 +1318,12 @@ var sparseValues = [1360]valueRange{ {value: 0x0034, lo: 0xad, hi: 0xad}, {value: 0x0010, lo: 0xae, hi: 0xb3}, {value: 0x0024, lo: 0xb4, hi: 0xb4}, - {value: 0x0010, lo: 0xb5, hi: 0xb6}, + {value: 0x0010, lo: 0xb5, hi: 0xb7}, {value: 0x0024, lo: 0xb8, hi: 0xb9}, - // Block 0x5c, offset 0x28e + // Block 0x5c, offset 0x28d {value: 0x0012, lo: 0x80, hi: 0xab}, {value: 0x0015, lo: 0xac, hi: 0xbf}, - // Block 0x5d, offset 0x290 + // Block 0x5d, offset 0x28f {value: 0x0015, lo: 0x80, hi: 0xaa}, {value: 0x0012, lo: 0xab, hi: 0xb7}, {value: 0x0015, lo: 0xb8, hi: 0xb8}, @@ -1332,10 +1331,10 @@ var sparseValues = [1360]valueRange{ {value: 0x0012, lo: 0xba, hi: 0xbc}, {value: 0x8852, lo: 0xbd, hi: 0xbd}, {value: 0x0012, lo: 0xbe, hi: 0xbf}, - // Block 0x5e, offset 0x297 + // Block 0x5e, offset 0x296 {value: 0x0012, lo: 0x80, hi: 0x9a}, {value: 0x0015, lo: 0x9b, hi: 0xbf}, - // Block 0x5f, offset 0x299 + // Block 0x5f, offset 0x298 {value: 0x0024, lo: 0x80, hi: 0x81}, {value: 0x0034, lo: 0x82, hi: 0x82}, {value: 0x0024, lo: 0x83, hi: 0x89}, @@ -1343,6 +1342,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0024, lo: 0x8b, hi: 0x8c}, {value: 0x0034, lo: 0x8d, hi: 0x90}, {value: 0x0024, lo: 0x91, hi: 0xb5}, + {value: 0x0034, lo: 0xb6, hi: 0xb9}, {value: 0x0024, lo: 0xbb, hi: 0xbb}, {value: 0x0034, lo: 0xbc, hi: 0xbd}, {value: 0x0024, lo: 0xbe, hi: 0xbe}, @@ -1468,7 +1468,7 @@ var sparseValues = [1360]valueRange{ // Block 0x73, offset 0x307 {value: 0x0004, lo: 0xbc, hi: 0xbe}, // Block 0x74, offset 0x308 - {value: 0x0010, lo: 0x85, hi: 0xad}, + {value: 0x0010, lo: 0x85, hi: 0xae}, {value: 0x0010, lo: 0xb1, hi: 0xbf}, // Block 0x75, offset 0x30a {value: 0x0010, lo: 0x80, hi: 0x8e}, @@ -1503,12 +1503,11 @@ var sparseValues = [1360]valueRange{ {value: 0x0024, lo: 0xb0, hi: 0xb1}, // Block 0x7d, offset 0x321 {value: 0x0004, lo: 0x80, hi: 0x96}, - {value: 0x0014, lo: 0x97, hi: 0x9f}, - {value: 0x0004, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0x97, hi: 0xa1}, {value: 0x0117, lo: 0xa2, hi: 0xaf}, {value: 0x0012, lo: 0xb0, hi: 0xb1}, {value: 0x0117, lo: 0xb2, hi: 0xbf}, - // Block 0x7e, offset 0x327 + // Block 0x7e, offset 0x326 {value: 0x0117, lo: 0x80, hi: 0xaf}, {value: 0x0015, lo: 0xb0, hi: 0xb0}, {value: 0x0012, lo: 0xb1, hi: 0xb8}, @@ -1516,12 +1515,12 @@ var sparseValues = [1360]valueRange{ {value: 0x0716, lo: 0xbb, hi: 0xbc}, {value: 0x8453, lo: 0xbd, hi: 0xbd}, {value: 0x0117, lo: 0xbe, hi: 0xbf}, - // Block 0x7f, offset 0x32e + // Block 0x7f, offset 0x32d {value: 0x0010, lo: 0xb7, hi: 0xb7}, {value: 0x0015, lo: 0xb8, hi: 0xb9}, {value: 0x0012, lo: 0xba, hi: 0xba}, {value: 0x0010, lo: 0xbb, hi: 0xbf}, - // Block 0x80, offset 0x332 + // Block 0x80, offset 0x331 {value: 0x0010, lo: 0x80, hi: 0x81}, {value: 0x0014, lo: 0x82, hi: 0x82}, {value: 0x0010, lo: 0x83, hi: 0x85}, @@ -1531,9 +1530,9 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0x8c, hi: 0xa4}, {value: 0x0014, lo: 0xa5, hi: 0xa6}, {value: 0x0010, lo: 0xa7, hi: 0xa7}, - // Block 0x81, offset 0x33b + // Block 0x81, offset 0x33a {value: 0x0010, lo: 0x80, hi: 0xb3}, - // Block 0x82, offset 0x33c + // Block 0x82, offset 0x33b {value: 0x0010, lo: 0x80, hi: 0x83}, {value: 0x0034, lo: 0x84, hi: 0x84}, {value: 0x0014, lo: 0x85, hi: 0x85}, @@ -1542,18 +1541,18 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0xb2, hi: 0xb7}, {value: 0x0010, lo: 0xbb, hi: 0xbb}, {value: 0x0010, lo: 0xbd, hi: 0xbd}, - // Block 0x83, offset 0x344 + // Block 0x83, offset 0x343 {value: 0x0010, lo: 0x80, hi: 0xa5}, {value: 0x0014, lo: 0xa6, hi: 0xaa}, {value: 0x0034, lo: 0xab, hi: 0xad}, {value: 0x0010, lo: 0xb0, hi: 0xbf}, - // Block 0x84, offset 0x348 + // Block 0x84, offset 0x347 {value: 0x0010, lo: 0x80, hi: 0x86}, {value: 0x0014, lo: 0x87, hi: 0x91}, {value: 0x0010, lo: 0x92, hi: 0x92}, {value: 0x0030, lo: 0x93, hi: 0x93}, {value: 0x0010, lo: 0xa0, hi: 0xbc}, - // Block 0x85, offset 0x34d + // Block 0x85, offset 0x34c {value: 0x0014, lo: 0x80, hi: 0x82}, {value: 0x0010, lo: 0x83, hi: 0xb2}, {value: 0x0034, lo: 0xb3, hi: 0xb3}, @@ -1562,21 +1561,21 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0xba, hi: 0xbb}, {value: 0x0014, lo: 0xbc, hi: 0xbc}, {value: 0x0010, lo: 0xbd, hi: 0xbf}, - // Block 0x86, offset 0x355 + // Block 0x86, offset 0x354 {value: 0x0030, lo: 0x80, hi: 0x80}, {value: 0x0014, lo: 0x8f, hi: 0x8f}, {value: 0x0010, lo: 0x90, hi: 0x99}, {value: 0x0014, lo: 0xa5, hi: 0xa5}, {value: 0x0004, lo: 0xa6, hi: 0xa6}, {value: 0x0010, lo: 0xb0, hi: 0xb9}, - // Block 0x87, offset 0x35b + // Block 0x87, offset 0x35a {value: 0x0010, lo: 0x80, hi: 0xa8}, {value: 0x0014, lo: 0xa9, hi: 0xae}, {value: 0x0010, lo: 0xaf, hi: 0xb0}, {value: 0x0014, lo: 0xb1, hi: 0xb2}, {value: 0x0010, lo: 0xb3, hi: 0xb4}, {value: 0x0014, lo: 0xb5, hi: 0xb6}, - // Block 0x88, offset 0x361 + // Block 0x88, offset 0x360 {value: 0x0010, lo: 0x80, hi: 0x82}, {value: 0x0014, lo: 0x83, hi: 0x83}, {value: 0x0010, lo: 0x84, hi: 0x8b}, @@ -1587,13 +1586,13 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0xbb, hi: 0xbb}, {value: 0x0014, lo: 0xbc, hi: 0xbc}, {value: 0x0010, lo: 0xbd, hi: 0xbd}, - // Block 0x89, offset 0x36b + // Block 0x89, offset 0x36a {value: 0x0024, lo: 0xb0, hi: 0xb0}, {value: 0x0024, lo: 0xb2, hi: 0xb3}, {value: 0x0034, lo: 0xb4, hi: 0xb4}, {value: 0x0024, lo: 0xb7, hi: 0xb8}, {value: 0x0024, lo: 0xbe, hi: 0xbf}, - // Block 0x8a, offset 0x370 + // Block 0x8a, offset 0x36f {value: 0x0024, lo: 0x81, hi: 0x81}, {value: 0x0004, lo: 0x9d, hi: 0x9d}, {value: 0x0010, lo: 0xa0, hi: 0xab}, @@ -1603,27 +1602,27 @@ var sparseValues = [1360]valueRange{ {value: 0x0014, lo: 0xb3, hi: 0xb4}, {value: 0x0010, lo: 0xb5, hi: 0xb5}, {value: 0x0034, lo: 0xb6, hi: 0xb6}, - // Block 0x8b, offset 0x379 + // Block 0x8b, offset 0x378 {value: 0x0010, lo: 0x81, hi: 0x86}, {value: 0x0010, lo: 0x89, hi: 0x8e}, {value: 0x0010, lo: 0x91, hi: 0x96}, {value: 0x0010, lo: 0xa0, hi: 0xa6}, {value: 0x0010, lo: 0xa8, hi: 0xae}, {value: 0x0012, lo: 0xb0, hi: 0xbf}, - // Block 0x8c, offset 0x37f + // Block 0x8c, offset 0x37e {value: 0x0012, lo: 0x80, hi: 0x92}, {value: 0xac52, lo: 0x93, hi: 0x93}, {value: 0x0012, lo: 0x94, hi: 0x9a}, - {value: 0x0004, lo: 0x9b, hi: 0x9b}, + {value: 0x0014, lo: 0x9b, hi: 0x9b}, {value: 0x0015, lo: 0x9c, hi: 0x9f}, {value: 0x0012, lo: 0xa0, hi: 0xa5}, {value: 0x74d2, lo: 0xb0, hi: 0xbf}, - // Block 0x8d, offset 0x386 + // Block 0x8d, offset 0x385 {value: 0x78d2, lo: 0x80, hi: 0x8f}, {value: 0x7cd2, lo: 0x90, hi: 0x9f}, {value: 0x80d2, lo: 0xa0, hi: 0xaf}, {value: 0x7cd2, lo: 0xb0, hi: 0xbf}, - // Block 0x8e, offset 0x38a + // Block 0x8e, offset 0x389 {value: 0x0010, lo: 0x80, hi: 0xa4}, {value: 0x0014, lo: 0xa5, hi: 0xa5}, {value: 0x0010, lo: 0xa6, hi: 0xa7}, @@ -1632,105 +1631,105 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0xac, hi: 0xac}, {value: 0x0034, lo: 0xad, hi: 0xad}, {value: 0x0010, lo: 0xb0, hi: 0xb9}, - // Block 0x8f, offset 0x392 + // Block 0x8f, offset 0x391 {value: 0x0010, lo: 0x80, hi: 0xa3}, {value: 0x0010, lo: 0xb0, hi: 0xbf}, - // Block 0x90, offset 0x394 + // Block 0x90, offset 0x393 {value: 0x0010, lo: 0x80, hi: 0x86}, {value: 0x0010, lo: 0x8b, hi: 0xbb}, - // Block 0x91, offset 0x396 + // Block 0x91, offset 0x395 {value: 0x0010, lo: 0x80, hi: 0x81}, {value: 0x0010, lo: 0x83, hi: 0x84}, {value: 0x0010, lo: 0x86, hi: 0xbf}, - // Block 0x92, offset 0x399 + // Block 0x92, offset 0x398 {value: 0x0010, lo: 0x80, hi: 0xb1}, {value: 0x0004, lo: 0xb2, hi: 0xbf}, - // Block 0x93, offset 0x39b + // Block 0x93, offset 0x39a {value: 0x0004, lo: 0x80, hi: 0x81}, {value: 0x0010, lo: 0x93, hi: 0xbf}, - // Block 0x94, offset 0x39d + // Block 0x94, offset 0x39c {value: 0x0010, lo: 0x80, hi: 0xbd}, - // Block 0x95, offset 0x39e + // Block 0x95, offset 0x39d {value: 0x0010, lo: 0x90, hi: 0xbf}, - // Block 0x96, offset 0x39f + // Block 0x96, offset 0x39e {value: 0x0010, lo: 0x80, hi: 0x8f}, {value: 0x0010, lo: 0x92, hi: 0xbf}, - // Block 0x97, offset 0x3a1 + // Block 0x97, offset 0x3a0 {value: 0x0010, lo: 0x80, hi: 0x87}, {value: 0x0010, lo: 0xb0, hi: 0xbb}, - // Block 0x98, offset 0x3a3 + // Block 0x98, offset 0x3a2 {value: 0x0014, lo: 0x80, hi: 0x8f}, {value: 0x0054, lo: 0x93, hi: 0x93}, {value: 0x0024, lo: 0xa0, hi: 0xa6}, {value: 0x0034, lo: 0xa7, hi: 0xad}, {value: 0x0024, lo: 0xae, hi: 0xaf}, {value: 0x0010, lo: 0xb3, hi: 0xb4}, - // Block 0x99, offset 0x3a9 + // Block 0x99, offset 0x3a8 {value: 0x0010, lo: 0x8d, hi: 0x8f}, {value: 0x0054, lo: 0x92, hi: 0x92}, {value: 0x0054, lo: 0x95, hi: 0x95}, {value: 0x0010, lo: 0xb0, hi: 0xb4}, {value: 0x0010, lo: 0xb6, hi: 0xbf}, - // Block 0x9a, offset 0x3ae + // Block 0x9a, offset 0x3ad {value: 0x0010, lo: 0x80, hi: 0xbc}, {value: 0x0014, lo: 0xbf, hi: 0xbf}, - // Block 0x9b, offset 0x3b0 + // Block 0x9b, offset 0x3af {value: 0x0054, lo: 0x87, hi: 0x87}, {value: 0x0054, lo: 0x8e, hi: 0x8e}, {value: 0x0054, lo: 0x9a, hi: 0x9a}, {value: 0x5f53, lo: 0xa1, hi: 0xba}, {value: 0x0004, lo: 0xbe, hi: 0xbe}, {value: 0x0010, lo: 0xbf, hi: 0xbf}, - // Block 0x9c, offset 0x3b6 + // Block 0x9c, offset 0x3b5 {value: 0x0004, lo: 0x80, hi: 0x80}, {value: 0x5f52, lo: 0x81, hi: 0x9a}, {value: 0x0004, lo: 0xb0, hi: 0xb0}, - // Block 0x9d, offset 0x3b9 + // Block 0x9d, offset 0x3b8 {value: 0x0014, lo: 0x9e, hi: 0x9f}, {value: 0x0010, lo: 0xa0, hi: 0xbe}, - // Block 0x9e, offset 0x3bb + // Block 0x9e, offset 0x3ba {value: 0x0010, lo: 0x82, hi: 0x87}, {value: 0x0010, lo: 0x8a, hi: 0x8f}, {value: 0x0010, lo: 0x92, hi: 0x97}, {value: 0x0010, lo: 0x9a, hi: 0x9c}, {value: 0x0004, lo: 0xa3, hi: 0xa3}, {value: 0x0014, lo: 0xb9, hi: 0xbb}, - // Block 0x9f, offset 0x3c1 + // Block 0x9f, offset 0x3c0 {value: 0x0010, lo: 0x80, hi: 0x8b}, {value: 0x0010, lo: 0x8d, hi: 0xa6}, {value: 0x0010, lo: 0xa8, hi: 0xba}, {value: 0x0010, lo: 0xbc, hi: 0xbd}, {value: 0x0010, lo: 0xbf, hi: 0xbf}, - // Block 0xa0, offset 0x3c6 + // Block 0xa0, offset 0x3c5 {value: 0x0010, lo: 0x80, hi: 0x8d}, {value: 0x0010, lo: 0x90, hi: 0x9d}, - // Block 0xa1, offset 0x3c8 + // Block 0xa1, offset 0x3c7 {value: 0x0010, lo: 0x80, hi: 0xba}, - // Block 0xa2, offset 0x3c9 + // Block 0xa2, offset 0x3c8 {value: 0x0010, lo: 0x80, hi: 0xb4}, - // Block 0xa3, offset 0x3ca + // Block 0xa3, offset 0x3c9 {value: 0x0034, lo: 0xbd, hi: 0xbd}, - // Block 0xa4, offset 0x3cb + // Block 0xa4, offset 0x3ca {value: 0x0010, lo: 0x80, hi: 0x9c}, {value: 0x0010, lo: 0xa0, hi: 0xbf}, - // Block 0xa5, offset 0x3cd + // Block 0xa5, offset 0x3cc {value: 0x0010, lo: 0x80, hi: 0x90}, {value: 0x0034, lo: 0xa0, hi: 0xa0}, - // Block 0xa6, offset 0x3cf + // Block 0xa6, offset 0x3ce {value: 0x0010, lo: 0x80, hi: 0x9f}, - {value: 0x0010, lo: 0xb0, hi: 0xbf}, - // Block 0xa7, offset 0x3d1 + {value: 0x0010, lo: 0xad, hi: 0xbf}, + // Block 0xa7, offset 0x3d0 {value: 0x0010, lo: 0x80, hi: 0x8a}, {value: 0x0010, lo: 0x90, hi: 0xb5}, {value: 0x0024, lo: 0xb6, hi: 0xba}, - // Block 0xa8, offset 0x3d4 + // Block 0xa8, offset 0x3d3 {value: 0x0010, lo: 0x80, hi: 0x9d}, {value: 0x0010, lo: 0xa0, hi: 0xbf}, - // Block 0xa9, offset 0x3d6 + // Block 0xa9, offset 0x3d5 {value: 0x0010, lo: 0x80, hi: 0x83}, {value: 0x0010, lo: 0x88, hi: 0x8f}, {value: 0x0010, lo: 0x91, hi: 0x95}, - // Block 0xaa, offset 0x3d9 + // Block 0xaa, offset 0x3d8 {value: 0x2813, lo: 0x80, hi: 0x87}, {value: 0x3813, lo: 0x88, hi: 0x8f}, {value: 0x2813, lo: 0x90, hi: 0x97}, @@ -1739,16 +1738,16 @@ var sparseValues = [1360]valueRange{ {value: 0x2812, lo: 0xa8, hi: 0xaf}, {value: 0x3812, lo: 0xb0, hi: 0xb7}, {value: 0x2812, lo: 0xb8, hi: 0xbf}, - // Block 0xab, offset 0x3e1 + // Block 0xab, offset 0x3e0 {value: 0xaf52, lo: 0x80, hi: 0x87}, {value: 0xb252, lo: 0x88, hi: 0x8f}, {value: 0x0010, lo: 0x90, hi: 0xbf}, - // Block 0xac, offset 0x3e4 + // Block 0xac, offset 0x3e3 {value: 0x0010, lo: 0x80, hi: 0x9d}, {value: 0x0010, lo: 0xa0, hi: 0xa9}, {value: 0xb253, lo: 0xb0, hi: 0xb7}, {value: 0xaf53, lo: 0xb8, hi: 0xbf}, - // Block 0xad, offset 0x3e8 + // Block 0xad, offset 0x3e7 {value: 0x2813, lo: 0x80, hi: 0x87}, {value: 0x3813, lo: 0x88, hi: 0x8f}, {value: 0x2813, lo: 0x90, hi: 0x93}, @@ -1757,38 +1756,38 @@ var sparseValues = [1360]valueRange{ {value: 0x2812, lo: 0xa8, hi: 0xaf}, {value: 0x3812, lo: 0xb0, hi: 0xb7}, {value: 0x2812, lo: 0xb8, hi: 0xbb}, - // Block 0xae, offset 0x3f0 + // Block 0xae, offset 0x3ef {value: 0x0010, lo: 0x80, hi: 0xa7}, {value: 0x0010, lo: 0xb0, hi: 0xbf}, - // Block 0xaf, offset 0x3f2 + // Block 0xaf, offset 0x3f1 {value: 0x0010, lo: 0x80, hi: 0xa3}, - // Block 0xb0, offset 0x3f3 + // Block 0xb0, offset 0x3f2 {value: 0x0010, lo: 0x80, hi: 0xb6}, - // Block 0xb1, offset 0x3f4 + // Block 0xb1, offset 0x3f3 {value: 0x0010, lo: 0x80, hi: 0x95}, {value: 0x0010, lo: 0xa0, hi: 0xa7}, - // Block 0xb2, offset 0x3f6 + // Block 0xb2, offset 0x3f5 {value: 0x0010, lo: 0x80, hi: 0x85}, {value: 0x0010, lo: 0x88, hi: 0x88}, {value: 0x0010, lo: 0x8a, hi: 0xb5}, {value: 0x0010, lo: 0xb7, hi: 0xb8}, {value: 0x0010, lo: 0xbc, hi: 0xbc}, {value: 0x0010, lo: 0xbf, hi: 0xbf}, - // Block 0xb3, offset 0x3fc + // Block 0xb3, offset 0x3fb {value: 0x0010, lo: 0x80, hi: 0x95}, {value: 0x0010, lo: 0xa0, hi: 0xb6}, - // Block 0xb4, offset 0x3fe + // Block 0xb4, offset 0x3fd {value: 0x0010, lo: 0x80, hi: 0x9e}, - // Block 0xb5, offset 0x3ff + // Block 0xb5, offset 0x3fe {value: 0x0010, lo: 0xa0, hi: 0xb2}, {value: 0x0010, lo: 0xb4, hi: 0xb5}, - // Block 0xb6, offset 0x401 + // Block 0xb6, offset 0x400 {value: 0x0010, lo: 0x80, hi: 0x95}, {value: 0x0010, lo: 0xa0, hi: 0xb9}, - // Block 0xb7, offset 0x403 + // Block 0xb7, offset 0x402 {value: 0x0010, lo: 0x80, hi: 0xb7}, {value: 0x0010, lo: 0xbe, hi: 0xbf}, - // Block 0xb8, offset 0x405 + // Block 0xb8, offset 0x404 {value: 0x0010, lo: 0x80, hi: 0x80}, {value: 0x0014, lo: 0x81, hi: 0x83}, {value: 0x0014, lo: 0x85, hi: 0x86}, @@ -1802,47 +1801,47 @@ var sparseValues = [1360]valueRange{ {value: 0x0024, lo: 0xb8, hi: 0xb8}, {value: 0x0034, lo: 0xb9, hi: 0xba}, {value: 0x0034, lo: 0xbf, hi: 0xbf}, - // Block 0xb9, offset 0x412 + // Block 0xb9, offset 0x411 {value: 0x0010, lo: 0xa0, hi: 0xbc}, - // Block 0xba, offset 0x413 + // Block 0xba, offset 0x412 {value: 0x0010, lo: 0x80, hi: 0x9c}, - // Block 0xbb, offset 0x414 + // Block 0xbb, offset 0x413 {value: 0x0010, lo: 0x80, hi: 0x87}, {value: 0x0010, lo: 0x89, hi: 0xa4}, {value: 0x0024, lo: 0xa5, hi: 0xa5}, {value: 0x0034, lo: 0xa6, hi: 0xa6}, - // Block 0xbc, offset 0x418 + // Block 0xbc, offset 0x417 {value: 0x0010, lo: 0x80, hi: 0x95}, {value: 0x0010, lo: 0xa0, hi: 0xb2}, - // Block 0xbd, offset 0x41a + // Block 0xbd, offset 0x419 {value: 0x0010, lo: 0x80, hi: 0x91}, - // Block 0xbe, offset 0x41b + // Block 0xbe, offset 0x41a {value: 0x0010, lo: 0x80, hi: 0x88}, - // Block 0xbf, offset 0x41c + // Block 0xbf, offset 0x41b {value: 0x5653, lo: 0x80, hi: 0xb2}, - // Block 0xc0, offset 0x41d + // Block 0xc0, offset 0x41c {value: 0x5652, lo: 0x80, hi: 0xb2}, - // Block 0xc1, offset 0x41e + // Block 0xc1, offset 0x41d {value: 0x0010, lo: 0x80, hi: 0x80}, {value: 0x0014, lo: 0x81, hi: 0x81}, {value: 0x0010, lo: 0x82, hi: 0xb7}, {value: 0x0014, lo: 0xb8, hi: 0xbf}, - // Block 0xc2, offset 0x422 + // Block 0xc2, offset 0x421 {value: 0x0014, lo: 0x80, hi: 0x85}, {value: 0x0034, lo: 0x86, hi: 0x86}, {value: 0x0010, lo: 0xa6, hi: 0xaf}, {value: 0x0034, lo: 0xbf, hi: 0xbf}, - // Block 0xc3, offset 0x426 + // Block 0xc3, offset 0x425 {value: 0x0014, lo: 0x80, hi: 0x81}, {value: 0x0010, lo: 0x82, hi: 0xb2}, {value: 0x0014, lo: 0xb3, hi: 0xb6}, {value: 0x0010, lo: 0xb7, hi: 0xb8}, {value: 0x0034, lo: 0xb9, hi: 0xba}, {value: 0x0014, lo: 0xbd, hi: 0xbd}, - // Block 0xc4, offset 0x42c + // Block 0xc4, offset 0x42b {value: 0x0010, lo: 0x90, hi: 0xa8}, {value: 0x0010, lo: 0xb0, hi: 0xb9}, - // Block 0xc5, offset 0x42e + // Block 0xc5, offset 0x42d {value: 0x0024, lo: 0x80, hi: 0x82}, {value: 0x0010, lo: 0x83, hi: 0xa6}, {value: 0x0014, lo: 0xa7, hi: 0xab}, @@ -1850,23 +1849,23 @@ var sparseValues = [1360]valueRange{ {value: 0x0014, lo: 0xad, hi: 0xb2}, {value: 0x0034, lo: 0xb3, hi: 0xb4}, {value: 0x0010, lo: 0xb6, hi: 0xbf}, - // Block 0xc6, offset 0x435 + // Block 0xc6, offset 0x434 {value: 0x0010, lo: 0x90, hi: 0xb2}, {value: 0x0034, lo: 0xb3, hi: 0xb3}, {value: 0x0010, lo: 0xb6, hi: 0xb6}, - // Block 0xc7, offset 0x438 + // Block 0xc7, offset 0x437 {value: 0x0014, lo: 0x80, hi: 0x81}, {value: 0x0010, lo: 0x82, hi: 0xb5}, {value: 0x0014, lo: 0xb6, hi: 0xbe}, {value: 0x0010, lo: 0xbf, hi: 0xbf}, - // Block 0xc8, offset 0x43c + // Block 0xc8, offset 0x43b {value: 0x0030, lo: 0x80, hi: 0x80}, {value: 0x0010, lo: 0x81, hi: 0x84}, {value: 0x0034, lo: 0x8a, hi: 0x8a}, {value: 0x0014, lo: 0x8b, hi: 0x8c}, {value: 0x0010, lo: 0x90, hi: 0x9a}, {value: 0x0010, lo: 0x9c, hi: 0x9c}, - // Block 0xc9, offset 0x442 + // Block 0xc9, offset 0x441 {value: 0x0010, lo: 0x80, hi: 0x91}, {value: 0x0010, lo: 0x93, hi: 0xae}, {value: 0x0014, lo: 0xaf, hi: 0xb1}, @@ -1876,21 +1875,21 @@ var sparseValues = [1360]valueRange{ {value: 0x0034, lo: 0xb6, hi: 0xb6}, {value: 0x0014, lo: 0xb7, hi: 0xb7}, {value: 0x0014, lo: 0xbe, hi: 0xbe}, - // Block 0xca, offset 0x44b + // Block 0xca, offset 0x44a {value: 0x0010, lo: 0x80, hi: 0x86}, {value: 0x0010, lo: 0x88, hi: 0x88}, {value: 0x0010, lo: 0x8a, hi: 0x8d}, {value: 0x0010, lo: 0x8f, hi: 0x9d}, {value: 0x0010, lo: 0x9f, hi: 0xa8}, {value: 0x0010, lo: 0xb0, hi: 0xbf}, - // Block 0xcb, offset 0x451 + // Block 0xcb, offset 0x450 {value: 0x0010, lo: 0x80, hi: 0x9e}, {value: 0x0014, lo: 0x9f, hi: 0x9f}, {value: 0x0010, lo: 0xa0, hi: 0xa2}, {value: 0x0014, lo: 0xa3, hi: 0xa8}, {value: 0x0034, lo: 0xa9, hi: 0xaa}, {value: 0x0010, lo: 0xb0, hi: 0xb9}, - // Block 0xcc, offset 0x457 + // Block 0xcc, offset 0x456 {value: 0x0014, lo: 0x80, hi: 0x81}, {value: 0x0010, lo: 0x82, hi: 0x83}, {value: 0x0010, lo: 0x85, hi: 0x8c}, @@ -1901,7 +1900,7 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0xb5, hi: 0xb9}, {value: 0x0034, lo: 0xbc, hi: 0xbc}, {value: 0x0010, lo: 0xbd, hi: 0xbf}, - // Block 0xcd, offset 0x461 + // Block 0xcd, offset 0x460 {value: 0x0014, lo: 0x80, hi: 0x80}, {value: 0x0010, lo: 0x81, hi: 0x84}, {value: 0x0010, lo: 0x87, hi: 0x88}, @@ -1912,10 +1911,10 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0x9d, hi: 0xa3}, {value: 0x0024, lo: 0xa6, hi: 0xac}, {value: 0x0024, lo: 0xb0, hi: 0xb4}, - // Block 0xce, offset 0x46b + // Block 0xce, offset 0x46a {value: 0x0010, lo: 0x80, hi: 0xb7}, {value: 0x0014, lo: 0xb8, hi: 0xbf}, - // Block 0xcf, offset 0x46d + // Block 0xcf, offset 0x46c {value: 0x0010, lo: 0x80, hi: 0x81}, {value: 0x0034, lo: 0x82, hi: 0x82}, {value: 0x0014, lo: 0x83, hi: 0x84}, @@ -1923,43 +1922,43 @@ var sparseValues = [1360]valueRange{ {value: 0x0034, lo: 0x86, hi: 0x86}, {value: 0x0010, lo: 0x87, hi: 0x8a}, {value: 0x0010, lo: 0x90, hi: 0x99}, - // Block 0xd0, offset 0x474 + // Block 0xd0, offset 0x473 {value: 0x0010, lo: 0x80, hi: 0xb2}, {value: 0x0014, lo: 0xb3, hi: 0xb8}, {value: 0x0010, lo: 0xb9, hi: 0xb9}, {value: 0x0014, lo: 0xba, hi: 0xba}, {value: 0x0010, lo: 0xbb, hi: 0xbe}, {value: 0x0014, lo: 0xbf, hi: 0xbf}, - // Block 0xd1, offset 0x47a + // Block 0xd1, offset 0x479 {value: 0x0014, lo: 0x80, hi: 0x80}, {value: 0x0010, lo: 0x81, hi: 0x81}, {value: 0x0034, lo: 0x82, hi: 0x83}, {value: 0x0010, lo: 0x84, hi: 0x85}, {value: 0x0010, lo: 0x87, hi: 0x87}, {value: 0x0010, lo: 0x90, hi: 0x99}, - // Block 0xd2, offset 0x480 + // Block 0xd2, offset 0x47f {value: 0x0010, lo: 0x80, hi: 0xb1}, {value: 0x0014, lo: 0xb2, hi: 0xb5}, {value: 0x0010, lo: 0xb8, hi: 0xbb}, {value: 0x0014, lo: 0xbc, hi: 0xbd}, {value: 0x0010, lo: 0xbe, hi: 0xbe}, {value: 0x0034, lo: 0xbf, hi: 0xbf}, - // Block 0xd3, offset 0x486 + // Block 0xd3, offset 0x485 {value: 0x0034, lo: 0x80, hi: 0x80}, {value: 0x0010, lo: 0x98, hi: 0x9b}, {value: 0x0014, lo: 0x9c, hi: 0x9d}, - // Block 0xd4, offset 0x489 + // Block 0xd4, offset 0x488 {value: 0x0010, lo: 0x80, hi: 0xb2}, {value: 0x0014, lo: 0xb3, hi: 0xba}, {value: 0x0010, lo: 0xbb, hi: 0xbc}, {value: 0x0014, lo: 0xbd, hi: 0xbd}, {value: 0x0010, lo: 0xbe, hi: 0xbe}, {value: 0x0034, lo: 0xbf, hi: 0xbf}, - // Block 0xd5, offset 0x48f + // Block 0xd5, offset 0x48e {value: 0x0014, lo: 0x80, hi: 0x80}, {value: 0x0010, lo: 0x84, hi: 0x84}, {value: 0x0010, lo: 0x90, hi: 0x99}, - // Block 0xd6, offset 0x492 + // Block 0xd6, offset 0x491 {value: 0x0010, lo: 0x80, hi: 0xaa}, {value: 0x0014, lo: 0xab, hi: 0xab}, {value: 0x0010, lo: 0xac, hi: 0xac}, @@ -1968,9 +1967,9 @@ var sparseValues = [1360]valueRange{ {value: 0x0014, lo: 0xb0, hi: 0xb5}, {value: 0x0030, lo: 0xb6, hi: 0xb6}, {value: 0x0034, lo: 0xb7, hi: 0xb7}, - // Block 0xd7, offset 0x49a + // Block 0xd7, offset 0x499 {value: 0x0010, lo: 0x80, hi: 0x89}, - // Block 0xd8, offset 0x49b + // Block 0xd8, offset 0x49a {value: 0x0014, lo: 0x9d, hi: 0x9f}, {value: 0x0010, lo: 0xa0, hi: 0xa1}, {value: 0x0014, lo: 0xa2, hi: 0xa5}, @@ -1978,26 +1977,51 @@ var sparseValues = [1360]valueRange{ {value: 0x0014, lo: 0xa7, hi: 0xaa}, {value: 0x0034, lo: 0xab, hi: 0xab}, {value: 0x0010, lo: 0xb0, hi: 0xb9}, - // Block 0xd9, offset 0x4a2 + // Block 0xd9, offset 0x4a1 {value: 0x5f53, lo: 0xa0, hi: 0xbf}, - // Block 0xda, offset 0x4a3 + // Block 0xda, offset 0x4a2 {value: 0x5f52, lo: 0x80, hi: 0x9f}, {value: 0x0010, lo: 0xa0, hi: 0xa9}, {value: 0x0010, lo: 0xbf, hi: 0xbf}, - // Block 0xdb, offset 0x4a6 + // Block 0xdb, offset 0x4a5 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0014, lo: 0x89, hi: 0x8a}, + {value: 0x0010, lo: 0x8b, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb8}, + {value: 0x0010, lo: 0xb9, hi: 0xba}, + {value: 0x0014, lo: 0xbb, hi: 0xbe}, + // Block 0xdc, offset 0x4af + {value: 0x0034, lo: 0x87, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0014, lo: 0x91, hi: 0x96}, + {value: 0x0010, lo: 0x97, hi: 0x98}, + {value: 0x0014, lo: 0x99, hi: 0x9b}, + {value: 0x0010, lo: 0x9c, hi: 0xbf}, + // Block 0xdd, offset 0x4b5 + {value: 0x0010, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x86, hi: 0x89}, + {value: 0x0014, lo: 0x8a, hi: 0x96}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0014, lo: 0x98, hi: 0x98}, + {value: 0x0034, lo: 0x99, hi: 0x99}, + // Block 0xde, offset 0x4bb {value: 0x0010, lo: 0x80, hi: 0xb8}, - // Block 0xdc, offset 0x4a7 + // Block 0xdf, offset 0x4bc {value: 0x0010, lo: 0x80, hi: 0x88}, {value: 0x0010, lo: 0x8a, hi: 0xaf}, {value: 0x0014, lo: 0xb0, hi: 0xb6}, {value: 0x0014, lo: 0xb8, hi: 0xbd}, {value: 0x0010, lo: 0xbe, hi: 0xbe}, {value: 0x0034, lo: 0xbf, hi: 0xbf}, - // Block 0xdd, offset 0x4ad + // Block 0xe0, offset 0x4c2 {value: 0x0010, lo: 0x80, hi: 0x80}, {value: 0x0010, lo: 0x90, hi: 0x99}, {value: 0x0010, lo: 0xb2, hi: 0xbf}, - // Block 0xde, offset 0x4b0 + // Block 0xe1, offset 0x4c5 {value: 0x0010, lo: 0x80, hi: 0x8f}, {value: 0x0014, lo: 0x92, hi: 0xa7}, {value: 0x0010, lo: 0xa9, hi: 0xa9}, @@ -2006,69 +2030,85 @@ var sparseValues = [1360]valueRange{ {value: 0x0014, lo: 0xb2, hi: 0xb3}, {value: 0x0010, lo: 0xb4, hi: 0xb4}, {value: 0x0014, lo: 0xb5, hi: 0xb6}, - // Block 0xdf, offset 0x4b8 - {value: 0x0010, lo: 0x80, hi: 0x99}, - // Block 0xe0, offset 0x4b9 - {value: 0x0010, lo: 0x80, hi: 0xae}, - // Block 0xe1, offset 0x4ba - {value: 0x0010, lo: 0x80, hi: 0x83}, - // Block 0xe2, offset 0x4bb + // Block 0xe2, offset 0x4cd {value: 0x0010, lo: 0x80, hi: 0x86}, - // Block 0xe3, offset 0x4bc + {value: 0x0010, lo: 0x88, hi: 0x89}, + {value: 0x0010, lo: 0x8b, hi: 0xb0}, + {value: 0x0014, lo: 0xb1, hi: 0xb6}, + {value: 0x0014, lo: 0xba, hi: 0xba}, + {value: 0x0014, lo: 0xbc, hi: 0xbd}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0xe3, offset 0x4d4 + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x82}, + {value: 0x0014, lo: 0x83, hi: 0x83}, + {value: 0x0034, lo: 0x84, hi: 0x85}, + {value: 0x0010, lo: 0x86, hi: 0x86}, + {value: 0x0014, lo: 0x87, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0xe4, offset 0x4db + {value: 0x0010, lo: 0x80, hi: 0x99}, + // Block 0xe5, offset 0x4dc + {value: 0x0010, lo: 0x80, hi: 0xae}, + // Block 0xe6, offset 0x4dd + {value: 0x0010, lo: 0x80, hi: 0x83}, + // Block 0xe7, offset 0x4de + {value: 0x0010, lo: 0x80, hi: 0x86}, + // Block 0xe8, offset 0x4df {value: 0x0010, lo: 0x80, hi: 0x9e}, {value: 0x0010, lo: 0xa0, hi: 0xa9}, - // Block 0xe4, offset 0x4be + // Block 0xe9, offset 0x4e1 {value: 0x0010, lo: 0x90, hi: 0xad}, {value: 0x0034, lo: 0xb0, hi: 0xb4}, - // Block 0xe5, offset 0x4c0 + // Block 0xea, offset 0x4e3 {value: 0x0010, lo: 0x80, hi: 0xaf}, {value: 0x0024, lo: 0xb0, hi: 0xb6}, - // Block 0xe6, offset 0x4c2 + // Block 0xeb, offset 0x4e5 {value: 0x0014, lo: 0x80, hi: 0x83}, {value: 0x0010, lo: 0x90, hi: 0x99}, {value: 0x0010, lo: 0xa3, hi: 0xb7}, {value: 0x0010, lo: 0xbd, hi: 0xbf}, - // Block 0xe7, offset 0x4c6 + // Block 0xec, offset 0x4e9 {value: 0x0010, lo: 0x80, hi: 0x8f}, - // Block 0xe8, offset 0x4c7 + // Block 0xed, offset 0x4ea {value: 0x0010, lo: 0x80, hi: 0x84}, {value: 0x0010, lo: 0x90, hi: 0xbe}, - // Block 0xe9, offset 0x4c9 + // Block 0xee, offset 0x4ec {value: 0x0014, lo: 0x8f, hi: 0x9f}, - // Block 0xea, offset 0x4ca - {value: 0x0014, lo: 0xa0, hi: 0xa0}, - // Block 0xeb, offset 0x4cb + // Block 0xef, offset 0x4ed + {value: 0x0014, lo: 0xa0, hi: 0xa1}, + // Block 0xf0, offset 0x4ee {value: 0x0010, lo: 0x80, hi: 0xaa}, {value: 0x0010, lo: 0xb0, hi: 0xbc}, - // Block 0xec, offset 0x4cd + // Block 0xf1, offset 0x4f0 {value: 0x0010, lo: 0x80, hi: 0x88}, {value: 0x0010, lo: 0x90, hi: 0x99}, {value: 0x0014, lo: 0x9d, hi: 0x9d}, {value: 0x0034, lo: 0x9e, hi: 0x9e}, {value: 0x0014, lo: 0xa0, hi: 0xa3}, - // Block 0xed, offset 0x4d2 + // Block 0xf2, offset 0x4f5 {value: 0x0030, lo: 0xa5, hi: 0xa6}, {value: 0x0034, lo: 0xa7, hi: 0xa9}, {value: 0x0030, lo: 0xad, hi: 0xb2}, {value: 0x0014, lo: 0xb3, hi: 0xba}, {value: 0x0034, lo: 0xbb, hi: 0xbf}, - // Block 0xee, offset 0x4d7 + // Block 0xf3, offset 0x4fa {value: 0x0034, lo: 0x80, hi: 0x82}, {value: 0x0024, lo: 0x85, hi: 0x89}, {value: 0x0034, lo: 0x8a, hi: 0x8b}, {value: 0x0024, lo: 0xaa, hi: 0xad}, - // Block 0xef, offset 0x4db + // Block 0xf4, offset 0x4fe {value: 0x0024, lo: 0x82, hi: 0x84}, - // Block 0xf0, offset 0x4dc + // Block 0xf5, offset 0x4ff {value: 0x0013, lo: 0x80, hi: 0x99}, {value: 0x0012, lo: 0x9a, hi: 0xb3}, {value: 0x0013, lo: 0xb4, hi: 0xbf}, - // Block 0xf1, offset 0x4df + // Block 0xf6, offset 0x502 {value: 0x0013, lo: 0x80, hi: 0x8d}, {value: 0x0012, lo: 0x8e, hi: 0x94}, {value: 0x0012, lo: 0x96, hi: 0xa7}, {value: 0x0013, lo: 0xa8, hi: 0xbf}, - // Block 0xf2, offset 0x4e3 + // Block 0xf7, offset 0x506 {value: 0x0013, lo: 0x80, hi: 0x81}, {value: 0x0012, lo: 0x82, hi: 0x9b}, {value: 0x0013, lo: 0x9c, hi: 0x9c}, @@ -2080,12 +2120,12 @@ var sparseValues = [1360]valueRange{ {value: 0x0012, lo: 0xb6, hi: 0xb9}, {value: 0x0012, lo: 0xbb, hi: 0xbb}, {value: 0x0012, lo: 0xbd, hi: 0xbf}, - // Block 0xf3, offset 0x4ee + // Block 0xf8, offset 0x511 {value: 0x0012, lo: 0x80, hi: 0x83}, {value: 0x0012, lo: 0x85, hi: 0x8f}, {value: 0x0013, lo: 0x90, hi: 0xa9}, {value: 0x0012, lo: 0xaa, hi: 0xbf}, - // Block 0xf4, offset 0x4f2 + // Block 0xf9, offset 0x515 {value: 0x0012, lo: 0x80, hi: 0x83}, {value: 0x0013, lo: 0x84, hi: 0x85}, {value: 0x0013, lo: 0x87, hi: 0x8a}, @@ -2094,86 +2134,86 @@ var sparseValues = [1360]valueRange{ {value: 0x0012, lo: 0x9e, hi: 0xb7}, {value: 0x0013, lo: 0xb8, hi: 0xb9}, {value: 0x0013, lo: 0xbb, hi: 0xbe}, - // Block 0xf5, offset 0x4fa + // Block 0xfa, offset 0x51d {value: 0x0013, lo: 0x80, hi: 0x84}, {value: 0x0013, lo: 0x86, hi: 0x86}, {value: 0x0013, lo: 0x8a, hi: 0x90}, {value: 0x0012, lo: 0x92, hi: 0xab}, {value: 0x0013, lo: 0xac, hi: 0xbf}, - // Block 0xf6, offset 0x4ff + // Block 0xfb, offset 0x522 {value: 0x0013, lo: 0x80, hi: 0x85}, {value: 0x0012, lo: 0x86, hi: 0x9f}, {value: 0x0013, lo: 0xa0, hi: 0xb9}, {value: 0x0012, lo: 0xba, hi: 0xbf}, - // Block 0xf7, offset 0x503 + // Block 0xfc, offset 0x526 {value: 0x0012, lo: 0x80, hi: 0x93}, {value: 0x0013, lo: 0x94, hi: 0xad}, {value: 0x0012, lo: 0xae, hi: 0xbf}, - // Block 0xf8, offset 0x506 + // Block 0xfd, offset 0x529 {value: 0x0012, lo: 0x80, hi: 0x87}, {value: 0x0013, lo: 0x88, hi: 0xa1}, {value: 0x0012, lo: 0xa2, hi: 0xbb}, {value: 0x0013, lo: 0xbc, hi: 0xbf}, - // Block 0xf9, offset 0x50a + // Block 0xfe, offset 0x52d {value: 0x0013, lo: 0x80, hi: 0x95}, {value: 0x0012, lo: 0x96, hi: 0xaf}, {value: 0x0013, lo: 0xb0, hi: 0xbf}, - // Block 0xfa, offset 0x50d + // Block 0xff, offset 0x530 {value: 0x0013, lo: 0x80, hi: 0x89}, {value: 0x0012, lo: 0x8a, hi: 0xa5}, {value: 0x0013, lo: 0xa8, hi: 0xbf}, - // Block 0xfb, offset 0x510 + // Block 0x100, offset 0x533 {value: 0x0013, lo: 0x80, hi: 0x80}, {value: 0x0012, lo: 0x82, hi: 0x9a}, {value: 0x0012, lo: 0x9c, hi: 0xa1}, {value: 0x0013, lo: 0xa2, hi: 0xba}, {value: 0x0012, lo: 0xbc, hi: 0xbf}, - // Block 0xfc, offset 0x515 + // Block 0x101, offset 0x538 {value: 0x0012, lo: 0x80, hi: 0x94}, {value: 0x0012, lo: 0x96, hi: 0x9b}, {value: 0x0013, lo: 0x9c, hi: 0xb4}, {value: 0x0012, lo: 0xb6, hi: 0xbf}, - // Block 0xfd, offset 0x519 + // Block 0x102, offset 0x53c {value: 0x0012, lo: 0x80, hi: 0x8e}, {value: 0x0012, lo: 0x90, hi: 0x95}, {value: 0x0013, lo: 0x96, hi: 0xae}, {value: 0x0012, lo: 0xb0, hi: 0xbf}, - // Block 0xfe, offset 0x51d + // Block 0x103, offset 0x540 {value: 0x0012, lo: 0x80, hi: 0x88}, {value: 0x0012, lo: 0x8a, hi: 0x8f}, {value: 0x0013, lo: 0x90, hi: 0xa8}, {value: 0x0012, lo: 0xaa, hi: 0xbf}, - // Block 0xff, offset 0x521 + // Block 0x104, offset 0x544 {value: 0x0012, lo: 0x80, hi: 0x82}, {value: 0x0012, lo: 0x84, hi: 0x89}, {value: 0x0017, lo: 0x8a, hi: 0x8b}, {value: 0x0010, lo: 0x8e, hi: 0xbf}, - // Block 0x100, offset 0x525 + // Block 0x105, offset 0x548 {value: 0x0014, lo: 0x80, hi: 0xb6}, {value: 0x0014, lo: 0xbb, hi: 0xbf}, - // Block 0x101, offset 0x527 + // Block 0x106, offset 0x54a {value: 0x0014, lo: 0x80, hi: 0xac}, {value: 0x0014, lo: 0xb5, hi: 0xb5}, - // Block 0x102, offset 0x529 + // Block 0x107, offset 0x54c {value: 0x0014, lo: 0x84, hi: 0x84}, {value: 0x0014, lo: 0x9b, hi: 0x9f}, {value: 0x0014, lo: 0xa1, hi: 0xaf}, - // Block 0x103, offset 0x52c + // Block 0x108, offset 0x54f {value: 0x0024, lo: 0x80, hi: 0x86}, {value: 0x0024, lo: 0x88, hi: 0x98}, {value: 0x0024, lo: 0x9b, hi: 0xa1}, {value: 0x0024, lo: 0xa3, hi: 0xa4}, {value: 0x0024, lo: 0xa6, hi: 0xaa}, - // Block 0x104, offset 0x531 + // Block 0x109, offset 0x554 {value: 0x0010, lo: 0x80, hi: 0x84}, {value: 0x0034, lo: 0x90, hi: 0x96}, - // Block 0x105, offset 0x533 + // Block 0x10a, offset 0x556 {value: 0xb552, lo: 0x80, hi: 0x81}, {value: 0xb852, lo: 0x82, hi: 0x83}, {value: 0x0024, lo: 0x84, hi: 0x89}, {value: 0x0034, lo: 0x8a, hi: 0x8a}, {value: 0x0010, lo: 0x90, hi: 0x99}, - // Block 0x106, offset 0x538 + // Block 0x10b, offset 0x55b {value: 0x0010, lo: 0x80, hi: 0x83}, {value: 0x0010, lo: 0x85, hi: 0x9f}, {value: 0x0010, lo: 0xa1, hi: 0xa2}, @@ -2183,29 +2223,29 @@ var sparseValues = [1360]valueRange{ {value: 0x0010, lo: 0xb4, hi: 0xb7}, {value: 0x0010, lo: 0xb9, hi: 0xb9}, {value: 0x0010, lo: 0xbb, hi: 0xbb}, - // Block 0x107, offset 0x541 + // Block 0x10c, offset 0x564 {value: 0x0010, lo: 0x80, hi: 0x89}, {value: 0x0010, lo: 0x8b, hi: 0x9b}, {value: 0x0010, lo: 0xa1, hi: 0xa3}, {value: 0x0010, lo: 0xa5, hi: 0xa9}, {value: 0x0010, lo: 0xab, hi: 0xbb}, - // Block 0x108, offset 0x546 + // Block 0x10d, offset 0x569 {value: 0x0013, lo: 0xb0, hi: 0xbf}, - // Block 0x109, offset 0x547 + // Block 0x10e, offset 0x56a {value: 0x0013, lo: 0x80, hi: 0x89}, {value: 0x0013, lo: 0x90, hi: 0xa9}, {value: 0x0013, lo: 0xb0, hi: 0xbf}, - // Block 0x10a, offset 0x54a + // Block 0x10f, offset 0x56d {value: 0x0013, lo: 0x80, hi: 0x89}, - // Block 0x10b, offset 0x54b + // Block 0x110, offset 0x56e {value: 0x0004, lo: 0xbb, hi: 0xbf}, - // Block 0x10c, offset 0x54c + // Block 0x111, offset 0x56f {value: 0x0014, lo: 0x81, hi: 0x81}, {value: 0x0014, lo: 0xa0, hi: 0xbf}, - // Block 0x10d, offset 0x54e + // Block 0x112, offset 0x571 {value: 0x0014, lo: 0x80, hi: 0xbf}, - // Block 0x10e, offset 0x54f + // Block 0x113, offset 0x572 {value: 0x0014, lo: 0x80, hi: 0xaf}, } -// Total table size 13811 bytes (13KiB); checksum: 4CC48DA3 +// Total table size 13961 bytes (13KiB); checksum: 4CC48DA3 diff --git a/vendor/golang.org/x/text/cases/tables_test.go b/vendor/golang.org/x/text/cases/tables_test.go index 85ae23767..6ec6801d4 100644 --- a/vendor/golang.org/x/text/cases/tables_test.go +++ b/vendor/golang.org/x/text/cases/tables_test.go @@ -359,12 +359,8 @@ var ( {0xbb, 0xbf}, {0xd7, 0xd7}, {0xf7, 0xf7}, - {0x2c2, 0x2c5}, - {0x2d2, 0x2d6}, - {0x2d8, 0x2df}, + {0x2d8, 0x2dd}, {0x2e5, 0x2eb}, - {0x2ed, 0x2ed}, - {0x2ef, 0x2ff}, {0x375, 0x375}, {0x378, 0x379}, {0x37e, 0x37e}, @@ -400,7 +396,8 @@ var ( {0x7f6, 0x7f9}, {0x7fb, 0x7ff}, {0x82e, 0x83f}, - {0x85c, 0x89f}, + {0x85c, 0x85f}, + {0x86b, 0x89f}, {0x8b5, 0x8b5}, {0x8be, 0x8d3}, {0x964, 0x965}, @@ -418,7 +415,8 @@ var ( {0x9d8, 0x9db}, {0x9de, 0x9de}, {0x9e4, 0x9e5}, - {0x9f2, 0xa00}, + {0x9f2, 0x9fb}, + {0x9fd, 0xa00}, {0xa04, 0xa04}, {0xa0b, 0xa0e}, {0xa11, 0xa12}, @@ -448,7 +446,7 @@ var ( {0xad1, 0xadf}, {0xae4, 0xae5}, {0xaf0, 0xaf8}, - {0xafa, 0xb00}, + {0xb00, 0xb00}, {0xb04, 0xb04}, {0xb0d, 0xb0e}, {0xb11, 0xb12}, @@ -505,11 +503,10 @@ var ( {0xcdf, 0xcdf}, {0xce4, 0xce5}, {0xcf0, 0xcf0}, - {0xcf3, 0xd00}, + {0xcf3, 0xcff}, {0xd04, 0xd04}, {0xd0d, 0xd0d}, {0xd11, 0xd11}, - {0xd3b, 0xd3c}, {0xd45, 0xd45}, {0xd49, 0xd49}, {0xd4f, 0xd53}, @@ -623,9 +620,8 @@ var ( {0x1c7e, 0x1c7f}, {0x1c89, 0x1ccf}, {0x1cd3, 0x1cd3}, - {0x1cf7, 0x1cf7}, {0x1cfa, 0x1cff}, - {0x1df6, 0x1dfa}, + {0x1dfa, 0x1dfa}, {0x1f16, 0x1f17}, {0x1f1e, 0x1f1f}, {0x1f46, 0x1f47}, @@ -697,7 +693,7 @@ var ( {0x3030, 0x303a}, {0x303d, 0x3098}, {0x309b, 0x3104}, - {0x312e, 0x3130}, + {0x312f, 0x3130}, {0x318f, 0x319f}, {0x31bb, 0x9fff}, {0xa48d, 0xa4cf}, @@ -707,8 +703,6 @@ var ( {0xa673, 0xa673}, {0xa67e, 0xa67e}, {0xa6f2, 0xa716}, - {0xa720, 0xa721}, - {0xa789, 0xa78a}, {0xa7af, 0xa7af}, {0xa7b8, 0xa7f6}, {0xa828, 0xa83f}, @@ -741,7 +735,6 @@ var ( {0xab17, 0xab1f}, {0xab27, 0xab27}, {0xab2f, 0xab2f}, - {0xab5b, 0xab5b}, {0xab66, 0xab6f}, {0xabeb, 0xabeb}, {0xabee, 0xabef}, @@ -796,7 +789,7 @@ var ( {0x1029d, 0x1029f}, {0x102d1, 0x102df}, {0x102e1, 0x102ff}, - {0x10320, 0x1032f}, + {0x10320, 0x1032c}, {0x1034b, 0x1034f}, {0x1037b, 0x1037f}, {0x1039e, 0x1039f}, @@ -899,7 +892,11 @@ var ( {0x1172c, 0x1172f}, {0x1173a, 0x1189f}, {0x118ea, 0x118fe}, - {0x11900, 0x11abf}, + {0x11900, 0x119ff}, + {0x11a3f, 0x11a46}, + {0x11a48, 0x11a4f}, + {0x11a84, 0x11a85}, + {0x11a9a, 0x11abf}, {0x11af9, 0x11bff}, {0x11c09, 0x11c09}, {0x11c37, 0x11c37}, @@ -907,7 +904,14 @@ var ( {0x11c5a, 0x11c71}, {0x11c90, 0x11c91}, {0x11ca8, 0x11ca8}, - {0x11cb7, 0x11fff}, + {0x11cb7, 0x11cff}, + {0x11d07, 0x11d07}, + {0x11d0a, 0x11d0a}, + {0x11d37, 0x11d39}, + {0x11d3b, 0x11d3b}, + {0x11d3e, 0x11d3e}, + {0x11d48, 0x11d4f}, + {0x11d5a, 0x11fff}, {0x1239a, 0x123ff}, {0x1246f, 0x1247f}, {0x12544, 0x12fff}, @@ -926,7 +930,7 @@ var ( {0x16f45, 0x16f4f}, {0x16f7f, 0x16f8e}, {0x16fa0, 0x16fdf}, - {0x16fe1, 0x1bbff}, + {0x16fe2, 0x1bbff}, {0x1bc6b, 0x1bc6f}, {0x1bc7d, 0x1bc7f}, {0x1bc89, 0x1bc8f}, diff --git a/vendor/golang.org/x/text/collate/tools/colcmp/colcmp.go b/vendor/golang.org/x/text/collate/tools/colcmp/colcmp.go index 6dda8bc07..ebd6012dd 100644 --- a/vendor/golang.org/x/text/collate/tools/colcmp/colcmp.go +++ b/vendor/golang.org/x/text/collate/tools/colcmp/colcmp.go @@ -211,7 +211,7 @@ func (ts *Context) Print(a ...interface{}) { fmt.Fprint(ts.out, a...) } -// assertBuf sets up an io.Writer for ouput, if it doesn't already exist. +// assertBuf sets up an io.Writer for output, if it doesn't already exist. // In debug and verbose mode, output is buffered so that the regular output // will not interfere with the additional output. Otherwise, output is // written directly to stdout for a more responsive feel. diff --git a/vendor/golang.org/x/text/collate/tools/colcmp/icu.go b/vendor/golang.org/x/text/collate/tools/colcmp/icu.go index 91980ac98..76de40427 100644 --- a/vendor/golang.org/x/text/collate/tools/colcmp/icu.go +++ b/vendor/golang.org/x/text/collate/tools/colcmp/icu.go @@ -165,8 +165,8 @@ func (c *icuUTF8iter) Key(s Input) []byte { return c.extendBuf(n) } -// icuUTF8conv implementes the Collator interface. -// This implentation first converts the give UTF8 string +// icuUTF8conv implements the Collator interface. +// This implementation first converts the give UTF8 string // to UTF16 and then calls the main ICU collation function. type icuUTF8conv struct { icuCollator diff --git a/vendor/golang.org/x/text/encoding/htmlindex/gen.go b/vendor/golang.org/x/text/encoding/htmlindex/gen.go index 80a52f0d9..ac6b4a77f 100644 --- a/vendor/golang.org/x/text/encoding/htmlindex/gen.go +++ b/vendor/golang.org/x/text/encoding/htmlindex/gen.go @@ -133,7 +133,10 @@ var consts = map[string]string{ // locales is taken from // https://html.spec.whatwg.org/multipage/syntax.html#encoding-sniffing-algorithm. var locales = []struct{ tag, name string }{ - {"und", "windows-1252"}, // The default value. + // The default value. Explicitly state latin to benefit from the exact + // script option, while still making 1252 the default encoding for languages + // written in Latin script. + {"und_Latn", "windows-1252"}, {"ar", "windows-1256"}, {"ba", "windows-1251"}, {"be", "windows-1251"}, diff --git a/vendor/golang.org/x/text/encoding/htmlindex/htmlindex.go b/vendor/golang.org/x/text/encoding/htmlindex/htmlindex.go index 70f2ac4bc..bdc7d15dd 100644 --- a/vendor/golang.org/x/text/encoding/htmlindex/htmlindex.go +++ b/vendor/golang.org/x/text/encoding/htmlindex/htmlindex.go @@ -50,7 +50,7 @@ func LanguageDefault(tag language.Tag) string { for _, t := range strings.Split(locales, " ") { tags = append(tags, language.MustParse(t)) } - matcher = language.NewMatcher(tags) + matcher = language.NewMatcher(tags, language.PreferSameScript(true)) }) _, i, _ := matcher.Match(tag) return canonical[localeMap[i]] // Default is Windows-1252. diff --git a/vendor/golang.org/x/text/encoding/htmlindex/tables.go b/vendor/golang.org/x/text/encoding/htmlindex/tables.go index cbf4ba923..9d6b4315c 100644 --- a/vendor/golang.org/x/text/encoding/htmlindex/tables.go +++ b/vendor/golang.org/x/text/encoding/htmlindex/tables.go @@ -313,7 +313,7 @@ var nameMap = map[string]htmlEncoding{ } var localeMap = []htmlEncoding{ - windows1252, // und + windows1252, // und_Latn windows1256, // ar windows1251, // ba windows1251, // be @@ -349,4 +349,4 @@ var localeMap = []htmlEncoding{ big5, // zh-hant } -const locales = "und ar ba be bg cs el et fa he hr hu ja kk ko ku ky lt lv mk pl ru sah sk sl sr tg th tr tt uk vi zh-hans zh-hant" +const locales = "und_Latn ar ba be bg cs el et fa he hr hu ja kk ko ku ky lt lv mk pl ru sah sk sl sr tg th tr tt uk vi zh-hans zh-hant" diff --git a/vendor/golang.org/x/text/feature/plural/example_test.go b/vendor/golang.org/x/text/feature/plural/example_test.go new file mode 100644 index 000000000..c75408c0e --- /dev/null +++ b/vendor/golang.org/x/text/feature/plural/example_test.go @@ -0,0 +1,46 @@ +// Copyright 2017 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 plural_test + +import ( + "golang.org/x/text/feature/plural" + "golang.org/x/text/language" + "golang.org/x/text/message" +) + +func ExampleSelect() { + // Manually set some translations. This is typically done programmatically. + message.Set(language.English, "%d files remaining", + plural.Selectf(1, "%d", + "=0", "done!", + plural.One, "one file remaining", + plural.Other, "%[1]d files remaining", + )) + message.Set(language.Dutch, "%d files remaining", + plural.Selectf(1, "%d", + "=0", "klaar!", + // One can also use a string instead of a Kind + "one", "nog één bestand te gaan", + "other", "nog %[1]d bestanden te gaan", + )) + + p := message.NewPrinter(language.English) + p.Printf("%d files remaining", 5) + p.Println() + p.Printf("%d files remaining", 1) + p.Println() + + p = message.NewPrinter(language.Dutch) + p.Printf("%d files remaining", 1) + p.Println() + p.Printf("%d files remaining", 0) + p.Println() + + // Output: + // 5 files remaining + // one file remaining + // nog één bestand te gaan + // klaar! +} diff --git a/vendor/golang.org/x/text/feature/plural/message.go b/vendor/golang.org/x/text/feature/plural/message.go new file mode 100755 index 000000000..f931f8a6a --- /dev/null +++ b/vendor/golang.org/x/text/feature/plural/message.go @@ -0,0 +1,244 @@ +// Copyright 2017 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 plural + +import ( + "fmt" + "io/ioutil" + "reflect" + "strconv" + + "golang.org/x/text/internal/catmsg" + "golang.org/x/text/internal/number" + "golang.org/x/text/language" + "golang.org/x/text/message/catalog" +) + +// TODO: consider deleting this interface. Maybe VisibleDigits is always +// sufficient and practical. + +// Interface is used for types that can determine their own plural form. +type Interface interface { + // PluralForm reports the plural form for the given language of the + // underlying value. It also returns the integer value. If the integer value + // is larger than fits in n, PluralForm may return a value modulo + // 10,000,000. + PluralForm(t language.Tag, scale int) (f Form, n int) +} + +// Selectf returns the first case for which its selector is a match for the +// arg-th substitution argument to a formatting call, formatting it as indicated +// by format. +// +// The cases argument are pairs of selectors and messages. Selectors are of type +// string or Form. Messages are of type string or catalog.Message. A selector +// matches an argument if: +// - it is "other" or Other +// - it matches the plural form of the argument: "zero", "one", "two", "few", +// or "many", or the equivalent Form +// - it is of the form "=x" where x is an integer that matches the value of +// the argument. +// - it is of the form " kindDefault { + e.EncodeUint(uint64(m.scale)) + } + + forms := validForms(cardinal, e.Language()) + + for i := 0; i < len(m.cases); { + if err := compileSelector(e, forms, m.cases[i]); err != nil { + return err + } + if i++; i >= len(m.cases) { + return fmt.Errorf("plural: no message defined for selector %v", m.cases[i-1]) + } + var msg catalog.Message + switch x := m.cases[i].(type) { + case string: + msg = catalog.String(x) + case catalog.Message: + msg = x + default: + return fmt.Errorf("plural: message of type %T; must be string or catalog.Message", x) + } + if err := e.EncodeMessage(msg); err != nil { + return err + } + i++ + } + return nil +} + +func compileSelector(e *catmsg.Encoder, valid []Form, selector interface{}) error { + form := Other + switch x := selector.(type) { + case string: + if x == "" { + return fmt.Errorf("plural: empty selector") + } + if c := x[0]; c == '=' || c == '<' { + val, err := strconv.ParseUint(x[1:], 10, 16) + if err != nil { + return fmt.Errorf("plural: invalid number in selector %q: %v", selector, err) + } + e.EncodeUint(uint64(c)) + e.EncodeUint(val) + return nil + } + var ok bool + form, ok = countMap[x] + if !ok { + return fmt.Errorf("plural: invalid plural form %q", selector) + } + case Form: + form = x + default: + return fmt.Errorf("plural: selector of type %T; want string or Form", selector) + } + + ok := false + for _, f := range valid { + if f == form { + ok = true + break + } + } + if !ok { + return fmt.Errorf("plural: form %q not supported for language %q", selector, e.Language()) + } + e.EncodeUint(uint64(form)) + return nil +} + +func execute(d *catmsg.Decoder) bool { + lang := d.Language() + argN := int(d.DecodeUint()) + kind := int(d.DecodeUint()) + scale := -1 // default + if kind > kindDefault { + scale = int(d.DecodeUint()) + } + form := Other + n := -1 + if arg := d.Arg(argN); arg == nil { + // Default to Other. + } else if x, ok := arg.(number.VisibleDigits); ok { + d := x.Digits(nil, lang, scale) + form, n = cardinal.matchDisplayDigits(lang, &d) + } else if x, ok := arg.(Interface); ok { + // This covers lists and formatters from the number package. + form, n = x.PluralForm(lang, scale) + } else { + var f number.Formatter + switch kind { + case kindScale: + f.InitDecimal(lang) + f.SetScale(scale) + case kindScientific: + f.InitScientific(lang) + f.SetScale(scale) + case kindPrecision: + f.InitDecimal(lang) + f.SetPrecision(scale) + case kindDefault: + // sensible default + f.InitDecimal(lang) + if k := reflect.TypeOf(arg).Kind(); reflect.Int <= k && k <= reflect.Uintptr { + f.SetScale(0) + } else { + f.SetScale(2) + } + } + var dec number.Decimal // TODO: buffer in Printer + dec.Convert(f.RoundingContext, arg) + v := number.FormatDigits(&dec, f.RoundingContext) + if !v.NaN && !v.Inf { + form, n = cardinal.matchDisplayDigits(d.Language(), &v) + } + } + for !d.Done() { + f := d.DecodeUint() + if (f == '=' && n == int(d.DecodeUint())) || + (f == '<' && 0 <= n && n < int(d.DecodeUint())) || + form == Form(f) || + Other == Form(f) { + return d.ExecuteMessage() + } + d.SkipMessage() + } + return false +} diff --git a/vendor/golang.org/x/text/feature/plural/message_test.go b/vendor/golang.org/x/text/feature/plural/message_test.go new file mode 100644 index 000000000..b5bc47e87 --- /dev/null +++ b/vendor/golang.org/x/text/feature/plural/message_test.go @@ -0,0 +1,197 @@ +// Copyright 2017 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 plural + +import ( + "fmt" + "strings" + "testing" + + "golang.org/x/text/internal/catmsg" + "golang.org/x/text/language" + "golang.org/x/text/message/catalog" +) + +func TestSelect(t *testing.T) { + lang := language.English + type test struct { + arg interface{} + result string + err string + } + testCases := []struct { + desc string + msg catalog.Message + err string + tests []test + }{{ + desc: "basic", + msg: Selectf(1, "%d", "one", "foo", "other", "bar"), + tests: []test{ + {arg: 0, result: "bar"}, + {arg: 1, result: "foo"}, + {arg: 2, result: "bar"}, + {arg: opposite(1), result: "bar"}, + {arg: opposite(2), result: "foo"}, + {arg: "unknown", result: "bar"}, // other + }, + }, { + desc: "comparisons", + msg: Selectf(1, "%d", + "=0", "zero", + "=1", "one", + "one", "cannot match", // never matches + "<5", "<5", // never matches + "=5", "=5", + Other, "other"), + tests: []test{ + {arg: 0, result: "zero"}, + {arg: 1, result: "one"}, + {arg: 2, result: "<5"}, + {arg: 4, result: "<5"}, + {arg: 5, result: "=5"}, + {arg: 6, result: "other"}, + {arg: "unknown", result: "other"}, + }, + }, { + desc: "fractions", + msg: Selectf(1, "%.2f", "one", "foo", "other", "bar"), + tests: []test{ + // fractions are always plural in english + {arg: 0, result: "bar"}, + {arg: 1, result: "bar"}, + }, + }, { + desc: "decimal without fractions", + msg: Selectf(1, "%.0f", "one", "foo", "other", "bar"), + tests: []test{ + // fractions are always plural in english + {arg: 0, result: "bar"}, + {arg: 1, result: "foo"}, + }, + }, { + desc: "scientific", + msg: Selectf(1, "%.0e", "one", "foo", "other", "bar"), + tests: []test{ + {arg: 0, result: "bar"}, + {arg: 1, result: "foo"}, + }, + }, { + desc: "variable", + msg: Selectf(1, "%.1g", "one", "foo", "other", "bar"), + tests: []test{ + // fractions are always plural in english + {arg: 0, result: "bar"}, + {arg: 1, result: "foo"}, + {arg: 2, result: "bar"}, + }, + }, { + desc: "default", + msg: Selectf(1, "", "one", "foo", "other", "bar"), + tests: []test{ + {arg: 0, result: "bar"}, + {arg: 1, result: "foo"}, + {arg: 2, result: "bar"}, + {arg: 1.0, result: "bar"}, + }, + }, { + desc: "nested", + msg: Selectf(1, "", "other", Selectf(2, "", "one", "foo", "other", "bar")), + tests: []test{ + {arg: 0, result: "bar"}, + {arg: 1, result: "foo"}, + {arg: 2, result: "bar"}, + }, + }, { + desc: "arg unavailable", + msg: Selectf(100, "%.2f", "one", "foo", "other", "bar"), + tests: []test{{arg: 1, result: "bar"}}, + }, { + desc: "no match", + msg: Selectf(1, "%.2f", "one", "foo"), + tests: []test{{arg: 0, result: "bar", err: catmsg.ErrNoMatch.Error()}}, + }, { + desc: "error invalid form", + err: `invalid plural form "excessive"`, + msg: Selectf(1, "%d", "excessive", "foo"), + }, { + desc: "error form not used by language", + err: `form "many" not supported for language "en"`, + msg: Selectf(1, "%d", "many", "foo"), + }, { + desc: "error invalid selector", + err: `selector of type int; want string or Form`, + msg: Selectf(1, "%d", 1, "foo"), + }, { + desc: "error missing message", + err: `no message defined for selector one`, + msg: Selectf(1, "%d", "one"), + }, { + desc: "error invalid number", + err: `invalid number in selector "<1.00"`, + msg: Selectf(1, "%d", "<1.00"), + }, { + desc: "error empty selector", + err: `empty selector`, + msg: Selectf(1, "%d", "", "foo"), + }, { + desc: "error invalid message", + err: `message of type int; must be string or catalog.Message`, + msg: Selectf(1, "%d", "one", 3), + }, { + desc: "nested error", + err: `empty selector`, + msg: Selectf(1, "", "other", Selectf(2, "", "")), + }} + for _, tc := range testCases { + t.Run(tc.desc, func(t *testing.T) { + data, err := catmsg.Compile(lang, nil, tc.msg) + chkError(t, err, tc.err) + for _, tx := range tc.tests { + t.Run(fmt.Sprint(tx.arg), func(t *testing.T) { + r := renderer{arg: tx.arg} + d := catmsg.NewDecoder(lang, &r, nil) + err := d.Execute(data) + chkError(t, err, tx.err) + if r.result != tx.result { + t.Errorf("got %q; want %q", r.result, tx.result) + } + }) + } + }) + } +} + +func chkError(t *testing.T, got error, want string) { + if (got == nil && want != "") || + (got != nil && (want == "" || !strings.Contains(got.Error(), want))) { + t.Fatalf("got %v; want %v", got, want) + } + if got != nil { + t.SkipNow() + } +} + +type renderer struct { + arg interface{} + result string +} + +func (r *renderer) Render(s string) { r.result += s } +func (r *renderer) Arg(i int) interface{} { + if i > 10 { // Allow testing "arg unavailable" path + return nil + } + return r.arg +} + +type opposite int + +func (o opposite) PluralForm(lang language.Tag, scale int) (Form, int) { + if o == 1 { + return Other, 1 + } + return One, int(o) +} diff --git a/vendor/golang.org/x/text/feature/plural/plural.go b/vendor/golang.org/x/text/feature/plural/plural.go index 2b4cfe321..61faf187d 100644 --- a/vendor/golang.org/x/text/feature/plural/plural.go +++ b/vendor/golang.org/x/text/feature/plural/plural.go @@ -13,6 +13,7 @@ package plural import ( + "golang.org/x/text/internal/number" "golang.org/x/text/language" ) @@ -109,21 +110,25 @@ func getIntApprox(digits []byte, start, end, nMod, big int) (n int) { // 123 []byte{1, 2, 3} 3 0 // 123.4 []byte{1, 2, 3, 4} 3 1 // 123.40 []byte{1, 2, 3, 4} 3 2 -// 100000 []byte{1} 6......0 -// 100000.00 []byte{1} 6......3 +// 100000 []byte{1} 6 0 +// 100000.00 []byte{1} 6 3 func (p *Rules) MatchDigits(t language.Tag, digits []byte, exp, scale int) Form { index, _ := language.CompactIndex(t) - endN := len(digits) + exp // Differentiate up to including mod 1000000 for the integer part. - n := getIntApprox(digits, 0, endN, 6, 1000000) + n := getIntApprox(digits, 0, exp, 6, 1000000) // Differentiate up to including mod 100 for the fractional part. - f := getIntApprox(digits, endN, endN+scale, 2, 100) + f := getIntApprox(digits, exp, exp+scale, 2, 100) return matchPlural(p, index, n, f, scale) } +func (p *Rules) matchDisplayDigits(t language.Tag, d *number.Digits) (Form, int) { + n := getIntApprox(d.Digits, 0, int(d.Exp), 6, 1000000) + return p.MatchDigits(t, d.Digits, int(d.Exp), d.NumFracDigits()), n +} + func validForms(p *Rules, t language.Tag) (forms []Form) { index, _ := language.CompactIndex(t) offset := p.langToIndex[index] @@ -145,6 +150,25 @@ func (p *Rules) matchComponents(t language.Tag, n, f, scale int) Form { return matchPlural(p, index, n, f, scale) } +// MatchPlural returns the plural form for the given language and plural +// operands (as defined in +// http://unicode.org/reports/tr35/tr35-numbers.html#Language_Plural_Rules): +// where +// n absolute value of the source number (integer and decimals) +// input +// i integer digits of n. +// v number of visible fraction digits in n, with trailing zeros. +// w number of visible fraction digits in n, without trailing zeros. +// f visible fractional digits in n, with trailing zeros (f = t * 10^(v-w)) +// t visible fractional digits in n, without trailing zeros. +// +// If any of the operand values is too large to fit in an int, it is okay to +// pass the value modulo 10,000,000. +func (p *Rules) MatchPlural(lang language.Tag, i, v, w, f, t int) Form { + index, _ := language.CompactIndex(lang) + return matchPlural(p, index, i, f, v) +} + func matchPlural(p *Rules, index int, n, f, v int) Form { nMask := p.inclusionMasks[n%maxMod] // Compute the fMask inline in the rules below, as it is relatively rare. diff --git a/vendor/golang.org/x/text/feature/plural/plural_test.go b/vendor/golang.org/x/text/feature/plural/plural_test.go index e5524c59a..b3cf4c449 100644 --- a/vendor/golang.org/x/text/feature/plural/plural_test.go +++ b/vendor/golang.org/x/text/feature/plural/plural_test.go @@ -28,6 +28,8 @@ func TestGetIntApprox(t *testing.T) { {"123", 0, 2, 2, 12}, {"123", 3, 4, 2, 0}, {"12345", 3, 4, 2, 4}, + {"40", 0, 1, 2, 4}, + {"1", 0, 7, 2, big}, {"123", 0, 5, 2, big}, {"123", 0, 5, 3, big}, @@ -114,7 +116,7 @@ func testPlurals(t *testing.T, p *Rules, testCases []pluralTest) { for i := range digits { digits[i] -= '0' } - if f := p.MatchDigits(tag, digits, 0, 0); f != Form(tc.form) { + if f := p.MatchDigits(tag, digits, len(digits), 0); f != Form(tc.form) { t.Errorf("MatchDigits: got %v; want %v", f, Form(tc.form)) } }) @@ -139,14 +141,25 @@ func testPlurals(t *testing.T, p *Rules, testCases []pluralTest) { num := fmt.Sprintf("%[1]d.%0[3]*[2]d", n/m, n%m, scale) name := fmt.Sprintf("%s:dec(%s)", loc, num) t.Run(name, func(t *testing.T) { + ff := n % m + tt := ff + w := scale + for tt > 0 && tt%10 == 0 { + w-- + tt /= 10 + } + if f := p.MatchPlural(tag, n/m, scale, w, ff, tt); f != Form(tc.form) { + t.Errorf("MatchPlural: got %v; want %v", f, Form(tc.form)) + } if f := p.matchComponents(tag, n/m, n%m, scale); f != Form(tc.form) { t.Errorf("matchComponents: got %v; want %v", f, Form(tc.form)) } + exp := strings.IndexByte(num, '.') digits := []byte(strings.Replace(num, ".", "", 1)) for i := range digits { digits[i] -= '0' } - if f := p.MatchDigits(tag, digits, -scale, scale); f != Form(tc.form) { + if f := p.MatchDigits(tag, digits, exp, scale); f != Form(tc.form) { t.Errorf("MatchDigits: got %v; want %v", f, Form(tc.form)) } }) diff --git a/vendor/golang.org/x/text/gen.go b/vendor/golang.org/x/text/gen.go index 79af97e70..4257a1839 100644 --- a/vendor/golang.org/x/text/gen.go +++ b/vendor/golang.org/x/text/gen.go @@ -25,7 +25,9 @@ import ( "sync" "unicode" + "golang.org/x/text/collate" "golang.org/x/text/internal/gen" + "golang.org/x/text/language" ) var ( @@ -72,14 +74,24 @@ func main() { fmt.Printf("Requested Unicode version %s; core unicode version is %s.\n", gen.UnicodeVersion(), unicode.Version) - // TODO: use collate to compare. Simple comparison will work, though, - // until Unicode reaches version 10. To avoid circular dependencies, we - // could use the NumericWeighter without using package collate using a - // trivial Weighter implementation. - if gen.UnicodeVersion() < unicode.Version && !*force { + c := collate.New(language.Und, collate.Numeric) + if c.CompareString(gen.UnicodeVersion(), unicode.Version) < 0 && !*force { os.Exit(2) } updateCore = true + goroot := os.Getenv("GOROOT") + appendToFile( + filepath.Join(goroot, "api", "except.txt"), + fmt.Sprintf("pkg unicode, const Version = %q\n", unicode.Version), + ) + const lines = `pkg unicode, const Version = %q +// TODO: add a new line of the following form for each new script and property. +pkg unicode, var *RangeTable +` + appendToFile( + filepath.Join(goroot, "api", "next.txt"), + fmt.Sprintf(lines, gen.UnicodeVersion()), + ) } var unicode = &dependency{} @@ -132,6 +144,20 @@ func main() { vprintf("SUCCESS\n") } +func appendToFile(file, text string) { + fmt.Println("Augmenting", file) + w, err := os.OpenFile(file, os.O_APPEND|os.O_WRONLY, 0600) + if err != nil { + fmt.Println("Failed to open file:", err) + os.Exit(1) + } + defer w.Close() + if _, err := w.WriteString(text); err != nil { + fmt.Println("Failed to write to file:", err) + os.Exit(1) + } +} + var ( all sync.WaitGroup hasErrors bool @@ -244,7 +270,7 @@ func copyPackage(dirSrc, dirDst, search, replace string) { base := filepath.Base(file) if err != nil || info.IsDir() || !strings.HasSuffix(base, ".go") || - strings.HasSuffix(base, "_test.go") && !strings.HasPrefix(base, "example") || + strings.HasSuffix(base, "_test.go") || // Don't process subdirectories. filepath.Dir(file) != dirSrc { return nil diff --git a/vendor/golang.org/x/text/internal/catmsg/catmsg.go b/vendor/golang.org/x/text/internal/catmsg/catmsg.go index 74c039f05..f8abf3704 100644 --- a/vendor/golang.org/x/text/internal/catmsg/catmsg.go +++ b/vendor/golang.org/x/text/internal/catmsg/catmsg.go @@ -294,7 +294,7 @@ func (r Raw) Compile(e *Encoder) (err error) { // d.Arg(1) // d.Render(resultOfInvites) // d.Render(" %[2]v to ") -// d.Arg(1) +// d.Arg(2) // d.Render(resultOfTheir) // d.Render(" party.") // where the messages for "invites" and "their" both use a plural.Select diff --git a/vendor/golang.org/x/text/internal/catmsg/catmsg_test.go b/vendor/golang.org/x/text/internal/catmsg/catmsg_test.go index d06502bff..df913a1de 100644 --- a/vendor/golang.org/x/text/internal/catmsg/catmsg_test.go +++ b/vendor/golang.org/x/text/internal/catmsg/catmsg_test.go @@ -110,6 +110,10 @@ func TestCodec(t *testing.T) { }, }, tests: single("foo|BAZ", ""), + }, { + desc: "nested value", + m: nestedLang{nestedLang{empty{}}}, + tests: single("nl|nl", ""), }, { desc: "not shadowed variable", m: seq{ @@ -207,8 +211,9 @@ func TestCodec(t *testing.T) { dec := NewDecoder(language.Und, r, macros) for _, tc := range testCases { t.Run(tc.desc, func(t *testing.T) { - - data, err := Compile(language.Und, macros, tc.m) + // Use a language other than Und so that we can test + // passing the language to nested values. + data, err := Compile(language.Dutch, macros, tc.m) if failErr(err, tc.encErr) { t.Errorf("encoding error: got %+q; want %+q", err, tc.encErr) } @@ -265,6 +270,23 @@ func (incomplete) Compile(e *Encoder) (err error) { return ErrIncomplete } +var msgNested = Register( + "golang.org/x/text/internal/catmsg.nested", + func(d *Decoder) bool { + d.Render(d.DecodeString()) + d.ExecuteMessage() + return true + }) + +type nestedLang struct{ Message } + +func (n nestedLang) Compile(e *Encoder) (err error) { + e.EncodeMessageType(msgNested) + e.EncodeString(e.Language().String()) + e.EncodeMessage(n.Message) + return nil +} + type errorCompileMsg struct{} var errCompileTest = errors.New("catmsg: compile error test") diff --git a/vendor/golang.org/x/text/internal/catmsg/codec.go b/vendor/golang.org/x/text/internal/catmsg/codec.go index e959b08f9..ab587f856 100755 --- a/vendor/golang.org/x/text/internal/catmsg/codec.go +++ b/vendor/golang.org/x/text/internal/catmsg/codec.go @@ -99,7 +99,7 @@ func (e *Encoder) EncodeMessageType(h Handle) { // EncodeMessage serializes the given message inline at the current position. func (e *Encoder) EncodeMessage(m Message) error { - e = &Encoder{root: e.root, parent: e} + e = &Encoder{root: e.root, parent: e, tag: e.tag} err := m.Compile(e) if _, ok := m.(*Var); !ok { e.flushTo(e.parent) diff --git a/vendor/golang.org/x/text/internal/catmsg/varint_test.go b/vendor/golang.org/x/text/internal/catmsg/varint_test.go index a079c775d..04d881d41 100644 --- a/vendor/golang.org/x/text/internal/catmsg/varint_test.go +++ b/vendor/golang.org/x/text/internal/catmsg/varint_test.go @@ -109,7 +109,7 @@ func TestDecodeUint(t *testing.T) { t.Run(fmt.Sprintf("%s:%q", f.name, tc.enc), func(t *testing.T) { x, size, err := f.decode(tc.enc) if err != tc.err { - t.Error("err = %q; want %q", err, tc.err) + t.Errorf("err = %q; want %q", err, tc.err) } if size != tc.size { t.Errorf("size = %d; want %d", size, tc.size) diff --git a/vendor/golang.org/x/text/internal/colltab/collelem.go b/vendor/golang.org/x/text/internal/colltab/collelem.go index 880952c3e..28555897b 100644 --- a/vendor/golang.org/x/text/internal/colltab/collelem.go +++ b/vendor/golang.org/x/text/internal/colltab/collelem.go @@ -87,7 +87,7 @@ func (ce Elem) ctype() ceType { // - t* is the tertiary collation value // 100ttttt cccccccc pppppppp pppppppp // - t* is the tertiar collation value -// - c* is the cannonical combining class +// - c* is the canonical combining class // - p* is the primary collation value // Collation elements with a secondary value are of the form // 1010cccc ccccssss ssssssss tttttttt, where diff --git a/vendor/golang.org/x/text/internal/export/idna/gen.go b/vendor/golang.org/x/text/internal/export/idna/gen.go index 27a5e1c43..cce630535 100644 --- a/vendor/golang.org/x/text/internal/export/idna/gen.go +++ b/vendor/golang.org/x/text/internal/export/idna/gen.go @@ -21,6 +21,7 @@ import ( "golang.org/x/text/internal/gen" "golang.org/x/text/internal/triegen" "golang.org/x/text/internal/ucd" + "golang.org/x/text/unicode/bidi" ) func main() { @@ -35,6 +36,12 @@ var runes = map[rune]info{} func genTables() { t := triegen.NewTrie("idna") + ucd.Parse(gen.OpenUCDFile("DerivedNormalizationProps.txt"), func(p *ucd.Parser) { + r := p.Rune(0) + if p.String(1) == "NFC_QC" { // p.String(2) is "N" or "M" + runes[r] = mayNeedNorm + } + }) ucd.Parse(gen.OpenUCDFile("UnicodeData.txt"), func(p *ucd.Parser) { r := p.Rune(0) @@ -44,7 +51,17 @@ func genTables() { } switch { case unicode.In(r, unicode.Mark): - runes[r] |= modifier + runes[r] |= modifier | mayNeedNorm + } + // TODO: by using UnicodeData.txt we don't mark undefined codepoints + // that are earmarked as RTL properly. However, an undefined cp will + // always fail, so there is no need to store this info. + switch p, _ := bidi.LookupRune(r); p.Class() { + case bidi.R, bidi.AL, bidi.AN: + if x := runes[r]; x != 0 && x != mayNeedNorm { + log.Fatalf("%U: rune both modifier and RTL letter/number", r) + } + runes[r] = rtl } }) diff --git a/vendor/golang.org/x/text/internal/export/idna/gen_test.go b/vendor/golang.org/x/text/internal/export/idna/gen_test.go index 60602ecf5..83f045f65 100644 --- a/vendor/golang.org/x/text/internal/export/idna/gen_test.go +++ b/vendor/golang.org/x/text/internal/export/idna/gen_test.go @@ -65,6 +65,15 @@ func TestTables(t *testing.T) { if got != want { t.Errorf("IsVirama(%U) = %v; want %v", r, got, want) } + + rtl := false + switch p.String(ucd.BidiClass) { + case "R", "AL", "AN": + rtl = true + } + if got := x.isBidi("A"); got != rtl && !x.isMapped() { + t.Errorf("IsBidi(%U) = %v; want %v", r, got, rtl) + } }) ucd.Parse(gen.OpenUCDFile("extracted/DerivedJoiningType.txt"), func(p *ucd.Parser) { diff --git a/vendor/golang.org/x/text/internal/export/idna/gen_trieval.go b/vendor/golang.org/x/text/internal/export/idna/gen_trieval.go index 3a3229649..0de99b08a 100644 --- a/vendor/golang.org/x/text/internal/export/idna/gen_trieval.go +++ b/vendor/golang.org/x/text/internal/export/idna/gen_trieval.go @@ -30,9 +30,9 @@ package main // 15..3 index into xor or mapping table // } // } else { -// 15..13 unused -// 12 modifier (including virama) -// 11 virama modifier +// 15..14 unused +// 13 mayNeedNorm +// 12..11 attributes // 10..8 joining type // 7..3 category type // } @@ -53,15 +53,20 @@ const ( joinShift = 8 joinMask = 0x07 - viramaModifier = 0x0800 + // Attributes + attributesMask = 0x1800 + viramaModifier = 0x1800 modifier = 0x1000 + rtl = 0x0800 + + mayNeedNorm = 0x2000 ) // A category corresponds to a category defined in the IDNA mapping table. type category uint16 const ( - unknown category = 0 // not defined currently in unicode. + unknown category = 0 // not currently defined in unicode. mapped category = 1 disallowedSTD3Mapped category = 2 deviation category = 3 @@ -114,5 +119,5 @@ func (c info) isModifier() bool { } func (c info) isViramaModifier() bool { - return c&(viramaModifier|catSmallMask) == viramaModifier + return c&(attributesMask|catSmallMask) == viramaModifier } diff --git a/vendor/golang.org/x/text/internal/export/idna/idna.go b/vendor/golang.org/x/text/internal/export/idna/idna.go index 471119682..9feea643e 100644 --- a/vendor/golang.org/x/text/internal/export/idna/idna.go +++ b/vendor/golang.org/x/text/internal/export/idna/idna.go @@ -21,6 +21,7 @@ import ( "unicode/utf8" "golang.org/x/text/secure/bidirule" + "golang.org/x/text/unicode/bidi" "golang.org/x/text/unicode/norm" ) @@ -92,7 +93,7 @@ func ValidateLabels(enable bool) Option { } } -// StrictDomainName limits the set of permissable ASCII characters to those +// 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. // @@ -142,7 +143,6 @@ func MapForLookup() Option { o.mapping = validateAndMap StrictDomainName(true)(o) ValidateLabels(true)(o) - RemoveLeadingDots(true)(o) } } @@ -160,14 +160,14 @@ type options struct { // 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) + mapping func(p *Profile, s string) (mapped string, isBidi bool, err 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. +// A Profile defines the configuration of an IDNA mapper. type Profile struct { options } @@ -251,23 +251,21 @@ var ( punycode = &Profile{} lookup = &Profile{options{ - transitional: true, - useSTD3Rules: true, - validateLabels: true, - removeLeadingDots: true, - trie: trie, - fromPuny: validateFromPunycode, - mapping: validateAndMap, - bidirule: bidirule.ValidString, + transitional: true, + useSTD3Rules: true, + validateLabels: true, + trie: trie, + fromPuny: validateFromPunycode, + mapping: validateAndMap, + bidirule: bidirule.ValidString, }} display = &Profile{options{ - useSTD3Rules: true, - validateLabels: true, - removeLeadingDots: true, - trie: trie, - fromPuny: validateFromPunycode, - mapping: validateAndMap, - bidirule: bidirule.ValidString, + useSTD3Rules: true, + validateLabels: true, + trie: trie, + fromPuny: validateFromPunycode, + mapping: validateAndMap, + bidirule: bidirule.ValidString, }} registration = &Profile{options{ useSTD3Rules: true, @@ -302,14 +300,16 @@ func (e runeError) Error() string { // see http://www.unicode.org/reports/tr46. func (p *Profile) process(s string, toASCII bool) (string, error) { var err error + var isBidi bool if p.mapping != nil { - s, err = p.mapping(p, s) + s, isBidi, err = p.mapping(p, s) } // Remove leading empty labels. if p.removeLeadingDots { for ; len(s) > 0 && s[0] == '.'; s = s[1:] { } } + // TODO: allow for a quick check 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. if err == nil && p.verifyDNSLength && s == "" { @@ -335,6 +335,7 @@ func (p *Profile) process(s string, toASCII bool) (string, error) { // Spec says keep the old label. continue } + isBidi = isBidi || bidirule.DirectionString(u) != bidi.LeftToRight labels.set(u) if err == nil && p.validateLabels { err = p.fromPuny(p, u) @@ -349,6 +350,14 @@ func (p *Profile) process(s string, toASCII bool) (string, error) { err = p.validateLabel(label) } } + if isBidi && p.bidirule != nil && err == nil { + for labels.reset(); !labels.done(); labels.next() { + if !p.bidirule(labels.label()) { + err = &labelError{s, "B"} + break + } + } + } if toASCII { for labels.reset(); !labels.done(); labels.next() { label := labels.label() @@ -380,16 +389,23 @@ func (p *Profile) process(s string, toASCII bool) (string, error) { return s, err } -func normalize(p *Profile, s string) (string, error) { - return norm.NFC.String(s), nil +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 + // faster in the common case. + mapped = norm.NFC.String(s) + isBidi = bidirule.DirectionString(mapped) == bidi.RightToLeft + return mapped, isBidi, nil } -func validateRegistration(p *Profile, s string) (string, 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, &labelError{s, "V1"} + return s, false, &labelError{s, "V1"} } for i := 0; i < len(s); { v, sz := trie.lookupString(s[i:]) + bidi = bidi || info(v).isBidi(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 @@ -397,21 +413,41 @@ func validateRegistration(p *Profile, s string) (string, error) { case valid, deviation: case disallowed, mapped, unknown, ignored: r, _ := utf8.DecodeRuneInString(s[i:]) - return s, runeError(r) + return s, bidi, runeError(r) } i += sz } - return s, nil + return s, bidi, nil } -func validateAndMap(p *Profile, s string) (string, error) { +func (c info) isBidi(s string) bool { + if !c.isMapped() { + return c&attributesMask == rtl + } + // TODO: also store bidi info for mapped data. This is possible, but a bit + // cumbersome and not for the common case. + p, _ := bidi.LookupString(s) + switch p.Class() { + case bidi.R, bidi.AL, bidi.AN: + return true + } + return false +} + +func validateAndMap(p *Profile, s string) (vm string, bidi bool, err error) { var ( - err error - b []byte - k int + b []byte + k int ) + // combinedInfoBits contains the or-ed bits of all runes. We use this + // to derive the mayNeedNorm bit later. This may trigger normalization + // overeagerly, but it will not do so in the common case. The end result + // is another 10% saving on BenchmarkProfile for the common case. + var combinedInfoBits info for i := 0; i < len(s); { v, sz := trie.lookupString(s[i:]) + combinedInfoBits |= info(v) + bidi = bidi || info(v).isBidi(s[i:]) start := i i += sz // Copy bytes not copied so far. @@ -438,7 +474,9 @@ func validateAndMap(p *Profile, s string) (string, error) { } if k == 0 { // No changes so far. - s = norm.NFC.String(s) + if combinedInfoBits&mayNeedNorm != 0 { + s = norm.NFC.String(s) + } } else { b = append(b, s[k:]...) if norm.NFC.QuickSpan(b) != len(b) { @@ -447,7 +485,7 @@ func validateAndMap(p *Profile, s string) (string, error) { // TODO: the punycode converters require strings as input. s = string(b) } - return s, err + return s, bidi, err } // A labelIter allows iterating over domain name labels. @@ -542,6 +580,8 @@ func validateFromPunycode(p *Profile, s string) error { if !norm.NFC.IsNormalString(s) { 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 c := p.simplify(info(v).category()); c != valid && c != deviation { @@ -616,16 +656,13 @@ var joinStates = [][numJoinTypes]joinState{ // 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 { +func (p *Profile) validateLabel(s string) (err 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.validateLabels { return nil } diff --git a/vendor/golang.org/x/text/internal/export/idna/idna_test.go b/vendor/golang.org/x/text/internal/export/idna/idna_test.go index 82ead035a..fed6e2ee7 100644 --- a/vendor/golang.org/x/text/internal/export/idna/idna_test.go +++ b/vendor/golang.org/x/text/internal/export/idna/idna_test.go @@ -149,20 +149,23 @@ func TestLabelErrors(t *testing.T) { // For backwards compatibility, the Punycode profile does not map runes. {punyA, "\u3002b", "xn--b-83t", ""}, {punyA, "..b", "..b", ""}, - // Only strip leading empty labels for certain profiles. Stripping - // leading empty labels here but not for "empty" punycode above seems - // inconsistent, but seems to be applied by both the conformance test - // and Chrome. So we turn it off by default, support it as an option, - // and enable it in profiles where it seems commonplace. - {lengthA, ".b", "b", ""}, - {lengthA, "\u3002b", "b", ""}, - {lengthA, "..b", "b", ""}, + + {lengthA, ".b", ".b", "A4"}, + {lengthA, "\u3002b", ".b", "A4"}, + {lengthA, "..b", "..b", "A4"}, {lengthA, "b..", "b..", ""}, + // Sharpened Bidi rules for Unicode 10.0.0. Apply for ALL labels in ANY + // of the labels is RTL. + {lengthA, "\ufe05\u3002\u3002\U0002603e\u1ce0", "..xn--t6f5138v", "A4"}, + {lengthA, "FAX\u2a77\U0001d186\u3002\U0001e942\U000e0181\u180c", "", "B6"}, + {resolve, "a..b", "a..b", ""}, - {resolve, ".b", "b", ""}, - {resolve, "\u3002b", "b", ""}, - {resolve, "..b", "b", ""}, + // Note that leading dots are not stripped. This is to be consistent + // with the Punycode profile as well as the conformance test. + {resolve, ".b", ".b", ""}, + {resolve, "\u3002b", ".b", ""}, + {resolve, "..b", "..b", ""}, {resolve, "b..", "b..", ""}, // Raw punycode @@ -297,3 +300,9 @@ func unescape(s string) string { } return s } + +func BenchmarkProfile(b *testing.B) { + for i := 0; i < b.N; i++ { + Lookup.ToASCII("www.yahoogle.com") + } +} diff --git a/vendor/golang.org/x/text/internal/export/idna/tables.go b/vendor/golang.org/x/text/internal/export/idna/tables.go index d2819345f..f910b2691 100644 --- a/vendor/golang.org/x/text/internal/export/idna/tables.go +++ b/vendor/golang.org/x/text/internal/export/idna/tables.go @@ -3,7 +3,7 @@ package idna // UnicodeVersion is the Unicode version from which the tables in this package are derived. -const UnicodeVersion = "9.0.0" +const UnicodeVersion = "10.0.0" var mappings string = "" + // Size: 8176 bytes "\x00\x01 \x03 ̈\x01a\x03 ̄\x012\x013\x03 ́\x03 ̧\x011\x01o\x051⁄4\x051⁄2" + @@ -544,7 +544,7 @@ func (t *idnaTrie) lookupStringUnsafe(s string) uint16 { return 0 } -// idnaTrie. Total size: 28496 bytes (27.83 KiB). Checksum: 43288b883596640e. +// idnaTrie. Total size: 29052 bytes (28.37 KiB). Checksum: ef06e7ecc26f36dd. type idnaTrie struct{} func newIdnaTrie(i int) *idnaTrie { @@ -554,17 +554,17 @@ func newIdnaTrie(i int) *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 < 123: + case n < 125: return uint16(idnaValues[n<<6+uint32(b)]) default: - n -= 123 + n -= 125 return uint16(idnaSparse.lookup(n, b)) } } -// idnaValues: 125 blocks, 8000 entries, 16000 bytes +// idnaValues: 127 blocks, 8128 entries, 16256 bytes // The third block is the zero block. -var idnaValues = [8000]uint16{ +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, @@ -675,14 +675,14 @@ var idnaValues = [8000]uint16{ 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: 0x1308, 0x283: 0x03f5, 0x284: 0x0379, 0x285: 0x040d, - 0x286: 0x1308, 0x287: 0x1308, 0x288: 0x1308, 0x289: 0x1308, 0x28a: 0x1308, 0x28b: 0x1308, - 0x28c: 0x1308, 0x28d: 0x1308, 0x28e: 0x1308, 0x28f: 0x13c0, 0x290: 0x1308, 0x291: 0x1308, - 0x292: 0x1308, 0x293: 0x1308, 0x294: 0x1308, 0x295: 0x1308, 0x296: 0x1308, 0x297: 0x1308, - 0x298: 0x1308, 0x299: 0x1308, 0x29a: 0x1308, 0x29b: 0x1308, 0x29c: 0x1308, 0x29d: 0x1308, - 0x29e: 0x1308, 0x29f: 0x1308, 0x2a0: 0x1308, 0x2a1: 0x1308, 0x2a2: 0x1308, 0x2a3: 0x1308, - 0x2a4: 0x1308, 0x2a5: 0x1308, 0x2a6: 0x1308, 0x2a7: 0x1308, 0x2a8: 0x1308, 0x2a9: 0x1308, - 0x2aa: 0x1308, 0x2ab: 0x1308, 0x2ac: 0x1308, 0x2ad: 0x1308, 0x2ae: 0x1308, 0x2af: 0x1308, + 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, @@ -723,8 +723,8 @@ var idnaValues = [8000]uint16{ 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: 0x1308, 0x384: 0x1308, 0x385: 0x1308, - 0x386: 0x1308, 0x387: 0x1308, 0x388: 0x1318, 0x389: 0x1318, 0x38a: 0xe00d, 0x38b: 0x0008, + 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, @@ -759,129 +759,129 @@ var idnaValues = [8000]uint16{ 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: 0x0040, 0x441: 0x0040, 0x442: 0x0040, 0x443: 0x0040, 0x444: 0x0040, 0x445: 0x0040, - 0x446: 0x0018, 0x447: 0x0018, 0x448: 0x0018, 0x449: 0x0018, 0x44a: 0x0018, 0x44b: 0x0018, - 0x44c: 0x0018, 0x44d: 0x0018, 0x44e: 0x0018, 0x44f: 0x0018, 0x450: 0x1308, 0x451: 0x1308, - 0x452: 0x1308, 0x453: 0x1308, 0x454: 0x1308, 0x455: 0x1308, 0x456: 0x1308, 0x457: 0x1308, - 0x458: 0x1308, 0x459: 0x1308, 0x45a: 0x1308, 0x45b: 0x0018, 0x45c: 0x0340, 0x45d: 0x0040, - 0x45e: 0x0018, 0x45f: 0x0018, 0x460: 0x0208, 0x461: 0x0008, 0x462: 0x0408, 0x463: 0x0408, - 0x464: 0x0408, 0x465: 0x0408, 0x466: 0x0208, 0x467: 0x0408, 0x468: 0x0208, 0x469: 0x0408, - 0x46a: 0x0208, 0x46b: 0x0208, 0x46c: 0x0208, 0x46d: 0x0208, 0x46e: 0x0208, 0x46f: 0x0408, - 0x470: 0x0408, 0x471: 0x0408, 0x472: 0x0408, 0x473: 0x0208, 0x474: 0x0208, 0x475: 0x0208, - 0x476: 0x0208, 0x477: 0x0208, 0x478: 0x0208, 0x479: 0x0208, 0x47a: 0x0208, 0x47b: 0x0208, - 0x47c: 0x0208, 0x47d: 0x0208, 0x47e: 0x0208, 0x47f: 0x0208, + 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: 0x0408, 0x481: 0x0208, 0x482: 0x0208, 0x483: 0x0408, 0x484: 0x0408, 0x485: 0x0408, - 0x486: 0x0408, 0x487: 0x0408, 0x488: 0x0408, 0x489: 0x0408, 0x48a: 0x0408, 0x48b: 0x0408, - 0x48c: 0x0208, 0x48d: 0x0408, 0x48e: 0x0208, 0x48f: 0x0408, 0x490: 0x0208, 0x491: 0x0208, - 0x492: 0x0408, 0x493: 0x0408, 0x494: 0x0018, 0x495: 0x0408, 0x496: 0x1308, 0x497: 0x1308, - 0x498: 0x1308, 0x499: 0x1308, 0x49a: 0x1308, 0x49b: 0x1308, 0x49c: 0x1308, 0x49d: 0x0040, - 0x49e: 0x0018, 0x49f: 0x1308, 0x4a0: 0x1308, 0x4a1: 0x1308, 0x4a2: 0x1308, 0x4a3: 0x1308, - 0x4a4: 0x1308, 0x4a5: 0x0008, 0x4a6: 0x0008, 0x4a7: 0x1308, 0x4a8: 0x1308, 0x4a9: 0x0018, - 0x4aa: 0x1308, 0x4ab: 0x1308, 0x4ac: 0x1308, 0x4ad: 0x1308, 0x4ae: 0x0408, 0x4af: 0x0408, - 0x4b0: 0x0008, 0x4b1: 0x0008, 0x4b2: 0x0008, 0x4b3: 0x0008, 0x4b4: 0x0008, 0x4b5: 0x0008, - 0x4b6: 0x0008, 0x4b7: 0x0008, 0x4b8: 0x0008, 0x4b9: 0x0008, 0x4ba: 0x0208, 0x4bb: 0x0208, - 0x4bc: 0x0208, 0x4bd: 0x0008, 0x4be: 0x0008, 0x4bf: 0x0208, + 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: 0x0018, 0x4c1: 0x0018, 0x4c2: 0x0018, 0x4c3: 0x0018, 0x4c4: 0x0018, 0x4c5: 0x0018, - 0x4c6: 0x0018, 0x4c7: 0x0018, 0x4c8: 0x0018, 0x4c9: 0x0018, 0x4ca: 0x0018, 0x4cb: 0x0018, - 0x4cc: 0x0018, 0x4cd: 0x0018, 0x4ce: 0x0040, 0x4cf: 0x0340, 0x4d0: 0x0408, 0x4d1: 0x1308, - 0x4d2: 0x0208, 0x4d3: 0x0208, 0x4d4: 0x0208, 0x4d5: 0x0408, 0x4d6: 0x0408, 0x4d7: 0x0408, - 0x4d8: 0x0408, 0x4d9: 0x0408, 0x4da: 0x0208, 0x4db: 0x0208, 0x4dc: 0x0208, 0x4dd: 0x0208, - 0x4de: 0x0408, 0x4df: 0x0208, 0x4e0: 0x0208, 0x4e1: 0x0208, 0x4e2: 0x0208, 0x4e3: 0x0208, - 0x4e4: 0x0208, 0x4e5: 0x0208, 0x4e6: 0x0208, 0x4e7: 0x0208, 0x4e8: 0x0408, 0x4e9: 0x0208, - 0x4ea: 0x0408, 0x4eb: 0x0208, 0x4ec: 0x0408, 0x4ed: 0x0208, 0x4ee: 0x0208, 0x4ef: 0x0408, - 0x4f0: 0x1308, 0x4f1: 0x1308, 0x4f2: 0x1308, 0x4f3: 0x1308, 0x4f4: 0x1308, 0x4f5: 0x1308, - 0x4f6: 0x1308, 0x4f7: 0x1308, 0x4f8: 0x1308, 0x4f9: 0x1308, 0x4fa: 0x1308, 0x4fb: 0x1308, - 0x4fc: 0x1308, 0x4fd: 0x1308, 0x4fe: 0x1308, 0x4ff: 0x1308, + 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: 0x1008, 0x501: 0x1308, 0x502: 0x1308, 0x503: 0x1308, 0x504: 0x1308, 0x505: 0x1308, - 0x506: 0x1308, 0x507: 0x1308, 0x508: 0x1308, 0x509: 0x1008, 0x50a: 0x1008, 0x50b: 0x1008, - 0x50c: 0x1008, 0x50d: 0x1b08, 0x50e: 0x1008, 0x50f: 0x1008, 0x510: 0x0008, 0x511: 0x1308, - 0x512: 0x1308, 0x513: 0x1308, 0x514: 0x1308, 0x515: 0x1308, 0x516: 0x1308, 0x517: 0x1308, - 0x518: 0x04c9, 0x519: 0x0501, 0x51a: 0x0539, 0x51b: 0x0571, 0x51c: 0x05a9, 0x51d: 0x05e1, - 0x51e: 0x0619, 0x51f: 0x0651, 0x520: 0x0008, 0x521: 0x0008, 0x522: 0x1308, 0x523: 0x1308, - 0x524: 0x0018, 0x525: 0x0018, 0x526: 0x0008, 0x527: 0x0008, 0x528: 0x0008, 0x529: 0x0008, - 0x52a: 0x0008, 0x52b: 0x0008, 0x52c: 0x0008, 0x52d: 0x0008, 0x52e: 0x0008, 0x52f: 0x0008, - 0x530: 0x0018, 0x531: 0x0008, 0x532: 0x0008, 0x533: 0x0008, 0x534: 0x0008, 0x535: 0x0008, - 0x536: 0x0008, 0x537: 0x0008, 0x538: 0x0008, 0x539: 0x0008, 0x53a: 0x0008, 0x53b: 0x0008, - 0x53c: 0x0008, 0x53d: 0x0008, 0x53e: 0x0008, 0x53f: 0x0008, + 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: 0x0008, 0x541: 0x1308, 0x542: 0x1008, 0x543: 0x1008, 0x544: 0x0040, 0x545: 0x0008, - 0x546: 0x0008, 0x547: 0x0008, 0x548: 0x0008, 0x549: 0x0008, 0x54a: 0x0008, 0x54b: 0x0008, - 0x54c: 0x0008, 0x54d: 0x0040, 0x54e: 0x0040, 0x54f: 0x0008, 0x550: 0x0008, 0x551: 0x0040, - 0x552: 0x0040, 0x553: 0x0008, 0x554: 0x0008, 0x555: 0x0008, 0x556: 0x0008, 0x557: 0x0008, - 0x558: 0x0008, 0x559: 0x0008, 0x55a: 0x0008, 0x55b: 0x0008, 0x55c: 0x0008, 0x55d: 0x0008, - 0x55e: 0x0008, 0x55f: 0x0008, 0x560: 0x0008, 0x561: 0x0008, 0x562: 0x0008, 0x563: 0x0008, - 0x564: 0x0008, 0x565: 0x0008, 0x566: 0x0008, 0x567: 0x0008, 0x568: 0x0008, 0x569: 0x0040, - 0x56a: 0x0008, 0x56b: 0x0008, 0x56c: 0x0008, 0x56d: 0x0008, 0x56e: 0x0008, 0x56f: 0x0008, - 0x570: 0x0008, 0x571: 0x0040, 0x572: 0x0008, 0x573: 0x0040, 0x574: 0x0040, 0x575: 0x0040, - 0x576: 0x0008, 0x577: 0x0008, 0x578: 0x0008, 0x579: 0x0008, 0x57a: 0x0040, 0x57b: 0x0040, - 0x57c: 0x1308, 0x57d: 0x0008, 0x57e: 0x1008, 0x57f: 0x1008, + 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: 0x1008, 0x581: 0x1308, 0x582: 0x1308, 0x583: 0x1308, 0x584: 0x1308, 0x585: 0x0040, - 0x586: 0x0040, 0x587: 0x1008, 0x588: 0x1008, 0x589: 0x0040, 0x58a: 0x0040, 0x58b: 0x1008, - 0x58c: 0x1008, 0x58d: 0x1b08, 0x58e: 0x0008, 0x58f: 0x0040, 0x590: 0x0040, 0x591: 0x0040, - 0x592: 0x0040, 0x593: 0x0040, 0x594: 0x0040, 0x595: 0x0040, 0x596: 0x0040, 0x597: 0x1008, - 0x598: 0x0040, 0x599: 0x0040, 0x59a: 0x0040, 0x59b: 0x0040, 0x59c: 0x0689, 0x59d: 0x06c1, - 0x59e: 0x0040, 0x59f: 0x06f9, 0x5a0: 0x0008, 0x5a1: 0x0008, 0x5a2: 0x1308, 0x5a3: 0x1308, - 0x5a4: 0x0040, 0x5a5: 0x0040, 0x5a6: 0x0008, 0x5a7: 0x0008, 0x5a8: 0x0008, 0x5a9: 0x0008, + 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: 0x0008, 0x5b1: 0x0008, 0x5b2: 0x0018, 0x5b3: 0x0018, 0x5b4: 0x0018, 0x5b5: 0x0018, - 0x5b6: 0x0018, 0x5b7: 0x0018, 0x5b8: 0x0018, 0x5b9: 0x0018, 0x5ba: 0x0018, 0x5bb: 0x0018, - 0x5bc: 0x0040, 0x5bd: 0x0040, 0x5be: 0x0040, 0x5bf: 0x0040, + 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: 0x0040, 0x5c1: 0x1308, 0x5c2: 0x1308, 0x5c3: 0x1008, 0x5c4: 0x0040, 0x5c5: 0x0008, - 0x5c6: 0x0008, 0x5c7: 0x0008, 0x5c8: 0x0008, 0x5c9: 0x0008, 0x5ca: 0x0008, 0x5cb: 0x0040, - 0x5cc: 0x0040, 0x5cd: 0x0040, 0x5ce: 0x0040, 0x5cf: 0x0008, 0x5d0: 0x0008, 0x5d1: 0x0040, + 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: 0x0731, 0x5f4: 0x0040, 0x5f5: 0x0008, - 0x5f6: 0x0769, 0x5f7: 0x0040, 0x5f8: 0x0008, 0x5f9: 0x0008, 0x5fa: 0x0040, 0x5fb: 0x0040, - 0x5fc: 0x1308, 0x5fd: 0x0040, 0x5fe: 0x1008, 0x5ff: 0x1008, + 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: 0x1008, 0x601: 0x1308, 0x602: 0x1308, 0x603: 0x0040, 0x604: 0x0040, 0x605: 0x0040, - 0x606: 0x0040, 0x607: 0x1308, 0x608: 0x1308, 0x609: 0x0040, 0x60a: 0x0040, 0x60b: 0x1308, - 0x60c: 0x1308, 0x60d: 0x1b08, 0x60e: 0x0040, 0x60f: 0x0040, 0x610: 0x0040, 0x611: 0x1308, - 0x612: 0x0040, 0x613: 0x0040, 0x614: 0x0040, 0x615: 0x0040, 0x616: 0x0040, 0x617: 0x0040, - 0x618: 0x0040, 0x619: 0x07a1, 0x61a: 0x07d9, 0x61b: 0x0811, 0x61c: 0x0008, 0x61d: 0x0040, - 0x61e: 0x0849, 0x61f: 0x0040, 0x620: 0x0040, 0x621: 0x0040, 0x622: 0x0040, 0x623: 0x0040, + 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: 0x1308, 0x631: 0x1308, 0x632: 0x0008, 0x633: 0x0008, 0x634: 0x0008, 0x635: 0x1308, - 0x636: 0x0040, 0x637: 0x0040, 0x638: 0x0040, 0x639: 0x0040, 0x63a: 0x0040, 0x63b: 0x0040, - 0x63c: 0x0040, 0x63d: 0x0040, 0x63e: 0x0040, 0x63f: 0x0040, + 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: 0x1308, 0x642: 0x1308, 0x643: 0x1008, 0x644: 0x0040, 0x645: 0x0008, - 0x646: 0x0008, 0x647: 0x0008, 0x648: 0x0008, 0x649: 0x0008, 0x64a: 0x0008, 0x64b: 0x0008, - 0x64c: 0x0008, 0x64d: 0x0008, 0x64e: 0x0040, 0x64f: 0x0008, 0x650: 0x0008, 0x651: 0x0008, + 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: 0x0008, 0x674: 0x0040, 0x675: 0x0008, - 0x676: 0x0008, 0x677: 0x0008, 0x678: 0x0008, 0x679: 0x0008, 0x67a: 0x0040, 0x67b: 0x0040, - 0x67c: 0x1308, 0x67d: 0x0008, 0x67e: 0x1008, 0x67f: 0x1008, + 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: 0x1008, 0x681: 0x1308, 0x682: 0x1308, 0x683: 0x1308, 0x684: 0x1308, 0x685: 0x1308, - 0x686: 0x0040, 0x687: 0x1308, 0x688: 0x1308, 0x689: 0x1008, 0x68a: 0x0040, 0x68b: 0x1008, - 0x68c: 0x1008, 0x68d: 0x1b08, 0x68e: 0x0040, 0x68f: 0x0040, 0x690: 0x0008, 0x691: 0x0040, + 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: 0x0040, 0x69a: 0x0040, 0x69b: 0x0040, 0x69c: 0x0040, 0x69d: 0x0040, - 0x69e: 0x0040, 0x69f: 0x0040, 0x6a0: 0x0008, 0x6a1: 0x0008, 0x6a2: 0x1308, 0x6a3: 0x1308, + 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: 0x0018, 0x6b1: 0x0018, 0x6b2: 0x0040, 0x6b3: 0x0040, 0x6b4: 0x0040, 0x6b5: 0x0040, - 0x6b6: 0x0040, 0x6b7: 0x0040, 0x6b8: 0x0040, 0x6b9: 0x0008, 0x6ba: 0x0040, 0x6bb: 0x0040, + 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: 0x1308, 0x6c2: 0x1008, 0x6c3: 0x1008, 0x6c4: 0x0040, 0x6c5: 0x0008, + 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: 0x0040, 0x6ce: 0x0040, 0x6cf: 0x0008, 0x6d0: 0x0008, 0x6d1: 0x0040, + 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, @@ -889,1457 +889,1490 @@ var idnaValues = [8000]uint16{ 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: 0x1308, 0x6fd: 0x0008, 0x6fe: 0x1008, 0x6ff: 0x1308, + 0x6fc: 0x3308, 0x6fd: 0x0008, 0x6fe: 0x3008, 0x6ff: 0x3008, // Block 0x1c, offset 0x700 - 0x700: 0x1008, 0x701: 0x1308, 0x702: 0x1308, 0x703: 0x1308, 0x704: 0x1308, 0x705: 0x0040, - 0x706: 0x0040, 0x707: 0x1008, 0x708: 0x1008, 0x709: 0x0040, 0x70a: 0x0040, 0x70b: 0x1008, - 0x70c: 0x1008, 0x70d: 0x1b08, 0x70e: 0x0040, 0x70f: 0x0040, 0x710: 0x0040, 0x711: 0x0040, - 0x712: 0x0040, 0x713: 0x0040, 0x714: 0x0040, 0x715: 0x0040, 0x716: 0x1308, 0x717: 0x1008, - 0x718: 0x0040, 0x719: 0x0040, 0x71a: 0x0040, 0x71b: 0x0040, 0x71c: 0x0881, 0x71d: 0x08b9, - 0x71e: 0x0040, 0x71f: 0x0008, 0x720: 0x0008, 0x721: 0x0008, 0x722: 0x1308, 0x723: 0x1308, + 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: 0x0008, 0x732: 0x0018, 0x733: 0x0018, 0x734: 0x0018, 0x735: 0x0018, - 0x736: 0x0018, 0x737: 0x0018, 0x738: 0x0040, 0x739: 0x0040, 0x73a: 0x0040, 0x73b: 0x0040, - 0x73c: 0x0040, 0x73d: 0x0040, 0x73e: 0x0040, 0x73f: 0x0040, + 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: 0x0040, 0x742: 0x1308, 0x743: 0x0008, 0x744: 0x0040, 0x745: 0x0008, - 0x746: 0x0008, 0x747: 0x0008, 0x748: 0x0008, 0x749: 0x0008, 0x74a: 0x0008, 0x74b: 0x0040, - 0x74c: 0x0040, 0x74d: 0x0040, 0x74e: 0x0008, 0x74f: 0x0008, 0x750: 0x0008, 0x751: 0x0040, - 0x752: 0x0008, 0x753: 0x0008, 0x754: 0x0008, 0x755: 0x0008, 0x756: 0x0040, 0x757: 0x0040, - 0x758: 0x0040, 0x759: 0x0008, 0x75a: 0x0008, 0x75b: 0x0040, 0x75c: 0x0008, 0x75d: 0x0040, - 0x75e: 0x0008, 0x75f: 0x0008, 0x760: 0x0040, 0x761: 0x0040, 0x762: 0x0040, 0x763: 0x0008, - 0x764: 0x0008, 0x765: 0x0040, 0x766: 0x0040, 0x767: 0x0040, 0x768: 0x0008, 0x769: 0x0008, - 0x76a: 0x0008, 0x76b: 0x0040, 0x76c: 0x0040, 0x76d: 0x0040, 0x76e: 0x0008, 0x76f: 0x0008, - 0x770: 0x0008, 0x771: 0x0008, 0x772: 0x0008, 0x773: 0x0008, 0x774: 0x0008, 0x775: 0x0008, + 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: 0x0040, 0x77d: 0x0040, 0x77e: 0x1008, 0x77f: 0x1008, + 0x77c: 0x3308, 0x77d: 0x0008, 0x77e: 0x3008, 0x77f: 0x3308, // Block 0x1e, offset 0x780 - 0x780: 0x1308, 0x781: 0x1008, 0x782: 0x1008, 0x783: 0x1008, 0x784: 0x1008, 0x785: 0x0040, - 0x786: 0x1308, 0x787: 0x1308, 0x788: 0x1308, 0x789: 0x0040, 0x78a: 0x1308, 0x78b: 0x1308, - 0x78c: 0x1308, 0x78d: 0x1b08, 0x78e: 0x0040, 0x78f: 0x0040, 0x790: 0x0040, 0x791: 0x0040, - 0x792: 0x0040, 0x793: 0x0040, 0x794: 0x0040, 0x795: 0x1308, 0x796: 0x1308, 0x797: 0x0040, - 0x798: 0x0008, 0x799: 0x0008, 0x79a: 0x0008, 0x79b: 0x0040, 0x79c: 0x0040, 0x79d: 0x0040, - 0x79e: 0x0040, 0x79f: 0x0040, 0x7a0: 0x0008, 0x7a1: 0x0008, 0x7a2: 0x1308, 0x7a3: 0x1308, + 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: 0x0040, 0x7b1: 0x0040, 0x7b2: 0x0040, 0x7b3: 0x0040, 0x7b4: 0x0040, 0x7b5: 0x0040, - 0x7b6: 0x0040, 0x7b7: 0x0040, 0x7b8: 0x0018, 0x7b9: 0x0018, 0x7ba: 0x0018, 0x7bb: 0x0018, - 0x7bc: 0x0018, 0x7bd: 0x0018, 0x7be: 0x0018, 0x7bf: 0x0018, + 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: 0x0008, 0x7c1: 0x1308, 0x7c2: 0x1008, 0x7c3: 0x1008, 0x7c4: 0x0040, 0x7c5: 0x0008, - 0x7c6: 0x0008, 0x7c7: 0x0008, 0x7c8: 0x0008, 0x7c9: 0x0008, 0x7ca: 0x0008, 0x7cb: 0x0008, - 0x7cc: 0x0008, 0x7cd: 0x0040, 0x7ce: 0x0008, 0x7cf: 0x0008, 0x7d0: 0x0008, 0x7d1: 0x0040, - 0x7d2: 0x0008, 0x7d3: 0x0008, 0x7d4: 0x0008, 0x7d5: 0x0008, 0x7d6: 0x0008, 0x7d7: 0x0008, - 0x7d8: 0x0008, 0x7d9: 0x0008, 0x7da: 0x0008, 0x7db: 0x0008, 0x7dc: 0x0008, 0x7dd: 0x0008, - 0x7de: 0x0008, 0x7df: 0x0008, 0x7e0: 0x0008, 0x7e1: 0x0008, 0x7e2: 0x0008, 0x7e3: 0x0008, - 0x7e4: 0x0008, 0x7e5: 0x0008, 0x7e6: 0x0008, 0x7e7: 0x0008, 0x7e8: 0x0008, 0x7e9: 0x0040, - 0x7ea: 0x0008, 0x7eb: 0x0008, 0x7ec: 0x0008, 0x7ed: 0x0008, 0x7ee: 0x0008, 0x7ef: 0x0008, - 0x7f0: 0x0008, 0x7f1: 0x0008, 0x7f2: 0x0008, 0x7f3: 0x0008, 0x7f4: 0x0040, 0x7f5: 0x0008, + 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: 0x1308, 0x7fd: 0x0008, 0x7fe: 0x1008, 0x7ff: 0x1308, + 0x7fc: 0x0040, 0x7fd: 0x0040, 0x7fe: 0x3008, 0x7ff: 0x3008, // Block 0x20, offset 0x800 - 0x800: 0x1008, 0x801: 0x1008, 0x802: 0x1008, 0x803: 0x1008, 0x804: 0x1008, 0x805: 0x0040, - 0x806: 0x1308, 0x807: 0x1008, 0x808: 0x1008, 0x809: 0x0040, 0x80a: 0x1008, 0x80b: 0x1008, - 0x80c: 0x1308, 0x80d: 0x1b08, 0x80e: 0x0040, 0x80f: 0x0040, 0x810: 0x0040, 0x811: 0x0040, - 0x812: 0x0040, 0x813: 0x0040, 0x814: 0x0040, 0x815: 0x1008, 0x816: 0x1008, 0x817: 0x0040, - 0x818: 0x0040, 0x819: 0x0040, 0x81a: 0x0040, 0x81b: 0x0040, 0x81c: 0x0040, 0x81d: 0x0040, - 0x81e: 0x0008, 0x81f: 0x0040, 0x820: 0x0008, 0x821: 0x0008, 0x822: 0x1308, 0x823: 0x1308, + 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: 0x0008, 0x832: 0x0008, 0x833: 0x0040, 0x834: 0x0040, 0x835: 0x0040, - 0x836: 0x0040, 0x837: 0x0040, 0x838: 0x0040, 0x839: 0x0040, 0x83a: 0x0040, 0x83b: 0x0040, - 0x83c: 0x0040, 0x83d: 0x0040, 0x83e: 0x0040, 0x83f: 0x0040, + 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: 0x1008, 0x841: 0x1308, 0x842: 0x1308, 0x843: 0x1308, 0x844: 0x1308, 0x845: 0x0040, - 0x846: 0x1008, 0x847: 0x1008, 0x848: 0x1008, 0x849: 0x0040, 0x84a: 0x1008, 0x84b: 0x1008, - 0x84c: 0x1008, 0x84d: 0x1b08, 0x84e: 0x0008, 0x84f: 0x0018, 0x850: 0x0040, 0x851: 0x0040, - 0x852: 0x0040, 0x853: 0x0040, 0x854: 0x0008, 0x855: 0x0008, 0x856: 0x0008, 0x857: 0x1008, - 0x858: 0x0018, 0x859: 0x0018, 0x85a: 0x0018, 0x85b: 0x0018, 0x85c: 0x0018, 0x85d: 0x0018, - 0x85e: 0x0018, 0x85f: 0x0008, 0x860: 0x0008, 0x861: 0x0008, 0x862: 0x1308, 0x863: 0x1308, - 0x864: 0x0040, 0x865: 0x0040, 0x866: 0x0008, 0x867: 0x0008, 0x868: 0x0008, 0x869: 0x0008, + 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: 0x0018, 0x871: 0x0018, 0x872: 0x0018, 0x873: 0x0018, 0x874: 0x0018, 0x875: 0x0018, - 0x876: 0x0018, 0x877: 0x0018, 0x878: 0x0018, 0x879: 0x0018, 0x87a: 0x0008, 0x87b: 0x0008, - 0x87c: 0x0008, 0x87d: 0x0008, 0x87e: 0x0008, 0x87f: 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: 0x0040, 0x881: 0x0008, 0x882: 0x0008, 0x883: 0x0040, 0x884: 0x0008, 0x885: 0x0040, - 0x886: 0x0040, 0x887: 0x0008, 0x888: 0x0008, 0x889: 0x0040, 0x88a: 0x0008, 0x88b: 0x0040, - 0x88c: 0x0040, 0x88d: 0x0008, 0x88e: 0x0040, 0x88f: 0x0040, 0x890: 0x0040, 0x891: 0x0040, - 0x892: 0x0040, 0x893: 0x0040, 0x894: 0x0008, 0x895: 0x0008, 0x896: 0x0008, 0x897: 0x0008, - 0x898: 0x0040, 0x899: 0x0008, 0x89a: 0x0008, 0x89b: 0x0008, 0x89c: 0x0008, 0x89d: 0x0008, - 0x89e: 0x0008, 0x89f: 0x0008, 0x8a0: 0x0040, 0x8a1: 0x0008, 0x8a2: 0x0008, 0x8a3: 0x0008, - 0x8a4: 0x0040, 0x8a5: 0x0008, 0x8a6: 0x0040, 0x8a7: 0x0008, 0x8a8: 0x0040, 0x8a9: 0x0040, - 0x8aa: 0x0008, 0x8ab: 0x0008, 0x8ac: 0x0040, 0x8ad: 0x0008, 0x8ae: 0x0008, 0x8af: 0x0008, - 0x8b0: 0x0008, 0x8b1: 0x1308, 0x8b2: 0x0008, 0x8b3: 0x0929, 0x8b4: 0x1308, 0x8b5: 0x1308, - 0x8b6: 0x1308, 0x8b7: 0x1308, 0x8b8: 0x1308, 0x8b9: 0x1308, 0x8ba: 0x0040, 0x8bb: 0x1308, - 0x8bc: 0x1308, 0x8bd: 0x0008, 0x8be: 0x0040, 0x8bf: 0x0040, + 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: 0x0008, 0x8c1: 0x0008, 0x8c2: 0x0008, 0x8c3: 0x09d1, 0x8c4: 0x0008, 0x8c5: 0x0008, - 0x8c6: 0x0008, 0x8c7: 0x0008, 0x8c8: 0x0040, 0x8c9: 0x0008, 0x8ca: 0x0008, 0x8cb: 0x0008, - 0x8cc: 0x0008, 0x8cd: 0x0a09, 0x8ce: 0x0008, 0x8cf: 0x0008, 0x8d0: 0x0008, 0x8d1: 0x0008, - 0x8d2: 0x0a41, 0x8d3: 0x0008, 0x8d4: 0x0008, 0x8d5: 0x0008, 0x8d6: 0x0008, 0x8d7: 0x0a79, - 0x8d8: 0x0008, 0x8d9: 0x0008, 0x8da: 0x0008, 0x8db: 0x0008, 0x8dc: 0x0ab1, 0x8dd: 0x0008, - 0x8de: 0x0008, 0x8df: 0x0008, 0x8e0: 0x0008, 0x8e1: 0x0008, 0x8e2: 0x0008, 0x8e3: 0x0008, - 0x8e4: 0x0008, 0x8e5: 0x0008, 0x8e6: 0x0008, 0x8e7: 0x0008, 0x8e8: 0x0008, 0x8e9: 0x0ae9, - 0x8ea: 0x0008, 0x8eb: 0x0008, 0x8ec: 0x0008, 0x8ed: 0x0040, 0x8ee: 0x0040, 0x8ef: 0x0040, - 0x8f0: 0x0040, 0x8f1: 0x1308, 0x8f2: 0x1308, 0x8f3: 0x0b21, 0x8f4: 0x1308, 0x8f5: 0x0b59, - 0x8f6: 0x0b91, 0x8f7: 0x0bc9, 0x8f8: 0x0c19, 0x8f9: 0x0c51, 0x8fa: 0x1308, 0x8fb: 0x1308, - 0x8fc: 0x1308, 0x8fd: 0x1308, 0x8fe: 0x1308, 0x8ff: 0x1008, + 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: 0x1308, 0x901: 0x0ca1, 0x902: 0x1308, 0x903: 0x1308, 0x904: 0x1b08, 0x905: 0x0018, - 0x906: 0x1308, 0x907: 0x1308, 0x908: 0x0008, 0x909: 0x0008, 0x90a: 0x0008, 0x90b: 0x0008, - 0x90c: 0x0008, 0x90d: 0x1308, 0x90e: 0x1308, 0x90f: 0x1308, 0x910: 0x1308, 0x911: 0x1308, - 0x912: 0x1308, 0x913: 0x0cd9, 0x914: 0x1308, 0x915: 0x1308, 0x916: 0x1308, 0x917: 0x1308, - 0x918: 0x0040, 0x919: 0x1308, 0x91a: 0x1308, 0x91b: 0x1308, 0x91c: 0x1308, 0x91d: 0x0d11, - 0x91e: 0x1308, 0x91f: 0x1308, 0x920: 0x1308, 0x921: 0x1308, 0x922: 0x0d49, 0x923: 0x1308, - 0x924: 0x1308, 0x925: 0x1308, 0x926: 0x1308, 0x927: 0x0d81, 0x928: 0x1308, 0x929: 0x1308, - 0x92a: 0x1308, 0x92b: 0x1308, 0x92c: 0x0db9, 0x92d: 0x1308, 0x92e: 0x1308, 0x92f: 0x1308, - 0x930: 0x1308, 0x931: 0x1308, 0x932: 0x1308, 0x933: 0x1308, 0x934: 0x1308, 0x935: 0x1308, - 0x936: 0x1308, 0x937: 0x1308, 0x938: 0x1308, 0x939: 0x0df1, 0x93a: 0x1308, 0x93b: 0x1308, - 0x93c: 0x1308, 0x93d: 0x0040, 0x93e: 0x0018, 0x93f: 0x0018, + 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: 0x0008, 0x944: 0x0008, 0x945: 0x0008, - 0x946: 0x0008, 0x947: 0x0008, 0x948: 0x0008, 0x949: 0x0008, 0x94a: 0x0008, 0x94b: 0x0008, - 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, + 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: 0x0008, - 0x96a: 0x0008, 0x96b: 0x0008, 0x96c: 0x0039, 0x96d: 0x0ed1, 0x96e: 0x0ee9, 0x96f: 0x0008, - 0x970: 0x0ef9, 0x971: 0x0f09, 0x972: 0x0f19, 0x973: 0x0f31, 0x974: 0x0249, 0x975: 0x0f41, - 0x976: 0x0259, 0x977: 0x0f51, 0x978: 0x0359, 0x979: 0x0f61, 0x97a: 0x0f71, 0x97b: 0x0008, - 0x97c: 0x00d9, 0x97d: 0x0f81, 0x97e: 0x0f99, 0x97f: 0x0269, + 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: 0x0fa9, 0x981: 0x0fb9, 0x982: 0x0279, 0x983: 0x0039, 0x984: 0x0fc9, 0x985: 0x0fe1, - 0x986: 0x059d, 0x987: 0x0ee9, 0x988: 0x0ef9, 0x989: 0x0f09, 0x98a: 0x0ff9, 0x98b: 0x1011, - 0x98c: 0x1029, 0x98d: 0x0f31, 0x98e: 0x0008, 0x98f: 0x0f51, 0x990: 0x0f61, 0x991: 0x1041, - 0x992: 0x00d9, 0x993: 0x1059, 0x994: 0x05b5, 0x995: 0x05b5, 0x996: 0x0f99, 0x997: 0x0fa9, - 0x998: 0x0fb9, 0x999: 0x059d, 0x99a: 0x1071, 0x99b: 0x1089, 0x99c: 0x05cd, 0x99d: 0x1099, - 0x99e: 0x10b1, 0x99f: 0x10c9, 0x9a0: 0x10e1, 0x9a1: 0x10f9, 0x9a2: 0x0f41, 0x9a3: 0x0269, - 0x9a4: 0x0fb9, 0x9a5: 0x1089, 0x9a6: 0x1099, 0x9a7: 0x10b1, 0x9a8: 0x1111, 0x9a9: 0x10e1, - 0x9aa: 0x10f9, 0x9ab: 0x0008, 0x9ac: 0x0008, 0x9ad: 0x0008, 0x9ae: 0x0008, 0x9af: 0x0008, - 0x9b0: 0x0008, 0x9b1: 0x0008, 0x9b2: 0x0008, 0x9b3: 0x0008, 0x9b4: 0x0008, 0x9b5: 0x0008, - 0x9b6: 0x0008, 0x9b7: 0x0008, 0x9b8: 0x1129, 0x9b9: 0x0008, 0x9ba: 0x0008, 0x9bb: 0x0008, - 0x9bc: 0x0008, 0x9bd: 0x0008, 0x9be: 0x0008, 0x9bf: 0x0008, + 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: 0x1141, 0x9dc: 0x1159, 0x9dd: 0x1169, - 0x9de: 0x1181, 0x9df: 0x1029, 0x9e0: 0x1199, 0x9e1: 0x11a9, 0x9e2: 0x11c1, 0x9e3: 0x11d9, - 0x9e4: 0x11f1, 0x9e5: 0x1209, 0x9e6: 0x1221, 0x9e7: 0x05e5, 0x9e8: 0x1239, 0x9e9: 0x1251, - 0x9ea: 0xe17d, 0x9eb: 0x1269, 0x9ec: 0x1281, 0x9ed: 0x1299, 0x9ee: 0x12b1, 0x9ef: 0x12c9, - 0x9f0: 0x12e1, 0x9f1: 0x12f9, 0x9f2: 0x1311, 0x9f3: 0x1329, 0x9f4: 0x1341, 0x9f5: 0x1359, - 0x9f6: 0x1371, 0x9f7: 0x1389, 0x9f8: 0x05fd, 0x9f9: 0x13a1, 0x9fa: 0x13b9, 0x9fb: 0x13d1, - 0x9fc: 0x13e1, 0x9fd: 0x13f9, 0x9fe: 0x1411, 0x9ff: 0x1429, + 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: 0xe00d, 0xa01: 0x0008, 0xa02: 0xe00d, 0xa03: 0x0008, 0xa04: 0xe00d, 0xa05: 0x0008, - 0xa06: 0xe00d, 0xa07: 0x0008, 0xa08: 0xe00d, 0xa09: 0x0008, 0xa0a: 0xe00d, 0xa0b: 0x0008, - 0xa0c: 0xe00d, 0xa0d: 0x0008, 0xa0e: 0xe00d, 0xa0f: 0x0008, 0xa10: 0xe00d, 0xa11: 0x0008, - 0xa12: 0xe00d, 0xa13: 0x0008, 0xa14: 0xe00d, 0xa15: 0x0008, 0xa16: 0xe00d, 0xa17: 0x0008, - 0xa18: 0xe00d, 0xa19: 0x0008, 0xa1a: 0xe00d, 0xa1b: 0x0008, 0xa1c: 0xe00d, 0xa1d: 0x0008, - 0xa1e: 0xe00d, 0xa1f: 0x0008, 0xa20: 0xe00d, 0xa21: 0x0008, 0xa22: 0xe00d, 0xa23: 0x0008, - 0xa24: 0xe00d, 0xa25: 0x0008, 0xa26: 0xe00d, 0xa27: 0x0008, 0xa28: 0xe00d, 0xa29: 0x0008, - 0xa2a: 0xe00d, 0xa2b: 0x0008, 0xa2c: 0xe00d, 0xa2d: 0x0008, 0xa2e: 0xe00d, 0xa2f: 0x0008, - 0xa30: 0xe00d, 0xa31: 0x0008, 0xa32: 0xe00d, 0xa33: 0x0008, 0xa34: 0xe00d, 0xa35: 0x0008, - 0xa36: 0xe00d, 0xa37: 0x0008, 0xa38: 0xe00d, 0xa39: 0x0008, 0xa3a: 0xe00d, 0xa3b: 0x0008, - 0xa3c: 0xe00d, 0xa3d: 0x0008, 0xa3e: 0xe00d, 0xa3f: 0x0008, + 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: 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: 0x0008, 0xa57: 0x0008, - 0xa58: 0x0008, 0xa59: 0x0008, 0xa5a: 0x0615, 0xa5b: 0x0635, 0xa5c: 0x0008, 0xa5d: 0x0008, - 0xa5e: 0x1441, 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, + 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: 0x0008, 0xa81: 0x0008, 0xa82: 0x0008, 0xa83: 0x0008, 0xa84: 0x0008, 0xa85: 0x0008, - 0xa86: 0x0040, 0xa87: 0x0040, 0xa88: 0xe045, 0xa89: 0xe045, 0xa8a: 0xe045, 0xa8b: 0xe045, - 0xa8c: 0xe045, 0xa8d: 0xe045, 0xa8e: 0x0040, 0xa8f: 0x0040, 0xa90: 0x0008, 0xa91: 0x0008, - 0xa92: 0x0008, 0xa93: 0x0008, 0xa94: 0x0008, 0xa95: 0x0008, 0xa96: 0x0008, 0xa97: 0x0008, - 0xa98: 0x0040, 0xa99: 0xe045, 0xa9a: 0x0040, 0xa9b: 0xe045, 0xa9c: 0x0040, 0xa9d: 0xe045, - 0xa9e: 0x0040, 0xa9f: 0xe045, 0xaa0: 0x0008, 0xaa1: 0x0008, 0xaa2: 0x0008, 0xaa3: 0x0008, - 0xaa4: 0x0008, 0xaa5: 0x0008, 0xaa6: 0x0008, 0xaa7: 0x0008, 0xaa8: 0xe045, 0xaa9: 0xe045, - 0xaaa: 0xe045, 0xaab: 0xe045, 0xaac: 0xe045, 0xaad: 0xe045, 0xaae: 0xe045, 0xaaf: 0xe045, - 0xab0: 0x0008, 0xab1: 0x1459, 0xab2: 0x0008, 0xab3: 0x1471, 0xab4: 0x0008, 0xab5: 0x1489, - 0xab6: 0x0008, 0xab7: 0x14a1, 0xab8: 0x0008, 0xab9: 0x14b9, 0xaba: 0x0008, 0xabb: 0x14d1, - 0xabc: 0x0008, 0xabd: 0x14e9, 0xabe: 0x0040, 0xabf: 0x0040, + 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: 0x1501, 0xac1: 0x1531, 0xac2: 0x1561, 0xac3: 0x1591, 0xac4: 0x15c1, 0xac5: 0x15f1, - 0xac6: 0x1621, 0xac7: 0x1651, 0xac8: 0x1501, 0xac9: 0x1531, 0xaca: 0x1561, 0xacb: 0x1591, - 0xacc: 0x15c1, 0xacd: 0x15f1, 0xace: 0x1621, 0xacf: 0x1651, 0xad0: 0x1681, 0xad1: 0x16b1, - 0xad2: 0x16e1, 0xad3: 0x1711, 0xad4: 0x1741, 0xad5: 0x1771, 0xad6: 0x17a1, 0xad7: 0x17d1, - 0xad8: 0x1681, 0xad9: 0x16b1, 0xada: 0x16e1, 0xadb: 0x1711, 0xadc: 0x1741, 0xadd: 0x1771, - 0xade: 0x17a1, 0xadf: 0x17d1, 0xae0: 0x1801, 0xae1: 0x1831, 0xae2: 0x1861, 0xae3: 0x1891, - 0xae4: 0x18c1, 0xae5: 0x18f1, 0xae6: 0x1921, 0xae7: 0x1951, 0xae8: 0x1801, 0xae9: 0x1831, - 0xaea: 0x1861, 0xaeb: 0x1891, 0xaec: 0x18c1, 0xaed: 0x18f1, 0xaee: 0x1921, 0xaef: 0x1951, - 0xaf0: 0x0008, 0xaf1: 0x0008, 0xaf2: 0x1981, 0xaf3: 0x19b1, 0xaf4: 0x19d9, 0xaf5: 0x0040, - 0xaf6: 0x0008, 0xaf7: 0x1a01, 0xaf8: 0xe045, 0xaf9: 0xe045, 0xafa: 0x064d, 0xafb: 0x1459, - 0xafc: 0x19b1, 0xafd: 0x0666, 0xafe: 0x1a31, 0xaff: 0x0686, + 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: 0x06a6, 0xb01: 0x1a4a, 0xb02: 0x1a79, 0xb03: 0x1aa9, 0xb04: 0x1ad1, 0xb05: 0x0040, - 0xb06: 0x0008, 0xb07: 0x1af9, 0xb08: 0x06c5, 0xb09: 0x1471, 0xb0a: 0x06dd, 0xb0b: 0x1489, - 0xb0c: 0x1aa9, 0xb0d: 0x1b2a, 0xb0e: 0x1b5a, 0xb0f: 0x1b8a, 0xb10: 0x0008, 0xb11: 0x0008, - 0xb12: 0x0008, 0xb13: 0x1bb9, 0xb14: 0x0040, 0xb15: 0x0040, 0xb16: 0x0008, 0xb17: 0x0008, - 0xb18: 0xe045, 0xb19: 0xe045, 0xb1a: 0x06f5, 0xb1b: 0x14a1, 0xb1c: 0x0040, 0xb1d: 0x1bd2, - 0xb1e: 0x1c02, 0xb1f: 0x1c32, 0xb20: 0x0008, 0xb21: 0x0008, 0xb22: 0x0008, 0xb23: 0x1c61, + 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: 0x070d, 0xb2b: 0x14d1, 0xb2c: 0xe04d, 0xb2d: 0x1c7a, 0xb2e: 0x03d2, 0xb2f: 0x1caa, - 0xb30: 0x0040, 0xb31: 0x0040, 0xb32: 0x1cb9, 0xb33: 0x1ce9, 0xb34: 0x1d11, 0xb35: 0x0040, - 0xb36: 0x0008, 0xb37: 0x1d39, 0xb38: 0x0725, 0xb39: 0x14b9, 0xb3a: 0x0515, 0xb3b: 0x14e9, - 0xb3c: 0x1ce9, 0xb3d: 0x073e, 0xb3e: 0x075e, 0xb3f: 0x0040, + 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: 0x000a, 0xb41: 0x000a, 0xb42: 0x000a, 0xb43: 0x000a, 0xb44: 0x000a, 0xb45: 0x000a, - 0xb46: 0x000a, 0xb47: 0x000a, 0xb48: 0x000a, 0xb49: 0x000a, 0xb4a: 0x000a, 0xb4b: 0x03c0, - 0xb4c: 0x0003, 0xb4d: 0x0003, 0xb4e: 0x0340, 0xb4f: 0x0340, 0xb50: 0x0018, 0xb51: 0xe00d, - 0xb52: 0x0018, 0xb53: 0x0018, 0xb54: 0x0018, 0xb55: 0x0018, 0xb56: 0x0018, 0xb57: 0x077e, - 0xb58: 0x0018, 0xb59: 0x0018, 0xb5a: 0x0018, 0xb5b: 0x0018, 0xb5c: 0x0018, 0xb5d: 0x0018, - 0xb5e: 0x0018, 0xb5f: 0x0018, 0xb60: 0x0018, 0xb61: 0x0018, 0xb62: 0x0018, 0xb63: 0x0018, - 0xb64: 0x0040, 0xb65: 0x0040, 0xb66: 0x0040, 0xb67: 0x0018, 0xb68: 0x0040, 0xb69: 0x0040, - 0xb6a: 0x0340, 0xb6b: 0x0340, 0xb6c: 0x0340, 0xb6d: 0x0340, 0xb6e: 0x0340, 0xb6f: 0x000a, - 0xb70: 0x0018, 0xb71: 0x0018, 0xb72: 0x0018, 0xb73: 0x1d69, 0xb74: 0x1da1, 0xb75: 0x0018, - 0xb76: 0x1df1, 0xb77: 0x1e29, 0xb78: 0x0018, 0xb79: 0x0018, 0xb7a: 0x0018, 0xb7b: 0x0018, - 0xb7c: 0x1e7a, 0xb7d: 0x0018, 0xb7e: 0x079e, 0xb7f: 0x0018, + 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: 0x0018, 0xb81: 0x0018, 0xb82: 0x0018, 0xb83: 0x0018, 0xb84: 0x0018, 0xb85: 0x0018, - 0xb86: 0x0018, 0xb87: 0x1e92, 0xb88: 0x1eaa, 0xb89: 0x1ec2, 0xb8a: 0x0018, 0xb8b: 0x0018, - 0xb8c: 0x0018, 0xb8d: 0x0018, 0xb8e: 0x0018, 0xb8f: 0x0018, 0xb90: 0x0018, 0xb91: 0x0018, - 0xb92: 0x0018, 0xb93: 0x0018, 0xb94: 0x0018, 0xb95: 0x0018, 0xb96: 0x0018, 0xb97: 0x1ed9, - 0xb98: 0x0018, 0xb99: 0x0018, 0xb9a: 0x0018, 0xb9b: 0x0018, 0xb9c: 0x0018, 0xb9d: 0x0018, - 0xb9e: 0x0018, 0xb9f: 0x000a, 0xba0: 0x03c0, 0xba1: 0x0340, 0xba2: 0x0340, 0xba3: 0x0340, - 0xba4: 0x03c0, 0xba5: 0x0040, 0xba6: 0x0040, 0xba7: 0x0040, 0xba8: 0x0040, 0xba9: 0x0040, - 0xbaa: 0x0340, 0xbab: 0x0340, 0xbac: 0x0340, 0xbad: 0x0340, 0xbae: 0x0340, 0xbaf: 0x0340, - 0xbb0: 0x1f41, 0xbb1: 0x0f41, 0xbb2: 0x0040, 0xbb3: 0x0040, 0xbb4: 0x1f51, 0xbb5: 0x1f61, - 0xbb6: 0x1f71, 0xbb7: 0x1f81, 0xbb8: 0x1f91, 0xbb9: 0x1fa1, 0xbba: 0x1fb2, 0xbbb: 0x07bd, - 0xbbc: 0x1fc2, 0xbbd: 0x1fd2, 0xbbe: 0x1fe2, 0xbbf: 0x0f71, + 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: 0x1f41, 0xbc1: 0x00c9, 0xbc2: 0x0069, 0xbc3: 0x0079, 0xbc4: 0x1f51, 0xbc5: 0x1f61, - 0xbc6: 0x1f71, 0xbc7: 0x1f81, 0xbc8: 0x1f91, 0xbc9: 0x1fa1, 0xbca: 0x1fb2, 0xbcb: 0x07d5, - 0xbcc: 0x1fc2, 0xbcd: 0x1fd2, 0xbce: 0x1fe2, 0xbcf: 0x0040, 0xbd0: 0x0039, 0xbd1: 0x0f09, - 0xbd2: 0x00d9, 0xbd3: 0x0369, 0xbd4: 0x0ff9, 0xbd5: 0x0249, 0xbd6: 0x0f51, 0xbd7: 0x0359, - 0xbd8: 0x0f61, 0xbd9: 0x0f71, 0xbda: 0x0f99, 0xbdb: 0x01d9, 0xbdc: 0x0fa9, 0xbdd: 0x0040, - 0xbde: 0x0040, 0xbdf: 0x0040, 0xbe0: 0x0018, 0xbe1: 0x0018, 0xbe2: 0x0018, 0xbe3: 0x0018, - 0xbe4: 0x0018, 0xbe5: 0x0018, 0xbe6: 0x0018, 0xbe7: 0x0018, 0xbe8: 0x1ff1, 0xbe9: 0x0018, - 0xbea: 0x0018, 0xbeb: 0x0018, 0xbec: 0x0018, 0xbed: 0x0018, 0xbee: 0x0018, 0xbef: 0x0018, - 0xbf0: 0x0018, 0xbf1: 0x0018, 0xbf2: 0x0018, 0xbf3: 0x0018, 0xbf4: 0x0018, 0xbf5: 0x0018, - 0xbf6: 0x0018, 0xbf7: 0x0018, 0xbf8: 0x0018, 0xbf9: 0x0018, 0xbfa: 0x0018, 0xbfb: 0x0018, - 0xbfc: 0x0018, 0xbfd: 0x0018, 0xbfe: 0x0018, 0xbff: 0x0040, + 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: 0x07ee, 0xc01: 0x080e, 0xc02: 0x1159, 0xc03: 0x082d, 0xc04: 0x0018, 0xc05: 0x084e, - 0xc06: 0x086e, 0xc07: 0x1011, 0xc08: 0x0018, 0xc09: 0x088d, 0xc0a: 0x0f31, 0xc0b: 0x0249, - 0xc0c: 0x0249, 0xc0d: 0x0249, 0xc0e: 0x0249, 0xc0f: 0x2009, 0xc10: 0x0f41, 0xc11: 0x0f41, - 0xc12: 0x0359, 0xc13: 0x0359, 0xc14: 0x0018, 0xc15: 0x0f71, 0xc16: 0x2021, 0xc17: 0x0018, - 0xc18: 0x0018, 0xc19: 0x0f99, 0xc1a: 0x2039, 0xc1b: 0x0269, 0xc1c: 0x0269, 0xc1d: 0x0269, - 0xc1e: 0x0018, 0xc1f: 0x0018, 0xc20: 0x2049, 0xc21: 0x08ad, 0xc22: 0x2061, 0xc23: 0x0018, - 0xc24: 0x13d1, 0xc25: 0x0018, 0xc26: 0x2079, 0xc27: 0x0018, 0xc28: 0x13d1, 0xc29: 0x0018, - 0xc2a: 0x0f51, 0xc2b: 0x2091, 0xc2c: 0x0ee9, 0xc2d: 0x1159, 0xc2e: 0x0018, 0xc2f: 0x0f09, - 0xc30: 0x0f09, 0xc31: 0x1199, 0xc32: 0x0040, 0xc33: 0x0f61, 0xc34: 0x00d9, 0xc35: 0x20a9, - 0xc36: 0x20c1, 0xc37: 0x20d9, 0xc38: 0x20f1, 0xc39: 0x0f41, 0xc3a: 0x0018, 0xc3b: 0x08cd, - 0xc3c: 0x2109, 0xc3d: 0x10b1, 0xc3e: 0x10b1, 0xc3f: 0x2109, + 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: 0x08ed, 0xc41: 0x0018, 0xc42: 0x0018, 0xc43: 0x0018, 0xc44: 0x0018, 0xc45: 0x0ef9, - 0xc46: 0x0ef9, 0xc47: 0x0f09, 0xc48: 0x0f41, 0xc49: 0x0259, 0xc4a: 0x0018, 0xc4b: 0x0018, - 0xc4c: 0x0018, 0xc4d: 0x0018, 0xc4e: 0x0008, 0xc4f: 0x0018, 0xc50: 0x2121, 0xc51: 0x2151, - 0xc52: 0x2181, 0xc53: 0x21b9, 0xc54: 0x21e9, 0xc55: 0x2219, 0xc56: 0x2249, 0xc57: 0x2279, - 0xc58: 0x22a9, 0xc59: 0x22d9, 0xc5a: 0x2309, 0xc5b: 0x2339, 0xc5c: 0x2369, 0xc5d: 0x2399, - 0xc5e: 0x23c9, 0xc5f: 0x23f9, 0xc60: 0x0f41, 0xc61: 0x2421, 0xc62: 0x0905, 0xc63: 0x2439, - 0xc64: 0x1089, 0xc65: 0x2451, 0xc66: 0x0925, 0xc67: 0x2469, 0xc68: 0x2491, 0xc69: 0x0369, - 0xc6a: 0x24a9, 0xc6b: 0x0945, 0xc6c: 0x0359, 0xc6d: 0x1159, 0xc6e: 0x0ef9, 0xc6f: 0x0f61, - 0xc70: 0x0f41, 0xc71: 0x2421, 0xc72: 0x0965, 0xc73: 0x2439, 0xc74: 0x1089, 0xc75: 0x2451, - 0xc76: 0x0985, 0xc77: 0x2469, 0xc78: 0x2491, 0xc79: 0x0369, 0xc7a: 0x24a9, 0xc7b: 0x09a5, - 0xc7c: 0x0359, 0xc7d: 0x1159, 0xc7e: 0x0ef9, 0xc7f: 0x0f61, + 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: 0x0018, 0xc81: 0x0018, 0xc82: 0x0018, 0xc83: 0x0018, 0xc84: 0x0018, 0xc85: 0x0018, - 0xc86: 0x0018, 0xc87: 0x0018, 0xc88: 0x0018, 0xc89: 0x0018, 0xc8a: 0x0018, 0xc8b: 0x0040, - 0xc8c: 0x0040, 0xc8d: 0x0040, 0xc8e: 0x0040, 0xc8f: 0x0040, 0xc90: 0x0040, 0xc91: 0x0040, - 0xc92: 0x0040, 0xc93: 0x0040, 0xc94: 0x0040, 0xc95: 0x0040, 0xc96: 0x0040, 0xc97: 0x0040, - 0xc98: 0x0040, 0xc99: 0x0040, 0xc9a: 0x0040, 0xc9b: 0x0040, 0xc9c: 0x0040, 0xc9d: 0x0040, - 0xc9e: 0x0040, 0xc9f: 0x0040, 0xca0: 0x00c9, 0xca1: 0x0069, 0xca2: 0x0079, 0xca3: 0x1f51, - 0xca4: 0x1f61, 0xca5: 0x1f71, 0xca6: 0x1f81, 0xca7: 0x1f91, 0xca8: 0x1fa1, 0xca9: 0x2601, - 0xcaa: 0x2619, 0xcab: 0x2631, 0xcac: 0x2649, 0xcad: 0x2661, 0xcae: 0x2679, 0xcaf: 0x2691, - 0xcb0: 0x26a9, 0xcb1: 0x26c1, 0xcb2: 0x26d9, 0xcb3: 0x26f1, 0xcb4: 0x0a06, 0xcb5: 0x0a26, - 0xcb6: 0x0a46, 0xcb7: 0x0a66, 0xcb8: 0x0a86, 0xcb9: 0x0aa6, 0xcba: 0x0ac6, 0xcbb: 0x0ae6, - 0xcbc: 0x0b06, 0xcbd: 0x270a, 0xcbe: 0x2732, 0xcbf: 0x275a, + 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: 0x2782, 0xcc1: 0x27aa, 0xcc2: 0x27d2, 0xcc3: 0x27fa, 0xcc4: 0x2822, 0xcc5: 0x284a, - 0xcc6: 0x2872, 0xcc7: 0x289a, 0xcc8: 0x0040, 0xcc9: 0x0040, 0xcca: 0x0040, 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: 0x0b26, 0xcdd: 0x0b46, - 0xcde: 0x0b66, 0xcdf: 0x0b86, 0xce0: 0x0ba6, 0xce1: 0x0bc6, 0xce2: 0x0be6, 0xce3: 0x0c06, - 0xce4: 0x0c26, 0xce5: 0x0c46, 0xce6: 0x0c66, 0xce7: 0x0c86, 0xce8: 0x0ca6, 0xce9: 0x0cc6, - 0xcea: 0x0ce6, 0xceb: 0x0d06, 0xcec: 0x0d26, 0xced: 0x0d46, 0xcee: 0x0d66, 0xcef: 0x0d86, - 0xcf0: 0x0da6, 0xcf1: 0x0dc6, 0xcf2: 0x0de6, 0xcf3: 0x0e06, 0xcf4: 0x0e26, 0xcf5: 0x0e46, - 0xcf6: 0x0039, 0xcf7: 0x0ee9, 0xcf8: 0x1159, 0xcf9: 0x0ef9, 0xcfa: 0x0f09, 0xcfb: 0x1199, - 0xcfc: 0x0f31, 0xcfd: 0x0249, 0xcfe: 0x0f41, 0xcff: 0x0259, + 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: 0x0f51, 0xd01: 0x0359, 0xd02: 0x0f61, 0xd03: 0x0f71, 0xd04: 0x00d9, 0xd05: 0x0f99, - 0xd06: 0x2039, 0xd07: 0x0269, 0xd08: 0x01d9, 0xd09: 0x0fa9, 0xd0a: 0x0fb9, 0xd0b: 0x1089, - 0xd0c: 0x0279, 0xd0d: 0x0369, 0xd0e: 0x0289, 0xd0f: 0x13d1, 0xd10: 0x0039, 0xd11: 0x0ee9, - 0xd12: 0x1159, 0xd13: 0x0ef9, 0xd14: 0x0f09, 0xd15: 0x1199, 0xd16: 0x0f31, 0xd17: 0x0249, - 0xd18: 0x0f41, 0xd19: 0x0259, 0xd1a: 0x0f51, 0xd1b: 0x0359, 0xd1c: 0x0f61, 0xd1d: 0x0f71, - 0xd1e: 0x00d9, 0xd1f: 0x0f99, 0xd20: 0x2039, 0xd21: 0x0269, 0xd22: 0x01d9, 0xd23: 0x0fa9, - 0xd24: 0x0fb9, 0xd25: 0x1089, 0xd26: 0x0279, 0xd27: 0x0369, 0xd28: 0x0289, 0xd29: 0x13d1, - 0xd2a: 0x1f41, 0xd2b: 0x0018, 0xd2c: 0x0018, 0xd2d: 0x0018, 0xd2e: 0x0018, 0xd2f: 0x0018, - 0xd30: 0x0018, 0xd31: 0x0018, 0xd32: 0x0018, 0xd33: 0x0018, 0xd34: 0x0018, 0xd35: 0x0018, - 0xd36: 0x0018, 0xd37: 0x0018, 0xd38: 0x0018, 0xd39: 0x0018, 0xd3a: 0x0018, 0xd3b: 0x0018, - 0xd3c: 0x0018, 0xd3d: 0x0018, 0xd3e: 0x0018, 0xd3f: 0x0018, + 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: 0x0008, 0xd41: 0x0008, 0xd42: 0x0008, 0xd43: 0x0008, 0xd44: 0x0008, 0xd45: 0x0008, - 0xd46: 0x0008, 0xd47: 0x0008, 0xd48: 0x0008, 0xd49: 0x0008, 0xd4a: 0x0008, 0xd4b: 0x0008, - 0xd4c: 0x0008, 0xd4d: 0x0008, 0xd4e: 0x0008, 0xd4f: 0x0008, 0xd50: 0x0008, 0xd51: 0x0008, - 0xd52: 0x0008, 0xd53: 0x0008, 0xd54: 0x0008, 0xd55: 0x0008, 0xd56: 0x0008, 0xd57: 0x0008, - 0xd58: 0x0008, 0xd59: 0x0008, 0xd5a: 0x0008, 0xd5b: 0x0008, 0xd5c: 0x0008, 0xd5d: 0x0008, - 0xd5e: 0x0008, 0xd5f: 0x0040, 0xd60: 0xe00d, 0xd61: 0x0008, 0xd62: 0x2971, 0xd63: 0x0ebd, - 0xd64: 0x2989, 0xd65: 0x0008, 0xd66: 0x0008, 0xd67: 0xe07d, 0xd68: 0x0008, 0xd69: 0xe01d, - 0xd6a: 0x0008, 0xd6b: 0xe03d, 0xd6c: 0x0008, 0xd6d: 0x0fe1, 0xd6e: 0x1281, 0xd6f: 0x0fc9, - 0xd70: 0x1141, 0xd71: 0x0008, 0xd72: 0xe00d, 0xd73: 0x0008, 0xd74: 0x0008, 0xd75: 0xe01d, - 0xd76: 0x0008, 0xd77: 0x0008, 0xd78: 0x0008, 0xd79: 0x0008, 0xd7a: 0x0008, 0xd7b: 0x0008, - 0xd7c: 0x0259, 0xd7d: 0x1089, 0xd7e: 0x29a1, 0xd7f: 0x29b9, + 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: 0xe00d, 0xd81: 0x0008, 0xd82: 0xe00d, 0xd83: 0x0008, 0xd84: 0xe00d, 0xd85: 0x0008, - 0xd86: 0xe00d, 0xd87: 0x0008, 0xd88: 0xe00d, 0xd89: 0x0008, 0xd8a: 0xe00d, 0xd8b: 0x0008, - 0xd8c: 0xe00d, 0xd8d: 0x0008, 0xd8e: 0xe00d, 0xd8f: 0x0008, 0xd90: 0xe00d, 0xd91: 0x0008, - 0xd92: 0xe00d, 0xd93: 0x0008, 0xd94: 0xe00d, 0xd95: 0x0008, 0xd96: 0xe00d, 0xd97: 0x0008, - 0xd98: 0xe00d, 0xd99: 0x0008, 0xd9a: 0xe00d, 0xd9b: 0x0008, 0xd9c: 0xe00d, 0xd9d: 0x0008, - 0xd9e: 0xe00d, 0xd9f: 0x0008, 0xda0: 0xe00d, 0xda1: 0x0008, 0xda2: 0xe00d, 0xda3: 0x0008, - 0xda4: 0x0008, 0xda5: 0x0018, 0xda6: 0x0018, 0xda7: 0x0018, 0xda8: 0x0018, 0xda9: 0x0018, - 0xdaa: 0x0018, 0xdab: 0xe03d, 0xdac: 0x0008, 0xdad: 0xe01d, 0xdae: 0x0008, 0xdaf: 0x1308, - 0xdb0: 0x1308, 0xdb1: 0x1308, 0xdb2: 0xe00d, 0xdb3: 0x0008, 0xdb4: 0x0040, 0xdb5: 0x0040, - 0xdb6: 0x0040, 0xdb7: 0x0040, 0xdb8: 0x0040, 0xdb9: 0x0018, 0xdba: 0x0018, 0xdbb: 0x0018, + 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: 0x26fd, 0xdc1: 0x271d, 0xdc2: 0x273d, 0xdc3: 0x275d, 0xdc4: 0x277d, 0xdc5: 0x279d, - 0xdc6: 0x27bd, 0xdc7: 0x27dd, 0xdc8: 0x27fd, 0xdc9: 0x281d, 0xdca: 0x283d, 0xdcb: 0x285d, - 0xdcc: 0x287d, 0xdcd: 0x289d, 0xdce: 0x28bd, 0xdcf: 0x28dd, 0xdd0: 0x28fd, 0xdd1: 0x291d, - 0xdd2: 0x293d, 0xdd3: 0x295d, 0xdd4: 0x297d, 0xdd5: 0x299d, 0xdd6: 0x0040, 0xdd7: 0x0040, - 0xdd8: 0x0040, 0xdd9: 0x0040, 0xdda: 0x0040, 0xddb: 0x0040, 0xddc: 0x0040, 0xddd: 0x0040, - 0xdde: 0x0040, 0xddf: 0x0040, 0xde0: 0x0040, 0xde1: 0x0040, 0xde2: 0x0040, 0xde3: 0x0040, - 0xde4: 0x0040, 0xde5: 0x0040, 0xde6: 0x0040, 0xde7: 0x0040, 0xde8: 0x0040, 0xde9: 0x0040, - 0xdea: 0x0040, 0xdeb: 0x0040, 0xdec: 0x0040, 0xded: 0x0040, 0xdee: 0x0040, 0xdef: 0x0040, - 0xdf0: 0x0040, 0xdf1: 0x0040, 0xdf2: 0x0040, 0xdf3: 0x0040, 0xdf4: 0x0040, 0xdf5: 0x0040, - 0xdf6: 0x0040, 0xdf7: 0x0040, 0xdf8: 0x0040, 0xdf9: 0x0040, 0xdfa: 0x0040, 0xdfb: 0x0040, - 0xdfc: 0x0040, 0xdfd: 0x0040, 0xdfe: 0x0040, 0xdff: 0x0040, + 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: 0x000a, 0xe01: 0x0018, 0xe02: 0x29d1, 0xe03: 0x0018, 0xe04: 0x0018, 0xe05: 0x0008, - 0xe06: 0x0008, 0xe07: 0x0008, 0xe08: 0x0018, 0xe09: 0x0018, 0xe0a: 0x0018, 0xe0b: 0x0018, - 0xe0c: 0x0018, 0xe0d: 0x0018, 0xe0e: 0x0018, 0xe0f: 0x0018, 0xe10: 0x0018, 0xe11: 0x0018, - 0xe12: 0x0018, 0xe13: 0x0018, 0xe14: 0x0018, 0xe15: 0x0018, 0xe16: 0x0018, 0xe17: 0x0018, - 0xe18: 0x0018, 0xe19: 0x0018, 0xe1a: 0x0018, 0xe1b: 0x0018, 0xe1c: 0x0018, 0xe1d: 0x0018, - 0xe1e: 0x0018, 0xe1f: 0x0018, 0xe20: 0x0018, 0xe21: 0x0018, 0xe22: 0x0018, 0xe23: 0x0018, - 0xe24: 0x0018, 0xe25: 0x0018, 0xe26: 0x0018, 0xe27: 0x0018, 0xe28: 0x0018, 0xe29: 0x0018, - 0xe2a: 0x1308, 0xe2b: 0x1308, 0xe2c: 0x1308, 0xe2d: 0x1308, 0xe2e: 0x1018, 0xe2f: 0x1018, - 0xe30: 0x0018, 0xe31: 0x0018, 0xe32: 0x0018, 0xe33: 0x0018, 0xe34: 0x0018, 0xe35: 0x0018, - 0xe36: 0xe125, 0xe37: 0x0018, 0xe38: 0x29bd, 0xe39: 0x29dd, 0xe3a: 0x29fd, 0xe3b: 0x0018, - 0xe3c: 0x0008, 0xe3d: 0x0018, 0xe3e: 0x0018, 0xe3f: 0x0018, + 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: 0x2b3d, 0xe41: 0x2b5d, 0xe42: 0x2b7d, 0xe43: 0x2b9d, 0xe44: 0x2bbd, 0xe45: 0x2bdd, - 0xe46: 0x2bdd, 0xe47: 0x2bdd, 0xe48: 0x2bfd, 0xe49: 0x2bfd, 0xe4a: 0x2bfd, 0xe4b: 0x2bfd, - 0xe4c: 0x2c1d, 0xe4d: 0x2c1d, 0xe4e: 0x2c1d, 0xe4f: 0x2c3d, 0xe50: 0x2c5d, 0xe51: 0x2c5d, - 0xe52: 0x2a7d, 0xe53: 0x2a7d, 0xe54: 0x2c5d, 0xe55: 0x2c5d, 0xe56: 0x2c7d, 0xe57: 0x2c7d, - 0xe58: 0x2c5d, 0xe59: 0x2c5d, 0xe5a: 0x2a7d, 0xe5b: 0x2a7d, 0xe5c: 0x2c5d, 0xe5d: 0x2c5d, - 0xe5e: 0x2c3d, 0xe5f: 0x2c3d, 0xe60: 0x2c9d, 0xe61: 0x2c9d, 0xe62: 0x2cbd, 0xe63: 0x2cbd, - 0xe64: 0x0040, 0xe65: 0x2cdd, 0xe66: 0x2cfd, 0xe67: 0x2d1d, 0xe68: 0x2d1d, 0xe69: 0x2d3d, - 0xe6a: 0x2d5d, 0xe6b: 0x2d7d, 0xe6c: 0x2d9d, 0xe6d: 0x2dbd, 0xe6e: 0x2ddd, 0xe6f: 0x2dfd, - 0xe70: 0x2e1d, 0xe71: 0x2e3d, 0xe72: 0x2e3d, 0xe73: 0x2e5d, 0xe74: 0x2e7d, 0xe75: 0x2e7d, - 0xe76: 0x2e9d, 0xe77: 0x2ebd, 0xe78: 0x2e5d, 0xe79: 0x2edd, 0xe7a: 0x2efd, 0xe7b: 0x2edd, - 0xe7c: 0x2e5d, 0xe7d: 0x2f1d, 0xe7e: 0x2f3d, 0xe7f: 0x2f5d, + 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: 0x2f7d, 0xe81: 0x2f9d, 0xe82: 0x2cfd, 0xe83: 0x2cdd, 0xe84: 0x2fbd, 0xe85: 0x2fdd, - 0xe86: 0x2ffd, 0xe87: 0x301d, 0xe88: 0x303d, 0xe89: 0x305d, 0xe8a: 0x307d, 0xe8b: 0x309d, - 0xe8c: 0x30bd, 0xe8d: 0x30dd, 0xe8e: 0x30fd, 0xe8f: 0x0040, 0xe90: 0x0018, 0xe91: 0x0018, - 0xe92: 0x311d, 0xe93: 0x313d, 0xe94: 0x315d, 0xe95: 0x317d, 0xe96: 0x319d, 0xe97: 0x31bd, - 0xe98: 0x31dd, 0xe99: 0x31fd, 0xe9a: 0x321d, 0xe9b: 0x323d, 0xe9c: 0x315d, 0xe9d: 0x325d, - 0xe9e: 0x327d, 0xe9f: 0x329d, 0xea0: 0x0008, 0xea1: 0x0008, 0xea2: 0x0008, 0xea3: 0x0008, - 0xea4: 0x0008, 0xea5: 0x0008, 0xea6: 0x0008, 0xea7: 0x0008, 0xea8: 0x0008, 0xea9: 0x0008, - 0xeaa: 0x0008, 0xeab: 0x0008, 0xeac: 0x0008, 0xead: 0x0008, 0xeae: 0x0008, 0xeaf: 0x0008, - 0xeb0: 0x0008, 0xeb1: 0x0008, 0xeb2: 0x0008, 0xeb3: 0x0008, 0xeb4: 0x0008, 0xeb5: 0x0008, - 0xeb6: 0x0008, 0xeb7: 0x0008, 0xeb8: 0x0008, 0xeb9: 0x0008, 0xeba: 0x0008, 0xebb: 0x0040, - 0xebc: 0x0040, 0xebd: 0x0040, 0xebe: 0x0040, 0xebf: 0x0040, + 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: 0x36a2, 0xec1: 0x36d2, 0xec2: 0x3702, 0xec3: 0x3732, 0xec4: 0x32bd, 0xec5: 0x32dd, - 0xec6: 0x32fd, 0xec7: 0x331d, 0xec8: 0x0018, 0xec9: 0x0018, 0xeca: 0x0018, 0xecb: 0x0018, - 0xecc: 0x0018, 0xecd: 0x0018, 0xece: 0x0018, 0xecf: 0x0018, 0xed0: 0x333d, 0xed1: 0x3761, - 0xed2: 0x3779, 0xed3: 0x3791, 0xed4: 0x37a9, 0xed5: 0x37c1, 0xed6: 0x37d9, 0xed7: 0x37f1, - 0xed8: 0x3809, 0xed9: 0x3821, 0xeda: 0x3839, 0xedb: 0x3851, 0xedc: 0x3869, 0xedd: 0x3881, - 0xede: 0x3899, 0xedf: 0x38b1, 0xee0: 0x335d, 0xee1: 0x337d, 0xee2: 0x339d, 0xee3: 0x33bd, - 0xee4: 0x33dd, 0xee5: 0x33dd, 0xee6: 0x33fd, 0xee7: 0x341d, 0xee8: 0x343d, 0xee9: 0x345d, - 0xeea: 0x347d, 0xeeb: 0x349d, 0xeec: 0x34bd, 0xeed: 0x34dd, 0xeee: 0x34fd, 0xeef: 0x351d, - 0xef0: 0x353d, 0xef1: 0x355d, 0xef2: 0x357d, 0xef3: 0x359d, 0xef4: 0x35bd, 0xef5: 0x35dd, - 0xef6: 0x35fd, 0xef7: 0x361d, 0xef8: 0x363d, 0xef9: 0x365d, 0xefa: 0x367d, 0xefb: 0x369d, - 0xefc: 0x38c9, 0xefd: 0x3901, 0xefe: 0x36bd, 0xeff: 0x0018, + 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: 0x36dd, 0xf01: 0x36fd, 0xf02: 0x371d, 0xf03: 0x373d, 0xf04: 0x375d, 0xf05: 0x377d, - 0xf06: 0x379d, 0xf07: 0x37bd, 0xf08: 0x37dd, 0xf09: 0x37fd, 0xf0a: 0x381d, 0xf0b: 0x383d, - 0xf0c: 0x385d, 0xf0d: 0x387d, 0xf0e: 0x389d, 0xf0f: 0x38bd, 0xf10: 0x38dd, 0xf11: 0x38fd, - 0xf12: 0x391d, 0xf13: 0x393d, 0xf14: 0x395d, 0xf15: 0x397d, 0xf16: 0x399d, 0xf17: 0x39bd, - 0xf18: 0x39dd, 0xf19: 0x39fd, 0xf1a: 0x3a1d, 0xf1b: 0x3a3d, 0xf1c: 0x3a5d, 0xf1d: 0x3a7d, - 0xf1e: 0x3a9d, 0xf1f: 0x3abd, 0xf20: 0x3add, 0xf21: 0x3afd, 0xf22: 0x3b1d, 0xf23: 0x3b3d, - 0xf24: 0x3b5d, 0xf25: 0x3b7d, 0xf26: 0x127d, 0xf27: 0x3b9d, 0xf28: 0x3bbd, 0xf29: 0x3bdd, - 0xf2a: 0x3bfd, 0xf2b: 0x3c1d, 0xf2c: 0x3c3d, 0xf2d: 0x3c5d, 0xf2e: 0x239d, 0xf2f: 0x3c7d, - 0xf30: 0x3c9d, 0xf31: 0x3939, 0xf32: 0x3951, 0xf33: 0x3969, 0xf34: 0x3981, 0xf35: 0x3999, - 0xf36: 0x39b1, 0xf37: 0x39c9, 0xf38: 0x39e1, 0xf39: 0x39f9, 0xf3a: 0x3a11, 0xf3b: 0x3a29, - 0xf3c: 0x3a41, 0xf3d: 0x3a59, 0xf3e: 0x3a71, 0xf3f: 0x3a89, + 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: 0x3aa1, 0xf41: 0x3ac9, 0xf42: 0x3af1, 0xf43: 0x3b19, 0xf44: 0x3b41, 0xf45: 0x3b69, - 0xf46: 0x3b91, 0xf47: 0x3bb9, 0xf48: 0x3be1, 0xf49: 0x3c09, 0xf4a: 0x3c39, 0xf4b: 0x3c69, - 0xf4c: 0x3c99, 0xf4d: 0x3cbd, 0xf4e: 0x3cb1, 0xf4f: 0x3cdd, 0xf50: 0x3cfd, 0xf51: 0x3d15, - 0xf52: 0x3d2d, 0xf53: 0x3d45, 0xf54: 0x3d5d, 0xf55: 0x3d5d, 0xf56: 0x3d45, 0xf57: 0x3d75, - 0xf58: 0x07bd, 0xf59: 0x3d8d, 0xf5a: 0x3da5, 0xf5b: 0x3dbd, 0xf5c: 0x3dd5, 0xf5d: 0x3ded, - 0xf5e: 0x3e05, 0xf5f: 0x3e1d, 0xf60: 0x3e35, 0xf61: 0x3e4d, 0xf62: 0x3e65, 0xf63: 0x3e7d, - 0xf64: 0x3e95, 0xf65: 0x3e95, 0xf66: 0x3ead, 0xf67: 0x3ead, 0xf68: 0x3ec5, 0xf69: 0x3ec5, - 0xf6a: 0x3edd, 0xf6b: 0x3ef5, 0xf6c: 0x3f0d, 0xf6d: 0x3f25, 0xf6e: 0x3f3d, 0xf6f: 0x3f3d, - 0xf70: 0x3f55, 0xf71: 0x3f55, 0xf72: 0x3f55, 0xf73: 0x3f6d, 0xf74: 0x3f85, 0xf75: 0x3f9d, - 0xf76: 0x3fb5, 0xf77: 0x3f9d, 0xf78: 0x3fcd, 0xf79: 0x3fe5, 0xf7a: 0x3f6d, 0xf7b: 0x3ffd, - 0xf7c: 0x4015, 0xf7d: 0x4015, 0xf7e: 0x4015, 0xf7f: 0x0040, + 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: 0x3cc9, 0xf81: 0x3d31, 0xf82: 0x3d99, 0xf83: 0x3e01, 0xf84: 0x3e51, 0xf85: 0x3eb9, - 0xf86: 0x3f09, 0xf87: 0x3f59, 0xf88: 0x3fd9, 0xf89: 0x4041, 0xf8a: 0x4091, 0xf8b: 0x40e1, - 0xf8c: 0x4131, 0xf8d: 0x4199, 0xf8e: 0x4201, 0xf8f: 0x4251, 0xf90: 0x42a1, 0xf91: 0x42d9, - 0xf92: 0x4329, 0xf93: 0x4391, 0xf94: 0x43f9, 0xf95: 0x4431, 0xf96: 0x44b1, 0xf97: 0x4549, - 0xf98: 0x45c9, 0xf99: 0x4619, 0xf9a: 0x4699, 0xf9b: 0x4719, 0xf9c: 0x4781, 0xf9d: 0x47d1, - 0xf9e: 0x4821, 0xf9f: 0x4871, 0xfa0: 0x48d9, 0xfa1: 0x4959, 0xfa2: 0x49c1, 0xfa3: 0x4a11, - 0xfa4: 0x4a61, 0xfa5: 0x4ab1, 0xfa6: 0x4ae9, 0xfa7: 0x4b21, 0xfa8: 0x4b59, 0xfa9: 0x4b91, - 0xfaa: 0x4be1, 0xfab: 0x4c31, 0xfac: 0x4cb1, 0xfad: 0x4d01, 0xfae: 0x4d69, 0xfaf: 0x4de9, - 0xfb0: 0x4e39, 0xfb1: 0x4e71, 0xfb2: 0x4ea9, 0xfb3: 0x4f29, 0xfb4: 0x4f91, 0xfb5: 0x5011, - 0xfb6: 0x5061, 0xfb7: 0x50e1, 0xfb8: 0x5119, 0xfb9: 0x5169, 0xfba: 0x51b9, 0xfbb: 0x5209, - 0xfbc: 0x5259, 0xfbd: 0x52a9, 0xfbe: 0x5311, 0xfbf: 0x5361, + 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: 0x5399, 0xfc1: 0x53e9, 0xfc2: 0x5439, 0xfc3: 0x5489, 0xfc4: 0x54f1, 0xfc5: 0x5541, - 0xfc6: 0x5591, 0xfc7: 0x55e1, 0xfc8: 0x5661, 0xfc9: 0x56c9, 0xfca: 0x5701, 0xfcb: 0x5781, - 0xfcc: 0x57b9, 0xfcd: 0x5821, 0xfce: 0x5889, 0xfcf: 0x58d9, 0xfd0: 0x5929, 0xfd1: 0x5979, - 0xfd2: 0x59e1, 0xfd3: 0x5a19, 0xfd4: 0x5a69, 0xfd5: 0x5ad1, 0xfd6: 0x5b09, 0xfd7: 0x5b89, - 0xfd8: 0x5bd9, 0xfd9: 0x5c01, 0xfda: 0x5c29, 0xfdb: 0x5c51, 0xfdc: 0x5c79, 0xfdd: 0x5ca1, - 0xfde: 0x5cc9, 0xfdf: 0x5cf1, 0xfe0: 0x5d19, 0xfe1: 0x5d41, 0xfe2: 0x5d69, 0xfe3: 0x5d99, - 0xfe4: 0x5dc9, 0xfe5: 0x5df9, 0xfe6: 0x5e29, 0xfe7: 0x5e59, 0xfe8: 0x5e89, 0xfe9: 0x5eb9, - 0xfea: 0x5ee9, 0xfeb: 0x5f19, 0xfec: 0x5f49, 0xfed: 0x5f79, 0xfee: 0x5fa9, 0xfef: 0x5fd9, - 0xff0: 0x6009, 0xff1: 0x402d, 0xff2: 0x6039, 0xff3: 0x6051, 0xff4: 0x404d, 0xff5: 0x6069, - 0xff6: 0x6081, 0xff7: 0x6099, 0xff8: 0x406d, 0xff9: 0x406d, 0xffa: 0x60b1, 0xffb: 0x60c9, - 0xffc: 0x6101, 0xffd: 0x6139, 0xffe: 0x6171, 0xfff: 0x61a9, + 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: 0x6211, 0x1001: 0x6229, 0x1002: 0x408d, 0x1003: 0x6241, 0x1004: 0x6259, 0x1005: 0x6271, - 0x1006: 0x6289, 0x1007: 0x62a1, 0x1008: 0x40ad, 0x1009: 0x62b9, 0x100a: 0x62e1, 0x100b: 0x62f9, - 0x100c: 0x40cd, 0x100d: 0x40cd, 0x100e: 0x6311, 0x100f: 0x6329, 0x1010: 0x6341, 0x1011: 0x40ed, - 0x1012: 0x410d, 0x1013: 0x412d, 0x1014: 0x414d, 0x1015: 0x416d, 0x1016: 0x6359, 0x1017: 0x6371, - 0x1018: 0x6389, 0x1019: 0x63a1, 0x101a: 0x63b9, 0x101b: 0x418d, 0x101c: 0x63d1, 0x101d: 0x63e9, - 0x101e: 0x6401, 0x101f: 0x41ad, 0x1020: 0x41cd, 0x1021: 0x6419, 0x1022: 0x41ed, 0x1023: 0x420d, - 0x1024: 0x422d, 0x1025: 0x6431, 0x1026: 0x424d, 0x1027: 0x6449, 0x1028: 0x6479, 0x1029: 0x6211, - 0x102a: 0x426d, 0x102b: 0x428d, 0x102c: 0x42ad, 0x102d: 0x42cd, 0x102e: 0x64b1, 0x102f: 0x64f1, - 0x1030: 0x6539, 0x1031: 0x6551, 0x1032: 0x42ed, 0x1033: 0x6569, 0x1034: 0x6581, 0x1035: 0x6599, - 0x1036: 0x430d, 0x1037: 0x65b1, 0x1038: 0x65c9, 0x1039: 0x65b1, 0x103a: 0x65e1, 0x103b: 0x65f9, - 0x103c: 0x432d, 0x103d: 0x6611, 0x103e: 0x6629, 0x103f: 0x6611, + 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: 0x434d, 0x1041: 0x436d, 0x1042: 0x0040, 0x1043: 0x6641, 0x1044: 0x6659, 0x1045: 0x6671, - 0x1046: 0x6689, 0x1047: 0x0040, 0x1048: 0x66c1, 0x1049: 0x66d9, 0x104a: 0x66f1, 0x104b: 0x6709, - 0x104c: 0x6721, 0x104d: 0x6739, 0x104e: 0x6401, 0x104f: 0x6751, 0x1050: 0x6769, 0x1051: 0x6781, - 0x1052: 0x438d, 0x1053: 0x6799, 0x1054: 0x6289, 0x1055: 0x43ad, 0x1056: 0x43cd, 0x1057: 0x67b1, - 0x1058: 0x0040, 0x1059: 0x43ed, 0x105a: 0x67c9, 0x105b: 0x67e1, 0x105c: 0x67f9, 0x105d: 0x6811, - 0x105e: 0x6829, 0x105f: 0x6859, 0x1060: 0x6889, 0x1061: 0x68b1, 0x1062: 0x68d9, 0x1063: 0x6901, - 0x1064: 0x6929, 0x1065: 0x6951, 0x1066: 0x6979, 0x1067: 0x69a1, 0x1068: 0x69c9, 0x1069: 0x69f1, - 0x106a: 0x6a21, 0x106b: 0x6a51, 0x106c: 0x6a81, 0x106d: 0x6ab1, 0x106e: 0x6ae1, 0x106f: 0x6b11, - 0x1070: 0x6b41, 0x1071: 0x6b71, 0x1072: 0x6ba1, 0x1073: 0x6bd1, 0x1074: 0x6c01, 0x1075: 0x6c31, - 0x1076: 0x6c61, 0x1077: 0x6c91, 0x1078: 0x6cc1, 0x1079: 0x6cf1, 0x107a: 0x6d21, 0x107b: 0x6d51, - 0x107c: 0x6d81, 0x107d: 0x6db1, 0x107e: 0x6de1, 0x107f: 0x440d, + 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: 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: 0x1308, - 0x10b0: 0x1318, 0x10b1: 0x1318, 0x10b2: 0x1318, 0x10b3: 0x0018, 0x10b4: 0x1308, 0x10b5: 0x1308, - 0x10b6: 0x1308, 0x10b7: 0x1308, 0x10b8: 0x1308, 0x10b9: 0x1308, 0x10ba: 0x1308, 0x10bb: 0x1308, - 0x10bc: 0x1308, 0x10bd: 0x1308, 0x10be: 0x0018, 0x10bf: 0x0008, + 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: 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: 0x0ea1, 0x10dd: 0x6e11, - 0x10de: 0x1308, 0x10df: 0x1308, 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, + 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: 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, + 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: 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, + 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: 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: 0x442d, 0x117e: 0xe00d, 0x117f: 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: 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: 0x11d9, 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, + 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: 0x6e29, 0x11ab: 0x1029, 0x11ac: 0x11c1, 0x11ad: 0x6e41, 0x11ae: 0x1221, 0x11af: 0x0040, - 0x11b0: 0x6e59, 0x11b1: 0x6e71, 0x11b2: 0x1239, 0x11b3: 0x444d, 0x11b4: 0xe00d, 0x11b5: 0x0008, - 0x11b6: 0xe00d, 0x11b7: 0x0008, 0x11b8: 0x0040, 0x11b9: 0x0040, 0x11ba: 0x0040, 0x11bb: 0x0040, - 0x11bc: 0x0040, 0x11bd: 0x0040, 0x11be: 0x0040, 0x11bf: 0x0040, + 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: 0x64d5, 0x11c1: 0x64f5, 0x11c2: 0x6515, 0x11c3: 0x6535, 0x11c4: 0x6555, 0x11c5: 0x6575, - 0x11c6: 0x6595, 0x11c7: 0x65b5, 0x11c8: 0x65d5, 0x11c9: 0x65f5, 0x11ca: 0x6615, 0x11cb: 0x6635, - 0x11cc: 0x6655, 0x11cd: 0x6675, 0x11ce: 0x0008, 0x11cf: 0x0008, 0x11d0: 0x6695, 0x11d1: 0x0008, - 0x11d2: 0x66b5, 0x11d3: 0x0008, 0x11d4: 0x0008, 0x11d5: 0x66d5, 0x11d6: 0x66f5, 0x11d7: 0x6715, - 0x11d8: 0x6735, 0x11d9: 0x6755, 0x11da: 0x6775, 0x11db: 0x6795, 0x11dc: 0x67b5, 0x11dd: 0x67d5, - 0x11de: 0x67f5, 0x11df: 0x0008, 0x11e0: 0x6815, 0x11e1: 0x0008, 0x11e2: 0x6835, 0x11e3: 0x0008, - 0x11e4: 0x0008, 0x11e5: 0x6855, 0x11e6: 0x6875, 0x11e7: 0x0008, 0x11e8: 0x0008, 0x11e9: 0x0008, - 0x11ea: 0x6895, 0x11eb: 0x68b5, 0x11ec: 0x68d5, 0x11ed: 0x68f5, 0x11ee: 0x6915, 0x11ef: 0x6935, - 0x11f0: 0x6955, 0x11f1: 0x6975, 0x11f2: 0x6995, 0x11f3: 0x69b5, 0x11f4: 0x69d5, 0x11f5: 0x69f5, - 0x11f6: 0x6a15, 0x11f7: 0x6a35, 0x11f8: 0x6a55, 0x11f9: 0x6a75, 0x11fa: 0x6a95, 0x11fb: 0x6ab5, - 0x11fc: 0x6ad5, 0x11fd: 0x6af5, 0x11fe: 0x6b15, 0x11ff: 0x6b35, + 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: 0x7a95, 0x1201: 0x7ab5, 0x1202: 0x7ad5, 0x1203: 0x7af5, 0x1204: 0x7b15, 0x1205: 0x7b35, - 0x1206: 0x7b55, 0x1207: 0x7b75, 0x1208: 0x7b95, 0x1209: 0x7bb5, 0x120a: 0x7bd5, 0x120b: 0x7bf5, - 0x120c: 0x7c15, 0x120d: 0x7c35, 0x120e: 0x7c55, 0x120f: 0x6ec9, 0x1210: 0x6ef1, 0x1211: 0x6f19, - 0x1212: 0x7c75, 0x1213: 0x7c95, 0x1214: 0x7cb5, 0x1215: 0x6f41, 0x1216: 0x6f69, 0x1217: 0x6f91, - 0x1218: 0x7cd5, 0x1219: 0x7cf5, 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, + 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: 0x6fb9, 0x1241: 0x6fd1, 0x1242: 0x6fe9, 0x1243: 0x7d15, 0x1244: 0x7d35, 0x1245: 0x7001, - 0x1246: 0x7001, 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: 0x7019, 0x1254: 0x7041, 0x1255: 0x7069, 0x1256: 0x7091, 0x1257: 0x70b9, - 0x1258: 0x0040, 0x1259: 0x0040, 0x125a: 0x0040, 0x125b: 0x0040, 0x125c: 0x0040, 0x125d: 0x70e1, - 0x125e: 0x1308, 0x125f: 0x7109, 0x1260: 0x7131, 0x1261: 0x20a9, 0x1262: 0x20f1, 0x1263: 0x7149, - 0x1264: 0x7161, 0x1265: 0x7179, 0x1266: 0x7191, 0x1267: 0x71a9, 0x1268: 0x71c1, 0x1269: 0x1fb2, - 0x126a: 0x71d9, 0x126b: 0x7201, 0x126c: 0x7229, 0x126d: 0x7261, 0x126e: 0x7299, 0x126f: 0x72c1, - 0x1270: 0x72e9, 0x1271: 0x7311, 0x1272: 0x7339, 0x1273: 0x7361, 0x1274: 0x7389, 0x1275: 0x73b1, - 0x1276: 0x73d9, 0x1277: 0x0040, 0x1278: 0x7401, 0x1279: 0x7429, 0x127a: 0x7451, 0x127b: 0x7479, - 0x127c: 0x74a1, 0x127d: 0x0040, 0x127e: 0x74c9, 0x127f: 0x0040, + 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: 0x74f1, 0x1281: 0x7519, 0x1282: 0x0040, 0x1283: 0x7541, 0x1284: 0x7569, 0x1285: 0x0040, - 0x1286: 0x7591, 0x1287: 0x75b9, 0x1288: 0x75e1, 0x1289: 0x7609, 0x128a: 0x7631, 0x128b: 0x7659, - 0x128c: 0x7681, 0x128d: 0x76a9, 0x128e: 0x76d1, 0x128f: 0x76f9, 0x1290: 0x7721, 0x1291: 0x7721, - 0x1292: 0x7739, 0x1293: 0x7739, 0x1294: 0x7739, 0x1295: 0x7739, 0x1296: 0x7751, 0x1297: 0x7751, - 0x1298: 0x7751, 0x1299: 0x7751, 0x129a: 0x7769, 0x129b: 0x7769, 0x129c: 0x7769, 0x129d: 0x7769, - 0x129e: 0x7781, 0x129f: 0x7781, 0x12a0: 0x7781, 0x12a1: 0x7781, 0x12a2: 0x7799, 0x12a3: 0x7799, - 0x12a4: 0x7799, 0x12a5: 0x7799, 0x12a6: 0x77b1, 0x12a7: 0x77b1, 0x12a8: 0x77b1, 0x12a9: 0x77b1, - 0x12aa: 0x77c9, 0x12ab: 0x77c9, 0x12ac: 0x77c9, 0x12ad: 0x77c9, 0x12ae: 0x77e1, 0x12af: 0x77e1, - 0x12b0: 0x77e1, 0x12b1: 0x77e1, 0x12b2: 0x77f9, 0x12b3: 0x77f9, 0x12b4: 0x77f9, 0x12b5: 0x77f9, - 0x12b6: 0x7811, 0x12b7: 0x7811, 0x12b8: 0x7811, 0x12b9: 0x7811, 0x12ba: 0x7829, 0x12bb: 0x7829, - 0x12bc: 0x7829, 0x12bd: 0x7829, 0x12be: 0x7841, 0x12bf: 0x7841, + 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: 0x7841, 0x12c1: 0x7841, 0x12c2: 0x7859, 0x12c3: 0x7859, 0x12c4: 0x7871, 0x12c5: 0x7871, - 0x12c6: 0x7889, 0x12c7: 0x7889, 0x12c8: 0x78a1, 0x12c9: 0x78a1, 0x12ca: 0x78b9, 0x12cb: 0x78b9, - 0x12cc: 0x78d1, 0x12cd: 0x78d1, 0x12ce: 0x78e9, 0x12cf: 0x78e9, 0x12d0: 0x78e9, 0x12d1: 0x78e9, - 0x12d2: 0x7901, 0x12d3: 0x7901, 0x12d4: 0x7901, 0x12d5: 0x7901, 0x12d6: 0x7919, 0x12d7: 0x7919, - 0x12d8: 0x7919, 0x12d9: 0x7919, 0x12da: 0x7931, 0x12db: 0x7931, 0x12dc: 0x7931, 0x12dd: 0x7931, - 0x12de: 0x7949, 0x12df: 0x7949, 0x12e0: 0x7961, 0x12e1: 0x7961, 0x12e2: 0x7961, 0x12e3: 0x7961, - 0x12e4: 0x7979, 0x12e5: 0x7979, 0x12e6: 0x7991, 0x12e7: 0x7991, 0x12e8: 0x7991, 0x12e9: 0x7991, - 0x12ea: 0x79a9, 0x12eb: 0x79a9, 0x12ec: 0x79a9, 0x12ed: 0x79a9, 0x12ee: 0x79c1, 0x12ef: 0x79c1, - 0x12f0: 0x79d9, 0x12f1: 0x79d9, 0x12f2: 0x0018, 0x12f3: 0x0018, 0x12f4: 0x0018, 0x12f5: 0x0018, - 0x12f6: 0x0018, 0x12f7: 0x0018, 0x12f8: 0x0018, 0x12f9: 0x0018, 0x12fa: 0x0018, 0x12fb: 0x0018, - 0x12fc: 0x0018, 0x12fd: 0x0018, 0x12fe: 0x0018, 0x12ff: 0x0018, + 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: 0x0018, 0x1301: 0x0018, 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: 0x79f1, 0x1314: 0x79f1, 0x1315: 0x79f1, 0x1316: 0x79f1, 0x1317: 0x7a09, - 0x1318: 0x7a09, 0x1319: 0x7a21, 0x131a: 0x7a21, 0x131b: 0x7a39, 0x131c: 0x7a39, 0x131d: 0x0479, - 0x131e: 0x7a51, 0x131f: 0x7a51, 0x1320: 0x7a69, 0x1321: 0x7a69, 0x1322: 0x7a81, 0x1323: 0x7a81, - 0x1324: 0x7a99, 0x1325: 0x7a99, 0x1326: 0x7a99, 0x1327: 0x7a99, 0x1328: 0x7ab1, 0x1329: 0x7ab1, - 0x132a: 0x7ac9, 0x132b: 0x7ac9, 0x132c: 0x7af1, 0x132d: 0x7af1, 0x132e: 0x7b19, 0x132f: 0x7b19, - 0x1330: 0x7b41, 0x1331: 0x7b41, 0x1332: 0x7b69, 0x1333: 0x7b69, 0x1334: 0x7b91, 0x1335: 0x7b91, - 0x1336: 0x7bb9, 0x1337: 0x7bb9, 0x1338: 0x7bb9, 0x1339: 0x7be1, 0x133a: 0x7be1, 0x133b: 0x7be1, - 0x133c: 0x7c09, 0x133d: 0x7c09, 0x133e: 0x7c09, 0x133f: 0x7c09, + 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: 0x85f9, 0x1341: 0x8621, 0x1342: 0x8649, 0x1343: 0x8671, 0x1344: 0x8699, 0x1345: 0x86c1, - 0x1346: 0x86e9, 0x1347: 0x8711, 0x1348: 0x8739, 0x1349: 0x8761, 0x134a: 0x8789, 0x134b: 0x87b1, - 0x134c: 0x87d9, 0x134d: 0x8801, 0x134e: 0x8829, 0x134f: 0x8851, 0x1350: 0x8879, 0x1351: 0x88a1, - 0x1352: 0x88c9, 0x1353: 0x88f1, 0x1354: 0x8919, 0x1355: 0x8941, 0x1356: 0x8969, 0x1357: 0x8991, - 0x1358: 0x89b9, 0x1359: 0x89e1, 0x135a: 0x8a09, 0x135b: 0x8a31, 0x135c: 0x8a59, 0x135d: 0x8a81, - 0x135e: 0x8aaa, 0x135f: 0x8ada, 0x1360: 0x8b0a, 0x1361: 0x8b3a, 0x1362: 0x8b6a, 0x1363: 0x8b9a, - 0x1364: 0x8bc9, 0x1365: 0x8bf1, 0x1366: 0x7c71, 0x1367: 0x8c19, 0x1368: 0x7be1, 0x1369: 0x7c99, - 0x136a: 0x8c41, 0x136b: 0x8c69, 0x136c: 0x7d39, 0x136d: 0x8c91, 0x136e: 0x7d61, 0x136f: 0x7d89, - 0x1370: 0x8cb9, 0x1371: 0x8ce1, 0x1372: 0x7e29, 0x1373: 0x8d09, 0x1374: 0x7e51, 0x1375: 0x7e79, - 0x1376: 0x8d31, 0x1377: 0x8d59, 0x1378: 0x7ec9, 0x1379: 0x8d81, 0x137a: 0x7ef1, 0x137b: 0x7f19, - 0x137c: 0x83a1, 0x137d: 0x83c9, 0x137e: 0x8441, 0x137f: 0x8469, + 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: 0x8491, 0x1381: 0x8531, 0x1382: 0x8559, 0x1383: 0x8581, 0x1384: 0x85a9, 0x1385: 0x8649, - 0x1386: 0x8671, 0x1387: 0x8699, 0x1388: 0x8da9, 0x1389: 0x8739, 0x138a: 0x8dd1, 0x138b: 0x8df9, - 0x138c: 0x8829, 0x138d: 0x8e21, 0x138e: 0x8851, 0x138f: 0x8879, 0x1390: 0x8a81, 0x1391: 0x8e49, - 0x1392: 0x8e71, 0x1393: 0x89b9, 0x1394: 0x8e99, 0x1395: 0x89e1, 0x1396: 0x8a09, 0x1397: 0x7c21, - 0x1398: 0x7c49, 0x1399: 0x8ec1, 0x139a: 0x7c71, 0x139b: 0x8ee9, 0x139c: 0x7cc1, 0x139d: 0x7ce9, - 0x139e: 0x7d11, 0x139f: 0x7d39, 0x13a0: 0x8f11, 0x13a1: 0x7db1, 0x13a2: 0x7dd9, 0x13a3: 0x7e01, - 0x13a4: 0x7e29, 0x13a5: 0x8f39, 0x13a6: 0x7ec9, 0x13a7: 0x7f41, 0x13a8: 0x7f69, 0x13a9: 0x7f91, - 0x13aa: 0x7fb9, 0x13ab: 0x7fe1, 0x13ac: 0x8031, 0x13ad: 0x8059, 0x13ae: 0x8081, 0x13af: 0x80a9, - 0x13b0: 0x80d1, 0x13b1: 0x80f9, 0x13b2: 0x8f61, 0x13b3: 0x8121, 0x13b4: 0x8149, 0x13b5: 0x8171, - 0x13b6: 0x8199, 0x13b7: 0x81c1, 0x13b8: 0x81e9, 0x13b9: 0x8239, 0x13ba: 0x8261, 0x13bb: 0x8289, - 0x13bc: 0x82b1, 0x13bd: 0x82d9, 0x13be: 0x8301, 0x13bf: 0x8329, + 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: 0x8351, 0x13c1: 0x8379, 0x13c2: 0x83f1, 0x13c3: 0x8419, 0x13c4: 0x84b9, 0x13c5: 0x84e1, - 0x13c6: 0x8509, 0x13c7: 0x8531, 0x13c8: 0x8559, 0x13c9: 0x85d1, 0x13ca: 0x85f9, 0x13cb: 0x8621, - 0x13cc: 0x8649, 0x13cd: 0x8f89, 0x13ce: 0x86c1, 0x13cf: 0x86e9, 0x13d0: 0x8711, 0x13d1: 0x8739, - 0x13d2: 0x87b1, 0x13d3: 0x87d9, 0x13d4: 0x8801, 0x13d5: 0x8829, 0x13d6: 0x8fb1, 0x13d7: 0x88a1, - 0x13d8: 0x88c9, 0x13d9: 0x8fd9, 0x13da: 0x8941, 0x13db: 0x8969, 0x13dc: 0x8991, 0x13dd: 0x89b9, - 0x13de: 0x9001, 0x13df: 0x7c71, 0x13e0: 0x8ee9, 0x13e1: 0x7d39, 0x13e2: 0x8f11, 0x13e3: 0x7e29, - 0x13e4: 0x8f39, 0x13e5: 0x7ec9, 0x13e6: 0x9029, 0x13e7: 0x80d1, 0x13e8: 0x9051, 0x13e9: 0x9079, - 0x13ea: 0x90a1, 0x13eb: 0x8531, 0x13ec: 0x8559, 0x13ed: 0x8649, 0x13ee: 0x8829, 0x13ef: 0x8fb1, - 0x13f0: 0x89b9, 0x13f1: 0x9001, 0x13f2: 0x90c9, 0x13f3: 0x9101, 0x13f4: 0x9139, 0x13f5: 0x9171, - 0x13f6: 0x9199, 0x13f7: 0x91c1, 0x13f8: 0x91e9, 0x13f9: 0x9211, 0x13fa: 0x9239, 0x13fb: 0x9261, - 0x13fc: 0x9289, 0x13fd: 0x92b1, 0x13fe: 0x92d9, 0x13ff: 0x9301, + 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: 0x9329, 0x1401: 0x9351, 0x1402: 0x9379, 0x1403: 0x93a1, 0x1404: 0x93c9, 0x1405: 0x93f1, - 0x1406: 0x9419, 0x1407: 0x9441, 0x1408: 0x9469, 0x1409: 0x9491, 0x140a: 0x94b9, 0x140b: 0x94e1, - 0x140c: 0x9079, 0x140d: 0x9509, 0x140e: 0x9531, 0x140f: 0x9559, 0x1410: 0x9581, 0x1411: 0x9171, - 0x1412: 0x9199, 0x1413: 0x91c1, 0x1414: 0x91e9, 0x1415: 0x9211, 0x1416: 0x9239, 0x1417: 0x9261, - 0x1418: 0x9289, 0x1419: 0x92b1, 0x141a: 0x92d9, 0x141b: 0x9301, 0x141c: 0x9329, 0x141d: 0x9351, - 0x141e: 0x9379, 0x141f: 0x93a1, 0x1420: 0x93c9, 0x1421: 0x93f1, 0x1422: 0x9419, 0x1423: 0x9441, - 0x1424: 0x9469, 0x1425: 0x9491, 0x1426: 0x94b9, 0x1427: 0x94e1, 0x1428: 0x9079, 0x1429: 0x9509, - 0x142a: 0x9531, 0x142b: 0x9559, 0x142c: 0x9581, 0x142d: 0x9491, 0x142e: 0x94b9, 0x142f: 0x94e1, - 0x1430: 0x9079, 0x1431: 0x9051, 0x1432: 0x90a1, 0x1433: 0x8211, 0x1434: 0x8059, 0x1435: 0x8081, - 0x1436: 0x80a9, 0x1437: 0x9491, 0x1438: 0x94b9, 0x1439: 0x94e1, 0x143a: 0x8211, 0x143b: 0x8239, - 0x143c: 0x95a9, 0x143d: 0x95a9, 0x143e: 0x0018, 0x143f: 0x0018, + 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: 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: 0x95d1, 0x1451: 0x9609, - 0x1452: 0x9609, 0x1453: 0x9641, 0x1454: 0x9679, 0x1455: 0x96b1, 0x1456: 0x96e9, 0x1457: 0x9721, - 0x1458: 0x9759, 0x1459: 0x9759, 0x145a: 0x9791, 0x145b: 0x97c9, 0x145c: 0x9801, 0x145d: 0x9839, - 0x145e: 0x9871, 0x145f: 0x98a9, 0x1460: 0x98a9, 0x1461: 0x98e1, 0x1462: 0x9919, 0x1463: 0x9919, - 0x1464: 0x9951, 0x1465: 0x9951, 0x1466: 0x9989, 0x1467: 0x99c1, 0x1468: 0x99c1, 0x1469: 0x99f9, - 0x146a: 0x9a31, 0x146b: 0x9a31, 0x146c: 0x9a69, 0x146d: 0x9a69, 0x146e: 0x9aa1, 0x146f: 0x9ad9, - 0x1470: 0x9ad9, 0x1471: 0x9b11, 0x1472: 0x9b11, 0x1473: 0x9b49, 0x1474: 0x9b81, 0x1475: 0x9bb9, - 0x1476: 0x9bf1, 0x1477: 0x9bf1, 0x1478: 0x9c29, 0x1479: 0x9c61, 0x147a: 0x9c99, 0x147b: 0x9cd1, - 0x147c: 0x9d09, 0x147d: 0x9d09, 0x147e: 0x9d41, 0x147f: 0x9d79, + 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: 0xa949, 0x1481: 0xa981, 0x1482: 0xa9b9, 0x1483: 0xa8a1, 0x1484: 0x9bb9, 0x1485: 0x9989, - 0x1486: 0xa9f1, 0x1487: 0xaa29, 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: 0xaa61, 0x14b1: 0xaa99, 0x14b2: 0xaad1, 0x14b3: 0xab19, 0x14b4: 0xab61, 0x14b5: 0xaba9, - 0x14b6: 0xabf1, 0x14b7: 0xac39, 0x14b8: 0xac81, 0x14b9: 0xacc9, 0x14ba: 0xad02, 0x14bb: 0xae12, - 0x14bc: 0xae91, 0x14bd: 0x0018, 0x14be: 0x0040, 0x14bf: 0x0040, + 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: 0x13c0, 0x14c1: 0x13c0, 0x14c2: 0x13c0, 0x14c3: 0x13c0, 0x14c4: 0x13c0, 0x14c5: 0x13c0, - 0x14c6: 0x13c0, 0x14c7: 0x13c0, 0x14c8: 0x13c0, 0x14c9: 0x13c0, 0x14ca: 0x13c0, 0x14cb: 0x13c0, - 0x14cc: 0x13c0, 0x14cd: 0x13c0, 0x14ce: 0x13c0, 0x14cf: 0x13c0, 0x14d0: 0xaeda, 0x14d1: 0x7d55, - 0x14d2: 0x0040, 0x14d3: 0xaeea, 0x14d4: 0x03c2, 0x14d5: 0xaefa, 0x14d6: 0xaf0a, 0x14d7: 0x7d75, - 0x14d8: 0x7d95, 0x14d9: 0x0040, 0x14da: 0x0040, 0x14db: 0x0040, 0x14dc: 0x0040, 0x14dd: 0x0040, - 0x14de: 0x0040, 0x14df: 0x0040, 0x14e0: 0x1308, 0x14e1: 0x1308, 0x14e2: 0x1308, 0x14e3: 0x1308, - 0x14e4: 0x1308, 0x14e5: 0x1308, 0x14e6: 0x1308, 0x14e7: 0x1308, 0x14e8: 0x1308, 0x14e9: 0x1308, - 0x14ea: 0x1308, 0x14eb: 0x1308, 0x14ec: 0x1308, 0x14ed: 0x1308, 0x14ee: 0x1308, 0x14ef: 0x1308, - 0x14f0: 0x0040, 0x14f1: 0x7db5, 0x14f2: 0x7dd5, 0x14f3: 0xaf1a, 0x14f4: 0xaf1a, 0x14f5: 0x1fd2, - 0x14f6: 0x1fe2, 0x14f7: 0xaf2a, 0x14f8: 0xaf3a, 0x14f9: 0x7df5, 0x14fa: 0x7e15, 0x14fb: 0x7e35, - 0x14fc: 0x7df5, 0x14fd: 0x7e55, 0x14fe: 0x7e75, 0x14ff: 0x7e55, + 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: 0x7e95, 0x1501: 0x7eb5, 0x1502: 0x7ed5, 0x1503: 0x7eb5, 0x1504: 0x7ef5, 0x1505: 0x0018, - 0x1506: 0x0018, 0x1507: 0xaf4a, 0x1508: 0xaf5a, 0x1509: 0x7f16, 0x150a: 0x7f36, 0x150b: 0x7f56, - 0x150c: 0x7f76, 0x150d: 0xaf1a, 0x150e: 0xaf1a, 0x150f: 0xaf1a, 0x1510: 0xaeda, 0x1511: 0x7f95, - 0x1512: 0x0040, 0x1513: 0x0040, 0x1514: 0x03c2, 0x1515: 0xaeea, 0x1516: 0xaf0a, 0x1517: 0xaefa, - 0x1518: 0x7fb5, 0x1519: 0x1fd2, 0x151a: 0x1fe2, 0x151b: 0xaf2a, 0x151c: 0xaf3a, 0x151d: 0x7e95, - 0x151e: 0x7ef5, 0x151f: 0xaf6a, 0x1520: 0xaf7a, 0x1521: 0xaf8a, 0x1522: 0x1fb2, 0x1523: 0xaf99, - 0x1524: 0xafaa, 0x1525: 0xafba, 0x1526: 0x1fc2, 0x1527: 0x0040, 0x1528: 0xafca, 0x1529: 0xafda, - 0x152a: 0xafea, 0x152b: 0xaffa, 0x152c: 0x0040, 0x152d: 0x0040, 0x152e: 0x0040, 0x152f: 0x0040, - 0x1530: 0x7fd6, 0x1531: 0xb009, 0x1532: 0x7ff6, 0x1533: 0x0008, 0x1534: 0x8016, 0x1535: 0x0040, - 0x1536: 0x8036, 0x1537: 0xb031, 0x1538: 0x8056, 0x1539: 0xb059, 0x153a: 0x8076, 0x153b: 0xb081, - 0x153c: 0x8096, 0x153d: 0xb0a9, 0x153e: 0x80b6, 0x153f: 0xb0d1, + 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: 0xb0f9, 0x1541: 0xb111, 0x1542: 0xb111, 0x1543: 0xb129, 0x1544: 0xb129, 0x1545: 0xb141, - 0x1546: 0xb141, 0x1547: 0xb159, 0x1548: 0xb159, 0x1549: 0xb171, 0x154a: 0xb171, 0x154b: 0xb171, - 0x154c: 0xb171, 0x154d: 0xb189, 0x154e: 0xb189, 0x154f: 0xb1a1, 0x1550: 0xb1a1, 0x1551: 0xb1a1, - 0x1552: 0xb1a1, 0x1553: 0xb1b9, 0x1554: 0xb1b9, 0x1555: 0xb1d1, 0x1556: 0xb1d1, 0x1557: 0xb1d1, - 0x1558: 0xb1d1, 0x1559: 0xb1e9, 0x155a: 0xb1e9, 0x155b: 0xb1e9, 0x155c: 0xb1e9, 0x155d: 0xb201, - 0x155e: 0xb201, 0x155f: 0xb201, 0x1560: 0xb201, 0x1561: 0xb219, 0x1562: 0xb219, 0x1563: 0xb219, - 0x1564: 0xb219, 0x1565: 0xb231, 0x1566: 0xb231, 0x1567: 0xb231, 0x1568: 0xb231, 0x1569: 0xb249, - 0x156a: 0xb249, 0x156b: 0xb261, 0x156c: 0xb261, 0x156d: 0xb279, 0x156e: 0xb279, 0x156f: 0xb291, - 0x1570: 0xb291, 0x1571: 0xb2a9, 0x1572: 0xb2a9, 0x1573: 0xb2a9, 0x1574: 0xb2a9, 0x1575: 0xb2c1, - 0x1576: 0xb2c1, 0x1577: 0xb2c1, 0x1578: 0xb2c1, 0x1579: 0xb2d9, 0x157a: 0xb2d9, 0x157b: 0xb2d9, - 0x157c: 0xb2d9, 0x157d: 0xb2f1, 0x157e: 0xb2f1, 0x157f: 0xb2f1, + 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: 0xb2f1, 0x1581: 0xb309, 0x1582: 0xb309, 0x1583: 0xb309, 0x1584: 0xb309, 0x1585: 0xb321, - 0x1586: 0xb321, 0x1587: 0xb321, 0x1588: 0xb321, 0x1589: 0xb339, 0x158a: 0xb339, 0x158b: 0xb339, - 0x158c: 0xb339, 0x158d: 0xb351, 0x158e: 0xb351, 0x158f: 0xb351, 0x1590: 0xb351, 0x1591: 0xb369, - 0x1592: 0xb369, 0x1593: 0xb369, 0x1594: 0xb369, 0x1595: 0xb381, 0x1596: 0xb381, 0x1597: 0xb381, - 0x1598: 0xb381, 0x1599: 0xb399, 0x159a: 0xb399, 0x159b: 0xb399, 0x159c: 0xb399, 0x159d: 0xb3b1, - 0x159e: 0xb3b1, 0x159f: 0xb3b1, 0x15a0: 0xb3b1, 0x15a1: 0xb3c9, 0x15a2: 0xb3c9, 0x15a3: 0xb3c9, - 0x15a4: 0xb3c9, 0x15a5: 0xb3e1, 0x15a6: 0xb3e1, 0x15a7: 0xb3e1, 0x15a8: 0xb3e1, 0x15a9: 0xb3f9, - 0x15aa: 0xb3f9, 0x15ab: 0xb3f9, 0x15ac: 0xb3f9, 0x15ad: 0xb411, 0x15ae: 0xb411, 0x15af: 0x7ab1, - 0x15b0: 0x7ab1, 0x15b1: 0xb429, 0x15b2: 0xb429, 0x15b3: 0xb429, 0x15b4: 0xb429, 0x15b5: 0xb441, - 0x15b6: 0xb441, 0x15b7: 0xb469, 0x15b8: 0xb469, 0x15b9: 0xb491, 0x15ba: 0xb491, 0x15bb: 0xb4b9, - 0x15bc: 0xb4b9, 0x15bd: 0x0040, 0x15be: 0x0040, 0x15bf: 0x03c0, + 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: 0x0040, 0x15c1: 0xaefa, 0x15c2: 0xb4e2, 0x15c3: 0xaf6a, 0x15c4: 0xafda, 0x15c5: 0xafea, - 0x15c6: 0xaf7a, 0x15c7: 0xb4f2, 0x15c8: 0x1fd2, 0x15c9: 0x1fe2, 0x15ca: 0xaf8a, 0x15cb: 0x1fb2, - 0x15cc: 0xaeda, 0x15cd: 0xaf99, 0x15ce: 0x29d1, 0x15cf: 0xb502, 0x15d0: 0x1f41, 0x15d1: 0x00c9, - 0x15d2: 0x0069, 0x15d3: 0x0079, 0x15d4: 0x1f51, 0x15d5: 0x1f61, 0x15d6: 0x1f71, 0x15d7: 0x1f81, - 0x15d8: 0x1f91, 0x15d9: 0x1fa1, 0x15da: 0xaeea, 0x15db: 0x03c2, 0x15dc: 0xafaa, 0x15dd: 0x1fc2, - 0x15de: 0xafba, 0x15df: 0xaf0a, 0x15e0: 0xaffa, 0x15e1: 0x0039, 0x15e2: 0x0ee9, 0x15e3: 0x1159, - 0x15e4: 0x0ef9, 0x15e5: 0x0f09, 0x15e6: 0x1199, 0x15e7: 0x0f31, 0x15e8: 0x0249, 0x15e9: 0x0f41, - 0x15ea: 0x0259, 0x15eb: 0x0f51, 0x15ec: 0x0359, 0x15ed: 0x0f61, 0x15ee: 0x0f71, 0x15ef: 0x00d9, - 0x15f0: 0x0f99, 0x15f1: 0x2039, 0x15f2: 0x0269, 0x15f3: 0x01d9, 0x15f4: 0x0fa9, 0x15f5: 0x0fb9, - 0x15f6: 0x1089, 0x15f7: 0x0279, 0x15f8: 0x0369, 0x15f9: 0x0289, 0x15fa: 0x13d1, 0x15fb: 0xaf4a, - 0x15fc: 0xafca, 0x15fd: 0xaf5a, 0x15fe: 0xb512, 0x15ff: 0xaf1a, + 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: 0x1caa, 0x1601: 0x0039, 0x1602: 0x0ee9, 0x1603: 0x1159, 0x1604: 0x0ef9, 0x1605: 0x0f09, - 0x1606: 0x1199, 0x1607: 0x0f31, 0x1608: 0x0249, 0x1609: 0x0f41, 0x160a: 0x0259, 0x160b: 0x0f51, - 0x160c: 0x0359, 0x160d: 0x0f61, 0x160e: 0x0f71, 0x160f: 0x00d9, 0x1610: 0x0f99, 0x1611: 0x2039, - 0x1612: 0x0269, 0x1613: 0x01d9, 0x1614: 0x0fa9, 0x1615: 0x0fb9, 0x1616: 0x1089, 0x1617: 0x0279, - 0x1618: 0x0369, 0x1619: 0x0289, 0x161a: 0x13d1, 0x161b: 0xaf2a, 0x161c: 0xb522, 0x161d: 0xaf3a, - 0x161e: 0xb532, 0x161f: 0x80d5, 0x1620: 0x80f5, 0x1621: 0x29d1, 0x1622: 0x8115, 0x1623: 0x8115, - 0x1624: 0x8135, 0x1625: 0x8155, 0x1626: 0x8175, 0x1627: 0x8195, 0x1628: 0x81b5, 0x1629: 0x81d5, - 0x162a: 0x81f5, 0x162b: 0x8215, 0x162c: 0x8235, 0x162d: 0x8255, 0x162e: 0x8275, 0x162f: 0x8295, - 0x1630: 0x82b5, 0x1631: 0x82d5, 0x1632: 0x82f5, 0x1633: 0x8315, 0x1634: 0x8335, 0x1635: 0x8355, - 0x1636: 0x8375, 0x1637: 0x8395, 0x1638: 0x83b5, 0x1639: 0x83d5, 0x163a: 0x83f5, 0x163b: 0x8415, - 0x163c: 0x81b5, 0x163d: 0x8435, 0x163e: 0x8455, 0x163f: 0x8215, + 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: 0x8475, 0x1641: 0x8495, 0x1642: 0x84b5, 0x1643: 0x84d5, 0x1644: 0x84f5, 0x1645: 0x8515, - 0x1646: 0x8535, 0x1647: 0x8555, 0x1648: 0x84d5, 0x1649: 0x8575, 0x164a: 0x84d5, 0x164b: 0x8595, - 0x164c: 0x8595, 0x164d: 0x85b5, 0x164e: 0x85b5, 0x164f: 0x85d5, 0x1650: 0x8515, 0x1651: 0x85f5, - 0x1652: 0x8615, 0x1653: 0x85f5, 0x1654: 0x8635, 0x1655: 0x8615, 0x1656: 0x8655, 0x1657: 0x8655, - 0x1658: 0x8675, 0x1659: 0x8675, 0x165a: 0x8695, 0x165b: 0x8695, 0x165c: 0x8615, 0x165d: 0x8115, - 0x165e: 0x86b5, 0x165f: 0x86d5, 0x1660: 0x0040, 0x1661: 0x86f5, 0x1662: 0x8715, 0x1663: 0x8735, - 0x1664: 0x8755, 0x1665: 0x8735, 0x1666: 0x8775, 0x1667: 0x8795, 0x1668: 0x87b5, 0x1669: 0x87b5, - 0x166a: 0x87d5, 0x166b: 0x87d5, 0x166c: 0x87f5, 0x166d: 0x87f5, 0x166e: 0x87d5, 0x166f: 0x87d5, - 0x1670: 0x8815, 0x1671: 0x8835, 0x1672: 0x8855, 0x1673: 0x8875, 0x1674: 0x8895, 0x1675: 0x88b5, - 0x1676: 0x88b5, 0x1677: 0x88b5, 0x1678: 0x88d5, 0x1679: 0x88d5, 0x167a: 0x88d5, 0x167b: 0x88d5, - 0x167c: 0x87b5, 0x167d: 0x87b5, 0x167e: 0x87b5, 0x167f: 0x0040, + 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: 0x0040, 0x1681: 0x0040, 0x1682: 0x8715, 0x1683: 0x86f5, 0x1684: 0x88f5, 0x1685: 0x86f5, - 0x1686: 0x8715, 0x1687: 0x86f5, 0x1688: 0x0040, 0x1689: 0x0040, 0x168a: 0x8915, 0x168b: 0x8715, - 0x168c: 0x8935, 0x168d: 0x88f5, 0x168e: 0x8935, 0x168f: 0x8715, 0x1690: 0x0040, 0x1691: 0x0040, - 0x1692: 0x8955, 0x1693: 0x8975, 0x1694: 0x8875, 0x1695: 0x8935, 0x1696: 0x88f5, 0x1697: 0x8935, - 0x1698: 0x0040, 0x1699: 0x0040, 0x169a: 0x8995, 0x169b: 0x89b5, 0x169c: 0x8995, 0x169d: 0x0040, - 0x169e: 0x0040, 0x169f: 0x0040, 0x16a0: 0xb541, 0x16a1: 0xb559, 0x16a2: 0xb571, 0x16a3: 0x89d6, - 0x16a4: 0xb589, 0x16a5: 0xb5a1, 0x16a6: 0x89f5, 0x16a7: 0x0040, 0x16a8: 0x8a15, 0x16a9: 0x8a35, - 0x16aa: 0x8a55, 0x16ab: 0x8a35, 0x16ac: 0x8a75, 0x16ad: 0x8a95, 0x16ae: 0x8ab5, 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, + 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: 0x0208, 0x16c1: 0x0208, 0x16c2: 0x0208, 0x16c3: 0x0208, 0x16c4: 0x0208, 0x16c5: 0x0408, - 0x16c6: 0x0008, 0x16c7: 0x0408, 0x16c8: 0x0018, 0x16c9: 0x0408, 0x16ca: 0x0408, 0x16cb: 0x0008, - 0x16cc: 0x0008, 0x16cd: 0x0108, 0x16ce: 0x0408, 0x16cf: 0x0408, 0x16d0: 0x0408, 0x16d1: 0x0408, - 0x16d2: 0x0408, 0x16d3: 0x0208, 0x16d4: 0x0208, 0x16d5: 0x0208, 0x16d6: 0x0208, 0x16d7: 0x0108, - 0x16d8: 0x0208, 0x16d9: 0x0208, 0x16da: 0x0208, 0x16db: 0x0208, 0x16dc: 0x0208, 0x16dd: 0x0408, - 0x16de: 0x0208, 0x16df: 0x0208, 0x16e0: 0x0208, 0x16e1: 0x0408, 0x16e2: 0x0008, 0x16e3: 0x0008, - 0x16e4: 0x0408, 0x16e5: 0x1308, 0x16e6: 0x1308, 0x16e7: 0x0040, 0x16e8: 0x0040, 0x16e9: 0x0040, - 0x16ea: 0x0040, 0x16eb: 0x0218, 0x16ec: 0x0218, 0x16ed: 0x0218, 0x16ee: 0x0218, 0x16ef: 0x0418, - 0x16f0: 0x0018, 0x16f1: 0x0018, 0x16f2: 0x0018, 0x16f3: 0x0018, 0x16f4: 0x0018, 0x16f5: 0x0018, - 0x16f6: 0x0018, 0x16f7: 0x0040, 0x16f8: 0x0040, 0x16f9: 0x0040, 0x16fa: 0x0040, 0x16fb: 0x0040, - 0x16fc: 0x0040, 0x16fd: 0x0040, 0x16fe: 0x0040, 0x16ff: 0x0040, + 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: 0x0208, 0x1701: 0x0408, 0x1702: 0x0208, 0x1703: 0x0408, 0x1704: 0x0408, 0x1705: 0x0408, - 0x1706: 0x0208, 0x1707: 0x0208, 0x1708: 0x0208, 0x1709: 0x0408, 0x170a: 0x0208, 0x170b: 0x0208, - 0x170c: 0x0408, 0x170d: 0x0208, 0x170e: 0x0408, 0x170f: 0x0408, 0x1710: 0x0208, 0x1711: 0x0408, - 0x1712: 0x0040, 0x1713: 0x0040, 0x1714: 0x0040, 0x1715: 0x0040, 0x1716: 0x0040, 0x1717: 0x0040, - 0x1718: 0x0040, 0x1719: 0x0018, 0x171a: 0x0018, 0x171b: 0x0018, 0x171c: 0x0018, 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: 0x0418, - 0x172a: 0x0418, 0x172b: 0x0418, 0x172c: 0x0418, 0x172d: 0x0218, 0x172e: 0x0218, 0x172f: 0x0018, + 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: 0x0040, 0x173a: 0x0040, 0x173b: 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: 0x1308, 0x1741: 0x1308, 0x1742: 0x1008, 0x1743: 0x1008, 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: 0x0040, - 0x177c: 0x1308, 0x177d: 0x0008, 0x177e: 0x1008, 0x177f: 0x1008, + 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: 0x1308, 0x1781: 0x1008, 0x1782: 0x1008, 0x1783: 0x1008, 0x1784: 0x1008, 0x1785: 0x0040, - 0x1786: 0x0040, 0x1787: 0x1008, 0x1788: 0x1008, 0x1789: 0x0040, 0x178a: 0x0040, 0x178b: 0x1008, - 0x178c: 0x1008, 0x178d: 0x1808, 0x178e: 0x0040, 0x178f: 0x0040, 0x1790: 0x0008, 0x1791: 0x0040, - 0x1792: 0x0040, 0x1793: 0x0040, 0x1794: 0x0040, 0x1795: 0x0040, 0x1796: 0x0040, 0x1797: 0x1008, - 0x1798: 0x0040, 0x1799: 0x0040, 0x179a: 0x0040, 0x179b: 0x0040, 0x179c: 0x0040, 0x179d: 0x0008, - 0x179e: 0x0008, 0x179f: 0x0008, 0x17a0: 0x0008, 0x17a1: 0x0008, 0x17a2: 0x1008, 0x17a3: 0x1008, - 0x17a4: 0x0040, 0x17a5: 0x0040, 0x17a6: 0x1308, 0x17a7: 0x1308, 0x17a8: 0x1308, 0x17a9: 0x1308, - 0x17aa: 0x1308, 0x17ab: 0x1308, 0x17ac: 0x1308, 0x17ad: 0x0040, 0x17ae: 0x0040, 0x17af: 0x0040, - 0x17b0: 0x1308, 0x17b1: 0x1308, 0x17b2: 0x1308, 0x17b3: 0x1308, 0x17b4: 0x1308, 0x17b5: 0x0040, + 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: 0x0039, 0x17c1: 0x0ee9, 0x17c2: 0x1159, 0x17c3: 0x0ef9, 0x17c4: 0x0f09, 0x17c5: 0x1199, - 0x17c6: 0x0f31, 0x17c7: 0x0249, 0x17c8: 0x0f41, 0x17c9: 0x0259, 0x17ca: 0x0f51, 0x17cb: 0x0359, - 0x17cc: 0x0f61, 0x17cd: 0x0f71, 0x17ce: 0x00d9, 0x17cf: 0x0f99, 0x17d0: 0x2039, 0x17d1: 0x0269, - 0x17d2: 0x01d9, 0x17d3: 0x0fa9, 0x17d4: 0x0fb9, 0x17d5: 0x1089, 0x17d6: 0x0279, 0x17d7: 0x0369, - 0x17d8: 0x0289, 0x17d9: 0x13d1, 0x17da: 0x0039, 0x17db: 0x0ee9, 0x17dc: 0x1159, 0x17dd: 0x0ef9, - 0x17de: 0x0f09, 0x17df: 0x1199, 0x17e0: 0x0f31, 0x17e1: 0x0249, 0x17e2: 0x0f41, 0x17e3: 0x0259, - 0x17e4: 0x0f51, 0x17e5: 0x0359, 0x17e6: 0x0f61, 0x17e7: 0x0f71, 0x17e8: 0x00d9, 0x17e9: 0x0f99, - 0x17ea: 0x2039, 0x17eb: 0x0269, 0x17ec: 0x01d9, 0x17ed: 0x0fa9, 0x17ee: 0x0fb9, 0x17ef: 0x1089, - 0x17f0: 0x0279, 0x17f1: 0x0369, 0x17f2: 0x0289, 0x17f3: 0x13d1, 0x17f4: 0x0039, 0x17f5: 0x0ee9, - 0x17f6: 0x1159, 0x17f7: 0x0ef9, 0x17f8: 0x0f09, 0x17f9: 0x1199, 0x17fa: 0x0f31, 0x17fb: 0x0249, - 0x17fc: 0x0f41, 0x17fd: 0x0259, 0x17fe: 0x0f51, 0x17ff: 0x0359, + 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: 0x0f61, 0x1801: 0x0f71, 0x1802: 0x00d9, 0x1803: 0x0f99, 0x1804: 0x2039, 0x1805: 0x0269, - 0x1806: 0x01d9, 0x1807: 0x0fa9, 0x1808: 0x0fb9, 0x1809: 0x1089, 0x180a: 0x0279, 0x180b: 0x0369, - 0x180c: 0x0289, 0x180d: 0x13d1, 0x180e: 0x0039, 0x180f: 0x0ee9, 0x1810: 0x1159, 0x1811: 0x0ef9, - 0x1812: 0x0f09, 0x1813: 0x1199, 0x1814: 0x0f31, 0x1815: 0x0040, 0x1816: 0x0f41, 0x1817: 0x0259, - 0x1818: 0x0f51, 0x1819: 0x0359, 0x181a: 0x0f61, 0x181b: 0x0f71, 0x181c: 0x00d9, 0x181d: 0x0f99, - 0x181e: 0x2039, 0x181f: 0x0269, 0x1820: 0x01d9, 0x1821: 0x0fa9, 0x1822: 0x0fb9, 0x1823: 0x1089, - 0x1824: 0x0279, 0x1825: 0x0369, 0x1826: 0x0289, 0x1827: 0x13d1, 0x1828: 0x0039, 0x1829: 0x0ee9, - 0x182a: 0x1159, 0x182b: 0x0ef9, 0x182c: 0x0f09, 0x182d: 0x1199, 0x182e: 0x0f31, 0x182f: 0x0249, - 0x1830: 0x0f41, 0x1831: 0x0259, 0x1832: 0x0f51, 0x1833: 0x0359, 0x1834: 0x0f61, 0x1835: 0x0f71, - 0x1836: 0x00d9, 0x1837: 0x0f99, 0x1838: 0x2039, 0x1839: 0x0269, 0x183a: 0x01d9, 0x183b: 0x0fa9, - 0x183c: 0x0fb9, 0x183d: 0x1089, 0x183e: 0x0279, 0x183f: 0x0369, + 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: 0x0289, 0x1841: 0x13d1, 0x1842: 0x0039, 0x1843: 0x0ee9, 0x1844: 0x1159, 0x1845: 0x0ef9, - 0x1846: 0x0f09, 0x1847: 0x1199, 0x1848: 0x0f31, 0x1849: 0x0249, 0x184a: 0x0f41, 0x184b: 0x0259, - 0x184c: 0x0f51, 0x184d: 0x0359, 0x184e: 0x0f61, 0x184f: 0x0f71, 0x1850: 0x00d9, 0x1851: 0x0f99, - 0x1852: 0x2039, 0x1853: 0x0269, 0x1854: 0x01d9, 0x1855: 0x0fa9, 0x1856: 0x0fb9, 0x1857: 0x1089, - 0x1858: 0x0279, 0x1859: 0x0369, 0x185a: 0x0289, 0x185b: 0x13d1, 0x185c: 0x0039, 0x185d: 0x0040, - 0x185e: 0x1159, 0x185f: 0x0ef9, 0x1860: 0x0040, 0x1861: 0x0040, 0x1862: 0x0f31, 0x1863: 0x0040, - 0x1864: 0x0040, 0x1865: 0x0259, 0x1866: 0x0f51, 0x1867: 0x0040, 0x1868: 0x0040, 0x1869: 0x0f71, - 0x186a: 0x00d9, 0x186b: 0x0f99, 0x186c: 0x2039, 0x186d: 0x0040, 0x186e: 0x01d9, 0x186f: 0x0fa9, - 0x1870: 0x0fb9, 0x1871: 0x1089, 0x1872: 0x0279, 0x1873: 0x0369, 0x1874: 0x0289, 0x1875: 0x13d1, - 0x1876: 0x0039, 0x1877: 0x0ee9, 0x1878: 0x1159, 0x1879: 0x0ef9, 0x187a: 0x0040, 0x187b: 0x1199, - 0x187c: 0x0040, 0x187d: 0x0249, 0x187e: 0x0f41, 0x187f: 0x0259, + 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: 0x0f51, 0x1881: 0x0359, 0x1882: 0x0f61, 0x1883: 0x0f71, 0x1884: 0x0040, 0x1885: 0x0f99, - 0x1886: 0x2039, 0x1887: 0x0269, 0x1888: 0x01d9, 0x1889: 0x0fa9, 0x188a: 0x0fb9, 0x188b: 0x1089, - 0x188c: 0x0279, 0x188d: 0x0369, 0x188e: 0x0289, 0x188f: 0x13d1, 0x1890: 0x0039, 0x1891: 0x0ee9, - 0x1892: 0x1159, 0x1893: 0x0ef9, 0x1894: 0x0f09, 0x1895: 0x1199, 0x1896: 0x0f31, 0x1897: 0x0249, - 0x1898: 0x0f41, 0x1899: 0x0259, 0x189a: 0x0f51, 0x189b: 0x0359, 0x189c: 0x0f61, 0x189d: 0x0f71, - 0x189e: 0x00d9, 0x189f: 0x0f99, 0x18a0: 0x2039, 0x18a1: 0x0269, 0x18a2: 0x01d9, 0x18a3: 0x0fa9, - 0x18a4: 0x0fb9, 0x18a5: 0x1089, 0x18a6: 0x0279, 0x18a7: 0x0369, 0x18a8: 0x0289, 0x18a9: 0x13d1, - 0x18aa: 0x0039, 0x18ab: 0x0ee9, 0x18ac: 0x1159, 0x18ad: 0x0ef9, 0x18ae: 0x0f09, 0x18af: 0x1199, - 0x18b0: 0x0f31, 0x18b1: 0x0249, 0x18b2: 0x0f41, 0x18b3: 0x0259, 0x18b4: 0x0f51, 0x18b5: 0x0359, - 0x18b6: 0x0f61, 0x18b7: 0x0f71, 0x18b8: 0x00d9, 0x18b9: 0x0f99, 0x18ba: 0x2039, 0x18bb: 0x0269, - 0x18bc: 0x01d9, 0x18bd: 0x0fa9, 0x18be: 0x0fb9, 0x18bf: 0x1089, + 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: 0x0279, 0x18c1: 0x0369, 0x18c2: 0x0289, 0x18c3: 0x13d1, 0x18c4: 0x0039, 0x18c5: 0x0ee9, - 0x18c6: 0x0040, 0x18c7: 0x0ef9, 0x18c8: 0x0f09, 0x18c9: 0x1199, 0x18ca: 0x0f31, 0x18cb: 0x0040, - 0x18cc: 0x0040, 0x18cd: 0x0259, 0x18ce: 0x0f51, 0x18cf: 0x0359, 0x18d0: 0x0f61, 0x18d1: 0x0f71, - 0x18d2: 0x00d9, 0x18d3: 0x0f99, 0x18d4: 0x2039, 0x18d5: 0x0040, 0x18d6: 0x01d9, 0x18d7: 0x0fa9, - 0x18d8: 0x0fb9, 0x18d9: 0x1089, 0x18da: 0x0279, 0x18db: 0x0369, 0x18dc: 0x0289, 0x18dd: 0x0040, - 0x18de: 0x0039, 0x18df: 0x0ee9, 0x18e0: 0x1159, 0x18e1: 0x0ef9, 0x18e2: 0x0f09, 0x18e3: 0x1199, - 0x18e4: 0x0f31, 0x18e5: 0x0249, 0x18e6: 0x0f41, 0x18e7: 0x0259, 0x18e8: 0x0f51, 0x18e9: 0x0359, - 0x18ea: 0x0f61, 0x18eb: 0x0f71, 0x18ec: 0x00d9, 0x18ed: 0x0f99, 0x18ee: 0x2039, 0x18ef: 0x0269, - 0x18f0: 0x01d9, 0x18f1: 0x0fa9, 0x18f2: 0x0fb9, 0x18f3: 0x1089, 0x18f4: 0x0279, 0x18f5: 0x0369, - 0x18f6: 0x0289, 0x18f7: 0x13d1, 0x18f8: 0x0039, 0x18f9: 0x0ee9, 0x18fa: 0x0040, 0x18fb: 0x0ef9, - 0x18fc: 0x0f09, 0x18fd: 0x1199, 0x18fe: 0x0f31, 0x18ff: 0x0040, + 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: 0x0f41, 0x1901: 0x0259, 0x1902: 0x0f51, 0x1903: 0x0359, 0x1904: 0x0f61, 0x1905: 0x0040, - 0x1906: 0x00d9, 0x1907: 0x0040, 0x1908: 0x0040, 0x1909: 0x0040, 0x190a: 0x01d9, 0x190b: 0x0fa9, - 0x190c: 0x0fb9, 0x190d: 0x1089, 0x190e: 0x0279, 0x190f: 0x0369, 0x1910: 0x0289, 0x1911: 0x0040, - 0x1912: 0x0039, 0x1913: 0x0ee9, 0x1914: 0x1159, 0x1915: 0x0ef9, 0x1916: 0x0f09, 0x1917: 0x1199, - 0x1918: 0x0f31, 0x1919: 0x0249, 0x191a: 0x0f41, 0x191b: 0x0259, 0x191c: 0x0f51, 0x191d: 0x0359, - 0x191e: 0x0f61, 0x191f: 0x0f71, 0x1920: 0x00d9, 0x1921: 0x0f99, 0x1922: 0x2039, 0x1923: 0x0269, - 0x1924: 0x01d9, 0x1925: 0x0fa9, 0x1926: 0x0fb9, 0x1927: 0x1089, 0x1928: 0x0279, 0x1929: 0x0369, - 0x192a: 0x0289, 0x192b: 0x13d1, 0x192c: 0x0039, 0x192d: 0x0ee9, 0x192e: 0x1159, 0x192f: 0x0ef9, - 0x1930: 0x0f09, 0x1931: 0x1199, 0x1932: 0x0f31, 0x1933: 0x0249, 0x1934: 0x0f41, 0x1935: 0x0259, - 0x1936: 0x0f51, 0x1937: 0x0359, 0x1938: 0x0f61, 0x1939: 0x0f71, 0x193a: 0x00d9, 0x193b: 0x0f99, - 0x193c: 0x2039, 0x193d: 0x0269, 0x193e: 0x01d9, 0x193f: 0x0fa9, + 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: 0x0fb9, 0x1941: 0x1089, 0x1942: 0x0279, 0x1943: 0x0369, 0x1944: 0x0289, 0x1945: 0x13d1, - 0x1946: 0x0039, 0x1947: 0x0ee9, 0x1948: 0x1159, 0x1949: 0x0ef9, 0x194a: 0x0f09, 0x194b: 0x1199, - 0x194c: 0x0f31, 0x194d: 0x0249, 0x194e: 0x0f41, 0x194f: 0x0259, 0x1950: 0x0f51, 0x1951: 0x0359, - 0x1952: 0x0f61, 0x1953: 0x0f71, 0x1954: 0x00d9, 0x1955: 0x0f99, 0x1956: 0x2039, 0x1957: 0x0269, - 0x1958: 0x01d9, 0x1959: 0x0fa9, 0x195a: 0x0fb9, 0x195b: 0x1089, 0x195c: 0x0279, 0x195d: 0x0369, - 0x195e: 0x0289, 0x195f: 0x13d1, 0x1960: 0x0039, 0x1961: 0x0ee9, 0x1962: 0x1159, 0x1963: 0x0ef9, - 0x1964: 0x0f09, 0x1965: 0x1199, 0x1966: 0x0f31, 0x1967: 0x0249, 0x1968: 0x0f41, 0x1969: 0x0259, - 0x196a: 0x0f51, 0x196b: 0x0359, 0x196c: 0x0f61, 0x196d: 0x0f71, 0x196e: 0x00d9, 0x196f: 0x0f99, - 0x1970: 0x2039, 0x1971: 0x0269, 0x1972: 0x01d9, 0x1973: 0x0fa9, 0x1974: 0x0fb9, 0x1975: 0x1089, - 0x1976: 0x0279, 0x1977: 0x0369, 0x1978: 0x0289, 0x1979: 0x13d1, 0x197a: 0x0039, 0x197b: 0x0ee9, - 0x197c: 0x1159, 0x197d: 0x0ef9, 0x197e: 0x0f09, 0x197f: 0x1199, + 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: 0x0f31, 0x1981: 0x0249, 0x1982: 0x0f41, 0x1983: 0x0259, 0x1984: 0x0f51, 0x1985: 0x0359, - 0x1986: 0x0f61, 0x1987: 0x0f71, 0x1988: 0x00d9, 0x1989: 0x0f99, 0x198a: 0x2039, 0x198b: 0x0269, - 0x198c: 0x01d9, 0x198d: 0x0fa9, 0x198e: 0x0fb9, 0x198f: 0x1089, 0x1990: 0x0279, 0x1991: 0x0369, - 0x1992: 0x0289, 0x1993: 0x13d1, 0x1994: 0x0039, 0x1995: 0x0ee9, 0x1996: 0x1159, 0x1997: 0x0ef9, - 0x1998: 0x0f09, 0x1999: 0x1199, 0x199a: 0x0f31, 0x199b: 0x0249, 0x199c: 0x0f41, 0x199d: 0x0259, - 0x199e: 0x0f51, 0x199f: 0x0359, 0x19a0: 0x0f61, 0x19a1: 0x0f71, 0x19a2: 0x00d9, 0x19a3: 0x0f99, - 0x19a4: 0x2039, 0x19a5: 0x0269, 0x19a6: 0x01d9, 0x19a7: 0x0fa9, 0x19a8: 0x0fb9, 0x19a9: 0x1089, - 0x19aa: 0x0279, 0x19ab: 0x0369, 0x19ac: 0x0289, 0x19ad: 0x13d1, 0x19ae: 0x0039, 0x19af: 0x0ee9, - 0x19b0: 0x1159, 0x19b1: 0x0ef9, 0x19b2: 0x0f09, 0x19b3: 0x1199, 0x19b4: 0x0f31, 0x19b5: 0x0249, - 0x19b6: 0x0f41, 0x19b7: 0x0259, 0x19b8: 0x0f51, 0x19b9: 0x0359, 0x19ba: 0x0f61, 0x19bb: 0x0f71, - 0x19bc: 0x00d9, 0x19bd: 0x0f99, 0x19be: 0x2039, 0x19bf: 0x0269, + 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: 0x01d9, 0x19c1: 0x0fa9, 0x19c2: 0x0fb9, 0x19c3: 0x1089, 0x19c4: 0x0279, 0x19c5: 0x0369, - 0x19c6: 0x0289, 0x19c7: 0x13d1, 0x19c8: 0x0039, 0x19c9: 0x0ee9, 0x19ca: 0x1159, 0x19cb: 0x0ef9, - 0x19cc: 0x0f09, 0x19cd: 0x1199, 0x19ce: 0x0f31, 0x19cf: 0x0249, 0x19d0: 0x0f41, 0x19d1: 0x0259, - 0x19d2: 0x0f51, 0x19d3: 0x0359, 0x19d4: 0x0f61, 0x19d5: 0x0f71, 0x19d6: 0x00d9, 0x19d7: 0x0f99, - 0x19d8: 0x2039, 0x19d9: 0x0269, 0x19da: 0x01d9, 0x19db: 0x0fa9, 0x19dc: 0x0fb9, 0x19dd: 0x1089, - 0x19de: 0x0279, 0x19df: 0x0369, 0x19e0: 0x0289, 0x19e1: 0x13d1, 0x19e2: 0x0039, 0x19e3: 0x0ee9, - 0x19e4: 0x1159, 0x19e5: 0x0ef9, 0x19e6: 0x0f09, 0x19e7: 0x1199, 0x19e8: 0x0f31, 0x19e9: 0x0249, - 0x19ea: 0x0f41, 0x19eb: 0x0259, 0x19ec: 0x0f51, 0x19ed: 0x0359, 0x19ee: 0x0f61, 0x19ef: 0x0f71, - 0x19f0: 0x00d9, 0x19f1: 0x0f99, 0x19f2: 0x2039, 0x19f3: 0x0269, 0x19f4: 0x01d9, 0x19f5: 0x0fa9, - 0x19f6: 0x0fb9, 0x19f7: 0x1089, 0x19f8: 0x0279, 0x19f9: 0x0369, 0x19fa: 0x0289, 0x19fb: 0x13d1, - 0x19fc: 0x0039, 0x19fd: 0x0ee9, 0x19fe: 0x1159, 0x19ff: 0x0ef9, + 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: 0x0f09, 0x1a01: 0x1199, 0x1a02: 0x0f31, 0x1a03: 0x0249, 0x1a04: 0x0f41, 0x1a05: 0x0259, - 0x1a06: 0x0f51, 0x1a07: 0x0359, 0x1a08: 0x0f61, 0x1a09: 0x0f71, 0x1a0a: 0x00d9, 0x1a0b: 0x0f99, - 0x1a0c: 0x2039, 0x1a0d: 0x0269, 0x1a0e: 0x01d9, 0x1a0f: 0x0fa9, 0x1a10: 0x0fb9, 0x1a11: 0x1089, - 0x1a12: 0x0279, 0x1a13: 0x0369, 0x1a14: 0x0289, 0x1a15: 0x13d1, 0x1a16: 0x0039, 0x1a17: 0x0ee9, - 0x1a18: 0x1159, 0x1a19: 0x0ef9, 0x1a1a: 0x0f09, 0x1a1b: 0x1199, 0x1a1c: 0x0f31, 0x1a1d: 0x0249, - 0x1a1e: 0x0f41, 0x1a1f: 0x0259, 0x1a20: 0x0f51, 0x1a21: 0x0359, 0x1a22: 0x0f61, 0x1a23: 0x0f71, - 0x1a24: 0x00d9, 0x1a25: 0x0f99, 0x1a26: 0x2039, 0x1a27: 0x0269, 0x1a28: 0x01d9, 0x1a29: 0x0fa9, - 0x1a2a: 0x0fb9, 0x1a2b: 0x1089, 0x1a2c: 0x0279, 0x1a2d: 0x0369, 0x1a2e: 0x0289, 0x1a2f: 0x13d1, - 0x1a30: 0x0039, 0x1a31: 0x0ee9, 0x1a32: 0x1159, 0x1a33: 0x0ef9, 0x1a34: 0x0f09, 0x1a35: 0x1199, - 0x1a36: 0x0f31, 0x1a37: 0x0249, 0x1a38: 0x0f41, 0x1a39: 0x0259, 0x1a3a: 0x0f51, 0x1a3b: 0x0359, - 0x1a3c: 0x0f61, 0x1a3d: 0x0f71, 0x1a3e: 0x00d9, 0x1a3f: 0x0f99, + 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: 0x2039, 0x1a41: 0x0269, 0x1a42: 0x01d9, 0x1a43: 0x0fa9, 0x1a44: 0x0fb9, 0x1a45: 0x1089, - 0x1a46: 0x0279, 0x1a47: 0x0369, 0x1a48: 0x0289, 0x1a49: 0x13d1, 0x1a4a: 0x0039, 0x1a4b: 0x0ee9, - 0x1a4c: 0x1159, 0x1a4d: 0x0ef9, 0x1a4e: 0x0f09, 0x1a4f: 0x1199, 0x1a50: 0x0f31, 0x1a51: 0x0249, - 0x1a52: 0x0f41, 0x1a53: 0x0259, 0x1a54: 0x0f51, 0x1a55: 0x0359, 0x1a56: 0x0f61, 0x1a57: 0x0f71, - 0x1a58: 0x00d9, 0x1a59: 0x0f99, 0x1a5a: 0x2039, 0x1a5b: 0x0269, 0x1a5c: 0x01d9, 0x1a5d: 0x0fa9, - 0x1a5e: 0x0fb9, 0x1a5f: 0x1089, 0x1a60: 0x0279, 0x1a61: 0x0369, 0x1a62: 0x0289, 0x1a63: 0x13d1, - 0x1a64: 0xba81, 0x1a65: 0xba99, 0x1a66: 0x0040, 0x1a67: 0x0040, 0x1a68: 0xbab1, 0x1a69: 0x1099, - 0x1a6a: 0x10b1, 0x1a6b: 0x10c9, 0x1a6c: 0xbac9, 0x1a6d: 0xbae1, 0x1a6e: 0xbaf9, 0x1a6f: 0x1429, - 0x1a70: 0x1a31, 0x1a71: 0xbb11, 0x1a72: 0xbb29, 0x1a73: 0xbb41, 0x1a74: 0xbb59, 0x1a75: 0xbb71, - 0x1a76: 0xbb89, 0x1a77: 0x2109, 0x1a78: 0x1111, 0x1a79: 0x1429, 0x1a7a: 0xbba1, 0x1a7b: 0xbbb9, - 0x1a7c: 0xbbd1, 0x1a7d: 0x10e1, 0x1a7e: 0x10f9, 0x1a7f: 0xbbe9, + 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: 0x2079, 0x1a81: 0xbc01, 0x1a82: 0xbab1, 0x1a83: 0x1099, 0x1a84: 0x10b1, 0x1a85: 0x10c9, - 0x1a86: 0xbac9, 0x1a87: 0xbae1, 0x1a88: 0xbaf9, 0x1a89: 0x1429, 0x1a8a: 0x1a31, 0x1a8b: 0xbb11, - 0x1a8c: 0xbb29, 0x1a8d: 0xbb41, 0x1a8e: 0xbb59, 0x1a8f: 0xbb71, 0x1a90: 0xbb89, 0x1a91: 0x2109, - 0x1a92: 0x1111, 0x1a93: 0xbba1, 0x1a94: 0xbba1, 0x1a95: 0xbbb9, 0x1a96: 0xbbd1, 0x1a97: 0x10e1, - 0x1a98: 0x10f9, 0x1a99: 0xbbe9, 0x1a9a: 0x2079, 0x1a9b: 0xbc21, 0x1a9c: 0xbac9, 0x1a9d: 0x1429, - 0x1a9e: 0xbb11, 0x1a9f: 0x10e1, 0x1aa0: 0x1111, 0x1aa1: 0x2109, 0x1aa2: 0xbab1, 0x1aa3: 0x1099, - 0x1aa4: 0x10b1, 0x1aa5: 0x10c9, 0x1aa6: 0xbac9, 0x1aa7: 0xbae1, 0x1aa8: 0xbaf9, 0x1aa9: 0x1429, - 0x1aaa: 0x1a31, 0x1aab: 0xbb11, 0x1aac: 0xbb29, 0x1aad: 0xbb41, 0x1aae: 0xbb59, 0x1aaf: 0xbb71, - 0x1ab0: 0xbb89, 0x1ab1: 0x2109, 0x1ab2: 0x1111, 0x1ab3: 0x1429, 0x1ab4: 0xbba1, 0x1ab5: 0xbbb9, - 0x1ab6: 0xbbd1, 0x1ab7: 0x10e1, 0x1ab8: 0x10f9, 0x1ab9: 0xbbe9, 0x1aba: 0x2079, 0x1abb: 0xbc01, - 0x1abc: 0xbab1, 0x1abd: 0x1099, 0x1abe: 0x10b1, 0x1abf: 0x10c9, + 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: 0xbac9, 0x1ac1: 0xbae1, 0x1ac2: 0xbaf9, 0x1ac3: 0x1429, 0x1ac4: 0x1a31, 0x1ac5: 0xbb11, - 0x1ac6: 0xbb29, 0x1ac7: 0xbb41, 0x1ac8: 0xbb59, 0x1ac9: 0xbb71, 0x1aca: 0xbb89, 0x1acb: 0x2109, - 0x1acc: 0x1111, 0x1acd: 0xbba1, 0x1ace: 0xbba1, 0x1acf: 0xbbb9, 0x1ad0: 0xbbd1, 0x1ad1: 0x10e1, - 0x1ad2: 0x10f9, 0x1ad3: 0xbbe9, 0x1ad4: 0x2079, 0x1ad5: 0xbc21, 0x1ad6: 0xbac9, 0x1ad7: 0x1429, - 0x1ad8: 0xbb11, 0x1ad9: 0x10e1, 0x1ada: 0x1111, 0x1adb: 0x2109, 0x1adc: 0xbab1, 0x1add: 0x1099, - 0x1ade: 0x10b1, 0x1adf: 0x10c9, 0x1ae0: 0xbac9, 0x1ae1: 0xbae1, 0x1ae2: 0xbaf9, 0x1ae3: 0x1429, - 0x1ae4: 0x1a31, 0x1ae5: 0xbb11, 0x1ae6: 0xbb29, 0x1ae7: 0xbb41, 0x1ae8: 0xbb59, 0x1ae9: 0xbb71, - 0x1aea: 0xbb89, 0x1aeb: 0x2109, 0x1aec: 0x1111, 0x1aed: 0x1429, 0x1aee: 0xbba1, 0x1aef: 0xbbb9, - 0x1af0: 0xbbd1, 0x1af1: 0x10e1, 0x1af2: 0x10f9, 0x1af3: 0xbbe9, 0x1af4: 0x2079, 0x1af5: 0xbc01, - 0x1af6: 0xbab1, 0x1af7: 0x1099, 0x1af8: 0x10b1, 0x1af9: 0x10c9, 0x1afa: 0xbac9, 0x1afb: 0xbae1, - 0x1afc: 0xbaf9, 0x1afd: 0x1429, 0x1afe: 0x1a31, 0x1aff: 0xbb11, + 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: 0xbb29, 0x1b01: 0xbb41, 0x1b02: 0xbb59, 0x1b03: 0xbb71, 0x1b04: 0xbb89, 0x1b05: 0x2109, - 0x1b06: 0x1111, 0x1b07: 0xbba1, 0x1b08: 0xbba1, 0x1b09: 0xbbb9, 0x1b0a: 0xbbd1, 0x1b0b: 0x10e1, - 0x1b0c: 0x10f9, 0x1b0d: 0xbbe9, 0x1b0e: 0x2079, 0x1b0f: 0xbc21, 0x1b10: 0xbac9, 0x1b11: 0x1429, - 0x1b12: 0xbb11, 0x1b13: 0x10e1, 0x1b14: 0x1111, 0x1b15: 0x2109, 0x1b16: 0xbab1, 0x1b17: 0x1099, - 0x1b18: 0x10b1, 0x1b19: 0x10c9, 0x1b1a: 0xbac9, 0x1b1b: 0xbae1, 0x1b1c: 0xbaf9, 0x1b1d: 0x1429, - 0x1b1e: 0x1a31, 0x1b1f: 0xbb11, 0x1b20: 0xbb29, 0x1b21: 0xbb41, 0x1b22: 0xbb59, 0x1b23: 0xbb71, - 0x1b24: 0xbb89, 0x1b25: 0x2109, 0x1b26: 0x1111, 0x1b27: 0x1429, 0x1b28: 0xbba1, 0x1b29: 0xbbb9, - 0x1b2a: 0xbbd1, 0x1b2b: 0x10e1, 0x1b2c: 0x10f9, 0x1b2d: 0xbbe9, 0x1b2e: 0x2079, 0x1b2f: 0xbc01, - 0x1b30: 0xbab1, 0x1b31: 0x1099, 0x1b32: 0x10b1, 0x1b33: 0x10c9, 0x1b34: 0xbac9, 0x1b35: 0xbae1, - 0x1b36: 0xbaf9, 0x1b37: 0x1429, 0x1b38: 0x1a31, 0x1b39: 0xbb11, 0x1b3a: 0xbb29, 0x1b3b: 0xbb41, - 0x1b3c: 0xbb59, 0x1b3d: 0xbb71, 0x1b3e: 0xbb89, 0x1b3f: 0x2109, + 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: 0x1111, 0x1b41: 0xbba1, 0x1b42: 0xbba1, 0x1b43: 0xbbb9, 0x1b44: 0xbbd1, 0x1b45: 0x10e1, - 0x1b46: 0x10f9, 0x1b47: 0xbbe9, 0x1b48: 0x2079, 0x1b49: 0xbc21, 0x1b4a: 0xbac9, 0x1b4b: 0x1429, - 0x1b4c: 0xbb11, 0x1b4d: 0x10e1, 0x1b4e: 0x1111, 0x1b4f: 0x2109, 0x1b50: 0xbab1, 0x1b51: 0x1099, - 0x1b52: 0x10b1, 0x1b53: 0x10c9, 0x1b54: 0xbac9, 0x1b55: 0xbae1, 0x1b56: 0xbaf9, 0x1b57: 0x1429, - 0x1b58: 0x1a31, 0x1b59: 0xbb11, 0x1b5a: 0xbb29, 0x1b5b: 0xbb41, 0x1b5c: 0xbb59, 0x1b5d: 0xbb71, - 0x1b5e: 0xbb89, 0x1b5f: 0x2109, 0x1b60: 0x1111, 0x1b61: 0x1429, 0x1b62: 0xbba1, 0x1b63: 0xbbb9, - 0x1b64: 0xbbd1, 0x1b65: 0x10e1, 0x1b66: 0x10f9, 0x1b67: 0xbbe9, 0x1b68: 0x2079, 0x1b69: 0xbc01, - 0x1b6a: 0xbab1, 0x1b6b: 0x1099, 0x1b6c: 0x10b1, 0x1b6d: 0x10c9, 0x1b6e: 0xbac9, 0x1b6f: 0xbae1, - 0x1b70: 0xbaf9, 0x1b71: 0x1429, 0x1b72: 0x1a31, 0x1b73: 0xbb11, 0x1b74: 0xbb29, 0x1b75: 0xbb41, - 0x1b76: 0xbb59, 0x1b77: 0xbb71, 0x1b78: 0xbb89, 0x1b79: 0x2109, 0x1b7a: 0x1111, 0x1b7b: 0xbba1, - 0x1b7c: 0xbba1, 0x1b7d: 0xbbb9, 0x1b7e: 0xbbd1, 0x1b7f: 0x10e1, + 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: 0x10f9, 0x1b81: 0xbbe9, 0x1b82: 0x2079, 0x1b83: 0xbc21, 0x1b84: 0xbac9, 0x1b85: 0x1429, - 0x1b86: 0xbb11, 0x1b87: 0x10e1, 0x1b88: 0x1111, 0x1b89: 0x2109, 0x1b8a: 0xbc41, 0x1b8b: 0xbc41, - 0x1b8c: 0x0040, 0x1b8d: 0x0040, 0x1b8e: 0x1f41, 0x1b8f: 0x00c9, 0x1b90: 0x0069, 0x1b91: 0x0079, - 0x1b92: 0x1f51, 0x1b93: 0x1f61, 0x1b94: 0x1f71, 0x1b95: 0x1f81, 0x1b96: 0x1f91, 0x1b97: 0x1fa1, - 0x1b98: 0x1f41, 0x1b99: 0x00c9, 0x1b9a: 0x0069, 0x1b9b: 0x0079, 0x1b9c: 0x1f51, 0x1b9d: 0x1f61, - 0x1b9e: 0x1f71, 0x1b9f: 0x1f81, 0x1ba0: 0x1f91, 0x1ba1: 0x1fa1, 0x1ba2: 0x1f41, 0x1ba3: 0x00c9, - 0x1ba4: 0x0069, 0x1ba5: 0x0079, 0x1ba6: 0x1f51, 0x1ba7: 0x1f61, 0x1ba8: 0x1f71, 0x1ba9: 0x1f81, - 0x1baa: 0x1f91, 0x1bab: 0x1fa1, 0x1bac: 0x1f41, 0x1bad: 0x00c9, 0x1bae: 0x0069, 0x1baf: 0x0079, - 0x1bb0: 0x1f51, 0x1bb1: 0x1f61, 0x1bb2: 0x1f71, 0x1bb3: 0x1f81, 0x1bb4: 0x1f91, 0x1bb5: 0x1fa1, - 0x1bb6: 0x1f41, 0x1bb7: 0x00c9, 0x1bb8: 0x0069, 0x1bb9: 0x0079, 0x1bba: 0x1f51, 0x1bbb: 0x1f61, - 0x1bbc: 0x1f71, 0x1bbd: 0x1f81, 0x1bbe: 0x1f91, 0x1bbf: 0x1fa1, + 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: 0xe115, 0x1bc1: 0xe115, 0x1bc2: 0xe135, 0x1bc3: 0xe135, 0x1bc4: 0xe115, 0x1bc5: 0xe115, - 0x1bc6: 0xe175, 0x1bc7: 0xe175, 0x1bc8: 0xe115, 0x1bc9: 0xe115, 0x1bca: 0xe135, 0x1bcb: 0xe135, - 0x1bcc: 0xe115, 0x1bcd: 0xe115, 0x1bce: 0xe1f5, 0x1bcf: 0xe1f5, 0x1bd0: 0xe115, 0x1bd1: 0xe115, - 0x1bd2: 0xe135, 0x1bd3: 0xe135, 0x1bd4: 0xe115, 0x1bd5: 0xe115, 0x1bd6: 0xe175, 0x1bd7: 0xe175, - 0x1bd8: 0xe115, 0x1bd9: 0xe115, 0x1bda: 0xe135, 0x1bdb: 0xe135, 0x1bdc: 0xe115, 0x1bdd: 0xe115, - 0x1bde: 0x8b05, 0x1bdf: 0x8b05, 0x1be0: 0x04b5, 0x1be1: 0x04b5, 0x1be2: 0x0208, 0x1be3: 0x0208, - 0x1be4: 0x0208, 0x1be5: 0x0208, 0x1be6: 0x0208, 0x1be7: 0x0208, 0x1be8: 0x0208, 0x1be9: 0x0208, - 0x1bea: 0x0208, 0x1beb: 0x0208, 0x1bec: 0x0208, 0x1bed: 0x0208, 0x1bee: 0x0208, 0x1bef: 0x0208, - 0x1bf0: 0x0208, 0x1bf1: 0x0208, 0x1bf2: 0x0208, 0x1bf3: 0x0208, 0x1bf4: 0x0208, 0x1bf5: 0x0208, - 0x1bf6: 0x0208, 0x1bf7: 0x0208, 0x1bf8: 0x0208, 0x1bf9: 0x0208, 0x1bfa: 0x0208, 0x1bfb: 0x0208, - 0x1bfc: 0x0208, 0x1bfd: 0x0208, 0x1bfe: 0x0208, 0x1bff: 0x0208, + 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: 0xb189, 0x1c01: 0xb1a1, 0x1c02: 0xb201, 0x1c03: 0xb249, 0x1c04: 0x0040, 0x1c05: 0xb411, - 0x1c06: 0xb291, 0x1c07: 0xb219, 0x1c08: 0xb309, 0x1c09: 0xb429, 0x1c0a: 0xb399, 0x1c0b: 0xb3b1, - 0x1c0c: 0xb3c9, 0x1c0d: 0xb3e1, 0x1c0e: 0xb2a9, 0x1c0f: 0xb339, 0x1c10: 0xb369, 0x1c11: 0xb2d9, - 0x1c12: 0xb381, 0x1c13: 0xb279, 0x1c14: 0xb2c1, 0x1c15: 0xb1d1, 0x1c16: 0xb1e9, 0x1c17: 0xb231, - 0x1c18: 0xb261, 0x1c19: 0xb2f1, 0x1c1a: 0xb321, 0x1c1b: 0xb351, 0x1c1c: 0xbc59, 0x1c1d: 0x7949, - 0x1c1e: 0xbc71, 0x1c1f: 0xbc89, 0x1c20: 0x0040, 0x1c21: 0xb1a1, 0x1c22: 0xb201, 0x1c23: 0x0040, - 0x1c24: 0xb3f9, 0x1c25: 0x0040, 0x1c26: 0x0040, 0x1c27: 0xb219, 0x1c28: 0x0040, 0x1c29: 0xb429, - 0x1c2a: 0xb399, 0x1c2b: 0xb3b1, 0x1c2c: 0xb3c9, 0x1c2d: 0xb3e1, 0x1c2e: 0xb2a9, 0x1c2f: 0xb339, - 0x1c30: 0xb369, 0x1c31: 0xb2d9, 0x1c32: 0xb381, 0x1c33: 0x0040, 0x1c34: 0xb2c1, 0x1c35: 0xb1d1, - 0x1c36: 0xb1e9, 0x1c37: 0xb231, 0x1c38: 0x0040, 0x1c39: 0xb2f1, 0x1c3a: 0x0040, 0x1c3b: 0xb351, - 0x1c3c: 0x0040, 0x1c3d: 0x0040, 0x1c3e: 0x0040, 0x1c3f: 0x0040, + 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: 0x0040, 0x1c41: 0x0040, 0x1c42: 0xb201, 0x1c43: 0x0040, 0x1c44: 0x0040, 0x1c45: 0x0040, - 0x1c46: 0x0040, 0x1c47: 0xb219, 0x1c48: 0x0040, 0x1c49: 0xb429, 0x1c4a: 0x0040, 0x1c4b: 0xb3b1, - 0x1c4c: 0x0040, 0x1c4d: 0xb3e1, 0x1c4e: 0xb2a9, 0x1c4f: 0xb339, 0x1c50: 0x0040, 0x1c51: 0xb2d9, - 0x1c52: 0xb381, 0x1c53: 0x0040, 0x1c54: 0xb2c1, 0x1c55: 0x0040, 0x1c56: 0x0040, 0x1c57: 0xb231, - 0x1c58: 0x0040, 0x1c59: 0xb2f1, 0x1c5a: 0x0040, 0x1c5b: 0xb351, 0x1c5c: 0x0040, 0x1c5d: 0x7949, - 0x1c5e: 0x0040, 0x1c5f: 0xbc89, 0x1c60: 0x0040, 0x1c61: 0xb1a1, 0x1c62: 0xb201, 0x1c63: 0x0040, - 0x1c64: 0xb3f9, 0x1c65: 0x0040, 0x1c66: 0x0040, 0x1c67: 0xb219, 0x1c68: 0xb309, 0x1c69: 0xb429, - 0x1c6a: 0xb399, 0x1c6b: 0x0040, 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: 0xb321, 0x1c7b: 0xb351, - 0x1c7c: 0xbc59, 0x1c7d: 0x0040, 0x1c7e: 0xbc71, 0x1c7f: 0x0040, + 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: 0xb3f9, 0x1c85: 0xb411, - 0x1c86: 0xb291, 0x1c87: 0xb219, 0x1c88: 0xb309, 0x1c89: 0xb429, 0x1c8a: 0x0040, 0x1c8b: 0xb3b1, + 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: 0x0040, 0x1c9d: 0x0040, - 0x1c9e: 0x0040, 0x1c9f: 0x0040, 0x1ca0: 0x0040, 0x1ca1: 0xb1a1, 0x1ca2: 0xb201, 0x1ca3: 0xb249, - 0x1ca4: 0x0040, 0x1ca5: 0xb411, 0x1ca6: 0xb291, 0x1ca7: 0xb219, 0x1ca8: 0xb309, 0x1ca9: 0xb429, - 0x1caa: 0x0040, 0x1cab: 0xb3b1, 0x1cac: 0xb3c9, 0x1cad: 0xb3e1, 0x1cae: 0xb2a9, 0x1caf: 0xb339, - 0x1cb0: 0xb369, 0x1cb1: 0xb2d9, 0x1cb2: 0xb381, 0x1cb3: 0xb279, 0x1cb4: 0xb2c1, 0x1cb5: 0xb1d1, - 0x1cb6: 0xb1e9, 0x1cb7: 0xb231, 0x1cb8: 0xb261, 0x1cb9: 0xb2f1, 0x1cba: 0xb321, 0x1cbb: 0xb351, + 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: 0xbca2, 0x1cc2: 0xbcba, 0x1cc3: 0xbcd2, 0x1cc4: 0xbcea, 0x1cc5: 0xbd02, - 0x1cc6: 0xbd1a, 0x1cc7: 0xbd32, 0x1cc8: 0xbd4a, 0x1cc9: 0xbd62, 0x1cca: 0xbd7a, 0x1ccb: 0x0018, - 0x1ccc: 0x0018, 0x1ccd: 0x0040, 0x1cce: 0x0040, 0x1ccf: 0x0040, 0x1cd0: 0xbd92, 0x1cd1: 0xbdb2, - 0x1cd2: 0xbdd2, 0x1cd3: 0xbdf2, 0x1cd4: 0xbe12, 0x1cd5: 0xbe32, 0x1cd6: 0xbe52, 0x1cd7: 0xbe72, - 0x1cd8: 0xbe92, 0x1cd9: 0xbeb2, 0x1cda: 0xbed2, 0x1cdb: 0xbef2, 0x1cdc: 0xbf12, 0x1cdd: 0xbf32, - 0x1cde: 0xbf52, 0x1cdf: 0xbf72, 0x1ce0: 0xbf92, 0x1ce1: 0xbfb2, 0x1ce2: 0xbfd2, 0x1ce3: 0xbff2, - 0x1ce4: 0xc012, 0x1ce5: 0xc032, 0x1ce6: 0xc052, 0x1ce7: 0xc072, 0x1ce8: 0xc092, 0x1ce9: 0xc0b2, - 0x1cea: 0xc0d1, 0x1ceb: 0x1159, 0x1cec: 0x0269, 0x1ced: 0x6671, 0x1cee: 0xc111, 0x1cef: 0x0040, - 0x1cf0: 0x0039, 0x1cf1: 0x0ee9, 0x1cf2: 0x1159, 0x1cf3: 0x0ef9, 0x1cf4: 0x0f09, 0x1cf5: 0x1199, - 0x1cf6: 0x0f31, 0x1cf7: 0x0249, 0x1cf8: 0x0f41, 0x1cf9: 0x0259, 0x1cfa: 0x0f51, 0x1cfb: 0x0359, - 0x1cfc: 0x0f61, 0x1cfd: 0x0f71, 0x1cfe: 0x00d9, 0x1cff: 0x0f99, + 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: 0x2039, 0x1d01: 0x0269, 0x1d02: 0x01d9, 0x1d03: 0x0fa9, 0x1d04: 0x0fb9, 0x1d05: 0x1089, - 0x1d06: 0x0279, 0x1d07: 0x0369, 0x1d08: 0x0289, 0x1d09: 0x13d1, 0x1d0a: 0xc129, 0x1d0b: 0x65b1, - 0x1d0c: 0xc141, 0x1d0d: 0x1441, 0x1d0e: 0xc159, 0x1d0f: 0xc179, 0x1d10: 0x0018, 0x1d11: 0x0018, - 0x1d12: 0x0018, 0x1d13: 0x0018, 0x1d14: 0x0018, 0x1d15: 0x0018, 0x1d16: 0x0018, 0x1d17: 0x0018, - 0x1d18: 0x0018, 0x1d19: 0x0018, 0x1d1a: 0x0018, 0x1d1b: 0x0018, 0x1d1c: 0x0018, 0x1d1d: 0x0018, - 0x1d1e: 0x0018, 0x1d1f: 0x0018, 0x1d20: 0x0018, 0x1d21: 0x0018, 0x1d22: 0x0018, 0x1d23: 0x0018, - 0x1d24: 0x0018, 0x1d25: 0x0018, 0x1d26: 0x0018, 0x1d27: 0x0018, 0x1d28: 0x0018, 0x1d29: 0x0018, - 0x1d2a: 0xc191, 0x1d2b: 0xc1a9, 0x1d2c: 0x0040, 0x1d2d: 0x0040, 0x1d2e: 0x0040, 0x1d2f: 0x0040, - 0x1d30: 0x0018, 0x1d31: 0x0018, 0x1d32: 0x0018, 0x1d33: 0x0018, 0x1d34: 0x0018, 0x1d35: 0x0018, - 0x1d36: 0x0018, 0x1d37: 0x0018, 0x1d38: 0x0018, 0x1d39: 0x0018, 0x1d3a: 0x0018, 0x1d3b: 0x0018, - 0x1d3c: 0x0018, 0x1d3d: 0x0018, 0x1d3e: 0x0018, 0x1d3f: 0x0018, + 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: 0xc1d9, 0x1d41: 0xc211, 0x1d42: 0xc249, 0x1d43: 0x0040, 0x1d44: 0x0040, 0x1d45: 0x0040, - 0x1d46: 0x0040, 0x1d47: 0x0040, 0x1d48: 0x0040, 0x1d49: 0x0040, 0x1d4a: 0x0040, 0x1d4b: 0x0040, - 0x1d4c: 0x0040, 0x1d4d: 0x0040, 0x1d4e: 0x0040, 0x1d4f: 0x0040, 0x1d50: 0xc269, 0x1d51: 0xc289, - 0x1d52: 0xc2a9, 0x1d53: 0xc2c9, 0x1d54: 0xc2e9, 0x1d55: 0xc309, 0x1d56: 0xc329, 0x1d57: 0xc349, - 0x1d58: 0xc369, 0x1d59: 0xc389, 0x1d5a: 0xc3a9, 0x1d5b: 0xc3c9, 0x1d5c: 0xc3e9, 0x1d5d: 0xc409, - 0x1d5e: 0xc429, 0x1d5f: 0xc449, 0x1d60: 0xc469, 0x1d61: 0xc489, 0x1d62: 0xc4a9, 0x1d63: 0xc4c9, - 0x1d64: 0xc4e9, 0x1d65: 0xc509, 0x1d66: 0xc529, 0x1d67: 0xc549, 0x1d68: 0xc569, 0x1d69: 0xc589, - 0x1d6a: 0xc5a9, 0x1d6b: 0xc5c9, 0x1d6c: 0xc5e9, 0x1d6d: 0xc609, 0x1d6e: 0xc629, 0x1d6f: 0xc649, - 0x1d70: 0xc669, 0x1d71: 0xc689, 0x1d72: 0xc6a9, 0x1d73: 0xc6c9, 0x1d74: 0xc6e9, 0x1d75: 0xc709, - 0x1d76: 0xc729, 0x1d77: 0xc749, 0x1d78: 0xc769, 0x1d79: 0xc789, 0x1d7a: 0xc7a9, 0x1d7b: 0xc7c9, - 0x1d7c: 0x0040, 0x1d7d: 0x0040, 0x1d7e: 0x0040, 0x1d7f: 0x0040, + 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: 0xcaf9, 0x1d81: 0xcb19, 0x1d82: 0xcb39, 0x1d83: 0x8b1d, 0x1d84: 0xcb59, 0x1d85: 0xcb79, - 0x1d86: 0xcb99, 0x1d87: 0xcbb9, 0x1d88: 0xcbd9, 0x1d89: 0xcbf9, 0x1d8a: 0xcc19, 0x1d8b: 0xcc39, - 0x1d8c: 0xcc59, 0x1d8d: 0x8b3d, 0x1d8e: 0xcc79, 0x1d8f: 0xcc99, 0x1d90: 0xccb9, 0x1d91: 0xccd9, - 0x1d92: 0x8b5d, 0x1d93: 0xccf9, 0x1d94: 0xcd19, 0x1d95: 0xc429, 0x1d96: 0x8b7d, 0x1d97: 0xcd39, - 0x1d98: 0xcd59, 0x1d99: 0xcd79, 0x1d9a: 0xcd99, 0x1d9b: 0xcdb9, 0x1d9c: 0x8b9d, 0x1d9d: 0xcdd9, - 0x1d9e: 0xcdf9, 0x1d9f: 0xce19, 0x1da0: 0xce39, 0x1da1: 0xce59, 0x1da2: 0xc789, 0x1da3: 0xce79, - 0x1da4: 0xce99, 0x1da5: 0xceb9, 0x1da6: 0xced9, 0x1da7: 0xcef9, 0x1da8: 0xcf19, 0x1da9: 0xcf39, - 0x1daa: 0xcf59, 0x1dab: 0xcf79, 0x1dac: 0xcf99, 0x1dad: 0xcfb9, 0x1dae: 0xcfd9, 0x1daf: 0xcff9, - 0x1db0: 0xd019, 0x1db1: 0xd039, 0x1db2: 0xd039, 0x1db3: 0xd039, 0x1db4: 0x8bbd, 0x1db5: 0xd059, - 0x1db6: 0xd079, 0x1db7: 0xd099, 0x1db8: 0x8bdd, 0x1db9: 0xd0b9, 0x1dba: 0xd0d9, 0x1dbb: 0xd0f9, - 0x1dbc: 0xd119, 0x1dbd: 0xd139, 0x1dbe: 0xd159, 0x1dbf: 0xd179, + 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: 0xd199, 0x1dc1: 0xd1b9, 0x1dc2: 0xd1d9, 0x1dc3: 0xd1f9, 0x1dc4: 0xd219, 0x1dc5: 0xd239, - 0x1dc6: 0xd239, 0x1dc7: 0xd259, 0x1dc8: 0xd279, 0x1dc9: 0xd299, 0x1dca: 0xd2b9, 0x1dcb: 0xd2d9, - 0x1dcc: 0xd2f9, 0x1dcd: 0xd319, 0x1dce: 0xd339, 0x1dcf: 0xd359, 0x1dd0: 0xd379, 0x1dd1: 0xd399, - 0x1dd2: 0xd3b9, 0x1dd3: 0xd3d9, 0x1dd4: 0xd3f9, 0x1dd5: 0xd419, 0x1dd6: 0xd439, 0x1dd7: 0xd459, - 0x1dd8: 0xd479, 0x1dd9: 0x8bfd, 0x1dda: 0xd499, 0x1ddb: 0xd4b9, 0x1ddc: 0xd4d9, 0x1ddd: 0xc309, - 0x1dde: 0xd4f9, 0x1ddf: 0xd519, 0x1de0: 0x8c1d, 0x1de1: 0x8c3d, 0x1de2: 0xd539, 0x1de3: 0xd559, - 0x1de4: 0xd579, 0x1de5: 0xd599, 0x1de6: 0xd5b9, 0x1de7: 0xd5d9, 0x1de8: 0x0040, 0x1de9: 0xd5f9, - 0x1dea: 0xd619, 0x1deb: 0xd619, 0x1dec: 0x8c5d, 0x1ded: 0xd639, 0x1dee: 0xd659, 0x1def: 0xd679, - 0x1df0: 0xd699, 0x1df1: 0x8c7d, 0x1df2: 0xd6b9, 0x1df3: 0xd6d9, 0x1df4: 0x0040, 0x1df5: 0xd6f9, - 0x1df6: 0xd719, 0x1df7: 0xd739, 0x1df8: 0xd759, 0x1df9: 0xd779, 0x1dfa: 0xd799, 0x1dfb: 0x8c9d, - 0x1dfc: 0xd7b9, 0x1dfd: 0x8cbd, 0x1dfe: 0xd7d9, 0x1dff: 0xd7f9, + 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: 0xd819, 0x1e01: 0xd839, 0x1e02: 0xd859, 0x1e03: 0xd879, 0x1e04: 0xd899, 0x1e05: 0xd8b9, - 0x1e06: 0xd8d9, 0x1e07: 0xd8f9, 0x1e08: 0xd919, 0x1e09: 0x8cdd, 0x1e0a: 0xd939, 0x1e0b: 0xd959, - 0x1e0c: 0xd979, 0x1e0d: 0xd999, 0x1e0e: 0xd9b9, 0x1e0f: 0x8cfd, 0x1e10: 0xd9d9, 0x1e11: 0x8d1d, - 0x1e12: 0x8d3d, 0x1e13: 0xd9f9, 0x1e14: 0xda19, 0x1e15: 0xda19, 0x1e16: 0xda39, 0x1e17: 0x8d5d, - 0x1e18: 0x8d7d, 0x1e19: 0xda59, 0x1e1a: 0xda79, 0x1e1b: 0xda99, 0x1e1c: 0xdab9, 0x1e1d: 0xdad9, - 0x1e1e: 0xdaf9, 0x1e1f: 0xdb19, 0x1e20: 0xdb39, 0x1e21: 0xdb59, 0x1e22: 0xdb79, 0x1e23: 0xdb99, - 0x1e24: 0x8d9d, 0x1e25: 0xdbb9, 0x1e26: 0xdbd9, 0x1e27: 0xdbf9, 0x1e28: 0xdc19, 0x1e29: 0xdbf9, - 0x1e2a: 0xdc39, 0x1e2b: 0xdc59, 0x1e2c: 0xdc79, 0x1e2d: 0xdc99, 0x1e2e: 0xdcb9, 0x1e2f: 0xdcd9, - 0x1e30: 0xdcf9, 0x1e31: 0xdd19, 0x1e32: 0xdd39, 0x1e33: 0xdd59, 0x1e34: 0xdd79, 0x1e35: 0xdd99, - 0x1e36: 0xddb9, 0x1e37: 0xddd9, 0x1e38: 0x8dbd, 0x1e39: 0xddf9, 0x1e3a: 0xde19, 0x1e3b: 0xde39, - 0x1e3c: 0xde59, 0x1e3d: 0xde79, 0x1e3e: 0x8ddd, 0x1e3f: 0xde99, + 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: 0xe599, 0x1e41: 0xe5b9, 0x1e42: 0xe5d9, 0x1e43: 0xe5f9, 0x1e44: 0xe619, 0x1e45: 0xe639, - 0x1e46: 0x8efd, 0x1e47: 0xe659, 0x1e48: 0xe679, 0x1e49: 0xe699, 0x1e4a: 0xe6b9, 0x1e4b: 0xe6d9, - 0x1e4c: 0xe6f9, 0x1e4d: 0x8f1d, 0x1e4e: 0xe719, 0x1e4f: 0xe739, 0x1e50: 0x8f3d, 0x1e51: 0x8f5d, - 0x1e52: 0xe759, 0x1e53: 0xe779, 0x1e54: 0xe799, 0x1e55: 0xe7b9, 0x1e56: 0xe7d9, 0x1e57: 0xe7f9, - 0x1e58: 0xe819, 0x1e59: 0xe839, 0x1e5a: 0xe859, 0x1e5b: 0x8f7d, 0x1e5c: 0xe879, 0x1e5d: 0x8f9d, - 0x1e5e: 0xe899, 0x1e5f: 0x0040, 0x1e60: 0xe8b9, 0x1e61: 0xe8d9, 0x1e62: 0xe8f9, 0x1e63: 0x8fbd, - 0x1e64: 0xe919, 0x1e65: 0xe939, 0x1e66: 0x8fdd, 0x1e67: 0x8ffd, 0x1e68: 0xe959, 0x1e69: 0xe979, - 0x1e6a: 0xe999, 0x1e6b: 0xe9b9, 0x1e6c: 0xe9d9, 0x1e6d: 0xe9d9, 0x1e6e: 0xe9f9, 0x1e6f: 0xea19, - 0x1e70: 0xea39, 0x1e71: 0xea59, 0x1e72: 0xea79, 0x1e73: 0xea99, 0x1e74: 0xeab9, 0x1e75: 0x901d, - 0x1e76: 0xead9, 0x1e77: 0x903d, 0x1e78: 0xeaf9, 0x1e79: 0x905d, 0x1e7a: 0xeb19, 0x1e7b: 0x907d, - 0x1e7c: 0x909d, 0x1e7d: 0x90bd, 0x1e7e: 0xeb39, 0x1e7f: 0xeb59, + 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: 0xeb79, 0x1e81: 0x90dd, 0x1e82: 0x90fd, 0x1e83: 0x911d, 0x1e84: 0x913d, 0x1e85: 0xeb99, - 0x1e86: 0xebb9, 0x1e87: 0xebb9, 0x1e88: 0xebd9, 0x1e89: 0xebf9, 0x1e8a: 0xec19, 0x1e8b: 0xec39, - 0x1e8c: 0xec59, 0x1e8d: 0x915d, 0x1e8e: 0xec79, 0x1e8f: 0xec99, 0x1e90: 0xecb9, 0x1e91: 0xecd9, - 0x1e92: 0x917d, 0x1e93: 0xecf9, 0x1e94: 0x919d, 0x1e95: 0x91bd, 0x1e96: 0xed19, 0x1e97: 0xed39, - 0x1e98: 0xed59, 0x1e99: 0xed79, 0x1e9a: 0xed99, 0x1e9b: 0xedb9, 0x1e9c: 0x91dd, 0x1e9d: 0x91fd, - 0x1e9e: 0x921d, 0x1e9f: 0x0040, 0x1ea0: 0xedd9, 0x1ea1: 0x923d, 0x1ea2: 0xedf9, 0x1ea3: 0xee19, - 0x1ea4: 0xee39, 0x1ea5: 0x925d, 0x1ea6: 0xee59, 0x1ea7: 0xee79, 0x1ea8: 0xee99, 0x1ea9: 0xeeb9, - 0x1eaa: 0xeed9, 0x1eab: 0x927d, 0x1eac: 0xeef9, 0x1ead: 0xef19, 0x1eae: 0xef39, 0x1eaf: 0xef59, - 0x1eb0: 0xef79, 0x1eb1: 0xef99, 0x1eb2: 0x929d, 0x1eb3: 0x92bd, 0x1eb4: 0xefb9, 0x1eb5: 0x92dd, - 0x1eb6: 0xefd9, 0x1eb7: 0x92fd, 0x1eb8: 0xeff9, 0x1eb9: 0xf019, 0x1eba: 0xf039, 0x1ebb: 0x931d, - 0x1ebc: 0x933d, 0x1ebd: 0xf059, 0x1ebe: 0x935d, 0x1ebf: 0xf079, + 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: 0xf6b9, 0x1ec1: 0xf6d9, 0x1ec2: 0xf6f9, 0x1ec3: 0xf719, 0x1ec4: 0xf739, 0x1ec5: 0x951d, - 0x1ec6: 0xf759, 0x1ec7: 0xf779, 0x1ec8: 0xf799, 0x1ec9: 0xf7b9, 0x1eca: 0xf7d9, 0x1ecb: 0x953d, - 0x1ecc: 0x955d, 0x1ecd: 0xf7f9, 0x1ece: 0xf819, 0x1ecf: 0xf839, 0x1ed0: 0xf859, 0x1ed1: 0xf879, - 0x1ed2: 0xf899, 0x1ed3: 0x957d, 0x1ed4: 0xf8b9, 0x1ed5: 0xf8d9, 0x1ed6: 0xf8f9, 0x1ed7: 0xf919, - 0x1ed8: 0x959d, 0x1ed9: 0x95bd, 0x1eda: 0xf939, 0x1edb: 0xf959, 0x1edc: 0xf979, 0x1edd: 0x95dd, - 0x1ede: 0xf999, 0x1edf: 0xf9b9, 0x1ee0: 0x6815, 0x1ee1: 0x95fd, 0x1ee2: 0xf9d9, 0x1ee3: 0xf9f9, - 0x1ee4: 0xfa19, 0x1ee5: 0x961d, 0x1ee6: 0xfa39, 0x1ee7: 0xfa59, 0x1ee8: 0xfa79, 0x1ee9: 0xfa99, - 0x1eea: 0xfab9, 0x1eeb: 0xfad9, 0x1eec: 0xfaf9, 0x1eed: 0x963d, 0x1eee: 0xfb19, 0x1eef: 0xfb39, - 0x1ef0: 0xfb59, 0x1ef1: 0x965d, 0x1ef2: 0xfb79, 0x1ef3: 0xfb99, 0x1ef4: 0xfbb9, 0x1ef5: 0xfbd9, - 0x1ef6: 0x7b35, 0x1ef7: 0x967d, 0x1ef8: 0xfbf9, 0x1ef9: 0xfc19, 0x1efa: 0xfc39, 0x1efb: 0x969d, - 0x1efc: 0xfc59, 0x1efd: 0x96bd, 0x1efe: 0xfc79, 0x1eff: 0xfc79, + 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: 0xfc99, 0x1f01: 0x96dd, 0x1f02: 0xfcb9, 0x1f03: 0xfcd9, 0x1f04: 0xfcf9, 0x1f05: 0xfd19, - 0x1f06: 0xfd39, 0x1f07: 0xfd59, 0x1f08: 0xfd79, 0x1f09: 0x96fd, 0x1f0a: 0xfd99, 0x1f0b: 0xfdb9, - 0x1f0c: 0xfdd9, 0x1f0d: 0xfdf9, 0x1f0e: 0xfe19, 0x1f0f: 0xfe39, 0x1f10: 0x971d, 0x1f11: 0xfe59, - 0x1f12: 0x973d, 0x1f13: 0x975d, 0x1f14: 0x977d, 0x1f15: 0xfe79, 0x1f16: 0xfe99, 0x1f17: 0xfeb9, - 0x1f18: 0xfed9, 0x1f19: 0xfef9, 0x1f1a: 0xff19, 0x1f1b: 0xff39, 0x1f1c: 0xff59, 0x1f1d: 0x979d, - 0x1f1e: 0x0040, 0x1f1f: 0x0040, 0x1f20: 0x0040, 0x1f21: 0x0040, 0x1f22: 0x0040, 0x1f23: 0x0040, - 0x1f24: 0x0040, 0x1f25: 0x0040, 0x1f26: 0x0040, 0x1f27: 0x0040, 0x1f28: 0x0040, 0x1f29: 0x0040, - 0x1f2a: 0x0040, 0x1f2b: 0x0040, 0x1f2c: 0x0040, 0x1f2d: 0x0040, 0x1f2e: 0x0040, 0x1f2f: 0x0040, - 0x1f30: 0x0040, 0x1f31: 0x0040, 0x1f32: 0x0040, 0x1f33: 0x0040, 0x1f34: 0x0040, 0x1f35: 0x0040, - 0x1f36: 0x0040, 0x1f37: 0x0040, 0x1f38: 0x0040, 0x1f39: 0x0040, 0x1f3a: 0x0040, 0x1f3b: 0x0040, - 0x1f3c: 0x0040, 0x1f3d: 0x0040, 0x1f3e: 0x0040, 0x1f3f: 0x0040, + 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: 35 blocks, 2240 entries, 4480 bytes +// idnaIndex: 36 blocks, 2304 entries, 4608 bytes // Block 0 is the zero block. -var idnaIndex = [2240]uint16{ +var idnaIndex = [2304]uint16{ // Block 0x0, offset 0x0 // Block 0x1, offset 0x40 // Block 0x2, offset 0x80 // Block 0x3, offset 0xc0 - 0xc2: 0x01, 0xc3: 0x7b, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x04, 0xc7: 0x05, - 0xc8: 0x06, 0xc9: 0x7c, 0xca: 0x7d, 0xcb: 0x07, 0xcc: 0x7e, 0xcd: 0x08, 0xce: 0x09, 0xcf: 0x0a, - 0xd0: 0x7f, 0xd1: 0x0b, 0xd2: 0x0c, 0xd3: 0x0d, 0xd4: 0x0e, 0xd5: 0x80, 0xd6: 0x81, 0xd7: 0x82, - 0xd8: 0x0f, 0xd9: 0x83, 0xda: 0x84, 0xdb: 0x10, 0xdc: 0x11, 0xdd: 0x85, 0xde: 0x86, 0xdf: 0x87, + 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: 0x1c, 0xf1: 0x1d, 0xf2: 0x1d, 0xf3: 0x1f, 0xf4: 0x20, + 0xf0: 0x1d, 0xf1: 0x1e, 0xf2: 0x1e, 0xf3: 0x20, 0xf4: 0x21, // Block 0x4, offset 0x100 - 0x120: 0x88, 0x121: 0x89, 0x122: 0x8a, 0x123: 0x8b, 0x124: 0x8c, 0x125: 0x12, 0x126: 0x13, 0x127: 0x14, - 0x128: 0x15, 0x129: 0x16, 0x12a: 0x17, 0x12b: 0x18, 0x12c: 0x19, 0x12d: 0x1a, 0x12e: 0x1b, 0x12f: 0x8d, - 0x130: 0x8e, 0x131: 0x1c, 0x132: 0x1d, 0x133: 0x1e, 0x134: 0x8f, 0x135: 0x1f, 0x136: 0x90, 0x137: 0x91, - 0x138: 0x92, 0x139: 0x93, 0x13a: 0x20, 0x13b: 0x94, 0x13c: 0x95, 0x13d: 0x21, 0x13e: 0x22, 0x13f: 0x96, + 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: 0x9b, 0x147: 0x9b, - 0x148: 0x9d, 0x149: 0x9e, 0x14a: 0x9f, 0x14b: 0xa0, 0x14c: 0xa1, 0x14d: 0xa2, 0x14e: 0xa3, 0x14f: 0xa4, - 0x150: 0xa5, 0x151: 0x9d, 0x152: 0x9d, 0x153: 0x9d, 0x154: 0x9d, 0x155: 0x9d, 0x156: 0x9d, 0x157: 0x9d, - 0x158: 0x9d, 0x159: 0xa6, 0x15a: 0xa7, 0x15b: 0xa8, 0x15c: 0xa9, 0x15d: 0xaa, 0x15e: 0xab, 0x15f: 0xac, - 0x160: 0xad, 0x161: 0xae, 0x162: 0xaf, 0x163: 0xb0, 0x164: 0xb1, 0x165: 0xb2, 0x166: 0xb3, 0x167: 0xb4, - 0x168: 0xb5, 0x169: 0xb6, 0x16a: 0xb7, 0x16b: 0xb8, 0x16c: 0xb9, 0x16d: 0xba, 0x16e: 0xbb, 0x16f: 0xbc, - 0x170: 0xbd, 0x171: 0xbe, 0x172: 0xbf, 0x173: 0xc0, 0x174: 0x23, 0x175: 0x24, 0x176: 0x25, 0x177: 0xc1, - 0x178: 0x26, 0x179: 0x26, 0x17a: 0x27, 0x17b: 0x26, 0x17c: 0xc2, 0x17d: 0x28, 0x17e: 0x29, 0x17f: 0x2a, + 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: 0x2b, 0x181: 0x2c, 0x182: 0x2d, 0x183: 0xc3, 0x184: 0x2e, 0x185: 0x2f, 0x186: 0xc4, 0x187: 0x9b, - 0x188: 0xc5, 0x189: 0xc6, 0x18a: 0x9b, 0x18b: 0x9b, 0x18c: 0xc7, 0x18d: 0x9b, 0x18e: 0x9b, 0x18f: 0xc8, - 0x190: 0xc9, 0x191: 0x30, 0x192: 0x31, 0x193: 0x32, 0x194: 0x9b, 0x195: 0x9b, 0x196: 0x9b, 0x197: 0x9b, + 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: 0xca, 0x1a9: 0xcb, 0x1aa: 0x9b, 0x1ab: 0xcc, 0x1ac: 0x9b, 0x1ad: 0xcd, 0x1ae: 0xce, 0x1af: 0xcf, - 0x1b0: 0xd0, 0x1b1: 0x33, 0x1b2: 0x26, 0x1b3: 0x34, 0x1b4: 0xd1, 0x1b5: 0xd2, 0x1b6: 0xd3, 0x1b7: 0xd4, - 0x1b8: 0xd5, 0x1b9: 0xd6, 0x1ba: 0xd7, 0x1bb: 0xd8, 0x1bc: 0xd9, 0x1bd: 0xda, 0x1be: 0xdb, 0x1bf: 0x35, + 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: 0x36, 0x1c1: 0xdc, 0x1c2: 0xdd, 0x1c3: 0xde, 0x1c4: 0xdf, 0x1c5: 0x37, 0x1c6: 0x38, 0x1c7: 0xe0, - 0x1c8: 0xe1, 0x1c9: 0x39, 0x1ca: 0x3a, 0x1cb: 0x3b, 0x1cc: 0x3c, 0x1cd: 0x3d, 0x1ce: 0x3e, 0x1cf: 0x3f, - 0x1d0: 0x9d, 0x1d1: 0x9d, 0x1d2: 0x9d, 0x1d3: 0x9d, 0x1d4: 0x9d, 0x1d5: 0x9d, 0x1d6: 0x9d, 0x1d7: 0x9d, - 0x1d8: 0x9d, 0x1d9: 0x9d, 0x1da: 0x9d, 0x1db: 0x9d, 0x1dc: 0x9d, 0x1dd: 0x9d, 0x1de: 0x9d, 0x1df: 0x9d, - 0x1e0: 0x9d, 0x1e1: 0x9d, 0x1e2: 0x9d, 0x1e3: 0x9d, 0x1e4: 0x9d, 0x1e5: 0x9d, 0x1e6: 0x9d, 0x1e7: 0x9d, - 0x1e8: 0x9d, 0x1e9: 0x9d, 0x1ea: 0x9d, 0x1eb: 0x9d, 0x1ec: 0x9d, 0x1ed: 0x9d, 0x1ee: 0x9d, 0x1ef: 0x9d, - 0x1f0: 0x9d, 0x1f1: 0x9d, 0x1f2: 0x9d, 0x1f3: 0x9d, 0x1f4: 0x9d, 0x1f5: 0x9d, 0x1f6: 0x9d, 0x1f7: 0x9d, - 0x1f8: 0x9d, 0x1f9: 0x9d, 0x1fa: 0x9d, 0x1fb: 0x9d, 0x1fc: 0x9d, 0x1fd: 0x9d, 0x1fe: 0x9d, 0x1ff: 0x9d, + 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: 0x9d, 0x201: 0x9d, 0x202: 0x9d, 0x203: 0x9d, 0x204: 0x9d, 0x205: 0x9d, 0x206: 0x9d, 0x207: 0x9d, - 0x208: 0x9d, 0x209: 0x9d, 0x20a: 0x9d, 0x20b: 0x9d, 0x20c: 0x9d, 0x20d: 0x9d, 0x20e: 0x9d, 0x20f: 0x9d, - 0x210: 0x9d, 0x211: 0x9d, 0x212: 0x9d, 0x213: 0x9d, 0x214: 0x9d, 0x215: 0x9d, 0x216: 0x9d, 0x217: 0x9d, - 0x218: 0x9d, 0x219: 0x9d, 0x21a: 0x9d, 0x21b: 0x9d, 0x21c: 0x9d, 0x21d: 0x9d, 0x21e: 0x9d, 0x21f: 0x9d, - 0x220: 0x9d, 0x221: 0x9d, 0x222: 0x9d, 0x223: 0x9d, 0x224: 0x9d, 0x225: 0x9d, 0x226: 0x9d, 0x227: 0x9d, - 0x228: 0x9d, 0x229: 0x9d, 0x22a: 0x9d, 0x22b: 0x9d, 0x22c: 0x9d, 0x22d: 0x9d, 0x22e: 0x9d, 0x22f: 0x9d, - 0x230: 0x9d, 0x231: 0x9d, 0x232: 0x9d, 0x233: 0x9d, 0x234: 0x9d, 0x235: 0x9d, 0x236: 0xb0, 0x237: 0x9b, - 0x238: 0x9d, 0x239: 0x9d, 0x23a: 0x9d, 0x23b: 0x9d, 0x23c: 0x9d, 0x23d: 0x9d, 0x23e: 0x9d, 0x23f: 0x9d, + 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: 0x9d, 0x241: 0x9d, 0x242: 0x9d, 0x243: 0x9d, 0x244: 0x9d, 0x245: 0x9d, 0x246: 0x9d, 0x247: 0x9d, - 0x248: 0x9d, 0x249: 0x9d, 0x24a: 0x9d, 0x24b: 0x9d, 0x24c: 0x9d, 0x24d: 0x9d, 0x24e: 0x9d, 0x24f: 0x9d, - 0x250: 0x9d, 0x251: 0x9d, 0x252: 0x9d, 0x253: 0x9d, 0x254: 0x9d, 0x255: 0x9d, 0x256: 0x9d, 0x257: 0x9d, - 0x258: 0x9d, 0x259: 0x9d, 0x25a: 0x9d, 0x25b: 0x9d, 0x25c: 0x9d, 0x25d: 0x9d, 0x25e: 0x9d, 0x25f: 0x9d, - 0x260: 0x9d, 0x261: 0x9d, 0x262: 0x9d, 0x263: 0x9d, 0x264: 0x9d, 0x265: 0x9d, 0x266: 0x9d, 0x267: 0x9d, - 0x268: 0x9d, 0x269: 0x9d, 0x26a: 0x9d, 0x26b: 0x9d, 0x26c: 0x9d, 0x26d: 0x9d, 0x26e: 0x9d, 0x26f: 0x9d, - 0x270: 0x9d, 0x271: 0x9d, 0x272: 0x9d, 0x273: 0x9d, 0x274: 0x9d, 0x275: 0x9d, 0x276: 0x9d, 0x277: 0x9d, - 0x278: 0x9d, 0x279: 0x9d, 0x27a: 0x9d, 0x27b: 0x9d, 0x27c: 0x9d, 0x27d: 0x9d, 0x27e: 0x9d, 0x27f: 0x9d, + 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: 0x9d, 0x281: 0x9d, 0x282: 0x9d, 0x283: 0x9d, 0x284: 0x9d, 0x285: 0x9d, 0x286: 0x9d, 0x287: 0x9d, - 0x288: 0x9d, 0x289: 0x9d, 0x28a: 0x9d, 0x28b: 0x9d, 0x28c: 0x9d, 0x28d: 0x9d, 0x28e: 0x9d, 0x28f: 0x9d, - 0x290: 0x9d, 0x291: 0x9d, 0x292: 0x9d, 0x293: 0x9d, 0x294: 0x9d, 0x295: 0x9d, 0x296: 0x9d, 0x297: 0x9d, - 0x298: 0x9d, 0x299: 0x9d, 0x29a: 0x9d, 0x29b: 0x9d, 0x29c: 0x9d, 0x29d: 0x9d, 0x29e: 0x9d, 0x29f: 0x9d, - 0x2a0: 0x9d, 0x2a1: 0x9d, 0x2a2: 0x9d, 0x2a3: 0x9d, 0x2a4: 0x9d, 0x2a5: 0x9d, 0x2a6: 0x9d, 0x2a7: 0x9d, - 0x2a8: 0x9d, 0x2a9: 0x9d, 0x2aa: 0x9d, 0x2ab: 0x9d, 0x2ac: 0x9d, 0x2ad: 0x9d, 0x2ae: 0x9d, 0x2af: 0x9d, - 0x2b0: 0x9d, 0x2b1: 0x9d, 0x2b2: 0x9d, 0x2b3: 0x9d, 0x2b4: 0x9d, 0x2b5: 0x9d, 0x2b6: 0x9d, 0x2b7: 0x9d, - 0x2b8: 0x9d, 0x2b9: 0x9d, 0x2ba: 0x9d, 0x2bb: 0x9d, 0x2bc: 0x9d, 0x2bd: 0x9d, 0x2be: 0x9d, 0x2bf: 0xe2, + 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: 0x9d, 0x2c1: 0x9d, 0x2c2: 0x9d, 0x2c3: 0x9d, 0x2c4: 0x9d, 0x2c5: 0x9d, 0x2c6: 0x9d, 0x2c7: 0x9d, - 0x2c8: 0x9d, 0x2c9: 0x9d, 0x2ca: 0x9d, 0x2cb: 0x9d, 0x2cc: 0x9d, 0x2cd: 0x9d, 0x2ce: 0x9d, 0x2cf: 0x9d, - 0x2d0: 0x9d, 0x2d1: 0x9d, 0x2d2: 0xe3, 0x2d3: 0xe4, 0x2d4: 0x9d, 0x2d5: 0x9d, 0x2d6: 0x9d, 0x2d7: 0x9d, - 0x2d8: 0xe5, 0x2d9: 0x40, 0x2da: 0x41, 0x2db: 0xe6, 0x2dc: 0x42, 0x2dd: 0x43, 0x2de: 0x44, 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: 0x9d, 0x2f1: 0x9d, 0x2f2: 0x9d, 0x2f3: 0x9d, 0x2f4: 0x9d, 0x2f5: 0x9d, 0x2f6: 0x9d, 0x2f7: 0x9d, - 0x2f8: 0x9d, 0x2f9: 0x9d, 0x2fa: 0x9d, 0x2fb: 0x9d, 0x2fc: 0x9d, 0x2fd: 0x9d, 0x2fe: 0x9d, 0x2ff: 0x9d, + 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: 0x9d, 0x301: 0x9d, 0x302: 0x9d, 0x303: 0x9d, 0x304: 0x9d, 0x305: 0x9d, 0x306: 0x9d, 0x307: 0x9d, - 0x308: 0x9d, 0x309: 0x9d, 0x30a: 0x9d, 0x30b: 0x9d, 0x30c: 0x9d, 0x30d: 0x9d, 0x30e: 0x9d, 0x30f: 0x9d, - 0x310: 0x9d, 0x311: 0x9d, 0x312: 0x9d, 0x313: 0x9d, 0x314: 0x9d, 0x315: 0x9d, 0x316: 0x9d, 0x317: 0x9d, - 0x318: 0x9d, 0x319: 0x9d, 0x31a: 0x9d, 0x31b: 0x9d, 0x31c: 0x9d, 0x31d: 0x9d, 0x31e: 0xf8, 0x31f: 0xf9, + 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: 0xb8, 0x341: 0xb8, 0x342: 0xb8, 0x343: 0xb8, 0x344: 0xb8, 0x345: 0xb8, 0x346: 0xb8, 0x347: 0xb8, - 0x348: 0xb8, 0x349: 0xb8, 0x34a: 0xb8, 0x34b: 0xb8, 0x34c: 0xb8, 0x34d: 0xb8, 0x34e: 0xb8, 0x34f: 0xb8, - 0x350: 0xb8, 0x351: 0xb8, 0x352: 0xb8, 0x353: 0xb8, 0x354: 0xb8, 0x355: 0xb8, 0x356: 0xb8, 0x357: 0xb8, - 0x358: 0xb8, 0x359: 0xb8, 0x35a: 0xb8, 0x35b: 0xb8, 0x35c: 0xb8, 0x35d: 0xb8, 0x35e: 0xb8, 0x35f: 0xb8, - 0x360: 0xb8, 0x361: 0xb8, 0x362: 0xb8, 0x363: 0xb8, 0x364: 0xb8, 0x365: 0xb8, 0x366: 0xb8, 0x367: 0xb8, - 0x368: 0xb8, 0x369: 0xb8, 0x36a: 0xb8, 0x36b: 0xb8, 0x36c: 0xb8, 0x36d: 0xb8, 0x36e: 0xb8, 0x36f: 0xb8, - 0x370: 0xb8, 0x371: 0xb8, 0x372: 0xb8, 0x373: 0xb8, 0x374: 0xb8, 0x375: 0xb8, 0x376: 0xb8, 0x377: 0xb8, - 0x378: 0xb8, 0x379: 0xb8, 0x37a: 0xb8, 0x37b: 0xb8, 0x37c: 0xb8, 0x37d: 0xb8, 0x37e: 0xb8, 0x37f: 0xb8, + 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: 0xb8, 0x381: 0xb8, 0x382: 0xb8, 0x383: 0xb8, 0x384: 0xb8, 0x385: 0xb8, 0x386: 0xb8, 0x387: 0xb8, - 0x388: 0xb8, 0x389: 0xb8, 0x38a: 0xb8, 0x38b: 0xb8, 0x38c: 0xb8, 0x38d: 0xb8, 0x38e: 0xb8, 0x38f: 0xb8, - 0x390: 0xb8, 0x391: 0xb8, 0x392: 0xb8, 0x393: 0xb8, 0x394: 0xb8, 0x395: 0xb8, 0x396: 0xb8, 0x397: 0xb8, - 0x398: 0xb8, 0x399: 0xb8, 0x39a: 0xb8, 0x39b: 0xb8, 0x39c: 0xb8, 0x39d: 0xb8, 0x39e: 0xb8, 0x39f: 0xb8, - 0x3a0: 0xb8, 0x3a1: 0xb8, 0x3a2: 0xb8, 0x3a3: 0xb8, 0x3a4: 0xfa, 0x3a5: 0xfb, 0x3a6: 0xfc, 0x3a7: 0xfd, - 0x3a8: 0x45, 0x3a9: 0xfe, 0x3aa: 0xff, 0x3ab: 0x46, 0x3ac: 0x47, 0x3ad: 0x48, 0x3ae: 0x49, 0x3af: 0x4a, - 0x3b0: 0x100, 0x3b1: 0x4b, 0x3b2: 0x4c, 0x3b3: 0x4d, 0x3b4: 0x4e, 0x3b5: 0x4f, 0x3b6: 0x101, 0x3b7: 0x50, - 0x3b8: 0x51, 0x3b9: 0x52, 0x3ba: 0x53, 0x3bb: 0x54, 0x3bc: 0x55, 0x3bd: 0x56, 0x3be: 0x57, 0x3bf: 0x58, + 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: 0x102, 0x3c1: 0x103, 0x3c2: 0x9d, 0x3c3: 0x104, 0x3c4: 0x105, 0x3c5: 0x9b, 0x3c6: 0x106, 0x3c7: 0x107, - 0x3c8: 0xb8, 0x3c9: 0xb8, 0x3ca: 0x108, 0x3cb: 0x109, 0x3cc: 0x10a, 0x3cd: 0x10b, 0x3ce: 0x10c, 0x3cf: 0x10d, - 0x3d0: 0x10e, 0x3d1: 0x9d, 0x3d2: 0x10f, 0x3d3: 0x110, 0x3d4: 0x111, 0x3d5: 0x112, 0x3d6: 0xb8, 0x3d7: 0xb8, - 0x3d8: 0x9d, 0x3d9: 0x9d, 0x3da: 0x9d, 0x3db: 0x9d, 0x3dc: 0x113, 0x3dd: 0x114, 0x3de: 0xb8, 0x3df: 0xb8, - 0x3e0: 0x115, 0x3e1: 0x116, 0x3e2: 0x117, 0x3e3: 0x118, 0x3e4: 0x119, 0x3e5: 0xb8, 0x3e6: 0x11a, 0x3e7: 0x11b, - 0x3e8: 0x11c, 0x3e9: 0x11d, 0x3ea: 0x11e, 0x3eb: 0x59, 0x3ec: 0x11f, 0x3ed: 0x120, 0x3ee: 0x5a, 0x3ef: 0xb8, - 0x3f0: 0x9d, 0x3f1: 0x121, 0x3f2: 0x122, 0x3f3: 0x123, 0x3f4: 0xb8, 0x3f5: 0xb8, 0x3f6: 0xb8, 0x3f7: 0xb8, - 0x3f8: 0xb8, 0x3f9: 0x124, 0x3fa: 0xb8, 0x3fb: 0xb8, 0x3fc: 0xb8, 0x3fd: 0xb8, 0x3fe: 0xb8, 0x3ff: 0xb8, + 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: 0x125, 0x401: 0x126, 0x402: 0x127, 0x403: 0x128, 0x404: 0x129, 0x405: 0x12a, 0x406: 0x12b, 0x407: 0x12c, - 0x408: 0x12d, 0x409: 0xb8, 0x40a: 0x12e, 0x40b: 0x12f, 0x40c: 0x5b, 0x40d: 0x5c, 0x40e: 0xb8, 0x40f: 0xb8, - 0x410: 0x130, 0x411: 0x131, 0x412: 0x132, 0x413: 0x133, 0x414: 0xb8, 0x415: 0xb8, 0x416: 0x134, 0x417: 0x135, - 0x418: 0x136, 0x419: 0x137, 0x41a: 0x138, 0x41b: 0x139, 0x41c: 0x13a, 0x41d: 0xb8, 0x41e: 0xb8, 0x41f: 0xb8, - 0x420: 0xb8, 0x421: 0xb8, 0x422: 0x13b, 0x423: 0x13c, 0x424: 0xb8, 0x425: 0xb8, 0x426: 0xb8, 0x427: 0xb8, - 0x428: 0xb8, 0x429: 0xb8, 0x42a: 0xb8, 0x42b: 0x13d, 0x42c: 0xb8, 0x42d: 0xb8, 0x42e: 0xb8, 0x42f: 0xb8, - 0x430: 0x13e, 0x431: 0x13f, 0x432: 0x140, 0x433: 0xb8, 0x434: 0xb8, 0x435: 0xb8, 0x436: 0xb8, 0x437: 0xb8, - 0x438: 0xb8, 0x439: 0xb8, 0x43a: 0xb8, 0x43b: 0xb8, 0x43c: 0xb8, 0x43d: 0xb8, 0x43e: 0xb8, 0x43f: 0xb8, + 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: 0x9d, 0x441: 0x9d, 0x442: 0x9d, 0x443: 0x9d, 0x444: 0x9d, 0x445: 0x9d, 0x446: 0x9d, 0x447: 0x9d, - 0x448: 0x9d, 0x449: 0x9d, 0x44a: 0x9d, 0x44b: 0x9d, 0x44c: 0x9d, 0x44d: 0x9d, 0x44e: 0x141, 0x44f: 0xb8, - 0x450: 0x9b, 0x451: 0x142, 0x452: 0x9d, 0x453: 0x9d, 0x454: 0x9d, 0x455: 0x143, 0x456: 0xb8, 0x457: 0xb8, - 0x458: 0xb8, 0x459: 0xb8, 0x45a: 0xb8, 0x45b: 0xb8, 0x45c: 0xb8, 0x45d: 0xb8, 0x45e: 0xb8, 0x45f: 0xb8, - 0x460: 0xb8, 0x461: 0xb8, 0x462: 0xb8, 0x463: 0xb8, 0x464: 0xb8, 0x465: 0xb8, 0x466: 0xb8, 0x467: 0xb8, - 0x468: 0xb8, 0x469: 0xb8, 0x46a: 0xb8, 0x46b: 0xb8, 0x46c: 0xb8, 0x46d: 0xb8, 0x46e: 0xb8, 0x46f: 0xb8, - 0x470: 0xb8, 0x471: 0xb8, 0x472: 0xb8, 0x473: 0xb8, 0x474: 0xb8, 0x475: 0xb8, 0x476: 0xb8, 0x477: 0xb8, - 0x478: 0xb8, 0x479: 0xb8, 0x47a: 0xb8, 0x47b: 0xb8, 0x47c: 0xb8, 0x47d: 0xb8, 0x47e: 0xb8, 0x47f: 0xb8, + 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: 0x9d, 0x481: 0x9d, 0x482: 0x9d, 0x483: 0x9d, 0x484: 0x9d, 0x485: 0x9d, 0x486: 0x9d, 0x487: 0x9d, - 0x488: 0x9d, 0x489: 0x9d, 0x48a: 0x9d, 0x48b: 0x9d, 0x48c: 0x9d, 0x48d: 0x9d, 0x48e: 0x9d, 0x48f: 0x9d, - 0x490: 0x144, 0x491: 0xb8, 0x492: 0xb8, 0x493: 0xb8, 0x494: 0xb8, 0x495: 0xb8, 0x496: 0xb8, 0x497: 0xb8, - 0x498: 0xb8, 0x499: 0xb8, 0x49a: 0xb8, 0x49b: 0xb8, 0x49c: 0xb8, 0x49d: 0xb8, 0x49e: 0xb8, 0x49f: 0xb8, - 0x4a0: 0xb8, 0x4a1: 0xb8, 0x4a2: 0xb8, 0x4a3: 0xb8, 0x4a4: 0xb8, 0x4a5: 0xb8, 0x4a6: 0xb8, 0x4a7: 0xb8, - 0x4a8: 0xb8, 0x4a9: 0xb8, 0x4aa: 0xb8, 0x4ab: 0xb8, 0x4ac: 0xb8, 0x4ad: 0xb8, 0x4ae: 0xb8, 0x4af: 0xb8, - 0x4b0: 0xb8, 0x4b1: 0xb8, 0x4b2: 0xb8, 0x4b3: 0xb8, 0x4b4: 0xb8, 0x4b5: 0xb8, 0x4b6: 0xb8, 0x4b7: 0xb8, - 0x4b8: 0xb8, 0x4b9: 0xb8, 0x4ba: 0xb8, 0x4bb: 0xb8, 0x4bc: 0xb8, 0x4bd: 0xb8, 0x4be: 0xb8, 0x4bf: 0xb8, + 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: 0xb8, 0x4c1: 0xb8, 0x4c2: 0xb8, 0x4c3: 0xb8, 0x4c4: 0xb8, 0x4c5: 0xb8, 0x4c6: 0xb8, 0x4c7: 0xb8, - 0x4c8: 0xb8, 0x4c9: 0xb8, 0x4ca: 0xb8, 0x4cb: 0xb8, 0x4cc: 0xb8, 0x4cd: 0xb8, 0x4ce: 0xb8, 0x4cf: 0xb8, - 0x4d0: 0x9d, 0x4d1: 0x9d, 0x4d2: 0x9d, 0x4d3: 0x9d, 0x4d4: 0x9d, 0x4d5: 0x9d, 0x4d6: 0x9d, 0x4d7: 0x9d, - 0x4d8: 0x9d, 0x4d9: 0x145, 0x4da: 0xb8, 0x4db: 0xb8, 0x4dc: 0xb8, 0x4dd: 0xb8, 0x4de: 0xb8, 0x4df: 0xb8, - 0x4e0: 0xb8, 0x4e1: 0xb8, 0x4e2: 0xb8, 0x4e3: 0xb8, 0x4e4: 0xb8, 0x4e5: 0xb8, 0x4e6: 0xb8, 0x4e7: 0xb8, - 0x4e8: 0xb8, 0x4e9: 0xb8, 0x4ea: 0xb8, 0x4eb: 0xb8, 0x4ec: 0xb8, 0x4ed: 0xb8, 0x4ee: 0xb8, 0x4ef: 0xb8, - 0x4f0: 0xb8, 0x4f1: 0xb8, 0x4f2: 0xb8, 0x4f3: 0xb8, 0x4f4: 0xb8, 0x4f5: 0xb8, 0x4f6: 0xb8, 0x4f7: 0xb8, - 0x4f8: 0xb8, 0x4f9: 0xb8, 0x4fa: 0xb8, 0x4fb: 0xb8, 0x4fc: 0xb8, 0x4fd: 0xb8, 0x4fe: 0xb8, 0x4ff: 0xb8, + 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: 0xb8, 0x501: 0xb8, 0x502: 0xb8, 0x503: 0xb8, 0x504: 0xb8, 0x505: 0xb8, 0x506: 0xb8, 0x507: 0xb8, - 0x508: 0xb8, 0x509: 0xb8, 0x50a: 0xb8, 0x50b: 0xb8, 0x50c: 0xb8, 0x50d: 0xb8, 0x50e: 0xb8, 0x50f: 0xb8, - 0x510: 0xb8, 0x511: 0xb8, 0x512: 0xb8, 0x513: 0xb8, 0x514: 0xb8, 0x515: 0xb8, 0x516: 0xb8, 0x517: 0xb8, - 0x518: 0xb8, 0x519: 0xb8, 0x51a: 0xb8, 0x51b: 0xb8, 0x51c: 0xb8, 0x51d: 0xb8, 0x51e: 0xb8, 0x51f: 0xb8, - 0x520: 0x9d, 0x521: 0x9d, 0x522: 0x9d, 0x523: 0x9d, 0x524: 0x9d, 0x525: 0x9d, 0x526: 0x9d, 0x527: 0x9d, - 0x528: 0x13d, 0x529: 0x146, 0x52a: 0xb8, 0x52b: 0x147, 0x52c: 0x148, 0x52d: 0x149, 0x52e: 0x14a, 0x52f: 0xb8, - 0x530: 0xb8, 0x531: 0xb8, 0x532: 0xb8, 0x533: 0xb8, 0x534: 0xb8, 0x535: 0xb8, 0x536: 0xb8, 0x537: 0xb8, - 0x538: 0xb8, 0x539: 0xb8, 0x53a: 0xb8, 0x53b: 0xb8, 0x53c: 0x9d, 0x53d: 0x14b, 0x53e: 0x14c, 0x53f: 0x14d, + 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: 0x9d, 0x541: 0x9d, 0x542: 0x9d, 0x543: 0x9d, 0x544: 0x9d, 0x545: 0x9d, 0x546: 0x9d, 0x547: 0x9d, - 0x548: 0x9d, 0x549: 0x9d, 0x54a: 0x9d, 0x54b: 0x9d, 0x54c: 0x9d, 0x54d: 0x9d, 0x54e: 0x9d, 0x54f: 0x9d, - 0x550: 0x9d, 0x551: 0x9d, 0x552: 0x9d, 0x553: 0x9d, 0x554: 0x9d, 0x555: 0x9d, 0x556: 0x9d, 0x557: 0x9d, - 0x558: 0x9d, 0x559: 0x9d, 0x55a: 0x9d, 0x55b: 0x9d, 0x55c: 0x9d, 0x55d: 0x9d, 0x55e: 0x9d, 0x55f: 0x14e, - 0x560: 0x9d, 0x561: 0x9d, 0x562: 0x9d, 0x563: 0x9d, 0x564: 0x9d, 0x565: 0x9d, 0x566: 0x9d, 0x567: 0x9d, - 0x568: 0x9d, 0x569: 0x9d, 0x56a: 0x9d, 0x56b: 0x14f, 0x56c: 0xb8, 0x56d: 0xb8, 0x56e: 0xb8, 0x56f: 0xb8, - 0x570: 0xb8, 0x571: 0xb8, 0x572: 0xb8, 0x573: 0xb8, 0x574: 0xb8, 0x575: 0xb8, 0x576: 0xb8, 0x577: 0xb8, - 0x578: 0xb8, 0x579: 0xb8, 0x57a: 0xb8, 0x57b: 0xb8, 0x57c: 0xb8, 0x57d: 0xb8, 0x57e: 0xb8, 0x57f: 0xb8, + 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: 0x150, 0x581: 0xb8, 0x582: 0xb8, 0x583: 0xb8, 0x584: 0xb8, 0x585: 0xb8, 0x586: 0xb8, 0x587: 0xb8, - 0x588: 0xb8, 0x589: 0xb8, 0x58a: 0xb8, 0x58b: 0xb8, 0x58c: 0xb8, 0x58d: 0xb8, 0x58e: 0xb8, 0x58f: 0xb8, - 0x590: 0xb8, 0x591: 0xb8, 0x592: 0xb8, 0x593: 0xb8, 0x594: 0xb8, 0x595: 0xb8, 0x596: 0xb8, 0x597: 0xb8, - 0x598: 0xb8, 0x599: 0xb8, 0x59a: 0xb8, 0x59b: 0xb8, 0x59c: 0xb8, 0x59d: 0xb8, 0x59e: 0xb8, 0x59f: 0xb8, - 0x5a0: 0xb8, 0x5a1: 0xb8, 0x5a2: 0xb8, 0x5a3: 0xb8, 0x5a4: 0xb8, 0x5a5: 0xb8, 0x5a6: 0xb8, 0x5a7: 0xb8, - 0x5a8: 0xb8, 0x5a9: 0xb8, 0x5aa: 0xb8, 0x5ab: 0xb8, 0x5ac: 0xb8, 0x5ad: 0xb8, 0x5ae: 0xb8, 0x5af: 0xb8, - 0x5b0: 0x9d, 0x5b1: 0x151, 0x5b2: 0x152, 0x5b3: 0xb8, 0x5b4: 0xb8, 0x5b5: 0xb8, 0x5b6: 0xb8, 0x5b7: 0xb8, - 0x5b8: 0xb8, 0x5b9: 0xb8, 0x5ba: 0xb8, 0x5bb: 0xb8, 0x5bc: 0xb8, 0x5bd: 0xb8, 0x5be: 0xb8, 0x5bf: 0xb8, + 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: 0x153, 0x5c4: 0x154, 0x5c5: 0x155, 0x5c6: 0x156, 0x5c7: 0x157, - 0x5c8: 0x9b, 0x5c9: 0x158, 0x5ca: 0xb8, 0x5cb: 0xb8, 0x5cc: 0x9b, 0x5cd: 0x159, 0x5ce: 0xb8, 0x5cf: 0xb8, - 0x5d0: 0x5d, 0x5d1: 0x5e, 0x5d2: 0x5f, 0x5d3: 0x60, 0x5d4: 0x61, 0x5d5: 0x62, 0x5d6: 0x63, 0x5d7: 0x64, - 0x5d8: 0x65, 0x5d9: 0x66, 0x5da: 0x67, 0x5db: 0x68, 0x5dc: 0x69, 0x5dd: 0x6a, 0x5de: 0x6b, 0x5df: 0x6c, + 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: 0x15a, 0x5e9: 0x15b, 0x5ea: 0x15c, 0x5eb: 0xb8, 0x5ec: 0xb8, 0x5ed: 0xb8, 0x5ee: 0xb8, 0x5ef: 0xb8, - 0x5f0: 0xb8, 0x5f1: 0xb8, 0x5f2: 0xb8, 0x5f3: 0xb8, 0x5f4: 0xb8, 0x5f5: 0xb8, 0x5f6: 0xb8, 0x5f7: 0xb8, - 0x5f8: 0xb8, 0x5f9: 0xb8, 0x5fa: 0xb8, 0x5fb: 0xb8, 0x5fc: 0xb8, 0x5fd: 0xb8, 0x5fe: 0xb8, 0x5ff: 0xb8, + 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: 0x15d, 0x601: 0xb8, 0x602: 0xb8, 0x603: 0xb8, 0x604: 0xb8, 0x605: 0xb8, 0x606: 0xb8, 0x607: 0xb8, - 0x608: 0xb8, 0x609: 0xb8, 0x60a: 0xb8, 0x60b: 0xb8, 0x60c: 0xb8, 0x60d: 0xb8, 0x60e: 0xb8, 0x60f: 0xb8, - 0x610: 0xb8, 0x611: 0xb8, 0x612: 0xb8, 0x613: 0xb8, 0x614: 0xb8, 0x615: 0xb8, 0x616: 0xb8, 0x617: 0xb8, - 0x618: 0xb8, 0x619: 0xb8, 0x61a: 0xb8, 0x61b: 0xb8, 0x61c: 0xb8, 0x61d: 0xb8, 0x61e: 0xb8, 0x61f: 0xb8, - 0x620: 0x9d, 0x621: 0x9d, 0x622: 0x9d, 0x623: 0x15e, 0x624: 0x6d, 0x625: 0x15f, 0x626: 0xb8, 0x627: 0xb8, - 0x628: 0xb8, 0x629: 0xb8, 0x62a: 0xb8, 0x62b: 0xb8, 0x62c: 0xb8, 0x62d: 0xb8, 0x62e: 0xb8, 0x62f: 0xb8, - 0x630: 0xb8, 0x631: 0xb8, 0x632: 0xb8, 0x633: 0xb8, 0x634: 0xb8, 0x635: 0xb8, 0x636: 0xb8, 0x637: 0xb8, - 0x638: 0x6e, 0x639: 0x6f, 0x63a: 0x70, 0x63b: 0x160, 0x63c: 0xb8, 0x63d: 0xb8, 0x63e: 0xb8, 0x63f: 0xb8, + 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: 0x161, 0x641: 0x9b, 0x642: 0x162, 0x643: 0x163, 0x644: 0x71, 0x645: 0x72, 0x646: 0x164, 0x647: 0x165, - 0x648: 0x73, 0x649: 0x166, 0x64a: 0xb8, 0x64b: 0xb8, 0x64c: 0x9b, 0x64d: 0x9b, 0x64e: 0x9b, 0x64f: 0x9b, + 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: 0x167, 0x65c: 0x9b, 0x65d: 0x168, 0x65e: 0x9b, 0x65f: 0x169, - 0x660: 0x16a, 0x661: 0x16b, 0x662: 0x16c, 0x663: 0xb8, 0x664: 0x16d, 0x665: 0x16e, 0x666: 0x16f, 0x667: 0x170, - 0x668: 0xb8, 0x669: 0xb8, 0x66a: 0xb8, 0x66b: 0xb8, 0x66c: 0xb8, 0x66d: 0xb8, 0x66e: 0xb8, 0x66f: 0xb8, - 0x670: 0xb8, 0x671: 0xb8, 0x672: 0xb8, 0x673: 0xb8, 0x674: 0xb8, 0x675: 0xb8, 0x676: 0xb8, 0x677: 0xb8, - 0x678: 0xb8, 0x679: 0xb8, 0x67a: 0xb8, 0x67b: 0xb8, 0x67c: 0xb8, 0x67d: 0xb8, 0x67e: 0xb8, 0x67f: 0xb8, + 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: 0x9d, 0x681: 0x9d, 0x682: 0x9d, 0x683: 0x9d, 0x684: 0x9d, 0x685: 0x9d, 0x686: 0x9d, 0x687: 0x9d, - 0x688: 0x9d, 0x689: 0x9d, 0x68a: 0x9d, 0x68b: 0x9d, 0x68c: 0x9d, 0x68d: 0x9d, 0x68e: 0x9d, 0x68f: 0x9d, - 0x690: 0x9d, 0x691: 0x9d, 0x692: 0x9d, 0x693: 0x9d, 0x694: 0x9d, 0x695: 0x9d, 0x696: 0x9d, 0x697: 0x9d, - 0x698: 0x9d, 0x699: 0x9d, 0x69a: 0x9d, 0x69b: 0x171, 0x69c: 0x9d, 0x69d: 0x9d, 0x69e: 0x9d, 0x69f: 0x9d, - 0x6a0: 0x9d, 0x6a1: 0x9d, 0x6a2: 0x9d, 0x6a3: 0x9d, 0x6a4: 0x9d, 0x6a5: 0x9d, 0x6a6: 0x9d, 0x6a7: 0x9d, - 0x6a8: 0x9d, 0x6a9: 0x9d, 0x6aa: 0x9d, 0x6ab: 0x9d, 0x6ac: 0x9d, 0x6ad: 0x9d, 0x6ae: 0x9d, 0x6af: 0x9d, - 0x6b0: 0x9d, 0x6b1: 0x9d, 0x6b2: 0x9d, 0x6b3: 0x9d, 0x6b4: 0x9d, 0x6b5: 0x9d, 0x6b6: 0x9d, 0x6b7: 0x9d, - 0x6b8: 0x9d, 0x6b9: 0x9d, 0x6ba: 0x9d, 0x6bb: 0x9d, 0x6bc: 0x9d, 0x6bd: 0x9d, 0x6be: 0x9d, 0x6bf: 0x9d, + 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: 0x9d, 0x6c1: 0x9d, 0x6c2: 0x9d, 0x6c3: 0x9d, 0x6c4: 0x9d, 0x6c5: 0x9d, 0x6c6: 0x9d, 0x6c7: 0x9d, - 0x6c8: 0x9d, 0x6c9: 0x9d, 0x6ca: 0x9d, 0x6cb: 0x9d, 0x6cc: 0x9d, 0x6cd: 0x9d, 0x6ce: 0x9d, 0x6cf: 0x9d, - 0x6d0: 0x9d, 0x6d1: 0x9d, 0x6d2: 0x9d, 0x6d3: 0x9d, 0x6d4: 0x9d, 0x6d5: 0x9d, 0x6d6: 0x9d, 0x6d7: 0x9d, - 0x6d8: 0x9d, 0x6d9: 0x9d, 0x6da: 0x9d, 0x6db: 0x9d, 0x6dc: 0x172, 0x6dd: 0x9d, 0x6de: 0x9d, 0x6df: 0x9d, - 0x6e0: 0x173, 0x6e1: 0x9d, 0x6e2: 0x9d, 0x6e3: 0x9d, 0x6e4: 0x9d, 0x6e5: 0x9d, 0x6e6: 0x9d, 0x6e7: 0x9d, - 0x6e8: 0x9d, 0x6e9: 0x9d, 0x6ea: 0x9d, 0x6eb: 0x9d, 0x6ec: 0x9d, 0x6ed: 0x9d, 0x6ee: 0x9d, 0x6ef: 0x9d, - 0x6f0: 0x9d, 0x6f1: 0x9d, 0x6f2: 0x9d, 0x6f3: 0x9d, 0x6f4: 0x9d, 0x6f5: 0x9d, 0x6f6: 0x9d, 0x6f7: 0x9d, - 0x6f8: 0x9d, 0x6f9: 0x9d, 0x6fa: 0x9d, 0x6fb: 0x9d, 0x6fc: 0x9d, 0x6fd: 0x9d, 0x6fe: 0x9d, 0x6ff: 0x9d, + 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: 0x9d, 0x701: 0x9d, 0x702: 0x9d, 0x703: 0x9d, 0x704: 0x9d, 0x705: 0x9d, 0x706: 0x9d, 0x707: 0x9d, - 0x708: 0x9d, 0x709: 0x9d, 0x70a: 0x9d, 0x70b: 0x9d, 0x70c: 0x9d, 0x70d: 0x9d, 0x70e: 0x9d, 0x70f: 0x9d, - 0x710: 0x9d, 0x711: 0x9d, 0x712: 0x9d, 0x713: 0x9d, 0x714: 0x9d, 0x715: 0x9d, 0x716: 0x9d, 0x717: 0x9d, - 0x718: 0x9d, 0x719: 0x9d, 0x71a: 0x9d, 0x71b: 0x9d, 0x71c: 0x9d, 0x71d: 0x9d, 0x71e: 0x9d, 0x71f: 0x9d, - 0x720: 0x9d, 0x721: 0x9d, 0x722: 0x9d, 0x723: 0x9d, 0x724: 0x9d, 0x725: 0x9d, 0x726: 0x9d, 0x727: 0x9d, - 0x728: 0x9d, 0x729: 0x9d, 0x72a: 0x9d, 0x72b: 0x9d, 0x72c: 0x9d, 0x72d: 0x9d, 0x72e: 0x9d, 0x72f: 0x9d, - 0x730: 0x9d, 0x731: 0x9d, 0x732: 0x9d, 0x733: 0x9d, 0x734: 0x9d, 0x735: 0x9d, 0x736: 0x9d, 0x737: 0x9d, - 0x738: 0x9d, 0x739: 0x9d, 0x73a: 0x174, 0x73b: 0xb8, 0x73c: 0xb8, 0x73d: 0xb8, 0x73e: 0xb8, 0x73f: 0xb8, + 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: 0xb8, 0x741: 0xb8, 0x742: 0xb8, 0x743: 0xb8, 0x744: 0xb8, 0x745: 0xb8, 0x746: 0xb8, 0x747: 0xb8, - 0x748: 0xb8, 0x749: 0xb8, 0x74a: 0xb8, 0x74b: 0xb8, 0x74c: 0xb8, 0x74d: 0xb8, 0x74e: 0xb8, 0x74f: 0xb8, - 0x750: 0xb8, 0x751: 0xb8, 0x752: 0xb8, 0x753: 0xb8, 0x754: 0xb8, 0x755: 0xb8, 0x756: 0xb8, 0x757: 0xb8, - 0x758: 0xb8, 0x759: 0xb8, 0x75a: 0xb8, 0x75b: 0xb8, 0x75c: 0xb8, 0x75d: 0xb8, 0x75e: 0xb8, 0x75f: 0xb8, - 0x760: 0x74, 0x761: 0x75, 0x762: 0x76, 0x763: 0x175, 0x764: 0x77, 0x765: 0x78, 0x766: 0x176, 0x767: 0x79, - 0x768: 0x7a, 0x769: 0xb8, 0x76a: 0xb8, 0x76b: 0xb8, 0x76c: 0xb8, 0x76d: 0xb8, 0x76e: 0xb8, 0x76f: 0xb8, - 0x770: 0xb8, 0x771: 0xb8, 0x772: 0xb8, 0x773: 0xb8, 0x774: 0xb8, 0x775: 0xb8, 0x776: 0xb8, 0x777: 0xb8, - 0x778: 0xb8, 0x779: 0xb8, 0x77a: 0xb8, 0x77b: 0xb8, 0x77c: 0xb8, 0x77d: 0xb8, 0x77e: 0xb8, 0x77f: 0xb8, + 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 - 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, + 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 - 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, + 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: 0x177, 0x801: 0x178, 0x802: 0xb8, 0x803: 0xb8, 0x804: 0x179, 0x805: 0x179, 0x806: 0x179, 0x807: 0x17a, - 0x808: 0xb8, 0x809: 0xb8, 0x80a: 0xb8, 0x80b: 0xb8, 0x80c: 0xb8, 0x80d: 0xb8, 0x80e: 0xb8, 0x80f: 0xb8, - 0x810: 0xb8, 0x811: 0xb8, 0x812: 0xb8, 0x813: 0xb8, 0x814: 0xb8, 0x815: 0xb8, 0x816: 0xb8, 0x817: 0xb8, - 0x818: 0xb8, 0x819: 0xb8, 0x81a: 0xb8, 0x81b: 0xb8, 0x81c: 0xb8, 0x81d: 0xb8, 0x81e: 0xb8, 0x81f: 0xb8, - 0x820: 0xb8, 0x821: 0xb8, 0x822: 0xb8, 0x823: 0xb8, 0x824: 0xb8, 0x825: 0xb8, 0x826: 0xb8, 0x827: 0xb8, - 0x828: 0xb8, 0x829: 0xb8, 0x82a: 0xb8, 0x82b: 0xb8, 0x82c: 0xb8, 0x82d: 0xb8, 0x82e: 0xb8, 0x82f: 0xb8, - 0x830: 0xb8, 0x831: 0xb8, 0x832: 0xb8, 0x833: 0xb8, 0x834: 0xb8, 0x835: 0xb8, 0x836: 0xb8, 0x837: 0xb8, - 0x838: 0xb8, 0x839: 0xb8, 0x83a: 0xb8, 0x83b: 0xb8, 0x83c: 0xb8, 0x83d: 0xb8, 0x83e: 0xb8, 0x83f: 0xb8, + 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: 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, + 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: 256 entries, 512 bytes -var idnaSparseOffset = []uint16{0x0, 0x8, 0x19, 0x25, 0x27, 0x2c, 0x34, 0x3f, 0x4b, 0x5c, 0x60, 0x6f, 0x74, 0x7b, 0x87, 0x95, 0xa3, 0xa8, 0xb1, 0xc1, 0xcf, 0xdc, 0xe8, 0xf9, 0x103, 0x10a, 0x117, 0x128, 0x12f, 0x13a, 0x149, 0x157, 0x161, 0x163, 0x167, 0x169, 0x175, 0x180, 0x188, 0x18e, 0x194, 0x199, 0x19e, 0x1a1, 0x1a5, 0x1ab, 0x1b0, 0x1bc, 0x1c6, 0x1cc, 0x1dd, 0x1e7, 0x1ea, 0x1f2, 0x1f5, 0x202, 0x20a, 0x20e, 0x215, 0x21d, 0x22d, 0x239, 0x23b, 0x245, 0x251, 0x25d, 0x269, 0x271, 0x276, 0x280, 0x291, 0x295, 0x2a0, 0x2a4, 0x2ad, 0x2b5, 0x2bb, 0x2c0, 0x2c3, 0x2c6, 0x2ca, 0x2d0, 0x2d4, 0x2d8, 0x2de, 0x2e5, 0x2eb, 0x2f3, 0x2fa, 0x305, 0x30f, 0x313, 0x316, 0x31c, 0x320, 0x322, 0x325, 0x327, 0x32a, 0x334, 0x337, 0x346, 0x34a, 0x34f, 0x352, 0x356, 0x35b, 0x360, 0x366, 0x36c, 0x37b, 0x381, 0x385, 0x394, 0x399, 0x3a1, 0x3ab, 0x3b6, 0x3be, 0x3cf, 0x3d8, 0x3e8, 0x3f5, 0x3ff, 0x404, 0x411, 0x415, 0x41a, 0x41c, 0x420, 0x422, 0x426, 0x42f, 0x435, 0x439, 0x449, 0x453, 0x458, 0x45b, 0x461, 0x468, 0x46d, 0x471, 0x477, 0x47c, 0x485, 0x48a, 0x490, 0x497, 0x49e, 0x4a5, 0x4a9, 0x4ae, 0x4b1, 0x4b6, 0x4c2, 0x4c8, 0x4cd, 0x4d4, 0x4dc, 0x4e1, 0x4e5, 0x4f5, 0x4fc, 0x500, 0x504, 0x50b, 0x50e, 0x511, 0x515, 0x519, 0x51f, 0x528, 0x534, 0x53b, 0x544, 0x54c, 0x553, 0x561, 0x56e, 0x57b, 0x584, 0x588, 0x596, 0x59e, 0x5a9, 0x5b2, 0x5b8, 0x5c0, 0x5c9, 0x5d3, 0x5d6, 0x5e2, 0x5e5, 0x5ea, 0x5ed, 0x5f7, 0x600, 0x60c, 0x60f, 0x614, 0x617, 0x61a, 0x61d, 0x624, 0x62b, 0x62f, 0x63a, 0x63d, 0x643, 0x648, 0x64c, 0x64f, 0x652, 0x655, 0x65a, 0x664, 0x667, 0x66b, 0x67a, 0x686, 0x68a, 0x68f, 0x694, 0x698, 0x69d, 0x6a6, 0x6b1, 0x6b7, 0x6bf, 0x6c3, 0x6c7, 0x6cd, 0x6d3, 0x6d8, 0x6db, 0x6e9, 0x6f0, 0x6f3, 0x6f6, 0x6fa, 0x700, 0x705, 0x70f, 0x714, 0x717, 0x71a, 0x71d, 0x720, 0x724, 0x727, 0x737, 0x748, 0x74d, 0x74f, 0x751} +// 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: 1876 entries, 7504 bytes -var idnaSparseValues = [1876]valueRange{ +// idnaSparseValues: 1915 entries, 7660 bytes +var idnaSparseValues = [1915]valueRange{ // Block 0x0, offset 0x0 {value: 0x0000, lo: 0x07}, {value: 0xe105, lo: 0x80, hi: 0x96}, @@ -2382,7 +2415,7 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0008, lo: 0xb9, hi: 0xbf}, // Block 0x3, offset 0x25 {value: 0x0000, lo: 0x01}, - {value: 0x1308, lo: 0x80, hi: 0xbf}, + {value: 0x3308, lo: 0x80, hi: 0xbf}, // Block 0x4, offset 0x27 {value: 0x0000, lo: 0x04}, {value: 0x03f5, lo: 0x80, hi: 0x8f}, @@ -2407,155 +2440,123 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0040, lo: 0x8b, hi: 0x8c}, {value: 0x0018, lo: 0x8d, hi: 0x8f}, {value: 0x0040, lo: 0x90, hi: 0x90}, - {value: 0x1308, lo: 0x91, hi: 0xbd}, - {value: 0x0018, lo: 0xbe, hi: 0xbe}, - {value: 0x1308, lo: 0xbf, hi: 0xbf}, + {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: 0x0018, lo: 0x80, hi: 0x80}, - {value: 0x1308, lo: 0x81, hi: 0x82}, - {value: 0x0018, lo: 0x83, hi: 0x83}, - {value: 0x1308, lo: 0x84, hi: 0x85}, - {value: 0x0018, lo: 0x86, hi: 0x86}, - {value: 0x1308, lo: 0x87, hi: 0x87}, + {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: 0x0008, lo: 0x90, hi: 0xaa}, + {value: 0x0808, lo: 0x90, hi: 0xaa}, {value: 0x0040, lo: 0xab, hi: 0xaf}, - {value: 0x0008, lo: 0xb0, hi: 0xb4}, + {value: 0x0808, lo: 0xb0, hi: 0xb4}, {value: 0x0040, lo: 0xb5, hi: 0xbf}, // Block 0x8, offset 0x4b - {value: 0x0000, lo: 0x10}, - {value: 0x0018, lo: 0x80, hi: 0x80}, - {value: 0x0208, lo: 0x81, hi: 0x87}, - {value: 0x0408, lo: 0x88, hi: 0x88}, - {value: 0x0208, lo: 0x89, hi: 0x8a}, - {value: 0x1308, lo: 0x8b, hi: 0x9f}, - {value: 0x0008, lo: 0xa0, hi: 0xa9}, - {value: 0x0018, lo: 0xaa, hi: 0xad}, - {value: 0x0208, lo: 0xae, hi: 0xaf}, - {value: 0x1308, lo: 0xb0, hi: 0xb0}, - {value: 0x0408, lo: 0xb1, hi: 0xb3}, - {value: 0x0008, lo: 0xb4, hi: 0xb4}, - {value: 0x0429, lo: 0xb5, hi: 0xb5}, - {value: 0x0451, lo: 0xb6, hi: 0xb6}, - {value: 0x0479, lo: 0xb7, hi: 0xb7}, - {value: 0x04a1, lo: 0xb8, hi: 0xb8}, - {value: 0x0208, lo: 0xb9, hi: 0xbf}, - // Block 0x9, offset 0x5c {value: 0x0000, lo: 0x03}, - {value: 0x0208, lo: 0x80, hi: 0x87}, - {value: 0x0408, lo: 0x88, hi: 0x99}, - {value: 0x0208, lo: 0x9a, hi: 0xbf}, - // Block 0xa, offset 0x60 + {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: 0x1308, lo: 0x80, hi: 0x8a}, + {value: 0x3308, lo: 0x80, hi: 0x8a}, {value: 0x0040, lo: 0x8b, hi: 0x8c}, - {value: 0x0408, lo: 0x8d, hi: 0x8d}, - {value: 0x0208, lo: 0x8e, hi: 0x98}, - {value: 0x0408, lo: 0x99, hi: 0x9b}, - {value: 0x0208, lo: 0x9c, hi: 0xaa}, - {value: 0x0408, lo: 0xab, hi: 0xac}, - {value: 0x0208, lo: 0xad, hi: 0xb0}, - {value: 0x0408, lo: 0xb1, hi: 0xb1}, - {value: 0x0208, lo: 0xb2, hi: 0xb2}, - {value: 0x0408, lo: 0xb3, hi: 0xb4}, - {value: 0x0208, lo: 0xb5, hi: 0xb7}, - {value: 0x0408, lo: 0xb8, hi: 0xb9}, - {value: 0x0208, lo: 0xba, hi: 0xbf}, - // Block 0xb, offset 0x6f + {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: 0x0008, lo: 0x80, hi: 0xa5}, - {value: 0x1308, lo: 0xa6, hi: 0xb0}, - {value: 0x0008, lo: 0xb1, hi: 0xb1}, + {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 0xc, offset 0x74 - {value: 0x0000, lo: 0x06}, - {value: 0x0008, lo: 0x80, hi: 0x89}, - {value: 0x0208, lo: 0x8a, hi: 0xaa}, - {value: 0x1308, lo: 0xab, hi: 0xb3}, - {value: 0x0008, lo: 0xb4, hi: 0xb5}, - {value: 0x0018, lo: 0xb6, hi: 0xba}, + // 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 0xd, offset 0x7b + // Block 0xc, offset 0x6b {value: 0x0000, lo: 0x0b}, - {value: 0x0008, lo: 0x80, hi: 0x95}, - {value: 0x1308, lo: 0x96, hi: 0x99}, - {value: 0x0008, lo: 0x9a, hi: 0x9a}, - {value: 0x1308, lo: 0x9b, hi: 0xa3}, - {value: 0x0008, lo: 0xa4, hi: 0xa4}, - {value: 0x1308, lo: 0xa5, hi: 0xa7}, - {value: 0x0008, lo: 0xa8, hi: 0xa8}, - {value: 0x1308, lo: 0xa9, hi: 0xad}, + {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: 0x0018, lo: 0xb0, hi: 0xbe}, + {value: 0x0818, lo: 0xb0, hi: 0xbe}, {value: 0x0040, lo: 0xbf, hi: 0xbf}, - // Block 0xe, offset 0x87 - {value: 0x0000, lo: 0x0d}, - {value: 0x0408, lo: 0x80, hi: 0x80}, - {value: 0x0208, lo: 0x81, hi: 0x85}, - {value: 0x0408, lo: 0x86, hi: 0x87}, - {value: 0x0208, lo: 0x88, hi: 0x88}, - {value: 0x0408, lo: 0x89, hi: 0x89}, - {value: 0x0208, lo: 0x8a, hi: 0x93}, - {value: 0x0408, lo: 0x94, hi: 0x94}, - {value: 0x0208, lo: 0x95, hi: 0x95}, - {value: 0x0008, lo: 0x96, hi: 0x98}, - {value: 0x1308, lo: 0x99, hi: 0x9b}, - {value: 0x0040, lo: 0x9c, hi: 0x9d}, - {value: 0x0018, lo: 0x9e, hi: 0x9e}, - {value: 0x0040, lo: 0x9f, hi: 0xbf}, - // Block 0xf, offset 0x95 + // Block 0xd, offset 0x77 {value: 0x0000, lo: 0x0d}, {value: 0x0040, lo: 0x80, hi: 0x9f}, - {value: 0x0208, lo: 0xa0, hi: 0xa9}, - {value: 0x0408, lo: 0xaa, hi: 0xac}, - {value: 0x0008, lo: 0xad, hi: 0xad}, - {value: 0x0408, lo: 0xae, hi: 0xae}, - {value: 0x0208, lo: 0xaf, hi: 0xb0}, - {value: 0x0408, lo: 0xb1, hi: 0xb2}, - {value: 0x0208, lo: 0xb3, hi: 0xb4}, + {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: 0x0208, lo: 0xb6, hi: 0xb8}, - {value: 0x0408, lo: 0xb9, hi: 0xb9}, - {value: 0x0208, lo: 0xba, hi: 0xbd}, + {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 0x10, offset 0xa3 + // Block 0xe, offset 0x85 {value: 0x0000, lo: 0x04}, {value: 0x0040, lo: 0x80, hi: 0x93}, - {value: 0x1308, lo: 0x94, hi: 0xa1}, - {value: 0x0040, lo: 0xa2, hi: 0xa2}, - {value: 0x1308, lo: 0xa3, hi: 0xbf}, - // Block 0x11, offset 0xa8 + {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: 0x1308, lo: 0x80, hi: 0x82}, - {value: 0x1008, lo: 0x83, hi: 0x83}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, {value: 0x0008, lo: 0x84, hi: 0xb9}, - {value: 0x1308, lo: 0xba, hi: 0xba}, - {value: 0x1008, lo: 0xbb, hi: 0xbb}, - {value: 0x1308, lo: 0xbc, hi: 0xbc}, + {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: 0x1008, lo: 0xbe, hi: 0xbf}, - // Block 0x12, offset 0xb1 + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x10, offset 0x93 {value: 0x0000, lo: 0x0f}, - {value: 0x1308, lo: 0x80, hi: 0x80}, - {value: 0x1008, lo: 0x81, hi: 0x82}, + {value: 0x3308, lo: 0x80, hi: 0x80}, + {value: 0x3008, lo: 0x81, hi: 0x82}, {value: 0x0040, lo: 0x83, hi: 0x85}, - {value: 0x1008, lo: 0x86, hi: 0x88}, + {value: 0x3008, lo: 0x86, hi: 0x88}, {value: 0x0040, lo: 0x89, hi: 0x89}, - {value: 0x1008, lo: 0x8a, hi: 0x8c}, - {value: 0x1b08, lo: 0x8d, hi: 0x8d}, + {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: 0x1008, lo: 0x97, hi: 0x97}, + {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 0x13, offset 0xc1 + // Block 0x11, offset 0xa3 {value: 0x0000, lo: 0x0d}, - {value: 0x1308, lo: 0x80, hi: 0x80}, - {value: 0x1008, lo: 0x81, hi: 0x83}, + {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}, @@ -2566,25 +2567,24 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0008, lo: 0xaa, hi: 0xb9}, {value: 0x0040, lo: 0xba, hi: 0xbc}, {value: 0x0008, lo: 0xbd, hi: 0xbd}, - {value: 0x1308, lo: 0xbe, hi: 0xbf}, - // Block 0x14, offset 0xcf - {value: 0x0000, lo: 0x0c}, - {value: 0x0040, lo: 0x80, hi: 0x80}, - {value: 0x1308, lo: 0x81, hi: 0x81}, - {value: 0x1008, lo: 0x82, hi: 0x83}, + {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: 0x0040, lo: 0xbb, hi: 0xbc}, + {value: 0x3b08, lo: 0xbb, hi: 0xbc}, {value: 0x0008, lo: 0xbd, hi: 0xbd}, - {value: 0x1008, lo: 0xbe, hi: 0xbf}, - // Block 0x15, offset 0xdc + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x13, offset 0xbd {value: 0x0000, lo: 0x0b}, {value: 0x0040, lo: 0x80, hi: 0x81}, - {value: 0x1008, lo: 0x82, hi: 0x83}, + {value: 0x3008, lo: 0x82, hi: 0x83}, {value: 0x0040, lo: 0x84, hi: 0x84}, {value: 0x0008, lo: 0x85, hi: 0x96}, {value: 0x0040, lo: 0x97, hi: 0x99}, @@ -2594,50 +2594,50 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0040, lo: 0xbc, hi: 0xbc}, {value: 0x0008, lo: 0xbd, hi: 0xbd}, {value: 0x0040, lo: 0xbe, hi: 0xbf}, - // Block 0x16, offset 0xe8 + // Block 0x14, offset 0xc9 {value: 0x0000, lo: 0x10}, {value: 0x0008, lo: 0x80, hi: 0x86}, {value: 0x0040, lo: 0x87, hi: 0x89}, - {value: 0x1b08, lo: 0x8a, hi: 0x8a}, + {value: 0x3b08, lo: 0x8a, hi: 0x8a}, {value: 0x0040, lo: 0x8b, hi: 0x8e}, - {value: 0x1008, lo: 0x8f, hi: 0x91}, - {value: 0x1308, lo: 0x92, hi: 0x94}, + {value: 0x3008, lo: 0x8f, hi: 0x91}, + {value: 0x3308, lo: 0x92, hi: 0x94}, {value: 0x0040, lo: 0x95, hi: 0x95}, - {value: 0x1308, lo: 0x96, hi: 0x96}, + {value: 0x3308, lo: 0x96, hi: 0x96}, {value: 0x0040, lo: 0x97, hi: 0x97}, - {value: 0x1008, lo: 0x98, hi: 0x9f}, + {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: 0x1008, lo: 0xb2, hi: 0xb3}, + {value: 0x3008, lo: 0xb2, hi: 0xb3}, {value: 0x0018, lo: 0xb4, hi: 0xb4}, {value: 0x0040, lo: 0xb5, hi: 0xbf}, - // Block 0x17, offset 0xf9 + // Block 0x15, offset 0xda {value: 0x0000, lo: 0x09}, {value: 0x0040, lo: 0x80, hi: 0x80}, {value: 0x0008, lo: 0x81, hi: 0xb0}, - {value: 0x1308, lo: 0xb1, hi: 0xb1}, + {value: 0x3308, lo: 0xb1, hi: 0xb1}, {value: 0x0008, lo: 0xb2, hi: 0xb2}, {value: 0x08f1, lo: 0xb3, hi: 0xb3}, - {value: 0x1308, lo: 0xb4, hi: 0xb9}, - {value: 0x1b08, lo: 0xba, hi: 0xba}, + {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 0x18, offset 0x103 + // Block 0x16, offset 0xe4 {value: 0x0000, lo: 0x06}, {value: 0x0008, lo: 0x80, hi: 0x86}, - {value: 0x1308, lo: 0x87, hi: 0x8e}, + {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 0x19, offset 0x10a + // 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: 0x1308, lo: 0x88, hi: 0x8d}, + {value: 0x3308, lo: 0x88, hi: 0x8d}, {value: 0x0040, lo: 0x8e, hi: 0x8f}, {value: 0x0008, lo: 0x90, hi: 0x99}, {value: 0x0040, lo: 0x9a, hi: 0x9b}, @@ -2645,76 +2645,76 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0999, lo: 0x9d, hi: 0x9d}, {value: 0x0008, lo: 0x9e, hi: 0x9f}, {value: 0x0040, lo: 0xa0, hi: 0xbf}, - // Block 0x1a, offset 0x117 + // 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: 0x1308, lo: 0x98, hi: 0x99}, + {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: 0x1308, lo: 0xb5, hi: 0xb5}, + {value: 0x3308, lo: 0xb5, hi: 0xb5}, {value: 0x0018, lo: 0xb6, hi: 0xb6}, - {value: 0x1308, lo: 0xb7, hi: 0xb7}, + {value: 0x3308, lo: 0xb7, hi: 0xb7}, {value: 0x0018, lo: 0xb8, hi: 0xb8}, - {value: 0x1308, lo: 0xb9, hi: 0xb9}, + {value: 0x3308, lo: 0xb9, hi: 0xb9}, {value: 0x0018, lo: 0xba, hi: 0xbd}, - {value: 0x1008, lo: 0xbe, hi: 0xbf}, - // Block 0x1b, offset 0x128 + {value: 0x3008, lo: 0xbe, hi: 0xbf}, + // Block 0x19, offset 0x109 {value: 0x0000, lo: 0x06}, {value: 0x0018, lo: 0x80, hi: 0x85}, - {value: 0x1308, lo: 0x86, hi: 0x86}, + {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 0x1c, offset 0x12f + // Block 0x1a, offset 0x110 {value: 0x0000, lo: 0x0a}, {value: 0x0008, lo: 0x80, hi: 0xaa}, - {value: 0x1008, lo: 0xab, hi: 0xac}, - {value: 0x1308, lo: 0xad, hi: 0xb0}, - {value: 0x1008, lo: 0xb1, hi: 0xb1}, - {value: 0x1308, lo: 0xb2, hi: 0xb7}, - {value: 0x1008, lo: 0xb8, hi: 0xb8}, - {value: 0x1b08, lo: 0xb9, hi: 0xba}, - {value: 0x1008, lo: 0xbb, hi: 0xbc}, - {value: 0x1308, lo: 0xbd, hi: 0xbe}, + {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 0x1d, offset 0x13a + // 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: 0x1008, lo: 0x96, hi: 0x97}, - {value: 0x1308, lo: 0x98, hi: 0x99}, + {value: 0x3008, lo: 0x96, hi: 0x97}, + {value: 0x3308, lo: 0x98, hi: 0x99}, {value: 0x0008, lo: 0x9a, hi: 0x9d}, - {value: 0x1308, lo: 0x9e, hi: 0xa0}, + {value: 0x3308, lo: 0x9e, hi: 0xa0}, {value: 0x0008, lo: 0xa1, hi: 0xa1}, - {value: 0x1008, lo: 0xa2, hi: 0xa4}, + {value: 0x3008, lo: 0xa2, hi: 0xa4}, {value: 0x0008, lo: 0xa5, hi: 0xa6}, - {value: 0x1008, lo: 0xa7, hi: 0xad}, + {value: 0x3008, lo: 0xa7, hi: 0xad}, {value: 0x0008, lo: 0xae, hi: 0xb0}, - {value: 0x1308, lo: 0xb1, hi: 0xb4}, + {value: 0x3308, lo: 0xb1, hi: 0xb4}, {value: 0x0008, lo: 0xb5, hi: 0xbf}, - // Block 0x1e, offset 0x149 + // Block 0x1c, offset 0x12a {value: 0x0000, lo: 0x0d}, {value: 0x0008, lo: 0x80, hi: 0x81}, - {value: 0x1308, lo: 0x82, hi: 0x82}, - {value: 0x1008, lo: 0x83, hi: 0x84}, - {value: 0x1308, lo: 0x85, hi: 0x86}, - {value: 0x1008, lo: 0x87, hi: 0x8c}, - {value: 0x1308, lo: 0x8d, hi: 0x8d}, + {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: 0x1008, lo: 0x8f, hi: 0x8f}, + {value: 0x3008, lo: 0x8f, hi: 0x8f}, {value: 0x0008, lo: 0x90, hi: 0x99}, - {value: 0x1008, lo: 0x9a, hi: 0x9c}, - {value: 0x1308, lo: 0x9d, hi: 0x9d}, + {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 0x1f, offset 0x157 + // Block 0x1d, offset 0x138 {value: 0x0000, lo: 0x09}, {value: 0x0040, lo: 0x80, hi: 0x86}, {value: 0x055d, lo: 0x87, hi: 0x87}, @@ -2725,18 +2725,27 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0018, lo: 0xbb, hi: 0xbb}, {value: 0xe105, lo: 0xbc, hi: 0xbc}, {value: 0x0008, lo: 0xbd, hi: 0xbf}, - // Block 0x20, offset 0x161 + // Block 0x1e, offset 0x142 {value: 0x0000, lo: 0x01}, {value: 0x0018, lo: 0x80, hi: 0xbf}, - // Block 0x21, offset 0x163 - {value: 0x0000, lo: 0x03}, + // Block 0x1f, offset 0x144 + {value: 0x0000, lo: 0x04}, {value: 0x0018, lo: 0x80, hi: 0x9e}, {value: 0x0040, lo: 0x9f, hi: 0xa0}, - {value: 0x0018, lo: 0xa1, hi: 0xbf}, - // Block 0x22, offset 0x167 + {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 0x169 + // Block 0x23, offset 0x151 {value: 0x0000, lo: 0x0b}, {value: 0x0008, lo: 0x80, hi: 0x88}, {value: 0x0040, lo: 0x89, hi: 0x89}, @@ -2749,7 +2758,7 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0008, lo: 0x9a, hi: 0x9d}, {value: 0x0040, lo: 0x9e, hi: 0x9f}, {value: 0x0008, lo: 0xa0, hi: 0xbf}, - // Block 0x24, offset 0x175 + // Block 0x24, offset 0x15d {value: 0x0000, lo: 0x0a}, {value: 0x0008, lo: 0x80, hi: 0x88}, {value: 0x0040, lo: 0x89, hi: 0x89}, @@ -2761,7 +2770,7 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0040, lo: 0xb6, hi: 0xb7}, {value: 0x0008, lo: 0xb8, hi: 0xbe}, {value: 0x0040, lo: 0xbf, hi: 0xbf}, - // Block 0x25, offset 0x180 + // Block 0x25, offset 0x168 {value: 0x0000, lo: 0x07}, {value: 0x0008, lo: 0x80, hi: 0x80}, {value: 0x0040, lo: 0x81, hi: 0x81}, @@ -2770,146 +2779,146 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0008, lo: 0x88, hi: 0x96}, {value: 0x0040, lo: 0x97, hi: 0x97}, {value: 0x0008, lo: 0x98, hi: 0xbf}, - // Block 0x26, offset 0x188 + // 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 0x18e + // Block 0x27, offset 0x176 {value: 0x0000, lo: 0x05}, {value: 0x0008, lo: 0x80, hi: 0x9a}, {value: 0x0040, lo: 0x9b, hi: 0x9c}, - {value: 0x1308, lo: 0x9d, hi: 0x9f}, + {value: 0x3308, lo: 0x9d, hi: 0x9f}, {value: 0x0018, lo: 0xa0, hi: 0xbc}, {value: 0x0040, lo: 0xbd, hi: 0xbf}, - // Block 0x28, offset 0x194 + // 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 0x199 + // 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 0x19e + // Block 0x2a, offset 0x186 {value: 0x0000, lo: 0x02}, {value: 0x0018, lo: 0x80, hi: 0x80}, {value: 0x0008, lo: 0x81, hi: 0xbf}, - // Block 0x2b, offset 0x1a1 + // 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 0x1a5 + // 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 0x1ab + // 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 0x1b0 + // 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: 0x1308, lo: 0x92, hi: 0x93}, - {value: 0x1b08, lo: 0x94, hi: 0x94}, + {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: 0x1308, lo: 0xb2, hi: 0xb3}, - {value: 0x1b08, lo: 0xb4, hi: 0xb4}, + {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 0x1bc + // Block 0x2f, offset 0x1a4 {value: 0x0000, lo: 0x09}, {value: 0x0008, lo: 0x80, hi: 0x91}, - {value: 0x1308, lo: 0x92, hi: 0x93}, + {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: 0x1308, lo: 0xb2, hi: 0xb3}, + {value: 0x3308, lo: 0xb2, hi: 0xb3}, {value: 0x0040, lo: 0xb4, hi: 0xbf}, - // Block 0x30, offset 0x1c6 + // Block 0x30, offset 0x1ae {value: 0x0000, lo: 0x05}, {value: 0x0008, lo: 0x80, hi: 0xb3}, - {value: 0x1340, lo: 0xb4, hi: 0xb5}, - {value: 0x1008, lo: 0xb6, hi: 0xb6}, - {value: 0x1308, lo: 0xb7, hi: 0xbd}, - {value: 0x1008, lo: 0xbe, hi: 0xbf}, - // Block 0x31, offset 0x1cc + {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: 0x1008, lo: 0x80, hi: 0x85}, - {value: 0x1308, lo: 0x86, hi: 0x86}, - {value: 0x1008, lo: 0x87, hi: 0x88}, - {value: 0x1308, lo: 0x89, hi: 0x91}, - {value: 0x1b08, lo: 0x92, hi: 0x92}, - {value: 0x1308, lo: 0x93, hi: 0x93}, + {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: 0x1308, lo: 0x9d, hi: 0x9d}, + {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 0x1dd + // 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: 0x13c0, lo: 0x8b, hi: 0x8d}, + {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 0x1e7 + // Block 0x33, offset 0x1cf {value: 0x0000, lo: 0x02}, {value: 0x0208, lo: 0x80, hi: 0xb7}, {value: 0x0040, lo: 0xb8, hi: 0xbf}, - // Block 0x34, offset 0x1ea + // Block 0x34, offset 0x1d2 {value: 0x0000, lo: 0x07}, {value: 0x0008, lo: 0x80, hi: 0x84}, - {value: 0x1308, lo: 0x85, hi: 0x86}, + {value: 0x3308, lo: 0x85, hi: 0x86}, {value: 0x0208, lo: 0x87, hi: 0xa8}, - {value: 0x1308, lo: 0xa9, hi: 0xa9}, + {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 0x1f2 + // Block 0x35, offset 0x1da {value: 0x0000, lo: 0x02}, {value: 0x0008, lo: 0x80, hi: 0xb5}, {value: 0x0040, lo: 0xb6, hi: 0xbf}, - // Block 0x36, offset 0x1f5 + // Block 0x36, offset 0x1dd {value: 0x0000, lo: 0x0c}, {value: 0x0008, lo: 0x80, hi: 0x9e}, {value: 0x0040, lo: 0x9f, hi: 0x9f}, - {value: 0x1308, lo: 0xa0, hi: 0xa2}, - {value: 0x1008, lo: 0xa3, hi: 0xa6}, - {value: 0x1308, lo: 0xa7, hi: 0xa8}, - {value: 0x1008, lo: 0xa9, hi: 0xab}, + {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: 0x1008, lo: 0xb0, hi: 0xb1}, - {value: 0x1308, lo: 0xb2, hi: 0xb2}, - {value: 0x1008, lo: 0xb3, hi: 0xb8}, - {value: 0x1308, lo: 0xb9, hi: 0xbb}, + {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 0x202 + // Block 0x37, offset 0x1ea {value: 0x0000, lo: 0x07}, {value: 0x0018, lo: 0x80, hi: 0x80}, {value: 0x0040, lo: 0x81, hi: 0x83}, @@ -2918,12 +2927,12 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0040, lo: 0xae, hi: 0xaf}, {value: 0x0008, lo: 0xb0, hi: 0xb4}, {value: 0x0040, lo: 0xb5, hi: 0xbf}, - // Block 0x38, offset 0x20a + // 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 0x20e + // Block 0x39, offset 0x1f6 {value: 0x0000, lo: 0x06}, {value: 0x0008, lo: 0x80, hi: 0x89}, {value: 0x0040, lo: 0x8a, hi: 0x8f}, @@ -2931,33 +2940,33 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0028, lo: 0x9a, hi: 0x9a}, {value: 0x0040, lo: 0x9b, hi: 0x9d}, {value: 0x0018, lo: 0x9e, hi: 0xbf}, - // Block 0x3a, offset 0x215 + // Block 0x3a, offset 0x1fd {value: 0x0000, lo: 0x07}, {value: 0x0008, lo: 0x80, hi: 0x96}, - {value: 0x1308, lo: 0x97, hi: 0x98}, - {value: 0x1008, lo: 0x99, hi: 0x9a}, - {value: 0x1308, lo: 0x9b, hi: 0x9b}, + {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 0x21d + // Block 0x3b, offset 0x205 {value: 0x0000, lo: 0x0f}, {value: 0x0008, lo: 0x80, hi: 0x94}, - {value: 0x1008, lo: 0x95, hi: 0x95}, - {value: 0x1308, lo: 0x96, hi: 0x96}, - {value: 0x1008, lo: 0x97, hi: 0x97}, - {value: 0x1308, lo: 0x98, hi: 0x9e}, + {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: 0x1b08, lo: 0xa0, hi: 0xa0}, - {value: 0x1008, lo: 0xa1, hi: 0xa1}, - {value: 0x1308, lo: 0xa2, hi: 0xa2}, - {value: 0x1008, lo: 0xa3, hi: 0xa4}, - {value: 0x1308, lo: 0xa5, hi: 0xac}, - {value: 0x1008, lo: 0xad, hi: 0xb2}, - {value: 0x1308, lo: 0xb3, hi: 0xbc}, + {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: 0x1308, lo: 0xbf, hi: 0xbf}, - // Block 0x3c, offset 0x22d + {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}, @@ -2967,78 +2976,78 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0008, lo: 0xa7, hi: 0xa7}, {value: 0x0018, lo: 0xa8, hi: 0xad}, {value: 0x0040, lo: 0xae, hi: 0xaf}, - {value: 0x1308, lo: 0xb0, hi: 0xbd}, - {value: 0x1318, lo: 0xbe, hi: 0xbe}, + {value: 0x3308, lo: 0xb0, hi: 0xbd}, + {value: 0x3318, lo: 0xbe, hi: 0xbe}, {value: 0x0040, lo: 0xbf, hi: 0xbf}, - // Block 0x3d, offset 0x239 + // Block 0x3d, offset 0x221 {value: 0x0000, lo: 0x01}, {value: 0x0040, lo: 0x80, hi: 0xbf}, - // Block 0x3e, offset 0x23b + // Block 0x3e, offset 0x223 {value: 0x0000, lo: 0x09}, - {value: 0x1308, lo: 0x80, hi: 0x83}, - {value: 0x1008, lo: 0x84, hi: 0x84}, + {value: 0x3308, lo: 0x80, hi: 0x83}, + {value: 0x3008, lo: 0x84, hi: 0x84}, {value: 0x0008, lo: 0x85, hi: 0xb3}, - {value: 0x1308, lo: 0xb4, hi: 0xb4}, - {value: 0x1008, lo: 0xb5, hi: 0xb5}, - {value: 0x1308, lo: 0xb6, hi: 0xba}, - {value: 0x1008, lo: 0xbb, hi: 0xbb}, - {value: 0x1308, lo: 0xbc, hi: 0xbc}, - {value: 0x1008, lo: 0xbd, hi: 0xbf}, - // Block 0x3f, offset 0x245 + {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: 0x1008, lo: 0x80, hi: 0x81}, - {value: 0x1308, lo: 0x82, hi: 0x82}, - {value: 0x1008, lo: 0x83, hi: 0x83}, - {value: 0x1808, lo: 0x84, hi: 0x84}, + {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: 0x1308, lo: 0xab, hi: 0xb3}, + {value: 0x3308, lo: 0xab, hi: 0xb3}, {value: 0x0018, lo: 0xb4, hi: 0xbc}, {value: 0x0040, lo: 0xbd, hi: 0xbf}, - // Block 0x40, offset 0x251 + // Block 0x40, offset 0x239 {value: 0x0000, lo: 0x0b}, - {value: 0x1308, lo: 0x80, hi: 0x81}, - {value: 0x1008, lo: 0x82, hi: 0x82}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, {value: 0x0008, lo: 0x83, hi: 0xa0}, - {value: 0x1008, lo: 0xa1, hi: 0xa1}, - {value: 0x1308, lo: 0xa2, hi: 0xa5}, - {value: 0x1008, lo: 0xa6, hi: 0xa7}, - {value: 0x1308, lo: 0xa8, hi: 0xa9}, - {value: 0x1808, lo: 0xaa, hi: 0xaa}, - {value: 0x1b08, lo: 0xab, hi: 0xab}, - {value: 0x1308, lo: 0xac, hi: 0xad}, + {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 0x25d + // Block 0x41, offset 0x245 {value: 0x0000, lo: 0x0b}, {value: 0x0008, lo: 0x80, hi: 0xa5}, - {value: 0x1308, lo: 0xa6, hi: 0xa6}, - {value: 0x1008, lo: 0xa7, hi: 0xa7}, - {value: 0x1308, lo: 0xa8, hi: 0xa9}, - {value: 0x1008, lo: 0xaa, hi: 0xac}, - {value: 0x1308, lo: 0xad, hi: 0xad}, - {value: 0x1008, lo: 0xae, hi: 0xae}, - {value: 0x1308, lo: 0xaf, hi: 0xb1}, - {value: 0x1808, lo: 0xb2, hi: 0xb3}, + {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 0x269 + // Block 0x42, offset 0x251 {value: 0x0000, lo: 0x07}, {value: 0x0008, lo: 0x80, hi: 0xa3}, - {value: 0x1008, lo: 0xa4, hi: 0xab}, - {value: 0x1308, lo: 0xac, hi: 0xb3}, - {value: 0x1008, lo: 0xb4, hi: 0xb5}, - {value: 0x1308, lo: 0xb6, hi: 0xb7}, + {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 0x271 + // 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 0x276 + // Block 0x44, offset 0x25e {value: 0x0000, lo: 0x09}, {value: 0x0e29, lo: 0x80, hi: 0x80}, {value: 0x0e41, lo: 0x81, hi: 0x81}, @@ -3049,30 +3058,30 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0eb9, lo: 0x87, hi: 0x87}, {value: 0x057d, lo: 0x88, hi: 0x88}, {value: 0x0040, lo: 0x89, hi: 0xbf}, - // Block 0x45, offset 0x280 + // Block 0x45, offset 0x268 {value: 0x0000, lo: 0x10}, {value: 0x0018, lo: 0x80, hi: 0x87}, {value: 0x0040, lo: 0x88, hi: 0x8f}, - {value: 0x1308, lo: 0x90, hi: 0x92}, + {value: 0x3308, lo: 0x90, hi: 0x92}, {value: 0x0018, lo: 0x93, hi: 0x93}, - {value: 0x1308, lo: 0x94, hi: 0xa0}, - {value: 0x1008, lo: 0xa1, hi: 0xa1}, - {value: 0x1308, lo: 0xa2, hi: 0xa8}, + {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: 0x1308, lo: 0xad, hi: 0xad}, + {value: 0x3308, lo: 0xad, hi: 0xad}, {value: 0x0008, lo: 0xae, hi: 0xb1}, - {value: 0x1008, lo: 0xb2, hi: 0xb3}, - {value: 0x1308, lo: 0xb4, hi: 0xb4}, + {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: 0x1308, lo: 0xb8, hi: 0xb9}, + {value: 0x3008, lo: 0xb7, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xb9}, {value: 0x0040, lo: 0xba, hi: 0xbf}, - // Block 0x46, offset 0x291 + // Block 0x46, offset 0x279 {value: 0x0000, lo: 0x03}, - {value: 0x1308, lo: 0x80, hi: 0xb5}, - {value: 0x0040, lo: 0xb6, hi: 0xba}, - {value: 0x1308, lo: 0xbb, hi: 0xbf}, - // Block 0x47, offset 0x295 + {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}, @@ -3084,12 +3093,12 @@ var idnaSparseValues = [1876]valueRange{ {value: 0xe045, lo: 0xa8, hi: 0xaf}, {value: 0x0008, lo: 0xb0, hi: 0xb7}, {value: 0xe045, lo: 0xb8, hi: 0xbf}, - // Block 0x48, offset 0x2a0 + // Block 0x48, offset 0x288 {value: 0x0000, lo: 0x03}, {value: 0x0040, lo: 0x80, hi: 0x8f}, - {value: 0x1318, lo: 0x90, hi: 0xb0}, + {value: 0x3318, lo: 0x90, hi: 0xb0}, {value: 0x0040, lo: 0xb1, hi: 0xbf}, - // Block 0x49, offset 0x2a4 + // Block 0x49, offset 0x28c {value: 0x0000, lo: 0x08}, {value: 0x0018, lo: 0x80, hi: 0x82}, {value: 0x0040, lo: 0x83, hi: 0x83}, @@ -3099,7 +3108,7 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0018, lo: 0x8a, hi: 0x8b}, {value: 0x0040, lo: 0x8c, hi: 0x8f}, {value: 0x0018, lo: 0x90, hi: 0xbf}, - // Block 0x4a, offset 0x2ad + // Block 0x4a, offset 0x295 {value: 0x0000, lo: 0x07}, {value: 0x0018, lo: 0x80, hi: 0xab}, {value: 0x24f1, lo: 0xac, hi: 0xac}, @@ -3108,72 +3117,68 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x2579, lo: 0xaf, hi: 0xaf}, {value: 0x25b1, lo: 0xb0, hi: 0xb0}, {value: 0x0018, lo: 0xb1, hi: 0xbf}, - // Block 0x4b, offset 0x2b5 + // 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 0x2bb + // 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 0x2c0 - {value: 0x0000, lo: 0x02}, - {value: 0x0018, lo: 0x80, hi: 0xbe}, - {value: 0x0040, lo: 0xbf, hi: 0xbf}, - // Block 0x4e, offset 0x2c3 + // Block 0x4d, offset 0x2a8 {value: 0x0000, lo: 0x02}, {value: 0x0018, lo: 0x80, hi: 0xa6}, {value: 0x0040, lo: 0xa7, hi: 0xbf}, - // Block 0x4f, offset 0x2c6 + // 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 0x50, offset 0x2ca + // 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 0x51, offset 0x2d0 + // 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 0x52, offset 0x2d4 + // 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 0x53, offset 0x2d8 + // 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 0x54, offset 0x2de + // 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: 0x91}, - {value: 0x0040, lo: 0x92, hi: 0xab}, + {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 0x55, offset 0x2e5 + // 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 0x56, offset 0x2eb + // Block 0x55, offset 0x2d0 {value: 0x0000, lo: 0x07}, {value: 0x0008, lo: 0x80, hi: 0xa5}, {value: 0x0040, lo: 0xa6, hi: 0xa6}, @@ -3182,15 +3187,15 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0008, lo: 0xad, hi: 0xad}, {value: 0x0040, lo: 0xae, hi: 0xaf}, {value: 0x0008, lo: 0xb0, hi: 0xbf}, - // Block 0x57, offset 0x2f3 + // 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: 0x1b08, lo: 0xbf, hi: 0xbf}, - // Block 0x58, offset 0x2fa + {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}, @@ -3202,7 +3207,7 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0040, lo: 0xb7, hi: 0xb7}, {value: 0x0008, lo: 0xb8, hi: 0xbe}, {value: 0x0040, lo: 0xbf, hi: 0xbf}, - // Block 0x59, offset 0x305 + // Block 0x58, offset 0x2ea {value: 0x0000, lo: 0x09}, {value: 0x0008, lo: 0x80, hi: 0x86}, {value: 0x0040, lo: 0x87, hi: 0x87}, @@ -3212,62 +3217,62 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0040, lo: 0x97, hi: 0x97}, {value: 0x0008, lo: 0x98, hi: 0x9e}, {value: 0x0040, lo: 0x9f, hi: 0x9f}, - {value: 0x1308, lo: 0xa0, hi: 0xbf}, - // Block 0x5a, offset 0x30f + {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 0x5b, offset 0x313 + // Block 0x5a, offset 0x2f8 {value: 0x0000, lo: 0x02}, - {value: 0x0018, lo: 0x80, hi: 0x84}, - {value: 0x0040, lo: 0x85, hi: 0xbf}, - // Block 0x5c, offset 0x316 + {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 0x5d, offset 0x31c + // 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 0x5e, offset 0x320 + // Block 0x5d, offset 0x305 {value: 0x0020, lo: 0x01}, {value: 0x0f1d, lo: 0x80, hi: 0xbf}, - // Block 0x5f, offset 0x322 + // Block 0x5e, offset 0x307 {value: 0x0020, lo: 0x02}, {value: 0x171d, lo: 0x80, hi: 0x8f}, {value: 0x18fd, lo: 0x90, hi: 0xbf}, - // Block 0x60, offset 0x325 + // Block 0x5f, offset 0x30a {value: 0x0020, lo: 0x01}, {value: 0x1efd, lo: 0x80, hi: 0xbf}, - // Block 0x61, offset 0x327 + // Block 0x60, offset 0x30c {value: 0x0000, lo: 0x02}, {value: 0x0040, lo: 0x80, hi: 0x80}, {value: 0x0008, lo: 0x81, hi: 0xbf}, - // Block 0x62, offset 0x32a + // Block 0x61, offset 0x30f {value: 0x0000, lo: 0x09}, {value: 0x0008, lo: 0x80, hi: 0x96}, {value: 0x0040, lo: 0x97, hi: 0x98}, - {value: 0x1308, lo: 0x99, hi: 0x9a}, + {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 0x63, offset 0x334 + // Block 0x62, offset 0x319 {value: 0x0000, lo: 0x02}, {value: 0x0008, lo: 0x80, hi: 0xbe}, {value: 0x2a69, lo: 0xbf, hi: 0xbf}, - // Block 0x64, offset 0x337 + // Block 0x63, offset 0x31c {value: 0x0000, lo: 0x0e}, {value: 0x0040, lo: 0x80, hi: 0x84}, - {value: 0x0008, lo: 0x85, hi: 0xad}, - {value: 0x0040, lo: 0xae, hi: 0xb0}, + {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}, @@ -3279,150 +3284,150 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x2afd, lo: 0xba, hi: 0xbb}, {value: 0x2b1d, lo: 0xbc, hi: 0xbd}, {value: 0x2afd, lo: 0xbe, hi: 0xbf}, - // Block 0x65, offset 0x346 + // 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 0x66, offset 0x34a + // 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 0x67, offset 0x34f + // Block 0x66, offset 0x334 {value: 0x0000, lo: 0x02}, - {value: 0x0008, lo: 0x80, hi: 0x95}, - {value: 0x0040, lo: 0x96, hi: 0xbf}, - // Block 0x68, offset 0x352 + {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 0x69, offset 0x356 + // 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 0x6a, offset 0x35b + // 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 0x6b, offset 0x360 + // Block 0x6a, offset 0x345 {value: 0x0000, lo: 0x05}, {value: 0x0008, lo: 0x80, hi: 0xa5}, {value: 0x0018, lo: 0xa6, hi: 0xaf}, - {value: 0x1308, lo: 0xb0, hi: 0xb1}, + {value: 0x3308, lo: 0xb0, hi: 0xb1}, {value: 0x0018, lo: 0xb2, hi: 0xb7}, {value: 0x0040, lo: 0xb8, hi: 0xbf}, - // Block 0x6c, offset 0x366 + // 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 0x6d, offset 0x36c + // Block 0x6c, offset 0x351 {value: 0x0000, lo: 0x0e}, {value: 0x0008, lo: 0x80, hi: 0x81}, - {value: 0x1308, lo: 0x82, hi: 0x82}, + {value: 0x3308, lo: 0x82, hi: 0x82}, {value: 0x0008, lo: 0x83, hi: 0x85}, - {value: 0x1b08, lo: 0x86, hi: 0x86}, + {value: 0x3b08, lo: 0x86, hi: 0x86}, {value: 0x0008, lo: 0x87, hi: 0x8a}, - {value: 0x1308, lo: 0x8b, hi: 0x8b}, + {value: 0x3308, lo: 0x8b, hi: 0x8b}, {value: 0x0008, lo: 0x8c, hi: 0xa2}, - {value: 0x1008, lo: 0xa3, hi: 0xa4}, - {value: 0x1308, lo: 0xa5, hi: 0xa6}, - {value: 0x1008, lo: 0xa7, hi: 0xa7}, + {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 0x6e, offset 0x37b + // 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 0x6f, offset 0x381 + // Block 0x6e, offset 0x366 {value: 0x0000, lo: 0x03}, - {value: 0x1008, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x80, hi: 0x81}, {value: 0x0008, lo: 0x82, hi: 0xb3}, - {value: 0x1008, lo: 0xb4, hi: 0xbf}, - // Block 0x70, offset 0x385 + {value: 0x3008, lo: 0xb4, hi: 0xbf}, + // Block 0x6f, offset 0x36a {value: 0x0000, lo: 0x0e}, - {value: 0x1008, lo: 0x80, hi: 0x83}, - {value: 0x1b08, lo: 0x84, hi: 0x84}, - {value: 0x1308, lo: 0x85, hi: 0x85}, + {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: 0x1308, lo: 0xa0, hi: 0xb1}, + {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 0x71, offset 0x394 + // Block 0x70, offset 0x379 {value: 0x0000, lo: 0x04}, {value: 0x0008, lo: 0x80, hi: 0xa5}, - {value: 0x1308, lo: 0xa6, hi: 0xad}, + {value: 0x3308, lo: 0xa6, hi: 0xad}, {value: 0x0018, lo: 0xae, hi: 0xaf}, {value: 0x0008, lo: 0xb0, hi: 0xbf}, - // Block 0x72, offset 0x399 + // Block 0x71, offset 0x37e {value: 0x0000, lo: 0x07}, {value: 0x0008, lo: 0x80, hi: 0x86}, - {value: 0x1308, lo: 0x87, hi: 0x91}, - {value: 0x1008, lo: 0x92, hi: 0x92}, - {value: 0x1808, lo: 0x93, hi: 0x93}, + {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 0x3a1 + // Block 0x72, offset 0x386 {value: 0x0000, lo: 0x09}, - {value: 0x1308, lo: 0x80, hi: 0x82}, - {value: 0x1008, lo: 0x83, hi: 0x83}, + {value: 0x3308, lo: 0x80, hi: 0x82}, + {value: 0x3008, lo: 0x83, hi: 0x83}, {value: 0x0008, lo: 0x84, hi: 0xb2}, - {value: 0x1308, lo: 0xb3, hi: 0xb3}, - {value: 0x1008, lo: 0xb4, hi: 0xb5}, - {value: 0x1308, lo: 0xb6, hi: 0xb9}, - {value: 0x1008, lo: 0xba, hi: 0xbb}, - {value: 0x1308, lo: 0xbc, hi: 0xbc}, - {value: 0x1008, lo: 0xbd, hi: 0xbf}, - // Block 0x74, offset 0x3ab + {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: 0x1808, lo: 0x80, hi: 0x80}, + {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: 0x1308, lo: 0xa5, hi: 0xa5}, + {value: 0x3308, lo: 0xa5, hi: 0xa5}, {value: 0x0008, lo: 0xa6, hi: 0xbe}, {value: 0x0040, lo: 0xbf, hi: 0xbf}, - // Block 0x75, offset 0x3b6 + // Block 0x74, offset 0x39b {value: 0x0000, lo: 0x07}, {value: 0x0008, lo: 0x80, hi: 0xa8}, - {value: 0x1308, lo: 0xa9, hi: 0xae}, - {value: 0x1008, lo: 0xaf, hi: 0xb0}, - {value: 0x1308, lo: 0xb1, hi: 0xb2}, - {value: 0x1008, lo: 0xb3, hi: 0xb4}, - {value: 0x1308, lo: 0xb5, hi: 0xb6}, + {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 0x3be + // Block 0x75, offset 0x3a3 {value: 0x0000, lo: 0x10}, {value: 0x0008, lo: 0x80, hi: 0x82}, - {value: 0x1308, lo: 0x83, hi: 0x83}, + {value: 0x3308, lo: 0x83, hi: 0x83}, {value: 0x0008, lo: 0x84, hi: 0x8b}, - {value: 0x1308, lo: 0x8c, hi: 0x8c}, - {value: 0x1008, lo: 0x8d, hi: 0x8d}, + {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}, @@ -3430,38 +3435,38 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0008, lo: 0xa0, hi: 0xb6}, {value: 0x0018, lo: 0xb7, hi: 0xb9}, {value: 0x0008, lo: 0xba, hi: 0xba}, - {value: 0x1008, lo: 0xbb, hi: 0xbb}, - {value: 0x1308, lo: 0xbc, hi: 0xbc}, - {value: 0x1008, lo: 0xbd, hi: 0xbd}, + {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 0x3cf + // Block 0x76, offset 0x3b4 {value: 0x0000, lo: 0x08}, {value: 0x0008, lo: 0x80, hi: 0xaf}, - {value: 0x1308, lo: 0xb0, hi: 0xb0}, + {value: 0x3308, lo: 0xb0, hi: 0xb0}, {value: 0x0008, lo: 0xb1, hi: 0xb1}, - {value: 0x1308, lo: 0xb2, hi: 0xb4}, + {value: 0x3308, lo: 0xb2, hi: 0xb4}, {value: 0x0008, lo: 0xb5, hi: 0xb6}, - {value: 0x1308, lo: 0xb7, hi: 0xb8}, + {value: 0x3308, lo: 0xb7, hi: 0xb8}, {value: 0x0008, lo: 0xb9, hi: 0xbd}, - {value: 0x1308, lo: 0xbe, hi: 0xbf}, - // Block 0x78, offset 0x3d8 + {value: 0x3308, lo: 0xbe, hi: 0xbf}, + // Block 0x77, offset 0x3bd {value: 0x0000, lo: 0x0f}, {value: 0x0008, lo: 0x80, hi: 0x80}, - {value: 0x1308, lo: 0x81, hi: 0x81}, + {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: 0x1008, lo: 0xab, hi: 0xab}, - {value: 0x1308, lo: 0xac, hi: 0xad}, - {value: 0x1008, lo: 0xae, hi: 0xaf}, + {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: 0x1008, lo: 0xb5, hi: 0xb5}, - {value: 0x1b08, lo: 0xb6, hi: 0xb6}, + {value: 0x3008, lo: 0xb5, hi: 0xb5}, + {value: 0x3b08, lo: 0xb6, hi: 0xb6}, {value: 0x0040, lo: 0xb7, hi: 0xbf}, - // Block 0x79, offset 0x3e8 + // Block 0x78, offset 0x3cd {value: 0x0000, lo: 0x0c}, {value: 0x0040, lo: 0x80, hi: 0x80}, {value: 0x0008, lo: 0x81, hi: 0x86}, @@ -3475,7 +3480,7 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0008, lo: 0xa8, hi: 0xae}, {value: 0x0040, lo: 0xaf, hi: 0xaf}, {value: 0x0008, lo: 0xb0, hi: 0xbf}, - // Block 0x7a, offset 0x3f5 + // Block 0x79, offset 0x3da {value: 0x0000, lo: 0x09}, {value: 0x0008, lo: 0x80, hi: 0x9a}, {value: 0x0018, lo: 0x9b, hi: 0x9b}, @@ -3486,54 +3491,54 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0008, lo: 0xa0, hi: 0xa5}, {value: 0x0040, lo: 0xa6, hi: 0xaf}, {value: 0x4495, lo: 0xb0, hi: 0xbf}, - // Block 0x7b, offset 0x3ff + // 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 0x7c, offset 0x404 + // Block 0x7b, offset 0x3e9 {value: 0x0000, lo: 0x0c}, {value: 0x0008, lo: 0x80, hi: 0xa2}, - {value: 0x1008, lo: 0xa3, hi: 0xa4}, - {value: 0x1308, lo: 0xa5, hi: 0xa5}, - {value: 0x1008, lo: 0xa6, hi: 0xa7}, - {value: 0x1308, lo: 0xa8, hi: 0xa8}, - {value: 0x1008, lo: 0xa9, hi: 0xaa}, + {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: 0x1008, lo: 0xac, hi: 0xac}, - {value: 0x1b08, lo: 0xad, hi: 0xad}, + {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 0x411 + // 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 0x7e, offset 0x415 + // 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 0x7f, offset 0x41a + // Block 0x7e, offset 0x3ff {value: 0x0020, lo: 0x01}, {value: 0x4515, lo: 0x80, hi: 0xbf}, - // Block 0x80, offset 0x41c + // 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 0x81, offset 0x420 + // Block 0x80, offset 0x405 {value: 0x0020, lo: 0x01}, {value: 0x54f5, lo: 0x80, hi: 0xbf}, - // Block 0x82, offset 0x422 + // 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 0x83, offset 0x426 + // Block 0x82, offset 0x40b {value: 0x0020, lo: 0x08}, {value: 0x6b55, lo: 0x80, hi: 0x8f}, {value: 0x6d15, lo: 0x90, hi: 0x90}, @@ -3543,19 +3548,19 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0040, lo: 0xae, hi: 0xae}, {value: 0x0040, lo: 0xaf, hi: 0xaf}, {value: 0x70d5, lo: 0xb0, hi: 0xbf}, - // Block 0x84, offset 0x42f + // 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 0x85, offset 0x435 + // 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 0x86, offset 0x439 + // Block 0x85, offset 0x41e {value: 0x0038, lo: 0x0f}, {value: 0x9db1, lo: 0x80, hi: 0x83}, {value: 0x9e59, lo: 0x84, hi: 0x85}, @@ -3572,7 +3577,7 @@ var idnaSparseValues = [1876]valueRange{ {value: 0xa869, lo: 0xbc, hi: 0xbc}, {value: 0xa7f9, lo: 0xbd, hi: 0xbd}, {value: 0xa8d9, lo: 0xbe, hi: 0xbf}, - // Block 0x87, offset 0x449 + // Block 0x86, offset 0x42e {value: 0x0000, lo: 0x09}, {value: 0x0008, lo: 0x80, hi: 0x8b}, {value: 0x0040, lo: 0x8c, hi: 0x8c}, @@ -3583,24 +3588,24 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0008, lo: 0xbc, hi: 0xbd}, {value: 0x0040, lo: 0xbe, hi: 0xbe}, {value: 0x0008, lo: 0xbf, hi: 0xbf}, - // Block 0x88, offset 0x453 + // 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 0x89, offset 0x458 + // Block 0x88, offset 0x43d {value: 0x0000, lo: 0x02}, {value: 0x0008, lo: 0x80, hi: 0xba}, {value: 0x0040, lo: 0xbb, hi: 0xbf}, - // Block 0x8a, offset 0x45b + // 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 0x8b, offset 0x461 + // Block 0x8a, offset 0x446 {value: 0x0000, lo: 0x06}, {value: 0x0018, lo: 0x80, hi: 0x8e}, {value: 0x0040, lo: 0x8f, hi: 0x8f}, @@ -3608,31 +3613,31 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0040, lo: 0x9c, hi: 0x9f}, {value: 0x0018, lo: 0xa0, hi: 0xa0}, {value: 0x0040, lo: 0xa1, hi: 0xbf}, - // Block 0x8c, offset 0x468 + // Block 0x8b, offset 0x44d {value: 0x0000, lo: 0x04}, {value: 0x0040, lo: 0x80, hi: 0x8f}, {value: 0x0018, lo: 0x90, hi: 0xbc}, - {value: 0x1308, lo: 0xbd, hi: 0xbd}, + {value: 0x3308, lo: 0xbd, hi: 0xbd}, {value: 0x0040, lo: 0xbe, hi: 0xbf}, - // Block 0x8d, offset 0x46d + // 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 0x8e, offset 0x471 + // Block 0x8d, offset 0x456 {value: 0x0000, lo: 0x05}, {value: 0x0008, lo: 0x80, hi: 0x90}, {value: 0x0040, lo: 0x91, hi: 0x9f}, - {value: 0x1308, lo: 0xa0, hi: 0xa0}, + {value: 0x3308, lo: 0xa0, hi: 0xa0}, {value: 0x0018, lo: 0xa1, hi: 0xbb}, {value: 0x0040, lo: 0xbc, hi: 0xbf}, - // Block 0x8f, offset 0x477 + // 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: 0xaf}, - {value: 0x0008, lo: 0xb0, hi: 0xbf}, - // Block 0x90, offset 0x47c + {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}, @@ -3640,22 +3645,22 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0018, lo: 0x8a, hi: 0x8a}, {value: 0x0040, lo: 0x8b, hi: 0x8f}, {value: 0x0008, lo: 0x90, hi: 0xb5}, - {value: 0x1308, lo: 0xb6, hi: 0xba}, + {value: 0x3308, lo: 0xb6, hi: 0xba}, {value: 0x0040, lo: 0xbb, hi: 0xbf}, - // Block 0x91, offset 0x485 + // 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 0x92, offset 0x48a + // 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 0x93, offset 0x490 + // Block 0x92, offset 0x475 {value: 0x0000, lo: 0x06}, {value: 0xe145, lo: 0x80, hi: 0x87}, {value: 0xe1c5, lo: 0x88, hi: 0x8f}, @@ -3663,7 +3668,7 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x8ad5, lo: 0x98, hi: 0x9f}, {value: 0x8aed, lo: 0xa0, hi: 0xa7}, {value: 0x0008, lo: 0xa8, hi: 0xbf}, - // Block 0x94, offset 0x497 + // Block 0x93, offset 0x47c {value: 0x0000, lo: 0x06}, {value: 0x0008, lo: 0x80, hi: 0x9d}, {value: 0x0040, lo: 0x9e, hi: 0x9f}, @@ -3671,7 +3676,7 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0040, lo: 0xaa, hi: 0xaf}, {value: 0x8aed, lo: 0xb0, hi: 0xb7}, {value: 0x8ad5, lo: 0xb8, hi: 0xbf}, - // Block 0x95, offset 0x49e + // Block 0x94, offset 0x483 {value: 0x0000, lo: 0x06}, {value: 0xe145, lo: 0x80, hi: 0x87}, {value: 0xe1c5, lo: 0x88, hi: 0x8f}, @@ -3679,173 +3684,176 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0040, lo: 0x94, hi: 0x97}, {value: 0x0008, lo: 0x98, hi: 0xbb}, {value: 0x0040, lo: 0xbc, hi: 0xbf}, - // Block 0x96, offset 0x4a5 + // 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 0x97, offset 0x4a9 + // 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 0x98, offset 0x4ae + // Block 0x97, offset 0x493 {value: 0x0000, lo: 0x02}, {value: 0x0008, lo: 0x80, hi: 0xb6}, {value: 0x0040, lo: 0xb7, hi: 0xbf}, - // Block 0x99, offset 0x4b1 + // 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 0x9a, offset 0x4b6 + // Block 0x99, offset 0x49b {value: 0x0000, lo: 0x0b}, - {value: 0x0008, lo: 0x80, hi: 0x85}, + {value: 0x0808, lo: 0x80, hi: 0x85}, {value: 0x0040, lo: 0x86, hi: 0x87}, - {value: 0x0008, lo: 0x88, hi: 0x88}, + {value: 0x0808, lo: 0x88, hi: 0x88}, {value: 0x0040, lo: 0x89, hi: 0x89}, - {value: 0x0008, lo: 0x8a, hi: 0xb5}, + {value: 0x0808, lo: 0x8a, hi: 0xb5}, {value: 0x0040, lo: 0xb6, hi: 0xb6}, - {value: 0x0008, lo: 0xb7, hi: 0xb8}, + {value: 0x0808, lo: 0xb7, hi: 0xb8}, {value: 0x0040, lo: 0xb9, hi: 0xbb}, - {value: 0x0008, lo: 0xbc, hi: 0xbc}, + {value: 0x0808, lo: 0xbc, hi: 0xbc}, {value: 0x0040, lo: 0xbd, hi: 0xbe}, - {value: 0x0008, lo: 0xbf, hi: 0xbf}, - // Block 0x9b, offset 0x4c2 + {value: 0x0808, lo: 0xbf, hi: 0xbf}, + // Block 0x9a, offset 0x4a7 {value: 0x0000, lo: 0x05}, - {value: 0x0008, lo: 0x80, hi: 0x95}, + {value: 0x0808, lo: 0x80, hi: 0x95}, {value: 0x0040, lo: 0x96, hi: 0x96}, - {value: 0x0018, lo: 0x97, hi: 0x9f}, - {value: 0x0008, lo: 0xa0, hi: 0xb6}, - {value: 0x0018, lo: 0xb7, hi: 0xbf}, - // Block 0x9c, offset 0x4c8 + {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: 0x0008, lo: 0x80, hi: 0x9e}, + {value: 0x0808, lo: 0x80, hi: 0x9e}, {value: 0x0040, lo: 0x9f, hi: 0xa6}, - {value: 0x0018, lo: 0xa7, hi: 0xaf}, + {value: 0x0818, lo: 0xa7, hi: 0xaf}, {value: 0x0040, lo: 0xb0, hi: 0xbf}, - // Block 0x9d, offset 0x4cd + // Block 0x9c, offset 0x4b2 {value: 0x0000, lo: 0x06}, {value: 0x0040, lo: 0x80, hi: 0x9f}, - {value: 0x0008, lo: 0xa0, hi: 0xb2}, + {value: 0x0808, lo: 0xa0, hi: 0xb2}, {value: 0x0040, lo: 0xb3, hi: 0xb3}, - {value: 0x0008, lo: 0xb4, hi: 0xb5}, + {value: 0x0808, lo: 0xb4, hi: 0xb5}, {value: 0x0040, lo: 0xb6, hi: 0xba}, - {value: 0x0018, lo: 0xbb, hi: 0xbf}, - // Block 0x9e, offset 0x4d4 + {value: 0x0818, lo: 0xbb, hi: 0xbf}, + // Block 0x9d, offset 0x4b9 {value: 0x0000, lo: 0x07}, - {value: 0x0008, lo: 0x80, hi: 0x95}, - {value: 0x0018, lo: 0x96, hi: 0x9b}, + {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: 0x0008, lo: 0xa0, hi: 0xb9}, + {value: 0x0808, lo: 0xa0, hi: 0xb9}, {value: 0x0040, lo: 0xba, hi: 0xbe}, - {value: 0x0018, lo: 0xbf, hi: 0xbf}, - // Block 0x9f, offset 0x4dc + {value: 0x0818, lo: 0xbf, hi: 0xbf}, + // Block 0x9e, offset 0x4c1 {value: 0x0000, lo: 0x04}, - {value: 0x0008, lo: 0x80, hi: 0xb7}, + {value: 0x0808, lo: 0x80, hi: 0xb7}, {value: 0x0040, lo: 0xb8, hi: 0xbb}, - {value: 0x0018, lo: 0xbc, hi: 0xbd}, - {value: 0x0008, lo: 0xbe, hi: 0xbf}, - // Block 0xa0, offset 0x4e1 + {value: 0x0818, lo: 0xbc, hi: 0xbd}, + {value: 0x0808, lo: 0xbe, hi: 0xbf}, + // Block 0x9f, offset 0x4c6 {value: 0x0000, lo: 0x03}, - {value: 0x0018, lo: 0x80, hi: 0x8f}, + {value: 0x0818, lo: 0x80, hi: 0x8f}, {value: 0x0040, lo: 0x90, hi: 0x91}, - {value: 0x0018, lo: 0x92, hi: 0xbf}, - // Block 0xa1, offset 0x4e5 + {value: 0x0818, lo: 0x92, hi: 0xbf}, + // Block 0xa0, offset 0x4ca {value: 0x0000, lo: 0x0f}, - {value: 0x0008, lo: 0x80, hi: 0x80}, - {value: 0x1308, lo: 0x81, hi: 0x83}, + {value: 0x0808, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x81, hi: 0x83}, {value: 0x0040, lo: 0x84, hi: 0x84}, - {value: 0x1308, lo: 0x85, hi: 0x86}, + {value: 0x3308, lo: 0x85, hi: 0x86}, {value: 0x0040, lo: 0x87, hi: 0x8b}, - {value: 0x1308, lo: 0x8c, hi: 0x8f}, - {value: 0x0008, lo: 0x90, hi: 0x93}, + {value: 0x3308, lo: 0x8c, hi: 0x8f}, + {value: 0x0808, lo: 0x90, hi: 0x93}, {value: 0x0040, lo: 0x94, hi: 0x94}, - {value: 0x0008, lo: 0x95, hi: 0x97}, + {value: 0x0808, lo: 0x95, hi: 0x97}, {value: 0x0040, lo: 0x98, hi: 0x98}, - {value: 0x0008, lo: 0x99, hi: 0xb3}, + {value: 0x0808, lo: 0x99, hi: 0xb3}, {value: 0x0040, lo: 0xb4, hi: 0xb7}, - {value: 0x1308, lo: 0xb8, hi: 0xba}, + {value: 0x3308, lo: 0xb8, hi: 0xba}, {value: 0x0040, lo: 0xbb, hi: 0xbe}, - {value: 0x1b08, lo: 0xbf, hi: 0xbf}, - // Block 0xa2, offset 0x4f5 + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xa1, offset 0x4da {value: 0x0000, lo: 0x06}, - {value: 0x0018, lo: 0x80, hi: 0x87}, + {value: 0x0818, lo: 0x80, hi: 0x87}, {value: 0x0040, lo: 0x88, hi: 0x8f}, - {value: 0x0018, lo: 0x90, hi: 0x98}, + {value: 0x0818, lo: 0x90, hi: 0x98}, {value: 0x0040, lo: 0x99, hi: 0x9f}, - {value: 0x0008, lo: 0xa0, hi: 0xbc}, - {value: 0x0018, lo: 0xbd, hi: 0xbf}, - // Block 0xa3, offset 0x4fc + {value: 0x0808, lo: 0xa0, hi: 0xbc}, + {value: 0x0818, lo: 0xbd, hi: 0xbf}, + // Block 0xa2, offset 0x4e1 {value: 0x0000, lo: 0x03}, - {value: 0x0008, lo: 0x80, hi: 0x9c}, - {value: 0x0018, lo: 0x9d, hi: 0x9f}, + {value: 0x0808, lo: 0x80, hi: 0x9c}, + {value: 0x0818, lo: 0x9d, hi: 0x9f}, {value: 0x0040, lo: 0xa0, hi: 0xbf}, - // Block 0xa4, offset 0x500 + // Block 0xa3, offset 0x4e5 {value: 0x0000, lo: 0x03}, - {value: 0x0008, lo: 0x80, hi: 0xb5}, + {value: 0x0808, lo: 0x80, hi: 0xb5}, {value: 0x0040, lo: 0xb6, hi: 0xb8}, {value: 0x0018, lo: 0xb9, hi: 0xbf}, - // Block 0xa5, offset 0x504 + // Block 0xa4, offset 0x4e9 {value: 0x0000, lo: 0x06}, - {value: 0x0008, lo: 0x80, hi: 0x95}, + {value: 0x0808, lo: 0x80, hi: 0x95}, {value: 0x0040, lo: 0x96, hi: 0x97}, - {value: 0x0018, lo: 0x98, hi: 0x9f}, - {value: 0x0008, lo: 0xa0, hi: 0xb2}, + {value: 0x0818, lo: 0x98, hi: 0x9f}, + {value: 0x0808, lo: 0xa0, hi: 0xb2}, {value: 0x0040, lo: 0xb3, hi: 0xb7}, - {value: 0x0018, lo: 0xb8, hi: 0xbf}, - // Block 0xa6, offset 0x50b + {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: 0x0008, lo: 0x80, hi: 0x88}, + {value: 0x0808, lo: 0x80, hi: 0x88}, {value: 0x0040, lo: 0x89, hi: 0xbf}, - // Block 0xa7, offset 0x50e + // Block 0xa7, offset 0x4f5 {value: 0x0000, lo: 0x02}, {value: 0x03dd, lo: 0x80, hi: 0xb2}, {value: 0x0040, lo: 0xb3, hi: 0xbf}, - // Block 0xa8, offset 0x511 + // Block 0xa8, offset 0x4f8 {value: 0x0000, lo: 0x03}, - {value: 0x0008, lo: 0x80, hi: 0xb2}, + {value: 0x0808, lo: 0x80, hi: 0xb2}, {value: 0x0040, lo: 0xb3, hi: 0xb9}, - {value: 0x0018, lo: 0xba, hi: 0xbf}, - // Block 0xa9, offset 0x515 + {value: 0x0818, lo: 0xba, hi: 0xbf}, + // Block 0xa9, offset 0x4fc {value: 0x0000, lo: 0x03}, {value: 0x0040, lo: 0x80, hi: 0x9f}, - {value: 0x0018, lo: 0xa0, hi: 0xbe}, + {value: 0x0818, lo: 0xa0, hi: 0xbe}, {value: 0x0040, lo: 0xbf, hi: 0xbf}, - // Block 0xaa, offset 0x519 + // Block 0xaa, offset 0x500 {value: 0x0000, lo: 0x05}, - {value: 0x1008, lo: 0x80, hi: 0x80}, - {value: 0x1308, lo: 0x81, hi: 0x81}, - {value: 0x1008, lo: 0x82, hi: 0x82}, + {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: 0x1308, lo: 0xb8, hi: 0xbf}, - // Block 0xab, offset 0x51f + {value: 0x3308, lo: 0xb8, hi: 0xbf}, + // Block 0xab, offset 0x506 {value: 0x0000, lo: 0x08}, - {value: 0x1308, lo: 0x80, hi: 0x85}, - {value: 0x1b08, lo: 0x86, hi: 0x86}, + {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: 0x1b08, lo: 0xbf, hi: 0xbf}, - // Block 0xac, offset 0x528 + {value: 0x3b08, lo: 0xbf, hi: 0xbf}, + // Block 0xac, offset 0x50f {value: 0x0000, lo: 0x0b}, - {value: 0x1308, lo: 0x80, hi: 0x81}, - {value: 0x1008, lo: 0x82, hi: 0x82}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, {value: 0x0008, lo: 0x83, hi: 0xaf}, - {value: 0x1008, lo: 0xb0, hi: 0xb2}, - {value: 0x1308, lo: 0xb3, hi: 0xb6}, - {value: 0x1008, lo: 0xb7, hi: 0xb8}, - {value: 0x1b08, lo: 0xb9, hi: 0xb9}, - {value: 0x1308, lo: 0xba, hi: 0xba}, + {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 0x534 + // Block 0xad, offset 0x51b {value: 0x0000, lo: 0x06}, {value: 0x0018, lo: 0x80, hi: 0x81}, {value: 0x0040, lo: 0x82, hi: 0x8f}, @@ -3853,39 +3861,39 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0040, lo: 0xa9, hi: 0xaf}, {value: 0x0008, lo: 0xb0, hi: 0xb9}, {value: 0x0040, lo: 0xba, hi: 0xbf}, - // Block 0xae, offset 0x53b + // Block 0xae, offset 0x522 {value: 0x0000, lo: 0x08}, - {value: 0x1308, lo: 0x80, hi: 0x82}, + {value: 0x3308, lo: 0x80, hi: 0x82}, {value: 0x0008, lo: 0x83, hi: 0xa6}, - {value: 0x1308, lo: 0xa7, hi: 0xab}, - {value: 0x1008, lo: 0xac, hi: 0xac}, - {value: 0x1308, lo: 0xad, hi: 0xb2}, - {value: 0x1b08, lo: 0xb3, hi: 0xb4}, + {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 0x544 + // 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: 0x1308, lo: 0xb3, hi: 0xb3}, + {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 0x54c + // Block 0xb0, offset 0x533 {value: 0x0000, lo: 0x06}, - {value: 0x1308, lo: 0x80, hi: 0x81}, - {value: 0x1008, lo: 0x82, hi: 0x82}, + {value: 0x3308, lo: 0x80, hi: 0x81}, + {value: 0x3008, lo: 0x82, hi: 0x82}, {value: 0x0008, lo: 0x83, hi: 0xb2}, - {value: 0x1008, lo: 0xb3, hi: 0xb5}, - {value: 0x1308, lo: 0xb6, hi: 0xbe}, - {value: 0x1008, lo: 0xbf, hi: 0xbf}, - // Block 0xb1, offset 0x553 + {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: 0x1808, lo: 0x80, hi: 0x80}, + {value: 0x3808, lo: 0x80, hi: 0x80}, {value: 0x0008, lo: 0x81, hi: 0x84}, {value: 0x0018, lo: 0x85, hi: 0x89}, - {value: 0x1308, lo: 0x8a, hi: 0x8c}, + {value: 0x3308, lo: 0x8a, hi: 0x8c}, {value: 0x0018, lo: 0x8d, hi: 0x8d}, {value: 0x0040, lo: 0x8e, hi: 0x8f}, {value: 0x0008, lo: 0x90, hi: 0x9a}, @@ -3895,21 +3903,21 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0040, lo: 0xa0, hi: 0xa0}, {value: 0x0018, lo: 0xa1, hi: 0xb4}, {value: 0x0040, lo: 0xb5, hi: 0xbf}, - // Block 0xb2, offset 0x561 + // 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: 0x1008, lo: 0xac, hi: 0xae}, - {value: 0x1308, lo: 0xaf, hi: 0xb1}, - {value: 0x1008, lo: 0xb2, hi: 0xb3}, - {value: 0x1308, lo: 0xb4, hi: 0xb4}, - {value: 0x1808, lo: 0xb5, hi: 0xb5}, - {value: 0x1308, lo: 0xb6, hi: 0xb7}, + {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: 0x1308, lo: 0xbe, hi: 0xbe}, + {value: 0x3308, lo: 0xbe, hi: 0xbe}, {value: 0x0040, lo: 0xbf, hi: 0xbf}, - // Block 0xb3, offset 0x56e + // Block 0xb3, offset 0x555 {value: 0x0000, lo: 0x0c}, {value: 0x0008, lo: 0x80, hi: 0x86}, {value: 0x0040, lo: 0x87, hi: 0x87}, @@ -3923,28 +3931,28 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0018, lo: 0xa9, hi: 0xa9}, {value: 0x0040, lo: 0xaa, hi: 0xaf}, {value: 0x0008, lo: 0xb0, hi: 0xbf}, - // Block 0xb4, offset 0x57b + // Block 0xb4, offset 0x562 {value: 0x0000, lo: 0x08}, {value: 0x0008, lo: 0x80, hi: 0x9e}, - {value: 0x1308, lo: 0x9f, hi: 0x9f}, - {value: 0x1008, lo: 0xa0, hi: 0xa2}, - {value: 0x1308, lo: 0xa3, hi: 0xa9}, - {value: 0x1b08, lo: 0xaa, hi: 0xaa}, + {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 0x584 + // Block 0xb5, offset 0x56b {value: 0x0000, lo: 0x03}, {value: 0x0008, lo: 0x80, hi: 0xb4}, - {value: 0x1008, lo: 0xb5, hi: 0xb7}, - {value: 0x1308, lo: 0xb8, hi: 0xbf}, - // Block 0xb6, offset 0x588 + {value: 0x3008, lo: 0xb5, hi: 0xb7}, + {value: 0x3308, lo: 0xb8, hi: 0xbf}, + // Block 0xb6, offset 0x56f {value: 0x0000, lo: 0x0d}, - {value: 0x1008, lo: 0x80, hi: 0x81}, - {value: 0x1b08, lo: 0x82, hi: 0x82}, - {value: 0x1308, lo: 0x83, hi: 0x84}, - {value: 0x1008, lo: 0x85, hi: 0x85}, - {value: 0x1308, lo: 0x86, hi: 0x86}, + {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}, @@ -3953,56 +3961,56 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0040, lo: 0x9c, hi: 0x9c}, {value: 0x0018, lo: 0x9d, hi: 0x9d}, {value: 0x0040, lo: 0x9e, hi: 0xbf}, - // Block 0xb7, offset 0x596 + // Block 0xb7, offset 0x57d {value: 0x0000, lo: 0x07}, {value: 0x0008, lo: 0x80, hi: 0xaf}, - {value: 0x1008, lo: 0xb0, hi: 0xb2}, - {value: 0x1308, lo: 0xb3, hi: 0xb8}, - {value: 0x1008, lo: 0xb9, hi: 0xb9}, - {value: 0x1308, lo: 0xba, hi: 0xba}, - {value: 0x1008, lo: 0xbb, hi: 0xbe}, - {value: 0x1308, lo: 0xbf, hi: 0xbf}, - // Block 0xb8, offset 0x59e + {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: 0x1308, lo: 0x80, hi: 0x80}, - {value: 0x1008, lo: 0x81, hi: 0x81}, - {value: 0x1b08, lo: 0x82, hi: 0x82}, - {value: 0x1308, lo: 0x83, hi: 0x83}, + {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 0x5a9 + // Block 0xb9, offset 0x590 {value: 0x0000, lo: 0x08}, {value: 0x0008, lo: 0x80, hi: 0xae}, - {value: 0x1008, lo: 0xaf, hi: 0xb1}, - {value: 0x1308, lo: 0xb2, hi: 0xb5}, + {value: 0x3008, lo: 0xaf, hi: 0xb1}, + {value: 0x3308, lo: 0xb2, hi: 0xb5}, {value: 0x0040, lo: 0xb6, hi: 0xb7}, - {value: 0x1008, lo: 0xb8, hi: 0xbb}, - {value: 0x1308, lo: 0xbc, hi: 0xbd}, - {value: 0x1008, lo: 0xbe, hi: 0xbe}, - {value: 0x1b08, lo: 0xbf, hi: 0xbf}, - // Block 0xba, offset 0x5b2 + {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: 0x1308, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x80, hi: 0x80}, {value: 0x0018, lo: 0x81, hi: 0x97}, {value: 0x0008, lo: 0x98, hi: 0x9b}, - {value: 0x1308, lo: 0x9c, hi: 0x9d}, + {value: 0x3308, lo: 0x9c, hi: 0x9d}, {value: 0x0040, lo: 0x9e, hi: 0xbf}, - // Block 0xbb, offset 0x5b8 + // Block 0xbb, offset 0x59f {value: 0x0000, lo: 0x07}, {value: 0x0008, lo: 0x80, hi: 0xaf}, - {value: 0x1008, lo: 0xb0, hi: 0xb2}, - {value: 0x1308, lo: 0xb3, hi: 0xba}, - {value: 0x1008, lo: 0xbb, hi: 0xbc}, - {value: 0x1308, lo: 0xbd, hi: 0xbd}, - {value: 0x1008, lo: 0xbe, hi: 0xbe}, - {value: 0x1b08, lo: 0xbf, hi: 0xbf}, - // Block 0xbc, offset 0x5c0 + {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: 0x1308, lo: 0x80, hi: 0x80}, + {value: 0x3308, lo: 0x80, hi: 0x80}, {value: 0x0018, lo: 0x81, hi: 0x83}, {value: 0x0008, lo: 0x84, hi: 0x84}, {value: 0x0040, lo: 0x85, hi: 0x8f}, @@ -4010,60 +4018,97 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0040, lo: 0x9a, hi: 0x9f}, {value: 0x0018, lo: 0xa0, hi: 0xac}, {value: 0x0040, lo: 0xad, hi: 0xbf}, - // Block 0xbd, offset 0x5c9 + // Block 0xbd, offset 0x5b0 {value: 0x0000, lo: 0x09}, {value: 0x0008, lo: 0x80, hi: 0xaa}, - {value: 0x1308, lo: 0xab, hi: 0xab}, - {value: 0x1008, lo: 0xac, hi: 0xac}, - {value: 0x1308, lo: 0xad, hi: 0xad}, - {value: 0x1008, lo: 0xae, hi: 0xaf}, - {value: 0x1308, lo: 0xb0, hi: 0xb5}, - {value: 0x1808, lo: 0xb6, hi: 0xb6}, - {value: 0x1308, lo: 0xb7, hi: 0xb7}, + {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 0x5d3 + // Block 0xbe, offset 0x5ba {value: 0x0000, lo: 0x02}, {value: 0x0008, lo: 0x80, hi: 0x89}, {value: 0x0040, lo: 0x8a, hi: 0xbf}, - // Block 0xbf, offset 0x5d6 + // Block 0xbf, offset 0x5bd {value: 0x0000, lo: 0x0b}, {value: 0x0008, lo: 0x80, hi: 0x99}, {value: 0x0040, lo: 0x9a, hi: 0x9c}, - {value: 0x1308, lo: 0x9d, hi: 0x9f}, - {value: 0x1008, lo: 0xa0, hi: 0xa1}, - {value: 0x1308, lo: 0xa2, hi: 0xa5}, - {value: 0x1008, lo: 0xa6, hi: 0xa6}, - {value: 0x1308, lo: 0xa7, hi: 0xaa}, - {value: 0x1b08, lo: 0xab, hi: 0xab}, + {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 0x5e2 + // Block 0xc0, offset 0x5c9 {value: 0x0000, lo: 0x02}, {value: 0x0040, lo: 0x80, hi: 0x9f}, {value: 0x049d, lo: 0xa0, hi: 0xbf}, - // Block 0xc1, offset 0x5e5 + // 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 0x5ea + // 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 0xc3, offset 0x5ed + // 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: 0x1008, lo: 0xaf, hi: 0xaf}, - {value: 0x1308, lo: 0xb0, hi: 0xb6}, + {value: 0x3008, lo: 0xaf, hi: 0xaf}, + {value: 0x3308, lo: 0xb0, hi: 0xb6}, {value: 0x0040, lo: 0xb7, hi: 0xb7}, - {value: 0x1308, lo: 0xb8, hi: 0xbd}, - {value: 0x1008, lo: 0xbe, hi: 0xbe}, - {value: 0x1b08, lo: 0xbf, hi: 0xbf}, - // Block 0xc4, offset 0x5f7 + {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}, @@ -4073,42 +4118,65 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0040, lo: 0xad, hi: 0xaf}, {value: 0x0018, lo: 0xb0, hi: 0xb1}, {value: 0x0008, lo: 0xb2, hi: 0xbf}, - // Block 0xc5, offset 0x600 + // Block 0xc8, offset 0x609 {value: 0x0000, lo: 0x0b}, {value: 0x0008, lo: 0x80, hi: 0x8f}, {value: 0x0040, lo: 0x90, hi: 0x91}, - {value: 0x1308, lo: 0x92, hi: 0xa7}, + {value: 0x3308, lo: 0x92, hi: 0xa7}, {value: 0x0040, lo: 0xa8, hi: 0xa8}, - {value: 0x1008, lo: 0xa9, hi: 0xa9}, - {value: 0x1308, lo: 0xaa, hi: 0xb0}, - {value: 0x1008, lo: 0xb1, hi: 0xb1}, - {value: 0x1308, lo: 0xb2, hi: 0xb3}, - {value: 0x1008, lo: 0xb4, hi: 0xb4}, - {value: 0x1308, lo: 0xb5, hi: 0xb6}, + {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 0xc6, offset 0x60c + // 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 0xc7, offset 0x60f + // 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 0xc8, offset 0x614 + // Block 0xcd, offset 0x632 {value: 0x0000, lo: 0x02}, {value: 0x0008, lo: 0x80, hi: 0x83}, {value: 0x0040, lo: 0x84, hi: 0xbf}, - // Block 0xc9, offset 0x617 + // Block 0xce, offset 0x635 {value: 0x0000, lo: 0x02}, {value: 0x0008, lo: 0x80, hi: 0xae}, {value: 0x0040, lo: 0xaf, hi: 0xbf}, - // Block 0xca, offset 0x61a + // Block 0xcf, offset 0x638 {value: 0x0000, lo: 0x02}, {value: 0x0008, lo: 0x80, hi: 0x86}, {value: 0x0040, lo: 0x87, hi: 0xbf}, - // Block 0xcb, offset 0x61d + // Block 0xd0, offset 0x63b {value: 0x0000, lo: 0x06}, {value: 0x0008, lo: 0x80, hi: 0x9e}, {value: 0x0040, lo: 0x9f, hi: 0x9f}, @@ -4116,20 +4184,20 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0040, lo: 0xaa, hi: 0xad}, {value: 0x0018, lo: 0xae, hi: 0xaf}, {value: 0x0040, lo: 0xb0, hi: 0xbf}, - // Block 0xcc, offset 0x624 + // 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: 0x1308, lo: 0xb0, hi: 0xb4}, + {value: 0x3308, lo: 0xb0, hi: 0xb4}, {value: 0x0018, lo: 0xb5, hi: 0xb5}, {value: 0x0040, lo: 0xb6, hi: 0xbf}, - // Block 0xcd, offset 0x62b + // Block 0xd2, offset 0x649 {value: 0x0000, lo: 0x03}, {value: 0x0008, lo: 0x80, hi: 0xaf}, - {value: 0x1308, lo: 0xb0, hi: 0xb6}, + {value: 0x3308, lo: 0xb0, hi: 0xb6}, {value: 0x0018, lo: 0xb7, hi: 0xbf}, - // Block 0xce, offset 0x62f + // Block 0xd3, offset 0x64d {value: 0x0000, lo: 0x0a}, {value: 0x0008, lo: 0x80, hi: 0x83}, {value: 0x0018, lo: 0x84, hi: 0x85}, @@ -4141,67 +4209,75 @@ var idnaSparseValues = [1876]valueRange{ {value: 0x0008, lo: 0xa3, hi: 0xb7}, {value: 0x0040, lo: 0xb8, hi: 0xbc}, {value: 0x0008, lo: 0xbd, hi: 0xbf}, - // Block 0xcf, offset 0x63a + // Block 0xd4, offset 0x658 {value: 0x0000, lo: 0x02}, {value: 0x0008, lo: 0x80, hi: 0x8f}, {value: 0x0040, lo: 0x90, hi: 0xbf}, - // Block 0xd0, offset 0x63d + // 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: 0x1008, lo: 0x91, hi: 0xbe}, + {value: 0x3008, lo: 0x91, hi: 0xbe}, {value: 0x0040, lo: 0xbf, hi: 0xbf}, - // Block 0xd1, offset 0x643 + // Block 0xd6, offset 0x661 {value: 0x0000, lo: 0x04}, {value: 0x0040, lo: 0x80, hi: 0x8e}, - {value: 0x1308, lo: 0x8f, hi: 0x92}, + {value: 0x3308, lo: 0x8f, hi: 0x92}, {value: 0x0008, lo: 0x93, hi: 0x9f}, {value: 0x0040, lo: 0xa0, hi: 0xbf}, - // Block 0xd2, offset 0x648 + // Block 0xd7, offset 0x666 {value: 0x0000, lo: 0x03}, {value: 0x0040, lo: 0x80, hi: 0x9f}, - {value: 0x0008, lo: 0xa0, hi: 0xa0}, - {value: 0x0040, lo: 0xa1, hi: 0xbf}, - // Block 0xd3, offset 0x64c + {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 0xd4, offset 0x64f + // Block 0xd9, offset 0x66d {value: 0x0000, lo: 0x02}, {value: 0x0008, lo: 0x80, hi: 0xb2}, {value: 0x0040, lo: 0xb3, hi: 0xbf}, - // Block 0xd5, offset 0x652 + // Block 0xda, offset 0x670 {value: 0x0000, lo: 0x02}, - {value: 0x0008, lo: 0x80, hi: 0x81}, - {value: 0x0040, lo: 0x82, hi: 0xbf}, - // Block 0xd6, offset 0x655 + {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 0xd7, offset 0x65a + // 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: 0x1308, lo: 0x9d, hi: 0x9e}, + {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 0xd8, offset 0x664 + // Block 0xdf, offset 0x688 {value: 0x0000, lo: 0x02}, {value: 0x0018, lo: 0x80, hi: 0xb5}, {value: 0x0040, lo: 0xb6, hi: 0xbf}, - // Block 0xd9, offset 0x667 + // 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 0xda, offset 0x66b + // Block 0xe1, offset 0x68f {value: 0x0000, lo: 0x0e}, {value: 0x0018, lo: 0x80, hi: 0x9d}, {value: 0xb5b9, lo: 0x9e, hi: 0x9e}, @@ -4211,127 +4287,127 @@ var idnaSparseValues = [1876]valueRange{ {value: 0xb719, lo: 0xa2, hi: 0xa2}, {value: 0xb781, lo: 0xa3, hi: 0xa3}, {value: 0xb7e9, lo: 0xa4, hi: 0xa4}, - {value: 0x1018, lo: 0xa5, hi: 0xa6}, - {value: 0x1318, lo: 0xa7, hi: 0xa9}, + {value: 0x3018, lo: 0xa5, hi: 0xa6}, + {value: 0x3318, lo: 0xa7, hi: 0xa9}, {value: 0x0018, lo: 0xaa, hi: 0xac}, - {value: 0x1018, lo: 0xad, hi: 0xb2}, + {value: 0x3018, lo: 0xad, hi: 0xb2}, {value: 0x0340, lo: 0xb3, hi: 0xba}, - {value: 0x1318, lo: 0xbb, hi: 0xbf}, - // Block 0xdb, offset 0x67a + {value: 0x3318, lo: 0xbb, hi: 0xbf}, + // Block 0xe2, offset 0x69e {value: 0x0000, lo: 0x0b}, - {value: 0x1318, lo: 0x80, hi: 0x82}, + {value: 0x3318, lo: 0x80, hi: 0x82}, {value: 0x0018, lo: 0x83, hi: 0x84}, - {value: 0x1318, lo: 0x85, hi: 0x8b}, + {value: 0x3318, lo: 0x85, hi: 0x8b}, {value: 0x0018, lo: 0x8c, hi: 0xa9}, - {value: 0x1318, lo: 0xaa, hi: 0xad}, + {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 0xdc, offset 0x686 + // 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 0xdd, offset 0x68a + // Block 0xe4, offset 0x6ae {value: 0x0000, lo: 0x04}, {value: 0x0018, lo: 0x80, hi: 0x81}, - {value: 0x1318, lo: 0x82, hi: 0x84}, + {value: 0x3318, lo: 0x82, hi: 0x84}, {value: 0x0018, lo: 0x85, hi: 0x85}, {value: 0x0040, lo: 0x86, hi: 0xbf}, - // Block 0xde, offset 0x68f + // 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 0xdf, offset 0x694 + // Block 0xe6, offset 0x6b8 {value: 0x0000, lo: 0x03}, - {value: 0x1308, lo: 0x80, hi: 0xb6}, + {value: 0x3308, lo: 0x80, hi: 0xb6}, {value: 0x0018, lo: 0xb7, hi: 0xba}, - {value: 0x1308, lo: 0xbb, hi: 0xbf}, - // Block 0xe0, offset 0x698 + {value: 0x3308, lo: 0xbb, hi: 0xbf}, + // Block 0xe7, offset 0x6bc {value: 0x0000, lo: 0x04}, - {value: 0x1308, lo: 0x80, hi: 0xac}, + {value: 0x3308, lo: 0x80, hi: 0xac}, {value: 0x0018, lo: 0xad, hi: 0xb4}, - {value: 0x1308, lo: 0xb5, hi: 0xb5}, + {value: 0x3308, lo: 0xb5, hi: 0xb5}, {value: 0x0018, lo: 0xb6, hi: 0xbf}, - // Block 0xe1, offset 0x69d + // Block 0xe8, offset 0x6c1 {value: 0x0000, lo: 0x08}, {value: 0x0018, lo: 0x80, hi: 0x83}, - {value: 0x1308, lo: 0x84, hi: 0x84}, + {value: 0x3308, lo: 0x84, hi: 0x84}, {value: 0x0018, lo: 0x85, hi: 0x8b}, {value: 0x0040, lo: 0x8c, hi: 0x9a}, - {value: 0x1308, lo: 0x9b, hi: 0x9f}, + {value: 0x3308, lo: 0x9b, hi: 0x9f}, {value: 0x0040, lo: 0xa0, hi: 0xa0}, - {value: 0x1308, lo: 0xa1, hi: 0xaf}, + {value: 0x3308, lo: 0xa1, hi: 0xaf}, {value: 0x0040, lo: 0xb0, hi: 0xbf}, - // Block 0xe2, offset 0x6a6 + // Block 0xe9, offset 0x6ca {value: 0x0000, lo: 0x0a}, - {value: 0x1308, lo: 0x80, hi: 0x86}, + {value: 0x3308, lo: 0x80, hi: 0x86}, {value: 0x0040, lo: 0x87, hi: 0x87}, - {value: 0x1308, lo: 0x88, hi: 0x98}, + {value: 0x3308, lo: 0x88, hi: 0x98}, {value: 0x0040, lo: 0x99, hi: 0x9a}, - {value: 0x1308, lo: 0x9b, hi: 0xa1}, + {value: 0x3308, lo: 0x9b, hi: 0xa1}, {value: 0x0040, lo: 0xa2, hi: 0xa2}, - {value: 0x1308, lo: 0xa3, hi: 0xa4}, + {value: 0x3308, lo: 0xa3, hi: 0xa4}, {value: 0x0040, lo: 0xa5, hi: 0xa5}, - {value: 0x1308, lo: 0xa6, hi: 0xaa}, + {value: 0x3308, lo: 0xa6, hi: 0xaa}, {value: 0x0040, lo: 0xab, hi: 0xbf}, - // Block 0xe3, offset 0x6b1 + // Block 0xea, offset 0x6d5 {value: 0x0000, lo: 0x05}, - {value: 0x0008, lo: 0x80, hi: 0x84}, + {value: 0x0808, lo: 0x80, hi: 0x84}, {value: 0x0040, lo: 0x85, hi: 0x86}, - {value: 0x0018, lo: 0x87, hi: 0x8f}, - {value: 0x1308, lo: 0x90, hi: 0x96}, + {value: 0x0818, lo: 0x87, hi: 0x8f}, + {value: 0x3308, lo: 0x90, hi: 0x96}, {value: 0x0040, lo: 0x97, hi: 0xbf}, - // Block 0xe4, offset 0x6b7 + // Block 0xeb, offset 0x6db {value: 0x0000, lo: 0x07}, - {value: 0x0208, lo: 0x80, hi: 0x83}, - {value: 0x1308, lo: 0x84, hi: 0x8a}, + {value: 0x0a08, lo: 0x80, hi: 0x83}, + {value: 0x3308, lo: 0x84, hi: 0x8a}, {value: 0x0040, lo: 0x8b, hi: 0x8f}, - {value: 0x0008, lo: 0x90, hi: 0x99}, + {value: 0x0808, lo: 0x90, hi: 0x99}, {value: 0x0040, lo: 0x9a, hi: 0x9d}, - {value: 0x0018, lo: 0x9e, hi: 0x9f}, + {value: 0x0818, lo: 0x9e, hi: 0x9f}, {value: 0x0040, lo: 0xa0, hi: 0xbf}, - // Block 0xe5, offset 0x6bf + // 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 0xe6, offset 0x6c3 + // 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 0xe7, offset 0x6c7 + // 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 0xe8, offset 0x6cd + // 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 0xe9, offset 0x6d3 + // 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 0xea, offset 0x6d8 + // Block 0xf1, offset 0x6fc {value: 0x0000, lo: 0x02}, {value: 0x0040, lo: 0x80, hi: 0xa5}, {value: 0x0018, lo: 0xa6, hi: 0xbf}, - // Block 0xeb, offset 0x6db - {value: 0x0000, lo: 0x0d}, + // 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}, @@ -4344,84 +4420,88 @@ var idnaSparseValues = [1876]valueRange{ {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 0xec, offset 0x6e9 + {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: 0x92}, - {value: 0x0040, lo: 0x93, hi: 0x9f}, + {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: 0xb6}, - {value: 0x0040, lo: 0xb7, hi: 0xbf}, - // Block 0xed, offset 0x6f0 + {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 0xee, offset 0x6f3 + // Block 0xf5, offset 0x719 {value: 0x0000, lo: 0x02}, {value: 0x0018, lo: 0x80, hi: 0x94}, {value: 0x0040, lo: 0x95, hi: 0xbf}, - // Block 0xef, offset 0x6f6 + // 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 0xf0, offset 0x6fa + // 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 0xf1, offset 0x700 + // 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 0xf2, offset 0x705 - {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 0xf3, offset 0x70f + // 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: 0x9e}, - {value: 0x0040, lo: 0x9f, hi: 0xbf}, - // Block 0xf4, offset 0x714 - {value: 0x0000, lo: 0x02}, - {value: 0x0018, lo: 0x80, hi: 0x91}, - {value: 0x0040, lo: 0x92, hi: 0xbf}, - // Block 0xf5, offset 0x717 + {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: 0xbf}, - // Block 0xf6, offset 0x71a + {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 0xf7, offset 0x71d + // Block 0xfe, offset 0x740 {value: 0x0000, lo: 0x02}, {value: 0x0008, lo: 0x80, hi: 0xb4}, {value: 0x0040, lo: 0xb5, hi: 0xbf}, - // Block 0xf8, offset 0x720 + // 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 0xf9, offset 0x724 - {value: 0x0000, lo: 0x02}, + // Block 0x100, offset 0x747 + {value: 0x0000, lo: 0x03}, {value: 0x0008, lo: 0x80, hi: 0xa1}, - {value: 0x0040, lo: 0xa2, hi: 0xbf}, - // Block 0xfa, offset 0x727 + {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}, @@ -4438,7 +4518,7 @@ var idnaSparseValues = [1876]valueRange{ {value: 0xe4f9, lo: 0xba, hi: 0xba}, {value: 0x8edd, lo: 0xbb, hi: 0xbb}, {value: 0xe519, lo: 0xbc, hi: 0xbf}, - // Block 0xfb, offset 0x737 + // Block 0x103, offset 0x75e {value: 0x0020, lo: 0x10}, {value: 0x937d, lo: 0x80, hi: 0x80}, {value: 0xf099, lo: 0x81, hi: 0x86}, @@ -4455,23 +4535,23 @@ var idnaSparseValues = [1876]valueRange{ {value: 0xf4d9, lo: 0xae, hi: 0xaf}, {value: 0x94dd, lo: 0xb0, hi: 0xb1}, {value: 0xf519, lo: 0xb2, hi: 0xbe}, - {value: 0x0040, lo: 0xbf, hi: 0xbf}, - // Block 0xfc, offset 0x748 + {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 0xfd, offset 0x74d + // Block 0x105, offset 0x774 {value: 0x0000, lo: 0x01}, {value: 0x0340, lo: 0x80, hi: 0xbf}, - // Block 0xfe, offset 0x74f + // Block 0x106, offset 0x776 {value: 0x0000, lo: 0x01}, - {value: 0x13c0, lo: 0x80, hi: 0xbf}, - // Block 0xff, offset 0x751 + {value: 0x33c0, lo: 0x80, hi: 0xbf}, + // Block 0x107, offset 0x778 {value: 0x0000, lo: 0x02}, - {value: 0x13c0, lo: 0x80, hi: 0xaf}, + {value: 0x33c0, lo: 0x80, hi: 0xaf}, {value: 0x0040, lo: 0xb0, hi: 0xbf}, } -// Total table size 41559 bytes (40KiB); checksum: F4A1FA4E +// Total table size 42115 bytes (41KiB); checksum: F4A1FA4E diff --git a/vendor/golang.org/x/text/internal/export/idna/trieval.go b/vendor/golang.org/x/text/internal/export/idna/trieval.go index 63cb03b59..7a8cf889b 100644 --- a/vendor/golang.org/x/text/internal/export/idna/trieval.go +++ b/vendor/golang.org/x/text/internal/export/idna/trieval.go @@ -26,9 +26,9 @@ package idna // 15..3 index into xor or mapping table // } // } else { -// 15..13 unused -// 12 modifier (including virama) -// 11 virama modifier +// 15..14 unused +// 13 mayNeedNorm +// 12..11 attributes // 10..8 joining type // 7..3 category type // } @@ -49,15 +49,20 @@ const ( joinShift = 8 joinMask = 0x07 - viramaModifier = 0x0800 + // Attributes + attributesMask = 0x1800 + viramaModifier = 0x1800 modifier = 0x1000 + rtl = 0x0800 + + mayNeedNorm = 0x2000 ) // A category corresponds to a category defined in the IDNA mapping table. type category uint16 const ( - unknown category = 0 // not defined currently in unicode. + unknown category = 0 // not currently defined in unicode. mapped category = 1 disallowedSTD3Mapped category = 2 deviation category = 3 @@ -110,5 +115,5 @@ func (c info) isModifier() bool { } func (c info) isViramaModifier() bool { - return c&(viramaModifier|catSmallMask) == viramaModifier + return c&(attributesMask|catSmallMask) == viramaModifier } diff --git a/vendor/golang.org/x/text/internal/format/format.go b/vendor/golang.org/x/text/internal/format/format.go index c70bc0fe2..ee1c57a3c 100644 --- a/vendor/golang.org/x/text/internal/format/format.go +++ b/vendor/golang.org/x/text/internal/format/format.go @@ -24,20 +24,18 @@ type State interface { // Language reports the requested language in which to render a message. Language() language.Tag + // TODO: consider this and removing rune from the Format method in the + // Formatter interface. + // + // Verb returns the format variant to render, analogous to the types used + // in fmt. Use 'v' for the default or only variant. + // Verb() rune + // TODO: more info: - // - sentence context - // - user preferences, like measurement systems - // - options + // - sentence context such as linguistic features passed by the translator. } -// A Statement is a Var or an Expression. -type Statement interface { - statement() +// Formatter is analogous to fmt.Formatter. +type Formatter interface { + Format(state State, verb rune) } - -// A String a literal string format. -type String string - -func (String) statement() {} - -// TODO: Select, Var, Case, StatementSequence diff --git a/vendor/golang.org/x/text/internal/number/decimal.go b/vendor/golang.org/x/text/internal/number/decimal.go index f6828efd0..62074e7d7 100644 --- a/vendor/golang.org/x/text/internal/number/decimal.go +++ b/vendor/golang.org/x/text/internal/number/decimal.go @@ -25,40 +25,77 @@ const ( numModes ) -// A RoundingContext indicates how a number should be converted to digits. -type RoundingContext struct { - Mode RoundingMode - Increment int32 // if > 0, round to Increment * 10^-Scale - - Precision int32 // maximum number of significant digits. - Scale int32 // maximum number of decimals after the dot. -} - const maxIntDigits = 20 -// A Decimal represents floating point number represented in digits of the base -// in which a number is to be displayed. Digits represents a number [0, 1.0), -// and the absolute value represented by Decimal is Digits * 10^Exp. -// Leading and trailing zeros may be omitted and Exp may point outside a valid -// position in Digits. +// A Decimal represents a floating point number in decimal format. +// Digits represents a number [0, 1.0), and the absolute value represented by +// Decimal is Digits * 10^Exp. Leading and trailing zeros may be omitted and Exp +// may point outside a valid position in Digits. // // Examples: // Number Decimal // 12345 Digits: [1, 2, 3, 4, 5], Exp: 5 // 12.345 Digits: [1, 2, 3, 4, 5], Exp: 2 // 12000 Digits: [1, 2], Exp: 5 +// 12000.00 Digits: [1, 2], Exp: 5 // 0.00123 Digits: [1, 2, 3], Exp: -2 +// 0 Digits: [], Exp: 0 type Decimal struct { + digits + + buf [maxIntDigits]byte +} + +type digits struct { Digits []byte // mantissa digits, big-endian Exp int32 // exponent Neg bool Inf bool // Takes precedence over Digits and Exp. NaN bool // Takes precedence over Inf. - - buf [maxIntDigits]byte } -// normalize retuns a new Decimal with leading and trailing zeros removed. +// Digits represents a floating point number represented in digits of the +// base in which a number is to be displayed. It is similar to Decimal, but +// keeps track of trailing fraction zeros and the comma placement for +// engineering notation. Digits must have at least one digit. +// +// Examples: +// Number Decimal +// decimal +// 12345 Digits: [1, 2, 3, 4, 5], Exp: 5 End: 5 +// 12.345 Digits: [1, 2, 3, 4, 5], Exp: 2 End: 5 +// 12000 Digits: [1, 2], Exp: 5 End: 5 +// 12000.00 Digits: [1, 2], Exp: 5 End: 7 +// 0.00123 Digits: [1, 2, 3], Exp: -2 End: 3 +// 0 Digits: [], Exp: 0 End: 1 +// scientific (actual exp is Exp - Comma) +// 0e0 Digits: [0], Exp: 1, End: 1, Comma: 1 +// .0e0 Digits: [0], Exp: 0, End: 1, Comma: 0 +// 0.0e0 Digits: [0], Exp: 1, End: 2, Comma: 1 +// 1.23e4 Digits: [1, 2, 3], Exp: 5, End: 3, Comma: 1 +// .123e5 Digits: [1, 2, 3], Exp: 5, End: 3, Comma: 0 +// engineering +// 12.3e3 Digits: [1, 2, 3], Exp: 5, End: 3, Comma: 2 +type Digits struct { + digits + // End indicates the end position of the number. + End int32 // For decimals Exp <= End. For scientific len(Digits) <= End. + // Comma is used for the comma position for scientific (always 0 or 1) and + // engineering notation (always 0, 1, 2, or 3). + Comma uint8 + // IsScientific indicates whether this number is to be rendered as a + // scientific number. + IsScientific bool +} + +func (d *Digits) NumFracDigits() int { + if d.Exp >= d.End { + return 0 + } + return int(d.End - d.Exp) +} + +// normalize returns a new Decimal with leading and trailing zeros removed. func (d *Decimal) normalize() (n Decimal) { n = *d b := n.Digits @@ -137,7 +174,7 @@ func appendZeros(buf []byte, n int) []byte { return buf } -func (d *Decimal) round(mode RoundingMode, n int) { +func (d *digits) round(mode RoundingMode, n int) { if n >= len(d.Digits) { return } @@ -213,7 +250,7 @@ func (r RoundingMode) roundFloat(x float64) float64 { return i } -func (x *Decimal) roundUp(n int) { +func (x *digits) roundUp(n int) { if n < 0 || n >= len(x.Digits) { return // nothing to do } @@ -234,7 +271,7 @@ func (x *Decimal) roundUp(n int) { // x already trimmed } -func (x *Decimal) roundDown(n int) { +func (x *digits) roundDown(n int) { if n < 0 || n >= len(x.Digits) { return // nothing to do } @@ -244,7 +281,7 @@ func (x *Decimal) roundDown(n int) { // trim cuts off any trailing zeros from x's mantissa; // they are meaningless for the value of x. -func trim(x *Decimal) { +func trim(x *digits) { i := len(x.Digits) for i > 0 && x.Digits[i-1] == 0 { i-- @@ -258,7 +295,7 @@ func trim(x *Decimal) { // A Converter converts a number into decimals according to the given rounding // criteria. type Converter interface { - Convert(d *Decimal, r *RoundingContext) + Convert(d *Decimal, r RoundingContext) } const ( @@ -268,7 +305,7 @@ const ( // Convert converts the given number to the decimal representation using the // supplied RoundingContext. -func (d *Decimal) Convert(r *RoundingContext, number interface{}) { +func (d *Decimal) Convert(r RoundingContext, number interface{}) { switch f := number.(type) { case Converter: d.clear() @@ -298,6 +335,8 @@ func (d *Decimal) Convert(r *RoundingContext, number interface{}) { case uint64: d.ConvertInt(r, unsigned, f) + default: + d.NaN = true // TODO: // case string: if produced by strconv, allows for easy arbitrary pos. // case reflect.Value: @@ -310,7 +349,7 @@ func (d *Decimal) Convert(r *RoundingContext, number interface{}) { } // ConvertInt converts an integer to decimals. -func (d *Decimal) ConvertInt(r *RoundingContext, signed bool, x uint64) { +func (d *Decimal) ConvertInt(r RoundingContext, signed bool, x uint64) { if r.Increment > 0 { // TODO: if uint64 is too large, fall back to float64 if signed { @@ -330,12 +369,30 @@ func (d *Decimal) ConvertInt(r *RoundingContext, signed bool, x uint64) { } // ConvertFloat converts a floating point number to decimals. -func (d *Decimal) ConvertFloat(r *RoundingContext, x float64, size int) { +func (d *Decimal) ConvertFloat(r RoundingContext, x float64, size int) { d.clear() if math.IsNaN(x) { d.NaN = true return } + // Simple case: decimal notation + if r.Increment > 0 { + scale := int(r.IncrementScale) + mult := 1.0 + if scale > len(scales) { + mult = math.Pow(10, float64(scale)) + } else { + mult = scales[scale] + } + // We multiply x instead of dividing inc as it gives less rounding + // issues. + x *= mult + x /= float64(r.Increment) + x = r.Mode.roundFloat(x) + x *= float64(r.Increment) + x /= mult + } + abs := x if x < 0 { d.Neg = true @@ -345,63 +402,59 @@ func (d *Decimal) ConvertFloat(r *RoundingContext, x float64, size int) { d.Inf = true return } - // Simple case: decimal notation - if r.Scale > 0 || r.Increment > 0 || r.Precision == 0 { - if int(r.Scale) > len(scales) { - x *= math.Pow(10, float64(r.Scale)) - } else { - x *= scales[r.Scale] - } - if r.Increment > 0 { - inc := float64(r.Increment) - x /= float64(inc) - x = r.Mode.roundFloat(x) - x *= inc - } else { - x = r.Mode.roundFloat(x) - } - d.fillIntDigits(uint64(math.Abs(x))) - d.Exp = int32(len(d.Digits)) - r.Scale - return - } - // Nasty case (for non-decimal notation). - // Asides from being inefficient, this result is also wrong as it will - // apply ToNearestEven rounding regardless of the user setting. - // TODO: expose functionality in strconv so we can avoid this hack. + // By default we get the exact decimal representation. + verb := byte('g') + prec := -1 + // Determine rounding, if possible. As the strconv API does not return the + // rounding accuracy (exact/rounded up|down), we can only round using + // ToNearestEven. // Something like this would work: // AppendDigits(dst []byte, x float64, base, size, prec int) (digits []byte, exp, accuracy int) - // TODO: This only supports the nearest even rounding mode. + // + // TODO: At this point strconv's rounding is imprecise to the point that it + // is not useable for this purpose. + // See https://github.com/golang/go/issues/21714 + // if r.Mode == ToNearestEven { + // if n := r.RoundSignificantDigits(); n >= 0 { + // prec = n + // } else if n = r.RoundFractionDigits(); n >= 0 { + // prec = n + // verb = 'f' + // } + // } - prec := int(r.Precision) - if prec > 0 { - prec-- - } - b := strconv.AppendFloat(d.Digits, abs, 'e', prec, size) + b := strconv.AppendFloat(d.Digits[:0], abs, verb, prec, size) i := 0 k := 0 - // No need to check i < len(b) as we always have an 'e'. - for { + beforeDot := 1 + for i < len(b) { if c := b[i]; '0' <= c && c <= '9' { b[k] = c - '0' k++ - } else if c != '.' { + d.Exp += int32(beforeDot) + } else if c == '.' { + beforeDot = 0 + d.Exp = int32(k) + } else { break } i++ } d.Digits = b[:k] - i += len("e") - pSign := i - exp := 0 - for i++; i < len(b); i++ { - exp *= 10 - exp += int(b[i] - '0') + if i != len(b) { + i += len("e") + pSign := i + exp := 0 + for i++; i < len(b); i++ { + exp *= 10 + exp += int(b[i] - '0') + } + if b[pSign] == '-' { + exp = -exp + } + d.Exp = int32(exp) + 1 } - if b[pSign] == '-' { - exp = -exp - } - d.Exp = int32(exp) + 1 } func (d *Decimal) fillIntDigits(x uint64) { diff --git a/vendor/golang.org/x/text/internal/number/decimal_test.go b/vendor/golang.org/x/text/internal/number/decimal_test.go index 5c8170049..04aa8b2c8 100644 --- a/vendor/golang.org/x/text/internal/number/decimal_test.go +++ b/vendor/golang.org/x/text/internal/number/decimal_test.go @@ -22,6 +22,15 @@ func mkfloat(num string) float64 { // digits are shifted. Numbers may have an additional exponent or be the special // value NaN, Inf, or -Inf. func mkdec(num string) (d Decimal) { + var r RoundingContext + d.Convert(r, dec(num)) + return +} + +type dec string + +func (s dec) Convert(d *Decimal, _ RoundingContext) { + num := string(s) if num[0] == '-' { d.Neg = true num = num[1:] @@ -52,7 +61,7 @@ func mkdec(num string) (d Decimal) { for i := range d.Digits { d.Digits[i] -= '0' } - return d.normalize() + *d = d.normalize() } func byteNum(s string) []byte { @@ -77,11 +86,11 @@ func TestDecimalString(t *testing.T) { want string }{ {want: "0"}, - {Decimal{Digits: nil, Exp: 1000}, "0"}, // exponent of 1000 is ignored - {Decimal{Digits: byteNum("12345"), Exp: 0}, "0.12345"}, - {Decimal{Digits: byteNum("12345"), Exp: -3}, "0.00012345"}, - {Decimal{Digits: byteNum("12345"), Exp: +3}, "123.45"}, - {Decimal{Digits: byteNum("12345"), Exp: +10}, "1234500000"}, + {Decimal{digits: digits{Digits: nil, Exp: 1000}}, "0"}, // exponent of 1000 is ignored + {Decimal{digits: digits{Digits: byteNum("12345"), Exp: 0}}, "0.12345"}, + {Decimal{digits: digits{Digits: byteNum("12345"), Exp: -3}}, "0.00012345"}, + {Decimal{digits: digits{Digits: byteNum("12345"), Exp: +3}}, "123.45"}, + {Decimal{digits: digits{Digits: byteNum("12345"), Exp: +10}}, "1234500000"}, } { if got := test.x.String(); got != test.want { t.Errorf("%v == %q; want %q", test.x, got, test.want) @@ -232,16 +241,28 @@ func TestRounding(t *testing.T) { } func TestConvert(t *testing.T) { - scale2 := &RoundingContext{Scale: 2} - scale2away := &RoundingContext{Scale: 2, Mode: AwayFromZero} - inc0_05 := &RoundingContext{Increment: 5, Scale: 2} - inc50 := &RoundingContext{Increment: 50} - prec3 := &RoundingContext{Precision: 3} + scale2 := RoundingContext{} + scale2.SetScale(2) + scale2away := RoundingContext{Mode: AwayFromZero} + scale2away.SetScale(2) + inc0_05 := RoundingContext{Increment: 5, IncrementScale: 2} + inc0_05.SetScale(2) + inc50 := RoundingContext{Increment: 50} + prec3 := RoundingContext{} + prec3.SetPrecision(3) + roundShift := RoundingContext{DigitShift: 2, MaxFractionDigits: 2} testCases := []struct { x interface{} - rc *RoundingContext + rc RoundingContext out string }{ + // TODO: uncommented tests can be restored when convert does its own + // rounding. + // {-0.001, scale2, "-0.00"}, // not normalized + // {0.1234, prec3, "0.123"}, + // {1234.0, prec3, "1230"}, + // {1.2345e10, prec3, "12300000000"}, + {int8(-34), scale2, "-34"}, {int16(-234), scale2, "-234"}, {int32(-234), scale2, "-234"}, @@ -252,25 +273,25 @@ func TestConvert(t *testing.T) { {uint32(234), scale2, "234"}, {uint64(234), scale2, "234"}, {uint(234), scale2, "234"}, - {-0.001, scale2, "-0"}, - {-1e9, scale2, "-1000000000.00"}, - {0.234, scale2, "0.23"}, - {0.234, scale2away, "0.24"}, - {0.1234, prec3, "0.123"}, - {1234.0, prec3, "1230"}, - {1.2345e10, prec3, "12300000000"}, + {-1e9, scale2, "-1000000000"}, + {0.234, scale2away, "0.234"}, // rounding postponed as not ToNearestEven {0.03, inc0_05, "0.05"}, {0.025, inc0_05, "0"}, - {0.075, inc0_05, "0.10"}, + {0.075, inc0_05, "0.1"}, {325, inc50, "300"}, {375, inc50, "400"}, + // Here the scale is 2, but the digits get shifted left. As we use + // AppendFloat to do the rounding an exta 0 gets added. + {0.123, roundShift, "0.123"}, + {converter(3), scale2, "100"}, {math.Inf(1), inc50, "Inf"}, {math.Inf(-1), inc50, "-Inf"}, {math.NaN(), inc50, "NaN"}, + {"clearly not a number", scale2, "NaN"}, } for _, tc := range testCases { var d Decimal @@ -285,7 +306,7 @@ func TestConvert(t *testing.T) { type converter int -func (c converter) Convert(d *Decimal, r *RoundingContext) { +func (c converter) Convert(d *Decimal, r RoundingContext) { d.Digits = append(d.Digits, 1, 0, 0) d.Exp = 3 } diff --git a/vendor/golang.org/x/text/internal/number/format.go b/vendor/golang.org/x/text/internal/number/format.go index 70ddf7df1..910bdeb02 100755 --- a/vendor/golang.org/x/text/internal/number/format.go +++ b/vendor/golang.org/x/text/internal/number/format.go @@ -16,6 +16,13 @@ import ( // - allow user-defined superscript notation (such as 4) // - same for non-breaking spaces, like   +// A VisibleDigits computes digits, comma placement and trailing zeros as they +// will be shown to the user. +type VisibleDigits interface { + Digits(buf []byte, t language.Tag, scale int) Digits + // TODO: Do we also need to add the verb or pass a format.State? +} + // Formatting proceeds along the following lines: // 0) Compose rounding information from format and context. // 1) Convert a number into a Decimal. @@ -28,7 +35,6 @@ import ( type Formatter struct { Pattern Info - RoundingContext } func (f *Formatter) init(t language.Tag, index []uint8) { @@ -57,12 +63,16 @@ func (f *Formatter) InitDecimal(t language.Tag) { // given language. func (f *Formatter) InitScientific(t language.Tag) { f.init(t, tagToScientific) + f.Pattern.MinFractionDigits = 0 + f.Pattern.MaxFractionDigits = -1 } // InitEngineering initializes a Formatter using the default Pattern for the // given language. func (f *Formatter) InitEngineering(t language.Tag) { f.init(t, tagToScientific) + f.Pattern.MinFractionDigits = 0 + f.Pattern.MaxFractionDigits = -1 f.Pattern.MaxIntegerDigits = 3 f.Pattern.MinIntegerDigits = 1 } @@ -82,17 +92,29 @@ func (f *Formatter) InitPerMille(t language.Tag) { func (f *Formatter) Append(dst []byte, x interface{}) []byte { var d Decimal - d.Convert(&f.RoundingContext, x) - return f.Format(dst, &d) + r := f.RoundingContext + d.Convert(r, x) + return f.Render(dst, FormatDigits(&d, r)) +} + +func FormatDigits(d *Decimal, r RoundingContext) Digits { + if r.isScientific() { + return scientificVisibleDigits(r, d) + } + return decimalVisibleDigits(r, d) } func (f *Formatter) Format(dst []byte, d *Decimal) []byte { + return f.Render(dst, FormatDigits(d, f.RoundingContext)) +} + +func (f *Formatter) Render(dst []byte, d Digits) []byte { var result []byte var postPrefix, preSuffix int - if f.MinExponentDigits > 0 { - result, postPrefix, preSuffix = appendScientific(dst, f, d) + if d.IsScientific { + result, postPrefix, preSuffix = appendScientific(dst, f, &d) } else { - result, postPrefix, preSuffix = appendDecimal(dst, f, d) + result, postPrefix, preSuffix = appendDecimal(dst, f, &d) } if f.PadRune == 0 { return result @@ -131,23 +153,86 @@ func (f *Formatter) Format(dst []byte, d *Decimal) []byte { return result } +// decimalVisibleDigits converts d according to the RoundingContext. Note that +// the exponent may change as a result of this operation. +func decimalVisibleDigits(r RoundingContext, d *Decimal) Digits { + if d.NaN || d.Inf { + return Digits{digits: digits{Neg: d.Neg, NaN: d.NaN, Inf: d.Inf}} + } + n := Digits{digits: d.normalize().digits} + + exp := n.Exp + exp += int32(r.DigitShift) + + // Cap integer digits. Remove *most-significant* digits. + if r.MaxIntegerDigits > 0 { + if p := int(exp) - int(r.MaxIntegerDigits); p > 0 { + if p > len(n.Digits) { + p = len(n.Digits) + } + if n.Digits = n.Digits[p:]; len(n.Digits) == 0 { + exp = 0 + } else { + exp -= int32(p) + } + // Strip leading zeros. + for len(n.Digits) > 0 && n.Digits[0] == 0 { + n.Digits = n.Digits[1:] + exp-- + } + } + } + + // Rounding if not already done by Convert. + p := len(n.Digits) + if maxSig := int(r.MaxSignificantDigits); maxSig > 0 { + p = maxSig + } + if maxFrac := int(r.MaxFractionDigits); maxFrac >= 0 { + if cap := int(exp) + maxFrac; cap < p { + p = int(exp) + maxFrac + } + if p < 0 { + p = 0 + } + } + n.round(r.Mode, p) + + // set End (trailing zeros) + n.End = int32(len(n.Digits)) + if n.End == 0 { + exp = 0 + if r.MinFractionDigits > 0 { + n.End = int32(r.MinFractionDigits) + } + if p := int32(r.MinSignificantDigits) - 1; p > n.End { + n.End = p + } + } else { + if end := exp + int32(r.MinFractionDigits); end > n.End { + n.End = end + } + if n.End < int32(r.MinSignificantDigits) { + n.End = int32(r.MinSignificantDigits) + } + } + n.Exp = exp + return n +} + // appendDecimal appends a formatted number to dst. It returns two possible // insertion points for padding. -func appendDecimal(dst []byte, f *Formatter, d *Decimal) (b []byte, postPre, preSuf int) { - if dst, ok := f.renderSpecial(dst, d); ok { +func appendDecimal(dst []byte, f *Formatter, n *Digits) (b []byte, postPre, preSuf int) { + if dst, ok := f.renderSpecial(dst, n); ok { return dst, 0, len(dst) } - n := d.normalize() - if maxSig := int(f.MaxSignificantDigits); maxSig > 0 { - n.round(ToZero, maxSig) - } digits := n.Digits exp := n.Exp - exp += int32(f.Pattern.DigitShift) // Split in integer and fraction part. var intDigits, fracDigits []byte - var numInt, numFrac int + numInt := 0 + numFrac := int(n.End - n.Exp) if exp > 0 { numInt = int(exp) if int(exp) >= len(digits) { // ddddd | ddddd00 @@ -155,42 +240,12 @@ func appendDecimal(dst []byte, f *Formatter, d *Decimal) (b []byte, postPre, pre } else { // ddd.dd intDigits = digits[:exp] fracDigits = digits[exp:] - numFrac = len(fracDigits) } } else { fracDigits = digits - numFrac = -int(exp) + len(digits) - } - // Cap integer digits. Remove *most-significant* digits. - if f.MaxIntegerDigits > 0 && numInt > int(f.MaxIntegerDigits) { - offset := numInt - int(f.MaxIntegerDigits) - if offset > len(intDigits) { - numInt = 0 - intDigits = nil - } else { - numInt = int(f.MaxIntegerDigits) - intDigits = intDigits[offset:] - // for keeping track of significant digits - digits = digits[offset:] - } - // Strip leading zeros. Resulting number of digits is significant digits. - for len(intDigits) > 0 && intDigits[0] == 0 { - intDigits = intDigits[1:] - digits = digits[1:] - numInt-- - } - } - if f.MaxSignificantDigits == 0 && int(f.MaxFractionDigits) < numFrac { - if extra := numFrac - int(f.MaxFractionDigits); extra > len(fracDigits) { - numFrac = 0 - fracDigits = nil - } else { - numFrac = int(f.MaxFractionDigits) - fracDigits = fracDigits[:len(fracDigits)-extra] - } } - neg := d.Neg + neg := n.Neg affix, suffix := f.getAffixes(neg) dst = appendAffix(dst, f, affix, neg) savedLen := len(dst) @@ -220,68 +275,86 @@ func appendDecimal(dst []byte, f *Formatter, d *Decimal) (b []byte, postPre, pre } } - trailZero := int(f.MinFractionDigits) - numFrac - if d := int(f.MinSignificantDigits) - len(digits); d > 0 && d > trailZero { - trailZero = d - } - if numFrac > 0 || trailZero > 0 || f.Flags&AlwaysDecimalSeparator != 0 { + if numFrac > 0 || f.Flags&AlwaysDecimalSeparator != 0 { dst = append(dst, f.Symbol(SymDecimal)...) } - // Add leading zeros - for i := numFrac - len(fracDigits); i > 0; i-- { + // Add trailing zeros + i = 0 + for n := -int(n.Exp); i < n; i++ { dst = f.AppendDigit(dst, 0) } - i = 0 - for ; i < len(fracDigits); i++ { - dst = f.AppendDigit(dst, fracDigits[i]) + for _, d := range fracDigits { + i++ + dst = f.AppendDigit(dst, d) } - for ; trailZero > 0; trailZero-- { + for ; i < numFrac; i++ { dst = f.AppendDigit(dst, 0) } return appendAffix(dst, f, suffix, neg), savedLen, len(dst) } -// appendScientific appends a formatted number to dst. It returns two possible -// insertion points for padding. -func appendScientific(dst []byte, f *Formatter, d *Decimal) (b []byte, postPre, preSuf int) { - if dst, ok := f.renderSpecial(dst, d); ok { - return dst, 0, 0 +func scientificVisibleDigits(r RoundingContext, d *Decimal) Digits { + if d.NaN || d.Inf { + return Digits{digits: digits{Neg: d.Neg, NaN: d.NaN, Inf: d.Inf}} } - // Significant digits are transformed by parser for scientific notation and - // do not need to be handled here. - maxInt, numInt := int(f.MaxIntegerDigits), int(f.MinIntegerDigits) + n := Digits{digits: d.normalize().digits, IsScientific: true} + + // Normalize to have at least one digit. This simplifies engineering + // notation. + if len(n.Digits) == 0 { + n.Digits = append(n.Digits, 0) + n.Exp = 1 + } + + // Significant digits are transformed by the parser for scientific notation + // and do not need to be handled here. + maxInt, numInt := int(r.MaxIntegerDigits), int(r.MinIntegerDigits) if numInt == 0 { numInt = 1 } - maxSig := int(f.MaxFractionDigits) + numInt - minSig := int(f.MinFractionDigits) + numInt - n := d.normalize() - if maxSig > 0 { - n.round(ToZero, maxSig) - } - digits := n.Digits - exp := n.Exp // If a maximum number of integers is specified, the minimum must be 1 // and the exponent is grouped by this number (e.g. for engineering) - if len(digits) == 0 { - exp = 0 - } else if maxInt > numInt { + if maxInt > numInt { // Correct the exponent to reflect a single integer digit. - exp-- numInt = 1 // engineering // 0.01234 ([12345]e-1) -> 1.2345e-2 12.345e-3 // 12345 ([12345]e+5) -> 1.2345e4 12.345e3 - d := int(exp) % maxInt + d := int(n.Exp-1) % maxInt if d < 0 { d += maxInt } - exp -= int32(d) numInt += d - } else { - exp -= int32(numInt) } + + p := len(n.Digits) + if maxSig := int(r.MaxSignificantDigits); maxSig > 0 { + p = maxSig + } + if maxFrac := int(r.MaxFractionDigits); maxFrac >= 0 && numInt+maxFrac < p { + p = numInt + maxFrac + } + n.round(r.Mode, p) + + n.Comma = uint8(numInt) + n.End = int32(len(n.Digits)) + if minSig := int32(r.MinFractionDigits) + int32(numInt); n.End < minSig { + n.End = minSig + } + return n +} + +// appendScientific appends a formatted number to dst. It returns two possible +// insertion points for padding. +func appendScientific(dst []byte, f *Formatter, n *Digits) (b []byte, postPre, preSuf int) { + if dst, ok := f.renderSpecial(dst, n); ok { + return dst, 0, 0 + } + digits := n.Digits + numInt := int(n.Comma) + numFrac := int(n.End) - int(n.Comma) + var intDigits, fracDigits []byte if numInt <= len(digits) { intDigits = digits[:numInt] @@ -289,7 +362,7 @@ func appendScientific(dst []byte, f *Formatter, d *Decimal) (b []byte, postPre, } else { intDigits = digits } - neg := d.Neg + neg := n.Neg affix, suffix := f.getAffixes(neg) dst = appendAffix(dst, f, affix, neg) savedLen := len(dst) @@ -308,15 +381,14 @@ func appendScientific(dst []byte, f *Formatter, d *Decimal) (b []byte, postPre, } } - trailZero := minSig - numInt - len(fracDigits) - if len(fracDigits) > 0 || trailZero > 0 || f.Flags&AlwaysDecimalSeparator != 0 { + if numFrac > 0 || f.Flags&AlwaysDecimalSeparator != 0 { dst = append(dst, f.Symbol(SymDecimal)...) } i = 0 for ; i < len(fracDigits); i++ { dst = f.AppendDigit(dst, fracDigits[i]) } - for ; trailZero > 0; trailZero-- { + for ; i < numFrac; i++ { dst = f.AppendDigit(dst, 0) } @@ -324,6 +396,7 @@ func appendScientific(dst []byte, f *Formatter, d *Decimal) (b []byte, postPre, buf := [12]byte{} // TODO: use exponential if superscripting is not available (no Latin // numbers or no tags) and use exponential in all other cases. + exp := n.Exp - int32(n.Comma) exponential := f.Symbol(SymExponential) if exponential == "E" { dst = append(dst, "\u202f"...) // NARROW NO-BREAK SPACE @@ -408,7 +481,7 @@ func (f *Formatter) getAffixes(neg bool) (affix, suffix string) { return affix, suffix } -func (f *Formatter) renderSpecial(dst []byte, d *Decimal) (b []byte, ok bool) { +func (f *Formatter) renderSpecial(dst []byte, d *Digits) (b []byte, ok bool) { if d.NaN { return fmtNaN(dst, f), true } @@ -422,7 +495,7 @@ func fmtNaN(dst []byte, f *Formatter) []byte { return append(dst, f.Symbol(SymNan)...) } -func fmtInfinite(dst []byte, f *Formatter, d *Decimal) []byte { +func fmtInfinite(dst []byte, f *Formatter, d *Digits) []byte { affix, suffix := f.getAffixes(d.Neg) dst = appendAffix(dst, f, affix, d.Neg) dst = append(dst, f.Symbol(SymInfinity)...) diff --git a/vendor/golang.org/x/text/internal/number/format_test.go b/vendor/golang.org/x/text/internal/number/format_test.go index 4c47bc568..01a089430 100755 --- a/vendor/golang.org/x/text/internal/number/format_test.go +++ b/vendor/golang.org/x/text/internal/number/format_test.go @@ -112,7 +112,7 @@ func TestAppendDecimal(t *testing.T) { test: pairs{ "0": "0", "1234.5678": "1234.5678", - "0.123456789": "0.123456", + "0.123456789": "0.123457", "NaN": "NaN", "Inf": "∞", }, @@ -142,7 +142,7 @@ func TestAppendDecimal(t *testing.T) { pattern: "#,##0.###", test: pairs{ "0": "0", - "1234.5678": "1,234.567", + "1234.5678": "1,234.568", "0.123456789": "0.123", }, }, { @@ -157,7 +157,7 @@ func TestAppendDecimal(t *testing.T) { test: pairs{ "0": "0,00,000", "123456789012": "1,23,45,67,89,012", - "12.3456789": "0,00,012.345", + "12.3456789": "0,00,012.346", "0.123456789": "0,00,000.123", }, @@ -193,7 +193,9 @@ func TestAppendDecimal(t *testing.T) { }, { pattern: "#,max_int=2", pat: &Pattern{ - MaxIntegerDigits: 2, + RoundingContext: RoundingContext{ + MaxIntegerDigits: 2, + }, }, test: pairs{ "2017": "17", @@ -201,8 +203,10 @@ func TestAppendDecimal(t *testing.T) { }, { pattern: "0,max_int=2", pat: &Pattern{ - MaxIntegerDigits: 2, - MinIntegerDigits: 1, + RoundingContext: RoundingContext{ + MaxIntegerDigits: 2, + MinIntegerDigits: 1, + }, }, test: pairs{ "2000": "0", @@ -212,8 +216,10 @@ func TestAppendDecimal(t *testing.T) { }, { pattern: "00,max_int=2", pat: &Pattern{ - MaxIntegerDigits: 2, - MinIntegerDigits: 2, + RoundingContext: RoundingContext{ + MaxIntegerDigits: 2, + MinIntegerDigits: 2, + }, }, test: pairs{ "2000": "00", @@ -223,8 +229,10 @@ func TestAppendDecimal(t *testing.T) { }, { pattern: "@@@@,max_int=2", pat: &Pattern{ - MaxIntegerDigits: 2, - MinSignificantDigits: 4, + RoundingContext: RoundingContext{ + MaxIntegerDigits: 2, + MinSignificantDigits: 4, + }, }, test: pairs{ "2017": "17.00", @@ -237,7 +245,7 @@ func TestAppendDecimal(t *testing.T) { pattern: "@@##", test: pairs{ "1": "1.0", - "0.1": "0.10", + "0.1": "0.10", // leading zero does not count as significant digit "123": "123", "1234": "1234", "12345": "12340", @@ -281,22 +289,25 @@ func TestAppendDecimal(t *testing.T) { pattern: "##0E00", test: pairs{ "100": "100\u202f×\u202f10⁰⁰", - "12345": "10\u202f×\u202f10⁰³", - "123.456": "100\u202f×\u202f10⁰⁰", + "12345": "12\u202f×\u202f10⁰³", + "123.456": "123\u202f×\u202f10⁰⁰", }, }, { pattern: "##0.###E00", test: pairs{ - "100": "100\u202f×\u202f10⁰⁰", - "12345": "12.34\u202f×\u202f10⁰³", - "123.456": "123.4\u202f×\u202f10⁰⁰", + "100": "100\u202f×\u202f10⁰⁰", + "12345": "12.345\u202f×\u202f10⁰³", + "123456": "123.456\u202f×\u202f10⁰³", + "123.456": "123.456\u202f×\u202f10⁰⁰", + "123.4567": "123.457\u202f×\u202f10⁰⁰", }, }, { pattern: "##0.000E00", test: pairs{ - "100": "100.0\u202f×\u202f10⁰⁰", - "12345": "12.34\u202f×\u202f10⁰³", - "123.456": "123.4\u202f×\u202f10⁰⁰", + "100": "100.000\u202f×\u202f10⁰⁰", + "12345": "12.345\u202f×\u202f10⁰³", + "123.456": "123.456\u202f×\u202f10⁰⁰", + "12.3456": "12.346\u202f×\u202f10⁰⁰", }, }, { pattern: "@@E0", @@ -441,11 +452,12 @@ func TestAppendDecimal(t *testing.T) { } var f Formatter f.InitPattern(language.English, pat) - for dec, want := range tc.test { + for num, want := range tc.test { buf := make([]byte, 100) - t.Run(tc.pattern+"/"+dec, func(t *testing.T) { - dec := mkdec(dec) - buf = f.Format(buf[:0], &dec) + t.Run(tc.pattern+"/"+num, func(t *testing.T) { + var d Decimal + d.Convert(f.RoundingContext, dec(num)) + buf = f.Format(buf[:0], &d) if got := string(buf); got != want { t.Errorf("\n got %[1]q (%[1]s)\nwant %[2]q (%[2]s)", got, want) } @@ -470,7 +482,8 @@ func TestLocales(t *testing.T) { t.Run(fmt.Sprint(tc.tag, "/", tc.num), func(t *testing.T) { var f Formatter f.InitDecimal(tc.tag) - d := mkdec(tc.num) + var d Decimal + d.Convert(f.RoundingContext, dec(tc.num)) b := f.Format(nil, &d) if got := string(b); got != tc.want { t.Errorf("got %[1]q (%[1]s); want %[2]q (%[2]s)", got, tc.want) @@ -488,7 +501,8 @@ func TestFormatters(t *testing.T) { }{ {f.InitDecimal, "123456.78", "123,456.78"}, {f.InitScientific, "123456.78", "1.23\u202f×\u202f10⁵"}, - {f.InitEngineering, "123456.78", "123\u202f×\u202f10³"}, + {f.InitEngineering, "123456.78", "123.46\u202f×\u202f10³"}, + {f.InitEngineering, "1234", "1.23\u202f×\u202f10³"}, {f.InitPercent, "0.1234", "12.34%"}, {f.InitPerMille, "0.1234", "123.40‰"}, @@ -496,9 +510,9 @@ func TestFormatters(t *testing.T) { for i, tc := range testCases { t.Run(fmt.Sprint(i, "/", tc.num), func(t *testing.T) { tc.init(language.English) - f.Pattern.MinFractionDigits = 2 - f.Pattern.MaxFractionDigits = 2 - d := mkdec(tc.num) + f.SetScale(2) + var d Decimal + d.Convert(f.RoundingContext, dec(tc.num)) b := f.Format(nil, &d) if got := string(b); got != tc.want { t.Errorf("got %[1]q (%[1]s); want %[2]q (%[2]s)", got, tc.want) diff --git a/vendor/golang.org/x/text/internal/number/pattern.go b/vendor/golang.org/x/text/internal/number/pattern.go index ef7f087fe..b95ca40e8 100644 --- a/vendor/golang.org/x/text/internal/number/pattern.go +++ b/vendor/golang.org/x/text/internal/number/pattern.go @@ -39,31 +39,84 @@ import ( // // This type is only intended for internal use. type Pattern struct { - // TODO: this struct can be packed a lot better than it is now. Should be - // possible to make it 32 bytes. - - Affix string // includes prefix and suffix. First byte is prefix length. - Offset uint16 // Offset into Affix for prefix and suffix - NegOffset uint16 // Offset into Affix for negative prefix and suffix or 0. + RoundingContext + Affix string // includes prefix and suffix. First byte is prefix length. + Offset uint16 // Offset into Affix for prefix and suffix + NegOffset uint16 // Offset into Affix for negative prefix and suffix or 0. + PadRune rune FormatWidth uint16 - RoundIncrement uint32 // Use Min*Digits to determine scale - PadRune rune - DigitShift uint8 // Number of decimals to shift. Used for % and ‰. - GroupingSize [2]uint8 Flags PatternFlag +} + +// A RoundingContext indicates how a number should be converted to digits. +// It contains all information needed to determine the "visible digits" as +// required by the pluralization rules. +type RoundingContext struct { + // TODO: unify these two fields so that there is a more unambiguous meaning + // of how precision is handled. + MaxSignificantDigits int16 // -1 is unlimited + MaxFractionDigits int16 // -1 is unlimited + + Increment uint32 + IncrementScale uint8 // May differ from printed scale. + + Mode RoundingMode + + DigitShift uint8 // Number of decimals to shift. Used for % and ‰. // Number of digits. - // TODO: consider using uint32 - MinIntegerDigits uint8 + MinIntegerDigits uint8 + MaxIntegerDigits uint8 MinFractionDigits uint8 - MaxFractionDigits uint8 MinSignificantDigits uint8 - MaxSignificantDigits uint8 - MinExponentDigits uint8 + + MinExponentDigits uint8 +} + +// RoundSignificantDigits returns the number of significant digits an +// implementation of Convert may round to or n < 0 if there is no maximum or +// a maximum is not recommended. +func (r *RoundingContext) RoundSignificantDigits() (n int) { + if r.MaxFractionDigits == 0 && r.MaxSignificantDigits > 0 { + return int(r.MaxSignificantDigits) + } else if r.isScientific() && r.MaxIntegerDigits == 1 { + if r.MaxSignificantDigits == 0 || + int(r.MaxFractionDigits+1) == int(r.MaxSignificantDigits) { + // Note: don't add DigitShift: it is only used for decimals. + return int(r.MaxFractionDigits) + 1 + } + } + return -1 +} + +// RoundFractionDigits returns the number of fraction digits an implementation +// of Convert may round to or n < 0 if there is no maximum or a maximum is not +// recommended. +func (r *RoundingContext) RoundFractionDigits() (n int) { + if r.MinExponentDigits == 0 && + r.MaxSignificantDigits == 0 && + r.MaxFractionDigits >= 0 { + return int(r.MaxFractionDigits) + int(r.DigitShift) + } + return -1 +} + +// SetScale fixes the RoundingContext to a fixed number of fraction digits. +func (r *RoundingContext) SetScale(scale int) { + r.MinFractionDigits = uint8(scale) + r.MaxFractionDigits = int16(scale) +} + +func (r *RoundingContext) SetPrecision(prec int) { + r.MaxSignificantDigits = int16(prec) +} + +func (r *RoundingContext) isScientific() bool { + return r.MinExponentDigits > 0 } func (f *Pattern) needsSep(pos int) bool { @@ -177,6 +230,9 @@ func ParsePattern(s string) (f *Pattern, err error) { } else { p.Affix = affix } + if p.Increment == 0 { + p.IncrementScale = 0 + } return p.Pattern, nil } @@ -302,6 +358,7 @@ func (p *parser) number(r rune) state { case '@': p.groupingCount++ p.leadingSharps = 0 + p.MaxFractionDigits = -1 return p.sigDigits(r) case ',': if p.leadingSharps == 0 { // no leading commas @@ -339,7 +396,7 @@ func (p *parser) integer(r rune) state { p.updateGrouping() return next } - p.RoundIncrement = p.RoundIncrement*10 + uint32(r-'0') + p.Increment = p.Increment*10 + uint32(r-'0') p.groupingCount++ p.MinIntegerDigits++ return p.integer @@ -389,7 +446,8 @@ func (p *parser) normalizeSigDigitsWithExponent() state { func (p *parser) fraction(r rune) state { switch r { case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': - p.RoundIncrement = p.RoundIncrement*10 + uint32(r-'0') + p.Increment = p.Increment*10 + uint32(r-'0') + p.IncrementScale++ p.MinFractionDigits++ p.MaxFractionDigits++ case '#': diff --git a/vendor/golang.org/x/text/internal/number/pattern_test.go b/vendor/golang.org/x/text/internal/number/pattern_test.go index 97ff64d55..a7517d004 100644 --- a/vendor/golang.org/x/text/internal/number/pattern_test.go +++ b/vendor/golang.org/x/text/internal/number/pattern_test.go @@ -22,96 +22,122 @@ var testCases = []struct { }, { "0", &Pattern{ - FormatWidth: 1, - MinIntegerDigits: 1, + FormatWidth: 1, + RoundingContext: RoundingContext{ + MinIntegerDigits: 1, + }, }, }, { "+0", &Pattern{ - Affix: "\x01+\x00", - FormatWidth: 2, - MinIntegerDigits: 1, + Affix: "\x01+\x00", + FormatWidth: 2, + RoundingContext: RoundingContext{ + MinIntegerDigits: 1, + }, }, }, { "0+", &Pattern{ - Affix: "\x00\x01+", - FormatWidth: 2, - MinIntegerDigits: 1, + Affix: "\x00\x01+", + FormatWidth: 2, + RoundingContext: RoundingContext{ + MinIntegerDigits: 1, + }, }, }, { "0000", &Pattern{ - FormatWidth: 4, - MinIntegerDigits: 4, + FormatWidth: 4, + RoundingContext: RoundingContext{ + MinIntegerDigits: 4, + }, }, }, { ".#", &Pattern{ - FormatWidth: 2, - MaxFractionDigits: 1, + FormatWidth: 2, + RoundingContext: RoundingContext{ + MaxFractionDigits: 1, + }, }, }, { "#0.###", &Pattern{ - FormatWidth: 6, - MinIntegerDigits: 1, - MaxFractionDigits: 3, + FormatWidth: 6, + RoundingContext: RoundingContext{ + MinIntegerDigits: 1, + MaxFractionDigits: 3, + }, }, }, { "#0.######", &Pattern{ - FormatWidth: 9, - MinIntegerDigits: 1, - MaxFractionDigits: 6, + FormatWidth: 9, + RoundingContext: RoundingContext{ + MinIntegerDigits: 1, + MaxFractionDigits: 6, + }, }, }, { "#,0", &Pattern{ - FormatWidth: 3, - GroupingSize: [2]uint8{1, 0}, - MinIntegerDigits: 1, + FormatWidth: 3, + GroupingSize: [2]uint8{1, 0}, + RoundingContext: RoundingContext{ + MinIntegerDigits: 1, + }, }, }, { "#,0.00", &Pattern{ - FormatWidth: 6, - GroupingSize: [2]uint8{1, 0}, - MinIntegerDigits: 1, - MinFractionDigits: 2, - MaxFractionDigits: 2, + FormatWidth: 6, + GroupingSize: [2]uint8{1, 0}, + RoundingContext: RoundingContext{ + MinIntegerDigits: 1, + MinFractionDigits: 2, + MaxFractionDigits: 2, + }, }, }, { "#,##0.###", &Pattern{ - FormatWidth: 9, - GroupingSize: [2]uint8{3, 0}, - MinIntegerDigits: 1, - MaxFractionDigits: 3, + FormatWidth: 9, + GroupingSize: [2]uint8{3, 0}, + RoundingContext: RoundingContext{ + MinIntegerDigits: 1, + MaxFractionDigits: 3, + }, }, }, { "#,##,##0.###", &Pattern{ - FormatWidth: 12, - GroupingSize: [2]uint8{3, 2}, - MinIntegerDigits: 1, - MaxFractionDigits: 3, + FormatWidth: 12, + GroupingSize: [2]uint8{3, 2}, + RoundingContext: RoundingContext{ + MinIntegerDigits: 1, + MaxFractionDigits: 3, + }, }, }, { // Ignore additional separators. "#,####,##,##0.###", &Pattern{ - FormatWidth: 17, - GroupingSize: [2]uint8{3, 2}, - MinIntegerDigits: 1, - MaxFractionDigits: 3, + FormatWidth: 17, + GroupingSize: [2]uint8{3, 2}, + RoundingContext: RoundingContext{ + MinIntegerDigits: 1, + MaxFractionDigits: 3, + }, }, }, { "#E0", &Pattern{ - FormatWidth: 3, - MaxIntegerDigits: 1, - MinExponentDigits: 1, + FormatWidth: 3, + RoundingContext: RoundingContext{ + MaxIntegerDigits: 1, + MinExponentDigits: 1, + }, }, }, { // At least one exponent digit is required. As long as this is true, one can @@ -121,30 +147,47 @@ var testCases = []struct { }, { "0E0", &Pattern{ - FormatWidth: 3, - MinIntegerDigits: 1, - MinExponentDigits: 1, + FormatWidth: 3, + RoundingContext: RoundingContext{ + MinIntegerDigits: 1, + MinExponentDigits: 1, + }, + }, +}, { + "##0.###E00", + &Pattern{ + FormatWidth: 10, + RoundingContext: RoundingContext{ + MinIntegerDigits: 1, + MaxIntegerDigits: 3, + MaxFractionDigits: 3, + MinExponentDigits: 2, + }, }, }, { "##00.0#E0", &Pattern{ - FormatWidth: 9, - MinIntegerDigits: 2, - MaxIntegerDigits: 4, - MinFractionDigits: 1, - MaxFractionDigits: 2, - MinExponentDigits: 1, + FormatWidth: 9, + RoundingContext: RoundingContext{ + MinIntegerDigits: 2, + MaxIntegerDigits: 4, + MinFractionDigits: 1, + MaxFractionDigits: 2, + MinExponentDigits: 1, + }, }, }, { "#00.0E+0", &Pattern{ - FormatWidth: 8, - Flags: AlwaysExpSign, - MinIntegerDigits: 2, - MaxIntegerDigits: 3, - MinFractionDigits: 1, - MaxFractionDigits: 1, - MinExponentDigits: 1, + FormatWidth: 8, + Flags: AlwaysExpSign, + RoundingContext: RoundingContext{ + MinIntegerDigits: 2, + MaxIntegerDigits: 3, + MinFractionDigits: 1, + MaxFractionDigits: 1, + MinExponentDigits: 1, + }, }, }, { "0.0E++0", @@ -156,45 +199,58 @@ var testCases = []struct { // significant digits "@", &Pattern{ - FormatWidth: 1, - MinSignificantDigits: 1, - MaxSignificantDigits: 1, + FormatWidth: 1, + RoundingContext: RoundingContext{ + MinSignificantDigits: 1, + MaxSignificantDigits: 1, + MaxFractionDigits: -1, + }, }, }, { // significant digits "@@@@", &Pattern{ - FormatWidth: 4, - MinSignificantDigits: 4, - MaxSignificantDigits: 4, + FormatWidth: 4, + RoundingContext: RoundingContext{ + MinSignificantDigits: 4, + MaxSignificantDigits: 4, + MaxFractionDigits: -1, + }, }, }, { "@###", &Pattern{ - FormatWidth: 4, - MinSignificantDigits: 1, - MaxSignificantDigits: 4, + FormatWidth: 4, + RoundingContext: RoundingContext{ + MinSignificantDigits: 1, + MaxSignificantDigits: 4, + MaxFractionDigits: -1, + }, }, }, { // Exponents in significant digits mode gets normalized. "@@E0", &Pattern{ - FormatWidth: 4, - MinIntegerDigits: 1, - MaxIntegerDigits: 1, - MinFractionDigits: 1, - MaxFractionDigits: 1, - MinExponentDigits: 1, + FormatWidth: 4, + RoundingContext: RoundingContext{ + MinIntegerDigits: 1, + MaxIntegerDigits: 1, + MinFractionDigits: 1, + MaxFractionDigits: 1, + MinExponentDigits: 1, + }, }, }, { "@###E00", &Pattern{ - FormatWidth: 7, - MinIntegerDigits: 1, - MaxIntegerDigits: 1, - MinFractionDigits: 0, - MaxFractionDigits: 3, - MinExponentDigits: 2, + FormatWidth: 7, + RoundingContext: RoundingContext{ + MinIntegerDigits: 1, + MaxIntegerDigits: 1, + MinFractionDigits: 0, + MaxFractionDigits: 3, + MinExponentDigits: 2, + }, }, }, { // The significant digits mode does not allow fractions. @@ -204,73 +260,89 @@ var testCases = []struct { //alternative negative pattern "#0.###;(#0.###)", &Pattern{ - Affix: "\x00\x00\x01(\x01)", - NegOffset: 2, - FormatWidth: 6, - MinIntegerDigits: 1, - MaxFractionDigits: 3, + Affix: "\x00\x00\x01(\x01)", + NegOffset: 2, + FormatWidth: 6, + RoundingContext: RoundingContext{ + MinIntegerDigits: 1, + MaxFractionDigits: 3, + }, }, }, { // Rounding increment "1.05", &Pattern{ - RoundIncrement: 105, - FormatWidth: 4, - MinIntegerDigits: 1, - MinFractionDigits: 2, - MaxFractionDigits: 2, + FormatWidth: 4, + RoundingContext: RoundingContext{ + Increment: 105, + IncrementScale: 2, + MinIntegerDigits: 1, + MinFractionDigits: 2, + MaxFractionDigits: 2, + }, }, }, { // Rounding increment with grouping "1,05", &Pattern{ - RoundIncrement: 105, - FormatWidth: 4, - GroupingSize: [2]uint8{2, 0}, - MinIntegerDigits: 3, - MinFractionDigits: 0, - MaxFractionDigits: 0, + FormatWidth: 4, + GroupingSize: [2]uint8{2, 0}, + RoundingContext: RoundingContext{ + Increment: 105, + IncrementScale: 0, + MinIntegerDigits: 3, + MinFractionDigits: 0, + MaxFractionDigits: 0, + }, }, }, { "0.0%", &Pattern{ - Affix: "\x00\x01%", - DigitShift: 2, - FormatWidth: 4, - MinIntegerDigits: 1, - MinFractionDigits: 1, - MaxFractionDigits: 1, + Affix: "\x00\x01%", + FormatWidth: 4, + RoundingContext: RoundingContext{ + DigitShift: 2, + MinIntegerDigits: 1, + MinFractionDigits: 1, + MaxFractionDigits: 1, + }, }, }, { "0.0‰", &Pattern{ - Affix: "\x00\x03‰", - DigitShift: 3, - FormatWidth: 4, - MinIntegerDigits: 1, - MinFractionDigits: 1, - MaxFractionDigits: 1, + Affix: "\x00\x03‰", + FormatWidth: 4, + RoundingContext: RoundingContext{ + DigitShift: 3, + MinIntegerDigits: 1, + MinFractionDigits: 1, + MaxFractionDigits: 1, + }, }, }, { "#,##0.00¤", &Pattern{ - Affix: "\x00\x02¤", - FormatWidth: 9, - GroupingSize: [2]uint8{3, 0}, - MinIntegerDigits: 1, - MinFractionDigits: 2, - MaxFractionDigits: 2, + Affix: "\x00\x02¤", + FormatWidth: 9, + GroupingSize: [2]uint8{3, 0}, + RoundingContext: RoundingContext{ + MinIntegerDigits: 1, + MinFractionDigits: 2, + MaxFractionDigits: 2, + }, }, }, { "#,##0.00 ¤;(#,##0.00 ¤)", &Pattern{Affix: "\x00\x04\u00a0¤\x01(\x05\u00a0¤)", - NegOffset: 6, - DigitShift: 0, - FormatWidth: 10, - GroupingSize: [2]uint8{3, 0}, - MinIntegerDigits: 1, - MinFractionDigits: 2, - MaxFractionDigits: 2, + NegOffset: 6, + FormatWidth: 10, + GroupingSize: [2]uint8{3, 0}, + RoundingContext: RoundingContext{ + DigitShift: 0, + MinIntegerDigits: 1, + MinFractionDigits: 2, + MaxFractionDigits: 2, + }, }, }, { // padding @@ -321,16 +393,21 @@ var testCases = []struct { }, { `* #0 o''clock`, &Pattern{Affix: "\x00\x09 o\\'clock", - FormatWidth: 10, - PadRune: 32, - MinIntegerDigits: 0x1}, + FormatWidth: 10, + PadRune: 32, + RoundingContext: RoundingContext{ + MinIntegerDigits: 0x1, + }, + }, }, { `'123'* #0'456'`, &Pattern{Affix: "\x05'123'\x05'456'", - FormatWidth: 8, - PadRune: 32, - MinIntegerDigits: 0x1, - Flags: PadAfterPrefix}, + FormatWidth: 8, + PadRune: 32, + RoundingContext: RoundingContext{ + MinIntegerDigits: 0x1, + }, + Flags: PadAfterPrefix}, }, { // no duplicate padding "*xpre#suf*x", nil, @@ -354,8 +431,8 @@ func TestParsePattern(t *testing.T) { } func TestPatternSize(t *testing.T) { - if sz := unsafe.Sizeof(Pattern{}); sz > 48 { - t.Errorf("got %d; want <= 48", sz) + if sz := unsafe.Sizeof(Pattern{}); sz > 56 { + t.Errorf("got %d; want <= 56", sz) } } diff --git a/vendor/golang.org/x/text/internal/number/tables.go b/vendor/golang.org/x/text/internal/number/tables.go index b08acc48c..286712b17 100644 --- a/vendor/golang.org/x/text/internal/number/tables.go +++ b/vendor/golang.org/x/text/internal/number/tables.go @@ -846,277 +846,309 @@ var tagToPercent = []uint8{ // 754 elements 0x04, 0x04, } // Size: 778 bytes -var formats = []Pattern{Pattern{Affix: "", - Offset: 0x0, - NegOffset: 0x0, - FormatWidth: 0x0, - RoundIncrement: 0x0, - PadRune: 0, - DigitShift: 0x0, - GroupingSize: [2]uint8{0x0, - 0x0}, - Flags: 0x0, +var formats = []Pattern{Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0, + MaxFractionDigits: 0, + Increment: 0x0, + IncrementScale: 0x0, + Mode: 0x0, + DigitShift: 0x0, MinIntegerDigits: 0x0, MaxIntegerDigits: 0x0, MinFractionDigits: 0x0, - MaxFractionDigits: 0x0, MinSignificantDigits: 0x0, - MaxSignificantDigits: 0x0, MinExponentDigits: 0x0}, - Pattern{Affix: "", - Offset: 0x0, - NegOffset: 0x0, - FormatWidth: 0x9, - RoundIncrement: 0x0, - PadRune: 0, - DigitShift: 0x0, - GroupingSize: [2]uint8{0x3, - 0x0}, - Flags: 0x0, + Affix: "", + Offset: 0x0, + NegOffset: 0x0, + PadRune: 0, + FormatWidth: 0x0, + GroupingSize: [2]uint8{0x0, + 0x0}, + Flags: 0x0}, + Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0, + MaxFractionDigits: 3, + Increment: 0x0, + IncrementScale: 0x0, + Mode: 0x0, + DigitShift: 0x0, MinIntegerDigits: 0x1, MaxIntegerDigits: 0x0, MinFractionDigits: 0x0, - MaxFractionDigits: 0x3, MinSignificantDigits: 0x0, - MaxSignificantDigits: 0x0, MinExponentDigits: 0x0}, - Pattern{Affix: "", - Offset: 0x0, - NegOffset: 0x0, - FormatWidth: 0x3, - RoundIncrement: 0x0, - PadRune: 0, - DigitShift: 0x0, - GroupingSize: [2]uint8{0x0, + Affix: "", + Offset: 0x0, + NegOffset: 0x0, + PadRune: 0, + FormatWidth: 0x9, + GroupingSize: [2]uint8{0x3, 0x0}, - Flags: 0x0, + Flags: 0x0}, + Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0, + MaxFractionDigits: 0, + Increment: 0x0, + IncrementScale: 0x0, + Mode: 0x0, + DigitShift: 0x0, MinIntegerDigits: 0x0, MaxIntegerDigits: 0x1, MinFractionDigits: 0x0, - MaxFractionDigits: 0x0, MinSignificantDigits: 0x0, - MaxSignificantDigits: 0x0, MinExponentDigits: 0x1}, - Pattern{Affix: "\x00\x03\u00a0%", - Offset: 0x0, - NegOffset: 0x0, - FormatWidth: 0x7, - RoundIncrement: 0x0, - PadRune: 0, - DigitShift: 0x2, - GroupingSize: [2]uint8{0x3, - 0x0}, - Flags: 0x0, - MinIntegerDigits: 0x1, - MaxIntegerDigits: 0x0, - MinFractionDigits: 0x0, - MaxFractionDigits: 0x0, - MinSignificantDigits: 0x0, - MaxSignificantDigits: 0x0, - MinExponentDigits: 0x0}, - Pattern{Affix: "\x00\x01%", - Offset: 0x0, - NegOffset: 0x0, - FormatWidth: 0x6, - RoundIncrement: 0x0, - PadRune: 0, - DigitShift: 0x2, - GroupingSize: [2]uint8{0x3, - 0x0}, - Flags: 0x0, - MinIntegerDigits: 0x1, - MaxIntegerDigits: 0x0, - MinFractionDigits: 0x0, - MaxFractionDigits: 0x0, - MinSignificantDigits: 0x0, - MaxSignificantDigits: 0x0, - MinExponentDigits: 0x0}, - Pattern{Affix: "", - Offset: 0x0, - NegOffset: 0x0, - FormatWidth: 0xc, - RoundIncrement: 0x0, - PadRune: 0, - DigitShift: 0x0, - GroupingSize: [2]uint8{0x3, - 0x2}, - Flags: 0x0, - MinIntegerDigits: 0x1, - MaxIntegerDigits: 0x0, - MinFractionDigits: 0x0, - MaxFractionDigits: 0x3, - MinSignificantDigits: 0x0, - MaxSignificantDigits: 0x0, - MinExponentDigits: 0x0}, - Pattern{Affix: "\x00\x01%", - Offset: 0x0, - NegOffset: 0x0, - FormatWidth: 0x9, - RoundIncrement: 0x0, - PadRune: 0, - DigitShift: 0x2, - GroupingSize: [2]uint8{0x3, - 0x2}, - Flags: 0x0, - MinIntegerDigits: 0x1, - MaxIntegerDigits: 0x0, - MinFractionDigits: 0x0, - MaxFractionDigits: 0x0, - MinSignificantDigits: 0x0, - MaxSignificantDigits: 0x0, - MinExponentDigits: 0x0}, - Pattern{Affix: "\x00\x03\u00a0%", - Offset: 0x0, - NegOffset: 0x0, - FormatWidth: 0xa, - RoundIncrement: 0x0, - PadRune: 0, - DigitShift: 0x2, - GroupingSize: [2]uint8{0x3, - 0x2}, - Flags: 0x0, - MinIntegerDigits: 0x1, - MaxIntegerDigits: 0x0, - MinFractionDigits: 0x0, - MaxFractionDigits: 0x0, - MinSignificantDigits: 0x0, - MaxSignificantDigits: 0x0, - MinExponentDigits: 0x0}, - Pattern{Affix: "", - Offset: 0x0, - NegOffset: 0x0, - FormatWidth: 0x9, - RoundIncrement: 0x0, - PadRune: 0, - DigitShift: 0x0, + Affix: "", + Offset: 0x0, + NegOffset: 0x0, + PadRune: 0, + FormatWidth: 0x3, GroupingSize: [2]uint8{0x0, 0x0}, - Flags: 0x0, + Flags: 0x0}, + Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0, + MaxFractionDigits: 0, + Increment: 0x0, + IncrementScale: 0x0, + Mode: 0x0, + DigitShift: 0x2, MinIntegerDigits: 0x1, MaxIntegerDigits: 0x0, MinFractionDigits: 0x0, - MaxFractionDigits: 0x6, MinSignificantDigits: 0x0, - MaxSignificantDigits: 0x0, MinExponentDigits: 0x0}, - Pattern{Affix: "", - Offset: 0x0, - NegOffset: 0x0, - FormatWidth: 0xd, - RoundIncrement: 0x0, - PadRune: 0, - DigitShift: 0x0, + Affix: "\x00\x03\u00a0%", + Offset: 0x0, + NegOffset: 0x0, + PadRune: 0, + FormatWidth: 0x7, + GroupingSize: [2]uint8{0x3, + 0x0}, + Flags: 0x0}, + Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0, + MaxFractionDigits: 0, + Increment: 0x0, + IncrementScale: 0x0, + Mode: 0x0, + DigitShift: 0x2, + MinIntegerDigits: 0x1, + MaxIntegerDigits: 0x0, + MinFractionDigits: 0x0, + MinSignificantDigits: 0x0, + MinExponentDigits: 0x0}, + Affix: "\x00\x01%", + Offset: 0x0, + NegOffset: 0x0, + PadRune: 0, + FormatWidth: 0x6, + GroupingSize: [2]uint8{0x3, + 0x0}, + Flags: 0x0}, + Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0, + MaxFractionDigits: 3, + Increment: 0x0, + IncrementScale: 0x0, + Mode: 0x0, + DigitShift: 0x0, + MinIntegerDigits: 0x1, + MaxIntegerDigits: 0x0, + MinFractionDigits: 0x0, + MinSignificantDigits: 0x0, + MinExponentDigits: 0x0}, + Affix: "", + Offset: 0x0, + NegOffset: 0x0, + PadRune: 0, + FormatWidth: 0xc, + GroupingSize: [2]uint8{0x3, + 0x2}, + Flags: 0x0}, + Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0, + MaxFractionDigits: 0, + Increment: 0x0, + IncrementScale: 0x0, + Mode: 0x0, + DigitShift: 0x2, + MinIntegerDigits: 0x1, + MaxIntegerDigits: 0x0, + MinFractionDigits: 0x0, + MinSignificantDigits: 0x0, + MinExponentDigits: 0x0}, + Affix: "\x00\x01%", + Offset: 0x0, + NegOffset: 0x0, + PadRune: 0, + FormatWidth: 0x9, + GroupingSize: [2]uint8{0x3, + 0x2}, + Flags: 0x0}, + Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0, + MaxFractionDigits: 0, + Increment: 0x0, + IncrementScale: 0x0, + Mode: 0x0, + DigitShift: 0x2, + MinIntegerDigits: 0x1, + MaxIntegerDigits: 0x0, + MinFractionDigits: 0x0, + MinSignificantDigits: 0x0, + MinExponentDigits: 0x0}, + Affix: "\x00\x03\u00a0%", + Offset: 0x0, + NegOffset: 0x0, + PadRune: 0, + FormatWidth: 0xa, + GroupingSize: [2]uint8{0x3, + 0x2}, + Flags: 0x0}, + Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0, + MaxFractionDigits: 6, + Increment: 0x0, + IncrementScale: 0x0, + Mode: 0x0, + DigitShift: 0x0, + MinIntegerDigits: 0x1, + MaxIntegerDigits: 0x0, + MinFractionDigits: 0x0, + MinSignificantDigits: 0x0, + MinExponentDigits: 0x0}, + Affix: "", + Offset: 0x0, + NegOffset: 0x0, + PadRune: 0, + FormatWidth: 0x9, GroupingSize: [2]uint8{0x0, 0x0}, - Flags: 0x4, + Flags: 0x0}, + Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0, + MaxFractionDigits: 6, + Increment: 0x0, + IncrementScale: 0x0, + Mode: 0x0, + DigitShift: 0x0, MinIntegerDigits: 0x1, MaxIntegerDigits: 0x0, MinFractionDigits: 0x6, - MaxFractionDigits: 0x6, MinSignificantDigits: 0x0, - MaxSignificantDigits: 0x0, MinExponentDigits: 0x3}, - Pattern{Affix: "\x00\x01%", - Offset: 0x0, - NegOffset: 0x0, - FormatWidth: 0x3, - RoundIncrement: 0x0, - PadRune: 0, - DigitShift: 0x2, + Affix: "", + Offset: 0x0, + NegOffset: 0x0, + PadRune: 0, + FormatWidth: 0xd, GroupingSize: [2]uint8{0x0, 0x0}, - Flags: 0x0, + Flags: 0x4}, + Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0, + MaxFractionDigits: 0, + Increment: 0x0, + IncrementScale: 0x0, + Mode: 0x0, + DigitShift: 0x2, MinIntegerDigits: 0x1, MaxIntegerDigits: 0x0, MinFractionDigits: 0x0, - MaxFractionDigits: 0x0, MinSignificantDigits: 0x0, - MaxSignificantDigits: 0x0, MinExponentDigits: 0x0}, - Pattern{Affix: "\x03%\u00a0\x00", - Offset: 0x0, - NegOffset: 0x0, - FormatWidth: 0x7, - RoundIncrement: 0x0, - PadRune: 0, - DigitShift: 0x2, - GroupingSize: [2]uint8{0x3, - 0x0}, - Flags: 0x0, - MinIntegerDigits: 0x1, - MaxIntegerDigits: 0x0, - MinFractionDigits: 0x0, - MaxFractionDigits: 0x0, - MinSignificantDigits: 0x0, - MaxSignificantDigits: 0x0, - MinExponentDigits: 0x0}, - Pattern{Affix: "\x03%\u00a0\x00\x04%\u00a0-\x00", - Offset: 0x0, - NegOffset: 0x5, - FormatWidth: 0x7, - RoundIncrement: 0x0, - PadRune: 0, - DigitShift: 0x2, - GroupingSize: [2]uint8{0x3, - 0x0}, - Flags: 0x0, - MinIntegerDigits: 0x1, - MaxIntegerDigits: 0x0, - MinFractionDigits: 0x0, - MaxFractionDigits: 0x0, - MinSignificantDigits: 0x0, - MaxSignificantDigits: 0x0, - MinExponentDigits: 0x0}, - Pattern{Affix: "\x01[\x01]", - Offset: 0x0, - NegOffset: 0x0, - FormatWidth: 0x5, - RoundIncrement: 0x0, - PadRune: 0, - DigitShift: 0x0, + Affix: "\x00\x01%", + Offset: 0x0, + NegOffset: 0x0, + PadRune: 0, + FormatWidth: 0x3, GroupingSize: [2]uint8{0x0, 0x0}, - Flags: 0x0, + Flags: 0x0}, + Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0, + MaxFractionDigits: 0, + Increment: 0x0, + IncrementScale: 0x0, + Mode: 0x0, + DigitShift: 0x2, + MinIntegerDigits: 0x1, + MaxIntegerDigits: 0x0, + MinFractionDigits: 0x0, + MinSignificantDigits: 0x0, + MinExponentDigits: 0x0}, + Affix: "\x03%\u00a0\x00", + Offset: 0x0, + NegOffset: 0x0, + PadRune: 0, + FormatWidth: 0x7, + GroupingSize: [2]uint8{0x3, + 0x0}, + Flags: 0x0}, + Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0, + MaxFractionDigits: 0, + Increment: 0x0, + IncrementScale: 0x0, + Mode: 0x0, + DigitShift: 0x2, + MinIntegerDigits: 0x1, + MaxIntegerDigits: 0x0, + MinFractionDigits: 0x0, + MinSignificantDigits: 0x0, + MinExponentDigits: 0x0}, + Affix: "\x03%\u00a0\x00\x04%\u00a0-\x00", + Offset: 0x0, + NegOffset: 0x5, + PadRune: 0, + FormatWidth: 0x7, + GroupingSize: [2]uint8{0x3, + 0x0}, + Flags: 0x0}, + Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0, + MaxFractionDigits: 0, + Increment: 0x0, + IncrementScale: 0x0, + Mode: 0x0, + DigitShift: 0x0, MinIntegerDigits: 0x0, MaxIntegerDigits: 0x1, MinFractionDigits: 0x0, - MaxFractionDigits: 0x0, MinSignificantDigits: 0x0, - MaxSignificantDigits: 0x0, MinExponentDigits: 0x1}, - Pattern{Affix: "", - Offset: 0x0, - NegOffset: 0x0, - FormatWidth: 0x1, - RoundIncrement: 0x0, - PadRune: 0, - DigitShift: 0x0, + Affix: "\x01[\x01]", + Offset: 0x0, + NegOffset: 0x0, + PadRune: 0, + FormatWidth: 0x5, GroupingSize: [2]uint8{0x0, 0x0}, - Flags: 0x0, + Flags: 0x0}, + Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0, + MaxFractionDigits: 0, + Increment: 0x0, + IncrementScale: 0x0, + Mode: 0x0, + DigitShift: 0x0, MinIntegerDigits: 0x0, MaxIntegerDigits: 0x0, MinFractionDigits: 0x0, - MaxFractionDigits: 0x0, MinSignificantDigits: 0x0, - MaxSignificantDigits: 0x0, MinExponentDigits: 0x0}, - Pattern{Affix: "\x01%\x00", - Offset: 0x0, - NegOffset: 0x0, - FormatWidth: 0x6, - RoundIncrement: 0x0, - PadRune: 0, - DigitShift: 0x2, - GroupingSize: [2]uint8{0x3, + Affix: "", + Offset: 0x0, + NegOffset: 0x0, + PadRune: 0, + FormatWidth: 0x1, + GroupingSize: [2]uint8{0x0, 0x0}, - Flags: 0x0, + Flags: 0x0}, + Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0, + MaxFractionDigits: 0, + Increment: 0x0, + IncrementScale: 0x0, + Mode: 0x0, + DigitShift: 0x2, MinIntegerDigits: 0x1, MaxIntegerDigits: 0x0, MinFractionDigits: 0x0, - MaxFractionDigits: 0x0, MinSignificantDigits: 0x0, - MaxSignificantDigits: 0x0, - MinExponentDigits: 0x0}} + MinExponentDigits: 0x0}, + Affix: "\x01%\x00", + Offset: 0x0, + NegOffset: 0x0, + PadRune: 0, + FormatWidth: 0x6, + GroupingSize: [2]uint8{0x3, + 0x0}, + Flags: 0x0}} // Total table size 7101 bytes (6KiB); checksum: 5190D0B3 diff --git a/vendor/golang.org/x/text/internal/ucd/ucd.go b/vendor/golang.org/x/text/internal/ucd/ucd.go index 309e8d8b1..8c45b5f3d 100644 --- a/vendor/golang.org/x/text/internal/ucd/ucd.go +++ b/vendor/golang.org/x/text/internal/ucd/ucd.go @@ -11,8 +11,8 @@ package ucd // import "golang.org/x/text/internal/ucd" import ( "bufio" - "bytes" "errors" + "fmt" "io" "log" "regexp" @@ -92,10 +92,11 @@ type Parser struct { keepRanges bool // Don't expand rune ranges in field 0. err error - comment []byte - field [][]byte + comment string + field []string // parsedRange is needed in case Range(0) is called more than once for one // field. In some cases this requires scanning ahead. + line int parsedRange bool rangeStart, rangeEnd rune @@ -103,15 +104,19 @@ type Parser struct { commentHandler func(s string) } -func (p *Parser) setError(err error) { - if p.err == nil { - p.err = err +func (p *Parser) setError(err error, msg string) { + if p.err == nil && err != nil { + if msg == "" { + p.err = fmt.Errorf("ucd:line:%d: %v", p.line, err) + } else { + p.err = fmt.Errorf("ucd:line:%d:%s: %v", p.line, msg, err) + } } } -func (p *Parser) getField(i int) []byte { +func (p *Parser) getField(i int) string { if i >= len(p.field) { - return nil + return "" } return p.field[i] } @@ -139,65 +144,66 @@ func (p *Parser) Next() bool { p.rangeStart++ return true } - p.comment = nil + p.comment = "" p.field = p.field[:0] p.parsedRange = false - for p.scanner.Scan() { - b := p.scanner.Bytes() - if len(b) == 0 { + for p.scanner.Scan() && p.err == nil { + p.line++ + s := p.scanner.Text() + if s == "" { continue } - if b[0] == '#' { + if s[0] == '#' { if p.commentHandler != nil { - p.commentHandler(strings.TrimSpace(string(b[1:]))) + p.commentHandler(strings.TrimSpace(s[1:])) } continue } // Parse line - if i := bytes.IndexByte(b, '#'); i != -1 { - p.comment = bytes.TrimSpace(b[i+1:]) - b = b[:i] + if i := strings.IndexByte(s, '#'); i != -1 { + p.comment = strings.TrimSpace(s[i+1:]) + s = s[:i] } - if b[0] == '@' { + if s[0] == '@' { if p.partHandler != nil { - p.field = append(p.field, bytes.TrimSpace(b[1:])) + p.field = append(p.field, strings.TrimSpace(s[1:])) p.partHandler(p) p.field = p.field[:0] } - p.comment = nil + p.comment = "" continue } for { - i := bytes.IndexByte(b, ';') + i := strings.IndexByte(s, ';') if i == -1 { - p.field = append(p.field, bytes.TrimSpace(b)) + p.field = append(p.field, strings.TrimSpace(s)) break } - p.field = append(p.field, bytes.TrimSpace(b[:i])) - b = b[i+1:] + p.field = append(p.field, strings.TrimSpace(s[:i])) + s = s[i+1:] } if !p.keepRanges { p.rangeStart, p.rangeEnd = p.getRange(0) } return true } - p.setError(p.scanner.Err()) + p.setError(p.scanner.Err(), "scanner failed") return false } -func parseRune(b []byte) (rune, error) { +func parseRune(b string) (rune, error) { if len(b) > 2 && b[0] == 'U' && b[1] == '+' { b = b[2:] } - x, err := strconv.ParseUint(string(b), 16, 32) + x, err := strconv.ParseUint(b, 16, 32) return rune(x), err } -func (p *Parser) parseRune(b []byte) rune { - x, err := parseRune(b) - p.setError(err) +func (p *Parser) parseRune(s string) rune { + x, err := parseRune(s) + p.setError(err, "failed to parse rune") return x } @@ -211,13 +217,13 @@ func (p *Parser) Rune(i int) rune { // Runes interprets and returns field i as a sequence of runes. func (p *Parser) Runes(i int) (runes []rune) { - add := func(b []byte) { - if b = bytes.TrimSpace(b); len(b) > 0 { - runes = append(runes, p.parseRune(b)) + add := func(s string) { + if s = strings.TrimSpace(s); len(s) > 0 { + runes = append(runes, p.parseRune(s)) } } for b := p.getField(i); ; { - i := bytes.IndexByte(b, ' ') + i := strings.IndexByte(b, ' ') if i == -1 { add(b) break @@ -247,7 +253,7 @@ func (p *Parser) Range(i int) (first, last rune) { func (p *Parser) getRange(i int) (first, last rune) { b := p.getField(i) - if k := bytes.Index(b, []byte("..")); k != -1 { + if k := strings.Index(b, ".."); k != -1 { return p.parseRune(b[:k]), p.parseRune(b[k+2:]) } // The first field may not be a rune, in which case we may ignore any error @@ -260,23 +266,24 @@ func (p *Parser) getRange(i int) (first, last rune) { p.keepRanges = true } // Special case for UnicodeData that was retained for backwards compatibility. - if i == 0 && len(p.field) > 1 && bytes.HasSuffix(p.field[1], []byte("First>")) { + if i == 0 && len(p.field) > 1 && strings.HasSuffix(p.field[1], "First>") { if p.parsedRange { return p.rangeStart, p.rangeEnd } mf := reRange.FindStringSubmatch(p.scanner.Text()) + p.line++ if mf == nil || !p.scanner.Scan() { - p.setError(errIncorrectLegacyRange) + p.setError(errIncorrectLegacyRange, "") return x, x } // Using Bytes would be more efficient here, but Text is a lot easier // and this is not a frequent case. ml := reRange.FindStringSubmatch(p.scanner.Text()) if ml == nil || mf[2] != ml[2] || ml[3] != "Last" || mf[4] != ml[4] { - p.setError(errIncorrectLegacyRange) + p.setError(errIncorrectLegacyRange, "") return x, x } - p.rangeStart, p.rangeEnd = x, p.parseRune(p.scanner.Bytes()[:len(ml[1])]) + p.rangeStart, p.rangeEnd = x, p.parseRune(p.scanner.Text()[:len(ml[1])]) p.parsedRange = true return p.rangeStart, p.rangeEnd } @@ -298,34 +305,34 @@ var bools = map[string]bool{ // Bool parses and returns field i as a boolean value. func (p *Parser) Bool(i int) bool { - b := p.getField(i) + f := p.getField(i) for s, v := range bools { - if bstrEq(b, s) { + if f == s { return v } } - p.setError(strconv.ErrSyntax) + p.setError(strconv.ErrSyntax, "error parsing bool") return false } // Int parses and returns field i as an integer value. func (p *Parser) Int(i int) int { x, err := strconv.ParseInt(string(p.getField(i)), 10, 64) - p.setError(err) + p.setError(err, "error parsing int") return int(x) } // Uint parses and returns field i as an unsigned integer value. func (p *Parser) Uint(i int) uint { x, err := strconv.ParseUint(string(p.getField(i)), 10, 64) - p.setError(err) + p.setError(err, "error parsing uint") return uint(x) } // Float parses and returns field i as a decimal value. func (p *Parser) Float(i int) float64 { x, err := strconv.ParseFloat(string(p.getField(i)), 64) - p.setError(err) + p.setError(err, "error parsing float") return x } @@ -353,24 +360,12 @@ var errUndefinedEnum = errors.New("ucd: undefined enum value") // Enum interprets and returns field i as a value that must be one of the values // in enum. func (p *Parser) Enum(i int, enum ...string) string { - b := p.getField(i) + f := p.getField(i) for _, s := range enum { - if bstrEq(b, s) { + if f == s { return s } } - p.setError(errUndefinedEnum) + p.setError(errUndefinedEnum, "error parsing enum") return "" } - -func bstrEq(b []byte, s string) bool { - if len(b) != len(s) { - return false - } - for i, c := range b { - if c != s[i] { - return false - } - } - return true -} diff --git a/vendor/golang.org/x/text/language/data_test.go b/vendor/golang.org/x/text/language/data_test.go deleted file mode 100644 index 738df4678..000000000 --- a/vendor/golang.org/x/text/language/data_test.go +++ /dev/null @@ -1,416 +0,0 @@ -// 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 language - -type matchTest struct { - comment string - supported string - test []struct{ match, desired string } -} - -var matchTests = []matchTest{ - { - "basics", - "fr, en-GB, en", - []struct{ match, desired string }{ - {"en-GB", "en-GB"}, - {"en", "en-US"}, - {"fr", "fr-FR"}, - {"fr", "ja-JP"}, - }, - }, - { - "script fallbacks", - "zh-CN, zh-TW, iw", - []struct{ match, desired string }{ - {"zh-TW", "zh-Hant"}, - {"zh-CN", "zh"}, - {"zh-CN", "zh-Hans-CN"}, - {"zh-TW", "zh-Hant-HK"}, - {"iw", "he-IT"}, - }, - }, - { - "language-specific script fallbacks 1", - "en, sr, nl", - []struct{ match, desired string }{ - {"sr", "sr-Latn"}, - {"en", "sh"}, - {"en", "hr"}, - {"en", "bs"}, - {"en", "nl-Cyrl"}, - }, - }, - { - "language-specific script fallbacks 2", - "en, sh", - []struct{ match, desired string }{ - {"sh", "sr"}, - {"sh", "sr-Cyrl"}, - {"sh", "hr"}, - }, - }, - { - "both deprecated and not", - "fil, tl, iw, he", - []struct{ match, desired string }{ - {"he", "he-IT"}, - {"he", "he"}, - {"iw", "iw"}, - {"fil", "fil-IT"}, - {"fil", "fil"}, - {"tl", "tl"}, - }, - }, - { - "nearby languages", - "en, fil, ro, nn", - []struct{ match, desired string }{ - {"fil", "tl"}, - {"ro", "mo"}, - {"nn", "nb"}, - {"en", "ja"}, // make sure default works - }, - }, - { - "nearby languages: Nynorsk to Bokmål", - "en, nb", - []struct{ match, desired string }{ - {"nb", "nn"}, - }, - }, - { - "nearby languages: Danish does not match nn", - "en, nn", - []struct{ match, desired string }{ - {"en", "da"}, - }, - }, - { - "nearby languages: Danish matches no", - "en, no", - []struct{ match, desired string }{ - {"no", "da"}, - }, - }, - { - "nearby languages: Danish matches nb", - "en, nb", - []struct{ match, desired string }{ - {"nb", "da"}, - }, - }, - { - "prefer matching languages over language variants.", - "nn, en-GB", - []struct{ match, desired string }{ - {"en-GB", "no, en-US"}, - {"en-GB", "nb, en-US"}, - }, - }, - { - "deprecated version is closer than same language with other differences", - "nl, he, en-GB", - []struct{ match, desired string }{ - {"he", "iw, en-US"}, - }, - }, - { - "macro equivalent is closer than same language with other differences", - "nl, zh, en-GB, no", - []struct{ match, desired string }{ - {"zh", "cmn, en-US"}, - {"no", "nb, en-US"}, - }, - }, - { - "legacy equivalent is closer than same language with other differences", - "nl, fil, en-GB", - []struct{ match, desired string }{ - {"fil", "tl, en-US"}, - }, - }, - { - "exact over equivalent", - "en, ro, mo, ro-MD", - []struct{ match, desired string }{ - {"ro", "ro"}, - {"mo", "mo"}, - {"ro-MD", "ro-MD"}, - }, - }, - { - "maximization of legacy", - "sr-Cyrl, sr-Latn, ro, ro-MD", - []struct{ match, desired string }{ - {"sr-Latn", "sh"}, - {"ro-MD", "mo"}, - }, - }, - { - "empty", - "", - []struct{ match, desired string }{ - {"und", "fr"}, - {"und", "en"}, - }, - }, - { - "private use subtags", - "fr, en-GB, x-bork, es-ES, es-419", - []struct{ match, desired string }{ - {"fr", "x-piglatin"}, - {"x-bork", "x-bork"}, - }, - }, - { - "grandfathered codes", - "fr, i-klingon, en-Latn-US", - []struct{ match, desired string }{ - {"en-Latn-US", "en-GB-oed"}, - {"tlh", "i-klingon"}, - }, - }, - { - "exact match", - "fr, en-GB, ja, es-ES, es-MX", - []struct{ match, desired string }{ - {"ja", "ja, de"}, - }, - }, - { - "simple variant match", - "fr, en-GB, ja, es-ES, es-MX", - []struct{ match, desired string }{ - // Intentionally avoiding a perfect-match or two candidates for variant matches. - {"en-GB", "de, en-US"}, - // Fall back. - {"fr", "de, zh"}, - }, - }, - { - "best match for traditional Chinese", - // Scenario: An application that only supports Simplified Chinese (and some - // other languages), but does not support Traditional Chinese. zh-Hans-CN - // could be replaced with zh-CN, zh, or zh-Hans, it wouldn't make much of - // a difference. - "fr, zh-Hans-CN, en-US", - []struct{ match, desired string }{ - {"zh-Hans-CN", "zh-TW"}, - {"zh-Hans-CN", "zh-Hant"}, - // One can avoid a zh-Hant to zh-Hans match by including a second language - // preference which is a better match. - {"en-US", "zh-TW, en"}, - {"en-US", "zh-Hant-CN, en"}, - {"zh-Hans-CN", "zh-Hans, en"}, - }, - }, - // More specific region and script tie-breakers. - { - "more specific script should win in case regions are identical", - "af, af-Latn, af-Arab", - []struct{ match, desired string }{ - {"af", "af"}, - {"af", "af-ZA"}, - {"af-Latn", "af-Latn-ZA"}, - {"af-Latn", "af-Latn"}, - }, - }, - { - "more specific region should win", - "nl, nl-NL, nl-BE", - []struct{ match, desired string }{ - {"nl", "nl"}, - {"nl", "nl-Latn"}, - {"nl-NL", "nl-Latn-NL"}, - {"nl-NL", "nl-NL"}, - }, - }, - { - "more specific region wins over more specific script", - "nl, nl-Latn, nl-NL, nl-BE", - []struct{ match, desired string }{ - {"nl", "nl"}, - {"nl-Latn", "nl-Latn"}, - {"nl-NL", "nl-NL"}, - {"nl-NL", "nl-Latn-NL"}, - }, - }, - // Region distance tie-breakers. - { - "region distance Portuguese", - "pt, pt-PT", - []struct{ match, desired string }{ - {"pt-PT", "pt-ES"}, - }, - }, - { - "region distance French", - "en, fr, fr-CA, fr-CH", - []struct{ match, desired string }{ - {"fr-CA", "fr-US"}, - }, - }, - { - "region distance German", - "de-AT, de-DE, de-CH", - []struct{ match, desired string }{ - {"de-DE", "de"}, - }, - }, - { - "en-AU is closer to en-GB than to en (which is en-US)", - "en, en-GB, es-ES, es-419", - []struct{ match, desired string }{ - {"en-GB", "en-AU"}, - {"es-419", "es-MX"}, - {"es-ES", "es-PT"}, - }, - }, - // Test exceptions with "und". - // When the undefined language doesn't match anything in the list, return the default, as usual. - // max("und") = "en-Latn-US", and since matching is based on maximized tags, the undefined - // language would normally match English. But that would produce the counterintuitive results. - // Matching "und" to "it,en" would be "en" matching "en" to "it,und" would be "und". - // To avoid this max("und") is defined as "und" - { - "undefined", - "it, fr", - []struct{ match, desired string }{ - {"it", "und"}, - }, - }, - { - "und does not match en", - "it, en", - []struct{ match, desired string }{ - {"it", "und"}, - }, - }, - { - "undefined in priority list", - "it, und", - []struct{ match, desired string }{ - {"und", "und"}, - {"it", "en"}, - }, - }, - // Undefined scripts and regions. - { - "undefined", - "it, fr, zh", - []struct{ match, desired string }{ - {"fr", "und-FR"}, - {"zh", "und-CN"}, - {"zh", "und-Hans"}, - {"zh", "und-Hant"}, - {"it", "und-Latn"}, - }, - }, - // Early termination conditions: do not consider all desired strings if - // a match is good enough. - { - "match on maximized tag", - "fr, en-GB, ja, es-ES, es-MX", - []struct{ match, desired string }{ - // ja-JP matches ja on likely subtags, and it's listed first, - // thus it wins over the second preference en-GB. - {"ja", "ja-JP, en-GB"}, - {"ja", "ja-Jpan-JP, en-GB"}, - }, - }, - { - "pick best maximized tag", - "ja, ja-Jpan-US, ja-JP, en, ru", - []struct{ match, desired string }{ - {"ja", "ja-Jpan, ru"}, - {"ja-JP", "ja-JP, ru"}, - {"ja-Jpan-US", "ja-US, ru"}, - }, - }, - { - "termination: pick best maximized match", - "ja, ja-Jpan, ja-JP, en, ru", - []struct{ match, desired string }{ - {"ja-JP", "ja-Jpan-JP, ru"}, - {"ja-Jpan", "ja-Jpan, ru"}, - }, - }, - { - "no match on maximized", - "en, de, fr, ja", - []struct{ match, desired string }{ - // de maximizes to de-DE. - // Pick the exact match for the secondary language instead. - {"fr", "de-CH, fr"}, - }, - }, - - // Test that the CLDR parent relations are correctly preserved by the matcher. - // These matches may change for different CLDR versions. - { - "parent relation preserved", - "en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK", - []struct{ match, desired string }{ - {"en-GB", "en-150"}, - {"en-GB", "en-AU"}, - {"en-GB", "en-BE"}, - {"en-GB", "en-GG"}, - {"en-GB", "en-GI"}, - {"en-GB", "en-HK"}, - {"en-GB", "en-IE"}, - {"en-GB", "en-IM"}, - {"en-GB", "en-IN"}, - {"en-GB", "en-JE"}, - {"en-GB", "en-MT"}, - {"en-GB", "en-NZ"}, - {"en-GB", "en-PK"}, - {"en-GB", "en-SG"}, - {"en-GB", "en-DE"}, - {"en-GB", "en-MT"}, - {"es-419", "es-AR"}, - {"es-419", "es-BO"}, - {"es-419", "es-CL"}, - {"es-419", "es-CO"}, - {"es-419", "es-CR"}, - {"es-419", "es-CU"}, - {"es-419", "es-DO"}, - {"es-419", "es-EC"}, - {"es-419", "es-GT"}, - {"es-419", "es-HN"}, - {"es-419", "es-MX"}, - {"es-419", "es-NI"}, - {"es-419", "es-PA"}, - {"es-419", "es-PE"}, - {"es-419", "es-PR"}, - {"es-419", "es-PY"}, - {"es-419", "es-SV"}, - {"es-419", "es-US"}, - {"es-419", "es-UY"}, - {"es-419", "es-VE"}, - {"pt-PT", "pt-AO"}, - {"pt-PT", "pt-CV"}, - {"pt-PT", "pt-GW"}, - {"pt-PT", "pt-MO"}, - {"pt-PT", "pt-MZ"}, - {"pt-PT", "pt-ST"}, - {"pt-PT", "pt-TL"}, - // TODO for CLDR 24+ - // - en-001 - // - {"zh-Hant-HK", "zh-Hant-MO"}, - }, - }, - // Options and variants are inherited from user-defined settings. - { - "preserve Unicode extension", - "en, de, sl-nedis", - []struct{ match, desired string }{ - {"de-u-co-phonebk", "de-FR-u-co-phonebk"}, - {"sl-nedis-u-cu-eur", "sl-nedis-u-cu-eur"}, - {"sl-nedis-u-cu-eur", "sl-u-cu-eur"}, - {"sl-nedis-u-cu-eur", "sl-HR-nedis-u-cu-eur"}, - }, - }, -} diff --git a/vendor/golang.org/x/text/language/display/display.go b/vendor/golang.org/x/text/language/display/display.go index 738afa496..eafe54a85 100644 --- a/vendor/golang.org/x/text/language/display/display.go +++ b/vendor/golang.org/x/text/language/display/display.go @@ -15,8 +15,10 @@ package display // import "golang.org/x/text/language/display" import ( + "fmt" "strings" + "golang.org/x/text/internal/format" "golang.org/x/text/language" ) @@ -32,6 +34,65 @@ All fairly low priority at the moment: - Consider compressing infrequently used languages and decompress on demand. */ +// A Formatter formats a tag in the current language. It is used in conjunction +// with the message package. +type Formatter struct { + lookup func(tag int, x interface{}) string + x interface{} +} + +// Format implements "golang.org/x/text/internal/format".Formatter. +func (f Formatter) Format(state format.State, verb rune) { + // TODO: there are a lot of inefficiencies in this code. Fix it when we + // language.Tag has embedded compact tags. + t := state.Language() + _, index, _ := matcher.Match(t) + str := f.lookup(index, f.x) + if str == "" { + // TODO: use language-specific punctuation. + // TODO: use codePattern instead of language? + if unknown := f.lookup(index, language.Und); unknown != "" { + fmt.Fprintf(state, "%v (%v)", unknown, f.x) + } else { + fmt.Fprintf(state, "[language: %v]", f.x) + } + } else { + state.Write([]byte(str)) + } +} + +// Language returns a Formatter that renders the name for lang in the +// the current language. x may be a language.Base or a language.Tag. +// It renders lang in the default language if no translation for the current +// language is supported. +func Language(lang interface{}) Formatter { + return Formatter{langFunc, lang} +} + +// Region returns a Formatter that renders the name for region in the current +// language. region may be a language.Region or a language.Tag. +// It renders region in the default language if no translation for the current +// language is supported. +func Region(region interface{}) Formatter { + return Formatter{regionFunc, region} +} + +// Script returns a Formatter that renders the name for script in the current +// language. script may be a language.Script or a language.Tag. +// It renders script in the default language if no translation for the current +// language is supported. +func Script(script interface{}) Formatter { + return Formatter{scriptFunc, script} +} + +// Script returns a Formatter that renders the name for tag in the current +// language. tag may be a language.Tag. +// It renders tag in the default language if no translation for the current +// language is supported. +func Tag(tag interface{}) Formatter { + return Formatter{tagFunc, tag} +} + // A Namer is used to get the name for a given value, such as a Tag, Language, // Script or Region. type Namer interface { @@ -84,6 +145,10 @@ func Languages(t language.Tag) Namer { type languageNamer int +func langFunc(i int, x interface{}) string { + return nameLanguage(languageNamer(i), x) +} + func (n languageNamer) name(i int) string { return lookup(langHeaders[:], int(n), i) } @@ -116,6 +181,10 @@ func Scripts(t language.Tag) Namer { type scriptNamer int +func scriptFunc(i int, x interface{}) string { + return nameScript(scriptNamer(i), x) +} + func (n scriptNamer) name(i int) string { return lookup(scriptHeaders[:], int(n), i) } @@ -140,6 +209,10 @@ func Regions(t language.Tag) Namer { type regionNamer int +func regionFunc(i int, x interface{}) string { + return nameRegion(regionNamer(i), x) +} + func (n regionNamer) name(i int) string { return lookup(regionHeaders[:], int(n), i) } @@ -162,6 +235,10 @@ func Tags(t language.Tag) Namer { type tagNamer int +func tagFunc(i int, x interface{}) string { + return nameTag(languageNamer(i), scriptNamer(i), regionNamer(i), x) +} + // Name implements the Namer interface for tag names. func (n tagNamer) Name(x interface{}) string { return nameTag(languageNamer(n), scriptNamer(n), regionNamer(n), x) diff --git a/vendor/golang.org/x/text/language/display/display_test.go b/vendor/golang.org/x/text/language/display/display_test.go index 38aa87591..35f0878eb 100644 --- a/vendor/golang.org/x/text/language/display/display_test.go +++ b/vendor/golang.org/x/text/language/display/display_test.go @@ -7,11 +7,13 @@ package display import ( "fmt" "reflect" + "strings" "testing" "unicode" "golang.org/x/text/internal/testtext" "golang.org/x/text/language" + "golang.org/x/text/message" ) // TODO: test that tables are properly dropped by the linker for various use @@ -326,7 +328,8 @@ func TestTag(t *testing.T) { tag string name string }{ - {"agq", "sr", ""}, // sr is in Value.Languages(), but is not supported by agq. + // sr is in Value.Languages(), but is not supported by agq. + {"agq", "sr", "|[language: sr]"}, {"nl", "nl", "Nederlands"}, // CLDR 30 dropped Vlaams as the word for nl-BE. It is still called // Flemish in English, though. TODO: check if this is a CLDR bug. @@ -346,8 +349,8 @@ func TestTag(t *testing.T) { {"en", firstLang3ace.String(), "Achinese"}, {"en", firstTagAr001.String(), "Modern Standard Arabic"}, {"en", lastTagZhHant.String(), "Traditional Chinese"}, - {"en", "aaa", ""}, - {"en", "zzj", ""}, + {"en", "aaa", "|Unknown language (aaa)"}, + {"en", "zzj", "|Unknown language (zzj)"}, // If full tag doesn't match, try without script or region. {"en", "aa-Hans", "Afar (Simplified Han)"}, {"en", "af-Arab", "Afrikaans (Arabic)"}, @@ -372,26 +375,46 @@ func TestTag(t *testing.T) { {"ro", "ro-MD", "moldovenească"}, {"ro", "mo", "moldovenească"}, } - for i, tt := range tests { - d := Tags(language.MustParse(tt.dict)) - if n := d.Name(language.Raw.MustParse(tt.tag)); n != tt.name { - // There are inconsistencies w.r.t. capitalization in the tests - // due to CLDR's update procedure which treats modern and other - // languages differently. - // See http://unicode.org/cldr/trac/ticket/8051. - // TODO: use language capitalization to sanitize the strings. - t.Errorf("%d:%s:%s: was %q; want %q", i, tt.dict, tt.tag, n, tt.name) - } + for _, tt := range tests { + t.Run(tt.dict+"/"+tt.tag, func(t *testing.T) { + name, fmtName := splitName(tt.name) + dict := language.MustParse(tt.dict) + tag := language.Raw.MustParse(tt.tag) + d := Tags(dict) + if n := d.Name(tag); n != name { + // There are inconsistencies w.r.t. capitalization in the tests + // due to CLDR's update procedure which treats modern and other + // languages differently. + // See http://unicode.org/cldr/trac/ticket/8051. + // TODO: use language capitalization to sanitize the strings. + t.Errorf("Name(%s) = %q; want %q", tag, n, name) + } + + p := message.NewPrinter(dict) + if n := p.Sprint(Tag(tag)); n != fmtName { + t.Errorf("Tag(%s) = %q; want %q", tag, n, fmtName) + } + }) } } +func splitName(names string) (name, formatName string) { + split := strings.Split(names, "|") + name, formatName = split[0], split[0] + if len(split) > 1 { + formatName = split[1] + } + return name, formatName +} + func TestLanguage(t *testing.T) { tests := []struct { dict string tag string name string }{ - {"agq", "sr", ""}, // sr is in Value.Languages(), but is not supported by agq. + // sr is in Value.Languages(), but is not supported by agq. + {"agq", "sr", "|[language: sr]"}, // CLDR 30 dropped Vlaams as the word for nl-BE. It is still called // Flemish in English, though. TODO: this is probably incorrect. // West-Vlaams (vls) is not Vlaams. West-Vlaams could be considered its @@ -412,8 +435,8 @@ func TestLanguage(t *testing.T) { {"en", firstLang3ace.String(), "Achinese"}, {"en", firstTagAr001.String(), "Modern Standard Arabic"}, {"en", lastTagZhHant.String(), "Traditional Chinese"}, - {"en", "aaa", ""}, - {"en", "zzj", ""}, + {"en", "aaa", "|Unknown language (aaa)"}, + {"en", "zzj", "|Unknown language (zzj)"}, // If full tag doesn't match, try without script or region. {"en", "aa-Hans", "Afar"}, {"en", "af-Arab", "Afrikaans"}, @@ -421,7 +444,7 @@ func TestLanguage(t *testing.T) { {"en", "aa-GB", "Afar"}, {"en", "af-NA", "Afrikaans"}, {"en", "zu-BR", "Zulu"}, - {"agq", "zh-Hant", ""}, + {"agq", "zh-Hant", "|[language: zh-Hant]"}, // Canonical equivalents. {"ro", "ro-MD", "moldovenească"}, {"ro", "mo", "moldovenească"}, @@ -431,15 +454,26 @@ func TestLanguage(t *testing.T) { {"en", "sr-ME", "Serbian"}, {"en", "sr-Latn-ME", "Serbo-Croatian"}, // See comments in TestTag. } - for i, tt := range tests { + for _, tt := range tests { testtext.Run(t, tt.dict+"/"+tt.tag, func(t *testing.T) { - d := Languages(language.Raw.MustParse(tt.dict)) - if n := d.Name(language.Raw.MustParse(tt.tag)); n != tt.name { - t.Errorf("%d:%s:%s: was %q; want %q", i, tt.dict, tt.tag, n, tt.name) + name, fmtName := splitName(tt.name) + dict := language.MustParse(tt.dict) + tag := language.Raw.MustParse(tt.tag) + p := message.NewPrinter(dict) + d := Languages(dict) + if n := d.Name(tag); n != name { + t.Errorf("Name(%v) = %q; want %q", tag, n, name) + } + if n := p.Sprint(Language(tag)); n != fmtName { + t.Errorf("Language(%v) = %q; want %q", tag, n, fmtName) } if len(tt.tag) <= 3 { - if n := d.Name(language.MustParseBase(tt.tag)); n != tt.name { - t.Errorf("%d:%s:base(%s): was %q; want %q", i, tt.dict, tt.tag, n, tt.name) + base := language.MustParseBase(tt.tag) + if n := d.Name(base); n != name { + t.Errorf("Name(%v) = %q; want %q", base, n, name) + } + if n := p.Sprint(Language(base)); n != fmtName { + t.Errorf("Language(%v) = %q; want %q", base, n, fmtName) } } }) @@ -468,21 +502,32 @@ func TestScript(t *testing.T) { // Don't introduce scripts with canonicalization. {"en", "sh", "Unknown Script"}, // sh canonicalizes to sr-Latn } - for i, tt := range tests { - d := Scripts(language.MustParse(tt.dict)) - var x interface{} - if unicode.IsUpper(rune(tt.scr[0])) { - x = language.MustParseScript(tt.scr) - tag, _ := language.Raw.Compose(x) - if n := d.Name(tag); n != tt.name { - t.Errorf("%d:%s:%s: was %q; want %q", i, tt.dict, tt.scr, n, tt.name) + for _, tt := range tests { + t.Run(tt.dict+"/"+tt.scr, func(t *testing.T) { + name, fmtName := splitName(tt.name) + dict := language.MustParse(tt.dict) + p := message.NewPrinter(dict) + d := Scripts(dict) + var tag language.Tag + if unicode.IsUpper(rune(tt.scr[0])) { + x := language.MustParseScript(tt.scr) + if n := d.Name(x); n != name { + t.Errorf("Name(%v) = %q; want %q", x, n, name) + } + if n := p.Sprint(Script(x)); n != fmtName { + t.Errorf("Script(%v) = %q; want %q", x, n, fmtName) + } + tag, _ = language.Raw.Compose(x) + } else { + tag = language.Raw.MustParse(tt.scr) } - } else { - x = language.Raw.MustParse(tt.scr) - } - if n := d.Name(x); n != tt.name { - t.Errorf("%d:%s:%s: was %q; want %q", i, tt.dict, tt.scr, n, tt.name) - } + if n := d.Name(tag); n != name { + t.Errorf("Name(%v) = %q; want %q", tag, n, name) + } + if n := p.Sprint(Script(tag)); n != fmtName { + t.Errorf("Script(%v) = %q; want %q", tag, n, fmtName) + } + }) } } @@ -506,23 +551,32 @@ func TestRegion(t *testing.T) { // Don't introduce regions with canonicalization. {"en", "mo", "Unknown Region"}, } - for i, tt := range tests { - d := Regions(language.MustParse(tt.dict)) - var x interface{} - if unicode.IsUpper(rune(tt.reg[0])) { - // Region - x = language.MustParseRegion(tt.reg) - tag, _ := language.Raw.Compose(x) - if n := d.Name(tag); n != tt.name { - t.Errorf("%d:%s:%s: was %q; want %q", i, tt.dict, tt.reg, n, tt.name) + for _, tt := range tests { + t.Run(tt.dict+"/"+tt.reg, func(t *testing.T) { + dict := language.MustParse(tt.dict) + p := message.NewPrinter(dict) + d := Regions(dict) + var tag language.Tag + if unicode.IsUpper(rune(tt.reg[0])) { + // Region + x := language.MustParseRegion(tt.reg) + if n := d.Name(x); n != tt.name { + t.Errorf("Name(%v) = %q; want %q", x, n, tt.name) + } + if n := p.Sprint(Region(x)); n != tt.name { + t.Errorf("Region(%v) = %q; want %q", x, n, tt.name) + } + tag, _ = language.Raw.Compose(x) + } else { + tag = language.Raw.MustParse(tt.reg) } - } else { - // Tag - x = language.Raw.MustParse(tt.reg) - } - if n := d.Name(x); n != tt.name { - t.Errorf("%d:%s:%s: was %q; want %q", i, tt.dict, tt.reg, n, tt.name) - } + if n := d.Name(tag); n != tt.name { + t.Errorf("Name(%v) = %q; want %q", tag, n, tt.name) + } + if n := p.Sprint(Region(tag)); n != tt.name { + t.Errorf("Region(%v) = %q; want %q", tag, n, tt.name) + } + }) } } diff --git a/vendor/golang.org/x/text/language/display/examples_test.go b/vendor/golang.org/x/text/language/display/examples_test.go index f392f2109..15d758434 100644 --- a/vendor/golang.org/x/text/language/display/examples_test.go +++ b/vendor/golang.org/x/text/language/display/examples_test.go @@ -9,8 +9,26 @@ import ( "golang.org/x/text/language" "golang.org/x/text/language/display" + "golang.org/x/text/message" ) +func ExampleFormatter() { + message.SetString(language.Dutch, "In %v people speak %v.", "In %v spreekt men %v.") + + fr := language.French + region, _ := fr.Region() + for _, tag := range []string{"en", "nl"} { + p := message.NewPrinter(language.Make(tag)) + + p.Printf("In %v people speak %v.", display.Region(region), display.Language(fr)) + p.Println() + } + + // Output: + // In France people speak French. + // In Frankrijk spreekt men Frans. +} + func ExampleNamer() { supported := []string{ "en-US", "en-GB", "ja", "zh", "zh-Hans", "zh-Hant", "pt", "pt-PT", "ko", "ar", "el", "ru", "uk", "pa", diff --git a/vendor/golang.org/x/text/language/display/maketables.go b/vendor/golang.org/x/text/language/display/maketables.go index 3fcd9c87d..8f2fd076b 100644 --- a/vendor/golang.org/x/text/language/display/maketables.go +++ b/vendor/golang.org/x/text/language/display/maketables.go @@ -205,7 +205,13 @@ func (b *builder) generate() { b.setData("lang", func(g *group, loc language.Tag, ldn *cldr.LocaleDisplayNames) { if ldn.Languages != nil { for _, v := range ldn.Languages.Language { - tag := tagForm.MustParse(v.Type) + lang := v.Type + if lang == "root" { + // We prefer the data from "und" + // TODO: allow both the data for root and und somehow. + continue + } + tag := tagForm.MustParse(lang) if tags.contains(tag) { g.set(loc, tag.String(), v.Data()) } diff --git a/vendor/golang.org/x/text/language/display/tables.go b/vendor/golang.org/x/text/language/display/tables.go index 6493357ef..eb297e33f 100644 --- a/vendor/golang.org/x/text/language/display/tables.go +++ b/vendor/golang.org/x/text/language/display/tables.go @@ -497,16 +497,16 @@ var langHeaders = [252]header{ "sianutulutimnetesoterenatetumtigretivtokelautsakhurklingontlingittal" + "ixíntamashektonga nyasatok pisinturoyotarokotsakoniutsimshiantati mu" + "sulmántumbukatuvalutasawaqtuvinianutamazight del Atles centraludmurt" + - "ugaríticuumbundurootvaivenecianuvepsiuflamencu occidentalfranconianu" + - " del Mainvóticuvorovunjowalserwolayttawaraywashowarlpirichinu wucalm" + - "ucomingrelianusogayaoyapésyangbenyembanheengatucantonészapotecasimbó" + - "licu Blisszeelandészenagatamazight estándar de Marruecoszuniensin co" + - "nteníu llingüísticuzazaárabe estándar modernualemán d’Austriaaltuale" + - "mán de Suizainglés d’Australiainglés de Canadáinglés de Gran Bretaña" + - "inglés d’Estaos Xuníosespañol d’América Llatinaespañol européuespaño" + - "l de Méxicufrancés de Canadáfrancés de Suizabaxu saxónflamencuportug" + - "ués del Brasilportugués européumoldavuserbo-croatasuaḥili del Conguc" + - "hinu simplificáuchinu tradicional", + "ugaríticuumbundullingua desconocidavaivenecianuvepsiuflamencu occide" + + "ntalfranconianu del Mainvóticuvorovunjowalserwolayttawaraywashowarlp" + + "irichinu wucalmucomingrelianusogayaoyapésyangbenyembanheengatucanton" + + "észapotecasimbólicu Blisszeelandészenagatamazight estándar de Marru" + + "ecoszuniensin conteníu llingüísticuzazaárabe estándar modernualemán " + + "d’Austriaaltualemán de Suizainglés d’Australiainglés de Canadáinglés" + + " de Gran Bretañainglés d’Estaos Xuníosespañol d’América Llatinaespañ" + + "ol européuespañol de Méxicufrancés de Canadáfrancés de Suizabaxu sax" + + "ónflamencuportugués del Brasilportugués européumoldavuserbo-croatas" + + "uaḥili del Conguchinu simplificáuchinu tradicional", []uint16{ // 613 elements // Entry 0 - 3F 0x0000, 0x0004, 0x000e, 0x0018, 0x0021, 0x0025, 0x002e, 0x0037, @@ -586,15 +586,15 @@ var langHeaders = [252]header{ 0x1109, 0x1112, 0x1116, 0x111b, 0x111f, 0x1125, 0x112a, 0x112f, 0x1132, 0x1139, 0x1140, 0x1147, 0x114e, 0x1156, 0x115e, 0x1169, 0x1172, 0x1178, 0x117e, 0x1186, 0x118f, 0x119d, 0x11a4, 0x11aa, - 0x11b1, 0x11ba, 0x11d5, 0x11db, 0x11e5, 0x11ec, 0x11f0, 0x11f3, - 0x11fc, 0x1202, 0x1215, 0x1229, 0x1230, 0x1234, 0x1239, 0x123f, - 0x1247, 0x124c, 0x1251, 0x1259, 0x1261, 0x1268, 0x1273, 0x1277, + 0x11b1, 0x11ba, 0x11d5, 0x11db, 0x11e5, 0x11ec, 0x11ff, 0x1202, + 0x120b, 0x1211, 0x1224, 0x1238, 0x123f, 0x1243, 0x1248, 0x124e, + 0x1256, 0x125b, 0x1260, 0x1268, 0x1270, 0x1277, 0x1282, 0x1286, // Entry 240 - 27F - 0x127a, 0x1280, 0x1287, 0x128c, 0x1295, 0x129e, 0x12a6, 0x12b6, - 0x12c0, 0x12c6, 0x12e6, 0x12ea, 0x1308, 0x130c, 0x1324, 0x1324, - 0x1337, 0x134b, 0x1360, 0x1372, 0x138a, 0x13a4, 0x13c1, 0x13d2, - 0x13e5, 0x13e5, 0x13f8, 0x1409, 0x1414, 0x141c, 0x1431, 0x1444, - 0x144b, 0x1457, 0x146a, 0x147c, 0x148d, + 0x1289, 0x128f, 0x1296, 0x129b, 0x12a4, 0x12ad, 0x12b5, 0x12c5, + 0x12cf, 0x12d5, 0x12f5, 0x12f9, 0x1317, 0x131b, 0x1333, 0x1333, + 0x1346, 0x135a, 0x136f, 0x1381, 0x1399, 0x13b3, 0x13d0, 0x13e1, + 0x13f4, 0x13f4, 0x1407, 0x1418, 0x1423, 0x142b, 0x1440, 0x1453, + 0x145a, 0x1466, 0x1479, 0x148b, 0x149c, }, }, { // az @@ -635,13 +635,13 @@ var langHeaders = [252]header{ "ојраборо сеннитачелитшанҹәнуби самилуле самиинари самисколт самисон" + "инкесранан тонгосаһосукумакоморсуријатимнетесотетумтигреклингонток " + "писинтарокотумбукатувалутасавагтувинјанМәркәзи Атлас тамазиҹәсиудму" + - "ртумбундурутваивунјоваллесваламоварајкалмыксогајангбенјембакантонта" + - "мазизунидил мәзмуну јохдурзазамүасир стандарт әрәбАвстрија алманҹас" + - "ыИсвечрә јүксәк алманҹасыАвстралија инҝилисҹәсиКанада инҝилисҹәсиБр" + - "итанија инҝилисҹәсиАмерика инҝилисҹәсиЛатын Америкасы испанҹасыКаст" + - "илија испанҹасыМексика испанҹасыКанада франсызҹасыИсвечрә франсызҹа" + - "сыашағы саксонфламандБразилија португалҹасыПортугалија португалҹасы" + - "Конго суаһилиҹәсисадәләшмиш чинәнәнәви чин", + "ртумбундунамәлум дилваивунјоваллесваламоварајкалмыксогајангбенјемба" + + "кантонтамазизунидил мәзмуну јохдурзазамүасир стандарт әрәбАвстрија " + + "алманҹасыИсвечрә јүксәк алманҹасыАвстралија инҝилисҹәсиКанада инҝил" + + "исҹәсиБританија инҝилисҹәсиАмерика инҝилисҹәсиЛатын Америкасы испан" + + "ҹасыКастилија испанҹасыМексика испанҹасыКанада франсызҹасыИсвечрә ф" + + "рансызҹасыашағы саксонфламандБразилија португалҹасыПортугалија порт" + + "угалҹасыКонго суаһилиҹәсисадәләшмиш чинәнәнәви чин", []uint16{ // 613 elements // Entry 0 - 3F 0x0000, 0x0008, 0x0012, 0x0012, 0x0024, 0x002c, 0x0036, 0x0042, @@ -721,15 +721,15 @@ var langHeaders = [252]header{ 0x1071, 0x1071, 0x1071, 0x107b, 0x1083, 0x1083, 0x108d, 0x1097, 0x1097, 0x1097, 0x1097, 0x10a5, 0x10a5, 0x10a5, 0x10a5, 0x10a5, 0x10b6, 0x10b6, 0x10c2, 0x10c2, 0x10c2, 0x10c2, 0x10d0, 0x10dc, - 0x10ea, 0x10fa, 0x1128, 0x1134, 0x1134, 0x1142, 0x1148, 0x114e, - 0x114e, 0x114e, 0x114e, 0x114e, 0x114e, 0x114e, 0x1158, 0x1164, - 0x1170, 0x117a, 0x117a, 0x117a, 0x117a, 0x1186, 0x1186, 0x118e, + 0x10ea, 0x10fa, 0x1128, 0x1134, 0x1134, 0x1142, 0x1157, 0x115d, + 0x115d, 0x115d, 0x115d, 0x115d, 0x115d, 0x115d, 0x1167, 0x1173, + 0x117f, 0x1189, 0x1189, 0x1189, 0x1189, 0x1195, 0x1195, 0x119d, // Entry 240 - 27F - 0x118e, 0x118e, 0x119c, 0x11a6, 0x11a6, 0x11b2, 0x11b2, 0x11b2, - 0x11b2, 0x11b2, 0x11be, 0x11c6, 0x11e8, 0x11f0, 0x1216, 0x1216, - 0x1239, 0x1267, 0x1292, 0x12b5, 0x12de, 0x1303, 0x1333, 0x1358, - 0x1379, 0x1379, 0x139c, 0x13c1, 0x13d8, 0x13e6, 0x1411, 0x1440, - 0x1440, 0x1440, 0x1461, 0x147c, 0x1491, + 0x119d, 0x119d, 0x11ab, 0x11b5, 0x11b5, 0x11c1, 0x11c1, 0x11c1, + 0x11c1, 0x11c1, 0x11cd, 0x11d5, 0x11f7, 0x11ff, 0x1225, 0x1225, + 0x1248, 0x1276, 0x12a1, 0x12c4, 0x12ed, 0x1312, 0x1342, 0x1367, + 0x1388, 0x1388, 0x13ab, 0x13d0, 0x13e7, 0x13f5, 0x1420, 0x144f, + 0x144f, 0x144f, 0x1470, 0x148b, 0x14a0, }, }, { // bas @@ -823,16 +823,16 @@ var langHeaders = [252]header{ "ітшанпаўднёвасаамскаялуле-саамскаяінары-саамскаяколта-саамскаясанін" + "кесранан-тонгасахасукумашумерскаякаморскаясірыйскаятэмнэтэсотэтумты" + "грэклінганток-пісінтарокатумбукатувалутасаўактувінскаяцэнтральнаатл" + - "аская тамазіхтудмурцкаяумбундукораньваівунджовальшскаяволайтаварайв" + - "арлпірыкалмыцкаясогаянгбэнйембакантонскі дыялект кітайскайсапатэкст" + - "андартная мараканская тамазіхтзуніняма моўнага матэрыялузазакісучас" + - "ная стандартная арабскаяаўстрыйская нямецкаяшвейцарская стандартная" + - " нямецкаяаўстралійская англійскаяканадская англійскаябрытанская англ" + - "ійскаяамерыканская англійскаялацінаамерыканская іспанскаяеўрапейска" + - "я іспанскаямексіканская іспанскаяканадская французскаяшвейцарская ф" + - "ранцузскаяніжнесаксонскаяфламандскаябразільская партугальскаяеўрапе" + - "йская партугальскаямалдаўская румынскаясербскахарвацкаякангалезская" + - " суахіліспрошчаная кітайскаятрадыцыйная кітайская", + "аская тамазіхтудмурцкаяумбундуневядомая моваваівунджовальшскаяволай" + + "таварайварлпірыкалмыцкаясогаянгбэнйембакантонскі дыялект кітайскайс" + + "апатэкстандартная мараканская тамазіхтзуніняма моўнага матэрыялузаз" + + "акісучасная стандартная арабскаяаўстрыйская нямецкаяшвейцарская ста" + + "ндартная нямецкаяаўстралійская англійскаяканадская англійскаябрытан" + + "ская англійскаяамерыканская англійскаялацінаамерыканская іспанскаяе" + + "ўрапейская іспанскаямексіканская іспанскаяканадская французскаяшвей" + + "царская французскаяніжнесаксонскаяфламандскаябразільская партугальс" + + "каяеўрапейская партугальскаямалдаўская румынскаясербскахарвацкаякан" + + "галезская суахіліспрошчаная кітайскаятрадыцыйная кітайская", []uint16{ // 613 elements // Entry 0 - 3F 0x0000, 0x0010, 0x0022, 0x0022, 0x0034, 0x003c, 0x004e, 0x0062, @@ -912,15 +912,15 @@ var langHeaders = [252]header{ 0x17e3, 0x17e3, 0x17e3, 0x17ed, 0x17f5, 0x17f5, 0x17ff, 0x1809, 0x1809, 0x1809, 0x1809, 0x1817, 0x1817, 0x1817, 0x1817, 0x1817, 0x1828, 0x1828, 0x1834, 0x1834, 0x1834, 0x1834, 0x1842, 0x184e, - 0x185c, 0x186e, 0x18a3, 0x18b5, 0x18b5, 0x18c3, 0x18cf, 0x18d5, - 0x18d5, 0x18d5, 0x18d5, 0x18d5, 0x18d5, 0x18d5, 0x18e1, 0x18f3, - 0x1901, 0x190b, 0x190b, 0x191b, 0x191b, 0x192d, 0x192d, 0x1935, + 0x185c, 0x186e, 0x18a3, 0x18b5, 0x18b5, 0x18c3, 0x18de, 0x18e4, + 0x18e4, 0x18e4, 0x18e4, 0x18e4, 0x18e4, 0x18e4, 0x18f0, 0x1902, + 0x1910, 0x191a, 0x191a, 0x192a, 0x192a, 0x193c, 0x193c, 0x1944, // Entry 240 - 27F - 0x1935, 0x1935, 0x1941, 0x194b, 0x194b, 0x197f, 0x198d, 0x198d, - 0x198d, 0x198d, 0x19cb, 0x19d3, 0x19fd, 0x1a09, 0x1a41, 0x1a41, - 0x1a68, 0x1aa6, 0x1ad5, 0x1afc, 0x1b25, 0x1b52, 0x1b89, 0x1bb2, - 0x1bdd, 0x1bdd, 0x1c06, 0x1c33, 0x1c51, 0x1c67, 0x1c98, 0x1cc9, - 0x1cf0, 0x1d10, 0x1d37, 0x1d5e, 0x1d87, + 0x1944, 0x1944, 0x1950, 0x195a, 0x195a, 0x198e, 0x199c, 0x199c, + 0x199c, 0x199c, 0x19da, 0x19e2, 0x1a0c, 0x1a18, 0x1a50, 0x1a50, + 0x1a77, 0x1ab5, 0x1ae4, 0x1b0b, 0x1b34, 0x1b61, 0x1b98, 0x1bc1, + 0x1bec, 0x1bec, 0x1c15, 0x1c42, 0x1c60, 0x1c76, 0x1ca7, 0x1cd8, + 0x1cff, 0x1d1f, 0x1d46, 0x1d6d, 0x1d96, }, }, { // bem @@ -1400,12 +1400,12 @@ var langHeaders = [252]header{ "ीलुले सामीईनारी सामीस्कोल्ट् सामीसोनिंगकेसोगडीयनस्रनान् टॉंगोसेरेर" + "सुकुमासुसुसुमेरिअनपारंपरीक सिरिआकसिरिआकतीमनेतेरेनोतेतुमटीग्रेटीव्ट" + "ोकेलौक्लींगदनट्लिंगीततमाशेकन्यासा टॉंगातोक पिसीनत्सीमशीआन्टुँबुकाट" + - "ुवालुटुवीउड़मुर्तउगारितीउंबुंडुरुटवाईवोटीकवालामोवारयवाशोकालमीकयाओय" + - "ापीज़ज़ापोतेकब्लीस चिन्हज़ेनागाज़ुनीरिक्तज़ाज़ाजर्मन (ऑस्ट्रिया)उच" + - "्च स्तरिय स्वीस जर्मनअंग्रेज़ी (ऑस्ट्रेलिया का)अंग्रेज़ी (कनाडाई)अ" + - "ंग्रेजी (ब्रिटिश)अंग्रेज़ी (अमरिकी)लैटिन अमरिकी स्पैनिशईवेरियाई स्" + - "पैनिशफ्रांसीसी (कनाडाई)फ्रांसीसी (स्वीस)फ्लेमीमोल्डेवियन्सर्बो-क्र" + - "ोएशन्चीनी (सरलीकृत)चीनी (पारम्परिक)", + "ुवालुटुवीउड़मुर्तउगारितीउंबुंडुअज्ञात या अवैध भाषावाईवोटीकवालामोवा" + + "रयवाशोकालमीकयाओयापीज़ज़ापोतेकब्लीस चिन्हज़ेनागाज़ुनीरिक्तज़ाज़ाजर्" + + "मन (ऑस्ट्रिया)उच्च स्तरिय स्वीस जर्मनअंग्रेज़ी (ऑस्ट्रेलिया का)अंग" + + "्रेज़ी (कनाडाई)अंग्रेजी (ब्रिटिश)अंग्रेज़ी (अमरिकी)लैटिन अमरिकी स्" + + "पैनिशईवेरियाई स्पैनिशफ्रांसीसी (कनाडाई)फ्रांसीसी (स्वीस)फ्लेमीमोल्" + + "डेवियन्सर्बो-क्रोएशन्चीनी (सरलीकृत)चीनी (पारम्परिक)", []uint16{ // 613 elements // Entry 0 - 3F 0x0000, 0x0000, 0x0021, 0x0036, 0x004b, 0x0054, 0x006f, 0x0084, @@ -1485,15 +1485,15 @@ var langHeaders = [252]header{ 0x208f, 0x208f, 0x208f, 0x209e, 0x209e, 0x20b0, 0x20bf, 0x20d1, 0x20dd, 0x20ef, 0x20ef, 0x2107, 0x211f, 0x211f, 0x2131, 0x2153, 0x216c, 0x216c, 0x216c, 0x216c, 0x218a, 0x218a, 0x219f, 0x21b1, - 0x21b1, 0x21bd, 0x21bd, 0x21d5, 0x21ea, 0x21ff, 0x2208, 0x2211, - 0x2211, 0x2211, 0x2211, 0x2211, 0x2220, 0x2220, 0x2220, 0x2220, - 0x2232, 0x223e, 0x224a, 0x224a, 0x224a, 0x225c, 0x225c, 0x225c, + 0x21b1, 0x21bd, 0x21bd, 0x21d5, 0x21ea, 0x21ff, 0x2232, 0x223b, + 0x223b, 0x223b, 0x223b, 0x223b, 0x224a, 0x224a, 0x224a, 0x224a, + 0x225c, 0x2268, 0x2274, 0x2274, 0x2274, 0x2286, 0x2286, 0x2286, // Entry 240 - 27F - 0x2265, 0x2277, 0x2277, 0x2277, 0x2277, 0x2277, 0x228f, 0x22ae, - 0x22ae, 0x22c3, 0x22c3, 0x22d2, 0x22e1, 0x22f3, 0x22f3, 0x22f3, - 0x2320, 0x235f, 0x23a5, 0x23d5, 0x2405, 0x2435, 0x246d, 0x249b, - 0x249b, 0x249b, 0x24cb, 0x24f8, 0x24f8, 0x250a, 0x250a, 0x250a, - 0x252b, 0x2553, 0x2553, 0x2577, 0x25a1, + 0x228f, 0x22a1, 0x22a1, 0x22a1, 0x22a1, 0x22a1, 0x22b9, 0x22d8, + 0x22d8, 0x22ed, 0x22ed, 0x22fc, 0x230b, 0x231d, 0x231d, 0x231d, + 0x234a, 0x2389, 0x23cf, 0x23ff, 0x242f, 0x245f, 0x2497, 0x24c5, + 0x24c5, 0x24c5, 0x24f5, 0x2522, 0x2522, 0x2534, 0x2534, 0x2534, + 0x2555, 0x257d, 0x257d, 0x25a1, 0x25cb, }, }, { // bs @@ -1552,12 +1552,12 @@ var langHeaders = [252]header{ "kesogdiensrananski tongoserersahosukumasususumerskikomorskiklasični " + "sirijskisirijskitimnetesoterenotetumtigretivtokelauklingonskitlingit" + "tamašeknjasa tongatok pisintarokotsimšiantumbukatuvalutasavaktuvinij" + - "skicentralnoatlaski tamazigtudmurtugaritskiumbundukorijenskivaivotsk" + - "ivunjovalservalamovarejvašovarlpirikalmiksogajaojapeškijangbenjembak" + - "antonskizapotečkiblis simbolizenagastandardni marokanski tamazigtzun" + - "ibez lingvističkog sadržajazazamoderni standardni arapskigornjonjema" + - "čki (Švicarska)donjosaksonskiflamanskimoldavskisrpskohrvatskikinesk" + - "i (pojednostavljeni)kineski (tradicionalni)", + "skicentralnoatlaski tamazigtudmurtugaritskiumbundunepoznati jezikvai" + + "votskivunjovalservalamovarejvašovarlpirikalmiksogajaojapeškijangbenj" + + "embakantonskizapotečkiblis simbolizenagastandardni marokanski tamazi" + + "gtzunibez lingvističkog sadržajazazamoderni standardni arapskigornjo" + + "njemački (Švicarska)donjosaksonskiflamanskimoldavskisrpskohrvatskiki" + + "neski (pojednostavljeni)kineski (tradicionalni)", []uint16{ // 613 elements // Entry 0 - 3F 0x0000, 0x0007, 0x000e, 0x0018, 0x0020, 0x0024, 0x002c, 0x0035, @@ -1637,15 +1637,15 @@ var langHeaders = [252]header{ 0x0e87, 0x0e87, 0x0e87, 0x0e8c, 0x0e90, 0x0e96, 0x0e9b, 0x0ea0, 0x0ea3, 0x0eaa, 0x0eaa, 0x0eb4, 0x0ebb, 0x0ebb, 0x0ec3, 0x0ece, 0x0ed7, 0x0ed7, 0x0edd, 0x0edd, 0x0ee6, 0x0ee6, 0x0eed, 0x0ef3, - 0x0efa, 0x0f04, 0x0f1d, 0x0f23, 0x0f2c, 0x0f33, 0x0f3d, 0x0f40, - 0x0f40, 0x0f40, 0x0f40, 0x0f40, 0x0f46, 0x0f46, 0x0f4b, 0x0f51, - 0x0f57, 0x0f5c, 0x0f61, 0x0f69, 0x0f69, 0x0f6f, 0x0f6f, 0x0f73, + 0x0efa, 0x0f04, 0x0f1d, 0x0f23, 0x0f2c, 0x0f33, 0x0f42, 0x0f45, + 0x0f45, 0x0f45, 0x0f45, 0x0f45, 0x0f4b, 0x0f4b, 0x0f50, 0x0f56, + 0x0f5c, 0x0f61, 0x0f66, 0x0f6e, 0x0f6e, 0x0f74, 0x0f74, 0x0f78, // Entry 240 - 27F - 0x0f76, 0x0f7e, 0x0f85, 0x0f8a, 0x0f8a, 0x0f93, 0x0f9d, 0x0fa9, - 0x0fa9, 0x0faf, 0x0fcd, 0x0fd1, 0x0fed, 0x0ff1, 0x100b, 0x100b, - 0x100b, 0x1027, 0x1027, 0x1027, 0x1027, 0x1027, 0x1027, 0x1027, - 0x1027, 0x1027, 0x1027, 0x1027, 0x1035, 0x103e, 0x103e, 0x103e, - 0x1047, 0x1055, 0x1055, 0x106f, 0x1086, + 0x0f7b, 0x0f83, 0x0f8a, 0x0f8f, 0x0f8f, 0x0f98, 0x0fa2, 0x0fae, + 0x0fae, 0x0fb4, 0x0fd2, 0x0fd6, 0x0ff2, 0x0ff6, 0x1010, 0x1010, + 0x1010, 0x102c, 0x102c, 0x102c, 0x102c, 0x102c, 0x102c, 0x102c, + 0x102c, 0x102c, 0x102c, 0x102c, 0x103a, 0x1043, 0x1043, 0x1043, + 0x104c, 0x105a, 0x105a, 0x1074, 0x108b, }, }, { // bs-Cyrl @@ -1696,13 +1696,13 @@ var langHeaders = [252]header{ "нинкесоџијенскисранански тонгосерерсукумасусусумерскикоморскикласич" + "ни сиријскисиријскитимнетеренотетумтигретивтокелауклингонскитлингит" + "тамашекњаса тонгаток писинтсимшиантумбукатувалутувинијскиудмуртугар" + - "итскиумбундурутваивотскиваламоварајвашокалмикјаојапешкикантонскизап" + - "отечкиблисимболизенагазунибез лингвистичког садржајазазаАустријски " + - "немачкиШвајцарски високи немачкиАустралијски енглескиКанадски енгле" + - "скиБритански енглескиСАД енглескиЛатино-амерички шпанскиИберијски ш" + - "панскиКанадски францускиШвајцарски францускифламанскиБразилски порт" + - "угалскиИберијски португалскимолдавскисрпскохрватскикинески (поједно" + - "стављен)кинески (традиционални)", + "итскиумбундунепознат или неважећи језикваивотскиваламоварајвашокалм" + + "икјаојапешкикантонскизапотечкиблисимболизенагазунибез лингвистичког" + + " садржајазазаАустријски немачкиШвајцарски високи немачкиАустралијски" + + " енглескиКанадски енглескиБритански енглескиСАД енглескиЛатино-амери" + + "чки шпанскиИберијски шпанскиКанадски францускиШвајцарски францускиф" + + "ламанскиБразилски португалскиИберијски португалскимолдавскисрпскохр" + + "ватскикинески (поједностављен)кинески (традиционални)", []uint16{ // 613 elements // Entry 0 - 3F 0x0000, 0x000e, 0x0022, 0x0036, 0x004e, 0x0056, 0x0066, 0x0080, @@ -1782,15 +1782,15 @@ var langHeaders = [252]header{ 0x1797, 0x1797, 0x1797, 0x17a1, 0x17a1, 0x17ad, 0x17b7, 0x17c1, 0x17c7, 0x17d5, 0x17d5, 0x17e9, 0x17f7, 0x17f7, 0x1805, 0x1818, 0x1829, 0x1829, 0x1829, 0x1829, 0x1839, 0x1839, 0x1847, 0x1853, - 0x1853, 0x1867, 0x1867, 0x1873, 0x1885, 0x1893, 0x1899, 0x189f, - 0x189f, 0x189f, 0x189f, 0x189f, 0x18ab, 0x18ab, 0x18ab, 0x18ab, - 0x18b7, 0x18c1, 0x18c9, 0x18c9, 0x18c9, 0x18d5, 0x18d5, 0x18d5, + 0x1853, 0x1867, 0x1867, 0x1873, 0x1885, 0x1893, 0x18c6, 0x18cc, + 0x18cc, 0x18cc, 0x18cc, 0x18cc, 0x18d8, 0x18d8, 0x18d8, 0x18d8, + 0x18e4, 0x18ee, 0x18f6, 0x18f6, 0x18f6, 0x1902, 0x1902, 0x1902, // Entry 240 - 27F - 0x18db, 0x18e9, 0x18e9, 0x18e9, 0x18e9, 0x18fb, 0x190d, 0x1921, - 0x1921, 0x192d, 0x192d, 0x1935, 0x1967, 0x196f, 0x196f, 0x196f, - 0x1992, 0x19c2, 0x19eb, 0x1a0c, 0x1a2f, 0x1a46, 0x1a72, 0x1a93, - 0x1a93, 0x1a93, 0x1ab6, 0x1add, 0x1add, 0x1aef, 0x1b18, 0x1b41, - 0x1b53, 0x1b6f, 0x1b6f, 0x1b9c, 0x1bc7, + 0x1908, 0x1916, 0x1916, 0x1916, 0x1916, 0x1928, 0x193a, 0x194e, + 0x194e, 0x195a, 0x195a, 0x1962, 0x1994, 0x199c, 0x199c, 0x199c, + 0x19bf, 0x19ef, 0x1a18, 0x1a39, 0x1a5c, 0x1a73, 0x1a9f, 0x1ac0, + 0x1ac0, 0x1ac0, 0x1ae3, 0x1b0a, 0x1b0a, 0x1b1c, 0x1b45, 0x1b6e, + 0x1b80, 0x1b9c, 0x1b9c, 0x1bc9, 0x1bf4, }, }, { // ca @@ -1989,11 +1989,11 @@ var langHeaders = [252]header{ "ᏆᎳᎤᏩᏂᎾᎩᎵᎠᏂ ᏈᏥᏂᏡᏏᎠᏂᎩᏤᎳᏆᏄᏫᎳᎶᏙᎾᎦᏂᎶᎹᏉᎠᏬᎹᏂᎠᏂᏆᏌᏅᏓᏫᏌᎧᎾᏌᎹᏊᎷᏌᏂᏔᎵᎾᎦᎹᏇᏌᏁᎫᏏᏏᎵᎠ" + "ᏂᏍᎦᏗᏏᏂᎦᏎᎾᎪᏱᎳᏈᎶ ᏎᏂᏔᏤᎵᎯᏘᏝᏂᏧᎦᎾᏮ ᏗᏜ ᏌᎻᎷᎴ ᏌᎻᎢᎾᎵ ᏌᎻᏍᎪᎵᏘ ᏌᎻᏐᏂᏂᎨᏏᎳᎾᏂ ᏙᏃᎪᏌᎰ" + "ᏑᎫᎹᎪᎼᎵᎠᏂᏏᎵᎠᎩᏘᎹᏁᏖᏐᏖᏚᎼᏢᏓᏥᏟᎦᎾᏙᎩ ᏈᏏᏂᏔᎶᎪᏛᎹᏊᎧᏚᏩᎷᏔᏌᏩᎩᏚᏫᏂᎠᏂᎠᏰᏟ ᎡᎶᎯ ᏓᏟᎶᏍᏗᏓᏅ" + - "Ꭲ ᏔᎹᏏᏘᎤᏚᎷᏘᎤᎹᏊᏅᏚᎤᎾᏍᎦᎸᏩᏱᏭᎾᏦᏩᎵᏎᎵᏬᎳᏱᏔᏩᎴᎧᎳᎻᎧᏐᎦᏰᎾᎦᏇᏂᏰᎹᏋᎨᎾᏙᏂᏏᎠᏟᎶᏍᏗ ᎼᎶᎪ ᏔᎹ" + - "ᏏᏘᏑᏂᏝ ᎦᏬᏂᎯᏍᏗ ᎦᎸᏛᎢ ᏱᎩᏌᏌᎪᎯᏊ ᎢᎬᏥᎩ ᎠᏟᎶᏍᏗ ᎡᎳᏈᎠᏟᏯᏂ ᎠᏂᏓᏥᏍᏫᏏ ᎦᎸᎳᏗ ᎠᏂᏓᏥᎡᎳᏗᏜ" + - " ᎩᎵᏏᎨᎾᏓ ᎩᎵᏏᎩᎵᏏᏲ ᎩᎵᏏᎠᎹᏰᏟ ᎩᎵᏏᏔᏘᏂ ᎠᎹᏰᏟ ᏍᏆᏂᎠᏂᏍᏆᏂᏱ ᏍᏆᏂᏍᏆᏂᏱ ᏍᏆᏂᎨᎾᏓ ᎦᎸᏥᏍᏫᏏ " + - "ᎦᎸᏥᎡᎳᏗ ᏁᏛᎳᏂᏊᎵᏥᎥᎻ ᏛᏥᏆᏏᎵᎢ ᏉᏧᎦᎵᏉᏥᎦᎳ ᏉᏧᎦᎵᎹᎵᏙᏫᎠ ᏣᎹᏂᎠᏂᎧᏂᎪ ᏍᏩᎯᎵᎠᎯᏗᎨ ᏓᎶᏂᎨᎤ" + - "ᏦᏍᏗ ᏓᎶᏂᎨ", + "Ꭲ ᏔᎹᏏᏘᎤᏚᎷᏘᎤᎹᏊᏅᏚᏄᏬᎵᏍᏛᎾ ᎦᏬᏂᎯᏍᏗᏩᏱᏭᎾᏦᏩᎵᏎᎵᏬᎳᏱᏔᏩᎴᎧᎳᎻᎧᏐᎦᏰᎾᎦᏇᏂᏰᎹᏋᎨᎾᏙᏂᏏᎠᏟᎶᏍ" + + "Ꮧ ᎼᎶᎪ ᏔᎹᏏᏘᏑᏂᏝ ᎦᏬᏂᎯᏍᏗ ᎦᎸᏛᎢ ᏱᎩᏌᏌᎪᎯᏊ ᎢᎬᏥᎩ ᎠᏟᎶᏍᏗ ᎡᎳᏈᎠᏟᏯᏂ ᎠᏂᏓᏥᏍᏫᏏ ᎦᎸᎳᏗ " + + "ᎠᏂᏓᏥᎡᎳᏗᏜ ᎩᎵᏏᎨᎾᏓ ᎩᎵᏏᎩᎵᏏᏲ ᎩᎵᏏᎠᎹᏰᏟ ᎩᎵᏏᏔᏘᏂ ᎠᎹᏰᏟ ᏍᏆᏂᎠᏂᏍᏆᏂᏱ ᏍᏆᏂᏍᏆᏂᏱ ᏍᏆᏂᎨ" + + "ᎾᏓ ᎦᎸᏥᏍᏫᏏ ᎦᎸᏥᎡᎳᏗ ᏁᏛᎳᏂᏊᎵᏥᎥᎻ ᏛᏥᏆᏏᎵᎢ ᏉᏧᎦᎵᏉᏥᎦᎳ ᏉᏧᎦᎵᎹᎵᏙᏫᎠ ᏣᎹᏂᎠᏂᎧᏂᎪ ᏍᏩᎯᎵ" + + "ᎠᎯᏗᎨ ᏓᎶᏂᎨᎤᏦᏍᏗ ᏓᎶᏂᎨ", []uint16{ // 613 elements // Entry 0 - 3F 0x0000, 0x0009, 0x0018, 0x0018, 0x002a, 0x0033, 0x0042, 0x0051, @@ -2073,15 +2073,15 @@ var langHeaders = [252]header{ 0x1022, 0x1022, 0x1022, 0x102b, 0x1031, 0x1031, 0x103a, 0x1043, 0x1043, 0x1043, 0x1043, 0x104c, 0x104c, 0x104c, 0x104c, 0x104c, 0x105c, 0x105c, 0x1065, 0x1065, 0x1065, 0x1065, 0x1071, 0x107a, - 0x1086, 0x1095, 0x10ce, 0x10da, 0x10da, 0x10e9, 0x10f8, 0x10fe, - 0x10fe, 0x10fe, 0x10fe, 0x10fe, 0x10fe, 0x10fe, 0x1107, 0x1113, - 0x111f, 0x1125, 0x1125, 0x1125, 0x1125, 0x1131, 0x1131, 0x1137, + 0x1086, 0x1095, 0x10ce, 0x10da, 0x10da, 0x10e9, 0x110e, 0x1114, + 0x1114, 0x1114, 0x1114, 0x1114, 0x1114, 0x1114, 0x111d, 0x1129, + 0x1135, 0x113b, 0x113b, 0x113b, 0x113b, 0x1147, 0x1147, 0x114d, // Entry 240 - 27F - 0x1137, 0x1137, 0x1146, 0x114f, 0x114f, 0x115e, 0x115e, 0x115e, - 0x115e, 0x115e, 0x1184, 0x118a, 0x11b4, 0x11ba, 0x11ea, 0x11ea, - 0x1203, 0x1226, 0x123c, 0x124f, 0x1265, 0x127b, 0x129b, 0x12b7, - 0x12cd, 0x12cd, 0x12e0, 0x12f3, 0x1309, 0x131f, 0x1338, 0x1351, - 0x1370, 0x1370, 0x1386, 0x139f, 0x13b8, + 0x114d, 0x114d, 0x115c, 0x1165, 0x1165, 0x1174, 0x1174, 0x1174, + 0x1174, 0x1174, 0x119a, 0x11a0, 0x11ca, 0x11d0, 0x1200, 0x1200, + 0x1219, 0x123c, 0x1252, 0x1265, 0x127b, 0x1291, 0x12b1, 0x12cd, + 0x12e3, 0x12e3, 0x12f6, 0x1309, 0x131f, 0x1335, 0x134e, 0x1367, + 0x1386, 0x1386, 0x139c, 0x13b5, 0x13ce, }, }, { // ckb @@ -2248,15 +2248,15 @@ var langHeaders = [252]header{ "meregComoregHen SyriegSyriegSilesiegTuluTimnegTesoTerenaTetumegTigre" + "gTifegTocelawegTsakhuregKlingonLlingitTalyshegTamashecegTok PisinTar" + "okoTsaconegTwmbwcaTwfalwegTasawaqTwfwniegTamaseit Canolbarth MorocoF" + - "otiacegWgaritegUmbunduY GwraiddFaiegFenisegFepsFflemeg GorllewinolFo" + - "tegFunjoWalseregWalamoWinarayegWashoWarlpiriCalmycegSogaIangbenIemba" + - "egCantoneegZapotecegBlisssymbolsZêlandegTamaseit SafonolZuniDim cynn" + - "wys ieithyddolZazäegArabeg Modern SafonolAserbaijaneg DeheuolAlmaene" + - "g AwstriaAlmaeneg Safonol y SwistirSaesneg AwstraliaSaesneg CanadaSa" + - "esneg PrydainSaesneg AmericaSbaeneg America LadinSbaeneg EwropSbaene" + - "g MecsicoFfrangeg CanadaFfrangeg y SwistirSacsoneg IselFflemegPortiw" + - "geeg BrasilPortiwgeeg EwropMoldofegSerbo-CroategSwahili’r CongoTsiei" + - "neeg SymledigTsieineeg Traddodiadol", + "otiacegWgaritegUmbunduIaith AnhysbysFaiegFenisegFepsFflemeg Gorllewi" + + "nolFotegFunjoWalseregWalamoWinarayegWashoWarlpiriCalmycegSogaIangben" + + "IembaegCantoneegZapotecegBlisssymbolsZêlandegTamaseit SafonolZuniDim" + + " cynnwys ieithyddolZazäegArabeg Modern SafonolAserbaijaneg DeheuolAl" + + "maeneg AwstriaAlmaeneg Safonol y SwistirSaesneg AwstraliaSaesneg Can" + + "adaSaesneg PrydainSaesneg AmericaSbaeneg America LadinSbaeneg EwropS" + + "baeneg MecsicoFfrangeg CanadaFfrangeg y SwistirSacsoneg IselFflemegP" + + "ortiwgeeg BrasilPortiwgeeg EwropMoldofegSerbo-CroategSwahili’r Congo" + + "Tsieineeg SymledigTsieineeg Traddodiadol", []uint16{ // 613 elements // Entry 0 - 3F 0x0000, 0x0007, 0x000f, 0x0018, 0x0023, 0x0029, 0x0030, 0x0038, @@ -2336,15 +2336,15 @@ var langHeaders = [252]header{ 0x0e9a, 0x0ea2, 0x0ea6, 0x0eac, 0x0eb0, 0x0eb6, 0x0ebd, 0x0ec3, 0x0ec8, 0x0ed1, 0x0eda, 0x0ee1, 0x0ee8, 0x0ef0, 0x0efa, 0x0efa, 0x0f03, 0x0f03, 0x0f09, 0x0f11, 0x0f11, 0x0f11, 0x0f18, 0x0f20, - 0x0f27, 0x0f2f, 0x0f49, 0x0f51, 0x0f59, 0x0f60, 0x0f69, 0x0f6e, - 0x0f75, 0x0f79, 0x0f8c, 0x0f8c, 0x0f91, 0x0f91, 0x0f96, 0x0f9e, - 0x0fa4, 0x0fad, 0x0fb2, 0x0fba, 0x0fba, 0x0fc2, 0x0fc2, 0x0fc6, + 0x0f27, 0x0f2f, 0x0f49, 0x0f51, 0x0f59, 0x0f60, 0x0f6e, 0x0f73, + 0x0f7a, 0x0f7e, 0x0f91, 0x0f91, 0x0f96, 0x0f96, 0x0f9b, 0x0fa3, + 0x0fa9, 0x0fb2, 0x0fb7, 0x0fbf, 0x0fbf, 0x0fc7, 0x0fc7, 0x0fcb, // Entry 240 - 27F - 0x0fc6, 0x0fc6, 0x0fcd, 0x0fd4, 0x0fd4, 0x0fdd, 0x0fe6, 0x0ff2, - 0x0ffb, 0x0ffb, 0x100b, 0x100f, 0x1025, 0x102c, 0x1041, 0x1055, - 0x1065, 0x107f, 0x1090, 0x109e, 0x10ad, 0x10bc, 0x10d1, 0x10de, - 0x10ed, 0x10ed, 0x10fc, 0x110e, 0x111b, 0x1122, 0x1133, 0x1143, - 0x114b, 0x1158, 0x1169, 0x117b, 0x1191, + 0x0fcb, 0x0fcb, 0x0fd2, 0x0fd9, 0x0fd9, 0x0fe2, 0x0feb, 0x0ff7, + 0x1000, 0x1000, 0x1010, 0x1014, 0x102a, 0x1031, 0x1046, 0x105a, + 0x106a, 0x1084, 0x1095, 0x10a3, 0x10b2, 0x10c1, 0x10d6, 0x10e3, + 0x10f2, 0x10f2, 0x1101, 0x1113, 0x1120, 0x1127, 0x1138, 0x1148, + 0x1150, 0x115d, 0x116e, 0x1180, 0x1196, }, }, { // da @@ -5091,15 +5091,15 @@ var langHeaders = [252]header{ "oyraboro senniatachelhitashanerahegoaldeko samieralule samierainari-" + "samieraskolt samierasoninkerasrananerasahoasukumerakomoreeraasiriera" + "temneatesoeratetumatigreaklingoneratok pisinatarokoatumbukeratuvalue" + - "ratasawaqatuveraMaroko erdialdeko tamazightaudmurteraumbundueraerroa" + - "vaieravunjoawalsererawelaytasamererakalmykerasogerajangbenerayembaka" + - "ntoneratamazight estandarrazuñiaez dago eduki linguistikorikzazakiaa" + - "rabiera moderno estandarraAustriako alemanaaleman garaia (Suitza)Aus" + - "traliako ingelesaKanadako ingelesaBritainia Handiko ingelesaAEBko in" + - "gelesaLatinoamerikako espainieraespainiera (Europa)Mexikoko espainie" + - "raKanadako frantsesaSuitzako frantsesabehe-saxoieraflandrieraBrasilg" + - "o portugesaportugesa (Europa)moldavieraserbokroazieraKongoko swahili" + - "atxinera soilduatxinera tradizionala", + "ratasawaqatuveraMaroko erdialdeko tamazightaudmurteraumbunduerahizku" + + "ntza ezezagunavaieravunjoawalsererawelaytasamererakalmykerasogerajan" + + "gbenerayembakantoneratamazight estandarrazuñiaez dago eduki linguist" + + "ikorikzazakiaarabiera moderno estandarraAustriako alemanaaleman gara" + + "ia (Suitza)Australiako ingelesaKanadako ingelesaBritainia Handiko in" + + "gelesaAEBko ingelesaLatinoamerikako espainieraespainiera (Europa)Mex" + + "ikoko espainieraKanadako frantsesaSuitzako frantsesabehe-saxoierafla" + + "ndrieraBrasilgo portugesaportugesa (Europa)moldavieraserbokroazieraK" + + "ongoko swahiliatxinera soilduatxinera tradizionala", []uint16{ // 613 elements // Entry 0 - 3F 0x0000, 0x0007, 0x0010, 0x0010, 0x001a, 0x0021, 0x0029, 0x0032, @@ -5179,15 +5179,15 @@ var langHeaders = [252]header{ 0x0c47, 0x0c47, 0x0c47, 0x0c4d, 0x0c54, 0x0c54, 0x0c5a, 0x0c60, 0x0c60, 0x0c60, 0x0c60, 0x0c6a, 0x0c6a, 0x0c6a, 0x0c6a, 0x0c6a, 0x0c74, 0x0c74, 0x0c7b, 0x0c7b, 0x0c7b, 0x0c7b, 0x0c84, 0x0c8d, - 0x0c95, 0x0c9b, 0x0cb7, 0x0cc0, 0x0cc0, 0x0cca, 0x0ccf, 0x0cd5, - 0x0cd5, 0x0cd5, 0x0cd5, 0x0cd5, 0x0cd5, 0x0cd5, 0x0cdb, 0x0ce4, - 0x0ceb, 0x0cf3, 0x0cf3, 0x0cf3, 0x0cf3, 0x0cfc, 0x0cfc, 0x0d02, + 0x0c95, 0x0c9b, 0x0cb7, 0x0cc0, 0x0cc0, 0x0cca, 0x0cdd, 0x0ce3, + 0x0ce3, 0x0ce3, 0x0ce3, 0x0ce3, 0x0ce3, 0x0ce3, 0x0ce9, 0x0cf2, + 0x0cf9, 0x0d01, 0x0d01, 0x0d01, 0x0d01, 0x0d0a, 0x0d0a, 0x0d10, // Entry 240 - 27F - 0x0d02, 0x0d02, 0x0d0c, 0x0d11, 0x0d11, 0x0d1a, 0x0d1a, 0x0d1a, - 0x0d1a, 0x0d1a, 0x0d2e, 0x0d34, 0x0d50, 0x0d57, 0x0d72, 0x0d72, - 0x0d83, 0x0d99, 0x0dad, 0x0dbe, 0x0dd8, 0x0de6, 0x0e00, 0x0e13, - 0x0e26, 0x0e26, 0x0e38, 0x0e4a, 0x0e57, 0x0e61, 0x0e73, 0x0e85, - 0x0e8f, 0x0e9d, 0x0ead, 0x0ebc, 0x0ed0, + 0x0d10, 0x0d10, 0x0d1a, 0x0d1f, 0x0d1f, 0x0d28, 0x0d28, 0x0d28, + 0x0d28, 0x0d28, 0x0d3c, 0x0d42, 0x0d5e, 0x0d65, 0x0d80, 0x0d80, + 0x0d91, 0x0da7, 0x0dbb, 0x0dcc, 0x0de6, 0x0df4, 0x0e0e, 0x0e21, + 0x0e34, 0x0e34, 0x0e46, 0x0e58, 0x0e65, 0x0e6f, 0x0e81, 0x0e93, + 0x0e9d, 0x0eab, 0x0ebb, 0x0eca, 0x0ede, }, }, { // ewo @@ -5379,12 +5379,12 @@ var langHeaders = [252]header{ "isilansktskotsktsuður kurdisktsenakoyraboro sennitachelhitshansuður " + "sámisktlule sámisktinari samiskolt sámisktsoninkesranan tongosahosuk" + "umakomorisktsyriactimnetesotetumtigreklingonskttok pisintarokotumbuk" + - "atuvalutasawaqtuvinianmiðatlasfjøll tamazightudmurtumbundurootvaivun" + - "jowalserwolayttawaraywarlpiriwu kinesisktkalmyksogayangbenyembakanto" + - "nesisktvanligt marokanskt tamazightzunieinki málsligt innihaldzazanú" + - "tíðar vanligt arabiskthøgt týskt (Sveis)lágt saksisktflamsktportugis" + - "kiskt (Brasilia)portugiskiskt (Evropa)moldavisktserbokroatisktkongo " + - "svahilieinkult kinesisktvanligt kinesiskt", + "atuvalutasawaqtuvinianmiðatlasfjøll tamazightudmurtumbunduókent málv" + + "aivunjowalserwolayttawaraywarlpiriwu kinesisktkalmyksogayangbenyemba" + + "kantonesisktvanligt marokanskt tamazightzunieinki málsligt innihaldz" + + "azanútíðar vanligt arabiskthøgt týskt (Sveis)lágt saksisktflamsktpor" + + "tugiskiskt (Brasilia)portugiskiskt (Evropa)moldavisktserbokroatisktk" + + "ongo svahilieinkult kinesisktvanligt kinesiskt", []uint16{ // 613 elements // Entry 0 - 3F 0x0000, 0x0004, 0x000e, 0x000e, 0x0017, 0x001b, 0x0024, 0x002e, @@ -5464,15 +5464,15 @@ var langHeaders = [252]header{ 0x0ae1, 0x0ae1, 0x0ae1, 0x0ae6, 0x0aea, 0x0aea, 0x0aef, 0x0af4, 0x0af4, 0x0af4, 0x0af4, 0x0afe, 0x0afe, 0x0afe, 0x0afe, 0x0afe, 0x0b07, 0x0b07, 0x0b0d, 0x0b0d, 0x0b0d, 0x0b0d, 0x0b14, 0x0b1a, - 0x0b21, 0x0b29, 0x0b42, 0x0b48, 0x0b48, 0x0b4f, 0x0b53, 0x0b56, - 0x0b56, 0x0b56, 0x0b56, 0x0b56, 0x0b56, 0x0b56, 0x0b5b, 0x0b61, - 0x0b69, 0x0b6e, 0x0b6e, 0x0b76, 0x0b82, 0x0b88, 0x0b88, 0x0b8c, + 0x0b21, 0x0b29, 0x0b42, 0x0b48, 0x0b48, 0x0b4f, 0x0b5a, 0x0b5d, + 0x0b5d, 0x0b5d, 0x0b5d, 0x0b5d, 0x0b5d, 0x0b5d, 0x0b62, 0x0b68, + 0x0b70, 0x0b75, 0x0b75, 0x0b7d, 0x0b89, 0x0b8f, 0x0b8f, 0x0b93, // Entry 240 - 27F - 0x0b8c, 0x0b8c, 0x0b93, 0x0b98, 0x0b98, 0x0ba4, 0x0ba4, 0x0ba4, - 0x0ba4, 0x0ba4, 0x0bc0, 0x0bc4, 0x0bdc, 0x0be0, 0x0bfb, 0x0bfb, - 0x0bfb, 0x0c0f, 0x0c0f, 0x0c0f, 0x0c0f, 0x0c0f, 0x0c0f, 0x0c0f, - 0x0c0f, 0x0c0f, 0x0c0f, 0x0c0f, 0x0c1d, 0x0c24, 0x0c3c, 0x0c52, - 0x0c5c, 0x0c6a, 0x0c77, 0x0c88, 0x0c99, + 0x0b93, 0x0b93, 0x0b9a, 0x0b9f, 0x0b9f, 0x0bab, 0x0bab, 0x0bab, + 0x0bab, 0x0bab, 0x0bc7, 0x0bcb, 0x0be3, 0x0be7, 0x0c02, 0x0c02, + 0x0c02, 0x0c16, 0x0c16, 0x0c16, 0x0c16, 0x0c16, 0x0c16, 0x0c16, + 0x0c16, 0x0c16, 0x0c16, 0x0c16, 0x0c24, 0x0c2b, 0x0c43, 0x0c59, + 0x0c63, 0x0c71, 0x0c7e, 0x0c8f, 0x0ca0, }, }, { // fr @@ -5804,15 +5804,15 @@ var langHeaders = [252]header{ "nantongoSererSahoSukumaSoesoeSoemeryskShimaoreKlassiek SyryskSyryskT" + "imneTesoTerenoTetunTigreTivTokelausKlingonTlingitTamashekNyasa Tonga" + "Tok PisinTarokoTsimshianToemboekaTuvaluaanskTasawaqTuvinyskTamazight" + - " (Sintraal-Marokko)OedmoertsOegarityskUmbunduRootVaiVotyskVunjoWalse" + - "rWalamoWarayWashoKalmykSogaYaoYapeesYangbenYembaKantoneeskZapotecBli" + - "ssymbolenZenagaStandert Marokkaanske TamazightZuniGjin linguïstyske " + - "ynhâldZazaModern standert ArabyskEastenryks DútskSwitsersk Heechdúts" + - "kAustralysk IngelskKanadeesk IngelskBritsk IngelskAmerikaansk Ingels" + - "kLatynsk-Amerikaansk SpaanskEuropeesk SpaanskMeksikaansk SpaanskKana" + - "deesk FrânskSwitserse FrânskVlaamsBrazyljaansk PortugeesEuropees Por" + - "tugeesMoldavyskServokroatyskCongo SwahiliFerienfâldich SineeskTradis" + - "joneel Sineesk", + " (Sintraal-Marokko)OedmoertsOegarityskUmbunduOnbekende taalVaiVotysk" + + "VunjoWalserWalamoWarayWashoKalmykSogaYaoYapeesYangbenYembaKantoneesk" + + "ZapotecBlissymbolenZenagaStandert Marokkaanske TamazightZuniGjin lin" + + "guïstyske ynhâldZazaModern standert ArabyskEastenryks DútskSwitsersk" + + " HeechdútskAustralysk IngelskKanadeesk IngelskBritsk IngelskAmerikaa" + + "nsk IngelskLatynsk-Amerikaansk SpaanskEuropeesk SpaanskMeksikaansk S" + + "paanskKanadeesk FrânskSwitserse FrânskVlaamsBrazyljaansk PortugeesEu" + + "ropees PortugeesMoldavyskServokroatyskCongo SwahiliFerienfâldich Sin" + + "eeskTradisjoneel Sineesk", []uint16{ // 613 elements // Entry 0 - 3F 0x0000, 0x0004, 0x000d, 0x0015, 0x001f, 0x0023, 0x002b, 0x0035, @@ -5892,15 +5892,15 @@ var langHeaders = [252]header{ 0x0d2c, 0x0d2c, 0x0d2c, 0x0d31, 0x0d35, 0x0d3b, 0x0d40, 0x0d45, 0x0d48, 0x0d50, 0x0d50, 0x0d57, 0x0d5e, 0x0d5e, 0x0d66, 0x0d71, 0x0d7a, 0x0d7a, 0x0d80, 0x0d80, 0x0d89, 0x0d89, 0x0d92, 0x0d9d, - 0x0da4, 0x0dac, 0x0dc8, 0x0dd1, 0x0ddb, 0x0de2, 0x0de6, 0x0de9, - 0x0de9, 0x0de9, 0x0de9, 0x0de9, 0x0def, 0x0def, 0x0df4, 0x0dfa, - 0x0e00, 0x0e05, 0x0e0a, 0x0e0a, 0x0e0a, 0x0e10, 0x0e10, 0x0e14, + 0x0da4, 0x0dac, 0x0dc8, 0x0dd1, 0x0ddb, 0x0de2, 0x0df0, 0x0df3, + 0x0df3, 0x0df3, 0x0df3, 0x0df3, 0x0df9, 0x0df9, 0x0dfe, 0x0e04, + 0x0e0a, 0x0e0f, 0x0e14, 0x0e14, 0x0e14, 0x0e1a, 0x0e1a, 0x0e1e, // Entry 240 - 27F - 0x0e17, 0x0e1d, 0x0e24, 0x0e29, 0x0e29, 0x0e33, 0x0e3a, 0x0e46, - 0x0e46, 0x0e4c, 0x0e6b, 0x0e6f, 0x0e89, 0x0e8d, 0x0ea4, 0x0ea4, - 0x0eb5, 0x0eca, 0x0edc, 0x0eed, 0x0efb, 0x0f0e, 0x0f29, 0x0f3a, - 0x0f4d, 0x0f4d, 0x0f5e, 0x0f6f, 0x0f6f, 0x0f75, 0x0f8b, 0x0f9d, - 0x0fa6, 0x0fb3, 0x0fc0, 0x0fd6, 0x0fea, + 0x0e21, 0x0e27, 0x0e2e, 0x0e33, 0x0e33, 0x0e3d, 0x0e44, 0x0e50, + 0x0e50, 0x0e56, 0x0e75, 0x0e79, 0x0e93, 0x0e97, 0x0eae, 0x0eae, + 0x0ebf, 0x0ed4, 0x0ee6, 0x0ef7, 0x0f05, 0x0f18, 0x0f33, 0x0f44, + 0x0f57, 0x0f57, 0x0f68, 0x0f79, 0x0f79, 0x0f7f, 0x0f95, 0x0fa7, + 0x0fb0, 0x0fbd, 0x0fca, 0x0fe0, 0x0ff4, }, }, { // ga @@ -6106,17 +6106,17 @@ var langHeaders = [252]header{ "sSuraidheac ChlasaigeachSuraidheacTuluTimneTesoTerênaTetumTigreTivTo" + "kelauTsakhurKlingonTlingitTalyshTamashekNyasa TongaTok PisinTuroyoTa" + "rokoTsimshianTatiTumbukaTubhaluTasawaqCànan TuvaTamazight an Atlais " + - "MheadhanaichUdmurtUmbunduRootVaiVepsFlannrais SiarachVõroVunjoGearma" + - "iltis WallisWolayttaWarayWashoWarlpiriWuKalmykSogaYaoCànan YapYangbe" + - "nYembaNheengatuCantonaisZapotecComharran BlissCànan ZeelandZenagaTam" + - "azight Stannardach MorocoZuñiSusbaint nach eil ’na chànanZazakiNuadh" + - "-Arabais StannardachGearmailtis na h-OstaireÀrd-Ghearmailtis na h-Ei" + - "lbheiseBeurla AstràiliaBeurla ChanadaBeurla BhreatainnBeurla na h-Ai" + - "meireagaSpàinntis na h-Aimeireaga LaidinneachSpàinntis EòrpachSpàinn" + - "tis MheagsagachFraingis ChanadaFraingis EilbheiseachSagsannais Ìochd" + - "arachFlannraisPortagailis BhraisileachPortagailis EòrpachMoldobhaisS" + - "èirb-ChròthaisisKiswahili na CongoSìnis ShimplichteSìnis Thradaisea" + - "nta", + "MheadhanaichUdmurtUmbunduCànan neo-aithnichteVaiVepsFlannrais Siarac" + + "hVõroVunjoGearmailtis WallisWolayttaWarayWashoWarlpiriWuKalmykSogaYa" + + "oCànan YapYangbenYembaNheengatuCantonaisZapotecComharran BlissCànan " + + "ZeelandZenagaTamazight Stannardach MorocoZuñiSusbaint nach eil ’na c" + + "hànanZazakiNuadh-Arabais StannardachGearmailtis na h-OstaireÀrd-Ghea" + + "rmailtis na h-EilbheiseBeurla AstràiliaBeurla ChanadaBeurla Bhreatai" + + "nnBeurla na h-AimeireagaSpàinntis na h-Aimeireaga LaidinneachSpàinnt" + + "is EòrpachSpàinntis MheagsagachFraingis ChanadaFraingis Eilbheiseach" + + "Sagsannais ÌochdarachFlannraisPortagailis BhraisileachPortagailis Eò" + + "rpachMoldobhaisSèirb-ChròthaisisKiswahili na CongoSìnis ShimplichteS" + + "ìnis Thradaiseanta", []uint16{ // 613 elements // Entry 0 - 3F 0x0000, 0x0004, 0x000d, 0x0017, 0x0021, 0x0025, 0x002e, 0x0037, @@ -6196,15 +6196,15 @@ var langHeaders = [252]header{ 0x1191, 0x1191, 0x1195, 0x119a, 0x119e, 0x11a5, 0x11aa, 0x11af, 0x11b2, 0x11b9, 0x11c0, 0x11c7, 0x11ce, 0x11d4, 0x11dc, 0x11e7, 0x11f0, 0x11f6, 0x11fc, 0x11fc, 0x1205, 0x1209, 0x1210, 0x1217, - 0x121e, 0x1229, 0x1249, 0x124f, 0x124f, 0x1256, 0x125a, 0x125d, - 0x125d, 0x1261, 0x1272, 0x1272, 0x1272, 0x1277, 0x127c, 0x128e, - 0x1296, 0x129b, 0x12a0, 0x12a8, 0x12aa, 0x12b0, 0x12b0, 0x12b4, + 0x121e, 0x1229, 0x1249, 0x124f, 0x124f, 0x1256, 0x126b, 0x126e, + 0x126e, 0x1272, 0x1283, 0x1283, 0x1283, 0x1288, 0x128d, 0x129f, + 0x12a7, 0x12ac, 0x12b1, 0x12b9, 0x12bb, 0x12c1, 0x12c1, 0x12c5, // Entry 240 - 27F - 0x12b7, 0x12c1, 0x12c8, 0x12cd, 0x12d6, 0x12df, 0x12e6, 0x12f5, - 0x1303, 0x1309, 0x1325, 0x132a, 0x1349, 0x134f, 0x1368, 0x1368, - 0x1380, 0x13a0, 0x13b1, 0x13bf, 0x13d0, 0x13e6, 0x140c, 0x141f, - 0x1435, 0x1435, 0x1445, 0x145a, 0x1470, 0x1479, 0x1491, 0x14a5, - 0x14af, 0x14c2, 0x14d4, 0x14e6, 0x14fa, + 0x12c8, 0x12d2, 0x12d9, 0x12de, 0x12e7, 0x12f0, 0x12f7, 0x1306, + 0x1314, 0x131a, 0x1336, 0x133b, 0x135a, 0x1360, 0x1379, 0x1379, + 0x1391, 0x13b1, 0x13c2, 0x13d0, 0x13e1, 0x13f7, 0x141d, 0x1430, + 0x1446, 0x1446, 0x1456, 0x146b, 0x1481, 0x148a, 0x14a2, 0x14b6, + 0x14c0, 0x14d3, 0x14e5, 0x14f7, 0x150b, }, }, { // gl @@ -6247,14 +6247,14 @@ var langHeaders = [252]header{ "tachelhitshansaami meridionalsaami de Lulesaami de Inarisaami de Sko" + "ltsoninkesranan tongosahosukumacomorianosiríacotimnetesotetuntigrékl" + "ingontok pisintarokotumbukatuvaluanotasawaqtuvanianotamazight do Mar" + - "rocos Centraludmurtoumbunduraízvaivunjowalserwolayttawaray-waraywalr" + - "piricalmucosogayangbenyembacantonéstamazight de Marrocos estándarzun" + - "isen contido lingüísticozazakiárabe estándar modernoalemán austríaco" + - "alto alemán suízoinglés australianoinglés canadianoinglés británicoi" + - "nglés dos Estados Unidosespañol latinoamericanocastelánespañol de Mé" + - "xicofrancés canadianofrancés suízobaixo saxónflamencoportugués brasi" + - "leiroportugués europeomoldavoserbocroatasuahili congoléschinés simpl" + - "ificadochinés tradicional", + "rocos Centraludmurtoumbundulingua descoñecidavaivunjowalserwolayttaw" + + "aray-waraywalrpiricalmucosogayangbenyembacantonéstamazight de Marroc" + + "os estándarzunisen contido lingüísticozazakiárabe estándar modernoal" + + "emán austríacoalto alemán suízoinglés australianoinglés canadianoing" + + "lés británicoinglés dos Estados Unidosespañol latinoamericanocastelá" + + "nespañol de Méxicofrancés canadianofrancés suízobaixo saxónflamencop" + + "ortugués brasileiroportugués europeomoldavoserbocroatasuahili congol" + + "éschinés simplificadochinés tradicional", []uint16{ // 613 elements // Entry 0 - 3F 0x0000, 0x0004, 0x000b, 0x000b, 0x0015, 0x001a, 0x0022, 0x002b, @@ -6334,15 +6334,15 @@ var langHeaders = [252]header{ 0x0a64, 0x0a64, 0x0a64, 0x0a69, 0x0a6d, 0x0a6d, 0x0a72, 0x0a78, 0x0a78, 0x0a78, 0x0a78, 0x0a7f, 0x0a7f, 0x0a7f, 0x0a7f, 0x0a7f, 0x0a88, 0x0a88, 0x0a8e, 0x0a8e, 0x0a8e, 0x0a8e, 0x0a95, 0x0a9e, - 0x0aa5, 0x0aae, 0x0acb, 0x0ad2, 0x0ad2, 0x0ad9, 0x0ade, 0x0ae1, - 0x0ae1, 0x0ae1, 0x0ae1, 0x0ae1, 0x0ae1, 0x0ae1, 0x0ae6, 0x0aec, - 0x0af4, 0x0aff, 0x0aff, 0x0b07, 0x0b07, 0x0b0e, 0x0b0e, 0x0b12, + 0x0aa5, 0x0aae, 0x0acb, 0x0ad2, 0x0ad2, 0x0ad9, 0x0aec, 0x0aef, + 0x0aef, 0x0aef, 0x0aef, 0x0aef, 0x0aef, 0x0aef, 0x0af4, 0x0afa, + 0x0b02, 0x0b0d, 0x0b0d, 0x0b15, 0x0b15, 0x0b1c, 0x0b1c, 0x0b20, // Entry 240 - 27F - 0x0b12, 0x0b12, 0x0b19, 0x0b1e, 0x0b1e, 0x0b27, 0x0b27, 0x0b27, - 0x0b27, 0x0b27, 0x0b46, 0x0b4a, 0x0b63, 0x0b69, 0x0b81, 0x0b81, - 0x0b93, 0x0ba6, 0x0bb9, 0x0bca, 0x0bdc, 0x0bf6, 0x0c0e, 0x0c17, - 0x0c2a, 0x0c2a, 0x0c3c, 0x0c4b, 0x0c57, 0x0c5f, 0x0c74, 0x0c86, - 0x0c8d, 0x0c98, 0x0ca9, 0x0cbd, 0x0cd0, + 0x0b20, 0x0b20, 0x0b27, 0x0b2c, 0x0b2c, 0x0b35, 0x0b35, 0x0b35, + 0x0b35, 0x0b35, 0x0b54, 0x0b58, 0x0b71, 0x0b77, 0x0b8f, 0x0b8f, + 0x0ba1, 0x0bb4, 0x0bc7, 0x0bd8, 0x0bea, 0x0c04, 0x0c1c, 0x0c25, + 0x0c38, 0x0c38, 0x0c4a, 0x0c59, 0x0c65, 0x0c6d, 0x0c82, 0x0c94, + 0x0c9b, 0x0ca6, 0x0cb7, 0x0ccb, 0x0cde, }, }, { // gsw @@ -6406,15 +6406,15 @@ var langHeaders = [252]header{ "tsyrischSyrischTemneTereno-SchpraachTetum-SchpraachTigreTiv-Schpraac" + "hTokelauanischKlingonischTlingit-SchpraachTamaseqTsonga-SchpraachNeu" + "melanesischTsimshian-SchpraachTumbuka-SchpraachElliceanischTuwinisch" + - "UdmurtischUgaritischMbundu-SchpraachRootVai-SchpraachWotischWalamo-S" + - "chpraachWarayWasho-SchpraachKalmückischYao-SchpraachYapesischZapotek" + - "ischBliss-SymboolZenagaZuni-SchpraachKän schpraachliche InhaltZazaÖs" + - "chtriichischs TüütschSchwiizer HochtüütschAuschtralischs ÄnglischKan" + - "adischs ÄnglischBritischs ÄnglischAmerikanischs ÄnglischLatiinamerik" + - "anischs SchpanischIbeerischs SchpanischKanadischs FranzösischSchwiiz" + - "er FranzösischFläämischBrasilianischs PortugiisischIberischs Portugi" + - "isischMoldawischSerbo-KroatischVeräifachts ChineesischTradizionells " + - "Chineesisch", + "UdmurtischUgaritischMbundu-SchpraachUnbeschtimmti SchpraachVai-Schpr" + + "aachWotischWalamo-SchpraachWarayWasho-SchpraachKalmückischYao-Schpra" + + "achYapesischZapotekischBliss-SymboolZenagaZuni-SchpraachKän schpraac" + + "hliche InhaltZazaÖschtriichischs TüütschSchwiizer HochtüütschAuschtr" + + "alischs ÄnglischKanadischs ÄnglischBritischs ÄnglischAmerikanischs Ä" + + "nglischLatiinamerikanischs SchpanischIbeerischs SchpanischKanadischs" + + " FranzösischSchwiizer FranzösischFläämischBrasilianischs Portugiisis" + + "chIberischs PortugiisischMoldawischSerbo-KroatischVeräifachts Chinee" + + "sischTradizionells Chineesisch", []uint16{ // 613 elements // Entry 0 - 3F 0x0000, 0x0004, 0x000e, 0x0017, 0x0020, 0x0024, 0x002d, 0x0039, @@ -6494,15 +6494,15 @@ var langHeaders = [252]header{ 0x0f72, 0x0f72, 0x0f72, 0x0f77, 0x0f77, 0x0f87, 0x0f96, 0x0f9b, 0x0fa8, 0x0fb5, 0x0fb5, 0x0fc0, 0x0fd1, 0x0fd1, 0x0fd8, 0x0fe8, 0x0ff6, 0x0ff6, 0x0ff6, 0x0ff6, 0x1009, 0x1009, 0x101a, 0x1026, - 0x1026, 0x102f, 0x102f, 0x1039, 0x1043, 0x1053, 0x1057, 0x1064, - 0x1064, 0x1064, 0x1064, 0x1064, 0x106b, 0x106b, 0x106b, 0x106b, - 0x107b, 0x1080, 0x108f, 0x108f, 0x108f, 0x109b, 0x109b, 0x109b, + 0x1026, 0x102f, 0x102f, 0x1039, 0x1043, 0x1053, 0x106a, 0x1077, + 0x1077, 0x1077, 0x1077, 0x1077, 0x107e, 0x107e, 0x107e, 0x107e, + 0x108e, 0x1093, 0x10a2, 0x10a2, 0x10a2, 0x10ae, 0x10ae, 0x10ae, // Entry 240 - 27F - 0x10a8, 0x10b1, 0x10b1, 0x10b1, 0x10b1, 0x10b1, 0x10bc, 0x10c9, - 0x10c9, 0x10cf, 0x10cf, 0x10dd, 0x10f7, 0x10fb, 0x10fb, 0x10fb, - 0x1115, 0x112c, 0x1144, 0x1158, 0x116b, 0x1182, 0x11a0, 0x11b5, - 0x11b5, 0x11b5, 0x11cc, 0x11e2, 0x11e2, 0x11ed, 0x1209, 0x1220, - 0x122a, 0x1239, 0x1239, 0x1251, 0x126a, + 0x10bb, 0x10c4, 0x10c4, 0x10c4, 0x10c4, 0x10c4, 0x10cf, 0x10dc, + 0x10dc, 0x10e2, 0x10e2, 0x10f0, 0x110a, 0x110e, 0x110e, 0x110e, + 0x1128, 0x113f, 0x1157, 0x116b, 0x117e, 0x1195, 0x11b3, 0x11c8, + 0x11c8, 0x11c8, 0x11df, 0x11f5, 0x11f5, 0x1200, 0x121c, 0x1233, + 0x123d, 0x124c, 0x124c, 0x1264, 0x127d, }, }, { // gu @@ -7858,12 +7858,12 @@ var langHeaders = [252]header{ "سونِنکیےسوگڈِیَنسرٛانَن ٹونٛگوسیٚریرسُکُماسُسوٗسُمیریَنسیٖریٲییٹِمن" + "یےٹیٚریٚنوٹیٹَمٹاےگریےتیٖوٹوکیٖلاوکِلِنگونٹِلِنگِتتاماشیکنیاسا ٹونٛ" + "گاٹاک پِسِنژھِمشِیانتُمبُکاتُوالوٗتُویٖنیَناُدمُرتاُگارتِکیُمبُندوٗ" + - "روٗٹواےووتِکوالامووَریےواشوکالمِکیاویَپیٖززَپوتیٚکزیناگازوٗنیکانٛہہ" + - " تہِ لِسانیاتی مواد نہٕزازاآسٹرِیَن جٔرمَنسٕوِس ہاےجٔرمَنآسٹریلیَن ا" + - "َنٛگریٖزۍکینَڈِیٲیی اَنٛگریٖزۍبَرطانوی اَنٛگریٖزۍیوٗ ایٚس اَنٛگریٖز" + - "ۍلیٹٕن امریٖکی سپینِشلِبیریَن سپینِشکَنیڈیَن فریٚنچسٕوٕس فریٚنچفلیٚ" + - "مِشبرازیٖلی پُتَگیٖزلِبیریَن پُرتَگیٖزمولداوِیَنسیٚربو کروشِیَنسیٚو" + - "د چیٖنیرِوٲجی چیٖنی", + "اَنزٲنۍ یا نَہ لَگہٕہار زبانواےووتِکوالامووَریےواشوکالمِکیاویَپیٖزز" + + "َپوتیٚکزیناگازوٗنیکانٛہہ تہِ لِسانیاتی مواد نہٕزازاآسٹرِیَن جٔرمَنس" + + "ٕوِس ہاےجٔرمَنآسٹریلیَن اَنٛگریٖزۍکینَڈِیٲیی اَنٛگریٖزۍبَرطانوی اَن" + + "ٛگریٖزۍیوٗ ایٚس اَنٛگریٖزۍلیٹٕن امریٖکی سپینِشلِبیریَن سپینِشکَنیڈی" + + "َن فریٚنچسٕوٕس فریٚنچفلیٚمِشبرازیٖلی پُتَگیٖزلِبیریَن پُرتَگیٖزمولد" + + "اوِیَنسیٚربو کروشِیَنسیٚود چیٖنیرِوٲجی چیٖنی", []uint16{ // 613 elements // Entry 0 - 3F 0x0000, 0x000a, 0x001e, 0x002e, 0x0044, 0x004e, 0x005c, 0x006c, @@ -7943,15 +7943,15 @@ var langHeaders = [252]header{ 0x164b, 0x164b, 0x164b, 0x1657, 0x1657, 0x1667, 0x1671, 0x167f, 0x1687, 0x1697, 0x1697, 0x16a7, 0x16b7, 0x16b7, 0x16c5, 0x16dc, 0x16ed, 0x16ed, 0x16ed, 0x16ed, 0x16ff, 0x16ff, 0x170d, 0x171b, - 0x171b, 0x172d, 0x172d, 0x173b, 0x174b, 0x175d, 0x1765, 0x176b, - 0x176b, 0x176b, 0x176b, 0x176b, 0x1775, 0x1775, 0x1775, 0x1775, - 0x1781, 0x178b, 0x1793, 0x1793, 0x1793, 0x179f, 0x179f, 0x179f, + 0x171b, 0x172d, 0x172d, 0x173b, 0x174b, 0x175d, 0x1791, 0x1797, + 0x1797, 0x1797, 0x1797, 0x1797, 0x17a1, 0x17a1, 0x17a1, 0x17a1, + 0x17ad, 0x17b7, 0x17bf, 0x17bf, 0x17bf, 0x17cb, 0x17cb, 0x17cb, // Entry 240 - 27F - 0x17a5, 0x17b1, 0x17b1, 0x17b1, 0x17b1, 0x17b1, 0x17c1, 0x17c1, - 0x17c1, 0x17cd, 0x17cd, 0x17d7, 0x180d, 0x1815, 0x1815, 0x1815, - 0x1832, 0x184f, 0x1876, 0x189f, 0x18c4, 0x18e8, 0x190e, 0x192b, - 0x192b, 0x192b, 0x1948, 0x195f, 0x195f, 0x196d, 0x198e, 0x19b1, - 0x19c5, 0x19e2, 0x19e2, 0x19f7, 0x1a0e, + 0x17d1, 0x17dd, 0x17dd, 0x17dd, 0x17dd, 0x17dd, 0x17ed, 0x17ed, + 0x17ed, 0x17f9, 0x17f9, 0x1803, 0x1839, 0x1841, 0x1841, 0x1841, + 0x185e, 0x187b, 0x18a2, 0x18cb, 0x18f0, 0x1914, 0x193a, 0x1957, + 0x1957, 0x1957, 0x1974, 0x198b, 0x198b, 0x1999, 0x19ba, 0x19dd, + 0x19f1, 0x1a0e, 0x1a0e, 0x1a23, 0x1a3a, }, }, { // ksb @@ -8399,18 +8399,18 @@ var langHeaders = [252]header{ "iv-SproochTokelauaneschTsachureschKlingoneschTlingit-SproochTaleschT" + "amaseqTsonga-SproochNeimelaneseschTuroyoSeediqTsakoneschTsimshian-Sp" + "roochTateschTumbuka-SproochElliceaneschTasawaqTuwineschMëttlert-Atla" + - "s-TamazightUdmurteschUgariteschMbundu-SproochRootVai-SproochVenezesc" + - "hWepseschWestflämeschMainfränkeschWoteschVoroVunjoWalliserdäitschWal" + - "amo-SproochWarayWasho-SproochWu-ChineseschKalmückeschMingrelesch Spr" + - "oochSogaYao-SproochYapeseschYangbenYembaNheengatuKantoneseschZapotek" + - "eschBliss-SymbolerSeelänneschZenagaMarokkanescht Standard-TamazightZ" + - "uni-SproochKeng SproochinhalterZazaModernt HéicharabeschÉisträichesc" + - "ht DäitschSchwäizer HéichdäitschAustralescht EngleschKanadescht Engl" + - "eschBritescht EngleschAmerikanescht EngleschLatäinamerikanescht Spue" + - "neschEuropäescht SpueneschMexikanescht SpueneschKanadescht Franséisc" + - "hSchwäizer FranséischFlämeschBrasilianescht PortugiseschEuropäescht " + - "PortugiseschMoldaweschSerbo-KroateschKongo-SwahiliChinesesch (verein" + - "facht)Chinesesch (traditionell)", + "s-TamazightUdmurteschUgariteschMbundu-SproochOnbestëmmt SproochVai-S" + + "proochVenezeschWepseschWestflämeschMainfränkeschWoteschVoroVunjoWall" + + "iserdäitschWalamo-SproochWarayWasho-SproochWu-ChineseschKalmückeschM" + + "ingrelesch SproochSogaYao-SproochYapeseschYangbenYembaNheengatuKanto" + + "neseschZapotekeschBliss-SymbolerSeelänneschZenagaMarokkanescht Stand" + + "ard-TamazightZuni-SproochKeng SproochinhalterZazaModernt Héicharabes" + + "chÉisträichescht DäitschSchwäizer HéichdäitschAustralescht EngleschK" + + "anadescht EngleschBritescht EngleschAmerikanescht EngleschLatäinamer" + + "ikanescht SpueneschEuropäescht SpueneschMexikanescht SpueneschKanade" + + "scht FranséischSchwäizer FranséischFlämeschBrasilianescht Portugises" + + "chEuropäescht PortugiseschMoldaweschSerbo-KroateschKongo-SwahiliChin" + + "esesch (vereinfacht)Chinesesch (traditionell)", []uint16{ // 613 elements // Entry 0 - 3F 0x0000, 0x0004, 0x000e, 0x0017, 0x0020, 0x0024, 0x002d, 0x0039, @@ -8490,15 +8490,15 @@ var langHeaders = [252]header{ 0x14be, 0x14c8, 0x14cc, 0x14d1, 0x14d5, 0x14e3, 0x14f0, 0x14f5, 0x1500, 0x150d, 0x1518, 0x1523, 0x1532, 0x1539, 0x1540, 0x154e, 0x155c, 0x1562, 0x1568, 0x1572, 0x1583, 0x158a, 0x1599, 0x15a5, - 0x15ac, 0x15b5, 0x15ce, 0x15d8, 0x15e2, 0x15f0, 0x15f4, 0x15ff, - 0x1608, 0x1610, 0x161d, 0x162b, 0x1632, 0x1636, 0x163b, 0x164b, - 0x1659, 0x165e, 0x166b, 0x166b, 0x1678, 0x1684, 0x1697, 0x169b, + 0x15ac, 0x15b5, 0x15ce, 0x15d8, 0x15e2, 0x15f0, 0x1603, 0x160e, + 0x1617, 0x161f, 0x162c, 0x163a, 0x1641, 0x1645, 0x164a, 0x165a, + 0x1668, 0x166d, 0x167a, 0x167a, 0x1687, 0x1693, 0x16a6, 0x16aa, // Entry 240 - 27F - 0x16a6, 0x16af, 0x16b6, 0x16bb, 0x16c4, 0x16d0, 0x16db, 0x16e9, - 0x16f5, 0x16fb, 0x171b, 0x1727, 0x173b, 0x173f, 0x1755, 0x1755, - 0x176e, 0x1787, 0x179c, 0x17af, 0x17c1, 0x17d7, 0x17f5, 0x180b, - 0x1821, 0x1821, 0x1837, 0x184d, 0x184d, 0x1856, 0x1871, 0x188a, - 0x1894, 0x18a3, 0x18b0, 0x18c8, 0x18e1, + 0x16b5, 0x16be, 0x16c5, 0x16ca, 0x16d3, 0x16df, 0x16ea, 0x16f8, + 0x1704, 0x170a, 0x172a, 0x1736, 0x174a, 0x174e, 0x1764, 0x1764, + 0x177d, 0x1796, 0x17ab, 0x17be, 0x17d0, 0x17e6, 0x1804, 0x181a, + 0x1830, 0x1830, 0x1846, 0x185c, 0x185c, 0x1865, 0x1880, 0x1899, + 0x18a3, 0x18b2, 0x18bf, 0x18d7, 0x18f0, }, }, { // lg @@ -9465,14 +9465,15 @@ var langHeaders = [252]header{ "an TongoSererSahoSukumaSusuSumerjanKomorjanSirjanTimneTesoTerenoTetu" + "mTigreTivTokelauKlingonTlingitTamashekNyasa TongaTok PisinTarokoTsim" + "shianTumbukaTuvaluTasawaqTuvinjanTamazight tal-Atlas ĊentraliUdmurtU" + - "garitikuUmbunduRootVaiVotikVunjoWalserWalamoWarayWashoKalmykSogaYaoY" + - "apeseYangbenYembaKantoniżZapotecZenagaTamazight Standard tal-MarokkZ" + - "uniBla kontenut lingwistikuZazaGħarbi Standard ModernĠermaniż Awstri" + - "jakĠermaniż ŻvizzeruIngliż AwstraljanIngliż KanadiżIngliż Brittaniku" + - "Ingliż AmerikanSpanjol Latin AmerikanSpanjol EwropewSpanjol tal-Mess" + - "ikuFranċiż KanadiżFranċiż ŻvizzeruSassonu KomuniFjammingPortugiż tal" + - "-BrażilPortugiż EwropewMoldovanSerbo-KroatSwahili tar-Repubblika Dem" + - "okratika tal-KongoĊiniż SimplifikatĊiniż Tradizzjonali", + "garitikuUmbunduLingwa Mhix MagħrufaVaiVotikVunjoWalserWalamoWarayWas" + + "hoKalmykSogaYaoYapeseYangbenYembaKantoniżZapotecZenagaTamazight Stan" + + "dard tal-MarokkZuniBla kontenut lingwistikuZazaGħarbi Standard Moder" + + "nĠermaniż AwstrijakĠermaniż ŻvizzeruIngliż AwstraljanIngliż KanadiżI" + + "ngliż BrittanikuIngliż AmerikanSpanjol Latin AmerikanSpanjol Ewropew" + + "Spanjol tal-MessikuFranċiż KanadiżFranċiż ŻvizzeruSassonu KomuniFjam" + + "mingPortugiż tal-BrażilPortugiż EwropewMoldovanSerbo-KroatSwahili ta" + + "r-Repubblika Demokratika tal-KongoĊiniż SimplifikatĊiniż Tradizzjona" + + "li", []uint16{ // 613 elements // Entry 0 - 3F 0x0000, 0x0004, 0x000d, 0x0014, 0x001c, 0x0020, 0x0028, 0x0031, @@ -9552,15 +9553,15 @@ var langHeaders = [252]header{ 0x0d21, 0x0d21, 0x0d21, 0x0d26, 0x0d2a, 0x0d30, 0x0d35, 0x0d3a, 0x0d3d, 0x0d44, 0x0d44, 0x0d4b, 0x0d52, 0x0d52, 0x0d5a, 0x0d65, 0x0d6e, 0x0d6e, 0x0d74, 0x0d74, 0x0d7d, 0x0d7d, 0x0d84, 0x0d8a, - 0x0d91, 0x0d99, 0x0db6, 0x0dbc, 0x0dc5, 0x0dcc, 0x0dd0, 0x0dd3, - 0x0dd3, 0x0dd3, 0x0dd3, 0x0dd3, 0x0dd8, 0x0dd8, 0x0ddd, 0x0de3, - 0x0de9, 0x0dee, 0x0df3, 0x0df3, 0x0df3, 0x0df9, 0x0df9, 0x0dfd, + 0x0d91, 0x0d99, 0x0db6, 0x0dbc, 0x0dc5, 0x0dcc, 0x0de1, 0x0de4, + 0x0de4, 0x0de4, 0x0de4, 0x0de4, 0x0de9, 0x0de9, 0x0dee, 0x0df4, + 0x0dfa, 0x0dff, 0x0e04, 0x0e04, 0x0e04, 0x0e0a, 0x0e0a, 0x0e0e, // Entry 240 - 27F - 0x0e00, 0x0e06, 0x0e0d, 0x0e12, 0x0e12, 0x0e1b, 0x0e22, 0x0e22, - 0x0e22, 0x0e28, 0x0e45, 0x0e49, 0x0e61, 0x0e65, 0x0e7c, 0x0e7c, - 0x0e90, 0x0ea4, 0x0eb6, 0x0ec6, 0x0ed8, 0x0ee8, 0x0efe, 0x0f0d, - 0x0f20, 0x0f20, 0x0f32, 0x0f45, 0x0f53, 0x0f5b, 0x0f70, 0x0f81, - 0x0f89, 0x0f94, 0x0fc0, 0x0fd3, 0x0fe8, + 0x0e11, 0x0e17, 0x0e1e, 0x0e23, 0x0e23, 0x0e2c, 0x0e33, 0x0e33, + 0x0e33, 0x0e39, 0x0e56, 0x0e5a, 0x0e72, 0x0e76, 0x0e8d, 0x0e8d, + 0x0ea1, 0x0eb5, 0x0ec7, 0x0ed7, 0x0ee9, 0x0ef9, 0x0f0f, 0x0f1e, + 0x0f31, 0x0f31, 0x0f43, 0x0f56, 0x0f64, 0x0f6c, 0x0f81, 0x0f92, + 0x0f9a, 0x0fa5, 0x0fd1, 0x0fe4, 0x0ff9, }, }, { // mua @@ -9966,11 +9967,11 @@ var langHeaders = [252]header{ "ngoserersahosukumasususumeriskshimaoreklassisk syrisksyrisktemneteso" + "terenotetumtigrétivitokelauklingontlingittamasjektonga (Nyasa)tok pi" + "sintarokotsimshiantumbukatuvalutasawaqtuvinisksentral-tamazightudmur" + - "tugaritiskumbundurotvaivotiskvunjowalsertyskwolayttawaraywashokalmyk" + - "isksogayaoyapesiskyangbenyembakantonesiskzapotecblissymbolzenagastan" + - "dard marokkansk tamazightzuniutan språkleg innhaldzazamoderne standa" + - "rdarabiskbritisk engelsklågsaksiskflamskmoldaviskserbokroatiskforenk" + - "la kinesisktradisjonell kinesisk", + "tugaritiskumbunduukjent språkvaivotiskvunjowalsertyskwolayttawaraywa" + + "shokalmykisksogayaoyapesiskyangbenyembakantonesiskzapotecblissymbolz" + + "enagastandard marokkansk tamazightzuniutan språkleg innhaldzazamoder" + + "ne standardarabiskbritisk engelsklågsaksiskflamskmoldaviskserbokroat" + + "iskforenkla kinesisktradisjonell kinesisk", []uint16{ // 613 elements // Entry 0 - 3F 0x0000, 0x0004, 0x000d, 0x0015, 0x001e, 0x0022, 0x002a, 0x0032, @@ -10050,15 +10051,15 @@ var langHeaders = [252]header{ 0x0d19, 0x0d19, 0x0d19, 0x0d1e, 0x0d22, 0x0d28, 0x0d2d, 0x0d33, 0x0d37, 0x0d3e, 0x0d3e, 0x0d45, 0x0d4c, 0x0d4c, 0x0d54, 0x0d61, 0x0d6a, 0x0d6a, 0x0d70, 0x0d70, 0x0d79, 0x0d79, 0x0d80, 0x0d86, - 0x0d8d, 0x0d95, 0x0da6, 0x0dac, 0x0db5, 0x0dbc, 0x0dbf, 0x0dc2, - 0x0dc2, 0x0dc2, 0x0dc2, 0x0dc2, 0x0dc8, 0x0dc8, 0x0dcd, 0x0dd7, - 0x0ddf, 0x0de4, 0x0de9, 0x0de9, 0x0de9, 0x0df2, 0x0df2, 0x0df6, + 0x0d8d, 0x0d95, 0x0da6, 0x0dac, 0x0db5, 0x0dbc, 0x0dc9, 0x0dcc, + 0x0dcc, 0x0dcc, 0x0dcc, 0x0dcc, 0x0dd2, 0x0dd2, 0x0dd7, 0x0de1, + 0x0de9, 0x0dee, 0x0df3, 0x0df3, 0x0df3, 0x0dfc, 0x0dfc, 0x0e00, // Entry 240 - 27F - 0x0df9, 0x0e01, 0x0e08, 0x0e0d, 0x0e0d, 0x0e18, 0x0e1f, 0x0e29, - 0x0e29, 0x0e2f, 0x0e4c, 0x0e50, 0x0e66, 0x0e6a, 0x0e81, 0x0e81, - 0x0e81, 0x0e81, 0x0e81, 0x0e81, 0x0e90, 0x0e90, 0x0e90, 0x0e90, - 0x0e90, 0x0e90, 0x0e90, 0x0e90, 0x0e9b, 0x0ea1, 0x0ea1, 0x0ea1, - 0x0eaa, 0x0eb7, 0x0eb7, 0x0ec8, 0x0edd, + 0x0e03, 0x0e0b, 0x0e12, 0x0e17, 0x0e17, 0x0e22, 0x0e29, 0x0e33, + 0x0e33, 0x0e39, 0x0e56, 0x0e5a, 0x0e70, 0x0e74, 0x0e8b, 0x0e8b, + 0x0e8b, 0x0e8b, 0x0e8b, 0x0e8b, 0x0e9a, 0x0e9a, 0x0e9a, 0x0e9a, + 0x0e9a, 0x0e9a, 0x0e9a, 0x0e9a, 0x0ea5, 0x0eab, 0x0eab, 0x0eab, + 0x0eb4, 0x0ec1, 0x0ec1, 0x0ed2, 0x0ee7, }, }, { // nnh @@ -10465,13 +10466,13 @@ var langHeaders = [252]header{ " ସାମିସ୍କୋଲ୍ଟ ସାମୀସୋନିଙ୍କେସୋଗଡିଏନ୍ଶାରାନା ଟୋଙ୍ଗୋଶେରେର୍ସୁକୁମାଶୁଶୁସୁମେରି" + "ଆନ୍କ୍ଲାସିକାଲ୍ ସିରିକ୍ସିରିକ୍ତିମନେତେରେନୋତେତୁମ୍ଟାଇଗ୍ରେତୀଭ୍ଟୋକେଲାଉକ୍ଲିଙ" + "୍ଗନ୍ତ୍ଲିଙ୍ଗିଟ୍ତାମାଶେକ୍ନ୍ୟାସା ଟୋଙ୍ଗୋଟୋକ୍ ପିସିନ୍ତିସିମିସିଆନ୍ଟୁମ୍ବୁକାତ" + - "ୁଭାଲୁତୁଭିନିଆନ୍ଉଦମୂର୍ତ୍ତୟୁଗୋରଟିକ୍ଉମ୍ବୁଣ୍ଡୁମୂଳଭାଇଭୋଟିକ୍ୱାଲମୋୱାରୈୱାସୋ" + - "କାଲ୍ମୀକ୍ୟାଓୟାପୀସ୍ଜାପୋଟେକ୍ବ୍ଲିସିମ୍ବଲସ୍ଜେନାଗାଜୁନୀକୌଣସି ଲିଙ୍ଗୁଇଷ୍ଟ ସା" + - "ମଗ୍ରୀ ନାହିଁଜାଜାଅଷ୍ଟ୍ରିଆନ୍ ଜର୍ମାନସ୍ବିସ୍ ହାଇ ଜର୍ମାନ୍ଅଷ୍ଟ୍ରେଲିଆନ୍ ଇଁର" + - "ାଜୀକାନାଡିଆନ୍ ଇଁରାଜୀବ୍ରିଟିଶ୍ ଇଁରାଜୀୟୁ.ଏସ୍. ଇଁରାଜୀଲାଟିନ୍ ଆମେରିକାନ୍ ସ" + - "୍ପାନିଶ୍ଲେବେରିଆନ୍ ସ୍ପାନିଶ୍କାନାଡିଆନ୍ ଫ୍ରେଞ୍ଚସ୍ବିସ୍ ଫ୍ରେଞ୍ଚ୍ଫ୍ଲେମିଶ୍ବ" + - "୍ରାଜିଲିଆନ୍ ପର୍ତ୍ତୁଗୀଜ୍ଲେବେରିଆନ୍ ପର୍ତ୍ତୁଗୀଜ୍ମୋଲଡୋଭିଆନ୍ସର୍ବୋ-କ୍ରୋଆଟି" + - "ଆନ୍ସରଳିକରଣ ଚାଇନୀଜ୍ପାରମ୍ପରିକ ଚାଇନୀଜ୍", + "ୁଭାଲୁତୁଭିନିଆନ୍ଉଦମୂର୍ତ୍ତୟୁଗୋରଟିକ୍ଉମ୍ବୁଣ୍ଡୁଅଜଣା ଏବଂ ଅବୈଧ ଭାଷାଭାଇଭୋଟି" + + "କ୍ୱାଲମୋୱାରୈୱାସୋକାଲ୍ମୀକ୍ୟାଓୟାପୀସ୍ଜାପୋଟେକ୍ବ୍ଲିସିମ୍ବଲସ୍ଜେନାଗାଜୁନୀକୌଣସ" + + "ି ଲିଙ୍ଗୁଇଷ୍ଟ ସାମଗ୍ରୀ ନାହିଁଜାଜାଅଷ୍ଟ୍ରିଆନ୍ ଜର୍ମାନସ୍ବିସ୍ ହାଇ ଜର୍ମାନ୍ଅ" + + "ଷ୍ଟ୍ରେଲିଆନ୍ ଇଁରାଜୀକାନାଡିଆନ୍ ଇଁରାଜୀବ୍ରିଟିଶ୍ ଇଁରାଜୀୟୁ.ଏସ୍. ଇଁରାଜୀଲାଟ" + + "ିନ୍ ଆମେରିକାନ୍ ସ୍ପାନିଶ୍ଲେବେରିଆନ୍ ସ୍ପାନିଶ୍କାନାଡିଆନ୍ ଫ୍ରେଞ୍ଚସ୍ବିସ୍ ଫ୍" + + "ରେଞ୍ଚ୍ଫ୍ଲେମିଶ୍ବ୍ରାଜିଲିଆନ୍ ପର୍ତ୍ତୁଗୀଜ୍ଲେବେରିଆନ୍ ପର୍ତ୍ତୁଗୀଜ୍ମୋଲଡୋଭିଆ" + + "ନ୍ସର୍ବୋ-କ୍ରୋଆଟିଆନ୍ସରଳିକରଣ ଚାଇନୀଜ୍ପାରମ୍ପରିକ ଚାଇନୀଜ୍", []uint16{ // 613 elements // Entry 0 - 3F 0x0000, 0x000f, 0x002d, 0x0042, 0x0060, 0x006c, 0x0081, 0x0096, @@ -10551,15 +10552,15 @@ var langHeaders = [252]header{ 0x22c8, 0x22c8, 0x22c8, 0x22d7, 0x22d7, 0x22e9, 0x22fb, 0x2310, 0x231c, 0x2331, 0x2331, 0x234c, 0x236a, 0x236a, 0x2382, 0x23a7, 0x23c6, 0x23c6, 0x23c6, 0x23c6, 0x23e7, 0x23e7, 0x23ff, 0x2411, - 0x2411, 0x242c, 0x242c, 0x2447, 0x2462, 0x247d, 0x2486, 0x248f, - 0x248f, 0x248f, 0x248f, 0x248f, 0x24a1, 0x24a1, 0x24a1, 0x24a1, - 0x24b0, 0x24bc, 0x24c8, 0x24c8, 0x24c8, 0x24e0, 0x24e0, 0x24e0, + 0x2411, 0x242c, 0x242c, 0x2447, 0x2462, 0x247d, 0x24ad, 0x24b6, + 0x24b6, 0x24b6, 0x24b6, 0x24b6, 0x24c8, 0x24c8, 0x24c8, 0x24c8, + 0x24d7, 0x24e3, 0x24ef, 0x24ef, 0x24ef, 0x2507, 0x2507, 0x2507, // Entry 240 - 27F - 0x24e9, 0x24fb, 0x24fb, 0x24fb, 0x24fb, 0x24fb, 0x2513, 0x2537, - 0x2537, 0x2549, 0x2549, 0x2555, 0x25a9, 0x25b5, 0x25b5, 0x25b5, - 0x25e6, 0x2618, 0x264f, 0x267d, 0x26a8, 0x26cc, 0x2713, 0x2747, - 0x2747, 0x2747, 0x2778, 0x27a3, 0x27a3, 0x27bb, 0x27fe, 0x283b, - 0x2859, 0x2887, 0x2887, 0x28b2, 0x28e3, + 0x2510, 0x2522, 0x2522, 0x2522, 0x2522, 0x2522, 0x253a, 0x255e, + 0x255e, 0x2570, 0x2570, 0x257c, 0x25d0, 0x25dc, 0x25dc, 0x25dc, + 0x260d, 0x263f, 0x2676, 0x26a4, 0x26cf, 0x26f3, 0x273a, 0x276e, + 0x276e, 0x276e, 0x279f, 0x27ca, 0x27ca, 0x27e2, 0x2825, 0x2862, + 0x2880, 0x28ae, 0x28ae, 0x28d9, 0x290a, }, }, { // os @@ -12351,16 +12352,16 @@ var langHeaders = [252]header{ "hitshankielâmaadâsämikielâjuulevsämikielâanarâškielânuorttâlâškielâs" + "oninkesranantongosahosukumakielâkomorikielâsyyriakielâtemnekielâates" + "otetumtigrekielâklingonkielâtok pisintarokotumbukakielâtuvalukielâta" + - "sawaqtuvakielâKoskâatlas tamazightudmurtkielâumbunduruotâsvaikielâve" + - "psäkielâvunjowalliskielâwolaitakielâwaraykielâkalmukkielâsogayangben" + - "yembakantonkielâstandard tamazightzunikielâij kielâlâš siskáldâszaza" + - "kielâstandard arabiakielâNuorttâriijkâ saksakielâSveitsi pajesaksaki" + - "elâAustralia eŋgâlâskielâKanada eŋgâlâskielâBritannia eŋgâlâskielâAm" + - "erika eŋgâlâskielâLäättin-Amerika espanjakielâEspanja espanjakielâMe" + - "ksiko espanjakielâKanada ranskakielâSveitsi ranskakielâVuáládâhenâmi" + - "j saksakielâhollandkielâ (flaami)Brasilia portugalkielâPortugal port" + - "ugalkielâKongo swahilikielâoovtâkiärdánis kiinakielâärbivuáválâš kii" + - "nakielâ", + "sawaqtuvakielâKoskâatlas tamazightudmurtkielâumbundutubdâmettumis ki" + + "elâvaikielâvepsäkielâvunjowalliskielâwolaitakielâwaraykielâkalmukkie" + + "lâsogayangbenyembakantonkielâstandard tamazightzunikielâij kielâlâš " + + "siskáldâszazakielâstandard arabiakielâNuorttâriijkâ saksakielâSveits" + + "i pajesaksakielâAustralia eŋgâlâskielâKanada eŋgâlâskielâBritannia e" + + "ŋgâlâskielâAmerika eŋgâlâskielâLäättin-Amerika espanjakielâEspanja " + + "espanjakielâMeksiko espanjakielâKanada ranskakielâSveitsi ranskakiel" + + "âVuáládâhenâmij saksakielâhollandkielâ (flaami)Brasilia portugalkie" + + "lâPortugal portugalkielâKongo swahilikielâoovtâkiärdánis kiinakielâä" + + "rbivuáválâš kiinakielâ", []uint16{ // 613 elements // Entry 0 - 3F 0x0000, 0x0004, 0x0011, 0x0011, 0x001a, 0x0024, 0x0030, 0x003e, @@ -12440,15 +12441,15 @@ var langHeaders = [252]header{ 0x0eb1, 0x0eb1, 0x0eb1, 0x0ebc, 0x0ec1, 0x0ec1, 0x0ec6, 0x0ed1, 0x0ed1, 0x0ed1, 0x0ed1, 0x0ede, 0x0ede, 0x0ede, 0x0ede, 0x0ede, 0x0ee7, 0x0ee7, 0x0eed, 0x0eed, 0x0eed, 0x0eed, 0x0efa, 0x0f06, - 0x0f0d, 0x0f17, 0x0f2c, 0x0f38, 0x0f38, 0x0f3f, 0x0f46, 0x0f4f, - 0x0f4f, 0x0f5b, 0x0f5b, 0x0f5b, 0x0f5b, 0x0f5b, 0x0f60, 0x0f6c, - 0x0f79, 0x0f84, 0x0f84, 0x0f84, 0x0f84, 0x0f90, 0x0f90, 0x0f94, + 0x0f0d, 0x0f17, 0x0f2c, 0x0f38, 0x0f38, 0x0f3f, 0x0f54, 0x0f5d, + 0x0f5d, 0x0f69, 0x0f69, 0x0f69, 0x0f69, 0x0f69, 0x0f6e, 0x0f7a, + 0x0f87, 0x0f92, 0x0f92, 0x0f92, 0x0f92, 0x0f9e, 0x0f9e, 0x0fa2, // Entry 240 - 27F - 0x0f94, 0x0f94, 0x0f9b, 0x0fa0, 0x0fa0, 0x0fac, 0x0fac, 0x0fac, - 0x0fac, 0x0fac, 0x0fbe, 0x0fc8, 0x0fe2, 0x0fec, 0x1001, 0x1001, - 0x101c, 0x1033, 0x104d, 0x1064, 0x107e, 0x1096, 0x10b5, 0x10ca, - 0x10df, 0x10df, 0x10f2, 0x1106, 0x1124, 0x113a, 0x1151, 0x1168, - 0x1168, 0x1168, 0x117b, 0x1198, 0x11b5, + 0x0fa2, 0x0fa2, 0x0fa9, 0x0fae, 0x0fae, 0x0fba, 0x0fba, 0x0fba, + 0x0fba, 0x0fba, 0x0fcc, 0x0fd6, 0x0ff0, 0x0ffa, 0x100f, 0x100f, + 0x102a, 0x1041, 0x105b, 0x1072, 0x108c, 0x10a4, 0x10c3, 0x10d8, + 0x10ed, 0x10ed, 0x1100, 0x1114, 0x1132, 0x1148, 0x115f, 0x1176, + 0x1176, 0x1176, 0x1189, 0x11a6, 0x11c3, }, }, { // sn @@ -13113,8 +13114,8 @@ var langHeaders = [252]header{ "a AljeriaKibuginiKigwichiinKihupaKiingushKilojbanKikachinKikoyra Chi" + "iniKikakoKikomipermyakKikurukhKikumykKilambamakKimokshaKimikmakiKimo" + "hokiKimossiKingiemboonKiinkoPijini ya NijeriaKikiicheKiarabu cha Cha" + - "diKitongo cha SrananKikomoroKisiriaKiudumurtiKirootKiwalserKiarabu c" + - "ha Dunia Kilichosanifishwa", + "diKitongo cha SrananKikomoroKisiriaKiudumurtiKiwalserKiarabu cha Dun" + + "ia Kilichosanifishwa", []uint16{ // 591 elements // Entry 0 - 3F 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0006, 0x0006, @@ -13194,12 +13195,12 @@ var langHeaders = [252]header{ 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, - 0x0137, 0x0137, 0x0137, 0x0141, 0x0141, 0x0141, 0x0147, 0x0147, - 0x0147, 0x0147, 0x0147, 0x0147, 0x0147, 0x0147, 0x0147, 0x014f, - 0x014f, 0x014f, 0x014f, 0x014f, 0x014f, 0x014f, 0x014f, 0x014f, + 0x0137, 0x0137, 0x0137, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, + 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0149, + 0x0149, 0x0149, 0x0149, 0x0149, 0x0149, 0x0149, 0x0149, 0x0149, // Entry 240 - 27F - 0x014f, 0x014f, 0x014f, 0x014f, 0x014f, 0x014f, 0x014f, 0x014f, - 0x014f, 0x014f, 0x014f, 0x014f, 0x014f, 0x014f, 0x0172, + 0x0149, 0x0149, 0x0149, 0x0149, 0x0149, 0x0149, 0x0149, 0x0149, + 0x0149, 0x0149, 0x0149, 0x0149, 0x0149, 0x0149, 0x016c, }, }, { // sw-KE @@ -13208,8 +13209,8 @@ var langHeaders = [252]header{ "ia cha JuuKingushiKilojbaniKikachinKikoyra ChiiniKikakoKikomipermyak" + "KikurukhKilambaKimokshaKimicmacKimohokiKiingiemboonKiin’koPijini ya " + "NijeriascoKikoyraboro SenniKiarabu cha ChadiKiscran TongoKicomoroKis" + - "yriaLugha ya Central Atlas TamazightKiudumurtiKirootKiwalserTamazigh" + - "t Sanifu ya MorokoKiarabu cha Sasa Kilichosanifishwa", + "yriaLugha ya Central Atlas TamazightKiudumurtiKiwalserTamazight Sani" + + "fu ya MorokoKiarabu cha Sasa Kilichosanifishwa", []uint16{ // 591 elements // Entry 0 - 3F 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0005, 0x0005, 0x0005, @@ -13289,12 +13290,12 @@ var langHeaders = [252]header{ 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, - 0x015e, 0x015e, 0x017e, 0x0188, 0x0188, 0x0188, 0x018e, 0x018e, - 0x018e, 0x018e, 0x018e, 0x018e, 0x018e, 0x018e, 0x018e, 0x0196, - 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, + 0x015e, 0x015e, 0x017e, 0x0188, 0x0188, 0x0188, 0x0188, 0x0188, + 0x0188, 0x0188, 0x0188, 0x0188, 0x0188, 0x0188, 0x0188, 0x0190, + 0x0190, 0x0190, 0x0190, 0x0190, 0x0190, 0x0190, 0x0190, 0x0190, // Entry 240 - 27F - 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, - 0x0196, 0x0196, 0x01b0, 0x01b0, 0x01b0, 0x01b0, 0x01d2, + 0x0190, 0x0190, 0x0190, 0x0190, 0x0190, 0x0190, 0x0190, 0x0190, + 0x0190, 0x0190, 0x01aa, 0x01aa, 0x01aa, 0x01aa, 0x01cc, }, }, { // ta @@ -13626,22 +13627,22 @@ var langHeaders = [252]header{ "olea fakatalokolea fakasakōnialea fakatisīmisianilea fakatati-mosele" + "milea fakatumepukalea fakatūvalulea fakatasauakilea fakatuvīnialea f" + "akatamasaiti-ʻatilasi-lolotolea fakaʻutimulitilea fakaʻūkalitilea fa" + - "kaʻumipūnitulea fakaʻilonga-tefitolea fakavailea fakavenēsialea faka" + - "vepisilea fakavelamingi-hihifolea fakafalanikoni-lolotolea fakavotik" + - "ilea fakavōlolea fakavūnisolea fakaʻualiselilea fakaʻuolaitalea faka" + - "ʻualailea fakaʻuasiōlea fakaʻuālipililea fakasiaina-uūlea fakakalim" + - "ikilea fakamingilelialea fakasokalea fakaʻiaolea fakaʻiapilea fakaʻi" + - "angipenilea fakaʻiēmipalea fakaneʻēngatūlea fakakuangitongilea fakas" + - "apotekilea fakaʻilonga-pilisilea fakasēlanilea fakasenakalea fakatam" + - "asaiti-molokolea fakasuniʻikai ha lealea fakasāsālea fakaʻalepea (mā" + - "mani)lea fakasiamane-ʻaositulialea fakasiamane-hake-suisilanilea fak" + - "apālangi-ʻaositelēlialea fakapālangi-kānatalea fakapilitānialea faka" + - "pālangi-ʻamelikalea fakasipēnisi lātini-ʻamelikalea fakasipēnisi-‘iu" + - "lopelea fakasipēnisi-mekisikoulea fakafalanisē-kānatalea fakafalanis" + - "ē-suisilanilea fakasakisoni-hifolea fakahōlani-pelesiumelea fakapot" + - "ukali-palāsililea fakapotukali-ʻiulopelea fakamolitāvialea fakakuloi" + - "sia-sēpialea fakasuahili-kongikōlea fakasiaina-fakafaingofualea faka" + - "siaina-tukufakaholo", + "kaʻumipūnitulea taʻeʻiloalea fakavailea fakavenēsialea fakavepisilea" + + " fakavelamingi-hihifolea fakafalanikoni-lolotolea fakavotikilea faka" + + "vōlolea fakavūnisolea fakaʻualiselilea fakaʻuolaitalea fakaʻualailea" + + " fakaʻuasiōlea fakaʻuālipililea fakasiaina-uūlea fakakalimikilea fak" + + "amingilelialea fakasokalea fakaʻiaolea fakaʻiapilea fakaʻiangipenile" + + "a fakaʻiēmipalea fakaneʻēngatūlea fakakuangitongilea fakasapotekilea" + + " fakaʻilonga-pilisilea fakasēlanilea fakasenakalea fakatamasaiti-mol" + + "okolea fakasuniʻikai ha lealea fakasāsālea fakaʻalepea (māmani)lea f" + + "akasiamane-ʻaositulialea fakasiamane-hake-suisilanilea fakapālangi-ʻ" + + "aositelēlialea fakapālangi-kānatalea fakapilitānialea fakapālangi-ʻa" + + "melikalea fakasipēnisi lātini-ʻamelikalea fakasipēnisi-‘iulopelea fa" + + "kasipēnisi-mekisikoulea fakafalanisē-kānatalea fakafalanisē-suisilan" + + "ilea fakasakisoni-hifolea fakahōlani-pelesiumelea fakapotukali-palās" + + "ililea fakapotukali-ʻiulopelea fakamolitāvialea fakakuloisia-sēpiale" + + "a fakasuahili-kongikōlea fakasiaina-fakafaingofualea fakasiaina-tuku" + + "fakaholo", []uint16{ // 613 elements // Entry 0 - 3F 0x0000, 0x0010, 0x0022, 0x0035, 0x0048, 0x0057, 0x0068, 0x0079, @@ -13721,15 +13722,15 @@ var langHeaders = [252]header{ 0x222e, 0x223d, 0x2249, 0x2258, 0x2264, 0x2272, 0x2280, 0x228f, 0x229b, 0x22aa, 0x22b9, 0x22ca, 0x22de, 0x22ec, 0x22fd, 0x2310, 0x2323, 0x2331, 0x233f, 0x234f, 0x2363, 0x2378, 0x2388, 0x2397, - 0x23a7, 0x23b7, 0x23d9, 0x23ec, 0x23fe, 0x2412, 0x2429, 0x2434, - 0x2444, 0x2452, 0x246a, 0x2483, 0x2491, 0x249e, 0x24ad, 0x24bf, - 0x24d0, 0x24df, 0x24ef, 0x2502, 0x2514, 0x2524, 0x2536, 0x2542, + 0x23a7, 0x23b7, 0x23d9, 0x23ec, 0x23fe, 0x2412, 0x2421, 0x242c, + 0x243c, 0x244a, 0x2462, 0x247b, 0x2489, 0x2496, 0x24a5, 0x24b7, + 0x24c8, 0x24d7, 0x24e7, 0x24fa, 0x250c, 0x251c, 0x252e, 0x253a, // Entry 240 - 27F - 0x254f, 0x255d, 0x2570, 0x2581, 0x2595, 0x25a8, 0x25b8, 0x25cf, - 0x25de, 0x25ec, 0x2604, 0x2610, 0x261d, 0x262b, 0x2645, 0x2645, - 0x2660, 0x267e, 0x269d, 0x26b5, 0x26c7, 0x26e1, 0x2704, 0x271f, - 0x273a, 0x273a, 0x2753, 0x276e, 0x2783, 0x279c, 0x27b6, 0x27cf, - 0x27e1, 0x27f8, 0x2810, 0x282c, 0x2847, + 0x2547, 0x2555, 0x2568, 0x2579, 0x258d, 0x25a0, 0x25b0, 0x25c7, + 0x25d6, 0x25e4, 0x25fc, 0x2608, 0x2615, 0x2623, 0x263d, 0x263d, + 0x2658, 0x2676, 0x2695, 0x26ad, 0x26bf, 0x26d9, 0x26fc, 0x2717, + 0x2732, 0x2732, 0x274b, 0x2766, 0x277b, 0x2794, 0x27ae, 0x27c7, + 0x27d9, 0x27f0, 0x2808, 0x2824, 0x283f, }, }, { // tr @@ -13980,15 +13981,15 @@ var langHeaders = [252]header{ "چەتېمنېچەتېسوچەتېرېناچەتېتۇمچەتىگرېچەتىۋچەتوكېلاۋچەكىلىنگونچەتىلىنگ" + "ىتچەتاماشېكچەنياسا توڭانچەتوك-پىسىنچەتوروكوچەسىمشيانچەتۇمبۇكاچەتۇۋا" + "لۇچەشىمالىي سوڭخايچەتوۋاچەمەركىزىي ئاتلاس تامازايتچەئۇدمۇرتچەئۇگارى" + - "تىكچەئۇمبۇندۇچەغول تىلۋايچەۋوتېچەۋۇنجوچەۋالسېرچەۋولايتاچەۋارايچەۋاش" + - "وچەقالماقچەسوگاچەياۋچەياپچەياڭبەنچەيېمباچەگۇاڭدوڭچەزاپوتېكچەبىلىس ب" + - "ەلگىلىرىزېناگاچەئۆلچەملىك ماراكەش تامازىتچەزۇنىچەتىل مەزمۇنى يوقزاز" + - "اچەھازىرقى زامان ئۆلچەملىك ئەرەبچەئاۋستىرىيە گېرمانچەشىۋىتسارىيە ئې" + - "گىزلىك گېرمانچەئاۋسترالىيە ئىنگلىزچەكانادا ئىنگلىزچەئەنگلىيە ئىنگلى" + - "زچەئامېرىكا ئىنگلىزچەلاتىن ئامېرىكا ئىسپانچەياۋروپا ئىسپانچەمېكسىكا" + - " ئىسپانچەكانادا فىرانسۇزچەشىۋىتسارىيە فىرانسۇزچەبىرازىلىيە پورتۇگالچ" + - "ەياۋروپا پورتۇگالچەسېرب-كرودىيەچەكونگو سىۋالىچەئاددىي خەنچەمۇرەككەپ" + - " خەنچە", + "تىكچەئۇمبۇندۇچەيوچۇن تىلۋايچەۋوتېچەۋۇنجوچەۋالسېرچەۋولايتاچەۋارايچەۋ" + + "اشوچەقالماقچەسوگاچەياۋچەياپچەياڭبەنچەيېمباچەگۇاڭدوڭچەزاپوتېكچەبىلىس" + + " بەلگىلىرىزېناگاچەئۆلچەملىك ماراكەش تامازىتچەزۇنىچەتىل مەزمۇنى يوقزا" + + "زاچەھازىرقى زامان ئۆلچەملىك ئەرەبچەئاۋستىرىيە گېرمانچەشىۋىتسارىيە ئ" + + "ېگىزلىك گېرمانچەئاۋسترالىيە ئىنگلىزچەكانادا ئىنگلىزچەئەنگلىيە ئىنگل" + + "ىزچەئامېرىكا ئىنگلىزچەلاتىن ئامېرىكا ئىسپانچەياۋروپا ئىسپانچەمېكسىك" + + "ا ئىسپانچەكانادا فىرانسۇزچەشىۋىتسارىيە فىرانسۇزچەبىرازىلىيە پورتۇگا" + + "لچەياۋروپا پورتۇگالچەسېرب-كرودىيەچەكونگو سىۋالىچەئاددىي خەنچەمۇرەكك" + + "ەپ خەنچە", []uint16{ // 613 elements // Entry 0 - 3F 0x0000, 0x000e, 0x001e, 0x0030, 0x0044, 0x0052, 0x0062, 0x0074, @@ -14068,15 +14069,15 @@ var langHeaders = [252]header{ 0x1e2d, 0x1e2d, 0x1e2d, 0x1e3b, 0x1e47, 0x1e57, 0x1e65, 0x1e73, 0x1e7d, 0x1e8f, 0x1e8f, 0x1ea3, 0x1eb7, 0x1eb7, 0x1ec9, 0x1ee2, 0x1ef7, 0x1ef7, 0x1f07, 0x1f07, 0x1f19, 0x1f19, 0x1f2b, 0x1f3b, - 0x1f5a, 0x1f66, 0x1f98, 0x1faa, 0x1fc0, 0x1fd4, 0x1fe1, 0x1feb, - 0x1feb, 0x1feb, 0x1feb, 0x1feb, 0x1ff7, 0x1ff7, 0x2005, 0x2015, - 0x2027, 0x2035, 0x2041, 0x2041, 0x2041, 0x2051, 0x2051, 0x205d, + 0x1f5a, 0x1f66, 0x1f98, 0x1faa, 0x1fc0, 0x1fd4, 0x1fe5, 0x1fef, + 0x1fef, 0x1fef, 0x1fef, 0x1fef, 0x1ffb, 0x1ffb, 0x2009, 0x2019, + 0x202b, 0x2039, 0x2045, 0x2045, 0x2045, 0x2055, 0x2055, 0x2061, // Entry 240 - 27F - 0x2067, 0x2071, 0x2081, 0x208f, 0x208f, 0x20a1, 0x20b3, 0x20d0, - 0x20d0, 0x20e0, 0x2114, 0x2120, 0x213c, 0x2148, 0x2183, 0x2183, - 0x21a8, 0x21e0, 0x2209, 0x2228, 0x224b, 0x226e, 0x229a, 0x22b9, - 0x22d8, 0x22d8, 0x22f9, 0x2324, 0x2324, 0x2324, 0x234d, 0x2370, - 0x2370, 0x238b, 0x23a6, 0x23bd, 0x23d8, + 0x206b, 0x2075, 0x2085, 0x2093, 0x2093, 0x20a5, 0x20b7, 0x20d4, + 0x20d4, 0x20e4, 0x2118, 0x2124, 0x2140, 0x214c, 0x2187, 0x2187, + 0x21ac, 0x21e4, 0x220d, 0x222c, 0x224f, 0x2272, 0x229e, 0x22bd, + 0x22dc, 0x22dc, 0x22fd, 0x2328, 0x2328, 0x2328, 0x2351, 0x2374, + 0x2374, 0x238f, 0x23aa, 0x23c1, 0x23dc, }, }, { // uk @@ -15190,10 +15191,10 @@ var langHeaders = [252]header{ "里文瑟爾卡普文東桑海文古愛爾蘭文薩莫吉希亞文希爾哈文撣文阿拉伯文(查德)希達摩文下西利西亞文塞拉亞文南薩米文魯勒薩米文伊納裡薩米文斯" + "科特薩米文索尼基文索格底亞納文蘇拉南東墎文塞雷爾文薩霍文沙特菲士蘭文蘇庫馬文蘇蘇文蘇美文葛摩文古敘利亞文敘利亞文西利西亞文圖盧文提姆" + "文特索文泰雷諾文泰頓文蒂格雷文提夫文托克勞文查庫爾文克林貢文特林基特文塔里什文塔馬奇克文東加文(尼亞薩)托比辛文圖羅尤文太魯閣文特薩" + - "克尼恩文欽西安文穆斯林塔特文圖姆布卡文吐瓦魯文北桑海文土凡文塔馬齊格特文沃蒂艾克文烏加列文姆本杜文根語言瓦伊文威尼斯文維普森文西佛蘭" + - "德文美茵-法蘭克尼亞文沃提克文佛羅文溫舊文瓦瑟文瓦拉莫文瓦瑞文瓦紹文沃皮瑞文吳語卡爾梅克文明格列爾文索加文瑤文雅浦文洋卞文耶姆巴文奈" + - "恩加圖文粵語薩波特克文布列斯符號西蘭文澤納加文標準摩洛哥塔馬塞特文祖尼文無語言內容扎扎文現代標準阿拉伯文高地德文(瑞士)低地薩克遜文" + - "佛蘭芒文摩爾多瓦文塞爾維亞克羅埃西亞文史瓦希里文(剛果)簡體中文繁體中文", + "克尼恩文欽西安文穆斯林塔特文圖姆布卡文吐瓦魯文北桑海文土凡文塔馬齊格特文沃蒂艾克文烏加列文姆本杜文未知語言瓦伊文威尼斯文維普森文西佛" + + "蘭德文美茵-法蘭克尼亞文沃提克文佛羅文溫舊文瓦瑟文瓦拉莫文瓦瑞文瓦紹文沃皮瑞文吳語卡爾梅克文明格列爾文索加文瑤文雅浦文洋卞文耶姆巴文" + + "奈恩加圖文粵語薩波特克文布列斯符號西蘭文澤納加文標準摩洛哥塔馬塞特文祖尼文無語言內容扎扎文現代標準阿拉伯文高地德文(瑞士)低地薩克遜" + + "文佛蘭芒文摩爾多瓦文塞爾維亞克羅埃西亞文史瓦希里文(剛果)簡體中文繁體中文", []uint16{ // 613 elements // Entry 0 - 3F 0x0000, 0x0009, 0x0018, 0x0027, 0x0036, 0x003f, 0x004e, 0x005a, @@ -15273,15 +15274,15 @@ var langHeaders = [252]header{ 0x1a2e, 0x1a3d, 0x1a46, 0x1a4f, 0x1a58, 0x1a64, 0x1a6d, 0x1a79, 0x1a82, 0x1a8e, 0x1a9a, 0x1aa6, 0x1ab5, 0x1ac1, 0x1ad0, 0x1ae8, 0x1af4, 0x1b00, 0x1b0c, 0x1b1e, 0x1b2a, 0x1b3c, 0x1b4b, 0x1b57, - 0x1b63, 0x1b6c, 0x1b7e, 0x1b8d, 0x1b99, 0x1ba5, 0x1bae, 0x1bb7, - 0x1bc3, 0x1bcf, 0x1bde, 0x1bf7, 0x1c03, 0x1c0c, 0x1c15, 0x1c1e, - 0x1c2a, 0x1c33, 0x1c3c, 0x1c48, 0x1c4e, 0x1c5d, 0x1c6c, 0x1c75, + 0x1b63, 0x1b6c, 0x1b7e, 0x1b8d, 0x1b99, 0x1ba5, 0x1bb1, 0x1bba, + 0x1bc6, 0x1bd2, 0x1be1, 0x1bfa, 0x1c06, 0x1c0f, 0x1c18, 0x1c21, + 0x1c2d, 0x1c36, 0x1c3f, 0x1c4b, 0x1c51, 0x1c60, 0x1c6f, 0x1c78, // Entry 240 - 27F - 0x1c7b, 0x1c84, 0x1c8d, 0x1c99, 0x1ca8, 0x1cae, 0x1cbd, 0x1ccc, - 0x1cd5, 0x1ce1, 0x1cff, 0x1d08, 0x1d17, 0x1d20, 0x1d38, 0x1d38, - 0x1d38, 0x1d50, 0x1d50, 0x1d50, 0x1d50, 0x1d50, 0x1d50, 0x1d50, - 0x1d50, 0x1d50, 0x1d50, 0x1d50, 0x1d62, 0x1d6e, 0x1d6e, 0x1d6e, - 0x1d7d, 0x1d9b, 0x1db6, 0x1dc2, 0x1dce, + 0x1c7e, 0x1c87, 0x1c90, 0x1c9c, 0x1cab, 0x1cb1, 0x1cc0, 0x1ccf, + 0x1cd8, 0x1ce4, 0x1d02, 0x1d0b, 0x1d1a, 0x1d23, 0x1d3b, 0x1d3b, + 0x1d3b, 0x1d53, 0x1d53, 0x1d53, 0x1d53, 0x1d53, 0x1d53, 0x1d53, + 0x1d53, 0x1d53, 0x1d53, 0x1d53, 0x1d65, 0x1d71, 0x1d71, 0x1d71, + 0x1d80, 0x1d9e, 0x1db9, 0x1dc5, 0x1dd1, }, }, { // zgh @@ -15488,7 +15489,7 @@ var langHeaders = [252]header{ }, } -const afLangStr string = "" + // Size: 3015 bytes +const afLangStr string = "" + // Size: 3038 bytes "AfarAbkasiesAfrikaansAkanAmhariesAragoneesArabiesAssameesAvariesAymaraAz" + "erbeidjansBaskirBelo-RussiesBulgaarsBislamaBambaraBengaalsTibettaansBret" + "onsBosniesKatalaansTsjetsjenChamorroKorsikaansTsjeggiesKerkslawiesChuvas" + @@ -15527,10 +15528,10 @@ const afLangStr string = "" + // Size: 3015 bytes "sSenaKoyraboro SenniTachelhitShanSuid-SamiLule SamiInari SamiSkolt SamiS" + "oninkeSranan TongoSahoSukumaComoraansSirieseTimneTesoTetoemTigreKlingonT" + "ok PisinTarokoToemboekaTuvaluTasawaqTuvineesSentraal Atlas TamazightUdmu" + - "rtUmbunduRootVaiVunjoWalserWolayttaWarayWarlpiriKalmykSogaYangbenYembaKa" + - "ntoneesStandaard Marokkaanse TamazightZuniGeen linguistiese inhoudZazaMo" + - "derne Standaard ArabiesSwitserse hoog-DuitsSpaans (Suid-Amerika)Nedersak" + - "siesVlaamsMoldawiesSerwo-KroatiesSwahili (Kongo)" + "rtUmbunduOnbekende of ongeldige taalVaiVunjoWalserWolayttaWarayWarlpiriK" + + "almykSogaYangbenYembaKantoneesStandaard Marokkaanse TamazightZuniGeen li" + + "nguistiese inhoudZazaModerne Standaard ArabiesSwitserse hoog-DuitsSpaans" + + " (Suid-Amerika)NedersaksiesVlaamsMoldawiesSerwo-KroatiesSwahili (Kongo)" var afLangIdx = []uint16{ // 611 elements // Entry 0 - 3F @@ -15611,18 +15612,18 @@ var afLangIdx = []uint16{ // 611 elements 0x0a5b, 0x0a5b, 0x0a5b, 0x0a60, 0x0a64, 0x0a64, 0x0a6a, 0x0a6f, 0x0a6f, 0x0a6f, 0x0a6f, 0x0a76, 0x0a76, 0x0a76, 0x0a76, 0x0a76, 0x0a7f, 0x0a7f, 0x0a85, 0x0a85, 0x0a85, 0x0a85, 0x0a8e, 0x0a94, - 0x0a9b, 0x0aa3, 0x0abb, 0x0ac1, 0x0ac1, 0x0ac8, 0x0acc, 0x0acf, - 0x0acf, 0x0acf, 0x0acf, 0x0acf, 0x0acf, 0x0acf, 0x0ad4, 0x0ada, - 0x0ae2, 0x0ae7, 0x0ae7, 0x0aef, 0x0aef, 0x0af5, 0x0af5, 0x0af9, + 0x0a9b, 0x0aa3, 0x0abb, 0x0ac1, 0x0ac1, 0x0ac8, 0x0ae3, 0x0ae6, + 0x0ae6, 0x0ae6, 0x0ae6, 0x0ae6, 0x0ae6, 0x0ae6, 0x0aeb, 0x0af1, + 0x0af9, 0x0afe, 0x0afe, 0x0b06, 0x0b06, 0x0b0c, 0x0b0c, 0x0b10, // Entry 240 - 27F - 0x0af9, 0x0af9, 0x0b00, 0x0b05, 0x0b05, 0x0b0e, 0x0b0e, 0x0b0e, - 0x0b0e, 0x0b0e, 0x0b2d, 0x0b31, 0x0b49, 0x0b4d, 0x0b66, 0x0b66, - 0x0b66, 0x0b7a, 0x0b7a, 0x0b7a, 0x0b7a, 0x0b7a, 0x0b8f, 0x0b8f, - 0x0b8f, 0x0b8f, 0x0b8f, 0x0b8f, 0x0b9b, 0x0ba1, 0x0ba1, 0x0ba1, - 0x0baa, 0x0bb8, 0x0bc7, + 0x0b10, 0x0b10, 0x0b17, 0x0b1c, 0x0b1c, 0x0b25, 0x0b25, 0x0b25, + 0x0b25, 0x0b25, 0x0b44, 0x0b48, 0x0b60, 0x0b64, 0x0b7d, 0x0b7d, + 0x0b7d, 0x0b91, 0x0b91, 0x0b91, 0x0b91, 0x0b91, 0x0ba6, 0x0ba6, + 0x0ba6, 0x0ba6, 0x0ba6, 0x0ba6, 0x0bb2, 0x0bb8, 0x0bb8, 0x0bb8, + 0x0bc1, 0x0bcf, 0x0bde, } // Size: 1246 bytes -const amLangStr string = "" + // Size: 6791 bytes +const amLangStr string = "" + // Size: 6810 bytes "አፋርኛአብሐዚኛአቬስታንአፍሪካንኛአካንኛአማርኛአራጎንስዓረብኛአሳሜዛዊአቫሪክአያማርኛአዘርባጃንኛባስኪርኛቤላራሻኛቡልጋሪ" + "ኛቢስላምኛባምባርኛቤንጋሊኛቲቤታንኛብሬቶንኛቦስኒያንኛካታላንኛችችንቻሞሮኮርሲካኛክሪቼክኛቸርች ስላቪክቹቫሽወልሽዴኒሽ" + "ጀርመንዲቬህድዞንግኻኛኢዊግሪክኛእንግሊዝኛኤስፐራንቶስፓንሽኛኢስቶኒያንኛባስክኛፐርሺያኛፉላህፊኒሽፊጂኛፋሮኛፈረንሳይኛ" + @@ -15651,12 +15652,12 @@ const amLangStr string = "" + // Size: 6791 bytes "ያ ፒጂንፐሩሳንኛኪቼቺምቦራዞ ሃይላንድ ኩቹዋራፓኑኢራሮቶንጋሮምቦአሮማንያንርዋሳንዳዌሳክሃሳምቡሩሳንታሊንጋምባይሳንጉ" + "ሲሲሊያንኛስኮትስደቡባዊ ኩርዲሽሴናኮይራቦሮ ሴኒታቼልሂትሻንቻዲያን ዓረብኛሲዳምኛደቡባዊ ሳሚሉሌ ሳሚኢናሪ ሳሚስኮል" + "ት ሳሚሶኒንኬስራናን ቶንጎሳሆኛሱኩማኮሞሪያንክላሲክ ኔይራሲሪያክቲምኔቴሶቴተምትግረክሊንጎንኛቶክ ፒሲንታሮኮቱምቡካቱ" + - "ቫሉታሳዋቅቱቪንያንኛመካከለኛ አትላስ ታማዚግትኡድሙርትኡምቡንዱሩትቫይቩንጆዋልሰርወላይትኛዋራይዋርልፒሪዉ ቻይንኛካል" + - "ማይክሶጋያንግቤንኛየምባካንቶኒዝብሊስይምቦልስመደበኛ የሞሮኮ ታማዚግትዙኒቋንቋዊ ይዘት አይደለምዛዛዘመናዊ መደበኛ " + - "ዓረብኛየኦስትሪያ ጀርመንየስዊዝ ከፍተኛ ጀርመንኛየአውስትራሊያ እንግሊዝኛየካናዳ እንግሊዝኛየብሪቲሽ እንግሊዝኛየአ" + - "ሜሪካ እንግሊዝኛየላቲን አሜሪካ ስፓኒሽየአውሮፓ ስፓንሽኛየሜክሲኮ ስፓንሽኛየካናዳ ፈረንሳይኛየስዊዝ ፈረንሳይኛየታ" + - "ችኛው ሳክሰንፍሌሚሽየብራዚል ፖርቹጋልኛየአውሮፓ ፖርቹጋልኛሞልዳቪያንኛሰርቦ-ክሮኤሽያኛኮንጎ ስዋሂሊቀለል ያለ ቻይ" + - "ንኛባህላዊ ቻይንኛ" + "ቫሉታሳዋቅቱቪንያንኛመካከለኛ አትላስ ታማዚግትኡድሙርትኡምቡንዱያልታወቀ ቋንቋቫይቩንጆዋልሰርወላይትኛዋራይዋርልፒሪዉ" + + " ቻይንኛካልማይክሶጋያንግቤንኛየምባካንቶኒዝብሊስይምቦልስመደበኛ የሞሮኮ ታማዚግትዙኒቋንቋዊ ይዘት አይደለምዛዛዘመናዊ " + + "መደበኛ ዓረብኛየኦስትሪያ ጀርመንየስዊዝ ከፍተኛ ጀርመንኛየአውስትራሊያ እንግሊዝኛየካናዳ እንግሊዝኛየብሪቲሽ እንግ" + + "ሊዝኛየአሜሪካ እንግሊዝኛየላቲን አሜሪካ ስፓኒሽየአውሮፓ ስፓንሽኛየሜክሲኮ ስፓንሽኛየካናዳ ፈረንሳይኛየስዊዝ ፈረን" + + "ሳይኛየታችኛው ሳክሰንፍሌሚሽየብራዚል ፖርቹጋልኛየአውሮፓ ፖርቹጋልኛሞልዳቪያንኛሰርቦ-ክሮኤሽያኛኮንጎ ስዋሂሊቀለል " + + "ያለ ቻይንኛባህላዊ ቻይንኛ" var amLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -15737,18 +15738,18 @@ var amLangIdx = []uint16{ // 613 elements 0x162d, 0x162d, 0x162d, 0x1636, 0x163c, 0x163c, 0x1645, 0x164e, 0x164e, 0x164e, 0x164e, 0x1660, 0x1660, 0x1660, 0x1660, 0x1660, 0x1670, 0x1670, 0x1679, 0x1679, 0x1679, 0x1679, 0x1685, 0x168e, - 0x169a, 0x16ac, 0x16d8, 0x16e7, 0x16e7, 0x16f6, 0x16fc, 0x1702, - 0x1702, 0x1702, 0x1702, 0x1702, 0x1702, 0x1702, 0x170b, 0x1717, - 0x1726, 0x172f, 0x172f, 0x173e, 0x174e, 0x175d, 0x175d, 0x1763, + 0x169a, 0x16ac, 0x16d8, 0x16e7, 0x16e7, 0x16f6, 0x170f, 0x1715, + 0x1715, 0x1715, 0x1715, 0x1715, 0x1715, 0x1715, 0x171e, 0x172a, + 0x1739, 0x1742, 0x1742, 0x1751, 0x1761, 0x1770, 0x1770, 0x1776, // Entry 240 - 27F - 0x1763, 0x1763, 0x1775, 0x177e, 0x177e, 0x178d, 0x178d, 0x17a5, - 0x17a5, 0x17a5, 0x17ce, 0x17d4, 0x17fa, 0x1800, 0x1826, 0x1826, - 0x1845, 0x186e, 0x1899, 0x18b8, 0x18da, 0x18fc, 0x1922, 0x1941, - 0x1960, 0x1960, 0x197f, 0x199e, 0x19ba, 0x19c6, 0x19e8, 0x1a0a, - 0x1a1f, 0x1a3b, 0x1a51, 0x1a6e, 0x1a87, + 0x1776, 0x1776, 0x1788, 0x1791, 0x1791, 0x17a0, 0x17a0, 0x17b8, + 0x17b8, 0x17b8, 0x17e1, 0x17e7, 0x180d, 0x1813, 0x1839, 0x1839, + 0x1858, 0x1881, 0x18ac, 0x18cb, 0x18ed, 0x190f, 0x1935, 0x1954, + 0x1973, 0x1973, 0x1992, 0x19b1, 0x19cd, 0x19d9, 0x19fb, 0x1a1d, + 0x1a32, 0x1a4e, 0x1a64, 0x1a81, 0x1a9a, } // Size: 1250 bytes -const arLangStr string = "" + // Size: 10039 bytes +const arLangStr string = "" + // Size: 10055 bytes "الأفاريةالأبخازيةالأفستيةالأفريقانيةالأكانيةالأمهريةالأراغونيةالعربيةالأ" + "ساميةالأواريةالأيماراالأذربيجانيةالباشكيريةالبيلاروسيةالبلغاريةالبيسلام" + "يةالبامباراالبنغاليةالتبتيةالبريتونيةالبوسنيةالكتالانيةالشيشانيةالتشامو" + @@ -15812,15 +15813,15 @@ const arLangStr string = "" + // Size: 10039 bytes "سريانية تقليديةالسريانيةالتيمنتيسوالتيرينوالتيتمالتيغريةالتيفالتوكيلاوا" + "لكلينجونالتلينغيتيةالتاماشيكتونجا - نياساالتوك بيسينلغة التاروكوالتسيمش" + "يانالتامبوكاالتوفالوتاساواقالتوفيةالأمازيغية وسط الأطلسالأدمرتاليجاريتي" + - "كالأمبندوالجذرالفايالفوتيكالفونجوالوالسرالولاياتاالوارايالواشووارلبيريا" + - "لوو الصينيةالكالميكالسوغاالياواليابيزيانجبنيمباالكَنْتُونيةالزابوتيكرمو" + - "ز المعايير الأساسيةالزيناجاالتمازيغية المغربية القياسيةالزونيةبدون محتو" + - "ى لغويزازاالعربية الرسمية الحديثةالألمانية النمساويةالألمانية العليا ال" + - "سويسريةالإنجليزية الأستراليةالإنجليزية الكنديةالإنجليزية البريطانيةالإن" + - "جليزية الأمريكيةالإسبانية أمريكا اللاتينيةالإسبانية الأوروبيةالإسبانية " + - "المكسيكيةالفرنسية الكنديةالفرنسية السويسريةالسكسونية السفلىالفلمنكيةالب" + - "رتغالية البرازيليةالبرتغالية الأوروبيةالمولدوفيةصربية-كرواتيةالكونغو ال" + - "سواحليةالصينية المبسطةالصينية التقليدية" + "كالأمبندولغة غير معروفةالفايالفوتيكالفونجوالوالسرالولاياتاالوارايالواشو" + + "وارلبيريالوو الصينيةالكالميكالسوغاالياواليابيزيانجبنيمباالكَنْتُونيةالز" + + "ابوتيكرموز المعايير الأساسيةالزيناجاالتمازيغية المغربية القياسيةالزونية" + + "بدون محتوى لغويزازاالعربية الرسمية الحديثةالألمانية النمساويةالألمانية " + + "العليا السويسريةالإنجليزية الأستراليةالإنجليزية الكنديةالإنجليزية البري" + + "طانيةالإنجليزية الأمريكيةالإسبانية أمريكا اللاتينيةالإسبانية الأوروبيةا" + + "لإسبانية المكسيكيةالفرنسية الكنديةالفرنسية السويسريةالسكسونية السفلىالف" + + "لمنكيةالبرتغالية البرازيليةالبرتغالية الأوروبيةالمولدوفيةصربية-كرواتيةا" + + "لكونغو السواحليةالصينية المبسطةالصينية التقليدية" var arLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -15901,18 +15902,18 @@ var arLangIdx = []uint16{ // 613 elements 0x2123, 0x2123, 0x2123, 0x212f, 0x2137, 0x2147, 0x2153, 0x2163, 0x216d, 0x217f, 0x217f, 0x2191, 0x21a7, 0x21a7, 0x21b9, 0x21d0, 0x21e5, 0x21e5, 0x21fc, 0x21fc, 0x2210, 0x2210, 0x2222, 0x2232, - 0x2240, 0x224e, 0x2276, 0x2284, 0x2298, 0x22a8, 0x22b2, 0x22bc, - 0x22bc, 0x22bc, 0x22bc, 0x22bc, 0x22ca, 0x22ca, 0x22d8, 0x22e6, - 0x22f8, 0x2306, 0x2312, 0x2322, 0x2339, 0x2349, 0x2349, 0x2355, + 0x2240, 0x224e, 0x2276, 0x2284, 0x2298, 0x22a8, 0x22c2, 0x22cc, + 0x22cc, 0x22cc, 0x22cc, 0x22cc, 0x22da, 0x22da, 0x22e8, 0x22f6, + 0x2308, 0x2316, 0x2322, 0x2332, 0x2349, 0x2359, 0x2359, 0x2365, // Entry 240 - 27F - 0x235f, 0x236d, 0x2379, 0x2381, 0x2381, 0x2399, 0x23ab, 0x23d5, - 0x23d5, 0x23e5, 0x241b, 0x2429, 0x2445, 0x244d, 0x2479, 0x2479, - 0x249e, 0x24d0, 0x24f9, 0x251c, 0x2545, 0x256c, 0x259e, 0x25c3, - 0x25e8, 0x25e8, 0x2607, 0x262a, 0x2649, 0x265b, 0x2684, 0x26ab, - 0x26bf, 0x26d8, 0x26f9, 0x2716, 0x2737, + 0x236f, 0x237d, 0x2389, 0x2391, 0x2391, 0x23a9, 0x23bb, 0x23e5, + 0x23e5, 0x23f5, 0x242b, 0x2439, 0x2455, 0x245d, 0x2489, 0x2489, + 0x24ae, 0x24e0, 0x2509, 0x252c, 0x2555, 0x257c, 0x25ae, 0x25d3, + 0x25f8, 0x25f8, 0x2617, 0x263a, 0x2659, 0x266b, 0x2694, 0x26bb, + 0x26cf, 0x26e8, 0x2709, 0x2726, 0x2747, } // Size: 1250 bytes -const azLangStr string = "" + // Size: 3713 bytes +const azLangStr string = "" + // Size: 3722 bytes "afarabxazavestanafrikaansakanamhararaqonərəbassamavaraymaraazərbaycanbaş" + "qırdbelarusbolqarbislamabambarabenqaltibetbretonbosniakkatalançeçençamor" + "okorsikakriçexslavyançuvaşuelsdanimarkaalmanmaldivdzonqaeveyunaningilise" + @@ -15954,14 +15955,15 @@ const azLangStr string = "" + // Size: 3713 bytes "amocənubi samilule samiinari samiskolt samisoninkesoqdiyensranan tonqose" + "rersahosukumasususumeryankomorsuriyatimnetesoterenotetumtiqretivtokelayk" + "linqontlinqittamaşeknyasa tonqatok pisintarokosimşyantumbukatuvalutasava" + - "qtuvinyanMərkəzi Atlas tamazicəsiudmurtuqaritumbundurutvaivotikvunyovall" + - "esvalamovarayvaşovalpirivukalmıksoqayaoyapizyanqbenyembakantonzapotekbli" + - "simbolszenaqatamazizunidil məzmunu yoxdurzazamüasir standart ərəbcənubi " + - "azərbaycanAvstriya almancasıİsveçrə yüksək almancasıAvstraliya ingiliscə" + - "siKanada ingiliscəsiBritaniya ingiliscəsiAmerika ingiliscəsiLatın Amerik" + - "ası ispancasıKastiliya ispancasıMeksika ispancasıKanada fransızcasıİsveç" + - "rə fransızcasıaşağı saksonflamandBraziliya portuqalcasıPortuqaliya portu" + - "qalcasımoldavserb-xorvatKonqo suahilicəsisadələşmiş çinənənəvi çin" + "qtuvinyanMərkəzi Atlas tamazicəsiudmurtuqaritumbundunaməlum dilvaivotikv" + + "unyovallesvalamovarayvaşovalpirivukalmıksoqayaoyapizyanqbenyembakantonza" + + "potekblisimbolszenaqatamazizunidil məzmunu yoxdurzazamüasir standart ərə" + + "bcənubi azərbaycanAvstriya almancasıİsveçrə yüksək almancasıAvstraliya i" + + "ngiliscəsiKanada ingiliscəsiBritaniya ingiliscəsiAmerika ingiliscəsiLatı" + + "n Amerikası ispancasıKastiliya ispancasıMeksika ispancasıKanada fransızc" + + "asıİsveçrə fransızcasıaşağı saksonflamandBraziliya portuqalcasıPortuqali" + + "ya portuqalcasımoldavserb-xorvatKonqo suahilicəsisadələşmiş çinənənəvi ç" + + "in" var azLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -16042,18 +16044,18 @@ var azLangIdx = []uint16{ // 613 elements 0x0ba8, 0x0ba8, 0x0ba8, 0x0bad, 0x0bb1, 0x0bb7, 0x0bbc, 0x0bc1, 0x0bc4, 0x0bcb, 0x0bcb, 0x0bd2, 0x0bd9, 0x0bd9, 0x0be1, 0x0bec, 0x0bf5, 0x0bf5, 0x0bfb, 0x0bfb, 0x0c03, 0x0c03, 0x0c0a, 0x0c10, - 0x0c17, 0x0c1f, 0x0c3a, 0x0c40, 0x0c46, 0x0c4d, 0x0c50, 0x0c53, - 0x0c53, 0x0c53, 0x0c53, 0x0c53, 0x0c58, 0x0c58, 0x0c5d, 0x0c63, - 0x0c69, 0x0c6e, 0x0c73, 0x0c7a, 0x0c7c, 0x0c83, 0x0c83, 0x0c87, + 0x0c17, 0x0c1f, 0x0c3a, 0x0c40, 0x0c46, 0x0c4d, 0x0c59, 0x0c5c, + 0x0c5c, 0x0c5c, 0x0c5c, 0x0c5c, 0x0c61, 0x0c61, 0x0c66, 0x0c6c, + 0x0c72, 0x0c77, 0x0c7c, 0x0c83, 0x0c85, 0x0c8c, 0x0c8c, 0x0c90, // Entry 240 - 27F - 0x0c8a, 0x0c8f, 0x0c96, 0x0c9b, 0x0c9b, 0x0ca1, 0x0ca8, 0x0cb2, - 0x0cb2, 0x0cb8, 0x0cbe, 0x0cc2, 0x0cd5, 0x0cd9, 0x0cf0, 0x0d03, - 0x0d16, 0x0d34, 0x0d4b, 0x0d5e, 0x0d74, 0x0d88, 0x0da4, 0x0db8, - 0x0dca, 0x0dca, 0x0dde, 0x0df6, 0x0e05, 0x0e0c, 0x0e23, 0x0e3c, - 0x0e42, 0x0e4d, 0x0e5f, 0x0e72, 0x0e81, + 0x0c93, 0x0c98, 0x0c9f, 0x0ca4, 0x0ca4, 0x0caa, 0x0cb1, 0x0cbb, + 0x0cbb, 0x0cc1, 0x0cc7, 0x0ccb, 0x0cde, 0x0ce2, 0x0cf9, 0x0d0c, + 0x0d1f, 0x0d3d, 0x0d54, 0x0d67, 0x0d7d, 0x0d91, 0x0dad, 0x0dc1, + 0x0dd3, 0x0dd3, 0x0de7, 0x0dff, 0x0e0e, 0x0e15, 0x0e2c, 0x0e45, + 0x0e4b, 0x0e56, 0x0e68, 0x0e7b, 0x0e8a, } // Size: 1250 bytes -const bgLangStr string = "" + // Size: 7891 bytes +const bgLangStr string = "" + // Size: 7905 bytes "афарабхазкиавестскиафрикаансаканамхарскиарагонскиарабскиасамскиаварскиай" + "мараазербайджанскибашкирскибеларускибългарскибисламабамбарабенгалскитиб" + "етскибретонскибосненскикаталонскичеченскичаморокорсиканскикриичешкицърк" + @@ -16105,11 +16107,12 @@ const bgLangStr string = "" + // Size: 7891 bytes "кисранан тонгосерерсахосукумасусушумерскикоморскикласически сирийскисир" + "ийскитемнетесотеренотетумтигретивтокелайскиклингонскитлингиттамашекниан" + "са тонгаток писинтарокоцимшианскитумбукатувалуанскитасавактувинскицентр" + - "алноатласки тамазигтудмуртскиугаритскиумбундуроотваивотиквунджовалзерск" + - "и немскиваламоварайуашовалпирикалмиксогаяояпезеянгбенйембакантонскизапо" + - "текблис символизенагастандартен марокански тамазигтзунибез лингвистично" + - " съдържаниезазасъвременен стандартен арабскианглийски (САЩ)долносаксонск" + - "ифламандскимолдовскисърбохърватскиконгоански суахиликитайски (опростен)" + "алноатласки тамазигтудмуртскиугаритскиумбундунеопределенваивотиквунджов" + + "алзерски немскиваламоварайуашовалпирикалмиксогаяояпезеянгбенйембакантон" + + "скизапотекблис символизенагастандартен марокански тамазигтзунибез лингв" + + "истично съдържаниезазасъвременен стандартен арабскианглийски (САЩ)долно" + + "саксонскифламандскимолдовскисърбохърватскиконгоански суахиликитайски (о" + + "простен)" var bgLangIdx = []uint16{ // 612 elements // Entry 0 - 3F @@ -16190,18 +16193,18 @@ var bgLangIdx = []uint16{ // 612 elements 0x1b0b, 0x1b0b, 0x1b0b, 0x1b15, 0x1b1d, 0x1b29, 0x1b33, 0x1b3d, 0x1b43, 0x1b57, 0x1b57, 0x1b6b, 0x1b79, 0x1b79, 0x1b87, 0x1b9e, 0x1baf, 0x1baf, 0x1bbb, 0x1bbb, 0x1bcf, 0x1bcf, 0x1bdd, 0x1bf3, - 0x1c01, 0x1c11, 0x1c42, 0x1c54, 0x1c66, 0x1c74, 0x1c7c, 0x1c82, - 0x1c82, 0x1c82, 0x1c82, 0x1c82, 0x1c8c, 0x1c8c, 0x1c98, 0x1cb7, - 0x1cc3, 0x1ccd, 0x1cd5, 0x1ce3, 0x1ce3, 0x1cef, 0x1cef, 0x1cf7, + 0x1c01, 0x1c11, 0x1c42, 0x1c54, 0x1c66, 0x1c74, 0x1c8a, 0x1c90, + 0x1c90, 0x1c90, 0x1c90, 0x1c90, 0x1c9a, 0x1c9a, 0x1ca6, 0x1cc5, + 0x1cd1, 0x1cdb, 0x1ce3, 0x1cf1, 0x1cf1, 0x1cfd, 0x1cfd, 0x1d05, // Entry 240 - 27F - 0x1cfb, 0x1d05, 0x1d11, 0x1d1b, 0x1d1b, 0x1d2d, 0x1d3b, 0x1d52, - 0x1d52, 0x1d5e, 0x1d98, 0x1da0, 0x1dd4, 0x1ddc, 0x1e14, 0x1e14, - 0x1e14, 0x1e14, 0x1e14, 0x1e14, 0x1e14, 0x1e2f, 0x1e2f, 0x1e2f, - 0x1e2f, 0x1e2f, 0x1e2f, 0x1e2f, 0x1e4b, 0x1e5f, 0x1e5f, 0x1e5f, - 0x1e71, 0x1e8d, 0x1eb0, 0x1ed3, + 0x1d09, 0x1d13, 0x1d1f, 0x1d29, 0x1d29, 0x1d3b, 0x1d49, 0x1d60, + 0x1d60, 0x1d6c, 0x1da6, 0x1dae, 0x1de2, 0x1dea, 0x1e22, 0x1e22, + 0x1e22, 0x1e22, 0x1e22, 0x1e22, 0x1e22, 0x1e3d, 0x1e3d, 0x1e3d, + 0x1e3d, 0x1e3d, 0x1e3d, 0x1e3d, 0x1e59, 0x1e6d, 0x1e6d, 0x1e6d, + 0x1e7f, 0x1e9b, 0x1ebe, 0x1ee1, } // Size: 1248 bytes -const bnLangStr string = "" + // Size: 12336 bytes +const bnLangStr string = "" + // Size: 12355 bytes "আফারআবখাজিয়ানআবেস্তীয়আফ্রিকানআকানআমহারিকআর্গোনিজআরবীআসামিআভেরিকআয়মারা" + "আজারবাইজানীবাশকিরবেলারুশিয়বুলগেরিয়বিসলামাবামবারাবাংলাতিব্বতিব্রেটনবস" + "নীয়ানকাতালানচেচেনচামোরোকর্সিকানক্রিচেকচার্চ স্লাভিকচুবাসওয়েলশডেনিশজা" + @@ -16254,15 +16257,15 @@ const bnLangStr string = "" + // Size: 12336 bytes "সোগডিয়ানস্রানান টোঙ্গোসেরেরসাহোসুকুমাসুসুসুমেরীয়কমোরিয়ানপ্রাচীন সির" + "িওসিরিয়াকটাইম্নেতেসোতেরেনোতেতুমটাইগ্রেটিভটোকেলাউক্লিঙ্গনত্লিঙ্গিটতামা" + "শেকনায়াসা টোঙ্গাটোক পিসিনতারোকোসিমশিয়ানতুম্বুকাটুভালুতাসাওয়াকটুভিনি" + - "য়ানসেন্ট্রাল আটলাস তামাজিগাতউডমুর্টউগারিটিকউম্বুন্দুমূলভাইভোটিকভুঞ্জো" + - "ওয়ালসেরওয়ালামোওয়ারেওয়াশোওয়ার্লপিরিWu চীনাকাল্মইকসোগাইয়াওইয়াপেসে" + - "য়াঙ্গবেনয়েম্বাক্যানটোনীজজাপোটেকচিত্র ভাষাজেনাগাআদর্শ মরক্কোন তামাজিগ" + - "াতজুনিভাষাভিত্তিক বিষয়বস্তু নেইজাজাআধুনিক আদর্শ আরবীঅস্ট্রিয়ান জার্ম" + - "ানসুইস হাই জার্মানঅস্ট্রেলীয় ইংরেজিকানাডীয় ইংরেজিব্রিটিশ ইংরেজিআমেরি" + - "কার ইংরেজিল্যাটিন আমেরিকান স্প্যানিশইউরোপীয় স্প্যানিশম্যাক্সিকান স্প্" + - "যানিশকানাডীয় ফরাসিসুইস ফরাসিলো স্যাক্সনফ্লেমিশব্রাজিলের পর্তুগীজইউরোপ" + - "ের পর্তুগীজমলদাভিয়সার্বো-ক্রোয়েশিয়কঙ্গো সোয়াহিলিসরলীকৃত চীনাঐতিহ্য" + - "বাহি চীনা" + "য়ানসেন্ট্রাল আটলাস তামাজিগাতউডমুর্টউগারিটিকউম্বুন্দুঅজানা ভাষাভাইভোটি" + + "কভুঞ্জোওয়ালসেরওয়ালামোওয়ারেওয়াশোওয়ার্লপিরিWu চীনাকাল্মইকসোগাইয়াওই" + + "য়াপেসেয়াঙ্গবেনয়েম্বাক্যানটোনীজজাপোটেকচিত্র ভাষাজেনাগাআদর্শ মরক্কোন " + + "তামাজিগাতজুনিভাষাভিত্তিক বিষয়বস্তু নেইজাজাআধুনিক আদর্শ আরবীঅস্ট্রিয়া" + + "ন জার্মানসুইস হাই জার্মানঅস্ট্রেলীয় ইংরেজিকানাডীয় ইংরেজিব্রিটিশ ইংরে" + + "জিআমেরিকার ইংরেজিল্যাটিন আমেরিকান স্প্যানিশইউরোপীয় স্প্যানিশম্যাক্সিক" + + "ান স্প্যানিশকানাডীয় ফরাসিসুইস ফরাসিলো স্যাক্সনফ্লেমিশব্রাজিলের পর্তুগ" + + "ীজইউরোপের পর্তুগীজমলদাভিয়সার্বো-ক্রোয়েশিয়কঙ্গো সোয়াহিলিসরলীকৃত চীন" + + "াঐতিহ্যবাহি চীনা" var bnLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -16343,18 +16346,18 @@ var bnLangIdx = []uint16{ // 613 elements 0x2843, 0x2843, 0x2843, 0x2858, 0x2864, 0x2876, 0x2885, 0x289a, 0x28a3, 0x28b8, 0x28b8, 0x28d0, 0x28eb, 0x28eb, 0x2900, 0x2928, 0x2941, 0x2941, 0x2953, 0x2953, 0x296e, 0x296e, 0x2986, 0x2998, - 0x29b3, 0x29d1, 0x2a18, 0x2a2d, 0x2a45, 0x2a60, 0x2a69, 0x2a72, - 0x2a72, 0x2a72, 0x2a72, 0x2a72, 0x2a81, 0x2a81, 0x2a93, 0x2aab, - 0x2ac3, 0x2ad5, 0x2ae7, 0x2b08, 0x2b17, 0x2b2c, 0x2b2c, 0x2b38, + 0x29b3, 0x29d1, 0x2a18, 0x2a2d, 0x2a45, 0x2a60, 0x2a7c, 0x2a85, + 0x2a85, 0x2a85, 0x2a85, 0x2a85, 0x2a94, 0x2a94, 0x2aa6, 0x2abe, + 0x2ad6, 0x2ae8, 0x2afa, 0x2b1b, 0x2b2a, 0x2b3f, 0x2b3f, 0x2b4b, // Entry 240 - 27F - 0x2b47, 0x2b5f, 0x2b7a, 0x2b8f, 0x2b8f, 0x2bad, 0x2bc2, 0x2bde, - 0x2bde, 0x2bf0, 0x2c31, 0x2c3d, 0x2c87, 0x2c93, 0x2cc2, 0x2cc2, - 0x2cf9, 0x2d25, 0x2d59, 0x2d84, 0x2dac, 0x2dd7, 0x2e21, 0x2e55, - 0x2e92, 0x2e92, 0x2eba, 0x2ed6, 0x2ef5, 0x2f0a, 0x2f3e, 0x2f6c, - 0x2f84, 0x2fb8, 0x2fe3, 0x3005, 0x3030, + 0x2b5a, 0x2b72, 0x2b8d, 0x2ba2, 0x2ba2, 0x2bc0, 0x2bd5, 0x2bf1, + 0x2bf1, 0x2c03, 0x2c44, 0x2c50, 0x2c9a, 0x2ca6, 0x2cd5, 0x2cd5, + 0x2d0c, 0x2d38, 0x2d6c, 0x2d97, 0x2dbf, 0x2dea, 0x2e34, 0x2e68, + 0x2ea5, 0x2ea5, 0x2ecd, 0x2ee9, 0x2f08, 0x2f1d, 0x2f51, 0x2f7f, + 0x2f97, 0x2fcb, 0x2ff6, 0x3018, 0x3043, } // Size: 1250 bytes -const caLangStr string = "" + // Size: 4583 bytes +const caLangStr string = "" + // Size: 4595 bytes "àfarabkhazavèsticafrikaansàkanamhàricaragonèsàrabassamèsàvaraimaraazerba" + "idjanèsbaixkirbielorúsbúlgarbislamabambarabengalítibetàbretóbosniàcatalà" + "txetxèchamorrocorscreetxeceslau eclesiàstictxuvaixgal·lèsdanèsalemanydiv" + @@ -16407,15 +16410,15 @@ const caLangStr string = "" + // Size: 4583 bytes "i d’Inarisami skoltsoninkesogdiàsrananserersahosukumasusúsumericomoriàsi" + "ríac clàssicsiríacsilesiàtemnetesoterenatetuntigretivtokelauèstsakhurkli" + "ngoniàtlingittalixamazictongatok pisintarokotsimshiàtat meridionaltumbuk" + - "atuvaluàtasawaqtuviniàamazic del Marroc centraludmurtugaríticumbunduarre" + - "lvaivènetvepseflamenc occidentalvòticvunjowalserametowaraywashowarlpirix" + - "inès wucalmucmingreliàsogayaoyapeàyangbenyembacantonèszapotecasímbols Bl" + - "isszelandèszenagaamazic estàndard marroquízunisense contingut lingüístic" + - "zazaàrab estàndard modernalemany austríacalt alemany suísanglès australi" + - "àanglès canadencanglès britànicanglès americàespanyol hispanoamericàesp" + - "anyol europeuespanyol de Mèxicfrancès canadencfrancès suísbaix saxóflame" + - "ncportuguès del Brasilportuguès de Portugalmoldauserbocroatsuahili del C" + - "ongoxinès simplificatxinès tradicional" + "atuvaluàtasawaqtuviniàamazic del Marroc centraludmurtugaríticumbunduidio" + + "ma desconegutvaivènetvepseflamenc occidentalvòticvunjowalserametowaraywa" + + "showarlpirixinès wucalmucmingreliàsogayaoyapeàyangbenyembacantonèszapote" + + "casímbols Blisszelandèszenagaamazic estàndard marroquízunisense contingu" + + "t lingüísticzazaàrab estàndard modernalemany austríacalt alemany suísang" + + "lès australiàanglès canadencanglès britànicanglès americàespanyol hispan" + + "oamericàespanyol europeuespanyol de Mèxicfrancès canadencfrancès suísbai" + + "x saxóflamencportuguès del Brasilportuguès de Portugalmoldauserbocroatsu" + + "ahili del Congoxinès simplificatxinès tradicional" var caLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -16496,18 +16499,18 @@ var caLangIdx = []uint16{ // 613 elements 0x0edc, 0x0ee4, 0x0ee4, 0x0ee9, 0x0eed, 0x0ef3, 0x0ef8, 0x0efd, 0x0f00, 0x0f0a, 0x0f11, 0x0f1b, 0x0f22, 0x0f27, 0x0f2d, 0x0f32, 0x0f3b, 0x0f3b, 0x0f41, 0x0f41, 0x0f4a, 0x0f58, 0x0f5f, 0x0f67, - 0x0f6e, 0x0f76, 0x0f8f, 0x0f95, 0x0f9e, 0x0fa5, 0x0faa, 0x0fad, - 0x0fb3, 0x0fb8, 0x0fca, 0x0fca, 0x0fd0, 0x0fd0, 0x0fd5, 0x0fdb, - 0x0fe0, 0x0fe5, 0x0fea, 0x0ff2, 0x0ffb, 0x1001, 0x100b, 0x100f, + 0x0f6e, 0x0f76, 0x0f8f, 0x0f95, 0x0f9e, 0x0fa5, 0x0fb6, 0x0fb9, + 0x0fbf, 0x0fc4, 0x0fd6, 0x0fd6, 0x0fdc, 0x0fdc, 0x0fe1, 0x0fe7, + 0x0fec, 0x0ff1, 0x0ff6, 0x0ffe, 0x1007, 0x100d, 0x1017, 0x101b, // Entry 240 - 27F - 0x1012, 0x1018, 0x101f, 0x1024, 0x1024, 0x102d, 0x1035, 0x1043, - 0x104c, 0x1052, 0x106d, 0x1071, 0x108d, 0x1091, 0x10a8, 0x10a8, - 0x10b9, 0x10ca, 0x10dc, 0x10ec, 0x10fd, 0x110d, 0x1125, 0x1135, - 0x1147, 0x1147, 0x1158, 0x1166, 0x1170, 0x1177, 0x118c, 0x11a2, - 0x11a8, 0x11b2, 0x11c3, 0x11d5, 0x11e7, + 0x101e, 0x1024, 0x102b, 0x1030, 0x1030, 0x1039, 0x1041, 0x104f, + 0x1058, 0x105e, 0x1079, 0x107d, 0x1099, 0x109d, 0x10b4, 0x10b4, + 0x10c5, 0x10d6, 0x10e8, 0x10f8, 0x1109, 0x1119, 0x1131, 0x1141, + 0x1153, 0x1153, 0x1164, 0x1172, 0x117c, 0x1183, 0x1198, 0x11ae, + 0x11b4, 0x11be, 0x11cf, 0x11e1, 0x11f3, } // Size: 1250 bytes -const csLangStr string = "" + // Size: 7397 bytes +const csLangStr string = "" + // Size: 7406 bytes "afarštinaabcházštinaavestánštinaafrikánštinaakanštinaamharštinaaragonšti" + "naarabštinaásámštinaavarštinaajmarštinaázerbájdžánštinabaškirštinaběloru" + "štinabulharštinabislamštinabambarštinabengálštinatibetštinabretonštinab" + @@ -16591,16 +16594,16 @@ const csLangStr string = "" + // Size: 7397 bytes "tesoterenotetumštinatigrejštinativštinatokelauštinacachurštinaklingonšti" + "natlingittalyštinatamašektonžština (nyasa)tok pisinturojštinatarokotsako" + "nštinatsimšijské jazykytatštinatumbukštinatuvalštinatasawaqtuvinštinatam" + - "azight (střední Maroko)udmurtštinaugaritštinaumbundukořenvaibenátštinave" + - "pštinavlámština (západní)němčina (mohansko-franské dialekty)votštinavõru" + - "štinavunjoněmčina (walser)wolajtštinawarajštinawaštinawarlpiričínština " + - "(dialekty Wu)kalmyčtinamingrelštinasogštinajaoštinajapštinajangbenštinay" + - "embanheengatukantonštinazapotéčtinabliss systémzélandštinazenagatamazigh" + - "t (standardní marocký)zunijštinažádný jazykový obsahzazaarabština (moder" + - "ní standardní)němčina standardní (Švýcarsko)angličtina (Velká Británie)a" + - "ngličtina (USA)španělština (Evropa)dolnosaštinavlámštinaportugalština (E" + - "vropa)moldavštinasrbochorvatštinasvahilština (Kongo)čínština (zjednoduše" + - "ná)" + "azight (střední Maroko)udmurtštinaugaritštinaumbunduneznámý jazykvaibená" + + "tštinavepštinavlámština (západní)němčina (mohansko-franské dialekty)votš" + + "tinavõruštinavunjoněmčina (walser)wolajtštinawarajštinawaštinawarlpiričí" + + "nština (dialekty Wu)kalmyčtinamingrelštinasogštinajaoštinajapštinajangbe" + + "nštinayembanheengatukantonštinazapotéčtinabliss systémzélandštinazenagat" + + "amazight (standardní marocký)zunijštinažádný jazykový obsahzazaarabština" + + " (moderní standardní)němčina standardní (Švýcarsko)angličtina (Velká Bri" + + "tánie)angličtina (USA)španělština (Evropa)dolnosaštinavlámštinaportugalš" + + "tina (Evropa)moldavštinasrbochorvatštinasvahilština (Kongo)čínština (zje" + + "dnodušená)" var csLangIdx = []uint16{ // 612 elements // Entry 0 - 3F @@ -16681,18 +16684,18 @@ var csLangIdx = []uint16{ // 612 elements 0x1910, 0x191a, 0x1924, 0x1929, 0x192d, 0x1933, 0x193e, 0x194a, 0x1953, 0x1960, 0x196c, 0x1979, 0x1980, 0x198a, 0x1992, 0x19a5, 0x19ae, 0x19b9, 0x19bf, 0x19cb, 0x19de, 0x19e7, 0x19f3, 0x19fe, - 0x1a05, 0x1a10, 0x1a2c, 0x1a38, 0x1a44, 0x1a4b, 0x1a51, 0x1a54, - 0x1a60, 0x1a69, 0x1a80, 0x1aa6, 0x1aaf, 0x1aba, 0x1abf, 0x1ad1, - 0x1add, 0x1ae8, 0x1af0, 0x1af8, 0x1b11, 0x1b1c, 0x1b29, 0x1b32, + 0x1a05, 0x1a10, 0x1a2c, 0x1a38, 0x1a44, 0x1a4b, 0x1a5a, 0x1a5d, + 0x1a69, 0x1a72, 0x1a89, 0x1aaf, 0x1ab8, 0x1ac3, 0x1ac8, 0x1ada, + 0x1ae6, 0x1af1, 0x1af9, 0x1b01, 0x1b1a, 0x1b25, 0x1b32, 0x1b3b, // Entry 240 - 27F - 0x1b3b, 0x1b44, 0x1b51, 0x1b56, 0x1b5f, 0x1b6b, 0x1b78, 0x1b85, - 0x1b92, 0x1b98, 0x1bb8, 0x1bc3, 0x1bdb, 0x1bdf, 0x1c00, 0x1c00, - 0x1c00, 0x1c23, 0x1c23, 0x1c23, 0x1c41, 0x1c52, 0x1c52, 0x1c69, - 0x1c69, 0x1c69, 0x1c69, 0x1c69, 0x1c76, 0x1c81, 0x1c81, 0x1c98, - 0x1ca4, 0x1cb5, 0x1cc9, 0x1ce5, + 0x1b44, 0x1b4d, 0x1b5a, 0x1b5f, 0x1b68, 0x1b74, 0x1b81, 0x1b8e, + 0x1b9b, 0x1ba1, 0x1bc1, 0x1bcc, 0x1be4, 0x1be8, 0x1c09, 0x1c09, + 0x1c09, 0x1c2c, 0x1c2c, 0x1c2c, 0x1c4a, 0x1c5b, 0x1c5b, 0x1c72, + 0x1c72, 0x1c72, 0x1c72, 0x1c72, 0x1c7f, 0x1c8a, 0x1c8a, 0x1ca1, + 0x1cad, 0x1cbe, 0x1cd2, 0x1cee, } // Size: 1248 bytes -const daLangStr string = "" + // Size: 4141 bytes +const daLangStr string = "" + // Size: 4150 bytes "afarabkhasiskavestanafrikaansakanamhariskaragonesiskarabiskassamesiskava" + "riskaymaraaserbajdsjanskbashkirhviderussiskbulgarskbislamabambarabengali" + "tibetanskbretonskbosniskcatalansktjetjenskchamorrokorsikanskcreetjekkisk" + @@ -16743,14 +16746,14 @@ const daLangStr string = "" + // Size: 4141 bytes "oserersahosukumasususumeriskshimaoreklassisk syrisksyrisktemnetesotereno" + "tetumtigretivitokelauklingontlingittamasheknyasa tongansktok pisintaroko" + "tsimshisktumbukatuvalutasawaqtuviniancentralmarokkansk tamazightudmurtug" + - "aristiskumbundurodvaivotiskvunjowalsertyskwalamowaraywashowalbiriwu-kine" + - "siskkalmyksogayaoyapeseyangbenyembakantonesiskzapotecblissymbolerzenagat" + - "amazightzuniintet sprogligt indholdzazamoderne standardarabiskøstrigsk t" + - "yskschweizerhøjtyskaustralsk engelskcanadisk engelskbritisk engelskameri" + - "kansk engelsklatinamerikansk spanskeuropæisk spanskmexicansk spanskcanad" + - "isk franskschweizisk franskflamskbrasiliansk portugisiskeuropæisk portug" + - "isiskmoldoviskserbokroatiskcongolesisk swahiliforenklet kinesisktraditio" + - "nelt kinesisk" + "aristiskumbunduukendt sprogvaivotiskvunjowalsertyskwalamowaraywashowalbi" + + "riwu-kinesiskkalmyksogayaoyapeseyangbenyembakantonesiskzapotecblissymbol" + + "erzenagatamazightzuniintet sprogligt indholdzazamoderne standardarabiskø" + + "strigsk tyskschweizerhøjtyskaustralsk engelskcanadisk engelskbritisk eng" + + "elskamerikansk engelsklatinamerikansk spanskeuropæisk spanskmexicansk sp" + + "anskcanadisk franskschweizisk franskflamskbrasiliansk portugisiskeuropæi" + + "sk portugisiskmoldoviskserbokroatiskcongolesisk swahiliforenklet kinesis" + + "ktraditionelt kinesisk" var daLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -16831,18 +16834,18 @@ var daLangIdx = []uint16{ // 613 elements 0x0d85, 0x0d85, 0x0d85, 0x0d8a, 0x0d8e, 0x0d94, 0x0d99, 0x0d9e, 0x0da2, 0x0da9, 0x0da9, 0x0db0, 0x0db7, 0x0db7, 0x0dbf, 0x0dcd, 0x0dd6, 0x0dd6, 0x0ddc, 0x0ddc, 0x0de5, 0x0de5, 0x0dec, 0x0df2, - 0x0df9, 0x0e01, 0x0e1c, 0x0e22, 0x0e2c, 0x0e33, 0x0e36, 0x0e39, - 0x0e39, 0x0e39, 0x0e39, 0x0e39, 0x0e3f, 0x0e3f, 0x0e44, 0x0e4e, - 0x0e54, 0x0e59, 0x0e5e, 0x0e65, 0x0e70, 0x0e76, 0x0e76, 0x0e7a, + 0x0df9, 0x0e01, 0x0e1c, 0x0e22, 0x0e2c, 0x0e33, 0x0e3f, 0x0e42, + 0x0e42, 0x0e42, 0x0e42, 0x0e42, 0x0e48, 0x0e48, 0x0e4d, 0x0e57, + 0x0e5d, 0x0e62, 0x0e67, 0x0e6e, 0x0e79, 0x0e7f, 0x0e7f, 0x0e83, // Entry 240 - 27F - 0x0e7d, 0x0e83, 0x0e8a, 0x0e8f, 0x0e8f, 0x0e9a, 0x0ea1, 0x0ead, - 0x0ead, 0x0eb3, 0x0ebc, 0x0ec0, 0x0ed7, 0x0edb, 0x0ef2, 0x0ef2, - 0x0f00, 0x0f11, 0x0f22, 0x0f32, 0x0f41, 0x0f53, 0x0f69, 0x0f7a, - 0x0f8a, 0x0f8a, 0x0f99, 0x0faa, 0x0faa, 0x0fb0, 0x0fc7, 0x0fdd, - 0x0fe6, 0x0ff3, 0x1006, 0x1018, 0x102d, + 0x0e86, 0x0e8c, 0x0e93, 0x0e98, 0x0e98, 0x0ea3, 0x0eaa, 0x0eb6, + 0x0eb6, 0x0ebc, 0x0ec5, 0x0ec9, 0x0ee0, 0x0ee4, 0x0efb, 0x0efb, + 0x0f09, 0x0f1a, 0x0f2b, 0x0f3b, 0x0f4a, 0x0f5c, 0x0f72, 0x0f83, + 0x0f93, 0x0f93, 0x0fa2, 0x0fb3, 0x0fb3, 0x0fb9, 0x0fd0, 0x0fe6, + 0x0fef, 0x0ffc, 0x100f, 0x1021, 0x1036, } // Size: 1250 bytes -const deLangStr string = "" + // Size: 5600 bytes +const deLangStr string = "" + // Size: 5614 bytes "AfarAbchasischAvestischAfrikaansAkanAmharischAragonesischArabischAssames" + "ischAwarischAymaraAserbaidschanischBaschkirischWeißrussischBulgarischBis" + "lamaBambaraBengalischTibetischBretonischBosnischKatalanischTschetschenis" + @@ -16910,16 +16913,17 @@ const deLangStr string = "" + // Size: 5600 bytes "(Wasserpolnisch)TuluTemneTesoTerenoTetumTigreTivTokelauanischTsachurisch" + "KlingonischTlingitTalischTamaseqNyasa TongaNeumelanesischTuroyoTarokoTsa" + "konischTsimshianTatischTumbukaTuvaluischTasawaqTuwinischZentralatlas-Tam" + - "azightUdmurtischUgaritischUmbunduRootVaiVenetischWepsischWestflämischMai" + - "nfränkischWotischVõroVunjoWalliserdeutschWalamoWarayWashoWarlpiriWuKalmü" + - "ckischMingrelischSogaYaoYapesischYangbenYembaNheengatuKantonesischZapote" + - "kischBliss-SymboleSeeländischZenagaTamazightZuniKeine SprachinhalteZazaM" + - "odernes HocharabischÖsterreichisches DeutschSchweizer HochdeutschAustral" + - "isches EnglischKanadisches EnglischBritisches EnglischAmerikanisches Eng" + - "lischLateinamerikanisches SpanischEuropäisches SpanischMexikanisches Spa" + - "nischKanadisches FranzösischSchweizer FranzösischNiedersächsischFlämisch" + - "Brasilianisches PortugiesischEuropäisches PortugiesischMoldauischSerbo-K" + - "roatischKongo-SwahiliChinesisch (vereinfacht)Chinesisch (traditionell)" + "azightUdmurtischUgaritischUmbunduUnbekannte SpracheVaiVenetischWepsischW" + + "estflämischMainfränkischWotischVõroVunjoWalliserdeutschWalamoWarayWashoW" + + "arlpiriWuKalmückischMingrelischSogaYaoYapesischYangbenYembaNheengatuKant" + + "onesischZapotekischBliss-SymboleSeeländischZenagaTamazightZuniKeine Spra" + + "chinhalteZazaModernes HocharabischÖsterreichisches DeutschSchweizer Hoch" + + "deutschAustralisches EnglischKanadisches EnglischBritisches EnglischAmer" + + "ikanisches EnglischLateinamerikanisches SpanischEuropäisches SpanischMex" + + "ikanisches SpanischKanadisches FranzösischSchweizer FranzösischNiedersäc" + + "hsischFlämischBrasilianisches PortugiesischEuropäisches PortugiesischMol" + + "dauischSerbo-KroatischKongo-SwahiliChinesisch (vereinfacht)Chinesisch (t" + + "raditionell)" var deLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -17000,18 +17004,18 @@ var deLangIdx = []uint16{ // 613 elements 0x1223, 0x123e, 0x1242, 0x1247, 0x124b, 0x1251, 0x1256, 0x125b, 0x125e, 0x126b, 0x1276, 0x1281, 0x1288, 0x128f, 0x1296, 0x12a1, 0x12af, 0x12b5, 0x12bb, 0x12c5, 0x12ce, 0x12d5, 0x12dc, 0x12e6, - 0x12ed, 0x12f6, 0x130c, 0x1316, 0x1320, 0x1327, 0x132b, 0x132e, - 0x1337, 0x133f, 0x134c, 0x135a, 0x1361, 0x1366, 0x136b, 0x137a, - 0x1380, 0x1385, 0x138a, 0x1392, 0x1394, 0x13a0, 0x13ab, 0x13af, + 0x12ed, 0x12f6, 0x130c, 0x1316, 0x1320, 0x1327, 0x1339, 0x133c, + 0x1345, 0x134d, 0x135a, 0x1368, 0x136f, 0x1374, 0x1379, 0x1388, + 0x138e, 0x1393, 0x1398, 0x13a0, 0x13a2, 0x13ae, 0x13b9, 0x13bd, // Entry 240 - 27F - 0x13b2, 0x13bb, 0x13c2, 0x13c7, 0x13d0, 0x13dc, 0x13e7, 0x13f4, - 0x1400, 0x1406, 0x140f, 0x1413, 0x1426, 0x142a, 0x143f, 0x143f, - 0x1458, 0x146d, 0x1483, 0x1497, 0x14aa, 0x14c1, 0x14de, 0x14f4, - 0x150a, 0x150a, 0x1522, 0x1538, 0x1548, 0x1551, 0x156e, 0x1589, - 0x1593, 0x15a2, 0x15af, 0x15c7, 0x15e0, + 0x13c0, 0x13c9, 0x13d0, 0x13d5, 0x13de, 0x13ea, 0x13f5, 0x1402, + 0x140e, 0x1414, 0x141d, 0x1421, 0x1434, 0x1438, 0x144d, 0x144d, + 0x1466, 0x147b, 0x1491, 0x14a5, 0x14b8, 0x14cf, 0x14ec, 0x1502, + 0x1518, 0x1518, 0x1530, 0x1546, 0x1556, 0x155f, 0x157c, 0x1597, + 0x15a1, 0x15b0, 0x15bd, 0x15d5, 0x15ee, } // Size: 1250 bytes -const elLangStr string = "" + // Size: 9051 bytes +const elLangStr string = "" + // Size: 9070 bytes "ΑφάρΑμπχαζικάΑβεστάνΑφρικάανςΑκάνΑμαρικάΑραγκονικάΑραβικάΑσαμεζικάΆβαρικ" + "ΑϊμάραΑζερμπαϊτζανικάΜπασκίρΛευκορωσικάΒουλγαρικάΜπισλάμαΜπαμπάραΜπενγκ" + "άλιΘιβετιανάΒρετονικάΒοσνιακάΚαταλανικάΤσετσενικάΚαμόρροΚορσικανικάΚριΤ" + @@ -17068,15 +17072,15 @@ const elLangStr string = "" + // Size: 9051 bytes "έρΣάχοΣουκούμαΣούσουΣουμερικάΚομόρριαΚλασικά ΣυριακάΣυριακάΤίμνεΤέσοΤερ" + "ένοΤέτουμΤίγκρεΤιβΤοκελάουΚλίνγκονΤλίνγκιτΤαμασέκΝιάσα ΤόνγκαΤοκ ΠισίνΤ" + "αρόκοΤσίμσιανΤουμπούκαΤουβαλούΤασαβάκΤουβινικάΤαμαζίτ Κεντρικού ΜαρόκοΟ" + - "υντμούρτΟυγκαριτικάΟυμπούντουΡουτΒάιΒότικΒούντζοΒάλσερΓουάλαμοΓουάρειΓο" + - "υασόΓουαρλπίριwuuΚαλμίκΣόγκαΓιάοΓιαπίζΓιανγκμπένΓιέμπαΚαντονέζικαΖάποτε" + - "κΣύμβολα BlissΖενάγκαΤυπικά Ταμαζίγκτ ΜαρόκουΖούνιΧωρίς γλωσσολογικό πε" + - "ριεχόμενοΖάζαΣύγχρονα Τυπικά ΑραβικάΓερμανικά ΑυστρίαςΆνω Γερμανικά Ελβ" + - "ετίαςΑγγλικά ΑυστραλίαςΑγγλικά ΚαναδάΑγγλικά Ηνωμένου ΒασιλείουΑγγλικά " + - "ΑμερικήςΙσπανικά Λατινικής ΑμερικήςΙσπανικά ΕυρώπηςΙσπανικά ΜεξικούΓαλλ" + - "ικά ΚαναδάΓαλλικά ΕλβετίαςΚάτω Γερμανικά ΟλλανδίαςΦλαμανδικάΠορτογαλικά" + - " ΒραζιλίαςΠορτογαλικά ΕυρώπηςΜολδαβικάΣερβοκροατικάΚονγκό ΣουαχίλιΑπλοπο" + - "ιημένα ΚινεζικάΠαραδοσιακά Κινεζικά" + "υντμούρτΟυγκαριτικάΟυμπούντουΆγνωστη γλώσσαΒάιΒότικΒούντζοΒάλσερΓουάλαμ" + + "οΓουάρειΓουασόΓουαρλπίριwuuΚαλμίκΣόγκαΓιάοΓιαπίζΓιανγκμπένΓιέμπαΚαντονέ" + + "ζικαΖάποτεκΣύμβολα BlissΖενάγκαΤυπικά Ταμαζίγκτ ΜαρόκουΖούνιΧωρίς γλωσσ" + + "ολογικό περιεχόμενοΖάζαΣύγχρονα Τυπικά ΑραβικάΓερμανικά ΑυστρίαςΆνω Γερ" + + "μανικά ΕλβετίαςΑγγλικά ΑυστραλίαςΑγγλικά ΚαναδάΑγγλικά Ηνωμένου Βασιλεί" + + "ουΑγγλικά ΑμερικήςΙσπανικά Λατινικής ΑμερικήςΙσπανικά ΕυρώπηςΙσπανικά Μ" + + "εξικούΓαλλικά ΚαναδάΓαλλικά ΕλβετίαςΚάτω Γερμανικά ΟλλανδίαςΦλαμανδικάΠ" + + "ορτογαλικά ΒραζιλίαςΠορτογαλικά ΕυρώπηςΜολδαβικάΣερβοκροατικάΚονγκό Σου" + + "αχίλιΑπλοποιημένα ΚινεζικάΠαραδοσιακά Κινεζικά" var elLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -17157,18 +17161,18 @@ var elLangIdx = []uint16{ // 613 elements 0x1d97, 0x1d97, 0x1d97, 0x1da1, 0x1da9, 0x1db5, 0x1dc1, 0x1dcd, 0x1dd3, 0x1de3, 0x1de3, 0x1df3, 0x1e03, 0x1e03, 0x1e11, 0x1e28, 0x1e39, 0x1e39, 0x1e45, 0x1e45, 0x1e55, 0x1e55, 0x1e67, 0x1e77, - 0x1e85, 0x1e97, 0x1ec5, 0x1ed7, 0x1eed, 0x1f01, 0x1f09, 0x1f0f, - 0x1f0f, 0x1f0f, 0x1f0f, 0x1f0f, 0x1f19, 0x1f19, 0x1f27, 0x1f33, - 0x1f43, 0x1f51, 0x1f5d, 0x1f71, 0x1f74, 0x1f80, 0x1f80, 0x1f8a, + 0x1e85, 0x1e97, 0x1ec5, 0x1ed7, 0x1eed, 0x1f01, 0x1f1c, 0x1f22, + 0x1f22, 0x1f22, 0x1f22, 0x1f22, 0x1f2c, 0x1f2c, 0x1f3a, 0x1f46, + 0x1f56, 0x1f64, 0x1f70, 0x1f84, 0x1f87, 0x1f93, 0x1f93, 0x1f9d, // Entry 240 - 27F - 0x1f92, 0x1f9e, 0x1fb2, 0x1fbe, 0x1fbe, 0x1fd4, 0x1fe2, 0x1ff6, - 0x1ff6, 0x2004, 0x2032, 0x203c, 0x2076, 0x207e, 0x20aa, 0x20aa, - 0x20cd, 0x20f7, 0x211a, 0x2135, 0x2167, 0x2186, 0x21ba, 0x21d9, - 0x21f8, 0x21f8, 0x2213, 0x2232, 0x2260, 0x2274, 0x229d, 0x22c2, - 0x22d4, 0x22ee, 0x230b, 0x2334, 0x235b, + 0x1fa5, 0x1fb1, 0x1fc5, 0x1fd1, 0x1fd1, 0x1fe7, 0x1ff5, 0x2009, + 0x2009, 0x2017, 0x2045, 0x204f, 0x2089, 0x2091, 0x20bd, 0x20bd, + 0x20e0, 0x210a, 0x212d, 0x2148, 0x217a, 0x2199, 0x21cd, 0x21ec, + 0x220b, 0x220b, 0x2226, 0x2245, 0x2273, 0x2287, 0x22b0, 0x22d5, + 0x22e7, 0x2301, 0x231e, 0x2347, 0x236e, } // Size: 1250 bytes -const enLangStr string = "" + // Size: 4944 bytes +const enLangStr string = "" + // Size: 4956 bytes "AfarAbkhazianAvestanAfrikaansAkanAmharicAragoneseArabicAssameseAvaricAym" + "araAzerbaijaniBashkirBelarusianBulgarianBislamaBambaraBanglaTibetanBreto" + "nBosnianCatalanChechenChamorroCorsicanCreeCzechChurch SlavicChuvashWelsh" + @@ -17229,15 +17233,15 @@ const enLangStr string = "" + // Size: 4944 bytes "erianComorianClassical SyriacSyriacSilesianTuluTimneTesoTerenoTetumTigre" + "TivTokelauTsakhurKlingonTlingitTalyshTamashekNyasa TongaTok PisinTuroyoT" + "arokoTsakonianTsimshianMuslim TatTumbukaTuvaluTasawaqTuvinianCentral Atl" + - "as TamazightUdmurtUgariticUmbunduRootVaiVenetianVepsWest FlemishMain-Fra" + - "nconianVoticVõroVunjoWalserWolayttaWarayWashoWarlpiriWu ChineseKalmykMin" + - "grelianSogaYaoYapeseYangbenYembaNheengatuCantoneseZapotecBlissymbolsZeel" + - "andicZenagaStandard Moroccan TamazightZuniNo linguistic contentZazaModer" + - "n Standard ArabicAustrian GermanSwiss High GermanAustralian EnglishCanad" + - "ian EnglishBritish EnglishAmerican EnglishLatin American SpanishEuropean" + - " SpanishMexican SpanishDariCanadian FrenchSwiss FrenchLow SaxonFlemishBr" + - "azilian PortugueseEuropean PortugueseMoldavianSerbo-CroatianCongo Swahil" + - "iSimplified ChineseTraditional Chinese" + "as TamazightUdmurtUgariticUmbunduUnknown languageVaiVenetianVepsWest Fle" + + "mishMain-FranconianVoticVõroVunjoWalserWolayttaWarayWashoWarlpiriWu Chin" + + "eseKalmykMingrelianSogaYaoYapeseYangbenYembaNheengatuCantoneseZapotecBli" + + "ssymbolsZeelandicZenagaStandard Moroccan TamazightZuniNo linguistic cont" + + "entZazaModern Standard ArabicAustrian GermanSwiss High GermanAustralian " + + "EnglishCanadian EnglishBritish EnglishAmerican EnglishLatin American Spa" + + "nishEuropean SpanishMexican SpanishDariCanadian FrenchSwiss FrenchLow Sa" + + "xonFlemishBrazilian PortugueseEuropean PortugueseMoldavianSerbo-Croatian" + + "Congo SwahiliSimplified ChineseTraditional Chinese" var enLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -17318,18 +17322,18 @@ var enLangIdx = []uint16{ // 613 elements 0x1034, 0x103c, 0x1040, 0x1045, 0x1049, 0x104f, 0x1054, 0x1059, 0x105c, 0x1063, 0x106a, 0x1071, 0x1078, 0x107e, 0x1086, 0x1091, 0x109a, 0x10a0, 0x10a6, 0x10af, 0x10b8, 0x10c2, 0x10c9, 0x10cf, - 0x10d6, 0x10de, 0x10f5, 0x10fb, 0x1103, 0x110a, 0x110e, 0x1111, - 0x1119, 0x111d, 0x1129, 0x1138, 0x113d, 0x1142, 0x1147, 0x114d, - 0x1155, 0x115a, 0x115f, 0x1167, 0x1171, 0x1177, 0x1181, 0x1185, + 0x10d6, 0x10de, 0x10f5, 0x10fb, 0x1103, 0x110a, 0x111a, 0x111d, + 0x1125, 0x1129, 0x1135, 0x1144, 0x1149, 0x114e, 0x1153, 0x1159, + 0x1161, 0x1166, 0x116b, 0x1173, 0x117d, 0x1183, 0x118d, 0x1191, // Entry 240 - 27F - 0x1188, 0x118e, 0x1195, 0x119a, 0x11a3, 0x11ac, 0x11b3, 0x11be, - 0x11c7, 0x11cd, 0x11e8, 0x11ec, 0x1201, 0x1205, 0x121b, 0x121b, - 0x122a, 0x123b, 0x124d, 0x125d, 0x126c, 0x127c, 0x1292, 0x12a2, - 0x12b1, 0x12b5, 0x12c4, 0x12d0, 0x12d9, 0x12e0, 0x12f4, 0x1307, - 0x1310, 0x131e, 0x132b, 0x133d, 0x1350, + 0x1194, 0x119a, 0x11a1, 0x11a6, 0x11af, 0x11b8, 0x11bf, 0x11ca, + 0x11d3, 0x11d9, 0x11f4, 0x11f8, 0x120d, 0x1211, 0x1227, 0x1227, + 0x1236, 0x1247, 0x1259, 0x1269, 0x1278, 0x1288, 0x129e, 0x12ae, + 0x12bd, 0x12c1, 0x12d0, 0x12dc, 0x12e5, 0x12ec, 0x1300, 0x1313, + 0x131c, 0x132a, 0x1337, 0x1349, 0x135c, } // Size: 1250 bytes -const esLangStr string = "" + // Size: 4319 bytes +const esLangStr string = "" + // Size: 4332 bytes "afarabjasioavésticoafrikáansakanamáricoaragonésárabeasamésavaraimaraazer" + "baiyanobaskirbielorrusobúlgarobislamabambarabengalítibetanobretónbosnioc" + "atalánchechenochamorrocorsocreechecoeslavo eclesiásticochuvasiogalésdané" + @@ -17380,14 +17384,15 @@ const esLangStr string = "" + // Size: 4319 bytes "inkésogdianosranan tongoserersahosukumasususumeriocomorensesiríaco clási" + "cosiriacotemnetesoterenotetúntigrétivtokelauanoklingontlingittamashekton" + "ga del Nyasatok pisintarokotsimshianotumbukatuvaluanotasawaqtuvinianotam" + - "azight del Atlas Centraludmurtugaríticoumbunduraízvaivóticovunjowalserwo" + - "laytawaraywashowarlpirichino wukalmyksogayaoyapésyangbenyembacantonészap" + - "otecosímbolos Blisszenagatamazight estándar marroquízuñisin contenido li" + - "ngüísticozazakiárabe estándar modernoalemán austríacoalto alemán suizoin" + - "glés australianoinglés canadienseinglés británicoinglés estadounidensees" + - "pañol latinoamericanoespañol de Españaespañol de Méxicofrancés canadiens" + - "efrancés suizobajo sajónflamencoportugués de Brasilportugués de Portugal" + - "moldavoserbocroatasuajili del Congochino simplificadochino tradicional" + "azight del Atlas Centraludmurtugaríticoumbundulengua desconocidavaivótic" + + "ovunjowalserwolaytawaraywashowarlpirichino wukalmyksogayaoyapésyangbenye" + + "mbacantonészapotecosímbolos Blisszenagatamazight estándar marroquízuñisi" + + "n contenido lingüísticozazakiárabe estándar modernoalemán austríacoalto " + + "alemán suizoinglés australianoinglés canadienseinglés británicoinglés es" + + "tadounidenseespañol latinoamericanoespañol de Españaespañol de Méxicofra" + + "ncés canadiensefrancés suizobajo sajónflamencoportugués de Brasilportugu" + + "és de Portugalmoldavoserbocroatasuajili del Congochino simplificadochin" + + "o tradicional" var esLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -17468,15 +17473,15 @@ var esLangIdx = []uint16{ // 613 elements 0x0df9, 0x0df9, 0x0df9, 0x0dfe, 0x0e02, 0x0e08, 0x0e0e, 0x0e14, 0x0e17, 0x0e21, 0x0e21, 0x0e28, 0x0e2f, 0x0e2f, 0x0e37, 0x0e46, 0x0e4f, 0x0e4f, 0x0e55, 0x0e55, 0x0e5f, 0x0e5f, 0x0e66, 0x0e6f, - 0x0e76, 0x0e7f, 0x0e9a, 0x0ea0, 0x0eaa, 0x0eb1, 0x0eb6, 0x0eb9, - 0x0eb9, 0x0eb9, 0x0eb9, 0x0eb9, 0x0ec0, 0x0ec0, 0x0ec5, 0x0ecb, - 0x0ed2, 0x0ed7, 0x0edc, 0x0ee4, 0x0eec, 0x0ef2, 0x0ef2, 0x0ef6, + 0x0e76, 0x0e7f, 0x0e9a, 0x0ea0, 0x0eaa, 0x0eb1, 0x0ec3, 0x0ec6, + 0x0ec6, 0x0ec6, 0x0ec6, 0x0ec6, 0x0ecd, 0x0ecd, 0x0ed2, 0x0ed8, + 0x0edf, 0x0ee4, 0x0ee9, 0x0ef1, 0x0ef9, 0x0eff, 0x0eff, 0x0f03, // Entry 240 - 27F - 0x0ef9, 0x0eff, 0x0f06, 0x0f0b, 0x0f0b, 0x0f14, 0x0f1c, 0x0f2b, - 0x0f2b, 0x0f31, 0x0f4e, 0x0f53, 0x0f6e, 0x0f74, 0x0f8c, 0x0f8c, - 0x0f9e, 0x0fb0, 0x0fc3, 0x0fd5, 0x0fe7, 0x0ffd, 0x1015, 0x1028, - 0x103b, 0x103b, 0x104e, 0x105c, 0x1067, 0x106f, 0x1083, 0x1099, - 0x10a0, 0x10ab, 0x10bc, 0x10ce, 0x10df, + 0x0f06, 0x0f0c, 0x0f13, 0x0f18, 0x0f18, 0x0f21, 0x0f29, 0x0f38, + 0x0f38, 0x0f3e, 0x0f5b, 0x0f60, 0x0f7b, 0x0f81, 0x0f99, 0x0f99, + 0x0fab, 0x0fbd, 0x0fd0, 0x0fe2, 0x0ff4, 0x100a, 0x1022, 0x1035, + 0x1048, 0x1048, 0x105b, 0x1069, 0x1074, 0x107c, 0x1090, 0x10a6, + 0x10ad, 0x10b8, 0x10c9, 0x10db, 0x10ec, } // Size: 1250 bytes const es419LangStr string = "" + // Size: 218 bytes @@ -17574,7 +17579,7 @@ var es419LangIdx = []uint16{ // 611 elements 0x00cb, 0x00cb, 0x00da, } // Size: 1246 bytes -const etLangStr string = "" + // Size: 4574 bytes +const etLangStr string = "" + // Size: 4586 bytes "afariabhaasiavestaafrikaaniakaniamharaaragoniaraabiaassamiavaariaimaraas" + "erbaidžaanibaškiirivalgevenebulgaariabislamabambarabengalitiibetibretoon" + "ibosniakatalaanitšetšeenitšamorrokorsikakriitšehhikirikuslaavitšuvašikõm" + @@ -17629,14 +17634,14 @@ const etLangStr string = "" + // Size: 4574 bytes "terfriisisukumasususumerikomoorivanasüüriasüüriasileesiatulutemnetesoter" + "enotetumitigreetivitokelautsahhiklingonitlingititalõšitamašekitšitongauu" + "smelaneesiaturojotarokotsakooniatšimšilõunataaditumbukatuvalutaswaqitõva" + - "tamasiktiudmurdiugaritiumbundurootvaivenetivepsalääneflaamiMaini frangiv" + - "adjavõruvundžowalserivolaitavaraivašovarlpiriuukalmõkimegrelisogajaojapi" + - "yangbenijembanjengatukantonisapoteegiBlissi sümbolidzeelandizenagatamasi" + - "kti (Maroko)sunjimittekeelelinezazaaraabia (tänapäevane)Austria saksaŠve" + - "itsi ülemsaksaAustraalia ingliseKanada ingliseBriti ingliseAmeerika ingl" + - "iseLadina-Ameerika hispaaniaEuroopa hispaaniaMehhiko hispaaniaKanada pra" + - "ntsuseŠveitsi prantsuseHollandi alamsaksaflaamiBrasiilia portugaliEuroop" + - "a portugalimoldovaserbia-horvaadiKongo suahiili" + "tamasiktiudmurdiugaritiumbundumääramata keelvaivenetivepsalääneflaamiMai" + + "ni frangivadjavõruvundžowalserivolaitavaraivašovarlpiriuukalmõkimegrelis" + + "ogajaojapiyangbenijembanjengatukantonisapoteegiBlissi sümbolidzeelandize" + + "nagatamasikti (Maroko)sunjimittekeelelinezazaaraabia (tänapäevane)Austri" + + "a saksaŠveitsi ülemsaksaAustraalia ingliseKanada ingliseBriti ingliseAme" + + "erika ingliseLadina-Ameerika hispaaniaEuroopa hispaaniaMehhiko hispaania" + + "Kanada prantsuseŠveitsi prantsuseHollandi alamsaksaflaamiBrasiilia portu" + + "galiEuroopa portugalimoldovaserbia-horvaadiKongo suahiili" var etLangIdx = []uint16{ // 611 elements // Entry 0 - 3F @@ -17717,18 +17722,18 @@ var etLangIdx = []uint16{ // 611 elements 0x0efb, 0x0f03, 0x0f07, 0x0f0c, 0x0f10, 0x0f16, 0x0f1c, 0x0f22, 0x0f26, 0x0f2d, 0x0f33, 0x0f3b, 0x0f43, 0x0f4b, 0x0f54, 0x0f5d, 0x0f6a, 0x0f70, 0x0f76, 0x0f7f, 0x0f87, 0x0f92, 0x0f99, 0x0f9f, - 0x0fa6, 0x0fab, 0x0fb4, 0x0fbb, 0x0fc2, 0x0fc9, 0x0fcd, 0x0fd0, - 0x0fd6, 0x0fdb, 0x0fe8, 0x0ff4, 0x0ff9, 0x0ffe, 0x1005, 0x100c, - 0x1013, 0x1018, 0x101d, 0x1025, 0x1027, 0x102f, 0x1036, 0x103a, + 0x0fa6, 0x0fab, 0x0fb4, 0x0fbb, 0x0fc2, 0x0fc9, 0x0fd9, 0x0fdc, + 0x0fe2, 0x0fe7, 0x0ff4, 0x1000, 0x1005, 0x100a, 0x1011, 0x1018, + 0x101f, 0x1024, 0x1029, 0x1031, 0x1033, 0x103b, 0x1042, 0x1046, // Entry 240 - 27F - 0x103d, 0x1041, 0x1049, 0x104e, 0x1056, 0x105d, 0x1066, 0x1076, - 0x107e, 0x1084, 0x1096, 0x109b, 0x10a9, 0x10ad, 0x10c4, 0x10c4, - 0x10d1, 0x10e4, 0x10f6, 0x1104, 0x1111, 0x1121, 0x113a, 0x114b, - 0x115c, 0x115c, 0x116c, 0x117e, 0x1190, 0x1196, 0x11a9, 0x11ba, - 0x11c1, 0x11d0, 0x11de, + 0x1049, 0x104d, 0x1055, 0x105a, 0x1062, 0x1069, 0x1072, 0x1082, + 0x108a, 0x1090, 0x10a2, 0x10a7, 0x10b5, 0x10b9, 0x10d0, 0x10d0, + 0x10dd, 0x10f0, 0x1102, 0x1110, 0x111d, 0x112d, 0x1146, 0x1157, + 0x1168, 0x1168, 0x1178, 0x118a, 0x119c, 0x11a2, 0x11b5, 0x11c6, + 0x11cd, 0x11dc, 0x11ea, } // Size: 1246 bytes -const faLangStr string = "" + // Size: 7988 bytes +const faLangStr string = "" + // Size: 8001 bytes "آفاریآبخازیاوستاییآفریکانسآکانامهریآراگونیعربیآسامیآواریآیماراییترکی آذر" + "بایجانیباشغیریبلاروسیبلغاریبیسلامابامباراییبنگالیتبتیبرتونبوسنیاییکاتال" + "انچچنیچاموروییکورسیکریاییچکیاسلاوی کلیساییچوواشیولزیدانمارکیآلمانیدیوهی" + @@ -17782,13 +17787,13 @@ const faLangStr string = "" + // Size: 7988 bytes "ریکوموریسریانی کلاسیکسریانیسیلزیاییتمنه\u200cایتسوییترنوتتومیتیگره" + "\u200cایتیویکلینگونتلین\u200cگیتیتاماشقیتونگایی نیاساتوک\u200cپیسینیتارو" + "کوییتسیم\u200cشیانیتومبوکاییتووالوییتسواکیتوواییآمازیغی اطلس مرکزیاودمو" + - "رتیاوگاریتیامبوندوییریشهویاییوتیونجووالسروالاموواراییواشوییوارلپیریقلمو" + - "قیسوگایییائویییاپییانگبنییمباییکانتونیزاپوتکیزناگاآمازیغی معیار مراکشزو" + - "نیاییبدون محتوای زبانیزازاییعربی رسمیترکی آذری جنوبیآلمانی اتریشآلمانی " + - "معیار سوئیسانگلیسی استرالیاانگلیسی کاناداانگلیسی بریتانیاانگلیسی امریکا" + - "اسپانیایی امریکای لاتیناسپانیایی اروپااسپانیایی مکزیکدریفرانسوی کاناداف" + - "رانسوی سوئیسساکسونی سفلیفلمنگیپرتغالی برزیلپرتغالی اروپامولداویاییصرب و" + - " کرواتیسواحیلی کنگوچینی ساده\u200cشدهچینی سنتی" + "رتیاوگاریتیامبوندوییزبان نامشخصویاییوتیونجووالسروالاموواراییواشوییوارلپ" + + "یریقلموقیسوگایییائویییاپییانگبنییمباییکانتونیزاپوتکیزناگاآمازیغی معیار " + + "مراکشزونیاییبدون محتوای زبانیزازاییعربی رسمیترکی آذری جنوبیآلمانی اتریش" + + "آلمانی معیار سوئیسانگلیسی استرالیاانگلیسی کاناداانگلیسی بریتانیاانگلیسی" + + " امریکااسپانیایی امریکای لاتیناسپانیایی اروپااسپانیایی مکزیکدریفرانسوی ک" + + "انادافرانسوی سوئیسساکسونی سفلیفلمنگیپرتغالی برزیلپرتغالی اروپامولداویای" + + "یصرب و کرواتیسواحیلی کنگوچینی ساده\u200cشدهچینی سنتی" var faLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -17869,18 +17874,18 @@ var faLangIdx = []uint16{ // 613 elements 0x1a6d, 0x1a7d, 0x1a7d, 0x1a8c, 0x1a96, 0x1a9e, 0x1aa8, 0x1ab9, 0x1ac1, 0x1ac1, 0x1ac1, 0x1acf, 0x1ae2, 0x1ae2, 0x1af0, 0x1b09, 0x1b1e, 0x1b1e, 0x1b2e, 0x1b2e, 0x1b43, 0x1b43, 0x1b55, 0x1b65, - 0x1b71, 0x1b7d, 0x1b9f, 0x1baf, 0x1bbf, 0x1bd1, 0x1bd9, 0x1be3, - 0x1be3, 0x1be3, 0x1be3, 0x1be3, 0x1be9, 0x1be9, 0x1bf1, 0x1bfb, - 0x1c07, 0x1c13, 0x1c1f, 0x1c2f, 0x1c2f, 0x1c3b, 0x1c3b, 0x1c47, + 0x1b71, 0x1b7d, 0x1b9f, 0x1baf, 0x1bbf, 0x1bd1, 0x1be6, 0x1bf0, + 0x1bf0, 0x1bf0, 0x1bf0, 0x1bf0, 0x1bf6, 0x1bf6, 0x1bfe, 0x1c08, + 0x1c14, 0x1c20, 0x1c2c, 0x1c3c, 0x1c3c, 0x1c48, 0x1c48, 0x1c54, // Entry 240 - 27F - 0x1c53, 0x1c5b, 0x1c69, 0x1c75, 0x1c75, 0x1c83, 0x1c91, 0x1c91, - 0x1c91, 0x1c9b, 0x1cbf, 0x1ccd, 0x1ced, 0x1cf9, 0x1d0a, 0x1d26, - 0x1d3d, 0x1d5f, 0x1d7e, 0x1d99, 0x1db8, 0x1dd3, 0x1dff, 0x1e1c, - 0x1e39, 0x1e3f, 0x1e5a, 0x1e73, 0x1e8a, 0x1e96, 0x1eaf, 0x1ec8, - 0x1edc, 0x1ef2, 0x1f09, 0x1f23, 0x1f34, + 0x1c60, 0x1c68, 0x1c76, 0x1c82, 0x1c82, 0x1c90, 0x1c9e, 0x1c9e, + 0x1c9e, 0x1ca8, 0x1ccc, 0x1cda, 0x1cfa, 0x1d06, 0x1d17, 0x1d33, + 0x1d4a, 0x1d6c, 0x1d8b, 0x1da6, 0x1dc5, 0x1de0, 0x1e0c, 0x1e29, + 0x1e46, 0x1e4c, 0x1e67, 0x1e80, 0x1e97, 0x1ea3, 0x1ebc, 0x1ed5, + 0x1ee9, 0x1eff, 0x1f16, 0x1f30, 0x1f41, } // Size: 1250 bytes -const fiLangStr string = "" + // Size: 4736 bytes +const fiLangStr string = "" + // Size: 4747 bytes "afarabhaasiavestaafrikaansakanamharaaragoniaarabiaassamiavaariaimaraazer" + "ibaškiirivalkovenäjäbulgariabislamabambarabengalitiibetbretonibosniakata" + "laanitšetšeenitšamorrokorsikacreetšekkikirkkoslaavitšuvassikymritanskasa" + @@ -17937,15 +17942,15 @@ const fiLangStr string = "" + // Size: 4736 bytes "soninkesogdisrananserersahosaterlandinfriisisukumasususumerikomorimuinai" + "ssyyriasyyriasleesiatulutemnetesoterenotetumtigretivtokelautsahuriklingo" + "ntlingittališitamašekmalawintongatok-pisinturojotarokotsakoniatsimšitati" + - "tumbukatuvalutasawaqtuvakeskiatlaksentamazightudmurttiugaritmbundujuuriv" + - "aivenetsiavepsälänsiflaamimaininfrankkivatjavõrovunjowalserwolaittawaray" + - "washowarlpiriwu-kiinakalmukkimingrelisogajaojapiyangbenyembañeengatúkant" + - "oninkiinazapoteekkiblisskieliseelantizenagavakioitu tamazightzuniei kiel" + - "ellistä sisältöäzazayleisarabiaitävallansaksasveitsinyläsaksaaustraliane" + - "nglantikanadanenglantibritannianenglantiamerikanenglantiamerikanespanjae" + - "uroopanespanjameksikonespanjakanadanranskasveitsinranskaalankomaidenalas" + - "aksaflaamibrasilianportugalieuroopanportugalimoldovaserbokroaattikingwan" + - "ayksinkertaistettu kiinaperinteinen kiina" + "tumbukatuvalutasawaqtuvakeskiatlaksentamazightudmurttiugaritmbundutuntem" + + "aton kielivaivenetsiavepsälänsiflaamimaininfrankkivatjavõrovunjowalserwo" + + "laittawaraywashowarlpiriwu-kiinakalmukkimingrelisogajaojapiyangbenyembañ" + + "eengatúkantoninkiinazapoteekkiblisskieliseelantizenagavakioitu tamazight" + + "zuniei kielellistä sisältöäzazayleisarabiaitävallansaksasveitsinyläsaksa" + + "australianenglantikanadanenglantibritannianenglantiamerikanenglantiameri" + + "kanespanjaeuroopanespanjameksikonespanjakanadanranskasveitsinranskaalank" + + "omaidenalasaksaflaamibrasilianportugalieuroopanportugalimoldovaserbokroa" + + "attikingwanayksinkertaistettu kiinaperinteinen kiina" var fiLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -18026,18 +18031,18 @@ var fiLangIdx = []uint16{ // 613 elements 0x0f86, 0x0f8d, 0x0f91, 0x0f96, 0x0f9a, 0x0fa0, 0x0fa5, 0x0faa, 0x0fad, 0x0fb4, 0x0fbb, 0x0fc2, 0x0fc9, 0x0fd0, 0x0fd8, 0x0fe4, 0x0fed, 0x0ff3, 0x0ff9, 0x1001, 0x1008, 0x100c, 0x1013, 0x1019, - 0x1020, 0x1024, 0x103a, 0x1042, 0x1048, 0x104e, 0x1053, 0x1056, - 0x105e, 0x1064, 0x1070, 0x107d, 0x1082, 0x1087, 0x108c, 0x1092, - 0x109a, 0x109f, 0x10a4, 0x10ac, 0x10b4, 0x10bc, 0x10c4, 0x10c8, + 0x1020, 0x1024, 0x103a, 0x1042, 0x1048, 0x104e, 0x105e, 0x1061, + 0x1069, 0x106f, 0x107b, 0x1088, 0x108d, 0x1092, 0x1097, 0x109d, + 0x10a5, 0x10aa, 0x10af, 0x10b7, 0x10bf, 0x10c7, 0x10cf, 0x10d3, // Entry 240 - 27F - 0x10cb, 0x10cf, 0x10d6, 0x10db, 0x10e5, 0x10f2, 0x10fc, 0x1106, - 0x110e, 0x1114, 0x1126, 0x112a, 0x1145, 0x1149, 0x1154, 0x1154, - 0x1163, 0x1174, 0x1186, 0x1195, 0x11a7, 0x11b7, 0x11c6, 0x11d5, - 0x11e4, 0x11e4, 0x11f1, 0x11ff, 0x1213, 0x1219, 0x122b, 0x123c, - 0x1243, 0x1250, 0x1258, 0x126f, 0x1280, + 0x10d6, 0x10da, 0x10e1, 0x10e6, 0x10f0, 0x10fd, 0x1107, 0x1111, + 0x1119, 0x111f, 0x1131, 0x1135, 0x1150, 0x1154, 0x115f, 0x115f, + 0x116e, 0x117f, 0x1191, 0x11a0, 0x11b2, 0x11c2, 0x11d1, 0x11e0, + 0x11ef, 0x11ef, 0x11fc, 0x120a, 0x121e, 0x1224, 0x1236, 0x1247, + 0x124e, 0x125b, 0x1263, 0x127a, 0x128b, } // Size: 1250 bytes -const filLangStr string = "" + // Size: 3132 bytes +const filLangStr string = "" + // Size: 3147 bytes "AfarAbkhazianAfrikaansAkanAmharicAragoneseArabicAssameseAvaricAymaraAzer" + "baijaniBashkirBelarusianBulgarianBislamaBambaraBanglaTibetanBretonBosnia" + "nCatalanChechenChamorroCorsicanCzechChurch SlavicChuvashWelshDanishGerma" + @@ -18074,14 +18079,14 @@ const filLangStr string = "" + // Size: 3132 bytes "nguSicilianScotsKatimugang KurdishSenaKoyraboro SenniTachelhitShanKatimu" + "gang SamiLule SamiInari SamiSkolt SamiSoninkeSranan TongoSahoSukumaComor" + "ianSyriacTimneTesoTetumTigreKlingonTok PisinTarokoTumbukaTuvaluTasawaqTu" + - "vinianCentral Atlas TamazightUdmurtUmbunduRootVaiVunjoWalserWolayttaWara" + - "yWarlpiriKalmykSogaYangbenYembaCantoneseStandard Moroccan TamazightZuniW" + - "alang nilalaman na ukol sa wikaZazaModernong Karaniwang ArabicAustrian G" + - "ermanSwiss High GermanIngles ng AustralyaIngles sa CanadaIngles na Briti" + - "shIngles na AmericanLatin American na EspanyolEuropean SpanishMexican na" + - " EspanyolFrench sa CanadaSwiss na FrenchLow SaxonFlemishPortuges ng Bras" + - "ilEuropean PortugueseMoldavianSerbo-CroatianCongo SwahiliPinasimpleng Ch" + - "ineseTradisyonal na Chinese" + "vinianCentral Atlas TamazightUdmurtUmbunduHindi Kilalang WikaVaiVunjoWal" + + "serWolayttaWarayWarlpiriKalmykSogaYangbenYembaCantoneseStandard Moroccan" + + " TamazightZuniWalang nilalaman na ukol sa wikaZazaModernong Karaniwang A" + + "rabicAustrian GermanSwiss High GermanIngles ng AustralyaIngles sa Canada" + + "Ingles na BritishIngles na AmericanLatin American na EspanyolEuropean Sp" + + "anishMexican na EspanyolFrench sa CanadaSwiss na FrenchLow SaxonFlemishP" + + "ortuges ng BrasilEuropean PortugueseMoldavianSerbo-CroatianCongo Swahili" + + "Pinasimpleng ChineseTradisyonal na Chinese" var filLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -18162,18 +18167,18 @@ var filLangIdx = []uint16{ // 613 elements 0x09ea, 0x09ea, 0x09ea, 0x09ef, 0x09f3, 0x09f3, 0x09f8, 0x09fd, 0x09fd, 0x09fd, 0x09fd, 0x0a04, 0x0a04, 0x0a04, 0x0a04, 0x0a04, 0x0a0d, 0x0a0d, 0x0a13, 0x0a13, 0x0a13, 0x0a13, 0x0a1a, 0x0a20, - 0x0a27, 0x0a2f, 0x0a46, 0x0a4c, 0x0a4c, 0x0a53, 0x0a57, 0x0a5a, - 0x0a5a, 0x0a5a, 0x0a5a, 0x0a5a, 0x0a5a, 0x0a5a, 0x0a5f, 0x0a65, - 0x0a6d, 0x0a72, 0x0a72, 0x0a7a, 0x0a7a, 0x0a80, 0x0a80, 0x0a84, + 0x0a27, 0x0a2f, 0x0a46, 0x0a4c, 0x0a4c, 0x0a53, 0x0a66, 0x0a69, + 0x0a69, 0x0a69, 0x0a69, 0x0a69, 0x0a69, 0x0a69, 0x0a6e, 0x0a74, + 0x0a7c, 0x0a81, 0x0a81, 0x0a89, 0x0a89, 0x0a8f, 0x0a8f, 0x0a93, // Entry 240 - 27F - 0x0a84, 0x0a84, 0x0a8b, 0x0a90, 0x0a90, 0x0a99, 0x0a99, 0x0a99, - 0x0a99, 0x0a99, 0x0ab4, 0x0ab8, 0x0ad8, 0x0adc, 0x0af7, 0x0af7, - 0x0b06, 0x0b17, 0x0b2a, 0x0b3a, 0x0b4b, 0x0b5d, 0x0b77, 0x0b87, - 0x0b9a, 0x0b9a, 0x0baa, 0x0bb9, 0x0bc2, 0x0bc9, 0x0bdb, 0x0bee, - 0x0bf7, 0x0c05, 0x0c12, 0x0c26, 0x0c3c, + 0x0a93, 0x0a93, 0x0a9a, 0x0a9f, 0x0a9f, 0x0aa8, 0x0aa8, 0x0aa8, + 0x0aa8, 0x0aa8, 0x0ac3, 0x0ac7, 0x0ae7, 0x0aeb, 0x0b06, 0x0b06, + 0x0b15, 0x0b26, 0x0b39, 0x0b49, 0x0b5a, 0x0b6c, 0x0b86, 0x0b96, + 0x0ba9, 0x0ba9, 0x0bb9, 0x0bc8, 0x0bd1, 0x0bd8, 0x0bea, 0x0bfd, + 0x0c06, 0x0c14, 0x0c21, 0x0c35, 0x0c4b, } // Size: 1250 bytes -const frLangStr string = "" + // Size: 5136 bytes +const frLangStr string = "" + // Size: 5151 bytes "afarabkhazeavestiqueafrikaansakanamhariquearagonaisarabeassamaisavarayma" + "raazéribachkirbiélorussebulgarebichelamarbambarabengalitibétainbretonbos" + "niaquecatalantchétchènechamorrocorsecreetchèqueslavon d’églisetchouvache" + @@ -18235,15 +18240,15 @@ const frLangStr string = "" + // Size: 5136 bytes "syriaque classiquesyriaquesilésientouloutemnetesoterenotetumtigrétivtoke" + "lautsakhourklingontlingittalyshtamacheqtonga nyasatok pisintouroyotaroko" + "tsakonientsimshiantati caucasientoumboukatuvalutasawaqtouvatamazight du " + - "Maroc centraloudmourteougaritiqueoumboundouracinevaïvénitienvepseflamand" + - " occidentalfranconien du Mainvotevõrovunjowalserwalamowaraywashowarlpiri" + - "wukalmoukmingréliensogayaoyapoisyangbenyembanheengatoucantonaiszapotèque" + - "symboles Blisszélandaiszenagaamazighe standard marocainzuñisans contenu " + - "linguistiquezazakiarabe standard moderneallemand autrichienallemand suis" + - "seanglais australienanglais canadienanglais britanniqueanglais américain" + - "français canadienfrançais suissebas-saxon néerlandaisflamandportugais br" + - "ésilienportugais européenmoldaveserbo-croateswahili du Congochinois sim" + - "plifiéchinois traditionnel" + "Maroc centraloudmourteougaritiqueoumboundoulangue indéterminéevaïvénitie" + + "nvepseflamand occidentalfranconien du Mainvotevõrovunjowalserwalamowaray" + + "washowarlpiriwukalmoukmingréliensogayaoyapoisyangbenyembanheengatoucanto" + + "naiszapotèquesymboles Blisszélandaiszenagaamazighe standard marocainzuñi" + + "sans contenu linguistiquezazakiarabe standard moderneallemand autrichien" + + "allemand suisseanglais australienanglais canadienanglais britanniqueangl" + + "ais américainfrançais canadienfrançais suissebas-saxon néerlandaisflaman" + + "dportugais brésilienportugais européenmoldaveserbo-croateswahili du Cong" + + "ochinois simplifiéchinois traditionnel" var frLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -18324,15 +18329,15 @@ var frLangIdx = []uint16{ // 613 elements 0x10e9, 0x10f2, 0x10f8, 0x10fd, 0x1101, 0x1107, 0x110c, 0x1112, 0x1115, 0x111c, 0x1124, 0x112b, 0x1132, 0x1138, 0x1140, 0x114b, 0x1154, 0x115b, 0x1161, 0x116a, 0x1173, 0x1181, 0x118a, 0x1190, - 0x1197, 0x119c, 0x11b6, 0x11bf, 0x11ca, 0x11d4, 0x11da, 0x11de, - 0x11e7, 0x11ec, 0x11fe, 0x1210, 0x1214, 0x1219, 0x121e, 0x1224, - 0x122a, 0x122f, 0x1234, 0x123c, 0x123e, 0x1245, 0x1250, 0x1254, + 0x1197, 0x119c, 0x11b6, 0x11bf, 0x11ca, 0x11d4, 0x11e9, 0x11ed, + 0x11f6, 0x11fb, 0x120d, 0x121f, 0x1223, 0x1228, 0x122d, 0x1233, + 0x1239, 0x123e, 0x1243, 0x124b, 0x124d, 0x1254, 0x125f, 0x1263, // Entry 240 - 27F - 0x1257, 0x125d, 0x1264, 0x1269, 0x1273, 0x127c, 0x1286, 0x1294, - 0x129e, 0x12a4, 0x12be, 0x12c3, 0x12dc, 0x12e2, 0x12f8, 0x12f8, - 0x130b, 0x131a, 0x132c, 0x133c, 0x134f, 0x1361, 0x1361, 0x1361, - 0x1361, 0x1361, 0x1373, 0x1383, 0x1399, 0x13a0, 0x13b4, 0x13c7, - 0x13ce, 0x13da, 0x13ea, 0x13fc, 0x1410, + 0x1266, 0x126c, 0x1273, 0x1278, 0x1282, 0x128b, 0x1295, 0x12a3, + 0x12ad, 0x12b3, 0x12cd, 0x12d2, 0x12eb, 0x12f1, 0x1307, 0x1307, + 0x131a, 0x1329, 0x133b, 0x134b, 0x135e, 0x1370, 0x1370, 0x1370, + 0x1370, 0x1370, 0x1382, 0x1392, 0x13a8, 0x13af, 0x13c3, 0x13d6, + 0x13dd, 0x13e9, 0x13f9, 0x140b, 0x141f, } // Size: 1250 bytes const frCALangStr string = "" + // Size: 529 bytes @@ -18435,7 +18440,7 @@ var frCALangIdx = []uint16{ // 611 elements 0x0200, 0x0200, 0x0211, } // Size: 1246 bytes -const guLangStr string = "" + // Size: 11776 bytes +const guLangStr string = "" + // Size: 11798 bytes "અફારઅબખાજિયનઅવેસ્તનઆફ્રિકન્સઅકાનએમ્હારિકઅર્ગોનીઝઅરબીઆસામીઅવેરિકઆયમારાઅઝર" + "બૈજાનીબશ્કીરબેલારુશિયનબલ્ગેરિયનબિસ્લામાબામ્બારાબંગાળીતિબેટીયનબ્રેટોનબો" + "સ્નિયનકતલાનચેચનકેમોરોકોર્સિકનક્રીચેકચર્ચ સ્લાવિકચૂવાશવેલ્શડેનિશજર્મનદિ" + @@ -18485,15 +18490,15 @@ const guLangStr string = "" + // Size: 11776 bytes "્કેસોગ્ડિએનસ્રાનન ટોન્ગોસેરેરસાહોસુકુમાસુસુસુમેરિયનકોમોરિયનપરંપરાગત સિ" + "રિએકસિરિએકતુલુટિમ્નેતેસોતેરેનોતેતુમટાઇગ્રેતિવતોકેલાઉક્લિન્ગોનક્લીન્ગકિ" + "ટતામાશેખન્યાસા ટોન્ગાટોક પિસિનટારોકોસિમ્શિયનમુસ્લિમ તાટતુમ્બુકાતુવાલુત" + - "સાવાકટુવીનિયનસેન્ટ્રલ ઍટ્લસ તામાઝિગ્ટઉદમુર્તયુગેરિટિકઉમ્બુન્ડૂરૂટવાઇવો" + - "ટિકવુન્જોવેલ્સેરવોલાયટ્ટાવારેયવાશોવાર્લ્પીરીwuuકાલ્મિકસોગાયાઓયાપીસયાન્" + - "ગબેનયેમ્બાકેંટોનીઝઝેપોટેકબ્લિસિમ્બોલ્સઝેનાગાપ્રમાણભૂત મોરોક્કન તામાઝિગ" + - "્ટઝૂનીકોઇ ભાષાશાસ્ત્રીય સામગ્રી નથીઝાઝામોડર્ન સ્ટાન્ડર્ડ અરબીઓસ્ટ્રિઅન" + - " જર્મનસ્વિસ હાય જર્મનઓસ્ટ્રેલિયન અંગ્રેજીકેનેડિયન અંગ્રેજીબ્રિટિશ અંગ્રે" + - "જીઅમેરિકન અંગ્રેજીલેટિન અમેરિકન સ્પેનિશયુરોપિયન સ્પેનિશમેક્સિકન સ્પેનિ" + - "શકેનેડિયન ફ્રેંચસ્વિસ ફ્રેંચલો સેક્સોનફ્લેમિશબ્રાઝિલીયન પોર્ટુગીઝયુરોપ" + - "િયન પોર્ટુગીઝમોલડાવિયનસર્બો-ક્રોએશિયનકોંગો સ્વાહિલીસરળીકૃત ચાઇનીઝપારંપ" + - "રિક ચાઇનીઝ" + "સાવાકટુવીનિયનસેન્ટ્રલ ઍટ્લસ તામાઝિગ્ટઉદમુર્તયુગેરિટિકઉમ્બુન્ડૂઅજ્ઞાત ભ" + + "ાષાવાઇવોટિકવુન્જોવેલ્સેરવોલાયટ્ટાવારેયવાશોવાર્લ્પીરીwuuકાલ્મિકસોગાયાઓય" + + "ાપીસયાન્ગબેનયેમ્બાકેંટોનીઝઝેપોટેકબ્લિસિમ્બોલ્સઝેનાગાપ્રમાણભૂત મોરોક્કન" + + " તામાઝિગ્ટઝૂનીકોઇ ભાષાશાસ્ત્રીય સામગ્રી નથીઝાઝામોડર્ન સ્ટાન્ડર્ડ અરબીઓસ્" + + "ટ્રિઅન જર્મનસ્વિસ હાય જર્મનઓસ્ટ્રેલિયન અંગ્રેજીકેનેડિયન અંગ્રેજીબ્રિટિ" + + "શ અંગ્રેજીઅમેરિકન અંગ્રેજીલેટિન અમેરિકન સ્પેનિશયુરોપિયન સ્પેનિશમેક્સિક" + + "ન સ્પેનિશકેનેડિયન ફ્રેંચસ્વિસ ફ્રેંચલો સેક્સોનફ્લેમિશબ્રાઝિલીયન પોર્ટુ" + + "ગીઝયુરોપિયન પોર્ટુગીઝમોલડાવિયનસર્બો-ક્રોએશિયનકોંગો સ્વાહિલીસરળીકૃત ચાઇ" + + "નીઝપારંપરિક ચાઇનીઝ" var guLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -18574,18 +18579,18 @@ var guLangIdx = []uint16{ // 613 elements 0x260c, 0x260c, 0x2618, 0x262a, 0x2636, 0x2648, 0x2657, 0x266c, 0x2675, 0x268a, 0x268a, 0x26a5, 0x26c3, 0x26c3, 0x26d8, 0x26fd, 0x2716, 0x2716, 0x2728, 0x2728, 0x2740, 0x275f, 0x2777, 0x2789, - 0x279b, 0x27b3, 0x27f7, 0x280c, 0x2827, 0x2842, 0x284b, 0x2854, - 0x2854, 0x2854, 0x2854, 0x2854, 0x2863, 0x2863, 0x2875, 0x288a, - 0x28a5, 0x28b4, 0x28c0, 0x28de, 0x28e1, 0x28f6, 0x28f6, 0x2902, + 0x279b, 0x27b3, 0x27f7, 0x280c, 0x2827, 0x2842, 0x2861, 0x286a, + 0x286a, 0x286a, 0x286a, 0x286a, 0x2879, 0x2879, 0x288b, 0x28a0, + 0x28bb, 0x28ca, 0x28d6, 0x28f4, 0x28f7, 0x290c, 0x290c, 0x2918, // Entry 240 - 27F - 0x290b, 0x291a, 0x2932, 0x2944, 0x2944, 0x295c, 0x2971, 0x2998, - 0x2998, 0x29aa, 0x29fa, 0x2a06, 0x2a57, 0x2a63, 0x2aa1, 0x2aa1, - 0x2acc, 0x2af5, 0x2b2f, 0x2b60, 0x2b8e, 0x2bbc, 0x2bf7, 0x2c25, - 0x2c53, 0x2c53, 0x2c7e, 0x2ca0, 0x2cbc, 0x2cd1, 0x2d0b, 0x2d3f, - 0x2d5a, 0x2d85, 0x2dad, 0x2dd5, 0x2e00, + 0x2921, 0x2930, 0x2948, 0x295a, 0x295a, 0x2972, 0x2987, 0x29ae, + 0x29ae, 0x29c0, 0x2a10, 0x2a1c, 0x2a6d, 0x2a79, 0x2ab7, 0x2ab7, + 0x2ae2, 0x2b0b, 0x2b45, 0x2b76, 0x2ba4, 0x2bd2, 0x2c0d, 0x2c3b, + 0x2c69, 0x2c69, 0x2c94, 0x2cb6, 0x2cd2, 0x2ce7, 0x2d21, 0x2d55, + 0x2d70, 0x2d9b, 0x2dc3, 0x2deb, 0x2e16, } // Size: 1250 bytes -const heLangStr string = "" + // Size: 7096 bytes +const heLangStr string = "" + // Size: 7112 bytes "אפאריתאבחזיתאבסטןאפריקאנסאקאןאמהריתאראגוניתערביתאסאמיתאבאריתאיימאריתאזרי" + "תבשקיריתבלארוסיתבולגריתביסלמהבמבארהבנגליתטיבטיתברטוניתבוסניתקטלאניתצ׳צ׳" + "ניתצ׳מורוקורסיקניתקריצ׳כיתסלאבית כנסייתית עתיקהצ׳ובאשוולשיתדניתגרמניתדי" + @@ -18632,11 +18637,11 @@ const heLangStr string = "" + // Size: 7096 bytes "אדיתסידאמוסאמי דרומיתלולה סאמיאינארי סאמיסקולט סאמיסונינקהסוגדיאןסרנאן " + "טונגוסררסאהוסוקומהסוסושומריתסירית קלאסיתסוריתטימנהטסוטרנוטטוםטיגריתטיבט" + "וקלאוקלינגוןטלינגיטטמאשקניאסה טונגהטוק פיסיןטרוקוטסימשיאןטומבוקהטובאלוט" + - "סוואקטוביניתטמזייט של מרכז מרוקואודמורטאוגריתיתאומבונדורוטוואיווטיקוונג" + - "׳ווואלסרווליאטהווראיוואשווורלפיריסינית ווקלמיקיתסוגהיאויאפזיתיאנגבןימבה" + - "קנטונזיתזאפוטקבליסימבולסזנאגהתמזיע׳ת מרוקאית תקניתזוניללא תוכן לשוניזאז" + - "אערבית ספרותיתגרמנית (שוויץ)אנגלית (בריטניה)צרפתית (שוויץ)סקסונית תחתית" + - "פלמיתמולדביתסרבו-קרואטיתסווהילי קונגוסינית פשוטהסינית מסורתית" + "סוואקטוביניתטמזייט של מרכז מרוקואודמורטאוגריתיתאומבונדושפה לא ידועהוואי" + + "ווטיקוונג׳ווואלסרווליאטהווראיוואשווורלפיריסינית ווקלמיקיתסוגהיאויאפזיתי" + + "אנגבןימבהקנטונזיתזאפוטקבליסימבולסזנאגהתמזיע׳ת מרוקאית תקניתזוניללא תוכן" + + " לשוניזאזאערבית ספרותיתגרמנית (שוויץ)אנגלית (בריטניה)צרפתית (שוויץ)סקסונ" + + "ית תחתיתפלמיתמולדביתסרבו-קרואטיתסווהילי קונגוסינית פשוטהסינית מסורתית" var heLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -18717,18 +18722,18 @@ var heLangIdx = []uint16{ // 613 elements 0x185d, 0x185d, 0x185d, 0x1867, 0x186d, 0x1875, 0x187d, 0x1889, 0x188f, 0x189b, 0x189b, 0x18a9, 0x18b7, 0x18b7, 0x18c1, 0x18d6, 0x18e7, 0x18e7, 0x18f1, 0x18f1, 0x1901, 0x1901, 0x190f, 0x191b, - 0x1927, 0x1935, 0x195a, 0x1968, 0x1978, 0x1988, 0x198e, 0x1996, - 0x1996, 0x1996, 0x1996, 0x1996, 0x19a0, 0x19a0, 0x19ac, 0x19b8, - 0x19c6, 0x19d0, 0x19da, 0x19ea, 0x19f9, 0x1a07, 0x1a07, 0x1a0f, + 0x1927, 0x1935, 0x195a, 0x1968, 0x1978, 0x1988, 0x199e, 0x19a6, + 0x19a6, 0x19a6, 0x19a6, 0x19a6, 0x19b0, 0x19b0, 0x19bc, 0x19c8, + 0x19d6, 0x19e0, 0x19ea, 0x19fa, 0x1a09, 0x1a17, 0x1a17, 0x1a1f, // Entry 240 - 27F - 0x1a15, 0x1a21, 0x1a2d, 0x1a35, 0x1a35, 0x1a45, 0x1a51, 0x1a65, - 0x1a65, 0x1a6f, 0x1a97, 0x1a9f, 0x1ab9, 0x1ac1, 0x1ada, 0x1ada, - 0x1ada, 0x1af3, 0x1af3, 0x1af3, 0x1b10, 0x1b10, 0x1b10, 0x1b10, - 0x1b10, 0x1b10, 0x1b10, 0x1b29, 0x1b42, 0x1b4c, 0x1b4c, 0x1b4c, - 0x1b5a, 0x1b71, 0x1b8a, 0x1b9f, 0x1bb8, + 0x1a25, 0x1a31, 0x1a3d, 0x1a45, 0x1a45, 0x1a55, 0x1a61, 0x1a75, + 0x1a75, 0x1a7f, 0x1aa7, 0x1aaf, 0x1ac9, 0x1ad1, 0x1aea, 0x1aea, + 0x1aea, 0x1b03, 0x1b03, 0x1b03, 0x1b20, 0x1b20, 0x1b20, 0x1b20, + 0x1b20, 0x1b20, 0x1b20, 0x1b39, 0x1b52, 0x1b5c, 0x1b5c, 0x1b5c, + 0x1b6a, 0x1b81, 0x1b9a, 0x1baf, 0x1bc8, } // Size: 1250 bytes -const hiLangStr string = "" + // Size: 11573 bytes +const hiLangStr string = "" + // Size: 11595 bytes "अफ़ारअब्ख़ाज़ियनअवस्ताईअफ़्रीकीअकनअम्हेरीअर्गोनीअरबीअसमियाअवेरिकआयमाराअज" + "़रबैजानीबशख़िरबेलारूसीबुल्गारियाईबिस्लामाबाम्बाराबंगालीतिब्बतीब्रेटनबो" + "स्नियाईकातालानचेचनकमोरोकोर्सीकनक्रीचेकचर्च साल्विकचूवाशवेल्शडेनिशजर्मन" + @@ -18777,14 +18782,14 @@ const hiLangStr string = "" + // Size: 11573 bytes "नारी सामीस्कोल्ट सामीसोनिन्केसोग्डिएनस्रानान टॉन्गोसेरेरसाहोसुकुमासुसु" + "सुमेरियनकोमोरियनक्लासिकल सिरिएकसिरिएकटिम्नेटेसोतेरेनोतेतुमटाइग्रेतिवतो" + "केलाऊक्लिंगनत्लिंगिततामाशेकन्यासा टोन्गाटोक पिसिनतारोकोत्सिमीशियनतम्बू" + - "कातुवालुटासवाकतुवीनियनमध्य एटलस तमाज़ितउदमुर्तयुगैरिटिकउम्बुन्डुरूटवाई" + - "वॉटिकवुंजोवाल्सरवलामोवारैवाशोवॉल्पेरीकाल्मिकसोगायाओयापीसयांगबेनयेंबाकै" + - "ंटोनीज़ज़ेपोटेकब्लिसिम्बॉल्सज़ेनान्गामानक मोरक्कन तामाज़ाइटज़ूनीकोई भा" + - "षा सामग्री नहींज़ाज़ाआधुनिक मानक अरबीऑस्ट्रियाई जर्मनस्विस उच्च जर्मनऑ" + - "स्ट्रेलियाई अंग्रेज़ीकनाडाई अंग्रेज़ीब्रिटिश अंग्रेज़ीअमेरिकी अंग्रेज़" + - "ीलैटिन अमेरिकी स्पेनिशयूरोपीय स्पेनिशमैक्सिकन स्पेनिशकनाडाई फ़्रेंचस्व" + - "िस फ़्रेंचनिचली सैक्सनफ़्लेमिशब्राज़ीली पुर्तगालीयूरोपीय पुर्तगालीमोलड" + - "ावियनसेर्बो-क्रोएशियाईकांगो स्वाहिलीसरलीकृत चीनीपारंपरिक चीनी" + "कातुवालुटासवाकतुवीनियनमध्य एटलस तमाज़ितउदमुर्तयुगैरिटिकउम्बुन्डुअज्ञात" + + " भाषावाईवॉटिकवुंजोवाल्सरवलामोवारैवाशोवॉल्पेरीकाल्मिकसोगायाओयापीसयांगबेनय" + + "ेंबाकैंटोनीज़ज़ेपोटेकब्लिसिम्बॉल्सज़ेनान्गामानक मोरक्कन तामाज़ाइटज़ूनी" + + "कोई भाषा सामग्री नहींज़ाज़ाआधुनिक मानक अरबीऑस्ट्रियाई जर्मनस्विस उच्च " + + "जर्मनऑस्ट्रेलियाई अंग्रेज़ीकनाडाई अंग्रेज़ीब्रिटिश अंग्रेज़ीअमेरिकी अं" + + "ग्रेज़ीलैटिन अमेरिकी स्पेनिशयूरोपीय स्पेनिशमैक्सिकन स्पेनिशकनाडाई फ़्र" + + "ेंचस्विस फ़्रेंचनिचली सैक्सनफ़्लेमिशब्राज़ीली पुर्तगालीयूरोपीय पुर्तगा" + + "लीमोलडावियनसेर्बो-क्रोएशियाईकांगो स्वाहिलीसरलीकृत चीनीपारंपरिक चीनी" var hiLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -18865,18 +18870,18 @@ var hiLangIdx = []uint16{ // 613 elements 0x25c9, 0x25c9, 0x25c9, 0x25db, 0x25e7, 0x25f9, 0x2608, 0x261d, 0x2626, 0x263b, 0x263b, 0x2650, 0x2668, 0x2668, 0x267d, 0x26a2, 0x26bb, 0x26bb, 0x26cd, 0x26cd, 0x26eb, 0x26eb, 0x2700, 0x2712, - 0x2724, 0x273c, 0x276b, 0x2780, 0x279b, 0x27b6, 0x27bf, 0x27c8, - 0x27c8, 0x27c8, 0x27c8, 0x27c8, 0x27d7, 0x27d7, 0x27e6, 0x27f8, - 0x2807, 0x2813, 0x281f, 0x2837, 0x2837, 0x284c, 0x284c, 0x2858, + 0x2724, 0x273c, 0x276b, 0x2780, 0x279b, 0x27b6, 0x27d5, 0x27de, + 0x27de, 0x27de, 0x27de, 0x27de, 0x27ed, 0x27ed, 0x27fc, 0x280e, + 0x281d, 0x2829, 0x2835, 0x284d, 0x284d, 0x2862, 0x2862, 0x286e, // Entry 240 - 27F - 0x2861, 0x2870, 0x2885, 0x2894, 0x2894, 0x28af, 0x28c7, 0x28ee, - 0x28ee, 0x2909, 0x2947, 0x2956, 0x298f, 0x29a1, 0x29cd, 0x29cd, - 0x29fb, 0x2a27, 0x2a67, 0x2a95, 0x2ac6, 0x2af7, 0x2b32, 0x2b5d, - 0x2b8b, 0x2b8b, 0x2bb3, 0x2bd8, 0x2bfa, 0x2c12, 0x2c49, 0x2c7a, - 0x2c95, 0x2cc6, 0x2cee, 0x2d10, 0x2d35, + 0x2877, 0x2886, 0x289b, 0x28aa, 0x28aa, 0x28c5, 0x28dd, 0x2904, + 0x2904, 0x291f, 0x295d, 0x296c, 0x29a5, 0x29b7, 0x29e3, 0x29e3, + 0x2a11, 0x2a3d, 0x2a7d, 0x2aab, 0x2adc, 0x2b0d, 0x2b48, 0x2b73, + 0x2ba1, 0x2ba1, 0x2bc9, 0x2bee, 0x2c10, 0x2c28, 0x2c5f, 0x2c90, + 0x2cab, 0x2cdc, 0x2d04, 0x2d26, 0x2d4b, } // Size: 1250 bytes -const hrLangStr string = "" + // Size: 4630 bytes +const hrLangStr string = "" + // Size: 4635 bytes "afarskiabhaskiavestičkiafrikaansakanskiamharskiaragonskiarapskiasamskiav" + "arskiajmarskiazerbajdžanskibaškirskibjeloruskibugarskibislamabambarabang" + "latibetskibretonskibosanskikatalonskičečenskichamorrokorzičkicreečeškicr" + @@ -18931,15 +18936,15 @@ const hrLangStr string = "" + // Size: 4630 bytes "kumasususumerskikomorskiklasični sirskisirijskitemnetesoterenotetumtigri" + "škitivtokelaunskiklingonskitlingittamašečkinyasa tongatok pisintarokots" + "imshiantumbukatuvaluanskitasawaqtuvinskitamašek (Srednji Atlas)udmurtski" + - "ugaritskiumbundukorijenskivaivotskivunjowalserskiwalamowaraywashowarlpir" + - "iwu kineskikalmyksogayaojapskiyangbenyembakantonskizapotečkiBlissovi sim" + - "bolizenagastandardni marokanski tamašekzunibez jezičnog sadržajazazakimo" + - "derni standardni arapskijužnoazerbajdžanskiaustrijski njemačkigornjonjem" + - "ački (švicarski)australski engleskikanadski engleskibritanski engleskiam" + - "erički engleskilatinoamerički španjolskieuropski španjolskimeksički špan" + - "jolskikanadski francuskišvicarski francuskidonjosaksonskiflamanskibrazil" + - "ski portugalskieuropski portugalskimoldavskisrpsko-hrvatskikongoanski sv" + - "ahilikineski (pojednostavljeni)kineski (tradicionalni)" + "ugaritskiumbundunepoznati jezikvaivotskivunjowalserskiwalamowaraywashowa" + + "rlpiriwu kineskikalmyksogayaojapskiyangbenyembakantonskizapotečkiBlissov" + + "i simbolizenagastandardni marokanski tamašekzunibez jezičnog sadržajazaz" + + "akimoderni standardni arapskijužnoazerbajdžanskiaustrijski njemačkigornj" + + "onjemački (švicarski)australski engleskikanadski engleskibritanski engle" + + "skiamerički engleskilatinoamerički španjolskieuropski španjolskimeksički" + + " španjolskikanadski francuskišvicarski francuskidonjosaksonskiflamanskib" + + "razilski portugalskieuropski portugalskimoldavskisrpsko-hrvatskikongoans" + + "ki svahilikineski (pojednostavljeni)kineski (tradicionalni)" var hrLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -19020,18 +19025,18 @@ var hrLangIdx = []uint16{ // 613 elements 0x0ee4, 0x0ee4, 0x0ee4, 0x0ee9, 0x0eed, 0x0ef3, 0x0ef8, 0x0f01, 0x0f04, 0x0f0f, 0x0f0f, 0x0f19, 0x0f20, 0x0f20, 0x0f2b, 0x0f36, 0x0f3f, 0x0f3f, 0x0f45, 0x0f45, 0x0f4e, 0x0f4e, 0x0f55, 0x0f60, - 0x0f67, 0x0f6f, 0x0f87, 0x0f90, 0x0f99, 0x0fa0, 0x0faa, 0x0fad, - 0x0fad, 0x0fad, 0x0fad, 0x0fad, 0x0fb3, 0x0fb3, 0x0fb8, 0x0fc1, - 0x0fc7, 0x0fcc, 0x0fd1, 0x0fd9, 0x0fe3, 0x0fe9, 0x0fe9, 0x0fed, + 0x0f67, 0x0f6f, 0x0f87, 0x0f90, 0x0f99, 0x0fa0, 0x0faf, 0x0fb2, + 0x0fb2, 0x0fb2, 0x0fb2, 0x0fb2, 0x0fb8, 0x0fb8, 0x0fbd, 0x0fc6, + 0x0fcc, 0x0fd1, 0x0fd6, 0x0fde, 0x0fe8, 0x0fee, 0x0fee, 0x0ff2, // Entry 240 - 27F - 0x0ff0, 0x0ff6, 0x0ffd, 0x1002, 0x1002, 0x100b, 0x1015, 0x1025, - 0x1025, 0x102b, 0x1049, 0x104d, 0x1064, 0x106a, 0x1084, 0x1099, - 0x10ad, 0x10c9, 0x10dc, 0x10ed, 0x10ff, 0x1111, 0x112c, 0x1140, - 0x1155, 0x1155, 0x1167, 0x117b, 0x1189, 0x1192, 0x11a7, 0x11bb, - 0x11c4, 0x11d3, 0x11e5, 0x11ff, 0x1216, + 0x0ff5, 0x0ffb, 0x1002, 0x1007, 0x1007, 0x1010, 0x101a, 0x102a, + 0x102a, 0x1030, 0x104e, 0x1052, 0x1069, 0x106f, 0x1089, 0x109e, + 0x10b2, 0x10ce, 0x10e1, 0x10f2, 0x1104, 0x1116, 0x1131, 0x1145, + 0x115a, 0x115a, 0x116c, 0x1180, 0x118e, 0x1197, 0x11ac, 0x11c0, + 0x11c9, 0x11d8, 0x11ea, 0x1204, 0x121b, } // Size: 1250 bytes -const huLangStr string = "" + // Size: 4071 bytes +const huLangStr string = "" + // Size: 4083 bytes "afarabházavesztánafrikaansakanamharaaragonézarabasszámiavarajmaraazerbaj" + "dzsánibaskírbelaruszbolgárbislamabambarabanglatibetibretonbosnyákkatalán" + "csecsencsamorókorzikaikrícsehegyházi szlávcsuvaswalesidánnémetdivehidzso" + @@ -19078,14 +19083,14 @@ const huLangStr string = "" + // Size: 4071 bytes "zámiszoninkesogdienszranai tongószererszahószukumaszuszusumércomoreiklas" + "szikus szírszírtemneteszóterenótetumtigrétivtokelauiklingontlingittamase" + "knyugati nyaszatok pisintarokócsimsiánitumbukatuvaluszaváktuvaiközép-atl" + - "aszi tamazigtudmurtugaritiumbunduősivaivotjákvunjowalservalamovaraóvasów" + - "arlpiriwu kínaikalmükszogajaójapijangbenjembakantonizapotékBliss jelképr" + - "endszerzenagamarokkói tamazightzuninincs nyelvészeti tartalomzazamodern " + - "szabányos arabosztrák németsvájci felnémetausztrál angolkanadai angolbri" + - "t angolamerikai angollatin-amerikai spanyoleurópai spanyolspanyol (mexik" + - "ói)kanadai franciasvájci franciaalsószászflamandbrazíliai portugáleuróp" + - "ai portugálmoldvaiszerbhorvátkongói szuahéliegyszerűsített kínaihagyomán" + - "yos kínai" + "aszi tamazigtudmurtugaritiumbunduismeretlen nyelvvaivotjákvunjowalserval" + + "amovaraóvasówarlpiriwu kínaikalmükszogajaójapijangbenjembakantonizapoték" + + "Bliss jelképrendszerzenagamarokkói tamazightzuninincs nyelvészeti tartal" + + "omzazamodern szabányos arabosztrák németsvájci felnémetausztrál angolkan" + + "adai angolbrit angolamerikai angollatin-amerikai spanyoleurópai spanyols" + + "panyol (mexikói)kanadai franciasvájci franciaalsószászflamandbrazíliai p" + + "ortugáleurópai portugálmoldvaiszerbhorvátkongói szuahéliegyszerűsített k" + + "ínaihagyományos kínai" var huLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -19166,18 +19171,18 @@ var huLangIdx = []uint16{ // 613 elements 0x0d3c, 0x0d3c, 0x0d3c, 0x0d41, 0x0d47, 0x0d4e, 0x0d53, 0x0d59, 0x0d5c, 0x0d64, 0x0d64, 0x0d6b, 0x0d72, 0x0d72, 0x0d79, 0x0d87, 0x0d90, 0x0d90, 0x0d97, 0x0d97, 0x0da1, 0x0da1, 0x0da8, 0x0dae, - 0x0db5, 0x0dba, 0x0dd2, 0x0dd8, 0x0ddf, 0x0de6, 0x0dea, 0x0ded, - 0x0ded, 0x0ded, 0x0ded, 0x0ded, 0x0df4, 0x0df4, 0x0df9, 0x0dff, - 0x0e05, 0x0e0b, 0x0e10, 0x0e18, 0x0e21, 0x0e28, 0x0e28, 0x0e2d, + 0x0db5, 0x0dba, 0x0dd2, 0x0dd8, 0x0ddf, 0x0de6, 0x0df6, 0x0df9, + 0x0df9, 0x0df9, 0x0df9, 0x0df9, 0x0e00, 0x0e00, 0x0e05, 0x0e0b, + 0x0e11, 0x0e17, 0x0e1c, 0x0e24, 0x0e2d, 0x0e34, 0x0e34, 0x0e39, // Entry 240 - 27F - 0x0e31, 0x0e35, 0x0e3c, 0x0e41, 0x0e41, 0x0e48, 0x0e50, 0x0e65, - 0x0e65, 0x0e6b, 0x0e7e, 0x0e82, 0x0e9d, 0x0ea1, 0x0eb7, 0x0eb7, - 0x0ec6, 0x0ed7, 0x0ee6, 0x0ef3, 0x0efd, 0x0f0b, 0x0f21, 0x0f31, - 0x0f43, 0x0f43, 0x0f52, 0x0f61, 0x0f6c, 0x0f73, 0x0f87, 0x0f99, - 0x0fa0, 0x0fac, 0x0fbd, 0x0fd4, 0x0fe7, + 0x0e3d, 0x0e41, 0x0e48, 0x0e4d, 0x0e4d, 0x0e54, 0x0e5c, 0x0e71, + 0x0e71, 0x0e77, 0x0e8a, 0x0e8e, 0x0ea9, 0x0ead, 0x0ec3, 0x0ec3, + 0x0ed2, 0x0ee3, 0x0ef2, 0x0eff, 0x0f09, 0x0f17, 0x0f2d, 0x0f3d, + 0x0f4f, 0x0f4f, 0x0f5e, 0x0f6d, 0x0f78, 0x0f7f, 0x0f93, 0x0fa5, + 0x0fac, 0x0fb8, 0x0fc9, 0x0fe0, 0x0ff3, } // Size: 1250 bytes -const hyLangStr string = "" + // Size: 8542 bytes +const hyLangStr string = "" + // Size: 8549 bytes "աֆարերենաբխազերենաֆրիկաանսաքանամհարերենարագոներենարաբերենասամերենավարերե" + "նայմարաադրբեջաներենբաշկիրերենբելառուսերենբուլղարերենբիսլամաբամբարաբենգա" + "լերենտիբեթերենբրետոներենբոսնիերենկատալաներենչեչեներենչամոռոկորսիկերենչե" + @@ -19229,16 +19234,16 @@ const hyLangStr string = "" + // Size: 8542 bytes "ոերենսուկումակոմորերենասորերենտուլուտեմնետեսոտերենոտետումտիգրետիվերենտո" + "կելաուցախուրկլինգոնտլինգիտթալիշերենտամաշեկտոկ փիսինտուրոյոտարոկոցակոներ" + "ենցիմշյանտումբուկաթուվալուերենտասավաքտուվերենկենտրոնատլասյան թամազիղտու" + - "դմուրտերենուգարիտերենումբունդուռուտերենվաիվենետերենվեպսերենարևմտաֆլաման" + - "դերենվոդերենվորովունջովալսերենվոլայտավարայերենվաշովարլպիրիվու չինարենկա" + - "լմիկերենսոգայաոյափերենյանգբենեմբականտոներենսապոտեկերենզեյլանդերենզենագա" + - "ընդհանուր մարոկյան թամազիղտզունիերենառանց լեզվային բովանդակությանզազաեր" + - "ենարդի ընդհանուր արաբերենավստրիական գերմաներենշվեյցարական վերին գերմանե" + - "րենավստրալիական անգլերենկանադական անգլերենբրիտանական անգլերենամերիկյան " + - "անգլերենլատինամերիկյան իսպաներենեվրոպական իսպաներենմեքսիկական իսպաներեն" + - "կանադական ֆրանսերենշվեյցարական ֆրանսերենստորին սաքսոներենֆլամանդերենբրա" + - "զիլական պորտուգալերենեվրոպական պորտուգալերենմոլդովերենսերբա-խորվաթերենկ" + - "ոնգոյի սուահիլիպարզեցված չինարենավանդական չինարեն" + "դմուրտերենուգարիտերենումբունդուանհայտ լեզուվաիվենետերենվեպսերենարևմտաֆլ" + + "ամանդերենվոդերենվորովունջովալսերենվոլայտավարայերենվաշովարլպիրիվու չինար" + + "ենկալմիկերենսոգայաոյափերենյանգբենեմբականտոներենսապոտեկերենզեյլանդերենզե" + + "նագաընդհանուր մարոկյան թամազիղտզունիերենառանց լեզվային բովանդակությանզա" + + "զաերենարդի ընդհանուր արաբերենավստրիական գերմաներենշվեյցարական վերին գեր" + + "մաներենավստրալիական անգլերենկանադական անգլերենբրիտանական անգլերենամերիկ" + + "յան անգլերենլատինամերիկյան իսպաներենեվրոպական իսպաներենմեքսիկական իսպան" + + "երենկանադական ֆրանսերենշվեյցարական ֆրանսերենստորին սաքսոներենֆլամանդերե" + + "նբրազիլական պորտուգալերենեվրոպական պորտուգալերենմոլդովերենսերբա-խորվաթե" + + "րենկոնգոյի սուահիլիպարզեցված չինարենավանդական չինարեն" var hyLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -19319,18 +19324,18 @@ var hyLangIdx = []uint16{ // 613 elements 0x1aac, 0x1aac, 0x1ab8, 0x1ac2, 0x1aca, 0x1ad6, 0x1ae2, 0x1aec, 0x1afa, 0x1b0a, 0x1b16, 0x1b24, 0x1b32, 0x1b44, 0x1b52, 0x1b52, 0x1b63, 0x1b71, 0x1b7d, 0x1b8f, 0x1b9d, 0x1b9d, 0x1baf, 0x1bc7, - 0x1bd5, 0x1be5, 0x1c14, 0x1c2c, 0x1c42, 0x1c56, 0x1c66, 0x1c6c, - 0x1c7e, 0x1c8e, 0x1cb0, 0x1cb0, 0x1cbe, 0x1cc6, 0x1cd2, 0x1ce2, - 0x1cf0, 0x1d02, 0x1d0a, 0x1d1a, 0x1d2f, 0x1d43, 0x1d43, 0x1d4b, + 0x1bd5, 0x1be5, 0x1c14, 0x1c2c, 0x1c42, 0x1c56, 0x1c6d, 0x1c73, + 0x1c85, 0x1c95, 0x1cb7, 0x1cb7, 0x1cc5, 0x1ccd, 0x1cd9, 0x1ce9, + 0x1cf7, 0x1d09, 0x1d11, 0x1d21, 0x1d36, 0x1d4a, 0x1d4a, 0x1d52, // Entry 240 - 27F - 0x1d51, 0x1d5f, 0x1d6d, 0x1d75, 0x1d75, 0x1d89, 0x1d9f, 0x1d9f, - 0x1db5, 0x1dc1, 0x1df5, 0x1e07, 0x1e3f, 0x1e4f, 0x1e7b, 0x1e7b, - 0x1ea4, 0x1eda, 0x1f03, 0x1f26, 0x1f4b, 0x1f6e, 0x1f9d, 0x1fc2, - 0x1fe9, 0x1fe9, 0x200e, 0x2037, 0x2058, 0x206e, 0x209d, 0x20ca, - 0x20de, 0x20fd, 0x211c, 0x213d, 0x215e, + 0x1d58, 0x1d66, 0x1d74, 0x1d7c, 0x1d7c, 0x1d90, 0x1da6, 0x1da6, + 0x1dbc, 0x1dc8, 0x1dfc, 0x1e0e, 0x1e46, 0x1e56, 0x1e82, 0x1e82, + 0x1eab, 0x1ee1, 0x1f0a, 0x1f2d, 0x1f52, 0x1f75, 0x1fa4, 0x1fc9, + 0x1ff0, 0x1ff0, 0x2015, 0x203e, 0x205f, 0x2075, 0x20a4, 0x20d1, + 0x20e5, 0x2104, 0x2123, 0x2144, 0x2165, } // Size: 1250 bytes -const idLangStr string = "" + // Size: 3994 bytes +const idLangStr string = "" + // Size: 4010 bytes "AfarAbkhazAvestaAfrikaansAkanAmharikAragonArabAssamAvarAymaraAzerbaijani" + "BashkirBelarusiaBulgariaBislamaBambaraBengaliTibetBretonBosniaKatalanChe" + "chenChamorroKorsikaKreeCheskaBahasa Gereja SlavoniaChuvashWelshDanskJerm" + @@ -19381,12 +19386,12 @@ const idLangStr string = "" + // Size: 3994 bytes "ranan TongoSererSahoSukumaSusuSumeriaKomoriaSuriah KlasikSuriahSilesiaTu" + "luTimneTesoTerenoTetunTigreTivTokelauKlingonTlingitTamashekNyasa TongaTo" + "k PisinTuroyoTarokoTsimshiaTat MuslimTumbukaTuvaluTasawaqTuviniaTamazigh" + - "t Maroko TengahUdmurtUgaritUmbunduRootVaiVenesiaVotiaVunjoWalserWalamoWa" + - "raiWashoWarlpiriKalmukSogaYaoYapoisYangbenYembaKantonZapotekBlissymbolZe" + - "nagaTamazight Maroko StandarZuniTidak ada konten linguistikZazaArab Stan" + - "dar ModernJerman Tinggi (Swiss)Inggris (Inggris)Spanyol (Eropa)Portugis " + - "(Eropa)MoldaviaSerbo-KroasiaKongo SwahiliTionghoa (Aksara Sederhana)Tion" + - "ghoa (Aksara Tradisional)" + "t Maroko TengahUdmurtUgaritUmbunduBahasa Tidak DikenalVaiVenesiaVotiaVun" + + "joWalserWalamoWaraiWashoWarlpiriKalmukSogaYaoYapoisYangbenYembaKantonZap" + + "otekBlissymbolZenagaTamazight Maroko StandarZuniTidak ada konten linguis" + + "tikZazaArab Standar ModernJerman Tinggi (Swiss)Inggris (Inggris)Spanyol " + + "(Eropa)Portugis (Eropa)MoldaviaSerbo-KroasiaKongo SwahiliTionghoa (Aksar" + + "a Sederhana)Tionghoa (Aksara Tradisional)" var idLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -19467,18 +19472,18 @@ var idLangIdx = []uint16{ // 613 elements 0x0d80, 0x0d87, 0x0d8b, 0x0d90, 0x0d94, 0x0d9a, 0x0d9f, 0x0da4, 0x0da7, 0x0dae, 0x0dae, 0x0db5, 0x0dbc, 0x0dbc, 0x0dc4, 0x0dcf, 0x0dd8, 0x0dde, 0x0de4, 0x0de4, 0x0dec, 0x0df6, 0x0dfd, 0x0e03, - 0x0e0a, 0x0e11, 0x0e28, 0x0e2e, 0x0e34, 0x0e3b, 0x0e3f, 0x0e42, - 0x0e49, 0x0e49, 0x0e49, 0x0e49, 0x0e4e, 0x0e4e, 0x0e53, 0x0e59, - 0x0e5f, 0x0e64, 0x0e69, 0x0e71, 0x0e71, 0x0e77, 0x0e77, 0x0e7b, + 0x0e0a, 0x0e11, 0x0e28, 0x0e2e, 0x0e34, 0x0e3b, 0x0e4f, 0x0e52, + 0x0e59, 0x0e59, 0x0e59, 0x0e59, 0x0e5e, 0x0e5e, 0x0e63, 0x0e69, + 0x0e6f, 0x0e74, 0x0e79, 0x0e81, 0x0e81, 0x0e87, 0x0e87, 0x0e8b, // Entry 240 - 27F - 0x0e7e, 0x0e84, 0x0e8b, 0x0e90, 0x0e90, 0x0e96, 0x0e9d, 0x0ea7, - 0x0ea7, 0x0ead, 0x0ec5, 0x0ec9, 0x0ee4, 0x0ee8, 0x0efb, 0x0efb, - 0x0efb, 0x0f10, 0x0f10, 0x0f10, 0x0f21, 0x0f21, 0x0f21, 0x0f30, - 0x0f30, 0x0f30, 0x0f30, 0x0f30, 0x0f30, 0x0f30, 0x0f30, 0x0f40, - 0x0f48, 0x0f55, 0x0f62, 0x0f7d, 0x0f9a, + 0x0e8e, 0x0e94, 0x0e9b, 0x0ea0, 0x0ea0, 0x0ea6, 0x0ead, 0x0eb7, + 0x0eb7, 0x0ebd, 0x0ed5, 0x0ed9, 0x0ef4, 0x0ef8, 0x0f0b, 0x0f0b, + 0x0f0b, 0x0f20, 0x0f20, 0x0f20, 0x0f31, 0x0f31, 0x0f31, 0x0f40, + 0x0f40, 0x0f40, 0x0f40, 0x0f40, 0x0f40, 0x0f40, 0x0f40, 0x0f50, + 0x0f58, 0x0f65, 0x0f72, 0x0f8d, 0x0faa, } // Size: 1250 bytes -const isLangStr string = "" + // Size: 4605 bytes +const isLangStr string = "" + // Size: 4619 bytes "afárabkasískaavestískaafríkanskaakanamharískaaragonskaarabískaassamskaav" + "arískaaímaraaserskabaskírhvítrússneskabúlgarskabíslamabambarabengalskatí" + "beskabretónskabosnískakatalónskatsjetsjenskakamorrókorsískakrítékkneskak" + @@ -19528,14 +19533,14 @@ const isLangStr string = "" + // Size: 4605 bytes "esamískasóninkesogdíensranan tongoserersahosúkúmasúsúsúmerskashimaoríska" + "klassísk sýrlenskasýrlenskatímnetesóterenótetúmtígretívtókeláskaklingons" + "katlingittamasjektongverska (nyasa)tokpisintarókótsimsískatúmbúkatúvalús" + - "katasawaqtúvínskatamazightúdmúrtúgarítískaúmbúndúrótvaívotískavunjóvalse" + - "rvalamóvaraívasjóvarlpirikalmúkskasógajaójapískayangbenyembakantoneskasa" + - "pótekblisstáknsenagastaðlað marokkóskt tamazightsúníekkert tungumálaefni" + - "zázáískastöðluð nútímaarabískaausturrísk þýskasvissnesk háþýskaáströlsk " + - "enskakanadísk enskabresk enskabandarísk enskarómönsk-amerísk spænskaevró" + - "psk spænskamexíkósk spænskakanadísk franskasvissnesk franskalágsaxneskaf" + - "læmskabrasílísk portúgalskaevrópsk portúgalskamoldóvskaserbókróatískaKon" + - "gó-svahílíkínverska (einfölduð)kínverska (hefðbundin)" + "katasawaqtúvínskatamazightúdmúrtúgarítískaúmbúndúóþekkt tungumálvaívotís" + + "kavunjóvalservalamóvaraívasjóvarlpirikalmúkskasógajaójapískayangbenyemba" + + "kantoneskasapótekblisstáknsenagastaðlað marokkóskt tamazightsúníekkert t" + + "ungumálaefnizázáískastöðluð nútímaarabískaausturrísk þýskasvissnesk háþý" + + "skaáströlsk enskakanadísk enskabresk enskabandarísk enskarómönsk-amerísk" + + " spænskaevrópsk spænskamexíkósk spænskakanadísk franskasvissnesk franska" + + "lágsaxneskaflæmskabrasílísk portúgalskaevrópsk portúgalskamoldóvskaserbó" + + "króatískaKongó-svahílíkínverska (einfölduð)kínverska (hefðbundin)" var isLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -19616,18 +19621,18 @@ var isLangIdx = []uint16{ // 613 elements 0x0eff, 0x0eff, 0x0eff, 0x0f05, 0x0f0a, 0x0f11, 0x0f17, 0x0f1d, 0x0f21, 0x0f2c, 0x0f2c, 0x0f36, 0x0f3d, 0x0f3d, 0x0f45, 0x0f57, 0x0f5f, 0x0f5f, 0x0f67, 0x0f67, 0x0f71, 0x0f71, 0x0f7a, 0x0f85, - 0x0f8c, 0x0f96, 0x0f9f, 0x0fa7, 0x0fb4, 0x0fbe, 0x0fc2, 0x0fc6, - 0x0fc6, 0x0fc6, 0x0fc6, 0x0fc6, 0x0fce, 0x0fce, 0x0fd4, 0x0fda, - 0x0fe1, 0x0fe7, 0x0fed, 0x0ff5, 0x0ff5, 0x0fff, 0x0fff, 0x1004, + 0x0f8c, 0x0f96, 0x0f9f, 0x0fa7, 0x0fb4, 0x0fbe, 0x0fd0, 0x0fd4, + 0x0fd4, 0x0fd4, 0x0fd4, 0x0fd4, 0x0fdc, 0x0fdc, 0x0fe2, 0x0fe8, + 0x0fef, 0x0ff5, 0x0ffb, 0x1003, 0x1003, 0x100d, 0x100d, 0x1012, // Entry 240 - 27F - 0x1008, 0x1010, 0x1017, 0x101c, 0x101c, 0x1026, 0x102e, 0x1038, - 0x1038, 0x103e, 0x105d, 0x1063, 0x1078, 0x1083, 0x109f, 0x109f, - 0x10b2, 0x10c6, 0x10d6, 0x10e5, 0x10f0, 0x1100, 0x111b, 0x112c, - 0x113f, 0x113f, 0x1150, 0x1161, 0x116d, 0x1175, 0x118d, 0x11a2, - 0x11ac, 0x11bd, 0x11cd, 0x11e5, 0x11fd, + 0x1016, 0x101e, 0x1025, 0x102a, 0x102a, 0x1034, 0x103c, 0x1046, + 0x1046, 0x104c, 0x106b, 0x1071, 0x1086, 0x1091, 0x10ad, 0x10ad, + 0x10c0, 0x10d4, 0x10e4, 0x10f3, 0x10fe, 0x110e, 0x1129, 0x113a, + 0x114d, 0x114d, 0x115e, 0x116f, 0x117b, 0x1183, 0x119b, 0x11b0, + 0x11ba, 0x11cb, 0x11db, 0x11f3, 0x120b, } // Size: 1250 bytes -const itLangStr string = "" + // Size: 5026 bytes +const itLangStr string = "" + // Size: 5040 bytes "afarabcasoavestanafrikaansakanamaricoaragonesearaboassameseavaroaymaraaz" + "erbaigianobaschirobielorussobulgarobislamabambarabengalesetibetanobreton" + "ebosniacocatalanocecenochamorrocorsocreececoslavo della Chiesaciuvasciog" + @@ -19689,15 +19694,15 @@ const itLangStr string = "" + // Size: 5026 bytes "lassicosiriacoslesianotulutemnetesoterenotetumtigretivtokelautsakhurklin" + "gontlingittalisciotamasheknyasa del Tongatok pisinturoyotarokozaconicots" + "imshiantat islamicotumbukatuvalutasawaqtuviniantamazightudmurtugariticom" + - "bundurootvaivenetovepsofiammingo occidentalevotovõrovunjowalserwalamowar" + - "aywashowarlpiriwukalmykmengreliosogayao (bantu)yapeseyangbenyembanheenga" + - "tucantonesezapotecblissymbolzelandesezenagatamazight del Marocco standar" + - "dzuninessun contenuto linguisticozazaarabo moderno standardtedesco austr" + - "iacoalto tedesco svizzeroinglese australianoinglese canadeseinglese brit" + - "annicoinglese americanospagnolo latinoamericanospagnolo europeospagnolo " + - "messicanofrancese canadesefrancese svizzerobasso tedesco olandesefiammin" + - "goportoghese brasilianoportoghese europeomoldavoserbo-croatoswahili del " + - "Congocinese semplificatocinese tradizionale" + "bundulingua imprecisatavaivenetovepsofiammingo occidentalevotovõrovunjow" + + "alserwalamowaraywashowarlpiriwukalmykmengreliosogayao (bantu)yapeseyangb" + + "enyembanheengatucantonesezapotecblissymbolzelandesezenagatamazight del M" + + "arocco standardzuninessun contenuto linguisticozazaarabo moderno standar" + + "dtedesco austriacoalto tedesco svizzeroinglese australianoinglese canade" + + "seinglese britannicoinglese americanospagnolo latinoamericanospagnolo eu" + + "ropeospagnolo messicanofrancese canadesefrancese svizzerobasso tedesco o" + + "landesefiammingoportoghese brasilianoportoghese europeomoldavoserbo-croa" + + "toswahili del Congocinese semplificatocinese tradizionale" var itLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -19778,18 +19783,18 @@ var itLangIdx = []uint16{ // 613 elements 0x106c, 0x1074, 0x1078, 0x107d, 0x1081, 0x1087, 0x108c, 0x1091, 0x1094, 0x109b, 0x10a2, 0x10a9, 0x10b0, 0x10b8, 0x10c0, 0x10cf, 0x10d8, 0x10de, 0x10e4, 0x10ec, 0x10f5, 0x1101, 0x1108, 0x110e, - 0x1115, 0x111d, 0x1126, 0x112c, 0x1135, 0x113b, 0x113f, 0x1142, - 0x1148, 0x114d, 0x1162, 0x1162, 0x1166, 0x116b, 0x1170, 0x1176, - 0x117c, 0x1181, 0x1186, 0x118e, 0x1190, 0x1196, 0x119f, 0x11a3, + 0x1115, 0x111d, 0x1126, 0x112c, 0x1135, 0x113b, 0x114d, 0x1150, + 0x1156, 0x115b, 0x1170, 0x1170, 0x1174, 0x1179, 0x117e, 0x1184, + 0x118a, 0x118f, 0x1194, 0x119c, 0x119e, 0x11a4, 0x11ad, 0x11b1, // Entry 240 - 27F - 0x11ae, 0x11b4, 0x11bb, 0x11c0, 0x11c9, 0x11d2, 0x11d9, 0x11e3, - 0x11ec, 0x11f2, 0x1210, 0x1214, 0x1230, 0x1234, 0x124a, 0x124a, - 0x125b, 0x1270, 0x1283, 0x1293, 0x12a5, 0x12b6, 0x12ce, 0x12de, - 0x12f0, 0x12f0, 0x1301, 0x1312, 0x1328, 0x1331, 0x1346, 0x1358, - 0x135f, 0x136b, 0x137c, 0x138f, 0x13a2, + 0x11bc, 0x11c2, 0x11c9, 0x11ce, 0x11d7, 0x11e0, 0x11e7, 0x11f1, + 0x11fa, 0x1200, 0x121e, 0x1222, 0x123e, 0x1242, 0x1258, 0x1258, + 0x1269, 0x127e, 0x1291, 0x12a1, 0x12b3, 0x12c4, 0x12dc, 0x12ec, + 0x12fe, 0x12fe, 0x130f, 0x1320, 0x1336, 0x133f, 0x1354, 0x1366, + 0x136d, 0x1379, 0x138a, 0x139d, 0x13b0, } // Size: 1250 bytes -const jaLangStr string = "" + // Size: 10070 bytes +const jaLangStr string = "" + // Size: 10073 bytes "アファル語アブハズ語アヴェスタ語アフリカーンス語アカン語アムハラ語アラゴン語アラビア語アッサム語アヴァル語アイマラ語アゼルバイジャン語バシキール" + "語ベラルーシ語ブルガリア語ビスラマ語バンバラ語ベンガル語チベット語ブルトン語ボスニア語カタロニア語チェチェン語チャモロ語コルシカ語クリー語チ" + "ェコ語教会スラブ語チュヴァシ語ウェールズ語デンマーク語ドイツ語ディベヒ語ゾンカ語エウェ語ギリシャ語英語エスペラント語スペイン語エストニア語バ" + @@ -19834,11 +19839,11 @@ const jaLangStr string = "" + // Size: 10070 bytes "ンケ語ソグド語スリナム語セレル語サホ語ザーターフリジア語スクマ語スス語シュメール語コモロ語古典シリア語シリア語シレジア語トゥル語テムネ語テソ" + "語テレーノ語テトゥン語ティグレ語ティブ語トケラウ語ツァフル語クリンゴン語トリンギット語タリシュ語タマシェク語トンガ語(ニアサ)トク・ピシン語" + "トゥロヨ語タロコ語ツァコン語チムシュ語ムスリム・タタール語トゥンブカ語ツバル語タサワク語トゥヴァ語中央アトラス・タマジクト語ウドムルト語ウガ" + - "リト語ムブンドゥ語ルートヴァイ語ヴェネト語ヴェプス語西フラマン語マインフランク語ヴォート語ヴォロ語ヴンジョ語ヴァリス語ウォライタ語ワライ語ワ" + - "ショ語ワルピリ語呉語カルムイク語メグレル語ソガ語ヤオ語ヤップ語ヤンベン語イエンバ語ニェエンガトゥ語広東語サポテカ語ブリスシンボルゼーラント語" + - "ゼナガ語標準モロッコ タマジクト語ズニ語言語的内容なしザザ語現代標準アラビア語標準ドイツ語 (スイス)オーストラリア英語カナダ英語イギリス英" + - "語アメリカ英語スペイン語 (イベリア半島)フレミッシュ語ポルトガル語 (イベリア半島)モルダビア語セルボ・クロアチア語コンゴ・スワヒリ語簡体" + - "中国語繁体中国語" + "リト語ムブンドゥ語言語不明ヴァイ語ヴェネト語ヴェプス語西フラマン語マインフランク語ヴォート語ヴォロ語ヴンジョ語ヴァリス語ウォライタ語ワライ語" + + "ワショ語ワルピリ語呉語カルムイク語メグレル語ソガ語ヤオ語ヤップ語ヤンベン語イエンバ語ニェエンガトゥ語広東語サポテカ語ブリスシンボルゼーラント" + + "語ゼナガ語標準モロッコ タマジクト語ズニ語言語的内容なしザザ語現代標準アラビア語標準ドイツ語 (スイス)オーストラリア英語カナダ英語イギリス" + + "英語アメリカ英語スペイン語 (イベリア半島)フレミッシュ語ポルトガル語 (イベリア半島)モルダビア語セルボ・クロアチア語コンゴ・スワヒリ語簡" + + "体中国語繁体中国語" var jaLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -19919,18 +19924,18 @@ var jaLangIdx = []uint16{ // 613 elements 0x223d, 0x224c, 0x2258, 0x2264, 0x226d, 0x227c, 0x228b, 0x229a, 0x22a6, 0x22b5, 0x22c4, 0x22d6, 0x22eb, 0x22fa, 0x230c, 0x2323, 0x2338, 0x2347, 0x2353, 0x2362, 0x2371, 0x238f, 0x23a1, 0x23ad, - 0x23bc, 0x23cb, 0x23f2, 0x2404, 0x2413, 0x2425, 0x242e, 0x243a, - 0x2449, 0x2458, 0x246a, 0x2482, 0x2491, 0x249d, 0x24ac, 0x24bb, - 0x24cd, 0x24d9, 0x24e5, 0x24f4, 0x24fa, 0x250c, 0x251b, 0x2524, + 0x23bc, 0x23cb, 0x23f2, 0x2404, 0x2413, 0x2425, 0x2431, 0x243d, + 0x244c, 0x245b, 0x246d, 0x2485, 0x2494, 0x24a0, 0x24af, 0x24be, + 0x24d0, 0x24dc, 0x24e8, 0x24f7, 0x24fd, 0x250f, 0x251e, 0x2527, // Entry 240 - 27F - 0x252d, 0x2539, 0x2548, 0x2557, 0x256f, 0x2578, 0x2587, 0x259c, - 0x25ae, 0x25ba, 0x25df, 0x25e8, 0x25fd, 0x2606, 0x2621, 0x2621, - 0x2621, 0x263f, 0x265a, 0x2669, 0x267b, 0x268d, 0x268d, 0x26b1, - 0x26b1, 0x26b1, 0x26b1, 0x26b1, 0x26b1, 0x26c6, 0x26c6, 0x26ed, - 0x26ff, 0x271d, 0x2738, 0x2747, 0x2756, + 0x2530, 0x253c, 0x254b, 0x255a, 0x2572, 0x257b, 0x258a, 0x259f, + 0x25b1, 0x25bd, 0x25e2, 0x25eb, 0x2600, 0x2609, 0x2624, 0x2624, + 0x2624, 0x2642, 0x265d, 0x266c, 0x267e, 0x2690, 0x2690, 0x26b4, + 0x26b4, 0x26b4, 0x26b4, 0x26b4, 0x26b4, 0x26c9, 0x26c9, 0x26f0, + 0x2702, 0x2720, 0x273b, 0x274a, 0x2759, } // Size: 1250 bytes -const kaLangStr string = "" + // Size: 12200 bytes +const kaLangStr string = "" + // Size: 12197 bytes "აფარიაფხაზურიავესტურიაფრიკაანსიაკანიამჰარულიარაგონულიარაბულიასამურიხუნძუ" + "რიაიმარააზერბაიჯანულიბაშკირულიბელორუსულიბულგარულიბისლამაბამბარაბენგალუ" + "რიტიბეტურიბრეტონულიბოსნიურიკატალანურიჩეჩნურიჩამოროკორსიკულიკრიჩეხურისა" + @@ -19981,15 +19986,15 @@ const kaLangStr string = "" + // Size: 12200 bytes "შანიჩადური არაბულისამხრეთსამურილულე-საამურიინარი-საამურისკოლტ-საამურის" + "ონინკესრანან ტონგოსაჰოსუკუმაშუმერულიკომორულიკლასიკური სირიულისირიულიტი" + "ნმეტესოტეტუმითიგრეკლინგონიტოკ-პისინიტაროკოტუმბუკატუვალუტასავაქიტუვაცენ" + - "ტრალური მოროკოს ტამაზიგხტიუდმურტულიუგარითულიუმბუნდუძირეული ენავაივუნჯო" + - "ვალსერიველაითავარაივალპირიყალმუხურისოგაიანგბენიიემბაკანტონურიბლისსიმბო" + - "ლოებიზენაგასტანდარტული მაროკოული ტამაზიგხტიზუნილინგვისტური შიგთავსი არ" + - " არისზაზაკითანამედროვე სტანდარტული არაბულიავსტრიული გერმანულიშვეიცარიული" + - " ზემოგერმანულიავსტრალიური ინგლისურიკანადური ინგლისურიბრიტანული ინგლისური" + - "ამერიკული ინგლისურილათინურ ამერიკული ესპანურიევროპული ესპანურიმექსიკურ" + - "ი ესპანურიკანადური ფრანგულიშვეიცარიული ფრანგულიქვემოსაქსონურიფლამანდიუ" + - "რიბრაზილიური პორტუგალიურიევროპული პორტუგალიურიმოლდავურისერბულ-ხორვატულ" + - "იკონგოს სუაჰილიგამარტივებული ჩინურიტრადიციული ჩინური" + "ტრალური მოროკოს ტამაზიგხტიუდმურტულიუგარითულიუმბუნდუუცნობი ენავაივუნჯოვ" + + "ალსერიველაითავარაივალპირიყალმუხურისოგაიანგბენიიემბაკანტონურიბლისსიმბოლ" + + "ოებიზენაგასტანდარტული მაროკოული ტამაზიგხტიზუნილინგვისტური შიგთავსი არ " + + "არისზაზაკითანამედროვე სტანდარტული არაბულიავსტრიული გერმანულიშვეიცარიულ" + + "ი ზემოგერმანულიავსტრალიური ინგლისურიკანადური ინგლისურიბრიტანული ინგლის" + + "ურიამერიკული ინგლისურილათინურ ამერიკული ესპანურიევროპული ესპანურიმექსი" + + "კური ესპანურიკანადური ფრანგულიშვეიცარიული ფრანგულიქვემოსაქსონურიფლამან" + + "დიურიბრაზილიური პორტუგალიურიევროპული პორტუგალიურიმოლდავურისერბულ-ხორვა" + + "ტულიკონგოს სუაჰილიგამარტივებული ჩინურიტრადიციული ჩინური" var kaLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -20070,18 +20075,18 @@ var kaLangIdx = []uint16{ // 613 elements 0x27d2, 0x27d2, 0x27d2, 0x27e1, 0x27ed, 0x27ed, 0x27ff, 0x280e, 0x280e, 0x280e, 0x280e, 0x2826, 0x2826, 0x2826, 0x2826, 0x2826, 0x2842, 0x2842, 0x2854, 0x2854, 0x2854, 0x2854, 0x2869, 0x287b, - 0x2893, 0x289f, 0x28f2, 0x290d, 0x2928, 0x293d, 0x295c, 0x2965, - 0x2965, 0x2965, 0x2965, 0x2965, 0x2965, 0x2965, 0x2974, 0x2989, - 0x299e, 0x29ad, 0x29ad, 0x29c2, 0x29c2, 0x29dd, 0x29dd, 0x29e9, + 0x2893, 0x289f, 0x28f2, 0x290d, 0x2928, 0x293d, 0x2959, 0x2962, + 0x2962, 0x2962, 0x2962, 0x2962, 0x2962, 0x2962, 0x2971, 0x2986, + 0x299b, 0x29aa, 0x29aa, 0x29bf, 0x29bf, 0x29da, 0x29da, 0x29e6, // Entry 240 - 27F - 0x29e9, 0x29e9, 0x2a01, 0x2a10, 0x2a10, 0x2a2b, 0x2a2b, 0x2a55, - 0x2a55, 0x2a67, 0x2ac3, 0x2acf, 0x2b1d, 0x2b2f, 0x2b88, 0x2b88, - 0x2bbf, 0x2c08, 0x2c45, 0x2c79, 0x2cb0, 0x2ce7, 0x2d31, 0x2d62, - 0x2d96, 0x2d96, 0x2dc7, 0x2e01, 0x2e2b, 0x2e4c, 0x2e8f, 0x2ecc, - 0x2ee7, 0x2f15, 0x2f3d, 0x2f77, 0x2fa8, + 0x29e6, 0x29e6, 0x29fe, 0x2a0d, 0x2a0d, 0x2a28, 0x2a28, 0x2a52, + 0x2a52, 0x2a64, 0x2ac0, 0x2acc, 0x2b1a, 0x2b2c, 0x2b85, 0x2b85, + 0x2bbc, 0x2c05, 0x2c42, 0x2c76, 0x2cad, 0x2ce4, 0x2d2e, 0x2d5f, + 0x2d93, 0x2d93, 0x2dc4, 0x2dfe, 0x2e28, 0x2e49, 0x2e8c, 0x2ec9, + 0x2ee4, 0x2f12, 0x2f3a, 0x2f74, 0x2fa5, } // Size: 1250 bytes -const kkLangStr string = "" + // Size: 8563 bytes +const kkLangStr string = "" + // Size: 8573 bytes "афар тіліабхаз тіліафрикаанс тіліакан тіліамхар тіліарагон тіліараб тілі" + "ассам тіліавар тіліаймара тіліәзірбайжан тілібашқұрт тілібеларусь тіліб" + "олгар тілібислама тілібамбара тілібенгал тілітибет тілібретон тілібосни" + @@ -20140,12 +20145,12 @@ const kkLangStr string = "" + // Size: 8563 bytes "анан тонго тілісахо тілісукума тілікомор тілісирия тілітемне тілітесо т" + "ілітетум тілітигре тіліклингон тіліток-писин тілітароко тілітумбука тіл" + "ітувалу тілітасавак тілітувин тіліорталық атлас тамазигхт тіліудмурт ті" + - "ліумбунду тіліата тілвай тілівунджо тілівальзер тіліволайта тіліварай т" + - "ілівальбири тіліқалмақ тілісога тіліянгбен тілійемба тілікантон тілімар" + - "окколық стандартты тамазигхт тілізуни тілітілдік мазмұны жоқзаза тіліқа" + - "зіргі стандартты араб тіліағылшын тілі (АҚШ)төменгі саксон тіліфламанд " + - "тілімолдован тілісерб-хорват тіліконго суахили тіліжеңілдетілген қытай " + - "тілідәстүрлі қытай тілі" + "ліумбунду тілібелгісіз тілвай тілівунджо тілівальзер тіліволайта тіліва" + + "рай тілівальбири тіліқалмақ тілісога тіліянгбен тілійемба тілікантон ті" + + "лімарокколық стандартты тамазигхт тілізуни тілітілдік мазмұны жоқзаза т" + + "іліқазіргі стандартты араб тіліағылшын тілі (АҚШ)төменгі саксон тіліфла" + + "манд тілімолдован тілісерб-хорват тіліконго суахили тіліжеңілдетілген қ" + + "ытай тілідәстүрлі қытай тілі" var kkLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -20226,18 +20231,18 @@ var kkLangIdx = []uint16{ // 613 elements 0x1d7a, 0x1d7a, 0x1d7a, 0x1d8d, 0x1d9e, 0x1d9e, 0x1db1, 0x1dc4, 0x1dc4, 0x1dc4, 0x1dc4, 0x1ddb, 0x1ddb, 0x1ddb, 0x1ddb, 0x1ddb, 0x1df5, 0x1df5, 0x1e0a, 0x1e0a, 0x1e0a, 0x1e0a, 0x1e21, 0x1e36, - 0x1e4d, 0x1e60, 0x1e95, 0x1eaa, 0x1eaa, 0x1ec1, 0x1ece, 0x1edd, - 0x1edd, 0x1edd, 0x1edd, 0x1edd, 0x1edd, 0x1edd, 0x1ef2, 0x1f09, - 0x1f20, 0x1f33, 0x1f33, 0x1f4c, 0x1f4c, 0x1f61, 0x1f61, 0x1f72, + 0x1e4d, 0x1e60, 0x1e95, 0x1eaa, 0x1eaa, 0x1ec1, 0x1ed8, 0x1ee7, + 0x1ee7, 0x1ee7, 0x1ee7, 0x1ee7, 0x1ee7, 0x1ee7, 0x1efc, 0x1f13, + 0x1f2a, 0x1f3d, 0x1f3d, 0x1f56, 0x1f56, 0x1f6b, 0x1f6b, 0x1f7c, // Entry 240 - 27F - 0x1f72, 0x1f72, 0x1f87, 0x1f9a, 0x1f9a, 0x1faf, 0x1faf, 0x1faf, - 0x1faf, 0x1faf, 0x1ff4, 0x2005, 0x2027, 0x2038, 0x206d, 0x206d, - 0x206d, 0x206d, 0x206d, 0x206d, 0x206d, 0x208d, 0x208d, 0x208d, - 0x208d, 0x208d, 0x208d, 0x208d, 0x20b1, 0x20c8, 0x20c8, 0x20c8, - 0x20e1, 0x20ff, 0x2121, 0x214f, 0x2173, + 0x1f7c, 0x1f7c, 0x1f91, 0x1fa4, 0x1fa4, 0x1fb9, 0x1fb9, 0x1fb9, + 0x1fb9, 0x1fb9, 0x1ffe, 0x200f, 0x2031, 0x2042, 0x2077, 0x2077, + 0x2077, 0x2077, 0x2077, 0x2077, 0x2077, 0x2097, 0x2097, 0x2097, + 0x2097, 0x2097, 0x2097, 0x2097, 0x20bb, 0x20d2, 0x20d2, 0x20d2, + 0x20eb, 0x2109, 0x212b, 0x2159, 0x217d, } // Size: 1250 bytes -const kmLangStr string = "" + // Size: 8834 bytes +const kmLangStr string = "" + // Size: 8864 bytes "អាហ្វារអាប់ខាហ៊្សានអាវេស្ថានអាហ្វ្រិកានអាកានអំហារិកអារ៉ាហ្គោនអារ៉ាប់អាសា" + "មីសអាវ៉ារីកអីម៉ារ៉ាអាស៊ែបៃហ្សង់បាស្គៀបេឡារុស្សប៊ុលហ្គារីប៊ីស្លាម៉ាបាម្" + "បារាបង់ក្លាដែសទីបេប្រីស្តុនបូស្នីកាតាឡានឈីឆេនឈីម៉ូរ៉ូកូស៊ីខានឆេកឈឺជស្ល" + @@ -20276,11 +20281,11 @@ const kmLangStr string = "" + // Size: 8834 bytes "ឃឺដខាងត្បូងស៊ីណាគុយរ៉ាបូរ៉ុស៊ីនីតាឈីលហ៊ីតសានសាមីខាងត្បូងលូលីសាមីអ៊ីណារ" + "ីសាម៉ីស្កុលសាមីសូនីនគេស្រាណានតុងហ្គោសាហូស៊ូគូម៉ាកូម៉ូរីស៊ីរៀគធីមនីតេសូ" + "ទីទុំធីហ្គ្រាឃ្លីនហ្គុនថុកពីស៊ីនតារ៉ូកូទុមប៊ូកាទូវ៉ាលូតាសាវ៉ាក់ទូវីនៀត" + - "ាម៉ាសាយអាត្លាសកណ្តាលអាត់មូដអាម់ប៊ុនឌូរូតវៃវុនចូវេលសឺវ៉ូឡាយតាវ៉ារេយវ៉ារ" + - "ីប៉ារីកាលមីគសូហ្គាយ៉ាងបេនយេមបាកន្តាំងតាម៉ាហ្សៃម៉ារ៉ុកស្តង់ដាហ្សូនីគ្មា" + - "ន\u200bទិន្នន័យ\u200bភាសាហ្សាហ្សាអារ៉ាប់ផ្លូវការអេស្ប៉ាញ (អ៊ឺរ៉ុប)ហ្សា" + - "ក់ស្យុងក្រោមផ្លាមីសព័រទុយហ្គាល់ (អឺរ៉ុប)ម៉ុលដាវីសឺបូក្រូអាតកុងហ្គោស្វា" + - "ហ៊ីលីចិន\u200bអក្សរ\u200bកាត់ចិន\u200bអក្សរ\u200bពេញ" + "ាម៉ាសាយអាត្លាសកណ្តាលអាត់មូដអាម់ប៊ុនឌូភាសាមិនស្គាល់វៃវុនចូវេលសឺវ៉ូឡាយតា" + + "វ៉ារេយវ៉ារីប៉ារីកាលមីគសូហ្គាយ៉ាងបេនយេមបាកន្តាំងតាម៉ាហ្សៃម៉ារ៉ុកស្តង់ដា" + + "ហ្សូនីគ្មាន\u200bទិន្នន័យ\u200bភាសាហ្សាហ្សាអារ៉ាប់ផ្លូវការអេស្ប៉ាញ (អ៊" + + "ឺរ៉ុប)ហ្សាក់ស្យុងក្រោមផ្លាមីសព័រទុយហ្គាល់ (អឺរ៉ុប)ម៉ុលដាវីសឺបូក្រូអាតក" + + "ុងហ្គោស្វាហ៊ីលីចិន\u200bអក្សរ\u200bកាត់ចិន\u200bអក្សរ\u200bពេញ" var kmLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -20361,18 +20366,18 @@ var kmLangIdx = []uint16{ // 613 elements 0x1e17, 0x1e17, 0x1e17, 0x1e26, 0x1e32, 0x1e32, 0x1e41, 0x1e59, 0x1e59, 0x1e59, 0x1e59, 0x1e77, 0x1e77, 0x1e77, 0x1e77, 0x1e77, 0x1e92, 0x1e92, 0x1ea7, 0x1ea7, 0x1ea7, 0x1ea7, 0x1ebf, 0x1ed4, - 0x1eef, 0x1f01, 0x1f40, 0x1f55, 0x1f55, 0x1f73, 0x1f7c, 0x1f82, - 0x1f82, 0x1f82, 0x1f82, 0x1f82, 0x1f82, 0x1f82, 0x1f91, 0x1fa0, - 0x1fb8, 0x1fca, 0x1fca, 0x1fe8, 0x1fe8, 0x1ffa, 0x1ffa, 0x200c, + 0x1eef, 0x1f01, 0x1f40, 0x1f55, 0x1f55, 0x1f73, 0x1f9a, 0x1fa0, + 0x1fa0, 0x1fa0, 0x1fa0, 0x1fa0, 0x1fa0, 0x1fa0, 0x1faf, 0x1fbe, + 0x1fd6, 0x1fe8, 0x1fe8, 0x2006, 0x2006, 0x2018, 0x2018, 0x202a, // Entry 240 - 27F - 0x200c, 0x200c, 0x2021, 0x2030, 0x2030, 0x2045, 0x2045, 0x2045, - 0x2045, 0x2045, 0x208a, 0x209c, 0x20d5, 0x20ed, 0x211a, 0x211a, - 0x211a, 0x211a, 0x211a, 0x211a, 0x211a, 0x211a, 0x211a, 0x214a, - 0x214a, 0x214a, 0x214a, 0x214a, 0x217a, 0x218f, 0x218f, 0x21c8, - 0x21e0, 0x2201, 0x2231, 0x225b, 0x2282, + 0x202a, 0x202a, 0x203f, 0x204e, 0x204e, 0x2063, 0x2063, 0x2063, + 0x2063, 0x2063, 0x20a8, 0x20ba, 0x20f3, 0x210b, 0x2138, 0x2138, + 0x2138, 0x2138, 0x2138, 0x2138, 0x2138, 0x2138, 0x2138, 0x2168, + 0x2168, 0x2168, 0x2168, 0x2168, 0x2198, 0x21ad, 0x21ad, 0x21e6, + 0x21fe, 0x221f, 0x224f, 0x2279, 0x22a0, } // Size: 1250 bytes -const knLangStr string = "" + // Size: 12261 bytes +const knLangStr string = "" + // Size: 12283 bytes "ಅಫಾರ್ಅಬ್ಖಾಜಿಯನ್ಅವೆಸ್ಟನ್ಆಫ್ರಿಕಾನ್ಸ್ಅಕಾನ್ಅಂಹರಿಕ್ಅರಗೊನೀಸ್ಅರೇಬಿಕ್ಅಸ್ಸಾಮೀಸ್ಅವ" + "ರಿಕ್ಅಯ್ಮಾರಾಅಜೆರ್ಬೈಜಾನಿಬಶ್ಕಿರ್ಬೆಲರೂಸಿಯನ್ಬಲ್ಗೇರಿಯನ್ಬಿಸ್ಲಾಮಾಬಂಬಾರಾಬಾಂಗ್ಲಾ" + "ಟಿಬೇಟಿಯನ್ಬ್ರೆಟನ್ಬೋಸ್ನಿಯನ್ಕೆಟಲಾನ್ಚೆಚನ್ಕಮೊರೊಕೋರ್ಸಿಕನ್ಕ್ರೀಜೆಕ್ಚರ್ಚ್ ಸ್ಲಾವ" + @@ -20425,15 +20430,15 @@ const knLangStr string = "" + // Size: 12261 bytes "ೇರೇರ್ಸಹೊಸುಕುಮಾಸುಸುಸುಮೇರಿಯನ್ಕೊಮೊರಿಯನ್ಶಾಸ್ತ್ರೀಯ ಸಿರಿಯಕ್ಸಿರಿಯಕ್ಟಿಮ್ನೆಟೆಸೊ" + "ಟೆರೆನೋಟೇಟಮ್ಟೈಗ್ರೆಟಿವ್ಟೊಕೆಲಾವ್ಕ್ಲಿಂಗನ್ಟ್ಲಿಂಗಿಟ್ಟಮಾಷೆಕ್ನ್ಯಾಸಾ ಟೋಂಗಾಟೋಕ್ " + "ಪಿಸಿನ್ಟರೊಕೊಸಿಂಶಿಯನ್ತುಂಬುಕಾಟುವಾಲುಟಸವಕ್ಟುವಿನಿಯನ್ಮಧ್ಯ ಅಟ್ಲಾಸ್ ಟಮಜೈಟ್ಉಡ್" + - "\u200cಮುರ್ಟ್ಉಗಾರಿಟಿಕ್ಉಂಬುಂಡುರೂಟ್ವಾಯಿವೋಟಿಕ್ವುಂಜೊವಾಲ್ಸರ್ವಲಾಯ್ತಾವರಾಯ್ವಾಷೋವಾ" + - "ರ್ಲ್\u200cಪಿರಿವುಕಲ್ಮೈಕ್ಸೊಗಯಾವೊಯಪೀಸೆಯಾಂಗ್ಬೆನ್ಯೆಂಬಾಕ್ಯಾಂಟನೀಸ್ಝೋಪೊಟೆಕ್ಬ್ಲ" + - "ಿಸ್ಸಿಂಬಲ್ಸ್ಝೆನಾಗಾಸ್ಟ್ಯಾಂಡರ್ಡ್ ಮೊರೊಕ್ಕನ್ ಟಮಜೈಟ್ಝೂನಿಯಾವುದೇ ಭಾಷಾಸಂಬಂಧಿ ವಿ" + - "ಷಯವಿಲ್ಲಜಾಝಾಆಧುನಿಕ ಪ್ರಮಾಣಿತ ಅರೇಬಿಕ್ಆಸ್ಟ್ರಿಯನ್ ಜರ್ಮನ್ಸ್ವಿಸ್ ಹೈ ಜರ್ಮನ್ಆಸ್" + - "ಟ್ರೇಲಿಯನ್ ಇಂಗ್ಲೀಷ್ಕೆನೆಡಿಯನ್ ಇಂಗ್ಲೀಷ್ಬ್ರಿಟಿಷ್ ಇಂಗ್ಲೀಷ್ಅಮೆರಿಕನ್ ಇಂಗ್ಲೀಷ್" + - "ಲ್ಯಾಟಿನ್ ಅಮೇರಿಕನ್ ಸ್ಪ್ಯಾನಿಷ್ಯುರೋಪಿಯನ್ ಸ್ಪ್ಯಾನಿಷ್ಮೆಕ್ಸಿಕನ್ ಸ್ಪ್ಯಾನಿಷ್ಕೆ" + - "ನೆಡಿಯನ್ ಫ್ರೆಂಚ್ಸ್ವಿಸ್ ಫ್ರೆಂಚ್ಲೋ ಸ್ಯಾಕ್ಸನ್ಫ್ಲೆಮಿಷ್ಬ್ರೆಜಿಲಿಯನ್ ಪೋರ್ಚುಗೀಸ" + - "್ಯೂರೋಪಿಯನ್ ಪೋರ್ಚುಗೀಸ್ಮಾಲ್ಡೇವಿಯನ್ಸರ್ಬೋ-ಕ್ರೊಯೇಶಿಯನ್ಕಾಂಗೊ ಸ್ವಹಿಲಿಸರಳೀಕೃತ " + - "ಚೈನೀಸ್ಸಾಂಪ್ರದಾಯಿಕ ಚೈನೀಸ್" + "\u200cಮುರ್ಟ್ಉಗಾರಿಟಿಕ್ಉಂಬುಂಡುಅಪರಿಚಿತ ಭಾಷೆವಾಯಿವೋಟಿಕ್ವುಂಜೊವಾಲ್ಸರ್ವಲಾಯ್ತಾವರಾ" + + "ಯ್ವಾಷೋವಾರ್ಲ್\u200cಪಿರಿವುಕಲ್ಮೈಕ್ಸೊಗಯಾವೊಯಪೀಸೆಯಾಂಗ್ಬೆನ್ಯೆಂಬಾಕ್ಯಾಂಟನೀಸ್ಝೋಪ" + + "ೊಟೆಕ್ಬ್ಲಿಸ್ಸಿಂಬಲ್ಸ್ಝೆನಾಗಾಸ್ಟ್ಯಾಂಡರ್ಡ್ ಮೊರೊಕ್ಕನ್ ಟಮಜೈಟ್ಝೂನಿಯಾವುದೇ ಭಾಷಾಸ" + + "ಂಬಂಧಿ ವಿಷಯವಿಲ್ಲಜಾಝಾಆಧುನಿಕ ಪ್ರಮಾಣಿತ ಅರೇಬಿಕ್ಆಸ್ಟ್ರಿಯನ್ ಜರ್ಮನ್ಸ್ವಿಸ್ ಹೈ ಜ" + + "ರ್ಮನ್ಆಸ್ಟ್ರೇಲಿಯನ್ ಇಂಗ್ಲೀಷ್ಕೆನೆಡಿಯನ್ ಇಂಗ್ಲೀಷ್ಬ್ರಿಟಿಷ್ ಇಂಗ್ಲೀಷ್ಅಮೆರಿಕನ್ " + + "ಇಂಗ್ಲೀಷ್ಲ್ಯಾಟಿನ್ ಅಮೇರಿಕನ್ ಸ್ಪ್ಯಾನಿಷ್ಯುರೋಪಿಯನ್ ಸ್ಪ್ಯಾನಿಷ್ಮೆಕ್ಸಿಕನ್ ಸ್ಪ್" + + "ಯಾನಿಷ್ಕೆನೆಡಿಯನ್ ಫ್ರೆಂಚ್ಸ್ವಿಸ್ ಫ್ರೆಂಚ್ಲೋ ಸ್ಯಾಕ್ಸನ್ಫ್ಲೆಮಿಷ್ಬ್ರೆಜಿಲಿಯನ್ ಪ" + + "ೋರ್ಚುಗೀಸ್ಯೂರೋಪಿಯನ್ ಪೋರ್ಚುಗೀಸ್ಮಾಲ್ಡೇವಿಯನ್ಸರ್ಬೋ-ಕ್ರೊಯೇಶಿಯನ್ಕಾಂಗೊ ಸ್ವಹಿಲಿ" + + "ಸರಳೀಕೃತ ಚೈನೀಸ್ಸಾಂಪ್ರದಾಯಿಕ ಚೈನೀಸ್" var knLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -20514,18 +20519,18 @@ var knLangIdx = []uint16{ // 613 elements 0x27a5, 0x27a5, 0x27a5, 0x27b7, 0x27c3, 0x27d5, 0x27e4, 0x27f6, 0x2802, 0x281a, 0x281a, 0x2832, 0x284d, 0x284d, 0x2862, 0x2884, 0x28a3, 0x28a3, 0x28b2, 0x28b2, 0x28ca, 0x28ca, 0x28df, 0x28f1, - 0x2900, 0x291b, 0x2950, 0x296e, 0x2989, 0x299e, 0x29aa, 0x29b6, - 0x29b6, 0x29b6, 0x29b6, 0x29b6, 0x29c8, 0x29c8, 0x29d7, 0x29ec, - 0x2a01, 0x2a10, 0x2a1c, 0x2a3d, 0x2a43, 0x2a58, 0x2a58, 0x2a61, + 0x2900, 0x291b, 0x2950, 0x296e, 0x2989, 0x299e, 0x29c0, 0x29cc, + 0x29cc, 0x29cc, 0x29cc, 0x29cc, 0x29de, 0x29de, 0x29ed, 0x2a02, + 0x2a17, 0x2a26, 0x2a32, 0x2a53, 0x2a59, 0x2a6e, 0x2a6e, 0x2a77, // Entry 240 - 27F - 0x2a6d, 0x2a7c, 0x2a97, 0x2aa6, 0x2aa6, 0x2ac4, 0x2adc, 0x2b06, - 0x2b06, 0x2b18, 0x2b6b, 0x2b77, 0x2bc4, 0x2bd0, 0x2c11, 0x2c11, - 0x2c42, 0x2c6e, 0x2cab, 0x2cdf, 0x2d10, 0x2d41, 0x2d91, 0x2dcb, - 0x2e05, 0x2e05, 0x2e36, 0x2e5e, 0x2e80, 0x2e98, 0x2ed8, 0x2f12, - 0x2f33, 0x2f64, 0x2f89, 0x2fb1, 0x2fe5, + 0x2a83, 0x2a92, 0x2aad, 0x2abc, 0x2abc, 0x2ada, 0x2af2, 0x2b1c, + 0x2b1c, 0x2b2e, 0x2b81, 0x2b8d, 0x2bda, 0x2be6, 0x2c27, 0x2c27, + 0x2c58, 0x2c84, 0x2cc1, 0x2cf5, 0x2d26, 0x2d57, 0x2da7, 0x2de1, + 0x2e1b, 0x2e1b, 0x2e4c, 0x2e74, 0x2e96, 0x2eae, 0x2eee, 0x2f28, + 0x2f49, 0x2f7a, 0x2f9f, 0x2fc7, 0x2ffb, } // Size: 1250 bytes -const koLangStr string = "" + // Size: 7030 bytes +const koLangStr string = "" + // Size: 7045 bytes "아파르어압카즈어아베스타어아프리칸스어아칸어암하라어아라곤어아랍어아삼어아바릭어아이마라어아제르바이잔어바슈키르어벨라루스어불가리아어비슬라마어" + "밤바라어벵골어티베트어브르타뉴어보스니아어카탈로니아어체첸어차모로어코르시카어크리어체코어교회 슬라브어추바시어웨일스어덴마크어독일어디베히" + "어종카어에웨어그리스어영어에스페란토어스페인어에스토니아어바스크어페르시아어풀라어핀란드어피지어페로어프랑스어서부 프리지아어아일랜드어스코" + @@ -20558,9 +20563,9 @@ const koLangStr string = "" + // Size: 7030 bytes "니어고대 아일랜드어타셸히트어샨어차디언 아라비아어시다모어남부 사미어룰레 사미어이나리 사미어스콜트 사미어소닌케어소그디엔어스라난 통" + "가어세레르어사호어수쿠마어수수어수메르어코모로어고전 시리아어시리아어팀니어테조어테레노어테툼어티그레어티브어토켈라우제도어차후르어클링온어" + "틀링깃족어탈리쉬어타마섹어니아사 통가어토크 피신어타로코어트심시안어툼부카어투발루어타사와크어투비니안어중앙 모로코 타마지트어우드말트어" + - "유가리틱어움분두어어근바이어보틱어분조어월저어월라이타어와라이어와쇼어왈피리어우어칼미크어소가어야오족어얍페세어양본어옘바어광둥어사포테크어" + - "블리스 심볼제나가어표준 모로코 타마지트어주니어언어 관련 내용 없음자자어현대 표준 아랍어고지 독일어(스위스)영어(호주)저지 색슨" + - "어플라망어몰도바어세르비아-크로아티아어콩고 스와힐리어" + "유가리틱어움분두어알 수 없는 언어바이어보틱어분조어월저어월라이타어와라이어와쇼어왈피리어우어칼미크어소가어야오족어얍페세어양본어옘바어광" + + "둥어사포테크어블리스 심볼제나가어표준 모로코 타마지트어주니어언어 관련 내용 없음자자어현대 표준 아랍어고지 독일어(스위스)영어(호" + + "주)저지 색슨어플라망어몰도바어세르비아-크로아티아어콩고 스와힐리어" var koLangIdx = []uint16{ // 611 elements // Entry 0 - 3F @@ -20641,18 +20646,18 @@ var koLangIdx = []uint16{ // 611 elements 0x186b, 0x186b, 0x186b, 0x1874, 0x187d, 0x1889, 0x1892, 0x189e, 0x18a7, 0x18bc, 0x18c8, 0x18d4, 0x18e3, 0x18ef, 0x18fb, 0x190e, 0x191e, 0x191e, 0x192a, 0x192a, 0x1939, 0x1939, 0x1945, 0x1951, - 0x1960, 0x196f, 0x198f, 0x199e, 0x19ad, 0x19b9, 0x19bf, 0x19c8, - 0x19c8, 0x19c8, 0x19c8, 0x19c8, 0x19d1, 0x19d1, 0x19da, 0x19e3, - 0x19f2, 0x19fe, 0x1a07, 0x1a13, 0x1a19, 0x1a25, 0x1a25, 0x1a2e, + 0x1960, 0x196f, 0x198f, 0x199e, 0x19ad, 0x19b9, 0x19ce, 0x19d7, + 0x19d7, 0x19d7, 0x19d7, 0x19d7, 0x19e0, 0x19e0, 0x19e9, 0x19f2, + 0x1a01, 0x1a0d, 0x1a16, 0x1a22, 0x1a28, 0x1a34, 0x1a34, 0x1a3d, // Entry 240 - 27F - 0x1a3a, 0x1a46, 0x1a4f, 0x1a58, 0x1a58, 0x1a61, 0x1a70, 0x1a80, - 0x1a80, 0x1a8c, 0x1aac, 0x1ab5, 0x1ad0, 0x1ad9, 0x1af0, 0x1af0, - 0x1af0, 0x1b0b, 0x1b19, 0x1b19, 0x1b19, 0x1b19, 0x1b19, 0x1b19, - 0x1b19, 0x1b19, 0x1b19, 0x1b19, 0x1b29, 0x1b35, 0x1b35, 0x1b35, - 0x1b41, 0x1b60, 0x1b76, + 0x1a49, 0x1a55, 0x1a5e, 0x1a67, 0x1a67, 0x1a70, 0x1a7f, 0x1a8f, + 0x1a8f, 0x1a9b, 0x1abb, 0x1ac4, 0x1adf, 0x1ae8, 0x1aff, 0x1aff, + 0x1aff, 0x1b1a, 0x1b28, 0x1b28, 0x1b28, 0x1b28, 0x1b28, 0x1b28, + 0x1b28, 0x1b28, 0x1b28, 0x1b28, 0x1b38, 0x1b44, 0x1b44, 0x1b44, + 0x1b50, 0x1b6f, 0x1b85, } // Size: 1246 bytes -const kyLangStr string = "" + // Size: 6711 bytes +const kyLangStr string = "" + // Size: 6728 bytes "афарчаабхазчаафрикаанчааканчаамхарчаарагончоарабчаассамчааварикчеаймарач" + "аазербайжанчабашкырчабеларусчаболгарчабисламачабамбарачабангладешчетибе" + "тчебретончобоснийчекаталанчачеченчечаморрочокорсиканчачехчечиркөө славя" + @@ -20695,12 +20700,12 @@ const kyLangStr string = "" + // Size: 6711 bytes "үштүк курдчасеначакойраборо сенничеташелитчешанчатүштүк саамичелуле-сам" + "ичеинари саамическолт саамичесонинкечесранан тонгочосахочосукумачакомор" + "чосириячатимнечетесочотетумчатигречеклингончоток-писинчетарокочотумбука" + - "чатувалучатасабакчатувинчеБорбордук Атлас тамазитчеудмуртчаумбундучатүп" + - "күвайичевунжочовалцерчевольяттачаварайчаворлпиричеwuuкалмыкчасогачаянгб" + - "енчейембачакантончомарокко тамазигт адабий тилиндезуничетилдик мазмун ж" + - "окзазачаазыркы адабий араб тилиндеадабий немисче (Швейцария)испанча (Ев" + - "ропа)төмөнкү саксончофламандчапортугалча (Европа)молдованчасерб-хорватк" + - "онго суахаличекытайча (жөнөкөйлөштүрүлгөн)кытайча (салттуу)" + "чатувалучатасабакчатувинчеБорбордук Атлас тамазитчеудмуртчаумбундучабел" + + "гисиз тилдевайичевунжочовалцерчевольяттачаварайчаворлпиричеwuuкалмыкчас" + + "огачаянгбенчейембачакантончомарокко тамазигт адабий тилиндезуничетилдик" + + " мазмун жокзазачаазыркы адабий араб тилиндеадабий немисче (Швейцария)исп" + + "анча (Европа)төмөнкү саксончофламандчапортугалча (Европа)молдованчасерб" + + "-хорватконго суахаличекытайча (жөнөкөйлөштүрүлгөн)кытайча (салттуу)" var kyLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -20781,18 +20786,18 @@ var kyLangIdx = []uint16{ // 613 elements 0x16a0, 0x16a0, 0x16a0, 0x16ae, 0x16ba, 0x16ba, 0x16c8, 0x16d6, 0x16d6, 0x16d6, 0x16d6, 0x16e8, 0x16e8, 0x16e8, 0x16e8, 0x16e8, 0x16fd, 0x16fd, 0x170d, 0x170d, 0x170d, 0x170d, 0x171f, 0x172f, - 0x1741, 0x174f, 0x177f, 0x178f, 0x178f, 0x17a1, 0x17ab, 0x17b7, - 0x17b7, 0x17b7, 0x17b7, 0x17b7, 0x17b7, 0x17b7, 0x17c5, 0x17d5, - 0x17e9, 0x17f7, 0x17f7, 0x180b, 0x180e, 0x181e, 0x181e, 0x182a, + 0x1741, 0x174f, 0x177f, 0x178f, 0x178f, 0x17a1, 0x17bc, 0x17c8, + 0x17c8, 0x17c8, 0x17c8, 0x17c8, 0x17c8, 0x17c8, 0x17d6, 0x17e6, + 0x17fa, 0x1808, 0x1808, 0x181c, 0x181f, 0x182f, 0x182f, 0x183b, // Entry 240 - 27F - 0x182a, 0x182a, 0x183a, 0x1848, 0x1848, 0x1858, 0x1858, 0x1858, - 0x1858, 0x1858, 0x1893, 0x189f, 0x18bf, 0x18cb, 0x18fc, 0x18fc, - 0x18fc, 0x192c, 0x192c, 0x192c, 0x192c, 0x192c, 0x192c, 0x1949, - 0x1949, 0x1949, 0x1949, 0x1949, 0x1968, 0x197a, 0x197a, 0x199d, - 0x19b1, 0x19c6, 0x19e3, 0x1a18, 0x1a37, + 0x183b, 0x183b, 0x184b, 0x1859, 0x1859, 0x1869, 0x1869, 0x1869, + 0x1869, 0x1869, 0x18a4, 0x18b0, 0x18d0, 0x18dc, 0x190d, 0x190d, + 0x190d, 0x193d, 0x193d, 0x193d, 0x193d, 0x193d, 0x193d, 0x195a, + 0x195a, 0x195a, 0x195a, 0x195a, 0x1979, 0x198b, 0x198b, 0x19ae, + 0x19c2, 0x19d7, 0x19f4, 0x1a29, 0x1a48, } // Size: 1250 bytes -const loLangStr string = "" + // Size: 10855 bytes +const loLangStr string = "" + // Size: 10894 bytes "ອະຟາແອບຄາຊຽນອາເວັສແຕນອາຟຣິການອາການອຳຮາຣິກອາຣາໂກເນັດອາຣັບອັສຊາມີສອາວາຣິກອ" + "າຍມາລາອາເຊີໄບຈານິບາຣກີເບລາຣັສຊຽນບັງກາຣຽນບິສລະມາບາມບາຣາເບັງກາລີທິເບທັນເ" + "ບຣຕັນບອສນຽນຄາຕາລານຊີເຄນຊາມໍໂຣຄໍຊິກາຄີເຊກໂບດສລາວິກຊູວາຊເວວແດນິຊເຢຍລະມັນ" + @@ -20838,14 +20843,14 @@ const loLangStr string = "" + // Size: 10855 bytes "າດຊິດາໂມຊາມິໃຕ້ລຸນຊາມິອີນາຣິຊາມິສກອດຊາມິໂຊນິນກີຊອກດິນສຣານນານຕອນໂກເຊເລີ" + "ຊາໂຮຊູຄູມ້າຊູຊູຊູເມີເລຍໂຄໂນຣຽນຊີເລຍແບບດັ້ງເດີມຊີເລຍທີມເນເຕໂຊເຕເລໂນເຕຕູ" + "ມໄທກຣີຕີວໂຕເກເລົາຄຣິງກອນທລີງກິດທາມາກເຊກນາຍອາຊາຕອງກາທອກພີຊິນຕາໂລໂກຊີມຊີ" + - "ແອນຕຳບູກາຕູວາລູຕາຊາວັກຕູວີນຽນອັດລາສ ທາມາຊີກ ກາງອຸດມັດຢູກາລິກອຳບັນດູລູດ" + - "ໄວໂວຕິກວັນໂຈວາເຊີວາລາໂມວາເລວາໂຊວາຣພິຣິການມິກໂຊກາເຢົ້າຢັບແຍງເບນແຢມບາກວາ" + - "ງຕຸ້ງຊາໂປແຕບສັນຍາລັກບລີຊິມເຊນາກາໂມຣັອກແຄນ ທາມາຊີກ ມາດຕະຖານຊູນີບໍ່ມີເນື" + - "້ອຫາພາສາຊາຊາອາຣາບິກມາດຕະຖານສະໄໝໃໝ່ເຢຍລະມັນ (ໂອສຕຣິດ)ສະວິສ ໄຮ ເຈີແມນອັງ" + - "ກິດ (ໂອດສະຕາລີ)ອັງກິດ (ບຣິດທິຊ)ອັງກິດ (ອາເມລິກັນ)ລາຕິນ ອາເມຣິກັນ ສະແປນ" + - "ນິຊສະເປັນ ຢຸໂຣບເມັກຊິກັນ ສະແປນນິຊຟລັງ(ການາດາ)ຊາຊອນ ຕອນໄຕຟລີມິຊປອກຕຸຍກິ" + - "ສ ບະເລຊີ່ນປອກຕຸຍກິສ ຢຸໂຣບໂມດາວຽນເຊີໂບ-ໂກເຊຍຄອງໂກ ຊວາຮີລິຈີນແບບຮຽບງ່າຍຈ" + - "ີນແບບດັ້ງເດີມ" + "ແອນຕຳບູກາຕູວາລູຕາຊາວັກຕູວີນຽນອັດລາສ ທາມາຊີກ ກາງອຸດມັດຢູກາລິກອຳບັນດູບໍ່" + + "ສາມາດລະບຸພາສາໄວໂວຕິກວັນໂຈວາເຊີວາລາໂມວາເລວາໂຊວາຣພິຣິການມິກໂຊກາເຢົ້າຢັບແ" + + "ຍງເບນແຢມບາກວາງຕຸ້ງຊາໂປແຕບສັນຍາລັກບລີຊິມເຊນາກາໂມຣັອກແຄນ ທາມາຊີກ ມາດຕະຖາ" + + "ນຊູນີບໍ່ມີເນື້ອຫາພາສາຊາຊາອາຣາບິກມາດຕະຖານສະໄໝໃໝ່ເຢຍລະມັນ (ໂອສຕຣິດ)ສະວິສ" + + " ໄຮ ເຈີແມນອັງກິດ (ໂອດສະຕາລີ)ອັງກິດ (ບຣິດທິຊ)ອັງກິດ (ອາເມລິກັນ)ລາຕິນ ອາເມ" + + "ຣິກັນ ສະແປນນິຊສະເປັນ ຢຸໂຣບເມັກຊິກັນ ສະແປນນິຊຟລັງ(ການາດາ)ຊາຊອນ ຕອນໄຕຟລີ" + + "ມິຊປອກຕຸຍກິສ ບະເລຊີ່ນປອກຕຸຍກິສ ຢຸໂຣບໂມດາວຽນເຊີໂບ-ໂກເຊຍຄອງໂກ ຊວາຮີລິຈີນ" + + "ແບບຮຽບງ່າຍຈີນແບບດັ້ງເດີມ" var loLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -20926,18 +20931,18 @@ var loLangIdx = []uint16{ // 613 elements 0x23b1, 0x23b1, 0x23b1, 0x23c0, 0x23cc, 0x23de, 0x23ed, 0x23fc, 0x2405, 0x241d, 0x241d, 0x2432, 0x2447, 0x2447, 0x245f, 0x2483, 0x249b, 0x249b, 0x24ad, 0x24ad, 0x24c5, 0x24c5, 0x24d7, 0x24e9, - 0x24fe, 0x2513, 0x2545, 0x2557, 0x256c, 0x2581, 0x258a, 0x2590, - 0x2590, 0x2590, 0x2590, 0x2590, 0x259f, 0x259f, 0x25ae, 0x25bd, - 0x25cf, 0x25db, 0x25e7, 0x25fc, 0x25fc, 0x260e, 0x260e, 0x261a, + 0x24fe, 0x2513, 0x2545, 0x2557, 0x256c, 0x2581, 0x25b1, 0x25b7, + 0x25b7, 0x25b7, 0x25b7, 0x25b7, 0x25c6, 0x25c6, 0x25d5, 0x25e4, + 0x25f6, 0x2602, 0x260e, 0x2623, 0x2623, 0x2635, 0x2635, 0x2641, // Entry 240 - 27F - 0x2629, 0x2632, 0x2644, 0x2653, 0x2653, 0x266b, 0x2680, 0x26aa, - 0x26aa, 0x26bc, 0x2706, 0x2712, 0x2742, 0x274e, 0x2790, 0x2790, - 0x27c0, 0x27e9, 0x2819, 0x2819, 0x2843, 0x2873, 0x28b7, 0x28d9, - 0x290d, 0x290d, 0x292d, 0x292d, 0x294c, 0x295e, 0x2992, 0x29bd, - 0x29d2, 0x29f1, 0x2a16, 0x2a3d, 0x2a67, + 0x2650, 0x2659, 0x266b, 0x267a, 0x267a, 0x2692, 0x26a7, 0x26d1, + 0x26d1, 0x26e3, 0x272d, 0x2739, 0x2769, 0x2775, 0x27b7, 0x27b7, + 0x27e7, 0x2810, 0x2840, 0x2840, 0x286a, 0x289a, 0x28de, 0x2900, + 0x2934, 0x2934, 0x2954, 0x2954, 0x2973, 0x2985, 0x29b9, 0x29e4, + 0x29f9, 0x2a18, 0x2a3d, 0x2a64, 0x2a8e, } // Size: 1250 bytes -const ltLangStr string = "" + // Size: 5947 bytes +const ltLangStr string = "" + // Size: 5958 bytes "afarųabchazųavestųafrikanųakanųamharųaragonesųarabųasamųavarikųaimarųaze" + "rbaidžaniečiųbaškirųbaltarusiųbulgarųbislamabambarųbengalųtibetiečiųbret" + "onųbosniųkatalonųčečėnųčamorųkorsikiečiųkryčekųbažnytinė slavųčiuvašųval" + @@ -21002,16 +21007,16 @@ const ltLangStr string = "" + // Size: 5947 bytes "sileziečiųtulųtimnetesoTerenotetumtigretivTokelautsakurųklingonųtlingitų" + "talyšųtamašekniasa tongųPapua pidžinųturoyoTarokotsakonųtsimšianmusulmon" + "ų tatųtumbukųTuvalutasavakųtuviųCentrinio Maroko tamazitųudmurtųugaritų" + - "umbundurūtvaivenetųvepsųvakarų flamandųpagrindinė frankonųVotikveruvunjo" + - "valserųvalamovaraiVašovalrpirikinų kalbos vu tarmėkalmukųmegrelųsogųjaoj" + - "apezųjangbenųjembųnjengatukinų kalbos Kantono tarmėzapotekųBLISS simboli" + - "ųzelandųzenagastandartinė Maroko tamazigtųZuninėra kalbinio turiniozaza" + - "šiuolaikinė standartinė arabųAustrijos vokiečiųŠveicarijos aukštutinė v" + - "okiečiųAustralijos anglųKanados anglųDidžiosios Britanijos anglųJungtini" + - "ų Valstijų anglųLotynų Amerikos ispanųEuropos ispanųMeksikos ispanųKana" + - "dos prancūzųŠveicarijos prancūzųŽemutinės Saksonijos (Nyderlandai)flaman" + - "dųBrazilijos portugalųEuropos portugalųmoldavųserbų-kroatųKongo suahilių" + - "supaprastintoji kinųtradicinė kinų" + "umbundunežinoma kalbavaivenetųvepsųvakarų flamandųpagrindinė frankonųVot" + + "ikveruvunjovalserųvalamovaraiVašovalrpirikinų kalbos vu tarmėkalmukųmegr" + + "elųsogųjaojapezųjangbenųjembųnjengatukinų kalbos Kantono tarmėzapotekųBL" + + "ISS simboliųzelandųzenagastandartinė Maroko tamazigtųZuninėra kalbinio t" + + "uriniozazašiuolaikinė standartinė arabųAustrijos vokiečiųŠveicarijos auk" + + "štutinė vokiečiųAustralijos anglųKanados anglųDidžiosios Britanijos ang" + + "lųJungtinių Valstijų anglųLotynų Amerikos ispanųEuropos ispanųMeksikos i" + + "spanųKanados prancūzųŠveicarijos prancūzųŽemutinės Saksonijos (Nyderland" + + "ai)flamandųBrazilijos portugalųEuropos portugalųmoldavųserbų-kroatųKongo" + + " suahiliųsupaprastintoji kinųtradicinė kinų" var ltLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -21092,18 +21097,18 @@ var ltLangIdx = []uint16{ // 613 elements 0x1367, 0x1373, 0x1378, 0x137d, 0x1381, 0x1387, 0x138c, 0x1391, 0x1394, 0x139b, 0x13a3, 0x13ac, 0x13b5, 0x13bd, 0x13c5, 0x13d1, 0x13e0, 0x13e6, 0x13ec, 0x13f4, 0x13fd, 0x140d, 0x1415, 0x141b, - 0x1424, 0x142a, 0x1444, 0x144c, 0x1454, 0x145b, 0x145f, 0x1462, - 0x1469, 0x146f, 0x1480, 0x1495, 0x149a, 0x149e, 0x14a3, 0x14ab, - 0x14b1, 0x14b6, 0x14bb, 0x14c3, 0x14d9, 0x14e1, 0x14e9, 0x14ee, + 0x1424, 0x142a, 0x1444, 0x144c, 0x1454, 0x145b, 0x146a, 0x146d, + 0x1474, 0x147a, 0x148b, 0x14a0, 0x14a5, 0x14a9, 0x14ae, 0x14b6, + 0x14bc, 0x14c1, 0x14c6, 0x14ce, 0x14e4, 0x14ec, 0x14f4, 0x14f9, // Entry 240 - 27F - 0x14f1, 0x14f8, 0x1501, 0x1507, 0x150f, 0x152a, 0x1533, 0x1542, - 0x154a, 0x1550, 0x156e, 0x1572, 0x1588, 0x158c, 0x15ad, 0x15ad, - 0x15c1, 0x15e5, 0x15f7, 0x1605, 0x1622, 0x163d, 0x1655, 0x1664, - 0x1674, 0x1674, 0x1686, 0x169d, 0x16c1, 0x16ca, 0x16df, 0x16f1, - 0x16f9, 0x1707, 0x1716, 0x172b, 0x173b, + 0x14fc, 0x1503, 0x150c, 0x1512, 0x151a, 0x1535, 0x153e, 0x154d, + 0x1555, 0x155b, 0x1579, 0x157d, 0x1593, 0x1597, 0x15b8, 0x15b8, + 0x15cc, 0x15f0, 0x1602, 0x1610, 0x162d, 0x1648, 0x1660, 0x166f, + 0x167f, 0x167f, 0x1691, 0x16a8, 0x16cc, 0x16d5, 0x16ea, 0x16fc, + 0x1704, 0x1712, 0x1721, 0x1736, 0x1746, } // Size: 1250 bytes -const lvLangStr string = "" + // Size: 4355 bytes +const lvLangStr string = "" + // Size: 4366 bytes "afāruabhāzuavestaafrikanduakanuamharuaragoniešuarābuasamiešuavāruaimarua" + "zerbaidžāņubaškīrubaltkrievubulgārubišlamābambarubengāļutibetiešubretoņu" + "bosniešukatalāņučečenučamorrukorsikāņukrīčehubaznīcslāvučuvašuvelsiešudā" + @@ -21152,14 +21157,14 @@ const lvLangStr string = "" + // Size: 4355 bytes "mususušumerukomoruklasiskā sīriešusīriešutemnutesoterenotetumutigrutivut" + "okelaviešuklingoņutlinkitutuareguNjasas tongutokpisinstarokocimšiāņutumb" + "ukutuvaliešutasavakutuviešuCentrālmarokas tamazītsudmurtuugaritiešuumbun" + - "dusaknevajuvotuvundžoVallisas vācuvalamuvarajuvašovarlpirīkalmikusogujao" + - "japiešujanbaņujembukantoniešusapotekublissimbolikazenagustandarta marokā" + - "ņu berberuzunjubez lingvistiska saturazazakimūsdienu standarta arābudie" + - "nvidazerbaidžāņuAustrijas vācuŠveices augšvācuAustrālijas angļuKanādas a" + - "ngļuLielbritānijas angļuASV angļuLatīņamerikas spāņuEiropas spāņuMeksika" + - "s spāņuKanādas frančuŠveices frančulejassakšuflāmuBrazīlijas portugāļuEi" + - "ropas portugāļumoldāvuserbu–horvātuKongo svahiliķīniešu vienkāršotāķīnie" + - "šu tradicionālā" + "dunezināma valodavajuvotuvundžoVallisas vācuvalamuvarajuvašovarlpirīkalm" + + "ikusogujaojapiešujanbaņujembukantoniešusapotekublissimbolikazenagustanda" + + "rta marokāņu berberuzunjubez lingvistiska saturazazakimūsdienu standarta" + + " arābudienvidazerbaidžāņuAustrijas vācuŠveices augšvācuAustrālijas angļu" + + "Kanādas angļuLielbritānijas angļuASV angļuLatīņamerikas spāņuEiropas spā" + + "ņuMeksikas spāņuKanādas frančuŠveices frančulejassakšuflāmuBrazīlijas p" + + "ortugāļuEiropas portugāļumoldāvuserbu–horvātuKongo svahiliķīniešu vienkā" + + "ršotāķīniešu tradicionālā" var lvLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -21240,18 +21245,18 @@ var lvLangIdx = []uint16{ // 613 elements 0x0e09, 0x0e09, 0x0e09, 0x0e0e, 0x0e12, 0x0e18, 0x0e1e, 0x0e23, 0x0e27, 0x0e33, 0x0e33, 0x0e3c, 0x0e44, 0x0e44, 0x0e4b, 0x0e57, 0x0e60, 0x0e60, 0x0e66, 0x0e66, 0x0e71, 0x0e71, 0x0e78, 0x0e82, - 0x0e8a, 0x0e92, 0x0eab, 0x0eb2, 0x0ebd, 0x0ec4, 0x0ec9, 0x0ecd, - 0x0ecd, 0x0ecd, 0x0ecd, 0x0ecd, 0x0ed1, 0x0ed1, 0x0ed8, 0x0ee6, - 0x0eec, 0x0ef2, 0x0ef7, 0x0f00, 0x0f00, 0x0f07, 0x0f07, 0x0f0b, + 0x0e8a, 0x0e92, 0x0eab, 0x0eb2, 0x0ebd, 0x0ec4, 0x0ed4, 0x0ed8, + 0x0ed8, 0x0ed8, 0x0ed8, 0x0ed8, 0x0edc, 0x0edc, 0x0ee3, 0x0ef1, + 0x0ef7, 0x0efd, 0x0f02, 0x0f0b, 0x0f0b, 0x0f12, 0x0f12, 0x0f16, // Entry 240 - 27F - 0x0f0e, 0x0f16, 0x0f1e, 0x0f23, 0x0f23, 0x0f2e, 0x0f36, 0x0f43, - 0x0f43, 0x0f49, 0x0f65, 0x0f6a, 0x0f81, 0x0f87, 0x0fa1, 0x0fb7, - 0x0fc6, 0x0fd9, 0x0fec, 0x0ffb, 0x1011, 0x101b, 0x1032, 0x1041, - 0x1051, 0x1051, 0x1061, 0x1071, 0x107c, 0x1082, 0x1099, 0x10ac, - 0x10b4, 0x10c4, 0x10d1, 0x10ea, 0x1103, + 0x0f19, 0x0f21, 0x0f29, 0x0f2e, 0x0f2e, 0x0f39, 0x0f41, 0x0f4e, + 0x0f4e, 0x0f54, 0x0f70, 0x0f75, 0x0f8c, 0x0f92, 0x0fac, 0x0fc2, + 0x0fd1, 0x0fe4, 0x0ff7, 0x1006, 0x101c, 0x1026, 0x103d, 0x104c, + 0x105c, 0x105c, 0x106c, 0x107c, 0x1087, 0x108d, 0x10a4, 0x10b7, + 0x10bf, 0x10cf, 0x10dc, 0x10f5, 0x110e, } // Size: 1250 bytes -const mkLangStr string = "" + // Size: 10280 bytes +const mkLangStr string = "" + // Size: 10297 bytes "афарскиапхаскиавестанскиафрикансаканскиамхарскиарагонскиарапскиасамскиав" + "арскиајмарскиазербејџанскибашкирскибелорускибугарскибисламабамбарабенга" + "лскитибетскибретонскибосанскикаталонскичеченскичаморскикорзиканскикриче" + @@ -21317,14 +21322,15 @@ const mkLangStr string = "" + // Size: 10280 bytes "ен сирискисирискишлезискитулутимнетесотеренотетумтигретивтокелауанскица" + "хурскиклингонскитлингитталишкитамашекњаса тонгаток писинтуројотарокоцак" + "онскицимшијанскитатскитумбукатувалуанскитазавактуванскицентралноатланск" + - "и тамазитскиудмуртскиугаритскиумбундукоренвајвенетскивепшкизападнофлама" + - "нскимајнскофранконскивотскивирувунџовалсерволамоварајскивашоварлпиривук" + - "алмичкимегрелскисогајаојапскијенгбенјембањенгатукантонскизапотечкиблисс" + - "имболизеландскизенагастандарден марокански тамазитскизунибез лингвистич" + - "ка содржиназазалитературен арапскиавстралиски англискиканадски англиски" + - "британски англискиамерикански англискишпански (во Европа)канадски франц" + - "ускишвајцарски францускифламанскипортугалски (во Европа)молдавскисрпско" + - "хрватскиконгоански свахилипоедноставен кинескитрадиционален кинески" + "и тамазитскиудмуртскиугаритскиумбундунепознат јазиквајвенетскивепшкизап" + + "аднофламанскимајнскофранконскивотскивирувунџовалсерволамоварајскивашова" + + "рлпиривукалмичкимегрелскисогајаојапскијенгбенјембањенгатукантонскизапот" + + "ечкиблиссимболизеландскизенагастандарден марокански тамазитскизунибез л" + + "ингвистичка содржиназазалитературен арапскиавстралиски англискиканадски" + + " англискибритански англискиамерикански англискишпански (во Европа)канадс" + + "ки францускишвајцарски францускифламанскипортугалски (во Европа)молдавс" + + "кисрпскохрватскиконгоански свахилипоедноставен кинескитрадиционален кин" + + "ески" var mkLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -21405,18 +21411,18 @@ var mkLangIdx = []uint16{ // 613 elements 0x2251, 0x2261, 0x2269, 0x2273, 0x227b, 0x2287, 0x2291, 0x229b, 0x22a1, 0x22b9, 0x22c9, 0x22dd, 0x22eb, 0x22f9, 0x2307, 0x231a, 0x232b, 0x2337, 0x2343, 0x2353, 0x2369, 0x2375, 0x2383, 0x2399, - 0x23a7, 0x23b7, 0x23ee, 0x2400, 0x2412, 0x2420, 0x242a, 0x2430, - 0x2440, 0x244c, 0x246c, 0x248e, 0x249a, 0x24a2, 0x24ac, 0x24b8, - 0x24c4, 0x24d4, 0x24dc, 0x24ec, 0x24f0, 0x2500, 0x2512, 0x251a, + 0x23a7, 0x23b7, 0x23ee, 0x2400, 0x2412, 0x2420, 0x243b, 0x2441, + 0x2451, 0x245d, 0x247d, 0x249f, 0x24ab, 0x24b3, 0x24bd, 0x24c9, + 0x24d5, 0x24e5, 0x24ed, 0x24fd, 0x2501, 0x2511, 0x2523, 0x252b, // Entry 240 - 27F - 0x2520, 0x252c, 0x253a, 0x2544, 0x2552, 0x2564, 0x2576, 0x258c, - 0x259e, 0x25aa, 0x25e8, 0x25f0, 0x2620, 0x2628, 0x264d, 0x264d, - 0x264d, 0x264d, 0x2674, 0x2695, 0x26b8, 0x26df, 0x26df, 0x2701, - 0x2701, 0x2701, 0x2724, 0x274b, 0x274b, 0x275d, 0x275d, 0x2787, - 0x2799, 0x27b5, 0x27d8, 0x27ff, 0x2828, + 0x2531, 0x253d, 0x254b, 0x2555, 0x2563, 0x2575, 0x2587, 0x259d, + 0x25af, 0x25bb, 0x25f9, 0x2601, 0x2631, 0x2639, 0x265e, 0x265e, + 0x265e, 0x265e, 0x2685, 0x26a6, 0x26c9, 0x26f0, 0x26f0, 0x2712, + 0x2712, 0x2712, 0x2735, 0x275c, 0x275c, 0x276e, 0x276e, 0x2798, + 0x27aa, 0x27c6, 0x27e9, 0x2810, 0x2839, } // Size: 1250 bytes -const mlLangStr string = "" + // Size: 12319 bytes +const mlLangStr string = "" + // Size: 12329 bytes "അഫാർഅബ്\u200cഖാസിയൻഅവസ്റ്റാൻആഫ്രിക്കാൻസ്അകാൻ\u200cഅംഹാരിക്അരഗോണീസ്അറബിക്" + "ആസ്സാമീസ്അവാരിക്അയ്മാറഅസർബൈജാനിബഷ്ഖിർബെലാറുഷ്യൻബൾഗേറിയൻബിസ്\u200cലാമബം" + "ബാറബംഗാളിടിബറ്റൻബ്രെട്ടൺബോസ്നിയൻകറ്റാലാൻചെചൻചമോറോകോർസിക്കൻക്രീചെക്ക്ചർ" + @@ -21470,12 +21476,12 @@ const mlLangStr string = "" + // Size: 12319 bytes "െറർസാഹോസുകുമസുസുസുമേരിയൻകൊമോറിയൻപുരാതന സുറിയാനിഭാഷസുറിയാനിടിംനേടെസോടെറ" + "േനോടെറ്റുംടൈഗ്രിടിവ്ടൊക്കേലൗക്ലിംഗോൺലിംഗ്വിറ്റ്ടമഷേക്ന്യാസാ ഡോങ്കടോക് " + "പിസിൻതരോക്കോസിംഷ്യൻടുംബുകടുവാലുടസവാക്ക്തുവിനിയൻമധ്യ അറ്റ്\u200cലസ് ടമാ" + - "സൈറ്റ്ഉഡ്മുർട്ട്ഉഗറിട്ടിക്ഉംബുന്ദുമൂലഭാഷവൈവോട്ടിക്വുൻജോവാൾസർവൊലൈറ്റവാര" + - "േയ്വാഷൊവൂൾപിരിവു ചൈനീസ്കൽമൈക്സോഗോയാവോയെപ്പീസ്യാംഗ്ബെൻയംബകാന്റണീസ്സാപ്പ" + - "ോടെക്ബ്ലിസ്സിംബൽസ്സെനഗസ്റ്റാൻഡേർഡ് മൊറോക്കൻ റ്റാമസിയറ്റ്സുനിഭാഷാപരമായ " + - "ഉള്ളടക്കമൊന്നുമില്ലസാസാആധുനിക സ്റ്റാൻഡേർഡ് അറബിക്ഓസ്\u200cട്രിയൻ ജർമൻസ" + - "്വിസ് ഹൈ ജർമൻഓസ്\u200cട്രേലിയൻ ഇംഗ്ലീഷ്കനേഡിയൻ ഇംഗ്ലീഷ്ബ്രിട്ടീഷ് ഇംഗ്" + - "ലീഷ്അമേരിക്കൻ ഇംഗ്ലീഷ്ലാറ്റിൻ അമേരിക്കൻ സ്\u200cപാനിഷ്യൂറോപ്യൻ സ്" + + "സൈറ്റ്ഉഡ്മുർട്ട്ഉഗറിട്ടിക്ഉംബുന്ദുഅജ്ഞാത ഭാഷവൈവോട്ടിക്വുൻജോവാൾസർവൊലൈറ്" + + "റവാരേയ്വാഷൊവൂൾപിരിവു ചൈനീസ്കൽമൈക്സോഗോയാവോയെപ്പീസ്യാംഗ്ബെൻയംബകാന്റണീസ്സ" + + "ാപ്പോടെക്ബ്ലിസ്സിംബൽസ്സെനഗസ്റ്റാൻഡേർഡ് മൊറോക്കൻ റ്റാമസിയറ്റ്സുനിഭാഷാപര" + + "മായ ഉള്ളടക്കമൊന്നുമില്ലസാസാആധുനിക സ്റ്റാൻഡേർഡ് അറബിക്ഓസ്\u200cട്രിയൻ ജ" + + "ർമൻസ്വിസ് ഹൈ ജർമൻഓസ്\u200cട്രേലിയൻ ഇംഗ്ലീഷ്കനേഡിയൻ ഇംഗ്ലീഷ്ബ്രിട്ടീഷ് " + + "ഇംഗ്ലീഷ്അമേരിക്കൻ ഇംഗ്ലീഷ്ലാറ്റിൻ അമേരിക്കൻ സ്\u200cപാനിഷ്യൂറോപ്യൻ സ്" + "\u200cപാനിഷ്മെക്സിക്കൻ സ്പാനിഷ്കനേഡിയൻ ഫ്രഞ്ച്സ്വിസ് ഫ്രഞ്ച്ലോ സാക്സൺഫ്ല" + "മിഷ്ബ്രസീലിയൻ പോർച്ചുഗീസ്യൂറോപ്യൻ പോർച്ചുഗീസ്മോൾഡാവിയൻസെർബോ-ക്രൊയേഷ്യൻ" + "കോംഗോ സ്വാഹിലിലളിതമാക്കിയ ചൈനീസ്പരമ്പരാഗത ചൈനീസ്" @@ -21559,18 +21565,18 @@ var mlLangIdx = []uint16{ // 613 elements 0x27c7, 0x27c7, 0x27c7, 0x27d6, 0x27e2, 0x27f4, 0x2809, 0x281b, 0x2827, 0x283f, 0x283f, 0x2857, 0x2878, 0x2878, 0x288a, 0x28ac, 0x28c8, 0x28c8, 0x28dd, 0x28dd, 0x28f2, 0x28f2, 0x2904, 0x2916, - 0x292e, 0x2946, 0x298a, 0x29a8, 0x29c6, 0x29de, 0x29f0, 0x29f6, - 0x29f6, 0x29f6, 0x29f6, 0x29f6, 0x2a0e, 0x2a0e, 0x2a1d, 0x2a2c, - 0x2a41, 0x2a53, 0x2a5f, 0x2a74, 0x2a8d, 0x2a9f, 0x2a9f, 0x2aab, + 0x292e, 0x2946, 0x298a, 0x29a8, 0x29c6, 0x29de, 0x29fa, 0x2a00, + 0x2a00, 0x2a00, 0x2a00, 0x2a00, 0x2a18, 0x2a18, 0x2a27, 0x2a36, + 0x2a4b, 0x2a5d, 0x2a69, 0x2a7e, 0x2a97, 0x2aa9, 0x2aa9, 0x2ab5, // Entry 240 - 27F - 0x2ab7, 0x2acf, 0x2ae7, 0x2af0, 0x2af0, 0x2b0b, 0x2b29, 0x2b50, - 0x2b50, 0x2b5c, 0x2bbe, 0x2bca, 0x2c1f, 0x2c2b, 0x2c75, 0x2c75, - 0x2ca0, 0x2cc6, 0x2d03, 0x2d31, 0x2d68, 0x2d9c, 0x2de9, 0x2e1d, - 0x2e54, 0x2e54, 0x2e7f, 0x2ea7, 0x2ec0, 0x2ed5, 0x2f12, 0x2f4c, - 0x2f67, 0x2f95, 0x2fbd, 0x2ff1, 0x301f, + 0x2ac1, 0x2ad9, 0x2af1, 0x2afa, 0x2afa, 0x2b15, 0x2b33, 0x2b5a, + 0x2b5a, 0x2b66, 0x2bc8, 0x2bd4, 0x2c29, 0x2c35, 0x2c7f, 0x2c7f, + 0x2caa, 0x2cd0, 0x2d0d, 0x2d3b, 0x2d72, 0x2da6, 0x2df3, 0x2e27, + 0x2e5e, 0x2e5e, 0x2e89, 0x2eb1, 0x2eca, 0x2edf, 0x2f1c, 0x2f56, + 0x2f71, 0x2f9f, 0x2fc7, 0x2ffb, 0x3029, } // Size: 1250 bytes -const mnLangStr string = "" + // Size: 5582 bytes +const mnLangStr string = "" + // Size: 5605 bytes "афарабхазафрикаканамхарарагонарабассамавар хэлаймараазербайжанбашкирбела" + "русьболгарбисламбамбарабенгалтөвдбретонбосникаталанчеченьчаморро хэлкор" + "сикчехсүмийн славян хэлчувашуэльсданигермандивехи хэлжонхаэвэгреканглиэ" + @@ -21605,13 +21611,13 @@ const mnLangStr string = "" + // Size: 5582 bytes "нталингамбайсангүсицилийншотландуудсенакёраборо сенитачелхитшаньөмнөд с" + "амилюле самиинари самисколт самисонинкесранан тонгосахосукумакомори хэл" + "сирийнтимнтэсотетумтигрклингон хэлток писинтарокотумбулатувалутасавакту" + - "ватөв атласын тамазайтудмуртумбундурутвайвунжоуолсэруоллайттаварайхалим" + - "аг хэлсогаянгбенембакантон хэлтамазитзунихэл зүйн агуулгагүйзазастандар" + - "т арабавстри германшвейцари дээр германавстрали англиканад англибритани" + - "йн англиамерикийн англилатин америкийн испаниевропын испанимексикийн ис" + - "паниканад францшвейцари францбага саксонфламандпортугаль (бразил)европы" + - "н португальмолдавхорватын сербконго свахилихялбаршуулсан хятадуламжлалт" + - " хятад" + "ватөв атласын тамазайтудмуртумбундутодорхойгүй хэлвайвунжоуолсэруоллайт" + + "таварайхалимаг хэлсогаянгбенембакантон хэлтамазитзунихэл зүйн агуулгагү" + + "йзазастандарт арабавстри германшвейцари дээр германавстрали англиканад " + + "англибританийн англиамерикийн англилатин америкийн испаниевропын испани" + + "мексикийн испаниканад францшвейцари францбага саксонфламандпортугаль (б" + + "разил)европын португальмолдавхорватын сербконго свахилихялбаршуулсан хя" + + "тадуламжлалт хятад" var mnLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -21692,18 +21698,18 @@ var mnLangIdx = []uint16{ // 613 elements 0x120b, 0x120b, 0x120b, 0x1213, 0x121b, 0x121b, 0x1225, 0x122d, 0x122d, 0x122d, 0x122d, 0x1242, 0x1242, 0x1242, 0x1242, 0x1242, 0x1253, 0x1253, 0x125f, 0x125f, 0x125f, 0x125f, 0x126d, 0x1279, - 0x1287, 0x128f, 0x12b5, 0x12c1, 0x12c1, 0x12cf, 0x12d5, 0x12db, - 0x12db, 0x12db, 0x12db, 0x12db, 0x12db, 0x12db, 0x12e5, 0x12f1, - 0x1303, 0x130d, 0x130d, 0x130d, 0x130d, 0x1322, 0x1322, 0x132a, + 0x1287, 0x128f, 0x12b5, 0x12c1, 0x12c1, 0x12cf, 0x12ec, 0x12f2, + 0x12f2, 0x12f2, 0x12f2, 0x12f2, 0x12f2, 0x12f2, 0x12fc, 0x1308, + 0x131a, 0x1324, 0x1324, 0x1324, 0x1324, 0x1339, 0x1339, 0x1341, // Entry 240 - 27F - 0x132a, 0x132a, 0x1336, 0x133e, 0x133e, 0x1351, 0x1351, 0x1351, - 0x1351, 0x1351, 0x135f, 0x1367, 0x138b, 0x1393, 0x13ac, 0x13ac, - 0x13c5, 0x13eb, 0x1406, 0x141b, 0x1438, 0x1455, 0x147f, 0x149a, - 0x14b9, 0x14b9, 0x14ce, 0x14e9, 0x14fe, 0x150c, 0x152d, 0x154e, - 0x155a, 0x1573, 0x158c, 0x15b1, 0x15ce, + 0x1341, 0x1341, 0x134d, 0x1355, 0x1355, 0x1368, 0x1368, 0x1368, + 0x1368, 0x1368, 0x1376, 0x137e, 0x13a2, 0x13aa, 0x13c3, 0x13c3, + 0x13dc, 0x1402, 0x141d, 0x1432, 0x144f, 0x146c, 0x1496, 0x14b1, + 0x14d0, 0x14d0, 0x14e5, 0x1500, 0x1515, 0x1523, 0x1544, 0x1565, + 0x1571, 0x158a, 0x15a3, 0x15c8, 0x15e5, } // Size: 1250 bytes -const mrLangStr string = "" + // Size: 11500 bytes +const mrLangStr string = "" + // Size: 11522 bytes "अफारअबखेजियनअवेस्तनअफ्रिकान्सअकानअम्हारिकअर्गोनीजअरबीआसामीअ\u200dॅव्हेरि" + "कऐमराअझरबैजानीबष्किरबेलारुशियनबल्गेरियनबिस्लामाबाम्बाराबंगालीतिबेटीब्र" + "ेतॉनबोस्नियनकातालानचेचेनकॅमोरोकॉर्सिकनक्रीझेकचर्च स्लाव्हिकचूवाशवेल्शड" + @@ -21752,14 +21758,14 @@ const mrLangStr string = "" + // Size: 11500 bytes "ोल्ट सामीसोनिन्केसोग्डिएनस्रानान टॉन्गोसेरेरसाहोसुकुमासुसुसुमेरियनकोमो" + "रियनअभिजात सिरियाकसिरियाकटिम्नेतेसोतेरेनोतेतुमटाइग्रेतिवटोकेलाऊक्लिंगो" + "नलिंगिततामाशेकन्यासा टोन्गाटोक पिसिनतारोकोसिम्शियनतुम्बुकाटुवालुतासाव्" + - "हाकटुवीनियनमध्य ऍटलास तॅमॅझायटउदमुर्तयुगॅरिटिकउम्बुन्डुरूटवाईवॉटिकवुंज" + - "ोवालसेरवोलायतावारेवाशोवार्लपिरीव्हू चिनीकाल्मिकसोगायाओयापीसयानगबेनयेमब" + - "ाकँटोनीजझेपोटेकब्लिसिम्बॉल्सझेनान्गाप्रमाण मोरोक्कन तॅमॅझायटझुनीभाषावै" + - "ज्ञानिक सामग्री नाहीझाझाआधुनिक प्रमाणित अरबीऑस्ट्रियन जर्मनस्विस हाय ज" + - "र्मनऑस्ट्रेलियन इंग्रजीकॅनडियन इंग्रजीब्रिटिश इंग्रजीअमेरिकन इंग्रजीलॅ" + - "टिन अमेरिकन स्पॅनिशयुरोपियन स्पॅनिशमेक्सिकन स्पॅनिशकॅनडियन फ्रेंचस्विस" + - " फ्रेंचलो सॅक्सनफ्लेमिशब्राझिलियन पोर्तुगीजयुरोपियन पोर्तुगीजमोल्डाव्हिय" + - "नसर्बो-क्रोएशियनकाँगो स्वाहिलीसरलीकृत चीनीपारंपारिक चीनी" + "हाकटुवीनियनमध्य ऍटलास तॅमॅझायटउदमुर्तयुगॅरिटिकउम्बुन्डुअज्ञात भाषावाईव" + + "ॉटिकवुंजोवालसेरवोलायतावारेवाशोवार्लपिरीव्हू चिनीकाल्मिकसोगायाओयापीसयान" + + "गबेनयेमबाकँटोनीजझेपोटेकब्लिसिम्बॉल्सझेनान्गाप्रमाण मोरोक्कन तॅमॅझायटझु" + + "नीभाषावैज्ञानिक सामग्री नाहीझाझाआधुनिक प्रमाणित अरबीऑस्ट्रियन जर्मनस्व" + + "िस हाय जर्मनऑस्ट्रेलियन इंग्रजीकॅनडियन इंग्रजीब्रिटिश इंग्रजीअमेरिकन इ" + + "ंग्रजीलॅटिन अमेरिकन स्पॅनिशयुरोपियन स्पॅनिशमेक्सिकन स्पॅनिशकॅनडियन फ्र" + + "ेंचस्विस फ्रेंचलो सॅक्सनफ्लेमिशब्राझिलियन पोर्तुगीजयुरोपियन पोर्तुगीजम" + + "ोल्डाव्हियनसर्बो-क्रोएशियनकाँगो स्वाहिलीसरलीकृत चीनीपारंपारिक चीनी" var mrLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -21840,18 +21846,18 @@ var mrLangIdx = []uint16{ // 613 elements 0x2565, 0x2565, 0x2565, 0x2577, 0x2583, 0x2595, 0x25a4, 0x25b9, 0x25c2, 0x25d7, 0x25d7, 0x25ef, 0x2601, 0x2601, 0x2616, 0x263b, 0x2654, 0x2654, 0x2666, 0x2666, 0x267e, 0x267e, 0x2696, 0x26a8, - 0x26c3, 0x26db, 0x2710, 0x2725, 0x2740, 0x275b, 0x2764, 0x276d, - 0x276d, 0x276d, 0x276d, 0x276d, 0x277c, 0x277c, 0x278b, 0x279d, - 0x27b2, 0x27be, 0x27ca, 0x27e5, 0x27fe, 0x2813, 0x2813, 0x281f, + 0x26c3, 0x26db, 0x2710, 0x2725, 0x2740, 0x275b, 0x277a, 0x2783, + 0x2783, 0x2783, 0x2783, 0x2783, 0x2792, 0x2792, 0x27a1, 0x27b3, + 0x27c8, 0x27d4, 0x27e0, 0x27fb, 0x2814, 0x2829, 0x2829, 0x2835, // Entry 240 - 27F - 0x2828, 0x2837, 0x284c, 0x285b, 0x285b, 0x2870, 0x2885, 0x28ac, - 0x28ac, 0x28c4, 0x2908, 0x2914, 0x295e, 0x296a, 0x29a2, 0x29a2, - 0x29cd, 0x29f6, 0x2a2d, 0x2a58, 0x2a83, 0x2aae, 0x2ae9, 0x2b17, - 0x2b45, 0x2b45, 0x2b6d, 0x2b8f, 0x2ba8, 0x2bbd, 0x2bf7, 0x2c2b, - 0x2c4f, 0x2c7a, 0x2ca2, 0x2cc4, 0x2cec, + 0x283e, 0x284d, 0x2862, 0x2871, 0x2871, 0x2886, 0x289b, 0x28c2, + 0x28c2, 0x28da, 0x291e, 0x292a, 0x2974, 0x2980, 0x29b8, 0x29b8, + 0x29e3, 0x2a0c, 0x2a43, 0x2a6e, 0x2a99, 0x2ac4, 0x2aff, 0x2b2d, + 0x2b5b, 0x2b5b, 0x2b83, 0x2ba5, 0x2bbe, 0x2bd3, 0x2c0d, 0x2c41, + 0x2c65, 0x2c90, 0x2cb8, 0x2cda, 0x2d02, } // Size: 1250 bytes -const msLangStr string = "" + // Size: 3266 bytes +const msLangStr string = "" + // Size: 3284 bytes "aaAbkhaziaAvestanAfrikaansAkanAmharicAragonArabAssamAvaricAymaraAzerbaij" + "anBashkirBelarusBulgariaBislamaBambaraBenggalaTibetBretonBosniaCatalonia" + "ChechenChamorroCorsicaCzechSlavik GerejaChuvashWalesDenmarkJermanDivehiD" + @@ -21891,13 +21897,13 @@ const msLangStr string = "" + // Size: 3266 bytes "achelhitShanArab ChadianSami SelatanLule SamiInari SamiSkolt SamiSoninke" + "Sranan TongoSahoSukumaComoriaSyriacTimneTesoTetumTigreKlingonTalyshTok P" + "isinTarokoTumbukaTuvaluTasawaqTuvinianTamazight Atlas TengahUdmurtUmbund" + - "uRootVaiVunjoWalserWolayttaWarayWarlpiriCina WuKalmykSogaYangbenYembaKan" + - "tonisTamazight Maghribi StandardZuniTiada kandungan linguistikZazaArab S" + - "tandard ModenJerman AustriaJerman Halus SwitzerlandInggeris AustraliaIng" + - "geris KanadaInggeris BritishInggeris ASSepanyol Amerika LatinSepanyol Er" + - "opahSepanyol MexicoPerancis KanadaPerancis SwitzerlandSaxon RendahFlemis" + - "hPortugis BrazilPortugis EropahMoldaviaSerboCroatiaCongo SwahiliCina Rin" + - "gkasCina Tradisional" + "uBahasa Tidak DiketahuiVaiVunjoWalserWolayttaWarayWarlpiriCina WuKalmykS" + + "ogaYangbenYembaKantonisTamazight Maghribi StandardZuniTiada kandungan li" + + "nguistikZazaArab Standard ModenJerman AustriaJerman Halus SwitzerlandIng" + + "geris AustraliaInggeris KanadaInggeris BritishInggeris ASSepanyol Amerik" + + "a LatinSepanyol EropahSepanyol MexicoPerancis KanadaPerancis Switzerland" + + "Saxon RendahFlemishPortugis BrazilPortugis EropahMoldaviaSerboCroatiaCon" + + "go SwahiliCina RingkasCina Tradisional" var msLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -21978,18 +21984,18 @@ var msLangIdx = []uint16{ // 613 elements 0x0a91, 0x0a91, 0x0a91, 0x0a96, 0x0a9a, 0x0a9a, 0x0a9f, 0x0aa4, 0x0aa4, 0x0aa4, 0x0aa4, 0x0aab, 0x0aab, 0x0ab1, 0x0ab1, 0x0ab1, 0x0aba, 0x0aba, 0x0ac0, 0x0ac0, 0x0ac0, 0x0ac0, 0x0ac7, 0x0acd, - 0x0ad4, 0x0adc, 0x0af2, 0x0af8, 0x0af8, 0x0aff, 0x0b03, 0x0b06, - 0x0b06, 0x0b06, 0x0b06, 0x0b06, 0x0b06, 0x0b06, 0x0b0b, 0x0b11, - 0x0b19, 0x0b1e, 0x0b1e, 0x0b26, 0x0b2d, 0x0b33, 0x0b33, 0x0b37, + 0x0ad4, 0x0adc, 0x0af2, 0x0af8, 0x0af8, 0x0aff, 0x0b15, 0x0b18, + 0x0b18, 0x0b18, 0x0b18, 0x0b18, 0x0b18, 0x0b18, 0x0b1d, 0x0b23, + 0x0b2b, 0x0b30, 0x0b30, 0x0b38, 0x0b3f, 0x0b45, 0x0b45, 0x0b49, // Entry 240 - 27F - 0x0b37, 0x0b37, 0x0b3e, 0x0b43, 0x0b43, 0x0b4b, 0x0b4b, 0x0b4b, - 0x0b4b, 0x0b4b, 0x0b66, 0x0b6a, 0x0b84, 0x0b88, 0x0b9b, 0x0b9b, - 0x0ba9, 0x0bc1, 0x0bd3, 0x0be2, 0x0bf2, 0x0bfd, 0x0c13, 0x0c22, - 0x0c31, 0x0c31, 0x0c40, 0x0c54, 0x0c60, 0x0c67, 0x0c76, 0x0c85, - 0x0c8d, 0x0c99, 0x0ca6, 0x0cb2, 0x0cc2, + 0x0b49, 0x0b49, 0x0b50, 0x0b55, 0x0b55, 0x0b5d, 0x0b5d, 0x0b5d, + 0x0b5d, 0x0b5d, 0x0b78, 0x0b7c, 0x0b96, 0x0b9a, 0x0bad, 0x0bad, + 0x0bbb, 0x0bd3, 0x0be5, 0x0bf4, 0x0c04, 0x0c0f, 0x0c25, 0x0c34, + 0x0c43, 0x0c43, 0x0c52, 0x0c66, 0x0c72, 0x0c79, 0x0c88, 0x0c97, + 0x0c9f, 0x0cab, 0x0cb8, 0x0cc4, 0x0cd4, } // Size: 1250 bytes -const myLangStr string = "" + // Size: 10322 bytes +const myLangStr string = "" + // Size: 10320 bytes "အာဖာအဘ်ခါဇီရာတောင်အာဖရိကအာကန်အမ်ဟာရစ်ခ်အာရာဂွန်အာရဗီအာသံအာဗာရစ်ခ်အိုင်မာ" + "ရအဇာဘိုင်ဂျန်ဘက်ရှ်ကာဘီလာရုဇ်ဘူလ်ဂေးရီးယားဘစ်စ်လာမာဘန်ဘာရာဘင်္ဂါလီတိဘက" + "်ဘရီတွန်ဘော့စ်နီးယားကတ်တလန်ချက်ချန်းချမိုရိုခိုစီကန်ခရီးချက်ချပ်ချ် စလ" + @@ -22034,7 +22040,7 @@ const myLangStr string = "" + // Size: 10322 bytes " ဆမ်နီအိုင်းရစ် ဟောင်းတာချယ်လ်ဟစ်ရှမ်းတောင် ဆာမိလူလီ ဆာမိအီနာရီ ဆာမိစခို" + "းလ် ဆမ်မီဆိုနင်ကေးဆရာနန် တွန်ဂိုဆာဟိုဆူကူမာကိုမိုရီးယန်းဆီးရီးယားတင်မ်" + "နဲတီဆိုတီတွမ်တီဂရီကလင်ဂွန်တော့ခ် ပိစင်တရိုကိုတမ်ဘူကာတူဗာလူတာဆာဝါခ်တူဗန" + - "်အလယ်အာ့တလာစ် တာမာဇိုက်အူမူရတ်အူဘန်ဒူမူလရင်းမြစ်ဗိုင်ဗွန်ဂျိုဝေါလ်ဆာဝိ" + + "်အလယ်အာ့တလာစ် တာမာဇိုက်အူမူရတ်အူဘန်ဒူမသိသော ဘာသာဗိုင်ဗွန်ဂျိုဝေါလ်ဆာဝိ" + "ုလက်တာဝါရေးဝေါလ်ပီရီကာလ်မိုက်ဆိုဂါရန်ဘဲန်ရမ်ဘာကွမ်တုံမိုရိုကို တမဇိုက်" + "ဇူနီဘာသာစကားနှင့် ပတ်သက်သောအရာ မရှိပါဇာဇာဩစတြီးယား ဂျာမန်အလီမဲန်နစ် ဂျ" + "ာမန်ဩစတြေးလျှ အင်္ဂလိပ်ကနေဒါ အင်္ဂလိပ်ဗြိတိသျှ အင်္ဂလိပ်အမေရိကန် အင်္ဂ" + @@ -22120,18 +22126,18 @@ var myLangIdx = []uint16{ // 611 elements 0x22e7, 0x22e7, 0x22e7, 0x22fc, 0x230b, 0x230b, 0x231d, 0x232c, 0x232c, 0x232c, 0x232c, 0x2344, 0x2344, 0x2344, 0x2344, 0x2344, 0x2366, 0x2366, 0x237b, 0x237b, 0x237b, 0x237b, 0x2390, 0x23a2, - 0x23ba, 0x23c9, 0x2409, 0x241e, 0x241e, 0x2433, 0x2454, 0x2463, - 0x2463, 0x2463, 0x2463, 0x2463, 0x2463, 0x2463, 0x247b, 0x2490, - 0x24a8, 0x24b7, 0x24b7, 0x24d2, 0x24d2, 0x24ed, 0x24ed, 0x24fc, + 0x23ba, 0x23c9, 0x2409, 0x241e, 0x241e, 0x2433, 0x2452, 0x2461, + 0x2461, 0x2461, 0x2461, 0x2461, 0x2461, 0x2461, 0x2479, 0x248e, + 0x24a6, 0x24b5, 0x24b5, 0x24d0, 0x24d0, 0x24eb, 0x24eb, 0x24fa, // Entry 240 - 27F - 0x24fc, 0x24fc, 0x2511, 0x2520, 0x2520, 0x2535, 0x2535, 0x2535, - 0x2535, 0x2535, 0x2566, 0x2572, 0x25d1, 0x25dd, 0x25dd, 0x25dd, - 0x260b, 0x263c, 0x2673, 0x269e, 0x26d2, 0x2706, 0x2706, 0x2727, - 0x2727, 0x2727, 0x274c, 0x276e, 0x279b, 0x27b6, 0x27e1, 0x2809, - 0x2827, 0x2827, 0x2852, + 0x24fa, 0x24fa, 0x250f, 0x251e, 0x251e, 0x2533, 0x2533, 0x2533, + 0x2533, 0x2533, 0x2564, 0x2570, 0x25cf, 0x25db, 0x25db, 0x25db, + 0x2609, 0x263a, 0x2671, 0x269c, 0x26d0, 0x2704, 0x2704, 0x2725, + 0x2725, 0x2725, 0x274a, 0x276c, 0x2799, 0x27b4, 0x27df, 0x2807, + 0x2825, 0x2825, 0x2850, } // Size: 1246 bytes -const neLangStr string = "" + // Size: 13512 bytes +const neLangStr string = "" + // Size: 13539 bytes "अफारअब्खाजियालीअवेस्तानअफ्रिकान्सआकानअम्हारिकअरागोनीअरबीआसामीअवारिकऐमारा" + "अजरबैजानीबास्किरबेलारुसीबुल्गेरियालीबिस्लामबाम्बाराबंगालीतिब्बतीब्रेटन" + "बोस्नियालीक्याटालनचेचेनचामोर्रोकोर्सिकनक्रीचेकचर्च स्लाभिकचुभासवेल्शडे" + @@ -22190,14 +22196,14 @@ const neLangStr string = "" + // Size: 13512 bytes "ीदक्षिणी सामीलुले सामीइनारी सामीस्कोइट सामीसोनिन्केस्रानान टोङ्गोसाहोस" + "ुकुमासुसूसुमेरियालीकोमोरीपरम्परागत सिरियाकसिरियाकटिम्नेटेसोटेटुमटिग्रे" + "क्लिङ्गनन्यास टोङ्गाटोक पिसिनटारोकोमुस्लिम टाटटुम्बुकाटुभालुतासावाकटुभ" + - "िनियालीकेन्द्रीय एट्लास टामाजिघटउड्मुर्टउम्बुन्डीrootभाइमुख्य-फ्राङ्को" + - "नियालीभुन्जोवाल्सरवोलेट्टावारेवार्ल्पिरीकाल्मिकमिनग्रेलियालीसोगायाङ्बे" + - "नयेम्बान्हिनगातुकान्टोनियालीब्लिससिम्बोल्समानक मोरोक्कोन तामाजिघटजुनीभ" + - "ाषिक सामग्री छैनजाजाआधुनिक मानक अरबीअस्ट्रियाली जर्मनस्वीस हाई जर्मनअस" + - "्ट्रेलियाली अङ्ग्रेजीक्यानाडेली अङ्ग्रेजीबेलायती अङ्ग्रेजीअमेरिकी अङ्ग" + - "्रेजील्याटिन अमेरिकी स्पेनीयुरोपेली स्पेनीमेक्सिकन स्पेनीक्यानेडाली फ्" + - "रान्सेलीतल्लो साक्सनफ्लेमिसब्राजिली पोर्तुगीयुरोपेली पोर्तुगीकङ्गो स्व" + - "ाहिलीसरलिकृत चिनियाँपरम्परागत चिनियाँ" + "िनियालीकेन्द्रीय एट्लास टामाजिघटउड्मुर्टउम्बुन्डीअज्ञात भाषाभाइमुख्य-फ" + + "्राङ्कोनियालीभुन्जोवाल्सरवोलेट्टावारेवार्ल्पिरीकाल्मिकमिनग्रेलियालीसोग" + + "ायाङ्बेनयेम्बान्हिनगातुकान्टोनियालीब्लिससिम्बोल्समानक मोरोक्कोन तामाजि" + + "घटजुनीभाषिक सामग्री छैनजाजाआधुनिक मानक अरबीअस्ट्रियाली जर्मनस्वीस हाई " + + "जर्मनअस्ट्रेलियाली अङ्ग्रेजीक्यानाडेली अङ्ग्रेजीबेलायती अङ्ग्रेजीअमेरि" + + "की अङ्ग्रेजील्याटिन अमेरिकी स्पेनीयुरोपेली स्पेनीमेक्सिकन स्पेनीक्याने" + + "डाली फ्रान्सेलीतल्लो साक्सनफ्लेमिसब्राजिली पोर्तुगीयुरोपेली पोर्तुगीकङ" + + "्गो स्वाहिलीसरलिकृत चिनियाँपरम्परागत चिनियाँ" var neLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -22278,18 +22284,18 @@ var neLangIdx = []uint16{ // 613 elements 0x2dce, 0x2dce, 0x2dce, 0x2de0, 0x2dec, 0x2dec, 0x2dfb, 0x2e0d, 0x2e0d, 0x2e0d, 0x2e0d, 0x2e25, 0x2e25, 0x2e25, 0x2e25, 0x2e47, 0x2e60, 0x2e60, 0x2e72, 0x2e72, 0x2e72, 0x2e91, 0x2ea9, 0x2ebb, - 0x2ed0, 0x2eee, 0x2f35, 0x2f4d, 0x2f4d, 0x2f68, 0x2f6c, 0x2f75, - 0x2f75, 0x2f75, 0x2f75, 0x2faf, 0x2faf, 0x2faf, 0x2fc1, 0x2fd3, - 0x2feb, 0x2ff7, 0x2ff7, 0x3015, 0x3015, 0x302a, 0x3051, 0x305d, + 0x2ed0, 0x2eee, 0x2f35, 0x2f4d, 0x2f4d, 0x2f68, 0x2f87, 0x2f90, + 0x2f90, 0x2f90, 0x2f90, 0x2fca, 0x2fca, 0x2fca, 0x2fdc, 0x2fee, + 0x3006, 0x3012, 0x3012, 0x3030, 0x3030, 0x3045, 0x306c, 0x3078, // Entry 240 - 27F - 0x305d, 0x305d, 0x3072, 0x3084, 0x309f, 0x30c3, 0x30c3, 0x30ed, - 0x30ed, 0x30ed, 0x312e, 0x313a, 0x3169, 0x3175, 0x31a1, 0x31a1, - 0x31d2, 0x31fb, 0x323e, 0x3278, 0x32a9, 0x32da, 0x3318, 0x3343, - 0x336e, 0x336e, 0x33ab, 0x33ab, 0x33cd, 0x33e2, 0x3413, 0x3444, - 0x3444, 0x3444, 0x346c, 0x3497, 0x34c8, + 0x3078, 0x3078, 0x308d, 0x309f, 0x30ba, 0x30de, 0x30de, 0x3108, + 0x3108, 0x3108, 0x3149, 0x3155, 0x3184, 0x3190, 0x31bc, 0x31bc, + 0x31ed, 0x3216, 0x3259, 0x3293, 0x32c4, 0x32f5, 0x3333, 0x335e, + 0x3389, 0x3389, 0x33c6, 0x33c6, 0x33e8, 0x33fd, 0x342e, 0x345f, + 0x345f, 0x345f, 0x3487, 0x34b2, 0x34e3, } // Size: 1250 bytes -const nlLangStr string = "" + // Size: 4728 bytes +const nlLangStr string = "" + // Size: 4738 bytes "AfarAbchazischAvestischAfrikaansAkanAmhaarsAragoneesArabischAssameesAvar" + "ischAymaraAzerbeidzjaansBasjkiersWit-RussischBulgaarsBislamaBambaraBenga" + "alsTibetaansBretonsBosnischCatalaansTsjetsjeensChamorroCorsicaansCreeTsj" + @@ -22351,11 +22357,11 @@ const nlLangStr string = "" + // Size: 4728 bytes "ek SyrischSyrischSilezischTuluTimneTesoTerenoTetunTigreTivTokelausTsakhu" + "rKlingonTlingitTalyshTamashekNyasa TongaTok PisinTuroyoTarokoTsakonischT" + "simshianMoslim TatToemboekaTuvaluaansTasawaqToevaansTamazight (Centraal-" + - "Marokko)OedmoertsOegaritischUmbunduRootVaiVenetiaansWepsischWest-VlaamsO" + - "pperfrankischVotischVõroVunjoWalserWolayttaWarayWashoWarlpiriWuyuKalmuks" + - "MingreelsSogaYaoYapeesYangbenYembaNheengatuKantoneesZapotecBlissymbolenZ" + - "eeuwsZenagaStandaard Marokkaanse TamazightZunigeen linguïstische inhoudZ" + - "azaServo-Kroatisch" + "Marokko)OedmoertsOegaritischUmbunduonbekende taalVaiVenetiaansWepsischWe" + + "st-VlaamsOpperfrankischVotischVõroVunjoWalserWolayttaWarayWashoWarlpiriW" + + "uyuKalmuksMingreelsSogaYaoYapeesYangbenYembaNheengatuKantoneesZapotecBli" + + "ssymbolenZeeuwsZenagaStandaard Marokkaanse TamazightZunigeen linguïstisc" + + "he inhoudZazaServo-Kroatisch" var nlLangIdx = []uint16{ // 610 elements // Entry 0 - 3F @@ -22436,18 +22442,18 @@ var nlLangIdx = []uint16{ // 610 elements 0x107d, 0x1086, 0x108a, 0x108f, 0x1093, 0x1099, 0x109e, 0x10a3, 0x10a6, 0x10ae, 0x10b5, 0x10bc, 0x10c3, 0x10c9, 0x10d1, 0x10dc, 0x10e5, 0x10eb, 0x10f1, 0x10fb, 0x1104, 0x110e, 0x1117, 0x1121, - 0x1128, 0x1130, 0x114c, 0x1155, 0x1160, 0x1167, 0x116b, 0x116e, - 0x1178, 0x1180, 0x118b, 0x1199, 0x11a0, 0x11a5, 0x11aa, 0x11b0, - 0x11b8, 0x11bd, 0x11c2, 0x11ca, 0x11ce, 0x11d5, 0x11de, 0x11e2, + 0x1128, 0x1130, 0x114c, 0x1155, 0x1160, 0x1167, 0x1175, 0x1178, + 0x1182, 0x118a, 0x1195, 0x11a3, 0x11aa, 0x11af, 0x11b4, 0x11ba, + 0x11c2, 0x11c7, 0x11cc, 0x11d4, 0x11d8, 0x11df, 0x11e8, 0x11ec, // Entry 240 - 27F - 0x11e5, 0x11eb, 0x11f2, 0x11f7, 0x1200, 0x1209, 0x1210, 0x121c, - 0x1222, 0x1228, 0x1247, 0x124b, 0x1265, 0x1269, 0x1269, 0x1269, - 0x1269, 0x1269, 0x1269, 0x1269, 0x1269, 0x1269, 0x1269, 0x1269, - 0x1269, 0x1269, 0x1269, 0x1269, 0x1269, 0x1269, 0x1269, 0x1269, - 0x1269, 0x1278, + 0x11ef, 0x11f5, 0x11fc, 0x1201, 0x120a, 0x1213, 0x121a, 0x1226, + 0x122c, 0x1232, 0x1251, 0x1255, 0x126f, 0x1273, 0x1273, 0x1273, + 0x1273, 0x1273, 0x1273, 0x1273, 0x1273, 0x1273, 0x1273, 0x1273, + 0x1273, 0x1273, 0x1273, 0x1273, 0x1273, 0x1273, 0x1273, 0x1273, + 0x1273, 0x1282, } // Size: 1244 bytes -const noLangStr string = "" + // Size: 4834 bytes +const noLangStr string = "" + // Size: 4844 bytes "afarabkhasiskavestiskafrikaansakanamhariskaragonskarabiskassamesiskavari" + "skaymaraaserbajdsjanskbasjkirskhviterussiskbulgarskbislamabambarabengali" + "tibetanskbretonskbosniskkatalansktsjetsjenskchamorrokorsikanskcreetsjekk" + @@ -22509,12 +22515,12 @@ const noLangStr string = "" + // Size: 4834 bytes "iskschlesisktulutemnetesoterenotetumtigrétivtokelauisktsakhurskklingontl" + "ingittalysjtamasjeknyasa-tongansktok pisinturoyotarokotsakonisktsimshian" + "muslimsk tattumbukatuvalsktasawaqtuvinsksentralmarokkansk tamazightudmur" + - "tiskugaritiskumbundurotvaivenetianskvepsiskvestflamskMain-frankiskvotisk" + - "sørestiskvunjowalsertyskwolayttawaray-waraywashowarlpiriwukalmukkiskming" + - "relsksogayaoyapesiskyangbenyembanheengatukantonesiskzapotekiskblissymbol" + - "erzeeuwszenagastandard marrokansk tamazightzuniuten språklig innholdzaza" + - "iskmoderne standardarabisknedersaksiskflamskmoldovskserbokroatiskkongole" + - "sisk swahiliforenklet kinesisktradisjonell kinesisk" + "tiskugaritiskumbunduukjent språkvaivenetianskvepsiskvestflamskMain-frank" + + "iskvotisksørestiskvunjowalsertyskwolayttawaray-waraywashowarlpiriwukalmu" + + "kkiskmingrelsksogayaoyapesiskyangbenyembanheengatukantonesiskzapotekiskb" + + "lissymbolerzeeuwszenagastandard marrokansk tamazightzuniuten språklig in" + + "nholdzazaiskmoderne standardarabisknedersaksiskflamskmoldovskserbokroati" + + "skkongolesisk swahiliforenklet kinesisktradisjonell kinesisk" var noLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -22595,18 +22601,18 @@ var noLangIdx = []uint16{ // 613 elements 0x106f, 0x1078, 0x107c, 0x1081, 0x1085, 0x108b, 0x1090, 0x1096, 0x1099, 0x10a3, 0x10ac, 0x10b3, 0x10ba, 0x10c0, 0x10c8, 0x10d6, 0x10df, 0x10e5, 0x10eb, 0x10f4, 0x10fd, 0x1109, 0x1110, 0x1117, - 0x111e, 0x1125, 0x1140, 0x1149, 0x1152, 0x1159, 0x115c, 0x115f, - 0x1169, 0x1170, 0x117a, 0x1187, 0x118d, 0x1197, 0x119c, 0x11a6, - 0x11ae, 0x11b9, 0x11be, 0x11c6, 0x11c8, 0x11d2, 0x11db, 0x11df, + 0x111e, 0x1125, 0x1140, 0x1149, 0x1152, 0x1159, 0x1166, 0x1169, + 0x1173, 0x117a, 0x1184, 0x1191, 0x1197, 0x11a1, 0x11a6, 0x11b0, + 0x11b8, 0x11c3, 0x11c8, 0x11d0, 0x11d2, 0x11dc, 0x11e5, 0x11e9, // Entry 240 - 27F - 0x11e2, 0x11ea, 0x11f1, 0x11f6, 0x11ff, 0x120a, 0x1214, 0x1220, - 0x1226, 0x122c, 0x1249, 0x124d, 0x1263, 0x126a, 0x1281, 0x1281, - 0x1281, 0x1281, 0x1281, 0x1281, 0x1281, 0x1281, 0x1281, 0x1281, - 0x1281, 0x1281, 0x1281, 0x1281, 0x128d, 0x1293, 0x1293, 0x1293, - 0x129b, 0x12a8, 0x12bb, 0x12cd, 0x12e2, + 0x11ec, 0x11f4, 0x11fb, 0x1200, 0x1209, 0x1214, 0x121e, 0x122a, + 0x1230, 0x1236, 0x1253, 0x1257, 0x126d, 0x1274, 0x128b, 0x128b, + 0x128b, 0x128b, 0x128b, 0x128b, 0x128b, 0x128b, 0x128b, 0x128b, + 0x128b, 0x128b, 0x128b, 0x128b, 0x1297, 0x129d, 0x129d, 0x129d, + 0x12a5, 0x12b2, 0x12c5, 0x12d7, 0x12ec, } // Size: 1250 bytes -const paLangStr string = "" + // Size: 8148 bytes +const paLangStr string = "" + // Size: 8173 bytes "ਅਫ਼ਾਰਅਬਖਾਜ਼ੀਅਨਅਫ਼ਰੀਕੀਅਕਾਨਅਮਹਾਰਿਕਅਰਾਗੋਨੀਅਰਬੀਅਸਾਮੀਅਵਾਰਿਕਅਈਮਾਰਾਅਜ਼ਰਬਾਈਜਾਨੀਬ" + "ਸ਼ਕੀਰਬੇਲਾਰੂਸੀਬੁਲਗਾਰੀਆਈਬਿਸਲਾਮਾਬੰਬਾਰਾਬੰਗਾਲੀਤਿੱਬਤੀਬਰੇਟਨਬੋਸਨੀਆਈਕੈਟਾਲਾਨਚੇਚਨ" + "ਚਮੋਰੋਕੋਰਸੀਕਨਚੈੱਕਚਰਚ ਸਲਾਵੀਚੁਵਾਸ਼ਵੈਲਸ਼ਡੈਨਿਸ਼ਜਰਮਨਦਿਵੇਹੀਜ਼ੋਂਗਖਾਈਵਈਯੂਨਾਨੀਅੰ" + @@ -22642,11 +22648,11 @@ const paLangStr string = "" + // Size: 8148 bytes "ਖਣੀ ਕੁਰਦਿਸ਼ਸੇਨਾਕੋਇਰਾਬੋਰੋ ਸੇਂਨੀਟਚੇਲਹਿਟਸ਼ਾਨਦੱਖਣੀ ਸਾਮੀਲਿਊਲ ਸਾਮੀਇਨਾਰੀ ਸਾਮੀ" + "ਸਕੌਲਟ ਸਾਮੀਸੋਨਿੰਕੇਸ੍ਰਾਨਾਨ ਟੋਂਗੋਸਾਹੋਸੁਕੁਮਾਕੋਮੋਰੀਅਨਸੀਰੀਆਈਟਿਮਨੇਟੇਸੋਟੇਟਮਟਿਗ" + "ਰਾਕਲਿੰਗਨਟੋਕ ਪਿਸਿਨਟਾਰੋਕੋਤੁੰਬੁਕਾਟਿਊਵਾਲੂਤਾਸਾਵਿਕਤੁਵੀਨੀਅਨਮੱਧ ਐਟਲਸ ਤਮਾਜ਼ਿਤਉਦ" + - "ਮੁਰਤਉਮਬੁੰਡੂਰੂਟਵਾਈਵੂੰਜੋਵਾਲਸਰਵੋਲਾਏਟਾਵੈਰੇਵਾਲਪੁਰੀਚੀਨੀ ਵੂਕਾਲਮਿਕਸੋਗਾਯਾਂਗਬੇਨਯ" + - "ੇਂਬਾਕੈਂਟੋਨੀਜ਼ਮਿਆਰੀ ਮੋਰੋਕੇਨ ਟਾਮਾਜ਼ਿਕਜ਼ੂਨੀਬੋਲੀ ਸੰਬੰਧੀ ਕੋਈ ਸਮੱਗਰੀ ਨਹੀਂਜ਼ਾ" + - "ਜ਼ਾਆਧੁਨਿਕ ਮਿਆਰੀ ਅਰਬੀਜਰਮਨ (ਆਸਟਰੀਆਈ)ਅੰਗਰੇਜ਼ੀ (ਬਰਤਾਨਵੀ)ਅੰਗਰੇਜ਼ੀ (ਅਮਰੀਕੀ)ਸ" + - "ਪੇਨੀ (ਯੂਰਪੀ)ਫਰਾਂਸੀਸੀ (ਕੈਨੇਡੀਅਨ)ਲੋ ਸੈਕਸਨਫਲੈਮਿਸ਼ਪੁਰਤਗਾਲੀ (ਬ੍ਰਾਜ਼ੀਲੀ)ਪੁਰਤ" + - "ਗਾਲੀ (ਯੂਰਪੀ)ਮੋਲਡਾਵੀਆਈਚੀਨੀ (ਸਰਲ)ਚੀਨੀ (ਰਵਾਇਤੀ)" + "ਮੁਰਤਉਮਬੁੰਡੂਅਣਪਛਾਤੀ ਬੋਲੀਵਾਈਵੂੰਜੋਵਾਲਸਰਵੋਲਾਏਟਾਵੈਰੇਵਾਲਪੁਰੀਚੀਨੀ ਵੂਕਾਲਮਿਕਸੋਗ" + + "ਾਯਾਂਗਬੇਨਯੇਂਬਾਕੈਂਟੋਨੀਜ਼ਮਿਆਰੀ ਮੋਰੋਕੇਨ ਟਾਮਾਜ਼ਿਕਜ਼ੂਨੀਬੋਲੀ ਸੰਬੰਧੀ ਕੋਈ ਸਮੱਗਰ" + + "ੀ ਨਹੀਂਜ਼ਾਜ਼ਾਆਧੁਨਿਕ ਮਿਆਰੀ ਅਰਬੀਜਰਮਨ (ਆਸਟਰੀਆਈ)ਅੰਗਰੇਜ਼ੀ (ਬਰਤਾਨਵੀ)ਅੰਗਰੇਜ਼ੀ " + + "(ਅਮਰੀਕੀ)ਸਪੇਨੀ (ਯੂਰਪੀ)ਫਰਾਂਸੀਸੀ (ਕੈਨੇਡੀਅਨ)ਲੋ ਸੈਕਸਨਫਲੈਮਿਸ਼ਪੁਰਤਗਾਲੀ (ਬ੍ਰਾਜ਼ੀ" + + "ਲੀ)ਪੁਰਤਗਾਲੀ (ਯੂਰਪੀ)ਮੋਲਡਾਵੀਆਈਚੀਨੀ (ਸਰਲ)ਚੀਨੀ (ਰਵਾਇਤੀ)" var paLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -22727,18 +22733,18 @@ var paLangIdx = []uint16{ // 613 elements 0x1b56, 0x1b56, 0x1b56, 0x1b65, 0x1b71, 0x1b71, 0x1b7d, 0x1b8c, 0x1b8c, 0x1b8c, 0x1b8c, 0x1b9e, 0x1b9e, 0x1b9e, 0x1b9e, 0x1b9e, 0x1bb7, 0x1bb7, 0x1bc9, 0x1bc9, 0x1bc9, 0x1bc9, 0x1bde, 0x1bf3, - 0x1c08, 0x1c20, 0x1c4c, 0x1c5e, 0x1c5e, 0x1c73, 0x1c7c, 0x1c85, - 0x1c85, 0x1c85, 0x1c85, 0x1c85, 0x1c85, 0x1c85, 0x1c94, 0x1ca3, - 0x1cb8, 0x1cc4, 0x1cc4, 0x1cd9, 0x1cec, 0x1cfe, 0x1cfe, 0x1d0a, + 0x1c08, 0x1c20, 0x1c4c, 0x1c5e, 0x1c5e, 0x1c73, 0x1c95, 0x1c9e, + 0x1c9e, 0x1c9e, 0x1c9e, 0x1c9e, 0x1c9e, 0x1c9e, 0x1cad, 0x1cbc, + 0x1cd1, 0x1cdd, 0x1cdd, 0x1cf2, 0x1d05, 0x1d17, 0x1d17, 0x1d23, // Entry 240 - 27F - 0x1d0a, 0x1d0a, 0x1d1f, 0x1d2e, 0x1d2e, 0x1d49, 0x1d49, 0x1d49, - 0x1d49, 0x1d49, 0x1d87, 0x1d96, 0x1ddf, 0x1df1, 0x1e20, 0x1e20, - 0x1e44, 0x1e44, 0x1e44, 0x1e44, 0x1e74, 0x1ea1, 0x1ea1, 0x1ec2, - 0x1ec2, 0x1ec2, 0x1ef5, 0x1ef5, 0x1f0b, 0x1f20, 0x1f56, 0x1f80, - 0x1f9b, 0x1f9b, 0x1f9b, 0x1fb3, 0x1fd4, + 0x1d23, 0x1d23, 0x1d38, 0x1d47, 0x1d47, 0x1d62, 0x1d62, 0x1d62, + 0x1d62, 0x1d62, 0x1da0, 0x1daf, 0x1df8, 0x1e0a, 0x1e39, 0x1e39, + 0x1e5d, 0x1e5d, 0x1e5d, 0x1e5d, 0x1e8d, 0x1eba, 0x1eba, 0x1edb, + 0x1edb, 0x1edb, 0x1f0e, 0x1f0e, 0x1f24, 0x1f39, 0x1f6f, 0x1f99, + 0x1fb4, 0x1fb4, 0x1fb4, 0x1fcc, 0x1fed, } // Size: 1250 bytes -const plLangStr string = "" + // Size: 5567 bytes +const plLangStr string = "" + // Size: 5568 bytes "afarabchaskiawestyjskiafrikaansakanamharskiaragońskiarabskiasamskiawarsk" + "iajmaraazerbejdżańskibaszkirskibiałoruskibułgarskibislamabambarabengalsk" + "itybetańskibretońskibośniackikatalońskiczeczeńskiczamorrokorsykańskikric" + @@ -22804,17 +22810,17 @@ const plLangStr string = "" + // Size: 5567 bytes "susumeryjskikomoryjskisyriackisyryjskiśląskitulutemneatesoterenotetumtig" + "retiwtokelaucachurskiklingońskitlingittałyskitamaszektonga (Niasa)tok pi" + "sinturoyotarokocakońskitsimshiantackitumbukatuvalutasawaqtuwińskitamazig" + - "ht (Atlas Środkowy)udmurckiugaryckiumbundujęzyk rdzennywaiweneckiwepskiz" + - "achodnioflamandzkimeński frankońskiwotiackivõrovunjowalserwolaytawarajwa" + - "showarlpiriwukałmuckimegrelskisogayaojapskiyangbenyembanheengatukantońsk" + - "izapoteckiblisszelandzkizenagastandardowy marokański tamazightzunibrak t" + - "reści o charakterze językowymzazakiwspółczesny arabskiaustriacki niemiec" + - "kiwysokoniemiecki (Szwajcaria)australijski angielskikanadyjski angielski" + - "brytyjski angielskiamerykański angielskiamerykański hiszpańskieuropejski" + - " hiszpańskimeksykański hiszpańskikanadyjski francuskiszwajcarski francus" + - "kidolnosaksońskiflamandzkibrazylijski portugalskieuropejski portugalskim" + - "ołdawskiserbsko-chorwackikongijski suahilichiński uproszczonychiński tra" + - "dycyjny" + "ht (Atlas Środkowy)udmurckiugaryckiumbundunieznany językwaiweneckiwepski" + + "zachodnioflamandzkimeński frankońskiwotiackivõrovunjowalserwolaytawarajw" + + "ashowarlpiriwukałmuckimegrelskisogayaojapskiyangbenyembanheengatukantońs" + + "kizapoteckiblisszelandzkizenagastandardowy marokański tamazightzunibrak " + + "treści o charakterze językowymzazakiwspółczesny arabskiaustriacki niemie" + + "ckiwysokoniemiecki (Szwajcaria)australijski angielskikanadyjski angielsk" + + "ibrytyjski angielskiamerykański angielskiamerykański hiszpańskieuropejsk" + + "i hiszpańskimeksykański hiszpańskikanadyjski francuskiszwajcarski francu" + + "skidolnosaksońskiflamandzkibrazylijski portugalskieuropejski portugalski" + + "mołdawskiserbsko-chorwackikongijski suahilichiński uproszczonychiński tr" + + "adycyjny" var plLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -22895,18 +22901,18 @@ var plLangIdx = []uint16{ // 613 elements 0x121a, 0x1222, 0x1226, 0x122b, 0x1230, 0x1236, 0x123b, 0x1240, 0x1243, 0x124a, 0x1253, 0x125e, 0x1265, 0x126d, 0x1275, 0x1282, 0x128b, 0x1291, 0x1297, 0x12a0, 0x12a9, 0x12ae, 0x12b5, 0x12bb, - 0x12c2, 0x12cb, 0x12e6, 0x12ee, 0x12f6, 0x12fd, 0x130b, 0x130e, - 0x1315, 0x131b, 0x132e, 0x1341, 0x1349, 0x134e, 0x1353, 0x1359, - 0x1360, 0x1365, 0x136a, 0x1372, 0x1374, 0x137d, 0x1386, 0x138a, + 0x12c2, 0x12cb, 0x12e6, 0x12ee, 0x12f6, 0x12fd, 0x130c, 0x130f, + 0x1316, 0x131c, 0x132f, 0x1342, 0x134a, 0x134f, 0x1354, 0x135a, + 0x1361, 0x1366, 0x136b, 0x1373, 0x1375, 0x137e, 0x1387, 0x138b, // Entry 240 - 27F - 0x138d, 0x1393, 0x139a, 0x139f, 0x13a8, 0x13b2, 0x13bb, 0x13c0, - 0x13c9, 0x13cf, 0x13f0, 0x13f4, 0x1419, 0x141f, 0x1434, 0x1434, - 0x1448, 0x1464, 0x147a, 0x148e, 0x14a1, 0x14b7, 0x14cf, 0x14e5, - 0x14fd, 0x14fd, 0x1511, 0x1526, 0x1535, 0x153f, 0x1556, 0x156c, - 0x1576, 0x1587, 0x1598, 0x15ac, 0x15bf, + 0x138e, 0x1394, 0x139b, 0x13a0, 0x13a9, 0x13b3, 0x13bc, 0x13c1, + 0x13ca, 0x13d0, 0x13f1, 0x13f5, 0x141a, 0x1420, 0x1435, 0x1435, + 0x1449, 0x1465, 0x147b, 0x148f, 0x14a2, 0x14b8, 0x14d0, 0x14e6, + 0x14fe, 0x14fe, 0x1512, 0x1527, 0x1536, 0x1540, 0x1557, 0x156d, + 0x1577, 0x1588, 0x1599, 0x15ad, 0x15c0, } // Size: 1250 bytes -const ptLangStr string = "" + // Size: 4104 bytes +const ptLangStr string = "" + // Size: 4119 bytes "afarabcázioavésticoafricânerakanamáricoaragonêsárabeassamêsavaricaimaraa" + "zerbaijanobashkirbielorrussobúlgarobislamábambarabengalitibetanobretãobó" + "sniocatalãochechenochamorrocórsicocreetchecoeslavo eclesiásticotchuvache" + @@ -22957,11 +22963,12 @@ const ptLangStr string = "" + // Size: 4104 bytes "rinamêssereresahosukumasususumériocomorianosiríaco clássicosiríacotimnet" + "esoterenotétumtigrétivtoquelauanoklingontlinguitetamaxequetonganês de Ny" + "asatok pisintarokotsimshianotumbukatuvaluanotasawaqtuvinianotamazight do" + - " Atlas Centraludmurteugaríticoumbunduraizvaivóticovunjowalserwolayttawar" + - "aywashowarlpiriwukalmyklusogayaoyapeseyangbenyembacantonêszapotecosímbol" + - "os bliszenagatamazight marroquino padrãozunhisem conteúdo linguísticozaz" + - "aárabe modernoazeri sulalto alemão (Suíça)baixo saxãoflamengomoldávioser" + - "vo-croatasuaíli do Congochinês simplificadochinês tradicional" + " Atlas Centraludmurteugaríticoumbunduidioma desconhecidovaivóticovunjowa" + + "lserwolayttawaraywashowarlpiriwukalmyklusogayaoyapeseyangbenyembacantonê" + + "szapotecosímbolos bliszenagatamazight marroquino padrãozunhisem conteúdo" + + " linguísticozazaárabe modernoazeri sulalto alemão (Suíça)baixo saxãoflam" + + "engomoldávioservo-croatasuaíli do Congochinês simplificadochinês tradici" + + "onal" var ptLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -23042,18 +23049,18 @@ var ptLangIdx = []uint16{ // 613 elements 0x0e02, 0x0e02, 0x0e02, 0x0e07, 0x0e0b, 0x0e11, 0x0e17, 0x0e1d, 0x0e20, 0x0e2b, 0x0e2b, 0x0e32, 0x0e3b, 0x0e3b, 0x0e44, 0x0e56, 0x0e5f, 0x0e5f, 0x0e65, 0x0e65, 0x0e6f, 0x0e6f, 0x0e76, 0x0e7f, - 0x0e86, 0x0e8f, 0x0ea9, 0x0eb0, 0x0eba, 0x0ec1, 0x0ec5, 0x0ec8, - 0x0ec8, 0x0ec8, 0x0ec8, 0x0ec8, 0x0ecf, 0x0ecf, 0x0ed4, 0x0eda, - 0x0ee2, 0x0ee7, 0x0eec, 0x0ef4, 0x0ef6, 0x0efc, 0x0efc, 0x0f02, + 0x0e86, 0x0e8f, 0x0ea9, 0x0eb0, 0x0eba, 0x0ec1, 0x0ed4, 0x0ed7, + 0x0ed7, 0x0ed7, 0x0ed7, 0x0ed7, 0x0ede, 0x0ede, 0x0ee3, 0x0ee9, + 0x0ef1, 0x0ef6, 0x0efb, 0x0f03, 0x0f05, 0x0f0b, 0x0f0b, 0x0f11, // Entry 240 - 27F - 0x0f05, 0x0f0b, 0x0f12, 0x0f17, 0x0f17, 0x0f20, 0x0f28, 0x0f36, - 0x0f36, 0x0f3c, 0x0f58, 0x0f5d, 0x0f77, 0x0f7b, 0x0f89, 0x0f92, - 0x0f92, 0x0fa8, 0x0fa8, 0x0fa8, 0x0fa8, 0x0fa8, 0x0fa8, 0x0fa8, - 0x0fa8, 0x0fa8, 0x0fa8, 0x0fa8, 0x0fb4, 0x0fbc, 0x0fbc, 0x0fbc, - 0x0fc5, 0x0fd1, 0x0fe1, 0x0ff5, 0x1008, + 0x0f14, 0x0f1a, 0x0f21, 0x0f26, 0x0f26, 0x0f2f, 0x0f37, 0x0f45, + 0x0f45, 0x0f4b, 0x0f67, 0x0f6c, 0x0f86, 0x0f8a, 0x0f98, 0x0fa1, + 0x0fa1, 0x0fb7, 0x0fb7, 0x0fb7, 0x0fb7, 0x0fb7, 0x0fb7, 0x0fb7, + 0x0fb7, 0x0fb7, 0x0fb7, 0x0fb7, 0x0fc3, 0x0fcb, 0x0fcb, 0x0fcb, + 0x0fd4, 0x0fe0, 0x0ff0, 0x1004, 0x1017, } // Size: 1250 bytes -const ptPTLangStr string = "" + // Size: 882 bytes +const ptPTLangStr string = "" + // Size: 878 bytes "africanêschecochuvasheweestóniofrísico ocidentalhaúçahindiarménioigbocan" + "arimgandamacedónionorueguês nynorsknorueguês bokmåloccitanoosséticopolac" + "opastókinyarwandasami do nortetigríniaturcomanotongaiorubainglês antigom" + @@ -23062,10 +23069,10 @@ const ptPTLangStr string = "" + // Size: 882 bytes "ássicoalemão suíçocabardianocrioulo cabo-verdianolezghianoluri do norte" + "luomohawkbaixo-alemãonórdico antigolíngua pangasinesapersa antigolíngua " + "pohnpeicaprovençal antigorajastanêssakhairlandês antigoárabe do Chadeina" + - "ri samirootvaisogaárabe moderno padrãoalemão austríacoalto alemão suíçoi" + - "nglês australianoinglês canadianoinglês britânicoinglês americanoespanho" + - "l latino-americanoespanhol europeufrancês canadianofrancês suíçobaixo-sa" + - "xãoportuguês do Brasilportuguês europeu" + "ri samivaisogaárabe moderno padrãoalemão austríacoalto alemão suíçoinglê" + + "s australianoinglês canadianoinglês britânicoinglês americanoespanhol la" + + "tino-americanoespanhol europeufrancês canadianofrancês suíçobaixo-saxãop" + + "ortuguês do Brasilportuguês europeu" var ptPTLangIdx = []uint16{ // 608 elements // Entry 0 - 3F @@ -23146,17 +23153,17 @@ var ptPTLangIdx = []uint16{ // 608 elements 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, - 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x026b, 0x026e, - 0x026e, 0x026e, 0x026e, 0x026e, 0x026e, 0x026e, 0x026e, 0x026e, - 0x026e, 0x026e, 0x026e, 0x026e, 0x026e, 0x026e, 0x026e, 0x0272, + 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x026a, + 0x026a, 0x026a, 0x026a, 0x026a, 0x026a, 0x026a, 0x026a, 0x026a, + 0x026a, 0x026a, 0x026a, 0x026a, 0x026a, 0x026a, 0x026a, 0x026e, // Entry 240 - 27F - 0x0272, 0x0272, 0x0272, 0x0272, 0x0272, 0x0272, 0x0272, 0x0272, - 0x0272, 0x0272, 0x0272, 0x0272, 0x0272, 0x0272, 0x0288, 0x0288, - 0x029a, 0x02ae, 0x02c1, 0x02d2, 0x02e4, 0x02f5, 0x030e, 0x031e, - 0x031e, 0x031e, 0x0330, 0x0340, 0x034c, 0x034c, 0x0360, 0x0372, + 0x026e, 0x026e, 0x026e, 0x026e, 0x026e, 0x026e, 0x026e, 0x026e, + 0x026e, 0x026e, 0x026e, 0x026e, 0x026e, 0x026e, 0x0284, 0x0284, + 0x0296, 0x02aa, 0x02bd, 0x02ce, 0x02e0, 0x02f1, 0x030a, 0x031a, + 0x031a, 0x031a, 0x032c, 0x033c, 0x0348, 0x0348, 0x035c, 0x036e, } // Size: 1240 bytes -const roLangStr string = "" + // Size: 4228 bytes +const roLangStr string = "" + // Size: 4243 bytes "afarabhazăavestanăafrikaansakanamharicăaragonezăarabăasamezăavarăaymaraa" + "zerăbașkirăbielorusăbulgarăbislamabambarabengalezătibetanăbretonăbosniac" + "ăcatalanăcecenăchamorrocorsicanăcreecehăslavonăciuvașăgalezădanezăgerma" + @@ -23207,12 +23214,12 @@ const roLangStr string = "" + // Size: 4228 bytes "samiinari samiskolt samisoninkesogdiensranan tongoserersahosukumasususum" + "erianăcomorezăsiriacă clasicăsiriacătimnetesoterenotetumtigretivtokelauk" + "lingonianătlingittamasheknyasa tongatok pisintarokotsimshiantumbukatuval" + - "utasawaqtuvanătamazight central marocanăudmurtugariticăumbundurootvaivot" + - "icăvunjowalserwolaitawaraywashowarlpirichineză wucalmucăsogayaoyapezăyan" + - "gbenyembacantonezăzapotecăsimboluri Bilsszenagatamazight standard maroca" + - "năzunifară conținut lingvisticzazaarabă standard modernăgermană standard" + - " (Elveția)saxona de josflamandămoldoveneascăsârbo-croatăswahili (R.D. Co" + - "ngo)chineză tradițională" + "utasawaqtuvanătamazight central marocanăudmurtugariticăumbundulimbă necu" + + "noscutăvaivoticăvunjowalserwolaitawaraywashowarlpirichineză wucalmucăsog" + + "ayaoyapezăyangbenyembacantonezăzapotecăsimboluri Bilsszenagatamazight st" + + "andard marocanăzunifară conținut lingvisticzazaarabă standard modernăger" + + "mană standard (Elveția)saxona de josflamandămoldoveneascăsârbo-croatăswa" + + "hili (R.D. Congo)chineză tradițională" var roLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -23293,18 +23300,18 @@ var roLangIdx = []uint16{ // 613 elements 0x0e80, 0x0e80, 0x0e80, 0x0e85, 0x0e89, 0x0e8f, 0x0e94, 0x0e99, 0x0e9c, 0x0ea3, 0x0ea3, 0x0eaf, 0x0eb6, 0x0eb6, 0x0ebe, 0x0ec9, 0x0ed2, 0x0ed2, 0x0ed8, 0x0ed8, 0x0ee1, 0x0ee1, 0x0ee8, 0x0eee, - 0x0ef5, 0x0efc, 0x0f17, 0x0f1d, 0x0f27, 0x0f2e, 0x0f32, 0x0f35, - 0x0f35, 0x0f35, 0x0f35, 0x0f35, 0x0f3c, 0x0f3c, 0x0f41, 0x0f47, - 0x0f4e, 0x0f53, 0x0f58, 0x0f60, 0x0f6b, 0x0f73, 0x0f73, 0x0f77, + 0x0ef5, 0x0efc, 0x0f17, 0x0f1d, 0x0f27, 0x0f2e, 0x0f41, 0x0f44, + 0x0f44, 0x0f44, 0x0f44, 0x0f44, 0x0f4b, 0x0f4b, 0x0f50, 0x0f56, + 0x0f5d, 0x0f62, 0x0f67, 0x0f6f, 0x0f7a, 0x0f82, 0x0f82, 0x0f86, // Entry 240 - 27F - 0x0f7a, 0x0f81, 0x0f88, 0x0f8d, 0x0f8d, 0x0f97, 0x0fa0, 0x0faf, - 0x0faf, 0x0fb5, 0x0fd1, 0x0fd5, 0x0fef, 0x0ff3, 0x100b, 0x100b, - 0x100b, 0x1027, 0x1027, 0x1027, 0x1027, 0x1027, 0x1027, 0x1027, - 0x1027, 0x1027, 0x1027, 0x1027, 0x1034, 0x103d, 0x103d, 0x103d, - 0x104b, 0x1059, 0x106d, 0x106d, 0x1084, + 0x0f89, 0x0f90, 0x0f97, 0x0f9c, 0x0f9c, 0x0fa6, 0x0faf, 0x0fbe, + 0x0fbe, 0x0fc4, 0x0fe0, 0x0fe4, 0x0ffe, 0x1002, 0x101a, 0x101a, + 0x101a, 0x1036, 0x1036, 0x1036, 0x1036, 0x1036, 0x1036, 0x1036, + 0x1036, 0x1036, 0x1036, 0x1036, 0x1043, 0x104c, 0x104c, 0x104c, + 0x105a, 0x1068, 0x107c, 0x107c, 0x1093, } // Size: 1250 bytes -const ruLangStr string = "" + // Size: 9389 bytes +const ruLangStr string = "" + // Size: 9395 bytes "афарскийабхазскийавестийскийафрикаансаканамхарскийарагонскийарабскийасса" + "мскийаварскийаймараазербайджанскийбашкирскийбелорусскийболгарскийбислам" + "абамбарабенгальскийтибетскийбретонскийбоснийскийкаталанскийчеченскийчам" + @@ -23362,16 +23369,16 @@ const ruLangStr string = "" + // Size: 9389 bytes "ерерсахосукумасусушумерскийкоморскийклассический сирийскийсирийскийтемн" + "етесотеренотетумтигретивитокелайскийклингонскийтлингиттамашектонгаток-п" + "исинтуройоседекскийцимшиантумбукатувалутасавактувинскийсреднеатласский " + - "тамазигхтскийудмуртскийугаритскийумбундукорневой языкваиводскийвунджова" + - "ллисскийволамоварайвашовальбиривукалмыцкийсогаяояпянгбенйембакантонский" + - "сапотекскийблиссимволиказенагскийтамазигхтскийзуньинет языкового матери" + - "алазазаарабский литературныйавстрийский немецкийлитературный швейцарски" + - "й немецкийавстралийский английскийканадский английскийбританский англий" + - "скийамериканский английскийлатиноамериканский испанскийевропейский испа" + - "нскиймексиканский испанскийканадский французскийшвейцарский французский" + - "нижнесаксонскийфламандскийбразильский португальскийевропейский португал" + - "ьскиймолдавскийсербскохорватскийконголезский суахиликитайский, упрощенн" + - "ое письмокитайский, традиционное письмо" + "тамазигхтскийудмуртскийугаритскийумбундунеизвестный языкваиводскийвундж" + + "оваллисскийволамоварайвашовальбиривукалмыцкийсогаяояпянгбенйембакантонс" + + "кийсапотекскийблиссимволиказенагскийтамазигхтскийзуньинет языкового мат" + + "ериалазазаарабский литературныйавстрийский немецкийлитературный швейцар" + + "ский немецкийавстралийский английскийканадский английскийбританский анг" + + "лийскийамериканский английскийлатиноамериканский испанскийевропейский и" + + "спанскиймексиканский испанскийканадский французскийшвейцарский французс" + + "кийнижнесаксонскийфламандскийбразильский португальскийевропейский порту" + + "гальскиймолдавскийсербскохорватскийконголезский суахиликитайский, упрощ" + + "енное письмокитайский, традиционное письмо" var ruLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -23452,18 +23459,18 @@ var ruLangIdx = []uint16{ // 613 elements 0x1e58, 0x1e58, 0x1e58, 0x1e62, 0x1e6a, 0x1e76, 0x1e80, 0x1e8a, 0x1e92, 0x1ea8, 0x1ea8, 0x1ebe, 0x1ecc, 0x1ecc, 0x1eda, 0x1ee4, 0x1ef5, 0x1f01, 0x1f13, 0x1f13, 0x1f21, 0x1f21, 0x1f2f, 0x1f3b, - 0x1f49, 0x1f5b, 0x1f94, 0x1fa8, 0x1fbc, 0x1fca, 0x1fe3, 0x1fe9, - 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1ff7, 0x1ff7, 0x2003, 0x2017, - 0x2023, 0x202d, 0x2035, 0x2045, 0x2049, 0x205b, 0x205b, 0x2063, + 0x1f49, 0x1f5b, 0x1f94, 0x1fa8, 0x1fbc, 0x1fca, 0x1fe9, 0x1fef, + 0x1fef, 0x1fef, 0x1fef, 0x1fef, 0x1ffd, 0x1ffd, 0x2009, 0x201d, + 0x2029, 0x2033, 0x203b, 0x204b, 0x204f, 0x2061, 0x2061, 0x2069, // Entry 240 - 27F - 0x2067, 0x206b, 0x2077, 0x2081, 0x2081, 0x2095, 0x20ab, 0x20c5, - 0x20c5, 0x20d7, 0x20f1, 0x20fb, 0x2127, 0x212f, 0x2158, 0x2158, - 0x217f, 0x21bf, 0x21ee, 0x2215, 0x223e, 0x226b, 0x22a2, 0x22cb, - 0x22f6, 0x22f6, 0x231f, 0x234c, 0x236a, 0x2380, 0x23b1, 0x23e2, - 0x23f6, 0x2418, 0x243f, 0x2474, 0x24ad, + 0x206d, 0x2071, 0x207d, 0x2087, 0x2087, 0x209b, 0x20b1, 0x20cb, + 0x20cb, 0x20dd, 0x20f7, 0x2101, 0x212d, 0x2135, 0x215e, 0x215e, + 0x2185, 0x21c5, 0x21f4, 0x221b, 0x2244, 0x2271, 0x22a8, 0x22d1, + 0x22fc, 0x22fc, 0x2325, 0x2352, 0x2370, 0x2386, 0x23b7, 0x23e8, + 0x23fc, 0x241e, 0x2445, 0x247a, 0x24b3, } // Size: 1250 bytes -const siLangStr string = "" + // Size: 9440 bytes +const siLangStr string = "" + // Size: 9465 bytes "අෆාර්ඇබ්කාසියානුඅප්\u200dරිකානුඅකාන්ඇම්හාරික්ඇරගොනීස්අරාබිඇසමියානුඇවරික්" + "අයිමරාඅසර්බයිජාන්බාෂ්කිර්බෙලරුසියානුබල්ගේරියානුබිස්ලමාබම්බරාබෙංගාලිටිබ" + "ෙට්බ්\u200dරේටොන්බොස්නියානුකැටලන්චෙච්නියානුචමොරොක්\u200dරොඑශියානුචෙත්ච" + @@ -23504,14 +23511,14 @@ const siLangStr string = "" + // Size: 9440 bytes "රො සෙන්නිටචේල්හිට්ශාන්දකුණු සාමිලුලේ සාමිඉනාරි සාමිස්කොල්ට් සාමිසොනින්" + "කෙස්\u200dරන් ටොන්ගොසහොසුකුමාකොමොරියන්ස්\u200dරයෑක්ටිම්නෙටෙසෝටේටම්ටීග්" + "\u200dරෙක්ලින්ගොන්ටොක් පිසින්ටරොකොටුම්බුකාටුවාලුටසවාක්ටුවිනියන්මධ්\u200d" + - "යම ඇට්ලස් ටමසිට්අඩ්මර්ට්උබුන්ඩුරූට්වයිවුන්ජෝවොල්සර්වොලෙට්ටවොරෙය්වොපිරි" + - "වූ චයිනිස්කල්මික්සොගායන්ග්බෙන්යෙම්බාකැන්ටොනීස්සම්මත මොරොක්කෝ ටමසිග්ත්ස" + - "ුනිවාග් විද්\u200dයා අන්තර්ගතයක් නැතසාසානවීන සම්මත අරාබිඔස්ට්\u200dරිය" + - "ානු ජර්මන්ස්විස් උසස් ජර්මන්ඕස්ට්\u200dරේලියානු ඉංග්\u200dරීසිකැනේඩියා" + - "නු ඉංග්\u200dරීසිබ්\u200dරිතාන්\u200dය ඉංග්\u200dරීසිඇමෙරිකානු ඉංග්" + - "\u200dරීසිලතින් ඇමරිකානු ස්පාඤ්ඤයුරෝපීය ස්පාඤ්ඤමෙක්සිකානු ස්පාඤ්ඤකැනේඩිය" + - "ානු ප්\u200dරංශස්විස් ප්\u200dරංශපහළ සැක්සන්ෆ්ලෙමිශ්බ්\u200dරසීල පෘතුග" + - "ීසියුරෝපීය පෘතුගීසිමොල්ඩවිආනුසුළුකළ චීනසාම්ප්\u200dරදායික චීන" + "යම ඇට්ලස් ටමසිට්අඩ්මර්ට්උබුන්ඩුනොදන්නා භාෂාවවයිවුන්ජෝවොල්සර්වොලෙට්ටවොර" + + "ෙය්වොපිරිවූ චයිනිස්කල්මික්සොගායන්ග්බෙන්යෙම්බාකැන්ටොනීස්සම්මත මොරොක්කෝ " + + "ටමසිග්ත්සුනිවාග් විද්\u200dයා අන්තර්ගතයක් නැතසාසානවීන සම්මත අරාබිඔස්ට්" + + "\u200dරියානු ජර්මන්ස්විස් උසස් ජර්මන්ඕස්ට්\u200dරේලියානු ඉංග්\u200dරීසික" + + "ැනේඩියානු ඉංග්\u200dරීසිබ්\u200dරිතාන්\u200dය ඉංග්\u200dරීසිඇමෙරිකානු " + + "ඉංග්\u200dරීසිලතින් ඇමරිකානු ස්පාඤ්ඤයුරෝපීය ස්පාඤ්ඤමෙක්සිකානු ස්පාඤ්ඤක" + + "ැනේඩියානු ප්\u200dරංශස්විස් ප්\u200dරංශපහළ සැක්සන්ෆ්ලෙමිශ්බ්\u200dරසීල" + + " පෘතුගීසියුරෝපීය පෘතුගීසිමොල්ඩවිආනුසුළුකළ චීනසාම්ප්\u200dරදායික චීන" var siLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -23592,18 +23599,18 @@ var siLangIdx = []uint16{ // 613 elements 0x1e78, 0x1e78, 0x1e78, 0x1e8a, 0x1e96, 0x1e96, 0x1ea5, 0x1eba, 0x1eba, 0x1eba, 0x1eba, 0x1ed8, 0x1ed8, 0x1ed8, 0x1ed8, 0x1ed8, 0x1ef7, 0x1ef7, 0x1f06, 0x1f06, 0x1f06, 0x1f06, 0x1f1e, 0x1f30, - 0x1f42, 0x1f5d, 0x1f95, 0x1fad, 0x1fad, 0x1fc2, 0x1fce, 0x1fd7, - 0x1fd7, 0x1fd7, 0x1fd7, 0x1fd7, 0x1fd7, 0x1fd7, 0x1fe9, 0x1ffe, - 0x2013, 0x2025, 0x2025, 0x2037, 0x2053, 0x2068, 0x2068, 0x2074, + 0x1f42, 0x1f5d, 0x1f95, 0x1fad, 0x1fad, 0x1fc2, 0x1fe7, 0x1ff0, + 0x1ff0, 0x1ff0, 0x1ff0, 0x1ff0, 0x1ff0, 0x1ff0, 0x2002, 0x2017, + 0x202c, 0x203e, 0x203e, 0x2050, 0x206c, 0x2081, 0x2081, 0x208d, // Entry 240 - 27F - 0x2074, 0x2074, 0x208f, 0x20a1, 0x20a1, 0x20bf, 0x20bf, 0x20bf, - 0x20bf, 0x20bf, 0x2100, 0x210c, 0x215a, 0x2166, 0x2192, 0x2192, - 0x21c9, 0x21fb, 0x2241, 0x227b, 0x22b8, 0x22ef, 0x232d, 0x2358, - 0x238c, 0x238c, 0x23bd, 0x23e2, 0x2401, 0x2419, 0x2447, 0x2475, - 0x2493, 0x2493, 0x2493, 0x24af, 0x24e0, + 0x208d, 0x208d, 0x20a8, 0x20ba, 0x20ba, 0x20d8, 0x20d8, 0x20d8, + 0x20d8, 0x20d8, 0x2119, 0x2125, 0x2173, 0x217f, 0x21ab, 0x21ab, + 0x21e2, 0x2214, 0x225a, 0x2294, 0x22d1, 0x2308, 0x2346, 0x2371, + 0x23a5, 0x23a5, 0x23d6, 0x23fb, 0x241a, 0x2432, 0x2460, 0x248e, + 0x24ac, 0x24ac, 0x24ac, 0x24c8, 0x24f9, } // Size: 1250 bytes -const skLangStr string = "" + // Size: 5794 bytes +const skLangStr string = "" + // Size: 5802 bytes "afarčinaabcházčinaavestčinaafrikánčinaakančinaamharčinaaragónčinaarabčin" + "aásamčinaavarčinaaymarčinaazerbajdžančinabaškirčinabieloruštinabulharčin" + "abislamabambarčinabengálčinatibetčinabretónčinabosniačtinakatalánčinačeč" + @@ -23666,16 +23673,16 @@ const skLangStr string = "" + // Size: 5794 bytes "nasahosukumasususumerčinakomorčinasýrčina (klasická)sýrčinatemnetesoterê" + "natetumčinatigrejčinativtokelauštinaklingónčinatlingitčinatuaregčinaňasa" + " tonganovoguinejský pidžintarokocimšjančinatumbukatuvalčinatasawaqtuvian" + - "činastredomarocká tuaregčinaudmurtčinaugaritčinaumbundukoreňvaivodčinav" + - "unjowalserčinawalamčinawaraywashowarlpirikalmyčtinasogajaojapčinajangben" + - "yembakantončinazapotéčtinasystém Blisszenagatuaregčina (štandardná maroc" + - "ká)zuništinabez jazykového obsahuzazaarabčina (moderná štandardná)nemčin" + - "a (rakúska)nemčina (švajčiarska spisovná)angličtina (austrálska)angličti" + - "na (kanadská)angličtina (britská)angličtina (americká)španielčina (latin" + - "skoamerická)španielčina (európska)španielčina (mexická)francúzština (kan" + - "adská)francúzština (švajčiarska)dolná saštinaflámčinaportugalčina (brazí" + - "lska)portugalčina (európska)moldavčinasrbochorvátčinasvahilčina (konžská" + - ")čínština (zjednodušená)čínština (tradičná)" + "činastredomarocká tuaregčinaudmurtčinaugaritčinaumbunduneznámy jazykvai" + + "vodčinavunjowalserčinawalamčinawaraywashowarlpirikalmyčtinasogajaojapčin" + + "ajangbenyembakantončinazapotéčtinasystém Blisszenagatuaregčina (štandard" + + "ná marocká)zuništinabez jazykového obsahuzazaarabčina (moderná štandardn" + + "á)nemčina (rakúska)nemčina (švajčiarska spisovná)angličtina (austrálska" + + ")angličtina (kanadská)angličtina (britská)angličtina (americká)španielči" + + "na (latinskoamerická)španielčina (európska)španielčina (mexická)francúzš" + + "tina (kanadská)francúzština (švajčiarska)dolná saštinaflámčinaportugalči" + + "na (brazílska)portugalčina (európska)moldavčinasrbochorvátčinasvahilčina" + + " (konžská)čínština (zjednodušená)čínština (tradičná)" var skLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -23756,18 +23763,18 @@ var skLangIdx = []uint16{ // 613 elements 0x12f6, 0x12f6, 0x12f6, 0x12fb, 0x12ff, 0x1306, 0x1310, 0x131b, 0x131e, 0x132b, 0x132b, 0x1338, 0x1344, 0x1344, 0x134f, 0x135a, 0x1370, 0x1370, 0x1376, 0x1376, 0x1383, 0x1383, 0x138a, 0x1394, - 0x139b, 0x13a6, 0x13c0, 0x13cb, 0x13d6, 0x13dd, 0x13e3, 0x13e6, - 0x13e6, 0x13e6, 0x13e6, 0x13e6, 0x13ee, 0x13ee, 0x13f3, 0x13fe, - 0x1408, 0x140d, 0x1412, 0x141a, 0x141a, 0x1425, 0x1425, 0x1429, + 0x139b, 0x13a6, 0x13c0, 0x13cb, 0x13d6, 0x13dd, 0x13eb, 0x13ee, + 0x13ee, 0x13ee, 0x13ee, 0x13ee, 0x13f6, 0x13f6, 0x13fb, 0x1406, + 0x1410, 0x1415, 0x141a, 0x1422, 0x1422, 0x142d, 0x142d, 0x1431, // Entry 240 - 27F - 0x142c, 0x1434, 0x143b, 0x1440, 0x1440, 0x144b, 0x1458, 0x1465, - 0x1465, 0x146b, 0x148e, 0x1498, 0x14ae, 0x14b2, 0x14d3, 0x14d3, - 0x14e6, 0x1508, 0x1521, 0x1538, 0x154e, 0x1565, 0x1586, 0x159f, - 0x15b7, 0x15b7, 0x15d1, 0x15ef, 0x15fe, 0x1608, 0x1622, 0x163b, - 0x1646, 0x1657, 0x166e, 0x168a, 0x16a2, + 0x1434, 0x143c, 0x1443, 0x1448, 0x1448, 0x1453, 0x1460, 0x146d, + 0x146d, 0x1473, 0x1496, 0x14a0, 0x14b6, 0x14ba, 0x14db, 0x14db, + 0x14ee, 0x1510, 0x1529, 0x1540, 0x1556, 0x156d, 0x158e, 0x15a7, + 0x15bf, 0x15bf, 0x15d9, 0x15f7, 0x1606, 0x1610, 0x162a, 0x1643, + 0x164e, 0x165f, 0x1676, 0x1692, 0x16aa, } // Size: 1250 bytes -const slLangStr string = "" + // Size: 6423 bytes +const slLangStr string = "" + // Size: 6424 bytes "afarščinaabhaščinaavestijščinaafrikanščinaakanščinaamharščinaaragonščina" + "arabščinaasamščinaavarščinaajmarščinaazerbajdžanščinabaškirščinabelorušč" + "inabolgarščinabislamščinabambarščinabengalščinatibetanščinabretonščinabo" + @@ -23836,16 +23843,16 @@ const slLangStr string = "" + // Size: 6423 bytes "inatemnejščinatesotetumščinatigrejščinativščinatokelavščinaklingonščinat" + "lingitščinatamajaščinamalavijska tongščinatok pisintarokotsimščinatumbuk" + "ščinatuvalujščinatasawaqtuvinščinatamašek (srednji atlas)udmurtščinauga" + - "ritski jezikumbundščinarootščinavajščinavotjaščinavunjowalservalamščinav" + - "arajščinavašajščinavarlpirščinakalmiščinasogščinajaojščinajapščinajangbe" + - "njembajščinakantonščinazapoteščinaznakovni jezik Blisszenaščinastandardn" + - "i maroški tamazigzunijščinabrez jezikoslovne vsebinezazajščinasodobna st" + - "andardna arabščinaavstrijska nemščinavisoka nemščina (Švica)avstralska a" + - "ngleščinakanadska angleščinaangleščina (VB)angleščina (ZDA)latinskoameri" + - "ška španščinaiberska španščinakanadska francoščinašvicarska francoščina" + - "nizka saščinaflamščinabrazilska portugalščinaiberska portugalščinamoldav" + - "ščinasrbohrvaščinakongoška svahilščinapoenostavljena kitajščinatradicio" + - "nalna kitajščina" + "ritski jezikumbundščinaneznan jezikvajščinavotjaščinavunjowalservalamšči" + + "navarajščinavašajščinavarlpirščinakalmiščinasogščinajaojščinajapščinajan" + + "gbenjembajščinakantonščinazapoteščinaznakovni jezik Blisszenaščinastanda" + + "rdni maroški tamazigzunijščinabrez jezikoslovne vsebinezazajščinasodobna" + + " standardna arabščinaavstrijska nemščinavisoka nemščina (Švica)avstralsk" + + "a angleščinakanadska angleščinaangleščina (VB)angleščina (ZDA)latinskoam" + + "eriška španščinaiberska španščinakanadska francoščinašvicarska francošči" + + "nanizka saščinaflamščinabrazilska portugalščinaiberska portugalščinamold" + + "avščinasrbohrvaščinakongoška svahilščinapoenostavljena kitajščinatradici" + + "onalna kitajščina" var slLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -23926,18 +23933,18 @@ var slLangIdx = []uint16{ // 613 elements 0x153c, 0x153c, 0x153c, 0x1549, 0x154d, 0x154d, 0x1559, 0x1566, 0x1570, 0x157e, 0x157e, 0x158c, 0x159a, 0x159a, 0x15a7, 0x15bd, 0x15c6, 0x15c6, 0x15cc, 0x15cc, 0x15d7, 0x15d7, 0x15e4, 0x15f2, - 0x15f9, 0x1605, 0x161d, 0x162a, 0x1639, 0x1646, 0x1651, 0x165b, - 0x165b, 0x165b, 0x165b, 0x165b, 0x1667, 0x1667, 0x166c, 0x1672, - 0x167e, 0x168a, 0x1697, 0x16a5, 0x16a5, 0x16b1, 0x16b1, 0x16bb, + 0x15f9, 0x1605, 0x161d, 0x162a, 0x1639, 0x1646, 0x1652, 0x165c, + 0x165c, 0x165c, 0x165c, 0x165c, 0x1668, 0x1668, 0x166d, 0x1673, + 0x167f, 0x168b, 0x1698, 0x16a6, 0x16a6, 0x16b2, 0x16b2, 0x16bc, // Entry 240 - 27F - 0x16c6, 0x16d0, 0x16d7, 0x16e4, 0x16e4, 0x16f1, 0x16fe, 0x1712, - 0x1712, 0x171d, 0x1738, 0x1744, 0x175d, 0x1769, 0x1787, 0x1787, - 0x179c, 0x17b6, 0x17cd, 0x17e2, 0x17f3, 0x1805, 0x1823, 0x1837, - 0x1837, 0x1837, 0x184d, 0x1865, 0x1874, 0x187f, 0x1898, 0x18af, - 0x18bc, 0x18cb, 0x18e2, 0x18fd, 0x1917, + 0x16c7, 0x16d1, 0x16d8, 0x16e5, 0x16e5, 0x16f2, 0x16ff, 0x1713, + 0x1713, 0x171e, 0x1739, 0x1745, 0x175e, 0x176a, 0x1788, 0x1788, + 0x179d, 0x17b7, 0x17ce, 0x17e3, 0x17f4, 0x1806, 0x1824, 0x1838, + 0x1838, 0x1838, 0x184e, 0x1866, 0x1875, 0x1880, 0x1899, 0x18b0, + 0x18bd, 0x18cc, 0x18e3, 0x18fe, 0x1918, } // Size: 1250 bytes -const sqLangStr string = "" + // Size: 4427 bytes +const sqLangStr string = "" + // Size: 4430 bytes "afarishtabkazishtafrikanishtakanishtamarishtaragonezishtarabishtasamezis" + "htavarikishtajmarishtazerbajxhanishtbashkirishtbjellorusishtbullgarishtb" + "islamishtbambarishtbengalishttibetishtbretonishtboshnjakishtkatalonishtç" + @@ -23990,15 +23997,15 @@ const sqLangStr string = "" + // Size: 4427 bytes "samishte skoltisoninkishtsrananisht (sranantongoisht)sahoishtsukumaishtk" + "amorianishtsiriakishttimneishttesoishttetumishttigreishtklingonishtpisin" + "ishte tokutorokoishttumbukaishttuvaluishttasavakishttuvinianishttamaziat" + - "ishte atlase qendroreudmurtishtumbunduishtrutishtvaishtvunxhoishtualseri" + - "shtulajtaishtuarajishtuarlpirishtkalmikishtsogishtjangbenishtjembaishtka" + - "ntonezishttamaziatishte standarde marokenezunishtnuk ka përmbajtje gjuhë" + - "sorezazaishtarabishte standarde modernegjermanishte austriakegjermanisht" + - "e zvicerane (dialekti i Alpeve)anglishte australianeanglishte kanadezean" + - "glishte britanikeanglishte amerikanespanjishte amerikano-latinespanjisht" + - "e evropianespanjishte meksikanefrëngjishte kanadezefrëngjishte zvicerane" + - "gjermanishte saksone e vendeve të ulëtaflamandishtportugalishte brazilia" + - "neportugalishte evropianemoldavishtserbo-kroatishtsuahilishte kongoje" + "ishte atlase qendroreudmurtishtumbunduishte panjohurvaishtvunxhoishtuals" + + "erishtulajtaishtuarajishtuarlpirishtkalmikishtsogishtjangbenishtjembaish" + + "tkantonezishttamaziatishte standarde marokenezunishtnuk ka përmbajtje gj" + + "uhësorezazaishtarabishte standarde modernegjermanishte austriakegjermani" + + "shte zvicerane (dialekti i Alpeve)anglishte australianeanglishte kanadez" + + "eanglishte britanikeanglishte amerikanespanjishte amerikano-latinespanji" + + "shte evropianespanjishte meksikanefrëngjishte kanadezefrëngjishte zvicer" + + "anegjermanishte saksone e vendeve të ulëtaflamandishtportugalishte brazi" + + "lianeportugalishte evropianemoldavishtserbo-kroatishtsuahilishte kongoje" var sqLangIdx = []uint16{ // 611 elements // Entry 0 - 3F @@ -24079,18 +24086,18 @@ var sqLangIdx = []uint16{ // 611 elements 0x0e45, 0x0e45, 0x0e45, 0x0e4e, 0x0e56, 0x0e56, 0x0e5f, 0x0e68, 0x0e68, 0x0e68, 0x0e68, 0x0e73, 0x0e73, 0x0e73, 0x0e73, 0x0e73, 0x0e82, 0x0e82, 0x0e8c, 0x0e8c, 0x0e8c, 0x0e8c, 0x0e97, 0x0ea1, - 0x0eac, 0x0eb8, 0x0ed5, 0x0edf, 0x0edf, 0x0eea, 0x0ef1, 0x0ef7, - 0x0ef7, 0x0ef7, 0x0ef7, 0x0ef7, 0x0ef7, 0x0ef7, 0x0f01, 0x0f0b, - 0x0f15, 0x0f1e, 0x0f1e, 0x0f29, 0x0f29, 0x0f33, 0x0f33, 0x0f3a, + 0x0eac, 0x0eb8, 0x0ed5, 0x0edf, 0x0edf, 0x0eea, 0x0ef4, 0x0efa, + 0x0efa, 0x0efa, 0x0efa, 0x0efa, 0x0efa, 0x0efa, 0x0f04, 0x0f0e, + 0x0f18, 0x0f21, 0x0f21, 0x0f2c, 0x0f2c, 0x0f36, 0x0f36, 0x0f3d, // Entry 240 - 27F - 0x0f3a, 0x0f3a, 0x0f45, 0x0f4e, 0x0f4e, 0x0f5a, 0x0f5a, 0x0f5a, - 0x0f5a, 0x0f5a, 0x0f7a, 0x0f81, 0x0f9e, 0x0fa6, 0x0fc1, 0x0fc1, - 0x0fd7, 0x1001, 0x1016, 0x1028, 0x103b, 0x104e, 0x1069, 0x107d, - 0x1091, 0x1091, 0x10a6, 0x10bc, 0x10e5, 0x10f0, 0x1108, 0x111f, - 0x1129, 0x1138, 0x114b, + 0x0f3d, 0x0f3d, 0x0f48, 0x0f51, 0x0f51, 0x0f5d, 0x0f5d, 0x0f5d, + 0x0f5d, 0x0f5d, 0x0f7d, 0x0f84, 0x0fa1, 0x0fa9, 0x0fc4, 0x0fc4, + 0x0fda, 0x1004, 0x1019, 0x102b, 0x103e, 0x1051, 0x106c, 0x1080, + 0x1094, 0x1094, 0x10a9, 0x10bf, 0x10e8, 0x10f3, 0x110b, 0x1122, + 0x112c, 0x113b, 0x114e, } // Size: 1246 bytes -const srLangStr string = "" + // Size: 8071 bytes +const srLangStr string = "" + // Size: 8092 bytes "афарскиабхаскиавестанскиафрикансаканскиамхарскиарагонскиарапскиасамскиав" + "арскиајмараазербејџанскибашкирскибелорускибугарскибисламабамбарабенгалс" + "китибетанскибретонскибосанскикаталонскичеченскичаморокорзиканскикричешк" + @@ -24142,13 +24149,13 @@ const srLangStr string = "" + // Size: 8071 bytes "кисранан тонгосерерскисахосукумасусусумерскикоморскисиријачкисиријскити" + "мнетесотеренотетумтигретивтокелауклингонскитлингиттамашекњаса тонгаток " + "писинтарокоцимшиантумбукатувалутасавактувинскицентралноатласки тамазигт" + - "удмуртскиугаритскиумбундуРутваиводскивунџовалсерскиволајтаварајскивашов" + - "арлпирикалмичкисогајаојапскијангбенјембакантонскизапотечкиблисимболизен" + - "агастандардни марокански тамазигтзунибез лингвистичког садржајазазасавр" + - "емени стандардни арапскишвајцарски високи немачкиенглески (Велика Брита" + - "нија)енглески (Сједињене Америчке Државе)нискосаксонскифламанскипортуга" + - "лски (Португал)молдавскисрпскохрватскикисвахилипоједностављени кинескит" + - "радиционални кинески" + "удмуртскиугаритскиумбундунепознат језикваиводскивунџовалсерскиволајтава" + + "рајскивашоварлпирикалмичкисогајаојапскијангбенјембакантонскизапотечкибл" + + "исимболизенагастандардни марокански тамазигтзунибез лингвистичког садрж" + + "ајазазасавремени стандардни арапскишвајцарски високи немачкиенглески (В" + + "елика Британија)енглески (Сједињене Америчке Државе)нискосаксонскифлама" + + "нскипортугалски (Португал)молдавскисрпскохрватскикисвахилипоједноставље" + + "ни кинескитрадиционални кинески" var srLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -24229,18 +24236,18 @@ var srLangIdx = []uint16{ // 613 elements 0x1b04, 0x1b04, 0x1b04, 0x1b0e, 0x1b16, 0x1b22, 0x1b2c, 0x1b36, 0x1b3c, 0x1b4a, 0x1b4a, 0x1b5e, 0x1b6c, 0x1b6c, 0x1b7a, 0x1b8d, 0x1b9e, 0x1b9e, 0x1baa, 0x1baa, 0x1bb8, 0x1bb8, 0x1bc6, 0x1bd2, - 0x1be0, 0x1bf0, 0x1c21, 0x1c33, 0x1c45, 0x1c53, 0x1c59, 0x1c5f, - 0x1c5f, 0x1c5f, 0x1c5f, 0x1c5f, 0x1c6b, 0x1c6b, 0x1c75, 0x1c87, - 0x1c95, 0x1ca5, 0x1cad, 0x1cbd, 0x1cbd, 0x1ccd, 0x1ccd, 0x1cd5, + 0x1be0, 0x1bf0, 0x1c21, 0x1c33, 0x1c45, 0x1c53, 0x1c6e, 0x1c74, + 0x1c74, 0x1c74, 0x1c74, 0x1c74, 0x1c80, 0x1c80, 0x1c8a, 0x1c9c, + 0x1caa, 0x1cba, 0x1cc2, 0x1cd2, 0x1cd2, 0x1ce2, 0x1ce2, 0x1cea, // Entry 240 - 27F - 0x1cdb, 0x1ce7, 0x1cf5, 0x1cff, 0x1cff, 0x1d11, 0x1d23, 0x1d37, - 0x1d37, 0x1d43, 0x1d7d, 0x1d85, 0x1db7, 0x1dbf, 0x1df5, 0x1df5, - 0x1df5, 0x1e25, 0x1e25, 0x1e25, 0x1e57, 0x1e9a, 0x1e9a, 0x1e9a, - 0x1e9a, 0x1e9a, 0x1e9a, 0x1e9a, 0x1eb6, 0x1ec8, 0x1ec8, 0x1ef1, - 0x1f03, 0x1f1f, 0x1f31, 0x1f5e, 0x1f87, + 0x1cf0, 0x1cfc, 0x1d0a, 0x1d14, 0x1d14, 0x1d26, 0x1d38, 0x1d4c, + 0x1d4c, 0x1d58, 0x1d92, 0x1d9a, 0x1dcc, 0x1dd4, 0x1e0a, 0x1e0a, + 0x1e0a, 0x1e3a, 0x1e3a, 0x1e3a, 0x1e6c, 0x1eaf, 0x1eaf, 0x1eaf, + 0x1eaf, 0x1eaf, 0x1eaf, 0x1eaf, 0x1ecb, 0x1edd, 0x1edd, 0x1f06, + 0x1f18, 0x1f34, 0x1f46, 0x1f73, 0x1f9c, } // Size: 1250 bytes -const srLatnLangStr string = "" + // Size: 4236 bytes +const srLatnLangStr string = "" + // Size: 4247 bytes "afarskiabhaskiavestanskiafrikansakanskiamharskiaragonskiarapskiasamskiav" + "arskiajmaraazerbejdžanskibaškirskibeloruskibugarskibislamabambarabengals" + "kitibetanskibretonskibosanskikatalonskičečenskičamorokorzikanskikričeški" + @@ -24292,13 +24299,13 @@ const srLatnLangStr string = "" + // Size: 4236 bytes "ngosererskisahosukumasususumerskikomorskisirijačkisirijskitimnetesoteren" + "otetumtigretivtokelauklingonskitlingittamašeknjasa tongatok pisintarokoc" + "imšiantumbukatuvalutasavaktuvinskicentralnoatlaski tamazigtudmurtskiugar" + - "itskiumbunduRutvaivodskivundžovalserskivolajtavarajskivašovarlpirikalmič" + - "kisogajaojapskijangbenjembakantonskizapotečkiblisimbolizenagastandardni " + - "marokanski tamazigtzunibez lingvističkog sadržajazazasavremeni standardn" + - "i arapskišvajcarski visoki nemačkiengleski (Velika Britanija)engleski (S" + - "jedinjene Američke Države)niskosaksonskiflamanskiportugalski (Portugal)m" + - "oldavskisrpskohrvatskikisvahilipojednostavljeni kineskitradicionalni kin" + - "eski" + "itskiumbundunepoznat jezikvaivodskivundžovalserskivolajtavarajskivašovar" + + "lpirikalmičkisogajaojapskijangbenjembakantonskizapotečkiblisimbolizenaga" + + "standardni marokanski tamazigtzunibez lingvističkog sadržajazazasavremen" + + "i standardni arapskišvajcarski visoki nemačkiengleski (Velika Britanija)" + + "engleski (Sjedinjene Američke Države)niskosaksonskiflamanskiportugalski " + + "(Portugal)moldavskisrpskohrvatskikisvahilipojednostavljeni kineskitradic" + + "ionalni kineski" var srLatnLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -24379,18 +24386,18 @@ var srLatnLangIdx = []uint16{ // 613 elements 0x0e2e, 0x0e2e, 0x0e2e, 0x0e33, 0x0e37, 0x0e3d, 0x0e42, 0x0e47, 0x0e4a, 0x0e51, 0x0e51, 0x0e5b, 0x0e62, 0x0e62, 0x0e6a, 0x0e75, 0x0e7e, 0x0e7e, 0x0e84, 0x0e84, 0x0e8c, 0x0e8c, 0x0e93, 0x0e99, - 0x0ea0, 0x0ea8, 0x0ec1, 0x0eca, 0x0ed3, 0x0eda, 0x0edd, 0x0ee0, - 0x0ee0, 0x0ee0, 0x0ee0, 0x0ee0, 0x0ee6, 0x0ee6, 0x0eed, 0x0ef6, - 0x0efd, 0x0f05, 0x0f0a, 0x0f12, 0x0f12, 0x0f1b, 0x0f1b, 0x0f1f, + 0x0ea0, 0x0ea8, 0x0ec1, 0x0eca, 0x0ed3, 0x0eda, 0x0ee8, 0x0eeb, + 0x0eeb, 0x0eeb, 0x0eeb, 0x0eeb, 0x0ef1, 0x0ef1, 0x0ef8, 0x0f01, + 0x0f08, 0x0f10, 0x0f15, 0x0f1d, 0x0f1d, 0x0f26, 0x0f26, 0x0f2a, // Entry 240 - 27F - 0x0f22, 0x0f28, 0x0f2f, 0x0f34, 0x0f34, 0x0f3d, 0x0f47, 0x0f51, - 0x0f51, 0x0f57, 0x0f75, 0x0f79, 0x0f95, 0x0f99, 0x0fb5, 0x0fb5, - 0x0fb5, 0x0fd0, 0x0fd0, 0x0fd0, 0x0feb, 0x1012, 0x1012, 0x1012, - 0x1012, 0x1012, 0x1012, 0x1012, 0x1020, 0x1029, 0x1029, 0x103f, - 0x1048, 0x1056, 0x105f, 0x1077, 0x108c, + 0x0f2d, 0x0f33, 0x0f3a, 0x0f3f, 0x0f3f, 0x0f48, 0x0f52, 0x0f5c, + 0x0f5c, 0x0f62, 0x0f80, 0x0f84, 0x0fa0, 0x0fa4, 0x0fc0, 0x0fc0, + 0x0fc0, 0x0fdb, 0x0fdb, 0x0fdb, 0x0ff6, 0x101d, 0x101d, 0x101d, + 0x101d, 0x101d, 0x101d, 0x101d, 0x102b, 0x1034, 0x1034, 0x104a, + 0x1053, 0x1061, 0x106a, 0x1082, 0x1097, } // Size: 1250 bytes -const svLangStr string = "" + // Size: 5455 bytes +const svLangStr string = "" + // Size: 5468 bytes "afarabchaziskaavestiskaafrikaansakanamhariskaaragonesiskaarabiskaassames" + "iskaavariskaaymaraazerbajdzjanskabasjkiriskavitryskabulgariskabislamabam" + "barabengalitibetanskabretonskabosniskakatalanskatjetjenskachamorrokorsik" + @@ -24456,16 +24463,17 @@ const svLangStr string = "" + // Size: 5455 bytes "sisk syriskasyriskasilesiskatulutemnetesoterenotetumtigrétivitokelauiska" + "tsakhurklingonskatlingittalyshtamasheknyasatonganskatok pisinturoyotarok" + "otsakodiskatsimshianmuslimsk tatariskatumbukatuvaluanskatasawaqtuviniska" + - "centralmarockansk tamazightudmurtiskaugaritiskaumbundurotvajvenetianskav" + - "epsvästflamländskaMain-frankiskavotiskavõruvunjowalsertyskawalamowaraywa" + - "showarlpiriwukalmuckiskamingrelianskalusogakiyaojapetiskayangbenbamileké" + - "-jembanheengatukantonesiskazapotekblissymbolerzeeländskazenagamarockansk" + - " standard-tamazightzuniinget språkligt innehållzazaiskamodern standardar" + - "abiskaösterrikisk tyskaschweizisk högtyskaaustralisk engelskakanadensisk" + - " engelskabrittisk engelskaamerikansk engelskalatinamerikansk spanskaeuro" + - "peisk spanskamexikansk spanskakanadensisk franskaschweizisk franskalågsa" + - "xiskaflamländskabrasiliansk portugisiskaeuropeisk portugisiskamoldaviska" + - "serbokroatiskaKongo-swahiliförenklad kinesiskatraditionell kinesiska" + "centralmarockansk tamazightudmurtiskaugaritiskaumbunduobestämt språkvajv" + + "enetianskavepsvästflamländskaMain-frankiskavotiskavõruvunjowalsertyskawa" + + "lamowaraywashowarlpiriwukalmuckiskamingrelianskalusogakiyaojapetiskayang" + + "benbamileké-jembanheengatukantonesiskazapotekblissymbolerzeeländskazenag" + + "amarockansk standard-tamazightzuniinget språkligt innehållzazaiskamodern" + + " standardarabiskaösterrikisk tyskaschweizisk högtyskaaustralisk engelska" + + "kanadensisk engelskabrittisk engelskaamerikansk engelskalatinamerikansk " + + "spanskaeuropeisk spanskamexikansk spanskakanadensisk franskaschweizisk f" + + "ranskalågsaxiskaflamländskabrasiliansk portugisiskaeuropeisk portugisisk" + + "amoldaviskaserbokroatiskaKongo-swahiliförenklad kinesiskatraditionell ki" + + "nesiska" var svLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -24546,18 +24554,18 @@ var svLangIdx = []uint16{ // 613 elements 0x11b1, 0x11ba, 0x11be, 0x11c3, 0x11c7, 0x11cd, 0x11d2, 0x11d8, 0x11dc, 0x11e7, 0x11ee, 0x11f8, 0x11ff, 0x1205, 0x120d, 0x121b, 0x1224, 0x122a, 0x1230, 0x123a, 0x1243, 0x1255, 0x125c, 0x1267, - 0x126e, 0x1277, 0x1292, 0x129c, 0x12a6, 0x12ad, 0x12b0, 0x12b3, - 0x12be, 0x12c2, 0x12d3, 0x12e1, 0x12e8, 0x12ed, 0x12f2, 0x12fd, - 0x1303, 0x1308, 0x130d, 0x1315, 0x1317, 0x1322, 0x132f, 0x1335, + 0x126e, 0x1277, 0x1292, 0x129c, 0x12a6, 0x12ad, 0x12bd, 0x12c0, + 0x12cb, 0x12cf, 0x12e0, 0x12ee, 0x12f5, 0x12fa, 0x12ff, 0x130a, + 0x1310, 0x1315, 0x131a, 0x1322, 0x1324, 0x132f, 0x133c, 0x1342, // Entry 240 - 27F - 0x133a, 0x1343, 0x134a, 0x1359, 0x1362, 0x136e, 0x1375, 0x1381, - 0x138c, 0x1392, 0x13af, 0x13b3, 0x13cd, 0x13d5, 0x13ec, 0x13ec, - 0x13fe, 0x1412, 0x1425, 0x1439, 0x144a, 0x145d, 0x1474, 0x1485, - 0x1496, 0x1496, 0x14a9, 0x14bb, 0x14c6, 0x14d2, 0x14ea, 0x1500, - 0x150a, 0x1518, 0x1525, 0x1539, 0x154f, + 0x1347, 0x1350, 0x1357, 0x1366, 0x136f, 0x137b, 0x1382, 0x138e, + 0x1399, 0x139f, 0x13bc, 0x13c0, 0x13da, 0x13e2, 0x13f9, 0x13f9, + 0x140b, 0x141f, 0x1432, 0x1446, 0x1457, 0x146a, 0x1481, 0x1492, + 0x14a3, 0x14a3, 0x14b6, 0x14c8, 0x14d3, 0x14df, 0x14f7, 0x150d, + 0x1517, 0x1525, 0x1532, 0x1546, 0x155c, } // Size: 1250 bytes -const swLangStr string = "" + // Size: 3904 bytes +const swLangStr string = "" + // Size: 3919 bytes "KiafarKiabkhaziKiafrikanaKiakaniKiamhariKiaragoniKiarabuKiassamKiavariKi" + "aymaraKiazerbaijaniKibashkirKibelarusiKibulgariaKibislamaKibambaraKibeng" + "aliKitibetiKibretoniKibosniaKikatalaniKichecheniaKichamorroKikosikaniKic" + @@ -24607,12 +24615,12 @@ const swLangStr string = "" + // Size: 3904 bytes "ha KusiniKisami cha LuleKisami cha InariKisami cha SkoltKisoninkeLugha y" + "a Sranan TongoKisahoKisukumaKisusuShikomorLugha ya SyriacKitemneKitesoKi" + "tetumKitigreKiklingoniKitokpisinKitarokoKitumbukaKituvaluKitasawaqKituva" + - "Central Atlas TamazightUdmurtUmbunduRootKivaiKivunjoWalserKiwolayttaKiwa" + - "rayKiwarlpiriKikalmykKisogaKiyaoKiyangbenKiyembaKikantoniTamaziti Sanifu" + - " ya KimorokoKizuniHakuna maudhui ya lughaKizazaKiarabu Sanifu cha Kisasa" + - "Kihispania (Uhispania)Kihispania (Mexico)Kifaransa (Canada)KiflemiKireno" + - " (Brazil)Kiserbia-kroeshiaKingwanaKichina (Kilichorahisishwa)Kichina cha" + - " Jadi" + "Central Atlas TamazightUdmurtUmbunduLugha IsiyojulikanaKivaiKivunjoWalse" + + "rKiwolayttaKiwarayKiwarlpiriKikalmykKisogaKiyaoKiyangbenKiyembaKikantoni" + + "Tamaziti Sanifu ya KimorokoKizuniHakuna maudhui ya lughaKizazaKiarabu Sa" + + "nifu cha KisasaKihispania (Uhispania)Kihispania (Mexico)Kifaransa (Canad" + + "a)KiflemiKireno (Brazil)Kiserbia-kroeshiaKingwanaKichina (Kilichorahisis" + + "hwa)Kichina cha Jadi" var swLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -24693,18 +24701,18 @@ var swLangIdx = []uint16{ // 613 elements 0x0d7c, 0x0d7c, 0x0d7c, 0x0d83, 0x0d89, 0x0d89, 0x0d90, 0x0d97, 0x0d97, 0x0d97, 0x0d97, 0x0da1, 0x0da1, 0x0da1, 0x0da1, 0x0da1, 0x0dab, 0x0dab, 0x0db3, 0x0db3, 0x0db3, 0x0db3, 0x0dbc, 0x0dc4, - 0x0dcd, 0x0dd3, 0x0dea, 0x0df0, 0x0df0, 0x0df7, 0x0dfb, 0x0e00, - 0x0e00, 0x0e00, 0x0e00, 0x0e00, 0x0e00, 0x0e00, 0x0e07, 0x0e0d, - 0x0e17, 0x0e1e, 0x0e1e, 0x0e28, 0x0e28, 0x0e30, 0x0e30, 0x0e36, + 0x0dcd, 0x0dd3, 0x0dea, 0x0df0, 0x0df0, 0x0df7, 0x0e0a, 0x0e0f, + 0x0e0f, 0x0e0f, 0x0e0f, 0x0e0f, 0x0e0f, 0x0e0f, 0x0e16, 0x0e1c, + 0x0e26, 0x0e2d, 0x0e2d, 0x0e37, 0x0e37, 0x0e3f, 0x0e3f, 0x0e45, // Entry 240 - 27F - 0x0e3b, 0x0e3b, 0x0e44, 0x0e4b, 0x0e4b, 0x0e54, 0x0e54, 0x0e54, - 0x0e54, 0x0e54, 0x0e6f, 0x0e75, 0x0e8c, 0x0e92, 0x0eab, 0x0eab, - 0x0eab, 0x0eab, 0x0eab, 0x0eab, 0x0eab, 0x0eab, 0x0eab, 0x0ec1, - 0x0ed4, 0x0ed4, 0x0ee6, 0x0ee6, 0x0ee6, 0x0eed, 0x0efc, 0x0efc, - 0x0efc, 0x0f0d, 0x0f15, 0x0f30, 0x0f40, + 0x0e4a, 0x0e4a, 0x0e53, 0x0e5a, 0x0e5a, 0x0e63, 0x0e63, 0x0e63, + 0x0e63, 0x0e63, 0x0e7e, 0x0e84, 0x0e9b, 0x0ea1, 0x0eba, 0x0eba, + 0x0eba, 0x0eba, 0x0eba, 0x0eba, 0x0eba, 0x0eba, 0x0eba, 0x0ed0, + 0x0ee3, 0x0ee3, 0x0ef5, 0x0ef5, 0x0ef5, 0x0efc, 0x0f0b, 0x0f0b, + 0x0f0b, 0x0f1c, 0x0f24, 0x0f3f, 0x0f4f, } // Size: 1250 bytes -const taLangStr string = "" + // Size: 12975 bytes +const taLangStr string = "" + // Size: 13006 bytes "அஃபார்அப்காஜியான்அவெஸ்தான்ஆஃப்ரிகான்ஸ்அகான்அம்ஹாரிக்ஆர்கோனீஸ்அரபிக்அஸ்ஸா" + "மீஸ்அவேரிக்அய்மராஅஸர்பைஜானிபஷ்கிர்பெலாருஷியன்பல்கேரியன்பிஸ்லாமாபம்பாரா" + "வங்காளம்திபெத்தியன்பிரெட்டன்போஸ்னியன்கேட்டலான்செச்சென்சாமோரோகார்சிகன்க" + @@ -24759,15 +24767,15 @@ const taLangStr string = "" + // Size: 12975 bytes "்ட் சமிசோனின்கேசோக்தியன்ஸ்ரானன் டோங்கோசெரெர்சஹோசுகுமாசுசுசுமேரியன்கொமோ" + "ரியன்பாரம்பரிய சிரியாக்சிரியாக்டிம்னேடெசோடெரெனோடெடும்டைக்ரேடிவ்டோகேலௌக" + "்ளிங்கோன்லிங்கிட்தமஷேக்நயாசா டோங்காடோக் பிஸின்தரோகோட்ஸிம்ஷியன்தும்புகா" + - "டுவாலுடசவாக்டுவினியன்மத்திய அட்லஸ் டமசைட்உட்முர்ட்உகாரிடிக்அம்பொண்டுரூ" + - "ட்வைவோட்க்வுன்ஜோவால்சேர்வோலாய்ட்டாவாரேவாஷோவல்பிரிவூ சீனம்கல்மிக்சோகாயா" + - "வ்யாபேசேயாங்பென்யெம்பாகாண்டோனீஸ்ஜாபோடெக்ப்லிஸ்ஸிம்பால்ஸ்ஜெனகாஸ்டாண்டர்" + - "ட் மொராக்கன் தமாசைட்ஜூனிமொழி உள்ளடக்கம் ஏதுமில்லைஜாஜாநவீன நிலையான அரபி" + - "க்ஆஸ்திரிய ஜெர்மன்ஸ்விஸ் ஹை ஜெர்மன்ஆஸ்திரேலிய ஆங்கிலம்கனடிய ஆங்கிலம்பி" + - "ரிட்டிஷ் ஆங்கிலம்அமெரிக்க ஆங்கிலம்லத்தின் அமெரிக்க ஸ்பானிஷ்ஐரோப்பிய ஸ்" + - "பானிஷ்மெக்ஸிகன் ஸ்பானிஷ்கனடிய பிரெஞ்சுஸ்விஸ் பிரஞ்சுலோ சாக்ஸன்ஃப்லெமிஷ" + - "்பிரேசிலிய போர்ச்சுகீஸ்ஐரோப்பிய போர்ச்சுகீஸ்மோல்டாவியன்செர்போ-குரோஷியன" + - "்காங்கோ ஸ்வாஹிலிஎளிதாக்கப்பட்ட சீனம்பாரம்பரிய சீனம்" + "டுவாலுடசவாக்டுவினியன்மத்திய அட்லஸ் டமசைட்உட்முர்ட்உகாரிடிக்அம்பொண்டுஅற" + + "ியப்படாத மொழிவைவோட்க்வுன்ஜோவால்சேர்வோலாய்ட்டாவாரேவாஷோவல்பிரிவூ சீனம்கல" + + "்மிக்சோகாயாவ்யாபேசேயாங்பென்யெம்பாகாண்டோனீஸ்ஜாபோடெக்ப்லிஸ்ஸிம்பால்ஸ்ஜென" + + "காஸ்டாண்டர்ட் மொராக்கன் தமாசைட்ஜூனிமொழி உள்ளடக்கம் ஏதுமில்லைஜாஜாநவீன ந" + + "ிலையான அரபிக்ஆஸ்திரிய ஜெர்மன்ஸ்விஸ் ஹை ஜெர்மன்ஆஸ்திரேலிய ஆங்கிலம்கனடிய" + + " ஆங்கிலம்பிரிட்டிஷ் ஆங்கிலம்அமெரிக்க ஆங்கிலம்லத்தின் அமெரிக்க ஸ்பானிஷ்ஐர" + + "ோப்பிய ஸ்பானிஷ்மெக்ஸிகன் ஸ்பானிஷ்கனடிய பிரெஞ்சுஸ்விஸ் பிரஞ்சுலோ சாக்ஸன" + + "்ஃப்லெமிஷ்பிரேசிலிய போர்ச்சுகீஸ்ஐரோப்பிய போர்ச்சுகீஸ்மோல்டாவியன்செர்போ" + + "-குரோஷியன்காங்கோ ஸ்வாஹிலிஎளிதாக்கப்பட்ட சீனம்பாரம்பரிய சீனம்" var taLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -24848,18 +24856,18 @@ var taLangIdx = []uint16{ // 613 elements 0x2a7d, 0x2a7d, 0x2a7d, 0x2a8f, 0x2a9b, 0x2aad, 0x2abf, 0x2ad1, 0x2add, 0x2aef, 0x2aef, 0x2b0d, 0x2b25, 0x2b25, 0x2b37, 0x2b59, 0x2b78, 0x2b78, 0x2b87, 0x2b87, 0x2ba8, 0x2ba8, 0x2bc0, 0x2bd2, - 0x2be4, 0x2bff, 0x2c37, 0x2c52, 0x2c6d, 0x2c88, 0x2c94, 0x2c9a, - 0x2c9a, 0x2c9a, 0x2c9a, 0x2c9a, 0x2cac, 0x2cac, 0x2cbe, 0x2cd6, - 0x2cf4, 0x2d00, 0x2d0c, 0x2d21, 0x2d37, 0x2d4c, 0x2d4c, 0x2d58, + 0x2be4, 0x2bff, 0x2c37, 0x2c52, 0x2c6d, 0x2c88, 0x2cb3, 0x2cb9, + 0x2cb9, 0x2cb9, 0x2cb9, 0x2cb9, 0x2ccb, 0x2ccb, 0x2cdd, 0x2cf5, + 0x2d13, 0x2d1f, 0x2d2b, 0x2d40, 0x2d56, 0x2d6b, 0x2d6b, 0x2d77, // Entry 240 - 27F - 0x2d64, 0x2d76, 0x2d8e, 0x2da0, 0x2da0, 0x2dbe, 0x2dd6, 0x2e06, - 0x2e06, 0x2e15, 0x2e68, 0x2e74, 0x2ebb, 0x2ec7, 0x2efc, 0x2efc, - 0x2f2a, 0x2f59, 0x2f90, 0x2fb8, 0x2fef, 0x3020, 0x3067, 0x3098, - 0x30cc, 0x30cc, 0x30f4, 0x311c, 0x3138, 0x3153, 0x3193, 0x31d0, - 0x31f1, 0x321f, 0x324a, 0x3284, 0x32af, + 0x2d83, 0x2d95, 0x2dad, 0x2dbf, 0x2dbf, 0x2ddd, 0x2df5, 0x2e25, + 0x2e25, 0x2e34, 0x2e87, 0x2e93, 0x2eda, 0x2ee6, 0x2f1b, 0x2f1b, + 0x2f49, 0x2f78, 0x2faf, 0x2fd7, 0x300e, 0x303f, 0x3086, 0x30b7, + 0x30eb, 0x30eb, 0x3113, 0x313b, 0x3157, 0x3172, 0x31b2, 0x31ef, + 0x3210, 0x323e, 0x3269, 0x32a3, 0x32ce, } // Size: 1250 bytes -const teLangStr string = "" + // Size: 12415 bytes +const teLangStr string = "" + // Size: 12434 bytes "అఫార్అబ్ఖాజియన్అవేస్టాన్ఆఫ్రికాన్స్అకాన్అమ్హారిక్అరగోనిస్అరబిక్అస్సామీస్" + "అవారిక్ఐమారాఅజర్బైజానిబష్కిర్బెలరుషియన్బల్గేరియన్బిస్లామాబంబారాబాంగ్లా" + "టిబెటన్బ్రెటన్బోస్నియన్కెటలాన్చెచెన్చమర్రోకోర్సికన్క్రిచెక్చర్చ స్లావి" + @@ -24912,15 +24920,15 @@ const teLangStr string = "" + // Size: 12415 bytes "గ్డియన్స్రానన్ టోనగోసెరేర్సహోసుకుమాసుసుసుమేరియాన్కొమొరియన్సాంప్రదాయ సి" + "రియాక్సిరియాక్తుళుటింనేటెసోటెరెనోటేటంటీగ్రెటివ్టోకెలావ్క్లింగాన్ట్లింగ" + "ిట్టామషేక్న్యాసా టోన్గాటోక్ పిసిన్తరోకోశింషీయన్టుంబుకాటువాలుటసావాఖ్టువ" + - "ినియన్సెంట్రల్ అట్లాస్ టామాజైట్ఉడ్ముర్ట్ఉగారిటిక్ఉమ్బుండురూట్వాయివోటిక" + - "్వుంజొవాల్సర్వాలేట్టావారేవాషోవార్లపిరివు చైనీస్కల్మిక్సొగాయాయేయాపిస్యా" + - "ంగ్\u200cబెన్యెంబాకాంటనీస్జపోటెక్బ్లిసింబల్స్జెనాగాప్రామాణిక మొరొకన్ త" + - "మజియట్జునిలిపి లేదుజాజాఆధునిక ప్రామాణిక అరబిక్ఆస్ట్రేలియన్ జర్మన్స్విస" + - "్ హై జర్మన్ఆస్ట్రేలియన్ ఇంగ్లీష్కెనడియన్ ఇంగ్లీష్బ్రిటిష్ ఇంగ్లీష్అమెర" + - "ికన్ ఇంగ్లీష్లాటిన్ అమెరికన్ స్పానిష్యూరోపియన్ స్పానిష్మెక్సికన్ స్పాన" + - "ిష్కెనడియెన్ ఫ్రెంచ్స్విస్ ఫ్రెంచ్లో సాక్సన్ఫ్లెమిష్బ్రెజీలియన్ పోర్చు" + - "గీస్యూరోపియన్ పోర్చుగీస్మొల్డావియన్సేర్బో-క్రొయేషియన్కాంగో స్వాహిలిసరళ" + - "ీకృత చైనీస్సాంప్రదాయక చైనీస్" + "ినియన్సెంట్రల్ అట్లాస్ టామాజైట్ఉడ్ముర్ట్ఉగారిటిక్ఉమ్బుండుతెలియని భాషవా" + + "యివోటిక్వుంజొవాల్సర్వాలేట్టావారేవాషోవార్లపిరివు చైనీస్కల్మిక్సొగాయాయేయ" + + "ాపిస్యాంగ్\u200cబెన్యెంబాకాంటనీస్జపోటెక్బ్లిసింబల్స్జెనాగాప్రామాణిక మొ" + + "రొకన్ తమజియట్జునిలిపి లేదుజాజాఆధునిక ప్రామాణిక అరబిక్ఆస్ట్రేలియన్ జర్మ" + + "న్స్విస్ హై జర్మన్ఆస్ట్రేలియన్ ఇంగ్లీష్కెనడియన్ ఇంగ్లీష్బ్రిటిష్ ఇంగ్ల" + + "ీష్అమెరికన్ ఇంగ్లీష్లాటిన్ అమెరికన్ స్పానిష్యూరోపియన్ స్పానిష్మెక్సికన" + + "్ స్పానిష్కెనడియెన్ ఫ్రెంచ్స్విస్ ఫ్రెంచ్లో సాక్సన్ఫ్లెమిష్బ్రెజీలియన్" + + " పోర్చుగీస్యూరోపియన్ పోర్చుగీస్మొల్డావియన్సేర్బో-క్రొయేషియన్కాంగో స్వాహి" + + "లిసరళీకృత చైనీస్సాంప్రదాయక చైనీస్" var teLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -25001,18 +25009,18 @@ var teLangIdx = []uint16{ // 613 elements 0x286c, 0x286c, 0x2878, 0x2887, 0x2893, 0x28a5, 0x28b1, 0x28c3, 0x28cf, 0x28e7, 0x28e7, 0x2902, 0x291d, 0x291d, 0x2932, 0x2957, 0x2976, 0x2976, 0x2985, 0x2985, 0x299d, 0x299d, 0x29b2, 0x29c4, - 0x29d9, 0x29f4, 0x2a3b, 0x2a56, 0x2a71, 0x2a89, 0x2a95, 0x2aa1, - 0x2aa1, 0x2aa1, 0x2aa1, 0x2aa1, 0x2ab3, 0x2ab3, 0x2ac2, 0x2ad7, - 0x2aef, 0x2afb, 0x2b07, 0x2b22, 0x2b3b, 0x2b50, 0x2b50, 0x2b5c, + 0x29d9, 0x29f4, 0x2a3b, 0x2a56, 0x2a71, 0x2a89, 0x2aa8, 0x2ab4, + 0x2ab4, 0x2ab4, 0x2ab4, 0x2ab4, 0x2ac6, 0x2ac6, 0x2ad5, 0x2aea, + 0x2b02, 0x2b0e, 0x2b1a, 0x2b35, 0x2b4e, 0x2b63, 0x2b63, 0x2b6f, // Entry 240 - 27F - 0x2b68, 0x2b7a, 0x2b98, 0x2ba7, 0x2ba7, 0x2bbf, 0x2bd4, 0x2bf8, - 0x2bf8, 0x2c0a, 0x2c51, 0x2c5d, 0x2c76, 0x2c82, 0x2cc3, 0x2cc3, - 0x2cfa, 0x2d26, 0x2d63, 0x2d94, 0x2dc5, 0x2df6, 0x2e3a, 0x2e6e, - 0x2ea2, 0x2ea2, 0x2ed3, 0x2efb, 0x2f17, 0x2f2f, 0x2f6f, 0x2fa9, - 0x2fca, 0x2ffe, 0x3026, 0x304e, 0x307f, + 0x2b7b, 0x2b8d, 0x2bab, 0x2bba, 0x2bba, 0x2bd2, 0x2be7, 0x2c0b, + 0x2c0b, 0x2c1d, 0x2c64, 0x2c70, 0x2c89, 0x2c95, 0x2cd6, 0x2cd6, + 0x2d0d, 0x2d39, 0x2d76, 0x2da7, 0x2dd8, 0x2e09, 0x2e4d, 0x2e81, + 0x2eb5, 0x2eb5, 0x2ee6, 0x2f0e, 0x2f2a, 0x2f42, 0x2f82, 0x2fbc, + 0x2fdd, 0x3011, 0x3039, 0x3061, 0x3092, } // Size: 1250 bytes -const thLangStr string = "" + // Size: 13813 bytes +const thLangStr string = "" + // Size: 13852 bytes "อะฟาร์อับคาซอเวสตะแอฟริกานส์อาคันอัมฮาราอารากอนอาหรับอัสสัมอาวาร์ไอย์มาร" + "าอาเซอร์ไบจานบัชคีร์เบลารุสบัลแกเรียบิสลามาบัมบาราเบงกาลีทิเบตเบรตันบอ" + "สเนียกาตาลังเชเชนชามอร์โรคอร์ซิกาครีเช็กเชอร์ชสลาวิกชูวัชเวลส์เดนมาร์ก" + @@ -25071,15 +25079,15 @@ const thLangStr string = "" + // Size: 13813 bytes "ซูซูเมอโคเมอเรียนซีเรียแบบดั้งเดิมซีเรียไซลีเซียตูลูทิมเนเตโซเทเรโนเตต" + "ุมตีเกรทิฟโตเกเลาแซคเซอร์คลิงกอนทลิงกิตทาลิชทามาเชกไนอะซาตองกาท็อกพิซิ" + "นตูโรโยทาโรโกซาโคเนียซิมชีแอนตัตมุสลิมทุมบูกาตูวาลูตัสซาวัคตูวาทามาไซต" + - "์แอตลาสกลางอุดมูร์ตยูการิตอุมบุนดูรูทไวเวเนโต้เวปส์เฟลมิชตะวันตกเมน-ฟร" + - "านโกเนียโวทิกโวโรวุนจูวัลเซอร์วาลาโมวาเรย์วาโชวอล์เพอร์รีจีนอู๋คัลมืยค" + - "์เมเกรเลียโซกาเย้ายัปแยงเบนเยมบาเหงงกาตุกวางตุ้งซาโปเตกบลิสซิมโบลส์เซแ" + - "ลนด์เซนากาทามาไซต์โมร็อกโกมาตรฐานซูนิไม่มีข้อมูลภาษาซาซาอาหรับมาตรฐานส" + - "มัยใหม่เยอรมัน - ออสเตรียเยอรมันสูง (สวิส)อังกฤษ - ออสเตรเลียอังกฤษ - " + - "แคนาดาอังกฤษ - สหราชอาณาจักรอังกฤษ - อเมริกันสเปน - ละตินอเมริกาสเปน -" + - " ยุโรปสเปน - เม็กซิโกฝรั่งเศส - แคนาดาฝรั่งเศส (สวิส)แซกซอนใต้เฟลมิชโปรต" + - "ุเกส - บราซิลโปรตุเกส - ยุโรปมอลโดวาเซอร์โบ-โครเอเชียสวาฮีลี-คองโกจีนต" + - "ัวย่อจีนตัวเต็ม" + "์แอตลาสกลางอุดมูร์ตยูการิตอุมบุนดูภาษาที่ไม่รู้จักไวเวเนโต้เวปส์เฟลมิช" + + "ตะวันตกเมน-ฟรานโกเนียโวทิกโวโรวุนจูวัลเซอร์วาลาโมวาเรย์วาโชวอล์เพอร์รี" + + "จีนอู๋คัลมืยค์เมเกรเลียโซกาเย้ายัปแยงเบนเยมบาเหงงกาตุกวางตุ้งซาโปเตกบล" + + "ิสซิมโบลส์เซแลนด์เซนากาทามาไซต์โมร็อกโกมาตรฐานซูนิไม่มีข้อมูลภาษาซาซาอ" + + "าหรับมาตรฐานสมัยใหม่เยอรมัน - ออสเตรียเยอรมันสูง (สวิส)อังกฤษ - ออสเตร" + + "เลียอังกฤษ - แคนาดาอังกฤษ - สหราชอาณาจักรอังกฤษ - อเมริกันสเปน - ละติน" + + "อเมริกาสเปน - ยุโรปสเปน - เม็กซิโกฝรั่งเศส - แคนาดาฝรั่งเศส (สวิส)แซกซ" + + "อนใต้เฟลมิชโปรตุเกส - บราซิลโปรตุเกส - ยุโรปมอลโดวาเซอร์โบ-โครเอเชียสว" + + "าฮีลี-คองโกจีนตัวย่อจีนตัวเต็ม" var thLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -25160,18 +25168,18 @@ var thLangIdx = []uint16{ // 613 elements 0x2d88, 0x2da0, 0x2dac, 0x2dbb, 0x2dc7, 0x2dd9, 0x2de8, 0x2df7, 0x2e00, 0x2e15, 0x2e2d, 0x2e42, 0x2e57, 0x2e66, 0x2e7b, 0x2e9c, 0x2eb7, 0x2ec9, 0x2edb, 0x2ef3, 0x2f0b, 0x2f26, 0x2f3b, 0x2f4d, - 0x2f65, 0x2f71, 0x2fa7, 0x2fbf, 0x2fd4, 0x2fec, 0x2ff5, 0x2ffb, - 0x3010, 0x301f, 0x3046, 0x306e, 0x307d, 0x3089, 0x3098, 0x30b0, - 0x30c2, 0x30d4, 0x30e0, 0x3101, 0x3113, 0x312b, 0x3146, 0x3152, + 0x2f65, 0x2f71, 0x2fa7, 0x2fbf, 0x2fd4, 0x2fec, 0x301c, 0x3022, + 0x3037, 0x3046, 0x306d, 0x3095, 0x30a4, 0x30b0, 0x30bf, 0x30d7, + 0x30e9, 0x30fb, 0x3107, 0x3128, 0x313a, 0x3152, 0x316d, 0x3179, // Entry 240 - 27F - 0x315e, 0x3167, 0x3179, 0x3188, 0x31a0, 0x31b8, 0x31cd, 0x31f1, - 0x3206, 0x3218, 0x325d, 0x3269, 0x3296, 0x32a2, 0x32e1, 0x32e1, - 0x3311, 0x333e, 0x3371, 0x3398, 0x33d4, 0x3401, 0x3434, 0x3452, - 0x3479, 0x3479, 0x34a6, 0x34cd, 0x34e8, 0x34fa, 0x3527, 0x3551, - 0x3566, 0x3597, 0x35bc, 0x35d7, 0x35f5, + 0x3185, 0x318e, 0x31a0, 0x31af, 0x31c7, 0x31df, 0x31f4, 0x3218, + 0x322d, 0x323f, 0x3284, 0x3290, 0x32bd, 0x32c9, 0x3308, 0x3308, + 0x3338, 0x3365, 0x3398, 0x33bf, 0x33fb, 0x3428, 0x345b, 0x3479, + 0x34a0, 0x34a0, 0x34cd, 0x34f4, 0x350f, 0x3521, 0x354e, 0x3578, + 0x358d, 0x35be, 0x35e3, 0x35fe, 0x361c, } // Size: 1250 bytes -const trLangStr string = "" + // Size: 5927 bytes +const trLangStr string = "" + // Size: 5935 bytes "AfarAbhazcaAvestçeAfrikaancaAkanAmharcaAragoncaArapçaAssamcaAvar DiliAym" + "araAzericeBaşkırtçaBelarusçaBulgarcaBislamaBambaraBengalceTibetçeBretonc" + "aBoşnakçaKatalancaÇeçenceÇamorro diliKorsikacaKriceÇekçeKilise SlavcasıÇ" + @@ -25241,16 +25249,16 @@ const trLangStr string = "" + // Size: 5927 bytes "ilezyacaTulucaTimneTesoTerenoTetumTigreTivTokelau diliSahurcaKlingoncaTl" + "ingitTalışçaTamaşekNyasa TongaTok PisinTuroyoTarokoTsakoncaTsimshianTatç" + "aTumbukaTuvalyancaTasawaqTuvacaOrta Atlas TamazigtiUdmurtçaUgarit diliUm" + - "bunduKökenVaiVenedikçeVeps diliBatı FlamancaMain Frankonya DiliVotçaVõro" + - "VunjoWalserValamoVarayVaşoWarlpiriWu ÇincesiKalmıkçaMegrelceSogaYaoYapça" + - "YangbenYembaNheengatuKantoncaZapotek diliBlis SembolleriZelandacaZenaga " + - "diliStandart Fas TamazigtiZuniceDilbilim içeriği yokZazacaModern Standar" + - "t ArapçaGüney AzericeAvusturya Almancasıİsviçre Yüksek AlmancasıAvustral" + - "ya İngilizcesiKanada İngilizcesiİngiliz İngilizcesiAmerikan İngilizcesiL" + - "atin Amerika İspanyolcasıAvrupa İspanyolcasıMeksika İspanyolcasıKanada F" + - "ransızcasıİsviçre FransızcasıAşağı SaksoncaFlamancaBrezilya Portekizcesi" + - "Avrupa PortekizcesiMoldovacaSırp-Hırvat DiliKongo SvahiliBasitleştirilmi" + - "ş ÇinceGeleneksel Çince" + "bunduBilinmeyen DilVaiVenedikçeVeps diliBatı FlamancaMain Frankonya Dili" + + "VotçaVõroVunjoWalserValamoVarayVaşoWarlpiriWu ÇincesiKalmıkçaMegrelceSog" + + "aYaoYapçaYangbenYembaNheengatuKantoncaZapotek diliBlis SembolleriZelanda" + + "caZenaga diliStandart Fas TamazigtiZuniceDilbilim içeriği yokZazacaModer" + + "n Standart ArapçaGüney AzericeAvusturya Almancasıİsviçre Yüksek Almancas" + + "ıAvustralya İngilizcesiKanada İngilizcesiİngiliz İngilizcesiAmerikan İn" + + "gilizcesiLatin Amerika İspanyolcasıAvrupa İspanyolcasıMeksika İspanyolca" + + "sıKanada Fransızcasıİsviçre FransızcasıAşağı SaksoncaFlamancaBrezilya Po" + + "rtekizcesiAvrupa PortekizcesiMoldovacaSırp-Hırvat DiliKongo SvahiliBasit" + + "leştirilmiş ÇinceGeleneksel Çince" var trLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -25331,18 +25339,18 @@ var trLangIdx = []uint16{ // 613 elements 0x137c, 0x1385, 0x138b, 0x1390, 0x1394, 0x139a, 0x139f, 0x13a4, 0x13a7, 0x13b3, 0x13ba, 0x13c3, 0x13ca, 0x13d4, 0x13dc, 0x13e7, 0x13f0, 0x13f6, 0x13fc, 0x1404, 0x140d, 0x1413, 0x141a, 0x1424, - 0x142b, 0x1431, 0x1445, 0x144e, 0x1459, 0x1460, 0x1466, 0x1469, - 0x1473, 0x147c, 0x148a, 0x149d, 0x14a3, 0x14a8, 0x14ad, 0x14b3, - 0x14b9, 0x14be, 0x14c3, 0x14cb, 0x14d6, 0x14e0, 0x14e8, 0x14ec, + 0x142b, 0x1431, 0x1445, 0x144e, 0x1459, 0x1460, 0x146e, 0x1471, + 0x147b, 0x1484, 0x1492, 0x14a5, 0x14ab, 0x14b0, 0x14b5, 0x14bb, + 0x14c1, 0x14c6, 0x14cb, 0x14d3, 0x14de, 0x14e8, 0x14f0, 0x14f4, // Entry 240 - 27F - 0x14ef, 0x14f5, 0x14fc, 0x1501, 0x150a, 0x1512, 0x151e, 0x152d, - 0x1536, 0x1541, 0x1557, 0x155d, 0x1573, 0x1579, 0x1590, 0x159e, - 0x15b2, 0x15ce, 0x15e5, 0x15f8, 0x160d, 0x1622, 0x163e, 0x1653, - 0x1669, 0x1669, 0x167d, 0x1694, 0x16a5, 0x16ad, 0x16c2, 0x16d5, - 0x16de, 0x16f0, 0x16fd, 0x1716, 0x1727, + 0x14f7, 0x14fd, 0x1504, 0x1509, 0x1512, 0x151a, 0x1526, 0x1535, + 0x153e, 0x1549, 0x155f, 0x1565, 0x157b, 0x1581, 0x1598, 0x15a6, + 0x15ba, 0x15d6, 0x15ed, 0x1600, 0x1615, 0x162a, 0x1646, 0x165b, + 0x1671, 0x1671, 0x1685, 0x169c, 0x16ad, 0x16b5, 0x16ca, 0x16dd, + 0x16e6, 0x16f8, 0x1705, 0x171e, 0x172f, } // Size: 1250 bytes -const ukLangStr string = "" + // Size: 9189 bytes +const ukLangStr string = "" + // Size: 9202 bytes "афарськаабхазькаавестійськаафрикаансаканамхарськаарагонськаарабськаассам" + "ськааварськааймараазербайджанськабашкирськабілоруськаболгарськабісламаб" + "амбарабенгальськатибетськабретонськабоснійськакаталонськачеченськачамор" + @@ -25401,14 +25409,14 @@ const ukLangStr string = "" + // Size: 9189 bytes "тсонінкесогдійськасранан тонгосерерсахосукумасусушумерськакоморськасирі" + "йська класичнасирійськатемнетесотеренотетумтигретівтокелауклінгонтлінгі" + "ттамашекньяса тонгаток-пісінтарокоцимшиантумбукатувалутасавактувинськац" + - "ентральномароканська тамазітудмуртськаугаритськаумбундукоріньваїводська" + - "вуньовалзерськаваламоварайвашовалпірікалмицькасогаяояпянгбенємбакантонс" + - "ькасапотекськаблісса мовазенагастандартна марокканська берберськазуньїн" + - "емає мовного вмістузазакісучасна стандартна арабськапівденноазербайджан" + - "ськаверхньонімецька (Швейцарія)британська англійськаамериканська англій" + - "ськаіспанська (Європа)нижньосаксонськафламандськапортугальська (Європа)" + - "молдавськасербсько-хорватськаконгійське суахілікитайська спрощенакитайс" + - "ька традиційна" + "ентральномароканська тамазітудмуртськаугаритськаумбундуневідома моваваї" + + "водськавуньовалзерськаваламоварайвашовалпірікалмицькасогаяояпянгбенємба" + + "кантонськасапотекськаблісса мовазенагастандартна марокканська берберськ" + + "азуньїнемає мовного вмістузазакісучасна стандартна арабськапівденноазер" + + "байджанськаверхньонімецька (Швейцарія)британська англійськаамериканська" + + " англійськаіспанська (Європа)нижньосаксонськафламандськапортугальська (Є" + + "вропа)молдавськасербсько-хорватськаконгійське суахілікитайська спрощена" + + "китайська традиційна" var ukLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -25489,18 +25497,18 @@ var ukLangIdx = []uint16{ // 613 elements 0x1f12, 0x1f12, 0x1f12, 0x1f1c, 0x1f24, 0x1f30, 0x1f3a, 0x1f44, 0x1f4a, 0x1f58, 0x1f58, 0x1f66, 0x1f74, 0x1f74, 0x1f82, 0x1f97, 0x1fa8, 0x1fa8, 0x1fb4, 0x1fb4, 0x1fc2, 0x1fc2, 0x1fd0, 0x1fdc, - 0x1fea, 0x1ffc, 0x2035, 0x2049, 0x205d, 0x206b, 0x2077, 0x207d, - 0x207d, 0x207d, 0x207d, 0x207d, 0x208b, 0x208b, 0x2095, 0x20a9, - 0x20b5, 0x20bf, 0x20c7, 0x20d5, 0x20d5, 0x20e7, 0x20e7, 0x20ef, + 0x1fea, 0x1ffc, 0x2035, 0x2049, 0x205d, 0x206b, 0x2084, 0x208a, + 0x208a, 0x208a, 0x208a, 0x208a, 0x2098, 0x2098, 0x20a2, 0x20b6, + 0x20c2, 0x20cc, 0x20d4, 0x20e2, 0x20e2, 0x20f4, 0x20f4, 0x20fc, // Entry 240 - 27F - 0x20f3, 0x20f7, 0x2103, 0x210b, 0x210b, 0x211f, 0x2135, 0x214a, - 0x214a, 0x2156, 0x2198, 0x21a2, 0x21c8, 0x21d4, 0x2208, 0x2236, - 0x2236, 0x2269, 0x2269, 0x2269, 0x2292, 0x22bf, 0x22bf, 0x22e0, - 0x22e0, 0x22e0, 0x22e0, 0x22e0, 0x2300, 0x2316, 0x2316, 0x233f, - 0x2353, 0x2378, 0x239b, 0x23be, 0x23e5, + 0x2100, 0x2104, 0x2110, 0x2118, 0x2118, 0x212c, 0x2142, 0x2157, + 0x2157, 0x2163, 0x21a5, 0x21af, 0x21d5, 0x21e1, 0x2215, 0x2243, + 0x2243, 0x2276, 0x2276, 0x2276, 0x229f, 0x22cc, 0x22cc, 0x22ed, + 0x22ed, 0x22ed, 0x22ed, 0x22ed, 0x230d, 0x2323, 0x2323, 0x234c, + 0x2360, 0x2385, 0x23a8, 0x23cb, 0x23f2, } // Size: 1250 bytes -const urLangStr string = "" + // Size: 5313 bytes +const urLangStr string = "" + // Size: 5330 bytes "افارابقازیانایفریکانزاکانامہاریاراگونیزعربیآسامیاواریایماراآذربائیجانیبا" + "شکیربیلاروسیبلغاریبسلامابمبارابنگالیتبتیبریٹنبوسنیکیٹالانچیچنکموروکوراس" + "یکنچیکچرچ سلاؤچوواشویلشڈینشجرمنڈیویہیژونگکھاایویونانیانگریزیایسپرانٹوہس" + @@ -25533,13 +25541,13 @@ const urLangStr string = "" + // Size: 5313 bytes "یسیلینسکاٹجنوبی کردسیناكويرابورو سينیتشلحيتشانجنوبی سامیلول سامیاناری س" + "امیسکولٹ سامیسوننکےسرانن ٹونگوساہوسکوماکوموریائیسریانیٹمنےتیسوٹیٹمٹگرےک" + "لنگنٹوک پِسِنٹوروکوٹمبوکاتووالوتاساواقتووینینسینٹرل ایٹلس ٹمازائٹادمورت" + - "اومبوندوروٹوائیونجووالسروولایتاوارےوارلپیریwuuکالمیکسوگایانگبینیمباکینٹ" + - "ونیزاسٹینڈرڈ مراقشی تمازیقیزونیکوئی لسانی مواد نہیںزازاماڈرن اسٹینڈرڈ ع" + - "ربیآزربائیجانی (عربی)آسٹریائی جرمنسوئس ہائی جرمنآسٹریلیائی انگریزیکینیڈ" + - "ین انگریزیبرطانوی انگریزیامریکی انگریزیلاطینی امریکی ہسپانوییورپی ہسپان" + - "ویمیکسیکن ہسپانویکینیڈین فرانسیسیسوئس فرینچادنی سیکسنفلیمِشبرازیلی پرتگ" + - "الییورپی پرتگالیمالدوواسربو-کروئیشینکانگو سواحلیچینی (آسان کردہ)روایتی " + - "چینی" + "اومبوندونامعلوم زبانوائیونجووالسروولایتاوارےوارلپیریwuuکالمیکسوگایانگبی" + + "نیمباکینٹونیزاسٹینڈرڈ مراقشی تمازیقیزونیکوئی لسانی مواد نہیںزازاماڈرن ا" + + "سٹینڈرڈ عربیآزربائیجانی (عربی)آسٹریائی جرمنسوئس ہائی جرمنآسٹریلیائی انگ" + + "ریزیکینیڈین انگریزیبرطانوی انگریزیامریکی انگریزیلاطینی امریکی ہسپانوییو" + + "رپی ہسپانویمیکسیکن ہسپانویکینیڈین فرانسیسیسوئس فرینچادنی سیکسنفلیمِشبرا" + + "زیلی پرتگالییورپی پرتگالیمالدوواسربو-کروئیشینکانگو سواحلیچینی (آسان کرد" + + "ہ)روایتی چینی" var urLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -25620,15 +25628,15 @@ var urLangIdx = []uint16{ // 613 elements 0x10dc, 0x10dc, 0x10dc, 0x10e4, 0x10ec, 0x10ec, 0x10f4, 0x10fc, 0x10fc, 0x10fc, 0x10fc, 0x1106, 0x1106, 0x1106, 0x1106, 0x1106, 0x1117, 0x1117, 0x1123, 0x1123, 0x1123, 0x1123, 0x112f, 0x113b, - 0x1149, 0x1157, 0x117d, 0x1189, 0x1189, 0x1199, 0x119f, 0x11a7, - 0x11a7, 0x11a7, 0x11a7, 0x11a7, 0x11a7, 0x11a7, 0x11af, 0x11b9, - 0x11c7, 0x11cf, 0x11cf, 0x11df, 0x11e2, 0x11ee, 0x11ee, 0x11f6, + 0x1149, 0x1157, 0x117d, 0x1189, 0x1189, 0x1199, 0x11b0, 0x11b8, + 0x11b8, 0x11b8, 0x11b8, 0x11b8, 0x11b8, 0x11b8, 0x11c0, 0x11ca, + 0x11d8, 0x11e0, 0x11e0, 0x11f0, 0x11f3, 0x11ff, 0x11ff, 0x1207, // Entry 240 - 27F - 0x11f6, 0x11f6, 0x1204, 0x120c, 0x120c, 0x121c, 0x121c, 0x121c, - 0x121c, 0x121c, 0x1248, 0x1250, 0x1275, 0x127d, 0x12a1, 0x12c2, - 0x12db, 0x12f5, 0x1318, 0x1335, 0x1352, 0x136d, 0x1395, 0x13ae, - 0x13cb, 0x13cb, 0x13ea, 0x13fd, 0x1410, 0x141c, 0x1439, 0x1452, - 0x1460, 0x1479, 0x1490, 0x14ac, 0x14c1, + 0x1207, 0x1207, 0x1215, 0x121d, 0x121d, 0x122d, 0x122d, 0x122d, + 0x122d, 0x122d, 0x1259, 0x1261, 0x1286, 0x128e, 0x12b2, 0x12d3, + 0x12ec, 0x1306, 0x1329, 0x1346, 0x1363, 0x137e, 0x13a6, 0x13bf, + 0x13dc, 0x13dc, 0x13fb, 0x140e, 0x1421, 0x142d, 0x144a, 0x1463, + 0x1471, 0x148a, 0x14a1, 0x14bd, 0x14d2, } // Size: 1250 bytes const uzLangStr string = "" + // Size: 2777 bytes @@ -25664,13 +25672,13 @@ const uzLangStr string = "" + // Size: 2777 bytes "angusitsiliyashotlandjanubiy kurdsenakoyraboro-sennitashelxitshanjanubiy" + " saamlule-saaminari-saamskolt-saamsoninkesranan-tongosukumaqamartimnetes" + "otetumtigreklingontok-piksintarokotumbukatuvalutasavaktuvamarkaziy atlas" + - " tamazigxtudmurtumbundutub aholi tilivaivunjovarayvalbiriwuuqalmoqsogaya" + - "ngbenyembakantontamazigxtzunitil tarkibi yo‘qzazastandart arabnemis (Avs" + - "triya)yuqori nemis (Shveytsariya)ingliz (Avstraliya)ingliz (Kanada)ingli" + - "z (Britaniya)ingliz (Amerika)ispan (Lotin Amerikasi)ispan (Yevropa)ispan" + - " (Meksika)fransuz (Kanada)fransuz (Shveytsariya)quyi saksonflamandportug" + - "al (Braziliya)portugal (Yevropa)moldovansuaxili (Kongo)xitoy (soddalashg" + - "an)xitoy (an’anaviy)" + " tamazigxtudmurtumbundunoma’lum tilvaivunjovarayvalbiriwuuqalmoqsogayang" + + "benyembakantontamazigxtzunitil tarkibi yo‘qzazastandart arabnemis (Avstr" + + "iya)yuqori nemis (Shveytsariya)ingliz (Avstraliya)ingliz (Kanada)ingliz " + + "(Britaniya)ingliz (Amerika)ispan (Lotin Amerikasi)ispan (Yevropa)ispan (" + + "Meksika)fransuz (Kanada)fransuz (Shveytsariya)quyi saksonflamandportugal" + + " (Braziliya)portugal (Yevropa)moldovansuaxili (Kongo)xitoy (soddalashgan" + + ")xitoy (an’anaviy)" var uzLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -25762,7 +25770,7 @@ var uzLangIdx = []uint16{ // 613 elements 0x0aa3, 0x0aa3, 0x0ab2, 0x0ac6, 0x0ad9, } // Size: 1250 bytes -const viLangStr string = "" + // Size: 8662 bytes +const viLangStr string = "" + // Size: 8681 bytes "Tiếng AfarTiếng AbkhaziaTiếng AvestanTiếng AfrikaansTiếng AkanTiếng Amha" + "ricTiếng AragonTiếng Ả RậpTiếng AssamTiếng AvaricTiếng AymaraTiếng Azerb" + "aijanTiếng BashkirTiếng BelarusTiếng BulgariaTiếng BislamaTiếng BambaraT" + @@ -25856,15 +25864,15 @@ const viLangStr string = "" + // Size: 8662 bytes "iếng TigreTiếng TivTiếng TokelauTiếng KlingonTiếng TlingitTiếng Tamashek" + "Tiếng Nyasa TongaTiếng Tok PisinTiếng TarokoTiếng TsimshianTiếng Tumbuka" + "Tiếng TuvaluTiếng TasawaqTiếng TuvinianTiếng Tamazight Miền Trung Ma-rốc" + - "Tiếng UdmurtTiếng UgariticTiếng UmbunduTiếng RootTiếng VaiTiếng VoticTiế" + - "ng VunjoTiếng WalserTiếng WalamoTiếng WarayTiếng WashoTiếng WarlpiriTiến" + - "g NgôTiếng KalmykTiếng SogaTiếng YaoTiếng YapTiếng YangbenTiếng YembaTiế" + - "ng Quảng ĐôngTiếng ZapotecKý hiệu BlissymbolsTiếng ZenagaTiếng Tamazight" + - " Chuẩn của Ma-rốcTiếng ZuniKhông có nội dung ngôn ngữTiếng ZazaTiếng Ả R" + - "ập Hiện đạiTiếng Thượng Giéc-man (Thụy Sĩ)Tiếng Anh (Anh)Tiếng Anh (Mỹ" + - ")Tiếng Tây Ban Nha (Mỹ La tinh)Tiếng Tây Ban Nha (Châu Âu)Tiếng Hạ Saxon" + - "Tiếng FlemishTiếng Bồ Đào Nha (Châu Âu)Tiếng MoldovaTiếng Serbo-CroatiaT" + - "iếng Swahili Congo" + "Tiếng UdmurtTiếng UgariticTiếng UmbunduNgôn ngữ không xác địnhTiếng VaiT" + + "iếng VoticTiếng VunjoTiếng WalserTiếng WalamoTiếng WarayTiếng WashoTiếng" + + " WarlpiriTiếng NgôTiếng KalmykTiếng SogaTiếng YaoTiếng YapTiếng YangbenT" + + "iếng YembaTiếng Quảng ĐôngTiếng ZapotecKý hiệu BlissymbolsTiếng ZenagaTi" + + "ếng Tamazight Chuẩn của Ma-rốcTiếng ZuniKhông có nội dung ngôn ngữTiến" + + "g ZazaTiếng Ả Rập Hiện đạiTiếng Thượng Giéc-man (Thụy Sĩ)Tiếng Anh (Anh)" + + "Tiếng Anh (Mỹ)Tiếng Tây Ban Nha (Mỹ La tinh)Tiếng Tây Ban Nha (Châu Âu)T" + + "iếng Hạ SaxonTiếng FlemishTiếng Bồ Đào Nha (Châu Âu)Tiếng MoldovaTiếng S" + + "erbo-CroatiaTiếng Swahili Congo" var viLangIdx = []uint16{ // 611 elements // Entry 0 - 3F @@ -25945,18 +25953,18 @@ var viLangIdx = []uint16{ // 611 elements 0x1dd8, 0x1dd8, 0x1dd8, 0x1de5, 0x1df1, 0x1dff, 0x1e0c, 0x1e19, 0x1e24, 0x1e33, 0x1e33, 0x1e42, 0x1e51, 0x1e51, 0x1e61, 0x1e74, 0x1e85, 0x1e85, 0x1e93, 0x1e93, 0x1ea4, 0x1ea4, 0x1eb3, 0x1ec1, - 0x1ed0, 0x1ee0, 0x1f07, 0x1f15, 0x1f25, 0x1f34, 0x1f40, 0x1f4b, - 0x1f4b, 0x1f4b, 0x1f4b, 0x1f4b, 0x1f58, 0x1f58, 0x1f65, 0x1f73, - 0x1f81, 0x1f8e, 0x1f9b, 0x1fab, 0x1fb7, 0x1fc5, 0x1fc5, 0x1fd1, + 0x1ed0, 0x1ee0, 0x1f07, 0x1f15, 0x1f25, 0x1f34, 0x1f53, 0x1f5e, + 0x1f5e, 0x1f5e, 0x1f5e, 0x1f5e, 0x1f6b, 0x1f6b, 0x1f78, 0x1f86, + 0x1f94, 0x1fa1, 0x1fae, 0x1fbe, 0x1fca, 0x1fd8, 0x1fd8, 0x1fe4, // Entry 240 - 27F - 0x1fdc, 0x1fe7, 0x1ff6, 0x2003, 0x2003, 0x2019, 0x2028, 0x203e, - 0x203e, 0x204c, 0x2074, 0x2080, 0x20a1, 0x20ad, 0x20cc, 0x20cc, - 0x20cc, 0x20f4, 0x20f4, 0x20f4, 0x2105, 0x2117, 0x213a, 0x215a, - 0x215a, 0x215a, 0x215a, 0x215a, 0x216c, 0x217b, 0x217b, 0x219d, - 0x21ac, 0x21c1, 0x21d6, + 0x1fef, 0x1ffa, 0x2009, 0x2016, 0x2016, 0x202c, 0x203b, 0x2051, + 0x2051, 0x205f, 0x2087, 0x2093, 0x20b4, 0x20c0, 0x20df, 0x20df, + 0x20df, 0x2107, 0x2107, 0x2107, 0x2118, 0x212a, 0x214d, 0x216d, + 0x216d, 0x216d, 0x216d, 0x216d, 0x217f, 0x218e, 0x218e, 0x21b0, + 0x21bf, 0x21d4, 0x21e9, } // Size: 1246 bytes -const zhLangStr string = "" + // Size: 6428 bytes +const zhLangStr string = "" + // Size: 6431 bytes "阿法尔文阿布哈西亚语阿维斯塔文南非荷兰语阿肯文阿姆哈拉文阿拉贡文阿拉伯语阿萨姆文阿瓦尔文艾马拉文阿塞拜疆语巴什基尔文白俄罗斯语保加利亚语比斯拉马" + "文班巴拉文孟加拉语藏语布列塔尼文波斯尼亚语加泰罗尼亚语车臣文查莫罗文科西嘉文克里族文捷克语教会斯拉夫文楚瓦什文威尔士语丹麦语德文迪维希文宗卡" + "文埃维文希腊语英语世界语西班牙文爱沙尼亚语巴斯克文波斯文富拉文芬兰语斐济文法罗文法语西弗里西亚文爱尔兰语苏格兰盖尔文加利西亚语瓜拉尼文古吉拉" + @@ -25984,10 +25992,10 @@ const zhLangStr string = "" + // Size: 6428 bytes "斯坦文拉帕努伊文拉罗汤加文兰博文吉普赛文阿罗蒙文罗瓦文桑达韦文萨哈文萨马利亚阿拉姆文桑布鲁文萨萨克文桑塔利文甘拜文桑古文西西里文苏格兰文南库" + "尔德文塞内卡文塞纳文塞尔库普文东桑海文古爱尔兰文希尔哈文掸文乍得阿拉伯文悉达摩文南萨米文律勒萨米文伊纳里萨米文斯科特萨米文索宁克文粟特文苏里" + "南汤加文塞雷尔文萨霍文苏库马文苏苏文苏美尔文科摩罗文古典叙利亚文古叙利亚文泰姆奈文特索文特伦诺文德顿文提格雷文蒂夫文托克劳文克林贡文特林吉特" + - "文塔马奇克文尼亚萨汤加文托克皮辛文太鲁阁文钦西安文通布卡文图瓦卢文北桑海文图瓦文塔马齐格特文乌德穆尔特文乌加里特文翁本杜文根语言瓦伊文维普森" + - "文沃提克文温旧文瓦尔瑟文瓦拉莫文瓦瑞文瓦绍文瓦尔皮瑞文吴语卡尔梅克文索加文瑶族语雅浦文洋卞文耶姆巴文粤语萨波蒂克文布里斯符号泽纳加文标准摩洛" + - "哥塔马塞特文祖尼文无语言内容扎扎文现代标准阿拉伯语南阿塞拜疆文奥地利德文瑞士高地德文拉丁美洲西班牙文欧洲西班牙文墨西哥西班牙文低萨克森文佛兰" + - "德文巴西葡萄牙文欧洲葡萄牙文摩尔多瓦文塞尔维亚-克罗地亚文刚果斯瓦希里文简体中文繁体中文" + "文塔马奇克文尼亚萨汤加文托克皮辛文太鲁阁文钦西安文通布卡文图瓦卢文北桑海文图瓦文塔马齐格特文乌德穆尔特文乌加里特文翁本杜文未知语言瓦伊文维普" + + "森文沃提克文温旧文瓦尔瑟文瓦拉莫文瓦瑞文瓦绍文瓦尔皮瑞文吴语卡尔梅克文索加文瑶族语雅浦文洋卞文耶姆巴文粤语萨波蒂克文布里斯符号泽纳加文标准摩" + + "洛哥塔马塞特文祖尼文无语言内容扎扎文现代标准阿拉伯语南阿塞拜疆文奥地利德文瑞士高地德文拉丁美洲西班牙文欧洲西班牙文墨西哥西班牙文低萨克森文佛" + + "兰德文巴西葡萄牙文欧洲葡萄牙文摩尔多瓦文塞尔维亚-克罗地亚文刚果斯瓦希里文简体中文繁体中文" var zhLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -26068,18 +26076,18 @@ var zhLangIdx = []uint16{ // 613 elements 0x15c1, 0x15c1, 0x15c1, 0x15cd, 0x15d6, 0x15e2, 0x15eb, 0x15f7, 0x1600, 0x160c, 0x160c, 0x1618, 0x1627, 0x1627, 0x1636, 0x1648, 0x1657, 0x1657, 0x1663, 0x1663, 0x166f, 0x166f, 0x167b, 0x1687, - 0x1693, 0x169c, 0x16ae, 0x16c0, 0x16cf, 0x16db, 0x16e4, 0x16ed, - 0x16ed, 0x16f9, 0x16f9, 0x16f9, 0x1705, 0x1705, 0x170e, 0x171a, - 0x1726, 0x172f, 0x1738, 0x1747, 0x174d, 0x175c, 0x175c, 0x1765, + 0x1693, 0x169c, 0x16ae, 0x16c0, 0x16cf, 0x16db, 0x16e7, 0x16f0, + 0x16f0, 0x16fc, 0x16fc, 0x16fc, 0x1708, 0x1708, 0x1711, 0x171d, + 0x1729, 0x1732, 0x173b, 0x174a, 0x1750, 0x175f, 0x175f, 0x1768, // Entry 240 - 27F - 0x176e, 0x1777, 0x1780, 0x178c, 0x178c, 0x1792, 0x17a1, 0x17b0, - 0x17b0, 0x17bc, 0x17da, 0x17e3, 0x17f2, 0x17fb, 0x1813, 0x1825, - 0x1834, 0x1846, 0x1846, 0x1846, 0x1846, 0x1846, 0x185e, 0x1870, - 0x1885, 0x1885, 0x1885, 0x1885, 0x1894, 0x18a0, 0x18b2, 0x18c4, - 0x18d3, 0x18ef, 0x1904, 0x1910, 0x191c, + 0x1771, 0x177a, 0x1783, 0x178f, 0x178f, 0x1795, 0x17a4, 0x17b3, + 0x17b3, 0x17bf, 0x17dd, 0x17e6, 0x17f5, 0x17fe, 0x1816, 0x1828, + 0x1837, 0x1849, 0x1849, 0x1849, 0x1849, 0x1849, 0x1861, 0x1873, + 0x1888, 0x1888, 0x1888, 0x1888, 0x1897, 0x18a3, 0x18b5, 0x18c7, + 0x18d6, 0x18f2, 0x1907, 0x1913, 0x191f, } // Size: 1250 bytes -const zhHantLangStr string = "" + // Size: 7573 bytes +const zhHantLangStr string = "" + // Size: 7576 bytes "阿法文阿布哈茲文阿維斯塔文南非荷蘭文阿坎文阿姆哈拉文阿拉貢文阿拉伯文阿薩姆文阿瓦爾文艾馬拉文亞塞拜然文巴什喀爾文白俄羅斯文保加利亞文比斯拉馬文班" + "巴拉文孟加拉文藏文布列塔尼文波士尼亞文加泰蘭文車臣文查莫洛文科西嘉文克里文捷克文宗教斯拉夫文楚瓦什文威爾斯文丹麥文德文迪維西文宗卡文埃維文希" + "臘文英文世界文西班牙文愛沙尼亞文巴斯克文波斯文富拉文芬蘭文斐濟文法羅文法文西弗里西亞文愛爾蘭文蘇格蘭蓋爾文加利西亞文瓜拉尼文古吉拉特文曼島文" + @@ -26113,10 +26121,10 @@ const zhHantLangStr string = "" + // Size: 7573 bytes "東桑海文古愛爾蘭文薩莫吉希亞文希爾哈文撣文阿拉伯文(查德)希達摩文下西利西亞文塞拉亞文南薩米文魯勒薩米文伊納里薩米文斯科特薩米文索尼基文索格" + "底亞納文蘇拉南東墎文塞雷爾文薩霍文沙特菲士蘭文蘇庫馬文蘇蘇文蘇美文葛摩文古敘利亞文敘利亞文西利西亞文圖盧文提姆文特索文泰雷諾文泰頓文蒂格雷文" + "提夫文托克勞文查庫爾文克林貢文特林基特文塔里什文塔馬奇克文東加文(尼亞薩)托比辛文圖羅尤文太魯閣文特薩克尼恩文欽西安文穆斯林塔特文圖姆布卡文" + - "吐瓦魯文北桑海文圖瓦文中阿特拉斯塔馬塞特文烏德穆爾特文烏加列文姆本杜文根語言瓦伊文威尼斯文維普森文西佛蘭德文美茵-法蘭克尼亞文沃提克文佛羅文" + - "溫舊文瓦爾瑟文瓦拉莫文瓦瑞文瓦紹文沃皮瑞文吳語卡爾梅克文明格列爾文索加文瑤文雅浦文洋卞文耶姆巴文奈恩加圖文粵語薩波特克文布列斯符號西蘭文澤納" + - "加文標準摩洛哥塔馬塞特文祖尼文無語言內容扎扎文現代標準阿拉伯文高地德文(瑞士)低地薩克遜文佛蘭芒文摩爾多瓦文塞爾維亞克羅埃西亞文史瓦希里文(" + - "剛果)簡體中文繁體中文" + "吐瓦魯文北桑海文圖瓦文中阿特拉斯塔馬塞特文烏德穆爾特文烏加列文姆本杜文未知語言瓦伊文威尼斯文維普森文西佛蘭德文美茵-法蘭克尼亞文沃提克文佛羅" + + "文溫舊文瓦爾瑟文瓦拉莫文瓦瑞文瓦紹文沃皮瑞文吳語卡爾梅克文明格列爾文索加文瑤文雅浦文洋卞文耶姆巴文奈恩加圖文粵語薩波特克文布列斯符號西蘭文澤" + + "納加文標準摩洛哥塔馬塞特文祖尼文無語言內容扎扎文現代標準阿拉伯文高地德文(瑞士)低地薩克遜文佛蘭芒文摩爾多瓦文塞爾維亞克羅埃西亞文史瓦希里文" + + "(剛果)簡體中文繁體中文" var zhHantLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -26197,18 +26205,18 @@ var zhHantLangIdx = []uint16{ // 613 elements 0x19e3, 0x19f2, 0x19fb, 0x1a04, 0x1a0d, 0x1a19, 0x1a22, 0x1a2e, 0x1a37, 0x1a43, 0x1a4f, 0x1a5b, 0x1a6a, 0x1a76, 0x1a85, 0x1a9d, 0x1aa9, 0x1ab5, 0x1ac1, 0x1ad3, 0x1adf, 0x1af1, 0x1b00, 0x1b0c, - 0x1b18, 0x1b21, 0x1b3f, 0x1b51, 0x1b5d, 0x1b69, 0x1b72, 0x1b7b, - 0x1b87, 0x1b93, 0x1ba2, 0x1bbb, 0x1bc7, 0x1bd0, 0x1bd9, 0x1be5, - 0x1bf1, 0x1bfa, 0x1c03, 0x1c0f, 0x1c15, 0x1c24, 0x1c33, 0x1c3c, + 0x1b18, 0x1b21, 0x1b3f, 0x1b51, 0x1b5d, 0x1b69, 0x1b75, 0x1b7e, + 0x1b8a, 0x1b96, 0x1ba5, 0x1bbe, 0x1bca, 0x1bd3, 0x1bdc, 0x1be8, + 0x1bf4, 0x1bfd, 0x1c06, 0x1c12, 0x1c18, 0x1c27, 0x1c36, 0x1c3f, // Entry 240 - 27F - 0x1c42, 0x1c4b, 0x1c54, 0x1c60, 0x1c6f, 0x1c75, 0x1c84, 0x1c93, - 0x1c9c, 0x1ca8, 0x1cc6, 0x1ccf, 0x1cde, 0x1ce7, 0x1cff, 0x1cff, - 0x1cff, 0x1d17, 0x1d17, 0x1d17, 0x1d17, 0x1d17, 0x1d17, 0x1d17, - 0x1d17, 0x1d17, 0x1d17, 0x1d17, 0x1d29, 0x1d35, 0x1d35, 0x1d35, - 0x1d44, 0x1d62, 0x1d7d, 0x1d89, 0x1d95, + 0x1c45, 0x1c4e, 0x1c57, 0x1c63, 0x1c72, 0x1c78, 0x1c87, 0x1c96, + 0x1c9f, 0x1cab, 0x1cc9, 0x1cd2, 0x1ce1, 0x1cea, 0x1d02, 0x1d02, + 0x1d02, 0x1d1a, 0x1d1a, 0x1d1a, 0x1d1a, 0x1d1a, 0x1d1a, 0x1d1a, + 0x1d1a, 0x1d1a, 0x1d1a, 0x1d1a, 0x1d2c, 0x1d38, 0x1d38, 0x1d38, + 0x1d47, 0x1d65, 0x1d80, 0x1d8c, 0x1d98, } // Size: 1250 bytes -const zuLangStr string = "" + // Size: 4670 bytes +const zuLangStr string = "" + // Size: 4680 bytes "isi-Afarisi-Abkhaziani-Afrikaansisi-Akanisi-Amharicisi-Aragoneseisi-Arab" + "icisi-Assameseisi-Avaricisi-Aymaraisi-Azerbaijaniisi-Bashkirisi-Belarusi" + "anisi-Bulgarii-Bislamaisi-Bambaraisi-Bengaliisi-Tibetanisi-Bretonisi-Bos" + @@ -26265,15 +26273,15 @@ const zuLangStr string = "" + // Size: 4670 bytes "ri Samiisi-Skolt Samii-Soninkei-Sranan Tongoi-Sahoi-Sukumaisi-Comoriani-" + "Syriacisi-Timneisi-Tesoisi-Tetumisi-Tigreisi-Klingonisi-Tok Pisinisi-Tar" + "okoisi-Tumbukaisi-Tuvaluisi-Tasawaqisi-Tuvinianisi-Central Atlas Tamazig" + - "htisi-Udmurtisi-Umbundui-Rootisi-VaiisiVunjoisi-Walserisi-Wolayttaisi-Wa" + - "rayisi-Warlpiriisi-Wu Chineseisi-Kalmykisi-Sogaisi-Yangbenisi-Yembaisi-C" + - "antoneseisi-Moroccan Tamazight esivamileisi-Zuniakukho okuqukethwe kolim" + - "iisi-Zazaisi-Arabic esivamile sesimanjeisi-Austrian Germani-Swiss High G" + - "ermanisi-Austrillian Englishi-Canadian Englishi-British Englishi-America" + - "n Englishisi-Latin American Spanishi-European Spanishi-Mexican Spanishi-" + - "Canadian Frenchi-Swiss Frenchisi-Low Saxonisi-Flemishisi-Brazillian Port" + - "ugueseisi-European Portugueseisi-Moldavianisi-Serbo-Croatianisi-Congo Sw" + - "ahiliisi-Chinese (esenziwe-lula)isi-Chinese (Okosiko)" + "htisi-Udmurtisi-Umbunduulimi olungaziwaisi-VaiisiVunjoisi-Walserisi-Wola" + + "yttaisi-Warayisi-Warlpiriisi-Wu Chineseisi-Kalmykisi-Sogaisi-Yangbenisi-" + + "Yembaisi-Cantoneseisi-Moroccan Tamazight esivamileisi-Zuniakukho okuquke" + + "thwe kolimiisi-Zazaisi-Arabic esivamile sesimanjeisi-Austrian Germani-Sw" + + "iss High Germanisi-Austrillian Englishi-Canadian Englishi-British Englis" + + "hi-American Englishisi-Latin American Spanishi-European Spanishi-Mexican" + + " Spanishi-Canadian Frenchi-Swiss Frenchisi-Low Saxonisi-Flemishisi-Brazi" + + "llian Portugueseisi-European Portugueseisi-Moldavianisi-Serbo-Croatianis" + + "i-Congo Swahiliisi-Chinese (esenziwe-lula)isi-Chinese (Okosiko)" var zuLangIdx = []uint16{ // 613 elements // Entry 0 - 3F @@ -26354,18 +26362,18 @@ var zuLangIdx = []uint16{ // 613 elements 0x0f3f, 0x0f3f, 0x0f3f, 0x0f48, 0x0f50, 0x0f50, 0x0f59, 0x0f62, 0x0f62, 0x0f62, 0x0f62, 0x0f6d, 0x0f6d, 0x0f6d, 0x0f6d, 0x0f6d, 0x0f7a, 0x0f7a, 0x0f84, 0x0f84, 0x0f84, 0x0f84, 0x0f8f, 0x0f99, - 0x0fa4, 0x0fb0, 0x0fcb, 0x0fd5, 0x0fd5, 0x0fe0, 0x0fe6, 0x0fed, - 0x0fed, 0x0fed, 0x0fed, 0x0fed, 0x0fed, 0x0fed, 0x0ff5, 0x0fff, - 0x100b, 0x1014, 0x1014, 0x1020, 0x102e, 0x1038, 0x1038, 0x1040, + 0x0fa4, 0x0fb0, 0x0fcb, 0x0fd5, 0x0fd5, 0x0fe0, 0x0ff0, 0x0ff7, + 0x0ff7, 0x0ff7, 0x0ff7, 0x0ff7, 0x0ff7, 0x0ff7, 0x0fff, 0x1009, + 0x1015, 0x101e, 0x101e, 0x102a, 0x1038, 0x1042, 0x1042, 0x104a, // Entry 240 - 27F - 0x1040, 0x1040, 0x104b, 0x1054, 0x1054, 0x1061, 0x1061, 0x1061, - 0x1061, 0x1061, 0x1081, 0x1089, 0x10a2, 0x10aa, 0x10c8, 0x10c8, - 0x10db, 0x10ee, 0x1105, 0x1117, 0x1128, 0x113a, 0x1154, 0x1166, - 0x1177, 0x1177, 0x1188, 0x1196, 0x11a3, 0x11ae, 0x11c7, 0x11de, - 0x11eb, 0x11fd, 0x120e, 0x1229, 0x123e, + 0x104a, 0x104a, 0x1055, 0x105e, 0x105e, 0x106b, 0x106b, 0x106b, + 0x106b, 0x106b, 0x108b, 0x1093, 0x10ac, 0x10b4, 0x10d2, 0x10d2, + 0x10e5, 0x10f8, 0x110f, 0x1121, 0x1132, 0x1144, 0x115e, 0x1170, + 0x1181, 0x1181, 0x1192, 0x11a0, 0x11ad, 0x11b8, 0x11d1, 0x11e8, + 0x11f5, 0x1207, 0x1218, 0x1233, 0x1248, } // Size: 1250 bytes -// Total size for lang: 1022818 bytes (1022 KB) +// Total size for lang: 1024178 bytes (1024 KB) // Number of keys: 175 var ( @@ -50333,4 +50341,4 @@ var selfHeaders = [1]header{ // Total size for self: 4040 bytes (4 KB) -// Total table size 2127659 bytes (2077KiB); checksum: E92D966F +// Total table size 2129019 bytes (2079KiB); checksum: C21E1902 diff --git a/vendor/golang.org/x/text/language/doc.go b/vendor/golang.org/x/text/language/doc.go new file mode 100644 index 000000000..8afecd50e --- /dev/null +++ b/vendor/golang.org/x/text/language/doc.go @@ -0,0 +1,102 @@ +// Copyright 2017 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 language implements BCP 47 language tags and related functionality. +// +// The most important function of package language is to match a list of +// user-preferred languages to a list of supported languages. +// It alleviates the developer of dealing with the complexity of this process +// and provides the user with the best experience +// (see https://blog.golang.org/matchlang). +// +// +// Matching preferred against supported languages +// +// A Matcher for an application that supports English, Australian English, +// Danish, and standard Mandarin can be created as follows: +// +// var matcher = language.NewMatcher([]language.Tag{ +// language.English, // The first language is used as fallback. +// language.MustParse("en-AU"), +// language.Danish, +// language.Chinese, +// }) +// +// This list of supported languages is typically implied by the languages for +// which there exists translations of the user interface. +// +// User-preferred languages usually come as a comma-separated list of BCP 47 +// language tags. +// The MatchString finds best matches for such strings: +// +// handler(w http.ResponseWriter, r *http.Request) { +// lang, _ := r.Cookie("lang") +// accept := r.Header.Get("Accept-Language") +// tag, _ := language.MatchStrings(matcher, lang.String(), accept) +// +// // tag should now be used for the initialization of any +// // locale-specific service. +// } +// +// The Matcher's Match method can be used to match Tags directly. +// +// Matchers are aware of the intricacies of equivalence between languages, such +// as deprecated subtags, legacy tags, macro languages, mutual +// intelligibility between scripts and languages, and transparently passing +// BCP 47 user configuration. +// For instance, it will know that a reader of Bokmål Danish can read Norwegian +// and will know that Cantonese ("yue") is a good match for "zh-HK". +// +// +// Using match results +// +// To guarantee a consistent user experience to the user it is important to +// use the same language tag for the selection of any locale-specific services. +// For example, it is utterly confusing to substitute spelled-out numbers +// or dates in one language in text of another language. +// More subtly confusing is using the wrong sorting order or casing +// algorithm for a certain language. +// +// All the packages in x/text that provide locale-specific services +// (e.g. collate, cases) should be initialized with the tag that was +// obtained at the start of an interaction with the user. +// +// Note that Tag that is returned by Match and MatchString may differ from any +// of the supported languages, as it may contain carried over settings from +// the user tags. +// This may be inconvenient when your application has some additional +// locale-specific data for your supported languages. +// Match and MatchString both return the index of the matched supported tag +// to simplify associating such data with the matched tag. +// +// +// Canonicalization +// +// If one uses the Matcher to compare languages one does not need to +// worry about canonicalization. +// +// The meaning of a Tag varies per application. The language package +// therefore delays canonicalization and preserves information as much +// as possible. The Matcher, however, will always take into account that +// two different tags may represent the same language. +// +// By default, only legacy and deprecated tags are converted into their +// canonical equivalent. All other information is preserved. This approach makes +// the confidence scores more accurate and allows matchers to distinguish +// between variants that are otherwise lost. +// +// As a consequence, two tags that should be treated as identical according to +// BCP 47 or CLDR, like "en-Latn" and "en", will be represented differently. The +// Matcher handles such distinctions, though, and is aware of the +// equivalence relations. The CanonType type can be used to alter the +// canonicalization form. +// +// References +// +// BCP 47 - Tags for Identifying Languages http://tools.ietf.org/html/bcp47 +// +package language // import "golang.org/x/text/language" + +// TODO: explanation on how to match languages for your own locale-specific +// service. diff --git a/vendor/golang.org/x/text/language/examples_test.go b/vendor/golang.org/x/text/language/examples_test.go index 05e712d77..d5e8176dc 100644 --- a/vendor/golang.org/x/text/language/examples_test.go +++ b/vendor/golang.org/x/text/language/examples_test.go @@ -6,6 +6,7 @@ package language_test import ( "fmt" + "net/http" "golang.org/x/text/language" ) @@ -274,7 +275,7 @@ func ExampleMatcher() { fmt.Println("----") - // Croatian speakers will likely understand Serbian written in Latin script. + // Someone specifying sr-Latn is probably fine with getting Croatian. fmt.Println(m.Match(language.Make("sr-Latn"))) // We match SimplifiedChinese, but with Low confidence. @@ -331,11 +332,27 @@ func ExampleMatcher() { // af 3 High // ---- // iw 9 Exact - // iw-IL 8 Exact + // he 10 Exact // ---- // fr-u-cu-frf 2 Exact // fr-u-cu-frf 2 High // en-u-co-phonebk 0 No + + // TODO: "he" should be "he-u-rg-IL High" +} + +func ExampleMatchStrings() { + // languages supported by this service: + matcher := language.NewMatcher([]language.Tag{ + language.English, language.Dutch, language.German, + }) + + http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { + lang, _ := r.Cookie("lang") + tag, _ := language.MatchStrings(matcher, lang.String(), r.Header.Get("Accept-Language")) + + fmt.Println("User language:", tag) + }) } func ExampleComprehends() { diff --git a/vendor/golang.org/x/text/language/gen.go b/vendor/golang.org/x/text/language/gen.go index 153269bc1..7c260e5c2 100644 --- a/vendor/golang.org/x/text/language/gen.go +++ b/vendor/golang.org/x/text/language/gen.go @@ -698,8 +698,8 @@ func (b *builder) computeRegionGroups() { b.groups[group] = index(len(b.groups)) } } - if len(b.groups) > 32 { - log.Fatalf("only 32 groups supported, found %d", len(b.groups)) + if len(b.groups) > 64 { + log.Fatalf("only 64 groups supported, found %d", len(b.groups)) } b.writeConst("nRegionGroups", len(b.groups)) } @@ -1417,20 +1417,27 @@ func (b *builder) writeMatchData() { } b.writeSlice("regionToGroups", regionToGroups) + // maps language id to in- and out-of-group region. + paradigmLocales := [][3]uint16{} + locales := strings.Split(lm[0].ParadigmLocales[0].Locales, " ") + for i := 0; i < len(locales); i += 2 { + x := [3]uint16{} + for j := 0; j < 2; j++ { + pc := strings.SplitN(locales[i+j], "-", 2) + x[0] = b.langIndex(pc[0]) + if len(pc) == 2 { + x[1+j] = uint16(b.region.index(pc[1])) + } + } + paradigmLocales = append(paradigmLocales, x) + } + b.writeSlice("paradigmLocales", paradigmLocales) + b.writeType(mutualIntelligibility{}) b.writeType(scriptIntelligibility{}) b.writeType(regionIntelligibility{}) - matchLang := []mutualIntelligibility{{ - // TODO: remove once CLDR is fixed. - want: uint16(b.langIndex("sr")), - have: uint16(b.langIndex("hr")), - distance: uint8(5), - }, { - want: uint16(b.langIndex("sr")), - have: uint16(b.langIndex("bs")), - distance: uint8(5), - }} + matchLang := []mutualIntelligibility{} matchScript := []scriptIntelligibility{} matchRegion := []regionIntelligibility{} // Convert the languageMatch entries in lists keyed by desired language. @@ -1559,7 +1566,7 @@ func (b *builder) writeRegionInclusionData() { } } - regionContainment := make([]uint32, len(b.groups)) + regionContainment := make([]uint64, len(b.groups)) for _, g := range b.groups { l := containment[g] @@ -1577,10 +1584,10 @@ func (b *builder) writeRegionInclusionData() { b.writeSlice("regionContainment", regionContainment) regionInclusion := make([]uint8, len(b.region.s)) - bvs := make(map[uint32]index) + bvs := make(map[uint64]index) // Make the first bitvector positions correspond with the groups. for r, i := range b.groups { - bv := uint32(1 << i) + bv := uint64(1 << i) for _, g := range mm[r] { bv |= 1 << g } @@ -1589,7 +1596,7 @@ func (b *builder) writeRegionInclusionData() { } for r := 1; r < len(b.region.s); r++ { if _, ok := b.groups[r]; !ok { - bv := uint32(0) + bv := uint64(0) for _, g := range mm[r] { bv |= 1 << g } @@ -1604,9 +1611,9 @@ func (b *builder) writeRegionInclusionData() { } } b.writeSlice("regionInclusion", regionInclusion) - regionInclusionBits := make([]uint32, len(bvs)) + regionInclusionBits := make([]uint64, len(bvs)) for k, v := range bvs { - regionInclusionBits[v] = uint32(k) + regionInclusionBits[v] = uint64(k) } // Add bit vectors for increasingly large distances until a fixed point is reached. regionInclusionNext := []uint8{} diff --git a/vendor/golang.org/x/text/language/index.go b/vendor/golang.org/x/text/language/index.go index 973db9fd5..69ac557dc 100644 --- a/vendor/golang.org/x/text/language/index.go +++ b/vendor/golang.org/x/text/language/index.go @@ -7,763 +7,763 @@ package language const NumCompactTags = 754 var specialTags = []Tag{ // 2 elements - 0: {lang: 0xd7, region: 0x6d, script: 0x0, pVariant: 0x5, pExt: 0xe, str: "ca-ES-valencia"}, - 1: {lang: 0x138, region: 0x134, script: 0x0, pVariant: 0x5, pExt: 0x5, str: "en-US-u-va-posix"}, + 0: {lang: 0xd7, region: 0x6e, script: 0x0, pVariant: 0x5, pExt: 0xe, str: "ca-ES-valencia"}, + 1: {lang: 0x138, region: 0x135, script: 0x0, pVariant: 0x5, pExt: 0x5, str: "en-US-u-va-posix"}, } // Size: 72 bytes var coreTags = map[uint32]uint16{ 0x0: 0, // und 0x01600000: 3, // af - 0x016000d1: 4, // af-NA - 0x01600160: 5, // af-ZA + 0x016000d2: 4, // af-NA + 0x01600161: 5, // af-ZA 0x01c00000: 6, // agq - 0x01c00051: 7, // agq-CM + 0x01c00052: 7, // agq-CM 0x02100000: 8, // ak - 0x0210007f: 9, // ak-GH + 0x02100080: 9, // ak-GH 0x02700000: 10, // am - 0x0270006e: 11, // am-ET + 0x0270006f: 11, // am-ET 0x03a00000: 12, // ar 0x03a00001: 13, // ar-001 - 0x03a00022: 14, // ar-AE - 0x03a00038: 15, // ar-BH - 0x03a00061: 16, // ar-DJ - 0x03a00066: 17, // ar-DZ - 0x03a0006a: 18, // ar-EG - 0x03a0006b: 19, // ar-EH - 0x03a0006c: 20, // ar-ER - 0x03a00096: 21, // ar-IL - 0x03a0009a: 22, // ar-IQ - 0x03a000a0: 23, // ar-JO - 0x03a000a7: 24, // ar-KM - 0x03a000ab: 25, // ar-KW - 0x03a000af: 26, // ar-LB - 0x03a000b8: 27, // ar-LY - 0x03a000b9: 28, // ar-MA - 0x03a000c8: 29, // ar-MR - 0x03a000e0: 30, // ar-OM - 0x03a000ec: 31, // ar-PS - 0x03a000f2: 32, // ar-QA - 0x03a00107: 33, // ar-SA - 0x03a0010a: 34, // ar-SD - 0x03a00114: 35, // ar-SO - 0x03a00116: 36, // ar-SS - 0x03a0011b: 37, // ar-SY - 0x03a0011f: 38, // ar-TD - 0x03a00127: 39, // ar-TN - 0x03a0015d: 40, // ar-YE + 0x03a00023: 14, // ar-AE + 0x03a00039: 15, // ar-BH + 0x03a00062: 16, // ar-DJ + 0x03a00067: 17, // ar-DZ + 0x03a0006b: 18, // ar-EG + 0x03a0006c: 19, // ar-EH + 0x03a0006d: 20, // ar-ER + 0x03a00097: 21, // ar-IL + 0x03a0009b: 22, // ar-IQ + 0x03a000a1: 23, // ar-JO + 0x03a000a8: 24, // ar-KM + 0x03a000ac: 25, // ar-KW + 0x03a000b0: 26, // ar-LB + 0x03a000b9: 27, // ar-LY + 0x03a000ba: 28, // ar-MA + 0x03a000c9: 29, // ar-MR + 0x03a000e1: 30, // ar-OM + 0x03a000ed: 31, // ar-PS + 0x03a000f3: 32, // ar-QA + 0x03a00108: 33, // ar-SA + 0x03a0010b: 34, // ar-SD + 0x03a00115: 35, // ar-SO + 0x03a00117: 36, // ar-SS + 0x03a0011c: 37, // ar-SY + 0x03a00120: 38, // ar-TD + 0x03a00128: 39, // ar-TN + 0x03a0015e: 40, // ar-YE 0x04000000: 41, // ars 0x04300000: 42, // as - 0x04300098: 43, // as-IN + 0x04300099: 43, // as-IN 0x04400000: 44, // asa - 0x0440012e: 45, // asa-TZ + 0x0440012f: 45, // asa-TZ 0x04800000: 46, // ast - 0x0480006d: 47, // ast-ES + 0x0480006e: 47, // ast-ES 0x05800000: 48, // az 0x0581e000: 49, // az-Cyrl - 0x0581e031: 50, // az-Cyrl-AZ - 0x05852000: 51, // az-Latn - 0x05852031: 52, // az-Latn-AZ + 0x0581e032: 50, // az-Cyrl-AZ + 0x05855000: 51, // az-Latn + 0x05855032: 52, // az-Latn-AZ 0x05e00000: 53, // bas - 0x05e00051: 54, // bas-CM + 0x05e00052: 54, // bas-CM 0x07100000: 55, // be - 0x07100046: 56, // be-BY + 0x07100047: 56, // be-BY 0x07500000: 57, // bem - 0x07500161: 58, // bem-ZM + 0x07500162: 58, // bem-ZM 0x07900000: 59, // bez - 0x0790012e: 60, // bez-TZ + 0x0790012f: 60, // bez-TZ 0x07e00000: 61, // bg - 0x07e00037: 62, // bg-BG + 0x07e00038: 62, // bg-BG 0x08200000: 63, // bh 0x0a000000: 64, // bm - 0x0a0000c2: 65, // bm-ML + 0x0a0000c3: 65, // bm-ML 0x0a500000: 66, // bn - 0x0a500034: 67, // bn-BD - 0x0a500098: 68, // bn-IN + 0x0a500035: 67, // bn-BD + 0x0a500099: 68, // bn-IN 0x0a900000: 69, // bo - 0x0a900052: 70, // bo-CN - 0x0a900098: 71, // bo-IN + 0x0a900053: 70, // bo-CN + 0x0a900099: 71, // bo-IN 0x0b200000: 72, // br - 0x0b200077: 73, // br-FR + 0x0b200078: 73, // br-FR 0x0b500000: 74, // brx - 0x0b500098: 75, // brx-IN + 0x0b500099: 75, // brx-IN 0x0b700000: 76, // bs 0x0b71e000: 77, // bs-Cyrl - 0x0b71e032: 78, // bs-Cyrl-BA - 0x0b752000: 79, // bs-Latn - 0x0b752032: 80, // bs-Latn-BA + 0x0b71e033: 78, // bs-Cyrl-BA + 0x0b755000: 79, // bs-Latn + 0x0b755033: 80, // bs-Latn-BA 0x0d700000: 81, // ca - 0x0d700021: 82, // ca-AD - 0x0d70006d: 83, // ca-ES - 0x0d700077: 84, // ca-FR - 0x0d70009d: 85, // ca-IT + 0x0d700022: 82, // ca-AD + 0x0d70006e: 83, // ca-ES + 0x0d700078: 84, // ca-FR + 0x0d70009e: 85, // ca-IT 0x0dc00000: 86, // ce - 0x0dc00105: 87, // ce-RU + 0x0dc00106: 87, // ce-RU 0x0df00000: 88, // cgg - 0x0df00130: 89, // cgg-UG + 0x0df00131: 89, // cgg-UG 0x0e500000: 90, // chr - 0x0e500134: 91, // chr-US + 0x0e500135: 91, // chr-US 0x0e900000: 92, // ckb - 0x0e90009a: 93, // ckb-IQ - 0x0e90009b: 94, // ckb-IR + 0x0e90009b: 93, // ckb-IQ + 0x0e90009c: 94, // ckb-IR 0x0f900000: 95, // cs - 0x0f90005d: 96, // cs-CZ + 0x0f90005e: 96, // cs-CZ 0x0fd00000: 97, // cu - 0x0fd00105: 98, // cu-RU + 0x0fd00106: 98, // cu-RU 0x0ff00000: 99, // cy - 0x0ff0007a: 100, // cy-GB + 0x0ff0007b: 100, // cy-GB 0x10000000: 101, // da - 0x10000062: 102, // da-DK - 0x10000081: 103, // da-GL + 0x10000063: 102, // da-DK + 0x10000082: 103, // da-GL 0x10700000: 104, // dav - 0x107000a3: 105, // dav-KE + 0x107000a4: 105, // dav-KE 0x10c00000: 106, // de - 0x10c0002d: 107, // de-AT - 0x10c00035: 108, // de-BE - 0x10c0004d: 109, // de-CH - 0x10c0005f: 110, // de-DE - 0x10c0009d: 111, // de-IT - 0x10c000b1: 112, // de-LI - 0x10c000b6: 113, // de-LU + 0x10c0002e: 107, // de-AT + 0x10c00036: 108, // de-BE + 0x10c0004e: 109, // de-CH + 0x10c00060: 110, // de-DE + 0x10c0009e: 111, // de-IT + 0x10c000b2: 112, // de-LI + 0x10c000b7: 113, // de-LU 0x11600000: 114, // dje - 0x116000d3: 115, // dje-NE + 0x116000d4: 115, // dje-NE 0x11e00000: 116, // dsb - 0x11e0005f: 117, // dsb-DE + 0x11e00060: 117, // dsb-DE 0x12300000: 118, // dua - 0x12300051: 119, // dua-CM + 0x12300052: 119, // dua-CM 0x12700000: 120, // dv 0x12a00000: 121, // dyo - 0x12a00113: 122, // dyo-SN + 0x12a00114: 122, // dyo-SN 0x12c00000: 123, // dz - 0x12c00042: 124, // dz-BT + 0x12c00043: 124, // dz-BT 0x12e00000: 125, // ebu - 0x12e000a3: 126, // ebu-KE + 0x12e000a4: 126, // ebu-KE 0x12f00000: 127, // ee - 0x12f0007f: 128, // ee-GH - 0x12f00121: 129, // ee-TG + 0x12f00080: 128, // ee-GH + 0x12f00122: 129, // ee-TG 0x13500000: 130, // el - 0x1350005c: 131, // el-CY - 0x13500086: 132, // el-GR + 0x1350005d: 131, // el-CY + 0x13500087: 132, // el-GR 0x13800000: 133, // en 0x13800001: 134, // en-001 0x1380001a: 135, // en-150 - 0x13800024: 136, // en-AG - 0x13800025: 137, // en-AI - 0x1380002c: 138, // en-AS - 0x1380002d: 139, // en-AT - 0x1380002e: 140, // en-AU - 0x13800033: 141, // en-BB - 0x13800035: 142, // en-BE - 0x13800039: 143, // en-BI - 0x1380003c: 144, // en-BM - 0x13800041: 145, // en-BS - 0x13800045: 146, // en-BW - 0x13800047: 147, // en-BZ - 0x13800048: 148, // en-CA - 0x13800049: 149, // en-CC - 0x1380004d: 150, // en-CH - 0x1380004f: 151, // en-CK - 0x13800051: 152, // en-CM - 0x1380005b: 153, // en-CX - 0x1380005c: 154, // en-CY - 0x1380005f: 155, // en-DE - 0x13800060: 156, // en-DG - 0x13800062: 157, // en-DK - 0x13800063: 158, // en-DM - 0x1380006c: 159, // en-ER - 0x13800071: 160, // en-FI - 0x13800072: 161, // en-FJ - 0x13800073: 162, // en-FK - 0x13800074: 163, // en-FM - 0x1380007a: 164, // en-GB - 0x1380007b: 165, // en-GD - 0x1380007e: 166, // en-GG - 0x1380007f: 167, // en-GH - 0x13800080: 168, // en-GI - 0x13800082: 169, // en-GM - 0x13800089: 170, // en-GU - 0x1380008b: 171, // en-GY - 0x1380008c: 172, // en-HK - 0x13800095: 173, // en-IE - 0x13800096: 174, // en-IL - 0x13800097: 175, // en-IM - 0x13800098: 176, // en-IN - 0x13800099: 177, // en-IO - 0x1380009e: 178, // en-JE - 0x1380009f: 179, // en-JM - 0x138000a3: 180, // en-KE - 0x138000a6: 181, // en-KI - 0x138000a8: 182, // en-KN - 0x138000ac: 183, // en-KY - 0x138000b0: 184, // en-LC - 0x138000b3: 185, // en-LR - 0x138000b4: 186, // en-LS - 0x138000be: 187, // en-MG - 0x138000bf: 188, // en-MH - 0x138000c5: 189, // en-MO - 0x138000c6: 190, // en-MP - 0x138000c9: 191, // en-MS - 0x138000ca: 192, // en-MT - 0x138000cb: 193, // en-MU - 0x138000cd: 194, // en-MW - 0x138000cf: 195, // en-MY - 0x138000d1: 196, // en-NA - 0x138000d4: 197, // en-NF - 0x138000d5: 198, // en-NG - 0x138000d8: 199, // en-NL - 0x138000dc: 200, // en-NR - 0x138000de: 201, // en-NU - 0x138000df: 202, // en-NZ - 0x138000e5: 203, // en-PG - 0x138000e6: 204, // en-PH - 0x138000e7: 205, // en-PK - 0x138000ea: 206, // en-PN - 0x138000eb: 207, // en-PR - 0x138000ef: 208, // en-PW - 0x13800106: 209, // en-RW - 0x13800108: 210, // en-SB - 0x13800109: 211, // en-SC - 0x1380010a: 212, // en-SD - 0x1380010b: 213, // en-SE - 0x1380010c: 214, // en-SG - 0x1380010d: 215, // en-SH - 0x1380010e: 216, // en-SI - 0x13800111: 217, // en-SL - 0x13800116: 218, // en-SS - 0x1380011a: 219, // en-SX - 0x1380011c: 220, // en-SZ - 0x1380011e: 221, // en-TC - 0x13800124: 222, // en-TK - 0x13800128: 223, // en-TO - 0x1380012b: 224, // en-TT - 0x1380012c: 225, // en-TV - 0x1380012e: 226, // en-TZ - 0x13800130: 227, // en-UG - 0x13800132: 228, // en-UM - 0x13800134: 229, // en-US - 0x13800138: 230, // en-VC - 0x1380013b: 231, // en-VG - 0x1380013c: 232, // en-VI - 0x1380013e: 233, // en-VU - 0x13800141: 234, // en-WS - 0x13800160: 235, // en-ZA - 0x13800161: 236, // en-ZM - 0x13800163: 237, // en-ZW + 0x13800025: 136, // en-AG + 0x13800026: 137, // en-AI + 0x1380002d: 138, // en-AS + 0x1380002e: 139, // en-AT + 0x1380002f: 140, // en-AU + 0x13800034: 141, // en-BB + 0x13800036: 142, // en-BE + 0x1380003a: 143, // en-BI + 0x1380003d: 144, // en-BM + 0x13800042: 145, // en-BS + 0x13800046: 146, // en-BW + 0x13800048: 147, // en-BZ + 0x13800049: 148, // en-CA + 0x1380004a: 149, // en-CC + 0x1380004e: 150, // en-CH + 0x13800050: 151, // en-CK + 0x13800052: 152, // en-CM + 0x1380005c: 153, // en-CX + 0x1380005d: 154, // en-CY + 0x13800060: 155, // en-DE + 0x13800061: 156, // en-DG + 0x13800063: 157, // en-DK + 0x13800064: 158, // en-DM + 0x1380006d: 159, // en-ER + 0x13800072: 160, // en-FI + 0x13800073: 161, // en-FJ + 0x13800074: 162, // en-FK + 0x13800075: 163, // en-FM + 0x1380007b: 164, // en-GB + 0x1380007c: 165, // en-GD + 0x1380007f: 166, // en-GG + 0x13800080: 167, // en-GH + 0x13800081: 168, // en-GI + 0x13800083: 169, // en-GM + 0x1380008a: 170, // en-GU + 0x1380008c: 171, // en-GY + 0x1380008d: 172, // en-HK + 0x13800096: 173, // en-IE + 0x13800097: 174, // en-IL + 0x13800098: 175, // en-IM + 0x13800099: 176, // en-IN + 0x1380009a: 177, // en-IO + 0x1380009f: 178, // en-JE + 0x138000a0: 179, // en-JM + 0x138000a4: 180, // en-KE + 0x138000a7: 181, // en-KI + 0x138000a9: 182, // en-KN + 0x138000ad: 183, // en-KY + 0x138000b1: 184, // en-LC + 0x138000b4: 185, // en-LR + 0x138000b5: 186, // en-LS + 0x138000bf: 187, // en-MG + 0x138000c0: 188, // en-MH + 0x138000c6: 189, // en-MO + 0x138000c7: 190, // en-MP + 0x138000ca: 191, // en-MS + 0x138000cb: 192, // en-MT + 0x138000cc: 193, // en-MU + 0x138000ce: 194, // en-MW + 0x138000d0: 195, // en-MY + 0x138000d2: 196, // en-NA + 0x138000d5: 197, // en-NF + 0x138000d6: 198, // en-NG + 0x138000d9: 199, // en-NL + 0x138000dd: 200, // en-NR + 0x138000df: 201, // en-NU + 0x138000e0: 202, // en-NZ + 0x138000e6: 203, // en-PG + 0x138000e7: 204, // en-PH + 0x138000e8: 205, // en-PK + 0x138000eb: 206, // en-PN + 0x138000ec: 207, // en-PR + 0x138000f0: 208, // en-PW + 0x13800107: 209, // en-RW + 0x13800109: 210, // en-SB + 0x1380010a: 211, // en-SC + 0x1380010b: 212, // en-SD + 0x1380010c: 213, // en-SE + 0x1380010d: 214, // en-SG + 0x1380010e: 215, // en-SH + 0x1380010f: 216, // en-SI + 0x13800112: 217, // en-SL + 0x13800117: 218, // en-SS + 0x1380011b: 219, // en-SX + 0x1380011d: 220, // en-SZ + 0x1380011f: 221, // en-TC + 0x13800125: 222, // en-TK + 0x13800129: 223, // en-TO + 0x1380012c: 224, // en-TT + 0x1380012d: 225, // en-TV + 0x1380012f: 226, // en-TZ + 0x13800131: 227, // en-UG + 0x13800133: 228, // en-UM + 0x13800135: 229, // en-US + 0x13800139: 230, // en-VC + 0x1380013c: 231, // en-VG + 0x1380013d: 232, // en-VI + 0x1380013f: 233, // en-VU + 0x13800142: 234, // en-WS + 0x13800161: 235, // en-ZA + 0x13800162: 236, // en-ZM + 0x13800164: 237, // en-ZW 0x13b00000: 238, // eo 0x13b00001: 239, // eo-001 0x13d00000: 240, // es - 0x13d0001e: 241, // es-419 - 0x13d0002b: 242, // es-AR - 0x13d0003e: 243, // es-BO - 0x13d00040: 244, // es-BR - 0x13d00047: 245, // es-BZ - 0x13d00050: 246, // es-CL - 0x13d00053: 247, // es-CO - 0x13d00055: 248, // es-CR - 0x13d00058: 249, // es-CU - 0x13d00064: 250, // es-DO - 0x13d00067: 251, // es-EA - 0x13d00068: 252, // es-EC - 0x13d0006d: 253, // es-ES - 0x13d00085: 254, // es-GQ - 0x13d00088: 255, // es-GT - 0x13d0008e: 256, // es-HN - 0x13d00093: 257, // es-IC - 0x13d000ce: 258, // es-MX - 0x13d000d7: 259, // es-NI - 0x13d000e1: 260, // es-PA - 0x13d000e3: 261, // es-PE - 0x13d000e6: 262, // es-PH - 0x13d000eb: 263, // es-PR - 0x13d000f0: 264, // es-PY - 0x13d00119: 265, // es-SV - 0x13d00134: 266, // es-US - 0x13d00135: 267, // es-UY - 0x13d0013a: 268, // es-VE + 0x13d0001f: 241, // es-419 + 0x13d0002c: 242, // es-AR + 0x13d0003f: 243, // es-BO + 0x13d00041: 244, // es-BR + 0x13d00048: 245, // es-BZ + 0x13d00051: 246, // es-CL + 0x13d00054: 247, // es-CO + 0x13d00056: 248, // es-CR + 0x13d00059: 249, // es-CU + 0x13d00065: 250, // es-DO + 0x13d00068: 251, // es-EA + 0x13d00069: 252, // es-EC + 0x13d0006e: 253, // es-ES + 0x13d00086: 254, // es-GQ + 0x13d00089: 255, // es-GT + 0x13d0008f: 256, // es-HN + 0x13d00094: 257, // es-IC + 0x13d000cf: 258, // es-MX + 0x13d000d8: 259, // es-NI + 0x13d000e2: 260, // es-PA + 0x13d000e4: 261, // es-PE + 0x13d000e7: 262, // es-PH + 0x13d000ec: 263, // es-PR + 0x13d000f1: 264, // es-PY + 0x13d0011a: 265, // es-SV + 0x13d00135: 266, // es-US + 0x13d00136: 267, // es-UY + 0x13d0013b: 268, // es-VE 0x13f00000: 269, // et - 0x13f00069: 270, // et-EE + 0x13f0006a: 270, // et-EE 0x14400000: 271, // eu - 0x1440006d: 272, // eu-ES + 0x1440006e: 272, // eu-ES 0x14500000: 273, // ewo - 0x14500051: 274, // ewo-CM + 0x14500052: 274, // ewo-CM 0x14700000: 275, // fa - 0x14700023: 276, // fa-AF - 0x1470009b: 277, // fa-IR + 0x14700024: 276, // fa-AF + 0x1470009c: 277, // fa-IR 0x14d00000: 278, // ff - 0x14d00051: 279, // ff-CM - 0x14d00083: 280, // ff-GN - 0x14d000c8: 281, // ff-MR - 0x14d00113: 282, // ff-SN + 0x14d00052: 279, // ff-CM + 0x14d00084: 280, // ff-GN + 0x14d000c9: 281, // ff-MR + 0x14d00114: 282, // ff-SN 0x15000000: 283, // fi - 0x15000071: 284, // fi-FI + 0x15000072: 284, // fi-FI 0x15200000: 285, // fil - 0x152000e6: 286, // fil-PH + 0x152000e7: 286, // fil-PH 0x15700000: 287, // fo - 0x15700062: 288, // fo-DK - 0x15700075: 289, // fo-FO + 0x15700063: 288, // fo-DK + 0x15700076: 289, // fo-FO 0x15d00000: 290, // fr - 0x15d00035: 291, // fr-BE - 0x15d00036: 292, // fr-BF - 0x15d00039: 293, // fr-BI - 0x15d0003a: 294, // fr-BJ - 0x15d0003b: 295, // fr-BL - 0x15d00048: 296, // fr-CA - 0x15d0004a: 297, // fr-CD - 0x15d0004b: 298, // fr-CF - 0x15d0004c: 299, // fr-CG - 0x15d0004d: 300, // fr-CH - 0x15d0004e: 301, // fr-CI - 0x15d00051: 302, // fr-CM - 0x15d00061: 303, // fr-DJ - 0x15d00066: 304, // fr-DZ - 0x15d00077: 305, // fr-FR - 0x15d00079: 306, // fr-GA - 0x15d0007d: 307, // fr-GF - 0x15d00083: 308, // fr-GN - 0x15d00084: 309, // fr-GP - 0x15d00085: 310, // fr-GQ - 0x15d00090: 311, // fr-HT - 0x15d000a7: 312, // fr-KM - 0x15d000b6: 313, // fr-LU - 0x15d000b9: 314, // fr-MA - 0x15d000ba: 315, // fr-MC - 0x15d000bd: 316, // fr-MF - 0x15d000be: 317, // fr-MG - 0x15d000c2: 318, // fr-ML - 0x15d000c7: 319, // fr-MQ - 0x15d000c8: 320, // fr-MR - 0x15d000cb: 321, // fr-MU - 0x15d000d2: 322, // fr-NC - 0x15d000d3: 323, // fr-NE - 0x15d000e4: 324, // fr-PF - 0x15d000e9: 325, // fr-PM - 0x15d00101: 326, // fr-RE - 0x15d00106: 327, // fr-RW - 0x15d00109: 328, // fr-SC - 0x15d00113: 329, // fr-SN - 0x15d0011b: 330, // fr-SY - 0x15d0011f: 331, // fr-TD - 0x15d00121: 332, // fr-TG - 0x15d00127: 333, // fr-TN - 0x15d0013e: 334, // fr-VU - 0x15d0013f: 335, // fr-WF - 0x15d0015e: 336, // fr-YT + 0x15d00036: 291, // fr-BE + 0x15d00037: 292, // fr-BF + 0x15d0003a: 293, // fr-BI + 0x15d0003b: 294, // fr-BJ + 0x15d0003c: 295, // fr-BL + 0x15d00049: 296, // fr-CA + 0x15d0004b: 297, // fr-CD + 0x15d0004c: 298, // fr-CF + 0x15d0004d: 299, // fr-CG + 0x15d0004e: 300, // fr-CH + 0x15d0004f: 301, // fr-CI + 0x15d00052: 302, // fr-CM + 0x15d00062: 303, // fr-DJ + 0x15d00067: 304, // fr-DZ + 0x15d00078: 305, // fr-FR + 0x15d0007a: 306, // fr-GA + 0x15d0007e: 307, // fr-GF + 0x15d00084: 308, // fr-GN + 0x15d00085: 309, // fr-GP + 0x15d00086: 310, // fr-GQ + 0x15d00091: 311, // fr-HT + 0x15d000a8: 312, // fr-KM + 0x15d000b7: 313, // fr-LU + 0x15d000ba: 314, // fr-MA + 0x15d000bb: 315, // fr-MC + 0x15d000be: 316, // fr-MF + 0x15d000bf: 317, // fr-MG + 0x15d000c3: 318, // fr-ML + 0x15d000c8: 319, // fr-MQ + 0x15d000c9: 320, // fr-MR + 0x15d000cc: 321, // fr-MU + 0x15d000d3: 322, // fr-NC + 0x15d000d4: 323, // fr-NE + 0x15d000e5: 324, // fr-PF + 0x15d000ea: 325, // fr-PM + 0x15d00102: 326, // fr-RE + 0x15d00107: 327, // fr-RW + 0x15d0010a: 328, // fr-SC + 0x15d00114: 329, // fr-SN + 0x15d0011c: 330, // fr-SY + 0x15d00120: 331, // fr-TD + 0x15d00122: 332, // fr-TG + 0x15d00128: 333, // fr-TN + 0x15d0013f: 334, // fr-VU + 0x15d00140: 335, // fr-WF + 0x15d0015f: 336, // fr-YT 0x16800000: 337, // fur - 0x1680009d: 338, // fur-IT + 0x1680009e: 338, // fur-IT 0x16c00000: 339, // fy - 0x16c000d8: 340, // fy-NL + 0x16c000d9: 340, // fy-NL 0x16d00000: 341, // ga - 0x16d00095: 342, // ga-IE + 0x16d00096: 342, // ga-IE 0x17c00000: 343, // gd - 0x17c0007a: 344, // gd-GB + 0x17c0007b: 344, // gd-GB 0x18e00000: 345, // gl - 0x18e0006d: 346, // gl-ES + 0x18e0006e: 346, // gl-ES 0x1a100000: 347, // gsw - 0x1a10004d: 348, // gsw-CH - 0x1a100077: 349, // gsw-FR - 0x1a1000b1: 350, // gsw-LI + 0x1a10004e: 348, // gsw-CH + 0x1a100078: 349, // gsw-FR + 0x1a1000b2: 350, // gsw-LI 0x1a200000: 351, // gu - 0x1a200098: 352, // gu-IN + 0x1a200099: 352, // gu-IN 0x1a700000: 353, // guw 0x1a900000: 354, // guz - 0x1a9000a3: 355, // guz-KE + 0x1a9000a4: 355, // guz-KE 0x1aa00000: 356, // gv - 0x1aa00097: 357, // gv-IM + 0x1aa00098: 357, // gv-IM 0x1b200000: 358, // ha - 0x1b20007f: 359, // ha-GH - 0x1b2000d3: 360, // ha-NE - 0x1b2000d5: 361, // ha-NG + 0x1b200080: 359, // ha-GH + 0x1b2000d4: 360, // ha-NE + 0x1b2000d6: 361, // ha-NG 0x1b600000: 362, // haw - 0x1b600134: 363, // haw-US + 0x1b600135: 363, // haw-US 0x1ba00000: 364, // he - 0x1ba00096: 365, // he-IL + 0x1ba00097: 365, // he-IL 0x1bc00000: 366, // hi - 0x1bc00098: 367, // hi-IN + 0x1bc00099: 367, // hi-IN 0x1cf00000: 368, // hr - 0x1cf00032: 369, // hr-BA - 0x1cf0008f: 370, // hr-HR + 0x1cf00033: 369, // hr-BA + 0x1cf00090: 370, // hr-HR 0x1d000000: 371, // hsb - 0x1d00005f: 372, // hsb-DE + 0x1d000060: 372, // hsb-DE 0x1d300000: 373, // hu - 0x1d300091: 374, // hu-HU + 0x1d300092: 374, // hu-HU 0x1d500000: 375, // hy - 0x1d500027: 376, // hy-AM + 0x1d500028: 376, // hy-AM 0x1df00000: 377, // id - 0x1df00094: 378, // id-ID + 0x1df00095: 378, // id-ID 0x1e500000: 379, // ig - 0x1e5000d5: 380, // ig-NG + 0x1e5000d6: 380, // ig-NG 0x1e800000: 381, // ii - 0x1e800052: 382, // ii-CN + 0x1e800053: 382, // ii-CN 0x1f600000: 383, // is - 0x1f60009c: 384, // is-IS + 0x1f60009d: 384, // is-IS 0x1f700000: 385, // it - 0x1f70004d: 386, // it-CH - 0x1f70009d: 387, // it-IT - 0x1f700112: 388, // it-SM - 0x1f700137: 389, // it-VA + 0x1f70004e: 386, // it-CH + 0x1f70009e: 387, // it-IT + 0x1f700113: 388, // it-SM + 0x1f700138: 389, // it-VA 0x1f800000: 390, // iu 0x1fe00000: 391, // ja - 0x1fe000a1: 392, // ja-JP + 0x1fe000a2: 392, // ja-JP 0x20100000: 393, // jbo 0x20500000: 394, // jgo - 0x20500051: 395, // jgo-CM + 0x20500052: 395, // jgo-CM 0x20800000: 396, // jmc - 0x2080012e: 397, // jmc-TZ + 0x2080012f: 397, // jmc-TZ 0x20c00000: 398, // jv 0x20e00000: 399, // ka - 0x20e0007c: 400, // ka-GE + 0x20e0007d: 400, // ka-GE 0x21000000: 401, // kab - 0x21000066: 402, // kab-DZ + 0x21000067: 402, // kab-DZ 0x21400000: 403, // kaj 0x21500000: 404, // kam - 0x215000a3: 405, // kam-KE + 0x215000a4: 405, // kam-KE 0x21d00000: 406, // kcg 0x22100000: 407, // kde - 0x2210012e: 408, // kde-TZ + 0x2210012f: 408, // kde-TZ 0x22500000: 409, // kea - 0x22500059: 410, // kea-CV + 0x2250005a: 410, // kea-CV 0x23200000: 411, // khq - 0x232000c2: 412, // khq-ML + 0x232000c3: 412, // khq-ML 0x23700000: 413, // ki - 0x237000a3: 414, // ki-KE + 0x237000a4: 414, // ki-KE 0x24000000: 415, // kk - 0x240000ad: 416, // kk-KZ + 0x240000ae: 416, // kk-KZ 0x24200000: 417, // kkj - 0x24200051: 418, // kkj-CM + 0x24200052: 418, // kkj-CM 0x24300000: 419, // kl - 0x24300081: 420, // kl-GL + 0x24300082: 420, // kl-GL 0x24400000: 421, // kln - 0x244000a3: 422, // kln-KE + 0x244000a4: 422, // kln-KE 0x24800000: 423, // km - 0x248000a5: 424, // km-KH + 0x248000a6: 424, // km-KH 0x24f00000: 425, // kn - 0x24f00098: 426, // kn-IN + 0x24f00099: 426, // kn-IN 0x25200000: 427, // ko - 0x252000a9: 428, // ko-KP - 0x252000aa: 429, // ko-KR + 0x252000aa: 428, // ko-KP + 0x252000ab: 429, // ko-KR 0x25400000: 430, // kok - 0x25400098: 431, // kok-IN + 0x25400099: 431, // kok-IN 0x26800000: 432, // ks - 0x26800098: 433, // ks-IN + 0x26800099: 433, // ks-IN 0x26900000: 434, // ksb - 0x2690012e: 435, // ksb-TZ + 0x2690012f: 435, // ksb-TZ 0x26b00000: 436, // ksf - 0x26b00051: 437, // ksf-CM + 0x26b00052: 437, // ksf-CM 0x26c00000: 438, // ksh - 0x26c0005f: 439, // ksh-DE + 0x26c00060: 439, // ksh-DE 0x27200000: 440, // ku 0x27f00000: 441, // kw - 0x27f0007a: 442, // kw-GB + 0x27f0007b: 442, // kw-GB 0x28800000: 443, // ky - 0x288000a4: 444, // ky-KG + 0x288000a5: 444, // ky-KG 0x28f00000: 445, // lag - 0x28f0012e: 446, // lag-TZ + 0x28f0012f: 446, // lag-TZ 0x29300000: 447, // lb - 0x293000b6: 448, // lb-LU + 0x293000b7: 448, // lb-LU 0x2a100000: 449, // lg - 0x2a100130: 450, // lg-UG + 0x2a100131: 450, // lg-UG 0x2ad00000: 451, // lkt - 0x2ad00134: 452, // lkt-US + 0x2ad00135: 452, // lkt-US 0x2b300000: 453, // ln - 0x2b300029: 454, // ln-AO - 0x2b30004a: 455, // ln-CD - 0x2b30004b: 456, // ln-CF - 0x2b30004c: 457, // ln-CG + 0x2b30002a: 454, // ln-AO + 0x2b30004b: 455, // ln-CD + 0x2b30004c: 456, // ln-CF + 0x2b30004d: 457, // ln-CG 0x2b600000: 458, // lo - 0x2b6000ae: 459, // lo-LA + 0x2b6000af: 459, // lo-LA 0x2bd00000: 460, // lrc - 0x2bd0009a: 461, // lrc-IQ - 0x2bd0009b: 462, // lrc-IR + 0x2bd0009b: 461, // lrc-IQ + 0x2bd0009c: 462, // lrc-IR 0x2be00000: 463, // lt - 0x2be000b5: 464, // lt-LT + 0x2be000b6: 464, // lt-LT 0x2c000000: 465, // lu - 0x2c00004a: 466, // lu-CD + 0x2c00004b: 466, // lu-CD 0x2c200000: 467, // luo - 0x2c2000a3: 468, // luo-KE + 0x2c2000a4: 468, // luo-KE 0x2c300000: 469, // luy - 0x2c3000a3: 470, // luy-KE + 0x2c3000a4: 470, // luy-KE 0x2c500000: 471, // lv - 0x2c5000b7: 472, // lv-LV + 0x2c5000b8: 472, // lv-LV 0x2cf00000: 473, // mas - 0x2cf000a3: 474, // mas-KE - 0x2cf0012e: 475, // mas-TZ + 0x2cf000a4: 474, // mas-KE + 0x2cf0012f: 475, // mas-TZ 0x2e700000: 476, // mer - 0x2e7000a3: 477, // mer-KE + 0x2e7000a4: 477, // mer-KE 0x2eb00000: 478, // mfe - 0x2eb000cb: 479, // mfe-MU + 0x2eb000cc: 479, // mfe-MU 0x2ef00000: 480, // mg - 0x2ef000be: 481, // mg-MG + 0x2ef000bf: 481, // mg-MG 0x2f000000: 482, // mgh - 0x2f0000d0: 483, // mgh-MZ + 0x2f0000d1: 483, // mgh-MZ 0x2f200000: 484, // mgo - 0x2f200051: 485, // mgo-CM + 0x2f200052: 485, // mgo-CM 0x2fd00000: 486, // mk - 0x2fd000c1: 487, // mk-MK + 0x2fd000c2: 487, // mk-MK 0x30200000: 488, // ml - 0x30200098: 489, // ml-IN + 0x30200099: 489, // ml-IN 0x30900000: 490, // mn - 0x309000c4: 491, // mn-MN + 0x309000c5: 491, // mn-MN 0x31900000: 492, // mr - 0x31900098: 493, // mr-IN + 0x31900099: 493, // mr-IN 0x31d00000: 494, // ms - 0x31d0003d: 495, // ms-BN - 0x31d000cf: 496, // ms-MY - 0x31d0010c: 497, // ms-SG + 0x31d0003e: 495, // ms-BN + 0x31d000d0: 496, // ms-MY + 0x31d0010d: 497, // ms-SG 0x31e00000: 498, // mt - 0x31e000ca: 499, // mt-MT + 0x31e000cb: 499, // mt-MT 0x32300000: 500, // mua - 0x32300051: 501, // mua-CM + 0x32300052: 501, // mua-CM 0x32f00000: 502, // my - 0x32f000c3: 503, // my-MM + 0x32f000c4: 503, // my-MM 0x33800000: 504, // mzn - 0x3380009b: 505, // mzn-IR + 0x3380009c: 505, // mzn-IR 0x33f00000: 506, // nah 0x34300000: 507, // naq - 0x343000d1: 508, // naq-NA + 0x343000d2: 508, // naq-NA 0x34500000: 509, // nb - 0x345000d9: 510, // nb-NO - 0x3450010f: 511, // nb-SJ + 0x345000da: 510, // nb-NO + 0x34500110: 511, // nb-SJ 0x34c00000: 512, // nd - 0x34c00163: 513, // nd-ZW + 0x34c00164: 513, // nd-ZW 0x34e00000: 514, // nds - 0x34e0005f: 515, // nds-DE - 0x34e000d8: 516, // nds-NL + 0x34e00060: 515, // nds-DE + 0x34e000d9: 516, // nds-NL 0x34f00000: 517, // ne - 0x34f00098: 518, // ne-IN - 0x34f000da: 519, // ne-NP + 0x34f00099: 518, // ne-IN + 0x34f000db: 519, // ne-NP 0x36500000: 520, // nl - 0x3650002f: 521, // nl-AW - 0x36500035: 522, // nl-BE - 0x3650003f: 523, // nl-BQ - 0x3650005a: 524, // nl-CW - 0x365000d8: 525, // nl-NL - 0x36500115: 526, // nl-SR - 0x3650011a: 527, // nl-SX + 0x36500030: 521, // nl-AW + 0x36500036: 522, // nl-BE + 0x36500040: 523, // nl-BQ + 0x3650005b: 524, // nl-CW + 0x365000d9: 525, // nl-NL + 0x36500116: 526, // nl-SR + 0x3650011b: 527, // nl-SX 0x36600000: 528, // nmg - 0x36600051: 529, // nmg-CM + 0x36600052: 529, // nmg-CM 0x36800000: 530, // nn - 0x368000d9: 531, // nn-NO + 0x368000da: 531, // nn-NO 0x36a00000: 532, // nnh - 0x36a00051: 533, // nnh-CM + 0x36a00052: 533, // nnh-CM 0x36d00000: 534, // no 0x37300000: 535, // nqo 0x37400000: 536, // nr 0x37800000: 537, // nso 0x37e00000: 538, // nus - 0x37e00116: 539, // nus-SS + 0x37e00117: 539, // nus-SS 0x38500000: 540, // ny 0x38700000: 541, // nyn - 0x38700130: 542, // nyn-UG + 0x38700131: 542, // nyn-UG 0x38e00000: 543, // om - 0x38e0006e: 544, // om-ET - 0x38e000a3: 545, // om-KE + 0x38e0006f: 544, // om-ET + 0x38e000a4: 545, // om-KE 0x39300000: 546, // or - 0x39300098: 547, // or-IN + 0x39300099: 547, // or-IN 0x39600000: 548, // os - 0x3960007c: 549, // os-GE - 0x39600105: 550, // os-RU + 0x3960007d: 549, // os-GE + 0x39600106: 550, // os-RU 0x39b00000: 551, // pa 0x39b05000: 552, // pa-Arab - 0x39b050e7: 553, // pa-Arab-PK - 0x39b2f000: 554, // pa-Guru - 0x39b2f098: 555, // pa-Guru-IN + 0x39b050e8: 553, // pa-Arab-PK + 0x39b32000: 554, // pa-Guru + 0x39b32099: 555, // pa-Guru-IN 0x39f00000: 556, // pap 0x3b100000: 557, // pl - 0x3b1000e8: 558, // pl-PL + 0x3b1000e9: 558, // pl-PL 0x3bb00000: 559, // prg 0x3bb00001: 560, // prg-001 0x3bc00000: 561, // ps - 0x3bc00023: 562, // ps-AF + 0x3bc00024: 562, // ps-AF 0x3be00000: 563, // pt - 0x3be00029: 564, // pt-AO - 0x3be00040: 565, // pt-BR - 0x3be0004d: 566, // pt-CH - 0x3be00059: 567, // pt-CV - 0x3be00085: 568, // pt-GQ - 0x3be0008a: 569, // pt-GW - 0x3be000b6: 570, // pt-LU - 0x3be000c5: 571, // pt-MO - 0x3be000d0: 572, // pt-MZ - 0x3be000ed: 573, // pt-PT - 0x3be00117: 574, // pt-ST - 0x3be00125: 575, // pt-TL + 0x3be0002a: 564, // pt-AO + 0x3be00041: 565, // pt-BR + 0x3be0004e: 566, // pt-CH + 0x3be0005a: 567, // pt-CV + 0x3be00086: 568, // pt-GQ + 0x3be0008b: 569, // pt-GW + 0x3be000b7: 570, // pt-LU + 0x3be000c6: 571, // pt-MO + 0x3be000d1: 572, // pt-MZ + 0x3be000ee: 573, // pt-PT + 0x3be00118: 574, // pt-ST + 0x3be00126: 575, // pt-TL 0x3c200000: 576, // qu - 0x3c20003e: 577, // qu-BO - 0x3c200068: 578, // qu-EC - 0x3c2000e3: 579, // qu-PE + 0x3c20003f: 577, // qu-BO + 0x3c200069: 578, // qu-EC + 0x3c2000e4: 579, // qu-PE 0x3d200000: 580, // rm - 0x3d20004d: 581, // rm-CH + 0x3d20004e: 581, // rm-CH 0x3d700000: 582, // rn - 0x3d700039: 583, // rn-BI + 0x3d70003a: 583, // rn-BI 0x3da00000: 584, // ro - 0x3da000bb: 585, // ro-MD - 0x3da00103: 586, // ro-RO + 0x3da000bc: 585, // ro-MD + 0x3da00104: 586, // ro-RO 0x3dc00000: 587, // rof - 0x3dc0012e: 588, // rof-TZ + 0x3dc0012f: 588, // rof-TZ 0x3e000000: 589, // ru - 0x3e000046: 590, // ru-BY - 0x3e0000a4: 591, // ru-KG - 0x3e0000ad: 592, // ru-KZ - 0x3e0000bb: 593, // ru-MD - 0x3e000105: 594, // ru-RU - 0x3e00012f: 595, // ru-UA + 0x3e000047: 590, // ru-BY + 0x3e0000a5: 591, // ru-KG + 0x3e0000ae: 592, // ru-KZ + 0x3e0000bc: 593, // ru-MD + 0x3e000106: 594, // ru-RU + 0x3e000130: 595, // ru-UA 0x3e300000: 596, // rw - 0x3e300106: 597, // rw-RW + 0x3e300107: 597, // rw-RW 0x3e400000: 598, // rwk - 0x3e40012e: 599, // rwk-TZ + 0x3e40012f: 599, // rwk-TZ 0x3e900000: 600, // sah - 0x3e900105: 601, // sah-RU + 0x3e900106: 601, // sah-RU 0x3ea00000: 602, // saq - 0x3ea000a3: 603, // saq-KE + 0x3ea000a4: 603, // saq-KE 0x3f100000: 604, // sbp - 0x3f10012e: 605, // sbp-TZ + 0x3f10012f: 605, // sbp-TZ 0x3fa00000: 606, // sdh 0x3fb00000: 607, // se - 0x3fb00071: 608, // se-FI - 0x3fb000d9: 609, // se-NO - 0x3fb0010b: 610, // se-SE + 0x3fb00072: 608, // se-FI + 0x3fb000da: 609, // se-NO + 0x3fb0010c: 610, // se-SE 0x3fd00000: 611, // seh - 0x3fd000d0: 612, // seh-MZ + 0x3fd000d1: 612, // seh-MZ 0x3ff00000: 613, // ses - 0x3ff000c2: 614, // ses-ML + 0x3ff000c3: 614, // ses-ML 0x40000000: 615, // sg - 0x4000004b: 616, // sg-CF + 0x4000004c: 616, // sg-CF 0x40600000: 617, // shi - 0x40652000: 618, // shi-Latn - 0x406520b9: 619, // shi-Latn-MA - 0x406d2000: 620, // shi-Tfng - 0x406d20b9: 621, // shi-Tfng-MA + 0x40655000: 618, // shi-Latn + 0x406550ba: 619, // shi-Latn-MA + 0x406d8000: 620, // shi-Tfng + 0x406d80ba: 621, // shi-Tfng-MA 0x40a00000: 622, // si - 0x40a000b2: 623, // si-LK + 0x40a000b3: 623, // si-LK 0x41000000: 624, // sk - 0x41000110: 625, // sk-SK + 0x41000111: 625, // sk-SK 0x41400000: 626, // sl - 0x4140010e: 627, // sl-SI + 0x4140010f: 627, // sl-SI 0x41a00000: 628, // sma 0x41b00000: 629, // smi 0x41c00000: 630, // smj 0x41d00000: 631, // smn - 0x41d00071: 632, // smn-FI + 0x41d00072: 632, // smn-FI 0x42000000: 633, // sms 0x42100000: 634, // sn - 0x42100163: 635, // sn-ZW + 0x42100164: 635, // sn-ZW 0x42700000: 636, // so - 0x42700061: 637, // so-DJ - 0x4270006e: 638, // so-ET - 0x427000a3: 639, // so-KE - 0x42700114: 640, // so-SO + 0x42700062: 637, // so-DJ + 0x4270006f: 638, // so-ET + 0x427000a4: 639, // so-KE + 0x42700115: 640, // so-SO 0x42f00000: 641, // sq - 0x42f00026: 642, // sq-AL - 0x42f000c1: 643, // sq-MK - 0x42f0014c: 644, // sq-XK + 0x42f00027: 642, // sq-AL + 0x42f000c2: 643, // sq-MK + 0x42f0014d: 644, // sq-XK 0x43000000: 645, // sr 0x4301e000: 646, // sr-Cyrl - 0x4301e032: 647, // sr-Cyrl-BA - 0x4301e0bc: 648, // sr-Cyrl-ME - 0x4301e104: 649, // sr-Cyrl-RS - 0x4301e14c: 650, // sr-Cyrl-XK - 0x43052000: 651, // sr-Latn - 0x43052032: 652, // sr-Latn-BA - 0x430520bc: 653, // sr-Latn-ME - 0x43052104: 654, // sr-Latn-RS - 0x4305214c: 655, // sr-Latn-XK + 0x4301e033: 647, // sr-Cyrl-BA + 0x4301e0bd: 648, // sr-Cyrl-ME + 0x4301e105: 649, // sr-Cyrl-RS + 0x4301e14d: 650, // sr-Cyrl-XK + 0x43055000: 651, // sr-Latn + 0x43055033: 652, // sr-Latn-BA + 0x430550bd: 653, // sr-Latn-ME + 0x43055105: 654, // sr-Latn-RS + 0x4305514d: 655, // sr-Latn-XK 0x43500000: 656, // ss 0x43800000: 657, // ssy 0x43900000: 658, // st 0x44200000: 659, // sv - 0x44200030: 660, // sv-AX - 0x44200071: 661, // sv-FI - 0x4420010b: 662, // sv-SE + 0x44200031: 660, // sv-AX + 0x44200072: 661, // sv-FI + 0x4420010c: 662, // sv-SE 0x44300000: 663, // sw - 0x4430004a: 664, // sw-CD - 0x443000a3: 665, // sw-KE - 0x4430012e: 666, // sw-TZ - 0x44300130: 667, // sw-UG + 0x4430004b: 664, // sw-CD + 0x443000a4: 665, // sw-KE + 0x4430012f: 666, // sw-TZ + 0x44300131: 667, // sw-UG 0x44c00000: 668, // syr 0x44e00000: 669, // ta - 0x44e00098: 670, // ta-IN - 0x44e000b2: 671, // ta-LK - 0x44e000cf: 672, // ta-MY - 0x44e0010c: 673, // ta-SG + 0x44e00099: 670, // ta-IN + 0x44e000b3: 671, // ta-LK + 0x44e000d0: 672, // ta-MY + 0x44e0010d: 673, // ta-SG 0x45f00000: 674, // te - 0x45f00098: 675, // te-IN + 0x45f00099: 675, // te-IN 0x46200000: 676, // teo - 0x462000a3: 677, // teo-KE - 0x46200130: 678, // teo-UG + 0x462000a4: 677, // teo-KE + 0x46200131: 678, // teo-UG 0x46900000: 679, // th - 0x46900122: 680, // th-TH + 0x46900123: 680, // th-TH 0x46d00000: 681, // ti - 0x46d0006c: 682, // ti-ER - 0x46d0006e: 683, // ti-ET + 0x46d0006d: 682, // ti-ER + 0x46d0006f: 683, // ti-ET 0x46f00000: 684, // tig 0x47400000: 685, // tk - 0x47400126: 686, // tk-TM + 0x47400127: 686, // tk-TM 0x47e00000: 687, // tn 0x48000000: 688, // to - 0x48000128: 689, // to-TO + 0x48000129: 689, // to-TO 0x48800000: 690, // tr - 0x4880005c: 691, // tr-CY - 0x4880012a: 692, // tr-TR + 0x4880005d: 691, // tr-CY + 0x4880012b: 692, // tr-TR 0x48c00000: 693, // ts 0x4a200000: 694, // twq - 0x4a2000d3: 695, // twq-NE + 0x4a2000d4: 695, // twq-NE 0x4a700000: 696, // tzm - 0x4a7000b9: 697, // tzm-MA + 0x4a7000ba: 697, // tzm-MA 0x4aa00000: 698, // ug - 0x4aa00052: 699, // ug-CN + 0x4aa00053: 699, // ug-CN 0x4ac00000: 700, // uk - 0x4ac0012f: 701, // uk-UA + 0x4ac00130: 701, // uk-UA 0x4b200000: 702, // ur - 0x4b200098: 703, // ur-IN - 0x4b2000e7: 704, // ur-PK + 0x4b200099: 703, // ur-IN + 0x4b2000e8: 704, // ur-PK 0x4ba00000: 705, // uz 0x4ba05000: 706, // uz-Arab - 0x4ba05023: 707, // uz-Arab-AF + 0x4ba05024: 707, // uz-Arab-AF 0x4ba1e000: 708, // uz-Cyrl - 0x4ba1e136: 709, // uz-Cyrl-UZ - 0x4ba52000: 710, // uz-Latn - 0x4ba52136: 711, // uz-Latn-UZ + 0x4ba1e137: 709, // uz-Cyrl-UZ + 0x4ba55000: 710, // uz-Latn + 0x4ba55137: 711, // uz-Latn-UZ 0x4bc00000: 712, // vai - 0x4bc52000: 713, // vai-Latn - 0x4bc520b3: 714, // vai-Latn-LR - 0x4bcd9000: 715, // vai-Vaii - 0x4bcd90b3: 716, // vai-Vaii-LR + 0x4bc55000: 713, // vai-Latn + 0x4bc550b4: 714, // vai-Latn-LR + 0x4bcdf000: 715, // vai-Vaii + 0x4bcdf0b4: 716, // vai-Vaii-LR 0x4be00000: 717, // ve 0x4c100000: 718, // vi - 0x4c10013d: 719, // vi-VN + 0x4c10013e: 719, // vi-VN 0x4c700000: 720, // vo 0x4c700001: 721, // vo-001 0x4ca00000: 722, // vun - 0x4ca0012e: 723, // vun-TZ + 0x4ca0012f: 723, // vun-TZ 0x4cc00000: 724, // wa 0x4cd00000: 725, // wae - 0x4cd0004d: 726, // wae-CH + 0x4cd0004e: 726, // wae-CH 0x4e300000: 727, // wo 0x4f000000: 728, // xh 0x4f900000: 729, // xog - 0x4f900130: 730, // xog-UG + 0x4f900131: 730, // xog-UG 0x50700000: 731, // yav - 0x50700051: 732, // yav-CM + 0x50700052: 732, // yav-CM 0x51000000: 733, // yi 0x51000001: 734, // yi-001 0x51600000: 735, // yo - 0x5160003a: 736, // yo-BJ - 0x516000d5: 737, // yo-NG + 0x5160003b: 736, // yo-BJ + 0x516000d6: 737, // yo-NG 0x51d00000: 738, // yue - 0x51d0008c: 739, // yue-HK + 0x51d0008d: 739, // yue-HK 0x52600000: 740, // zgh - 0x526000b9: 741, // zgh-MA + 0x526000ba: 741, // zgh-MA 0x52700000: 742, // zh - 0x52734000: 743, // zh-Hans - 0x52734052: 744, // zh-Hans-CN - 0x5273408c: 745, // zh-Hans-HK - 0x527340c5: 746, // zh-Hans-MO - 0x5273410c: 747, // zh-Hans-SG - 0x52735000: 748, // zh-Hant - 0x5273508c: 749, // zh-Hant-HK - 0x527350c5: 750, // zh-Hant-MO - 0x5273512d: 751, // zh-Hant-TW + 0x52737000: 743, // zh-Hans + 0x52737053: 744, // zh-Hans-CN + 0x5273708d: 745, // zh-Hans-HK + 0x527370c6: 746, // zh-Hans-MO + 0x5273710d: 747, // zh-Hans-SG + 0x52738000: 748, // zh-Hant + 0x5273808d: 749, // zh-Hant-HK + 0x527380c6: 750, // zh-Hant-MO + 0x5273812e: 751, // zh-Hant-TW 0x52c00000: 752, // zu - 0x52c00160: 753, // zu-ZA + 0x52c00161: 753, // zu-ZA } // Total table size 4592 bytes (4KiB); checksum: C25F8AFF diff --git a/vendor/golang.org/x/text/language/language.go b/vendor/golang.org/x/text/language/language.go index a2d037836..ed1011f18 100644 --- a/vendor/golang.org/x/text/language/language.go +++ b/vendor/golang.org/x/text/language/language.go @@ -5,102 +5,7 @@ //go:generate go run gen.go gen_common.go -output tables.go //go:generate go run gen_index.go -// Package language implements BCP 47 language tags and related functionality. -// -// The Tag type, which is used to represent languages, is agnostic to the -// meaning of its subtags. Tags are not fully canonicalized to preserve -// information that may be valuable in certain contexts. As a consequence, two -// different tags may represent identical languages. -// -// Initializing language- or locale-specific components usually consists of -// two steps. The first step is to select a display language based on the -// preferred languages of the user and the languages supported by an application. -// The second step is to create the language-specific services based on -// this selection. Each is discussed in more details below. -// -// Matching preferred against supported languages -// -// An application may support various languages. This list is typically limited -// by the languages for which there exists translations of the user interface. -// Similarly, a user may provide a list of preferred languages which is limited -// by the languages understood by this user. -// An application should use a Matcher to find the best supported language based -// on the user's preferred list. -// Matchers are aware of the intricacies of equivalence between languages. -// The default Matcher implementation takes into account things such as -// deprecated subtags, legacy tags, and mutual intelligibility between scripts -// and languages. -// -// A Matcher for English, Australian English, Danish, and standard Mandarin can -// be defined as follows: -// -// var matcher = language.NewMatcher([]language.Tag{ -// language.English, // The first language is used as fallback. -// language.MustParse("en-AU"), -// language.Danish, -// language.Chinese, -// }) -// -// The following code selects the best match for someone speaking Spanish and -// Norwegian: -// -// preferred := []language.Tag{ language.Spanish, language.Norwegian } -// tag, _, _ := matcher.Match(preferred...) -// -// In this case, the best match is Danish, as Danish is sufficiently a match to -// Norwegian to not have to fall back to the default. -// See ParseAcceptLanguage on how to handle the Accept-Language HTTP header. -// -// Selecting language-specific services -// -// One should always use the Tag returned by the Matcher to create an instance -// of any of the language-specific services provided by the text repository. -// This prevents the mixing of languages, such as having a different language for -// messages and display names, as well as improper casing or sorting order for -// the selected language. -// Using the returned Tag also allows user-defined settings, such as collation -// order or numbering system to be transparently passed as options. -// -// If you have language-specific data in your application, however, it will in -// most cases suffice to use the index returned by the matcher to identify -// the user language. -// The following loop provides an alternative in case this is not sufficient: -// -// supported := map[language.Tag]data{ -// language.English: enData, -// language.MustParse("en-AU"): enAUData, -// language.Danish: daData, -// language.Chinese: zhData, -// } -// tag, _, _ := matcher.Match(preferred...) -// for ; tag != language.Und; tag = tag.Parent() { -// if v, ok := supported[tag]; ok { -// return v -// } -// } -// return enData // should not reach here -// -// Repeatedly taking the Parent of the tag returned by Match will eventually -// match one of the tags used to initialize the Matcher. -// -// Canonicalization -// -// By default, only legacy and deprecated tags are converted into their -// canonical equivalent. All other information is preserved. This approach makes -// the confidence scores more accurate and allows matchers to distinguish -// between variants that are otherwise lost. -// -// As a consequence, two tags that should be treated as identical according to -// BCP 47 or CLDR, like "en-Latn" and "en", will be represented differently. The -// Matchers will handle such distinctions, though, and are aware of the -// equivalence relations. The CanonType type can be used to alter the -// canonicalization form. -// -// References -// -// BCP 47 - Tags for Identifying Languages -// http://tools.ietf.org/html/bcp47 -package language // import "golang.org/x/text/language" +package language // TODO: Remove above NOTE after: // - verifying that tables are dropped correctly (most notably matcher tables). @@ -129,8 +34,15 @@ const ( // specific language or locale. All language tag values are guaranteed to be // well-formed. type Tag struct { - lang langID - region regionID + lang langID + region regionID + // TODO: we will soon run out of positions for script. Idea: instead of + // storing lang, region, and script codes, store only the compact index and + // have a lookup table from this code to its expansion. This greatly speeds + // up table lookup, speed up common variant cases. + // This will also immediately free up 3 extra bytes. Also, the pVariant + // field can now be moved to the lookup table, as the compact index uniquely + // determines the offset of a possible variant. script scriptID pVariant byte // offset in str, includes preceding '-' pExt uint16 // offset of first extension, includes preceding '-' diff --git a/vendor/golang.org/x/text/language/match.go b/vendor/golang.org/x/text/language/match.go index bb4fff24d..15b74d125 100644 --- a/vendor/golang.org/x/text/language/match.go +++ b/vendor/golang.org/x/text/language/match.go @@ -6,6 +6,39 @@ package language import "errors" +// A MatchOption configures a Matcher. +type MatchOption func(*matcher) + +// PreferSameScript will, in the absence of a match, result in the first +// preferred tag with the same script as a supported tag to match this supported +// tag. The default is currently true, but this may change in the future. +func PreferSameScript(preferSame bool) MatchOption { + return func(m *matcher) { m.preferSameScript = preferSame } +} + +// TODO(v1.0.0): consider making Matcher a concrete type, instead of interface. +// There doesn't seem to be too much need for multiple types. +// Making it a concrete type allows MatchStrings to be a method, which will +// improve its discoverability. + +// MatchStrings parses and matches the given strings until one of them matches +// the language in the Matcher. A string may be an Accept-Language header as +// handled by ParseAcceptLanguage. The default language is returned if no +// other language matched. +func MatchStrings(m Matcher, lang ...string) (tag Tag, index int) { + for _, accept := range lang { + desired, _, err := ParseAcceptLanguage(accept) + if err != nil { + continue + } + if tag, index, conf := m.Match(desired...); conf != No { + return tag, index + } + } + tag, index, _ = m.Match() + return +} + // Matcher is the interface that wraps the Match method. // // Match returns the best match for any of the given tags, along with @@ -36,25 +69,45 @@ func Comprehends(speaker, alternative Tag) Confidence { // matched tag in t, but is augmented with the Unicode extension ('u')of the // corresponding preferred tag. This allows user locale options to be passed // transparently. -func NewMatcher(t []Tag) Matcher { - return newMatcher(t) +func NewMatcher(t []Tag, options ...MatchOption) Matcher { + return newMatcher(t, options) } func (m *matcher) Match(want ...Tag) (t Tag, index int, c Confidence) { match, w, c := m.getBest(want...) - if match == nil { - t = m.default_.tag - } else { + if match != nil { t, index = match.tag, match.index + } else { + // TODO: this should be an option + t = m.default_.tag + if m.preferSameScript { + outer: + for _, w := range want { + script, _ := w.Script() + if script.scriptID == 0 { + // Don't do anything if there is no script, such as with + // private subtags. + continue + } + for i, h := range m.supported { + if script.scriptID == h.maxScript { + t, index = h.tag, i + break outer + } + } + } + } + // TODO: select first language tag based on script. + } + if w.region != 0 && t.region != 0 && t.region.contains(w.region) { + t, _ = Raw.Compose(t, Region{w.region}) } // Copy options from the user-provided tag into the result tag. This is hard // to do after the fact, so we do it here. - // TODO: consider also adding in variants that are compatible with the - // matched language. - // TODO: Add back region if it is non-ambiguous? Or create another tag to - // preserve the region? - if u, ok := w.Extension('u'); ok { - t, _ = Raw.Compose(t, u) + // TODO: add in alternative variants to -u-va-. + // TODO: add preferred region to -u-rg-. + if e := w.Extensions(); len(e) > 0 { + t, _ = Raw.Compose(t, e) } return t, index, c } @@ -91,7 +144,7 @@ var ErrMissingLikelyTagsData = errors.New("missing likely tags data") // addLikelySubtags sets subtags to their most likely value, given the locale. // In most cases this means setting fields for unknown values, but in some -// cases it may alter a value. It returns a ErrMissingLikelyTagsData error +// cases it may alter a value. It returns an ErrMissingLikelyTagsData error // if the given locale cannot be expanded. func (t Tag) addLikelySubtags() (Tag, error) { id, err := addTags(t) @@ -300,8 +353,9 @@ func minimizeTags(t Tag) (Tag, error) { // 1) compute the match between the two tags. // 2) if the match is better than the previous best match, replace it // with the new match. (see next section) -// b) if the current best match is above a certain threshold, return this -// match without proceeding to the next tag in "desired". [See Note 1] +// b) if the current best match is Exact and pin is true the result will be +// frozen to the language found thusfar, although better matches may +// still be found for the same language. // 3) If the best match so far is below a certain threshold, return "default". // // Ranking: @@ -350,9 +404,6 @@ func minimizeTags(t Tag) (Tag, error) { // found wins. // // Notes: -// [1] Note that even if we may not have a perfect match, if a match is above a -// certain threshold, it is considered a better match than any other match -// to a tag later in the list of preferred language tags. // [2] In practice, as matching of Exact is done in a separate phase from // matching the other levels, we reuse the Exact level to mean MaxExact in // the second phase. As a consequence, we only need the levels defined by @@ -388,16 +439,18 @@ func minimizeTags(t Tag) (Tag, error) { // matcher keeps a set of supported language tags, indexed by language. type matcher struct { - default_ *haveTag - index map[langID]*matchHeader - passSettings bool + default_ *haveTag + supported []*haveTag + index map[langID]*matchHeader + passSettings bool + preferSameScript bool } // matchHeader has the lists of tags for exact matches and matches based on // maximized and canonicalized tags for a given language. type matchHeader struct { - exact []*haveTag - max []*haveTag + haveTags []*haveTag + original bool } // haveTag holds a supported Tag and its maximized script and region. The maximized @@ -427,7 +480,7 @@ type haveTag struct { func makeHaveTag(tag Tag, index int) (haveTag, langID) { max := tag - if tag.lang != 0 { + if tag.lang != 0 || tag.region != 0 || tag.script != 0 { max, _ = max.canonicalize(All) max, _ = addTags(max) max.remakeString() @@ -452,29 +505,27 @@ func altScript(l langID, s scriptID) scriptID { // addIfNew adds a haveTag to the list of tags only if it is a unique tag. // Tags that have the same maximized values are linked by index. func (h *matchHeader) addIfNew(n haveTag, exact bool) { + h.original = h.original || exact // Don't add new exact matches. - for _, v := range h.exact { + for _, v := range h.haveTags { if v.tag.equalsRest(n.tag) { return } } - if exact { - h.exact = append(h.exact, &n) - } // Allow duplicate maximized tags, but create a linked list to allow quickly // comparing the equivalents and bail out. - for i, v := range h.max { + for i, v := range h.haveTags { if v.maxScript == n.maxScript && v.maxRegion == n.maxRegion && v.tag.variantOrPrivateTagStr() == n.tag.variantOrPrivateTagStr() { - for h.max[i].nextMax != 0 { - i = int(h.max[i].nextMax) + for h.haveTags[i].nextMax != 0 { + i = int(h.haveTags[i].nextMax) } - h.max[i].nextMax = uint16(len(h.max)) + h.haveTags[i].nextMax = uint16(len(h.haveTags)) break } } - h.max = append(h.max, &n) + h.haveTags = append(h.haveTags, &n) } // header returns the matchHeader for the given language. It creates one if @@ -501,9 +552,13 @@ func toConf(d uint8) Confidence { // newMatcher builds an index for the given supported tags and returns it as // a matcher. It also expands the index by considering various equivalence classes // for a given tag. -func newMatcher(supported []Tag) *matcher { +func newMatcher(supported []Tag, options []MatchOption) *matcher { m := &matcher{ - index: make(map[langID]*matchHeader), + index: make(map[langID]*matchHeader), + preferSameScript: true, + } + for _, o := range options { + o(m) } if len(supported) == 0 { m.default_ = &haveTag{} @@ -514,25 +569,28 @@ func newMatcher(supported []Tag) *matcher { for i, tag := range supported { pair, _ := makeHaveTag(tag, i) m.header(tag.lang).addIfNew(pair, true) + m.supported = append(m.supported, &pair) } - m.default_ = m.header(supported[0].lang).exact[0] + m.default_ = m.header(supported[0].lang).haveTags[0] + // Keep these in two different loops to support the case that two equivalent + // languages are distinguished, such as iw and he. for i, tag := range supported { pair, max := makeHaveTag(tag, i) if max != tag.lang { - m.header(max).addIfNew(pair, false) + m.header(max).addIfNew(pair, true) } } // update is used to add indexes in the map for equivalent languages. - // If force is true, the update will also apply to derived entries. To - // avoid applying a "transitive closure", use false. - update := func(want, have uint16, conf Confidence, force bool) { + // update will only add entries to original indexes, thus not computing any + // transitive relations. + update := func(want, have uint16, conf Confidence) { if hh := m.index[langID(have)]; hh != nil { - if !force && len(hh.exact) == 0 { + if !hh.original { return } hw := m.header(langID(want)) - for _, ht := range hh.max { + for _, ht := range hh.haveTags { v := *ht if conf < v.conf { v.conf = conf @@ -541,7 +599,7 @@ func newMatcher(supported []Tag) *matcher { if v.altScript != 0 { v.altScript = altScript(langID(want), v.maxScript) } - hw.addIfNew(v, conf == Exact && len(hh.exact) > 0) + hw.addIfNew(v, conf == Exact && hh.original) } } } @@ -549,9 +607,9 @@ func newMatcher(supported []Tag) *matcher { // Add entries for languages with mutual intelligibility as defined by CLDR's // languageMatch data. for _, ml := range matchLang { - update(ml.want, ml.have, toConf(ml.distance), false) + update(ml.want, ml.have, toConf(ml.distance)) if !ml.oneway { - update(ml.have, ml.want, toConf(ml.distance), false) + update(ml.have, ml.want, toConf(ml.distance)) } } @@ -561,10 +619,6 @@ func newMatcher(supported []Tag) *matcher { // (their canonicalization simply substitutes a different language code, but // nothing else), the match confidence is Exact, otherwise it is High. for i, lm := range langAliasMap { - if lm.from == _sh { - continue - } - // If deprecated codes match and there is no fiddling with the script or // or region, we consider it an exact match. conf := Exact @@ -572,9 +626,9 @@ func newMatcher(supported []Tag) *matcher { if !isExactEquivalent(langID(lm.from)) { conf = High } - update(lm.to, lm.from, conf, true) + update(lm.to, lm.from, conf) } - update(lm.from, lm.to, conf, true) + update(lm.from, lm.to, conf) } return m } @@ -583,28 +637,29 @@ func newMatcher(supported []Tag) *matcher { // account the order of preference of the given tags. func (m *matcher) getBest(want ...Tag) (got *haveTag, orig Tag, c Confidence) { best := bestMatch{} - for _, w := range want { + for i, w := range want { var max Tag // Check for exact match first. h := m.index[w.lang] if w.lang != 0 { - // Base language is defined. if h == nil { continue } - for i := range h.exact { - have := h.exact[i] - if have.tag.equalsRest(w) { - return have, w, Exact - } + // Base language is defined. + max, _ = w.canonicalize(Legacy | Deprecated | Macro) + // A region that is added through canonicalization is stronger than + // a maximized region: set it in the original (e.g. mo -> ro-MD). + if w.region != max.region { + w.region = max.region } - max, _ = w.canonicalize(Legacy | Deprecated) + // TODO: should we do the same for scripts? + // See test case: en, sr, nl ; sh ; sr max, _ = addTags(max) } else { // Base language is not defined. if h != nil { - for i := range h.exact { - have := h.exact[i] + for i := range h.haveTags { + have := h.haveTags[i] if have.tag.equalsRest(w) { return have, w, Exact } @@ -620,16 +675,23 @@ func (m *matcher) getBest(want ...Tag) (got *haveTag, orig Tag, c Confidence) { continue } } + pin := true + for _, t := range want[i+1:] { + if w.lang == t.lang { + pin = false + break + } + } // Check for match based on maximized tag. - for i := range h.max { - have := h.max[i] - best.update(have, w, max.script, max.region) + for i := range h.haveTags { + have := h.haveTags[i] + best.update(have, w, max.script, max.region, pin) if best.conf == Exact { for have.nextMax != 0 { - have = h.max[have.nextMax] - best.update(have, w, max.script, max.region) + have = h.haveTags[have.nextMax] + best.update(have, w, max.script, max.region, pin) } - return best.have, best.want, High + return best.have, best.want, best.conf } } } @@ -644,42 +706,68 @@ func (m *matcher) getBest(want ...Tag) (got *haveTag, orig Tag, c Confidence) { // bestMatch accumulates the best match so far. type bestMatch struct { - have *haveTag - want Tag - conf Confidence + have *haveTag + want Tag + conf Confidence + pinnedRegion regionID + pinLanguage bool + sameRegionGroup bool // Cached results from applying tie-breaking rules. - origLang bool - origReg bool - regDist uint8 - origScript bool - parentDist uint8 // 255 if have is not an ancestor of want tag. + origLang bool + origReg bool + paradigmReg bool + regGroupDist uint8 + origScript bool } // update updates the existing best match if the new pair is considered to be a -// better match. -// To determine if the given pair is a better match, it first computes the rough -// confidence level. If this surpasses the current match, it will replace it and -// update the tie-breaker rule cache. If there is a tie, it proceeds with applying -// a series of tie-breaker rules. If there is no conclusive winner after applying -// the tie-breaker rules, it leaves the current match as the preferred match. -func (m *bestMatch) update(have *haveTag, tag Tag, maxScript scriptID, maxRegion regionID) { +// better match. To determine if the given pair is a better match, it first +// computes the rough confidence level. If this surpasses the current match, it +// will replace it and update the tie-breaker rule cache. If there is a tie, it +// proceeds with applying a series of tie-breaker rules. If there is no +// conclusive winner after applying the tie-breaker rules, it leaves the current +// match as the preferred match. +// +// If pin is true and have and tag are a strong match, it will henceforth only +// consider matches for this language. This corresponds to the nothing that most +// users have a strong preference for the first defined language. A user can +// still prefer a second language over a dialect of the preferred language by +// explicitly specifying dialects, e.g. "en, nl, en-GB". In this case pin should +// be false. +func (m *bestMatch) update(have *haveTag, tag Tag, maxScript scriptID, maxRegion regionID, pin bool) { // Bail if the maximum attainable confidence is below that of the current best match. c := have.conf if c < m.conf { return } - if have.maxScript != maxScript { + // Don't change the language once we already have found an exact match. + if m.pinLanguage && tag.lang != m.want.lang { + return + } + // Pin the region group if we are comparing tags for the same language. + if tag.lang == m.want.lang && m.sameRegionGroup { + _, sameGroup := regionGroupDist(m.pinnedRegion, have.maxRegion, have.maxScript, m.want.lang) + if !sameGroup { + return + } + } + if c == Exact && have.maxScript == maxScript { + // If there is another language and then another entry of this language, + // don't pin anything, otherwise pin the language. + m.pinLanguage = pin + } + if have.tag.equalsRest(tag) { + } else if have.maxScript != maxScript { // There is usually very little comprehension between different scripts. - // In a few cases there may still be Low comprehension. This possibility is - // pre-computed and stored in have.altScript. + // In a few cases there may still be Low comprehension. This possibility + // is pre-computed and stored in have.altScript. if Low < m.conf || have.altScript != maxScript { return } c = Low } else if have.maxRegion != maxRegion { - // There is usually a small difference between languages across regions. - // We use the region distance (below) to disambiguate between equal matches. if High < c { + // There is usually a small difference between languages across regions. c = High } } @@ -715,10 +803,17 @@ func (m *bestMatch) update(have *haveTag, tag Tag, maxScript scriptID, maxRegion beaten = true } - // Next we prefer smaller distances between regions, as defined by regionDist. - regDist := regionDist(have.maxRegion, maxRegion, tag.lang) - if !beaten && m.regDist != regDist { - if regDist > m.regDist { + regGroupDist, sameGroup := regionGroupDist(have.maxRegion, maxRegion, maxScript, tag.lang) + if !beaten && m.regGroupDist != regGroupDist { + if regGroupDist > m.regGroupDist { + return + } + beaten = true + } + + paradigmReg := isParadigmLocale(tag.lang, have.maxRegion) + if !beaten && m.paradigmReg != paradigmReg { + if !paradigmReg { return } beaten = true @@ -733,77 +828,52 @@ func (m *bestMatch) update(have *haveTag, tag Tag, maxScript scriptID, maxRegion beaten = true } - // Finally we prefer tags which have a closer parent relationship. - parentDist := parentDistance(have.tag.region, tag) - if !beaten && m.parentDist != parentDist { - if parentDist > m.parentDist { - return - } - beaten = true - } - // Update m to the newly found best match. if beaten { m.have = have m.want = tag m.conf = c + m.pinnedRegion = maxRegion + m.sameRegionGroup = sameGroup m.origLang = origLang m.origReg = origReg + m.paradigmReg = paradigmReg m.origScript = origScript - m.regDist = regDist - m.parentDist = parentDist + m.regGroupDist = regGroupDist } } -// parentDistance returns the number of times Parent must be called before the -// regions match. It is assumed that it has already been checked that lang and -// script are identical. If haveRegion does not occur in the ancestor chain of -// tag, it returns 255. -func parentDistance(haveRegion regionID, tag Tag) uint8 { - p := tag.Parent() - d := uint8(1) - for haveRegion != p.region { - if p.region == 0 { - return 255 - } - p = p.Parent() - d++ - } - return d -} - -// regionDist wraps regionDistance with some exceptions to the algorithmic distance. -func regionDist(a, b regionID, lang langID) uint8 { - if lang == _en { - // Two variants of non-US English are close to each other, regardless of distance. - if a != _US && b != _US { - return 2 +func isParadigmLocale(lang langID, r regionID) bool { + for _, e := range paradigmLocales { + if langID(e[0]) == lang && (r == regionID(e[1]) || r == regionID(e[2])) { + return true } } - return uint8(regionDistance(a, b)) + return false } -// regionDistance computes the distance between two regions based on the -// distance in the graph of region containments as defined in CLDR. It iterates -// over increasingly inclusive sets of groups, represented as bit vectors, until -// the source bit vector has bits in common with the destination vector. -func regionDistance(a, b regionID) int { - if a == b { - return 0 +// regionGroupDist computes the distance between two regions based on their +// CLDR grouping. +func regionGroupDist(a, b regionID, script scriptID, lang langID) (dist uint8, same bool) { + const defaultDistance = 4 + + aGroup := uint(regionToGroups[a]) << 1 + bGroup := uint(regionToGroups[b]) << 1 + for _, ri := range matchRegion { + if langID(ri.lang) == lang && (ri.script == 0 || scriptID(ri.script) == script) { + group := uint(1 << (ri.group &^ 0x80)) + if 0x80&ri.group == 0 { + if aGroup&bGroup&group != 0 { // Both regions are in the group. + return ri.distance, ri.distance == defaultDistance + } + } else { + if (aGroup|bGroup)&group == 0 { // Both regions are not in the group. + return ri.distance, ri.distance == defaultDistance + } + } + } } - p, q := regionInclusion[a], regionInclusion[b] - if p < nRegionGroups { - p, q = q, p - } - set := regionInclusionBits - if q < nRegionGroups && set[p]&(1< zh-Hans match. +# In this case, if zh-TW, zh-HK or a tag starting with zh-Hant is requested, you can +# change your call to getBestMatch to include a 2nd language preference. +# "en" is a better match since its distance to "en-US" is closer than the distance +# from "zh-TW" to "zh-CN" (script distance). + +fr, zh-Hans-CN, en-US ; zh-TW, en ; en-US +fr, zh-Hans-CN, en-US ; zh-Hant-CN, en, en ; en-US +fr, zh-Hans-CN, en-US ; zh-Hans, en ; zh-Hans-CN + +################################################## +# testUndefined +# When the undefined language doesn't match anything in the list, +# getBestMatch returns the default, as usual. + +it, fr ; und ; it + +# When it *does* occur in the list, bestMatch returns it, as expected. +it, und ; und ; und + +# The unusual part: max("und") = "en-Latn-US", and since matching is based on maximized +# tags, the undefined language would normally match English. But that would produce the +# counterintuitive results that getBestMatch("und", XLocaleMatcher("it,en")) would be "en", and +# getBestMatch("en", XLocaleMatcher("it,und")) would be "und". + +# To avoid that, we change the matcher's definitions of max +# so that max("und")="und". That produces the following, more desirable +# results: + +it, en ; und ; it +it, und ; en ; it + +################################################## +# testGetBestMatch-regionDistance + +es-AR, es ; es-MX ; es-AR +fr, en, en-GB ; en-CA ; en-GB +de-AT, de-DE, de-CH ; de ; de-DE + +################################################## +# testAsymmetry + +mul, nl ; af ; nl # af => nl +mul, af ; nl ; mul # but nl !=> af + +################################################## +# testGetBestMatchForList-matchOnMaximized2 + +# ja-JP matches ja on likely subtags, and it's listed first, thus it wins over the second preference en-GB. + +fr, en-GB, ja, es-ES, es-MX ; ja-JP, en-GB ; ja # Match for ja-JP, with likely region subtag + +# Check that if the preference is maximized already, it works as well. + +fr, en-GB, ja, es-ES, es-MX ; ja-Jpan-JP, en-GB ; ja # Match for ja-Jpan-JP (maximized already) + +################################################## +# testGetBestMatchForList-closeEnoughMatchOnMaximized + +en-GB, en, de, fr, ja ; de-CH, fr ; de +en-GB, en, de, fr, ja ; en-US, ar, nl, de, ja ; en + +################################################## +# testGetBestMatchForPortuguese + +# pt might be supported and not pt-PT + +# European user who prefers Spanish over Brazillian Portuguese as a fallback. + +pt-PT, pt-BR, es, es-419 ; pt-PT, es, pt ; pt-PT +pt-PT, pt, es, es-419 ; pt-PT, es, pt ; pt-PT # pt implicit + +# Brazillian user who prefers South American Spanish over European Portuguese as a fallback. +# The asymmetry between this case and above is because it's "pt-PT" that's missing between the +# matchers as "pt-BR" is a much more common language. + +pt-PT, pt-BR, es, es-419 ; pt, es-419, pt-PT ; pt-BR +pt-PT, pt-BR, es, es-419 ; pt-PT, es, pt ; pt-PT +pt-PT, pt, es, es-419 ; pt-PT, es, pt ; pt-PT +pt-PT, pt, es, es-419 ; pt, es-419, pt-PT ; pt + +pt-BR, es, es-419 ; pt, es-419, pt-PT ; pt-BR + +# Code that adds the user's country can get "pt-US" for a user's language. +# That should fall back to "pt-BR". + +pt-PT, pt-BR, es, es-419 ; pt-US, pt-PT ; pt-BR +pt-PT, pt, es, es-419 ; pt-US, pt-PT, pt ; pt # pt-BR implicit + +################################################## +# testVariantWithScriptMatch 1 and 2 + +fr, en, sv ; en-GB ; en +fr, en, sv ; en-GB ; en +en, sv ; en-GB, sv ; en + +################################################## +# testLongLists + +en, sv ; sv ; sv +af, am, ar, az, be, bg, bn, bs, ca, cs, cy, cy, da, de, el, en, en-GB, es, es-419, et, eu, fa, fi, fil, fr, ga, gl, gu, hi, hr, hu, hy, id, is, it, iw, ja, ka, kk, km, kn, ko, ky, lo, lt, lv, mk, ml, mn, mr, ms, my, ne, nl, no, pa, pl, pt, pt-PT, ro, ru, si, sk, sl, sq, sr, sr-Latn, sv, sw, ta, te, th, tr, uk, ur, uz, vi, zh-CN, zh-TW, zu ; sv ; sv +af, af-NA, af-ZA, agq, agq-CM, ak, ak-GH, am, am-ET, ar, ar-001, ar-AE, ar-BH, ar-DJ, ar-DZ, ar-EG, ar-EH, ar-ER, ar-IL, ar-IQ, ar-JO, ar-KM, ar-KW, ar-LB, ar-LY, ar-MA, ar-MR, ar-OM, ar-PS, ar-QA, ar-SA, ar-SD, ar-SO, ar-SS, ar-SY, ar-TD, ar-TN, ar-YE, as, as-IN, asa, asa-TZ, ast, ast-ES, az, az-Cyrl, az-Cyrl-AZ, az-Latn, az-Latn-AZ, bas, bas-CM, be, be-BY, bem, bem-ZM, bez, bez-TZ, bg, bg-BG, bm, bm-ML, bn, bn-BD, bn-IN, bo, bo-CN, bo-IN, br, br-FR, brx, brx-IN, bs, bs-Cyrl, bs-Cyrl-BA, bs-Latn, bs-Latn-BA, ca, ca-AD, ca-ES, ca-ES-VALENCIA, ca-FR, ca-IT, ce, ce-RU, cgg, cgg-UG, chr, chr-US, ckb, ckb-IQ, ckb-IR, cs, cs-CZ, cu, cu-RU, cy, cy-GB, da, da-DK, da-GL, dav, dav-KE, de, de-AT, de-BE, de-CH, de-DE, de-LI, de-LU, dje, dje-NE, dsb, dsb-DE, dua, dua-CM, dyo, dyo-SN, dz, dz-BT, ebu, ebu-KE, ee, ee-GH, ee-TG, el, el-CY, el-GR, en, en-001, en-150, en-AG, en-AI, en-AS, en-AT, en-AU, en-BB, en-BE, en-BI, en-BM, en-BS, en-BW, en-BZ, en-CA, en-CC, en-CH, en-CK, en-CM, en-CX, en-CY, en-DE, en-DG, en-DK, en-DM, en-ER, en-FI, en-FJ, en-FK, en-FM, en-GB, en-GD, en-GG, en-GH, en-GI, en-GM, en-GU, en-GY, en-HK, en-IE, en-IL, en-IM, en-IN, en-IO, en-JE, en-JM, en-KE, en-KI, en-KN, en-KY, en-LC, en-LR, en-LS, en-MG, en-MH, en-MO, en-MP, en-MS, en-MT, en-MU, en-MW, en-MY, en-NA, en-NF, en-NG, en-NL, en-NR, en-NU, en-NZ, en-PG, en-PH, en-PK, en-PN, en-PR, en-PW, en-RW, en-SB, en-SC, en-SD, en-SE, en-SG, en-SH, en-SI, en-SL, en-SS, en-SX, en-SZ, en-TC, en-TK, en-TO, en-TT, en-TV, en-TZ, en-UG, en-UM, en-US, en-US-POSIX, en-VC, en-VG, en-VI, en-VU, en-WS, en-ZA, en-ZM, en-ZW, eo, eo-001, es, es-419, es-AR, es-BO, es-CL, es-CO, es-CR, es-CU, es-DO, es-EA, es-EC, es-ES, es-GQ, es-GT, es-HN, es-IC, es-MX, es-NI, es-PA, es-PE, es-PH, es-PR, es-PY, es-SV, es-US, es-UY, es-VE, et, et-EE, eu, eu-ES, ewo, ewo-CM, fa, fa-AF, fa-IR, ff, ff-CM, ff-GN, ff-MR, ff-SN, fi, fi-FI, fil, fil-PH, fo, fo-DK, fo-FO, fr, fr-BE, fr-BF, fr-BI, fr-BJ, fr-BL, fr-CA, fr-CD, fr-CF, fr-CG, fr-CH, fr-CI, fr-CM, fr-DJ, fr-DZ, fr-FR, fr-GA, fr-GF, fr-GN, fr-GP, fr-GQ, fr-HT, fr-KM, fr-LU, fr-MA, fr-MC, fr-MF, fr-MG, fr-ML, fr-MQ, fr-MR, fr-MU, fr-NC, fr-NE, fr-PF, fr-PM, fr-RE, fr-RW, fr-SC, fr-SN, fr-SY, fr-TD, fr-TG, fr-TN, fr-VU, fr-WF, fr-YT, fur, fur-IT, fy, fy-NL, ga, ga-IE, gd, gd-GB, gl, gl-ES, gsw, gsw-CH, gsw-FR, gsw-LI, gu, gu-IN, guz, guz-KE, gv, gv-IM, ha, ha-GH, ha-NE, ha-NG, haw, haw-US, he, he-IL, hi, hi-IN, hr, hr-BA, hr-HR, hsb, hsb-DE, hu, hu-HU, hy, hy-AM, id, id-ID, ig, ig-NG, ii, ii-CN, is, is-IS, it, it-CH, it-IT, it-SM, ja, ja-JP, jgo, jgo-CM, jmc, jmc-TZ, ka, ka-GE, kab, kab-DZ, kam, kam-KE, kde, kde-TZ, kea, kea-CV, khq, khq-ML, ki, ki-KE, kk, kk-KZ, kkj, kkj-CM, kl, kl-GL, kln, kln-KE, km, km-KH, kn, kn-IN, ko, ko-KP, ko-KR, kok, kok-IN, ks, ks-IN, ksb, ksb-TZ, ksf, ksf-CM, ksh, ksh-DE, kw, kw-GB, ky, ky-KG, lag, lag-TZ, lb, lb-LU, lg, lg-UG, lkt, lkt-US, ln, ln-AO, ln-CD, ln-CF, ln-CG, lo, lo-LA, lrc, lrc-IQ, lrc-IR, lt, lt-LT, lu, lu-CD, luo, luo-KE, luy, luy-KE, lv, lv-LV, mas, mas-KE, mas-TZ, mer, mer-KE, mfe, mfe-MU, mg, mg-MG, mgh, mgh-MZ, mgo, mgo-CM, mk, mk-MK, ml, ml-IN, mn, mn-MN, mr, mr-IN, ms, ms-BN, ms-MY, ms-SG, mt, mt-MT, mua, mua-CM, my, my-MM, mzn, mzn-IR, naq, naq-NA, nb, nb-NO, nb-SJ, nd, nd-ZW, ne, ne-IN, ne-NP, nl, nl-AW, nl-BE, nl-BQ, nl-CW, nl-NL, nl-SR, nl-SX, nmg, nmg-CM, nn, nn-NO, nnh, nnh-CM, nus, nus-SS, nyn, nyn-UG, om, om-ET, om-KE, or, or-IN, os, os-GE, os-RU, pa, pa-Arab, pa-Arab-PK, pa-Guru, pa-Guru-IN, pl, pl-PL, prg, prg-001, ps, ps-AF, pt, pt-AO, pt-BR, pt-CV, pt-GW, pt-MO, pt-MZ, pt-PT, pt-ST, pt-TL, qu, qu-BO, qu-EC, qu-PE, rm, rm-CH, rn, rn-BI, ro, ro-MD, ro-RO, rof, rof-TZ, root, ru, ru-BY, ru-KG, ru-KZ, ru-MD, ru-RU, ru-UA, rw, rw-RW, rwk, rwk-TZ, sah, sah-RU, saq, saq-KE, sbp, sbp-TZ, se, se-FI, se-NO, se-SE, seh, seh-MZ, ses, ses-ML, sg, sg-CF, shi, shi-Latn, shi-Latn-MA, shi-Tfng, shi-Tfng-MA, si, si-LK, sk, sk-SK, sl, sl-SI, smn, smn-FI, sn, sn-ZW, so, so-DJ, so-ET, so-KE, so-SO, sq, sq-AL, sq-MK, sq-XK, sr, sr-Cyrl, sr-Cyrl-BA, sr-Cyrl-ME, sr-Cyrl-RS, sr-Cyrl-XK, sr-Latn, sr-Latn-BA, sr-Latn-ME, sr-Latn-RS, sr-Latn-XK, sv, sv-AX, sv-FI, sv-SE, sw, sw-CD, sw-KE, sw-TZ, sw-UG, ta, ta-IN, ta-LK, ta-MY, ta-SG, te, te-IN, teo, teo-KE, teo-UG, th, th-TH, ti, ti-ER, ti-ET, tk, tk-TM, to, to-TO, tr, tr-CY, tr-TR, twq, twq-NE, tzm, tzm-MA, ug, ug-CN, uk, uk-UA, ur, ur-IN, ur-PK, uz, uz-Arab, uz-Arab-AF, uz-Cyrl, uz-Cyrl-UZ, uz-Latn, uz-Latn-UZ, vai, vai-Latn, vai-Latn-LR, vai-Vaii, vai-Vaii-LR, vi, vi-VN, vo, vo-001, vun, vun-TZ, wae, wae-CH, xog, xog-UG, yav, yav-CM, yi, yi-001, yo, yo-BJ, yo-NG, zgh, zgh-MA, zh, zh-Hans, zh-Hans-CN, zh-Hans-HK, zh-Hans-MO, zh-Hans-SG, zh-Hant, zh-Hant-HK, zh-Hant-MO, zh-Hant-TW, zu, zu-ZA ; sv ; sv + +################################################## +# test8288 + +it, en ; und ; it +it, en ; und, en ; en + +# examples from +# http://unicode.org/repos/cldr/tags/latest/common/bcp47/ +# http://unicode.org/repos/cldr/tags/latest/common/validity/variant.xml + +################################################## +# testUnHack + +en-NZ, en-IT ; en-US ; en-NZ + +################################################## +# testEmptySupported => null + ; en ; null + +################################################## +# testVariantsAndExtensions +################################################## +# tests the .combine() method + +und, fr ; fr-BE-fonipa ; fr ; fr-BE-fonipa +und, fr-CA ; fr-BE-fonipa ; fr-CA ; fr-BE-fonipa +und, fr-fonupa ; fr-BE-fonipa ; fr-fonupa ; fr-BE-fonipa +und, no ; nn-BE-fonipa ; no ; no-BE-fonipa +und, en-GB-u-sd-gbsct ; en-fonipa-u-nu-Arab-ca-buddhist-t-m0-iso-i0-pinyin ; en-GB-u-sd-gbsct ; en-GB-fonipa-u-nu-Arab-ca-buddhist-t-m0-iso-i0-pinyin + +en-PSCRACK, de-PSCRACK, fr-PSCRACK, pt-PT-PSCRACK ; fr-PSCRACK ; fr-PSCRACK +en-PSCRACK, de-PSCRACK, fr-PSCRACK, pt-PT-PSCRACK ; fr ; fr-PSCRACK +en-PSCRACK, de-PSCRACK, fr-PSCRACK, pt-PT-PSCRACK ; de-CH ; de-PSCRACK + +################################################## +# testClusters +# we favor es-419 over others in cluster. Clusters: es- {ES, MA, EA} {419, AR, MX} + +und, es, es-MA, es-MX, es-419 ; es-AR ; es-419 +und, es-MA, es, es-419, es-MX ; es-AR ; es-419 +und, es, es-MA, es-MX, es-419 ; es-EA ; es +und, es-MA, es, es-419, es-MX ; es-EA ; es + +# of course, fall back to within cluster + +und, es, es-MA, es-MX ; es-AR ; es-MX +und, es-MA, es, es-MX ; es-AR ; es-MX +und, es-MA, es-MX, es-419 ; es-EA ; es-MA +und, es-MA, es-419, es-MX ; es-EA ; es-MA + +# we favor es-GB over others in cluster. Clusters: en- {US, GU, VI} {GB, IN, ZA} + +und, en, en-GU, en-IN, en-GB ; en-ZA ; en-GB +und, en-GU, en, en-GB, en-IN ; en-ZA ; en-GB +und, en, en-GU, en-IN, en-GB ; en-VI ; en +und, en-GU, en, en-GB, en-IN ; en-VI ; en + +# of course, fall back to within cluster + +und, en, en-GU, en-IN ; en-ZA ; en-IN +und, en-GU, en, en-IN ; en-ZA ; en-IN +und, en-GU, en-IN, en-GB ; en-VI ; en-GU +und, en-GU, en-GB, en-IN ; en-VI ; en-GU + +################################################## +# testThreshold +@Threshold=60 + +50, und, fr-CA-fonupa ; fr-BE-fonipa ; fr-CA-fonupa ; fr-BE-fonipa +50, und, fr-Cyrl-CA-fonupa ; fr-BE-fonipa ; fr-Cyrl-CA-fonupa ; fr-Cyrl-BE-fonipa + +@Threshold=-1 # restore + +################################################## +# testScriptFirst +@DistanceOption=SCRIPT_FIRST +@debug + +ru, fr ; zh, pl ; fr +ru, fr ; zh-Cyrl, pl ; ru +hr, en-Cyrl; sr ; en-Cyrl +da, ru, hr; sr ; ru \ No newline at end of file diff --git a/vendor/golang.org/x/text/language/testdata/GoLocaleMatcherTest.txt b/vendor/golang.org/x/text/language/testdata/GoLocaleMatcherTest.txt new file mode 100644 index 000000000..4f4c6093e --- /dev/null +++ b/vendor/golang.org/x/text/language/testdata/GoLocaleMatcherTest.txt @@ -0,0 +1,226 @@ +# basics +fr, en-GB, en ; en-GB ; en-GB +fr, en-GB, en ; en-US ; en +fr, en-GB, en ; fr-FR ; fr +fr, en-GB, en ; ja-JP ; fr + +# script fallbacks +zh-CN, zh-TW, iw ; zh-Hant ; zh-TW +zh-CN, zh-TW, iw ; zh ; zh-CN +zh-CN, zh-TW, iw ; zh-Hans-CN ; zh-CN +zh-CN, zh-TW, iw ; zh-Hant-HK ; zh-TW +zh-CN, zh-TW, iw ; he-IT ; iw ; iw + +# language-specific script fallbacks 1 +en, sr, nl ; sr-Latn ; sr +en, sr, nl ; sh ; sr # different script, but seems okay and is as CLDR suggests +en, sr, nl ; hr ; en +en, sr, nl ; bs ; en +en, sr, nl ; nl-Cyrl ; sr + +# language-specific script fallbacks 2 +en, sh ; sr ; sh +en, sh ; sr-Cyrl ; sh +en, sh ; hr ; sh + +# don't match hr to sr-Latn +en, sr-Latn ; hr ; en + +# both deprecated and not +fil, tl, iw, he ; he-IT ; he +fil, tl, iw, he ; he ; he +fil, tl, iw, he ; iw ; iw +fil, tl, iw, he ; fil-IT ; fil +fil, tl, iw, he ; fil ; fil +fil, tl, iw, he ; tl ; tl + +# nearby languages +en, fil, ro, nn ; tl ; fil +en, fil, ro, nn ; mo ; ro +en, fil, ro, nn ; nb ; nn +en, fil, ro, nn ; ja ; en + +# nearby languages: Nynorsk to Bokmål +en, nb ; nn ; nb + +# nearby languages: Danish does not match nn +en, nn ; da ; en + +# nearby languages: Danish matches no +en, no ; da ; no + +# nearby languages: Danish matches nb +en, nb ; da ; nb + +# prefer matching languages over language variants. +nn, en-GB ; no, en-US ; en-GB +nn, en-GB ; nb, en-US ; en-GB + +# deprecated version is closer than same language with other differences +nl, he, en-GB ; iw, en-US ; he + +# macro equivalent is closer than same language with other differences +nl, zh, en-GB, no ; cmn, en-US ; zh +nl, zh, en-GB, no ; nb, en-US ; no + +# legacy equivalent is closer than same language with other differences +nl, fil, en-GB ; tl, en-US ; fil + +# distinguish near equivalents +en, ro, mo, ro-MD ; ro ; ro +en, ro, mo, ro-MD ; mo ; mo +en, ro, mo, ro-MD ; ro-MD ; ro-MD + +# maximization of legacy +sr-Cyrl, sr-Latn, ro, ro-MD ; sh ; sr-Latn +sr-Cyrl, sr-Latn, ro, ro-MD ; mo ; ro-MD + +# empty + ; fr ; und + ; en ; und + +# private use subtags +fr, en-GB, x-bork, es-ES, es-419 ; x-piglatin ; fr +fr, en-GB, x-bork, es-ES, es-419 ; x-bork ; x-bork + +# grandfathered codes +fr, i-klingon, en-Latn-US ; en-GB-oed ; en-Latn-US +fr, i-klingon, en-Latn-US ; i-klingon ; tlh + + +# simple variant match +fr, en-GB, ja, es-ES, es-MX ; de, en-US ; en-GB +fr, en-GB, ja, es-ES, es-MX ; de, zh ; fr + +# best match for traditional Chinese +fr, zh-Hans-CN, en-US ; zh-TW ; zh-Hans-CN +fr, zh-Hans-CN, en-US ; zh-Hant ; zh-Hans-CN +fr, zh-Hans-CN, en-US ; zh-TW, en ; en-US +fr, zh-Hans-CN, en-US ; zh-Hant-CN, en ; en-US +fr, zh-Hans-CN, en-US ; zh-Hans, en ; zh-Hans-CN + +# more specific script should win in case regions are identical +af, af-Latn, af-Arab ; af ; af +af, af-Latn, af-Arab ; af-ZA ; af +af, af-Latn, af-Arab ; af-Latn-ZA ; af-Latn +af, af-Latn, af-Arab ; af-Latn ; af-Latn + +# more specific region should win +nl, nl-NL, nl-BE ; nl ; nl +nl, nl-NL, nl-BE ; nl-Latn ; nl +nl, nl-NL, nl-BE ; nl-Latn-NL ; nl-NL +nl, nl-NL, nl-BE ; nl-NL ; nl-NL + +# region may replace matched if matched is enclosing +es-419,es ; es-MX ; es-419 ; es-MX +es-419,es ; es-SG ; es + +# more specific region wins over more specific script +nl, nl-Latn, nl-NL, nl-BE ; nl ; nl +nl, nl-Latn, nl-NL, nl-BE ; nl-Latn ; nl-Latn +nl, nl-Latn, nl-NL, nl-BE ; nl-NL ; nl-NL +nl, nl-Latn, nl-NL, nl-BE ; nl-Latn-NL ; nl-NL + +# region distance Portuguese +pt, pt-PT ; pt-ES ; pt-PT + +# if no preferred locale specified, pick top language, not regional +en, fr, fr-CA, fr-CH ; fr-US ; fr #TODO: ; fr-u-rg-US + +# region distance German +de-AT, de-DE, de-CH ; de ; de-DE + +# en-AU is closer to en-GB than to en (which is en-US) +en, en-GB, es-ES, es-419 ; en-AU ; en-GB +en, en-GB, es-ES, es-419 ; es-MX ; es-419 ; es-MX +en, en-GB, es-ES, es-419 ; es-PT ; es-ES + +# undefined +it, fr ; und ; it + +# und does not match en +it, en ; und ; it + +# undefined in priority list +it, und ; und ; und +it, und ; en ; it + +# undefined +it, fr, zh ; und-FR ; fr +it, fr, zh ; und-CN ; zh +it, fr, zh ; und-Hans ; zh +it, fr, zh ; und-Hant ; zh +it, fr, zh ; und-Latn ; it + +# match on maximized tag +fr, en-GB, ja, es-ES, es-MX ; ja-JP, en-GB ; ja +fr, en-GB, ja, es-ES, es-MX ; ja-Jpan-JP, en-GB ; ja + +# pick best maximized tag +ja, ja-Jpan-US, ja-JP, en, ru ; ja-Jpan, ru ; ja +ja, ja-Jpan-US, ja-JP, en, ru ; ja-JP, ru ; ja-JP +ja, ja-Jpan-US, ja-JP, en, ru ; ja-US, ru ; ja-Jpan-US + +# termination: pick best maximized match +ja, ja-Jpan, ja-JP, en, ru ; ja-Jpan-JP, ru ; ja-JP +ja, ja-Jpan, ja-JP, en, ru ; ja-Jpan, ru ; ja-Jpan + +# same language over exact, but distinguish when user is explicit +fr, en-GB, ja, es-ES, es-MX ; ja, de ; ja +en, de, fr, ja ; de-CH, fr ; de # TODO: ; de-u-rg-CH +en-GB, nl ; en, nl ; en-GB +en-GB, nl ; en, nl, en-GB ; nl + +# parent relation preserved +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-150 ; en-GB +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-AU ; en-GB +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-BE ; en-GB +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-GG ; en-GB +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-GI ; en-GB +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-HK ; en-GB +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-IE ; en-GB +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-IM ; en-GB +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-IN ; en-GB +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-JE ; en-GB +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-MT ; en-GB +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-NZ ; en-GB +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-PK ; en-GB +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-SG ; en-GB +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-DE ; en-GB +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-MT ; en-GB +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-AR ; es-419 ; es-AR +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-BO ; es-419 ; es-BO +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-CL ; es-419 ; es-CL +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-CO ; es-419 ; es-CO +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-CR ; es-419 ; es-CR +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-CU ; es-419 ; es-CU +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-DO ; es-419 ; es-DO +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-EC ; es-419 ; es-EC +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-GT ; es-419 ; es-GT +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-HN ; es-419 ; es-HN +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-MX ; es-419 ; es-MX +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-NI ; es-419 ; es-NI +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-PA ; es-419 ; es-PA +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-PE ; es-419 ; es-PE +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-PR ; es-419 ; es-PR +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-PT ; es +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-PY ; es-419 ; es-PY +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-SV ; es-419 ; es-SV +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-US ; es-419 +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-UY ; es-419 ; es-UY +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-VE ; es-419 ; es-VE +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; pt-AO ; pt-PT +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; pt-CV ; pt-PT +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; pt-GW ; pt-PT +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; pt-MO ; pt-PT +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; pt-MZ ; pt-PT +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; pt-ST ; pt-PT +en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; pt-TL ; pt-PT + +# preserve extensions +en, de, sl-nedis ; de-FR-u-co-phonebk ; de ; de-u-co-phonebk +en, de, sl-nedis ; sl-nedis-u-cu-eur ; sl-nedis ; sl-nedis-u-cu-eur +en, de, sl-nedis ; sl-u-cu-eur ; sl-nedis ; sl-nedis-u-cu-eur +en, de, sl-nedis ; sl-HR-nedis-u-cu-eur ; sl-nedis ; sl-nedis-u-cu-eur +en, de, sl-nedis ; de-t-m0-iso-i0-pinyin ; de ; de-t-m0-iso-i0-pinyin + diff --git a/vendor/golang.org/x/text/message/doc.go b/vendor/golang.org/x/text/message/doc.go new file mode 100644 index 000000000..89c1592a4 --- /dev/null +++ b/vendor/golang.org/x/text/message/doc.go @@ -0,0 +1,100 @@ +// Copyright 2017 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 message implements formatted I/O for localized strings with functions +// analogous to the fmt's print functions. It is a drop-in replacement for fmt. +// +// +// Localized Formatting +// +// A format string can be localized by replacing any of the print functions of +// fmt with an equivalent call to a Printer. +// +// p := message.NewPrinter(language.English) +// p.Println(123456.78) // Prints 123,456.78 +// +// p.Printf("%d ducks in a row", 4331) // Prints 4,331 ducks in a row +// +// p := message.NewPrinter(language.Dutch) +// p.Println("Hoogte: %f meter", 1244.9) // Prints Hoogte: 1.244,9 meter +// +// p := message.NewPrinter(language.Bengali) +// p.Println(123456.78) // Prints ১,২৩,৪৫৬.৭৮ +// +// Printer currently supports numbers and specialized types for which packages +// exist in x/text. Other builtin types such as time.Time and slices are +// planned. +// +// Format strings largely have the same meaning as with fmt with the following +// notable exceptions: +// - flag # always resorts to fmt for printing +// - verb 'f', 'e', 'g', 'd' use localized formatting unless the '#' flag is +// specified. +// +// See package fmt for more options. +// +// +// Translation +// +// The format strings that are passed to Printf, Sprintf, Fprintf, or Errorf +// are used as keys to look up translations for the specified languages. +// More on how these need to be specified below. +// +// One can use arbitrary keys to distinguish between otherwise ambiguous +// strings: +// p := message.NewPrinter(language.English) +// p.Printf("archive(noun)") // Prints "archive" +// p.Printf("archive(verb)") // Prints "archive" +// +// p := message.NewPrinter(language.German) +// p.Printf("archive(noun)") // Prints "Archiv" +// p.Printf("archive(verb)") // Prints "archivieren" +// +// To retain the fallback functionality, use Key: +// p.Printf(message.Key("archive(noun)", "archive")) +// p.Printf(message.Key("archive(verb)", "archive")) +// +// +// Translation Pipeline +// +// Format strings that contain text need to be translated to support different +// locales. The first step is to extract strings that need to be translated. +// +// 1. Install gotext +// go get -u golang.org/x/text/cmd/gotext +// gotext -help +// +// 2. Mark strings in your source to be translated by using message.Printer, +// instead of the functions of the fmt package. +// +// 3. Extract the strings from your source +// +// gotext extract +// +// The output will be written to the textdata directory. +// +// 4. Send the files for translation +// +// It is planned to support multiple formats, but for now one will have to +// rewrite the JSON output to the desired format. +// +// 5. Inject translations into program +// +// 6. Repeat from 2 +// +// Right now this has to be done programmatically with calls to Set or +// SetString. These functions as well as the methods defined in +// see also package golang.org/x/text/message/catalog can be used to implement +// either dynamic or static loading of messages. +// +// +// Plural and Gender Forms +// +// Translated messages can vary based on the plural and gender forms of +// substitution values. In general, it is up to the translators to provide +// alternative translations for such forms. See the packages in +// golang.org/x/text/feature and golang.org/x/text/message/catalog for more +// information. +// +package message diff --git a/vendor/golang.org/x/text/message/examples_test.go b/vendor/golang.org/x/text/message/examples_test.go new file mode 100644 index 000000000..c73eaf90b --- /dev/null +++ b/vendor/golang.org/x/text/message/examples_test.go @@ -0,0 +1,42 @@ +// Copyright 2017 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 message_test + +import ( + "net/http" + + "golang.org/x/text/language" + "golang.org/x/text/message" +) + +func Example_http() { + // languages supported by this service: + matcher := language.NewMatcher(message.DefaultCatalog.Languages()) + + http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { + lang, _ := r.Cookie("lang") + accept := r.Header.Get("Accept-Language") + fallback := "en" + tag, _ := language.MatchStrings(matcher, lang.String(), accept, fallback) + + p := message.NewPrinter(tag) + + p.Fprintln(w, "User language is", tag) + }) +} + +func ExamplePrinter_numbers() { + for _, lang := range []string{"en", "de", "de-CH", "fr", "bn"} { + p := message.NewPrinter(language.Make(lang)) + p.Printf("%-6s %g\n", lang, 123456.78) + } + + // Output: + // en 123,456.78 + // de 123.456,78 + // de-CH 123’456.78 + // fr 123 456,78 + // bn ১,২৩,৪৫৬.৭৮ +} diff --git a/vendor/golang.org/x/text/message/fmt_test.go b/vendor/golang.org/x/text/message/fmt_test.go index 0dbedcbca..2110bb532 100755 --- a/vendor/golang.org/x/text/message/fmt_test.go +++ b/vendor/golang.org/x/text/message/fmt_test.go @@ -475,10 +475,8 @@ var fmtTests = []struct { {"%.4b", float32(1.0), "8388608p-23"}, {"%.4b", -1.0, "-4503599627370496p-52"}, // Test correct f.intbuf boundary checks. - // TODO: the following cases won't work because of rounding errors. We can - // fix this if we expose the internals of strconv. - // {"%.68f", 1.0, zeroFill("1.", 68, "")}, // TODO(bug): rounding error - // {"%.68f", -1.0, zeroFill("-1.", 68, "")}, // TODO(bug): rounding error + {"%.68f", 1.0, zeroFill("1.", 68, "")}, + {"%.68f", -1.0, zeroFill("-1.", 68, "")}, // float infinites and NaNs {"%f", posInf, "∞"}, {"%.1f", negInf, "-∞"}, @@ -565,8 +563,8 @@ var fmtTests = []struct { // old test/fmt_test.go {"%e", 1.0, "1.000000\u202f×\u202f10⁰⁰"}, - {"%e", 1234.5678e3, "1.234570\u202f×\u202f10⁰⁶"}, - {"%e", 1234.5678e-8, "1.234570\u202f×\u202f10⁻⁰⁵"}, + {"%e", 1234.5678e3, "1.234568\u202f×\u202f10⁰⁶"}, + {"%e", 1234.5678e-8, "1.234568\u202f×\u202f10⁻⁰⁵"}, {"%e", -7.0, "-7.000000\u202f×\u202f10⁰⁰"}, {"%e", -1e-9, "-1.000000\u202f×\u202f10⁻⁰⁹"}, {"%f", 1234.5678e3, "1,234,567.800000"}, @@ -580,8 +578,8 @@ var fmtTests = []struct { {"%g", -1e-9, "-1\u202f×\u202f10⁻⁰⁹"}, {"%g", float32(-1e-9), "-1\u202f×\u202f10⁻⁰⁹"}, {"%E", 1.0, "1.000000\u202f×\u202f10⁰⁰"}, - {"%E", 1234.5678e3, "1.234570\u202f×\u202f10⁰⁶"}, - {"%E", 1234.5678e-8, "1.234570\u202f×\u202f10⁻⁰⁵"}, + {"%E", 1234.5678e3, "1.234568\u202f×\u202f10⁰⁶"}, + {"%E", 1234.5678e-8, "1.234568\u202f×\u202f10⁻⁰⁵"}, {"%E", -7.0, "-7.000000\u202f×\u202f10⁰⁰"}, {"%E", -1e-9, "-1.000000\u202f×\u202f10⁻⁰⁹"}, {"%G", 1234.5678e3, "1.2345678\u202f×\u202f10⁰⁶"}, diff --git a/vendor/golang.org/x/text/message/message.go b/vendor/golang.org/x/text/message/message.go index 92791236d..ba4f95ab0 100644 --- a/vendor/golang.org/x/text/message/message.go +++ b/vendor/golang.org/x/text/message/message.go @@ -2,15 +2,6 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// Package message implements formatted I/O for localized strings with functions -// analogous to the fmt's print functions. -// -// These are the important differences with fmt: -// - Output varies per locale. -// - The '#' flag is used to bypass localization. -// -// NOTE: Under construction. See https://golang.org/design/12750-localization -// and its corresponding proposal issue https://golang.org/issues/12750. package message // import "golang.org/x/text/message" import ( @@ -150,6 +141,7 @@ func lookupAndFormat(p *Printer, r Reference, a []interface{}) { // Arg implements catmsg.Renderer. func (p *printer) Arg(i int) interface{} { // TODO, also return "ok" bool + i-- if uint(i) < uint(len(p.args)) { return p.args[i] } diff --git a/vendor/golang.org/x/text/message/print.go b/vendor/golang.org/x/text/message/print.go index 8c8a23f15..5819cba2e 100644 --- a/vendor/golang.org/x/text/message/print.go +++ b/vendor/golang.org/x/text/message/print.go @@ -11,6 +11,7 @@ import ( "reflect" "unicode/utf8" + "golang.org/x/text/internal/format" "golang.org/x/text/internal/number" "golang.org/x/text/language" "golang.org/x/text/message/catalog" @@ -237,7 +238,7 @@ func (p *printer) fmtFloat(v float64, size int, verb rune) { if p.fmt.sharp || p.fmt.sharpV { p.fmt.fmt_float(v, size, verb, -1) } else { - p.fmtVariableFloat(v, size, -1) + p.fmtVariableFloat(v, size) } case 'e', 'E': if p.fmt.sharp || p.fmt.sharpV { @@ -284,7 +285,7 @@ func (p *printer) initDecimal(minFrac, maxFrac int) { f.MinIntegerDigits = 1 f.MaxIntegerDigits = 0 f.MinFractionDigits = uint8(minFrac) - f.MaxFractionDigits = uint8(maxFrac) + f.MaxFractionDigits = int16(maxFrac) p.setFlags(f) f.PadRune = 0 if p.fmt.widPresent { @@ -308,8 +309,13 @@ func (p *printer) initDecimal(minFrac, maxFrac int) { func (p *printer) initScientific(minFrac, maxFrac int) { f := &p.toScientific - f.MinFractionDigits = uint8(minFrac) - f.MaxFractionDigits = uint8(maxFrac) + if maxFrac < 0 { + f.SetPrecision(maxFrac) + } else { + f.SetPrecision(maxFrac + 1) + f.MinFractionDigits = uint8(minFrac) + f.MaxFractionDigits = int16(maxFrac) + } f.MinExponentDigits = 2 p.setFlags(f) f.PadRune = 0 @@ -328,8 +334,6 @@ func (p *printer) initScientific(minFrac, maxFrac int) { func (p *printer) fmtDecimalInt(v uint64, isSigned bool) { var d number.Decimal - p.toDecimal.RoundingContext.Scale = 0 - d.ConvertInt(&p.toDecimal.RoundingContext, isSigned, v) f := &p.toDecimal if p.fmt.precPresent { @@ -344,6 +348,7 @@ func (p *printer) fmtDecimalInt(v uint64, isSigned bool) { } else { p.initDecimal(0, 0) } + d.ConvertInt(p.toDecimal.RoundingContext, isSigned, v) out := p.toDecimal.Format([]byte(nil), &d) p.Buffer.Write(out) @@ -354,22 +359,21 @@ func (p *printer) fmtDecimalFloat(v float64, size, prec int) { if p.fmt.precPresent { prec = p.fmt.prec } - p.toDecimal.RoundingContext.Scale = int32(prec) - d.ConvertFloat(&p.toDecimal.RoundingContext, v, size) - p.initDecimal(prec, prec) + d.ConvertFloat(p.toDecimal.RoundingContext, v, size) out := p.toDecimal.Format([]byte(nil), &d) p.Buffer.Write(out) } -func (p *printer) fmtVariableFloat(v float64, size, prec int) { +func (p *printer) fmtVariableFloat(v float64, size int) { + prec := -1 if p.fmt.precPresent { prec = p.fmt.prec } var d number.Decimal - p.toScientific.RoundingContext.Precision = int32(prec) - d.ConvertFloat(&p.toScientific.RoundingContext, v, size) + p.initScientific(0, prec) + d.ConvertFloat(p.toScientific.RoundingContext, v, size) // Copy logic of 'g' formatting from strconv. It is simplified a bit as // we don't have to mind having prec > len(d.Digits). @@ -407,10 +411,9 @@ func (p *printer) fmtScientific(v float64, size, prec int) { if p.fmt.precPresent { prec = p.fmt.prec } - p.toScientific.RoundingContext.Precision = int32(prec) - d.ConvertFloat(&p.toScientific.RoundingContext, v, size) - p.initScientific(prec, prec) + rc := p.toScientific.RoundingContext + d.ConvertFloat(rc, v, size) out := p.toScientific.Format([]byte(nil), &d) p.Buffer.Write(out) @@ -603,6 +606,12 @@ func (p *printer) handleMethods(verb rune) (handled bool) { return } // Is it a Formatter? + if formatter, ok := p.arg.(format.Formatter); ok { + handled = true + defer p.catchPanic(p.arg, verb) + formatter.Format(p, verb) + return + } if formatter, ok := p.arg.(fmt.Formatter); ok { handled = true defer p.catchPanic(p.arg, verb) @@ -1038,7 +1047,7 @@ formatLoop: p.fmt.plusV = p.fmt.plus p.fmt.plus = false } - p.printArg(p.Arg(p.argNum), rune(c)) + p.printArg(p.Arg(p.argNum+1), rune(c)) p.argNum++ i++ continue formatLoop diff --git a/vendor/golang.org/x/text/number/doc.go b/vendor/golang.org/x/text/number/doc.go new file mode 100644 index 000000000..2ad8d431a --- /dev/null +++ b/vendor/golang.org/x/text/number/doc.go @@ -0,0 +1,28 @@ +// Copyright 2017 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 number formats numbers according to the customs of different locales. +// +// The number formats of this package allow for greater formatting flexibility +// than passing values to message.Printf calls as is. It currently supports the +// builtin Go types and anything that implements the Convert interface +// (currently internal). +// +// p := message.NewPrinter(language.English) +// +// p.Printf("%v bottles of beer on the wall.", number.Decimal(1234)) +// // Prints: 1,234 bottles of beer on the wall. +// +// p.Printf("%v of gophers lose too much fur", number.Percent(0.12)) +// // Prints: 12% of gophers lose too much fur. +// +// p := message.NewPrinter(language.Dutch) +// +// p.Printf("There are %v bikes per household.", number.Decimal(1.2)) +// // Prints: Er zijn 1,2 fietsen per huishouden. +// +// +// The width and scale specified in the formatting directives override the +// configuration of the formatter. +package number diff --git a/vendor/golang.org/x/text/number/examples_test.go b/vendor/golang.org/x/text/number/examples_test.go new file mode 100644 index 000000000..fb9bcc960 --- /dev/null +++ b/vendor/golang.org/x/text/number/examples_test.go @@ -0,0 +1,28 @@ +// Copyright 2017 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 number_test + +import ( + "golang.org/x/text/language" + "golang.org/x/text/message" + "golang.org/x/text/number" +) + +func ExampleMaxIntegerDigits() { + const year = 1999 + p := message.NewPrinter(language.English) + p.Println("Year:", number.Decimal(year, number.MaxIntegerDigits(2))) + + // Output: + // Year: 99 +} + +func ExampleIncrementString() { + p := message.NewPrinter(language.English) + + p.Println(number.Decimal(1.33, number.IncrementString("0.50"))) + + // Output: 1.50 +} diff --git a/vendor/golang.org/x/text/number/format.go b/vendor/golang.org/x/text/number/format.go new file mode 100755 index 000000000..1c3d41be0 --- /dev/null +++ b/vendor/golang.org/x/text/number/format.go @@ -0,0 +1,122 @@ +// Copyright 2017 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 number + +import ( + "fmt" + "strings" + + "golang.org/x/text/feature/plural" + "golang.org/x/text/internal/format" + "golang.org/x/text/internal/number" + "golang.org/x/text/language" +) + +// A FormatFunc formates a number. +type FormatFunc func(x interface{}, opts ...Option) Formatter + +// NewFormat creates a FormatFunc based on another FormatFunc and new options. +// Use NewFormat to cash the creation of formatters. +func NewFormat(format FormatFunc, opts ...Option) FormatFunc { + o := *format(nil).options + n := len(o.options) + o.options = append(o.options[:n:n], opts...) + return func(x interface{}, opts ...Option) Formatter { + return newFormatter(&o, opts, x) + } +} + +type options struct { + verbs string + initFunc initFunc + options []Option + pluralFunc func(t language.Tag, scale int) (f plural.Form, n int) +} + +type optionFlag uint16 + +const ( + hasScale optionFlag = 1 << iota + hasPrecision + noSeparator + exact +) + +type initFunc func(f *number.Formatter, t language.Tag) + +func newFormatter(o *options, opts []Option, value interface{}) Formatter { + if len(opts) > 0 { + n := *o + n.options = opts + o = &n + } + return Formatter{o, value} +} + +func newOptions(verbs string, f initFunc) *options { + return &options{verbs: verbs, initFunc: f} +} + +type Formatter struct { + *options + value interface{} +} + +// Format implements format.Formatter. It is for internal use only for now. +func (f Formatter) Format(state format.State, verb rune) { + // TODO: consider implementing fmt.Formatter instead and using the following + // piece of code. This allows numbers to be rendered mostly as expected + // when using fmt. But it may get weird with the spellout options and we + // may need more of format.State over time. + // lang := language.Und + // if s, ok := state.(format.State); ok { + // lang = s.Language() + // } + + lang := state.Language() + if !strings.Contains(f.verbs, string(verb)) { + fmt.Fprintf(state, "%%!%s(%T=%v)", string(verb), f.value, f.value) + return + } + var p number.Formatter + f.initFunc(&p, lang) + for _, o := range f.options.options { + o(lang, &p) + } + if w, ok := state.Width(); ok { + p.FormatWidth = uint16(w) + } + if prec, ok := state.Precision(); ok { + switch verb { + case 'd': + p.SetScale(0) + case 'f': + p.SetScale(prec) + case 'e': + p.SetPrecision(prec + 1) + case 'g': + p.SetPrecision(prec) + } + } + var d number.Decimal + d.Convert(p.RoundingContext, f.value) + state.Write(p.Format(nil, &d)) +} + +// Digits returns information about which logical digits will be presented to +// the user. This information is relevant, for instance, to determine plural +// forms. +func (f Formatter) Digits(buf []byte, tag language.Tag, scale int) number.Digits { + var p number.Formatter + f.initFunc(&p, tag) + if scale >= 0 { + // TODO: this only works well for decimal numbers, which is generally + // fine. + p.SetScale(scale) + } + var d number.Decimal + d.Convert(p.RoundingContext, f.value) + return number.FormatDigits(&d, p.RoundingContext) +} diff --git a/vendor/golang.org/x/text/number/format_test.go b/vendor/golang.org/x/text/number/format_test.go new file mode 100644 index 000000000..3c67c5d41 --- /dev/null +++ b/vendor/golang.org/x/text/number/format_test.go @@ -0,0 +1,107 @@ +// Copyright 2017 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 number + +import ( + "fmt" + "testing" + + "golang.org/x/text/feature/plural" + "golang.org/x/text/language" + "golang.org/x/text/message" +) + +func TestWrongVerb(t *testing.T) { + testCases := []struct { + f Formatter + fmt string + want string + }{{ + f: Decimal(12), + fmt: "%e", + want: "%!e(int=12)", + }, { + f: Scientific(12), + fmt: "%f", + want: "%!f(int=12)", + }, { + f: Engineering(12), + fmt: "%f", + want: "%!f(int=12)", + }, { + f: Percent(12), + fmt: "%e", + want: "%!e(int=12)", + }} + for _, tc := range testCases { + t.Run("", func(t *testing.T) { + tag := language.Und + got := message.NewPrinter(tag).Sprintf(tc.fmt, tc.f) + if got != tc.want { + t.Errorf("got %q; want %q", got, tc.want) + } + }) + } +} + +func TestDigits(t *testing.T) { + testCases := []struct { + f Formatter + scale int + want string + }{{ + f: Decimal(3), + scale: 0, + want: "digits:[3] exp:1 comma:0 end:1", + }, { + f: Decimal(3.1), + scale: 0, + want: "digits:[3] exp:1 comma:0 end:1", + }, { + f: Scientific(3.1), + scale: 0, + want: "digits:[3] exp:1 comma:1 end:1", + }, { + f: Scientific(3.1), + scale: 3, + want: "digits:[3 1] exp:1 comma:1 end:4", + }} + for _, tc := range testCases { + t.Run("", func(t *testing.T) { + d := tc.f.Digits(nil, language.Croatian, tc.scale) + got := fmt.Sprintf("digits:%d exp:%d comma:%d end:%d", d.Digits, d.Exp, d.Comma, d.End) + if got != tc.want { + t.Errorf("got %v; want %v", got, tc.want) + } + }) + } +} + +func TestPluralIntegration(t *testing.T) { + testCases := []struct { + f Formatter + want string + }{{ + f: Decimal(1), + want: "one: 1", + }, { + f: Decimal(5), + want: "other: 5", + }} + for _, tc := range testCases { + t.Run("", func(t *testing.T) { + message.Set(language.English, "num %f", plural.Selectf(1, "%f", + "one", "one: %f", + "other", "other: %f")) + + p := message.NewPrinter(language.English) + + got := p.Sprintf("num %f", tc.f) + if got != tc.want { + t.Errorf("got %v; want %v", got, tc.want) + } + }) + } +} diff --git a/vendor/golang.org/x/text/number/number.go b/vendor/golang.org/x/text/number/number.go new file mode 100755 index 000000000..f5ca93b15 --- /dev/null +++ b/vendor/golang.org/x/text/number/number.go @@ -0,0 +1,77 @@ +// Copyright 2017 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 number + +// TODO: +// p.Printf("The gauge was at %v.", number.Spell(number.Percent(23))) +// // Prints: The gauge was at twenty-three percent. +// +// p.Printf("From here to %v!", number.Spell(math.Inf())) +// // Prints: From here to infinity! +// + +import ( + "golang.org/x/text/internal/number" +) + +const ( + decimalVerbs = "vfgd" + scientificVerbs = "veg" +) + +// Decimal formats a number as a floating point decimal. +func Decimal(x interface{}, opts ...Option) Formatter { + return newFormatter(decimalOptions, opts, x) +} + +var decimalOptions = newOptions(decimalVerbs, (*number.Formatter).InitDecimal) + +// Scientific formats a number in scientific format. +func Scientific(x interface{}, opts ...Option) Formatter { + return newFormatter(scientificOptions, opts, x) +} + +var scientificOptions = newOptions(scientificVerbs, (*number.Formatter).InitScientific) + +// Engineering formats a number using engineering notation, which is like +// scientific notation, but with the exponent normalized to multiples of 3. +func Engineering(x interface{}, opts ...Option) Formatter { + return newFormatter(engineeringOptions, opts, x) +} + +var engineeringOptions = newOptions(scientificVerbs, (*number.Formatter).InitEngineering) + +// Percent formats a number as a percentage. A value of 1.0 means 100%. +func Percent(x interface{}, opts ...Option) Formatter { + return newFormatter(percentOptions, opts, x) +} + +var percentOptions = newOptions(decimalVerbs, (*number.Formatter).InitPercent) + +// PerMille formats a number as a per mille indication. A value of 1.0 means +// 1000‰. +func PerMille(x interface{}, opts ...Option) Formatter { + return newFormatter(perMilleOptions, opts, x) +} + +var perMilleOptions = newOptions(decimalVerbs, (*number.Formatter).InitPerMille) + +// TODO: +// - Shortest: akin to verb 'g' of 'G' +// +// TODO: RBNF forms: +// - Compact: 1M 3.5T +// - CompactBinary: 1Mi 3.5Ti +// - Long: 1 million +// - Ordinal: +// - Roman: MCMIIXX +// - RomanSmall: mcmiixx +// - Text: numbers as it typically appears in running text, allowing +// language-specific choices for when to use numbers and when to use words. +// - Spell?: spelled-out number. Maybe just allow as an option? + +// NOTE: both spelled-out numbers and ordinals, to render correctly, need +// detailed linguistic information from the translated string into which they +// are substituted. We will need to implement that first. diff --git a/vendor/golang.org/x/text/number/number_test.go b/vendor/golang.org/x/text/number/number_test.go new file mode 100644 index 000000000..96b1acb52 --- /dev/null +++ b/vendor/golang.org/x/text/number/number_test.go @@ -0,0 +1,190 @@ +// Copyright 2017 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 number + +import ( + "strings" + "testing" + + "golang.org/x/text/language" + "golang.org/x/text/message" +) + +func TestFormatter(t *testing.T) { + overrides := map[string]string{ + "en": "*e#######0", + "nl": "*n#######0", + } + testCases := []struct { + desc string + tag string + f Formatter + want string + }{{ + desc: "decimal", + f: Decimal(3), + want: "3", + }, { + desc: "decimal fraction", + f: Decimal(0.123), + want: "0.123", + }, { + desc: "separators", + f: Decimal(1234.567), + want: "1,234.567", + }, { + desc: "no separators", + f: Decimal(1234.567, NoSeparator()), + want: "1234.567", + }, { + desc: "max integer", + f: Decimal(1973, MaxIntegerDigits(2)), + want: "73", + }, { + desc: "max integer overflow", + f: Decimal(1973, MaxIntegerDigits(1000)), + want: "1,973", + }, { + desc: "min integer", + f: Decimal(12, MinIntegerDigits(5)), + want: "00,012", + }, { + desc: "max fraction zero", + f: Decimal(0.12345, MaxFractionDigits(0)), + want: "0", + }, { + desc: "max fraction 2", + f: Decimal(0.12, MaxFractionDigits(2)), + want: "0.12", + }, { + desc: "min fraction 2", + f: Decimal(0.12, MaxFractionDigits(2)), + want: "0.12", + }, { + desc: "max fraction overflow", + f: Decimal(0.123, MaxFractionDigits(1e6)), + want: "0.123", + }, { + desc: "min integer overflow", + f: Decimal(0, MinIntegerDigits(1e6)), + want: strings.Repeat("000,", 255/3-1) + "000", + }, { + desc: "min fraction overflow", + f: Decimal(0, MinFractionDigits(1e6)), + want: "0." + strings.Repeat("0", 255), // TODO: fraction separators + }, { + desc: "format width", + f: Decimal(123, FormatWidth(10)), + want: " 123", + }, { + desc: "format width pad option before", + f: Decimal(123, Pad('*'), FormatWidth(10)), + want: "*******123", + }, { + desc: "format width pad option after", + f: Decimal(123, FormatWidth(10), Pad('*')), + want: "*******123", + }, { + desc: "format width illegal", + f: Decimal(123, FormatWidth(-1)), + want: "123", + }, { + desc: "increment", + f: Decimal(10.33, IncrementString("0.5")), + want: "10.5", + }, { + desc: "increment", + f: Decimal(10, IncrementString("ppp")), + want: "10", + }, { + desc: "increment and scale", + f: Decimal(10.33, IncrementString("0.5"), Scale(2)), + want: "10.50", + }, { + desc: "pattern overrides en", + tag: "en", + f: Decimal(101, PatternOverrides(overrides)), + want: "eeeee101", + }, { + desc: "pattern overrides nl", + tag: "nl", + f: Decimal(101, PatternOverrides(overrides)), + want: "nnnnn101", + }, { + desc: "pattern overrides de", + tag: "de", + f: Decimal(101, PatternOverrides(overrides)), + want: "101", + }, { + desc: "language selection", + tag: "bn", + f: Decimal(123456.78, Scale(2)), + want: "১,২৩,৪৫৬.৭৮", + }, { + desc: "scale", + f: Decimal(1234.567, Scale(2)), + want: "1,234.57", + }, { + desc: "scientific", + f: Scientific(3.00), + want: "3\u202f×\u202f10⁰", + }, { + desc: "scientific", + f: Scientific(1234), + want: "1.234\u202f×\u202f10³", + }, { + desc: "scientific", + f: Scientific(1234, Scale(2)), + want: "1.23\u202f×\u202f10³", + }, { + desc: "engineering", + f: Engineering(12345), + want: "12.345\u202f×\u202f10³", + }, { + desc: "engineering scale", + f: Engineering(12345, Scale(2)), + want: "12.34\u202f×\u202f10³", + }, { + desc: "engineering precision(4)", + f: Engineering(12345, Precision(4)), + want: "12.34\u202f×\u202f10³", + }, { + desc: "engineering precision(2)", + f: Engineering(1234.5, Precision(2)), + want: "1.2\u202f×\u202f10³", + }, { + desc: "percent", + f: Percent(0.12), + want: "12%", + }, { + desc: "permille", + f: PerMille(0.123), + want: "123‰", + }, { + desc: "percent rounding", + f: PerMille(0.12345), + want: "123‰", + }, { + desc: "percent fraction", + f: PerMille(0.12345, Scale(2)), + want: "123.45‰", + }, { + desc: "percent fraction", + f: PerMille(0.12345, Scale(1)), + want: "123.4‰", + }} + for _, tc := range testCases { + t.Run(tc.desc, func(t *testing.T) { + tag := language.Und + if tc.tag != "" { + tag = language.MustParse(tc.tag) + } + got := message.NewPrinter(tag).Sprint(tc.f) + if got != tc.want { + t.Errorf("got %q; want %q", got, tc.want) + } + }) + } +} diff --git a/vendor/golang.org/x/text/number/option.go b/vendor/golang.org/x/text/number/option.go new file mode 100644 index 000000000..de96f8eaa --- /dev/null +++ b/vendor/golang.org/x/text/number/option.go @@ -0,0 +1,177 @@ +// Copyright 2017 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 number + +import ( + "fmt" + + "golang.org/x/text/internal/number" + "golang.org/x/text/language" +) + +// An Option configures a Formatter. +type Option option + +type option func(tag language.Tag, f *number.Formatter) + +// TODO: SpellOut requires support of the ICU RBNF format. +// func SpellOut() Option + +// NoSeparator causes a number to be displayed without grouping separators. +func NoSeparator() Option { + return func(t language.Tag, f *number.Formatter) { + f.GroupingSize = [2]uint8{} + } +} + +// MaxIntegerDigits limits the number of integer digits, eliminating the +// most significant digits. +func MaxIntegerDigits(max int) Option { + return func(t language.Tag, f *number.Formatter) { + if max >= 1<<8 { + max = (1 << 8) - 1 + } + f.MaxIntegerDigits = uint8(max) + } +} + +// MinIntegerDigits specifies the minimum number of integer digits, adding +// leading zeros when needed. +func MinIntegerDigits(min int) Option { + return func(t language.Tag, f *number.Formatter) { + if min >= 1<<8 { + min = (1 << 8) - 1 + } + f.MinIntegerDigits = uint8(min) + } +} + +// MaxFractionDigits specifies the maximum number of fractional digits. +func MaxFractionDigits(max int) Option { + return func(t language.Tag, f *number.Formatter) { + if max >= 1<<15 { + max = (1 << 15) - 1 + } + f.MaxFractionDigits = int16(max) + } +} + +// MinFractionDigits specifies the minimum number of fractional digits. +func MinFractionDigits(min int) Option { + return func(t language.Tag, f *number.Formatter) { + if min >= 1<<8 { + min = (1 << 8) - 1 + } + f.MinFractionDigits = uint8(min) + } +} + +// Precision sets the maximum number of significant digits. A negative value +// means exact. +func Precision(prec int) Option { + return func(t language.Tag, f *number.Formatter) { + f.SetPrecision(prec) + } +} + +// Scale simultaneously sets MinFractionDigits and MaxFractionDigits to the +// given value. +func Scale(decimals int) Option { + return func(t language.Tag, f *number.Formatter) { + f.SetScale(decimals) + } +} + +// IncrementString sets the incremental value to which numbers should be +// rounded. For instance: Increment("0.05") will cause 1.44 to round to 1.45. +// IncrementString also sets scale to the scale of the increment. +func IncrementString(decimal string) Option { + increment := 0 + scale := 0 + d := decimal + p := 0 + for ; p < len(d) && '0' <= d[p] && d[p] <= '9'; p++ { + increment *= 10 + increment += int(d[p]) - '0' + } + if p < len(d) && d[p] == '.' { + for p++; p < len(d) && '0' <= d[p] && d[p] <= '9'; p++ { + increment *= 10 + increment += int(d[p]) - '0' + scale++ + } + } + if p < len(d) { + increment = 0 + scale = 0 + } + return func(t language.Tag, f *number.Formatter) { + f.Increment = uint32(increment) + f.IncrementScale = uint8(scale) + f.SetScale(scale) + } +} + +func noop(language.Tag, *number.Formatter) {} + +// PatternOverrides allows users to specify alternative patterns for specific +// languages. The Pattern will be overridden for all languages in a subgroup as +// well. The function will panic for invalid input. It is best to create this +// option at startup time. +// PatternOverrides must be the first Option passed to a formatter. +func PatternOverrides(patterns map[string]string) Option { + // TODO: make it so that it does not have to be the first option. + // TODO: use -x-nochild to indicate it does not override child tags. + m := map[language.Tag]*number.Pattern{} + for k, v := range patterns { + tag := language.MustParse(k) + p, err := number.ParsePattern(v) + if err != nil { + panic(fmt.Errorf("number: PatternOverrides: %v", err)) + } + m[tag] = p + } + return func(t language.Tag, f *number.Formatter) { + // TODO: Use language grouping relation instead of parent relation. + // TODO: Should parent implement the grouping relation? + for lang := t; ; lang = t.Parent() { + if p, ok := m[lang]; ok { + f.Pattern = *p + break + } + if lang == language.Und { + break + } + } + } +} + +// FormatWidth sets the total format width. +func FormatWidth(n int) Option { + if n <= 0 { + return noop + } + return func(t language.Tag, f *number.Formatter) { + f.FormatWidth = uint16(n) + if f.PadRune == 0 { + f.PadRune = ' ' + } + } +} + +// Pad sets the rune to be used for filling up to the format width. +func Pad(r rune) Option { + return func(t language.Tag, f *number.Formatter) { + f.PadRune = r + } +} + +// TODO: +// - FormatPosition (using type aliasing?) +// - Multiplier: find a better way to represent and figure out what to do +// with clashes with percent/permille. +// - NumberingSystem(nu string): not accessable in number.Info now. Also, should +// this be keyed by language or generic? +// - SymbolOverrides(symbols map[string]map[number.SymbolType]string) Option diff --git a/vendor/golang.org/x/text/secure/bidirule/bidirule.go b/vendor/golang.org/x/text/secure/bidirule/bidirule.go index a7161bdd9..0e6b85824 100644 --- a/vendor/golang.org/x/text/secure/bidirule/bidirule.go +++ b/vendor/golang.org/x/text/secure/bidirule/bidirule.go @@ -155,6 +155,7 @@ func DirectionString(s string) bidi.Direction { e, sz := bidi.LookupString(s[i:]) if sz == 0 { i++ + continue } c := e.Class() if c == bidi.R || c == bidi.AL || c == bidi.AN { @@ -203,9 +204,6 @@ func (t *Transformer) isRTL() bool { } func (t *Transformer) isFinal() bool { - if !t.isRTL() { - return true - } return t.state == ruleLTRFinal || t.state == ruleRTLFinal || t.state == ruleInitial } diff --git a/vendor/golang.org/x/text/secure/bidirule/bidirule_test.go b/vendor/golang.org/x/text/secure/bidirule/bidirule_test.go index 0794b3d7d..4b6c612dc 100644 --- a/vendor/golang.org/x/text/secure/bidirule/bidirule_test.go +++ b/vendor/golang.org/x/text/secure/bidirule/bidirule_test.go @@ -120,43 +120,53 @@ var testCases = [][]ruleTest{ }, { in: strEN, dir: bidi.LeftToRight, - err: nil, // not an RTL string + err: ErrInvalid, + n: len(strEN), }, { in: strES, dir: bidi.LeftToRight, - err: nil, // not an RTL string + err: ErrInvalid, + n: len(strES), }, { in: strET, dir: bidi.LeftToRight, - err: nil, // not an RTL string + err: ErrInvalid, + n: len(strET), }, { in: strCS, dir: bidi.LeftToRight, - err: nil, // not an RTL string + err: ErrInvalid, + n: len(strCS), }, { in: strNSM, dir: bidi.LeftToRight, - err: nil, // not an RTL string + err: ErrInvalid, + n: len(strNSM), }, { in: strBN, dir: bidi.LeftToRight, - err: nil, // not an RTL string + err: ErrInvalid, + n: len(strBN), }, { in: strB, dir: bidi.LeftToRight, - err: nil, // not an RTL string + err: ErrInvalid, + n: len(strB), }, { in: strS, dir: bidi.LeftToRight, - err: nil, // not an RTL string + err: ErrInvalid, + n: len(strS), }, { in: strWS, dir: bidi.LeftToRight, - err: nil, // not an RTL string + err: ErrInvalid, + n: len(strWS), }, { in: strON, dir: bidi.LeftToRight, - err: nil, // not an RTL string + err: ErrInvalid, + n: len(strON), }, { in: strEN + strR, dir: bidi.RightToLeft, @@ -506,8 +516,8 @@ var testCases = [][]ruleTest{ }, { in: strL + strB + strL, dir: bidi.LeftToRight, - n: len(strL + strAN + strL), - err: nil, + n: len(strL + strB + strL), + err: ErrInvalid, }, { in: strL + strB + strL + strR, dir: bidi.RightToLeft, @@ -517,7 +527,7 @@ var testCases = [][]ruleTest{ in: strL + strS + strL, dir: bidi.LeftToRight, n: len(strL + strS + strL), - err: nil, + err: ErrInvalid, }, { in: strL + strS + strL + strR, dir: bidi.RightToLeft, @@ -527,7 +537,7 @@ var testCases = [][]ruleTest{ in: strL + strWS + strL, dir: bidi.LeftToRight, n: len(strL + strWS + strL), - err: nil, + err: ErrInvalid, }, { in: strL + strWS + strL + strR, dir: bidi.RightToLeft, @@ -560,7 +570,7 @@ var testCases = [][]ruleTest{ in: strL + strES, dir: bidi.LeftToRight, n: len(strL + strES), - err: nil, + err: ErrInvalid, }, { in: strL + strES + strR, dir: bidi.RightToLeft, @@ -570,7 +580,7 @@ var testCases = [][]ruleTest{ in: strL + strCS, dir: bidi.LeftToRight, n: len(strL + strCS), - err: nil, + err: ErrInvalid, }, { in: strL + strCS + strR, dir: bidi.RightToLeft, @@ -580,7 +590,7 @@ var testCases = [][]ruleTest{ in: strL + strET, dir: bidi.LeftToRight, n: len(strL + strET), - err: nil, + err: ErrInvalid, }, { in: strL + strET + strR, dir: bidi.RightToLeft, @@ -590,7 +600,7 @@ var testCases = [][]ruleTest{ in: strL + strON, dir: bidi.LeftToRight, n: len(strL + strON), - err: nil, + err: ErrInvalid, }, { in: strL + strON + strR, dir: bidi.RightToLeft, @@ -600,7 +610,7 @@ var testCases = [][]ruleTest{ in: strL + strBN, dir: bidi.LeftToRight, n: len(strL + strBN), - err: nil, + err: ErrInvalid, }, { in: strL + strBN + strR, dir: bidi.RightToLeft, @@ -625,31 +635,31 @@ var testCases = [][]ruleTest{ in: strL + strB, dir: bidi.LeftToRight, n: len(strL + strB), - err: nil, + err: ErrInvalid, }, { in: strL + strB + strR, dir: bidi.RightToLeft, n: len(strL + strB), err: ErrInvalid, }, { - in: strL + strB, + in: strL + strS, dir: bidi.LeftToRight, - n: len(strL + strB), - err: nil, - }, { - in: strL + strB + strR, - dir: bidi.RightToLeft, - n: len(strL + strB), + n: len(strL + strS), err: ErrInvalid, }, { - in: strL + strB, - dir: bidi.LeftToRight, - n: len(strL + strB), - err: nil, - }, { - in: strL + strB + strR, + in: strL + strS + strR, dir: bidi.RightToLeft, - n: len(strL + strB), + n: len(strL + strS), + err: ErrInvalid, + }, { + in: strL + strWS, + dir: bidi.LeftToRight, + n: len(strL + strWS), + err: ErrInvalid, + }, { + in: strL + strWS + strR, + dir: bidi.RightToLeft, + n: len(strL + strWS), err: ErrInvalid, }}, @@ -687,6 +697,11 @@ var testCases = [][]ruleTest{ szDst: 5, nSrc: 5, err0: transform.ErrShortDst, + }, { + in: "\U000102f7", + dir: bidi.LeftToRight, + n: len("\U000102f7"), + err: ErrInvalid, }, { // Short destination splitting input rune in: "e\u0301", @@ -696,6 +711,17 @@ var testCases = [][]ruleTest{ szDst: 2, nSrc: 1, err0: transform.ErrShortDst, + }, { + // Unicode 10.0.0 IDNA test string. + in: "FAX\u2a77\U0001d186", + dir: bidi.LeftToRight, + n: len("FAX\u2a77\U0001d186"), + err: ErrInvalid, + }, { + in: "\x80\u0660", + dir: bidi.RightToLeft, + n: 0, + err: ErrInvalid, }}, } diff --git a/vendor/golang.org/x/text/secure/precis/enforce_test.go b/vendor/golang.org/x/text/secure/precis/enforce_test.go index d36a9809c..b54662758 100644 --- a/vendor/golang.org/x/text/secure/precis/enforce_test.go +++ b/vendor/golang.org/x/text/secure/precis/enforce_test.go @@ -210,27 +210,27 @@ var enforceTestCases = []struct { {"\u03D2", "", errDisallowedRune}, {"\u03B0", "\u03B0", nil}, {"foo bar", "", errDisallowedRune}, - {"♚", "", errDisallowedRune}, + {"♚", "", bidirule.ErrInvalid}, {"\u007E", "~", nil}, {"a", "a", nil}, {"!", "!", nil}, - {"²", "", errDisallowedRune}, + {"²", "", bidirule.ErrInvalid}, {"\t", "", errDisallowedRune}, {"\n", "", errDisallowedRune}, - {"\u26D6", "", errDisallowedRune}, - {"\u26FF", "", errDisallowedRune}, + {"\u26D6", "", bidirule.ErrInvalid}, + {"\u26FF", "", bidirule.ErrInvalid}, {"\uFB00", "", errDisallowedRune}, - {"\u1680", "", errDisallowedRune}, + {"\u1680", "", bidirule.ErrInvalid}, {" ", "", errDisallowedRune}, {" ", "", errDisallowedRune}, {"\u01C5", "", errDisallowedRune}, - {"\u16EE", "", errDisallowedRune}, // Nl RUNIC ARLAUG SYMBOL - {"\u0488", "", errDisallowedRune}, // Me COMBINING CYRILLIC HUNDRED THOUSANDS SIGN - {"\u212B", "\u00e5", nil}, // Angstrom sign, NFC -> U+00E5 - {"A\u030A", "å", nil}, // A + ring - {"\u00C5", "å", nil}, // A with ring - {"\u00E7", "ç", nil}, // c cedille - {"\u0063\u0327", "ç", nil}, // c + cedille + {"\u16EE", "", errDisallowedRune}, // Nl RUNIC ARLAUG SYMBOL + {"\u0488", "", bidirule.ErrInvalid}, // Me COMBINING CYRILLIC HUNDRED THOUSANDS SIGN + {"\u212B", "\u00e5", nil}, // Angstrom sign, NFC -> U+00E5 + {"A\u030A", "å", nil}, // A + ring + {"\u00C5", "å", nil}, // A with ring + {"\u00E7", "ç", nil}, // c cedille + {"\u0063\u0327", "ç", nil}, // c + cedille {"\u0158", "ř", nil}, {"\u0052\u030C", "ř", nil}, diff --git a/vendor/golang.org/x/text/secure/precis/tables.go b/vendor/golang.org/x/text/secure/precis/tables.go index 2f550c1ef..113d5d29e 100644 --- a/vendor/golang.org/x/text/secure/precis/tables.go +++ b/vendor/golang.org/x/text/secure/precis/tables.go @@ -3,7 +3,7 @@ package precis // UnicodeVersion is the Unicode version from which the tables in this package are derived. -const UnicodeVersion = "9.0.0" +const UnicodeVersion = "10.0.0" // 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 @@ -175,7 +175,7 @@ func (t *derivedPropertiesTrie) lookupStringUnsafe(s string) uint8 { return 0 } -// derivedPropertiesTrie. Total size: 25344 bytes (24.75 KiB). Checksum: c5b977d76d42d8a. +// derivedPropertiesTrie. Total size: 25920 bytes (25.31 KiB). Checksum: 25eb1c8ad0a9331f. type derivedPropertiesTrie struct{} func newDerivedPropertiesTrie(i int) *derivedPropertiesTrie { @@ -190,9 +190,9 @@ func (t *derivedPropertiesTrie) lookupValue(n uint32, b byte) uint8 { } } -// derivedPropertiesValues: 324 blocks, 20736 entries, 20736 bytes +// derivedPropertiesValues: 331 blocks, 21184 entries, 21184 bytes // The third block is the zero block. -var derivedPropertiesValues = [20736]uint8{ +var derivedPropertiesValues = [21184]uint8{ // Block 0x0, offset 0x0 0x00: 0x0040, 0x01: 0x0040, 0x02: 0x0040, 0x03: 0x0040, 0x04: 0x0040, 0x05: 0x0040, 0x06: 0x0040, 0x07: 0x0040, 0x08: 0x0040, 0x09: 0x0040, 0x0a: 0x0040, 0x0b: 0x0040, @@ -531,7 +531,9 @@ var derivedPropertiesValues = [20736]uint8{ 0x74c: 0x00c2, 0x74d: 0x00c2, 0x74e: 0x00c2, 0x74f: 0x00c2, 0x750: 0x00c2, 0x751: 0x00c2, 0x752: 0x00c2, 0x753: 0x00c2, 0x754: 0x00c4, 0x755: 0x00c2, 0x756: 0x00c0, 0x757: 0x00c0, 0x758: 0x00c0, 0x759: 0x00c3, 0x75a: 0x00c3, 0x75b: 0x00c3, - 0x75e: 0x0080, + 0x75e: 0x0080, 0x760: 0x00c2, 0x761: 0x00c0, 0x762: 0x00c2, 0x763: 0x00c2, + 0x764: 0x00c2, 0x765: 0x00c2, 0x766: 0x00c0, 0x767: 0x00c4, 0x768: 0x00c2, 0x769: 0x00c4, + 0x76a: 0x00c4, // Block 0x1e, offset 0x780 0x7a0: 0x00c2, 0x7a1: 0x00c2, 0x7a2: 0x00c2, 0x7a3: 0x00c2, 0x7a4: 0x00c2, 0x7a5: 0x00c2, 0x7a6: 0x00c2, 0x7a7: 0x00c2, 0x7a8: 0x00c2, 0x7a9: 0x00c2, @@ -595,6 +597,7 @@ var derivedPropertiesValues = [20736]uint8{ 0x8ea: 0x00c0, 0x8eb: 0x00c0, 0x8ec: 0x00c0, 0x8ed: 0x00c0, 0x8ee: 0x00c0, 0x8ef: 0x00c0, 0x8f0: 0x00c0, 0x8f1: 0x00c0, 0x8f2: 0x0080, 0x8f3: 0x0080, 0x8f4: 0x0080, 0x8f5: 0x0080, 0x8f6: 0x0080, 0x8f7: 0x0080, 0x8f8: 0x0080, 0x8f9: 0x0080, 0x8fa: 0x0080, 0x8fb: 0x0080, + 0x8fc: 0x00c0, 0x8fd: 0x0080, // Block 0x24, offset 0x900 0x901: 0x00c3, 0x902: 0x00c3, 0x903: 0x00c0, 0x905: 0x00c0, 0x906: 0x00c0, 0x907: 0x00c0, 0x908: 0x00c0, 0x909: 0x00c0, 0x90a: 0x00c0, @@ -636,7 +639,8 @@ var derivedPropertiesValues = [20736]uint8{ 0x9e6: 0x00c0, 0x9e7: 0x00c0, 0x9e8: 0x00c0, 0x9e9: 0x00c0, 0x9ea: 0x00c0, 0x9eb: 0x00c0, 0x9ec: 0x00c0, 0x9ed: 0x00c0, 0x9ee: 0x00c0, 0x9ef: 0x00c0, 0x9f0: 0x0080, 0x9f1: 0x0080, - 0x9f9: 0x00c0, + 0x9f9: 0x00c0, 0x9fa: 0x00c3, 0x9fb: 0x00c3, + 0x9fc: 0x00c3, 0x9fd: 0x00c3, 0x9fe: 0x00c3, 0x9ff: 0x00c3, // Block 0x28, offset 0xa00 0xa01: 0x00c3, 0xa02: 0x00c0, 0xa03: 0x00c0, 0xa05: 0x00c0, 0xa06: 0x00c0, 0xa07: 0x00c0, 0xa08: 0x00c0, 0xa09: 0x00c0, 0xa0a: 0x00c0, 0xa0b: 0x00c0, @@ -726,7 +730,7 @@ var derivedPropertiesValues = [20736]uint8{ 0xbea: 0x00c0, 0xbeb: 0x00c0, 0xbec: 0x00c0, 0xbed: 0x00c0, 0xbee: 0x00c0, 0xbef: 0x00c0, 0xbf1: 0x00c0, 0xbf2: 0x00c0, // Block 0x30, offset 0xc00 - 0xc01: 0x00c3, 0xc02: 0x00c0, 0xc03: 0x00c0, 0xc05: 0x00c0, + 0xc00: 0x00c3, 0xc01: 0x00c3, 0xc02: 0x00c0, 0xc03: 0x00c0, 0xc05: 0x00c0, 0xc06: 0x00c0, 0xc07: 0x00c0, 0xc08: 0x00c0, 0xc09: 0x00c0, 0xc0a: 0x00c0, 0xc0b: 0x00c0, 0xc0c: 0x00c0, 0xc0e: 0x00c0, 0xc0f: 0x00c0, 0xc10: 0x00c0, 0xc12: 0x00c0, 0xc13: 0x00c0, 0xc14: 0x00c0, 0xc15: 0x00c0, 0xc16: 0x00c0, 0xc17: 0x00c0, @@ -735,8 +739,8 @@ var derivedPropertiesValues = [20736]uint8{ 0xc24: 0x00c0, 0xc25: 0x00c0, 0xc26: 0x00c0, 0xc27: 0x00c0, 0xc28: 0x00c0, 0xc29: 0x00c0, 0xc2a: 0x00c0, 0xc2b: 0x00c0, 0xc2c: 0x00c0, 0xc2d: 0x00c0, 0xc2e: 0x00c0, 0xc2f: 0x00c0, 0xc30: 0x00c0, 0xc31: 0x00c0, 0xc32: 0x00c0, 0xc33: 0x00c0, 0xc34: 0x00c0, 0xc35: 0x00c0, - 0xc36: 0x00c0, 0xc37: 0x00c0, 0xc38: 0x00c0, 0xc39: 0x00c0, 0xc3a: 0x00c0, - 0xc3d: 0x00c0, 0xc3e: 0x00c0, 0xc3f: 0x00c0, + 0xc36: 0x00c0, 0xc37: 0x00c0, 0xc38: 0x00c0, 0xc39: 0x00c0, 0xc3a: 0x00c0, 0xc3b: 0x00c6, + 0xc3c: 0x00c6, 0xc3d: 0x00c0, 0xc3e: 0x00c0, 0xc3f: 0x00c0, // Block 0x31, offset 0xc40 0xc40: 0x00c0, 0xc41: 0x00c3, 0xc42: 0x00c3, 0xc43: 0x00c3, 0xc44: 0x00c3, 0xc46: 0x00c0, 0xc47: 0x00c0, 0xc48: 0x00c0, 0xc4a: 0x00c0, 0xc4b: 0x00c0, @@ -1292,7 +1296,7 @@ var derivedPropertiesValues = [20736]uint8{ 0x18a4: 0x00c3, 0x18a5: 0x00c3, 0x18a6: 0x00c3, 0x18a7: 0x00c3, 0x18a8: 0x00c3, 0x18a9: 0x00c0, 0x18aa: 0x00c0, 0x18ab: 0x00c0, 0x18ac: 0x00c0, 0x18ad: 0x00c3, 0x18ae: 0x00c0, 0x18af: 0x00c0, 0x18b0: 0x00c0, 0x18b1: 0x00c0, 0x18b2: 0x00c0, 0x18b3: 0x00c0, 0x18b4: 0x00c3, 0x18b5: 0x00c0, - 0x18b6: 0x00c0, 0x18b8: 0x00c3, 0x18b9: 0x00c3, + 0x18b6: 0x00c0, 0x18b7: 0x00c0, 0x18b8: 0x00c3, 0x18b9: 0x00c3, // Block 0x63, offset 0x18c0 0x18c0: 0x00c0, 0x18c1: 0x00c0, 0x18c2: 0x00c0, 0x18c3: 0x00c0, 0x18c4: 0x00c0, 0x18c5: 0x00c0, 0x18c6: 0x00c0, 0x18c7: 0x00c0, 0x18c8: 0x00c0, 0x18c9: 0x00c0, 0x18ca: 0x00c0, 0x18cb: 0x00c0, @@ -1339,7 +1343,7 @@ var derivedPropertiesValues = [20736]uint8{ 0x19a4: 0x00c3, 0x19a5: 0x00c3, 0x19a6: 0x00c3, 0x19a7: 0x00c3, 0x19a8: 0x00c3, 0x19a9: 0x00c3, 0x19aa: 0x00c3, 0x19ab: 0x00c3, 0x19ac: 0x00c3, 0x19ad: 0x00c3, 0x19ae: 0x00c3, 0x19af: 0x00c3, 0x19b0: 0x00c3, 0x19b1: 0x00c3, 0x19b2: 0x00c3, 0x19b3: 0x00c3, 0x19b4: 0x00c3, 0x19b5: 0x00c3, - 0x19bb: 0x00c3, + 0x19b6: 0x00c3, 0x19b7: 0x00c3, 0x19b8: 0x00c3, 0x19b9: 0x00c3, 0x19bb: 0x00c3, 0x19bc: 0x00c3, 0x19bd: 0x00c3, 0x19be: 0x00c3, 0x19bf: 0x00c3, // Block 0x67, offset 0x19c0 0x19c0: 0x00c0, 0x19c1: 0x00c0, 0x19c2: 0x00c0, 0x19c3: 0x00c0, 0x19c4: 0x00c0, 0x19c5: 0x00c0, @@ -1436,7 +1440,7 @@ var derivedPropertiesValues = [20736]uint8{ 0x1baa: 0x0080, 0x1bab: 0x0080, 0x1bac: 0x0080, 0x1bad: 0x0080, 0x1bae: 0x0080, 0x1baf: 0x0080, 0x1bb0: 0x0080, 0x1bb1: 0x0080, 0x1bb2: 0x0080, 0x1bb3: 0x0080, 0x1bb4: 0x0080, 0x1bb5: 0x0080, 0x1bb6: 0x0080, 0x1bb7: 0x0080, 0x1bb8: 0x0080, 0x1bb9: 0x0080, 0x1bba: 0x0080, 0x1bbb: 0x0080, - 0x1bbc: 0x0080, 0x1bbd: 0x0080, 0x1bbe: 0x0080, + 0x1bbc: 0x0080, 0x1bbd: 0x0080, 0x1bbe: 0x0080, 0x1bbf: 0x0080, // Block 0x6f, offset 0x1bc0 0x1bd0: 0x00c3, 0x1bd1: 0x00c3, 0x1bd2: 0x00c3, 0x1bd3: 0x00c3, 0x1bd4: 0x00c3, 0x1bd5: 0x00c3, 0x1bd6: 0x00c3, 0x1bd7: 0x00c3, @@ -1500,81 +1504,82 @@ var derivedPropertiesValues = [20736]uint8{ 0x1d12: 0x0080, 0x1d13: 0x0080, 0x1d14: 0x0080, 0x1d15: 0x0080, 0x1d16: 0x0080, 0x1d17: 0x0080, 0x1d18: 0x0080, 0x1d19: 0x0080, 0x1d1a: 0x0080, 0x1d1b: 0x0080, 0x1d1c: 0x0080, 0x1d1d: 0x0080, 0x1d1e: 0x0080, 0x1d1f: 0x0080, 0x1d20: 0x0080, 0x1d21: 0x0080, 0x1d22: 0x0080, 0x1d23: 0x0080, - 0x1d24: 0x0080, 0x1d25: 0x0080, 0x1d26: 0x0080, 0x1d27: 0x0080, 0x1d28: 0x0080, 0x1d29: 0x0080, - 0x1d2a: 0x0080, 0x1d2b: 0x0080, 0x1d2c: 0x0080, 0x1d2d: 0x0080, 0x1d2e: 0x0080, 0x1d2f: 0x0080, - 0x1d30: 0x0080, 0x1d31: 0x0080, 0x1d32: 0x0080, 0x1d33: 0x0080, 0x1d34: 0x0080, 0x1d35: 0x0080, - 0x1d36: 0x0080, 0x1d37: 0x0080, 0x1d38: 0x0080, 0x1d39: 0x0080, 0x1d3a: 0x0080, 0x1d3b: 0x0080, - 0x1d3c: 0x0080, 0x1d3d: 0x0080, 0x1d3e: 0x0080, + 0x1d24: 0x0080, 0x1d25: 0x0080, 0x1d26: 0x0080, // Block 0x75, offset 0x1d40 0x1d40: 0x0080, 0x1d41: 0x0080, 0x1d42: 0x0080, 0x1d43: 0x0080, 0x1d44: 0x0080, 0x1d45: 0x0080, - 0x1d46: 0x0080, 0x1d47: 0x0080, 0x1d48: 0x0080, 0x1d49: 0x0080, 0x1d4a: 0x0080, 0x1d4b: 0x0080, - 0x1d4c: 0x0080, 0x1d4d: 0x0080, 0x1d4e: 0x0080, 0x1d4f: 0x0080, 0x1d50: 0x0080, 0x1d51: 0x0080, - 0x1d52: 0x0080, 0x1d53: 0x0080, 0x1d54: 0x0080, 0x1d55: 0x0080, 0x1d56: 0x0080, 0x1d57: 0x0080, - 0x1d58: 0x0080, 0x1d59: 0x0080, 0x1d5a: 0x0080, 0x1d5b: 0x0080, 0x1d5c: 0x0080, 0x1d5d: 0x0080, - 0x1d5e: 0x0080, 0x1d5f: 0x0080, 0x1d60: 0x0080, 0x1d61: 0x0080, 0x1d62: 0x0080, 0x1d63: 0x0080, - 0x1d64: 0x0080, 0x1d65: 0x0080, 0x1d66: 0x0080, + 0x1d46: 0x0080, 0x1d47: 0x0080, 0x1d48: 0x0080, 0x1d49: 0x0080, 0x1d4a: 0x0080, + 0x1d60: 0x0080, 0x1d61: 0x0080, 0x1d62: 0x0080, 0x1d63: 0x0080, + 0x1d64: 0x0080, 0x1d65: 0x0080, 0x1d66: 0x0080, 0x1d67: 0x0080, 0x1d68: 0x0080, 0x1d69: 0x0080, + 0x1d6a: 0x0080, 0x1d6b: 0x0080, 0x1d6c: 0x0080, 0x1d6d: 0x0080, 0x1d6e: 0x0080, 0x1d6f: 0x0080, + 0x1d70: 0x0080, 0x1d71: 0x0080, 0x1d72: 0x0080, 0x1d73: 0x0080, 0x1d74: 0x0080, 0x1d75: 0x0080, + 0x1d76: 0x0080, 0x1d77: 0x0080, 0x1d78: 0x0080, 0x1d79: 0x0080, 0x1d7a: 0x0080, 0x1d7b: 0x0080, + 0x1d7c: 0x0080, 0x1d7d: 0x0080, 0x1d7e: 0x0080, 0x1d7f: 0x0080, // Block 0x76, offset 0x1d80 0x1d80: 0x0080, 0x1d81: 0x0080, 0x1d82: 0x0080, 0x1d83: 0x0080, 0x1d84: 0x0080, 0x1d85: 0x0080, - 0x1d86: 0x0080, 0x1d87: 0x0080, 0x1d88: 0x0080, 0x1d89: 0x0080, 0x1d8a: 0x0080, - 0x1da0: 0x0080, 0x1da1: 0x0080, 0x1da2: 0x0080, 0x1da3: 0x0080, + 0x1d86: 0x0080, 0x1d87: 0x0080, 0x1d88: 0x0080, 0x1d89: 0x0080, 0x1d8a: 0x0080, 0x1d8b: 0x0080, + 0x1d8c: 0x0080, 0x1d8d: 0x0080, 0x1d8e: 0x0080, 0x1d8f: 0x0080, 0x1d90: 0x0080, 0x1d91: 0x0080, + 0x1d92: 0x0080, 0x1d93: 0x0080, 0x1d94: 0x0080, 0x1d95: 0x0080, 0x1d96: 0x0080, 0x1d97: 0x0080, + 0x1d98: 0x0080, 0x1d99: 0x0080, 0x1d9a: 0x0080, 0x1d9b: 0x0080, 0x1d9c: 0x0080, 0x1d9d: 0x0080, + 0x1d9e: 0x0080, 0x1d9f: 0x0080, 0x1da0: 0x0080, 0x1da1: 0x0080, 0x1da2: 0x0080, 0x1da3: 0x0080, 0x1da4: 0x0080, 0x1da5: 0x0080, 0x1da6: 0x0080, 0x1da7: 0x0080, 0x1da8: 0x0080, 0x1da9: 0x0080, 0x1daa: 0x0080, 0x1dab: 0x0080, 0x1dac: 0x0080, 0x1dad: 0x0080, 0x1dae: 0x0080, 0x1daf: 0x0080, - 0x1db0: 0x0080, 0x1db1: 0x0080, 0x1db2: 0x0080, 0x1db3: 0x0080, 0x1db4: 0x0080, 0x1db5: 0x0080, + 0x1db0: 0x0080, 0x1db1: 0x0080, 0x1db2: 0x0080, 0x1db3: 0x0080, 0x1db6: 0x0080, 0x1db7: 0x0080, 0x1db8: 0x0080, 0x1db9: 0x0080, 0x1dba: 0x0080, 0x1dbb: 0x0080, 0x1dbc: 0x0080, 0x1dbd: 0x0080, 0x1dbe: 0x0080, 0x1dbf: 0x0080, // Block 0x77, offset 0x1dc0 0x1dc0: 0x0080, 0x1dc1: 0x0080, 0x1dc2: 0x0080, 0x1dc3: 0x0080, 0x1dc4: 0x0080, 0x1dc5: 0x0080, 0x1dc6: 0x0080, 0x1dc7: 0x0080, 0x1dc8: 0x0080, 0x1dc9: 0x0080, 0x1dca: 0x0080, 0x1dcb: 0x0080, 0x1dcc: 0x0080, 0x1dcd: 0x0080, 0x1dce: 0x0080, 0x1dcf: 0x0080, 0x1dd0: 0x0080, 0x1dd1: 0x0080, - 0x1dd2: 0x0080, 0x1dd3: 0x0080, 0x1dd4: 0x0080, 0x1dd5: 0x0080, 0x1dd6: 0x0080, 0x1dd7: 0x0080, + 0x1dd2: 0x0080, 0x1dd3: 0x0080, 0x1dd4: 0x0080, 0x1dd5: 0x0080, 0x1dd8: 0x0080, 0x1dd9: 0x0080, 0x1dda: 0x0080, 0x1ddb: 0x0080, 0x1ddc: 0x0080, 0x1ddd: 0x0080, 0x1dde: 0x0080, 0x1ddf: 0x0080, 0x1de0: 0x0080, 0x1de1: 0x0080, 0x1de2: 0x0080, 0x1de3: 0x0080, 0x1de4: 0x0080, 0x1de5: 0x0080, 0x1de6: 0x0080, 0x1de7: 0x0080, 0x1de8: 0x0080, 0x1de9: 0x0080, 0x1dea: 0x0080, 0x1deb: 0x0080, 0x1dec: 0x0080, 0x1ded: 0x0080, 0x1dee: 0x0080, 0x1def: 0x0080, - 0x1df0: 0x0080, 0x1df1: 0x0080, 0x1df2: 0x0080, 0x1df3: 0x0080, - 0x1df6: 0x0080, 0x1df7: 0x0080, 0x1df8: 0x0080, 0x1df9: 0x0080, 0x1dfa: 0x0080, 0x1dfb: 0x0080, - 0x1dfc: 0x0080, 0x1dfd: 0x0080, 0x1dfe: 0x0080, 0x1dff: 0x0080, + 0x1df0: 0x0080, 0x1df1: 0x0080, 0x1df2: 0x0080, 0x1df3: 0x0080, 0x1df4: 0x0080, 0x1df5: 0x0080, + 0x1df6: 0x0080, 0x1df7: 0x0080, 0x1df8: 0x0080, 0x1df9: 0x0080, + 0x1dfd: 0x0080, 0x1dfe: 0x0080, 0x1dff: 0x0080, // Block 0x78, offset 0x1e00 0x1e00: 0x0080, 0x1e01: 0x0080, 0x1e02: 0x0080, 0x1e03: 0x0080, 0x1e04: 0x0080, 0x1e05: 0x0080, - 0x1e06: 0x0080, 0x1e07: 0x0080, 0x1e08: 0x0080, 0x1e09: 0x0080, 0x1e0a: 0x0080, 0x1e0b: 0x0080, + 0x1e06: 0x0080, 0x1e07: 0x0080, 0x1e08: 0x0080, 0x1e0a: 0x0080, 0x1e0b: 0x0080, 0x1e0c: 0x0080, 0x1e0d: 0x0080, 0x1e0e: 0x0080, 0x1e0f: 0x0080, 0x1e10: 0x0080, 0x1e11: 0x0080, - 0x1e12: 0x0080, 0x1e13: 0x0080, 0x1e14: 0x0080, 0x1e15: 0x0080, - 0x1e18: 0x0080, 0x1e19: 0x0080, 0x1e1a: 0x0080, 0x1e1b: 0x0080, 0x1e1c: 0x0080, 0x1e1d: 0x0080, - 0x1e1e: 0x0080, 0x1e1f: 0x0080, 0x1e20: 0x0080, 0x1e21: 0x0080, 0x1e22: 0x0080, 0x1e23: 0x0080, - 0x1e24: 0x0080, 0x1e25: 0x0080, 0x1e26: 0x0080, 0x1e27: 0x0080, 0x1e28: 0x0080, 0x1e29: 0x0080, - 0x1e2a: 0x0080, 0x1e2b: 0x0080, 0x1e2c: 0x0080, 0x1e2d: 0x0080, 0x1e2e: 0x0080, 0x1e2f: 0x0080, - 0x1e30: 0x0080, 0x1e31: 0x0080, 0x1e32: 0x0080, 0x1e33: 0x0080, 0x1e34: 0x0080, 0x1e35: 0x0080, - 0x1e36: 0x0080, 0x1e37: 0x0080, 0x1e38: 0x0080, 0x1e39: 0x0080, - 0x1e3d: 0x0080, 0x1e3e: 0x0080, 0x1e3f: 0x0080, + 0x1e12: 0x0080, + 0x1e2c: 0x0080, 0x1e2d: 0x0080, 0x1e2e: 0x0080, 0x1e2f: 0x0080, // Block 0x79, offset 0x1e40 - 0x1e40: 0x0080, 0x1e41: 0x0080, 0x1e42: 0x0080, 0x1e43: 0x0080, 0x1e44: 0x0080, 0x1e45: 0x0080, - 0x1e46: 0x0080, 0x1e47: 0x0080, 0x1e48: 0x0080, 0x1e4a: 0x0080, 0x1e4b: 0x0080, - 0x1e4c: 0x0080, 0x1e4d: 0x0080, 0x1e4e: 0x0080, 0x1e4f: 0x0080, 0x1e50: 0x0080, 0x1e51: 0x0080, - 0x1e6c: 0x0080, 0x1e6d: 0x0080, 0x1e6e: 0x0080, 0x1e6f: 0x0080, + 0x1e40: 0x00c0, 0x1e41: 0x00c0, 0x1e42: 0x00c0, 0x1e43: 0x00c0, 0x1e44: 0x00c0, 0x1e45: 0x00c0, + 0x1e46: 0x00c0, 0x1e47: 0x00c0, 0x1e48: 0x00c0, 0x1e49: 0x00c0, 0x1e4a: 0x00c0, 0x1e4b: 0x00c0, + 0x1e4c: 0x00c0, 0x1e4d: 0x00c0, 0x1e4e: 0x00c0, 0x1e4f: 0x00c0, 0x1e50: 0x00c0, 0x1e51: 0x00c0, + 0x1e52: 0x00c0, 0x1e53: 0x00c0, 0x1e54: 0x00c0, 0x1e55: 0x00c0, 0x1e56: 0x00c0, 0x1e57: 0x00c0, + 0x1e58: 0x00c0, 0x1e59: 0x00c0, 0x1e5a: 0x00c0, 0x1e5b: 0x00c0, 0x1e5c: 0x00c0, 0x1e5d: 0x00c0, + 0x1e5e: 0x00c0, 0x1e5f: 0x00c0, 0x1e60: 0x00c0, 0x1e61: 0x00c0, 0x1e62: 0x00c0, 0x1e63: 0x00c0, + 0x1e64: 0x00c0, 0x1e65: 0x00c0, 0x1e66: 0x00c0, 0x1e67: 0x00c0, 0x1e68: 0x00c0, 0x1e69: 0x00c0, + 0x1e6a: 0x00c0, 0x1e6b: 0x00c0, 0x1e6c: 0x00c0, 0x1e6d: 0x00c0, 0x1e6e: 0x00c0, + 0x1e70: 0x00c0, 0x1e71: 0x00c0, 0x1e72: 0x00c0, 0x1e73: 0x00c0, 0x1e74: 0x00c0, 0x1e75: 0x00c0, + 0x1e76: 0x00c0, 0x1e77: 0x00c0, 0x1e78: 0x00c0, 0x1e79: 0x00c0, 0x1e7a: 0x00c0, 0x1e7b: 0x00c0, + 0x1e7c: 0x00c0, 0x1e7d: 0x00c0, 0x1e7e: 0x00c0, 0x1e7f: 0x00c0, // Block 0x7a, offset 0x1e80 0x1e80: 0x00c0, 0x1e81: 0x00c0, 0x1e82: 0x00c0, 0x1e83: 0x00c0, 0x1e84: 0x00c0, 0x1e85: 0x00c0, 0x1e86: 0x00c0, 0x1e87: 0x00c0, 0x1e88: 0x00c0, 0x1e89: 0x00c0, 0x1e8a: 0x00c0, 0x1e8b: 0x00c0, 0x1e8c: 0x00c0, 0x1e8d: 0x00c0, 0x1e8e: 0x00c0, 0x1e8f: 0x00c0, 0x1e90: 0x00c0, 0x1e91: 0x00c0, 0x1e92: 0x00c0, 0x1e93: 0x00c0, 0x1e94: 0x00c0, 0x1e95: 0x00c0, 0x1e96: 0x00c0, 0x1e97: 0x00c0, 0x1e98: 0x00c0, 0x1e99: 0x00c0, 0x1e9a: 0x00c0, 0x1e9b: 0x00c0, 0x1e9c: 0x00c0, 0x1e9d: 0x00c0, - 0x1e9e: 0x00c0, 0x1e9f: 0x00c0, 0x1ea0: 0x00c0, 0x1ea1: 0x00c0, 0x1ea2: 0x00c0, 0x1ea3: 0x00c0, + 0x1e9e: 0x00c0, 0x1ea0: 0x00c0, 0x1ea1: 0x00c0, 0x1ea2: 0x00c0, 0x1ea3: 0x00c0, 0x1ea4: 0x00c0, 0x1ea5: 0x00c0, 0x1ea6: 0x00c0, 0x1ea7: 0x00c0, 0x1ea8: 0x00c0, 0x1ea9: 0x00c0, - 0x1eaa: 0x00c0, 0x1eab: 0x00c0, 0x1eac: 0x00c0, 0x1ead: 0x00c0, 0x1eae: 0x00c0, + 0x1eaa: 0x00c0, 0x1eab: 0x00c0, 0x1eac: 0x00c0, 0x1ead: 0x00c0, 0x1eae: 0x00c0, 0x1eaf: 0x00c0, 0x1eb0: 0x00c0, 0x1eb1: 0x00c0, 0x1eb2: 0x00c0, 0x1eb3: 0x00c0, 0x1eb4: 0x00c0, 0x1eb5: 0x00c0, 0x1eb6: 0x00c0, 0x1eb7: 0x00c0, 0x1eb8: 0x00c0, 0x1eb9: 0x00c0, 0x1eba: 0x00c0, 0x1ebb: 0x00c0, - 0x1ebc: 0x00c0, 0x1ebd: 0x00c0, 0x1ebe: 0x00c0, 0x1ebf: 0x00c0, + 0x1ebc: 0x0080, 0x1ebd: 0x0080, 0x1ebe: 0x00c0, 0x1ebf: 0x00c0, // Block 0x7b, offset 0x1ec0 0x1ec0: 0x00c0, 0x1ec1: 0x00c0, 0x1ec2: 0x00c0, 0x1ec3: 0x00c0, 0x1ec4: 0x00c0, 0x1ec5: 0x00c0, 0x1ec6: 0x00c0, 0x1ec7: 0x00c0, 0x1ec8: 0x00c0, 0x1ec9: 0x00c0, 0x1eca: 0x00c0, 0x1ecb: 0x00c0, 0x1ecc: 0x00c0, 0x1ecd: 0x00c0, 0x1ece: 0x00c0, 0x1ecf: 0x00c0, 0x1ed0: 0x00c0, 0x1ed1: 0x00c0, 0x1ed2: 0x00c0, 0x1ed3: 0x00c0, 0x1ed4: 0x00c0, 0x1ed5: 0x00c0, 0x1ed6: 0x00c0, 0x1ed7: 0x00c0, 0x1ed8: 0x00c0, 0x1ed9: 0x00c0, 0x1eda: 0x00c0, 0x1edb: 0x00c0, 0x1edc: 0x00c0, 0x1edd: 0x00c0, - 0x1ede: 0x00c0, 0x1ee0: 0x00c0, 0x1ee1: 0x00c0, 0x1ee2: 0x00c0, 0x1ee3: 0x00c0, - 0x1ee4: 0x00c0, 0x1ee5: 0x00c0, 0x1ee6: 0x00c0, 0x1ee7: 0x00c0, 0x1ee8: 0x00c0, 0x1ee9: 0x00c0, - 0x1eea: 0x00c0, 0x1eeb: 0x00c0, 0x1eec: 0x00c0, 0x1eed: 0x00c0, 0x1eee: 0x00c0, 0x1eef: 0x00c0, - 0x1ef0: 0x00c0, 0x1ef1: 0x00c0, 0x1ef2: 0x00c0, 0x1ef3: 0x00c0, 0x1ef4: 0x00c0, 0x1ef5: 0x00c0, - 0x1ef6: 0x00c0, 0x1ef7: 0x00c0, 0x1ef8: 0x00c0, 0x1ef9: 0x00c0, 0x1efa: 0x00c0, 0x1efb: 0x00c0, - 0x1efc: 0x0080, 0x1efd: 0x0080, 0x1efe: 0x00c0, 0x1eff: 0x00c0, + 0x1ede: 0x00c0, 0x1edf: 0x00c0, 0x1ee0: 0x00c0, 0x1ee1: 0x00c0, 0x1ee2: 0x00c0, 0x1ee3: 0x00c0, + 0x1ee4: 0x00c0, 0x1ee5: 0x0080, 0x1ee6: 0x0080, 0x1ee7: 0x0080, 0x1ee8: 0x0080, 0x1ee9: 0x0080, + 0x1eea: 0x0080, 0x1eeb: 0x00c0, 0x1eec: 0x00c0, 0x1eed: 0x00c0, 0x1eee: 0x00c0, 0x1eef: 0x00c3, + 0x1ef0: 0x00c3, 0x1ef1: 0x00c3, 0x1ef2: 0x00c0, 0x1ef3: 0x00c0, + 0x1ef9: 0x0080, 0x1efa: 0x0080, 0x1efb: 0x0080, + 0x1efc: 0x0080, 0x1efd: 0x0080, 0x1efe: 0x0080, 0x1eff: 0x0080, // Block 0x7c, offset 0x1f00 0x1f00: 0x00c0, 0x1f01: 0x00c0, 0x1f02: 0x00c0, 0x1f03: 0x00c0, 0x1f04: 0x00c0, 0x1f05: 0x00c0, 0x1f06: 0x00c0, 0x1f07: 0x00c0, 0x1f08: 0x00c0, 0x1f09: 0x00c0, 0x1f0a: 0x00c0, 0x1f0b: 0x00c0, @@ -1582,11 +1587,11 @@ var derivedPropertiesValues = [20736]uint8{ 0x1f12: 0x00c0, 0x1f13: 0x00c0, 0x1f14: 0x00c0, 0x1f15: 0x00c0, 0x1f16: 0x00c0, 0x1f17: 0x00c0, 0x1f18: 0x00c0, 0x1f19: 0x00c0, 0x1f1a: 0x00c0, 0x1f1b: 0x00c0, 0x1f1c: 0x00c0, 0x1f1d: 0x00c0, 0x1f1e: 0x00c0, 0x1f1f: 0x00c0, 0x1f20: 0x00c0, 0x1f21: 0x00c0, 0x1f22: 0x00c0, 0x1f23: 0x00c0, - 0x1f24: 0x00c0, 0x1f25: 0x0080, 0x1f26: 0x0080, 0x1f27: 0x0080, 0x1f28: 0x0080, 0x1f29: 0x0080, - 0x1f2a: 0x0080, 0x1f2b: 0x00c0, 0x1f2c: 0x00c0, 0x1f2d: 0x00c0, 0x1f2e: 0x00c0, 0x1f2f: 0x00c3, - 0x1f30: 0x00c3, 0x1f31: 0x00c3, 0x1f32: 0x00c0, 0x1f33: 0x00c0, - 0x1f39: 0x0080, 0x1f3a: 0x0080, 0x1f3b: 0x0080, - 0x1f3c: 0x0080, 0x1f3d: 0x0080, 0x1f3e: 0x0080, 0x1f3f: 0x0080, + 0x1f24: 0x00c0, 0x1f25: 0x00c0, 0x1f27: 0x00c0, + 0x1f2d: 0x00c0, + 0x1f30: 0x00c0, 0x1f31: 0x00c0, 0x1f32: 0x00c0, 0x1f33: 0x00c0, 0x1f34: 0x00c0, 0x1f35: 0x00c0, + 0x1f36: 0x00c0, 0x1f37: 0x00c0, 0x1f38: 0x00c0, 0x1f39: 0x00c0, 0x1f3a: 0x00c0, 0x1f3b: 0x00c0, + 0x1f3c: 0x00c0, 0x1f3d: 0x00c0, 0x1f3e: 0x00c0, 0x1f3f: 0x00c0, // Block 0x7d, offset 0x1f40 0x1f40: 0x00c0, 0x1f41: 0x00c0, 0x1f42: 0x00c0, 0x1f43: 0x00c0, 0x1f44: 0x00c0, 0x1f45: 0x00c0, 0x1f46: 0x00c0, 0x1f47: 0x00c0, 0x1f48: 0x00c0, 0x1f49: 0x00c0, 0x1f4a: 0x00c0, 0x1f4b: 0x00c0, @@ -1594,71 +1599,70 @@ var derivedPropertiesValues = [20736]uint8{ 0x1f52: 0x00c0, 0x1f53: 0x00c0, 0x1f54: 0x00c0, 0x1f55: 0x00c0, 0x1f56: 0x00c0, 0x1f57: 0x00c0, 0x1f58: 0x00c0, 0x1f59: 0x00c0, 0x1f5a: 0x00c0, 0x1f5b: 0x00c0, 0x1f5c: 0x00c0, 0x1f5d: 0x00c0, 0x1f5e: 0x00c0, 0x1f5f: 0x00c0, 0x1f60: 0x00c0, 0x1f61: 0x00c0, 0x1f62: 0x00c0, 0x1f63: 0x00c0, - 0x1f64: 0x00c0, 0x1f65: 0x00c0, 0x1f67: 0x00c0, - 0x1f6d: 0x00c0, - 0x1f70: 0x00c0, 0x1f71: 0x00c0, 0x1f72: 0x00c0, 0x1f73: 0x00c0, 0x1f74: 0x00c0, 0x1f75: 0x00c0, - 0x1f76: 0x00c0, 0x1f77: 0x00c0, 0x1f78: 0x00c0, 0x1f79: 0x00c0, 0x1f7a: 0x00c0, 0x1f7b: 0x00c0, - 0x1f7c: 0x00c0, 0x1f7d: 0x00c0, 0x1f7e: 0x00c0, 0x1f7f: 0x00c0, + 0x1f64: 0x00c0, 0x1f65: 0x00c0, 0x1f66: 0x00c0, 0x1f67: 0x00c0, + 0x1f6f: 0x0080, + 0x1f70: 0x0080, + 0x1f7f: 0x00c6, // Block 0x7e, offset 0x1f80 0x1f80: 0x00c0, 0x1f81: 0x00c0, 0x1f82: 0x00c0, 0x1f83: 0x00c0, 0x1f84: 0x00c0, 0x1f85: 0x00c0, 0x1f86: 0x00c0, 0x1f87: 0x00c0, 0x1f88: 0x00c0, 0x1f89: 0x00c0, 0x1f8a: 0x00c0, 0x1f8b: 0x00c0, 0x1f8c: 0x00c0, 0x1f8d: 0x00c0, 0x1f8e: 0x00c0, 0x1f8f: 0x00c0, 0x1f90: 0x00c0, 0x1f91: 0x00c0, - 0x1f92: 0x00c0, 0x1f93: 0x00c0, 0x1f94: 0x00c0, 0x1f95: 0x00c0, 0x1f96: 0x00c0, 0x1f97: 0x00c0, - 0x1f98: 0x00c0, 0x1f99: 0x00c0, 0x1f9a: 0x00c0, 0x1f9b: 0x00c0, 0x1f9c: 0x00c0, 0x1f9d: 0x00c0, - 0x1f9e: 0x00c0, 0x1f9f: 0x00c0, 0x1fa0: 0x00c0, 0x1fa1: 0x00c0, 0x1fa2: 0x00c0, 0x1fa3: 0x00c0, - 0x1fa4: 0x00c0, 0x1fa5: 0x00c0, 0x1fa6: 0x00c0, 0x1fa7: 0x00c0, - 0x1faf: 0x0080, - 0x1fb0: 0x0080, - 0x1fbf: 0x00c6, + 0x1f92: 0x00c0, 0x1f93: 0x00c0, 0x1f94: 0x00c0, 0x1f95: 0x00c0, 0x1f96: 0x00c0, + 0x1fa0: 0x00c0, 0x1fa1: 0x00c0, 0x1fa2: 0x00c0, 0x1fa3: 0x00c0, + 0x1fa4: 0x00c0, 0x1fa5: 0x00c0, 0x1fa6: 0x00c0, 0x1fa8: 0x00c0, 0x1fa9: 0x00c0, + 0x1faa: 0x00c0, 0x1fab: 0x00c0, 0x1fac: 0x00c0, 0x1fad: 0x00c0, 0x1fae: 0x00c0, + 0x1fb0: 0x00c0, 0x1fb1: 0x00c0, 0x1fb2: 0x00c0, 0x1fb3: 0x00c0, 0x1fb4: 0x00c0, 0x1fb5: 0x00c0, + 0x1fb6: 0x00c0, 0x1fb8: 0x00c0, 0x1fb9: 0x00c0, 0x1fba: 0x00c0, 0x1fbb: 0x00c0, + 0x1fbc: 0x00c0, 0x1fbd: 0x00c0, 0x1fbe: 0x00c0, // Block 0x7f, offset 0x1fc0 0x1fc0: 0x00c0, 0x1fc1: 0x00c0, 0x1fc2: 0x00c0, 0x1fc3: 0x00c0, 0x1fc4: 0x00c0, 0x1fc5: 0x00c0, - 0x1fc6: 0x00c0, 0x1fc7: 0x00c0, 0x1fc8: 0x00c0, 0x1fc9: 0x00c0, 0x1fca: 0x00c0, 0x1fcb: 0x00c0, - 0x1fcc: 0x00c0, 0x1fcd: 0x00c0, 0x1fce: 0x00c0, 0x1fcf: 0x00c0, 0x1fd0: 0x00c0, 0x1fd1: 0x00c0, + 0x1fc6: 0x00c0, 0x1fc8: 0x00c0, 0x1fc9: 0x00c0, 0x1fca: 0x00c0, 0x1fcb: 0x00c0, + 0x1fcc: 0x00c0, 0x1fcd: 0x00c0, 0x1fce: 0x00c0, 0x1fd0: 0x00c0, 0x1fd1: 0x00c0, 0x1fd2: 0x00c0, 0x1fd3: 0x00c0, 0x1fd4: 0x00c0, 0x1fd5: 0x00c0, 0x1fd6: 0x00c0, - 0x1fe0: 0x00c0, 0x1fe1: 0x00c0, 0x1fe2: 0x00c0, 0x1fe3: 0x00c0, - 0x1fe4: 0x00c0, 0x1fe5: 0x00c0, 0x1fe6: 0x00c0, 0x1fe8: 0x00c0, 0x1fe9: 0x00c0, - 0x1fea: 0x00c0, 0x1feb: 0x00c0, 0x1fec: 0x00c0, 0x1fed: 0x00c0, 0x1fee: 0x00c0, - 0x1ff0: 0x00c0, 0x1ff1: 0x00c0, 0x1ff2: 0x00c0, 0x1ff3: 0x00c0, 0x1ff4: 0x00c0, 0x1ff5: 0x00c0, - 0x1ff6: 0x00c0, 0x1ff8: 0x00c0, 0x1ff9: 0x00c0, 0x1ffa: 0x00c0, 0x1ffb: 0x00c0, - 0x1ffc: 0x00c0, 0x1ffd: 0x00c0, 0x1ffe: 0x00c0, + 0x1fd8: 0x00c0, 0x1fd9: 0x00c0, 0x1fda: 0x00c0, 0x1fdb: 0x00c0, 0x1fdc: 0x00c0, 0x1fdd: 0x00c0, + 0x1fde: 0x00c0, 0x1fe0: 0x00c3, 0x1fe1: 0x00c3, 0x1fe2: 0x00c3, 0x1fe3: 0x00c3, + 0x1fe4: 0x00c3, 0x1fe5: 0x00c3, 0x1fe6: 0x00c3, 0x1fe7: 0x00c3, 0x1fe8: 0x00c3, 0x1fe9: 0x00c3, + 0x1fea: 0x00c3, 0x1feb: 0x00c3, 0x1fec: 0x00c3, 0x1fed: 0x00c3, 0x1fee: 0x00c3, 0x1fef: 0x00c3, + 0x1ff0: 0x00c3, 0x1ff1: 0x00c3, 0x1ff2: 0x00c3, 0x1ff3: 0x00c3, 0x1ff4: 0x00c3, 0x1ff5: 0x00c3, + 0x1ff6: 0x00c3, 0x1ff7: 0x00c3, 0x1ff8: 0x00c3, 0x1ff9: 0x00c3, 0x1ffa: 0x00c3, 0x1ffb: 0x00c3, + 0x1ffc: 0x00c3, 0x1ffd: 0x00c3, 0x1ffe: 0x00c3, 0x1fff: 0x00c3, // Block 0x80, offset 0x2000 - 0x2000: 0x00c0, 0x2001: 0x00c0, 0x2002: 0x00c0, 0x2003: 0x00c0, 0x2004: 0x00c0, 0x2005: 0x00c0, - 0x2006: 0x00c0, 0x2008: 0x00c0, 0x2009: 0x00c0, 0x200a: 0x00c0, 0x200b: 0x00c0, - 0x200c: 0x00c0, 0x200d: 0x00c0, 0x200e: 0x00c0, 0x2010: 0x00c0, 0x2011: 0x00c0, - 0x2012: 0x00c0, 0x2013: 0x00c0, 0x2014: 0x00c0, 0x2015: 0x00c0, 0x2016: 0x00c0, - 0x2018: 0x00c0, 0x2019: 0x00c0, 0x201a: 0x00c0, 0x201b: 0x00c0, 0x201c: 0x00c0, 0x201d: 0x00c0, - 0x201e: 0x00c0, 0x2020: 0x00c3, 0x2021: 0x00c3, 0x2022: 0x00c3, 0x2023: 0x00c3, - 0x2024: 0x00c3, 0x2025: 0x00c3, 0x2026: 0x00c3, 0x2027: 0x00c3, 0x2028: 0x00c3, 0x2029: 0x00c3, - 0x202a: 0x00c3, 0x202b: 0x00c3, 0x202c: 0x00c3, 0x202d: 0x00c3, 0x202e: 0x00c3, 0x202f: 0x00c3, - 0x2030: 0x00c3, 0x2031: 0x00c3, 0x2032: 0x00c3, 0x2033: 0x00c3, 0x2034: 0x00c3, 0x2035: 0x00c3, - 0x2036: 0x00c3, 0x2037: 0x00c3, 0x2038: 0x00c3, 0x2039: 0x00c3, 0x203a: 0x00c3, 0x203b: 0x00c3, - 0x203c: 0x00c3, 0x203d: 0x00c3, 0x203e: 0x00c3, 0x203f: 0x00c3, + 0x2000: 0x0080, 0x2001: 0x0080, 0x2002: 0x0080, 0x2003: 0x0080, 0x2004: 0x0080, 0x2005: 0x0080, + 0x2006: 0x0080, 0x2007: 0x0080, 0x2008: 0x0080, 0x2009: 0x0080, 0x200a: 0x0080, 0x200b: 0x0080, + 0x200c: 0x0080, 0x200d: 0x0080, 0x200e: 0x0080, 0x200f: 0x0080, 0x2010: 0x0080, 0x2011: 0x0080, + 0x2012: 0x0080, 0x2013: 0x0080, 0x2014: 0x0080, 0x2015: 0x0080, 0x2016: 0x0080, 0x2017: 0x0080, + 0x2018: 0x0080, 0x2019: 0x0080, 0x201a: 0x0080, 0x201b: 0x0080, 0x201c: 0x0080, 0x201d: 0x0080, + 0x201e: 0x0080, 0x201f: 0x0080, 0x2020: 0x0080, 0x2021: 0x0080, 0x2022: 0x0080, 0x2023: 0x0080, + 0x2024: 0x0080, 0x2025: 0x0080, 0x2026: 0x0080, 0x2027: 0x0080, 0x2028: 0x0080, 0x2029: 0x0080, + 0x202a: 0x0080, 0x202b: 0x0080, 0x202c: 0x0080, 0x202d: 0x0080, 0x202e: 0x0080, 0x202f: 0x00c0, + 0x2030: 0x0080, 0x2031: 0x0080, 0x2032: 0x0080, 0x2033: 0x0080, 0x2034: 0x0080, 0x2035: 0x0080, + 0x2036: 0x0080, 0x2037: 0x0080, 0x2038: 0x0080, 0x2039: 0x0080, 0x203a: 0x0080, 0x203b: 0x0080, + 0x203c: 0x0080, 0x203d: 0x0080, 0x203e: 0x0080, 0x203f: 0x0080, // Block 0x81, offset 0x2040 0x2040: 0x0080, 0x2041: 0x0080, 0x2042: 0x0080, 0x2043: 0x0080, 0x2044: 0x0080, 0x2045: 0x0080, - 0x2046: 0x0080, 0x2047: 0x0080, 0x2048: 0x0080, 0x2049: 0x0080, 0x204a: 0x0080, 0x204b: 0x0080, - 0x204c: 0x0080, 0x204d: 0x0080, 0x204e: 0x0080, 0x204f: 0x0080, 0x2050: 0x0080, 0x2051: 0x0080, - 0x2052: 0x0080, 0x2053: 0x0080, 0x2054: 0x0080, 0x2055: 0x0080, 0x2056: 0x0080, 0x2057: 0x0080, - 0x2058: 0x0080, 0x2059: 0x0080, 0x205a: 0x0080, 0x205b: 0x0080, 0x205c: 0x0080, 0x205d: 0x0080, - 0x205e: 0x0080, 0x205f: 0x0080, 0x2060: 0x0080, 0x2061: 0x0080, 0x2062: 0x0080, 0x2063: 0x0080, - 0x2064: 0x0080, 0x2065: 0x0080, 0x2066: 0x0080, 0x2067: 0x0080, 0x2068: 0x0080, 0x2069: 0x0080, - 0x206a: 0x0080, 0x206b: 0x0080, 0x206c: 0x0080, 0x206d: 0x0080, 0x206e: 0x0080, 0x206f: 0x00c0, - 0x2070: 0x0080, 0x2071: 0x0080, 0x2072: 0x0080, 0x2073: 0x0080, 0x2074: 0x0080, 0x2075: 0x0080, - 0x2076: 0x0080, 0x2077: 0x0080, 0x2078: 0x0080, 0x2079: 0x0080, 0x207a: 0x0080, 0x207b: 0x0080, - 0x207c: 0x0080, 0x207d: 0x0080, 0x207e: 0x0080, 0x207f: 0x0080, + 0x2046: 0x0080, 0x2047: 0x0080, 0x2048: 0x0080, 0x2049: 0x0080, // Block 0x82, offset 0x2080 - 0x2080: 0x0080, 0x2081: 0x0080, 0x2082: 0x0080, 0x2083: 0x0080, 0x2084: 0x0080, + 0x2080: 0x008c, 0x2081: 0x008c, 0x2082: 0x008c, 0x2083: 0x008c, 0x2084: 0x008c, 0x2085: 0x008c, + 0x2086: 0x008c, 0x2087: 0x008c, 0x2088: 0x008c, 0x2089: 0x008c, 0x208a: 0x008c, 0x208b: 0x008c, + 0x208c: 0x008c, 0x208d: 0x008c, 0x208e: 0x008c, 0x208f: 0x008c, 0x2090: 0x008c, 0x2091: 0x008c, + 0x2092: 0x008c, 0x2093: 0x008c, 0x2094: 0x008c, 0x2095: 0x008c, 0x2096: 0x008c, 0x2097: 0x008c, + 0x2098: 0x008c, 0x2099: 0x008c, 0x209b: 0x008c, 0x209c: 0x008c, 0x209d: 0x008c, + 0x209e: 0x008c, 0x209f: 0x008c, 0x20a0: 0x008c, 0x20a1: 0x008c, 0x20a2: 0x008c, 0x20a3: 0x008c, + 0x20a4: 0x008c, 0x20a5: 0x008c, 0x20a6: 0x008c, 0x20a7: 0x008c, 0x20a8: 0x008c, 0x20a9: 0x008c, + 0x20aa: 0x008c, 0x20ab: 0x008c, 0x20ac: 0x008c, 0x20ad: 0x008c, 0x20ae: 0x008c, 0x20af: 0x008c, + 0x20b0: 0x008c, 0x20b1: 0x008c, 0x20b2: 0x008c, 0x20b3: 0x008c, 0x20b4: 0x008c, 0x20b5: 0x008c, + 0x20b6: 0x008c, 0x20b7: 0x008c, 0x20b8: 0x008c, 0x20b9: 0x008c, 0x20ba: 0x008c, 0x20bb: 0x008c, + 0x20bc: 0x008c, 0x20bd: 0x008c, 0x20be: 0x008c, 0x20bf: 0x008c, // Block 0x83, offset 0x20c0 0x20c0: 0x008c, 0x20c1: 0x008c, 0x20c2: 0x008c, 0x20c3: 0x008c, 0x20c4: 0x008c, 0x20c5: 0x008c, 0x20c6: 0x008c, 0x20c7: 0x008c, 0x20c8: 0x008c, 0x20c9: 0x008c, 0x20ca: 0x008c, 0x20cb: 0x008c, 0x20cc: 0x008c, 0x20cd: 0x008c, 0x20ce: 0x008c, 0x20cf: 0x008c, 0x20d0: 0x008c, 0x20d1: 0x008c, 0x20d2: 0x008c, 0x20d3: 0x008c, 0x20d4: 0x008c, 0x20d5: 0x008c, 0x20d6: 0x008c, 0x20d7: 0x008c, - 0x20d8: 0x008c, 0x20d9: 0x008c, 0x20db: 0x008c, 0x20dc: 0x008c, 0x20dd: 0x008c, + 0x20d8: 0x008c, 0x20d9: 0x008c, 0x20da: 0x008c, 0x20db: 0x008c, 0x20dc: 0x008c, 0x20dd: 0x008c, 0x20de: 0x008c, 0x20df: 0x008c, 0x20e0: 0x008c, 0x20e1: 0x008c, 0x20e2: 0x008c, 0x20e3: 0x008c, 0x20e4: 0x008c, 0x20e5: 0x008c, 0x20e6: 0x008c, 0x20e7: 0x008c, 0x20e8: 0x008c, 0x20e9: 0x008c, 0x20ea: 0x008c, 0x20eb: 0x008c, 0x20ec: 0x008c, 0x20ed: 0x008c, 0x20ee: 0x008c, 0x20ef: 0x008c, - 0x20f0: 0x008c, 0x20f1: 0x008c, 0x20f2: 0x008c, 0x20f3: 0x008c, 0x20f4: 0x008c, 0x20f5: 0x008c, - 0x20f6: 0x008c, 0x20f7: 0x008c, 0x20f8: 0x008c, 0x20f9: 0x008c, 0x20fa: 0x008c, 0x20fb: 0x008c, - 0x20fc: 0x008c, 0x20fd: 0x008c, 0x20fe: 0x008c, 0x20ff: 0x008c, + 0x20f0: 0x008c, 0x20f1: 0x008c, 0x20f2: 0x008c, 0x20f3: 0x008c, // Block 0x84, offset 0x2100 0x2100: 0x008c, 0x2101: 0x008c, 0x2102: 0x008c, 0x2103: 0x008c, 0x2104: 0x008c, 0x2105: 0x008c, 0x2106: 0x008c, 0x2107: 0x008c, 0x2108: 0x008c, 0x2109: 0x008c, 0x210a: 0x008c, 0x210b: 0x008c, @@ -1668,45 +1672,47 @@ var derivedPropertiesValues = [20736]uint8{ 0x211e: 0x008c, 0x211f: 0x008c, 0x2120: 0x008c, 0x2121: 0x008c, 0x2122: 0x008c, 0x2123: 0x008c, 0x2124: 0x008c, 0x2125: 0x008c, 0x2126: 0x008c, 0x2127: 0x008c, 0x2128: 0x008c, 0x2129: 0x008c, 0x212a: 0x008c, 0x212b: 0x008c, 0x212c: 0x008c, 0x212d: 0x008c, 0x212e: 0x008c, 0x212f: 0x008c, - 0x2130: 0x008c, 0x2131: 0x008c, 0x2132: 0x008c, 0x2133: 0x008c, + 0x2130: 0x008c, 0x2131: 0x008c, 0x2132: 0x008c, 0x2133: 0x008c, 0x2134: 0x008c, 0x2135: 0x008c, + 0x2136: 0x008c, 0x2137: 0x008c, 0x2138: 0x008c, 0x2139: 0x008c, 0x213a: 0x008c, 0x213b: 0x008c, + 0x213c: 0x008c, 0x213d: 0x008c, 0x213e: 0x008c, 0x213f: 0x008c, // Block 0x85, offset 0x2140 0x2140: 0x008c, 0x2141: 0x008c, 0x2142: 0x008c, 0x2143: 0x008c, 0x2144: 0x008c, 0x2145: 0x008c, 0x2146: 0x008c, 0x2147: 0x008c, 0x2148: 0x008c, 0x2149: 0x008c, 0x214a: 0x008c, 0x214b: 0x008c, 0x214c: 0x008c, 0x214d: 0x008c, 0x214e: 0x008c, 0x214f: 0x008c, 0x2150: 0x008c, 0x2151: 0x008c, - 0x2152: 0x008c, 0x2153: 0x008c, 0x2154: 0x008c, 0x2155: 0x008c, 0x2156: 0x008c, 0x2157: 0x008c, - 0x2158: 0x008c, 0x2159: 0x008c, 0x215a: 0x008c, 0x215b: 0x008c, 0x215c: 0x008c, 0x215d: 0x008c, - 0x215e: 0x008c, 0x215f: 0x008c, 0x2160: 0x008c, 0x2161: 0x008c, 0x2162: 0x008c, 0x2163: 0x008c, - 0x2164: 0x008c, 0x2165: 0x008c, 0x2166: 0x008c, 0x2167: 0x008c, 0x2168: 0x008c, 0x2169: 0x008c, - 0x216a: 0x008c, 0x216b: 0x008c, 0x216c: 0x008c, 0x216d: 0x008c, 0x216e: 0x008c, 0x216f: 0x008c, - 0x2170: 0x008c, 0x2171: 0x008c, 0x2172: 0x008c, 0x2173: 0x008c, 0x2174: 0x008c, 0x2175: 0x008c, - 0x2176: 0x008c, 0x2177: 0x008c, 0x2178: 0x008c, 0x2179: 0x008c, 0x217a: 0x008c, 0x217b: 0x008c, - 0x217c: 0x008c, 0x217d: 0x008c, 0x217e: 0x008c, 0x217f: 0x008c, + 0x2152: 0x008c, 0x2153: 0x008c, 0x2154: 0x008c, 0x2155: 0x008c, + 0x2170: 0x0080, 0x2171: 0x0080, 0x2172: 0x0080, 0x2173: 0x0080, 0x2174: 0x0080, 0x2175: 0x0080, + 0x2176: 0x0080, 0x2177: 0x0080, 0x2178: 0x0080, 0x2179: 0x0080, 0x217a: 0x0080, 0x217b: 0x0080, // Block 0x86, offset 0x2180 - 0x2180: 0x008c, 0x2181: 0x008c, 0x2182: 0x008c, 0x2183: 0x008c, 0x2184: 0x008c, 0x2185: 0x008c, - 0x2186: 0x008c, 0x2187: 0x008c, 0x2188: 0x008c, 0x2189: 0x008c, 0x218a: 0x008c, 0x218b: 0x008c, - 0x218c: 0x008c, 0x218d: 0x008c, 0x218e: 0x008c, 0x218f: 0x008c, 0x2190: 0x008c, 0x2191: 0x008c, - 0x2192: 0x008c, 0x2193: 0x008c, 0x2194: 0x008c, 0x2195: 0x008c, - 0x21b0: 0x0080, 0x21b1: 0x0080, 0x21b2: 0x0080, 0x21b3: 0x0080, 0x21b4: 0x0080, 0x21b5: 0x0080, - 0x21b6: 0x0080, 0x21b7: 0x0080, 0x21b8: 0x0080, 0x21b9: 0x0080, 0x21ba: 0x0080, 0x21bb: 0x0080, + 0x2180: 0x0080, 0x2181: 0x0080, 0x2182: 0x0080, 0x2183: 0x0080, 0x2184: 0x0080, 0x2185: 0x00cc, + 0x2186: 0x00c0, 0x2187: 0x00cc, 0x2188: 0x0080, 0x2189: 0x0080, 0x218a: 0x0080, 0x218b: 0x0080, + 0x218c: 0x0080, 0x218d: 0x0080, 0x218e: 0x0080, 0x218f: 0x0080, 0x2190: 0x0080, 0x2191: 0x0080, + 0x2192: 0x0080, 0x2193: 0x0080, 0x2194: 0x0080, 0x2195: 0x0080, 0x2196: 0x0080, 0x2197: 0x0080, + 0x2198: 0x0080, 0x2199: 0x0080, 0x219a: 0x0080, 0x219b: 0x0080, 0x219c: 0x0080, 0x219d: 0x0080, + 0x219e: 0x0080, 0x219f: 0x0080, 0x21a0: 0x0080, 0x21a1: 0x008c, 0x21a2: 0x008c, 0x21a3: 0x008c, + 0x21a4: 0x008c, 0x21a5: 0x008c, 0x21a6: 0x008c, 0x21a7: 0x008c, 0x21a8: 0x008c, 0x21a9: 0x008c, + 0x21aa: 0x00c3, 0x21ab: 0x00c3, 0x21ac: 0x00c3, 0x21ad: 0x00c3, 0x21ae: 0x0040, 0x21af: 0x0040, + 0x21b0: 0x0080, 0x21b1: 0x0040, 0x21b2: 0x0040, 0x21b3: 0x0040, 0x21b4: 0x0040, 0x21b5: 0x0040, + 0x21b6: 0x0080, 0x21b7: 0x0080, 0x21b8: 0x008c, 0x21b9: 0x008c, 0x21ba: 0x008c, 0x21bb: 0x0040, + 0x21bc: 0x00c0, 0x21bd: 0x0080, 0x21be: 0x0080, 0x21bf: 0x0080, // Block 0x87, offset 0x21c0 - 0x21c0: 0x0080, 0x21c1: 0x0080, 0x21c2: 0x0080, 0x21c3: 0x0080, 0x21c4: 0x0080, 0x21c5: 0x00cc, - 0x21c6: 0x00c0, 0x21c7: 0x00cc, 0x21c8: 0x0080, 0x21c9: 0x0080, 0x21ca: 0x0080, 0x21cb: 0x0080, - 0x21cc: 0x0080, 0x21cd: 0x0080, 0x21ce: 0x0080, 0x21cf: 0x0080, 0x21d0: 0x0080, 0x21d1: 0x0080, - 0x21d2: 0x0080, 0x21d3: 0x0080, 0x21d4: 0x0080, 0x21d5: 0x0080, 0x21d6: 0x0080, 0x21d7: 0x0080, - 0x21d8: 0x0080, 0x21d9: 0x0080, 0x21da: 0x0080, 0x21db: 0x0080, 0x21dc: 0x0080, 0x21dd: 0x0080, - 0x21de: 0x0080, 0x21df: 0x0080, 0x21e0: 0x0080, 0x21e1: 0x008c, 0x21e2: 0x008c, 0x21e3: 0x008c, - 0x21e4: 0x008c, 0x21e5: 0x008c, 0x21e6: 0x008c, 0x21e7: 0x008c, 0x21e8: 0x008c, 0x21e9: 0x008c, - 0x21ea: 0x00c3, 0x21eb: 0x00c3, 0x21ec: 0x00c3, 0x21ed: 0x00c3, 0x21ee: 0x0040, 0x21ef: 0x0040, - 0x21f0: 0x0080, 0x21f1: 0x0040, 0x21f2: 0x0040, 0x21f3: 0x0040, 0x21f4: 0x0040, 0x21f5: 0x0040, - 0x21f6: 0x0080, 0x21f7: 0x0080, 0x21f8: 0x008c, 0x21f9: 0x008c, 0x21fa: 0x008c, 0x21fb: 0x0040, - 0x21fc: 0x00c0, 0x21fd: 0x0080, 0x21fe: 0x0080, 0x21ff: 0x0080, + 0x21c1: 0x00cc, 0x21c2: 0x00cc, 0x21c3: 0x00cc, 0x21c4: 0x00cc, 0x21c5: 0x00cc, + 0x21c6: 0x00cc, 0x21c7: 0x00cc, 0x21c8: 0x00cc, 0x21c9: 0x00cc, 0x21ca: 0x00cc, 0x21cb: 0x00cc, + 0x21cc: 0x00cc, 0x21cd: 0x00cc, 0x21ce: 0x00cc, 0x21cf: 0x00cc, 0x21d0: 0x00cc, 0x21d1: 0x00cc, + 0x21d2: 0x00cc, 0x21d3: 0x00cc, 0x21d4: 0x00cc, 0x21d5: 0x00cc, 0x21d6: 0x00cc, 0x21d7: 0x00cc, + 0x21d8: 0x00cc, 0x21d9: 0x00cc, 0x21da: 0x00cc, 0x21db: 0x00cc, 0x21dc: 0x00cc, 0x21dd: 0x00cc, + 0x21de: 0x00cc, 0x21df: 0x00cc, 0x21e0: 0x00cc, 0x21e1: 0x00cc, 0x21e2: 0x00cc, 0x21e3: 0x00cc, + 0x21e4: 0x00cc, 0x21e5: 0x00cc, 0x21e6: 0x00cc, 0x21e7: 0x00cc, 0x21e8: 0x00cc, 0x21e9: 0x00cc, + 0x21ea: 0x00cc, 0x21eb: 0x00cc, 0x21ec: 0x00cc, 0x21ed: 0x00cc, 0x21ee: 0x00cc, 0x21ef: 0x00cc, + 0x21f0: 0x00cc, 0x21f1: 0x00cc, 0x21f2: 0x00cc, 0x21f3: 0x00cc, 0x21f4: 0x00cc, 0x21f5: 0x00cc, + 0x21f6: 0x00cc, 0x21f7: 0x00cc, 0x21f8: 0x00cc, 0x21f9: 0x00cc, 0x21fa: 0x00cc, 0x21fb: 0x00cc, + 0x21fc: 0x00cc, 0x21fd: 0x00cc, 0x21fe: 0x00cc, 0x21ff: 0x00cc, // Block 0x88, offset 0x2200 - 0x2201: 0x00cc, 0x2202: 0x00cc, 0x2203: 0x00cc, 0x2204: 0x00cc, 0x2205: 0x00cc, + 0x2200: 0x00cc, 0x2201: 0x00cc, 0x2202: 0x00cc, 0x2203: 0x00cc, 0x2204: 0x00cc, 0x2205: 0x00cc, 0x2206: 0x00cc, 0x2207: 0x00cc, 0x2208: 0x00cc, 0x2209: 0x00cc, 0x220a: 0x00cc, 0x220b: 0x00cc, 0x220c: 0x00cc, 0x220d: 0x00cc, 0x220e: 0x00cc, 0x220f: 0x00cc, 0x2210: 0x00cc, 0x2211: 0x00cc, - 0x2212: 0x00cc, 0x2213: 0x00cc, 0x2214: 0x00cc, 0x2215: 0x00cc, 0x2216: 0x00cc, 0x2217: 0x00cc, - 0x2218: 0x00cc, 0x2219: 0x00cc, 0x221a: 0x00cc, 0x221b: 0x00cc, 0x221c: 0x00cc, 0x221d: 0x00cc, - 0x221e: 0x00cc, 0x221f: 0x00cc, 0x2220: 0x00cc, 0x2221: 0x00cc, 0x2222: 0x00cc, 0x2223: 0x00cc, + 0x2212: 0x00cc, 0x2213: 0x00cc, 0x2214: 0x00cc, 0x2215: 0x00cc, 0x2216: 0x00cc, + 0x2219: 0x00c3, 0x221a: 0x00c3, 0x221b: 0x0080, 0x221c: 0x0080, 0x221d: 0x00cc, + 0x221e: 0x00cc, 0x221f: 0x008c, 0x2220: 0x0080, 0x2221: 0x00cc, 0x2222: 0x00cc, 0x2223: 0x00cc, 0x2224: 0x00cc, 0x2225: 0x00cc, 0x2226: 0x00cc, 0x2227: 0x00cc, 0x2228: 0x00cc, 0x2229: 0x00cc, 0x222a: 0x00cc, 0x222b: 0x00cc, 0x222c: 0x00cc, 0x222d: 0x00cc, 0x222e: 0x00cc, 0x222f: 0x00cc, 0x2230: 0x00cc, 0x2231: 0x00cc, 0x2232: 0x00cc, 0x2233: 0x00cc, 0x2234: 0x00cc, 0x2235: 0x00cc, @@ -1716,107 +1722,107 @@ var derivedPropertiesValues = [20736]uint8{ 0x2240: 0x00cc, 0x2241: 0x00cc, 0x2242: 0x00cc, 0x2243: 0x00cc, 0x2244: 0x00cc, 0x2245: 0x00cc, 0x2246: 0x00cc, 0x2247: 0x00cc, 0x2248: 0x00cc, 0x2249: 0x00cc, 0x224a: 0x00cc, 0x224b: 0x00cc, 0x224c: 0x00cc, 0x224d: 0x00cc, 0x224e: 0x00cc, 0x224f: 0x00cc, 0x2250: 0x00cc, 0x2251: 0x00cc, - 0x2252: 0x00cc, 0x2253: 0x00cc, 0x2254: 0x00cc, 0x2255: 0x00cc, 0x2256: 0x00cc, - 0x2259: 0x00c3, 0x225a: 0x00c3, 0x225b: 0x0080, 0x225c: 0x0080, 0x225d: 0x00cc, - 0x225e: 0x00cc, 0x225f: 0x008c, 0x2260: 0x0080, 0x2261: 0x00cc, 0x2262: 0x00cc, 0x2263: 0x00cc, + 0x2252: 0x00cc, 0x2253: 0x00cc, 0x2254: 0x00cc, 0x2255: 0x00cc, 0x2256: 0x00cc, 0x2257: 0x00cc, + 0x2258: 0x00cc, 0x2259: 0x00cc, 0x225a: 0x00cc, 0x225b: 0x00cc, 0x225c: 0x00cc, 0x225d: 0x00cc, + 0x225e: 0x00cc, 0x225f: 0x00cc, 0x2260: 0x00cc, 0x2261: 0x00cc, 0x2262: 0x00cc, 0x2263: 0x00cc, 0x2264: 0x00cc, 0x2265: 0x00cc, 0x2266: 0x00cc, 0x2267: 0x00cc, 0x2268: 0x00cc, 0x2269: 0x00cc, 0x226a: 0x00cc, 0x226b: 0x00cc, 0x226c: 0x00cc, 0x226d: 0x00cc, 0x226e: 0x00cc, 0x226f: 0x00cc, 0x2270: 0x00cc, 0x2271: 0x00cc, 0x2272: 0x00cc, 0x2273: 0x00cc, 0x2274: 0x00cc, 0x2275: 0x00cc, - 0x2276: 0x00cc, 0x2277: 0x00cc, 0x2278: 0x00cc, 0x2279: 0x00cc, 0x227a: 0x00cc, 0x227b: 0x00cc, - 0x227c: 0x00cc, 0x227d: 0x00cc, 0x227e: 0x00cc, 0x227f: 0x00cc, + 0x2276: 0x00cc, 0x2277: 0x00cc, 0x2278: 0x00cc, 0x2279: 0x00cc, 0x227a: 0x00cc, 0x227b: 0x00d2, + 0x227c: 0x00c0, 0x227d: 0x00cc, 0x227e: 0x00cc, 0x227f: 0x008c, // Block 0x8a, offset 0x2280 - 0x2280: 0x00cc, 0x2281: 0x00cc, 0x2282: 0x00cc, 0x2283: 0x00cc, 0x2284: 0x00cc, 0x2285: 0x00cc, - 0x2286: 0x00cc, 0x2287: 0x00cc, 0x2288: 0x00cc, 0x2289: 0x00cc, 0x228a: 0x00cc, 0x228b: 0x00cc, - 0x228c: 0x00cc, 0x228d: 0x00cc, 0x228e: 0x00cc, 0x228f: 0x00cc, 0x2290: 0x00cc, 0x2291: 0x00cc, - 0x2292: 0x00cc, 0x2293: 0x00cc, 0x2294: 0x00cc, 0x2295: 0x00cc, 0x2296: 0x00cc, 0x2297: 0x00cc, - 0x2298: 0x00cc, 0x2299: 0x00cc, 0x229a: 0x00cc, 0x229b: 0x00cc, 0x229c: 0x00cc, 0x229d: 0x00cc, - 0x229e: 0x00cc, 0x229f: 0x00cc, 0x22a0: 0x00cc, 0x22a1: 0x00cc, 0x22a2: 0x00cc, 0x22a3: 0x00cc, - 0x22a4: 0x00cc, 0x22a5: 0x00cc, 0x22a6: 0x00cc, 0x22a7: 0x00cc, 0x22a8: 0x00cc, 0x22a9: 0x00cc, - 0x22aa: 0x00cc, 0x22ab: 0x00cc, 0x22ac: 0x00cc, 0x22ad: 0x00cc, 0x22ae: 0x00cc, 0x22af: 0x00cc, - 0x22b0: 0x00cc, 0x22b1: 0x00cc, 0x22b2: 0x00cc, 0x22b3: 0x00cc, 0x22b4: 0x00cc, 0x22b5: 0x00cc, - 0x22b6: 0x00cc, 0x22b7: 0x00cc, 0x22b8: 0x00cc, 0x22b9: 0x00cc, 0x22ba: 0x00cc, 0x22bb: 0x00d2, - 0x22bc: 0x00c0, 0x22bd: 0x00cc, 0x22be: 0x00cc, 0x22bf: 0x008c, + 0x2285: 0x00c0, + 0x2286: 0x00c0, 0x2287: 0x00c0, 0x2288: 0x00c0, 0x2289: 0x00c0, 0x228a: 0x00c0, 0x228b: 0x00c0, + 0x228c: 0x00c0, 0x228d: 0x00c0, 0x228e: 0x00c0, 0x228f: 0x00c0, 0x2290: 0x00c0, 0x2291: 0x00c0, + 0x2292: 0x00c0, 0x2293: 0x00c0, 0x2294: 0x00c0, 0x2295: 0x00c0, 0x2296: 0x00c0, 0x2297: 0x00c0, + 0x2298: 0x00c0, 0x2299: 0x00c0, 0x229a: 0x00c0, 0x229b: 0x00c0, 0x229c: 0x00c0, 0x229d: 0x00c0, + 0x229e: 0x00c0, 0x229f: 0x00c0, 0x22a0: 0x00c0, 0x22a1: 0x00c0, 0x22a2: 0x00c0, 0x22a3: 0x00c0, + 0x22a4: 0x00c0, 0x22a5: 0x00c0, 0x22a6: 0x00c0, 0x22a7: 0x00c0, 0x22a8: 0x00c0, 0x22a9: 0x00c0, + 0x22aa: 0x00c0, 0x22ab: 0x00c0, 0x22ac: 0x00c0, 0x22ad: 0x00c0, 0x22ae: 0x00c0, + 0x22b1: 0x0080, 0x22b2: 0x0080, 0x22b3: 0x0080, 0x22b4: 0x0080, 0x22b5: 0x0080, + 0x22b6: 0x0080, 0x22b7: 0x0080, 0x22b8: 0x0080, 0x22b9: 0x0080, 0x22ba: 0x0080, 0x22bb: 0x0080, + 0x22bc: 0x0080, 0x22bd: 0x0080, 0x22be: 0x0080, 0x22bf: 0x0080, // Block 0x8b, offset 0x22c0 - 0x22c5: 0x00c0, - 0x22c6: 0x00c0, 0x22c7: 0x00c0, 0x22c8: 0x00c0, 0x22c9: 0x00c0, 0x22ca: 0x00c0, 0x22cb: 0x00c0, - 0x22cc: 0x00c0, 0x22cd: 0x00c0, 0x22ce: 0x00c0, 0x22cf: 0x00c0, 0x22d0: 0x00c0, 0x22d1: 0x00c0, - 0x22d2: 0x00c0, 0x22d3: 0x00c0, 0x22d4: 0x00c0, 0x22d5: 0x00c0, 0x22d6: 0x00c0, 0x22d7: 0x00c0, - 0x22d8: 0x00c0, 0x22d9: 0x00c0, 0x22da: 0x00c0, 0x22db: 0x00c0, 0x22dc: 0x00c0, 0x22dd: 0x00c0, - 0x22de: 0x00c0, 0x22df: 0x00c0, 0x22e0: 0x00c0, 0x22e1: 0x00c0, 0x22e2: 0x00c0, 0x22e3: 0x00c0, - 0x22e4: 0x00c0, 0x22e5: 0x00c0, 0x22e6: 0x00c0, 0x22e7: 0x00c0, 0x22e8: 0x00c0, 0x22e9: 0x00c0, - 0x22ea: 0x00c0, 0x22eb: 0x00c0, 0x22ec: 0x00c0, 0x22ed: 0x00c0, - 0x22f1: 0x0080, 0x22f2: 0x0080, 0x22f3: 0x0080, 0x22f4: 0x0080, 0x22f5: 0x0080, + 0x22c0: 0x0080, 0x22c1: 0x0080, 0x22c2: 0x0080, 0x22c3: 0x0080, 0x22c4: 0x0080, 0x22c5: 0x0080, + 0x22c6: 0x0080, 0x22c7: 0x0080, 0x22c8: 0x0080, 0x22c9: 0x0080, 0x22ca: 0x0080, 0x22cb: 0x0080, + 0x22cc: 0x0080, 0x22cd: 0x0080, 0x22ce: 0x0080, 0x22cf: 0x0080, 0x22d0: 0x0080, 0x22d1: 0x0080, + 0x22d2: 0x0080, 0x22d3: 0x0080, 0x22d4: 0x0080, 0x22d5: 0x0080, 0x22d6: 0x0080, 0x22d7: 0x0080, + 0x22d8: 0x0080, 0x22d9: 0x0080, 0x22da: 0x0080, 0x22db: 0x0080, 0x22dc: 0x0080, 0x22dd: 0x0080, + 0x22de: 0x0080, 0x22df: 0x0080, 0x22e0: 0x0080, 0x22e1: 0x0080, 0x22e2: 0x0080, 0x22e3: 0x0080, + 0x22e4: 0x0040, 0x22e5: 0x0080, 0x22e6: 0x0080, 0x22e7: 0x0080, 0x22e8: 0x0080, 0x22e9: 0x0080, + 0x22ea: 0x0080, 0x22eb: 0x0080, 0x22ec: 0x0080, 0x22ed: 0x0080, 0x22ee: 0x0080, 0x22ef: 0x0080, + 0x22f0: 0x0080, 0x22f1: 0x0080, 0x22f2: 0x0080, 0x22f3: 0x0080, 0x22f4: 0x0080, 0x22f5: 0x0080, 0x22f6: 0x0080, 0x22f7: 0x0080, 0x22f8: 0x0080, 0x22f9: 0x0080, 0x22fa: 0x0080, 0x22fb: 0x0080, 0x22fc: 0x0080, 0x22fd: 0x0080, 0x22fe: 0x0080, 0x22ff: 0x0080, // Block 0x8c, offset 0x2300 0x2300: 0x0080, 0x2301: 0x0080, 0x2302: 0x0080, 0x2303: 0x0080, 0x2304: 0x0080, 0x2305: 0x0080, 0x2306: 0x0080, 0x2307: 0x0080, 0x2308: 0x0080, 0x2309: 0x0080, 0x230a: 0x0080, 0x230b: 0x0080, - 0x230c: 0x0080, 0x230d: 0x0080, 0x230e: 0x0080, 0x230f: 0x0080, 0x2310: 0x0080, 0x2311: 0x0080, + 0x230c: 0x0080, 0x230d: 0x0080, 0x230e: 0x0080, 0x2310: 0x0080, 0x2311: 0x0080, 0x2312: 0x0080, 0x2313: 0x0080, 0x2314: 0x0080, 0x2315: 0x0080, 0x2316: 0x0080, 0x2317: 0x0080, 0x2318: 0x0080, 0x2319: 0x0080, 0x231a: 0x0080, 0x231b: 0x0080, 0x231c: 0x0080, 0x231d: 0x0080, - 0x231e: 0x0080, 0x231f: 0x0080, 0x2320: 0x0080, 0x2321: 0x0080, 0x2322: 0x0080, 0x2323: 0x0080, - 0x2324: 0x0040, 0x2325: 0x0080, 0x2326: 0x0080, 0x2327: 0x0080, 0x2328: 0x0080, 0x2329: 0x0080, - 0x232a: 0x0080, 0x232b: 0x0080, 0x232c: 0x0080, 0x232d: 0x0080, 0x232e: 0x0080, 0x232f: 0x0080, - 0x2330: 0x0080, 0x2331: 0x0080, 0x2332: 0x0080, 0x2333: 0x0080, 0x2334: 0x0080, 0x2335: 0x0080, - 0x2336: 0x0080, 0x2337: 0x0080, 0x2338: 0x0080, 0x2339: 0x0080, 0x233a: 0x0080, 0x233b: 0x0080, - 0x233c: 0x0080, 0x233d: 0x0080, 0x233e: 0x0080, 0x233f: 0x0080, + 0x231e: 0x0080, 0x231f: 0x0080, 0x2320: 0x00c0, 0x2321: 0x00c0, 0x2322: 0x00c0, 0x2323: 0x00c0, + 0x2324: 0x00c0, 0x2325: 0x00c0, 0x2326: 0x00c0, 0x2327: 0x00c0, 0x2328: 0x00c0, 0x2329: 0x00c0, + 0x232a: 0x00c0, 0x232b: 0x00c0, 0x232c: 0x00c0, 0x232d: 0x00c0, 0x232e: 0x00c0, 0x232f: 0x00c0, + 0x2330: 0x00c0, 0x2331: 0x00c0, 0x2332: 0x00c0, 0x2333: 0x00c0, 0x2334: 0x00c0, 0x2335: 0x00c0, + 0x2336: 0x00c0, 0x2337: 0x00c0, 0x2338: 0x00c0, 0x2339: 0x00c0, 0x233a: 0x00c0, // Block 0x8d, offset 0x2340 0x2340: 0x0080, 0x2341: 0x0080, 0x2342: 0x0080, 0x2343: 0x0080, 0x2344: 0x0080, 0x2345: 0x0080, 0x2346: 0x0080, 0x2347: 0x0080, 0x2348: 0x0080, 0x2349: 0x0080, 0x234a: 0x0080, 0x234b: 0x0080, - 0x234c: 0x0080, 0x234d: 0x0080, 0x234e: 0x0080, 0x2350: 0x0080, 0x2351: 0x0080, + 0x234c: 0x0080, 0x234d: 0x0080, 0x234e: 0x0080, 0x234f: 0x0080, 0x2350: 0x0080, 0x2351: 0x0080, 0x2352: 0x0080, 0x2353: 0x0080, 0x2354: 0x0080, 0x2355: 0x0080, 0x2356: 0x0080, 0x2357: 0x0080, 0x2358: 0x0080, 0x2359: 0x0080, 0x235a: 0x0080, 0x235b: 0x0080, 0x235c: 0x0080, 0x235d: 0x0080, - 0x235e: 0x0080, 0x235f: 0x0080, 0x2360: 0x00c0, 0x2361: 0x00c0, 0x2362: 0x00c0, 0x2363: 0x00c0, - 0x2364: 0x00c0, 0x2365: 0x00c0, 0x2366: 0x00c0, 0x2367: 0x00c0, 0x2368: 0x00c0, 0x2369: 0x00c0, - 0x236a: 0x00c0, 0x236b: 0x00c0, 0x236c: 0x00c0, 0x236d: 0x00c0, 0x236e: 0x00c0, 0x236f: 0x00c0, - 0x2370: 0x00c0, 0x2371: 0x00c0, 0x2372: 0x00c0, 0x2373: 0x00c0, 0x2374: 0x00c0, 0x2375: 0x00c0, - 0x2376: 0x00c0, 0x2377: 0x00c0, 0x2378: 0x00c0, 0x2379: 0x00c0, 0x237a: 0x00c0, + 0x235e: 0x0080, 0x235f: 0x0080, 0x2360: 0x0080, 0x2361: 0x0080, 0x2362: 0x0080, 0x2363: 0x0080, + 0x2370: 0x00cc, 0x2371: 0x00cc, 0x2372: 0x00cc, 0x2373: 0x00cc, 0x2374: 0x00cc, 0x2375: 0x00cc, + 0x2376: 0x00cc, 0x2377: 0x00cc, 0x2378: 0x00cc, 0x2379: 0x00cc, 0x237a: 0x00cc, 0x237b: 0x00cc, + 0x237c: 0x00cc, 0x237d: 0x00cc, 0x237e: 0x00cc, 0x237f: 0x00cc, // Block 0x8e, offset 0x2380 0x2380: 0x0080, 0x2381: 0x0080, 0x2382: 0x0080, 0x2383: 0x0080, 0x2384: 0x0080, 0x2385: 0x0080, 0x2386: 0x0080, 0x2387: 0x0080, 0x2388: 0x0080, 0x2389: 0x0080, 0x238a: 0x0080, 0x238b: 0x0080, 0x238c: 0x0080, 0x238d: 0x0080, 0x238e: 0x0080, 0x238f: 0x0080, 0x2390: 0x0080, 0x2391: 0x0080, 0x2392: 0x0080, 0x2393: 0x0080, 0x2394: 0x0080, 0x2395: 0x0080, 0x2396: 0x0080, 0x2397: 0x0080, 0x2398: 0x0080, 0x2399: 0x0080, 0x239a: 0x0080, 0x239b: 0x0080, 0x239c: 0x0080, 0x239d: 0x0080, - 0x239e: 0x0080, 0x239f: 0x0080, 0x23a0: 0x0080, 0x23a1: 0x0080, 0x23a2: 0x0080, 0x23a3: 0x0080, - 0x23b0: 0x00cc, 0x23b1: 0x00cc, 0x23b2: 0x00cc, 0x23b3: 0x00cc, 0x23b4: 0x00cc, 0x23b5: 0x00cc, - 0x23b6: 0x00cc, 0x23b7: 0x00cc, 0x23b8: 0x00cc, 0x23b9: 0x00cc, 0x23ba: 0x00cc, 0x23bb: 0x00cc, - 0x23bc: 0x00cc, 0x23bd: 0x00cc, 0x23be: 0x00cc, 0x23bf: 0x00cc, + 0x239e: 0x0080, 0x23a0: 0x0080, 0x23a1: 0x0080, 0x23a2: 0x0080, 0x23a3: 0x0080, + 0x23a4: 0x0080, 0x23a5: 0x0080, 0x23a6: 0x0080, 0x23a7: 0x0080, 0x23a8: 0x0080, 0x23a9: 0x0080, + 0x23aa: 0x0080, 0x23ab: 0x0080, 0x23ac: 0x0080, 0x23ad: 0x0080, 0x23ae: 0x0080, 0x23af: 0x0080, + 0x23b0: 0x0080, 0x23b1: 0x0080, 0x23b2: 0x0080, 0x23b3: 0x0080, 0x23b4: 0x0080, 0x23b5: 0x0080, + 0x23b6: 0x0080, 0x23b7: 0x0080, 0x23b8: 0x0080, 0x23b9: 0x0080, 0x23ba: 0x0080, 0x23bb: 0x0080, + 0x23bc: 0x0080, 0x23bd: 0x0080, 0x23be: 0x0080, 0x23bf: 0x0080, // Block 0x8f, offset 0x23c0 0x23c0: 0x0080, 0x23c1: 0x0080, 0x23c2: 0x0080, 0x23c3: 0x0080, 0x23c4: 0x0080, 0x23c5: 0x0080, 0x23c6: 0x0080, 0x23c7: 0x0080, 0x23c8: 0x0080, 0x23c9: 0x0080, 0x23ca: 0x0080, 0x23cb: 0x0080, - 0x23cc: 0x0080, 0x23cd: 0x0080, 0x23ce: 0x0080, 0x23cf: 0x0080, 0x23d0: 0x0080, 0x23d1: 0x0080, - 0x23d2: 0x0080, 0x23d3: 0x0080, 0x23d4: 0x0080, 0x23d5: 0x0080, 0x23d6: 0x0080, 0x23d7: 0x0080, - 0x23d8: 0x0080, 0x23d9: 0x0080, 0x23da: 0x0080, 0x23db: 0x0080, 0x23dc: 0x0080, 0x23dd: 0x0080, - 0x23de: 0x0080, 0x23e0: 0x0080, 0x23e1: 0x0080, 0x23e2: 0x0080, 0x23e3: 0x0080, - 0x23e4: 0x0080, 0x23e5: 0x0080, 0x23e6: 0x0080, 0x23e7: 0x0080, 0x23e8: 0x0080, 0x23e9: 0x0080, - 0x23ea: 0x0080, 0x23eb: 0x0080, 0x23ec: 0x0080, 0x23ed: 0x0080, 0x23ee: 0x0080, 0x23ef: 0x0080, - 0x23f0: 0x0080, 0x23f1: 0x0080, 0x23f2: 0x0080, 0x23f3: 0x0080, 0x23f4: 0x0080, 0x23f5: 0x0080, - 0x23f6: 0x0080, 0x23f7: 0x0080, 0x23f8: 0x0080, 0x23f9: 0x0080, 0x23fa: 0x0080, 0x23fb: 0x0080, - 0x23fc: 0x0080, 0x23fd: 0x0080, 0x23fe: 0x0080, 0x23ff: 0x0080, + 0x23cc: 0x0080, 0x23cd: 0x0080, 0x23ce: 0x0080, 0x23cf: 0x0080, 0x23d0: 0x008c, 0x23d1: 0x008c, + 0x23d2: 0x008c, 0x23d3: 0x008c, 0x23d4: 0x008c, 0x23d5: 0x008c, 0x23d6: 0x008c, 0x23d7: 0x008c, + 0x23d8: 0x008c, 0x23d9: 0x008c, 0x23da: 0x008c, 0x23db: 0x008c, 0x23dc: 0x008c, 0x23dd: 0x008c, + 0x23de: 0x008c, 0x23df: 0x008c, 0x23e0: 0x008c, 0x23e1: 0x008c, 0x23e2: 0x008c, 0x23e3: 0x008c, + 0x23e4: 0x008c, 0x23e5: 0x008c, 0x23e6: 0x008c, 0x23e7: 0x008c, 0x23e8: 0x008c, 0x23e9: 0x008c, + 0x23ea: 0x008c, 0x23eb: 0x008c, 0x23ec: 0x008c, 0x23ed: 0x008c, 0x23ee: 0x008c, 0x23ef: 0x008c, + 0x23f0: 0x008c, 0x23f1: 0x008c, 0x23f2: 0x008c, 0x23f3: 0x008c, 0x23f4: 0x008c, 0x23f5: 0x008c, + 0x23f6: 0x008c, 0x23f7: 0x008c, 0x23f8: 0x008c, 0x23f9: 0x008c, 0x23fa: 0x008c, 0x23fb: 0x008c, + 0x23fc: 0x008c, 0x23fd: 0x008c, 0x23fe: 0x008c, // Block 0x90, offset 0x2400 - 0x2400: 0x0080, 0x2401: 0x0080, 0x2402: 0x0080, 0x2403: 0x0080, 0x2404: 0x0080, 0x2405: 0x0080, - 0x2406: 0x0080, 0x2407: 0x0080, 0x2408: 0x0080, 0x2409: 0x0080, 0x240a: 0x0080, 0x240b: 0x0080, - 0x240c: 0x0080, 0x240d: 0x0080, 0x240e: 0x0080, 0x240f: 0x0080, 0x2410: 0x008c, 0x2411: 0x008c, + 0x2400: 0x008c, 0x2401: 0x008c, 0x2402: 0x008c, 0x2403: 0x008c, 0x2404: 0x008c, 0x2405: 0x008c, + 0x2406: 0x008c, 0x2407: 0x008c, 0x2408: 0x008c, 0x2409: 0x008c, 0x240a: 0x008c, 0x240b: 0x008c, + 0x240c: 0x008c, 0x240d: 0x008c, 0x240e: 0x008c, 0x240f: 0x008c, 0x2410: 0x008c, 0x2411: 0x008c, 0x2412: 0x008c, 0x2413: 0x008c, 0x2414: 0x008c, 0x2415: 0x008c, 0x2416: 0x008c, 0x2417: 0x008c, - 0x2418: 0x008c, 0x2419: 0x008c, 0x241a: 0x008c, 0x241b: 0x008c, 0x241c: 0x008c, 0x241d: 0x008c, - 0x241e: 0x008c, 0x241f: 0x008c, 0x2420: 0x008c, 0x2421: 0x008c, 0x2422: 0x008c, 0x2423: 0x008c, - 0x2424: 0x008c, 0x2425: 0x008c, 0x2426: 0x008c, 0x2427: 0x008c, 0x2428: 0x008c, 0x2429: 0x008c, - 0x242a: 0x008c, 0x242b: 0x008c, 0x242c: 0x008c, 0x242d: 0x008c, 0x242e: 0x008c, 0x242f: 0x008c, - 0x2430: 0x008c, 0x2431: 0x008c, 0x2432: 0x008c, 0x2433: 0x008c, 0x2434: 0x008c, 0x2435: 0x008c, - 0x2436: 0x008c, 0x2437: 0x008c, 0x2438: 0x008c, 0x2439: 0x008c, 0x243a: 0x008c, 0x243b: 0x008c, - 0x243c: 0x008c, 0x243d: 0x008c, 0x243e: 0x008c, + 0x2418: 0x0080, 0x2419: 0x0080, 0x241a: 0x0080, 0x241b: 0x0080, 0x241c: 0x0080, 0x241d: 0x0080, + 0x241e: 0x0080, 0x241f: 0x0080, 0x2420: 0x0080, 0x2421: 0x0080, 0x2422: 0x0080, 0x2423: 0x0080, + 0x2424: 0x0080, 0x2425: 0x0080, 0x2426: 0x0080, 0x2427: 0x0080, 0x2428: 0x0080, 0x2429: 0x0080, + 0x242a: 0x0080, 0x242b: 0x0080, 0x242c: 0x0080, 0x242d: 0x0080, 0x242e: 0x0080, 0x242f: 0x0080, + 0x2430: 0x0080, 0x2431: 0x0080, 0x2432: 0x0080, 0x2433: 0x0080, 0x2434: 0x0080, 0x2435: 0x0080, + 0x2436: 0x0080, 0x2437: 0x0080, 0x2438: 0x0080, 0x2439: 0x0080, 0x243a: 0x0080, 0x243b: 0x0080, + 0x243c: 0x0080, 0x243d: 0x0080, 0x243e: 0x0080, 0x243f: 0x0080, // Block 0x91, offset 0x2440 - 0x2440: 0x008c, 0x2441: 0x008c, 0x2442: 0x008c, 0x2443: 0x008c, 0x2444: 0x008c, 0x2445: 0x008c, - 0x2446: 0x008c, 0x2447: 0x008c, 0x2448: 0x008c, 0x2449: 0x008c, 0x244a: 0x008c, 0x244b: 0x008c, - 0x244c: 0x008c, 0x244d: 0x008c, 0x244e: 0x008c, 0x244f: 0x008c, 0x2450: 0x008c, 0x2451: 0x008c, - 0x2452: 0x008c, 0x2453: 0x008c, 0x2454: 0x008c, 0x2455: 0x008c, 0x2456: 0x008c, 0x2457: 0x008c, - 0x2458: 0x0080, 0x2459: 0x0080, 0x245a: 0x0080, 0x245b: 0x0080, 0x245c: 0x0080, 0x245d: 0x0080, - 0x245e: 0x0080, 0x245f: 0x0080, 0x2460: 0x0080, 0x2461: 0x0080, 0x2462: 0x0080, 0x2463: 0x0080, - 0x2464: 0x0080, 0x2465: 0x0080, 0x2466: 0x0080, 0x2467: 0x0080, 0x2468: 0x0080, 0x2469: 0x0080, - 0x246a: 0x0080, 0x246b: 0x0080, 0x246c: 0x0080, 0x246d: 0x0080, 0x246e: 0x0080, 0x246f: 0x0080, - 0x2470: 0x0080, 0x2471: 0x0080, 0x2472: 0x0080, 0x2473: 0x0080, 0x2474: 0x0080, 0x2475: 0x0080, - 0x2476: 0x0080, 0x2477: 0x0080, 0x2478: 0x0080, 0x2479: 0x0080, 0x247a: 0x0080, 0x247b: 0x0080, - 0x247c: 0x0080, 0x247d: 0x0080, 0x247e: 0x0080, 0x247f: 0x0080, + 0x2440: 0x00cc, 0x2441: 0x00cc, 0x2442: 0x00cc, 0x2443: 0x00cc, 0x2444: 0x00cc, 0x2445: 0x00cc, + 0x2446: 0x00cc, 0x2447: 0x00cc, 0x2448: 0x00cc, 0x2449: 0x00cc, 0x244a: 0x00cc, 0x244b: 0x00cc, + 0x244c: 0x00cc, 0x244d: 0x00cc, 0x244e: 0x00cc, 0x244f: 0x00cc, 0x2450: 0x00cc, 0x2451: 0x00cc, + 0x2452: 0x00cc, 0x2453: 0x00cc, 0x2454: 0x00cc, 0x2455: 0x00cc, 0x2456: 0x00cc, 0x2457: 0x00cc, + 0x2458: 0x00cc, 0x2459: 0x00cc, 0x245a: 0x00cc, 0x245b: 0x00cc, 0x245c: 0x00cc, 0x245d: 0x00cc, + 0x245e: 0x00cc, 0x245f: 0x00cc, 0x2460: 0x00cc, 0x2461: 0x00cc, 0x2462: 0x00cc, 0x2463: 0x00cc, + 0x2464: 0x00cc, 0x2465: 0x00cc, 0x2466: 0x00cc, 0x2467: 0x00cc, 0x2468: 0x00cc, 0x2469: 0x00cc, + 0x246a: 0x00cc, 0x246b: 0x00cc, 0x246c: 0x00cc, 0x246d: 0x00cc, 0x246e: 0x00cc, 0x246f: 0x00cc, + 0x2470: 0x00cc, 0x2471: 0x00cc, 0x2472: 0x00cc, 0x2473: 0x00cc, 0x2474: 0x00cc, 0x2475: 0x00cc, + 0x2476: 0x00cc, 0x2477: 0x00cc, 0x2478: 0x00cc, 0x2479: 0x00cc, 0x247a: 0x00cc, 0x247b: 0x00cc, + 0x247c: 0x00cc, 0x247d: 0x00cc, 0x247e: 0x00cc, 0x247f: 0x00cc, // Block 0x92, offset 0x2480 0x2480: 0x00cc, 0x2481: 0x00cc, 0x2482: 0x00cc, 0x2483: 0x00cc, 0x2484: 0x00cc, 0x2485: 0x00cc, 0x2486: 0x00cc, 0x2487: 0x00cc, 0x2488: 0x00cc, 0x2489: 0x00cc, 0x248a: 0x00cc, 0x248b: 0x00cc, @@ -1827,8 +1833,6 @@ var derivedPropertiesValues = [20736]uint8{ 0x24a4: 0x00cc, 0x24a5: 0x00cc, 0x24a6: 0x00cc, 0x24a7: 0x00cc, 0x24a8: 0x00cc, 0x24a9: 0x00cc, 0x24aa: 0x00cc, 0x24ab: 0x00cc, 0x24ac: 0x00cc, 0x24ad: 0x00cc, 0x24ae: 0x00cc, 0x24af: 0x00cc, 0x24b0: 0x00cc, 0x24b1: 0x00cc, 0x24b2: 0x00cc, 0x24b3: 0x00cc, 0x24b4: 0x00cc, 0x24b5: 0x00cc, - 0x24b6: 0x00cc, 0x24b7: 0x00cc, 0x24b8: 0x00cc, 0x24b9: 0x00cc, 0x24ba: 0x00cc, 0x24bb: 0x00cc, - 0x24bc: 0x00cc, 0x24bd: 0x00cc, 0x24be: 0x00cc, 0x24bf: 0x00cc, // Block 0x93, offset 0x24c0 0x24c0: 0x00cc, 0x24c1: 0x00cc, 0x24c2: 0x00cc, 0x24c3: 0x00cc, 0x24c4: 0x00cc, 0x24c5: 0x00cc, 0x24c6: 0x00cc, 0x24c7: 0x00cc, 0x24c8: 0x00cc, 0x24c9: 0x00cc, 0x24ca: 0x00cc, 0x24cb: 0x00cc, @@ -1837,250 +1841,255 @@ var derivedPropertiesValues = [20736]uint8{ 0x24d8: 0x00cc, 0x24d9: 0x00cc, 0x24da: 0x00cc, 0x24db: 0x00cc, 0x24dc: 0x00cc, 0x24dd: 0x00cc, 0x24de: 0x00cc, 0x24df: 0x00cc, 0x24e0: 0x00cc, 0x24e1: 0x00cc, 0x24e2: 0x00cc, 0x24e3: 0x00cc, 0x24e4: 0x00cc, 0x24e5: 0x00cc, 0x24e6: 0x00cc, 0x24e7: 0x00cc, 0x24e8: 0x00cc, 0x24e9: 0x00cc, - 0x24ea: 0x00cc, 0x24eb: 0x00cc, 0x24ec: 0x00cc, 0x24ed: 0x00cc, 0x24ee: 0x00cc, 0x24ef: 0x00cc, - 0x24f0: 0x00cc, 0x24f1: 0x00cc, 0x24f2: 0x00cc, 0x24f3: 0x00cc, 0x24f4: 0x00cc, 0x24f5: 0x00cc, + 0x24ea: 0x00cc, // Block 0x94, offset 0x2500 - 0x2500: 0x00cc, 0x2501: 0x00cc, 0x2502: 0x00cc, 0x2503: 0x00cc, 0x2504: 0x00cc, 0x2505: 0x00cc, - 0x2506: 0x00cc, 0x2507: 0x00cc, 0x2508: 0x00cc, 0x2509: 0x00cc, 0x250a: 0x00cc, 0x250b: 0x00cc, - 0x250c: 0x00cc, 0x250d: 0x00cc, 0x250e: 0x00cc, 0x250f: 0x00cc, 0x2510: 0x00cc, 0x2511: 0x00cc, - 0x2512: 0x00cc, 0x2513: 0x00cc, 0x2514: 0x00cc, 0x2515: 0x00cc, + 0x2500: 0x00c0, 0x2501: 0x00c0, 0x2502: 0x00c0, 0x2503: 0x00c0, 0x2504: 0x00c0, 0x2505: 0x00c0, + 0x2506: 0x00c0, 0x2507: 0x00c0, 0x2508: 0x00c0, 0x2509: 0x00c0, 0x250a: 0x00c0, 0x250b: 0x00c0, + 0x250c: 0x00c0, 0x2510: 0x0080, 0x2511: 0x0080, + 0x2512: 0x0080, 0x2513: 0x0080, 0x2514: 0x0080, 0x2515: 0x0080, 0x2516: 0x0080, 0x2517: 0x0080, + 0x2518: 0x0080, 0x2519: 0x0080, 0x251a: 0x0080, 0x251b: 0x0080, 0x251c: 0x0080, 0x251d: 0x0080, + 0x251e: 0x0080, 0x251f: 0x0080, 0x2520: 0x0080, 0x2521: 0x0080, 0x2522: 0x0080, 0x2523: 0x0080, + 0x2524: 0x0080, 0x2525: 0x0080, 0x2526: 0x0080, 0x2527: 0x0080, 0x2528: 0x0080, 0x2529: 0x0080, + 0x252a: 0x0080, 0x252b: 0x0080, 0x252c: 0x0080, 0x252d: 0x0080, 0x252e: 0x0080, 0x252f: 0x0080, + 0x2530: 0x0080, 0x2531: 0x0080, 0x2532: 0x0080, 0x2533: 0x0080, 0x2534: 0x0080, 0x2535: 0x0080, + 0x2536: 0x0080, 0x2537: 0x0080, 0x2538: 0x0080, 0x2539: 0x0080, 0x253a: 0x0080, 0x253b: 0x0080, + 0x253c: 0x0080, 0x253d: 0x0080, 0x253e: 0x0080, 0x253f: 0x0080, // Block 0x95, offset 0x2540 - 0x2540: 0x00c0, 0x2541: 0x00c0, 0x2542: 0x00c0, 0x2543: 0x00c0, 0x2544: 0x00c0, 0x2545: 0x00c0, - 0x2546: 0x00c0, 0x2547: 0x00c0, 0x2548: 0x00c0, 0x2549: 0x00c0, 0x254a: 0x00c0, 0x254b: 0x00c0, - 0x254c: 0x00c0, 0x2550: 0x0080, 0x2551: 0x0080, - 0x2552: 0x0080, 0x2553: 0x0080, 0x2554: 0x0080, 0x2555: 0x0080, 0x2556: 0x0080, 0x2557: 0x0080, - 0x2558: 0x0080, 0x2559: 0x0080, 0x255a: 0x0080, 0x255b: 0x0080, 0x255c: 0x0080, 0x255d: 0x0080, - 0x255e: 0x0080, 0x255f: 0x0080, 0x2560: 0x0080, 0x2561: 0x0080, 0x2562: 0x0080, 0x2563: 0x0080, - 0x2564: 0x0080, 0x2565: 0x0080, 0x2566: 0x0080, 0x2567: 0x0080, 0x2568: 0x0080, 0x2569: 0x0080, - 0x256a: 0x0080, 0x256b: 0x0080, 0x256c: 0x0080, 0x256d: 0x0080, 0x256e: 0x0080, 0x256f: 0x0080, - 0x2570: 0x0080, 0x2571: 0x0080, 0x2572: 0x0080, 0x2573: 0x0080, 0x2574: 0x0080, 0x2575: 0x0080, - 0x2576: 0x0080, 0x2577: 0x0080, 0x2578: 0x0080, 0x2579: 0x0080, 0x257a: 0x0080, 0x257b: 0x0080, - 0x257c: 0x0080, 0x257d: 0x0080, 0x257e: 0x0080, 0x257f: 0x0080, + 0x2540: 0x0080, 0x2541: 0x0080, 0x2542: 0x0080, 0x2543: 0x0080, 0x2544: 0x0080, 0x2545: 0x0080, + 0x2546: 0x0080, + 0x2550: 0x00c0, 0x2551: 0x00c0, + 0x2552: 0x00c0, 0x2553: 0x00c0, 0x2554: 0x00c0, 0x2555: 0x00c0, 0x2556: 0x00c0, 0x2557: 0x00c0, + 0x2558: 0x00c0, 0x2559: 0x00c0, 0x255a: 0x00c0, 0x255b: 0x00c0, 0x255c: 0x00c0, 0x255d: 0x00c0, + 0x255e: 0x00c0, 0x255f: 0x00c0, 0x2560: 0x00c0, 0x2561: 0x00c0, 0x2562: 0x00c0, 0x2563: 0x00c0, + 0x2564: 0x00c0, 0x2565: 0x00c0, 0x2566: 0x00c0, 0x2567: 0x00c0, 0x2568: 0x00c0, 0x2569: 0x00c0, + 0x256a: 0x00c0, 0x256b: 0x00c0, 0x256c: 0x00c0, 0x256d: 0x00c0, 0x256e: 0x00c0, 0x256f: 0x00c0, + 0x2570: 0x00c0, 0x2571: 0x00c0, 0x2572: 0x00c0, 0x2573: 0x00c0, 0x2574: 0x00c0, 0x2575: 0x00c0, + 0x2576: 0x00c0, 0x2577: 0x00c0, 0x2578: 0x00c0, 0x2579: 0x00c0, 0x257a: 0x00c0, 0x257b: 0x00c0, + 0x257c: 0x00c0, 0x257d: 0x00c0, 0x257e: 0x0080, 0x257f: 0x0080, // Block 0x96, offset 0x2580 - 0x2580: 0x0080, 0x2581: 0x0080, 0x2582: 0x0080, 0x2583: 0x0080, 0x2584: 0x0080, 0x2585: 0x0080, - 0x2586: 0x0080, - 0x2590: 0x00c0, 0x2591: 0x00c0, + 0x2580: 0x00c0, 0x2581: 0x00c0, 0x2582: 0x00c0, 0x2583: 0x00c0, 0x2584: 0x00c0, 0x2585: 0x00c0, + 0x2586: 0x00c0, 0x2587: 0x00c0, 0x2588: 0x00c0, 0x2589: 0x00c0, 0x258a: 0x00c0, 0x258b: 0x00c0, + 0x258c: 0x00c0, 0x258d: 0x0080, 0x258e: 0x0080, 0x258f: 0x0080, 0x2590: 0x00c0, 0x2591: 0x00c0, 0x2592: 0x00c0, 0x2593: 0x00c0, 0x2594: 0x00c0, 0x2595: 0x00c0, 0x2596: 0x00c0, 0x2597: 0x00c0, 0x2598: 0x00c0, 0x2599: 0x00c0, 0x259a: 0x00c0, 0x259b: 0x00c0, 0x259c: 0x00c0, 0x259d: 0x00c0, 0x259e: 0x00c0, 0x259f: 0x00c0, 0x25a0: 0x00c0, 0x25a1: 0x00c0, 0x25a2: 0x00c0, 0x25a3: 0x00c0, 0x25a4: 0x00c0, 0x25a5: 0x00c0, 0x25a6: 0x00c0, 0x25a7: 0x00c0, 0x25a8: 0x00c0, 0x25a9: 0x00c0, - 0x25aa: 0x00c0, 0x25ab: 0x00c0, 0x25ac: 0x00c0, 0x25ad: 0x00c0, 0x25ae: 0x00c0, 0x25af: 0x00c0, - 0x25b0: 0x00c0, 0x25b1: 0x00c0, 0x25b2: 0x00c0, 0x25b3: 0x00c0, 0x25b4: 0x00c0, 0x25b5: 0x00c0, - 0x25b6: 0x00c0, 0x25b7: 0x00c0, 0x25b8: 0x00c0, 0x25b9: 0x00c0, 0x25ba: 0x00c0, 0x25bb: 0x00c0, - 0x25bc: 0x00c0, 0x25bd: 0x00c0, 0x25be: 0x0080, 0x25bf: 0x0080, + 0x25aa: 0x00c0, 0x25ab: 0x00c0, // Block 0x97, offset 0x25c0 0x25c0: 0x00c0, 0x25c1: 0x00c0, 0x25c2: 0x00c0, 0x25c3: 0x00c0, 0x25c4: 0x00c0, 0x25c5: 0x00c0, 0x25c6: 0x00c0, 0x25c7: 0x00c0, 0x25c8: 0x00c0, 0x25c9: 0x00c0, 0x25ca: 0x00c0, 0x25cb: 0x00c0, - 0x25cc: 0x00c0, 0x25cd: 0x0080, 0x25ce: 0x0080, 0x25cf: 0x0080, 0x25d0: 0x00c0, 0x25d1: 0x00c0, + 0x25cc: 0x00c0, 0x25cd: 0x00c0, 0x25ce: 0x00c0, 0x25cf: 0x00c0, 0x25d0: 0x00c0, 0x25d1: 0x00c0, 0x25d2: 0x00c0, 0x25d3: 0x00c0, 0x25d4: 0x00c0, 0x25d5: 0x00c0, 0x25d6: 0x00c0, 0x25d7: 0x00c0, 0x25d8: 0x00c0, 0x25d9: 0x00c0, 0x25da: 0x00c0, 0x25db: 0x00c0, 0x25dc: 0x00c0, 0x25dd: 0x00c0, 0x25de: 0x00c0, 0x25df: 0x00c0, 0x25e0: 0x00c0, 0x25e1: 0x00c0, 0x25e2: 0x00c0, 0x25e3: 0x00c0, 0x25e4: 0x00c0, 0x25e5: 0x00c0, 0x25e6: 0x00c0, 0x25e7: 0x00c0, 0x25e8: 0x00c0, 0x25e9: 0x00c0, - 0x25ea: 0x00c0, 0x25eb: 0x00c0, + 0x25ea: 0x00c0, 0x25eb: 0x00c0, 0x25ec: 0x00c0, 0x25ed: 0x00c0, 0x25ee: 0x00c0, 0x25ef: 0x00c3, + 0x25f0: 0x0083, 0x25f1: 0x0083, 0x25f2: 0x0083, 0x25f3: 0x0080, 0x25f4: 0x00c3, 0x25f5: 0x00c3, + 0x25f6: 0x00c3, 0x25f7: 0x00c3, 0x25f8: 0x00c3, 0x25f9: 0x00c3, 0x25fa: 0x00c3, 0x25fb: 0x00c3, + 0x25fc: 0x00c3, 0x25fd: 0x00c3, 0x25fe: 0x0080, 0x25ff: 0x00c0, // Block 0x98, offset 0x2600 0x2600: 0x00c0, 0x2601: 0x00c0, 0x2602: 0x00c0, 0x2603: 0x00c0, 0x2604: 0x00c0, 0x2605: 0x00c0, 0x2606: 0x00c0, 0x2607: 0x00c0, 0x2608: 0x00c0, 0x2609: 0x00c0, 0x260a: 0x00c0, 0x260b: 0x00c0, 0x260c: 0x00c0, 0x260d: 0x00c0, 0x260e: 0x00c0, 0x260f: 0x00c0, 0x2610: 0x00c0, 0x2611: 0x00c0, 0x2612: 0x00c0, 0x2613: 0x00c0, 0x2614: 0x00c0, 0x2615: 0x00c0, 0x2616: 0x00c0, 0x2617: 0x00c0, - 0x2618: 0x00c0, 0x2619: 0x00c0, 0x261a: 0x00c0, 0x261b: 0x00c0, 0x261c: 0x00c0, 0x261d: 0x00c0, - 0x261e: 0x00c0, 0x261f: 0x00c0, 0x2620: 0x00c0, 0x2621: 0x00c0, 0x2622: 0x00c0, 0x2623: 0x00c0, + 0x2618: 0x00c0, 0x2619: 0x00c0, 0x261a: 0x00c0, 0x261b: 0x00c0, 0x261c: 0x0080, 0x261d: 0x0080, + 0x261e: 0x00c3, 0x261f: 0x00c3, 0x2620: 0x00c0, 0x2621: 0x00c0, 0x2622: 0x00c0, 0x2623: 0x00c0, 0x2624: 0x00c0, 0x2625: 0x00c0, 0x2626: 0x00c0, 0x2627: 0x00c0, 0x2628: 0x00c0, 0x2629: 0x00c0, - 0x262a: 0x00c0, 0x262b: 0x00c0, 0x262c: 0x00c0, 0x262d: 0x00c0, 0x262e: 0x00c0, 0x262f: 0x00c3, - 0x2630: 0x0083, 0x2631: 0x0083, 0x2632: 0x0083, 0x2633: 0x0080, 0x2634: 0x00c3, 0x2635: 0x00c3, - 0x2636: 0x00c3, 0x2637: 0x00c3, 0x2638: 0x00c3, 0x2639: 0x00c3, 0x263a: 0x00c3, 0x263b: 0x00c3, - 0x263c: 0x00c3, 0x263d: 0x00c3, 0x263e: 0x0080, 0x263f: 0x00c0, + 0x262a: 0x00c0, 0x262b: 0x00c0, 0x262c: 0x00c0, 0x262d: 0x00c0, 0x262e: 0x00c0, 0x262f: 0x00c0, + 0x2630: 0x00c0, 0x2631: 0x00c0, 0x2632: 0x00c0, 0x2633: 0x00c0, 0x2634: 0x00c0, 0x2635: 0x00c0, + 0x2636: 0x00c0, 0x2637: 0x00c0, 0x2638: 0x00c0, 0x2639: 0x00c0, 0x263a: 0x00c0, 0x263b: 0x00c0, + 0x263c: 0x00c0, 0x263d: 0x00c0, 0x263e: 0x00c0, 0x263f: 0x00c0, // Block 0x99, offset 0x2640 0x2640: 0x00c0, 0x2641: 0x00c0, 0x2642: 0x00c0, 0x2643: 0x00c0, 0x2644: 0x00c0, 0x2645: 0x00c0, 0x2646: 0x00c0, 0x2647: 0x00c0, 0x2648: 0x00c0, 0x2649: 0x00c0, 0x264a: 0x00c0, 0x264b: 0x00c0, 0x264c: 0x00c0, 0x264d: 0x00c0, 0x264e: 0x00c0, 0x264f: 0x00c0, 0x2650: 0x00c0, 0x2651: 0x00c0, 0x2652: 0x00c0, 0x2653: 0x00c0, 0x2654: 0x00c0, 0x2655: 0x00c0, 0x2656: 0x00c0, 0x2657: 0x00c0, - 0x2658: 0x00c0, 0x2659: 0x00c0, 0x265a: 0x00c0, 0x265b: 0x00c0, 0x265c: 0x0080, 0x265d: 0x0080, - 0x265e: 0x00c3, 0x265f: 0x00c3, 0x2660: 0x00c0, 0x2661: 0x00c0, 0x2662: 0x00c0, 0x2663: 0x00c0, - 0x2664: 0x00c0, 0x2665: 0x00c0, 0x2666: 0x00c0, 0x2667: 0x00c0, 0x2668: 0x00c0, 0x2669: 0x00c0, - 0x266a: 0x00c0, 0x266b: 0x00c0, 0x266c: 0x00c0, 0x266d: 0x00c0, 0x266e: 0x00c0, 0x266f: 0x00c0, - 0x2670: 0x00c0, 0x2671: 0x00c0, 0x2672: 0x00c0, 0x2673: 0x00c0, 0x2674: 0x00c0, 0x2675: 0x00c0, - 0x2676: 0x00c0, 0x2677: 0x00c0, 0x2678: 0x00c0, 0x2679: 0x00c0, 0x267a: 0x00c0, 0x267b: 0x00c0, - 0x267c: 0x00c0, 0x267d: 0x00c0, 0x267e: 0x00c0, 0x267f: 0x00c0, + 0x2658: 0x00c0, 0x2659: 0x00c0, 0x265a: 0x00c0, 0x265b: 0x00c0, 0x265c: 0x00c0, 0x265d: 0x00c0, + 0x265e: 0x00c0, 0x265f: 0x00c0, 0x2660: 0x00c0, 0x2661: 0x00c0, 0x2662: 0x00c0, 0x2663: 0x00c0, + 0x2664: 0x00c0, 0x2665: 0x00c0, 0x2666: 0x0080, 0x2667: 0x0080, 0x2668: 0x0080, 0x2669: 0x0080, + 0x266a: 0x0080, 0x266b: 0x0080, 0x266c: 0x0080, 0x266d: 0x0080, 0x266e: 0x0080, 0x266f: 0x0080, + 0x2670: 0x00c3, 0x2671: 0x00c3, 0x2672: 0x0080, 0x2673: 0x0080, 0x2674: 0x0080, 0x2675: 0x0080, + 0x2676: 0x0080, 0x2677: 0x0080, // Block 0x9a, offset 0x2680 - 0x2680: 0x00c0, 0x2681: 0x00c0, 0x2682: 0x00c0, 0x2683: 0x00c0, 0x2684: 0x00c0, 0x2685: 0x00c0, - 0x2686: 0x00c0, 0x2687: 0x00c0, 0x2688: 0x00c0, 0x2689: 0x00c0, 0x268a: 0x00c0, 0x268b: 0x00c0, - 0x268c: 0x00c0, 0x268d: 0x00c0, 0x268e: 0x00c0, 0x268f: 0x00c0, 0x2690: 0x00c0, 0x2691: 0x00c0, - 0x2692: 0x00c0, 0x2693: 0x00c0, 0x2694: 0x00c0, 0x2695: 0x00c0, 0x2696: 0x00c0, 0x2697: 0x00c0, + 0x2680: 0x0080, 0x2681: 0x0080, 0x2682: 0x0080, 0x2683: 0x0080, 0x2684: 0x0080, 0x2685: 0x0080, + 0x2686: 0x0080, 0x2687: 0x0080, 0x2688: 0x0080, 0x2689: 0x0080, 0x268a: 0x0080, 0x268b: 0x0080, + 0x268c: 0x0080, 0x268d: 0x0080, 0x268e: 0x0080, 0x268f: 0x0080, 0x2690: 0x0080, 0x2691: 0x0080, + 0x2692: 0x0080, 0x2693: 0x0080, 0x2694: 0x0080, 0x2695: 0x0080, 0x2696: 0x0080, 0x2697: 0x00c0, 0x2698: 0x00c0, 0x2699: 0x00c0, 0x269a: 0x00c0, 0x269b: 0x00c0, 0x269c: 0x00c0, 0x269d: 0x00c0, - 0x269e: 0x00c0, 0x269f: 0x00c0, 0x26a0: 0x00c0, 0x26a1: 0x00c0, 0x26a2: 0x00c0, 0x26a3: 0x00c0, - 0x26a4: 0x00c0, 0x26a5: 0x00c0, 0x26a6: 0x0080, 0x26a7: 0x0080, 0x26a8: 0x0080, 0x26a9: 0x0080, - 0x26aa: 0x0080, 0x26ab: 0x0080, 0x26ac: 0x0080, 0x26ad: 0x0080, 0x26ae: 0x0080, 0x26af: 0x0080, - 0x26b0: 0x00c3, 0x26b1: 0x00c3, 0x26b2: 0x0080, 0x26b3: 0x0080, 0x26b4: 0x0080, 0x26b5: 0x0080, - 0x26b6: 0x0080, 0x26b7: 0x0080, + 0x269e: 0x00c0, 0x269f: 0x00c0, 0x26a0: 0x0080, 0x26a1: 0x0080, 0x26a2: 0x00c0, 0x26a3: 0x00c0, + 0x26a4: 0x00c0, 0x26a5: 0x00c0, 0x26a6: 0x00c0, 0x26a7: 0x00c0, 0x26a8: 0x00c0, 0x26a9: 0x00c0, + 0x26aa: 0x00c0, 0x26ab: 0x00c0, 0x26ac: 0x00c0, 0x26ad: 0x00c0, 0x26ae: 0x00c0, 0x26af: 0x00c0, + 0x26b0: 0x00c0, 0x26b1: 0x00c0, 0x26b2: 0x00c0, 0x26b3: 0x00c0, 0x26b4: 0x00c0, 0x26b5: 0x00c0, + 0x26b6: 0x00c0, 0x26b7: 0x00c0, 0x26b8: 0x00c0, 0x26b9: 0x00c0, 0x26ba: 0x00c0, 0x26bb: 0x00c0, + 0x26bc: 0x00c0, 0x26bd: 0x00c0, 0x26be: 0x00c0, 0x26bf: 0x00c0, // Block 0x9b, offset 0x26c0 - 0x26c0: 0x0080, 0x26c1: 0x0080, 0x26c2: 0x0080, 0x26c3: 0x0080, 0x26c4: 0x0080, 0x26c5: 0x0080, - 0x26c6: 0x0080, 0x26c7: 0x0080, 0x26c8: 0x0080, 0x26c9: 0x0080, 0x26ca: 0x0080, 0x26cb: 0x0080, - 0x26cc: 0x0080, 0x26cd: 0x0080, 0x26ce: 0x0080, 0x26cf: 0x0080, 0x26d0: 0x0080, 0x26d1: 0x0080, - 0x26d2: 0x0080, 0x26d3: 0x0080, 0x26d4: 0x0080, 0x26d5: 0x0080, 0x26d6: 0x0080, 0x26d7: 0x00c0, + 0x26c0: 0x00c0, 0x26c1: 0x00c0, 0x26c2: 0x00c0, 0x26c3: 0x00c0, 0x26c4: 0x00c0, 0x26c5: 0x00c0, + 0x26c6: 0x00c0, 0x26c7: 0x00c0, 0x26c8: 0x00c0, 0x26c9: 0x00c0, 0x26ca: 0x00c0, 0x26cb: 0x00c0, + 0x26cc: 0x00c0, 0x26cd: 0x00c0, 0x26ce: 0x00c0, 0x26cf: 0x00c0, 0x26d0: 0x00c0, 0x26d1: 0x00c0, + 0x26d2: 0x00c0, 0x26d3: 0x00c0, 0x26d4: 0x00c0, 0x26d5: 0x00c0, 0x26d6: 0x00c0, 0x26d7: 0x00c0, 0x26d8: 0x00c0, 0x26d9: 0x00c0, 0x26da: 0x00c0, 0x26db: 0x00c0, 0x26dc: 0x00c0, 0x26dd: 0x00c0, - 0x26de: 0x00c0, 0x26df: 0x00c0, 0x26e0: 0x0080, 0x26e1: 0x0080, 0x26e2: 0x00c0, 0x26e3: 0x00c0, + 0x26de: 0x00c0, 0x26df: 0x00c0, 0x26e0: 0x00c0, 0x26e1: 0x00c0, 0x26e2: 0x00c0, 0x26e3: 0x00c0, 0x26e4: 0x00c0, 0x26e5: 0x00c0, 0x26e6: 0x00c0, 0x26e7: 0x00c0, 0x26e8: 0x00c0, 0x26e9: 0x00c0, 0x26ea: 0x00c0, 0x26eb: 0x00c0, 0x26ec: 0x00c0, 0x26ed: 0x00c0, 0x26ee: 0x00c0, 0x26ef: 0x00c0, - 0x26f0: 0x00c0, 0x26f1: 0x00c0, 0x26f2: 0x00c0, 0x26f3: 0x00c0, 0x26f4: 0x00c0, 0x26f5: 0x00c0, + 0x26f0: 0x0080, 0x26f1: 0x00c0, 0x26f2: 0x00c0, 0x26f3: 0x00c0, 0x26f4: 0x00c0, 0x26f5: 0x00c0, 0x26f6: 0x00c0, 0x26f7: 0x00c0, 0x26f8: 0x00c0, 0x26f9: 0x00c0, 0x26fa: 0x00c0, 0x26fb: 0x00c0, 0x26fc: 0x00c0, 0x26fd: 0x00c0, 0x26fe: 0x00c0, 0x26ff: 0x00c0, // Block 0x9c, offset 0x2700 0x2700: 0x00c0, 0x2701: 0x00c0, 0x2702: 0x00c0, 0x2703: 0x00c0, 0x2704: 0x00c0, 0x2705: 0x00c0, - 0x2706: 0x00c0, 0x2707: 0x00c0, 0x2708: 0x00c0, 0x2709: 0x00c0, 0x270a: 0x00c0, 0x270b: 0x00c0, + 0x2706: 0x00c0, 0x2707: 0x00c0, 0x2708: 0x00c0, 0x2709: 0x0080, 0x270a: 0x0080, 0x270b: 0x00c0, 0x270c: 0x00c0, 0x270d: 0x00c0, 0x270e: 0x00c0, 0x270f: 0x00c0, 0x2710: 0x00c0, 0x2711: 0x00c0, 0x2712: 0x00c0, 0x2713: 0x00c0, 0x2714: 0x00c0, 0x2715: 0x00c0, 0x2716: 0x00c0, 0x2717: 0x00c0, 0x2718: 0x00c0, 0x2719: 0x00c0, 0x271a: 0x00c0, 0x271b: 0x00c0, 0x271c: 0x00c0, 0x271d: 0x00c0, 0x271e: 0x00c0, 0x271f: 0x00c0, 0x2720: 0x00c0, 0x2721: 0x00c0, 0x2722: 0x00c0, 0x2723: 0x00c0, 0x2724: 0x00c0, 0x2725: 0x00c0, 0x2726: 0x00c0, 0x2727: 0x00c0, 0x2728: 0x00c0, 0x2729: 0x00c0, - 0x272a: 0x00c0, 0x272b: 0x00c0, 0x272c: 0x00c0, 0x272d: 0x00c0, 0x272e: 0x00c0, 0x272f: 0x00c0, - 0x2730: 0x0080, 0x2731: 0x00c0, 0x2732: 0x00c0, 0x2733: 0x00c0, 0x2734: 0x00c0, 0x2735: 0x00c0, - 0x2736: 0x00c0, 0x2737: 0x00c0, 0x2738: 0x00c0, 0x2739: 0x00c0, 0x273a: 0x00c0, 0x273b: 0x00c0, - 0x273c: 0x00c0, 0x273d: 0x00c0, 0x273e: 0x00c0, 0x273f: 0x00c0, + 0x272a: 0x00c0, 0x272b: 0x00c0, 0x272c: 0x00c0, 0x272d: 0x00c0, 0x272e: 0x00c0, + 0x2730: 0x00c0, 0x2731: 0x00c0, 0x2732: 0x00c0, 0x2733: 0x00c0, 0x2734: 0x00c0, 0x2735: 0x00c0, + 0x2736: 0x00c0, 0x2737: 0x00c0, // Block 0x9d, offset 0x2740 - 0x2740: 0x00c0, 0x2741: 0x00c0, 0x2742: 0x00c0, 0x2743: 0x00c0, 0x2744: 0x00c0, 0x2745: 0x00c0, - 0x2746: 0x00c0, 0x2747: 0x00c0, 0x2748: 0x00c0, 0x2749: 0x0080, 0x274a: 0x0080, 0x274b: 0x00c0, - 0x274c: 0x00c0, 0x274d: 0x00c0, 0x274e: 0x00c0, 0x274f: 0x00c0, 0x2750: 0x00c0, 0x2751: 0x00c0, - 0x2752: 0x00c0, 0x2753: 0x00c0, 0x2754: 0x00c0, 0x2755: 0x00c0, 0x2756: 0x00c0, 0x2757: 0x00c0, - 0x2758: 0x00c0, 0x2759: 0x00c0, 0x275a: 0x00c0, 0x275b: 0x00c0, 0x275c: 0x00c0, 0x275d: 0x00c0, - 0x275e: 0x00c0, 0x275f: 0x00c0, 0x2760: 0x00c0, 0x2761: 0x00c0, 0x2762: 0x00c0, 0x2763: 0x00c0, - 0x2764: 0x00c0, 0x2765: 0x00c0, 0x2766: 0x00c0, 0x2767: 0x00c0, 0x2768: 0x00c0, 0x2769: 0x00c0, - 0x276a: 0x00c0, 0x276b: 0x00c0, 0x276c: 0x00c0, 0x276d: 0x00c0, 0x276e: 0x00c0, - 0x2770: 0x00c0, 0x2771: 0x00c0, 0x2772: 0x00c0, 0x2773: 0x00c0, 0x2774: 0x00c0, 0x2775: 0x00c0, - 0x2776: 0x00c0, 0x2777: 0x00c0, + 0x2777: 0x00c0, 0x2778: 0x0080, 0x2779: 0x0080, 0x277a: 0x00c0, 0x277b: 0x00c0, + 0x277c: 0x00c0, 0x277d: 0x00c0, 0x277e: 0x00c0, 0x277f: 0x00c0, // Block 0x9e, offset 0x2780 - 0x27b7: 0x00c0, 0x27b8: 0x0080, 0x27b9: 0x0080, 0x27ba: 0x00c0, 0x27bb: 0x00c0, - 0x27bc: 0x00c0, 0x27bd: 0x00c0, 0x27be: 0x00c0, 0x27bf: 0x00c0, + 0x2780: 0x00c0, 0x2781: 0x00c0, 0x2782: 0x00c3, 0x2783: 0x00c0, 0x2784: 0x00c0, 0x2785: 0x00c0, + 0x2786: 0x00c6, 0x2787: 0x00c0, 0x2788: 0x00c0, 0x2789: 0x00c0, 0x278a: 0x00c0, 0x278b: 0x00c3, + 0x278c: 0x00c0, 0x278d: 0x00c0, 0x278e: 0x00c0, 0x278f: 0x00c0, 0x2790: 0x00c0, 0x2791: 0x00c0, + 0x2792: 0x00c0, 0x2793: 0x00c0, 0x2794: 0x00c0, 0x2795: 0x00c0, 0x2796: 0x00c0, 0x2797: 0x00c0, + 0x2798: 0x00c0, 0x2799: 0x00c0, 0x279a: 0x00c0, 0x279b: 0x00c0, 0x279c: 0x00c0, 0x279d: 0x00c0, + 0x279e: 0x00c0, 0x279f: 0x00c0, 0x27a0: 0x00c0, 0x27a1: 0x00c0, 0x27a2: 0x00c0, 0x27a3: 0x00c0, + 0x27a4: 0x00c0, 0x27a5: 0x00c3, 0x27a6: 0x00c3, 0x27a7: 0x00c0, 0x27a8: 0x0080, 0x27a9: 0x0080, + 0x27aa: 0x0080, 0x27ab: 0x0080, + 0x27b0: 0x0080, 0x27b1: 0x0080, 0x27b2: 0x0080, 0x27b3: 0x0080, 0x27b4: 0x0080, 0x27b5: 0x0080, + 0x27b6: 0x0080, 0x27b7: 0x0080, 0x27b8: 0x0080, 0x27b9: 0x0080, // Block 0x9f, offset 0x27c0 - 0x27c0: 0x00c0, 0x27c1: 0x00c0, 0x27c2: 0x00c3, 0x27c3: 0x00c0, 0x27c4: 0x00c0, 0x27c5: 0x00c0, - 0x27c6: 0x00c6, 0x27c7: 0x00c0, 0x27c8: 0x00c0, 0x27c9: 0x00c0, 0x27ca: 0x00c0, 0x27cb: 0x00c3, - 0x27cc: 0x00c0, 0x27cd: 0x00c0, 0x27ce: 0x00c0, 0x27cf: 0x00c0, 0x27d0: 0x00c0, 0x27d1: 0x00c0, - 0x27d2: 0x00c0, 0x27d3: 0x00c0, 0x27d4: 0x00c0, 0x27d5: 0x00c0, 0x27d6: 0x00c0, 0x27d7: 0x00c0, - 0x27d8: 0x00c0, 0x27d9: 0x00c0, 0x27da: 0x00c0, 0x27db: 0x00c0, 0x27dc: 0x00c0, 0x27dd: 0x00c0, - 0x27de: 0x00c0, 0x27df: 0x00c0, 0x27e0: 0x00c0, 0x27e1: 0x00c0, 0x27e2: 0x00c0, 0x27e3: 0x00c0, - 0x27e4: 0x00c0, 0x27e5: 0x00c3, 0x27e6: 0x00c3, 0x27e7: 0x00c0, 0x27e8: 0x0080, 0x27e9: 0x0080, - 0x27ea: 0x0080, 0x27eb: 0x0080, - 0x27f0: 0x0080, 0x27f1: 0x0080, 0x27f2: 0x0080, 0x27f3: 0x0080, 0x27f4: 0x0080, 0x27f5: 0x0080, - 0x27f6: 0x0080, 0x27f7: 0x0080, 0x27f8: 0x0080, 0x27f9: 0x0080, + 0x27c0: 0x00c2, 0x27c1: 0x00c2, 0x27c2: 0x00c2, 0x27c3: 0x00c2, 0x27c4: 0x00c2, 0x27c5: 0x00c2, + 0x27c6: 0x00c2, 0x27c7: 0x00c2, 0x27c8: 0x00c2, 0x27c9: 0x00c2, 0x27ca: 0x00c2, 0x27cb: 0x00c2, + 0x27cc: 0x00c2, 0x27cd: 0x00c2, 0x27ce: 0x00c2, 0x27cf: 0x00c2, 0x27d0: 0x00c2, 0x27d1: 0x00c2, + 0x27d2: 0x00c2, 0x27d3: 0x00c2, 0x27d4: 0x00c2, 0x27d5: 0x00c2, 0x27d6: 0x00c2, 0x27d7: 0x00c2, + 0x27d8: 0x00c2, 0x27d9: 0x00c2, 0x27da: 0x00c2, 0x27db: 0x00c2, 0x27dc: 0x00c2, 0x27dd: 0x00c2, + 0x27de: 0x00c2, 0x27df: 0x00c2, 0x27e0: 0x00c2, 0x27e1: 0x00c2, 0x27e2: 0x00c2, 0x27e3: 0x00c2, + 0x27e4: 0x00c2, 0x27e5: 0x00c2, 0x27e6: 0x00c2, 0x27e7: 0x00c2, 0x27e8: 0x00c2, 0x27e9: 0x00c2, + 0x27ea: 0x00c2, 0x27eb: 0x00c2, 0x27ec: 0x00c2, 0x27ed: 0x00c2, 0x27ee: 0x00c2, 0x27ef: 0x00c2, + 0x27f0: 0x00c2, 0x27f1: 0x00c2, 0x27f2: 0x00c1, 0x27f3: 0x00c0, 0x27f4: 0x0080, 0x27f5: 0x0080, + 0x27f6: 0x0080, 0x27f7: 0x0080, // Block 0xa0, offset 0x2800 - 0x2800: 0x00c2, 0x2801: 0x00c2, 0x2802: 0x00c2, 0x2803: 0x00c2, 0x2804: 0x00c2, 0x2805: 0x00c2, - 0x2806: 0x00c2, 0x2807: 0x00c2, 0x2808: 0x00c2, 0x2809: 0x00c2, 0x280a: 0x00c2, 0x280b: 0x00c2, - 0x280c: 0x00c2, 0x280d: 0x00c2, 0x280e: 0x00c2, 0x280f: 0x00c2, 0x2810: 0x00c2, 0x2811: 0x00c2, - 0x2812: 0x00c2, 0x2813: 0x00c2, 0x2814: 0x00c2, 0x2815: 0x00c2, 0x2816: 0x00c2, 0x2817: 0x00c2, - 0x2818: 0x00c2, 0x2819: 0x00c2, 0x281a: 0x00c2, 0x281b: 0x00c2, 0x281c: 0x00c2, 0x281d: 0x00c2, - 0x281e: 0x00c2, 0x281f: 0x00c2, 0x2820: 0x00c2, 0x2821: 0x00c2, 0x2822: 0x00c2, 0x2823: 0x00c2, - 0x2824: 0x00c2, 0x2825: 0x00c2, 0x2826: 0x00c2, 0x2827: 0x00c2, 0x2828: 0x00c2, 0x2829: 0x00c2, - 0x282a: 0x00c2, 0x282b: 0x00c2, 0x282c: 0x00c2, 0x282d: 0x00c2, 0x282e: 0x00c2, 0x282f: 0x00c2, - 0x2830: 0x00c2, 0x2831: 0x00c2, 0x2832: 0x00c1, 0x2833: 0x00c0, 0x2834: 0x0080, 0x2835: 0x0080, - 0x2836: 0x0080, 0x2837: 0x0080, + 0x2800: 0x00c0, 0x2801: 0x00c0, 0x2802: 0x00c0, 0x2803: 0x00c0, 0x2804: 0x00c6, 0x2805: 0x00c3, + 0x280e: 0x0080, 0x280f: 0x0080, 0x2810: 0x00c0, 0x2811: 0x00c0, + 0x2812: 0x00c0, 0x2813: 0x00c0, 0x2814: 0x00c0, 0x2815: 0x00c0, 0x2816: 0x00c0, 0x2817: 0x00c0, + 0x2818: 0x00c0, 0x2819: 0x00c0, + 0x2820: 0x00c3, 0x2821: 0x00c3, 0x2822: 0x00c3, 0x2823: 0x00c3, + 0x2824: 0x00c3, 0x2825: 0x00c3, 0x2826: 0x00c3, 0x2827: 0x00c3, 0x2828: 0x00c3, 0x2829: 0x00c3, + 0x282a: 0x00c3, 0x282b: 0x00c3, 0x282c: 0x00c3, 0x282d: 0x00c3, 0x282e: 0x00c3, 0x282f: 0x00c3, + 0x2830: 0x00c3, 0x2831: 0x00c3, 0x2832: 0x00c0, 0x2833: 0x00c0, 0x2834: 0x00c0, 0x2835: 0x00c0, + 0x2836: 0x00c0, 0x2837: 0x00c0, 0x2838: 0x0080, 0x2839: 0x0080, 0x283a: 0x0080, 0x283b: 0x00c0, + 0x283c: 0x0080, 0x283d: 0x00c0, // Block 0xa1, offset 0x2840 - 0x2840: 0x00c0, 0x2841: 0x00c0, 0x2842: 0x00c0, 0x2843: 0x00c0, 0x2844: 0x00c6, 0x2845: 0x00c3, - 0x284e: 0x0080, 0x284f: 0x0080, 0x2850: 0x00c0, 0x2851: 0x00c0, + 0x2840: 0x00c0, 0x2841: 0x00c0, 0x2842: 0x00c0, 0x2843: 0x00c0, 0x2844: 0x00c0, 0x2845: 0x00c0, + 0x2846: 0x00c0, 0x2847: 0x00c0, 0x2848: 0x00c0, 0x2849: 0x00c0, 0x284a: 0x00c0, 0x284b: 0x00c0, + 0x284c: 0x00c0, 0x284d: 0x00c0, 0x284e: 0x00c0, 0x284f: 0x00c0, 0x2850: 0x00c0, 0x2851: 0x00c0, 0x2852: 0x00c0, 0x2853: 0x00c0, 0x2854: 0x00c0, 0x2855: 0x00c0, 0x2856: 0x00c0, 0x2857: 0x00c0, - 0x2858: 0x00c0, 0x2859: 0x00c0, - 0x2860: 0x00c3, 0x2861: 0x00c3, 0x2862: 0x00c3, 0x2863: 0x00c3, - 0x2864: 0x00c3, 0x2865: 0x00c3, 0x2866: 0x00c3, 0x2867: 0x00c3, 0x2868: 0x00c3, 0x2869: 0x00c3, - 0x286a: 0x00c3, 0x286b: 0x00c3, 0x286c: 0x00c3, 0x286d: 0x00c3, 0x286e: 0x00c3, 0x286f: 0x00c3, - 0x2870: 0x00c3, 0x2871: 0x00c3, 0x2872: 0x00c0, 0x2873: 0x00c0, 0x2874: 0x00c0, 0x2875: 0x00c0, - 0x2876: 0x00c0, 0x2877: 0x00c0, 0x2878: 0x0080, 0x2879: 0x0080, 0x287a: 0x0080, 0x287b: 0x00c0, - 0x287c: 0x0080, 0x287d: 0x00c0, + 0x2858: 0x00c0, 0x2859: 0x00c0, 0x285a: 0x00c0, 0x285b: 0x00c0, 0x285c: 0x00c0, 0x285d: 0x00c0, + 0x285e: 0x00c0, 0x285f: 0x00c0, 0x2860: 0x00c0, 0x2861: 0x00c0, 0x2862: 0x00c0, 0x2863: 0x00c0, + 0x2864: 0x00c0, 0x2865: 0x00c0, 0x2866: 0x00c3, 0x2867: 0x00c3, 0x2868: 0x00c3, 0x2869: 0x00c3, + 0x286a: 0x00c3, 0x286b: 0x00c3, 0x286c: 0x00c3, 0x286d: 0x00c3, 0x286e: 0x0080, 0x286f: 0x0080, + 0x2870: 0x00c0, 0x2871: 0x00c0, 0x2872: 0x00c0, 0x2873: 0x00c0, 0x2874: 0x00c0, 0x2875: 0x00c0, + 0x2876: 0x00c0, 0x2877: 0x00c0, 0x2878: 0x00c0, 0x2879: 0x00c0, 0x287a: 0x00c0, 0x287b: 0x00c0, + 0x287c: 0x00c0, 0x287d: 0x00c0, 0x287e: 0x00c0, 0x287f: 0x00c0, // Block 0xa2, offset 0x2880 0x2880: 0x00c0, 0x2881: 0x00c0, 0x2882: 0x00c0, 0x2883: 0x00c0, 0x2884: 0x00c0, 0x2885: 0x00c0, - 0x2886: 0x00c0, 0x2887: 0x00c0, 0x2888: 0x00c0, 0x2889: 0x00c0, 0x288a: 0x00c0, 0x288b: 0x00c0, - 0x288c: 0x00c0, 0x288d: 0x00c0, 0x288e: 0x00c0, 0x288f: 0x00c0, 0x2890: 0x00c0, 0x2891: 0x00c0, - 0x2892: 0x00c0, 0x2893: 0x00c0, 0x2894: 0x00c0, 0x2895: 0x00c0, 0x2896: 0x00c0, 0x2897: 0x00c0, - 0x2898: 0x00c0, 0x2899: 0x00c0, 0x289a: 0x00c0, 0x289b: 0x00c0, 0x289c: 0x00c0, 0x289d: 0x00c0, - 0x289e: 0x00c0, 0x289f: 0x00c0, 0x28a0: 0x00c0, 0x28a1: 0x00c0, 0x28a2: 0x00c0, 0x28a3: 0x00c0, - 0x28a4: 0x00c0, 0x28a5: 0x00c0, 0x28a6: 0x00c3, 0x28a7: 0x00c3, 0x28a8: 0x00c3, 0x28a9: 0x00c3, - 0x28aa: 0x00c3, 0x28ab: 0x00c3, 0x28ac: 0x00c3, 0x28ad: 0x00c3, 0x28ae: 0x0080, 0x28af: 0x0080, - 0x28b0: 0x00c0, 0x28b1: 0x00c0, 0x28b2: 0x00c0, 0x28b3: 0x00c0, 0x28b4: 0x00c0, 0x28b5: 0x00c0, - 0x28b6: 0x00c0, 0x28b7: 0x00c0, 0x28b8: 0x00c0, 0x28b9: 0x00c0, 0x28ba: 0x00c0, 0x28bb: 0x00c0, - 0x28bc: 0x00c0, 0x28bd: 0x00c0, 0x28be: 0x00c0, 0x28bf: 0x00c0, + 0x2886: 0x00c0, 0x2887: 0x00c3, 0x2888: 0x00c3, 0x2889: 0x00c3, 0x288a: 0x00c3, 0x288b: 0x00c3, + 0x288c: 0x00c3, 0x288d: 0x00c3, 0x288e: 0x00c3, 0x288f: 0x00c3, 0x2890: 0x00c3, 0x2891: 0x00c3, + 0x2892: 0x00c0, 0x2893: 0x00c5, + 0x289f: 0x0080, 0x28a0: 0x0040, 0x28a1: 0x0040, 0x28a2: 0x0040, 0x28a3: 0x0040, + 0x28a4: 0x0040, 0x28a5: 0x0040, 0x28a6: 0x0040, 0x28a7: 0x0040, 0x28a8: 0x0040, 0x28a9: 0x0040, + 0x28aa: 0x0040, 0x28ab: 0x0040, 0x28ac: 0x0040, 0x28ad: 0x0040, 0x28ae: 0x0040, 0x28af: 0x0040, + 0x28b0: 0x0040, 0x28b1: 0x0040, 0x28b2: 0x0040, 0x28b3: 0x0040, 0x28b4: 0x0040, 0x28b5: 0x0040, + 0x28b6: 0x0040, 0x28b7: 0x0040, 0x28b8: 0x0040, 0x28b9: 0x0040, 0x28ba: 0x0040, 0x28bb: 0x0040, + 0x28bc: 0x0040, // Block 0xa3, offset 0x28c0 - 0x28c0: 0x00c0, 0x28c1: 0x00c0, 0x28c2: 0x00c0, 0x28c3: 0x00c0, 0x28c4: 0x00c0, 0x28c5: 0x00c0, - 0x28c6: 0x00c0, 0x28c7: 0x00c3, 0x28c8: 0x00c3, 0x28c9: 0x00c3, 0x28ca: 0x00c3, 0x28cb: 0x00c3, - 0x28cc: 0x00c3, 0x28cd: 0x00c3, 0x28ce: 0x00c3, 0x28cf: 0x00c3, 0x28d0: 0x00c3, 0x28d1: 0x00c3, - 0x28d2: 0x00c0, 0x28d3: 0x00c5, - 0x28df: 0x0080, 0x28e0: 0x0040, 0x28e1: 0x0040, 0x28e2: 0x0040, 0x28e3: 0x0040, - 0x28e4: 0x0040, 0x28e5: 0x0040, 0x28e6: 0x0040, 0x28e7: 0x0040, 0x28e8: 0x0040, 0x28e9: 0x0040, - 0x28ea: 0x0040, 0x28eb: 0x0040, 0x28ec: 0x0040, 0x28ed: 0x0040, 0x28ee: 0x0040, 0x28ef: 0x0040, - 0x28f0: 0x0040, 0x28f1: 0x0040, 0x28f2: 0x0040, 0x28f3: 0x0040, 0x28f4: 0x0040, 0x28f5: 0x0040, - 0x28f6: 0x0040, 0x28f7: 0x0040, 0x28f8: 0x0040, 0x28f9: 0x0040, 0x28fa: 0x0040, 0x28fb: 0x0040, - 0x28fc: 0x0040, + 0x28c0: 0x00c3, 0x28c1: 0x00c3, 0x28c2: 0x00c3, 0x28c3: 0x00c0, 0x28c4: 0x00c0, 0x28c5: 0x00c0, + 0x28c6: 0x00c0, 0x28c7: 0x00c0, 0x28c8: 0x00c0, 0x28c9: 0x00c0, 0x28ca: 0x00c0, 0x28cb: 0x00c0, + 0x28cc: 0x00c0, 0x28cd: 0x00c0, 0x28ce: 0x00c0, 0x28cf: 0x00c0, 0x28d0: 0x00c0, 0x28d1: 0x00c0, + 0x28d2: 0x00c0, 0x28d3: 0x00c0, 0x28d4: 0x00c0, 0x28d5: 0x00c0, 0x28d6: 0x00c0, 0x28d7: 0x00c0, + 0x28d8: 0x00c0, 0x28d9: 0x00c0, 0x28da: 0x00c0, 0x28db: 0x00c0, 0x28dc: 0x00c0, 0x28dd: 0x00c0, + 0x28de: 0x00c0, 0x28df: 0x00c0, 0x28e0: 0x00c0, 0x28e1: 0x00c0, 0x28e2: 0x00c0, 0x28e3: 0x00c0, + 0x28e4: 0x00c0, 0x28e5: 0x00c0, 0x28e6: 0x00c0, 0x28e7: 0x00c0, 0x28e8: 0x00c0, 0x28e9: 0x00c0, + 0x28ea: 0x00c0, 0x28eb: 0x00c0, 0x28ec: 0x00c0, 0x28ed: 0x00c0, 0x28ee: 0x00c0, 0x28ef: 0x00c0, + 0x28f0: 0x00c0, 0x28f1: 0x00c0, 0x28f2: 0x00c0, 0x28f3: 0x00c3, 0x28f4: 0x00c0, 0x28f5: 0x00c0, + 0x28f6: 0x00c3, 0x28f7: 0x00c3, 0x28f8: 0x00c3, 0x28f9: 0x00c3, 0x28fa: 0x00c0, 0x28fb: 0x00c0, + 0x28fc: 0x00c3, 0x28fd: 0x00c0, 0x28fe: 0x00c0, 0x28ff: 0x00c0, // Block 0xa4, offset 0x2900 - 0x2900: 0x00c3, 0x2901: 0x00c3, 0x2902: 0x00c3, 0x2903: 0x00c0, 0x2904: 0x00c0, 0x2905: 0x00c0, - 0x2906: 0x00c0, 0x2907: 0x00c0, 0x2908: 0x00c0, 0x2909: 0x00c0, 0x290a: 0x00c0, 0x290b: 0x00c0, - 0x290c: 0x00c0, 0x290d: 0x00c0, 0x290e: 0x00c0, 0x290f: 0x00c0, 0x2910: 0x00c0, 0x2911: 0x00c0, + 0x2900: 0x00c5, 0x2901: 0x0080, 0x2902: 0x0080, 0x2903: 0x0080, 0x2904: 0x0080, 0x2905: 0x0080, + 0x2906: 0x0080, 0x2907: 0x0080, 0x2908: 0x0080, 0x2909: 0x0080, 0x290a: 0x0080, 0x290b: 0x0080, + 0x290c: 0x0080, 0x290d: 0x0080, 0x290f: 0x00c0, 0x2910: 0x00c0, 0x2911: 0x00c0, 0x2912: 0x00c0, 0x2913: 0x00c0, 0x2914: 0x00c0, 0x2915: 0x00c0, 0x2916: 0x00c0, 0x2917: 0x00c0, - 0x2918: 0x00c0, 0x2919: 0x00c0, 0x291a: 0x00c0, 0x291b: 0x00c0, 0x291c: 0x00c0, 0x291d: 0x00c0, - 0x291e: 0x00c0, 0x291f: 0x00c0, 0x2920: 0x00c0, 0x2921: 0x00c0, 0x2922: 0x00c0, 0x2923: 0x00c0, - 0x2924: 0x00c0, 0x2925: 0x00c0, 0x2926: 0x00c0, 0x2927: 0x00c0, 0x2928: 0x00c0, 0x2929: 0x00c0, + 0x2918: 0x00c0, 0x2919: 0x00c0, + 0x291e: 0x0080, 0x291f: 0x0080, 0x2920: 0x00c0, 0x2921: 0x00c0, 0x2922: 0x00c0, 0x2923: 0x00c0, + 0x2924: 0x00c0, 0x2925: 0x00c3, 0x2926: 0x00c0, 0x2927: 0x00c0, 0x2928: 0x00c0, 0x2929: 0x00c0, 0x292a: 0x00c0, 0x292b: 0x00c0, 0x292c: 0x00c0, 0x292d: 0x00c0, 0x292e: 0x00c0, 0x292f: 0x00c0, - 0x2930: 0x00c0, 0x2931: 0x00c0, 0x2932: 0x00c0, 0x2933: 0x00c3, 0x2934: 0x00c0, 0x2935: 0x00c0, - 0x2936: 0x00c3, 0x2937: 0x00c3, 0x2938: 0x00c3, 0x2939: 0x00c3, 0x293a: 0x00c0, 0x293b: 0x00c0, - 0x293c: 0x00c3, 0x293d: 0x00c0, 0x293e: 0x00c0, 0x293f: 0x00c0, + 0x2930: 0x00c0, 0x2931: 0x00c0, 0x2932: 0x00c0, 0x2933: 0x00c0, 0x2934: 0x00c0, 0x2935: 0x00c0, + 0x2936: 0x00c0, 0x2937: 0x00c0, 0x2938: 0x00c0, 0x2939: 0x00c0, 0x293a: 0x00c0, 0x293b: 0x00c0, + 0x293c: 0x00c0, 0x293d: 0x00c0, 0x293e: 0x00c0, // Block 0xa5, offset 0x2940 - 0x2940: 0x00c5, 0x2941: 0x0080, 0x2942: 0x0080, 0x2943: 0x0080, 0x2944: 0x0080, 0x2945: 0x0080, - 0x2946: 0x0080, 0x2947: 0x0080, 0x2948: 0x0080, 0x2949: 0x0080, 0x294a: 0x0080, 0x294b: 0x0080, - 0x294c: 0x0080, 0x294d: 0x0080, 0x294f: 0x00c0, 0x2950: 0x00c0, 0x2951: 0x00c0, + 0x2940: 0x00c0, 0x2941: 0x00c0, 0x2942: 0x00c0, 0x2943: 0x00c0, 0x2944: 0x00c0, 0x2945: 0x00c0, + 0x2946: 0x00c0, 0x2947: 0x00c0, 0x2948: 0x00c0, 0x2949: 0x00c0, 0x294a: 0x00c0, 0x294b: 0x00c0, + 0x294c: 0x00c0, 0x294d: 0x00c0, 0x294e: 0x00c0, 0x294f: 0x00c0, 0x2950: 0x00c0, 0x2951: 0x00c0, 0x2952: 0x00c0, 0x2953: 0x00c0, 0x2954: 0x00c0, 0x2955: 0x00c0, 0x2956: 0x00c0, 0x2957: 0x00c0, - 0x2958: 0x00c0, 0x2959: 0x00c0, - 0x295e: 0x0080, 0x295f: 0x0080, 0x2960: 0x00c0, 0x2961: 0x00c0, 0x2962: 0x00c0, 0x2963: 0x00c0, - 0x2964: 0x00c0, 0x2965: 0x00c3, 0x2966: 0x00c0, 0x2967: 0x00c0, 0x2968: 0x00c0, 0x2969: 0x00c0, - 0x296a: 0x00c0, 0x296b: 0x00c0, 0x296c: 0x00c0, 0x296d: 0x00c0, 0x296e: 0x00c0, 0x296f: 0x00c0, - 0x2970: 0x00c0, 0x2971: 0x00c0, 0x2972: 0x00c0, 0x2973: 0x00c0, 0x2974: 0x00c0, 0x2975: 0x00c0, - 0x2976: 0x00c0, 0x2977: 0x00c0, 0x2978: 0x00c0, 0x2979: 0x00c0, 0x297a: 0x00c0, 0x297b: 0x00c0, - 0x297c: 0x00c0, 0x297d: 0x00c0, 0x297e: 0x00c0, + 0x2958: 0x00c0, 0x2959: 0x00c0, 0x295a: 0x00c0, 0x295b: 0x00c0, 0x295c: 0x00c0, 0x295d: 0x00c0, + 0x295e: 0x00c0, 0x295f: 0x00c0, 0x2960: 0x00c0, 0x2961: 0x00c0, 0x2962: 0x00c0, 0x2963: 0x00c0, + 0x2964: 0x00c0, 0x2965: 0x00c0, 0x2966: 0x00c0, 0x2967: 0x00c0, 0x2968: 0x00c0, 0x2969: 0x00c3, + 0x296a: 0x00c3, 0x296b: 0x00c3, 0x296c: 0x00c3, 0x296d: 0x00c3, 0x296e: 0x00c3, 0x296f: 0x00c0, + 0x2970: 0x00c0, 0x2971: 0x00c3, 0x2972: 0x00c3, 0x2973: 0x00c0, 0x2974: 0x00c0, 0x2975: 0x00c3, + 0x2976: 0x00c3, // Block 0xa6, offset 0x2980 - 0x2980: 0x00c0, 0x2981: 0x00c0, 0x2982: 0x00c0, 0x2983: 0x00c0, 0x2984: 0x00c0, 0x2985: 0x00c0, + 0x2980: 0x00c0, 0x2981: 0x00c0, 0x2982: 0x00c0, 0x2983: 0x00c3, 0x2984: 0x00c0, 0x2985: 0x00c0, 0x2986: 0x00c0, 0x2987: 0x00c0, 0x2988: 0x00c0, 0x2989: 0x00c0, 0x298a: 0x00c0, 0x298b: 0x00c0, - 0x298c: 0x00c0, 0x298d: 0x00c0, 0x298e: 0x00c0, 0x298f: 0x00c0, 0x2990: 0x00c0, 0x2991: 0x00c0, + 0x298c: 0x00c3, 0x298d: 0x00c0, 0x2990: 0x00c0, 0x2991: 0x00c0, 0x2992: 0x00c0, 0x2993: 0x00c0, 0x2994: 0x00c0, 0x2995: 0x00c0, 0x2996: 0x00c0, 0x2997: 0x00c0, - 0x2998: 0x00c0, 0x2999: 0x00c0, 0x299a: 0x00c0, 0x299b: 0x00c0, 0x299c: 0x00c0, 0x299d: 0x00c0, - 0x299e: 0x00c0, 0x299f: 0x00c0, 0x29a0: 0x00c0, 0x29a1: 0x00c0, 0x29a2: 0x00c0, 0x29a3: 0x00c0, - 0x29a4: 0x00c0, 0x29a5: 0x00c0, 0x29a6: 0x00c0, 0x29a7: 0x00c0, 0x29a8: 0x00c0, 0x29a9: 0x00c3, - 0x29aa: 0x00c3, 0x29ab: 0x00c3, 0x29ac: 0x00c3, 0x29ad: 0x00c3, 0x29ae: 0x00c3, 0x29af: 0x00c0, - 0x29b0: 0x00c0, 0x29b1: 0x00c3, 0x29b2: 0x00c3, 0x29b3: 0x00c0, 0x29b4: 0x00c0, 0x29b5: 0x00c3, - 0x29b6: 0x00c3, + 0x2998: 0x00c0, 0x2999: 0x00c0, 0x299c: 0x0080, 0x299d: 0x0080, + 0x299e: 0x0080, 0x299f: 0x0080, 0x29a0: 0x00c0, 0x29a1: 0x00c0, 0x29a2: 0x00c0, 0x29a3: 0x00c0, + 0x29a4: 0x00c0, 0x29a5: 0x00c0, 0x29a6: 0x00c0, 0x29a7: 0x00c0, 0x29a8: 0x00c0, 0x29a9: 0x00c0, + 0x29aa: 0x00c0, 0x29ab: 0x00c0, 0x29ac: 0x00c0, 0x29ad: 0x00c0, 0x29ae: 0x00c0, 0x29af: 0x00c0, + 0x29b0: 0x00c0, 0x29b1: 0x00c0, 0x29b2: 0x00c0, 0x29b3: 0x00c0, 0x29b4: 0x00c0, 0x29b5: 0x00c0, + 0x29b6: 0x00c0, 0x29b7: 0x0080, 0x29b8: 0x0080, 0x29b9: 0x0080, 0x29ba: 0x00c0, 0x29bb: 0x00c0, + 0x29bc: 0x00c3, 0x29bd: 0x00c0, 0x29be: 0x00c0, 0x29bf: 0x00c0, // Block 0xa7, offset 0x29c0 - 0x29c0: 0x00c0, 0x29c1: 0x00c0, 0x29c2: 0x00c0, 0x29c3: 0x00c3, 0x29c4: 0x00c0, 0x29c5: 0x00c0, + 0x29c0: 0x00c0, 0x29c1: 0x00c0, 0x29c2: 0x00c0, 0x29c3: 0x00c0, 0x29c4: 0x00c0, 0x29c5: 0x00c0, 0x29c6: 0x00c0, 0x29c7: 0x00c0, 0x29c8: 0x00c0, 0x29c9: 0x00c0, 0x29ca: 0x00c0, 0x29cb: 0x00c0, - 0x29cc: 0x00c3, 0x29cd: 0x00c0, 0x29d0: 0x00c0, 0x29d1: 0x00c0, + 0x29cc: 0x00c0, 0x29cd: 0x00c0, 0x29ce: 0x00c0, 0x29cf: 0x00c0, 0x29d0: 0x00c0, 0x29d1: 0x00c0, 0x29d2: 0x00c0, 0x29d3: 0x00c0, 0x29d4: 0x00c0, 0x29d5: 0x00c0, 0x29d6: 0x00c0, 0x29d7: 0x00c0, - 0x29d8: 0x00c0, 0x29d9: 0x00c0, 0x29dc: 0x0080, 0x29dd: 0x0080, - 0x29de: 0x0080, 0x29df: 0x0080, 0x29e0: 0x00c0, 0x29e1: 0x00c0, 0x29e2: 0x00c0, 0x29e3: 0x00c0, + 0x29d8: 0x00c0, 0x29d9: 0x00c0, 0x29da: 0x00c0, 0x29db: 0x00c0, 0x29dc: 0x00c0, 0x29dd: 0x00c0, + 0x29de: 0x00c0, 0x29df: 0x00c0, 0x29e0: 0x00c0, 0x29e1: 0x00c0, 0x29e2: 0x00c0, 0x29e3: 0x00c0, 0x29e4: 0x00c0, 0x29e5: 0x00c0, 0x29e6: 0x00c0, 0x29e7: 0x00c0, 0x29e8: 0x00c0, 0x29e9: 0x00c0, 0x29ea: 0x00c0, 0x29eb: 0x00c0, 0x29ec: 0x00c0, 0x29ed: 0x00c0, 0x29ee: 0x00c0, 0x29ef: 0x00c0, - 0x29f0: 0x00c0, 0x29f1: 0x00c0, 0x29f2: 0x00c0, 0x29f3: 0x00c0, 0x29f4: 0x00c0, 0x29f5: 0x00c0, - 0x29f6: 0x00c0, 0x29f7: 0x0080, 0x29f8: 0x0080, 0x29f9: 0x0080, 0x29fa: 0x00c0, 0x29fb: 0x00c0, - 0x29fc: 0x00c3, 0x29fd: 0x00c0, 0x29fe: 0x00c0, 0x29ff: 0x00c0, + 0x29f0: 0x00c3, 0x29f1: 0x00c0, 0x29f2: 0x00c3, 0x29f3: 0x00c3, 0x29f4: 0x00c3, 0x29f5: 0x00c0, + 0x29f6: 0x00c0, 0x29f7: 0x00c3, 0x29f8: 0x00c3, 0x29f9: 0x00c0, 0x29fa: 0x00c0, 0x29fb: 0x00c0, + 0x29fc: 0x00c0, 0x29fd: 0x00c0, 0x29fe: 0x00c3, 0x29ff: 0x00c3, // Block 0xa8, offset 0x2a00 - 0x2a00: 0x00c0, 0x2a01: 0x00c0, 0x2a02: 0x00c0, 0x2a03: 0x00c0, 0x2a04: 0x00c0, 0x2a05: 0x00c0, - 0x2a06: 0x00c0, 0x2a07: 0x00c0, 0x2a08: 0x00c0, 0x2a09: 0x00c0, 0x2a0a: 0x00c0, 0x2a0b: 0x00c0, - 0x2a0c: 0x00c0, 0x2a0d: 0x00c0, 0x2a0e: 0x00c0, 0x2a0f: 0x00c0, 0x2a10: 0x00c0, 0x2a11: 0x00c0, - 0x2a12: 0x00c0, 0x2a13: 0x00c0, 0x2a14: 0x00c0, 0x2a15: 0x00c0, 0x2a16: 0x00c0, 0x2a17: 0x00c0, - 0x2a18: 0x00c0, 0x2a19: 0x00c0, 0x2a1a: 0x00c0, 0x2a1b: 0x00c0, 0x2a1c: 0x00c0, 0x2a1d: 0x00c0, - 0x2a1e: 0x00c0, 0x2a1f: 0x00c0, 0x2a20: 0x00c0, 0x2a21: 0x00c0, 0x2a22: 0x00c0, 0x2a23: 0x00c0, + 0x2a00: 0x00c0, 0x2a01: 0x00c3, 0x2a02: 0x00c0, + 0x2a1b: 0x00c0, 0x2a1c: 0x00c0, 0x2a1d: 0x00c0, + 0x2a1e: 0x0080, 0x2a1f: 0x0080, 0x2a20: 0x00c0, 0x2a21: 0x00c0, 0x2a22: 0x00c0, 0x2a23: 0x00c0, 0x2a24: 0x00c0, 0x2a25: 0x00c0, 0x2a26: 0x00c0, 0x2a27: 0x00c0, 0x2a28: 0x00c0, 0x2a29: 0x00c0, - 0x2a2a: 0x00c0, 0x2a2b: 0x00c0, 0x2a2c: 0x00c0, 0x2a2d: 0x00c0, 0x2a2e: 0x00c0, 0x2a2f: 0x00c0, - 0x2a30: 0x00c3, 0x2a31: 0x00c0, 0x2a32: 0x00c3, 0x2a33: 0x00c3, 0x2a34: 0x00c3, 0x2a35: 0x00c0, - 0x2a36: 0x00c0, 0x2a37: 0x00c3, 0x2a38: 0x00c3, 0x2a39: 0x00c0, 0x2a3a: 0x00c0, 0x2a3b: 0x00c0, - 0x2a3c: 0x00c0, 0x2a3d: 0x00c0, 0x2a3e: 0x00c3, 0x2a3f: 0x00c3, + 0x2a2a: 0x00c0, 0x2a2b: 0x00c0, 0x2a2c: 0x00c3, 0x2a2d: 0x00c3, 0x2a2e: 0x00c0, 0x2a2f: 0x00c0, + 0x2a30: 0x0080, 0x2a31: 0x0080, 0x2a32: 0x00c0, 0x2a33: 0x00c0, 0x2a34: 0x00c0, 0x2a35: 0x00c0, + 0x2a36: 0x00c6, // Block 0xa9, offset 0x2a40 - 0x2a40: 0x00c0, 0x2a41: 0x00c3, 0x2a42: 0x00c0, - 0x2a5b: 0x00c0, 0x2a5c: 0x00c0, 0x2a5d: 0x00c0, - 0x2a5e: 0x0080, 0x2a5f: 0x0080, 0x2a60: 0x00c0, 0x2a61: 0x00c0, 0x2a62: 0x00c0, 0x2a63: 0x00c0, - 0x2a64: 0x00c0, 0x2a65: 0x00c0, 0x2a66: 0x00c0, 0x2a67: 0x00c0, 0x2a68: 0x00c0, 0x2a69: 0x00c0, - 0x2a6a: 0x00c0, 0x2a6b: 0x00c0, 0x2a6c: 0x00c3, 0x2a6d: 0x00c3, 0x2a6e: 0x00c0, 0x2a6f: 0x00c0, - 0x2a70: 0x0080, 0x2a71: 0x0080, 0x2a72: 0x00c0, 0x2a73: 0x00c0, 0x2a74: 0x00c0, 0x2a75: 0x00c0, - 0x2a76: 0x00c6, + 0x2a41: 0x00c0, 0x2a42: 0x00c0, 0x2a43: 0x00c0, 0x2a44: 0x00c0, 0x2a45: 0x00c0, + 0x2a46: 0x00c0, 0x2a49: 0x00c0, 0x2a4a: 0x00c0, 0x2a4b: 0x00c0, + 0x2a4c: 0x00c0, 0x2a4d: 0x00c0, 0x2a4e: 0x00c0, 0x2a51: 0x00c0, + 0x2a52: 0x00c0, 0x2a53: 0x00c0, 0x2a54: 0x00c0, 0x2a55: 0x00c0, 0x2a56: 0x00c0, + 0x2a60: 0x00c0, 0x2a61: 0x00c0, 0x2a62: 0x00c0, 0x2a63: 0x00c0, + 0x2a64: 0x00c0, 0x2a65: 0x00c0, 0x2a66: 0x00c0, 0x2a68: 0x00c0, 0x2a69: 0x00c0, + 0x2a6a: 0x00c0, 0x2a6b: 0x00c0, 0x2a6c: 0x00c0, 0x2a6d: 0x00c0, 0x2a6e: 0x00c0, + 0x2a70: 0x00c0, 0x2a71: 0x00c0, 0x2a72: 0x00c0, 0x2a73: 0x00c0, 0x2a74: 0x00c0, 0x2a75: 0x00c0, + 0x2a76: 0x00c0, 0x2a77: 0x00c0, 0x2a78: 0x00c0, 0x2a79: 0x00c0, 0x2a7a: 0x00c0, 0x2a7b: 0x00c0, + 0x2a7c: 0x00c0, 0x2a7d: 0x00c0, 0x2a7e: 0x00c0, 0x2a7f: 0x00c0, // Block 0xaa, offset 0x2a80 - 0x2a81: 0x00c0, 0x2a82: 0x00c0, 0x2a83: 0x00c0, 0x2a84: 0x00c0, 0x2a85: 0x00c0, - 0x2a86: 0x00c0, 0x2a89: 0x00c0, 0x2a8a: 0x00c0, 0x2a8b: 0x00c0, - 0x2a8c: 0x00c0, 0x2a8d: 0x00c0, 0x2a8e: 0x00c0, 0x2a91: 0x00c0, - 0x2a92: 0x00c0, 0x2a93: 0x00c0, 0x2a94: 0x00c0, 0x2a95: 0x00c0, 0x2a96: 0x00c0, - 0x2aa0: 0x00c0, 0x2aa1: 0x00c0, 0x2aa2: 0x00c0, 0x2aa3: 0x00c0, - 0x2aa4: 0x00c0, 0x2aa5: 0x00c0, 0x2aa6: 0x00c0, 0x2aa8: 0x00c0, 0x2aa9: 0x00c0, - 0x2aaa: 0x00c0, 0x2aab: 0x00c0, 0x2aac: 0x00c0, 0x2aad: 0x00c0, 0x2aae: 0x00c0, + 0x2a80: 0x00c0, 0x2a81: 0x00c0, 0x2a82: 0x00c0, 0x2a83: 0x00c0, 0x2a84: 0x00c0, 0x2a85: 0x00c0, + 0x2a86: 0x00c0, 0x2a87: 0x00c0, 0x2a88: 0x00c0, 0x2a89: 0x00c0, 0x2a8a: 0x00c0, 0x2a8b: 0x00c0, + 0x2a8c: 0x00c0, 0x2a8d: 0x00c0, 0x2a8e: 0x00c0, 0x2a8f: 0x00c0, 0x2a90: 0x00c0, 0x2a91: 0x00c0, + 0x2a92: 0x00c0, 0x2a93: 0x00c0, 0x2a94: 0x00c0, 0x2a95: 0x00c0, 0x2a96: 0x00c0, 0x2a97: 0x00c0, + 0x2a98: 0x00c0, 0x2a99: 0x00c0, 0x2a9a: 0x00c0, 0x2a9b: 0x0080, 0x2a9c: 0x0080, 0x2a9d: 0x0080, + 0x2a9e: 0x0080, 0x2a9f: 0x0080, 0x2aa0: 0x00c0, 0x2aa1: 0x00c0, 0x2aa2: 0x00c0, 0x2aa3: 0x00c0, + 0x2aa4: 0x00c0, 0x2aa5: 0x00c8, 0x2ab0: 0x00c0, 0x2ab1: 0x00c0, 0x2ab2: 0x00c0, 0x2ab3: 0x00c0, 0x2ab4: 0x00c0, 0x2ab5: 0x00c0, 0x2ab6: 0x00c0, 0x2ab7: 0x00c0, 0x2ab8: 0x00c0, 0x2ab9: 0x00c0, 0x2aba: 0x00c0, 0x2abb: 0x00c0, 0x2abc: 0x00c0, 0x2abd: 0x00c0, 0x2abe: 0x00c0, 0x2abf: 0x00c0, @@ -2089,12 +2098,12 @@ var derivedPropertiesValues = [20736]uint8{ 0x2ac6: 0x00c0, 0x2ac7: 0x00c0, 0x2ac8: 0x00c0, 0x2ac9: 0x00c0, 0x2aca: 0x00c0, 0x2acb: 0x00c0, 0x2acc: 0x00c0, 0x2acd: 0x00c0, 0x2ace: 0x00c0, 0x2acf: 0x00c0, 0x2ad0: 0x00c0, 0x2ad1: 0x00c0, 0x2ad2: 0x00c0, 0x2ad3: 0x00c0, 0x2ad4: 0x00c0, 0x2ad5: 0x00c0, 0x2ad6: 0x00c0, 0x2ad7: 0x00c0, - 0x2ad8: 0x00c0, 0x2ad9: 0x00c0, 0x2ada: 0x00c0, 0x2adb: 0x0080, 0x2adc: 0x0080, 0x2add: 0x0080, - 0x2ade: 0x0080, 0x2adf: 0x0080, 0x2ae0: 0x00c0, 0x2ae1: 0x00c0, 0x2ae2: 0x00c0, 0x2ae3: 0x00c0, - 0x2ae4: 0x00c0, 0x2ae5: 0x00c8, + 0x2ad8: 0x00c0, 0x2ad9: 0x00c0, 0x2ada: 0x00c0, 0x2adb: 0x00c0, 0x2adc: 0x00c0, 0x2add: 0x00c0, + 0x2ade: 0x00c0, 0x2adf: 0x00c0, 0x2ae0: 0x00c0, 0x2ae1: 0x00c0, 0x2ae2: 0x00c0, 0x2ae3: 0x00c0, + 0x2ae4: 0x00c0, 0x2ae5: 0x00c3, 0x2ae6: 0x00c0, 0x2ae7: 0x00c0, 0x2ae8: 0x00c3, 0x2ae9: 0x00c0, + 0x2aea: 0x00c0, 0x2aeb: 0x0080, 0x2aec: 0x00c0, 0x2aed: 0x00c6, 0x2af0: 0x00c0, 0x2af1: 0x00c0, 0x2af2: 0x00c0, 0x2af3: 0x00c0, 0x2af4: 0x00c0, 0x2af5: 0x00c0, - 0x2af6: 0x00c0, 0x2af7: 0x00c0, 0x2af8: 0x00c0, 0x2af9: 0x00c0, 0x2afa: 0x00c0, 0x2afb: 0x00c0, - 0x2afc: 0x00c0, 0x2afd: 0x00c0, 0x2afe: 0x00c0, 0x2aff: 0x00c0, + 0x2af6: 0x00c0, 0x2af7: 0x00c0, 0x2af8: 0x00c0, 0x2af9: 0x00c0, // Block 0xac, offset 0x2b00 0x2b00: 0x00c0, 0x2b01: 0x00c0, 0x2b02: 0x00c0, 0x2b03: 0x00c0, 0x2b04: 0x00c0, 0x2b05: 0x00c0, 0x2b06: 0x00c0, 0x2b07: 0x00c0, 0x2b08: 0x00c0, 0x2b09: 0x00c0, 0x2b0a: 0x00c0, 0x2b0b: 0x00c0, @@ -2102,40 +2111,41 @@ var derivedPropertiesValues = [20736]uint8{ 0x2b12: 0x00c0, 0x2b13: 0x00c0, 0x2b14: 0x00c0, 0x2b15: 0x00c0, 0x2b16: 0x00c0, 0x2b17: 0x00c0, 0x2b18: 0x00c0, 0x2b19: 0x00c0, 0x2b1a: 0x00c0, 0x2b1b: 0x00c0, 0x2b1c: 0x00c0, 0x2b1d: 0x00c0, 0x2b1e: 0x00c0, 0x2b1f: 0x00c0, 0x2b20: 0x00c0, 0x2b21: 0x00c0, 0x2b22: 0x00c0, 0x2b23: 0x00c0, - 0x2b24: 0x00c0, 0x2b25: 0x00c3, 0x2b26: 0x00c0, 0x2b27: 0x00c0, 0x2b28: 0x00c3, 0x2b29: 0x00c0, - 0x2b2a: 0x00c0, 0x2b2b: 0x0080, 0x2b2c: 0x00c0, 0x2b2d: 0x00c6, - 0x2b30: 0x00c0, 0x2b31: 0x00c0, 0x2b32: 0x00c0, 0x2b33: 0x00c0, 0x2b34: 0x00c0, 0x2b35: 0x00c0, - 0x2b36: 0x00c0, 0x2b37: 0x00c0, 0x2b38: 0x00c0, 0x2b39: 0x00c0, + 0x2b30: 0x0040, 0x2b31: 0x0040, 0x2b32: 0x0040, 0x2b33: 0x0040, 0x2b34: 0x0040, 0x2b35: 0x0040, + 0x2b36: 0x0040, 0x2b37: 0x0040, 0x2b38: 0x0040, 0x2b39: 0x0040, 0x2b3a: 0x0040, 0x2b3b: 0x0040, + 0x2b3c: 0x0040, 0x2b3d: 0x0040, 0x2b3e: 0x0040, 0x2b3f: 0x0040, // Block 0xad, offset 0x2b40 - 0x2b40: 0x00c0, 0x2b41: 0x00c0, 0x2b42: 0x00c0, 0x2b43: 0x00c0, 0x2b44: 0x00c0, 0x2b45: 0x00c0, - 0x2b46: 0x00c0, 0x2b47: 0x00c0, 0x2b48: 0x00c0, 0x2b49: 0x00c0, 0x2b4a: 0x00c0, 0x2b4b: 0x00c0, - 0x2b4c: 0x00c0, 0x2b4d: 0x00c0, 0x2b4e: 0x00c0, 0x2b4f: 0x00c0, 0x2b50: 0x00c0, 0x2b51: 0x00c0, - 0x2b52: 0x00c0, 0x2b53: 0x00c0, 0x2b54: 0x00c0, 0x2b55: 0x00c0, 0x2b56: 0x00c0, 0x2b57: 0x00c0, - 0x2b58: 0x00c0, 0x2b59: 0x00c0, 0x2b5a: 0x00c0, 0x2b5b: 0x00c0, 0x2b5c: 0x00c0, 0x2b5d: 0x00c0, - 0x2b5e: 0x00c0, 0x2b5f: 0x00c0, 0x2b60: 0x00c0, 0x2b61: 0x00c0, 0x2b62: 0x00c0, 0x2b63: 0x00c0, + 0x2b40: 0x0040, 0x2b41: 0x0040, 0x2b42: 0x0040, 0x2b43: 0x0040, 0x2b44: 0x0040, 0x2b45: 0x0040, + 0x2b46: 0x0040, 0x2b4b: 0x0040, + 0x2b4c: 0x0040, 0x2b4d: 0x0040, 0x2b4e: 0x0040, 0x2b4f: 0x0040, 0x2b50: 0x0040, 0x2b51: 0x0040, + 0x2b52: 0x0040, 0x2b53: 0x0040, 0x2b54: 0x0040, 0x2b55: 0x0040, 0x2b56: 0x0040, 0x2b57: 0x0040, + 0x2b58: 0x0040, 0x2b59: 0x0040, 0x2b5a: 0x0040, 0x2b5b: 0x0040, 0x2b5c: 0x0040, 0x2b5d: 0x0040, + 0x2b5e: 0x0040, 0x2b5f: 0x0040, 0x2b60: 0x0040, 0x2b61: 0x0040, 0x2b62: 0x0040, 0x2b63: 0x0040, + 0x2b64: 0x0040, 0x2b65: 0x0040, 0x2b66: 0x0040, 0x2b67: 0x0040, 0x2b68: 0x0040, 0x2b69: 0x0040, + 0x2b6a: 0x0040, 0x2b6b: 0x0040, 0x2b6c: 0x0040, 0x2b6d: 0x0040, 0x2b6e: 0x0040, 0x2b6f: 0x0040, 0x2b70: 0x0040, 0x2b71: 0x0040, 0x2b72: 0x0040, 0x2b73: 0x0040, 0x2b74: 0x0040, 0x2b75: 0x0040, 0x2b76: 0x0040, 0x2b77: 0x0040, 0x2b78: 0x0040, 0x2b79: 0x0040, 0x2b7a: 0x0040, 0x2b7b: 0x0040, - 0x2b7c: 0x0040, 0x2b7d: 0x0040, 0x2b7e: 0x0040, 0x2b7f: 0x0040, // Block 0xae, offset 0x2b80 - 0x2b80: 0x0040, 0x2b81: 0x0040, 0x2b82: 0x0040, 0x2b83: 0x0040, 0x2b84: 0x0040, 0x2b85: 0x0040, - 0x2b86: 0x0040, 0x2b8b: 0x0040, - 0x2b8c: 0x0040, 0x2b8d: 0x0040, 0x2b8e: 0x0040, 0x2b8f: 0x0040, 0x2b90: 0x0040, 0x2b91: 0x0040, - 0x2b92: 0x0040, 0x2b93: 0x0040, 0x2b94: 0x0040, 0x2b95: 0x0040, 0x2b96: 0x0040, 0x2b97: 0x0040, - 0x2b98: 0x0040, 0x2b99: 0x0040, 0x2b9a: 0x0040, 0x2b9b: 0x0040, 0x2b9c: 0x0040, 0x2b9d: 0x0040, - 0x2b9e: 0x0040, 0x2b9f: 0x0040, 0x2ba0: 0x0040, 0x2ba1: 0x0040, 0x2ba2: 0x0040, 0x2ba3: 0x0040, - 0x2ba4: 0x0040, 0x2ba5: 0x0040, 0x2ba6: 0x0040, 0x2ba7: 0x0040, 0x2ba8: 0x0040, 0x2ba9: 0x0040, - 0x2baa: 0x0040, 0x2bab: 0x0040, 0x2bac: 0x0040, 0x2bad: 0x0040, 0x2bae: 0x0040, 0x2baf: 0x0040, - 0x2bb0: 0x0040, 0x2bb1: 0x0040, 0x2bb2: 0x0040, 0x2bb3: 0x0040, 0x2bb4: 0x0040, 0x2bb5: 0x0040, - 0x2bb6: 0x0040, 0x2bb7: 0x0040, 0x2bb8: 0x0040, 0x2bb9: 0x0040, 0x2bba: 0x0040, 0x2bbb: 0x0040, + 0x2b80: 0x008c, 0x2b81: 0x008c, 0x2b82: 0x008c, 0x2b83: 0x008c, 0x2b84: 0x008c, 0x2b85: 0x008c, + 0x2b86: 0x008c, 0x2b87: 0x008c, 0x2b88: 0x008c, 0x2b89: 0x008c, 0x2b8a: 0x008c, 0x2b8b: 0x008c, + 0x2b8c: 0x008c, 0x2b8d: 0x008c, 0x2b8e: 0x00cc, 0x2b8f: 0x00cc, 0x2b90: 0x008c, 0x2b91: 0x00cc, + 0x2b92: 0x008c, 0x2b93: 0x00cc, 0x2b94: 0x00cc, 0x2b95: 0x008c, 0x2b96: 0x008c, 0x2b97: 0x008c, + 0x2b98: 0x008c, 0x2b99: 0x008c, 0x2b9a: 0x008c, 0x2b9b: 0x008c, 0x2b9c: 0x008c, 0x2b9d: 0x008c, + 0x2b9e: 0x008c, 0x2b9f: 0x00cc, 0x2ba0: 0x008c, 0x2ba1: 0x00cc, 0x2ba2: 0x008c, 0x2ba3: 0x00cc, + 0x2ba4: 0x00cc, 0x2ba5: 0x008c, 0x2ba6: 0x008c, 0x2ba7: 0x00cc, 0x2ba8: 0x00cc, 0x2ba9: 0x00cc, + 0x2baa: 0x008c, 0x2bab: 0x008c, 0x2bac: 0x008c, 0x2bad: 0x008c, 0x2bae: 0x008c, 0x2baf: 0x008c, + 0x2bb0: 0x008c, 0x2bb1: 0x008c, 0x2bb2: 0x008c, 0x2bb3: 0x008c, 0x2bb4: 0x008c, 0x2bb5: 0x008c, + 0x2bb6: 0x008c, 0x2bb7: 0x008c, 0x2bb8: 0x008c, 0x2bb9: 0x008c, 0x2bba: 0x008c, 0x2bbb: 0x008c, + 0x2bbc: 0x008c, 0x2bbd: 0x008c, 0x2bbe: 0x008c, 0x2bbf: 0x008c, // Block 0xaf, offset 0x2bc0 0x2bc0: 0x008c, 0x2bc1: 0x008c, 0x2bc2: 0x008c, 0x2bc3: 0x008c, 0x2bc4: 0x008c, 0x2bc5: 0x008c, 0x2bc6: 0x008c, 0x2bc7: 0x008c, 0x2bc8: 0x008c, 0x2bc9: 0x008c, 0x2bca: 0x008c, 0x2bcb: 0x008c, - 0x2bcc: 0x008c, 0x2bcd: 0x008c, 0x2bce: 0x00cc, 0x2bcf: 0x00cc, 0x2bd0: 0x008c, 0x2bd1: 0x00cc, - 0x2bd2: 0x008c, 0x2bd3: 0x00cc, 0x2bd4: 0x00cc, 0x2bd5: 0x008c, 0x2bd6: 0x008c, 0x2bd7: 0x008c, + 0x2bcc: 0x008c, 0x2bcd: 0x008c, 0x2bce: 0x008c, 0x2bcf: 0x008c, 0x2bd0: 0x008c, 0x2bd1: 0x008c, + 0x2bd2: 0x008c, 0x2bd3: 0x008c, 0x2bd4: 0x008c, 0x2bd5: 0x008c, 0x2bd6: 0x008c, 0x2bd7: 0x008c, 0x2bd8: 0x008c, 0x2bd9: 0x008c, 0x2bda: 0x008c, 0x2bdb: 0x008c, 0x2bdc: 0x008c, 0x2bdd: 0x008c, - 0x2bde: 0x008c, 0x2bdf: 0x00cc, 0x2be0: 0x008c, 0x2be1: 0x00cc, 0x2be2: 0x008c, 0x2be3: 0x00cc, - 0x2be4: 0x00cc, 0x2be5: 0x008c, 0x2be6: 0x008c, 0x2be7: 0x00cc, 0x2be8: 0x00cc, 0x2be9: 0x00cc, - 0x2bea: 0x008c, 0x2beb: 0x008c, 0x2bec: 0x008c, 0x2bed: 0x008c, 0x2bee: 0x008c, 0x2bef: 0x008c, + 0x2bde: 0x008c, 0x2bdf: 0x008c, 0x2be0: 0x008c, 0x2be1: 0x008c, 0x2be2: 0x008c, 0x2be3: 0x008c, + 0x2be4: 0x008c, 0x2be5: 0x008c, 0x2be6: 0x008c, 0x2be7: 0x008c, 0x2be8: 0x008c, 0x2be9: 0x008c, + 0x2bea: 0x008c, 0x2beb: 0x008c, 0x2bec: 0x008c, 0x2bed: 0x008c, 0x2bf0: 0x008c, 0x2bf1: 0x008c, 0x2bf2: 0x008c, 0x2bf3: 0x008c, 0x2bf4: 0x008c, 0x2bf5: 0x008c, 0x2bf6: 0x008c, 0x2bf7: 0x008c, 0x2bf8: 0x008c, 0x2bf9: 0x008c, 0x2bfa: 0x008c, 0x2bfb: 0x008c, 0x2bfc: 0x008c, 0x2bfd: 0x008c, 0x2bfe: 0x008c, 0x2bff: 0x008c, @@ -2144,35 +2154,33 @@ var derivedPropertiesValues = [20736]uint8{ 0x2c06: 0x008c, 0x2c07: 0x008c, 0x2c08: 0x008c, 0x2c09: 0x008c, 0x2c0a: 0x008c, 0x2c0b: 0x008c, 0x2c0c: 0x008c, 0x2c0d: 0x008c, 0x2c0e: 0x008c, 0x2c0f: 0x008c, 0x2c10: 0x008c, 0x2c11: 0x008c, 0x2c12: 0x008c, 0x2c13: 0x008c, 0x2c14: 0x008c, 0x2c15: 0x008c, 0x2c16: 0x008c, 0x2c17: 0x008c, - 0x2c18: 0x008c, 0x2c19: 0x008c, 0x2c1a: 0x008c, 0x2c1b: 0x008c, 0x2c1c: 0x008c, 0x2c1d: 0x008c, - 0x2c1e: 0x008c, 0x2c1f: 0x008c, 0x2c20: 0x008c, 0x2c21: 0x008c, 0x2c22: 0x008c, 0x2c23: 0x008c, - 0x2c24: 0x008c, 0x2c25: 0x008c, 0x2c26: 0x008c, 0x2c27: 0x008c, 0x2c28: 0x008c, 0x2c29: 0x008c, - 0x2c2a: 0x008c, 0x2c2b: 0x008c, 0x2c2c: 0x008c, 0x2c2d: 0x008c, - 0x2c30: 0x008c, 0x2c31: 0x008c, 0x2c32: 0x008c, 0x2c33: 0x008c, 0x2c34: 0x008c, 0x2c35: 0x008c, - 0x2c36: 0x008c, 0x2c37: 0x008c, 0x2c38: 0x008c, 0x2c39: 0x008c, 0x2c3a: 0x008c, 0x2c3b: 0x008c, - 0x2c3c: 0x008c, 0x2c3d: 0x008c, 0x2c3e: 0x008c, 0x2c3f: 0x008c, + 0x2c18: 0x008c, 0x2c19: 0x008c, // Block 0xb1, offset 0x2c40 - 0x2c40: 0x008c, 0x2c41: 0x008c, 0x2c42: 0x008c, 0x2c43: 0x008c, 0x2c44: 0x008c, 0x2c45: 0x008c, - 0x2c46: 0x008c, 0x2c47: 0x008c, 0x2c48: 0x008c, 0x2c49: 0x008c, 0x2c4a: 0x008c, 0x2c4b: 0x008c, - 0x2c4c: 0x008c, 0x2c4d: 0x008c, 0x2c4e: 0x008c, 0x2c4f: 0x008c, 0x2c50: 0x008c, 0x2c51: 0x008c, - 0x2c52: 0x008c, 0x2c53: 0x008c, 0x2c54: 0x008c, 0x2c55: 0x008c, 0x2c56: 0x008c, 0x2c57: 0x008c, - 0x2c58: 0x008c, 0x2c59: 0x008c, + 0x2c40: 0x0080, 0x2c41: 0x0080, 0x2c42: 0x0080, 0x2c43: 0x0080, 0x2c44: 0x0080, 0x2c45: 0x0080, + 0x2c46: 0x0080, + 0x2c53: 0x0080, 0x2c54: 0x0080, 0x2c55: 0x0080, 0x2c56: 0x0080, 0x2c57: 0x0080, + 0x2c5d: 0x008a, + 0x2c5e: 0x00cb, 0x2c5f: 0x008a, 0x2c60: 0x008a, 0x2c61: 0x008a, 0x2c62: 0x008a, 0x2c63: 0x008a, + 0x2c64: 0x008a, 0x2c65: 0x008a, 0x2c66: 0x008a, 0x2c67: 0x008a, 0x2c68: 0x008a, 0x2c69: 0x008a, + 0x2c6a: 0x008a, 0x2c6b: 0x008a, 0x2c6c: 0x008a, 0x2c6d: 0x008a, 0x2c6e: 0x008a, 0x2c6f: 0x008a, + 0x2c70: 0x008a, 0x2c71: 0x008a, 0x2c72: 0x008a, 0x2c73: 0x008a, 0x2c74: 0x008a, 0x2c75: 0x008a, + 0x2c76: 0x008a, 0x2c78: 0x008a, 0x2c79: 0x008a, 0x2c7a: 0x008a, 0x2c7b: 0x008a, + 0x2c7c: 0x008a, 0x2c7e: 0x008a, // Block 0xb2, offset 0x2c80 - 0x2c80: 0x0080, 0x2c81: 0x0080, 0x2c82: 0x0080, 0x2c83: 0x0080, 0x2c84: 0x0080, 0x2c85: 0x0080, - 0x2c86: 0x0080, - 0x2c93: 0x0080, 0x2c94: 0x0080, 0x2c95: 0x0080, 0x2c96: 0x0080, 0x2c97: 0x0080, - 0x2c9d: 0x008a, - 0x2c9e: 0x00cb, 0x2c9f: 0x008a, 0x2ca0: 0x008a, 0x2ca1: 0x008a, 0x2ca2: 0x008a, 0x2ca3: 0x008a, - 0x2ca4: 0x008a, 0x2ca5: 0x008a, 0x2ca6: 0x008a, 0x2ca7: 0x008a, 0x2ca8: 0x008a, 0x2ca9: 0x008a, - 0x2caa: 0x008a, 0x2cab: 0x008a, 0x2cac: 0x008a, 0x2cad: 0x008a, 0x2cae: 0x008a, 0x2caf: 0x008a, - 0x2cb0: 0x008a, 0x2cb1: 0x008a, 0x2cb2: 0x008a, 0x2cb3: 0x008a, 0x2cb4: 0x008a, 0x2cb5: 0x008a, - 0x2cb6: 0x008a, 0x2cb8: 0x008a, 0x2cb9: 0x008a, 0x2cba: 0x008a, 0x2cbb: 0x008a, - 0x2cbc: 0x008a, 0x2cbe: 0x008a, + 0x2c80: 0x008a, 0x2c81: 0x008a, 0x2c83: 0x008a, 0x2c84: 0x008a, + 0x2c86: 0x008a, 0x2c87: 0x008a, 0x2c88: 0x008a, 0x2c89: 0x008a, 0x2c8a: 0x008a, 0x2c8b: 0x008a, + 0x2c8c: 0x008a, 0x2c8d: 0x008a, 0x2c8e: 0x008a, 0x2c8f: 0x008a, 0x2c90: 0x0080, 0x2c91: 0x0080, + 0x2c92: 0x0080, 0x2c93: 0x0080, 0x2c94: 0x0080, 0x2c95: 0x0080, 0x2c96: 0x0080, 0x2c97: 0x0080, + 0x2c98: 0x0080, 0x2c99: 0x0080, 0x2c9a: 0x0080, 0x2c9b: 0x0080, 0x2c9c: 0x0080, 0x2c9d: 0x0080, + 0x2c9e: 0x0080, 0x2c9f: 0x0080, 0x2ca0: 0x0080, 0x2ca1: 0x0080, 0x2ca2: 0x0080, 0x2ca3: 0x0080, + 0x2ca4: 0x0080, 0x2ca5: 0x0080, 0x2ca6: 0x0080, 0x2ca7: 0x0080, 0x2ca8: 0x0080, 0x2ca9: 0x0080, + 0x2caa: 0x0080, 0x2cab: 0x0080, 0x2cac: 0x0080, 0x2cad: 0x0080, 0x2cae: 0x0080, 0x2caf: 0x0080, + 0x2cb0: 0x0080, 0x2cb1: 0x0080, 0x2cb2: 0x0080, 0x2cb3: 0x0080, 0x2cb4: 0x0080, 0x2cb5: 0x0080, + 0x2cb6: 0x0080, 0x2cb7: 0x0080, 0x2cb8: 0x0080, 0x2cb9: 0x0080, 0x2cba: 0x0080, 0x2cbb: 0x0080, + 0x2cbc: 0x0080, 0x2cbd: 0x0080, 0x2cbe: 0x0080, 0x2cbf: 0x0080, // Block 0xb3, offset 0x2cc0 - 0x2cc0: 0x008a, 0x2cc1: 0x008a, 0x2cc3: 0x008a, 0x2cc4: 0x008a, - 0x2cc6: 0x008a, 0x2cc7: 0x008a, 0x2cc8: 0x008a, 0x2cc9: 0x008a, 0x2cca: 0x008a, 0x2ccb: 0x008a, - 0x2ccc: 0x008a, 0x2ccd: 0x008a, 0x2cce: 0x008a, 0x2ccf: 0x008a, 0x2cd0: 0x0080, 0x2cd1: 0x0080, - 0x2cd2: 0x0080, 0x2cd3: 0x0080, 0x2cd4: 0x0080, 0x2cd5: 0x0080, 0x2cd6: 0x0080, 0x2cd7: 0x0080, + 0x2cc0: 0x0080, 0x2cc1: 0x0080, + 0x2cd3: 0x0080, 0x2cd4: 0x0080, 0x2cd5: 0x0080, 0x2cd6: 0x0080, 0x2cd7: 0x0080, 0x2cd8: 0x0080, 0x2cd9: 0x0080, 0x2cda: 0x0080, 0x2cdb: 0x0080, 0x2cdc: 0x0080, 0x2cdd: 0x0080, 0x2cde: 0x0080, 0x2cdf: 0x0080, 0x2ce0: 0x0080, 0x2ce1: 0x0080, 0x2ce2: 0x0080, 0x2ce3: 0x0080, 0x2ce4: 0x0080, 0x2ce5: 0x0080, 0x2ce6: 0x0080, 0x2ce7: 0x0080, 0x2ce8: 0x0080, 0x2ce9: 0x0080, @@ -2181,8 +2189,8 @@ var derivedPropertiesValues = [20736]uint8{ 0x2cf6: 0x0080, 0x2cf7: 0x0080, 0x2cf8: 0x0080, 0x2cf9: 0x0080, 0x2cfa: 0x0080, 0x2cfb: 0x0080, 0x2cfc: 0x0080, 0x2cfd: 0x0080, 0x2cfe: 0x0080, 0x2cff: 0x0080, // Block 0xb4, offset 0x2d00 - 0x2d00: 0x0080, 0x2d01: 0x0080, - 0x2d13: 0x0080, 0x2d14: 0x0080, 0x2d15: 0x0080, 0x2d16: 0x0080, 0x2d17: 0x0080, + 0x2d10: 0x0080, 0x2d11: 0x0080, + 0x2d12: 0x0080, 0x2d13: 0x0080, 0x2d14: 0x0080, 0x2d15: 0x0080, 0x2d16: 0x0080, 0x2d17: 0x0080, 0x2d18: 0x0080, 0x2d19: 0x0080, 0x2d1a: 0x0080, 0x2d1b: 0x0080, 0x2d1c: 0x0080, 0x2d1d: 0x0080, 0x2d1e: 0x0080, 0x2d1f: 0x0080, 0x2d20: 0x0080, 0x2d21: 0x0080, 0x2d22: 0x0080, 0x2d23: 0x0080, 0x2d24: 0x0080, 0x2d25: 0x0080, 0x2d26: 0x0080, 0x2d27: 0x0080, 0x2d28: 0x0080, 0x2d29: 0x0080, @@ -2191,7 +2199,9 @@ var derivedPropertiesValues = [20736]uint8{ 0x2d36: 0x0080, 0x2d37: 0x0080, 0x2d38: 0x0080, 0x2d39: 0x0080, 0x2d3a: 0x0080, 0x2d3b: 0x0080, 0x2d3c: 0x0080, 0x2d3d: 0x0080, 0x2d3e: 0x0080, 0x2d3f: 0x0080, // Block 0xb5, offset 0x2d40 - 0x2d50: 0x0080, 0x2d51: 0x0080, + 0x2d40: 0x0080, 0x2d41: 0x0080, 0x2d42: 0x0080, 0x2d43: 0x0080, 0x2d44: 0x0080, 0x2d45: 0x0080, + 0x2d46: 0x0080, 0x2d47: 0x0080, 0x2d48: 0x0080, 0x2d49: 0x0080, 0x2d4a: 0x0080, 0x2d4b: 0x0080, + 0x2d4c: 0x0080, 0x2d4d: 0x0080, 0x2d4e: 0x0080, 0x2d4f: 0x0080, 0x2d52: 0x0080, 0x2d53: 0x0080, 0x2d54: 0x0080, 0x2d55: 0x0080, 0x2d56: 0x0080, 0x2d57: 0x0080, 0x2d58: 0x0080, 0x2d59: 0x0080, 0x2d5a: 0x0080, 0x2d5b: 0x0080, 0x2d5c: 0x0080, 0x2d5d: 0x0080, 0x2d5e: 0x0080, 0x2d5f: 0x0080, 0x2d60: 0x0080, 0x2d61: 0x0080, 0x2d62: 0x0080, 0x2d63: 0x0080, @@ -2202,48 +2212,48 @@ var derivedPropertiesValues = [20736]uint8{ 0x2d7c: 0x0080, 0x2d7d: 0x0080, 0x2d7e: 0x0080, 0x2d7f: 0x0080, // Block 0xb6, offset 0x2d80 0x2d80: 0x0080, 0x2d81: 0x0080, 0x2d82: 0x0080, 0x2d83: 0x0080, 0x2d84: 0x0080, 0x2d85: 0x0080, - 0x2d86: 0x0080, 0x2d87: 0x0080, 0x2d88: 0x0080, 0x2d89: 0x0080, 0x2d8a: 0x0080, 0x2d8b: 0x0080, - 0x2d8c: 0x0080, 0x2d8d: 0x0080, 0x2d8e: 0x0080, 0x2d8f: 0x0080, - 0x2d92: 0x0080, 0x2d93: 0x0080, 0x2d94: 0x0080, 0x2d95: 0x0080, 0x2d96: 0x0080, 0x2d97: 0x0080, - 0x2d98: 0x0080, 0x2d99: 0x0080, 0x2d9a: 0x0080, 0x2d9b: 0x0080, 0x2d9c: 0x0080, 0x2d9d: 0x0080, - 0x2d9e: 0x0080, 0x2d9f: 0x0080, 0x2da0: 0x0080, 0x2da1: 0x0080, 0x2da2: 0x0080, 0x2da3: 0x0080, - 0x2da4: 0x0080, 0x2da5: 0x0080, 0x2da6: 0x0080, 0x2da7: 0x0080, 0x2da8: 0x0080, 0x2da9: 0x0080, - 0x2daa: 0x0080, 0x2dab: 0x0080, 0x2dac: 0x0080, 0x2dad: 0x0080, 0x2dae: 0x0080, 0x2daf: 0x0080, + 0x2d86: 0x0080, 0x2d87: 0x0080, 0x2db0: 0x0080, 0x2db1: 0x0080, 0x2db2: 0x0080, 0x2db3: 0x0080, 0x2db4: 0x0080, 0x2db5: 0x0080, 0x2db6: 0x0080, 0x2db7: 0x0080, 0x2db8: 0x0080, 0x2db9: 0x0080, 0x2dba: 0x0080, 0x2dbb: 0x0080, - 0x2dbc: 0x0080, 0x2dbd: 0x0080, 0x2dbe: 0x0080, 0x2dbf: 0x0080, + 0x2dbc: 0x0080, 0x2dbd: 0x0080, // Block 0xb7, offset 0x2dc0 - 0x2dc0: 0x0080, 0x2dc1: 0x0080, 0x2dc2: 0x0080, 0x2dc3: 0x0080, 0x2dc4: 0x0080, 0x2dc5: 0x0080, - 0x2dc6: 0x0080, 0x2dc7: 0x0080, + 0x2dc0: 0x0040, 0x2dc1: 0x0040, 0x2dc2: 0x0040, 0x2dc3: 0x0040, 0x2dc4: 0x0040, 0x2dc5: 0x0040, + 0x2dc6: 0x0040, 0x2dc7: 0x0040, 0x2dc8: 0x0040, 0x2dc9: 0x0040, 0x2dca: 0x0040, 0x2dcb: 0x0040, + 0x2dcc: 0x0040, 0x2dcd: 0x0040, 0x2dce: 0x0040, 0x2dcf: 0x0040, 0x2dd0: 0x0080, 0x2dd1: 0x0080, + 0x2dd2: 0x0080, 0x2dd3: 0x0080, 0x2dd4: 0x0080, 0x2dd5: 0x0080, 0x2dd6: 0x0080, 0x2dd7: 0x0080, + 0x2dd8: 0x0080, 0x2dd9: 0x0080, + 0x2de0: 0x00c3, 0x2de1: 0x00c3, 0x2de2: 0x00c3, 0x2de3: 0x00c3, + 0x2de4: 0x00c3, 0x2de5: 0x00c3, 0x2de6: 0x00c3, 0x2de7: 0x00c3, 0x2de8: 0x00c3, 0x2de9: 0x00c3, + 0x2dea: 0x00c3, 0x2deb: 0x00c3, 0x2dec: 0x00c3, 0x2ded: 0x00c3, 0x2dee: 0x00c3, 0x2def: 0x00c3, 0x2df0: 0x0080, 0x2df1: 0x0080, 0x2df2: 0x0080, 0x2df3: 0x0080, 0x2df4: 0x0080, 0x2df5: 0x0080, 0x2df6: 0x0080, 0x2df7: 0x0080, 0x2df8: 0x0080, 0x2df9: 0x0080, 0x2dfa: 0x0080, 0x2dfb: 0x0080, - 0x2dfc: 0x0080, 0x2dfd: 0x0080, + 0x2dfc: 0x0080, 0x2dfd: 0x0080, 0x2dfe: 0x0080, 0x2dff: 0x0080, // Block 0xb8, offset 0x2e00 - 0x2e00: 0x0040, 0x2e01: 0x0040, 0x2e02: 0x0040, 0x2e03: 0x0040, 0x2e04: 0x0040, 0x2e05: 0x0040, - 0x2e06: 0x0040, 0x2e07: 0x0040, 0x2e08: 0x0040, 0x2e09: 0x0040, 0x2e0a: 0x0040, 0x2e0b: 0x0040, - 0x2e0c: 0x0040, 0x2e0d: 0x0040, 0x2e0e: 0x0040, 0x2e0f: 0x0040, 0x2e10: 0x0080, 0x2e11: 0x0080, - 0x2e12: 0x0080, 0x2e13: 0x0080, 0x2e14: 0x0080, 0x2e15: 0x0080, 0x2e16: 0x0080, 0x2e17: 0x0080, - 0x2e18: 0x0080, 0x2e19: 0x0080, - 0x2e20: 0x00c3, 0x2e21: 0x00c3, 0x2e22: 0x00c3, 0x2e23: 0x00c3, - 0x2e24: 0x00c3, 0x2e25: 0x00c3, 0x2e26: 0x00c3, 0x2e27: 0x00c3, 0x2e28: 0x00c3, 0x2e29: 0x00c3, - 0x2e2a: 0x00c3, 0x2e2b: 0x00c3, 0x2e2c: 0x00c3, 0x2e2d: 0x00c3, 0x2e2e: 0x00c3, 0x2e2f: 0x00c3, - 0x2e30: 0x0080, 0x2e31: 0x0080, 0x2e32: 0x0080, 0x2e33: 0x0080, 0x2e34: 0x0080, 0x2e35: 0x0080, + 0x2e00: 0x0080, 0x2e01: 0x0080, 0x2e02: 0x0080, 0x2e03: 0x0080, 0x2e04: 0x0080, 0x2e05: 0x0080, + 0x2e06: 0x0080, 0x2e07: 0x0080, 0x2e08: 0x0080, 0x2e09: 0x0080, 0x2e0a: 0x0080, 0x2e0b: 0x0080, + 0x2e0c: 0x0080, 0x2e0d: 0x0080, 0x2e0e: 0x0080, 0x2e0f: 0x0080, 0x2e10: 0x0080, 0x2e11: 0x0080, + 0x2e12: 0x0080, 0x2e14: 0x0080, 0x2e15: 0x0080, 0x2e16: 0x0080, 0x2e17: 0x0080, + 0x2e18: 0x0080, 0x2e19: 0x0080, 0x2e1a: 0x0080, 0x2e1b: 0x0080, 0x2e1c: 0x0080, 0x2e1d: 0x0080, + 0x2e1e: 0x0080, 0x2e1f: 0x0080, 0x2e20: 0x0080, 0x2e21: 0x0080, 0x2e22: 0x0080, 0x2e23: 0x0080, + 0x2e24: 0x0080, 0x2e25: 0x0080, 0x2e26: 0x0080, 0x2e28: 0x0080, 0x2e29: 0x0080, + 0x2e2a: 0x0080, 0x2e2b: 0x0080, + 0x2e30: 0x0080, 0x2e31: 0x0080, 0x2e32: 0x0080, 0x2e33: 0x00c0, 0x2e34: 0x0080, 0x2e36: 0x0080, 0x2e37: 0x0080, 0x2e38: 0x0080, 0x2e39: 0x0080, 0x2e3a: 0x0080, 0x2e3b: 0x0080, 0x2e3c: 0x0080, 0x2e3d: 0x0080, 0x2e3e: 0x0080, 0x2e3f: 0x0080, // Block 0xb9, offset 0x2e40 0x2e40: 0x0080, 0x2e41: 0x0080, 0x2e42: 0x0080, 0x2e43: 0x0080, 0x2e44: 0x0080, 0x2e45: 0x0080, 0x2e46: 0x0080, 0x2e47: 0x0080, 0x2e48: 0x0080, 0x2e49: 0x0080, 0x2e4a: 0x0080, 0x2e4b: 0x0080, 0x2e4c: 0x0080, 0x2e4d: 0x0080, 0x2e4e: 0x0080, 0x2e4f: 0x0080, 0x2e50: 0x0080, 0x2e51: 0x0080, - 0x2e52: 0x0080, 0x2e54: 0x0080, 0x2e55: 0x0080, 0x2e56: 0x0080, 0x2e57: 0x0080, + 0x2e52: 0x0080, 0x2e53: 0x0080, 0x2e54: 0x0080, 0x2e55: 0x0080, 0x2e56: 0x0080, 0x2e57: 0x0080, 0x2e58: 0x0080, 0x2e59: 0x0080, 0x2e5a: 0x0080, 0x2e5b: 0x0080, 0x2e5c: 0x0080, 0x2e5d: 0x0080, 0x2e5e: 0x0080, 0x2e5f: 0x0080, 0x2e60: 0x0080, 0x2e61: 0x0080, 0x2e62: 0x0080, 0x2e63: 0x0080, - 0x2e64: 0x0080, 0x2e65: 0x0080, 0x2e66: 0x0080, 0x2e68: 0x0080, 0x2e69: 0x0080, - 0x2e6a: 0x0080, 0x2e6b: 0x0080, - 0x2e70: 0x0080, 0x2e71: 0x0080, 0x2e72: 0x0080, 0x2e73: 0x00c0, 0x2e74: 0x0080, + 0x2e64: 0x0080, 0x2e65: 0x0080, 0x2e66: 0x0080, 0x2e67: 0x0080, 0x2e68: 0x0080, 0x2e69: 0x0080, + 0x2e6a: 0x0080, 0x2e6b: 0x0080, 0x2e6c: 0x0080, 0x2e6d: 0x0080, 0x2e6e: 0x0080, 0x2e6f: 0x0080, + 0x2e70: 0x0080, 0x2e71: 0x0080, 0x2e72: 0x0080, 0x2e73: 0x0080, 0x2e74: 0x0080, 0x2e75: 0x0080, 0x2e76: 0x0080, 0x2e77: 0x0080, 0x2e78: 0x0080, 0x2e79: 0x0080, 0x2e7a: 0x0080, 0x2e7b: 0x0080, - 0x2e7c: 0x0080, 0x2e7d: 0x0080, 0x2e7e: 0x0080, 0x2e7f: 0x0080, + 0x2e7c: 0x0080, 0x2e7f: 0x0040, // Block 0xba, offset 0x2e80 - 0x2e80: 0x0080, 0x2e81: 0x0080, 0x2e82: 0x0080, 0x2e83: 0x0080, 0x2e84: 0x0080, 0x2e85: 0x0080, + 0x2e81: 0x0080, 0x2e82: 0x0080, 0x2e83: 0x0080, 0x2e84: 0x0080, 0x2e85: 0x0080, 0x2e86: 0x0080, 0x2e87: 0x0080, 0x2e88: 0x0080, 0x2e89: 0x0080, 0x2e8a: 0x0080, 0x2e8b: 0x0080, 0x2e8c: 0x0080, 0x2e8d: 0x0080, 0x2e8e: 0x0080, 0x2e8f: 0x0080, 0x2e90: 0x0080, 0x2e91: 0x0080, 0x2e92: 0x0080, 0x2e93: 0x0080, 0x2e94: 0x0080, 0x2e95: 0x0080, 0x2e96: 0x0080, 0x2e97: 0x0080, @@ -2253,205 +2263,205 @@ var derivedPropertiesValues = [20736]uint8{ 0x2eaa: 0x0080, 0x2eab: 0x0080, 0x2eac: 0x0080, 0x2ead: 0x0080, 0x2eae: 0x0080, 0x2eaf: 0x0080, 0x2eb0: 0x0080, 0x2eb1: 0x0080, 0x2eb2: 0x0080, 0x2eb3: 0x0080, 0x2eb4: 0x0080, 0x2eb5: 0x0080, 0x2eb6: 0x0080, 0x2eb7: 0x0080, 0x2eb8: 0x0080, 0x2eb9: 0x0080, 0x2eba: 0x0080, 0x2ebb: 0x0080, - 0x2ebc: 0x0080, 0x2ebf: 0x0040, + 0x2ebc: 0x0080, 0x2ebd: 0x0080, 0x2ebe: 0x0080, 0x2ebf: 0x0080, // Block 0xbb, offset 0x2ec0 - 0x2ec1: 0x0080, 0x2ec2: 0x0080, 0x2ec3: 0x0080, 0x2ec4: 0x0080, 0x2ec5: 0x0080, + 0x2ec0: 0x0080, 0x2ec1: 0x0080, 0x2ec2: 0x0080, 0x2ec3: 0x0080, 0x2ec4: 0x0080, 0x2ec5: 0x0080, 0x2ec6: 0x0080, 0x2ec7: 0x0080, 0x2ec8: 0x0080, 0x2ec9: 0x0080, 0x2eca: 0x0080, 0x2ecb: 0x0080, 0x2ecc: 0x0080, 0x2ecd: 0x0080, 0x2ece: 0x0080, 0x2ecf: 0x0080, 0x2ed0: 0x0080, 0x2ed1: 0x0080, 0x2ed2: 0x0080, 0x2ed3: 0x0080, 0x2ed4: 0x0080, 0x2ed5: 0x0080, 0x2ed6: 0x0080, 0x2ed7: 0x0080, 0x2ed8: 0x0080, 0x2ed9: 0x0080, 0x2eda: 0x0080, 0x2edb: 0x0080, 0x2edc: 0x0080, 0x2edd: 0x0080, 0x2ede: 0x0080, 0x2edf: 0x0080, 0x2ee0: 0x0080, 0x2ee1: 0x0080, 0x2ee2: 0x0080, 0x2ee3: 0x0080, - 0x2ee4: 0x0080, 0x2ee5: 0x0080, 0x2ee6: 0x0080, 0x2ee7: 0x0080, 0x2ee8: 0x0080, 0x2ee9: 0x0080, - 0x2eea: 0x0080, 0x2eeb: 0x0080, 0x2eec: 0x0080, 0x2eed: 0x0080, 0x2eee: 0x0080, 0x2eef: 0x0080, - 0x2ef0: 0x0080, 0x2ef1: 0x0080, 0x2ef2: 0x0080, 0x2ef3: 0x0080, 0x2ef4: 0x0080, 0x2ef5: 0x0080, - 0x2ef6: 0x0080, 0x2ef7: 0x0080, 0x2ef8: 0x0080, 0x2ef9: 0x0080, 0x2efa: 0x0080, 0x2efb: 0x0080, - 0x2efc: 0x0080, 0x2efd: 0x0080, 0x2efe: 0x0080, 0x2eff: 0x0080, + 0x2ee4: 0x0080, 0x2ee5: 0x0080, 0x2ee6: 0x008c, 0x2ee7: 0x008c, 0x2ee8: 0x008c, 0x2ee9: 0x008c, + 0x2eea: 0x008c, 0x2eeb: 0x008c, 0x2eec: 0x008c, 0x2eed: 0x008c, 0x2eee: 0x008c, 0x2eef: 0x008c, + 0x2ef0: 0x0080, 0x2ef1: 0x008c, 0x2ef2: 0x008c, 0x2ef3: 0x008c, 0x2ef4: 0x008c, 0x2ef5: 0x008c, + 0x2ef6: 0x008c, 0x2ef7: 0x008c, 0x2ef8: 0x008c, 0x2ef9: 0x008c, 0x2efa: 0x008c, 0x2efb: 0x008c, + 0x2efc: 0x008c, 0x2efd: 0x008c, 0x2efe: 0x008c, 0x2eff: 0x008c, // Block 0xbc, offset 0x2f00 - 0x2f00: 0x0080, 0x2f01: 0x0080, 0x2f02: 0x0080, 0x2f03: 0x0080, 0x2f04: 0x0080, 0x2f05: 0x0080, - 0x2f06: 0x0080, 0x2f07: 0x0080, 0x2f08: 0x0080, 0x2f09: 0x0080, 0x2f0a: 0x0080, 0x2f0b: 0x0080, - 0x2f0c: 0x0080, 0x2f0d: 0x0080, 0x2f0e: 0x0080, 0x2f0f: 0x0080, 0x2f10: 0x0080, 0x2f11: 0x0080, - 0x2f12: 0x0080, 0x2f13: 0x0080, 0x2f14: 0x0080, 0x2f15: 0x0080, 0x2f16: 0x0080, 0x2f17: 0x0080, - 0x2f18: 0x0080, 0x2f19: 0x0080, 0x2f1a: 0x0080, 0x2f1b: 0x0080, 0x2f1c: 0x0080, 0x2f1d: 0x0080, - 0x2f1e: 0x0080, 0x2f1f: 0x0080, 0x2f20: 0x0080, 0x2f21: 0x0080, 0x2f22: 0x0080, 0x2f23: 0x0080, - 0x2f24: 0x0080, 0x2f25: 0x0080, 0x2f26: 0x008c, 0x2f27: 0x008c, 0x2f28: 0x008c, 0x2f29: 0x008c, - 0x2f2a: 0x008c, 0x2f2b: 0x008c, 0x2f2c: 0x008c, 0x2f2d: 0x008c, 0x2f2e: 0x008c, 0x2f2f: 0x008c, - 0x2f30: 0x0080, 0x2f31: 0x008c, 0x2f32: 0x008c, 0x2f33: 0x008c, 0x2f34: 0x008c, 0x2f35: 0x008c, - 0x2f36: 0x008c, 0x2f37: 0x008c, 0x2f38: 0x008c, 0x2f39: 0x008c, 0x2f3a: 0x008c, 0x2f3b: 0x008c, - 0x2f3c: 0x008c, 0x2f3d: 0x008c, 0x2f3e: 0x008c, 0x2f3f: 0x008c, + 0x2f00: 0x008c, 0x2f01: 0x008c, 0x2f02: 0x008c, 0x2f03: 0x008c, 0x2f04: 0x008c, 0x2f05: 0x008c, + 0x2f06: 0x008c, 0x2f07: 0x008c, 0x2f08: 0x008c, 0x2f09: 0x008c, 0x2f0a: 0x008c, 0x2f0b: 0x008c, + 0x2f0c: 0x008c, 0x2f0d: 0x008c, 0x2f0e: 0x008c, 0x2f0f: 0x008c, 0x2f10: 0x008c, 0x2f11: 0x008c, + 0x2f12: 0x008c, 0x2f13: 0x008c, 0x2f14: 0x008c, 0x2f15: 0x008c, 0x2f16: 0x008c, 0x2f17: 0x008c, + 0x2f18: 0x008c, 0x2f19: 0x008c, 0x2f1a: 0x008c, 0x2f1b: 0x008c, 0x2f1c: 0x008c, 0x2f1d: 0x008c, + 0x2f1e: 0x0080, 0x2f1f: 0x0080, 0x2f20: 0x0040, 0x2f21: 0x0080, 0x2f22: 0x0080, 0x2f23: 0x0080, + 0x2f24: 0x0080, 0x2f25: 0x0080, 0x2f26: 0x0080, 0x2f27: 0x0080, 0x2f28: 0x0080, 0x2f29: 0x0080, + 0x2f2a: 0x0080, 0x2f2b: 0x0080, 0x2f2c: 0x0080, 0x2f2d: 0x0080, 0x2f2e: 0x0080, 0x2f2f: 0x0080, + 0x2f30: 0x0080, 0x2f31: 0x0080, 0x2f32: 0x0080, 0x2f33: 0x0080, 0x2f34: 0x0080, 0x2f35: 0x0080, + 0x2f36: 0x0080, 0x2f37: 0x0080, 0x2f38: 0x0080, 0x2f39: 0x0080, 0x2f3a: 0x0080, 0x2f3b: 0x0080, + 0x2f3c: 0x0080, 0x2f3d: 0x0080, 0x2f3e: 0x0080, // Block 0xbd, offset 0x2f40 - 0x2f40: 0x008c, 0x2f41: 0x008c, 0x2f42: 0x008c, 0x2f43: 0x008c, 0x2f44: 0x008c, 0x2f45: 0x008c, - 0x2f46: 0x008c, 0x2f47: 0x008c, 0x2f48: 0x008c, 0x2f49: 0x008c, 0x2f4a: 0x008c, 0x2f4b: 0x008c, - 0x2f4c: 0x008c, 0x2f4d: 0x008c, 0x2f4e: 0x008c, 0x2f4f: 0x008c, 0x2f50: 0x008c, 0x2f51: 0x008c, - 0x2f52: 0x008c, 0x2f53: 0x008c, 0x2f54: 0x008c, 0x2f55: 0x008c, 0x2f56: 0x008c, 0x2f57: 0x008c, - 0x2f58: 0x008c, 0x2f59: 0x008c, 0x2f5a: 0x008c, 0x2f5b: 0x008c, 0x2f5c: 0x008c, 0x2f5d: 0x008c, - 0x2f5e: 0x0080, 0x2f5f: 0x0080, 0x2f60: 0x0040, 0x2f61: 0x0080, 0x2f62: 0x0080, 0x2f63: 0x0080, - 0x2f64: 0x0080, 0x2f65: 0x0080, 0x2f66: 0x0080, 0x2f67: 0x0080, 0x2f68: 0x0080, 0x2f69: 0x0080, - 0x2f6a: 0x0080, 0x2f6b: 0x0080, 0x2f6c: 0x0080, 0x2f6d: 0x0080, 0x2f6e: 0x0080, 0x2f6f: 0x0080, - 0x2f70: 0x0080, 0x2f71: 0x0080, 0x2f72: 0x0080, 0x2f73: 0x0080, 0x2f74: 0x0080, 0x2f75: 0x0080, - 0x2f76: 0x0080, 0x2f77: 0x0080, 0x2f78: 0x0080, 0x2f79: 0x0080, 0x2f7a: 0x0080, 0x2f7b: 0x0080, - 0x2f7c: 0x0080, 0x2f7d: 0x0080, 0x2f7e: 0x0080, + 0x2f42: 0x0080, 0x2f43: 0x0080, 0x2f44: 0x0080, 0x2f45: 0x0080, + 0x2f46: 0x0080, 0x2f47: 0x0080, 0x2f4a: 0x0080, 0x2f4b: 0x0080, + 0x2f4c: 0x0080, 0x2f4d: 0x0080, 0x2f4e: 0x0080, 0x2f4f: 0x0080, + 0x2f52: 0x0080, 0x2f53: 0x0080, 0x2f54: 0x0080, 0x2f55: 0x0080, 0x2f56: 0x0080, 0x2f57: 0x0080, + 0x2f5a: 0x0080, 0x2f5b: 0x0080, 0x2f5c: 0x0080, + 0x2f60: 0x0080, 0x2f61: 0x0080, 0x2f62: 0x0080, 0x2f63: 0x0080, + 0x2f64: 0x0080, 0x2f65: 0x0080, 0x2f66: 0x0080, 0x2f68: 0x0080, 0x2f69: 0x0080, + 0x2f6a: 0x0080, 0x2f6b: 0x0080, 0x2f6c: 0x0080, 0x2f6d: 0x0080, 0x2f6e: 0x0080, + 0x2f79: 0x0040, 0x2f7a: 0x0040, 0x2f7b: 0x0040, + 0x2f7c: 0x0080, 0x2f7d: 0x0080, // Block 0xbe, offset 0x2f80 - 0x2f82: 0x0080, 0x2f83: 0x0080, 0x2f84: 0x0080, 0x2f85: 0x0080, - 0x2f86: 0x0080, 0x2f87: 0x0080, 0x2f8a: 0x0080, 0x2f8b: 0x0080, - 0x2f8c: 0x0080, 0x2f8d: 0x0080, 0x2f8e: 0x0080, 0x2f8f: 0x0080, - 0x2f92: 0x0080, 0x2f93: 0x0080, 0x2f94: 0x0080, 0x2f95: 0x0080, 0x2f96: 0x0080, 0x2f97: 0x0080, - 0x2f9a: 0x0080, 0x2f9b: 0x0080, 0x2f9c: 0x0080, - 0x2fa0: 0x0080, 0x2fa1: 0x0080, 0x2fa2: 0x0080, 0x2fa3: 0x0080, - 0x2fa4: 0x0080, 0x2fa5: 0x0080, 0x2fa6: 0x0080, 0x2fa8: 0x0080, 0x2fa9: 0x0080, - 0x2faa: 0x0080, 0x2fab: 0x0080, 0x2fac: 0x0080, 0x2fad: 0x0080, 0x2fae: 0x0080, - 0x2fb9: 0x0040, 0x2fba: 0x0040, 0x2fbb: 0x0040, - 0x2fbc: 0x0080, 0x2fbd: 0x0080, + 0x2f80: 0x00c0, 0x2f81: 0x00c0, 0x2f82: 0x00c0, 0x2f83: 0x00c0, 0x2f84: 0x00c0, 0x2f85: 0x00c0, + 0x2f86: 0x00c0, 0x2f87: 0x00c0, 0x2f88: 0x00c0, 0x2f89: 0x00c0, 0x2f8a: 0x00c0, 0x2f8b: 0x00c0, + 0x2f8d: 0x00c0, 0x2f8e: 0x00c0, 0x2f8f: 0x00c0, 0x2f90: 0x00c0, 0x2f91: 0x00c0, + 0x2f92: 0x00c0, 0x2f93: 0x00c0, 0x2f94: 0x00c0, 0x2f95: 0x00c0, 0x2f96: 0x00c0, 0x2f97: 0x00c0, + 0x2f98: 0x00c0, 0x2f99: 0x00c0, 0x2f9a: 0x00c0, 0x2f9b: 0x00c0, 0x2f9c: 0x00c0, 0x2f9d: 0x00c0, + 0x2f9e: 0x00c0, 0x2f9f: 0x00c0, 0x2fa0: 0x00c0, 0x2fa1: 0x00c0, 0x2fa2: 0x00c0, 0x2fa3: 0x00c0, + 0x2fa4: 0x00c0, 0x2fa5: 0x00c0, 0x2fa6: 0x00c0, 0x2fa8: 0x00c0, 0x2fa9: 0x00c0, + 0x2faa: 0x00c0, 0x2fab: 0x00c0, 0x2fac: 0x00c0, 0x2fad: 0x00c0, 0x2fae: 0x00c0, 0x2faf: 0x00c0, + 0x2fb0: 0x00c0, 0x2fb1: 0x00c0, 0x2fb2: 0x00c0, 0x2fb3: 0x00c0, 0x2fb4: 0x00c0, 0x2fb5: 0x00c0, + 0x2fb6: 0x00c0, 0x2fb7: 0x00c0, 0x2fb8: 0x00c0, 0x2fb9: 0x00c0, 0x2fba: 0x00c0, + 0x2fbc: 0x00c0, 0x2fbd: 0x00c0, 0x2fbf: 0x00c0, // Block 0xbf, offset 0x2fc0 0x2fc0: 0x00c0, 0x2fc1: 0x00c0, 0x2fc2: 0x00c0, 0x2fc3: 0x00c0, 0x2fc4: 0x00c0, 0x2fc5: 0x00c0, 0x2fc6: 0x00c0, 0x2fc7: 0x00c0, 0x2fc8: 0x00c0, 0x2fc9: 0x00c0, 0x2fca: 0x00c0, 0x2fcb: 0x00c0, - 0x2fcd: 0x00c0, 0x2fce: 0x00c0, 0x2fcf: 0x00c0, 0x2fd0: 0x00c0, 0x2fd1: 0x00c0, + 0x2fcc: 0x00c0, 0x2fcd: 0x00c0, 0x2fd0: 0x00c0, 0x2fd1: 0x00c0, 0x2fd2: 0x00c0, 0x2fd3: 0x00c0, 0x2fd4: 0x00c0, 0x2fd5: 0x00c0, 0x2fd6: 0x00c0, 0x2fd7: 0x00c0, 0x2fd8: 0x00c0, 0x2fd9: 0x00c0, 0x2fda: 0x00c0, 0x2fdb: 0x00c0, 0x2fdc: 0x00c0, 0x2fdd: 0x00c0, - 0x2fde: 0x00c0, 0x2fdf: 0x00c0, 0x2fe0: 0x00c0, 0x2fe1: 0x00c0, 0x2fe2: 0x00c0, 0x2fe3: 0x00c0, - 0x2fe4: 0x00c0, 0x2fe5: 0x00c0, 0x2fe6: 0x00c0, 0x2fe8: 0x00c0, 0x2fe9: 0x00c0, - 0x2fea: 0x00c0, 0x2feb: 0x00c0, 0x2fec: 0x00c0, 0x2fed: 0x00c0, 0x2fee: 0x00c0, 0x2fef: 0x00c0, - 0x2ff0: 0x00c0, 0x2ff1: 0x00c0, 0x2ff2: 0x00c0, 0x2ff3: 0x00c0, 0x2ff4: 0x00c0, 0x2ff5: 0x00c0, - 0x2ff6: 0x00c0, 0x2ff7: 0x00c0, 0x2ff8: 0x00c0, 0x2ff9: 0x00c0, 0x2ffa: 0x00c0, - 0x2ffc: 0x00c0, 0x2ffd: 0x00c0, 0x2fff: 0x00c0, // Block 0xc0, offset 0x3000 0x3000: 0x00c0, 0x3001: 0x00c0, 0x3002: 0x00c0, 0x3003: 0x00c0, 0x3004: 0x00c0, 0x3005: 0x00c0, 0x3006: 0x00c0, 0x3007: 0x00c0, 0x3008: 0x00c0, 0x3009: 0x00c0, 0x300a: 0x00c0, 0x300b: 0x00c0, - 0x300c: 0x00c0, 0x300d: 0x00c0, 0x3010: 0x00c0, 0x3011: 0x00c0, + 0x300c: 0x00c0, 0x300d: 0x00c0, 0x300e: 0x00c0, 0x300f: 0x00c0, 0x3010: 0x00c0, 0x3011: 0x00c0, 0x3012: 0x00c0, 0x3013: 0x00c0, 0x3014: 0x00c0, 0x3015: 0x00c0, 0x3016: 0x00c0, 0x3017: 0x00c0, 0x3018: 0x00c0, 0x3019: 0x00c0, 0x301a: 0x00c0, 0x301b: 0x00c0, 0x301c: 0x00c0, 0x301d: 0x00c0, + 0x301e: 0x00c0, 0x301f: 0x00c0, 0x3020: 0x00c0, 0x3021: 0x00c0, 0x3022: 0x00c0, 0x3023: 0x00c0, + 0x3024: 0x00c0, 0x3025: 0x00c0, 0x3026: 0x00c0, 0x3027: 0x00c0, 0x3028: 0x00c0, 0x3029: 0x00c0, + 0x302a: 0x00c0, 0x302b: 0x00c0, 0x302c: 0x00c0, 0x302d: 0x00c0, 0x302e: 0x00c0, 0x302f: 0x00c0, + 0x3030: 0x00c0, 0x3031: 0x00c0, 0x3032: 0x00c0, 0x3033: 0x00c0, 0x3034: 0x00c0, 0x3035: 0x00c0, + 0x3036: 0x00c0, 0x3037: 0x00c0, 0x3038: 0x00c0, 0x3039: 0x00c0, 0x303a: 0x00c0, // Block 0xc1, offset 0x3040 - 0x3040: 0x00c0, 0x3041: 0x00c0, 0x3042: 0x00c0, 0x3043: 0x00c0, 0x3044: 0x00c0, 0x3045: 0x00c0, - 0x3046: 0x00c0, 0x3047: 0x00c0, 0x3048: 0x00c0, 0x3049: 0x00c0, 0x304a: 0x00c0, 0x304b: 0x00c0, - 0x304c: 0x00c0, 0x304d: 0x00c0, 0x304e: 0x00c0, 0x304f: 0x00c0, 0x3050: 0x00c0, 0x3051: 0x00c0, - 0x3052: 0x00c0, 0x3053: 0x00c0, 0x3054: 0x00c0, 0x3055: 0x00c0, 0x3056: 0x00c0, 0x3057: 0x00c0, - 0x3058: 0x00c0, 0x3059: 0x00c0, 0x305a: 0x00c0, 0x305b: 0x00c0, 0x305c: 0x00c0, 0x305d: 0x00c0, - 0x305e: 0x00c0, 0x305f: 0x00c0, 0x3060: 0x00c0, 0x3061: 0x00c0, 0x3062: 0x00c0, 0x3063: 0x00c0, - 0x3064: 0x00c0, 0x3065: 0x00c0, 0x3066: 0x00c0, 0x3067: 0x00c0, 0x3068: 0x00c0, 0x3069: 0x00c0, - 0x306a: 0x00c0, 0x306b: 0x00c0, 0x306c: 0x00c0, 0x306d: 0x00c0, 0x306e: 0x00c0, 0x306f: 0x00c0, - 0x3070: 0x00c0, 0x3071: 0x00c0, 0x3072: 0x00c0, 0x3073: 0x00c0, 0x3074: 0x00c0, 0x3075: 0x00c0, - 0x3076: 0x00c0, 0x3077: 0x00c0, 0x3078: 0x00c0, 0x3079: 0x00c0, 0x307a: 0x00c0, + 0x3040: 0x0080, 0x3041: 0x0080, 0x3042: 0x0080, + 0x3047: 0x0080, 0x3048: 0x0080, 0x3049: 0x0080, 0x304a: 0x0080, 0x304b: 0x0080, + 0x304c: 0x0080, 0x304d: 0x0080, 0x304e: 0x0080, 0x304f: 0x0080, 0x3050: 0x0080, 0x3051: 0x0080, + 0x3052: 0x0080, 0x3053: 0x0080, 0x3054: 0x0080, 0x3055: 0x0080, 0x3056: 0x0080, 0x3057: 0x0080, + 0x3058: 0x0080, 0x3059: 0x0080, 0x305a: 0x0080, 0x305b: 0x0080, 0x305c: 0x0080, 0x305d: 0x0080, + 0x305e: 0x0080, 0x305f: 0x0080, 0x3060: 0x0080, 0x3061: 0x0080, 0x3062: 0x0080, 0x3063: 0x0080, + 0x3064: 0x0080, 0x3065: 0x0080, 0x3066: 0x0080, 0x3067: 0x0080, 0x3068: 0x0080, 0x3069: 0x0080, + 0x306a: 0x0080, 0x306b: 0x0080, 0x306c: 0x0080, 0x306d: 0x0080, 0x306e: 0x0080, 0x306f: 0x0080, + 0x3070: 0x0080, 0x3071: 0x0080, 0x3072: 0x0080, 0x3073: 0x0080, + 0x3077: 0x0080, 0x3078: 0x0080, 0x3079: 0x0080, 0x307a: 0x0080, 0x307b: 0x0080, + 0x307c: 0x0080, 0x307d: 0x0080, 0x307e: 0x0080, 0x307f: 0x0080, // Block 0xc2, offset 0x3080 - 0x3080: 0x0080, 0x3081: 0x0080, 0x3082: 0x0080, - 0x3087: 0x0080, 0x3088: 0x0080, 0x3089: 0x0080, 0x308a: 0x0080, 0x308b: 0x0080, - 0x308c: 0x0080, 0x308d: 0x0080, 0x308e: 0x0080, 0x308f: 0x0080, 0x3090: 0x0080, 0x3091: 0x0080, - 0x3092: 0x0080, 0x3093: 0x0080, 0x3094: 0x0080, 0x3095: 0x0080, 0x3096: 0x0080, 0x3097: 0x0080, - 0x3098: 0x0080, 0x3099: 0x0080, 0x309a: 0x0080, 0x309b: 0x0080, 0x309c: 0x0080, 0x309d: 0x0080, - 0x309e: 0x0080, 0x309f: 0x0080, 0x30a0: 0x0080, 0x30a1: 0x0080, 0x30a2: 0x0080, 0x30a3: 0x0080, - 0x30a4: 0x0080, 0x30a5: 0x0080, 0x30a6: 0x0080, 0x30a7: 0x0080, 0x30a8: 0x0080, 0x30a9: 0x0080, - 0x30aa: 0x0080, 0x30ab: 0x0080, 0x30ac: 0x0080, 0x30ad: 0x0080, 0x30ae: 0x0080, 0x30af: 0x0080, - 0x30b0: 0x0080, 0x30b1: 0x0080, 0x30b2: 0x0080, 0x30b3: 0x0080, - 0x30b7: 0x0080, 0x30b8: 0x0080, 0x30b9: 0x0080, 0x30ba: 0x0080, 0x30bb: 0x0080, - 0x30bc: 0x0080, 0x30bd: 0x0080, 0x30be: 0x0080, 0x30bf: 0x0080, + 0x3080: 0x0088, 0x3081: 0x0088, 0x3082: 0x0088, 0x3083: 0x0088, 0x3084: 0x0088, 0x3085: 0x0088, + 0x3086: 0x0088, 0x3087: 0x0088, 0x3088: 0x0088, 0x3089: 0x0088, 0x308a: 0x0088, 0x308b: 0x0088, + 0x308c: 0x0088, 0x308d: 0x0088, 0x308e: 0x0088, 0x308f: 0x0088, 0x3090: 0x0088, 0x3091: 0x0088, + 0x3092: 0x0088, 0x3093: 0x0088, 0x3094: 0x0088, 0x3095: 0x0088, 0x3096: 0x0088, 0x3097: 0x0088, + 0x3098: 0x0088, 0x3099: 0x0088, 0x309a: 0x0088, 0x309b: 0x0088, 0x309c: 0x0088, 0x309d: 0x0088, + 0x309e: 0x0088, 0x309f: 0x0088, 0x30a0: 0x0088, 0x30a1: 0x0088, 0x30a2: 0x0088, 0x30a3: 0x0088, + 0x30a4: 0x0088, 0x30a5: 0x0088, 0x30a6: 0x0088, 0x30a7: 0x0088, 0x30a8: 0x0088, 0x30a9: 0x0088, + 0x30aa: 0x0088, 0x30ab: 0x0088, 0x30ac: 0x0088, 0x30ad: 0x0088, 0x30ae: 0x0088, 0x30af: 0x0088, + 0x30b0: 0x0088, 0x30b1: 0x0088, 0x30b2: 0x0088, 0x30b3: 0x0088, 0x30b4: 0x0088, 0x30b5: 0x0088, + 0x30b6: 0x0088, 0x30b7: 0x0088, 0x30b8: 0x0088, 0x30b9: 0x0088, 0x30ba: 0x0088, 0x30bb: 0x0088, + 0x30bc: 0x0088, 0x30bd: 0x0088, 0x30be: 0x0088, 0x30bf: 0x0088, // Block 0xc3, offset 0x30c0 0x30c0: 0x0088, 0x30c1: 0x0088, 0x30c2: 0x0088, 0x30c3: 0x0088, 0x30c4: 0x0088, 0x30c5: 0x0088, 0x30c6: 0x0088, 0x30c7: 0x0088, 0x30c8: 0x0088, 0x30c9: 0x0088, 0x30ca: 0x0088, 0x30cb: 0x0088, - 0x30cc: 0x0088, 0x30cd: 0x0088, 0x30ce: 0x0088, 0x30cf: 0x0088, 0x30d0: 0x0088, 0x30d1: 0x0088, - 0x30d2: 0x0088, 0x30d3: 0x0088, 0x30d4: 0x0088, 0x30d5: 0x0088, 0x30d6: 0x0088, 0x30d7: 0x0088, - 0x30d8: 0x0088, 0x30d9: 0x0088, 0x30da: 0x0088, 0x30db: 0x0088, 0x30dc: 0x0088, 0x30dd: 0x0088, - 0x30de: 0x0088, 0x30df: 0x0088, 0x30e0: 0x0088, 0x30e1: 0x0088, 0x30e2: 0x0088, 0x30e3: 0x0088, - 0x30e4: 0x0088, 0x30e5: 0x0088, 0x30e6: 0x0088, 0x30e7: 0x0088, 0x30e8: 0x0088, 0x30e9: 0x0088, - 0x30ea: 0x0088, 0x30eb: 0x0088, 0x30ec: 0x0088, 0x30ed: 0x0088, 0x30ee: 0x0088, 0x30ef: 0x0088, - 0x30f0: 0x0088, 0x30f1: 0x0088, 0x30f2: 0x0088, 0x30f3: 0x0088, 0x30f4: 0x0088, 0x30f5: 0x0088, - 0x30f6: 0x0088, 0x30f7: 0x0088, 0x30f8: 0x0088, 0x30f9: 0x0088, 0x30fa: 0x0088, 0x30fb: 0x0088, - 0x30fc: 0x0088, 0x30fd: 0x0088, 0x30fe: 0x0088, 0x30ff: 0x0088, + 0x30cc: 0x0088, 0x30cd: 0x0088, 0x30ce: 0x0088, 0x30d0: 0x0080, 0x30d1: 0x0080, + 0x30d2: 0x0080, 0x30d3: 0x0080, 0x30d4: 0x0080, 0x30d5: 0x0080, 0x30d6: 0x0080, 0x30d7: 0x0080, + 0x30d8: 0x0080, 0x30d9: 0x0080, 0x30da: 0x0080, 0x30db: 0x0080, + 0x30e0: 0x0088, // Block 0xc4, offset 0x3100 - 0x3100: 0x0088, 0x3101: 0x0088, 0x3102: 0x0088, 0x3103: 0x0088, 0x3104: 0x0088, 0x3105: 0x0088, - 0x3106: 0x0088, 0x3107: 0x0088, 0x3108: 0x0088, 0x3109: 0x0088, 0x310a: 0x0088, 0x310b: 0x0088, - 0x310c: 0x0088, 0x310d: 0x0088, 0x310e: 0x0088, 0x3110: 0x0080, 0x3111: 0x0080, + 0x3110: 0x0080, 0x3111: 0x0080, 0x3112: 0x0080, 0x3113: 0x0080, 0x3114: 0x0080, 0x3115: 0x0080, 0x3116: 0x0080, 0x3117: 0x0080, - 0x3118: 0x0080, 0x3119: 0x0080, 0x311a: 0x0080, 0x311b: 0x0080, - 0x3120: 0x0088, + 0x3118: 0x0080, 0x3119: 0x0080, 0x311a: 0x0080, 0x311b: 0x0080, 0x311c: 0x0080, 0x311d: 0x0080, + 0x311e: 0x0080, 0x311f: 0x0080, 0x3120: 0x0080, 0x3121: 0x0080, 0x3122: 0x0080, 0x3123: 0x0080, + 0x3124: 0x0080, 0x3125: 0x0080, 0x3126: 0x0080, 0x3127: 0x0080, 0x3128: 0x0080, 0x3129: 0x0080, + 0x312a: 0x0080, 0x312b: 0x0080, 0x312c: 0x0080, 0x312d: 0x0080, 0x312e: 0x0080, 0x312f: 0x0080, + 0x3130: 0x0080, 0x3131: 0x0080, 0x3132: 0x0080, 0x3133: 0x0080, 0x3134: 0x0080, 0x3135: 0x0080, + 0x3136: 0x0080, 0x3137: 0x0080, 0x3138: 0x0080, 0x3139: 0x0080, 0x313a: 0x0080, 0x313b: 0x0080, + 0x313c: 0x0080, 0x313d: 0x00c3, // Block 0xc5, offset 0x3140 - 0x3150: 0x0080, 0x3151: 0x0080, - 0x3152: 0x0080, 0x3153: 0x0080, 0x3154: 0x0080, 0x3155: 0x0080, 0x3156: 0x0080, 0x3157: 0x0080, - 0x3158: 0x0080, 0x3159: 0x0080, 0x315a: 0x0080, 0x315b: 0x0080, 0x315c: 0x0080, 0x315d: 0x0080, - 0x315e: 0x0080, 0x315f: 0x0080, 0x3160: 0x0080, 0x3161: 0x0080, 0x3162: 0x0080, 0x3163: 0x0080, - 0x3164: 0x0080, 0x3165: 0x0080, 0x3166: 0x0080, 0x3167: 0x0080, 0x3168: 0x0080, 0x3169: 0x0080, - 0x316a: 0x0080, 0x316b: 0x0080, 0x316c: 0x0080, 0x316d: 0x0080, 0x316e: 0x0080, 0x316f: 0x0080, - 0x3170: 0x0080, 0x3171: 0x0080, 0x3172: 0x0080, 0x3173: 0x0080, 0x3174: 0x0080, 0x3175: 0x0080, - 0x3176: 0x0080, 0x3177: 0x0080, 0x3178: 0x0080, 0x3179: 0x0080, 0x317a: 0x0080, 0x317b: 0x0080, - 0x317c: 0x0080, 0x317d: 0x00c3, + 0x3140: 0x00c0, 0x3141: 0x00c0, 0x3142: 0x00c0, 0x3143: 0x00c0, 0x3144: 0x00c0, 0x3145: 0x00c0, + 0x3146: 0x00c0, 0x3147: 0x00c0, 0x3148: 0x00c0, 0x3149: 0x00c0, 0x314a: 0x00c0, 0x314b: 0x00c0, + 0x314c: 0x00c0, 0x314d: 0x00c0, 0x314e: 0x00c0, 0x314f: 0x00c0, 0x3150: 0x00c0, 0x3151: 0x00c0, + 0x3152: 0x00c0, 0x3153: 0x00c0, 0x3154: 0x00c0, 0x3155: 0x00c0, 0x3156: 0x00c0, 0x3157: 0x00c0, + 0x3158: 0x00c0, 0x3159: 0x00c0, 0x315a: 0x00c0, 0x315b: 0x00c0, 0x315c: 0x00c0, + 0x3160: 0x00c0, 0x3161: 0x00c0, 0x3162: 0x00c0, 0x3163: 0x00c0, + 0x3164: 0x00c0, 0x3165: 0x00c0, 0x3166: 0x00c0, 0x3167: 0x00c0, 0x3168: 0x00c0, 0x3169: 0x00c0, + 0x316a: 0x00c0, 0x316b: 0x00c0, 0x316c: 0x00c0, 0x316d: 0x00c0, 0x316e: 0x00c0, 0x316f: 0x00c0, + 0x3170: 0x00c0, 0x3171: 0x00c0, 0x3172: 0x00c0, 0x3173: 0x00c0, 0x3174: 0x00c0, 0x3175: 0x00c0, + 0x3176: 0x00c0, 0x3177: 0x00c0, 0x3178: 0x00c0, 0x3179: 0x00c0, 0x317a: 0x00c0, 0x317b: 0x00c0, + 0x317c: 0x00c0, 0x317d: 0x00c0, 0x317e: 0x00c0, 0x317f: 0x00c0, // Block 0xc6, offset 0x3180 0x3180: 0x00c0, 0x3181: 0x00c0, 0x3182: 0x00c0, 0x3183: 0x00c0, 0x3184: 0x00c0, 0x3185: 0x00c0, 0x3186: 0x00c0, 0x3187: 0x00c0, 0x3188: 0x00c0, 0x3189: 0x00c0, 0x318a: 0x00c0, 0x318b: 0x00c0, - 0x318c: 0x00c0, 0x318d: 0x00c0, 0x318e: 0x00c0, 0x318f: 0x00c0, 0x3190: 0x00c0, 0x3191: 0x00c0, - 0x3192: 0x00c0, 0x3193: 0x00c0, 0x3194: 0x00c0, 0x3195: 0x00c0, 0x3196: 0x00c0, 0x3197: 0x00c0, - 0x3198: 0x00c0, 0x3199: 0x00c0, 0x319a: 0x00c0, 0x319b: 0x00c0, 0x319c: 0x00c0, - 0x31a0: 0x00c0, 0x31a1: 0x00c0, 0x31a2: 0x00c0, 0x31a3: 0x00c0, - 0x31a4: 0x00c0, 0x31a5: 0x00c0, 0x31a6: 0x00c0, 0x31a7: 0x00c0, 0x31a8: 0x00c0, 0x31a9: 0x00c0, - 0x31aa: 0x00c0, 0x31ab: 0x00c0, 0x31ac: 0x00c0, 0x31ad: 0x00c0, 0x31ae: 0x00c0, 0x31af: 0x00c0, - 0x31b0: 0x00c0, 0x31b1: 0x00c0, 0x31b2: 0x00c0, 0x31b3: 0x00c0, 0x31b4: 0x00c0, 0x31b5: 0x00c0, - 0x31b6: 0x00c0, 0x31b7: 0x00c0, 0x31b8: 0x00c0, 0x31b9: 0x00c0, 0x31ba: 0x00c0, 0x31bb: 0x00c0, - 0x31bc: 0x00c0, 0x31bd: 0x00c0, 0x31be: 0x00c0, 0x31bf: 0x00c0, + 0x318c: 0x00c0, 0x318d: 0x00c0, 0x318e: 0x00c0, 0x318f: 0x00c0, 0x3190: 0x00c0, + 0x31a0: 0x00c3, 0x31a1: 0x0080, 0x31a2: 0x0080, 0x31a3: 0x0080, + 0x31a4: 0x0080, 0x31a5: 0x0080, 0x31a6: 0x0080, 0x31a7: 0x0080, 0x31a8: 0x0080, 0x31a9: 0x0080, + 0x31aa: 0x0080, 0x31ab: 0x0080, 0x31ac: 0x0080, 0x31ad: 0x0080, 0x31ae: 0x0080, 0x31af: 0x0080, + 0x31b0: 0x0080, 0x31b1: 0x0080, 0x31b2: 0x0080, 0x31b3: 0x0080, 0x31b4: 0x0080, 0x31b5: 0x0080, + 0x31b6: 0x0080, 0x31b7: 0x0080, 0x31b8: 0x0080, 0x31b9: 0x0080, 0x31ba: 0x0080, 0x31bb: 0x0080, // Block 0xc7, offset 0x31c0 0x31c0: 0x00c0, 0x31c1: 0x00c0, 0x31c2: 0x00c0, 0x31c3: 0x00c0, 0x31c4: 0x00c0, 0x31c5: 0x00c0, 0x31c6: 0x00c0, 0x31c7: 0x00c0, 0x31c8: 0x00c0, 0x31c9: 0x00c0, 0x31ca: 0x00c0, 0x31cb: 0x00c0, - 0x31cc: 0x00c0, 0x31cd: 0x00c0, 0x31ce: 0x00c0, 0x31cf: 0x00c0, 0x31d0: 0x00c0, - 0x31e0: 0x00c3, 0x31e1: 0x0080, 0x31e2: 0x0080, 0x31e3: 0x0080, - 0x31e4: 0x0080, 0x31e5: 0x0080, 0x31e6: 0x0080, 0x31e7: 0x0080, 0x31e8: 0x0080, 0x31e9: 0x0080, - 0x31ea: 0x0080, 0x31eb: 0x0080, 0x31ec: 0x0080, 0x31ed: 0x0080, 0x31ee: 0x0080, 0x31ef: 0x0080, - 0x31f0: 0x0080, 0x31f1: 0x0080, 0x31f2: 0x0080, 0x31f3: 0x0080, 0x31f4: 0x0080, 0x31f5: 0x0080, - 0x31f6: 0x0080, 0x31f7: 0x0080, 0x31f8: 0x0080, 0x31f9: 0x0080, 0x31fa: 0x0080, 0x31fb: 0x0080, + 0x31cc: 0x00c0, 0x31cd: 0x00c0, 0x31ce: 0x00c0, 0x31cf: 0x00c0, 0x31d0: 0x00c0, 0x31d1: 0x00c0, + 0x31d2: 0x00c0, 0x31d3: 0x00c0, 0x31d4: 0x00c0, 0x31d5: 0x00c0, 0x31d6: 0x00c0, 0x31d7: 0x00c0, + 0x31d8: 0x00c0, 0x31d9: 0x00c0, 0x31da: 0x00c0, 0x31db: 0x00c0, 0x31dc: 0x00c0, 0x31dd: 0x00c0, + 0x31de: 0x00c0, 0x31df: 0x00c0, 0x31e0: 0x0080, 0x31e1: 0x0080, 0x31e2: 0x0080, 0x31e3: 0x0080, + 0x31ed: 0x00c0, 0x31ee: 0x00c0, 0x31ef: 0x00c0, + 0x31f0: 0x00c0, 0x31f1: 0x00c0, 0x31f2: 0x00c0, 0x31f3: 0x00c0, 0x31f4: 0x00c0, 0x31f5: 0x00c0, + 0x31f6: 0x00c0, 0x31f7: 0x00c0, 0x31f8: 0x00c0, 0x31f9: 0x00c0, 0x31fa: 0x00c0, 0x31fb: 0x00c0, + 0x31fc: 0x00c0, 0x31fd: 0x00c0, 0x31fe: 0x00c0, 0x31ff: 0x00c0, // Block 0xc8, offset 0x3200 - 0x3200: 0x00c0, 0x3201: 0x00c0, 0x3202: 0x00c0, 0x3203: 0x00c0, 0x3204: 0x00c0, 0x3205: 0x00c0, - 0x3206: 0x00c0, 0x3207: 0x00c0, 0x3208: 0x00c0, 0x3209: 0x00c0, 0x320a: 0x00c0, 0x320b: 0x00c0, - 0x320c: 0x00c0, 0x320d: 0x00c0, 0x320e: 0x00c0, 0x320f: 0x00c0, 0x3210: 0x00c0, 0x3211: 0x00c0, + 0x3200: 0x00c0, 0x3201: 0x0080, 0x3202: 0x00c0, 0x3203: 0x00c0, 0x3204: 0x00c0, 0x3205: 0x00c0, + 0x3206: 0x00c0, 0x3207: 0x00c0, 0x3208: 0x00c0, 0x3209: 0x00c0, 0x320a: 0x0080, + 0x3210: 0x00c0, 0x3211: 0x00c0, 0x3212: 0x00c0, 0x3213: 0x00c0, 0x3214: 0x00c0, 0x3215: 0x00c0, 0x3216: 0x00c0, 0x3217: 0x00c0, 0x3218: 0x00c0, 0x3219: 0x00c0, 0x321a: 0x00c0, 0x321b: 0x00c0, 0x321c: 0x00c0, 0x321d: 0x00c0, - 0x321e: 0x00c0, 0x321f: 0x00c0, 0x3220: 0x0080, 0x3221: 0x0080, 0x3222: 0x0080, 0x3223: 0x0080, + 0x321e: 0x00c0, 0x321f: 0x00c0, 0x3220: 0x00c0, 0x3221: 0x00c0, 0x3222: 0x00c0, 0x3223: 0x00c0, + 0x3224: 0x00c0, 0x3225: 0x00c0, 0x3226: 0x00c0, 0x3227: 0x00c0, 0x3228: 0x00c0, 0x3229: 0x00c0, + 0x322a: 0x00c0, 0x322b: 0x00c0, 0x322c: 0x00c0, 0x322d: 0x00c0, 0x322e: 0x00c0, 0x322f: 0x00c0, 0x3230: 0x00c0, 0x3231: 0x00c0, 0x3232: 0x00c0, 0x3233: 0x00c0, 0x3234: 0x00c0, 0x3235: 0x00c0, - 0x3236: 0x00c0, 0x3237: 0x00c0, 0x3238: 0x00c0, 0x3239: 0x00c0, 0x323a: 0x00c0, 0x323b: 0x00c0, - 0x323c: 0x00c0, 0x323d: 0x00c0, 0x323e: 0x00c0, 0x323f: 0x00c0, + 0x3236: 0x00c3, 0x3237: 0x00c3, 0x3238: 0x00c3, 0x3239: 0x00c3, 0x323a: 0x00c3, // Block 0xc9, offset 0x3240 - 0x3240: 0x00c0, 0x3241: 0x0080, 0x3242: 0x00c0, 0x3243: 0x00c0, 0x3244: 0x00c0, 0x3245: 0x00c0, - 0x3246: 0x00c0, 0x3247: 0x00c0, 0x3248: 0x00c0, 0x3249: 0x00c0, 0x324a: 0x0080, - 0x3250: 0x00c0, 0x3251: 0x00c0, + 0x3240: 0x00c0, 0x3241: 0x00c0, 0x3242: 0x00c0, 0x3243: 0x00c0, 0x3244: 0x00c0, 0x3245: 0x00c0, + 0x3246: 0x00c0, 0x3247: 0x00c0, 0x3248: 0x00c0, 0x3249: 0x00c0, 0x324a: 0x00c0, 0x324b: 0x00c0, + 0x324c: 0x00c0, 0x324d: 0x00c0, 0x324e: 0x00c0, 0x324f: 0x00c0, 0x3250: 0x00c0, 0x3251: 0x00c0, 0x3252: 0x00c0, 0x3253: 0x00c0, 0x3254: 0x00c0, 0x3255: 0x00c0, 0x3256: 0x00c0, 0x3257: 0x00c0, 0x3258: 0x00c0, 0x3259: 0x00c0, 0x325a: 0x00c0, 0x325b: 0x00c0, 0x325c: 0x00c0, 0x325d: 0x00c0, - 0x325e: 0x00c0, 0x325f: 0x00c0, 0x3260: 0x00c0, 0x3261: 0x00c0, 0x3262: 0x00c0, 0x3263: 0x00c0, + 0x325f: 0x0080, 0x3260: 0x00c0, 0x3261: 0x00c0, 0x3262: 0x00c0, 0x3263: 0x00c0, 0x3264: 0x00c0, 0x3265: 0x00c0, 0x3266: 0x00c0, 0x3267: 0x00c0, 0x3268: 0x00c0, 0x3269: 0x00c0, 0x326a: 0x00c0, 0x326b: 0x00c0, 0x326c: 0x00c0, 0x326d: 0x00c0, 0x326e: 0x00c0, 0x326f: 0x00c0, 0x3270: 0x00c0, 0x3271: 0x00c0, 0x3272: 0x00c0, 0x3273: 0x00c0, 0x3274: 0x00c0, 0x3275: 0x00c0, - 0x3276: 0x00c3, 0x3277: 0x00c3, 0x3278: 0x00c3, 0x3279: 0x00c3, 0x327a: 0x00c3, + 0x3276: 0x00c0, 0x3277: 0x00c0, 0x3278: 0x00c0, 0x3279: 0x00c0, 0x327a: 0x00c0, 0x327b: 0x00c0, + 0x327c: 0x00c0, 0x327d: 0x00c0, 0x327e: 0x00c0, 0x327f: 0x00c0, // Block 0xca, offset 0x3280 - 0x3280: 0x00c0, 0x3281: 0x00c0, 0x3282: 0x00c0, 0x3283: 0x00c0, 0x3284: 0x00c0, 0x3285: 0x00c0, - 0x3286: 0x00c0, 0x3287: 0x00c0, 0x3288: 0x00c0, 0x3289: 0x00c0, 0x328a: 0x00c0, 0x328b: 0x00c0, - 0x328c: 0x00c0, 0x328d: 0x00c0, 0x328e: 0x00c0, 0x328f: 0x00c0, 0x3290: 0x00c0, 0x3291: 0x00c0, - 0x3292: 0x00c0, 0x3293: 0x00c0, 0x3294: 0x00c0, 0x3295: 0x00c0, 0x3296: 0x00c0, 0x3297: 0x00c0, - 0x3298: 0x00c0, 0x3299: 0x00c0, 0x329a: 0x00c0, 0x329b: 0x00c0, 0x329c: 0x00c0, 0x329d: 0x00c0, - 0x329f: 0x0080, 0x32a0: 0x00c0, 0x32a1: 0x00c0, 0x32a2: 0x00c0, 0x32a3: 0x00c0, - 0x32a4: 0x00c0, 0x32a5: 0x00c0, 0x32a6: 0x00c0, 0x32a7: 0x00c0, 0x32a8: 0x00c0, 0x32a9: 0x00c0, - 0x32aa: 0x00c0, 0x32ab: 0x00c0, 0x32ac: 0x00c0, 0x32ad: 0x00c0, 0x32ae: 0x00c0, 0x32af: 0x00c0, - 0x32b0: 0x00c0, 0x32b1: 0x00c0, 0x32b2: 0x00c0, 0x32b3: 0x00c0, 0x32b4: 0x00c0, 0x32b5: 0x00c0, - 0x32b6: 0x00c0, 0x32b7: 0x00c0, 0x32b8: 0x00c0, 0x32b9: 0x00c0, 0x32ba: 0x00c0, 0x32bb: 0x00c0, - 0x32bc: 0x00c0, 0x32bd: 0x00c0, 0x32be: 0x00c0, 0x32bf: 0x00c0, + 0x3280: 0x00c0, 0x3281: 0x00c0, 0x3282: 0x00c0, 0x3283: 0x00c0, + 0x3288: 0x00c0, 0x3289: 0x00c0, 0x328a: 0x00c0, 0x328b: 0x00c0, + 0x328c: 0x00c0, 0x328d: 0x00c0, 0x328e: 0x00c0, 0x328f: 0x00c0, 0x3290: 0x0080, 0x3291: 0x0080, + 0x3292: 0x0080, 0x3293: 0x0080, 0x3294: 0x0080, 0x3295: 0x0080, // Block 0xcb, offset 0x32c0 - 0x32c0: 0x00c0, 0x32c1: 0x00c0, 0x32c2: 0x00c0, 0x32c3: 0x00c0, - 0x32c8: 0x00c0, 0x32c9: 0x00c0, 0x32ca: 0x00c0, 0x32cb: 0x00c0, - 0x32cc: 0x00c0, 0x32cd: 0x00c0, 0x32ce: 0x00c0, 0x32cf: 0x00c0, 0x32d0: 0x0080, 0x32d1: 0x0080, - 0x32d2: 0x0080, 0x32d3: 0x0080, 0x32d4: 0x0080, 0x32d5: 0x0080, + 0x32c0: 0x00c0, 0x32c1: 0x00c0, 0x32c2: 0x00c0, 0x32c3: 0x00c0, 0x32c4: 0x00c0, 0x32c5: 0x00c0, + 0x32c6: 0x00c0, 0x32c7: 0x00c0, 0x32c8: 0x00c0, 0x32c9: 0x00c0, 0x32ca: 0x00c0, 0x32cb: 0x00c0, + 0x32cc: 0x00c0, 0x32cd: 0x00c0, 0x32ce: 0x00c0, 0x32cf: 0x00c0, 0x32d0: 0x00c0, 0x32d1: 0x00c0, + 0x32d2: 0x00c0, 0x32d3: 0x00c0, 0x32d4: 0x00c0, 0x32d5: 0x00c0, 0x32d6: 0x00c0, 0x32d7: 0x00c0, + 0x32d8: 0x00c0, 0x32d9: 0x00c0, 0x32da: 0x00c0, 0x32db: 0x00c0, 0x32dc: 0x00c0, 0x32dd: 0x00c0, + 0x32e0: 0x00c0, 0x32e1: 0x00c0, 0x32e2: 0x00c0, 0x32e3: 0x00c0, + 0x32e4: 0x00c0, 0x32e5: 0x00c0, 0x32e6: 0x00c0, 0x32e7: 0x00c0, 0x32e8: 0x00c0, 0x32e9: 0x00c0, + 0x32f0: 0x00c0, 0x32f1: 0x00c0, 0x32f2: 0x00c0, 0x32f3: 0x00c0, 0x32f4: 0x00c0, 0x32f5: 0x00c0, + 0x32f6: 0x00c0, 0x32f7: 0x00c0, 0x32f8: 0x00c0, 0x32f9: 0x00c0, 0x32fa: 0x00c0, 0x32fb: 0x00c0, + 0x32fc: 0x00c0, 0x32fd: 0x00c0, 0x32fe: 0x00c0, 0x32ff: 0x00c0, // Block 0xcc, offset 0x3300 0x3300: 0x00c0, 0x3301: 0x00c0, 0x3302: 0x00c0, 0x3303: 0x00c0, 0x3304: 0x00c0, 0x3305: 0x00c0, 0x3306: 0x00c0, 0x3307: 0x00c0, 0x3308: 0x00c0, 0x3309: 0x00c0, 0x330a: 0x00c0, 0x330b: 0x00c0, 0x330c: 0x00c0, 0x330d: 0x00c0, 0x330e: 0x00c0, 0x330f: 0x00c0, 0x3310: 0x00c0, 0x3311: 0x00c0, - 0x3312: 0x00c0, 0x3313: 0x00c0, 0x3314: 0x00c0, 0x3315: 0x00c0, 0x3316: 0x00c0, 0x3317: 0x00c0, + 0x3312: 0x00c0, 0x3313: 0x00c0, 0x3318: 0x00c0, 0x3319: 0x00c0, 0x331a: 0x00c0, 0x331b: 0x00c0, 0x331c: 0x00c0, 0x331d: 0x00c0, - 0x3320: 0x00c0, 0x3321: 0x00c0, 0x3322: 0x00c0, 0x3323: 0x00c0, + 0x331e: 0x00c0, 0x331f: 0x00c0, 0x3320: 0x00c0, 0x3321: 0x00c0, 0x3322: 0x00c0, 0x3323: 0x00c0, 0x3324: 0x00c0, 0x3325: 0x00c0, 0x3326: 0x00c0, 0x3327: 0x00c0, 0x3328: 0x00c0, 0x3329: 0x00c0, + 0x332a: 0x00c0, 0x332b: 0x00c0, 0x332c: 0x00c0, 0x332d: 0x00c0, 0x332e: 0x00c0, 0x332f: 0x00c0, 0x3330: 0x00c0, 0x3331: 0x00c0, 0x3332: 0x00c0, 0x3333: 0x00c0, 0x3334: 0x00c0, 0x3335: 0x00c0, 0x3336: 0x00c0, 0x3337: 0x00c0, 0x3338: 0x00c0, 0x3339: 0x00c0, 0x333a: 0x00c0, 0x333b: 0x00c0, - 0x333c: 0x00c0, 0x333d: 0x00c0, 0x333e: 0x00c0, 0x333f: 0x00c0, // Block 0xcd, offset 0x3340 0x3340: 0x00c0, 0x3341: 0x00c0, 0x3342: 0x00c0, 0x3343: 0x00c0, 0x3344: 0x00c0, 0x3345: 0x00c0, 0x3346: 0x00c0, 0x3347: 0x00c0, 0x3348: 0x00c0, 0x3349: 0x00c0, 0x334a: 0x00c0, 0x334b: 0x00c0, 0x334c: 0x00c0, 0x334d: 0x00c0, 0x334e: 0x00c0, 0x334f: 0x00c0, 0x3350: 0x00c0, 0x3351: 0x00c0, - 0x3352: 0x00c0, 0x3353: 0x00c0, + 0x3352: 0x00c0, 0x3353: 0x00c0, 0x3354: 0x00c0, 0x3355: 0x00c0, 0x3356: 0x00c0, 0x3357: 0x00c0, 0x3358: 0x00c0, 0x3359: 0x00c0, 0x335a: 0x00c0, 0x335b: 0x00c0, 0x335c: 0x00c0, 0x335d: 0x00c0, 0x335e: 0x00c0, 0x335f: 0x00c0, 0x3360: 0x00c0, 0x3361: 0x00c0, 0x3362: 0x00c0, 0x3363: 0x00c0, - 0x3364: 0x00c0, 0x3365: 0x00c0, 0x3366: 0x00c0, 0x3367: 0x00c0, 0x3368: 0x00c0, 0x3369: 0x00c0, - 0x336a: 0x00c0, 0x336b: 0x00c0, 0x336c: 0x00c0, 0x336d: 0x00c0, 0x336e: 0x00c0, 0x336f: 0x00c0, + 0x3364: 0x00c0, 0x3365: 0x00c0, 0x3366: 0x00c0, 0x3367: 0x00c0, 0x3370: 0x00c0, 0x3371: 0x00c0, 0x3372: 0x00c0, 0x3373: 0x00c0, 0x3374: 0x00c0, 0x3375: 0x00c0, 0x3376: 0x00c0, 0x3377: 0x00c0, 0x3378: 0x00c0, 0x3379: 0x00c0, 0x337a: 0x00c0, 0x337b: 0x00c0, + 0x337c: 0x00c0, 0x337d: 0x00c0, 0x337e: 0x00c0, 0x337f: 0x00c0, // Block 0xce, offset 0x3380 0x3380: 0x00c0, 0x3381: 0x00c0, 0x3382: 0x00c0, 0x3383: 0x00c0, 0x3384: 0x00c0, 0x3385: 0x00c0, 0x3386: 0x00c0, 0x3387: 0x00c0, 0x3388: 0x00c0, 0x3389: 0x00c0, 0x338a: 0x00c0, 0x338b: 0x00c0, @@ -2459,10 +2469,7 @@ var derivedPropertiesValues = [20736]uint8{ 0x3392: 0x00c0, 0x3393: 0x00c0, 0x3394: 0x00c0, 0x3395: 0x00c0, 0x3396: 0x00c0, 0x3397: 0x00c0, 0x3398: 0x00c0, 0x3399: 0x00c0, 0x339a: 0x00c0, 0x339b: 0x00c0, 0x339c: 0x00c0, 0x339d: 0x00c0, 0x339e: 0x00c0, 0x339f: 0x00c0, 0x33a0: 0x00c0, 0x33a1: 0x00c0, 0x33a2: 0x00c0, 0x33a3: 0x00c0, - 0x33a4: 0x00c0, 0x33a5: 0x00c0, 0x33a6: 0x00c0, 0x33a7: 0x00c0, - 0x33b0: 0x00c0, 0x33b1: 0x00c0, 0x33b2: 0x00c0, 0x33b3: 0x00c0, 0x33b4: 0x00c0, 0x33b5: 0x00c0, - 0x33b6: 0x00c0, 0x33b7: 0x00c0, 0x33b8: 0x00c0, 0x33b9: 0x00c0, 0x33ba: 0x00c0, 0x33bb: 0x00c0, - 0x33bc: 0x00c0, 0x33bd: 0x00c0, 0x33be: 0x00c0, 0x33bf: 0x00c0, + 0x33af: 0x0080, // Block 0xcf, offset 0x33c0 0x33c0: 0x00c0, 0x33c1: 0x00c0, 0x33c2: 0x00c0, 0x33c3: 0x00c0, 0x33c4: 0x00c0, 0x33c5: 0x00c0, 0x33c6: 0x00c0, 0x33c7: 0x00c0, 0x33c8: 0x00c0, 0x33c9: 0x00c0, 0x33ca: 0x00c0, 0x33cb: 0x00c0, @@ -2470,162 +2477,164 @@ var derivedPropertiesValues = [20736]uint8{ 0x33d2: 0x00c0, 0x33d3: 0x00c0, 0x33d4: 0x00c0, 0x33d5: 0x00c0, 0x33d6: 0x00c0, 0x33d7: 0x00c0, 0x33d8: 0x00c0, 0x33d9: 0x00c0, 0x33da: 0x00c0, 0x33db: 0x00c0, 0x33dc: 0x00c0, 0x33dd: 0x00c0, 0x33de: 0x00c0, 0x33df: 0x00c0, 0x33e0: 0x00c0, 0x33e1: 0x00c0, 0x33e2: 0x00c0, 0x33e3: 0x00c0, - 0x33ef: 0x0080, + 0x33e4: 0x00c0, 0x33e5: 0x00c0, 0x33e6: 0x00c0, 0x33e7: 0x00c0, 0x33e8: 0x00c0, 0x33e9: 0x00c0, + 0x33ea: 0x00c0, 0x33eb: 0x00c0, 0x33ec: 0x00c0, 0x33ed: 0x00c0, 0x33ee: 0x00c0, 0x33ef: 0x00c0, + 0x33f0: 0x00c0, 0x33f1: 0x00c0, 0x33f2: 0x00c0, 0x33f3: 0x00c0, 0x33f4: 0x00c0, 0x33f5: 0x00c0, + 0x33f6: 0x00c0, // Block 0xd0, offset 0x3400 0x3400: 0x00c0, 0x3401: 0x00c0, 0x3402: 0x00c0, 0x3403: 0x00c0, 0x3404: 0x00c0, 0x3405: 0x00c0, 0x3406: 0x00c0, 0x3407: 0x00c0, 0x3408: 0x00c0, 0x3409: 0x00c0, 0x340a: 0x00c0, 0x340b: 0x00c0, 0x340c: 0x00c0, 0x340d: 0x00c0, 0x340e: 0x00c0, 0x340f: 0x00c0, 0x3410: 0x00c0, 0x3411: 0x00c0, - 0x3412: 0x00c0, 0x3413: 0x00c0, 0x3414: 0x00c0, 0x3415: 0x00c0, 0x3416: 0x00c0, 0x3417: 0x00c0, - 0x3418: 0x00c0, 0x3419: 0x00c0, 0x341a: 0x00c0, 0x341b: 0x00c0, 0x341c: 0x00c0, 0x341d: 0x00c0, - 0x341e: 0x00c0, 0x341f: 0x00c0, 0x3420: 0x00c0, 0x3421: 0x00c0, 0x3422: 0x00c0, 0x3423: 0x00c0, - 0x3424: 0x00c0, 0x3425: 0x00c0, 0x3426: 0x00c0, 0x3427: 0x00c0, 0x3428: 0x00c0, 0x3429: 0x00c0, - 0x342a: 0x00c0, 0x342b: 0x00c0, 0x342c: 0x00c0, 0x342d: 0x00c0, 0x342e: 0x00c0, 0x342f: 0x00c0, - 0x3430: 0x00c0, 0x3431: 0x00c0, 0x3432: 0x00c0, 0x3433: 0x00c0, 0x3434: 0x00c0, 0x3435: 0x00c0, - 0x3436: 0x00c0, + 0x3412: 0x00c0, 0x3413: 0x00c0, 0x3414: 0x00c0, 0x3415: 0x00c0, + 0x3420: 0x00c0, 0x3421: 0x00c0, 0x3422: 0x00c0, 0x3423: 0x00c0, + 0x3424: 0x00c0, 0x3425: 0x00c0, 0x3426: 0x00c0, 0x3427: 0x00c0, // Block 0xd1, offset 0x3440 0x3440: 0x00c0, 0x3441: 0x00c0, 0x3442: 0x00c0, 0x3443: 0x00c0, 0x3444: 0x00c0, 0x3445: 0x00c0, - 0x3446: 0x00c0, 0x3447: 0x00c0, 0x3448: 0x00c0, 0x3449: 0x00c0, 0x344a: 0x00c0, 0x344b: 0x00c0, + 0x3448: 0x00c0, 0x344a: 0x00c0, 0x344b: 0x00c0, 0x344c: 0x00c0, 0x344d: 0x00c0, 0x344e: 0x00c0, 0x344f: 0x00c0, 0x3450: 0x00c0, 0x3451: 0x00c0, - 0x3452: 0x00c0, 0x3453: 0x00c0, 0x3454: 0x00c0, 0x3455: 0x00c0, - 0x3460: 0x00c0, 0x3461: 0x00c0, 0x3462: 0x00c0, 0x3463: 0x00c0, - 0x3464: 0x00c0, 0x3465: 0x00c0, 0x3466: 0x00c0, 0x3467: 0x00c0, + 0x3452: 0x00c0, 0x3453: 0x00c0, 0x3454: 0x00c0, 0x3455: 0x00c0, 0x3456: 0x00c0, 0x3457: 0x00c0, + 0x3458: 0x00c0, 0x3459: 0x00c0, 0x345a: 0x00c0, 0x345b: 0x00c0, 0x345c: 0x00c0, 0x345d: 0x00c0, + 0x345e: 0x00c0, 0x345f: 0x00c0, 0x3460: 0x00c0, 0x3461: 0x00c0, 0x3462: 0x00c0, 0x3463: 0x00c0, + 0x3464: 0x00c0, 0x3465: 0x00c0, 0x3466: 0x00c0, 0x3467: 0x00c0, 0x3468: 0x00c0, 0x3469: 0x00c0, + 0x346a: 0x00c0, 0x346b: 0x00c0, 0x346c: 0x00c0, 0x346d: 0x00c0, 0x346e: 0x00c0, 0x346f: 0x00c0, + 0x3470: 0x00c0, 0x3471: 0x00c0, 0x3472: 0x00c0, 0x3473: 0x00c0, 0x3474: 0x00c0, 0x3475: 0x00c0, + 0x3477: 0x00c0, 0x3478: 0x00c0, + 0x347c: 0x00c0, 0x347f: 0x00c0, // Block 0xd2, offset 0x3480 0x3480: 0x00c0, 0x3481: 0x00c0, 0x3482: 0x00c0, 0x3483: 0x00c0, 0x3484: 0x00c0, 0x3485: 0x00c0, - 0x3488: 0x00c0, 0x348a: 0x00c0, 0x348b: 0x00c0, + 0x3486: 0x00c0, 0x3487: 0x00c0, 0x3488: 0x00c0, 0x3489: 0x00c0, 0x348a: 0x00c0, 0x348b: 0x00c0, 0x348c: 0x00c0, 0x348d: 0x00c0, 0x348e: 0x00c0, 0x348f: 0x00c0, 0x3490: 0x00c0, 0x3491: 0x00c0, - 0x3492: 0x00c0, 0x3493: 0x00c0, 0x3494: 0x00c0, 0x3495: 0x00c0, 0x3496: 0x00c0, 0x3497: 0x00c0, - 0x3498: 0x00c0, 0x3499: 0x00c0, 0x349a: 0x00c0, 0x349b: 0x00c0, 0x349c: 0x00c0, 0x349d: 0x00c0, - 0x349e: 0x00c0, 0x349f: 0x00c0, 0x34a0: 0x00c0, 0x34a1: 0x00c0, 0x34a2: 0x00c0, 0x34a3: 0x00c0, + 0x3492: 0x00c0, 0x3493: 0x00c0, 0x3494: 0x00c0, 0x3495: 0x00c0, 0x3497: 0x0080, + 0x3498: 0x0080, 0x3499: 0x0080, 0x349a: 0x0080, 0x349b: 0x0080, 0x349c: 0x0080, 0x349d: 0x0080, + 0x349e: 0x0080, 0x349f: 0x0080, 0x34a0: 0x00c0, 0x34a1: 0x00c0, 0x34a2: 0x00c0, 0x34a3: 0x00c0, 0x34a4: 0x00c0, 0x34a5: 0x00c0, 0x34a6: 0x00c0, 0x34a7: 0x00c0, 0x34a8: 0x00c0, 0x34a9: 0x00c0, 0x34aa: 0x00c0, 0x34ab: 0x00c0, 0x34ac: 0x00c0, 0x34ad: 0x00c0, 0x34ae: 0x00c0, 0x34af: 0x00c0, 0x34b0: 0x00c0, 0x34b1: 0x00c0, 0x34b2: 0x00c0, 0x34b3: 0x00c0, 0x34b4: 0x00c0, 0x34b5: 0x00c0, - 0x34b7: 0x00c0, 0x34b8: 0x00c0, - 0x34bc: 0x00c0, 0x34bf: 0x00c0, + 0x34b6: 0x00c0, 0x34b7: 0x0080, 0x34b8: 0x0080, 0x34b9: 0x0080, 0x34ba: 0x0080, 0x34bb: 0x0080, + 0x34bc: 0x0080, 0x34bd: 0x0080, 0x34be: 0x0080, 0x34bf: 0x0080, // Block 0xd3, offset 0x34c0 0x34c0: 0x00c0, 0x34c1: 0x00c0, 0x34c2: 0x00c0, 0x34c3: 0x00c0, 0x34c4: 0x00c0, 0x34c5: 0x00c0, 0x34c6: 0x00c0, 0x34c7: 0x00c0, 0x34c8: 0x00c0, 0x34c9: 0x00c0, 0x34ca: 0x00c0, 0x34cb: 0x00c0, 0x34cc: 0x00c0, 0x34cd: 0x00c0, 0x34ce: 0x00c0, 0x34cf: 0x00c0, 0x34d0: 0x00c0, 0x34d1: 0x00c0, - 0x34d2: 0x00c0, 0x34d3: 0x00c0, 0x34d4: 0x00c0, 0x34d5: 0x00c0, 0x34d7: 0x0080, - 0x34d8: 0x0080, 0x34d9: 0x0080, 0x34da: 0x0080, 0x34db: 0x0080, 0x34dc: 0x0080, 0x34dd: 0x0080, - 0x34de: 0x0080, 0x34df: 0x0080, 0x34e0: 0x00c0, 0x34e1: 0x00c0, 0x34e2: 0x00c0, 0x34e3: 0x00c0, - 0x34e4: 0x00c0, 0x34e5: 0x00c0, 0x34e6: 0x00c0, 0x34e7: 0x00c0, 0x34e8: 0x00c0, 0x34e9: 0x00c0, - 0x34ea: 0x00c0, 0x34eb: 0x00c0, 0x34ec: 0x00c0, 0x34ed: 0x00c0, 0x34ee: 0x00c0, 0x34ef: 0x00c0, - 0x34f0: 0x00c0, 0x34f1: 0x00c0, 0x34f2: 0x00c0, 0x34f3: 0x00c0, 0x34f4: 0x00c0, 0x34f5: 0x00c0, - 0x34f6: 0x00c0, 0x34f7: 0x0080, 0x34f8: 0x0080, 0x34f9: 0x0080, 0x34fa: 0x0080, 0x34fb: 0x0080, - 0x34fc: 0x0080, 0x34fd: 0x0080, 0x34fe: 0x0080, 0x34ff: 0x0080, + 0x34d2: 0x00c0, 0x34d3: 0x00c0, 0x34d4: 0x00c0, 0x34d5: 0x00c0, 0x34d6: 0x00c0, 0x34d7: 0x00c0, + 0x34d8: 0x00c0, 0x34d9: 0x00c0, 0x34da: 0x00c0, 0x34db: 0x00c0, 0x34dc: 0x00c0, 0x34dd: 0x00c0, + 0x34de: 0x00c0, + 0x34e7: 0x0080, 0x34e8: 0x0080, 0x34e9: 0x0080, + 0x34ea: 0x0080, 0x34eb: 0x0080, 0x34ec: 0x0080, 0x34ed: 0x0080, 0x34ee: 0x0080, 0x34ef: 0x0080, // Block 0xd4, offset 0x3500 - 0x3500: 0x00c0, 0x3501: 0x00c0, 0x3502: 0x00c0, 0x3503: 0x00c0, 0x3504: 0x00c0, 0x3505: 0x00c0, - 0x3506: 0x00c0, 0x3507: 0x00c0, 0x3508: 0x00c0, 0x3509: 0x00c0, 0x350a: 0x00c0, 0x350b: 0x00c0, - 0x350c: 0x00c0, 0x350d: 0x00c0, 0x350e: 0x00c0, 0x350f: 0x00c0, 0x3510: 0x00c0, 0x3511: 0x00c0, - 0x3512: 0x00c0, 0x3513: 0x00c0, 0x3514: 0x00c0, 0x3515: 0x00c0, 0x3516: 0x00c0, 0x3517: 0x00c0, - 0x3518: 0x00c0, 0x3519: 0x00c0, 0x351a: 0x00c0, 0x351b: 0x00c0, 0x351c: 0x00c0, 0x351d: 0x00c0, - 0x351e: 0x00c0, - 0x3527: 0x0080, 0x3528: 0x0080, 0x3529: 0x0080, - 0x352a: 0x0080, 0x352b: 0x0080, 0x352c: 0x0080, 0x352d: 0x0080, 0x352e: 0x0080, 0x352f: 0x0080, + 0x3520: 0x00c0, 0x3521: 0x00c0, 0x3522: 0x00c0, 0x3523: 0x00c0, + 0x3524: 0x00c0, 0x3525: 0x00c0, 0x3526: 0x00c0, 0x3527: 0x00c0, 0x3528: 0x00c0, 0x3529: 0x00c0, + 0x352a: 0x00c0, 0x352b: 0x00c0, 0x352c: 0x00c0, 0x352d: 0x00c0, 0x352e: 0x00c0, 0x352f: 0x00c0, + 0x3530: 0x00c0, 0x3531: 0x00c0, 0x3532: 0x00c0, 0x3534: 0x00c0, 0x3535: 0x00c0, + 0x353b: 0x0080, + 0x353c: 0x0080, 0x353d: 0x0080, 0x353e: 0x0080, 0x353f: 0x0080, // Block 0xd5, offset 0x3540 - 0x3560: 0x00c0, 0x3561: 0x00c0, 0x3562: 0x00c0, 0x3563: 0x00c0, + 0x3540: 0x00c0, 0x3541: 0x00c0, 0x3542: 0x00c0, 0x3543: 0x00c0, 0x3544: 0x00c0, 0x3545: 0x00c0, + 0x3546: 0x00c0, 0x3547: 0x00c0, 0x3548: 0x00c0, 0x3549: 0x00c0, 0x354a: 0x00c0, 0x354b: 0x00c0, + 0x354c: 0x00c0, 0x354d: 0x00c0, 0x354e: 0x00c0, 0x354f: 0x00c0, 0x3550: 0x00c0, 0x3551: 0x00c0, + 0x3552: 0x00c0, 0x3553: 0x00c0, 0x3554: 0x00c0, 0x3555: 0x00c0, 0x3556: 0x0080, 0x3557: 0x0080, + 0x3558: 0x0080, 0x3559: 0x0080, 0x355a: 0x0080, 0x355b: 0x0080, + 0x355f: 0x0080, 0x3560: 0x00c0, 0x3561: 0x00c0, 0x3562: 0x00c0, 0x3563: 0x00c0, 0x3564: 0x00c0, 0x3565: 0x00c0, 0x3566: 0x00c0, 0x3567: 0x00c0, 0x3568: 0x00c0, 0x3569: 0x00c0, 0x356a: 0x00c0, 0x356b: 0x00c0, 0x356c: 0x00c0, 0x356d: 0x00c0, 0x356e: 0x00c0, 0x356f: 0x00c0, - 0x3570: 0x00c0, 0x3571: 0x00c0, 0x3572: 0x00c0, 0x3574: 0x00c0, 0x3575: 0x00c0, - 0x357b: 0x0080, - 0x357c: 0x0080, 0x357d: 0x0080, 0x357e: 0x0080, 0x357f: 0x0080, + 0x3570: 0x00c0, 0x3571: 0x00c0, 0x3572: 0x00c0, 0x3573: 0x00c0, 0x3574: 0x00c0, 0x3575: 0x00c0, + 0x3576: 0x00c0, 0x3577: 0x00c0, 0x3578: 0x00c0, 0x3579: 0x00c0, + 0x357f: 0x0080, // Block 0xd6, offset 0x3580 0x3580: 0x00c0, 0x3581: 0x00c0, 0x3582: 0x00c0, 0x3583: 0x00c0, 0x3584: 0x00c0, 0x3585: 0x00c0, 0x3586: 0x00c0, 0x3587: 0x00c0, 0x3588: 0x00c0, 0x3589: 0x00c0, 0x358a: 0x00c0, 0x358b: 0x00c0, 0x358c: 0x00c0, 0x358d: 0x00c0, 0x358e: 0x00c0, 0x358f: 0x00c0, 0x3590: 0x00c0, 0x3591: 0x00c0, - 0x3592: 0x00c0, 0x3593: 0x00c0, 0x3594: 0x00c0, 0x3595: 0x00c0, 0x3596: 0x0080, 0x3597: 0x0080, - 0x3598: 0x0080, 0x3599: 0x0080, 0x359a: 0x0080, 0x359b: 0x0080, - 0x359f: 0x0080, 0x35a0: 0x00c0, 0x35a1: 0x00c0, 0x35a2: 0x00c0, 0x35a3: 0x00c0, + 0x3592: 0x00c0, 0x3593: 0x00c0, 0x3594: 0x00c0, 0x3595: 0x00c0, 0x3596: 0x00c0, 0x3597: 0x00c0, + 0x3598: 0x00c0, 0x3599: 0x00c0, 0x359a: 0x00c0, 0x359b: 0x00c0, 0x359c: 0x00c0, 0x359d: 0x00c0, + 0x359e: 0x00c0, 0x359f: 0x00c0, 0x35a0: 0x00c0, 0x35a1: 0x00c0, 0x35a2: 0x00c0, 0x35a3: 0x00c0, 0x35a4: 0x00c0, 0x35a5: 0x00c0, 0x35a6: 0x00c0, 0x35a7: 0x00c0, 0x35a8: 0x00c0, 0x35a9: 0x00c0, 0x35aa: 0x00c0, 0x35ab: 0x00c0, 0x35ac: 0x00c0, 0x35ad: 0x00c0, 0x35ae: 0x00c0, 0x35af: 0x00c0, 0x35b0: 0x00c0, 0x35b1: 0x00c0, 0x35b2: 0x00c0, 0x35b3: 0x00c0, 0x35b4: 0x00c0, 0x35b5: 0x00c0, - 0x35b6: 0x00c0, 0x35b7: 0x00c0, 0x35b8: 0x00c0, 0x35b9: 0x00c0, - 0x35bf: 0x0080, + 0x35b6: 0x00c0, 0x35b7: 0x00c0, + 0x35bc: 0x0080, 0x35bd: 0x0080, 0x35be: 0x00c0, 0x35bf: 0x00c0, // Block 0xd7, offset 0x35c0 - 0x35c0: 0x00c0, 0x35c1: 0x00c0, 0x35c2: 0x00c0, 0x35c3: 0x00c0, 0x35c4: 0x00c0, 0x35c5: 0x00c0, - 0x35c6: 0x00c0, 0x35c7: 0x00c0, 0x35c8: 0x00c0, 0x35c9: 0x00c0, 0x35ca: 0x00c0, 0x35cb: 0x00c0, - 0x35cc: 0x00c0, 0x35cd: 0x00c0, 0x35ce: 0x00c0, 0x35cf: 0x00c0, 0x35d0: 0x00c0, 0x35d1: 0x00c0, - 0x35d2: 0x00c0, 0x35d3: 0x00c0, 0x35d4: 0x00c0, 0x35d5: 0x00c0, 0x35d6: 0x00c0, 0x35d7: 0x00c0, - 0x35d8: 0x00c0, 0x35d9: 0x00c0, 0x35da: 0x00c0, 0x35db: 0x00c0, 0x35dc: 0x00c0, 0x35dd: 0x00c0, + 0x35c0: 0x00c0, 0x35c1: 0x00c3, 0x35c2: 0x00c3, 0x35c3: 0x00c3, 0x35c5: 0x00c3, + 0x35c6: 0x00c3, + 0x35cc: 0x00c3, 0x35cd: 0x00c3, 0x35ce: 0x00c3, 0x35cf: 0x00c3, 0x35d0: 0x00c0, 0x35d1: 0x00c0, + 0x35d2: 0x00c0, 0x35d3: 0x00c0, 0x35d5: 0x00c0, 0x35d6: 0x00c0, 0x35d7: 0x00c0, + 0x35d9: 0x00c0, 0x35da: 0x00c0, 0x35db: 0x00c0, 0x35dc: 0x00c0, 0x35dd: 0x00c0, 0x35de: 0x00c0, 0x35df: 0x00c0, 0x35e0: 0x00c0, 0x35e1: 0x00c0, 0x35e2: 0x00c0, 0x35e3: 0x00c0, 0x35e4: 0x00c0, 0x35e5: 0x00c0, 0x35e6: 0x00c0, 0x35e7: 0x00c0, 0x35e8: 0x00c0, 0x35e9: 0x00c0, 0x35ea: 0x00c0, 0x35eb: 0x00c0, 0x35ec: 0x00c0, 0x35ed: 0x00c0, 0x35ee: 0x00c0, 0x35ef: 0x00c0, - 0x35f0: 0x00c0, 0x35f1: 0x00c0, 0x35f2: 0x00c0, 0x35f3: 0x00c0, 0x35f4: 0x00c0, 0x35f5: 0x00c0, - 0x35f6: 0x00c0, 0x35f7: 0x00c0, - 0x35fc: 0x0080, 0x35fd: 0x0080, 0x35fe: 0x00c0, 0x35ff: 0x00c0, + 0x35f0: 0x00c0, 0x35f1: 0x00c0, 0x35f2: 0x00c0, 0x35f3: 0x00c0, + 0x35f8: 0x00c3, 0x35f9: 0x00c3, 0x35fa: 0x00c3, + 0x35ff: 0x00c6, // Block 0xd8, offset 0x3600 - 0x3600: 0x00c0, 0x3601: 0x00c3, 0x3602: 0x00c3, 0x3603: 0x00c3, 0x3605: 0x00c3, - 0x3606: 0x00c3, - 0x360c: 0x00c3, 0x360d: 0x00c3, 0x360e: 0x00c3, 0x360f: 0x00c3, 0x3610: 0x00c0, 0x3611: 0x00c0, - 0x3612: 0x00c0, 0x3613: 0x00c0, 0x3615: 0x00c0, 0x3616: 0x00c0, 0x3617: 0x00c0, - 0x3619: 0x00c0, 0x361a: 0x00c0, 0x361b: 0x00c0, 0x361c: 0x00c0, 0x361d: 0x00c0, - 0x361e: 0x00c0, 0x361f: 0x00c0, 0x3620: 0x00c0, 0x3621: 0x00c0, 0x3622: 0x00c0, 0x3623: 0x00c0, + 0x3600: 0x0080, 0x3601: 0x0080, 0x3602: 0x0080, 0x3603: 0x0080, 0x3604: 0x0080, 0x3605: 0x0080, + 0x3606: 0x0080, 0x3607: 0x0080, + 0x3610: 0x0080, 0x3611: 0x0080, + 0x3612: 0x0080, 0x3613: 0x0080, 0x3614: 0x0080, 0x3615: 0x0080, 0x3616: 0x0080, 0x3617: 0x0080, + 0x3618: 0x0080, + 0x3620: 0x00c0, 0x3621: 0x00c0, 0x3622: 0x00c0, 0x3623: 0x00c0, 0x3624: 0x00c0, 0x3625: 0x00c0, 0x3626: 0x00c0, 0x3627: 0x00c0, 0x3628: 0x00c0, 0x3629: 0x00c0, 0x362a: 0x00c0, 0x362b: 0x00c0, 0x362c: 0x00c0, 0x362d: 0x00c0, 0x362e: 0x00c0, 0x362f: 0x00c0, - 0x3630: 0x00c0, 0x3631: 0x00c0, 0x3632: 0x00c0, 0x3633: 0x00c0, - 0x3638: 0x00c3, 0x3639: 0x00c3, 0x363a: 0x00c3, - 0x363f: 0x00c6, + 0x3630: 0x00c0, 0x3631: 0x00c0, 0x3632: 0x00c0, 0x3633: 0x00c0, 0x3634: 0x00c0, 0x3635: 0x00c0, + 0x3636: 0x00c0, 0x3637: 0x00c0, 0x3638: 0x00c0, 0x3639: 0x00c0, 0x363a: 0x00c0, 0x363b: 0x00c0, + 0x363c: 0x00c0, 0x363d: 0x0080, 0x363e: 0x0080, 0x363f: 0x0080, // Block 0xd9, offset 0x3640 - 0x3640: 0x0080, 0x3641: 0x0080, 0x3642: 0x0080, 0x3643: 0x0080, 0x3644: 0x0080, 0x3645: 0x0080, - 0x3646: 0x0080, 0x3647: 0x0080, - 0x3650: 0x0080, 0x3651: 0x0080, - 0x3652: 0x0080, 0x3653: 0x0080, 0x3654: 0x0080, 0x3655: 0x0080, 0x3656: 0x0080, 0x3657: 0x0080, - 0x3658: 0x0080, - 0x3660: 0x00c0, 0x3661: 0x00c0, 0x3662: 0x00c0, 0x3663: 0x00c0, - 0x3664: 0x00c0, 0x3665: 0x00c0, 0x3666: 0x00c0, 0x3667: 0x00c0, 0x3668: 0x00c0, 0x3669: 0x00c0, - 0x366a: 0x00c0, 0x366b: 0x00c0, 0x366c: 0x00c0, 0x366d: 0x00c0, 0x366e: 0x00c0, 0x366f: 0x00c0, - 0x3670: 0x00c0, 0x3671: 0x00c0, 0x3672: 0x00c0, 0x3673: 0x00c0, 0x3674: 0x00c0, 0x3675: 0x00c0, - 0x3676: 0x00c0, 0x3677: 0x00c0, 0x3678: 0x00c0, 0x3679: 0x00c0, 0x367a: 0x00c0, 0x367b: 0x00c0, - 0x367c: 0x00c0, 0x367d: 0x0080, 0x367e: 0x0080, 0x367f: 0x0080, + 0x3640: 0x00c0, 0x3641: 0x00c0, 0x3642: 0x00c0, 0x3643: 0x00c0, 0x3644: 0x00c0, 0x3645: 0x00c0, + 0x3646: 0x00c0, 0x3647: 0x00c0, 0x3648: 0x00c0, 0x3649: 0x00c0, 0x364a: 0x00c0, 0x364b: 0x00c0, + 0x364c: 0x00c0, 0x364d: 0x00c0, 0x364e: 0x00c0, 0x364f: 0x00c0, 0x3650: 0x00c0, 0x3651: 0x00c0, + 0x3652: 0x00c0, 0x3653: 0x00c0, 0x3654: 0x00c0, 0x3655: 0x00c0, 0x3656: 0x00c0, 0x3657: 0x00c0, + 0x3658: 0x00c0, 0x3659: 0x00c0, 0x365a: 0x00c0, 0x365b: 0x00c0, 0x365c: 0x00c0, 0x365d: 0x0080, + 0x365e: 0x0080, 0x365f: 0x0080, // Block 0xda, offset 0x3680 - 0x3680: 0x00c0, 0x3681: 0x00c0, 0x3682: 0x00c0, 0x3683: 0x00c0, 0x3684: 0x00c0, 0x3685: 0x00c0, - 0x3686: 0x00c0, 0x3687: 0x00c0, 0x3688: 0x00c0, 0x3689: 0x00c0, 0x368a: 0x00c0, 0x368b: 0x00c0, - 0x368c: 0x00c0, 0x368d: 0x00c0, 0x368e: 0x00c0, 0x368f: 0x00c0, 0x3690: 0x00c0, 0x3691: 0x00c0, - 0x3692: 0x00c0, 0x3693: 0x00c0, 0x3694: 0x00c0, 0x3695: 0x00c0, 0x3696: 0x00c0, 0x3697: 0x00c0, - 0x3698: 0x00c0, 0x3699: 0x00c0, 0x369a: 0x00c0, 0x369b: 0x00c0, 0x369c: 0x00c0, 0x369d: 0x0080, - 0x369e: 0x0080, 0x369f: 0x0080, + 0x3680: 0x00c2, 0x3681: 0x00c2, 0x3682: 0x00c2, 0x3683: 0x00c2, 0x3684: 0x00c2, 0x3685: 0x00c4, + 0x3686: 0x00c0, 0x3687: 0x00c4, 0x3688: 0x0080, 0x3689: 0x00c4, 0x368a: 0x00c4, 0x368b: 0x00c0, + 0x368c: 0x00c0, 0x368d: 0x00c1, 0x368e: 0x00c4, 0x368f: 0x00c4, 0x3690: 0x00c4, 0x3691: 0x00c4, + 0x3692: 0x00c4, 0x3693: 0x00c2, 0x3694: 0x00c2, 0x3695: 0x00c2, 0x3696: 0x00c2, 0x3697: 0x00c1, + 0x3698: 0x00c2, 0x3699: 0x00c2, 0x369a: 0x00c2, 0x369b: 0x00c2, 0x369c: 0x00c2, 0x369d: 0x00c4, + 0x369e: 0x00c2, 0x369f: 0x00c2, 0x36a0: 0x00c2, 0x36a1: 0x00c4, 0x36a2: 0x00c0, 0x36a3: 0x00c0, + 0x36a4: 0x00c4, 0x36a5: 0x00c3, 0x36a6: 0x00c3, + 0x36ab: 0x0082, 0x36ac: 0x0082, 0x36ad: 0x0082, 0x36ae: 0x0082, 0x36af: 0x0084, + 0x36b0: 0x0080, 0x36b1: 0x0080, 0x36b2: 0x0080, 0x36b3: 0x0080, 0x36b4: 0x0080, 0x36b5: 0x0080, + 0x36b6: 0x0080, // Block 0xdb, offset 0x36c0 - 0x36c0: 0x00c2, 0x36c1: 0x00c2, 0x36c2: 0x00c2, 0x36c3: 0x00c2, 0x36c4: 0x00c2, 0x36c5: 0x00c4, - 0x36c6: 0x00c0, 0x36c7: 0x00c4, 0x36c8: 0x0080, 0x36c9: 0x00c4, 0x36ca: 0x00c4, 0x36cb: 0x00c0, - 0x36cc: 0x00c0, 0x36cd: 0x00c1, 0x36ce: 0x00c4, 0x36cf: 0x00c4, 0x36d0: 0x00c4, 0x36d1: 0x00c4, - 0x36d2: 0x00c4, 0x36d3: 0x00c2, 0x36d4: 0x00c2, 0x36d5: 0x00c2, 0x36d6: 0x00c2, 0x36d7: 0x00c1, - 0x36d8: 0x00c2, 0x36d9: 0x00c2, 0x36da: 0x00c2, 0x36db: 0x00c2, 0x36dc: 0x00c2, 0x36dd: 0x00c4, - 0x36de: 0x00c2, 0x36df: 0x00c2, 0x36e0: 0x00c2, 0x36e1: 0x00c4, 0x36e2: 0x00c0, 0x36e3: 0x00c0, - 0x36e4: 0x00c4, 0x36e5: 0x00c3, 0x36e6: 0x00c3, - 0x36eb: 0x0082, 0x36ec: 0x0082, 0x36ed: 0x0082, 0x36ee: 0x0082, 0x36ef: 0x0084, - 0x36f0: 0x0080, 0x36f1: 0x0080, 0x36f2: 0x0080, 0x36f3: 0x0080, 0x36f4: 0x0080, 0x36f5: 0x0080, - 0x36f6: 0x0080, + 0x36c0: 0x00c0, 0x36c1: 0x00c0, 0x36c2: 0x00c0, 0x36c3: 0x00c0, 0x36c4: 0x00c0, 0x36c5: 0x00c0, + 0x36c6: 0x00c0, 0x36c7: 0x00c0, 0x36c8: 0x00c0, 0x36c9: 0x00c0, 0x36ca: 0x00c0, 0x36cb: 0x00c0, + 0x36cc: 0x00c0, 0x36cd: 0x00c0, 0x36ce: 0x00c0, 0x36cf: 0x00c0, 0x36d0: 0x00c0, 0x36d1: 0x00c0, + 0x36d2: 0x00c0, 0x36d3: 0x00c0, 0x36d4: 0x00c0, 0x36d5: 0x00c0, 0x36d6: 0x00c0, 0x36d7: 0x00c0, + 0x36d8: 0x00c0, 0x36d9: 0x00c0, 0x36da: 0x00c0, 0x36db: 0x00c0, 0x36dc: 0x00c0, 0x36dd: 0x00c0, + 0x36de: 0x00c0, 0x36df: 0x00c0, 0x36e0: 0x00c0, 0x36e1: 0x00c0, 0x36e2: 0x00c0, 0x36e3: 0x00c0, + 0x36e4: 0x00c0, 0x36e5: 0x00c0, 0x36e6: 0x00c0, 0x36e7: 0x00c0, 0x36e8: 0x00c0, 0x36e9: 0x00c0, + 0x36ea: 0x00c0, 0x36eb: 0x00c0, 0x36ec: 0x00c0, 0x36ed: 0x00c0, 0x36ee: 0x00c0, 0x36ef: 0x00c0, + 0x36f0: 0x00c0, 0x36f1: 0x00c0, 0x36f2: 0x00c0, 0x36f3: 0x00c0, 0x36f4: 0x00c0, 0x36f5: 0x00c0, + 0x36f9: 0x0080, 0x36fa: 0x0080, 0x36fb: 0x0080, + 0x36fc: 0x0080, 0x36fd: 0x0080, 0x36fe: 0x0080, 0x36ff: 0x0080, // Block 0xdc, offset 0x3700 0x3700: 0x00c0, 0x3701: 0x00c0, 0x3702: 0x00c0, 0x3703: 0x00c0, 0x3704: 0x00c0, 0x3705: 0x00c0, 0x3706: 0x00c0, 0x3707: 0x00c0, 0x3708: 0x00c0, 0x3709: 0x00c0, 0x370a: 0x00c0, 0x370b: 0x00c0, 0x370c: 0x00c0, 0x370d: 0x00c0, 0x370e: 0x00c0, 0x370f: 0x00c0, 0x3710: 0x00c0, 0x3711: 0x00c0, - 0x3712: 0x00c0, 0x3713: 0x00c0, 0x3714: 0x00c0, 0x3715: 0x00c0, 0x3716: 0x00c0, 0x3717: 0x00c0, - 0x3718: 0x00c0, 0x3719: 0x00c0, 0x371a: 0x00c0, 0x371b: 0x00c0, 0x371c: 0x00c0, 0x371d: 0x00c0, - 0x371e: 0x00c0, 0x371f: 0x00c0, 0x3720: 0x00c0, 0x3721: 0x00c0, 0x3722: 0x00c0, 0x3723: 0x00c0, + 0x3712: 0x00c0, 0x3713: 0x00c0, 0x3714: 0x00c0, 0x3715: 0x00c0, + 0x3718: 0x0080, 0x3719: 0x0080, 0x371a: 0x0080, 0x371b: 0x0080, 0x371c: 0x0080, 0x371d: 0x0080, + 0x371e: 0x0080, 0x371f: 0x0080, 0x3720: 0x00c0, 0x3721: 0x00c0, 0x3722: 0x00c0, 0x3723: 0x00c0, 0x3724: 0x00c0, 0x3725: 0x00c0, 0x3726: 0x00c0, 0x3727: 0x00c0, 0x3728: 0x00c0, 0x3729: 0x00c0, 0x372a: 0x00c0, 0x372b: 0x00c0, 0x372c: 0x00c0, 0x372d: 0x00c0, 0x372e: 0x00c0, 0x372f: 0x00c0, - 0x3730: 0x00c0, 0x3731: 0x00c0, 0x3732: 0x00c0, 0x3733: 0x00c0, 0x3734: 0x00c0, 0x3735: 0x00c0, - 0x3739: 0x0080, 0x373a: 0x0080, 0x373b: 0x0080, + 0x3730: 0x00c0, 0x3731: 0x00c0, 0x3732: 0x00c0, + 0x3738: 0x0080, 0x3739: 0x0080, 0x373a: 0x0080, 0x373b: 0x0080, 0x373c: 0x0080, 0x373d: 0x0080, 0x373e: 0x0080, 0x373f: 0x0080, // Block 0xdd, offset 0x3740 - 0x3740: 0x00c0, 0x3741: 0x00c0, 0x3742: 0x00c0, 0x3743: 0x00c0, 0x3744: 0x00c0, 0x3745: 0x00c0, - 0x3746: 0x00c0, 0x3747: 0x00c0, 0x3748: 0x00c0, 0x3749: 0x00c0, 0x374a: 0x00c0, 0x374b: 0x00c0, - 0x374c: 0x00c0, 0x374d: 0x00c0, 0x374e: 0x00c0, 0x374f: 0x00c0, 0x3750: 0x00c0, 0x3751: 0x00c0, - 0x3752: 0x00c0, 0x3753: 0x00c0, 0x3754: 0x00c0, 0x3755: 0x00c0, - 0x3758: 0x0080, 0x3759: 0x0080, 0x375a: 0x0080, 0x375b: 0x0080, 0x375c: 0x0080, 0x375d: 0x0080, - 0x375e: 0x0080, 0x375f: 0x0080, 0x3760: 0x00c0, 0x3761: 0x00c0, 0x3762: 0x00c0, 0x3763: 0x00c0, - 0x3764: 0x00c0, 0x3765: 0x00c0, 0x3766: 0x00c0, 0x3767: 0x00c0, 0x3768: 0x00c0, 0x3769: 0x00c0, - 0x376a: 0x00c0, 0x376b: 0x00c0, 0x376c: 0x00c0, 0x376d: 0x00c0, 0x376e: 0x00c0, 0x376f: 0x00c0, - 0x3770: 0x00c0, 0x3771: 0x00c0, 0x3772: 0x00c0, - 0x3778: 0x0080, 0x3779: 0x0080, 0x377a: 0x0080, 0x377b: 0x0080, - 0x377c: 0x0080, 0x377d: 0x0080, 0x377e: 0x0080, 0x377f: 0x0080, + 0x3740: 0x00c2, 0x3741: 0x00c4, 0x3742: 0x00c2, 0x3743: 0x00c4, 0x3744: 0x00c4, 0x3745: 0x00c4, + 0x3746: 0x00c2, 0x3747: 0x00c2, 0x3748: 0x00c2, 0x3749: 0x00c4, 0x374a: 0x00c2, 0x374b: 0x00c2, + 0x374c: 0x00c4, 0x374d: 0x00c2, 0x374e: 0x00c4, 0x374f: 0x00c4, 0x3750: 0x00c2, 0x3751: 0x00c4, + 0x3759: 0x0080, 0x375a: 0x0080, 0x375b: 0x0080, 0x375c: 0x0080, + 0x3769: 0x0084, + 0x376a: 0x0084, 0x376b: 0x0084, 0x376c: 0x0084, 0x376d: 0x0082, 0x376e: 0x0082, 0x376f: 0x0080, // Block 0xde, offset 0x3780 - 0x3780: 0x00c2, 0x3781: 0x00c4, 0x3782: 0x00c2, 0x3783: 0x00c4, 0x3784: 0x00c4, 0x3785: 0x00c4, - 0x3786: 0x00c2, 0x3787: 0x00c2, 0x3788: 0x00c2, 0x3789: 0x00c4, 0x378a: 0x00c2, 0x378b: 0x00c2, - 0x378c: 0x00c4, 0x378d: 0x00c2, 0x378e: 0x00c4, 0x378f: 0x00c4, 0x3790: 0x00c2, 0x3791: 0x00c4, - 0x3799: 0x0080, 0x379a: 0x0080, 0x379b: 0x0080, 0x379c: 0x0080, - 0x37a9: 0x0084, - 0x37aa: 0x0084, 0x37ab: 0x0084, 0x37ac: 0x0084, 0x37ad: 0x0082, 0x37ae: 0x0082, 0x37af: 0x0080, + 0x3780: 0x00c0, 0x3781: 0x00c0, 0x3782: 0x00c0, 0x3783: 0x00c0, 0x3784: 0x00c0, 0x3785: 0x00c0, + 0x3786: 0x00c0, 0x3787: 0x00c0, 0x3788: 0x00c0, 0x3789: 0x00c0, 0x378a: 0x00c0, 0x378b: 0x00c0, + 0x378c: 0x00c0, 0x378d: 0x00c0, 0x378e: 0x00c0, 0x378f: 0x00c0, 0x3790: 0x00c0, 0x3791: 0x00c0, + 0x3792: 0x00c0, 0x3793: 0x00c0, 0x3794: 0x00c0, 0x3795: 0x00c0, 0x3796: 0x00c0, 0x3797: 0x00c0, + 0x3798: 0x00c0, 0x3799: 0x00c0, 0x379a: 0x00c0, 0x379b: 0x00c0, 0x379c: 0x00c0, 0x379d: 0x00c0, + 0x379e: 0x00c0, 0x379f: 0x00c0, 0x37a0: 0x00c0, 0x37a1: 0x00c0, 0x37a2: 0x00c0, 0x37a3: 0x00c0, + 0x37a4: 0x00c0, 0x37a5: 0x00c0, 0x37a6: 0x00c0, 0x37a7: 0x00c0, 0x37a8: 0x00c0, 0x37a9: 0x00c0, + 0x37aa: 0x00c0, 0x37ab: 0x00c0, 0x37ac: 0x00c0, 0x37ad: 0x00c0, 0x37ae: 0x00c0, 0x37af: 0x00c0, + 0x37b0: 0x00c0, 0x37b1: 0x00c0, 0x37b2: 0x00c0, // Block 0xdf, offset 0x37c0 0x37c0: 0x00c0, 0x37c1: 0x00c0, 0x37c2: 0x00c0, 0x37c3: 0x00c0, 0x37c4: 0x00c0, 0x37c5: 0x00c0, 0x37c6: 0x00c0, 0x37c7: 0x00c0, 0x37c8: 0x00c0, 0x37c9: 0x00c0, 0x37ca: 0x00c0, 0x37cb: 0x00c0, @@ -2636,378 +2645,388 @@ var derivedPropertiesValues = [20736]uint8{ 0x37e4: 0x00c0, 0x37e5: 0x00c0, 0x37e6: 0x00c0, 0x37e7: 0x00c0, 0x37e8: 0x00c0, 0x37e9: 0x00c0, 0x37ea: 0x00c0, 0x37eb: 0x00c0, 0x37ec: 0x00c0, 0x37ed: 0x00c0, 0x37ee: 0x00c0, 0x37ef: 0x00c0, 0x37f0: 0x00c0, 0x37f1: 0x00c0, 0x37f2: 0x00c0, + 0x37fa: 0x0080, 0x37fb: 0x0080, + 0x37fc: 0x0080, 0x37fd: 0x0080, 0x37fe: 0x0080, 0x37ff: 0x0080, // Block 0xe0, offset 0x3800 - 0x3800: 0x00c0, 0x3801: 0x00c0, 0x3802: 0x00c0, 0x3803: 0x00c0, 0x3804: 0x00c0, 0x3805: 0x00c0, - 0x3806: 0x00c0, 0x3807: 0x00c0, 0x3808: 0x00c0, 0x3809: 0x00c0, 0x380a: 0x00c0, 0x380b: 0x00c0, - 0x380c: 0x00c0, 0x380d: 0x00c0, 0x380e: 0x00c0, 0x380f: 0x00c0, 0x3810: 0x00c0, 0x3811: 0x00c0, - 0x3812: 0x00c0, 0x3813: 0x00c0, 0x3814: 0x00c0, 0x3815: 0x00c0, 0x3816: 0x00c0, 0x3817: 0x00c0, - 0x3818: 0x00c0, 0x3819: 0x00c0, 0x381a: 0x00c0, 0x381b: 0x00c0, 0x381c: 0x00c0, 0x381d: 0x00c0, - 0x381e: 0x00c0, 0x381f: 0x00c0, 0x3820: 0x00c0, 0x3821: 0x00c0, 0x3822: 0x00c0, 0x3823: 0x00c0, - 0x3824: 0x00c0, 0x3825: 0x00c0, 0x3826: 0x00c0, 0x3827: 0x00c0, 0x3828: 0x00c0, 0x3829: 0x00c0, - 0x382a: 0x00c0, 0x382b: 0x00c0, 0x382c: 0x00c0, 0x382d: 0x00c0, 0x382e: 0x00c0, 0x382f: 0x00c0, - 0x3830: 0x00c0, 0x3831: 0x00c0, 0x3832: 0x00c0, - 0x383a: 0x0080, 0x383b: 0x0080, - 0x383c: 0x0080, 0x383d: 0x0080, 0x383e: 0x0080, 0x383f: 0x0080, + 0x3820: 0x0080, 0x3821: 0x0080, 0x3822: 0x0080, 0x3823: 0x0080, + 0x3824: 0x0080, 0x3825: 0x0080, 0x3826: 0x0080, 0x3827: 0x0080, 0x3828: 0x0080, 0x3829: 0x0080, + 0x382a: 0x0080, 0x382b: 0x0080, 0x382c: 0x0080, 0x382d: 0x0080, 0x382e: 0x0080, 0x382f: 0x0080, + 0x3830: 0x0080, 0x3831: 0x0080, 0x3832: 0x0080, 0x3833: 0x0080, 0x3834: 0x0080, 0x3835: 0x0080, + 0x3836: 0x0080, 0x3837: 0x0080, 0x3838: 0x0080, 0x3839: 0x0080, 0x383a: 0x0080, 0x383b: 0x0080, + 0x383c: 0x0080, 0x383d: 0x0080, 0x383e: 0x0080, // Block 0xe1, offset 0x3840 - 0x3860: 0x0080, 0x3861: 0x0080, 0x3862: 0x0080, 0x3863: 0x0080, - 0x3864: 0x0080, 0x3865: 0x0080, 0x3866: 0x0080, 0x3867: 0x0080, 0x3868: 0x0080, 0x3869: 0x0080, - 0x386a: 0x0080, 0x386b: 0x0080, 0x386c: 0x0080, 0x386d: 0x0080, 0x386e: 0x0080, 0x386f: 0x0080, - 0x3870: 0x0080, 0x3871: 0x0080, 0x3872: 0x0080, 0x3873: 0x0080, 0x3874: 0x0080, 0x3875: 0x0080, - 0x3876: 0x0080, 0x3877: 0x0080, 0x3878: 0x0080, 0x3879: 0x0080, 0x387a: 0x0080, 0x387b: 0x0080, - 0x387c: 0x0080, 0x387d: 0x0080, 0x387e: 0x0080, + 0x3840: 0x00c0, 0x3841: 0x00c3, 0x3842: 0x00c0, 0x3843: 0x00c0, 0x3844: 0x00c0, 0x3845: 0x00c0, + 0x3846: 0x00c0, 0x3847: 0x00c0, 0x3848: 0x00c0, 0x3849: 0x00c0, 0x384a: 0x00c0, 0x384b: 0x00c0, + 0x384c: 0x00c0, 0x384d: 0x00c0, 0x384e: 0x00c0, 0x384f: 0x00c0, 0x3850: 0x00c0, 0x3851: 0x00c0, + 0x3852: 0x00c0, 0x3853: 0x00c0, 0x3854: 0x00c0, 0x3855: 0x00c0, 0x3856: 0x00c0, 0x3857: 0x00c0, + 0x3858: 0x00c0, 0x3859: 0x00c0, 0x385a: 0x00c0, 0x385b: 0x00c0, 0x385c: 0x00c0, 0x385d: 0x00c0, + 0x385e: 0x00c0, 0x385f: 0x00c0, 0x3860: 0x00c0, 0x3861: 0x00c0, 0x3862: 0x00c0, 0x3863: 0x00c0, + 0x3864: 0x00c0, 0x3865: 0x00c0, 0x3866: 0x00c0, 0x3867: 0x00c0, 0x3868: 0x00c0, 0x3869: 0x00c0, + 0x386a: 0x00c0, 0x386b: 0x00c0, 0x386c: 0x00c0, 0x386d: 0x00c0, 0x386e: 0x00c0, 0x386f: 0x00c0, + 0x3870: 0x00c0, 0x3871: 0x00c0, 0x3872: 0x00c0, 0x3873: 0x00c0, 0x3874: 0x00c0, 0x3875: 0x00c0, + 0x3876: 0x00c0, 0x3877: 0x00c0, 0x3878: 0x00c3, 0x3879: 0x00c3, 0x387a: 0x00c3, 0x387b: 0x00c3, + 0x387c: 0x00c3, 0x387d: 0x00c3, 0x387e: 0x00c3, 0x387f: 0x00c3, // Block 0xe2, offset 0x3880 - 0x3880: 0x00c0, 0x3881: 0x00c3, 0x3882: 0x00c0, 0x3883: 0x00c0, 0x3884: 0x00c0, 0x3885: 0x00c0, - 0x3886: 0x00c0, 0x3887: 0x00c0, 0x3888: 0x00c0, 0x3889: 0x00c0, 0x388a: 0x00c0, 0x388b: 0x00c0, - 0x388c: 0x00c0, 0x388d: 0x00c0, 0x388e: 0x00c0, 0x388f: 0x00c0, 0x3890: 0x00c0, 0x3891: 0x00c0, - 0x3892: 0x00c0, 0x3893: 0x00c0, 0x3894: 0x00c0, 0x3895: 0x00c0, 0x3896: 0x00c0, 0x3897: 0x00c0, - 0x3898: 0x00c0, 0x3899: 0x00c0, 0x389a: 0x00c0, 0x389b: 0x00c0, 0x389c: 0x00c0, 0x389d: 0x00c0, - 0x389e: 0x00c0, 0x389f: 0x00c0, 0x38a0: 0x00c0, 0x38a1: 0x00c0, 0x38a2: 0x00c0, 0x38a3: 0x00c0, - 0x38a4: 0x00c0, 0x38a5: 0x00c0, 0x38a6: 0x00c0, 0x38a7: 0x00c0, 0x38a8: 0x00c0, 0x38a9: 0x00c0, + 0x3880: 0x00c3, 0x3881: 0x00c3, 0x3882: 0x00c3, 0x3883: 0x00c3, 0x3884: 0x00c3, 0x3885: 0x00c3, + 0x3886: 0x00c6, 0x3887: 0x0080, 0x3888: 0x0080, 0x3889: 0x0080, 0x388a: 0x0080, 0x388b: 0x0080, + 0x388c: 0x0080, 0x388d: 0x0080, + 0x3892: 0x0080, 0x3893: 0x0080, 0x3894: 0x0080, 0x3895: 0x0080, 0x3896: 0x0080, 0x3897: 0x0080, + 0x3898: 0x0080, 0x3899: 0x0080, 0x389a: 0x0080, 0x389b: 0x0080, 0x389c: 0x0080, 0x389d: 0x0080, + 0x389e: 0x0080, 0x389f: 0x0080, 0x38a0: 0x0080, 0x38a1: 0x0080, 0x38a2: 0x0080, 0x38a3: 0x0080, + 0x38a4: 0x0080, 0x38a5: 0x0080, 0x38a6: 0x00c0, 0x38a7: 0x00c0, 0x38a8: 0x00c0, 0x38a9: 0x00c0, 0x38aa: 0x00c0, 0x38ab: 0x00c0, 0x38ac: 0x00c0, 0x38ad: 0x00c0, 0x38ae: 0x00c0, 0x38af: 0x00c0, - 0x38b0: 0x00c0, 0x38b1: 0x00c0, 0x38b2: 0x00c0, 0x38b3: 0x00c0, 0x38b4: 0x00c0, 0x38b5: 0x00c0, - 0x38b6: 0x00c0, 0x38b7: 0x00c0, 0x38b8: 0x00c3, 0x38b9: 0x00c3, 0x38ba: 0x00c3, 0x38bb: 0x00c3, - 0x38bc: 0x00c3, 0x38bd: 0x00c3, 0x38be: 0x00c3, 0x38bf: 0x00c3, + 0x38bf: 0x00c6, // Block 0xe3, offset 0x38c0 - 0x38c0: 0x00c3, 0x38c1: 0x00c3, 0x38c2: 0x00c3, 0x38c3: 0x00c3, 0x38c4: 0x00c3, 0x38c5: 0x00c3, - 0x38c6: 0x00c6, 0x38c7: 0x0080, 0x38c8: 0x0080, 0x38c9: 0x0080, 0x38ca: 0x0080, 0x38cb: 0x0080, - 0x38cc: 0x0080, 0x38cd: 0x0080, - 0x38d2: 0x0080, 0x38d3: 0x0080, 0x38d4: 0x0080, 0x38d5: 0x0080, 0x38d6: 0x0080, 0x38d7: 0x0080, - 0x38d8: 0x0080, 0x38d9: 0x0080, 0x38da: 0x0080, 0x38db: 0x0080, 0x38dc: 0x0080, 0x38dd: 0x0080, - 0x38de: 0x0080, 0x38df: 0x0080, 0x38e0: 0x0080, 0x38e1: 0x0080, 0x38e2: 0x0080, 0x38e3: 0x0080, - 0x38e4: 0x0080, 0x38e5: 0x0080, 0x38e6: 0x00c0, 0x38e7: 0x00c0, 0x38e8: 0x00c0, 0x38e9: 0x00c0, + 0x38c0: 0x00c3, 0x38c1: 0x00c3, 0x38c2: 0x00c0, 0x38c3: 0x00c0, 0x38c4: 0x00c0, 0x38c5: 0x00c0, + 0x38c6: 0x00c0, 0x38c7: 0x00c0, 0x38c8: 0x00c0, 0x38c9: 0x00c0, 0x38ca: 0x00c0, 0x38cb: 0x00c0, + 0x38cc: 0x00c0, 0x38cd: 0x00c0, 0x38ce: 0x00c0, 0x38cf: 0x00c0, 0x38d0: 0x00c0, 0x38d1: 0x00c0, + 0x38d2: 0x00c0, 0x38d3: 0x00c0, 0x38d4: 0x00c0, 0x38d5: 0x00c0, 0x38d6: 0x00c0, 0x38d7: 0x00c0, + 0x38d8: 0x00c0, 0x38d9: 0x00c0, 0x38da: 0x00c0, 0x38db: 0x00c0, 0x38dc: 0x00c0, 0x38dd: 0x00c0, + 0x38de: 0x00c0, 0x38df: 0x00c0, 0x38e0: 0x00c0, 0x38e1: 0x00c0, 0x38e2: 0x00c0, 0x38e3: 0x00c0, + 0x38e4: 0x00c0, 0x38e5: 0x00c0, 0x38e6: 0x00c0, 0x38e7: 0x00c0, 0x38e8: 0x00c0, 0x38e9: 0x00c0, 0x38ea: 0x00c0, 0x38eb: 0x00c0, 0x38ec: 0x00c0, 0x38ed: 0x00c0, 0x38ee: 0x00c0, 0x38ef: 0x00c0, - 0x38ff: 0x00c6, + 0x38f0: 0x00c0, 0x38f1: 0x00c0, 0x38f2: 0x00c0, 0x38f3: 0x00c3, 0x38f4: 0x00c3, 0x38f5: 0x00c3, + 0x38f6: 0x00c3, 0x38f7: 0x00c0, 0x38f8: 0x00c0, 0x38f9: 0x00c6, 0x38fa: 0x00c3, 0x38fb: 0x0080, + 0x38fc: 0x0080, 0x38fd: 0x0040, 0x38fe: 0x0080, 0x38ff: 0x0080, // Block 0xe4, offset 0x3900 - 0x3900: 0x00c3, 0x3901: 0x00c3, 0x3902: 0x00c0, 0x3903: 0x00c0, 0x3904: 0x00c0, 0x3905: 0x00c0, - 0x3906: 0x00c0, 0x3907: 0x00c0, 0x3908: 0x00c0, 0x3909: 0x00c0, 0x390a: 0x00c0, 0x390b: 0x00c0, - 0x390c: 0x00c0, 0x390d: 0x00c0, 0x390e: 0x00c0, 0x390f: 0x00c0, 0x3910: 0x00c0, 0x3911: 0x00c0, + 0x3900: 0x0080, 0x3901: 0x0080, + 0x3910: 0x00c0, 0x3911: 0x00c0, 0x3912: 0x00c0, 0x3913: 0x00c0, 0x3914: 0x00c0, 0x3915: 0x00c0, 0x3916: 0x00c0, 0x3917: 0x00c0, 0x3918: 0x00c0, 0x3919: 0x00c0, 0x391a: 0x00c0, 0x391b: 0x00c0, 0x391c: 0x00c0, 0x391d: 0x00c0, 0x391e: 0x00c0, 0x391f: 0x00c0, 0x3920: 0x00c0, 0x3921: 0x00c0, 0x3922: 0x00c0, 0x3923: 0x00c0, - 0x3924: 0x00c0, 0x3925: 0x00c0, 0x3926: 0x00c0, 0x3927: 0x00c0, 0x3928: 0x00c0, 0x3929: 0x00c0, - 0x392a: 0x00c0, 0x392b: 0x00c0, 0x392c: 0x00c0, 0x392d: 0x00c0, 0x392e: 0x00c0, 0x392f: 0x00c0, - 0x3930: 0x00c0, 0x3931: 0x00c0, 0x3932: 0x00c0, 0x3933: 0x00c3, 0x3934: 0x00c3, 0x3935: 0x00c3, - 0x3936: 0x00c3, 0x3937: 0x00c0, 0x3938: 0x00c0, 0x3939: 0x00c6, 0x393a: 0x00c3, 0x393b: 0x0080, - 0x393c: 0x0080, 0x393d: 0x0040, 0x393e: 0x0080, 0x393f: 0x0080, + 0x3924: 0x00c0, 0x3925: 0x00c0, 0x3926: 0x00c0, 0x3927: 0x00c0, 0x3928: 0x00c0, + 0x3930: 0x00c0, 0x3931: 0x00c0, 0x3932: 0x00c0, 0x3933: 0x00c0, 0x3934: 0x00c0, 0x3935: 0x00c0, + 0x3936: 0x00c0, 0x3937: 0x00c0, 0x3938: 0x00c0, 0x3939: 0x00c0, // Block 0xe5, offset 0x3940 - 0x3940: 0x0080, 0x3941: 0x0080, - 0x3950: 0x00c0, 0x3951: 0x00c0, + 0x3940: 0x00c3, 0x3941: 0x00c3, 0x3942: 0x00c3, 0x3943: 0x00c0, 0x3944: 0x00c0, 0x3945: 0x00c0, + 0x3946: 0x00c0, 0x3947: 0x00c0, 0x3948: 0x00c0, 0x3949: 0x00c0, 0x394a: 0x00c0, 0x394b: 0x00c0, + 0x394c: 0x00c0, 0x394d: 0x00c0, 0x394e: 0x00c0, 0x394f: 0x00c0, 0x3950: 0x00c0, 0x3951: 0x00c0, 0x3952: 0x00c0, 0x3953: 0x00c0, 0x3954: 0x00c0, 0x3955: 0x00c0, 0x3956: 0x00c0, 0x3957: 0x00c0, 0x3958: 0x00c0, 0x3959: 0x00c0, 0x395a: 0x00c0, 0x395b: 0x00c0, 0x395c: 0x00c0, 0x395d: 0x00c0, 0x395e: 0x00c0, 0x395f: 0x00c0, 0x3960: 0x00c0, 0x3961: 0x00c0, 0x3962: 0x00c0, 0x3963: 0x00c0, - 0x3964: 0x00c0, 0x3965: 0x00c0, 0x3966: 0x00c0, 0x3967: 0x00c0, 0x3968: 0x00c0, - 0x3970: 0x00c0, 0x3971: 0x00c0, 0x3972: 0x00c0, 0x3973: 0x00c0, 0x3974: 0x00c0, 0x3975: 0x00c0, - 0x3976: 0x00c0, 0x3977: 0x00c0, 0x3978: 0x00c0, 0x3979: 0x00c0, + 0x3964: 0x00c0, 0x3965: 0x00c0, 0x3966: 0x00c0, 0x3967: 0x00c3, 0x3968: 0x00c3, 0x3969: 0x00c3, + 0x396a: 0x00c3, 0x396b: 0x00c3, 0x396c: 0x00c0, 0x396d: 0x00c3, 0x396e: 0x00c3, 0x396f: 0x00c3, + 0x3970: 0x00c3, 0x3971: 0x00c3, 0x3972: 0x00c3, 0x3973: 0x00c6, 0x3974: 0x00c6, + 0x3976: 0x00c0, 0x3977: 0x00c0, 0x3978: 0x00c0, 0x3979: 0x00c0, 0x397a: 0x00c0, 0x397b: 0x00c0, + 0x397c: 0x00c0, 0x397d: 0x00c0, 0x397e: 0x00c0, 0x397f: 0x00c0, // Block 0xe6, offset 0x3980 - 0x3980: 0x00c3, 0x3981: 0x00c3, 0x3982: 0x00c3, 0x3983: 0x00c0, 0x3984: 0x00c0, 0x3985: 0x00c0, - 0x3986: 0x00c0, 0x3987: 0x00c0, 0x3988: 0x00c0, 0x3989: 0x00c0, 0x398a: 0x00c0, 0x398b: 0x00c0, - 0x398c: 0x00c0, 0x398d: 0x00c0, 0x398e: 0x00c0, 0x398f: 0x00c0, 0x3990: 0x00c0, 0x3991: 0x00c0, + 0x3980: 0x0080, 0x3981: 0x0080, 0x3982: 0x0080, 0x3983: 0x0080, + 0x3990: 0x00c0, 0x3991: 0x00c0, 0x3992: 0x00c0, 0x3993: 0x00c0, 0x3994: 0x00c0, 0x3995: 0x00c0, 0x3996: 0x00c0, 0x3997: 0x00c0, 0x3998: 0x00c0, 0x3999: 0x00c0, 0x399a: 0x00c0, 0x399b: 0x00c0, 0x399c: 0x00c0, 0x399d: 0x00c0, 0x399e: 0x00c0, 0x399f: 0x00c0, 0x39a0: 0x00c0, 0x39a1: 0x00c0, 0x39a2: 0x00c0, 0x39a3: 0x00c0, - 0x39a4: 0x00c0, 0x39a5: 0x00c0, 0x39a6: 0x00c0, 0x39a7: 0x00c3, 0x39a8: 0x00c3, 0x39a9: 0x00c3, - 0x39aa: 0x00c3, 0x39ab: 0x00c3, 0x39ac: 0x00c0, 0x39ad: 0x00c3, 0x39ae: 0x00c3, 0x39af: 0x00c3, - 0x39b0: 0x00c3, 0x39b1: 0x00c3, 0x39b2: 0x00c3, 0x39b3: 0x00c6, 0x39b4: 0x00c6, - 0x39b6: 0x00c0, 0x39b7: 0x00c0, 0x39b8: 0x00c0, 0x39b9: 0x00c0, 0x39ba: 0x00c0, 0x39bb: 0x00c0, - 0x39bc: 0x00c0, 0x39bd: 0x00c0, 0x39be: 0x00c0, 0x39bf: 0x00c0, + 0x39a4: 0x00c0, 0x39a5: 0x00c0, 0x39a6: 0x00c0, 0x39a7: 0x00c0, 0x39a8: 0x00c0, 0x39a9: 0x00c0, + 0x39aa: 0x00c0, 0x39ab: 0x00c0, 0x39ac: 0x00c0, 0x39ad: 0x00c0, 0x39ae: 0x00c0, 0x39af: 0x00c0, + 0x39b0: 0x00c0, 0x39b1: 0x00c0, 0x39b2: 0x00c0, 0x39b3: 0x00c3, 0x39b4: 0x0080, 0x39b5: 0x0080, + 0x39b6: 0x00c0, // Block 0xe7, offset 0x39c0 - 0x39c0: 0x0080, 0x39c1: 0x0080, 0x39c2: 0x0080, 0x39c3: 0x0080, - 0x39d0: 0x00c0, 0x39d1: 0x00c0, + 0x39c0: 0x00c3, 0x39c1: 0x00c3, 0x39c2: 0x00c0, 0x39c3: 0x00c0, 0x39c4: 0x00c0, 0x39c5: 0x00c0, + 0x39c6: 0x00c0, 0x39c7: 0x00c0, 0x39c8: 0x00c0, 0x39c9: 0x00c0, 0x39ca: 0x00c0, 0x39cb: 0x00c0, + 0x39cc: 0x00c0, 0x39cd: 0x00c0, 0x39ce: 0x00c0, 0x39cf: 0x00c0, 0x39d0: 0x00c0, 0x39d1: 0x00c0, 0x39d2: 0x00c0, 0x39d3: 0x00c0, 0x39d4: 0x00c0, 0x39d5: 0x00c0, 0x39d6: 0x00c0, 0x39d7: 0x00c0, 0x39d8: 0x00c0, 0x39d9: 0x00c0, 0x39da: 0x00c0, 0x39db: 0x00c0, 0x39dc: 0x00c0, 0x39dd: 0x00c0, 0x39de: 0x00c0, 0x39df: 0x00c0, 0x39e0: 0x00c0, 0x39e1: 0x00c0, 0x39e2: 0x00c0, 0x39e3: 0x00c0, 0x39e4: 0x00c0, 0x39e5: 0x00c0, 0x39e6: 0x00c0, 0x39e7: 0x00c0, 0x39e8: 0x00c0, 0x39e9: 0x00c0, 0x39ea: 0x00c0, 0x39eb: 0x00c0, 0x39ec: 0x00c0, 0x39ed: 0x00c0, 0x39ee: 0x00c0, 0x39ef: 0x00c0, - 0x39f0: 0x00c0, 0x39f1: 0x00c0, 0x39f2: 0x00c0, 0x39f3: 0x00c3, 0x39f4: 0x0080, 0x39f5: 0x0080, - 0x39f6: 0x00c0, + 0x39f0: 0x00c0, 0x39f1: 0x00c0, 0x39f2: 0x00c0, 0x39f3: 0x00c0, 0x39f4: 0x00c0, 0x39f5: 0x00c0, + 0x39f6: 0x00c3, 0x39f7: 0x00c3, 0x39f8: 0x00c3, 0x39f9: 0x00c3, 0x39fa: 0x00c3, 0x39fb: 0x00c3, + 0x39fc: 0x00c3, 0x39fd: 0x00c3, 0x39fe: 0x00c3, 0x39ff: 0x00c0, // Block 0xe8, offset 0x3a00 - 0x3a00: 0x00c3, 0x3a01: 0x00c3, 0x3a02: 0x00c0, 0x3a03: 0x00c0, 0x3a04: 0x00c0, 0x3a05: 0x00c0, - 0x3a06: 0x00c0, 0x3a07: 0x00c0, 0x3a08: 0x00c0, 0x3a09: 0x00c0, 0x3a0a: 0x00c0, 0x3a0b: 0x00c0, - 0x3a0c: 0x00c0, 0x3a0d: 0x00c0, 0x3a0e: 0x00c0, 0x3a0f: 0x00c0, 0x3a10: 0x00c0, 0x3a11: 0x00c0, + 0x3a00: 0x00c5, 0x3a01: 0x00c0, 0x3a02: 0x00c0, 0x3a03: 0x00c0, 0x3a04: 0x00c0, 0x3a05: 0x0080, + 0x3a06: 0x0080, 0x3a07: 0x0080, 0x3a08: 0x0080, 0x3a09: 0x0080, 0x3a0a: 0x00c3, 0x3a0b: 0x00c3, + 0x3a0c: 0x00c3, 0x3a0d: 0x0080, 0x3a10: 0x00c0, 0x3a11: 0x00c0, 0x3a12: 0x00c0, 0x3a13: 0x00c0, 0x3a14: 0x00c0, 0x3a15: 0x00c0, 0x3a16: 0x00c0, 0x3a17: 0x00c0, - 0x3a18: 0x00c0, 0x3a19: 0x00c0, 0x3a1a: 0x00c0, 0x3a1b: 0x00c0, 0x3a1c: 0x00c0, 0x3a1d: 0x00c0, - 0x3a1e: 0x00c0, 0x3a1f: 0x00c0, 0x3a20: 0x00c0, 0x3a21: 0x00c0, 0x3a22: 0x00c0, 0x3a23: 0x00c0, - 0x3a24: 0x00c0, 0x3a25: 0x00c0, 0x3a26: 0x00c0, 0x3a27: 0x00c0, 0x3a28: 0x00c0, 0x3a29: 0x00c0, - 0x3a2a: 0x00c0, 0x3a2b: 0x00c0, 0x3a2c: 0x00c0, 0x3a2d: 0x00c0, 0x3a2e: 0x00c0, 0x3a2f: 0x00c0, - 0x3a30: 0x00c0, 0x3a31: 0x00c0, 0x3a32: 0x00c0, 0x3a33: 0x00c0, 0x3a34: 0x00c0, 0x3a35: 0x00c0, - 0x3a36: 0x00c3, 0x3a37: 0x00c3, 0x3a38: 0x00c3, 0x3a39: 0x00c3, 0x3a3a: 0x00c3, 0x3a3b: 0x00c3, - 0x3a3c: 0x00c3, 0x3a3d: 0x00c3, 0x3a3e: 0x00c3, 0x3a3f: 0x00c0, + 0x3a18: 0x00c0, 0x3a19: 0x00c0, 0x3a1a: 0x00c0, 0x3a1b: 0x0080, 0x3a1c: 0x00c0, 0x3a1d: 0x0080, + 0x3a1e: 0x0080, 0x3a1f: 0x0080, 0x3a21: 0x0080, 0x3a22: 0x0080, 0x3a23: 0x0080, + 0x3a24: 0x0080, 0x3a25: 0x0080, 0x3a26: 0x0080, 0x3a27: 0x0080, 0x3a28: 0x0080, 0x3a29: 0x0080, + 0x3a2a: 0x0080, 0x3a2b: 0x0080, 0x3a2c: 0x0080, 0x3a2d: 0x0080, 0x3a2e: 0x0080, 0x3a2f: 0x0080, + 0x3a30: 0x0080, 0x3a31: 0x0080, 0x3a32: 0x0080, 0x3a33: 0x0080, 0x3a34: 0x0080, // Block 0xe9, offset 0x3a40 - 0x3a40: 0x00c5, 0x3a41: 0x00c0, 0x3a42: 0x00c0, 0x3a43: 0x00c0, 0x3a44: 0x00c0, 0x3a45: 0x0080, - 0x3a46: 0x0080, 0x3a47: 0x0080, 0x3a48: 0x0080, 0x3a49: 0x0080, 0x3a4a: 0x00c3, 0x3a4b: 0x00c3, - 0x3a4c: 0x00c3, 0x3a4d: 0x0080, 0x3a50: 0x00c0, 0x3a51: 0x00c0, - 0x3a52: 0x00c0, 0x3a53: 0x00c0, 0x3a54: 0x00c0, 0x3a55: 0x00c0, 0x3a56: 0x00c0, 0x3a57: 0x00c0, - 0x3a58: 0x00c0, 0x3a59: 0x00c0, 0x3a5a: 0x00c0, 0x3a5b: 0x0080, 0x3a5c: 0x00c0, 0x3a5d: 0x0080, - 0x3a5e: 0x0080, 0x3a5f: 0x0080, 0x3a61: 0x0080, 0x3a62: 0x0080, 0x3a63: 0x0080, - 0x3a64: 0x0080, 0x3a65: 0x0080, 0x3a66: 0x0080, 0x3a67: 0x0080, 0x3a68: 0x0080, 0x3a69: 0x0080, - 0x3a6a: 0x0080, 0x3a6b: 0x0080, 0x3a6c: 0x0080, 0x3a6d: 0x0080, 0x3a6e: 0x0080, 0x3a6f: 0x0080, - 0x3a70: 0x0080, 0x3a71: 0x0080, 0x3a72: 0x0080, 0x3a73: 0x0080, 0x3a74: 0x0080, + 0x3a40: 0x00c0, 0x3a41: 0x00c0, 0x3a42: 0x00c0, 0x3a43: 0x00c0, 0x3a44: 0x00c0, 0x3a45: 0x00c0, + 0x3a46: 0x00c0, 0x3a47: 0x00c0, 0x3a48: 0x00c0, 0x3a49: 0x00c0, 0x3a4a: 0x00c0, 0x3a4b: 0x00c0, + 0x3a4c: 0x00c0, 0x3a4d: 0x00c0, 0x3a4e: 0x00c0, 0x3a4f: 0x00c0, 0x3a50: 0x00c0, 0x3a51: 0x00c0, + 0x3a53: 0x00c0, 0x3a54: 0x00c0, 0x3a55: 0x00c0, 0x3a56: 0x00c0, 0x3a57: 0x00c0, + 0x3a58: 0x00c0, 0x3a59: 0x00c0, 0x3a5a: 0x00c0, 0x3a5b: 0x00c0, 0x3a5c: 0x00c0, 0x3a5d: 0x00c0, + 0x3a5e: 0x00c0, 0x3a5f: 0x00c0, 0x3a60: 0x00c0, 0x3a61: 0x00c0, 0x3a62: 0x00c0, 0x3a63: 0x00c0, + 0x3a64: 0x00c0, 0x3a65: 0x00c0, 0x3a66: 0x00c0, 0x3a67: 0x00c0, 0x3a68: 0x00c0, 0x3a69: 0x00c0, + 0x3a6a: 0x00c0, 0x3a6b: 0x00c0, 0x3a6c: 0x00c0, 0x3a6d: 0x00c0, 0x3a6e: 0x00c0, 0x3a6f: 0x00c3, + 0x3a70: 0x00c3, 0x3a71: 0x00c3, 0x3a72: 0x00c0, 0x3a73: 0x00c0, 0x3a74: 0x00c3, 0x3a75: 0x00c5, + 0x3a76: 0x00c3, 0x3a77: 0x00c3, 0x3a78: 0x0080, 0x3a79: 0x0080, 0x3a7a: 0x0080, 0x3a7b: 0x0080, + 0x3a7c: 0x0080, 0x3a7d: 0x0080, 0x3a7e: 0x00c3, // Block 0xea, offset 0x3a80 0x3a80: 0x00c0, 0x3a81: 0x00c0, 0x3a82: 0x00c0, 0x3a83: 0x00c0, 0x3a84: 0x00c0, 0x3a85: 0x00c0, - 0x3a86: 0x00c0, 0x3a87: 0x00c0, 0x3a88: 0x00c0, 0x3a89: 0x00c0, 0x3a8a: 0x00c0, 0x3a8b: 0x00c0, - 0x3a8c: 0x00c0, 0x3a8d: 0x00c0, 0x3a8e: 0x00c0, 0x3a8f: 0x00c0, 0x3a90: 0x00c0, 0x3a91: 0x00c0, - 0x3a93: 0x00c0, 0x3a94: 0x00c0, 0x3a95: 0x00c0, 0x3a96: 0x00c0, 0x3a97: 0x00c0, + 0x3a86: 0x00c0, 0x3a88: 0x00c0, 0x3a8a: 0x00c0, 0x3a8b: 0x00c0, + 0x3a8c: 0x00c0, 0x3a8d: 0x00c0, 0x3a8f: 0x00c0, 0x3a90: 0x00c0, 0x3a91: 0x00c0, + 0x3a92: 0x00c0, 0x3a93: 0x00c0, 0x3a94: 0x00c0, 0x3a95: 0x00c0, 0x3a96: 0x00c0, 0x3a97: 0x00c0, 0x3a98: 0x00c0, 0x3a99: 0x00c0, 0x3a9a: 0x00c0, 0x3a9b: 0x00c0, 0x3a9c: 0x00c0, 0x3a9d: 0x00c0, - 0x3a9e: 0x00c0, 0x3a9f: 0x00c0, 0x3aa0: 0x00c0, 0x3aa1: 0x00c0, 0x3aa2: 0x00c0, 0x3aa3: 0x00c0, - 0x3aa4: 0x00c0, 0x3aa5: 0x00c0, 0x3aa6: 0x00c0, 0x3aa7: 0x00c0, 0x3aa8: 0x00c0, 0x3aa9: 0x00c0, - 0x3aaa: 0x00c0, 0x3aab: 0x00c0, 0x3aac: 0x00c0, 0x3aad: 0x00c0, 0x3aae: 0x00c0, 0x3aaf: 0x00c3, - 0x3ab0: 0x00c3, 0x3ab1: 0x00c3, 0x3ab2: 0x00c0, 0x3ab3: 0x00c0, 0x3ab4: 0x00c3, 0x3ab5: 0x00c5, - 0x3ab6: 0x00c3, 0x3ab7: 0x00c3, 0x3ab8: 0x0080, 0x3ab9: 0x0080, 0x3aba: 0x0080, 0x3abb: 0x0080, - 0x3abc: 0x0080, 0x3abd: 0x0080, 0x3abe: 0x00c3, + 0x3a9f: 0x00c0, 0x3aa0: 0x00c0, 0x3aa1: 0x00c0, 0x3aa2: 0x00c0, 0x3aa3: 0x00c0, + 0x3aa4: 0x00c0, 0x3aa5: 0x00c0, 0x3aa6: 0x00c0, 0x3aa7: 0x00c0, 0x3aa8: 0x00c0, 0x3aa9: 0x0080, + 0x3ab0: 0x00c0, 0x3ab1: 0x00c0, 0x3ab2: 0x00c0, 0x3ab3: 0x00c0, 0x3ab4: 0x00c0, 0x3ab5: 0x00c0, + 0x3ab6: 0x00c0, 0x3ab7: 0x00c0, 0x3ab8: 0x00c0, 0x3ab9: 0x00c0, 0x3aba: 0x00c0, 0x3abb: 0x00c0, + 0x3abc: 0x00c0, 0x3abd: 0x00c0, 0x3abe: 0x00c0, 0x3abf: 0x00c0, // Block 0xeb, offset 0x3ac0 0x3ac0: 0x00c0, 0x3ac1: 0x00c0, 0x3ac2: 0x00c0, 0x3ac3: 0x00c0, 0x3ac4: 0x00c0, 0x3ac5: 0x00c0, - 0x3ac6: 0x00c0, 0x3ac8: 0x00c0, 0x3aca: 0x00c0, 0x3acb: 0x00c0, - 0x3acc: 0x00c0, 0x3acd: 0x00c0, 0x3acf: 0x00c0, 0x3ad0: 0x00c0, 0x3ad1: 0x00c0, + 0x3ac6: 0x00c0, 0x3ac7: 0x00c0, 0x3ac8: 0x00c0, 0x3ac9: 0x00c0, 0x3aca: 0x00c0, 0x3acb: 0x00c0, + 0x3acc: 0x00c0, 0x3acd: 0x00c0, 0x3ace: 0x00c0, 0x3acf: 0x00c0, 0x3ad0: 0x00c0, 0x3ad1: 0x00c0, 0x3ad2: 0x00c0, 0x3ad3: 0x00c0, 0x3ad4: 0x00c0, 0x3ad5: 0x00c0, 0x3ad6: 0x00c0, 0x3ad7: 0x00c0, 0x3ad8: 0x00c0, 0x3ad9: 0x00c0, 0x3ada: 0x00c0, 0x3adb: 0x00c0, 0x3adc: 0x00c0, 0x3add: 0x00c0, - 0x3adf: 0x00c0, 0x3ae0: 0x00c0, 0x3ae1: 0x00c0, 0x3ae2: 0x00c0, 0x3ae3: 0x00c0, - 0x3ae4: 0x00c0, 0x3ae5: 0x00c0, 0x3ae6: 0x00c0, 0x3ae7: 0x00c0, 0x3ae8: 0x00c0, 0x3ae9: 0x0080, + 0x3ade: 0x00c0, 0x3adf: 0x00c3, 0x3ae0: 0x00c0, 0x3ae1: 0x00c0, 0x3ae2: 0x00c0, 0x3ae3: 0x00c3, + 0x3ae4: 0x00c3, 0x3ae5: 0x00c3, 0x3ae6: 0x00c3, 0x3ae7: 0x00c3, 0x3ae8: 0x00c3, 0x3ae9: 0x00c3, + 0x3aea: 0x00c6, 0x3af0: 0x00c0, 0x3af1: 0x00c0, 0x3af2: 0x00c0, 0x3af3: 0x00c0, 0x3af4: 0x00c0, 0x3af5: 0x00c0, - 0x3af6: 0x00c0, 0x3af7: 0x00c0, 0x3af8: 0x00c0, 0x3af9: 0x00c0, 0x3afa: 0x00c0, 0x3afb: 0x00c0, - 0x3afc: 0x00c0, 0x3afd: 0x00c0, 0x3afe: 0x00c0, 0x3aff: 0x00c0, + 0x3af6: 0x00c0, 0x3af7: 0x00c0, 0x3af8: 0x00c0, 0x3af9: 0x00c0, // Block 0xec, offset 0x3b00 - 0x3b00: 0x00c0, 0x3b01: 0x00c0, 0x3b02: 0x00c0, 0x3b03: 0x00c0, 0x3b04: 0x00c0, 0x3b05: 0x00c0, + 0x3b00: 0x00c3, 0x3b01: 0x00c3, 0x3b02: 0x00c0, 0x3b03: 0x00c0, 0x3b05: 0x00c0, 0x3b06: 0x00c0, 0x3b07: 0x00c0, 0x3b08: 0x00c0, 0x3b09: 0x00c0, 0x3b0a: 0x00c0, 0x3b0b: 0x00c0, - 0x3b0c: 0x00c0, 0x3b0d: 0x00c0, 0x3b0e: 0x00c0, 0x3b0f: 0x00c0, 0x3b10: 0x00c0, 0x3b11: 0x00c0, - 0x3b12: 0x00c0, 0x3b13: 0x00c0, 0x3b14: 0x00c0, 0x3b15: 0x00c0, 0x3b16: 0x00c0, 0x3b17: 0x00c0, + 0x3b0c: 0x00c0, 0x3b0f: 0x00c0, 0x3b10: 0x00c0, + 0x3b13: 0x00c0, 0x3b14: 0x00c0, 0x3b15: 0x00c0, 0x3b16: 0x00c0, 0x3b17: 0x00c0, 0x3b18: 0x00c0, 0x3b19: 0x00c0, 0x3b1a: 0x00c0, 0x3b1b: 0x00c0, 0x3b1c: 0x00c0, 0x3b1d: 0x00c0, - 0x3b1e: 0x00c0, 0x3b1f: 0x00c3, 0x3b20: 0x00c0, 0x3b21: 0x00c0, 0x3b22: 0x00c0, 0x3b23: 0x00c3, - 0x3b24: 0x00c3, 0x3b25: 0x00c3, 0x3b26: 0x00c3, 0x3b27: 0x00c3, 0x3b28: 0x00c3, 0x3b29: 0x00c3, - 0x3b2a: 0x00c6, - 0x3b30: 0x00c0, 0x3b31: 0x00c0, 0x3b32: 0x00c0, 0x3b33: 0x00c0, 0x3b34: 0x00c0, 0x3b35: 0x00c0, + 0x3b1e: 0x00c0, 0x3b1f: 0x00c0, 0x3b20: 0x00c0, 0x3b21: 0x00c0, 0x3b22: 0x00c0, 0x3b23: 0x00c0, + 0x3b24: 0x00c0, 0x3b25: 0x00c0, 0x3b26: 0x00c0, 0x3b27: 0x00c0, 0x3b28: 0x00c0, + 0x3b2a: 0x00c0, 0x3b2b: 0x00c0, 0x3b2c: 0x00c0, 0x3b2d: 0x00c0, 0x3b2e: 0x00c0, 0x3b2f: 0x00c0, + 0x3b30: 0x00c0, 0x3b32: 0x00c0, 0x3b33: 0x00c0, 0x3b35: 0x00c0, 0x3b36: 0x00c0, 0x3b37: 0x00c0, 0x3b38: 0x00c0, 0x3b39: 0x00c0, + 0x3b3c: 0x00c3, 0x3b3d: 0x00c0, 0x3b3e: 0x00c0, 0x3b3f: 0x00c0, // Block 0xed, offset 0x3b40 - 0x3b40: 0x00c3, 0x3b41: 0x00c3, 0x3b42: 0x00c0, 0x3b43: 0x00c0, 0x3b45: 0x00c0, - 0x3b46: 0x00c0, 0x3b47: 0x00c0, 0x3b48: 0x00c0, 0x3b49: 0x00c0, 0x3b4a: 0x00c0, 0x3b4b: 0x00c0, - 0x3b4c: 0x00c0, 0x3b4f: 0x00c0, 0x3b50: 0x00c0, - 0x3b53: 0x00c0, 0x3b54: 0x00c0, 0x3b55: 0x00c0, 0x3b56: 0x00c0, 0x3b57: 0x00c0, - 0x3b58: 0x00c0, 0x3b59: 0x00c0, 0x3b5a: 0x00c0, 0x3b5b: 0x00c0, 0x3b5c: 0x00c0, 0x3b5d: 0x00c0, + 0x3b40: 0x00c3, 0x3b41: 0x00c0, 0x3b42: 0x00c0, 0x3b43: 0x00c0, 0x3b44: 0x00c0, + 0x3b47: 0x00c0, 0x3b48: 0x00c0, 0x3b4b: 0x00c0, + 0x3b4c: 0x00c0, 0x3b4d: 0x00c5, 0x3b50: 0x00c0, + 0x3b57: 0x00c0, + 0x3b5d: 0x00c0, 0x3b5e: 0x00c0, 0x3b5f: 0x00c0, 0x3b60: 0x00c0, 0x3b61: 0x00c0, 0x3b62: 0x00c0, 0x3b63: 0x00c0, - 0x3b64: 0x00c0, 0x3b65: 0x00c0, 0x3b66: 0x00c0, 0x3b67: 0x00c0, 0x3b68: 0x00c0, - 0x3b6a: 0x00c0, 0x3b6b: 0x00c0, 0x3b6c: 0x00c0, 0x3b6d: 0x00c0, 0x3b6e: 0x00c0, 0x3b6f: 0x00c0, - 0x3b70: 0x00c0, 0x3b72: 0x00c0, 0x3b73: 0x00c0, 0x3b75: 0x00c0, - 0x3b76: 0x00c0, 0x3b77: 0x00c0, 0x3b78: 0x00c0, 0x3b79: 0x00c0, - 0x3b7c: 0x00c3, 0x3b7d: 0x00c0, 0x3b7e: 0x00c0, 0x3b7f: 0x00c0, + 0x3b66: 0x00c3, 0x3b67: 0x00c3, 0x3b68: 0x00c3, 0x3b69: 0x00c3, + 0x3b6a: 0x00c3, 0x3b6b: 0x00c3, 0x3b6c: 0x00c3, + 0x3b70: 0x00c3, 0x3b71: 0x00c3, 0x3b72: 0x00c3, 0x3b73: 0x00c3, 0x3b74: 0x00c3, // Block 0xee, offset 0x3b80 - 0x3b80: 0x00c3, 0x3b81: 0x00c0, 0x3b82: 0x00c0, 0x3b83: 0x00c0, 0x3b84: 0x00c0, - 0x3b87: 0x00c0, 0x3b88: 0x00c0, 0x3b8b: 0x00c0, - 0x3b8c: 0x00c0, 0x3b8d: 0x00c5, 0x3b90: 0x00c0, - 0x3b97: 0x00c0, - 0x3b9d: 0x00c0, + 0x3b80: 0x00c0, 0x3b81: 0x00c0, 0x3b82: 0x00c0, 0x3b83: 0x00c0, 0x3b84: 0x00c0, 0x3b85: 0x00c0, + 0x3b86: 0x00c0, 0x3b87: 0x00c0, 0x3b88: 0x00c0, 0x3b89: 0x00c0, 0x3b8a: 0x00c0, 0x3b8b: 0x00c0, + 0x3b8c: 0x00c0, 0x3b8d: 0x00c0, 0x3b8e: 0x00c0, 0x3b8f: 0x00c0, 0x3b90: 0x00c0, 0x3b91: 0x00c0, + 0x3b92: 0x00c0, 0x3b93: 0x00c0, 0x3b94: 0x00c0, 0x3b95: 0x00c0, 0x3b96: 0x00c0, 0x3b97: 0x00c0, + 0x3b98: 0x00c0, 0x3b99: 0x00c0, 0x3b9a: 0x00c0, 0x3b9b: 0x00c0, 0x3b9c: 0x00c0, 0x3b9d: 0x00c0, 0x3b9e: 0x00c0, 0x3b9f: 0x00c0, 0x3ba0: 0x00c0, 0x3ba1: 0x00c0, 0x3ba2: 0x00c0, 0x3ba3: 0x00c0, - 0x3ba6: 0x00c3, 0x3ba7: 0x00c3, 0x3ba8: 0x00c3, 0x3ba9: 0x00c3, - 0x3baa: 0x00c3, 0x3bab: 0x00c3, 0x3bac: 0x00c3, - 0x3bb0: 0x00c3, 0x3bb1: 0x00c3, 0x3bb2: 0x00c3, 0x3bb3: 0x00c3, 0x3bb4: 0x00c3, + 0x3ba4: 0x00c0, 0x3ba5: 0x00c0, 0x3ba6: 0x00c0, 0x3ba7: 0x00c0, 0x3ba8: 0x00c0, 0x3ba9: 0x00c0, + 0x3baa: 0x00c0, 0x3bab: 0x00c0, 0x3bac: 0x00c0, 0x3bad: 0x00c0, 0x3bae: 0x00c0, 0x3baf: 0x00c0, + 0x3bb0: 0x00c0, 0x3bb1: 0x00c0, 0x3bb2: 0x00c0, 0x3bb3: 0x00c0, 0x3bb4: 0x00c0, 0x3bb5: 0x00c0, + 0x3bb6: 0x00c0, 0x3bb7: 0x00c0, 0x3bb8: 0x00c3, 0x3bb9: 0x00c3, 0x3bba: 0x00c3, 0x3bbb: 0x00c3, + 0x3bbc: 0x00c3, 0x3bbd: 0x00c3, 0x3bbe: 0x00c3, 0x3bbf: 0x00c3, // Block 0xef, offset 0x3bc0 - 0x3bc0: 0x00c0, 0x3bc1: 0x00c0, 0x3bc2: 0x00c0, 0x3bc3: 0x00c0, 0x3bc4: 0x00c0, 0x3bc5: 0x00c0, - 0x3bc6: 0x00c0, 0x3bc7: 0x00c0, 0x3bc8: 0x00c0, 0x3bc9: 0x00c0, 0x3bca: 0x00c0, 0x3bcb: 0x00c0, - 0x3bcc: 0x00c0, 0x3bcd: 0x00c0, 0x3bce: 0x00c0, 0x3bcf: 0x00c0, 0x3bd0: 0x00c0, 0x3bd1: 0x00c0, + 0x3bc0: 0x00c0, 0x3bc1: 0x00c0, 0x3bc2: 0x00c6, 0x3bc3: 0x00c3, 0x3bc4: 0x00c3, 0x3bc5: 0x00c0, + 0x3bc6: 0x00c3, 0x3bc7: 0x00c0, 0x3bc8: 0x00c0, 0x3bc9: 0x00c0, 0x3bca: 0x00c0, 0x3bcb: 0x0080, + 0x3bcc: 0x0080, 0x3bcd: 0x0080, 0x3bce: 0x0080, 0x3bcf: 0x0080, 0x3bd0: 0x00c0, 0x3bd1: 0x00c0, 0x3bd2: 0x00c0, 0x3bd3: 0x00c0, 0x3bd4: 0x00c0, 0x3bd5: 0x00c0, 0x3bd6: 0x00c0, 0x3bd7: 0x00c0, - 0x3bd8: 0x00c0, 0x3bd9: 0x00c0, 0x3bda: 0x00c0, 0x3bdb: 0x00c0, 0x3bdc: 0x00c0, 0x3bdd: 0x00c0, - 0x3bde: 0x00c0, 0x3bdf: 0x00c0, 0x3be0: 0x00c0, 0x3be1: 0x00c0, 0x3be2: 0x00c0, 0x3be3: 0x00c0, - 0x3be4: 0x00c0, 0x3be5: 0x00c0, 0x3be6: 0x00c0, 0x3be7: 0x00c0, 0x3be8: 0x00c0, 0x3be9: 0x00c0, - 0x3bea: 0x00c0, 0x3beb: 0x00c0, 0x3bec: 0x00c0, 0x3bed: 0x00c0, 0x3bee: 0x00c0, 0x3bef: 0x00c0, - 0x3bf0: 0x00c0, 0x3bf1: 0x00c0, 0x3bf2: 0x00c0, 0x3bf3: 0x00c0, 0x3bf4: 0x00c0, 0x3bf5: 0x00c0, - 0x3bf6: 0x00c0, 0x3bf7: 0x00c0, 0x3bf8: 0x00c3, 0x3bf9: 0x00c3, 0x3bfa: 0x00c3, 0x3bfb: 0x00c3, - 0x3bfc: 0x00c3, 0x3bfd: 0x00c3, 0x3bfe: 0x00c3, 0x3bff: 0x00c3, + 0x3bd8: 0x00c0, 0x3bd9: 0x00c0, 0x3bdb: 0x0080, 0x3bdd: 0x0080, // Block 0xf0, offset 0x3c00 - 0x3c00: 0x00c0, 0x3c01: 0x00c0, 0x3c02: 0x00c6, 0x3c03: 0x00c3, 0x3c04: 0x00c3, 0x3c05: 0x00c0, - 0x3c06: 0x00c3, 0x3c07: 0x00c0, 0x3c08: 0x00c0, 0x3c09: 0x00c0, 0x3c0a: 0x00c0, 0x3c0b: 0x0080, - 0x3c0c: 0x0080, 0x3c0d: 0x0080, 0x3c0e: 0x0080, 0x3c0f: 0x0080, 0x3c10: 0x00c0, 0x3c11: 0x00c0, + 0x3c00: 0x00c0, 0x3c01: 0x00c0, 0x3c02: 0x00c0, 0x3c03: 0x00c0, 0x3c04: 0x00c0, 0x3c05: 0x00c0, + 0x3c06: 0x00c0, 0x3c07: 0x00c0, 0x3c08: 0x00c0, 0x3c09: 0x00c0, 0x3c0a: 0x00c0, 0x3c0b: 0x00c0, + 0x3c0c: 0x00c0, 0x3c0d: 0x00c0, 0x3c0e: 0x00c0, 0x3c0f: 0x00c0, 0x3c10: 0x00c0, 0x3c11: 0x00c0, 0x3c12: 0x00c0, 0x3c13: 0x00c0, 0x3c14: 0x00c0, 0x3c15: 0x00c0, 0x3c16: 0x00c0, 0x3c17: 0x00c0, - 0x3c18: 0x00c0, 0x3c19: 0x00c0, 0x3c1b: 0x0080, 0x3c1d: 0x0080, + 0x3c18: 0x00c0, 0x3c19: 0x00c0, 0x3c1a: 0x00c0, 0x3c1b: 0x00c0, 0x3c1c: 0x00c0, 0x3c1d: 0x00c0, + 0x3c1e: 0x00c0, 0x3c1f: 0x00c0, 0x3c20: 0x00c0, 0x3c21: 0x00c0, 0x3c22: 0x00c0, 0x3c23: 0x00c0, + 0x3c24: 0x00c0, 0x3c25: 0x00c0, 0x3c26: 0x00c0, 0x3c27: 0x00c0, 0x3c28: 0x00c0, 0x3c29: 0x00c0, + 0x3c2a: 0x00c0, 0x3c2b: 0x00c0, 0x3c2c: 0x00c0, 0x3c2d: 0x00c0, 0x3c2e: 0x00c0, 0x3c2f: 0x00c0, + 0x3c30: 0x00c0, 0x3c31: 0x00c0, 0x3c32: 0x00c0, 0x3c33: 0x00c3, 0x3c34: 0x00c3, 0x3c35: 0x00c3, + 0x3c36: 0x00c3, 0x3c37: 0x00c3, 0x3c38: 0x00c3, 0x3c39: 0x00c0, 0x3c3a: 0x00c3, 0x3c3b: 0x00c0, + 0x3c3c: 0x00c0, 0x3c3d: 0x00c0, 0x3c3e: 0x00c0, 0x3c3f: 0x00c3, // Block 0xf1, offset 0x3c40 - 0x3c40: 0x00c0, 0x3c41: 0x00c0, 0x3c42: 0x00c0, 0x3c43: 0x00c0, 0x3c44: 0x00c0, 0x3c45: 0x00c0, - 0x3c46: 0x00c0, 0x3c47: 0x00c0, 0x3c48: 0x00c0, 0x3c49: 0x00c0, 0x3c4a: 0x00c0, 0x3c4b: 0x00c0, - 0x3c4c: 0x00c0, 0x3c4d: 0x00c0, 0x3c4e: 0x00c0, 0x3c4f: 0x00c0, 0x3c50: 0x00c0, 0x3c51: 0x00c0, + 0x3c40: 0x00c3, 0x3c41: 0x00c0, 0x3c42: 0x00c6, 0x3c43: 0x00c3, 0x3c44: 0x00c0, 0x3c45: 0x00c0, + 0x3c46: 0x0080, 0x3c47: 0x00c0, + 0x3c50: 0x00c0, 0x3c51: 0x00c0, 0x3c52: 0x00c0, 0x3c53: 0x00c0, 0x3c54: 0x00c0, 0x3c55: 0x00c0, 0x3c56: 0x00c0, 0x3c57: 0x00c0, - 0x3c58: 0x00c0, 0x3c59: 0x00c0, 0x3c5a: 0x00c0, 0x3c5b: 0x00c0, 0x3c5c: 0x00c0, 0x3c5d: 0x00c0, - 0x3c5e: 0x00c0, 0x3c5f: 0x00c0, 0x3c60: 0x00c0, 0x3c61: 0x00c0, 0x3c62: 0x00c0, 0x3c63: 0x00c0, - 0x3c64: 0x00c0, 0x3c65: 0x00c0, 0x3c66: 0x00c0, 0x3c67: 0x00c0, 0x3c68: 0x00c0, 0x3c69: 0x00c0, - 0x3c6a: 0x00c0, 0x3c6b: 0x00c0, 0x3c6c: 0x00c0, 0x3c6d: 0x00c0, 0x3c6e: 0x00c0, 0x3c6f: 0x00c0, - 0x3c70: 0x00c0, 0x3c71: 0x00c0, 0x3c72: 0x00c0, 0x3c73: 0x00c3, 0x3c74: 0x00c3, 0x3c75: 0x00c3, - 0x3c76: 0x00c3, 0x3c77: 0x00c3, 0x3c78: 0x00c3, 0x3c79: 0x00c0, 0x3c7a: 0x00c3, 0x3c7b: 0x00c0, - 0x3c7c: 0x00c0, 0x3c7d: 0x00c0, 0x3c7e: 0x00c0, 0x3c7f: 0x00c3, + 0x3c58: 0x00c0, 0x3c59: 0x00c0, // Block 0xf2, offset 0x3c80 - 0x3c80: 0x00c3, 0x3c81: 0x00c0, 0x3c82: 0x00c6, 0x3c83: 0x00c3, 0x3c84: 0x00c0, 0x3c85: 0x00c0, - 0x3c86: 0x0080, 0x3c87: 0x00c0, - 0x3c90: 0x00c0, 0x3c91: 0x00c0, + 0x3c80: 0x00c0, 0x3c81: 0x00c0, 0x3c82: 0x00c0, 0x3c83: 0x00c0, 0x3c84: 0x00c0, 0x3c85: 0x00c0, + 0x3c86: 0x00c0, 0x3c87: 0x00c0, 0x3c88: 0x00c0, 0x3c89: 0x00c0, 0x3c8a: 0x00c0, 0x3c8b: 0x00c0, + 0x3c8c: 0x00c0, 0x3c8d: 0x00c0, 0x3c8e: 0x00c0, 0x3c8f: 0x00c0, 0x3c90: 0x00c0, 0x3c91: 0x00c0, 0x3c92: 0x00c0, 0x3c93: 0x00c0, 0x3c94: 0x00c0, 0x3c95: 0x00c0, 0x3c96: 0x00c0, 0x3c97: 0x00c0, - 0x3c98: 0x00c0, 0x3c99: 0x00c0, + 0x3c98: 0x00c0, 0x3c99: 0x00c0, 0x3c9a: 0x00c0, 0x3c9b: 0x00c0, 0x3c9c: 0x00c0, 0x3c9d: 0x00c0, + 0x3c9e: 0x00c0, 0x3c9f: 0x00c0, 0x3ca0: 0x00c0, 0x3ca1: 0x00c0, 0x3ca2: 0x00c0, 0x3ca3: 0x00c0, + 0x3ca4: 0x00c0, 0x3ca5: 0x00c0, 0x3ca6: 0x00c0, 0x3ca7: 0x00c0, 0x3ca8: 0x00c0, 0x3ca9: 0x00c0, + 0x3caa: 0x00c0, 0x3cab: 0x00c0, 0x3cac: 0x00c0, 0x3cad: 0x00c0, 0x3cae: 0x00c0, 0x3caf: 0x00c0, + 0x3cb0: 0x00c0, 0x3cb1: 0x00c0, 0x3cb2: 0x00c3, 0x3cb3: 0x00c3, 0x3cb4: 0x00c3, 0x3cb5: 0x00c3, + 0x3cb8: 0x00c0, 0x3cb9: 0x00c0, 0x3cba: 0x00c0, 0x3cbb: 0x00c0, + 0x3cbc: 0x00c3, 0x3cbd: 0x00c3, 0x3cbe: 0x00c0, 0x3cbf: 0x00c6, // Block 0xf3, offset 0x3cc0 - 0x3cc0: 0x00c0, 0x3cc1: 0x00c0, 0x3cc2: 0x00c0, 0x3cc3: 0x00c0, 0x3cc4: 0x00c0, 0x3cc5: 0x00c0, - 0x3cc6: 0x00c0, 0x3cc7: 0x00c0, 0x3cc8: 0x00c0, 0x3cc9: 0x00c0, 0x3cca: 0x00c0, 0x3ccb: 0x00c0, - 0x3ccc: 0x00c0, 0x3ccd: 0x00c0, 0x3cce: 0x00c0, 0x3ccf: 0x00c0, 0x3cd0: 0x00c0, 0x3cd1: 0x00c0, - 0x3cd2: 0x00c0, 0x3cd3: 0x00c0, 0x3cd4: 0x00c0, 0x3cd5: 0x00c0, 0x3cd6: 0x00c0, 0x3cd7: 0x00c0, - 0x3cd8: 0x00c0, 0x3cd9: 0x00c0, 0x3cda: 0x00c0, 0x3cdb: 0x00c0, 0x3cdc: 0x00c0, 0x3cdd: 0x00c0, - 0x3cde: 0x00c0, 0x3cdf: 0x00c0, 0x3ce0: 0x00c0, 0x3ce1: 0x00c0, 0x3ce2: 0x00c0, 0x3ce3: 0x00c0, - 0x3ce4: 0x00c0, 0x3ce5: 0x00c0, 0x3ce6: 0x00c0, 0x3ce7: 0x00c0, 0x3ce8: 0x00c0, 0x3ce9: 0x00c0, - 0x3cea: 0x00c0, 0x3ceb: 0x00c0, 0x3cec: 0x00c0, 0x3ced: 0x00c0, 0x3cee: 0x00c0, 0x3cef: 0x00c0, - 0x3cf0: 0x00c0, 0x3cf1: 0x00c0, 0x3cf2: 0x00c3, 0x3cf3: 0x00c3, 0x3cf4: 0x00c3, 0x3cf5: 0x00c3, - 0x3cf8: 0x00c0, 0x3cf9: 0x00c0, 0x3cfa: 0x00c0, 0x3cfb: 0x00c0, - 0x3cfc: 0x00c3, 0x3cfd: 0x00c3, 0x3cfe: 0x00c0, 0x3cff: 0x00c6, + 0x3cc0: 0x00c3, 0x3cc1: 0x0080, 0x3cc2: 0x0080, 0x3cc3: 0x0080, 0x3cc4: 0x0080, 0x3cc5: 0x0080, + 0x3cc6: 0x0080, 0x3cc7: 0x0080, 0x3cc8: 0x0080, 0x3cc9: 0x0080, 0x3cca: 0x0080, 0x3ccb: 0x0080, + 0x3ccc: 0x0080, 0x3ccd: 0x0080, 0x3cce: 0x0080, 0x3ccf: 0x0080, 0x3cd0: 0x0080, 0x3cd1: 0x0080, + 0x3cd2: 0x0080, 0x3cd3: 0x0080, 0x3cd4: 0x0080, 0x3cd5: 0x0080, 0x3cd6: 0x0080, 0x3cd7: 0x0080, + 0x3cd8: 0x00c0, 0x3cd9: 0x00c0, 0x3cda: 0x00c0, 0x3cdb: 0x00c0, 0x3cdc: 0x00c3, 0x3cdd: 0x00c3, // Block 0xf4, offset 0x3d00 - 0x3d00: 0x00c3, 0x3d01: 0x0080, 0x3d02: 0x0080, 0x3d03: 0x0080, 0x3d04: 0x0080, 0x3d05: 0x0080, - 0x3d06: 0x0080, 0x3d07: 0x0080, 0x3d08: 0x0080, 0x3d09: 0x0080, 0x3d0a: 0x0080, 0x3d0b: 0x0080, - 0x3d0c: 0x0080, 0x3d0d: 0x0080, 0x3d0e: 0x0080, 0x3d0f: 0x0080, 0x3d10: 0x0080, 0x3d11: 0x0080, - 0x3d12: 0x0080, 0x3d13: 0x0080, 0x3d14: 0x0080, 0x3d15: 0x0080, 0x3d16: 0x0080, 0x3d17: 0x0080, - 0x3d18: 0x00c0, 0x3d19: 0x00c0, 0x3d1a: 0x00c0, 0x3d1b: 0x00c0, 0x3d1c: 0x00c3, 0x3d1d: 0x00c3, + 0x3d00: 0x00c0, 0x3d01: 0x00c0, 0x3d02: 0x00c0, 0x3d03: 0x00c0, 0x3d04: 0x00c0, 0x3d05: 0x00c0, + 0x3d06: 0x00c0, 0x3d07: 0x00c0, 0x3d08: 0x00c0, 0x3d09: 0x00c0, 0x3d0a: 0x00c0, 0x3d0b: 0x00c0, + 0x3d0c: 0x00c0, 0x3d0d: 0x00c0, 0x3d0e: 0x00c0, 0x3d0f: 0x00c0, 0x3d10: 0x00c0, 0x3d11: 0x00c0, + 0x3d12: 0x00c0, 0x3d13: 0x00c0, 0x3d14: 0x00c0, 0x3d15: 0x00c0, 0x3d16: 0x00c0, 0x3d17: 0x00c0, + 0x3d18: 0x00c0, 0x3d19: 0x00c0, 0x3d1a: 0x00c0, 0x3d1b: 0x00c0, 0x3d1c: 0x00c0, 0x3d1d: 0x00c0, + 0x3d1e: 0x00c0, 0x3d1f: 0x00c0, 0x3d20: 0x00c0, 0x3d21: 0x00c0, 0x3d22: 0x00c0, 0x3d23: 0x00c0, + 0x3d24: 0x00c0, 0x3d25: 0x00c0, 0x3d26: 0x00c0, 0x3d27: 0x00c0, 0x3d28: 0x00c0, 0x3d29: 0x00c0, + 0x3d2a: 0x00c0, 0x3d2b: 0x00c0, 0x3d2c: 0x00c0, 0x3d2d: 0x00c0, 0x3d2e: 0x00c0, 0x3d2f: 0x00c0, + 0x3d30: 0x00c0, 0x3d31: 0x00c0, 0x3d32: 0x00c0, 0x3d33: 0x00c3, 0x3d34: 0x00c3, 0x3d35: 0x00c3, + 0x3d36: 0x00c3, 0x3d37: 0x00c3, 0x3d38: 0x00c3, 0x3d39: 0x00c3, 0x3d3a: 0x00c3, 0x3d3b: 0x00c0, + 0x3d3c: 0x00c0, 0x3d3d: 0x00c3, 0x3d3e: 0x00c0, 0x3d3f: 0x00c6, // Block 0xf5, offset 0x3d40 - 0x3d40: 0x00c0, 0x3d41: 0x00c0, 0x3d42: 0x00c0, 0x3d43: 0x00c0, 0x3d44: 0x00c0, 0x3d45: 0x00c0, - 0x3d46: 0x00c0, 0x3d47: 0x00c0, 0x3d48: 0x00c0, 0x3d49: 0x00c0, 0x3d4a: 0x00c0, 0x3d4b: 0x00c0, - 0x3d4c: 0x00c0, 0x3d4d: 0x00c0, 0x3d4e: 0x00c0, 0x3d4f: 0x00c0, 0x3d50: 0x00c0, 0x3d51: 0x00c0, + 0x3d40: 0x00c3, 0x3d41: 0x0080, 0x3d42: 0x0080, 0x3d43: 0x0080, 0x3d44: 0x00c0, + 0x3d50: 0x00c0, 0x3d51: 0x00c0, 0x3d52: 0x00c0, 0x3d53: 0x00c0, 0x3d54: 0x00c0, 0x3d55: 0x00c0, 0x3d56: 0x00c0, 0x3d57: 0x00c0, - 0x3d58: 0x00c0, 0x3d59: 0x00c0, 0x3d5a: 0x00c0, 0x3d5b: 0x00c0, 0x3d5c: 0x00c0, 0x3d5d: 0x00c0, - 0x3d5e: 0x00c0, 0x3d5f: 0x00c0, 0x3d60: 0x00c0, 0x3d61: 0x00c0, 0x3d62: 0x00c0, 0x3d63: 0x00c0, - 0x3d64: 0x00c0, 0x3d65: 0x00c0, 0x3d66: 0x00c0, 0x3d67: 0x00c0, 0x3d68: 0x00c0, 0x3d69: 0x00c0, - 0x3d6a: 0x00c0, 0x3d6b: 0x00c0, 0x3d6c: 0x00c0, 0x3d6d: 0x00c0, 0x3d6e: 0x00c0, 0x3d6f: 0x00c0, - 0x3d70: 0x00c0, 0x3d71: 0x00c0, 0x3d72: 0x00c0, 0x3d73: 0x00c3, 0x3d74: 0x00c3, 0x3d75: 0x00c3, - 0x3d76: 0x00c3, 0x3d77: 0x00c3, 0x3d78: 0x00c3, 0x3d79: 0x00c3, 0x3d7a: 0x00c3, 0x3d7b: 0x00c0, - 0x3d7c: 0x00c0, 0x3d7d: 0x00c3, 0x3d7e: 0x00c0, 0x3d7f: 0x00c6, + 0x3d58: 0x00c0, 0x3d59: 0x00c0, + 0x3d60: 0x0080, 0x3d61: 0x0080, 0x3d62: 0x0080, 0x3d63: 0x0080, + 0x3d64: 0x0080, 0x3d65: 0x0080, 0x3d66: 0x0080, 0x3d67: 0x0080, 0x3d68: 0x0080, 0x3d69: 0x0080, + 0x3d6a: 0x0080, 0x3d6b: 0x0080, 0x3d6c: 0x0080, // Block 0xf6, offset 0x3d80 - 0x3d80: 0x00c3, 0x3d81: 0x0080, 0x3d82: 0x0080, 0x3d83: 0x0080, 0x3d84: 0x00c0, - 0x3d90: 0x00c0, 0x3d91: 0x00c0, + 0x3d80: 0x00c0, 0x3d81: 0x00c0, 0x3d82: 0x00c0, 0x3d83: 0x00c0, 0x3d84: 0x00c0, 0x3d85: 0x00c0, + 0x3d86: 0x00c0, 0x3d87: 0x00c0, 0x3d88: 0x00c0, 0x3d89: 0x00c0, 0x3d8a: 0x00c0, 0x3d8b: 0x00c0, + 0x3d8c: 0x00c0, 0x3d8d: 0x00c0, 0x3d8e: 0x00c0, 0x3d8f: 0x00c0, 0x3d90: 0x00c0, 0x3d91: 0x00c0, 0x3d92: 0x00c0, 0x3d93: 0x00c0, 0x3d94: 0x00c0, 0x3d95: 0x00c0, 0x3d96: 0x00c0, 0x3d97: 0x00c0, - 0x3d98: 0x00c0, 0x3d99: 0x00c0, - 0x3da0: 0x0080, 0x3da1: 0x0080, 0x3da2: 0x0080, 0x3da3: 0x0080, - 0x3da4: 0x0080, 0x3da5: 0x0080, 0x3da6: 0x0080, 0x3da7: 0x0080, 0x3da8: 0x0080, 0x3da9: 0x0080, - 0x3daa: 0x0080, 0x3dab: 0x0080, 0x3dac: 0x0080, + 0x3d98: 0x00c0, 0x3d99: 0x00c0, 0x3d9a: 0x00c0, 0x3d9b: 0x00c0, 0x3d9c: 0x00c0, 0x3d9d: 0x00c0, + 0x3d9e: 0x00c0, 0x3d9f: 0x00c0, 0x3da0: 0x00c0, 0x3da1: 0x00c0, 0x3da2: 0x00c0, 0x3da3: 0x00c0, + 0x3da4: 0x00c0, 0x3da5: 0x00c0, 0x3da6: 0x00c0, 0x3da7: 0x00c0, 0x3da8: 0x00c0, 0x3da9: 0x00c0, + 0x3daa: 0x00c0, 0x3dab: 0x00c3, 0x3dac: 0x00c0, 0x3dad: 0x00c3, 0x3dae: 0x00c0, 0x3daf: 0x00c0, + 0x3db0: 0x00c3, 0x3db1: 0x00c3, 0x3db2: 0x00c3, 0x3db3: 0x00c3, 0x3db4: 0x00c3, 0x3db5: 0x00c3, + 0x3db6: 0x00c5, 0x3db7: 0x00c3, // Block 0xf7, offset 0x3dc0 0x3dc0: 0x00c0, 0x3dc1: 0x00c0, 0x3dc2: 0x00c0, 0x3dc3: 0x00c0, 0x3dc4: 0x00c0, 0x3dc5: 0x00c0, - 0x3dc6: 0x00c0, 0x3dc7: 0x00c0, 0x3dc8: 0x00c0, 0x3dc9: 0x00c0, 0x3dca: 0x00c0, 0x3dcb: 0x00c0, - 0x3dcc: 0x00c0, 0x3dcd: 0x00c0, 0x3dce: 0x00c0, 0x3dcf: 0x00c0, 0x3dd0: 0x00c0, 0x3dd1: 0x00c0, - 0x3dd2: 0x00c0, 0x3dd3: 0x00c0, 0x3dd4: 0x00c0, 0x3dd5: 0x00c0, 0x3dd6: 0x00c0, 0x3dd7: 0x00c0, - 0x3dd8: 0x00c0, 0x3dd9: 0x00c0, 0x3dda: 0x00c0, 0x3ddb: 0x00c0, 0x3ddc: 0x00c0, 0x3ddd: 0x00c0, - 0x3dde: 0x00c0, 0x3ddf: 0x00c0, 0x3de0: 0x00c0, 0x3de1: 0x00c0, 0x3de2: 0x00c0, 0x3de3: 0x00c0, - 0x3de4: 0x00c0, 0x3de5: 0x00c0, 0x3de6: 0x00c0, 0x3de7: 0x00c0, 0x3de8: 0x00c0, 0x3de9: 0x00c0, - 0x3dea: 0x00c0, 0x3deb: 0x00c3, 0x3dec: 0x00c0, 0x3ded: 0x00c3, 0x3dee: 0x00c0, 0x3def: 0x00c0, - 0x3df0: 0x00c3, 0x3df1: 0x00c3, 0x3df2: 0x00c3, 0x3df3: 0x00c3, 0x3df4: 0x00c3, 0x3df5: 0x00c3, - 0x3df6: 0x00c5, 0x3df7: 0x00c3, + 0x3dc6: 0x00c0, 0x3dc7: 0x00c0, 0x3dc8: 0x00c0, 0x3dc9: 0x00c0, // Block 0xf8, offset 0x3e00 0x3e00: 0x00c0, 0x3e01: 0x00c0, 0x3e02: 0x00c0, 0x3e03: 0x00c0, 0x3e04: 0x00c0, 0x3e05: 0x00c0, - 0x3e06: 0x00c0, 0x3e07: 0x00c0, 0x3e08: 0x00c0, 0x3e09: 0x00c0, + 0x3e06: 0x00c0, 0x3e07: 0x00c0, 0x3e08: 0x00c0, 0x3e09: 0x00c0, 0x3e0a: 0x00c0, 0x3e0b: 0x00c0, + 0x3e0c: 0x00c0, 0x3e0d: 0x00c0, 0x3e0e: 0x00c0, 0x3e0f: 0x00c0, 0x3e10: 0x00c0, 0x3e11: 0x00c0, + 0x3e12: 0x00c0, 0x3e13: 0x00c0, 0x3e14: 0x00c0, 0x3e15: 0x00c0, 0x3e16: 0x00c0, 0x3e17: 0x00c0, + 0x3e18: 0x00c0, 0x3e19: 0x00c0, 0x3e1d: 0x00c3, + 0x3e1e: 0x00c3, 0x3e1f: 0x00c3, 0x3e20: 0x00c0, 0x3e21: 0x00c0, 0x3e22: 0x00c3, 0x3e23: 0x00c3, + 0x3e24: 0x00c3, 0x3e25: 0x00c3, 0x3e26: 0x00c0, 0x3e27: 0x00c3, 0x3e28: 0x00c3, 0x3e29: 0x00c3, + 0x3e2a: 0x00c3, 0x3e2b: 0x00c6, + 0x3e30: 0x00c0, 0x3e31: 0x00c0, 0x3e32: 0x00c0, 0x3e33: 0x00c0, 0x3e34: 0x00c0, 0x3e35: 0x00c0, + 0x3e36: 0x00c0, 0x3e37: 0x00c0, 0x3e38: 0x00c0, 0x3e39: 0x00c0, 0x3e3a: 0x0080, 0x3e3b: 0x0080, + 0x3e3c: 0x0080, 0x3e3d: 0x0080, 0x3e3e: 0x0080, 0x3e3f: 0x0080, // Block 0xf9, offset 0x3e40 - 0x3e40: 0x00c0, 0x3e41: 0x00c0, 0x3e42: 0x00c0, 0x3e43: 0x00c0, 0x3e44: 0x00c0, 0x3e45: 0x00c0, - 0x3e46: 0x00c0, 0x3e47: 0x00c0, 0x3e48: 0x00c0, 0x3e49: 0x00c0, 0x3e4a: 0x00c0, 0x3e4b: 0x00c0, - 0x3e4c: 0x00c0, 0x3e4d: 0x00c0, 0x3e4e: 0x00c0, 0x3e4f: 0x00c0, 0x3e50: 0x00c0, 0x3e51: 0x00c0, - 0x3e52: 0x00c0, 0x3e53: 0x00c0, 0x3e54: 0x00c0, 0x3e55: 0x00c0, 0x3e56: 0x00c0, 0x3e57: 0x00c0, - 0x3e58: 0x00c0, 0x3e59: 0x00c0, 0x3e5d: 0x00c3, - 0x3e5e: 0x00c3, 0x3e5f: 0x00c3, 0x3e60: 0x00c0, 0x3e61: 0x00c0, 0x3e62: 0x00c3, 0x3e63: 0x00c3, - 0x3e64: 0x00c3, 0x3e65: 0x00c3, 0x3e66: 0x00c0, 0x3e67: 0x00c3, 0x3e68: 0x00c3, 0x3e69: 0x00c3, - 0x3e6a: 0x00c3, 0x3e6b: 0x00c6, + 0x3e60: 0x00c0, 0x3e61: 0x00c0, 0x3e62: 0x00c0, 0x3e63: 0x00c0, + 0x3e64: 0x00c0, 0x3e65: 0x00c0, 0x3e66: 0x00c0, 0x3e67: 0x00c0, 0x3e68: 0x00c0, 0x3e69: 0x00c0, + 0x3e6a: 0x00c0, 0x3e6b: 0x00c0, 0x3e6c: 0x00c0, 0x3e6d: 0x00c0, 0x3e6e: 0x00c0, 0x3e6f: 0x00c0, 0x3e70: 0x00c0, 0x3e71: 0x00c0, 0x3e72: 0x00c0, 0x3e73: 0x00c0, 0x3e74: 0x00c0, 0x3e75: 0x00c0, - 0x3e76: 0x00c0, 0x3e77: 0x00c0, 0x3e78: 0x00c0, 0x3e79: 0x00c0, 0x3e7a: 0x0080, 0x3e7b: 0x0080, - 0x3e7c: 0x0080, 0x3e7d: 0x0080, 0x3e7e: 0x0080, 0x3e7f: 0x0080, + 0x3e76: 0x00c0, 0x3e77: 0x00c0, 0x3e78: 0x00c0, 0x3e79: 0x00c0, 0x3e7a: 0x00c0, 0x3e7b: 0x00c0, + 0x3e7c: 0x00c0, 0x3e7d: 0x00c0, 0x3e7e: 0x00c0, 0x3e7f: 0x00c0, // Block 0xfa, offset 0x3e80 - 0x3ea0: 0x00c0, 0x3ea1: 0x00c0, 0x3ea2: 0x00c0, 0x3ea3: 0x00c0, + 0x3e80: 0x00c0, 0x3e81: 0x00c0, 0x3e82: 0x00c0, 0x3e83: 0x00c0, 0x3e84: 0x00c0, 0x3e85: 0x00c0, + 0x3e86: 0x00c0, 0x3e87: 0x00c0, 0x3e88: 0x00c0, 0x3e89: 0x00c0, 0x3e8a: 0x00c0, 0x3e8b: 0x00c0, + 0x3e8c: 0x00c0, 0x3e8d: 0x00c0, 0x3e8e: 0x00c0, 0x3e8f: 0x00c0, 0x3e90: 0x00c0, 0x3e91: 0x00c0, + 0x3e92: 0x00c0, 0x3e93: 0x00c0, 0x3e94: 0x00c0, 0x3e95: 0x00c0, 0x3e96: 0x00c0, 0x3e97: 0x00c0, + 0x3e98: 0x00c0, 0x3e99: 0x00c0, 0x3e9a: 0x00c0, 0x3e9b: 0x00c0, 0x3e9c: 0x00c0, 0x3e9d: 0x00c0, + 0x3e9e: 0x00c0, 0x3e9f: 0x00c0, 0x3ea0: 0x00c0, 0x3ea1: 0x00c0, 0x3ea2: 0x00c0, 0x3ea3: 0x00c0, 0x3ea4: 0x00c0, 0x3ea5: 0x00c0, 0x3ea6: 0x00c0, 0x3ea7: 0x00c0, 0x3ea8: 0x00c0, 0x3ea9: 0x00c0, - 0x3eaa: 0x00c0, 0x3eab: 0x00c0, 0x3eac: 0x00c0, 0x3ead: 0x00c0, 0x3eae: 0x00c0, 0x3eaf: 0x00c0, - 0x3eb0: 0x00c0, 0x3eb1: 0x00c0, 0x3eb2: 0x00c0, 0x3eb3: 0x00c0, 0x3eb4: 0x00c0, 0x3eb5: 0x00c0, - 0x3eb6: 0x00c0, 0x3eb7: 0x00c0, 0x3eb8: 0x00c0, 0x3eb9: 0x00c0, 0x3eba: 0x00c0, 0x3ebb: 0x00c0, - 0x3ebc: 0x00c0, 0x3ebd: 0x00c0, 0x3ebe: 0x00c0, 0x3ebf: 0x00c0, + 0x3eaa: 0x0080, 0x3eab: 0x0080, 0x3eac: 0x0080, 0x3ead: 0x0080, 0x3eae: 0x0080, 0x3eaf: 0x0080, + 0x3eb0: 0x0080, 0x3eb1: 0x0080, 0x3eb2: 0x0080, + 0x3ebf: 0x00c0, // Block 0xfb, offset 0x3ec0 - 0x3ec0: 0x00c0, 0x3ec1: 0x00c0, 0x3ec2: 0x00c0, 0x3ec3: 0x00c0, 0x3ec4: 0x00c0, 0x3ec5: 0x00c0, - 0x3ec6: 0x00c0, 0x3ec7: 0x00c0, 0x3ec8: 0x00c0, 0x3ec9: 0x00c0, 0x3eca: 0x00c0, 0x3ecb: 0x00c0, + 0x3ec0: 0x00c0, 0x3ec1: 0x00c3, 0x3ec2: 0x00c3, 0x3ec3: 0x00c3, 0x3ec4: 0x00c3, 0x3ec5: 0x00c3, + 0x3ec6: 0x00c3, 0x3ec7: 0x00c0, 0x3ec8: 0x00c0, 0x3ec9: 0x00c3, 0x3eca: 0x00c3, 0x3ecb: 0x00c0, 0x3ecc: 0x00c0, 0x3ecd: 0x00c0, 0x3ece: 0x00c0, 0x3ecf: 0x00c0, 0x3ed0: 0x00c0, 0x3ed1: 0x00c0, 0x3ed2: 0x00c0, 0x3ed3: 0x00c0, 0x3ed4: 0x00c0, 0x3ed5: 0x00c0, 0x3ed6: 0x00c0, 0x3ed7: 0x00c0, 0x3ed8: 0x00c0, 0x3ed9: 0x00c0, 0x3eda: 0x00c0, 0x3edb: 0x00c0, 0x3edc: 0x00c0, 0x3edd: 0x00c0, 0x3ede: 0x00c0, 0x3edf: 0x00c0, 0x3ee0: 0x00c0, 0x3ee1: 0x00c0, 0x3ee2: 0x00c0, 0x3ee3: 0x00c0, 0x3ee4: 0x00c0, 0x3ee5: 0x00c0, 0x3ee6: 0x00c0, 0x3ee7: 0x00c0, 0x3ee8: 0x00c0, 0x3ee9: 0x00c0, - 0x3eea: 0x0080, 0x3eeb: 0x0080, 0x3eec: 0x0080, 0x3eed: 0x0080, 0x3eee: 0x0080, 0x3eef: 0x0080, - 0x3ef0: 0x0080, 0x3ef1: 0x0080, 0x3ef2: 0x0080, - 0x3eff: 0x00c0, + 0x3eea: 0x00c0, 0x3eeb: 0x00c0, 0x3eec: 0x00c0, 0x3eed: 0x00c0, 0x3eee: 0x00c0, 0x3eef: 0x00c0, + 0x3ef0: 0x00c0, 0x3ef1: 0x00c0, 0x3ef2: 0x00c0, 0x3ef3: 0x00c3, 0x3ef4: 0x00c6, 0x3ef5: 0x00c3, + 0x3ef6: 0x00c3, 0x3ef7: 0x00c3, 0x3ef8: 0x00c3, 0x3ef9: 0x00c0, 0x3efa: 0x00c0, 0x3efb: 0x00c3, + 0x3efc: 0x00c3, 0x3efd: 0x00c3, 0x3efe: 0x00c3, 0x3eff: 0x0080, // Block 0xfc, offset 0x3f00 - 0x3f00: 0x00c0, 0x3f01: 0x00c0, 0x3f02: 0x00c0, 0x3f03: 0x00c0, 0x3f04: 0x00c0, 0x3f05: 0x00c0, - 0x3f06: 0x00c0, 0x3f07: 0x00c0, 0x3f08: 0x00c0, 0x3f09: 0x00c0, 0x3f0a: 0x00c0, 0x3f0b: 0x00c0, - 0x3f0c: 0x00c0, 0x3f0d: 0x00c0, 0x3f0e: 0x00c0, 0x3f0f: 0x00c0, 0x3f10: 0x00c0, 0x3f11: 0x00c0, - 0x3f12: 0x00c0, 0x3f13: 0x00c0, 0x3f14: 0x00c0, 0x3f15: 0x00c0, 0x3f16: 0x00c0, 0x3f17: 0x00c0, - 0x3f18: 0x00c0, 0x3f19: 0x00c0, 0x3f1a: 0x00c0, 0x3f1b: 0x00c0, 0x3f1c: 0x00c0, 0x3f1d: 0x00c0, + 0x3f00: 0x0080, 0x3f01: 0x0080, 0x3f02: 0x0080, 0x3f03: 0x0080, 0x3f04: 0x0080, 0x3f05: 0x0080, + 0x3f06: 0x0080, 0x3f07: 0x00c6, + 0x3f10: 0x00c0, 0x3f11: 0x00c3, + 0x3f12: 0x00c3, 0x3f13: 0x00c3, 0x3f14: 0x00c3, 0x3f15: 0x00c3, 0x3f16: 0x00c3, 0x3f17: 0x00c0, + 0x3f18: 0x00c0, 0x3f19: 0x00c3, 0x3f1a: 0x00c3, 0x3f1b: 0x00c3, 0x3f1c: 0x00c0, 0x3f1d: 0x00c0, 0x3f1e: 0x00c0, 0x3f1f: 0x00c0, 0x3f20: 0x00c0, 0x3f21: 0x00c0, 0x3f22: 0x00c0, 0x3f23: 0x00c0, 0x3f24: 0x00c0, 0x3f25: 0x00c0, 0x3f26: 0x00c0, 0x3f27: 0x00c0, 0x3f28: 0x00c0, 0x3f29: 0x00c0, 0x3f2a: 0x00c0, 0x3f2b: 0x00c0, 0x3f2c: 0x00c0, 0x3f2d: 0x00c0, 0x3f2e: 0x00c0, 0x3f2f: 0x00c0, 0x3f30: 0x00c0, 0x3f31: 0x00c0, 0x3f32: 0x00c0, 0x3f33: 0x00c0, 0x3f34: 0x00c0, 0x3f35: 0x00c0, - 0x3f36: 0x00c0, 0x3f37: 0x00c0, 0x3f38: 0x00c0, + 0x3f36: 0x00c0, 0x3f37: 0x00c0, 0x3f38: 0x00c0, 0x3f39: 0x00c0, 0x3f3a: 0x00c0, 0x3f3b: 0x00c0, + 0x3f3c: 0x00c0, 0x3f3d: 0x00c0, 0x3f3e: 0x00c0, 0x3f3f: 0x00c0, // Block 0xfd, offset 0x3f40 - 0x3f40: 0x00c0, 0x3f41: 0x00c0, 0x3f42: 0x00c0, 0x3f43: 0x00c0, 0x3f44: 0x00c0, 0x3f45: 0x00c0, - 0x3f46: 0x00c0, 0x3f47: 0x00c0, 0x3f48: 0x00c0, 0x3f4a: 0x00c0, 0x3f4b: 0x00c0, - 0x3f4c: 0x00c0, 0x3f4d: 0x00c0, 0x3f4e: 0x00c0, 0x3f4f: 0x00c0, 0x3f50: 0x00c0, 0x3f51: 0x00c0, - 0x3f52: 0x00c0, 0x3f53: 0x00c0, 0x3f54: 0x00c0, 0x3f55: 0x00c0, 0x3f56: 0x00c0, 0x3f57: 0x00c0, - 0x3f58: 0x00c0, 0x3f59: 0x00c0, 0x3f5a: 0x00c0, 0x3f5b: 0x00c0, 0x3f5c: 0x00c0, 0x3f5d: 0x00c0, - 0x3f5e: 0x00c0, 0x3f5f: 0x00c0, 0x3f60: 0x00c0, 0x3f61: 0x00c0, 0x3f62: 0x00c0, 0x3f63: 0x00c0, - 0x3f64: 0x00c0, 0x3f65: 0x00c0, 0x3f66: 0x00c0, 0x3f67: 0x00c0, 0x3f68: 0x00c0, 0x3f69: 0x00c0, - 0x3f6a: 0x00c0, 0x3f6b: 0x00c0, 0x3f6c: 0x00c0, 0x3f6d: 0x00c0, 0x3f6e: 0x00c0, 0x3f6f: 0x00c0, - 0x3f70: 0x00c3, 0x3f71: 0x00c3, 0x3f72: 0x00c3, 0x3f73: 0x00c3, 0x3f74: 0x00c3, 0x3f75: 0x00c3, - 0x3f76: 0x00c3, 0x3f78: 0x00c3, 0x3f79: 0x00c3, 0x3f7a: 0x00c3, 0x3f7b: 0x00c3, - 0x3f7c: 0x00c3, 0x3f7d: 0x00c3, 0x3f7e: 0x00c0, 0x3f7f: 0x00c6, + 0x3f40: 0x00c0, 0x3f41: 0x00c0, 0x3f42: 0x00c0, 0x3f43: 0x00c0, + 0x3f46: 0x00c0, 0x3f47: 0x00c0, 0x3f48: 0x00c0, 0x3f49: 0x00c0, 0x3f4a: 0x00c3, 0x3f4b: 0x00c3, + 0x3f4c: 0x00c3, 0x3f4d: 0x00c3, 0x3f4e: 0x00c3, 0x3f4f: 0x00c3, 0x3f50: 0x00c3, 0x3f51: 0x00c3, + 0x3f52: 0x00c3, 0x3f53: 0x00c3, 0x3f54: 0x00c3, 0x3f55: 0x00c3, 0x3f56: 0x00c3, 0x3f57: 0x00c0, + 0x3f58: 0x00c3, 0x3f59: 0x00c6, 0x3f5a: 0x0080, 0x3f5b: 0x0080, 0x3f5c: 0x0080, + 0x3f5e: 0x0080, 0x3f5f: 0x0080, 0x3f60: 0x0080, 0x3f61: 0x0080, 0x3f62: 0x0080, // Block 0xfe, offset 0x3f80 - 0x3f80: 0x00c0, 0x3f81: 0x0080, 0x3f82: 0x0080, 0x3f83: 0x0080, 0x3f84: 0x0080, 0x3f85: 0x0080, - 0x3f90: 0x00c0, 0x3f91: 0x00c0, + 0x3f80: 0x00c0, 0x3f81: 0x00c0, 0x3f82: 0x00c0, 0x3f83: 0x00c0, 0x3f84: 0x00c0, 0x3f85: 0x00c0, + 0x3f86: 0x00c0, 0x3f87: 0x00c0, 0x3f88: 0x00c0, 0x3f89: 0x00c0, 0x3f8a: 0x00c0, 0x3f8b: 0x00c0, + 0x3f8c: 0x00c0, 0x3f8d: 0x00c0, 0x3f8e: 0x00c0, 0x3f8f: 0x00c0, 0x3f90: 0x00c0, 0x3f91: 0x00c0, 0x3f92: 0x00c0, 0x3f93: 0x00c0, 0x3f94: 0x00c0, 0x3f95: 0x00c0, 0x3f96: 0x00c0, 0x3f97: 0x00c0, - 0x3f98: 0x00c0, 0x3f99: 0x00c0, 0x3f9a: 0x0080, 0x3f9b: 0x0080, 0x3f9c: 0x0080, 0x3f9d: 0x0080, - 0x3f9e: 0x0080, 0x3f9f: 0x0080, 0x3fa0: 0x0080, 0x3fa1: 0x0080, 0x3fa2: 0x0080, 0x3fa3: 0x0080, - 0x3fa4: 0x0080, 0x3fa5: 0x0080, 0x3fa6: 0x0080, 0x3fa7: 0x0080, 0x3fa8: 0x0080, 0x3fa9: 0x0080, - 0x3faa: 0x0080, 0x3fab: 0x0080, 0x3fac: 0x0080, - 0x3fb0: 0x0080, 0x3fb1: 0x0080, 0x3fb2: 0x00c0, 0x3fb3: 0x00c0, 0x3fb4: 0x00c0, 0x3fb5: 0x00c0, - 0x3fb6: 0x00c0, 0x3fb7: 0x00c0, 0x3fb8: 0x00c0, 0x3fb9: 0x00c0, 0x3fba: 0x00c0, 0x3fbb: 0x00c0, - 0x3fbc: 0x00c0, 0x3fbd: 0x00c0, 0x3fbe: 0x00c0, 0x3fbf: 0x00c0, + 0x3f98: 0x00c0, 0x3f99: 0x00c0, 0x3f9a: 0x00c0, 0x3f9b: 0x00c0, 0x3f9c: 0x00c0, 0x3f9d: 0x00c0, + 0x3f9e: 0x00c0, 0x3f9f: 0x00c0, 0x3fa0: 0x00c0, 0x3fa1: 0x00c0, 0x3fa2: 0x00c0, 0x3fa3: 0x00c0, + 0x3fa4: 0x00c0, 0x3fa5: 0x00c0, 0x3fa6: 0x00c0, 0x3fa7: 0x00c0, 0x3fa8: 0x00c0, 0x3fa9: 0x00c0, + 0x3faa: 0x00c0, 0x3fab: 0x00c0, 0x3fac: 0x00c0, 0x3fad: 0x00c0, 0x3fae: 0x00c0, 0x3faf: 0x00c0, + 0x3fb0: 0x00c0, 0x3fb1: 0x00c0, 0x3fb2: 0x00c0, 0x3fb3: 0x00c0, 0x3fb4: 0x00c0, 0x3fb5: 0x00c0, + 0x3fb6: 0x00c0, 0x3fb7: 0x00c0, 0x3fb8: 0x00c0, // Block 0xff, offset 0x3fc0 0x3fc0: 0x00c0, 0x3fc1: 0x00c0, 0x3fc2: 0x00c0, 0x3fc3: 0x00c0, 0x3fc4: 0x00c0, 0x3fc5: 0x00c0, - 0x3fc6: 0x00c0, 0x3fc7: 0x00c0, 0x3fc8: 0x00c0, 0x3fc9: 0x00c0, 0x3fca: 0x00c0, 0x3fcb: 0x00c0, - 0x3fcc: 0x00c0, 0x3fcd: 0x00c0, 0x3fce: 0x00c0, 0x3fcf: 0x00c0, - 0x3fd2: 0x00c3, 0x3fd3: 0x00c3, 0x3fd4: 0x00c3, 0x3fd5: 0x00c3, 0x3fd6: 0x00c3, 0x3fd7: 0x00c3, - 0x3fd8: 0x00c3, 0x3fd9: 0x00c3, 0x3fda: 0x00c3, 0x3fdb: 0x00c3, 0x3fdc: 0x00c3, 0x3fdd: 0x00c3, - 0x3fde: 0x00c3, 0x3fdf: 0x00c3, 0x3fe0: 0x00c3, 0x3fe1: 0x00c3, 0x3fe2: 0x00c3, 0x3fe3: 0x00c3, - 0x3fe4: 0x00c3, 0x3fe5: 0x00c3, 0x3fe6: 0x00c3, 0x3fe7: 0x00c3, 0x3fe9: 0x00c0, - 0x3fea: 0x00c3, 0x3feb: 0x00c3, 0x3fec: 0x00c3, 0x3fed: 0x00c3, 0x3fee: 0x00c3, 0x3fef: 0x00c3, - 0x3ff0: 0x00c3, 0x3ff1: 0x00c0, 0x3ff2: 0x00c3, 0x3ff3: 0x00c3, 0x3ff4: 0x00c0, 0x3ff5: 0x00c3, - 0x3ff6: 0x00c3, + 0x3fc6: 0x00c0, 0x3fc7: 0x00c0, 0x3fc8: 0x00c0, 0x3fca: 0x00c0, 0x3fcb: 0x00c0, + 0x3fcc: 0x00c0, 0x3fcd: 0x00c0, 0x3fce: 0x00c0, 0x3fcf: 0x00c0, 0x3fd0: 0x00c0, 0x3fd1: 0x00c0, + 0x3fd2: 0x00c0, 0x3fd3: 0x00c0, 0x3fd4: 0x00c0, 0x3fd5: 0x00c0, 0x3fd6: 0x00c0, 0x3fd7: 0x00c0, + 0x3fd8: 0x00c0, 0x3fd9: 0x00c0, 0x3fda: 0x00c0, 0x3fdb: 0x00c0, 0x3fdc: 0x00c0, 0x3fdd: 0x00c0, + 0x3fde: 0x00c0, 0x3fdf: 0x00c0, 0x3fe0: 0x00c0, 0x3fe1: 0x00c0, 0x3fe2: 0x00c0, 0x3fe3: 0x00c0, + 0x3fe4: 0x00c0, 0x3fe5: 0x00c0, 0x3fe6: 0x00c0, 0x3fe7: 0x00c0, 0x3fe8: 0x00c0, 0x3fe9: 0x00c0, + 0x3fea: 0x00c0, 0x3feb: 0x00c0, 0x3fec: 0x00c0, 0x3fed: 0x00c0, 0x3fee: 0x00c0, 0x3fef: 0x00c0, + 0x3ff0: 0x00c3, 0x3ff1: 0x00c3, 0x3ff2: 0x00c3, 0x3ff3: 0x00c3, 0x3ff4: 0x00c3, 0x3ff5: 0x00c3, + 0x3ff6: 0x00c3, 0x3ff8: 0x00c3, 0x3ff9: 0x00c3, 0x3ffa: 0x00c3, 0x3ffb: 0x00c3, + 0x3ffc: 0x00c3, 0x3ffd: 0x00c3, 0x3ffe: 0x00c0, 0x3fff: 0x00c6, // Block 0x100, offset 0x4000 - 0x4000: 0x00c0, 0x4001: 0x00c0, 0x4002: 0x00c0, 0x4003: 0x00c0, 0x4004: 0x00c0, 0x4005: 0x00c0, - 0x4006: 0x00c0, 0x4007: 0x00c0, 0x4008: 0x00c0, 0x4009: 0x00c0, 0x400a: 0x00c0, 0x400b: 0x00c0, - 0x400c: 0x00c0, 0x400d: 0x00c0, 0x400e: 0x00c0, 0x400f: 0x00c0, 0x4010: 0x00c0, 0x4011: 0x00c0, + 0x4000: 0x00c0, 0x4001: 0x0080, 0x4002: 0x0080, 0x4003: 0x0080, 0x4004: 0x0080, 0x4005: 0x0080, + 0x4010: 0x00c0, 0x4011: 0x00c0, 0x4012: 0x00c0, 0x4013: 0x00c0, 0x4014: 0x00c0, 0x4015: 0x00c0, 0x4016: 0x00c0, 0x4017: 0x00c0, - 0x4018: 0x00c0, 0x4019: 0x00c0, + 0x4018: 0x00c0, 0x4019: 0x00c0, 0x401a: 0x0080, 0x401b: 0x0080, 0x401c: 0x0080, 0x401d: 0x0080, + 0x401e: 0x0080, 0x401f: 0x0080, 0x4020: 0x0080, 0x4021: 0x0080, 0x4022: 0x0080, 0x4023: 0x0080, + 0x4024: 0x0080, 0x4025: 0x0080, 0x4026: 0x0080, 0x4027: 0x0080, 0x4028: 0x0080, 0x4029: 0x0080, + 0x402a: 0x0080, 0x402b: 0x0080, 0x402c: 0x0080, + 0x4030: 0x0080, 0x4031: 0x0080, 0x4032: 0x00c0, 0x4033: 0x00c0, 0x4034: 0x00c0, 0x4035: 0x00c0, + 0x4036: 0x00c0, 0x4037: 0x00c0, 0x4038: 0x00c0, 0x4039: 0x00c0, 0x403a: 0x00c0, 0x403b: 0x00c0, + 0x403c: 0x00c0, 0x403d: 0x00c0, 0x403e: 0x00c0, 0x403f: 0x00c0, // Block 0x101, offset 0x4040 - 0x4040: 0x0080, 0x4041: 0x0080, 0x4042: 0x0080, 0x4043: 0x0080, 0x4044: 0x0080, 0x4045: 0x0080, - 0x4046: 0x0080, 0x4047: 0x0080, 0x4048: 0x0080, 0x4049: 0x0080, 0x404a: 0x0080, 0x404b: 0x0080, - 0x404c: 0x0080, 0x404d: 0x0080, 0x404e: 0x0080, 0x404f: 0x0080, 0x4050: 0x0080, 0x4051: 0x0080, - 0x4052: 0x0080, 0x4053: 0x0080, 0x4054: 0x0080, 0x4055: 0x0080, 0x4056: 0x0080, 0x4057: 0x0080, - 0x4058: 0x0080, 0x4059: 0x0080, 0x405a: 0x0080, 0x405b: 0x0080, 0x405c: 0x0080, 0x405d: 0x0080, - 0x405e: 0x0080, 0x405f: 0x0080, 0x4060: 0x0080, 0x4061: 0x0080, 0x4062: 0x0080, 0x4063: 0x0080, - 0x4064: 0x0080, 0x4065: 0x0080, 0x4066: 0x0080, 0x4067: 0x0080, 0x4068: 0x0080, 0x4069: 0x0080, - 0x406a: 0x0080, 0x406b: 0x0080, 0x406c: 0x0080, 0x406d: 0x0080, 0x406e: 0x0080, - 0x4070: 0x0080, 0x4071: 0x0080, 0x4072: 0x0080, 0x4073: 0x0080, 0x4074: 0x0080, + 0x4040: 0x00c0, 0x4041: 0x00c0, 0x4042: 0x00c0, 0x4043: 0x00c0, 0x4044: 0x00c0, 0x4045: 0x00c0, + 0x4046: 0x00c0, 0x4047: 0x00c0, 0x4048: 0x00c0, 0x4049: 0x00c0, 0x404a: 0x00c0, 0x404b: 0x00c0, + 0x404c: 0x00c0, 0x404d: 0x00c0, 0x404e: 0x00c0, 0x404f: 0x00c0, + 0x4052: 0x00c3, 0x4053: 0x00c3, 0x4054: 0x00c3, 0x4055: 0x00c3, 0x4056: 0x00c3, 0x4057: 0x00c3, + 0x4058: 0x00c3, 0x4059: 0x00c3, 0x405a: 0x00c3, 0x405b: 0x00c3, 0x405c: 0x00c3, 0x405d: 0x00c3, + 0x405e: 0x00c3, 0x405f: 0x00c3, 0x4060: 0x00c3, 0x4061: 0x00c3, 0x4062: 0x00c3, 0x4063: 0x00c3, + 0x4064: 0x00c3, 0x4065: 0x00c3, 0x4066: 0x00c3, 0x4067: 0x00c3, 0x4069: 0x00c0, + 0x406a: 0x00c3, 0x406b: 0x00c3, 0x406c: 0x00c3, 0x406d: 0x00c3, 0x406e: 0x00c3, 0x406f: 0x00c3, + 0x4070: 0x00c3, 0x4071: 0x00c0, 0x4072: 0x00c3, 0x4073: 0x00c3, 0x4074: 0x00c0, 0x4075: 0x00c3, + 0x4076: 0x00c3, // Block 0x102, offset 0x4080 - 0x4080: 0x00c0, 0x4081: 0x00c0, 0x4082: 0x00c0, 0x4083: 0x00c0, + 0x4080: 0x00c0, 0x4081: 0x00c0, 0x4082: 0x00c0, 0x4083: 0x00c0, 0x4084: 0x00c0, 0x4085: 0x00c0, + 0x4086: 0x00c0, 0x4088: 0x00c0, 0x4089: 0x00c0, 0x408b: 0x00c0, + 0x408c: 0x00c0, 0x408d: 0x00c0, 0x408e: 0x00c0, 0x408f: 0x00c0, 0x4090: 0x00c0, 0x4091: 0x00c0, + 0x4092: 0x00c0, 0x4093: 0x00c0, 0x4094: 0x00c0, 0x4095: 0x00c0, 0x4096: 0x00c0, 0x4097: 0x00c0, + 0x4098: 0x00c0, 0x4099: 0x00c0, 0x409a: 0x00c0, 0x409b: 0x00c0, 0x409c: 0x00c0, 0x409d: 0x00c0, + 0x409e: 0x00c0, 0x409f: 0x00c0, 0x40a0: 0x00c0, 0x40a1: 0x00c0, 0x40a2: 0x00c0, 0x40a3: 0x00c0, + 0x40a4: 0x00c0, 0x40a5: 0x00c0, 0x40a6: 0x00c0, 0x40a7: 0x00c0, 0x40a8: 0x00c0, 0x40a9: 0x00c0, + 0x40aa: 0x00c0, 0x40ab: 0x00c0, 0x40ac: 0x00c0, 0x40ad: 0x00c0, 0x40ae: 0x00c0, 0x40af: 0x00c0, + 0x40b0: 0x00c0, 0x40b1: 0x00c3, 0x40b2: 0x00c3, 0x40b3: 0x00c3, 0x40b4: 0x00c3, 0x40b5: 0x00c3, + 0x40b6: 0x00c3, 0x40ba: 0x00c3, + 0x40bc: 0x00c3, 0x40bd: 0x00c3, 0x40bf: 0x00c3, // Block 0x103, offset 0x40c0 - 0x40c0: 0x00c0, 0x40c1: 0x00c0, 0x40c2: 0x00c0, 0x40c3: 0x00c0, 0x40c4: 0x00c0, 0x40c5: 0x00c0, - 0x40c6: 0x00c0, 0x40c7: 0x00c0, 0x40c8: 0x00c0, 0x40c9: 0x00c0, 0x40ca: 0x00c0, 0x40cb: 0x00c0, - 0x40cc: 0x00c0, 0x40cd: 0x00c0, 0x40ce: 0x00c0, 0x40cf: 0x00c0, 0x40d0: 0x00c0, 0x40d1: 0x00c0, + 0x40c0: 0x00c3, 0x40c1: 0x00c3, 0x40c2: 0x00c3, 0x40c3: 0x00c3, 0x40c4: 0x00c6, 0x40c5: 0x00c6, + 0x40c6: 0x00c0, 0x40c7: 0x00c3, + 0x40d0: 0x00c0, 0x40d1: 0x00c0, 0x40d2: 0x00c0, 0x40d3: 0x00c0, 0x40d4: 0x00c0, 0x40d5: 0x00c0, 0x40d6: 0x00c0, 0x40d7: 0x00c0, - 0x40d8: 0x00c0, 0x40d9: 0x00c0, 0x40da: 0x00c0, 0x40db: 0x00c0, 0x40dc: 0x00c0, 0x40dd: 0x00c0, - 0x40de: 0x00c0, 0x40df: 0x00c0, 0x40e0: 0x00c0, 0x40e1: 0x00c0, 0x40e2: 0x00c0, 0x40e3: 0x00c0, - 0x40e4: 0x00c0, 0x40e5: 0x00c0, 0x40e6: 0x00c0, 0x40e7: 0x00c0, 0x40e8: 0x00c0, 0x40e9: 0x00c0, - 0x40ea: 0x00c0, 0x40eb: 0x00c0, 0x40ec: 0x00c0, 0x40ed: 0x00c0, 0x40ee: 0x00c0, + 0x40d8: 0x00c0, 0x40d9: 0x00c0, // Block 0x104, offset 0x4100 0x4100: 0x00c0, 0x4101: 0x00c0, 0x4102: 0x00c0, 0x4103: 0x00c0, 0x4104: 0x00c0, 0x4105: 0x00c0, - 0x4106: 0x00c0, + 0x4106: 0x00c0, 0x4107: 0x00c0, 0x4108: 0x00c0, 0x4109: 0x00c0, 0x410a: 0x00c0, 0x410b: 0x00c0, + 0x410c: 0x00c0, 0x410d: 0x00c0, 0x410e: 0x00c0, 0x410f: 0x00c0, 0x4110: 0x00c0, 0x4111: 0x00c0, + 0x4112: 0x00c0, 0x4113: 0x00c0, 0x4114: 0x00c0, 0x4115: 0x00c0, 0x4116: 0x00c0, 0x4117: 0x00c0, + 0x4118: 0x00c0, 0x4119: 0x00c0, // Block 0x105, offset 0x4140 - 0x4140: 0x00c0, 0x4141: 0x00c0, 0x4142: 0x00c0, 0x4143: 0x00c0, 0x4144: 0x00c0, 0x4145: 0x00c0, - 0x4146: 0x00c0, 0x4147: 0x00c0, 0x4148: 0x00c0, 0x4149: 0x00c0, 0x414a: 0x00c0, 0x414b: 0x00c0, - 0x414c: 0x00c0, 0x414d: 0x00c0, 0x414e: 0x00c0, 0x414f: 0x00c0, 0x4150: 0x00c0, 0x4151: 0x00c0, - 0x4152: 0x00c0, 0x4153: 0x00c0, 0x4154: 0x00c0, 0x4155: 0x00c0, 0x4156: 0x00c0, 0x4157: 0x00c0, - 0x4158: 0x00c0, 0x4159: 0x00c0, 0x415a: 0x00c0, 0x415b: 0x00c0, 0x415c: 0x00c0, 0x415d: 0x00c0, - 0x415e: 0x00c0, 0x4160: 0x00c0, 0x4161: 0x00c0, 0x4162: 0x00c0, 0x4163: 0x00c0, - 0x4164: 0x00c0, 0x4165: 0x00c0, 0x4166: 0x00c0, 0x4167: 0x00c0, 0x4168: 0x00c0, 0x4169: 0x00c0, - 0x416e: 0x0080, 0x416f: 0x0080, + 0x4140: 0x0080, 0x4141: 0x0080, 0x4142: 0x0080, 0x4143: 0x0080, 0x4144: 0x0080, 0x4145: 0x0080, + 0x4146: 0x0080, 0x4147: 0x0080, 0x4148: 0x0080, 0x4149: 0x0080, 0x414a: 0x0080, 0x414b: 0x0080, + 0x414c: 0x0080, 0x414d: 0x0080, 0x414e: 0x0080, 0x414f: 0x0080, 0x4150: 0x0080, 0x4151: 0x0080, + 0x4152: 0x0080, 0x4153: 0x0080, 0x4154: 0x0080, 0x4155: 0x0080, 0x4156: 0x0080, 0x4157: 0x0080, + 0x4158: 0x0080, 0x4159: 0x0080, 0x415a: 0x0080, 0x415b: 0x0080, 0x415c: 0x0080, 0x415d: 0x0080, + 0x415e: 0x0080, 0x415f: 0x0080, 0x4160: 0x0080, 0x4161: 0x0080, 0x4162: 0x0080, 0x4163: 0x0080, + 0x4164: 0x0080, 0x4165: 0x0080, 0x4166: 0x0080, 0x4167: 0x0080, 0x4168: 0x0080, 0x4169: 0x0080, + 0x416a: 0x0080, 0x416b: 0x0080, 0x416c: 0x0080, 0x416d: 0x0080, 0x416e: 0x0080, + 0x4170: 0x0080, 0x4171: 0x0080, 0x4172: 0x0080, 0x4173: 0x0080, 0x4174: 0x0080, // Block 0x106, offset 0x4180 - 0x4190: 0x00c0, 0x4191: 0x00c0, - 0x4192: 0x00c0, 0x4193: 0x00c0, 0x4194: 0x00c0, 0x4195: 0x00c0, 0x4196: 0x00c0, 0x4197: 0x00c0, - 0x4198: 0x00c0, 0x4199: 0x00c0, 0x419a: 0x00c0, 0x419b: 0x00c0, 0x419c: 0x00c0, 0x419d: 0x00c0, - 0x419e: 0x00c0, 0x419f: 0x00c0, 0x41a0: 0x00c0, 0x41a1: 0x00c0, 0x41a2: 0x00c0, 0x41a3: 0x00c0, - 0x41a4: 0x00c0, 0x41a5: 0x00c0, 0x41a6: 0x00c0, 0x41a7: 0x00c0, 0x41a8: 0x00c0, 0x41a9: 0x00c0, - 0x41aa: 0x00c0, 0x41ab: 0x00c0, 0x41ac: 0x00c0, 0x41ad: 0x00c0, - 0x41b0: 0x00c3, 0x41b1: 0x00c3, 0x41b2: 0x00c3, 0x41b3: 0x00c3, 0x41b4: 0x00c3, 0x41b5: 0x0080, + 0x4180: 0x00c0, 0x4181: 0x00c0, 0x4182: 0x00c0, 0x4183: 0x00c0, // Block 0x107, offset 0x41c0 0x41c0: 0x00c0, 0x41c1: 0x00c0, 0x41c2: 0x00c0, 0x41c3: 0x00c0, 0x41c4: 0x00c0, 0x41c5: 0x00c0, 0x41c6: 0x00c0, 0x41c7: 0x00c0, 0x41c8: 0x00c0, 0x41c9: 0x00c0, 0x41ca: 0x00c0, 0x41cb: 0x00c0, @@ -3016,146 +3035,140 @@ var derivedPropertiesValues = [20736]uint8{ 0x41d8: 0x00c0, 0x41d9: 0x00c0, 0x41da: 0x00c0, 0x41db: 0x00c0, 0x41dc: 0x00c0, 0x41dd: 0x00c0, 0x41de: 0x00c0, 0x41df: 0x00c0, 0x41e0: 0x00c0, 0x41e1: 0x00c0, 0x41e2: 0x00c0, 0x41e3: 0x00c0, 0x41e4: 0x00c0, 0x41e5: 0x00c0, 0x41e6: 0x00c0, 0x41e7: 0x00c0, 0x41e8: 0x00c0, 0x41e9: 0x00c0, - 0x41ea: 0x00c0, 0x41eb: 0x00c0, 0x41ec: 0x00c0, 0x41ed: 0x00c0, 0x41ee: 0x00c0, 0x41ef: 0x00c0, - 0x41f0: 0x00c3, 0x41f1: 0x00c3, 0x41f2: 0x00c3, 0x41f3: 0x00c3, 0x41f4: 0x00c3, 0x41f5: 0x00c3, - 0x41f6: 0x00c3, 0x41f7: 0x0080, 0x41f8: 0x0080, 0x41f9: 0x0080, 0x41fa: 0x0080, 0x41fb: 0x0080, - 0x41fc: 0x0080, 0x41fd: 0x0080, 0x41fe: 0x0080, 0x41ff: 0x0080, + 0x41ea: 0x00c0, 0x41eb: 0x00c0, 0x41ec: 0x00c0, 0x41ed: 0x00c0, 0x41ee: 0x00c0, // Block 0x108, offset 0x4200 - 0x4200: 0x00c0, 0x4201: 0x00c0, 0x4202: 0x00c0, 0x4203: 0x00c0, 0x4204: 0x0080, 0x4205: 0x0080, - 0x4210: 0x00c0, 0x4211: 0x00c0, - 0x4212: 0x00c0, 0x4213: 0x00c0, 0x4214: 0x00c0, 0x4215: 0x00c0, 0x4216: 0x00c0, 0x4217: 0x00c0, - 0x4218: 0x00c0, 0x4219: 0x00c0, 0x421b: 0x0080, 0x421c: 0x0080, 0x421d: 0x0080, - 0x421e: 0x0080, 0x421f: 0x0080, 0x4220: 0x0080, 0x4221: 0x0080, 0x4223: 0x00c0, - 0x4224: 0x00c0, 0x4225: 0x00c0, 0x4226: 0x00c0, 0x4227: 0x00c0, 0x4228: 0x00c0, 0x4229: 0x00c0, - 0x422a: 0x00c0, 0x422b: 0x00c0, 0x422c: 0x00c0, 0x422d: 0x00c0, 0x422e: 0x00c0, 0x422f: 0x00c0, - 0x4230: 0x00c0, 0x4231: 0x00c0, 0x4232: 0x00c0, 0x4233: 0x00c0, 0x4234: 0x00c0, 0x4235: 0x00c0, - 0x4236: 0x00c0, 0x4237: 0x00c0, - 0x423d: 0x00c0, 0x423e: 0x00c0, 0x423f: 0x00c0, + 0x4200: 0x00c0, 0x4201: 0x00c0, 0x4202: 0x00c0, 0x4203: 0x00c0, 0x4204: 0x00c0, 0x4205: 0x00c0, + 0x4206: 0x00c0, // Block 0x109, offset 0x4240 0x4240: 0x00c0, 0x4241: 0x00c0, 0x4242: 0x00c0, 0x4243: 0x00c0, 0x4244: 0x00c0, 0x4245: 0x00c0, 0x4246: 0x00c0, 0x4247: 0x00c0, 0x4248: 0x00c0, 0x4249: 0x00c0, 0x424a: 0x00c0, 0x424b: 0x00c0, - 0x424c: 0x00c0, 0x424d: 0x00c0, 0x424e: 0x00c0, 0x424f: 0x00c0, + 0x424c: 0x00c0, 0x424d: 0x00c0, 0x424e: 0x00c0, 0x424f: 0x00c0, 0x4250: 0x00c0, 0x4251: 0x00c0, + 0x4252: 0x00c0, 0x4253: 0x00c0, 0x4254: 0x00c0, 0x4255: 0x00c0, 0x4256: 0x00c0, 0x4257: 0x00c0, + 0x4258: 0x00c0, 0x4259: 0x00c0, 0x425a: 0x00c0, 0x425b: 0x00c0, 0x425c: 0x00c0, 0x425d: 0x00c0, + 0x425e: 0x00c0, 0x4260: 0x00c0, 0x4261: 0x00c0, 0x4262: 0x00c0, 0x4263: 0x00c0, + 0x4264: 0x00c0, 0x4265: 0x00c0, 0x4266: 0x00c0, 0x4267: 0x00c0, 0x4268: 0x00c0, 0x4269: 0x00c0, + 0x426e: 0x0080, 0x426f: 0x0080, // Block 0x10a, offset 0x4280 - 0x4280: 0x00c0, 0x4281: 0x00c0, 0x4282: 0x00c0, 0x4283: 0x00c0, 0x4284: 0x00c0, 0x4290: 0x00c0, 0x4291: 0x00c0, 0x4292: 0x00c0, 0x4293: 0x00c0, 0x4294: 0x00c0, 0x4295: 0x00c0, 0x4296: 0x00c0, 0x4297: 0x00c0, 0x4298: 0x00c0, 0x4299: 0x00c0, 0x429a: 0x00c0, 0x429b: 0x00c0, 0x429c: 0x00c0, 0x429d: 0x00c0, 0x429e: 0x00c0, 0x429f: 0x00c0, 0x42a0: 0x00c0, 0x42a1: 0x00c0, 0x42a2: 0x00c0, 0x42a3: 0x00c0, 0x42a4: 0x00c0, 0x42a5: 0x00c0, 0x42a6: 0x00c0, 0x42a7: 0x00c0, 0x42a8: 0x00c0, 0x42a9: 0x00c0, - 0x42aa: 0x00c0, 0x42ab: 0x00c0, 0x42ac: 0x00c0, 0x42ad: 0x00c0, 0x42ae: 0x00c0, 0x42af: 0x00c0, - 0x42b0: 0x00c0, 0x42b1: 0x00c0, 0x42b2: 0x00c0, 0x42b3: 0x00c0, 0x42b4: 0x00c0, 0x42b5: 0x00c0, - 0x42b6: 0x00c0, 0x42b7: 0x00c0, 0x42b8: 0x00c0, 0x42b9: 0x00c0, 0x42ba: 0x00c0, 0x42bb: 0x00c0, - 0x42bc: 0x00c0, 0x42bd: 0x00c0, 0x42be: 0x00c0, + 0x42aa: 0x00c0, 0x42ab: 0x00c0, 0x42ac: 0x00c0, 0x42ad: 0x00c0, + 0x42b0: 0x00c3, 0x42b1: 0x00c3, 0x42b2: 0x00c3, 0x42b3: 0x00c3, 0x42b4: 0x00c3, 0x42b5: 0x0080, // Block 0x10b, offset 0x42c0 - 0x42cf: 0x00c3, 0x42d0: 0x00c3, 0x42d1: 0x00c3, - 0x42d2: 0x00c3, 0x42d3: 0x00c0, 0x42d4: 0x00c0, 0x42d5: 0x00c0, 0x42d6: 0x00c0, 0x42d7: 0x00c0, + 0x42c0: 0x00c0, 0x42c1: 0x00c0, 0x42c2: 0x00c0, 0x42c3: 0x00c0, 0x42c4: 0x00c0, 0x42c5: 0x00c0, + 0x42c6: 0x00c0, 0x42c7: 0x00c0, 0x42c8: 0x00c0, 0x42c9: 0x00c0, 0x42ca: 0x00c0, 0x42cb: 0x00c0, + 0x42cc: 0x00c0, 0x42cd: 0x00c0, 0x42ce: 0x00c0, 0x42cf: 0x00c0, 0x42d0: 0x00c0, 0x42d1: 0x00c0, + 0x42d2: 0x00c0, 0x42d3: 0x00c0, 0x42d4: 0x00c0, 0x42d5: 0x00c0, 0x42d6: 0x00c0, 0x42d7: 0x00c0, 0x42d8: 0x00c0, 0x42d9: 0x00c0, 0x42da: 0x00c0, 0x42db: 0x00c0, 0x42dc: 0x00c0, 0x42dd: 0x00c0, - 0x42de: 0x00c0, 0x42df: 0x00c0, + 0x42de: 0x00c0, 0x42df: 0x00c0, 0x42e0: 0x00c0, 0x42e1: 0x00c0, 0x42e2: 0x00c0, 0x42e3: 0x00c0, + 0x42e4: 0x00c0, 0x42e5: 0x00c0, 0x42e6: 0x00c0, 0x42e7: 0x00c0, 0x42e8: 0x00c0, 0x42e9: 0x00c0, + 0x42ea: 0x00c0, 0x42eb: 0x00c0, 0x42ec: 0x00c0, 0x42ed: 0x00c0, 0x42ee: 0x00c0, 0x42ef: 0x00c0, + 0x42f0: 0x00c3, 0x42f1: 0x00c3, 0x42f2: 0x00c3, 0x42f3: 0x00c3, 0x42f4: 0x00c3, 0x42f5: 0x00c3, + 0x42f6: 0x00c3, 0x42f7: 0x0080, 0x42f8: 0x0080, 0x42f9: 0x0080, 0x42fa: 0x0080, 0x42fb: 0x0080, + 0x42fc: 0x0080, 0x42fd: 0x0080, 0x42fe: 0x0080, 0x42ff: 0x0080, // Block 0x10c, offset 0x4300 - 0x4320: 0x00c0, + 0x4300: 0x00c0, 0x4301: 0x00c0, 0x4302: 0x00c0, 0x4303: 0x00c0, 0x4304: 0x0080, 0x4305: 0x0080, + 0x4310: 0x00c0, 0x4311: 0x00c0, + 0x4312: 0x00c0, 0x4313: 0x00c0, 0x4314: 0x00c0, 0x4315: 0x00c0, 0x4316: 0x00c0, 0x4317: 0x00c0, + 0x4318: 0x00c0, 0x4319: 0x00c0, 0x431b: 0x0080, 0x431c: 0x0080, 0x431d: 0x0080, + 0x431e: 0x0080, 0x431f: 0x0080, 0x4320: 0x0080, 0x4321: 0x0080, 0x4323: 0x00c0, + 0x4324: 0x00c0, 0x4325: 0x00c0, 0x4326: 0x00c0, 0x4327: 0x00c0, 0x4328: 0x00c0, 0x4329: 0x00c0, + 0x432a: 0x00c0, 0x432b: 0x00c0, 0x432c: 0x00c0, 0x432d: 0x00c0, 0x432e: 0x00c0, 0x432f: 0x00c0, + 0x4330: 0x00c0, 0x4331: 0x00c0, 0x4332: 0x00c0, 0x4333: 0x00c0, 0x4334: 0x00c0, 0x4335: 0x00c0, + 0x4336: 0x00c0, 0x4337: 0x00c0, + 0x433d: 0x00c0, 0x433e: 0x00c0, 0x433f: 0x00c0, // Block 0x10d, offset 0x4340 0x4340: 0x00c0, 0x4341: 0x00c0, 0x4342: 0x00c0, 0x4343: 0x00c0, 0x4344: 0x00c0, 0x4345: 0x00c0, 0x4346: 0x00c0, 0x4347: 0x00c0, 0x4348: 0x00c0, 0x4349: 0x00c0, 0x434a: 0x00c0, 0x434b: 0x00c0, - 0x434c: 0x00c0, 0x434d: 0x00c0, 0x434e: 0x00c0, 0x434f: 0x00c0, 0x4350: 0x00c0, 0x4351: 0x00c0, - 0x4352: 0x00c0, 0x4353: 0x00c0, 0x4354: 0x00c0, 0x4355: 0x00c0, 0x4356: 0x00c0, 0x4357: 0x00c0, - 0x4358: 0x00c0, 0x4359: 0x00c0, 0x435a: 0x00c0, 0x435b: 0x00c0, 0x435c: 0x00c0, 0x435d: 0x00c0, - 0x435e: 0x00c0, 0x435f: 0x00c0, 0x4360: 0x00c0, 0x4361: 0x00c0, 0x4362: 0x00c0, 0x4363: 0x00c0, - 0x4364: 0x00c0, 0x4365: 0x00c0, 0x4366: 0x00c0, 0x4367: 0x00c0, 0x4368: 0x00c0, 0x4369: 0x00c0, - 0x436a: 0x00c0, 0x436b: 0x00c0, 0x436c: 0x00c0, + 0x434c: 0x00c0, 0x434d: 0x00c0, 0x434e: 0x00c0, 0x434f: 0x00c0, // Block 0x10e, offset 0x4380 - 0x4380: 0x00cc, 0x4381: 0x00cc, + 0x4380: 0x00c0, 0x4381: 0x00c0, 0x4382: 0x00c0, 0x4383: 0x00c0, 0x4384: 0x00c0, + 0x4390: 0x00c0, 0x4391: 0x00c0, + 0x4392: 0x00c0, 0x4393: 0x00c0, 0x4394: 0x00c0, 0x4395: 0x00c0, 0x4396: 0x00c0, 0x4397: 0x00c0, + 0x4398: 0x00c0, 0x4399: 0x00c0, 0x439a: 0x00c0, 0x439b: 0x00c0, 0x439c: 0x00c0, 0x439d: 0x00c0, + 0x439e: 0x00c0, 0x439f: 0x00c0, 0x43a0: 0x00c0, 0x43a1: 0x00c0, 0x43a2: 0x00c0, 0x43a3: 0x00c0, + 0x43a4: 0x00c0, 0x43a5: 0x00c0, 0x43a6: 0x00c0, 0x43a7: 0x00c0, 0x43a8: 0x00c0, 0x43a9: 0x00c0, + 0x43aa: 0x00c0, 0x43ab: 0x00c0, 0x43ac: 0x00c0, 0x43ad: 0x00c0, 0x43ae: 0x00c0, 0x43af: 0x00c0, + 0x43b0: 0x00c0, 0x43b1: 0x00c0, 0x43b2: 0x00c0, 0x43b3: 0x00c0, 0x43b4: 0x00c0, 0x43b5: 0x00c0, + 0x43b6: 0x00c0, 0x43b7: 0x00c0, 0x43b8: 0x00c0, 0x43b9: 0x00c0, 0x43ba: 0x00c0, 0x43bb: 0x00c0, + 0x43bc: 0x00c0, 0x43bd: 0x00c0, 0x43be: 0x00c0, // Block 0x10f, offset 0x43c0 - 0x43c0: 0x00c0, 0x43c1: 0x00c0, 0x43c2: 0x00c0, 0x43c3: 0x00c0, 0x43c4: 0x00c0, 0x43c5: 0x00c0, - 0x43c6: 0x00c0, 0x43c7: 0x00c0, 0x43c8: 0x00c0, 0x43c9: 0x00c0, 0x43ca: 0x00c0, 0x43cb: 0x00c0, - 0x43cc: 0x00c0, 0x43cd: 0x00c0, 0x43ce: 0x00c0, 0x43cf: 0x00c0, 0x43d0: 0x00c0, 0x43d1: 0x00c0, - 0x43d2: 0x00c0, 0x43d3: 0x00c0, 0x43d4: 0x00c0, 0x43d5: 0x00c0, 0x43d6: 0x00c0, 0x43d7: 0x00c0, + 0x43cf: 0x00c3, 0x43d0: 0x00c3, 0x43d1: 0x00c3, + 0x43d2: 0x00c3, 0x43d3: 0x00c0, 0x43d4: 0x00c0, 0x43d5: 0x00c0, 0x43d6: 0x00c0, 0x43d7: 0x00c0, 0x43d8: 0x00c0, 0x43d9: 0x00c0, 0x43da: 0x00c0, 0x43db: 0x00c0, 0x43dc: 0x00c0, 0x43dd: 0x00c0, - 0x43de: 0x00c0, 0x43df: 0x00c0, 0x43e0: 0x00c0, 0x43e1: 0x00c0, 0x43e2: 0x00c0, 0x43e3: 0x00c0, - 0x43e4: 0x00c0, 0x43e5: 0x00c0, 0x43e6: 0x00c0, 0x43e7: 0x00c0, 0x43e8: 0x00c0, 0x43e9: 0x00c0, - 0x43ea: 0x00c0, - 0x43f0: 0x00c0, 0x43f1: 0x00c0, 0x43f2: 0x00c0, 0x43f3: 0x00c0, 0x43f4: 0x00c0, 0x43f5: 0x00c0, - 0x43f6: 0x00c0, 0x43f7: 0x00c0, 0x43f8: 0x00c0, 0x43f9: 0x00c0, 0x43fa: 0x00c0, 0x43fb: 0x00c0, - 0x43fc: 0x00c0, + 0x43de: 0x00c0, 0x43df: 0x00c0, // Block 0x110, offset 0x4400 - 0x4400: 0x00c0, 0x4401: 0x00c0, 0x4402: 0x00c0, 0x4403: 0x00c0, 0x4404: 0x00c0, 0x4405: 0x00c0, - 0x4406: 0x00c0, 0x4407: 0x00c0, 0x4408: 0x00c0, - 0x4410: 0x00c0, 0x4411: 0x00c0, - 0x4412: 0x00c0, 0x4413: 0x00c0, 0x4414: 0x00c0, 0x4415: 0x00c0, 0x4416: 0x00c0, 0x4417: 0x00c0, - 0x4418: 0x00c0, 0x4419: 0x00c0, 0x441c: 0x0080, 0x441d: 0x00c3, - 0x441e: 0x00c3, 0x441f: 0x0080, 0x4420: 0x0040, 0x4421: 0x0040, 0x4422: 0x0040, 0x4423: 0x0040, + 0x4420: 0x00c0, 0x4421: 0x00c0, // Block 0x111, offset 0x4440 - 0x4440: 0x0080, 0x4441: 0x0080, 0x4442: 0x0080, 0x4443: 0x0080, 0x4444: 0x0080, 0x4445: 0x0080, - 0x4446: 0x0080, 0x4447: 0x0080, 0x4448: 0x0080, 0x4449: 0x0080, 0x444a: 0x0080, 0x444b: 0x0080, - 0x444c: 0x0080, 0x444d: 0x0080, 0x444e: 0x0080, 0x444f: 0x0080, 0x4450: 0x0080, 0x4451: 0x0080, - 0x4452: 0x0080, 0x4453: 0x0080, 0x4454: 0x0080, 0x4455: 0x0080, 0x4456: 0x0080, 0x4457: 0x0080, - 0x4458: 0x0080, 0x4459: 0x0080, 0x445a: 0x0080, 0x445b: 0x0080, 0x445c: 0x0080, 0x445d: 0x0080, - 0x445e: 0x0080, 0x445f: 0x0080, 0x4460: 0x0080, 0x4461: 0x0080, 0x4462: 0x0080, 0x4463: 0x0080, - 0x4464: 0x0080, 0x4465: 0x0080, 0x4466: 0x0080, 0x4467: 0x0080, 0x4468: 0x0080, 0x4469: 0x0080, - 0x446a: 0x0080, 0x446b: 0x0080, 0x446c: 0x0080, 0x446d: 0x0080, 0x446e: 0x0080, 0x446f: 0x0080, - 0x4470: 0x0080, 0x4471: 0x0080, 0x4472: 0x0080, 0x4473: 0x0080, 0x4474: 0x0080, 0x4475: 0x0080, + 0x4440: 0x00c0, 0x4441: 0x00c0, 0x4442: 0x00c0, 0x4443: 0x00c0, 0x4444: 0x00c0, 0x4445: 0x00c0, + 0x4446: 0x00c0, 0x4447: 0x00c0, 0x4448: 0x00c0, 0x4449: 0x00c0, 0x444a: 0x00c0, 0x444b: 0x00c0, + 0x444c: 0x00c0, 0x444d: 0x00c0, 0x444e: 0x00c0, 0x444f: 0x00c0, 0x4450: 0x00c0, 0x4451: 0x00c0, + 0x4452: 0x00c0, 0x4453: 0x00c0, 0x4454: 0x00c0, 0x4455: 0x00c0, 0x4456: 0x00c0, 0x4457: 0x00c0, + 0x4458: 0x00c0, 0x4459: 0x00c0, 0x445a: 0x00c0, 0x445b: 0x00c0, 0x445c: 0x00c0, 0x445d: 0x00c0, + 0x445e: 0x00c0, 0x445f: 0x00c0, 0x4460: 0x00c0, 0x4461: 0x00c0, 0x4462: 0x00c0, 0x4463: 0x00c0, + 0x4464: 0x00c0, 0x4465: 0x00c0, 0x4466: 0x00c0, 0x4467: 0x00c0, 0x4468: 0x00c0, 0x4469: 0x00c0, + 0x446a: 0x00c0, 0x446b: 0x00c0, 0x446c: 0x00c0, // Block 0x112, offset 0x4480 - 0x4480: 0x0080, 0x4481: 0x0080, 0x4482: 0x0080, 0x4483: 0x0080, 0x4484: 0x0080, 0x4485: 0x0080, - 0x4486: 0x0080, 0x4487: 0x0080, 0x4488: 0x0080, 0x4489: 0x0080, 0x448a: 0x0080, 0x448b: 0x0080, - 0x448c: 0x0080, 0x448d: 0x0080, 0x448e: 0x0080, 0x448f: 0x0080, 0x4490: 0x0080, 0x4491: 0x0080, - 0x4492: 0x0080, 0x4493: 0x0080, 0x4494: 0x0080, 0x4495: 0x0080, 0x4496: 0x0080, 0x4497: 0x0080, - 0x4498: 0x0080, 0x4499: 0x0080, 0x449a: 0x0080, 0x449b: 0x0080, 0x449c: 0x0080, 0x449d: 0x0080, - 0x449e: 0x0080, 0x449f: 0x0080, 0x44a0: 0x0080, 0x44a1: 0x0080, 0x44a2: 0x0080, 0x44a3: 0x0080, - 0x44a4: 0x0080, 0x44a5: 0x0080, 0x44a6: 0x0080, 0x44a9: 0x0080, - 0x44aa: 0x0080, 0x44ab: 0x0080, 0x44ac: 0x0080, 0x44ad: 0x0080, 0x44ae: 0x0080, 0x44af: 0x0080, - 0x44b0: 0x0080, 0x44b1: 0x0080, 0x44b2: 0x0080, 0x44b3: 0x0080, 0x44b4: 0x0080, 0x44b5: 0x0080, - 0x44b6: 0x0080, 0x44b7: 0x0080, 0x44b8: 0x0080, 0x44b9: 0x0080, 0x44ba: 0x0080, 0x44bb: 0x0080, - 0x44bc: 0x0080, 0x44bd: 0x0080, 0x44be: 0x0080, 0x44bf: 0x0080, + 0x4480: 0x00cc, 0x4481: 0x00cc, 0x4482: 0x00cc, 0x4483: 0x00cc, 0x4484: 0x00cc, 0x4485: 0x00cc, + 0x4486: 0x00cc, 0x4487: 0x00cc, 0x4488: 0x00cc, 0x4489: 0x00cc, 0x448a: 0x00cc, 0x448b: 0x00cc, + 0x448c: 0x00cc, 0x448d: 0x00cc, 0x448e: 0x00cc, 0x448f: 0x00cc, 0x4490: 0x00cc, 0x4491: 0x00cc, + 0x4492: 0x00cc, 0x4493: 0x00cc, 0x4494: 0x00cc, 0x4495: 0x00cc, 0x4496: 0x00cc, 0x4497: 0x00cc, + 0x4498: 0x00cc, 0x4499: 0x00cc, 0x449a: 0x00cc, 0x449b: 0x00cc, 0x449c: 0x00cc, 0x449d: 0x00cc, + 0x449e: 0x00cc, // Block 0x113, offset 0x44c0 - 0x44c0: 0x0080, 0x44c1: 0x0080, 0x44c2: 0x0080, 0x44c3: 0x0080, 0x44c4: 0x0080, 0x44c5: 0x0080, - 0x44c6: 0x0080, 0x44c7: 0x0080, 0x44c8: 0x0080, 0x44c9: 0x0080, 0x44ca: 0x0080, 0x44cb: 0x0080, - 0x44cc: 0x0080, 0x44cd: 0x0080, 0x44ce: 0x0080, 0x44cf: 0x0080, 0x44d0: 0x0080, 0x44d1: 0x0080, - 0x44d2: 0x0080, 0x44d3: 0x0080, 0x44d4: 0x0080, 0x44d5: 0x0080, 0x44d6: 0x0080, 0x44d7: 0x0080, - 0x44d8: 0x0080, 0x44d9: 0x0080, 0x44da: 0x0080, 0x44db: 0x0080, 0x44dc: 0x0080, 0x44dd: 0x0080, - 0x44de: 0x0080, 0x44df: 0x0080, 0x44e0: 0x0080, 0x44e1: 0x0080, 0x44e2: 0x0080, 0x44e3: 0x0080, - 0x44e4: 0x0080, 0x44e5: 0x00c0, 0x44e6: 0x00c0, 0x44e7: 0x00c3, 0x44e8: 0x00c3, 0x44e9: 0x00c3, - 0x44ea: 0x0080, 0x44eb: 0x0080, 0x44ec: 0x0080, 0x44ed: 0x00c0, 0x44ee: 0x00c0, 0x44ef: 0x00c0, - 0x44f0: 0x00c0, 0x44f1: 0x00c0, 0x44f2: 0x00c0, 0x44f3: 0x0040, 0x44f4: 0x0040, 0x44f5: 0x0040, - 0x44f6: 0x0040, 0x44f7: 0x0040, 0x44f8: 0x0040, 0x44f9: 0x0040, 0x44fa: 0x0040, 0x44fb: 0x00c3, - 0x44fc: 0x00c3, 0x44fd: 0x00c3, 0x44fe: 0x00c3, 0x44ff: 0x00c3, + 0x44f0: 0x00c0, 0x44f1: 0x00c0, 0x44f2: 0x00c0, 0x44f3: 0x00c0, 0x44f4: 0x00c0, 0x44f5: 0x00c0, + 0x44f6: 0x00c0, 0x44f7: 0x00c0, 0x44f8: 0x00c0, 0x44f9: 0x00c0, 0x44fa: 0x00c0, 0x44fb: 0x00c0, + 0x44fc: 0x00c0, 0x44fd: 0x00c0, 0x44fe: 0x00c0, 0x44ff: 0x00c0, // Block 0x114, offset 0x4500 - 0x4500: 0x00c3, 0x4501: 0x00c3, 0x4502: 0x00c3, 0x4503: 0x0080, 0x4504: 0x0080, 0x4505: 0x00c3, - 0x4506: 0x00c3, 0x4507: 0x00c3, 0x4508: 0x00c3, 0x4509: 0x00c3, 0x450a: 0x00c3, 0x450b: 0x00c3, - 0x450c: 0x0080, 0x450d: 0x0080, 0x450e: 0x0080, 0x450f: 0x0080, 0x4510: 0x0080, 0x4511: 0x0080, - 0x4512: 0x0080, 0x4513: 0x0080, 0x4514: 0x0080, 0x4515: 0x0080, 0x4516: 0x0080, 0x4517: 0x0080, - 0x4518: 0x0080, 0x4519: 0x0080, 0x451a: 0x0080, 0x451b: 0x0080, 0x451c: 0x0080, 0x451d: 0x0080, - 0x451e: 0x0080, 0x451f: 0x0080, 0x4520: 0x0080, 0x4521: 0x0080, 0x4522: 0x0080, 0x4523: 0x0080, - 0x4524: 0x0080, 0x4525: 0x0080, 0x4526: 0x0080, 0x4527: 0x0080, 0x4528: 0x0080, 0x4529: 0x0080, - 0x452a: 0x00c3, 0x452b: 0x00c3, 0x452c: 0x00c3, 0x452d: 0x00c3, 0x452e: 0x0080, 0x452f: 0x0080, - 0x4530: 0x0080, 0x4531: 0x0080, 0x4532: 0x0080, 0x4533: 0x0080, 0x4534: 0x0080, 0x4535: 0x0080, - 0x4536: 0x0080, 0x4537: 0x0080, 0x4538: 0x0080, 0x4539: 0x0080, 0x453a: 0x0080, 0x453b: 0x0080, - 0x453c: 0x0080, 0x453d: 0x0080, 0x453e: 0x0080, 0x453f: 0x0080, + 0x4500: 0x00c0, 0x4501: 0x00c0, 0x4502: 0x00c0, 0x4503: 0x00c0, 0x4504: 0x00c0, 0x4505: 0x00c0, + 0x4506: 0x00c0, 0x4507: 0x00c0, 0x4508: 0x00c0, 0x4509: 0x00c0, 0x450a: 0x00c0, 0x450b: 0x00c0, + 0x450c: 0x00c0, 0x450d: 0x00c0, 0x450e: 0x00c0, 0x450f: 0x00c0, 0x4510: 0x00c0, 0x4511: 0x00c0, + 0x4512: 0x00c0, 0x4513: 0x00c0, 0x4514: 0x00c0, 0x4515: 0x00c0, 0x4516: 0x00c0, 0x4517: 0x00c0, + 0x4518: 0x00c0, 0x4519: 0x00c0, 0x451a: 0x00c0, 0x451b: 0x00c0, 0x451c: 0x00c0, 0x451d: 0x00c0, + 0x451e: 0x00c0, 0x451f: 0x00c0, 0x4520: 0x00c0, 0x4521: 0x00c0, 0x4522: 0x00c0, 0x4523: 0x00c0, + 0x4524: 0x00c0, 0x4525: 0x00c0, 0x4526: 0x00c0, 0x4527: 0x00c0, 0x4528: 0x00c0, 0x4529: 0x00c0, + 0x452a: 0x00c0, 0x452b: 0x00c0, 0x452c: 0x00c0, 0x452d: 0x00c0, 0x452e: 0x00c0, 0x452f: 0x00c0, + 0x4530: 0x00c0, 0x4531: 0x00c0, 0x4532: 0x00c0, 0x4533: 0x00c0, 0x4534: 0x00c0, 0x4535: 0x00c0, + 0x4536: 0x00c0, 0x4537: 0x00c0, 0x4538: 0x00c0, 0x4539: 0x00c0, 0x453a: 0x00c0, 0x453b: 0x00c0, // Block 0x115, offset 0x4540 - 0x4540: 0x0080, 0x4541: 0x0080, 0x4542: 0x0080, 0x4543: 0x0080, 0x4544: 0x0080, 0x4545: 0x0080, - 0x4546: 0x0080, 0x4547: 0x0080, 0x4548: 0x0080, 0x4549: 0x0080, 0x454a: 0x0080, 0x454b: 0x0080, - 0x454c: 0x0080, 0x454d: 0x0080, 0x454e: 0x0080, 0x454f: 0x0080, 0x4550: 0x0080, 0x4551: 0x0080, - 0x4552: 0x0080, 0x4553: 0x0080, 0x4554: 0x0080, 0x4555: 0x0080, 0x4556: 0x0080, 0x4557: 0x0080, - 0x4558: 0x0080, 0x4559: 0x0080, 0x455a: 0x0080, 0x455b: 0x0080, 0x455c: 0x0080, 0x455d: 0x0080, - 0x455e: 0x0080, 0x455f: 0x0080, 0x4560: 0x0080, 0x4561: 0x0080, 0x4562: 0x0080, 0x4563: 0x0080, - 0x4564: 0x0080, 0x4565: 0x0080, 0x4566: 0x0080, 0x4567: 0x0080, 0x4568: 0x0080, + 0x4540: 0x00c0, 0x4541: 0x00c0, 0x4542: 0x00c0, 0x4543: 0x00c0, 0x4544: 0x00c0, 0x4545: 0x00c0, + 0x4546: 0x00c0, 0x4547: 0x00c0, 0x4548: 0x00c0, 0x4549: 0x00c0, 0x454a: 0x00c0, 0x454b: 0x00c0, + 0x454c: 0x00c0, 0x454d: 0x00c0, 0x454e: 0x00c0, 0x454f: 0x00c0, 0x4550: 0x00c0, 0x4551: 0x00c0, + 0x4552: 0x00c0, 0x4553: 0x00c0, 0x4554: 0x00c0, 0x4555: 0x00c0, 0x4556: 0x00c0, 0x4557: 0x00c0, + 0x4558: 0x00c0, 0x4559: 0x00c0, 0x455a: 0x00c0, 0x455b: 0x00c0, 0x455c: 0x00c0, 0x455d: 0x00c0, + 0x455e: 0x00c0, 0x455f: 0x00c0, 0x4560: 0x00c0, 0x4561: 0x00c0, 0x4562: 0x00c0, 0x4563: 0x00c0, + 0x4564: 0x00c0, 0x4565: 0x00c0, 0x4566: 0x00c0, 0x4567: 0x00c0, 0x4568: 0x00c0, 0x4569: 0x00c0, + 0x456a: 0x00c0, + 0x4570: 0x00c0, 0x4571: 0x00c0, 0x4572: 0x00c0, 0x4573: 0x00c0, 0x4574: 0x00c0, 0x4575: 0x00c0, + 0x4576: 0x00c0, 0x4577: 0x00c0, 0x4578: 0x00c0, 0x4579: 0x00c0, 0x457a: 0x00c0, 0x457b: 0x00c0, + 0x457c: 0x00c0, // Block 0x116, offset 0x4580 - 0x4580: 0x0088, 0x4581: 0x0088, 0x4582: 0x00c9, 0x4583: 0x00c9, 0x4584: 0x00c9, 0x4585: 0x0088, + 0x4580: 0x00c0, 0x4581: 0x00c0, 0x4582: 0x00c0, 0x4583: 0x00c0, 0x4584: 0x00c0, 0x4585: 0x00c0, + 0x4586: 0x00c0, 0x4587: 0x00c0, 0x4588: 0x00c0, + 0x4590: 0x00c0, 0x4591: 0x00c0, + 0x4592: 0x00c0, 0x4593: 0x00c0, 0x4594: 0x00c0, 0x4595: 0x00c0, 0x4596: 0x00c0, 0x4597: 0x00c0, + 0x4598: 0x00c0, 0x4599: 0x00c0, 0x459c: 0x0080, 0x459d: 0x00c3, + 0x459e: 0x00c3, 0x459f: 0x0080, 0x45a0: 0x0040, 0x45a1: 0x0040, 0x45a2: 0x0040, 0x45a3: 0x0040, // Block 0x117, offset 0x45c0 0x45c0: 0x0080, 0x45c1: 0x0080, 0x45c2: 0x0080, 0x45c3: 0x0080, 0x45c4: 0x0080, 0x45c5: 0x0080, 0x45c6: 0x0080, 0x45c7: 0x0080, 0x45c8: 0x0080, 0x45c9: 0x0080, 0x45ca: 0x0080, 0x45cb: 0x0080, 0x45cc: 0x0080, 0x45cd: 0x0080, 0x45ce: 0x0080, 0x45cf: 0x0080, 0x45d0: 0x0080, 0x45d1: 0x0080, - 0x45d2: 0x0080, 0x45d3: 0x0080, 0x45d4: 0x0080, 0x45d5: 0x0080, 0x45d6: 0x0080, - 0x45e0: 0x0080, 0x45e1: 0x0080, 0x45e2: 0x0080, 0x45e3: 0x0080, + 0x45d2: 0x0080, 0x45d3: 0x0080, 0x45d4: 0x0080, 0x45d5: 0x0080, 0x45d6: 0x0080, 0x45d7: 0x0080, + 0x45d8: 0x0080, 0x45d9: 0x0080, 0x45da: 0x0080, 0x45db: 0x0080, 0x45dc: 0x0080, 0x45dd: 0x0080, + 0x45de: 0x0080, 0x45df: 0x0080, 0x45e0: 0x0080, 0x45e1: 0x0080, 0x45e2: 0x0080, 0x45e3: 0x0080, 0x45e4: 0x0080, 0x45e5: 0x0080, 0x45e6: 0x0080, 0x45e7: 0x0080, 0x45e8: 0x0080, 0x45e9: 0x0080, 0x45ea: 0x0080, 0x45eb: 0x0080, 0x45ec: 0x0080, 0x45ed: 0x0080, 0x45ee: 0x0080, 0x45ef: 0x0080, - 0x45f0: 0x0080, 0x45f1: 0x0080, + 0x45f0: 0x0080, 0x45f1: 0x0080, 0x45f2: 0x0080, 0x45f3: 0x0080, 0x45f4: 0x0080, 0x45f5: 0x0080, // Block 0x118, offset 0x4600 0x4600: 0x0080, 0x4601: 0x0080, 0x4602: 0x0080, 0x4603: 0x0080, 0x4604: 0x0080, 0x4605: 0x0080, 0x4606: 0x0080, 0x4607: 0x0080, 0x4608: 0x0080, 0x4609: 0x0080, 0x460a: 0x0080, 0x460b: 0x0080, 0x460c: 0x0080, 0x460d: 0x0080, 0x460e: 0x0080, 0x460f: 0x0080, 0x4610: 0x0080, 0x4611: 0x0080, - 0x4612: 0x0080, 0x4613: 0x0080, 0x4614: 0x0080, 0x4616: 0x0080, 0x4617: 0x0080, + 0x4612: 0x0080, 0x4613: 0x0080, 0x4614: 0x0080, 0x4615: 0x0080, 0x4616: 0x0080, 0x4617: 0x0080, 0x4618: 0x0080, 0x4619: 0x0080, 0x461a: 0x0080, 0x461b: 0x0080, 0x461c: 0x0080, 0x461d: 0x0080, 0x461e: 0x0080, 0x461f: 0x0080, 0x4620: 0x0080, 0x4621: 0x0080, 0x4622: 0x0080, 0x4623: 0x0080, - 0x4624: 0x0080, 0x4625: 0x0080, 0x4626: 0x0080, 0x4627: 0x0080, 0x4628: 0x0080, 0x4629: 0x0080, + 0x4624: 0x0080, 0x4625: 0x0080, 0x4626: 0x0080, 0x4629: 0x0080, 0x462a: 0x0080, 0x462b: 0x0080, 0x462c: 0x0080, 0x462d: 0x0080, 0x462e: 0x0080, 0x462f: 0x0080, 0x4630: 0x0080, 0x4631: 0x0080, 0x4632: 0x0080, 0x4633: 0x0080, 0x4634: 0x0080, 0x4635: 0x0080, 0x4636: 0x0080, 0x4637: 0x0080, 0x4638: 0x0080, 0x4639: 0x0080, 0x463a: 0x0080, 0x463b: 0x0080, @@ -3165,66 +3178,49 @@ var derivedPropertiesValues = [20736]uint8{ 0x4646: 0x0080, 0x4647: 0x0080, 0x4648: 0x0080, 0x4649: 0x0080, 0x464a: 0x0080, 0x464b: 0x0080, 0x464c: 0x0080, 0x464d: 0x0080, 0x464e: 0x0080, 0x464f: 0x0080, 0x4650: 0x0080, 0x4651: 0x0080, 0x4652: 0x0080, 0x4653: 0x0080, 0x4654: 0x0080, 0x4655: 0x0080, 0x4656: 0x0080, 0x4657: 0x0080, - 0x4658: 0x0080, 0x4659: 0x0080, 0x465a: 0x0080, 0x465b: 0x0080, 0x465c: 0x0080, - 0x465e: 0x0080, 0x465f: 0x0080, 0x4662: 0x0080, - 0x4665: 0x0080, 0x4666: 0x0080, 0x4669: 0x0080, - 0x466a: 0x0080, 0x466b: 0x0080, 0x466c: 0x0080, 0x466e: 0x0080, 0x466f: 0x0080, - 0x4670: 0x0080, 0x4671: 0x0080, 0x4672: 0x0080, 0x4673: 0x0080, 0x4674: 0x0080, 0x4675: 0x0080, - 0x4676: 0x0080, 0x4677: 0x0080, 0x4678: 0x0080, 0x4679: 0x0080, 0x467b: 0x0080, - 0x467d: 0x0080, 0x467e: 0x0080, 0x467f: 0x0080, + 0x4658: 0x0080, 0x4659: 0x0080, 0x465a: 0x0080, 0x465b: 0x0080, 0x465c: 0x0080, 0x465d: 0x0080, + 0x465e: 0x0080, 0x465f: 0x0080, 0x4660: 0x0080, 0x4661: 0x0080, 0x4662: 0x0080, 0x4663: 0x0080, + 0x4664: 0x0080, 0x4665: 0x00c0, 0x4666: 0x00c0, 0x4667: 0x00c3, 0x4668: 0x00c3, 0x4669: 0x00c3, + 0x466a: 0x0080, 0x466b: 0x0080, 0x466c: 0x0080, 0x466d: 0x00c0, 0x466e: 0x00c0, 0x466f: 0x00c0, + 0x4670: 0x00c0, 0x4671: 0x00c0, 0x4672: 0x00c0, 0x4673: 0x0040, 0x4674: 0x0040, 0x4675: 0x0040, + 0x4676: 0x0040, 0x4677: 0x0040, 0x4678: 0x0040, 0x4679: 0x0040, 0x467a: 0x0040, 0x467b: 0x00c3, + 0x467c: 0x00c3, 0x467d: 0x00c3, 0x467e: 0x00c3, 0x467f: 0x00c3, // Block 0x11a, offset 0x4680 - 0x4680: 0x0080, 0x4681: 0x0080, 0x4682: 0x0080, 0x4683: 0x0080, 0x4685: 0x0080, - 0x4686: 0x0080, 0x4687: 0x0080, 0x4688: 0x0080, 0x4689: 0x0080, 0x468a: 0x0080, 0x468b: 0x0080, + 0x4680: 0x00c3, 0x4681: 0x00c3, 0x4682: 0x00c3, 0x4683: 0x0080, 0x4684: 0x0080, 0x4685: 0x00c3, + 0x4686: 0x00c3, 0x4687: 0x00c3, 0x4688: 0x00c3, 0x4689: 0x00c3, 0x468a: 0x00c3, 0x468b: 0x00c3, 0x468c: 0x0080, 0x468d: 0x0080, 0x468e: 0x0080, 0x468f: 0x0080, 0x4690: 0x0080, 0x4691: 0x0080, 0x4692: 0x0080, 0x4693: 0x0080, 0x4694: 0x0080, 0x4695: 0x0080, 0x4696: 0x0080, 0x4697: 0x0080, 0x4698: 0x0080, 0x4699: 0x0080, 0x469a: 0x0080, 0x469b: 0x0080, 0x469c: 0x0080, 0x469d: 0x0080, 0x469e: 0x0080, 0x469f: 0x0080, 0x46a0: 0x0080, 0x46a1: 0x0080, 0x46a2: 0x0080, 0x46a3: 0x0080, 0x46a4: 0x0080, 0x46a5: 0x0080, 0x46a6: 0x0080, 0x46a7: 0x0080, 0x46a8: 0x0080, 0x46a9: 0x0080, - 0x46aa: 0x0080, 0x46ab: 0x0080, 0x46ac: 0x0080, 0x46ad: 0x0080, 0x46ae: 0x0080, 0x46af: 0x0080, + 0x46aa: 0x00c3, 0x46ab: 0x00c3, 0x46ac: 0x00c3, 0x46ad: 0x00c3, 0x46ae: 0x0080, 0x46af: 0x0080, 0x46b0: 0x0080, 0x46b1: 0x0080, 0x46b2: 0x0080, 0x46b3: 0x0080, 0x46b4: 0x0080, 0x46b5: 0x0080, 0x46b6: 0x0080, 0x46b7: 0x0080, 0x46b8: 0x0080, 0x46b9: 0x0080, 0x46ba: 0x0080, 0x46bb: 0x0080, 0x46bc: 0x0080, 0x46bd: 0x0080, 0x46be: 0x0080, 0x46bf: 0x0080, // Block 0x11b, offset 0x46c0 0x46c0: 0x0080, 0x46c1: 0x0080, 0x46c2: 0x0080, 0x46c3: 0x0080, 0x46c4: 0x0080, 0x46c5: 0x0080, - 0x46c7: 0x0080, 0x46c8: 0x0080, 0x46c9: 0x0080, 0x46ca: 0x0080, - 0x46cd: 0x0080, 0x46ce: 0x0080, 0x46cf: 0x0080, 0x46d0: 0x0080, 0x46d1: 0x0080, - 0x46d2: 0x0080, 0x46d3: 0x0080, 0x46d4: 0x0080, 0x46d6: 0x0080, 0x46d7: 0x0080, - 0x46d8: 0x0080, 0x46d9: 0x0080, 0x46da: 0x0080, 0x46db: 0x0080, 0x46dc: 0x0080, + 0x46c6: 0x0080, 0x46c7: 0x0080, 0x46c8: 0x0080, 0x46c9: 0x0080, 0x46ca: 0x0080, 0x46cb: 0x0080, + 0x46cc: 0x0080, 0x46cd: 0x0080, 0x46ce: 0x0080, 0x46cf: 0x0080, 0x46d0: 0x0080, 0x46d1: 0x0080, + 0x46d2: 0x0080, 0x46d3: 0x0080, 0x46d4: 0x0080, 0x46d5: 0x0080, 0x46d6: 0x0080, 0x46d7: 0x0080, + 0x46d8: 0x0080, 0x46d9: 0x0080, 0x46da: 0x0080, 0x46db: 0x0080, 0x46dc: 0x0080, 0x46dd: 0x0080, 0x46de: 0x0080, 0x46df: 0x0080, 0x46e0: 0x0080, 0x46e1: 0x0080, 0x46e2: 0x0080, 0x46e3: 0x0080, - 0x46e4: 0x0080, 0x46e5: 0x0080, 0x46e6: 0x0080, 0x46e7: 0x0080, 0x46e8: 0x0080, 0x46e9: 0x0080, - 0x46ea: 0x0080, 0x46eb: 0x0080, 0x46ec: 0x0080, 0x46ed: 0x0080, 0x46ee: 0x0080, 0x46ef: 0x0080, - 0x46f0: 0x0080, 0x46f1: 0x0080, 0x46f2: 0x0080, 0x46f3: 0x0080, 0x46f4: 0x0080, 0x46f5: 0x0080, - 0x46f6: 0x0080, 0x46f7: 0x0080, 0x46f8: 0x0080, 0x46f9: 0x0080, 0x46fb: 0x0080, - 0x46fc: 0x0080, 0x46fd: 0x0080, 0x46fe: 0x0080, + 0x46e4: 0x0080, 0x46e5: 0x0080, 0x46e6: 0x0080, 0x46e7: 0x0080, 0x46e8: 0x0080, // Block 0x11c, offset 0x4700 - 0x4700: 0x0080, 0x4701: 0x0080, 0x4702: 0x0080, 0x4703: 0x0080, 0x4704: 0x0080, - 0x4706: 0x0080, 0x470a: 0x0080, 0x470b: 0x0080, - 0x470c: 0x0080, 0x470d: 0x0080, 0x470e: 0x0080, 0x470f: 0x0080, 0x4710: 0x0080, - 0x4712: 0x0080, 0x4713: 0x0080, 0x4714: 0x0080, 0x4715: 0x0080, 0x4716: 0x0080, 0x4717: 0x0080, - 0x4718: 0x0080, 0x4719: 0x0080, 0x471a: 0x0080, 0x471b: 0x0080, 0x471c: 0x0080, 0x471d: 0x0080, - 0x471e: 0x0080, 0x471f: 0x0080, 0x4720: 0x0080, 0x4721: 0x0080, 0x4722: 0x0080, 0x4723: 0x0080, - 0x4724: 0x0080, 0x4725: 0x0080, 0x4726: 0x0080, 0x4727: 0x0080, 0x4728: 0x0080, 0x4729: 0x0080, - 0x472a: 0x0080, 0x472b: 0x0080, 0x472c: 0x0080, 0x472d: 0x0080, 0x472e: 0x0080, 0x472f: 0x0080, - 0x4730: 0x0080, 0x4731: 0x0080, 0x4732: 0x0080, 0x4733: 0x0080, 0x4734: 0x0080, 0x4735: 0x0080, - 0x4736: 0x0080, 0x4737: 0x0080, 0x4738: 0x0080, 0x4739: 0x0080, 0x473a: 0x0080, 0x473b: 0x0080, - 0x473c: 0x0080, 0x473d: 0x0080, 0x473e: 0x0080, 0x473f: 0x0080, + 0x4700: 0x0088, 0x4701: 0x0088, 0x4702: 0x00c9, 0x4703: 0x00c9, 0x4704: 0x00c9, 0x4705: 0x0088, // Block 0x11d, offset 0x4740 0x4740: 0x0080, 0x4741: 0x0080, 0x4742: 0x0080, 0x4743: 0x0080, 0x4744: 0x0080, 0x4745: 0x0080, 0x4746: 0x0080, 0x4747: 0x0080, 0x4748: 0x0080, 0x4749: 0x0080, 0x474a: 0x0080, 0x474b: 0x0080, 0x474c: 0x0080, 0x474d: 0x0080, 0x474e: 0x0080, 0x474f: 0x0080, 0x4750: 0x0080, 0x4751: 0x0080, - 0x4752: 0x0080, 0x4753: 0x0080, 0x4754: 0x0080, 0x4755: 0x0080, 0x4756: 0x0080, 0x4757: 0x0080, - 0x4758: 0x0080, 0x4759: 0x0080, 0x475a: 0x0080, 0x475b: 0x0080, 0x475c: 0x0080, 0x475d: 0x0080, - 0x475e: 0x0080, 0x475f: 0x0080, 0x4760: 0x0080, 0x4761: 0x0080, 0x4762: 0x0080, 0x4763: 0x0080, - 0x4764: 0x0080, 0x4765: 0x0080, 0x4768: 0x0080, 0x4769: 0x0080, + 0x4752: 0x0080, 0x4753: 0x0080, 0x4754: 0x0080, 0x4755: 0x0080, 0x4756: 0x0080, + 0x4760: 0x0080, 0x4761: 0x0080, 0x4762: 0x0080, 0x4763: 0x0080, + 0x4764: 0x0080, 0x4765: 0x0080, 0x4766: 0x0080, 0x4767: 0x0080, 0x4768: 0x0080, 0x4769: 0x0080, 0x476a: 0x0080, 0x476b: 0x0080, 0x476c: 0x0080, 0x476d: 0x0080, 0x476e: 0x0080, 0x476f: 0x0080, - 0x4770: 0x0080, 0x4771: 0x0080, 0x4772: 0x0080, 0x4773: 0x0080, 0x4774: 0x0080, 0x4775: 0x0080, - 0x4776: 0x0080, 0x4777: 0x0080, 0x4778: 0x0080, 0x4779: 0x0080, 0x477a: 0x0080, 0x477b: 0x0080, - 0x477c: 0x0080, 0x477d: 0x0080, 0x477e: 0x0080, 0x477f: 0x0080, + 0x4770: 0x0080, 0x4771: 0x0080, // Block 0x11e, offset 0x4780 0x4780: 0x0080, 0x4781: 0x0080, 0x4782: 0x0080, 0x4783: 0x0080, 0x4784: 0x0080, 0x4785: 0x0080, 0x4786: 0x0080, 0x4787: 0x0080, 0x4788: 0x0080, 0x4789: 0x0080, 0x478a: 0x0080, 0x478b: 0x0080, - 0x478e: 0x0080, 0x478f: 0x0080, 0x4790: 0x0080, 0x4791: 0x0080, - 0x4792: 0x0080, 0x4793: 0x0080, 0x4794: 0x0080, 0x4795: 0x0080, 0x4796: 0x0080, 0x4797: 0x0080, + 0x478c: 0x0080, 0x478d: 0x0080, 0x478e: 0x0080, 0x478f: 0x0080, 0x4790: 0x0080, 0x4791: 0x0080, + 0x4792: 0x0080, 0x4793: 0x0080, 0x4794: 0x0080, 0x4796: 0x0080, 0x4797: 0x0080, 0x4798: 0x0080, 0x4799: 0x0080, 0x479a: 0x0080, 0x479b: 0x0080, 0x479c: 0x0080, 0x479d: 0x0080, 0x479e: 0x0080, 0x479f: 0x0080, 0x47a0: 0x0080, 0x47a1: 0x0080, 0x47a2: 0x0080, 0x47a3: 0x0080, 0x47a4: 0x0080, 0x47a5: 0x0080, 0x47a6: 0x0080, 0x47a7: 0x0080, 0x47a8: 0x0080, 0x47a9: 0x0080, @@ -3233,333 +3229,428 @@ var derivedPropertiesValues = [20736]uint8{ 0x47b6: 0x0080, 0x47b7: 0x0080, 0x47b8: 0x0080, 0x47b9: 0x0080, 0x47ba: 0x0080, 0x47bb: 0x0080, 0x47bc: 0x0080, 0x47bd: 0x0080, 0x47be: 0x0080, 0x47bf: 0x0080, // Block 0x11f, offset 0x47c0 - 0x47c0: 0x00c3, 0x47c1: 0x00c3, 0x47c2: 0x00c3, 0x47c3: 0x00c3, 0x47c4: 0x00c3, 0x47c5: 0x00c3, - 0x47c6: 0x00c3, 0x47c7: 0x00c3, 0x47c8: 0x00c3, 0x47c9: 0x00c3, 0x47ca: 0x00c3, 0x47cb: 0x00c3, - 0x47cc: 0x00c3, 0x47cd: 0x00c3, 0x47ce: 0x00c3, 0x47cf: 0x00c3, 0x47d0: 0x00c3, 0x47d1: 0x00c3, - 0x47d2: 0x00c3, 0x47d3: 0x00c3, 0x47d4: 0x00c3, 0x47d5: 0x00c3, 0x47d6: 0x00c3, 0x47d7: 0x00c3, - 0x47d8: 0x00c3, 0x47d9: 0x00c3, 0x47da: 0x00c3, 0x47db: 0x00c3, 0x47dc: 0x00c3, 0x47dd: 0x00c3, - 0x47de: 0x00c3, 0x47df: 0x00c3, 0x47e0: 0x00c3, 0x47e1: 0x00c3, 0x47e2: 0x00c3, 0x47e3: 0x00c3, - 0x47e4: 0x00c3, 0x47e5: 0x00c3, 0x47e6: 0x00c3, 0x47e7: 0x00c3, 0x47e8: 0x00c3, 0x47e9: 0x00c3, - 0x47ea: 0x00c3, 0x47eb: 0x00c3, 0x47ec: 0x00c3, 0x47ed: 0x00c3, 0x47ee: 0x00c3, 0x47ef: 0x00c3, - 0x47f0: 0x00c3, 0x47f1: 0x00c3, 0x47f2: 0x00c3, 0x47f3: 0x00c3, 0x47f4: 0x00c3, 0x47f5: 0x00c3, - 0x47f6: 0x00c3, 0x47f7: 0x0080, 0x47f8: 0x0080, 0x47f9: 0x0080, 0x47fa: 0x0080, 0x47fb: 0x00c3, - 0x47fc: 0x00c3, 0x47fd: 0x00c3, 0x47fe: 0x00c3, 0x47ff: 0x00c3, + 0x47c0: 0x0080, 0x47c1: 0x0080, 0x47c2: 0x0080, 0x47c3: 0x0080, 0x47c4: 0x0080, 0x47c5: 0x0080, + 0x47c6: 0x0080, 0x47c7: 0x0080, 0x47c8: 0x0080, 0x47c9: 0x0080, 0x47ca: 0x0080, 0x47cb: 0x0080, + 0x47cc: 0x0080, 0x47cd: 0x0080, 0x47ce: 0x0080, 0x47cf: 0x0080, 0x47d0: 0x0080, 0x47d1: 0x0080, + 0x47d2: 0x0080, 0x47d3: 0x0080, 0x47d4: 0x0080, 0x47d5: 0x0080, 0x47d6: 0x0080, 0x47d7: 0x0080, + 0x47d8: 0x0080, 0x47d9: 0x0080, 0x47da: 0x0080, 0x47db: 0x0080, 0x47dc: 0x0080, + 0x47de: 0x0080, 0x47df: 0x0080, 0x47e2: 0x0080, + 0x47e5: 0x0080, 0x47e6: 0x0080, 0x47e9: 0x0080, + 0x47ea: 0x0080, 0x47eb: 0x0080, 0x47ec: 0x0080, 0x47ee: 0x0080, 0x47ef: 0x0080, + 0x47f0: 0x0080, 0x47f1: 0x0080, 0x47f2: 0x0080, 0x47f3: 0x0080, 0x47f4: 0x0080, 0x47f5: 0x0080, + 0x47f6: 0x0080, 0x47f7: 0x0080, 0x47f8: 0x0080, 0x47f9: 0x0080, 0x47fb: 0x0080, + 0x47fd: 0x0080, 0x47fe: 0x0080, 0x47ff: 0x0080, // Block 0x120, offset 0x4800 - 0x4800: 0x00c3, 0x4801: 0x00c3, 0x4802: 0x00c3, 0x4803: 0x00c3, 0x4804: 0x00c3, 0x4805: 0x00c3, - 0x4806: 0x00c3, 0x4807: 0x00c3, 0x4808: 0x00c3, 0x4809: 0x00c3, 0x480a: 0x00c3, 0x480b: 0x00c3, - 0x480c: 0x00c3, 0x480d: 0x00c3, 0x480e: 0x00c3, 0x480f: 0x00c3, 0x4810: 0x00c3, 0x4811: 0x00c3, - 0x4812: 0x00c3, 0x4813: 0x00c3, 0x4814: 0x00c3, 0x4815: 0x00c3, 0x4816: 0x00c3, 0x4817: 0x00c3, - 0x4818: 0x00c3, 0x4819: 0x00c3, 0x481a: 0x00c3, 0x481b: 0x00c3, 0x481c: 0x00c3, 0x481d: 0x00c3, - 0x481e: 0x00c3, 0x481f: 0x00c3, 0x4820: 0x00c3, 0x4821: 0x00c3, 0x4822: 0x00c3, 0x4823: 0x00c3, - 0x4824: 0x00c3, 0x4825: 0x00c3, 0x4826: 0x00c3, 0x4827: 0x00c3, 0x4828: 0x00c3, 0x4829: 0x00c3, - 0x482a: 0x00c3, 0x482b: 0x00c3, 0x482c: 0x00c3, 0x482d: 0x0080, 0x482e: 0x0080, 0x482f: 0x0080, - 0x4830: 0x0080, 0x4831: 0x0080, 0x4832: 0x0080, 0x4833: 0x0080, 0x4834: 0x0080, 0x4835: 0x00c3, + 0x4800: 0x0080, 0x4801: 0x0080, 0x4802: 0x0080, 0x4803: 0x0080, 0x4805: 0x0080, + 0x4806: 0x0080, 0x4807: 0x0080, 0x4808: 0x0080, 0x4809: 0x0080, 0x480a: 0x0080, 0x480b: 0x0080, + 0x480c: 0x0080, 0x480d: 0x0080, 0x480e: 0x0080, 0x480f: 0x0080, 0x4810: 0x0080, 0x4811: 0x0080, + 0x4812: 0x0080, 0x4813: 0x0080, 0x4814: 0x0080, 0x4815: 0x0080, 0x4816: 0x0080, 0x4817: 0x0080, + 0x4818: 0x0080, 0x4819: 0x0080, 0x481a: 0x0080, 0x481b: 0x0080, 0x481c: 0x0080, 0x481d: 0x0080, + 0x481e: 0x0080, 0x481f: 0x0080, 0x4820: 0x0080, 0x4821: 0x0080, 0x4822: 0x0080, 0x4823: 0x0080, + 0x4824: 0x0080, 0x4825: 0x0080, 0x4826: 0x0080, 0x4827: 0x0080, 0x4828: 0x0080, 0x4829: 0x0080, + 0x482a: 0x0080, 0x482b: 0x0080, 0x482c: 0x0080, 0x482d: 0x0080, 0x482e: 0x0080, 0x482f: 0x0080, + 0x4830: 0x0080, 0x4831: 0x0080, 0x4832: 0x0080, 0x4833: 0x0080, 0x4834: 0x0080, 0x4835: 0x0080, 0x4836: 0x0080, 0x4837: 0x0080, 0x4838: 0x0080, 0x4839: 0x0080, 0x483a: 0x0080, 0x483b: 0x0080, 0x483c: 0x0080, 0x483d: 0x0080, 0x483e: 0x0080, 0x483f: 0x0080, // Block 0x121, offset 0x4840 - 0x4840: 0x0080, 0x4841: 0x0080, 0x4842: 0x0080, 0x4843: 0x0080, 0x4844: 0x00c3, 0x4845: 0x0080, - 0x4846: 0x0080, 0x4847: 0x0080, 0x4848: 0x0080, 0x4849: 0x0080, 0x484a: 0x0080, 0x484b: 0x0080, - 0x485b: 0x00c3, 0x485c: 0x00c3, 0x485d: 0x00c3, - 0x485e: 0x00c3, 0x485f: 0x00c3, 0x4861: 0x00c3, 0x4862: 0x00c3, 0x4863: 0x00c3, - 0x4864: 0x00c3, 0x4865: 0x00c3, 0x4866: 0x00c3, 0x4867: 0x00c3, 0x4868: 0x00c3, 0x4869: 0x00c3, - 0x486a: 0x00c3, 0x486b: 0x00c3, 0x486c: 0x00c3, 0x486d: 0x00c3, 0x486e: 0x00c3, 0x486f: 0x00c3, + 0x4840: 0x0080, 0x4841: 0x0080, 0x4842: 0x0080, 0x4843: 0x0080, 0x4844: 0x0080, 0x4845: 0x0080, + 0x4847: 0x0080, 0x4848: 0x0080, 0x4849: 0x0080, 0x484a: 0x0080, + 0x484d: 0x0080, 0x484e: 0x0080, 0x484f: 0x0080, 0x4850: 0x0080, 0x4851: 0x0080, + 0x4852: 0x0080, 0x4853: 0x0080, 0x4854: 0x0080, 0x4856: 0x0080, 0x4857: 0x0080, + 0x4858: 0x0080, 0x4859: 0x0080, 0x485a: 0x0080, 0x485b: 0x0080, 0x485c: 0x0080, + 0x485e: 0x0080, 0x485f: 0x0080, 0x4860: 0x0080, 0x4861: 0x0080, 0x4862: 0x0080, 0x4863: 0x0080, + 0x4864: 0x0080, 0x4865: 0x0080, 0x4866: 0x0080, 0x4867: 0x0080, 0x4868: 0x0080, 0x4869: 0x0080, + 0x486a: 0x0080, 0x486b: 0x0080, 0x486c: 0x0080, 0x486d: 0x0080, 0x486e: 0x0080, 0x486f: 0x0080, + 0x4870: 0x0080, 0x4871: 0x0080, 0x4872: 0x0080, 0x4873: 0x0080, 0x4874: 0x0080, 0x4875: 0x0080, + 0x4876: 0x0080, 0x4877: 0x0080, 0x4878: 0x0080, 0x4879: 0x0080, 0x487b: 0x0080, + 0x487c: 0x0080, 0x487d: 0x0080, 0x487e: 0x0080, // Block 0x122, offset 0x4880 - 0x4880: 0x00c3, 0x4881: 0x00c3, 0x4882: 0x00c3, 0x4883: 0x00c3, 0x4884: 0x00c3, 0x4885: 0x00c3, - 0x4886: 0x00c3, 0x4888: 0x00c3, 0x4889: 0x00c3, 0x488a: 0x00c3, 0x488b: 0x00c3, - 0x488c: 0x00c3, 0x488d: 0x00c3, 0x488e: 0x00c3, 0x488f: 0x00c3, 0x4890: 0x00c3, 0x4891: 0x00c3, - 0x4892: 0x00c3, 0x4893: 0x00c3, 0x4894: 0x00c3, 0x4895: 0x00c3, 0x4896: 0x00c3, 0x4897: 0x00c3, - 0x4898: 0x00c3, 0x489b: 0x00c3, 0x489c: 0x00c3, 0x489d: 0x00c3, - 0x489e: 0x00c3, 0x489f: 0x00c3, 0x48a0: 0x00c3, 0x48a1: 0x00c3, 0x48a3: 0x00c3, - 0x48a4: 0x00c3, 0x48a6: 0x00c3, 0x48a7: 0x00c3, 0x48a8: 0x00c3, 0x48a9: 0x00c3, - 0x48aa: 0x00c3, + 0x4880: 0x0080, 0x4881: 0x0080, 0x4882: 0x0080, 0x4883: 0x0080, 0x4884: 0x0080, + 0x4886: 0x0080, 0x488a: 0x0080, 0x488b: 0x0080, + 0x488c: 0x0080, 0x488d: 0x0080, 0x488e: 0x0080, 0x488f: 0x0080, 0x4890: 0x0080, + 0x4892: 0x0080, 0x4893: 0x0080, 0x4894: 0x0080, 0x4895: 0x0080, 0x4896: 0x0080, 0x4897: 0x0080, + 0x4898: 0x0080, 0x4899: 0x0080, 0x489a: 0x0080, 0x489b: 0x0080, 0x489c: 0x0080, 0x489d: 0x0080, + 0x489e: 0x0080, 0x489f: 0x0080, 0x48a0: 0x0080, 0x48a1: 0x0080, 0x48a2: 0x0080, 0x48a3: 0x0080, + 0x48a4: 0x0080, 0x48a5: 0x0080, 0x48a6: 0x0080, 0x48a7: 0x0080, 0x48a8: 0x0080, 0x48a9: 0x0080, + 0x48aa: 0x0080, 0x48ab: 0x0080, 0x48ac: 0x0080, 0x48ad: 0x0080, 0x48ae: 0x0080, 0x48af: 0x0080, + 0x48b0: 0x0080, 0x48b1: 0x0080, 0x48b2: 0x0080, 0x48b3: 0x0080, 0x48b4: 0x0080, 0x48b5: 0x0080, + 0x48b6: 0x0080, 0x48b7: 0x0080, 0x48b8: 0x0080, 0x48b9: 0x0080, 0x48ba: 0x0080, 0x48bb: 0x0080, + 0x48bc: 0x0080, 0x48bd: 0x0080, 0x48be: 0x0080, 0x48bf: 0x0080, // Block 0x123, offset 0x48c0 - 0x48c0: 0x00c0, 0x48c1: 0x00c0, 0x48c2: 0x00c0, 0x48c3: 0x00c0, 0x48c4: 0x00c0, - 0x48c7: 0x0080, 0x48c8: 0x0080, 0x48c9: 0x0080, 0x48ca: 0x0080, 0x48cb: 0x0080, - 0x48cc: 0x0080, 0x48cd: 0x0080, 0x48ce: 0x0080, 0x48cf: 0x0080, 0x48d0: 0x00c3, 0x48d1: 0x00c3, - 0x48d2: 0x00c3, 0x48d3: 0x00c3, 0x48d4: 0x00c3, 0x48d5: 0x00c3, 0x48d6: 0x00c3, + 0x48c0: 0x0080, 0x48c1: 0x0080, 0x48c2: 0x0080, 0x48c3: 0x0080, 0x48c4: 0x0080, 0x48c5: 0x0080, + 0x48c6: 0x0080, 0x48c7: 0x0080, 0x48c8: 0x0080, 0x48c9: 0x0080, 0x48ca: 0x0080, 0x48cb: 0x0080, + 0x48cc: 0x0080, 0x48cd: 0x0080, 0x48ce: 0x0080, 0x48cf: 0x0080, 0x48d0: 0x0080, 0x48d1: 0x0080, + 0x48d2: 0x0080, 0x48d3: 0x0080, 0x48d4: 0x0080, 0x48d5: 0x0080, 0x48d6: 0x0080, 0x48d7: 0x0080, + 0x48d8: 0x0080, 0x48d9: 0x0080, 0x48da: 0x0080, 0x48db: 0x0080, 0x48dc: 0x0080, 0x48dd: 0x0080, + 0x48de: 0x0080, 0x48df: 0x0080, 0x48e0: 0x0080, 0x48e1: 0x0080, 0x48e2: 0x0080, 0x48e3: 0x0080, + 0x48e4: 0x0080, 0x48e5: 0x0080, 0x48e8: 0x0080, 0x48e9: 0x0080, + 0x48ea: 0x0080, 0x48eb: 0x0080, 0x48ec: 0x0080, 0x48ed: 0x0080, 0x48ee: 0x0080, 0x48ef: 0x0080, + 0x48f0: 0x0080, 0x48f1: 0x0080, 0x48f2: 0x0080, 0x48f3: 0x0080, 0x48f4: 0x0080, 0x48f5: 0x0080, + 0x48f6: 0x0080, 0x48f7: 0x0080, 0x48f8: 0x0080, 0x48f9: 0x0080, 0x48fa: 0x0080, 0x48fb: 0x0080, + 0x48fc: 0x0080, 0x48fd: 0x0080, 0x48fe: 0x0080, 0x48ff: 0x0080, // Block 0x124, offset 0x4900 - 0x4900: 0x00c2, 0x4901: 0x00c2, 0x4902: 0x00c2, 0x4903: 0x00c2, 0x4904: 0x00c2, 0x4905: 0x00c2, - 0x4906: 0x00c2, 0x4907: 0x00c2, 0x4908: 0x00c2, 0x4909: 0x00c2, 0x490a: 0x00c2, 0x490b: 0x00c2, - 0x490c: 0x00c2, 0x490d: 0x00c2, 0x490e: 0x00c2, 0x490f: 0x00c2, 0x4910: 0x00c2, 0x4911: 0x00c2, - 0x4912: 0x00c2, 0x4913: 0x00c2, 0x4914: 0x00c2, 0x4915: 0x00c2, 0x4916: 0x00c2, 0x4917: 0x00c2, - 0x4918: 0x00c2, 0x4919: 0x00c2, 0x491a: 0x00c2, 0x491b: 0x00c2, 0x491c: 0x00c2, 0x491d: 0x00c2, - 0x491e: 0x00c2, 0x491f: 0x00c2, 0x4920: 0x00c2, 0x4921: 0x00c2, 0x4922: 0x00c2, 0x4923: 0x00c2, - 0x4924: 0x00c2, 0x4925: 0x00c2, 0x4926: 0x00c2, 0x4927: 0x00c2, 0x4928: 0x00c2, 0x4929: 0x00c2, - 0x492a: 0x00c2, 0x492b: 0x00c2, 0x492c: 0x00c2, 0x492d: 0x00c2, 0x492e: 0x00c2, 0x492f: 0x00c2, - 0x4930: 0x00c2, 0x4931: 0x00c2, 0x4932: 0x00c2, 0x4933: 0x00c2, 0x4934: 0x00c2, 0x4935: 0x00c2, - 0x4936: 0x00c2, 0x4937: 0x00c2, 0x4938: 0x00c2, 0x4939: 0x00c2, 0x493a: 0x00c2, 0x493b: 0x00c2, - 0x493c: 0x00c2, 0x493d: 0x00c2, 0x493e: 0x00c2, 0x493f: 0x00c2, + 0x4900: 0x0080, 0x4901: 0x0080, 0x4902: 0x0080, 0x4903: 0x0080, 0x4904: 0x0080, 0x4905: 0x0080, + 0x4906: 0x0080, 0x4907: 0x0080, 0x4908: 0x0080, 0x4909: 0x0080, 0x490a: 0x0080, 0x490b: 0x0080, + 0x490e: 0x0080, 0x490f: 0x0080, 0x4910: 0x0080, 0x4911: 0x0080, + 0x4912: 0x0080, 0x4913: 0x0080, 0x4914: 0x0080, 0x4915: 0x0080, 0x4916: 0x0080, 0x4917: 0x0080, + 0x4918: 0x0080, 0x4919: 0x0080, 0x491a: 0x0080, 0x491b: 0x0080, 0x491c: 0x0080, 0x491d: 0x0080, + 0x491e: 0x0080, 0x491f: 0x0080, 0x4920: 0x0080, 0x4921: 0x0080, 0x4922: 0x0080, 0x4923: 0x0080, + 0x4924: 0x0080, 0x4925: 0x0080, 0x4926: 0x0080, 0x4927: 0x0080, 0x4928: 0x0080, 0x4929: 0x0080, + 0x492a: 0x0080, 0x492b: 0x0080, 0x492c: 0x0080, 0x492d: 0x0080, 0x492e: 0x0080, 0x492f: 0x0080, + 0x4930: 0x0080, 0x4931: 0x0080, 0x4932: 0x0080, 0x4933: 0x0080, 0x4934: 0x0080, 0x4935: 0x0080, + 0x4936: 0x0080, 0x4937: 0x0080, 0x4938: 0x0080, 0x4939: 0x0080, 0x493a: 0x0080, 0x493b: 0x0080, + 0x493c: 0x0080, 0x493d: 0x0080, 0x493e: 0x0080, 0x493f: 0x0080, // Block 0x125, offset 0x4940 - 0x4940: 0x00c2, 0x4941: 0x00c2, 0x4942: 0x00c2, 0x4943: 0x00c2, 0x4944: 0x00c3, 0x4945: 0x00c3, - 0x4946: 0x00c3, 0x4947: 0x00c3, 0x4948: 0x00c3, 0x4949: 0x00c3, 0x494a: 0x00c3, - 0x4950: 0x00c0, 0x4951: 0x00c0, - 0x4952: 0x00c0, 0x4953: 0x00c0, 0x4954: 0x00c0, 0x4955: 0x00c0, 0x4956: 0x00c0, 0x4957: 0x00c0, - 0x4958: 0x00c0, 0x4959: 0x00c0, - 0x495e: 0x0080, 0x495f: 0x0080, + 0x4940: 0x00c3, 0x4941: 0x00c3, 0x4942: 0x00c3, 0x4943: 0x00c3, 0x4944: 0x00c3, 0x4945: 0x00c3, + 0x4946: 0x00c3, 0x4947: 0x00c3, 0x4948: 0x00c3, 0x4949: 0x00c3, 0x494a: 0x00c3, 0x494b: 0x00c3, + 0x494c: 0x00c3, 0x494d: 0x00c3, 0x494e: 0x00c3, 0x494f: 0x00c3, 0x4950: 0x00c3, 0x4951: 0x00c3, + 0x4952: 0x00c3, 0x4953: 0x00c3, 0x4954: 0x00c3, 0x4955: 0x00c3, 0x4956: 0x00c3, 0x4957: 0x00c3, + 0x4958: 0x00c3, 0x4959: 0x00c3, 0x495a: 0x00c3, 0x495b: 0x00c3, 0x495c: 0x00c3, 0x495d: 0x00c3, + 0x495e: 0x00c3, 0x495f: 0x00c3, 0x4960: 0x00c3, 0x4961: 0x00c3, 0x4962: 0x00c3, 0x4963: 0x00c3, + 0x4964: 0x00c3, 0x4965: 0x00c3, 0x4966: 0x00c3, 0x4967: 0x00c3, 0x4968: 0x00c3, 0x4969: 0x00c3, + 0x496a: 0x00c3, 0x496b: 0x00c3, 0x496c: 0x00c3, 0x496d: 0x00c3, 0x496e: 0x00c3, 0x496f: 0x00c3, + 0x4970: 0x00c3, 0x4971: 0x00c3, 0x4972: 0x00c3, 0x4973: 0x00c3, 0x4974: 0x00c3, 0x4975: 0x00c3, + 0x4976: 0x00c3, 0x4977: 0x0080, 0x4978: 0x0080, 0x4979: 0x0080, 0x497a: 0x0080, 0x497b: 0x00c3, + 0x497c: 0x00c3, 0x497d: 0x00c3, 0x497e: 0x00c3, 0x497f: 0x00c3, // Block 0x126, offset 0x4980 - 0x4980: 0x0080, 0x4981: 0x0080, 0x4982: 0x0080, 0x4983: 0x0080, 0x4985: 0x0080, - 0x4986: 0x0080, 0x4987: 0x0080, 0x4988: 0x0080, 0x4989: 0x0080, 0x498a: 0x0080, 0x498b: 0x0080, - 0x498c: 0x0080, 0x498d: 0x0080, 0x498e: 0x0080, 0x498f: 0x0080, 0x4990: 0x0080, 0x4991: 0x0080, - 0x4992: 0x0080, 0x4993: 0x0080, 0x4994: 0x0080, 0x4995: 0x0080, 0x4996: 0x0080, 0x4997: 0x0080, - 0x4998: 0x0080, 0x4999: 0x0080, 0x499a: 0x0080, 0x499b: 0x0080, 0x499c: 0x0080, 0x499d: 0x0080, - 0x499e: 0x0080, 0x499f: 0x0080, 0x49a1: 0x0080, 0x49a2: 0x0080, - 0x49a4: 0x0080, 0x49a7: 0x0080, 0x49a9: 0x0080, - 0x49aa: 0x0080, 0x49ab: 0x0080, 0x49ac: 0x0080, 0x49ad: 0x0080, 0x49ae: 0x0080, 0x49af: 0x0080, - 0x49b0: 0x0080, 0x49b1: 0x0080, 0x49b2: 0x0080, 0x49b4: 0x0080, 0x49b5: 0x0080, - 0x49b6: 0x0080, 0x49b7: 0x0080, 0x49b9: 0x0080, 0x49bb: 0x0080, + 0x4980: 0x00c3, 0x4981: 0x00c3, 0x4982: 0x00c3, 0x4983: 0x00c3, 0x4984: 0x00c3, 0x4985: 0x00c3, + 0x4986: 0x00c3, 0x4987: 0x00c3, 0x4988: 0x00c3, 0x4989: 0x00c3, 0x498a: 0x00c3, 0x498b: 0x00c3, + 0x498c: 0x00c3, 0x498d: 0x00c3, 0x498e: 0x00c3, 0x498f: 0x00c3, 0x4990: 0x00c3, 0x4991: 0x00c3, + 0x4992: 0x00c3, 0x4993: 0x00c3, 0x4994: 0x00c3, 0x4995: 0x00c3, 0x4996: 0x00c3, 0x4997: 0x00c3, + 0x4998: 0x00c3, 0x4999: 0x00c3, 0x499a: 0x00c3, 0x499b: 0x00c3, 0x499c: 0x00c3, 0x499d: 0x00c3, + 0x499e: 0x00c3, 0x499f: 0x00c3, 0x49a0: 0x00c3, 0x49a1: 0x00c3, 0x49a2: 0x00c3, 0x49a3: 0x00c3, + 0x49a4: 0x00c3, 0x49a5: 0x00c3, 0x49a6: 0x00c3, 0x49a7: 0x00c3, 0x49a8: 0x00c3, 0x49a9: 0x00c3, + 0x49aa: 0x00c3, 0x49ab: 0x00c3, 0x49ac: 0x00c3, 0x49ad: 0x0080, 0x49ae: 0x0080, 0x49af: 0x0080, + 0x49b0: 0x0080, 0x49b1: 0x0080, 0x49b2: 0x0080, 0x49b3: 0x0080, 0x49b4: 0x0080, 0x49b5: 0x00c3, + 0x49b6: 0x0080, 0x49b7: 0x0080, 0x49b8: 0x0080, 0x49b9: 0x0080, 0x49ba: 0x0080, 0x49bb: 0x0080, + 0x49bc: 0x0080, 0x49bd: 0x0080, 0x49be: 0x0080, 0x49bf: 0x0080, // Block 0x127, offset 0x49c0 - 0x49c2: 0x0080, - 0x49c7: 0x0080, 0x49c9: 0x0080, 0x49cb: 0x0080, - 0x49cd: 0x0080, 0x49ce: 0x0080, 0x49cf: 0x0080, 0x49d1: 0x0080, - 0x49d2: 0x0080, 0x49d4: 0x0080, 0x49d7: 0x0080, - 0x49d9: 0x0080, 0x49db: 0x0080, 0x49dd: 0x0080, - 0x49df: 0x0080, 0x49e1: 0x0080, 0x49e2: 0x0080, - 0x49e4: 0x0080, 0x49e7: 0x0080, 0x49e8: 0x0080, 0x49e9: 0x0080, - 0x49ea: 0x0080, 0x49ec: 0x0080, 0x49ed: 0x0080, 0x49ee: 0x0080, 0x49ef: 0x0080, - 0x49f0: 0x0080, 0x49f1: 0x0080, 0x49f2: 0x0080, 0x49f4: 0x0080, 0x49f5: 0x0080, - 0x49f6: 0x0080, 0x49f7: 0x0080, 0x49f9: 0x0080, 0x49fa: 0x0080, 0x49fb: 0x0080, - 0x49fc: 0x0080, 0x49fe: 0x0080, + 0x49c0: 0x0080, 0x49c1: 0x0080, 0x49c2: 0x0080, 0x49c3: 0x0080, 0x49c4: 0x00c3, 0x49c5: 0x0080, + 0x49c6: 0x0080, 0x49c7: 0x0080, 0x49c8: 0x0080, 0x49c9: 0x0080, 0x49ca: 0x0080, 0x49cb: 0x0080, + 0x49db: 0x00c3, 0x49dc: 0x00c3, 0x49dd: 0x00c3, + 0x49de: 0x00c3, 0x49df: 0x00c3, 0x49e1: 0x00c3, 0x49e2: 0x00c3, 0x49e3: 0x00c3, + 0x49e4: 0x00c3, 0x49e5: 0x00c3, 0x49e6: 0x00c3, 0x49e7: 0x00c3, 0x49e8: 0x00c3, 0x49e9: 0x00c3, + 0x49ea: 0x00c3, 0x49eb: 0x00c3, 0x49ec: 0x00c3, 0x49ed: 0x00c3, 0x49ee: 0x00c3, 0x49ef: 0x00c3, // Block 0x128, offset 0x4a00 - 0x4a00: 0x0080, 0x4a01: 0x0080, 0x4a02: 0x0080, 0x4a03: 0x0080, 0x4a04: 0x0080, 0x4a05: 0x0080, - 0x4a06: 0x0080, 0x4a07: 0x0080, 0x4a08: 0x0080, 0x4a09: 0x0080, 0x4a0b: 0x0080, - 0x4a0c: 0x0080, 0x4a0d: 0x0080, 0x4a0e: 0x0080, 0x4a0f: 0x0080, 0x4a10: 0x0080, 0x4a11: 0x0080, - 0x4a12: 0x0080, 0x4a13: 0x0080, 0x4a14: 0x0080, 0x4a15: 0x0080, 0x4a16: 0x0080, 0x4a17: 0x0080, - 0x4a18: 0x0080, 0x4a19: 0x0080, 0x4a1a: 0x0080, 0x4a1b: 0x0080, - 0x4a21: 0x0080, 0x4a22: 0x0080, 0x4a23: 0x0080, - 0x4a25: 0x0080, 0x4a26: 0x0080, 0x4a27: 0x0080, 0x4a28: 0x0080, 0x4a29: 0x0080, - 0x4a2b: 0x0080, 0x4a2c: 0x0080, 0x4a2d: 0x0080, 0x4a2e: 0x0080, 0x4a2f: 0x0080, - 0x4a30: 0x0080, 0x4a31: 0x0080, 0x4a32: 0x0080, 0x4a33: 0x0080, 0x4a34: 0x0080, 0x4a35: 0x0080, - 0x4a36: 0x0080, 0x4a37: 0x0080, 0x4a38: 0x0080, 0x4a39: 0x0080, 0x4a3a: 0x0080, 0x4a3b: 0x0080, + 0x4a00: 0x00c3, 0x4a01: 0x00c3, 0x4a02: 0x00c3, 0x4a03: 0x00c3, 0x4a04: 0x00c3, 0x4a05: 0x00c3, + 0x4a06: 0x00c3, 0x4a08: 0x00c3, 0x4a09: 0x00c3, 0x4a0a: 0x00c3, 0x4a0b: 0x00c3, + 0x4a0c: 0x00c3, 0x4a0d: 0x00c3, 0x4a0e: 0x00c3, 0x4a0f: 0x00c3, 0x4a10: 0x00c3, 0x4a11: 0x00c3, + 0x4a12: 0x00c3, 0x4a13: 0x00c3, 0x4a14: 0x00c3, 0x4a15: 0x00c3, 0x4a16: 0x00c3, 0x4a17: 0x00c3, + 0x4a18: 0x00c3, 0x4a1b: 0x00c3, 0x4a1c: 0x00c3, 0x4a1d: 0x00c3, + 0x4a1e: 0x00c3, 0x4a1f: 0x00c3, 0x4a20: 0x00c3, 0x4a21: 0x00c3, 0x4a23: 0x00c3, + 0x4a24: 0x00c3, 0x4a26: 0x00c3, 0x4a27: 0x00c3, 0x4a28: 0x00c3, 0x4a29: 0x00c3, + 0x4a2a: 0x00c3, // Block 0x129, offset 0x4a40 - 0x4a70: 0x0080, 0x4a71: 0x0080, + 0x4a40: 0x00c0, 0x4a41: 0x00c0, 0x4a42: 0x00c0, 0x4a43: 0x00c0, 0x4a44: 0x00c0, + 0x4a47: 0x0080, 0x4a48: 0x0080, 0x4a49: 0x0080, 0x4a4a: 0x0080, 0x4a4b: 0x0080, + 0x4a4c: 0x0080, 0x4a4d: 0x0080, 0x4a4e: 0x0080, 0x4a4f: 0x0080, 0x4a50: 0x00c3, 0x4a51: 0x00c3, + 0x4a52: 0x00c3, 0x4a53: 0x00c3, 0x4a54: 0x00c3, 0x4a55: 0x00c3, 0x4a56: 0x00c3, // Block 0x12a, offset 0x4a80 - 0x4a80: 0x0080, 0x4a81: 0x0080, 0x4a82: 0x0080, 0x4a83: 0x0080, 0x4a84: 0x0080, 0x4a85: 0x0080, - 0x4a86: 0x0080, 0x4a87: 0x0080, 0x4a88: 0x0080, 0x4a89: 0x0080, 0x4a8a: 0x0080, 0x4a8b: 0x0080, - 0x4a8c: 0x0080, 0x4a8d: 0x0080, 0x4a8e: 0x0080, 0x4a8f: 0x0080, 0x4a90: 0x0080, 0x4a91: 0x0080, - 0x4a92: 0x0080, 0x4a93: 0x0080, 0x4a94: 0x0080, 0x4a95: 0x0080, 0x4a96: 0x0080, 0x4a97: 0x0080, - 0x4a98: 0x0080, 0x4a99: 0x0080, 0x4a9a: 0x0080, 0x4a9b: 0x0080, 0x4a9c: 0x0080, 0x4a9d: 0x0080, - 0x4a9e: 0x0080, 0x4a9f: 0x0080, 0x4aa0: 0x0080, 0x4aa1: 0x0080, 0x4aa2: 0x0080, 0x4aa3: 0x0080, - 0x4aa4: 0x0080, 0x4aa5: 0x0080, 0x4aa6: 0x0080, 0x4aa7: 0x0080, 0x4aa8: 0x0080, 0x4aa9: 0x0080, - 0x4aaa: 0x0080, 0x4aab: 0x0080, - 0x4ab0: 0x0080, 0x4ab1: 0x0080, 0x4ab2: 0x0080, 0x4ab3: 0x0080, 0x4ab4: 0x0080, 0x4ab5: 0x0080, - 0x4ab6: 0x0080, 0x4ab7: 0x0080, 0x4ab8: 0x0080, 0x4ab9: 0x0080, 0x4aba: 0x0080, 0x4abb: 0x0080, - 0x4abc: 0x0080, 0x4abd: 0x0080, 0x4abe: 0x0080, 0x4abf: 0x0080, + 0x4a80: 0x00c2, 0x4a81: 0x00c2, 0x4a82: 0x00c2, 0x4a83: 0x00c2, 0x4a84: 0x00c2, 0x4a85: 0x00c2, + 0x4a86: 0x00c2, 0x4a87: 0x00c2, 0x4a88: 0x00c2, 0x4a89: 0x00c2, 0x4a8a: 0x00c2, 0x4a8b: 0x00c2, + 0x4a8c: 0x00c2, 0x4a8d: 0x00c2, 0x4a8e: 0x00c2, 0x4a8f: 0x00c2, 0x4a90: 0x00c2, 0x4a91: 0x00c2, + 0x4a92: 0x00c2, 0x4a93: 0x00c2, 0x4a94: 0x00c2, 0x4a95: 0x00c2, 0x4a96: 0x00c2, 0x4a97: 0x00c2, + 0x4a98: 0x00c2, 0x4a99: 0x00c2, 0x4a9a: 0x00c2, 0x4a9b: 0x00c2, 0x4a9c: 0x00c2, 0x4a9d: 0x00c2, + 0x4a9e: 0x00c2, 0x4a9f: 0x00c2, 0x4aa0: 0x00c2, 0x4aa1: 0x00c2, 0x4aa2: 0x00c2, 0x4aa3: 0x00c2, + 0x4aa4: 0x00c2, 0x4aa5: 0x00c2, 0x4aa6: 0x00c2, 0x4aa7: 0x00c2, 0x4aa8: 0x00c2, 0x4aa9: 0x00c2, + 0x4aaa: 0x00c2, 0x4aab: 0x00c2, 0x4aac: 0x00c2, 0x4aad: 0x00c2, 0x4aae: 0x00c2, 0x4aaf: 0x00c2, + 0x4ab0: 0x00c2, 0x4ab1: 0x00c2, 0x4ab2: 0x00c2, 0x4ab3: 0x00c2, 0x4ab4: 0x00c2, 0x4ab5: 0x00c2, + 0x4ab6: 0x00c2, 0x4ab7: 0x00c2, 0x4ab8: 0x00c2, 0x4ab9: 0x00c2, 0x4aba: 0x00c2, 0x4abb: 0x00c2, + 0x4abc: 0x00c2, 0x4abd: 0x00c2, 0x4abe: 0x00c2, 0x4abf: 0x00c2, // Block 0x12b, offset 0x4ac0 - 0x4ac0: 0x0080, 0x4ac1: 0x0080, 0x4ac2: 0x0080, 0x4ac3: 0x0080, 0x4ac4: 0x0080, 0x4ac5: 0x0080, - 0x4ac6: 0x0080, 0x4ac7: 0x0080, 0x4ac8: 0x0080, 0x4ac9: 0x0080, 0x4aca: 0x0080, 0x4acb: 0x0080, - 0x4acc: 0x0080, 0x4acd: 0x0080, 0x4ace: 0x0080, 0x4acf: 0x0080, 0x4ad0: 0x0080, 0x4ad1: 0x0080, - 0x4ad2: 0x0080, 0x4ad3: 0x0080, - 0x4ae0: 0x0080, 0x4ae1: 0x0080, 0x4ae2: 0x0080, 0x4ae3: 0x0080, - 0x4ae4: 0x0080, 0x4ae5: 0x0080, 0x4ae6: 0x0080, 0x4ae7: 0x0080, 0x4ae8: 0x0080, 0x4ae9: 0x0080, - 0x4aea: 0x0080, 0x4aeb: 0x0080, 0x4aec: 0x0080, 0x4aed: 0x0080, 0x4aee: 0x0080, - 0x4af1: 0x0080, 0x4af2: 0x0080, 0x4af3: 0x0080, 0x4af4: 0x0080, 0x4af5: 0x0080, - 0x4af6: 0x0080, 0x4af7: 0x0080, 0x4af8: 0x0080, 0x4af9: 0x0080, 0x4afa: 0x0080, 0x4afb: 0x0080, - 0x4afc: 0x0080, 0x4afd: 0x0080, 0x4afe: 0x0080, 0x4aff: 0x0080, + 0x4ac0: 0x00c2, 0x4ac1: 0x00c2, 0x4ac2: 0x00c2, 0x4ac3: 0x00c2, 0x4ac4: 0x00c3, 0x4ac5: 0x00c3, + 0x4ac6: 0x00c3, 0x4ac7: 0x00c3, 0x4ac8: 0x00c3, 0x4ac9: 0x00c3, 0x4aca: 0x00c3, + 0x4ad0: 0x00c0, 0x4ad1: 0x00c0, + 0x4ad2: 0x00c0, 0x4ad3: 0x00c0, 0x4ad4: 0x00c0, 0x4ad5: 0x00c0, 0x4ad6: 0x00c0, 0x4ad7: 0x00c0, + 0x4ad8: 0x00c0, 0x4ad9: 0x00c0, + 0x4ade: 0x0080, 0x4adf: 0x0080, // Block 0x12c, offset 0x4b00 - 0x4b01: 0x0080, 0x4b02: 0x0080, 0x4b03: 0x0080, 0x4b04: 0x0080, 0x4b05: 0x0080, + 0x4b00: 0x0080, 0x4b01: 0x0080, 0x4b02: 0x0080, 0x4b03: 0x0080, 0x4b05: 0x0080, 0x4b06: 0x0080, 0x4b07: 0x0080, 0x4b08: 0x0080, 0x4b09: 0x0080, 0x4b0a: 0x0080, 0x4b0b: 0x0080, - 0x4b0c: 0x0080, 0x4b0d: 0x0080, 0x4b0e: 0x0080, 0x4b0f: 0x0080, 0x4b11: 0x0080, + 0x4b0c: 0x0080, 0x4b0d: 0x0080, 0x4b0e: 0x0080, 0x4b0f: 0x0080, 0x4b10: 0x0080, 0x4b11: 0x0080, 0x4b12: 0x0080, 0x4b13: 0x0080, 0x4b14: 0x0080, 0x4b15: 0x0080, 0x4b16: 0x0080, 0x4b17: 0x0080, 0x4b18: 0x0080, 0x4b19: 0x0080, 0x4b1a: 0x0080, 0x4b1b: 0x0080, 0x4b1c: 0x0080, 0x4b1d: 0x0080, - 0x4b1e: 0x0080, 0x4b1f: 0x0080, 0x4b20: 0x0080, 0x4b21: 0x0080, 0x4b22: 0x0080, 0x4b23: 0x0080, - 0x4b24: 0x0080, 0x4b25: 0x0080, 0x4b26: 0x0080, 0x4b27: 0x0080, 0x4b28: 0x0080, 0x4b29: 0x0080, + 0x4b1e: 0x0080, 0x4b1f: 0x0080, 0x4b21: 0x0080, 0x4b22: 0x0080, + 0x4b24: 0x0080, 0x4b27: 0x0080, 0x4b29: 0x0080, 0x4b2a: 0x0080, 0x4b2b: 0x0080, 0x4b2c: 0x0080, 0x4b2d: 0x0080, 0x4b2e: 0x0080, 0x4b2f: 0x0080, - 0x4b30: 0x0080, 0x4b31: 0x0080, 0x4b32: 0x0080, 0x4b33: 0x0080, 0x4b34: 0x0080, 0x4b35: 0x0080, + 0x4b30: 0x0080, 0x4b31: 0x0080, 0x4b32: 0x0080, 0x4b34: 0x0080, 0x4b35: 0x0080, + 0x4b36: 0x0080, 0x4b37: 0x0080, 0x4b39: 0x0080, 0x4b3b: 0x0080, // Block 0x12d, offset 0x4b40 - 0x4b40: 0x0080, 0x4b41: 0x0080, 0x4b42: 0x0080, 0x4b43: 0x0080, 0x4b44: 0x0080, 0x4b45: 0x0080, - 0x4b46: 0x0080, 0x4b47: 0x0080, 0x4b48: 0x0080, 0x4b49: 0x0080, 0x4b4a: 0x0080, 0x4b4b: 0x0080, - 0x4b4c: 0x0080, 0x4b50: 0x0080, 0x4b51: 0x0080, - 0x4b52: 0x0080, 0x4b53: 0x0080, 0x4b54: 0x0080, 0x4b55: 0x0080, 0x4b56: 0x0080, 0x4b57: 0x0080, - 0x4b58: 0x0080, 0x4b59: 0x0080, 0x4b5a: 0x0080, 0x4b5b: 0x0080, 0x4b5c: 0x0080, 0x4b5d: 0x0080, - 0x4b5e: 0x0080, 0x4b5f: 0x0080, 0x4b60: 0x0080, 0x4b61: 0x0080, 0x4b62: 0x0080, 0x4b63: 0x0080, - 0x4b64: 0x0080, 0x4b65: 0x0080, 0x4b66: 0x0080, 0x4b67: 0x0080, 0x4b68: 0x0080, 0x4b69: 0x0080, - 0x4b6a: 0x0080, 0x4b6b: 0x0080, 0x4b6c: 0x0080, 0x4b6d: 0x0080, 0x4b6e: 0x0080, - 0x4b70: 0x0080, 0x4b71: 0x0080, 0x4b72: 0x0080, 0x4b73: 0x0080, 0x4b74: 0x0080, 0x4b75: 0x0080, - 0x4b76: 0x0080, 0x4b77: 0x0080, 0x4b78: 0x0080, 0x4b79: 0x0080, 0x4b7a: 0x0080, 0x4b7b: 0x0080, - 0x4b7c: 0x0080, 0x4b7d: 0x0080, 0x4b7e: 0x0080, 0x4b7f: 0x0080, + 0x4b42: 0x0080, + 0x4b47: 0x0080, 0x4b49: 0x0080, 0x4b4b: 0x0080, + 0x4b4d: 0x0080, 0x4b4e: 0x0080, 0x4b4f: 0x0080, 0x4b51: 0x0080, + 0x4b52: 0x0080, 0x4b54: 0x0080, 0x4b57: 0x0080, + 0x4b59: 0x0080, 0x4b5b: 0x0080, 0x4b5d: 0x0080, + 0x4b5f: 0x0080, 0x4b61: 0x0080, 0x4b62: 0x0080, + 0x4b64: 0x0080, 0x4b67: 0x0080, 0x4b68: 0x0080, 0x4b69: 0x0080, + 0x4b6a: 0x0080, 0x4b6c: 0x0080, 0x4b6d: 0x0080, 0x4b6e: 0x0080, 0x4b6f: 0x0080, + 0x4b70: 0x0080, 0x4b71: 0x0080, 0x4b72: 0x0080, 0x4b74: 0x0080, 0x4b75: 0x0080, + 0x4b76: 0x0080, 0x4b77: 0x0080, 0x4b79: 0x0080, 0x4b7a: 0x0080, 0x4b7b: 0x0080, + 0x4b7c: 0x0080, 0x4b7e: 0x0080, // Block 0x12e, offset 0x4b80 0x4b80: 0x0080, 0x4b81: 0x0080, 0x4b82: 0x0080, 0x4b83: 0x0080, 0x4b84: 0x0080, 0x4b85: 0x0080, - 0x4b86: 0x0080, 0x4b87: 0x0080, 0x4b88: 0x0080, 0x4b89: 0x0080, 0x4b8a: 0x0080, 0x4b8b: 0x0080, + 0x4b86: 0x0080, 0x4b87: 0x0080, 0x4b88: 0x0080, 0x4b89: 0x0080, 0x4b8b: 0x0080, 0x4b8c: 0x0080, 0x4b8d: 0x0080, 0x4b8e: 0x0080, 0x4b8f: 0x0080, 0x4b90: 0x0080, 0x4b91: 0x0080, 0x4b92: 0x0080, 0x4b93: 0x0080, 0x4b94: 0x0080, 0x4b95: 0x0080, 0x4b96: 0x0080, 0x4b97: 0x0080, - 0x4b98: 0x0080, 0x4b99: 0x0080, 0x4b9a: 0x0080, 0x4b9b: 0x0080, 0x4b9c: 0x0080, 0x4b9d: 0x0080, - 0x4b9e: 0x0080, 0x4b9f: 0x0080, 0x4ba0: 0x0080, 0x4ba1: 0x0080, 0x4ba2: 0x0080, 0x4ba3: 0x0080, - 0x4ba4: 0x0080, 0x4ba5: 0x0080, 0x4ba6: 0x0080, 0x4ba7: 0x0080, 0x4ba8: 0x0080, 0x4ba9: 0x0080, - 0x4baa: 0x0080, 0x4bab: 0x0080, 0x4bac: 0x0080, + 0x4b98: 0x0080, 0x4b99: 0x0080, 0x4b9a: 0x0080, 0x4b9b: 0x0080, + 0x4ba1: 0x0080, 0x4ba2: 0x0080, 0x4ba3: 0x0080, + 0x4ba5: 0x0080, 0x4ba6: 0x0080, 0x4ba7: 0x0080, 0x4ba8: 0x0080, 0x4ba9: 0x0080, + 0x4bab: 0x0080, 0x4bac: 0x0080, 0x4bad: 0x0080, 0x4bae: 0x0080, 0x4baf: 0x0080, + 0x4bb0: 0x0080, 0x4bb1: 0x0080, 0x4bb2: 0x0080, 0x4bb3: 0x0080, 0x4bb4: 0x0080, 0x4bb5: 0x0080, + 0x4bb6: 0x0080, 0x4bb7: 0x0080, 0x4bb8: 0x0080, 0x4bb9: 0x0080, 0x4bba: 0x0080, 0x4bbb: 0x0080, // Block 0x12f, offset 0x4bc0 - 0x4be6: 0x0080, 0x4be7: 0x0080, 0x4be8: 0x0080, 0x4be9: 0x0080, - 0x4bea: 0x0080, 0x4beb: 0x0080, 0x4bec: 0x0080, 0x4bed: 0x0080, 0x4bee: 0x0080, 0x4bef: 0x0080, - 0x4bf0: 0x0080, 0x4bf1: 0x0080, 0x4bf2: 0x0080, 0x4bf3: 0x0080, 0x4bf4: 0x0080, 0x4bf5: 0x0080, - 0x4bf6: 0x0080, 0x4bf7: 0x0080, 0x4bf8: 0x0080, 0x4bf9: 0x0080, 0x4bfa: 0x0080, 0x4bfb: 0x0080, - 0x4bfc: 0x0080, 0x4bfd: 0x0080, 0x4bfe: 0x0080, 0x4bff: 0x0080, + 0x4bf0: 0x0080, 0x4bf1: 0x0080, // Block 0x130, offset 0x4c00 - 0x4c00: 0x008c, 0x4c01: 0x0080, 0x4c02: 0x0080, - 0x4c10: 0x0080, 0x4c11: 0x0080, + 0x4c00: 0x0080, 0x4c01: 0x0080, 0x4c02: 0x0080, 0x4c03: 0x0080, 0x4c04: 0x0080, 0x4c05: 0x0080, + 0x4c06: 0x0080, 0x4c07: 0x0080, 0x4c08: 0x0080, 0x4c09: 0x0080, 0x4c0a: 0x0080, 0x4c0b: 0x0080, + 0x4c0c: 0x0080, 0x4c0d: 0x0080, 0x4c0e: 0x0080, 0x4c0f: 0x0080, 0x4c10: 0x0080, 0x4c11: 0x0080, 0x4c12: 0x0080, 0x4c13: 0x0080, 0x4c14: 0x0080, 0x4c15: 0x0080, 0x4c16: 0x0080, 0x4c17: 0x0080, 0x4c18: 0x0080, 0x4c19: 0x0080, 0x4c1a: 0x0080, 0x4c1b: 0x0080, 0x4c1c: 0x0080, 0x4c1d: 0x0080, 0x4c1e: 0x0080, 0x4c1f: 0x0080, 0x4c20: 0x0080, 0x4c21: 0x0080, 0x4c22: 0x0080, 0x4c23: 0x0080, 0x4c24: 0x0080, 0x4c25: 0x0080, 0x4c26: 0x0080, 0x4c27: 0x0080, 0x4c28: 0x0080, 0x4c29: 0x0080, - 0x4c2a: 0x0080, 0x4c2b: 0x0080, 0x4c2c: 0x0080, 0x4c2d: 0x0080, 0x4c2e: 0x0080, 0x4c2f: 0x0080, + 0x4c2a: 0x0080, 0x4c2b: 0x0080, 0x4c30: 0x0080, 0x4c31: 0x0080, 0x4c32: 0x0080, 0x4c33: 0x0080, 0x4c34: 0x0080, 0x4c35: 0x0080, 0x4c36: 0x0080, 0x4c37: 0x0080, 0x4c38: 0x0080, 0x4c39: 0x0080, 0x4c3a: 0x0080, 0x4c3b: 0x0080, + 0x4c3c: 0x0080, 0x4c3d: 0x0080, 0x4c3e: 0x0080, 0x4c3f: 0x0080, // Block 0x131, offset 0x4c40 0x4c40: 0x0080, 0x4c41: 0x0080, 0x4c42: 0x0080, 0x4c43: 0x0080, 0x4c44: 0x0080, 0x4c45: 0x0080, - 0x4c46: 0x0080, 0x4c47: 0x0080, 0x4c48: 0x0080, - 0x4c50: 0x0080, 0x4c51: 0x0080, + 0x4c46: 0x0080, 0x4c47: 0x0080, 0x4c48: 0x0080, 0x4c49: 0x0080, 0x4c4a: 0x0080, 0x4c4b: 0x0080, + 0x4c4c: 0x0080, 0x4c4d: 0x0080, 0x4c4e: 0x0080, 0x4c4f: 0x0080, 0x4c50: 0x0080, 0x4c51: 0x0080, + 0x4c52: 0x0080, 0x4c53: 0x0080, + 0x4c60: 0x0080, 0x4c61: 0x0080, 0x4c62: 0x0080, 0x4c63: 0x0080, + 0x4c64: 0x0080, 0x4c65: 0x0080, 0x4c66: 0x0080, 0x4c67: 0x0080, 0x4c68: 0x0080, 0x4c69: 0x0080, + 0x4c6a: 0x0080, 0x4c6b: 0x0080, 0x4c6c: 0x0080, 0x4c6d: 0x0080, 0x4c6e: 0x0080, + 0x4c71: 0x0080, 0x4c72: 0x0080, 0x4c73: 0x0080, 0x4c74: 0x0080, 0x4c75: 0x0080, + 0x4c76: 0x0080, 0x4c77: 0x0080, 0x4c78: 0x0080, 0x4c79: 0x0080, 0x4c7a: 0x0080, 0x4c7b: 0x0080, + 0x4c7c: 0x0080, 0x4c7d: 0x0080, 0x4c7e: 0x0080, 0x4c7f: 0x0080, // Block 0x132, offset 0x4c80 - 0x4c80: 0x0080, 0x4c81: 0x0080, 0x4c82: 0x0080, 0x4c83: 0x0080, 0x4c84: 0x0080, 0x4c85: 0x0080, + 0x4c81: 0x0080, 0x4c82: 0x0080, 0x4c83: 0x0080, 0x4c84: 0x0080, 0x4c85: 0x0080, 0x4c86: 0x0080, 0x4c87: 0x0080, 0x4c88: 0x0080, 0x4c89: 0x0080, 0x4c8a: 0x0080, 0x4c8b: 0x0080, - 0x4c8c: 0x0080, 0x4c8d: 0x0080, 0x4c8e: 0x0080, 0x4c8f: 0x0080, 0x4c90: 0x0080, 0x4c91: 0x0080, - 0x4c92: 0x0080, - 0x4ca0: 0x0080, 0x4ca1: 0x0080, 0x4ca2: 0x0080, 0x4ca3: 0x0080, + 0x4c8c: 0x0080, 0x4c8d: 0x0080, 0x4c8e: 0x0080, 0x4c8f: 0x0080, 0x4c91: 0x0080, + 0x4c92: 0x0080, 0x4c93: 0x0080, 0x4c94: 0x0080, 0x4c95: 0x0080, 0x4c96: 0x0080, 0x4c97: 0x0080, + 0x4c98: 0x0080, 0x4c99: 0x0080, 0x4c9a: 0x0080, 0x4c9b: 0x0080, 0x4c9c: 0x0080, 0x4c9d: 0x0080, + 0x4c9e: 0x0080, 0x4c9f: 0x0080, 0x4ca0: 0x0080, 0x4ca1: 0x0080, 0x4ca2: 0x0080, 0x4ca3: 0x0080, 0x4ca4: 0x0080, 0x4ca5: 0x0080, 0x4ca6: 0x0080, 0x4ca7: 0x0080, 0x4ca8: 0x0080, 0x4ca9: 0x0080, - 0x4caa: 0x0080, 0x4cab: 0x0080, 0x4cac: 0x0080, + 0x4caa: 0x0080, 0x4cab: 0x0080, 0x4cac: 0x0080, 0x4cad: 0x0080, 0x4cae: 0x0080, 0x4caf: 0x0080, 0x4cb0: 0x0080, 0x4cb1: 0x0080, 0x4cb2: 0x0080, 0x4cb3: 0x0080, 0x4cb4: 0x0080, 0x4cb5: 0x0080, - 0x4cb6: 0x0080, // Block 0x133, offset 0x4cc0 0x4cc0: 0x0080, 0x4cc1: 0x0080, 0x4cc2: 0x0080, 0x4cc3: 0x0080, 0x4cc4: 0x0080, 0x4cc5: 0x0080, 0x4cc6: 0x0080, 0x4cc7: 0x0080, 0x4cc8: 0x0080, 0x4cc9: 0x0080, 0x4cca: 0x0080, 0x4ccb: 0x0080, - 0x4ccc: 0x0080, 0x4ccd: 0x0080, 0x4cce: 0x0080, 0x4ccf: 0x0080, 0x4cd0: 0x0080, 0x4cd1: 0x0080, + 0x4ccc: 0x0080, 0x4cd0: 0x0080, 0x4cd1: 0x0080, 0x4cd2: 0x0080, 0x4cd3: 0x0080, 0x4cd4: 0x0080, 0x4cd5: 0x0080, 0x4cd6: 0x0080, 0x4cd7: 0x0080, 0x4cd8: 0x0080, 0x4cd9: 0x0080, 0x4cda: 0x0080, 0x4cdb: 0x0080, 0x4cdc: 0x0080, 0x4cdd: 0x0080, 0x4cde: 0x0080, 0x4cdf: 0x0080, 0x4ce0: 0x0080, 0x4ce1: 0x0080, 0x4ce2: 0x0080, 0x4ce3: 0x0080, 0x4ce4: 0x0080, 0x4ce5: 0x0080, 0x4ce6: 0x0080, 0x4ce7: 0x0080, 0x4ce8: 0x0080, 0x4ce9: 0x0080, - 0x4cea: 0x0080, 0x4ceb: 0x0080, 0x4cec: 0x0080, 0x4ced: 0x0080, 0x4cee: 0x0080, 0x4cef: 0x0080, - 0x4cf0: 0x0080, 0x4cf1: 0x0080, 0x4cf2: 0x0080, 0x4cf3: 0x0080, + 0x4cea: 0x0080, 0x4ceb: 0x0080, 0x4cec: 0x0080, 0x4ced: 0x0080, 0x4cee: 0x0080, + 0x4cf0: 0x0080, 0x4cf1: 0x0080, 0x4cf2: 0x0080, 0x4cf3: 0x0080, 0x4cf4: 0x0080, 0x4cf5: 0x0080, + 0x4cf6: 0x0080, 0x4cf7: 0x0080, 0x4cf8: 0x0080, 0x4cf9: 0x0080, 0x4cfa: 0x0080, 0x4cfb: 0x0080, + 0x4cfc: 0x0080, 0x4cfd: 0x0080, 0x4cfe: 0x0080, 0x4cff: 0x0080, // Block 0x134, offset 0x4d00 0x4d00: 0x0080, 0x4d01: 0x0080, 0x4d02: 0x0080, 0x4d03: 0x0080, 0x4d04: 0x0080, 0x4d05: 0x0080, 0x4d06: 0x0080, 0x4d07: 0x0080, 0x4d08: 0x0080, 0x4d09: 0x0080, 0x4d0a: 0x0080, 0x4d0b: 0x0080, 0x4d0c: 0x0080, 0x4d0d: 0x0080, 0x4d0e: 0x0080, 0x4d0f: 0x0080, 0x4d10: 0x0080, 0x4d11: 0x0080, - 0x4d12: 0x0080, 0x4d13: 0x0080, 0x4d14: 0x0080, + 0x4d12: 0x0080, 0x4d13: 0x0080, 0x4d14: 0x0080, 0x4d15: 0x0080, 0x4d16: 0x0080, 0x4d17: 0x0080, + 0x4d18: 0x0080, 0x4d19: 0x0080, 0x4d1a: 0x0080, 0x4d1b: 0x0080, 0x4d1c: 0x0080, 0x4d1d: 0x0080, + 0x4d1e: 0x0080, 0x4d1f: 0x0080, 0x4d20: 0x0080, 0x4d21: 0x0080, 0x4d22: 0x0080, 0x4d23: 0x0080, + 0x4d24: 0x0080, 0x4d25: 0x0080, 0x4d26: 0x0080, 0x4d27: 0x0080, 0x4d28: 0x0080, 0x4d29: 0x0080, + 0x4d2a: 0x0080, 0x4d2b: 0x0080, 0x4d2c: 0x0080, // Block 0x135, offset 0x4d40 - 0x4d40: 0x0080, 0x4d41: 0x0080, 0x4d42: 0x0080, 0x4d43: 0x0080, 0x4d44: 0x0080, 0x4d45: 0x0080, - 0x4d46: 0x0080, 0x4d47: 0x0080, 0x4d48: 0x0080, 0x4d49: 0x0080, 0x4d4a: 0x0080, 0x4d4b: 0x0080, - 0x4d50: 0x0080, 0x4d51: 0x0080, - 0x4d52: 0x0080, 0x4d53: 0x0080, 0x4d54: 0x0080, 0x4d55: 0x0080, 0x4d56: 0x0080, 0x4d57: 0x0080, - 0x4d58: 0x0080, 0x4d59: 0x0080, 0x4d5a: 0x0080, 0x4d5b: 0x0080, 0x4d5c: 0x0080, 0x4d5d: 0x0080, - 0x4d5e: 0x0080, 0x4d5f: 0x0080, 0x4d60: 0x0080, 0x4d61: 0x0080, 0x4d62: 0x0080, 0x4d63: 0x0080, - 0x4d64: 0x0080, 0x4d65: 0x0080, 0x4d66: 0x0080, 0x4d67: 0x0080, 0x4d68: 0x0080, 0x4d69: 0x0080, + 0x4d66: 0x0080, 0x4d67: 0x0080, 0x4d68: 0x0080, 0x4d69: 0x0080, 0x4d6a: 0x0080, 0x4d6b: 0x0080, 0x4d6c: 0x0080, 0x4d6d: 0x0080, 0x4d6e: 0x0080, 0x4d6f: 0x0080, 0x4d70: 0x0080, 0x4d71: 0x0080, 0x4d72: 0x0080, 0x4d73: 0x0080, 0x4d74: 0x0080, 0x4d75: 0x0080, 0x4d76: 0x0080, 0x4d77: 0x0080, 0x4d78: 0x0080, 0x4d79: 0x0080, 0x4d7a: 0x0080, 0x4d7b: 0x0080, 0x4d7c: 0x0080, 0x4d7d: 0x0080, 0x4d7e: 0x0080, 0x4d7f: 0x0080, // Block 0x136, offset 0x4d80 - 0x4d80: 0x0080, 0x4d81: 0x0080, 0x4d82: 0x0080, 0x4d83: 0x0080, 0x4d84: 0x0080, 0x4d85: 0x0080, - 0x4d86: 0x0080, 0x4d87: 0x0080, + 0x4d80: 0x008c, 0x4d81: 0x0080, 0x4d82: 0x0080, 0x4d90: 0x0080, 0x4d91: 0x0080, 0x4d92: 0x0080, 0x4d93: 0x0080, 0x4d94: 0x0080, 0x4d95: 0x0080, 0x4d96: 0x0080, 0x4d97: 0x0080, - 0x4d98: 0x0080, 0x4d99: 0x0080, - 0x4da0: 0x0080, 0x4da1: 0x0080, 0x4da2: 0x0080, 0x4da3: 0x0080, + 0x4d98: 0x0080, 0x4d99: 0x0080, 0x4d9a: 0x0080, 0x4d9b: 0x0080, 0x4d9c: 0x0080, 0x4d9d: 0x0080, + 0x4d9e: 0x0080, 0x4d9f: 0x0080, 0x4da0: 0x0080, 0x4da1: 0x0080, 0x4da2: 0x0080, 0x4da3: 0x0080, 0x4da4: 0x0080, 0x4da5: 0x0080, 0x4da6: 0x0080, 0x4da7: 0x0080, 0x4da8: 0x0080, 0x4da9: 0x0080, 0x4daa: 0x0080, 0x4dab: 0x0080, 0x4dac: 0x0080, 0x4dad: 0x0080, 0x4dae: 0x0080, 0x4daf: 0x0080, 0x4db0: 0x0080, 0x4db1: 0x0080, 0x4db2: 0x0080, 0x4db3: 0x0080, 0x4db4: 0x0080, 0x4db5: 0x0080, 0x4db6: 0x0080, 0x4db7: 0x0080, 0x4db8: 0x0080, 0x4db9: 0x0080, 0x4dba: 0x0080, 0x4dbb: 0x0080, - 0x4dbc: 0x0080, 0x4dbd: 0x0080, 0x4dbe: 0x0080, 0x4dbf: 0x0080, // Block 0x137, offset 0x4dc0 0x4dc0: 0x0080, 0x4dc1: 0x0080, 0x4dc2: 0x0080, 0x4dc3: 0x0080, 0x4dc4: 0x0080, 0x4dc5: 0x0080, - 0x4dc6: 0x0080, 0x4dc7: 0x0080, + 0x4dc6: 0x0080, 0x4dc7: 0x0080, 0x4dc8: 0x0080, 0x4dd0: 0x0080, 0x4dd1: 0x0080, - 0x4dd2: 0x0080, 0x4dd3: 0x0080, 0x4dd4: 0x0080, 0x4dd5: 0x0080, 0x4dd6: 0x0080, 0x4dd7: 0x0080, - 0x4dd8: 0x0080, 0x4dd9: 0x0080, 0x4dda: 0x0080, 0x4ddb: 0x0080, 0x4ddc: 0x0080, 0x4ddd: 0x0080, - 0x4dde: 0x0080, 0x4ddf: 0x0080, 0x4de0: 0x0080, 0x4de1: 0x0080, 0x4de2: 0x0080, 0x4de3: 0x0080, - 0x4de4: 0x0080, 0x4de5: 0x0080, 0x4de6: 0x0080, 0x4de7: 0x0080, 0x4de8: 0x0080, 0x4de9: 0x0080, - 0x4dea: 0x0080, 0x4deb: 0x0080, 0x4dec: 0x0080, 0x4ded: 0x0080, + 0x4de0: 0x0080, 0x4de1: 0x0080, 0x4de2: 0x0080, 0x4de3: 0x0080, + 0x4de4: 0x0080, 0x4de5: 0x0080, // Block 0x138, offset 0x4e00 - 0x4e10: 0x0080, 0x4e11: 0x0080, - 0x4e12: 0x0080, 0x4e13: 0x0080, 0x4e14: 0x0080, 0x4e15: 0x0080, 0x4e16: 0x0080, 0x4e17: 0x0080, - 0x4e18: 0x0080, 0x4e19: 0x0080, 0x4e1a: 0x0080, 0x4e1b: 0x0080, 0x4e1c: 0x0080, 0x4e1d: 0x0080, - 0x4e1e: 0x0080, 0x4e20: 0x0080, 0x4e21: 0x0080, 0x4e22: 0x0080, 0x4e23: 0x0080, - 0x4e24: 0x0080, 0x4e25: 0x0080, 0x4e26: 0x0080, 0x4e27: 0x0080, - 0x4e30: 0x0080, 0x4e33: 0x0080, 0x4e34: 0x0080, 0x4e35: 0x0080, - 0x4e36: 0x0080, 0x4e37: 0x0080, 0x4e38: 0x0080, 0x4e39: 0x0080, 0x4e3a: 0x0080, 0x4e3b: 0x0080, - 0x4e3c: 0x0080, 0x4e3d: 0x0080, 0x4e3e: 0x0080, + 0x4e00: 0x0080, 0x4e01: 0x0080, 0x4e02: 0x0080, 0x4e03: 0x0080, 0x4e04: 0x0080, 0x4e05: 0x0080, + 0x4e06: 0x0080, 0x4e07: 0x0080, 0x4e08: 0x0080, 0x4e09: 0x0080, 0x4e0a: 0x0080, 0x4e0b: 0x0080, + 0x4e0c: 0x0080, 0x4e0d: 0x0080, 0x4e0e: 0x0080, 0x4e0f: 0x0080, 0x4e10: 0x0080, 0x4e11: 0x0080, + 0x4e12: 0x0080, 0x4e13: 0x0080, 0x4e14: 0x0080, + 0x4e20: 0x0080, 0x4e21: 0x0080, 0x4e22: 0x0080, 0x4e23: 0x0080, + 0x4e24: 0x0080, 0x4e25: 0x0080, 0x4e26: 0x0080, 0x4e27: 0x0080, 0x4e28: 0x0080, 0x4e29: 0x0080, + 0x4e2a: 0x0080, 0x4e2b: 0x0080, 0x4e2c: 0x0080, + 0x4e30: 0x0080, 0x4e31: 0x0080, 0x4e32: 0x0080, 0x4e33: 0x0080, 0x4e34: 0x0080, 0x4e35: 0x0080, + 0x4e36: 0x0080, 0x4e37: 0x0080, 0x4e38: 0x0080, // Block 0x139, offset 0x4e40 0x4e40: 0x0080, 0x4e41: 0x0080, 0x4e42: 0x0080, 0x4e43: 0x0080, 0x4e44: 0x0080, 0x4e45: 0x0080, 0x4e46: 0x0080, 0x4e47: 0x0080, 0x4e48: 0x0080, 0x4e49: 0x0080, 0x4e4a: 0x0080, 0x4e4b: 0x0080, - 0x4e50: 0x0080, 0x4e51: 0x0080, + 0x4e4c: 0x0080, 0x4e4d: 0x0080, 0x4e4e: 0x0080, 0x4e4f: 0x0080, 0x4e50: 0x0080, 0x4e51: 0x0080, 0x4e52: 0x0080, 0x4e53: 0x0080, 0x4e54: 0x0080, 0x4e55: 0x0080, 0x4e56: 0x0080, 0x4e57: 0x0080, 0x4e58: 0x0080, 0x4e59: 0x0080, 0x4e5a: 0x0080, 0x4e5b: 0x0080, 0x4e5c: 0x0080, 0x4e5d: 0x0080, - 0x4e5e: 0x0080, + 0x4e5e: 0x0080, 0x4e5f: 0x0080, 0x4e60: 0x0080, 0x4e61: 0x0080, 0x4e62: 0x0080, 0x4e63: 0x0080, + 0x4e64: 0x0080, 0x4e65: 0x0080, 0x4e66: 0x0080, 0x4e67: 0x0080, 0x4e68: 0x0080, 0x4e69: 0x0080, + 0x4e6a: 0x0080, 0x4e6b: 0x0080, 0x4e6c: 0x0080, 0x4e6d: 0x0080, 0x4e6e: 0x0080, 0x4e6f: 0x0080, + 0x4e70: 0x0080, 0x4e71: 0x0080, 0x4e72: 0x0080, 0x4e73: 0x0080, // Block 0x13a, offset 0x4e80 0x4e80: 0x0080, 0x4e81: 0x0080, 0x4e82: 0x0080, 0x4e83: 0x0080, 0x4e84: 0x0080, 0x4e85: 0x0080, 0x4e86: 0x0080, 0x4e87: 0x0080, 0x4e88: 0x0080, 0x4e89: 0x0080, 0x4e8a: 0x0080, 0x4e8b: 0x0080, 0x4e8c: 0x0080, 0x4e8d: 0x0080, 0x4e8e: 0x0080, 0x4e8f: 0x0080, 0x4e90: 0x0080, 0x4e91: 0x0080, + 0x4e92: 0x0080, 0x4e93: 0x0080, 0x4e94: 0x0080, // Block 0x13b, offset 0x4ec0 - 0x4ec0: 0x0080, + 0x4ec0: 0x0080, 0x4ec1: 0x0080, 0x4ec2: 0x0080, 0x4ec3: 0x0080, 0x4ec4: 0x0080, 0x4ec5: 0x0080, + 0x4ec6: 0x0080, 0x4ec7: 0x0080, 0x4ec8: 0x0080, 0x4ec9: 0x0080, 0x4eca: 0x0080, 0x4ecb: 0x0080, + 0x4ed0: 0x0080, 0x4ed1: 0x0080, + 0x4ed2: 0x0080, 0x4ed3: 0x0080, 0x4ed4: 0x0080, 0x4ed5: 0x0080, 0x4ed6: 0x0080, 0x4ed7: 0x0080, + 0x4ed8: 0x0080, 0x4ed9: 0x0080, 0x4eda: 0x0080, 0x4edb: 0x0080, 0x4edc: 0x0080, 0x4edd: 0x0080, + 0x4ede: 0x0080, 0x4edf: 0x0080, 0x4ee0: 0x0080, 0x4ee1: 0x0080, 0x4ee2: 0x0080, 0x4ee3: 0x0080, + 0x4ee4: 0x0080, 0x4ee5: 0x0080, 0x4ee6: 0x0080, 0x4ee7: 0x0080, 0x4ee8: 0x0080, 0x4ee9: 0x0080, + 0x4eea: 0x0080, 0x4eeb: 0x0080, 0x4eec: 0x0080, 0x4eed: 0x0080, 0x4eee: 0x0080, 0x4eef: 0x0080, + 0x4ef0: 0x0080, 0x4ef1: 0x0080, 0x4ef2: 0x0080, 0x4ef3: 0x0080, 0x4ef4: 0x0080, 0x4ef5: 0x0080, + 0x4ef6: 0x0080, 0x4ef7: 0x0080, 0x4ef8: 0x0080, 0x4ef9: 0x0080, 0x4efa: 0x0080, 0x4efb: 0x0080, + 0x4efc: 0x0080, 0x4efd: 0x0080, 0x4efe: 0x0080, 0x4eff: 0x0080, // Block 0x13c, offset 0x4f00 - 0x4f00: 0x00cc, 0x4f01: 0x00cc, 0x4f02: 0x00cc, 0x4f03: 0x00cc, 0x4f04: 0x00cc, 0x4f05: 0x00cc, - 0x4f06: 0x00cc, 0x4f07: 0x00cc, 0x4f08: 0x00cc, 0x4f09: 0x00cc, 0x4f0a: 0x00cc, 0x4f0b: 0x00cc, - 0x4f0c: 0x00cc, 0x4f0d: 0x00cc, 0x4f0e: 0x00cc, 0x4f0f: 0x00cc, 0x4f10: 0x00cc, 0x4f11: 0x00cc, - 0x4f12: 0x00cc, 0x4f13: 0x00cc, 0x4f14: 0x00cc, 0x4f15: 0x00cc, 0x4f16: 0x00cc, + 0x4f00: 0x0080, 0x4f01: 0x0080, 0x4f02: 0x0080, 0x4f03: 0x0080, 0x4f04: 0x0080, 0x4f05: 0x0080, + 0x4f06: 0x0080, 0x4f07: 0x0080, + 0x4f10: 0x0080, 0x4f11: 0x0080, + 0x4f12: 0x0080, 0x4f13: 0x0080, 0x4f14: 0x0080, 0x4f15: 0x0080, 0x4f16: 0x0080, 0x4f17: 0x0080, + 0x4f18: 0x0080, 0x4f19: 0x0080, + 0x4f20: 0x0080, 0x4f21: 0x0080, 0x4f22: 0x0080, 0x4f23: 0x0080, + 0x4f24: 0x0080, 0x4f25: 0x0080, 0x4f26: 0x0080, 0x4f27: 0x0080, 0x4f28: 0x0080, 0x4f29: 0x0080, + 0x4f2a: 0x0080, 0x4f2b: 0x0080, 0x4f2c: 0x0080, 0x4f2d: 0x0080, 0x4f2e: 0x0080, 0x4f2f: 0x0080, + 0x4f30: 0x0080, 0x4f31: 0x0080, 0x4f32: 0x0080, 0x4f33: 0x0080, 0x4f34: 0x0080, 0x4f35: 0x0080, + 0x4f36: 0x0080, 0x4f37: 0x0080, 0x4f38: 0x0080, 0x4f39: 0x0080, 0x4f3a: 0x0080, 0x4f3b: 0x0080, + 0x4f3c: 0x0080, 0x4f3d: 0x0080, 0x4f3e: 0x0080, 0x4f3f: 0x0080, // Block 0x13d, offset 0x4f40 - 0x4f40: 0x00cc, 0x4f41: 0x00cc, 0x4f42: 0x00cc, 0x4f43: 0x00cc, 0x4f44: 0x00cc, 0x4f45: 0x00cc, - 0x4f46: 0x00cc, 0x4f47: 0x00cc, 0x4f48: 0x00cc, 0x4f49: 0x00cc, 0x4f4a: 0x00cc, 0x4f4b: 0x00cc, - 0x4f4c: 0x00cc, 0x4f4d: 0x00cc, 0x4f4e: 0x00cc, 0x4f4f: 0x00cc, 0x4f50: 0x00cc, 0x4f51: 0x00cc, - 0x4f52: 0x00cc, 0x4f53: 0x00cc, 0x4f54: 0x00cc, 0x4f55: 0x00cc, 0x4f56: 0x00cc, 0x4f57: 0x00cc, - 0x4f58: 0x00cc, 0x4f59: 0x00cc, 0x4f5a: 0x00cc, 0x4f5b: 0x00cc, 0x4f5c: 0x00cc, 0x4f5d: 0x00cc, - 0x4f5e: 0x00cc, 0x4f5f: 0x00cc, 0x4f60: 0x00cc, 0x4f61: 0x00cc, 0x4f62: 0x00cc, 0x4f63: 0x00cc, - 0x4f64: 0x00cc, 0x4f65: 0x00cc, 0x4f66: 0x00cc, 0x4f67: 0x00cc, 0x4f68: 0x00cc, 0x4f69: 0x00cc, - 0x4f6a: 0x00cc, 0x4f6b: 0x00cc, 0x4f6c: 0x00cc, 0x4f6d: 0x00cc, 0x4f6e: 0x00cc, 0x4f6f: 0x00cc, - 0x4f70: 0x00cc, 0x4f71: 0x00cc, 0x4f72: 0x00cc, 0x4f73: 0x00cc, 0x4f74: 0x00cc, + 0x4f40: 0x0080, 0x4f41: 0x0080, 0x4f42: 0x0080, 0x4f43: 0x0080, 0x4f44: 0x0080, 0x4f45: 0x0080, + 0x4f46: 0x0080, 0x4f47: 0x0080, + 0x4f50: 0x0080, 0x4f51: 0x0080, + 0x4f52: 0x0080, 0x4f53: 0x0080, 0x4f54: 0x0080, 0x4f55: 0x0080, 0x4f56: 0x0080, 0x4f57: 0x0080, + 0x4f58: 0x0080, 0x4f59: 0x0080, 0x4f5a: 0x0080, 0x4f5b: 0x0080, 0x4f5c: 0x0080, 0x4f5d: 0x0080, + 0x4f5e: 0x0080, 0x4f5f: 0x0080, 0x4f60: 0x0080, 0x4f61: 0x0080, 0x4f62: 0x0080, 0x4f63: 0x0080, + 0x4f64: 0x0080, 0x4f65: 0x0080, 0x4f66: 0x0080, 0x4f67: 0x0080, 0x4f68: 0x0080, 0x4f69: 0x0080, + 0x4f6a: 0x0080, 0x4f6b: 0x0080, 0x4f6c: 0x0080, 0x4f6d: 0x0080, // Block 0x13e, offset 0x4f80 - 0x4f80: 0x00cc, 0x4f81: 0x00cc, 0x4f82: 0x00cc, 0x4f83: 0x00cc, 0x4f84: 0x00cc, 0x4f85: 0x00cc, - 0x4f86: 0x00cc, 0x4f87: 0x00cc, 0x4f88: 0x00cc, 0x4f89: 0x00cc, 0x4f8a: 0x00cc, 0x4f8b: 0x00cc, - 0x4f8c: 0x00cc, 0x4f8d: 0x00cc, 0x4f8e: 0x00cc, 0x4f8f: 0x00cc, 0x4f90: 0x00cc, 0x4f91: 0x00cc, - 0x4f92: 0x00cc, 0x4f93: 0x00cc, 0x4f94: 0x00cc, 0x4f95: 0x00cc, 0x4f96: 0x00cc, 0x4f97: 0x00cc, - 0x4f98: 0x00cc, 0x4f99: 0x00cc, 0x4f9a: 0x00cc, 0x4f9b: 0x00cc, 0x4f9c: 0x00cc, 0x4f9d: 0x00cc, - 0x4fa0: 0x00cc, 0x4fa1: 0x00cc, 0x4fa2: 0x00cc, 0x4fa3: 0x00cc, - 0x4fa4: 0x00cc, 0x4fa5: 0x00cc, 0x4fa6: 0x00cc, 0x4fa7: 0x00cc, 0x4fa8: 0x00cc, 0x4fa9: 0x00cc, - 0x4faa: 0x00cc, 0x4fab: 0x00cc, 0x4fac: 0x00cc, 0x4fad: 0x00cc, 0x4fae: 0x00cc, 0x4faf: 0x00cc, - 0x4fb0: 0x00cc, 0x4fb1: 0x00cc, 0x4fb2: 0x00cc, 0x4fb3: 0x00cc, 0x4fb4: 0x00cc, 0x4fb5: 0x00cc, - 0x4fb6: 0x00cc, 0x4fb7: 0x00cc, 0x4fb8: 0x00cc, 0x4fb9: 0x00cc, 0x4fba: 0x00cc, 0x4fbb: 0x00cc, - 0x4fbc: 0x00cc, 0x4fbd: 0x00cc, 0x4fbe: 0x00cc, 0x4fbf: 0x00cc, + 0x4f80: 0x0080, 0x4f81: 0x0080, 0x4f82: 0x0080, 0x4f83: 0x0080, 0x4f84: 0x0080, 0x4f85: 0x0080, + 0x4f86: 0x0080, 0x4f87: 0x0080, 0x4f88: 0x0080, 0x4f89: 0x0080, 0x4f8a: 0x0080, 0x4f8b: 0x0080, + 0x4f90: 0x0080, 0x4f91: 0x0080, + 0x4f92: 0x0080, 0x4f93: 0x0080, 0x4f94: 0x0080, 0x4f95: 0x0080, 0x4f96: 0x0080, 0x4f97: 0x0080, + 0x4f98: 0x0080, 0x4f99: 0x0080, 0x4f9a: 0x0080, 0x4f9b: 0x0080, 0x4f9c: 0x0080, 0x4f9d: 0x0080, + 0x4f9e: 0x0080, 0x4f9f: 0x0080, 0x4fa0: 0x0080, 0x4fa1: 0x0080, 0x4fa2: 0x0080, 0x4fa3: 0x0080, + 0x4fa4: 0x0080, 0x4fa5: 0x0080, 0x4fa6: 0x0080, 0x4fa7: 0x0080, 0x4fa8: 0x0080, 0x4fa9: 0x0080, + 0x4faa: 0x0080, 0x4fab: 0x0080, 0x4fac: 0x0080, 0x4fad: 0x0080, 0x4fae: 0x0080, 0x4faf: 0x0080, + 0x4fb0: 0x0080, 0x4fb1: 0x0080, 0x4fb2: 0x0080, 0x4fb3: 0x0080, 0x4fb4: 0x0080, 0x4fb5: 0x0080, + 0x4fb6: 0x0080, 0x4fb7: 0x0080, 0x4fb8: 0x0080, 0x4fb9: 0x0080, 0x4fba: 0x0080, 0x4fbb: 0x0080, + 0x4fbc: 0x0080, 0x4fbd: 0x0080, 0x4fbe: 0x0080, // Block 0x13f, offset 0x4fc0 - 0x4fc0: 0x00cc, 0x4fc1: 0x00cc, 0x4fc2: 0x00cc, 0x4fc3: 0x00cc, 0x4fc4: 0x00cc, 0x4fc5: 0x00cc, - 0x4fc6: 0x00cc, 0x4fc7: 0x00cc, 0x4fc8: 0x00cc, 0x4fc9: 0x00cc, 0x4fca: 0x00cc, 0x4fcb: 0x00cc, - 0x4fcc: 0x00cc, 0x4fcd: 0x00cc, 0x4fce: 0x00cc, 0x4fcf: 0x00cc, 0x4fd0: 0x00cc, 0x4fd1: 0x00cc, - 0x4fd2: 0x00cc, 0x4fd3: 0x00cc, 0x4fd4: 0x00cc, 0x4fd5: 0x00cc, 0x4fd6: 0x00cc, 0x4fd7: 0x00cc, - 0x4fd8: 0x00cc, 0x4fd9: 0x00cc, 0x4fda: 0x00cc, 0x4fdb: 0x00cc, 0x4fdc: 0x00cc, 0x4fdd: 0x00cc, - 0x4fde: 0x00cc, 0x4fdf: 0x00cc, 0x4fe0: 0x00cc, 0x4fe1: 0x00cc, + 0x4fc0: 0x0080, 0x4fc1: 0x0080, 0x4fc2: 0x0080, 0x4fc3: 0x0080, 0x4fc4: 0x0080, 0x4fc5: 0x0080, + 0x4fc6: 0x0080, 0x4fc7: 0x0080, 0x4fc8: 0x0080, 0x4fc9: 0x0080, 0x4fca: 0x0080, 0x4fcb: 0x0080, + 0x4fcc: 0x0080, 0x4fd0: 0x0080, 0x4fd1: 0x0080, + 0x4fd2: 0x0080, 0x4fd3: 0x0080, 0x4fd4: 0x0080, 0x4fd5: 0x0080, 0x4fd6: 0x0080, 0x4fd7: 0x0080, + 0x4fd8: 0x0080, 0x4fd9: 0x0080, 0x4fda: 0x0080, 0x4fdb: 0x0080, 0x4fdc: 0x0080, 0x4fdd: 0x0080, + 0x4fde: 0x0080, 0x4fdf: 0x0080, 0x4fe0: 0x0080, 0x4fe1: 0x0080, 0x4fe2: 0x0080, 0x4fe3: 0x0080, + 0x4fe4: 0x0080, 0x4fe5: 0x0080, 0x4fe6: 0x0080, 0x4fe7: 0x0080, 0x4fe8: 0x0080, 0x4fe9: 0x0080, + 0x4fea: 0x0080, 0x4feb: 0x0080, // Block 0x140, offset 0x5000 - 0x5000: 0x008c, 0x5001: 0x008c, 0x5002: 0x008c, 0x5003: 0x008c, 0x5004: 0x008c, 0x5005: 0x008c, - 0x5006: 0x008c, 0x5007: 0x008c, 0x5008: 0x008c, 0x5009: 0x008c, 0x500a: 0x008c, 0x500b: 0x008c, - 0x500c: 0x008c, 0x500d: 0x008c, 0x500e: 0x008c, 0x500f: 0x008c, 0x5010: 0x008c, 0x5011: 0x008c, - 0x5012: 0x008c, 0x5013: 0x008c, 0x5014: 0x008c, 0x5015: 0x008c, 0x5016: 0x008c, 0x5017: 0x008c, - 0x5018: 0x008c, 0x5019: 0x008c, 0x501a: 0x008c, 0x501b: 0x008c, 0x501c: 0x008c, 0x501d: 0x008c, + 0x5000: 0x0080, 0x5001: 0x0080, 0x5002: 0x0080, 0x5003: 0x0080, 0x5004: 0x0080, 0x5005: 0x0080, + 0x5006: 0x0080, 0x5007: 0x0080, 0x5008: 0x0080, 0x5009: 0x0080, 0x500a: 0x0080, 0x500b: 0x0080, + 0x500c: 0x0080, 0x500d: 0x0080, 0x500e: 0x0080, 0x500f: 0x0080, 0x5010: 0x0080, 0x5011: 0x0080, + 0x5012: 0x0080, 0x5013: 0x0080, 0x5014: 0x0080, 0x5015: 0x0080, 0x5016: 0x0080, 0x5017: 0x0080, // Block 0x141, offset 0x5040 - 0x5041: 0x0040, - 0x5060: 0x0040, 0x5061: 0x0040, 0x5062: 0x0040, 0x5063: 0x0040, - 0x5064: 0x0040, 0x5065: 0x0040, 0x5066: 0x0040, 0x5067: 0x0040, 0x5068: 0x0040, 0x5069: 0x0040, - 0x506a: 0x0040, 0x506b: 0x0040, 0x506c: 0x0040, 0x506d: 0x0040, 0x506e: 0x0040, 0x506f: 0x0040, - 0x5070: 0x0040, 0x5071: 0x0040, 0x5072: 0x0040, 0x5073: 0x0040, 0x5074: 0x0040, 0x5075: 0x0040, - 0x5076: 0x0040, 0x5077: 0x0040, 0x5078: 0x0040, 0x5079: 0x0040, 0x507a: 0x0040, 0x507b: 0x0040, - 0x507c: 0x0040, 0x507d: 0x0040, 0x507e: 0x0040, 0x507f: 0x0040, + 0x5040: 0x0080, + 0x5050: 0x0080, 0x5051: 0x0080, + 0x5052: 0x0080, 0x5053: 0x0080, 0x5054: 0x0080, 0x5055: 0x0080, 0x5056: 0x0080, 0x5057: 0x0080, + 0x5058: 0x0080, 0x5059: 0x0080, 0x505a: 0x0080, 0x505b: 0x0080, 0x505c: 0x0080, 0x505d: 0x0080, + 0x505e: 0x0080, 0x505f: 0x0080, 0x5060: 0x0080, 0x5061: 0x0080, 0x5062: 0x0080, 0x5063: 0x0080, + 0x5064: 0x0080, 0x5065: 0x0080, 0x5066: 0x0080, // Block 0x142, offset 0x5080 - 0x5080: 0x0040, 0x5081: 0x0040, 0x5082: 0x0040, 0x5083: 0x0040, 0x5084: 0x0040, 0x5085: 0x0040, - 0x5086: 0x0040, 0x5087: 0x0040, 0x5088: 0x0040, 0x5089: 0x0040, 0x508a: 0x0040, 0x508b: 0x0040, - 0x508c: 0x0040, 0x508d: 0x0040, 0x508e: 0x0040, 0x508f: 0x0040, 0x5090: 0x0040, 0x5091: 0x0040, - 0x5092: 0x0040, 0x5093: 0x0040, 0x5094: 0x0040, 0x5095: 0x0040, 0x5096: 0x0040, 0x5097: 0x0040, - 0x5098: 0x0040, 0x5099: 0x0040, 0x509a: 0x0040, 0x509b: 0x0040, 0x509c: 0x0040, 0x509d: 0x0040, - 0x509e: 0x0040, 0x509f: 0x0040, 0x50a0: 0x0040, 0x50a1: 0x0040, 0x50a2: 0x0040, 0x50a3: 0x0040, - 0x50a4: 0x0040, 0x50a5: 0x0040, 0x50a6: 0x0040, 0x50a7: 0x0040, 0x50a8: 0x0040, 0x50a9: 0x0040, - 0x50aa: 0x0040, 0x50ab: 0x0040, 0x50ac: 0x0040, 0x50ad: 0x0040, 0x50ae: 0x0040, 0x50af: 0x0040, + 0x5080: 0x00cc, 0x5081: 0x00cc, 0x5082: 0x00cc, 0x5083: 0x00cc, 0x5084: 0x00cc, 0x5085: 0x00cc, + 0x5086: 0x00cc, 0x5087: 0x00cc, 0x5088: 0x00cc, 0x5089: 0x00cc, 0x508a: 0x00cc, 0x508b: 0x00cc, + 0x508c: 0x00cc, 0x508d: 0x00cc, 0x508e: 0x00cc, 0x508f: 0x00cc, 0x5090: 0x00cc, 0x5091: 0x00cc, + 0x5092: 0x00cc, 0x5093: 0x00cc, 0x5094: 0x00cc, 0x5095: 0x00cc, 0x5096: 0x00cc, // Block 0x143, offset 0x50c0 - 0x50c0: 0x0040, 0x50c1: 0x0040, 0x50c2: 0x0040, 0x50c3: 0x0040, 0x50c4: 0x0040, 0x50c5: 0x0040, - 0x50c6: 0x0040, 0x50c7: 0x0040, 0x50c8: 0x0040, 0x50c9: 0x0040, 0x50ca: 0x0040, 0x50cb: 0x0040, - 0x50cc: 0x0040, 0x50cd: 0x0040, 0x50ce: 0x0040, 0x50cf: 0x0040, 0x50d0: 0x0040, 0x50d1: 0x0040, - 0x50d2: 0x0040, 0x50d3: 0x0040, 0x50d4: 0x0040, 0x50d5: 0x0040, 0x50d6: 0x0040, 0x50d7: 0x0040, - 0x50d8: 0x0040, 0x50d9: 0x0040, 0x50da: 0x0040, 0x50db: 0x0040, 0x50dc: 0x0040, 0x50dd: 0x0040, - 0x50de: 0x0040, 0x50df: 0x0040, 0x50e0: 0x0040, 0x50e1: 0x0040, 0x50e2: 0x0040, 0x50e3: 0x0040, - 0x50e4: 0x0040, 0x50e5: 0x0040, 0x50e6: 0x0040, 0x50e7: 0x0040, 0x50e8: 0x0040, 0x50e9: 0x0040, - 0x50ea: 0x0040, 0x50eb: 0x0040, 0x50ec: 0x0040, 0x50ed: 0x0040, 0x50ee: 0x0040, 0x50ef: 0x0040, - 0x50f0: 0x0040, 0x50f1: 0x0040, 0x50f2: 0x0040, 0x50f3: 0x0040, 0x50f4: 0x0040, 0x50f5: 0x0040, - 0x50f6: 0x0040, 0x50f7: 0x0040, 0x50f8: 0x0040, 0x50f9: 0x0040, 0x50fa: 0x0040, 0x50fb: 0x0040, - 0x50fc: 0x0040, 0x50fd: 0x0040, + 0x50c0: 0x00cc, 0x50c1: 0x00cc, 0x50c2: 0x00cc, 0x50c3: 0x00cc, 0x50c4: 0x00cc, 0x50c5: 0x00cc, + 0x50c6: 0x00cc, 0x50c7: 0x00cc, 0x50c8: 0x00cc, 0x50c9: 0x00cc, 0x50ca: 0x00cc, 0x50cb: 0x00cc, + 0x50cc: 0x00cc, 0x50cd: 0x00cc, 0x50ce: 0x00cc, 0x50cf: 0x00cc, 0x50d0: 0x00cc, 0x50d1: 0x00cc, + 0x50d2: 0x00cc, 0x50d3: 0x00cc, 0x50d4: 0x00cc, 0x50d5: 0x00cc, 0x50d6: 0x00cc, 0x50d7: 0x00cc, + 0x50d8: 0x00cc, 0x50d9: 0x00cc, 0x50da: 0x00cc, 0x50db: 0x00cc, 0x50dc: 0x00cc, 0x50dd: 0x00cc, + 0x50de: 0x00cc, 0x50df: 0x00cc, 0x50e0: 0x00cc, 0x50e1: 0x00cc, 0x50e2: 0x00cc, 0x50e3: 0x00cc, + 0x50e4: 0x00cc, 0x50e5: 0x00cc, 0x50e6: 0x00cc, 0x50e7: 0x00cc, 0x50e8: 0x00cc, 0x50e9: 0x00cc, + 0x50ea: 0x00cc, 0x50eb: 0x00cc, 0x50ec: 0x00cc, 0x50ed: 0x00cc, 0x50ee: 0x00cc, 0x50ef: 0x00cc, + 0x50f0: 0x00cc, 0x50f1: 0x00cc, 0x50f2: 0x00cc, 0x50f3: 0x00cc, 0x50f4: 0x00cc, + // Block 0x144, offset 0x5100 + 0x5100: 0x00cc, 0x5101: 0x00cc, 0x5102: 0x00cc, 0x5103: 0x00cc, 0x5104: 0x00cc, 0x5105: 0x00cc, + 0x5106: 0x00cc, 0x5107: 0x00cc, 0x5108: 0x00cc, 0x5109: 0x00cc, 0x510a: 0x00cc, 0x510b: 0x00cc, + 0x510c: 0x00cc, 0x510d: 0x00cc, 0x510e: 0x00cc, 0x510f: 0x00cc, 0x5110: 0x00cc, 0x5111: 0x00cc, + 0x5112: 0x00cc, 0x5113: 0x00cc, 0x5114: 0x00cc, 0x5115: 0x00cc, 0x5116: 0x00cc, 0x5117: 0x00cc, + 0x5118: 0x00cc, 0x5119: 0x00cc, 0x511a: 0x00cc, 0x511b: 0x00cc, 0x511c: 0x00cc, 0x511d: 0x00cc, + 0x5120: 0x00cc, 0x5121: 0x00cc, 0x5122: 0x00cc, 0x5123: 0x00cc, + 0x5124: 0x00cc, 0x5125: 0x00cc, 0x5126: 0x00cc, 0x5127: 0x00cc, 0x5128: 0x00cc, 0x5129: 0x00cc, + 0x512a: 0x00cc, 0x512b: 0x00cc, 0x512c: 0x00cc, 0x512d: 0x00cc, 0x512e: 0x00cc, 0x512f: 0x00cc, + 0x5130: 0x00cc, 0x5131: 0x00cc, 0x5132: 0x00cc, 0x5133: 0x00cc, 0x5134: 0x00cc, 0x5135: 0x00cc, + 0x5136: 0x00cc, 0x5137: 0x00cc, 0x5138: 0x00cc, 0x5139: 0x00cc, 0x513a: 0x00cc, 0x513b: 0x00cc, + 0x513c: 0x00cc, 0x513d: 0x00cc, 0x513e: 0x00cc, 0x513f: 0x00cc, + // Block 0x145, offset 0x5140 + 0x5140: 0x00cc, 0x5141: 0x00cc, 0x5142: 0x00cc, 0x5143: 0x00cc, 0x5144: 0x00cc, 0x5145: 0x00cc, + 0x5146: 0x00cc, 0x5147: 0x00cc, 0x5148: 0x00cc, 0x5149: 0x00cc, 0x514a: 0x00cc, 0x514b: 0x00cc, + 0x514c: 0x00cc, 0x514d: 0x00cc, 0x514e: 0x00cc, 0x514f: 0x00cc, 0x5150: 0x00cc, 0x5151: 0x00cc, + 0x5152: 0x00cc, 0x5153: 0x00cc, 0x5154: 0x00cc, 0x5155: 0x00cc, 0x5156: 0x00cc, 0x5157: 0x00cc, + 0x5158: 0x00cc, 0x5159: 0x00cc, 0x515a: 0x00cc, 0x515b: 0x00cc, 0x515c: 0x00cc, 0x515d: 0x00cc, + 0x515e: 0x00cc, 0x515f: 0x00cc, 0x5160: 0x00cc, 0x5161: 0x00cc, + 0x5170: 0x00cc, 0x5171: 0x00cc, 0x5172: 0x00cc, 0x5173: 0x00cc, 0x5174: 0x00cc, 0x5175: 0x00cc, + 0x5176: 0x00cc, 0x5177: 0x00cc, 0x5178: 0x00cc, 0x5179: 0x00cc, 0x517a: 0x00cc, 0x517b: 0x00cc, + 0x517c: 0x00cc, 0x517d: 0x00cc, 0x517e: 0x00cc, 0x517f: 0x00cc, + // Block 0x146, offset 0x5180 + 0x5180: 0x00cc, 0x5181: 0x00cc, 0x5182: 0x00cc, 0x5183: 0x00cc, 0x5184: 0x00cc, 0x5185: 0x00cc, + 0x5186: 0x00cc, 0x5187: 0x00cc, 0x5188: 0x00cc, 0x5189: 0x00cc, 0x518a: 0x00cc, 0x518b: 0x00cc, + 0x518c: 0x00cc, 0x518d: 0x00cc, 0x518e: 0x00cc, 0x518f: 0x00cc, 0x5190: 0x00cc, 0x5191: 0x00cc, + 0x5192: 0x00cc, 0x5193: 0x00cc, 0x5194: 0x00cc, 0x5195: 0x00cc, 0x5196: 0x00cc, 0x5197: 0x00cc, + 0x5198: 0x00cc, 0x5199: 0x00cc, 0x519a: 0x00cc, 0x519b: 0x00cc, 0x519c: 0x00cc, 0x519d: 0x00cc, + 0x519e: 0x00cc, 0x519f: 0x00cc, 0x51a0: 0x00cc, + // Block 0x147, offset 0x51c0 + 0x51c0: 0x008c, 0x51c1: 0x008c, 0x51c2: 0x008c, 0x51c3: 0x008c, 0x51c4: 0x008c, 0x51c5: 0x008c, + 0x51c6: 0x008c, 0x51c7: 0x008c, 0x51c8: 0x008c, 0x51c9: 0x008c, 0x51ca: 0x008c, 0x51cb: 0x008c, + 0x51cc: 0x008c, 0x51cd: 0x008c, 0x51ce: 0x008c, 0x51cf: 0x008c, 0x51d0: 0x008c, 0x51d1: 0x008c, + 0x51d2: 0x008c, 0x51d3: 0x008c, 0x51d4: 0x008c, 0x51d5: 0x008c, 0x51d6: 0x008c, 0x51d7: 0x008c, + 0x51d8: 0x008c, 0x51d9: 0x008c, 0x51da: 0x008c, 0x51db: 0x008c, 0x51dc: 0x008c, 0x51dd: 0x008c, + // Block 0x148, offset 0x5200 + 0x5201: 0x0040, + 0x5220: 0x0040, 0x5221: 0x0040, 0x5222: 0x0040, 0x5223: 0x0040, + 0x5224: 0x0040, 0x5225: 0x0040, 0x5226: 0x0040, 0x5227: 0x0040, 0x5228: 0x0040, 0x5229: 0x0040, + 0x522a: 0x0040, 0x522b: 0x0040, 0x522c: 0x0040, 0x522d: 0x0040, 0x522e: 0x0040, 0x522f: 0x0040, + 0x5230: 0x0040, 0x5231: 0x0040, 0x5232: 0x0040, 0x5233: 0x0040, 0x5234: 0x0040, 0x5235: 0x0040, + 0x5236: 0x0040, 0x5237: 0x0040, 0x5238: 0x0040, 0x5239: 0x0040, 0x523a: 0x0040, 0x523b: 0x0040, + 0x523c: 0x0040, 0x523d: 0x0040, 0x523e: 0x0040, 0x523f: 0x0040, + // Block 0x149, offset 0x5240 + 0x5240: 0x0040, 0x5241: 0x0040, 0x5242: 0x0040, 0x5243: 0x0040, 0x5244: 0x0040, 0x5245: 0x0040, + 0x5246: 0x0040, 0x5247: 0x0040, 0x5248: 0x0040, 0x5249: 0x0040, 0x524a: 0x0040, 0x524b: 0x0040, + 0x524c: 0x0040, 0x524d: 0x0040, 0x524e: 0x0040, 0x524f: 0x0040, 0x5250: 0x0040, 0x5251: 0x0040, + 0x5252: 0x0040, 0x5253: 0x0040, 0x5254: 0x0040, 0x5255: 0x0040, 0x5256: 0x0040, 0x5257: 0x0040, + 0x5258: 0x0040, 0x5259: 0x0040, 0x525a: 0x0040, 0x525b: 0x0040, 0x525c: 0x0040, 0x525d: 0x0040, + 0x525e: 0x0040, 0x525f: 0x0040, 0x5260: 0x0040, 0x5261: 0x0040, 0x5262: 0x0040, 0x5263: 0x0040, + 0x5264: 0x0040, 0x5265: 0x0040, 0x5266: 0x0040, 0x5267: 0x0040, 0x5268: 0x0040, 0x5269: 0x0040, + 0x526a: 0x0040, 0x526b: 0x0040, 0x526c: 0x0040, 0x526d: 0x0040, 0x526e: 0x0040, 0x526f: 0x0040, + // Block 0x14a, offset 0x5280 + 0x5280: 0x0040, 0x5281: 0x0040, 0x5282: 0x0040, 0x5283: 0x0040, 0x5284: 0x0040, 0x5285: 0x0040, + 0x5286: 0x0040, 0x5287: 0x0040, 0x5288: 0x0040, 0x5289: 0x0040, 0x528a: 0x0040, 0x528b: 0x0040, + 0x528c: 0x0040, 0x528d: 0x0040, 0x528e: 0x0040, 0x528f: 0x0040, 0x5290: 0x0040, 0x5291: 0x0040, + 0x5292: 0x0040, 0x5293: 0x0040, 0x5294: 0x0040, 0x5295: 0x0040, 0x5296: 0x0040, 0x5297: 0x0040, + 0x5298: 0x0040, 0x5299: 0x0040, 0x529a: 0x0040, 0x529b: 0x0040, 0x529c: 0x0040, 0x529d: 0x0040, + 0x529e: 0x0040, 0x529f: 0x0040, 0x52a0: 0x0040, 0x52a1: 0x0040, 0x52a2: 0x0040, 0x52a3: 0x0040, + 0x52a4: 0x0040, 0x52a5: 0x0040, 0x52a6: 0x0040, 0x52a7: 0x0040, 0x52a8: 0x0040, 0x52a9: 0x0040, + 0x52aa: 0x0040, 0x52ab: 0x0040, 0x52ac: 0x0040, 0x52ad: 0x0040, 0x52ae: 0x0040, 0x52af: 0x0040, + 0x52b0: 0x0040, 0x52b1: 0x0040, 0x52b2: 0x0040, 0x52b3: 0x0040, 0x52b4: 0x0040, 0x52b5: 0x0040, + 0x52b6: 0x0040, 0x52b7: 0x0040, 0x52b8: 0x0040, 0x52b9: 0x0040, 0x52ba: 0x0040, 0x52bb: 0x0040, + 0x52bc: 0x0040, 0x52bd: 0x0040, } -// derivedPropertiesIndex: 36 blocks, 2304 entries, 4608 bytes +// derivedPropertiesIndex: 37 blocks, 2368 entries, 4736 bytes // Block 0 is the zero block. -var derivedPropertiesIndex = [2304]uint16{ +var derivedPropertiesIndex = [2368]uint16{ // Block 0x0, offset 0x0 // Block 0x1, offset 0x40 // Block 0x2, offset 0x80 @@ -3570,7 +3661,7 @@ var derivedPropertiesIndex = [2304]uint16{ 0xd8: 0x12, 0xd9: 0x13, 0xda: 0x14, 0xdb: 0x15, 0xdc: 0x16, 0xdd: 0x17, 0xde: 0x18, 0xdf: 0x19, 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, 0xe5: 0x07, 0xe6: 0x07, 0xe7: 0x07, 0xe8: 0x07, 0xe9: 0x08, 0xea: 0x09, 0xeb: 0x0a, 0xec: 0x0a, 0xed: 0x0b, 0xee: 0x0c, 0xef: 0x0d, - 0xf0: 0x1d, 0xf3: 0x20, 0xf4: 0x21, + 0xf0: 0x1e, 0xf3: 0x21, 0xf4: 0x22, // Block 0x4, offset 0x100 0x120: 0x1a, 0x121: 0x1b, 0x122: 0x1c, 0x123: 0x1d, 0x124: 0x1e, 0x125: 0x1f, 0x126: 0x20, 0x127: 0x21, 0x128: 0x22, 0x129: 0x23, 0x12a: 0x24, 0x12b: 0x25, 0x12c: 0x26, 0x12d: 0x27, 0x12e: 0x28, 0x12f: 0x29, @@ -3587,56 +3678,56 @@ var derivedPropertiesIndex = [2304]uint16{ 0x178: 0x05, 0x179: 0x05, 0x17a: 0x65, 0x17b: 0x05, 0x17c: 0x66, 0x17d: 0x67, 0x17e: 0x68, 0x17f: 0x69, // Block 0x6, offset 0x180 0x180: 0x6a, 0x181: 0x6b, 0x182: 0x6c, 0x183: 0x6d, 0x184: 0x6e, 0x185: 0x6f, 0x186: 0x70, 0x187: 0x71, - 0x188: 0x71, 0x189: 0x71, 0x18a: 0x71, 0x18b: 0x71, 0x18c: 0x71, 0x18d: 0x71, 0x18e: 0x71, 0x18f: 0x72, - 0x190: 0x73, 0x191: 0x74, 0x192: 0x71, 0x193: 0x71, 0x194: 0x71, 0x195: 0x71, 0x196: 0x71, 0x197: 0x71, + 0x188: 0x71, 0x189: 0x71, 0x18a: 0x71, 0x18b: 0x71, 0x18c: 0x71, 0x18d: 0x71, 0x18e: 0x71, 0x18f: 0x71, + 0x190: 0x72, 0x191: 0x73, 0x192: 0x71, 0x193: 0x71, 0x194: 0x71, 0x195: 0x71, 0x196: 0x71, 0x197: 0x71, 0x198: 0x71, 0x199: 0x71, 0x19a: 0x71, 0x19b: 0x71, 0x19c: 0x71, 0x19d: 0x71, 0x19e: 0x71, 0x19f: 0x71, 0x1a0: 0x71, 0x1a1: 0x71, 0x1a2: 0x71, 0x1a3: 0x71, 0x1a4: 0x71, 0x1a5: 0x71, 0x1a6: 0x71, 0x1a7: 0x71, - 0x1a8: 0x71, 0x1a9: 0x71, 0x1aa: 0x71, 0x1ab: 0x71, 0x1ac: 0x71, 0x1ad: 0x75, 0x1ae: 0x76, 0x1af: 0x77, - 0x1b0: 0x78, 0x1b1: 0x79, 0x1b2: 0x05, 0x1b3: 0x7a, 0x1b4: 0x7b, 0x1b5: 0x7c, 0x1b6: 0x7d, 0x1b7: 0x7e, - 0x1b8: 0x7f, 0x1b9: 0x80, 0x1ba: 0x81, 0x1bb: 0x82, 0x1bc: 0x83, 0x1bd: 0x83, 0x1be: 0x83, 0x1bf: 0x84, + 0x1a8: 0x71, 0x1a9: 0x71, 0x1aa: 0x71, 0x1ab: 0x71, 0x1ac: 0x71, 0x1ad: 0x74, 0x1ae: 0x75, 0x1af: 0x76, + 0x1b0: 0x77, 0x1b1: 0x78, 0x1b2: 0x05, 0x1b3: 0x79, 0x1b4: 0x7a, 0x1b5: 0x7b, 0x1b6: 0x7c, 0x1b7: 0x7d, + 0x1b8: 0x7e, 0x1b9: 0x7f, 0x1ba: 0x80, 0x1bb: 0x81, 0x1bc: 0x82, 0x1bd: 0x82, 0x1be: 0x82, 0x1bf: 0x83, // Block 0x7, offset 0x1c0 - 0x1c0: 0x85, 0x1c1: 0x86, 0x1c2: 0x87, 0x1c3: 0x88, 0x1c4: 0x89, 0x1c5: 0x8a, 0x1c6: 0x8b, 0x1c7: 0x8c, - 0x1c8: 0x8d, 0x1c9: 0x71, 0x1ca: 0x71, 0x1cb: 0x8e, 0x1cc: 0x83, 0x1cd: 0x8f, 0x1ce: 0x71, 0x1cf: 0x71, - 0x1d0: 0x90, 0x1d1: 0x90, 0x1d2: 0x90, 0x1d3: 0x90, 0x1d4: 0x90, 0x1d5: 0x90, 0x1d6: 0x90, 0x1d7: 0x90, - 0x1d8: 0x90, 0x1d9: 0x90, 0x1da: 0x90, 0x1db: 0x90, 0x1dc: 0x90, 0x1dd: 0x90, 0x1de: 0x90, 0x1df: 0x90, - 0x1e0: 0x90, 0x1e1: 0x90, 0x1e2: 0x90, 0x1e3: 0x90, 0x1e4: 0x90, 0x1e5: 0x90, 0x1e6: 0x90, 0x1e7: 0x90, - 0x1e8: 0x90, 0x1e9: 0x90, 0x1ea: 0x90, 0x1eb: 0x90, 0x1ec: 0x90, 0x1ed: 0x90, 0x1ee: 0x90, 0x1ef: 0x90, - 0x1f0: 0x90, 0x1f1: 0x90, 0x1f2: 0x90, 0x1f3: 0x90, 0x1f4: 0x90, 0x1f5: 0x90, 0x1f6: 0x90, 0x1f7: 0x90, - 0x1f8: 0x90, 0x1f9: 0x90, 0x1fa: 0x90, 0x1fb: 0x90, 0x1fc: 0x90, 0x1fd: 0x90, 0x1fe: 0x90, 0x1ff: 0x90, + 0x1c0: 0x84, 0x1c1: 0x85, 0x1c2: 0x86, 0x1c3: 0x87, 0x1c4: 0x88, 0x1c5: 0x89, 0x1c6: 0x8a, 0x1c7: 0x8b, + 0x1c8: 0x8c, 0x1c9: 0x71, 0x1ca: 0x71, 0x1cb: 0x8d, 0x1cc: 0x82, 0x1cd: 0x8e, 0x1ce: 0x71, 0x1cf: 0x71, + 0x1d0: 0x8f, 0x1d1: 0x8f, 0x1d2: 0x8f, 0x1d3: 0x8f, 0x1d4: 0x8f, 0x1d5: 0x8f, 0x1d6: 0x8f, 0x1d7: 0x8f, + 0x1d8: 0x8f, 0x1d9: 0x8f, 0x1da: 0x8f, 0x1db: 0x8f, 0x1dc: 0x8f, 0x1dd: 0x8f, 0x1de: 0x8f, 0x1df: 0x8f, + 0x1e0: 0x8f, 0x1e1: 0x8f, 0x1e2: 0x8f, 0x1e3: 0x8f, 0x1e4: 0x8f, 0x1e5: 0x8f, 0x1e6: 0x8f, 0x1e7: 0x8f, + 0x1e8: 0x8f, 0x1e9: 0x8f, 0x1ea: 0x8f, 0x1eb: 0x8f, 0x1ec: 0x8f, 0x1ed: 0x8f, 0x1ee: 0x8f, 0x1ef: 0x8f, + 0x1f0: 0x8f, 0x1f1: 0x8f, 0x1f2: 0x8f, 0x1f3: 0x8f, 0x1f4: 0x8f, 0x1f5: 0x8f, 0x1f6: 0x8f, 0x1f7: 0x8f, + 0x1f8: 0x8f, 0x1f9: 0x8f, 0x1fa: 0x8f, 0x1fb: 0x8f, 0x1fc: 0x8f, 0x1fd: 0x8f, 0x1fe: 0x8f, 0x1ff: 0x8f, // Block 0x8, offset 0x200 - 0x200: 0x90, 0x201: 0x90, 0x202: 0x90, 0x203: 0x90, 0x204: 0x90, 0x205: 0x90, 0x206: 0x90, 0x207: 0x90, - 0x208: 0x90, 0x209: 0x90, 0x20a: 0x90, 0x20b: 0x90, 0x20c: 0x90, 0x20d: 0x90, 0x20e: 0x90, 0x20f: 0x90, - 0x210: 0x90, 0x211: 0x90, 0x212: 0x90, 0x213: 0x90, 0x214: 0x90, 0x215: 0x90, 0x216: 0x90, 0x217: 0x90, - 0x218: 0x90, 0x219: 0x90, 0x21a: 0x90, 0x21b: 0x90, 0x21c: 0x90, 0x21d: 0x90, 0x21e: 0x90, 0x21f: 0x90, - 0x220: 0x90, 0x221: 0x90, 0x222: 0x90, 0x223: 0x90, 0x224: 0x90, 0x225: 0x90, 0x226: 0x90, 0x227: 0x90, - 0x228: 0x90, 0x229: 0x90, 0x22a: 0x90, 0x22b: 0x90, 0x22c: 0x90, 0x22d: 0x90, 0x22e: 0x90, 0x22f: 0x90, - 0x230: 0x90, 0x231: 0x90, 0x232: 0x90, 0x233: 0x90, 0x234: 0x90, 0x235: 0x90, 0x236: 0x91, 0x237: 0x71, - 0x238: 0x90, 0x239: 0x90, 0x23a: 0x90, 0x23b: 0x90, 0x23c: 0x90, 0x23d: 0x90, 0x23e: 0x90, 0x23f: 0x90, + 0x200: 0x8f, 0x201: 0x8f, 0x202: 0x8f, 0x203: 0x8f, 0x204: 0x8f, 0x205: 0x8f, 0x206: 0x8f, 0x207: 0x8f, + 0x208: 0x8f, 0x209: 0x8f, 0x20a: 0x8f, 0x20b: 0x8f, 0x20c: 0x8f, 0x20d: 0x8f, 0x20e: 0x8f, 0x20f: 0x8f, + 0x210: 0x8f, 0x211: 0x8f, 0x212: 0x8f, 0x213: 0x8f, 0x214: 0x8f, 0x215: 0x8f, 0x216: 0x8f, 0x217: 0x8f, + 0x218: 0x8f, 0x219: 0x8f, 0x21a: 0x8f, 0x21b: 0x8f, 0x21c: 0x8f, 0x21d: 0x8f, 0x21e: 0x8f, 0x21f: 0x8f, + 0x220: 0x8f, 0x221: 0x8f, 0x222: 0x8f, 0x223: 0x8f, 0x224: 0x8f, 0x225: 0x8f, 0x226: 0x8f, 0x227: 0x8f, + 0x228: 0x8f, 0x229: 0x8f, 0x22a: 0x8f, 0x22b: 0x8f, 0x22c: 0x8f, 0x22d: 0x8f, 0x22e: 0x8f, 0x22f: 0x8f, + 0x230: 0x8f, 0x231: 0x8f, 0x232: 0x8f, 0x233: 0x8f, 0x234: 0x8f, 0x235: 0x8f, 0x236: 0x90, 0x237: 0x71, + 0x238: 0x8f, 0x239: 0x8f, 0x23a: 0x8f, 0x23b: 0x8f, 0x23c: 0x8f, 0x23d: 0x8f, 0x23e: 0x8f, 0x23f: 0x8f, // Block 0x9, offset 0x240 - 0x240: 0x90, 0x241: 0x90, 0x242: 0x90, 0x243: 0x90, 0x244: 0x90, 0x245: 0x90, 0x246: 0x90, 0x247: 0x90, - 0x248: 0x90, 0x249: 0x90, 0x24a: 0x90, 0x24b: 0x90, 0x24c: 0x90, 0x24d: 0x90, 0x24e: 0x90, 0x24f: 0x90, - 0x250: 0x90, 0x251: 0x90, 0x252: 0x90, 0x253: 0x90, 0x254: 0x90, 0x255: 0x90, 0x256: 0x90, 0x257: 0x90, - 0x258: 0x90, 0x259: 0x90, 0x25a: 0x90, 0x25b: 0x90, 0x25c: 0x90, 0x25d: 0x90, 0x25e: 0x90, 0x25f: 0x90, - 0x260: 0x90, 0x261: 0x90, 0x262: 0x90, 0x263: 0x90, 0x264: 0x90, 0x265: 0x90, 0x266: 0x90, 0x267: 0x90, - 0x268: 0x90, 0x269: 0x90, 0x26a: 0x90, 0x26b: 0x90, 0x26c: 0x90, 0x26d: 0x90, 0x26e: 0x90, 0x26f: 0x90, - 0x270: 0x90, 0x271: 0x90, 0x272: 0x90, 0x273: 0x90, 0x274: 0x90, 0x275: 0x90, 0x276: 0x90, 0x277: 0x90, - 0x278: 0x90, 0x279: 0x90, 0x27a: 0x90, 0x27b: 0x90, 0x27c: 0x90, 0x27d: 0x90, 0x27e: 0x90, 0x27f: 0x90, + 0x240: 0x8f, 0x241: 0x8f, 0x242: 0x8f, 0x243: 0x8f, 0x244: 0x8f, 0x245: 0x8f, 0x246: 0x8f, 0x247: 0x8f, + 0x248: 0x8f, 0x249: 0x8f, 0x24a: 0x8f, 0x24b: 0x8f, 0x24c: 0x8f, 0x24d: 0x8f, 0x24e: 0x8f, 0x24f: 0x8f, + 0x250: 0x8f, 0x251: 0x8f, 0x252: 0x8f, 0x253: 0x8f, 0x254: 0x8f, 0x255: 0x8f, 0x256: 0x8f, 0x257: 0x8f, + 0x258: 0x8f, 0x259: 0x8f, 0x25a: 0x8f, 0x25b: 0x8f, 0x25c: 0x8f, 0x25d: 0x8f, 0x25e: 0x8f, 0x25f: 0x8f, + 0x260: 0x8f, 0x261: 0x8f, 0x262: 0x8f, 0x263: 0x8f, 0x264: 0x8f, 0x265: 0x8f, 0x266: 0x8f, 0x267: 0x8f, + 0x268: 0x8f, 0x269: 0x8f, 0x26a: 0x8f, 0x26b: 0x8f, 0x26c: 0x8f, 0x26d: 0x8f, 0x26e: 0x8f, 0x26f: 0x8f, + 0x270: 0x8f, 0x271: 0x8f, 0x272: 0x8f, 0x273: 0x8f, 0x274: 0x8f, 0x275: 0x8f, 0x276: 0x8f, 0x277: 0x8f, + 0x278: 0x8f, 0x279: 0x8f, 0x27a: 0x8f, 0x27b: 0x8f, 0x27c: 0x8f, 0x27d: 0x8f, 0x27e: 0x8f, 0x27f: 0x8f, // Block 0xa, offset 0x280 - 0x280: 0x90, 0x281: 0x90, 0x282: 0x90, 0x283: 0x90, 0x284: 0x90, 0x285: 0x90, 0x286: 0x90, 0x287: 0x90, - 0x288: 0x90, 0x289: 0x90, 0x28a: 0x90, 0x28b: 0x90, 0x28c: 0x90, 0x28d: 0x90, 0x28e: 0x90, 0x28f: 0x90, - 0x290: 0x90, 0x291: 0x90, 0x292: 0x90, 0x293: 0x90, 0x294: 0x90, 0x295: 0x90, 0x296: 0x90, 0x297: 0x90, - 0x298: 0x90, 0x299: 0x90, 0x29a: 0x90, 0x29b: 0x90, 0x29c: 0x90, 0x29d: 0x90, 0x29e: 0x90, 0x29f: 0x90, - 0x2a0: 0x90, 0x2a1: 0x90, 0x2a2: 0x90, 0x2a3: 0x90, 0x2a4: 0x90, 0x2a5: 0x90, 0x2a6: 0x90, 0x2a7: 0x90, - 0x2a8: 0x90, 0x2a9: 0x90, 0x2aa: 0x90, 0x2ab: 0x90, 0x2ac: 0x90, 0x2ad: 0x90, 0x2ae: 0x90, 0x2af: 0x90, - 0x2b0: 0x90, 0x2b1: 0x90, 0x2b2: 0x90, 0x2b3: 0x90, 0x2b4: 0x90, 0x2b5: 0x90, 0x2b6: 0x90, 0x2b7: 0x90, - 0x2b8: 0x90, 0x2b9: 0x90, 0x2ba: 0x90, 0x2bb: 0x90, 0x2bc: 0x90, 0x2bd: 0x90, 0x2be: 0x90, 0x2bf: 0x92, + 0x280: 0x8f, 0x281: 0x8f, 0x282: 0x8f, 0x283: 0x8f, 0x284: 0x8f, 0x285: 0x8f, 0x286: 0x8f, 0x287: 0x8f, + 0x288: 0x8f, 0x289: 0x8f, 0x28a: 0x8f, 0x28b: 0x8f, 0x28c: 0x8f, 0x28d: 0x8f, 0x28e: 0x8f, 0x28f: 0x8f, + 0x290: 0x8f, 0x291: 0x8f, 0x292: 0x8f, 0x293: 0x8f, 0x294: 0x8f, 0x295: 0x8f, 0x296: 0x8f, 0x297: 0x8f, + 0x298: 0x8f, 0x299: 0x8f, 0x29a: 0x8f, 0x29b: 0x8f, 0x29c: 0x8f, 0x29d: 0x8f, 0x29e: 0x8f, 0x29f: 0x8f, + 0x2a0: 0x8f, 0x2a1: 0x8f, 0x2a2: 0x8f, 0x2a3: 0x8f, 0x2a4: 0x8f, 0x2a5: 0x8f, 0x2a6: 0x8f, 0x2a7: 0x8f, + 0x2a8: 0x8f, 0x2a9: 0x8f, 0x2aa: 0x8f, 0x2ab: 0x8f, 0x2ac: 0x8f, 0x2ad: 0x8f, 0x2ae: 0x8f, 0x2af: 0x8f, + 0x2b0: 0x8f, 0x2b1: 0x8f, 0x2b2: 0x8f, 0x2b3: 0x8f, 0x2b4: 0x8f, 0x2b5: 0x8f, 0x2b6: 0x8f, 0x2b7: 0x8f, + 0x2b8: 0x8f, 0x2b9: 0x8f, 0x2ba: 0x8f, 0x2bb: 0x8f, 0x2bc: 0x8f, 0x2bd: 0x8f, 0x2be: 0x8f, 0x2bf: 0x91, // Block 0xb, offset 0x2c0 0x2c0: 0x05, 0x2c1: 0x05, 0x2c2: 0x05, 0x2c3: 0x05, 0x2c4: 0x05, 0x2c5: 0x05, 0x2c6: 0x05, 0x2c7: 0x05, 0x2c8: 0x05, 0x2c9: 0x05, 0x2ca: 0x05, 0x2cb: 0x05, 0x2cc: 0x05, 0x2cd: 0x05, 0x2ce: 0x05, 0x2cf: 0x05, - 0x2d0: 0x05, 0x2d1: 0x05, 0x2d2: 0x93, 0x2d3: 0x94, 0x2d4: 0x05, 0x2d5: 0x05, 0x2d6: 0x05, 0x2d7: 0x05, - 0x2d8: 0x95, 0x2d9: 0x96, 0x2da: 0x97, 0x2db: 0x98, 0x2dc: 0x99, 0x2dd: 0x9a, 0x2de: 0x9b, 0x2df: 0x9c, - 0x2e0: 0x9d, 0x2e1: 0x9e, 0x2e2: 0x05, 0x2e3: 0x9f, 0x2e4: 0xa0, 0x2e5: 0xa1, 0x2e6: 0xa2, 0x2e7: 0xa3, - 0x2e8: 0xa4, 0x2e9: 0xa5, 0x2ea: 0xa6, 0x2eb: 0xa7, 0x2ec: 0xa8, 0x2ed: 0xa9, 0x2ee: 0x05, 0x2ef: 0xaa, + 0x2d0: 0x05, 0x2d1: 0x05, 0x2d2: 0x92, 0x2d3: 0x93, 0x2d4: 0x05, 0x2d5: 0x05, 0x2d6: 0x05, 0x2d7: 0x05, + 0x2d8: 0x94, 0x2d9: 0x95, 0x2da: 0x96, 0x2db: 0x97, 0x2dc: 0x98, 0x2dd: 0x99, 0x2de: 0x9a, 0x2df: 0x9b, + 0x2e0: 0x9c, 0x2e1: 0x9d, 0x2e2: 0x05, 0x2e3: 0x9e, 0x2e4: 0x9f, 0x2e5: 0xa0, 0x2e6: 0xa1, 0x2e7: 0xa2, + 0x2e8: 0xa3, 0x2e9: 0xa4, 0x2ea: 0xa5, 0x2eb: 0xa6, 0x2ec: 0xa7, 0x2ed: 0xa8, 0x2ee: 0x05, 0x2ef: 0xa9, 0x2f0: 0x05, 0x2f1: 0x05, 0x2f2: 0x05, 0x2f3: 0x05, 0x2f4: 0x05, 0x2f5: 0x05, 0x2f6: 0x05, 0x2f7: 0x05, 0x2f8: 0x05, 0x2f9: 0x05, 0x2fa: 0x05, 0x2fb: 0x05, 0x2fc: 0x05, 0x2fd: 0x05, 0x2fe: 0x05, 0x2ff: 0x05, // Block 0xc, offset 0x300 @@ -3652,7 +3743,7 @@ var derivedPropertiesIndex = [2304]uint16{ 0x340: 0x05, 0x341: 0x05, 0x342: 0x05, 0x343: 0x05, 0x344: 0x05, 0x345: 0x05, 0x346: 0x05, 0x347: 0x05, 0x348: 0x05, 0x349: 0x05, 0x34a: 0x05, 0x34b: 0x05, 0x34c: 0x05, 0x34d: 0x05, 0x34e: 0x05, 0x34f: 0x05, 0x350: 0x05, 0x351: 0x05, 0x352: 0x05, 0x353: 0x05, 0x354: 0x05, 0x355: 0x05, 0x356: 0x05, 0x357: 0x05, - 0x358: 0x05, 0x359: 0x05, 0x35a: 0x05, 0x35b: 0x05, 0x35c: 0x05, 0x35d: 0x05, 0x35e: 0xab, 0x35f: 0xac, + 0x358: 0x05, 0x359: 0x05, 0x35a: 0x05, 0x35b: 0x05, 0x35c: 0x05, 0x35d: 0x05, 0x35e: 0xaa, 0x35f: 0xab, // Block 0xe, offset 0x380 0x380: 0x3e, 0x381: 0x3e, 0x382: 0x3e, 0x383: 0x3e, 0x384: 0x3e, 0x385: 0x3e, 0x386: 0x3e, 0x387: 0x3e, 0x388: 0x3e, 0x389: 0x3e, 0x38a: 0x3e, 0x38b: 0x3e, 0x38c: 0x3e, 0x38d: 0x3e, 0x38e: 0x3e, 0x38f: 0x3e, @@ -3667,122 +3758,130 @@ var derivedPropertiesIndex = [2304]uint16{ 0x3c8: 0x3e, 0x3c9: 0x3e, 0x3ca: 0x3e, 0x3cb: 0x3e, 0x3cc: 0x3e, 0x3cd: 0x3e, 0x3ce: 0x3e, 0x3cf: 0x3e, 0x3d0: 0x3e, 0x3d1: 0x3e, 0x3d2: 0x3e, 0x3d3: 0x3e, 0x3d4: 0x3e, 0x3d5: 0x3e, 0x3d6: 0x3e, 0x3d7: 0x3e, 0x3d8: 0x3e, 0x3d9: 0x3e, 0x3da: 0x3e, 0x3db: 0x3e, 0x3dc: 0x3e, 0x3dd: 0x3e, 0x3de: 0x3e, 0x3df: 0x3e, - 0x3e0: 0x3e, 0x3e1: 0x3e, 0x3e2: 0x3e, 0x3e3: 0x3e, 0x3e4: 0x83, 0x3e5: 0x83, 0x3e6: 0x83, 0x3e7: 0x83, - 0x3e8: 0xad, 0x3e9: 0xae, 0x3ea: 0x83, 0x3eb: 0xaf, 0x3ec: 0xb0, 0x3ed: 0xb1, 0x3ee: 0x71, 0x3ef: 0xb2, - 0x3f0: 0x71, 0x3f1: 0x71, 0x3f2: 0x71, 0x3f3: 0x71, 0x3f4: 0x71, 0x3f5: 0xb3, 0x3f6: 0xb4, 0x3f7: 0xb5, - 0x3f8: 0xb6, 0x3f9: 0xb7, 0x3fa: 0x71, 0x3fb: 0xb8, 0x3fc: 0xb9, 0x3fd: 0xba, 0x3fe: 0xbb, 0x3ff: 0xbc, + 0x3e0: 0x3e, 0x3e1: 0x3e, 0x3e2: 0x3e, 0x3e3: 0x3e, 0x3e4: 0x82, 0x3e5: 0x82, 0x3e6: 0x82, 0x3e7: 0x82, + 0x3e8: 0xac, 0x3e9: 0xad, 0x3ea: 0x82, 0x3eb: 0xae, 0x3ec: 0xaf, 0x3ed: 0xb0, 0x3ee: 0x71, 0x3ef: 0xb1, + 0x3f0: 0x71, 0x3f1: 0x71, 0x3f2: 0x71, 0x3f3: 0x71, 0x3f4: 0x71, 0x3f5: 0xb2, 0x3f6: 0xb3, 0x3f7: 0xb4, + 0x3f8: 0xb5, 0x3f9: 0xb6, 0x3fa: 0x71, 0x3fb: 0xb7, 0x3fc: 0xb8, 0x3fd: 0xb9, 0x3fe: 0xba, 0x3ff: 0xbb, // Block 0x10, offset 0x400 - 0x400: 0xbd, 0x401: 0xbe, 0x402: 0x05, 0x403: 0xbf, 0x404: 0xc0, 0x405: 0xc1, 0x406: 0xc2, 0x407: 0xc3, - 0x40a: 0xc4, 0x40b: 0xc5, 0x40c: 0xc6, 0x40d: 0xc7, 0x40e: 0xc8, 0x40f: 0xc9, - 0x410: 0x05, 0x411: 0x05, 0x412: 0xca, 0x413: 0xcb, 0x414: 0xcc, 0x415: 0xcd, - 0x418: 0x05, 0x419: 0x05, 0x41a: 0x05, 0x41b: 0x05, 0x41c: 0xce, 0x41d: 0xcf, - 0x420: 0xd0, 0x421: 0xd1, 0x422: 0xd2, 0x423: 0xd3, 0x424: 0xd4, 0x426: 0xd5, 0x427: 0xb4, - 0x428: 0xd6, 0x429: 0xd7, 0x42a: 0xd8, 0x42b: 0xd9, 0x42c: 0xda, 0x42d: 0xdb, 0x42e: 0xdc, - 0x430: 0x05, 0x431: 0x5f, 0x432: 0xdd, 0x433: 0xde, - 0x439: 0xdf, + 0x400: 0xbc, 0x401: 0xbd, 0x402: 0x05, 0x403: 0xbe, 0x404: 0xbf, 0x405: 0xc0, 0x406: 0xc1, 0x407: 0xc2, + 0x40a: 0xc3, 0x40b: 0xc4, 0x40c: 0xc5, 0x40d: 0xc6, 0x40e: 0xc7, 0x40f: 0xc8, + 0x410: 0x05, 0x411: 0x05, 0x412: 0xc9, 0x413: 0xca, 0x414: 0xcb, 0x415: 0xcc, + 0x418: 0x05, 0x419: 0x05, 0x41a: 0x05, 0x41b: 0x05, 0x41c: 0xcd, 0x41d: 0xce, + 0x420: 0xcf, 0x421: 0xd0, 0x422: 0xd1, 0x423: 0xd2, 0x424: 0xd3, 0x426: 0xd4, 0x427: 0xb3, + 0x428: 0xd5, 0x429: 0xd6, 0x42a: 0xd7, 0x42b: 0xd8, 0x42c: 0xd9, 0x42d: 0xda, 0x42e: 0xdb, + 0x430: 0x05, 0x431: 0x5f, 0x432: 0xdc, 0x433: 0xdd, + 0x439: 0xde, // Block 0x11, offset 0x440 - 0x440: 0xe0, 0x441: 0xe1, 0x442: 0xe2, 0x443: 0xe3, 0x444: 0xe4, 0x445: 0xe5, 0x446: 0xe6, 0x447: 0xe7, - 0x448: 0xe8, 0x44a: 0xe9, 0x44b: 0xea, 0x44c: 0xeb, 0x44d: 0xec, - 0x450: 0xed, 0x451: 0xee, 0x452: 0xef, 0x453: 0xf0, 0x456: 0xf1, 0x457: 0xf2, - 0x458: 0xf3, 0x459: 0xf4, 0x45a: 0xf5, 0x45b: 0xf6, 0x45c: 0xf7, - 0x462: 0xf8, 0x463: 0xf9, - 0x46b: 0xfa, - 0x470: 0xfb, 0x471: 0xfc, 0x472: 0xfd, + 0x440: 0xdf, 0x441: 0xe0, 0x442: 0xe1, 0x443: 0xe2, 0x444: 0xe3, 0x445: 0xe4, 0x446: 0xe5, 0x447: 0xe6, + 0x448: 0xe7, 0x44a: 0xe8, 0x44b: 0xe9, 0x44c: 0xea, 0x44d: 0xeb, + 0x450: 0xec, 0x451: 0xed, 0x452: 0xee, 0x453: 0xef, 0x456: 0xf0, 0x457: 0xf1, + 0x458: 0xf2, 0x459: 0xf3, 0x45a: 0xf4, 0x45b: 0xf5, 0x45c: 0xf6, + 0x462: 0xf7, 0x463: 0xf8, + 0x468: 0xf9, 0x469: 0xfa, 0x46a: 0xfb, 0x46b: 0xfc, + 0x470: 0xfd, 0x471: 0xfe, 0x472: 0xff, 0x474: 0x100, 0x475: 0x101, // Block 0x12, offset 0x480 0x480: 0x05, 0x481: 0x05, 0x482: 0x05, 0x483: 0x05, 0x484: 0x05, 0x485: 0x05, 0x486: 0x05, 0x487: 0x05, - 0x488: 0x05, 0x489: 0x05, 0x48a: 0x05, 0x48b: 0x05, 0x48c: 0x05, 0x48d: 0x05, 0x48e: 0xfe, - 0x490: 0x71, 0x491: 0xff, 0x492: 0x05, 0x493: 0x05, 0x494: 0x05, 0x495: 0x100, + 0x488: 0x05, 0x489: 0x05, 0x48a: 0x05, 0x48b: 0x05, 0x48c: 0x05, 0x48d: 0x05, 0x48e: 0x102, + 0x490: 0x71, 0x491: 0x103, 0x492: 0x05, 0x493: 0x05, 0x494: 0x05, 0x495: 0x104, // Block 0x13, offset 0x4c0 0x4c0: 0x05, 0x4c1: 0x05, 0x4c2: 0x05, 0x4c3: 0x05, 0x4c4: 0x05, 0x4c5: 0x05, 0x4c6: 0x05, 0x4c7: 0x05, 0x4c8: 0x05, 0x4c9: 0x05, 0x4ca: 0x05, 0x4cb: 0x05, 0x4cc: 0x05, 0x4cd: 0x05, 0x4ce: 0x05, 0x4cf: 0x05, - 0x4d0: 0x101, + 0x4d0: 0x105, // Block 0x14, offset 0x500 0x510: 0x05, 0x511: 0x05, 0x512: 0x05, 0x513: 0x05, 0x514: 0x05, 0x515: 0x05, 0x516: 0x05, 0x517: 0x05, - 0x518: 0x05, 0x519: 0x102, + 0x518: 0x05, 0x519: 0x106, // Block 0x15, offset 0x540 0x560: 0x05, 0x561: 0x05, 0x562: 0x05, 0x563: 0x05, 0x564: 0x05, 0x565: 0x05, 0x566: 0x05, 0x567: 0x05, - 0x568: 0xfa, 0x569: 0x103, 0x56b: 0x104, 0x56c: 0x105, 0x56d: 0x106, 0x56e: 0x107, - 0x57c: 0x05, 0x57d: 0x108, 0x57e: 0x109, 0x57f: 0x10a, + 0x568: 0xfc, 0x569: 0x107, 0x56b: 0x108, 0x56c: 0x109, 0x56d: 0x10a, 0x56e: 0x10b, + 0x57c: 0x05, 0x57d: 0x10c, 0x57e: 0x10d, 0x57f: 0x10e, // Block 0x16, offset 0x580 0x580: 0x05, 0x581: 0x05, 0x582: 0x05, 0x583: 0x05, 0x584: 0x05, 0x585: 0x05, 0x586: 0x05, 0x587: 0x05, 0x588: 0x05, 0x589: 0x05, 0x58a: 0x05, 0x58b: 0x05, 0x58c: 0x05, 0x58d: 0x05, 0x58e: 0x05, 0x58f: 0x05, 0x590: 0x05, 0x591: 0x05, 0x592: 0x05, 0x593: 0x05, 0x594: 0x05, 0x595: 0x05, 0x596: 0x05, 0x597: 0x05, - 0x598: 0x05, 0x599: 0x05, 0x59a: 0x05, 0x59b: 0x05, 0x59c: 0x05, 0x59d: 0x05, 0x59e: 0x05, 0x59f: 0x10b, + 0x598: 0x05, 0x599: 0x05, 0x59a: 0x05, 0x59b: 0x05, 0x59c: 0x05, 0x59d: 0x05, 0x59e: 0x05, 0x59f: 0x10f, 0x5a0: 0x05, 0x5a1: 0x05, 0x5a2: 0x05, 0x5a3: 0x05, 0x5a4: 0x05, 0x5a5: 0x05, 0x5a6: 0x05, 0x5a7: 0x05, - 0x5a8: 0x05, 0x5a9: 0x05, 0x5aa: 0x05, 0x5ab: 0xdd, + 0x5a8: 0x05, 0x5a9: 0x05, 0x5aa: 0x05, 0x5ab: 0xdc, // Block 0x17, offset 0x5c0 - 0x5c0: 0x10c, - 0x5f0: 0x05, 0x5f1: 0x10d, 0x5f2: 0x10e, + 0x5c0: 0x8f, 0x5c1: 0x8f, 0x5c2: 0x8f, 0x5c3: 0x8f, 0x5c4: 0x110, 0x5c5: 0x111, 0x5c6: 0x05, 0x5c7: 0x05, + 0x5c8: 0x05, 0x5c9: 0x05, 0x5ca: 0x05, 0x5cb: 0x112, + 0x5f0: 0x05, 0x5f1: 0x113, 0x5f2: 0x114, // Block 0x18, offset 0x600 - 0x600: 0x71, 0x601: 0x71, 0x602: 0x71, 0x603: 0x10f, 0x604: 0x110, 0x605: 0x111, 0x606: 0x112, 0x607: 0x113, - 0x608: 0xc1, 0x609: 0x114, 0x60c: 0x71, 0x60d: 0x115, - 0x610: 0x71, 0x611: 0x116, 0x612: 0x117, 0x613: 0x118, 0x614: 0x119, 0x615: 0x11a, 0x616: 0x71, 0x617: 0x71, - 0x618: 0x71, 0x619: 0x71, 0x61a: 0x11b, 0x61b: 0x71, 0x61c: 0x71, 0x61d: 0x71, 0x61e: 0x71, 0x61f: 0x11c, + 0x600: 0x71, 0x601: 0x71, 0x602: 0x71, 0x603: 0x115, 0x604: 0x116, 0x605: 0x117, 0x606: 0x118, 0x607: 0x119, + 0x608: 0xc0, 0x609: 0x11a, 0x60c: 0x71, 0x60d: 0x11b, + 0x610: 0x71, 0x611: 0x11c, 0x612: 0x11d, 0x613: 0x11e, 0x614: 0x11f, 0x615: 0x120, 0x616: 0x71, 0x617: 0x71, + 0x618: 0x71, 0x619: 0x71, 0x61a: 0x121, 0x61b: 0x71, 0x61c: 0x71, 0x61d: 0x71, 0x61e: 0x71, 0x61f: 0x122, 0x620: 0x71, 0x621: 0x71, 0x622: 0x71, 0x623: 0x71, 0x624: 0x71, 0x625: 0x71, 0x626: 0x71, 0x627: 0x71, - 0x628: 0x11d, 0x629: 0x11e, 0x62a: 0x11f, + 0x628: 0x123, 0x629: 0x124, 0x62a: 0x125, // Block 0x19, offset 0x640 - 0x640: 0x120, - 0x660: 0x05, 0x661: 0x05, 0x662: 0x05, 0x663: 0x121, 0x664: 0x122, 0x665: 0x123, - 0x678: 0x124, 0x679: 0x125, 0x67a: 0x126, 0x67b: 0x127, + 0x640: 0x126, + 0x660: 0x05, 0x661: 0x05, 0x662: 0x05, 0x663: 0x127, 0x664: 0x128, 0x665: 0x129, + 0x678: 0x12a, 0x679: 0x12b, 0x67a: 0x12c, 0x67b: 0x12d, // Block 0x1a, offset 0x680 - 0x680: 0x128, 0x681: 0x71, 0x682: 0x129, 0x683: 0x12a, 0x684: 0x12b, 0x685: 0x128, 0x686: 0x12c, 0x687: 0x12d, - 0x688: 0x12e, 0x689: 0x12f, 0x68c: 0x71, 0x68d: 0x71, 0x68e: 0x71, 0x68f: 0x71, + 0x680: 0x12e, 0x681: 0x71, 0x682: 0x12f, 0x683: 0x130, 0x684: 0x131, 0x685: 0x12e, 0x686: 0x132, 0x687: 0x133, + 0x688: 0x134, 0x689: 0x135, 0x68c: 0x71, 0x68d: 0x71, 0x68e: 0x71, 0x68f: 0x71, 0x690: 0x71, 0x691: 0x71, 0x692: 0x71, 0x693: 0x71, 0x694: 0x71, 0x695: 0x71, 0x696: 0x71, 0x697: 0x71, - 0x698: 0x71, 0x699: 0x71, 0x69a: 0x71, 0x69b: 0x130, 0x69c: 0x71, 0x69d: 0x131, 0x69e: 0x71, 0x69f: 0x132, - 0x6a0: 0x133, 0x6a1: 0x134, 0x6a2: 0x135, 0x6a4: 0x136, 0x6a5: 0x137, 0x6a6: 0x138, 0x6a7: 0x139, + 0x698: 0x71, 0x699: 0x71, 0x69a: 0x71, 0x69b: 0x136, 0x69c: 0x71, 0x69d: 0x137, 0x69e: 0x71, 0x69f: 0x138, + 0x6a0: 0x139, 0x6a1: 0x13a, 0x6a2: 0x13b, 0x6a4: 0x13c, 0x6a5: 0x13d, 0x6a6: 0x13e, 0x6a7: 0x13f, // Block 0x1b, offset 0x6c0 - 0x6c0: 0x90, 0x6c1: 0x90, 0x6c2: 0x90, 0x6c3: 0x90, 0x6c4: 0x90, 0x6c5: 0x90, 0x6c6: 0x90, 0x6c7: 0x90, - 0x6c8: 0x90, 0x6c9: 0x90, 0x6ca: 0x90, 0x6cb: 0x90, 0x6cc: 0x90, 0x6cd: 0x90, 0x6ce: 0x90, 0x6cf: 0x90, - 0x6d0: 0x90, 0x6d1: 0x90, 0x6d2: 0x90, 0x6d3: 0x90, 0x6d4: 0x90, 0x6d5: 0x90, 0x6d6: 0x90, 0x6d7: 0x90, - 0x6d8: 0x90, 0x6d9: 0x90, 0x6da: 0x90, 0x6db: 0x13a, 0x6dc: 0x90, 0x6dd: 0x90, 0x6de: 0x90, 0x6df: 0x90, - 0x6e0: 0x90, 0x6e1: 0x90, 0x6e2: 0x90, 0x6e3: 0x90, 0x6e4: 0x90, 0x6e5: 0x90, 0x6e6: 0x90, 0x6e7: 0x90, - 0x6e8: 0x90, 0x6e9: 0x90, 0x6ea: 0x90, 0x6eb: 0x90, 0x6ec: 0x90, 0x6ed: 0x90, 0x6ee: 0x90, 0x6ef: 0x90, - 0x6f0: 0x90, 0x6f1: 0x90, 0x6f2: 0x90, 0x6f3: 0x90, 0x6f4: 0x90, 0x6f5: 0x90, 0x6f6: 0x90, 0x6f7: 0x90, - 0x6f8: 0x90, 0x6f9: 0x90, 0x6fa: 0x90, 0x6fb: 0x90, 0x6fc: 0x90, 0x6fd: 0x90, 0x6fe: 0x90, 0x6ff: 0x90, + 0x6c0: 0x8f, 0x6c1: 0x8f, 0x6c2: 0x8f, 0x6c3: 0x8f, 0x6c4: 0x8f, 0x6c5: 0x8f, 0x6c6: 0x8f, 0x6c7: 0x8f, + 0x6c8: 0x8f, 0x6c9: 0x8f, 0x6ca: 0x8f, 0x6cb: 0x8f, 0x6cc: 0x8f, 0x6cd: 0x8f, 0x6ce: 0x8f, 0x6cf: 0x8f, + 0x6d0: 0x8f, 0x6d1: 0x8f, 0x6d2: 0x8f, 0x6d3: 0x8f, 0x6d4: 0x8f, 0x6d5: 0x8f, 0x6d6: 0x8f, 0x6d7: 0x8f, + 0x6d8: 0x8f, 0x6d9: 0x8f, 0x6da: 0x8f, 0x6db: 0x140, 0x6dc: 0x8f, 0x6dd: 0x8f, 0x6de: 0x8f, 0x6df: 0x8f, + 0x6e0: 0x8f, 0x6e1: 0x8f, 0x6e2: 0x8f, 0x6e3: 0x8f, 0x6e4: 0x8f, 0x6e5: 0x8f, 0x6e6: 0x8f, 0x6e7: 0x8f, + 0x6e8: 0x8f, 0x6e9: 0x8f, 0x6ea: 0x8f, 0x6eb: 0x8f, 0x6ec: 0x8f, 0x6ed: 0x8f, 0x6ee: 0x8f, 0x6ef: 0x8f, + 0x6f0: 0x8f, 0x6f1: 0x8f, 0x6f2: 0x8f, 0x6f3: 0x8f, 0x6f4: 0x8f, 0x6f5: 0x8f, 0x6f6: 0x8f, 0x6f7: 0x8f, + 0x6f8: 0x8f, 0x6f9: 0x8f, 0x6fa: 0x8f, 0x6fb: 0x8f, 0x6fc: 0x8f, 0x6fd: 0x8f, 0x6fe: 0x8f, 0x6ff: 0x8f, // Block 0x1c, offset 0x700 - 0x700: 0x90, 0x701: 0x90, 0x702: 0x90, 0x703: 0x90, 0x704: 0x90, 0x705: 0x90, 0x706: 0x90, 0x707: 0x90, - 0x708: 0x90, 0x709: 0x90, 0x70a: 0x90, 0x70b: 0x90, 0x70c: 0x90, 0x70d: 0x90, 0x70e: 0x90, 0x70f: 0x90, - 0x710: 0x90, 0x711: 0x90, 0x712: 0x90, 0x713: 0x90, 0x714: 0x90, 0x715: 0x90, 0x716: 0x90, 0x717: 0x90, - 0x718: 0x90, 0x719: 0x90, 0x71a: 0x90, 0x71b: 0x90, 0x71c: 0x13b, 0x71d: 0x90, 0x71e: 0x90, 0x71f: 0x90, - 0x720: 0x13c, 0x721: 0x90, 0x722: 0x90, 0x723: 0x90, 0x724: 0x90, 0x725: 0x90, 0x726: 0x90, 0x727: 0x90, - 0x728: 0x90, 0x729: 0x90, 0x72a: 0x90, 0x72b: 0x90, 0x72c: 0x90, 0x72d: 0x90, 0x72e: 0x90, 0x72f: 0x90, - 0x730: 0x90, 0x731: 0x90, 0x732: 0x90, 0x733: 0x90, 0x734: 0x90, 0x735: 0x90, 0x736: 0x90, 0x737: 0x90, - 0x738: 0x90, 0x739: 0x90, 0x73a: 0x90, 0x73b: 0x90, 0x73c: 0x90, 0x73d: 0x90, 0x73e: 0x90, 0x73f: 0x90, + 0x700: 0x8f, 0x701: 0x8f, 0x702: 0x8f, 0x703: 0x8f, 0x704: 0x8f, 0x705: 0x8f, 0x706: 0x8f, 0x707: 0x8f, + 0x708: 0x8f, 0x709: 0x8f, 0x70a: 0x8f, 0x70b: 0x8f, 0x70c: 0x8f, 0x70d: 0x8f, 0x70e: 0x8f, 0x70f: 0x8f, + 0x710: 0x8f, 0x711: 0x8f, 0x712: 0x8f, 0x713: 0x8f, 0x714: 0x8f, 0x715: 0x8f, 0x716: 0x8f, 0x717: 0x8f, + 0x718: 0x8f, 0x719: 0x8f, 0x71a: 0x8f, 0x71b: 0x8f, 0x71c: 0x141, 0x71d: 0x8f, 0x71e: 0x8f, 0x71f: 0x8f, + 0x720: 0x142, 0x721: 0x8f, 0x722: 0x8f, 0x723: 0x8f, 0x724: 0x8f, 0x725: 0x8f, 0x726: 0x8f, 0x727: 0x8f, + 0x728: 0x8f, 0x729: 0x8f, 0x72a: 0x8f, 0x72b: 0x8f, 0x72c: 0x8f, 0x72d: 0x8f, 0x72e: 0x8f, 0x72f: 0x8f, + 0x730: 0x8f, 0x731: 0x8f, 0x732: 0x8f, 0x733: 0x8f, 0x734: 0x8f, 0x735: 0x8f, 0x736: 0x8f, 0x737: 0x8f, + 0x738: 0x8f, 0x739: 0x8f, 0x73a: 0x8f, 0x73b: 0x8f, 0x73c: 0x8f, 0x73d: 0x8f, 0x73e: 0x8f, 0x73f: 0x8f, // Block 0x1d, offset 0x740 - 0x740: 0x90, 0x741: 0x90, 0x742: 0x90, 0x743: 0x90, 0x744: 0x90, 0x745: 0x90, 0x746: 0x90, 0x747: 0x90, - 0x748: 0x90, 0x749: 0x90, 0x74a: 0x90, 0x74b: 0x90, 0x74c: 0x90, 0x74d: 0x90, 0x74e: 0x90, 0x74f: 0x90, - 0x750: 0x90, 0x751: 0x90, 0x752: 0x90, 0x753: 0x90, 0x754: 0x90, 0x755: 0x90, 0x756: 0x90, 0x757: 0x90, - 0x758: 0x90, 0x759: 0x90, 0x75a: 0x90, 0x75b: 0x90, 0x75c: 0x90, 0x75d: 0x90, 0x75e: 0x90, 0x75f: 0x90, - 0x760: 0x90, 0x761: 0x90, 0x762: 0x90, 0x763: 0x90, 0x764: 0x90, 0x765: 0x90, 0x766: 0x90, 0x767: 0x90, - 0x768: 0x90, 0x769: 0x90, 0x76a: 0x90, 0x76b: 0x90, 0x76c: 0x90, 0x76d: 0x90, 0x76e: 0x90, 0x76f: 0x90, - 0x770: 0x90, 0x771: 0x90, 0x772: 0x90, 0x773: 0x90, 0x774: 0x90, 0x775: 0x90, 0x776: 0x90, 0x777: 0x90, - 0x778: 0x90, 0x779: 0x90, 0x77a: 0x13d, + 0x740: 0x8f, 0x741: 0x8f, 0x742: 0x8f, 0x743: 0x8f, 0x744: 0x8f, 0x745: 0x8f, 0x746: 0x8f, 0x747: 0x8f, + 0x748: 0x8f, 0x749: 0x8f, 0x74a: 0x8f, 0x74b: 0x8f, 0x74c: 0x8f, 0x74d: 0x8f, 0x74e: 0x8f, 0x74f: 0x8f, + 0x750: 0x8f, 0x751: 0x8f, 0x752: 0x8f, 0x753: 0x8f, 0x754: 0x8f, 0x755: 0x8f, 0x756: 0x8f, 0x757: 0x8f, + 0x758: 0x8f, 0x759: 0x8f, 0x75a: 0x8f, 0x75b: 0x8f, 0x75c: 0x8f, 0x75d: 0x8f, 0x75e: 0x8f, 0x75f: 0x8f, + 0x760: 0x8f, 0x761: 0x8f, 0x762: 0x8f, 0x763: 0x8f, 0x764: 0x8f, 0x765: 0x8f, 0x766: 0x8f, 0x767: 0x8f, + 0x768: 0x8f, 0x769: 0x8f, 0x76a: 0x8f, 0x76b: 0x8f, 0x76c: 0x8f, 0x76d: 0x8f, 0x76e: 0x8f, 0x76f: 0x8f, + 0x770: 0x8f, 0x771: 0x8f, 0x772: 0x8f, 0x773: 0x8f, 0x774: 0x8f, 0x775: 0x8f, 0x776: 0x8f, 0x777: 0x8f, + 0x778: 0x8f, 0x779: 0x8f, 0x77a: 0x143, 0x77b: 0x8f, 0x77c: 0x8f, 0x77d: 0x8f, 0x77e: 0x8f, 0x77f: 0x8f, // Block 0x1e, offset 0x780 - 0x7a0: 0x83, 0x7a1: 0x83, 0x7a2: 0x83, 0x7a3: 0x83, 0x7a4: 0x83, 0x7a5: 0x83, 0x7a6: 0x83, 0x7a7: 0x83, - 0x7a8: 0x13e, + 0x780: 0x8f, 0x781: 0x8f, 0x782: 0x8f, 0x783: 0x8f, 0x784: 0x8f, 0x785: 0x8f, 0x786: 0x8f, 0x787: 0x8f, + 0x788: 0x8f, 0x789: 0x8f, 0x78a: 0x8f, 0x78b: 0x8f, 0x78c: 0x8f, 0x78d: 0x8f, 0x78e: 0x8f, 0x78f: 0x8f, + 0x790: 0x8f, 0x791: 0x8f, 0x792: 0x8f, 0x793: 0x8f, 0x794: 0x8f, 0x795: 0x8f, 0x796: 0x8f, 0x797: 0x8f, + 0x798: 0x8f, 0x799: 0x8f, 0x79a: 0x8f, 0x79b: 0x8f, 0x79c: 0x8f, 0x79d: 0x8f, 0x79e: 0x8f, 0x79f: 0x8f, + 0x7a0: 0x8f, 0x7a1: 0x8f, 0x7a2: 0x8f, 0x7a3: 0x8f, 0x7a4: 0x8f, 0x7a5: 0x8f, 0x7a6: 0x8f, 0x7a7: 0x8f, + 0x7a8: 0x8f, 0x7a9: 0x8f, 0x7aa: 0x8f, 0x7ab: 0x8f, 0x7ac: 0x8f, 0x7ad: 0x8f, 0x7ae: 0x8f, 0x7af: 0x144, // Block 0x1f, offset 0x7c0 - 0x7d0: 0x0e, 0x7d1: 0x0f, 0x7d2: 0x10, 0x7d3: 0x11, 0x7d4: 0x12, 0x7d6: 0x13, 0x7d7: 0x0a, - 0x7d8: 0x14, 0x7db: 0x15, 0x7dd: 0x16, 0x7de: 0x17, 0x7df: 0x18, - 0x7e0: 0x07, 0x7e1: 0x07, 0x7e2: 0x07, 0x7e3: 0x07, 0x7e4: 0x07, 0x7e5: 0x07, 0x7e6: 0x07, 0x7e7: 0x07, - 0x7e8: 0x07, 0x7e9: 0x07, 0x7ea: 0x19, 0x7eb: 0x1a, 0x7ec: 0x1b, 0x7ef: 0x1c, + 0x7e0: 0x82, 0x7e1: 0x82, 0x7e2: 0x82, 0x7e3: 0x82, 0x7e4: 0x82, 0x7e5: 0x82, 0x7e6: 0x82, 0x7e7: 0x82, + 0x7e8: 0x145, // Block 0x20, offset 0x800 - 0x800: 0x13f, 0x801: 0x3e, 0x804: 0x3e, 0x805: 0x3e, 0x806: 0x3e, 0x807: 0x140, + 0x810: 0x0e, 0x811: 0x0f, 0x812: 0x10, 0x813: 0x11, 0x814: 0x12, 0x816: 0x13, 0x817: 0x0a, + 0x818: 0x14, 0x81b: 0x15, 0x81d: 0x16, 0x81e: 0x17, 0x81f: 0x18, + 0x820: 0x07, 0x821: 0x07, 0x822: 0x07, 0x823: 0x07, 0x824: 0x07, 0x825: 0x07, 0x826: 0x07, 0x827: 0x07, + 0x828: 0x07, 0x829: 0x07, 0x82a: 0x19, 0x82b: 0x1a, 0x82c: 0x1b, 0x82d: 0x07, 0x82e: 0x1c, 0x82f: 0x1d, // Block 0x21, offset 0x840 - 0x840: 0x3e, 0x841: 0x3e, 0x842: 0x3e, 0x843: 0x3e, 0x844: 0x3e, 0x845: 0x3e, 0x846: 0x3e, 0x847: 0x3e, - 0x848: 0x3e, 0x849: 0x3e, 0x84a: 0x3e, 0x84b: 0x3e, 0x84c: 0x3e, 0x84d: 0x3e, 0x84e: 0x3e, 0x84f: 0x3e, - 0x850: 0x3e, 0x851: 0x3e, 0x852: 0x3e, 0x853: 0x3e, 0x854: 0x3e, 0x855: 0x3e, 0x856: 0x3e, 0x857: 0x3e, - 0x858: 0x3e, 0x859: 0x3e, 0x85a: 0x3e, 0x85b: 0x3e, 0x85c: 0x3e, 0x85d: 0x3e, 0x85e: 0x3e, 0x85f: 0x3e, - 0x860: 0x3e, 0x861: 0x3e, 0x862: 0x3e, 0x863: 0x3e, 0x864: 0x3e, 0x865: 0x3e, 0x866: 0x3e, 0x867: 0x3e, - 0x868: 0x3e, 0x869: 0x3e, 0x86a: 0x3e, 0x86b: 0x3e, 0x86c: 0x3e, 0x86d: 0x3e, 0x86e: 0x3e, 0x86f: 0x3e, - 0x870: 0x3e, 0x871: 0x3e, 0x872: 0x3e, 0x873: 0x3e, 0x874: 0x3e, 0x875: 0x3e, 0x876: 0x3e, 0x877: 0x3e, - 0x878: 0x3e, 0x879: 0x3e, 0x87a: 0x3e, 0x87b: 0x3e, 0x87c: 0x3e, 0x87d: 0x3e, 0x87e: 0x3e, 0x87f: 0x141, + 0x840: 0x146, 0x841: 0x3e, 0x844: 0x3e, 0x845: 0x3e, 0x846: 0x3e, 0x847: 0x147, // Block 0x22, offset 0x880 - 0x8a0: 0x1e, - 0x8b0: 0x0c, 0x8b1: 0x0c, 0x8b2: 0x0c, 0x8b3: 0x0c, 0x8b4: 0x0c, 0x8b5: 0x0c, 0x8b6: 0x0c, 0x8b7: 0x0c, - 0x8b8: 0x0c, 0x8b9: 0x0c, 0x8ba: 0x0c, 0x8bb: 0x0c, 0x8bc: 0x0c, 0x8bd: 0x0c, 0x8be: 0x0c, 0x8bf: 0x1f, + 0x880: 0x3e, 0x881: 0x3e, 0x882: 0x3e, 0x883: 0x3e, 0x884: 0x3e, 0x885: 0x3e, 0x886: 0x3e, 0x887: 0x3e, + 0x888: 0x3e, 0x889: 0x3e, 0x88a: 0x3e, 0x88b: 0x3e, 0x88c: 0x3e, 0x88d: 0x3e, 0x88e: 0x3e, 0x88f: 0x3e, + 0x890: 0x3e, 0x891: 0x3e, 0x892: 0x3e, 0x893: 0x3e, 0x894: 0x3e, 0x895: 0x3e, 0x896: 0x3e, 0x897: 0x3e, + 0x898: 0x3e, 0x899: 0x3e, 0x89a: 0x3e, 0x89b: 0x3e, 0x89c: 0x3e, 0x89d: 0x3e, 0x89e: 0x3e, 0x89f: 0x3e, + 0x8a0: 0x3e, 0x8a1: 0x3e, 0x8a2: 0x3e, 0x8a3: 0x3e, 0x8a4: 0x3e, 0x8a5: 0x3e, 0x8a6: 0x3e, 0x8a7: 0x3e, + 0x8a8: 0x3e, 0x8a9: 0x3e, 0x8aa: 0x3e, 0x8ab: 0x3e, 0x8ac: 0x3e, 0x8ad: 0x3e, 0x8ae: 0x3e, 0x8af: 0x3e, + 0x8b0: 0x3e, 0x8b1: 0x3e, 0x8b2: 0x3e, 0x8b3: 0x3e, 0x8b4: 0x3e, 0x8b5: 0x3e, 0x8b6: 0x3e, 0x8b7: 0x3e, + 0x8b8: 0x3e, 0x8b9: 0x3e, 0x8ba: 0x3e, 0x8bb: 0x3e, 0x8bc: 0x3e, 0x8bd: 0x3e, 0x8be: 0x3e, 0x8bf: 0x148, // Block 0x23, offset 0x8c0 - 0x8c0: 0x0c, 0x8c1: 0x0c, 0x8c2: 0x0c, 0x8c3: 0x0c, 0x8c4: 0x0c, 0x8c5: 0x0c, 0x8c6: 0x0c, 0x8c7: 0x0c, - 0x8c8: 0x0c, 0x8c9: 0x0c, 0x8ca: 0x0c, 0x8cb: 0x0c, 0x8cc: 0x0c, 0x8cd: 0x0c, 0x8ce: 0x0c, 0x8cf: 0x1f, + 0x8e0: 0x1f, + 0x8f0: 0x0c, 0x8f1: 0x0c, 0x8f2: 0x0c, 0x8f3: 0x0c, 0x8f4: 0x0c, 0x8f5: 0x0c, 0x8f6: 0x0c, 0x8f7: 0x0c, + 0x8f8: 0x0c, 0x8f9: 0x0c, 0x8fa: 0x0c, 0x8fb: 0x0c, 0x8fc: 0x0c, 0x8fd: 0x0c, 0x8fe: 0x0c, 0x8ff: 0x20, + // Block 0x24, offset 0x900 + 0x900: 0x0c, 0x901: 0x0c, 0x902: 0x0c, 0x903: 0x0c, 0x904: 0x0c, 0x905: 0x0c, 0x906: 0x0c, 0x907: 0x0c, + 0x908: 0x0c, 0x909: 0x0c, 0x90a: 0x0c, 0x90b: 0x0c, 0x90c: 0x0c, 0x90d: 0x0c, 0x90e: 0x0c, 0x90f: 0x20, } -// Total table size 25344 bytes (24KiB); checksum: 811C9DC5 +// Total table size 25920 bytes (25KiB); checksum: 811C9DC5 diff --git a/vendor/golang.org/x/text/unicode/bidi/tables.go b/vendor/golang.org/x/text/unicode/bidi/tables.go index 7212d5add..a0b2b17a1 100644 --- a/vendor/golang.org/x/text/unicode/bidi/tables.go +++ b/vendor/golang.org/x/text/unicode/bidi/tables.go @@ -3,7 +3,7 @@ package bidi // UnicodeVersion is the Unicode version from which the tables in this package are derived. -const UnicodeVersion = "9.0.0" +const UnicodeVersion = "10.0.0" // xorMasks contains masks to be xor-ed with brackets to get the reverse // version. @@ -181,7 +181,7 @@ func (t *bidiTrie) lookupStringUnsafe(s string) uint8 { return 0 } -// bidiTrie. Total size: 15744 bytes (15.38 KiB). Checksum: b4c3b70954803b86. +// bidiTrie. Total size: 16128 bytes (15.75 KiB). Checksum: 8122d83e461996f. type bidiTrie struct{} func newBidiTrie(i int) *bidiTrie { @@ -196,9 +196,9 @@ func (t *bidiTrie) lookupValue(n uint32, b byte) uint8 { } } -// bidiValues: 222 blocks, 14208 entries, 14208 bytes +// bidiValues: 228 blocks, 14592 entries, 14592 bytes // The third block is the zero block. -var bidiValues = [14208]uint8{ +var bidiValues = [14592]uint8{ // Block 0x0, offset 0x0 0x00: 0x000b, 0x01: 0x000b, 0x02: 0x000b, 0x03: 0x000b, 0x04: 0x000b, 0x05: 0x000b, 0x06: 0x000b, 0x07: 0x000b, 0x08: 0x000b, 0x09: 0x0008, 0x0a: 0x0007, 0x0b: 0x0008, @@ -415,9 +415,9 @@ var bidiValues = [14208]uint8{ 0x5cc: 0x0001, 0x5cd: 0x0001, 0x5ce: 0x0001, 0x5cf: 0x0001, 0x5d0: 0x0001, 0x5d1: 0x0001, 0x5d2: 0x0001, 0x5d3: 0x0001, 0x5d4: 0x0001, 0x5d5: 0x0001, 0x5d6: 0x0001, 0x5d7: 0x0001, 0x5d8: 0x0001, 0x5d9: 0x000c, 0x5da: 0x000c, 0x5db: 0x000c, 0x5dc: 0x0001, 0x5dd: 0x0001, - 0x5de: 0x0001, 0x5df: 0x0001, 0x5e0: 0x0001, 0x5e1: 0x0001, 0x5e2: 0x0001, 0x5e3: 0x0001, - 0x5e4: 0x0001, 0x5e5: 0x0001, 0x5e6: 0x0001, 0x5e7: 0x0001, 0x5e8: 0x0001, 0x5e9: 0x0001, - 0x5ea: 0x0001, 0x5eb: 0x0001, 0x5ec: 0x0001, 0x5ed: 0x0001, 0x5ee: 0x0001, 0x5ef: 0x0001, + 0x5de: 0x0001, 0x5df: 0x0001, 0x5e0: 0x000d, 0x5e1: 0x000d, 0x5e2: 0x000d, 0x5e3: 0x000d, + 0x5e4: 0x000d, 0x5e5: 0x000d, 0x5e6: 0x000d, 0x5e7: 0x000d, 0x5e8: 0x000d, 0x5e9: 0x000d, + 0x5ea: 0x000d, 0x5eb: 0x000d, 0x5ec: 0x000d, 0x5ed: 0x000d, 0x5ee: 0x000d, 0x5ef: 0x000d, 0x5f0: 0x0001, 0x5f1: 0x0001, 0x5f2: 0x0001, 0x5f3: 0x0001, 0x5f4: 0x0001, 0x5f5: 0x0001, 0x5f6: 0x0001, 0x5f7: 0x0001, 0x5f8: 0x0001, 0x5f9: 0x0001, 0x5fa: 0x0001, 0x5fb: 0x0001, 0x5fc: 0x0001, 0x5fd: 0x0001, 0x5fe: 0x0001, 0x5ff: 0x0001, @@ -478,6 +478,8 @@ var bidiValues = [14208]uint8{ 0x80d: 0x000c, 0x822: 0x000c, 0x823: 0x000c, 0x831: 0x0004, + 0x83a: 0x000c, 0x83b: 0x000c, + 0x83c: 0x000c, 0x83d: 0x000c, 0x83e: 0x000c, 0x83f: 0x000c, // Block 0x21, offset 0x840 0x841: 0x000c, 0x87c: 0x000c, 0x87f: 0x000c, @@ -508,7 +510,9 @@ var bidiValues = [14208]uint8{ 0x9cc: 0x000c, 0x9cd: 0x000c, 0x9e2: 0x000c, 0x9e3: 0x000c, // Block 0x28, offset 0xa00 - 0xa01: 0x000c, + 0xa00: 0x000c, 0xa01: 0x000c, + 0xa3b: 0x000c, + 0xa3c: 0x000c, // Block 0x29, offset 0xa40 0xa41: 0x000c, 0xa42: 0x000c, 0xa43: 0x000c, 0xa44: 0x000c, 0xa4d: 0x000c, @@ -675,7 +679,7 @@ var bidiValues = [14208]uint8{ 0x1324: 0x000c, 0x1325: 0x000c, 0x1326: 0x000c, 0x1327: 0x000c, 0x1328: 0x000c, 0x1329: 0x000c, 0x132a: 0x000c, 0x132b: 0x000c, 0x132c: 0x000c, 0x132d: 0x000c, 0x132e: 0x000c, 0x132f: 0x000c, 0x1330: 0x000c, 0x1331: 0x000c, 0x1332: 0x000c, 0x1333: 0x000c, 0x1334: 0x000c, 0x1335: 0x000c, - 0x133b: 0x000c, + 0x1336: 0x000c, 0x1337: 0x000c, 0x1338: 0x000c, 0x1339: 0x000c, 0x133b: 0x000c, 0x133c: 0x000c, 0x133d: 0x000c, 0x133e: 0x000c, 0x133f: 0x000c, // Block 0x4d, offset 0x1340 0x137d: 0x000a, 0x137f: 0x000a, @@ -813,36 +817,36 @@ var bidiValues = [14208]uint8{ 0x16d2: 0x000a, 0x16d3: 0x000a, 0x16d4: 0x000a, 0x16d5: 0x000a, 0x16d6: 0x000a, 0x16d7: 0x000a, 0x16d8: 0x000a, 0x16d9: 0x000a, 0x16da: 0x000a, 0x16db: 0x000a, 0x16dc: 0x000a, 0x16dd: 0x000a, 0x16de: 0x000a, 0x16df: 0x000a, 0x16e0: 0x000a, 0x16e1: 0x000a, 0x16e2: 0x000a, 0x16e3: 0x000a, - 0x16e4: 0x000a, 0x16e5: 0x000a, 0x16e6: 0x000a, 0x16e7: 0x000a, 0x16e8: 0x000a, 0x16e9: 0x000a, - 0x16ea: 0x000a, 0x16eb: 0x000a, 0x16ec: 0x000a, 0x16ed: 0x000a, 0x16ee: 0x000a, 0x16ef: 0x000a, - 0x16f0: 0x000a, 0x16f1: 0x000a, 0x16f2: 0x000a, 0x16f3: 0x000a, 0x16f4: 0x000a, 0x16f5: 0x000a, - 0x16f6: 0x000a, 0x16f7: 0x000a, 0x16f8: 0x000a, 0x16f9: 0x000a, 0x16fa: 0x000a, 0x16fb: 0x000a, - 0x16fc: 0x000a, 0x16fd: 0x000a, 0x16fe: 0x000a, + 0x16e4: 0x000a, 0x16e5: 0x000a, 0x16e6: 0x000a, // Block 0x5c, offset 0x1700 0x1700: 0x000a, 0x1701: 0x000a, 0x1702: 0x000a, 0x1703: 0x000a, 0x1704: 0x000a, 0x1705: 0x000a, - 0x1706: 0x000a, 0x1707: 0x000a, 0x1708: 0x000a, 0x1709: 0x000a, 0x170a: 0x000a, 0x170b: 0x000a, - 0x170c: 0x000a, 0x170d: 0x000a, 0x170e: 0x000a, 0x170f: 0x000a, 0x1710: 0x000a, 0x1711: 0x000a, - 0x1712: 0x000a, 0x1713: 0x000a, 0x1714: 0x000a, 0x1715: 0x000a, 0x1716: 0x000a, 0x1717: 0x000a, - 0x1718: 0x000a, 0x1719: 0x000a, 0x171a: 0x000a, 0x171b: 0x000a, 0x171c: 0x000a, 0x171d: 0x000a, - 0x171e: 0x000a, 0x171f: 0x000a, 0x1720: 0x000a, 0x1721: 0x000a, 0x1722: 0x000a, 0x1723: 0x000a, - 0x1724: 0x000a, 0x1725: 0x000a, 0x1726: 0x000a, + 0x1706: 0x000a, 0x1707: 0x000a, 0x1708: 0x000a, 0x1709: 0x000a, 0x170a: 0x000a, + 0x1720: 0x000a, 0x1721: 0x000a, 0x1722: 0x000a, 0x1723: 0x000a, + 0x1724: 0x000a, 0x1725: 0x000a, 0x1726: 0x000a, 0x1727: 0x000a, 0x1728: 0x000a, 0x1729: 0x000a, + 0x172a: 0x000a, 0x172b: 0x000a, 0x172c: 0x000a, 0x172d: 0x000a, 0x172e: 0x000a, 0x172f: 0x000a, + 0x1730: 0x000a, 0x1731: 0x000a, 0x1732: 0x000a, 0x1733: 0x000a, 0x1734: 0x000a, 0x1735: 0x000a, + 0x1736: 0x000a, 0x1737: 0x000a, 0x1738: 0x000a, 0x1739: 0x000a, 0x173a: 0x000a, 0x173b: 0x000a, + 0x173c: 0x000a, 0x173d: 0x000a, 0x173e: 0x000a, 0x173f: 0x000a, // Block 0x5d, offset 0x1740 0x1740: 0x000a, 0x1741: 0x000a, 0x1742: 0x000a, 0x1743: 0x000a, 0x1744: 0x000a, 0x1745: 0x000a, - 0x1746: 0x000a, 0x1747: 0x000a, 0x1748: 0x000a, 0x1749: 0x000a, 0x174a: 0x000a, - 0x1760: 0x000a, 0x1761: 0x000a, 0x1762: 0x000a, 0x1763: 0x000a, - 0x1764: 0x000a, 0x1765: 0x000a, 0x1766: 0x000a, 0x1767: 0x000a, 0x1768: 0x000a, 0x1769: 0x000a, - 0x176a: 0x000a, 0x176b: 0x000a, 0x176c: 0x000a, 0x176d: 0x000a, 0x176e: 0x000a, 0x176f: 0x000a, - 0x1770: 0x000a, 0x1771: 0x000a, 0x1772: 0x000a, 0x1773: 0x000a, 0x1774: 0x000a, 0x1775: 0x000a, - 0x1776: 0x000a, 0x1777: 0x000a, 0x1778: 0x000a, 0x1779: 0x000a, 0x177a: 0x000a, 0x177b: 0x000a, - 0x177c: 0x000a, 0x177d: 0x000a, 0x177e: 0x000a, 0x177f: 0x000a, + 0x1746: 0x000a, 0x1747: 0x000a, 0x1748: 0x0002, 0x1749: 0x0002, 0x174a: 0x0002, 0x174b: 0x0002, + 0x174c: 0x0002, 0x174d: 0x0002, 0x174e: 0x0002, 0x174f: 0x0002, 0x1750: 0x0002, 0x1751: 0x0002, + 0x1752: 0x0002, 0x1753: 0x0002, 0x1754: 0x0002, 0x1755: 0x0002, 0x1756: 0x0002, 0x1757: 0x0002, + 0x1758: 0x0002, 0x1759: 0x0002, 0x175a: 0x0002, 0x175b: 0x0002, // Block 0x5e, offset 0x1780 - 0x1780: 0x000a, 0x1781: 0x000a, 0x1782: 0x000a, 0x1783: 0x000a, 0x1784: 0x000a, 0x1785: 0x000a, - 0x1786: 0x000a, 0x1787: 0x000a, 0x1788: 0x0002, 0x1789: 0x0002, 0x178a: 0x0002, 0x178b: 0x0002, - 0x178c: 0x0002, 0x178d: 0x0002, 0x178e: 0x0002, 0x178f: 0x0002, 0x1790: 0x0002, 0x1791: 0x0002, - 0x1792: 0x0002, 0x1793: 0x0002, 0x1794: 0x0002, 0x1795: 0x0002, 0x1796: 0x0002, 0x1797: 0x0002, - 0x1798: 0x0002, 0x1799: 0x0002, 0x179a: 0x0002, 0x179b: 0x0002, + 0x17aa: 0x000a, 0x17ab: 0x000a, 0x17ac: 0x000a, 0x17ad: 0x000a, 0x17ae: 0x000a, 0x17af: 0x000a, + 0x17b0: 0x000a, 0x17b1: 0x000a, 0x17b2: 0x000a, 0x17b3: 0x000a, 0x17b4: 0x000a, 0x17b5: 0x000a, + 0x17b6: 0x000a, 0x17b7: 0x000a, 0x17b8: 0x000a, 0x17b9: 0x000a, 0x17ba: 0x000a, 0x17bb: 0x000a, + 0x17bc: 0x000a, 0x17bd: 0x000a, 0x17be: 0x000a, 0x17bf: 0x000a, // Block 0x5f, offset 0x17c0 - 0x17ea: 0x000a, 0x17eb: 0x000a, 0x17ec: 0x000a, 0x17ed: 0x000a, 0x17ee: 0x000a, 0x17ef: 0x000a, + 0x17c0: 0x000a, 0x17c1: 0x000a, 0x17c2: 0x000a, 0x17c3: 0x000a, 0x17c4: 0x000a, 0x17c5: 0x000a, + 0x17c6: 0x000a, 0x17c7: 0x000a, 0x17c8: 0x000a, 0x17c9: 0x000a, 0x17ca: 0x000a, 0x17cb: 0x000a, + 0x17cc: 0x000a, 0x17cd: 0x000a, 0x17ce: 0x000a, 0x17cf: 0x000a, 0x17d0: 0x000a, 0x17d1: 0x000a, + 0x17d2: 0x000a, 0x17d3: 0x000a, 0x17d4: 0x000a, 0x17d5: 0x000a, 0x17d6: 0x000a, 0x17d7: 0x000a, + 0x17d8: 0x000a, 0x17d9: 0x000a, 0x17da: 0x000a, 0x17db: 0x000a, 0x17dc: 0x000a, 0x17dd: 0x000a, + 0x17de: 0x000a, 0x17df: 0x000a, 0x17e0: 0x000a, 0x17e1: 0x000a, 0x17e2: 0x000a, 0x17e3: 0x000a, + 0x17e4: 0x000a, 0x17e5: 0x000a, 0x17e6: 0x000a, 0x17e7: 0x000a, 0x17e8: 0x000a, 0x17e9: 0x000a, + 0x17ea: 0x000a, 0x17eb: 0x000a, 0x17ed: 0x000a, 0x17ee: 0x000a, 0x17ef: 0x000a, 0x17f0: 0x000a, 0x17f1: 0x000a, 0x17f2: 0x000a, 0x17f3: 0x000a, 0x17f4: 0x000a, 0x17f5: 0x000a, 0x17f6: 0x000a, 0x17f7: 0x000a, 0x17f8: 0x000a, 0x17f9: 0x000a, 0x17fa: 0x000a, 0x17fb: 0x000a, 0x17fc: 0x000a, 0x17fd: 0x000a, 0x17fe: 0x000a, 0x17ff: 0x000a, @@ -853,282 +857,284 @@ var bidiValues = [14208]uint8{ 0x1812: 0x000a, 0x1813: 0x000a, 0x1814: 0x000a, 0x1815: 0x000a, 0x1816: 0x000a, 0x1817: 0x000a, 0x1818: 0x000a, 0x1819: 0x000a, 0x181a: 0x000a, 0x181b: 0x000a, 0x181c: 0x000a, 0x181d: 0x000a, 0x181e: 0x000a, 0x181f: 0x000a, 0x1820: 0x000a, 0x1821: 0x000a, 0x1822: 0x000a, 0x1823: 0x000a, - 0x1824: 0x000a, 0x1825: 0x000a, 0x1826: 0x000a, 0x1827: 0x000a, 0x1828: 0x000a, 0x1829: 0x000a, - 0x182a: 0x000a, 0x182b: 0x000a, 0x182d: 0x000a, 0x182e: 0x000a, 0x182f: 0x000a, - 0x1830: 0x000a, 0x1831: 0x000a, 0x1832: 0x000a, 0x1833: 0x000a, 0x1834: 0x000a, 0x1835: 0x000a, + 0x1824: 0x000a, 0x1825: 0x000a, 0x1826: 0x000a, 0x1827: 0x000a, 0x1828: 0x003a, 0x1829: 0x002a, + 0x182a: 0x003a, 0x182b: 0x002a, 0x182c: 0x003a, 0x182d: 0x002a, 0x182e: 0x003a, 0x182f: 0x002a, + 0x1830: 0x003a, 0x1831: 0x002a, 0x1832: 0x003a, 0x1833: 0x002a, 0x1834: 0x003a, 0x1835: 0x002a, 0x1836: 0x000a, 0x1837: 0x000a, 0x1838: 0x000a, 0x1839: 0x000a, 0x183a: 0x000a, 0x183b: 0x000a, 0x183c: 0x000a, 0x183d: 0x000a, 0x183e: 0x000a, 0x183f: 0x000a, // Block 0x61, offset 0x1840 - 0x1840: 0x000a, 0x1841: 0x000a, 0x1842: 0x000a, 0x1843: 0x000a, 0x1844: 0x000a, 0x1845: 0x000a, - 0x1846: 0x000a, 0x1847: 0x000a, 0x1848: 0x000a, 0x1849: 0x000a, 0x184a: 0x000a, 0x184b: 0x000a, + 0x1840: 0x000a, 0x1841: 0x000a, 0x1842: 0x000a, 0x1843: 0x000a, 0x1844: 0x000a, 0x1845: 0x009a, + 0x1846: 0x008a, 0x1847: 0x000a, 0x1848: 0x000a, 0x1849: 0x000a, 0x184a: 0x000a, 0x184b: 0x000a, 0x184c: 0x000a, 0x184d: 0x000a, 0x184e: 0x000a, 0x184f: 0x000a, 0x1850: 0x000a, 0x1851: 0x000a, 0x1852: 0x000a, 0x1853: 0x000a, 0x1854: 0x000a, 0x1855: 0x000a, 0x1856: 0x000a, 0x1857: 0x000a, 0x1858: 0x000a, 0x1859: 0x000a, 0x185a: 0x000a, 0x185b: 0x000a, 0x185c: 0x000a, 0x185d: 0x000a, 0x185e: 0x000a, 0x185f: 0x000a, 0x1860: 0x000a, 0x1861: 0x000a, 0x1862: 0x000a, 0x1863: 0x000a, - 0x1864: 0x000a, 0x1865: 0x000a, 0x1866: 0x000a, 0x1867: 0x000a, 0x1868: 0x003a, 0x1869: 0x002a, + 0x1864: 0x000a, 0x1865: 0x000a, 0x1866: 0x003a, 0x1867: 0x002a, 0x1868: 0x003a, 0x1869: 0x002a, 0x186a: 0x003a, 0x186b: 0x002a, 0x186c: 0x003a, 0x186d: 0x002a, 0x186e: 0x003a, 0x186f: 0x002a, - 0x1870: 0x003a, 0x1871: 0x002a, 0x1872: 0x003a, 0x1873: 0x002a, 0x1874: 0x003a, 0x1875: 0x002a, + 0x1870: 0x000a, 0x1871: 0x000a, 0x1872: 0x000a, 0x1873: 0x000a, 0x1874: 0x000a, 0x1875: 0x000a, 0x1876: 0x000a, 0x1877: 0x000a, 0x1878: 0x000a, 0x1879: 0x000a, 0x187a: 0x000a, 0x187b: 0x000a, 0x187c: 0x000a, 0x187d: 0x000a, 0x187e: 0x000a, 0x187f: 0x000a, // Block 0x62, offset 0x1880 - 0x1880: 0x000a, 0x1881: 0x000a, 0x1882: 0x000a, 0x1883: 0x000a, 0x1884: 0x000a, 0x1885: 0x009a, - 0x1886: 0x008a, 0x1887: 0x000a, 0x1888: 0x000a, 0x1889: 0x000a, 0x188a: 0x000a, 0x188b: 0x000a, - 0x188c: 0x000a, 0x188d: 0x000a, 0x188e: 0x000a, 0x188f: 0x000a, 0x1890: 0x000a, 0x1891: 0x000a, - 0x1892: 0x000a, 0x1893: 0x000a, 0x1894: 0x000a, 0x1895: 0x000a, 0x1896: 0x000a, 0x1897: 0x000a, - 0x1898: 0x000a, 0x1899: 0x000a, 0x189a: 0x000a, 0x189b: 0x000a, 0x189c: 0x000a, 0x189d: 0x000a, + 0x1880: 0x000a, 0x1881: 0x000a, 0x1882: 0x000a, 0x1883: 0x007a, 0x1884: 0x006a, 0x1885: 0x009a, + 0x1886: 0x008a, 0x1887: 0x00ba, 0x1888: 0x00aa, 0x1889: 0x009a, 0x188a: 0x008a, 0x188b: 0x007a, + 0x188c: 0x006a, 0x188d: 0x00da, 0x188e: 0x002a, 0x188f: 0x003a, 0x1890: 0x00ca, 0x1891: 0x009a, + 0x1892: 0x008a, 0x1893: 0x007a, 0x1894: 0x006a, 0x1895: 0x009a, 0x1896: 0x008a, 0x1897: 0x00ba, + 0x1898: 0x00aa, 0x1899: 0x000a, 0x189a: 0x000a, 0x189b: 0x000a, 0x189c: 0x000a, 0x189d: 0x000a, 0x189e: 0x000a, 0x189f: 0x000a, 0x18a0: 0x000a, 0x18a1: 0x000a, 0x18a2: 0x000a, 0x18a3: 0x000a, - 0x18a4: 0x000a, 0x18a5: 0x000a, 0x18a6: 0x003a, 0x18a7: 0x002a, 0x18a8: 0x003a, 0x18a9: 0x002a, - 0x18aa: 0x003a, 0x18ab: 0x002a, 0x18ac: 0x003a, 0x18ad: 0x002a, 0x18ae: 0x003a, 0x18af: 0x002a, + 0x18a4: 0x000a, 0x18a5: 0x000a, 0x18a6: 0x000a, 0x18a7: 0x000a, 0x18a8: 0x000a, 0x18a9: 0x000a, + 0x18aa: 0x000a, 0x18ab: 0x000a, 0x18ac: 0x000a, 0x18ad: 0x000a, 0x18ae: 0x000a, 0x18af: 0x000a, 0x18b0: 0x000a, 0x18b1: 0x000a, 0x18b2: 0x000a, 0x18b3: 0x000a, 0x18b4: 0x000a, 0x18b5: 0x000a, 0x18b6: 0x000a, 0x18b7: 0x000a, 0x18b8: 0x000a, 0x18b9: 0x000a, 0x18ba: 0x000a, 0x18bb: 0x000a, 0x18bc: 0x000a, 0x18bd: 0x000a, 0x18be: 0x000a, 0x18bf: 0x000a, // Block 0x63, offset 0x18c0 - 0x18c0: 0x000a, 0x18c1: 0x000a, 0x18c2: 0x000a, 0x18c3: 0x007a, 0x18c4: 0x006a, 0x18c5: 0x009a, - 0x18c6: 0x008a, 0x18c7: 0x00ba, 0x18c8: 0x00aa, 0x18c9: 0x009a, 0x18ca: 0x008a, 0x18cb: 0x007a, - 0x18cc: 0x006a, 0x18cd: 0x00da, 0x18ce: 0x002a, 0x18cf: 0x003a, 0x18d0: 0x00ca, 0x18d1: 0x009a, - 0x18d2: 0x008a, 0x18d3: 0x007a, 0x18d4: 0x006a, 0x18d5: 0x009a, 0x18d6: 0x008a, 0x18d7: 0x00ba, - 0x18d8: 0x00aa, 0x18d9: 0x000a, 0x18da: 0x000a, 0x18db: 0x000a, 0x18dc: 0x000a, 0x18dd: 0x000a, + 0x18c0: 0x000a, 0x18c1: 0x000a, 0x18c2: 0x000a, 0x18c3: 0x000a, 0x18c4: 0x000a, 0x18c5: 0x000a, + 0x18c6: 0x000a, 0x18c7: 0x000a, 0x18c8: 0x000a, 0x18c9: 0x000a, 0x18ca: 0x000a, 0x18cb: 0x000a, + 0x18cc: 0x000a, 0x18cd: 0x000a, 0x18ce: 0x000a, 0x18cf: 0x000a, 0x18d0: 0x000a, 0x18d1: 0x000a, + 0x18d2: 0x000a, 0x18d3: 0x000a, 0x18d4: 0x000a, 0x18d5: 0x000a, 0x18d6: 0x000a, 0x18d7: 0x000a, + 0x18d8: 0x003a, 0x18d9: 0x002a, 0x18da: 0x003a, 0x18db: 0x002a, 0x18dc: 0x000a, 0x18dd: 0x000a, 0x18de: 0x000a, 0x18df: 0x000a, 0x18e0: 0x000a, 0x18e1: 0x000a, 0x18e2: 0x000a, 0x18e3: 0x000a, 0x18e4: 0x000a, 0x18e5: 0x000a, 0x18e6: 0x000a, 0x18e7: 0x000a, 0x18e8: 0x000a, 0x18e9: 0x000a, 0x18ea: 0x000a, 0x18eb: 0x000a, 0x18ec: 0x000a, 0x18ed: 0x000a, 0x18ee: 0x000a, 0x18ef: 0x000a, 0x18f0: 0x000a, 0x18f1: 0x000a, 0x18f2: 0x000a, 0x18f3: 0x000a, 0x18f4: 0x000a, 0x18f5: 0x000a, 0x18f6: 0x000a, 0x18f7: 0x000a, 0x18f8: 0x000a, 0x18f9: 0x000a, 0x18fa: 0x000a, 0x18fb: 0x000a, - 0x18fc: 0x000a, 0x18fd: 0x000a, 0x18fe: 0x000a, 0x18ff: 0x000a, + 0x18fc: 0x003a, 0x18fd: 0x002a, 0x18fe: 0x000a, 0x18ff: 0x000a, // Block 0x64, offset 0x1900 0x1900: 0x000a, 0x1901: 0x000a, 0x1902: 0x000a, 0x1903: 0x000a, 0x1904: 0x000a, 0x1905: 0x000a, 0x1906: 0x000a, 0x1907: 0x000a, 0x1908: 0x000a, 0x1909: 0x000a, 0x190a: 0x000a, 0x190b: 0x000a, 0x190c: 0x000a, 0x190d: 0x000a, 0x190e: 0x000a, 0x190f: 0x000a, 0x1910: 0x000a, 0x1911: 0x000a, 0x1912: 0x000a, 0x1913: 0x000a, 0x1914: 0x000a, 0x1915: 0x000a, 0x1916: 0x000a, 0x1917: 0x000a, - 0x1918: 0x003a, 0x1919: 0x002a, 0x191a: 0x003a, 0x191b: 0x002a, 0x191c: 0x000a, 0x191d: 0x000a, + 0x1918: 0x000a, 0x1919: 0x000a, 0x191a: 0x000a, 0x191b: 0x000a, 0x191c: 0x000a, 0x191d: 0x000a, 0x191e: 0x000a, 0x191f: 0x000a, 0x1920: 0x000a, 0x1921: 0x000a, 0x1922: 0x000a, 0x1923: 0x000a, 0x1924: 0x000a, 0x1925: 0x000a, 0x1926: 0x000a, 0x1927: 0x000a, 0x1928: 0x000a, 0x1929: 0x000a, 0x192a: 0x000a, 0x192b: 0x000a, 0x192c: 0x000a, 0x192d: 0x000a, 0x192e: 0x000a, 0x192f: 0x000a, - 0x1930: 0x000a, 0x1931: 0x000a, 0x1932: 0x000a, 0x1933: 0x000a, 0x1934: 0x000a, 0x1935: 0x000a, + 0x1930: 0x000a, 0x1931: 0x000a, 0x1932: 0x000a, 0x1933: 0x000a, 0x1936: 0x000a, 0x1937: 0x000a, 0x1938: 0x000a, 0x1939: 0x000a, 0x193a: 0x000a, 0x193b: 0x000a, - 0x193c: 0x003a, 0x193d: 0x002a, 0x193e: 0x000a, 0x193f: 0x000a, + 0x193c: 0x000a, 0x193d: 0x000a, 0x193e: 0x000a, 0x193f: 0x000a, // Block 0x65, offset 0x1940 0x1940: 0x000a, 0x1941: 0x000a, 0x1942: 0x000a, 0x1943: 0x000a, 0x1944: 0x000a, 0x1945: 0x000a, 0x1946: 0x000a, 0x1947: 0x000a, 0x1948: 0x000a, 0x1949: 0x000a, 0x194a: 0x000a, 0x194b: 0x000a, 0x194c: 0x000a, 0x194d: 0x000a, 0x194e: 0x000a, 0x194f: 0x000a, 0x1950: 0x000a, 0x1951: 0x000a, - 0x1952: 0x000a, 0x1953: 0x000a, 0x1954: 0x000a, 0x1955: 0x000a, 0x1956: 0x000a, 0x1957: 0x000a, + 0x1952: 0x000a, 0x1953: 0x000a, 0x1954: 0x000a, 0x1955: 0x000a, 0x1958: 0x000a, 0x1959: 0x000a, 0x195a: 0x000a, 0x195b: 0x000a, 0x195c: 0x000a, 0x195d: 0x000a, 0x195e: 0x000a, 0x195f: 0x000a, 0x1960: 0x000a, 0x1961: 0x000a, 0x1962: 0x000a, 0x1963: 0x000a, 0x1964: 0x000a, 0x1965: 0x000a, 0x1966: 0x000a, 0x1967: 0x000a, 0x1968: 0x000a, 0x1969: 0x000a, 0x196a: 0x000a, 0x196b: 0x000a, 0x196c: 0x000a, 0x196d: 0x000a, 0x196e: 0x000a, 0x196f: 0x000a, - 0x1970: 0x000a, 0x1971: 0x000a, 0x1972: 0x000a, 0x1973: 0x000a, - 0x1976: 0x000a, 0x1977: 0x000a, 0x1978: 0x000a, 0x1979: 0x000a, 0x197a: 0x000a, 0x197b: 0x000a, - 0x197c: 0x000a, 0x197d: 0x000a, 0x197e: 0x000a, 0x197f: 0x000a, + 0x1970: 0x000a, 0x1971: 0x000a, 0x1972: 0x000a, 0x1973: 0x000a, 0x1974: 0x000a, 0x1975: 0x000a, + 0x1976: 0x000a, 0x1977: 0x000a, 0x1978: 0x000a, 0x1979: 0x000a, + 0x197d: 0x000a, 0x197e: 0x000a, 0x197f: 0x000a, // Block 0x66, offset 0x1980 0x1980: 0x000a, 0x1981: 0x000a, 0x1982: 0x000a, 0x1983: 0x000a, 0x1984: 0x000a, 0x1985: 0x000a, - 0x1986: 0x000a, 0x1987: 0x000a, 0x1988: 0x000a, 0x1989: 0x000a, 0x198a: 0x000a, 0x198b: 0x000a, + 0x1986: 0x000a, 0x1987: 0x000a, 0x1988: 0x000a, 0x198a: 0x000a, 0x198b: 0x000a, 0x198c: 0x000a, 0x198d: 0x000a, 0x198e: 0x000a, 0x198f: 0x000a, 0x1990: 0x000a, 0x1991: 0x000a, - 0x1992: 0x000a, 0x1993: 0x000a, 0x1994: 0x000a, 0x1995: 0x000a, - 0x1998: 0x000a, 0x1999: 0x000a, 0x199a: 0x000a, 0x199b: 0x000a, 0x199c: 0x000a, 0x199d: 0x000a, - 0x199e: 0x000a, 0x199f: 0x000a, 0x19a0: 0x000a, 0x19a1: 0x000a, 0x19a2: 0x000a, 0x19a3: 0x000a, - 0x19a4: 0x000a, 0x19a5: 0x000a, 0x19a6: 0x000a, 0x19a7: 0x000a, 0x19a8: 0x000a, 0x19a9: 0x000a, - 0x19aa: 0x000a, 0x19ab: 0x000a, 0x19ac: 0x000a, 0x19ad: 0x000a, 0x19ae: 0x000a, 0x19af: 0x000a, - 0x19b0: 0x000a, 0x19b1: 0x000a, 0x19b2: 0x000a, 0x19b3: 0x000a, 0x19b4: 0x000a, 0x19b5: 0x000a, - 0x19b6: 0x000a, 0x19b7: 0x000a, 0x19b8: 0x000a, 0x19b9: 0x000a, - 0x19bd: 0x000a, 0x19be: 0x000a, 0x19bf: 0x000a, + 0x1992: 0x000a, + 0x19ac: 0x000a, 0x19ad: 0x000a, 0x19ae: 0x000a, 0x19af: 0x000a, // Block 0x67, offset 0x19c0 - 0x19c0: 0x000a, 0x19c1: 0x000a, 0x19c2: 0x000a, 0x19c3: 0x000a, 0x19c4: 0x000a, 0x19c5: 0x000a, - 0x19c6: 0x000a, 0x19c7: 0x000a, 0x19c8: 0x000a, 0x19ca: 0x000a, 0x19cb: 0x000a, - 0x19cc: 0x000a, 0x19cd: 0x000a, 0x19ce: 0x000a, 0x19cf: 0x000a, 0x19d0: 0x000a, 0x19d1: 0x000a, - 0x19ec: 0x000a, 0x19ed: 0x000a, 0x19ee: 0x000a, 0x19ef: 0x000a, + 0x19e5: 0x000a, 0x19e6: 0x000a, 0x19e7: 0x000a, 0x19e8: 0x000a, 0x19e9: 0x000a, + 0x19ea: 0x000a, 0x19ef: 0x000c, + 0x19f0: 0x000c, 0x19f1: 0x000c, + 0x19f9: 0x000a, 0x19fa: 0x000a, 0x19fb: 0x000a, + 0x19fc: 0x000a, 0x19fd: 0x000a, 0x19fe: 0x000a, 0x19ff: 0x000a, // Block 0x68, offset 0x1a00 - 0x1a25: 0x000a, 0x1a26: 0x000a, 0x1a27: 0x000a, 0x1a28: 0x000a, 0x1a29: 0x000a, - 0x1a2a: 0x000a, 0x1a2f: 0x000c, - 0x1a30: 0x000c, 0x1a31: 0x000c, - 0x1a39: 0x000a, 0x1a3a: 0x000a, 0x1a3b: 0x000a, - 0x1a3c: 0x000a, 0x1a3d: 0x000a, 0x1a3e: 0x000a, 0x1a3f: 0x000a, + 0x1a3f: 0x000c, // Block 0x69, offset 0x1a40 - 0x1a7f: 0x000c, + 0x1a60: 0x000c, 0x1a61: 0x000c, 0x1a62: 0x000c, 0x1a63: 0x000c, + 0x1a64: 0x000c, 0x1a65: 0x000c, 0x1a66: 0x000c, 0x1a67: 0x000c, 0x1a68: 0x000c, 0x1a69: 0x000c, + 0x1a6a: 0x000c, 0x1a6b: 0x000c, 0x1a6c: 0x000c, 0x1a6d: 0x000c, 0x1a6e: 0x000c, 0x1a6f: 0x000c, + 0x1a70: 0x000c, 0x1a71: 0x000c, 0x1a72: 0x000c, 0x1a73: 0x000c, 0x1a74: 0x000c, 0x1a75: 0x000c, + 0x1a76: 0x000c, 0x1a77: 0x000c, 0x1a78: 0x000c, 0x1a79: 0x000c, 0x1a7a: 0x000c, 0x1a7b: 0x000c, + 0x1a7c: 0x000c, 0x1a7d: 0x000c, 0x1a7e: 0x000c, 0x1a7f: 0x000c, // Block 0x6a, offset 0x1a80 - 0x1aa0: 0x000c, 0x1aa1: 0x000c, 0x1aa2: 0x000c, 0x1aa3: 0x000c, - 0x1aa4: 0x000c, 0x1aa5: 0x000c, 0x1aa6: 0x000c, 0x1aa7: 0x000c, 0x1aa8: 0x000c, 0x1aa9: 0x000c, - 0x1aaa: 0x000c, 0x1aab: 0x000c, 0x1aac: 0x000c, 0x1aad: 0x000c, 0x1aae: 0x000c, 0x1aaf: 0x000c, - 0x1ab0: 0x000c, 0x1ab1: 0x000c, 0x1ab2: 0x000c, 0x1ab3: 0x000c, 0x1ab4: 0x000c, 0x1ab5: 0x000c, - 0x1ab6: 0x000c, 0x1ab7: 0x000c, 0x1ab8: 0x000c, 0x1ab9: 0x000c, 0x1aba: 0x000c, 0x1abb: 0x000c, - 0x1abc: 0x000c, 0x1abd: 0x000c, 0x1abe: 0x000c, 0x1abf: 0x000c, + 0x1a80: 0x000a, 0x1a81: 0x000a, 0x1a82: 0x000a, 0x1a83: 0x000a, 0x1a84: 0x000a, 0x1a85: 0x000a, + 0x1a86: 0x000a, 0x1a87: 0x000a, 0x1a88: 0x000a, 0x1a89: 0x000a, 0x1a8a: 0x000a, 0x1a8b: 0x000a, + 0x1a8c: 0x000a, 0x1a8d: 0x000a, 0x1a8e: 0x000a, 0x1a8f: 0x000a, 0x1a90: 0x000a, 0x1a91: 0x000a, + 0x1a92: 0x000a, 0x1a93: 0x000a, 0x1a94: 0x000a, 0x1a95: 0x000a, 0x1a96: 0x000a, 0x1a97: 0x000a, + 0x1a98: 0x000a, 0x1a99: 0x000a, 0x1a9a: 0x000a, 0x1a9b: 0x000a, 0x1a9c: 0x000a, 0x1a9d: 0x000a, + 0x1a9e: 0x000a, 0x1a9f: 0x000a, 0x1aa0: 0x000a, 0x1aa1: 0x000a, 0x1aa2: 0x003a, 0x1aa3: 0x002a, + 0x1aa4: 0x003a, 0x1aa5: 0x002a, 0x1aa6: 0x003a, 0x1aa7: 0x002a, 0x1aa8: 0x003a, 0x1aa9: 0x002a, + 0x1aaa: 0x000a, 0x1aab: 0x000a, 0x1aac: 0x000a, 0x1aad: 0x000a, 0x1aae: 0x000a, 0x1aaf: 0x000a, + 0x1ab0: 0x000a, 0x1ab1: 0x000a, 0x1ab2: 0x000a, 0x1ab3: 0x000a, 0x1ab4: 0x000a, 0x1ab5: 0x000a, + 0x1ab6: 0x000a, 0x1ab7: 0x000a, 0x1ab8: 0x000a, 0x1ab9: 0x000a, 0x1aba: 0x000a, 0x1abb: 0x000a, + 0x1abc: 0x000a, 0x1abd: 0x000a, 0x1abe: 0x000a, 0x1abf: 0x000a, // Block 0x6b, offset 0x1ac0 0x1ac0: 0x000a, 0x1ac1: 0x000a, 0x1ac2: 0x000a, 0x1ac3: 0x000a, 0x1ac4: 0x000a, 0x1ac5: 0x000a, - 0x1ac6: 0x000a, 0x1ac7: 0x000a, 0x1ac8: 0x000a, 0x1ac9: 0x000a, 0x1aca: 0x000a, 0x1acb: 0x000a, - 0x1acc: 0x000a, 0x1acd: 0x000a, 0x1ace: 0x000a, 0x1acf: 0x000a, 0x1ad0: 0x000a, 0x1ad1: 0x000a, - 0x1ad2: 0x000a, 0x1ad3: 0x000a, 0x1ad4: 0x000a, 0x1ad5: 0x000a, 0x1ad6: 0x000a, 0x1ad7: 0x000a, - 0x1ad8: 0x000a, 0x1ad9: 0x000a, 0x1ada: 0x000a, 0x1adb: 0x000a, 0x1adc: 0x000a, 0x1add: 0x000a, - 0x1ade: 0x000a, 0x1adf: 0x000a, 0x1ae0: 0x000a, 0x1ae1: 0x000a, 0x1ae2: 0x003a, 0x1ae3: 0x002a, - 0x1ae4: 0x003a, 0x1ae5: 0x002a, 0x1ae6: 0x003a, 0x1ae7: 0x002a, 0x1ae8: 0x003a, 0x1ae9: 0x002a, - 0x1aea: 0x000a, 0x1aeb: 0x000a, 0x1aec: 0x000a, 0x1aed: 0x000a, 0x1aee: 0x000a, 0x1aef: 0x000a, - 0x1af0: 0x000a, 0x1af1: 0x000a, 0x1af2: 0x000a, 0x1af3: 0x000a, 0x1af4: 0x000a, 0x1af5: 0x000a, - 0x1af6: 0x000a, 0x1af7: 0x000a, 0x1af8: 0x000a, 0x1af9: 0x000a, 0x1afa: 0x000a, 0x1afb: 0x000a, - 0x1afc: 0x000a, 0x1afd: 0x000a, 0x1afe: 0x000a, 0x1aff: 0x000a, + 0x1ac6: 0x000a, 0x1ac7: 0x000a, 0x1ac8: 0x000a, 0x1ac9: 0x000a, // Block 0x6c, offset 0x1b00 - 0x1b00: 0x000a, 0x1b01: 0x000a, 0x1b02: 0x000a, 0x1b03: 0x000a, 0x1b04: 0x000a, + 0x1b00: 0x000a, 0x1b01: 0x000a, 0x1b02: 0x000a, 0x1b03: 0x000a, 0x1b04: 0x000a, 0x1b05: 0x000a, + 0x1b06: 0x000a, 0x1b07: 0x000a, 0x1b08: 0x000a, 0x1b09: 0x000a, 0x1b0a: 0x000a, 0x1b0b: 0x000a, + 0x1b0c: 0x000a, 0x1b0d: 0x000a, 0x1b0e: 0x000a, 0x1b0f: 0x000a, 0x1b10: 0x000a, 0x1b11: 0x000a, + 0x1b12: 0x000a, 0x1b13: 0x000a, 0x1b14: 0x000a, 0x1b15: 0x000a, 0x1b16: 0x000a, 0x1b17: 0x000a, + 0x1b18: 0x000a, 0x1b19: 0x000a, 0x1b1b: 0x000a, 0x1b1c: 0x000a, 0x1b1d: 0x000a, + 0x1b1e: 0x000a, 0x1b1f: 0x000a, 0x1b20: 0x000a, 0x1b21: 0x000a, 0x1b22: 0x000a, 0x1b23: 0x000a, + 0x1b24: 0x000a, 0x1b25: 0x000a, 0x1b26: 0x000a, 0x1b27: 0x000a, 0x1b28: 0x000a, 0x1b29: 0x000a, + 0x1b2a: 0x000a, 0x1b2b: 0x000a, 0x1b2c: 0x000a, 0x1b2d: 0x000a, 0x1b2e: 0x000a, 0x1b2f: 0x000a, + 0x1b30: 0x000a, 0x1b31: 0x000a, 0x1b32: 0x000a, 0x1b33: 0x000a, 0x1b34: 0x000a, 0x1b35: 0x000a, + 0x1b36: 0x000a, 0x1b37: 0x000a, 0x1b38: 0x000a, 0x1b39: 0x000a, 0x1b3a: 0x000a, 0x1b3b: 0x000a, + 0x1b3c: 0x000a, 0x1b3d: 0x000a, 0x1b3e: 0x000a, 0x1b3f: 0x000a, // Block 0x6d, offset 0x1b40 0x1b40: 0x000a, 0x1b41: 0x000a, 0x1b42: 0x000a, 0x1b43: 0x000a, 0x1b44: 0x000a, 0x1b45: 0x000a, 0x1b46: 0x000a, 0x1b47: 0x000a, 0x1b48: 0x000a, 0x1b49: 0x000a, 0x1b4a: 0x000a, 0x1b4b: 0x000a, 0x1b4c: 0x000a, 0x1b4d: 0x000a, 0x1b4e: 0x000a, 0x1b4f: 0x000a, 0x1b50: 0x000a, 0x1b51: 0x000a, 0x1b52: 0x000a, 0x1b53: 0x000a, 0x1b54: 0x000a, 0x1b55: 0x000a, 0x1b56: 0x000a, 0x1b57: 0x000a, - 0x1b58: 0x000a, 0x1b59: 0x000a, 0x1b5b: 0x000a, 0x1b5c: 0x000a, 0x1b5d: 0x000a, + 0x1b58: 0x000a, 0x1b59: 0x000a, 0x1b5a: 0x000a, 0x1b5b: 0x000a, 0x1b5c: 0x000a, 0x1b5d: 0x000a, 0x1b5e: 0x000a, 0x1b5f: 0x000a, 0x1b60: 0x000a, 0x1b61: 0x000a, 0x1b62: 0x000a, 0x1b63: 0x000a, 0x1b64: 0x000a, 0x1b65: 0x000a, 0x1b66: 0x000a, 0x1b67: 0x000a, 0x1b68: 0x000a, 0x1b69: 0x000a, 0x1b6a: 0x000a, 0x1b6b: 0x000a, 0x1b6c: 0x000a, 0x1b6d: 0x000a, 0x1b6e: 0x000a, 0x1b6f: 0x000a, - 0x1b70: 0x000a, 0x1b71: 0x000a, 0x1b72: 0x000a, 0x1b73: 0x000a, 0x1b74: 0x000a, 0x1b75: 0x000a, - 0x1b76: 0x000a, 0x1b77: 0x000a, 0x1b78: 0x000a, 0x1b79: 0x000a, 0x1b7a: 0x000a, 0x1b7b: 0x000a, - 0x1b7c: 0x000a, 0x1b7d: 0x000a, 0x1b7e: 0x000a, 0x1b7f: 0x000a, + 0x1b70: 0x000a, 0x1b71: 0x000a, 0x1b72: 0x000a, 0x1b73: 0x000a, // Block 0x6e, offset 0x1b80 0x1b80: 0x000a, 0x1b81: 0x000a, 0x1b82: 0x000a, 0x1b83: 0x000a, 0x1b84: 0x000a, 0x1b85: 0x000a, 0x1b86: 0x000a, 0x1b87: 0x000a, 0x1b88: 0x000a, 0x1b89: 0x000a, 0x1b8a: 0x000a, 0x1b8b: 0x000a, 0x1b8c: 0x000a, 0x1b8d: 0x000a, 0x1b8e: 0x000a, 0x1b8f: 0x000a, 0x1b90: 0x000a, 0x1b91: 0x000a, - 0x1b92: 0x000a, 0x1b93: 0x000a, 0x1b94: 0x000a, 0x1b95: 0x000a, 0x1b96: 0x000a, 0x1b97: 0x000a, - 0x1b98: 0x000a, 0x1b99: 0x000a, 0x1b9a: 0x000a, 0x1b9b: 0x000a, 0x1b9c: 0x000a, 0x1b9d: 0x000a, - 0x1b9e: 0x000a, 0x1b9f: 0x000a, 0x1ba0: 0x000a, 0x1ba1: 0x000a, 0x1ba2: 0x000a, 0x1ba3: 0x000a, - 0x1ba4: 0x000a, 0x1ba5: 0x000a, 0x1ba6: 0x000a, 0x1ba7: 0x000a, 0x1ba8: 0x000a, 0x1ba9: 0x000a, - 0x1baa: 0x000a, 0x1bab: 0x000a, 0x1bac: 0x000a, 0x1bad: 0x000a, 0x1bae: 0x000a, 0x1baf: 0x000a, - 0x1bb0: 0x000a, 0x1bb1: 0x000a, 0x1bb2: 0x000a, 0x1bb3: 0x000a, + 0x1b92: 0x000a, 0x1b93: 0x000a, 0x1b94: 0x000a, 0x1b95: 0x000a, + 0x1bb0: 0x000a, 0x1bb1: 0x000a, 0x1bb2: 0x000a, 0x1bb3: 0x000a, 0x1bb4: 0x000a, 0x1bb5: 0x000a, + 0x1bb6: 0x000a, 0x1bb7: 0x000a, 0x1bb8: 0x000a, 0x1bb9: 0x000a, 0x1bba: 0x000a, 0x1bbb: 0x000a, // Block 0x6f, offset 0x1bc0 - 0x1bc0: 0x000a, 0x1bc1: 0x000a, 0x1bc2: 0x000a, 0x1bc3: 0x000a, 0x1bc4: 0x000a, 0x1bc5: 0x000a, - 0x1bc6: 0x000a, 0x1bc7: 0x000a, 0x1bc8: 0x000a, 0x1bc9: 0x000a, 0x1bca: 0x000a, 0x1bcb: 0x000a, - 0x1bcc: 0x000a, 0x1bcd: 0x000a, 0x1bce: 0x000a, 0x1bcf: 0x000a, 0x1bd0: 0x000a, 0x1bd1: 0x000a, - 0x1bd2: 0x000a, 0x1bd3: 0x000a, 0x1bd4: 0x000a, 0x1bd5: 0x000a, - 0x1bf0: 0x000a, 0x1bf1: 0x000a, 0x1bf2: 0x000a, 0x1bf3: 0x000a, 0x1bf4: 0x000a, 0x1bf5: 0x000a, - 0x1bf6: 0x000a, 0x1bf7: 0x000a, 0x1bf8: 0x000a, 0x1bf9: 0x000a, 0x1bfa: 0x000a, 0x1bfb: 0x000a, + 0x1bc0: 0x0009, 0x1bc1: 0x000a, 0x1bc2: 0x000a, 0x1bc3: 0x000a, 0x1bc4: 0x000a, + 0x1bc8: 0x003a, 0x1bc9: 0x002a, 0x1bca: 0x003a, 0x1bcb: 0x002a, + 0x1bcc: 0x003a, 0x1bcd: 0x002a, 0x1bce: 0x003a, 0x1bcf: 0x002a, 0x1bd0: 0x003a, 0x1bd1: 0x002a, + 0x1bd2: 0x000a, 0x1bd3: 0x000a, 0x1bd4: 0x003a, 0x1bd5: 0x002a, 0x1bd6: 0x003a, 0x1bd7: 0x002a, + 0x1bd8: 0x003a, 0x1bd9: 0x002a, 0x1bda: 0x003a, 0x1bdb: 0x002a, 0x1bdc: 0x000a, 0x1bdd: 0x000a, + 0x1bde: 0x000a, 0x1bdf: 0x000a, 0x1be0: 0x000a, + 0x1bea: 0x000c, 0x1beb: 0x000c, 0x1bec: 0x000c, 0x1bed: 0x000c, + 0x1bf0: 0x000a, + 0x1bf6: 0x000a, 0x1bf7: 0x000a, + 0x1bfd: 0x000a, 0x1bfe: 0x000a, 0x1bff: 0x000a, // Block 0x70, offset 0x1c00 - 0x1c00: 0x0009, 0x1c01: 0x000a, 0x1c02: 0x000a, 0x1c03: 0x000a, 0x1c04: 0x000a, - 0x1c08: 0x003a, 0x1c09: 0x002a, 0x1c0a: 0x003a, 0x1c0b: 0x002a, - 0x1c0c: 0x003a, 0x1c0d: 0x002a, 0x1c0e: 0x003a, 0x1c0f: 0x002a, 0x1c10: 0x003a, 0x1c11: 0x002a, - 0x1c12: 0x000a, 0x1c13: 0x000a, 0x1c14: 0x003a, 0x1c15: 0x002a, 0x1c16: 0x003a, 0x1c17: 0x002a, - 0x1c18: 0x003a, 0x1c19: 0x002a, 0x1c1a: 0x003a, 0x1c1b: 0x002a, 0x1c1c: 0x000a, 0x1c1d: 0x000a, - 0x1c1e: 0x000a, 0x1c1f: 0x000a, 0x1c20: 0x000a, - 0x1c2a: 0x000c, 0x1c2b: 0x000c, 0x1c2c: 0x000c, 0x1c2d: 0x000c, - 0x1c30: 0x000a, - 0x1c36: 0x000a, 0x1c37: 0x000a, - 0x1c3d: 0x000a, 0x1c3e: 0x000a, 0x1c3f: 0x000a, + 0x1c19: 0x000c, 0x1c1a: 0x000c, 0x1c1b: 0x000a, 0x1c1c: 0x000a, + 0x1c20: 0x000a, // Block 0x71, offset 0x1c40 - 0x1c59: 0x000c, 0x1c5a: 0x000c, 0x1c5b: 0x000a, 0x1c5c: 0x000a, - 0x1c60: 0x000a, + 0x1c7b: 0x000a, // Block 0x72, offset 0x1c80 - 0x1cbb: 0x000a, + 0x1c80: 0x000a, 0x1c81: 0x000a, 0x1c82: 0x000a, 0x1c83: 0x000a, 0x1c84: 0x000a, 0x1c85: 0x000a, + 0x1c86: 0x000a, 0x1c87: 0x000a, 0x1c88: 0x000a, 0x1c89: 0x000a, 0x1c8a: 0x000a, 0x1c8b: 0x000a, + 0x1c8c: 0x000a, 0x1c8d: 0x000a, 0x1c8e: 0x000a, 0x1c8f: 0x000a, 0x1c90: 0x000a, 0x1c91: 0x000a, + 0x1c92: 0x000a, 0x1c93: 0x000a, 0x1c94: 0x000a, 0x1c95: 0x000a, 0x1c96: 0x000a, 0x1c97: 0x000a, + 0x1c98: 0x000a, 0x1c99: 0x000a, 0x1c9a: 0x000a, 0x1c9b: 0x000a, 0x1c9c: 0x000a, 0x1c9d: 0x000a, + 0x1c9e: 0x000a, 0x1c9f: 0x000a, 0x1ca0: 0x000a, 0x1ca1: 0x000a, 0x1ca2: 0x000a, 0x1ca3: 0x000a, // Block 0x73, offset 0x1cc0 - 0x1cc0: 0x000a, 0x1cc1: 0x000a, 0x1cc2: 0x000a, 0x1cc3: 0x000a, 0x1cc4: 0x000a, 0x1cc5: 0x000a, - 0x1cc6: 0x000a, 0x1cc7: 0x000a, 0x1cc8: 0x000a, 0x1cc9: 0x000a, 0x1cca: 0x000a, 0x1ccb: 0x000a, - 0x1ccc: 0x000a, 0x1ccd: 0x000a, 0x1cce: 0x000a, 0x1ccf: 0x000a, 0x1cd0: 0x000a, 0x1cd1: 0x000a, - 0x1cd2: 0x000a, 0x1cd3: 0x000a, 0x1cd4: 0x000a, 0x1cd5: 0x000a, 0x1cd6: 0x000a, 0x1cd7: 0x000a, - 0x1cd8: 0x000a, 0x1cd9: 0x000a, 0x1cda: 0x000a, 0x1cdb: 0x000a, 0x1cdc: 0x000a, 0x1cdd: 0x000a, - 0x1cde: 0x000a, 0x1cdf: 0x000a, 0x1ce0: 0x000a, 0x1ce1: 0x000a, 0x1ce2: 0x000a, 0x1ce3: 0x000a, + 0x1cdd: 0x000a, + 0x1cde: 0x000a, // Block 0x74, offset 0x1d00 - 0x1d1d: 0x000a, - 0x1d1e: 0x000a, + 0x1d10: 0x000a, 0x1d11: 0x000a, + 0x1d12: 0x000a, 0x1d13: 0x000a, 0x1d14: 0x000a, 0x1d15: 0x000a, 0x1d16: 0x000a, 0x1d17: 0x000a, + 0x1d18: 0x000a, 0x1d19: 0x000a, 0x1d1a: 0x000a, 0x1d1b: 0x000a, 0x1d1c: 0x000a, 0x1d1d: 0x000a, + 0x1d1e: 0x000a, 0x1d1f: 0x000a, + 0x1d3c: 0x000a, 0x1d3d: 0x000a, 0x1d3e: 0x000a, // Block 0x75, offset 0x1d40 - 0x1d50: 0x000a, 0x1d51: 0x000a, - 0x1d52: 0x000a, 0x1d53: 0x000a, 0x1d54: 0x000a, 0x1d55: 0x000a, 0x1d56: 0x000a, 0x1d57: 0x000a, - 0x1d58: 0x000a, 0x1d59: 0x000a, 0x1d5a: 0x000a, 0x1d5b: 0x000a, 0x1d5c: 0x000a, 0x1d5d: 0x000a, - 0x1d5e: 0x000a, 0x1d5f: 0x000a, - 0x1d7c: 0x000a, 0x1d7d: 0x000a, 0x1d7e: 0x000a, + 0x1d71: 0x000a, 0x1d72: 0x000a, 0x1d73: 0x000a, 0x1d74: 0x000a, 0x1d75: 0x000a, + 0x1d76: 0x000a, 0x1d77: 0x000a, 0x1d78: 0x000a, 0x1d79: 0x000a, 0x1d7a: 0x000a, 0x1d7b: 0x000a, + 0x1d7c: 0x000a, 0x1d7d: 0x000a, 0x1d7e: 0x000a, 0x1d7f: 0x000a, // Block 0x76, offset 0x1d80 - 0x1db1: 0x000a, 0x1db2: 0x000a, 0x1db3: 0x000a, 0x1db4: 0x000a, 0x1db5: 0x000a, - 0x1db6: 0x000a, 0x1db7: 0x000a, 0x1db8: 0x000a, 0x1db9: 0x000a, 0x1dba: 0x000a, 0x1dbb: 0x000a, - 0x1dbc: 0x000a, 0x1dbd: 0x000a, 0x1dbe: 0x000a, 0x1dbf: 0x000a, + 0x1d8c: 0x000a, 0x1d8d: 0x000a, 0x1d8e: 0x000a, 0x1d8f: 0x000a, // Block 0x77, offset 0x1dc0 - 0x1dcc: 0x000a, 0x1dcd: 0x000a, 0x1dce: 0x000a, 0x1dcf: 0x000a, + 0x1df7: 0x000a, 0x1df8: 0x000a, 0x1df9: 0x000a, 0x1dfa: 0x000a, // Block 0x78, offset 0x1e00 - 0x1e37: 0x000a, 0x1e38: 0x000a, 0x1e39: 0x000a, 0x1e3a: 0x000a, + 0x1e1e: 0x000a, 0x1e1f: 0x000a, + 0x1e3f: 0x000a, // Block 0x79, offset 0x1e40 - 0x1e5e: 0x000a, 0x1e5f: 0x000a, - 0x1e7f: 0x000a, + 0x1e50: 0x000a, 0x1e51: 0x000a, + 0x1e52: 0x000a, 0x1e53: 0x000a, 0x1e54: 0x000a, 0x1e55: 0x000a, 0x1e56: 0x000a, 0x1e57: 0x000a, + 0x1e58: 0x000a, 0x1e59: 0x000a, 0x1e5a: 0x000a, 0x1e5b: 0x000a, 0x1e5c: 0x000a, 0x1e5d: 0x000a, + 0x1e5e: 0x000a, 0x1e5f: 0x000a, 0x1e60: 0x000a, 0x1e61: 0x000a, 0x1e62: 0x000a, 0x1e63: 0x000a, + 0x1e64: 0x000a, 0x1e65: 0x000a, 0x1e66: 0x000a, 0x1e67: 0x000a, 0x1e68: 0x000a, 0x1e69: 0x000a, + 0x1e6a: 0x000a, 0x1e6b: 0x000a, 0x1e6c: 0x000a, 0x1e6d: 0x000a, 0x1e6e: 0x000a, 0x1e6f: 0x000a, + 0x1e70: 0x000a, 0x1e71: 0x000a, 0x1e72: 0x000a, 0x1e73: 0x000a, 0x1e74: 0x000a, 0x1e75: 0x000a, + 0x1e76: 0x000a, 0x1e77: 0x000a, 0x1e78: 0x000a, 0x1e79: 0x000a, 0x1e7a: 0x000a, 0x1e7b: 0x000a, + 0x1e7c: 0x000a, 0x1e7d: 0x000a, 0x1e7e: 0x000a, 0x1e7f: 0x000a, // Block 0x7a, offset 0x1e80 - 0x1e90: 0x000a, 0x1e91: 0x000a, - 0x1e92: 0x000a, 0x1e93: 0x000a, 0x1e94: 0x000a, 0x1e95: 0x000a, 0x1e96: 0x000a, 0x1e97: 0x000a, - 0x1e98: 0x000a, 0x1e99: 0x000a, 0x1e9a: 0x000a, 0x1e9b: 0x000a, 0x1e9c: 0x000a, 0x1e9d: 0x000a, - 0x1e9e: 0x000a, 0x1e9f: 0x000a, 0x1ea0: 0x000a, 0x1ea1: 0x000a, 0x1ea2: 0x000a, 0x1ea3: 0x000a, - 0x1ea4: 0x000a, 0x1ea5: 0x000a, 0x1ea6: 0x000a, 0x1ea7: 0x000a, 0x1ea8: 0x000a, 0x1ea9: 0x000a, - 0x1eaa: 0x000a, 0x1eab: 0x000a, 0x1eac: 0x000a, 0x1ead: 0x000a, 0x1eae: 0x000a, 0x1eaf: 0x000a, - 0x1eb0: 0x000a, 0x1eb1: 0x000a, 0x1eb2: 0x000a, 0x1eb3: 0x000a, 0x1eb4: 0x000a, 0x1eb5: 0x000a, - 0x1eb6: 0x000a, 0x1eb7: 0x000a, 0x1eb8: 0x000a, 0x1eb9: 0x000a, 0x1eba: 0x000a, 0x1ebb: 0x000a, - 0x1ebc: 0x000a, 0x1ebd: 0x000a, 0x1ebe: 0x000a, 0x1ebf: 0x000a, + 0x1e80: 0x000a, 0x1e81: 0x000a, 0x1e82: 0x000a, 0x1e83: 0x000a, 0x1e84: 0x000a, 0x1e85: 0x000a, + 0x1e86: 0x000a, // Block 0x7b, offset 0x1ec0 - 0x1ec0: 0x000a, 0x1ec1: 0x000a, 0x1ec2: 0x000a, 0x1ec3: 0x000a, 0x1ec4: 0x000a, 0x1ec5: 0x000a, - 0x1ec6: 0x000a, + 0x1ecd: 0x000a, 0x1ece: 0x000a, 0x1ecf: 0x000a, // Block 0x7c, offset 0x1f00 - 0x1f0d: 0x000a, 0x1f0e: 0x000a, 0x1f0f: 0x000a, + 0x1f2f: 0x000c, + 0x1f30: 0x000c, 0x1f31: 0x000c, 0x1f32: 0x000c, 0x1f33: 0x000a, 0x1f34: 0x000c, 0x1f35: 0x000c, + 0x1f36: 0x000c, 0x1f37: 0x000c, 0x1f38: 0x000c, 0x1f39: 0x000c, 0x1f3a: 0x000c, 0x1f3b: 0x000c, + 0x1f3c: 0x000c, 0x1f3d: 0x000c, 0x1f3e: 0x000a, 0x1f3f: 0x000a, // Block 0x7d, offset 0x1f40 - 0x1f6f: 0x000c, - 0x1f70: 0x000c, 0x1f71: 0x000c, 0x1f72: 0x000c, 0x1f73: 0x000a, 0x1f74: 0x000c, 0x1f75: 0x000c, - 0x1f76: 0x000c, 0x1f77: 0x000c, 0x1f78: 0x000c, 0x1f79: 0x000c, 0x1f7a: 0x000c, 0x1f7b: 0x000c, - 0x1f7c: 0x000c, 0x1f7d: 0x000c, 0x1f7e: 0x000a, 0x1f7f: 0x000a, + 0x1f5e: 0x000c, 0x1f5f: 0x000c, // Block 0x7e, offset 0x1f80 - 0x1f9e: 0x000c, 0x1f9f: 0x000c, + 0x1fb0: 0x000c, 0x1fb1: 0x000c, // Block 0x7f, offset 0x1fc0 - 0x1ff0: 0x000c, 0x1ff1: 0x000c, + 0x1fc0: 0x000a, 0x1fc1: 0x000a, 0x1fc2: 0x000a, 0x1fc3: 0x000a, 0x1fc4: 0x000a, 0x1fc5: 0x000a, + 0x1fc6: 0x000a, 0x1fc7: 0x000a, 0x1fc8: 0x000a, 0x1fc9: 0x000a, 0x1fca: 0x000a, 0x1fcb: 0x000a, + 0x1fcc: 0x000a, 0x1fcd: 0x000a, 0x1fce: 0x000a, 0x1fcf: 0x000a, 0x1fd0: 0x000a, 0x1fd1: 0x000a, + 0x1fd2: 0x000a, 0x1fd3: 0x000a, 0x1fd4: 0x000a, 0x1fd5: 0x000a, 0x1fd6: 0x000a, 0x1fd7: 0x000a, + 0x1fd8: 0x000a, 0x1fd9: 0x000a, 0x1fda: 0x000a, 0x1fdb: 0x000a, 0x1fdc: 0x000a, 0x1fdd: 0x000a, + 0x1fde: 0x000a, 0x1fdf: 0x000a, 0x1fe0: 0x000a, 0x1fe1: 0x000a, // Block 0x80, offset 0x2000 - 0x2000: 0x000a, 0x2001: 0x000a, 0x2002: 0x000a, 0x2003: 0x000a, 0x2004: 0x000a, 0x2005: 0x000a, - 0x2006: 0x000a, 0x2007: 0x000a, 0x2008: 0x000a, 0x2009: 0x000a, 0x200a: 0x000a, 0x200b: 0x000a, - 0x200c: 0x000a, 0x200d: 0x000a, 0x200e: 0x000a, 0x200f: 0x000a, 0x2010: 0x000a, 0x2011: 0x000a, - 0x2012: 0x000a, 0x2013: 0x000a, 0x2014: 0x000a, 0x2015: 0x000a, 0x2016: 0x000a, 0x2017: 0x000a, - 0x2018: 0x000a, 0x2019: 0x000a, 0x201a: 0x000a, 0x201b: 0x000a, 0x201c: 0x000a, 0x201d: 0x000a, - 0x201e: 0x000a, 0x201f: 0x000a, 0x2020: 0x000a, 0x2021: 0x000a, + 0x2008: 0x000a, // Block 0x81, offset 0x2040 - 0x2048: 0x000a, + 0x2042: 0x000c, + 0x2046: 0x000c, 0x204b: 0x000c, + 0x2065: 0x000c, 0x2066: 0x000c, 0x2068: 0x000a, 0x2069: 0x000a, + 0x206a: 0x000a, 0x206b: 0x000a, + 0x2078: 0x0004, 0x2079: 0x0004, // Block 0x82, offset 0x2080 - 0x2082: 0x000c, - 0x2086: 0x000c, 0x208b: 0x000c, - 0x20a5: 0x000c, 0x20a6: 0x000c, 0x20a8: 0x000a, 0x20a9: 0x000a, - 0x20aa: 0x000a, 0x20ab: 0x000a, - 0x20b8: 0x0004, 0x20b9: 0x0004, + 0x20b4: 0x000a, 0x20b5: 0x000a, + 0x20b6: 0x000a, 0x20b7: 0x000a, // Block 0x83, offset 0x20c0 - 0x20f4: 0x000a, 0x20f5: 0x000a, - 0x20f6: 0x000a, 0x20f7: 0x000a, + 0x20c4: 0x000c, 0x20c5: 0x000c, + 0x20e0: 0x000c, 0x20e1: 0x000c, 0x20e2: 0x000c, 0x20e3: 0x000c, + 0x20e4: 0x000c, 0x20e5: 0x000c, 0x20e6: 0x000c, 0x20e7: 0x000c, 0x20e8: 0x000c, 0x20e9: 0x000c, + 0x20ea: 0x000c, 0x20eb: 0x000c, 0x20ec: 0x000c, 0x20ed: 0x000c, 0x20ee: 0x000c, 0x20ef: 0x000c, + 0x20f0: 0x000c, 0x20f1: 0x000c, // Block 0x84, offset 0x2100 - 0x2104: 0x000c, 0x2105: 0x000c, - 0x2120: 0x000c, 0x2121: 0x000c, 0x2122: 0x000c, 0x2123: 0x000c, - 0x2124: 0x000c, 0x2125: 0x000c, 0x2126: 0x000c, 0x2127: 0x000c, 0x2128: 0x000c, 0x2129: 0x000c, - 0x212a: 0x000c, 0x212b: 0x000c, 0x212c: 0x000c, 0x212d: 0x000c, 0x212e: 0x000c, 0x212f: 0x000c, - 0x2130: 0x000c, 0x2131: 0x000c, + 0x2126: 0x000c, 0x2127: 0x000c, 0x2128: 0x000c, 0x2129: 0x000c, + 0x212a: 0x000c, 0x212b: 0x000c, 0x212c: 0x000c, 0x212d: 0x000c, // Block 0x85, offset 0x2140 - 0x2166: 0x000c, 0x2167: 0x000c, 0x2168: 0x000c, 0x2169: 0x000c, - 0x216a: 0x000c, 0x216b: 0x000c, 0x216c: 0x000c, 0x216d: 0x000c, + 0x2147: 0x000c, 0x2148: 0x000c, 0x2149: 0x000c, 0x214a: 0x000c, 0x214b: 0x000c, + 0x214c: 0x000c, 0x214d: 0x000c, 0x214e: 0x000c, 0x214f: 0x000c, 0x2150: 0x000c, 0x2151: 0x000c, // Block 0x86, offset 0x2180 - 0x2187: 0x000c, 0x2188: 0x000c, 0x2189: 0x000c, 0x218a: 0x000c, 0x218b: 0x000c, - 0x218c: 0x000c, 0x218d: 0x000c, 0x218e: 0x000c, 0x218f: 0x000c, 0x2190: 0x000c, 0x2191: 0x000c, + 0x2180: 0x000c, 0x2181: 0x000c, 0x2182: 0x000c, + 0x21b3: 0x000c, + 0x21b6: 0x000c, 0x21b7: 0x000c, 0x21b8: 0x000c, 0x21b9: 0x000c, + 0x21bc: 0x000c, // Block 0x87, offset 0x21c0 - 0x21c0: 0x000c, 0x21c1: 0x000c, 0x21c2: 0x000c, - 0x21f3: 0x000c, - 0x21f6: 0x000c, 0x21f7: 0x000c, 0x21f8: 0x000c, 0x21f9: 0x000c, - 0x21fc: 0x000c, + 0x21e5: 0x000c, // Block 0x88, offset 0x2200 - 0x2225: 0x000c, + 0x2229: 0x000c, + 0x222a: 0x000c, 0x222b: 0x000c, 0x222c: 0x000c, 0x222d: 0x000c, 0x222e: 0x000c, + 0x2231: 0x000c, 0x2232: 0x000c, 0x2235: 0x000c, + 0x2236: 0x000c, // Block 0x89, offset 0x2240 - 0x2269: 0x000c, - 0x226a: 0x000c, 0x226b: 0x000c, 0x226c: 0x000c, 0x226d: 0x000c, 0x226e: 0x000c, - 0x2271: 0x000c, 0x2272: 0x000c, 0x2275: 0x000c, - 0x2276: 0x000c, + 0x2243: 0x000c, + 0x224c: 0x000c, + 0x227c: 0x000c, // Block 0x8a, offset 0x2280 - 0x2283: 0x000c, - 0x228c: 0x000c, - 0x22bc: 0x000c, + 0x22b0: 0x000c, 0x22b2: 0x000c, 0x22b3: 0x000c, 0x22b4: 0x000c, + 0x22b7: 0x000c, 0x22b8: 0x000c, + 0x22be: 0x000c, 0x22bf: 0x000c, // Block 0x8b, offset 0x22c0 - 0x22f0: 0x000c, 0x22f2: 0x000c, 0x22f3: 0x000c, 0x22f4: 0x000c, - 0x22f7: 0x000c, 0x22f8: 0x000c, - 0x22fe: 0x000c, 0x22ff: 0x000c, + 0x22c1: 0x000c, + 0x22ec: 0x000c, 0x22ed: 0x000c, + 0x22f6: 0x000c, // Block 0x8c, offset 0x2300 - 0x2301: 0x000c, - 0x232c: 0x000c, 0x232d: 0x000c, - 0x2336: 0x000c, + 0x2325: 0x000c, 0x2328: 0x000c, + 0x232d: 0x000c, // Block 0x8d, offset 0x2340 - 0x2365: 0x000c, 0x2368: 0x000c, - 0x236d: 0x000c, + 0x235d: 0x0001, + 0x235e: 0x000c, 0x235f: 0x0001, 0x2360: 0x0001, 0x2361: 0x0001, 0x2362: 0x0001, 0x2363: 0x0001, + 0x2364: 0x0001, 0x2365: 0x0001, 0x2366: 0x0001, 0x2367: 0x0001, 0x2368: 0x0001, 0x2369: 0x0003, + 0x236a: 0x0001, 0x236b: 0x0001, 0x236c: 0x0001, 0x236d: 0x0001, 0x236e: 0x0001, 0x236f: 0x0001, + 0x2370: 0x0001, 0x2371: 0x0001, 0x2372: 0x0001, 0x2373: 0x0001, 0x2374: 0x0001, 0x2375: 0x0001, + 0x2376: 0x0001, 0x2377: 0x0001, 0x2378: 0x0001, 0x2379: 0x0001, 0x237a: 0x0001, 0x237b: 0x0001, + 0x237c: 0x0001, 0x237d: 0x0001, 0x237e: 0x0001, 0x237f: 0x0001, // Block 0x8e, offset 0x2380 - 0x239d: 0x0001, - 0x239e: 0x000c, 0x239f: 0x0001, 0x23a0: 0x0001, 0x23a1: 0x0001, 0x23a2: 0x0001, 0x23a3: 0x0001, - 0x23a4: 0x0001, 0x23a5: 0x0001, 0x23a6: 0x0001, 0x23a7: 0x0001, 0x23a8: 0x0001, 0x23a9: 0x0003, - 0x23aa: 0x0001, 0x23ab: 0x0001, 0x23ac: 0x0001, 0x23ad: 0x0001, 0x23ae: 0x0001, 0x23af: 0x0001, - 0x23b0: 0x0001, 0x23b1: 0x0001, 0x23b2: 0x0001, 0x23b3: 0x0001, 0x23b4: 0x0001, 0x23b5: 0x0001, - 0x23b6: 0x0001, 0x23b7: 0x0001, 0x23b8: 0x0001, 0x23b9: 0x0001, 0x23ba: 0x0001, 0x23bb: 0x0001, - 0x23bc: 0x0001, 0x23bd: 0x0001, 0x23be: 0x0001, 0x23bf: 0x0001, + 0x2380: 0x0001, 0x2381: 0x0001, 0x2382: 0x0001, 0x2383: 0x0001, 0x2384: 0x0001, 0x2385: 0x0001, + 0x2386: 0x0001, 0x2387: 0x0001, 0x2388: 0x0001, 0x2389: 0x0001, 0x238a: 0x0001, 0x238b: 0x0001, + 0x238c: 0x0001, 0x238d: 0x0001, 0x238e: 0x0001, 0x238f: 0x0001, 0x2390: 0x000d, 0x2391: 0x000d, + 0x2392: 0x000d, 0x2393: 0x000d, 0x2394: 0x000d, 0x2395: 0x000d, 0x2396: 0x000d, 0x2397: 0x000d, + 0x2398: 0x000d, 0x2399: 0x000d, 0x239a: 0x000d, 0x239b: 0x000d, 0x239c: 0x000d, 0x239d: 0x000d, + 0x239e: 0x000d, 0x239f: 0x000d, 0x23a0: 0x000d, 0x23a1: 0x000d, 0x23a2: 0x000d, 0x23a3: 0x000d, + 0x23a4: 0x000d, 0x23a5: 0x000d, 0x23a6: 0x000d, 0x23a7: 0x000d, 0x23a8: 0x000d, 0x23a9: 0x000d, + 0x23aa: 0x000d, 0x23ab: 0x000d, 0x23ac: 0x000d, 0x23ad: 0x000d, 0x23ae: 0x000d, 0x23af: 0x000d, + 0x23b0: 0x000d, 0x23b1: 0x000d, 0x23b2: 0x000d, 0x23b3: 0x000d, 0x23b4: 0x000d, 0x23b5: 0x000d, + 0x23b6: 0x000d, 0x23b7: 0x000d, 0x23b8: 0x000d, 0x23b9: 0x000d, 0x23ba: 0x000d, 0x23bb: 0x000d, + 0x23bc: 0x000d, 0x23bd: 0x000d, 0x23be: 0x000d, 0x23bf: 0x000d, // Block 0x8f, offset 0x23c0 - 0x23c0: 0x0001, 0x23c1: 0x0001, 0x23c2: 0x0001, 0x23c3: 0x0001, 0x23c4: 0x0001, 0x23c5: 0x0001, - 0x23c6: 0x0001, 0x23c7: 0x0001, 0x23c8: 0x0001, 0x23c9: 0x0001, 0x23ca: 0x0001, 0x23cb: 0x0001, - 0x23cc: 0x0001, 0x23cd: 0x0001, 0x23ce: 0x0001, 0x23cf: 0x0001, 0x23d0: 0x000d, 0x23d1: 0x000d, + 0x23c0: 0x000d, 0x23c1: 0x000d, 0x23c2: 0x000d, 0x23c3: 0x000d, 0x23c4: 0x000d, 0x23c5: 0x000d, + 0x23c6: 0x000d, 0x23c7: 0x000d, 0x23c8: 0x000d, 0x23c9: 0x000d, 0x23ca: 0x000d, 0x23cb: 0x000d, + 0x23cc: 0x000d, 0x23cd: 0x000d, 0x23ce: 0x000d, 0x23cf: 0x000d, 0x23d0: 0x000d, 0x23d1: 0x000d, 0x23d2: 0x000d, 0x23d3: 0x000d, 0x23d4: 0x000d, 0x23d5: 0x000d, 0x23d6: 0x000d, 0x23d7: 0x000d, 0x23d8: 0x000d, 0x23d9: 0x000d, 0x23da: 0x000d, 0x23db: 0x000d, 0x23dc: 0x000d, 0x23dd: 0x000d, 0x23de: 0x000d, 0x23df: 0x000d, 0x23e0: 0x000d, 0x23e1: 0x000d, 0x23e2: 0x000d, 0x23e3: 0x000d, @@ -1136,143 +1142,143 @@ var bidiValues = [14208]uint8{ 0x23ea: 0x000d, 0x23eb: 0x000d, 0x23ec: 0x000d, 0x23ed: 0x000d, 0x23ee: 0x000d, 0x23ef: 0x000d, 0x23f0: 0x000d, 0x23f1: 0x000d, 0x23f2: 0x000d, 0x23f3: 0x000d, 0x23f4: 0x000d, 0x23f5: 0x000d, 0x23f6: 0x000d, 0x23f7: 0x000d, 0x23f8: 0x000d, 0x23f9: 0x000d, 0x23fa: 0x000d, 0x23fb: 0x000d, - 0x23fc: 0x000d, 0x23fd: 0x000d, 0x23fe: 0x000d, 0x23ff: 0x000d, + 0x23fc: 0x000d, 0x23fd: 0x000d, 0x23fe: 0x000a, 0x23ff: 0x000a, // Block 0x90, offset 0x2400 0x2400: 0x000d, 0x2401: 0x000d, 0x2402: 0x000d, 0x2403: 0x000d, 0x2404: 0x000d, 0x2405: 0x000d, 0x2406: 0x000d, 0x2407: 0x000d, 0x2408: 0x000d, 0x2409: 0x000d, 0x240a: 0x000d, 0x240b: 0x000d, - 0x240c: 0x000d, 0x240d: 0x000d, 0x240e: 0x000d, 0x240f: 0x000d, 0x2410: 0x000d, 0x2411: 0x000d, - 0x2412: 0x000d, 0x2413: 0x000d, 0x2414: 0x000d, 0x2415: 0x000d, 0x2416: 0x000d, 0x2417: 0x000d, - 0x2418: 0x000d, 0x2419: 0x000d, 0x241a: 0x000d, 0x241b: 0x000d, 0x241c: 0x000d, 0x241d: 0x000d, - 0x241e: 0x000d, 0x241f: 0x000d, 0x2420: 0x000d, 0x2421: 0x000d, 0x2422: 0x000d, 0x2423: 0x000d, - 0x2424: 0x000d, 0x2425: 0x000d, 0x2426: 0x000d, 0x2427: 0x000d, 0x2428: 0x000d, 0x2429: 0x000d, - 0x242a: 0x000d, 0x242b: 0x000d, 0x242c: 0x000d, 0x242d: 0x000d, 0x242e: 0x000d, 0x242f: 0x000d, + 0x240c: 0x000d, 0x240d: 0x000d, 0x240e: 0x000d, 0x240f: 0x000d, 0x2410: 0x000b, 0x2411: 0x000b, + 0x2412: 0x000b, 0x2413: 0x000b, 0x2414: 0x000b, 0x2415: 0x000b, 0x2416: 0x000b, 0x2417: 0x000b, + 0x2418: 0x000b, 0x2419: 0x000b, 0x241a: 0x000b, 0x241b: 0x000b, 0x241c: 0x000b, 0x241d: 0x000b, + 0x241e: 0x000b, 0x241f: 0x000b, 0x2420: 0x000b, 0x2421: 0x000b, 0x2422: 0x000b, 0x2423: 0x000b, + 0x2424: 0x000b, 0x2425: 0x000b, 0x2426: 0x000b, 0x2427: 0x000b, 0x2428: 0x000b, 0x2429: 0x000b, + 0x242a: 0x000b, 0x242b: 0x000b, 0x242c: 0x000b, 0x242d: 0x000b, 0x242e: 0x000b, 0x242f: 0x000b, 0x2430: 0x000d, 0x2431: 0x000d, 0x2432: 0x000d, 0x2433: 0x000d, 0x2434: 0x000d, 0x2435: 0x000d, 0x2436: 0x000d, 0x2437: 0x000d, 0x2438: 0x000d, 0x2439: 0x000d, 0x243a: 0x000d, 0x243b: 0x000d, - 0x243c: 0x000d, 0x243d: 0x000d, 0x243e: 0x000a, 0x243f: 0x000a, + 0x243c: 0x000d, 0x243d: 0x000a, 0x243e: 0x000d, 0x243f: 0x000d, // Block 0x91, offset 0x2440 - 0x2440: 0x000d, 0x2441: 0x000d, 0x2442: 0x000d, 0x2443: 0x000d, 0x2444: 0x000d, 0x2445: 0x000d, - 0x2446: 0x000d, 0x2447: 0x000d, 0x2448: 0x000d, 0x2449: 0x000d, 0x244a: 0x000d, 0x244b: 0x000d, - 0x244c: 0x000d, 0x244d: 0x000d, 0x244e: 0x000d, 0x244f: 0x000d, 0x2450: 0x000b, 0x2451: 0x000b, - 0x2452: 0x000b, 0x2453: 0x000b, 0x2454: 0x000b, 0x2455: 0x000b, 0x2456: 0x000b, 0x2457: 0x000b, - 0x2458: 0x000b, 0x2459: 0x000b, 0x245a: 0x000b, 0x245b: 0x000b, 0x245c: 0x000b, 0x245d: 0x000b, - 0x245e: 0x000b, 0x245f: 0x000b, 0x2460: 0x000b, 0x2461: 0x000b, 0x2462: 0x000b, 0x2463: 0x000b, - 0x2464: 0x000b, 0x2465: 0x000b, 0x2466: 0x000b, 0x2467: 0x000b, 0x2468: 0x000b, 0x2469: 0x000b, - 0x246a: 0x000b, 0x246b: 0x000b, 0x246c: 0x000b, 0x246d: 0x000b, 0x246e: 0x000b, 0x246f: 0x000b, - 0x2470: 0x000d, 0x2471: 0x000d, 0x2472: 0x000d, 0x2473: 0x000d, 0x2474: 0x000d, 0x2475: 0x000d, - 0x2476: 0x000d, 0x2477: 0x000d, 0x2478: 0x000d, 0x2479: 0x000d, 0x247a: 0x000d, 0x247b: 0x000d, - 0x247c: 0x000d, 0x247d: 0x000a, 0x247e: 0x000d, 0x247f: 0x000d, + 0x2440: 0x000c, 0x2441: 0x000c, 0x2442: 0x000c, 0x2443: 0x000c, 0x2444: 0x000c, 0x2445: 0x000c, + 0x2446: 0x000c, 0x2447: 0x000c, 0x2448: 0x000c, 0x2449: 0x000c, 0x244a: 0x000c, 0x244b: 0x000c, + 0x244c: 0x000c, 0x244d: 0x000c, 0x244e: 0x000c, 0x244f: 0x000c, 0x2450: 0x000a, 0x2451: 0x000a, + 0x2452: 0x000a, 0x2453: 0x000a, 0x2454: 0x000a, 0x2455: 0x000a, 0x2456: 0x000a, 0x2457: 0x000a, + 0x2458: 0x000a, 0x2459: 0x000a, + 0x2460: 0x000c, 0x2461: 0x000c, 0x2462: 0x000c, 0x2463: 0x000c, + 0x2464: 0x000c, 0x2465: 0x000c, 0x2466: 0x000c, 0x2467: 0x000c, 0x2468: 0x000c, 0x2469: 0x000c, + 0x246a: 0x000c, 0x246b: 0x000c, 0x246c: 0x000c, 0x246d: 0x000c, 0x246e: 0x000c, 0x246f: 0x000c, + 0x2470: 0x000a, 0x2471: 0x000a, 0x2472: 0x000a, 0x2473: 0x000a, 0x2474: 0x000a, 0x2475: 0x000a, + 0x2476: 0x000a, 0x2477: 0x000a, 0x2478: 0x000a, 0x2479: 0x000a, 0x247a: 0x000a, 0x247b: 0x000a, + 0x247c: 0x000a, 0x247d: 0x000a, 0x247e: 0x000a, 0x247f: 0x000a, // Block 0x92, offset 0x2480 - 0x2480: 0x000c, 0x2481: 0x000c, 0x2482: 0x000c, 0x2483: 0x000c, 0x2484: 0x000c, 0x2485: 0x000c, - 0x2486: 0x000c, 0x2487: 0x000c, 0x2488: 0x000c, 0x2489: 0x000c, 0x248a: 0x000c, 0x248b: 0x000c, - 0x248c: 0x000c, 0x248d: 0x000c, 0x248e: 0x000c, 0x248f: 0x000c, 0x2490: 0x000a, 0x2491: 0x000a, - 0x2492: 0x000a, 0x2493: 0x000a, 0x2494: 0x000a, 0x2495: 0x000a, 0x2496: 0x000a, 0x2497: 0x000a, - 0x2498: 0x000a, 0x2499: 0x000a, - 0x24a0: 0x000c, 0x24a1: 0x000c, 0x24a2: 0x000c, 0x24a3: 0x000c, - 0x24a4: 0x000c, 0x24a5: 0x000c, 0x24a6: 0x000c, 0x24a7: 0x000c, 0x24a8: 0x000c, 0x24a9: 0x000c, - 0x24aa: 0x000c, 0x24ab: 0x000c, 0x24ac: 0x000c, 0x24ad: 0x000c, 0x24ae: 0x000c, 0x24af: 0x000c, - 0x24b0: 0x000a, 0x24b1: 0x000a, 0x24b2: 0x000a, 0x24b3: 0x000a, 0x24b4: 0x000a, 0x24b5: 0x000a, - 0x24b6: 0x000a, 0x24b7: 0x000a, 0x24b8: 0x000a, 0x24b9: 0x000a, 0x24ba: 0x000a, 0x24bb: 0x000a, - 0x24bc: 0x000a, 0x24bd: 0x000a, 0x24be: 0x000a, 0x24bf: 0x000a, + 0x2480: 0x000a, 0x2481: 0x000a, 0x2482: 0x000a, 0x2483: 0x000a, 0x2484: 0x000a, 0x2485: 0x000a, + 0x2486: 0x000a, 0x2487: 0x000a, 0x2488: 0x000a, 0x2489: 0x000a, 0x248a: 0x000a, 0x248b: 0x000a, + 0x248c: 0x000a, 0x248d: 0x000a, 0x248e: 0x000a, 0x248f: 0x000a, 0x2490: 0x0006, 0x2491: 0x000a, + 0x2492: 0x0006, 0x2494: 0x000a, 0x2495: 0x0006, 0x2496: 0x000a, 0x2497: 0x000a, + 0x2498: 0x000a, 0x2499: 0x009a, 0x249a: 0x008a, 0x249b: 0x007a, 0x249c: 0x006a, 0x249d: 0x009a, + 0x249e: 0x008a, 0x249f: 0x0004, 0x24a0: 0x000a, 0x24a1: 0x000a, 0x24a2: 0x0003, 0x24a3: 0x0003, + 0x24a4: 0x000a, 0x24a5: 0x000a, 0x24a6: 0x000a, 0x24a8: 0x000a, 0x24a9: 0x0004, + 0x24aa: 0x0004, 0x24ab: 0x000a, + 0x24b0: 0x000d, 0x24b1: 0x000d, 0x24b2: 0x000d, 0x24b3: 0x000d, 0x24b4: 0x000d, 0x24b5: 0x000d, + 0x24b6: 0x000d, 0x24b7: 0x000d, 0x24b8: 0x000d, 0x24b9: 0x000d, 0x24ba: 0x000d, 0x24bb: 0x000d, + 0x24bc: 0x000d, 0x24bd: 0x000d, 0x24be: 0x000d, 0x24bf: 0x000d, // Block 0x93, offset 0x24c0 - 0x24c0: 0x000a, 0x24c1: 0x000a, 0x24c2: 0x000a, 0x24c3: 0x000a, 0x24c4: 0x000a, 0x24c5: 0x000a, - 0x24c6: 0x000a, 0x24c7: 0x000a, 0x24c8: 0x000a, 0x24c9: 0x000a, 0x24ca: 0x000a, 0x24cb: 0x000a, - 0x24cc: 0x000a, 0x24cd: 0x000a, 0x24ce: 0x000a, 0x24cf: 0x000a, 0x24d0: 0x0006, 0x24d1: 0x000a, - 0x24d2: 0x0006, 0x24d4: 0x000a, 0x24d5: 0x0006, 0x24d6: 0x000a, 0x24d7: 0x000a, - 0x24d8: 0x000a, 0x24d9: 0x009a, 0x24da: 0x008a, 0x24db: 0x007a, 0x24dc: 0x006a, 0x24dd: 0x009a, - 0x24de: 0x008a, 0x24df: 0x0004, 0x24e0: 0x000a, 0x24e1: 0x000a, 0x24e2: 0x0003, 0x24e3: 0x0003, - 0x24e4: 0x000a, 0x24e5: 0x000a, 0x24e6: 0x000a, 0x24e8: 0x000a, 0x24e9: 0x0004, - 0x24ea: 0x0004, 0x24eb: 0x000a, + 0x24c0: 0x000d, 0x24c1: 0x000d, 0x24c2: 0x000d, 0x24c3: 0x000d, 0x24c4: 0x000d, 0x24c5: 0x000d, + 0x24c6: 0x000d, 0x24c7: 0x000d, 0x24c8: 0x000d, 0x24c9: 0x000d, 0x24ca: 0x000d, 0x24cb: 0x000d, + 0x24cc: 0x000d, 0x24cd: 0x000d, 0x24ce: 0x000d, 0x24cf: 0x000d, 0x24d0: 0x000d, 0x24d1: 0x000d, + 0x24d2: 0x000d, 0x24d3: 0x000d, 0x24d4: 0x000d, 0x24d5: 0x000d, 0x24d6: 0x000d, 0x24d7: 0x000d, + 0x24d8: 0x000d, 0x24d9: 0x000d, 0x24da: 0x000d, 0x24db: 0x000d, 0x24dc: 0x000d, 0x24dd: 0x000d, + 0x24de: 0x000d, 0x24df: 0x000d, 0x24e0: 0x000d, 0x24e1: 0x000d, 0x24e2: 0x000d, 0x24e3: 0x000d, + 0x24e4: 0x000d, 0x24e5: 0x000d, 0x24e6: 0x000d, 0x24e7: 0x000d, 0x24e8: 0x000d, 0x24e9: 0x000d, + 0x24ea: 0x000d, 0x24eb: 0x000d, 0x24ec: 0x000d, 0x24ed: 0x000d, 0x24ee: 0x000d, 0x24ef: 0x000d, 0x24f0: 0x000d, 0x24f1: 0x000d, 0x24f2: 0x000d, 0x24f3: 0x000d, 0x24f4: 0x000d, 0x24f5: 0x000d, 0x24f6: 0x000d, 0x24f7: 0x000d, 0x24f8: 0x000d, 0x24f9: 0x000d, 0x24fa: 0x000d, 0x24fb: 0x000d, - 0x24fc: 0x000d, 0x24fd: 0x000d, 0x24fe: 0x000d, 0x24ff: 0x000d, + 0x24fc: 0x000d, 0x24fd: 0x000d, 0x24fe: 0x000d, 0x24ff: 0x000b, // Block 0x94, offset 0x2500 - 0x2500: 0x000d, 0x2501: 0x000d, 0x2502: 0x000d, 0x2503: 0x000d, 0x2504: 0x000d, 0x2505: 0x000d, - 0x2506: 0x000d, 0x2507: 0x000d, 0x2508: 0x000d, 0x2509: 0x000d, 0x250a: 0x000d, 0x250b: 0x000d, - 0x250c: 0x000d, 0x250d: 0x000d, 0x250e: 0x000d, 0x250f: 0x000d, 0x2510: 0x000d, 0x2511: 0x000d, - 0x2512: 0x000d, 0x2513: 0x000d, 0x2514: 0x000d, 0x2515: 0x000d, 0x2516: 0x000d, 0x2517: 0x000d, - 0x2518: 0x000d, 0x2519: 0x000d, 0x251a: 0x000d, 0x251b: 0x000d, 0x251c: 0x000d, 0x251d: 0x000d, - 0x251e: 0x000d, 0x251f: 0x000d, 0x2520: 0x000d, 0x2521: 0x000d, 0x2522: 0x000d, 0x2523: 0x000d, - 0x2524: 0x000d, 0x2525: 0x000d, 0x2526: 0x000d, 0x2527: 0x000d, 0x2528: 0x000d, 0x2529: 0x000d, - 0x252a: 0x000d, 0x252b: 0x000d, 0x252c: 0x000d, 0x252d: 0x000d, 0x252e: 0x000d, 0x252f: 0x000d, - 0x2530: 0x000d, 0x2531: 0x000d, 0x2532: 0x000d, 0x2533: 0x000d, 0x2534: 0x000d, 0x2535: 0x000d, - 0x2536: 0x000d, 0x2537: 0x000d, 0x2538: 0x000d, 0x2539: 0x000d, 0x253a: 0x000d, 0x253b: 0x000d, - 0x253c: 0x000d, 0x253d: 0x000d, 0x253e: 0x000d, 0x253f: 0x000b, + 0x2501: 0x000a, 0x2502: 0x000a, 0x2503: 0x0004, 0x2504: 0x0004, 0x2505: 0x0004, + 0x2506: 0x000a, 0x2507: 0x000a, 0x2508: 0x003a, 0x2509: 0x002a, 0x250a: 0x000a, 0x250b: 0x0003, + 0x250c: 0x0006, 0x250d: 0x0003, 0x250e: 0x0006, 0x250f: 0x0006, 0x2510: 0x0002, 0x2511: 0x0002, + 0x2512: 0x0002, 0x2513: 0x0002, 0x2514: 0x0002, 0x2515: 0x0002, 0x2516: 0x0002, 0x2517: 0x0002, + 0x2518: 0x0002, 0x2519: 0x0002, 0x251a: 0x0006, 0x251b: 0x000a, 0x251c: 0x000a, 0x251d: 0x000a, + 0x251e: 0x000a, 0x251f: 0x000a, 0x2520: 0x000a, + 0x253b: 0x005a, + 0x253c: 0x000a, 0x253d: 0x004a, 0x253e: 0x000a, 0x253f: 0x000a, // Block 0x95, offset 0x2540 - 0x2541: 0x000a, 0x2542: 0x000a, 0x2543: 0x0004, 0x2544: 0x0004, 0x2545: 0x0004, - 0x2546: 0x000a, 0x2547: 0x000a, 0x2548: 0x003a, 0x2549: 0x002a, 0x254a: 0x000a, 0x254b: 0x0003, - 0x254c: 0x0006, 0x254d: 0x0003, 0x254e: 0x0006, 0x254f: 0x0006, 0x2550: 0x0002, 0x2551: 0x0002, - 0x2552: 0x0002, 0x2553: 0x0002, 0x2554: 0x0002, 0x2555: 0x0002, 0x2556: 0x0002, 0x2557: 0x0002, - 0x2558: 0x0002, 0x2559: 0x0002, 0x255a: 0x0006, 0x255b: 0x000a, 0x255c: 0x000a, 0x255d: 0x000a, - 0x255e: 0x000a, 0x255f: 0x000a, 0x2560: 0x000a, - 0x257b: 0x005a, - 0x257c: 0x000a, 0x257d: 0x004a, 0x257e: 0x000a, 0x257f: 0x000a, + 0x2540: 0x000a, + 0x255b: 0x005a, 0x255c: 0x000a, 0x255d: 0x004a, + 0x255e: 0x000a, 0x255f: 0x00fa, 0x2560: 0x00ea, 0x2561: 0x000a, 0x2562: 0x003a, 0x2563: 0x002a, + 0x2564: 0x000a, 0x2565: 0x000a, // Block 0x96, offset 0x2580 - 0x2580: 0x000a, - 0x259b: 0x005a, 0x259c: 0x000a, 0x259d: 0x004a, - 0x259e: 0x000a, 0x259f: 0x00fa, 0x25a0: 0x00ea, 0x25a1: 0x000a, 0x25a2: 0x003a, 0x25a3: 0x002a, - 0x25a4: 0x000a, 0x25a5: 0x000a, + 0x25a0: 0x0004, 0x25a1: 0x0004, 0x25a2: 0x000a, 0x25a3: 0x000a, + 0x25a4: 0x000a, 0x25a5: 0x0004, 0x25a6: 0x0004, 0x25a8: 0x000a, 0x25a9: 0x000a, + 0x25aa: 0x000a, 0x25ab: 0x000a, 0x25ac: 0x000a, 0x25ad: 0x000a, 0x25ae: 0x000a, + 0x25b0: 0x000b, 0x25b1: 0x000b, 0x25b2: 0x000b, 0x25b3: 0x000b, 0x25b4: 0x000b, 0x25b5: 0x000b, + 0x25b6: 0x000b, 0x25b7: 0x000b, 0x25b8: 0x000b, 0x25b9: 0x000a, 0x25ba: 0x000a, 0x25bb: 0x000a, + 0x25bc: 0x000a, 0x25bd: 0x000a, 0x25be: 0x000b, 0x25bf: 0x000b, // Block 0x97, offset 0x25c0 - 0x25e0: 0x0004, 0x25e1: 0x0004, 0x25e2: 0x000a, 0x25e3: 0x000a, - 0x25e4: 0x000a, 0x25e5: 0x0004, 0x25e6: 0x0004, 0x25e8: 0x000a, 0x25e9: 0x000a, - 0x25ea: 0x000a, 0x25eb: 0x000a, 0x25ec: 0x000a, 0x25ed: 0x000a, 0x25ee: 0x000a, - 0x25f0: 0x000b, 0x25f1: 0x000b, 0x25f2: 0x000b, 0x25f3: 0x000b, 0x25f4: 0x000b, 0x25f5: 0x000b, - 0x25f6: 0x000b, 0x25f7: 0x000b, 0x25f8: 0x000b, 0x25f9: 0x000a, 0x25fa: 0x000a, 0x25fb: 0x000a, - 0x25fc: 0x000a, 0x25fd: 0x000a, 0x25fe: 0x000b, 0x25ff: 0x000b, + 0x25c1: 0x000a, // Block 0x98, offset 0x2600 - 0x2601: 0x000a, + 0x2600: 0x000a, 0x2601: 0x000a, 0x2602: 0x000a, 0x2603: 0x000a, 0x2604: 0x000a, 0x2605: 0x000a, + 0x2606: 0x000a, 0x2607: 0x000a, 0x2608: 0x000a, 0x2609: 0x000a, 0x260a: 0x000a, 0x260b: 0x000a, + 0x260c: 0x000a, 0x2610: 0x000a, 0x2611: 0x000a, + 0x2612: 0x000a, 0x2613: 0x000a, 0x2614: 0x000a, 0x2615: 0x000a, 0x2616: 0x000a, 0x2617: 0x000a, + 0x2618: 0x000a, 0x2619: 0x000a, 0x261a: 0x000a, 0x261b: 0x000a, + 0x2620: 0x000a, // Block 0x99, offset 0x2640 - 0x2640: 0x000a, 0x2641: 0x000a, 0x2642: 0x000a, 0x2643: 0x000a, 0x2644: 0x000a, 0x2645: 0x000a, - 0x2646: 0x000a, 0x2647: 0x000a, 0x2648: 0x000a, 0x2649: 0x000a, 0x264a: 0x000a, 0x264b: 0x000a, - 0x264c: 0x000a, 0x2650: 0x000a, 0x2651: 0x000a, - 0x2652: 0x000a, 0x2653: 0x000a, 0x2654: 0x000a, 0x2655: 0x000a, 0x2656: 0x000a, 0x2657: 0x000a, - 0x2658: 0x000a, 0x2659: 0x000a, 0x265a: 0x000a, 0x265b: 0x000a, - 0x2660: 0x000a, + 0x267d: 0x000c, // Block 0x9a, offset 0x2680 - 0x26bd: 0x000c, + 0x26a0: 0x000c, 0x26a1: 0x0002, 0x26a2: 0x0002, 0x26a3: 0x0002, + 0x26a4: 0x0002, 0x26a5: 0x0002, 0x26a6: 0x0002, 0x26a7: 0x0002, 0x26a8: 0x0002, 0x26a9: 0x0002, + 0x26aa: 0x0002, 0x26ab: 0x0002, 0x26ac: 0x0002, 0x26ad: 0x0002, 0x26ae: 0x0002, 0x26af: 0x0002, + 0x26b0: 0x0002, 0x26b1: 0x0002, 0x26b2: 0x0002, 0x26b3: 0x0002, 0x26b4: 0x0002, 0x26b5: 0x0002, + 0x26b6: 0x0002, 0x26b7: 0x0002, 0x26b8: 0x0002, 0x26b9: 0x0002, 0x26ba: 0x0002, 0x26bb: 0x0002, // Block 0x9b, offset 0x26c0 - 0x26e0: 0x000c, 0x26e1: 0x0002, 0x26e2: 0x0002, 0x26e3: 0x0002, - 0x26e4: 0x0002, 0x26e5: 0x0002, 0x26e6: 0x0002, 0x26e7: 0x0002, 0x26e8: 0x0002, 0x26e9: 0x0002, - 0x26ea: 0x0002, 0x26eb: 0x0002, 0x26ec: 0x0002, 0x26ed: 0x0002, 0x26ee: 0x0002, 0x26ef: 0x0002, - 0x26f0: 0x0002, 0x26f1: 0x0002, 0x26f2: 0x0002, 0x26f3: 0x0002, 0x26f4: 0x0002, 0x26f5: 0x0002, - 0x26f6: 0x0002, 0x26f7: 0x0002, 0x26f8: 0x0002, 0x26f9: 0x0002, 0x26fa: 0x0002, 0x26fb: 0x0002, + 0x26f6: 0x000c, 0x26f7: 0x000c, 0x26f8: 0x000c, 0x26f9: 0x000c, 0x26fa: 0x000c, // Block 0x9c, offset 0x2700 - 0x2736: 0x000c, 0x2737: 0x000c, 0x2738: 0x000c, 0x2739: 0x000c, 0x273a: 0x000c, + 0x2700: 0x0001, 0x2701: 0x0001, 0x2702: 0x0001, 0x2703: 0x0001, 0x2704: 0x0001, 0x2705: 0x0001, + 0x2706: 0x0001, 0x2707: 0x0001, 0x2708: 0x0001, 0x2709: 0x0001, 0x270a: 0x0001, 0x270b: 0x0001, + 0x270c: 0x0001, 0x270d: 0x0001, 0x270e: 0x0001, 0x270f: 0x0001, 0x2710: 0x0001, 0x2711: 0x0001, + 0x2712: 0x0001, 0x2713: 0x0001, 0x2714: 0x0001, 0x2715: 0x0001, 0x2716: 0x0001, 0x2717: 0x0001, + 0x2718: 0x0001, 0x2719: 0x0001, 0x271a: 0x0001, 0x271b: 0x0001, 0x271c: 0x0001, 0x271d: 0x0001, + 0x271e: 0x0001, 0x271f: 0x0001, 0x2720: 0x0001, 0x2721: 0x0001, 0x2722: 0x0001, 0x2723: 0x0001, + 0x2724: 0x0001, 0x2725: 0x0001, 0x2726: 0x0001, 0x2727: 0x0001, 0x2728: 0x0001, 0x2729: 0x0001, + 0x272a: 0x0001, 0x272b: 0x0001, 0x272c: 0x0001, 0x272d: 0x0001, 0x272e: 0x0001, 0x272f: 0x0001, + 0x2730: 0x0001, 0x2731: 0x0001, 0x2732: 0x0001, 0x2733: 0x0001, 0x2734: 0x0001, 0x2735: 0x0001, + 0x2736: 0x0001, 0x2737: 0x0001, 0x2738: 0x0001, 0x2739: 0x0001, 0x273a: 0x0001, 0x273b: 0x0001, + 0x273c: 0x0001, 0x273d: 0x0001, 0x273e: 0x0001, 0x273f: 0x0001, // Block 0x9d, offset 0x2740 0x2740: 0x0001, 0x2741: 0x0001, 0x2742: 0x0001, 0x2743: 0x0001, 0x2744: 0x0001, 0x2745: 0x0001, 0x2746: 0x0001, 0x2747: 0x0001, 0x2748: 0x0001, 0x2749: 0x0001, 0x274a: 0x0001, 0x274b: 0x0001, 0x274c: 0x0001, 0x274d: 0x0001, 0x274e: 0x0001, 0x274f: 0x0001, 0x2750: 0x0001, 0x2751: 0x0001, 0x2752: 0x0001, 0x2753: 0x0001, 0x2754: 0x0001, 0x2755: 0x0001, 0x2756: 0x0001, 0x2757: 0x0001, 0x2758: 0x0001, 0x2759: 0x0001, 0x275a: 0x0001, 0x275b: 0x0001, 0x275c: 0x0001, 0x275d: 0x0001, - 0x275e: 0x0001, 0x275f: 0x0001, 0x2760: 0x0001, 0x2761: 0x0001, 0x2762: 0x0001, 0x2763: 0x0001, + 0x275e: 0x0001, 0x275f: 0x000a, 0x2760: 0x0001, 0x2761: 0x0001, 0x2762: 0x0001, 0x2763: 0x0001, 0x2764: 0x0001, 0x2765: 0x0001, 0x2766: 0x0001, 0x2767: 0x0001, 0x2768: 0x0001, 0x2769: 0x0001, 0x276a: 0x0001, 0x276b: 0x0001, 0x276c: 0x0001, 0x276d: 0x0001, 0x276e: 0x0001, 0x276f: 0x0001, 0x2770: 0x0001, 0x2771: 0x0001, 0x2772: 0x0001, 0x2773: 0x0001, 0x2774: 0x0001, 0x2775: 0x0001, 0x2776: 0x0001, 0x2777: 0x0001, 0x2778: 0x0001, 0x2779: 0x0001, 0x277a: 0x0001, 0x277b: 0x0001, 0x277c: 0x0001, 0x277d: 0x0001, 0x277e: 0x0001, 0x277f: 0x0001, // Block 0x9e, offset 0x2780 - 0x2780: 0x0001, 0x2781: 0x0001, 0x2782: 0x0001, 0x2783: 0x0001, 0x2784: 0x0001, 0x2785: 0x0001, - 0x2786: 0x0001, 0x2787: 0x0001, 0x2788: 0x0001, 0x2789: 0x0001, 0x278a: 0x0001, 0x278b: 0x0001, - 0x278c: 0x0001, 0x278d: 0x0001, 0x278e: 0x0001, 0x278f: 0x0001, 0x2790: 0x0001, 0x2791: 0x0001, + 0x2780: 0x0001, 0x2781: 0x000c, 0x2782: 0x000c, 0x2783: 0x000c, 0x2784: 0x0001, 0x2785: 0x000c, + 0x2786: 0x000c, 0x2787: 0x0001, 0x2788: 0x0001, 0x2789: 0x0001, 0x278a: 0x0001, 0x278b: 0x0001, + 0x278c: 0x000c, 0x278d: 0x000c, 0x278e: 0x000c, 0x278f: 0x000c, 0x2790: 0x0001, 0x2791: 0x0001, 0x2792: 0x0001, 0x2793: 0x0001, 0x2794: 0x0001, 0x2795: 0x0001, 0x2796: 0x0001, 0x2797: 0x0001, 0x2798: 0x0001, 0x2799: 0x0001, 0x279a: 0x0001, 0x279b: 0x0001, 0x279c: 0x0001, 0x279d: 0x0001, - 0x279e: 0x0001, 0x279f: 0x000a, 0x27a0: 0x0001, 0x27a1: 0x0001, 0x27a2: 0x0001, 0x27a3: 0x0001, + 0x279e: 0x0001, 0x279f: 0x0001, 0x27a0: 0x0001, 0x27a1: 0x0001, 0x27a2: 0x0001, 0x27a3: 0x0001, 0x27a4: 0x0001, 0x27a5: 0x0001, 0x27a6: 0x0001, 0x27a7: 0x0001, 0x27a8: 0x0001, 0x27a9: 0x0001, 0x27aa: 0x0001, 0x27ab: 0x0001, 0x27ac: 0x0001, 0x27ad: 0x0001, 0x27ae: 0x0001, 0x27af: 0x0001, 0x27b0: 0x0001, 0x27b1: 0x0001, 0x27b2: 0x0001, 0x27b3: 0x0001, 0x27b4: 0x0001, 0x27b5: 0x0001, - 0x27b6: 0x0001, 0x27b7: 0x0001, 0x27b8: 0x0001, 0x27b9: 0x0001, 0x27ba: 0x0001, 0x27bb: 0x0001, - 0x27bc: 0x0001, 0x27bd: 0x0001, 0x27be: 0x0001, 0x27bf: 0x0001, + 0x27b6: 0x0001, 0x27b7: 0x0001, 0x27b8: 0x000c, 0x27b9: 0x000c, 0x27ba: 0x000c, 0x27bb: 0x0001, + 0x27bc: 0x0001, 0x27bd: 0x0001, 0x27be: 0x0001, 0x27bf: 0x000c, // Block 0x9f, offset 0x27c0 - 0x27c0: 0x0001, 0x27c1: 0x000c, 0x27c2: 0x000c, 0x27c3: 0x000c, 0x27c4: 0x0001, 0x27c5: 0x000c, - 0x27c6: 0x000c, 0x27c7: 0x0001, 0x27c8: 0x0001, 0x27c9: 0x0001, 0x27ca: 0x0001, 0x27cb: 0x0001, - 0x27cc: 0x000c, 0x27cd: 0x000c, 0x27ce: 0x000c, 0x27cf: 0x000c, 0x27d0: 0x0001, 0x27d1: 0x0001, + 0x27c0: 0x0001, 0x27c1: 0x0001, 0x27c2: 0x0001, 0x27c3: 0x0001, 0x27c4: 0x0001, 0x27c5: 0x0001, + 0x27c6: 0x0001, 0x27c7: 0x0001, 0x27c8: 0x0001, 0x27c9: 0x0001, 0x27ca: 0x0001, 0x27cb: 0x0001, + 0x27cc: 0x0001, 0x27cd: 0x0001, 0x27ce: 0x0001, 0x27cf: 0x0001, 0x27d0: 0x0001, 0x27d1: 0x0001, 0x27d2: 0x0001, 0x27d3: 0x0001, 0x27d4: 0x0001, 0x27d5: 0x0001, 0x27d6: 0x0001, 0x27d7: 0x0001, 0x27d8: 0x0001, 0x27d9: 0x0001, 0x27da: 0x0001, 0x27db: 0x0001, 0x27dc: 0x0001, 0x27dd: 0x0001, 0x27de: 0x0001, 0x27df: 0x0001, 0x27e0: 0x0001, 0x27e1: 0x0001, 0x27e2: 0x0001, 0x27e3: 0x0001, - 0x27e4: 0x0001, 0x27e5: 0x0001, 0x27e6: 0x0001, 0x27e7: 0x0001, 0x27e8: 0x0001, 0x27e9: 0x0001, + 0x27e4: 0x0001, 0x27e5: 0x000c, 0x27e6: 0x000c, 0x27e7: 0x0001, 0x27e8: 0x0001, 0x27e9: 0x0001, 0x27ea: 0x0001, 0x27eb: 0x0001, 0x27ec: 0x0001, 0x27ed: 0x0001, 0x27ee: 0x0001, 0x27ef: 0x0001, 0x27f0: 0x0001, 0x27f1: 0x0001, 0x27f2: 0x0001, 0x27f3: 0x0001, 0x27f4: 0x0001, 0x27f5: 0x0001, - 0x27f6: 0x0001, 0x27f7: 0x0001, 0x27f8: 0x000c, 0x27f9: 0x000c, 0x27fa: 0x000c, 0x27fb: 0x0001, - 0x27fc: 0x0001, 0x27fd: 0x0001, 0x27fe: 0x0001, 0x27ff: 0x000c, + 0x27f6: 0x0001, 0x27f7: 0x0001, 0x27f8: 0x0001, 0x27f9: 0x0001, 0x27fa: 0x0001, 0x27fb: 0x0001, + 0x27fc: 0x0001, 0x27fd: 0x0001, 0x27fe: 0x0001, 0x27ff: 0x0001, // Block 0xa0, offset 0x2800 0x2800: 0x0001, 0x2801: 0x0001, 0x2802: 0x0001, 0x2803: 0x0001, 0x2804: 0x0001, 0x2805: 0x0001, 0x2806: 0x0001, 0x2807: 0x0001, 0x2808: 0x0001, 0x2809: 0x0001, 0x280a: 0x0001, 0x280b: 0x0001, @@ -1280,382 +1286,409 @@ var bidiValues = [14208]uint8{ 0x2812: 0x0001, 0x2813: 0x0001, 0x2814: 0x0001, 0x2815: 0x0001, 0x2816: 0x0001, 0x2817: 0x0001, 0x2818: 0x0001, 0x2819: 0x0001, 0x281a: 0x0001, 0x281b: 0x0001, 0x281c: 0x0001, 0x281d: 0x0001, 0x281e: 0x0001, 0x281f: 0x0001, 0x2820: 0x0001, 0x2821: 0x0001, 0x2822: 0x0001, 0x2823: 0x0001, - 0x2824: 0x0001, 0x2825: 0x000c, 0x2826: 0x000c, 0x2827: 0x0001, 0x2828: 0x0001, 0x2829: 0x0001, + 0x2824: 0x0001, 0x2825: 0x0001, 0x2826: 0x0001, 0x2827: 0x0001, 0x2828: 0x0001, 0x2829: 0x0001, 0x282a: 0x0001, 0x282b: 0x0001, 0x282c: 0x0001, 0x282d: 0x0001, 0x282e: 0x0001, 0x282f: 0x0001, 0x2830: 0x0001, 0x2831: 0x0001, 0x2832: 0x0001, 0x2833: 0x0001, 0x2834: 0x0001, 0x2835: 0x0001, - 0x2836: 0x0001, 0x2837: 0x0001, 0x2838: 0x0001, 0x2839: 0x0001, 0x283a: 0x0001, 0x283b: 0x0001, - 0x283c: 0x0001, 0x283d: 0x0001, 0x283e: 0x0001, 0x283f: 0x0001, + 0x2836: 0x0001, 0x2837: 0x0001, 0x2838: 0x0001, 0x2839: 0x000a, 0x283a: 0x000a, 0x283b: 0x000a, + 0x283c: 0x000a, 0x283d: 0x000a, 0x283e: 0x000a, 0x283f: 0x000a, // Block 0xa1, offset 0x2840 0x2840: 0x0001, 0x2841: 0x0001, 0x2842: 0x0001, 0x2843: 0x0001, 0x2844: 0x0001, 0x2845: 0x0001, 0x2846: 0x0001, 0x2847: 0x0001, 0x2848: 0x0001, 0x2849: 0x0001, 0x284a: 0x0001, 0x284b: 0x0001, 0x284c: 0x0001, 0x284d: 0x0001, 0x284e: 0x0001, 0x284f: 0x0001, 0x2850: 0x0001, 0x2851: 0x0001, 0x2852: 0x0001, 0x2853: 0x0001, 0x2854: 0x0001, 0x2855: 0x0001, 0x2856: 0x0001, 0x2857: 0x0001, 0x2858: 0x0001, 0x2859: 0x0001, 0x285a: 0x0001, 0x285b: 0x0001, 0x285c: 0x0001, 0x285d: 0x0001, - 0x285e: 0x0001, 0x285f: 0x0001, 0x2860: 0x0001, 0x2861: 0x0001, 0x2862: 0x0001, 0x2863: 0x0001, - 0x2864: 0x0001, 0x2865: 0x0001, 0x2866: 0x0001, 0x2867: 0x0001, 0x2868: 0x0001, 0x2869: 0x0001, - 0x286a: 0x0001, 0x286b: 0x0001, 0x286c: 0x0001, 0x286d: 0x0001, 0x286e: 0x0001, 0x286f: 0x0001, - 0x2870: 0x0001, 0x2871: 0x0001, 0x2872: 0x0001, 0x2873: 0x0001, 0x2874: 0x0001, 0x2875: 0x0001, - 0x2876: 0x0001, 0x2877: 0x0001, 0x2878: 0x0001, 0x2879: 0x000a, 0x287a: 0x000a, 0x287b: 0x000a, - 0x287c: 0x000a, 0x287d: 0x000a, 0x287e: 0x000a, 0x287f: 0x000a, + 0x285e: 0x0001, 0x285f: 0x0001, 0x2860: 0x0005, 0x2861: 0x0005, 0x2862: 0x0005, 0x2863: 0x0005, + 0x2864: 0x0005, 0x2865: 0x0005, 0x2866: 0x0005, 0x2867: 0x0005, 0x2868: 0x0005, 0x2869: 0x0005, + 0x286a: 0x0005, 0x286b: 0x0005, 0x286c: 0x0005, 0x286d: 0x0005, 0x286e: 0x0005, 0x286f: 0x0005, + 0x2870: 0x0005, 0x2871: 0x0005, 0x2872: 0x0005, 0x2873: 0x0005, 0x2874: 0x0005, 0x2875: 0x0005, + 0x2876: 0x0005, 0x2877: 0x0005, 0x2878: 0x0005, 0x2879: 0x0005, 0x287a: 0x0005, 0x287b: 0x0005, + 0x287c: 0x0005, 0x287d: 0x0005, 0x287e: 0x0005, 0x287f: 0x0001, // Block 0xa2, offset 0x2880 - 0x2880: 0x0001, 0x2881: 0x0001, 0x2882: 0x0001, 0x2883: 0x0001, 0x2884: 0x0001, 0x2885: 0x0001, - 0x2886: 0x0001, 0x2887: 0x0001, 0x2888: 0x0001, 0x2889: 0x0001, 0x288a: 0x0001, 0x288b: 0x0001, - 0x288c: 0x0001, 0x288d: 0x0001, 0x288e: 0x0001, 0x288f: 0x0001, 0x2890: 0x0001, 0x2891: 0x0001, - 0x2892: 0x0001, 0x2893: 0x0001, 0x2894: 0x0001, 0x2895: 0x0001, 0x2896: 0x0001, 0x2897: 0x0001, - 0x2898: 0x0001, 0x2899: 0x0001, 0x289a: 0x0001, 0x289b: 0x0001, 0x289c: 0x0001, 0x289d: 0x0001, - 0x289e: 0x0001, 0x289f: 0x0001, 0x28a0: 0x0005, 0x28a1: 0x0005, 0x28a2: 0x0005, 0x28a3: 0x0005, - 0x28a4: 0x0005, 0x28a5: 0x0005, 0x28a6: 0x0005, 0x28a7: 0x0005, 0x28a8: 0x0005, 0x28a9: 0x0005, - 0x28aa: 0x0005, 0x28ab: 0x0005, 0x28ac: 0x0005, 0x28ad: 0x0005, 0x28ae: 0x0005, 0x28af: 0x0005, - 0x28b0: 0x0005, 0x28b1: 0x0005, 0x28b2: 0x0005, 0x28b3: 0x0005, 0x28b4: 0x0005, 0x28b5: 0x0005, - 0x28b6: 0x0005, 0x28b7: 0x0005, 0x28b8: 0x0005, 0x28b9: 0x0005, 0x28ba: 0x0005, 0x28bb: 0x0005, - 0x28bc: 0x0005, 0x28bd: 0x0005, 0x28be: 0x0005, 0x28bf: 0x0001, + 0x2881: 0x000c, + 0x28b8: 0x000c, 0x28b9: 0x000c, 0x28ba: 0x000c, 0x28bb: 0x000c, + 0x28bc: 0x000c, 0x28bd: 0x000c, 0x28be: 0x000c, 0x28bf: 0x000c, // Block 0xa3, offset 0x28c0 - 0x28c1: 0x000c, - 0x28f8: 0x000c, 0x28f9: 0x000c, 0x28fa: 0x000c, 0x28fb: 0x000c, - 0x28fc: 0x000c, 0x28fd: 0x000c, 0x28fe: 0x000c, 0x28ff: 0x000c, + 0x28c0: 0x000c, 0x28c1: 0x000c, 0x28c2: 0x000c, 0x28c3: 0x000c, 0x28c4: 0x000c, 0x28c5: 0x000c, + 0x28c6: 0x000c, + 0x28d2: 0x000a, 0x28d3: 0x000a, 0x28d4: 0x000a, 0x28d5: 0x000a, 0x28d6: 0x000a, 0x28d7: 0x000a, + 0x28d8: 0x000a, 0x28d9: 0x000a, 0x28da: 0x000a, 0x28db: 0x000a, 0x28dc: 0x000a, 0x28dd: 0x000a, + 0x28de: 0x000a, 0x28df: 0x000a, 0x28e0: 0x000a, 0x28e1: 0x000a, 0x28e2: 0x000a, 0x28e3: 0x000a, + 0x28e4: 0x000a, 0x28e5: 0x000a, + 0x28ff: 0x000c, // Block 0xa4, offset 0x2900 - 0x2900: 0x000c, 0x2901: 0x000c, 0x2902: 0x000c, 0x2903: 0x000c, 0x2904: 0x000c, 0x2905: 0x000c, - 0x2906: 0x000c, - 0x2912: 0x000a, 0x2913: 0x000a, 0x2914: 0x000a, 0x2915: 0x000a, 0x2916: 0x000a, 0x2917: 0x000a, - 0x2918: 0x000a, 0x2919: 0x000a, 0x291a: 0x000a, 0x291b: 0x000a, 0x291c: 0x000a, 0x291d: 0x000a, - 0x291e: 0x000a, 0x291f: 0x000a, 0x2920: 0x000a, 0x2921: 0x000a, 0x2922: 0x000a, 0x2923: 0x000a, - 0x2924: 0x000a, 0x2925: 0x000a, - 0x293f: 0x000c, + 0x2900: 0x000c, 0x2901: 0x000c, + 0x2933: 0x000c, 0x2934: 0x000c, 0x2935: 0x000c, + 0x2936: 0x000c, 0x2939: 0x000c, 0x293a: 0x000c, // Block 0xa5, offset 0x2940 - 0x2940: 0x000c, 0x2941: 0x000c, - 0x2973: 0x000c, 0x2974: 0x000c, 0x2975: 0x000c, - 0x2976: 0x000c, 0x2979: 0x000c, 0x297a: 0x000c, + 0x2940: 0x000c, 0x2941: 0x000c, 0x2942: 0x000c, + 0x2967: 0x000c, 0x2968: 0x000c, 0x2969: 0x000c, + 0x296a: 0x000c, 0x296b: 0x000c, 0x296d: 0x000c, 0x296e: 0x000c, 0x296f: 0x000c, + 0x2970: 0x000c, 0x2971: 0x000c, 0x2972: 0x000c, 0x2973: 0x000c, 0x2974: 0x000c, // Block 0xa6, offset 0x2980 - 0x2980: 0x000c, 0x2981: 0x000c, 0x2982: 0x000c, - 0x29a7: 0x000c, 0x29a8: 0x000c, 0x29a9: 0x000c, - 0x29aa: 0x000c, 0x29ab: 0x000c, 0x29ad: 0x000c, 0x29ae: 0x000c, 0x29af: 0x000c, - 0x29b0: 0x000c, 0x29b1: 0x000c, 0x29b2: 0x000c, 0x29b3: 0x000c, 0x29b4: 0x000c, + 0x29b3: 0x000c, // Block 0xa7, offset 0x29c0 - 0x29f3: 0x000c, + 0x29c0: 0x000c, 0x29c1: 0x000c, + 0x29f6: 0x000c, 0x29f7: 0x000c, 0x29f8: 0x000c, 0x29f9: 0x000c, 0x29fa: 0x000c, 0x29fb: 0x000c, + 0x29fc: 0x000c, 0x29fd: 0x000c, 0x29fe: 0x000c, // Block 0xa8, offset 0x2a00 - 0x2a00: 0x000c, 0x2a01: 0x000c, - 0x2a36: 0x000c, 0x2a37: 0x000c, 0x2a38: 0x000c, 0x2a39: 0x000c, 0x2a3a: 0x000c, 0x2a3b: 0x000c, - 0x2a3c: 0x000c, 0x2a3d: 0x000c, 0x2a3e: 0x000c, + 0x2a0a: 0x000c, 0x2a0b: 0x000c, + 0x2a0c: 0x000c, // Block 0xa9, offset 0x2a40 - 0x2a4a: 0x000c, 0x2a4b: 0x000c, - 0x2a4c: 0x000c, + 0x2a6f: 0x000c, + 0x2a70: 0x000c, 0x2a71: 0x000c, 0x2a74: 0x000c, + 0x2a76: 0x000c, 0x2a77: 0x000c, + 0x2a7e: 0x000c, // Block 0xaa, offset 0x2a80 - 0x2aaf: 0x000c, - 0x2ab0: 0x000c, 0x2ab1: 0x000c, 0x2ab4: 0x000c, - 0x2ab6: 0x000c, 0x2ab7: 0x000c, - 0x2abe: 0x000c, + 0x2a9f: 0x000c, 0x2aa3: 0x000c, + 0x2aa4: 0x000c, 0x2aa5: 0x000c, 0x2aa6: 0x000c, 0x2aa7: 0x000c, 0x2aa8: 0x000c, 0x2aa9: 0x000c, + 0x2aaa: 0x000c, // Block 0xab, offset 0x2ac0 - 0x2adf: 0x000c, 0x2ae3: 0x000c, - 0x2ae4: 0x000c, 0x2ae5: 0x000c, 0x2ae6: 0x000c, 0x2ae7: 0x000c, 0x2ae8: 0x000c, 0x2ae9: 0x000c, - 0x2aea: 0x000c, + 0x2ac0: 0x000c, 0x2ac1: 0x000c, + 0x2afc: 0x000c, // Block 0xac, offset 0x2b00 - 0x2b00: 0x000c, 0x2b01: 0x000c, - 0x2b3c: 0x000c, + 0x2b00: 0x000c, + 0x2b26: 0x000c, 0x2b27: 0x000c, 0x2b28: 0x000c, 0x2b29: 0x000c, + 0x2b2a: 0x000c, 0x2b2b: 0x000c, 0x2b2c: 0x000c, + 0x2b30: 0x000c, 0x2b31: 0x000c, 0x2b32: 0x000c, 0x2b33: 0x000c, 0x2b34: 0x000c, // Block 0xad, offset 0x2b40 - 0x2b40: 0x000c, - 0x2b66: 0x000c, 0x2b67: 0x000c, 0x2b68: 0x000c, 0x2b69: 0x000c, - 0x2b6a: 0x000c, 0x2b6b: 0x000c, 0x2b6c: 0x000c, - 0x2b70: 0x000c, 0x2b71: 0x000c, 0x2b72: 0x000c, 0x2b73: 0x000c, 0x2b74: 0x000c, + 0x2b78: 0x000c, 0x2b79: 0x000c, 0x2b7a: 0x000c, 0x2b7b: 0x000c, + 0x2b7c: 0x000c, 0x2b7d: 0x000c, 0x2b7e: 0x000c, 0x2b7f: 0x000c, // Block 0xae, offset 0x2b80 - 0x2bb8: 0x000c, 0x2bb9: 0x000c, 0x2bba: 0x000c, 0x2bbb: 0x000c, - 0x2bbc: 0x000c, 0x2bbd: 0x000c, 0x2bbe: 0x000c, 0x2bbf: 0x000c, + 0x2b82: 0x000c, 0x2b83: 0x000c, 0x2b84: 0x000c, + 0x2b86: 0x000c, // Block 0xaf, offset 0x2bc0 - 0x2bc2: 0x000c, 0x2bc3: 0x000c, 0x2bc4: 0x000c, - 0x2bc6: 0x000c, + 0x2bf3: 0x000c, 0x2bf4: 0x000c, 0x2bf5: 0x000c, + 0x2bf6: 0x000c, 0x2bf7: 0x000c, 0x2bf8: 0x000c, 0x2bfa: 0x000c, + 0x2bff: 0x000c, // Block 0xb0, offset 0x2c00 - 0x2c33: 0x000c, 0x2c34: 0x000c, 0x2c35: 0x000c, - 0x2c36: 0x000c, 0x2c37: 0x000c, 0x2c38: 0x000c, 0x2c3a: 0x000c, - 0x2c3f: 0x000c, + 0x2c00: 0x000c, 0x2c02: 0x000c, 0x2c03: 0x000c, // Block 0xb1, offset 0x2c40 - 0x2c40: 0x000c, 0x2c42: 0x000c, 0x2c43: 0x000c, + 0x2c72: 0x000c, 0x2c73: 0x000c, 0x2c74: 0x000c, 0x2c75: 0x000c, + 0x2c7c: 0x000c, 0x2c7d: 0x000c, 0x2c7f: 0x000c, // Block 0xb2, offset 0x2c80 - 0x2cb2: 0x000c, 0x2cb3: 0x000c, 0x2cb4: 0x000c, 0x2cb5: 0x000c, - 0x2cbc: 0x000c, 0x2cbd: 0x000c, 0x2cbf: 0x000c, + 0x2c80: 0x000c, + 0x2c9c: 0x000c, 0x2c9d: 0x000c, // Block 0xb3, offset 0x2cc0 - 0x2cc0: 0x000c, - 0x2cdc: 0x000c, 0x2cdd: 0x000c, + 0x2cf3: 0x000c, 0x2cf4: 0x000c, 0x2cf5: 0x000c, + 0x2cf6: 0x000c, 0x2cf7: 0x000c, 0x2cf8: 0x000c, 0x2cf9: 0x000c, 0x2cfa: 0x000c, + 0x2cfd: 0x000c, 0x2cff: 0x000c, // Block 0xb4, offset 0x2d00 - 0x2d33: 0x000c, 0x2d34: 0x000c, 0x2d35: 0x000c, - 0x2d36: 0x000c, 0x2d37: 0x000c, 0x2d38: 0x000c, 0x2d39: 0x000c, 0x2d3a: 0x000c, - 0x2d3d: 0x000c, 0x2d3f: 0x000c, + 0x2d00: 0x000c, + 0x2d20: 0x000a, 0x2d21: 0x000a, 0x2d22: 0x000a, 0x2d23: 0x000a, + 0x2d24: 0x000a, 0x2d25: 0x000a, 0x2d26: 0x000a, 0x2d27: 0x000a, 0x2d28: 0x000a, 0x2d29: 0x000a, + 0x2d2a: 0x000a, 0x2d2b: 0x000a, 0x2d2c: 0x000a, // Block 0xb5, offset 0x2d40 - 0x2d40: 0x000c, - 0x2d60: 0x000a, 0x2d61: 0x000a, 0x2d62: 0x000a, 0x2d63: 0x000a, - 0x2d64: 0x000a, 0x2d65: 0x000a, 0x2d66: 0x000a, 0x2d67: 0x000a, 0x2d68: 0x000a, 0x2d69: 0x000a, - 0x2d6a: 0x000a, 0x2d6b: 0x000a, 0x2d6c: 0x000a, + 0x2d6b: 0x000c, 0x2d6d: 0x000c, + 0x2d70: 0x000c, 0x2d71: 0x000c, 0x2d72: 0x000c, 0x2d73: 0x000c, 0x2d74: 0x000c, 0x2d75: 0x000c, + 0x2d77: 0x000c, // Block 0xb6, offset 0x2d80 - 0x2dab: 0x000c, 0x2dad: 0x000c, - 0x2db0: 0x000c, 0x2db1: 0x000c, 0x2db2: 0x000c, 0x2db3: 0x000c, 0x2db4: 0x000c, 0x2db5: 0x000c, - 0x2db7: 0x000c, + 0x2d9d: 0x000c, + 0x2d9e: 0x000c, 0x2d9f: 0x000c, 0x2da2: 0x000c, 0x2da3: 0x000c, + 0x2da4: 0x000c, 0x2da5: 0x000c, 0x2da7: 0x000c, 0x2da8: 0x000c, 0x2da9: 0x000c, + 0x2daa: 0x000c, 0x2dab: 0x000c, // Block 0xb7, offset 0x2dc0 - 0x2ddd: 0x000c, - 0x2dde: 0x000c, 0x2ddf: 0x000c, 0x2de2: 0x000c, 0x2de3: 0x000c, - 0x2de4: 0x000c, 0x2de5: 0x000c, 0x2de7: 0x000c, 0x2de8: 0x000c, 0x2de9: 0x000c, - 0x2dea: 0x000c, 0x2deb: 0x000c, + 0x2dc1: 0x000c, 0x2dc2: 0x000c, 0x2dc3: 0x000c, 0x2dc4: 0x000c, 0x2dc5: 0x000c, + 0x2dc6: 0x000c, 0x2dc9: 0x000c, 0x2dca: 0x000c, + 0x2df3: 0x000c, 0x2df4: 0x000c, 0x2df5: 0x000c, + 0x2df6: 0x000c, 0x2df7: 0x000c, 0x2df8: 0x000c, 0x2dfb: 0x000c, + 0x2dfc: 0x000c, 0x2dfd: 0x000c, 0x2dfe: 0x000c, // Block 0xb8, offset 0x2e00 - 0x2e30: 0x000c, 0x2e31: 0x000c, 0x2e32: 0x000c, 0x2e33: 0x000c, 0x2e34: 0x000c, 0x2e35: 0x000c, - 0x2e36: 0x000c, 0x2e38: 0x000c, 0x2e39: 0x000c, 0x2e3a: 0x000c, 0x2e3b: 0x000c, - 0x2e3c: 0x000c, 0x2e3d: 0x000c, + 0x2e07: 0x000c, + 0x2e11: 0x000c, + 0x2e12: 0x000c, 0x2e13: 0x000c, 0x2e14: 0x000c, 0x2e15: 0x000c, 0x2e16: 0x000c, + 0x2e19: 0x000c, 0x2e1a: 0x000c, 0x2e1b: 0x000c, // Block 0xb9, offset 0x2e40 - 0x2e52: 0x000c, 0x2e53: 0x000c, 0x2e54: 0x000c, 0x2e55: 0x000c, 0x2e56: 0x000c, 0x2e57: 0x000c, - 0x2e58: 0x000c, 0x2e59: 0x000c, 0x2e5a: 0x000c, 0x2e5b: 0x000c, 0x2e5c: 0x000c, 0x2e5d: 0x000c, - 0x2e5e: 0x000c, 0x2e5f: 0x000c, 0x2e60: 0x000c, 0x2e61: 0x000c, 0x2e62: 0x000c, 0x2e63: 0x000c, - 0x2e64: 0x000c, 0x2e65: 0x000c, 0x2e66: 0x000c, 0x2e67: 0x000c, - 0x2e6a: 0x000c, 0x2e6b: 0x000c, 0x2e6c: 0x000c, 0x2e6d: 0x000c, 0x2e6e: 0x000c, 0x2e6f: 0x000c, - 0x2e70: 0x000c, 0x2e72: 0x000c, 0x2e73: 0x000c, 0x2e75: 0x000c, - 0x2e76: 0x000c, + 0x2e4a: 0x000c, 0x2e4b: 0x000c, + 0x2e4c: 0x000c, 0x2e4d: 0x000c, 0x2e4e: 0x000c, 0x2e4f: 0x000c, 0x2e50: 0x000c, 0x2e51: 0x000c, + 0x2e52: 0x000c, 0x2e53: 0x000c, 0x2e54: 0x000c, 0x2e55: 0x000c, 0x2e56: 0x000c, + 0x2e58: 0x000c, 0x2e59: 0x000c, // Block 0xba, offset 0x2e80 - 0x2eb0: 0x000c, 0x2eb1: 0x000c, 0x2eb2: 0x000c, 0x2eb3: 0x000c, 0x2eb4: 0x000c, + 0x2eb0: 0x000c, 0x2eb1: 0x000c, 0x2eb2: 0x000c, 0x2eb3: 0x000c, 0x2eb4: 0x000c, 0x2eb5: 0x000c, + 0x2eb6: 0x000c, 0x2eb8: 0x000c, 0x2eb9: 0x000c, 0x2eba: 0x000c, 0x2ebb: 0x000c, + 0x2ebc: 0x000c, 0x2ebd: 0x000c, // Block 0xbb, offset 0x2ec0 - 0x2ef0: 0x000c, 0x2ef1: 0x000c, 0x2ef2: 0x000c, 0x2ef3: 0x000c, 0x2ef4: 0x000c, 0x2ef5: 0x000c, + 0x2ed2: 0x000c, 0x2ed3: 0x000c, 0x2ed4: 0x000c, 0x2ed5: 0x000c, 0x2ed6: 0x000c, 0x2ed7: 0x000c, + 0x2ed8: 0x000c, 0x2ed9: 0x000c, 0x2eda: 0x000c, 0x2edb: 0x000c, 0x2edc: 0x000c, 0x2edd: 0x000c, + 0x2ede: 0x000c, 0x2edf: 0x000c, 0x2ee0: 0x000c, 0x2ee1: 0x000c, 0x2ee2: 0x000c, 0x2ee3: 0x000c, + 0x2ee4: 0x000c, 0x2ee5: 0x000c, 0x2ee6: 0x000c, 0x2ee7: 0x000c, + 0x2eea: 0x000c, 0x2eeb: 0x000c, 0x2eec: 0x000c, 0x2eed: 0x000c, 0x2eee: 0x000c, 0x2eef: 0x000c, + 0x2ef0: 0x000c, 0x2ef2: 0x000c, 0x2ef3: 0x000c, 0x2ef5: 0x000c, 0x2ef6: 0x000c, // Block 0xbc, offset 0x2f00 - 0x2f0f: 0x000c, 0x2f10: 0x000c, 0x2f11: 0x000c, - 0x2f12: 0x000c, + 0x2f31: 0x000c, 0x2f32: 0x000c, 0x2f33: 0x000c, 0x2f34: 0x000c, 0x2f35: 0x000c, + 0x2f36: 0x000c, 0x2f3a: 0x000c, + 0x2f3c: 0x000c, 0x2f3d: 0x000c, 0x2f3f: 0x000c, // Block 0xbd, offset 0x2f40 - 0x2f5d: 0x000c, - 0x2f5e: 0x000c, 0x2f60: 0x000b, 0x2f61: 0x000b, 0x2f62: 0x000b, 0x2f63: 0x000b, + 0x2f40: 0x000c, 0x2f41: 0x000c, 0x2f42: 0x000c, 0x2f43: 0x000c, 0x2f44: 0x000c, 0x2f45: 0x000c, + 0x2f47: 0x000c, // Block 0xbe, offset 0x2f80 - 0x2fa7: 0x000c, 0x2fa8: 0x000c, 0x2fa9: 0x000c, - 0x2fb3: 0x000b, 0x2fb4: 0x000b, 0x2fb5: 0x000b, - 0x2fb6: 0x000b, 0x2fb7: 0x000b, 0x2fb8: 0x000b, 0x2fb9: 0x000b, 0x2fba: 0x000b, 0x2fbb: 0x000c, - 0x2fbc: 0x000c, 0x2fbd: 0x000c, 0x2fbe: 0x000c, 0x2fbf: 0x000c, + 0x2fb0: 0x000c, 0x2fb1: 0x000c, 0x2fb2: 0x000c, 0x2fb3: 0x000c, 0x2fb4: 0x000c, // Block 0xbf, offset 0x2fc0 - 0x2fc0: 0x000c, 0x2fc1: 0x000c, 0x2fc2: 0x000c, 0x2fc5: 0x000c, - 0x2fc6: 0x000c, 0x2fc7: 0x000c, 0x2fc8: 0x000c, 0x2fc9: 0x000c, 0x2fca: 0x000c, 0x2fcb: 0x000c, - 0x2fea: 0x000c, 0x2feb: 0x000c, 0x2fec: 0x000c, 0x2fed: 0x000c, + 0x2ff0: 0x000c, 0x2ff1: 0x000c, 0x2ff2: 0x000c, 0x2ff3: 0x000c, 0x2ff4: 0x000c, 0x2ff5: 0x000c, + 0x2ff6: 0x000c, // Block 0xc0, offset 0x3000 - 0x3000: 0x000a, 0x3001: 0x000a, 0x3002: 0x000c, 0x3003: 0x000c, 0x3004: 0x000c, 0x3005: 0x000a, + 0x300f: 0x000c, 0x3010: 0x000c, 0x3011: 0x000c, + 0x3012: 0x000c, // Block 0xc1, offset 0x3040 - 0x3040: 0x000a, 0x3041: 0x000a, 0x3042: 0x000a, 0x3043: 0x000a, 0x3044: 0x000a, 0x3045: 0x000a, - 0x3046: 0x000a, 0x3047: 0x000a, 0x3048: 0x000a, 0x3049: 0x000a, 0x304a: 0x000a, 0x304b: 0x000a, - 0x304c: 0x000a, 0x304d: 0x000a, 0x304e: 0x000a, 0x304f: 0x000a, 0x3050: 0x000a, 0x3051: 0x000a, - 0x3052: 0x000a, 0x3053: 0x000a, 0x3054: 0x000a, 0x3055: 0x000a, 0x3056: 0x000a, + 0x305d: 0x000c, + 0x305e: 0x000c, 0x3060: 0x000b, 0x3061: 0x000b, 0x3062: 0x000b, 0x3063: 0x000b, // Block 0xc2, offset 0x3080 - 0x309b: 0x000a, + 0x30a7: 0x000c, 0x30a8: 0x000c, 0x30a9: 0x000c, + 0x30b3: 0x000b, 0x30b4: 0x000b, 0x30b5: 0x000b, + 0x30b6: 0x000b, 0x30b7: 0x000b, 0x30b8: 0x000b, 0x30b9: 0x000b, 0x30ba: 0x000b, 0x30bb: 0x000c, + 0x30bc: 0x000c, 0x30bd: 0x000c, 0x30be: 0x000c, 0x30bf: 0x000c, // Block 0xc3, offset 0x30c0 - 0x30d5: 0x000a, + 0x30c0: 0x000c, 0x30c1: 0x000c, 0x30c2: 0x000c, 0x30c5: 0x000c, + 0x30c6: 0x000c, 0x30c7: 0x000c, 0x30c8: 0x000c, 0x30c9: 0x000c, 0x30ca: 0x000c, 0x30cb: 0x000c, + 0x30ea: 0x000c, 0x30eb: 0x000c, 0x30ec: 0x000c, 0x30ed: 0x000c, // Block 0xc4, offset 0x3100 - 0x310f: 0x000a, + 0x3100: 0x000a, 0x3101: 0x000a, 0x3102: 0x000c, 0x3103: 0x000c, 0x3104: 0x000c, 0x3105: 0x000a, // Block 0xc5, offset 0x3140 - 0x3149: 0x000a, + 0x3140: 0x000a, 0x3141: 0x000a, 0x3142: 0x000a, 0x3143: 0x000a, 0x3144: 0x000a, 0x3145: 0x000a, + 0x3146: 0x000a, 0x3147: 0x000a, 0x3148: 0x000a, 0x3149: 0x000a, 0x314a: 0x000a, 0x314b: 0x000a, + 0x314c: 0x000a, 0x314d: 0x000a, 0x314e: 0x000a, 0x314f: 0x000a, 0x3150: 0x000a, 0x3151: 0x000a, + 0x3152: 0x000a, 0x3153: 0x000a, 0x3154: 0x000a, 0x3155: 0x000a, 0x3156: 0x000a, // Block 0xc6, offset 0x3180 - 0x3183: 0x000a, - 0x318e: 0x0002, 0x318f: 0x0002, 0x3190: 0x0002, 0x3191: 0x0002, - 0x3192: 0x0002, 0x3193: 0x0002, 0x3194: 0x0002, 0x3195: 0x0002, 0x3196: 0x0002, 0x3197: 0x0002, - 0x3198: 0x0002, 0x3199: 0x0002, 0x319a: 0x0002, 0x319b: 0x0002, 0x319c: 0x0002, 0x319d: 0x0002, - 0x319e: 0x0002, 0x319f: 0x0002, 0x31a0: 0x0002, 0x31a1: 0x0002, 0x31a2: 0x0002, 0x31a3: 0x0002, - 0x31a4: 0x0002, 0x31a5: 0x0002, 0x31a6: 0x0002, 0x31a7: 0x0002, 0x31a8: 0x0002, 0x31a9: 0x0002, - 0x31aa: 0x0002, 0x31ab: 0x0002, 0x31ac: 0x0002, 0x31ad: 0x0002, 0x31ae: 0x0002, 0x31af: 0x0002, - 0x31b0: 0x0002, 0x31b1: 0x0002, 0x31b2: 0x0002, 0x31b3: 0x0002, 0x31b4: 0x0002, 0x31b5: 0x0002, - 0x31b6: 0x0002, 0x31b7: 0x0002, 0x31b8: 0x0002, 0x31b9: 0x0002, 0x31ba: 0x0002, 0x31bb: 0x0002, - 0x31bc: 0x0002, 0x31bd: 0x0002, 0x31be: 0x0002, 0x31bf: 0x0002, + 0x319b: 0x000a, // Block 0xc7, offset 0x31c0 - 0x31c0: 0x000c, 0x31c1: 0x000c, 0x31c2: 0x000c, 0x31c3: 0x000c, 0x31c4: 0x000c, 0x31c5: 0x000c, - 0x31c6: 0x000c, 0x31c7: 0x000c, 0x31c8: 0x000c, 0x31c9: 0x000c, 0x31ca: 0x000c, 0x31cb: 0x000c, - 0x31cc: 0x000c, 0x31cd: 0x000c, 0x31ce: 0x000c, 0x31cf: 0x000c, 0x31d0: 0x000c, 0x31d1: 0x000c, - 0x31d2: 0x000c, 0x31d3: 0x000c, 0x31d4: 0x000c, 0x31d5: 0x000c, 0x31d6: 0x000c, 0x31d7: 0x000c, - 0x31d8: 0x000c, 0x31d9: 0x000c, 0x31da: 0x000c, 0x31db: 0x000c, 0x31dc: 0x000c, 0x31dd: 0x000c, - 0x31de: 0x000c, 0x31df: 0x000c, 0x31e0: 0x000c, 0x31e1: 0x000c, 0x31e2: 0x000c, 0x31e3: 0x000c, - 0x31e4: 0x000c, 0x31e5: 0x000c, 0x31e6: 0x000c, 0x31e7: 0x000c, 0x31e8: 0x000c, 0x31e9: 0x000c, - 0x31ea: 0x000c, 0x31eb: 0x000c, 0x31ec: 0x000c, 0x31ed: 0x000c, 0x31ee: 0x000c, 0x31ef: 0x000c, - 0x31f0: 0x000c, 0x31f1: 0x000c, 0x31f2: 0x000c, 0x31f3: 0x000c, 0x31f4: 0x000c, 0x31f5: 0x000c, - 0x31f6: 0x000c, 0x31fb: 0x000c, - 0x31fc: 0x000c, 0x31fd: 0x000c, 0x31fe: 0x000c, 0x31ff: 0x000c, + 0x31d5: 0x000a, // Block 0xc8, offset 0x3200 - 0x3200: 0x000c, 0x3201: 0x000c, 0x3202: 0x000c, 0x3203: 0x000c, 0x3204: 0x000c, 0x3205: 0x000c, - 0x3206: 0x000c, 0x3207: 0x000c, 0x3208: 0x000c, 0x3209: 0x000c, 0x320a: 0x000c, 0x320b: 0x000c, - 0x320c: 0x000c, 0x320d: 0x000c, 0x320e: 0x000c, 0x320f: 0x000c, 0x3210: 0x000c, 0x3211: 0x000c, - 0x3212: 0x000c, 0x3213: 0x000c, 0x3214: 0x000c, 0x3215: 0x000c, 0x3216: 0x000c, 0x3217: 0x000c, - 0x3218: 0x000c, 0x3219: 0x000c, 0x321a: 0x000c, 0x321b: 0x000c, 0x321c: 0x000c, 0x321d: 0x000c, - 0x321e: 0x000c, 0x321f: 0x000c, 0x3220: 0x000c, 0x3221: 0x000c, 0x3222: 0x000c, 0x3223: 0x000c, - 0x3224: 0x000c, 0x3225: 0x000c, 0x3226: 0x000c, 0x3227: 0x000c, 0x3228: 0x000c, 0x3229: 0x000c, - 0x322a: 0x000c, 0x322b: 0x000c, 0x322c: 0x000c, - 0x3235: 0x000c, + 0x320f: 0x000a, // Block 0xc9, offset 0x3240 - 0x3244: 0x000c, - 0x325b: 0x000c, 0x325c: 0x000c, 0x325d: 0x000c, - 0x325e: 0x000c, 0x325f: 0x000c, 0x3261: 0x000c, 0x3262: 0x000c, 0x3263: 0x000c, - 0x3264: 0x000c, 0x3265: 0x000c, 0x3266: 0x000c, 0x3267: 0x000c, 0x3268: 0x000c, 0x3269: 0x000c, - 0x326a: 0x000c, 0x326b: 0x000c, 0x326c: 0x000c, 0x326d: 0x000c, 0x326e: 0x000c, 0x326f: 0x000c, + 0x3249: 0x000a, // Block 0xca, offset 0x3280 - 0x3280: 0x000c, 0x3281: 0x000c, 0x3282: 0x000c, 0x3283: 0x000c, 0x3284: 0x000c, 0x3285: 0x000c, - 0x3286: 0x000c, 0x3288: 0x000c, 0x3289: 0x000c, 0x328a: 0x000c, 0x328b: 0x000c, - 0x328c: 0x000c, 0x328d: 0x000c, 0x328e: 0x000c, 0x328f: 0x000c, 0x3290: 0x000c, 0x3291: 0x000c, - 0x3292: 0x000c, 0x3293: 0x000c, 0x3294: 0x000c, 0x3295: 0x000c, 0x3296: 0x000c, 0x3297: 0x000c, - 0x3298: 0x000c, 0x329b: 0x000c, 0x329c: 0x000c, 0x329d: 0x000c, - 0x329e: 0x000c, 0x329f: 0x000c, 0x32a0: 0x000c, 0x32a1: 0x000c, 0x32a3: 0x000c, - 0x32a4: 0x000c, 0x32a6: 0x000c, 0x32a7: 0x000c, 0x32a8: 0x000c, 0x32a9: 0x000c, - 0x32aa: 0x000c, + 0x3283: 0x000a, + 0x328e: 0x0002, 0x328f: 0x0002, 0x3290: 0x0002, 0x3291: 0x0002, + 0x3292: 0x0002, 0x3293: 0x0002, 0x3294: 0x0002, 0x3295: 0x0002, 0x3296: 0x0002, 0x3297: 0x0002, + 0x3298: 0x0002, 0x3299: 0x0002, 0x329a: 0x0002, 0x329b: 0x0002, 0x329c: 0x0002, 0x329d: 0x0002, + 0x329e: 0x0002, 0x329f: 0x0002, 0x32a0: 0x0002, 0x32a1: 0x0002, 0x32a2: 0x0002, 0x32a3: 0x0002, + 0x32a4: 0x0002, 0x32a5: 0x0002, 0x32a6: 0x0002, 0x32a7: 0x0002, 0x32a8: 0x0002, 0x32a9: 0x0002, + 0x32aa: 0x0002, 0x32ab: 0x0002, 0x32ac: 0x0002, 0x32ad: 0x0002, 0x32ae: 0x0002, 0x32af: 0x0002, + 0x32b0: 0x0002, 0x32b1: 0x0002, 0x32b2: 0x0002, 0x32b3: 0x0002, 0x32b4: 0x0002, 0x32b5: 0x0002, + 0x32b6: 0x0002, 0x32b7: 0x0002, 0x32b8: 0x0002, 0x32b9: 0x0002, 0x32ba: 0x0002, 0x32bb: 0x0002, + 0x32bc: 0x0002, 0x32bd: 0x0002, 0x32be: 0x0002, 0x32bf: 0x0002, // Block 0xcb, offset 0x32c0 - 0x32c0: 0x0001, 0x32c1: 0x0001, 0x32c2: 0x0001, 0x32c3: 0x0001, 0x32c4: 0x0001, 0x32c5: 0x0001, - 0x32c6: 0x0001, 0x32c7: 0x0001, 0x32c8: 0x0001, 0x32c9: 0x0001, 0x32ca: 0x0001, 0x32cb: 0x0001, - 0x32cc: 0x0001, 0x32cd: 0x0001, 0x32ce: 0x0001, 0x32cf: 0x0001, 0x32d0: 0x000c, 0x32d1: 0x000c, - 0x32d2: 0x000c, 0x32d3: 0x000c, 0x32d4: 0x000c, 0x32d5: 0x000c, 0x32d6: 0x000c, 0x32d7: 0x0001, - 0x32d8: 0x0001, 0x32d9: 0x0001, 0x32da: 0x0001, 0x32db: 0x0001, 0x32dc: 0x0001, 0x32dd: 0x0001, - 0x32de: 0x0001, 0x32df: 0x0001, 0x32e0: 0x0001, 0x32e1: 0x0001, 0x32e2: 0x0001, 0x32e3: 0x0001, - 0x32e4: 0x0001, 0x32e5: 0x0001, 0x32e6: 0x0001, 0x32e7: 0x0001, 0x32e8: 0x0001, 0x32e9: 0x0001, - 0x32ea: 0x0001, 0x32eb: 0x0001, 0x32ec: 0x0001, 0x32ed: 0x0001, 0x32ee: 0x0001, 0x32ef: 0x0001, - 0x32f0: 0x0001, 0x32f1: 0x0001, 0x32f2: 0x0001, 0x32f3: 0x0001, 0x32f4: 0x0001, 0x32f5: 0x0001, - 0x32f6: 0x0001, 0x32f7: 0x0001, 0x32f8: 0x0001, 0x32f9: 0x0001, 0x32fa: 0x0001, 0x32fb: 0x0001, - 0x32fc: 0x0001, 0x32fd: 0x0001, 0x32fe: 0x0001, 0x32ff: 0x0001, + 0x32c0: 0x000c, 0x32c1: 0x000c, 0x32c2: 0x000c, 0x32c3: 0x000c, 0x32c4: 0x000c, 0x32c5: 0x000c, + 0x32c6: 0x000c, 0x32c7: 0x000c, 0x32c8: 0x000c, 0x32c9: 0x000c, 0x32ca: 0x000c, 0x32cb: 0x000c, + 0x32cc: 0x000c, 0x32cd: 0x000c, 0x32ce: 0x000c, 0x32cf: 0x000c, 0x32d0: 0x000c, 0x32d1: 0x000c, + 0x32d2: 0x000c, 0x32d3: 0x000c, 0x32d4: 0x000c, 0x32d5: 0x000c, 0x32d6: 0x000c, 0x32d7: 0x000c, + 0x32d8: 0x000c, 0x32d9: 0x000c, 0x32da: 0x000c, 0x32db: 0x000c, 0x32dc: 0x000c, 0x32dd: 0x000c, + 0x32de: 0x000c, 0x32df: 0x000c, 0x32e0: 0x000c, 0x32e1: 0x000c, 0x32e2: 0x000c, 0x32e3: 0x000c, + 0x32e4: 0x000c, 0x32e5: 0x000c, 0x32e6: 0x000c, 0x32e7: 0x000c, 0x32e8: 0x000c, 0x32e9: 0x000c, + 0x32ea: 0x000c, 0x32eb: 0x000c, 0x32ec: 0x000c, 0x32ed: 0x000c, 0x32ee: 0x000c, 0x32ef: 0x000c, + 0x32f0: 0x000c, 0x32f1: 0x000c, 0x32f2: 0x000c, 0x32f3: 0x000c, 0x32f4: 0x000c, 0x32f5: 0x000c, + 0x32f6: 0x000c, 0x32fb: 0x000c, + 0x32fc: 0x000c, 0x32fd: 0x000c, 0x32fe: 0x000c, 0x32ff: 0x000c, // Block 0xcc, offset 0x3300 - 0x3300: 0x0001, 0x3301: 0x0001, 0x3302: 0x0001, 0x3303: 0x0001, 0x3304: 0x000c, 0x3305: 0x000c, - 0x3306: 0x000c, 0x3307: 0x000c, 0x3308: 0x000c, 0x3309: 0x000c, 0x330a: 0x000c, 0x330b: 0x0001, - 0x330c: 0x0001, 0x330d: 0x0001, 0x330e: 0x0001, 0x330f: 0x0001, 0x3310: 0x0001, 0x3311: 0x0001, - 0x3312: 0x0001, 0x3313: 0x0001, 0x3314: 0x0001, 0x3315: 0x0001, 0x3316: 0x0001, 0x3317: 0x0001, - 0x3318: 0x0001, 0x3319: 0x0001, 0x331a: 0x0001, 0x331b: 0x0001, 0x331c: 0x0001, 0x331d: 0x0001, - 0x331e: 0x0001, 0x331f: 0x0001, 0x3320: 0x0001, 0x3321: 0x0001, 0x3322: 0x0001, 0x3323: 0x0001, - 0x3324: 0x0001, 0x3325: 0x0001, 0x3326: 0x0001, 0x3327: 0x0001, 0x3328: 0x0001, 0x3329: 0x0001, - 0x332a: 0x0001, 0x332b: 0x0001, 0x332c: 0x0001, 0x332d: 0x0001, 0x332e: 0x0001, 0x332f: 0x0001, - 0x3330: 0x0001, 0x3331: 0x0001, 0x3332: 0x0001, 0x3333: 0x0001, 0x3334: 0x0001, 0x3335: 0x0001, - 0x3336: 0x0001, 0x3337: 0x0001, 0x3338: 0x0001, 0x3339: 0x0001, 0x333a: 0x0001, 0x333b: 0x0001, - 0x333c: 0x0001, 0x333d: 0x0001, 0x333e: 0x0001, 0x333f: 0x0001, + 0x3300: 0x000c, 0x3301: 0x000c, 0x3302: 0x000c, 0x3303: 0x000c, 0x3304: 0x000c, 0x3305: 0x000c, + 0x3306: 0x000c, 0x3307: 0x000c, 0x3308: 0x000c, 0x3309: 0x000c, 0x330a: 0x000c, 0x330b: 0x000c, + 0x330c: 0x000c, 0x330d: 0x000c, 0x330e: 0x000c, 0x330f: 0x000c, 0x3310: 0x000c, 0x3311: 0x000c, + 0x3312: 0x000c, 0x3313: 0x000c, 0x3314: 0x000c, 0x3315: 0x000c, 0x3316: 0x000c, 0x3317: 0x000c, + 0x3318: 0x000c, 0x3319: 0x000c, 0x331a: 0x000c, 0x331b: 0x000c, 0x331c: 0x000c, 0x331d: 0x000c, + 0x331e: 0x000c, 0x331f: 0x000c, 0x3320: 0x000c, 0x3321: 0x000c, 0x3322: 0x000c, 0x3323: 0x000c, + 0x3324: 0x000c, 0x3325: 0x000c, 0x3326: 0x000c, 0x3327: 0x000c, 0x3328: 0x000c, 0x3329: 0x000c, + 0x332a: 0x000c, 0x332b: 0x000c, 0x332c: 0x000c, + 0x3335: 0x000c, // Block 0xcd, offset 0x3340 - 0x3340: 0x000d, 0x3341: 0x000d, 0x3342: 0x000d, 0x3343: 0x000d, 0x3344: 0x000d, 0x3345: 0x000d, - 0x3346: 0x000d, 0x3347: 0x000d, 0x3348: 0x000d, 0x3349: 0x000d, 0x334a: 0x000d, 0x334b: 0x000d, - 0x334c: 0x000d, 0x334d: 0x000d, 0x334e: 0x000d, 0x334f: 0x000d, 0x3350: 0x000d, 0x3351: 0x000d, - 0x3352: 0x000d, 0x3353: 0x000d, 0x3354: 0x000d, 0x3355: 0x000d, 0x3356: 0x000d, 0x3357: 0x000d, - 0x3358: 0x000d, 0x3359: 0x000d, 0x335a: 0x000d, 0x335b: 0x000d, 0x335c: 0x000d, 0x335d: 0x000d, - 0x335e: 0x000d, 0x335f: 0x000d, 0x3360: 0x000d, 0x3361: 0x000d, 0x3362: 0x000d, 0x3363: 0x000d, - 0x3364: 0x000d, 0x3365: 0x000d, 0x3366: 0x000d, 0x3367: 0x000d, 0x3368: 0x000d, 0x3369: 0x000d, - 0x336a: 0x000d, 0x336b: 0x000d, 0x336c: 0x000d, 0x336d: 0x000d, 0x336e: 0x000d, 0x336f: 0x000d, - 0x3370: 0x000a, 0x3371: 0x000a, 0x3372: 0x000d, 0x3373: 0x000d, 0x3374: 0x000d, 0x3375: 0x000d, - 0x3376: 0x000d, 0x3377: 0x000d, 0x3378: 0x000d, 0x3379: 0x000d, 0x337a: 0x000d, 0x337b: 0x000d, - 0x337c: 0x000d, 0x337d: 0x000d, 0x337e: 0x000d, 0x337f: 0x000d, + 0x3344: 0x000c, + 0x335b: 0x000c, 0x335c: 0x000c, 0x335d: 0x000c, + 0x335e: 0x000c, 0x335f: 0x000c, 0x3361: 0x000c, 0x3362: 0x000c, 0x3363: 0x000c, + 0x3364: 0x000c, 0x3365: 0x000c, 0x3366: 0x000c, 0x3367: 0x000c, 0x3368: 0x000c, 0x3369: 0x000c, + 0x336a: 0x000c, 0x336b: 0x000c, 0x336c: 0x000c, 0x336d: 0x000c, 0x336e: 0x000c, 0x336f: 0x000c, // Block 0xce, offset 0x3380 - 0x3380: 0x000a, 0x3381: 0x000a, 0x3382: 0x000a, 0x3383: 0x000a, 0x3384: 0x000a, 0x3385: 0x000a, - 0x3386: 0x000a, 0x3387: 0x000a, 0x3388: 0x000a, 0x3389: 0x000a, 0x338a: 0x000a, 0x338b: 0x000a, - 0x338c: 0x000a, 0x338d: 0x000a, 0x338e: 0x000a, 0x338f: 0x000a, 0x3390: 0x000a, 0x3391: 0x000a, - 0x3392: 0x000a, 0x3393: 0x000a, 0x3394: 0x000a, 0x3395: 0x000a, 0x3396: 0x000a, 0x3397: 0x000a, - 0x3398: 0x000a, 0x3399: 0x000a, 0x339a: 0x000a, 0x339b: 0x000a, 0x339c: 0x000a, 0x339d: 0x000a, - 0x339e: 0x000a, 0x339f: 0x000a, 0x33a0: 0x000a, 0x33a1: 0x000a, 0x33a2: 0x000a, 0x33a3: 0x000a, - 0x33a4: 0x000a, 0x33a5: 0x000a, 0x33a6: 0x000a, 0x33a7: 0x000a, 0x33a8: 0x000a, 0x33a9: 0x000a, - 0x33aa: 0x000a, 0x33ab: 0x000a, - 0x33b0: 0x000a, 0x33b1: 0x000a, 0x33b2: 0x000a, 0x33b3: 0x000a, 0x33b4: 0x000a, 0x33b5: 0x000a, - 0x33b6: 0x000a, 0x33b7: 0x000a, 0x33b8: 0x000a, 0x33b9: 0x000a, 0x33ba: 0x000a, 0x33bb: 0x000a, - 0x33bc: 0x000a, 0x33bd: 0x000a, 0x33be: 0x000a, 0x33bf: 0x000a, + 0x3380: 0x000c, 0x3381: 0x000c, 0x3382: 0x000c, 0x3383: 0x000c, 0x3384: 0x000c, 0x3385: 0x000c, + 0x3386: 0x000c, 0x3388: 0x000c, 0x3389: 0x000c, 0x338a: 0x000c, 0x338b: 0x000c, + 0x338c: 0x000c, 0x338d: 0x000c, 0x338e: 0x000c, 0x338f: 0x000c, 0x3390: 0x000c, 0x3391: 0x000c, + 0x3392: 0x000c, 0x3393: 0x000c, 0x3394: 0x000c, 0x3395: 0x000c, 0x3396: 0x000c, 0x3397: 0x000c, + 0x3398: 0x000c, 0x339b: 0x000c, 0x339c: 0x000c, 0x339d: 0x000c, + 0x339e: 0x000c, 0x339f: 0x000c, 0x33a0: 0x000c, 0x33a1: 0x000c, 0x33a3: 0x000c, + 0x33a4: 0x000c, 0x33a6: 0x000c, 0x33a7: 0x000c, 0x33a8: 0x000c, 0x33a9: 0x000c, + 0x33aa: 0x000c, // Block 0xcf, offset 0x33c0 - 0x33c0: 0x000a, 0x33c1: 0x000a, 0x33c2: 0x000a, 0x33c3: 0x000a, 0x33c4: 0x000a, 0x33c5: 0x000a, - 0x33c6: 0x000a, 0x33c7: 0x000a, 0x33c8: 0x000a, 0x33c9: 0x000a, 0x33ca: 0x000a, 0x33cb: 0x000a, - 0x33cc: 0x000a, 0x33cd: 0x000a, 0x33ce: 0x000a, 0x33cf: 0x000a, 0x33d0: 0x000a, 0x33d1: 0x000a, - 0x33d2: 0x000a, 0x33d3: 0x000a, - 0x33e0: 0x000a, 0x33e1: 0x000a, 0x33e2: 0x000a, 0x33e3: 0x000a, - 0x33e4: 0x000a, 0x33e5: 0x000a, 0x33e6: 0x000a, 0x33e7: 0x000a, 0x33e8: 0x000a, 0x33e9: 0x000a, - 0x33ea: 0x000a, 0x33eb: 0x000a, 0x33ec: 0x000a, 0x33ed: 0x000a, 0x33ee: 0x000a, - 0x33f1: 0x000a, 0x33f2: 0x000a, 0x33f3: 0x000a, 0x33f4: 0x000a, 0x33f5: 0x000a, - 0x33f6: 0x000a, 0x33f7: 0x000a, 0x33f8: 0x000a, 0x33f9: 0x000a, 0x33fa: 0x000a, 0x33fb: 0x000a, - 0x33fc: 0x000a, 0x33fd: 0x000a, 0x33fe: 0x000a, 0x33ff: 0x000a, + 0x33c0: 0x0001, 0x33c1: 0x0001, 0x33c2: 0x0001, 0x33c3: 0x0001, 0x33c4: 0x0001, 0x33c5: 0x0001, + 0x33c6: 0x0001, 0x33c7: 0x0001, 0x33c8: 0x0001, 0x33c9: 0x0001, 0x33ca: 0x0001, 0x33cb: 0x0001, + 0x33cc: 0x0001, 0x33cd: 0x0001, 0x33ce: 0x0001, 0x33cf: 0x0001, 0x33d0: 0x000c, 0x33d1: 0x000c, + 0x33d2: 0x000c, 0x33d3: 0x000c, 0x33d4: 0x000c, 0x33d5: 0x000c, 0x33d6: 0x000c, 0x33d7: 0x0001, + 0x33d8: 0x0001, 0x33d9: 0x0001, 0x33da: 0x0001, 0x33db: 0x0001, 0x33dc: 0x0001, 0x33dd: 0x0001, + 0x33de: 0x0001, 0x33df: 0x0001, 0x33e0: 0x0001, 0x33e1: 0x0001, 0x33e2: 0x0001, 0x33e3: 0x0001, + 0x33e4: 0x0001, 0x33e5: 0x0001, 0x33e6: 0x0001, 0x33e7: 0x0001, 0x33e8: 0x0001, 0x33e9: 0x0001, + 0x33ea: 0x0001, 0x33eb: 0x0001, 0x33ec: 0x0001, 0x33ed: 0x0001, 0x33ee: 0x0001, 0x33ef: 0x0001, + 0x33f0: 0x0001, 0x33f1: 0x0001, 0x33f2: 0x0001, 0x33f3: 0x0001, 0x33f4: 0x0001, 0x33f5: 0x0001, + 0x33f6: 0x0001, 0x33f7: 0x0001, 0x33f8: 0x0001, 0x33f9: 0x0001, 0x33fa: 0x0001, 0x33fb: 0x0001, + 0x33fc: 0x0001, 0x33fd: 0x0001, 0x33fe: 0x0001, 0x33ff: 0x0001, // Block 0xd0, offset 0x3400 - 0x3401: 0x000a, 0x3402: 0x000a, 0x3403: 0x000a, 0x3404: 0x000a, 0x3405: 0x000a, - 0x3406: 0x000a, 0x3407: 0x000a, 0x3408: 0x000a, 0x3409: 0x000a, 0x340a: 0x000a, 0x340b: 0x000a, - 0x340c: 0x000a, 0x340d: 0x000a, 0x340e: 0x000a, 0x340f: 0x000a, 0x3411: 0x000a, - 0x3412: 0x000a, 0x3413: 0x000a, 0x3414: 0x000a, 0x3415: 0x000a, 0x3416: 0x000a, 0x3417: 0x000a, - 0x3418: 0x000a, 0x3419: 0x000a, 0x341a: 0x000a, 0x341b: 0x000a, 0x341c: 0x000a, 0x341d: 0x000a, - 0x341e: 0x000a, 0x341f: 0x000a, 0x3420: 0x000a, 0x3421: 0x000a, 0x3422: 0x000a, 0x3423: 0x000a, - 0x3424: 0x000a, 0x3425: 0x000a, 0x3426: 0x000a, 0x3427: 0x000a, 0x3428: 0x000a, 0x3429: 0x000a, - 0x342a: 0x000a, 0x342b: 0x000a, 0x342c: 0x000a, 0x342d: 0x000a, 0x342e: 0x000a, 0x342f: 0x000a, - 0x3430: 0x000a, 0x3431: 0x000a, 0x3432: 0x000a, 0x3433: 0x000a, 0x3434: 0x000a, 0x3435: 0x000a, + 0x3400: 0x0001, 0x3401: 0x0001, 0x3402: 0x0001, 0x3403: 0x0001, 0x3404: 0x000c, 0x3405: 0x000c, + 0x3406: 0x000c, 0x3407: 0x000c, 0x3408: 0x000c, 0x3409: 0x000c, 0x340a: 0x000c, 0x340b: 0x0001, + 0x340c: 0x0001, 0x340d: 0x0001, 0x340e: 0x0001, 0x340f: 0x0001, 0x3410: 0x0001, 0x3411: 0x0001, + 0x3412: 0x0001, 0x3413: 0x0001, 0x3414: 0x0001, 0x3415: 0x0001, 0x3416: 0x0001, 0x3417: 0x0001, + 0x3418: 0x0001, 0x3419: 0x0001, 0x341a: 0x0001, 0x341b: 0x0001, 0x341c: 0x0001, 0x341d: 0x0001, + 0x341e: 0x0001, 0x341f: 0x0001, 0x3420: 0x0001, 0x3421: 0x0001, 0x3422: 0x0001, 0x3423: 0x0001, + 0x3424: 0x0001, 0x3425: 0x0001, 0x3426: 0x0001, 0x3427: 0x0001, 0x3428: 0x0001, 0x3429: 0x0001, + 0x342a: 0x0001, 0x342b: 0x0001, 0x342c: 0x0001, 0x342d: 0x0001, 0x342e: 0x0001, 0x342f: 0x0001, + 0x3430: 0x0001, 0x3431: 0x0001, 0x3432: 0x0001, 0x3433: 0x0001, 0x3434: 0x0001, 0x3435: 0x0001, + 0x3436: 0x0001, 0x3437: 0x0001, 0x3438: 0x0001, 0x3439: 0x0001, 0x343a: 0x0001, 0x343b: 0x0001, + 0x343c: 0x0001, 0x343d: 0x0001, 0x343e: 0x0001, 0x343f: 0x0001, // Block 0xd1, offset 0x3440 - 0x3440: 0x0002, 0x3441: 0x0002, 0x3442: 0x0002, 0x3443: 0x0002, 0x3444: 0x0002, 0x3445: 0x0002, - 0x3446: 0x0002, 0x3447: 0x0002, 0x3448: 0x0002, 0x3449: 0x0002, 0x344a: 0x0002, 0x344b: 0x000a, - 0x344c: 0x000a, + 0x3440: 0x000d, 0x3441: 0x000d, 0x3442: 0x000d, 0x3443: 0x000d, 0x3444: 0x000d, 0x3445: 0x000d, + 0x3446: 0x000d, 0x3447: 0x000d, 0x3448: 0x000d, 0x3449: 0x000d, 0x344a: 0x000d, 0x344b: 0x000d, + 0x344c: 0x000d, 0x344d: 0x000d, 0x344e: 0x000d, 0x344f: 0x000d, 0x3450: 0x000d, 0x3451: 0x000d, + 0x3452: 0x000d, 0x3453: 0x000d, 0x3454: 0x000d, 0x3455: 0x000d, 0x3456: 0x000d, 0x3457: 0x000d, + 0x3458: 0x000d, 0x3459: 0x000d, 0x345a: 0x000d, 0x345b: 0x000d, 0x345c: 0x000d, 0x345d: 0x000d, + 0x345e: 0x000d, 0x345f: 0x000d, 0x3460: 0x000d, 0x3461: 0x000d, 0x3462: 0x000d, 0x3463: 0x000d, + 0x3464: 0x000d, 0x3465: 0x000d, 0x3466: 0x000d, 0x3467: 0x000d, 0x3468: 0x000d, 0x3469: 0x000d, + 0x346a: 0x000d, 0x346b: 0x000d, 0x346c: 0x000d, 0x346d: 0x000d, 0x346e: 0x000d, 0x346f: 0x000d, + 0x3470: 0x000a, 0x3471: 0x000a, 0x3472: 0x000d, 0x3473: 0x000d, 0x3474: 0x000d, 0x3475: 0x000d, + 0x3476: 0x000d, 0x3477: 0x000d, 0x3478: 0x000d, 0x3479: 0x000d, 0x347a: 0x000d, 0x347b: 0x000d, + 0x347c: 0x000d, 0x347d: 0x000d, 0x347e: 0x000d, 0x347f: 0x000d, // Block 0xd2, offset 0x3480 + 0x3480: 0x000a, 0x3481: 0x000a, 0x3482: 0x000a, 0x3483: 0x000a, 0x3484: 0x000a, 0x3485: 0x000a, + 0x3486: 0x000a, 0x3487: 0x000a, 0x3488: 0x000a, 0x3489: 0x000a, 0x348a: 0x000a, 0x348b: 0x000a, + 0x348c: 0x000a, 0x348d: 0x000a, 0x348e: 0x000a, 0x348f: 0x000a, 0x3490: 0x000a, 0x3491: 0x000a, + 0x3492: 0x000a, 0x3493: 0x000a, 0x3494: 0x000a, 0x3495: 0x000a, 0x3496: 0x000a, 0x3497: 0x000a, + 0x3498: 0x000a, 0x3499: 0x000a, 0x349a: 0x000a, 0x349b: 0x000a, 0x349c: 0x000a, 0x349d: 0x000a, + 0x349e: 0x000a, 0x349f: 0x000a, 0x34a0: 0x000a, 0x34a1: 0x000a, 0x34a2: 0x000a, 0x34a3: 0x000a, + 0x34a4: 0x000a, 0x34a5: 0x000a, 0x34a6: 0x000a, 0x34a7: 0x000a, 0x34a8: 0x000a, 0x34a9: 0x000a, 0x34aa: 0x000a, 0x34ab: 0x000a, + 0x34b0: 0x000a, 0x34b1: 0x000a, 0x34b2: 0x000a, 0x34b3: 0x000a, 0x34b4: 0x000a, 0x34b5: 0x000a, + 0x34b6: 0x000a, 0x34b7: 0x000a, 0x34b8: 0x000a, 0x34b9: 0x000a, 0x34ba: 0x000a, 0x34bb: 0x000a, + 0x34bc: 0x000a, 0x34bd: 0x000a, 0x34be: 0x000a, 0x34bf: 0x000a, // Block 0xd3, offset 0x34c0 0x34c0: 0x000a, 0x34c1: 0x000a, 0x34c2: 0x000a, 0x34c3: 0x000a, 0x34c4: 0x000a, 0x34c5: 0x000a, 0x34c6: 0x000a, 0x34c7: 0x000a, 0x34c8: 0x000a, 0x34c9: 0x000a, 0x34ca: 0x000a, 0x34cb: 0x000a, 0x34cc: 0x000a, 0x34cd: 0x000a, 0x34ce: 0x000a, 0x34cf: 0x000a, 0x34d0: 0x000a, 0x34d1: 0x000a, - 0x34d2: 0x000a, + 0x34d2: 0x000a, 0x34d3: 0x000a, 0x34e0: 0x000a, 0x34e1: 0x000a, 0x34e2: 0x000a, 0x34e3: 0x000a, 0x34e4: 0x000a, 0x34e5: 0x000a, 0x34e6: 0x000a, 0x34e7: 0x000a, 0x34e8: 0x000a, 0x34e9: 0x000a, - 0x34ea: 0x000a, 0x34eb: 0x000a, 0x34ec: 0x000a, - 0x34f0: 0x000a, 0x34f1: 0x000a, 0x34f2: 0x000a, 0x34f3: 0x000a, 0x34f4: 0x000a, 0x34f5: 0x000a, - 0x34f6: 0x000a, + 0x34ea: 0x000a, 0x34eb: 0x000a, 0x34ec: 0x000a, 0x34ed: 0x000a, 0x34ee: 0x000a, + 0x34f1: 0x000a, 0x34f2: 0x000a, 0x34f3: 0x000a, 0x34f4: 0x000a, 0x34f5: 0x000a, + 0x34f6: 0x000a, 0x34f7: 0x000a, 0x34f8: 0x000a, 0x34f9: 0x000a, 0x34fa: 0x000a, 0x34fb: 0x000a, + 0x34fc: 0x000a, 0x34fd: 0x000a, 0x34fe: 0x000a, 0x34ff: 0x000a, // Block 0xd4, offset 0x3500 - 0x3500: 0x000a, 0x3501: 0x000a, 0x3502: 0x000a, 0x3503: 0x000a, 0x3504: 0x000a, 0x3505: 0x000a, + 0x3501: 0x000a, 0x3502: 0x000a, 0x3503: 0x000a, 0x3504: 0x000a, 0x3505: 0x000a, 0x3506: 0x000a, 0x3507: 0x000a, 0x3508: 0x000a, 0x3509: 0x000a, 0x350a: 0x000a, 0x350b: 0x000a, - 0x350c: 0x000a, 0x350d: 0x000a, 0x350e: 0x000a, 0x350f: 0x000a, 0x3510: 0x000a, 0x3511: 0x000a, - 0x3512: 0x000a, 0x3513: 0x000a, 0x3514: 0x000a, + 0x350c: 0x000a, 0x350d: 0x000a, 0x350e: 0x000a, 0x350f: 0x000a, 0x3511: 0x000a, + 0x3512: 0x000a, 0x3513: 0x000a, 0x3514: 0x000a, 0x3515: 0x000a, 0x3516: 0x000a, 0x3517: 0x000a, + 0x3518: 0x000a, 0x3519: 0x000a, 0x351a: 0x000a, 0x351b: 0x000a, 0x351c: 0x000a, 0x351d: 0x000a, + 0x351e: 0x000a, 0x351f: 0x000a, 0x3520: 0x000a, 0x3521: 0x000a, 0x3522: 0x000a, 0x3523: 0x000a, + 0x3524: 0x000a, 0x3525: 0x000a, 0x3526: 0x000a, 0x3527: 0x000a, 0x3528: 0x000a, 0x3529: 0x000a, + 0x352a: 0x000a, 0x352b: 0x000a, 0x352c: 0x000a, 0x352d: 0x000a, 0x352e: 0x000a, 0x352f: 0x000a, + 0x3530: 0x000a, 0x3531: 0x000a, 0x3532: 0x000a, 0x3533: 0x000a, 0x3534: 0x000a, 0x3535: 0x000a, // Block 0xd5, offset 0x3540 - 0x3540: 0x000a, 0x3541: 0x000a, 0x3542: 0x000a, 0x3543: 0x000a, 0x3544: 0x000a, 0x3545: 0x000a, - 0x3546: 0x000a, 0x3547: 0x000a, 0x3548: 0x000a, 0x3549: 0x000a, 0x354a: 0x000a, 0x354b: 0x000a, - 0x3550: 0x000a, 0x3551: 0x000a, - 0x3552: 0x000a, 0x3553: 0x000a, 0x3554: 0x000a, 0x3555: 0x000a, 0x3556: 0x000a, 0x3557: 0x000a, - 0x3558: 0x000a, 0x3559: 0x000a, 0x355a: 0x000a, 0x355b: 0x000a, 0x355c: 0x000a, 0x355d: 0x000a, - 0x355e: 0x000a, 0x355f: 0x000a, 0x3560: 0x000a, 0x3561: 0x000a, 0x3562: 0x000a, 0x3563: 0x000a, - 0x3564: 0x000a, 0x3565: 0x000a, 0x3566: 0x000a, 0x3567: 0x000a, 0x3568: 0x000a, 0x3569: 0x000a, - 0x356a: 0x000a, 0x356b: 0x000a, 0x356c: 0x000a, 0x356d: 0x000a, 0x356e: 0x000a, 0x356f: 0x000a, - 0x3570: 0x000a, 0x3571: 0x000a, 0x3572: 0x000a, 0x3573: 0x000a, 0x3574: 0x000a, 0x3575: 0x000a, - 0x3576: 0x000a, 0x3577: 0x000a, 0x3578: 0x000a, 0x3579: 0x000a, 0x357a: 0x000a, 0x357b: 0x000a, - 0x357c: 0x000a, 0x357d: 0x000a, 0x357e: 0x000a, 0x357f: 0x000a, + 0x3540: 0x0002, 0x3541: 0x0002, 0x3542: 0x0002, 0x3543: 0x0002, 0x3544: 0x0002, 0x3545: 0x0002, + 0x3546: 0x0002, 0x3547: 0x0002, 0x3548: 0x0002, 0x3549: 0x0002, 0x354a: 0x0002, 0x354b: 0x000a, + 0x354c: 0x000a, // Block 0xd6, offset 0x3580 - 0x3580: 0x000a, 0x3581: 0x000a, 0x3582: 0x000a, 0x3583: 0x000a, 0x3584: 0x000a, 0x3585: 0x000a, - 0x3586: 0x000a, 0x3587: 0x000a, - 0x3590: 0x000a, 0x3591: 0x000a, - 0x3592: 0x000a, 0x3593: 0x000a, 0x3594: 0x000a, 0x3595: 0x000a, 0x3596: 0x000a, 0x3597: 0x000a, - 0x3598: 0x000a, 0x3599: 0x000a, - 0x35a0: 0x000a, 0x35a1: 0x000a, 0x35a2: 0x000a, 0x35a3: 0x000a, - 0x35a4: 0x000a, 0x35a5: 0x000a, 0x35a6: 0x000a, 0x35a7: 0x000a, 0x35a8: 0x000a, 0x35a9: 0x000a, - 0x35aa: 0x000a, 0x35ab: 0x000a, 0x35ac: 0x000a, 0x35ad: 0x000a, 0x35ae: 0x000a, 0x35af: 0x000a, - 0x35b0: 0x000a, 0x35b1: 0x000a, 0x35b2: 0x000a, 0x35b3: 0x000a, 0x35b4: 0x000a, 0x35b5: 0x000a, - 0x35b6: 0x000a, 0x35b7: 0x000a, 0x35b8: 0x000a, 0x35b9: 0x000a, 0x35ba: 0x000a, 0x35bb: 0x000a, - 0x35bc: 0x000a, 0x35bd: 0x000a, 0x35be: 0x000a, 0x35bf: 0x000a, + 0x35aa: 0x000a, 0x35ab: 0x000a, // Block 0xd7, offset 0x35c0 - 0x35c0: 0x000a, 0x35c1: 0x000a, 0x35c2: 0x000a, 0x35c3: 0x000a, 0x35c4: 0x000a, 0x35c5: 0x000a, - 0x35c6: 0x000a, 0x35c7: 0x000a, - 0x35d0: 0x000a, 0x35d1: 0x000a, - 0x35d2: 0x000a, 0x35d3: 0x000a, 0x35d4: 0x000a, 0x35d5: 0x000a, 0x35d6: 0x000a, 0x35d7: 0x000a, - 0x35d8: 0x000a, 0x35d9: 0x000a, 0x35da: 0x000a, 0x35db: 0x000a, 0x35dc: 0x000a, 0x35dd: 0x000a, - 0x35de: 0x000a, 0x35df: 0x000a, 0x35e0: 0x000a, 0x35e1: 0x000a, 0x35e2: 0x000a, 0x35e3: 0x000a, - 0x35e4: 0x000a, 0x35e5: 0x000a, 0x35e6: 0x000a, 0x35e7: 0x000a, 0x35e8: 0x000a, 0x35e9: 0x000a, - 0x35ea: 0x000a, 0x35eb: 0x000a, 0x35ec: 0x000a, 0x35ed: 0x000a, + 0x35e0: 0x000a, 0x35e1: 0x000a, 0x35e2: 0x000a, 0x35e3: 0x000a, + 0x35e4: 0x000a, 0x35e5: 0x000a, // Block 0xd8, offset 0x3600 - 0x3610: 0x000a, 0x3611: 0x000a, - 0x3612: 0x000a, 0x3613: 0x000a, 0x3614: 0x000a, 0x3615: 0x000a, 0x3616: 0x000a, 0x3617: 0x000a, - 0x3618: 0x000a, 0x3619: 0x000a, 0x361a: 0x000a, 0x361b: 0x000a, 0x361c: 0x000a, 0x361d: 0x000a, - 0x361e: 0x000a, 0x3620: 0x000a, 0x3621: 0x000a, 0x3622: 0x000a, 0x3623: 0x000a, - 0x3624: 0x000a, 0x3625: 0x000a, 0x3626: 0x000a, 0x3627: 0x000a, - 0x3630: 0x000a, 0x3633: 0x000a, 0x3634: 0x000a, 0x3635: 0x000a, - 0x3636: 0x000a, 0x3637: 0x000a, 0x3638: 0x000a, 0x3639: 0x000a, 0x363a: 0x000a, 0x363b: 0x000a, - 0x363c: 0x000a, 0x363d: 0x000a, 0x363e: 0x000a, + 0x3600: 0x000a, 0x3601: 0x000a, 0x3602: 0x000a, 0x3603: 0x000a, 0x3604: 0x000a, 0x3605: 0x000a, + 0x3606: 0x000a, 0x3607: 0x000a, 0x3608: 0x000a, 0x3609: 0x000a, 0x360a: 0x000a, 0x360b: 0x000a, + 0x360c: 0x000a, 0x360d: 0x000a, 0x360e: 0x000a, 0x360f: 0x000a, 0x3610: 0x000a, 0x3611: 0x000a, + 0x3612: 0x000a, 0x3613: 0x000a, 0x3614: 0x000a, + 0x3620: 0x000a, 0x3621: 0x000a, 0x3622: 0x000a, 0x3623: 0x000a, + 0x3624: 0x000a, 0x3625: 0x000a, 0x3626: 0x000a, 0x3627: 0x000a, 0x3628: 0x000a, 0x3629: 0x000a, + 0x362a: 0x000a, 0x362b: 0x000a, 0x362c: 0x000a, + 0x3630: 0x000a, 0x3631: 0x000a, 0x3632: 0x000a, 0x3633: 0x000a, 0x3634: 0x000a, 0x3635: 0x000a, + 0x3636: 0x000a, 0x3637: 0x000a, 0x3638: 0x000a, // Block 0xd9, offset 0x3640 0x3640: 0x000a, 0x3641: 0x000a, 0x3642: 0x000a, 0x3643: 0x000a, 0x3644: 0x000a, 0x3645: 0x000a, 0x3646: 0x000a, 0x3647: 0x000a, 0x3648: 0x000a, 0x3649: 0x000a, 0x364a: 0x000a, 0x364b: 0x000a, - 0x3650: 0x000a, 0x3651: 0x000a, - 0x3652: 0x000a, 0x3653: 0x000a, 0x3654: 0x000a, 0x3655: 0x000a, 0x3656: 0x000a, 0x3657: 0x000a, - 0x3658: 0x000a, 0x3659: 0x000a, 0x365a: 0x000a, 0x365b: 0x000a, 0x365c: 0x000a, 0x365d: 0x000a, - 0x365e: 0x000a, + 0x364c: 0x000a, 0x364d: 0x000a, 0x364e: 0x000a, 0x364f: 0x000a, 0x3650: 0x000a, 0x3651: 0x000a, + 0x3652: 0x000a, 0x3653: 0x000a, 0x3654: 0x000a, // Block 0xda, offset 0x3680 0x3680: 0x000a, 0x3681: 0x000a, 0x3682: 0x000a, 0x3683: 0x000a, 0x3684: 0x000a, 0x3685: 0x000a, 0x3686: 0x000a, 0x3687: 0x000a, 0x3688: 0x000a, 0x3689: 0x000a, 0x368a: 0x000a, 0x368b: 0x000a, - 0x368c: 0x000a, 0x368d: 0x000a, 0x368e: 0x000a, 0x368f: 0x000a, 0x3690: 0x000a, 0x3691: 0x000a, + 0x3690: 0x000a, 0x3691: 0x000a, + 0x3692: 0x000a, 0x3693: 0x000a, 0x3694: 0x000a, 0x3695: 0x000a, 0x3696: 0x000a, 0x3697: 0x000a, + 0x3698: 0x000a, 0x3699: 0x000a, 0x369a: 0x000a, 0x369b: 0x000a, 0x369c: 0x000a, 0x369d: 0x000a, + 0x369e: 0x000a, 0x369f: 0x000a, 0x36a0: 0x000a, 0x36a1: 0x000a, 0x36a2: 0x000a, 0x36a3: 0x000a, + 0x36a4: 0x000a, 0x36a5: 0x000a, 0x36a6: 0x000a, 0x36a7: 0x000a, 0x36a8: 0x000a, 0x36a9: 0x000a, + 0x36aa: 0x000a, 0x36ab: 0x000a, 0x36ac: 0x000a, 0x36ad: 0x000a, 0x36ae: 0x000a, 0x36af: 0x000a, + 0x36b0: 0x000a, 0x36b1: 0x000a, 0x36b2: 0x000a, 0x36b3: 0x000a, 0x36b4: 0x000a, 0x36b5: 0x000a, + 0x36b6: 0x000a, 0x36b7: 0x000a, 0x36b8: 0x000a, 0x36b9: 0x000a, 0x36ba: 0x000a, 0x36bb: 0x000a, + 0x36bc: 0x000a, 0x36bd: 0x000a, 0x36be: 0x000a, 0x36bf: 0x000a, // Block 0xdb, offset 0x36c0 - 0x36fe: 0x000b, 0x36ff: 0x000b, + 0x36c0: 0x000a, 0x36c1: 0x000a, 0x36c2: 0x000a, 0x36c3: 0x000a, 0x36c4: 0x000a, 0x36c5: 0x000a, + 0x36c6: 0x000a, 0x36c7: 0x000a, + 0x36d0: 0x000a, 0x36d1: 0x000a, + 0x36d2: 0x000a, 0x36d3: 0x000a, 0x36d4: 0x000a, 0x36d5: 0x000a, 0x36d6: 0x000a, 0x36d7: 0x000a, + 0x36d8: 0x000a, 0x36d9: 0x000a, + 0x36e0: 0x000a, 0x36e1: 0x000a, 0x36e2: 0x000a, 0x36e3: 0x000a, + 0x36e4: 0x000a, 0x36e5: 0x000a, 0x36e6: 0x000a, 0x36e7: 0x000a, 0x36e8: 0x000a, 0x36e9: 0x000a, + 0x36ea: 0x000a, 0x36eb: 0x000a, 0x36ec: 0x000a, 0x36ed: 0x000a, 0x36ee: 0x000a, 0x36ef: 0x000a, + 0x36f0: 0x000a, 0x36f1: 0x000a, 0x36f2: 0x000a, 0x36f3: 0x000a, 0x36f4: 0x000a, 0x36f5: 0x000a, + 0x36f6: 0x000a, 0x36f7: 0x000a, 0x36f8: 0x000a, 0x36f9: 0x000a, 0x36fa: 0x000a, 0x36fb: 0x000a, + 0x36fc: 0x000a, 0x36fd: 0x000a, 0x36fe: 0x000a, 0x36ff: 0x000a, // Block 0xdc, offset 0x3700 - 0x3700: 0x000b, 0x3701: 0x000b, 0x3702: 0x000b, 0x3703: 0x000b, 0x3704: 0x000b, 0x3705: 0x000b, - 0x3706: 0x000b, 0x3707: 0x000b, 0x3708: 0x000b, 0x3709: 0x000b, 0x370a: 0x000b, 0x370b: 0x000b, - 0x370c: 0x000b, 0x370d: 0x000b, 0x370e: 0x000b, 0x370f: 0x000b, 0x3710: 0x000b, 0x3711: 0x000b, - 0x3712: 0x000b, 0x3713: 0x000b, 0x3714: 0x000b, 0x3715: 0x000b, 0x3716: 0x000b, 0x3717: 0x000b, - 0x3718: 0x000b, 0x3719: 0x000b, 0x371a: 0x000b, 0x371b: 0x000b, 0x371c: 0x000b, 0x371d: 0x000b, - 0x371e: 0x000b, 0x371f: 0x000b, 0x3720: 0x000b, 0x3721: 0x000b, 0x3722: 0x000b, 0x3723: 0x000b, - 0x3724: 0x000b, 0x3725: 0x000b, 0x3726: 0x000b, 0x3727: 0x000b, 0x3728: 0x000b, 0x3729: 0x000b, - 0x372a: 0x000b, 0x372b: 0x000b, 0x372c: 0x000b, 0x372d: 0x000b, 0x372e: 0x000b, 0x372f: 0x000b, - 0x3730: 0x000b, 0x3731: 0x000b, 0x3732: 0x000b, 0x3733: 0x000b, 0x3734: 0x000b, 0x3735: 0x000b, - 0x3736: 0x000b, 0x3737: 0x000b, 0x3738: 0x000b, 0x3739: 0x000b, 0x373a: 0x000b, 0x373b: 0x000b, - 0x373c: 0x000b, 0x373d: 0x000b, 0x373e: 0x000b, 0x373f: 0x000b, + 0x3700: 0x000a, 0x3701: 0x000a, 0x3702: 0x000a, 0x3703: 0x000a, 0x3704: 0x000a, 0x3705: 0x000a, + 0x3706: 0x000a, 0x3707: 0x000a, + 0x3710: 0x000a, 0x3711: 0x000a, + 0x3712: 0x000a, 0x3713: 0x000a, 0x3714: 0x000a, 0x3715: 0x000a, 0x3716: 0x000a, 0x3717: 0x000a, + 0x3718: 0x000a, 0x3719: 0x000a, 0x371a: 0x000a, 0x371b: 0x000a, 0x371c: 0x000a, 0x371d: 0x000a, + 0x371e: 0x000a, 0x371f: 0x000a, 0x3720: 0x000a, 0x3721: 0x000a, 0x3722: 0x000a, 0x3723: 0x000a, + 0x3724: 0x000a, 0x3725: 0x000a, 0x3726: 0x000a, 0x3727: 0x000a, 0x3728: 0x000a, 0x3729: 0x000a, + 0x372a: 0x000a, 0x372b: 0x000a, 0x372c: 0x000a, 0x372d: 0x000a, // Block 0xdd, offset 0x3740 - 0x3740: 0x000c, 0x3741: 0x000c, 0x3742: 0x000c, 0x3743: 0x000c, 0x3744: 0x000c, 0x3745: 0x000c, - 0x3746: 0x000c, 0x3747: 0x000c, 0x3748: 0x000c, 0x3749: 0x000c, 0x374a: 0x000c, 0x374b: 0x000c, - 0x374c: 0x000c, 0x374d: 0x000c, 0x374e: 0x000c, 0x374f: 0x000c, 0x3750: 0x000c, 0x3751: 0x000c, - 0x3752: 0x000c, 0x3753: 0x000c, 0x3754: 0x000c, 0x3755: 0x000c, 0x3756: 0x000c, 0x3757: 0x000c, - 0x3758: 0x000c, 0x3759: 0x000c, 0x375a: 0x000c, 0x375b: 0x000c, 0x375c: 0x000c, 0x375d: 0x000c, - 0x375e: 0x000c, 0x375f: 0x000c, 0x3760: 0x000c, 0x3761: 0x000c, 0x3762: 0x000c, 0x3763: 0x000c, - 0x3764: 0x000c, 0x3765: 0x000c, 0x3766: 0x000c, 0x3767: 0x000c, 0x3768: 0x000c, 0x3769: 0x000c, - 0x376a: 0x000c, 0x376b: 0x000c, 0x376c: 0x000c, 0x376d: 0x000c, 0x376e: 0x000c, 0x376f: 0x000c, - 0x3770: 0x000b, 0x3771: 0x000b, 0x3772: 0x000b, 0x3773: 0x000b, 0x3774: 0x000b, 0x3775: 0x000b, - 0x3776: 0x000b, 0x3777: 0x000b, 0x3778: 0x000b, 0x3779: 0x000b, 0x377a: 0x000b, 0x377b: 0x000b, - 0x377c: 0x000b, 0x377d: 0x000b, 0x377e: 0x000b, 0x377f: 0x000b, + 0x3740: 0x000a, 0x3741: 0x000a, 0x3742: 0x000a, 0x3743: 0x000a, 0x3744: 0x000a, 0x3745: 0x000a, + 0x3746: 0x000a, 0x3747: 0x000a, 0x3748: 0x000a, 0x3749: 0x000a, 0x374a: 0x000a, 0x374b: 0x000a, + 0x3750: 0x000a, 0x3751: 0x000a, + 0x3752: 0x000a, 0x3753: 0x000a, 0x3754: 0x000a, 0x3755: 0x000a, 0x3756: 0x000a, 0x3757: 0x000a, + 0x3758: 0x000a, 0x3759: 0x000a, 0x375a: 0x000a, 0x375b: 0x000a, 0x375c: 0x000a, 0x375d: 0x000a, + 0x375e: 0x000a, 0x375f: 0x000a, 0x3760: 0x000a, 0x3761: 0x000a, 0x3762: 0x000a, 0x3763: 0x000a, + 0x3764: 0x000a, 0x3765: 0x000a, 0x3766: 0x000a, 0x3767: 0x000a, 0x3768: 0x000a, 0x3769: 0x000a, + 0x376a: 0x000a, 0x376b: 0x000a, 0x376c: 0x000a, 0x376d: 0x000a, 0x376e: 0x000a, 0x376f: 0x000a, + 0x3770: 0x000a, 0x3771: 0x000a, 0x3772: 0x000a, 0x3773: 0x000a, 0x3774: 0x000a, 0x3775: 0x000a, + 0x3776: 0x000a, 0x3777: 0x000a, 0x3778: 0x000a, 0x3779: 0x000a, 0x377a: 0x000a, 0x377b: 0x000a, + 0x377c: 0x000a, 0x377d: 0x000a, 0x377e: 0x000a, + // Block 0xde, offset 0x3780 + 0x3780: 0x000a, 0x3781: 0x000a, 0x3782: 0x000a, 0x3783: 0x000a, 0x3784: 0x000a, 0x3785: 0x000a, + 0x3786: 0x000a, 0x3787: 0x000a, 0x3788: 0x000a, 0x3789: 0x000a, 0x378a: 0x000a, 0x378b: 0x000a, + 0x378c: 0x000a, 0x3790: 0x000a, 0x3791: 0x000a, + 0x3792: 0x000a, 0x3793: 0x000a, 0x3794: 0x000a, 0x3795: 0x000a, 0x3796: 0x000a, 0x3797: 0x000a, + 0x3798: 0x000a, 0x3799: 0x000a, 0x379a: 0x000a, 0x379b: 0x000a, 0x379c: 0x000a, 0x379d: 0x000a, + 0x379e: 0x000a, 0x379f: 0x000a, 0x37a0: 0x000a, 0x37a1: 0x000a, 0x37a2: 0x000a, 0x37a3: 0x000a, + 0x37a4: 0x000a, 0x37a5: 0x000a, 0x37a6: 0x000a, 0x37a7: 0x000a, 0x37a8: 0x000a, 0x37a9: 0x000a, + 0x37aa: 0x000a, 0x37ab: 0x000a, + // Block 0xdf, offset 0x37c0 + 0x37c0: 0x000a, 0x37c1: 0x000a, 0x37c2: 0x000a, 0x37c3: 0x000a, 0x37c4: 0x000a, 0x37c5: 0x000a, + 0x37c6: 0x000a, 0x37c7: 0x000a, 0x37c8: 0x000a, 0x37c9: 0x000a, 0x37ca: 0x000a, 0x37cb: 0x000a, + 0x37cc: 0x000a, 0x37cd: 0x000a, 0x37ce: 0x000a, 0x37cf: 0x000a, 0x37d0: 0x000a, 0x37d1: 0x000a, + 0x37d2: 0x000a, 0x37d3: 0x000a, 0x37d4: 0x000a, 0x37d5: 0x000a, 0x37d6: 0x000a, 0x37d7: 0x000a, + // Block 0xe0, offset 0x3800 + 0x3800: 0x000a, + 0x3810: 0x000a, 0x3811: 0x000a, + 0x3812: 0x000a, 0x3813: 0x000a, 0x3814: 0x000a, 0x3815: 0x000a, 0x3816: 0x000a, 0x3817: 0x000a, + 0x3818: 0x000a, 0x3819: 0x000a, 0x381a: 0x000a, 0x381b: 0x000a, 0x381c: 0x000a, 0x381d: 0x000a, + 0x381e: 0x000a, 0x381f: 0x000a, 0x3820: 0x000a, 0x3821: 0x000a, 0x3822: 0x000a, 0x3823: 0x000a, + 0x3824: 0x000a, 0x3825: 0x000a, 0x3826: 0x000a, + // Block 0xe1, offset 0x3840 + 0x387e: 0x000b, 0x387f: 0x000b, + // Block 0xe2, offset 0x3880 + 0x3880: 0x000b, 0x3881: 0x000b, 0x3882: 0x000b, 0x3883: 0x000b, 0x3884: 0x000b, 0x3885: 0x000b, + 0x3886: 0x000b, 0x3887: 0x000b, 0x3888: 0x000b, 0x3889: 0x000b, 0x388a: 0x000b, 0x388b: 0x000b, + 0x388c: 0x000b, 0x388d: 0x000b, 0x388e: 0x000b, 0x388f: 0x000b, 0x3890: 0x000b, 0x3891: 0x000b, + 0x3892: 0x000b, 0x3893: 0x000b, 0x3894: 0x000b, 0x3895: 0x000b, 0x3896: 0x000b, 0x3897: 0x000b, + 0x3898: 0x000b, 0x3899: 0x000b, 0x389a: 0x000b, 0x389b: 0x000b, 0x389c: 0x000b, 0x389d: 0x000b, + 0x389e: 0x000b, 0x389f: 0x000b, 0x38a0: 0x000b, 0x38a1: 0x000b, 0x38a2: 0x000b, 0x38a3: 0x000b, + 0x38a4: 0x000b, 0x38a5: 0x000b, 0x38a6: 0x000b, 0x38a7: 0x000b, 0x38a8: 0x000b, 0x38a9: 0x000b, + 0x38aa: 0x000b, 0x38ab: 0x000b, 0x38ac: 0x000b, 0x38ad: 0x000b, 0x38ae: 0x000b, 0x38af: 0x000b, + 0x38b0: 0x000b, 0x38b1: 0x000b, 0x38b2: 0x000b, 0x38b3: 0x000b, 0x38b4: 0x000b, 0x38b5: 0x000b, + 0x38b6: 0x000b, 0x38b7: 0x000b, 0x38b8: 0x000b, 0x38b9: 0x000b, 0x38ba: 0x000b, 0x38bb: 0x000b, + 0x38bc: 0x000b, 0x38bd: 0x000b, 0x38be: 0x000b, 0x38bf: 0x000b, + // Block 0xe3, offset 0x38c0 + 0x38c0: 0x000c, 0x38c1: 0x000c, 0x38c2: 0x000c, 0x38c3: 0x000c, 0x38c4: 0x000c, 0x38c5: 0x000c, + 0x38c6: 0x000c, 0x38c7: 0x000c, 0x38c8: 0x000c, 0x38c9: 0x000c, 0x38ca: 0x000c, 0x38cb: 0x000c, + 0x38cc: 0x000c, 0x38cd: 0x000c, 0x38ce: 0x000c, 0x38cf: 0x000c, 0x38d0: 0x000c, 0x38d1: 0x000c, + 0x38d2: 0x000c, 0x38d3: 0x000c, 0x38d4: 0x000c, 0x38d5: 0x000c, 0x38d6: 0x000c, 0x38d7: 0x000c, + 0x38d8: 0x000c, 0x38d9: 0x000c, 0x38da: 0x000c, 0x38db: 0x000c, 0x38dc: 0x000c, 0x38dd: 0x000c, + 0x38de: 0x000c, 0x38df: 0x000c, 0x38e0: 0x000c, 0x38e1: 0x000c, 0x38e2: 0x000c, 0x38e3: 0x000c, + 0x38e4: 0x000c, 0x38e5: 0x000c, 0x38e6: 0x000c, 0x38e7: 0x000c, 0x38e8: 0x000c, 0x38e9: 0x000c, + 0x38ea: 0x000c, 0x38eb: 0x000c, 0x38ec: 0x000c, 0x38ed: 0x000c, 0x38ee: 0x000c, 0x38ef: 0x000c, + 0x38f0: 0x000b, 0x38f1: 0x000b, 0x38f2: 0x000b, 0x38f3: 0x000b, 0x38f4: 0x000b, 0x38f5: 0x000b, + 0x38f6: 0x000b, 0x38f7: 0x000b, 0x38f8: 0x000b, 0x38f9: 0x000b, 0x38fa: 0x000b, 0x38fb: 0x000b, + 0x38fc: 0x000b, 0x38fd: 0x000b, 0x38fe: 0x000b, 0x38ff: 0x000b, } // bidiIndex: 24 blocks, 1536 entries, 1536 bytes @@ -1688,65 +1721,66 @@ var bidiIndex = [1536]uint8{ 0x17e: 0x4b, 0x17f: 0x4c, // Block 0x6, offset 0x180 0x180: 0x4d, 0x181: 0x4e, 0x182: 0x4f, 0x183: 0x50, 0x184: 0x51, 0x185: 0x52, 0x186: 0x53, 0x187: 0x54, - 0x188: 0x55, 0x189: 0x54, 0x18a: 0x54, 0x18b: 0x54, 0x18c: 0x56, 0x18d: 0x57, 0x18e: 0x58, 0x18f: 0x59, - 0x190: 0x5a, 0x191: 0x5b, 0x192: 0x5c, 0x193: 0x5d, 0x194: 0x54, 0x195: 0x54, 0x196: 0x54, 0x197: 0x54, - 0x198: 0x54, 0x199: 0x54, 0x19a: 0x5e, 0x19b: 0x54, 0x19c: 0x54, 0x19d: 0x5f, 0x19e: 0x54, 0x19f: 0x60, - 0x1a4: 0x54, 0x1a5: 0x54, 0x1a6: 0x61, 0x1a7: 0x62, - 0x1a8: 0x54, 0x1a9: 0x54, 0x1aa: 0x54, 0x1ab: 0x54, 0x1ac: 0x54, 0x1ad: 0x63, 0x1ae: 0x64, 0x1af: 0x65, - 0x1b3: 0x66, 0x1b5: 0x67, 0x1b7: 0x68, - 0x1b8: 0x69, 0x1b9: 0x6a, 0x1ba: 0x6b, 0x1bb: 0x6c, 0x1bc: 0x54, 0x1bd: 0x54, 0x1be: 0x54, 0x1bf: 0x6d, + 0x188: 0x55, 0x189: 0x54, 0x18a: 0x54, 0x18b: 0x54, 0x18c: 0x56, 0x18d: 0x57, 0x18e: 0x58, 0x18f: 0x54, + 0x190: 0x59, 0x191: 0x5a, 0x192: 0x5b, 0x193: 0x5c, 0x194: 0x54, 0x195: 0x54, 0x196: 0x54, 0x197: 0x54, + 0x198: 0x54, 0x199: 0x54, 0x19a: 0x5d, 0x19b: 0x54, 0x19c: 0x54, 0x19d: 0x5e, 0x19e: 0x54, 0x19f: 0x5f, + 0x1a4: 0x54, 0x1a5: 0x54, 0x1a6: 0x60, 0x1a7: 0x61, + 0x1a8: 0x54, 0x1a9: 0x54, 0x1aa: 0x54, 0x1ab: 0x54, 0x1ac: 0x54, 0x1ad: 0x62, 0x1ae: 0x63, 0x1af: 0x64, + 0x1b3: 0x65, 0x1b5: 0x66, 0x1b7: 0x67, + 0x1b8: 0x68, 0x1b9: 0x69, 0x1ba: 0x6a, 0x1bb: 0x6b, 0x1bc: 0x54, 0x1bd: 0x54, 0x1be: 0x54, 0x1bf: 0x6c, // Block 0x7, offset 0x1c0 - 0x1c0: 0x6e, 0x1c2: 0x6f, 0x1c3: 0x70, 0x1c7: 0x71, - 0x1c8: 0x72, 0x1c9: 0x73, 0x1ca: 0x74, 0x1cb: 0x75, 0x1cd: 0x76, 0x1cf: 0x77, + 0x1c0: 0x6d, 0x1c2: 0x6e, 0x1c3: 0x6f, 0x1c7: 0x70, + 0x1c8: 0x71, 0x1c9: 0x72, 0x1ca: 0x73, 0x1cb: 0x74, 0x1cd: 0x75, 0x1cf: 0x76, // Block 0x8, offset 0x200 0x237: 0x54, // Block 0x9, offset 0x240 - 0x252: 0x78, 0x253: 0x79, - 0x258: 0x7a, 0x259: 0x7b, 0x25a: 0x7c, 0x25b: 0x7d, 0x25c: 0x7e, 0x25e: 0x7f, - 0x260: 0x80, 0x261: 0x81, 0x263: 0x82, 0x264: 0x83, 0x265: 0x84, 0x266: 0x85, 0x267: 0x86, - 0x268: 0x87, 0x269: 0x88, 0x26a: 0x89, 0x26b: 0x8a, 0x26f: 0x8b, + 0x252: 0x77, 0x253: 0x78, + 0x258: 0x79, 0x259: 0x7a, 0x25a: 0x7b, 0x25b: 0x7c, 0x25c: 0x7d, 0x25e: 0x7e, + 0x260: 0x7f, 0x261: 0x80, 0x263: 0x81, 0x264: 0x82, 0x265: 0x83, 0x266: 0x84, 0x267: 0x85, + 0x268: 0x86, 0x269: 0x87, 0x26a: 0x88, 0x26b: 0x89, 0x26f: 0x8a, // Block 0xa, offset 0x280 - 0x2ac: 0x8c, 0x2ad: 0x8d, 0x2ae: 0x0e, 0x2af: 0x0e, - 0x2b0: 0x0e, 0x2b1: 0x0e, 0x2b2: 0x0e, 0x2b3: 0x0e, 0x2b4: 0x8e, 0x2b5: 0x0e, 0x2b6: 0x0e, 0x2b7: 0x8f, - 0x2b8: 0x90, 0x2b9: 0x91, 0x2ba: 0x0e, 0x2bb: 0x92, 0x2bc: 0x93, 0x2bd: 0x94, 0x2bf: 0x95, + 0x2ac: 0x8b, 0x2ad: 0x8c, 0x2ae: 0x0e, 0x2af: 0x0e, + 0x2b0: 0x0e, 0x2b1: 0x0e, 0x2b2: 0x0e, 0x2b3: 0x0e, 0x2b4: 0x8d, 0x2b5: 0x0e, 0x2b6: 0x0e, 0x2b7: 0x8e, + 0x2b8: 0x8f, 0x2b9: 0x90, 0x2ba: 0x0e, 0x2bb: 0x91, 0x2bc: 0x92, 0x2bd: 0x93, 0x2bf: 0x94, // Block 0xb, offset 0x2c0 - 0x2c4: 0x96, 0x2c5: 0x54, 0x2c6: 0x97, 0x2c7: 0x98, - 0x2cb: 0x99, 0x2cd: 0x9a, - 0x2e0: 0x9b, 0x2e1: 0x9b, 0x2e2: 0x9b, 0x2e3: 0x9b, 0x2e4: 0x9c, 0x2e5: 0x9b, 0x2e6: 0x9b, 0x2e7: 0x9b, - 0x2e8: 0x9d, 0x2e9: 0x9b, 0x2ea: 0x9b, 0x2eb: 0x9e, 0x2ec: 0x9f, 0x2ed: 0x9b, 0x2ee: 0x9b, 0x2ef: 0x9b, - 0x2f0: 0x9b, 0x2f1: 0x9b, 0x2f2: 0x9b, 0x2f3: 0x9b, 0x2f4: 0x9b, 0x2f5: 0x9b, 0x2f6: 0x9b, 0x2f7: 0x9b, - 0x2f8: 0x9b, 0x2f9: 0xa0, 0x2fa: 0x9b, 0x2fb: 0x9b, 0x2fc: 0x9b, 0x2fd: 0x9b, 0x2fe: 0x9b, 0x2ff: 0x9b, + 0x2c4: 0x95, 0x2c5: 0x54, 0x2c6: 0x96, 0x2c7: 0x97, + 0x2cb: 0x98, 0x2cd: 0x99, + 0x2e0: 0x9a, 0x2e1: 0x9a, 0x2e2: 0x9a, 0x2e3: 0x9a, 0x2e4: 0x9b, 0x2e5: 0x9a, 0x2e6: 0x9a, 0x2e7: 0x9a, + 0x2e8: 0x9c, 0x2e9: 0x9a, 0x2ea: 0x9a, 0x2eb: 0x9d, 0x2ec: 0x9e, 0x2ed: 0x9a, 0x2ee: 0x9a, 0x2ef: 0x9a, + 0x2f0: 0x9a, 0x2f1: 0x9a, 0x2f2: 0x9a, 0x2f3: 0x9a, 0x2f4: 0x9a, 0x2f5: 0x9a, 0x2f6: 0x9a, 0x2f7: 0x9a, + 0x2f8: 0x9a, 0x2f9: 0x9f, 0x2fa: 0x9a, 0x2fb: 0x9a, 0x2fc: 0x9a, 0x2fd: 0x9a, 0x2fe: 0x9a, 0x2ff: 0x9a, // Block 0xc, offset 0x300 - 0x300: 0xa1, 0x301: 0xa2, 0x302: 0xa3, 0x304: 0xa4, 0x305: 0xa5, 0x306: 0xa6, 0x307: 0xa7, - 0x308: 0xa8, 0x30b: 0xa9, 0x30c: 0xaa, 0x30d: 0xab, - 0x310: 0xac, 0x311: 0xad, 0x312: 0xae, 0x313: 0xaf, 0x316: 0xb0, 0x317: 0xb1, - 0x318: 0xb2, 0x319: 0xb3, 0x31a: 0xb4, 0x31c: 0xb5, - 0x330: 0xb6, 0x332: 0xb7, + 0x300: 0xa0, 0x301: 0xa1, 0x302: 0xa2, 0x304: 0xa3, 0x305: 0xa4, 0x306: 0xa5, 0x307: 0xa6, + 0x308: 0xa7, 0x30b: 0xa8, 0x30c: 0xa9, 0x30d: 0xaa, + 0x310: 0xab, 0x311: 0xac, 0x312: 0xad, 0x313: 0xae, 0x316: 0xaf, 0x317: 0xb0, + 0x318: 0xb1, 0x319: 0xb2, 0x31a: 0xb3, 0x31c: 0xb4, + 0x328: 0xb5, 0x329: 0xb6, 0x32a: 0xb7, + 0x330: 0xb8, 0x332: 0xb9, 0x334: 0xba, 0x335: 0xbb, // Block 0xd, offset 0x340 - 0x36b: 0xb8, 0x36c: 0xb9, - 0x37e: 0xba, + 0x36b: 0xbc, 0x36c: 0xbd, + 0x37e: 0xbe, // Block 0xe, offset 0x380 - 0x3b2: 0xbb, + 0x3b2: 0xbf, // Block 0xf, offset 0x3c0 - 0x3c5: 0xbc, 0x3c6: 0xbd, - 0x3c8: 0x54, 0x3c9: 0xbe, 0x3cc: 0x54, 0x3cd: 0xbf, - 0x3db: 0xc0, 0x3dc: 0xc1, 0x3dd: 0xc2, 0x3de: 0xc3, 0x3df: 0xc4, - 0x3e8: 0xc5, 0x3e9: 0xc6, 0x3ea: 0xc7, + 0x3c5: 0xc0, 0x3c6: 0xc1, + 0x3c8: 0x54, 0x3c9: 0xc2, 0x3cc: 0x54, 0x3cd: 0xc3, + 0x3db: 0xc4, 0x3dc: 0xc5, 0x3dd: 0xc6, 0x3de: 0xc7, 0x3df: 0xc8, + 0x3e8: 0xc9, 0x3e9: 0xca, 0x3ea: 0xcb, // Block 0x10, offset 0x400 - 0x400: 0xc8, - 0x420: 0x9b, 0x421: 0x9b, 0x422: 0x9b, 0x423: 0xc9, 0x424: 0x9b, 0x425: 0xca, 0x426: 0x9b, 0x427: 0x9b, - 0x428: 0x9b, 0x429: 0x9b, 0x42a: 0x9b, 0x42b: 0x9b, 0x42c: 0x9b, 0x42d: 0x9b, 0x42e: 0x9b, 0x42f: 0x9b, - 0x430: 0x9b, 0x431: 0x9b, 0x432: 0x9b, 0x433: 0x9b, 0x434: 0x9b, 0x435: 0x9b, 0x436: 0x9b, 0x437: 0x9b, - 0x438: 0x0e, 0x439: 0x0e, 0x43a: 0x0e, 0x43b: 0xcb, 0x43c: 0x9b, 0x43d: 0x9b, 0x43e: 0x9b, 0x43f: 0x9b, + 0x400: 0xcc, + 0x420: 0x9a, 0x421: 0x9a, 0x422: 0x9a, 0x423: 0xcd, 0x424: 0x9a, 0x425: 0xce, 0x426: 0x9a, 0x427: 0x9a, + 0x428: 0x9a, 0x429: 0x9a, 0x42a: 0x9a, 0x42b: 0x9a, 0x42c: 0x9a, 0x42d: 0x9a, 0x42e: 0x9a, 0x42f: 0x9a, + 0x430: 0x9a, 0x431: 0x9a, 0x432: 0x9a, 0x433: 0x9a, 0x434: 0x9a, 0x435: 0x9a, 0x436: 0x9a, 0x437: 0x9a, + 0x438: 0x0e, 0x439: 0x0e, 0x43a: 0x0e, 0x43b: 0xcf, 0x43c: 0x9a, 0x43d: 0x9a, 0x43e: 0x9a, 0x43f: 0x9a, // Block 0x11, offset 0x440 - 0x440: 0xcc, 0x441: 0x54, 0x442: 0xcd, 0x443: 0xce, 0x444: 0xcf, 0x445: 0xd0, - 0x44c: 0x54, 0x44d: 0x54, 0x44e: 0x54, 0x44f: 0x54, + 0x440: 0xd0, 0x441: 0x54, 0x442: 0xd1, 0x443: 0xd2, 0x444: 0xd3, 0x445: 0xd4, + 0x449: 0xd5, 0x44c: 0x54, 0x44d: 0x54, 0x44e: 0x54, 0x44f: 0x54, 0x450: 0x54, 0x451: 0x54, 0x452: 0x54, 0x453: 0x54, 0x454: 0x54, 0x455: 0x54, 0x456: 0x54, 0x457: 0x54, - 0x458: 0x54, 0x459: 0x54, 0x45a: 0x54, 0x45b: 0xd1, 0x45c: 0x54, 0x45d: 0x6c, 0x45e: 0x54, 0x45f: 0xd2, - 0x460: 0xd3, 0x461: 0xd4, 0x462: 0xd5, 0x464: 0xd6, 0x465: 0xd7, 0x466: 0xd8, 0x467: 0x36, - 0x47f: 0xd9, + 0x458: 0x54, 0x459: 0x54, 0x45a: 0x54, 0x45b: 0xd6, 0x45c: 0x54, 0x45d: 0x6b, 0x45e: 0x54, 0x45f: 0xd7, + 0x460: 0xd8, 0x461: 0xd9, 0x462: 0xda, 0x464: 0xdb, 0x465: 0xdc, 0x466: 0xdd, 0x467: 0xde, + 0x47f: 0xdf, // Block 0x12, offset 0x480 - 0x4bf: 0xd9, + 0x4bf: 0xdf, // Block 0x13, offset 0x4c0 0x4d0: 0x09, 0x4d1: 0x0a, 0x4d6: 0x0b, 0x4db: 0x0c, 0x4dd: 0x0d, 0x4de: 0x0e, 0x4df: 0x0f, @@ -1758,14 +1792,14 @@ var bidiIndex = [1536]uint8{ 0x52f: 0x10, 0x53f: 0x10, // Block 0x15, offset 0x540 - 0x540: 0xda, 0x541: 0xda, 0x542: 0xda, 0x543: 0xda, 0x544: 0x05, 0x545: 0x05, 0x546: 0x05, 0x547: 0xdb, - 0x548: 0xda, 0x549: 0xda, 0x54a: 0xda, 0x54b: 0xda, 0x54c: 0xda, 0x54d: 0xda, 0x54e: 0xda, 0x54f: 0xda, - 0x550: 0xda, 0x551: 0xda, 0x552: 0xda, 0x553: 0xda, 0x554: 0xda, 0x555: 0xda, 0x556: 0xda, 0x557: 0xda, - 0x558: 0xda, 0x559: 0xda, 0x55a: 0xda, 0x55b: 0xda, 0x55c: 0xda, 0x55d: 0xda, 0x55e: 0xda, 0x55f: 0xda, - 0x560: 0xda, 0x561: 0xda, 0x562: 0xda, 0x563: 0xda, 0x564: 0xda, 0x565: 0xda, 0x566: 0xda, 0x567: 0xda, - 0x568: 0xda, 0x569: 0xda, 0x56a: 0xda, 0x56b: 0xda, 0x56c: 0xda, 0x56d: 0xda, 0x56e: 0xda, 0x56f: 0xda, - 0x570: 0xda, 0x571: 0xda, 0x572: 0xda, 0x573: 0xda, 0x574: 0xda, 0x575: 0xda, 0x576: 0xda, 0x577: 0xda, - 0x578: 0xda, 0x579: 0xda, 0x57a: 0xda, 0x57b: 0xda, 0x57c: 0xda, 0x57d: 0xda, 0x57e: 0xda, 0x57f: 0xda, + 0x540: 0xe0, 0x541: 0xe0, 0x542: 0xe0, 0x543: 0xe0, 0x544: 0x05, 0x545: 0x05, 0x546: 0x05, 0x547: 0xe1, + 0x548: 0xe0, 0x549: 0xe0, 0x54a: 0xe0, 0x54b: 0xe0, 0x54c: 0xe0, 0x54d: 0xe0, 0x54e: 0xe0, 0x54f: 0xe0, + 0x550: 0xe0, 0x551: 0xe0, 0x552: 0xe0, 0x553: 0xe0, 0x554: 0xe0, 0x555: 0xe0, 0x556: 0xe0, 0x557: 0xe0, + 0x558: 0xe0, 0x559: 0xe0, 0x55a: 0xe0, 0x55b: 0xe0, 0x55c: 0xe0, 0x55d: 0xe0, 0x55e: 0xe0, 0x55f: 0xe0, + 0x560: 0xe0, 0x561: 0xe0, 0x562: 0xe0, 0x563: 0xe0, 0x564: 0xe0, 0x565: 0xe0, 0x566: 0xe0, 0x567: 0xe0, + 0x568: 0xe0, 0x569: 0xe0, 0x56a: 0xe0, 0x56b: 0xe0, 0x56c: 0xe0, 0x56d: 0xe0, 0x56e: 0xe0, 0x56f: 0xe0, + 0x570: 0xe0, 0x571: 0xe0, 0x572: 0xe0, 0x573: 0xe0, 0x574: 0xe0, 0x575: 0xe0, 0x576: 0xe0, 0x577: 0xe0, + 0x578: 0xe0, 0x579: 0xe0, 0x57a: 0xe0, 0x57b: 0xe0, 0x57c: 0xe0, 0x57d: 0xe0, 0x57e: 0xe0, 0x57f: 0xe0, // Block 0x16, offset 0x580 0x58f: 0x10, 0x59f: 0x10, @@ -1776,4 +1810,4 @@ var bidiIndex = [1536]uint8{ 0x5cf: 0x10, } -// Total table size 15800 bytes (15KiB); checksum: F50EF68C +// Total table size 16184 bytes (15KiB); checksum: F50EF68C diff --git a/vendor/golang.org/x/text/unicode/cldr/examples_test.go b/vendor/golang.org/x/text/unicode/cldr/examples_test.go index a65e86e6c..1a69b0073 100644 --- a/vendor/golang.org/x/text/unicode/cldr/examples_test.go +++ b/vendor/golang.org/x/text/unicode/cldr/examples_test.go @@ -7,7 +7,7 @@ import ( ) func ExampleSlice() { - var dr *cldr.CLDR // assume this is initalized + var dr *cldr.CLDR // assume this is initialized x, _ := dr.LDML("en") cs := x.Collations.Collation diff --git a/vendor/golang.org/x/text/unicode/cldr/resolve_test.go b/vendor/golang.org/x/text/unicode/cldr/resolve_test.go index 7b19cef87..3d8edaec8 100644 --- a/vendor/golang.org/x/text/unicode/cldr/resolve_test.go +++ b/vendor/golang.org/x/text/unicode/cldr/resolve_test.go @@ -39,7 +39,7 @@ type fieldTest struct { var testStruct = fieldTest{ Common: Common{ - name: "mapping", // exclude "type" as distinguising attribute + name: "mapping", // exclude "type" as distinguishing attribute Type: "foo", Alt: "foo", }, diff --git a/vendor/golang.org/x/text/unicode/cldr/slice_test.go b/vendor/golang.org/x/text/unicode/cldr/slice_test.go index f354329e2..3d487d3bd 100644 --- a/vendor/golang.org/x/text/unicode/cldr/slice_test.go +++ b/vendor/golang.org/x/text/unicode/cldr/slice_test.go @@ -158,7 +158,7 @@ func TestSelectOnePerGroup(t *testing.T) { s := MakeSlice(&sl) s.SelectOnePerGroup(tt.attr, tt.values) if len(sl) != len(tt.refs) { - t.Errorf("%d: found result lenght %d; want %d", i, len(sl), len(tt.refs)) + t.Errorf("%d: found result length %d; want %d", i, len(sl), len(tt.refs)) continue } for j, e := range sl { diff --git a/vendor/golang.org/x/text/unicode/norm/tables.go b/vendor/golang.org/x/text/unicode/norm/tables.go index bf9ff8038..316b093c5 100644 --- a/vendor/golang.org/x/text/unicode/norm/tables.go +++ b/vendor/golang.org/x/text/unicode/norm/tables.go @@ -4,7 +4,7 @@ package norm const ( // Version is the Unicode edition from which the tables are derived. - Version = "9.0.0" + Version = "10.0.0" // MaxTransformChunkSize indicates the maximum number of bytes that Transform // may need to write atomically for any Form. Making a destination buffer at @@ -2896,7 +2896,7 @@ func (t *nfcTrie) lookupStringUnsafe(s string) uint16 { return 0 } -// nfcTrie. Total size: 10332 bytes (10.09 KiB). Checksum: 51cc525b297fc970. +// nfcTrie. Total size: 10442 bytes (10.20 KiB). Checksum: 4ba400a9d8208e03. type nfcTrie struct{} func newNfcTrie(i int) *nfcTrie { @@ -2906,17 +2906,17 @@ func newNfcTrie(i int) *nfcTrie { // lookupValue determines the type of block n and looks up the value for b. func (t *nfcTrie) lookupValue(n uint32, b byte) uint16 { switch { - case n < 44: + case n < 45: return uint16(nfcValues[n<<6+uint32(b)]) default: - n -= 44 + n -= 45 return uint16(nfcSparse.lookup(n, b)) } } -// nfcValues: 46 blocks, 2944 entries, 5888 bytes +// nfcValues: 47 blocks, 3008 entries, 6016 bytes // The third block is the zero block. -var nfcValues = [2944]uint16{ +var nfcValues = [3008]uint16{ // Block 0x0, offset 0x0 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, // Block 0x1, offset 0x40 @@ -3073,341 +3073,353 @@ var nfcValues = [2944]uint16{ 0x3fa: 0xa000, 0x3fb: 0x2d56, 0x3fc: 0xa000, 0x3fd: 0x2d5e, 0x3fe: 0xa000, 0x3ff: 0xa000, // Block 0x10, offset 0x400 - 0x400: 0x2f97, 0x401: 0x32a3, 0x402: 0x2fa1, 0x403: 0x32ad, 0x404: 0x2fa6, 0x405: 0x32b2, - 0x406: 0x2fab, 0x407: 0x32b7, 0x408: 0x38cc, 0x409: 0x3a5b, 0x40a: 0x2fc4, 0x40b: 0x32d0, - 0x40c: 0x2fce, 0x40d: 0x32da, 0x40e: 0x2fdd, 0x40f: 0x32e9, 0x410: 0x2fd3, 0x411: 0x32df, - 0x412: 0x2fd8, 0x413: 0x32e4, 0x414: 0x38ef, 0x415: 0x3a7e, 0x416: 0x38f6, 0x417: 0x3a85, - 0x418: 0x3019, 0x419: 0x3325, 0x41a: 0x301e, 0x41b: 0x332a, 0x41c: 0x3904, 0x41d: 0x3a93, - 0x41e: 0x3023, 0x41f: 0x332f, 0x420: 0x3032, 0x421: 0x333e, 0x422: 0x3050, 0x423: 0x335c, - 0x424: 0x305f, 0x425: 0x336b, 0x426: 0x3055, 0x427: 0x3361, 0x428: 0x3064, 0x429: 0x3370, - 0x42a: 0x3069, 0x42b: 0x3375, 0x42c: 0x30af, 0x42d: 0x33bb, 0x42e: 0x390b, 0x42f: 0x3a9a, - 0x430: 0x30b9, 0x431: 0x33ca, 0x432: 0x30c3, 0x433: 0x33d4, 0x434: 0x30cd, 0x435: 0x33de, - 0x436: 0x46c4, 0x437: 0x4755, 0x438: 0x3912, 0x439: 0x3aa1, 0x43a: 0x30e6, 0x43b: 0x33f7, - 0x43c: 0x30e1, 0x43d: 0x33f2, 0x43e: 0x30eb, 0x43f: 0x33fc, + 0x400: 0x8132, 0x401: 0x8132, 0x402: 0x812d, 0x403: 0x8132, 0x404: 0x8132, 0x405: 0x8132, + 0x406: 0x8132, 0x407: 0x8132, 0x408: 0x8132, 0x409: 0x8132, 0x40a: 0x812d, 0x40b: 0x8132, + 0x40c: 0x8132, 0x40d: 0x8135, 0x40e: 0x812a, 0x40f: 0x812d, 0x410: 0x8129, 0x411: 0x8132, + 0x412: 0x8132, 0x413: 0x8132, 0x414: 0x8132, 0x415: 0x8132, 0x416: 0x8132, 0x417: 0x8132, + 0x418: 0x8132, 0x419: 0x8132, 0x41a: 0x8132, 0x41b: 0x8132, 0x41c: 0x8132, 0x41d: 0x8132, + 0x41e: 0x8132, 0x41f: 0x8132, 0x420: 0x8132, 0x421: 0x8132, 0x422: 0x8132, 0x423: 0x8132, + 0x424: 0x8132, 0x425: 0x8132, 0x426: 0x8132, 0x427: 0x8132, 0x428: 0x8132, 0x429: 0x8132, + 0x42a: 0x8132, 0x42b: 0x8132, 0x42c: 0x8132, 0x42d: 0x8132, 0x42e: 0x8132, 0x42f: 0x8132, + 0x430: 0x8132, 0x431: 0x8132, 0x432: 0x8132, 0x433: 0x8132, 0x434: 0x8132, 0x435: 0x8132, + 0x436: 0x8133, 0x437: 0x8131, 0x438: 0x8131, 0x439: 0x812d, 0x43b: 0x8132, + 0x43c: 0x8134, 0x43d: 0x812d, 0x43e: 0x8132, 0x43f: 0x812d, // Block 0x11, offset 0x440 - 0x440: 0x30f0, 0x441: 0x3401, 0x442: 0x30f5, 0x443: 0x3406, 0x444: 0x3109, 0x445: 0x341a, - 0x446: 0x3113, 0x447: 0x3424, 0x448: 0x3122, 0x449: 0x3433, 0x44a: 0x311d, 0x44b: 0x342e, - 0x44c: 0x3935, 0x44d: 0x3ac4, 0x44e: 0x3943, 0x44f: 0x3ad2, 0x450: 0x394a, 0x451: 0x3ad9, - 0x452: 0x3951, 0x453: 0x3ae0, 0x454: 0x314f, 0x455: 0x3460, 0x456: 0x3154, 0x457: 0x3465, - 0x458: 0x315e, 0x459: 0x346f, 0x45a: 0x46f1, 0x45b: 0x4782, 0x45c: 0x3997, 0x45d: 0x3b26, - 0x45e: 0x3177, 0x45f: 0x3488, 0x460: 0x3181, 0x461: 0x3492, 0x462: 0x4700, 0x463: 0x4791, - 0x464: 0x399e, 0x465: 0x3b2d, 0x466: 0x39a5, 0x467: 0x3b34, 0x468: 0x39ac, 0x469: 0x3b3b, - 0x46a: 0x3190, 0x46b: 0x34a1, 0x46c: 0x319a, 0x46d: 0x34b0, 0x46e: 0x31ae, 0x46f: 0x34c4, - 0x470: 0x31a9, 0x471: 0x34bf, 0x472: 0x31ea, 0x473: 0x3500, 0x474: 0x31f9, 0x475: 0x350f, - 0x476: 0x31f4, 0x477: 0x350a, 0x478: 0x39b3, 0x479: 0x3b42, 0x47a: 0x39ba, 0x47b: 0x3b49, - 0x47c: 0x31fe, 0x47d: 0x3514, 0x47e: 0x3203, 0x47f: 0x3519, + 0x440: 0x2f97, 0x441: 0x32a3, 0x442: 0x2fa1, 0x443: 0x32ad, 0x444: 0x2fa6, 0x445: 0x32b2, + 0x446: 0x2fab, 0x447: 0x32b7, 0x448: 0x38cc, 0x449: 0x3a5b, 0x44a: 0x2fc4, 0x44b: 0x32d0, + 0x44c: 0x2fce, 0x44d: 0x32da, 0x44e: 0x2fdd, 0x44f: 0x32e9, 0x450: 0x2fd3, 0x451: 0x32df, + 0x452: 0x2fd8, 0x453: 0x32e4, 0x454: 0x38ef, 0x455: 0x3a7e, 0x456: 0x38f6, 0x457: 0x3a85, + 0x458: 0x3019, 0x459: 0x3325, 0x45a: 0x301e, 0x45b: 0x332a, 0x45c: 0x3904, 0x45d: 0x3a93, + 0x45e: 0x3023, 0x45f: 0x332f, 0x460: 0x3032, 0x461: 0x333e, 0x462: 0x3050, 0x463: 0x335c, + 0x464: 0x305f, 0x465: 0x336b, 0x466: 0x3055, 0x467: 0x3361, 0x468: 0x3064, 0x469: 0x3370, + 0x46a: 0x3069, 0x46b: 0x3375, 0x46c: 0x30af, 0x46d: 0x33bb, 0x46e: 0x390b, 0x46f: 0x3a9a, + 0x470: 0x30b9, 0x471: 0x33ca, 0x472: 0x30c3, 0x473: 0x33d4, 0x474: 0x30cd, 0x475: 0x33de, + 0x476: 0x46c4, 0x477: 0x4755, 0x478: 0x3912, 0x479: 0x3aa1, 0x47a: 0x30e6, 0x47b: 0x33f7, + 0x47c: 0x30e1, 0x47d: 0x33f2, 0x47e: 0x30eb, 0x47f: 0x33fc, // Block 0x12, offset 0x480 - 0x480: 0x3208, 0x481: 0x351e, 0x482: 0x320d, 0x483: 0x3523, 0x484: 0x321c, 0x485: 0x3532, - 0x486: 0x3217, 0x487: 0x352d, 0x488: 0x3221, 0x489: 0x353c, 0x48a: 0x3226, 0x48b: 0x3541, - 0x48c: 0x322b, 0x48d: 0x3546, 0x48e: 0x3249, 0x48f: 0x3564, 0x490: 0x3262, 0x491: 0x3582, - 0x492: 0x3271, 0x493: 0x3591, 0x494: 0x3276, 0x495: 0x3596, 0x496: 0x337a, 0x497: 0x34a6, - 0x498: 0x3537, 0x499: 0x3573, 0x49b: 0x35d1, - 0x4a0: 0x46a1, 0x4a1: 0x4732, 0x4a2: 0x2f83, 0x4a3: 0x328f, - 0x4a4: 0x3878, 0x4a5: 0x3a07, 0x4a6: 0x3871, 0x4a7: 0x3a00, 0x4a8: 0x3886, 0x4a9: 0x3a15, - 0x4aa: 0x387f, 0x4ab: 0x3a0e, 0x4ac: 0x38be, 0x4ad: 0x3a4d, 0x4ae: 0x3894, 0x4af: 0x3a23, - 0x4b0: 0x388d, 0x4b1: 0x3a1c, 0x4b2: 0x38a2, 0x4b3: 0x3a31, 0x4b4: 0x389b, 0x4b5: 0x3a2a, - 0x4b6: 0x38c5, 0x4b7: 0x3a54, 0x4b8: 0x46b5, 0x4b9: 0x4746, 0x4ba: 0x3000, 0x4bb: 0x330c, - 0x4bc: 0x2fec, 0x4bd: 0x32f8, 0x4be: 0x38da, 0x4bf: 0x3a69, + 0x480: 0x30f0, 0x481: 0x3401, 0x482: 0x30f5, 0x483: 0x3406, 0x484: 0x3109, 0x485: 0x341a, + 0x486: 0x3113, 0x487: 0x3424, 0x488: 0x3122, 0x489: 0x3433, 0x48a: 0x311d, 0x48b: 0x342e, + 0x48c: 0x3935, 0x48d: 0x3ac4, 0x48e: 0x3943, 0x48f: 0x3ad2, 0x490: 0x394a, 0x491: 0x3ad9, + 0x492: 0x3951, 0x493: 0x3ae0, 0x494: 0x314f, 0x495: 0x3460, 0x496: 0x3154, 0x497: 0x3465, + 0x498: 0x315e, 0x499: 0x346f, 0x49a: 0x46f1, 0x49b: 0x4782, 0x49c: 0x3997, 0x49d: 0x3b26, + 0x49e: 0x3177, 0x49f: 0x3488, 0x4a0: 0x3181, 0x4a1: 0x3492, 0x4a2: 0x4700, 0x4a3: 0x4791, + 0x4a4: 0x399e, 0x4a5: 0x3b2d, 0x4a6: 0x39a5, 0x4a7: 0x3b34, 0x4a8: 0x39ac, 0x4a9: 0x3b3b, + 0x4aa: 0x3190, 0x4ab: 0x34a1, 0x4ac: 0x319a, 0x4ad: 0x34b0, 0x4ae: 0x31ae, 0x4af: 0x34c4, + 0x4b0: 0x31a9, 0x4b1: 0x34bf, 0x4b2: 0x31ea, 0x4b3: 0x3500, 0x4b4: 0x31f9, 0x4b5: 0x350f, + 0x4b6: 0x31f4, 0x4b7: 0x350a, 0x4b8: 0x39b3, 0x4b9: 0x3b42, 0x4ba: 0x39ba, 0x4bb: 0x3b49, + 0x4bc: 0x31fe, 0x4bd: 0x3514, 0x4be: 0x3203, 0x4bf: 0x3519, // Block 0x13, offset 0x4c0 - 0x4c0: 0x38d3, 0x4c1: 0x3a62, 0x4c2: 0x38e8, 0x4c3: 0x3a77, 0x4c4: 0x38e1, 0x4c5: 0x3a70, - 0x4c6: 0x38fd, 0x4c7: 0x3a8c, 0x4c8: 0x3091, 0x4c9: 0x339d, 0x4ca: 0x30a5, 0x4cb: 0x33b1, - 0x4cc: 0x46e7, 0x4cd: 0x4778, 0x4ce: 0x3136, 0x4cf: 0x3447, 0x4d0: 0x3920, 0x4d1: 0x3aaf, - 0x4d2: 0x3919, 0x4d3: 0x3aa8, 0x4d4: 0x392e, 0x4d5: 0x3abd, 0x4d6: 0x3927, 0x4d7: 0x3ab6, - 0x4d8: 0x3989, 0x4d9: 0x3b18, 0x4da: 0x396d, 0x4db: 0x3afc, 0x4dc: 0x3966, 0x4dd: 0x3af5, - 0x4de: 0x397b, 0x4df: 0x3b0a, 0x4e0: 0x3974, 0x4e1: 0x3b03, 0x4e2: 0x3982, 0x4e3: 0x3b11, - 0x4e4: 0x31e5, 0x4e5: 0x34fb, 0x4e6: 0x31c7, 0x4e7: 0x34dd, 0x4e8: 0x39e4, 0x4e9: 0x3b73, - 0x4ea: 0x39dd, 0x4eb: 0x3b6c, 0x4ec: 0x39f2, 0x4ed: 0x3b81, 0x4ee: 0x39eb, 0x4ef: 0x3b7a, - 0x4f0: 0x39f9, 0x4f1: 0x3b88, 0x4f2: 0x3230, 0x4f3: 0x354b, 0x4f4: 0x3258, 0x4f5: 0x3578, - 0x4f6: 0x3253, 0x4f7: 0x356e, 0x4f8: 0x323f, 0x4f9: 0x355a, + 0x4c0: 0x3208, 0x4c1: 0x351e, 0x4c2: 0x320d, 0x4c3: 0x3523, 0x4c4: 0x321c, 0x4c5: 0x3532, + 0x4c6: 0x3217, 0x4c7: 0x352d, 0x4c8: 0x3221, 0x4c9: 0x353c, 0x4ca: 0x3226, 0x4cb: 0x3541, + 0x4cc: 0x322b, 0x4cd: 0x3546, 0x4ce: 0x3249, 0x4cf: 0x3564, 0x4d0: 0x3262, 0x4d1: 0x3582, + 0x4d2: 0x3271, 0x4d3: 0x3591, 0x4d4: 0x3276, 0x4d5: 0x3596, 0x4d6: 0x337a, 0x4d7: 0x34a6, + 0x4d8: 0x3537, 0x4d9: 0x3573, 0x4db: 0x35d1, + 0x4e0: 0x46a1, 0x4e1: 0x4732, 0x4e2: 0x2f83, 0x4e3: 0x328f, + 0x4e4: 0x3878, 0x4e5: 0x3a07, 0x4e6: 0x3871, 0x4e7: 0x3a00, 0x4e8: 0x3886, 0x4e9: 0x3a15, + 0x4ea: 0x387f, 0x4eb: 0x3a0e, 0x4ec: 0x38be, 0x4ed: 0x3a4d, 0x4ee: 0x3894, 0x4ef: 0x3a23, + 0x4f0: 0x388d, 0x4f1: 0x3a1c, 0x4f2: 0x38a2, 0x4f3: 0x3a31, 0x4f4: 0x389b, 0x4f5: 0x3a2a, + 0x4f6: 0x38c5, 0x4f7: 0x3a54, 0x4f8: 0x46b5, 0x4f9: 0x4746, 0x4fa: 0x3000, 0x4fb: 0x330c, + 0x4fc: 0x2fec, 0x4fd: 0x32f8, 0x4fe: 0x38da, 0x4ff: 0x3a69, // Block 0x14, offset 0x500 - 0x500: 0x4804, 0x501: 0x480a, 0x502: 0x491e, 0x503: 0x4936, 0x504: 0x4926, 0x505: 0x493e, - 0x506: 0x492e, 0x507: 0x4946, 0x508: 0x47aa, 0x509: 0x47b0, 0x50a: 0x488e, 0x50b: 0x48a6, - 0x50c: 0x4896, 0x50d: 0x48ae, 0x50e: 0x489e, 0x50f: 0x48b6, 0x510: 0x4816, 0x511: 0x481c, - 0x512: 0x3db8, 0x513: 0x3dc8, 0x514: 0x3dc0, 0x515: 0x3dd0, - 0x518: 0x47b6, 0x519: 0x47bc, 0x51a: 0x3ce8, 0x51b: 0x3cf8, 0x51c: 0x3cf0, 0x51d: 0x3d00, - 0x520: 0x482e, 0x521: 0x4834, 0x522: 0x494e, 0x523: 0x4966, - 0x524: 0x4956, 0x525: 0x496e, 0x526: 0x495e, 0x527: 0x4976, 0x528: 0x47c2, 0x529: 0x47c8, - 0x52a: 0x48be, 0x52b: 0x48d6, 0x52c: 0x48c6, 0x52d: 0x48de, 0x52e: 0x48ce, 0x52f: 0x48e6, - 0x530: 0x4846, 0x531: 0x484c, 0x532: 0x3e18, 0x533: 0x3e30, 0x534: 0x3e20, 0x535: 0x3e38, - 0x536: 0x3e28, 0x537: 0x3e40, 0x538: 0x47ce, 0x539: 0x47d4, 0x53a: 0x3d18, 0x53b: 0x3d30, - 0x53c: 0x3d20, 0x53d: 0x3d38, 0x53e: 0x3d28, 0x53f: 0x3d40, + 0x500: 0x38d3, 0x501: 0x3a62, 0x502: 0x38e8, 0x503: 0x3a77, 0x504: 0x38e1, 0x505: 0x3a70, + 0x506: 0x38fd, 0x507: 0x3a8c, 0x508: 0x3091, 0x509: 0x339d, 0x50a: 0x30a5, 0x50b: 0x33b1, + 0x50c: 0x46e7, 0x50d: 0x4778, 0x50e: 0x3136, 0x50f: 0x3447, 0x510: 0x3920, 0x511: 0x3aaf, + 0x512: 0x3919, 0x513: 0x3aa8, 0x514: 0x392e, 0x515: 0x3abd, 0x516: 0x3927, 0x517: 0x3ab6, + 0x518: 0x3989, 0x519: 0x3b18, 0x51a: 0x396d, 0x51b: 0x3afc, 0x51c: 0x3966, 0x51d: 0x3af5, + 0x51e: 0x397b, 0x51f: 0x3b0a, 0x520: 0x3974, 0x521: 0x3b03, 0x522: 0x3982, 0x523: 0x3b11, + 0x524: 0x31e5, 0x525: 0x34fb, 0x526: 0x31c7, 0x527: 0x34dd, 0x528: 0x39e4, 0x529: 0x3b73, + 0x52a: 0x39dd, 0x52b: 0x3b6c, 0x52c: 0x39f2, 0x52d: 0x3b81, 0x52e: 0x39eb, 0x52f: 0x3b7a, + 0x530: 0x39f9, 0x531: 0x3b88, 0x532: 0x3230, 0x533: 0x354b, 0x534: 0x3258, 0x535: 0x3578, + 0x536: 0x3253, 0x537: 0x356e, 0x538: 0x323f, 0x539: 0x355a, // Block 0x15, offset 0x540 - 0x540: 0x4852, 0x541: 0x4858, 0x542: 0x3e48, 0x543: 0x3e58, 0x544: 0x3e50, 0x545: 0x3e60, - 0x548: 0x47da, 0x549: 0x47e0, 0x54a: 0x3d48, 0x54b: 0x3d58, - 0x54c: 0x3d50, 0x54d: 0x3d60, 0x550: 0x4864, 0x551: 0x486a, - 0x552: 0x3e80, 0x553: 0x3e98, 0x554: 0x3e88, 0x555: 0x3ea0, 0x556: 0x3e90, 0x557: 0x3ea8, - 0x559: 0x47e6, 0x55b: 0x3d68, 0x55d: 0x3d70, - 0x55f: 0x3d78, 0x560: 0x487c, 0x561: 0x4882, 0x562: 0x497e, 0x563: 0x4996, - 0x564: 0x4986, 0x565: 0x499e, 0x566: 0x498e, 0x567: 0x49a6, 0x568: 0x47ec, 0x569: 0x47f2, - 0x56a: 0x48ee, 0x56b: 0x4906, 0x56c: 0x48f6, 0x56d: 0x490e, 0x56e: 0x48fe, 0x56f: 0x4916, - 0x570: 0x47f8, 0x571: 0x431e, 0x572: 0x3691, 0x573: 0x4324, 0x574: 0x4822, 0x575: 0x432a, - 0x576: 0x36a3, 0x577: 0x4330, 0x578: 0x36c1, 0x579: 0x4336, 0x57a: 0x36d9, 0x57b: 0x433c, - 0x57c: 0x4870, 0x57d: 0x4342, + 0x540: 0x4804, 0x541: 0x480a, 0x542: 0x491e, 0x543: 0x4936, 0x544: 0x4926, 0x545: 0x493e, + 0x546: 0x492e, 0x547: 0x4946, 0x548: 0x47aa, 0x549: 0x47b0, 0x54a: 0x488e, 0x54b: 0x48a6, + 0x54c: 0x4896, 0x54d: 0x48ae, 0x54e: 0x489e, 0x54f: 0x48b6, 0x550: 0x4816, 0x551: 0x481c, + 0x552: 0x3db8, 0x553: 0x3dc8, 0x554: 0x3dc0, 0x555: 0x3dd0, + 0x558: 0x47b6, 0x559: 0x47bc, 0x55a: 0x3ce8, 0x55b: 0x3cf8, 0x55c: 0x3cf0, 0x55d: 0x3d00, + 0x560: 0x482e, 0x561: 0x4834, 0x562: 0x494e, 0x563: 0x4966, + 0x564: 0x4956, 0x565: 0x496e, 0x566: 0x495e, 0x567: 0x4976, 0x568: 0x47c2, 0x569: 0x47c8, + 0x56a: 0x48be, 0x56b: 0x48d6, 0x56c: 0x48c6, 0x56d: 0x48de, 0x56e: 0x48ce, 0x56f: 0x48e6, + 0x570: 0x4846, 0x571: 0x484c, 0x572: 0x3e18, 0x573: 0x3e30, 0x574: 0x3e20, 0x575: 0x3e38, + 0x576: 0x3e28, 0x577: 0x3e40, 0x578: 0x47ce, 0x579: 0x47d4, 0x57a: 0x3d18, 0x57b: 0x3d30, + 0x57c: 0x3d20, 0x57d: 0x3d38, 0x57e: 0x3d28, 0x57f: 0x3d40, // Block 0x16, offset 0x580 - 0x580: 0x3da0, 0x581: 0x3da8, 0x582: 0x4184, 0x583: 0x41a2, 0x584: 0x418e, 0x585: 0x41ac, - 0x586: 0x4198, 0x587: 0x41b6, 0x588: 0x3cd8, 0x589: 0x3ce0, 0x58a: 0x40d0, 0x58b: 0x40ee, - 0x58c: 0x40da, 0x58d: 0x40f8, 0x58e: 0x40e4, 0x58f: 0x4102, 0x590: 0x3de8, 0x591: 0x3df0, - 0x592: 0x41c0, 0x593: 0x41de, 0x594: 0x41ca, 0x595: 0x41e8, 0x596: 0x41d4, 0x597: 0x41f2, - 0x598: 0x3d08, 0x599: 0x3d10, 0x59a: 0x410c, 0x59b: 0x412a, 0x59c: 0x4116, 0x59d: 0x4134, - 0x59e: 0x4120, 0x59f: 0x413e, 0x5a0: 0x3ec0, 0x5a1: 0x3ec8, 0x5a2: 0x41fc, 0x5a3: 0x421a, - 0x5a4: 0x4206, 0x5a5: 0x4224, 0x5a6: 0x4210, 0x5a7: 0x422e, 0x5a8: 0x3d80, 0x5a9: 0x3d88, - 0x5aa: 0x4148, 0x5ab: 0x4166, 0x5ac: 0x4152, 0x5ad: 0x4170, 0x5ae: 0x415c, 0x5af: 0x417a, - 0x5b0: 0x3685, 0x5b1: 0x367f, 0x5b2: 0x3d90, 0x5b3: 0x368b, 0x5b4: 0x3d98, - 0x5b6: 0x4810, 0x5b7: 0x3db0, 0x5b8: 0x35f5, 0x5b9: 0x35ef, 0x5ba: 0x35e3, 0x5bb: 0x42ee, - 0x5bc: 0x35fb, 0x5bd: 0x8100, 0x5be: 0x01d3, 0x5bf: 0xa100, + 0x580: 0x4852, 0x581: 0x4858, 0x582: 0x3e48, 0x583: 0x3e58, 0x584: 0x3e50, 0x585: 0x3e60, + 0x588: 0x47da, 0x589: 0x47e0, 0x58a: 0x3d48, 0x58b: 0x3d58, + 0x58c: 0x3d50, 0x58d: 0x3d60, 0x590: 0x4864, 0x591: 0x486a, + 0x592: 0x3e80, 0x593: 0x3e98, 0x594: 0x3e88, 0x595: 0x3ea0, 0x596: 0x3e90, 0x597: 0x3ea8, + 0x599: 0x47e6, 0x59b: 0x3d68, 0x59d: 0x3d70, + 0x59f: 0x3d78, 0x5a0: 0x487c, 0x5a1: 0x4882, 0x5a2: 0x497e, 0x5a3: 0x4996, + 0x5a4: 0x4986, 0x5a5: 0x499e, 0x5a6: 0x498e, 0x5a7: 0x49a6, 0x5a8: 0x47ec, 0x5a9: 0x47f2, + 0x5aa: 0x48ee, 0x5ab: 0x4906, 0x5ac: 0x48f6, 0x5ad: 0x490e, 0x5ae: 0x48fe, 0x5af: 0x4916, + 0x5b0: 0x47f8, 0x5b1: 0x431e, 0x5b2: 0x3691, 0x5b3: 0x4324, 0x5b4: 0x4822, 0x5b5: 0x432a, + 0x5b6: 0x36a3, 0x5b7: 0x4330, 0x5b8: 0x36c1, 0x5b9: 0x4336, 0x5ba: 0x36d9, 0x5bb: 0x433c, + 0x5bc: 0x4870, 0x5bd: 0x4342, // Block 0x17, offset 0x5c0 - 0x5c0: 0x8100, 0x5c1: 0x35a7, 0x5c2: 0x3dd8, 0x5c3: 0x369d, 0x5c4: 0x3de0, - 0x5c6: 0x483a, 0x5c7: 0x3df8, 0x5c8: 0x3601, 0x5c9: 0x42f4, 0x5ca: 0x360d, 0x5cb: 0x42fa, - 0x5cc: 0x3619, 0x5cd: 0x3b8f, 0x5ce: 0x3b96, 0x5cf: 0x3b9d, 0x5d0: 0x36b5, 0x5d1: 0x36af, - 0x5d2: 0x3e00, 0x5d3: 0x44e4, 0x5d6: 0x36bb, 0x5d7: 0x3e10, - 0x5d8: 0x3631, 0x5d9: 0x362b, 0x5da: 0x361f, 0x5db: 0x4300, 0x5dd: 0x3ba4, - 0x5de: 0x3bab, 0x5df: 0x3bb2, 0x5e0: 0x36eb, 0x5e1: 0x36e5, 0x5e2: 0x3e68, 0x5e3: 0x44ec, - 0x5e4: 0x36cd, 0x5e5: 0x36d3, 0x5e6: 0x36f1, 0x5e7: 0x3e78, 0x5e8: 0x3661, 0x5e9: 0x365b, - 0x5ea: 0x364f, 0x5eb: 0x430c, 0x5ec: 0x3649, 0x5ed: 0x359b, 0x5ee: 0x42e8, 0x5ef: 0x0081, - 0x5f2: 0x3eb0, 0x5f3: 0x36f7, 0x5f4: 0x3eb8, - 0x5f6: 0x4888, 0x5f7: 0x3ed0, 0x5f8: 0x363d, 0x5f9: 0x4306, 0x5fa: 0x366d, 0x5fb: 0x4318, - 0x5fc: 0x3679, 0x5fd: 0x4256, 0x5fe: 0xa100, + 0x5c0: 0x3da0, 0x5c1: 0x3da8, 0x5c2: 0x4184, 0x5c3: 0x41a2, 0x5c4: 0x418e, 0x5c5: 0x41ac, + 0x5c6: 0x4198, 0x5c7: 0x41b6, 0x5c8: 0x3cd8, 0x5c9: 0x3ce0, 0x5ca: 0x40d0, 0x5cb: 0x40ee, + 0x5cc: 0x40da, 0x5cd: 0x40f8, 0x5ce: 0x40e4, 0x5cf: 0x4102, 0x5d0: 0x3de8, 0x5d1: 0x3df0, + 0x5d2: 0x41c0, 0x5d3: 0x41de, 0x5d4: 0x41ca, 0x5d5: 0x41e8, 0x5d6: 0x41d4, 0x5d7: 0x41f2, + 0x5d8: 0x3d08, 0x5d9: 0x3d10, 0x5da: 0x410c, 0x5db: 0x412a, 0x5dc: 0x4116, 0x5dd: 0x4134, + 0x5de: 0x4120, 0x5df: 0x413e, 0x5e0: 0x3ec0, 0x5e1: 0x3ec8, 0x5e2: 0x41fc, 0x5e3: 0x421a, + 0x5e4: 0x4206, 0x5e5: 0x4224, 0x5e6: 0x4210, 0x5e7: 0x422e, 0x5e8: 0x3d80, 0x5e9: 0x3d88, + 0x5ea: 0x4148, 0x5eb: 0x4166, 0x5ec: 0x4152, 0x5ed: 0x4170, 0x5ee: 0x415c, 0x5ef: 0x417a, + 0x5f0: 0x3685, 0x5f1: 0x367f, 0x5f2: 0x3d90, 0x5f3: 0x368b, 0x5f4: 0x3d98, + 0x5f6: 0x4810, 0x5f7: 0x3db0, 0x5f8: 0x35f5, 0x5f9: 0x35ef, 0x5fa: 0x35e3, 0x5fb: 0x42ee, + 0x5fc: 0x35fb, 0x5fd: 0x8100, 0x5fe: 0x01d3, 0x5ff: 0xa100, // Block 0x18, offset 0x600 - 0x601: 0x3c06, 0x603: 0xa000, 0x604: 0x3c0d, 0x605: 0xa000, - 0x607: 0x3c14, 0x608: 0xa000, 0x609: 0x3c1b, - 0x60d: 0xa000, - 0x620: 0x2f65, 0x621: 0xa000, 0x622: 0x3c29, - 0x624: 0xa000, 0x625: 0xa000, - 0x62d: 0x3c22, 0x62e: 0x2f60, 0x62f: 0x2f6a, - 0x630: 0x3c30, 0x631: 0x3c37, 0x632: 0xa000, 0x633: 0xa000, 0x634: 0x3c3e, 0x635: 0x3c45, - 0x636: 0xa000, 0x637: 0xa000, 0x638: 0x3c4c, 0x639: 0x3c53, 0x63a: 0xa000, 0x63b: 0xa000, - 0x63c: 0xa000, 0x63d: 0xa000, + 0x600: 0x8100, 0x601: 0x35a7, 0x602: 0x3dd8, 0x603: 0x369d, 0x604: 0x3de0, + 0x606: 0x483a, 0x607: 0x3df8, 0x608: 0x3601, 0x609: 0x42f4, 0x60a: 0x360d, 0x60b: 0x42fa, + 0x60c: 0x3619, 0x60d: 0x3b8f, 0x60e: 0x3b96, 0x60f: 0x3b9d, 0x610: 0x36b5, 0x611: 0x36af, + 0x612: 0x3e00, 0x613: 0x44e4, 0x616: 0x36bb, 0x617: 0x3e10, + 0x618: 0x3631, 0x619: 0x362b, 0x61a: 0x361f, 0x61b: 0x4300, 0x61d: 0x3ba4, + 0x61e: 0x3bab, 0x61f: 0x3bb2, 0x620: 0x36eb, 0x621: 0x36e5, 0x622: 0x3e68, 0x623: 0x44ec, + 0x624: 0x36cd, 0x625: 0x36d3, 0x626: 0x36f1, 0x627: 0x3e78, 0x628: 0x3661, 0x629: 0x365b, + 0x62a: 0x364f, 0x62b: 0x430c, 0x62c: 0x3649, 0x62d: 0x359b, 0x62e: 0x42e8, 0x62f: 0x0081, + 0x632: 0x3eb0, 0x633: 0x36f7, 0x634: 0x3eb8, + 0x636: 0x4888, 0x637: 0x3ed0, 0x638: 0x363d, 0x639: 0x4306, 0x63a: 0x366d, 0x63b: 0x4318, + 0x63c: 0x3679, 0x63d: 0x4256, 0x63e: 0xa100, // Block 0x19, offset 0x640 - 0x640: 0x3c5a, 0x641: 0x3c61, 0x642: 0xa000, 0x643: 0xa000, 0x644: 0x3c76, 0x645: 0x3c7d, - 0x646: 0xa000, 0x647: 0xa000, 0x648: 0x3c84, 0x649: 0x3c8b, - 0x651: 0xa000, - 0x652: 0xa000, - 0x662: 0xa000, - 0x668: 0xa000, 0x669: 0xa000, - 0x66b: 0xa000, 0x66c: 0x3ca0, 0x66d: 0x3ca7, 0x66e: 0x3cae, 0x66f: 0x3cb5, - 0x672: 0xa000, 0x673: 0xa000, 0x674: 0xa000, 0x675: 0xa000, + 0x641: 0x3c06, 0x643: 0xa000, 0x644: 0x3c0d, 0x645: 0xa000, + 0x647: 0x3c14, 0x648: 0xa000, 0x649: 0x3c1b, + 0x64d: 0xa000, + 0x660: 0x2f65, 0x661: 0xa000, 0x662: 0x3c29, + 0x664: 0xa000, 0x665: 0xa000, + 0x66d: 0x3c22, 0x66e: 0x2f60, 0x66f: 0x2f6a, + 0x670: 0x3c30, 0x671: 0x3c37, 0x672: 0xa000, 0x673: 0xa000, 0x674: 0x3c3e, 0x675: 0x3c45, + 0x676: 0xa000, 0x677: 0xa000, 0x678: 0x3c4c, 0x679: 0x3c53, 0x67a: 0xa000, 0x67b: 0xa000, + 0x67c: 0xa000, 0x67d: 0xa000, // Block 0x1a, offset 0x680 - 0x686: 0xa000, 0x68b: 0xa000, - 0x68c: 0x3f08, 0x68d: 0xa000, 0x68e: 0x3f10, 0x68f: 0xa000, 0x690: 0x3f18, 0x691: 0xa000, - 0x692: 0x3f20, 0x693: 0xa000, 0x694: 0x3f28, 0x695: 0xa000, 0x696: 0x3f30, 0x697: 0xa000, - 0x698: 0x3f38, 0x699: 0xa000, 0x69a: 0x3f40, 0x69b: 0xa000, 0x69c: 0x3f48, 0x69d: 0xa000, - 0x69e: 0x3f50, 0x69f: 0xa000, 0x6a0: 0x3f58, 0x6a1: 0xa000, 0x6a2: 0x3f60, - 0x6a4: 0xa000, 0x6a5: 0x3f68, 0x6a6: 0xa000, 0x6a7: 0x3f70, 0x6a8: 0xa000, 0x6a9: 0x3f78, - 0x6af: 0xa000, - 0x6b0: 0x3f80, 0x6b1: 0x3f88, 0x6b2: 0xa000, 0x6b3: 0x3f90, 0x6b4: 0x3f98, 0x6b5: 0xa000, - 0x6b6: 0x3fa0, 0x6b7: 0x3fa8, 0x6b8: 0xa000, 0x6b9: 0x3fb0, 0x6ba: 0x3fb8, 0x6bb: 0xa000, - 0x6bc: 0x3fc0, 0x6bd: 0x3fc8, + 0x680: 0x3c5a, 0x681: 0x3c61, 0x682: 0xa000, 0x683: 0xa000, 0x684: 0x3c76, 0x685: 0x3c7d, + 0x686: 0xa000, 0x687: 0xa000, 0x688: 0x3c84, 0x689: 0x3c8b, + 0x691: 0xa000, + 0x692: 0xa000, + 0x6a2: 0xa000, + 0x6a8: 0xa000, 0x6a9: 0xa000, + 0x6ab: 0xa000, 0x6ac: 0x3ca0, 0x6ad: 0x3ca7, 0x6ae: 0x3cae, 0x6af: 0x3cb5, + 0x6b2: 0xa000, 0x6b3: 0xa000, 0x6b4: 0xa000, 0x6b5: 0xa000, // Block 0x1b, offset 0x6c0 - 0x6d4: 0x3f00, - 0x6d9: 0x9903, 0x6da: 0x9903, 0x6db: 0x8100, 0x6dc: 0x8100, 0x6dd: 0xa000, - 0x6de: 0x3fd0, - 0x6e6: 0xa000, - 0x6eb: 0xa000, 0x6ec: 0x3fe0, 0x6ed: 0xa000, 0x6ee: 0x3fe8, 0x6ef: 0xa000, - 0x6f0: 0x3ff0, 0x6f1: 0xa000, 0x6f2: 0x3ff8, 0x6f3: 0xa000, 0x6f4: 0x4000, 0x6f5: 0xa000, - 0x6f6: 0x4008, 0x6f7: 0xa000, 0x6f8: 0x4010, 0x6f9: 0xa000, 0x6fa: 0x4018, 0x6fb: 0xa000, - 0x6fc: 0x4020, 0x6fd: 0xa000, 0x6fe: 0x4028, 0x6ff: 0xa000, + 0x6c6: 0xa000, 0x6cb: 0xa000, + 0x6cc: 0x3f08, 0x6cd: 0xa000, 0x6ce: 0x3f10, 0x6cf: 0xa000, 0x6d0: 0x3f18, 0x6d1: 0xa000, + 0x6d2: 0x3f20, 0x6d3: 0xa000, 0x6d4: 0x3f28, 0x6d5: 0xa000, 0x6d6: 0x3f30, 0x6d7: 0xa000, + 0x6d8: 0x3f38, 0x6d9: 0xa000, 0x6da: 0x3f40, 0x6db: 0xa000, 0x6dc: 0x3f48, 0x6dd: 0xa000, + 0x6de: 0x3f50, 0x6df: 0xa000, 0x6e0: 0x3f58, 0x6e1: 0xa000, 0x6e2: 0x3f60, + 0x6e4: 0xa000, 0x6e5: 0x3f68, 0x6e6: 0xa000, 0x6e7: 0x3f70, 0x6e8: 0xa000, 0x6e9: 0x3f78, + 0x6ef: 0xa000, + 0x6f0: 0x3f80, 0x6f1: 0x3f88, 0x6f2: 0xa000, 0x6f3: 0x3f90, 0x6f4: 0x3f98, 0x6f5: 0xa000, + 0x6f6: 0x3fa0, 0x6f7: 0x3fa8, 0x6f8: 0xa000, 0x6f9: 0x3fb0, 0x6fa: 0x3fb8, 0x6fb: 0xa000, + 0x6fc: 0x3fc0, 0x6fd: 0x3fc8, // Block 0x1c, offset 0x700 - 0x700: 0x4030, 0x701: 0xa000, 0x702: 0x4038, 0x704: 0xa000, 0x705: 0x4040, - 0x706: 0xa000, 0x707: 0x4048, 0x708: 0xa000, 0x709: 0x4050, - 0x70f: 0xa000, 0x710: 0x4058, 0x711: 0x4060, - 0x712: 0xa000, 0x713: 0x4068, 0x714: 0x4070, 0x715: 0xa000, 0x716: 0x4078, 0x717: 0x4080, - 0x718: 0xa000, 0x719: 0x4088, 0x71a: 0x4090, 0x71b: 0xa000, 0x71c: 0x4098, 0x71d: 0x40a0, - 0x72f: 0xa000, - 0x730: 0xa000, 0x731: 0xa000, 0x732: 0xa000, 0x734: 0x3fd8, - 0x737: 0x40a8, 0x738: 0x40b0, 0x739: 0x40b8, 0x73a: 0x40c0, - 0x73d: 0xa000, 0x73e: 0x40c8, + 0x714: 0x3f00, + 0x719: 0x9903, 0x71a: 0x9903, 0x71b: 0x8100, 0x71c: 0x8100, 0x71d: 0xa000, + 0x71e: 0x3fd0, + 0x726: 0xa000, + 0x72b: 0xa000, 0x72c: 0x3fe0, 0x72d: 0xa000, 0x72e: 0x3fe8, 0x72f: 0xa000, + 0x730: 0x3ff0, 0x731: 0xa000, 0x732: 0x3ff8, 0x733: 0xa000, 0x734: 0x4000, 0x735: 0xa000, + 0x736: 0x4008, 0x737: 0xa000, 0x738: 0x4010, 0x739: 0xa000, 0x73a: 0x4018, 0x73b: 0xa000, + 0x73c: 0x4020, 0x73d: 0xa000, 0x73e: 0x4028, 0x73f: 0xa000, // Block 0x1d, offset 0x740 - 0x740: 0x1377, 0x741: 0x0cfb, 0x742: 0x13d3, 0x743: 0x139f, 0x744: 0x0e57, 0x745: 0x06eb, - 0x746: 0x08df, 0x747: 0x162b, 0x748: 0x162b, 0x749: 0x0a0b, 0x74a: 0x145f, 0x74b: 0x0943, - 0x74c: 0x0a07, 0x74d: 0x0bef, 0x74e: 0x0fcf, 0x74f: 0x115f, 0x750: 0x1297, 0x751: 0x12d3, - 0x752: 0x1307, 0x753: 0x141b, 0x754: 0x0d73, 0x755: 0x0dff, 0x756: 0x0eab, 0x757: 0x0f43, - 0x758: 0x125f, 0x759: 0x1447, 0x75a: 0x1573, 0x75b: 0x070f, 0x75c: 0x08b3, 0x75d: 0x0d87, - 0x75e: 0x0ecf, 0x75f: 0x1293, 0x760: 0x15c3, 0x761: 0x0ab3, 0x762: 0x0e77, 0x763: 0x1283, - 0x764: 0x1317, 0x765: 0x0c23, 0x766: 0x11bb, 0x767: 0x12df, 0x768: 0x0b1f, 0x769: 0x0d0f, - 0x76a: 0x0e17, 0x76b: 0x0f1b, 0x76c: 0x1427, 0x76d: 0x074f, 0x76e: 0x07e7, 0x76f: 0x0853, - 0x770: 0x0c8b, 0x771: 0x0d7f, 0x772: 0x0ecb, 0x773: 0x0fef, 0x774: 0x1177, 0x775: 0x128b, - 0x776: 0x12a3, 0x777: 0x13c7, 0x778: 0x14ef, 0x779: 0x15a3, 0x77a: 0x15bf, 0x77b: 0x102b, - 0x77c: 0x106b, 0x77d: 0x1123, 0x77e: 0x1243, 0x77f: 0x147b, + 0x740: 0x4030, 0x741: 0xa000, 0x742: 0x4038, 0x744: 0xa000, 0x745: 0x4040, + 0x746: 0xa000, 0x747: 0x4048, 0x748: 0xa000, 0x749: 0x4050, + 0x74f: 0xa000, 0x750: 0x4058, 0x751: 0x4060, + 0x752: 0xa000, 0x753: 0x4068, 0x754: 0x4070, 0x755: 0xa000, 0x756: 0x4078, 0x757: 0x4080, + 0x758: 0xa000, 0x759: 0x4088, 0x75a: 0x4090, 0x75b: 0xa000, 0x75c: 0x4098, 0x75d: 0x40a0, + 0x76f: 0xa000, + 0x770: 0xa000, 0x771: 0xa000, 0x772: 0xa000, 0x774: 0x3fd8, + 0x777: 0x40a8, 0x778: 0x40b0, 0x779: 0x40b8, 0x77a: 0x40c0, + 0x77d: 0xa000, 0x77e: 0x40c8, // Block 0x1e, offset 0x780 - 0x780: 0x15cb, 0x781: 0x134b, 0x782: 0x09c7, 0x783: 0x0b3b, 0x784: 0x10db, 0x785: 0x119b, - 0x786: 0x0eff, 0x787: 0x1033, 0x788: 0x1397, 0x789: 0x14e7, 0x78a: 0x09c3, 0x78b: 0x0a8f, - 0x78c: 0x0d77, 0x78d: 0x0e2b, 0x78e: 0x0e5f, 0x78f: 0x1113, 0x790: 0x113b, 0x791: 0x14a7, - 0x792: 0x084f, 0x793: 0x11a7, 0x794: 0x07f3, 0x795: 0x07ef, 0x796: 0x1097, 0x797: 0x1127, - 0x798: 0x125b, 0x799: 0x14af, 0x79a: 0x1367, 0x79b: 0x0c27, 0x79c: 0x0d73, 0x79d: 0x1357, - 0x79e: 0x06f7, 0x79f: 0x0a63, 0x7a0: 0x0b93, 0x7a1: 0x0f2f, 0x7a2: 0x0faf, 0x7a3: 0x0873, - 0x7a4: 0x103b, 0x7a5: 0x075f, 0x7a6: 0x0b77, 0x7a7: 0x06d7, 0x7a8: 0x0deb, 0x7a9: 0x0ca3, - 0x7aa: 0x110f, 0x7ab: 0x08c7, 0x7ac: 0x09b3, 0x7ad: 0x0ffb, 0x7ae: 0x1263, 0x7af: 0x133b, - 0x7b0: 0x0db7, 0x7b1: 0x13f7, 0x7b2: 0x0de3, 0x7b3: 0x0c37, 0x7b4: 0x121b, 0x7b5: 0x0c57, - 0x7b6: 0x0fab, 0x7b7: 0x072b, 0x7b8: 0x07a7, 0x7b9: 0x07eb, 0x7ba: 0x0d53, 0x7bb: 0x10fb, - 0x7bc: 0x11f3, 0x7bd: 0x1347, 0x7be: 0x145b, 0x7bf: 0x085b, + 0x780: 0x1377, 0x781: 0x0cfb, 0x782: 0x13d3, 0x783: 0x139f, 0x784: 0x0e57, 0x785: 0x06eb, + 0x786: 0x08df, 0x787: 0x162b, 0x788: 0x162b, 0x789: 0x0a0b, 0x78a: 0x145f, 0x78b: 0x0943, + 0x78c: 0x0a07, 0x78d: 0x0bef, 0x78e: 0x0fcf, 0x78f: 0x115f, 0x790: 0x1297, 0x791: 0x12d3, + 0x792: 0x1307, 0x793: 0x141b, 0x794: 0x0d73, 0x795: 0x0dff, 0x796: 0x0eab, 0x797: 0x0f43, + 0x798: 0x125f, 0x799: 0x1447, 0x79a: 0x1573, 0x79b: 0x070f, 0x79c: 0x08b3, 0x79d: 0x0d87, + 0x79e: 0x0ecf, 0x79f: 0x1293, 0x7a0: 0x15c3, 0x7a1: 0x0ab3, 0x7a2: 0x0e77, 0x7a3: 0x1283, + 0x7a4: 0x1317, 0x7a5: 0x0c23, 0x7a6: 0x11bb, 0x7a7: 0x12df, 0x7a8: 0x0b1f, 0x7a9: 0x0d0f, + 0x7aa: 0x0e17, 0x7ab: 0x0f1b, 0x7ac: 0x1427, 0x7ad: 0x074f, 0x7ae: 0x07e7, 0x7af: 0x0853, + 0x7b0: 0x0c8b, 0x7b1: 0x0d7f, 0x7b2: 0x0ecb, 0x7b3: 0x0fef, 0x7b4: 0x1177, 0x7b5: 0x128b, + 0x7b6: 0x12a3, 0x7b7: 0x13c7, 0x7b8: 0x14ef, 0x7b9: 0x15a3, 0x7ba: 0x15bf, 0x7bb: 0x102b, + 0x7bc: 0x106b, 0x7bd: 0x1123, 0x7be: 0x1243, 0x7bf: 0x147b, // Block 0x1f, offset 0x7c0 - 0x7c0: 0x090f, 0x7c1: 0x0a17, 0x7c2: 0x0b2f, 0x7c3: 0x0cbf, 0x7c4: 0x0e7b, 0x7c5: 0x103f, - 0x7c6: 0x1497, 0x7c7: 0x157b, 0x7c8: 0x15cf, 0x7c9: 0x15e7, 0x7ca: 0x0837, 0x7cb: 0x0cf3, - 0x7cc: 0x0da3, 0x7cd: 0x13eb, 0x7ce: 0x0afb, 0x7cf: 0x0bd7, 0x7d0: 0x0bf3, 0x7d1: 0x0c83, - 0x7d2: 0x0e6b, 0x7d3: 0x0eb7, 0x7d4: 0x0f67, 0x7d5: 0x108b, 0x7d6: 0x112f, 0x7d7: 0x1193, - 0x7d8: 0x13db, 0x7d9: 0x126b, 0x7da: 0x1403, 0x7db: 0x147f, 0x7dc: 0x080f, 0x7dd: 0x083b, - 0x7de: 0x0923, 0x7df: 0x0ea7, 0x7e0: 0x12f3, 0x7e1: 0x133b, 0x7e2: 0x0b1b, 0x7e3: 0x0b8b, - 0x7e4: 0x0c4f, 0x7e5: 0x0daf, 0x7e6: 0x10d7, 0x7e7: 0x0f23, 0x7e8: 0x073b, 0x7e9: 0x097f, - 0x7ea: 0x0a63, 0x7eb: 0x0ac7, 0x7ec: 0x0b97, 0x7ed: 0x0f3f, 0x7ee: 0x0f5b, 0x7ef: 0x116b, - 0x7f0: 0x118b, 0x7f1: 0x1463, 0x7f2: 0x14e3, 0x7f3: 0x14f3, 0x7f4: 0x152f, 0x7f5: 0x0753, - 0x7f6: 0x107f, 0x7f7: 0x144f, 0x7f8: 0x14cb, 0x7f9: 0x0baf, 0x7fa: 0x0717, 0x7fb: 0x0777, - 0x7fc: 0x0a67, 0x7fd: 0x0a87, 0x7fe: 0x0caf, 0x7ff: 0x0d73, + 0x7c0: 0x15cb, 0x7c1: 0x134b, 0x7c2: 0x09c7, 0x7c3: 0x0b3b, 0x7c4: 0x10db, 0x7c5: 0x119b, + 0x7c6: 0x0eff, 0x7c7: 0x1033, 0x7c8: 0x1397, 0x7c9: 0x14e7, 0x7ca: 0x09c3, 0x7cb: 0x0a8f, + 0x7cc: 0x0d77, 0x7cd: 0x0e2b, 0x7ce: 0x0e5f, 0x7cf: 0x1113, 0x7d0: 0x113b, 0x7d1: 0x14a7, + 0x7d2: 0x084f, 0x7d3: 0x11a7, 0x7d4: 0x07f3, 0x7d5: 0x07ef, 0x7d6: 0x1097, 0x7d7: 0x1127, + 0x7d8: 0x125b, 0x7d9: 0x14af, 0x7da: 0x1367, 0x7db: 0x0c27, 0x7dc: 0x0d73, 0x7dd: 0x1357, + 0x7de: 0x06f7, 0x7df: 0x0a63, 0x7e0: 0x0b93, 0x7e1: 0x0f2f, 0x7e2: 0x0faf, 0x7e3: 0x0873, + 0x7e4: 0x103b, 0x7e5: 0x075f, 0x7e6: 0x0b77, 0x7e7: 0x06d7, 0x7e8: 0x0deb, 0x7e9: 0x0ca3, + 0x7ea: 0x110f, 0x7eb: 0x08c7, 0x7ec: 0x09b3, 0x7ed: 0x0ffb, 0x7ee: 0x1263, 0x7ef: 0x133b, + 0x7f0: 0x0db7, 0x7f1: 0x13f7, 0x7f2: 0x0de3, 0x7f3: 0x0c37, 0x7f4: 0x121b, 0x7f5: 0x0c57, + 0x7f6: 0x0fab, 0x7f7: 0x072b, 0x7f8: 0x07a7, 0x7f9: 0x07eb, 0x7fa: 0x0d53, 0x7fb: 0x10fb, + 0x7fc: 0x11f3, 0x7fd: 0x1347, 0x7fe: 0x145b, 0x7ff: 0x085b, // Block 0x20, offset 0x800 - 0x800: 0x0ec3, 0x801: 0x0fcb, 0x802: 0x1277, 0x803: 0x1417, 0x804: 0x1623, 0x805: 0x0ce3, - 0x806: 0x14a3, 0x807: 0x0833, 0x808: 0x0d2f, 0x809: 0x0d3b, 0x80a: 0x0e0f, 0x80b: 0x0e47, - 0x80c: 0x0f4b, 0x80d: 0x0fa7, 0x80e: 0x1027, 0x80f: 0x110b, 0x810: 0x153b, 0x811: 0x07af, - 0x812: 0x0c03, 0x813: 0x14b3, 0x814: 0x0767, 0x815: 0x0aab, 0x816: 0x0e2f, 0x817: 0x13df, - 0x818: 0x0b67, 0x819: 0x0bb7, 0x81a: 0x0d43, 0x81b: 0x0f2f, 0x81c: 0x14bb, 0x81d: 0x0817, - 0x81e: 0x08ff, 0x81f: 0x0a97, 0x820: 0x0cd3, 0x821: 0x0d1f, 0x822: 0x0d5f, 0x823: 0x0df3, - 0x824: 0x0f47, 0x825: 0x0fbb, 0x826: 0x1157, 0x827: 0x12f7, 0x828: 0x1303, 0x829: 0x1457, - 0x82a: 0x14d7, 0x82b: 0x0883, 0x82c: 0x0e4b, 0x82d: 0x0903, 0x82e: 0x0ec7, 0x82f: 0x0f6b, - 0x830: 0x1287, 0x831: 0x14bf, 0x832: 0x15ab, 0x833: 0x15d3, 0x834: 0x0d37, 0x835: 0x0e27, - 0x836: 0x11c3, 0x837: 0x10b7, 0x838: 0x10c3, 0x839: 0x10e7, 0x83a: 0x0f17, 0x83b: 0x0e9f, - 0x83c: 0x1363, 0x83d: 0x0733, 0x83e: 0x122b, 0x83f: 0x081b, + 0x800: 0x090f, 0x801: 0x0a17, 0x802: 0x0b2f, 0x803: 0x0cbf, 0x804: 0x0e7b, 0x805: 0x103f, + 0x806: 0x1497, 0x807: 0x157b, 0x808: 0x15cf, 0x809: 0x15e7, 0x80a: 0x0837, 0x80b: 0x0cf3, + 0x80c: 0x0da3, 0x80d: 0x13eb, 0x80e: 0x0afb, 0x80f: 0x0bd7, 0x810: 0x0bf3, 0x811: 0x0c83, + 0x812: 0x0e6b, 0x813: 0x0eb7, 0x814: 0x0f67, 0x815: 0x108b, 0x816: 0x112f, 0x817: 0x1193, + 0x818: 0x13db, 0x819: 0x126b, 0x81a: 0x1403, 0x81b: 0x147f, 0x81c: 0x080f, 0x81d: 0x083b, + 0x81e: 0x0923, 0x81f: 0x0ea7, 0x820: 0x12f3, 0x821: 0x133b, 0x822: 0x0b1b, 0x823: 0x0b8b, + 0x824: 0x0c4f, 0x825: 0x0daf, 0x826: 0x10d7, 0x827: 0x0f23, 0x828: 0x073b, 0x829: 0x097f, + 0x82a: 0x0a63, 0x82b: 0x0ac7, 0x82c: 0x0b97, 0x82d: 0x0f3f, 0x82e: 0x0f5b, 0x82f: 0x116b, + 0x830: 0x118b, 0x831: 0x1463, 0x832: 0x14e3, 0x833: 0x14f3, 0x834: 0x152f, 0x835: 0x0753, + 0x836: 0x107f, 0x837: 0x144f, 0x838: 0x14cb, 0x839: 0x0baf, 0x83a: 0x0717, 0x83b: 0x0777, + 0x83c: 0x0a67, 0x83d: 0x0a87, 0x83e: 0x0caf, 0x83f: 0x0d73, // Block 0x21, offset 0x840 - 0x840: 0x080b, 0x841: 0x0b0b, 0x842: 0x0c2b, 0x843: 0x10f3, 0x844: 0x0a53, 0x845: 0x0e03, - 0x846: 0x0cef, 0x847: 0x13e7, 0x848: 0x12e7, 0x849: 0x14ab, 0x84a: 0x1323, 0x84b: 0x0b27, - 0x84c: 0x0787, 0x84d: 0x095b, 0x850: 0x09af, - 0x852: 0x0cdf, 0x855: 0x07f7, 0x856: 0x0f1f, 0x857: 0x0fe3, - 0x858: 0x1047, 0x859: 0x1063, 0x85a: 0x1067, 0x85b: 0x107b, 0x85c: 0x14fb, 0x85d: 0x10eb, - 0x85e: 0x116f, 0x860: 0x128f, 0x862: 0x1353, - 0x865: 0x1407, 0x866: 0x1433, - 0x86a: 0x154f, 0x86b: 0x1553, 0x86c: 0x1557, 0x86d: 0x15bb, 0x86e: 0x142b, 0x86f: 0x14c7, - 0x870: 0x0757, 0x871: 0x077b, 0x872: 0x078f, 0x873: 0x084b, 0x874: 0x0857, 0x875: 0x0897, - 0x876: 0x094b, 0x877: 0x0967, 0x878: 0x096f, 0x879: 0x09ab, 0x87a: 0x09b7, 0x87b: 0x0a93, - 0x87c: 0x0a9b, 0x87d: 0x0ba3, 0x87e: 0x0bcb, 0x87f: 0x0bd3, + 0x840: 0x0ec3, 0x841: 0x0fcb, 0x842: 0x1277, 0x843: 0x1417, 0x844: 0x1623, 0x845: 0x0ce3, + 0x846: 0x14a3, 0x847: 0x0833, 0x848: 0x0d2f, 0x849: 0x0d3b, 0x84a: 0x0e0f, 0x84b: 0x0e47, + 0x84c: 0x0f4b, 0x84d: 0x0fa7, 0x84e: 0x1027, 0x84f: 0x110b, 0x850: 0x153b, 0x851: 0x07af, + 0x852: 0x0c03, 0x853: 0x14b3, 0x854: 0x0767, 0x855: 0x0aab, 0x856: 0x0e2f, 0x857: 0x13df, + 0x858: 0x0b67, 0x859: 0x0bb7, 0x85a: 0x0d43, 0x85b: 0x0f2f, 0x85c: 0x14bb, 0x85d: 0x0817, + 0x85e: 0x08ff, 0x85f: 0x0a97, 0x860: 0x0cd3, 0x861: 0x0d1f, 0x862: 0x0d5f, 0x863: 0x0df3, + 0x864: 0x0f47, 0x865: 0x0fbb, 0x866: 0x1157, 0x867: 0x12f7, 0x868: 0x1303, 0x869: 0x1457, + 0x86a: 0x14d7, 0x86b: 0x0883, 0x86c: 0x0e4b, 0x86d: 0x0903, 0x86e: 0x0ec7, 0x86f: 0x0f6b, + 0x870: 0x1287, 0x871: 0x14bf, 0x872: 0x15ab, 0x873: 0x15d3, 0x874: 0x0d37, 0x875: 0x0e27, + 0x876: 0x11c3, 0x877: 0x10b7, 0x878: 0x10c3, 0x879: 0x10e7, 0x87a: 0x0f17, 0x87b: 0x0e9f, + 0x87c: 0x1363, 0x87d: 0x0733, 0x87e: 0x122b, 0x87f: 0x081b, // Block 0x22, offset 0x880 - 0x880: 0x0beb, 0x881: 0x0c97, 0x882: 0x0cc7, 0x883: 0x0ce7, 0x884: 0x0d57, 0x885: 0x0e1b, - 0x886: 0x0e37, 0x887: 0x0e67, 0x888: 0x0ebb, 0x889: 0x0edb, 0x88a: 0x0f4f, 0x88b: 0x102f, - 0x88c: 0x104b, 0x88d: 0x1053, 0x88e: 0x104f, 0x88f: 0x1057, 0x890: 0x105b, 0x891: 0x105f, - 0x892: 0x1073, 0x893: 0x1077, 0x894: 0x109b, 0x895: 0x10af, 0x896: 0x10cb, 0x897: 0x112f, - 0x898: 0x1137, 0x899: 0x113f, 0x89a: 0x1153, 0x89b: 0x117b, 0x89c: 0x11cb, 0x89d: 0x11ff, - 0x89e: 0x11ff, 0x89f: 0x1267, 0x8a0: 0x130f, 0x8a1: 0x1327, 0x8a2: 0x135b, 0x8a3: 0x135f, - 0x8a4: 0x13a3, 0x8a5: 0x13a7, 0x8a6: 0x13ff, 0x8a7: 0x1407, 0x8a8: 0x14db, 0x8a9: 0x151f, - 0x8aa: 0x1537, 0x8ab: 0x0b9b, 0x8ac: 0x171e, 0x8ad: 0x11e3, - 0x8b0: 0x06df, 0x8b1: 0x07e3, 0x8b2: 0x07a3, 0x8b3: 0x074b, 0x8b4: 0x078b, 0x8b5: 0x07b7, - 0x8b6: 0x0847, 0x8b7: 0x0863, 0x8b8: 0x094b, 0x8b9: 0x0937, 0x8ba: 0x0947, 0x8bb: 0x0963, - 0x8bc: 0x09af, 0x8bd: 0x09bf, 0x8be: 0x0a03, 0x8bf: 0x0a0f, + 0x880: 0x080b, 0x881: 0x0b0b, 0x882: 0x0c2b, 0x883: 0x10f3, 0x884: 0x0a53, 0x885: 0x0e03, + 0x886: 0x0cef, 0x887: 0x13e7, 0x888: 0x12e7, 0x889: 0x14ab, 0x88a: 0x1323, 0x88b: 0x0b27, + 0x88c: 0x0787, 0x88d: 0x095b, 0x890: 0x09af, + 0x892: 0x0cdf, 0x895: 0x07f7, 0x896: 0x0f1f, 0x897: 0x0fe3, + 0x898: 0x1047, 0x899: 0x1063, 0x89a: 0x1067, 0x89b: 0x107b, 0x89c: 0x14fb, 0x89d: 0x10eb, + 0x89e: 0x116f, 0x8a0: 0x128f, 0x8a2: 0x1353, + 0x8a5: 0x1407, 0x8a6: 0x1433, + 0x8aa: 0x154f, 0x8ab: 0x1553, 0x8ac: 0x1557, 0x8ad: 0x15bb, 0x8ae: 0x142b, 0x8af: 0x14c7, + 0x8b0: 0x0757, 0x8b1: 0x077b, 0x8b2: 0x078f, 0x8b3: 0x084b, 0x8b4: 0x0857, 0x8b5: 0x0897, + 0x8b6: 0x094b, 0x8b7: 0x0967, 0x8b8: 0x096f, 0x8b9: 0x09ab, 0x8ba: 0x09b7, 0x8bb: 0x0a93, + 0x8bc: 0x0a9b, 0x8bd: 0x0ba3, 0x8be: 0x0bcb, 0x8bf: 0x0bd3, // Block 0x23, offset 0x8c0 - 0x8c0: 0x0a2b, 0x8c1: 0x0a3b, 0x8c2: 0x0b23, 0x8c3: 0x0b2b, 0x8c4: 0x0b5b, 0x8c5: 0x0b7b, - 0x8c6: 0x0bab, 0x8c7: 0x0bc3, 0x8c8: 0x0bb3, 0x8c9: 0x0bd3, 0x8ca: 0x0bc7, 0x8cb: 0x0beb, - 0x8cc: 0x0c07, 0x8cd: 0x0c5f, 0x8ce: 0x0c6b, 0x8cf: 0x0c73, 0x8d0: 0x0c9b, 0x8d1: 0x0cdf, - 0x8d2: 0x0d0f, 0x8d3: 0x0d13, 0x8d4: 0x0d27, 0x8d5: 0x0da7, 0x8d6: 0x0db7, 0x8d7: 0x0e0f, - 0x8d8: 0x0e5b, 0x8d9: 0x0e53, 0x8da: 0x0e67, 0x8db: 0x0e83, 0x8dc: 0x0ebb, 0x8dd: 0x1013, - 0x8de: 0x0edf, 0x8df: 0x0f13, 0x8e0: 0x0f1f, 0x8e1: 0x0f5f, 0x8e2: 0x0f7b, 0x8e3: 0x0f9f, - 0x8e4: 0x0fc3, 0x8e5: 0x0fc7, 0x8e6: 0x0fe3, 0x8e7: 0x0fe7, 0x8e8: 0x0ff7, 0x8e9: 0x100b, - 0x8ea: 0x1007, 0x8eb: 0x1037, 0x8ec: 0x10b3, 0x8ed: 0x10cb, 0x8ee: 0x10e3, 0x8ef: 0x111b, - 0x8f0: 0x112f, 0x8f1: 0x114b, 0x8f2: 0x117b, 0x8f3: 0x122f, 0x8f4: 0x1257, 0x8f5: 0x12cb, - 0x8f6: 0x1313, 0x8f7: 0x131f, 0x8f8: 0x1327, 0x8f9: 0x133f, 0x8fa: 0x1353, 0x8fb: 0x1343, - 0x8fc: 0x135b, 0x8fd: 0x1357, 0x8fe: 0x134f, 0x8ff: 0x135f, + 0x8c0: 0x0beb, 0x8c1: 0x0c97, 0x8c2: 0x0cc7, 0x8c3: 0x0ce7, 0x8c4: 0x0d57, 0x8c5: 0x0e1b, + 0x8c6: 0x0e37, 0x8c7: 0x0e67, 0x8c8: 0x0ebb, 0x8c9: 0x0edb, 0x8ca: 0x0f4f, 0x8cb: 0x102f, + 0x8cc: 0x104b, 0x8cd: 0x1053, 0x8ce: 0x104f, 0x8cf: 0x1057, 0x8d0: 0x105b, 0x8d1: 0x105f, + 0x8d2: 0x1073, 0x8d3: 0x1077, 0x8d4: 0x109b, 0x8d5: 0x10af, 0x8d6: 0x10cb, 0x8d7: 0x112f, + 0x8d8: 0x1137, 0x8d9: 0x113f, 0x8da: 0x1153, 0x8db: 0x117b, 0x8dc: 0x11cb, 0x8dd: 0x11ff, + 0x8de: 0x11ff, 0x8df: 0x1267, 0x8e0: 0x130f, 0x8e1: 0x1327, 0x8e2: 0x135b, 0x8e3: 0x135f, + 0x8e4: 0x13a3, 0x8e5: 0x13a7, 0x8e6: 0x13ff, 0x8e7: 0x1407, 0x8e8: 0x14db, 0x8e9: 0x151f, + 0x8ea: 0x1537, 0x8eb: 0x0b9b, 0x8ec: 0x171e, 0x8ed: 0x11e3, + 0x8f0: 0x06df, 0x8f1: 0x07e3, 0x8f2: 0x07a3, 0x8f3: 0x074b, 0x8f4: 0x078b, 0x8f5: 0x07b7, + 0x8f6: 0x0847, 0x8f7: 0x0863, 0x8f8: 0x094b, 0x8f9: 0x0937, 0x8fa: 0x0947, 0x8fb: 0x0963, + 0x8fc: 0x09af, 0x8fd: 0x09bf, 0x8fe: 0x0a03, 0x8ff: 0x0a0f, // Block 0x24, offset 0x900 - 0x900: 0x136b, 0x901: 0x13a7, 0x902: 0x13e3, 0x903: 0x1413, 0x904: 0x144b, 0x905: 0x146b, - 0x906: 0x14b7, 0x907: 0x14db, 0x908: 0x14fb, 0x909: 0x150f, 0x90a: 0x151f, 0x90b: 0x152b, - 0x90c: 0x1537, 0x90d: 0x158b, 0x90e: 0x162b, 0x90f: 0x16b5, 0x910: 0x16b0, 0x911: 0x16e2, - 0x912: 0x0607, 0x913: 0x062f, 0x914: 0x0633, 0x915: 0x1764, 0x916: 0x1791, 0x917: 0x1809, - 0x918: 0x1617, 0x919: 0x1627, + 0x900: 0x0a2b, 0x901: 0x0a3b, 0x902: 0x0b23, 0x903: 0x0b2b, 0x904: 0x0b5b, 0x905: 0x0b7b, + 0x906: 0x0bab, 0x907: 0x0bc3, 0x908: 0x0bb3, 0x909: 0x0bd3, 0x90a: 0x0bc7, 0x90b: 0x0beb, + 0x90c: 0x0c07, 0x90d: 0x0c5f, 0x90e: 0x0c6b, 0x90f: 0x0c73, 0x910: 0x0c9b, 0x911: 0x0cdf, + 0x912: 0x0d0f, 0x913: 0x0d13, 0x914: 0x0d27, 0x915: 0x0da7, 0x916: 0x0db7, 0x917: 0x0e0f, + 0x918: 0x0e5b, 0x919: 0x0e53, 0x91a: 0x0e67, 0x91b: 0x0e83, 0x91c: 0x0ebb, 0x91d: 0x1013, + 0x91e: 0x0edf, 0x91f: 0x0f13, 0x920: 0x0f1f, 0x921: 0x0f5f, 0x922: 0x0f7b, 0x923: 0x0f9f, + 0x924: 0x0fc3, 0x925: 0x0fc7, 0x926: 0x0fe3, 0x927: 0x0fe7, 0x928: 0x0ff7, 0x929: 0x100b, + 0x92a: 0x1007, 0x92b: 0x1037, 0x92c: 0x10b3, 0x92d: 0x10cb, 0x92e: 0x10e3, 0x92f: 0x111b, + 0x930: 0x112f, 0x931: 0x114b, 0x932: 0x117b, 0x933: 0x122f, 0x934: 0x1257, 0x935: 0x12cb, + 0x936: 0x1313, 0x937: 0x131f, 0x938: 0x1327, 0x939: 0x133f, 0x93a: 0x1353, 0x93b: 0x1343, + 0x93c: 0x135b, 0x93d: 0x1357, 0x93e: 0x134f, 0x93f: 0x135f, // Block 0x25, offset 0x940 - 0x940: 0x06fb, 0x941: 0x06f3, 0x942: 0x0703, 0x943: 0x1647, 0x944: 0x0747, 0x945: 0x0757, - 0x946: 0x075b, 0x947: 0x0763, 0x948: 0x076b, 0x949: 0x076f, 0x94a: 0x077b, 0x94b: 0x0773, - 0x94c: 0x05b3, 0x94d: 0x165b, 0x94e: 0x078f, 0x94f: 0x0793, 0x950: 0x0797, 0x951: 0x07b3, - 0x952: 0x164c, 0x953: 0x05b7, 0x954: 0x079f, 0x955: 0x07bf, 0x956: 0x1656, 0x957: 0x07cf, - 0x958: 0x07d7, 0x959: 0x0737, 0x95a: 0x07df, 0x95b: 0x07e3, 0x95c: 0x1831, 0x95d: 0x07ff, - 0x95e: 0x0807, 0x95f: 0x05bf, 0x960: 0x081f, 0x961: 0x0823, 0x962: 0x082b, 0x963: 0x082f, - 0x964: 0x05c3, 0x965: 0x0847, 0x966: 0x084b, 0x967: 0x0857, 0x968: 0x0863, 0x969: 0x0867, - 0x96a: 0x086b, 0x96b: 0x0873, 0x96c: 0x0893, 0x96d: 0x0897, 0x96e: 0x089f, 0x96f: 0x08af, - 0x970: 0x08b7, 0x971: 0x08bb, 0x972: 0x08bb, 0x973: 0x08bb, 0x974: 0x166a, 0x975: 0x0e93, - 0x976: 0x08cf, 0x977: 0x08d7, 0x978: 0x166f, 0x979: 0x08e3, 0x97a: 0x08eb, 0x97b: 0x08f3, - 0x97c: 0x091b, 0x97d: 0x0907, 0x97e: 0x0913, 0x97f: 0x0917, + 0x940: 0x136b, 0x941: 0x13a7, 0x942: 0x13e3, 0x943: 0x1413, 0x944: 0x144b, 0x945: 0x146b, + 0x946: 0x14b7, 0x947: 0x14db, 0x948: 0x14fb, 0x949: 0x150f, 0x94a: 0x151f, 0x94b: 0x152b, + 0x94c: 0x1537, 0x94d: 0x158b, 0x94e: 0x162b, 0x94f: 0x16b5, 0x950: 0x16b0, 0x951: 0x16e2, + 0x952: 0x0607, 0x953: 0x062f, 0x954: 0x0633, 0x955: 0x1764, 0x956: 0x1791, 0x957: 0x1809, + 0x958: 0x1617, 0x959: 0x1627, // Block 0x26, offset 0x980 - 0x980: 0x091f, 0x981: 0x0927, 0x982: 0x092b, 0x983: 0x0933, 0x984: 0x093b, 0x985: 0x093f, - 0x986: 0x093f, 0x987: 0x0947, 0x988: 0x094f, 0x989: 0x0953, 0x98a: 0x095f, 0x98b: 0x0983, - 0x98c: 0x0967, 0x98d: 0x0987, 0x98e: 0x096b, 0x98f: 0x0973, 0x990: 0x080b, 0x991: 0x09cf, - 0x992: 0x0997, 0x993: 0x099b, 0x994: 0x099f, 0x995: 0x0993, 0x996: 0x09a7, 0x997: 0x09a3, - 0x998: 0x09bb, 0x999: 0x1674, 0x99a: 0x09d7, 0x99b: 0x09db, 0x99c: 0x09e3, 0x99d: 0x09ef, - 0x99e: 0x09f7, 0x99f: 0x0a13, 0x9a0: 0x1679, 0x9a1: 0x167e, 0x9a2: 0x0a1f, 0x9a3: 0x0a23, - 0x9a4: 0x0a27, 0x9a5: 0x0a1b, 0x9a6: 0x0a2f, 0x9a7: 0x05c7, 0x9a8: 0x05cb, 0x9a9: 0x0a37, - 0x9aa: 0x0a3f, 0x9ab: 0x0a3f, 0x9ac: 0x1683, 0x9ad: 0x0a5b, 0x9ae: 0x0a5f, 0x9af: 0x0a63, - 0x9b0: 0x0a6b, 0x9b1: 0x1688, 0x9b2: 0x0a73, 0x9b3: 0x0a77, 0x9b4: 0x0b4f, 0x9b5: 0x0a7f, - 0x9b6: 0x05cf, 0x9b7: 0x0a8b, 0x9b8: 0x0a9b, 0x9b9: 0x0aa7, 0x9ba: 0x0aa3, 0x9bb: 0x1692, - 0x9bc: 0x0aaf, 0x9bd: 0x1697, 0x9be: 0x0abb, 0x9bf: 0x0ab7, + 0x980: 0x06fb, 0x981: 0x06f3, 0x982: 0x0703, 0x983: 0x1647, 0x984: 0x0747, 0x985: 0x0757, + 0x986: 0x075b, 0x987: 0x0763, 0x988: 0x076b, 0x989: 0x076f, 0x98a: 0x077b, 0x98b: 0x0773, + 0x98c: 0x05b3, 0x98d: 0x165b, 0x98e: 0x078f, 0x98f: 0x0793, 0x990: 0x0797, 0x991: 0x07b3, + 0x992: 0x164c, 0x993: 0x05b7, 0x994: 0x079f, 0x995: 0x07bf, 0x996: 0x1656, 0x997: 0x07cf, + 0x998: 0x07d7, 0x999: 0x0737, 0x99a: 0x07df, 0x99b: 0x07e3, 0x99c: 0x1831, 0x99d: 0x07ff, + 0x99e: 0x0807, 0x99f: 0x05bf, 0x9a0: 0x081f, 0x9a1: 0x0823, 0x9a2: 0x082b, 0x9a3: 0x082f, + 0x9a4: 0x05c3, 0x9a5: 0x0847, 0x9a6: 0x084b, 0x9a7: 0x0857, 0x9a8: 0x0863, 0x9a9: 0x0867, + 0x9aa: 0x086b, 0x9ab: 0x0873, 0x9ac: 0x0893, 0x9ad: 0x0897, 0x9ae: 0x089f, 0x9af: 0x08af, + 0x9b0: 0x08b7, 0x9b1: 0x08bb, 0x9b2: 0x08bb, 0x9b3: 0x08bb, 0x9b4: 0x166a, 0x9b5: 0x0e93, + 0x9b6: 0x08cf, 0x9b7: 0x08d7, 0x9b8: 0x166f, 0x9b9: 0x08e3, 0x9ba: 0x08eb, 0x9bb: 0x08f3, + 0x9bc: 0x091b, 0x9bd: 0x0907, 0x9be: 0x0913, 0x9bf: 0x0917, // Block 0x27, offset 0x9c0 - 0x9c0: 0x0abf, 0x9c1: 0x0acf, 0x9c2: 0x0ad3, 0x9c3: 0x05d3, 0x9c4: 0x0ae3, 0x9c5: 0x0aeb, - 0x9c6: 0x0aef, 0x9c7: 0x0af3, 0x9c8: 0x05d7, 0x9c9: 0x169c, 0x9ca: 0x05db, 0x9cb: 0x0b0f, - 0x9cc: 0x0b13, 0x9cd: 0x0b17, 0x9ce: 0x0b1f, 0x9cf: 0x1863, 0x9d0: 0x0b37, 0x9d1: 0x16a6, - 0x9d2: 0x16a6, 0x9d3: 0x11d7, 0x9d4: 0x0b47, 0x9d5: 0x0b47, 0x9d6: 0x05df, 0x9d7: 0x16c9, - 0x9d8: 0x179b, 0x9d9: 0x0b57, 0x9da: 0x0b5f, 0x9db: 0x05e3, 0x9dc: 0x0b73, 0x9dd: 0x0b83, - 0x9de: 0x0b87, 0x9df: 0x0b8f, 0x9e0: 0x0b9f, 0x9e1: 0x05eb, 0x9e2: 0x05e7, 0x9e3: 0x0ba3, - 0x9e4: 0x16ab, 0x9e5: 0x0ba7, 0x9e6: 0x0bbb, 0x9e7: 0x0bbf, 0x9e8: 0x0bc3, 0x9e9: 0x0bbf, - 0x9ea: 0x0bcf, 0x9eb: 0x0bd3, 0x9ec: 0x0be3, 0x9ed: 0x0bdb, 0x9ee: 0x0bdf, 0x9ef: 0x0be7, - 0x9f0: 0x0beb, 0x9f1: 0x0bef, 0x9f2: 0x0bfb, 0x9f3: 0x0bff, 0x9f4: 0x0c17, 0x9f5: 0x0c1f, - 0x9f6: 0x0c2f, 0x9f7: 0x0c43, 0x9f8: 0x16ba, 0x9f9: 0x0c3f, 0x9fa: 0x0c33, 0x9fb: 0x0c4b, - 0x9fc: 0x0c53, 0x9fd: 0x0c67, 0x9fe: 0x16bf, 0x9ff: 0x0c6f, + 0x9c0: 0x091f, 0x9c1: 0x0927, 0x9c2: 0x092b, 0x9c3: 0x0933, 0x9c4: 0x093b, 0x9c5: 0x093f, + 0x9c6: 0x093f, 0x9c7: 0x0947, 0x9c8: 0x094f, 0x9c9: 0x0953, 0x9ca: 0x095f, 0x9cb: 0x0983, + 0x9cc: 0x0967, 0x9cd: 0x0987, 0x9ce: 0x096b, 0x9cf: 0x0973, 0x9d0: 0x080b, 0x9d1: 0x09cf, + 0x9d2: 0x0997, 0x9d3: 0x099b, 0x9d4: 0x099f, 0x9d5: 0x0993, 0x9d6: 0x09a7, 0x9d7: 0x09a3, + 0x9d8: 0x09bb, 0x9d9: 0x1674, 0x9da: 0x09d7, 0x9db: 0x09db, 0x9dc: 0x09e3, 0x9dd: 0x09ef, + 0x9de: 0x09f7, 0x9df: 0x0a13, 0x9e0: 0x1679, 0x9e1: 0x167e, 0x9e2: 0x0a1f, 0x9e3: 0x0a23, + 0x9e4: 0x0a27, 0x9e5: 0x0a1b, 0x9e6: 0x0a2f, 0x9e7: 0x05c7, 0x9e8: 0x05cb, 0x9e9: 0x0a37, + 0x9ea: 0x0a3f, 0x9eb: 0x0a3f, 0x9ec: 0x1683, 0x9ed: 0x0a5b, 0x9ee: 0x0a5f, 0x9ef: 0x0a63, + 0x9f0: 0x0a6b, 0x9f1: 0x1688, 0x9f2: 0x0a73, 0x9f3: 0x0a77, 0x9f4: 0x0b4f, 0x9f5: 0x0a7f, + 0x9f6: 0x05cf, 0x9f7: 0x0a8b, 0x9f8: 0x0a9b, 0x9f9: 0x0aa7, 0x9fa: 0x0aa3, 0x9fb: 0x1692, + 0x9fc: 0x0aaf, 0x9fd: 0x1697, 0x9fe: 0x0abb, 0x9ff: 0x0ab7, // Block 0x28, offset 0xa00 - 0xa00: 0x0c63, 0xa01: 0x0c5b, 0xa02: 0x05ef, 0xa03: 0x0c77, 0xa04: 0x0c7f, 0xa05: 0x0c87, - 0xa06: 0x0c7b, 0xa07: 0x05f3, 0xa08: 0x0c97, 0xa09: 0x0c9f, 0xa0a: 0x16c4, 0xa0b: 0x0ccb, - 0xa0c: 0x0cff, 0xa0d: 0x0cdb, 0xa0e: 0x05ff, 0xa0f: 0x0ce7, 0xa10: 0x05fb, 0xa11: 0x05f7, - 0xa12: 0x07c3, 0xa13: 0x07c7, 0xa14: 0x0d03, 0xa15: 0x0ceb, 0xa16: 0x11ab, 0xa17: 0x0663, - 0xa18: 0x0d0f, 0xa19: 0x0d13, 0xa1a: 0x0d17, 0xa1b: 0x0d2b, 0xa1c: 0x0d23, 0xa1d: 0x16dd, - 0xa1e: 0x0603, 0xa1f: 0x0d3f, 0xa20: 0x0d33, 0xa21: 0x0d4f, 0xa22: 0x0d57, 0xa23: 0x16e7, - 0xa24: 0x0d5b, 0xa25: 0x0d47, 0xa26: 0x0d63, 0xa27: 0x0607, 0xa28: 0x0d67, 0xa29: 0x0d6b, - 0xa2a: 0x0d6f, 0xa2b: 0x0d7b, 0xa2c: 0x16ec, 0xa2d: 0x0d83, 0xa2e: 0x060b, 0xa2f: 0x0d8f, - 0xa30: 0x16f1, 0xa31: 0x0d93, 0xa32: 0x060f, 0xa33: 0x0d9f, 0xa34: 0x0dab, 0xa35: 0x0db7, - 0xa36: 0x0dbb, 0xa37: 0x16f6, 0xa38: 0x168d, 0xa39: 0x16fb, 0xa3a: 0x0ddb, 0xa3b: 0x1700, - 0xa3c: 0x0de7, 0xa3d: 0x0def, 0xa3e: 0x0ddf, 0xa3f: 0x0dfb, + 0xa00: 0x0abf, 0xa01: 0x0acf, 0xa02: 0x0ad3, 0xa03: 0x05d3, 0xa04: 0x0ae3, 0xa05: 0x0aeb, + 0xa06: 0x0aef, 0xa07: 0x0af3, 0xa08: 0x05d7, 0xa09: 0x169c, 0xa0a: 0x05db, 0xa0b: 0x0b0f, + 0xa0c: 0x0b13, 0xa0d: 0x0b17, 0xa0e: 0x0b1f, 0xa0f: 0x1863, 0xa10: 0x0b37, 0xa11: 0x16a6, + 0xa12: 0x16a6, 0xa13: 0x11d7, 0xa14: 0x0b47, 0xa15: 0x0b47, 0xa16: 0x05df, 0xa17: 0x16c9, + 0xa18: 0x179b, 0xa19: 0x0b57, 0xa1a: 0x0b5f, 0xa1b: 0x05e3, 0xa1c: 0x0b73, 0xa1d: 0x0b83, + 0xa1e: 0x0b87, 0xa1f: 0x0b8f, 0xa20: 0x0b9f, 0xa21: 0x05eb, 0xa22: 0x05e7, 0xa23: 0x0ba3, + 0xa24: 0x16ab, 0xa25: 0x0ba7, 0xa26: 0x0bbb, 0xa27: 0x0bbf, 0xa28: 0x0bc3, 0xa29: 0x0bbf, + 0xa2a: 0x0bcf, 0xa2b: 0x0bd3, 0xa2c: 0x0be3, 0xa2d: 0x0bdb, 0xa2e: 0x0bdf, 0xa2f: 0x0be7, + 0xa30: 0x0beb, 0xa31: 0x0bef, 0xa32: 0x0bfb, 0xa33: 0x0bff, 0xa34: 0x0c17, 0xa35: 0x0c1f, + 0xa36: 0x0c2f, 0xa37: 0x0c43, 0xa38: 0x16ba, 0xa39: 0x0c3f, 0xa3a: 0x0c33, 0xa3b: 0x0c4b, + 0xa3c: 0x0c53, 0xa3d: 0x0c67, 0xa3e: 0x16bf, 0xa3f: 0x0c6f, // Block 0x29, offset 0xa40 - 0xa40: 0x0e0b, 0xa41: 0x0e1b, 0xa42: 0x0e0f, 0xa43: 0x0e13, 0xa44: 0x0e1f, 0xa45: 0x0e23, - 0xa46: 0x1705, 0xa47: 0x0e07, 0xa48: 0x0e3b, 0xa49: 0x0e3f, 0xa4a: 0x0613, 0xa4b: 0x0e53, - 0xa4c: 0x0e4f, 0xa4d: 0x170a, 0xa4e: 0x0e33, 0xa4f: 0x0e6f, 0xa50: 0x170f, 0xa51: 0x1714, - 0xa52: 0x0e73, 0xa53: 0x0e87, 0xa54: 0x0e83, 0xa55: 0x0e7f, 0xa56: 0x0617, 0xa57: 0x0e8b, - 0xa58: 0x0e9b, 0xa59: 0x0e97, 0xa5a: 0x0ea3, 0xa5b: 0x1651, 0xa5c: 0x0eb3, 0xa5d: 0x1719, - 0xa5e: 0x0ebf, 0xa5f: 0x1723, 0xa60: 0x0ed3, 0xa61: 0x0edf, 0xa62: 0x0ef3, 0xa63: 0x1728, - 0xa64: 0x0f07, 0xa65: 0x0f0b, 0xa66: 0x172d, 0xa67: 0x1732, 0xa68: 0x0f27, 0xa69: 0x0f37, - 0xa6a: 0x061b, 0xa6b: 0x0f3b, 0xa6c: 0x061f, 0xa6d: 0x061f, 0xa6e: 0x0f53, 0xa6f: 0x0f57, - 0xa70: 0x0f5f, 0xa71: 0x0f63, 0xa72: 0x0f6f, 0xa73: 0x0623, 0xa74: 0x0f87, 0xa75: 0x1737, - 0xa76: 0x0fa3, 0xa77: 0x173c, 0xa78: 0x0faf, 0xa79: 0x16a1, 0xa7a: 0x0fbf, 0xa7b: 0x1741, - 0xa7c: 0x1746, 0xa7d: 0x174b, 0xa7e: 0x0627, 0xa7f: 0x062b, + 0xa40: 0x0c63, 0xa41: 0x0c5b, 0xa42: 0x05ef, 0xa43: 0x0c77, 0xa44: 0x0c7f, 0xa45: 0x0c87, + 0xa46: 0x0c7b, 0xa47: 0x05f3, 0xa48: 0x0c97, 0xa49: 0x0c9f, 0xa4a: 0x16c4, 0xa4b: 0x0ccb, + 0xa4c: 0x0cff, 0xa4d: 0x0cdb, 0xa4e: 0x05ff, 0xa4f: 0x0ce7, 0xa50: 0x05fb, 0xa51: 0x05f7, + 0xa52: 0x07c3, 0xa53: 0x07c7, 0xa54: 0x0d03, 0xa55: 0x0ceb, 0xa56: 0x11ab, 0xa57: 0x0663, + 0xa58: 0x0d0f, 0xa59: 0x0d13, 0xa5a: 0x0d17, 0xa5b: 0x0d2b, 0xa5c: 0x0d23, 0xa5d: 0x16dd, + 0xa5e: 0x0603, 0xa5f: 0x0d3f, 0xa60: 0x0d33, 0xa61: 0x0d4f, 0xa62: 0x0d57, 0xa63: 0x16e7, + 0xa64: 0x0d5b, 0xa65: 0x0d47, 0xa66: 0x0d63, 0xa67: 0x0607, 0xa68: 0x0d67, 0xa69: 0x0d6b, + 0xa6a: 0x0d6f, 0xa6b: 0x0d7b, 0xa6c: 0x16ec, 0xa6d: 0x0d83, 0xa6e: 0x060b, 0xa6f: 0x0d8f, + 0xa70: 0x16f1, 0xa71: 0x0d93, 0xa72: 0x060f, 0xa73: 0x0d9f, 0xa74: 0x0dab, 0xa75: 0x0db7, + 0xa76: 0x0dbb, 0xa77: 0x16f6, 0xa78: 0x168d, 0xa79: 0x16fb, 0xa7a: 0x0ddb, 0xa7b: 0x1700, + 0xa7c: 0x0de7, 0xa7d: 0x0def, 0xa7e: 0x0ddf, 0xa7f: 0x0dfb, // Block 0x2a, offset 0xa80 - 0xa80: 0x0ff7, 0xa81: 0x1755, 0xa82: 0x1750, 0xa83: 0x175a, 0xa84: 0x175f, 0xa85: 0x0fff, - 0xa86: 0x1003, 0xa87: 0x1003, 0xa88: 0x100b, 0xa89: 0x0633, 0xa8a: 0x100f, 0xa8b: 0x0637, - 0xa8c: 0x063b, 0xa8d: 0x1769, 0xa8e: 0x1023, 0xa8f: 0x102b, 0xa90: 0x1037, 0xa91: 0x063f, - 0xa92: 0x176e, 0xa93: 0x105b, 0xa94: 0x1773, 0xa95: 0x1778, 0xa96: 0x107b, 0xa97: 0x1093, - 0xa98: 0x0643, 0xa99: 0x109b, 0xa9a: 0x109f, 0xa9b: 0x10a3, 0xa9c: 0x177d, 0xa9d: 0x1782, - 0xa9e: 0x1782, 0xa9f: 0x10bb, 0xaa0: 0x0647, 0xaa1: 0x1787, 0xaa2: 0x10cf, 0xaa3: 0x10d3, - 0xaa4: 0x064b, 0xaa5: 0x178c, 0xaa6: 0x10ef, 0xaa7: 0x064f, 0xaa8: 0x10ff, 0xaa9: 0x10f7, - 0xaaa: 0x1107, 0xaab: 0x1796, 0xaac: 0x111f, 0xaad: 0x0653, 0xaae: 0x112b, 0xaaf: 0x1133, - 0xab0: 0x1143, 0xab1: 0x0657, 0xab2: 0x17a0, 0xab3: 0x17a5, 0xab4: 0x065b, 0xab5: 0x17aa, - 0xab6: 0x115b, 0xab7: 0x17af, 0xab8: 0x1167, 0xab9: 0x1173, 0xaba: 0x117b, 0xabb: 0x17b4, - 0xabc: 0x17b9, 0xabd: 0x118f, 0xabe: 0x17be, 0xabf: 0x1197, + 0xa80: 0x0e0b, 0xa81: 0x0e1b, 0xa82: 0x0e0f, 0xa83: 0x0e13, 0xa84: 0x0e1f, 0xa85: 0x0e23, + 0xa86: 0x1705, 0xa87: 0x0e07, 0xa88: 0x0e3b, 0xa89: 0x0e3f, 0xa8a: 0x0613, 0xa8b: 0x0e53, + 0xa8c: 0x0e4f, 0xa8d: 0x170a, 0xa8e: 0x0e33, 0xa8f: 0x0e6f, 0xa90: 0x170f, 0xa91: 0x1714, + 0xa92: 0x0e73, 0xa93: 0x0e87, 0xa94: 0x0e83, 0xa95: 0x0e7f, 0xa96: 0x0617, 0xa97: 0x0e8b, + 0xa98: 0x0e9b, 0xa99: 0x0e97, 0xa9a: 0x0ea3, 0xa9b: 0x1651, 0xa9c: 0x0eb3, 0xa9d: 0x1719, + 0xa9e: 0x0ebf, 0xa9f: 0x1723, 0xaa0: 0x0ed3, 0xaa1: 0x0edf, 0xaa2: 0x0ef3, 0xaa3: 0x1728, + 0xaa4: 0x0f07, 0xaa5: 0x0f0b, 0xaa6: 0x172d, 0xaa7: 0x1732, 0xaa8: 0x0f27, 0xaa9: 0x0f37, + 0xaaa: 0x061b, 0xaab: 0x0f3b, 0xaac: 0x061f, 0xaad: 0x061f, 0xaae: 0x0f53, 0xaaf: 0x0f57, + 0xab0: 0x0f5f, 0xab1: 0x0f63, 0xab2: 0x0f6f, 0xab3: 0x0623, 0xab4: 0x0f87, 0xab5: 0x1737, + 0xab6: 0x0fa3, 0xab7: 0x173c, 0xab8: 0x0faf, 0xab9: 0x16a1, 0xaba: 0x0fbf, 0xabb: 0x1741, + 0xabc: 0x1746, 0xabd: 0x174b, 0xabe: 0x0627, 0xabf: 0x062b, // Block 0x2b, offset 0xac0 - 0xac0: 0x16ce, 0xac1: 0x065f, 0xac2: 0x11af, 0xac3: 0x11b3, 0xac4: 0x0667, 0xac5: 0x11b7, - 0xac6: 0x0a33, 0xac7: 0x17c3, 0xac8: 0x17c8, 0xac9: 0x16d3, 0xaca: 0x16d8, 0xacb: 0x11d7, - 0xacc: 0x11db, 0xacd: 0x13f3, 0xace: 0x066b, 0xacf: 0x1207, 0xad0: 0x1203, 0xad1: 0x120b, - 0xad2: 0x083f, 0xad3: 0x120f, 0xad4: 0x1213, 0xad5: 0x1217, 0xad6: 0x121f, 0xad7: 0x17cd, - 0xad8: 0x121b, 0xad9: 0x1223, 0xada: 0x1237, 0xadb: 0x123b, 0xadc: 0x1227, 0xadd: 0x123f, - 0xade: 0x1253, 0xadf: 0x1267, 0xae0: 0x1233, 0xae1: 0x1247, 0xae2: 0x124b, 0xae3: 0x124f, - 0xae4: 0x17d2, 0xae5: 0x17dc, 0xae6: 0x17d7, 0xae7: 0x066f, 0xae8: 0x126f, 0xae9: 0x1273, - 0xaea: 0x127b, 0xaeb: 0x17f0, 0xaec: 0x127f, 0xaed: 0x17e1, 0xaee: 0x0673, 0xaef: 0x0677, - 0xaf0: 0x17e6, 0xaf1: 0x17eb, 0xaf2: 0x067b, 0xaf3: 0x129f, 0xaf4: 0x12a3, 0xaf5: 0x12a7, - 0xaf6: 0x12ab, 0xaf7: 0x12b7, 0xaf8: 0x12b3, 0xaf9: 0x12bf, 0xafa: 0x12bb, 0xafb: 0x12cb, - 0xafc: 0x12c3, 0xafd: 0x12c7, 0xafe: 0x12cf, 0xaff: 0x067f, + 0xac0: 0x0ff7, 0xac1: 0x1755, 0xac2: 0x1750, 0xac3: 0x175a, 0xac4: 0x175f, 0xac5: 0x0fff, + 0xac6: 0x1003, 0xac7: 0x1003, 0xac8: 0x100b, 0xac9: 0x0633, 0xaca: 0x100f, 0xacb: 0x0637, + 0xacc: 0x063b, 0xacd: 0x1769, 0xace: 0x1023, 0xacf: 0x102b, 0xad0: 0x1037, 0xad1: 0x063f, + 0xad2: 0x176e, 0xad3: 0x105b, 0xad4: 0x1773, 0xad5: 0x1778, 0xad6: 0x107b, 0xad7: 0x1093, + 0xad8: 0x0643, 0xad9: 0x109b, 0xada: 0x109f, 0xadb: 0x10a3, 0xadc: 0x177d, 0xadd: 0x1782, + 0xade: 0x1782, 0xadf: 0x10bb, 0xae0: 0x0647, 0xae1: 0x1787, 0xae2: 0x10cf, 0xae3: 0x10d3, + 0xae4: 0x064b, 0xae5: 0x178c, 0xae6: 0x10ef, 0xae7: 0x064f, 0xae8: 0x10ff, 0xae9: 0x10f7, + 0xaea: 0x1107, 0xaeb: 0x1796, 0xaec: 0x111f, 0xaed: 0x0653, 0xaee: 0x112b, 0xaef: 0x1133, + 0xaf0: 0x1143, 0xaf1: 0x0657, 0xaf2: 0x17a0, 0xaf3: 0x17a5, 0xaf4: 0x065b, 0xaf5: 0x17aa, + 0xaf6: 0x115b, 0xaf7: 0x17af, 0xaf8: 0x1167, 0xaf9: 0x1173, 0xafa: 0x117b, 0xafb: 0x17b4, + 0xafc: 0x17b9, 0xafd: 0x118f, 0xafe: 0x17be, 0xaff: 0x1197, // Block 0x2c, offset 0xb00 - 0xb00: 0x12d7, 0xb01: 0x12db, 0xb02: 0x0683, 0xb03: 0x12eb, 0xb04: 0x12ef, 0xb05: 0x17f5, - 0xb06: 0x12fb, 0xb07: 0x12ff, 0xb08: 0x0687, 0xb09: 0x130b, 0xb0a: 0x05bb, 0xb0b: 0x17fa, - 0xb0c: 0x17ff, 0xb0d: 0x068b, 0xb0e: 0x068f, 0xb0f: 0x1337, 0xb10: 0x134f, 0xb11: 0x136b, - 0xb12: 0x137b, 0xb13: 0x1804, 0xb14: 0x138f, 0xb15: 0x1393, 0xb16: 0x13ab, 0xb17: 0x13b7, - 0xb18: 0x180e, 0xb19: 0x1660, 0xb1a: 0x13c3, 0xb1b: 0x13bf, 0xb1c: 0x13cb, 0xb1d: 0x1665, - 0xb1e: 0x13d7, 0xb1f: 0x13e3, 0xb20: 0x1813, 0xb21: 0x1818, 0xb22: 0x1423, 0xb23: 0x142f, - 0xb24: 0x1437, 0xb25: 0x181d, 0xb26: 0x143b, 0xb27: 0x1467, 0xb28: 0x1473, 0xb29: 0x1477, - 0xb2a: 0x146f, 0xb2b: 0x1483, 0xb2c: 0x1487, 0xb2d: 0x1822, 0xb2e: 0x1493, 0xb2f: 0x0693, - 0xb30: 0x149b, 0xb31: 0x1827, 0xb32: 0x0697, 0xb33: 0x14d3, 0xb34: 0x0ac3, 0xb35: 0x14eb, - 0xb36: 0x182c, 0xb37: 0x1836, 0xb38: 0x069b, 0xb39: 0x069f, 0xb3a: 0x1513, 0xb3b: 0x183b, - 0xb3c: 0x06a3, 0xb3d: 0x1840, 0xb3e: 0x152b, 0xb3f: 0x152b, + 0xb00: 0x16ce, 0xb01: 0x065f, 0xb02: 0x11af, 0xb03: 0x11b3, 0xb04: 0x0667, 0xb05: 0x11b7, + 0xb06: 0x0a33, 0xb07: 0x17c3, 0xb08: 0x17c8, 0xb09: 0x16d3, 0xb0a: 0x16d8, 0xb0b: 0x11d7, + 0xb0c: 0x11db, 0xb0d: 0x13f3, 0xb0e: 0x066b, 0xb0f: 0x1207, 0xb10: 0x1203, 0xb11: 0x120b, + 0xb12: 0x083f, 0xb13: 0x120f, 0xb14: 0x1213, 0xb15: 0x1217, 0xb16: 0x121f, 0xb17: 0x17cd, + 0xb18: 0x121b, 0xb19: 0x1223, 0xb1a: 0x1237, 0xb1b: 0x123b, 0xb1c: 0x1227, 0xb1d: 0x123f, + 0xb1e: 0x1253, 0xb1f: 0x1267, 0xb20: 0x1233, 0xb21: 0x1247, 0xb22: 0x124b, 0xb23: 0x124f, + 0xb24: 0x17d2, 0xb25: 0x17dc, 0xb26: 0x17d7, 0xb27: 0x066f, 0xb28: 0x126f, 0xb29: 0x1273, + 0xb2a: 0x127b, 0xb2b: 0x17f0, 0xb2c: 0x127f, 0xb2d: 0x17e1, 0xb2e: 0x0673, 0xb2f: 0x0677, + 0xb30: 0x17e6, 0xb31: 0x17eb, 0xb32: 0x067b, 0xb33: 0x129f, 0xb34: 0x12a3, 0xb35: 0x12a7, + 0xb36: 0x12ab, 0xb37: 0x12b7, 0xb38: 0x12b3, 0xb39: 0x12bf, 0xb3a: 0x12bb, 0xb3b: 0x12cb, + 0xb3c: 0x12c3, 0xb3d: 0x12c7, 0xb3e: 0x12cf, 0xb3f: 0x067f, // Block 0x2d, offset 0xb40 - 0xb40: 0x1533, 0xb41: 0x1845, 0xb42: 0x154b, 0xb43: 0x06a7, 0xb44: 0x155b, 0xb45: 0x1567, - 0xb46: 0x156f, 0xb47: 0x1577, 0xb48: 0x06ab, 0xb49: 0x184a, 0xb4a: 0x158b, 0xb4b: 0x15a7, - 0xb4c: 0x15b3, 0xb4d: 0x06af, 0xb4e: 0x06b3, 0xb4f: 0x15b7, 0xb50: 0x184f, 0xb51: 0x06b7, - 0xb52: 0x1854, 0xb53: 0x1859, 0xb54: 0x185e, 0xb55: 0x15db, 0xb56: 0x06bb, 0xb57: 0x15ef, - 0xb58: 0x15f7, 0xb59: 0x15fb, 0xb5a: 0x1603, 0xb5b: 0x160b, 0xb5c: 0x1613, 0xb5d: 0x1868, + 0xb40: 0x12d7, 0xb41: 0x12db, 0xb42: 0x0683, 0xb43: 0x12eb, 0xb44: 0x12ef, 0xb45: 0x17f5, + 0xb46: 0x12fb, 0xb47: 0x12ff, 0xb48: 0x0687, 0xb49: 0x130b, 0xb4a: 0x05bb, 0xb4b: 0x17fa, + 0xb4c: 0x17ff, 0xb4d: 0x068b, 0xb4e: 0x068f, 0xb4f: 0x1337, 0xb50: 0x134f, 0xb51: 0x136b, + 0xb52: 0x137b, 0xb53: 0x1804, 0xb54: 0x138f, 0xb55: 0x1393, 0xb56: 0x13ab, 0xb57: 0x13b7, + 0xb58: 0x180e, 0xb59: 0x1660, 0xb5a: 0x13c3, 0xb5b: 0x13bf, 0xb5c: 0x13cb, 0xb5d: 0x1665, + 0xb5e: 0x13d7, 0xb5f: 0x13e3, 0xb60: 0x1813, 0xb61: 0x1818, 0xb62: 0x1423, 0xb63: 0x142f, + 0xb64: 0x1437, 0xb65: 0x181d, 0xb66: 0x143b, 0xb67: 0x1467, 0xb68: 0x1473, 0xb69: 0x1477, + 0xb6a: 0x146f, 0xb6b: 0x1483, 0xb6c: 0x1487, 0xb6d: 0x1822, 0xb6e: 0x1493, 0xb6f: 0x0693, + 0xb70: 0x149b, 0xb71: 0x1827, 0xb72: 0x0697, 0xb73: 0x14d3, 0xb74: 0x0ac3, 0xb75: 0x14eb, + 0xb76: 0x182c, 0xb77: 0x1836, 0xb78: 0x069b, 0xb79: 0x069f, 0xb7a: 0x1513, 0xb7b: 0x183b, + 0xb7c: 0x06a3, 0xb7d: 0x1840, 0xb7e: 0x152b, 0xb7f: 0x152b, + // Block 0x2e, offset 0xb80 + 0xb80: 0x1533, 0xb81: 0x1845, 0xb82: 0x154b, 0xb83: 0x06a7, 0xb84: 0x155b, 0xb85: 0x1567, + 0xb86: 0x156f, 0xb87: 0x1577, 0xb88: 0x06ab, 0xb89: 0x184a, 0xb8a: 0x158b, 0xb8b: 0x15a7, + 0xb8c: 0x15b3, 0xb8d: 0x06af, 0xb8e: 0x06b3, 0xb8f: 0x15b7, 0xb90: 0x184f, 0xb91: 0x06b7, + 0xb92: 0x1854, 0xb93: 0x1859, 0xb94: 0x185e, 0xb95: 0x15db, 0xb96: 0x06bb, 0xb97: 0x15ef, + 0xb98: 0x15f7, 0xb99: 0x15fb, 0xb9a: 0x1603, 0xb9b: 0x160b, 0xb9c: 0x1613, 0xb9d: 0x1868, } // nfcIndex: 22 blocks, 1408 entries, 1408 bytes @@ -3417,33 +3429,33 @@ var nfcIndex = [1408]uint8{ // Block 0x1, offset 0x40 // Block 0x2, offset 0x80 // Block 0x3, offset 0xc0 - 0xc2: 0x2c, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x2d, 0xc7: 0x04, - 0xc8: 0x05, 0xca: 0x2e, 0xcb: 0x2f, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x30, - 0xd0: 0x09, 0xd1: 0x31, 0xd2: 0x32, 0xd3: 0x0a, 0xd6: 0x0b, 0xd7: 0x33, - 0xd8: 0x34, 0xd9: 0x0c, 0xdb: 0x35, 0xdc: 0x36, 0xdd: 0x37, 0xdf: 0x38, + 0xc2: 0x2d, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x2e, 0xc7: 0x04, + 0xc8: 0x05, 0xca: 0x2f, 0xcb: 0x30, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x31, + 0xd0: 0x09, 0xd1: 0x32, 0xd2: 0x33, 0xd3: 0x0a, 0xd6: 0x0b, 0xd7: 0x34, + 0xd8: 0x35, 0xd9: 0x0c, 0xdb: 0x36, 0xdc: 0x37, 0xdd: 0x38, 0xdf: 0x39, 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, 0xf0: 0x13, // Block 0x4, offset 0x100 - 0x120: 0x39, 0x121: 0x3a, 0x123: 0x3b, 0x124: 0x3c, 0x125: 0x3d, 0x126: 0x3e, 0x127: 0x3f, - 0x128: 0x40, 0x129: 0x41, 0x12a: 0x42, 0x12b: 0x43, 0x12c: 0x3e, 0x12d: 0x44, 0x12e: 0x45, 0x12f: 0x46, - 0x131: 0x47, 0x132: 0x48, 0x133: 0x49, 0x134: 0x4a, 0x135: 0x4b, 0x137: 0x4c, - 0x138: 0x4d, 0x139: 0x4e, 0x13a: 0x4f, 0x13b: 0x50, 0x13c: 0x51, 0x13d: 0x52, 0x13e: 0x53, 0x13f: 0x54, + 0x120: 0x3a, 0x121: 0x3b, 0x123: 0x3c, 0x124: 0x3d, 0x125: 0x3e, 0x126: 0x3f, 0x127: 0x40, + 0x128: 0x41, 0x129: 0x42, 0x12a: 0x43, 0x12b: 0x44, 0x12c: 0x3f, 0x12d: 0x45, 0x12e: 0x46, 0x12f: 0x47, + 0x131: 0x48, 0x132: 0x49, 0x133: 0x4a, 0x134: 0x4b, 0x135: 0x4c, 0x137: 0x4d, + 0x138: 0x4e, 0x139: 0x4f, 0x13a: 0x50, 0x13b: 0x51, 0x13c: 0x52, 0x13d: 0x53, 0x13e: 0x54, 0x13f: 0x55, // Block 0x5, offset 0x140 - 0x140: 0x55, 0x142: 0x56, 0x144: 0x57, 0x145: 0x58, 0x146: 0x59, 0x147: 0x5a, - 0x14d: 0x5b, - 0x15c: 0x5c, 0x15f: 0x5d, - 0x162: 0x5e, 0x164: 0x5f, - 0x168: 0x60, 0x169: 0x61, 0x16a: 0x62, 0x16c: 0x0d, 0x16d: 0x63, 0x16e: 0x64, 0x16f: 0x65, - 0x170: 0x66, 0x173: 0x67, 0x177: 0x68, - 0x178: 0x0e, 0x179: 0x0f, 0x17a: 0x10, 0x17b: 0x11, 0x17c: 0x12, 0x17d: 0x13, 0x17e: 0x14, 0x17f: 0x15, + 0x140: 0x56, 0x142: 0x57, 0x144: 0x58, 0x145: 0x59, 0x146: 0x5a, 0x147: 0x5b, + 0x14d: 0x5c, + 0x15c: 0x5d, 0x15f: 0x5e, + 0x162: 0x5f, 0x164: 0x60, + 0x168: 0x61, 0x169: 0x62, 0x16a: 0x63, 0x16c: 0x0d, 0x16d: 0x64, 0x16e: 0x65, 0x16f: 0x66, + 0x170: 0x67, 0x173: 0x68, 0x177: 0x0e, + 0x178: 0x0f, 0x179: 0x10, 0x17a: 0x11, 0x17b: 0x12, 0x17c: 0x13, 0x17d: 0x14, 0x17e: 0x15, 0x17f: 0x16, // Block 0x6, offset 0x180 0x180: 0x69, 0x183: 0x6a, 0x184: 0x6b, 0x186: 0x6c, 0x187: 0x6d, - 0x188: 0x6e, 0x189: 0x16, 0x18a: 0x17, 0x18b: 0x6f, 0x18c: 0x70, + 0x188: 0x6e, 0x189: 0x17, 0x18a: 0x18, 0x18b: 0x6f, 0x18c: 0x70, 0x1ab: 0x71, 0x1b3: 0x72, 0x1b5: 0x73, 0x1b7: 0x74, // Block 0x7, offset 0x1c0 - 0x1c0: 0x75, 0x1c1: 0x18, 0x1c2: 0x19, 0x1c3: 0x1a, 0x1c4: 0x76, 0x1c5: 0x77, + 0x1c0: 0x75, 0x1c1: 0x19, 0x1c2: 0x1a, 0x1c3: 0x1b, 0x1c4: 0x76, 0x1c5: 0x77, 0x1c9: 0x78, 0x1cc: 0x79, 0x1cd: 0x7a, // Block 0x8, offset 0x200 0x219: 0x7b, 0x21a: 0x7c, 0x21b: 0x7d, @@ -3475,8 +3487,8 @@ var nfcIndex = [1408]uint8{ 0x2d0: 0x8d, 0x2d1: 0x87, 0x2d2: 0x88, 0x2d3: 0x89, 0x2d4: 0x8a, 0x2d5: 0x8b, 0x2d6: 0x8c, 0x2d7: 0x8d, 0x2d8: 0x87, 0x2d9: 0x88, 0x2da: 0x89, 0x2db: 0x8a, 0x2dc: 0x8b, 0x2dd: 0x8c, 0x2de: 0x8e, // Block 0xc, offset 0x300 - 0x324: 0x1b, 0x325: 0x1c, 0x326: 0x1d, 0x327: 0x1e, - 0x328: 0x1f, 0x329: 0x20, 0x32a: 0x21, 0x32b: 0x22, 0x32c: 0x8f, 0x32d: 0x90, 0x32e: 0x91, + 0x324: 0x1c, 0x325: 0x1d, 0x326: 0x1e, 0x327: 0x1f, + 0x328: 0x20, 0x329: 0x21, 0x32a: 0x22, 0x32b: 0x23, 0x32c: 0x8f, 0x32d: 0x90, 0x32e: 0x91, 0x331: 0x92, 0x332: 0x93, 0x333: 0x94, 0x334: 0x95, 0x338: 0x96, 0x339: 0x97, 0x33a: 0x98, 0x33b: 0x99, 0x33e: 0x9a, 0x33f: 0x9b, // Block 0xd, offset 0x340 @@ -3485,36 +3497,37 @@ var nfcIndex = [1408]uint8{ 0x368: 0x9f, 0x36b: 0xa0, // Block 0xe, offset 0x380 0x381: 0xa1, 0x382: 0xa2, 0x384: 0xa3, 0x385: 0x82, 0x387: 0xa4, - 0x388: 0xa5, 0x38b: 0xa6, 0x38c: 0x3e, 0x38d: 0xa7, + 0x388: 0xa5, 0x38b: 0xa6, 0x38c: 0x3f, 0x38d: 0xa7, 0x391: 0xa8, 0x392: 0xa9, 0x393: 0xaa, 0x396: 0xab, 0x397: 0xac, 0x398: 0x73, 0x39a: 0xad, 0x39c: 0xae, - 0x3b0: 0x73, + 0x3a8: 0xaf, 0x3a9: 0xb0, 0x3aa: 0xb1, + 0x3b0: 0x73, 0x3b5: 0xb2, // Block 0xf, offset 0x3c0 - 0x3eb: 0xaf, 0x3ec: 0xb0, + 0x3eb: 0xb3, 0x3ec: 0xb4, // Block 0x10, offset 0x400 - 0x432: 0xb1, + 0x432: 0xb5, // Block 0x11, offset 0x440 - 0x445: 0xb2, 0x446: 0xb3, 0x447: 0xb4, - 0x449: 0xb5, + 0x445: 0xb6, 0x446: 0xb7, 0x447: 0xb8, + 0x449: 0xb9, // Block 0x12, offset 0x480 - 0x480: 0xb6, - 0x4a3: 0xb7, 0x4a5: 0xb8, + 0x480: 0xba, + 0x4a3: 0xbb, 0x4a5: 0xbc, // Block 0x13, offset 0x4c0 - 0x4c8: 0xb9, + 0x4c8: 0xbd, // Block 0x14, offset 0x500 - 0x520: 0x23, 0x521: 0x24, 0x522: 0x25, 0x523: 0x26, 0x524: 0x27, 0x525: 0x28, 0x526: 0x29, 0x527: 0x2a, - 0x528: 0x2b, + 0x520: 0x24, 0x521: 0x25, 0x522: 0x26, 0x523: 0x27, 0x524: 0x28, 0x525: 0x29, 0x526: 0x2a, 0x527: 0x2b, + 0x528: 0x2c, // Block 0x15, offset 0x540 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, 0x56f: 0x12, } -// nfcSparseOffset: 142 entries, 284 bytes -var nfcSparseOffset = []uint16{0x0, 0x5, 0x9, 0xb, 0xd, 0x18, 0x28, 0x2a, 0x2f, 0x3a, 0x49, 0x56, 0x5e, 0x62, 0x67, 0x69, 0x7a, 0x82, 0x89, 0x8c, 0x93, 0x97, 0x9b, 0x9d, 0x9f, 0xa8, 0xac, 0xb3, 0xb8, 0xbb, 0xc5, 0xc7, 0xce, 0xd6, 0xd9, 0xdb, 0xdd, 0xdf, 0xe4, 0xf5, 0x101, 0x103, 0x109, 0x10b, 0x10d, 0x10f, 0x111, 0x113, 0x115, 0x118, 0x11b, 0x11d, 0x120, 0x123, 0x127, 0x12c, 0x135, 0x137, 0x13a, 0x13c, 0x147, 0x157, 0x15b, 0x169, 0x16c, 0x172, 0x178, 0x183, 0x187, 0x189, 0x18b, 0x18d, 0x18f, 0x191, 0x197, 0x19b, 0x19d, 0x19f, 0x1a7, 0x1ab, 0x1ae, 0x1b0, 0x1b2, 0x1b4, 0x1b7, 0x1b9, 0x1bb, 0x1bd, 0x1bf, 0x1c5, 0x1c8, 0x1ca, 0x1d1, 0x1d7, 0x1dd, 0x1e5, 0x1eb, 0x1f1, 0x1f7, 0x1fb, 0x209, 0x212, 0x215, 0x218, 0x21a, 0x21d, 0x21f, 0x223, 0x228, 0x22a, 0x22c, 0x231, 0x237, 0x239, 0x23b, 0x23d, 0x243, 0x246, 0x249, 0x251, 0x258, 0x25b, 0x25e, 0x260, 0x268, 0x26b, 0x272, 0x275, 0x27b, 0x27d, 0x280, 0x282, 0x284, 0x286, 0x288, 0x295, 0x29f, 0x2a1, 0x2a3, 0x2a9, 0x2ab, 0x2ae} +// nfcSparseOffset: 145 entries, 290 bytes +var nfcSparseOffset = []uint16{0x0, 0x5, 0x9, 0xb, 0xd, 0x18, 0x28, 0x2a, 0x2f, 0x3a, 0x49, 0x56, 0x5e, 0x62, 0x67, 0x69, 0x7a, 0x82, 0x89, 0x8c, 0x93, 0x97, 0x9b, 0x9d, 0x9f, 0xa8, 0xac, 0xb3, 0xb8, 0xbb, 0xc5, 0xc8, 0xcf, 0xd7, 0xda, 0xdc, 0xde, 0xe0, 0xe5, 0xf6, 0x102, 0x104, 0x10a, 0x10c, 0x10e, 0x110, 0x112, 0x114, 0x116, 0x119, 0x11c, 0x11e, 0x121, 0x124, 0x128, 0x12d, 0x136, 0x138, 0x13b, 0x13d, 0x148, 0x14c, 0x15a, 0x15d, 0x163, 0x169, 0x174, 0x178, 0x17a, 0x17c, 0x17e, 0x180, 0x182, 0x188, 0x18c, 0x18e, 0x190, 0x198, 0x19c, 0x19f, 0x1a1, 0x1a3, 0x1a5, 0x1a8, 0x1aa, 0x1ac, 0x1ae, 0x1b0, 0x1b6, 0x1b9, 0x1bb, 0x1c2, 0x1c8, 0x1ce, 0x1d6, 0x1dc, 0x1e2, 0x1e8, 0x1ec, 0x1fa, 0x203, 0x206, 0x209, 0x20b, 0x20e, 0x210, 0x214, 0x219, 0x21b, 0x21d, 0x222, 0x228, 0x22a, 0x22c, 0x22e, 0x234, 0x237, 0x23a, 0x242, 0x249, 0x24c, 0x24f, 0x251, 0x259, 0x25c, 0x263, 0x266, 0x26c, 0x26e, 0x271, 0x273, 0x275, 0x277, 0x279, 0x27c, 0x27e, 0x280, 0x282, 0x28f, 0x299, 0x29b, 0x29d, 0x2a3, 0x2a5, 0x2a8} -// nfcSparseValues: 688 entries, 2752 bytes -var nfcSparseValues = [688]valueRange{ +// nfcSparseValues: 682 entries, 2728 bytes +var nfcSparseValues = [682]valueRange{ // Block 0x0, offset 0x0 {value: 0x0000, lo: 0x04}, {value: 0xa100, lo: 0xa8, hi: 0xa8}, @@ -3743,9 +3756,10 @@ var nfcSparseValues = [688]valueRange{ {value: 0x8104, lo: 0x8d, hi: 0x8d}, {value: 0x9900, lo: 0x95, hi: 0x96}, // Block 0x1e, offset 0xc5 - {value: 0x0000, lo: 0x01}, + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xbb, hi: 0xbc}, {value: 0x9900, lo: 0xbe, hi: 0xbe}, - // Block 0x1f, offset 0xc7 + // Block 0x1f, offset 0xc8 {value: 0x0000, lo: 0x06}, {value: 0xa000, lo: 0x86, hi: 0x87}, {value: 0x2cfe, lo: 0x8a, hi: 0x8a}, @@ -3753,7 +3767,7 @@ var nfcSparseValues = [688]valueRange{ {value: 0x2d06, lo: 0x8c, hi: 0x8c}, {value: 0x8104, lo: 0x8d, hi: 0x8d}, {value: 0x9900, lo: 0x97, hi: 0x97}, - // Block 0x20, offset 0xce + // Block 0x20, offset 0xcf {value: 0x6bea, lo: 0x07}, {value: 0x9904, lo: 0x8a, hi: 0x8a}, {value: 0x9900, lo: 0x8f, hi: 0x8f}, @@ -3762,26 +3776,26 @@ var nfcSparseValues = [688]valueRange{ {value: 0x2f58, lo: 0x9c, hi: 0x9c}, {value: 0x2de3, lo: 0x9d, hi: 0x9d}, {value: 0x2d16, lo: 0x9e, hi: 0x9f}, - // Block 0x21, offset 0xd6 + // Block 0x21, offset 0xd7 {value: 0x0000, lo: 0x02}, {value: 0x8122, lo: 0xb8, hi: 0xb9}, {value: 0x8104, lo: 0xba, hi: 0xba}, - // Block 0x22, offset 0xd9 + // Block 0x22, offset 0xda {value: 0x0000, lo: 0x01}, {value: 0x8123, lo: 0x88, hi: 0x8b}, - // Block 0x23, offset 0xdb + // Block 0x23, offset 0xdc {value: 0x0000, lo: 0x01}, {value: 0x8124, lo: 0xb8, hi: 0xb9}, - // Block 0x24, offset 0xdd + // Block 0x24, offset 0xde {value: 0x0000, lo: 0x01}, {value: 0x8125, lo: 0x88, hi: 0x8b}, - // Block 0x25, offset 0xdf + // Block 0x25, offset 0xe0 {value: 0x0000, lo: 0x04}, {value: 0x812d, lo: 0x98, hi: 0x99}, {value: 0x812d, lo: 0xb5, hi: 0xb5}, {value: 0x812d, lo: 0xb7, hi: 0xb7}, {value: 0x812b, lo: 0xb9, hi: 0xb9}, - // Block 0x26, offset 0xe4 + // Block 0x26, offset 0xe5 {value: 0x0000, lo: 0x10}, {value: 0x2644, lo: 0x83, hi: 0x83}, {value: 0x264b, lo: 0x8d, hi: 0x8d}, @@ -3799,7 +3813,7 @@ var nfcSparseValues = [688]valueRange{ {value: 0x45bc, lo: 0xb8, hi: 0xb8}, {value: 0x8200, lo: 0xb9, hi: 0xb9}, {value: 0x8127, lo: 0xba, hi: 0xbd}, - // Block 0x27, offset 0xf5 + // Block 0x27, offset 0xf6 {value: 0x0000, lo: 0x0b}, {value: 0x8127, lo: 0x80, hi: 0x80}, {value: 0x4a96, lo: 0x81, hi: 0x81}, @@ -3812,65 +3826,65 @@ var nfcSparseValues = [688]valueRange{ {value: 0x2683, lo: 0xa7, hi: 0xa7}, {value: 0x268a, lo: 0xac, hi: 0xac}, {value: 0x2667, lo: 0xb9, hi: 0xb9}, - // Block 0x28, offset 0x101 + // Block 0x28, offset 0x102 {value: 0x0000, lo: 0x01}, {value: 0x812d, lo: 0x86, hi: 0x86}, - // Block 0x29, offset 0x103 + // Block 0x29, offset 0x104 {value: 0x0000, lo: 0x05}, {value: 0xa000, lo: 0xa5, hi: 0xa5}, {value: 0x2d1e, lo: 0xa6, hi: 0xa6}, {value: 0x9900, lo: 0xae, hi: 0xae}, {value: 0x8102, lo: 0xb7, hi: 0xb7}, {value: 0x8104, lo: 0xb9, hi: 0xba}, - // Block 0x2a, offset 0x109 + // Block 0x2a, offset 0x10a {value: 0x0000, lo: 0x01}, {value: 0x812d, lo: 0x8d, hi: 0x8d}, - // Block 0x2b, offset 0x10b + // Block 0x2b, offset 0x10c {value: 0x0000, lo: 0x01}, {value: 0xa000, lo: 0x80, hi: 0x92}, - // Block 0x2c, offset 0x10d + // Block 0x2c, offset 0x10e {value: 0x0000, lo: 0x01}, {value: 0xb900, lo: 0xa1, hi: 0xb5}, - // Block 0x2d, offset 0x10f + // Block 0x2d, offset 0x110 {value: 0x0000, lo: 0x01}, {value: 0x9900, lo: 0xa8, hi: 0xbf}, - // Block 0x2e, offset 0x111 + // Block 0x2e, offset 0x112 {value: 0x0000, lo: 0x01}, {value: 0x9900, lo: 0x80, hi: 0x82}, - // Block 0x2f, offset 0x113 + // Block 0x2f, offset 0x114 {value: 0x0000, lo: 0x01}, {value: 0x8132, lo: 0x9d, hi: 0x9f}, - // Block 0x30, offset 0x115 + // Block 0x30, offset 0x116 {value: 0x0000, lo: 0x02}, {value: 0x8104, lo: 0x94, hi: 0x94}, {value: 0x8104, lo: 0xb4, hi: 0xb4}, - // Block 0x31, offset 0x118 + // Block 0x31, offset 0x119 {value: 0x0000, lo: 0x02}, {value: 0x8104, lo: 0x92, hi: 0x92}, {value: 0x8132, lo: 0x9d, hi: 0x9d}, - // Block 0x32, offset 0x11b + // Block 0x32, offset 0x11c {value: 0x0000, lo: 0x01}, {value: 0x8131, lo: 0xa9, hi: 0xa9}, - // Block 0x33, offset 0x11d + // Block 0x33, offset 0x11e {value: 0x0004, lo: 0x02}, {value: 0x812e, lo: 0xb9, hi: 0xba}, {value: 0x812d, lo: 0xbb, hi: 0xbb}, - // Block 0x34, offset 0x120 + // Block 0x34, offset 0x121 {value: 0x0000, lo: 0x02}, {value: 0x8132, lo: 0x97, hi: 0x97}, {value: 0x812d, lo: 0x98, hi: 0x98}, - // Block 0x35, offset 0x123 + // Block 0x35, offset 0x124 {value: 0x0000, lo: 0x03}, {value: 0x8104, lo: 0xa0, hi: 0xa0}, {value: 0x8132, lo: 0xb5, hi: 0xbc}, {value: 0x812d, lo: 0xbf, hi: 0xbf}, - // Block 0x36, offset 0x127 + // Block 0x36, offset 0x128 {value: 0x0000, lo: 0x04}, {value: 0x8132, lo: 0xb0, hi: 0xb4}, {value: 0x812d, lo: 0xb5, hi: 0xba}, {value: 0x8132, lo: 0xbb, hi: 0xbc}, {value: 0x812d, lo: 0xbd, hi: 0xbd}, - // Block 0x37, offset 0x12c + // Block 0x37, offset 0x12d {value: 0x0000, lo: 0x08}, {value: 0x2d66, lo: 0x80, hi: 0x80}, {value: 0x2d6e, lo: 0x81, hi: 0x81}, @@ -3880,17 +3894,17 @@ var nfcSparseValues = [688]valueRange{ {value: 0x8132, lo: 0xab, hi: 0xab}, {value: 0x812d, lo: 0xac, hi: 0xac}, {value: 0x8132, lo: 0xad, hi: 0xb3}, - // Block 0x38, offset 0x135 + // Block 0x38, offset 0x136 {value: 0x0000, lo: 0x01}, {value: 0x8104, lo: 0xaa, hi: 0xab}, - // Block 0x39, offset 0x137 + // Block 0x39, offset 0x138 {value: 0x0000, lo: 0x02}, {value: 0x8102, lo: 0xa6, hi: 0xa6}, {value: 0x8104, lo: 0xb2, hi: 0xb3}, - // Block 0x3a, offset 0x13a + // Block 0x3a, offset 0x13b {value: 0x0000, lo: 0x01}, {value: 0x8102, lo: 0xb7, hi: 0xb7}, - // Block 0x3b, offset 0x13c + // Block 0x3b, offset 0x13d {value: 0x0000, lo: 0x0a}, {value: 0x8132, lo: 0x90, hi: 0x92}, {value: 0x8101, lo: 0x94, hi: 0x94}, @@ -3902,29 +3916,12 @@ var nfcSparseValues = [688]valueRange{ {value: 0x812d, lo: 0xad, hi: 0xad}, {value: 0x8132, lo: 0xb4, hi: 0xb4}, {value: 0x8132, lo: 0xb8, hi: 0xb9}, - // Block 0x3c, offset 0x147 - {value: 0x0000, lo: 0x0f}, - {value: 0x8132, lo: 0x80, hi: 0x81}, - {value: 0x812d, lo: 0x82, hi: 0x82}, - {value: 0x8132, lo: 0x83, hi: 0x89}, - {value: 0x812d, lo: 0x8a, hi: 0x8a}, - {value: 0x8132, lo: 0x8b, hi: 0x8c}, - {value: 0x8135, lo: 0x8d, hi: 0x8d}, - {value: 0x812a, lo: 0x8e, hi: 0x8e}, - {value: 0x812d, lo: 0x8f, hi: 0x8f}, - {value: 0x8129, lo: 0x90, hi: 0x90}, - {value: 0x8132, lo: 0x91, hi: 0xb5}, - {value: 0x8132, lo: 0xbb, hi: 0xbb}, - {value: 0x8134, lo: 0xbc, hi: 0xbc}, - {value: 0x812d, lo: 0xbd, hi: 0xbd}, - {value: 0x8132, lo: 0xbe, hi: 0xbe}, - {value: 0x812d, lo: 0xbf, hi: 0xbf}, - // Block 0x3d, offset 0x157 + // Block 0x3c, offset 0x148 {value: 0x0004, lo: 0x03}, {value: 0x0433, lo: 0x80, hi: 0x81}, {value: 0x8100, lo: 0x97, hi: 0x97}, {value: 0x8100, lo: 0xbe, hi: 0xbe}, - // Block 0x3e, offset 0x15b + // Block 0x3d, offset 0x14c {value: 0x0000, lo: 0x0d}, {value: 0x8132, lo: 0x90, hi: 0x91}, {value: 0x8101, lo: 0x92, hi: 0x93}, @@ -3939,25 +3936,25 @@ var nfcSparseValues = [688]valueRange{ {value: 0x8101, lo: 0xaa, hi: 0xab}, {value: 0x812d, lo: 0xac, hi: 0xaf}, {value: 0x8132, lo: 0xb0, hi: 0xb0}, - // Block 0x3f, offset 0x169 + // Block 0x3e, offset 0x15a {value: 0x427b, lo: 0x02}, {value: 0x01b8, lo: 0xa6, hi: 0xa6}, {value: 0x0057, lo: 0xaa, hi: 0xab}, - // Block 0x40, offset 0x16c + // Block 0x3f, offset 0x15d {value: 0x0007, lo: 0x05}, {value: 0xa000, lo: 0x90, hi: 0x90}, {value: 0xa000, lo: 0x92, hi: 0x92}, {value: 0xa000, lo: 0x94, hi: 0x94}, {value: 0x3bb9, lo: 0x9a, hi: 0x9b}, {value: 0x3bc7, lo: 0xae, hi: 0xae}, - // Block 0x41, offset 0x172 + // Block 0x40, offset 0x163 {value: 0x000e, lo: 0x05}, {value: 0x3bce, lo: 0x8d, hi: 0x8e}, {value: 0x3bd5, lo: 0x8f, hi: 0x8f}, {value: 0xa000, lo: 0x90, hi: 0x90}, {value: 0xa000, lo: 0x92, hi: 0x92}, {value: 0xa000, lo: 0x94, hi: 0x94}, - // Block 0x42, offset 0x178 + // Block 0x41, offset 0x169 {value: 0x6408, lo: 0x0a}, {value: 0xa000, lo: 0x83, hi: 0x83}, {value: 0x3be3, lo: 0x84, hi: 0x84}, @@ -3969,45 +3966,45 @@ var nfcSparseValues = [688]valueRange{ {value: 0x3bf8, lo: 0xa4, hi: 0xa5}, {value: 0x3bff, lo: 0xa6, hi: 0xa6}, {value: 0xa000, lo: 0xbc, hi: 0xbc}, - // Block 0x43, offset 0x183 + // Block 0x42, offset 0x174 {value: 0x0007, lo: 0x03}, {value: 0x3c68, lo: 0xa0, hi: 0xa1}, {value: 0x3c92, lo: 0xa2, hi: 0xa3}, {value: 0x3cbc, lo: 0xaa, hi: 0xad}, - // Block 0x44, offset 0x187 + // Block 0x43, offset 0x178 {value: 0x0004, lo: 0x01}, {value: 0x048b, lo: 0xa9, hi: 0xaa}, - // Block 0x45, offset 0x189 + // Block 0x44, offset 0x17a {value: 0x0000, lo: 0x01}, {value: 0x44dd, lo: 0x9c, hi: 0x9c}, - // Block 0x46, offset 0x18b + // Block 0x45, offset 0x17c {value: 0x0000, lo: 0x01}, {value: 0x8132, lo: 0xaf, hi: 0xb1}, - // Block 0x47, offset 0x18d + // Block 0x46, offset 0x17e {value: 0x0000, lo: 0x01}, {value: 0x8104, lo: 0xbf, hi: 0xbf}, - // Block 0x48, offset 0x18f + // Block 0x47, offset 0x180 {value: 0x0000, lo: 0x01}, {value: 0x8132, lo: 0xa0, hi: 0xbf}, - // Block 0x49, offset 0x191 + // Block 0x48, offset 0x182 {value: 0x0000, lo: 0x05}, {value: 0x812c, lo: 0xaa, hi: 0xaa}, {value: 0x8131, lo: 0xab, hi: 0xab}, {value: 0x8133, lo: 0xac, hi: 0xac}, {value: 0x812e, lo: 0xad, hi: 0xad}, {value: 0x812f, lo: 0xae, hi: 0xaf}, - // Block 0x4a, offset 0x197 + // Block 0x49, offset 0x188 {value: 0x0000, lo: 0x03}, {value: 0x4a9f, lo: 0xb3, hi: 0xb3}, {value: 0x4a9f, lo: 0xb5, hi: 0xb6}, {value: 0x4a9f, lo: 0xba, hi: 0xbf}, - // Block 0x4b, offset 0x19b + // Block 0x4a, offset 0x18c {value: 0x0000, lo: 0x01}, {value: 0x4a9f, lo: 0x8f, hi: 0xa3}, - // Block 0x4c, offset 0x19d + // Block 0x4b, offset 0x18e {value: 0x0000, lo: 0x01}, {value: 0x8100, lo: 0xae, hi: 0xbe}, - // Block 0x4d, offset 0x19f + // Block 0x4c, offset 0x190 {value: 0x0000, lo: 0x07}, {value: 0x8100, lo: 0x84, hi: 0x84}, {value: 0x8100, lo: 0x87, hi: 0x87}, @@ -4016,55 +4013,55 @@ var nfcSparseValues = [688]valueRange{ {value: 0x8100, lo: 0xa1, hi: 0xa1}, {value: 0x8100, lo: 0xb2, hi: 0xb2}, {value: 0x8100, lo: 0xbb, hi: 0xbb}, - // Block 0x4e, offset 0x1a7 + // Block 0x4d, offset 0x198 {value: 0x0000, lo: 0x03}, {value: 0x8100, lo: 0x80, hi: 0x80}, {value: 0x8100, lo: 0x8b, hi: 0x8b}, {value: 0x8100, lo: 0x8e, hi: 0x8e}, - // Block 0x4f, offset 0x1ab + // Block 0x4e, offset 0x19c {value: 0x0000, lo: 0x02}, {value: 0x8132, lo: 0xaf, hi: 0xaf}, {value: 0x8132, lo: 0xb4, hi: 0xbd}, - // Block 0x50, offset 0x1ae + // Block 0x4f, offset 0x19f {value: 0x0000, lo: 0x01}, {value: 0x8132, lo: 0x9e, hi: 0x9f}, - // Block 0x51, offset 0x1b0 + // Block 0x50, offset 0x1a1 {value: 0x0000, lo: 0x01}, {value: 0x8132, lo: 0xb0, hi: 0xb1}, - // Block 0x52, offset 0x1b2 + // Block 0x51, offset 0x1a3 {value: 0x0000, lo: 0x01}, {value: 0x8104, lo: 0x86, hi: 0x86}, - // Block 0x53, offset 0x1b4 + // Block 0x52, offset 0x1a5 {value: 0x0000, lo: 0x02}, {value: 0x8104, lo: 0x84, hi: 0x84}, {value: 0x8132, lo: 0xa0, hi: 0xb1}, - // Block 0x54, offset 0x1b7 + // Block 0x53, offset 0x1a8 {value: 0x0000, lo: 0x01}, {value: 0x812d, lo: 0xab, hi: 0xad}, - // Block 0x55, offset 0x1b9 + // Block 0x54, offset 0x1aa {value: 0x0000, lo: 0x01}, {value: 0x8104, lo: 0x93, hi: 0x93}, - // Block 0x56, offset 0x1bb + // Block 0x55, offset 0x1ac {value: 0x0000, lo: 0x01}, {value: 0x8102, lo: 0xb3, hi: 0xb3}, - // Block 0x57, offset 0x1bd + // Block 0x56, offset 0x1ae {value: 0x0000, lo: 0x01}, {value: 0x8104, lo: 0x80, hi: 0x80}, - // Block 0x58, offset 0x1bf + // Block 0x57, offset 0x1b0 {value: 0x0000, lo: 0x05}, {value: 0x8132, lo: 0xb0, hi: 0xb0}, {value: 0x8132, lo: 0xb2, hi: 0xb3}, {value: 0x812d, lo: 0xb4, hi: 0xb4}, {value: 0x8132, lo: 0xb7, hi: 0xb8}, {value: 0x8132, lo: 0xbe, hi: 0xbf}, - // Block 0x59, offset 0x1c5 + // Block 0x58, offset 0x1b6 {value: 0x0000, lo: 0x02}, {value: 0x8132, lo: 0x81, hi: 0x81}, {value: 0x8104, lo: 0xb6, hi: 0xb6}, - // Block 0x5a, offset 0x1c8 + // Block 0x59, offset 0x1b9 {value: 0x0000, lo: 0x01}, {value: 0x8104, lo: 0xad, hi: 0xad}, - // Block 0x5b, offset 0x1ca + // Block 0x5a, offset 0x1bb {value: 0x0000, lo: 0x06}, {value: 0xe500, lo: 0x80, hi: 0x80}, {value: 0xc600, lo: 0x81, hi: 0x9b}, @@ -4072,21 +4069,21 @@ var nfcSparseValues = [688]valueRange{ {value: 0xc600, lo: 0x9d, hi: 0xb7}, {value: 0xe500, lo: 0xb8, hi: 0xb8}, {value: 0xc600, lo: 0xb9, hi: 0xbf}, - // Block 0x5c, offset 0x1d1 + // Block 0x5b, offset 0x1c2 {value: 0x0000, lo: 0x05}, {value: 0xc600, lo: 0x80, hi: 0x93}, {value: 0xe500, lo: 0x94, hi: 0x94}, {value: 0xc600, lo: 0x95, hi: 0xaf}, {value: 0xe500, lo: 0xb0, hi: 0xb0}, {value: 0xc600, lo: 0xb1, hi: 0xbf}, - // Block 0x5d, offset 0x1d7 + // Block 0x5c, offset 0x1c8 {value: 0x0000, lo: 0x05}, {value: 0xc600, lo: 0x80, hi: 0x8b}, {value: 0xe500, lo: 0x8c, hi: 0x8c}, {value: 0xc600, lo: 0x8d, hi: 0xa7}, {value: 0xe500, lo: 0xa8, hi: 0xa8}, {value: 0xc600, lo: 0xa9, hi: 0xbf}, - // Block 0x5e, offset 0x1dd + // Block 0x5d, offset 0x1ce {value: 0x0000, lo: 0x07}, {value: 0xc600, lo: 0x80, hi: 0x83}, {value: 0xe500, lo: 0x84, hi: 0x84}, @@ -4095,33 +4092,33 @@ var nfcSparseValues = [688]valueRange{ {value: 0xc600, lo: 0xa1, hi: 0xbb}, {value: 0xe500, lo: 0xbc, hi: 0xbc}, {value: 0xc600, lo: 0xbd, hi: 0xbf}, - // Block 0x5f, offset 0x1e5 + // Block 0x5e, offset 0x1d6 {value: 0x0000, lo: 0x05}, {value: 0xc600, lo: 0x80, hi: 0x97}, {value: 0xe500, lo: 0x98, hi: 0x98}, {value: 0xc600, lo: 0x99, hi: 0xb3}, {value: 0xe500, lo: 0xb4, hi: 0xb4}, {value: 0xc600, lo: 0xb5, hi: 0xbf}, - // Block 0x60, offset 0x1eb + // Block 0x5f, offset 0x1dc {value: 0x0000, lo: 0x05}, {value: 0xc600, lo: 0x80, hi: 0x8f}, {value: 0xe500, lo: 0x90, hi: 0x90}, {value: 0xc600, lo: 0x91, hi: 0xab}, {value: 0xe500, lo: 0xac, hi: 0xac}, {value: 0xc600, lo: 0xad, hi: 0xbf}, - // Block 0x61, offset 0x1f1 + // Block 0x60, offset 0x1e2 {value: 0x0000, lo: 0x05}, {value: 0xc600, lo: 0x80, hi: 0x87}, {value: 0xe500, lo: 0x88, hi: 0x88}, {value: 0xc600, lo: 0x89, hi: 0xa3}, {value: 0xe500, lo: 0xa4, hi: 0xa4}, {value: 0xc600, lo: 0xa5, hi: 0xbf}, - // Block 0x62, offset 0x1f7 + // Block 0x61, offset 0x1e8 {value: 0x0000, lo: 0x03}, {value: 0xc600, lo: 0x80, hi: 0x87}, {value: 0xe500, lo: 0x88, hi: 0x88}, {value: 0xc600, lo: 0x89, hi: 0xa3}, - // Block 0x63, offset 0x1fb + // Block 0x62, offset 0x1ec {value: 0x0006, lo: 0x0d}, {value: 0x4390, lo: 0x9d, hi: 0x9d}, {value: 0x8115, lo: 0x9e, hi: 0x9e}, @@ -4136,7 +4133,7 @@ var nfcSparseValues = [688]valueRange{ {value: 0x4396, lo: 0xb9, hi: 0xbb}, {value: 0x43ae, lo: 0xbc, hi: 0xbc}, {value: 0x43b4, lo: 0xbe, hi: 0xbe}, - // Block 0x64, offset 0x209 + // Block 0x63, offset 0x1fa {value: 0x0006, lo: 0x08}, {value: 0x43ba, lo: 0x80, hi: 0x81}, {value: 0x43c6, lo: 0x83, hi: 0x84}, @@ -4146,79 +4143,79 @@ var nfcSparseValues = [688]valueRange{ {value: 0x4360, lo: 0x8c, hi: 0x8c}, {value: 0x43a8, lo: 0x8d, hi: 0x8d}, {value: 0x43d2, lo: 0x8e, hi: 0x8e}, - // Block 0x65, offset 0x212 + // Block 0x64, offset 0x203 {value: 0x0000, lo: 0x02}, {value: 0x8100, lo: 0xa4, hi: 0xa5}, {value: 0x8100, lo: 0xb0, hi: 0xb1}, - // Block 0x66, offset 0x215 + // Block 0x65, offset 0x206 {value: 0x0000, lo: 0x02}, {value: 0x8100, lo: 0x9b, hi: 0x9d}, {value: 0x8200, lo: 0x9e, hi: 0xa3}, - // Block 0x67, offset 0x218 + // Block 0x66, offset 0x209 {value: 0x0000, lo: 0x01}, {value: 0x8100, lo: 0x90, hi: 0x90}, - // Block 0x68, offset 0x21a + // Block 0x67, offset 0x20b {value: 0x0000, lo: 0x02}, {value: 0x8100, lo: 0x99, hi: 0x99}, {value: 0x8200, lo: 0xb2, hi: 0xb4}, - // Block 0x69, offset 0x21d + // Block 0x68, offset 0x20e {value: 0x0000, lo: 0x01}, {value: 0x8100, lo: 0xbc, hi: 0xbd}, - // Block 0x6a, offset 0x21f + // Block 0x69, offset 0x210 {value: 0x0000, lo: 0x03}, {value: 0x8132, lo: 0xa0, hi: 0xa6}, {value: 0x812d, lo: 0xa7, hi: 0xad}, {value: 0x8132, lo: 0xae, hi: 0xaf}, - // Block 0x6b, offset 0x223 + // Block 0x6a, offset 0x214 {value: 0x0000, lo: 0x04}, {value: 0x8100, lo: 0x89, hi: 0x8c}, {value: 0x8100, lo: 0xb0, hi: 0xb2}, {value: 0x8100, lo: 0xb4, hi: 0xb4}, {value: 0x8100, lo: 0xb6, hi: 0xbf}, - // Block 0x6c, offset 0x228 + // Block 0x6b, offset 0x219 {value: 0x0000, lo: 0x01}, {value: 0x8100, lo: 0x81, hi: 0x8c}, - // Block 0x6d, offset 0x22a + // Block 0x6c, offset 0x21b {value: 0x0000, lo: 0x01}, {value: 0x8100, lo: 0xb5, hi: 0xba}, - // Block 0x6e, offset 0x22c + // Block 0x6d, offset 0x21d {value: 0x0000, lo: 0x04}, {value: 0x4a9f, lo: 0x9e, hi: 0x9f}, {value: 0x4a9f, lo: 0xa3, hi: 0xa3}, {value: 0x4a9f, lo: 0xa5, hi: 0xa6}, {value: 0x4a9f, lo: 0xaa, hi: 0xaf}, - // Block 0x6f, offset 0x231 + // Block 0x6e, offset 0x222 {value: 0x0000, lo: 0x05}, {value: 0x4a9f, lo: 0x82, hi: 0x87}, {value: 0x4a9f, lo: 0x8a, hi: 0x8f}, {value: 0x4a9f, lo: 0x92, hi: 0x97}, {value: 0x4a9f, lo: 0x9a, hi: 0x9c}, {value: 0x8100, lo: 0xa3, hi: 0xa3}, - // Block 0x70, offset 0x237 + // Block 0x6f, offset 0x228 {value: 0x0000, lo: 0x01}, {value: 0x812d, lo: 0xbd, hi: 0xbd}, - // Block 0x71, offset 0x239 + // Block 0x70, offset 0x22a {value: 0x0000, lo: 0x01}, {value: 0x812d, lo: 0xa0, hi: 0xa0}, - // Block 0x72, offset 0x23b + // Block 0x71, offset 0x22c {value: 0x0000, lo: 0x01}, {value: 0x8132, lo: 0xb6, hi: 0xba}, - // Block 0x73, offset 0x23d + // Block 0x72, offset 0x22e {value: 0x002c, lo: 0x05}, {value: 0x812d, lo: 0x8d, hi: 0x8d}, {value: 0x8132, lo: 0x8f, hi: 0x8f}, {value: 0x8132, lo: 0xb8, hi: 0xb8}, {value: 0x8101, lo: 0xb9, hi: 0xba}, {value: 0x8104, lo: 0xbf, hi: 0xbf}, - // Block 0x74, offset 0x243 + // Block 0x73, offset 0x234 {value: 0x0000, lo: 0x02}, {value: 0x8132, lo: 0xa5, hi: 0xa5}, {value: 0x812d, lo: 0xa6, hi: 0xa6}, - // Block 0x75, offset 0x246 + // Block 0x74, offset 0x237 {value: 0x0000, lo: 0x02}, {value: 0x8104, lo: 0x86, hi: 0x86}, {value: 0x8104, lo: 0xbf, hi: 0xbf}, - // Block 0x76, offset 0x249 + // Block 0x75, offset 0x23a {value: 0x17fe, lo: 0x07}, {value: 0xa000, lo: 0x99, hi: 0x99}, {value: 0x4238, lo: 0x9a, hi: 0x9a}, @@ -4227,7 +4224,7 @@ var nfcSparseValues = [688]valueRange{ {value: 0xa000, lo: 0xa5, hi: 0xa5}, {value: 0x424c, lo: 0xab, hi: 0xab}, {value: 0x8104, lo: 0xb9, hi: 0xba}, - // Block 0x77, offset 0x251 + // Block 0x76, offset 0x242 {value: 0x0000, lo: 0x06}, {value: 0x8132, lo: 0x80, hi: 0x82}, {value: 0x9900, lo: 0xa7, hi: 0xa7}, @@ -4235,18 +4232,18 @@ var nfcSparseValues = [688]valueRange{ {value: 0x2d88, lo: 0xaf, hi: 0xaf}, {value: 0xa000, lo: 0xb1, hi: 0xb2}, {value: 0x8104, lo: 0xb3, hi: 0xb4}, - // Block 0x78, offset 0x258 + // Block 0x77, offset 0x249 {value: 0x0000, lo: 0x02}, {value: 0x8104, lo: 0x80, hi: 0x80}, {value: 0x8102, lo: 0x8a, hi: 0x8a}, - // Block 0x79, offset 0x25b + // Block 0x78, offset 0x24c {value: 0x0000, lo: 0x02}, {value: 0x8104, lo: 0xb5, hi: 0xb5}, {value: 0x8102, lo: 0xb6, hi: 0xb6}, - // Block 0x7a, offset 0x25e + // Block 0x79, offset 0x24f {value: 0x0002, lo: 0x01}, {value: 0x8102, lo: 0xa9, hi: 0xaa}, - // Block 0x7b, offset 0x260 + // Block 0x7a, offset 0x251 {value: 0x0000, lo: 0x07}, {value: 0xa000, lo: 0x87, hi: 0x87}, {value: 0x2d92, lo: 0x8b, hi: 0x8b}, @@ -4255,11 +4252,11 @@ var nfcSparseValues = [688]valueRange{ {value: 0x9900, lo: 0x97, hi: 0x97}, {value: 0x8132, lo: 0xa6, hi: 0xac}, {value: 0x8132, lo: 0xb0, hi: 0xb4}, - // Block 0x7c, offset 0x268 + // Block 0x7b, offset 0x259 {value: 0x0000, lo: 0x02}, {value: 0x8104, lo: 0x82, hi: 0x82}, {value: 0x8102, lo: 0x86, hi: 0x86}, - // Block 0x7d, offset 0x26b + // Block 0x7c, offset 0x25c {value: 0x6b5a, lo: 0x06}, {value: 0x9900, lo: 0xb0, hi: 0xb0}, {value: 0xa000, lo: 0xb9, hi: 0xb9}, @@ -4267,37 +4264,50 @@ var nfcSparseValues = [688]valueRange{ {value: 0x2db0, lo: 0xbb, hi: 0xbb}, {value: 0x2da6, lo: 0xbc, hi: 0xbd}, {value: 0x2dba, lo: 0xbe, hi: 0xbe}, - // Block 0x7e, offset 0x272 + // Block 0x7d, offset 0x263 {value: 0x0000, lo: 0x02}, {value: 0x8104, lo: 0x82, hi: 0x82}, {value: 0x8102, lo: 0x83, hi: 0x83}, - // Block 0x7f, offset 0x275 + // Block 0x7e, offset 0x266 {value: 0x0000, lo: 0x05}, {value: 0x9900, lo: 0xaf, hi: 0xaf}, {value: 0xa000, lo: 0xb8, hi: 0xb9}, {value: 0x2dc4, lo: 0xba, hi: 0xba}, {value: 0x2dce, lo: 0xbb, hi: 0xbb}, {value: 0x8104, lo: 0xbf, hi: 0xbf}, - // Block 0x80, offset 0x27b + // Block 0x7f, offset 0x26c {value: 0x0000, lo: 0x01}, {value: 0x8102, lo: 0x80, hi: 0x80}, - // Block 0x81, offset 0x27d + // Block 0x80, offset 0x26e {value: 0x0000, lo: 0x02}, {value: 0x8104, lo: 0xb6, hi: 0xb6}, {value: 0x8102, lo: 0xb7, hi: 0xb7}, - // Block 0x82, offset 0x280 + // Block 0x81, offset 0x271 {value: 0x0000, lo: 0x01}, {value: 0x8104, lo: 0xab, hi: 0xab}, - // Block 0x83, offset 0x282 + // Block 0x82, offset 0x273 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x83, offset 0x275 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x87, hi: 0x87}, + // Block 0x84, offset 0x277 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x99, hi: 0x99}, + // Block 0x85, offset 0x279 + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0x82, hi: 0x82}, + {value: 0x8104, lo: 0x84, hi: 0x85}, + // Block 0x86, offset 0x27c {value: 0x0000, lo: 0x01}, {value: 0x8101, lo: 0xb0, hi: 0xb4}, - // Block 0x84, offset 0x284 + // Block 0x87, offset 0x27e {value: 0x0000, lo: 0x01}, {value: 0x8132, lo: 0xb0, hi: 0xb6}, - // Block 0x85, offset 0x286 + // Block 0x88, offset 0x280 {value: 0x0000, lo: 0x01}, {value: 0x8101, lo: 0x9e, hi: 0x9e}, - // Block 0x86, offset 0x288 + // Block 0x89, offset 0x282 {value: 0x0000, lo: 0x0c}, {value: 0x45cc, lo: 0x9e, hi: 0x9e}, {value: 0x45d6, lo: 0x9f, hi: 0x9f}, @@ -4311,7 +4321,7 @@ var nfcSparseValues = [688]valueRange{ {value: 0x8130, lo: 0xad, hi: 0xad}, {value: 0x812b, lo: 0xae, hi: 0xb2}, {value: 0x812d, lo: 0xbb, hi: 0xbf}, - // Block 0x87, offset 0x295 + // Block 0x8a, offset 0x28f {value: 0x0000, lo: 0x09}, {value: 0x812d, lo: 0x80, hi: 0x82}, {value: 0x8132, lo: 0x85, hi: 0x89}, @@ -4322,27 +4332,27 @@ var nfcSparseValues = [688]valueRange{ {value: 0x4650, lo: 0xbd, hi: 0xbd}, {value: 0x466c, lo: 0xbe, hi: 0xbe}, {value: 0x465e, lo: 0xbf, hi: 0xbf}, - // Block 0x88, offset 0x29f + // Block 0x8b, offset 0x299 {value: 0x0000, lo: 0x01}, {value: 0x467a, lo: 0x80, hi: 0x80}, - // Block 0x89, offset 0x2a1 + // Block 0x8c, offset 0x29b {value: 0x0000, lo: 0x01}, {value: 0x8132, lo: 0x82, hi: 0x84}, - // Block 0x8a, offset 0x2a3 + // Block 0x8d, offset 0x29d {value: 0x0000, lo: 0x05}, {value: 0x8132, lo: 0x80, hi: 0x86}, {value: 0x8132, lo: 0x88, hi: 0x98}, {value: 0x8132, lo: 0x9b, hi: 0xa1}, {value: 0x8132, lo: 0xa3, hi: 0xa4}, {value: 0x8132, lo: 0xa6, hi: 0xaa}, - // Block 0x8b, offset 0x2a9 + // Block 0x8e, offset 0x2a3 {value: 0x0000, lo: 0x01}, {value: 0x812d, lo: 0x90, hi: 0x96}, - // Block 0x8c, offset 0x2ab + // Block 0x8f, offset 0x2a5 {value: 0x0000, lo: 0x02}, {value: 0x8132, lo: 0x84, hi: 0x89}, {value: 0x8102, lo: 0x8a, hi: 0x8a}, - // Block 0x8d, offset 0x2ae + // Block 0x90, offset 0x2a8 {value: 0x0000, lo: 0x01}, {value: 0x8100, lo: 0x93, hi: 0x93}, } @@ -4517,7 +4527,7 @@ func (t *nfkcTrie) lookupStringUnsafe(s string) uint16 { return 0 } -// nfkcTrie. Total size: 16994 bytes (16.60 KiB). Checksum: c3ed54ee046f3c46. +// nfkcTrie. Total size: 17104 bytes (16.70 KiB). Checksum: d985061cf5307b35. type nfkcTrie struct{} func newNfkcTrie(i int) *nfkcTrie { @@ -4527,17 +4537,17 @@ func newNfkcTrie(i int) *nfkcTrie { // lookupValue determines the type of block n and looks up the value for b. func (t *nfkcTrie) lookupValue(n uint32, b byte) uint16 { switch { - case n < 90: + case n < 91: return uint16(nfkcValues[n<<6+uint32(b)]) default: - n -= 90 + n -= 91 return uint16(nfkcSparse.lookup(n, b)) } } -// nfkcValues: 92 blocks, 5888 entries, 11776 bytes +// nfkcValues: 93 blocks, 5952 entries, 11904 bytes // The third block is the zero block. -var nfkcValues = [5888]uint16{ +var nfkcValues = [5952]uint16{ // Block 0x0, offset 0x0 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, // Block 0x1, offset 0x40 @@ -4721,824 +4731,836 @@ var nfkcValues = [5888]uint16{ 0x4b6: 0x0152, 0x4b7: 0x0155, 0x4b8: 0x041f, 0x4b9: 0x0158, 0x4ba: 0x015b, 0x4bb: 0x00b5, 0x4bc: 0x015e, 0x4bd: 0x0161, 0x4be: 0x0164, 0x4bf: 0x01d0, // Block 0x13, offset 0x4c0 - 0x4c0: 0x2f97, 0x4c1: 0x32a3, 0x4c2: 0x2fa1, 0x4c3: 0x32ad, 0x4c4: 0x2fa6, 0x4c5: 0x32b2, - 0x4c6: 0x2fab, 0x4c7: 0x32b7, 0x4c8: 0x38cc, 0x4c9: 0x3a5b, 0x4ca: 0x2fc4, 0x4cb: 0x32d0, - 0x4cc: 0x2fce, 0x4cd: 0x32da, 0x4ce: 0x2fdd, 0x4cf: 0x32e9, 0x4d0: 0x2fd3, 0x4d1: 0x32df, - 0x4d2: 0x2fd8, 0x4d3: 0x32e4, 0x4d4: 0x38ef, 0x4d5: 0x3a7e, 0x4d6: 0x38f6, 0x4d7: 0x3a85, - 0x4d8: 0x3019, 0x4d9: 0x3325, 0x4da: 0x301e, 0x4db: 0x332a, 0x4dc: 0x3904, 0x4dd: 0x3a93, - 0x4de: 0x3023, 0x4df: 0x332f, 0x4e0: 0x3032, 0x4e1: 0x333e, 0x4e2: 0x3050, 0x4e3: 0x335c, - 0x4e4: 0x305f, 0x4e5: 0x336b, 0x4e6: 0x3055, 0x4e7: 0x3361, 0x4e8: 0x3064, 0x4e9: 0x3370, - 0x4ea: 0x3069, 0x4eb: 0x3375, 0x4ec: 0x30af, 0x4ed: 0x33bb, 0x4ee: 0x390b, 0x4ef: 0x3a9a, - 0x4f0: 0x30b9, 0x4f1: 0x33ca, 0x4f2: 0x30c3, 0x4f3: 0x33d4, 0x4f4: 0x30cd, 0x4f5: 0x33de, - 0x4f6: 0x46c4, 0x4f7: 0x4755, 0x4f8: 0x3912, 0x4f9: 0x3aa1, 0x4fa: 0x30e6, 0x4fb: 0x33f7, - 0x4fc: 0x30e1, 0x4fd: 0x33f2, 0x4fe: 0x30eb, 0x4ff: 0x33fc, + 0x4c0: 0x8132, 0x4c1: 0x8132, 0x4c2: 0x812d, 0x4c3: 0x8132, 0x4c4: 0x8132, 0x4c5: 0x8132, + 0x4c6: 0x8132, 0x4c7: 0x8132, 0x4c8: 0x8132, 0x4c9: 0x8132, 0x4ca: 0x812d, 0x4cb: 0x8132, + 0x4cc: 0x8132, 0x4cd: 0x8135, 0x4ce: 0x812a, 0x4cf: 0x812d, 0x4d0: 0x8129, 0x4d1: 0x8132, + 0x4d2: 0x8132, 0x4d3: 0x8132, 0x4d4: 0x8132, 0x4d5: 0x8132, 0x4d6: 0x8132, 0x4d7: 0x8132, + 0x4d8: 0x8132, 0x4d9: 0x8132, 0x4da: 0x8132, 0x4db: 0x8132, 0x4dc: 0x8132, 0x4dd: 0x8132, + 0x4de: 0x8132, 0x4df: 0x8132, 0x4e0: 0x8132, 0x4e1: 0x8132, 0x4e2: 0x8132, 0x4e3: 0x8132, + 0x4e4: 0x8132, 0x4e5: 0x8132, 0x4e6: 0x8132, 0x4e7: 0x8132, 0x4e8: 0x8132, 0x4e9: 0x8132, + 0x4ea: 0x8132, 0x4eb: 0x8132, 0x4ec: 0x8132, 0x4ed: 0x8132, 0x4ee: 0x8132, 0x4ef: 0x8132, + 0x4f0: 0x8132, 0x4f1: 0x8132, 0x4f2: 0x8132, 0x4f3: 0x8132, 0x4f4: 0x8132, 0x4f5: 0x8132, + 0x4f6: 0x8133, 0x4f7: 0x8131, 0x4f8: 0x8131, 0x4f9: 0x812d, 0x4fb: 0x8132, + 0x4fc: 0x8134, 0x4fd: 0x812d, 0x4fe: 0x8132, 0x4ff: 0x812d, // Block 0x14, offset 0x500 - 0x500: 0x30f0, 0x501: 0x3401, 0x502: 0x30f5, 0x503: 0x3406, 0x504: 0x3109, 0x505: 0x341a, - 0x506: 0x3113, 0x507: 0x3424, 0x508: 0x3122, 0x509: 0x3433, 0x50a: 0x311d, 0x50b: 0x342e, - 0x50c: 0x3935, 0x50d: 0x3ac4, 0x50e: 0x3943, 0x50f: 0x3ad2, 0x510: 0x394a, 0x511: 0x3ad9, - 0x512: 0x3951, 0x513: 0x3ae0, 0x514: 0x314f, 0x515: 0x3460, 0x516: 0x3154, 0x517: 0x3465, - 0x518: 0x315e, 0x519: 0x346f, 0x51a: 0x46f1, 0x51b: 0x4782, 0x51c: 0x3997, 0x51d: 0x3b26, - 0x51e: 0x3177, 0x51f: 0x3488, 0x520: 0x3181, 0x521: 0x3492, 0x522: 0x4700, 0x523: 0x4791, - 0x524: 0x399e, 0x525: 0x3b2d, 0x526: 0x39a5, 0x527: 0x3b34, 0x528: 0x39ac, 0x529: 0x3b3b, - 0x52a: 0x3190, 0x52b: 0x34a1, 0x52c: 0x319a, 0x52d: 0x34b0, 0x52e: 0x31ae, 0x52f: 0x34c4, - 0x530: 0x31a9, 0x531: 0x34bf, 0x532: 0x31ea, 0x533: 0x3500, 0x534: 0x31f9, 0x535: 0x350f, - 0x536: 0x31f4, 0x537: 0x350a, 0x538: 0x39b3, 0x539: 0x3b42, 0x53a: 0x39ba, 0x53b: 0x3b49, - 0x53c: 0x31fe, 0x53d: 0x3514, 0x53e: 0x3203, 0x53f: 0x3519, + 0x500: 0x2f97, 0x501: 0x32a3, 0x502: 0x2fa1, 0x503: 0x32ad, 0x504: 0x2fa6, 0x505: 0x32b2, + 0x506: 0x2fab, 0x507: 0x32b7, 0x508: 0x38cc, 0x509: 0x3a5b, 0x50a: 0x2fc4, 0x50b: 0x32d0, + 0x50c: 0x2fce, 0x50d: 0x32da, 0x50e: 0x2fdd, 0x50f: 0x32e9, 0x510: 0x2fd3, 0x511: 0x32df, + 0x512: 0x2fd8, 0x513: 0x32e4, 0x514: 0x38ef, 0x515: 0x3a7e, 0x516: 0x38f6, 0x517: 0x3a85, + 0x518: 0x3019, 0x519: 0x3325, 0x51a: 0x301e, 0x51b: 0x332a, 0x51c: 0x3904, 0x51d: 0x3a93, + 0x51e: 0x3023, 0x51f: 0x332f, 0x520: 0x3032, 0x521: 0x333e, 0x522: 0x3050, 0x523: 0x335c, + 0x524: 0x305f, 0x525: 0x336b, 0x526: 0x3055, 0x527: 0x3361, 0x528: 0x3064, 0x529: 0x3370, + 0x52a: 0x3069, 0x52b: 0x3375, 0x52c: 0x30af, 0x52d: 0x33bb, 0x52e: 0x390b, 0x52f: 0x3a9a, + 0x530: 0x30b9, 0x531: 0x33ca, 0x532: 0x30c3, 0x533: 0x33d4, 0x534: 0x30cd, 0x535: 0x33de, + 0x536: 0x46c4, 0x537: 0x4755, 0x538: 0x3912, 0x539: 0x3aa1, 0x53a: 0x30e6, 0x53b: 0x33f7, + 0x53c: 0x30e1, 0x53d: 0x33f2, 0x53e: 0x30eb, 0x53f: 0x33fc, // Block 0x15, offset 0x540 - 0x540: 0x3208, 0x541: 0x351e, 0x542: 0x320d, 0x543: 0x3523, 0x544: 0x321c, 0x545: 0x3532, - 0x546: 0x3217, 0x547: 0x352d, 0x548: 0x3221, 0x549: 0x353c, 0x54a: 0x3226, 0x54b: 0x3541, - 0x54c: 0x322b, 0x54d: 0x3546, 0x54e: 0x3249, 0x54f: 0x3564, 0x550: 0x3262, 0x551: 0x3582, - 0x552: 0x3271, 0x553: 0x3591, 0x554: 0x3276, 0x555: 0x3596, 0x556: 0x337a, 0x557: 0x34a6, - 0x558: 0x3537, 0x559: 0x3573, 0x55a: 0x1be0, 0x55b: 0x42d7, - 0x560: 0x46a1, 0x561: 0x4732, 0x562: 0x2f83, 0x563: 0x328f, - 0x564: 0x3878, 0x565: 0x3a07, 0x566: 0x3871, 0x567: 0x3a00, 0x568: 0x3886, 0x569: 0x3a15, - 0x56a: 0x387f, 0x56b: 0x3a0e, 0x56c: 0x38be, 0x56d: 0x3a4d, 0x56e: 0x3894, 0x56f: 0x3a23, - 0x570: 0x388d, 0x571: 0x3a1c, 0x572: 0x38a2, 0x573: 0x3a31, 0x574: 0x389b, 0x575: 0x3a2a, - 0x576: 0x38c5, 0x577: 0x3a54, 0x578: 0x46b5, 0x579: 0x4746, 0x57a: 0x3000, 0x57b: 0x330c, - 0x57c: 0x2fec, 0x57d: 0x32f8, 0x57e: 0x38da, 0x57f: 0x3a69, + 0x540: 0x30f0, 0x541: 0x3401, 0x542: 0x30f5, 0x543: 0x3406, 0x544: 0x3109, 0x545: 0x341a, + 0x546: 0x3113, 0x547: 0x3424, 0x548: 0x3122, 0x549: 0x3433, 0x54a: 0x311d, 0x54b: 0x342e, + 0x54c: 0x3935, 0x54d: 0x3ac4, 0x54e: 0x3943, 0x54f: 0x3ad2, 0x550: 0x394a, 0x551: 0x3ad9, + 0x552: 0x3951, 0x553: 0x3ae0, 0x554: 0x314f, 0x555: 0x3460, 0x556: 0x3154, 0x557: 0x3465, + 0x558: 0x315e, 0x559: 0x346f, 0x55a: 0x46f1, 0x55b: 0x4782, 0x55c: 0x3997, 0x55d: 0x3b26, + 0x55e: 0x3177, 0x55f: 0x3488, 0x560: 0x3181, 0x561: 0x3492, 0x562: 0x4700, 0x563: 0x4791, + 0x564: 0x399e, 0x565: 0x3b2d, 0x566: 0x39a5, 0x567: 0x3b34, 0x568: 0x39ac, 0x569: 0x3b3b, + 0x56a: 0x3190, 0x56b: 0x34a1, 0x56c: 0x319a, 0x56d: 0x34b0, 0x56e: 0x31ae, 0x56f: 0x34c4, + 0x570: 0x31a9, 0x571: 0x34bf, 0x572: 0x31ea, 0x573: 0x3500, 0x574: 0x31f9, 0x575: 0x350f, + 0x576: 0x31f4, 0x577: 0x350a, 0x578: 0x39b3, 0x579: 0x3b42, 0x57a: 0x39ba, 0x57b: 0x3b49, + 0x57c: 0x31fe, 0x57d: 0x3514, 0x57e: 0x3203, 0x57f: 0x3519, // Block 0x16, offset 0x580 - 0x580: 0x38d3, 0x581: 0x3a62, 0x582: 0x38e8, 0x583: 0x3a77, 0x584: 0x38e1, 0x585: 0x3a70, - 0x586: 0x38fd, 0x587: 0x3a8c, 0x588: 0x3091, 0x589: 0x339d, 0x58a: 0x30a5, 0x58b: 0x33b1, - 0x58c: 0x46e7, 0x58d: 0x4778, 0x58e: 0x3136, 0x58f: 0x3447, 0x590: 0x3920, 0x591: 0x3aaf, - 0x592: 0x3919, 0x593: 0x3aa8, 0x594: 0x392e, 0x595: 0x3abd, 0x596: 0x3927, 0x597: 0x3ab6, - 0x598: 0x3989, 0x599: 0x3b18, 0x59a: 0x396d, 0x59b: 0x3afc, 0x59c: 0x3966, 0x59d: 0x3af5, - 0x59e: 0x397b, 0x59f: 0x3b0a, 0x5a0: 0x3974, 0x5a1: 0x3b03, 0x5a2: 0x3982, 0x5a3: 0x3b11, - 0x5a4: 0x31e5, 0x5a5: 0x34fb, 0x5a6: 0x31c7, 0x5a7: 0x34dd, 0x5a8: 0x39e4, 0x5a9: 0x3b73, - 0x5aa: 0x39dd, 0x5ab: 0x3b6c, 0x5ac: 0x39f2, 0x5ad: 0x3b81, 0x5ae: 0x39eb, 0x5af: 0x3b7a, - 0x5b0: 0x39f9, 0x5b1: 0x3b88, 0x5b2: 0x3230, 0x5b3: 0x354b, 0x5b4: 0x3258, 0x5b5: 0x3578, - 0x5b6: 0x3253, 0x5b7: 0x356e, 0x5b8: 0x323f, 0x5b9: 0x355a, + 0x580: 0x3208, 0x581: 0x351e, 0x582: 0x320d, 0x583: 0x3523, 0x584: 0x321c, 0x585: 0x3532, + 0x586: 0x3217, 0x587: 0x352d, 0x588: 0x3221, 0x589: 0x353c, 0x58a: 0x3226, 0x58b: 0x3541, + 0x58c: 0x322b, 0x58d: 0x3546, 0x58e: 0x3249, 0x58f: 0x3564, 0x590: 0x3262, 0x591: 0x3582, + 0x592: 0x3271, 0x593: 0x3591, 0x594: 0x3276, 0x595: 0x3596, 0x596: 0x337a, 0x597: 0x34a6, + 0x598: 0x3537, 0x599: 0x3573, 0x59a: 0x1be0, 0x59b: 0x42d7, + 0x5a0: 0x46a1, 0x5a1: 0x4732, 0x5a2: 0x2f83, 0x5a3: 0x328f, + 0x5a4: 0x3878, 0x5a5: 0x3a07, 0x5a6: 0x3871, 0x5a7: 0x3a00, 0x5a8: 0x3886, 0x5a9: 0x3a15, + 0x5aa: 0x387f, 0x5ab: 0x3a0e, 0x5ac: 0x38be, 0x5ad: 0x3a4d, 0x5ae: 0x3894, 0x5af: 0x3a23, + 0x5b0: 0x388d, 0x5b1: 0x3a1c, 0x5b2: 0x38a2, 0x5b3: 0x3a31, 0x5b4: 0x389b, 0x5b5: 0x3a2a, + 0x5b6: 0x38c5, 0x5b7: 0x3a54, 0x5b8: 0x46b5, 0x5b9: 0x4746, 0x5ba: 0x3000, 0x5bb: 0x330c, + 0x5bc: 0x2fec, 0x5bd: 0x32f8, 0x5be: 0x38da, 0x5bf: 0x3a69, // Block 0x17, offset 0x5c0 - 0x5c0: 0x4804, 0x5c1: 0x480a, 0x5c2: 0x491e, 0x5c3: 0x4936, 0x5c4: 0x4926, 0x5c5: 0x493e, - 0x5c6: 0x492e, 0x5c7: 0x4946, 0x5c8: 0x47aa, 0x5c9: 0x47b0, 0x5ca: 0x488e, 0x5cb: 0x48a6, - 0x5cc: 0x4896, 0x5cd: 0x48ae, 0x5ce: 0x489e, 0x5cf: 0x48b6, 0x5d0: 0x4816, 0x5d1: 0x481c, - 0x5d2: 0x3db8, 0x5d3: 0x3dc8, 0x5d4: 0x3dc0, 0x5d5: 0x3dd0, - 0x5d8: 0x47b6, 0x5d9: 0x47bc, 0x5da: 0x3ce8, 0x5db: 0x3cf8, 0x5dc: 0x3cf0, 0x5dd: 0x3d00, - 0x5e0: 0x482e, 0x5e1: 0x4834, 0x5e2: 0x494e, 0x5e3: 0x4966, - 0x5e4: 0x4956, 0x5e5: 0x496e, 0x5e6: 0x495e, 0x5e7: 0x4976, 0x5e8: 0x47c2, 0x5e9: 0x47c8, - 0x5ea: 0x48be, 0x5eb: 0x48d6, 0x5ec: 0x48c6, 0x5ed: 0x48de, 0x5ee: 0x48ce, 0x5ef: 0x48e6, - 0x5f0: 0x4846, 0x5f1: 0x484c, 0x5f2: 0x3e18, 0x5f3: 0x3e30, 0x5f4: 0x3e20, 0x5f5: 0x3e38, - 0x5f6: 0x3e28, 0x5f7: 0x3e40, 0x5f8: 0x47ce, 0x5f9: 0x47d4, 0x5fa: 0x3d18, 0x5fb: 0x3d30, - 0x5fc: 0x3d20, 0x5fd: 0x3d38, 0x5fe: 0x3d28, 0x5ff: 0x3d40, + 0x5c0: 0x38d3, 0x5c1: 0x3a62, 0x5c2: 0x38e8, 0x5c3: 0x3a77, 0x5c4: 0x38e1, 0x5c5: 0x3a70, + 0x5c6: 0x38fd, 0x5c7: 0x3a8c, 0x5c8: 0x3091, 0x5c9: 0x339d, 0x5ca: 0x30a5, 0x5cb: 0x33b1, + 0x5cc: 0x46e7, 0x5cd: 0x4778, 0x5ce: 0x3136, 0x5cf: 0x3447, 0x5d0: 0x3920, 0x5d1: 0x3aaf, + 0x5d2: 0x3919, 0x5d3: 0x3aa8, 0x5d4: 0x392e, 0x5d5: 0x3abd, 0x5d6: 0x3927, 0x5d7: 0x3ab6, + 0x5d8: 0x3989, 0x5d9: 0x3b18, 0x5da: 0x396d, 0x5db: 0x3afc, 0x5dc: 0x3966, 0x5dd: 0x3af5, + 0x5de: 0x397b, 0x5df: 0x3b0a, 0x5e0: 0x3974, 0x5e1: 0x3b03, 0x5e2: 0x3982, 0x5e3: 0x3b11, + 0x5e4: 0x31e5, 0x5e5: 0x34fb, 0x5e6: 0x31c7, 0x5e7: 0x34dd, 0x5e8: 0x39e4, 0x5e9: 0x3b73, + 0x5ea: 0x39dd, 0x5eb: 0x3b6c, 0x5ec: 0x39f2, 0x5ed: 0x3b81, 0x5ee: 0x39eb, 0x5ef: 0x3b7a, + 0x5f0: 0x39f9, 0x5f1: 0x3b88, 0x5f2: 0x3230, 0x5f3: 0x354b, 0x5f4: 0x3258, 0x5f5: 0x3578, + 0x5f6: 0x3253, 0x5f7: 0x356e, 0x5f8: 0x323f, 0x5f9: 0x355a, // Block 0x18, offset 0x600 - 0x600: 0x4852, 0x601: 0x4858, 0x602: 0x3e48, 0x603: 0x3e58, 0x604: 0x3e50, 0x605: 0x3e60, - 0x608: 0x47da, 0x609: 0x47e0, 0x60a: 0x3d48, 0x60b: 0x3d58, - 0x60c: 0x3d50, 0x60d: 0x3d60, 0x610: 0x4864, 0x611: 0x486a, - 0x612: 0x3e80, 0x613: 0x3e98, 0x614: 0x3e88, 0x615: 0x3ea0, 0x616: 0x3e90, 0x617: 0x3ea8, - 0x619: 0x47e6, 0x61b: 0x3d68, 0x61d: 0x3d70, - 0x61f: 0x3d78, 0x620: 0x487c, 0x621: 0x4882, 0x622: 0x497e, 0x623: 0x4996, - 0x624: 0x4986, 0x625: 0x499e, 0x626: 0x498e, 0x627: 0x49a6, 0x628: 0x47ec, 0x629: 0x47f2, - 0x62a: 0x48ee, 0x62b: 0x4906, 0x62c: 0x48f6, 0x62d: 0x490e, 0x62e: 0x48fe, 0x62f: 0x4916, - 0x630: 0x47f8, 0x631: 0x431e, 0x632: 0x3691, 0x633: 0x4324, 0x634: 0x4822, 0x635: 0x432a, - 0x636: 0x36a3, 0x637: 0x4330, 0x638: 0x36c1, 0x639: 0x4336, 0x63a: 0x36d9, 0x63b: 0x433c, - 0x63c: 0x4870, 0x63d: 0x4342, + 0x600: 0x4804, 0x601: 0x480a, 0x602: 0x491e, 0x603: 0x4936, 0x604: 0x4926, 0x605: 0x493e, + 0x606: 0x492e, 0x607: 0x4946, 0x608: 0x47aa, 0x609: 0x47b0, 0x60a: 0x488e, 0x60b: 0x48a6, + 0x60c: 0x4896, 0x60d: 0x48ae, 0x60e: 0x489e, 0x60f: 0x48b6, 0x610: 0x4816, 0x611: 0x481c, + 0x612: 0x3db8, 0x613: 0x3dc8, 0x614: 0x3dc0, 0x615: 0x3dd0, + 0x618: 0x47b6, 0x619: 0x47bc, 0x61a: 0x3ce8, 0x61b: 0x3cf8, 0x61c: 0x3cf0, 0x61d: 0x3d00, + 0x620: 0x482e, 0x621: 0x4834, 0x622: 0x494e, 0x623: 0x4966, + 0x624: 0x4956, 0x625: 0x496e, 0x626: 0x495e, 0x627: 0x4976, 0x628: 0x47c2, 0x629: 0x47c8, + 0x62a: 0x48be, 0x62b: 0x48d6, 0x62c: 0x48c6, 0x62d: 0x48de, 0x62e: 0x48ce, 0x62f: 0x48e6, + 0x630: 0x4846, 0x631: 0x484c, 0x632: 0x3e18, 0x633: 0x3e30, 0x634: 0x3e20, 0x635: 0x3e38, + 0x636: 0x3e28, 0x637: 0x3e40, 0x638: 0x47ce, 0x639: 0x47d4, 0x63a: 0x3d18, 0x63b: 0x3d30, + 0x63c: 0x3d20, 0x63d: 0x3d38, 0x63e: 0x3d28, 0x63f: 0x3d40, // Block 0x19, offset 0x640 - 0x640: 0x3da0, 0x641: 0x3da8, 0x642: 0x4184, 0x643: 0x41a2, 0x644: 0x418e, 0x645: 0x41ac, - 0x646: 0x4198, 0x647: 0x41b6, 0x648: 0x3cd8, 0x649: 0x3ce0, 0x64a: 0x40d0, 0x64b: 0x40ee, - 0x64c: 0x40da, 0x64d: 0x40f8, 0x64e: 0x40e4, 0x64f: 0x4102, 0x650: 0x3de8, 0x651: 0x3df0, - 0x652: 0x41c0, 0x653: 0x41de, 0x654: 0x41ca, 0x655: 0x41e8, 0x656: 0x41d4, 0x657: 0x41f2, - 0x658: 0x3d08, 0x659: 0x3d10, 0x65a: 0x410c, 0x65b: 0x412a, 0x65c: 0x4116, 0x65d: 0x4134, - 0x65e: 0x4120, 0x65f: 0x413e, 0x660: 0x3ec0, 0x661: 0x3ec8, 0x662: 0x41fc, 0x663: 0x421a, - 0x664: 0x4206, 0x665: 0x4224, 0x666: 0x4210, 0x667: 0x422e, 0x668: 0x3d80, 0x669: 0x3d88, - 0x66a: 0x4148, 0x66b: 0x4166, 0x66c: 0x4152, 0x66d: 0x4170, 0x66e: 0x415c, 0x66f: 0x417a, - 0x670: 0x3685, 0x671: 0x367f, 0x672: 0x3d90, 0x673: 0x368b, 0x674: 0x3d98, - 0x676: 0x4810, 0x677: 0x3db0, 0x678: 0x35f5, 0x679: 0x35ef, 0x67a: 0x35e3, 0x67b: 0x42ee, - 0x67c: 0x35fb, 0x67d: 0x4287, 0x67e: 0x01d3, 0x67f: 0x4287, + 0x640: 0x4852, 0x641: 0x4858, 0x642: 0x3e48, 0x643: 0x3e58, 0x644: 0x3e50, 0x645: 0x3e60, + 0x648: 0x47da, 0x649: 0x47e0, 0x64a: 0x3d48, 0x64b: 0x3d58, + 0x64c: 0x3d50, 0x64d: 0x3d60, 0x650: 0x4864, 0x651: 0x486a, + 0x652: 0x3e80, 0x653: 0x3e98, 0x654: 0x3e88, 0x655: 0x3ea0, 0x656: 0x3e90, 0x657: 0x3ea8, + 0x659: 0x47e6, 0x65b: 0x3d68, 0x65d: 0x3d70, + 0x65f: 0x3d78, 0x660: 0x487c, 0x661: 0x4882, 0x662: 0x497e, 0x663: 0x4996, + 0x664: 0x4986, 0x665: 0x499e, 0x666: 0x498e, 0x667: 0x49a6, 0x668: 0x47ec, 0x669: 0x47f2, + 0x66a: 0x48ee, 0x66b: 0x4906, 0x66c: 0x48f6, 0x66d: 0x490e, 0x66e: 0x48fe, 0x66f: 0x4916, + 0x670: 0x47f8, 0x671: 0x431e, 0x672: 0x3691, 0x673: 0x4324, 0x674: 0x4822, 0x675: 0x432a, + 0x676: 0x36a3, 0x677: 0x4330, 0x678: 0x36c1, 0x679: 0x4336, 0x67a: 0x36d9, 0x67b: 0x433c, + 0x67c: 0x4870, 0x67d: 0x4342, // Block 0x1a, offset 0x680 - 0x680: 0x42a0, 0x681: 0x4482, 0x682: 0x3dd8, 0x683: 0x369d, 0x684: 0x3de0, - 0x686: 0x483a, 0x687: 0x3df8, 0x688: 0x3601, 0x689: 0x42f4, 0x68a: 0x360d, 0x68b: 0x42fa, - 0x68c: 0x3619, 0x68d: 0x4489, 0x68e: 0x4490, 0x68f: 0x4497, 0x690: 0x36b5, 0x691: 0x36af, - 0x692: 0x3e00, 0x693: 0x44e4, 0x696: 0x36bb, 0x697: 0x3e10, - 0x698: 0x3631, 0x699: 0x362b, 0x69a: 0x361f, 0x69b: 0x4300, 0x69d: 0x449e, - 0x69e: 0x44a5, 0x69f: 0x44ac, 0x6a0: 0x36eb, 0x6a1: 0x36e5, 0x6a2: 0x3e68, 0x6a3: 0x44ec, - 0x6a4: 0x36cd, 0x6a5: 0x36d3, 0x6a6: 0x36f1, 0x6a7: 0x3e78, 0x6a8: 0x3661, 0x6a9: 0x365b, - 0x6aa: 0x364f, 0x6ab: 0x430c, 0x6ac: 0x3649, 0x6ad: 0x4474, 0x6ae: 0x447b, 0x6af: 0x0081, - 0x6b2: 0x3eb0, 0x6b3: 0x36f7, 0x6b4: 0x3eb8, - 0x6b6: 0x4888, 0x6b7: 0x3ed0, 0x6b8: 0x363d, 0x6b9: 0x4306, 0x6ba: 0x366d, 0x6bb: 0x4318, - 0x6bc: 0x3679, 0x6bd: 0x425a, 0x6be: 0x428c, + 0x680: 0x3da0, 0x681: 0x3da8, 0x682: 0x4184, 0x683: 0x41a2, 0x684: 0x418e, 0x685: 0x41ac, + 0x686: 0x4198, 0x687: 0x41b6, 0x688: 0x3cd8, 0x689: 0x3ce0, 0x68a: 0x40d0, 0x68b: 0x40ee, + 0x68c: 0x40da, 0x68d: 0x40f8, 0x68e: 0x40e4, 0x68f: 0x4102, 0x690: 0x3de8, 0x691: 0x3df0, + 0x692: 0x41c0, 0x693: 0x41de, 0x694: 0x41ca, 0x695: 0x41e8, 0x696: 0x41d4, 0x697: 0x41f2, + 0x698: 0x3d08, 0x699: 0x3d10, 0x69a: 0x410c, 0x69b: 0x412a, 0x69c: 0x4116, 0x69d: 0x4134, + 0x69e: 0x4120, 0x69f: 0x413e, 0x6a0: 0x3ec0, 0x6a1: 0x3ec8, 0x6a2: 0x41fc, 0x6a3: 0x421a, + 0x6a4: 0x4206, 0x6a5: 0x4224, 0x6a6: 0x4210, 0x6a7: 0x422e, 0x6a8: 0x3d80, 0x6a9: 0x3d88, + 0x6aa: 0x4148, 0x6ab: 0x4166, 0x6ac: 0x4152, 0x6ad: 0x4170, 0x6ae: 0x415c, 0x6af: 0x417a, + 0x6b0: 0x3685, 0x6b1: 0x367f, 0x6b2: 0x3d90, 0x6b3: 0x368b, 0x6b4: 0x3d98, + 0x6b6: 0x4810, 0x6b7: 0x3db0, 0x6b8: 0x35f5, 0x6b9: 0x35ef, 0x6ba: 0x35e3, 0x6bb: 0x42ee, + 0x6bc: 0x35fb, 0x6bd: 0x4287, 0x6be: 0x01d3, 0x6bf: 0x4287, // Block 0x1b, offset 0x6c0 - 0x6c0: 0x1bd8, 0x6c1: 0x1bdc, 0x6c2: 0x0047, 0x6c3: 0x1c54, 0x6c5: 0x1be8, - 0x6c6: 0x1bec, 0x6c7: 0x00e9, 0x6c9: 0x1c58, 0x6ca: 0x008f, 0x6cb: 0x0051, - 0x6cc: 0x0051, 0x6cd: 0x0051, 0x6ce: 0x0091, 0x6cf: 0x00da, 0x6d0: 0x0053, 0x6d1: 0x0053, - 0x6d2: 0x0059, 0x6d3: 0x0099, 0x6d5: 0x005d, 0x6d6: 0x198d, - 0x6d9: 0x0061, 0x6da: 0x0063, 0x6db: 0x0065, 0x6dc: 0x0065, 0x6dd: 0x0065, - 0x6e0: 0x199f, 0x6e1: 0x1bc8, 0x6e2: 0x19a8, - 0x6e4: 0x0075, 0x6e6: 0x01b8, 0x6e8: 0x0075, - 0x6ea: 0x0057, 0x6eb: 0x42d2, 0x6ec: 0x0045, 0x6ed: 0x0047, 0x6ef: 0x008b, - 0x6f0: 0x004b, 0x6f1: 0x004d, 0x6f3: 0x005b, 0x6f4: 0x009f, 0x6f5: 0x0215, - 0x6f6: 0x0218, 0x6f7: 0x021b, 0x6f8: 0x021e, 0x6f9: 0x0093, 0x6fb: 0x1b98, - 0x6fc: 0x01e8, 0x6fd: 0x01c1, 0x6fe: 0x0179, 0x6ff: 0x01a0, + 0x6c0: 0x42a0, 0x6c1: 0x4482, 0x6c2: 0x3dd8, 0x6c3: 0x369d, 0x6c4: 0x3de0, + 0x6c6: 0x483a, 0x6c7: 0x3df8, 0x6c8: 0x3601, 0x6c9: 0x42f4, 0x6ca: 0x360d, 0x6cb: 0x42fa, + 0x6cc: 0x3619, 0x6cd: 0x4489, 0x6ce: 0x4490, 0x6cf: 0x4497, 0x6d0: 0x36b5, 0x6d1: 0x36af, + 0x6d2: 0x3e00, 0x6d3: 0x44e4, 0x6d6: 0x36bb, 0x6d7: 0x3e10, + 0x6d8: 0x3631, 0x6d9: 0x362b, 0x6da: 0x361f, 0x6db: 0x4300, 0x6dd: 0x449e, + 0x6de: 0x44a5, 0x6df: 0x44ac, 0x6e0: 0x36eb, 0x6e1: 0x36e5, 0x6e2: 0x3e68, 0x6e3: 0x44ec, + 0x6e4: 0x36cd, 0x6e5: 0x36d3, 0x6e6: 0x36f1, 0x6e7: 0x3e78, 0x6e8: 0x3661, 0x6e9: 0x365b, + 0x6ea: 0x364f, 0x6eb: 0x430c, 0x6ec: 0x3649, 0x6ed: 0x4474, 0x6ee: 0x447b, 0x6ef: 0x0081, + 0x6f2: 0x3eb0, 0x6f3: 0x36f7, 0x6f4: 0x3eb8, + 0x6f6: 0x4888, 0x6f7: 0x3ed0, 0x6f8: 0x363d, 0x6f9: 0x4306, 0x6fa: 0x366d, 0x6fb: 0x4318, + 0x6fc: 0x3679, 0x6fd: 0x425a, 0x6fe: 0x428c, // Block 0x1c, offset 0x700 - 0x700: 0x0463, 0x705: 0x0049, - 0x706: 0x0089, 0x707: 0x008b, 0x708: 0x0093, 0x709: 0x0095, - 0x710: 0x222e, 0x711: 0x223a, - 0x712: 0x22ee, 0x713: 0x2216, 0x714: 0x229a, 0x715: 0x2222, 0x716: 0x22a0, 0x717: 0x22b8, - 0x718: 0x22c4, 0x719: 0x2228, 0x71a: 0x22ca, 0x71b: 0x2234, 0x71c: 0x22be, 0x71d: 0x22d0, - 0x71e: 0x22d6, 0x71f: 0x1cbc, 0x720: 0x0053, 0x721: 0x195a, 0x722: 0x1ba4, 0x723: 0x1963, - 0x724: 0x006d, 0x725: 0x19ab, 0x726: 0x1bd0, 0x727: 0x1d48, 0x728: 0x1966, 0x729: 0x0071, - 0x72a: 0x19b7, 0x72b: 0x1bd4, 0x72c: 0x0059, 0x72d: 0x0047, 0x72e: 0x0049, 0x72f: 0x005b, - 0x730: 0x0093, 0x731: 0x19e4, 0x732: 0x1c18, 0x733: 0x19ed, 0x734: 0x00ad, 0x735: 0x1a62, - 0x736: 0x1c4c, 0x737: 0x1d5c, 0x738: 0x19f0, 0x739: 0x00b1, 0x73a: 0x1a65, 0x73b: 0x1c50, - 0x73c: 0x0099, 0x73d: 0x0087, 0x73e: 0x0089, 0x73f: 0x009b, + 0x700: 0x1bd8, 0x701: 0x1bdc, 0x702: 0x0047, 0x703: 0x1c54, 0x705: 0x1be8, + 0x706: 0x1bec, 0x707: 0x00e9, 0x709: 0x1c58, 0x70a: 0x008f, 0x70b: 0x0051, + 0x70c: 0x0051, 0x70d: 0x0051, 0x70e: 0x0091, 0x70f: 0x00da, 0x710: 0x0053, 0x711: 0x0053, + 0x712: 0x0059, 0x713: 0x0099, 0x715: 0x005d, 0x716: 0x198d, + 0x719: 0x0061, 0x71a: 0x0063, 0x71b: 0x0065, 0x71c: 0x0065, 0x71d: 0x0065, + 0x720: 0x199f, 0x721: 0x1bc8, 0x722: 0x19a8, + 0x724: 0x0075, 0x726: 0x01b8, 0x728: 0x0075, + 0x72a: 0x0057, 0x72b: 0x42d2, 0x72c: 0x0045, 0x72d: 0x0047, 0x72f: 0x008b, + 0x730: 0x004b, 0x731: 0x004d, 0x733: 0x005b, 0x734: 0x009f, 0x735: 0x0215, + 0x736: 0x0218, 0x737: 0x021b, 0x738: 0x021e, 0x739: 0x0093, 0x73b: 0x1b98, + 0x73c: 0x01e8, 0x73d: 0x01c1, 0x73e: 0x0179, 0x73f: 0x01a0, // Block 0x1d, offset 0x740 - 0x741: 0x3c06, 0x743: 0xa000, 0x744: 0x3c0d, 0x745: 0xa000, - 0x747: 0x3c14, 0x748: 0xa000, 0x749: 0x3c1b, - 0x74d: 0xa000, - 0x760: 0x2f65, 0x761: 0xa000, 0x762: 0x3c29, - 0x764: 0xa000, 0x765: 0xa000, - 0x76d: 0x3c22, 0x76e: 0x2f60, 0x76f: 0x2f6a, - 0x770: 0x3c30, 0x771: 0x3c37, 0x772: 0xa000, 0x773: 0xa000, 0x774: 0x3c3e, 0x775: 0x3c45, - 0x776: 0xa000, 0x777: 0xa000, 0x778: 0x3c4c, 0x779: 0x3c53, 0x77a: 0xa000, 0x77b: 0xa000, - 0x77c: 0xa000, 0x77d: 0xa000, + 0x740: 0x0463, 0x745: 0x0049, + 0x746: 0x0089, 0x747: 0x008b, 0x748: 0x0093, 0x749: 0x0095, + 0x750: 0x222e, 0x751: 0x223a, + 0x752: 0x22ee, 0x753: 0x2216, 0x754: 0x229a, 0x755: 0x2222, 0x756: 0x22a0, 0x757: 0x22b8, + 0x758: 0x22c4, 0x759: 0x2228, 0x75a: 0x22ca, 0x75b: 0x2234, 0x75c: 0x22be, 0x75d: 0x22d0, + 0x75e: 0x22d6, 0x75f: 0x1cbc, 0x760: 0x0053, 0x761: 0x195a, 0x762: 0x1ba4, 0x763: 0x1963, + 0x764: 0x006d, 0x765: 0x19ab, 0x766: 0x1bd0, 0x767: 0x1d48, 0x768: 0x1966, 0x769: 0x0071, + 0x76a: 0x19b7, 0x76b: 0x1bd4, 0x76c: 0x0059, 0x76d: 0x0047, 0x76e: 0x0049, 0x76f: 0x005b, + 0x770: 0x0093, 0x771: 0x19e4, 0x772: 0x1c18, 0x773: 0x19ed, 0x774: 0x00ad, 0x775: 0x1a62, + 0x776: 0x1c4c, 0x777: 0x1d5c, 0x778: 0x19f0, 0x779: 0x00b1, 0x77a: 0x1a65, 0x77b: 0x1c50, + 0x77c: 0x0099, 0x77d: 0x0087, 0x77e: 0x0089, 0x77f: 0x009b, // Block 0x1e, offset 0x780 - 0x780: 0x3c5a, 0x781: 0x3c61, 0x782: 0xa000, 0x783: 0xa000, 0x784: 0x3c76, 0x785: 0x3c7d, - 0x786: 0xa000, 0x787: 0xa000, 0x788: 0x3c84, 0x789: 0x3c8b, - 0x791: 0xa000, - 0x792: 0xa000, - 0x7a2: 0xa000, - 0x7a8: 0xa000, 0x7a9: 0xa000, - 0x7ab: 0xa000, 0x7ac: 0x3ca0, 0x7ad: 0x3ca7, 0x7ae: 0x3cae, 0x7af: 0x3cb5, - 0x7b2: 0xa000, 0x7b3: 0xa000, 0x7b4: 0xa000, 0x7b5: 0xa000, + 0x781: 0x3c06, 0x783: 0xa000, 0x784: 0x3c0d, 0x785: 0xa000, + 0x787: 0x3c14, 0x788: 0xa000, 0x789: 0x3c1b, + 0x78d: 0xa000, + 0x7a0: 0x2f65, 0x7a1: 0xa000, 0x7a2: 0x3c29, + 0x7a4: 0xa000, 0x7a5: 0xa000, + 0x7ad: 0x3c22, 0x7ae: 0x2f60, 0x7af: 0x2f6a, + 0x7b0: 0x3c30, 0x7b1: 0x3c37, 0x7b2: 0xa000, 0x7b3: 0xa000, 0x7b4: 0x3c3e, 0x7b5: 0x3c45, + 0x7b6: 0xa000, 0x7b7: 0xa000, 0x7b8: 0x3c4c, 0x7b9: 0x3c53, 0x7ba: 0xa000, 0x7bb: 0xa000, + 0x7bc: 0xa000, 0x7bd: 0xa000, // Block 0x1f, offset 0x7c0 - 0x7e0: 0x0023, 0x7e1: 0x0025, 0x7e2: 0x0027, 0x7e3: 0x0029, - 0x7e4: 0x002b, 0x7e5: 0x002d, 0x7e6: 0x002f, 0x7e7: 0x0031, 0x7e8: 0x0033, 0x7e9: 0x1882, - 0x7ea: 0x1885, 0x7eb: 0x1888, 0x7ec: 0x188b, 0x7ed: 0x188e, 0x7ee: 0x1891, 0x7ef: 0x1894, - 0x7f0: 0x1897, 0x7f1: 0x189a, 0x7f2: 0x189d, 0x7f3: 0x18a6, 0x7f4: 0x1a68, 0x7f5: 0x1a6c, - 0x7f6: 0x1a70, 0x7f7: 0x1a74, 0x7f8: 0x1a78, 0x7f9: 0x1a7c, 0x7fa: 0x1a80, 0x7fb: 0x1a84, - 0x7fc: 0x1a88, 0x7fd: 0x1c80, 0x7fe: 0x1c85, 0x7ff: 0x1c8a, + 0x7c0: 0x3c5a, 0x7c1: 0x3c61, 0x7c2: 0xa000, 0x7c3: 0xa000, 0x7c4: 0x3c76, 0x7c5: 0x3c7d, + 0x7c6: 0xa000, 0x7c7: 0xa000, 0x7c8: 0x3c84, 0x7c9: 0x3c8b, + 0x7d1: 0xa000, + 0x7d2: 0xa000, + 0x7e2: 0xa000, + 0x7e8: 0xa000, 0x7e9: 0xa000, + 0x7eb: 0xa000, 0x7ec: 0x3ca0, 0x7ed: 0x3ca7, 0x7ee: 0x3cae, 0x7ef: 0x3cb5, + 0x7f2: 0xa000, 0x7f3: 0xa000, 0x7f4: 0xa000, 0x7f5: 0xa000, // Block 0x20, offset 0x800 - 0x800: 0x1c8f, 0x801: 0x1c94, 0x802: 0x1c99, 0x803: 0x1c9e, 0x804: 0x1ca3, 0x805: 0x1ca8, - 0x806: 0x1cad, 0x807: 0x1cb2, 0x808: 0x187f, 0x809: 0x18a3, 0x80a: 0x18c7, 0x80b: 0x18eb, - 0x80c: 0x190f, 0x80d: 0x1918, 0x80e: 0x191e, 0x80f: 0x1924, 0x810: 0x192a, 0x811: 0x1b60, - 0x812: 0x1b64, 0x813: 0x1b68, 0x814: 0x1b6c, 0x815: 0x1b70, 0x816: 0x1b74, 0x817: 0x1b78, - 0x818: 0x1b7c, 0x819: 0x1b80, 0x81a: 0x1b84, 0x81b: 0x1b88, 0x81c: 0x1af4, 0x81d: 0x1af8, - 0x81e: 0x1afc, 0x81f: 0x1b00, 0x820: 0x1b04, 0x821: 0x1b08, 0x822: 0x1b0c, 0x823: 0x1b10, - 0x824: 0x1b14, 0x825: 0x1b18, 0x826: 0x1b1c, 0x827: 0x1b20, 0x828: 0x1b24, 0x829: 0x1b28, - 0x82a: 0x1b2c, 0x82b: 0x1b30, 0x82c: 0x1b34, 0x82d: 0x1b38, 0x82e: 0x1b3c, 0x82f: 0x1b40, - 0x830: 0x1b44, 0x831: 0x1b48, 0x832: 0x1b4c, 0x833: 0x1b50, 0x834: 0x1b54, 0x835: 0x1b58, - 0x836: 0x0043, 0x837: 0x0045, 0x838: 0x0047, 0x839: 0x0049, 0x83a: 0x004b, 0x83b: 0x004d, - 0x83c: 0x004f, 0x83d: 0x0051, 0x83e: 0x0053, 0x83f: 0x0055, + 0x820: 0x0023, 0x821: 0x0025, 0x822: 0x0027, 0x823: 0x0029, + 0x824: 0x002b, 0x825: 0x002d, 0x826: 0x002f, 0x827: 0x0031, 0x828: 0x0033, 0x829: 0x1882, + 0x82a: 0x1885, 0x82b: 0x1888, 0x82c: 0x188b, 0x82d: 0x188e, 0x82e: 0x1891, 0x82f: 0x1894, + 0x830: 0x1897, 0x831: 0x189a, 0x832: 0x189d, 0x833: 0x18a6, 0x834: 0x1a68, 0x835: 0x1a6c, + 0x836: 0x1a70, 0x837: 0x1a74, 0x838: 0x1a78, 0x839: 0x1a7c, 0x83a: 0x1a80, 0x83b: 0x1a84, + 0x83c: 0x1a88, 0x83d: 0x1c80, 0x83e: 0x1c85, 0x83f: 0x1c8a, // Block 0x21, offset 0x840 - 0x840: 0x06bf, 0x841: 0x06e3, 0x842: 0x06ef, 0x843: 0x06ff, 0x844: 0x0707, 0x845: 0x0713, - 0x846: 0x071b, 0x847: 0x0723, 0x848: 0x072f, 0x849: 0x0783, 0x84a: 0x079b, 0x84b: 0x07ab, - 0x84c: 0x07bb, 0x84d: 0x07cb, 0x84e: 0x07db, 0x84f: 0x07fb, 0x850: 0x07ff, 0x851: 0x0803, - 0x852: 0x0837, 0x853: 0x085f, 0x854: 0x086f, 0x855: 0x0877, 0x856: 0x087b, 0x857: 0x0887, - 0x858: 0x08a3, 0x859: 0x08a7, 0x85a: 0x08bf, 0x85b: 0x08c3, 0x85c: 0x08cb, 0x85d: 0x08db, - 0x85e: 0x0977, 0x85f: 0x098b, 0x860: 0x09cb, 0x861: 0x09df, 0x862: 0x09e7, 0x863: 0x09eb, - 0x864: 0x09fb, 0x865: 0x0a17, 0x866: 0x0a43, 0x867: 0x0a4f, 0x868: 0x0a6f, 0x869: 0x0a7b, - 0x86a: 0x0a7f, 0x86b: 0x0a83, 0x86c: 0x0a9b, 0x86d: 0x0a9f, 0x86e: 0x0acb, 0x86f: 0x0ad7, - 0x870: 0x0adf, 0x871: 0x0ae7, 0x872: 0x0af7, 0x873: 0x0aff, 0x874: 0x0b07, 0x875: 0x0b33, - 0x876: 0x0b37, 0x877: 0x0b3f, 0x878: 0x0b43, 0x879: 0x0b4b, 0x87a: 0x0b53, 0x87b: 0x0b63, - 0x87c: 0x0b7f, 0x87d: 0x0bf7, 0x87e: 0x0c0b, 0x87f: 0x0c0f, + 0x840: 0x1c8f, 0x841: 0x1c94, 0x842: 0x1c99, 0x843: 0x1c9e, 0x844: 0x1ca3, 0x845: 0x1ca8, + 0x846: 0x1cad, 0x847: 0x1cb2, 0x848: 0x187f, 0x849: 0x18a3, 0x84a: 0x18c7, 0x84b: 0x18eb, + 0x84c: 0x190f, 0x84d: 0x1918, 0x84e: 0x191e, 0x84f: 0x1924, 0x850: 0x192a, 0x851: 0x1b60, + 0x852: 0x1b64, 0x853: 0x1b68, 0x854: 0x1b6c, 0x855: 0x1b70, 0x856: 0x1b74, 0x857: 0x1b78, + 0x858: 0x1b7c, 0x859: 0x1b80, 0x85a: 0x1b84, 0x85b: 0x1b88, 0x85c: 0x1af4, 0x85d: 0x1af8, + 0x85e: 0x1afc, 0x85f: 0x1b00, 0x860: 0x1b04, 0x861: 0x1b08, 0x862: 0x1b0c, 0x863: 0x1b10, + 0x864: 0x1b14, 0x865: 0x1b18, 0x866: 0x1b1c, 0x867: 0x1b20, 0x868: 0x1b24, 0x869: 0x1b28, + 0x86a: 0x1b2c, 0x86b: 0x1b30, 0x86c: 0x1b34, 0x86d: 0x1b38, 0x86e: 0x1b3c, 0x86f: 0x1b40, + 0x870: 0x1b44, 0x871: 0x1b48, 0x872: 0x1b4c, 0x873: 0x1b50, 0x874: 0x1b54, 0x875: 0x1b58, + 0x876: 0x0043, 0x877: 0x0045, 0x878: 0x0047, 0x879: 0x0049, 0x87a: 0x004b, 0x87b: 0x004d, + 0x87c: 0x004f, 0x87d: 0x0051, 0x87e: 0x0053, 0x87f: 0x0055, // Block 0x22, offset 0x880 - 0x880: 0x0c8f, 0x881: 0x0c93, 0x882: 0x0ca7, 0x883: 0x0cab, 0x884: 0x0cb3, 0x885: 0x0cbb, - 0x886: 0x0cc3, 0x887: 0x0ccf, 0x888: 0x0cf7, 0x889: 0x0d07, 0x88a: 0x0d1b, 0x88b: 0x0d8b, - 0x88c: 0x0d97, 0x88d: 0x0da7, 0x88e: 0x0db3, 0x88f: 0x0dbf, 0x890: 0x0dc7, 0x891: 0x0dcb, - 0x892: 0x0dcf, 0x893: 0x0dd3, 0x894: 0x0dd7, 0x895: 0x0e8f, 0x896: 0x0ed7, 0x897: 0x0ee3, - 0x898: 0x0ee7, 0x899: 0x0eeb, 0x89a: 0x0eef, 0x89b: 0x0ef7, 0x89c: 0x0efb, 0x89d: 0x0f0f, - 0x89e: 0x0f2b, 0x89f: 0x0f33, 0x8a0: 0x0f73, 0x8a1: 0x0f77, 0x8a2: 0x0f7f, 0x8a3: 0x0f83, - 0x8a4: 0x0f8b, 0x8a5: 0x0f8f, 0x8a6: 0x0fb3, 0x8a7: 0x0fb7, 0x8a8: 0x0fd3, 0x8a9: 0x0fd7, - 0x8aa: 0x0fdb, 0x8ab: 0x0fdf, 0x8ac: 0x0ff3, 0x8ad: 0x1017, 0x8ae: 0x101b, 0x8af: 0x101f, - 0x8b0: 0x1043, 0x8b1: 0x1083, 0x8b2: 0x1087, 0x8b3: 0x10a7, 0x8b4: 0x10b7, 0x8b5: 0x10bf, - 0x8b6: 0x10df, 0x8b7: 0x1103, 0x8b8: 0x1147, 0x8b9: 0x114f, 0x8ba: 0x1163, 0x8bb: 0x116f, - 0x8bc: 0x1177, 0x8bd: 0x117f, 0x8be: 0x1183, 0x8bf: 0x1187, + 0x880: 0x06bf, 0x881: 0x06e3, 0x882: 0x06ef, 0x883: 0x06ff, 0x884: 0x0707, 0x885: 0x0713, + 0x886: 0x071b, 0x887: 0x0723, 0x888: 0x072f, 0x889: 0x0783, 0x88a: 0x079b, 0x88b: 0x07ab, + 0x88c: 0x07bb, 0x88d: 0x07cb, 0x88e: 0x07db, 0x88f: 0x07fb, 0x890: 0x07ff, 0x891: 0x0803, + 0x892: 0x0837, 0x893: 0x085f, 0x894: 0x086f, 0x895: 0x0877, 0x896: 0x087b, 0x897: 0x0887, + 0x898: 0x08a3, 0x899: 0x08a7, 0x89a: 0x08bf, 0x89b: 0x08c3, 0x89c: 0x08cb, 0x89d: 0x08db, + 0x89e: 0x0977, 0x89f: 0x098b, 0x8a0: 0x09cb, 0x8a1: 0x09df, 0x8a2: 0x09e7, 0x8a3: 0x09eb, + 0x8a4: 0x09fb, 0x8a5: 0x0a17, 0x8a6: 0x0a43, 0x8a7: 0x0a4f, 0x8a8: 0x0a6f, 0x8a9: 0x0a7b, + 0x8aa: 0x0a7f, 0x8ab: 0x0a83, 0x8ac: 0x0a9b, 0x8ad: 0x0a9f, 0x8ae: 0x0acb, 0x8af: 0x0ad7, + 0x8b0: 0x0adf, 0x8b1: 0x0ae7, 0x8b2: 0x0af7, 0x8b3: 0x0aff, 0x8b4: 0x0b07, 0x8b5: 0x0b33, + 0x8b6: 0x0b37, 0x8b7: 0x0b3f, 0x8b8: 0x0b43, 0x8b9: 0x0b4b, 0x8ba: 0x0b53, 0x8bb: 0x0b63, + 0x8bc: 0x0b7f, 0x8bd: 0x0bf7, 0x8be: 0x0c0b, 0x8bf: 0x0c0f, // Block 0x23, offset 0x8c0 - 0x8c0: 0x119f, 0x8c1: 0x11a3, 0x8c2: 0x11bf, 0x8c3: 0x11c7, 0x8c4: 0x11cf, 0x8c5: 0x11d3, - 0x8c6: 0x11df, 0x8c7: 0x11e7, 0x8c8: 0x11eb, 0x8c9: 0x11ef, 0x8ca: 0x11f7, 0x8cb: 0x11fb, - 0x8cc: 0x129b, 0x8cd: 0x12af, 0x8ce: 0x12e3, 0x8cf: 0x12e7, 0x8d0: 0x12ef, 0x8d1: 0x131b, - 0x8d2: 0x1323, 0x8d3: 0x132b, 0x8d4: 0x1333, 0x8d5: 0x136f, 0x8d6: 0x1373, 0x8d7: 0x137b, - 0x8d8: 0x137f, 0x8d9: 0x1383, 0x8da: 0x13af, 0x8db: 0x13b3, 0x8dc: 0x13bb, 0x8dd: 0x13cf, - 0x8de: 0x13d3, 0x8df: 0x13ef, 0x8e0: 0x13f7, 0x8e1: 0x13fb, 0x8e2: 0x141f, 0x8e3: 0x143f, - 0x8e4: 0x1453, 0x8e5: 0x1457, 0x8e6: 0x145f, 0x8e7: 0x148b, 0x8e8: 0x148f, 0x8e9: 0x149f, - 0x8ea: 0x14c3, 0x8eb: 0x14cf, 0x8ec: 0x14df, 0x8ed: 0x14f7, 0x8ee: 0x14ff, 0x8ef: 0x1503, - 0x8f0: 0x1507, 0x8f1: 0x150b, 0x8f2: 0x1517, 0x8f3: 0x151b, 0x8f4: 0x1523, 0x8f5: 0x153f, - 0x8f6: 0x1543, 0x8f7: 0x1547, 0x8f8: 0x155f, 0x8f9: 0x1563, 0x8fa: 0x156b, 0x8fb: 0x157f, - 0x8fc: 0x1583, 0x8fd: 0x1587, 0x8fe: 0x158f, 0x8ff: 0x1593, + 0x8c0: 0x0c8f, 0x8c1: 0x0c93, 0x8c2: 0x0ca7, 0x8c3: 0x0cab, 0x8c4: 0x0cb3, 0x8c5: 0x0cbb, + 0x8c6: 0x0cc3, 0x8c7: 0x0ccf, 0x8c8: 0x0cf7, 0x8c9: 0x0d07, 0x8ca: 0x0d1b, 0x8cb: 0x0d8b, + 0x8cc: 0x0d97, 0x8cd: 0x0da7, 0x8ce: 0x0db3, 0x8cf: 0x0dbf, 0x8d0: 0x0dc7, 0x8d1: 0x0dcb, + 0x8d2: 0x0dcf, 0x8d3: 0x0dd3, 0x8d4: 0x0dd7, 0x8d5: 0x0e8f, 0x8d6: 0x0ed7, 0x8d7: 0x0ee3, + 0x8d8: 0x0ee7, 0x8d9: 0x0eeb, 0x8da: 0x0eef, 0x8db: 0x0ef7, 0x8dc: 0x0efb, 0x8dd: 0x0f0f, + 0x8de: 0x0f2b, 0x8df: 0x0f33, 0x8e0: 0x0f73, 0x8e1: 0x0f77, 0x8e2: 0x0f7f, 0x8e3: 0x0f83, + 0x8e4: 0x0f8b, 0x8e5: 0x0f8f, 0x8e6: 0x0fb3, 0x8e7: 0x0fb7, 0x8e8: 0x0fd3, 0x8e9: 0x0fd7, + 0x8ea: 0x0fdb, 0x8eb: 0x0fdf, 0x8ec: 0x0ff3, 0x8ed: 0x1017, 0x8ee: 0x101b, 0x8ef: 0x101f, + 0x8f0: 0x1043, 0x8f1: 0x1083, 0x8f2: 0x1087, 0x8f3: 0x10a7, 0x8f4: 0x10b7, 0x8f5: 0x10bf, + 0x8f6: 0x10df, 0x8f7: 0x1103, 0x8f8: 0x1147, 0x8f9: 0x114f, 0x8fa: 0x1163, 0x8fb: 0x116f, + 0x8fc: 0x1177, 0x8fd: 0x117f, 0x8fe: 0x1183, 0x8ff: 0x1187, // Block 0x24, offset 0x900 - 0x906: 0xa000, 0x90b: 0xa000, - 0x90c: 0x3f08, 0x90d: 0xa000, 0x90e: 0x3f10, 0x90f: 0xa000, 0x910: 0x3f18, 0x911: 0xa000, - 0x912: 0x3f20, 0x913: 0xa000, 0x914: 0x3f28, 0x915: 0xa000, 0x916: 0x3f30, 0x917: 0xa000, - 0x918: 0x3f38, 0x919: 0xa000, 0x91a: 0x3f40, 0x91b: 0xa000, 0x91c: 0x3f48, 0x91d: 0xa000, - 0x91e: 0x3f50, 0x91f: 0xa000, 0x920: 0x3f58, 0x921: 0xa000, 0x922: 0x3f60, - 0x924: 0xa000, 0x925: 0x3f68, 0x926: 0xa000, 0x927: 0x3f70, 0x928: 0xa000, 0x929: 0x3f78, - 0x92f: 0xa000, - 0x930: 0x3f80, 0x931: 0x3f88, 0x932: 0xa000, 0x933: 0x3f90, 0x934: 0x3f98, 0x935: 0xa000, - 0x936: 0x3fa0, 0x937: 0x3fa8, 0x938: 0xa000, 0x939: 0x3fb0, 0x93a: 0x3fb8, 0x93b: 0xa000, - 0x93c: 0x3fc0, 0x93d: 0x3fc8, + 0x900: 0x119f, 0x901: 0x11a3, 0x902: 0x11bf, 0x903: 0x11c7, 0x904: 0x11cf, 0x905: 0x11d3, + 0x906: 0x11df, 0x907: 0x11e7, 0x908: 0x11eb, 0x909: 0x11ef, 0x90a: 0x11f7, 0x90b: 0x11fb, + 0x90c: 0x129b, 0x90d: 0x12af, 0x90e: 0x12e3, 0x90f: 0x12e7, 0x910: 0x12ef, 0x911: 0x131b, + 0x912: 0x1323, 0x913: 0x132b, 0x914: 0x1333, 0x915: 0x136f, 0x916: 0x1373, 0x917: 0x137b, + 0x918: 0x137f, 0x919: 0x1383, 0x91a: 0x13af, 0x91b: 0x13b3, 0x91c: 0x13bb, 0x91d: 0x13cf, + 0x91e: 0x13d3, 0x91f: 0x13ef, 0x920: 0x13f7, 0x921: 0x13fb, 0x922: 0x141f, 0x923: 0x143f, + 0x924: 0x1453, 0x925: 0x1457, 0x926: 0x145f, 0x927: 0x148b, 0x928: 0x148f, 0x929: 0x149f, + 0x92a: 0x14c3, 0x92b: 0x14cf, 0x92c: 0x14df, 0x92d: 0x14f7, 0x92e: 0x14ff, 0x92f: 0x1503, + 0x930: 0x1507, 0x931: 0x150b, 0x932: 0x1517, 0x933: 0x151b, 0x934: 0x1523, 0x935: 0x153f, + 0x936: 0x1543, 0x937: 0x1547, 0x938: 0x155f, 0x939: 0x1563, 0x93a: 0x156b, 0x93b: 0x157f, + 0x93c: 0x1583, 0x93d: 0x1587, 0x93e: 0x158f, 0x93f: 0x1593, // Block 0x25, offset 0x940 - 0x954: 0x3f00, - 0x959: 0x9903, 0x95a: 0x9903, 0x95b: 0x42dc, 0x95c: 0x42e2, 0x95d: 0xa000, - 0x95e: 0x3fd0, 0x95f: 0x26b4, - 0x966: 0xa000, - 0x96b: 0xa000, 0x96c: 0x3fe0, 0x96d: 0xa000, 0x96e: 0x3fe8, 0x96f: 0xa000, - 0x970: 0x3ff0, 0x971: 0xa000, 0x972: 0x3ff8, 0x973: 0xa000, 0x974: 0x4000, 0x975: 0xa000, - 0x976: 0x4008, 0x977: 0xa000, 0x978: 0x4010, 0x979: 0xa000, 0x97a: 0x4018, 0x97b: 0xa000, - 0x97c: 0x4020, 0x97d: 0xa000, 0x97e: 0x4028, 0x97f: 0xa000, + 0x946: 0xa000, 0x94b: 0xa000, + 0x94c: 0x3f08, 0x94d: 0xa000, 0x94e: 0x3f10, 0x94f: 0xa000, 0x950: 0x3f18, 0x951: 0xa000, + 0x952: 0x3f20, 0x953: 0xa000, 0x954: 0x3f28, 0x955: 0xa000, 0x956: 0x3f30, 0x957: 0xa000, + 0x958: 0x3f38, 0x959: 0xa000, 0x95a: 0x3f40, 0x95b: 0xa000, 0x95c: 0x3f48, 0x95d: 0xa000, + 0x95e: 0x3f50, 0x95f: 0xa000, 0x960: 0x3f58, 0x961: 0xa000, 0x962: 0x3f60, + 0x964: 0xa000, 0x965: 0x3f68, 0x966: 0xa000, 0x967: 0x3f70, 0x968: 0xa000, 0x969: 0x3f78, + 0x96f: 0xa000, + 0x970: 0x3f80, 0x971: 0x3f88, 0x972: 0xa000, 0x973: 0x3f90, 0x974: 0x3f98, 0x975: 0xa000, + 0x976: 0x3fa0, 0x977: 0x3fa8, 0x978: 0xa000, 0x979: 0x3fb0, 0x97a: 0x3fb8, 0x97b: 0xa000, + 0x97c: 0x3fc0, 0x97d: 0x3fc8, // Block 0x26, offset 0x980 - 0x980: 0x4030, 0x981: 0xa000, 0x982: 0x4038, 0x984: 0xa000, 0x985: 0x4040, - 0x986: 0xa000, 0x987: 0x4048, 0x988: 0xa000, 0x989: 0x4050, - 0x98f: 0xa000, 0x990: 0x4058, 0x991: 0x4060, - 0x992: 0xa000, 0x993: 0x4068, 0x994: 0x4070, 0x995: 0xa000, 0x996: 0x4078, 0x997: 0x4080, - 0x998: 0xa000, 0x999: 0x4088, 0x99a: 0x4090, 0x99b: 0xa000, 0x99c: 0x4098, 0x99d: 0x40a0, - 0x9af: 0xa000, - 0x9b0: 0xa000, 0x9b1: 0xa000, 0x9b2: 0xa000, 0x9b4: 0x3fd8, - 0x9b7: 0x40a8, 0x9b8: 0x40b0, 0x9b9: 0x40b8, 0x9ba: 0x40c0, - 0x9bd: 0xa000, 0x9be: 0x40c8, 0x9bf: 0x26c9, + 0x994: 0x3f00, + 0x999: 0x9903, 0x99a: 0x9903, 0x99b: 0x42dc, 0x99c: 0x42e2, 0x99d: 0xa000, + 0x99e: 0x3fd0, 0x99f: 0x26b4, + 0x9a6: 0xa000, + 0x9ab: 0xa000, 0x9ac: 0x3fe0, 0x9ad: 0xa000, 0x9ae: 0x3fe8, 0x9af: 0xa000, + 0x9b0: 0x3ff0, 0x9b1: 0xa000, 0x9b2: 0x3ff8, 0x9b3: 0xa000, 0x9b4: 0x4000, 0x9b5: 0xa000, + 0x9b6: 0x4008, 0x9b7: 0xa000, 0x9b8: 0x4010, 0x9b9: 0xa000, 0x9ba: 0x4018, 0x9bb: 0xa000, + 0x9bc: 0x4020, 0x9bd: 0xa000, 0x9be: 0x4028, 0x9bf: 0xa000, // Block 0x27, offset 0x9c0 - 0x9c0: 0x0367, 0x9c1: 0x032b, 0x9c2: 0x032f, 0x9c3: 0x0333, 0x9c4: 0x037b, 0x9c5: 0x0337, - 0x9c6: 0x033b, 0x9c7: 0x033f, 0x9c8: 0x0343, 0x9c9: 0x0347, 0x9ca: 0x034b, 0x9cb: 0x034f, - 0x9cc: 0x0353, 0x9cd: 0x0357, 0x9ce: 0x035b, 0x9cf: 0x49bd, 0x9d0: 0x49c3, 0x9d1: 0x49c9, - 0x9d2: 0x49cf, 0x9d3: 0x49d5, 0x9d4: 0x49db, 0x9d5: 0x49e1, 0x9d6: 0x49e7, 0x9d7: 0x49ed, - 0x9d8: 0x49f3, 0x9d9: 0x49f9, 0x9da: 0x49ff, 0x9db: 0x4a05, 0x9dc: 0x4a0b, 0x9dd: 0x4a11, - 0x9de: 0x4a17, 0x9df: 0x4a1d, 0x9e0: 0x4a23, 0x9e1: 0x4a29, 0x9e2: 0x4a2f, 0x9e3: 0x4a35, - 0x9e4: 0x03c3, 0x9e5: 0x035f, 0x9e6: 0x0363, 0x9e7: 0x03e7, 0x9e8: 0x03eb, 0x9e9: 0x03ef, - 0x9ea: 0x03f3, 0x9eb: 0x03f7, 0x9ec: 0x03fb, 0x9ed: 0x03ff, 0x9ee: 0x036b, 0x9ef: 0x0403, - 0x9f0: 0x0407, 0x9f1: 0x036f, 0x9f2: 0x0373, 0x9f3: 0x0377, 0x9f4: 0x037f, 0x9f5: 0x0383, - 0x9f6: 0x0387, 0x9f7: 0x038b, 0x9f8: 0x038f, 0x9f9: 0x0393, 0x9fa: 0x0397, 0x9fb: 0x039b, - 0x9fc: 0x039f, 0x9fd: 0x03a3, 0x9fe: 0x03a7, 0x9ff: 0x03ab, + 0x9c0: 0x4030, 0x9c1: 0xa000, 0x9c2: 0x4038, 0x9c4: 0xa000, 0x9c5: 0x4040, + 0x9c6: 0xa000, 0x9c7: 0x4048, 0x9c8: 0xa000, 0x9c9: 0x4050, + 0x9cf: 0xa000, 0x9d0: 0x4058, 0x9d1: 0x4060, + 0x9d2: 0xa000, 0x9d3: 0x4068, 0x9d4: 0x4070, 0x9d5: 0xa000, 0x9d6: 0x4078, 0x9d7: 0x4080, + 0x9d8: 0xa000, 0x9d9: 0x4088, 0x9da: 0x4090, 0x9db: 0xa000, 0x9dc: 0x4098, 0x9dd: 0x40a0, + 0x9ef: 0xa000, + 0x9f0: 0xa000, 0x9f1: 0xa000, 0x9f2: 0xa000, 0x9f4: 0x3fd8, + 0x9f7: 0x40a8, 0x9f8: 0x40b0, 0x9f9: 0x40b8, 0x9fa: 0x40c0, + 0x9fd: 0xa000, 0x9fe: 0x40c8, 0x9ff: 0x26c9, // Block 0x28, offset 0xa00 - 0xa00: 0x03af, 0xa01: 0x03b3, 0xa02: 0x040b, 0xa03: 0x040f, 0xa04: 0x03b7, 0xa05: 0x03bb, - 0xa06: 0x03bf, 0xa07: 0x03c7, 0xa08: 0x03cb, 0xa09: 0x03cf, 0xa0a: 0x03d3, 0xa0b: 0x03d7, - 0xa0c: 0x03db, 0xa0d: 0x03df, 0xa0e: 0x03e3, - 0xa12: 0x06bf, 0xa13: 0x071b, 0xa14: 0x06cb, 0xa15: 0x097b, 0xa16: 0x06cf, 0xa17: 0x06e7, - 0xa18: 0x06d3, 0xa19: 0x0f93, 0xa1a: 0x0707, 0xa1b: 0x06db, 0xa1c: 0x06c3, 0xa1d: 0x09ff, - 0xa1e: 0x098f, 0xa1f: 0x072f, + 0xa00: 0x0367, 0xa01: 0x032b, 0xa02: 0x032f, 0xa03: 0x0333, 0xa04: 0x037b, 0xa05: 0x0337, + 0xa06: 0x033b, 0xa07: 0x033f, 0xa08: 0x0343, 0xa09: 0x0347, 0xa0a: 0x034b, 0xa0b: 0x034f, + 0xa0c: 0x0353, 0xa0d: 0x0357, 0xa0e: 0x035b, 0xa0f: 0x49bd, 0xa10: 0x49c3, 0xa11: 0x49c9, + 0xa12: 0x49cf, 0xa13: 0x49d5, 0xa14: 0x49db, 0xa15: 0x49e1, 0xa16: 0x49e7, 0xa17: 0x49ed, + 0xa18: 0x49f3, 0xa19: 0x49f9, 0xa1a: 0x49ff, 0xa1b: 0x4a05, 0xa1c: 0x4a0b, 0xa1d: 0x4a11, + 0xa1e: 0x4a17, 0xa1f: 0x4a1d, 0xa20: 0x4a23, 0xa21: 0x4a29, 0xa22: 0x4a2f, 0xa23: 0x4a35, + 0xa24: 0x03c3, 0xa25: 0x035f, 0xa26: 0x0363, 0xa27: 0x03e7, 0xa28: 0x03eb, 0xa29: 0x03ef, + 0xa2a: 0x03f3, 0xa2b: 0x03f7, 0xa2c: 0x03fb, 0xa2d: 0x03ff, 0xa2e: 0x036b, 0xa2f: 0x0403, + 0xa30: 0x0407, 0xa31: 0x036f, 0xa32: 0x0373, 0xa33: 0x0377, 0xa34: 0x037f, 0xa35: 0x0383, + 0xa36: 0x0387, 0xa37: 0x038b, 0xa38: 0x038f, 0xa39: 0x0393, 0xa3a: 0x0397, 0xa3b: 0x039b, + 0xa3c: 0x039f, 0xa3d: 0x03a3, 0xa3e: 0x03a7, 0xa3f: 0x03ab, // Block 0x29, offset 0xa40 - 0xa40: 0x2054, 0xa41: 0x205a, 0xa42: 0x2060, 0xa43: 0x2066, 0xa44: 0x206c, 0xa45: 0x2072, - 0xa46: 0x2078, 0xa47: 0x207e, 0xa48: 0x2084, 0xa49: 0x208a, 0xa4a: 0x2090, 0xa4b: 0x2096, - 0xa4c: 0x209c, 0xa4d: 0x20a2, 0xa4e: 0x2726, 0xa4f: 0x272f, 0xa50: 0x2738, 0xa51: 0x2741, - 0xa52: 0x274a, 0xa53: 0x2753, 0xa54: 0x275c, 0xa55: 0x2765, 0xa56: 0x276e, 0xa57: 0x2780, - 0xa58: 0x2789, 0xa59: 0x2792, 0xa5a: 0x279b, 0xa5b: 0x27a4, 0xa5c: 0x2777, 0xa5d: 0x2bac, - 0xa5e: 0x2aed, 0xa60: 0x20a8, 0xa61: 0x20c0, 0xa62: 0x20b4, 0xa63: 0x2108, - 0xa64: 0x20c6, 0xa65: 0x20e4, 0xa66: 0x20ae, 0xa67: 0x20de, 0xa68: 0x20ba, 0xa69: 0x20f0, - 0xa6a: 0x2120, 0xa6b: 0x213e, 0xa6c: 0x2138, 0xa6d: 0x212c, 0xa6e: 0x217a, 0xa6f: 0x210e, - 0xa70: 0x211a, 0xa71: 0x2132, 0xa72: 0x2126, 0xa73: 0x2150, 0xa74: 0x20fc, 0xa75: 0x2144, - 0xa76: 0x216e, 0xa77: 0x2156, 0xa78: 0x20ea, 0xa79: 0x20cc, 0xa7a: 0x2102, 0xa7b: 0x2114, - 0xa7c: 0x214a, 0xa7d: 0x20d2, 0xa7e: 0x2174, 0xa7f: 0x20f6, + 0xa40: 0x03af, 0xa41: 0x03b3, 0xa42: 0x040b, 0xa43: 0x040f, 0xa44: 0x03b7, 0xa45: 0x03bb, + 0xa46: 0x03bf, 0xa47: 0x03c7, 0xa48: 0x03cb, 0xa49: 0x03cf, 0xa4a: 0x03d3, 0xa4b: 0x03d7, + 0xa4c: 0x03db, 0xa4d: 0x03df, 0xa4e: 0x03e3, + 0xa52: 0x06bf, 0xa53: 0x071b, 0xa54: 0x06cb, 0xa55: 0x097b, 0xa56: 0x06cf, 0xa57: 0x06e7, + 0xa58: 0x06d3, 0xa59: 0x0f93, 0xa5a: 0x0707, 0xa5b: 0x06db, 0xa5c: 0x06c3, 0xa5d: 0x09ff, + 0xa5e: 0x098f, 0xa5f: 0x072f, // Block 0x2a, offset 0xa80 - 0xa80: 0x215c, 0xa81: 0x20d8, 0xa82: 0x2162, 0xa83: 0x2168, 0xa84: 0x092f, 0xa85: 0x0b03, - 0xa86: 0x0ca7, 0xa87: 0x10c7, - 0xa90: 0x1bc4, 0xa91: 0x18a9, - 0xa92: 0x18ac, 0xa93: 0x18af, 0xa94: 0x18b2, 0xa95: 0x18b5, 0xa96: 0x18b8, 0xa97: 0x18bb, - 0xa98: 0x18be, 0xa99: 0x18c1, 0xa9a: 0x18ca, 0xa9b: 0x18cd, 0xa9c: 0x18d0, 0xa9d: 0x18d3, - 0xa9e: 0x18d6, 0xa9f: 0x18d9, 0xaa0: 0x0313, 0xaa1: 0x031b, 0xaa2: 0x031f, 0xaa3: 0x0327, - 0xaa4: 0x032b, 0xaa5: 0x032f, 0xaa6: 0x0337, 0xaa7: 0x033f, 0xaa8: 0x0343, 0xaa9: 0x034b, - 0xaaa: 0x034f, 0xaab: 0x0353, 0xaac: 0x0357, 0xaad: 0x035b, 0xaae: 0x2e18, 0xaaf: 0x2e20, - 0xab0: 0x2e28, 0xab1: 0x2e30, 0xab2: 0x2e38, 0xab3: 0x2e40, 0xab4: 0x2e48, 0xab5: 0x2e50, - 0xab6: 0x2e60, 0xab7: 0x2e68, 0xab8: 0x2e70, 0xab9: 0x2e78, 0xaba: 0x2e80, 0xabb: 0x2e88, - 0xabc: 0x2ed3, 0xabd: 0x2e9b, 0xabe: 0x2e58, + 0xa80: 0x2054, 0xa81: 0x205a, 0xa82: 0x2060, 0xa83: 0x2066, 0xa84: 0x206c, 0xa85: 0x2072, + 0xa86: 0x2078, 0xa87: 0x207e, 0xa88: 0x2084, 0xa89: 0x208a, 0xa8a: 0x2090, 0xa8b: 0x2096, + 0xa8c: 0x209c, 0xa8d: 0x20a2, 0xa8e: 0x2726, 0xa8f: 0x272f, 0xa90: 0x2738, 0xa91: 0x2741, + 0xa92: 0x274a, 0xa93: 0x2753, 0xa94: 0x275c, 0xa95: 0x2765, 0xa96: 0x276e, 0xa97: 0x2780, + 0xa98: 0x2789, 0xa99: 0x2792, 0xa9a: 0x279b, 0xa9b: 0x27a4, 0xa9c: 0x2777, 0xa9d: 0x2bac, + 0xa9e: 0x2aed, 0xaa0: 0x20a8, 0xaa1: 0x20c0, 0xaa2: 0x20b4, 0xaa3: 0x2108, + 0xaa4: 0x20c6, 0xaa5: 0x20e4, 0xaa6: 0x20ae, 0xaa7: 0x20de, 0xaa8: 0x20ba, 0xaa9: 0x20f0, + 0xaaa: 0x2120, 0xaab: 0x213e, 0xaac: 0x2138, 0xaad: 0x212c, 0xaae: 0x217a, 0xaaf: 0x210e, + 0xab0: 0x211a, 0xab1: 0x2132, 0xab2: 0x2126, 0xab3: 0x2150, 0xab4: 0x20fc, 0xab5: 0x2144, + 0xab6: 0x216e, 0xab7: 0x2156, 0xab8: 0x20ea, 0xab9: 0x20cc, 0xaba: 0x2102, 0xabb: 0x2114, + 0xabc: 0x214a, 0xabd: 0x20d2, 0xabe: 0x2174, 0xabf: 0x20f6, // Block 0x2b, offset 0xac0 - 0xac0: 0x06bf, 0xac1: 0x071b, 0xac2: 0x06cb, 0xac3: 0x097b, 0xac4: 0x071f, 0xac5: 0x07af, - 0xac6: 0x06c7, 0xac7: 0x07ab, 0xac8: 0x070b, 0xac9: 0x0887, 0xaca: 0x0d07, 0xacb: 0x0e8f, - 0xacc: 0x0dd7, 0xacd: 0x0d1b, 0xace: 0x145f, 0xacf: 0x098b, 0xad0: 0x0ccf, 0xad1: 0x0d4b, - 0xad2: 0x0d0b, 0xad3: 0x104b, 0xad4: 0x08fb, 0xad5: 0x0f03, 0xad6: 0x1387, 0xad7: 0x105f, - 0xad8: 0x0843, 0xad9: 0x108f, 0xada: 0x0f9b, 0xadb: 0x0a17, 0xadc: 0x140f, 0xadd: 0x077f, - 0xade: 0x08ab, 0xadf: 0x0df7, 0xae0: 0x1527, 0xae1: 0x0743, 0xae2: 0x07d3, 0xae3: 0x0d9b, - 0xae4: 0x06cf, 0xae5: 0x06e7, 0xae6: 0x06d3, 0xae7: 0x0adb, 0xae8: 0x08ef, 0xae9: 0x087f, - 0xaea: 0x0a57, 0xaeb: 0x0a4b, 0xaec: 0x0feb, 0xaed: 0x073f, 0xaee: 0x139b, 0xaef: 0x089b, - 0xaf0: 0x09f3, 0xaf1: 0x18dc, 0xaf2: 0x18df, 0xaf3: 0x18e2, 0xaf4: 0x18e5, 0xaf5: 0x18ee, - 0xaf6: 0x18f1, 0xaf7: 0x18f4, 0xaf8: 0x18f7, 0xaf9: 0x18fa, 0xafa: 0x18fd, 0xafb: 0x1900, - 0xafc: 0x1903, 0xafd: 0x1906, 0xafe: 0x1909, 0xaff: 0x1912, + 0xac0: 0x215c, 0xac1: 0x20d8, 0xac2: 0x2162, 0xac3: 0x2168, 0xac4: 0x092f, 0xac5: 0x0b03, + 0xac6: 0x0ca7, 0xac7: 0x10c7, + 0xad0: 0x1bc4, 0xad1: 0x18a9, + 0xad2: 0x18ac, 0xad3: 0x18af, 0xad4: 0x18b2, 0xad5: 0x18b5, 0xad6: 0x18b8, 0xad7: 0x18bb, + 0xad8: 0x18be, 0xad9: 0x18c1, 0xada: 0x18ca, 0xadb: 0x18cd, 0xadc: 0x18d0, 0xadd: 0x18d3, + 0xade: 0x18d6, 0xadf: 0x18d9, 0xae0: 0x0313, 0xae1: 0x031b, 0xae2: 0x031f, 0xae3: 0x0327, + 0xae4: 0x032b, 0xae5: 0x032f, 0xae6: 0x0337, 0xae7: 0x033f, 0xae8: 0x0343, 0xae9: 0x034b, + 0xaea: 0x034f, 0xaeb: 0x0353, 0xaec: 0x0357, 0xaed: 0x035b, 0xaee: 0x2e18, 0xaef: 0x2e20, + 0xaf0: 0x2e28, 0xaf1: 0x2e30, 0xaf2: 0x2e38, 0xaf3: 0x2e40, 0xaf4: 0x2e48, 0xaf5: 0x2e50, + 0xaf6: 0x2e60, 0xaf7: 0x2e68, 0xaf8: 0x2e70, 0xaf9: 0x2e78, 0xafa: 0x2e80, 0xafb: 0x2e88, + 0xafc: 0x2ed3, 0xafd: 0x2e9b, 0xafe: 0x2e58, // Block 0x2c, offset 0xb00 - 0xb00: 0x1cc6, 0xb01: 0x1cd5, 0xb02: 0x1ce4, 0xb03: 0x1cf3, 0xb04: 0x1d02, 0xb05: 0x1d11, - 0xb06: 0x1d20, 0xb07: 0x1d2f, 0xb08: 0x1d3e, 0xb09: 0x218c, 0xb0a: 0x219e, 0xb0b: 0x21b0, - 0xb0c: 0x1954, 0xb0d: 0x1c04, 0xb0e: 0x19d2, 0xb0f: 0x1ba8, 0xb10: 0x04cb, 0xb11: 0x04d3, - 0xb12: 0x04db, 0xb13: 0x04e3, 0xb14: 0x04eb, 0xb15: 0x04ef, 0xb16: 0x04f3, 0xb17: 0x04f7, - 0xb18: 0x04fb, 0xb19: 0x04ff, 0xb1a: 0x0503, 0xb1b: 0x0507, 0xb1c: 0x050b, 0xb1d: 0x050f, - 0xb1e: 0x0513, 0xb1f: 0x0517, 0xb20: 0x051b, 0xb21: 0x0523, 0xb22: 0x0527, 0xb23: 0x052b, - 0xb24: 0x052f, 0xb25: 0x0533, 0xb26: 0x0537, 0xb27: 0x053b, 0xb28: 0x053f, 0xb29: 0x0543, - 0xb2a: 0x0547, 0xb2b: 0x054b, 0xb2c: 0x054f, 0xb2d: 0x0553, 0xb2e: 0x0557, 0xb2f: 0x055b, - 0xb30: 0x055f, 0xb31: 0x0563, 0xb32: 0x0567, 0xb33: 0x056f, 0xb34: 0x0577, 0xb35: 0x057f, - 0xb36: 0x0583, 0xb37: 0x0587, 0xb38: 0x058b, 0xb39: 0x058f, 0xb3a: 0x0593, 0xb3b: 0x0597, - 0xb3c: 0x059b, 0xb3d: 0x059f, 0xb3e: 0x05a3, + 0xb00: 0x06bf, 0xb01: 0x071b, 0xb02: 0x06cb, 0xb03: 0x097b, 0xb04: 0x071f, 0xb05: 0x07af, + 0xb06: 0x06c7, 0xb07: 0x07ab, 0xb08: 0x070b, 0xb09: 0x0887, 0xb0a: 0x0d07, 0xb0b: 0x0e8f, + 0xb0c: 0x0dd7, 0xb0d: 0x0d1b, 0xb0e: 0x145f, 0xb0f: 0x098b, 0xb10: 0x0ccf, 0xb11: 0x0d4b, + 0xb12: 0x0d0b, 0xb13: 0x104b, 0xb14: 0x08fb, 0xb15: 0x0f03, 0xb16: 0x1387, 0xb17: 0x105f, + 0xb18: 0x0843, 0xb19: 0x108f, 0xb1a: 0x0f9b, 0xb1b: 0x0a17, 0xb1c: 0x140f, 0xb1d: 0x077f, + 0xb1e: 0x08ab, 0xb1f: 0x0df7, 0xb20: 0x1527, 0xb21: 0x0743, 0xb22: 0x07d3, 0xb23: 0x0d9b, + 0xb24: 0x06cf, 0xb25: 0x06e7, 0xb26: 0x06d3, 0xb27: 0x0adb, 0xb28: 0x08ef, 0xb29: 0x087f, + 0xb2a: 0x0a57, 0xb2b: 0x0a4b, 0xb2c: 0x0feb, 0xb2d: 0x073f, 0xb2e: 0x139b, 0xb2f: 0x089b, + 0xb30: 0x09f3, 0xb31: 0x18dc, 0xb32: 0x18df, 0xb33: 0x18e2, 0xb34: 0x18e5, 0xb35: 0x18ee, + 0xb36: 0x18f1, 0xb37: 0x18f4, 0xb38: 0x18f7, 0xb39: 0x18fa, 0xb3a: 0x18fd, 0xb3b: 0x1900, + 0xb3c: 0x1903, 0xb3d: 0x1906, 0xb3e: 0x1909, 0xb3f: 0x1912, // Block 0x2d, offset 0xb40 - 0xb40: 0x2b0c, 0xb41: 0x29a8, 0xb42: 0x2b1c, 0xb43: 0x2880, 0xb44: 0x2ee4, 0xb45: 0x288a, - 0xb46: 0x2894, 0xb47: 0x2f28, 0xb48: 0x29b5, 0xb49: 0x289e, 0xb4a: 0x28a8, 0xb4b: 0x28b2, - 0xb4c: 0x29dc, 0xb4d: 0x29e9, 0xb4e: 0x29c2, 0xb4f: 0x29cf, 0xb50: 0x2ea9, 0xb51: 0x29f6, - 0xb52: 0x2a03, 0xb53: 0x2bbe, 0xb54: 0x26bb, 0xb55: 0x2bd1, 0xb56: 0x2be4, 0xb57: 0x2b2c, - 0xb58: 0x2a10, 0xb59: 0x2bf7, 0xb5a: 0x2c0a, 0xb5b: 0x2a1d, 0xb5c: 0x28bc, 0xb5d: 0x28c6, - 0xb5e: 0x2eb7, 0xb5f: 0x2a2a, 0xb60: 0x2b3c, 0xb61: 0x2ef5, 0xb62: 0x28d0, 0xb63: 0x28da, - 0xb64: 0x2a37, 0xb65: 0x28e4, 0xb66: 0x28ee, 0xb67: 0x26d0, 0xb68: 0x26d7, 0xb69: 0x28f8, - 0xb6a: 0x2902, 0xb6b: 0x2c1d, 0xb6c: 0x2a44, 0xb6d: 0x2b4c, 0xb6e: 0x2c30, 0xb6f: 0x2a51, - 0xb70: 0x2916, 0xb71: 0x290c, 0xb72: 0x2f3c, 0xb73: 0x2a5e, 0xb74: 0x2c43, 0xb75: 0x2920, - 0xb76: 0x2b5c, 0xb77: 0x292a, 0xb78: 0x2a78, 0xb79: 0x2934, 0xb7a: 0x2a85, 0xb7b: 0x2f06, - 0xb7c: 0x2a6b, 0xb7d: 0x2b6c, 0xb7e: 0x2a92, 0xb7f: 0x26de, + 0xb40: 0x1cc6, 0xb41: 0x1cd5, 0xb42: 0x1ce4, 0xb43: 0x1cf3, 0xb44: 0x1d02, 0xb45: 0x1d11, + 0xb46: 0x1d20, 0xb47: 0x1d2f, 0xb48: 0x1d3e, 0xb49: 0x218c, 0xb4a: 0x219e, 0xb4b: 0x21b0, + 0xb4c: 0x1954, 0xb4d: 0x1c04, 0xb4e: 0x19d2, 0xb4f: 0x1ba8, 0xb50: 0x04cb, 0xb51: 0x04d3, + 0xb52: 0x04db, 0xb53: 0x04e3, 0xb54: 0x04eb, 0xb55: 0x04ef, 0xb56: 0x04f3, 0xb57: 0x04f7, + 0xb58: 0x04fb, 0xb59: 0x04ff, 0xb5a: 0x0503, 0xb5b: 0x0507, 0xb5c: 0x050b, 0xb5d: 0x050f, + 0xb5e: 0x0513, 0xb5f: 0x0517, 0xb60: 0x051b, 0xb61: 0x0523, 0xb62: 0x0527, 0xb63: 0x052b, + 0xb64: 0x052f, 0xb65: 0x0533, 0xb66: 0x0537, 0xb67: 0x053b, 0xb68: 0x053f, 0xb69: 0x0543, + 0xb6a: 0x0547, 0xb6b: 0x054b, 0xb6c: 0x054f, 0xb6d: 0x0553, 0xb6e: 0x0557, 0xb6f: 0x055b, + 0xb70: 0x055f, 0xb71: 0x0563, 0xb72: 0x0567, 0xb73: 0x056f, 0xb74: 0x0577, 0xb75: 0x057f, + 0xb76: 0x0583, 0xb77: 0x0587, 0xb78: 0x058b, 0xb79: 0x058f, 0xb7a: 0x0593, 0xb7b: 0x0597, + 0xb7c: 0x059b, 0xb7d: 0x059f, 0xb7e: 0x05a3, // Block 0x2e, offset 0xb80 - 0xb80: 0x2f17, 0xb81: 0x293e, 0xb82: 0x2948, 0xb83: 0x2a9f, 0xb84: 0x2952, 0xb85: 0x295c, - 0xb86: 0x2966, 0xb87: 0x2b7c, 0xb88: 0x2aac, 0xb89: 0x26e5, 0xb8a: 0x2c56, 0xb8b: 0x2e90, - 0xb8c: 0x2b8c, 0xb8d: 0x2ab9, 0xb8e: 0x2ec5, 0xb8f: 0x2970, 0xb90: 0x297a, 0xb91: 0x2ac6, - 0xb92: 0x26ec, 0xb93: 0x2ad3, 0xb94: 0x2b9c, 0xb95: 0x26f3, 0xb96: 0x2c69, 0xb97: 0x2984, - 0xb98: 0x1cb7, 0xb99: 0x1ccb, 0xb9a: 0x1cda, 0xb9b: 0x1ce9, 0xb9c: 0x1cf8, 0xb9d: 0x1d07, - 0xb9e: 0x1d16, 0xb9f: 0x1d25, 0xba0: 0x1d34, 0xba1: 0x1d43, 0xba2: 0x2192, 0xba3: 0x21a4, - 0xba4: 0x21b6, 0xba5: 0x21c2, 0xba6: 0x21ce, 0xba7: 0x21da, 0xba8: 0x21e6, 0xba9: 0x21f2, - 0xbaa: 0x21fe, 0xbab: 0x220a, 0xbac: 0x2246, 0xbad: 0x2252, 0xbae: 0x225e, 0xbaf: 0x226a, - 0xbb0: 0x2276, 0xbb1: 0x1c14, 0xbb2: 0x19c6, 0xbb3: 0x1936, 0xbb4: 0x1be4, 0xbb5: 0x1a47, - 0xbb6: 0x1a56, 0xbb7: 0x19cc, 0xbb8: 0x1bfc, 0xbb9: 0x1c00, 0xbba: 0x1960, 0xbbb: 0x2701, - 0xbbc: 0x270f, 0xbbd: 0x26fa, 0xbbe: 0x2708, 0xbbf: 0x2ae0, + 0xb80: 0x2b0c, 0xb81: 0x29a8, 0xb82: 0x2b1c, 0xb83: 0x2880, 0xb84: 0x2ee4, 0xb85: 0x288a, + 0xb86: 0x2894, 0xb87: 0x2f28, 0xb88: 0x29b5, 0xb89: 0x289e, 0xb8a: 0x28a8, 0xb8b: 0x28b2, + 0xb8c: 0x29dc, 0xb8d: 0x29e9, 0xb8e: 0x29c2, 0xb8f: 0x29cf, 0xb90: 0x2ea9, 0xb91: 0x29f6, + 0xb92: 0x2a03, 0xb93: 0x2bbe, 0xb94: 0x26bb, 0xb95: 0x2bd1, 0xb96: 0x2be4, 0xb97: 0x2b2c, + 0xb98: 0x2a10, 0xb99: 0x2bf7, 0xb9a: 0x2c0a, 0xb9b: 0x2a1d, 0xb9c: 0x28bc, 0xb9d: 0x28c6, + 0xb9e: 0x2eb7, 0xb9f: 0x2a2a, 0xba0: 0x2b3c, 0xba1: 0x2ef5, 0xba2: 0x28d0, 0xba3: 0x28da, + 0xba4: 0x2a37, 0xba5: 0x28e4, 0xba6: 0x28ee, 0xba7: 0x26d0, 0xba8: 0x26d7, 0xba9: 0x28f8, + 0xbaa: 0x2902, 0xbab: 0x2c1d, 0xbac: 0x2a44, 0xbad: 0x2b4c, 0xbae: 0x2c30, 0xbaf: 0x2a51, + 0xbb0: 0x2916, 0xbb1: 0x290c, 0xbb2: 0x2f3c, 0xbb3: 0x2a5e, 0xbb4: 0x2c43, 0xbb5: 0x2920, + 0xbb6: 0x2b5c, 0xbb7: 0x292a, 0xbb8: 0x2a78, 0xbb9: 0x2934, 0xbba: 0x2a85, 0xbbb: 0x2f06, + 0xbbc: 0x2a6b, 0xbbd: 0x2b6c, 0xbbe: 0x2a92, 0xbbf: 0x26de, // Block 0x2f, offset 0xbc0 - 0xbc0: 0x1a4a, 0xbc1: 0x1a32, 0xbc2: 0x1c60, 0xbc3: 0x1a1a, 0xbc4: 0x19f3, 0xbc5: 0x1969, - 0xbc6: 0x1978, 0xbc7: 0x1948, 0xbc8: 0x1bf0, 0xbc9: 0x1d52, 0xbca: 0x1a4d, 0xbcb: 0x1a35, - 0xbcc: 0x1c64, 0xbcd: 0x1c70, 0xbce: 0x1a26, 0xbcf: 0x19fc, 0xbd0: 0x1957, 0xbd1: 0x1c1c, - 0xbd2: 0x1bb0, 0xbd3: 0x1b9c, 0xbd4: 0x1bcc, 0xbd5: 0x1c74, 0xbd6: 0x1a29, 0xbd7: 0x19c9, - 0xbd8: 0x19ff, 0xbd9: 0x19de, 0xbda: 0x1a41, 0xbdb: 0x1c78, 0xbdc: 0x1a2c, 0xbdd: 0x19c0, - 0xbde: 0x1a02, 0xbdf: 0x1c3c, 0xbe0: 0x1bf4, 0xbe1: 0x1a14, 0xbe2: 0x1c24, 0xbe3: 0x1c40, - 0xbe4: 0x1bf8, 0xbe5: 0x1a17, 0xbe6: 0x1c28, 0xbe7: 0x22e8, 0xbe8: 0x22fc, 0xbe9: 0x1996, - 0xbea: 0x1c20, 0xbeb: 0x1bb4, 0xbec: 0x1ba0, 0xbed: 0x1c48, 0xbee: 0x2716, 0xbef: 0x27ad, - 0xbf0: 0x1a59, 0xbf1: 0x1a44, 0xbf2: 0x1c7c, 0xbf3: 0x1a2f, 0xbf4: 0x1a50, 0xbf5: 0x1a38, - 0xbf6: 0x1c68, 0xbf7: 0x1a1d, 0xbf8: 0x19f6, 0xbf9: 0x1981, 0xbfa: 0x1a53, 0xbfb: 0x1a3b, - 0xbfc: 0x1c6c, 0xbfd: 0x1a20, 0xbfe: 0x19f9, 0xbff: 0x1984, + 0xbc0: 0x2f17, 0xbc1: 0x293e, 0xbc2: 0x2948, 0xbc3: 0x2a9f, 0xbc4: 0x2952, 0xbc5: 0x295c, + 0xbc6: 0x2966, 0xbc7: 0x2b7c, 0xbc8: 0x2aac, 0xbc9: 0x26e5, 0xbca: 0x2c56, 0xbcb: 0x2e90, + 0xbcc: 0x2b8c, 0xbcd: 0x2ab9, 0xbce: 0x2ec5, 0xbcf: 0x2970, 0xbd0: 0x297a, 0xbd1: 0x2ac6, + 0xbd2: 0x26ec, 0xbd3: 0x2ad3, 0xbd4: 0x2b9c, 0xbd5: 0x26f3, 0xbd6: 0x2c69, 0xbd7: 0x2984, + 0xbd8: 0x1cb7, 0xbd9: 0x1ccb, 0xbda: 0x1cda, 0xbdb: 0x1ce9, 0xbdc: 0x1cf8, 0xbdd: 0x1d07, + 0xbde: 0x1d16, 0xbdf: 0x1d25, 0xbe0: 0x1d34, 0xbe1: 0x1d43, 0xbe2: 0x2192, 0xbe3: 0x21a4, + 0xbe4: 0x21b6, 0xbe5: 0x21c2, 0xbe6: 0x21ce, 0xbe7: 0x21da, 0xbe8: 0x21e6, 0xbe9: 0x21f2, + 0xbea: 0x21fe, 0xbeb: 0x220a, 0xbec: 0x2246, 0xbed: 0x2252, 0xbee: 0x225e, 0xbef: 0x226a, + 0xbf0: 0x2276, 0xbf1: 0x1c14, 0xbf2: 0x19c6, 0xbf3: 0x1936, 0xbf4: 0x1be4, 0xbf5: 0x1a47, + 0xbf6: 0x1a56, 0xbf7: 0x19cc, 0xbf8: 0x1bfc, 0xbf9: 0x1c00, 0xbfa: 0x1960, 0xbfb: 0x2701, + 0xbfc: 0x270f, 0xbfd: 0x26fa, 0xbfe: 0x2708, 0xbff: 0x2ae0, // Block 0x30, offset 0xc00 - 0xc00: 0x1c2c, 0xc01: 0x1bb8, 0xc02: 0x1d4d, 0xc03: 0x1939, 0xc04: 0x19ba, 0xc05: 0x19bd, - 0xc06: 0x22f5, 0xc07: 0x1b94, 0xc08: 0x19c3, 0xc09: 0x194b, 0xc0a: 0x19e1, 0xc0b: 0x194e, - 0xc0c: 0x19ea, 0xc0d: 0x196c, 0xc0e: 0x196f, 0xc0f: 0x1a05, 0xc10: 0x1a0b, 0xc11: 0x1a0e, - 0xc12: 0x1c30, 0xc13: 0x1a11, 0xc14: 0x1a23, 0xc15: 0x1c38, 0xc16: 0x1c44, 0xc17: 0x1990, - 0xc18: 0x1d57, 0xc19: 0x1bbc, 0xc1a: 0x1993, 0xc1b: 0x1a5c, 0xc1c: 0x19a5, 0xc1d: 0x19b4, - 0xc1e: 0x22e2, 0xc1f: 0x22dc, 0xc20: 0x1cc1, 0xc21: 0x1cd0, 0xc22: 0x1cdf, 0xc23: 0x1cee, - 0xc24: 0x1cfd, 0xc25: 0x1d0c, 0xc26: 0x1d1b, 0xc27: 0x1d2a, 0xc28: 0x1d39, 0xc29: 0x2186, - 0xc2a: 0x2198, 0xc2b: 0x21aa, 0xc2c: 0x21bc, 0xc2d: 0x21c8, 0xc2e: 0x21d4, 0xc2f: 0x21e0, - 0xc30: 0x21ec, 0xc31: 0x21f8, 0xc32: 0x2204, 0xc33: 0x2240, 0xc34: 0x224c, 0xc35: 0x2258, - 0xc36: 0x2264, 0xc37: 0x2270, 0xc38: 0x227c, 0xc39: 0x2282, 0xc3a: 0x2288, 0xc3b: 0x228e, - 0xc3c: 0x2294, 0xc3d: 0x22a6, 0xc3e: 0x22ac, 0xc3f: 0x1c10, + 0xc00: 0x1a4a, 0xc01: 0x1a32, 0xc02: 0x1c60, 0xc03: 0x1a1a, 0xc04: 0x19f3, 0xc05: 0x1969, + 0xc06: 0x1978, 0xc07: 0x1948, 0xc08: 0x1bf0, 0xc09: 0x1d52, 0xc0a: 0x1a4d, 0xc0b: 0x1a35, + 0xc0c: 0x1c64, 0xc0d: 0x1c70, 0xc0e: 0x1a26, 0xc0f: 0x19fc, 0xc10: 0x1957, 0xc11: 0x1c1c, + 0xc12: 0x1bb0, 0xc13: 0x1b9c, 0xc14: 0x1bcc, 0xc15: 0x1c74, 0xc16: 0x1a29, 0xc17: 0x19c9, + 0xc18: 0x19ff, 0xc19: 0x19de, 0xc1a: 0x1a41, 0xc1b: 0x1c78, 0xc1c: 0x1a2c, 0xc1d: 0x19c0, + 0xc1e: 0x1a02, 0xc1f: 0x1c3c, 0xc20: 0x1bf4, 0xc21: 0x1a14, 0xc22: 0x1c24, 0xc23: 0x1c40, + 0xc24: 0x1bf8, 0xc25: 0x1a17, 0xc26: 0x1c28, 0xc27: 0x22e8, 0xc28: 0x22fc, 0xc29: 0x1996, + 0xc2a: 0x1c20, 0xc2b: 0x1bb4, 0xc2c: 0x1ba0, 0xc2d: 0x1c48, 0xc2e: 0x2716, 0xc2f: 0x27ad, + 0xc30: 0x1a59, 0xc31: 0x1a44, 0xc32: 0x1c7c, 0xc33: 0x1a2f, 0xc34: 0x1a50, 0xc35: 0x1a38, + 0xc36: 0x1c68, 0xc37: 0x1a1d, 0xc38: 0x19f6, 0xc39: 0x1981, 0xc3a: 0x1a53, 0xc3b: 0x1a3b, + 0xc3c: 0x1c6c, 0xc3d: 0x1a20, 0xc3e: 0x19f9, 0xc3f: 0x1984, // Block 0x31, offset 0xc40 - 0xc40: 0x1377, 0xc41: 0x0cfb, 0xc42: 0x13d3, 0xc43: 0x139f, 0xc44: 0x0e57, 0xc45: 0x06eb, - 0xc46: 0x08df, 0xc47: 0x162b, 0xc48: 0x162b, 0xc49: 0x0a0b, 0xc4a: 0x145f, 0xc4b: 0x0943, - 0xc4c: 0x0a07, 0xc4d: 0x0bef, 0xc4e: 0x0fcf, 0xc4f: 0x115f, 0xc50: 0x1297, 0xc51: 0x12d3, - 0xc52: 0x1307, 0xc53: 0x141b, 0xc54: 0x0d73, 0xc55: 0x0dff, 0xc56: 0x0eab, 0xc57: 0x0f43, - 0xc58: 0x125f, 0xc59: 0x1447, 0xc5a: 0x1573, 0xc5b: 0x070f, 0xc5c: 0x08b3, 0xc5d: 0x0d87, - 0xc5e: 0x0ecf, 0xc5f: 0x1293, 0xc60: 0x15c3, 0xc61: 0x0ab3, 0xc62: 0x0e77, 0xc63: 0x1283, - 0xc64: 0x1317, 0xc65: 0x0c23, 0xc66: 0x11bb, 0xc67: 0x12df, 0xc68: 0x0b1f, 0xc69: 0x0d0f, - 0xc6a: 0x0e17, 0xc6b: 0x0f1b, 0xc6c: 0x1427, 0xc6d: 0x074f, 0xc6e: 0x07e7, 0xc6f: 0x0853, - 0xc70: 0x0c8b, 0xc71: 0x0d7f, 0xc72: 0x0ecb, 0xc73: 0x0fef, 0xc74: 0x1177, 0xc75: 0x128b, - 0xc76: 0x12a3, 0xc77: 0x13c7, 0xc78: 0x14ef, 0xc79: 0x15a3, 0xc7a: 0x15bf, 0xc7b: 0x102b, - 0xc7c: 0x106b, 0xc7d: 0x1123, 0xc7e: 0x1243, 0xc7f: 0x147b, + 0xc40: 0x1c2c, 0xc41: 0x1bb8, 0xc42: 0x1d4d, 0xc43: 0x1939, 0xc44: 0x19ba, 0xc45: 0x19bd, + 0xc46: 0x22f5, 0xc47: 0x1b94, 0xc48: 0x19c3, 0xc49: 0x194b, 0xc4a: 0x19e1, 0xc4b: 0x194e, + 0xc4c: 0x19ea, 0xc4d: 0x196c, 0xc4e: 0x196f, 0xc4f: 0x1a05, 0xc50: 0x1a0b, 0xc51: 0x1a0e, + 0xc52: 0x1c30, 0xc53: 0x1a11, 0xc54: 0x1a23, 0xc55: 0x1c38, 0xc56: 0x1c44, 0xc57: 0x1990, + 0xc58: 0x1d57, 0xc59: 0x1bbc, 0xc5a: 0x1993, 0xc5b: 0x1a5c, 0xc5c: 0x19a5, 0xc5d: 0x19b4, + 0xc5e: 0x22e2, 0xc5f: 0x22dc, 0xc60: 0x1cc1, 0xc61: 0x1cd0, 0xc62: 0x1cdf, 0xc63: 0x1cee, + 0xc64: 0x1cfd, 0xc65: 0x1d0c, 0xc66: 0x1d1b, 0xc67: 0x1d2a, 0xc68: 0x1d39, 0xc69: 0x2186, + 0xc6a: 0x2198, 0xc6b: 0x21aa, 0xc6c: 0x21bc, 0xc6d: 0x21c8, 0xc6e: 0x21d4, 0xc6f: 0x21e0, + 0xc70: 0x21ec, 0xc71: 0x21f8, 0xc72: 0x2204, 0xc73: 0x2240, 0xc74: 0x224c, 0xc75: 0x2258, + 0xc76: 0x2264, 0xc77: 0x2270, 0xc78: 0x227c, 0xc79: 0x2282, 0xc7a: 0x2288, 0xc7b: 0x228e, + 0xc7c: 0x2294, 0xc7d: 0x22a6, 0xc7e: 0x22ac, 0xc7f: 0x1c10, // Block 0x32, offset 0xc80 - 0xc80: 0x15cb, 0xc81: 0x134b, 0xc82: 0x09c7, 0xc83: 0x0b3b, 0xc84: 0x10db, 0xc85: 0x119b, - 0xc86: 0x0eff, 0xc87: 0x1033, 0xc88: 0x1397, 0xc89: 0x14e7, 0xc8a: 0x09c3, 0xc8b: 0x0a8f, - 0xc8c: 0x0d77, 0xc8d: 0x0e2b, 0xc8e: 0x0e5f, 0xc8f: 0x1113, 0xc90: 0x113b, 0xc91: 0x14a7, - 0xc92: 0x084f, 0xc93: 0x11a7, 0xc94: 0x07f3, 0xc95: 0x07ef, 0xc96: 0x1097, 0xc97: 0x1127, - 0xc98: 0x125b, 0xc99: 0x14af, 0xc9a: 0x1367, 0xc9b: 0x0c27, 0xc9c: 0x0d73, 0xc9d: 0x1357, - 0xc9e: 0x06f7, 0xc9f: 0x0a63, 0xca0: 0x0b93, 0xca1: 0x0f2f, 0xca2: 0x0faf, 0xca3: 0x0873, - 0xca4: 0x103b, 0xca5: 0x075f, 0xca6: 0x0b77, 0xca7: 0x06d7, 0xca8: 0x0deb, 0xca9: 0x0ca3, - 0xcaa: 0x110f, 0xcab: 0x08c7, 0xcac: 0x09b3, 0xcad: 0x0ffb, 0xcae: 0x1263, 0xcaf: 0x133b, - 0xcb0: 0x0db7, 0xcb1: 0x13f7, 0xcb2: 0x0de3, 0xcb3: 0x0c37, 0xcb4: 0x121b, 0xcb5: 0x0c57, - 0xcb6: 0x0fab, 0xcb7: 0x072b, 0xcb8: 0x07a7, 0xcb9: 0x07eb, 0xcba: 0x0d53, 0xcbb: 0x10fb, - 0xcbc: 0x11f3, 0xcbd: 0x1347, 0xcbe: 0x145b, 0xcbf: 0x085b, + 0xc80: 0x1377, 0xc81: 0x0cfb, 0xc82: 0x13d3, 0xc83: 0x139f, 0xc84: 0x0e57, 0xc85: 0x06eb, + 0xc86: 0x08df, 0xc87: 0x162b, 0xc88: 0x162b, 0xc89: 0x0a0b, 0xc8a: 0x145f, 0xc8b: 0x0943, + 0xc8c: 0x0a07, 0xc8d: 0x0bef, 0xc8e: 0x0fcf, 0xc8f: 0x115f, 0xc90: 0x1297, 0xc91: 0x12d3, + 0xc92: 0x1307, 0xc93: 0x141b, 0xc94: 0x0d73, 0xc95: 0x0dff, 0xc96: 0x0eab, 0xc97: 0x0f43, + 0xc98: 0x125f, 0xc99: 0x1447, 0xc9a: 0x1573, 0xc9b: 0x070f, 0xc9c: 0x08b3, 0xc9d: 0x0d87, + 0xc9e: 0x0ecf, 0xc9f: 0x1293, 0xca0: 0x15c3, 0xca1: 0x0ab3, 0xca2: 0x0e77, 0xca3: 0x1283, + 0xca4: 0x1317, 0xca5: 0x0c23, 0xca6: 0x11bb, 0xca7: 0x12df, 0xca8: 0x0b1f, 0xca9: 0x0d0f, + 0xcaa: 0x0e17, 0xcab: 0x0f1b, 0xcac: 0x1427, 0xcad: 0x074f, 0xcae: 0x07e7, 0xcaf: 0x0853, + 0xcb0: 0x0c8b, 0xcb1: 0x0d7f, 0xcb2: 0x0ecb, 0xcb3: 0x0fef, 0xcb4: 0x1177, 0xcb5: 0x128b, + 0xcb6: 0x12a3, 0xcb7: 0x13c7, 0xcb8: 0x14ef, 0xcb9: 0x15a3, 0xcba: 0x15bf, 0xcbb: 0x102b, + 0xcbc: 0x106b, 0xcbd: 0x1123, 0xcbe: 0x1243, 0xcbf: 0x147b, // Block 0x33, offset 0xcc0 - 0xcc0: 0x090f, 0xcc1: 0x0a17, 0xcc2: 0x0b2f, 0xcc3: 0x0cbf, 0xcc4: 0x0e7b, 0xcc5: 0x103f, - 0xcc6: 0x1497, 0xcc7: 0x157b, 0xcc8: 0x15cf, 0xcc9: 0x15e7, 0xcca: 0x0837, 0xccb: 0x0cf3, - 0xccc: 0x0da3, 0xccd: 0x13eb, 0xcce: 0x0afb, 0xccf: 0x0bd7, 0xcd0: 0x0bf3, 0xcd1: 0x0c83, - 0xcd2: 0x0e6b, 0xcd3: 0x0eb7, 0xcd4: 0x0f67, 0xcd5: 0x108b, 0xcd6: 0x112f, 0xcd7: 0x1193, - 0xcd8: 0x13db, 0xcd9: 0x126b, 0xcda: 0x1403, 0xcdb: 0x147f, 0xcdc: 0x080f, 0xcdd: 0x083b, - 0xcde: 0x0923, 0xcdf: 0x0ea7, 0xce0: 0x12f3, 0xce1: 0x133b, 0xce2: 0x0b1b, 0xce3: 0x0b8b, - 0xce4: 0x0c4f, 0xce5: 0x0daf, 0xce6: 0x10d7, 0xce7: 0x0f23, 0xce8: 0x073b, 0xce9: 0x097f, - 0xcea: 0x0a63, 0xceb: 0x0ac7, 0xcec: 0x0b97, 0xced: 0x0f3f, 0xcee: 0x0f5b, 0xcef: 0x116b, - 0xcf0: 0x118b, 0xcf1: 0x1463, 0xcf2: 0x14e3, 0xcf3: 0x14f3, 0xcf4: 0x152f, 0xcf5: 0x0753, - 0xcf6: 0x107f, 0xcf7: 0x144f, 0xcf8: 0x14cb, 0xcf9: 0x0baf, 0xcfa: 0x0717, 0xcfb: 0x0777, - 0xcfc: 0x0a67, 0xcfd: 0x0a87, 0xcfe: 0x0caf, 0xcff: 0x0d73, + 0xcc0: 0x15cb, 0xcc1: 0x134b, 0xcc2: 0x09c7, 0xcc3: 0x0b3b, 0xcc4: 0x10db, 0xcc5: 0x119b, + 0xcc6: 0x0eff, 0xcc7: 0x1033, 0xcc8: 0x1397, 0xcc9: 0x14e7, 0xcca: 0x09c3, 0xccb: 0x0a8f, + 0xccc: 0x0d77, 0xccd: 0x0e2b, 0xcce: 0x0e5f, 0xccf: 0x1113, 0xcd0: 0x113b, 0xcd1: 0x14a7, + 0xcd2: 0x084f, 0xcd3: 0x11a7, 0xcd4: 0x07f3, 0xcd5: 0x07ef, 0xcd6: 0x1097, 0xcd7: 0x1127, + 0xcd8: 0x125b, 0xcd9: 0x14af, 0xcda: 0x1367, 0xcdb: 0x0c27, 0xcdc: 0x0d73, 0xcdd: 0x1357, + 0xcde: 0x06f7, 0xcdf: 0x0a63, 0xce0: 0x0b93, 0xce1: 0x0f2f, 0xce2: 0x0faf, 0xce3: 0x0873, + 0xce4: 0x103b, 0xce5: 0x075f, 0xce6: 0x0b77, 0xce7: 0x06d7, 0xce8: 0x0deb, 0xce9: 0x0ca3, + 0xcea: 0x110f, 0xceb: 0x08c7, 0xcec: 0x09b3, 0xced: 0x0ffb, 0xcee: 0x1263, 0xcef: 0x133b, + 0xcf0: 0x0db7, 0xcf1: 0x13f7, 0xcf2: 0x0de3, 0xcf3: 0x0c37, 0xcf4: 0x121b, 0xcf5: 0x0c57, + 0xcf6: 0x0fab, 0xcf7: 0x072b, 0xcf8: 0x07a7, 0xcf9: 0x07eb, 0xcfa: 0x0d53, 0xcfb: 0x10fb, + 0xcfc: 0x11f3, 0xcfd: 0x1347, 0xcfe: 0x145b, 0xcff: 0x085b, // Block 0x34, offset 0xd00 - 0xd00: 0x0ec3, 0xd01: 0x0fcb, 0xd02: 0x1277, 0xd03: 0x1417, 0xd04: 0x1623, 0xd05: 0x0ce3, - 0xd06: 0x14a3, 0xd07: 0x0833, 0xd08: 0x0d2f, 0xd09: 0x0d3b, 0xd0a: 0x0e0f, 0xd0b: 0x0e47, - 0xd0c: 0x0f4b, 0xd0d: 0x0fa7, 0xd0e: 0x1027, 0xd0f: 0x110b, 0xd10: 0x153b, 0xd11: 0x07af, - 0xd12: 0x0c03, 0xd13: 0x14b3, 0xd14: 0x0767, 0xd15: 0x0aab, 0xd16: 0x0e2f, 0xd17: 0x13df, - 0xd18: 0x0b67, 0xd19: 0x0bb7, 0xd1a: 0x0d43, 0xd1b: 0x0f2f, 0xd1c: 0x14bb, 0xd1d: 0x0817, - 0xd1e: 0x08ff, 0xd1f: 0x0a97, 0xd20: 0x0cd3, 0xd21: 0x0d1f, 0xd22: 0x0d5f, 0xd23: 0x0df3, - 0xd24: 0x0f47, 0xd25: 0x0fbb, 0xd26: 0x1157, 0xd27: 0x12f7, 0xd28: 0x1303, 0xd29: 0x1457, - 0xd2a: 0x14d7, 0xd2b: 0x0883, 0xd2c: 0x0e4b, 0xd2d: 0x0903, 0xd2e: 0x0ec7, 0xd2f: 0x0f6b, - 0xd30: 0x1287, 0xd31: 0x14bf, 0xd32: 0x15ab, 0xd33: 0x15d3, 0xd34: 0x0d37, 0xd35: 0x0e27, - 0xd36: 0x11c3, 0xd37: 0x10b7, 0xd38: 0x10c3, 0xd39: 0x10e7, 0xd3a: 0x0f17, 0xd3b: 0x0e9f, - 0xd3c: 0x1363, 0xd3d: 0x0733, 0xd3e: 0x122b, 0xd3f: 0x081b, + 0xd00: 0x090f, 0xd01: 0x0a17, 0xd02: 0x0b2f, 0xd03: 0x0cbf, 0xd04: 0x0e7b, 0xd05: 0x103f, + 0xd06: 0x1497, 0xd07: 0x157b, 0xd08: 0x15cf, 0xd09: 0x15e7, 0xd0a: 0x0837, 0xd0b: 0x0cf3, + 0xd0c: 0x0da3, 0xd0d: 0x13eb, 0xd0e: 0x0afb, 0xd0f: 0x0bd7, 0xd10: 0x0bf3, 0xd11: 0x0c83, + 0xd12: 0x0e6b, 0xd13: 0x0eb7, 0xd14: 0x0f67, 0xd15: 0x108b, 0xd16: 0x112f, 0xd17: 0x1193, + 0xd18: 0x13db, 0xd19: 0x126b, 0xd1a: 0x1403, 0xd1b: 0x147f, 0xd1c: 0x080f, 0xd1d: 0x083b, + 0xd1e: 0x0923, 0xd1f: 0x0ea7, 0xd20: 0x12f3, 0xd21: 0x133b, 0xd22: 0x0b1b, 0xd23: 0x0b8b, + 0xd24: 0x0c4f, 0xd25: 0x0daf, 0xd26: 0x10d7, 0xd27: 0x0f23, 0xd28: 0x073b, 0xd29: 0x097f, + 0xd2a: 0x0a63, 0xd2b: 0x0ac7, 0xd2c: 0x0b97, 0xd2d: 0x0f3f, 0xd2e: 0x0f5b, 0xd2f: 0x116b, + 0xd30: 0x118b, 0xd31: 0x1463, 0xd32: 0x14e3, 0xd33: 0x14f3, 0xd34: 0x152f, 0xd35: 0x0753, + 0xd36: 0x107f, 0xd37: 0x144f, 0xd38: 0x14cb, 0xd39: 0x0baf, 0xd3a: 0x0717, 0xd3b: 0x0777, + 0xd3c: 0x0a67, 0xd3d: 0x0a87, 0xd3e: 0x0caf, 0xd3f: 0x0d73, // Block 0x35, offset 0xd40 - 0xd40: 0x080b, 0xd41: 0x0b0b, 0xd42: 0x0c2b, 0xd43: 0x10f3, 0xd44: 0x0a53, 0xd45: 0x0e03, - 0xd46: 0x0cef, 0xd47: 0x13e7, 0xd48: 0x12e7, 0xd49: 0x14ab, 0xd4a: 0x1323, 0xd4b: 0x0b27, - 0xd4c: 0x0787, 0xd4d: 0x095b, 0xd50: 0x09af, - 0xd52: 0x0cdf, 0xd55: 0x07f7, 0xd56: 0x0f1f, 0xd57: 0x0fe3, - 0xd58: 0x1047, 0xd59: 0x1063, 0xd5a: 0x1067, 0xd5b: 0x107b, 0xd5c: 0x14fb, 0xd5d: 0x10eb, - 0xd5e: 0x116f, 0xd60: 0x128f, 0xd62: 0x1353, - 0xd65: 0x1407, 0xd66: 0x1433, - 0xd6a: 0x154f, 0xd6b: 0x1553, 0xd6c: 0x1557, 0xd6d: 0x15bb, 0xd6e: 0x142b, 0xd6f: 0x14c7, - 0xd70: 0x0757, 0xd71: 0x077b, 0xd72: 0x078f, 0xd73: 0x084b, 0xd74: 0x0857, 0xd75: 0x0897, - 0xd76: 0x094b, 0xd77: 0x0967, 0xd78: 0x096f, 0xd79: 0x09ab, 0xd7a: 0x09b7, 0xd7b: 0x0a93, - 0xd7c: 0x0a9b, 0xd7d: 0x0ba3, 0xd7e: 0x0bcb, 0xd7f: 0x0bd3, + 0xd40: 0x0ec3, 0xd41: 0x0fcb, 0xd42: 0x1277, 0xd43: 0x1417, 0xd44: 0x1623, 0xd45: 0x0ce3, + 0xd46: 0x14a3, 0xd47: 0x0833, 0xd48: 0x0d2f, 0xd49: 0x0d3b, 0xd4a: 0x0e0f, 0xd4b: 0x0e47, + 0xd4c: 0x0f4b, 0xd4d: 0x0fa7, 0xd4e: 0x1027, 0xd4f: 0x110b, 0xd50: 0x153b, 0xd51: 0x07af, + 0xd52: 0x0c03, 0xd53: 0x14b3, 0xd54: 0x0767, 0xd55: 0x0aab, 0xd56: 0x0e2f, 0xd57: 0x13df, + 0xd58: 0x0b67, 0xd59: 0x0bb7, 0xd5a: 0x0d43, 0xd5b: 0x0f2f, 0xd5c: 0x14bb, 0xd5d: 0x0817, + 0xd5e: 0x08ff, 0xd5f: 0x0a97, 0xd60: 0x0cd3, 0xd61: 0x0d1f, 0xd62: 0x0d5f, 0xd63: 0x0df3, + 0xd64: 0x0f47, 0xd65: 0x0fbb, 0xd66: 0x1157, 0xd67: 0x12f7, 0xd68: 0x1303, 0xd69: 0x1457, + 0xd6a: 0x14d7, 0xd6b: 0x0883, 0xd6c: 0x0e4b, 0xd6d: 0x0903, 0xd6e: 0x0ec7, 0xd6f: 0x0f6b, + 0xd70: 0x1287, 0xd71: 0x14bf, 0xd72: 0x15ab, 0xd73: 0x15d3, 0xd74: 0x0d37, 0xd75: 0x0e27, + 0xd76: 0x11c3, 0xd77: 0x10b7, 0xd78: 0x10c3, 0xd79: 0x10e7, 0xd7a: 0x0f17, 0xd7b: 0x0e9f, + 0xd7c: 0x1363, 0xd7d: 0x0733, 0xd7e: 0x122b, 0xd7f: 0x081b, // Block 0x36, offset 0xd80 - 0xd80: 0x0beb, 0xd81: 0x0c97, 0xd82: 0x0cc7, 0xd83: 0x0ce7, 0xd84: 0x0d57, 0xd85: 0x0e1b, - 0xd86: 0x0e37, 0xd87: 0x0e67, 0xd88: 0x0ebb, 0xd89: 0x0edb, 0xd8a: 0x0f4f, 0xd8b: 0x102f, - 0xd8c: 0x104b, 0xd8d: 0x1053, 0xd8e: 0x104f, 0xd8f: 0x1057, 0xd90: 0x105b, 0xd91: 0x105f, - 0xd92: 0x1073, 0xd93: 0x1077, 0xd94: 0x109b, 0xd95: 0x10af, 0xd96: 0x10cb, 0xd97: 0x112f, - 0xd98: 0x1137, 0xd99: 0x113f, 0xd9a: 0x1153, 0xd9b: 0x117b, 0xd9c: 0x11cb, 0xd9d: 0x11ff, - 0xd9e: 0x11ff, 0xd9f: 0x1267, 0xda0: 0x130f, 0xda1: 0x1327, 0xda2: 0x135b, 0xda3: 0x135f, - 0xda4: 0x13a3, 0xda5: 0x13a7, 0xda6: 0x13ff, 0xda7: 0x1407, 0xda8: 0x14db, 0xda9: 0x151f, - 0xdaa: 0x1537, 0xdab: 0x0b9b, 0xdac: 0x171e, 0xdad: 0x11e3, - 0xdb0: 0x06df, 0xdb1: 0x07e3, 0xdb2: 0x07a3, 0xdb3: 0x074b, 0xdb4: 0x078b, 0xdb5: 0x07b7, - 0xdb6: 0x0847, 0xdb7: 0x0863, 0xdb8: 0x094b, 0xdb9: 0x0937, 0xdba: 0x0947, 0xdbb: 0x0963, - 0xdbc: 0x09af, 0xdbd: 0x09bf, 0xdbe: 0x0a03, 0xdbf: 0x0a0f, + 0xd80: 0x080b, 0xd81: 0x0b0b, 0xd82: 0x0c2b, 0xd83: 0x10f3, 0xd84: 0x0a53, 0xd85: 0x0e03, + 0xd86: 0x0cef, 0xd87: 0x13e7, 0xd88: 0x12e7, 0xd89: 0x14ab, 0xd8a: 0x1323, 0xd8b: 0x0b27, + 0xd8c: 0x0787, 0xd8d: 0x095b, 0xd90: 0x09af, + 0xd92: 0x0cdf, 0xd95: 0x07f7, 0xd96: 0x0f1f, 0xd97: 0x0fe3, + 0xd98: 0x1047, 0xd99: 0x1063, 0xd9a: 0x1067, 0xd9b: 0x107b, 0xd9c: 0x14fb, 0xd9d: 0x10eb, + 0xd9e: 0x116f, 0xda0: 0x128f, 0xda2: 0x1353, + 0xda5: 0x1407, 0xda6: 0x1433, + 0xdaa: 0x154f, 0xdab: 0x1553, 0xdac: 0x1557, 0xdad: 0x15bb, 0xdae: 0x142b, 0xdaf: 0x14c7, + 0xdb0: 0x0757, 0xdb1: 0x077b, 0xdb2: 0x078f, 0xdb3: 0x084b, 0xdb4: 0x0857, 0xdb5: 0x0897, + 0xdb6: 0x094b, 0xdb7: 0x0967, 0xdb8: 0x096f, 0xdb9: 0x09ab, 0xdba: 0x09b7, 0xdbb: 0x0a93, + 0xdbc: 0x0a9b, 0xdbd: 0x0ba3, 0xdbe: 0x0bcb, 0xdbf: 0x0bd3, // Block 0x37, offset 0xdc0 - 0xdc0: 0x0a2b, 0xdc1: 0x0a3b, 0xdc2: 0x0b23, 0xdc3: 0x0b2b, 0xdc4: 0x0b5b, 0xdc5: 0x0b7b, - 0xdc6: 0x0bab, 0xdc7: 0x0bc3, 0xdc8: 0x0bb3, 0xdc9: 0x0bd3, 0xdca: 0x0bc7, 0xdcb: 0x0beb, - 0xdcc: 0x0c07, 0xdcd: 0x0c5f, 0xdce: 0x0c6b, 0xdcf: 0x0c73, 0xdd0: 0x0c9b, 0xdd1: 0x0cdf, - 0xdd2: 0x0d0f, 0xdd3: 0x0d13, 0xdd4: 0x0d27, 0xdd5: 0x0da7, 0xdd6: 0x0db7, 0xdd7: 0x0e0f, - 0xdd8: 0x0e5b, 0xdd9: 0x0e53, 0xdda: 0x0e67, 0xddb: 0x0e83, 0xddc: 0x0ebb, 0xddd: 0x1013, - 0xdde: 0x0edf, 0xddf: 0x0f13, 0xde0: 0x0f1f, 0xde1: 0x0f5f, 0xde2: 0x0f7b, 0xde3: 0x0f9f, - 0xde4: 0x0fc3, 0xde5: 0x0fc7, 0xde6: 0x0fe3, 0xde7: 0x0fe7, 0xde8: 0x0ff7, 0xde9: 0x100b, - 0xdea: 0x1007, 0xdeb: 0x1037, 0xdec: 0x10b3, 0xded: 0x10cb, 0xdee: 0x10e3, 0xdef: 0x111b, - 0xdf0: 0x112f, 0xdf1: 0x114b, 0xdf2: 0x117b, 0xdf3: 0x122f, 0xdf4: 0x1257, 0xdf5: 0x12cb, - 0xdf6: 0x1313, 0xdf7: 0x131f, 0xdf8: 0x1327, 0xdf9: 0x133f, 0xdfa: 0x1353, 0xdfb: 0x1343, - 0xdfc: 0x135b, 0xdfd: 0x1357, 0xdfe: 0x134f, 0xdff: 0x135f, + 0xdc0: 0x0beb, 0xdc1: 0x0c97, 0xdc2: 0x0cc7, 0xdc3: 0x0ce7, 0xdc4: 0x0d57, 0xdc5: 0x0e1b, + 0xdc6: 0x0e37, 0xdc7: 0x0e67, 0xdc8: 0x0ebb, 0xdc9: 0x0edb, 0xdca: 0x0f4f, 0xdcb: 0x102f, + 0xdcc: 0x104b, 0xdcd: 0x1053, 0xdce: 0x104f, 0xdcf: 0x1057, 0xdd0: 0x105b, 0xdd1: 0x105f, + 0xdd2: 0x1073, 0xdd3: 0x1077, 0xdd4: 0x109b, 0xdd5: 0x10af, 0xdd6: 0x10cb, 0xdd7: 0x112f, + 0xdd8: 0x1137, 0xdd9: 0x113f, 0xdda: 0x1153, 0xddb: 0x117b, 0xddc: 0x11cb, 0xddd: 0x11ff, + 0xdde: 0x11ff, 0xddf: 0x1267, 0xde0: 0x130f, 0xde1: 0x1327, 0xde2: 0x135b, 0xde3: 0x135f, + 0xde4: 0x13a3, 0xde5: 0x13a7, 0xde6: 0x13ff, 0xde7: 0x1407, 0xde8: 0x14db, 0xde9: 0x151f, + 0xdea: 0x1537, 0xdeb: 0x0b9b, 0xdec: 0x171e, 0xded: 0x11e3, + 0xdf0: 0x06df, 0xdf1: 0x07e3, 0xdf2: 0x07a3, 0xdf3: 0x074b, 0xdf4: 0x078b, 0xdf5: 0x07b7, + 0xdf6: 0x0847, 0xdf7: 0x0863, 0xdf8: 0x094b, 0xdf9: 0x0937, 0xdfa: 0x0947, 0xdfb: 0x0963, + 0xdfc: 0x09af, 0xdfd: 0x09bf, 0xdfe: 0x0a03, 0xdff: 0x0a0f, // Block 0x38, offset 0xe00 - 0xe00: 0x136b, 0xe01: 0x13a7, 0xe02: 0x13e3, 0xe03: 0x1413, 0xe04: 0x144b, 0xe05: 0x146b, - 0xe06: 0x14b7, 0xe07: 0x14db, 0xe08: 0x14fb, 0xe09: 0x150f, 0xe0a: 0x151f, 0xe0b: 0x152b, - 0xe0c: 0x1537, 0xe0d: 0x158b, 0xe0e: 0x162b, 0xe0f: 0x16b5, 0xe10: 0x16b0, 0xe11: 0x16e2, - 0xe12: 0x0607, 0xe13: 0x062f, 0xe14: 0x0633, 0xe15: 0x1764, 0xe16: 0x1791, 0xe17: 0x1809, - 0xe18: 0x1617, 0xe19: 0x1627, + 0xe00: 0x0a2b, 0xe01: 0x0a3b, 0xe02: 0x0b23, 0xe03: 0x0b2b, 0xe04: 0x0b5b, 0xe05: 0x0b7b, + 0xe06: 0x0bab, 0xe07: 0x0bc3, 0xe08: 0x0bb3, 0xe09: 0x0bd3, 0xe0a: 0x0bc7, 0xe0b: 0x0beb, + 0xe0c: 0x0c07, 0xe0d: 0x0c5f, 0xe0e: 0x0c6b, 0xe0f: 0x0c73, 0xe10: 0x0c9b, 0xe11: 0x0cdf, + 0xe12: 0x0d0f, 0xe13: 0x0d13, 0xe14: 0x0d27, 0xe15: 0x0da7, 0xe16: 0x0db7, 0xe17: 0x0e0f, + 0xe18: 0x0e5b, 0xe19: 0x0e53, 0xe1a: 0x0e67, 0xe1b: 0x0e83, 0xe1c: 0x0ebb, 0xe1d: 0x1013, + 0xe1e: 0x0edf, 0xe1f: 0x0f13, 0xe20: 0x0f1f, 0xe21: 0x0f5f, 0xe22: 0x0f7b, 0xe23: 0x0f9f, + 0xe24: 0x0fc3, 0xe25: 0x0fc7, 0xe26: 0x0fe3, 0xe27: 0x0fe7, 0xe28: 0x0ff7, 0xe29: 0x100b, + 0xe2a: 0x1007, 0xe2b: 0x1037, 0xe2c: 0x10b3, 0xe2d: 0x10cb, 0xe2e: 0x10e3, 0xe2f: 0x111b, + 0xe30: 0x112f, 0xe31: 0x114b, 0xe32: 0x117b, 0xe33: 0x122f, 0xe34: 0x1257, 0xe35: 0x12cb, + 0xe36: 0x1313, 0xe37: 0x131f, 0xe38: 0x1327, 0xe39: 0x133f, 0xe3a: 0x1353, 0xe3b: 0x1343, + 0xe3c: 0x135b, 0xe3d: 0x1357, 0xe3e: 0x134f, 0xe3f: 0x135f, // Block 0x39, offset 0xe40 - 0xe40: 0x19d5, 0xe41: 0x19d8, 0xe42: 0x19db, 0xe43: 0x1c08, 0xe44: 0x1c0c, 0xe45: 0x1a5f, - 0xe46: 0x1a5f, - 0xe53: 0x1d75, 0xe54: 0x1d66, 0xe55: 0x1d6b, 0xe56: 0x1d7a, 0xe57: 0x1d70, - 0xe5d: 0x4390, - 0xe5e: 0x8115, 0xe5f: 0x4402, 0xe60: 0x022d, 0xe61: 0x0215, 0xe62: 0x021e, 0xe63: 0x0221, - 0xe64: 0x0224, 0xe65: 0x0227, 0xe66: 0x022a, 0xe67: 0x0230, 0xe68: 0x0233, 0xe69: 0x0017, - 0xe6a: 0x43f0, 0xe6b: 0x43f6, 0xe6c: 0x44f4, 0xe6d: 0x44fc, 0xe6e: 0x4348, 0xe6f: 0x434e, - 0xe70: 0x4354, 0xe71: 0x435a, 0xe72: 0x4366, 0xe73: 0x436c, 0xe74: 0x4372, 0xe75: 0x437e, - 0xe76: 0x4384, 0xe78: 0x438a, 0xe79: 0x4396, 0xe7a: 0x439c, 0xe7b: 0x43a2, - 0xe7c: 0x43ae, 0xe7e: 0x43b4, + 0xe40: 0x136b, 0xe41: 0x13a7, 0xe42: 0x13e3, 0xe43: 0x1413, 0xe44: 0x144b, 0xe45: 0x146b, + 0xe46: 0x14b7, 0xe47: 0x14db, 0xe48: 0x14fb, 0xe49: 0x150f, 0xe4a: 0x151f, 0xe4b: 0x152b, + 0xe4c: 0x1537, 0xe4d: 0x158b, 0xe4e: 0x162b, 0xe4f: 0x16b5, 0xe50: 0x16b0, 0xe51: 0x16e2, + 0xe52: 0x0607, 0xe53: 0x062f, 0xe54: 0x0633, 0xe55: 0x1764, 0xe56: 0x1791, 0xe57: 0x1809, + 0xe58: 0x1617, 0xe59: 0x1627, // Block 0x3a, offset 0xe80 - 0xe80: 0x43ba, 0xe81: 0x43c0, 0xe83: 0x43c6, 0xe84: 0x43cc, - 0xe86: 0x43d8, 0xe87: 0x43de, 0xe88: 0x43e4, 0xe89: 0x43ea, 0xe8a: 0x43fc, 0xe8b: 0x4378, - 0xe8c: 0x4360, 0xe8d: 0x43a8, 0xe8e: 0x43d2, 0xe8f: 0x1d7f, 0xe90: 0x0299, 0xe91: 0x0299, - 0xe92: 0x02a2, 0xe93: 0x02a2, 0xe94: 0x02a2, 0xe95: 0x02a2, 0xe96: 0x02a5, 0xe97: 0x02a5, - 0xe98: 0x02a5, 0xe99: 0x02a5, 0xe9a: 0x02ab, 0xe9b: 0x02ab, 0xe9c: 0x02ab, 0xe9d: 0x02ab, - 0xe9e: 0x029f, 0xe9f: 0x029f, 0xea0: 0x029f, 0xea1: 0x029f, 0xea2: 0x02a8, 0xea3: 0x02a8, - 0xea4: 0x02a8, 0xea5: 0x02a8, 0xea6: 0x029c, 0xea7: 0x029c, 0xea8: 0x029c, 0xea9: 0x029c, - 0xeaa: 0x02cf, 0xeab: 0x02cf, 0xeac: 0x02cf, 0xead: 0x02cf, 0xeae: 0x02d2, 0xeaf: 0x02d2, - 0xeb0: 0x02d2, 0xeb1: 0x02d2, 0xeb2: 0x02b1, 0xeb3: 0x02b1, 0xeb4: 0x02b1, 0xeb5: 0x02b1, - 0xeb6: 0x02ae, 0xeb7: 0x02ae, 0xeb8: 0x02ae, 0xeb9: 0x02ae, 0xeba: 0x02b4, 0xebb: 0x02b4, - 0xebc: 0x02b4, 0xebd: 0x02b4, 0xebe: 0x02b7, 0xebf: 0x02b7, + 0xe80: 0x19d5, 0xe81: 0x19d8, 0xe82: 0x19db, 0xe83: 0x1c08, 0xe84: 0x1c0c, 0xe85: 0x1a5f, + 0xe86: 0x1a5f, + 0xe93: 0x1d75, 0xe94: 0x1d66, 0xe95: 0x1d6b, 0xe96: 0x1d7a, 0xe97: 0x1d70, + 0xe9d: 0x4390, + 0xe9e: 0x8115, 0xe9f: 0x4402, 0xea0: 0x022d, 0xea1: 0x0215, 0xea2: 0x021e, 0xea3: 0x0221, + 0xea4: 0x0224, 0xea5: 0x0227, 0xea6: 0x022a, 0xea7: 0x0230, 0xea8: 0x0233, 0xea9: 0x0017, + 0xeaa: 0x43f0, 0xeab: 0x43f6, 0xeac: 0x44f4, 0xead: 0x44fc, 0xeae: 0x4348, 0xeaf: 0x434e, + 0xeb0: 0x4354, 0xeb1: 0x435a, 0xeb2: 0x4366, 0xeb3: 0x436c, 0xeb4: 0x4372, 0xeb5: 0x437e, + 0xeb6: 0x4384, 0xeb8: 0x438a, 0xeb9: 0x4396, 0xeba: 0x439c, 0xebb: 0x43a2, + 0xebc: 0x43ae, 0xebe: 0x43b4, // Block 0x3b, offset 0xec0 - 0xec0: 0x02b7, 0xec1: 0x02b7, 0xec2: 0x02c0, 0xec3: 0x02c0, 0xec4: 0x02bd, 0xec5: 0x02bd, - 0xec6: 0x02c3, 0xec7: 0x02c3, 0xec8: 0x02ba, 0xec9: 0x02ba, 0xeca: 0x02c9, 0xecb: 0x02c9, - 0xecc: 0x02c6, 0xecd: 0x02c6, 0xece: 0x02d5, 0xecf: 0x02d5, 0xed0: 0x02d5, 0xed1: 0x02d5, - 0xed2: 0x02db, 0xed3: 0x02db, 0xed4: 0x02db, 0xed5: 0x02db, 0xed6: 0x02e1, 0xed7: 0x02e1, - 0xed8: 0x02e1, 0xed9: 0x02e1, 0xeda: 0x02de, 0xedb: 0x02de, 0xedc: 0x02de, 0xedd: 0x02de, - 0xede: 0x02e4, 0xedf: 0x02e4, 0xee0: 0x02e7, 0xee1: 0x02e7, 0xee2: 0x02e7, 0xee3: 0x02e7, - 0xee4: 0x446e, 0xee5: 0x446e, 0xee6: 0x02ed, 0xee7: 0x02ed, 0xee8: 0x02ed, 0xee9: 0x02ed, - 0xeea: 0x02ea, 0xeeb: 0x02ea, 0xeec: 0x02ea, 0xeed: 0x02ea, 0xeee: 0x0308, 0xeef: 0x0308, - 0xef0: 0x4468, 0xef1: 0x4468, + 0xec0: 0x43ba, 0xec1: 0x43c0, 0xec3: 0x43c6, 0xec4: 0x43cc, + 0xec6: 0x43d8, 0xec7: 0x43de, 0xec8: 0x43e4, 0xec9: 0x43ea, 0xeca: 0x43fc, 0xecb: 0x4378, + 0xecc: 0x4360, 0xecd: 0x43a8, 0xece: 0x43d2, 0xecf: 0x1d7f, 0xed0: 0x0299, 0xed1: 0x0299, + 0xed2: 0x02a2, 0xed3: 0x02a2, 0xed4: 0x02a2, 0xed5: 0x02a2, 0xed6: 0x02a5, 0xed7: 0x02a5, + 0xed8: 0x02a5, 0xed9: 0x02a5, 0xeda: 0x02ab, 0xedb: 0x02ab, 0xedc: 0x02ab, 0xedd: 0x02ab, + 0xede: 0x029f, 0xedf: 0x029f, 0xee0: 0x029f, 0xee1: 0x029f, 0xee2: 0x02a8, 0xee3: 0x02a8, + 0xee4: 0x02a8, 0xee5: 0x02a8, 0xee6: 0x029c, 0xee7: 0x029c, 0xee8: 0x029c, 0xee9: 0x029c, + 0xeea: 0x02cf, 0xeeb: 0x02cf, 0xeec: 0x02cf, 0xeed: 0x02cf, 0xeee: 0x02d2, 0xeef: 0x02d2, + 0xef0: 0x02d2, 0xef1: 0x02d2, 0xef2: 0x02b1, 0xef3: 0x02b1, 0xef4: 0x02b1, 0xef5: 0x02b1, + 0xef6: 0x02ae, 0xef7: 0x02ae, 0xef8: 0x02ae, 0xef9: 0x02ae, 0xefa: 0x02b4, 0xefb: 0x02b4, + 0xefc: 0x02b4, 0xefd: 0x02b4, 0xefe: 0x02b7, 0xeff: 0x02b7, // Block 0x3c, offset 0xf00 - 0xf13: 0x02d8, 0xf14: 0x02d8, 0xf15: 0x02d8, 0xf16: 0x02d8, 0xf17: 0x02f6, - 0xf18: 0x02f6, 0xf19: 0x02f3, 0xf1a: 0x02f3, 0xf1b: 0x02f9, 0xf1c: 0x02f9, 0xf1d: 0x204f, - 0xf1e: 0x02ff, 0xf1f: 0x02ff, 0xf20: 0x02f0, 0xf21: 0x02f0, 0xf22: 0x02fc, 0xf23: 0x02fc, - 0xf24: 0x0305, 0xf25: 0x0305, 0xf26: 0x0305, 0xf27: 0x0305, 0xf28: 0x028d, 0xf29: 0x028d, - 0xf2a: 0x25aa, 0xf2b: 0x25aa, 0xf2c: 0x261a, 0xf2d: 0x261a, 0xf2e: 0x25e9, 0xf2f: 0x25e9, - 0xf30: 0x2605, 0xf31: 0x2605, 0xf32: 0x25fe, 0xf33: 0x25fe, 0xf34: 0x260c, 0xf35: 0x260c, - 0xf36: 0x2613, 0xf37: 0x2613, 0xf38: 0x2613, 0xf39: 0x25f0, 0xf3a: 0x25f0, 0xf3b: 0x25f0, - 0xf3c: 0x0302, 0xf3d: 0x0302, 0xf3e: 0x0302, 0xf3f: 0x0302, + 0xf00: 0x02b7, 0xf01: 0x02b7, 0xf02: 0x02c0, 0xf03: 0x02c0, 0xf04: 0x02bd, 0xf05: 0x02bd, + 0xf06: 0x02c3, 0xf07: 0x02c3, 0xf08: 0x02ba, 0xf09: 0x02ba, 0xf0a: 0x02c9, 0xf0b: 0x02c9, + 0xf0c: 0x02c6, 0xf0d: 0x02c6, 0xf0e: 0x02d5, 0xf0f: 0x02d5, 0xf10: 0x02d5, 0xf11: 0x02d5, + 0xf12: 0x02db, 0xf13: 0x02db, 0xf14: 0x02db, 0xf15: 0x02db, 0xf16: 0x02e1, 0xf17: 0x02e1, + 0xf18: 0x02e1, 0xf19: 0x02e1, 0xf1a: 0x02de, 0xf1b: 0x02de, 0xf1c: 0x02de, 0xf1d: 0x02de, + 0xf1e: 0x02e4, 0xf1f: 0x02e4, 0xf20: 0x02e7, 0xf21: 0x02e7, 0xf22: 0x02e7, 0xf23: 0x02e7, + 0xf24: 0x446e, 0xf25: 0x446e, 0xf26: 0x02ed, 0xf27: 0x02ed, 0xf28: 0x02ed, 0xf29: 0x02ed, + 0xf2a: 0x02ea, 0xf2b: 0x02ea, 0xf2c: 0x02ea, 0xf2d: 0x02ea, 0xf2e: 0x0308, 0xf2f: 0x0308, + 0xf30: 0x4468, 0xf31: 0x4468, // Block 0x3d, offset 0xf40 - 0xf40: 0x25b1, 0xf41: 0x25b8, 0xf42: 0x25d4, 0xf43: 0x25f0, 0xf44: 0x25f7, 0xf45: 0x1d89, - 0xf46: 0x1d8e, 0xf47: 0x1d93, 0xf48: 0x1da2, 0xf49: 0x1db1, 0xf4a: 0x1db6, 0xf4b: 0x1dbb, - 0xf4c: 0x1dc0, 0xf4d: 0x1dc5, 0xf4e: 0x1dd4, 0xf4f: 0x1de3, 0xf50: 0x1de8, 0xf51: 0x1ded, - 0xf52: 0x1dfc, 0xf53: 0x1e0b, 0xf54: 0x1e10, 0xf55: 0x1e15, 0xf56: 0x1e1a, 0xf57: 0x1e29, - 0xf58: 0x1e2e, 0xf59: 0x1e3d, 0xf5a: 0x1e42, 0xf5b: 0x1e47, 0xf5c: 0x1e56, 0xf5d: 0x1e5b, - 0xf5e: 0x1e60, 0xf5f: 0x1e6a, 0xf60: 0x1ea6, 0xf61: 0x1eb5, 0xf62: 0x1ec4, 0xf63: 0x1ec9, - 0xf64: 0x1ece, 0xf65: 0x1ed8, 0xf66: 0x1ee7, 0xf67: 0x1eec, 0xf68: 0x1efb, 0xf69: 0x1f00, - 0xf6a: 0x1f05, 0xf6b: 0x1f14, 0xf6c: 0x1f19, 0xf6d: 0x1f28, 0xf6e: 0x1f2d, 0xf6f: 0x1f32, - 0xf70: 0x1f37, 0xf71: 0x1f3c, 0xf72: 0x1f41, 0xf73: 0x1f46, 0xf74: 0x1f4b, 0xf75: 0x1f50, - 0xf76: 0x1f55, 0xf77: 0x1f5a, 0xf78: 0x1f5f, 0xf79: 0x1f64, 0xf7a: 0x1f69, 0xf7b: 0x1f6e, - 0xf7c: 0x1f73, 0xf7d: 0x1f78, 0xf7e: 0x1f7d, 0xf7f: 0x1f87, + 0xf53: 0x02d8, 0xf54: 0x02d8, 0xf55: 0x02d8, 0xf56: 0x02d8, 0xf57: 0x02f6, + 0xf58: 0x02f6, 0xf59: 0x02f3, 0xf5a: 0x02f3, 0xf5b: 0x02f9, 0xf5c: 0x02f9, 0xf5d: 0x204f, + 0xf5e: 0x02ff, 0xf5f: 0x02ff, 0xf60: 0x02f0, 0xf61: 0x02f0, 0xf62: 0x02fc, 0xf63: 0x02fc, + 0xf64: 0x0305, 0xf65: 0x0305, 0xf66: 0x0305, 0xf67: 0x0305, 0xf68: 0x028d, 0xf69: 0x028d, + 0xf6a: 0x25aa, 0xf6b: 0x25aa, 0xf6c: 0x261a, 0xf6d: 0x261a, 0xf6e: 0x25e9, 0xf6f: 0x25e9, + 0xf70: 0x2605, 0xf71: 0x2605, 0xf72: 0x25fe, 0xf73: 0x25fe, 0xf74: 0x260c, 0xf75: 0x260c, + 0xf76: 0x2613, 0xf77: 0x2613, 0xf78: 0x2613, 0xf79: 0x25f0, 0xf7a: 0x25f0, 0xf7b: 0x25f0, + 0xf7c: 0x0302, 0xf7d: 0x0302, 0xf7e: 0x0302, 0xf7f: 0x0302, // Block 0x3e, offset 0xf80 - 0xf80: 0x1f8c, 0xf81: 0x1f91, 0xf82: 0x1f96, 0xf83: 0x1fa0, 0xf84: 0x1fa5, 0xf85: 0x1faf, - 0xf86: 0x1fb4, 0xf87: 0x1fb9, 0xf88: 0x1fbe, 0xf89: 0x1fc3, 0xf8a: 0x1fc8, 0xf8b: 0x1fcd, - 0xf8c: 0x1fd2, 0xf8d: 0x1fd7, 0xf8e: 0x1fe6, 0xf8f: 0x1ff5, 0xf90: 0x1ffa, 0xf91: 0x1fff, - 0xf92: 0x2004, 0xf93: 0x2009, 0xf94: 0x200e, 0xf95: 0x2018, 0xf96: 0x201d, 0xf97: 0x2022, - 0xf98: 0x2031, 0xf99: 0x2040, 0xf9a: 0x2045, 0xf9b: 0x4420, 0xf9c: 0x4426, 0xf9d: 0x445c, - 0xf9e: 0x44b3, 0xf9f: 0x44ba, 0xfa0: 0x44c1, 0xfa1: 0x44c8, 0xfa2: 0x44cf, 0xfa3: 0x44d6, - 0xfa4: 0x25c6, 0xfa5: 0x25cd, 0xfa6: 0x25d4, 0xfa7: 0x25db, 0xfa8: 0x25f0, 0xfa9: 0x25f7, - 0xfaa: 0x1d98, 0xfab: 0x1d9d, 0xfac: 0x1da2, 0xfad: 0x1da7, 0xfae: 0x1db1, 0xfaf: 0x1db6, - 0xfb0: 0x1dca, 0xfb1: 0x1dcf, 0xfb2: 0x1dd4, 0xfb3: 0x1dd9, 0xfb4: 0x1de3, 0xfb5: 0x1de8, - 0xfb6: 0x1df2, 0xfb7: 0x1df7, 0xfb8: 0x1dfc, 0xfb9: 0x1e01, 0xfba: 0x1e0b, 0xfbb: 0x1e10, - 0xfbc: 0x1f3c, 0xfbd: 0x1f41, 0xfbe: 0x1f50, 0xfbf: 0x1f55, + 0xf80: 0x25b1, 0xf81: 0x25b8, 0xf82: 0x25d4, 0xf83: 0x25f0, 0xf84: 0x25f7, 0xf85: 0x1d89, + 0xf86: 0x1d8e, 0xf87: 0x1d93, 0xf88: 0x1da2, 0xf89: 0x1db1, 0xf8a: 0x1db6, 0xf8b: 0x1dbb, + 0xf8c: 0x1dc0, 0xf8d: 0x1dc5, 0xf8e: 0x1dd4, 0xf8f: 0x1de3, 0xf90: 0x1de8, 0xf91: 0x1ded, + 0xf92: 0x1dfc, 0xf93: 0x1e0b, 0xf94: 0x1e10, 0xf95: 0x1e15, 0xf96: 0x1e1a, 0xf97: 0x1e29, + 0xf98: 0x1e2e, 0xf99: 0x1e3d, 0xf9a: 0x1e42, 0xf9b: 0x1e47, 0xf9c: 0x1e56, 0xf9d: 0x1e5b, + 0xf9e: 0x1e60, 0xf9f: 0x1e6a, 0xfa0: 0x1ea6, 0xfa1: 0x1eb5, 0xfa2: 0x1ec4, 0xfa3: 0x1ec9, + 0xfa4: 0x1ece, 0xfa5: 0x1ed8, 0xfa6: 0x1ee7, 0xfa7: 0x1eec, 0xfa8: 0x1efb, 0xfa9: 0x1f00, + 0xfaa: 0x1f05, 0xfab: 0x1f14, 0xfac: 0x1f19, 0xfad: 0x1f28, 0xfae: 0x1f2d, 0xfaf: 0x1f32, + 0xfb0: 0x1f37, 0xfb1: 0x1f3c, 0xfb2: 0x1f41, 0xfb3: 0x1f46, 0xfb4: 0x1f4b, 0xfb5: 0x1f50, + 0xfb6: 0x1f55, 0xfb7: 0x1f5a, 0xfb8: 0x1f5f, 0xfb9: 0x1f64, 0xfba: 0x1f69, 0xfbb: 0x1f6e, + 0xfbc: 0x1f73, 0xfbd: 0x1f78, 0xfbe: 0x1f7d, 0xfbf: 0x1f87, // Block 0x3f, offset 0xfc0 - 0xfc0: 0x1f5a, 0xfc1: 0x1f6e, 0xfc2: 0x1f73, 0xfc3: 0x1f78, 0xfc4: 0x1f7d, 0xfc5: 0x1f96, - 0xfc6: 0x1fa0, 0xfc7: 0x1fa5, 0xfc8: 0x1faa, 0xfc9: 0x1fbe, 0xfca: 0x1fdc, 0xfcb: 0x1fe1, - 0xfcc: 0x1fe6, 0xfcd: 0x1feb, 0xfce: 0x1ff5, 0xfcf: 0x1ffa, 0xfd0: 0x445c, 0xfd1: 0x2027, - 0xfd2: 0x202c, 0xfd3: 0x2031, 0xfd4: 0x2036, 0xfd5: 0x2040, 0xfd6: 0x2045, 0xfd7: 0x25b1, - 0xfd8: 0x25b8, 0xfd9: 0x25bf, 0xfda: 0x25d4, 0xfdb: 0x25e2, 0xfdc: 0x1d89, 0xfdd: 0x1d8e, - 0xfde: 0x1d93, 0xfdf: 0x1da2, 0xfe0: 0x1dac, 0xfe1: 0x1dbb, 0xfe2: 0x1dc0, 0xfe3: 0x1dc5, - 0xfe4: 0x1dd4, 0xfe5: 0x1dde, 0xfe6: 0x1dfc, 0xfe7: 0x1e15, 0xfe8: 0x1e1a, 0xfe9: 0x1e29, - 0xfea: 0x1e2e, 0xfeb: 0x1e3d, 0xfec: 0x1e47, 0xfed: 0x1e56, 0xfee: 0x1e5b, 0xfef: 0x1e60, - 0xff0: 0x1e6a, 0xff1: 0x1ea6, 0xff2: 0x1eab, 0xff3: 0x1eb5, 0xff4: 0x1ec4, 0xff5: 0x1ec9, - 0xff6: 0x1ece, 0xff7: 0x1ed8, 0xff8: 0x1ee7, 0xff9: 0x1efb, 0xffa: 0x1f00, 0xffb: 0x1f05, - 0xffc: 0x1f14, 0xffd: 0x1f19, 0xffe: 0x1f28, 0xfff: 0x1f2d, + 0xfc0: 0x1f8c, 0xfc1: 0x1f91, 0xfc2: 0x1f96, 0xfc3: 0x1fa0, 0xfc4: 0x1fa5, 0xfc5: 0x1faf, + 0xfc6: 0x1fb4, 0xfc7: 0x1fb9, 0xfc8: 0x1fbe, 0xfc9: 0x1fc3, 0xfca: 0x1fc8, 0xfcb: 0x1fcd, + 0xfcc: 0x1fd2, 0xfcd: 0x1fd7, 0xfce: 0x1fe6, 0xfcf: 0x1ff5, 0xfd0: 0x1ffa, 0xfd1: 0x1fff, + 0xfd2: 0x2004, 0xfd3: 0x2009, 0xfd4: 0x200e, 0xfd5: 0x2018, 0xfd6: 0x201d, 0xfd7: 0x2022, + 0xfd8: 0x2031, 0xfd9: 0x2040, 0xfda: 0x2045, 0xfdb: 0x4420, 0xfdc: 0x4426, 0xfdd: 0x445c, + 0xfde: 0x44b3, 0xfdf: 0x44ba, 0xfe0: 0x44c1, 0xfe1: 0x44c8, 0xfe2: 0x44cf, 0xfe3: 0x44d6, + 0xfe4: 0x25c6, 0xfe5: 0x25cd, 0xfe6: 0x25d4, 0xfe7: 0x25db, 0xfe8: 0x25f0, 0xfe9: 0x25f7, + 0xfea: 0x1d98, 0xfeb: 0x1d9d, 0xfec: 0x1da2, 0xfed: 0x1da7, 0xfee: 0x1db1, 0xfef: 0x1db6, + 0xff0: 0x1dca, 0xff1: 0x1dcf, 0xff2: 0x1dd4, 0xff3: 0x1dd9, 0xff4: 0x1de3, 0xff5: 0x1de8, + 0xff6: 0x1df2, 0xff7: 0x1df7, 0xff8: 0x1dfc, 0xff9: 0x1e01, 0xffa: 0x1e0b, 0xffb: 0x1e10, + 0xffc: 0x1f3c, 0xffd: 0x1f41, 0xffe: 0x1f50, 0xfff: 0x1f55, // Block 0x40, offset 0x1000 - 0x1000: 0x1f32, 0x1001: 0x1f37, 0x1002: 0x1f46, 0x1003: 0x1f4b, 0x1004: 0x1f5f, 0x1005: 0x1f64, - 0x1006: 0x1f69, 0x1007: 0x1f6e, 0x1008: 0x1f73, 0x1009: 0x1f87, 0x100a: 0x1f8c, 0x100b: 0x1f91, - 0x100c: 0x1f96, 0x100d: 0x1f9b, 0x100e: 0x1faf, 0x100f: 0x1fb4, 0x1010: 0x1fb9, 0x1011: 0x1fbe, - 0x1012: 0x1fcd, 0x1013: 0x1fd2, 0x1014: 0x1fd7, 0x1015: 0x1fe6, 0x1016: 0x1ff0, 0x1017: 0x1fff, - 0x1018: 0x2004, 0x1019: 0x4450, 0x101a: 0x2018, 0x101b: 0x201d, 0x101c: 0x2022, 0x101d: 0x2031, - 0x101e: 0x203b, 0x101f: 0x25d4, 0x1020: 0x25e2, 0x1021: 0x1da2, 0x1022: 0x1dac, 0x1023: 0x1dd4, - 0x1024: 0x1dde, 0x1025: 0x1dfc, 0x1026: 0x1e06, 0x1027: 0x1e6a, 0x1028: 0x1e6f, 0x1029: 0x1e92, - 0x102a: 0x1e97, 0x102b: 0x1f6e, 0x102c: 0x1f73, 0x102d: 0x1f96, 0x102e: 0x1fe6, 0x102f: 0x1ff0, - 0x1030: 0x2031, 0x1031: 0x203b, 0x1032: 0x4504, 0x1033: 0x450c, 0x1034: 0x4514, 0x1035: 0x1ef1, - 0x1036: 0x1ef6, 0x1037: 0x1f0a, 0x1038: 0x1f0f, 0x1039: 0x1f1e, 0x103a: 0x1f23, 0x103b: 0x1e74, - 0x103c: 0x1e79, 0x103d: 0x1e9c, 0x103e: 0x1ea1, 0x103f: 0x1e33, + 0x1000: 0x1f5a, 0x1001: 0x1f6e, 0x1002: 0x1f73, 0x1003: 0x1f78, 0x1004: 0x1f7d, 0x1005: 0x1f96, + 0x1006: 0x1fa0, 0x1007: 0x1fa5, 0x1008: 0x1faa, 0x1009: 0x1fbe, 0x100a: 0x1fdc, 0x100b: 0x1fe1, + 0x100c: 0x1fe6, 0x100d: 0x1feb, 0x100e: 0x1ff5, 0x100f: 0x1ffa, 0x1010: 0x445c, 0x1011: 0x2027, + 0x1012: 0x202c, 0x1013: 0x2031, 0x1014: 0x2036, 0x1015: 0x2040, 0x1016: 0x2045, 0x1017: 0x25b1, + 0x1018: 0x25b8, 0x1019: 0x25bf, 0x101a: 0x25d4, 0x101b: 0x25e2, 0x101c: 0x1d89, 0x101d: 0x1d8e, + 0x101e: 0x1d93, 0x101f: 0x1da2, 0x1020: 0x1dac, 0x1021: 0x1dbb, 0x1022: 0x1dc0, 0x1023: 0x1dc5, + 0x1024: 0x1dd4, 0x1025: 0x1dde, 0x1026: 0x1dfc, 0x1027: 0x1e15, 0x1028: 0x1e1a, 0x1029: 0x1e29, + 0x102a: 0x1e2e, 0x102b: 0x1e3d, 0x102c: 0x1e47, 0x102d: 0x1e56, 0x102e: 0x1e5b, 0x102f: 0x1e60, + 0x1030: 0x1e6a, 0x1031: 0x1ea6, 0x1032: 0x1eab, 0x1033: 0x1eb5, 0x1034: 0x1ec4, 0x1035: 0x1ec9, + 0x1036: 0x1ece, 0x1037: 0x1ed8, 0x1038: 0x1ee7, 0x1039: 0x1efb, 0x103a: 0x1f00, 0x103b: 0x1f05, + 0x103c: 0x1f14, 0x103d: 0x1f19, 0x103e: 0x1f28, 0x103f: 0x1f2d, // Block 0x41, offset 0x1040 - 0x1040: 0x1e38, 0x1041: 0x1e1f, 0x1042: 0x1e24, 0x1043: 0x1e4c, 0x1044: 0x1e51, 0x1045: 0x1eba, - 0x1046: 0x1ebf, 0x1047: 0x1edd, 0x1048: 0x1ee2, 0x1049: 0x1e7e, 0x104a: 0x1e83, 0x104b: 0x1e88, - 0x104c: 0x1e92, 0x104d: 0x1e8d, 0x104e: 0x1e65, 0x104f: 0x1eb0, 0x1050: 0x1ed3, 0x1051: 0x1ef1, - 0x1052: 0x1ef6, 0x1053: 0x1f0a, 0x1054: 0x1f0f, 0x1055: 0x1f1e, 0x1056: 0x1f23, 0x1057: 0x1e74, - 0x1058: 0x1e79, 0x1059: 0x1e9c, 0x105a: 0x1ea1, 0x105b: 0x1e33, 0x105c: 0x1e38, 0x105d: 0x1e1f, - 0x105e: 0x1e24, 0x105f: 0x1e4c, 0x1060: 0x1e51, 0x1061: 0x1eba, 0x1062: 0x1ebf, 0x1063: 0x1edd, - 0x1064: 0x1ee2, 0x1065: 0x1e7e, 0x1066: 0x1e83, 0x1067: 0x1e88, 0x1068: 0x1e92, 0x1069: 0x1e8d, - 0x106a: 0x1e65, 0x106b: 0x1eb0, 0x106c: 0x1ed3, 0x106d: 0x1e7e, 0x106e: 0x1e83, 0x106f: 0x1e88, - 0x1070: 0x1e92, 0x1071: 0x1e6f, 0x1072: 0x1e97, 0x1073: 0x1eec, 0x1074: 0x1e56, 0x1075: 0x1e5b, - 0x1076: 0x1e60, 0x1077: 0x1e7e, 0x1078: 0x1e83, 0x1079: 0x1e88, 0x107a: 0x1eec, 0x107b: 0x1efb, - 0x107c: 0x4408, 0x107d: 0x4408, + 0x1040: 0x1f32, 0x1041: 0x1f37, 0x1042: 0x1f46, 0x1043: 0x1f4b, 0x1044: 0x1f5f, 0x1045: 0x1f64, + 0x1046: 0x1f69, 0x1047: 0x1f6e, 0x1048: 0x1f73, 0x1049: 0x1f87, 0x104a: 0x1f8c, 0x104b: 0x1f91, + 0x104c: 0x1f96, 0x104d: 0x1f9b, 0x104e: 0x1faf, 0x104f: 0x1fb4, 0x1050: 0x1fb9, 0x1051: 0x1fbe, + 0x1052: 0x1fcd, 0x1053: 0x1fd2, 0x1054: 0x1fd7, 0x1055: 0x1fe6, 0x1056: 0x1ff0, 0x1057: 0x1fff, + 0x1058: 0x2004, 0x1059: 0x4450, 0x105a: 0x2018, 0x105b: 0x201d, 0x105c: 0x2022, 0x105d: 0x2031, + 0x105e: 0x203b, 0x105f: 0x25d4, 0x1060: 0x25e2, 0x1061: 0x1da2, 0x1062: 0x1dac, 0x1063: 0x1dd4, + 0x1064: 0x1dde, 0x1065: 0x1dfc, 0x1066: 0x1e06, 0x1067: 0x1e6a, 0x1068: 0x1e6f, 0x1069: 0x1e92, + 0x106a: 0x1e97, 0x106b: 0x1f6e, 0x106c: 0x1f73, 0x106d: 0x1f96, 0x106e: 0x1fe6, 0x106f: 0x1ff0, + 0x1070: 0x2031, 0x1071: 0x203b, 0x1072: 0x4504, 0x1073: 0x450c, 0x1074: 0x4514, 0x1075: 0x1ef1, + 0x1076: 0x1ef6, 0x1077: 0x1f0a, 0x1078: 0x1f0f, 0x1079: 0x1f1e, 0x107a: 0x1f23, 0x107b: 0x1e74, + 0x107c: 0x1e79, 0x107d: 0x1e9c, 0x107e: 0x1ea1, 0x107f: 0x1e33, // Block 0x42, offset 0x1080 - 0x1090: 0x2311, 0x1091: 0x2326, - 0x1092: 0x2326, 0x1093: 0x232d, 0x1094: 0x2334, 0x1095: 0x2349, 0x1096: 0x2350, 0x1097: 0x2357, - 0x1098: 0x237a, 0x1099: 0x237a, 0x109a: 0x239d, 0x109b: 0x2396, 0x109c: 0x23b2, 0x109d: 0x23a4, - 0x109e: 0x23ab, 0x109f: 0x23ce, 0x10a0: 0x23ce, 0x10a1: 0x23c7, 0x10a2: 0x23d5, 0x10a3: 0x23d5, - 0x10a4: 0x23ff, 0x10a5: 0x23ff, 0x10a6: 0x241b, 0x10a7: 0x23e3, 0x10a8: 0x23e3, 0x10a9: 0x23dc, - 0x10aa: 0x23f1, 0x10ab: 0x23f1, 0x10ac: 0x23f8, 0x10ad: 0x23f8, 0x10ae: 0x2422, 0x10af: 0x2430, - 0x10b0: 0x2430, 0x10b1: 0x2437, 0x10b2: 0x2437, 0x10b3: 0x243e, 0x10b4: 0x2445, 0x10b5: 0x244c, - 0x10b6: 0x2453, 0x10b7: 0x2453, 0x10b8: 0x245a, 0x10b9: 0x2468, 0x10ba: 0x2476, 0x10bb: 0x246f, - 0x10bc: 0x247d, 0x10bd: 0x247d, 0x10be: 0x2492, 0x10bf: 0x2499, + 0x1080: 0x1e38, 0x1081: 0x1e1f, 0x1082: 0x1e24, 0x1083: 0x1e4c, 0x1084: 0x1e51, 0x1085: 0x1eba, + 0x1086: 0x1ebf, 0x1087: 0x1edd, 0x1088: 0x1ee2, 0x1089: 0x1e7e, 0x108a: 0x1e83, 0x108b: 0x1e88, + 0x108c: 0x1e92, 0x108d: 0x1e8d, 0x108e: 0x1e65, 0x108f: 0x1eb0, 0x1090: 0x1ed3, 0x1091: 0x1ef1, + 0x1092: 0x1ef6, 0x1093: 0x1f0a, 0x1094: 0x1f0f, 0x1095: 0x1f1e, 0x1096: 0x1f23, 0x1097: 0x1e74, + 0x1098: 0x1e79, 0x1099: 0x1e9c, 0x109a: 0x1ea1, 0x109b: 0x1e33, 0x109c: 0x1e38, 0x109d: 0x1e1f, + 0x109e: 0x1e24, 0x109f: 0x1e4c, 0x10a0: 0x1e51, 0x10a1: 0x1eba, 0x10a2: 0x1ebf, 0x10a3: 0x1edd, + 0x10a4: 0x1ee2, 0x10a5: 0x1e7e, 0x10a6: 0x1e83, 0x10a7: 0x1e88, 0x10a8: 0x1e92, 0x10a9: 0x1e8d, + 0x10aa: 0x1e65, 0x10ab: 0x1eb0, 0x10ac: 0x1ed3, 0x10ad: 0x1e7e, 0x10ae: 0x1e83, 0x10af: 0x1e88, + 0x10b0: 0x1e92, 0x10b1: 0x1e6f, 0x10b2: 0x1e97, 0x10b3: 0x1eec, 0x10b4: 0x1e56, 0x10b5: 0x1e5b, + 0x10b6: 0x1e60, 0x10b7: 0x1e7e, 0x10b8: 0x1e83, 0x10b9: 0x1e88, 0x10ba: 0x1eec, 0x10bb: 0x1efb, + 0x10bc: 0x4408, 0x10bd: 0x4408, // Block 0x43, offset 0x10c0 - 0x10c0: 0x24ca, 0x10c1: 0x24d8, 0x10c2: 0x24d1, 0x10c3: 0x24b5, 0x10c4: 0x24b5, 0x10c5: 0x24df, - 0x10c6: 0x24df, 0x10c7: 0x24e6, 0x10c8: 0x24e6, 0x10c9: 0x2510, 0x10ca: 0x2517, 0x10cb: 0x251e, - 0x10cc: 0x24f4, 0x10cd: 0x2502, 0x10ce: 0x2525, 0x10cf: 0x252c, - 0x10d2: 0x24fb, 0x10d3: 0x2580, 0x10d4: 0x2587, 0x10d5: 0x255d, 0x10d6: 0x2564, 0x10d7: 0x2548, - 0x10d8: 0x2548, 0x10d9: 0x254f, 0x10da: 0x2579, 0x10db: 0x2572, 0x10dc: 0x259c, 0x10dd: 0x259c, - 0x10de: 0x230a, 0x10df: 0x231f, 0x10e0: 0x2318, 0x10e1: 0x2342, 0x10e2: 0x233b, 0x10e3: 0x2365, - 0x10e4: 0x235e, 0x10e5: 0x2388, 0x10e6: 0x236c, 0x10e7: 0x2381, 0x10e8: 0x23b9, 0x10e9: 0x2406, - 0x10ea: 0x23ea, 0x10eb: 0x2429, 0x10ec: 0x24c3, 0x10ed: 0x24ed, 0x10ee: 0x2595, 0x10ef: 0x258e, - 0x10f0: 0x25a3, 0x10f1: 0x253a, 0x10f2: 0x24a0, 0x10f3: 0x256b, 0x10f4: 0x2492, 0x10f5: 0x24ca, - 0x10f6: 0x2461, 0x10f7: 0x24ae, 0x10f8: 0x2541, 0x10f9: 0x2533, 0x10fa: 0x24bc, 0x10fb: 0x24a7, - 0x10fc: 0x24bc, 0x10fd: 0x2541, 0x10fe: 0x2373, 0x10ff: 0x238f, + 0x10d0: 0x2311, 0x10d1: 0x2326, + 0x10d2: 0x2326, 0x10d3: 0x232d, 0x10d4: 0x2334, 0x10d5: 0x2349, 0x10d6: 0x2350, 0x10d7: 0x2357, + 0x10d8: 0x237a, 0x10d9: 0x237a, 0x10da: 0x239d, 0x10db: 0x2396, 0x10dc: 0x23b2, 0x10dd: 0x23a4, + 0x10de: 0x23ab, 0x10df: 0x23ce, 0x10e0: 0x23ce, 0x10e1: 0x23c7, 0x10e2: 0x23d5, 0x10e3: 0x23d5, + 0x10e4: 0x23ff, 0x10e5: 0x23ff, 0x10e6: 0x241b, 0x10e7: 0x23e3, 0x10e8: 0x23e3, 0x10e9: 0x23dc, + 0x10ea: 0x23f1, 0x10eb: 0x23f1, 0x10ec: 0x23f8, 0x10ed: 0x23f8, 0x10ee: 0x2422, 0x10ef: 0x2430, + 0x10f0: 0x2430, 0x10f1: 0x2437, 0x10f2: 0x2437, 0x10f3: 0x243e, 0x10f4: 0x2445, 0x10f5: 0x244c, + 0x10f6: 0x2453, 0x10f7: 0x2453, 0x10f8: 0x245a, 0x10f9: 0x2468, 0x10fa: 0x2476, 0x10fb: 0x246f, + 0x10fc: 0x247d, 0x10fd: 0x247d, 0x10fe: 0x2492, 0x10ff: 0x2499, // Block 0x44, offset 0x1100 - 0x1100: 0x2509, 0x1101: 0x2484, 0x1102: 0x2303, 0x1103: 0x24a7, 0x1104: 0x244c, 0x1105: 0x241b, - 0x1106: 0x23c0, 0x1107: 0x2556, - 0x1130: 0x2414, 0x1131: 0x248b, 0x1132: 0x27bf, 0x1133: 0x27b6, 0x1134: 0x27ec, 0x1135: 0x27da, - 0x1136: 0x27c8, 0x1137: 0x27e3, 0x1138: 0x27f5, 0x1139: 0x240d, 0x113a: 0x2c7c, 0x113b: 0x2afc, - 0x113c: 0x27d1, + 0x1100: 0x24ca, 0x1101: 0x24d8, 0x1102: 0x24d1, 0x1103: 0x24b5, 0x1104: 0x24b5, 0x1105: 0x24df, + 0x1106: 0x24df, 0x1107: 0x24e6, 0x1108: 0x24e6, 0x1109: 0x2510, 0x110a: 0x2517, 0x110b: 0x251e, + 0x110c: 0x24f4, 0x110d: 0x2502, 0x110e: 0x2525, 0x110f: 0x252c, + 0x1112: 0x24fb, 0x1113: 0x2580, 0x1114: 0x2587, 0x1115: 0x255d, 0x1116: 0x2564, 0x1117: 0x2548, + 0x1118: 0x2548, 0x1119: 0x254f, 0x111a: 0x2579, 0x111b: 0x2572, 0x111c: 0x259c, 0x111d: 0x259c, + 0x111e: 0x230a, 0x111f: 0x231f, 0x1120: 0x2318, 0x1121: 0x2342, 0x1122: 0x233b, 0x1123: 0x2365, + 0x1124: 0x235e, 0x1125: 0x2388, 0x1126: 0x236c, 0x1127: 0x2381, 0x1128: 0x23b9, 0x1129: 0x2406, + 0x112a: 0x23ea, 0x112b: 0x2429, 0x112c: 0x24c3, 0x112d: 0x24ed, 0x112e: 0x2595, 0x112f: 0x258e, + 0x1130: 0x25a3, 0x1131: 0x253a, 0x1132: 0x24a0, 0x1133: 0x256b, 0x1134: 0x2492, 0x1135: 0x24ca, + 0x1136: 0x2461, 0x1137: 0x24ae, 0x1138: 0x2541, 0x1139: 0x2533, 0x113a: 0x24bc, 0x113b: 0x24a7, + 0x113c: 0x24bc, 0x113d: 0x2541, 0x113e: 0x2373, 0x113f: 0x238f, // Block 0x45, offset 0x1140 - 0x1150: 0x0019, 0x1151: 0x0483, - 0x1152: 0x0487, 0x1153: 0x0035, 0x1154: 0x0037, 0x1155: 0x0003, 0x1156: 0x003f, 0x1157: 0x04bf, - 0x1158: 0x04c3, 0x1159: 0x1b5c, - 0x1160: 0x8132, 0x1161: 0x8132, 0x1162: 0x8132, 0x1163: 0x8132, - 0x1164: 0x8132, 0x1165: 0x8132, 0x1166: 0x8132, 0x1167: 0x812d, 0x1168: 0x812d, 0x1169: 0x812d, - 0x116a: 0x812d, 0x116b: 0x812d, 0x116c: 0x812d, 0x116d: 0x812d, 0x116e: 0x8132, 0x116f: 0x8132, - 0x1170: 0x1873, 0x1171: 0x0443, 0x1172: 0x043f, 0x1173: 0x007f, 0x1174: 0x007f, 0x1175: 0x0011, - 0x1176: 0x0013, 0x1177: 0x00b7, 0x1178: 0x00bb, 0x1179: 0x04b7, 0x117a: 0x04bb, 0x117b: 0x04ab, - 0x117c: 0x04af, 0x117d: 0x0493, 0x117e: 0x0497, 0x117f: 0x048b, + 0x1140: 0x2509, 0x1141: 0x2484, 0x1142: 0x2303, 0x1143: 0x24a7, 0x1144: 0x244c, 0x1145: 0x241b, + 0x1146: 0x23c0, 0x1147: 0x2556, + 0x1170: 0x2414, 0x1171: 0x248b, 0x1172: 0x27bf, 0x1173: 0x27b6, 0x1174: 0x27ec, 0x1175: 0x27da, + 0x1176: 0x27c8, 0x1177: 0x27e3, 0x1178: 0x27f5, 0x1179: 0x240d, 0x117a: 0x2c7c, 0x117b: 0x2afc, + 0x117c: 0x27d1, // Block 0x46, offset 0x1180 - 0x1180: 0x048f, 0x1181: 0x049b, 0x1182: 0x049f, 0x1183: 0x04a3, 0x1184: 0x04a7, - 0x1187: 0x0077, 0x1188: 0x007b, 0x1189: 0x4269, 0x118a: 0x4269, 0x118b: 0x4269, - 0x118c: 0x4269, 0x118d: 0x007f, 0x118e: 0x007f, 0x118f: 0x007f, 0x1190: 0x0019, 0x1191: 0x0483, - 0x1192: 0x001d, 0x1194: 0x0037, 0x1195: 0x0035, 0x1196: 0x003f, 0x1197: 0x0003, - 0x1198: 0x0443, 0x1199: 0x0011, 0x119a: 0x0013, 0x119b: 0x00b7, 0x119c: 0x00bb, 0x119d: 0x04b7, - 0x119e: 0x04bb, 0x119f: 0x0007, 0x11a0: 0x000d, 0x11a1: 0x0015, 0x11a2: 0x0017, 0x11a3: 0x001b, - 0x11a4: 0x0039, 0x11a5: 0x003d, 0x11a6: 0x003b, 0x11a8: 0x0079, 0x11a9: 0x0009, - 0x11aa: 0x000b, 0x11ab: 0x0041, - 0x11b0: 0x42aa, 0x11b1: 0x442c, 0x11b2: 0x42af, 0x11b4: 0x42b4, - 0x11b6: 0x42b9, 0x11b7: 0x4432, 0x11b8: 0x42be, 0x11b9: 0x4438, 0x11ba: 0x42c3, 0x11bb: 0x443e, - 0x11bc: 0x42c8, 0x11bd: 0x4444, 0x11be: 0x42cd, 0x11bf: 0x444a, + 0x1190: 0x0019, 0x1191: 0x0483, + 0x1192: 0x0487, 0x1193: 0x0035, 0x1194: 0x0037, 0x1195: 0x0003, 0x1196: 0x003f, 0x1197: 0x04bf, + 0x1198: 0x04c3, 0x1199: 0x1b5c, + 0x11a0: 0x8132, 0x11a1: 0x8132, 0x11a2: 0x8132, 0x11a3: 0x8132, + 0x11a4: 0x8132, 0x11a5: 0x8132, 0x11a6: 0x8132, 0x11a7: 0x812d, 0x11a8: 0x812d, 0x11a9: 0x812d, + 0x11aa: 0x812d, 0x11ab: 0x812d, 0x11ac: 0x812d, 0x11ad: 0x812d, 0x11ae: 0x8132, 0x11af: 0x8132, + 0x11b0: 0x1873, 0x11b1: 0x0443, 0x11b2: 0x043f, 0x11b3: 0x007f, 0x11b4: 0x007f, 0x11b5: 0x0011, + 0x11b6: 0x0013, 0x11b7: 0x00b7, 0x11b8: 0x00bb, 0x11b9: 0x04b7, 0x11ba: 0x04bb, 0x11bb: 0x04ab, + 0x11bc: 0x04af, 0x11bd: 0x0493, 0x11be: 0x0497, 0x11bf: 0x048b, // Block 0x47, offset 0x11c0 - 0x11c0: 0x0236, 0x11c1: 0x440e, 0x11c2: 0x440e, 0x11c3: 0x4414, 0x11c4: 0x4414, 0x11c5: 0x4456, - 0x11c6: 0x4456, 0x11c7: 0x441a, 0x11c8: 0x441a, 0x11c9: 0x4462, 0x11ca: 0x4462, 0x11cb: 0x4462, - 0x11cc: 0x4462, 0x11cd: 0x0239, 0x11ce: 0x0239, 0x11cf: 0x023c, 0x11d0: 0x023c, 0x11d1: 0x023c, - 0x11d2: 0x023c, 0x11d3: 0x023f, 0x11d4: 0x023f, 0x11d5: 0x0242, 0x11d6: 0x0242, 0x11d7: 0x0242, - 0x11d8: 0x0242, 0x11d9: 0x0245, 0x11da: 0x0245, 0x11db: 0x0245, 0x11dc: 0x0245, 0x11dd: 0x0248, - 0x11de: 0x0248, 0x11df: 0x0248, 0x11e0: 0x0248, 0x11e1: 0x024b, 0x11e2: 0x024b, 0x11e3: 0x024b, - 0x11e4: 0x024b, 0x11e5: 0x024e, 0x11e6: 0x024e, 0x11e7: 0x024e, 0x11e8: 0x024e, 0x11e9: 0x0251, - 0x11ea: 0x0251, 0x11eb: 0x0254, 0x11ec: 0x0254, 0x11ed: 0x0257, 0x11ee: 0x0257, 0x11ef: 0x025a, - 0x11f0: 0x025a, 0x11f1: 0x025d, 0x11f2: 0x025d, 0x11f3: 0x025d, 0x11f4: 0x025d, 0x11f5: 0x0260, - 0x11f6: 0x0260, 0x11f7: 0x0260, 0x11f8: 0x0260, 0x11f9: 0x0263, 0x11fa: 0x0263, 0x11fb: 0x0263, - 0x11fc: 0x0263, 0x11fd: 0x0266, 0x11fe: 0x0266, 0x11ff: 0x0266, + 0x11c0: 0x048f, 0x11c1: 0x049b, 0x11c2: 0x049f, 0x11c3: 0x04a3, 0x11c4: 0x04a7, + 0x11c7: 0x0077, 0x11c8: 0x007b, 0x11c9: 0x4269, 0x11ca: 0x4269, 0x11cb: 0x4269, + 0x11cc: 0x4269, 0x11cd: 0x007f, 0x11ce: 0x007f, 0x11cf: 0x007f, 0x11d0: 0x0019, 0x11d1: 0x0483, + 0x11d2: 0x001d, 0x11d4: 0x0037, 0x11d5: 0x0035, 0x11d6: 0x003f, 0x11d7: 0x0003, + 0x11d8: 0x0443, 0x11d9: 0x0011, 0x11da: 0x0013, 0x11db: 0x00b7, 0x11dc: 0x00bb, 0x11dd: 0x04b7, + 0x11de: 0x04bb, 0x11df: 0x0007, 0x11e0: 0x000d, 0x11e1: 0x0015, 0x11e2: 0x0017, 0x11e3: 0x001b, + 0x11e4: 0x0039, 0x11e5: 0x003d, 0x11e6: 0x003b, 0x11e8: 0x0079, 0x11e9: 0x0009, + 0x11ea: 0x000b, 0x11eb: 0x0041, + 0x11f0: 0x42aa, 0x11f1: 0x442c, 0x11f2: 0x42af, 0x11f4: 0x42b4, + 0x11f6: 0x42b9, 0x11f7: 0x4432, 0x11f8: 0x42be, 0x11f9: 0x4438, 0x11fa: 0x42c3, 0x11fb: 0x443e, + 0x11fc: 0x42c8, 0x11fd: 0x4444, 0x11fe: 0x42cd, 0x11ff: 0x444a, // Block 0x48, offset 0x1200 - 0x1200: 0x0266, 0x1201: 0x0269, 0x1202: 0x0269, 0x1203: 0x0269, 0x1204: 0x0269, 0x1205: 0x026c, - 0x1206: 0x026c, 0x1207: 0x026c, 0x1208: 0x026c, 0x1209: 0x026f, 0x120a: 0x026f, 0x120b: 0x026f, - 0x120c: 0x026f, 0x120d: 0x0272, 0x120e: 0x0272, 0x120f: 0x0272, 0x1210: 0x0272, 0x1211: 0x0275, - 0x1212: 0x0275, 0x1213: 0x0275, 0x1214: 0x0275, 0x1215: 0x0278, 0x1216: 0x0278, 0x1217: 0x0278, - 0x1218: 0x0278, 0x1219: 0x027b, 0x121a: 0x027b, 0x121b: 0x027b, 0x121c: 0x027b, 0x121d: 0x027e, - 0x121e: 0x027e, 0x121f: 0x027e, 0x1220: 0x027e, 0x1221: 0x0281, 0x1222: 0x0281, 0x1223: 0x0281, - 0x1224: 0x0281, 0x1225: 0x0284, 0x1226: 0x0284, 0x1227: 0x0284, 0x1228: 0x0284, 0x1229: 0x0287, - 0x122a: 0x0287, 0x122b: 0x0287, 0x122c: 0x0287, 0x122d: 0x028a, 0x122e: 0x028a, 0x122f: 0x028d, - 0x1230: 0x028d, 0x1231: 0x0290, 0x1232: 0x0290, 0x1233: 0x0290, 0x1234: 0x0290, 0x1235: 0x2e00, - 0x1236: 0x2e00, 0x1237: 0x2e08, 0x1238: 0x2e08, 0x1239: 0x2e10, 0x123a: 0x2e10, 0x123b: 0x1f82, - 0x123c: 0x1f82, + 0x1200: 0x0236, 0x1201: 0x440e, 0x1202: 0x440e, 0x1203: 0x4414, 0x1204: 0x4414, 0x1205: 0x4456, + 0x1206: 0x4456, 0x1207: 0x441a, 0x1208: 0x441a, 0x1209: 0x4462, 0x120a: 0x4462, 0x120b: 0x4462, + 0x120c: 0x4462, 0x120d: 0x0239, 0x120e: 0x0239, 0x120f: 0x023c, 0x1210: 0x023c, 0x1211: 0x023c, + 0x1212: 0x023c, 0x1213: 0x023f, 0x1214: 0x023f, 0x1215: 0x0242, 0x1216: 0x0242, 0x1217: 0x0242, + 0x1218: 0x0242, 0x1219: 0x0245, 0x121a: 0x0245, 0x121b: 0x0245, 0x121c: 0x0245, 0x121d: 0x0248, + 0x121e: 0x0248, 0x121f: 0x0248, 0x1220: 0x0248, 0x1221: 0x024b, 0x1222: 0x024b, 0x1223: 0x024b, + 0x1224: 0x024b, 0x1225: 0x024e, 0x1226: 0x024e, 0x1227: 0x024e, 0x1228: 0x024e, 0x1229: 0x0251, + 0x122a: 0x0251, 0x122b: 0x0254, 0x122c: 0x0254, 0x122d: 0x0257, 0x122e: 0x0257, 0x122f: 0x025a, + 0x1230: 0x025a, 0x1231: 0x025d, 0x1232: 0x025d, 0x1233: 0x025d, 0x1234: 0x025d, 0x1235: 0x0260, + 0x1236: 0x0260, 0x1237: 0x0260, 0x1238: 0x0260, 0x1239: 0x0263, 0x123a: 0x0263, 0x123b: 0x0263, + 0x123c: 0x0263, 0x123d: 0x0266, 0x123e: 0x0266, 0x123f: 0x0266, // Block 0x49, offset 0x1240 - 0x1240: 0x0081, 0x1241: 0x0083, 0x1242: 0x0085, 0x1243: 0x0087, 0x1244: 0x0089, 0x1245: 0x008b, - 0x1246: 0x008d, 0x1247: 0x008f, 0x1248: 0x0091, 0x1249: 0x0093, 0x124a: 0x0095, 0x124b: 0x0097, - 0x124c: 0x0099, 0x124d: 0x009b, 0x124e: 0x009d, 0x124f: 0x009f, 0x1250: 0x00a1, 0x1251: 0x00a3, - 0x1252: 0x00a5, 0x1253: 0x00a7, 0x1254: 0x00a9, 0x1255: 0x00ab, 0x1256: 0x00ad, 0x1257: 0x00af, - 0x1258: 0x00b1, 0x1259: 0x00b3, 0x125a: 0x00b5, 0x125b: 0x00b7, 0x125c: 0x00b9, 0x125d: 0x00bb, - 0x125e: 0x00bd, 0x125f: 0x0477, 0x1260: 0x047b, 0x1261: 0x0487, 0x1262: 0x049b, 0x1263: 0x049f, - 0x1264: 0x0483, 0x1265: 0x05ab, 0x1266: 0x05a3, 0x1267: 0x04c7, 0x1268: 0x04cf, 0x1269: 0x04d7, - 0x126a: 0x04df, 0x126b: 0x04e7, 0x126c: 0x056b, 0x126d: 0x0573, 0x126e: 0x057b, 0x126f: 0x051f, - 0x1270: 0x05af, 0x1271: 0x04cb, 0x1272: 0x04d3, 0x1273: 0x04db, 0x1274: 0x04e3, 0x1275: 0x04eb, - 0x1276: 0x04ef, 0x1277: 0x04f3, 0x1278: 0x04f7, 0x1279: 0x04fb, 0x127a: 0x04ff, 0x127b: 0x0503, - 0x127c: 0x0507, 0x127d: 0x050b, 0x127e: 0x050f, 0x127f: 0x0513, + 0x1240: 0x0266, 0x1241: 0x0269, 0x1242: 0x0269, 0x1243: 0x0269, 0x1244: 0x0269, 0x1245: 0x026c, + 0x1246: 0x026c, 0x1247: 0x026c, 0x1248: 0x026c, 0x1249: 0x026f, 0x124a: 0x026f, 0x124b: 0x026f, + 0x124c: 0x026f, 0x124d: 0x0272, 0x124e: 0x0272, 0x124f: 0x0272, 0x1250: 0x0272, 0x1251: 0x0275, + 0x1252: 0x0275, 0x1253: 0x0275, 0x1254: 0x0275, 0x1255: 0x0278, 0x1256: 0x0278, 0x1257: 0x0278, + 0x1258: 0x0278, 0x1259: 0x027b, 0x125a: 0x027b, 0x125b: 0x027b, 0x125c: 0x027b, 0x125d: 0x027e, + 0x125e: 0x027e, 0x125f: 0x027e, 0x1260: 0x027e, 0x1261: 0x0281, 0x1262: 0x0281, 0x1263: 0x0281, + 0x1264: 0x0281, 0x1265: 0x0284, 0x1266: 0x0284, 0x1267: 0x0284, 0x1268: 0x0284, 0x1269: 0x0287, + 0x126a: 0x0287, 0x126b: 0x0287, 0x126c: 0x0287, 0x126d: 0x028a, 0x126e: 0x028a, 0x126f: 0x028d, + 0x1270: 0x028d, 0x1271: 0x0290, 0x1272: 0x0290, 0x1273: 0x0290, 0x1274: 0x0290, 0x1275: 0x2e00, + 0x1276: 0x2e00, 0x1277: 0x2e08, 0x1278: 0x2e08, 0x1279: 0x2e10, 0x127a: 0x2e10, 0x127b: 0x1f82, + 0x127c: 0x1f82, // Block 0x4a, offset 0x1280 - 0x1280: 0x0517, 0x1281: 0x051b, 0x1282: 0x0523, 0x1283: 0x0527, 0x1284: 0x052b, 0x1285: 0x052f, - 0x1286: 0x0533, 0x1287: 0x0537, 0x1288: 0x053b, 0x1289: 0x053f, 0x128a: 0x0543, 0x128b: 0x0547, - 0x128c: 0x054b, 0x128d: 0x054f, 0x128e: 0x0553, 0x128f: 0x0557, 0x1290: 0x055b, 0x1291: 0x055f, - 0x1292: 0x0563, 0x1293: 0x0567, 0x1294: 0x056f, 0x1295: 0x0577, 0x1296: 0x057f, 0x1297: 0x0583, - 0x1298: 0x0587, 0x1299: 0x058b, 0x129a: 0x058f, 0x129b: 0x0593, 0x129c: 0x0597, 0x129d: 0x05a7, - 0x129e: 0x4a78, 0x129f: 0x4a7e, 0x12a0: 0x03c3, 0x12a1: 0x0313, 0x12a2: 0x0317, 0x12a3: 0x4a3b, - 0x12a4: 0x031b, 0x12a5: 0x4a41, 0x12a6: 0x4a47, 0x12a7: 0x031f, 0x12a8: 0x0323, 0x12a9: 0x0327, - 0x12aa: 0x4a4d, 0x12ab: 0x4a53, 0x12ac: 0x4a59, 0x12ad: 0x4a5f, 0x12ae: 0x4a65, 0x12af: 0x4a6b, - 0x12b0: 0x0367, 0x12b1: 0x032b, 0x12b2: 0x032f, 0x12b3: 0x0333, 0x12b4: 0x037b, 0x12b5: 0x0337, - 0x12b6: 0x033b, 0x12b7: 0x033f, 0x12b8: 0x0343, 0x12b9: 0x0347, 0x12ba: 0x034b, 0x12bb: 0x034f, - 0x12bc: 0x0353, 0x12bd: 0x0357, 0x12be: 0x035b, + 0x1280: 0x0081, 0x1281: 0x0083, 0x1282: 0x0085, 0x1283: 0x0087, 0x1284: 0x0089, 0x1285: 0x008b, + 0x1286: 0x008d, 0x1287: 0x008f, 0x1288: 0x0091, 0x1289: 0x0093, 0x128a: 0x0095, 0x128b: 0x0097, + 0x128c: 0x0099, 0x128d: 0x009b, 0x128e: 0x009d, 0x128f: 0x009f, 0x1290: 0x00a1, 0x1291: 0x00a3, + 0x1292: 0x00a5, 0x1293: 0x00a7, 0x1294: 0x00a9, 0x1295: 0x00ab, 0x1296: 0x00ad, 0x1297: 0x00af, + 0x1298: 0x00b1, 0x1299: 0x00b3, 0x129a: 0x00b5, 0x129b: 0x00b7, 0x129c: 0x00b9, 0x129d: 0x00bb, + 0x129e: 0x00bd, 0x129f: 0x0477, 0x12a0: 0x047b, 0x12a1: 0x0487, 0x12a2: 0x049b, 0x12a3: 0x049f, + 0x12a4: 0x0483, 0x12a5: 0x05ab, 0x12a6: 0x05a3, 0x12a7: 0x04c7, 0x12a8: 0x04cf, 0x12a9: 0x04d7, + 0x12aa: 0x04df, 0x12ab: 0x04e7, 0x12ac: 0x056b, 0x12ad: 0x0573, 0x12ae: 0x057b, 0x12af: 0x051f, + 0x12b0: 0x05af, 0x12b1: 0x04cb, 0x12b2: 0x04d3, 0x12b3: 0x04db, 0x12b4: 0x04e3, 0x12b5: 0x04eb, + 0x12b6: 0x04ef, 0x12b7: 0x04f3, 0x12b8: 0x04f7, 0x12b9: 0x04fb, 0x12ba: 0x04ff, 0x12bb: 0x0503, + 0x12bc: 0x0507, 0x12bd: 0x050b, 0x12be: 0x050f, 0x12bf: 0x0513, // Block 0x4b, offset 0x12c0 - 0x12c2: 0x49bd, 0x12c3: 0x49c3, 0x12c4: 0x49c9, 0x12c5: 0x49cf, - 0x12c6: 0x49d5, 0x12c7: 0x49db, 0x12ca: 0x49e1, 0x12cb: 0x49e7, - 0x12cc: 0x49ed, 0x12cd: 0x49f3, 0x12ce: 0x49f9, 0x12cf: 0x49ff, - 0x12d2: 0x4a05, 0x12d3: 0x4a0b, 0x12d4: 0x4a11, 0x12d5: 0x4a17, 0x12d6: 0x4a1d, 0x12d7: 0x4a23, - 0x12da: 0x4a29, 0x12db: 0x4a2f, 0x12dc: 0x4a35, - 0x12e0: 0x00bf, 0x12e1: 0x00c2, 0x12e2: 0x00cb, 0x12e3: 0x4264, - 0x12e4: 0x00c8, 0x12e5: 0x00c5, 0x12e6: 0x0447, 0x12e8: 0x046b, 0x12e9: 0x044b, - 0x12ea: 0x044f, 0x12eb: 0x0453, 0x12ec: 0x0457, 0x12ed: 0x046f, 0x12ee: 0x0473, + 0x12c0: 0x0517, 0x12c1: 0x051b, 0x12c2: 0x0523, 0x12c3: 0x0527, 0x12c4: 0x052b, 0x12c5: 0x052f, + 0x12c6: 0x0533, 0x12c7: 0x0537, 0x12c8: 0x053b, 0x12c9: 0x053f, 0x12ca: 0x0543, 0x12cb: 0x0547, + 0x12cc: 0x054b, 0x12cd: 0x054f, 0x12ce: 0x0553, 0x12cf: 0x0557, 0x12d0: 0x055b, 0x12d1: 0x055f, + 0x12d2: 0x0563, 0x12d3: 0x0567, 0x12d4: 0x056f, 0x12d5: 0x0577, 0x12d6: 0x057f, 0x12d7: 0x0583, + 0x12d8: 0x0587, 0x12d9: 0x058b, 0x12da: 0x058f, 0x12db: 0x0593, 0x12dc: 0x0597, 0x12dd: 0x05a7, + 0x12de: 0x4a78, 0x12df: 0x4a7e, 0x12e0: 0x03c3, 0x12e1: 0x0313, 0x12e2: 0x0317, 0x12e3: 0x4a3b, + 0x12e4: 0x031b, 0x12e5: 0x4a41, 0x12e6: 0x4a47, 0x12e7: 0x031f, 0x12e8: 0x0323, 0x12e9: 0x0327, + 0x12ea: 0x4a4d, 0x12eb: 0x4a53, 0x12ec: 0x4a59, 0x12ed: 0x4a5f, 0x12ee: 0x4a65, 0x12ef: 0x4a6b, + 0x12f0: 0x0367, 0x12f1: 0x032b, 0x12f2: 0x032f, 0x12f3: 0x0333, 0x12f4: 0x037b, 0x12f5: 0x0337, + 0x12f6: 0x033b, 0x12f7: 0x033f, 0x12f8: 0x0343, 0x12f9: 0x0347, 0x12fa: 0x034b, 0x12fb: 0x034f, + 0x12fc: 0x0353, 0x12fd: 0x0357, 0x12fe: 0x035b, // Block 0x4c, offset 0x1300 - 0x1300: 0x0063, 0x1301: 0x0065, 0x1302: 0x0067, 0x1303: 0x0069, 0x1304: 0x006b, 0x1305: 0x006d, - 0x1306: 0x006f, 0x1307: 0x0071, 0x1308: 0x0073, 0x1309: 0x0075, 0x130a: 0x0083, 0x130b: 0x0085, - 0x130c: 0x0087, 0x130d: 0x0089, 0x130e: 0x008b, 0x130f: 0x008d, 0x1310: 0x008f, 0x1311: 0x0091, - 0x1312: 0x0093, 0x1313: 0x0095, 0x1314: 0x0097, 0x1315: 0x0099, 0x1316: 0x009b, 0x1317: 0x009d, - 0x1318: 0x009f, 0x1319: 0x00a1, 0x131a: 0x00a3, 0x131b: 0x00a5, 0x131c: 0x00a7, 0x131d: 0x00a9, - 0x131e: 0x00ab, 0x131f: 0x00ad, 0x1320: 0x00af, 0x1321: 0x00b1, 0x1322: 0x00b3, 0x1323: 0x00b5, - 0x1324: 0x00dd, 0x1325: 0x00f2, 0x1328: 0x0173, 0x1329: 0x0176, - 0x132a: 0x0179, 0x132b: 0x017c, 0x132c: 0x017f, 0x132d: 0x0182, 0x132e: 0x0185, 0x132f: 0x0188, - 0x1330: 0x018b, 0x1331: 0x018e, 0x1332: 0x0191, 0x1333: 0x0194, 0x1334: 0x0197, 0x1335: 0x019a, - 0x1336: 0x019d, 0x1337: 0x01a0, 0x1338: 0x01a3, 0x1339: 0x0188, 0x133a: 0x01a6, 0x133b: 0x01a9, - 0x133c: 0x01ac, 0x133d: 0x01af, 0x133e: 0x01b2, 0x133f: 0x01b5, + 0x1302: 0x49bd, 0x1303: 0x49c3, 0x1304: 0x49c9, 0x1305: 0x49cf, + 0x1306: 0x49d5, 0x1307: 0x49db, 0x130a: 0x49e1, 0x130b: 0x49e7, + 0x130c: 0x49ed, 0x130d: 0x49f3, 0x130e: 0x49f9, 0x130f: 0x49ff, + 0x1312: 0x4a05, 0x1313: 0x4a0b, 0x1314: 0x4a11, 0x1315: 0x4a17, 0x1316: 0x4a1d, 0x1317: 0x4a23, + 0x131a: 0x4a29, 0x131b: 0x4a2f, 0x131c: 0x4a35, + 0x1320: 0x00bf, 0x1321: 0x00c2, 0x1322: 0x00cb, 0x1323: 0x4264, + 0x1324: 0x00c8, 0x1325: 0x00c5, 0x1326: 0x0447, 0x1328: 0x046b, 0x1329: 0x044b, + 0x132a: 0x044f, 0x132b: 0x0453, 0x132c: 0x0457, 0x132d: 0x046f, 0x132e: 0x0473, // Block 0x4d, offset 0x1340 - 0x1340: 0x01fd, 0x1341: 0x0200, 0x1342: 0x0203, 0x1343: 0x045b, 0x1344: 0x01c7, 0x1345: 0x01d0, - 0x1346: 0x01d6, 0x1347: 0x01fa, 0x1348: 0x01eb, 0x1349: 0x01e8, 0x134a: 0x0206, 0x134b: 0x0209, - 0x134e: 0x0021, 0x134f: 0x0023, 0x1350: 0x0025, 0x1351: 0x0027, - 0x1352: 0x0029, 0x1353: 0x002b, 0x1354: 0x002d, 0x1355: 0x002f, 0x1356: 0x0031, 0x1357: 0x0033, - 0x1358: 0x0021, 0x1359: 0x0023, 0x135a: 0x0025, 0x135b: 0x0027, 0x135c: 0x0029, 0x135d: 0x002b, - 0x135e: 0x002d, 0x135f: 0x002f, 0x1360: 0x0031, 0x1361: 0x0033, 0x1362: 0x0021, 0x1363: 0x0023, - 0x1364: 0x0025, 0x1365: 0x0027, 0x1366: 0x0029, 0x1367: 0x002b, 0x1368: 0x002d, 0x1369: 0x002f, - 0x136a: 0x0031, 0x136b: 0x0033, 0x136c: 0x0021, 0x136d: 0x0023, 0x136e: 0x0025, 0x136f: 0x0027, - 0x1370: 0x0029, 0x1371: 0x002b, 0x1372: 0x002d, 0x1373: 0x002f, 0x1374: 0x0031, 0x1375: 0x0033, - 0x1376: 0x0021, 0x1377: 0x0023, 0x1378: 0x0025, 0x1379: 0x0027, 0x137a: 0x0029, 0x137b: 0x002b, - 0x137c: 0x002d, 0x137d: 0x002f, 0x137e: 0x0031, 0x137f: 0x0033, + 0x1340: 0x0063, 0x1341: 0x0065, 0x1342: 0x0067, 0x1343: 0x0069, 0x1344: 0x006b, 0x1345: 0x006d, + 0x1346: 0x006f, 0x1347: 0x0071, 0x1348: 0x0073, 0x1349: 0x0075, 0x134a: 0x0083, 0x134b: 0x0085, + 0x134c: 0x0087, 0x134d: 0x0089, 0x134e: 0x008b, 0x134f: 0x008d, 0x1350: 0x008f, 0x1351: 0x0091, + 0x1352: 0x0093, 0x1353: 0x0095, 0x1354: 0x0097, 0x1355: 0x0099, 0x1356: 0x009b, 0x1357: 0x009d, + 0x1358: 0x009f, 0x1359: 0x00a1, 0x135a: 0x00a3, 0x135b: 0x00a5, 0x135c: 0x00a7, 0x135d: 0x00a9, + 0x135e: 0x00ab, 0x135f: 0x00ad, 0x1360: 0x00af, 0x1361: 0x00b1, 0x1362: 0x00b3, 0x1363: 0x00b5, + 0x1364: 0x00dd, 0x1365: 0x00f2, 0x1368: 0x0173, 0x1369: 0x0176, + 0x136a: 0x0179, 0x136b: 0x017c, 0x136c: 0x017f, 0x136d: 0x0182, 0x136e: 0x0185, 0x136f: 0x0188, + 0x1370: 0x018b, 0x1371: 0x018e, 0x1372: 0x0191, 0x1373: 0x0194, 0x1374: 0x0197, 0x1375: 0x019a, + 0x1376: 0x019d, 0x1377: 0x01a0, 0x1378: 0x01a3, 0x1379: 0x0188, 0x137a: 0x01a6, 0x137b: 0x01a9, + 0x137c: 0x01ac, 0x137d: 0x01af, 0x137e: 0x01b2, 0x137f: 0x01b5, // Block 0x4e, offset 0x1380 - 0x1380: 0x0239, 0x1381: 0x023c, 0x1382: 0x0248, 0x1383: 0x0251, 0x1385: 0x028a, - 0x1386: 0x025a, 0x1387: 0x024b, 0x1388: 0x0269, 0x1389: 0x0290, 0x138a: 0x027b, 0x138b: 0x027e, - 0x138c: 0x0281, 0x138d: 0x0284, 0x138e: 0x025d, 0x138f: 0x026f, 0x1390: 0x0275, 0x1391: 0x0263, - 0x1392: 0x0278, 0x1393: 0x0257, 0x1394: 0x0260, 0x1395: 0x0242, 0x1396: 0x0245, 0x1397: 0x024e, - 0x1398: 0x0254, 0x1399: 0x0266, 0x139a: 0x026c, 0x139b: 0x0272, 0x139c: 0x0293, 0x139d: 0x02e4, - 0x139e: 0x02cc, 0x139f: 0x0296, 0x13a1: 0x023c, 0x13a2: 0x0248, - 0x13a4: 0x0287, 0x13a7: 0x024b, 0x13a9: 0x0290, - 0x13aa: 0x027b, 0x13ab: 0x027e, 0x13ac: 0x0281, 0x13ad: 0x0284, 0x13ae: 0x025d, 0x13af: 0x026f, - 0x13b0: 0x0275, 0x13b1: 0x0263, 0x13b2: 0x0278, 0x13b4: 0x0260, 0x13b5: 0x0242, - 0x13b6: 0x0245, 0x13b7: 0x024e, 0x13b9: 0x0266, 0x13bb: 0x0272, + 0x1380: 0x01fd, 0x1381: 0x0200, 0x1382: 0x0203, 0x1383: 0x045b, 0x1384: 0x01c7, 0x1385: 0x01d0, + 0x1386: 0x01d6, 0x1387: 0x01fa, 0x1388: 0x01eb, 0x1389: 0x01e8, 0x138a: 0x0206, 0x138b: 0x0209, + 0x138e: 0x0021, 0x138f: 0x0023, 0x1390: 0x0025, 0x1391: 0x0027, + 0x1392: 0x0029, 0x1393: 0x002b, 0x1394: 0x002d, 0x1395: 0x002f, 0x1396: 0x0031, 0x1397: 0x0033, + 0x1398: 0x0021, 0x1399: 0x0023, 0x139a: 0x0025, 0x139b: 0x0027, 0x139c: 0x0029, 0x139d: 0x002b, + 0x139e: 0x002d, 0x139f: 0x002f, 0x13a0: 0x0031, 0x13a1: 0x0033, 0x13a2: 0x0021, 0x13a3: 0x0023, + 0x13a4: 0x0025, 0x13a5: 0x0027, 0x13a6: 0x0029, 0x13a7: 0x002b, 0x13a8: 0x002d, 0x13a9: 0x002f, + 0x13aa: 0x0031, 0x13ab: 0x0033, 0x13ac: 0x0021, 0x13ad: 0x0023, 0x13ae: 0x0025, 0x13af: 0x0027, + 0x13b0: 0x0029, 0x13b1: 0x002b, 0x13b2: 0x002d, 0x13b3: 0x002f, 0x13b4: 0x0031, 0x13b5: 0x0033, + 0x13b6: 0x0021, 0x13b7: 0x0023, 0x13b8: 0x0025, 0x13b9: 0x0027, 0x13ba: 0x0029, 0x13bb: 0x002b, + 0x13bc: 0x002d, 0x13bd: 0x002f, 0x13be: 0x0031, 0x13bf: 0x0033, // Block 0x4f, offset 0x13c0 - 0x13c2: 0x0248, - 0x13c7: 0x024b, 0x13c9: 0x0290, 0x13cb: 0x027e, - 0x13cd: 0x0284, 0x13ce: 0x025d, 0x13cf: 0x026f, 0x13d1: 0x0263, - 0x13d2: 0x0278, 0x13d4: 0x0260, 0x13d7: 0x024e, - 0x13d9: 0x0266, 0x13db: 0x0272, 0x13dd: 0x02e4, - 0x13df: 0x0296, 0x13e1: 0x023c, 0x13e2: 0x0248, - 0x13e4: 0x0287, 0x13e7: 0x024b, 0x13e8: 0x0269, 0x13e9: 0x0290, - 0x13ea: 0x027b, 0x13ec: 0x0281, 0x13ed: 0x0284, 0x13ee: 0x025d, 0x13ef: 0x026f, + 0x13c0: 0x0239, 0x13c1: 0x023c, 0x13c2: 0x0248, 0x13c3: 0x0251, 0x13c5: 0x028a, + 0x13c6: 0x025a, 0x13c7: 0x024b, 0x13c8: 0x0269, 0x13c9: 0x0290, 0x13ca: 0x027b, 0x13cb: 0x027e, + 0x13cc: 0x0281, 0x13cd: 0x0284, 0x13ce: 0x025d, 0x13cf: 0x026f, 0x13d0: 0x0275, 0x13d1: 0x0263, + 0x13d2: 0x0278, 0x13d3: 0x0257, 0x13d4: 0x0260, 0x13d5: 0x0242, 0x13d6: 0x0245, 0x13d7: 0x024e, + 0x13d8: 0x0254, 0x13d9: 0x0266, 0x13da: 0x026c, 0x13db: 0x0272, 0x13dc: 0x0293, 0x13dd: 0x02e4, + 0x13de: 0x02cc, 0x13df: 0x0296, 0x13e1: 0x023c, 0x13e2: 0x0248, + 0x13e4: 0x0287, 0x13e7: 0x024b, 0x13e9: 0x0290, + 0x13ea: 0x027b, 0x13eb: 0x027e, 0x13ec: 0x0281, 0x13ed: 0x0284, 0x13ee: 0x025d, 0x13ef: 0x026f, 0x13f0: 0x0275, 0x13f1: 0x0263, 0x13f2: 0x0278, 0x13f4: 0x0260, 0x13f5: 0x0242, - 0x13f6: 0x0245, 0x13f7: 0x024e, 0x13f9: 0x0266, 0x13fa: 0x026c, 0x13fb: 0x0272, - 0x13fc: 0x0293, 0x13fe: 0x02cc, + 0x13f6: 0x0245, 0x13f7: 0x024e, 0x13f9: 0x0266, 0x13fb: 0x0272, // Block 0x50, offset 0x1400 - 0x1400: 0x0239, 0x1401: 0x023c, 0x1402: 0x0248, 0x1403: 0x0251, 0x1404: 0x0287, 0x1405: 0x028a, - 0x1406: 0x025a, 0x1407: 0x024b, 0x1408: 0x0269, 0x1409: 0x0290, 0x140b: 0x027e, - 0x140c: 0x0281, 0x140d: 0x0284, 0x140e: 0x025d, 0x140f: 0x026f, 0x1410: 0x0275, 0x1411: 0x0263, - 0x1412: 0x0278, 0x1413: 0x0257, 0x1414: 0x0260, 0x1415: 0x0242, 0x1416: 0x0245, 0x1417: 0x024e, - 0x1418: 0x0254, 0x1419: 0x0266, 0x141a: 0x026c, 0x141b: 0x0272, - 0x1421: 0x023c, 0x1422: 0x0248, 0x1423: 0x0251, - 0x1425: 0x028a, 0x1426: 0x025a, 0x1427: 0x024b, 0x1428: 0x0269, 0x1429: 0x0290, - 0x142b: 0x027e, 0x142c: 0x0281, 0x142d: 0x0284, 0x142e: 0x025d, 0x142f: 0x026f, - 0x1430: 0x0275, 0x1431: 0x0263, 0x1432: 0x0278, 0x1433: 0x0257, 0x1434: 0x0260, 0x1435: 0x0242, - 0x1436: 0x0245, 0x1437: 0x024e, 0x1438: 0x0254, 0x1439: 0x0266, 0x143a: 0x026c, 0x143b: 0x0272, + 0x1402: 0x0248, + 0x1407: 0x024b, 0x1409: 0x0290, 0x140b: 0x027e, + 0x140d: 0x0284, 0x140e: 0x025d, 0x140f: 0x026f, 0x1411: 0x0263, + 0x1412: 0x0278, 0x1414: 0x0260, 0x1417: 0x024e, + 0x1419: 0x0266, 0x141b: 0x0272, 0x141d: 0x02e4, + 0x141f: 0x0296, 0x1421: 0x023c, 0x1422: 0x0248, + 0x1424: 0x0287, 0x1427: 0x024b, 0x1428: 0x0269, 0x1429: 0x0290, + 0x142a: 0x027b, 0x142c: 0x0281, 0x142d: 0x0284, 0x142e: 0x025d, 0x142f: 0x026f, + 0x1430: 0x0275, 0x1431: 0x0263, 0x1432: 0x0278, 0x1434: 0x0260, 0x1435: 0x0242, + 0x1436: 0x0245, 0x1437: 0x024e, 0x1439: 0x0266, 0x143a: 0x026c, 0x143b: 0x0272, + 0x143c: 0x0293, 0x143e: 0x02cc, // Block 0x51, offset 0x1440 - 0x1440: 0x1879, 0x1441: 0x1876, 0x1442: 0x187c, 0x1443: 0x18a0, 0x1444: 0x18c4, 0x1445: 0x18e8, - 0x1446: 0x190c, 0x1447: 0x1915, 0x1448: 0x191b, 0x1449: 0x1921, 0x144a: 0x1927, - 0x1450: 0x1a8c, 0x1451: 0x1a90, - 0x1452: 0x1a94, 0x1453: 0x1a98, 0x1454: 0x1a9c, 0x1455: 0x1aa0, 0x1456: 0x1aa4, 0x1457: 0x1aa8, - 0x1458: 0x1aac, 0x1459: 0x1ab0, 0x145a: 0x1ab4, 0x145b: 0x1ab8, 0x145c: 0x1abc, 0x145d: 0x1ac0, - 0x145e: 0x1ac4, 0x145f: 0x1ac8, 0x1460: 0x1acc, 0x1461: 0x1ad0, 0x1462: 0x1ad4, 0x1463: 0x1ad8, - 0x1464: 0x1adc, 0x1465: 0x1ae0, 0x1466: 0x1ae4, 0x1467: 0x1ae8, 0x1468: 0x1aec, 0x1469: 0x1af0, - 0x146a: 0x271e, 0x146b: 0x0047, 0x146c: 0x0065, 0x146d: 0x193c, 0x146e: 0x19b1, - 0x1470: 0x0043, 0x1471: 0x0045, 0x1472: 0x0047, 0x1473: 0x0049, 0x1474: 0x004b, 0x1475: 0x004d, - 0x1476: 0x004f, 0x1477: 0x0051, 0x1478: 0x0053, 0x1479: 0x0055, 0x147a: 0x0057, 0x147b: 0x0059, - 0x147c: 0x005b, 0x147d: 0x005d, 0x147e: 0x005f, 0x147f: 0x0061, + 0x1440: 0x0239, 0x1441: 0x023c, 0x1442: 0x0248, 0x1443: 0x0251, 0x1444: 0x0287, 0x1445: 0x028a, + 0x1446: 0x025a, 0x1447: 0x024b, 0x1448: 0x0269, 0x1449: 0x0290, 0x144b: 0x027e, + 0x144c: 0x0281, 0x144d: 0x0284, 0x144e: 0x025d, 0x144f: 0x026f, 0x1450: 0x0275, 0x1451: 0x0263, + 0x1452: 0x0278, 0x1453: 0x0257, 0x1454: 0x0260, 0x1455: 0x0242, 0x1456: 0x0245, 0x1457: 0x024e, + 0x1458: 0x0254, 0x1459: 0x0266, 0x145a: 0x026c, 0x145b: 0x0272, + 0x1461: 0x023c, 0x1462: 0x0248, 0x1463: 0x0251, + 0x1465: 0x028a, 0x1466: 0x025a, 0x1467: 0x024b, 0x1468: 0x0269, 0x1469: 0x0290, + 0x146b: 0x027e, 0x146c: 0x0281, 0x146d: 0x0284, 0x146e: 0x025d, 0x146f: 0x026f, + 0x1470: 0x0275, 0x1471: 0x0263, 0x1472: 0x0278, 0x1473: 0x0257, 0x1474: 0x0260, 0x1475: 0x0242, + 0x1476: 0x0245, 0x1477: 0x024e, 0x1478: 0x0254, 0x1479: 0x0266, 0x147a: 0x026c, 0x147b: 0x0272, // Block 0x52, offset 0x1480 - 0x1480: 0x26ad, 0x1481: 0x26c2, 0x1482: 0x0503, - 0x1490: 0x0c0f, 0x1491: 0x0a47, - 0x1492: 0x08d3, 0x1493: 0x45c4, 0x1494: 0x071b, 0x1495: 0x09ef, 0x1496: 0x132f, 0x1497: 0x09ff, - 0x1498: 0x0727, 0x1499: 0x0cd7, 0x149a: 0x0eaf, 0x149b: 0x0caf, 0x149c: 0x0827, 0x149d: 0x0b6b, - 0x149e: 0x07bf, 0x149f: 0x0cb7, 0x14a0: 0x0813, 0x14a1: 0x1117, 0x14a2: 0x0f83, 0x14a3: 0x138b, - 0x14a4: 0x09d3, 0x14a5: 0x090b, 0x14a6: 0x0e63, 0x14a7: 0x0c1b, 0x14a8: 0x0c47, 0x14a9: 0x06bf, - 0x14aa: 0x06cb, 0x14ab: 0x140b, 0x14ac: 0x0adb, 0x14ad: 0x06e7, 0x14ae: 0x08ef, 0x14af: 0x0c3b, - 0x14b0: 0x13b3, 0x14b1: 0x0c13, 0x14b2: 0x106f, 0x14b3: 0x10ab, 0x14b4: 0x08f7, 0x14b5: 0x0e43, - 0x14b6: 0x0d0b, 0x14b7: 0x0d07, 0x14b8: 0x0f97, 0x14b9: 0x082b, 0x14ba: 0x0957, 0x14bb: 0x1443, + 0x1480: 0x1879, 0x1481: 0x1876, 0x1482: 0x187c, 0x1483: 0x18a0, 0x1484: 0x18c4, 0x1485: 0x18e8, + 0x1486: 0x190c, 0x1487: 0x1915, 0x1488: 0x191b, 0x1489: 0x1921, 0x148a: 0x1927, + 0x1490: 0x1a8c, 0x1491: 0x1a90, + 0x1492: 0x1a94, 0x1493: 0x1a98, 0x1494: 0x1a9c, 0x1495: 0x1aa0, 0x1496: 0x1aa4, 0x1497: 0x1aa8, + 0x1498: 0x1aac, 0x1499: 0x1ab0, 0x149a: 0x1ab4, 0x149b: 0x1ab8, 0x149c: 0x1abc, 0x149d: 0x1ac0, + 0x149e: 0x1ac4, 0x149f: 0x1ac8, 0x14a0: 0x1acc, 0x14a1: 0x1ad0, 0x14a2: 0x1ad4, 0x14a3: 0x1ad8, + 0x14a4: 0x1adc, 0x14a5: 0x1ae0, 0x14a6: 0x1ae4, 0x14a7: 0x1ae8, 0x14a8: 0x1aec, 0x14a9: 0x1af0, + 0x14aa: 0x271e, 0x14ab: 0x0047, 0x14ac: 0x0065, 0x14ad: 0x193c, 0x14ae: 0x19b1, + 0x14b0: 0x0043, 0x14b1: 0x0045, 0x14b2: 0x0047, 0x14b3: 0x0049, 0x14b4: 0x004b, 0x14b5: 0x004d, + 0x14b6: 0x004f, 0x14b7: 0x0051, 0x14b8: 0x0053, 0x14b9: 0x0055, 0x14ba: 0x0057, 0x14bb: 0x0059, + 0x14bc: 0x005b, 0x14bd: 0x005d, 0x14be: 0x005f, 0x14bf: 0x0061, // Block 0x53, offset 0x14c0 - 0x14c0: 0x06fb, 0x14c1: 0x06f3, 0x14c2: 0x0703, 0x14c3: 0x1647, 0x14c4: 0x0747, 0x14c5: 0x0757, - 0x14c6: 0x075b, 0x14c7: 0x0763, 0x14c8: 0x076b, 0x14c9: 0x076f, 0x14ca: 0x077b, 0x14cb: 0x0773, - 0x14cc: 0x05b3, 0x14cd: 0x165b, 0x14ce: 0x078f, 0x14cf: 0x0793, 0x14d0: 0x0797, 0x14d1: 0x07b3, - 0x14d2: 0x164c, 0x14d3: 0x05b7, 0x14d4: 0x079f, 0x14d5: 0x07bf, 0x14d6: 0x1656, 0x14d7: 0x07cf, - 0x14d8: 0x07d7, 0x14d9: 0x0737, 0x14da: 0x07df, 0x14db: 0x07e3, 0x14dc: 0x1831, 0x14dd: 0x07ff, - 0x14de: 0x0807, 0x14df: 0x05bf, 0x14e0: 0x081f, 0x14e1: 0x0823, 0x14e2: 0x082b, 0x14e3: 0x082f, - 0x14e4: 0x05c3, 0x14e5: 0x0847, 0x14e6: 0x084b, 0x14e7: 0x0857, 0x14e8: 0x0863, 0x14e9: 0x0867, - 0x14ea: 0x086b, 0x14eb: 0x0873, 0x14ec: 0x0893, 0x14ed: 0x0897, 0x14ee: 0x089f, 0x14ef: 0x08af, - 0x14f0: 0x08b7, 0x14f1: 0x08bb, 0x14f2: 0x08bb, 0x14f3: 0x08bb, 0x14f4: 0x166a, 0x14f5: 0x0e93, - 0x14f6: 0x08cf, 0x14f7: 0x08d7, 0x14f8: 0x166f, 0x14f9: 0x08e3, 0x14fa: 0x08eb, 0x14fb: 0x08f3, - 0x14fc: 0x091b, 0x14fd: 0x0907, 0x14fe: 0x0913, 0x14ff: 0x0917, + 0x14c0: 0x26ad, 0x14c1: 0x26c2, 0x14c2: 0x0503, + 0x14d0: 0x0c0f, 0x14d1: 0x0a47, + 0x14d2: 0x08d3, 0x14d3: 0x45c4, 0x14d4: 0x071b, 0x14d5: 0x09ef, 0x14d6: 0x132f, 0x14d7: 0x09ff, + 0x14d8: 0x0727, 0x14d9: 0x0cd7, 0x14da: 0x0eaf, 0x14db: 0x0caf, 0x14dc: 0x0827, 0x14dd: 0x0b6b, + 0x14de: 0x07bf, 0x14df: 0x0cb7, 0x14e0: 0x0813, 0x14e1: 0x1117, 0x14e2: 0x0f83, 0x14e3: 0x138b, + 0x14e4: 0x09d3, 0x14e5: 0x090b, 0x14e6: 0x0e63, 0x14e7: 0x0c1b, 0x14e8: 0x0c47, 0x14e9: 0x06bf, + 0x14ea: 0x06cb, 0x14eb: 0x140b, 0x14ec: 0x0adb, 0x14ed: 0x06e7, 0x14ee: 0x08ef, 0x14ef: 0x0c3b, + 0x14f0: 0x13b3, 0x14f1: 0x0c13, 0x14f2: 0x106f, 0x14f3: 0x10ab, 0x14f4: 0x08f7, 0x14f5: 0x0e43, + 0x14f6: 0x0d0b, 0x14f7: 0x0d07, 0x14f8: 0x0f97, 0x14f9: 0x082b, 0x14fa: 0x0957, 0x14fb: 0x1443, // Block 0x54, offset 0x1500 - 0x1500: 0x091f, 0x1501: 0x0927, 0x1502: 0x092b, 0x1503: 0x0933, 0x1504: 0x093b, 0x1505: 0x093f, - 0x1506: 0x093f, 0x1507: 0x0947, 0x1508: 0x094f, 0x1509: 0x0953, 0x150a: 0x095f, 0x150b: 0x0983, - 0x150c: 0x0967, 0x150d: 0x0987, 0x150e: 0x096b, 0x150f: 0x0973, 0x1510: 0x080b, 0x1511: 0x09cf, - 0x1512: 0x0997, 0x1513: 0x099b, 0x1514: 0x099f, 0x1515: 0x0993, 0x1516: 0x09a7, 0x1517: 0x09a3, - 0x1518: 0x09bb, 0x1519: 0x1674, 0x151a: 0x09d7, 0x151b: 0x09db, 0x151c: 0x09e3, 0x151d: 0x09ef, - 0x151e: 0x09f7, 0x151f: 0x0a13, 0x1520: 0x1679, 0x1521: 0x167e, 0x1522: 0x0a1f, 0x1523: 0x0a23, - 0x1524: 0x0a27, 0x1525: 0x0a1b, 0x1526: 0x0a2f, 0x1527: 0x05c7, 0x1528: 0x05cb, 0x1529: 0x0a37, - 0x152a: 0x0a3f, 0x152b: 0x0a3f, 0x152c: 0x1683, 0x152d: 0x0a5b, 0x152e: 0x0a5f, 0x152f: 0x0a63, - 0x1530: 0x0a6b, 0x1531: 0x1688, 0x1532: 0x0a73, 0x1533: 0x0a77, 0x1534: 0x0b4f, 0x1535: 0x0a7f, - 0x1536: 0x05cf, 0x1537: 0x0a8b, 0x1538: 0x0a9b, 0x1539: 0x0aa7, 0x153a: 0x0aa3, 0x153b: 0x1692, - 0x153c: 0x0aaf, 0x153d: 0x1697, 0x153e: 0x0abb, 0x153f: 0x0ab7, + 0x1500: 0x06fb, 0x1501: 0x06f3, 0x1502: 0x0703, 0x1503: 0x1647, 0x1504: 0x0747, 0x1505: 0x0757, + 0x1506: 0x075b, 0x1507: 0x0763, 0x1508: 0x076b, 0x1509: 0x076f, 0x150a: 0x077b, 0x150b: 0x0773, + 0x150c: 0x05b3, 0x150d: 0x165b, 0x150e: 0x078f, 0x150f: 0x0793, 0x1510: 0x0797, 0x1511: 0x07b3, + 0x1512: 0x164c, 0x1513: 0x05b7, 0x1514: 0x079f, 0x1515: 0x07bf, 0x1516: 0x1656, 0x1517: 0x07cf, + 0x1518: 0x07d7, 0x1519: 0x0737, 0x151a: 0x07df, 0x151b: 0x07e3, 0x151c: 0x1831, 0x151d: 0x07ff, + 0x151e: 0x0807, 0x151f: 0x05bf, 0x1520: 0x081f, 0x1521: 0x0823, 0x1522: 0x082b, 0x1523: 0x082f, + 0x1524: 0x05c3, 0x1525: 0x0847, 0x1526: 0x084b, 0x1527: 0x0857, 0x1528: 0x0863, 0x1529: 0x0867, + 0x152a: 0x086b, 0x152b: 0x0873, 0x152c: 0x0893, 0x152d: 0x0897, 0x152e: 0x089f, 0x152f: 0x08af, + 0x1530: 0x08b7, 0x1531: 0x08bb, 0x1532: 0x08bb, 0x1533: 0x08bb, 0x1534: 0x166a, 0x1535: 0x0e93, + 0x1536: 0x08cf, 0x1537: 0x08d7, 0x1538: 0x166f, 0x1539: 0x08e3, 0x153a: 0x08eb, 0x153b: 0x08f3, + 0x153c: 0x091b, 0x153d: 0x0907, 0x153e: 0x0913, 0x153f: 0x0917, // Block 0x55, offset 0x1540 - 0x1540: 0x0abf, 0x1541: 0x0acf, 0x1542: 0x0ad3, 0x1543: 0x05d3, 0x1544: 0x0ae3, 0x1545: 0x0aeb, - 0x1546: 0x0aef, 0x1547: 0x0af3, 0x1548: 0x05d7, 0x1549: 0x169c, 0x154a: 0x05db, 0x154b: 0x0b0f, - 0x154c: 0x0b13, 0x154d: 0x0b17, 0x154e: 0x0b1f, 0x154f: 0x1863, 0x1550: 0x0b37, 0x1551: 0x16a6, - 0x1552: 0x16a6, 0x1553: 0x11d7, 0x1554: 0x0b47, 0x1555: 0x0b47, 0x1556: 0x05df, 0x1557: 0x16c9, - 0x1558: 0x179b, 0x1559: 0x0b57, 0x155a: 0x0b5f, 0x155b: 0x05e3, 0x155c: 0x0b73, 0x155d: 0x0b83, - 0x155e: 0x0b87, 0x155f: 0x0b8f, 0x1560: 0x0b9f, 0x1561: 0x05eb, 0x1562: 0x05e7, 0x1563: 0x0ba3, - 0x1564: 0x16ab, 0x1565: 0x0ba7, 0x1566: 0x0bbb, 0x1567: 0x0bbf, 0x1568: 0x0bc3, 0x1569: 0x0bbf, - 0x156a: 0x0bcf, 0x156b: 0x0bd3, 0x156c: 0x0be3, 0x156d: 0x0bdb, 0x156e: 0x0bdf, 0x156f: 0x0be7, - 0x1570: 0x0beb, 0x1571: 0x0bef, 0x1572: 0x0bfb, 0x1573: 0x0bff, 0x1574: 0x0c17, 0x1575: 0x0c1f, - 0x1576: 0x0c2f, 0x1577: 0x0c43, 0x1578: 0x16ba, 0x1579: 0x0c3f, 0x157a: 0x0c33, 0x157b: 0x0c4b, - 0x157c: 0x0c53, 0x157d: 0x0c67, 0x157e: 0x16bf, 0x157f: 0x0c6f, + 0x1540: 0x091f, 0x1541: 0x0927, 0x1542: 0x092b, 0x1543: 0x0933, 0x1544: 0x093b, 0x1545: 0x093f, + 0x1546: 0x093f, 0x1547: 0x0947, 0x1548: 0x094f, 0x1549: 0x0953, 0x154a: 0x095f, 0x154b: 0x0983, + 0x154c: 0x0967, 0x154d: 0x0987, 0x154e: 0x096b, 0x154f: 0x0973, 0x1550: 0x080b, 0x1551: 0x09cf, + 0x1552: 0x0997, 0x1553: 0x099b, 0x1554: 0x099f, 0x1555: 0x0993, 0x1556: 0x09a7, 0x1557: 0x09a3, + 0x1558: 0x09bb, 0x1559: 0x1674, 0x155a: 0x09d7, 0x155b: 0x09db, 0x155c: 0x09e3, 0x155d: 0x09ef, + 0x155e: 0x09f7, 0x155f: 0x0a13, 0x1560: 0x1679, 0x1561: 0x167e, 0x1562: 0x0a1f, 0x1563: 0x0a23, + 0x1564: 0x0a27, 0x1565: 0x0a1b, 0x1566: 0x0a2f, 0x1567: 0x05c7, 0x1568: 0x05cb, 0x1569: 0x0a37, + 0x156a: 0x0a3f, 0x156b: 0x0a3f, 0x156c: 0x1683, 0x156d: 0x0a5b, 0x156e: 0x0a5f, 0x156f: 0x0a63, + 0x1570: 0x0a6b, 0x1571: 0x1688, 0x1572: 0x0a73, 0x1573: 0x0a77, 0x1574: 0x0b4f, 0x1575: 0x0a7f, + 0x1576: 0x05cf, 0x1577: 0x0a8b, 0x1578: 0x0a9b, 0x1579: 0x0aa7, 0x157a: 0x0aa3, 0x157b: 0x1692, + 0x157c: 0x0aaf, 0x157d: 0x1697, 0x157e: 0x0abb, 0x157f: 0x0ab7, // Block 0x56, offset 0x1580 - 0x1580: 0x0c63, 0x1581: 0x0c5b, 0x1582: 0x05ef, 0x1583: 0x0c77, 0x1584: 0x0c7f, 0x1585: 0x0c87, - 0x1586: 0x0c7b, 0x1587: 0x05f3, 0x1588: 0x0c97, 0x1589: 0x0c9f, 0x158a: 0x16c4, 0x158b: 0x0ccb, - 0x158c: 0x0cff, 0x158d: 0x0cdb, 0x158e: 0x05ff, 0x158f: 0x0ce7, 0x1590: 0x05fb, 0x1591: 0x05f7, - 0x1592: 0x07c3, 0x1593: 0x07c7, 0x1594: 0x0d03, 0x1595: 0x0ceb, 0x1596: 0x11ab, 0x1597: 0x0663, - 0x1598: 0x0d0f, 0x1599: 0x0d13, 0x159a: 0x0d17, 0x159b: 0x0d2b, 0x159c: 0x0d23, 0x159d: 0x16dd, - 0x159e: 0x0603, 0x159f: 0x0d3f, 0x15a0: 0x0d33, 0x15a1: 0x0d4f, 0x15a2: 0x0d57, 0x15a3: 0x16e7, - 0x15a4: 0x0d5b, 0x15a5: 0x0d47, 0x15a6: 0x0d63, 0x15a7: 0x0607, 0x15a8: 0x0d67, 0x15a9: 0x0d6b, - 0x15aa: 0x0d6f, 0x15ab: 0x0d7b, 0x15ac: 0x16ec, 0x15ad: 0x0d83, 0x15ae: 0x060b, 0x15af: 0x0d8f, - 0x15b0: 0x16f1, 0x15b1: 0x0d93, 0x15b2: 0x060f, 0x15b3: 0x0d9f, 0x15b4: 0x0dab, 0x15b5: 0x0db7, - 0x15b6: 0x0dbb, 0x15b7: 0x16f6, 0x15b8: 0x168d, 0x15b9: 0x16fb, 0x15ba: 0x0ddb, 0x15bb: 0x1700, - 0x15bc: 0x0de7, 0x15bd: 0x0def, 0x15be: 0x0ddf, 0x15bf: 0x0dfb, + 0x1580: 0x0abf, 0x1581: 0x0acf, 0x1582: 0x0ad3, 0x1583: 0x05d3, 0x1584: 0x0ae3, 0x1585: 0x0aeb, + 0x1586: 0x0aef, 0x1587: 0x0af3, 0x1588: 0x05d7, 0x1589: 0x169c, 0x158a: 0x05db, 0x158b: 0x0b0f, + 0x158c: 0x0b13, 0x158d: 0x0b17, 0x158e: 0x0b1f, 0x158f: 0x1863, 0x1590: 0x0b37, 0x1591: 0x16a6, + 0x1592: 0x16a6, 0x1593: 0x11d7, 0x1594: 0x0b47, 0x1595: 0x0b47, 0x1596: 0x05df, 0x1597: 0x16c9, + 0x1598: 0x179b, 0x1599: 0x0b57, 0x159a: 0x0b5f, 0x159b: 0x05e3, 0x159c: 0x0b73, 0x159d: 0x0b83, + 0x159e: 0x0b87, 0x159f: 0x0b8f, 0x15a0: 0x0b9f, 0x15a1: 0x05eb, 0x15a2: 0x05e7, 0x15a3: 0x0ba3, + 0x15a4: 0x16ab, 0x15a5: 0x0ba7, 0x15a6: 0x0bbb, 0x15a7: 0x0bbf, 0x15a8: 0x0bc3, 0x15a9: 0x0bbf, + 0x15aa: 0x0bcf, 0x15ab: 0x0bd3, 0x15ac: 0x0be3, 0x15ad: 0x0bdb, 0x15ae: 0x0bdf, 0x15af: 0x0be7, + 0x15b0: 0x0beb, 0x15b1: 0x0bef, 0x15b2: 0x0bfb, 0x15b3: 0x0bff, 0x15b4: 0x0c17, 0x15b5: 0x0c1f, + 0x15b6: 0x0c2f, 0x15b7: 0x0c43, 0x15b8: 0x16ba, 0x15b9: 0x0c3f, 0x15ba: 0x0c33, 0x15bb: 0x0c4b, + 0x15bc: 0x0c53, 0x15bd: 0x0c67, 0x15be: 0x16bf, 0x15bf: 0x0c6f, // Block 0x57, offset 0x15c0 - 0x15c0: 0x0e0b, 0x15c1: 0x0e1b, 0x15c2: 0x0e0f, 0x15c3: 0x0e13, 0x15c4: 0x0e1f, 0x15c5: 0x0e23, - 0x15c6: 0x1705, 0x15c7: 0x0e07, 0x15c8: 0x0e3b, 0x15c9: 0x0e3f, 0x15ca: 0x0613, 0x15cb: 0x0e53, - 0x15cc: 0x0e4f, 0x15cd: 0x170a, 0x15ce: 0x0e33, 0x15cf: 0x0e6f, 0x15d0: 0x170f, 0x15d1: 0x1714, - 0x15d2: 0x0e73, 0x15d3: 0x0e87, 0x15d4: 0x0e83, 0x15d5: 0x0e7f, 0x15d6: 0x0617, 0x15d7: 0x0e8b, - 0x15d8: 0x0e9b, 0x15d9: 0x0e97, 0x15da: 0x0ea3, 0x15db: 0x1651, 0x15dc: 0x0eb3, 0x15dd: 0x1719, - 0x15de: 0x0ebf, 0x15df: 0x1723, 0x15e0: 0x0ed3, 0x15e1: 0x0edf, 0x15e2: 0x0ef3, 0x15e3: 0x1728, - 0x15e4: 0x0f07, 0x15e5: 0x0f0b, 0x15e6: 0x172d, 0x15e7: 0x1732, 0x15e8: 0x0f27, 0x15e9: 0x0f37, - 0x15ea: 0x061b, 0x15eb: 0x0f3b, 0x15ec: 0x061f, 0x15ed: 0x061f, 0x15ee: 0x0f53, 0x15ef: 0x0f57, - 0x15f0: 0x0f5f, 0x15f1: 0x0f63, 0x15f2: 0x0f6f, 0x15f3: 0x0623, 0x15f4: 0x0f87, 0x15f5: 0x1737, - 0x15f6: 0x0fa3, 0x15f7: 0x173c, 0x15f8: 0x0faf, 0x15f9: 0x16a1, 0x15fa: 0x0fbf, 0x15fb: 0x1741, - 0x15fc: 0x1746, 0x15fd: 0x174b, 0x15fe: 0x0627, 0x15ff: 0x062b, + 0x15c0: 0x0c63, 0x15c1: 0x0c5b, 0x15c2: 0x05ef, 0x15c3: 0x0c77, 0x15c4: 0x0c7f, 0x15c5: 0x0c87, + 0x15c6: 0x0c7b, 0x15c7: 0x05f3, 0x15c8: 0x0c97, 0x15c9: 0x0c9f, 0x15ca: 0x16c4, 0x15cb: 0x0ccb, + 0x15cc: 0x0cff, 0x15cd: 0x0cdb, 0x15ce: 0x05ff, 0x15cf: 0x0ce7, 0x15d0: 0x05fb, 0x15d1: 0x05f7, + 0x15d2: 0x07c3, 0x15d3: 0x07c7, 0x15d4: 0x0d03, 0x15d5: 0x0ceb, 0x15d6: 0x11ab, 0x15d7: 0x0663, + 0x15d8: 0x0d0f, 0x15d9: 0x0d13, 0x15da: 0x0d17, 0x15db: 0x0d2b, 0x15dc: 0x0d23, 0x15dd: 0x16dd, + 0x15de: 0x0603, 0x15df: 0x0d3f, 0x15e0: 0x0d33, 0x15e1: 0x0d4f, 0x15e2: 0x0d57, 0x15e3: 0x16e7, + 0x15e4: 0x0d5b, 0x15e5: 0x0d47, 0x15e6: 0x0d63, 0x15e7: 0x0607, 0x15e8: 0x0d67, 0x15e9: 0x0d6b, + 0x15ea: 0x0d6f, 0x15eb: 0x0d7b, 0x15ec: 0x16ec, 0x15ed: 0x0d83, 0x15ee: 0x060b, 0x15ef: 0x0d8f, + 0x15f0: 0x16f1, 0x15f1: 0x0d93, 0x15f2: 0x060f, 0x15f3: 0x0d9f, 0x15f4: 0x0dab, 0x15f5: 0x0db7, + 0x15f6: 0x0dbb, 0x15f7: 0x16f6, 0x15f8: 0x168d, 0x15f9: 0x16fb, 0x15fa: 0x0ddb, 0x15fb: 0x1700, + 0x15fc: 0x0de7, 0x15fd: 0x0def, 0x15fe: 0x0ddf, 0x15ff: 0x0dfb, // Block 0x58, offset 0x1600 - 0x1600: 0x0ff7, 0x1601: 0x1755, 0x1602: 0x1750, 0x1603: 0x175a, 0x1604: 0x175f, 0x1605: 0x0fff, - 0x1606: 0x1003, 0x1607: 0x1003, 0x1608: 0x100b, 0x1609: 0x0633, 0x160a: 0x100f, 0x160b: 0x0637, - 0x160c: 0x063b, 0x160d: 0x1769, 0x160e: 0x1023, 0x160f: 0x102b, 0x1610: 0x1037, 0x1611: 0x063f, - 0x1612: 0x176e, 0x1613: 0x105b, 0x1614: 0x1773, 0x1615: 0x1778, 0x1616: 0x107b, 0x1617: 0x1093, - 0x1618: 0x0643, 0x1619: 0x109b, 0x161a: 0x109f, 0x161b: 0x10a3, 0x161c: 0x177d, 0x161d: 0x1782, - 0x161e: 0x1782, 0x161f: 0x10bb, 0x1620: 0x0647, 0x1621: 0x1787, 0x1622: 0x10cf, 0x1623: 0x10d3, - 0x1624: 0x064b, 0x1625: 0x178c, 0x1626: 0x10ef, 0x1627: 0x064f, 0x1628: 0x10ff, 0x1629: 0x10f7, - 0x162a: 0x1107, 0x162b: 0x1796, 0x162c: 0x111f, 0x162d: 0x0653, 0x162e: 0x112b, 0x162f: 0x1133, - 0x1630: 0x1143, 0x1631: 0x0657, 0x1632: 0x17a0, 0x1633: 0x17a5, 0x1634: 0x065b, 0x1635: 0x17aa, - 0x1636: 0x115b, 0x1637: 0x17af, 0x1638: 0x1167, 0x1639: 0x1173, 0x163a: 0x117b, 0x163b: 0x17b4, - 0x163c: 0x17b9, 0x163d: 0x118f, 0x163e: 0x17be, 0x163f: 0x1197, + 0x1600: 0x0e0b, 0x1601: 0x0e1b, 0x1602: 0x0e0f, 0x1603: 0x0e13, 0x1604: 0x0e1f, 0x1605: 0x0e23, + 0x1606: 0x1705, 0x1607: 0x0e07, 0x1608: 0x0e3b, 0x1609: 0x0e3f, 0x160a: 0x0613, 0x160b: 0x0e53, + 0x160c: 0x0e4f, 0x160d: 0x170a, 0x160e: 0x0e33, 0x160f: 0x0e6f, 0x1610: 0x170f, 0x1611: 0x1714, + 0x1612: 0x0e73, 0x1613: 0x0e87, 0x1614: 0x0e83, 0x1615: 0x0e7f, 0x1616: 0x0617, 0x1617: 0x0e8b, + 0x1618: 0x0e9b, 0x1619: 0x0e97, 0x161a: 0x0ea3, 0x161b: 0x1651, 0x161c: 0x0eb3, 0x161d: 0x1719, + 0x161e: 0x0ebf, 0x161f: 0x1723, 0x1620: 0x0ed3, 0x1621: 0x0edf, 0x1622: 0x0ef3, 0x1623: 0x1728, + 0x1624: 0x0f07, 0x1625: 0x0f0b, 0x1626: 0x172d, 0x1627: 0x1732, 0x1628: 0x0f27, 0x1629: 0x0f37, + 0x162a: 0x061b, 0x162b: 0x0f3b, 0x162c: 0x061f, 0x162d: 0x061f, 0x162e: 0x0f53, 0x162f: 0x0f57, + 0x1630: 0x0f5f, 0x1631: 0x0f63, 0x1632: 0x0f6f, 0x1633: 0x0623, 0x1634: 0x0f87, 0x1635: 0x1737, + 0x1636: 0x0fa3, 0x1637: 0x173c, 0x1638: 0x0faf, 0x1639: 0x16a1, 0x163a: 0x0fbf, 0x163b: 0x1741, + 0x163c: 0x1746, 0x163d: 0x174b, 0x163e: 0x0627, 0x163f: 0x062b, // Block 0x59, offset 0x1640 - 0x1640: 0x16ce, 0x1641: 0x065f, 0x1642: 0x11af, 0x1643: 0x11b3, 0x1644: 0x0667, 0x1645: 0x11b7, - 0x1646: 0x0a33, 0x1647: 0x17c3, 0x1648: 0x17c8, 0x1649: 0x16d3, 0x164a: 0x16d8, 0x164b: 0x11d7, - 0x164c: 0x11db, 0x164d: 0x13f3, 0x164e: 0x066b, 0x164f: 0x1207, 0x1650: 0x1203, 0x1651: 0x120b, - 0x1652: 0x083f, 0x1653: 0x120f, 0x1654: 0x1213, 0x1655: 0x1217, 0x1656: 0x121f, 0x1657: 0x17cd, - 0x1658: 0x121b, 0x1659: 0x1223, 0x165a: 0x1237, 0x165b: 0x123b, 0x165c: 0x1227, 0x165d: 0x123f, - 0x165e: 0x1253, 0x165f: 0x1267, 0x1660: 0x1233, 0x1661: 0x1247, 0x1662: 0x124b, 0x1663: 0x124f, - 0x1664: 0x17d2, 0x1665: 0x17dc, 0x1666: 0x17d7, 0x1667: 0x066f, 0x1668: 0x126f, 0x1669: 0x1273, - 0x166a: 0x127b, 0x166b: 0x17f0, 0x166c: 0x127f, 0x166d: 0x17e1, 0x166e: 0x0673, 0x166f: 0x0677, - 0x1670: 0x17e6, 0x1671: 0x17eb, 0x1672: 0x067b, 0x1673: 0x129f, 0x1674: 0x12a3, 0x1675: 0x12a7, - 0x1676: 0x12ab, 0x1677: 0x12b7, 0x1678: 0x12b3, 0x1679: 0x12bf, 0x167a: 0x12bb, 0x167b: 0x12cb, - 0x167c: 0x12c3, 0x167d: 0x12c7, 0x167e: 0x12cf, 0x167f: 0x067f, + 0x1640: 0x0ff7, 0x1641: 0x1755, 0x1642: 0x1750, 0x1643: 0x175a, 0x1644: 0x175f, 0x1645: 0x0fff, + 0x1646: 0x1003, 0x1647: 0x1003, 0x1648: 0x100b, 0x1649: 0x0633, 0x164a: 0x100f, 0x164b: 0x0637, + 0x164c: 0x063b, 0x164d: 0x1769, 0x164e: 0x1023, 0x164f: 0x102b, 0x1650: 0x1037, 0x1651: 0x063f, + 0x1652: 0x176e, 0x1653: 0x105b, 0x1654: 0x1773, 0x1655: 0x1778, 0x1656: 0x107b, 0x1657: 0x1093, + 0x1658: 0x0643, 0x1659: 0x109b, 0x165a: 0x109f, 0x165b: 0x10a3, 0x165c: 0x177d, 0x165d: 0x1782, + 0x165e: 0x1782, 0x165f: 0x10bb, 0x1660: 0x0647, 0x1661: 0x1787, 0x1662: 0x10cf, 0x1663: 0x10d3, + 0x1664: 0x064b, 0x1665: 0x178c, 0x1666: 0x10ef, 0x1667: 0x064f, 0x1668: 0x10ff, 0x1669: 0x10f7, + 0x166a: 0x1107, 0x166b: 0x1796, 0x166c: 0x111f, 0x166d: 0x0653, 0x166e: 0x112b, 0x166f: 0x1133, + 0x1670: 0x1143, 0x1671: 0x0657, 0x1672: 0x17a0, 0x1673: 0x17a5, 0x1674: 0x065b, 0x1675: 0x17aa, + 0x1676: 0x115b, 0x1677: 0x17af, 0x1678: 0x1167, 0x1679: 0x1173, 0x167a: 0x117b, 0x167b: 0x17b4, + 0x167c: 0x17b9, 0x167d: 0x118f, 0x167e: 0x17be, 0x167f: 0x1197, // Block 0x5a, offset 0x1680 - 0x1680: 0x12d7, 0x1681: 0x12db, 0x1682: 0x0683, 0x1683: 0x12eb, 0x1684: 0x12ef, 0x1685: 0x17f5, - 0x1686: 0x12fb, 0x1687: 0x12ff, 0x1688: 0x0687, 0x1689: 0x130b, 0x168a: 0x05bb, 0x168b: 0x17fa, - 0x168c: 0x17ff, 0x168d: 0x068b, 0x168e: 0x068f, 0x168f: 0x1337, 0x1690: 0x134f, 0x1691: 0x136b, - 0x1692: 0x137b, 0x1693: 0x1804, 0x1694: 0x138f, 0x1695: 0x1393, 0x1696: 0x13ab, 0x1697: 0x13b7, - 0x1698: 0x180e, 0x1699: 0x1660, 0x169a: 0x13c3, 0x169b: 0x13bf, 0x169c: 0x13cb, 0x169d: 0x1665, - 0x169e: 0x13d7, 0x169f: 0x13e3, 0x16a0: 0x1813, 0x16a1: 0x1818, 0x16a2: 0x1423, 0x16a3: 0x142f, - 0x16a4: 0x1437, 0x16a5: 0x181d, 0x16a6: 0x143b, 0x16a7: 0x1467, 0x16a8: 0x1473, 0x16a9: 0x1477, - 0x16aa: 0x146f, 0x16ab: 0x1483, 0x16ac: 0x1487, 0x16ad: 0x1822, 0x16ae: 0x1493, 0x16af: 0x0693, - 0x16b0: 0x149b, 0x16b1: 0x1827, 0x16b2: 0x0697, 0x16b3: 0x14d3, 0x16b4: 0x0ac3, 0x16b5: 0x14eb, - 0x16b6: 0x182c, 0x16b7: 0x1836, 0x16b8: 0x069b, 0x16b9: 0x069f, 0x16ba: 0x1513, 0x16bb: 0x183b, - 0x16bc: 0x06a3, 0x16bd: 0x1840, 0x16be: 0x152b, 0x16bf: 0x152b, + 0x1680: 0x16ce, 0x1681: 0x065f, 0x1682: 0x11af, 0x1683: 0x11b3, 0x1684: 0x0667, 0x1685: 0x11b7, + 0x1686: 0x0a33, 0x1687: 0x17c3, 0x1688: 0x17c8, 0x1689: 0x16d3, 0x168a: 0x16d8, 0x168b: 0x11d7, + 0x168c: 0x11db, 0x168d: 0x13f3, 0x168e: 0x066b, 0x168f: 0x1207, 0x1690: 0x1203, 0x1691: 0x120b, + 0x1692: 0x083f, 0x1693: 0x120f, 0x1694: 0x1213, 0x1695: 0x1217, 0x1696: 0x121f, 0x1697: 0x17cd, + 0x1698: 0x121b, 0x1699: 0x1223, 0x169a: 0x1237, 0x169b: 0x123b, 0x169c: 0x1227, 0x169d: 0x123f, + 0x169e: 0x1253, 0x169f: 0x1267, 0x16a0: 0x1233, 0x16a1: 0x1247, 0x16a2: 0x124b, 0x16a3: 0x124f, + 0x16a4: 0x17d2, 0x16a5: 0x17dc, 0x16a6: 0x17d7, 0x16a7: 0x066f, 0x16a8: 0x126f, 0x16a9: 0x1273, + 0x16aa: 0x127b, 0x16ab: 0x17f0, 0x16ac: 0x127f, 0x16ad: 0x17e1, 0x16ae: 0x0673, 0x16af: 0x0677, + 0x16b0: 0x17e6, 0x16b1: 0x17eb, 0x16b2: 0x067b, 0x16b3: 0x129f, 0x16b4: 0x12a3, 0x16b5: 0x12a7, + 0x16b6: 0x12ab, 0x16b7: 0x12b7, 0x16b8: 0x12b3, 0x16b9: 0x12bf, 0x16ba: 0x12bb, 0x16bb: 0x12cb, + 0x16bc: 0x12c3, 0x16bd: 0x12c7, 0x16be: 0x12cf, 0x16bf: 0x067f, // Block 0x5b, offset 0x16c0 - 0x16c0: 0x1533, 0x16c1: 0x1845, 0x16c2: 0x154b, 0x16c3: 0x06a7, 0x16c4: 0x155b, 0x16c5: 0x1567, - 0x16c6: 0x156f, 0x16c7: 0x1577, 0x16c8: 0x06ab, 0x16c9: 0x184a, 0x16ca: 0x158b, 0x16cb: 0x15a7, - 0x16cc: 0x15b3, 0x16cd: 0x06af, 0x16ce: 0x06b3, 0x16cf: 0x15b7, 0x16d0: 0x184f, 0x16d1: 0x06b7, - 0x16d2: 0x1854, 0x16d3: 0x1859, 0x16d4: 0x185e, 0x16d5: 0x15db, 0x16d6: 0x06bb, 0x16d7: 0x15ef, - 0x16d8: 0x15f7, 0x16d9: 0x15fb, 0x16da: 0x1603, 0x16db: 0x160b, 0x16dc: 0x1613, 0x16dd: 0x1868, + 0x16c0: 0x12d7, 0x16c1: 0x12db, 0x16c2: 0x0683, 0x16c3: 0x12eb, 0x16c4: 0x12ef, 0x16c5: 0x17f5, + 0x16c6: 0x12fb, 0x16c7: 0x12ff, 0x16c8: 0x0687, 0x16c9: 0x130b, 0x16ca: 0x05bb, 0x16cb: 0x17fa, + 0x16cc: 0x17ff, 0x16cd: 0x068b, 0x16ce: 0x068f, 0x16cf: 0x1337, 0x16d0: 0x134f, 0x16d1: 0x136b, + 0x16d2: 0x137b, 0x16d3: 0x1804, 0x16d4: 0x138f, 0x16d5: 0x1393, 0x16d6: 0x13ab, 0x16d7: 0x13b7, + 0x16d8: 0x180e, 0x16d9: 0x1660, 0x16da: 0x13c3, 0x16db: 0x13bf, 0x16dc: 0x13cb, 0x16dd: 0x1665, + 0x16de: 0x13d7, 0x16df: 0x13e3, 0x16e0: 0x1813, 0x16e1: 0x1818, 0x16e2: 0x1423, 0x16e3: 0x142f, + 0x16e4: 0x1437, 0x16e5: 0x181d, 0x16e6: 0x143b, 0x16e7: 0x1467, 0x16e8: 0x1473, 0x16e9: 0x1477, + 0x16ea: 0x146f, 0x16eb: 0x1483, 0x16ec: 0x1487, 0x16ed: 0x1822, 0x16ee: 0x1493, 0x16ef: 0x0693, + 0x16f0: 0x149b, 0x16f1: 0x1827, 0x16f2: 0x0697, 0x16f3: 0x14d3, 0x16f4: 0x0ac3, 0x16f5: 0x14eb, + 0x16f6: 0x182c, 0x16f7: 0x1836, 0x16f8: 0x069b, 0x16f9: 0x069f, 0x16fa: 0x1513, 0x16fb: 0x183b, + 0x16fc: 0x06a3, 0x16fd: 0x1840, 0x16fe: 0x152b, 0x16ff: 0x152b, + // Block 0x5c, offset 0x1700 + 0x1700: 0x1533, 0x1701: 0x1845, 0x1702: 0x154b, 0x1703: 0x06a7, 0x1704: 0x155b, 0x1705: 0x1567, + 0x1706: 0x156f, 0x1707: 0x1577, 0x1708: 0x06ab, 0x1709: 0x184a, 0x170a: 0x158b, 0x170b: 0x15a7, + 0x170c: 0x15b3, 0x170d: 0x06af, 0x170e: 0x06b3, 0x170f: 0x15b7, 0x1710: 0x184f, 0x1711: 0x06b7, + 0x1712: 0x1854, 0x1713: 0x1859, 0x1714: 0x185e, 0x1715: 0x15db, 0x1716: 0x06bb, 0x1717: 0x15ef, + 0x1718: 0x15f7, 0x1719: 0x15fb, 0x171a: 0x1603, 0x171b: 0x160b, 0x171c: 0x1613, 0x171d: 0x1868, } // nfkcIndex: 22 blocks, 1408 entries, 1408 bytes @@ -5548,36 +5570,36 @@ var nfkcIndex = [1408]uint8{ // Block 0x1, offset 0x40 // Block 0x2, offset 0x80 // Block 0x3, offset 0xc0 - 0xc2: 0x5a, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x5b, 0xc7: 0x04, - 0xc8: 0x05, 0xca: 0x5c, 0xcb: 0x5d, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x09, - 0xd0: 0x0a, 0xd1: 0x5e, 0xd2: 0x5f, 0xd3: 0x0b, 0xd6: 0x0c, 0xd7: 0x60, - 0xd8: 0x61, 0xd9: 0x0d, 0xdb: 0x62, 0xdc: 0x63, 0xdd: 0x64, 0xdf: 0x65, + 0xc2: 0x5b, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x5c, 0xc7: 0x04, + 0xc8: 0x05, 0xca: 0x5d, 0xcb: 0x5e, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x09, + 0xd0: 0x0a, 0xd1: 0x5f, 0xd2: 0x60, 0xd3: 0x0b, 0xd6: 0x0c, 0xd7: 0x61, + 0xd8: 0x62, 0xd9: 0x0d, 0xdb: 0x63, 0xdc: 0x64, 0xdd: 0x65, 0xdf: 0x66, 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, 0xf0: 0x13, // Block 0x4, offset 0x100 - 0x120: 0x66, 0x121: 0x67, 0x123: 0x68, 0x124: 0x69, 0x125: 0x6a, 0x126: 0x6b, 0x127: 0x6c, - 0x128: 0x6d, 0x129: 0x6e, 0x12a: 0x6f, 0x12b: 0x70, 0x12c: 0x6b, 0x12d: 0x71, 0x12e: 0x72, 0x12f: 0x73, - 0x131: 0x74, 0x132: 0x75, 0x133: 0x76, 0x134: 0x77, 0x135: 0x78, 0x137: 0x79, - 0x138: 0x7a, 0x139: 0x7b, 0x13a: 0x7c, 0x13b: 0x7d, 0x13c: 0x7e, 0x13d: 0x7f, 0x13e: 0x80, 0x13f: 0x81, + 0x120: 0x67, 0x121: 0x68, 0x123: 0x69, 0x124: 0x6a, 0x125: 0x6b, 0x126: 0x6c, 0x127: 0x6d, + 0x128: 0x6e, 0x129: 0x6f, 0x12a: 0x70, 0x12b: 0x71, 0x12c: 0x6c, 0x12d: 0x72, 0x12e: 0x73, 0x12f: 0x74, + 0x131: 0x75, 0x132: 0x76, 0x133: 0x77, 0x134: 0x78, 0x135: 0x79, 0x137: 0x7a, + 0x138: 0x7b, 0x139: 0x7c, 0x13a: 0x7d, 0x13b: 0x7e, 0x13c: 0x7f, 0x13d: 0x80, 0x13e: 0x81, 0x13f: 0x82, // Block 0x5, offset 0x140 - 0x140: 0x82, 0x142: 0x83, 0x143: 0x84, 0x144: 0x85, 0x145: 0x86, 0x146: 0x87, 0x147: 0x88, - 0x14d: 0x89, - 0x15c: 0x8a, 0x15f: 0x8b, - 0x162: 0x8c, 0x164: 0x8d, - 0x168: 0x8e, 0x169: 0x8f, 0x16a: 0x90, 0x16c: 0x0e, 0x16d: 0x91, 0x16e: 0x92, 0x16f: 0x93, - 0x170: 0x94, 0x173: 0x95, 0x174: 0x96, 0x175: 0x0f, 0x176: 0x10, 0x177: 0x97, - 0x178: 0x11, 0x179: 0x12, 0x17a: 0x13, 0x17b: 0x14, 0x17c: 0x15, 0x17d: 0x16, 0x17e: 0x17, 0x17f: 0x18, + 0x140: 0x83, 0x142: 0x84, 0x143: 0x85, 0x144: 0x86, 0x145: 0x87, 0x146: 0x88, 0x147: 0x89, + 0x14d: 0x8a, + 0x15c: 0x8b, 0x15f: 0x8c, + 0x162: 0x8d, 0x164: 0x8e, + 0x168: 0x8f, 0x169: 0x90, 0x16a: 0x91, 0x16c: 0x0e, 0x16d: 0x92, 0x16e: 0x93, 0x16f: 0x94, + 0x170: 0x95, 0x173: 0x96, 0x174: 0x97, 0x175: 0x0f, 0x176: 0x10, 0x177: 0x11, + 0x178: 0x12, 0x179: 0x13, 0x17a: 0x14, 0x17b: 0x15, 0x17c: 0x16, 0x17d: 0x17, 0x17e: 0x18, 0x17f: 0x19, // Block 0x6, offset 0x180 - 0x180: 0x98, 0x181: 0x99, 0x182: 0x9a, 0x183: 0x9b, 0x184: 0x19, 0x185: 0x1a, 0x186: 0x9c, 0x187: 0x9d, - 0x188: 0x9e, 0x189: 0x1b, 0x18a: 0x1c, 0x18b: 0x9f, 0x18c: 0xa0, - 0x191: 0x1d, 0x192: 0x1e, 0x193: 0xa1, + 0x180: 0x98, 0x181: 0x99, 0x182: 0x9a, 0x183: 0x9b, 0x184: 0x1a, 0x185: 0x1b, 0x186: 0x9c, 0x187: 0x9d, + 0x188: 0x9e, 0x189: 0x1c, 0x18a: 0x1d, 0x18b: 0x9f, 0x18c: 0xa0, + 0x191: 0x1e, 0x192: 0x1f, 0x193: 0xa1, 0x1a8: 0xa2, 0x1a9: 0xa3, 0x1ab: 0xa4, 0x1b1: 0xa5, 0x1b3: 0xa6, 0x1b5: 0xa7, 0x1b7: 0xa8, - 0x1ba: 0xa9, 0x1bb: 0xaa, 0x1bc: 0x1f, 0x1bd: 0x20, 0x1be: 0x21, 0x1bf: 0xab, + 0x1ba: 0xa9, 0x1bb: 0xaa, 0x1bc: 0x20, 0x1bd: 0x21, 0x1be: 0x22, 0x1bf: 0xab, // Block 0x7, offset 0x1c0 - 0x1c0: 0xac, 0x1c1: 0x22, 0x1c2: 0x23, 0x1c3: 0x24, 0x1c4: 0xad, 0x1c5: 0x25, 0x1c6: 0x26, - 0x1c8: 0x27, 0x1c9: 0x28, 0x1ca: 0x29, 0x1cb: 0x2a, 0x1cc: 0x2b, 0x1cd: 0x2c, 0x1ce: 0x2d, 0x1cf: 0x2e, + 0x1c0: 0xac, 0x1c1: 0x23, 0x1c2: 0x24, 0x1c3: 0x25, 0x1c4: 0xad, 0x1c5: 0x26, 0x1c6: 0x27, + 0x1c8: 0x28, 0x1c9: 0x29, 0x1ca: 0x2a, 0x1cb: 0x2b, 0x1cc: 0x2c, 0x1cd: 0x2d, 0x1ce: 0x2e, 0x1cf: 0x2f, // Block 0x8, offset 0x200 0x219: 0xae, 0x21a: 0xaf, 0x21b: 0xb0, 0x21d: 0xb1, 0x21f: 0xb2, 0x220: 0xb3, 0x223: 0xb4, 0x224: 0xb5, 0x225: 0xb6, 0x226: 0xb7, 0x227: 0xb8, @@ -5608,50 +5630,51 @@ var nfkcIndex = [1408]uint8{ 0x2d0: 0xc3, 0x2d1: 0xbd, 0x2d2: 0xbe, 0x2d3: 0xbf, 0x2d4: 0xc0, 0x2d5: 0xc1, 0x2d6: 0xc2, 0x2d7: 0xc3, 0x2d8: 0xbd, 0x2d9: 0xbe, 0x2da: 0xbf, 0x2db: 0xc0, 0x2dc: 0xc1, 0x2dd: 0xc2, 0x2de: 0xc4, // Block 0xc, offset 0x300 - 0x324: 0x2f, 0x325: 0x30, 0x326: 0x31, 0x327: 0x32, - 0x328: 0x33, 0x329: 0x34, 0x32a: 0x35, 0x32b: 0x36, 0x32c: 0x37, 0x32d: 0x38, 0x32e: 0x39, 0x32f: 0x3a, - 0x330: 0x3b, 0x331: 0x3c, 0x332: 0x3d, 0x333: 0x3e, 0x334: 0x3f, 0x335: 0x40, 0x336: 0x41, 0x337: 0x42, - 0x338: 0x43, 0x339: 0x44, 0x33a: 0x45, 0x33b: 0x46, 0x33c: 0xc5, 0x33d: 0x47, 0x33e: 0x48, 0x33f: 0x49, + 0x324: 0x30, 0x325: 0x31, 0x326: 0x32, 0x327: 0x33, + 0x328: 0x34, 0x329: 0x35, 0x32a: 0x36, 0x32b: 0x37, 0x32c: 0x38, 0x32d: 0x39, 0x32e: 0x3a, 0x32f: 0x3b, + 0x330: 0x3c, 0x331: 0x3d, 0x332: 0x3e, 0x333: 0x3f, 0x334: 0x40, 0x335: 0x41, 0x336: 0x42, 0x337: 0x43, + 0x338: 0x44, 0x339: 0x45, 0x33a: 0x46, 0x33b: 0x47, 0x33c: 0xc5, 0x33d: 0x48, 0x33e: 0x49, 0x33f: 0x4a, // Block 0xd, offset 0x340 0x347: 0xc6, 0x34b: 0xc7, 0x34d: 0xc8, 0x368: 0xc9, 0x36b: 0xca, // Block 0xe, offset 0x380 0x381: 0xcb, 0x382: 0xcc, 0x384: 0xcd, 0x385: 0xb7, 0x387: 0xce, - 0x388: 0xcf, 0x38b: 0xd0, 0x38c: 0x6b, 0x38d: 0xd1, + 0x388: 0xcf, 0x38b: 0xd0, 0x38c: 0x6c, 0x38d: 0xd1, 0x391: 0xd2, 0x392: 0xd3, 0x393: 0xd4, 0x396: 0xd5, 0x397: 0xd6, 0x398: 0xd7, 0x39a: 0xd8, 0x39c: 0xd9, - 0x3b0: 0xd7, + 0x3a8: 0xda, 0x3a9: 0xdb, 0x3aa: 0xdc, + 0x3b0: 0xd7, 0x3b5: 0xdd, // Block 0xf, offset 0x3c0 - 0x3eb: 0xda, 0x3ec: 0xdb, + 0x3eb: 0xde, 0x3ec: 0xdf, // Block 0x10, offset 0x400 - 0x432: 0xdc, + 0x432: 0xe0, // Block 0x11, offset 0x440 - 0x445: 0xdd, 0x446: 0xde, 0x447: 0xdf, - 0x449: 0xe0, - 0x450: 0xe1, 0x451: 0xe2, 0x452: 0xe3, 0x453: 0xe4, 0x454: 0xe5, 0x455: 0xe6, 0x456: 0xe7, 0x457: 0xe8, - 0x458: 0xe9, 0x459: 0xea, 0x45a: 0x4a, 0x45b: 0xeb, 0x45c: 0xec, 0x45d: 0xed, 0x45e: 0xee, 0x45f: 0x4b, + 0x445: 0xe1, 0x446: 0xe2, 0x447: 0xe3, + 0x449: 0xe4, + 0x450: 0xe5, 0x451: 0xe6, 0x452: 0xe7, 0x453: 0xe8, 0x454: 0xe9, 0x455: 0xea, 0x456: 0xeb, 0x457: 0xec, + 0x458: 0xed, 0x459: 0xee, 0x45a: 0x4b, 0x45b: 0xef, 0x45c: 0xf0, 0x45d: 0xf1, 0x45e: 0xf2, 0x45f: 0x4c, // Block 0x12, offset 0x480 - 0x480: 0xef, - 0x4a3: 0xf0, 0x4a5: 0xf1, - 0x4b8: 0x4c, 0x4b9: 0x4d, 0x4ba: 0x4e, + 0x480: 0xf3, + 0x4a3: 0xf4, 0x4a5: 0xf5, + 0x4b8: 0x4d, 0x4b9: 0x4e, 0x4ba: 0x4f, // Block 0x13, offset 0x4c0 - 0x4c4: 0x4f, 0x4c5: 0xf2, 0x4c6: 0xf3, - 0x4c8: 0x50, 0x4c9: 0xf4, + 0x4c4: 0x50, 0x4c5: 0xf6, 0x4c6: 0xf7, + 0x4c8: 0x51, 0x4c9: 0xf8, // Block 0x14, offset 0x500 - 0x520: 0x51, 0x521: 0x52, 0x522: 0x53, 0x523: 0x54, 0x524: 0x55, 0x525: 0x56, 0x526: 0x57, 0x527: 0x58, - 0x528: 0x59, + 0x520: 0x52, 0x521: 0x53, 0x522: 0x54, 0x523: 0x55, 0x524: 0x56, 0x525: 0x57, 0x526: 0x58, 0x527: 0x59, + 0x528: 0x5a, // Block 0x15, offset 0x540 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, 0x56f: 0x12, } -// nfkcSparseOffset: 155 entries, 310 bytes -var nfkcSparseOffset = []uint16{0x0, 0xe, 0x12, 0x1b, 0x25, 0x35, 0x37, 0x3c, 0x47, 0x56, 0x63, 0x6b, 0x6f, 0x74, 0x76, 0x87, 0x8f, 0x96, 0x99, 0xa0, 0xa4, 0xa8, 0xaa, 0xac, 0xb5, 0xb9, 0xc0, 0xc5, 0xc8, 0xd2, 0xd4, 0xdb, 0xe3, 0xe7, 0xe9, 0xec, 0xf0, 0xf6, 0x107, 0x113, 0x115, 0x11b, 0x11d, 0x11f, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12c, 0x12f, 0x131, 0x134, 0x137, 0x13b, 0x140, 0x149, 0x14b, 0x14e, 0x150, 0x15b, 0x166, 0x176, 0x184, 0x192, 0x1a2, 0x1b0, 0x1b7, 0x1bd, 0x1cc, 0x1d0, 0x1d2, 0x1d6, 0x1d8, 0x1db, 0x1dd, 0x1e0, 0x1e2, 0x1e5, 0x1e7, 0x1e9, 0x1eb, 0x1f7, 0x201, 0x20b, 0x20e, 0x212, 0x214, 0x216, 0x218, 0x21a, 0x21d, 0x21f, 0x221, 0x223, 0x225, 0x22b, 0x22e, 0x232, 0x234, 0x23b, 0x241, 0x247, 0x24f, 0x255, 0x25b, 0x261, 0x265, 0x267, 0x269, 0x26b, 0x26d, 0x273, 0x276, 0x279, 0x281, 0x288, 0x28b, 0x28e, 0x290, 0x298, 0x29b, 0x2a2, 0x2a5, 0x2ab, 0x2ad, 0x2af, 0x2b2, 0x2b4, 0x2b6, 0x2b8, 0x2ba, 0x2c7, 0x2d1, 0x2d3, 0x2d5, 0x2d9, 0x2de, 0x2ea, 0x2ef, 0x2f8, 0x2fe, 0x303, 0x307, 0x30c, 0x310, 0x320, 0x32e, 0x33c, 0x34a, 0x350, 0x352, 0x355, 0x35f, 0x361} +// nfkcSparseOffset: 158 entries, 316 bytes +var nfkcSparseOffset = []uint16{0x0, 0xe, 0x12, 0x1b, 0x25, 0x35, 0x37, 0x3c, 0x47, 0x56, 0x63, 0x6b, 0x6f, 0x74, 0x76, 0x87, 0x8f, 0x96, 0x99, 0xa0, 0xa4, 0xa8, 0xaa, 0xac, 0xb5, 0xb9, 0xc0, 0xc5, 0xc8, 0xd2, 0xd5, 0xdc, 0xe4, 0xe8, 0xea, 0xed, 0xf1, 0xf7, 0x108, 0x114, 0x116, 0x11c, 0x11e, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12a, 0x12d, 0x130, 0x132, 0x135, 0x138, 0x13c, 0x141, 0x14a, 0x14c, 0x14f, 0x151, 0x15c, 0x167, 0x175, 0x183, 0x193, 0x1a1, 0x1a8, 0x1ae, 0x1bd, 0x1c1, 0x1c3, 0x1c7, 0x1c9, 0x1cc, 0x1ce, 0x1d1, 0x1d3, 0x1d6, 0x1d8, 0x1da, 0x1dc, 0x1e8, 0x1f2, 0x1fc, 0x1ff, 0x203, 0x205, 0x207, 0x209, 0x20b, 0x20e, 0x210, 0x212, 0x214, 0x216, 0x21c, 0x21f, 0x223, 0x225, 0x22c, 0x232, 0x238, 0x240, 0x246, 0x24c, 0x252, 0x256, 0x258, 0x25a, 0x25c, 0x25e, 0x264, 0x267, 0x26a, 0x272, 0x279, 0x27c, 0x27f, 0x281, 0x289, 0x28c, 0x293, 0x296, 0x29c, 0x29e, 0x2a0, 0x2a3, 0x2a5, 0x2a7, 0x2a9, 0x2ab, 0x2ae, 0x2b0, 0x2b2, 0x2b4, 0x2c1, 0x2cb, 0x2cd, 0x2cf, 0x2d3, 0x2d8, 0x2e4, 0x2e9, 0x2f2, 0x2f8, 0x2fd, 0x301, 0x306, 0x30a, 0x31a, 0x328, 0x336, 0x344, 0x34a, 0x34c, 0x34f, 0x359, 0x35b} -// nfkcSparseValues: 875 entries, 3500 bytes -var nfkcSparseValues = [875]valueRange{ +// nfkcSparseValues: 869 entries, 3476 bytes +var nfkcSparseValues = [869]valueRange{ // Block 0x0, offset 0x0 {value: 0x0002, lo: 0x0d}, {value: 0x0001, lo: 0xa0, hi: 0xa0}, @@ -5892,9 +5915,10 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x8104, lo: 0x8d, hi: 0x8d}, {value: 0x9900, lo: 0x95, hi: 0x96}, // Block 0x1d, offset 0xd2 - {value: 0x0000, lo: 0x01}, + {value: 0x0000, lo: 0x02}, + {value: 0x8104, lo: 0xbb, hi: 0xbc}, {value: 0x9900, lo: 0xbe, hi: 0xbe}, - // Block 0x1e, offset 0xd4 + // Block 0x1e, offset 0xd5 {value: 0x0000, lo: 0x06}, {value: 0xa000, lo: 0x86, hi: 0x87}, {value: 0x2cfe, lo: 0x8a, hi: 0x8a}, @@ -5902,7 +5926,7 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x2d06, lo: 0x8c, hi: 0x8c}, {value: 0x8104, lo: 0x8d, hi: 0x8d}, {value: 0x9900, lo: 0x97, hi: 0x97}, - // Block 0x1f, offset 0xdb + // Block 0x1f, offset 0xdc {value: 0x6bea, lo: 0x07}, {value: 0x9904, lo: 0x8a, hi: 0x8a}, {value: 0x9900, lo: 0x8f, hi: 0x8f}, @@ -5911,31 +5935,31 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x2f58, lo: 0x9c, hi: 0x9c}, {value: 0x2de3, lo: 0x9d, hi: 0x9d}, {value: 0x2d16, lo: 0x9e, hi: 0x9f}, - // Block 0x20, offset 0xe3 + // Block 0x20, offset 0xe4 {value: 0x0000, lo: 0x03}, {value: 0x2621, lo: 0xb3, hi: 0xb3}, {value: 0x8122, lo: 0xb8, hi: 0xb9}, {value: 0x8104, lo: 0xba, hi: 0xba}, - // Block 0x21, offset 0xe7 + // Block 0x21, offset 0xe8 {value: 0x0000, lo: 0x01}, {value: 0x8123, lo: 0x88, hi: 0x8b}, - // Block 0x22, offset 0xe9 + // Block 0x22, offset 0xea {value: 0x0000, lo: 0x02}, {value: 0x2636, lo: 0xb3, hi: 0xb3}, {value: 0x8124, lo: 0xb8, hi: 0xb9}, - // Block 0x23, offset 0xec + // Block 0x23, offset 0xed {value: 0x0000, lo: 0x03}, {value: 0x8125, lo: 0x88, hi: 0x8b}, {value: 0x2628, lo: 0x9c, hi: 0x9c}, {value: 0x262f, lo: 0x9d, hi: 0x9d}, - // Block 0x24, offset 0xf0 + // Block 0x24, offset 0xf1 {value: 0x0000, lo: 0x05}, {value: 0x030b, lo: 0x8c, hi: 0x8c}, {value: 0x812d, lo: 0x98, hi: 0x99}, {value: 0x812d, lo: 0xb5, hi: 0xb5}, {value: 0x812d, lo: 0xb7, hi: 0xb7}, {value: 0x812b, lo: 0xb9, hi: 0xb9}, - // Block 0x25, offset 0xf6 + // Block 0x25, offset 0xf7 {value: 0x0000, lo: 0x10}, {value: 0x2644, lo: 0x83, hi: 0x83}, {value: 0x264b, lo: 0x8d, hi: 0x8d}, @@ -5953,7 +5977,7 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x45bc, lo: 0xb8, hi: 0xb8}, {value: 0x45ff, lo: 0xb9, hi: 0xb9}, {value: 0x8127, lo: 0xba, hi: 0xbd}, - // Block 0x26, offset 0x107 + // Block 0x26, offset 0x108 {value: 0x0000, lo: 0x0b}, {value: 0x8127, lo: 0x80, hi: 0x80}, {value: 0x4a96, lo: 0x81, hi: 0x81}, @@ -5966,68 +5990,68 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x2683, lo: 0xa7, hi: 0xa7}, {value: 0x268a, lo: 0xac, hi: 0xac}, {value: 0x2667, lo: 0xb9, hi: 0xb9}, - // Block 0x27, offset 0x113 + // Block 0x27, offset 0x114 {value: 0x0000, lo: 0x01}, {value: 0x812d, lo: 0x86, hi: 0x86}, - // Block 0x28, offset 0x115 + // Block 0x28, offset 0x116 {value: 0x0000, lo: 0x05}, {value: 0xa000, lo: 0xa5, hi: 0xa5}, {value: 0x2d1e, lo: 0xa6, hi: 0xa6}, {value: 0x9900, lo: 0xae, hi: 0xae}, {value: 0x8102, lo: 0xb7, hi: 0xb7}, {value: 0x8104, lo: 0xb9, hi: 0xba}, - // Block 0x29, offset 0x11b + // Block 0x29, offset 0x11c {value: 0x0000, lo: 0x01}, {value: 0x812d, lo: 0x8d, hi: 0x8d}, - // Block 0x2a, offset 0x11d + // Block 0x2a, offset 0x11e {value: 0x0000, lo: 0x01}, {value: 0x030f, lo: 0xbc, hi: 0xbc}, - // Block 0x2b, offset 0x11f + // Block 0x2b, offset 0x120 {value: 0x0000, lo: 0x01}, {value: 0xa000, lo: 0x80, hi: 0x92}, - // Block 0x2c, offset 0x121 + // Block 0x2c, offset 0x122 {value: 0x0000, lo: 0x01}, {value: 0xb900, lo: 0xa1, hi: 0xb5}, - // Block 0x2d, offset 0x123 + // Block 0x2d, offset 0x124 {value: 0x0000, lo: 0x01}, {value: 0x9900, lo: 0xa8, hi: 0xbf}, - // Block 0x2e, offset 0x125 + // Block 0x2e, offset 0x126 {value: 0x0000, lo: 0x01}, {value: 0x9900, lo: 0x80, hi: 0x82}, - // Block 0x2f, offset 0x127 + // Block 0x2f, offset 0x128 {value: 0x0000, lo: 0x01}, {value: 0x8132, lo: 0x9d, hi: 0x9f}, - // Block 0x30, offset 0x129 + // Block 0x30, offset 0x12a {value: 0x0000, lo: 0x02}, {value: 0x8104, lo: 0x94, hi: 0x94}, {value: 0x8104, lo: 0xb4, hi: 0xb4}, - // Block 0x31, offset 0x12c + // Block 0x31, offset 0x12d {value: 0x0000, lo: 0x02}, {value: 0x8104, lo: 0x92, hi: 0x92}, {value: 0x8132, lo: 0x9d, hi: 0x9d}, - // Block 0x32, offset 0x12f + // Block 0x32, offset 0x130 {value: 0x0000, lo: 0x01}, {value: 0x8131, lo: 0xa9, hi: 0xa9}, - // Block 0x33, offset 0x131 + // Block 0x33, offset 0x132 {value: 0x0004, lo: 0x02}, {value: 0x812e, lo: 0xb9, hi: 0xba}, {value: 0x812d, lo: 0xbb, hi: 0xbb}, - // Block 0x34, offset 0x134 + // Block 0x34, offset 0x135 {value: 0x0000, lo: 0x02}, {value: 0x8132, lo: 0x97, hi: 0x97}, {value: 0x812d, lo: 0x98, hi: 0x98}, - // Block 0x35, offset 0x137 + // Block 0x35, offset 0x138 {value: 0x0000, lo: 0x03}, {value: 0x8104, lo: 0xa0, hi: 0xa0}, {value: 0x8132, lo: 0xb5, hi: 0xbc}, {value: 0x812d, lo: 0xbf, hi: 0xbf}, - // Block 0x36, offset 0x13b + // Block 0x36, offset 0x13c {value: 0x0000, lo: 0x04}, {value: 0x8132, lo: 0xb0, hi: 0xb4}, {value: 0x812d, lo: 0xb5, hi: 0xba}, {value: 0x8132, lo: 0xbb, hi: 0xbc}, {value: 0x812d, lo: 0xbd, hi: 0xbd}, - // Block 0x37, offset 0x140 + // Block 0x37, offset 0x141 {value: 0x0000, lo: 0x08}, {value: 0x2d66, lo: 0x80, hi: 0x80}, {value: 0x2d6e, lo: 0x81, hi: 0x81}, @@ -6037,17 +6061,17 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x8132, lo: 0xab, hi: 0xab}, {value: 0x812d, lo: 0xac, hi: 0xac}, {value: 0x8132, lo: 0xad, hi: 0xb3}, - // Block 0x38, offset 0x149 + // Block 0x38, offset 0x14a {value: 0x0000, lo: 0x01}, {value: 0x8104, lo: 0xaa, hi: 0xab}, - // Block 0x39, offset 0x14b + // Block 0x39, offset 0x14c {value: 0x0000, lo: 0x02}, {value: 0x8102, lo: 0xa6, hi: 0xa6}, {value: 0x8104, lo: 0xb2, hi: 0xb3}, - // Block 0x3a, offset 0x14e + // Block 0x3a, offset 0x14f {value: 0x0000, lo: 0x01}, {value: 0x8102, lo: 0xb7, hi: 0xb7}, - // Block 0x3b, offset 0x150 + // Block 0x3b, offset 0x151 {value: 0x0000, lo: 0x0a}, {value: 0x8132, lo: 0x90, hi: 0x92}, {value: 0x8101, lo: 0x94, hi: 0x94}, @@ -6059,7 +6083,7 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x812d, lo: 0xad, hi: 0xad}, {value: 0x8132, lo: 0xb4, hi: 0xb4}, {value: 0x8132, lo: 0xb8, hi: 0xb9}, - // Block 0x3c, offset 0x15b + // Block 0x3c, offset 0x15c {value: 0x0002, lo: 0x0a}, {value: 0x0043, lo: 0xac, hi: 0xac}, {value: 0x00d1, lo: 0xad, hi: 0xad}, @@ -6071,24 +6095,7 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x00ef, lo: 0xbd, hi: 0xbd}, {value: 0x0061, lo: 0xbe, hi: 0xbe}, {value: 0x0065, lo: 0xbf, hi: 0xbf}, - // Block 0x3d, offset 0x166 - {value: 0x0000, lo: 0x0f}, - {value: 0x8132, lo: 0x80, hi: 0x81}, - {value: 0x812d, lo: 0x82, hi: 0x82}, - {value: 0x8132, lo: 0x83, hi: 0x89}, - {value: 0x812d, lo: 0x8a, hi: 0x8a}, - {value: 0x8132, lo: 0x8b, hi: 0x8c}, - {value: 0x8135, lo: 0x8d, hi: 0x8d}, - {value: 0x812a, lo: 0x8e, hi: 0x8e}, - {value: 0x812d, lo: 0x8f, hi: 0x8f}, - {value: 0x8129, lo: 0x90, hi: 0x90}, - {value: 0x8132, lo: 0x91, hi: 0xb5}, - {value: 0x8132, lo: 0xbb, hi: 0xbb}, - {value: 0x8134, lo: 0xbc, hi: 0xbc}, - {value: 0x812d, lo: 0xbd, hi: 0xbd}, - {value: 0x8132, lo: 0xbe, hi: 0xbe}, - {value: 0x812d, lo: 0xbf, hi: 0xbf}, - // Block 0x3e, offset 0x176 + // Block 0x3d, offset 0x167 {value: 0x0000, lo: 0x0d}, {value: 0x0001, lo: 0x80, hi: 0x8a}, {value: 0x043b, lo: 0x91, hi: 0x91}, @@ -6103,7 +6110,7 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x2808, lo: 0xb7, hi: 0xb7}, {value: 0x186d, lo: 0xbc, hi: 0xbc}, {value: 0x4269, lo: 0xbe, hi: 0xbe}, - // Block 0x3f, offset 0x184 + // Block 0x3e, offset 0x175 {value: 0x0002, lo: 0x0d}, {value: 0x1933, lo: 0x87, hi: 0x87}, {value: 0x1930, lo: 0x88, hi: 0x88}, @@ -6118,7 +6125,7 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x003b, lo: 0xbc, hi: 0xbc}, {value: 0x0011, lo: 0xbd, hi: 0xbe}, {value: 0x009d, lo: 0xbf, hi: 0xbf}, - // Block 0x40, offset 0x192 + // Block 0x3f, offset 0x183 {value: 0x0002, lo: 0x0f}, {value: 0x0021, lo: 0x80, hi: 0x89}, {value: 0x0017, lo: 0x8a, hi: 0x8a}, @@ -6135,7 +6142,7 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x00a1, lo: 0x9a, hi: 0x9a}, {value: 0x00a7, lo: 0x9b, hi: 0x9c}, {value: 0x1999, lo: 0xa8, hi: 0xa8}, - // Block 0x41, offset 0x1a2 + // Block 0x40, offset 0x193 {value: 0x0000, lo: 0x0d}, {value: 0x8132, lo: 0x90, hi: 0x91}, {value: 0x8101, lo: 0x92, hi: 0x93}, @@ -6150,7 +6157,7 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x8101, lo: 0xaa, hi: 0xab}, {value: 0x812d, lo: 0xac, hi: 0xaf}, {value: 0x8132, lo: 0xb0, hi: 0xb0}, - // Block 0x42, offset 0x1b0 + // Block 0x41, offset 0x1a1 {value: 0x0007, lo: 0x06}, {value: 0x2180, lo: 0x89, hi: 0x89}, {value: 0xa000, lo: 0x90, hi: 0x90}, @@ -6158,14 +6165,14 @@ var nfkcSparseValues = [875]valueRange{ {value: 0xa000, lo: 0x94, hi: 0x94}, {value: 0x3bb9, lo: 0x9a, hi: 0x9b}, {value: 0x3bc7, lo: 0xae, hi: 0xae}, - // Block 0x43, offset 0x1b7 + // Block 0x42, offset 0x1a8 {value: 0x000e, lo: 0x05}, {value: 0x3bce, lo: 0x8d, hi: 0x8e}, {value: 0x3bd5, lo: 0x8f, hi: 0x8f}, {value: 0xa000, lo: 0x90, hi: 0x90}, {value: 0xa000, lo: 0x92, hi: 0x92}, {value: 0xa000, lo: 0x94, hi: 0x94}, - // Block 0x44, offset 0x1bd + // Block 0x43, offset 0x1ae {value: 0x0173, lo: 0x0e}, {value: 0xa000, lo: 0x83, hi: 0x83}, {value: 0x3be3, lo: 0x84, hi: 0x84}, @@ -6181,50 +6188,50 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x26a6, lo: 0xaf, hi: 0xaf}, {value: 0x281c, lo: 0xb0, hi: 0xb0}, {value: 0xa000, lo: 0xbc, hi: 0xbc}, - // Block 0x45, offset 0x1cc + // Block 0x44, offset 0x1bd {value: 0x0007, lo: 0x03}, {value: 0x3c68, lo: 0xa0, hi: 0xa1}, {value: 0x3c92, lo: 0xa2, hi: 0xa3}, {value: 0x3cbc, lo: 0xaa, hi: 0xad}, - // Block 0x46, offset 0x1d0 + // Block 0x45, offset 0x1c1 {value: 0x0004, lo: 0x01}, {value: 0x048b, lo: 0xa9, hi: 0xaa}, - // Block 0x47, offset 0x1d2 + // Block 0x46, offset 0x1c3 {value: 0x0002, lo: 0x03}, {value: 0x0057, lo: 0x80, hi: 0x8f}, {value: 0x0083, lo: 0x90, hi: 0xa9}, {value: 0x0021, lo: 0xaa, hi: 0xaa}, - // Block 0x48, offset 0x1d6 + // Block 0x47, offset 0x1c7 {value: 0x0000, lo: 0x01}, {value: 0x299b, lo: 0x8c, hi: 0x8c}, - // Block 0x49, offset 0x1d8 + // Block 0x48, offset 0x1c9 {value: 0x0263, lo: 0x02}, {value: 0x1b8c, lo: 0xb4, hi: 0xb4}, {value: 0x192d, lo: 0xb5, hi: 0xb6}, - // Block 0x4a, offset 0x1db + // Block 0x49, offset 0x1cc {value: 0x0000, lo: 0x01}, {value: 0x44dd, lo: 0x9c, hi: 0x9c}, - // Block 0x4b, offset 0x1dd + // Block 0x4a, offset 0x1ce {value: 0x0000, lo: 0x02}, {value: 0x0095, lo: 0xbc, hi: 0xbc}, {value: 0x006d, lo: 0xbd, hi: 0xbd}, - // Block 0x4c, offset 0x1e0 + // Block 0x4b, offset 0x1d1 {value: 0x0000, lo: 0x01}, {value: 0x8132, lo: 0xaf, hi: 0xb1}, - // Block 0x4d, offset 0x1e2 + // Block 0x4c, offset 0x1d3 {value: 0x0000, lo: 0x02}, {value: 0x047f, lo: 0xaf, hi: 0xaf}, {value: 0x8104, lo: 0xbf, hi: 0xbf}, - // Block 0x4e, offset 0x1e5 + // Block 0x4d, offset 0x1d6 {value: 0x0000, lo: 0x01}, {value: 0x8132, lo: 0xa0, hi: 0xbf}, - // Block 0x4f, offset 0x1e7 + // Block 0x4e, offset 0x1d8 {value: 0x0000, lo: 0x01}, {value: 0x0dc3, lo: 0x9f, hi: 0x9f}, - // Block 0x50, offset 0x1e9 + // Block 0x4f, offset 0x1da {value: 0x0000, lo: 0x01}, {value: 0x162f, lo: 0xb3, hi: 0xb3}, - // Block 0x51, offset 0x1eb + // Block 0x50, offset 0x1dc {value: 0x0004, lo: 0x0b}, {value: 0x1597, lo: 0x80, hi: 0x82}, {value: 0x15af, lo: 0x83, hi: 0x83}, @@ -6237,7 +6244,7 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x161b, lo: 0x91, hi: 0x93}, {value: 0x162b, lo: 0x94, hi: 0x94}, {value: 0x1633, lo: 0x95, hi: 0x95}, - // Block 0x52, offset 0x1f7 + // Block 0x51, offset 0x1e8 {value: 0x0004, lo: 0x09}, {value: 0x0001, lo: 0x80, hi: 0x80}, {value: 0x812c, lo: 0xaa, hi: 0xaa}, @@ -6248,7 +6255,7 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x812f, lo: 0xaf, hi: 0xaf}, {value: 0x04b3, lo: 0xb6, hi: 0xb6}, {value: 0x0887, lo: 0xb8, hi: 0xba}, - // Block 0x53, offset 0x201 + // Block 0x52, offset 0x1f2 {value: 0x0006, lo: 0x09}, {value: 0x0313, lo: 0xb1, hi: 0xb1}, {value: 0x0317, lo: 0xb2, hi: 0xb2}, @@ -6259,63 +6266,63 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x0323, lo: 0xb8, hi: 0xb8}, {value: 0x0327, lo: 0xb9, hi: 0xb9}, {value: 0x4a4d, lo: 0xba, hi: 0xbf}, - // Block 0x54, offset 0x20b + // Block 0x53, offset 0x1fc {value: 0x0000, lo: 0x02}, {value: 0x8132, lo: 0xaf, hi: 0xaf}, {value: 0x8132, lo: 0xb4, hi: 0xbd}, - // Block 0x55, offset 0x20e + // Block 0x54, offset 0x1ff {value: 0x0000, lo: 0x03}, {value: 0x020f, lo: 0x9c, hi: 0x9c}, {value: 0x0212, lo: 0x9d, hi: 0x9d}, {value: 0x8132, lo: 0x9e, hi: 0x9f}, - // Block 0x56, offset 0x212 + // Block 0x55, offset 0x203 {value: 0x0000, lo: 0x01}, {value: 0x8132, lo: 0xb0, hi: 0xb1}, - // Block 0x57, offset 0x214 + // Block 0x56, offset 0x205 {value: 0x0000, lo: 0x01}, {value: 0x163b, lo: 0xb0, hi: 0xb0}, - // Block 0x58, offset 0x216 + // Block 0x57, offset 0x207 {value: 0x000c, lo: 0x01}, {value: 0x00d7, lo: 0xb8, hi: 0xb9}, - // Block 0x59, offset 0x218 + // Block 0x58, offset 0x209 {value: 0x0000, lo: 0x01}, {value: 0x8104, lo: 0x86, hi: 0x86}, - // Block 0x5a, offset 0x21a + // Block 0x59, offset 0x20b {value: 0x0000, lo: 0x02}, {value: 0x8104, lo: 0x84, hi: 0x84}, {value: 0x8132, lo: 0xa0, hi: 0xb1}, - // Block 0x5b, offset 0x21d + // Block 0x5a, offset 0x20e {value: 0x0000, lo: 0x01}, {value: 0x812d, lo: 0xab, hi: 0xad}, - // Block 0x5c, offset 0x21f + // Block 0x5b, offset 0x210 {value: 0x0000, lo: 0x01}, {value: 0x8104, lo: 0x93, hi: 0x93}, - // Block 0x5d, offset 0x221 + // Block 0x5c, offset 0x212 {value: 0x0000, lo: 0x01}, {value: 0x8102, lo: 0xb3, hi: 0xb3}, - // Block 0x5e, offset 0x223 + // Block 0x5d, offset 0x214 {value: 0x0000, lo: 0x01}, {value: 0x8104, lo: 0x80, hi: 0x80}, - // Block 0x5f, offset 0x225 + // Block 0x5e, offset 0x216 {value: 0x0000, lo: 0x05}, {value: 0x8132, lo: 0xb0, hi: 0xb0}, {value: 0x8132, lo: 0xb2, hi: 0xb3}, {value: 0x812d, lo: 0xb4, hi: 0xb4}, {value: 0x8132, lo: 0xb7, hi: 0xb8}, {value: 0x8132, lo: 0xbe, hi: 0xbf}, - // Block 0x60, offset 0x22b + // Block 0x5f, offset 0x21c {value: 0x0000, lo: 0x02}, {value: 0x8132, lo: 0x81, hi: 0x81}, {value: 0x8104, lo: 0xb6, hi: 0xb6}, - // Block 0x61, offset 0x22e + // Block 0x60, offset 0x21f {value: 0x0008, lo: 0x03}, {value: 0x1637, lo: 0x9c, hi: 0x9d}, {value: 0x0125, lo: 0x9e, hi: 0x9e}, {value: 0x1643, lo: 0x9f, hi: 0x9f}, - // Block 0x62, offset 0x232 + // Block 0x61, offset 0x223 {value: 0x0000, lo: 0x01}, {value: 0x8104, lo: 0xad, hi: 0xad}, - // Block 0x63, offset 0x234 + // Block 0x62, offset 0x225 {value: 0x0000, lo: 0x06}, {value: 0xe500, lo: 0x80, hi: 0x80}, {value: 0xc600, lo: 0x81, hi: 0x9b}, @@ -6323,21 +6330,21 @@ var nfkcSparseValues = [875]valueRange{ {value: 0xc600, lo: 0x9d, hi: 0xb7}, {value: 0xe500, lo: 0xb8, hi: 0xb8}, {value: 0xc600, lo: 0xb9, hi: 0xbf}, - // Block 0x64, offset 0x23b + // Block 0x63, offset 0x22c {value: 0x0000, lo: 0x05}, {value: 0xc600, lo: 0x80, hi: 0x93}, {value: 0xe500, lo: 0x94, hi: 0x94}, {value: 0xc600, lo: 0x95, hi: 0xaf}, {value: 0xe500, lo: 0xb0, hi: 0xb0}, {value: 0xc600, lo: 0xb1, hi: 0xbf}, - // Block 0x65, offset 0x241 + // Block 0x64, offset 0x232 {value: 0x0000, lo: 0x05}, {value: 0xc600, lo: 0x80, hi: 0x8b}, {value: 0xe500, lo: 0x8c, hi: 0x8c}, {value: 0xc600, lo: 0x8d, hi: 0xa7}, {value: 0xe500, lo: 0xa8, hi: 0xa8}, {value: 0xc600, lo: 0xa9, hi: 0xbf}, - // Block 0x66, offset 0x247 + // Block 0x65, offset 0x238 {value: 0x0000, lo: 0x07}, {value: 0xc600, lo: 0x80, hi: 0x83}, {value: 0xe500, lo: 0x84, hi: 0x84}, @@ -6346,60 +6353,60 @@ var nfkcSparseValues = [875]valueRange{ {value: 0xc600, lo: 0xa1, hi: 0xbb}, {value: 0xe500, lo: 0xbc, hi: 0xbc}, {value: 0xc600, lo: 0xbd, hi: 0xbf}, - // Block 0x67, offset 0x24f + // Block 0x66, offset 0x240 {value: 0x0000, lo: 0x05}, {value: 0xc600, lo: 0x80, hi: 0x97}, {value: 0xe500, lo: 0x98, hi: 0x98}, {value: 0xc600, lo: 0x99, hi: 0xb3}, {value: 0xe500, lo: 0xb4, hi: 0xb4}, {value: 0xc600, lo: 0xb5, hi: 0xbf}, - // Block 0x68, offset 0x255 + // Block 0x67, offset 0x246 {value: 0x0000, lo: 0x05}, {value: 0xc600, lo: 0x80, hi: 0x8f}, {value: 0xe500, lo: 0x90, hi: 0x90}, {value: 0xc600, lo: 0x91, hi: 0xab}, {value: 0xe500, lo: 0xac, hi: 0xac}, {value: 0xc600, lo: 0xad, hi: 0xbf}, - // Block 0x69, offset 0x25b + // Block 0x68, offset 0x24c {value: 0x0000, lo: 0x05}, {value: 0xc600, lo: 0x80, hi: 0x87}, {value: 0xe500, lo: 0x88, hi: 0x88}, {value: 0xc600, lo: 0x89, hi: 0xa3}, {value: 0xe500, lo: 0xa4, hi: 0xa4}, {value: 0xc600, lo: 0xa5, hi: 0xbf}, - // Block 0x6a, offset 0x261 + // Block 0x69, offset 0x252 {value: 0x0000, lo: 0x03}, {value: 0xc600, lo: 0x80, hi: 0x87}, {value: 0xe500, lo: 0x88, hi: 0x88}, {value: 0xc600, lo: 0x89, hi: 0xa3}, - // Block 0x6b, offset 0x265 + // Block 0x6a, offset 0x256 {value: 0x0002, lo: 0x01}, {value: 0x0003, lo: 0x81, hi: 0xbf}, - // Block 0x6c, offset 0x267 + // Block 0x6b, offset 0x258 {value: 0x0000, lo: 0x01}, {value: 0x812d, lo: 0xbd, hi: 0xbd}, - // Block 0x6d, offset 0x269 + // Block 0x6c, offset 0x25a {value: 0x0000, lo: 0x01}, {value: 0x812d, lo: 0xa0, hi: 0xa0}, - // Block 0x6e, offset 0x26b + // Block 0x6d, offset 0x25c {value: 0x0000, lo: 0x01}, {value: 0x8132, lo: 0xb6, hi: 0xba}, - // Block 0x6f, offset 0x26d + // Block 0x6e, offset 0x25e {value: 0x002c, lo: 0x05}, {value: 0x812d, lo: 0x8d, hi: 0x8d}, {value: 0x8132, lo: 0x8f, hi: 0x8f}, {value: 0x8132, lo: 0xb8, hi: 0xb8}, {value: 0x8101, lo: 0xb9, hi: 0xba}, {value: 0x8104, lo: 0xbf, hi: 0xbf}, - // Block 0x70, offset 0x273 + // Block 0x6f, offset 0x264 {value: 0x0000, lo: 0x02}, {value: 0x8132, lo: 0xa5, hi: 0xa5}, {value: 0x812d, lo: 0xa6, hi: 0xa6}, - // Block 0x71, offset 0x276 + // Block 0x70, offset 0x267 {value: 0x0000, lo: 0x02}, {value: 0x8104, lo: 0x86, hi: 0x86}, {value: 0x8104, lo: 0xbf, hi: 0xbf}, - // Block 0x72, offset 0x279 + // Block 0x71, offset 0x26a {value: 0x17fe, lo: 0x07}, {value: 0xa000, lo: 0x99, hi: 0x99}, {value: 0x4238, lo: 0x9a, hi: 0x9a}, @@ -6408,7 +6415,7 @@ var nfkcSparseValues = [875]valueRange{ {value: 0xa000, lo: 0xa5, hi: 0xa5}, {value: 0x424c, lo: 0xab, hi: 0xab}, {value: 0x8104, lo: 0xb9, hi: 0xba}, - // Block 0x73, offset 0x281 + // Block 0x72, offset 0x272 {value: 0x0000, lo: 0x06}, {value: 0x8132, lo: 0x80, hi: 0x82}, {value: 0x9900, lo: 0xa7, hi: 0xa7}, @@ -6416,18 +6423,18 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x2d88, lo: 0xaf, hi: 0xaf}, {value: 0xa000, lo: 0xb1, hi: 0xb2}, {value: 0x8104, lo: 0xb3, hi: 0xb4}, - // Block 0x74, offset 0x288 + // Block 0x73, offset 0x279 {value: 0x0000, lo: 0x02}, {value: 0x8104, lo: 0x80, hi: 0x80}, {value: 0x8102, lo: 0x8a, hi: 0x8a}, - // Block 0x75, offset 0x28b + // Block 0x74, offset 0x27c {value: 0x0000, lo: 0x02}, {value: 0x8104, lo: 0xb5, hi: 0xb5}, {value: 0x8102, lo: 0xb6, hi: 0xb6}, - // Block 0x76, offset 0x28e + // Block 0x75, offset 0x27f {value: 0x0002, lo: 0x01}, {value: 0x8102, lo: 0xa9, hi: 0xaa}, - // Block 0x77, offset 0x290 + // Block 0x76, offset 0x281 {value: 0x0000, lo: 0x07}, {value: 0xa000, lo: 0x87, hi: 0x87}, {value: 0x2d92, lo: 0x8b, hi: 0x8b}, @@ -6436,11 +6443,11 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x9900, lo: 0x97, hi: 0x97}, {value: 0x8132, lo: 0xa6, hi: 0xac}, {value: 0x8132, lo: 0xb0, hi: 0xb4}, - // Block 0x78, offset 0x298 + // Block 0x77, offset 0x289 {value: 0x0000, lo: 0x02}, {value: 0x8104, lo: 0x82, hi: 0x82}, {value: 0x8102, lo: 0x86, hi: 0x86}, - // Block 0x79, offset 0x29b + // Block 0x78, offset 0x28c {value: 0x6b5a, lo: 0x06}, {value: 0x9900, lo: 0xb0, hi: 0xb0}, {value: 0xa000, lo: 0xb9, hi: 0xb9}, @@ -6448,40 +6455,53 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x2db0, lo: 0xbb, hi: 0xbb}, {value: 0x2da6, lo: 0xbc, hi: 0xbd}, {value: 0x2dba, lo: 0xbe, hi: 0xbe}, - // Block 0x7a, offset 0x2a2 + // Block 0x79, offset 0x293 {value: 0x0000, lo: 0x02}, {value: 0x8104, lo: 0x82, hi: 0x82}, {value: 0x8102, lo: 0x83, hi: 0x83}, - // Block 0x7b, offset 0x2a5 + // Block 0x7a, offset 0x296 {value: 0x0000, lo: 0x05}, {value: 0x9900, lo: 0xaf, hi: 0xaf}, {value: 0xa000, lo: 0xb8, hi: 0xb9}, {value: 0x2dc4, lo: 0xba, hi: 0xba}, {value: 0x2dce, lo: 0xbb, hi: 0xbb}, {value: 0x8104, lo: 0xbf, hi: 0xbf}, - // Block 0x7c, offset 0x2ab + // Block 0x7b, offset 0x29c {value: 0x0000, lo: 0x01}, {value: 0x8102, lo: 0x80, hi: 0x80}, - // Block 0x7d, offset 0x2ad + // Block 0x7c, offset 0x29e {value: 0x0000, lo: 0x01}, {value: 0x8104, lo: 0xbf, hi: 0xbf}, - // Block 0x7e, offset 0x2af + // Block 0x7d, offset 0x2a0 {value: 0x0000, lo: 0x02}, {value: 0x8104, lo: 0xb6, hi: 0xb6}, {value: 0x8102, lo: 0xb7, hi: 0xb7}, - // Block 0x7f, offset 0x2b2 + // Block 0x7e, offset 0x2a3 {value: 0x0000, lo: 0x01}, {value: 0x8104, lo: 0xab, hi: 0xab}, - // Block 0x80, offset 0x2b4 + // Block 0x7f, offset 0x2a5 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0xb4, hi: 0xb4}, + // Block 0x80, offset 0x2a7 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x87, hi: 0x87}, + // Block 0x81, offset 0x2a9 + {value: 0x0000, lo: 0x01}, + {value: 0x8104, lo: 0x99, hi: 0x99}, + // Block 0x82, offset 0x2ab + {value: 0x0000, lo: 0x02}, + {value: 0x8102, lo: 0x82, hi: 0x82}, + {value: 0x8104, lo: 0x84, hi: 0x85}, + // Block 0x83, offset 0x2ae {value: 0x0000, lo: 0x01}, {value: 0x8101, lo: 0xb0, hi: 0xb4}, - // Block 0x81, offset 0x2b6 + // Block 0x84, offset 0x2b0 {value: 0x0000, lo: 0x01}, {value: 0x8132, lo: 0xb0, hi: 0xb6}, - // Block 0x82, offset 0x2b8 + // Block 0x85, offset 0x2b2 {value: 0x0000, lo: 0x01}, {value: 0x8101, lo: 0x9e, hi: 0x9e}, - // Block 0x83, offset 0x2ba + // Block 0x86, offset 0x2b4 {value: 0x0000, lo: 0x0c}, {value: 0x45cc, lo: 0x9e, hi: 0x9e}, {value: 0x45d6, lo: 0x9f, hi: 0x9f}, @@ -6495,7 +6515,7 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x8130, lo: 0xad, hi: 0xad}, {value: 0x812b, lo: 0xae, hi: 0xb2}, {value: 0x812d, lo: 0xbb, hi: 0xbf}, - // Block 0x84, offset 0x2c7 + // Block 0x87, offset 0x2c1 {value: 0x0000, lo: 0x09}, {value: 0x812d, lo: 0x80, hi: 0x82}, {value: 0x8132, lo: 0x85, hi: 0x89}, @@ -6506,24 +6526,24 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x4650, lo: 0xbd, hi: 0xbd}, {value: 0x466c, lo: 0xbe, hi: 0xbe}, {value: 0x465e, lo: 0xbf, hi: 0xbf}, - // Block 0x85, offset 0x2d1 + // Block 0x88, offset 0x2cb {value: 0x0000, lo: 0x01}, {value: 0x467a, lo: 0x80, hi: 0x80}, - // Block 0x86, offset 0x2d3 + // Block 0x89, offset 0x2cd {value: 0x0000, lo: 0x01}, {value: 0x8132, lo: 0x82, hi: 0x84}, - // Block 0x87, offset 0x2d5 + // Block 0x8a, offset 0x2cf {value: 0x0002, lo: 0x03}, {value: 0x0043, lo: 0x80, hi: 0x99}, {value: 0x0083, lo: 0x9a, hi: 0xb3}, {value: 0x0043, lo: 0xb4, hi: 0xbf}, - // Block 0x88, offset 0x2d9 + // Block 0x8b, offset 0x2d3 {value: 0x0002, lo: 0x04}, {value: 0x005b, lo: 0x80, hi: 0x8d}, {value: 0x0083, lo: 0x8e, hi: 0x94}, {value: 0x0093, lo: 0x96, hi: 0xa7}, {value: 0x0043, lo: 0xa8, hi: 0xbf}, - // Block 0x89, offset 0x2de + // Block 0x8c, offset 0x2d8 {value: 0x0002, lo: 0x0b}, {value: 0x0073, lo: 0x80, hi: 0x81}, {value: 0x0083, lo: 0x82, hi: 0x9b}, @@ -6536,13 +6556,13 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x0083, lo: 0xb6, hi: 0xb9}, {value: 0x008d, lo: 0xbb, hi: 0xbb}, {value: 0x0091, lo: 0xbd, hi: 0xbf}, - // Block 0x8a, offset 0x2ea + // Block 0x8d, offset 0x2e4 {value: 0x0002, lo: 0x04}, {value: 0x0097, lo: 0x80, hi: 0x83}, {value: 0x00a1, lo: 0x85, hi: 0x8f}, {value: 0x0043, lo: 0x90, hi: 0xa9}, {value: 0x0083, lo: 0xaa, hi: 0xbf}, - // Block 0x8b, offset 0x2ef + // Block 0x8e, offset 0x2e9 {value: 0x0002, lo: 0x08}, {value: 0x00af, lo: 0x80, hi: 0x83}, {value: 0x0043, lo: 0x84, hi: 0x85}, @@ -6552,36 +6572,36 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x0083, lo: 0x9e, hi: 0xb7}, {value: 0x0043, lo: 0xb8, hi: 0xb9}, {value: 0x0049, lo: 0xbb, hi: 0xbe}, - // Block 0x8c, offset 0x2f8 + // Block 0x8f, offset 0x2f2 {value: 0x0002, lo: 0x05}, {value: 0x0053, lo: 0x80, hi: 0x84}, {value: 0x005f, lo: 0x86, hi: 0x86}, {value: 0x0067, lo: 0x8a, hi: 0x90}, {value: 0x0083, lo: 0x92, hi: 0xab}, {value: 0x0043, lo: 0xac, hi: 0xbf}, - // Block 0x8d, offset 0x2fe + // Block 0x90, offset 0x2f8 {value: 0x0002, lo: 0x04}, {value: 0x006b, lo: 0x80, hi: 0x85}, {value: 0x0083, lo: 0x86, hi: 0x9f}, {value: 0x0043, lo: 0xa0, hi: 0xb9}, {value: 0x0083, lo: 0xba, hi: 0xbf}, - // Block 0x8e, offset 0x303 + // Block 0x91, offset 0x2fd {value: 0x0002, lo: 0x03}, {value: 0x008f, lo: 0x80, hi: 0x93}, {value: 0x0043, lo: 0x94, hi: 0xad}, {value: 0x0083, lo: 0xae, hi: 0xbf}, - // Block 0x8f, offset 0x307 + // Block 0x92, offset 0x301 {value: 0x0002, lo: 0x04}, {value: 0x00a7, lo: 0x80, hi: 0x87}, {value: 0x0043, lo: 0x88, hi: 0xa1}, {value: 0x0083, lo: 0xa2, hi: 0xbb}, {value: 0x0043, lo: 0xbc, hi: 0xbf}, - // Block 0x90, offset 0x30c + // Block 0x93, offset 0x306 {value: 0x0002, lo: 0x03}, {value: 0x004b, lo: 0x80, hi: 0x95}, {value: 0x0083, lo: 0x96, hi: 0xaf}, {value: 0x0043, lo: 0xb0, hi: 0xbf}, - // Block 0x91, offset 0x310 + // Block 0x94, offset 0x30a {value: 0x0003, lo: 0x0f}, {value: 0x01b8, lo: 0x80, hi: 0x80}, {value: 0x045f, lo: 0x81, hi: 0x81}, @@ -6598,7 +6618,7 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x01a6, lo: 0xb4, hi: 0xba}, {value: 0x045f, lo: 0xbb, hi: 0xbb}, {value: 0x01bb, lo: 0xbc, hi: 0xbf}, - // Block 0x92, offset 0x320 + // Block 0x95, offset 0x31a {value: 0x0003, lo: 0x0d}, {value: 0x01c7, lo: 0x80, hi: 0x94}, {value: 0x045b, lo: 0x95, hi: 0x95}, @@ -6613,7 +6633,7 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x01a6, lo: 0xae, hi: 0xb4}, {value: 0x045f, lo: 0xb5, hi: 0xb5}, {value: 0x01bb, lo: 0xb6, hi: 0xbf}, - // Block 0x93, offset 0x32e + // Block 0x96, offset 0x328 {value: 0x0003, lo: 0x0d}, {value: 0x01d9, lo: 0x80, hi: 0x8e}, {value: 0x045b, lo: 0x8f, hi: 0x8f}, @@ -6628,7 +6648,7 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x01a6, lo: 0xa8, hi: 0xae}, {value: 0x045f, lo: 0xaf, hi: 0xaf}, {value: 0x01bb, lo: 0xb0, hi: 0xbf}, - // Block 0x94, offset 0x33c + // Block 0x97, offset 0x336 {value: 0x0003, lo: 0x0d}, {value: 0x01eb, lo: 0x80, hi: 0x88}, {value: 0x045b, lo: 0x89, hi: 0x89}, @@ -6643,21 +6663,21 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x01a6, lo: 0xa2, hi: 0xa8}, {value: 0x045f, lo: 0xa9, hi: 0xa9}, {value: 0x01bb, lo: 0xaa, hi: 0xbf}, - // Block 0x95, offset 0x34a + // Block 0x98, offset 0x344 {value: 0x0000, lo: 0x05}, {value: 0x8132, lo: 0x80, hi: 0x86}, {value: 0x8132, lo: 0x88, hi: 0x98}, {value: 0x8132, lo: 0x9b, hi: 0xa1}, {value: 0x8132, lo: 0xa3, hi: 0xa4}, {value: 0x8132, lo: 0xa6, hi: 0xaa}, - // Block 0x96, offset 0x350 + // Block 0x99, offset 0x34a {value: 0x0000, lo: 0x01}, {value: 0x812d, lo: 0x90, hi: 0x96}, - // Block 0x97, offset 0x352 + // Block 0x9a, offset 0x34c {value: 0x0000, lo: 0x02}, {value: 0x8132, lo: 0x84, hi: 0x89}, {value: 0x8102, lo: 0x8a, hi: 0x8a}, - // Block 0x98, offset 0x355 + // Block 0x9b, offset 0x34f {value: 0x0002, lo: 0x09}, {value: 0x0063, lo: 0x80, hi: 0x89}, {value: 0x1951, lo: 0x8a, hi: 0x8a}, @@ -6668,10 +6688,10 @@ var nfkcSparseValues = [875]valueRange{ {value: 0x19ae, lo: 0x8f, hi: 0x8f}, {value: 0x197b, lo: 0xaa, hi: 0xaa}, {value: 0x197e, lo: 0xab, hi: 0xab}, - // Block 0x99, offset 0x35f + // Block 0x9c, offset 0x359 {value: 0x0000, lo: 0x01}, {value: 0x193f, lo: 0x90, hi: 0x90}, - // Block 0x9a, offset 0x361 + // Block 0x9d, offset 0x35b {value: 0x0028, lo: 0x09}, {value: 0x2862, lo: 0x80, hi: 0x80}, {value: 0x2826, lo: 0x81, hi: 0x81}, @@ -7628,4 +7648,4 @@ var recompMap = map[uint32]rune{ 0x15B915AF: 0x115BB, } -// Total size of tables: 53KB (54006 bytes) +// Total size of tables: 53KB (54226 bytes) diff --git a/vendor/golang.org/x/text/unicode/norm/transform.go b/vendor/golang.org/x/text/unicode/norm/transform.go index 8589067cd..9f47efbaf 100644 --- a/vendor/golang.org/x/text/unicode/norm/transform.go +++ b/vendor/golang.org/x/text/unicode/norm/transform.go @@ -40,7 +40,7 @@ func (f Form) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) } func flushTransform(rb *reorderBuffer) bool { - // Write out (must fully fit in dst, or else it is a ErrShortDst). + // Write out (must fully fit in dst, or else it is an ErrShortDst). if len(rb.out) < rb.nrune*utf8.UTFMax { return false } diff --git a/vendor/golang.org/x/text/unicode/norm/transform_test.go b/vendor/golang.org/x/text/unicode/norm/transform_test.go index 987d680ed..d596ff3d8 100644 --- a/vendor/golang.org/x/text/unicode/norm/transform_test.go +++ b/vendor/golang.org/x/text/unicode/norm/transform_test.go @@ -41,7 +41,7 @@ func TestTransform(t *testing.T) { {NFC, "qx", "", true, 1, transform.ErrShortDst}, {NFC, "a\u0300abc", "\u00e0a", true, 4, transform.ErrShortDst}, - // We cannot write a segment if succesive runes could still change the result. + // We cannot write a segment if successive runes could still change the result. {NFD, "ö", "", false, 3, transform.ErrShortSrc}, {NFC, "a\u0300", "", false, 4, transform.ErrShortSrc}, {NFD, "a\u0300", "", false, 4, transform.ErrShortSrc}, @@ -68,7 +68,7 @@ func TestTransform(t *testing.T) { t.Errorf("%d: was %+q (%v); want %+q (%v)", i, out, err, tt.out, tt.err) } if want := tt.f.String(tt.in)[:nDst]; want != out { - t.Errorf("%d: incorect normalization: was %+q; want %+q", i, out, want) + t.Errorf("%d: incorrect normalization: was %+q; want %+q", i, out, want) } } } diff --git a/vendor/golang.org/x/text/unicode/rangetable/gen.go b/vendor/golang.org/x/text/unicode/rangetable/gen.go index bea49dda1..6a64e42ab 100644 --- a/vendor/golang.org/x/text/unicode/rangetable/gen.go +++ b/vendor/golang.org/x/text/unicode/rangetable/gen.go @@ -13,12 +13,13 @@ import ( "io" "log" "reflect" - "sort" "strings" "unicode" + "golang.org/x/text/collate" "golang.org/x/text/internal/gen" "golang.org/x/text/internal/ucd" + "golang.org/x/text/language" "golang.org/x/text/unicode/rangetable" ) @@ -37,8 +38,9 @@ func getVersions() []string { log.Fatal(bootstrapMessage) } + c := collate.New(language.Und, collate.Numeric) versions := strings.Split(*versionList, ",") - sort.Strings(versions) + c.SortStrings(versions) // Ensure that at least the current version is included. for _, v := range versions { @@ -48,7 +50,7 @@ func getVersions() []string { } versions = append(versions, gen.UnicodeVersion()) - sort.Strings(versions) + c.SortStrings(versions) return versions } diff --git a/vendor/golang.org/x/text/unicode/rangetable/tables.go b/vendor/golang.org/x/text/unicode/rangetable/tables.go index 61c989b4c..73179c0e0 100644 --- a/vendor/golang.org/x/text/unicode/rangetable/tables.go +++ b/vendor/golang.org/x/text/unicode/rangetable/tables.go @@ -2,22 +2,23 @@ package rangetable -//go:generate go run gen.go --versions=4.1.0,5.0.0,5.1.0,5.2.0,6.0.0,6.1.0,6.2.0,6.3.0,7.0.0,8.0.0,9.0.0 +//go:generate go run gen.go --versions=4.1.0,5.1.0,5.2.0,5.0.0,6.1.0,6.2.0,6.3.0,6.0.0,7.0.0,8.0.0,9.0.0,10.0.0 import "unicode" var assigned = map[string]*unicode.RangeTable{ - "4.1.0": assigned4_1_0, - "5.0.0": assigned5_0_0, - "5.1.0": assigned5_1_0, - "5.2.0": assigned5_2_0, - "6.0.0": assigned6_0_0, - "6.1.0": assigned6_1_0, - "6.2.0": assigned6_2_0, - "6.3.0": assigned6_3_0, - "7.0.0": assigned7_0_0, - "8.0.0": assigned8_0_0, - "9.0.0": assigned9_0_0, + "4.1.0": assigned4_1_0, + "5.1.0": assigned5_1_0, + "5.2.0": assigned5_2_0, + "5.0.0": assigned5_0_0, + "6.1.0": assigned6_1_0, + "6.2.0": assigned6_2_0, + "6.3.0": assigned6_3_0, + "6.0.0": assigned6_0_0, + "7.0.0": assigned7_0_0, + "8.0.0": assigned8_0_0, + "9.0.0": assigned9_0_0, + "10.0.0": assigned10_0_0, } // size 2924 bytes (2 KiB) @@ -443,440 +444,6 @@ var assigned4_1_0 = &unicode.RangeTable{ LatinOffset: 0, } -// size 3026 bytes (2 KiB) -var assigned5_0_0 = &unicode.RangeTable{ - R16: []unicode.Range16{ - {0x0000, 0x036f, 1}, - {0x0374, 0x0375, 1}, - {0x037a, 0x037e, 1}, - {0x0384, 0x038a, 1}, - {0x038c, 0x038e, 2}, - {0x038f, 0x03a1, 1}, - {0x03a3, 0x03ce, 1}, - {0x03d0, 0x0486, 1}, - {0x0488, 0x0513, 1}, - {0x0531, 0x0556, 1}, - {0x0559, 0x055f, 1}, - {0x0561, 0x0587, 1}, - {0x0589, 0x058a, 1}, - {0x0591, 0x05c7, 1}, - {0x05d0, 0x05ea, 1}, - {0x05f0, 0x05f4, 1}, - {0x0600, 0x0603, 1}, - {0x060b, 0x0615, 1}, - {0x061b, 0x061e, 3}, - {0x061f, 0x0621, 2}, - {0x0622, 0x063a, 1}, - {0x0640, 0x065e, 1}, - {0x0660, 0x070d, 1}, - {0x070f, 0x074a, 1}, - {0x074d, 0x076d, 1}, - {0x0780, 0x07b1, 1}, - {0x07c0, 0x07fa, 1}, - {0x0901, 0x0939, 1}, - {0x093c, 0x094d, 1}, - {0x0950, 0x0954, 1}, - {0x0958, 0x0970, 1}, - {0x097b, 0x097f, 1}, - {0x0981, 0x0983, 1}, - {0x0985, 0x098c, 1}, - {0x098f, 0x0990, 1}, - {0x0993, 0x09a8, 1}, - {0x09aa, 0x09b0, 1}, - {0x09b2, 0x09b6, 4}, - {0x09b7, 0x09b9, 1}, - {0x09bc, 0x09c4, 1}, - {0x09c7, 0x09c8, 1}, - {0x09cb, 0x09ce, 1}, - {0x09d7, 0x09dc, 5}, - {0x09dd, 0x09df, 2}, - {0x09e0, 0x09e3, 1}, - {0x09e6, 0x09fa, 1}, - {0x0a01, 0x0a03, 1}, - {0x0a05, 0x0a0a, 1}, - {0x0a0f, 0x0a10, 1}, - {0x0a13, 0x0a28, 1}, - {0x0a2a, 0x0a30, 1}, - {0x0a32, 0x0a33, 1}, - {0x0a35, 0x0a36, 1}, - {0x0a38, 0x0a39, 1}, - {0x0a3c, 0x0a3e, 2}, - {0x0a3f, 0x0a42, 1}, - {0x0a47, 0x0a48, 1}, - {0x0a4b, 0x0a4d, 1}, - {0x0a59, 0x0a5c, 1}, - {0x0a5e, 0x0a66, 8}, - {0x0a67, 0x0a74, 1}, - {0x0a81, 0x0a83, 1}, - {0x0a85, 0x0a8d, 1}, - {0x0a8f, 0x0a91, 1}, - {0x0a93, 0x0aa8, 1}, - {0x0aaa, 0x0ab0, 1}, - {0x0ab2, 0x0ab3, 1}, - {0x0ab5, 0x0ab9, 1}, - {0x0abc, 0x0ac5, 1}, - {0x0ac7, 0x0ac9, 1}, - {0x0acb, 0x0acd, 1}, - {0x0ad0, 0x0ae0, 16}, - {0x0ae1, 0x0ae3, 1}, - {0x0ae6, 0x0aef, 1}, - {0x0af1, 0x0b01, 16}, - {0x0b02, 0x0b03, 1}, - {0x0b05, 0x0b0c, 1}, - {0x0b0f, 0x0b10, 1}, - {0x0b13, 0x0b28, 1}, - {0x0b2a, 0x0b30, 1}, - {0x0b32, 0x0b33, 1}, - {0x0b35, 0x0b39, 1}, - {0x0b3c, 0x0b43, 1}, - {0x0b47, 0x0b48, 1}, - {0x0b4b, 0x0b4d, 1}, - {0x0b56, 0x0b57, 1}, - {0x0b5c, 0x0b5d, 1}, - {0x0b5f, 0x0b61, 1}, - {0x0b66, 0x0b71, 1}, - {0x0b82, 0x0b83, 1}, - {0x0b85, 0x0b8a, 1}, - {0x0b8e, 0x0b90, 1}, - {0x0b92, 0x0b95, 1}, - {0x0b99, 0x0b9a, 1}, - {0x0b9c, 0x0b9e, 2}, - {0x0b9f, 0x0ba3, 4}, - {0x0ba4, 0x0ba8, 4}, - {0x0ba9, 0x0baa, 1}, - {0x0bae, 0x0bb9, 1}, - {0x0bbe, 0x0bc2, 1}, - {0x0bc6, 0x0bc8, 1}, - {0x0bca, 0x0bcd, 1}, - {0x0bd7, 0x0be6, 15}, - {0x0be7, 0x0bfa, 1}, - {0x0c01, 0x0c03, 1}, - {0x0c05, 0x0c0c, 1}, - {0x0c0e, 0x0c10, 1}, - {0x0c12, 0x0c28, 1}, - {0x0c2a, 0x0c33, 1}, - {0x0c35, 0x0c39, 1}, - {0x0c3e, 0x0c44, 1}, - {0x0c46, 0x0c48, 1}, - {0x0c4a, 0x0c4d, 1}, - {0x0c55, 0x0c56, 1}, - {0x0c60, 0x0c61, 1}, - {0x0c66, 0x0c6f, 1}, - {0x0c82, 0x0c83, 1}, - {0x0c85, 0x0c8c, 1}, - {0x0c8e, 0x0c90, 1}, - {0x0c92, 0x0ca8, 1}, - {0x0caa, 0x0cb3, 1}, - {0x0cb5, 0x0cb9, 1}, - {0x0cbc, 0x0cc4, 1}, - {0x0cc6, 0x0cc8, 1}, - {0x0cca, 0x0ccd, 1}, - {0x0cd5, 0x0cd6, 1}, - {0x0cde, 0x0ce0, 2}, - {0x0ce1, 0x0ce3, 1}, - {0x0ce6, 0x0cef, 1}, - {0x0cf1, 0x0cf2, 1}, - {0x0d02, 0x0d03, 1}, - {0x0d05, 0x0d0c, 1}, - {0x0d0e, 0x0d10, 1}, - {0x0d12, 0x0d28, 1}, - {0x0d2a, 0x0d39, 1}, - {0x0d3e, 0x0d43, 1}, - {0x0d46, 0x0d48, 1}, - {0x0d4a, 0x0d4d, 1}, - {0x0d57, 0x0d60, 9}, - {0x0d61, 0x0d66, 5}, - {0x0d67, 0x0d6f, 1}, - {0x0d82, 0x0d83, 1}, - {0x0d85, 0x0d96, 1}, - {0x0d9a, 0x0db1, 1}, - {0x0db3, 0x0dbb, 1}, - {0x0dbd, 0x0dc0, 3}, - {0x0dc1, 0x0dc6, 1}, - {0x0dca, 0x0dcf, 5}, - {0x0dd0, 0x0dd4, 1}, - {0x0dd6, 0x0dd8, 2}, - {0x0dd9, 0x0ddf, 1}, - {0x0df2, 0x0df4, 1}, - {0x0e01, 0x0e3a, 1}, - {0x0e3f, 0x0e5b, 1}, - {0x0e81, 0x0e82, 1}, - {0x0e84, 0x0e87, 3}, - {0x0e88, 0x0e8a, 2}, - {0x0e8d, 0x0e94, 7}, - {0x0e95, 0x0e97, 1}, - {0x0e99, 0x0e9f, 1}, - {0x0ea1, 0x0ea3, 1}, - {0x0ea5, 0x0ea7, 2}, - {0x0eaa, 0x0eab, 1}, - {0x0ead, 0x0eb9, 1}, - {0x0ebb, 0x0ebd, 1}, - {0x0ec0, 0x0ec4, 1}, - {0x0ec6, 0x0ec8, 2}, - {0x0ec9, 0x0ecd, 1}, - {0x0ed0, 0x0ed9, 1}, - {0x0edc, 0x0edd, 1}, - {0x0f00, 0x0f47, 1}, - {0x0f49, 0x0f6a, 1}, - {0x0f71, 0x0f8b, 1}, - {0x0f90, 0x0f97, 1}, - {0x0f99, 0x0fbc, 1}, - {0x0fbe, 0x0fcc, 1}, - {0x0fcf, 0x0fd1, 1}, - {0x1000, 0x1021, 1}, - {0x1023, 0x1027, 1}, - {0x1029, 0x102a, 1}, - {0x102c, 0x1032, 1}, - {0x1036, 0x1039, 1}, - {0x1040, 0x1059, 1}, - {0x10a0, 0x10c5, 1}, - {0x10d0, 0x10fc, 1}, - {0x1100, 0x1159, 1}, - {0x115f, 0x11a2, 1}, - {0x11a8, 0x11f9, 1}, - {0x1200, 0x1248, 1}, - {0x124a, 0x124d, 1}, - {0x1250, 0x1256, 1}, - {0x1258, 0x125a, 2}, - {0x125b, 0x125d, 1}, - {0x1260, 0x1288, 1}, - {0x128a, 0x128d, 1}, - {0x1290, 0x12b0, 1}, - {0x12b2, 0x12b5, 1}, - {0x12b8, 0x12be, 1}, - {0x12c0, 0x12c2, 2}, - {0x12c3, 0x12c5, 1}, - {0x12c8, 0x12d6, 1}, - {0x12d8, 0x1310, 1}, - {0x1312, 0x1315, 1}, - {0x1318, 0x135a, 1}, - {0x135f, 0x137c, 1}, - {0x1380, 0x1399, 1}, - {0x13a0, 0x13f4, 1}, - {0x1401, 0x1676, 1}, - {0x1680, 0x169c, 1}, - {0x16a0, 0x16f0, 1}, - {0x1700, 0x170c, 1}, - {0x170e, 0x1714, 1}, - {0x1720, 0x1736, 1}, - {0x1740, 0x1753, 1}, - {0x1760, 0x176c, 1}, - {0x176e, 0x1770, 1}, - {0x1772, 0x1773, 1}, - {0x1780, 0x17dd, 1}, - {0x17e0, 0x17e9, 1}, - {0x17f0, 0x17f9, 1}, - {0x1800, 0x180e, 1}, - {0x1810, 0x1819, 1}, - {0x1820, 0x1877, 1}, - {0x1880, 0x18a9, 1}, - {0x1900, 0x191c, 1}, - {0x1920, 0x192b, 1}, - {0x1930, 0x193b, 1}, - {0x1940, 0x1944, 4}, - {0x1945, 0x196d, 1}, - {0x1970, 0x1974, 1}, - {0x1980, 0x19a9, 1}, - {0x19b0, 0x19c9, 1}, - {0x19d0, 0x19d9, 1}, - {0x19de, 0x1a1b, 1}, - {0x1a1e, 0x1a1f, 1}, - {0x1b00, 0x1b4b, 1}, - {0x1b50, 0x1b7c, 1}, - {0x1d00, 0x1dca, 1}, - {0x1dfe, 0x1e9b, 1}, - {0x1ea0, 0x1ef9, 1}, - {0x1f00, 0x1f15, 1}, - {0x1f18, 0x1f1d, 1}, - {0x1f20, 0x1f45, 1}, - {0x1f48, 0x1f4d, 1}, - {0x1f50, 0x1f57, 1}, - {0x1f59, 0x1f5f, 2}, - {0x1f60, 0x1f7d, 1}, - {0x1f80, 0x1fb4, 1}, - {0x1fb6, 0x1fc4, 1}, - {0x1fc6, 0x1fd3, 1}, - {0x1fd6, 0x1fdb, 1}, - {0x1fdd, 0x1fef, 1}, - {0x1ff2, 0x1ff4, 1}, - {0x1ff6, 0x1ffe, 1}, - {0x2000, 0x2063, 1}, - {0x206a, 0x2071, 1}, - {0x2074, 0x208e, 1}, - {0x2090, 0x2094, 1}, - {0x20a0, 0x20b5, 1}, - {0x20d0, 0x20ef, 1}, - {0x2100, 0x214e, 1}, - {0x2153, 0x2184, 1}, - {0x2190, 0x23e7, 1}, - {0x2400, 0x2426, 1}, - {0x2440, 0x244a, 1}, - {0x2460, 0x269c, 1}, - {0x26a0, 0x26b2, 1}, - {0x2701, 0x2704, 1}, - {0x2706, 0x2709, 1}, - {0x270c, 0x2727, 1}, - {0x2729, 0x274b, 1}, - {0x274d, 0x274f, 2}, - {0x2750, 0x2752, 1}, - {0x2756, 0x2758, 2}, - {0x2759, 0x275e, 1}, - {0x2761, 0x2794, 1}, - {0x2798, 0x27af, 1}, - {0x27b1, 0x27be, 1}, - {0x27c0, 0x27ca, 1}, - {0x27d0, 0x27eb, 1}, - {0x27f0, 0x2b1a, 1}, - {0x2b20, 0x2b23, 1}, - {0x2c00, 0x2c2e, 1}, - {0x2c30, 0x2c5e, 1}, - {0x2c60, 0x2c6c, 1}, - {0x2c74, 0x2c77, 1}, - {0x2c80, 0x2cea, 1}, - {0x2cf9, 0x2d25, 1}, - {0x2d30, 0x2d65, 1}, - {0x2d6f, 0x2d80, 17}, - {0x2d81, 0x2d96, 1}, - {0x2da0, 0x2da6, 1}, - {0x2da8, 0x2dae, 1}, - {0x2db0, 0x2db6, 1}, - {0x2db8, 0x2dbe, 1}, - {0x2dc0, 0x2dc6, 1}, - {0x2dc8, 0x2dce, 1}, - {0x2dd0, 0x2dd6, 1}, - {0x2dd8, 0x2dde, 1}, - {0x2e00, 0x2e17, 1}, - {0x2e1c, 0x2e1d, 1}, - {0x2e80, 0x2e99, 1}, - {0x2e9b, 0x2ef3, 1}, - {0x2f00, 0x2fd5, 1}, - {0x2ff0, 0x2ffb, 1}, - {0x3000, 0x303f, 1}, - {0x3041, 0x3096, 1}, - {0x3099, 0x30ff, 1}, - {0x3105, 0x312c, 1}, - {0x3131, 0x318e, 1}, - {0x3190, 0x31b7, 1}, - {0x31c0, 0x31cf, 1}, - {0x31f0, 0x321e, 1}, - {0x3220, 0x3243, 1}, - {0x3250, 0x32fe, 1}, - {0x3300, 0x4db5, 1}, - {0x4dc0, 0x9fbb, 1}, - {0xa000, 0xa48c, 1}, - {0xa490, 0xa4c6, 1}, - {0xa700, 0xa71a, 1}, - {0xa720, 0xa721, 1}, - {0xa800, 0xa82b, 1}, - {0xa840, 0xa877, 1}, - {0xac00, 0xd7a3, 1}, - {0xd800, 0xfa2d, 1}, - {0xfa30, 0xfa6a, 1}, - {0xfa70, 0xfad9, 1}, - {0xfb00, 0xfb06, 1}, - {0xfb13, 0xfb17, 1}, - {0xfb1d, 0xfb36, 1}, - {0xfb38, 0xfb3c, 1}, - {0xfb3e, 0xfb40, 2}, - {0xfb41, 0xfb43, 2}, - {0xfb44, 0xfb46, 2}, - {0xfb47, 0xfbb1, 1}, - {0xfbd3, 0xfd3f, 1}, - {0xfd50, 0xfd8f, 1}, - {0xfd92, 0xfdc7, 1}, - {0xfdf0, 0xfdfd, 1}, - {0xfe00, 0xfe19, 1}, - {0xfe20, 0xfe23, 1}, - {0xfe30, 0xfe52, 1}, - {0xfe54, 0xfe66, 1}, - {0xfe68, 0xfe6b, 1}, - {0xfe70, 0xfe74, 1}, - {0xfe76, 0xfefc, 1}, - {0xfeff, 0xff01, 2}, - {0xff02, 0xffbe, 1}, - {0xffc2, 0xffc7, 1}, - {0xffca, 0xffcf, 1}, - {0xffd2, 0xffd7, 1}, - {0xffda, 0xffdc, 1}, - {0xffe0, 0xffe6, 1}, - {0xffe8, 0xffee, 1}, - {0xfff9, 0xfffd, 1}, - }, - R32: []unicode.Range32{ - {0x00010000, 0x0001000b, 1}, - {0x0001000d, 0x00010026, 1}, - {0x00010028, 0x0001003a, 1}, - {0x0001003c, 0x0001003d, 1}, - {0x0001003f, 0x0001004d, 1}, - {0x00010050, 0x0001005d, 1}, - {0x00010080, 0x000100fa, 1}, - {0x00010100, 0x00010102, 1}, - {0x00010107, 0x00010133, 1}, - {0x00010137, 0x0001018a, 1}, - {0x00010300, 0x0001031e, 1}, - {0x00010320, 0x00010323, 1}, - {0x00010330, 0x0001034a, 1}, - {0x00010380, 0x0001039d, 1}, - {0x0001039f, 0x000103c3, 1}, - {0x000103c8, 0x000103d5, 1}, - {0x00010400, 0x0001049d, 1}, - {0x000104a0, 0x000104a9, 1}, - {0x00010800, 0x00010805, 1}, - {0x00010808, 0x0001080a, 2}, - {0x0001080b, 0x00010835, 1}, - {0x00010837, 0x00010838, 1}, - {0x0001083c, 0x0001083f, 3}, - {0x00010900, 0x00010919, 1}, - {0x0001091f, 0x00010a00, 225}, - {0x00010a01, 0x00010a03, 1}, - {0x00010a05, 0x00010a06, 1}, - {0x00010a0c, 0x00010a13, 1}, - {0x00010a15, 0x00010a17, 1}, - {0x00010a19, 0x00010a33, 1}, - {0x00010a38, 0x00010a3a, 1}, - {0x00010a3f, 0x00010a47, 1}, - {0x00010a50, 0x00010a58, 1}, - {0x00012000, 0x0001236e, 1}, - {0x00012400, 0x00012462, 1}, - {0x00012470, 0x00012473, 1}, - {0x0001d000, 0x0001d0f5, 1}, - {0x0001d100, 0x0001d126, 1}, - {0x0001d12a, 0x0001d1dd, 1}, - {0x0001d200, 0x0001d245, 1}, - {0x0001d300, 0x0001d356, 1}, - {0x0001d360, 0x0001d371, 1}, - {0x0001d400, 0x0001d454, 1}, - {0x0001d456, 0x0001d49c, 1}, - {0x0001d49e, 0x0001d49f, 1}, - {0x0001d4a2, 0x0001d4a5, 3}, - {0x0001d4a6, 0x0001d4a9, 3}, - {0x0001d4aa, 0x0001d4ac, 1}, - {0x0001d4ae, 0x0001d4b9, 1}, - {0x0001d4bb, 0x0001d4bd, 2}, - {0x0001d4be, 0x0001d4c3, 1}, - {0x0001d4c5, 0x0001d505, 1}, - {0x0001d507, 0x0001d50a, 1}, - {0x0001d50d, 0x0001d514, 1}, - {0x0001d516, 0x0001d51c, 1}, - {0x0001d51e, 0x0001d539, 1}, - {0x0001d53b, 0x0001d53e, 1}, - {0x0001d540, 0x0001d544, 1}, - {0x0001d546, 0x0001d54a, 4}, - {0x0001d54b, 0x0001d550, 1}, - {0x0001d552, 0x0001d6a5, 1}, - {0x0001d6a8, 0x0001d7cb, 1}, - {0x0001d7ce, 0x0001d7ff, 1}, - {0x00020000, 0x0002a6d6, 1}, - {0x0002f800, 0x0002fa1d, 1}, - {0x000e0001, 0x000e0020, 31}, - {0x000e0021, 0x000e007f, 1}, - {0x000e0100, 0x000e01ef, 1}, - {0x000f0000, 0x000ffffd, 1}, - {0x00100000, 0x0010fffd, 1}, - }, - LatinOffset: 0, -} - // size 3152 bytes (3 KiB) var assigned5_1_0 = &unicode.RangeTable{ R16: []unicode.Range16{ @@ -1809,15 +1376,18 @@ var assigned5_2_0 = &unicode.RangeTable{ LatinOffset: 0, } -// size 3812 bytes (3 KiB) -var assigned6_0_0 = &unicode.RangeTable{ +// size 3026 bytes (2 KiB) +var assigned5_0_0 = &unicode.RangeTable{ R16: []unicode.Range16{ - {0x0000, 0x0377, 1}, + {0x0000, 0x036f, 1}, + {0x0374, 0x0375, 1}, {0x037a, 0x037e, 1}, {0x0384, 0x038a, 1}, {0x038c, 0x038e, 2}, {0x038f, 0x03a1, 1}, - {0x03a3, 0x0527, 1}, + {0x03a3, 0x03ce, 1}, + {0x03d0, 0x0486, 1}, + {0x0488, 0x0513, 1}, {0x0531, 0x0556, 1}, {0x0559, 0x055f, 1}, {0x0561, 0x0587, 1}, @@ -1826,17 +1396,21 @@ var assigned6_0_0 = &unicode.RangeTable{ {0x05d0, 0x05ea, 1}, {0x05f0, 0x05f4, 1}, {0x0600, 0x0603, 1}, - {0x0606, 0x061b, 1}, - {0x061e, 0x070d, 1}, + {0x060b, 0x0615, 1}, + {0x061b, 0x061e, 3}, + {0x061f, 0x0621, 2}, + {0x0622, 0x063a, 1}, + {0x0640, 0x065e, 1}, + {0x0660, 0x070d, 1}, {0x070f, 0x074a, 1}, - {0x074d, 0x07b1, 1}, + {0x074d, 0x076d, 1}, + {0x0780, 0x07b1, 1}, {0x07c0, 0x07fa, 1}, - {0x0800, 0x082d, 1}, - {0x0830, 0x083e, 1}, - {0x0840, 0x085b, 1}, - {0x085e, 0x0900, 162}, - {0x0901, 0x0977, 1}, - {0x0979, 0x097f, 1}, + {0x0901, 0x0939, 1}, + {0x093c, 0x094d, 1}, + {0x0950, 0x0954, 1}, + {0x0958, 0x0970, 1}, + {0x097b, 0x097f, 1}, {0x0981, 0x0983, 1}, {0x0985, 0x098c, 1}, {0x098f, 0x0990, 1}, @@ -1850,7 +1424,7 @@ var assigned6_0_0 = &unicode.RangeTable{ {0x09d7, 0x09dc, 5}, {0x09dd, 0x09df, 2}, {0x09e0, 0x09e3, 1}, - {0x09e6, 0x09fb, 1}, + {0x09e6, 0x09fa, 1}, {0x0a01, 0x0a03, 1}, {0x0a05, 0x0a0a, 1}, {0x0a0f, 0x0a10, 1}, @@ -1863,10 +1437,9 @@ var assigned6_0_0 = &unicode.RangeTable{ {0x0a3f, 0x0a42, 1}, {0x0a47, 0x0a48, 1}, {0x0a4b, 0x0a4d, 1}, - {0x0a51, 0x0a59, 8}, - {0x0a5a, 0x0a5c, 1}, + {0x0a59, 0x0a5c, 1}, {0x0a5e, 0x0a66, 8}, - {0x0a67, 0x0a75, 1}, + {0x0a67, 0x0a74, 1}, {0x0a81, 0x0a83, 1}, {0x0a85, 0x0a8d, 1}, {0x0a8f, 0x0a91, 1}, @@ -1888,13 +1461,13 @@ var assigned6_0_0 = &unicode.RangeTable{ {0x0b2a, 0x0b30, 1}, {0x0b32, 0x0b33, 1}, {0x0b35, 0x0b39, 1}, - {0x0b3c, 0x0b44, 1}, + {0x0b3c, 0x0b43, 1}, {0x0b47, 0x0b48, 1}, {0x0b4b, 0x0b4d, 1}, {0x0b56, 0x0b57, 1}, {0x0b5c, 0x0b5d, 1}, - {0x0b5f, 0x0b63, 1}, - {0x0b66, 0x0b77, 1}, + {0x0b5f, 0x0b61, 1}, + {0x0b66, 0x0b71, 1}, {0x0b82, 0x0b83, 1}, {0x0b85, 0x0b8a, 1}, {0x0b8e, 0x0b90, 1}, @@ -1908,22 +1481,20 @@ var assigned6_0_0 = &unicode.RangeTable{ {0x0bbe, 0x0bc2, 1}, {0x0bc6, 0x0bc8, 1}, {0x0bca, 0x0bcd, 1}, - {0x0bd0, 0x0bd7, 7}, - {0x0be6, 0x0bfa, 1}, + {0x0bd7, 0x0be6, 15}, + {0x0be7, 0x0bfa, 1}, {0x0c01, 0x0c03, 1}, {0x0c05, 0x0c0c, 1}, {0x0c0e, 0x0c10, 1}, {0x0c12, 0x0c28, 1}, {0x0c2a, 0x0c33, 1}, {0x0c35, 0x0c39, 1}, - {0x0c3d, 0x0c44, 1}, + {0x0c3e, 0x0c44, 1}, {0x0c46, 0x0c48, 1}, {0x0c4a, 0x0c4d, 1}, {0x0c55, 0x0c56, 1}, - {0x0c58, 0x0c59, 1}, - {0x0c60, 0x0c63, 1}, + {0x0c60, 0x0c61, 1}, {0x0c66, 0x0c6f, 1}, - {0x0c78, 0x0c7f, 1}, {0x0c82, 0x0c83, 1}, {0x0c85, 0x0c8c, 1}, {0x0c8e, 0x0c90, 1}, @@ -1941,14 +1512,14 @@ var assigned6_0_0 = &unicode.RangeTable{ {0x0d02, 0x0d03, 1}, {0x0d05, 0x0d0c, 1}, {0x0d0e, 0x0d10, 1}, - {0x0d12, 0x0d3a, 1}, - {0x0d3d, 0x0d44, 1}, + {0x0d12, 0x0d28, 1}, + {0x0d2a, 0x0d39, 1}, + {0x0d3e, 0x0d43, 1}, {0x0d46, 0x0d48, 1}, - {0x0d4a, 0x0d4e, 1}, + {0x0d4a, 0x0d4d, 1}, {0x0d57, 0x0d60, 9}, - {0x0d61, 0x0d63, 1}, - {0x0d66, 0x0d75, 1}, - {0x0d79, 0x0d7f, 1}, + {0x0d61, 0x0d66, 5}, + {0x0d67, 0x0d6f, 1}, {0x0d82, 0x0d83, 1}, {0x0d85, 0x0d96, 1}, {0x0d9a, 0x0db1, 1}, @@ -1979,14 +1550,24 @@ var assigned6_0_0 = &unicode.RangeTable{ {0x0ed0, 0x0ed9, 1}, {0x0edc, 0x0edd, 1}, {0x0f00, 0x0f47, 1}, - {0x0f49, 0x0f6c, 1}, - {0x0f71, 0x0f97, 1}, + {0x0f49, 0x0f6a, 1}, + {0x0f71, 0x0f8b, 1}, + {0x0f90, 0x0f97, 1}, {0x0f99, 0x0fbc, 1}, {0x0fbe, 0x0fcc, 1}, - {0x0fce, 0x0fda, 1}, - {0x1000, 0x10c5, 1}, + {0x0fcf, 0x0fd1, 1}, + {0x1000, 0x1021, 1}, + {0x1023, 0x1027, 1}, + {0x1029, 0x102a, 1}, + {0x102c, 0x1032, 1}, + {0x1036, 0x1039, 1}, + {0x1040, 0x1059, 1}, + {0x10a0, 0x10c5, 1}, {0x10d0, 0x10fc, 1}, - {0x1100, 0x1248, 1}, + {0x1100, 0x1159, 1}, + {0x115f, 0x11a2, 1}, + {0x11a8, 0x11f9, 1}, + {0x1200, 0x1248, 1}, {0x124a, 0x124d, 1}, {0x1250, 0x1256, 1}, {0x1258, 0x125a, 2}, @@ -2002,10 +1583,11 @@ var assigned6_0_0 = &unicode.RangeTable{ {0x12d8, 0x1310, 1}, {0x1312, 0x1315, 1}, {0x1318, 0x135a, 1}, - {0x135d, 0x137c, 1}, + {0x135f, 0x137c, 1}, {0x1380, 0x1399, 1}, {0x13a0, 0x13f4, 1}, - {0x1400, 0x169c, 1}, + {0x1401, 0x1676, 1}, + {0x1680, 0x169c, 1}, {0x16a0, 0x16f0, 1}, {0x1700, 0x170c, 1}, {0x170e, 0x1714, 1}, @@ -2020,34 +1602,24 @@ var assigned6_0_0 = &unicode.RangeTable{ {0x1800, 0x180e, 1}, {0x1810, 0x1819, 1}, {0x1820, 0x1877, 1}, - {0x1880, 0x18aa, 1}, - {0x18b0, 0x18f5, 1}, + {0x1880, 0x18a9, 1}, {0x1900, 0x191c, 1}, {0x1920, 0x192b, 1}, {0x1930, 0x193b, 1}, {0x1940, 0x1944, 4}, {0x1945, 0x196d, 1}, {0x1970, 0x1974, 1}, - {0x1980, 0x19ab, 1}, + {0x1980, 0x19a9, 1}, {0x19b0, 0x19c9, 1}, - {0x19d0, 0x19da, 1}, + {0x19d0, 0x19d9, 1}, {0x19de, 0x1a1b, 1}, - {0x1a1e, 0x1a5e, 1}, - {0x1a60, 0x1a7c, 1}, - {0x1a7f, 0x1a89, 1}, - {0x1a90, 0x1a99, 1}, - {0x1aa0, 0x1aad, 1}, + {0x1a1e, 0x1a1f, 1}, {0x1b00, 0x1b4b, 1}, {0x1b50, 0x1b7c, 1}, - {0x1b80, 0x1baa, 1}, - {0x1bae, 0x1bb9, 1}, - {0x1bc0, 0x1bf3, 1}, - {0x1bfc, 0x1c37, 1}, - {0x1c3b, 0x1c49, 1}, - {0x1c4d, 0x1c7f, 1}, - {0x1cd0, 0x1cf2, 1}, - {0x1d00, 0x1de6, 1}, - {0x1dfc, 0x1f15, 1}, + {0x1d00, 0x1dca, 1}, + {0x1dfe, 0x1e9b, 1}, + {0x1ea0, 0x1ef9, 1}, + {0x1f00, 0x1f15, 1}, {0x1f18, 0x1f1d, 1}, {0x1f20, 0x1f45, 1}, {0x1f48, 0x1f4d, 1}, @@ -2061,28 +1633,43 @@ var assigned6_0_0 = &unicode.RangeTable{ {0x1fdd, 0x1fef, 1}, {0x1ff2, 0x1ff4, 1}, {0x1ff6, 0x1ffe, 1}, - {0x2000, 0x2064, 1}, + {0x2000, 0x2063, 1}, {0x206a, 0x2071, 1}, {0x2074, 0x208e, 1}, - {0x2090, 0x209c, 1}, - {0x20a0, 0x20b9, 1}, - {0x20d0, 0x20f0, 1}, - {0x2100, 0x2189, 1}, - {0x2190, 0x23f3, 1}, + {0x2090, 0x2094, 1}, + {0x20a0, 0x20b5, 1}, + {0x20d0, 0x20ef, 1}, + {0x2100, 0x214e, 1}, + {0x2153, 0x2184, 1}, + {0x2190, 0x23e7, 1}, {0x2400, 0x2426, 1}, {0x2440, 0x244a, 1}, - {0x2460, 0x26ff, 1}, - {0x2701, 0x27ca, 1}, - {0x27cc, 0x27ce, 2}, - {0x27cf, 0x2b4c, 1}, - {0x2b50, 0x2b59, 1}, + {0x2460, 0x269c, 1}, + {0x26a0, 0x26b2, 1}, + {0x2701, 0x2704, 1}, + {0x2706, 0x2709, 1}, + {0x270c, 0x2727, 1}, + {0x2729, 0x274b, 1}, + {0x274d, 0x274f, 2}, + {0x2750, 0x2752, 1}, + {0x2756, 0x2758, 2}, + {0x2759, 0x275e, 1}, + {0x2761, 0x2794, 1}, + {0x2798, 0x27af, 1}, + {0x27b1, 0x27be, 1}, + {0x27c0, 0x27ca, 1}, + {0x27d0, 0x27eb, 1}, + {0x27f0, 0x2b1a, 1}, + {0x2b20, 0x2b23, 1}, {0x2c00, 0x2c2e, 1}, {0x2c30, 0x2c5e, 1}, - {0x2c60, 0x2cf1, 1}, + {0x2c60, 0x2c6c, 1}, + {0x2c74, 0x2c77, 1}, + {0x2c80, 0x2cea, 1}, {0x2cf9, 0x2d25, 1}, {0x2d30, 0x2d65, 1}, - {0x2d6f, 0x2d70, 1}, - {0x2d7f, 0x2d96, 1}, + {0x2d6f, 0x2d80, 17}, + {0x2d81, 0x2d96, 1}, {0x2da0, 0x2da6, 1}, {0x2da8, 0x2dae, 1}, {0x2db0, 0x2db6, 1}, @@ -2091,7 +1678,8 @@ var assigned6_0_0 = &unicode.RangeTable{ {0x2dc8, 0x2dce, 1}, {0x2dd0, 0x2dd6, 1}, {0x2dd8, 0x2dde, 1}, - {0x2de0, 0x2e31, 1}, + {0x2e00, 0x2e17, 1}, + {0x2e1c, 0x2e1d, 1}, {0x2e80, 0x2e99, 1}, {0x2e9b, 0x2ef3, 1}, {0x2f00, 0x2fd5, 1}, @@ -2099,52 +1687,24 @@ var assigned6_0_0 = &unicode.RangeTable{ {0x3000, 0x303f, 1}, {0x3041, 0x3096, 1}, {0x3099, 0x30ff, 1}, - {0x3105, 0x312d, 1}, + {0x3105, 0x312c, 1}, {0x3131, 0x318e, 1}, - {0x3190, 0x31ba, 1}, - {0x31c0, 0x31e3, 1}, + {0x3190, 0x31b7, 1}, + {0x31c0, 0x31cf, 1}, {0x31f0, 0x321e, 1}, - {0x3220, 0x32fe, 1}, + {0x3220, 0x3243, 1}, + {0x3250, 0x32fe, 1}, {0x3300, 0x4db5, 1}, - {0x4dc0, 0x9fcb, 1}, + {0x4dc0, 0x9fbb, 1}, {0xa000, 0xa48c, 1}, {0xa490, 0xa4c6, 1}, - {0xa4d0, 0xa62b, 1}, - {0xa640, 0xa673, 1}, - {0xa67c, 0xa697, 1}, - {0xa6a0, 0xa6f7, 1}, - {0xa700, 0xa78e, 1}, - {0xa790, 0xa791, 1}, - {0xa7a0, 0xa7a9, 1}, - {0xa7fa, 0xa82b, 1}, - {0xa830, 0xa839, 1}, + {0xa700, 0xa71a, 1}, + {0xa720, 0xa721, 1}, + {0xa800, 0xa82b, 1}, {0xa840, 0xa877, 1}, - {0xa880, 0xa8c4, 1}, - {0xa8ce, 0xa8d9, 1}, - {0xa8e0, 0xa8fb, 1}, - {0xa900, 0xa953, 1}, - {0xa95f, 0xa97c, 1}, - {0xa980, 0xa9cd, 1}, - {0xa9cf, 0xa9d9, 1}, - {0xa9de, 0xa9df, 1}, - {0xaa00, 0xaa36, 1}, - {0xaa40, 0xaa4d, 1}, - {0xaa50, 0xaa59, 1}, - {0xaa5c, 0xaa7b, 1}, - {0xaa80, 0xaac2, 1}, - {0xaadb, 0xaadf, 1}, - {0xab01, 0xab06, 1}, - {0xab09, 0xab0e, 1}, - {0xab11, 0xab16, 1}, - {0xab20, 0xab26, 1}, - {0xab28, 0xab2e, 1}, - {0xabc0, 0xabed, 1}, - {0xabf0, 0xabf9, 1}, {0xac00, 0xd7a3, 1}, - {0xd7b0, 0xd7c6, 1}, - {0xd7cb, 0xd7fb, 1}, {0xd800, 0xfa2d, 1}, - {0xfa30, 0xfa6d, 1}, + {0xfa30, 0xfa6a, 1}, {0xfa70, 0xfad9, 1}, {0xfb00, 0xfb06, 1}, {0xfb13, 0xfb17, 1}, @@ -2153,13 +1713,13 @@ var assigned6_0_0 = &unicode.RangeTable{ {0xfb3e, 0xfb40, 2}, {0xfb41, 0xfb43, 2}, {0xfb44, 0xfb46, 2}, - {0xfb47, 0xfbc1, 1}, + {0xfb47, 0xfbb1, 1}, {0xfbd3, 0xfd3f, 1}, {0xfd50, 0xfd8f, 1}, {0xfd92, 0xfdc7, 1}, {0xfdf0, 0xfdfd, 1}, {0xfe00, 0xfe19, 1}, - {0xfe20, 0xfe26, 1}, + {0xfe20, 0xfe23, 1}, {0xfe30, 0xfe52, 1}, {0xfe54, 0xfe66, 1}, {0xfe68, 0xfe6b, 1}, @@ -2186,10 +1746,6 @@ var assigned6_0_0 = &unicode.RangeTable{ {0x00010100, 0x00010102, 1}, {0x00010107, 0x00010133, 1}, {0x00010137, 0x0001018a, 1}, - {0x00010190, 0x0001019b, 1}, - {0x000101d0, 0x000101fd, 1}, - {0x00010280, 0x0001029c, 1}, - {0x000102a0, 0x000102d0, 1}, {0x00010300, 0x0001031e, 1}, {0x00010320, 0x00010323, 1}, {0x00010330, 0x0001034a, 1}, @@ -2203,11 +1759,8 @@ var assigned6_0_0 = &unicode.RangeTable{ {0x0001080b, 0x00010835, 1}, {0x00010837, 0x00010838, 1}, {0x0001083c, 0x0001083f, 3}, - {0x00010840, 0x00010855, 1}, - {0x00010857, 0x0001085f, 1}, - {0x00010900, 0x0001091b, 1}, - {0x0001091f, 0x00010939, 1}, - {0x0001093f, 0x00010a00, 193}, + {0x00010900, 0x00010919, 1}, + {0x0001091f, 0x00010a00, 225}, {0x00010a01, 0x00010a03, 1}, {0x00010a05, 0x00010a06, 1}, {0x00010a0c, 0x00010a13, 1}, @@ -2216,25 +1769,12 @@ var assigned6_0_0 = &unicode.RangeTable{ {0x00010a38, 0x00010a3a, 1}, {0x00010a3f, 0x00010a47, 1}, {0x00010a50, 0x00010a58, 1}, - {0x00010a60, 0x00010a7f, 1}, - {0x00010b00, 0x00010b35, 1}, - {0x00010b39, 0x00010b55, 1}, - {0x00010b58, 0x00010b72, 1}, - {0x00010b78, 0x00010b7f, 1}, - {0x00010c00, 0x00010c48, 1}, - {0x00010e60, 0x00010e7e, 1}, - {0x00011000, 0x0001104d, 1}, - {0x00011052, 0x0001106f, 1}, - {0x00011080, 0x000110c1, 1}, {0x00012000, 0x0001236e, 1}, {0x00012400, 0x00012462, 1}, {0x00012470, 0x00012473, 1}, - {0x00013000, 0x0001342e, 1}, - {0x00016800, 0x00016a38, 1}, - {0x0001b000, 0x0001b001, 1}, {0x0001d000, 0x0001d0f5, 1}, {0x0001d100, 0x0001d126, 1}, - {0x0001d129, 0x0001d1dd, 1}, + {0x0001d12a, 0x0001d1dd, 1}, {0x0001d200, 0x0001d245, 1}, {0x0001d300, 0x0001d356, 1}, {0x0001d360, 0x0001d371, 1}, @@ -2259,49 +1799,7 @@ var assigned6_0_0 = &unicode.RangeTable{ {0x0001d552, 0x0001d6a5, 1}, {0x0001d6a8, 0x0001d7cb, 1}, {0x0001d7ce, 0x0001d7ff, 1}, - {0x0001f000, 0x0001f02b, 1}, - {0x0001f030, 0x0001f093, 1}, - {0x0001f0a0, 0x0001f0ae, 1}, - {0x0001f0b1, 0x0001f0be, 1}, - {0x0001f0c1, 0x0001f0cf, 1}, - {0x0001f0d1, 0x0001f0df, 1}, - {0x0001f100, 0x0001f10a, 1}, - {0x0001f110, 0x0001f12e, 1}, - {0x0001f130, 0x0001f169, 1}, - {0x0001f170, 0x0001f19a, 1}, - {0x0001f1e6, 0x0001f202, 1}, - {0x0001f210, 0x0001f23a, 1}, - {0x0001f240, 0x0001f248, 1}, - {0x0001f250, 0x0001f251, 1}, - {0x0001f300, 0x0001f320, 1}, - {0x0001f330, 0x0001f335, 1}, - {0x0001f337, 0x0001f37c, 1}, - {0x0001f380, 0x0001f393, 1}, - {0x0001f3a0, 0x0001f3c4, 1}, - {0x0001f3c6, 0x0001f3ca, 1}, - {0x0001f3e0, 0x0001f3f0, 1}, - {0x0001f400, 0x0001f43e, 1}, - {0x0001f440, 0x0001f442, 2}, - {0x0001f443, 0x0001f4f7, 1}, - {0x0001f4f9, 0x0001f4fc, 1}, - {0x0001f500, 0x0001f53d, 1}, - {0x0001f550, 0x0001f567, 1}, - {0x0001f5fb, 0x0001f5ff, 1}, - {0x0001f601, 0x0001f610, 1}, - {0x0001f612, 0x0001f614, 1}, - {0x0001f616, 0x0001f61c, 2}, - {0x0001f61d, 0x0001f61e, 1}, - {0x0001f620, 0x0001f625, 1}, - {0x0001f628, 0x0001f62b, 1}, - {0x0001f62d, 0x0001f630, 3}, - {0x0001f631, 0x0001f633, 1}, - {0x0001f635, 0x0001f640, 1}, - {0x0001f645, 0x0001f64f, 1}, - {0x0001f680, 0x0001f6c5, 1}, - {0x0001f700, 0x0001f773, 1}, {0x00020000, 0x0002a6d6, 1}, - {0x0002a700, 0x0002b734, 1}, - {0x0002b740, 0x0002b81d, 1}, {0x0002f800, 0x0002fa1d, 1}, {0x000e0001, 0x000e0020, 31}, {0x000e0021, 0x000e007f, 1}, @@ -3905,6 +3403,509 @@ var assigned6_3_0 = &unicode.RangeTable{ LatinOffset: 0, } +// size 3812 bytes (3 KiB) +var assigned6_0_0 = &unicode.RangeTable{ + R16: []unicode.Range16{ + {0x0000, 0x0377, 1}, + {0x037a, 0x037e, 1}, + {0x0384, 0x038a, 1}, + {0x038c, 0x038e, 2}, + {0x038f, 0x03a1, 1}, + {0x03a3, 0x0527, 1}, + {0x0531, 0x0556, 1}, + {0x0559, 0x055f, 1}, + {0x0561, 0x0587, 1}, + {0x0589, 0x058a, 1}, + {0x0591, 0x05c7, 1}, + {0x05d0, 0x05ea, 1}, + {0x05f0, 0x05f4, 1}, + {0x0600, 0x0603, 1}, + {0x0606, 0x061b, 1}, + {0x061e, 0x070d, 1}, + {0x070f, 0x074a, 1}, + {0x074d, 0x07b1, 1}, + {0x07c0, 0x07fa, 1}, + {0x0800, 0x082d, 1}, + {0x0830, 0x083e, 1}, + {0x0840, 0x085b, 1}, + {0x085e, 0x0900, 162}, + {0x0901, 0x0977, 1}, + {0x0979, 0x097f, 1}, + {0x0981, 0x0983, 1}, + {0x0985, 0x098c, 1}, + {0x098f, 0x0990, 1}, + {0x0993, 0x09a8, 1}, + {0x09aa, 0x09b0, 1}, + {0x09b2, 0x09b6, 4}, + {0x09b7, 0x09b9, 1}, + {0x09bc, 0x09c4, 1}, + {0x09c7, 0x09c8, 1}, + {0x09cb, 0x09ce, 1}, + {0x09d7, 0x09dc, 5}, + {0x09dd, 0x09df, 2}, + {0x09e0, 0x09e3, 1}, + {0x09e6, 0x09fb, 1}, + {0x0a01, 0x0a03, 1}, + {0x0a05, 0x0a0a, 1}, + {0x0a0f, 0x0a10, 1}, + {0x0a13, 0x0a28, 1}, + {0x0a2a, 0x0a30, 1}, + {0x0a32, 0x0a33, 1}, + {0x0a35, 0x0a36, 1}, + {0x0a38, 0x0a39, 1}, + {0x0a3c, 0x0a3e, 2}, + {0x0a3f, 0x0a42, 1}, + {0x0a47, 0x0a48, 1}, + {0x0a4b, 0x0a4d, 1}, + {0x0a51, 0x0a59, 8}, + {0x0a5a, 0x0a5c, 1}, + {0x0a5e, 0x0a66, 8}, + {0x0a67, 0x0a75, 1}, + {0x0a81, 0x0a83, 1}, + {0x0a85, 0x0a8d, 1}, + {0x0a8f, 0x0a91, 1}, + {0x0a93, 0x0aa8, 1}, + {0x0aaa, 0x0ab0, 1}, + {0x0ab2, 0x0ab3, 1}, + {0x0ab5, 0x0ab9, 1}, + {0x0abc, 0x0ac5, 1}, + {0x0ac7, 0x0ac9, 1}, + {0x0acb, 0x0acd, 1}, + {0x0ad0, 0x0ae0, 16}, + {0x0ae1, 0x0ae3, 1}, + {0x0ae6, 0x0aef, 1}, + {0x0af1, 0x0b01, 16}, + {0x0b02, 0x0b03, 1}, + {0x0b05, 0x0b0c, 1}, + {0x0b0f, 0x0b10, 1}, + {0x0b13, 0x0b28, 1}, + {0x0b2a, 0x0b30, 1}, + {0x0b32, 0x0b33, 1}, + {0x0b35, 0x0b39, 1}, + {0x0b3c, 0x0b44, 1}, + {0x0b47, 0x0b48, 1}, + {0x0b4b, 0x0b4d, 1}, + {0x0b56, 0x0b57, 1}, + {0x0b5c, 0x0b5d, 1}, + {0x0b5f, 0x0b63, 1}, + {0x0b66, 0x0b77, 1}, + {0x0b82, 0x0b83, 1}, + {0x0b85, 0x0b8a, 1}, + {0x0b8e, 0x0b90, 1}, + {0x0b92, 0x0b95, 1}, + {0x0b99, 0x0b9a, 1}, + {0x0b9c, 0x0b9e, 2}, + {0x0b9f, 0x0ba3, 4}, + {0x0ba4, 0x0ba8, 4}, + {0x0ba9, 0x0baa, 1}, + {0x0bae, 0x0bb9, 1}, + {0x0bbe, 0x0bc2, 1}, + {0x0bc6, 0x0bc8, 1}, + {0x0bca, 0x0bcd, 1}, + {0x0bd0, 0x0bd7, 7}, + {0x0be6, 0x0bfa, 1}, + {0x0c01, 0x0c03, 1}, + {0x0c05, 0x0c0c, 1}, + {0x0c0e, 0x0c10, 1}, + {0x0c12, 0x0c28, 1}, + {0x0c2a, 0x0c33, 1}, + {0x0c35, 0x0c39, 1}, + {0x0c3d, 0x0c44, 1}, + {0x0c46, 0x0c48, 1}, + {0x0c4a, 0x0c4d, 1}, + {0x0c55, 0x0c56, 1}, + {0x0c58, 0x0c59, 1}, + {0x0c60, 0x0c63, 1}, + {0x0c66, 0x0c6f, 1}, + {0x0c78, 0x0c7f, 1}, + {0x0c82, 0x0c83, 1}, + {0x0c85, 0x0c8c, 1}, + {0x0c8e, 0x0c90, 1}, + {0x0c92, 0x0ca8, 1}, + {0x0caa, 0x0cb3, 1}, + {0x0cb5, 0x0cb9, 1}, + {0x0cbc, 0x0cc4, 1}, + {0x0cc6, 0x0cc8, 1}, + {0x0cca, 0x0ccd, 1}, + {0x0cd5, 0x0cd6, 1}, + {0x0cde, 0x0ce0, 2}, + {0x0ce1, 0x0ce3, 1}, + {0x0ce6, 0x0cef, 1}, + {0x0cf1, 0x0cf2, 1}, + {0x0d02, 0x0d03, 1}, + {0x0d05, 0x0d0c, 1}, + {0x0d0e, 0x0d10, 1}, + {0x0d12, 0x0d3a, 1}, + {0x0d3d, 0x0d44, 1}, + {0x0d46, 0x0d48, 1}, + {0x0d4a, 0x0d4e, 1}, + {0x0d57, 0x0d60, 9}, + {0x0d61, 0x0d63, 1}, + {0x0d66, 0x0d75, 1}, + {0x0d79, 0x0d7f, 1}, + {0x0d82, 0x0d83, 1}, + {0x0d85, 0x0d96, 1}, + {0x0d9a, 0x0db1, 1}, + {0x0db3, 0x0dbb, 1}, + {0x0dbd, 0x0dc0, 3}, + {0x0dc1, 0x0dc6, 1}, + {0x0dca, 0x0dcf, 5}, + {0x0dd0, 0x0dd4, 1}, + {0x0dd6, 0x0dd8, 2}, + {0x0dd9, 0x0ddf, 1}, + {0x0df2, 0x0df4, 1}, + {0x0e01, 0x0e3a, 1}, + {0x0e3f, 0x0e5b, 1}, + {0x0e81, 0x0e82, 1}, + {0x0e84, 0x0e87, 3}, + {0x0e88, 0x0e8a, 2}, + {0x0e8d, 0x0e94, 7}, + {0x0e95, 0x0e97, 1}, + {0x0e99, 0x0e9f, 1}, + {0x0ea1, 0x0ea3, 1}, + {0x0ea5, 0x0ea7, 2}, + {0x0eaa, 0x0eab, 1}, + {0x0ead, 0x0eb9, 1}, + {0x0ebb, 0x0ebd, 1}, + {0x0ec0, 0x0ec4, 1}, + {0x0ec6, 0x0ec8, 2}, + {0x0ec9, 0x0ecd, 1}, + {0x0ed0, 0x0ed9, 1}, + {0x0edc, 0x0edd, 1}, + {0x0f00, 0x0f47, 1}, + {0x0f49, 0x0f6c, 1}, + {0x0f71, 0x0f97, 1}, + {0x0f99, 0x0fbc, 1}, + {0x0fbe, 0x0fcc, 1}, + {0x0fce, 0x0fda, 1}, + {0x1000, 0x10c5, 1}, + {0x10d0, 0x10fc, 1}, + {0x1100, 0x1248, 1}, + {0x124a, 0x124d, 1}, + {0x1250, 0x1256, 1}, + {0x1258, 0x125a, 2}, + {0x125b, 0x125d, 1}, + {0x1260, 0x1288, 1}, + {0x128a, 0x128d, 1}, + {0x1290, 0x12b0, 1}, + {0x12b2, 0x12b5, 1}, + {0x12b8, 0x12be, 1}, + {0x12c0, 0x12c2, 2}, + {0x12c3, 0x12c5, 1}, + {0x12c8, 0x12d6, 1}, + {0x12d8, 0x1310, 1}, + {0x1312, 0x1315, 1}, + {0x1318, 0x135a, 1}, + {0x135d, 0x137c, 1}, + {0x1380, 0x1399, 1}, + {0x13a0, 0x13f4, 1}, + {0x1400, 0x169c, 1}, + {0x16a0, 0x16f0, 1}, + {0x1700, 0x170c, 1}, + {0x170e, 0x1714, 1}, + {0x1720, 0x1736, 1}, + {0x1740, 0x1753, 1}, + {0x1760, 0x176c, 1}, + {0x176e, 0x1770, 1}, + {0x1772, 0x1773, 1}, + {0x1780, 0x17dd, 1}, + {0x17e0, 0x17e9, 1}, + {0x17f0, 0x17f9, 1}, + {0x1800, 0x180e, 1}, + {0x1810, 0x1819, 1}, + {0x1820, 0x1877, 1}, + {0x1880, 0x18aa, 1}, + {0x18b0, 0x18f5, 1}, + {0x1900, 0x191c, 1}, + {0x1920, 0x192b, 1}, + {0x1930, 0x193b, 1}, + {0x1940, 0x1944, 4}, + {0x1945, 0x196d, 1}, + {0x1970, 0x1974, 1}, + {0x1980, 0x19ab, 1}, + {0x19b0, 0x19c9, 1}, + {0x19d0, 0x19da, 1}, + {0x19de, 0x1a1b, 1}, + {0x1a1e, 0x1a5e, 1}, + {0x1a60, 0x1a7c, 1}, + {0x1a7f, 0x1a89, 1}, + {0x1a90, 0x1a99, 1}, + {0x1aa0, 0x1aad, 1}, + {0x1b00, 0x1b4b, 1}, + {0x1b50, 0x1b7c, 1}, + {0x1b80, 0x1baa, 1}, + {0x1bae, 0x1bb9, 1}, + {0x1bc0, 0x1bf3, 1}, + {0x1bfc, 0x1c37, 1}, + {0x1c3b, 0x1c49, 1}, + {0x1c4d, 0x1c7f, 1}, + {0x1cd0, 0x1cf2, 1}, + {0x1d00, 0x1de6, 1}, + {0x1dfc, 0x1f15, 1}, + {0x1f18, 0x1f1d, 1}, + {0x1f20, 0x1f45, 1}, + {0x1f48, 0x1f4d, 1}, + {0x1f50, 0x1f57, 1}, + {0x1f59, 0x1f5f, 2}, + {0x1f60, 0x1f7d, 1}, + {0x1f80, 0x1fb4, 1}, + {0x1fb6, 0x1fc4, 1}, + {0x1fc6, 0x1fd3, 1}, + {0x1fd6, 0x1fdb, 1}, + {0x1fdd, 0x1fef, 1}, + {0x1ff2, 0x1ff4, 1}, + {0x1ff6, 0x1ffe, 1}, + {0x2000, 0x2064, 1}, + {0x206a, 0x2071, 1}, + {0x2074, 0x208e, 1}, + {0x2090, 0x209c, 1}, + {0x20a0, 0x20b9, 1}, + {0x20d0, 0x20f0, 1}, + {0x2100, 0x2189, 1}, + {0x2190, 0x23f3, 1}, + {0x2400, 0x2426, 1}, + {0x2440, 0x244a, 1}, + {0x2460, 0x26ff, 1}, + {0x2701, 0x27ca, 1}, + {0x27cc, 0x27ce, 2}, + {0x27cf, 0x2b4c, 1}, + {0x2b50, 0x2b59, 1}, + {0x2c00, 0x2c2e, 1}, + {0x2c30, 0x2c5e, 1}, + {0x2c60, 0x2cf1, 1}, + {0x2cf9, 0x2d25, 1}, + {0x2d30, 0x2d65, 1}, + {0x2d6f, 0x2d70, 1}, + {0x2d7f, 0x2d96, 1}, + {0x2da0, 0x2da6, 1}, + {0x2da8, 0x2dae, 1}, + {0x2db0, 0x2db6, 1}, + {0x2db8, 0x2dbe, 1}, + {0x2dc0, 0x2dc6, 1}, + {0x2dc8, 0x2dce, 1}, + {0x2dd0, 0x2dd6, 1}, + {0x2dd8, 0x2dde, 1}, + {0x2de0, 0x2e31, 1}, + {0x2e80, 0x2e99, 1}, + {0x2e9b, 0x2ef3, 1}, + {0x2f00, 0x2fd5, 1}, + {0x2ff0, 0x2ffb, 1}, + {0x3000, 0x303f, 1}, + {0x3041, 0x3096, 1}, + {0x3099, 0x30ff, 1}, + {0x3105, 0x312d, 1}, + {0x3131, 0x318e, 1}, + {0x3190, 0x31ba, 1}, + {0x31c0, 0x31e3, 1}, + {0x31f0, 0x321e, 1}, + {0x3220, 0x32fe, 1}, + {0x3300, 0x4db5, 1}, + {0x4dc0, 0x9fcb, 1}, + {0xa000, 0xa48c, 1}, + {0xa490, 0xa4c6, 1}, + {0xa4d0, 0xa62b, 1}, + {0xa640, 0xa673, 1}, + {0xa67c, 0xa697, 1}, + {0xa6a0, 0xa6f7, 1}, + {0xa700, 0xa78e, 1}, + {0xa790, 0xa791, 1}, + {0xa7a0, 0xa7a9, 1}, + {0xa7fa, 0xa82b, 1}, + {0xa830, 0xa839, 1}, + {0xa840, 0xa877, 1}, + {0xa880, 0xa8c4, 1}, + {0xa8ce, 0xa8d9, 1}, + {0xa8e0, 0xa8fb, 1}, + {0xa900, 0xa953, 1}, + {0xa95f, 0xa97c, 1}, + {0xa980, 0xa9cd, 1}, + {0xa9cf, 0xa9d9, 1}, + {0xa9de, 0xa9df, 1}, + {0xaa00, 0xaa36, 1}, + {0xaa40, 0xaa4d, 1}, + {0xaa50, 0xaa59, 1}, + {0xaa5c, 0xaa7b, 1}, + {0xaa80, 0xaac2, 1}, + {0xaadb, 0xaadf, 1}, + {0xab01, 0xab06, 1}, + {0xab09, 0xab0e, 1}, + {0xab11, 0xab16, 1}, + {0xab20, 0xab26, 1}, + {0xab28, 0xab2e, 1}, + {0xabc0, 0xabed, 1}, + {0xabf0, 0xabf9, 1}, + {0xac00, 0xd7a3, 1}, + {0xd7b0, 0xd7c6, 1}, + {0xd7cb, 0xd7fb, 1}, + {0xd800, 0xfa2d, 1}, + {0xfa30, 0xfa6d, 1}, + {0xfa70, 0xfad9, 1}, + {0xfb00, 0xfb06, 1}, + {0xfb13, 0xfb17, 1}, + {0xfb1d, 0xfb36, 1}, + {0xfb38, 0xfb3c, 1}, + {0xfb3e, 0xfb40, 2}, + {0xfb41, 0xfb43, 2}, + {0xfb44, 0xfb46, 2}, + {0xfb47, 0xfbc1, 1}, + {0xfbd3, 0xfd3f, 1}, + {0xfd50, 0xfd8f, 1}, + {0xfd92, 0xfdc7, 1}, + {0xfdf0, 0xfdfd, 1}, + {0xfe00, 0xfe19, 1}, + {0xfe20, 0xfe26, 1}, + {0xfe30, 0xfe52, 1}, + {0xfe54, 0xfe66, 1}, + {0xfe68, 0xfe6b, 1}, + {0xfe70, 0xfe74, 1}, + {0xfe76, 0xfefc, 1}, + {0xfeff, 0xff01, 2}, + {0xff02, 0xffbe, 1}, + {0xffc2, 0xffc7, 1}, + {0xffca, 0xffcf, 1}, + {0xffd2, 0xffd7, 1}, + {0xffda, 0xffdc, 1}, + {0xffe0, 0xffe6, 1}, + {0xffe8, 0xffee, 1}, + {0xfff9, 0xfffd, 1}, + }, + R32: []unicode.Range32{ + {0x00010000, 0x0001000b, 1}, + {0x0001000d, 0x00010026, 1}, + {0x00010028, 0x0001003a, 1}, + {0x0001003c, 0x0001003d, 1}, + {0x0001003f, 0x0001004d, 1}, + {0x00010050, 0x0001005d, 1}, + {0x00010080, 0x000100fa, 1}, + {0x00010100, 0x00010102, 1}, + {0x00010107, 0x00010133, 1}, + {0x00010137, 0x0001018a, 1}, + {0x00010190, 0x0001019b, 1}, + {0x000101d0, 0x000101fd, 1}, + {0x00010280, 0x0001029c, 1}, + {0x000102a0, 0x000102d0, 1}, + {0x00010300, 0x0001031e, 1}, + {0x00010320, 0x00010323, 1}, + {0x00010330, 0x0001034a, 1}, + {0x00010380, 0x0001039d, 1}, + {0x0001039f, 0x000103c3, 1}, + {0x000103c8, 0x000103d5, 1}, + {0x00010400, 0x0001049d, 1}, + {0x000104a0, 0x000104a9, 1}, + {0x00010800, 0x00010805, 1}, + {0x00010808, 0x0001080a, 2}, + {0x0001080b, 0x00010835, 1}, + {0x00010837, 0x00010838, 1}, + {0x0001083c, 0x0001083f, 3}, + {0x00010840, 0x00010855, 1}, + {0x00010857, 0x0001085f, 1}, + {0x00010900, 0x0001091b, 1}, + {0x0001091f, 0x00010939, 1}, + {0x0001093f, 0x00010a00, 193}, + {0x00010a01, 0x00010a03, 1}, + {0x00010a05, 0x00010a06, 1}, + {0x00010a0c, 0x00010a13, 1}, + {0x00010a15, 0x00010a17, 1}, + {0x00010a19, 0x00010a33, 1}, + {0x00010a38, 0x00010a3a, 1}, + {0x00010a3f, 0x00010a47, 1}, + {0x00010a50, 0x00010a58, 1}, + {0x00010a60, 0x00010a7f, 1}, + {0x00010b00, 0x00010b35, 1}, + {0x00010b39, 0x00010b55, 1}, + {0x00010b58, 0x00010b72, 1}, + {0x00010b78, 0x00010b7f, 1}, + {0x00010c00, 0x00010c48, 1}, + {0x00010e60, 0x00010e7e, 1}, + {0x00011000, 0x0001104d, 1}, + {0x00011052, 0x0001106f, 1}, + {0x00011080, 0x000110c1, 1}, + {0x00012000, 0x0001236e, 1}, + {0x00012400, 0x00012462, 1}, + {0x00012470, 0x00012473, 1}, + {0x00013000, 0x0001342e, 1}, + {0x00016800, 0x00016a38, 1}, + {0x0001b000, 0x0001b001, 1}, + {0x0001d000, 0x0001d0f5, 1}, + {0x0001d100, 0x0001d126, 1}, + {0x0001d129, 0x0001d1dd, 1}, + {0x0001d200, 0x0001d245, 1}, + {0x0001d300, 0x0001d356, 1}, + {0x0001d360, 0x0001d371, 1}, + {0x0001d400, 0x0001d454, 1}, + {0x0001d456, 0x0001d49c, 1}, + {0x0001d49e, 0x0001d49f, 1}, + {0x0001d4a2, 0x0001d4a5, 3}, + {0x0001d4a6, 0x0001d4a9, 3}, + {0x0001d4aa, 0x0001d4ac, 1}, + {0x0001d4ae, 0x0001d4b9, 1}, + {0x0001d4bb, 0x0001d4bd, 2}, + {0x0001d4be, 0x0001d4c3, 1}, + {0x0001d4c5, 0x0001d505, 1}, + {0x0001d507, 0x0001d50a, 1}, + {0x0001d50d, 0x0001d514, 1}, + {0x0001d516, 0x0001d51c, 1}, + {0x0001d51e, 0x0001d539, 1}, + {0x0001d53b, 0x0001d53e, 1}, + {0x0001d540, 0x0001d544, 1}, + {0x0001d546, 0x0001d54a, 4}, + {0x0001d54b, 0x0001d550, 1}, + {0x0001d552, 0x0001d6a5, 1}, + {0x0001d6a8, 0x0001d7cb, 1}, + {0x0001d7ce, 0x0001d7ff, 1}, + {0x0001f000, 0x0001f02b, 1}, + {0x0001f030, 0x0001f093, 1}, + {0x0001f0a0, 0x0001f0ae, 1}, + {0x0001f0b1, 0x0001f0be, 1}, + {0x0001f0c1, 0x0001f0cf, 1}, + {0x0001f0d1, 0x0001f0df, 1}, + {0x0001f100, 0x0001f10a, 1}, + {0x0001f110, 0x0001f12e, 1}, + {0x0001f130, 0x0001f169, 1}, + {0x0001f170, 0x0001f19a, 1}, + {0x0001f1e6, 0x0001f202, 1}, + {0x0001f210, 0x0001f23a, 1}, + {0x0001f240, 0x0001f248, 1}, + {0x0001f250, 0x0001f251, 1}, + {0x0001f300, 0x0001f320, 1}, + {0x0001f330, 0x0001f335, 1}, + {0x0001f337, 0x0001f37c, 1}, + {0x0001f380, 0x0001f393, 1}, + {0x0001f3a0, 0x0001f3c4, 1}, + {0x0001f3c6, 0x0001f3ca, 1}, + {0x0001f3e0, 0x0001f3f0, 1}, + {0x0001f400, 0x0001f43e, 1}, + {0x0001f440, 0x0001f442, 2}, + {0x0001f443, 0x0001f4f7, 1}, + {0x0001f4f9, 0x0001f4fc, 1}, + {0x0001f500, 0x0001f53d, 1}, + {0x0001f550, 0x0001f567, 1}, + {0x0001f5fb, 0x0001f5ff, 1}, + {0x0001f601, 0x0001f610, 1}, + {0x0001f612, 0x0001f614, 1}, + {0x0001f616, 0x0001f61c, 2}, + {0x0001f61d, 0x0001f61e, 1}, + {0x0001f620, 0x0001f625, 1}, + {0x0001f628, 0x0001f62b, 1}, + {0x0001f62d, 0x0001f630, 3}, + {0x0001f631, 0x0001f633, 1}, + {0x0001f635, 0x0001f640, 1}, + {0x0001f645, 0x0001f64f, 1}, + {0x0001f680, 0x0001f6c5, 1}, + {0x0001f700, 0x0001f773, 1}, + {0x00020000, 0x0002a6d6, 1}, + {0x0002a700, 0x0002b734, 1}, + {0x0002b740, 0x0002b81d, 1}, + {0x0002f800, 0x0002fa1d, 1}, + {0x000e0001, 0x000e0020, 31}, + {0x000e0021, 0x000e007f, 1}, + {0x000e0100, 0x000e01ef, 1}, + {0x000f0000, 0x000ffffd, 1}, + {0x00100000, 0x0010fffd, 1}, + }, + LatinOffset: 0, +} + // size 4898 bytes (4 KiB) var assigned7_0_0 = &unicode.RangeTable{ R16: []unicode.Range16{ @@ -5732,4 +5733,644 @@ var assigned9_0_0 = &unicode.RangeTable{ LatinOffset: 0, } -// Total size 44206 bytes (43 KiB) +// size 5492 bytes (5 KiB) +var assigned10_0_0 = &unicode.RangeTable{ + R16: []unicode.Range16{ + {0x0000, 0x0377, 1}, + {0x037a, 0x037f, 1}, + {0x0384, 0x038a, 1}, + {0x038c, 0x038e, 2}, + {0x038f, 0x03a1, 1}, + {0x03a3, 0x052f, 1}, + {0x0531, 0x0556, 1}, + {0x0559, 0x055f, 1}, + {0x0561, 0x0587, 1}, + {0x0589, 0x058a, 1}, + {0x058d, 0x058f, 1}, + {0x0591, 0x05c7, 1}, + {0x05d0, 0x05ea, 1}, + {0x05f0, 0x05f4, 1}, + {0x0600, 0x061c, 1}, + {0x061e, 0x070d, 1}, + {0x070f, 0x074a, 1}, + {0x074d, 0x07b1, 1}, + {0x07c0, 0x07fa, 1}, + {0x0800, 0x082d, 1}, + {0x0830, 0x083e, 1}, + {0x0840, 0x085b, 1}, + {0x085e, 0x0860, 2}, + {0x0861, 0x086a, 1}, + {0x08a0, 0x08b4, 1}, + {0x08b6, 0x08bd, 1}, + {0x08d4, 0x0983, 1}, + {0x0985, 0x098c, 1}, + {0x098f, 0x0990, 1}, + {0x0993, 0x09a8, 1}, + {0x09aa, 0x09b0, 1}, + {0x09b2, 0x09b6, 4}, + {0x09b7, 0x09b9, 1}, + {0x09bc, 0x09c4, 1}, + {0x09c7, 0x09c8, 1}, + {0x09cb, 0x09ce, 1}, + {0x09d7, 0x09dc, 5}, + {0x09dd, 0x09df, 2}, + {0x09e0, 0x09e3, 1}, + {0x09e6, 0x09fd, 1}, + {0x0a01, 0x0a03, 1}, + {0x0a05, 0x0a0a, 1}, + {0x0a0f, 0x0a10, 1}, + {0x0a13, 0x0a28, 1}, + {0x0a2a, 0x0a30, 1}, + {0x0a32, 0x0a33, 1}, + {0x0a35, 0x0a36, 1}, + {0x0a38, 0x0a39, 1}, + {0x0a3c, 0x0a3e, 2}, + {0x0a3f, 0x0a42, 1}, + {0x0a47, 0x0a48, 1}, + {0x0a4b, 0x0a4d, 1}, + {0x0a51, 0x0a59, 8}, + {0x0a5a, 0x0a5c, 1}, + {0x0a5e, 0x0a66, 8}, + {0x0a67, 0x0a75, 1}, + {0x0a81, 0x0a83, 1}, + {0x0a85, 0x0a8d, 1}, + {0x0a8f, 0x0a91, 1}, + {0x0a93, 0x0aa8, 1}, + {0x0aaa, 0x0ab0, 1}, + {0x0ab2, 0x0ab3, 1}, + {0x0ab5, 0x0ab9, 1}, + {0x0abc, 0x0ac5, 1}, + {0x0ac7, 0x0ac9, 1}, + {0x0acb, 0x0acd, 1}, + {0x0ad0, 0x0ae0, 16}, + {0x0ae1, 0x0ae3, 1}, + {0x0ae6, 0x0af1, 1}, + {0x0af9, 0x0aff, 1}, + {0x0b01, 0x0b03, 1}, + {0x0b05, 0x0b0c, 1}, + {0x0b0f, 0x0b10, 1}, + {0x0b13, 0x0b28, 1}, + {0x0b2a, 0x0b30, 1}, + {0x0b32, 0x0b33, 1}, + {0x0b35, 0x0b39, 1}, + {0x0b3c, 0x0b44, 1}, + {0x0b47, 0x0b48, 1}, + {0x0b4b, 0x0b4d, 1}, + {0x0b56, 0x0b57, 1}, + {0x0b5c, 0x0b5d, 1}, + {0x0b5f, 0x0b63, 1}, + {0x0b66, 0x0b77, 1}, + {0x0b82, 0x0b83, 1}, + {0x0b85, 0x0b8a, 1}, + {0x0b8e, 0x0b90, 1}, + {0x0b92, 0x0b95, 1}, + {0x0b99, 0x0b9a, 1}, + {0x0b9c, 0x0b9e, 2}, + {0x0b9f, 0x0ba3, 4}, + {0x0ba4, 0x0ba8, 4}, + {0x0ba9, 0x0baa, 1}, + {0x0bae, 0x0bb9, 1}, + {0x0bbe, 0x0bc2, 1}, + {0x0bc6, 0x0bc8, 1}, + {0x0bca, 0x0bcd, 1}, + {0x0bd0, 0x0bd7, 7}, + {0x0be6, 0x0bfa, 1}, + {0x0c00, 0x0c03, 1}, + {0x0c05, 0x0c0c, 1}, + {0x0c0e, 0x0c10, 1}, + {0x0c12, 0x0c28, 1}, + {0x0c2a, 0x0c39, 1}, + {0x0c3d, 0x0c44, 1}, + {0x0c46, 0x0c48, 1}, + {0x0c4a, 0x0c4d, 1}, + {0x0c55, 0x0c56, 1}, + {0x0c58, 0x0c5a, 1}, + {0x0c60, 0x0c63, 1}, + {0x0c66, 0x0c6f, 1}, + {0x0c78, 0x0c83, 1}, + {0x0c85, 0x0c8c, 1}, + {0x0c8e, 0x0c90, 1}, + {0x0c92, 0x0ca8, 1}, + {0x0caa, 0x0cb3, 1}, + {0x0cb5, 0x0cb9, 1}, + {0x0cbc, 0x0cc4, 1}, + {0x0cc6, 0x0cc8, 1}, + {0x0cca, 0x0ccd, 1}, + {0x0cd5, 0x0cd6, 1}, + {0x0cde, 0x0ce0, 2}, + {0x0ce1, 0x0ce3, 1}, + {0x0ce6, 0x0cef, 1}, + {0x0cf1, 0x0cf2, 1}, + {0x0d00, 0x0d03, 1}, + {0x0d05, 0x0d0c, 1}, + {0x0d0e, 0x0d10, 1}, + {0x0d12, 0x0d44, 1}, + {0x0d46, 0x0d48, 1}, + {0x0d4a, 0x0d4f, 1}, + {0x0d54, 0x0d63, 1}, + {0x0d66, 0x0d7f, 1}, + {0x0d82, 0x0d83, 1}, + {0x0d85, 0x0d96, 1}, + {0x0d9a, 0x0db1, 1}, + {0x0db3, 0x0dbb, 1}, + {0x0dbd, 0x0dc0, 3}, + {0x0dc1, 0x0dc6, 1}, + {0x0dca, 0x0dcf, 5}, + {0x0dd0, 0x0dd4, 1}, + {0x0dd6, 0x0dd8, 2}, + {0x0dd9, 0x0ddf, 1}, + {0x0de6, 0x0def, 1}, + {0x0df2, 0x0df4, 1}, + {0x0e01, 0x0e3a, 1}, + {0x0e3f, 0x0e5b, 1}, + {0x0e81, 0x0e82, 1}, + {0x0e84, 0x0e87, 3}, + {0x0e88, 0x0e8a, 2}, + {0x0e8d, 0x0e94, 7}, + {0x0e95, 0x0e97, 1}, + {0x0e99, 0x0e9f, 1}, + {0x0ea1, 0x0ea3, 1}, + {0x0ea5, 0x0ea7, 2}, + {0x0eaa, 0x0eab, 1}, + {0x0ead, 0x0eb9, 1}, + {0x0ebb, 0x0ebd, 1}, + {0x0ec0, 0x0ec4, 1}, + {0x0ec6, 0x0ec8, 2}, + {0x0ec9, 0x0ecd, 1}, + {0x0ed0, 0x0ed9, 1}, + {0x0edc, 0x0edf, 1}, + {0x0f00, 0x0f47, 1}, + {0x0f49, 0x0f6c, 1}, + {0x0f71, 0x0f97, 1}, + {0x0f99, 0x0fbc, 1}, + {0x0fbe, 0x0fcc, 1}, + {0x0fce, 0x0fda, 1}, + {0x1000, 0x10c5, 1}, + {0x10c7, 0x10cd, 6}, + {0x10d0, 0x1248, 1}, + {0x124a, 0x124d, 1}, + {0x1250, 0x1256, 1}, + {0x1258, 0x125a, 2}, + {0x125b, 0x125d, 1}, + {0x1260, 0x1288, 1}, + {0x128a, 0x128d, 1}, + {0x1290, 0x12b0, 1}, + {0x12b2, 0x12b5, 1}, + {0x12b8, 0x12be, 1}, + {0x12c0, 0x12c2, 2}, + {0x12c3, 0x12c5, 1}, + {0x12c8, 0x12d6, 1}, + {0x12d8, 0x1310, 1}, + {0x1312, 0x1315, 1}, + {0x1318, 0x135a, 1}, + {0x135d, 0x137c, 1}, + {0x1380, 0x1399, 1}, + {0x13a0, 0x13f5, 1}, + {0x13f8, 0x13fd, 1}, + {0x1400, 0x169c, 1}, + {0x16a0, 0x16f8, 1}, + {0x1700, 0x170c, 1}, + {0x170e, 0x1714, 1}, + {0x1720, 0x1736, 1}, + {0x1740, 0x1753, 1}, + {0x1760, 0x176c, 1}, + {0x176e, 0x1770, 1}, + {0x1772, 0x1773, 1}, + {0x1780, 0x17dd, 1}, + {0x17e0, 0x17e9, 1}, + {0x17f0, 0x17f9, 1}, + {0x1800, 0x180e, 1}, + {0x1810, 0x1819, 1}, + {0x1820, 0x1877, 1}, + {0x1880, 0x18aa, 1}, + {0x18b0, 0x18f5, 1}, + {0x1900, 0x191e, 1}, + {0x1920, 0x192b, 1}, + {0x1930, 0x193b, 1}, + {0x1940, 0x1944, 4}, + {0x1945, 0x196d, 1}, + {0x1970, 0x1974, 1}, + {0x1980, 0x19ab, 1}, + {0x19b0, 0x19c9, 1}, + {0x19d0, 0x19da, 1}, + {0x19de, 0x1a1b, 1}, + {0x1a1e, 0x1a5e, 1}, + {0x1a60, 0x1a7c, 1}, + {0x1a7f, 0x1a89, 1}, + {0x1a90, 0x1a99, 1}, + {0x1aa0, 0x1aad, 1}, + {0x1ab0, 0x1abe, 1}, + {0x1b00, 0x1b4b, 1}, + {0x1b50, 0x1b7c, 1}, + {0x1b80, 0x1bf3, 1}, + {0x1bfc, 0x1c37, 1}, + {0x1c3b, 0x1c49, 1}, + {0x1c4d, 0x1c88, 1}, + {0x1cc0, 0x1cc7, 1}, + {0x1cd0, 0x1cf9, 1}, + {0x1d00, 0x1df9, 1}, + {0x1dfb, 0x1f15, 1}, + {0x1f18, 0x1f1d, 1}, + {0x1f20, 0x1f45, 1}, + {0x1f48, 0x1f4d, 1}, + {0x1f50, 0x1f57, 1}, + {0x1f59, 0x1f5f, 2}, + {0x1f60, 0x1f7d, 1}, + {0x1f80, 0x1fb4, 1}, + {0x1fb6, 0x1fc4, 1}, + {0x1fc6, 0x1fd3, 1}, + {0x1fd6, 0x1fdb, 1}, + {0x1fdd, 0x1fef, 1}, + {0x1ff2, 0x1ff4, 1}, + {0x1ff6, 0x1ffe, 1}, + {0x2000, 0x2064, 1}, + {0x2066, 0x2071, 1}, + {0x2074, 0x208e, 1}, + {0x2090, 0x209c, 1}, + {0x20a0, 0x20bf, 1}, + {0x20d0, 0x20f0, 1}, + {0x2100, 0x218b, 1}, + {0x2190, 0x2426, 1}, + {0x2440, 0x244a, 1}, + {0x2460, 0x2b73, 1}, + {0x2b76, 0x2b95, 1}, + {0x2b98, 0x2bb9, 1}, + {0x2bbd, 0x2bc8, 1}, + {0x2bca, 0x2bd2, 1}, + {0x2bec, 0x2bef, 1}, + {0x2c00, 0x2c2e, 1}, + {0x2c30, 0x2c5e, 1}, + {0x2c60, 0x2cf3, 1}, + {0x2cf9, 0x2d25, 1}, + {0x2d27, 0x2d2d, 6}, + {0x2d30, 0x2d67, 1}, + {0x2d6f, 0x2d70, 1}, + {0x2d7f, 0x2d96, 1}, + {0x2da0, 0x2da6, 1}, + {0x2da8, 0x2dae, 1}, + {0x2db0, 0x2db6, 1}, + {0x2db8, 0x2dbe, 1}, + {0x2dc0, 0x2dc6, 1}, + {0x2dc8, 0x2dce, 1}, + {0x2dd0, 0x2dd6, 1}, + {0x2dd8, 0x2dde, 1}, + {0x2de0, 0x2e49, 1}, + {0x2e80, 0x2e99, 1}, + {0x2e9b, 0x2ef3, 1}, + {0x2f00, 0x2fd5, 1}, + {0x2ff0, 0x2ffb, 1}, + {0x3000, 0x303f, 1}, + {0x3041, 0x3096, 1}, + {0x3099, 0x30ff, 1}, + {0x3105, 0x312e, 1}, + {0x3131, 0x318e, 1}, + {0x3190, 0x31ba, 1}, + {0x31c0, 0x31e3, 1}, + {0x31f0, 0x321e, 1}, + {0x3220, 0x32fe, 1}, + {0x3300, 0x4db5, 1}, + {0x4dc0, 0x9fea, 1}, + {0xa000, 0xa48c, 1}, + {0xa490, 0xa4c6, 1}, + {0xa4d0, 0xa62b, 1}, + {0xa640, 0xa6f7, 1}, + {0xa700, 0xa7ae, 1}, + {0xa7b0, 0xa7b7, 1}, + {0xa7f7, 0xa82b, 1}, + {0xa830, 0xa839, 1}, + {0xa840, 0xa877, 1}, + {0xa880, 0xa8c5, 1}, + {0xa8ce, 0xa8d9, 1}, + {0xa8e0, 0xa8fd, 1}, + {0xa900, 0xa953, 1}, + {0xa95f, 0xa97c, 1}, + {0xa980, 0xa9cd, 1}, + {0xa9cf, 0xa9d9, 1}, + {0xa9de, 0xa9fe, 1}, + {0xaa00, 0xaa36, 1}, + {0xaa40, 0xaa4d, 1}, + {0xaa50, 0xaa59, 1}, + {0xaa5c, 0xaac2, 1}, + {0xaadb, 0xaaf6, 1}, + {0xab01, 0xab06, 1}, + {0xab09, 0xab0e, 1}, + {0xab11, 0xab16, 1}, + {0xab20, 0xab26, 1}, + {0xab28, 0xab2e, 1}, + {0xab30, 0xab65, 1}, + {0xab70, 0xabed, 1}, + {0xabf0, 0xabf9, 1}, + {0xac00, 0xd7a3, 1}, + {0xd7b0, 0xd7c6, 1}, + {0xd7cb, 0xd7fb, 1}, + {0xd800, 0xfa6d, 1}, + {0xfa70, 0xfad9, 1}, + {0xfb00, 0xfb06, 1}, + {0xfb13, 0xfb17, 1}, + {0xfb1d, 0xfb36, 1}, + {0xfb38, 0xfb3c, 1}, + {0xfb3e, 0xfb40, 2}, + {0xfb41, 0xfb43, 2}, + {0xfb44, 0xfb46, 2}, + {0xfb47, 0xfbc1, 1}, + {0xfbd3, 0xfd3f, 1}, + {0xfd50, 0xfd8f, 1}, + {0xfd92, 0xfdc7, 1}, + {0xfdf0, 0xfdfd, 1}, + {0xfe00, 0xfe19, 1}, + {0xfe20, 0xfe52, 1}, + {0xfe54, 0xfe66, 1}, + {0xfe68, 0xfe6b, 1}, + {0xfe70, 0xfe74, 1}, + {0xfe76, 0xfefc, 1}, + {0xfeff, 0xff01, 2}, + {0xff02, 0xffbe, 1}, + {0xffc2, 0xffc7, 1}, + {0xffca, 0xffcf, 1}, + {0xffd2, 0xffd7, 1}, + {0xffda, 0xffdc, 1}, + {0xffe0, 0xffe6, 1}, + {0xffe8, 0xffee, 1}, + {0xfff9, 0xfffd, 1}, + }, + R32: []unicode.Range32{ + {0x00010000, 0x0001000b, 1}, + {0x0001000d, 0x00010026, 1}, + {0x00010028, 0x0001003a, 1}, + {0x0001003c, 0x0001003d, 1}, + {0x0001003f, 0x0001004d, 1}, + {0x00010050, 0x0001005d, 1}, + {0x00010080, 0x000100fa, 1}, + {0x00010100, 0x00010102, 1}, + {0x00010107, 0x00010133, 1}, + {0x00010137, 0x0001018e, 1}, + {0x00010190, 0x0001019b, 1}, + {0x000101a0, 0x000101d0, 48}, + {0x000101d1, 0x000101fd, 1}, + {0x00010280, 0x0001029c, 1}, + {0x000102a0, 0x000102d0, 1}, + {0x000102e0, 0x000102fb, 1}, + {0x00010300, 0x00010323, 1}, + {0x0001032d, 0x0001034a, 1}, + {0x00010350, 0x0001037a, 1}, + {0x00010380, 0x0001039d, 1}, + {0x0001039f, 0x000103c3, 1}, + {0x000103c8, 0x000103d5, 1}, + {0x00010400, 0x0001049d, 1}, + {0x000104a0, 0x000104a9, 1}, + {0x000104b0, 0x000104d3, 1}, + {0x000104d8, 0x000104fb, 1}, + {0x00010500, 0x00010527, 1}, + {0x00010530, 0x00010563, 1}, + {0x0001056f, 0x00010600, 145}, + {0x00010601, 0x00010736, 1}, + {0x00010740, 0x00010755, 1}, + {0x00010760, 0x00010767, 1}, + {0x00010800, 0x00010805, 1}, + {0x00010808, 0x0001080a, 2}, + {0x0001080b, 0x00010835, 1}, + {0x00010837, 0x00010838, 1}, + {0x0001083c, 0x0001083f, 3}, + {0x00010840, 0x00010855, 1}, + {0x00010857, 0x0001089e, 1}, + {0x000108a7, 0x000108af, 1}, + {0x000108e0, 0x000108f2, 1}, + {0x000108f4, 0x000108f5, 1}, + {0x000108fb, 0x0001091b, 1}, + {0x0001091f, 0x00010939, 1}, + {0x0001093f, 0x00010980, 65}, + {0x00010981, 0x000109b7, 1}, + {0x000109bc, 0x000109cf, 1}, + {0x000109d2, 0x00010a03, 1}, + {0x00010a05, 0x00010a06, 1}, + {0x00010a0c, 0x00010a13, 1}, + {0x00010a15, 0x00010a17, 1}, + {0x00010a19, 0x00010a33, 1}, + {0x00010a38, 0x00010a3a, 1}, + {0x00010a3f, 0x00010a47, 1}, + {0x00010a50, 0x00010a58, 1}, + {0x00010a60, 0x00010a9f, 1}, + {0x00010ac0, 0x00010ae6, 1}, + {0x00010aeb, 0x00010af6, 1}, + {0x00010b00, 0x00010b35, 1}, + {0x00010b39, 0x00010b55, 1}, + {0x00010b58, 0x00010b72, 1}, + {0x00010b78, 0x00010b91, 1}, + {0x00010b99, 0x00010b9c, 1}, + {0x00010ba9, 0x00010baf, 1}, + {0x00010c00, 0x00010c48, 1}, + {0x00010c80, 0x00010cb2, 1}, + {0x00010cc0, 0x00010cf2, 1}, + {0x00010cfa, 0x00010cff, 1}, + {0x00010e60, 0x00010e7e, 1}, + {0x00011000, 0x0001104d, 1}, + {0x00011052, 0x0001106f, 1}, + {0x0001107f, 0x000110c1, 1}, + {0x000110d0, 0x000110e8, 1}, + {0x000110f0, 0x000110f9, 1}, + {0x00011100, 0x00011134, 1}, + {0x00011136, 0x00011143, 1}, + {0x00011150, 0x00011176, 1}, + {0x00011180, 0x000111cd, 1}, + {0x000111d0, 0x000111df, 1}, + {0x000111e1, 0x000111f4, 1}, + {0x00011200, 0x00011211, 1}, + {0x00011213, 0x0001123e, 1}, + {0x00011280, 0x00011286, 1}, + {0x00011288, 0x0001128a, 2}, + {0x0001128b, 0x0001128d, 1}, + {0x0001128f, 0x0001129d, 1}, + {0x0001129f, 0x000112a9, 1}, + {0x000112b0, 0x000112ea, 1}, + {0x000112f0, 0x000112f9, 1}, + {0x00011300, 0x00011303, 1}, + {0x00011305, 0x0001130c, 1}, + {0x0001130f, 0x00011310, 1}, + {0x00011313, 0x00011328, 1}, + {0x0001132a, 0x00011330, 1}, + {0x00011332, 0x00011333, 1}, + {0x00011335, 0x00011339, 1}, + {0x0001133c, 0x00011344, 1}, + {0x00011347, 0x00011348, 1}, + {0x0001134b, 0x0001134d, 1}, + {0x00011350, 0x00011357, 7}, + {0x0001135d, 0x00011363, 1}, + {0x00011366, 0x0001136c, 1}, + {0x00011370, 0x00011374, 1}, + {0x00011400, 0x00011459, 1}, + {0x0001145b, 0x0001145d, 2}, + {0x00011480, 0x000114c7, 1}, + {0x000114d0, 0x000114d9, 1}, + {0x00011580, 0x000115b5, 1}, + {0x000115b8, 0x000115dd, 1}, + {0x00011600, 0x00011644, 1}, + {0x00011650, 0x00011659, 1}, + {0x00011660, 0x0001166c, 1}, + {0x00011680, 0x000116b7, 1}, + {0x000116c0, 0x000116c9, 1}, + {0x00011700, 0x00011719, 1}, + {0x0001171d, 0x0001172b, 1}, + {0x00011730, 0x0001173f, 1}, + {0x000118a0, 0x000118f2, 1}, + {0x000118ff, 0x00011a00, 257}, + {0x00011a01, 0x00011a47, 1}, + {0x00011a50, 0x00011a83, 1}, + {0x00011a86, 0x00011a9c, 1}, + {0x00011a9e, 0x00011aa2, 1}, + {0x00011ac0, 0x00011af8, 1}, + {0x00011c00, 0x00011c08, 1}, + {0x00011c0a, 0x00011c36, 1}, + {0x00011c38, 0x00011c45, 1}, + {0x00011c50, 0x00011c6c, 1}, + {0x00011c70, 0x00011c8f, 1}, + {0x00011c92, 0x00011ca7, 1}, + {0x00011ca9, 0x00011cb6, 1}, + {0x00011d00, 0x00011d06, 1}, + {0x00011d08, 0x00011d09, 1}, + {0x00011d0b, 0x00011d36, 1}, + {0x00011d3a, 0x00011d3c, 2}, + {0x00011d3d, 0x00011d3f, 2}, + {0x00011d40, 0x00011d47, 1}, + {0x00011d50, 0x00011d59, 1}, + {0x00012000, 0x00012399, 1}, + {0x00012400, 0x0001246e, 1}, + {0x00012470, 0x00012474, 1}, + {0x00012480, 0x00012543, 1}, + {0x00013000, 0x0001342e, 1}, + {0x00014400, 0x00014646, 1}, + {0x00016800, 0x00016a38, 1}, + {0x00016a40, 0x00016a5e, 1}, + {0x00016a60, 0x00016a69, 1}, + {0x00016a6e, 0x00016a6f, 1}, + {0x00016ad0, 0x00016aed, 1}, + {0x00016af0, 0x00016af5, 1}, + {0x00016b00, 0x00016b45, 1}, + {0x00016b50, 0x00016b59, 1}, + {0x00016b5b, 0x00016b61, 1}, + {0x00016b63, 0x00016b77, 1}, + {0x00016b7d, 0x00016b8f, 1}, + {0x00016f00, 0x00016f44, 1}, + {0x00016f50, 0x00016f7e, 1}, + {0x00016f8f, 0x00016f9f, 1}, + {0x00016fe0, 0x00016fe1, 1}, + {0x00017000, 0x000187ec, 1}, + {0x00018800, 0x00018af2, 1}, + {0x0001b000, 0x0001b11e, 1}, + {0x0001b170, 0x0001b2fb, 1}, + {0x0001bc00, 0x0001bc6a, 1}, + {0x0001bc70, 0x0001bc7c, 1}, + {0x0001bc80, 0x0001bc88, 1}, + {0x0001bc90, 0x0001bc99, 1}, + {0x0001bc9c, 0x0001bca3, 1}, + {0x0001d000, 0x0001d0f5, 1}, + {0x0001d100, 0x0001d126, 1}, + {0x0001d129, 0x0001d1e8, 1}, + {0x0001d200, 0x0001d245, 1}, + {0x0001d300, 0x0001d356, 1}, + {0x0001d360, 0x0001d371, 1}, + {0x0001d400, 0x0001d454, 1}, + {0x0001d456, 0x0001d49c, 1}, + {0x0001d49e, 0x0001d49f, 1}, + {0x0001d4a2, 0x0001d4a5, 3}, + {0x0001d4a6, 0x0001d4a9, 3}, + {0x0001d4aa, 0x0001d4ac, 1}, + {0x0001d4ae, 0x0001d4b9, 1}, + {0x0001d4bb, 0x0001d4bd, 2}, + {0x0001d4be, 0x0001d4c3, 1}, + {0x0001d4c5, 0x0001d505, 1}, + {0x0001d507, 0x0001d50a, 1}, + {0x0001d50d, 0x0001d514, 1}, + {0x0001d516, 0x0001d51c, 1}, + {0x0001d51e, 0x0001d539, 1}, + {0x0001d53b, 0x0001d53e, 1}, + {0x0001d540, 0x0001d544, 1}, + {0x0001d546, 0x0001d54a, 4}, + {0x0001d54b, 0x0001d550, 1}, + {0x0001d552, 0x0001d6a5, 1}, + {0x0001d6a8, 0x0001d7cb, 1}, + {0x0001d7ce, 0x0001da8b, 1}, + {0x0001da9b, 0x0001da9f, 1}, + {0x0001daa1, 0x0001daaf, 1}, + {0x0001e000, 0x0001e006, 1}, + {0x0001e008, 0x0001e018, 1}, + {0x0001e01b, 0x0001e021, 1}, + {0x0001e023, 0x0001e024, 1}, + {0x0001e026, 0x0001e02a, 1}, + {0x0001e800, 0x0001e8c4, 1}, + {0x0001e8c7, 0x0001e8d6, 1}, + {0x0001e900, 0x0001e94a, 1}, + {0x0001e950, 0x0001e959, 1}, + {0x0001e95e, 0x0001e95f, 1}, + {0x0001ee00, 0x0001ee03, 1}, + {0x0001ee05, 0x0001ee1f, 1}, + {0x0001ee21, 0x0001ee22, 1}, + {0x0001ee24, 0x0001ee27, 3}, + {0x0001ee29, 0x0001ee32, 1}, + {0x0001ee34, 0x0001ee37, 1}, + {0x0001ee39, 0x0001ee3b, 2}, + {0x0001ee42, 0x0001ee47, 5}, + {0x0001ee49, 0x0001ee4d, 2}, + {0x0001ee4e, 0x0001ee4f, 1}, + {0x0001ee51, 0x0001ee52, 1}, + {0x0001ee54, 0x0001ee57, 3}, + {0x0001ee59, 0x0001ee61, 2}, + {0x0001ee62, 0x0001ee64, 2}, + {0x0001ee67, 0x0001ee6a, 1}, + {0x0001ee6c, 0x0001ee72, 1}, + {0x0001ee74, 0x0001ee77, 1}, + {0x0001ee79, 0x0001ee7c, 1}, + {0x0001ee7e, 0x0001ee80, 2}, + {0x0001ee81, 0x0001ee89, 1}, + {0x0001ee8b, 0x0001ee9b, 1}, + {0x0001eea1, 0x0001eea3, 1}, + {0x0001eea5, 0x0001eea9, 1}, + {0x0001eeab, 0x0001eebb, 1}, + {0x0001eef0, 0x0001eef1, 1}, + {0x0001f000, 0x0001f02b, 1}, + {0x0001f030, 0x0001f093, 1}, + {0x0001f0a0, 0x0001f0ae, 1}, + {0x0001f0b1, 0x0001f0bf, 1}, + {0x0001f0c1, 0x0001f0cf, 1}, + {0x0001f0d1, 0x0001f0f5, 1}, + {0x0001f100, 0x0001f10c, 1}, + {0x0001f110, 0x0001f12e, 1}, + {0x0001f130, 0x0001f16b, 1}, + {0x0001f170, 0x0001f1ac, 1}, + {0x0001f1e6, 0x0001f202, 1}, + {0x0001f210, 0x0001f23b, 1}, + {0x0001f240, 0x0001f248, 1}, + {0x0001f250, 0x0001f251, 1}, + {0x0001f260, 0x0001f265, 1}, + {0x0001f300, 0x0001f6d4, 1}, + {0x0001f6e0, 0x0001f6ec, 1}, + {0x0001f6f0, 0x0001f6f8, 1}, + {0x0001f700, 0x0001f773, 1}, + {0x0001f780, 0x0001f7d4, 1}, + {0x0001f800, 0x0001f80b, 1}, + {0x0001f810, 0x0001f847, 1}, + {0x0001f850, 0x0001f859, 1}, + {0x0001f860, 0x0001f887, 1}, + {0x0001f890, 0x0001f8ad, 1}, + {0x0001f900, 0x0001f90b, 1}, + {0x0001f910, 0x0001f93e, 1}, + {0x0001f940, 0x0001f94c, 1}, + {0x0001f950, 0x0001f96b, 1}, + {0x0001f980, 0x0001f997, 1}, + {0x0001f9c0, 0x0001f9d0, 16}, + {0x0001f9d1, 0x0001f9e6, 1}, + {0x00020000, 0x0002a6d6, 1}, + {0x0002a700, 0x0002b734, 1}, + {0x0002b740, 0x0002b81d, 1}, + {0x0002b820, 0x0002cea1, 1}, + {0x0002ceb0, 0x0002ebe0, 1}, + {0x0002f800, 0x0002fa1d, 1}, + {0x000e0001, 0x000e0020, 31}, + {0x000e0021, 0x000e007f, 1}, + {0x000e0100, 0x000e01ef, 1}, + {0x000f0000, 0x000ffffd, 1}, + {0x00100000, 0x0010fffd, 1}, + }, + LatinOffset: 0, +} + +// Total size 49698 bytes (48 KiB) diff --git a/vendor/golang.org/x/text/width/tables.go b/vendor/golang.org/x/text/width/tables.go index e21f0b838..710fd7525 100644 --- a/vendor/golang.org/x/text/width/tables.go +++ b/vendor/golang.org/x/text/width/tables.go @@ -3,7 +3,7 @@ package width // UnicodeVersion is the Unicode version from which the tables in this package are derived. -const UnicodeVersion = "9.0.0" +const UnicodeVersion = "10.0.0" // 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 @@ -175,7 +175,7 @@ func (t *widthTrie) lookupStringUnsafe(s string) uint16 { return 0 } -// widthTrie. Total size: 14080 bytes (13.75 KiB). Checksum: 3b8aeb3dc03667a3. +// widthTrie. Total size: 14336 bytes (14.00 KiB). Checksum: c59df54630d3dc4a. type widthTrie struct{} func newWidthTrie(i int) *widthTrie { @@ -190,9 +190,9 @@ func (t *widthTrie) lookupValue(n uint32, b byte) uint16 { } } -// widthValues: 99 blocks, 6336 entries, 12672 bytes +// widthValues: 101 blocks, 6464 entries, 12928 bytes // The third block is the zero block. -var widthValues = [6336]uint16{ +var widthValues = [6464]uint16{ // Block 0x0, offset 0x0 0x20: 0x6001, 0x21: 0x6002, 0x22: 0x6002, 0x23: 0x6002, 0x24: 0x6002, 0x25: 0x6002, 0x26: 0x6002, 0x27: 0x6002, 0x28: 0x6002, 0x29: 0x6002, @@ -606,7 +606,7 @@ var widthValues = [6336]uint16{ 0xd98: 0x4000, 0xd99: 0x4000, 0xd9a: 0x4000, 0xd9b: 0x4000, 0xd9c: 0x4000, 0xd9d: 0x4000, 0xd9e: 0x4000, 0xd9f: 0x4000, 0xda0: 0x4000, 0xda1: 0x4000, 0xda2: 0x4000, 0xda3: 0x4000, 0xda4: 0x4000, 0xda5: 0x4000, 0xda6: 0x4000, 0xda7: 0x4000, 0xda8: 0x4000, 0xda9: 0x4000, - 0xdaa: 0x4000, 0xdab: 0x4000, 0xdac: 0x4000, 0xdad: 0x4000, + 0xdaa: 0x4000, 0xdab: 0x4000, 0xdac: 0x4000, 0xdad: 0x4000, 0xdae: 0x4000, 0xdb1: 0x403e, 0xdb2: 0x403e, 0xdb3: 0x403e, 0xdb4: 0x403e, 0xdb5: 0x403e, 0xdb6: 0x403e, 0xdb7: 0x403e, 0xdb8: 0x403e, 0xdb9: 0x403e, 0xdba: 0x403e, 0xdbb: 0x403e, 0xdbc: 0x403e, 0xdbd: 0x403e, 0xdbe: 0x403e, 0xdbf: 0x403e, @@ -773,7 +773,7 @@ var widthValues = [6336]uint16{ 0x11aa: 0xb092, 0x11ab: 0xb091, 0x11ac: 0xb093, 0x11ad: 0xb094, 0x11ae: 0xb095, 0x11bd: 0x2000, // Block 0x47, offset 0x11c0 - 0x11e0: 0x4000, + 0x11e0: 0x4000, 0x11e1: 0x4000, // Block 0x48, offset 0x1200 0x1200: 0x4000, 0x1201: 0x4000, 0x1202: 0x4000, 0x1203: 0x4000, 0x1204: 0x4000, 0x1205: 0x4000, 0x1206: 0x4000, 0x1207: 0x4000, 0x1208: 0x4000, 0x1209: 0x4000, 0x120a: 0x4000, 0x120b: 0x4000, @@ -794,109 +794,108 @@ var widthValues = [6336]uint16{ 0x126a: 0x4000, 0x126b: 0x4000, 0x126c: 0x4000, 0x126d: 0x4000, 0x126e: 0x4000, 0x126f: 0x4000, 0x1270: 0x4000, 0x1271: 0x4000, 0x1272: 0x4000, // Block 0x4a, offset 0x1280 - 0x1280: 0x4000, 0x1281: 0x4000, + 0x1280: 0x4000, 0x1281: 0x4000, 0x1282: 0x4000, 0x1283: 0x4000, 0x1284: 0x4000, 0x1285: 0x4000, + 0x1286: 0x4000, 0x1287: 0x4000, 0x1288: 0x4000, 0x1289: 0x4000, 0x128a: 0x4000, 0x128b: 0x4000, + 0x128c: 0x4000, 0x128d: 0x4000, 0x128e: 0x4000, 0x128f: 0x4000, 0x1290: 0x4000, 0x1291: 0x4000, + 0x1292: 0x4000, 0x1293: 0x4000, 0x1294: 0x4000, 0x1295: 0x4000, 0x1296: 0x4000, 0x1297: 0x4000, + 0x1298: 0x4000, 0x1299: 0x4000, 0x129a: 0x4000, 0x129b: 0x4000, 0x129c: 0x4000, 0x129d: 0x4000, + 0x129e: 0x4000, // Block 0x4b, offset 0x12c0 - 0x12c4: 0x4000, + 0x12f0: 0x4000, 0x12f1: 0x4000, 0x12f2: 0x4000, 0x12f3: 0x4000, 0x12f4: 0x4000, 0x12f5: 0x4000, + 0x12f6: 0x4000, 0x12f7: 0x4000, 0x12f8: 0x4000, 0x12f9: 0x4000, 0x12fa: 0x4000, 0x12fb: 0x4000, + 0x12fc: 0x4000, 0x12fd: 0x4000, 0x12fe: 0x4000, 0x12ff: 0x4000, // Block 0x4c, offset 0x1300 - 0x130f: 0x4000, + 0x1300: 0x4000, 0x1301: 0x4000, 0x1302: 0x4000, 0x1303: 0x4000, 0x1304: 0x4000, 0x1305: 0x4000, + 0x1306: 0x4000, 0x1307: 0x4000, 0x1308: 0x4000, 0x1309: 0x4000, 0x130a: 0x4000, 0x130b: 0x4000, + 0x130c: 0x4000, 0x130d: 0x4000, 0x130e: 0x4000, 0x130f: 0x4000, 0x1310: 0x4000, 0x1311: 0x4000, + 0x1312: 0x4000, 0x1313: 0x4000, 0x1314: 0x4000, 0x1315: 0x4000, 0x1316: 0x4000, 0x1317: 0x4000, + 0x1318: 0x4000, 0x1319: 0x4000, 0x131a: 0x4000, 0x131b: 0x4000, 0x131c: 0x4000, 0x131d: 0x4000, + 0x131e: 0x4000, 0x131f: 0x4000, 0x1320: 0x4000, 0x1321: 0x4000, 0x1322: 0x4000, 0x1323: 0x4000, + 0x1324: 0x4000, 0x1325: 0x4000, 0x1326: 0x4000, 0x1327: 0x4000, 0x1328: 0x4000, 0x1329: 0x4000, + 0x132a: 0x4000, 0x132b: 0x4000, 0x132c: 0x4000, 0x132d: 0x4000, 0x132e: 0x4000, 0x132f: 0x4000, + 0x1330: 0x4000, 0x1331: 0x4000, 0x1332: 0x4000, 0x1333: 0x4000, 0x1334: 0x4000, 0x1335: 0x4000, + 0x1336: 0x4000, 0x1337: 0x4000, 0x1338: 0x4000, 0x1339: 0x4000, 0x133a: 0x4000, 0x133b: 0x4000, // Block 0x4d, offset 0x1340 - 0x1340: 0x2000, 0x1341: 0x2000, 0x1342: 0x2000, 0x1343: 0x2000, 0x1344: 0x2000, 0x1345: 0x2000, - 0x1346: 0x2000, 0x1347: 0x2000, 0x1348: 0x2000, 0x1349: 0x2000, 0x134a: 0x2000, - 0x1350: 0x2000, 0x1351: 0x2000, - 0x1352: 0x2000, 0x1353: 0x2000, 0x1354: 0x2000, 0x1355: 0x2000, 0x1356: 0x2000, 0x1357: 0x2000, - 0x1358: 0x2000, 0x1359: 0x2000, 0x135a: 0x2000, 0x135b: 0x2000, 0x135c: 0x2000, 0x135d: 0x2000, - 0x135e: 0x2000, 0x135f: 0x2000, 0x1360: 0x2000, 0x1361: 0x2000, 0x1362: 0x2000, 0x1363: 0x2000, - 0x1364: 0x2000, 0x1365: 0x2000, 0x1366: 0x2000, 0x1367: 0x2000, 0x1368: 0x2000, 0x1369: 0x2000, - 0x136a: 0x2000, 0x136b: 0x2000, 0x136c: 0x2000, 0x136d: 0x2000, - 0x1370: 0x2000, 0x1371: 0x2000, 0x1372: 0x2000, 0x1373: 0x2000, 0x1374: 0x2000, 0x1375: 0x2000, - 0x1376: 0x2000, 0x1377: 0x2000, 0x1378: 0x2000, 0x1379: 0x2000, 0x137a: 0x2000, 0x137b: 0x2000, - 0x137c: 0x2000, 0x137d: 0x2000, 0x137e: 0x2000, 0x137f: 0x2000, + 0x1344: 0x4000, // Block 0x4e, offset 0x1380 - 0x1380: 0x2000, 0x1381: 0x2000, 0x1382: 0x2000, 0x1383: 0x2000, 0x1384: 0x2000, 0x1385: 0x2000, - 0x1386: 0x2000, 0x1387: 0x2000, 0x1388: 0x2000, 0x1389: 0x2000, 0x138a: 0x2000, 0x138b: 0x2000, - 0x138c: 0x2000, 0x138d: 0x2000, 0x138e: 0x2000, 0x138f: 0x2000, 0x1390: 0x2000, 0x1391: 0x2000, - 0x1392: 0x2000, 0x1393: 0x2000, 0x1394: 0x2000, 0x1395: 0x2000, 0x1396: 0x2000, 0x1397: 0x2000, - 0x1398: 0x2000, 0x1399: 0x2000, 0x139a: 0x2000, 0x139b: 0x2000, 0x139c: 0x2000, 0x139d: 0x2000, - 0x139e: 0x2000, 0x139f: 0x2000, 0x13a0: 0x2000, 0x13a1: 0x2000, 0x13a2: 0x2000, 0x13a3: 0x2000, - 0x13a4: 0x2000, 0x13a5: 0x2000, 0x13a6: 0x2000, 0x13a7: 0x2000, 0x13a8: 0x2000, 0x13a9: 0x2000, - 0x13b0: 0x2000, 0x13b1: 0x2000, 0x13b2: 0x2000, 0x13b3: 0x2000, 0x13b4: 0x2000, 0x13b5: 0x2000, - 0x13b6: 0x2000, 0x13b7: 0x2000, 0x13b8: 0x2000, 0x13b9: 0x2000, 0x13ba: 0x2000, 0x13bb: 0x2000, - 0x13bc: 0x2000, 0x13bd: 0x2000, 0x13be: 0x2000, 0x13bf: 0x2000, + 0x138f: 0x4000, // Block 0x4f, offset 0x13c0 0x13c0: 0x2000, 0x13c1: 0x2000, 0x13c2: 0x2000, 0x13c3: 0x2000, 0x13c4: 0x2000, 0x13c5: 0x2000, - 0x13c6: 0x2000, 0x13c7: 0x2000, 0x13c8: 0x2000, 0x13c9: 0x2000, 0x13ca: 0x2000, 0x13cb: 0x2000, - 0x13cc: 0x2000, 0x13cd: 0x2000, 0x13ce: 0x4000, 0x13cf: 0x2000, 0x13d0: 0x2000, 0x13d1: 0x4000, - 0x13d2: 0x4000, 0x13d3: 0x4000, 0x13d4: 0x4000, 0x13d5: 0x4000, 0x13d6: 0x4000, 0x13d7: 0x4000, - 0x13d8: 0x4000, 0x13d9: 0x4000, 0x13da: 0x4000, 0x13db: 0x2000, 0x13dc: 0x2000, 0x13dd: 0x2000, + 0x13c6: 0x2000, 0x13c7: 0x2000, 0x13c8: 0x2000, 0x13c9: 0x2000, 0x13ca: 0x2000, + 0x13d0: 0x2000, 0x13d1: 0x2000, + 0x13d2: 0x2000, 0x13d3: 0x2000, 0x13d4: 0x2000, 0x13d5: 0x2000, 0x13d6: 0x2000, 0x13d7: 0x2000, + 0x13d8: 0x2000, 0x13d9: 0x2000, 0x13da: 0x2000, 0x13db: 0x2000, 0x13dc: 0x2000, 0x13dd: 0x2000, 0x13de: 0x2000, 0x13df: 0x2000, 0x13e0: 0x2000, 0x13e1: 0x2000, 0x13e2: 0x2000, 0x13e3: 0x2000, 0x13e4: 0x2000, 0x13e5: 0x2000, 0x13e6: 0x2000, 0x13e7: 0x2000, 0x13e8: 0x2000, 0x13e9: 0x2000, - 0x13ea: 0x2000, 0x13eb: 0x2000, 0x13ec: 0x2000, + 0x13ea: 0x2000, 0x13eb: 0x2000, 0x13ec: 0x2000, 0x13ed: 0x2000, + 0x13f0: 0x2000, 0x13f1: 0x2000, 0x13f2: 0x2000, 0x13f3: 0x2000, 0x13f4: 0x2000, 0x13f5: 0x2000, + 0x13f6: 0x2000, 0x13f7: 0x2000, 0x13f8: 0x2000, 0x13f9: 0x2000, 0x13fa: 0x2000, 0x13fb: 0x2000, + 0x13fc: 0x2000, 0x13fd: 0x2000, 0x13fe: 0x2000, 0x13ff: 0x2000, // Block 0x50, offset 0x1400 - 0x1400: 0x4000, 0x1401: 0x4000, 0x1402: 0x4000, - 0x1410: 0x4000, 0x1411: 0x4000, - 0x1412: 0x4000, 0x1413: 0x4000, 0x1414: 0x4000, 0x1415: 0x4000, 0x1416: 0x4000, 0x1417: 0x4000, - 0x1418: 0x4000, 0x1419: 0x4000, 0x141a: 0x4000, 0x141b: 0x4000, 0x141c: 0x4000, 0x141d: 0x4000, - 0x141e: 0x4000, 0x141f: 0x4000, 0x1420: 0x4000, 0x1421: 0x4000, 0x1422: 0x4000, 0x1423: 0x4000, - 0x1424: 0x4000, 0x1425: 0x4000, 0x1426: 0x4000, 0x1427: 0x4000, 0x1428: 0x4000, 0x1429: 0x4000, - 0x142a: 0x4000, 0x142b: 0x4000, 0x142c: 0x4000, 0x142d: 0x4000, 0x142e: 0x4000, 0x142f: 0x4000, - 0x1430: 0x4000, 0x1431: 0x4000, 0x1432: 0x4000, 0x1433: 0x4000, 0x1434: 0x4000, 0x1435: 0x4000, - 0x1436: 0x4000, 0x1437: 0x4000, 0x1438: 0x4000, 0x1439: 0x4000, 0x143a: 0x4000, 0x143b: 0x4000, + 0x1400: 0x2000, 0x1401: 0x2000, 0x1402: 0x2000, 0x1403: 0x2000, 0x1404: 0x2000, 0x1405: 0x2000, + 0x1406: 0x2000, 0x1407: 0x2000, 0x1408: 0x2000, 0x1409: 0x2000, 0x140a: 0x2000, 0x140b: 0x2000, + 0x140c: 0x2000, 0x140d: 0x2000, 0x140e: 0x2000, 0x140f: 0x2000, 0x1410: 0x2000, 0x1411: 0x2000, + 0x1412: 0x2000, 0x1413: 0x2000, 0x1414: 0x2000, 0x1415: 0x2000, 0x1416: 0x2000, 0x1417: 0x2000, + 0x1418: 0x2000, 0x1419: 0x2000, 0x141a: 0x2000, 0x141b: 0x2000, 0x141c: 0x2000, 0x141d: 0x2000, + 0x141e: 0x2000, 0x141f: 0x2000, 0x1420: 0x2000, 0x1421: 0x2000, 0x1422: 0x2000, 0x1423: 0x2000, + 0x1424: 0x2000, 0x1425: 0x2000, 0x1426: 0x2000, 0x1427: 0x2000, 0x1428: 0x2000, 0x1429: 0x2000, + 0x1430: 0x2000, 0x1431: 0x2000, 0x1432: 0x2000, 0x1433: 0x2000, 0x1434: 0x2000, 0x1435: 0x2000, + 0x1436: 0x2000, 0x1437: 0x2000, 0x1438: 0x2000, 0x1439: 0x2000, 0x143a: 0x2000, 0x143b: 0x2000, + 0x143c: 0x2000, 0x143d: 0x2000, 0x143e: 0x2000, 0x143f: 0x2000, // Block 0x51, offset 0x1440 - 0x1440: 0x4000, 0x1441: 0x4000, 0x1442: 0x4000, 0x1443: 0x4000, 0x1444: 0x4000, 0x1445: 0x4000, - 0x1446: 0x4000, 0x1447: 0x4000, 0x1448: 0x4000, - 0x1450: 0x4000, 0x1451: 0x4000, + 0x1440: 0x2000, 0x1441: 0x2000, 0x1442: 0x2000, 0x1443: 0x2000, 0x1444: 0x2000, 0x1445: 0x2000, + 0x1446: 0x2000, 0x1447: 0x2000, 0x1448: 0x2000, 0x1449: 0x2000, 0x144a: 0x2000, 0x144b: 0x2000, + 0x144c: 0x2000, 0x144d: 0x2000, 0x144e: 0x4000, 0x144f: 0x2000, 0x1450: 0x2000, 0x1451: 0x4000, + 0x1452: 0x4000, 0x1453: 0x4000, 0x1454: 0x4000, 0x1455: 0x4000, 0x1456: 0x4000, 0x1457: 0x4000, + 0x1458: 0x4000, 0x1459: 0x4000, 0x145a: 0x4000, 0x145b: 0x2000, 0x145c: 0x2000, 0x145d: 0x2000, + 0x145e: 0x2000, 0x145f: 0x2000, 0x1460: 0x2000, 0x1461: 0x2000, 0x1462: 0x2000, 0x1463: 0x2000, + 0x1464: 0x2000, 0x1465: 0x2000, 0x1466: 0x2000, 0x1467: 0x2000, 0x1468: 0x2000, 0x1469: 0x2000, + 0x146a: 0x2000, 0x146b: 0x2000, 0x146c: 0x2000, // Block 0x52, offset 0x1480 - 0x1480: 0x4000, 0x1481: 0x4000, 0x1482: 0x4000, 0x1483: 0x4000, 0x1484: 0x4000, 0x1485: 0x4000, - 0x1486: 0x4000, 0x1487: 0x4000, 0x1488: 0x4000, 0x1489: 0x4000, 0x148a: 0x4000, 0x148b: 0x4000, - 0x148c: 0x4000, 0x148d: 0x4000, 0x148e: 0x4000, 0x148f: 0x4000, 0x1490: 0x4000, 0x1491: 0x4000, + 0x1480: 0x4000, 0x1481: 0x4000, 0x1482: 0x4000, + 0x1490: 0x4000, 0x1491: 0x4000, 0x1492: 0x4000, 0x1493: 0x4000, 0x1494: 0x4000, 0x1495: 0x4000, 0x1496: 0x4000, 0x1497: 0x4000, 0x1498: 0x4000, 0x1499: 0x4000, 0x149a: 0x4000, 0x149b: 0x4000, 0x149c: 0x4000, 0x149d: 0x4000, - 0x149e: 0x4000, 0x149f: 0x4000, 0x14a0: 0x4000, - 0x14ad: 0x4000, 0x14ae: 0x4000, 0x14af: 0x4000, + 0x149e: 0x4000, 0x149f: 0x4000, 0x14a0: 0x4000, 0x14a1: 0x4000, 0x14a2: 0x4000, 0x14a3: 0x4000, + 0x14a4: 0x4000, 0x14a5: 0x4000, 0x14a6: 0x4000, 0x14a7: 0x4000, 0x14a8: 0x4000, 0x14a9: 0x4000, + 0x14aa: 0x4000, 0x14ab: 0x4000, 0x14ac: 0x4000, 0x14ad: 0x4000, 0x14ae: 0x4000, 0x14af: 0x4000, 0x14b0: 0x4000, 0x14b1: 0x4000, 0x14b2: 0x4000, 0x14b3: 0x4000, 0x14b4: 0x4000, 0x14b5: 0x4000, - 0x14b7: 0x4000, 0x14b8: 0x4000, 0x14b9: 0x4000, 0x14ba: 0x4000, 0x14bb: 0x4000, - 0x14bc: 0x4000, 0x14bd: 0x4000, 0x14be: 0x4000, 0x14bf: 0x4000, + 0x14b6: 0x4000, 0x14b7: 0x4000, 0x14b8: 0x4000, 0x14b9: 0x4000, 0x14ba: 0x4000, 0x14bb: 0x4000, // Block 0x53, offset 0x14c0 0x14c0: 0x4000, 0x14c1: 0x4000, 0x14c2: 0x4000, 0x14c3: 0x4000, 0x14c4: 0x4000, 0x14c5: 0x4000, - 0x14c6: 0x4000, 0x14c7: 0x4000, 0x14c8: 0x4000, 0x14c9: 0x4000, 0x14ca: 0x4000, 0x14cb: 0x4000, - 0x14cc: 0x4000, 0x14cd: 0x4000, 0x14ce: 0x4000, 0x14cf: 0x4000, 0x14d0: 0x4000, 0x14d1: 0x4000, - 0x14d2: 0x4000, 0x14d3: 0x4000, 0x14d4: 0x4000, 0x14d5: 0x4000, 0x14d6: 0x4000, 0x14d7: 0x4000, - 0x14d8: 0x4000, 0x14d9: 0x4000, 0x14da: 0x4000, 0x14db: 0x4000, 0x14dc: 0x4000, 0x14dd: 0x4000, - 0x14de: 0x4000, 0x14df: 0x4000, 0x14e0: 0x4000, 0x14e1: 0x4000, 0x14e2: 0x4000, 0x14e3: 0x4000, - 0x14e4: 0x4000, 0x14e5: 0x4000, 0x14e6: 0x4000, 0x14e7: 0x4000, 0x14e8: 0x4000, 0x14e9: 0x4000, - 0x14ea: 0x4000, 0x14eb: 0x4000, 0x14ec: 0x4000, 0x14ed: 0x4000, 0x14ee: 0x4000, 0x14ef: 0x4000, - 0x14f0: 0x4000, 0x14f1: 0x4000, 0x14f2: 0x4000, 0x14f3: 0x4000, 0x14f4: 0x4000, 0x14f5: 0x4000, - 0x14f6: 0x4000, 0x14f7: 0x4000, 0x14f8: 0x4000, 0x14f9: 0x4000, 0x14fa: 0x4000, 0x14fb: 0x4000, - 0x14fc: 0x4000, 0x14fe: 0x4000, 0x14ff: 0x4000, + 0x14c6: 0x4000, 0x14c7: 0x4000, 0x14c8: 0x4000, + 0x14d0: 0x4000, 0x14d1: 0x4000, + 0x14e0: 0x4000, 0x14e1: 0x4000, 0x14e2: 0x4000, 0x14e3: 0x4000, + 0x14e4: 0x4000, 0x14e5: 0x4000, // Block 0x54, offset 0x1500 0x1500: 0x4000, 0x1501: 0x4000, 0x1502: 0x4000, 0x1503: 0x4000, 0x1504: 0x4000, 0x1505: 0x4000, 0x1506: 0x4000, 0x1507: 0x4000, 0x1508: 0x4000, 0x1509: 0x4000, 0x150a: 0x4000, 0x150b: 0x4000, 0x150c: 0x4000, 0x150d: 0x4000, 0x150e: 0x4000, 0x150f: 0x4000, 0x1510: 0x4000, 0x1511: 0x4000, - 0x1512: 0x4000, 0x1513: 0x4000, - 0x1520: 0x4000, 0x1521: 0x4000, 0x1522: 0x4000, 0x1523: 0x4000, - 0x1524: 0x4000, 0x1525: 0x4000, 0x1526: 0x4000, 0x1527: 0x4000, 0x1528: 0x4000, 0x1529: 0x4000, - 0x152a: 0x4000, 0x152b: 0x4000, 0x152c: 0x4000, 0x152d: 0x4000, 0x152e: 0x4000, 0x152f: 0x4000, + 0x1512: 0x4000, 0x1513: 0x4000, 0x1514: 0x4000, 0x1515: 0x4000, 0x1516: 0x4000, 0x1517: 0x4000, + 0x1518: 0x4000, 0x1519: 0x4000, 0x151a: 0x4000, 0x151b: 0x4000, 0x151c: 0x4000, 0x151d: 0x4000, + 0x151e: 0x4000, 0x151f: 0x4000, 0x1520: 0x4000, + 0x152d: 0x4000, 0x152e: 0x4000, 0x152f: 0x4000, 0x1530: 0x4000, 0x1531: 0x4000, 0x1532: 0x4000, 0x1533: 0x4000, 0x1534: 0x4000, 0x1535: 0x4000, - 0x1536: 0x4000, 0x1537: 0x4000, 0x1538: 0x4000, 0x1539: 0x4000, 0x153a: 0x4000, 0x153b: 0x4000, + 0x1537: 0x4000, 0x1538: 0x4000, 0x1539: 0x4000, 0x153a: 0x4000, 0x153b: 0x4000, 0x153c: 0x4000, 0x153d: 0x4000, 0x153e: 0x4000, 0x153f: 0x4000, // Block 0x55, offset 0x1540 0x1540: 0x4000, 0x1541: 0x4000, 0x1542: 0x4000, 0x1543: 0x4000, 0x1544: 0x4000, 0x1545: 0x4000, - 0x1546: 0x4000, 0x1547: 0x4000, 0x1548: 0x4000, 0x1549: 0x4000, 0x154a: 0x4000, - 0x154f: 0x4000, 0x1550: 0x4000, 0x1551: 0x4000, - 0x1552: 0x4000, 0x1553: 0x4000, - 0x1560: 0x4000, 0x1561: 0x4000, 0x1562: 0x4000, 0x1563: 0x4000, + 0x1546: 0x4000, 0x1547: 0x4000, 0x1548: 0x4000, 0x1549: 0x4000, 0x154a: 0x4000, 0x154b: 0x4000, + 0x154c: 0x4000, 0x154d: 0x4000, 0x154e: 0x4000, 0x154f: 0x4000, 0x1550: 0x4000, 0x1551: 0x4000, + 0x1552: 0x4000, 0x1553: 0x4000, 0x1554: 0x4000, 0x1555: 0x4000, 0x1556: 0x4000, 0x1557: 0x4000, + 0x1558: 0x4000, 0x1559: 0x4000, 0x155a: 0x4000, 0x155b: 0x4000, 0x155c: 0x4000, 0x155d: 0x4000, + 0x155e: 0x4000, 0x155f: 0x4000, 0x1560: 0x4000, 0x1561: 0x4000, 0x1562: 0x4000, 0x1563: 0x4000, 0x1564: 0x4000, 0x1565: 0x4000, 0x1566: 0x4000, 0x1567: 0x4000, 0x1568: 0x4000, 0x1569: 0x4000, 0x156a: 0x4000, 0x156b: 0x4000, 0x156c: 0x4000, 0x156d: 0x4000, 0x156e: 0x4000, 0x156f: 0x4000, - 0x1570: 0x4000, 0x1574: 0x4000, - 0x1578: 0x4000, 0x1579: 0x4000, 0x157a: 0x4000, 0x157b: 0x4000, - 0x157c: 0x4000, 0x157d: 0x4000, 0x157e: 0x4000, 0x157f: 0x4000, + 0x1570: 0x4000, 0x1571: 0x4000, 0x1572: 0x4000, 0x1573: 0x4000, 0x1574: 0x4000, 0x1575: 0x4000, + 0x1576: 0x4000, 0x1577: 0x4000, 0x1578: 0x4000, 0x1579: 0x4000, 0x157a: 0x4000, 0x157b: 0x4000, + 0x157c: 0x4000, 0x157e: 0x4000, 0x157f: 0x4000, // Block 0x56, offset 0x1580 - 0x1580: 0x4000, 0x1582: 0x4000, 0x1583: 0x4000, 0x1584: 0x4000, 0x1585: 0x4000, + 0x1580: 0x4000, 0x1581: 0x4000, 0x1582: 0x4000, 0x1583: 0x4000, 0x1584: 0x4000, 0x1585: 0x4000, 0x1586: 0x4000, 0x1587: 0x4000, 0x1588: 0x4000, 0x1589: 0x4000, 0x158a: 0x4000, 0x158b: 0x4000, 0x158c: 0x4000, 0x158d: 0x4000, 0x158e: 0x4000, 0x158f: 0x4000, 0x1590: 0x4000, 0x1591: 0x4000, - 0x1592: 0x4000, 0x1593: 0x4000, 0x1594: 0x4000, 0x1595: 0x4000, 0x1596: 0x4000, 0x1597: 0x4000, - 0x1598: 0x4000, 0x1599: 0x4000, 0x159a: 0x4000, 0x159b: 0x4000, 0x159c: 0x4000, 0x159d: 0x4000, - 0x159e: 0x4000, 0x159f: 0x4000, 0x15a0: 0x4000, 0x15a1: 0x4000, 0x15a2: 0x4000, 0x15a3: 0x4000, + 0x1592: 0x4000, 0x1593: 0x4000, + 0x15a0: 0x4000, 0x15a1: 0x4000, 0x15a2: 0x4000, 0x15a3: 0x4000, 0x15a4: 0x4000, 0x15a5: 0x4000, 0x15a6: 0x4000, 0x15a7: 0x4000, 0x15a8: 0x4000, 0x15a9: 0x4000, 0x15aa: 0x4000, 0x15ab: 0x4000, 0x15ac: 0x4000, 0x15ad: 0x4000, 0x15ae: 0x4000, 0x15af: 0x4000, 0x15b0: 0x4000, 0x15b1: 0x4000, 0x15b2: 0x4000, 0x15b3: 0x4000, 0x15b4: 0x4000, 0x15b5: 0x4000, @@ -904,18 +903,17 @@ var widthValues = [6336]uint16{ 0x15bc: 0x4000, 0x15bd: 0x4000, 0x15be: 0x4000, 0x15bf: 0x4000, // Block 0x57, offset 0x15c0 0x15c0: 0x4000, 0x15c1: 0x4000, 0x15c2: 0x4000, 0x15c3: 0x4000, 0x15c4: 0x4000, 0x15c5: 0x4000, - 0x15c6: 0x4000, 0x15c7: 0x4000, 0x15c8: 0x4000, 0x15c9: 0x4000, 0x15ca: 0x4000, 0x15cb: 0x4000, - 0x15cc: 0x4000, 0x15cd: 0x4000, 0x15ce: 0x4000, 0x15cf: 0x4000, 0x15d0: 0x4000, 0x15d1: 0x4000, - 0x15d2: 0x4000, 0x15d3: 0x4000, 0x15d4: 0x4000, 0x15d5: 0x4000, 0x15d6: 0x4000, 0x15d7: 0x4000, - 0x15d8: 0x4000, 0x15d9: 0x4000, 0x15da: 0x4000, 0x15db: 0x4000, 0x15dc: 0x4000, 0x15dd: 0x4000, - 0x15de: 0x4000, 0x15df: 0x4000, 0x15e0: 0x4000, 0x15e1: 0x4000, 0x15e2: 0x4000, 0x15e3: 0x4000, + 0x15c6: 0x4000, 0x15c7: 0x4000, 0x15c8: 0x4000, 0x15c9: 0x4000, 0x15ca: 0x4000, + 0x15cf: 0x4000, 0x15d0: 0x4000, 0x15d1: 0x4000, + 0x15d2: 0x4000, 0x15d3: 0x4000, + 0x15e0: 0x4000, 0x15e1: 0x4000, 0x15e2: 0x4000, 0x15e3: 0x4000, 0x15e4: 0x4000, 0x15e5: 0x4000, 0x15e6: 0x4000, 0x15e7: 0x4000, 0x15e8: 0x4000, 0x15e9: 0x4000, 0x15ea: 0x4000, 0x15eb: 0x4000, 0x15ec: 0x4000, 0x15ed: 0x4000, 0x15ee: 0x4000, 0x15ef: 0x4000, - 0x15f0: 0x4000, 0x15f1: 0x4000, 0x15f2: 0x4000, 0x15f3: 0x4000, 0x15f4: 0x4000, 0x15f5: 0x4000, - 0x15f6: 0x4000, 0x15f7: 0x4000, 0x15f8: 0x4000, 0x15f9: 0x4000, 0x15fa: 0x4000, 0x15fb: 0x4000, - 0x15fc: 0x4000, 0x15ff: 0x4000, + 0x15f0: 0x4000, 0x15f4: 0x4000, + 0x15f8: 0x4000, 0x15f9: 0x4000, 0x15fa: 0x4000, 0x15fb: 0x4000, + 0x15fc: 0x4000, 0x15fd: 0x4000, 0x15fe: 0x4000, 0x15ff: 0x4000, // Block 0x58, offset 0x1600 - 0x1600: 0x4000, 0x1601: 0x4000, 0x1602: 0x4000, 0x1603: 0x4000, 0x1604: 0x4000, 0x1605: 0x4000, + 0x1600: 0x4000, 0x1602: 0x4000, 0x1603: 0x4000, 0x1604: 0x4000, 0x1605: 0x4000, 0x1606: 0x4000, 0x1607: 0x4000, 0x1608: 0x4000, 0x1609: 0x4000, 0x160a: 0x4000, 0x160b: 0x4000, 0x160c: 0x4000, 0x160d: 0x4000, 0x160e: 0x4000, 0x160f: 0x4000, 0x1610: 0x4000, 0x1611: 0x4000, 0x1612: 0x4000, 0x1613: 0x4000, 0x1614: 0x4000, 0x1615: 0x4000, 0x1616: 0x4000, 0x1617: 0x4000, @@ -925,66 +923,99 @@ var widthValues = [6336]uint16{ 0x162a: 0x4000, 0x162b: 0x4000, 0x162c: 0x4000, 0x162d: 0x4000, 0x162e: 0x4000, 0x162f: 0x4000, 0x1630: 0x4000, 0x1631: 0x4000, 0x1632: 0x4000, 0x1633: 0x4000, 0x1634: 0x4000, 0x1635: 0x4000, 0x1636: 0x4000, 0x1637: 0x4000, 0x1638: 0x4000, 0x1639: 0x4000, 0x163a: 0x4000, 0x163b: 0x4000, - 0x163c: 0x4000, 0x163d: 0x4000, + 0x163c: 0x4000, 0x163d: 0x4000, 0x163e: 0x4000, 0x163f: 0x4000, // Block 0x59, offset 0x1640 - 0x164b: 0x4000, - 0x164c: 0x4000, 0x164d: 0x4000, 0x164e: 0x4000, 0x1650: 0x4000, 0x1651: 0x4000, + 0x1640: 0x4000, 0x1641: 0x4000, 0x1642: 0x4000, 0x1643: 0x4000, 0x1644: 0x4000, 0x1645: 0x4000, + 0x1646: 0x4000, 0x1647: 0x4000, 0x1648: 0x4000, 0x1649: 0x4000, 0x164a: 0x4000, 0x164b: 0x4000, + 0x164c: 0x4000, 0x164d: 0x4000, 0x164e: 0x4000, 0x164f: 0x4000, 0x1650: 0x4000, 0x1651: 0x4000, 0x1652: 0x4000, 0x1653: 0x4000, 0x1654: 0x4000, 0x1655: 0x4000, 0x1656: 0x4000, 0x1657: 0x4000, 0x1658: 0x4000, 0x1659: 0x4000, 0x165a: 0x4000, 0x165b: 0x4000, 0x165c: 0x4000, 0x165d: 0x4000, 0x165e: 0x4000, 0x165f: 0x4000, 0x1660: 0x4000, 0x1661: 0x4000, 0x1662: 0x4000, 0x1663: 0x4000, - 0x1664: 0x4000, 0x1665: 0x4000, 0x1666: 0x4000, 0x1667: 0x4000, - 0x167a: 0x4000, + 0x1664: 0x4000, 0x1665: 0x4000, 0x1666: 0x4000, 0x1667: 0x4000, 0x1668: 0x4000, 0x1669: 0x4000, + 0x166a: 0x4000, 0x166b: 0x4000, 0x166c: 0x4000, 0x166d: 0x4000, 0x166e: 0x4000, 0x166f: 0x4000, + 0x1670: 0x4000, 0x1671: 0x4000, 0x1672: 0x4000, 0x1673: 0x4000, 0x1674: 0x4000, 0x1675: 0x4000, + 0x1676: 0x4000, 0x1677: 0x4000, 0x1678: 0x4000, 0x1679: 0x4000, 0x167a: 0x4000, 0x167b: 0x4000, + 0x167c: 0x4000, 0x167f: 0x4000, // Block 0x5a, offset 0x1680 - 0x1695: 0x4000, 0x1696: 0x4000, - 0x16a4: 0x4000, + 0x1680: 0x4000, 0x1681: 0x4000, 0x1682: 0x4000, 0x1683: 0x4000, 0x1684: 0x4000, 0x1685: 0x4000, + 0x1686: 0x4000, 0x1687: 0x4000, 0x1688: 0x4000, 0x1689: 0x4000, 0x168a: 0x4000, 0x168b: 0x4000, + 0x168c: 0x4000, 0x168d: 0x4000, 0x168e: 0x4000, 0x168f: 0x4000, 0x1690: 0x4000, 0x1691: 0x4000, + 0x1692: 0x4000, 0x1693: 0x4000, 0x1694: 0x4000, 0x1695: 0x4000, 0x1696: 0x4000, 0x1697: 0x4000, + 0x1698: 0x4000, 0x1699: 0x4000, 0x169a: 0x4000, 0x169b: 0x4000, 0x169c: 0x4000, 0x169d: 0x4000, + 0x169e: 0x4000, 0x169f: 0x4000, 0x16a0: 0x4000, 0x16a1: 0x4000, 0x16a2: 0x4000, 0x16a3: 0x4000, + 0x16a4: 0x4000, 0x16a5: 0x4000, 0x16a6: 0x4000, 0x16a7: 0x4000, 0x16a8: 0x4000, 0x16a9: 0x4000, + 0x16aa: 0x4000, 0x16ab: 0x4000, 0x16ac: 0x4000, 0x16ad: 0x4000, 0x16ae: 0x4000, 0x16af: 0x4000, + 0x16b0: 0x4000, 0x16b1: 0x4000, 0x16b2: 0x4000, 0x16b3: 0x4000, 0x16b4: 0x4000, 0x16b5: 0x4000, + 0x16b6: 0x4000, 0x16b7: 0x4000, 0x16b8: 0x4000, 0x16b9: 0x4000, 0x16ba: 0x4000, 0x16bb: 0x4000, + 0x16bc: 0x4000, 0x16bd: 0x4000, // Block 0x5b, offset 0x16c0 - 0x16fb: 0x4000, - 0x16fc: 0x4000, 0x16fd: 0x4000, 0x16fe: 0x4000, 0x16ff: 0x4000, + 0x16cb: 0x4000, + 0x16cc: 0x4000, 0x16cd: 0x4000, 0x16ce: 0x4000, 0x16d0: 0x4000, 0x16d1: 0x4000, + 0x16d2: 0x4000, 0x16d3: 0x4000, 0x16d4: 0x4000, 0x16d5: 0x4000, 0x16d6: 0x4000, 0x16d7: 0x4000, + 0x16d8: 0x4000, 0x16d9: 0x4000, 0x16da: 0x4000, 0x16db: 0x4000, 0x16dc: 0x4000, 0x16dd: 0x4000, + 0x16de: 0x4000, 0x16df: 0x4000, 0x16e0: 0x4000, 0x16e1: 0x4000, 0x16e2: 0x4000, 0x16e3: 0x4000, + 0x16e4: 0x4000, 0x16e5: 0x4000, 0x16e6: 0x4000, 0x16e7: 0x4000, + 0x16fa: 0x4000, // Block 0x5c, offset 0x1700 - 0x1700: 0x4000, 0x1701: 0x4000, 0x1702: 0x4000, 0x1703: 0x4000, 0x1704: 0x4000, 0x1705: 0x4000, - 0x1706: 0x4000, 0x1707: 0x4000, 0x1708: 0x4000, 0x1709: 0x4000, 0x170a: 0x4000, 0x170b: 0x4000, - 0x170c: 0x4000, 0x170d: 0x4000, 0x170e: 0x4000, 0x170f: 0x4000, + 0x1715: 0x4000, 0x1716: 0x4000, + 0x1724: 0x4000, // Block 0x5d, offset 0x1740 - 0x1740: 0x4000, 0x1741: 0x4000, 0x1742: 0x4000, 0x1743: 0x4000, 0x1744: 0x4000, 0x1745: 0x4000, - 0x174c: 0x4000, 0x1750: 0x4000, 0x1751: 0x4000, - 0x1752: 0x4000, - 0x176b: 0x4000, 0x176c: 0x4000, - 0x1774: 0x4000, 0x1775: 0x4000, - 0x1776: 0x4000, + 0x177b: 0x4000, + 0x177c: 0x4000, 0x177d: 0x4000, 0x177e: 0x4000, 0x177f: 0x4000, // Block 0x5e, offset 0x1780 - 0x1790: 0x4000, 0x1791: 0x4000, - 0x1792: 0x4000, 0x1793: 0x4000, 0x1794: 0x4000, 0x1795: 0x4000, 0x1796: 0x4000, 0x1797: 0x4000, - 0x1798: 0x4000, 0x1799: 0x4000, 0x179a: 0x4000, 0x179b: 0x4000, 0x179c: 0x4000, 0x179d: 0x4000, - 0x179e: 0x4000, 0x17a0: 0x4000, 0x17a1: 0x4000, 0x17a2: 0x4000, 0x17a3: 0x4000, - 0x17a4: 0x4000, 0x17a5: 0x4000, 0x17a6: 0x4000, 0x17a7: 0x4000, - 0x17b0: 0x4000, 0x17b3: 0x4000, 0x17b4: 0x4000, 0x17b5: 0x4000, - 0x17b6: 0x4000, 0x17b7: 0x4000, 0x17b8: 0x4000, 0x17b9: 0x4000, 0x17ba: 0x4000, 0x17bb: 0x4000, - 0x17bc: 0x4000, 0x17bd: 0x4000, 0x17be: 0x4000, + 0x1780: 0x4000, 0x1781: 0x4000, 0x1782: 0x4000, 0x1783: 0x4000, 0x1784: 0x4000, 0x1785: 0x4000, + 0x1786: 0x4000, 0x1787: 0x4000, 0x1788: 0x4000, 0x1789: 0x4000, 0x178a: 0x4000, 0x178b: 0x4000, + 0x178c: 0x4000, 0x178d: 0x4000, 0x178e: 0x4000, 0x178f: 0x4000, // Block 0x5f, offset 0x17c0 0x17c0: 0x4000, 0x17c1: 0x4000, 0x17c2: 0x4000, 0x17c3: 0x4000, 0x17c4: 0x4000, 0x17c5: 0x4000, - 0x17c6: 0x4000, 0x17c7: 0x4000, 0x17c8: 0x4000, 0x17c9: 0x4000, 0x17ca: 0x4000, 0x17cb: 0x4000, - 0x17d0: 0x4000, 0x17d1: 0x4000, - 0x17d2: 0x4000, 0x17d3: 0x4000, 0x17d4: 0x4000, 0x17d5: 0x4000, 0x17d6: 0x4000, 0x17d7: 0x4000, - 0x17d8: 0x4000, 0x17d9: 0x4000, 0x17da: 0x4000, 0x17db: 0x4000, 0x17dc: 0x4000, 0x17dd: 0x4000, - 0x17de: 0x4000, + 0x17cc: 0x4000, 0x17d0: 0x4000, 0x17d1: 0x4000, + 0x17d2: 0x4000, + 0x17eb: 0x4000, 0x17ec: 0x4000, + 0x17f4: 0x4000, 0x17f5: 0x4000, + 0x17f6: 0x4000, 0x17f7: 0x4000, 0x17f8: 0x4000, // Block 0x60, offset 0x1800 - 0x1800: 0x4000, 0x1801: 0x4000, 0x1802: 0x4000, 0x1803: 0x4000, 0x1804: 0x4000, 0x1805: 0x4000, - 0x1806: 0x4000, 0x1807: 0x4000, 0x1808: 0x4000, 0x1809: 0x4000, 0x180a: 0x4000, 0x180b: 0x4000, - 0x180c: 0x4000, 0x180d: 0x4000, 0x180e: 0x4000, 0x180f: 0x4000, 0x1810: 0x4000, 0x1811: 0x4000, + 0x1810: 0x4000, 0x1811: 0x4000, + 0x1812: 0x4000, 0x1813: 0x4000, 0x1814: 0x4000, 0x1815: 0x4000, 0x1816: 0x4000, 0x1817: 0x4000, + 0x1818: 0x4000, 0x1819: 0x4000, 0x181a: 0x4000, 0x181b: 0x4000, 0x181c: 0x4000, 0x181d: 0x4000, + 0x181e: 0x4000, 0x181f: 0x4000, 0x1820: 0x4000, 0x1821: 0x4000, 0x1822: 0x4000, 0x1823: 0x4000, + 0x1824: 0x4000, 0x1825: 0x4000, 0x1826: 0x4000, 0x1827: 0x4000, 0x1828: 0x4000, 0x1829: 0x4000, + 0x182a: 0x4000, 0x182b: 0x4000, 0x182c: 0x4000, 0x182d: 0x4000, 0x182e: 0x4000, 0x182f: 0x4000, + 0x1830: 0x4000, 0x1831: 0x4000, 0x1832: 0x4000, 0x1833: 0x4000, 0x1834: 0x4000, 0x1835: 0x4000, + 0x1836: 0x4000, 0x1837: 0x4000, 0x1838: 0x4000, 0x1839: 0x4000, 0x183a: 0x4000, 0x183b: 0x4000, + 0x183c: 0x4000, 0x183d: 0x4000, 0x183e: 0x4000, // Block 0x61, offset 0x1840 - 0x1840: 0x4000, + 0x1840: 0x4000, 0x1841: 0x4000, 0x1842: 0x4000, 0x1843: 0x4000, 0x1844: 0x4000, 0x1845: 0x4000, + 0x1846: 0x4000, 0x1847: 0x4000, 0x1848: 0x4000, 0x1849: 0x4000, 0x184a: 0x4000, 0x184b: 0x4000, + 0x184c: 0x4000, 0x1850: 0x4000, 0x1851: 0x4000, + 0x1852: 0x4000, 0x1853: 0x4000, 0x1854: 0x4000, 0x1855: 0x4000, 0x1856: 0x4000, 0x1857: 0x4000, + 0x1858: 0x4000, 0x1859: 0x4000, 0x185a: 0x4000, 0x185b: 0x4000, 0x185c: 0x4000, 0x185d: 0x4000, + 0x185e: 0x4000, 0x185f: 0x4000, 0x1860: 0x4000, 0x1861: 0x4000, 0x1862: 0x4000, 0x1863: 0x4000, + 0x1864: 0x4000, 0x1865: 0x4000, 0x1866: 0x4000, 0x1867: 0x4000, 0x1868: 0x4000, 0x1869: 0x4000, + 0x186a: 0x4000, 0x186b: 0x4000, // Block 0x62, offset 0x1880 - 0x1880: 0x2000, 0x1881: 0x2000, 0x1882: 0x2000, 0x1883: 0x2000, 0x1884: 0x2000, 0x1885: 0x2000, - 0x1886: 0x2000, 0x1887: 0x2000, 0x1888: 0x2000, 0x1889: 0x2000, 0x188a: 0x2000, 0x188b: 0x2000, - 0x188c: 0x2000, 0x188d: 0x2000, 0x188e: 0x2000, 0x188f: 0x2000, 0x1890: 0x2000, 0x1891: 0x2000, - 0x1892: 0x2000, 0x1893: 0x2000, 0x1894: 0x2000, 0x1895: 0x2000, 0x1896: 0x2000, 0x1897: 0x2000, - 0x1898: 0x2000, 0x1899: 0x2000, 0x189a: 0x2000, 0x189b: 0x2000, 0x189c: 0x2000, 0x189d: 0x2000, - 0x189e: 0x2000, 0x189f: 0x2000, 0x18a0: 0x2000, 0x18a1: 0x2000, 0x18a2: 0x2000, 0x18a3: 0x2000, - 0x18a4: 0x2000, 0x18a5: 0x2000, 0x18a6: 0x2000, 0x18a7: 0x2000, 0x18a8: 0x2000, 0x18a9: 0x2000, - 0x18aa: 0x2000, 0x18ab: 0x2000, 0x18ac: 0x2000, 0x18ad: 0x2000, 0x18ae: 0x2000, 0x18af: 0x2000, - 0x18b0: 0x2000, 0x18b1: 0x2000, 0x18b2: 0x2000, 0x18b3: 0x2000, 0x18b4: 0x2000, 0x18b5: 0x2000, - 0x18b6: 0x2000, 0x18b7: 0x2000, 0x18b8: 0x2000, 0x18b9: 0x2000, 0x18ba: 0x2000, 0x18bb: 0x2000, - 0x18bc: 0x2000, 0x18bd: 0x2000, + 0x1880: 0x4000, 0x1881: 0x4000, 0x1882: 0x4000, 0x1883: 0x4000, 0x1884: 0x4000, 0x1885: 0x4000, + 0x1886: 0x4000, 0x1887: 0x4000, 0x1888: 0x4000, 0x1889: 0x4000, 0x188a: 0x4000, 0x188b: 0x4000, + 0x188c: 0x4000, 0x188d: 0x4000, 0x188e: 0x4000, 0x188f: 0x4000, 0x1890: 0x4000, 0x1891: 0x4000, + 0x1892: 0x4000, 0x1893: 0x4000, 0x1894: 0x4000, 0x1895: 0x4000, 0x1896: 0x4000, 0x1897: 0x4000, + // Block 0x63, offset 0x18c0 + 0x18c0: 0x4000, + 0x18d0: 0x4000, 0x18d1: 0x4000, + 0x18d2: 0x4000, 0x18d3: 0x4000, 0x18d4: 0x4000, 0x18d5: 0x4000, 0x18d6: 0x4000, 0x18d7: 0x4000, + 0x18d8: 0x4000, 0x18d9: 0x4000, 0x18da: 0x4000, 0x18db: 0x4000, 0x18dc: 0x4000, 0x18dd: 0x4000, + 0x18de: 0x4000, 0x18df: 0x4000, 0x18e0: 0x4000, 0x18e1: 0x4000, 0x18e2: 0x4000, 0x18e3: 0x4000, + 0x18e4: 0x4000, 0x18e5: 0x4000, 0x18e6: 0x4000, + // Block 0x64, offset 0x1900 + 0x1900: 0x2000, 0x1901: 0x2000, 0x1902: 0x2000, 0x1903: 0x2000, 0x1904: 0x2000, 0x1905: 0x2000, + 0x1906: 0x2000, 0x1907: 0x2000, 0x1908: 0x2000, 0x1909: 0x2000, 0x190a: 0x2000, 0x190b: 0x2000, + 0x190c: 0x2000, 0x190d: 0x2000, 0x190e: 0x2000, 0x190f: 0x2000, 0x1910: 0x2000, 0x1911: 0x2000, + 0x1912: 0x2000, 0x1913: 0x2000, 0x1914: 0x2000, 0x1915: 0x2000, 0x1916: 0x2000, 0x1917: 0x2000, + 0x1918: 0x2000, 0x1919: 0x2000, 0x191a: 0x2000, 0x191b: 0x2000, 0x191c: 0x2000, 0x191d: 0x2000, + 0x191e: 0x2000, 0x191f: 0x2000, 0x1920: 0x2000, 0x1921: 0x2000, 0x1922: 0x2000, 0x1923: 0x2000, + 0x1924: 0x2000, 0x1925: 0x2000, 0x1926: 0x2000, 0x1927: 0x2000, 0x1928: 0x2000, 0x1929: 0x2000, + 0x192a: 0x2000, 0x192b: 0x2000, 0x192c: 0x2000, 0x192d: 0x2000, 0x192e: 0x2000, 0x192f: 0x2000, + 0x1930: 0x2000, 0x1931: 0x2000, 0x1932: 0x2000, 0x1933: 0x2000, 0x1934: 0x2000, 0x1935: 0x2000, + 0x1936: 0x2000, 0x1937: 0x2000, 0x1938: 0x2000, 0x1939: 0x2000, 0x193a: 0x2000, 0x193b: 0x2000, + 0x193c: 0x2000, 0x193d: 0x2000, } // widthIndex: 22 blocks, 1408 entries, 1408 bytes @@ -1076,13 +1107,14 @@ var widthIndex = [1408]uint8{ 0x3a0: 0x0e, 0x3a1: 0x0e, 0x3a2: 0x0e, 0x3a3: 0x0e, 0x3a4: 0x0e, 0x3a5: 0x0e, 0x3a6: 0x0e, 0x3a7: 0x0e, 0x3a8: 0x0e, 0x3a9: 0x0e, 0x3aa: 0x0e, 0x3ab: 0x47, // Block 0xf, offset 0x3c0 - 0x3c0: 0x48, + 0x3c0: 0x0e, 0x3c1: 0x0e, 0x3c2: 0x0e, 0x3c3: 0x0e, 0x3c4: 0x48, 0x3c5: 0x49, 0x3c6: 0x0e, 0x3c7: 0x0e, + 0x3c8: 0x0e, 0x3c9: 0x0e, 0x3ca: 0x0e, 0x3cb: 0x4a, // Block 0x10, offset 0x400 - 0x400: 0x49, 0x403: 0x4a, 0x404: 0x4b, 0x405: 0x4c, 0x406: 0x4d, - 0x408: 0x4e, 0x409: 0x4f, 0x40c: 0x50, 0x40d: 0x51, 0x40e: 0x52, 0x40f: 0x53, - 0x410: 0x3a, 0x411: 0x54, 0x412: 0x0e, 0x413: 0x55, 0x414: 0x56, 0x415: 0x57, 0x416: 0x58, 0x417: 0x59, - 0x418: 0x0e, 0x419: 0x5a, 0x41a: 0x0e, 0x41b: 0x5b, - 0x424: 0x5c, 0x425: 0x5d, 0x426: 0x5e, 0x427: 0x5f, + 0x400: 0x4b, 0x403: 0x4c, 0x404: 0x4d, 0x405: 0x4e, 0x406: 0x4f, + 0x408: 0x50, 0x409: 0x51, 0x40c: 0x52, 0x40d: 0x53, 0x40e: 0x54, 0x40f: 0x55, + 0x410: 0x3a, 0x411: 0x56, 0x412: 0x0e, 0x413: 0x57, 0x414: 0x58, 0x415: 0x59, 0x416: 0x5a, 0x417: 0x5b, + 0x418: 0x0e, 0x419: 0x5c, 0x41a: 0x0e, 0x41b: 0x5d, + 0x424: 0x5e, 0x425: 0x5f, 0x426: 0x60, 0x427: 0x61, // Block 0x11, offset 0x440 0x456: 0x0b, 0x457: 0x06, 0x458: 0x0c, 0x45b: 0x0d, 0x45f: 0x0e, @@ -1100,7 +1132,7 @@ var widthIndex = [1408]uint8{ 0x4e0: 0x08, 0x4e1: 0x08, 0x4e2: 0x08, 0x4e3: 0x08, 0x4e4: 0x08, 0x4e5: 0x08, 0x4e6: 0x08, 0x4e7: 0x08, 0x4e8: 0x08, 0x4e9: 0x08, 0x4ea: 0x08, 0x4eb: 0x08, 0x4ec: 0x08, 0x4ed: 0x08, 0x4ee: 0x08, 0x4ef: 0x08, 0x4f0: 0x08, 0x4f1: 0x08, 0x4f2: 0x08, 0x4f3: 0x08, 0x4f4: 0x08, 0x4f5: 0x08, 0x4f6: 0x08, 0x4f7: 0x08, - 0x4f8: 0x08, 0x4f9: 0x08, 0x4fa: 0x08, 0x4fb: 0x08, 0x4fc: 0x08, 0x4fd: 0x08, 0x4fe: 0x08, 0x4ff: 0x60, + 0x4f8: 0x08, 0x4f9: 0x08, 0x4fa: 0x08, 0x4fb: 0x08, 0x4fc: 0x08, 0x4fd: 0x08, 0x4fe: 0x08, 0x4ff: 0x62, // Block 0x14, offset 0x500 0x520: 0x10, 0x530: 0x09, 0x531: 0x09, 0x532: 0x09, 0x533: 0x09, 0x534: 0x09, 0x535: 0x09, 0x536: 0x09, 0x537: 0x09, @@ -1281,4 +1313,4 @@ var inverseData = [150][4]byte{ {0x03, 0xe2, 0x97, 0x25}, } -// Total table size 14680 bytes (14KiB) +// Total table size 14936 bytes (14KiB) diff --git a/vendor/golang.org/x/time/README b/vendor/golang.org/x/time/README deleted file mode 100644 index 144e347b4..000000000 --- a/vendor/golang.org/x/time/README +++ /dev/null @@ -1 +0,0 @@ -This repository provides supplementary Go time packages. diff --git a/vendor/golang.org/x/time/README.md b/vendor/golang.org/x/time/README.md new file mode 100644 index 000000000..ce9becdde --- /dev/null +++ b/vendor/golang.org/x/time/README.md @@ -0,0 +1,17 @@ +# Go Time + +This repository provides supplementary Go time packages. + +## Download/Install + +The easiest way to install is to run `go get -u golang.org/x/time`. You can +also manually git clone the repository to `$GOPATH/src/golang.org/x/time`. + +## Report Issues / Send Patches + +This repository uses Gerrit for code changes. To learn how to submit changes to +this repository, see https://golang.org/doc/contribute.html. + +The main issue tracker for the time repository is located at +https://github.com/golang/go/issues. Prefix your issue with "x/time:" in the +subject line, so it is easy to find. diff --git a/vendor/google.golang.org/api/.gitignore b/vendor/google.golang.org/api/.gitignore new file mode 100644 index 000000000..50d2a9bd6 --- /dev/null +++ b/vendor/google.golang.org/api/.gitignore @@ -0,0 +1,12 @@ +_obj/ +*_testmain.go +clientid.dat +clientsecret.dat +/google-api-go-generator/google-api-go-generator + +*.6 +*.8 +*~ +*.out +*.test +*.exe diff --git a/vendor/google.golang.org/api/.hgignore b/vendor/google.golang.org/api/.hgignore deleted file mode 100644 index d31fc45fd..000000000 --- a/vendor/google.golang.org/api/.hgignore +++ /dev/null @@ -1,11 +0,0 @@ -_obj -_testmain.go -clientid.dat -clientsecret.dat -google-api-go-generator/google-api-go-gen - -syntax:glob -*.6 -*.8 -*~ -*.out diff --git a/vendor/google.golang.org/api/.travis.yml b/vendor/google.golang.org/api/.travis.yml index affce6961..7c811007d 100644 --- a/vendor/google.golang.org/api/.travis.yml +++ b/vendor/google.golang.org/api/.travis.yml @@ -11,7 +11,7 @@ before_install: - openssl aes-256-cbc -K $encrypted_6c6ebd86ce52_key -iv $encrypted_6c6ebd86ce52_iv -in key.json.enc -out key.json -d install: - - go get -v -p 1 google.golang.org/api/... + - go get -v -t -p 1 google.golang.org/api/... script: - GCLOUD_TESTS_GOLANG_PROJECT_ID="dulcet-port-762" GCLOUD_TESTS_GOLANG_DESTRUCTIVE_TEST_BUCKET_NAME="dulcet-port-762-api-go-client-storage-integration-test" GCLOUD_TESTS_GOLANG_KEY="$(pwd)/key.json" go test -v -tags=integration google.golang.org/api/... diff --git a/vendor/google.golang.org/api/Makefile b/vendor/google.golang.org/api/Makefile deleted file mode 100644 index 0d841b1d4..000000000 --- a/vendor/google.golang.org/api/Makefile +++ /dev/null @@ -1,27 +0,0 @@ -API_JSON = $(wildcard */*/*-api.json */*/*/*-api.json) - -# Download all API specifications and rebuild Go bindings. -# All downloaded files are cached in $TMPDIR for reuse with 'cached' below. -all: generator - $(GOPATH)/bin/google-api-go-generator -cache=false -install -api=* - -# Reuse cached API specifications in $TMPDIR and rebuild Go bindings. -cached: generator - $(GOPATH)/bin/google-api-go-generator -cache=true -install -api=* - -# Only rebuild Go bindings, do not modify API specifications. -# For every existing */*/*-api.json file, */*/*-gen.go will be built. -local: $(API_JSON:-api.json=-gen.go) - -# Pattern rule for the 'local' target. -# Translates otherwise unnamed targets with a -gen.go suffix into the -# matching input file with a -api.json suffix. $< is the input file. -%-gen.go: %-api.json generator - $(GOPATH)/bin/google-api-go-generator -api_json_file=$< - -# Rebuild and install $(GOPATH)/bin/google-api-go-generator -generator: - go install google.golang.org/api/googleapi - go install google.golang.org/api/google-api-go-generator - -.PHONY: all cached local generator diff --git a/vendor/google.golang.org/api/README.md b/vendor/google.golang.org/api/README.md index 90053150f..097d3308f 100644 --- a/vendor/google.golang.org/api/README.md +++ b/vendor/google.golang.org/api/README.md @@ -1,20 +1,50 @@ # Google APIs Client Library for Go -## Library maintenance -This client library is supported, but in maintenance mode only. -We are fixing necessary bugs and adding essential features to ensure this -library continues to meet your needs for accessing Google APIs. -Non-critical issues will be closed. -Any issue may be reopened if it is causing ongoing problems. +## Getting Started + +``` +$ go get google.golang.org/api/tasks/v1 +$ go get google.golang.org/api/moderator/v1 +$ go get google.golang.org/api/urlshortener/v1 +... etc ... +``` + +and using: + +```go +package main + +import ( + "net/http" + + "google.golang.org/api/urlshortener/v1" +) + +func main() { + svc, err := urlshortener.New(http.DefaultClient) + // ... +} +``` + +* For a longer tutorial, see the [Getting Started guide](https://github.com/google/google-api-go-client/blob/master/GettingStarted.md). +* For examples, see the [examples directory](https://github.com/google/google-api-go-client/tree/master/examples). +* For support, use the [golang-nuts](https://groups.google.com/group/golang-nuts) mailing list. ## Status [![Build Status](https://travis-ci.org/google/google-api-go-client.png)](https://travis-ci.org/google/google-api-go-client) +[![GoDoc](https://godoc.org/google.golang.org/api?status.svg)](https://godoc.org/google.golang.org/api) These are auto-generated Go libraries from the Google Discovery Service's JSON description files of the available "new style" Google APIs. Due to the auto-generated nature of this collection of libraries, complete APIs or specific versions can appear or go away without notice. As a result, you should always locally vendor any API(s) that your code relies upon. +This client library is supported, but in maintenance mode only. +We are fixing necessary bugs and adding essential features to ensure this +library continues to meet your needs for accessing Google APIs. +Non-critical issues will be closed. +Any issue may be reopened if it is causing ongoing problems. + If you're working with Google Cloud Platform APIs such as Datastore or Pub/Sub, consider using the [Cloud Client Libraries for Go](https://github.com/GoogleCloudPlatform/google-cloud-go) @@ -25,37 +55,6 @@ The generator itself and the code it produces are beta. Some APIs are alpha/beta, and indicated as such in the import path (e.g., "google.golang.org/api/someapi/v1alpha"). -Announcement email: - -* http://groups.google.com/group/golang-nuts/browse_thread/thread/6c7281450be9a21e - -Getting started documentation: - -* https://github.com/google/google-api-go-client/blob/master/GettingStarted.md - -In summary: - -``` -$ go get google.golang.org/api/storage/v1 -$ go get google.golang.org/api/tasks/v1 -$ go get google.golang.org/api/moderator/v1 -... etc ... -``` - -For docs, see e.g.: - -* https://godoc.org/google.golang.org/api/storage/v1 - -The package of a given import is the second-to-last component, before the version number. - -For examples, see: - -* https://github.com/google/google-api-go-client/tree/master/examples - -For support, use the golang-nuts@ mailing list: - -* https://groups.google.com/group/golang-nuts - ## Application Default Credentials Example Application Default Credentials provide a simplified way to obtain credentials @@ -68,13 +67,13 @@ applications that run on Google Compute Engine or Google App Engine. Default credentials are provided by the `golang.org/x/oauth2/google` package. To use them, add the following import: -``` +```go import "golang.org/x/oauth2/google" ``` Some credentials types require you to specify scopes, and service entry points may not inject them. If you encounter this situation you may need to specify scopes as follows: -``` +```go import ( "golang.org/x/net/context" "golang.org/x/oauth2/google" @@ -98,7 +97,7 @@ func main() { If you need a `oauth2.TokenSource`, use the `DefaultTokenSource` function: -``` +```go ts, err := google.DefaultTokenSource(ctx, scope1, scope2, ...) if err != nil { //... diff --git a/vendor/google.golang.org/api/acceleratedmobilepageurl/v1/acceleratedmobilepageurl-api.json b/vendor/google.golang.org/api/acceleratedmobilepageurl/v1/acceleratedmobilepageurl-api.json index d6724e2eb..36d359cc2 100644 --- a/vendor/google.golang.org/api/acceleratedmobilepageurl/v1/acceleratedmobilepageurl-api.json +++ b/vendor/google.golang.org/api/acceleratedmobilepageurl/v1/acceleratedmobilepageurl-api.json @@ -1,19 +1,13 @@ { - "basePath": "", - "ownerDomain": "google.com", - "name": "acceleratedmobilepageurl", - "batchPath": "batch", - "id": "acceleratedmobilepageurl:v1", - "documentationLink": "https://developers.google.com/amp/cache/", - "revision": "20170504", - "title": "Accelerated Mobile Pages (AMP) URL API", - "discoveryVersion": "v1", - "ownerName": "Google", - "version_module": "True", + "version_module": true, "resources": { "ampUrls": { "methods": { "batchGet": { + "request": { + "$ref": "BatchGetAmpUrlsRequest" + }, + "description": "Returns AMP URL(s) and equivalent\n[AMP Cache URL(s)](/amp/cache/overview#amp-cache-url-format).", "httpMethod": "POST", "parameterOrder": [], "response": { @@ -21,37 +15,39 @@ }, "parameters": {}, "flatPath": "v1/ampUrls:batchGet", - "id": "acceleratedmobilepageurl.ampUrls.batchGet", "path": "v1/ampUrls:batchGet", - "description": "Returns AMP URL(s) and equivalent\n[AMP Cache URL(s)](/amp/cache/overview#amp-cache-url-format).", - "request": { - "$ref": "BatchGetAmpUrlsRequest" - } + "id": "acceleratedmobilepageurl.ampUrls.batchGet" } } } }, "parameters": { + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, "oauth_token": { - "location": "query", "description": "OAuth 2.0 token for the current user.", - "type": "string" - }, - "bearer_token": { - "location": "query", - "description": "OAuth bearer token.", - "type": "string" - }, - "upload_protocol": { - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "type": "string", "location": "query" }, - "prettyPrint": { + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", + "location": "query" + }, + "upload_protocol": { "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, + "prettyPrint": { "description": "Returns response with indentations and line breaks.", + "default": "true", "type": "boolean", - "default": "true" + "location": "query" }, "fields": { "location": "query", @@ -63,6 +59,11 @@ "type": "string", "location": "query" }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, "$.xgafv": { "enumDescriptions": [ "v1 error format", @@ -76,13 +77,7 @@ "description": "V1 error format.", "type": "string" }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, "alt": { - "type": "string", "enumDescriptions": [ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", @@ -95,74 +90,43 @@ "json", "media", "proto" - ] - }, - "access_token": { - "description": "OAuth access token.", - "type": "string", - "location": "query" + ], + "type": "string" }, "key": { "location": "query", "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", "type": "string" }, - "quotaUser": { - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" }, - "pp": { - "description": "Pretty-print response.", - "type": "boolean", - "default": "true", + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", "location": "query" } }, "schemas": { - "BatchGetAmpUrlsRequest": { - "description": "AMP URL request for a batch of URLs.", - "type": "object", - "properties": { - "urls": { - "description": "List of URLs to look up for the paired AMP URLs.\nThe URLs are case-sensitive. Up to 50 URLs per lookup\n(see [Usage Limits](/amp/cache/reference/limits)).", - "type": "array", - "items": { - "type": "string" - } - }, - "lookupStrategy": { - "description": "The lookup_strategy being requested.", - "type": "string", - "enumDescriptions": [ - "FETCH_LIVE_DOC strategy involves live document fetch of URLs not found in\nthe index. Any request URL not found in the index is crawled in realtime\nto validate if there is a corresponding AMP URL. This strategy has higher\ncoverage but with extra latency introduced by realtime crawling. This is\nthe default strategy. Applications using this strategy should set higher\nHTTP timeouts of the API calls.", - "IN_INDEX_DOC strategy skips fetching live documents of URL(s) not found\nin index. For applications which need low latency use of IN_INDEX_DOC\nstrategy is recommended." - ], - "enum": [ - "FETCH_LIVE_DOC", - "IN_INDEX_DOC" - ] - } - }, - "id": "BatchGetAmpUrlsRequest" - }, "BatchGetAmpUrlsResponse": { "description": "Batch AMP URL response.", "type": "object", "properties": { + "urlErrors": { + "description": "The errors for requested URLs that have no AMP URL.", + "items": { + "$ref": "AmpUrlError" + }, + "type": "array" + }, "ampUrls": { - "type": "array", + "description": "For each URL in BatchAmpUrlsRequest, the URL response. The response might\nnot be in the same order as URLs in the batch request.\nIf BatchAmpUrlsRequest contains duplicate URLs, AmpUrl is generated\nonly once.", "items": { "$ref": "AmpUrl" }, - "description": "For each URL in BatchAmpUrlsRequest, the URL response. The response might\nnot be in the same order as URLs in the batch request.\nIf BatchAmpUrlsRequest contains duplicate URLs, AmpUrl is generated\nonly once." - }, - "urlErrors": { - "description": "The errors for requested URLs that have no AMP URL.", - "type": "array", - "items": { - "$ref": "AmpUrlError" - } + "type": "array" } }, "id": "BatchGetAmpUrlsResponse" @@ -175,13 +139,13 @@ "description": "The [AMP Cache URL](/amp/cache/overview#amp-cache-url-format) pointing to\nthe cached document in the Google AMP Cache.", "type": "string" }, - "originalUrl": { - "description": "The original non-AMP URL.", - "type": "string" - }, "ampUrl": { "description": "The AMP URL pointing to the publisher's web server.", "type": "string" + }, + "originalUrl": { + "description": "The original non-AMP URL.", + "type": "string" } }, "id": "AmpUrl" @@ -190,11 +154,8 @@ "description": "AMP URL Error resource for a requested URL that couldn't be found.", "type": "object", "properties": { - "errorMessage": { - "description": "An optional descriptive error message.", - "type": "string" - }, "errorCode": { + "description": "The error code of an API call.", "type": "string", "enumDescriptions": [ "Not specified error.", @@ -211,15 +172,44 @@ "APPLICATION_ERROR", "URL_IS_VALID_AMP", "URL_IS_INVALID_AMP" - ], - "description": "The error code of an API call." + ] }, "originalUrl": { "description": "The original non-AMP URL.", "type": "string" + }, + "errorMessage": { + "description": "An optional descriptive error message.", + "type": "string" } }, "id": "AmpUrlError" + }, + "BatchGetAmpUrlsRequest": { + "description": "AMP URL request for a batch of URLs.", + "type": "object", + "properties": { + "lookupStrategy": { + "description": "The lookup_strategy being requested.", + "type": "string", + "enumDescriptions": [ + "FETCH_LIVE_DOC strategy involves live document fetch of URLs not found in\nthe index. Any request URL not found in the index is crawled in realtime\nto validate if there is a corresponding AMP URL. This strategy has higher\ncoverage but with extra latency introduced by realtime crawling. This is\nthe default strategy. Applications using this strategy should set higher\nHTTP timeouts of the API calls.", + "IN_INDEX_DOC strategy skips fetching live documents of URL(s) not found\nin index. For applications which need low latency use of IN_INDEX_DOC\nstrategy is recommended." + ], + "enum": [ + "FETCH_LIVE_DOC", + "IN_INDEX_DOC" + ] + }, + "urls": { + "description": "List of URLs to look up for the paired AMP URLs.\nThe URLs are case-sensitive. Up to 50 URLs per lookup\n(see [Usage Limits](/amp/cache/reference/limits)).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "BatchGetAmpUrlsRequest" } }, "protocol": "rest", @@ -230,7 +220,17 @@ "version": "v1", "baseUrl": "https://acceleratedmobilepageurl.googleapis.com/", "servicePath": "", - "description": "Retrieves the list of AMP URL (and equivalent AMP Cache URL) for a given list of public URL(s).\n", + "description": "Retrieves the list of AMP URLs (and equivalent AMP Cache URLs) for a given list of public URL(s).\n", "kind": "discovery#restDescription", - "rootUrl": "https://acceleratedmobilepageurl.googleapis.com/" + "rootUrl": "https://acceleratedmobilepageurl.googleapis.com/", + "basePath": "", + "ownerDomain": "google.com", + "name": "acceleratedmobilepageurl", + "batchPath": "batch", + "revision": "20170926", + "documentationLink": "https://developers.google.com/amp/cache/", + "id": "acceleratedmobilepageurl:v1", + "title": "Accelerated Mobile Pages (AMP) URL API", + "ownerName": "Google", + "discoveryVersion": "v1" } diff --git a/vendor/google.golang.org/api/adexchangebuyer/v1.2/adexchangebuyer-api.json b/vendor/google.golang.org/api/adexchangebuyer/v1.2/adexchangebuyer-api.json index 77b7e8652..cb383ac18 100644 --- a/vendor/google.golang.org/api/adexchangebuyer/v1.2/adexchangebuyer-api.json +++ b/vendor/google.golang.org/api/adexchangebuyer/v1.2/adexchangebuyer-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/0_pkDGZUigw6P9-q8PUQy4V9Lvo\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/-1DKqIhPUpLfO8DBj8P3gNrIPtE\"", "discoveryVersion": "v1", "id": "adexchangebuyer:v1.2", "name": "adexchangebuyer", "canonicalName": "Ad Exchange Buyer", "version": "v1.2", - "revision": "20170504", + "revision": "20170810", "title": "Ad Exchange Buyer API", "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.", "ownerDomain": "google.com", @@ -21,7 +21,7 @@ "basePath": "/adexchangebuyer/v1.2/", "rootUrl": "https://www.googleapis.com/", "servicePath": "adexchangebuyer/v1.2/", - "batchPath": "batch", + "batchPath": "batch/adexchangebuyer/v1.2", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/adexchangebuyer/v1.3/adexchangebuyer-api.json b/vendor/google.golang.org/api/adexchangebuyer/v1.3/adexchangebuyer-api.json index a9f3eaa2d..1edf96a39 100644 --- a/vendor/google.golang.org/api/adexchangebuyer/v1.3/adexchangebuyer-api.json +++ b/vendor/google.golang.org/api/adexchangebuyer/v1.3/adexchangebuyer-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/AyER-m-NeyHqidJeSDw3qhKYlvg\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/_RwUq281eKa7d-tJKPdh-IE_OEk\"", "discoveryVersion": "v1", "id": "adexchangebuyer:v1.3", "name": "adexchangebuyer", "canonicalName": "Ad Exchange Buyer", "version": "v1.3", - "revision": "20170504", + "revision": "20170810", "title": "Ad Exchange Buyer API", "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.", "ownerDomain": "google.com", @@ -21,7 +21,7 @@ "basePath": "/adexchangebuyer/v1.3/", "rootUrl": "https://www.googleapis.com/", "servicePath": "adexchangebuyer/v1.3/", - "batchPath": "batch", + "batchPath": "batch/adexchangebuyer/v1.3", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/adexchangebuyer/v1.4/adexchangebuyer-api.json b/vendor/google.golang.org/api/adexchangebuyer/v1.4/adexchangebuyer-api.json index 723786341..239a0bb7d 100644 --- a/vendor/google.golang.org/api/adexchangebuyer/v1.4/adexchangebuyer-api.json +++ b/vendor/google.golang.org/api/adexchangebuyer/v1.4/adexchangebuyer-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/XvWFbU-Khae3KqVnoqt96DoRPGo\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/nD15-sVgx0hSdEaD_RN4E40IFV8\"", "discoveryVersion": "v1", "id": "adexchangebuyer:v1.4", "name": "adexchangebuyer", "canonicalName": "Ad Exchange Buyer", "version": "v1.4", - "revision": "20170504", + "revision": "20170810", "title": "Ad Exchange Buyer API", "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.", "ownerDomain": "google.com", @@ -21,7 +21,7 @@ "basePath": "/adexchangebuyer/v1.4/", "rootUrl": "https://www.googleapis.com/", "servicePath": "adexchangebuyer/v1.4/", - "batchPath": "batch", + "batchPath": "batch/adexchangebuyer/v1.4", "parameters": { "alt": { "type": "string", @@ -2160,7 +2160,7 @@ "properties": { "accountId": { "type": "string", - "description": "The account id of the seller." + "description": "Deprecated: use the seller.account_id. The account id of the seller." }, "audience": { "type": "string", diff --git a/vendor/google.golang.org/api/adexchangebuyer/v1.4/adexchangebuyer-gen.go b/vendor/google.golang.org/api/adexchangebuyer/v1.4/adexchangebuyer-gen.go index f65404f9c..76bd017ff 100644 --- a/vendor/google.golang.org/api/adexchangebuyer/v1.4/adexchangebuyer-gen.go +++ b/vendor/google.golang.org/api/adexchangebuyer/v1.4/adexchangebuyer-gen.go @@ -3361,7 +3361,8 @@ func (s *Proposal) MarshalJSON() ([]byte, error) { } type PublisherProfileApiProto struct { - // AccountId: The account id of the seller. + // AccountId: Deprecated: use the seller.account_id. The account id of + // the seller. AccountId string `json:"accountId,omitempty"` // Audience: Publisher provided info on its audience. diff --git a/vendor/google.golang.org/api/adexchangebuyer2/v2beta1/adexchangebuyer2-api.json b/vendor/google.golang.org/api/adexchangebuyer2/v2beta1/adexchangebuyer2-api.json index a66c87c28..8e2573d8b 100644 --- a/vendor/google.golang.org/api/adexchangebuyer2/v2beta1/adexchangebuyer2-api.json +++ b/vendor/google.golang.org/api/adexchangebuyer2/v2beta1/adexchangebuyer2-api.json @@ -1,101 +1,44 @@ { - "kind": "discovery#restDescription", - "description": "Accesses the latest features for managing Ad Exchange accounts, Real-Time Bidding configurations and auction metrics, and Marketplace programmatic deals.", - "servicePath": "", "basePath": "", "id": "adexchangebuyer2:v2beta1", - "revision": "20170623", - "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest/guides/client-access/", + "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest/reference/rest/", + "revision": "20170927", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { - "BidMetricsRow": { - "id": "BidMetricsRow", - "description": "The set of metrics that are measured in numbers of bids, representing how\nmany bids with the specified dimension values were considered eligible at\neach stage of the bidding funnel;", + "CreativeStatusRow": { "type": "object", "properties": { - "billedImpressions": { - "$ref": "MetricValue", - "description": "The number of bids for which the buyer was billed." + "creativeStatusId": { + "format": "int32", + "description": "The ID of the creative status.\nSee [creative-status-codes](https://developers.google.com/ad-exchange/rtb/downloads/creative-status-codes).", + "type": "integer" }, - "bidsInAuction": { + "bidCount": { "$ref": "MetricValue", - "description": "The number of bids that were permitted to compete in the auction." + "description": "The number of bids with the specified status." }, "rowDimensions": { "$ref": "RowDimensions", "description": "The values of all dimensions associated with metric values in this row." - }, - "viewableImpressions": { - "$ref": "MetricValue", - "description": "The number of bids for which the corresponding impression was viewable (as\ndefined by Active View)." - }, - "impressionsWon": { - "description": "The number of bids that won an impression.", - "$ref": "MetricValue" - }, - "measurableImpressions": { - "description": "The number of bids for which the corresponding impression was measurable\nfor viewability (as defined by Active View).", - "$ref": "MetricValue" - }, - "bids": { - "$ref": "MetricValue", - "description": "The number of bids that Ad Exchange received from the buyer." - } - } - }, - "ListBidResponseErrorsResponse": { - "description": "Response message for listing all reasons that bid responses resulted in an\nerror.", - "type": "object", - "properties": { - "calloutStatusRows": { - "description": "List of rows, with counts of bid responses aggregated by callout status.", - "type": "array", - "items": { - "$ref": "CalloutStatusRow" - } - }, - "nextPageToken": { - "description": "A token to retrieve the next page of results.\nPass this value in the\nListBidResponseErrorsRequest.pageToken\nfield in the subsequent call to the\naccounts.filterSets.bidResponseErrors.list\nmethod to retrieve the next page of results.", - "type": "string" - } - }, - "id": "ListBidResponseErrorsResponse" - }, - "CreativeStatusRow": { - "properties": { - "rowDimensions": { - "description": "The values of all dimensions associated with metric values in this row.", - "$ref": "RowDimensions" - }, - "creativeStatusId": { - "description": "The ID of the creative status.\nSee [creative-status-codes](https://developers.google.com/ad-exchange/rtb/downloads/creative-status-codes).", - "format": "int32", - "type": "integer" - }, - "bidCount": { - "description": "The number of bids with the specified status.", - "$ref": "MetricValue" } }, "id": "CreativeStatusRow", - "description": "The number of bids with the specified dimension values that did not win the\nauction (either were filtered pre-auction or lost the auction), as described\nby the specified creative status.", - "type": "object" + "description": "The number of bids with the specified dimension values that did not win the\nauction (either were filtered pre-auction or lost the auction), as described\nby the specified creative status." }, "RealtimeTimeRange": { "description": "An open-ended realtime time range specified by the start timestamp.\nFor filter sets that specify a realtime time range RTB metrics continue to\nbe aggregated throughout the lifetime of the filter set.", "type": "object", "properties": { "startTimestamp": { - "description": "The start timestamp of the real-time RTB metrics aggregation.", "format": "google-datetime", + "description": "The start timestamp of the real-time RTB metrics aggregation.", "type": "string" } }, "id": "RealtimeTimeRange" }, "NonBillableWinningBidStatusRow": { - "id": "NonBillableWinningBidStatusRow", "description": "The number of winning bids with the specified dimension values for which the\nbuyer was not billed, as described by the specified status.", "type": "object", "properties": { @@ -114,31 +57,32 @@ "type": "string" }, "rowDimensions": { - "description": "The values of all dimensions associated with metric values in this row.", - "$ref": "RowDimensions" + "$ref": "RowDimensions", + "description": "The values of all dimensions associated with metric values in this row." }, "bidCount": { - "$ref": "MetricValue", - "description": "The number of bids with the specified status." + "description": "The number of bids with the specified status.", + "$ref": "MetricValue" } - } + }, + "id": "NonBillableWinningBidStatusRow" }, "FilteredBidDetailRow": { "description": "The number of filtered bids with the specified dimension values, among those\nfiltered due to the requested filtering reason (i.e. creative status), that\nhave the specified detail.", "type": "object", "properties": { + "rowDimensions": { + "$ref": "RowDimensions", + "description": "The values of all dimensions associated with metric values in this row." + }, + "detailId": { + "format": "int32", + "description": "The ID of the detail. The associated value can be looked up in the\ndictionary file corresponding to the DetailType in the response message.", + "type": "integer" + }, "bidCount": { "description": "The number of bids with the specified detail.", "$ref": "MetricValue" - }, - "detailId": { - "type": "integer", - "description": "The ID of the detail. The associated value can be looked up in the\ndictionary file corresponding to the DetailType in the response message.", - "format": "int32" - }, - "rowDimensions": { - "description": "The values of all dimensions associated with metric values in this row.", - "$ref": "RowDimensions" } }, "id": "FilteredBidDetailRow" @@ -148,62 +92,62 @@ "type": "object", "properties": { "startDate": { - "$ref": "Date", - "description": "The start date of the range (inclusive).\nMust be within the 30 days leading up to current date, and must be equal to\nor before end_date." + "description": "The start date of the range (inclusive).\nMust be within the 30 days leading up to current date, and must be equal to\nor before end_date.", + "$ref": "Date" }, "endDate": { - "$ref": "Date", - "description": "The end date of the range (inclusive).\nMust be within the 30 days leading up to current date, and must be equal to\nor after start_date." + "description": "The end date of the range (inclusive).\nMust be within the 30 days leading up to current date, and must be equal to\nor after start_date.", + "$ref": "Date" } }, "id": "AbsoluteDateRange" }, "AddDealAssociationRequest": { - "description": "A request for associating a deal and a creative.", "type": "object", "properties": { "association": { - "$ref": "CreativeDealAssociation", - "description": "The association between a creative and a deal that should be added." + "description": "The association between a creative and a deal that should be added.", + "$ref": "CreativeDealAssociation" } }, - "id": "AddDealAssociationRequest" + "id": "AddDealAssociationRequest", + "description": "A request for associating a deal and a creative." }, "WatchCreativeRequest": { + "description": "A request for watching changes to creative Status.", + "type": "object", "properties": { "topic": { "type": "string", "description": "The Pub/Sub topic to publish notifications to.\nThis topic must already exist and must give permission to\nad-exchange-buyside-reports@google.com to write to the topic.\nThis should be the full resource name in\n\"projects/{project_id}/topics/{topic_id}\" format." } }, - "id": "WatchCreativeRequest", - "description": "A request for watching changes to creative Status.", - "type": "object" + "id": "WatchCreativeRequest" }, "TimeInterval": { - "description": "An interval of time, with an absolute start and end.\nThis is included in the response, for several reasons:\n1) The request may have specified start or end times relative to the time the\n request was sent; the response indicates the corresponding absolute time\n interval.\n2) The request may have specified an end time past the latest time for which\n data was available (e.g. if requesting data for the today); the response\n indicates the latest time for which data was actually returned.\n3) The response data for a single request may be broken down into multiple\n time intervals, if a time series was requested.", - "type": "object", "properties": { "endTime": { - "description": "The timestamp marking the end of the range (exclusive) for which data is\nincluded.", "format": "google-datetime", + "description": "The timestamp marking the end of the range (exclusive) for which data is\nincluded.", "type": "string" }, "startTime": { - "description": "The timestamp marking the start of the range (inclusive) for which data is\nincluded.", "format": "google-datetime", + "description": "The timestamp marking the start of the range (inclusive) for which data is\nincluded.", "type": "string" } }, - "id": "TimeInterval" + "id": "TimeInterval", + "description": "An interval of time, with an absolute start and end.", + "type": "object" }, "FilteredBidCreativeRow": { "description": "The number of filtered bids with the specified dimension values that have the\nspecified creative.", "type": "object", "properties": { "rowDimensions": { - "description": "The values of all dimensions associated with metric values in this row.", - "$ref": "RowDimensions" + "$ref": "RowDimensions", + "description": "The values of all dimensions associated with metric values in this row." }, "bidCount": { "$ref": "MetricValue", @@ -217,41 +161,32 @@ "id": "FilteredBidCreativeRow" }, "RelativeDateRange": { - "description": "A relative date range, specified by an offset and a duration.\nThe supported range of dates begins 30 days before today and ends today.\nI.e. the limits for these values are:\noffset_days \u003e= 0\nduration_days \u003e= 1\noffset_days + duration_days \u003c= 30", - "type": "object", "properties": { "durationDays": { - "description": "The number of days in the requested date range. E.g. for a range spanning\ntoday, 1. For a range spanning the last 7 days, 7.", "format": "int32", + "description": "The number of days in the requested date range. E.g. for a range spanning\ntoday, 1. For a range spanning the last 7 days, 7.", "type": "integer" }, "offsetDays": { - "description": "The end date of the filter set, specified as the number of days before\ntoday. E.g. for a range where the last date is today, 0.", "format": "int32", + "description": "The end date of the filter set, specified as the number of days before\ntoday. E.g. for a range where the last date is today, 0.", "type": "integer" } }, - "id": "RelativeDateRange" - }, - "ListClientsResponse": { - "type": "object", - "properties": { - "clients": { - "description": "The returned list of clients.", - "type": "array", - "items": { - "$ref": "Client" - } - }, - "nextPageToken": { - "description": "A token to retrieve the next page of results.\nPass this value in the\nListClientsRequest.pageToken\nfield in the subsequent call to the\naccounts.clients.list method\nto retrieve the next page of results.", - "type": "string" - } - }, - "id": "ListClientsResponse" + "id": "RelativeDateRange", + "description": "A relative date range, specified by an offset and a duration.\nThe supported range of dates begins 30 days before today and ends today.\nI.e. the limits for these values are:\noffset_days \u003e= 0\nduration_days \u003e= 1\noffset_days + duration_days \u003c= 30", + "type": "object" }, "NativeContent": { "properties": { + "storeUrl": { + "type": "string", + "description": "The URL to the app store to purchase/download the promoted app." + }, + "headline": { + "description": "A short title for the ad.", + "type": "string" + }, "appIcon": { "$ref": "Image", "description": "The app icon, for app download ads." @@ -265,83 +200,83 @@ "type": "string" }, "starRating": { - "description": "The app rating in the app store. Must be in the range [0-5].", "format": "double", + "description": "The app rating in the app store. Must be in the range [0-5].", "type": "number" }, "videoUrl": { "description": "The URL to fetch a native video ad.", "type": "string" }, - "logo": { - "description": "A smaller image, for the advertiser's logo.", - "$ref": "Image" - }, "clickLinkUrl": { - "description": "The URL that the browser/SDK will load when the user clicks the ad.", - "type": "string" + "type": "string", + "description": "The URL that the browser/SDK will load when the user clicks the ad." + }, + "logo": { + "$ref": "Image", + "description": "A smaller image, for the advertiser's logo." }, "priceDisplayText": { "description": "The price of the promoted app including currency info.", "type": "string" }, - "clickTrackingUrl": { - "description": "The URL to use for click tracking.", - "type": "string" - }, "image": { "$ref": "Image", "description": "A large image." }, + "clickTrackingUrl": { + "description": "The URL to use for click tracking.", + "type": "string" + }, "advertiserName": { "description": "The name of the advertiser or sponsor, to be displayed in the ad creative.", "type": "string" - }, - "storeUrl": { - "description": "The URL to the app store to purchase/download the promoted app.", - "type": "string" - }, - "headline": { - "description": "A short title for the ad.", - "type": "string" } }, "id": "NativeContent", "description": "Native content for a creative.", "type": "object" }, + "ListClientsResponse": { + "type": "object", + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results.\nPass this value in the\nListClientsRequest.pageToken\nfield in the subsequent call to the\naccounts.clients.list method\nto retrieve the next page of results.", + "type": "string" + }, + "clients": { + "description": "The returned list of clients.", + "items": { + "$ref": "Client" + }, + "type": "array" + } + }, + "id": "ListClientsResponse" + }, "ListBidResponsesWithoutBidsResponse": { "description": "Response message for listing all reasons that bid responses were considered\nto have no applicable bids.", "type": "object", "properties": { - "bidResponseWithoutBidsStatusRows": { - "description": "List of rows, with counts of bid responses without bids aggregated by\nstatus.", - "type": "array", - "items": { - "$ref": "BidResponseWithoutBidsStatusRow" - } - }, "nextPageToken": { "description": "A token to retrieve the next page of results.\nPass this value in the\nListBidResponsesWithoutBidsRequest.pageToken\nfield in the subsequent call to the\naccounts.filterSets.bidResponsesWithoutBids.list\nmethod to retrieve the next page of results.", "type": "string" + }, + "bidResponseWithoutBidsStatusRows": { + "description": "List of rows, with counts of bid responses without bids aggregated by\nstatus.", + "items": { + "$ref": "BidResponseWithoutBidsStatusRow" + }, + "type": "array" } }, "id": "ListBidResponsesWithoutBidsResponse" }, "ServingContext": { + "id": "ServingContext", "description": "The serving context for this restriction.", "type": "object", "properties": { - "all": { - "enum": [ - "SIMPLE_CONTEXT" - ], - "description": "Matches all contexts.", - "type": "string", - "enumDescriptions": [ - "A simple context." - ] - }, "appType": { "description": "Matches impressions for a particular app type.", "$ref": "AppContext" @@ -355,32 +290,41 @@ "$ref": "PlatformContext" }, "location": { - "description": "Matches impressions coming from users *or* publishers in a specific\nlocation.", - "$ref": "LocationContext" + "$ref": "LocationContext", + "description": "Matches impressions coming from users *or* publishers in a specific\nlocation." }, "auctionType": { "$ref": "AuctionContext", "description": "Matches impressions for a particular auction type." + }, + "all": { + "type": "string", + "enumDescriptions": [ + "A simple context." + ], + "enum": [ + "SIMPLE_CONTEXT" + ], + "description": "Matches all contexts." } - }, - "id": "ServingContext" + } }, "Image": { "type": "object", "properties": { - "url": { - "description": "The URL of the image.", - "type": "string" - }, "height": { - "description": "Image height in pixels.", "format": "int32", + "description": "Image height in pixels.", "type": "integer" }, "width": { - "description": "Image width in pixels.", "format": "int32", + "description": "Image width in pixels.", "type": "integer" + }, + "url": { + "description": "The URL of the image.", + "type": "string" } }, "id": "Image", @@ -390,16 +334,16 @@ "description": "Response message for listing filter sets.", "type": "object", "properties": { + "filterSets": { + "description": "The filter sets belonging to the buyer.", + "items": { + "$ref": "FilterSet" + }, + "type": "array" + }, "nextPageToken": { "description": "A token to retrieve the next page of results.\nPass this value in the\nListFilterSetsRequest.pageToken\nfield in the subsequent call to the\naccounts.filterSets.list\nmethod to retrieve the next page of results.", "type": "string" - }, - "filterSets": { - "description": "The filter sets belonging to the buyer.", - "type": "array", - "items": { - "$ref": "FilterSet" - } } }, "id": "ListFilterSetsResponse" @@ -408,17 +352,15 @@ "description": "The number of impressions with the specified dimension values that were\nconsidered to have no applicable bids, as described by the specified status.", "type": "object", "properties": { + "rowDimensions": { + "$ref": "RowDimensions", + "description": "The values of all dimensions associated with metric values in this row." + }, "impressionCount": { - "$ref": "MetricValue", - "description": "The number of impressions for which there was a bid response with the\nspecified status." + "description": "The number of impressions for which there was a bid response with the\nspecified status.", + "$ref": "MetricValue" }, "status": { - "enum": [ - "STATUS_UNSPECIFIED", - "RESPONSES_WITHOUT_BIDS", - "RESPONSES_WITHOUT_BIDS_FOR_ACCOUNT", - "RESPONSES_WITHOUT_BIDS_FOR_DEAL" - ], "description": "The status specifying why the bid responses were considered to have no\napplicable bids.", "type": "string", "enumDescriptions": [ @@ -426,66 +368,70 @@ "The response had no bids.", "The response had no bids for the specified account, though it may have\nincluded bids on behalf of other accounts.", "The response had no bids for the specified deal, though it may have\nincluded bids on other deals on behalf of the account to which the deal\nbelongs." + ], + "enum": [ + "STATUS_UNSPECIFIED", + "RESPONSES_WITHOUT_BIDS", + "RESPONSES_WITHOUT_BIDS_FOR_ACCOUNT", + "RESPONSES_WITHOUT_BIDS_FOR_DEAL" ] - }, - "rowDimensions": { - "$ref": "RowDimensions", - "description": "The values of all dimensions associated with metric values in this row." } }, "id": "BidResponseWithoutBidsStatusRow" }, "ClientUserInvitation": { - "id": "ClientUserInvitation", - "description": "An invitation for a new client user to get access to the Ad Exchange\nBuyer UI.\nAll fields are required unless otherwise specified.", - "type": "object", "properties": { - "clientAccountId": { - "description": "Numerical account ID of the client buyer\nthat the invited user is associated with.\nThe value of this field is ignored in create operations.", - "format": "int64", - "type": "string" - }, "invitationId": { - "description": "The unique numerical ID of the invitation that is sent to the user.\nThe value of this field is ignored in create operations.", "format": "int64", + "description": "The unique numerical ID of the invitation that is sent to the user.\nThe value of this field is ignored in create operations.", "type": "string" }, "email": { "description": "The email address to which the invitation is sent. Email\naddresses should be unique among all client users under each sponsor\nbuyer.", "type": "string" + }, + "clientAccountId": { + "format": "int64", + "description": "Numerical account ID of the client buyer\nthat the invited user is associated with.\nThe value of this field is ignored in create operations.", + "type": "string" } - } + }, + "id": "ClientUserInvitation", + "description": "An invitation for a new client user to get access to the Ad Exchange\nBuyer UI.\nAll fields are required unless otherwise specified.", + "type": "object" }, "ListCreativeStatusBreakdownByDetailResponse": { "properties": { - "filteredBidDetailRows": { - "type": "array", - "items": { - "$ref": "FilteredBidDetailRow" - }, - "description": "List of rows, with counts of bids with a given creative status aggregated\nby detail." - }, "nextPageToken": { "description": "A token to retrieve the next page of results.\nPass this value in the\nListCreativeStatusBreakdownByDetailRequest.pageToken\nfield in the subsequent call to the\naccounts.filterSets.filteredBids.details.list\nmethod to retrieve the next page of results.", "type": "string" }, + "filteredBidDetailRows": { + "description": "List of rows, with counts of bids with a given creative status aggregated\nby detail.", + "items": { + "$ref": "FilteredBidDetailRow" + }, + "type": "array" + }, "detailType": { - "description": "The type of detail that the detail IDs represent.", "type": "string", "enumDescriptions": [ "A placeholder for an undefined status.\nThis value will never be returned in responses.", "Indicates that the detail ID refers to a creative attribute; see\n[publisher-excludable-creative-attributes](https://developers.google.com/ad-exchange/rtb/downloads/publisher-excludable-creative-attributes).", "Indicates that the detail ID refers to a vendor; see\n[vendors](https://developers.google.com/ad-exchange/rtb/downloads/vendors).", "Indicates that the detail ID refers to a sensitive category; see\n[ad-sensitive-categories](https://developers.google.com/ad-exchange/rtb/downloads/ad-sensitive-categories).", - "Indicates that the detail ID refers to a product category; see\n[ad-product-categories](https://developers.google.com/ad-exchange/rtb/downloads/ad-product-categories)." + "Indicates that the detail ID refers to a product category; see\n[ad-product-categories](https://developers.google.com/ad-exchange/rtb/downloads/ad-product-categories).", + "Indicates that the detail ID refers to a disapproval reason; see\nDisapprovalReason enum in [snippet-status-report-proto](https://developers.google.com/ad-exchange/rtb/downloads/snippet-status-report-proto)." ], "enum": [ - "TYPE_UNSPECIFIED", + "DETAIL_TYPE_UNSPECIFIED", "CREATIVE_ATTRIBUTE", "VENDOR", "SENSITIVE_CATEGORY", - "PRODUCT_CATEGORY" - ] + "PRODUCT_CATEGORY", + "DISAPPROVAL_REASON" + ], + "description": "The type of detail that the detail IDs represent." } }, "id": "ListCreativeStatusBreakdownByDetailResponse", @@ -501,10 +447,10 @@ }, "users": { "description": "The returned list of client users.", - "type": "array", "items": { "$ref": "ClientUser" - } + }, + "type": "array" } }, "id": "ListClientUsersResponse" @@ -518,10 +464,10 @@ }, "invitations": { "description": "The returned list of client users.", - "type": "array", "items": { "$ref": "ClientUserInvitation" - } + }, + "type": "array" } }, "id": "ListClientUserInvitationsResponse" @@ -532,11 +478,11 @@ "properties": { "geoCriteriaIds": { "description": "IDs representing the geo location for this context.\nPlease refer to the\n[geo-table.csv](https://storage.googleapis.com/adx-rtb-dictionaries/geo-table.csv)\nfile for different geo criteria IDs.", - "type": "array", "items": { "format": "int32", "type": "integer" - } + }, + "type": "array" } }, "id": "LocationContext" @@ -546,7 +492,12 @@ "type": "object", "properties": { "platforms": { - "type": "array", + "enumDescriptions": [ + "Desktop platform.", + "Android platform.", + "iOS platform." + ], + "description": "The platforms this restriction applies to.", "items": { "enum": [ "DESKTOP", @@ -555,12 +506,7 @@ ], "type": "string" }, - "enumDescriptions": [ - "Desktop platform.", - "Android platform.", - "iOS platform." - ], - "description": "The platforms this restriction applies to." + "type": "array" } }, "id": "PlatformContext" @@ -570,27 +516,29 @@ "type": "object", "properties": { "variance": { - "description": "The variance (i.e. square of the standard deviation) of the metric value.\nIf value is exact, variance is 0.\nCan be used to calculate margin of error as a percentage of value, using\nthe following formula, where Z is the standard constant that depends on the\ndesired size of the confidence interval (e.g. for 90% confidence interval,\nuse Z = 1.645):\n\n marginOfError = 100 * Z * sqrt(variance) / value", + "type": "string", "format": "int64", - "type": "string" + "description": "The variance (i.e. square of the standard deviation) of the metric value.\nIf value is exact, variance is 0.\nCan be used to calculate margin of error as a percentage of value, using\nthe following formula, where Z is the standard constant that depends on the\ndesired size of the confidence interval (e.g. for 90% confidence interval,\nuse Z = 1.645):\n\n marginOfError = 100 * Z * sqrt(variance) / value" }, "value": { - "description": "The expected value of the metric.", "format": "int64", + "description": "The expected value of the metric.", "type": "string" } }, "id": "MetricValue" }, "ClientUser": { + "description": "A client user is created under a client buyer and has restricted access to\nthe Ad Exchange Marketplace and certain other sections\nof the Ad Exchange Buyer UI based on the role\ngranted to the associated client buyer.\n\nThe only way a new client user can be created is via accepting an\nemail invitation\n(see the\naccounts.clients.invitations.create\nmethod).\n\nAll fields are required unless otherwise specified.", "type": "object", "properties": { - "clientAccountId": { - "description": "Numerical account ID of the client buyer\nwith which the user is associated; the\nbuyer must be a client of the current sponsor buyer.\nThe value of this field is ignored in an update operation.", - "format": "int64", - "type": "string" - }, "status": { + "enumDescriptions": [ + "A placeholder for an undefined user status.", + "A user who was already created but hasn't accepted the invitation yet.", + "A user that is currently active.", + "A user that is currently disabled." + ], "enum": [ "USER_STATUS_UNSPECIFIED", "PENDING", @@ -598,26 +546,24 @@ "DISABLED" ], "description": "The status of the client user.", - "type": "string", - "enumDescriptions": [ - "A placeholder for an undefined user status.", - "A user who was already created but hasn't accepted the invitation yet.", - "A user that is currently active.", - "A user that is currently disabled." - ] - }, - "userId": { - "type": "string", - "description": "The unique numerical ID of the client user\nthat has accepted an invitation.\nThe value of this field is ignored in an update operation.", - "format": "int64" + "type": "string" }, "email": { - "type": "string", - "description": "User's email address. The value of this field\nis ignored in an update operation." + "description": "User's email address. The value of this field\nis ignored in an update operation.", + "type": "string" + }, + "userId": { + "format": "int64", + "description": "The unique numerical ID of the client user\nthat has accepted an invitation.\nThe value of this field is ignored in an update operation.", + "type": "string" + }, + "clientAccountId": { + "format": "int64", + "description": "Numerical account ID of the client buyer\nwith which the user is associated; the\nbuyer must be a client of the current sponsor buyer.\nThe value of this field is ignored in an update operation.", + "type": "string" } }, - "id": "ClientUser", - "description": "A client user is created under a client buyer and has restricted access to\nthe Ad Exchange Marketplace and certain other sections\nof the Ad Exchange Buyer UI based on the role\ngranted to the associated client buyer.\n\nThe only way a new client user can be created is via accepting an\nemail invitation\n(see the\naccounts.clients.invitations.create\nmethod).\n\nAll fields are required unless otherwise specified." + "id": "ClientUser" }, "CreativeDealAssociation": { "description": "The association between a creative and a deal.", @@ -638,130 +584,45 @@ }, "id": "CreativeDealAssociation" }, - "FilteringStats": { - "description": "@OutputOnly Filtering reasons for this creative during a period of a single\nday (from midnight to midnight Pacific).", - "type": "object", - "properties": { - "reasons": { - "description": "The set of filtering reasons for this date.", - "type": "array", - "items": { - "$ref": "Reason" - } - }, - "date": { - "description": "The day during which the data was collected.\nThe data is collected from 00:00:00 to 23:59:59 PT.\nDuring switches from PST to PDT and back, the day may\ncontain 23 or 25 hours of data instead of the usual 24.", - "$ref": "Date" - } - }, - "id": "FilteringStats" - }, "Creative": { "description": "A creative and its classification data.", "type": "object", "properties": { - "creativeId": { - "description": "The buyer-defined creative ID of this creative.\nCan be used to filter the response of the\ncreatives.list\nmethod.", - "type": "string" - }, - "accountId": { - "description": "The account that this creative belongs to.\nCan be used to filter the response of the\ncreatives.list\nmethod.", - "type": "string" - }, - "native": { - "$ref": "NativeContent", - "description": "A native creative." - }, - "video": { - "description": "A video creative.", - "$ref": "VideoContent" - }, - "servingRestrictions": { - "description": "@OutputOnly The granular status of this ad in specific contexts.\nA context here relates to where something ultimately serves (for example,\na physical location, a platform, an HTTPS vs HTTP request, or the type\nof auction).", - "type": "array", - "items": { - "$ref": "ServingRestriction" - } - }, - "agencyId": { - "description": "The agency ID for this creative.", - "format": "int64", - "type": "string" - }, - "clickThroughUrls": { - "description": "The set of destination URLs for the creative.", - "type": "array", - "items": { - "type": "string" - } - }, - "detectedSensitiveCategories": { - "description": "@OutputOnly Detected sensitive categories, if any.\nSee the ad-sensitive-categories.txt file in the technical documentation for\na list of IDs. You should use these IDs along with the\nexcluded-sensitive-category field in the bid request to filter your bids.", - "type": "array", - "items": { - "format": "int32", - "type": "integer" - } - }, - "adChoicesDestinationUrl": { - "description": "The link to AdChoices destination page.", - "type": "string" - }, - "restrictedCategories": { - "description": "All restricted categories for the ads that may be shown from this creative.", - "type": "array", - "items": { - "enum": [ - "NO_RESTRICTED_CATEGORIES", - "ALCOHOL" - ], - "type": "string" - }, - "enumDescriptions": [ - "The ad has no restricted categories", - "The alcohol restricted category." - ] - }, - "corrections": { - "type": "array", - "items": { - "$ref": "Correction" - }, - "description": "@OutputOnly Shows any corrections that were applied to this creative." - }, - "version": { - "description": "@OutputOnly The version of this creative.", - "format": "int32", - "type": "integer" - }, "vendorIds": { "description": "All vendor IDs for the ads that may be shown from this creative.\nSee https://storage.googleapis.com/adx-rtb-dictionaries/vendors.txt\nfor possible values.", - "type": "array", "items": { "format": "int32", "type": "integer" - } + }, + "type": "array" }, "impressionTrackingUrls": { "description": "The set of URLs to be called to record an impression.", - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, "html": { - "description": "An HTML creative.", - "$ref": "HtmlContent" + "$ref": "HtmlContent", + "description": "An HTML creative." }, "detectedProductCategories": { "description": "@OutputOnly Detected product categories, if any.\nSee the ad-product-categories.txt file in the technical documentation\nfor a list of IDs.", - "type": "array", "items": { "format": "int32", "type": "integer" - } + }, + "type": "array" }, "dealsStatus": { + "enumDescriptions": [ + "The status is unknown.", + "The creative has not been checked.", + "The creative has been conditionally approved.\nSee serving_restrictions for details.", + "The creative has been approved.", + "The creative has been disapproved." + ], "enum": [ "STATUS_UNSPECIFIED", "NOT_CHECKED", @@ -770,16 +631,11 @@ "DISAPPROVED" ], "description": "@OutputOnly The top-level deals status of this creative.\nIf disapproved, an entry for 'auctionType=DIRECT_DEALS' (or 'ALL') in\nserving_restrictions will also exist. Note\nthat this may be nuanced with other contextual restrictions, in which case,\nit may be preferable to read from serving_restrictions directly.\nCan be used to filter the response of the\ncreatives.list\nmethod.", - "type": "string", - "enumDescriptions": [ - "The status is unknown.", - "The creative has not been checked.", - "The creative has been conditionally approved.\nSee serving_restrictions for details.", - "The creative has been approved.", - "The creative has been disapproved." - ] + "type": "string" }, "openAuctionStatus": { + "description": "@OutputOnly The top-level open auction status of this creative.\nIf disapproved, an entry for 'auctionType = OPEN_AUCTION' (or 'ALL') in\nserving_restrictions will also exist. Note\nthat this may be nuanced with other contextual restrictions, in which case,\nit may be preferable to read from serving_restrictions directly.\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "type": "string", "enumDescriptions": [ "The status is unknown.", "The creative has not been checked.", @@ -793,28 +649,26 @@ "CONDITIONALLY_APPROVED", "APPROVED", "DISAPPROVED" - ], - "description": "@OutputOnly The top-level open auction status of this creative.\nIf disapproved, an entry for 'auctionType = OPEN_AUCTION' (or 'ALL') in\nserving_restrictions will also exist. Note\nthat this may be nuanced with other contextual restrictions, in which case,\nit may be preferable to read from serving_restrictions directly.\nCan be used to filter the response of the\ncreatives.list\nmethod.", - "type": "string" + ] }, "advertiserName": { "description": "The name of the company being advertised in the creative.", "type": "string" }, + "detectedDomains": { + "description": "@OutputOnly\nThe detected domains for this creative.", + "items": { + "type": "string" + }, + "type": "array" + }, "detectedAdvertiserIds": { "description": "@OutputOnly Detected advertiser IDs, if any.", - "type": "array", "items": { "format": "int64", "type": "string" - } - }, - "detectedDomains": { - "description": "@OutputOnly\nThe detected domains for this creative.", - "type": "array", - "items": { - "type": "string" - } + }, + "type": "array" }, "filteringStats": { "$ref": "FilteringStats", @@ -822,8 +676,8 @@ }, "attributes": { "description": "All attributes for the ads that may be shown from this creative.\nCan be used to filter the response of the\ncreatives.list\nmethod.", - "type": "array", "items": { + "type": "string", "enum": [ "ATTRIBUTE_UNSPECIFIED", "IS_TAGGED", @@ -849,9 +703,9 @@ "NATIVE_ELIGIBILITY_ELIGIBLE", "NATIVE_ELIGIBILITY_NOT_ELIGIBLE", "RENDERING_SIZELESS_ADX" - ], - "type": "string" + ] }, + "type": "array", "enumDescriptions": [ "Do not use. This is a placeholder value only.", "The creative is tagged.", @@ -880,20 +734,112 @@ ] }, "apiUpdateTime": { - "description": "@OutputOnly The last update timestamp of the creative via API.", + "type": "string", "format": "google-datetime", - "type": "string" + "description": "@OutputOnly The last update timestamp of the creative via API." }, "detectedLanguages": { "description": "@OutputOnly\nThe detected languages for this creative. The order is arbitrary. The codes\nare 2 or 5 characters and are documented at\nhttps://developers.google.com/adwords/api/docs/appendix/languagecodes.", - "type": "array", "items": { "type": "string" - } + }, + "type": "array" + }, + "creativeId": { + "description": "The buyer-defined creative ID of this creative.\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "type": "string" + }, + "accountId": { + "description": "The account that this creative belongs to.\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "type": "string" + }, + "native": { + "$ref": "NativeContent", + "description": "A native creative." + }, + "video": { + "$ref": "VideoContent", + "description": "A video creative." + }, + "servingRestrictions": { + "description": "@OutputOnly The granular status of this ad in specific contexts.\nA context here relates to where something ultimately serves (for example,\na physical location, a platform, an HTTPS vs HTTP request, or the type\nof auction).", + "items": { + "$ref": "ServingRestriction" + }, + "type": "array" + }, + "agencyId": { + "format": "int64", + "description": "The agency ID for this creative.", + "type": "string" + }, + "clickThroughUrls": { + "items": { + "type": "string" + }, + "type": "array", + "description": "The set of destination URLs for the creative." + }, + "adChoicesDestinationUrl": { + "description": "The link to AdChoices destination page.", + "type": "string" + }, + "detectedSensitiveCategories": { + "description": "@OutputOnly Detected sensitive categories, if any.\nSee the ad-sensitive-categories.txt file in the technical documentation for\na list of IDs. You should use these IDs along with the\nexcluded-sensitive-category field in the bid request to filter your bids.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "restrictedCategories": { + "description": "All restricted categories for the ads that may be shown from this creative.", + "items": { + "enum": [ + "NO_RESTRICTED_CATEGORIES", + "ALCOHOL" + ], + "type": "string" + }, + "type": "array", + "enumDescriptions": [ + "The ad has no restricted categories", + "The alcohol restricted category." + ] + }, + "corrections": { + "description": "@OutputOnly Shows any corrections that were applied to this creative.", + "items": { + "$ref": "Correction" + }, + "type": "array" + }, + "version": { + "format": "int32", + "description": "@OutputOnly The version of this creative.", + "type": "integer" } }, "id": "Creative" }, + "FilteringStats": { + "description": "@OutputOnly Filtering reasons for this creative during a period of a single\nday (from midnight to midnight Pacific).", + "type": "object", + "properties": { + "reasons": { + "description": "The set of filtering reasons for this date.", + "items": { + "$ref": "Reason" + }, + "type": "array" + }, + "date": { + "description": "The day during which the data was collected.\nThe data is collected from 00:00:00 to 23:59:59 PT.\nDuring switches from PST to PDT and back, the day may\ncontain 23 or 25 hours of data instead of the usual 24.", + "$ref": "Date" + } + }, + "id": "FilteringStats" + }, "RemoveDealAssociationRequest": { "description": "A request for removing the association between a deal and a creative.", "type": "object", @@ -905,10 +851,51 @@ }, "id": "RemoveDealAssociationRequest" }, + "ListCreativeStatusBreakdownByCreativeResponse": { + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results.\nPass this value in the\nListCreativeStatusBreakdownByCreativeRequest.pageToken\nfield in the subsequent call to the\naccounts.filterSets.filteredBids.creatives.list\nmethod to retrieve the next page of results.", + "type": "string" + }, + "filteredBidCreativeRows": { + "description": "List of rows, with counts of bids with a given creative status aggregated\nby creative.", + "items": { + "$ref": "FilteredBidCreativeRow" + }, + "type": "array" + } + }, + "id": "ListCreativeStatusBreakdownByCreativeResponse", + "description": "Response message for listing all creatives associated with a given filtered\nbid reason.", + "type": "object" + }, "Client": { "description": "A client resource represents a client buyer—an agency,\na brand, or an advertiser customer of the sponsor buyer.\nUsers associated with the client buyer have restricted access to\nthe Ad Exchange Marketplace and certain other sections\nof the Ad Exchange Buyer UI based on the role\ngranted to the client buyer.\nAll fields are required unless otherwise specified.", "type": "object", "properties": { + "clientAccountId": { + "format": "int64", + "description": "The globally-unique numerical ID of the client.\nThe value of this field is ignored in create and update operations.", + "type": "string" + }, + "entityName": { + "type": "string", + "description": "The name of the entity. This field is automatically fetched based on\nthe type and ID.\nThe value of this field is ignored in create and update operations." + }, + "status": { + "enumDescriptions": [ + "A placeholder for an undefined client status.", + "A client that is currently disabled.", + "A client that is currently active." + ], + "enum": [ + "CLIENT_STATUS_UNSPECIFIED", + "DISABLED", + "ACTIVE" + ], + "description": "The status of the client buyer.", + "type": "string" + }, "entityType": { "enum": [ "ENTITY_TYPE_UNSPECIFIED", @@ -930,12 +917,6 @@ "type": "string" }, "role": { - "enumDescriptions": [ - "A placeholder for an undefined client role.", - "Users associated with this client can see publisher deal offers\nin the Marketplace.\nThey can neither negotiate proposals nor approve deals.\nIf this client is visible to publishers, they can send deal proposals\nto this client.", - "Users associated with this client can respond to deal proposals\nsent to them by publishers. They can also initiate deal proposals\nof their own.", - "Users associated with this client can approve eligible deals\non your behalf. Some deals may still explicitly require publisher\nfinalization. If this role is not selected, the sponsor buyer\nwill need to manually approve each of their deals." - ], "enum": [ "CLIENT_ROLE_UNSPECIFIED", "CLIENT_DEAL_VIEWER", @@ -943,73 +924,44 @@ "CLIENT_DEAL_APPROVER" ], "description": "The role which is assigned to the client buyer. Each role implies a set of\npermissions granted to the client. Must be one of `CLIENT_DEAL_VIEWER`,\n`CLIENT_DEAL_NEGOTIATOR` or `CLIENT_DEAL_APPROVER`.", - "type": "string" + "type": "string", + "enumDescriptions": [ + "A placeholder for an undefined client role.", + "Users associated with this client can see publisher deal offers\nin the Marketplace.\nThey can neither negotiate proposals nor approve deals.\nIf this client is visible to publishers, they can send deal proposals\nto this client.", + "Users associated with this client can respond to deal proposals\nsent to them by publishers. They can also initiate deal proposals\nof their own.", + "Users associated with this client can approve eligible deals\non your behalf. Some deals may still explicitly require publisher\nfinalization. If this role is not selected, the sponsor buyer\nwill need to manually approve each of their deals." + ] }, "visibleToSeller": { "description": "Whether the client buyer will be visible to sellers.", "type": "boolean" }, "entityId": { + "format": "int64", "description": "Numerical identifier of the client entity.\nThe entity can be an advertiser, a brand, or an agency.\nThis identifier is unique among all the entities with the same type.\n\nA list of all known advertisers with their identifiers is available in the\n[advertisers.txt](https://storage.googleapis.com/adx-rtb-dictionaries/advertisers.txt)\nfile.\n\nA list of all known brands with their identifiers is available in the\n[brands.txt](https://storage.googleapis.com/adx-rtb-dictionaries/brands.txt)\nfile.\n\nA list of all known agencies with their identifiers is available in the\n[agencies.txt](https://storage.googleapis.com/adx-rtb-dictionaries/agencies.txt)\nfile.", - "format": "int64", "type": "string" - }, - "clientAccountId": { - "description": "The globally-unique numerical ID of the client.\nThe value of this field is ignored in create and update operations.", - "format": "int64", - "type": "string" - }, - "entityName": { - "description": "The name of the entity. This field is automatically fetched based on\nthe type and ID.\nThe value of this field is ignored in create and update operations.", - "type": "string" - }, - "status": { - "enum": [ - "CLIENT_STATUS_UNSPECIFIED", - "DISABLED", - "ACTIVE" - ], - "description": "The status of the client buyer.", - "type": "string", - "enumDescriptions": [ - "A placeholder for an undefined client status.", - "A client that is currently disabled.", - "A client that is currently active." - ] } }, "id": "Client" }, - "ListCreativeStatusBreakdownByCreativeResponse": { - "type": "object", - "properties": { - "nextPageToken": { - "description": "A token to retrieve the next page of results.\nPass this value in the\nListCreativeStatusBreakdownByCreativeRequest.pageToken\nfield in the subsequent call to the\naccounts.filterSets.filteredBids.creatives.list\nmethod to retrieve the next page of results.", - "type": "string" - }, - "filteredBidCreativeRows": { - "description": "List of rows, with counts of bids with a given creative status aggregated\nby creative.", - "type": "array", - "items": { - "$ref": "FilteredBidCreativeRow" - } - } - }, - "id": "ListCreativeStatusBreakdownByCreativeResponse", - "description": "Response message for listing all creatives associated with a given filtered\nbid reason." - }, "Correction": { - "description": "@OutputOnly Shows any corrections that were applied to this creative.", "type": "object", "properties": { - "details": { - "description": "Additional details about what was corrected.", - "type": "array", - "items": { - "type": "string" - } - }, "type": { + "enum": [ + "CORRECTION_TYPE_UNSPECIFIED", + "VENDOR_IDS_ADDED", + "SSL_ATTRIBUTE_REMOVED", + "FLASH_FREE_ATTRIBUTE_REMOVED", + "FLASH_FREE_ATTRIBUTE_ADDED", + "REQUIRED_ATTRIBUTE_ADDED", + "REQUIRED_VENDOR_ADDED", + "SSL_ATTRIBUTE_ADDED", + "IN_BANNER_VIDEO_ATTRIBUTE_ADDED", + "MRAID_ATTRIBUTE_ADDED", + "FLASH_ATTRIBUTE_REMOVED", + "VIDEO_IN_SNIPPET_ATTRIBUTE_ADDED" + ], "description": "The type of correction that was applied to the creative.", "type": "string", "enumDescriptions": [ @@ -1025,43 +977,45 @@ "The ad makes calls to the MRAID API so the MRAID attribute was added.", "The ad unnecessarily declared the Flash attribute, so the Flash attribute\nwas removed.", "The ad contains video content." - ], - "enum": [ - "CORRECTION_TYPE_UNSPECIFIED", - "VENDOR_IDS_ADDED", - "SSL_ATTRIBUTE_REMOVED", - "FLASH_FREE_ATTRIBUTE_REMOVED", - "FLASH_FREE_ATTRIBUTE_ADDED", - "REQUIRED_ATTRIBUTE_ADDED", - "REQUIRED_VENDOR_ADDED", - "SSL_ATTRIBUTE_ADDED", - "IN_BANNER_VIDEO_ATTRIBUTE_ADDED", - "MRAID_ATTRIBUTE_ADDED", - "FLASH_ATTRIBUTE_REMOVED", - "VIDEO_IN_SNIPPET_ATTRIBUTE_ADDED" ] }, "contexts": { "description": "The contexts for the correction.", - "type": "array", "items": { "$ref": "ServingContext" - } + }, + "type": "array" + }, + "details": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Additional details about what was corrected." } }, - "id": "Correction" + "id": "Correction", + "description": "@OutputOnly Shows any corrections that were applied to this creative." }, "FilterSet": { "description": "A set of filters that is applied to a request for data.\nWithin a filter set, an AND operation is performed across the filters\nrepresented by each field. An OR operation is performed across the filters\nrepresented by the multiple values of a repeated field. E.g.\n\"format=VIDEO AND deal_id=12 AND (seller_network_id=34 OR\nseller_network_id=56)\"", "type": "object", "properties": { - "dealId": { - "description": "The ID of the deal on which to filter; optional.", - "format": "int64", - "type": "string" + "environment": { + "description": "The environment on which to filter; optional.", + "type": "string", + "enumDescriptions": [ + "A placeholder for an undefined environment; indicates that no environment\nfilter will be applied.", + "The ad impression appears on the web.", + "The ad impression appears in an app." + ], + "enum": [ + "ENVIRONMENT_UNSPECIFIED", + "WEB", + "APP" + ] }, "format": { - "description": "The format on which to filter; optional.", "type": "string", "enumDescriptions": [ "A placeholder for an undefined format; indicates that no format filter\nwill be applied.", @@ -1072,7 +1026,13 @@ "FORMAT_UNSPECIFIED", "DISPLAY", "VIDEO" - ] + ], + "description": "The format on which to filter; optional." + }, + "dealId": { + "format": "int64", + "description": "The ID of the deal on which to filter; optional.", + "type": "string" }, "timeSeriesGranularity": { "description": "The granularity of time intervals if a time series breakdown is desired;\noptional.", @@ -1083,15 +1043,15 @@ "Indicates that data will be broken down by the day." ], "enum": [ - "INTERVAL_UNSPECIFIED", + "TIME_SERIES_GRANULARITY_UNSPECIFIED", "HOURLY", "DAILY" ] }, "filterSetId": { - "description": "The ID of the filter set; unique within the account of the filter set\nowner.\nThe value of this field is ignored in create operations.", + "type": "string", "format": "int64", - "type": "string" + "description": "The ID of the filter set; unique within the account of the filter set\nowner.\nThe value of this field is ignored in create operations." }, "realtimeTimeRange": { "description": "An open-ended realtime time range, defined by the aggregation start\ntimestamp.", @@ -1102,12 +1062,11 @@ "type": "string" }, "relativeDateRange": { - "description": "A relative date range, defined by an offset from today and a duration.\nInterpreted relative to Pacific time zone.", - "$ref": "RelativeDateRange" + "$ref": "RelativeDateRange", + "description": "A relative date range, defined by an offset from today and a duration.\nInterpreted relative to Pacific time zone." }, "platforms": { "description": "The list of platforms on which to filter; may be empty. The filters\nrepresented by multiple platforms are ORed together (i.e. if non-empty,\nresults must match any one of the platforms).", - "type": "array", "items": { "type": "string", "enum": [ @@ -1117,6 +1076,7 @@ "MOBILE" ] }, + "type": "array", "enumDescriptions": [ "A placeholder for an undefined platform; indicates that no platform\nfilter will be applied.", "The ad impression appears on a desktop.", @@ -1126,67 +1086,54 @@ }, "sellerNetworkIds": { "description": "The list of IDs of the seller (publisher) networks on which to filter;\nmay be empty. The filters represented by multiple seller network IDs are\nORed together (i.e. if non-empty, results must match any one of the\npublisher networks).\nSee [seller-network-ids](https://developers.google.com/ad-exchange/rtb/downloads/seller-network-ids)\nfile for the set of existing seller network IDs.", - "type": "array", "items": { "format": "int32", "type": "integer" - } + }, + "type": "array" }, "ownerAccountId": { + "format": "int64", "description": "The account ID of the buyer who owns this filter set.\nThe value of this field is ignored in create operations.", - "format": "int64", - "type": "string" - }, - "buyerAccountId": { - "description": "The ID of the buyer account on which to filter; optional.", - "format": "int64", "type": "string" }, "absoluteDateRange": { "$ref": "AbsoluteDateRange", "description": "An absolute date range, defined by a start date and an end date.\nInterpreted relative to Pacific time zone." }, - "environment": { - "enum": [ - "ENVIRONMENT_UNSPECIFIED", - "WEB", - "APP" - ], - "description": "The environment on which to filter; optional.", - "type": "string", - "enumDescriptions": [ - "A placeholder for an undefined environment; indicates that no environment\nfilter will be applied.", - "The ad impression appears on the web.", - "The ad impression appears in an app." - ] + "buyerAccountId": { + "format": "int64", + "description": "The ID of the buyer account on which to filter; optional.", + "type": "string" } }, "id": "FilterSet" }, "ListDealAssociationsResponse": { + "description": "A response for listing creative and deal associations", + "type": "object", "properties": { "nextPageToken": { "description": "A token to retrieve the next page of results.\nPass this value in the\nListDealAssociationsRequest.page_token\nfield in the subsequent call to 'ListDealAssociation' method to retrieve\nthe next page of results.", "type": "string" }, "associations": { - "description": "The list of associations.", - "type": "array", "items": { "$ref": "CreativeDealAssociation" - } + }, + "type": "array", + "description": "The list of associations." } }, - "id": "ListDealAssociationsResponse", - "description": "A response for listing creative and deal associations", - "type": "object" + "id": "ListDealAssociationsResponse" }, "CalloutStatusRow": { + "description": "The number of impressions with the specified dimension values where the\ncorresponding bid request or bid response was not successful, as described by\nthe specified callout status.", "type": "object", "properties": { "calloutStatusId": { - "description": "The ID of the callout status.\nSee [callout-status-codes](https://developers.google.com/ad-exchange/rtb/downloads/callout-status-codes).", "format": "int32", + "description": "The ID of the callout status.\nSee [callout-status-codes](https://developers.google.com/ad-exchange/rtb/downloads/callout-status-codes).", "type": "integer" }, "impressionCount": { @@ -1198,21 +1145,28 @@ "description": "The values of all dimensions associated with metric values in this row." } }, - "id": "CalloutStatusRow", - "description": "The number of impressions with the specified dimension values where the\ncorresponding bid request or bid response was not successful, as described by\nthe specified callout status." + "id": "CalloutStatusRow" + }, + "StopWatchingCreativeRequest": { + "properties": {}, + "id": "StopWatchingCreativeRequest", + "description": "A request for stopping notifications for changes to creative Status.", + "type": "object" }, "Disapproval": { + "id": "Disapproval", "description": "@OutputOnly The reason and details for a disapproval.", "type": "object", "properties": { "details": { "description": "Additional details about the reason for disapproval.", - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, "reason": { + "description": "The categorized reason for disapproval.", "type": "string", "enumDescriptions": [ "The length of the image animation is longer than allowed.", @@ -1405,22 +1359,17 @@ "MAXIMUM_NUMBER_OF_COOKIES_EXCEEDED", "PERSONAL_LOANS", "UNSUPPORTED_FLASH_CONTENT" - ], - "description": "The categorized reason for disapproval." + ] } - }, - "id": "Disapproval" - }, - "StopWatchingCreativeRequest": { - "description": "A request for stopping notifications for changes to creative Status.", - "type": "object", - "properties": {}, - "id": "StopWatchingCreativeRequest" + } }, "ServingRestriction": { + "description": "@OutputOnly A representation of the status of an ad in a\nspecific context. A context here relates to where something ultimately serves\n(for example, a user or publisher geo, a platform, an HTTPS vs HTTP request,\nor the type of auction).", "type": "object", "properties": { "status": { + "description": "The status of the creative in this context (for example, it has been\nexplicitly disapproved or is pending review).", + "type": "string", "enumDescriptions": [ "The status is not known.", "The ad was disapproved in this context.", @@ -1430,49 +1379,46 @@ "STATUS_UNSPECIFIED", "DISAPPROVAL", "PENDING_REVIEW" - ], - "description": "The status of the creative in this context (for example, it has been\nexplicitly disapproved or is pending review).", - "type": "string" + ] }, "disapprovalReasons": { "description": "Any disapprovals bound to this restriction.\nOnly present if status=DISAPPROVED.\nCan be used to filter the response of the\ncreatives.list\nmethod.", - "type": "array", "items": { "$ref": "Disapproval" - } + }, + "type": "array" }, "contexts": { "description": "The contexts for the restriction.", - "type": "array", "items": { "$ref": "ServingContext" - } + }, + "type": "array" } }, - "id": "ServingRestriction", - "description": "@OutputOnly A representation of the status of an ad in a\nspecific context. A context here relates to where something ultimately serves\n(for example, a user or publisher geo, a platform, an HTTPS vs HTTP request,\nor the type of auction)." + "id": "ServingRestriction" }, "Date": { + "id": "Date", "description": "Represents a whole calendar date, e.g. date of birth. The time of day and\ntime zone are either specified elsewhere or are not significant. The date\nis relative to the Proleptic Gregorian Calendar. The day may be 0 to\nrepresent a year and month where the day is not significant, e.g. credit card\nexpiration date. The year may be 0 to represent a month and day independent\nof year, e.g. anniversary date. Related types are google.type.TimeOfDay\nand `google.protobuf.Timestamp`.", "type": "object", "properties": { - "year": { - "description": "Year of date. Must be from 1 to 9999, or 0 if specifying a date without\na year.", + "day": { "format": "int32", + "description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0\nif specifying a year/month where the day is not significant.", "type": "integer" }, - "day": { - "type": "integer", - "description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0\nif specifying a year/month where the day is not significant.", - "format": "int32" + "year": { + "format": "int32", + "description": "Year of date. Must be from 1 to 9999, or 0 if specifying a date without\na year.", + "type": "integer" }, "month": { - "description": "Month of year. Must be from 1 to 12.", "format": "int32", + "description": "Month of year. Must be from 1 to 12.", "type": "integer" } - }, - "id": "Date" + } }, "RowDimensions": { "description": "A response may include multiple rows, breaking down along various dimensions.\nEncapsulates the values of all dimensions for a given row.", @@ -1491,81 +1437,45 @@ "properties": {}, "id": "Empty" }, - "ListCreativeStatusAndCreativeBreakdownByDetailResponse": { - "description": "Response message for listing all details associated with a given filtered bid\nreason and a given creative.", - "type": "object", - "properties": { - "filteredBidDetailRows": { - "description": "List of rows, with counts of bids with a given creative status and\ncreative, aggregated by detail.", - "type": "array", - "items": { - "$ref": "FilteredBidDetailRow" - } - }, - "nextPageToken": { - "description": "A token to retrieve the next page of results.\nPass this value in the\nListCreativeStatusAndCreativeBreakdownByDetailRequest.pageToken\nfield in the subsequent call to the\naccounts.filterSets.filteredBids.creatives.details.list\nmethod to retrieve the next page of results.", - "type": "string" - }, - "detailType": { - "description": "The type of detail that the detail IDs represent.", - "type": "string", - "enumDescriptions": [ - "A placeholder for an undefined status.\nThis value will never be returned in responses.", - "Indicates that the detail ID refers to a creative attribute; see\n[publisher-excludable-creative-attributes](https://developers.google.com/ad-exchange/rtb/downloads/publisher-excludable-creative-attributes).", - "Indicates that the detail ID refers to a vendor; see\n[vendors](https://developers.google.com/ad-exchange/rtb/downloads/vendors).", - "Indicates that the detail ID refers to a sensitive category; see\n[ad-sensitive-categories](https://developers.google.com/ad-exchange/rtb/downloads/ad-sensitive-categories).", - "Indicates that the detail ID refers to a product category; see\n[ad-product-categories](https://developers.google.com/ad-exchange/rtb/downloads/ad-product-categories)." - ], - "enum": [ - "TYPE_UNSPECIFIED", - "CREATIVE_ATTRIBUTE", - "VENDOR", - "SENSITIVE_CATEGORY", - "PRODUCT_CATEGORY" - ] - } - }, - "id": "ListCreativeStatusAndCreativeBreakdownByDetailResponse" - }, "AppContext": { - "id": "AppContext", "description": "@OutputOnly The app type the restriction applies to for mobile device.", "type": "object", "properties": { "appTypes": { - "description": "The app types this restriction applies to.", - "type": "array", - "items": { - "enum": [ - "NATIVE", - "WEB" - ], - "type": "string" - }, "enumDescriptions": [ "Native app context.", "Mobile web app context." - ] + ], + "description": "The app types this restriction applies to.", + "items": { + "type": "string", + "enum": [ + "NATIVE", + "WEB" + ] + }, + "type": "array" } - } + }, + "id": "AppContext" }, "ListFilteredBidsResponse": { + "description": "Response message for listing all reasons that bids were filtered from the\nauction.", + "type": "object", "properties": { - "creativeStatusRows": { - "description": "List of rows, with counts of filtered bids aggregated by filtering reason\n(i.e. creative status).", - "type": "array", - "items": { - "$ref": "CreativeStatusRow" - } - }, "nextPageToken": { "description": "A token to retrieve the next page of results.\nPass this value in the\nListFilteredBidsRequest.pageToken\nfield in the subsequent call to the\naccounts.filterSets.filteredBids.list\nmethod to retrieve the next page of results.", "type": "string" + }, + "creativeStatusRows": { + "description": "List of rows, with counts of filtered bids aggregated by filtering reason\n(i.e. creative status).", + "items": { + "$ref": "CreativeStatusRow" + }, + "type": "array" } }, - "id": "ListFilteredBidsResponse", - "description": "Response message for listing all reasons that bids were filtered from the\nauction.", - "type": "object" + "id": "ListFilteredBidsResponse" }, "SecurityContext": { "description": "@OutputOnly A security context.", @@ -1573,14 +1483,14 @@ "properties": { "securities": { "description": "The security types in this context.", - "type": "array", "items": { - "type": "string", "enum": [ "INSECURE", "SSL" - ] + ], + "type": "string" }, + "type": "array", "enumDescriptions": [ "Matches impressions that require insecure compatibility.", "Matches impressions that require SSL compatibility." @@ -1589,16 +1499,55 @@ }, "id": "SecurityContext" }, + "ListCreativesResponse": { + "properties": { + "creatives": { + "description": "The list of creatives.", + "items": { + "$ref": "Creative" + }, + "type": "array" + }, + "nextPageToken": { + "type": "string", + "description": "A token to retrieve the next page of results.\nPass this value in the\nListCreativesRequest.page_token\nfield in the subsequent call to `ListCreatives` method to retrieve the next\npage of results." + } + }, + "id": "ListCreativesResponse", + "description": "A response for listing creatives.", + "type": "object" + }, + "HtmlContent": { + "description": "HTML content for a creative.", + "type": "object", + "properties": { + "width": { + "format": "int32", + "description": "The width of the HTML snippet in pixels.", + "type": "integer" + }, + "snippet": { + "description": "The HTML snippet that displays the ad when inserted in the web page.", + "type": "string" + }, + "height": { + "format": "int32", + "description": "The height of the HTML snippet in pixels.", + "type": "integer" + } + }, + "id": "HtmlContent" + }, "ListFilteredBidRequestsResponse": { "description": "Response message for listing all reasons that bid requests were filtered and\nnot sent to the buyer.", "type": "object", "properties": { "calloutStatusRows": { "description": "List of rows, with counts of filtered bid requests aggregated by callout\nstatus.", - "type": "array", "items": { "$ref": "CalloutStatusRow" - } + }, + "type": "array" }, "nextPageToken": { "description": "A token to retrieve the next page of results.\nPass this value in the\nListFilteredBidRequestsRequest.pageToken\nfield in the subsequent call to the\naccounts.filterSets.filteredBidRequests.list\nmethod to retrieve the next page of results.", @@ -1607,98 +1556,41 @@ }, "id": "ListFilteredBidRequestsResponse" }, - "ListCreativesResponse": { - "description": "A response for listing creatives.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "A token to retrieve the next page of results.\nPass this value in the\nListCreativesRequest.page_token\nfield in the subsequent call to `ListCreatives` method to retrieve the next\npage of results.", - "type": "string" - }, - "creatives": { - "description": "The list of creatives.", - "type": "array", - "items": { - "$ref": "Creative" - } - } - }, - "id": "ListCreativesResponse" - }, - "HtmlContent": { - "description": "HTML content for a creative.", - "type": "object", - "properties": { - "height": { - "description": "The height of the HTML snippet in pixels.", - "format": "int32", - "type": "integer" - }, - "width": { - "description": "The width of the HTML snippet in pixels.", - "format": "int32", - "type": "integer" - }, - "snippet": { - "type": "string", - "description": "The HTML snippet that displays the ad when inserted in the web page." - } - }, - "id": "HtmlContent" - }, "ListBidMetricsResponse": { + "id": "ListBidMetricsResponse", "description": "Response message for listing the metrics that are measured in number of bids.", "type": "object", "properties": { "bidMetricsRows": { - "type": "array", + "description": "List of rows, each containing a set of bid metrics.", "items": { "$ref": "BidMetricsRow" }, - "description": "List of rows, each containing a set of bid metrics." + "type": "array" }, "nextPageToken": { "description": "A token to retrieve the next page of results.\nPass this value in the\nListBidMetricsRequest.pageToken\nfield in the subsequent call to the\naccounts.filterSets.bidMetrics.list\nmethod to retrieve the next page of results.", "type": "string" } - }, - "id": "ListBidMetricsResponse" + } }, "Reason": { "description": "A specific filtering status and how many times it occurred.", "type": "object", "properties": { "status": { - "description": "The filtering status code. Please refer to the\n[creative-status-codes.txt](https://storage.googleapis.com/adx-rtb-dictionaries/creative-status-codes.txt)\nfile for different statuses.", "format": "int32", + "description": "The filtering status code. Please refer to the\n[creative-status-codes.txt](https://storage.googleapis.com/adx-rtb-dictionaries/creative-status-codes.txt)\nfile for different statuses.", "type": "integer" }, "count": { - "description": "The number of times the creative was filtered for the status. The\ncount is aggregated across all publishers on the exchange.", "format": "int64", + "description": "The number of times the creative was filtered for the status. The\ncount is aggregated across all publishers on the exchange.", "type": "string" } }, "id": "Reason" }, - "ListLosingBidsResponse": { - "description": "Response message for listing all reasons that bids lost in the auction.", - "type": "object", - "properties": { - "creativeStatusRows": { - "description": "List of rows, with counts of losing bids aggregated by loss reason (i.e.\ncreative status).", - "type": "array", - "items": { - "$ref": "CreativeStatusRow" - } - }, - "nextPageToken": { - "description": "A token to retrieve the next page of results.\nPass this value in the\nListLosingBidsRequest.pageToken\nfield in the subsequent call to the\naccounts.filterSets.losingBids.list\nmethod to retrieve the next page of results.", - "type": "string" - } - }, - "id": "ListLosingBidsResponse" - }, "VideoContent": { "properties": { "videoUrl": { @@ -1710,16 +1602,34 @@ "description": "Video content for a creative.", "type": "object" }, + "ListLosingBidsResponse": { + "id": "ListLosingBidsResponse", + "description": "Response message for listing all reasons that bids lost in the auction.", + "type": "object", + "properties": { + "creativeStatusRows": { + "items": { + "$ref": "CreativeStatusRow" + }, + "type": "array", + "description": "List of rows, with counts of losing bids aggregated by loss reason (i.e.\ncreative status)." + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results.\nPass this value in the\nListLosingBidsRequest.pageToken\nfield in the subsequent call to the\naccounts.filterSets.losingBids.list\nmethod to retrieve the next page of results.", + "type": "string" + } + } + }, "ListNonBillableWinningBidsResponse": { "description": "Response message for listing all reasons for which a buyer was not billed for\na winning bid.", "type": "object", "properties": { "nonBillableWinningBidStatusRows": { "description": "List of rows, with counts of bids not billed aggregated by reason.", - "type": "array", "items": { "$ref": "NonBillableWinningBidStatusRow" - } + }, + "type": "array" }, "nextPageToken": { "description": "A token to retrieve the next page of results.\nPass this value in the\nListNonBillableWinningBidsRequest.pageToken\nfield in the subsequent call to the\naccounts.filterSets.nonBillableWinningBids.list\nmethod to retrieve the next page of results.", @@ -1729,25 +1639,24 @@ "id": "ListNonBillableWinningBidsResponse" }, "ImpressionMetricsRow": { - "description": "The set of metrics that are measured in numbers of impressions, representing\nhow many impressions with the specified dimension values were considered\neligible at each stage of the bidding funnel.", "type": "object", "properties": { "rowDimensions": { - "description": "The values of all dimensions associated with metric values in this row.", - "$ref": "RowDimensions" + "$ref": "RowDimensions", + "description": "The values of all dimensions associated with metric values in this row." }, "availableImpressions": { "$ref": "MetricValue", "description": "The number of impressions available to the buyer on Ad Exchange.\nIn some cases this value may be unavailable." }, + "inventoryMatches": { + "description": "The number of impressions that match the buyer's inventory pretargeting.", + "$ref": "MetricValue" + }, "bidRequests": { "description": "The number of impressions for which Ad Exchange sent the buyer a bid\nrequest.", "$ref": "MetricValue" }, - "inventoryMatches": { - "$ref": "MetricValue", - "description": "The number of impressions that match the buyer's inventory pretargeting." - }, "responsesWithBids": { "$ref": "MetricValue", "description": "The number of impressions for which Ad Exchange received a response from\nthe buyer that contained at least one applicable bid." @@ -1757,52 +1666,106 @@ "description": "The number of impressions for which the buyer successfully sent a response\nto Ad Exchange." } }, - "id": "ImpressionMetricsRow" + "id": "ImpressionMetricsRow", + "description": "The set of metrics that are measured in numbers of impressions, representing\nhow many impressions with the specified dimension values were considered\neligible at each stage of the bidding funnel." }, "AuctionContext": { - "description": "@OutputOnly The auction type the restriction applies to.", - "type": "object", "properties": { "auctionTypes": { - "enumDescriptions": [ - "The restriction applies to open auction.", - "The restriction applies to direct deals." - ], "description": "The auction types this restriction applies to.", - "type": "array", "items": { - "type": "string", "enum": [ "OPEN_AUCTION", "DIRECT_DEALS" - ] - } + ], + "type": "string" + }, + "type": "array", + "enumDescriptions": [ + "The restriction applies to open auction.", + "The restriction applies to direct deals." + ] } }, - "id": "AuctionContext" + "id": "AuctionContext", + "description": "@OutputOnly The auction type the restriction applies to.", + "type": "object" }, "ListImpressionMetricsResponse": { - "id": "ListImpressionMetricsResponse", "description": "Response message for listing the metrics that are measured in number of\nimpressions.", "type": "object", "properties": { "impressionMetricsRows": { "description": "List of rows, each containing a set of impression metrics.", - "type": "array", "items": { "$ref": "ImpressionMetricsRow" - } + }, + "type": "array" }, "nextPageToken": { "description": "A token to retrieve the next page of results.\nPass this value in the\nListImpressionMetricsRequest.pageToken\nfield in the subsequent call to the\naccounts.filterSets.impressionMetrics.list\nmethod to retrieve the next page of results.", "type": "string" } - } + }, + "id": "ListImpressionMetricsResponse" + }, + "BidMetricsRow": { + "properties": { + "bids": { + "description": "The number of bids that Ad Exchange received from the buyer.", + "$ref": "MetricValue" + }, + "billedImpressions": { + "$ref": "MetricValue", + "description": "The number of bids for which the buyer was billed." + }, + "bidsInAuction": { + "$ref": "MetricValue", + "description": "The number of bids that were permitted to compete in the auction." + }, + "rowDimensions": { + "$ref": "RowDimensions", + "description": "The values of all dimensions associated with metric values in this row." + }, + "impressionsWon": { + "$ref": "MetricValue", + "description": "The number of bids that won an impression." + }, + "viewableImpressions": { + "$ref": "MetricValue", + "description": "The number of bids for which the corresponding impression was viewable (as\ndefined by Active View)." + }, + "measurableImpressions": { + "description": "The number of bids for which the corresponding impression was measurable\nfor viewability (as defined by Active View).", + "$ref": "MetricValue" + } + }, + "id": "BidMetricsRow", + "description": "The set of metrics that are measured in numbers of bids, representing how\nmany bids with the specified dimension values were considered eligible at\neach stage of the bidding funnel;", + "type": "object" + }, + "ListBidResponseErrorsResponse": { + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results.\nPass this value in the\nListBidResponseErrorsRequest.pageToken\nfield in the subsequent call to the\naccounts.filterSets.bidResponseErrors.list\nmethod to retrieve the next page of results.", + "type": "string" + }, + "calloutStatusRows": { + "description": "List of rows, with counts of bid responses aggregated by callout status.", + "items": { + "$ref": "CalloutStatusRow" + }, + "type": "array" + } + }, + "id": "ListBidResponseErrorsResponse", + "description": "Response message for listing all reasons that bid responses resulted in an\nerror.", + "type": "object" } }, "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" }, "protocol": "rest", "canonicalName": "AdExchangeBuyerII", @@ -1824,13 +1787,451 @@ "resources": { "accounts": { "resources": { - "creatives": { + "clients": { "methods": { "create": { + "flatPath": "v2beta1/accounts/{accountId}/clients", + "path": "v2beta1/accounts/{accountId}/clients", + "id": "adexchangebuyer2.accounts.clients.create", + "description": "Creates a new client buyer.", + "request": { + "$ref": "Client" + }, + "httpMethod": "POST", + "parameterOrder": [ + "accountId" + ], + "response": { + "$ref": "Client" + }, + "parameters": { + "accountId": { + "format": "int64", + "description": "Unique numerical account ID for the buyer of which the client buyer\nis a customer; the sponsor buyer to create a client for. (required)", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "list": { + "flatPath": "v2beta1/accounts/{accountId}/clients", + "path": "v2beta1/accounts/{accountId}/clients", + "id": "adexchangebuyer2.accounts.clients.list", + "description": "Lists all the clients for the current sponsor buyer.", + "httpMethod": "GET", + "response": { + "$ref": "ListClientsResponse" + }, + "parameterOrder": [ + "accountId" + ], + "parameters": { + "pageToken": { + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListClientsResponse.nextPageToken\nreturned from the previous call to the\naccounts.clients.list method.", + "type": "string", + "location": "query" + }, + "pageSize": { + "format": "int32", + "description": "Requested page size. The server may return fewer clients than requested.\nIf unspecified, the server will pick an appropriate default.", + "type": "integer", + "location": "query" + }, + "accountId": { + "type": "string", + "required": true, + "location": "path", + "format": "int64", + "description": "Unique numerical account ID of the sponsor buyer to list the clients for." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "get": { + "description": "Gets a client buyer with a given client account ID.", + "response": { + "$ref": "Client" + }, + "parameterOrder": [ + "accountId", + "clientAccountId" + ], + "httpMethod": "GET", + "parameters": { + "accountId": { + "location": "path", + "format": "int64", + "description": "Numerical account ID of the client's sponsor buyer. (required)", + "type": "string", + "required": true + }, + "clientAccountId": { + "location": "path", + "format": "int64", + "description": "Numerical account ID of the client buyer to retrieve. (required)", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], + "flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}", + "id": "adexchangebuyer2.accounts.clients.get", + "path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}" + }, + "update": { + "flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}", + "path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}", + "id": "adexchangebuyer2.accounts.clients.update", + "description": "Updates an existing client buyer.", + "request": { + "$ref": "Client" + }, + "httpMethod": "PUT", + "parameterOrder": [ + "accountId", + "clientAccountId" + ], + "response": { + "$ref": "Client" + }, + "parameters": { + "accountId": { + "location": "path", + "format": "int64", + "description": "Unique numerical account ID for the buyer of which the client buyer\nis a customer; the sponsor buyer to update a client for. (required)", + "type": "string", + "required": true + }, + "clientAccountId": { + "type": "string", + "required": true, + "location": "path", + "format": "int64", + "description": "Unique numerical account ID of the client to update. (required)" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + } + }, + "resources": { + "invitations": { + "methods": { + "list": { + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], + "parameters": { + "pageToken": { + "location": "query", + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListClientUserInvitationsResponse.nextPageToken\nreturned from the previous call to the\nclients.invitations.list\nmethod.", + "type": "string" + }, + "pageSize": { + "format": "int32", + "description": "Requested page size. Server may return fewer clients than requested.\nIf unspecified, server will pick an appropriate default.", + "type": "integer", + "location": "query" + }, + "accountId": { + "location": "path", + "format": "int64", + "description": "Numerical account ID of the client's sponsor buyer. (required)", + "type": "string", + "required": true + }, + "clientAccountId": { + "location": "path", + "description": "Numerical account ID of the client buyer to list invitations for.\n(required)\nYou must either specify a string representation of a\nnumerical account identifier or the `-` character\nto list all the invitations for all the clients\nof a given sponsor buyer.", + "type": "string", + "required": true + } + }, + "flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations", + "id": "adexchangebuyer2.accounts.clients.invitations.list", + "path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations", + "description": "Lists all the client users invitations for a client\nwith a given account ID.", + "response": { + "$ref": "ListClientUserInvitationsResponse" + }, + "httpMethod": "GET", + "parameterOrder": [ + "accountId", + "clientAccountId" + ] + }, + "get": { + "httpMethod": "GET", + "response": { + "$ref": "ClientUserInvitation" + }, + "parameterOrder": [ + "accountId", + "clientAccountId", + "invitationId" + ], + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], + "parameters": { + "invitationId": { + "location": "path", + "format": "int64", + "description": "Numerical identifier of the user invitation to retrieve. (required)", + "type": "string", + "required": true + }, + "accountId": { + "location": "path", + "format": "int64", + "description": "Numerical account ID of the client's sponsor buyer. (required)", + "type": "string", + "required": true + }, + "clientAccountId": { + "location": "path", + "format": "int64", + "description": "Numerical account ID of the client buyer that the user invitation\nto be retrieved is associated with. (required)", + "type": "string", + "required": true + } + }, + "flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations/{invitationId}", + "path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations/{invitationId}", + "id": "adexchangebuyer2.accounts.clients.invitations.get", + "description": "Retrieves an existing client user invitation." + }, + "create": { + "response": { + "$ref": "ClientUserInvitation" + }, + "parameterOrder": [ + "accountId", + "clientAccountId" + ], + "httpMethod": "POST", + "parameters": { + "clientAccountId": { + "location": "path", + "format": "int64", + "description": "Numerical account ID of the client buyer that the user\nshould be associated with. (required)", + "type": "string", + "required": true + }, + "accountId": { + "location": "path", + "format": "int64", + "description": "Numerical account ID of the client's sponsor buyer. (required)", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], + "flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations", + "id": "adexchangebuyer2.accounts.clients.invitations.create", + "path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations", + "description": "Creates and sends out an email invitation to access\nan Ad Exchange client buyer account.", + "request": { + "$ref": "ClientUserInvitation" + } + } + } + }, + "users": { + "methods": { + "get": { + "response": { + "$ref": "ClientUser" + }, + "parameterOrder": [ + "accountId", + "clientAccountId", + "userId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], + "parameters": { + "userId": { + "format": "int64", + "description": "Numerical identifier of the user to retrieve. (required)", + "type": "string", + "required": true, + "location": "path" + }, + "accountId": { + "location": "path", + "format": "int64", + "description": "Numerical account ID of the client's sponsor buyer. (required)", + "type": "string", + "required": true + }, + "clientAccountId": { + "type": "string", + "required": true, + "location": "path", + "format": "int64", + "description": "Numerical account ID of the client buyer\nthat the user to be retrieved is associated with. (required)" + } + }, + "flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/users/{userId}", + "id": "adexchangebuyer2.accounts.clients.users.get", + "path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/users/{userId}", + "description": "Retrieves an existing client user." + }, + "list": { + "description": "Lists all the known client users for a specified\nsponsor buyer account ID.", + "httpMethod": "GET", + "parameterOrder": [ + "accountId", + "clientAccountId" + ], + "response": { + "$ref": "ListClientUsersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], + "parameters": { + "pageToken": { + "location": "query", + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListClientUsersResponse.nextPageToken\nreturned from the previous call to the\naccounts.clients.users.list method.", + "type": "string" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Requested page size. The server may return fewer clients than requested.\nIf unspecified, the server will pick an appropriate default.", + "type": "integer" + }, + "accountId": { + "format": "int64", + "description": "Numerical account ID of the sponsor buyer of the client to list users for.\n(required)", + "type": "string", + "required": true, + "location": "path" + }, + "clientAccountId": { + "description": "The account ID of the client buyer to list users for. (required)\nYou must specify either a string representation of a\nnumerical account identifier or the `-` character\nto list all the client users for all the clients\nof a given sponsor buyer.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/users", + "path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/users", + "id": "adexchangebuyer2.accounts.clients.users.list" + }, + "update": { + "flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/users/{userId}", + "path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/users/{userId}", + "id": "adexchangebuyer2.accounts.clients.users.update", + "description": "Updates an existing client user.\nOnly the user status can be changed on update.", + "request": { + "$ref": "ClientUser" + }, + "httpMethod": "PUT", + "parameterOrder": [ + "accountId", + "clientAccountId", + "userId" + ], + "response": { + "$ref": "ClientUser" + }, + "parameters": { + "userId": { + "format": "int64", + "description": "Numerical identifier of the user to retrieve. (required)", + "type": "string", + "required": true, + "location": "path" + }, + "accountId": { + "format": "int64", + "description": "Numerical account ID of the client's sponsor buyer. (required)", + "type": "string", + "required": true, + "location": "path" + }, + "clientAccountId": { + "location": "path", + "format": "int64", + "description": "Numerical account ID of the client buyer that the user to be retrieved\nis associated with. (required)", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + } + } + } + } + }, + "creatives": { + "methods": { + "list": { + "description": "Lists creatives.", + "response": { + "$ref": "ListCreativesResponse" + }, + "parameterOrder": [ + "accountId" + ], + "httpMethod": "GET", + "parameters": { + "pageSize": { + "location": "query", + "format": "int32", + "description": "Requested page size. The server may return fewer creatives than requested\n(due to timeout constraint) even if more are available via another call.\nIf unspecified, server will pick an appropriate default.\nAcceptable values are 1 to 1000, inclusive.", + "type": "integer" + }, + "accountId": { + "description": "The account to list the creatives from.\nSpecify \"-\" to list all creatives the current user has access to.", + "type": "string", + "required": true, + "location": "path" + }, + "query": { + "description": "An optional query string to filter creatives. If no filter is specified,\nall active creatives will be returned.\nSupported queries are:\n\u003cul\u003e\n\u003cli\u003eaccountId=\u003ci\u003eaccount_id_string\u003c/i\u003e\n\u003cli\u003ecreativeId=\u003ci\u003ecreative_id_string\u003c/i\u003e\n\u003cli\u003edealsStatus: {approved, conditionally_approved, disapproved,\n not_checked}\n\u003cli\u003eopenAuctionStatus: {approved, conditionally_approved, disapproved,\n not_checked}\n\u003cli\u003eattribute: {a numeric attribute from the list of attributes}\n\u003cli\u003edisapprovalReason: {a reason from\nDisapprovalReason\n\u003c/ul\u003e\nExample: 'accountId=12345 AND (dealsStatus:disapproved AND\ndisapprovalReason:unacceptable_content) OR attribute:47'", + "type": "string", + "location": "query" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListCreativesResponse.next_page_token\nreturned from the previous call to 'ListCreatives' method.", + "type": "string", + "location": "query" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], + "flatPath": "v2beta1/accounts/{accountId}/creatives", + "id": "adexchangebuyer2.accounts.creatives.list", + "path": "v2beta1/accounts/{accountId}/creatives" + }, + "create": { + "flatPath": "v2beta1/accounts/{accountId}/creatives", + "path": "v2beta1/accounts/{accountId}/creatives", + "id": "adexchangebuyer2.accounts.creatives.create", + "description": "Creates a creative.", "request": { "$ref": "Creative" }, - "description": "Creates a creative.", "httpMethod": "POST", "parameterOrder": [ "accountId" @@ -1839,12 +2240,6 @@ "$ref": "Creative" }, "parameters": { - "accountId": { - "location": "path", - "description": "The account that this creative belongs to.\nCan be used to filter the response of the\ncreatives.list\nmethod.", - "required": true, - "type": "string" - }, "duplicateIdMode": { "location": "query", "enum": [ @@ -1853,71 +2248,53 @@ ], "description": "Indicates if multiple creatives can share an ID or not. Default is\nNO_DUPLICATES (one ID per creative).", "type": "string" + }, + "accountId": { + "location": "path", + "description": "The account that this creative belongs to.\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "stopWatching": { + "httpMethod": "POST", + "parameterOrder": [ + "accountId", + "creativeId" + ], + "response": { + "$ref": "Empty" + }, + "parameters": { + "accountId": { + "location": "path", + "description": "The account of the creative to stop notifications for.", + "type": "string", + "required": true + }, + "creativeId": { + "location": "path", + "description": "The creative ID of the creative to stop notifications for.\nSpecify \"-\" to specify stopping account level notifications.", + "type": "string", + "required": true } }, "scopes": [ "https://www.googleapis.com/auth/adexchange.buyer" ], - "flatPath": "v2beta1/accounts/{accountId}/creatives", - "id": "adexchangebuyer2.accounts.creatives.create", - "path": "v2beta1/accounts/{accountId}/creatives" - }, - "stopWatching": { + "flatPath": "v2beta1/accounts/{accountId}/creatives/{creativeId}:stopWatching", "path": "v2beta1/accounts/{accountId}/creatives/{creativeId}:stopWatching", "id": "adexchangebuyer2.accounts.creatives.stopWatching", "description": "Stops watching a creative. Will stop push notifications being sent to the\ntopics when the creative changes status.", "request": { "$ref": "StopWatchingCreativeRequest" - }, - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "accountId", - "creativeId" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/adexchange.buyer" - ], - "parameters": { - "accountId": { - "location": "path", - "description": "The account of the creative to stop notifications for.", - "required": true, - "type": "string" - }, - "creativeId": { - "location": "path", - "description": "The creative ID of the creative to stop notifications for.\nSpecify \"-\" to specify stopping account level notifications.", - "required": true, - "type": "string" - } - }, - "flatPath": "v2beta1/accounts/{accountId}/creatives/{creativeId}:stopWatching" + } }, "get": { - "parameters": { - "accountId": { - "location": "path", - "description": "The account the creative belongs to.", - "required": true, - "type": "string" - }, - "creativeId": { - "location": "path", - "description": "The ID of the creative to retrieve.", - "required": true, - "type": "string" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/adexchange.buyer" - ], - "flatPath": "v2beta1/accounts/{accountId}/creatives/{creativeId}", - "id": "adexchangebuyer2.accounts.creatives.get", - "path": "v2beta1/accounts/{accountId}/creatives/{creativeId}", - "description": "Gets a creative.", "httpMethod": "GET", "parameterOrder": [ "accountId", @@ -1925,33 +2302,54 @@ ], "response": { "$ref": "Creative" - } + }, + "parameters": { + "accountId": { + "location": "path", + "description": "The account the creative belongs to.", + "type": "string", + "required": true + }, + "creativeId": { + "location": "path", + "description": "The ID of the creative to retrieve.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], + "flatPath": "v2beta1/accounts/{accountId}/creatives/{creativeId}", + "path": "v2beta1/accounts/{accountId}/creatives/{creativeId}", + "id": "adexchangebuyer2.accounts.creatives.get", + "description": "Gets a creative." }, "watch": { + "description": "Watches a creative. Will result in push notifications being sent to the\ntopic when the creative changes status.", "request": { "$ref": "WatchCreativeRequest" }, - "description": "Watches a creative. Will result in push notifications being sent to the\ntopic when the creative changes status.", - "response": { - "$ref": "Empty" - }, + "httpMethod": "POST", "parameterOrder": [ "accountId", "creativeId" ], - "httpMethod": "POST", + "response": { + "$ref": "Empty" + }, "parameters": { "accountId": { + "location": "path", "description": "The account of the creative to watch.", - "required": true, "type": "string", - "location": "path" + "required": true }, "creativeId": { + "location": "path", "description": "The creative ID to watch for status changes.\nSpecify \"-\" to watch all creatives under the above account.\nIf both creative-level and account-level notifications are\nsent, only a single notification will be sent to the\ncreative-level notification topic.", - "required": true, "type": "string", - "location": "path" + "required": true } }, "scopes": [ @@ -1974,143 +2372,90 @@ "response": { "$ref": "Creative" }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], "parameters": { "accountId": { - "location": "path", "description": "The account that this creative belongs to.\nCan be used to filter the response of the\ncreatives.list\nmethod.", + "type": "string", "required": true, - "type": "string" + "location": "path" }, "creativeId": { - "description": "The buyer-defined creative ID of this creative.\nCan be used to filter the response of the\ncreatives.list\nmethod.", - "required": true, - "type": "string", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/adexchange.buyer" - ], - "flatPath": "v2beta1/accounts/{accountId}/creatives/{creativeId}", - "id": "adexchangebuyer2.accounts.creatives.update", - "path": "v2beta1/accounts/{accountId}/creatives/{creativeId}" - }, - "list": { - "description": "Lists creatives.", - "httpMethod": "GET", - "response": { - "$ref": "ListCreativesResponse" - }, - "parameterOrder": [ - "accountId" - ], - "parameters": { - "pageToken": { - "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListCreativesResponse.next_page_token\nreturned from the previous call to 'ListCreatives' method.", - "type": "string", - "location": "query" - }, - "accountId": { "location": "path", - "description": "The account to list the creatives from.\nSpecify \"-\" to list all creatives the current user has access to.", - "required": true, - "type": "string" - }, - "pageSize": { - "location": "query", - "description": "Requested page size. The server may return fewer creatives than requested\n(due to timeout constraint) even if more are available via another call.\nIf unspecified, server will pick an appropriate default.\nAcceptable values are 1 to 1000, inclusive.", - "format": "int32", - "type": "integer" - }, - "query": { + "description": "The buyer-defined creative ID of this creative.\nCan be used to filter the response of the\ncreatives.list\nmethod.", "type": "string", - "location": "query", - "description": "An optional query string to filter creatives. If no filter is specified,\nall active creatives will be returned.\nSupported queries are:\n\u003cul\u003e\n\u003cli\u003eaccountId=\u003ci\u003eaccount_id_string\u003c/i\u003e\n\u003cli\u003ecreativeId=\u003ci\u003ecreative_id_string\u003c/i\u003e\n\u003cli\u003edealsStatus: {approved, conditionally_approved, disapproved,\n not_checked}\n\u003cli\u003eopenAuctionStatus: {approved, conditionally_approved, disapproved,\n not_checked}\n\u003cli\u003eattribute: {a numeric attribute from the list of attributes}\n\u003cli\u003edisapprovalReason: {a reason from DisapprovalReason\n\u003c/ul\u003e\nExample: 'accountId=12345 AND (dealsStatus:disapproved AND disapprovalReason:unacceptable_content) OR attribute:47'" + "required": true } }, - "scopes": [ - "https://www.googleapis.com/auth/adexchange.buyer" - ], - "flatPath": "v2beta1/accounts/{accountId}/creatives", - "id": "adexchangebuyer2.accounts.creatives.list", - "path": "v2beta1/accounts/{accountId}/creatives" + "flatPath": "v2beta1/accounts/{accountId}/creatives/{creativeId}", + "path": "v2beta1/accounts/{accountId}/creatives/{creativeId}", + "id": "adexchangebuyer2.accounts.creatives.update" } }, "resources": { "dealAssociations": { "methods": { - "list": { - "flatPath": "v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations", - "path": "v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations", - "id": "adexchangebuyer2.accounts.creatives.dealAssociations.list", - "description": "List all creative-deal associations.", - "response": { - "$ref": "ListDealAssociationsResponse" - }, - "parameterOrder": [ - "accountId", - "creativeId" - ], - "httpMethod": "GET", - "parameters": { - "pageToken": { - "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListDealAssociationsResponse.next_page_token\nreturned from the previous call to 'ListDealAssociations' method.", - "type": "string", - "location": "query" - }, - "accountId": { - "location": "path", - "description": "The account to list the associations from.\nSpecify \"-\" to list all creatives the current user has access to.", - "required": true, - "type": "string" - }, - "pageSize": { - "type": "integer", - "location": "query", - "description": "Requested page size. Server may return fewer associations than requested.\nIf unspecified, server will pick an appropriate default.", - "format": "int32" - }, - "query": { - "type": "string", - "location": "query", - "description": "An optional query string to filter deal associations. If no filter is\nspecified, all associations will be returned.\nSupported queries are:\n\u003cul\u003e\n\u003cli\u003eaccountId=\u003ci\u003eaccount_id_string\u003c/i\u003e\n\u003cli\u003ecreativeId=\u003ci\u003ecreative_id_string\u003c/i\u003e\n\u003cli\u003edealsId=\u003ci\u003edeals_id_string\u003c/i\u003e\n\u003cli\u003edealsStatus:{approved, conditionally_approved, disapproved,\n not_checked}\n\u003cli\u003eopenAuctionStatus:{approved, conditionally_approved, disapproved,\n not_checked}\n\u003c/ul\u003e\nExample: 'dealsId=12345 AND dealsStatus:disapproved'" - }, - "creativeId": { - "location": "path", - "description": "The creative ID to list the associations from.\nSpecify \"-\" to list all creatives under the above account.", - "required": true, - "type": "string" - } - }, + "remove": { "scopes": [ "https://www.googleapis.com/auth/adexchange.buyer" - ] - }, - "add": { - "request": { - "$ref": "AddDealAssociationRequest" - }, - "description": "Associate an existing deal with a creative.", - "httpMethod": "POST", - "parameterOrder": [ - "accountId", - "creativeId" ], + "parameters": { + "creativeId": { + "type": "string", + "required": true, + "location": "path", + "description": "The ID of the creative associated with the deal." + }, + "accountId": { + "description": "The account the creative belongs to.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations:remove", + "id": "adexchangebuyer2.accounts.creatives.dealAssociations.remove", + "path": "v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations:remove", + "request": { + "$ref": "RemoveDealAssociationRequest" + }, + "description": "Remove the association between a deal and a creative.", "response": { "$ref": "Empty" }, + "parameterOrder": [ + "accountId", + "creativeId" + ], + "httpMethod": "POST" + }, + "add": { + "description": "Associate an existing deal with a creative.", + "request": { + "$ref": "AddDealAssociationRequest" + }, + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "accountId", + "creativeId" + ], + "httpMethod": "POST", "parameters": { "accountId": { - "location": "path", "description": "The account the creative belongs to.", + "type": "string", "required": true, - "type": "string" + "location": "path" }, "creativeId": { - "location": "path", "description": "The ID of the creative associated with the deal.", + "type": "string", "required": true, - "type": "string" + "location": "path" } }, "scopes": [ @@ -2120,39 +2465,52 @@ "id": "adexchangebuyer2.accounts.creatives.dealAssociations.add", "path": "v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations:add" }, - "remove": { - "response": { - "$ref": "Empty" - }, + "list": { "parameterOrder": [ "accountId", "creativeId" ], - "httpMethod": "POST", - "parameters": { - "creativeId": { - "description": "The ID of the creative associated with the deal.", - "required": true, - "type": "string", - "location": "path" - }, - "accountId": { - "location": "path", - "description": "The account the creative belongs to.", - "required": true, - "type": "string" - } + "httpMethod": "GET", + "response": { + "$ref": "ListDealAssociationsResponse" }, "scopes": [ "https://www.googleapis.com/auth/adexchange.buyer" ], - "flatPath": "v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations:remove", - "path": "v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations:remove", - "id": "adexchangebuyer2.accounts.creatives.dealAssociations.remove", - "request": { - "$ref": "RemoveDealAssociationRequest" + "parameters": { + "pageToken": { + "type": "string", + "location": "query", + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListDealAssociationsResponse.next_page_token\nreturned from the previous call to 'ListDealAssociations' method." + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Requested page size. Server may return fewer associations than requested.\nIf unspecified, server will pick an appropriate default.", + "type": "integer" + }, + "accountId": { + "location": "path", + "description": "The account to list the associations from.\nSpecify \"-\" to list all creatives the current user has access to.", + "type": "string", + "required": true + }, + "query": { + "location": "query", + "description": "An optional query string to filter deal associations. If no filter is\nspecified, all associations will be returned.\nSupported queries are:\n\u003cul\u003e\n\u003cli\u003eaccountId=\u003ci\u003eaccount_id_string\u003c/i\u003e\n\u003cli\u003ecreativeId=\u003ci\u003ecreative_id_string\u003c/i\u003e\n\u003cli\u003edealsId=\u003ci\u003edeals_id_string\u003c/i\u003e\n\u003cli\u003edealsStatus:{approved, conditionally_approved, disapproved,\n not_checked}\n\u003cli\u003eopenAuctionStatus:{approved, conditionally_approved, disapproved,\n not_checked}\n\u003c/ul\u003e\nExample: 'dealsId=12345 AND dealsStatus:disapproved'", + "type": "string" + }, + "creativeId": { + "location": "path", + "description": "The creative ID to list the associations from.\nSpecify \"-\" to list all creatives under the above account.", + "type": "string", + "required": true + } }, - "description": "Remove the association between a deal and a creative." + "flatPath": "v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations", + "id": "adexchangebuyer2.accounts.creatives.dealAssociations.list", + "path": "v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations", + "description": "List all creative-deal associations." } } } @@ -2161,37 +2519,73 @@ "filterSets": { "methods": { "delete": { - "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}", - "id": "adexchangebuyer2.accounts.filterSets.delete", "description": "Deletes the requested filter set from the account with the given account\nID.", - "response": { - "$ref": "Empty" - }, + "httpMethod": "DELETE", "parameterOrder": [ "accountId", "filterSetId" ], - "httpMethod": "DELETE", + "response": { + "$ref": "Empty" + }, + "parameters": { + "accountId": { + "location": "path", + "format": "int64", + "description": "Account ID of the buyer.", + "type": "string", + "required": true + }, + "filterSetId": { + "location": "path", + "format": "int64", + "description": "The ID of the filter set to delete.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], + "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}", + "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}", + "id": "adexchangebuyer2.accounts.filterSets.delete" + }, + "list": { + "description": "Lists all filter sets for the account with the given account ID.", + "response": { + "$ref": "ListFilterSetsResponse" + }, + "parameterOrder": [ + "accountId" + ], + "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/adexchange.buyer" ], "parameters": { + "pageToken": { + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListFilterSetsResponse.nextPageToken\nreturned from the previous call to the\naccounts.filterSets.list\nmethod.", + "type": "string", + "location": "query" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Requested page size. The server may return fewer results than requested.\nIf unspecified, the server will pick an appropriate default.", + "type": "integer" + }, "accountId": { "location": "path", + "format": "int64", "description": "Account ID of the buyer.", - "format": "int64", - "required": true, - "type": "string" - }, - "filterSetId": { - "location": "path", - "description": "The ID of the filter set to delete.", - "format": "int64", - "required": true, - "type": "string" + "type": "string", + "required": true } }, - "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}" + "flatPath": "v2beta1/accounts/{accountId}/filterSets", + "id": "adexchangebuyer2.accounts.filterSets.list", + "path": "v2beta1/accounts/{accountId}/filterSets" }, "get": { "httpMethod": "GET", @@ -2207,61 +2601,25 @@ ], "parameters": { "accountId": { - "description": "Account ID of the buyer.", + "location": "path", "format": "int64", - "required": true, + "description": "Account ID of the buyer.", "type": "string", - "location": "path" + "required": true }, "filterSetId": { - "location": "path", - "description": "The ID of the filter set to get.", - "format": "int64", + "type": "string", "required": true, - "type": "string" + "location": "path", + "format": "int64", + "description": "The ID of the filter set to get." } }, "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}", - "id": "adexchangebuyer2.accounts.filterSets.get", "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}", + "id": "adexchangebuyer2.accounts.filterSets.get", "description": "Retrieves the requested filter set for the account with the given account\nID." }, - "list": { - "parameters": { - "pageToken": { - "location": "query", - "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListFilterSetsResponse.nextPageToken\nreturned from the previous call to the\naccounts.filterSets.list\nmethod.", - "type": "string" - }, - "accountId": { - "location": "path", - "description": "Account ID of the buyer.", - "format": "int64", - "required": true, - "type": "string" - }, - "pageSize": { - "description": "Requested page size. The server may return fewer results than requested.\nIf unspecified, the server will pick an appropriate default.", - "format": "int32", - "type": "integer", - "location": "query" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/adexchange.buyer" - ], - "flatPath": "v2beta1/accounts/{accountId}/filterSets", - "id": "adexchangebuyer2.accounts.filterSets.list", - "path": "v2beta1/accounts/{accountId}/filterSets", - "description": "Lists all filter sets for the account with the given account ID.", - "httpMethod": "GET", - "parameterOrder": [ - "accountId" - ], - "response": { - "$ref": "ListFilterSetsResponse" - } - }, "create": { "response": { "$ref": "FilterSet" @@ -2270,26 +2628,26 @@ "accountId" ], "httpMethod": "POST", + "parameters": { + "isTransient": { + "location": "query", + "description": "Whether the filter set is transient, or should be persisted indefinitely.\nBy default, filter sets are not transient.\nIf transient, it will be available for at least 1 hour after creation.", + "type": "boolean" + }, + "accountId": { + "format": "int64", + "description": "Account ID of the buyer.", + "type": "string", + "required": true, + "location": "path" + } + }, "scopes": [ "https://www.googleapis.com/auth/adexchange.buyer" ], - "parameters": { - "accountId": { - "location": "path", - "description": "Account ID of the buyer.", - "format": "int64", - "required": true, - "type": "string" - }, - "isTransient": { - "description": "Whether the filter set is transient, or should be persisted indefinitely.\nBy default, filter sets are not transient.\nIf transient, it will be available for at least 1 hour after creation.", - "type": "boolean", - "location": "query" - } - }, "flatPath": "v2beta1/accounts/{accountId}/filterSets", - "path": "v2beta1/accounts/{accountId}/filterSets", "id": "adexchangebuyer2.accounts.filterSets.create", + "path": "v2beta1/accounts/{accountId}/filterSets", "description": "Creates the specified filter set for the account with the given account ID.", "request": { "$ref": "FilterSet" @@ -2297,60 +2655,10 @@ } }, "resources": { - "losingBids": { - "methods": { - "list": { - "parameterOrder": [ - "accountId", - "filterSetId" - ], - "httpMethod": "GET", - "response": { - "$ref": "ListLosingBidsResponse" - }, - "parameters": { - "pageToken": { - "location": "query", - "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListLosingBidsResponse.nextPageToken\nreturned from the previous call to the\naccounts.filterSets.losingBids.list\nmethod.", - "type": "string" - }, - "accountId": { - "description": "Account ID of the buyer.", - "format": "int64", - "required": true, - "type": "string", - "location": "path" - }, - "pageSize": { - "location": "query", - "description": "Requested page size. The server may return fewer results than requested.\nIf unspecified, the server will pick an appropriate default.", - "format": "int32", - "type": "integer" - }, - "filterSetId": { - "description": "The ID of the filter set to apply.", - "format": "int64", - "required": true, - "type": "string", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/adexchange.buyer" - ], - "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/losingBids", - "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/losingBids", - "id": "adexchangebuyer2.accounts.filterSets.losingBids.list", - "description": "List all reasons for which bids lost in the auction, with the number of\nbids that lost for each reason." - } - } - }, "bidMetrics": { "methods": { "list": { - "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/bidMetrics", - "id": "adexchangebuyer2.accounts.filterSets.bidMetrics.list", - "description": "Lists all metrics that are measured in terms of number of bids.", + "httpMethod": "GET", "response": { "$ref": "ListBidMetricsResponse" }, @@ -2358,38 +2666,40 @@ "accountId", "filterSetId" ], - "httpMethod": "GET", "parameters": { "pageToken": { - "location": "query", "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListBidMetricsResponse.nextPageToken\nreturned from the previous call to the\naccounts.filterSets.bidMetrics.list\nmethod.", - "type": "string" - }, - "accountId": { - "location": "path", - "description": "Account ID of the buyer.", - "format": "int64", - "required": true, - "type": "string" + "type": "string", + "location": "query" }, "pageSize": { - "description": "Requested page size. The server may return fewer results than requested.\nIf unspecified, the server will pick an appropriate default.", "format": "int32", + "description": "Requested page size. The server may return fewer results than requested.\nIf unspecified, the server will pick an appropriate default.", "type": "integer", "location": "query" }, - "filterSetId": { - "description": "The ID of the filter set to apply.", + "accountId": { + "location": "path", "format": "int64", - "required": true, + "description": "Account ID of the buyer.", "type": "string", - "location": "path" + "required": true + }, + "filterSetId": { + "location": "path", + "format": "int64", + "description": "The ID of the filter set to apply.", + "type": "string", + "required": true } }, "scopes": [ "https://www.googleapis.com/auth/adexchange.buyer" ], - "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/bidMetrics" + "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/bidMetrics", + "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/bidMetrics", + "id": "adexchangebuyer2.accounts.filterSets.bidMetrics.list", + "description": "Lists all metrics that are measured in terms of number of bids." } } }, @@ -2405,38 +2715,38 @@ "filterSetId" ], "parameters": { - "accountId": { - "location": "path", - "description": "Account ID of the buyer.", - "format": "int64", - "required": true, - "type": "string" + "pageToken": { + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListImpressionMetricsResponse.nextPageToken\nreturned from the previous call to the\naccounts.filterSets.impressionMetrics.list\nmethod.", + "type": "string", + "location": "query" }, "pageSize": { "location": "query", - "description": "Requested page size. The server may return fewer results than requested.\nIf unspecified, the server will pick an appropriate default.", "format": "int32", + "description": "Requested page size. The server may return fewer results than requested.\nIf unspecified, the server will pick an appropriate default.", "type": "integer" }, - "filterSetId": { - "required": true, - "type": "string", + "accountId": { "location": "path", - "description": "The ID of the filter set to apply.", - "format": "int64" + "format": "int64", + "description": "Account ID of the buyer.", + "type": "string", + "required": true }, - "pageToken": { - "location": "query", - "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListImpressionMetricsResponse.nextPageToken\nreturned from the previous call to the\naccounts.filterSets.impressionMetrics.list\nmethod.", - "type": "string" + "filterSetId": { + "format": "int64", + "description": "The ID of the filter set to apply.", + "type": "string", + "required": true, + "location": "path" } }, "scopes": [ "https://www.googleapis.com/auth/adexchange.buyer" ], "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/impressionMetrics", - "id": "adexchangebuyer2.accounts.filterSets.impressionMetrics.list", "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/impressionMetrics", + "id": "adexchangebuyer2.accounts.filterSets.impressionMetrics.list", "description": "Lists all metrics that are measured in terms of number of impressions." } } @@ -2444,6 +2754,7 @@ "bidResponseErrors": { "methods": { "list": { + "httpMethod": "GET", "response": { "$ref": "ListBidResponseErrorsResponse" }, @@ -2451,32 +2762,31 @@ "accountId", "filterSetId" ], - "httpMethod": "GET", "parameters": { "pageToken": { - "location": "query", "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListBidResponseErrorsResponse.nextPageToken\nreturned from the previous call to the\naccounts.filterSets.bidResponseErrors.list\nmethod.", - "type": "string" - }, - "accountId": { - "description": "Account ID of the buyer.", - "format": "int64", - "required": true, "type": "string", - "location": "path" + "location": "query" }, "pageSize": { - "description": "Requested page size. The server may return fewer results than requested.\nIf unspecified, the server will pick an appropriate default.", + "location": "query", "format": "int32", - "type": "integer", - "location": "query" + "description": "Requested page size. The server may return fewer results than requested.\nIf unspecified, the server will pick an appropriate default.", + "type": "integer" + }, + "accountId": { + "location": "path", + "format": "int64", + "description": "Account ID of the buyer.", + "type": "string", + "required": true }, "filterSetId": { "location": "path", - "description": "The ID of the filter set to apply.", "format": "int64", - "required": true, - "type": "string" + "description": "The ID of the filter set to apply.", + "type": "string", + "required": true } }, "scopes": [ @@ -2493,42 +2803,42 @@ "methods": { "list": { "description": "List all reasons for which bid responses were considered to have no\napplicable bids, with the number of bid responses affected for each reason.", - "httpMethod": "GET", + "response": { + "$ref": "ListBidResponsesWithoutBidsResponse" + }, "parameterOrder": [ "accountId", "filterSetId" ], - "response": { - "$ref": "ListBidResponsesWithoutBidsResponse" - }, + "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/adexchange.buyer" ], "parameters": { "pageToken": { - "location": "query", "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListBidResponsesWithoutBidsResponse.nextPageToken\nreturned from the previous call to the\naccounts.filterSets.bidResponsesWithoutBids.list\nmethod.", - "type": "string" - }, - "accountId": { - "description": "Account ID of the buyer.", - "format": "int64", - "required": true, "type": "string", - "location": "path" + "location": "query" }, "pageSize": { - "type": "integer", - "location": "query", + "format": "int32", "description": "Requested page size. The server may return fewer results than requested.\nIf unspecified, the server will pick an appropriate default.", - "format": "int32" + "type": "integer", + "location": "query" + }, + "accountId": { + "location": "path", + "format": "int64", + "description": "Account ID of the buyer.", + "type": "string", + "required": true }, "filterSetId": { "location": "path", - "description": "The ID of the filter set to apply.", "format": "int64", - "required": true, - "type": "string" + "description": "The ID of the filter set to apply.", + "type": "string", + "required": true } }, "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/bidResponsesWithoutBids", @@ -2540,31 +2850,39 @@ "filteredBidRequests": { "methods": { "list": { + "response": { + "$ref": "ListFilteredBidRequestsResponse" + }, + "parameterOrder": [ + "accountId", + "filterSetId" + ], + "httpMethod": "GET", "parameters": { - "filterSetId": { - "required": true, - "type": "string", - "location": "path", - "description": "The ID of the filter set to apply.", - "format": "int64" - }, "pageToken": { "location": "query", "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListFilteredBidRequestsResponse.nextPageToken\nreturned from the previous call to the\naccounts.filterSets.filteredBidRequests.list\nmethod.", "type": "string" }, - "accountId": { - "location": "path", - "description": "Account ID of the buyer.", - "format": "int64", - "required": true, - "type": "string" - }, "pageSize": { - "location": "query", - "description": "Requested page size. The server may return fewer results than requested.\nIf unspecified, the server will pick an appropriate default.", "format": "int32", - "type": "integer" + "description": "Requested page size. The server may return fewer results than requested.\nIf unspecified, the server will pick an appropriate default.", + "type": "integer", + "location": "query" + }, + "accountId": { + "format": "int64", + "description": "Account ID of the buyer.", + "type": "string", + "required": true, + "location": "path" + }, + "filterSetId": { + "type": "string", + "required": true, + "location": "path", + "format": "int64", + "description": "The ID of the filter set to apply." } }, "scopes": [ @@ -2573,69 +2891,120 @@ "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/filteredBidRequests", "id": "adexchangebuyer2.accounts.filterSets.filteredBidRequests.list", "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/filteredBidRequests", - "description": "List all reasons that caused a bid request not to be sent for an\nimpression, with the number of bid requests not sent for each reason.", - "httpMethod": "GET", - "response": { - "$ref": "ListFilteredBidRequestsResponse" - }, - "parameterOrder": [ - "accountId", - "filterSetId" - ] + "description": "List all reasons that caused a bid request not to be sent for an\nimpression, with the number of bid requests not sent for each reason." } } }, - "filteredBids": { + "nonBillableWinningBids": { "methods": { "list": { - "description": "List all reasons for which bids were filtered, with the number of bids\nfiltered for each reason.", + "httpMethod": "GET", + "response": { + "$ref": "ListNonBillableWinningBidsResponse" + }, "parameterOrder": [ "accountId", "filterSetId" ], - "response": { - "$ref": "ListFilteredBidsResponse" - }, - "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/adexchange.buyer" ], "parameters": { "filterSetId": { - "description": "The ID of the filter set to apply.", - "format": "int64", - "required": true, "type": "string", - "location": "path" + "required": true, + "location": "path", + "format": "int64", + "description": "The ID of the filter set to apply." }, "pageToken": { - "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListFilteredBidsResponse.nextPageToken\nreturned from the previous call to the\naccounts.filterSets.filteredBids.list\nmethod.", + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListNonBillableWinningBidsResponse.nextPageToken\nreturned from the previous call to the\naccounts.filterSets.nonBillableWinningBids.list\nmethod.", "type": "string", "location": "query" }, - "accountId": { - "description": "Account ID of the buyer.", - "format": "int64", - "required": true, - "type": "string", - "location": "path" - }, "pageSize": { + "type": "integer", "location": "query", - "description": "Requested page size. The server may return fewer results than requested.\nIf unspecified, the server will pick an appropriate default.", "format": "int32", - "type": "integer" + "description": "Requested page size. The server may return fewer results than requested.\nIf unspecified, the server will pick an appropriate default." + }, + "accountId": { + "format": "int64", + "description": "Account ID of the buyer.", + "type": "string", + "required": true, + "location": "path" } }, - "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/filteredBids", - "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/filteredBids", - "id": "adexchangebuyer2.accounts.filterSets.filteredBids.list" + "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/nonBillableWinningBids", + "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/nonBillableWinningBids", + "id": "adexchangebuyer2.accounts.filterSets.nonBillableWinningBids.list", + "description": "List all reasons for which winning bids were not billable, with the number\nof bids not billed for each reason." } - }, + } + }, + "filteredBids": { "resources": { + "creatives": { + "methods": { + "list": { + "httpMethod": "GET", + "response": { + "$ref": "ListCreativeStatusBreakdownByCreativeResponse" + }, + "parameterOrder": [ + "accountId", + "filterSetId", + "creativeStatusId" + ], + "parameters": { + "pageSize": { + "location": "query", + "format": "int32", + "description": "Requested page size. The server may return fewer results than requested.\nIf unspecified, the server will pick an appropriate default.", + "type": "integer" + }, + "accountId": { + "location": "path", + "format": "int64", + "description": "Account ID of the buyer.", + "type": "string", + "required": true + }, + "filterSetId": { + "format": "int64", + "description": "The ID of the filter set to apply.", + "type": "string", + "required": true, + "location": "path" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListCreativeStatusBreakdownByCreativeResponse.nextPageToken\nreturned from the previous call to the\naccounts.filterSets.filteredBids.creatives.list\nmethod.", + "type": "string", + "location": "query" + }, + "creativeStatusId": { + "format": "int32", + "description": "The ID of the creative status for which to retrieve a breakdown by\ncreative.\nSee\n[creative-status-codes](https://developers.google.com/ad-exchange/rtb/downloads/creative-status-codes).", + "type": "integer", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], + "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/filteredBids/{creativeStatusId}/creatives", + "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/filteredBids/{creativeStatusId}/creatives", + "id": "adexchangebuyer2.accounts.filterSets.filteredBids.creatives.list", + "description": "List all creatives associated with a specific reason for which bids were\nfiltered, with the number of bids filtered for each creative." + } + } + }, "details": { "methods": { "list": { + "description": "List all details associated with a specific reason for which bids were\nfiltered, with the number of bids filtered for each detail.", "response": { "$ref": "ListCreativeStatusBreakdownByDetailResponse" }, @@ -2645,613 +3014,142 @@ "creativeStatusId" ], "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/adexchange.buyer" - ], "parameters": { - "creativeStatusId": { - "description": "The ID of the creative status for which to retrieve a breakdown by detail.\nSee\n[creative-status-codes](https://developers.google.com/ad-exchange/rtb/downloads/creative-status-codes).", - "format": "int32", - "required": true, - "type": "integer", - "location": "path" - }, "pageToken": { + "location": "query", "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListCreativeStatusBreakdownByDetailResponse.nextPageToken\nreturned from the previous call to the\naccounts.filterSets.filteredBids.details.list\nmethod.", - "type": "string", - "location": "query" - }, - "accountId": { - "location": "path", - "description": "Account ID of the buyer.", - "format": "int64", - "required": true, "type": "string" }, + "creativeStatusId": { + "location": "path", + "format": "int32", + "description": "The ID of the creative status for which to retrieve a breakdown by detail.\nSee\n[creative-status-codes](https://developers.google.com/ad-exchange/rtb/downloads/creative-status-codes).\nDetails are only available for statuses 10, 14, 15, 17, 18, 19, 86, and 87.", + "type": "integer", + "required": true + }, "pageSize": { "location": "query", - "description": "Requested page size. The server may return fewer results than requested.\nIf unspecified, the server will pick an appropriate default.", "format": "int32", + "description": "Requested page size. The server may return fewer results than requested.\nIf unspecified, the server will pick an appropriate default.", "type": "integer" }, - "filterSetId": { + "accountId": { "location": "path", - "description": "The ID of the filter set to apply.", "format": "int64", + "description": "Account ID of the buyer.", + "type": "string", + "required": true + }, + "filterSetId": { + "format": "int64", + "description": "The ID of the filter set to apply.", + "type": "string", "required": true, - "type": "string" + "location": "path" } }, - "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/filteredBids/{creativeStatusId}/details", - "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/filteredBids/{creativeStatusId}/details", - "id": "adexchangebuyer2.accounts.filterSets.filteredBids.details.list", - "description": "List all details associated with a specific reason for which bids were\nfiltered, with the number of bids filtered for each detail." - } - } - }, - "creatives": { - "methods": { - "list": { - "description": "List all creatives associated with a specific reason for which bids were\nfiltered, with the number of bids filtered for each creative.", - "response": { - "$ref": "ListCreativeStatusBreakdownByCreativeResponse" - }, - "parameterOrder": [ - "accountId", - "filterSetId", - "creativeStatusId" - ], - "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/adexchange.buyer" ], - "parameters": { - "creativeStatusId": { - "description": "The ID of the creative status for which to retrieve a breakdown by\ncreative.\nSee\n[creative-status-codes](https://developers.google.com/ad-exchange/rtb/downloads/creative-status-codes).", - "format": "int32", - "required": true, - "type": "integer", - "location": "path" - }, - "pageToken": { - "location": "query", - "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListCreativeStatusBreakdownByCreativeResponse.nextPageToken\nreturned from the previous call to the\naccounts.filterSets.filteredBids.creatives.list\nmethod.", - "type": "string" - }, - "accountId": { - "description": "Account ID of the buyer.", - "format": "int64", - "required": true, - "type": "string", - "location": "path" - }, - "pageSize": { - "location": "query", - "description": "Requested page size. The server may return fewer results than requested.\nIf unspecified, the server will pick an appropriate default.", - "format": "int32", - "type": "integer" - }, - "filterSetId": { - "required": true, - "type": "string", - "location": "path", - "description": "The ID of the filter set to apply.", - "format": "int64" - } - }, - "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/filteredBids/{creativeStatusId}/creatives", - "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/filteredBids/{creativeStatusId}/creatives", - "id": "adexchangebuyer2.accounts.filterSets.filteredBids.creatives.list" - } - }, - "resources": { - "details": { - "methods": { - "list": { - "response": { - "$ref": "ListCreativeStatusAndCreativeBreakdownByDetailResponse" - }, - "parameterOrder": [ - "accountId", - "filterSetId", - "creativeStatusId", - "creativeId" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/adexchange.buyer" - ], - "parameters": { - "filterSetId": { - "description": "The ID of the filter set to apply.", - "format": "int64", - "required": true, - "type": "string", - "location": "path" - }, - "pageToken": { - "location": "query", - "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListCreativeStatusAndCreativeBreakdownByDetailResponse.nextPageToken\nreturned from the previous call to the\naccounts.filterSets.filteredBids.creatives.details.list\nmethod.", - "type": "string" - }, - "pageSize": { - "location": "query", - "description": "Requested page size. The server may return fewer results than requested.\nIf unspecified, the server will pick an appropriate default.", - "format": "int32", - "type": "integer" - }, - "creativeId": { - "description": "The creative ID for which to retrieve a breakdown by detail.", - "required": true, - "type": "string", - "location": "path" - }, - "creativeStatusId": { - "location": "path", - "description": "The ID of the creative status for which to retrieve a breakdown by detail.\nSee\n[creative-status-codes](https://developers.google.com/ad-exchange/rtb/downloads/creative-status-codes).", - "format": "int32", - "required": true, - "type": "integer" - }, - "accountId": { - "location": "path", - "description": "Account ID of the buyer.", - "format": "int64", - "required": true, - "type": "string" - } - }, - "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/filteredBids/{creativeStatusId}/creatives/{creativeId}/details", - "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/filteredBids/{creativeStatusId}/creatives/{creativeId}/details", - "id": "adexchangebuyer2.accounts.filterSets.filteredBids.creatives.details.list", - "description": "List all details associated with a specific reason for which bids were\nfiltered and a specific creative that was filtered for that reason, with\nthe number of bids filtered for each detail." - } - } + "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/filteredBids/{creativeStatusId}/details", + "id": "adexchangebuyer2.accounts.filterSets.filteredBids.details.list", + "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/filteredBids/{creativeStatusId}/details" } } } - } - }, - "nonBillableWinningBids": { + }, "methods": { "list": { - "description": "List all reasons for which winning bids were not billable, with the number\nof bids not billed for each reason.", + "httpMethod": "GET", + "parameterOrder": [ + "accountId", + "filterSetId" + ], "response": { - "$ref": "ListNonBillableWinningBidsResponse" + "$ref": "ListFilteredBidsResponse" + }, + "parameters": { + "pageToken": { + "location": "query", + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListFilteredBidsResponse.nextPageToken\nreturned from the previous call to the\naccounts.filterSets.filteredBids.list\nmethod.", + "type": "string" + }, + "pageSize": { + "format": "int32", + "description": "Requested page size. The server may return fewer results than requested.\nIf unspecified, the server will pick an appropriate default.", + "type": "integer", + "location": "query" + }, + "accountId": { + "location": "path", + "format": "int64", + "description": "Account ID of the buyer.", + "type": "string", + "required": true + }, + "filterSetId": { + "format": "int64", + "description": "The ID of the filter set to apply.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], + "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/filteredBids", + "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/filteredBids", + "id": "adexchangebuyer2.accounts.filterSets.filteredBids.list", + "description": "List all reasons for which bids were filtered, with the number of bids\nfiltered for each reason." + } + } + }, + "losingBids": { + "methods": { + "list": { + "id": "adexchangebuyer2.accounts.filterSets.losingBids.list", + "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/losingBids", + "description": "List all reasons for which bids lost in the auction, with the number of\nbids that lost for each reason.", + "response": { + "$ref": "ListLosingBidsResponse" }, "parameterOrder": [ "accountId", "filterSetId" ], "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ], "parameters": { "pageToken": { - "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListNonBillableWinningBidsResponse.nextPageToken\nreturned from the previous call to the\naccounts.filterSets.nonBillableWinningBids.list\nmethod.", + "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListLosingBidsResponse.nextPageToken\nreturned from the previous call to the\naccounts.filterSets.losingBids.list\nmethod.", "type": "string", "location": "query" }, - "accountId": { - "location": "path", - "description": "Account ID of the buyer.", - "format": "int64", - "required": true, - "type": "string" - }, "pageSize": { "location": "query", - "description": "Requested page size. The server may return fewer results than requested.\nIf unspecified, the server will pick an appropriate default.", "format": "int32", + "description": "Requested page size. The server may return fewer results than requested.\nIf unspecified, the server will pick an appropriate default.", "type": "integer" }, + "accountId": { + "format": "int64", + "description": "Account ID of the buyer.", + "type": "string", + "required": true, + "location": "path" + }, "filterSetId": { "location": "path", + "format": "int64", "description": "The ID of the filter set to apply.", - "format": "int64", - "required": true, - "type": "string" + "type": "string", + "required": true } }, - "scopes": [ - "https://www.googleapis.com/auth/adexchange.buyer" - ], - "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/nonBillableWinningBids", - "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/nonBillableWinningBids", - "id": "adexchangebuyer2.accounts.filterSets.nonBillableWinningBids.list" - } - } - } - } - }, - "clients": { - "methods": { - "get": { - "path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}", - "id": "adexchangebuyer2.accounts.clients.get", - "description": "Gets a client buyer with a given client account ID.", - "response": { - "$ref": "Client" - }, - "parameterOrder": [ - "accountId", - "clientAccountId" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/adexchange.buyer" - ], - "parameters": { - "clientAccountId": { - "location": "path", - "description": "Numerical account ID of the client buyer to retrieve. (required)", - "format": "int64", - "required": true, - "type": "string" - }, - "accountId": { - "location": "path", - "description": "Numerical account ID of the client's sponsor buyer. (required)", - "format": "int64", - "required": true, - "type": "string" - } - }, - "flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}" - }, - "list": { - "path": "v2beta1/accounts/{accountId}/clients", - "id": "adexchangebuyer2.accounts.clients.list", - "description": "Lists all the clients for the current sponsor buyer.", - "response": { - "$ref": "ListClientsResponse" - }, - "httpMethod": "GET", - "parameterOrder": [ - "accountId" - ], - "parameters": { - "pageToken": { - "location": "query", - "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListClientsResponse.nextPageToken\nreturned from the previous call to the\naccounts.clients.list method.", - "type": "string" - }, - "accountId": { - "description": "Unique numerical account ID of the sponsor buyer to list the clients for.", - "format": "int64", - "required": true, - "type": "string", - "location": "path" - }, - "pageSize": { - "description": "Requested page size. The server may return fewer clients than requested.\nIf unspecified, the server will pick an appropriate default.", - "format": "int32", - "type": "integer", - "location": "query" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/adexchange.buyer" - ], - "flatPath": "v2beta1/accounts/{accountId}/clients" - }, - "update": { - "httpMethod": "PUT", - "parameterOrder": [ - "accountId", - "clientAccountId" - ], - "response": { - "$ref": "Client" - }, - "parameters": { - "accountId": { - "description": "Unique numerical account ID for the buyer of which the client buyer\nis a customer; the sponsor buyer to update a client for. (required)", - "format": "int64", - "required": true, - "type": "string", - "location": "path" - }, - "clientAccountId": { - "description": "Unique numerical account ID of the client to update. (required)", - "format": "int64", - "required": true, - "type": "string", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/adexchange.buyer" - ], - "flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}", - "id": "adexchangebuyer2.accounts.clients.update", - "path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}", - "request": { - "$ref": "Client" - }, - "description": "Updates an existing client buyer." - }, - "create": { - "description": "Creates a new client buyer.", - "request": { - "$ref": "Client" - }, - "httpMethod": "POST", - "parameterOrder": [ - "accountId" - ], - "response": { - "$ref": "Client" - }, - "scopes": [ - "https://www.googleapis.com/auth/adexchange.buyer" - ], - "parameters": { - "accountId": { - "location": "path", - "description": "Unique numerical account ID for the buyer of which the client buyer\nis a customer; the sponsor buyer to create a client for. (required)", - "format": "int64", - "required": true, - "type": "string" - } - }, - "flatPath": "v2beta1/accounts/{accountId}/clients", - "id": "adexchangebuyer2.accounts.clients.create", - "path": "v2beta1/accounts/{accountId}/clients" - } - }, - "resources": { - "invitations": { - "methods": { - "get": { - "response": { - "$ref": "ClientUserInvitation" - }, - "parameterOrder": [ - "accountId", - "clientAccountId", - "invitationId" - ], - "httpMethod": "GET", - "parameters": { - "invitationId": { - "description": "Numerical identifier of the user invitation to retrieve. (required)", - "format": "int64", - "required": true, - "type": "string", - "location": "path" - }, - "accountId": { - "required": true, - "type": "string", - "location": "path", - "description": "Numerical account ID of the client's sponsor buyer. (required)", - "format": "int64" - }, - "clientAccountId": { - "description": "Numerical account ID of the client buyer that the user invitation\nto be retrieved is associated with. (required)", - "format": "int64", - "required": true, - "type": "string", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/adexchange.buyer" - ], - "flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations/{invitationId}", - "path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations/{invitationId}", - "id": "adexchangebuyer2.accounts.clients.invitations.get", - "description": "Retrieves an existing client user invitation." - }, - "list": { - "description": "Lists all the client users invitations for a client\nwith a given account ID.", - "response": { - "$ref": "ListClientUserInvitationsResponse" - }, - "parameterOrder": [ - "accountId", - "clientAccountId" - ], - "httpMethod": "GET", - "parameters": { - "pageToken": { - "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListClientUserInvitationsResponse.nextPageToken\nreturned from the previous call to the\nclients.invitations.list\nmethod.", - "type": "string", - "location": "query" - }, - "accountId": { - "required": true, - "type": "string", - "location": "path", - "description": "Numerical account ID of the client's sponsor buyer. (required)", - "format": "int64" - }, - "pageSize": { - "location": "query", - "description": "Requested page size. Server may return fewer clients than requested.\nIf unspecified, server will pick an appropriate default.", - "format": "int32", - "type": "integer" - }, - "clientAccountId": { - "location": "path", - "description": "Numerical account ID of the client buyer to list invitations for.\n(required)\nYou must either specify a string representation of a\nnumerical account identifier or the `-` character\nto list all the invitations for all the clients\nof a given sponsor buyer.", - "required": true, - "type": "string" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/adexchange.buyer" - ], - "flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations", - "path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations", - "id": "adexchangebuyer2.accounts.clients.invitations.list" - }, - "create": { - "description": "Creates and sends out an email invitation to access\nan Ad Exchange client buyer account.", - "request": { - "$ref": "ClientUserInvitation" - }, - "response": { - "$ref": "ClientUserInvitation" - }, - "parameterOrder": [ - "accountId", - "clientAccountId" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/adexchange.buyer" - ], - "parameters": { - "accountId": { - "location": "path", - "description": "Numerical account ID of the client's sponsor buyer. (required)", - "format": "int64", - "required": true, - "type": "string" - }, - "clientAccountId": { - "required": true, - "type": "string", - "location": "path", - "description": "Numerical account ID of the client buyer that the user\nshould be associated with. (required)", - "format": "int64" - } - }, - "flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations", - "path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations", - "id": "adexchangebuyer2.accounts.clients.invitations.create" - } - } - }, - "users": { - "methods": { - "list": { - "httpMethod": "GET", - "parameterOrder": [ - "accountId", - "clientAccountId" - ], - "response": { - "$ref": "ListClientUsersResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/adexchange.buyer" - ], - "parameters": { - "pageToken": { - "location": "query", - "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListClientUsersResponse.nextPageToken\nreturned from the previous call to the\naccounts.clients.users.list method.", - "type": "string" - }, - "accountId": { - "description": "Numerical account ID of the sponsor buyer of the client to list users for.\n(required)", - "format": "int64", - "required": true, - "type": "string", - "location": "path" - }, - "pageSize": { - "location": "query", - "description": "Requested page size. The server may return fewer clients than requested.\nIf unspecified, the server will pick an appropriate default.", - "format": "int32", - "type": "integer" - }, - "clientAccountId": { - "required": true, - "type": "string", - "location": "path", - "description": "The account ID of the client buyer to list users for. (required)\nYou must specify either a string representation of a\nnumerical account identifier or the `-` character\nto list all the client users for all the clients\nof a given sponsor buyer." - } - }, - "flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/users", - "id": "adexchangebuyer2.accounts.clients.users.list", - "path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/users", - "description": "Lists all the known client users for a specified\nsponsor buyer account ID." - }, - "get": { - "httpMethod": "GET", - "parameterOrder": [ - "accountId", - "clientAccountId", - "userId" - ], - "response": { - "$ref": "ClientUser" - }, - "scopes": [ - "https://www.googleapis.com/auth/adexchange.buyer" - ], - "parameters": { - "userId": { - "description": "Numerical identifier of the user to retrieve. (required)", - "format": "int64", - "required": true, - "type": "string", - "location": "path" - }, - "accountId": { - "description": "Numerical account ID of the client's sponsor buyer. (required)", - "format": "int64", - "required": true, - "type": "string", - "location": "path" - }, - "clientAccountId": { - "location": "path", - "description": "Numerical account ID of the client buyer\nthat the user to be retrieved is associated with. (required)", - "format": "int64", - "required": true, - "type": "string" - } - }, - "flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/users/{userId}", - "id": "adexchangebuyer2.accounts.clients.users.get", - "path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/users/{userId}", - "description": "Retrieves an existing client user." - }, - "update": { - "path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/users/{userId}", - "id": "adexchangebuyer2.accounts.clients.users.update", - "description": "Updates an existing client user.\nOnly the user status can be changed on update.", - "request": { - "$ref": "ClientUser" - }, - "response": { - "$ref": "ClientUser" - }, - "parameterOrder": [ - "accountId", - "clientAccountId", - "userId" - ], - "httpMethod": "PUT", - "scopes": [ - "https://www.googleapis.com/auth/adexchange.buyer" - ], - "parameters": { - "userId": { - "description": "Numerical identifier of the user to retrieve. (required)", - "format": "int64", - "required": true, - "type": "string", - "location": "path" - }, - "accountId": { - "location": "path", - "description": "Numerical account ID of the client's sponsor buyer. (required)", - "format": "int64", - "required": true, - "type": "string" - }, - "clientAccountId": { - "location": "path", - "description": "Numerical account ID of the client buyer that the user to be retrieved\nis associated with. (required)", - "format": "int64", - "required": true, - "type": "string" - } - }, - "flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/users/{userId}" + "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/losingBids" } } } @@ -3261,48 +3159,6 @@ } }, "parameters": { - "quotaUser": { - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" - }, - "pp": { - "description": "Pretty-print response.", - "type": "boolean", - "default": "true", - "location": "query" - }, - "oauth_token": { - "location": "query", - "description": "OAuth 2.0 token for the current user.", - "type": "string" - }, - "bearer_token": { - "description": "OAuth bearer token.", - "type": "string", - "location": "query" - }, - "upload_protocol": { - "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string" - }, - "prettyPrint": { - "location": "query", - "description": "Returns response with indentations and line breaks.", - "type": "boolean", - "default": "true" - }, - "fields": { - "location": "query", - "description": "Selector specifying which fields to include in a partial response.", - "type": "string" - }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string", - "location": "query" - }, "$.xgafv": { "enumDescriptions": [ "v1 error format", @@ -3317,11 +3173,13 @@ "type": "string" }, "callback": { - "location": "query", "description": "JSONP", - "type": "string" + "type": "string", + "location": "query" }, "alt": { + "description": "Data format for response.", + "default": "json", "enum": [ "json", "media", @@ -3333,21 +3191,64 @@ "Media download with context-dependent Content-Type", "Responses with Content-Type of application/x-protobuf" ], - "location": "query", - "description": "Data format for response.", - "default": "json" - }, - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string", "location": "query" }, "access_token": { "description": "OAuth access token.", "type": "string", "location": "query" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", + "location": "query" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" + }, + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, + "bearer_token": { + "type": "string", + "location": "query", + "description": "OAuth bearer token." + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", + "location": "query" + }, + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, + "prettyPrint": { + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "uploadType": { + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", + "location": "query" } }, "version": "v2beta1", - "baseUrl": "https://adexchangebuyer.googleapis.com/" + "baseUrl": "https://adexchangebuyer.googleapis.com/", + "servicePath": "", + "description": "Accesses the latest features for managing Ad Exchange accounts, Real-Time Bidding configurations and auction metrics, and Marketplace programmatic deals.", + "kind": "discovery#restDescription" } diff --git a/vendor/google.golang.org/api/adexchangebuyer2/v2beta1/adexchangebuyer2-gen.go b/vendor/google.golang.org/api/adexchangebuyer2/v2beta1/adexchangebuyer2-gen.go index 0452d21cb..d7e27b2fe 100644 --- a/vendor/google.golang.org/api/adexchangebuyer2/v2beta1/adexchangebuyer2-gen.go +++ b/vendor/google.golang.org/api/adexchangebuyer2/v2beta1/adexchangebuyer2-gen.go @@ -1,6 +1,6 @@ // Package adexchangebuyer2 provides access to the Ad Exchange Buyer API II. // -// See https://developers.google.com/ad-exchange/buyer-rest/guides/client-access/ +// See https://developers.google.com/ad-exchange/buyer-rest/reference/rest/ // // Usage example: // @@ -233,23 +233,11 @@ type AccountsFilterSetsFilteredBidsService struct { func NewAccountsFilterSetsFilteredBidsCreativesService(s *Service) *AccountsFilterSetsFilteredBidsCreativesService { rs := &AccountsFilterSetsFilteredBidsCreativesService{s: s} - rs.Details = NewAccountsFilterSetsFilteredBidsCreativesDetailsService(s) return rs } type AccountsFilterSetsFilteredBidsCreativesService struct { s *Service - - Details *AccountsFilterSetsFilteredBidsCreativesDetailsService -} - -func NewAccountsFilterSetsFilteredBidsCreativesDetailsService(s *Service) *AccountsFilterSetsFilteredBidsCreativesDetailsService { - rs := &AccountsFilterSetsFilteredBidsCreativesDetailsService{s: s} - return rs -} - -type AccountsFilterSetsFilteredBidsCreativesDetailsService struct { - s *Service } func NewAccountsFilterSetsFilteredBidsDetailsService(s *Service) *AccountsFilterSetsFilteredBidsDetailsService { @@ -1569,8 +1557,8 @@ type FilterSet struct { // optional. // // Possible values: - // "INTERVAL_UNSPECIFIED" - A placeholder for an unspecified interval; - // no time series is applied. + // "TIME_SERIES_GRANULARITY_UNSPECIFIED" - A placeholder for an + // unspecified interval; no time series is applied. // All rows in response will contain data for the entire requested time // range. // "HOURLY" - Indicates that data will be broken down by the hour. @@ -2106,81 +2094,6 @@ func (s *ListClientsResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ListCreativeStatusAndCreativeBreakdownByDetailResponse: Response -// message for listing all details associated with a given filtered -// bid -// reason and a given creative. -type ListCreativeStatusAndCreativeBreakdownByDetailResponse struct { - // DetailType: The type of detail that the detail IDs represent. - // - // Possible values: - // "TYPE_UNSPECIFIED" - A placeholder for an undefined status. - // This value will never be returned in responses. - // "CREATIVE_ATTRIBUTE" - Indicates that the detail ID refers to a - // creative attribute; - // see - // [publisher-excludable-creative-attributes](https://developers.goog - // le.com/ad-exchange/rtb/downloads/publisher-excludable-creative-attribu - // tes). - // "VENDOR" - Indicates that the detail ID refers to a vendor; - // see - // [vendors](https://developers.google.com/ad-exchange/rtb/downloads/ - // vendors). - // "SENSITIVE_CATEGORY" - Indicates that the detail ID refers to a - // sensitive category; - // see - // [ad-sensitive-categories](https://developers.google.com/ad-exchang - // e/rtb/downloads/ad-sensitive-categories). - // "PRODUCT_CATEGORY" - Indicates that the detail ID refers to a - // product category; - // see - // [ad-product-categories](https://developers.google.com/ad-exchange/ - // rtb/downloads/ad-product-categories). - DetailType string `json:"detailType,omitempty"` - - // FilteredBidDetailRows: List of rows, with counts of bids with a given - // creative status and - // creative, aggregated by detail. - FilteredBidDetailRows []*FilteredBidDetailRow `json:"filteredBidDetailRows,omitempty"` - - // NextPageToken: A token to retrieve the next page of results. - // Pass this value in - // the - // ListCreativeStatusAndCreativeBreakdownByDetailRequest.pageToken - // fi - // eld in the subsequent call to - // the - // accounts.filterSets.filteredBids.creatives.details.list - // method to retrieve the next page of results. - NextPageToken string `json:"nextPageToken,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` - - // ForceSendFields is a list of field names (e.g. "DetailType") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "DetailType") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *ListCreativeStatusAndCreativeBreakdownByDetailResponse) MarshalJSON() ([]byte, error) { - type noMethod ListCreativeStatusAndCreativeBreakdownByDetailResponse - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // ListCreativeStatusBreakdownByCreativeResponse: Response message for // listing all creatives associated with a given filtered // bid reason. @@ -2236,7 +2149,8 @@ type ListCreativeStatusBreakdownByDetailResponse struct { // DetailType: The type of detail that the detail IDs represent. // // Possible values: - // "TYPE_UNSPECIFIED" - A placeholder for an undefined status. + // "DETAIL_TYPE_UNSPECIFIED" - A placeholder for an undefined + // status. // This value will never be returned in responses. // "CREATIVE_ATTRIBUTE" - Indicates that the detail ID refers to a // creative attribute; @@ -2258,6 +2172,11 @@ type ListCreativeStatusBreakdownByDetailResponse struct { // see // [ad-product-categories](https://developers.google.com/ad-exchange/ // rtb/downloads/ad-product-categories). + // "DISAPPROVAL_REASON" - Indicates that the detail ID refers to a + // disapproval reason; see + // DisapprovalReason enum in + // [snippet-status-report-proto](https://developers.google.com/ad-exchang + // e/rtb/downloads/snippet-status-report-proto). DetailType string `json:"detailType,omitempty"` // FilteredBidDetailRows: List of rows, with counts of bids with a given @@ -3207,22 +3126,7 @@ func (s *ServingRestriction) MarshalJSON() ([]byte, error) { type StopWatchingCreativeRequest struct { } -// TimeInterval: An interval of time, with an absolute start and -// end. -// This is included in the response, for several reasons: -// 1) The request may have specified start or end times relative to the -// time the -// request was sent; the response indicates the corresponding -// absolute time -// interval. -// 2) The request may have specified an end time past the latest time -// for which -// data was available (e.g. if requesting data for the today); the -// response -// indicates the latest time for which data was actually returned. -// 3) The response data for a single request may be broken down into -// multiple -// time intervals, if a time series was requested. +// TimeInterval: An interval of time, with an absolute start and end. type TimeInterval struct { // EndTime: The timestamp marking the end of the range (exclusive) for // which data is @@ -5336,10 +5240,12 @@ func (c *AccountsCreativesListCall) PageToken(pageToken string) *AccountsCreativ // not_checked} //
  • attribute: {a numeric attribute from the list of // attributes} -//
  • disapprovalReason: {a reason from +//
  • disapprovalReason: {a reason +// from // DisapprovalReason // -// Example: 'accountId=12345 AND (dealsStatus:disapproved AND +// Example: 'accountId=12345 AND (dealsStatus:disapproved +// AND // disapprovalReason:unacceptable_content) OR attribute:47' func (c *AccountsCreativesListCall) Query(query string) *AccountsCreativesListCall { c.urlParams_.Set("query", query) @@ -5466,7 +5372,7 @@ func (c *AccountsCreativesListCall) Do(opts ...googleapi.CallOption) (*ListCreat // "type": "string" // }, // "query": { - // "description": "An optional query string to filter creatives. If no filter is specified,\nall active creatives will be returned.\nSupported queries are:\n\u003cul\u003e\n\u003cli\u003eaccountId=\u003ci\u003eaccount_id_string\u003c/i\u003e\n\u003cli\u003ecreativeId=\u003ci\u003ecreative_id_string\u003c/i\u003e\n\u003cli\u003edealsStatus: {approved, conditionally_approved, disapproved,\n not_checked}\n\u003cli\u003eopenAuctionStatus: {approved, conditionally_approved, disapproved,\n not_checked}\n\u003cli\u003eattribute: {a numeric attribute from the list of attributes}\n\u003cli\u003edisapprovalReason: {a reason from DisapprovalReason\n\u003c/ul\u003e\nExample: 'accountId=12345 AND (dealsStatus:disapproved AND disapprovalReason:unacceptable_content) OR attribute:47'", + // "description": "An optional query string to filter creatives. If no filter is specified,\nall active creatives will be returned.\nSupported queries are:\n\u003cul\u003e\n\u003cli\u003eaccountId=\u003ci\u003eaccount_id_string\u003c/i\u003e\n\u003cli\u003ecreativeId=\u003ci\u003ecreative_id_string\u003c/i\u003e\n\u003cli\u003edealsStatus: {approved, conditionally_approved, disapproved,\n not_checked}\n\u003cli\u003eopenAuctionStatus: {approved, conditionally_approved, disapproved,\n not_checked}\n\u003cli\u003eattribute: {a numeric attribute from the list of attributes}\n\u003cli\u003edisapprovalReason: {a reason from\nDisapprovalReason\n\u003c/ul\u003e\nExample: 'accountId=12345 AND (dealsStatus:disapproved AND\ndisapprovalReason:unacceptable_content) OR attribute:47'", // "location": "query", // "type": "string" // } @@ -8339,239 +8245,6 @@ func (c *AccountsFilterSetsFilteredBidsCreativesListCall) Pages(ctx context.Cont } } -// method id "adexchangebuyer2.accounts.filterSets.filteredBids.creatives.details.list": - -type AccountsFilterSetsFilteredBidsCreativesDetailsListCall struct { - s *Service - accountId int64 - filterSetId int64 - creativeStatusId int64 - creativeId string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header -} - -// List: List all details associated with a specific reason for which -// bids were -// filtered and a specific creative that was filtered for that reason, -// with -// the number of bids filtered for each detail. -func (r *AccountsFilterSetsFilteredBidsCreativesDetailsService) List(accountId int64, filterSetId int64, creativeStatusId int64, creativeId string) *AccountsFilterSetsFilteredBidsCreativesDetailsListCall { - c := &AccountsFilterSetsFilteredBidsCreativesDetailsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.accountId = accountId - c.filterSetId = filterSetId - c.creativeStatusId = creativeStatusId - c.creativeId = creativeId - return c -} - -// PageSize sets the optional parameter "pageSize": Requested page size. -// The server may return fewer results than requested. -// If unspecified, the server will pick an appropriate default. -func (c *AccountsFilterSetsFilteredBidsCreativesDetailsListCall) PageSize(pageSize int64) *AccountsFilterSetsFilteredBidsCreativesDetailsListCall { - c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) - return c -} - -// PageToken sets the optional parameter "pageToken": A token -// identifying a page of results the server should return. -// Typically, this is the value -// of -// ListCreativeStatusAndCreativeBreakdownByDetailResponse.nextPageToke -// n -// returned from the previous call to -// the -// accounts.filterSets.filteredBids.creatives.details.list -// method. -func (c *AccountsFilterSetsFilteredBidsCreativesDetailsListCall) PageToken(pageToken string) *AccountsFilterSetsFilteredBidsCreativesDetailsListCall { - 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 information. -func (c *AccountsFilterSetsFilteredBidsCreativesDetailsListCall) Fields(s ...googleapi.Field) *AccountsFilterSetsFilteredBidsCreativesDetailsListCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// IfNoneMatch sets the optional parameter which makes the operation -// fail if the object's ETag matches the given value. This is useful for -// getting updates only after the object has changed since the last -// request. Use googleapi.IsNotModified to check whether the response -// error from Do is the result of In-None-Match. -func (c *AccountsFilterSetsFilteredBidsCreativesDetailsListCall) IfNoneMatch(entityTag string) *AccountsFilterSetsFilteredBidsCreativesDetailsListCall { - c.ifNoneMatch_ = entityTag - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *AccountsFilterSetsFilteredBidsCreativesDetailsListCall) Context(ctx context.Context) *AccountsFilterSetsFilteredBidsCreativesDetailsListCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *AccountsFilterSetsFilteredBidsCreativesDetailsListCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *AccountsFilterSetsFilteredBidsCreativesDetailsListCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } - var body io.Reader = nil - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/filteredBids/{creativeStatusId}/creatives/{creativeId}/details") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("GET", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "accountId": strconv.FormatInt(c.accountId, 10), - "filterSetId": strconv.FormatInt(c.filterSetId, 10), - "creativeStatusId": strconv.FormatInt(c.creativeStatusId, 10), - "creativeId": c.creativeId, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "adexchangebuyer2.accounts.filterSets.filteredBids.creatives.details.list" call. -// Exactly one of -// *ListCreativeStatusAndCreativeBreakdownByDetailResponse or error will -// be non-nil. Any non-2xx status code is an error. Response headers are -// in either -// *ListCreativeStatusAndCreativeBreakdownByDetailResponse.ServerResponse -// .Header or (if a response was returned at all) in -// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check -// whether the returned error was because http.StatusNotModified was -// returned. -func (c *AccountsFilterSetsFilteredBidsCreativesDetailsListCall) Do(opts ...googleapi.CallOption) (*ListCreativeStatusAndCreativeBreakdownByDetailResponse, 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, &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, err - } - ret := &ListCreativeStatusAndCreativeBreakdownByDetailResponse{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "List all details associated with a specific reason for which bids were\nfiltered and a specific creative that was filtered for that reason, with\nthe number of bids filtered for each detail.", - // "flatPath": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/filteredBids/{creativeStatusId}/creatives/{creativeId}/details", - // "httpMethod": "GET", - // "id": "adexchangebuyer2.accounts.filterSets.filteredBids.creatives.details.list", - // "parameterOrder": [ - // "accountId", - // "filterSetId", - // "creativeStatusId", - // "creativeId" - // ], - // "parameters": { - // "accountId": { - // "description": "Account ID of the buyer.", - // "format": "int64", - // "location": "path", - // "required": true, - // "type": "string" - // }, - // "creativeId": { - // "description": "The creative ID for which to retrieve a breakdown by detail.", - // "location": "path", - // "required": true, - // "type": "string" - // }, - // "creativeStatusId": { - // "description": "The ID of the creative status for which to retrieve a breakdown by detail.\nSee\n[creative-status-codes](https://developers.google.com/ad-exchange/rtb/downloads/creative-status-codes).", - // "format": "int32", - // "location": "path", - // "required": true, - // "type": "integer" - // }, - // "filterSetId": { - // "description": "The ID of the filter set to apply.", - // "format": "int64", - // "location": "path", - // "required": true, - // "type": "string" - // }, - // "pageSize": { - // "description": "Requested page size. The server may return fewer results than requested.\nIf unspecified, the server will pick an appropriate default.", - // "format": "int32", - // "location": "query", - // "type": "integer" - // }, - // "pageToken": { - // "description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListCreativeStatusAndCreativeBreakdownByDetailResponse.nextPageToken\nreturned from the previous call to the\naccounts.filterSets.filteredBids.creatives.details.list\nmethod.", - // "location": "query", - // "type": "string" - // } - // }, - // "path": "v2beta1/accounts/{accountId}/filterSets/{filterSetId}/filteredBids/{creativeStatusId}/creatives/{creativeId}/details", - // "response": { - // "$ref": "ListCreativeStatusAndCreativeBreakdownByDetailResponse" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/adexchange.buyer" - // ] - // } - -} - -// 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 *AccountsFilterSetsFilteredBidsCreativesDetailsListCall) Pages(ctx context.Context, f func(*ListCreativeStatusAndCreativeBreakdownByDetailResponse) error) error { - c.ctx_ = ctx - defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point - 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) - } -} - // method id "adexchangebuyer2.accounts.filterSets.filteredBids.details.list": type AccountsFilterSetsFilteredBidsDetailsListCall struct { @@ -8734,7 +8407,7 @@ func (c *AccountsFilterSetsFilteredBidsDetailsListCall) Do(opts ...googleapi.Cal // "type": "string" // }, // "creativeStatusId": { - // "description": "The ID of the creative status for which to retrieve a breakdown by detail.\nSee\n[creative-status-codes](https://developers.google.com/ad-exchange/rtb/downloads/creative-status-codes).", + // "description": "The ID of the creative status for which to retrieve a breakdown by detail.\nSee\n[creative-status-codes](https://developers.google.com/ad-exchange/rtb/downloads/creative-status-codes).\nDetails are only available for statuses 10, 14, 15, 17, 18, 19, 86, and 87.", // "format": "int32", // "location": "path", // "required": true, diff --git a/vendor/google.golang.org/api/adexchangeseller/v1.1/adexchangeseller-api.json b/vendor/google.golang.org/api/adexchangeseller/v1.1/adexchangeseller-api.json index e2032b9ca..9dae67df8 100644 --- a/vendor/google.golang.org/api/adexchangeseller/v1.1/adexchangeseller-api.json +++ b/vendor/google.golang.org/api/adexchangeseller/v1.1/adexchangeseller-api.json @@ -21,7 +21,7 @@ "basePath": "/adexchangeseller/v1.1/", "rootUrl": "https://www.googleapis.com/", "servicePath": "adexchangeseller/v1.1/", - "batchPath": "batch", + "batchPath": "batch/adexchangeseller/v1.1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/adexchangeseller/v1/adexchangeseller-api.json b/vendor/google.golang.org/api/adexchangeseller/v1/adexchangeseller-api.json index bed2ec9ce..19545cba9 100644 --- a/vendor/google.golang.org/api/adexchangeseller/v1/adexchangeseller-api.json +++ b/vendor/google.golang.org/api/adexchangeseller/v1/adexchangeseller-api.json @@ -21,7 +21,7 @@ "basePath": "/adexchangeseller/v1/", "rootUrl": "https://www.googleapis.com/", "servicePath": "adexchangeseller/v1/", - "batchPath": "batch", + "batchPath": "batch/adexchangeseller/v1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/adexchangeseller/v2.0/adexchangeseller-api.json b/vendor/google.golang.org/api/adexchangeseller/v2.0/adexchangeseller-api.json index cc30a1ea5..99d812aed 100644 --- a/vendor/google.golang.org/api/adexchangeseller/v2.0/adexchangeseller-api.json +++ b/vendor/google.golang.org/api/adexchangeseller/v2.0/adexchangeseller-api.json @@ -21,7 +21,7 @@ "basePath": "/adexchangeseller/v2.0/", "rootUrl": "https://www.googleapis.com/", "servicePath": "adexchangeseller/v2.0/", - "batchPath": "batch", + "batchPath": "batch/adexchangeseller/v2.0", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/adexperiencereport/v1/adexperiencereport-api.json b/vendor/google.golang.org/api/adexperiencereport/v1/adexperiencereport-api.json index 9b011aca9..4bea68b59 100644 --- a/vendor/google.golang.org/api/adexperiencereport/v1/adexperiencereport-api.json +++ b/vendor/google.golang.org/api/adexperiencereport/v1/adexperiencereport-api.json @@ -1,6 +1,4 @@ { - "discoveryVersion": "v1", - "version_module": "True", "schemas": { "ViolatingSitesResponse": { "description": "Response message for ListViolatingSites.", @@ -20,6 +18,10 @@ "description": "Response message for GetSiteSummary.", "type": "object", "properties": { + "mobileSummary": { + "description": "Summary for the mobile review of the site.", + "$ref": "PlatformSummary" + }, "reviewedSite": { "description": "The name of the site reviewed.", "type": "string" @@ -27,19 +29,24 @@ "desktopSummary": { "description": "Summary for the desktop review of the site.", "$ref": "PlatformSummary" - }, - "mobileSummary": { - "$ref": "PlatformSummary", - "description": "Summary for the mobile review of the site." } }, "id": "SiteSummaryResponse" }, "PlatformSummary": { - "description": "Summary of the ads rating of a site for a specific platform.", - "type": "object", "properties": { + "lastChangeTime": { + "format": "google-datetime", + "description": "The last time that the site changed status.", + "type": "string" + }, "betterAdsStatus": { + "enum": [ + "UNKNOWN", + "PASSING", + "WARNING", + "FAILING" + ], "description": "The status of the site reviewed for the Better Ads Standards.", "type": "string", "enumDescriptions": [ @@ -47,19 +54,8 @@ "Passing.", "Warning.", "Failing." - ], - "enum": [ - "UNKNOWN", - "PASSING", - "WARNING", - "FAILING" ] }, - "enforcementTime": { - "format": "google-datetime", - "description": "The date on which ad filtering begins.", - "type": "string" - }, "region": { "enumDescriptions": [ "Ad standard not yet defined for your region.", @@ -68,18 +64,21 @@ ], "description": "The assigned regions for the site and platform.", "items": { - "type": "string", "enum": [ "REGION_UNKNOWN", "REGION_A", "REGION_B" - ] + ], + "type": "string" }, "type": "array" }, + "enforcementTime": { + "format": "google-datetime", + "description": "The date on which ad filtering begins.", + "type": "string" + }, "filterStatus": { - "description": "The ad filtering status of the site.", - "type": "string", "enumDescriptions": [ "N/A.", "Ad filtering is on.", @@ -93,7 +92,9 @@ "OFF", "PAUSED", "PENDING" - ] + ], + "description": "The ad filtering status of the site.", + "type": "string" }, "underReview": { "description": "Whether the site is currently under review.", @@ -102,35 +103,18 @@ "reportUrl": { "description": "A link that leads to a full ad experience report.", "type": "string" - }, - "lastChangeTime": { - "format": "google-datetime", - "description": "The last time that the site changed status.", - "type": "string" - }, - "egregiousStatus": { - "enumDescriptions": [ - "Not reviewed.", - "Passing.", - "Failing." - ], - "enum": [ - "UNKNOWN", - "PASSING", - "FAILING" - ], - "description": "The status of the site reviewed for egregious ads.", - "type": "string" } }, - "id": "PlatformSummary" + "id": "PlatformSummary", + "description": "Summary of the ad experience rating of a site for a specific platform.", + "type": "object" } }, - "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" - }, "protocol": "rest", + "icons": { + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" + }, "canonicalName": "Ad Experience Report", "auth": { "oauth2": { @@ -148,94 +132,90 @@ "title": "Google Ad Experience Report API", "ownerName": "Google", "resources": { - "sites": { - "methods": { - "get": { - "description": "Gets a summary of the ads rating of a site.", - "httpMethod": "GET", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "SiteSummaryResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/xapi.zoo" - ], - "parameters": { - "name": { - "location": "path", - "description": "The required site name. It should be a site property registered in Search\nConsole. The server will return an error of BAD_REQUEST if this field is\nnot filled in.", - "type": "string", - "required": true, - "pattern": "^sites/[^/]+$" - } - }, - "flatPath": "v1/sites/{sitesId}", - "path": "v1/{+name}", - "id": "adexperiencereport.sites.get" - } - } - }, "violatingSites": { "methods": { "list": { - "flatPath": "v1/violatingSites", - "path": "v1/violatingSites", - "id": "adexperiencereport.violatingSites.list", - "description": "Lists sites with Ad Experience Report statuses of \"Failing\" or \"Warning\".", "httpMethod": "GET", "parameterOrder": [], "response": { "$ref": "ViolatingSitesResponse" }, - "parameters": {}, "scopes": [ "https://www.googleapis.com/auth/xapi.zoo" - ] + ], + "parameters": {}, + "flatPath": "v1/violatingSites", + "path": "v1/violatingSites", + "id": "adexperiencereport.violatingSites.list", + "description": "Lists sites with Ad Experience Report statuses of \"Failing\" or \"Warning\"." + } + } + }, + "sites": { + "methods": { + "get": { + "description": "Gets a summary of the ad experience rating of a site.", + "response": { + "$ref": "SiteSummaryResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/xapi.zoo" + ], + "parameters": { + "name": { + "pattern": "^sites/[^/]+$", + "location": "path", + "description": "The required site name. It should be the site property whose ad experiences\nmay have been reviewed, and it should be URL-encoded. For example,\nsites/https%3A%2F%2Fwww.google.com. The server will return an error of\nBAD_REQUEST if this field is not filled in. Note that if the site property\nis not yet verified in Search Console, the reportUrl field returned by the\nAPI will lead to the verification page, prompting the user to go through\nthat process before they can gain access to the Ad Experience Report.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/sites/{sitesId}", + "id": "adexperiencereport.sites.get", + "path": "v1/{+name}" } } } }, "parameters": { - "pp": { - "description": "Pretty-print response.", - "default": "true", - "type": "boolean", - "location": "query" - }, "bearer_token": { + "location": "query", "description": "OAuth bearer token.", - "type": "string", - "location": "query" + "type": "string" }, "oauth_token": { + "location": "query", "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" + "type": "string" }, "upload_protocol": { + "location": "query", "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string", - "location": "query" + "type": "string" }, "prettyPrint": { + "location": "query", "description": "Returns response with indentations and line breaks.", "default": "true", - "type": "boolean", + "type": "boolean" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", "location": "query" }, "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string", - "location": "query" - }, - "fields": { "location": "query", - "description": "Selector specifying which fields to include in a partial response.", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", "type": "string" }, "$.xgafv": { + "description": "V1 error format.", + "type": "string", "enumDescriptions": [ "v1 error format", "v2 error format" @@ -244,14 +224,12 @@ "enum": [ "1", "2" - ], - "description": "V1 error format.", - "type": "string" + ] }, "callback": { - "location": "query", "description": "JSONP", - "type": "string" + "type": "string", + "location": "query" }, "alt": { "enum": [ @@ -270,9 +248,9 @@ "default": "json" }, "access_token": { - "location": "query", "description": "OAuth access token.", - "type": "string" + "type": "string", + "location": "query" }, "key": { "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", @@ -280,18 +258,26 @@ "location": "query" }, "quotaUser": { - "location": "query", "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" + "type": "string", + "location": "query" + }, + "pp": { + "description": "Pretty-print response.", + "default": "true", + "type": "boolean", + "location": "query" } }, "version": "v1", "baseUrl": "https://adexperiencereport.googleapis.com/", + "kind": "discovery#restDescription", "description": "View Ad Experience Report data, and get a list of sites that have a significant number of annoying ads.", "servicePath": "", - "kind": "discovery#restDescription", "basePath": "", + "id": "adexperiencereport:v1", "documentationLink": "https://developers.google.com/ad-experience-report/", - "revision": "20170628", - "id": "adexperiencereport:v1" + "revision": "20170918", + "discoveryVersion": "v1", + "version_module": true } diff --git a/vendor/google.golang.org/api/adexperiencereport/v1/adexperiencereport-gen.go b/vendor/google.golang.org/api/adexperiencereport/v1/adexperiencereport-gen.go index fd060374d..84e1dc4a5 100644 --- a/vendor/google.golang.org/api/adexperiencereport/v1/adexperiencereport-gen.go +++ b/vendor/google.golang.org/api/adexperiencereport/v1/adexperiencereport-gen.go @@ -96,8 +96,8 @@ type ViolatingSitesService struct { s *Service } -// PlatformSummary: Summary of the ads rating of a site for a specific -// platform. +// PlatformSummary: Summary of the ad experience rating of a site for a +// specific platform. type PlatformSummary struct { // BetterAdsStatus: The status of the site reviewed for the Better Ads // Standards. @@ -109,14 +109,6 @@ type PlatformSummary struct { // "FAILING" - Failing. BetterAdsStatus string `json:"betterAdsStatus,omitempty"` - // EgregiousStatus: The status of the site reviewed for egregious ads. - // - // Possible values: - // "UNKNOWN" - Not reviewed. - // "PASSING" - Passing. - // "FAILING" - Failing. - EgregiousStatus string `json:"egregiousStatus,omitempty"` - // EnforcementTime: The date on which ad filtering begins. EnforcementTime string `json:"enforcementTime,omitempty"` @@ -254,7 +246,7 @@ type SitesGetCall struct { header_ http.Header } -// Get: Gets a summary of the ads rating of a site. +// Get: Gets a summary of the ad experience rating of a site. func (r *SitesService) Get(name string) *SitesGetCall { c := &SitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -355,7 +347,7 @@ func (c *SitesGetCall) Do(opts ...googleapi.CallOption) (*SiteSummaryResponse, e } return ret, nil // { - // "description": "Gets a summary of the ads rating of a site.", + // "description": "Gets a summary of the ad experience rating of a site.", // "flatPath": "v1/sites/{sitesId}", // "httpMethod": "GET", // "id": "adexperiencereport.sites.get", @@ -364,7 +356,7 @@ func (c *SitesGetCall) Do(opts ...googleapi.CallOption) (*SiteSummaryResponse, e // ], // "parameters": { // "name": { - // "description": "The required site name. It should be a site property registered in Search\nConsole. The server will return an error of BAD_REQUEST if this field is\nnot filled in.", + // "description": "The required site name. It should be the site property whose ad experiences\nmay have been reviewed, and it should be URL-encoded. For example,\nsites/https%3A%2F%2Fwww.google.com. The server will return an error of\nBAD_REQUEST if this field is not filled in. Note that if the site property\nis not yet verified in Search Console, the reportUrl field returned by the\nAPI will lead to the verification page, prompting the user to go through\nthat process before they can gain access to the Ad Experience Report.", // "location": "path", // "pattern": "^sites/[^/]+$", // "required": true, diff --git a/vendor/google.golang.org/api/admin/datatransfer/v1/admin-api.json b/vendor/google.golang.org/api/admin/datatransfer/v1/admin-api.json index 085b19637..0f43659eb 100644 --- a/vendor/google.golang.org/api/admin/datatransfer/v1/admin-api.json +++ b/vendor/google.golang.org/api/admin/datatransfer/v1/admin-api.json @@ -22,7 +22,7 @@ "basePath": "/admin/datatransfer/v1/", "rootUrl": "https://www.googleapis.com/", "servicePath": "admin/datatransfer/v1/", - "batchPath": "batch", + "batchPath": "batch/admin/datatransfer_v1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/admin/directory/v1/admin-api.json b/vendor/google.golang.org/api/admin/directory/v1/admin-api.json index 2cf680572..33fcb8713 100644 --- a/vendor/google.golang.org/api/admin/directory/v1/admin-api.json +++ b/vendor/google.golang.org/api/admin/directory/v1/admin-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/976YNPTJkb16sYg_Lp8esJdwsGQ\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/JB19efQGH5f-JRT49yZz7BTyNQU\"", "discoveryVersion": "v1", "id": "admin:directory_v1", "name": "admin", "canonicalName": "directory", "version": "directory_v1", - "revision": "20170530", + "revision": "20170830", "title": "Admin Directory API", "description": "The Admin SDK Directory API lets you view and manage enterprise resources such as users and groups, administrative notifications, security features, and more.", "ownerDomain": "google.com", @@ -22,7 +22,7 @@ "basePath": "/admin/directory/v1/", "rootUrl": "https://www.googleapis.com/", "servicePath": "admin/directory/v1/", - "batchPath": "batch", + "batchPath": "batch/admin/directory_v1", "parameters": { "alt": { "type": "string", @@ -277,6 +277,10 @@ "type": "string", "description": "ETag of the resource." }, + "generatedResourceName": { + "type": "string", + "description": "The auto-generated name of the calendar resource which includes metadata about the resource such as building name, floor, capacity, etc. For example, NYC-2-Training Room 1A (16)" + }, "kind": { "type": "string", "description": "The type of the resource. For calendar resources, the value is admin#directory#resources#calendars#CalendarResource.", @@ -292,21 +296,11 @@ }, "resourceId": { "type": "string", - "description": "The unique ID for the calendar resource.", - "annotations": { - "required": [ - "directory.resources.calendars.insert" - ] - } + "description": "The unique ID for the calendar resource." }, "resourceName": { "type": "string", - "description": "The name of the calendar resource. For example, Training Room 1A", - "annotations": { - "required": [ - "directory.resources.calendars.insert" - ] - } + "description": "The name of the calendar resource. For example, Training Room 1A" }, "resourceType": { "type": "string", @@ -579,6 +573,25 @@ } } }, + "ChromeOsMoveDevicesToOu": { + "id": "ChromeOsMoveDevicesToOu", + "type": "object", + "description": "JSON request template for moving ChromeOs Device to given OU in Directory Devices API.", + "properties": { + "deviceIds": { + "type": "array", + "description": "ChromeOs Devices to be moved to OU", + "items": { + "type": "string" + }, + "annotations": { + "required": [ + "directory.chromeosdevices.moveDevicesToOu" + ] + } + } + } + }, "Customer": { "id": "Customer", "type": "object", @@ -1824,6 +1837,9 @@ "externalIds": { "type": "any" }, + "gender": { + "type": "any" + }, "hashFunction": { "type": "string", "description": "Hash function name for password. Supported are MD5, SHA-1 and crypt" @@ -1868,6 +1884,9 @@ "description": "Is mailbox setup (Read-only)", "readOnly": true }, + "keywords": { + "type": "any" + }, "kind": { "type": "string", "description": "Kind of resource this is.", @@ -2091,6 +2110,24 @@ } } }, + "UserGender": { + "id": "UserGender", + "type": "object", + "properties": { + "addressMeAs": { + "type": "string", + "description": "AddressMeAs. A human-readable string containing the proper way to refer to the profile owner by humans, for example \"he/him/his\" or \"they/them/their\"." + }, + "customGender": { + "type": "string", + "description": "Custom gender." + }, + "type": { + "type": "string", + "description": "Gender." + } + } + }, "UserIm": { "id": "UserIm", "type": "object", @@ -2122,6 +2159,25 @@ } } }, + "UserKeyword": { + "id": "UserKeyword", + "type": "object", + "description": "JSON template for a keyword entry.", + "properties": { + "customType": { + "type": "string", + "description": "Custom Type." + }, + "type": { + "type": "string", + "description": "Each entry can have a type which indicates standard type of that entry. For example, keyword could be of type occupation or outlook. In addition to the standard type, an entry can have a custom type and can give it any name. Such types should have the CUSTOM value as type and also have a customType value." + }, + "value": { + "type": "string", + "description": "Keyword." + } + } + }, "UserLanguage": { "id": "UserLanguage", "type": "object", @@ -2354,9 +2410,9 @@ "description": "The GECOS (user information) for this account." }, "gid": { - "type": "integer", + "type": "string", "description": "The default group ID.", - "format": "int32" + "format": "uint64" }, "homeDirectory": { "type": "string", @@ -2375,9 +2431,9 @@ "description": "System identifier for which account Username or Uid apply to." }, "uid": { - "type": "integer", + "type": "string", "description": "The POSIX compliant user ID.", - "format": "int32" + "format": "uint64" }, "username": { "type": "string", @@ -2816,6 +2872,36 @@ "https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly" ] }, + "moveDevicesToOu": { + "id": "directory.chromeosdevices.moveDevicesToOu", + "path": "customer/{customerId}/devices/chromeos/moveDevicesToOu", + "httpMethod": "POST", + "description": "Move or insert multiple Chrome OS Devices to Organization Unit", + "parameters": { + "customerId": { + "type": "string", + "description": "Immutable ID of the G Suite account", + "required": true, + "location": "path" + }, + "orgUnitPath": { + "type": "string", + "description": "Full path of the target organization unit or its Id", + "required": true, + "location": "query" + } + }, + "parameterOrder": [ + "customerId", + "orgUnitPath" + ], + "request": { + "$ref": "ChromeOsMoveDevicesToOu" + }, + "scopes": [ + "https://www.googleapis.com/auth/admin.directory.device.chromeos" + ] + }, "patch": { "id": "directory.chromeosdevices.patch", "path": "customer/{customerId}/devices/chromeos/{deviceId}", diff --git a/vendor/google.golang.org/api/admin/directory/v1/admin-gen.go b/vendor/google.golang.org/api/admin/directory/v1/admin-gen.go index 19c8e798f..142c017df 100644 --- a/vendor/google.golang.org/api/admin/directory/v1/admin-gen.go +++ b/vendor/google.golang.org/api/admin/directory/v1/admin-gen.go @@ -608,6 +608,11 @@ type CalendarResource struct { // Etags: ETag of the resource. Etags string `json:"etags,omitempty"` + // GeneratedResourceName: The auto-generated name of the calendar + // resource which includes metadata about the resource such as building + // name, floor, capacity, etc. For example, NYC-2-Training Room 1A (16) + GeneratedResourceName string `json:"generatedResourceName,omitempty"` + // Kind: The type of the resource. For calendar resources, the value is // admin#directory#resources#calendars#CalendarResource. Kind string `json:"kind,omitempty"` @@ -1019,6 +1024,35 @@ func (s *ChromeOsDevices) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ChromeOsMoveDevicesToOu: JSON request template for moving ChromeOs +// Device to given OU in Directory Devices API. +type ChromeOsMoveDevicesToOu struct { + // DeviceIds: ChromeOs Devices to be moved to OU + DeviceIds []string `json:"deviceIds,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DeviceIds") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DeviceIds") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ChromeOsMoveDevicesToOu) MarshalJSON() ([]byte, error) { + type noMethod ChromeOsMoveDevicesToOu + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Customer: JSON template for Customer Resource object in Directory // API. type Customer struct { @@ -2620,6 +2654,8 @@ type User struct { ExternalIds interface{} `json:"externalIds,omitempty"` + Gender interface{} `json:"gender,omitempty"` + // HashFunction: Hash function name for password. Supported are MD5, // SHA-1 and crypt HashFunction string `json:"hashFunction,omitempty"` @@ -2652,6 +2688,8 @@ type User struct { // IsMailboxSetup: Is mailbox setup (Read-only) IsMailboxSetup bool `json:"isMailboxSetup,omitempty"` + Keywords interface{} `json:"keywords,omitempty"` + // Kind: Kind of resource this is. Kind string `json:"kind,omitempty"` @@ -2911,6 +2949,41 @@ func (s *UserExternalId) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type UserGender struct { + // AddressMeAs: AddressMeAs. A human-readable string containing the + // proper way to refer to the profile owner by humans, for example + // "he/him/his" or "they/them/their". + AddressMeAs string `json:"addressMeAs,omitempty"` + + // CustomGender: Custom gender. + CustomGender string `json:"customGender,omitempty"` + + // Type: Gender. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AddressMeAs") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AddressMeAs") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *UserGender) MarshalJSON() ([]byte, error) { + type noMethod UserGender + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // UserIm: JSON template for instant messenger of an user. type UserIm struct { // CustomProtocol: Custom protocol. @@ -2962,6 +3035,44 @@ func (s *UserIm) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// UserKeyword: JSON template for a keyword entry. +type UserKeyword struct { + // CustomType: Custom Type. + CustomType string `json:"customType,omitempty"` + + // Type: Each entry can have a type which indicates standard type of + // that entry. For example, keyword could be of type occupation or + // outlook. In addition to the standard type, an entry can have a custom + // type and can give it any name. Such types should have the CUSTOM + // value as type and also have a customType value. + Type string `json:"type,omitempty"` + + // Value: Keyword. + Value string `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CustomType") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CustomType") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *UserKeyword) MarshalJSON() ([]byte, error) { + type noMethod UserKeyword + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // UserLanguage: JSON template for a language entry. type UserLanguage struct { // CustomLanguage: Other language. User can provide own language name if @@ -3283,7 +3394,7 @@ type UserPosixAccount struct { Gecos string `json:"gecos,omitempty"` // Gid: The default group ID. - Gid int64 `json:"gid,omitempty"` + Gid uint64 `json:"gid,omitempty,string"` // HomeDirectory: The path to the home directory for this account. HomeDirectory string `json:"homeDirectory,omitempty"` @@ -3299,7 +3410,7 @@ type UserPosixAccount struct { SystemId string `json:"systemId,omitempty"` // Uid: The POSIX compliant user ID. - Uid int64 `json:"uid,omitempty"` + Uid uint64 `json:"uid,omitempty,string"` // Username: The username of the account. Username string `json:"username,omitempty"` @@ -4666,6 +4777,120 @@ func (c *ChromeosdevicesListCall) Pages(ctx context.Context, f func(*ChromeOsDev } } +// method id "directory.chromeosdevices.moveDevicesToOu": + +type ChromeosdevicesMoveDevicesToOuCall struct { + s *Service + customerId string + chromeosmovedevicestoou *ChromeOsMoveDevicesToOu + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// MoveDevicesToOu: Move or insert multiple Chrome OS Devices to +// Organization Unit +func (r *ChromeosdevicesService) MoveDevicesToOu(customerId string, orgUnitPath string, chromeosmovedevicestoou *ChromeOsMoveDevicesToOu) *ChromeosdevicesMoveDevicesToOuCall { + c := &ChromeosdevicesMoveDevicesToOuCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.customerId = customerId + c.urlParams_.Set("orgUnitPath", orgUnitPath) + c.chromeosmovedevicestoou = chromeosmovedevicestoou + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ChromeosdevicesMoveDevicesToOuCall) Fields(s ...googleapi.Field) *ChromeosdevicesMoveDevicesToOuCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ChromeosdevicesMoveDevicesToOuCall) Context(ctx context.Context) *ChromeosdevicesMoveDevicesToOuCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ChromeosdevicesMoveDevicesToOuCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ChromeosdevicesMoveDevicesToOuCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.chromeosmovedevicestoou) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "customer/{customerId}/devices/chromeos/moveDevicesToOu") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "customerId": c.customerId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "directory.chromeosdevices.moveDevicesToOu" call. +func (c *ChromeosdevicesMoveDevicesToOuCall) 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 err + } + return nil + // { + // "description": "Move or insert multiple Chrome OS Devices to Organization Unit", + // "httpMethod": "POST", + // "id": "directory.chromeosdevices.moveDevicesToOu", + // "parameterOrder": [ + // "customerId", + // "orgUnitPath" + // ], + // "parameters": { + // "customerId": { + // "description": "Immutable ID of the G Suite account", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "orgUnitPath": { + // "description": "Full path of the target organization unit or its Id", + // "location": "query", + // "required": true, + // "type": "string" + // } + // }, + // "path": "customer/{customerId}/devices/chromeos/moveDevicesToOu", + // "request": { + // "$ref": "ChromeOsMoveDevicesToOu" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/admin.directory.device.chromeos" + // ] + // } + +} + // method id "directory.chromeosdevices.patch": type ChromeosdevicesPatchCall struct { diff --git a/vendor/google.golang.org/api/admin/reports/v1/admin-api.json b/vendor/google.golang.org/api/admin/reports/v1/admin-api.json index 6d41b826d..937ad3f22 100644 --- a/vendor/google.golang.org/api/admin/reports/v1/admin-api.json +++ b/vendor/google.golang.org/api/admin/reports/v1/admin-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/-tkaOVzArVVhbxGreMOY21mRaV8\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/YvMEbSpUd5h8xmSpskCE_HPECco\"", "discoveryVersion": "v1", "id": "admin:reports_v1", "name": "admin", "canonicalName": "reports", "version": "reports_v1", - "revision": "20170320", + "revision": "20170622", "title": "Admin Reports API", "description": "Fetches reports for the administrators of G Suite customers about the usage, collaboration, security, and risk for their users.", "ownerDomain": "google.com", @@ -22,7 +22,7 @@ "basePath": "/admin/reports/v1/", "rootUrl": "https://www.googleapis.com/", "servicePath": "admin/reports/v1/", - "batchPath": "batch", + "batchPath": "batch/admin/reports_v1", "parameters": { "alt": { "type": "string", @@ -464,7 +464,7 @@ "type": "string", "description": "Application name for which the events are to be retrieved.", "required": true, - "pattern": "(admin)|(calendar)|(drive)|(login)|(mobile)|(token)|(groups)|(saml)|(chat)", + "pattern": "(admin)|(calendar)|(drive)|(login)|(mobile)|(token)|(groups)|(saml)|(chat)|(gplus)|(rules)", "location": "path" }, "customerId": { @@ -543,7 +543,7 @@ "type": "string", "description": "Application name for which the events are to be retrieved.", "required": true, - "pattern": "(admin)|(calendar)|(drive)|(login)|(mobile)|(token)|(groups)|(saml)|(chat)", + "pattern": "(admin)|(calendar)|(drive)|(login)|(mobile)|(token)|(groups)|(saml)|(chat)|(gplus)|(rules)", "location": "path" }, "customerId": { @@ -659,7 +659,7 @@ "parameters": { "type": "string", "description": "Represents the application name, parameter name pairs to fetch in csv as app_name1:param_name1, app_name2:param_name2.", - "pattern": "(((accounts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[^,]+,)*(((accounts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[^,]+)", + "pattern": "(((accounts)|(app_maker)|(apps_scripts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[^,]+,)*(((accounts)|(app_maker)|(apps_scripts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[^,]+)", "location": "query" } }, diff --git a/vendor/google.golang.org/api/admin/reports/v1/admin-gen.go b/vendor/google.golang.org/api/admin/reports/v1/admin-gen.go index 47aaf3811..fd98e007f 100644 --- a/vendor/google.golang.org/api/admin/reports/v1/admin-gen.go +++ b/vendor/google.golang.org/api/admin/reports/v1/admin-gen.go @@ -845,7 +845,7 @@ func (c *ActivitiesListCall) Do(opts ...googleapi.CallOption) (*Activities, erro // "applicationName": { // "description": "Application name for which the events are to be retrieved.", // "location": "path", - // "pattern": "(admin)|(calendar)|(drive)|(login)|(mobile)|(token)|(groups)|(saml)|(chat)", + // "pattern": "(admin)|(calendar)|(drive)|(login)|(mobile)|(token)|(groups)|(saml)|(chat)|(gplus)|(rules)", // "required": true, // "type": "string" // }, @@ -1113,7 +1113,7 @@ func (c *ActivitiesWatchCall) Do(opts ...googleapi.CallOption) (*Channel, error) // "applicationName": { // "description": "Application name for which the events are to be retrieved.", // "location": "path", - // "pattern": "(admin)|(calendar)|(drive)|(login)|(mobile)|(token)|(groups)|(saml)|(chat)", + // "pattern": "(admin)|(calendar)|(drive)|(login)|(mobile)|(token)|(groups)|(saml)|(chat)|(gplus)|(rules)", // "required": true, // "type": "string" // }, @@ -1435,7 +1435,7 @@ func (c *CustomerUsageReportsGetCall) Do(opts ...googleapi.CallOption) (*UsageRe // "parameters": { // "description": "Represents the application name, parameter name pairs to fetch in csv as app_name1:param_name1, app_name2:param_name2.", // "location": "query", - // "pattern": "(((accounts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[^,]+,)*(((accounts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[^,]+)", + // "pattern": "(((accounts)|(app_maker)|(apps_scripts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[^,]+,)*(((accounts)|(app_maker)|(apps_scripts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[^,]+)", // "type": "string" // } // }, diff --git a/vendor/google.golang.org/api/adsense/v1.4/adsense-api.json b/vendor/google.golang.org/api/adsense/v1.4/adsense-api.json index 43d2156c9..fa96a60bc 100644 --- a/vendor/google.golang.org/api/adsense/v1.4/adsense-api.json +++ b/vendor/google.golang.org/api/adsense/v1.4/adsense-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/ZPtwp1J-B1sy3-qRXXf2y9wrQDQ\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/5dfOA4TQ4h1l0_SNvBmZicECrgQ\"", "discoveryVersion": "v1", "id": "adsense:v1.4", "name": "adsense", "canonicalName": "AdSense", "version": "v1.4", - "revision": "20170606", + "revision": "20170912", "title": "AdSense Management API", "description": "Accesses AdSense publishers' inventory and generates performance reports.", "ownerDomain": "google.com", @@ -21,7 +21,7 @@ "basePath": "/adsense/v1.4/", "rootUrl": "https://www.googleapis.com/", "servicePath": "adsense/v1.4/", - "batchPath": "batch", + "batchPath": "batch/adsense/v1.4", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/adsensehost/v4.1/adsensehost-api.json b/vendor/google.golang.org/api/adsensehost/v4.1/adsensehost-api.json index 4a8aa51b4..b87fc9d18 100644 --- a/vendor/google.golang.org/api/adsensehost/v4.1/adsensehost-api.json +++ b/vendor/google.golang.org/api/adsensehost/v4.1/adsensehost-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/GUIZYIY3cfuYjkhoORNXzoLuN-o\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/HzRIN4Gi3jUuNGWAsKKaxu4tH4k\"", "discoveryVersion": "v1", "id": "adsensehost:v4.1", "name": "adsensehost", "canonicalName": "AdSense Host", "version": "v4.1", - "revision": "20170606", + "revision": "20170912", "title": "AdSense Host API", "description": "Generates performance reports, generates ad codes, and provides publisher management capabilities for AdSense Hosts.", "ownerDomain": "google.com", @@ -24,7 +24,7 @@ "basePath": "/adsensehost/v4.1/", "rootUrl": "https://www.googleapis.com/", "servicePath": "adsensehost/v4.1/", - "batchPath": "batch", + "batchPath": "batch/adsensehost/v4.1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/analytics/v2.4/analytics-api.json b/vendor/google.golang.org/api/analytics/v2.4/analytics-api.json index 0e35423a9..92506614d 100644 --- a/vendor/google.golang.org/api/analytics/v2.4/analytics-api.json +++ b/vendor/google.golang.org/api/analytics/v2.4/analytics-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/uF7o_i10s0Ir7WGM7zLi8NwSHXI\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/kYN47VW3boRYzE7pkj4HK3FyEC0\"", "discoveryVersion": "v1", "id": "analytics:v2.4", "name": "analytics", "version": "v2.4", - "revision": "20170321", + "revision": "20170807", "title": "Google Analytics API", "description": "Views and manages your Google Analytics data.", "ownerDomain": "google.com", @@ -20,7 +20,7 @@ "basePath": "/analytics/v2.4/", "rootUrl": "https://www.googleapis.com/", "servicePath": "analytics/v2.4/", - "batchPath": "batch", + "batchPath": "batch/analytics/v2.4", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/analytics/v3/analytics-api.json b/vendor/google.golang.org/api/analytics/v3/analytics-api.json index 4bf0619ff..dd5559ae3 100644 --- a/vendor/google.golang.org/api/analytics/v3/analytics-api.json +++ b/vendor/google.golang.org/api/analytics/v3/analytics-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/kNCxeHzf8zHSdahaoD4fNF__mRA\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/DSG2TEF18bxTdYooKf_C2-FmmME\"", "discoveryVersion": "v1", "id": "analytics:v3", "name": "analytics", "version": "v3", - "revision": "20170321", + "revision": "20170807", "title": "Google Analytics API", "description": "Views and manages your Google Analytics data.", "ownerDomain": "google.com", @@ -20,7 +20,7 @@ "basePath": "/analytics/v3/", "rootUrl": "https://www.googleapis.com/", "servicePath": "analytics/v3/", - "batchPath": "batch", + "batchPath": "batch/analytics/v3", "parameters": { "alt": { "type": "string", @@ -505,6 +505,13 @@ "type": "string" } }, + "schema": { + "type": "array", + "description": "Collection of schema headers of the custom data source.", + "items": { + "type": "string" + } + }, "selfLink": { "type": "string", "description": "Link for this Analytics custom data source." @@ -519,7 +526,8 @@ "format": "date-time" }, "uploadType": { - "type": "string" + "type": "string", + "description": "Upload type of the custom data source." }, "webPropertyId": { "type": "string", @@ -2115,7 +2123,7 @@ }, "type": { "type": "string", - "description": "The type of the foreign account. For example `ADWORDS_LINKS`." + "description": "The type of the foreign account. For example, `ADWORDS_LINKS`, `DBM_LINKS`, `MCC_LINKS` or `OPTIMIZE`." }, "webPropertyId": { "type": "string", @@ -3253,6 +3261,11 @@ "status": { "type": "string", "description": "Upload status. Possible values: PENDING, COMPLETED, FAILED, DELETING, DELETED." + }, + "uploadTime": { + "type": "string", + "description": "Time this file is uploaded.", + "format": "date-time" } } }, diff --git a/vendor/google.golang.org/api/analytics/v3/analytics-gen.go b/vendor/google.golang.org/api/analytics/v3/analytics-gen.go index fad26c59e..7b70fb9c7 100644 --- a/vendor/google.golang.org/api/analytics/v3/analytics-gen.go +++ b/vendor/google.golang.org/api/analytics/v3/analytics-gen.go @@ -960,6 +960,9 @@ type CustomDataSource struct { // source. ProfilesLinked []string `json:"profilesLinked,omitempty"` + // Schema: Collection of schema headers of the custom data source. + Schema []string `json:"schema,omitempty"` + // SelfLink: Link for this Analytics custom data source. SelfLink string `json:"selfLink,omitempty"` @@ -969,6 +972,7 @@ type CustomDataSource struct { // Updated: Time this custom data source was last modified. Updated string `json:"updated,omitempty"` + // UploadType: Upload type of the custom data source. UploadType string `json:"uploadType,omitempty"` // WebPropertyId: Web property ID of the form UA-XXXXX-YY to which this @@ -3473,7 +3477,8 @@ type LinkedForeignAccount struct { // Status: The status of this foreign account link. Status string `json:"status,omitempty"` - // Type: The type of the foreign account. For example `ADWORDS_LINKS`. + // Type: The type of the foreign account. For example, `ADWORDS_LINKS`, + // `DBM_LINKS`, `MCC_LINKS` or `OPTIMIZE`. Type string `json:"type,omitempty"` // WebPropertyId: Web property ID of the form UA-XXXXX-YY to which this @@ -5076,6 +5081,9 @@ type Upload struct { // DELETING, DELETED. Status string `json:"status,omitempty"` + // UploadTime: Time this file is uploaded. + UploadTime string `json:"uploadTime,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -16340,11 +16348,7 @@ type ManagementUploadsUploadDataCall struct { webPropertyId string customDataSourceId string urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater + mediaInfo_ *gensupport.MediaInfo ctx_ context.Context header_ http.Header } @@ -16367,12 +16371,7 @@ func (r *ManagementUploadsService) UploadData(accountId string, webPropertyId st // supplied. // At most one of Media and ResumableMedia may be set. func (c *ManagementUploadsUploadDataCall) Media(r io.Reader, options ...googleapi.MediaOption) *ManagementUploadsUploadDataCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -16387,11 +16386,7 @@ func (c *ManagementUploadsUploadDataCall) Media(r io.Reader, options ...googleap // supersede any context previously provided to the Context method. func (c *ManagementUploadsUploadDataCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *ManagementUploadsUploadDataCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -16400,7 +16395,7 @@ func (c *ManagementUploadsUploadDataCall) ResumableMedia(ctx context.Context, r // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *ManagementUploadsUploadDataCall) ProgressUpdater(pu googleapi.ProgressUpdater) *ManagementUploadsUploadDataCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -16440,27 +16435,16 @@ func (c *ManagementUploadsUploadDataCall) doRequest(alt string) (*http.Response, var body io.Reader = nil c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -16498,20 +16482,10 @@ func (c *ManagementUploadsUploadDataCall) Do(opts ...googleapi.CallOption) (*Upl if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() diff --git a/vendor/google.golang.org/api/analyticsreporting/v4/analyticsreporting-api.json b/vendor/google.golang.org/api/analyticsreporting/v4/analyticsreporting-api.json index 97e7e5cd9..02dc7f212 100644 --- a/vendor/google.golang.org/api/analyticsreporting/v4/analyticsreporting-api.json +++ b/vendor/google.golang.org/api/analyticsreporting/v4/analyticsreporting-api.json @@ -1,771 +1,148 @@ { - "revision": "20170531", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/analytics": { + "description": "View and manage your Google Analytics data" + }, + "https://www.googleapis.com/auth/analytics.readonly": { + "description": "View your Google Analytics data" + } + } + } + }, + "rootUrl": "https://analyticsreporting.googleapis.com/", + "ownerDomain": "google.com", + "name": "analyticsreporting", + "batchPath": "batch", + "title": "Google Analytics Reporting API", + "ownerName": "Google", + "resources": { + "reports": { + "methods": { + "batchGet": { + "response": { + "$ref": "GetReportsResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/analytics", + "https://www.googleapis.com/auth/analytics.readonly" + ], + "flatPath": "v4/reports:batchGet", + "id": "analyticsreporting.reports.batchGet", + "path": "v4/reports:batchGet", + "description": "Returns the Analytics data.", + "request": { + "$ref": "GetReportsRequest" + } + } + } + } + }, + "parameters": { + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", + "location": "query" + }, + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", + "location": "query" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string", + "location": "query" + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, + "$.xgafv": { + "location": "query", + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ] + }, + "alt": { + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ] + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", + "location": "query" + }, + "access_token": { + "location": "query", + "description": "OAuth access token.", + "type": "string" + }, + "quotaUser": { + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string" + } + }, + "version": "v4", + "baseUrl": "https://analyticsreporting.googleapis.com/", + "kind": "discovery#restDescription", + "description": "Accesses Analytics report data.", + "servicePath": "", + "basePath": "", + "revision": "20170925", "documentationLink": "https://developers.google.com/analytics/devguides/reporting/core/v4/", "id": "analyticsreporting:v4", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { - "SegmentFilterClause": { - "id": "SegmentFilterClause", - "description": "Filter Clause to be used in a segment definition, can be wither a metric or\na dimension filter.", - "type": "object", - "properties": { - "metricFilter": { - "$ref": "SegmentMetricFilter", - "description": "Metric Filter for the segment definition." - }, - "not": { - "type": "boolean", - "description": "Matches the complement (`!`) of the filter." - }, - "dimensionFilter": { - "description": "Dimension Filter for the segment definition.", - "$ref": "SegmentDimensionFilter" - } - } - }, - "ReportRow": { - "description": "A row in the report.", - "type": "object", - "properties": { - "metrics": { - "description": "List of metrics for each requested DateRange.", - "items": { - "$ref": "DateRangeValues" - }, - "type": "array" - }, - "dimensions": { - "description": "List of requested dimensions.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "ReportRow" - }, - "Cohort": { - "description": "Defines a cohort. A cohort is a group of users who share a common\ncharacteristic. For example, all users with the same acquisition date\nbelong to the same cohort.", - "type": "object", - "properties": { - "dateRange": { - "description": "This is used for `FIRST_VISIT_DATE` cohort, the cohort selects users\nwhose first visit date is between start date and end date defined in the\nDateRange. The date ranges should be aligned for cohort requests. If the\nrequest contains `ga:cohortNthDay` it should be exactly one day long,\nif `ga:cohortNthWeek` it should be aligned to the week boundary (starting\nat Sunday and ending Saturday), and for `ga:cohortNthMonth` the date range\nshould be aligned to the month (starting at the first and ending on the\nlast day of the month).\nFor LTV requests there are no such restrictions.\nYou do not need to supply a date range for the\n`reportsRequest.dateRanges` field.", - "$ref": "DateRange" - }, - "name": { - "description": "A unique name for the cohort. If not defined name will be auto-generated\nwith values cohort_[1234...].", - "type": "string" - }, - "type": { - "enumDescriptions": [ - "If unspecified it's treated as `FIRST_VISIT_DATE`.", - "Cohorts that are selected based on first visit date." - ], - "enum": [ - "UNSPECIFIED_COHORT_TYPE", - "FIRST_VISIT_DATE" - ], - "description": "Type of the cohort. The only supported type as of now is\n`FIRST_VISIT_DATE`. If this field is unspecified the cohort is treated\nas `FIRST_VISIT_DATE` type cohort.", - "type": "string" - } - }, - "id": "Cohort" - }, - "MetricFilterClause": { - "description": "Represents a group of metric filters.\nSet the operator value to specify how the filters are logically combined.", - "type": "object", - "properties": { - "filters": { - "description": "The repeated set of filters. They are logically combined based on the\noperator specified.", - "items": { - "$ref": "MetricFilter" - }, - "type": "array" - }, - "operator": { - "enumDescriptions": [ - "Unspecified operator. It is treated as an `OR`.", - "The logical `OR` operator.", - "The logical `AND` operator." - ], - "enum": [ - "OPERATOR_UNSPECIFIED", - "OR", - "AND" - ], - "description": "The operator for combining multiple metric filters. If unspecified, it is\ntreated as an `OR`.", - "type": "string" - } - }, - "id": "MetricFilterClause" - }, - "OrFiltersForSegment": { - "description": "A list of segment filters in the `OR` group are combined with the logical OR\noperator.", - "type": "object", - "properties": { - "segmentFilterClauses": { - "description": "List of segment filters to be combined with a `OR` operator.", - "items": { - "$ref": "SegmentFilterClause" - }, - "type": "array" - } - }, - "id": "OrFiltersForSegment" - }, - "MetricHeader": { - "type": "object", - "properties": { - "pivotHeaders": { - "description": "Headers for the pivots in the response.", - "items": { - "$ref": "PivotHeader" - }, - "type": "array" - }, - "metricHeaderEntries": { - "description": "Headers for the metrics in the response.", - "items": { - "$ref": "MetricHeaderEntry" - }, - "type": "array" - } - }, - "id": "MetricHeader", - "description": "The headers for the metrics." - }, - "DimensionFilterClause": { - "description": "A group of dimension filters. Set the operator value to specify how\nthe filters are logically combined.", - "type": "object", - "properties": { - "filters": { - "description": "The repeated set of filters. They are logically combined based on the\noperator specified.", - "items": { - "$ref": "DimensionFilter" - }, - "type": "array" - }, - "operator": { - "description": "The operator for combining multiple dimension filters. If unspecified, it\nis treated as an `OR`.", - "type": "string", - "enumDescriptions": [ - "Unspecified operator. It is treated as an `OR`.", - "The logical `OR` operator.", - "The logical `AND` operator." - ], - "enum": [ - "OPERATOR_UNSPECIFIED", - "OR", - "AND" - ] - } - }, - "id": "DimensionFilterClause" - }, - "GetReportsResponse": { - "description": "The main response class which holds the reports from the Reporting API\n`batchGet` call.", - "type": "object", - "properties": { - "reports": { - "description": "Responses corresponding to each of the request.", - "items": { - "$ref": "Report" - }, - "type": "array" - } - }, - "id": "GetReportsResponse" - }, - "SequenceSegment": { - "properties": { - "segmentSequenceSteps": { - "description": "The list of steps in the sequence.", - "items": { - "$ref": "SegmentSequenceStep" - }, - "type": "array" - }, - "firstStepShouldMatchFirstHit": { - "description": "If set, first step condition must match the first hit of the visitor (in\nthe date range).", - "type": "boolean" - } - }, - "id": "SequenceSegment", - "description": "Sequence conditions consist of one or more steps, where each step is defined\nby one or more dimension/metric conditions. Multiple steps can be combined\nwith special sequence operators.", - "type": "object" - }, - "SegmentMetricFilter": { - "id": "SegmentMetricFilter", - "description": "Metric filter to be used in a segment filter clause.", - "type": "object", - "properties": { - "metricName": { - "type": "string", - "description": "The metric that will be filtered on. A `metricFilter` must contain a\nmetric name." - }, - "scope": { - "type": "string", - "enumDescriptions": [ - "If the scope is unspecified, it defaults to the condition scope,\n`USER` or `SESSION` depending on if the segment is trying to choose\nusers or sessions.", - "Product scope.", - "Hit scope.", - "Session scope.", - "User scope." - ], - "enum": [ - "UNSPECIFIED_SCOPE", - "PRODUCT", - "HIT", - "SESSION", - "USER" - ], - "description": "Scope for a metric defines the level at which that metric is defined. The\nspecified metric scope must be equal to or greater than its primary scope\nas defined in the data model. The primary scope is defined by if the\nsegment is selecting users or sessions." - }, - "maxComparisonValue": { - "description": "Max comparison value is only used for `BETWEEN` operator.", - "type": "string" - }, - "comparisonValue": { - "type": "string", - "description": "The value to compare against. If the operator is `BETWEEN`, this value is\ntreated as minimum comparison value." - }, - "operator": { - "enumDescriptions": [ - "Unspecified operator is treated as `LESS_THAN` operator.", - "Checks if the metric value is less than comparison value.", - "Checks if the metric value is greater than comparison value.", - "Equals operator.", - "For between operator, both the minimum and maximum are exclusive.\nWe will use `LT` and `GT` for comparison." - ], - "enum": [ - "UNSPECIFIED_OPERATOR", - "LESS_THAN", - "GREATER_THAN", - "EQUAL", - "BETWEEN" - ], - "description": "Specifies is the operation to perform to compare the metric. The default\nis `EQUAL`.", - "type": "string" - } - } - }, - "DateRangeValues": { - "description": "Used to return a list of metrics for a single DateRange / dimension\ncombination", - "type": "object", - "properties": { - "values": { - "description": "Each value corresponds to each Metric in the request.", - "items": { - "type": "string" - }, - "type": "array" - }, - "pivotValueRegions": { - "description": "The values of each pivot region.", - "items": { - "$ref": "PivotValueRegion" - }, - "type": "array" - } - }, - "id": "DateRangeValues" - }, - "CohortGroup": { - "description": "Defines a cohort group.\nFor example:\n\n \"cohortGroup\": {\n \"cohorts\": [{\n \"name\": \"cohort 1\",\n \"type\": \"FIRST_VISIT_DATE\",\n \"dateRange\": { \"startDate\": \"2015-08-01\", \"endDate\": \"2015-08-01\" }\n },{\n \"name\": \"cohort 2\"\n \"type\": \"FIRST_VISIT_DATE\"\n \"dateRange\": { \"startDate\": \"2015-07-01\", \"endDate\": \"2015-07-01\" }\n }]\n }", - "type": "object", - "properties": { - "cohorts": { - "description": "The definition for the cohort.", - "items": { - "$ref": "Cohort" - }, - "type": "array" - }, - "lifetimeValue": { - "description": "Enable Life Time Value (LTV). LTV measures lifetime value for users\nacquired through different channels.\nPlease see:\n[Cohort Analysis](https://support.google.com/analytics/answer/6074676) and\n[Lifetime Value](https://support.google.com/analytics/answer/6182550)\nIf the value of lifetimeValue is false:\n\n- The metric values are similar to the values in the web interface cohort\n report.\n- The cohort definition date ranges must be aligned to the calendar week\n and month. i.e. while requesting `ga:cohortNthWeek` the `startDate` in\n the cohort definition should be a Sunday and the `endDate` should be the\n following Saturday, and for `ga:cohortNthMonth`, the `startDate`\n should be the 1st of the month and `endDate` should be the last day\n of the month.\n\nWhen the lifetimeValue is true:\n\n- The metric values will correspond to the values in the web interface\n LifeTime value report.\n- The Lifetime Value report shows you how user value (Revenue) and\n engagement (Appviews, Goal Completions, Sessions, and Session Duration)\n grow during the 90 days after a user is acquired.\n- The metrics are calculated as a cumulative average per user per the time\n increment.\n- The cohort definition date ranges need not be aligned to the calendar\n week and month boundaries.\n- The `viewId` must be an\n [app view ID](https://support.google.com/analytics/answer/2649553#WebVersusAppViews)", - "type": "boolean" - } - }, - "id": "CohortGroup" - }, - "GetReportsRequest": { - "description": "The batch request containing multiple report request.", - "type": "object", - "properties": { - "reportRequests": { - "description": "Requests, each request will have a separate response.\nThere can be a maximum of 5 requests. All requests should have the same\n`dateRanges`, `viewId`, `segments`, `samplingLevel`, and `cohortGroup`.", - "items": { - "$ref": "ReportRequest" - }, - "type": "array" - } - }, - "id": "GetReportsRequest" - }, - "Pivot": { - "properties": { - "dimensionFilterClauses": { - "items": { - "$ref": "DimensionFilterClause" - }, - "type": "array", - "description": "DimensionFilterClauses are logically combined with an `AND` operator: only\ndata that is included by all these DimensionFilterClauses contributes to\nthe values in this pivot region. Dimension filters can be used to restrict\nthe columns shown in the pivot region. For example if you have\n`ga:browser` as the requested dimension in the pivot region, and you\nspecify key filters to restrict `ga:browser` to only \"IE\" or \"Firefox\",\nthen only those two browsers would show up as columns." - }, - "dimensions": { - "description": "A list of dimensions to show as pivot columns. A Pivot can have a maximum\nof 4 dimensions. Pivot dimensions are part of the restriction on the\ntotal number of dimensions allowed in the request.", - "items": { - "$ref": "Dimension" - }, - "type": "array" - }, - "maxGroupCount": { - "format": "int32", - "description": "Specifies the maximum number of groups to return.\nThe default value is 10, also the maximum value is 1,000.", - "type": "integer" - }, - "startGroup": { - "type": "integer", - "format": "int32", - "description": "If k metrics were requested, then the response will contain some\ndata-dependent multiple of k columns in the report. E.g., if you pivoted\non the dimension `ga:browser` then you'd get k columns for \"Firefox\", k\ncolumns for \"IE\", k columns for \"Chrome\", etc. The ordering of the groups\nof columns is determined by descending order of \"total\" for the first of\nthe k values. Ties are broken by lexicographic ordering of the first\npivot dimension, then lexicographic ordering of the second pivot\ndimension, and so on. E.g., if the totals for the first value for\nFirefox, IE, and Chrome were 8, 2, 8, respectively, the order of columns\nwould be Chrome, Firefox, IE.\n\nThe following let you choose which of the groups of k columns are\nincluded in the response." - }, - "metrics": { - "items": { - "$ref": "Metric" - }, - "type": "array", - "description": "The pivot metrics. Pivot metrics are part of the\nrestriction on total number of metrics allowed in the request." - } - }, - "id": "Pivot", - "description": "The Pivot describes the pivot section in the request.\nThe Pivot helps rearrange the information in the table for certain reports\nby pivoting your data on a second dimension.", - "type": "object" - }, - "PivotHeaderEntry": { - "type": "object", - "properties": { - "metric": { - "$ref": "MetricHeaderEntry", - "description": "The metric header for the metric in the pivot." - }, - "dimensionNames": { - "description": "The name of the dimensions in the pivot response.", - "items": { - "type": "string" - }, - "type": "array" - }, - "dimensionValues": { - "items": { - "type": "string" - }, - "type": "array", - "description": "The values for the dimensions in the pivot." - } - }, - "id": "PivotHeaderEntry", - "description": "The headers for the each of the metric column corresponding to the metrics\nrequested in the pivots section of the response." - }, - "SegmentFilter": { - "description": "SegmentFilter defines the segment to be either a simple or a sequence\nsegment. A simple segment condition contains dimension and metric conditions\nto select the sessions or users. A sequence segment condition can be used to\nselect users or sessions based on sequential conditions.", - "type": "object", - "properties": { - "sequenceSegment": { - "$ref": "SequenceSegment", - "description": "Sequence conditions consist of one or more steps, where each step is\ndefined by one or more dimension/metric conditions. Multiple steps can\nbe combined with special sequence operators." - }, - "not": { - "description": "If true, match the complement of simple or sequence segment.\nFor example, to match all visits not from \"New York\", we can define the\nsegment as follows:\n\n \"sessionSegment\": {\n \"segmentFilters\": [{\n \"simpleSegment\" :{\n \"orFiltersForSegment\": [{\n \"segmentFilterClauses\":[{\n \"dimensionFilter\": {\n \"dimensionName\": \"ga:city\",\n \"expressions\": [\"New York\"]\n }\n }]\n }]\n },\n \"not\": \"True\"\n }]\n },", - "type": "boolean" - }, - "simpleSegment": { - "$ref": "SimpleSegment", - "description": "A Simple segment conditions consist of one or more dimension/metric\nconditions that can be combined" - } - }, - "id": "SegmentFilter" - }, - "SegmentDefinition": { - "description": "SegmentDefinition defines the segment to be a set of SegmentFilters which\nare combined together with a logical `AND` operation.", - "type": "object", - "properties": { - "segmentFilters": { - "description": "A segment is defined by a set of segment filters which are combined\ntogether with a logical `AND` operation.", - "items": { - "$ref": "SegmentFilter" - }, - "type": "array" - } - }, - "id": "SegmentDefinition" - }, - "MetricHeaderEntry": { - "description": "Header for the metrics.", - "type": "object", - "properties": { - "name": { - "description": "The name of the header.", - "type": "string" - }, - "type": { - "enumDescriptions": [ - "Metric type is unspecified.", - "Integer metric.", - "Float metric.", - "Currency metric.", - "Percentage metric.", - "Time metric in `HH:MM:SS` format." - ], - "enum": [ - "METRIC_TYPE_UNSPECIFIED", - "INTEGER", - "FLOAT", - "CURRENCY", - "PERCENT", - "TIME" - ], - "description": "The type of the metric, for example `INTEGER`.", - "type": "string" - } - }, - "id": "MetricHeaderEntry" - }, - "ReportData": { - "description": "The data part of the report.", - "type": "object", - "properties": { - "samplingSpaceSizes": { - "description": "If the results are\n[sampled](https://support.google.com/analytics/answer/2637192),\nthis returns the total number of\nsamples present, one entry per date range. If the results are not sampled\nthis field will not be defined. See\n[developer guide](/analytics/devguides/reporting/core/v4/basics#sampling)\nfor details.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "minimums": { - "description": "Minimum and maximum values seen over all matching rows. These are both\nempty when `hideValueRanges` in the request is false, or when\nrowCount is zero.", - "items": { - "$ref": "DateRangeValues" - }, - "type": "array" - }, - "totals": { - "description": "For each requested date range, for the set of all rows that match\nthe query, every requested value format gets a total. The total\nfor a value format is computed by first totaling the metrics\nmentioned in the value format and then evaluating the value\nformat as a scalar expression. E.g., The \"totals\" for\n`3 / (ga:sessions + 2)` we compute\n`3 / ((sum of all relevant ga:sessions) + 2)`.\nTotals are computed before pagination.", - "items": { - "$ref": "DateRangeValues" - }, - "type": "array" - }, - "samplesReadCounts": { - "description": "If the results are\n[sampled](https://support.google.com/analytics/answer/2637192),\nthis returns the total number of samples read, one entry per date range.\nIf the results are not sampled this field will not be defined. See\n[developer guide](/analytics/devguides/reporting/core/v4/basics#sampling)\nfor details.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "isDataGolden": { - "description": "Indicates if response to this request is golden or not. Data is\ngolden when the exact same request will not produce any new results if\nasked at a later point in time.", - "type": "boolean" - }, - "rows": { - "items": { - "$ref": "ReportRow" - }, - "type": "array", - "description": "There's one ReportRow for every unique combination of dimensions." - }, - "rowCount": { - "format": "int32", - "description": "Total number of matching rows for this query.", - "type": "integer" - }, - "dataLastRefreshed": { - "format": "google-datetime", - "description": "The last time the data in the report was refreshed. All the hits received\nbefore this timestamp are included in the calculation of the report.", - "type": "string" - }, - "maximums": { - "description": "Minimum and maximum values seen over all matching rows. These are both\nempty when `hideValueRanges` in the request is false, or when\nrowCount is zero.", - "items": { - "$ref": "DateRangeValues" - }, - "type": "array" - } - }, - "id": "ReportData" - }, - "DimensionFilter": { - "id": "DimensionFilter", - "description": "Dimension filter specifies the filtering options on a dimension.", - "type": "object", - "properties": { - "operator": { - "enumDescriptions": [ - "If the match type is unspecified, it is treated as a `REGEXP`.", - "The match expression is treated as a regular expression. All match types\nare not treated as regular expressions.", - "Matches the value which begin with the match expression provided.", - "Matches the values which end with the match expression provided.", - "Substring match.", - "The value should match the match expression entirely.", - "Integer comparison filters.\ncase sensitivity is ignored for these and the expression\nis assumed to be a string representing an integer.\nFailure conditions:\n\n- If expression is not a valid int64, the client should expect\n an error.\n- Input dimensions that are not valid int64 values will never match the\n filter.", - "Checks if the dimension is numerically greater than the match\nexpression. Read the description for `NUMERIC_EQUALS` for restrictions.", - "Checks if the dimension is numerically less than the match expression.\nRead the description for `NUMERIC_EQUALS` for restrictions.", - "This option is used to specify a dimension filter whose expression can\ntake any value from a selected list of values. This helps avoiding\nevaluating multiple exact match dimension filters which are OR'ed for\nevery single response row. For example:\n\n expressions: [\"A\", \"B\", \"C\"]\n\nAny response row whose dimension has it is value as A, B or C, matches\nthis DimensionFilter." - ], - "enum": [ - "OPERATOR_UNSPECIFIED", - "REGEXP", - "BEGINS_WITH", - "ENDS_WITH", - "PARTIAL", - "EXACT", - "NUMERIC_EQUAL", - "NUMERIC_GREATER_THAN", - "NUMERIC_LESS_THAN", - "IN_LIST" - ], - "description": "How to match the dimension to the expression. The default is REGEXP.", - "type": "string" - }, - "dimensionName": { - "description": "The dimension to filter on. A DimensionFilter must contain a dimension.", - "type": "string" - }, - "expressions": { - "description": "Strings or regular expression to match against. Only the first value of\nthe list is used for comparison unless the operator is `IN_LIST`.\nIf `IN_LIST` operator, then the entire list is used to filter the\ndimensions as explained in the description of the `IN_LIST` operator.", - "items": { - "type": "string" - }, - "type": "array" - }, - "not": { - "type": "boolean", - "description": "Logical `NOT` operator. If this boolean is set to true, then the matching\ndimension values will be excluded in the report. The default is false." - }, - "caseSensitive": { - "description": "Should the match be case sensitive? Default is false.", - "type": "boolean" - } - } - }, - "SegmentDimensionFilter": { - "description": "Dimension filter specifies the filtering options on a dimension.", - "type": "object", - "properties": { - "caseSensitive": { - "type": "boolean", - "description": "Should the match be case sensitive, ignored for `IN_LIST` operator." - }, - "minComparisonValue": { - "type": "string", - "description": "Minimum comparison values for `BETWEEN` match type." - }, - "maxComparisonValue": { - "description": "Maximum comparison values for `BETWEEN` match type.", - "type": "string" - }, - "dimensionName": { - "type": "string", - "description": "Name of the dimension for which the filter is being applied." - }, - "operator": { - "description": "The operator to use to match the dimension with the expressions.", - "type": "string", - "enumDescriptions": [ - "If the match type is unspecified, it is treated as a REGEXP.", - "The match expression is treated as a regular expression. All other match\ntypes are not treated as regular expressions.", - "Matches the values which begin with the match expression provided.", - "Matches the values which end with the match expression provided.", - "Substring match.", - "The value should match the match expression entirely.", - "This option is used to specify a dimension filter whose expression can\ntake any value from a selected list of values. This helps avoiding\nevaluating multiple exact match dimension filters which are OR'ed for\nevery single response row. For example:\n\n expressions: [\"A\", \"B\", \"C\"]\n\nAny response row whose dimension has it is value as A, B or C, matches\nthis DimensionFilter.", - "Integer comparison filters.\ncase sensitivity is ignored for these and the expression\nis assumed to be a string representing an integer.\nFailure conditions:\n\n- if expression is not a valid int64, the client should expect\n an error.\n- input dimensions that are not valid int64 values will never match the\n filter.\n\nChecks if the dimension is numerically less than the match expression.", - "Checks if the dimension is numerically greater than the match\nexpression.", - "Checks if the dimension is numerically between the minimum and maximum\nof the match expression, boundaries excluded." - ], - "enum": [ - "OPERATOR_UNSPECIFIED", - "REGEXP", - "BEGINS_WITH", - "ENDS_WITH", - "PARTIAL", - "EXACT", - "IN_LIST", - "NUMERIC_LESS_THAN", - "NUMERIC_GREATER_THAN", - "NUMERIC_BETWEEN" - ] - }, - "expressions": { - "items": { - "type": "string" - }, - "type": "array", - "description": "The list of expressions, only the first element is used for all operators" - } - }, - "id": "SegmentDimensionFilter" - }, - "OrderBy": { - "description": "Specifies the sorting options.", - "type": "object", - "properties": { - "sortOrder": { - "enumDescriptions": [ - "If the sort order is unspecified, the default is ascending.", - "Ascending sort. The field will be sorted in an ascending manner.", - "Descending sort. The field will be sorted in a descending manner." - ], - "enum": [ - "SORT_ORDER_UNSPECIFIED", - "ASCENDING", - "DESCENDING" - ], - "description": "The sorting order for the field.", - "type": "string" - }, - "orderType": { - "enumDescriptions": [ - "Unspecified order type will be treated as sort based on value.", - "The sort order is based on the value of the chosen column; looks only at\nthe first date range.", - "The sort order is based on the difference of the values of the chosen\ncolumn between the first two date ranges. Usable only if there are\nexactly two date ranges.", - "The sort order is based on weighted value of the chosen column. If\ncolumn has n/d format, then weighted value of this ratio will\nbe `(n + totals.n)/(d + totals.d)` Usable only for metrics that\nrepresent ratios.", - "Histogram order type is applicable only to dimension columns with\nnon-empty histogram-buckets.", - "If the dimensions are fixed length numbers, ordinary sort would just\nwork fine. `DIMENSION_AS_INTEGER` can be used if the dimensions are\nvariable length numbers." - ], - "enum": [ - "ORDER_TYPE_UNSPECIFIED", - "VALUE", - "DELTA", - "SMART", - "HISTOGRAM_BUCKET", - "DIMENSION_AS_INTEGER" - ], - "description": "The order type. The default orderType is `VALUE`.", - "type": "string" - }, - "fieldName": { - "description": "The field which to sort by. The default sort order is ascending. Example:\n`ga:browser`.\nNote, that you can only specify one field for sort here. For example,\n`ga:browser, ga:city` is not valid.", - "type": "string" - } - }, - "id": "OrderBy" - }, - "Segment": { - "description": "The segment definition, if the report needs to be segmented.\nA Segment is a subset of the Analytics data. For example, of the entire\nset of users, one Segment might be users from a particular country or city.", - "type": "object", - "properties": { - "segmentId": { - "description": "The segment ID of a built-in or custom segment, for example `gaid::-3`.", - "type": "string" - }, - "dynamicSegment": { - "description": "A dynamic segment definition in the request.", - "$ref": "DynamicSegment" - } - }, - "id": "Segment" - }, - "SegmentSequenceStep": { - "properties": { - "orFiltersForSegment": { - "description": "A sequence is specified with a list of Or grouped filters which are\ncombined with `AND` operator.", - "items": { - "$ref": "OrFiltersForSegment" - }, - "type": "array" - }, - "matchType": { - "type": "string", - "enumDescriptions": [ - "Unspecified match type is treated as precedes.", - "Operator indicates that the previous step precedes the next step.", - "Operator indicates that the previous step immediately precedes the next\nstep." - ], - "enum": [ - "UNSPECIFIED_MATCH_TYPE", - "PRECEDES", - "IMMEDIATELY_PRECEDES" - ], - "description": "Specifies if the step immediately precedes or can be any time before the\nnext step." - } - }, - "id": "SegmentSequenceStep", - "description": "A segment sequence definition.", - "type": "object" - }, - "Metric": { - "description": "[Metrics](https://support.google.com/analytics/answer/1033861)\nare the quantitative measurements. For example, the metric `ga:users`\nindicates the total number of users for the requested time period.", - "type": "object", - "properties": { - "formattingType": { - "enumDescriptions": [ - "Metric type is unspecified.", - "Integer metric.", - "Float metric.", - "Currency metric.", - "Percentage metric.", - "Time metric in `HH:MM:SS` format." - ], - "enum": [ - "METRIC_TYPE_UNSPECIFIED", - "INTEGER", - "FLOAT", - "CURRENCY", - "PERCENT", - "TIME" - ], - "description": "Specifies how the metric expression should be formatted, for example\n`INTEGER`.", - "type": "string" - }, - "alias": { - "description": "An alias for the metric expression is an alternate name for the\nexpression. The alias can be used for filtering and sorting. This field\nis optional and is useful if the expression is not a single metric but\na complex expression which cannot be used in filtering and sorting.\nThe alias is also used in the response column header.", - "type": "string" - }, - "expression": { - "description": "A metric expression in the request. An expression is constructed from one\nor more metrics and numbers. Accepted operators include: Plus (+), Minus\n(-), Negation (Unary -), Divided by (/), Multiplied by (*), Parenthesis,\nPositive cardinal numbers (0-9), can include decimals and is limited to\n1024 characters. Example `ga:totalRefunds/ga:users`, in most cases the\nmetric expression is just a single metric name like `ga:users`.\nAdding mixed `MetricType` (E.g., `CURRENCY` + `PERCENTAGE`) metrics\nwill result in unexpected results.", - "type": "string" - } - }, - "id": "Metric" - }, - "PivotValueRegion": { - "type": "object", - "properties": { - "values": { - "description": "The values of the metrics in each of the pivot regions.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "PivotValueRegion", - "description": "The metric values in the pivot region." - }, - "Report": { - "description": "The data response corresponding to the request.", - "type": "object", - "properties": { - "columnHeader": { - "$ref": "ColumnHeader", - "description": "The column headers." - }, - "nextPageToken": { - "description": "Page token to retrieve the next page of results in the list.", - "type": "string" - }, - "data": { - "description": "Response data.", - "$ref": "ReportData" - } - }, - "id": "Report" - }, "PivotHeader": { - "description": "The headers for each of the pivot sections defined in the request.", - "type": "object", "properties": { "pivotHeaderEntries": { "description": "A single pivot section header.", @@ -780,71 +157,78 @@ "type": "integer" } }, - "id": "PivotHeader" + "id": "PivotHeader", + "description": "The headers for each of the pivot sections defined in the request.", + "type": "object" }, "DateRange": { - "id": "DateRange", "description": "A contiguous set of days: startDate, startDate + 1 day, ..., endDate.\nThe start and end dates are specified in\n[ISO8601](https://en.wikipedia.org/wiki/ISO_8601) date format `YYYY-MM-DD`.", "type": "object", "properties": { "endDate": { - "description": "The end date for the query in the format `YYYY-MM-DD`.", - "type": "string" + "type": "string", + "description": "The end date for the query in the format `YYYY-MM-DD`." }, "startDate": { "description": "The start date for the query in the format `YYYY-MM-DD`.", "type": "string" } - } - }, - "MetricFilter": { - "description": "MetricFilter specifies the filter on a metric.", - "type": "object", - "properties": { - "metricName": { - "description": "The metric that will be filtered on. A metricFilter must contain a metric\nname. A metric name can be an alias earlier defined as a metric or it can\nalso be a metric expression.", - "type": "string" - }, - "comparisonValue": { - "description": "The value to compare against.", - "type": "string" - }, - "operator": { - "enum": [ - "OPERATOR_UNSPECIFIED", - "EQUAL", - "LESS_THAN", - "GREATER_THAN", - "IS_MISSING" - ], - "description": "Is the metric `EQUAL`, `LESS_THAN` or `GREATER_THAN` the\ncomparisonValue, the default is `EQUAL`. If the operator is\n`IS_MISSING`, checks if the metric is missing and would ignore the\ncomparisonValue.", - "type": "string", - "enumDescriptions": [ - "If the operator is not specified, it is treated as `EQUAL`.", - "Should the value of the metric be exactly equal to the comparison value.", - "Should the value of the metric be less than to the comparison value.", - "Should the value of the metric be greater than to the comparison value.", - "Validates if the metric is missing.\nDoesn't take comparisonValue into account." - ] - }, - "not": { - "type": "boolean", - "description": "Logical `NOT` operator. If this boolean is set to true, then the matching\nmetric values will be excluded in the report. The default is false." - } }, - "id": "MetricFilter" + "id": "DateRange" }, "ReportRequest": { "description": "The main request class which specifies the Reporting API request.", "type": "object", "properties": { - "filtersExpression": { - "description": "Dimension or metric filters that restrict the data returned for your\nrequest. To use the `filtersExpression`, supply a dimension or metric on\nwhich to filter, followed by the filter expression. For example, the\nfollowing expression selects `ga:browser` dimension which starts with\nFirefox; `ga:browser=~^Firefox`. For more information on dimensions\nand metric filters, see\n[Filters reference](https://developers.google.com/analytics/devguides/reporting/core/v3/reference#filters).", + "dateRanges": { + "description": "Date ranges in the request. The request can have a maximum of 2 date\nranges. The response will contain a set of metric values for each\ncombination of the dimensions for each date range in the request. So, if\nthere are two date ranges, there will be two set of metric values, one for\nthe original date range and one for the second date range.\nThe `reportRequest.dateRanges` field should not be specified for cohorts\nor Lifetime value requests.\nIf a date range is not provided, the default date range is (startDate:\ncurrent date - 7 days, endDate: current date - 1 day). Every\n[ReportRequest](#ReportRequest) within a `batchGet` method must\ncontain the same `dateRanges` definition.", + "items": { + "$ref": "DateRange" + }, + "type": "array" + }, + "pageToken": { + "description": "A continuation token to get the next page of the results. Adding this to\nthe request will return the rows after the pageToken. The pageToken should\nbe the value returned in the nextPageToken parameter in the response to\nthe GetReports request.", "type": "string" }, + "pivots": { + "description": "The pivot definitions. Requests can have a maximum of 2 pivots.", + "items": { + "$ref": "Pivot" + }, + "type": "array" + }, + "includeEmptyRows": { + "description": "If set to false, the response does not include rows if all the retrieved\nmetrics are equal to zero. The default is false which will exclude these\nrows.", + "type": "boolean" + }, + "metricFilterClauses": { + "description": "The metric filter clauses. They are logically combined with the `AND`\noperator. Metric filters look at only the first date range and not the\ncomparing date range. Note that filtering on metrics occurs after the\nmetrics are aggregated.", + "items": { + "$ref": "MetricFilterClause" + }, + "type": "array" + }, + "pageSize": { + "format": "int32", + "description": "Page size is for paging and specifies the maximum number of returned rows.\nPage size should be \u003e= 0. A query returns the default of 1,000 rows.\nThe Analytics Core Reporting API returns a maximum of 10,000 rows per\nrequest, no matter how many you ask for. It can also return fewer rows\nthan requested, if there aren't as many dimension segments as you expect.\nFor instance, there are fewer than 300 possible values for `ga:country`,\nso when segmenting only by country, you can't get more than 300 rows,\neven if you set `pageSize` to a higher value.", + "type": "integer" + }, + "hideValueRanges": { + "description": "If set to true, hides the minimum and maximum across all matching rows.\nThe default is false and the value ranges are returned.", + "type": "boolean" + }, + "hideTotals": { + "description": "If set to true, hides the total of all metrics for all the matching rows,\nfor every date range. The default false and will return the totals.", + "type": "boolean" + }, + "filtersExpression": { + "type": "string", + "description": "Dimension or metric filters that restrict the data returned for your\nrequest. To use the `filtersExpression`, supply a dimension or metric on\nwhich to filter, followed by the filter expression. For example, the\nfollowing expression selects `ga:browser` dimension which starts with\nFirefox; `ga:browser=~^Firefox`. For more information on dimensions\nand metric filters, see\n[Filters reference](https://developers.google.com/analytics/devguides/reporting/core/v3/reference#filters)." + }, "cohortGroup": { - "$ref": "CohortGroup", - "description": "Cohort group associated with this request. If there is a cohort group\nin the request the `ga:cohort` dimension must be present.\nEvery [ReportRequest](#ReportRequest) within a `batchGet` method must\ncontain the same `cohortGroup` definition." + "description": "Cohort group associated with this request. If there is a cohort group\nin the request the `ga:cohort` dimension must be present.\nEvery [ReportRequest](#ReportRequest) within a `batchGet` method must\ncontain the same `cohortGroup` definition.", + "$ref": "CohortGroup" }, "viewId": { "description": "The Analytics\n[view ID](https://support.google.com/analytics/answer/1009618)\nfrom which to retrieve data. Every [ReportRequest](#ReportRequest)\nwithin a `batchGet` method must contain the same `viewId`.", @@ -900,56 +284,56 @@ "$ref": "Dimension" }, "type": "array" - }, - "dateRanges": { - "description": "Date ranges in the request. The request can have a maximum of 2 date\nranges. The response will contain a set of metric values for each\ncombination of the dimensions for each date range in the request. So, if\nthere are two date ranges, there will be two set of metric values, one for\nthe original date range and one for the second date range.\nThe `reportRequest.dateRanges` field should not be specified for cohorts\nor Lifetime value requests.\nIf a date range is not provided, the default date range is (startDate:\ncurrent date - 7 days, endDate: current date - 1 day). Every\n[ReportRequest](#ReportRequest) within a `batchGet` method must\ncontain the same `dateRanges` definition.", - "items": { - "$ref": "DateRange" - }, - "type": "array" - }, - "pageToken": { - "description": "A continuation token to get the next page of the results. Adding this to\nthe request will return the rows after the pageToken. The pageToken should\nbe the value returned in the nextPageToken parameter in the response to\nthe GetReports request.", - "type": "string" - }, - "pivots": { - "description": "The pivot definitions. Requests can have a maximum of 2 pivots.", - "items": { - "$ref": "Pivot" - }, - "type": "array" - }, - "includeEmptyRows": { - "description": "If set to false, the response does not include rows if all the retrieved\nmetrics are equal to zero. The default is false which will exclude these\nrows.", - "type": "boolean" - }, - "metricFilterClauses": { - "description": "The metric filter clauses. They are logically combined with the `AND`\noperator. Metric filters look at only the first date range and not the\ncomparing date range. Note that filtering on metrics occurs after the\nmetrics are aggregated.", - "items": { - "$ref": "MetricFilterClause" - }, - "type": "array" - }, - "pageSize": { - "format": "int32", - "description": "Page size is for paging and specifies the maximum number of returned rows.\nPage size should be \u003e= 0. A query returns the default of 1,000 rows.\nThe Analytics Core Reporting API returns a maximum of 10,000 rows per\nrequest, no matter how many you ask for. It can also return fewer rows\nthan requested, if there aren't as many dimension segments as you expect.\nFor instance, there are fewer than 300 possible values for `ga:country`,\nso when segmenting only by country, you can't get more than 300 rows,\neven if you set `pageSize` to a higher value.", - "type": "integer" - }, - "hideTotals": { - "description": "If set to true, hides the total of all metrics for all the matching rows,\nfor every date range. The default false and will return the totals.", - "type": "boolean" - }, - "hideValueRanges": { - "description": "If set to true, hides the minimum and maximum across all matching rows.\nThe default is false and the value ranges are returned.", - "type": "boolean" } }, "id": "ReportRequest" }, + "MetricFilter": { + "properties": { + "comparisonValue": { + "description": "The value to compare against.", + "type": "string" + }, + "operator": { + "enumDescriptions": [ + "If the operator is not specified, it is treated as `EQUAL`.", + "Should the value of the metric be exactly equal to the comparison value.", + "Should the value of the metric be less than to the comparison value.", + "Should the value of the metric be greater than to the comparison value.", + "Validates if the metric is missing.\nDoesn't take comparisonValue into account." + ], + "enum": [ + "OPERATOR_UNSPECIFIED", + "EQUAL", + "LESS_THAN", + "GREATER_THAN", + "IS_MISSING" + ], + "description": "Is the metric `EQUAL`, `LESS_THAN` or `GREATER_THAN` the\ncomparisonValue, the default is `EQUAL`. If the operator is\n`IS_MISSING`, checks if the metric is missing and would ignore the\ncomparisonValue.", + "type": "string" + }, + "not": { + "description": "Logical `NOT` operator. If this boolean is set to true, then the matching\nmetric values will be excluded in the report. The default is false.", + "type": "boolean" + }, + "metricName": { + "description": "The metric that will be filtered on. A metricFilter must contain a metric\nname. A metric name can be an alias earlier defined as a metric or it can\nalso be a metric expression.", + "type": "string" + } + }, + "id": "MetricFilter", + "description": "MetricFilter specifies the filter on a metric.", + "type": "object" + }, "Dimension": { + "id": "Dimension", "description": "[Dimensions](https://support.google.com/analytics/answer/1033861)\nare attributes of your data. For example, the dimension `ga:city`\nindicates the city, for example, \"Paris\" or \"New York\", from which\na session originates.", "type": "object", "properties": { + "name": { + "description": "Name of the dimension to fetch, for example `ga:browser`.", + "type": "string" + }, "histogramBuckets": { "description": "If non-empty, we place dimension values into buckets after string to\nint64. Dimension values that are not the string representation of an\nintegral value will be converted to zero. The bucket values have to be in\nincreasing order. Each bucket is closed on the lower end, and open on the\nupper end. The \"first\" bucket includes all values less than the first\nboundary, the \"last\" bucket includes all values up to infinity. Dimension\nvalues that fall in a bucket get transformed to a new dimension value. For\nexample, if one gives a list of \"0, 1, 3, 4, 7\", then we return the\nfollowing buckets:\n\n- bucket #1: values \u003c 0, dimension value \"\u003c0\"\n- bucket #2: values in [0,1), dimension value \"0\"\n- bucket #3: values in [1,3), dimension value \"1-2\"\n- bucket #4: values in [3,4), dimension value \"3\"\n- bucket #5: values in [4,7), dimension value \"4-6\"\n- bucket #6: values \u003e= 7, dimension value \"7+\"\n\nNOTE: If you are applying histogram mutation on any dimension, and using\nthat dimension in sort, you will want to use the sort type\n`HISTOGRAM_BUCKET` for that purpose. Without that the dimension values\nwill be sorted according to dictionary\n(lexicographic) order. For example the ascending dictionary order is:\n\n \"\u003c50\", \"1001+\", \"121-1000\", \"50-120\"\n\nAnd the ascending `HISTOGRAM_BUCKET` order is:\n\n \"\u003c50\", \"50-120\", \"121-1000\", \"1001+\"\n\nThe client has to explicitly request `\"orderType\": \"HISTOGRAM_BUCKET\"`\nfor a histogram-mutated dimension.", "items": { @@ -957,64 +341,817 @@ "type": "string" }, "type": "array" - }, - "name": { - "description": "Name of the dimension to fetch, for example `ga:browser`.", - "type": "string" } - }, - "id": "Dimension" + } }, "DynamicSegment": { + "description": "Dynamic segment definition for defining the segment within the request.\nA segment can select users, sessions or both.", + "type": "object", "properties": { - "userSegment": { - "$ref": "SegmentDefinition", - "description": "User Segment to select users to include in the segment." - }, "sessionSegment": { - "description": "Session Segment to select sessions to include in the segment.", - "$ref": "SegmentDefinition" + "$ref": "SegmentDefinition", + "description": "Session Segment to select sessions to include in the segment." }, "name": { - "type": "string", - "description": "The name of the dynamic segment." + "description": "The name of the dynamic segment.", + "type": "string" + }, + "userSegment": { + "description": "User Segment to select users to include in the segment.", + "$ref": "SegmentDefinition" } }, - "id": "DynamicSegment", - "description": "Dynamic segment definition for defining the segment within the request.\nA segment can select users, sessions or both.", - "type": "object" + "id": "DynamicSegment" }, "SimpleSegment": { + "id": "SimpleSegment", "description": "A Simple segment conditions consist of one or more dimension/metric\nconditions that can be combined.", "type": "object", "properties": { "orFiltersForSegment": { + "description": "A list of segment filters groups which are combined with logical `AND`\noperator.", "items": { "$ref": "OrFiltersForSegment" }, - "type": "array", - "description": "A list of segment filters groups which are combined with logical `AND`\noperator." + "type": "array" } - }, - "id": "SimpleSegment" + } }, "ColumnHeader": { "description": "Column headers.", "type": "object", "properties": { + "dimensions": { + "items": { + "type": "string" + }, + "type": "array", + "description": "The dimension names in the response." + }, "metricHeader": { "description": "Metric headers for the metrics in the response.", "$ref": "MetricHeader" + } + }, + "id": "ColumnHeader" + }, + "SegmentFilterClause": { + "description": "Filter Clause to be used in a segment definition, can be wither a metric or\na dimension filter.", + "type": "object", + "properties": { + "not": { + "description": "Matches the complement (`!`) of the filter.", + "type": "boolean" + }, + "dimensionFilter": { + "$ref": "SegmentDimensionFilter", + "description": "Dimension Filter for the segment definition." + }, + "metricFilter": { + "description": "Metric Filter for the segment definition.", + "$ref": "SegmentMetricFilter" + } + }, + "id": "SegmentFilterClause" + }, + "MetricFilterClause": { + "id": "MetricFilterClause", + "description": "Represents a group of metric filters.\nSet the operator value to specify how the filters are logically combined.", + "type": "object", + "properties": { + "filters": { + "description": "The repeated set of filters. They are logically combined based on the\noperator specified.", + "items": { + "$ref": "MetricFilter" + }, + "type": "array" + }, + "operator": { + "enumDescriptions": [ + "Unspecified operator. It is treated as an `OR`.", + "The logical `OR` operator.", + "The logical `AND` operator." + ], + "enum": [ + "OPERATOR_UNSPECIFIED", + "OR", + "AND" + ], + "description": "The operator for combining multiple metric filters. If unspecified, it is\ntreated as an `OR`.", + "type": "string" + } + } + }, + "Cohort": { + "description": "Defines a cohort. A cohort is a group of users who share a common\ncharacteristic. For example, all users with the same acquisition date\nbelong to the same cohort.", + "type": "object", + "properties": { + "dateRange": { + "$ref": "DateRange", + "description": "This is used for `FIRST_VISIT_DATE` cohort, the cohort selects users\nwhose first visit date is between start date and end date defined in the\nDateRange. The date ranges should be aligned for cohort requests. If the\nrequest contains `ga:cohortNthDay` it should be exactly one day long,\nif `ga:cohortNthWeek` it should be aligned to the week boundary (starting\nat Sunday and ending Saturday), and for `ga:cohortNthMonth` the date range\nshould be aligned to the month (starting at the first and ending on the\nlast day of the month).\nFor LTV requests there are no such restrictions.\nYou do not need to supply a date range for the\n`reportsRequest.dateRanges` field." + }, + "name": { + "description": "A unique name for the cohort. If not defined name will be auto-generated\nwith values cohort_[1234...].", + "type": "string" + }, + "type": { + "enumDescriptions": [ + "If unspecified it's treated as `FIRST_VISIT_DATE`.", + "Cohorts that are selected based on first visit date." + ], + "enum": [ + "UNSPECIFIED_COHORT_TYPE", + "FIRST_VISIT_DATE" + ], + "description": "Type of the cohort. The only supported type as of now is\n`FIRST_VISIT_DATE`. If this field is unspecified the cohort is treated\nas `FIRST_VISIT_DATE` type cohort.", + "type": "string" + } + }, + "id": "Cohort" + }, + "ReportRow": { + "properties": { + "metrics": { + "description": "List of metrics for each requested DateRange.", + "items": { + "$ref": "DateRangeValues" + }, + "type": "array" }, "dimensions": { - "description": "The dimension names in the response.", + "description": "List of requested dimensions.", "items": { "type": "string" }, "type": "array" } }, - "id": "ColumnHeader" + "id": "ReportRow", + "description": "A row in the report.", + "type": "object" + }, + "OrFiltersForSegment": { + "description": "A list of segment filters in the `OR` group are combined with the logical OR\noperator.", + "type": "object", + "properties": { + "segmentFilterClauses": { + "description": "List of segment filters to be combined with a `OR` operator.", + "items": { + "$ref": "SegmentFilterClause" + }, + "type": "array" + } + }, + "id": "OrFiltersForSegment" + }, + "MetricHeader": { + "description": "The headers for the metrics.", + "type": "object", + "properties": { + "metricHeaderEntries": { + "description": "Headers for the metrics in the response.", + "items": { + "$ref": "MetricHeaderEntry" + }, + "type": "array" + }, + "pivotHeaders": { + "description": "Headers for the pivots in the response.", + "items": { + "$ref": "PivotHeader" + }, + "type": "array" + } + }, + "id": "MetricHeader" + }, + "DimensionFilterClause": { + "description": "A group of dimension filters. Set the operator value to specify how\nthe filters are logically combined.", + "type": "object", + "properties": { + "filters": { + "description": "The repeated set of filters. They are logically combined based on the\noperator specified.", + "items": { + "$ref": "DimensionFilter" + }, + "type": "array" + }, + "operator": { + "enumDescriptions": [ + "Unspecified operator. It is treated as an `OR`.", + "The logical `OR` operator.", + "The logical `AND` operator." + ], + "enum": [ + "OPERATOR_UNSPECIFIED", + "OR", + "AND" + ], + "description": "The operator for combining multiple dimension filters. If unspecified, it\nis treated as an `OR`.", + "type": "string" + } + }, + "id": "DimensionFilterClause" + }, + "GetReportsResponse": { + "id": "GetReportsResponse", + "description": "The main response class which holds the reports from the Reporting API\n`batchGet` call.", + "type": "object", + "properties": { + "reports": { + "description": "Responses corresponding to each of the request.", + "items": { + "$ref": "Report" + }, + "type": "array" + } + } + }, + "SequenceSegment": { + "description": "Sequence conditions consist of one or more steps, where each step is defined\nby one or more dimension/metric conditions. Multiple steps can be combined\nwith special sequence operators.", + "type": "object", + "properties": { + "segmentSequenceSteps": { + "items": { + "$ref": "SegmentSequenceStep" + }, + "type": "array", + "description": "The list of steps in the sequence." + }, + "firstStepShouldMatchFirstHit": { + "description": "If set, first step condition must match the first hit of the visitor (in\nthe date range).", + "type": "boolean" + } + }, + "id": "SequenceSegment" + }, + "SegmentMetricFilter": { + "description": "Metric filter to be used in a segment filter clause.", + "type": "object", + "properties": { + "metricName": { + "description": "The metric that will be filtered on. A `metricFilter` must contain a\nmetric name.", + "type": "string" + }, + "scope": { + "description": "Scope for a metric defines the level at which that metric is defined. The\nspecified metric scope must be equal to or greater than its primary scope\nas defined in the data model. The primary scope is defined by if the\nsegment is selecting users or sessions.", + "type": "string", + "enumDescriptions": [ + "If the scope is unspecified, it defaults to the condition scope,\n`USER` or `SESSION` depending on if the segment is trying to choose\nusers or sessions.", + "Product scope.", + "Hit scope.", + "Session scope.", + "User scope." + ], + "enum": [ + "UNSPECIFIED_SCOPE", + "PRODUCT", + "HIT", + "SESSION", + "USER" + ] + }, + "maxComparisonValue": { + "type": "string", + "description": "Max comparison value is only used for `BETWEEN` operator." + }, + "comparisonValue": { + "description": "The value to compare against. If the operator is `BETWEEN`, this value is\ntreated as minimum comparison value.", + "type": "string" + }, + "operator": { + "type": "string", + "enumDescriptions": [ + "Unspecified operator is treated as `LESS_THAN` operator.", + "Checks if the metric value is less than comparison value.", + "Checks if the metric value is greater than comparison value.", + "Equals operator.", + "For between operator, both the minimum and maximum are exclusive.\nWe will use `LT` and `GT` for comparison." + ], + "enum": [ + "UNSPECIFIED_OPERATOR", + "LESS_THAN", + "GREATER_THAN", + "EQUAL", + "BETWEEN" + ], + "description": "Specifies is the operation to perform to compare the metric. The default\nis `EQUAL`." + } + }, + "id": "SegmentMetricFilter" + }, + "DateRangeValues": { + "type": "object", + "properties": { + "values": { + "description": "Each value corresponds to each Metric in the request.", + "items": { + "type": "string" + }, + "type": "array" + }, + "pivotValueRegions": { + "description": "The values of each pivot region.", + "items": { + "$ref": "PivotValueRegion" + }, + "type": "array" + } + }, + "id": "DateRangeValues", + "description": "Used to return a list of metrics for a single DateRange / dimension\ncombination" + }, + "CohortGroup": { + "description": "Defines a cohort group.\nFor example:\n\n \"cohortGroup\": {\n \"cohorts\": [{\n \"name\": \"cohort 1\",\n \"type\": \"FIRST_VISIT_DATE\",\n \"dateRange\": { \"startDate\": \"2015-08-01\", \"endDate\": \"2015-08-01\" }\n },{\n \"name\": \"cohort 2\"\n \"type\": \"FIRST_VISIT_DATE\"\n \"dateRange\": { \"startDate\": \"2015-07-01\", \"endDate\": \"2015-07-01\" }\n }]\n }", + "type": "object", + "properties": { + "lifetimeValue": { + "description": "Enable Life Time Value (LTV). LTV measures lifetime value for users\nacquired through different channels.\nPlease see:\n[Cohort Analysis](https://support.google.com/analytics/answer/6074676) and\n[Lifetime Value](https://support.google.com/analytics/answer/6182550)\nIf the value of lifetimeValue is false:\n\n- The metric values are similar to the values in the web interface cohort\n report.\n- The cohort definition date ranges must be aligned to the calendar week\n and month. i.e. while requesting `ga:cohortNthWeek` the `startDate` in\n the cohort definition should be a Sunday and the `endDate` should be the\n following Saturday, and for `ga:cohortNthMonth`, the `startDate`\n should be the 1st of the month and `endDate` should be the last day\n of the month.\n\nWhen the lifetimeValue is true:\n\n- The metric values will correspond to the values in the web interface\n LifeTime value report.\n- The Lifetime Value report shows you how user value (Revenue) and\n engagement (Appviews, Goal Completions, Sessions, and Session Duration)\n grow during the 90 days after a user is acquired.\n- The metrics are calculated as a cumulative average per user per the time\n increment.\n- The cohort definition date ranges need not be aligned to the calendar\n week and month boundaries.\n- The `viewId` must be an\n [app view ID](https://support.google.com/analytics/answer/2649553#WebVersusAppViews)", + "type": "boolean" + }, + "cohorts": { + "description": "The definition for the cohort.", + "items": { + "$ref": "Cohort" + }, + "type": "array" + } + }, + "id": "CohortGroup" + }, + "GetReportsRequest": { + "description": "The batch request containing multiple report request.", + "type": "object", + "properties": { + "reportRequests": { + "description": "Requests, each request will have a separate response.\nThere can be a maximum of 5 requests. All requests should have the same\n`dateRanges`, `viewId`, `segments`, `samplingLevel`, and `cohortGroup`.", + "items": { + "$ref": "ReportRequest" + }, + "type": "array" + } + }, + "id": "GetReportsRequest" + }, + "Pivot": { + "description": "The Pivot describes the pivot section in the request.\nThe Pivot helps rearrange the information in the table for certain reports\nby pivoting your data on a second dimension.", + "type": "object", + "properties": { + "maxGroupCount": { + "format": "int32", + "description": "Specifies the maximum number of groups to return.\nThe default value is 10, also the maximum value is 1,000.", + "type": "integer" + }, + "startGroup": { + "format": "int32", + "description": "If k metrics were requested, then the response will contain some\ndata-dependent multiple of k columns in the report. E.g., if you pivoted\non the dimension `ga:browser` then you'd get k columns for \"Firefox\", k\ncolumns for \"IE\", k columns for \"Chrome\", etc. The ordering of the groups\nof columns is determined by descending order of \"total\" for the first of\nthe k values. Ties are broken by lexicographic ordering of the first\npivot dimension, then lexicographic ordering of the second pivot\ndimension, and so on. E.g., if the totals for the first value for\nFirefox, IE, and Chrome were 8, 2, 8, respectively, the order of columns\nwould be Chrome, Firefox, IE.\n\nThe following let you choose which of the groups of k columns are\nincluded in the response.", + "type": "integer" + }, + "metrics": { + "description": "The pivot metrics. Pivot metrics are part of the\nrestriction on total number of metrics allowed in the request.", + "items": { + "$ref": "Metric" + }, + "type": "array" + }, + "dimensionFilterClauses": { + "description": "DimensionFilterClauses are logically combined with an `AND` operator: only\ndata that is included by all these DimensionFilterClauses contributes to\nthe values in this pivot region. Dimension filters can be used to restrict\nthe columns shown in the pivot region. For example if you have\n`ga:browser` as the requested dimension in the pivot region, and you\nspecify key filters to restrict `ga:browser` to only \"IE\" or \"Firefox\",\nthen only those two browsers would show up as columns.", + "items": { + "$ref": "DimensionFilterClause" + }, + "type": "array" + }, + "dimensions": { + "description": "A list of dimensions to show as pivot columns. A Pivot can have a maximum\nof 4 dimensions. Pivot dimensions are part of the restriction on the\ntotal number of dimensions allowed in the request.", + "items": { + "$ref": "Dimension" + }, + "type": "array" + } + }, + "id": "Pivot" + }, + "PivotHeaderEntry": { + "description": "The headers for the each of the metric column corresponding to the metrics\nrequested in the pivots section of the response.", + "type": "object", + "properties": { + "metric": { + "$ref": "MetricHeaderEntry", + "description": "The metric header for the metric in the pivot." + }, + "dimensionNames": { + "description": "The name of the dimensions in the pivot response.", + "items": { + "type": "string" + }, + "type": "array" + }, + "dimensionValues": { + "description": "The values for the dimensions in the pivot.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "PivotHeaderEntry" + }, + "SegmentFilter": { + "description": "SegmentFilter defines the segment to be either a simple or a sequence\nsegment. A simple segment condition contains dimension and metric conditions\nto select the sessions or users. A sequence segment condition can be used to\nselect users or sessions based on sequential conditions.", + "type": "object", + "properties": { + "not": { + "type": "boolean", + "description": "If true, match the complement of simple or sequence segment.\nFor example, to match all visits not from \"New York\", we can define the\nsegment as follows:\n\n \"sessionSegment\": {\n \"segmentFilters\": [{\n \"simpleSegment\" :{\n \"orFiltersForSegment\": [{\n \"segmentFilterClauses\":[{\n \"dimensionFilter\": {\n \"dimensionName\": \"ga:city\",\n \"expressions\": [\"New York\"]\n }\n }]\n }]\n },\n \"not\": \"True\"\n }]\n }," + }, + "simpleSegment": { + "$ref": "SimpleSegment", + "description": "A Simple segment conditions consist of one or more dimension/metric\nconditions that can be combined" + }, + "sequenceSegment": { + "description": "Sequence conditions consist of one or more steps, where each step is\ndefined by one or more dimension/metric conditions. Multiple steps can\nbe combined with special sequence operators.", + "$ref": "SequenceSegment" + } + }, + "id": "SegmentFilter" + }, + "SegmentDefinition": { + "description": "SegmentDefinition defines the segment to be a set of SegmentFilters which\nare combined together with a logical `AND` operation.", + "type": "object", + "properties": { + "segmentFilters": { + "description": "A segment is defined by a set of segment filters which are combined\ntogether with a logical `AND` operation.", + "items": { + "$ref": "SegmentFilter" + }, + "type": "array" + } + }, + "id": "SegmentDefinition" + }, + "MetricHeaderEntry": { + "description": "Header for the metrics.", + "type": "object", + "properties": { + "name": { + "description": "The name of the header.", + "type": "string" + }, + "type": { + "enumDescriptions": [ + "Metric type is unspecified.", + "Integer metric.", + "Float metric.", + "Currency metric.", + "Percentage metric.", + "Time metric in `HH:MM:SS` format." + ], + "enum": [ + "METRIC_TYPE_UNSPECIFIED", + "INTEGER", + "FLOAT", + "CURRENCY", + "PERCENT", + "TIME" + ], + "description": "The type of the metric, for example `INTEGER`.", + "type": "string" + } + }, + "id": "MetricHeaderEntry" + }, + "ReportData": { + "description": "The data part of the report.", + "type": "object", + "properties": { + "samplesReadCounts": { + "description": "If the results are\n[sampled](https://support.google.com/analytics/answer/2637192),\nthis returns the total number of samples read, one entry per date range.\nIf the results are not sampled this field will not be defined. See\n[developer guide](/analytics/devguides/reporting/core/v4/basics#sampling)\nfor details.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "rowCount": { + "format": "int32", + "description": "Total number of matching rows for this query.", + "type": "integer" + }, + "rows": { + "description": "There's one ReportRow for every unique combination of dimensions.", + "items": { + "$ref": "ReportRow" + }, + "type": "array" + }, + "isDataGolden": { + "description": "Indicates if response to this request is golden or not. Data is\ngolden when the exact same request will not produce any new results if\nasked at a later point in time.", + "type": "boolean" + }, + "dataLastRefreshed": { + "type": "string", + "format": "google-datetime", + "description": "The last time the data in the report was refreshed. All the hits received\nbefore this timestamp are included in the calculation of the report." + }, + "maximums": { + "description": "Minimum and maximum values seen over all matching rows. These are both\nempty when `hideValueRanges` in the request is false, or when\nrowCount is zero.", + "items": { + "$ref": "DateRangeValues" + }, + "type": "array" + }, + "minimums": { + "description": "Minimum and maximum values seen over all matching rows. These are both\nempty when `hideValueRanges` in the request is false, or when\nrowCount is zero.", + "items": { + "$ref": "DateRangeValues" + }, + "type": "array" + }, + "samplingSpaceSizes": { + "description": "If the results are\n[sampled](https://support.google.com/analytics/answer/2637192),\nthis returns the total number of\nsamples present, one entry per date range. If the results are not sampled\nthis field will not be defined. See\n[developer guide](/analytics/devguides/reporting/core/v4/basics#sampling)\nfor details.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "totals": { + "description": "For each requested date range, for the set of all rows that match\nthe query, every requested value format gets a total. The total\nfor a value format is computed by first totaling the metrics\nmentioned in the value format and then evaluating the value\nformat as a scalar expression. E.g., The \"totals\" for\n`3 / (ga:sessions + 2)` we compute\n`3 / ((sum of all relevant ga:sessions) + 2)`.\nTotals are computed before pagination.", + "items": { + "$ref": "DateRangeValues" + }, + "type": "array" + } + }, + "id": "ReportData" + }, + "DimensionFilter": { + "properties": { + "expressions": { + "description": "Strings or regular expression to match against. Only the first value of\nthe list is used for comparison unless the operator is `IN_LIST`.\nIf `IN_LIST` operator, then the entire list is used to filter the\ndimensions as explained in the description of the `IN_LIST` operator.", + "items": { + "type": "string" + }, + "type": "array" + }, + "not": { + "type": "boolean", + "description": "Logical `NOT` operator. If this boolean is set to true, then the matching\ndimension values will be excluded in the report. The default is false." + }, + "caseSensitive": { + "description": "Should the match be case sensitive? Default is false.", + "type": "boolean" + }, + "operator": { + "type": "string", + "enumDescriptions": [ + "If the match type is unspecified, it is treated as a `REGEXP`.", + "The match expression is treated as a regular expression. All match types\nare not treated as regular expressions.", + "Matches the value which begin with the match expression provided.", + "Matches the values which end with the match expression provided.", + "Substring match.", + "The value should match the match expression entirely.", + "Integer comparison filters.\ncase sensitivity is ignored for these and the expression\nis assumed to be a string representing an integer.\nFailure conditions:\n\n- If expression is not a valid int64, the client should expect\n an error.\n- Input dimensions that are not valid int64 values will never match the\n filter.", + "Checks if the dimension is numerically greater than the match\nexpression. Read the description for `NUMERIC_EQUALS` for restrictions.", + "Checks if the dimension is numerically less than the match expression.\nRead the description for `NUMERIC_EQUALS` for restrictions.", + "This option is used to specify a dimension filter whose expression can\ntake any value from a selected list of values. This helps avoiding\nevaluating multiple exact match dimension filters which are OR'ed for\nevery single response row. For example:\n\n expressions: [\"A\", \"B\", \"C\"]\n\nAny response row whose dimension has it is value as A, B or C, matches\nthis DimensionFilter." + ], + "enum": [ + "OPERATOR_UNSPECIFIED", + "REGEXP", + "BEGINS_WITH", + "ENDS_WITH", + "PARTIAL", + "EXACT", + "NUMERIC_EQUAL", + "NUMERIC_GREATER_THAN", + "NUMERIC_LESS_THAN", + "IN_LIST" + ], + "description": "How to match the dimension to the expression. The default is REGEXP." + }, + "dimensionName": { + "description": "The dimension to filter on. A DimensionFilter must contain a dimension.", + "type": "string" + } + }, + "id": "DimensionFilter", + "description": "Dimension filter specifies the filtering options on a dimension.", + "type": "object" + }, + "Segment": { + "description": "The segment definition, if the report needs to be segmented.\nA Segment is a subset of the Analytics data. For example, of the entire\nset of users, one Segment might be users from a particular country or city.", + "type": "object", + "properties": { + "dynamicSegment": { + "$ref": "DynamicSegment", + "description": "A dynamic segment definition in the request." + }, + "segmentId": { + "description": "The segment ID of a built-in or custom segment, for example `gaid::-3`.", + "type": "string" + } + }, + "id": "Segment" + }, + "SegmentDimensionFilter": { + "type": "object", + "properties": { + "minComparisonValue": { + "type": "string", + "description": "Minimum comparison values for `BETWEEN` match type." + }, + "maxComparisonValue": { + "description": "Maximum comparison values for `BETWEEN` match type.", + "type": "string" + }, + "dimensionName": { + "description": "Name of the dimension for which the filter is being applied.", + "type": "string" + }, + "operator": { + "description": "The operator to use to match the dimension with the expressions.", + "type": "string", + "enumDescriptions": [ + "If the match type is unspecified, it is treated as a REGEXP.", + "The match expression is treated as a regular expression. All other match\ntypes are not treated as regular expressions.", + "Matches the values which begin with the match expression provided.", + "Matches the values which end with the match expression provided.", + "Substring match.", + "The value should match the match expression entirely.", + "This option is used to specify a dimension filter whose expression can\ntake any value from a selected list of values. This helps avoiding\nevaluating multiple exact match dimension filters which are OR'ed for\nevery single response row. For example:\n\n expressions: [\"A\", \"B\", \"C\"]\n\nAny response row whose dimension has it is value as A, B or C, matches\nthis DimensionFilter.", + "Integer comparison filters.\ncase sensitivity is ignored for these and the expression\nis assumed to be a string representing an integer.\nFailure conditions:\n\n- if expression is not a valid int64, the client should expect\n an error.\n- input dimensions that are not valid int64 values will never match the\n filter.\n\nChecks if the dimension is numerically less than the match expression.", + "Checks if the dimension is numerically greater than the match\nexpression.", + "Checks if the dimension is numerically between the minimum and maximum\nof the match expression, boundaries excluded." + ], + "enum": [ + "OPERATOR_UNSPECIFIED", + "REGEXP", + "BEGINS_WITH", + "ENDS_WITH", + "PARTIAL", + "EXACT", + "IN_LIST", + "NUMERIC_LESS_THAN", + "NUMERIC_GREATER_THAN", + "NUMERIC_BETWEEN" + ] + }, + "expressions": { + "description": "The list of expressions, only the first element is used for all operators", + "items": { + "type": "string" + }, + "type": "array" + }, + "caseSensitive": { + "description": "Should the match be case sensitive, ignored for `IN_LIST` operator.", + "type": "boolean" + } + }, + "id": "SegmentDimensionFilter", + "description": "Dimension filter specifies the filtering options on a dimension." + }, + "OrderBy": { + "description": "Specifies the sorting options.", + "type": "object", + "properties": { + "sortOrder": { + "description": "The sorting order for the field.", + "type": "string", + "enumDescriptions": [ + "If the sort order is unspecified, the default is ascending.", + "Ascending sort. The field will be sorted in an ascending manner.", + "Descending sort. The field will be sorted in a descending manner." + ], + "enum": [ + "SORT_ORDER_UNSPECIFIED", + "ASCENDING", + "DESCENDING" + ] + }, + "orderType": { + "enumDescriptions": [ + "Unspecified order type will be treated as sort based on value.", + "The sort order is based on the value of the chosen column; looks only at\nthe first date range.", + "The sort order is based on the difference of the values of the chosen\ncolumn between the first two date ranges. Usable only if there are\nexactly two date ranges.", + "The sort order is based on weighted value of the chosen column. If\ncolumn has n/d format, then weighted value of this ratio will\nbe `(n + totals.n)/(d + totals.d)` Usable only for metrics that\nrepresent ratios.", + "Histogram order type is applicable only to dimension columns with\nnon-empty histogram-buckets.", + "If the dimensions are fixed length numbers, ordinary sort would just\nwork fine. `DIMENSION_AS_INTEGER` can be used if the dimensions are\nvariable length numbers." + ], + "enum": [ + "ORDER_TYPE_UNSPECIFIED", + "VALUE", + "DELTA", + "SMART", + "HISTOGRAM_BUCKET", + "DIMENSION_AS_INTEGER" + ], + "description": "The order type. The default orderType is `VALUE`.", + "type": "string" + }, + "fieldName": { + "description": "The field which to sort by. The default sort order is ascending. Example:\n`ga:browser`.\nNote, that you can only specify one field for sort here. For example,\n`ga:browser, ga:city` is not valid.", + "type": "string" + } + }, + "id": "OrderBy" + }, + "SegmentSequenceStep": { + "type": "object", + "properties": { + "orFiltersForSegment": { + "description": "A sequence is specified with a list of Or grouped filters which are\ncombined with `AND` operator.", + "items": { + "$ref": "OrFiltersForSegment" + }, + "type": "array" + }, + "matchType": { + "description": "Specifies if the step immediately precedes or can be any time before the\nnext step.", + "type": "string", + "enumDescriptions": [ + "Unspecified match type is treated as precedes.", + "Operator indicates that the previous step precedes the next step.", + "Operator indicates that the previous step immediately precedes the next\nstep." + ], + "enum": [ + "UNSPECIFIED_MATCH_TYPE", + "PRECEDES", + "IMMEDIATELY_PRECEDES" + ] + } + }, + "id": "SegmentSequenceStep", + "description": "A segment sequence definition." + }, + "Metric": { + "description": "[Metrics](https://support.google.com/analytics/answer/1033861)\nare the quantitative measurements. For example, the metric `ga:users`\nindicates the total number of users for the requested time period.", + "type": "object", + "properties": { + "expression": { + "description": "A metric expression in the request. An expression is constructed from one\nor more metrics and numbers. Accepted operators include: Plus (+), Minus\n(-), Negation (Unary -), Divided by (/), Multiplied by (*), Parenthesis,\nPositive cardinal numbers (0-9), can include decimals and is limited to\n1024 characters. Example `ga:totalRefunds/ga:users`, in most cases the\nmetric expression is just a single metric name like `ga:users`.\nAdding mixed `MetricType` (E.g., `CURRENCY` + `PERCENTAGE`) metrics\nwill result in unexpected results.", + "type": "string" + }, + "formattingType": { + "enum": [ + "METRIC_TYPE_UNSPECIFIED", + "INTEGER", + "FLOAT", + "CURRENCY", + "PERCENT", + "TIME" + ], + "description": "Specifies how the metric expression should be formatted, for example\n`INTEGER`.", + "type": "string", + "enumDescriptions": [ + "Metric type is unspecified.", + "Integer metric.", + "Float metric.", + "Currency metric.", + "Percentage metric.", + "Time metric in `HH:MM:SS` format." + ] + }, + "alias": { + "description": "An alias for the metric expression is an alternate name for the\nexpression. The alias can be used for filtering and sorting. This field\nis optional and is useful if the expression is not a single metric but\na complex expression which cannot be used in filtering and sorting.\nThe alias is also used in the response column header.", + "type": "string" + } + }, + "id": "Metric" + }, + "PivotValueRegion": { + "description": "The metric values in the pivot region.", + "type": "object", + "properties": { + "values": { + "description": "The values of the metrics in each of the pivot regions.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "PivotValueRegion" + }, + "Report": { + "description": "The data response corresponding to the request.", + "type": "object", + "properties": { + "columnHeader": { + "$ref": "ColumnHeader", + "description": "The column headers." + }, + "nextPageToken": { + "description": "Page token to retrieve the next page of results in the list.", + "type": "string" + }, + "data": { + "description": "Response data.", + "$ref": "ReportData" + } + }, + "id": "Report" } }, "icons": { @@ -1022,142 +1159,5 @@ "x16": "http://www.google.com/images/icons/product/search-16.gif" }, "protocol": "rest", - "canonicalName": "AnalyticsReporting", - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/analytics.readonly": { - "description": "View your Google Analytics data" - }, - "https://www.googleapis.com/auth/analytics": { - "description": "View and manage your Google Analytics data" - } - } - } - }, - "rootUrl": "https://analyticsreporting.googleapis.com/", - "ownerDomain": "google.com", - "name": "analyticsreporting", - "batchPath": "batch", - "title": "Google Analytics Reporting API", - "ownerName": "Google", - "resources": { - "reports": { - "methods": { - "batchGet": { - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.readonly" - ], - "parameters": {}, - "flatPath": "v4/reports:batchGet", - "id": "analyticsreporting.reports.batchGet", - "path": "v4/reports:batchGet", - "request": { - "$ref": "GetReportsRequest" - }, - "description": "Returns the Analytics data.", - "response": { - "$ref": "GetReportsResponse" - }, - "parameterOrder": [], - "httpMethod": "POST" - } - } - } - }, - "parameters": { - "alt": { - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query", - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], - "type": "string" - }, - "access_token": { - "location": "query", - "description": "OAuth access token.", - "type": "string" - }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, - "quotaUser": { - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" - }, - "pp": { - "description": "Pretty-print response.", - "default": "true", - "type": "boolean", - "location": "query" - }, - "oauth_token": { - "location": "query", - "description": "OAuth 2.0 token for the current user.", - "type": "string" - }, - "bearer_token": { - "location": "query", - "description": "OAuth bearer token.", - "type": "string" - }, - "upload_protocol": { - "type": "string", - "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")." - }, - "prettyPrint": { - "location": "query", - "description": "Returns response with indentations and line breaks.", - "default": "true", - "type": "boolean" - }, - "uploadType": { - "location": "query", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string" - }, - "fields": { - "location": "query", - "description": "Selector specifying which fields to include in a partial response.", - "type": "string" - }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, - "$.xgafv": { - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" - ], - "description": "V1 error format.", - "type": "string" - } - }, - "version": "v4", - "baseUrl": "https://analyticsreporting.googleapis.com/", - "servicePath": "", - "kind": "discovery#restDescription", - "description": "Accesses Analytics report data.", - "basePath": "" + "canonicalName": "AnalyticsReporting" } diff --git a/vendor/google.golang.org/api/androiddeviceprovisioning/v1/androiddeviceprovisioning-api.json b/vendor/google.golang.org/api/androiddeviceprovisioning/v1/androiddeviceprovisioning-api.json new file mode 100644 index 000000000..a725a2b4b --- /dev/null +++ b/vendor/google.golang.org/api/androiddeviceprovisioning/v1/androiddeviceprovisioning-api.json @@ -0,0 +1,1081 @@ +{ + "basePath": "", + "ownerDomain": "google.com", + "name": "androiddeviceprovisioning", + "batchPath": "batch", + "id": "androiddeviceprovisioning:v1", + "documentationLink": "https://developers.google.com/zero-touch/", + "revision": "20170923", + "title": "Android Device Provisioning Partner API", + "ownerName": "Google", + "discoveryVersion": "v1", + "version_module": true, + "resources": { + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "location": "path", + "description": "The name of the operation resource.", + "required": true, + "type": "string", + "pattern": "^operations/.+$" + } + }, + "flatPath": "v1/operations/{operationsId}", + "path": "v1/{+name}", + "id": "androiddeviceprovisioning.operations.get" + } + } + }, + "partners": { + "resources": { + "devices": { + "methods": { + "claimAsync": { + "httpMethod": "POST", + "parameterOrder": [ + "partnerId" + ], + "response": { + "$ref": "Operation" + }, + "parameters": { + "partnerId": { + "location": "path", + "description": "Partner ID.", + "pattern": "^[^/]+$", + "format": "int64", + "required": true, + "type": "string" + } + }, + "flatPath": "v1/partners/{partnersId}/devices:claimAsync", + "id": "androiddeviceprovisioning.partners.devices.claimAsync", + "path": "v1/partners/{+partnerId}/devices:claimAsync", + "request": { + "$ref": "ClaimDevicesRequest" + }, + "description": "Claim devices asynchronously." + }, + "findByIdentifier": { + "request": { + "$ref": "FindDevicesByDeviceIdentifierRequest" + }, + "description": "Find devices by device identifier.", + "httpMethod": "POST", + "parameterOrder": [ + "partnerId" + ], + "response": { + "$ref": "FindDevicesByDeviceIdentifierResponse" + }, + "parameters": { + "partnerId": { + "format": "int64", + "required": true, + "type": "string", + "location": "path", + "description": "ID of the partner.", + "pattern": "^[^/]+$" + } + }, + "flatPath": "v1/partners/{partnersId}/devices:findByIdentifier", + "id": "androiddeviceprovisioning.partners.devices.findByIdentifier", + "path": "v1/partners/{+partnerId}/devices:findByIdentifier" + }, + "unclaimAsync": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "partnerId" + ], + "httpMethod": "POST", + "parameters": { + "partnerId": { + "format": "int64", + "required": true, + "type": "string", + "location": "path", + "description": "Partner ID.", + "pattern": "^[^/]+$" + } + }, + "flatPath": "v1/partners/{partnersId}/devices:unclaimAsync", + "path": "v1/partners/{+partnerId}/devices:unclaimAsync", + "id": "androiddeviceprovisioning.partners.devices.unclaimAsync", + "description": "Unclaim devices asynchronously.", + "request": { + "$ref": "UnclaimDevicesRequest" + } + }, + "metadata": { + "httpMethod": "POST", + "parameterOrder": [ + "metadataOwnerId", + "deviceId" + ], + "response": { + "$ref": "DeviceMetadata" + }, + "parameters": { + "metadataOwnerId": { + "format": "int64", + "type": "string", + "required": true, + "location": "path", + "description": "The owner of the newly set metadata. Set this to the partner ID.", + "pattern": "^[^/]+$" + }, + "deviceId": { + "location": "path", + "description": "ID of the partner.", + "pattern": "^[^/]+$", + "format": "int64", + "required": true, + "type": "string" + } + }, + "flatPath": "v1/partners/{partnersId}/devices/{devicesId}/metadata", + "id": "androiddeviceprovisioning.partners.devices.metadata", + "path": "v1/partners/{+metadataOwnerId}/devices/{+deviceId}/metadata", + "request": { + "$ref": "UpdateDeviceMetadataRequest" + }, + "description": "Update the metadata." + }, + "updateMetadataAsync": { + "request": { + "$ref": "UpdateDeviceMetadataInBatchRequest" + }, + "description": "Set metadata in batch asynchronously.", + "httpMethod": "POST", + "parameterOrder": [ + "partnerId" + ], + "response": { + "$ref": "Operation" + }, + "parameters": { + "partnerId": { + "description": "Partner ID.", + "pattern": "^[^/]+$", + "format": "int64", + "required": true, + "type": "string", + "location": "path" + } + }, + "flatPath": "v1/partners/{partnersId}/devices:updateMetadataAsync", + "id": "androiddeviceprovisioning.partners.devices.updateMetadataAsync", + "path": "v1/partners/{+partnerId}/devices:updateMetadataAsync" + }, + "get": { + "description": "Get a device.", + "httpMethod": "GET", + "response": { + "$ref": "Device" + }, + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name in `partners/[PARTNER_ID]/devices/[DEVICE_ID]`.", + "required": true, + "type": "string", + "pattern": "^partners/[^/]+/devices/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/partners/{partnersId}/devices/{devicesId}", + "id": "androiddeviceprovisioning.partners.devices.get", + "path": "v1/{+name}" + }, + "unclaim": { + "httpMethod": "POST", + "parameterOrder": [ + "partnerId" + ], + "response": { + "$ref": "Empty" + }, + "parameters": { + "partnerId": { + "format": "int64", + "required": true, + "type": "string", + "location": "path", + "description": "ID of the partner.", + "pattern": "^[^/]+$" + } + }, + "flatPath": "v1/partners/{partnersId}/devices:unclaim", + "id": "androiddeviceprovisioning.partners.devices.unclaim", + "path": "v1/partners/{+partnerId}/devices:unclaim", + "request": { + "$ref": "UnclaimDeviceRequest" + }, + "description": "Unclaim the device identified by the `device_id` or the `deviceIdentifier`." + }, + "findByOwner": { + "request": { + "$ref": "FindDevicesByOwnerRequest" + }, + "description": "Find devices by ownership.", + "response": { + "$ref": "FindDevicesByOwnerResponse" + }, + "parameterOrder": [ + "partnerId" + ], + "httpMethod": "POST", + "parameters": { + "partnerId": { + "format": "int64", + "required": true, + "type": "string", + "location": "path", + "description": "ID of the partner.", + "pattern": "^[^/]+$" + } + }, + "flatPath": "v1/partners/{partnersId}/devices:findByOwner", + "path": "v1/partners/{+partnerId}/devices:findByOwner", + "id": "androiddeviceprovisioning.partners.devices.findByOwner" + }, + "claim": { + "request": { + "$ref": "ClaimDeviceRequest" + }, + "description": "Claim the device identified by device identifier.", + "httpMethod": "POST", + "parameterOrder": [ + "partnerId" + ], + "response": { + "$ref": "ClaimDeviceResponse" + }, + "parameters": { + "partnerId": { + "location": "path", + "description": "ID of the partner.", + "pattern": "^[^/]+$", + "format": "int64", + "required": true, + "type": "string" + } + }, + "flatPath": "v1/partners/{partnersId}/devices:claim", + "id": "androiddeviceprovisioning.partners.devices.claim", + "path": "v1/partners/{+partnerId}/devices:claim" + } + } + }, + "customers": { + "methods": { + "list": { + "description": "Lists the customers that are enrolled to the reseller identified by the\n`partnerId` argument. This list includes customers that the reseller\ncreated and customers that enrolled themselves using the portal.", + "response": { + "$ref": "ListCustomersResponse" + }, + "parameterOrder": [ + "partnerId" + ], + "httpMethod": "GET", + "parameters": { + "partnerId": { + "format": "int64", + "type": "string", + "required": true, + "location": "path", + "description": "The ID of the partner.", + "pattern": "^[^/]+$" + } + }, + "flatPath": "v1/partners/{partnersId}/customers", + "path": "v1/partners/{+partnerId}/customers", + "id": "androiddeviceprovisioning.partners.customers.list" + }, + "create": { + "response": { + "$ref": "Company" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "parameters": { + "parent": { + "description": "Required. The parent resource ID in format `partners/[PARTNER_ID]` that\nidentifies the reseller.", + "required": true, + "type": "string", + "pattern": "^partners/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/partners/{partnersId}/customers", + "path": "v1/{+parent}/customers", + "id": "androiddeviceprovisioning.partners.customers.create", + "request": { + "$ref": "CreateCustomerRequest" + }, + "description": "Creates a customer for zero-touch enrollment. After the method returns\nsuccessfully, admin and owner roles can manage devices and EMM configs\nby calling API methods or using their zero-touch enrollment portal. The API\ndoesn't notify the customer that they have access." + } + } + } + } + } + }, + "parameters": { + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", + "location": "query" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string", + "location": "query" + }, + "prettyPrint": { + "description": "Returns response with indentations and line breaks.", + "type": "boolean", + "default": "true", + "location": "query" + }, + "fields": { + "location": "query", + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string", + "location": "query" + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, + "$.xgafv": { + "description": "V1 error format.", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ] + }, + "alt": { + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ] + }, + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", + "location": "query" + }, + "quotaUser": { + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string" + }, + "pp": { + "description": "Pretty-print response.", + "type": "boolean", + "default": "true", + "location": "query" + } + }, + "schemas": { + "Company": { + "description": "A customer resource in the zero-touch enrollment API.", + "type": "object", + "properties": { + "companyId": { + "description": "Output only. The ID of the company. Assigned by the server.", + "format": "int64", + "type": "string" + }, + "companyName": { + "description": "Required. The name of the company. For example _XYZ Corp_. Characters\nallowed are: Latin letters, numerals, hyphens, and spaces. Displayed to the\ncustomer's employees in the zero-touch enrollment portal.", + "type": "string" + }, + "name": { + "description": "Output only. The API resource name of the company in the format\n`partners/[PARTNER_ID]/customers/[CUSTOMER_ID]`. Assigned by the server.", + "type": "string" + }, + "adminEmails": { + "description": "Input only. Optional. Email address of customer's users in the admin role.\nEach email address must be associated with a Google Account.", + "type": "array", + "items": { + "type": "string" + } + }, + "ownerEmails": { + "description": "Input only. Email address of customer's users in the owner role. At least\none `owner_email` is required. Each email address must be associated with a\nGoogle Account. Owners share the same access as admins but can also add,\ndelete, and edit your organization's portal users.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "id": "Company" + }, + "UpdateDeviceMetadataRequest": { + "description": "Request to set metadata for a device.", + "type": "object", + "properties": { + "deviceMetadata": { + "$ref": "DeviceMetadata", + "description": "The metdata to set." + } + }, + "id": "UpdateDeviceMetadataRequest" + }, + "PartnerUnclaim": { + "description": "Identifies one unclaim request.", + "type": "object", + "properties": { + "deviceIdentifier": { + "description": "Device identifier of the device.", + "$ref": "DeviceIdentifier" + }, + "sectionType": { + "description": "Section type to unclaim.", + "type": "string", + "enumDescriptions": [ + "Unspecified section type.", + "Zero touch section type." + ], + "enum": [ + "SECTION_TYPE_UNSPECIFIED", + "SECTION_TYPE_ZERO_TOUCH" + ] + }, + "deviceId": { + "description": "Device ID of the device.", + "format": "int64", + "type": "string" + } + }, + "id": "PartnerUnclaim" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object", + "properties": {}, + "id": "Empty" + }, + "FindDevicesByDeviceIdentifierResponse": { + "description": "Response containing found devices.", + "type": "object", + "properties": { + "devices": { + "description": "Found devices.", + "type": "array", + "items": { + "$ref": "Device" + } + }, + "nextPageToken": { + "description": "Page token of the next page.", + "type": "string" + } + }, + "id": "FindDevicesByDeviceIdentifierResponse" + }, + "PartnerClaim": { + "description": "Identifies one claim request.", + "type": "object", + "properties": { + "deviceIdentifier": { + "$ref": "DeviceIdentifier", + "description": "Device identifier of the device." + }, + "deviceMetadata": { + "description": "Metadata to set at claim.", + "$ref": "DeviceMetadata" + }, + "sectionType": { + "enumDescriptions": [ + "Unspecified section type.", + "Zero touch section type." + ], + "enum": [ + "SECTION_TYPE_UNSPECIFIED", + "SECTION_TYPE_ZERO_TOUCH" + ], + "description": "Section type to claim.", + "type": "string" + }, + "customerId": { + "description": "Customer ID to claim for.", + "format": "int64", + "type": "string" + } + }, + "id": "PartnerClaim" + }, + "UnclaimDeviceRequest": { + "description": "Request message to unclaim a device.", + "type": "object", + "properties": { + "deviceIdentifier": { + "$ref": "DeviceIdentifier", + "description": "The device identifier you used when you claimed this device." + }, + "sectionType": { + "enumDescriptions": [ + "Unspecified section type.", + "Zero touch section type." + ], + "enum": [ + "SECTION_TYPE_UNSPECIFIED", + "SECTION_TYPE_ZERO_TOUCH" + ], + "description": "The section type to unclaim for.", + "type": "string" + }, + "deviceId": { + "description": "The device ID returned by `ClaimDevice`.", + "format": "int64", + "type": "string" + } + }, + "id": "UnclaimDeviceRequest" + }, + "DeviceMetadata": { + "description": "A key-value pair of the device metadata.", + "type": "object", + "properties": { + "entries": { + "description": "Metadata entries", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "id": "DeviceMetadata" + }, + "DevicesLongRunningOperationResponse": { + "description": "Long running operation response.", + "type": "object", + "properties": { + "successCount": { + "description": "Number of succeesfully processed ones.", + "format": "int32", + "type": "integer" + }, + "perDeviceStatus": { + "description": "Processing status for each device.\nOne `PerDeviceStatus` per device. The order is the same as in your requests.", + "type": "array", + "items": { + "$ref": "OperationPerDevice" + } + } + }, + "id": "DevicesLongRunningOperationResponse" + }, + "DeviceClaim": { + "description": "Information about a device claimed for a partner.", + "type": "object", + "properties": { + "ownerCompanyId": { + "description": "Owner ID.", + "format": "int64", + "type": "string" + }, + "sectionType": { + "description": "Section type of the device claim.", + "type": "string", + "enumDescriptions": [ + "Unspecified section type.", + "Zero touch section type." + ], + "enum": [ + "SECTION_TYPE_UNSPECIFIED", + "SECTION_TYPE_ZERO_TOUCH" + ] + } + }, + "id": "DeviceClaim" + }, + "PerDeviceStatusInBatch": { + "description": "Stores the processing result for each device.", + "type": "object", + "properties": { + "errorMessage": { + "description": "Error message.", + "type": "string" + }, + "deviceId": { + "description": "Device ID of the device if process succeeds.", + "format": "int64", + "type": "string" + }, + "status": { + "description": "Process result.", + "type": "string", + "enumDescriptions": [ + "Invalid code. Shouldn't be used.", + "Unknown error.\nWe don't expect this error to occur here.", + "Other error.\nWe know/expect this error, but there's no defined error code for the\nerror.", + "Success.", + "Permission denied.", + "Invalid device identifier.", + "Invalid section type.", + "This section is claimed by another company." + ], + "enum": [ + "SINGLE_DEVICE_STATUS_UNSPECIFIED", + "SINGLE_DEVICE_STATUS_UNKNOWN_ERROR", + "SINGLE_DEVICE_STATUS_OTHER_ERROR", + "SINGLE_DEVICE_STATUS_SUCCESS", + "SINGLE_DEVICE_STATUS_PERMISSION_DENIED", + "SINGLE_DEVICE_STATUS_INVALID_DEVICE_IDENTIFIER", + "SINGLE_DEVICE_STATUS_INVALID_SECTION_TYPE", + "SINGLE_DEVICE_STATUS_SECTION_NOT_YOURS" + ] + }, + "errorIdentifier": { + "description": "Error identifier.", + "type": "string" + } + }, + "id": "PerDeviceStatusInBatch" + }, + "FindDevicesByOwnerRequest": { + "description": "Request to find devices by customers.", + "type": "object", + "properties": { + "limit": { + "description": "The number of devices to show in the result.", + "format": "int64", + "type": "string" + }, + "pageToken": { + "description": "Page token.", + "type": "string" + }, + "sectionType": { + "description": "The section type.", + "type": "string", + "enumDescriptions": [ + "Unspecified section type.", + "Zero touch section type." + ], + "enum": [ + "SECTION_TYPE_UNSPECIFIED", + "SECTION_TYPE_ZERO_TOUCH" + ] + }, + "customerId": { + "description": "List of customer IDs to search for.", + "type": "array", + "items": { + "format": "int64", + "type": "string" + } + } + }, + "id": "FindDevicesByOwnerRequest" + }, + "ClaimDevicesRequest": { + "description": "Request to claim devices asynchronously in batch.", + "type": "object", + "properties": { + "claims": { + "description": "List of claims.", + "type": "array", + "items": { + "$ref": "PartnerClaim" + } + } + }, + "id": "ClaimDevicesRequest" + }, + "DeviceIdentifier": { + "description": "Identifies a unique device.", + "type": "object", + "properties": { + "imei": { + "description": "IMEI number.", + "type": "string" + }, + "meid": { + "description": "MEID number.", + "type": "string" + }, + "manufacturer": { + "description": "Manufacturer name to match `android.os.Build.MANUFACTURER` (required).\nAllowed values listed in\n[manufacturer names](/zero-touch/resources/manufacturer-names).", + "type": "string" + }, + "serialNumber": { + "description": "Serial number (optional).", + "type": "string" + } + }, + "id": "DeviceIdentifier" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "type": "object", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "This field will contain a `DevicesLongRunningOperationResponse` object if the operation is created by `claimAsync`, `unclaimAsync`, or `updateMetadataAsync`.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`.", + "type": "string" + }, + "error": { + "$ref": "Status", + "description": "This field will always be not set if the operation is created by `claimAsync`, `unclaimAsync`, or `updateMetadataAsync`. In this case, error information for each device is set in `response.perDeviceStatus.result.status`." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "This field will contain a `DevicesLongRunningOperationMetadata` object if the operation is created by `claimAsync`, `unclaimAsync`, or `updateMetadataAsync`.", + "type": "object" + } + }, + "id": "Operation" + }, + "UnclaimDevicesRequest": { + "description": "Request to unclaim devices asynchronously in batch.", + "type": "object", + "properties": { + "unclaims": { + "description": "List of devices to unclaim.", + "type": "array", + "items": { + "$ref": "PartnerUnclaim" + } + } + }, + "id": "UnclaimDevicesRequest" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", + "type": "object", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + } + } + } + }, + "id": "Status" + }, + "FindDevicesByDeviceIdentifierRequest": { + "description": "Request to find devices.", + "type": "object", + "properties": { + "limit": { + "description": "Number of devices to show.", + "format": "int64", + "type": "string" + }, + "deviceIdentifier": { + "description": "The device identifier to search.", + "$ref": "DeviceIdentifier" + }, + "pageToken": { + "description": "Page token.", + "type": "string" + } + }, + "id": "FindDevicesByDeviceIdentifierRequest" + }, + "OperationPerDevice": { + "description": "Operation the server received for every device.", + "type": "object", + "properties": { + "unclaim": { + "description": "Request to unclaim a device.", + "$ref": "PartnerUnclaim" + }, + "result": { + "$ref": "PerDeviceStatusInBatch", + "description": "Processing result for every device." + }, + "claim": { + "$ref": "PartnerClaim", + "description": "Request to claim a device." + }, + "updateMetadata": { + "$ref": "UpdateMetadataArguments", + "description": "Request to set metadata for a device." + } + }, + "id": "OperationPerDevice" + }, + "FindDevicesByOwnerResponse": { + "description": "Response containing found devices.", + "type": "object", + "properties": { + "devices": { + "description": "Devices found.", + "type": "array", + "items": { + "$ref": "Device" + } + }, + "nextPageToken": { + "description": "Page token of the next page.", + "type": "string" + } + }, + "id": "FindDevicesByOwnerResponse" + }, + "DevicesLongRunningOperationMetadata": { + "description": "Long running operation metadata.", + "type": "object", + "properties": { + "progress": { + "description": "Processing progress from 0 to 100.", + "format": "int32", + "type": "integer" + }, + "devicesCount": { + "description": "Number of devices parsed in your requests.", + "format": "int32", + "type": "integer" + }, + "processingStatus": { + "description": "The overall processing status.", + "type": "string", + "enumDescriptions": [ + "Invalid code. Shouldn't be used.", + "Pending.", + "In progress.", + "Processed.\nThis doesn't mean all items were processed sucessfully, you should\ncheck the `response` field for the result of every item." + ], + "enum": [ + "BATCH_PROCESS_STATUS_UNSPECIFIED", + "BATCH_PROCESS_PENDING", + "BATCH_PROCESS_IN_PROGRESS", + "BATCH_PROCESS_PROCESSED" + ] + } + }, + "id": "DevicesLongRunningOperationMetadata" + }, + "ClaimDeviceRequest": { + "description": "Request message to claim a device on behalf of a customer.", + "type": "object", + "properties": { + "deviceIdentifier": { + "$ref": "DeviceIdentifier", + "description": "The device identifier of the device to claim." + }, + "sectionType": { + "enumDescriptions": [ + "Unspecified section type.", + "Zero touch section type." + ], + "enum": [ + "SECTION_TYPE_UNSPECIFIED", + "SECTION_TYPE_ZERO_TOUCH" + ], + "description": "The section to claim.", + "type": "string" + }, + "customerId": { + "description": "The customer to claim for.", + "format": "int64", + "type": "string" + } + }, + "id": "ClaimDeviceRequest" + }, + "UpdateDeviceMetadataInBatchRequest": { + "description": "Request to update device metadata in batch.", + "type": "object", + "properties": { + "updates": { + "description": "List of metadata updates.", + "type": "array", + "items": { + "$ref": "UpdateMetadataArguments" + } + } + }, + "id": "UpdateDeviceMetadataInBatchRequest" + }, + "ListCustomersResponse": { + "description": "Response message of all customers related to this partner.", + "type": "object", + "properties": { + "customers": { + "description": "List of customers related to this partner.", + "type": "array", + "items": { + "$ref": "Company" + } + } + }, + "id": "ListCustomersResponse" + }, + "UpdateMetadataArguments": { + "description": "Identifies metdata updates to one device.", + "type": "object", + "properties": { + "deviceId": { + "description": "Device ID of the device.", + "format": "int64", + "type": "string" + }, + "deviceIdentifier": { + "description": "Device identifier.", + "$ref": "DeviceIdentifier" + }, + "deviceMetadata": { + "$ref": "DeviceMetadata", + "description": "The metadata to update." + } + }, + "id": "UpdateMetadataArguments" + }, + "ClaimDeviceResponse": { + "description": "Response message containing device id of the claim.", + "type": "object", + "properties": { + "deviceName": { + "description": "The resource name of the device in the format\n`partners/[PARTNER_ID]/devices/[DEVICE_ID]`.", + "type": "string" + }, + "deviceId": { + "description": "The device ID of the claimed device.", + "format": "int64", + "type": "string" + } + }, + "id": "ClaimDeviceResponse" + }, + "Device": { + "description": "An Android device.", + "type": "object", + "properties": { + "claims": { + "description": "Claims.", + "type": "array", + "items": { + "$ref": "DeviceClaim" + } + }, + "deviceIdentifier": { + "description": "Device identifier.", + "$ref": "DeviceIdentifier" + }, + "deviceMetadata": { + "description": "Device metadata.", + "$ref": "DeviceMetadata" + }, + "name": { + "description": "Resource name in `partners/[PARTNER_ID]/devices/[DEVICE_ID]`.", + "type": "string" + }, + "deviceId": { + "description": "Device ID.", + "format": "int64", + "type": "string" + }, + "configuration": { + "description": "The resource name of the configuration.\nOnly set for customers.", + "type": "string" + } + }, + "id": "Device" + }, + "CreateCustomerRequest": { + "description": "Request message to create a customer.", + "type": "object", + "properties": { + "customer": { + "$ref": "Company", + "description": "Required. The company data to populate the new customer. Must contain a\nvalue for `companyName` and at least one `owner_email` that's associated\nwith a Google Account. The values for `companyId` and `name` must be empty." + } + }, + "id": "CreateCustomerRequest" + } + }, + "protocol": "rest", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "version": "v1", + "baseUrl": "https://androiddeviceprovisioning.googleapis.com/", + "canonicalName": "Android Provisioning Partner", + "kind": "discovery#restDescription", + "description": "Automates reseller integration into zero-touch enrollment by assigning devices to customers and creating device reports.", + "servicePath": "", + "rootUrl": "https://androiddeviceprovisioning.googleapis.com/" +} diff --git a/vendor/google.golang.org/api/androiddeviceprovisioning/v1/androiddeviceprovisioning-gen.go b/vendor/google.golang.org/api/androiddeviceprovisioning/v1/androiddeviceprovisioning-gen.go new file mode 100644 index 000000000..46f7a9a55 --- /dev/null +++ b/vendor/google.golang.org/api/androiddeviceprovisioning/v1/androiddeviceprovisioning-gen.go @@ -0,0 +1,2931 @@ +// Package androiddeviceprovisioning provides access to the Android Device Provisioning Partner API. +// +// See https://developers.google.com/zero-touch/ +// +// Usage example: +// +// import "google.golang.org/api/androiddeviceprovisioning/v1" +// ... +// androiddeviceprovisioningService, err := androiddeviceprovisioning.New(oauthHttpClient) +package androiddeviceprovisioning // import "google.golang.org/api/androiddeviceprovisioning/v1" + +import ( + "bytes" + "encoding/json" + "errors" + "fmt" + context "golang.org/x/net/context" + ctxhttp "golang.org/x/net/context/ctxhttp" + gensupport "google.golang.org/api/gensupport" + googleapi "google.golang.org/api/googleapi" + "io" + "net/http" + "net/url" + "strconv" + "strings" +) + +// Always reference these packages, just in case the auto-generated code +// below doesn't. +var _ = bytes.NewBuffer +var _ = strconv.Itoa +var _ = fmt.Sprintf +var _ = json.NewDecoder +var _ = io.Copy +var _ = url.Parse +var _ = gensupport.MarshalJSON +var _ = googleapi.Version +var _ = errors.New +var _ = strings.Replace +var _ = context.Canceled +var _ = ctxhttp.Do + +const apiId = "androiddeviceprovisioning:v1" +const apiName = "androiddeviceprovisioning" +const apiVersion = "v1" +const basePath = "https://androiddeviceprovisioning.googleapis.com/" + +func New(client *http.Client) (*Service, error) { + if client == nil { + return nil, errors.New("client is nil") + } + s := &Service{client: client, BasePath: basePath} + s.Operations = NewOperationsService(s) + s.Partners = NewPartnersService(s) + return s, nil +} + +type Service struct { + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + + Operations *OperationsService + + Partners *PartnersService +} + +func (s *Service) userAgent() string { + if s.UserAgent == "" { + return googleapi.UserAgent + } + return googleapi.UserAgent + " " + s.UserAgent +} + +func NewOperationsService(s *Service) *OperationsService { + rs := &OperationsService{s: s} + return rs +} + +type OperationsService struct { + s *Service +} + +func NewPartnersService(s *Service) *PartnersService { + rs := &PartnersService{s: s} + rs.Customers = NewPartnersCustomersService(s) + rs.Devices = NewPartnersDevicesService(s) + return rs +} + +type PartnersService struct { + s *Service + + Customers *PartnersCustomersService + + Devices *PartnersDevicesService +} + +func NewPartnersCustomersService(s *Service) *PartnersCustomersService { + rs := &PartnersCustomersService{s: s} + return rs +} + +type PartnersCustomersService struct { + s *Service +} + +func NewPartnersDevicesService(s *Service) *PartnersDevicesService { + rs := &PartnersDevicesService{s: s} + return rs +} + +type PartnersDevicesService struct { + s *Service +} + +// ClaimDeviceRequest: Request message to claim a device on behalf of a +// customer. +type ClaimDeviceRequest struct { + // CustomerId: The customer to claim for. + CustomerId int64 `json:"customerId,omitempty,string"` + + // DeviceIdentifier: The device identifier of the device to claim. + DeviceIdentifier *DeviceIdentifier `json:"deviceIdentifier,omitempty"` + + // SectionType: The section to claim. + // + // Possible values: + // "SECTION_TYPE_UNSPECIFIED" - Unspecified section type. + // "SECTION_TYPE_ZERO_TOUCH" - Zero touch section type. + SectionType string `json:"sectionType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CustomerId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CustomerId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ClaimDeviceRequest) MarshalJSON() ([]byte, error) { + type noMethod ClaimDeviceRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ClaimDeviceResponse: Response message containing device id of the +// claim. +type ClaimDeviceResponse struct { + // DeviceId: The device ID of the claimed device. + DeviceId int64 `json:"deviceId,omitempty,string"` + + // DeviceName: The resource name of the device in the + // format + // `partners/[PARTNER_ID]/devices/[DEVICE_ID]`. + DeviceName string `json:"deviceName,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "DeviceId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DeviceId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ClaimDeviceResponse) MarshalJSON() ([]byte, error) { + type noMethod ClaimDeviceResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ClaimDevicesRequest: Request to claim devices asynchronously in +// batch. +type ClaimDevicesRequest struct { + // Claims: List of claims. + Claims []*PartnerClaim `json:"claims,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Claims") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Claims") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ClaimDevicesRequest) MarshalJSON() ([]byte, error) { + type noMethod ClaimDevicesRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Company: A customer resource in the zero-touch enrollment API. +type Company struct { + // AdminEmails: Input only. Optional. Email address of customer's users + // in the admin role. + // Each email address must be associated with a Google Account. + AdminEmails []string `json:"adminEmails,omitempty"` + + // CompanyId: Output only. The ID of the company. Assigned by the + // server. + CompanyId int64 `json:"companyId,omitempty,string"` + + // CompanyName: Required. The name of the company. For example _XYZ + // Corp_. Characters + // allowed are: Latin letters, numerals, hyphens, and spaces. Displayed + // to the + // customer's employees in the zero-touch enrollment portal. + CompanyName string `json:"companyName,omitempty"` + + // Name: Output only. The API resource name of the company in the + // format + // `partners/[PARTNER_ID]/customers/[CUSTOMER_ID]`. Assigned by the + // server. + Name string `json:"name,omitempty"` + + // OwnerEmails: Input only. Email address of customer's users in the + // owner role. At least + // one `owner_email` is required. Each email address must be associated + // with a + // Google Account. Owners share the same access as admins but can also + // add, + // delete, and edit your organization's portal users. + OwnerEmails []string `json:"ownerEmails,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "AdminEmails") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AdminEmails") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Company) MarshalJSON() ([]byte, error) { + type noMethod Company + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CreateCustomerRequest: Request message to create a customer. +type CreateCustomerRequest struct { + // Customer: Required. The company data to populate the new customer. + // Must contain a + // value for `companyName` and at least one `owner_email` that's + // associated + // with a Google Account. The values for `companyId` and `name` must be + // empty. + Customer *Company `json:"customer,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Customer") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Customer") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CreateCustomerRequest) MarshalJSON() ([]byte, error) { + type noMethod CreateCustomerRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Device: An Android device. +type Device struct { + // Claims: Claims. + Claims []*DeviceClaim `json:"claims,omitempty"` + + // Configuration: The resource name of the configuration. + // Only set for customers. + Configuration string `json:"configuration,omitempty"` + + // DeviceId: Device ID. + DeviceId int64 `json:"deviceId,omitempty,string"` + + // DeviceIdentifier: Device identifier. + DeviceIdentifier *DeviceIdentifier `json:"deviceIdentifier,omitempty"` + + // DeviceMetadata: Device metadata. + DeviceMetadata *DeviceMetadata `json:"deviceMetadata,omitempty"` + + // Name: Resource name in `partners/[PARTNER_ID]/devices/[DEVICE_ID]`. + Name string `json:"name,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Claims") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Claims") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Device) MarshalJSON() ([]byte, error) { + type noMethod Device + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DeviceClaim: Information about a device claimed for a partner. +type DeviceClaim struct { + // OwnerCompanyId: Owner ID. + OwnerCompanyId int64 `json:"ownerCompanyId,omitempty,string"` + + // SectionType: Section type of the device claim. + // + // Possible values: + // "SECTION_TYPE_UNSPECIFIED" - Unspecified section type. + // "SECTION_TYPE_ZERO_TOUCH" - Zero touch section type. + SectionType string `json:"sectionType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "OwnerCompanyId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "OwnerCompanyId") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *DeviceClaim) MarshalJSON() ([]byte, error) { + type noMethod DeviceClaim + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DeviceIdentifier: Identifies a unique device. +type DeviceIdentifier struct { + // Imei: IMEI number. + Imei string `json:"imei,omitempty"` + + // Manufacturer: Manufacturer name to match + // `android.os.Build.MANUFACTURER` (required). + // Allowed values listed in + // [manufacturer names](/zero-touch/resources/manufacturer-names). + Manufacturer string `json:"manufacturer,omitempty"` + + // Meid: MEID number. + Meid string `json:"meid,omitempty"` + + // SerialNumber: Serial number (optional). + SerialNumber string `json:"serialNumber,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Imei") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Imei") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DeviceIdentifier) MarshalJSON() ([]byte, error) { + type noMethod DeviceIdentifier + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DeviceMetadata: A key-value pair of the device metadata. +type DeviceMetadata struct { + // Entries: Metadata entries + Entries map[string]string `json:"entries,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Entries") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Entries") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DeviceMetadata) MarshalJSON() ([]byte, error) { + type noMethod DeviceMetadata + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DevicesLongRunningOperationMetadata: Long running operation metadata. +type DevicesLongRunningOperationMetadata struct { + // DevicesCount: Number of devices parsed in your requests. + DevicesCount int64 `json:"devicesCount,omitempty"` + + // ProcessingStatus: The overall processing status. + // + // Possible values: + // "BATCH_PROCESS_STATUS_UNSPECIFIED" - Invalid code. Shouldn't be + // used. + // "BATCH_PROCESS_PENDING" - Pending. + // "BATCH_PROCESS_IN_PROGRESS" - In progress. + // "BATCH_PROCESS_PROCESSED" - Processed. + // This doesn't mean all items were processed sucessfully, you + // should + // check the `response` field for the result of every item. + ProcessingStatus string `json:"processingStatus,omitempty"` + + // Progress: Processing progress from 0 to 100. + Progress int64 `json:"progress,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DevicesCount") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DevicesCount") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DevicesLongRunningOperationMetadata) MarshalJSON() ([]byte, error) { + type noMethod DevicesLongRunningOperationMetadata + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DevicesLongRunningOperationResponse: Long running operation response. +type DevicesLongRunningOperationResponse struct { + // PerDeviceStatus: Processing status for each device. + // One `PerDeviceStatus` per device. The order is the same as in your + // requests. + PerDeviceStatus []*OperationPerDevice `json:"perDeviceStatus,omitempty"` + + // SuccessCount: Number of succeesfully processed ones. + SuccessCount int64 `json:"successCount,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PerDeviceStatus") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "PerDeviceStatus") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *DevicesLongRunningOperationResponse) MarshalJSON() ([]byte, error) { + type noMethod DevicesLongRunningOperationResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Empty: A generic empty message that you can re-use to avoid defining +// duplicated +// empty messages in your APIs. A typical example is to use it as the +// request +// or the response type of an API method. For instance: +// +// service Foo { +// rpc Bar(google.protobuf.Empty) returns +// (google.protobuf.Empty); +// } +// +// The JSON representation for `Empty` is empty JSON object `{}`. +type Empty struct { + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` +} + +// FindDevicesByDeviceIdentifierRequest: Request to find devices. +type FindDevicesByDeviceIdentifierRequest struct { + // DeviceIdentifier: The device identifier to search. + DeviceIdentifier *DeviceIdentifier `json:"deviceIdentifier,omitempty"` + + // Limit: Number of devices to show. + Limit int64 `json:"limit,omitempty,string"` + + // PageToken: Page token. + PageToken string `json:"pageToken,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DeviceIdentifier") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DeviceIdentifier") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *FindDevicesByDeviceIdentifierRequest) MarshalJSON() ([]byte, error) { + type noMethod FindDevicesByDeviceIdentifierRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// FindDevicesByDeviceIdentifierResponse: Response containing found +// devices. +type FindDevicesByDeviceIdentifierResponse struct { + // Devices: Found devices. + Devices []*Device `json:"devices,omitempty"` + + // NextPageToken: Page token of the next page. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Devices") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Devices") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FindDevicesByDeviceIdentifierResponse) MarshalJSON() ([]byte, error) { + type noMethod FindDevicesByDeviceIdentifierResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// FindDevicesByOwnerRequest: Request to find devices by customers. +type FindDevicesByOwnerRequest struct { + // CustomerId: List of customer IDs to search for. + CustomerId googleapi.Int64s `json:"customerId,omitempty"` + + // Limit: The number of devices to show in the result. + Limit int64 `json:"limit,omitempty,string"` + + // PageToken: Page token. + PageToken string `json:"pageToken,omitempty"` + + // SectionType: The section type. + // + // Possible values: + // "SECTION_TYPE_UNSPECIFIED" - Unspecified section type. + // "SECTION_TYPE_ZERO_TOUCH" - Zero touch section type. + SectionType string `json:"sectionType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CustomerId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CustomerId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FindDevicesByOwnerRequest) MarshalJSON() ([]byte, error) { + type noMethod FindDevicesByOwnerRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// FindDevicesByOwnerResponse: Response containing found devices. +type FindDevicesByOwnerResponse struct { + // Devices: Devices found. + Devices []*Device `json:"devices,omitempty"` + + // NextPageToken: Page token of the next page. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Devices") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Devices") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FindDevicesByOwnerResponse) MarshalJSON() ([]byte, error) { + type noMethod FindDevicesByOwnerResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListCustomersResponse: Response message of all customers related to +// this partner. +type ListCustomersResponse struct { + // Customers: List of customers related to this partner. + Customers []*Company `json:"customers,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Customers") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Customers") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListCustomersResponse) MarshalJSON() ([]byte, error) { + type noMethod ListCustomersResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Operation: This resource represents a long-running operation that is +// the result of a +// network API call. +type Operation struct { + // Done: If the value is `false`, it means the operation is still in + // progress. + // If `true`, the operation is completed, and either `error` or + // `response` is + // available. + Done bool `json:"done,omitempty"` + + // Error: This field will always be not set if the operation is created + // by `claimAsync`, `unclaimAsync`, or `updateMetadataAsync`. In this + // case, error information for each device is set in + // `response.perDeviceStatus.result.status`. + Error *Status `json:"error,omitempty"` + + // Metadata: This field will contain a + // `DevicesLongRunningOperationMetadata` object if the operation is + // created by `claimAsync`, `unclaimAsync`, or `updateMetadataAsync`. + Metadata googleapi.RawMessage `json:"metadata,omitempty"` + + // Name: The server-assigned name, which is only unique within the same + // service that + // originally returns it. If you use the default HTTP mapping, + // the + // `name` should have the format of `operations/some/unique/name`. + Name string `json:"name,omitempty"` + + // Response: This field will contain a + // `DevicesLongRunningOperationResponse` object if the operation is + // created by `claimAsync`, `unclaimAsync`, or `updateMetadataAsync`. + Response googleapi.RawMessage `json:"response,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Done") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Done") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Operation) MarshalJSON() ([]byte, error) { + type noMethod Operation + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// OperationPerDevice: Operation the server received for every device. +type OperationPerDevice struct { + // Claim: Request to claim a device. + Claim *PartnerClaim `json:"claim,omitempty"` + + // Result: Processing result for every device. + Result *PerDeviceStatusInBatch `json:"result,omitempty"` + + // Unclaim: Request to unclaim a device. + Unclaim *PartnerUnclaim `json:"unclaim,omitempty"` + + // UpdateMetadata: Request to set metadata for a device. + UpdateMetadata *UpdateMetadataArguments `json:"updateMetadata,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Claim") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Claim") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *OperationPerDevice) MarshalJSON() ([]byte, error) { + type noMethod OperationPerDevice + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PartnerClaim: Identifies one claim request. +type PartnerClaim struct { + // CustomerId: Customer ID to claim for. + CustomerId int64 `json:"customerId,omitempty,string"` + + // DeviceIdentifier: Device identifier of the device. + DeviceIdentifier *DeviceIdentifier `json:"deviceIdentifier,omitempty"` + + // DeviceMetadata: Metadata to set at claim. + DeviceMetadata *DeviceMetadata `json:"deviceMetadata,omitempty"` + + // SectionType: Section type to claim. + // + // Possible values: + // "SECTION_TYPE_UNSPECIFIED" - Unspecified section type. + // "SECTION_TYPE_ZERO_TOUCH" - Zero touch section type. + SectionType string `json:"sectionType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CustomerId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CustomerId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *PartnerClaim) MarshalJSON() ([]byte, error) { + type noMethod PartnerClaim + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PartnerUnclaim: Identifies one unclaim request. +type PartnerUnclaim struct { + // DeviceId: Device ID of the device. + DeviceId int64 `json:"deviceId,omitempty,string"` + + // DeviceIdentifier: Device identifier of the device. + DeviceIdentifier *DeviceIdentifier `json:"deviceIdentifier,omitempty"` + + // SectionType: Section type to unclaim. + // + // Possible values: + // "SECTION_TYPE_UNSPECIFIED" - Unspecified section type. + // "SECTION_TYPE_ZERO_TOUCH" - Zero touch section type. + SectionType string `json:"sectionType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DeviceId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DeviceId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *PartnerUnclaim) MarshalJSON() ([]byte, error) { + type noMethod PartnerUnclaim + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PerDeviceStatusInBatch: Stores the processing result for each device. +type PerDeviceStatusInBatch struct { + // DeviceId: Device ID of the device if process succeeds. + DeviceId int64 `json:"deviceId,omitempty,string"` + + // ErrorIdentifier: Error identifier. + ErrorIdentifier string `json:"errorIdentifier,omitempty"` + + // ErrorMessage: Error message. + ErrorMessage string `json:"errorMessage,omitempty"` + + // Status: Process result. + // + // Possible values: + // "SINGLE_DEVICE_STATUS_UNSPECIFIED" - Invalid code. Shouldn't be + // used. + // "SINGLE_DEVICE_STATUS_UNKNOWN_ERROR" - Unknown error. + // We don't expect this error to occur here. + // "SINGLE_DEVICE_STATUS_OTHER_ERROR" - Other error. + // We know/expect this error, but there's no defined error code for + // the + // error. + // "SINGLE_DEVICE_STATUS_SUCCESS" - Success. + // "SINGLE_DEVICE_STATUS_PERMISSION_DENIED" - Permission denied. + // "SINGLE_DEVICE_STATUS_INVALID_DEVICE_IDENTIFIER" - Invalid device + // identifier. + // "SINGLE_DEVICE_STATUS_INVALID_SECTION_TYPE" - Invalid section type. + // "SINGLE_DEVICE_STATUS_SECTION_NOT_YOURS" - This section is claimed + // by another company. + Status string `json:"status,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DeviceId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DeviceId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *PerDeviceStatusInBatch) MarshalJSON() ([]byte, error) { + type noMethod PerDeviceStatusInBatch + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Status: The `Status` type defines a logical error model that is +// suitable for different +// programming environments, including REST APIs and RPC APIs. It is +// used by +// [gRPC](https://github.com/grpc). The error model is designed to +// be: +// +// - Simple to use and understand for most users +// - Flexible enough to meet unexpected needs +// +// # Overview +// +// The `Status` message contains three pieces of data: error code, error +// message, +// and error details. The error code should be an enum value +// of +// google.rpc.Code, but it may accept additional error codes if needed. +// The +// error message should be a developer-facing English message that +// helps +// developers *understand* and *resolve* the error. If a localized +// user-facing +// error message is needed, put the localized message in the error +// details or +// localize it in the client. The optional error details may contain +// arbitrary +// information about the error. There is a predefined set of error +// detail types +// in the package `google.rpc` that can be used for common error +// conditions. +// +// # Language mapping +// +// The `Status` message is the logical representation of the error +// model, but it +// is not necessarily the actual wire format. When the `Status` message +// is +// exposed in different client libraries and different wire protocols, +// it can be +// mapped differently. For example, it will likely be mapped to some +// exceptions +// in Java, but more likely mapped to some error codes in C. +// +// # Other uses +// +// The error model and the `Status` message can be used in a variety +// of +// environments, either with or without APIs, to provide a +// consistent developer experience across different +// environments. +// +// Example uses of this error model include: +// +// - Partial errors. If a service needs to return partial errors to the +// client, +// it may embed the `Status` in the normal response to indicate the +// partial +// errors. +// +// - Workflow errors. A typical workflow has multiple steps. Each step +// may +// have a `Status` message for error reporting. +// +// - Batch operations. If a client uses batch request and batch +// response, the +// `Status` message should be used directly inside batch response, +// one for +// each error sub-response. +// +// - Asynchronous operations. If an API call embeds asynchronous +// operation +// results in its response, the status of those operations should +// be +// represented directly using the `Status` message. +// +// - Logging. If some API errors are stored in logs, the message +// `Status` could +// be used directly after any stripping needed for security/privacy +// reasons. +type Status struct { + // Code: The status code, which should be an enum value of + // google.rpc.Code. + Code int64 `json:"code,omitempty"` + + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. + Details []googleapi.RawMessage `json:"details,omitempty"` + + // Message: A developer-facing error message, which should be in + // English. Any + // user-facing error message should be localized and sent in + // the + // google.rpc.Status.details field, or localized by the client. + 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Status) MarshalJSON() ([]byte, error) { + type noMethod Status + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// UnclaimDeviceRequest: Request message to unclaim a device. +type UnclaimDeviceRequest struct { + // DeviceId: The device ID returned by `ClaimDevice`. + DeviceId int64 `json:"deviceId,omitempty,string"` + + // DeviceIdentifier: The device identifier you used when you claimed + // this device. + DeviceIdentifier *DeviceIdentifier `json:"deviceIdentifier,omitempty"` + + // SectionType: The section type to unclaim for. + // + // Possible values: + // "SECTION_TYPE_UNSPECIFIED" - Unspecified section type. + // "SECTION_TYPE_ZERO_TOUCH" - Zero touch section type. + SectionType string `json:"sectionType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DeviceId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DeviceId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *UnclaimDeviceRequest) MarshalJSON() ([]byte, error) { + type noMethod UnclaimDeviceRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// UnclaimDevicesRequest: Request to unclaim devices asynchronously in +// batch. +type UnclaimDevicesRequest struct { + // Unclaims: List of devices to unclaim. + Unclaims []*PartnerUnclaim `json:"unclaims,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Unclaims") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Unclaims") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *UnclaimDevicesRequest) MarshalJSON() ([]byte, error) { + type noMethod UnclaimDevicesRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// UpdateDeviceMetadataInBatchRequest: Request to update device metadata +// in batch. +type UpdateDeviceMetadataInBatchRequest struct { + // Updates: List of metadata updates. + Updates []*UpdateMetadataArguments `json:"updates,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Updates") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Updates") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *UpdateDeviceMetadataInBatchRequest) MarshalJSON() ([]byte, error) { + type noMethod UpdateDeviceMetadataInBatchRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// UpdateDeviceMetadataRequest: Request to set metadata for a device. +type UpdateDeviceMetadataRequest struct { + // DeviceMetadata: The metdata to set. + DeviceMetadata *DeviceMetadata `json:"deviceMetadata,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DeviceMetadata") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DeviceMetadata") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *UpdateDeviceMetadataRequest) MarshalJSON() ([]byte, error) { + type noMethod UpdateDeviceMetadataRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// UpdateMetadataArguments: Identifies metdata updates to one device. +type UpdateMetadataArguments struct { + // DeviceId: Device ID of the device. + DeviceId int64 `json:"deviceId,omitempty,string"` + + // DeviceIdentifier: Device identifier. + DeviceIdentifier *DeviceIdentifier `json:"deviceIdentifier,omitempty"` + + // DeviceMetadata: The metadata to update. + DeviceMetadata *DeviceMetadata `json:"deviceMetadata,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DeviceId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DeviceId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *UpdateMetadataArguments) MarshalJSON() ([]byte, error) { + type noMethod UpdateMetadataArguments + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// method id "androiddeviceprovisioning.operations.get": + +type OperationsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the latest state of a long-running operation. Clients can +// use this +// method to poll the operation result at intervals as recommended by +// the API +// service. +func (r *OperationsService) Get(name string) *OperationsGetCall { + c := &OperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OperationsGetCall) Fields(s ...googleapi.Field) *OperationsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *OperationsGetCall) IfNoneMatch(entityTag string) *OperationsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OperationsGetCall) Context(ctx context.Context) *OperationsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OperationsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androiddeviceprovisioning.operations.get" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *OperationsGetCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + // "flatPath": "v1/operations/{operationsId}", + // "httpMethod": "GET", + // "id": "androiddeviceprovisioning.operations.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the operation resource.", + // "location": "path", + // "pattern": "^operations/.+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "Operation" + // } + // } + +} + +// method id "androiddeviceprovisioning.partners.customers.create": + +type PartnersCustomersCreateCall struct { + s *Service + parent string + createcustomerrequest *CreateCustomerRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a customer for zero-touch enrollment. After the +// method returns +// successfully, admin and owner roles can manage devices and EMM +// configs +// by calling API methods or using their zero-touch enrollment portal. +// The API +// doesn't notify the customer that they have access. +func (r *PartnersCustomersService) Create(parent string, createcustomerrequest *CreateCustomerRequest) *PartnersCustomersCreateCall { + c := &PartnersCustomersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.createcustomerrequest = createcustomerrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *PartnersCustomersCreateCall) Fields(s ...googleapi.Field) *PartnersCustomersCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *PartnersCustomersCreateCall) Context(ctx context.Context) *PartnersCustomersCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *PartnersCustomersCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *PartnersCustomersCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.createcustomerrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/customers") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androiddeviceprovisioning.partners.customers.create" call. +// Exactly one of *Company or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Company.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *PartnersCustomersCreateCall) Do(opts ...googleapi.CallOption) (*Company, 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, &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, err + } + ret := &Company{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a customer for zero-touch enrollment. After the method returns\nsuccessfully, admin and owner roles can manage devices and EMM configs\nby calling API methods or using their zero-touch enrollment portal. The API\ndoesn't notify the customer that they have access.", + // "flatPath": "v1/partners/{partnersId}/customers", + // "httpMethod": "POST", + // "id": "androiddeviceprovisioning.partners.customers.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "Required. The parent resource ID in format `partners/[PARTNER_ID]` that\nidentifies the reseller.", + // "location": "path", + // "pattern": "^partners/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/customers", + // "request": { + // "$ref": "CreateCustomerRequest" + // }, + // "response": { + // "$ref": "Company" + // } + // } + +} + +// method id "androiddeviceprovisioning.partners.customers.list": + +type PartnersCustomersListCall struct { + s *Service + partnerId int64 + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists the customers that are enrolled to the reseller +// identified by the +// `partnerId` argument. This list includes customers that the +// reseller +// created and customers that enrolled themselves using the portal. +func (r *PartnersCustomersService) List(partnerId int64) *PartnersCustomersListCall { + c := &PartnersCustomersListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.partnerId = partnerId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *PartnersCustomersListCall) Fields(s ...googleapi.Field) *PartnersCustomersListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *PartnersCustomersListCall) IfNoneMatch(entityTag string) *PartnersCustomersListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *PartnersCustomersListCall) Context(ctx context.Context) *PartnersCustomersListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *PartnersCustomersListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *PartnersCustomersListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/customers") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "partnerId": strconv.FormatInt(c.partnerId, 10), + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androiddeviceprovisioning.partners.customers.list" call. +// Exactly one of *ListCustomersResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListCustomersResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *PartnersCustomersListCall) Do(opts ...googleapi.CallOption) (*ListCustomersResponse, 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, &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, err + } + ret := &ListCustomersResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists the customers that are enrolled to the reseller identified by the\n`partnerId` argument. This list includes customers that the reseller\ncreated and customers that enrolled themselves using the portal.", + // "flatPath": "v1/partners/{partnersId}/customers", + // "httpMethod": "GET", + // "id": "androiddeviceprovisioning.partners.customers.list", + // "parameterOrder": [ + // "partnerId" + // ], + // "parameters": { + // "partnerId": { + // "description": "The ID of the partner.", + // "format": "int64", + // "location": "path", + // "pattern": "^[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/partners/{+partnerId}/customers", + // "response": { + // "$ref": "ListCustomersResponse" + // } + // } + +} + +// method id "androiddeviceprovisioning.partners.devices.claim": + +type PartnersDevicesClaimCall struct { + s *Service + partnerId int64 + claimdevicerequest *ClaimDeviceRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Claim: Claim the device identified by device identifier. +func (r *PartnersDevicesService) Claim(partnerId int64, claimdevicerequest *ClaimDeviceRequest) *PartnersDevicesClaimCall { + c := &PartnersDevicesClaimCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.partnerId = partnerId + c.claimdevicerequest = claimdevicerequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *PartnersDevicesClaimCall) Fields(s ...googleapi.Field) *PartnersDevicesClaimCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *PartnersDevicesClaimCall) Context(ctx context.Context) *PartnersDevicesClaimCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *PartnersDevicesClaimCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *PartnersDevicesClaimCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.claimdevicerequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/devices:claim") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "partnerId": strconv.FormatInt(c.partnerId, 10), + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androiddeviceprovisioning.partners.devices.claim" call. +// Exactly one of *ClaimDeviceResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ClaimDeviceResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *PartnersDevicesClaimCall) Do(opts ...googleapi.CallOption) (*ClaimDeviceResponse, 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, &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, err + } + ret := &ClaimDeviceResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Claim the device identified by device identifier.", + // "flatPath": "v1/partners/{partnersId}/devices:claim", + // "httpMethod": "POST", + // "id": "androiddeviceprovisioning.partners.devices.claim", + // "parameterOrder": [ + // "partnerId" + // ], + // "parameters": { + // "partnerId": { + // "description": "ID of the partner.", + // "format": "int64", + // "location": "path", + // "pattern": "^[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/partners/{+partnerId}/devices:claim", + // "request": { + // "$ref": "ClaimDeviceRequest" + // }, + // "response": { + // "$ref": "ClaimDeviceResponse" + // } + // } + +} + +// method id "androiddeviceprovisioning.partners.devices.claimAsync": + +type PartnersDevicesClaimAsyncCall struct { + s *Service + partnerId int64 + claimdevicesrequest *ClaimDevicesRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ClaimAsync: Claim devices asynchronously. +func (r *PartnersDevicesService) ClaimAsync(partnerId int64, claimdevicesrequest *ClaimDevicesRequest) *PartnersDevicesClaimAsyncCall { + c := &PartnersDevicesClaimAsyncCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.partnerId = partnerId + c.claimdevicesrequest = claimdevicesrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *PartnersDevicesClaimAsyncCall) Fields(s ...googleapi.Field) *PartnersDevicesClaimAsyncCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *PartnersDevicesClaimAsyncCall) Context(ctx context.Context) *PartnersDevicesClaimAsyncCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *PartnersDevicesClaimAsyncCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *PartnersDevicesClaimAsyncCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.claimdevicesrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/devices:claimAsync") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "partnerId": strconv.FormatInt(c.partnerId, 10), + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androiddeviceprovisioning.partners.devices.claimAsync" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *PartnersDevicesClaimAsyncCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Claim devices asynchronously.", + // "flatPath": "v1/partners/{partnersId}/devices:claimAsync", + // "httpMethod": "POST", + // "id": "androiddeviceprovisioning.partners.devices.claimAsync", + // "parameterOrder": [ + // "partnerId" + // ], + // "parameters": { + // "partnerId": { + // "description": "Partner ID.", + // "format": "int64", + // "location": "path", + // "pattern": "^[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/partners/{+partnerId}/devices:claimAsync", + // "request": { + // "$ref": "ClaimDevicesRequest" + // }, + // "response": { + // "$ref": "Operation" + // } + // } + +} + +// method id "androiddeviceprovisioning.partners.devices.findByIdentifier": + +type PartnersDevicesFindByIdentifierCall struct { + s *Service + partnerId int64 + finddevicesbydeviceidentifierrequest *FindDevicesByDeviceIdentifierRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// FindByIdentifier: Find devices by device identifier. +func (r *PartnersDevicesService) FindByIdentifier(partnerId int64, finddevicesbydeviceidentifierrequest *FindDevicesByDeviceIdentifierRequest) *PartnersDevicesFindByIdentifierCall { + c := &PartnersDevicesFindByIdentifierCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.partnerId = partnerId + c.finddevicesbydeviceidentifierrequest = finddevicesbydeviceidentifierrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *PartnersDevicesFindByIdentifierCall) Fields(s ...googleapi.Field) *PartnersDevicesFindByIdentifierCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *PartnersDevicesFindByIdentifierCall) Context(ctx context.Context) *PartnersDevicesFindByIdentifierCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *PartnersDevicesFindByIdentifierCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *PartnersDevicesFindByIdentifierCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.finddevicesbydeviceidentifierrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/devices:findByIdentifier") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "partnerId": strconv.FormatInt(c.partnerId, 10), + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androiddeviceprovisioning.partners.devices.findByIdentifier" call. +// Exactly one of *FindDevicesByDeviceIdentifierResponse or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *FindDevicesByDeviceIdentifierResponse.ServerResponse.Header or (if a +// response was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *PartnersDevicesFindByIdentifierCall) Do(opts ...googleapi.CallOption) (*FindDevicesByDeviceIdentifierResponse, 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, &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, err + } + ret := &FindDevicesByDeviceIdentifierResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Find devices by device identifier.", + // "flatPath": "v1/partners/{partnersId}/devices:findByIdentifier", + // "httpMethod": "POST", + // "id": "androiddeviceprovisioning.partners.devices.findByIdentifier", + // "parameterOrder": [ + // "partnerId" + // ], + // "parameters": { + // "partnerId": { + // "description": "ID of the partner.", + // "format": "int64", + // "location": "path", + // "pattern": "^[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/partners/{+partnerId}/devices:findByIdentifier", + // "request": { + // "$ref": "FindDevicesByDeviceIdentifierRequest" + // }, + // "response": { + // "$ref": "FindDevicesByDeviceIdentifierResponse" + // } + // } + +} + +// 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 *PartnersDevicesFindByIdentifierCall) Pages(ctx context.Context, f func(*FindDevicesByDeviceIdentifierResponse) error) error { + c.ctx_ = ctx + defer func(pt string) { c.finddevicesbydeviceidentifierrequest.PageToken = pt }(c.finddevicesbydeviceidentifierrequest.PageToken) // reset paging to original point + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.finddevicesbydeviceidentifierrequest.PageToken = x.NextPageToken + } +} + +// method id "androiddeviceprovisioning.partners.devices.findByOwner": + +type PartnersDevicesFindByOwnerCall struct { + s *Service + partnerId int64 + finddevicesbyownerrequest *FindDevicesByOwnerRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// FindByOwner: Find devices by ownership. +func (r *PartnersDevicesService) FindByOwner(partnerId int64, finddevicesbyownerrequest *FindDevicesByOwnerRequest) *PartnersDevicesFindByOwnerCall { + c := &PartnersDevicesFindByOwnerCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.partnerId = partnerId + c.finddevicesbyownerrequest = finddevicesbyownerrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *PartnersDevicesFindByOwnerCall) Fields(s ...googleapi.Field) *PartnersDevicesFindByOwnerCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *PartnersDevicesFindByOwnerCall) Context(ctx context.Context) *PartnersDevicesFindByOwnerCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *PartnersDevicesFindByOwnerCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *PartnersDevicesFindByOwnerCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.finddevicesbyownerrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/devices:findByOwner") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "partnerId": strconv.FormatInt(c.partnerId, 10), + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androiddeviceprovisioning.partners.devices.findByOwner" call. +// Exactly one of *FindDevicesByOwnerResponse or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *FindDevicesByOwnerResponse.ServerResponse.Header or (if a response +// was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *PartnersDevicesFindByOwnerCall) Do(opts ...googleapi.CallOption) (*FindDevicesByOwnerResponse, 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, &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, err + } + ret := &FindDevicesByOwnerResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Find devices by ownership.", + // "flatPath": "v1/partners/{partnersId}/devices:findByOwner", + // "httpMethod": "POST", + // "id": "androiddeviceprovisioning.partners.devices.findByOwner", + // "parameterOrder": [ + // "partnerId" + // ], + // "parameters": { + // "partnerId": { + // "description": "ID of the partner.", + // "format": "int64", + // "location": "path", + // "pattern": "^[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/partners/{+partnerId}/devices:findByOwner", + // "request": { + // "$ref": "FindDevicesByOwnerRequest" + // }, + // "response": { + // "$ref": "FindDevicesByOwnerResponse" + // } + // } + +} + +// 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 *PartnersDevicesFindByOwnerCall) Pages(ctx context.Context, f func(*FindDevicesByOwnerResponse) error) error { + c.ctx_ = ctx + defer func(pt string) { c.finddevicesbyownerrequest.PageToken = pt }(c.finddevicesbyownerrequest.PageToken) // reset paging to original point + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.finddevicesbyownerrequest.PageToken = x.NextPageToken + } +} + +// method id "androiddeviceprovisioning.partners.devices.get": + +type PartnersDevicesGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Get a device. +func (r *PartnersDevicesService) Get(name string) *PartnersDevicesGetCall { + c := &PartnersDevicesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *PartnersDevicesGetCall) Fields(s ...googleapi.Field) *PartnersDevicesGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *PartnersDevicesGetCall) IfNoneMatch(entityTag string) *PartnersDevicesGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *PartnersDevicesGetCall) Context(ctx context.Context) *PartnersDevicesGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *PartnersDevicesGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *PartnersDevicesGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androiddeviceprovisioning.partners.devices.get" call. +// Exactly one of *Device or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Device.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *PartnersDevicesGetCall) Do(opts ...googleapi.CallOption) (*Device, 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, &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, err + } + ret := &Device{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Get a device.", + // "flatPath": "v1/partners/{partnersId}/devices/{devicesId}", + // "httpMethod": "GET", + // "id": "androiddeviceprovisioning.partners.devices.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Resource name in `partners/[PARTNER_ID]/devices/[DEVICE_ID]`.", + // "location": "path", + // "pattern": "^partners/[^/]+/devices/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "Device" + // } + // } + +} + +// method id "androiddeviceprovisioning.partners.devices.metadata": + +type PartnersDevicesMetadataCall struct { + s *Service + metadataOwnerId int64 + deviceId int64 + updatedevicemetadatarequest *UpdateDeviceMetadataRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Metadata: Update the metadata. +func (r *PartnersDevicesService) Metadata(metadataOwnerId int64, deviceId int64, updatedevicemetadatarequest *UpdateDeviceMetadataRequest) *PartnersDevicesMetadataCall { + c := &PartnersDevicesMetadataCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.metadataOwnerId = metadataOwnerId + c.deviceId = deviceId + c.updatedevicemetadatarequest = updatedevicemetadatarequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *PartnersDevicesMetadataCall) Fields(s ...googleapi.Field) *PartnersDevicesMetadataCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *PartnersDevicesMetadataCall) Context(ctx context.Context) *PartnersDevicesMetadataCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *PartnersDevicesMetadataCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *PartnersDevicesMetadataCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.updatedevicemetadatarequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+metadataOwnerId}/devices/{+deviceId}/metadata") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "metadataOwnerId": strconv.FormatInt(c.metadataOwnerId, 10), + "deviceId": strconv.FormatInt(c.deviceId, 10), + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androiddeviceprovisioning.partners.devices.metadata" call. +// Exactly one of *DeviceMetadata or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *DeviceMetadata.ServerResponse.Header or (if a response was returned +// at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *PartnersDevicesMetadataCall) Do(opts ...googleapi.CallOption) (*DeviceMetadata, 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, &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, err + } + ret := &DeviceMetadata{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Update the metadata.", + // "flatPath": "v1/partners/{partnersId}/devices/{devicesId}/metadata", + // "httpMethod": "POST", + // "id": "androiddeviceprovisioning.partners.devices.metadata", + // "parameterOrder": [ + // "metadataOwnerId", + // "deviceId" + // ], + // "parameters": { + // "deviceId": { + // "description": "ID of the partner.", + // "format": "int64", + // "location": "path", + // "pattern": "^[^/]+$", + // "required": true, + // "type": "string" + // }, + // "metadataOwnerId": { + // "description": "The owner of the newly set metadata. Set this to the partner ID.", + // "format": "int64", + // "location": "path", + // "pattern": "^[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/partners/{+metadataOwnerId}/devices/{+deviceId}/metadata", + // "request": { + // "$ref": "UpdateDeviceMetadataRequest" + // }, + // "response": { + // "$ref": "DeviceMetadata" + // } + // } + +} + +// method id "androiddeviceprovisioning.partners.devices.unclaim": + +type PartnersDevicesUnclaimCall struct { + s *Service + partnerId int64 + unclaimdevicerequest *UnclaimDeviceRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Unclaim: Unclaim the device identified by the `device_id` or the +// `deviceIdentifier`. +func (r *PartnersDevicesService) Unclaim(partnerId int64, unclaimdevicerequest *UnclaimDeviceRequest) *PartnersDevicesUnclaimCall { + c := &PartnersDevicesUnclaimCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.partnerId = partnerId + c.unclaimdevicerequest = unclaimdevicerequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *PartnersDevicesUnclaimCall) Fields(s ...googleapi.Field) *PartnersDevicesUnclaimCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *PartnersDevicesUnclaimCall) Context(ctx context.Context) *PartnersDevicesUnclaimCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *PartnersDevicesUnclaimCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *PartnersDevicesUnclaimCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.unclaimdevicerequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/devices:unclaim") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "partnerId": strconv.FormatInt(c.partnerId, 10), + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androiddeviceprovisioning.partners.devices.unclaim" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *PartnersDevicesUnclaimCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Unclaim the device identified by the `device_id` or the `deviceIdentifier`.", + // "flatPath": "v1/partners/{partnersId}/devices:unclaim", + // "httpMethod": "POST", + // "id": "androiddeviceprovisioning.partners.devices.unclaim", + // "parameterOrder": [ + // "partnerId" + // ], + // "parameters": { + // "partnerId": { + // "description": "ID of the partner.", + // "format": "int64", + // "location": "path", + // "pattern": "^[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/partners/{+partnerId}/devices:unclaim", + // "request": { + // "$ref": "UnclaimDeviceRequest" + // }, + // "response": { + // "$ref": "Empty" + // } + // } + +} + +// method id "androiddeviceprovisioning.partners.devices.unclaimAsync": + +type PartnersDevicesUnclaimAsyncCall struct { + s *Service + partnerId int64 + unclaimdevicesrequest *UnclaimDevicesRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// UnclaimAsync: Unclaim devices asynchronously. +func (r *PartnersDevicesService) UnclaimAsync(partnerId int64, unclaimdevicesrequest *UnclaimDevicesRequest) *PartnersDevicesUnclaimAsyncCall { + c := &PartnersDevicesUnclaimAsyncCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.partnerId = partnerId + c.unclaimdevicesrequest = unclaimdevicesrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *PartnersDevicesUnclaimAsyncCall) Fields(s ...googleapi.Field) *PartnersDevicesUnclaimAsyncCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *PartnersDevicesUnclaimAsyncCall) Context(ctx context.Context) *PartnersDevicesUnclaimAsyncCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *PartnersDevicesUnclaimAsyncCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *PartnersDevicesUnclaimAsyncCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.unclaimdevicesrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/devices:unclaimAsync") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "partnerId": strconv.FormatInt(c.partnerId, 10), + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androiddeviceprovisioning.partners.devices.unclaimAsync" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *PartnersDevicesUnclaimAsyncCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Unclaim devices asynchronously.", + // "flatPath": "v1/partners/{partnersId}/devices:unclaimAsync", + // "httpMethod": "POST", + // "id": "androiddeviceprovisioning.partners.devices.unclaimAsync", + // "parameterOrder": [ + // "partnerId" + // ], + // "parameters": { + // "partnerId": { + // "description": "Partner ID.", + // "format": "int64", + // "location": "path", + // "pattern": "^[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/partners/{+partnerId}/devices:unclaimAsync", + // "request": { + // "$ref": "UnclaimDevicesRequest" + // }, + // "response": { + // "$ref": "Operation" + // } + // } + +} + +// method id "androiddeviceprovisioning.partners.devices.updateMetadataAsync": + +type PartnersDevicesUpdateMetadataAsyncCall struct { + s *Service + partnerId int64 + updatedevicemetadatainbatchrequest *UpdateDeviceMetadataInBatchRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// UpdateMetadataAsync: Set metadata in batch asynchronously. +func (r *PartnersDevicesService) UpdateMetadataAsync(partnerId int64, updatedevicemetadatainbatchrequest *UpdateDeviceMetadataInBatchRequest) *PartnersDevicesUpdateMetadataAsyncCall { + c := &PartnersDevicesUpdateMetadataAsyncCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.partnerId = partnerId + c.updatedevicemetadatainbatchrequest = updatedevicemetadatainbatchrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *PartnersDevicesUpdateMetadataAsyncCall) Fields(s ...googleapi.Field) *PartnersDevicesUpdateMetadataAsyncCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *PartnersDevicesUpdateMetadataAsyncCall) Context(ctx context.Context) *PartnersDevicesUpdateMetadataAsyncCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *PartnersDevicesUpdateMetadataAsyncCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *PartnersDevicesUpdateMetadataAsyncCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.updatedevicemetadatainbatchrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/devices:updateMetadataAsync") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "partnerId": strconv.FormatInt(c.partnerId, 10), + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androiddeviceprovisioning.partners.devices.updateMetadataAsync" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *PartnersDevicesUpdateMetadataAsyncCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Set metadata in batch asynchronously.", + // "flatPath": "v1/partners/{partnersId}/devices:updateMetadataAsync", + // "httpMethod": "POST", + // "id": "androiddeviceprovisioning.partners.devices.updateMetadataAsync", + // "parameterOrder": [ + // "partnerId" + // ], + // "parameters": { + // "partnerId": { + // "description": "Partner ID.", + // "format": "int64", + // "location": "path", + // "pattern": "^[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/partners/{+partnerId}/devices:updateMetadataAsync", + // "request": { + // "$ref": "UpdateDeviceMetadataInBatchRequest" + // }, + // "response": { + // "$ref": "Operation" + // } + // } + +} diff --git a/vendor/google.golang.org/api/androidenterprise/v1/androidenterprise-api.json b/vendor/google.golang.org/api/androidenterprise/v1/androidenterprise-api.json index 541af20fb..50d398841 100644 --- a/vendor/google.golang.org/api/androidenterprise/v1/androidenterprise-api.json +++ b/vendor/google.golang.org/api/androidenterprise/v1/androidenterprise-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/Eo4yAE5hsqiZm3AyzEBz2cSs7e4\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/eOnhI7vohdeU44iGbzR45SHL-EI\"", "discoveryVersion": "v1", "id": "androidenterprise:v1", "name": "androidenterprise", "canonicalName": "Android Enterprise", "version": "v1", - "revision": "20170531", + "revision": "20170911", "title": "Google Play EMM API", "description": "Manages the deployment of apps to Android for Work users.", "ownerDomain": "google.com", @@ -21,7 +21,7 @@ "basePath": "/androidenterprise/v1/", "rootUrl": "https://www.googleapis.com/", "servicePath": "androidenterprise/v1/", - "batchPath": "batch", + "batchPath": "batch/androidenterprise/v1", "parameters": { "alt": { "type": "string", @@ -127,6 +127,22 @@ } } }, + "AndroidDevicePolicyConfig": { + "id": "AndroidDevicePolicyConfig", + "type": "object", + "description": "The Android Device Policy configuration of an enterprise.", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#androidDevicePolicyConfig\".", + "default": "androidenterprise#androidDevicePolicyConfig" + }, + "state": { + "type": "string", + "description": "The state of Android Device Policy. \"enabled\" indicates that Android Device Policy is enabled for the enterprise and the EMM is allowed to manage devices with Android Device Policy, while \"disabled\" means that it cannot." + } + } + }, "AppRestrictionsSchema": { "id": "AppRestrictionsSchema", "type": "object", @@ -477,7 +493,7 @@ "GroupLicense": { "id": "GroupLicense", "type": "object", - "description": "A group license object indicates a product that an enterprise admin has approved for use in the enterprise. The product may be free or paid. For free products, a group license object is created in these cases: if the enterprise admin approves a product in Google Play, if the product is added to a collection, or if an entitlement for the product is created for a user via the API. For paid products, a group license object is only created as part of the first bulk purchase of that product in Google Play by the enterprise admin.\n\nThe API can be used to query group licenses; the available information includes the total number of licenses purchased (for paid products) and the total number of licenses that have been provisioned, that is, the total number of user entitlements in existence for the product.\n\nGroup license objects are never deleted. If, for example, a free app is added to a collection and then removed, the group license will remain, allowing the enterprise admin to keep track of any remaining entitlements. An enterprise admin may indicate they are no longer interested in the group license by marking it as unapproved in Google Play.", + "description": "Group license objects allow you to keep track of licenses (called entitlements) for both free and paid apps. For a free app, a group license is created when an enterprise admin first approves the product in Google Play or when the first entitlement for the product is created for a user via the API. For a paid app, a group license object is only created when an enterprise admin purchases the product in Google Play for the first time.\n\nUse the API to query group licenses. A Grouplicenses resource includes the total number of licenses purchased (paid apps only) and the total number of licenses currently in use. Iyn other words, the total number of Entitlements that exist for the product.\n\nOnly one group license object is created per product and group license objects are never deleted. If a product is unapproved, its group license remains. This allows enterprise admins to keep track of any remaining entitlements for the product.", "properties": { "acquisitionKind": { "type": "string", @@ -917,7 +933,7 @@ "properties": { "appVersion": { "type": "array", - "description": "App versions currently available for this product. The returned list contains only public versions. Alpha and beta versions are not included.", + "description": "App versions currently available for this product.", "items": { "$ref": "AppVersion" } @@ -955,6 +971,10 @@ "type": "boolean", "description": "Deprecated." }, + "signingCertificate": { + "$ref": "ProductSigningCertificate", + "description": "The certificate used to sign this product." + }, "smallIconUrl": { "type": "string", "description": "A link to a smaller image that can be used as an icon for the product. This image is suitable for use at up to 128px x 128px." @@ -1056,7 +1076,21 @@ }, "productSetBehavior": { "type": "string", - "description": "The interpretation of this product set. \"unknown\" should never be sent and is ignored if received. \"whitelist\" means that the user is entitled to access the product set. \"includeAll\" means that all products are accessible, including products that are approved, products with revoked approval, and products that have never been approved. \"allApproved\" means that the user is entitled to access all products that are approved for the enterprise. If the value is \"allApproved\" or \"includeAll\", the productId field is ignored. If no value is provided, it is interpreted as \"whitelist\" for backwards compatibility." + "description": "The interpretation of this product set. \"unknown\" should never be sent and is ignored if received. \"whitelist\" means that the user is entitled to access the product set. \"includeAll\" means that all products are accessible, including products that are approved, products with revoked approval, and products that have never been approved. \"allApproved\" means that the user is entitled to access all products that are approved for the enterprise. If the value is \"allApproved\" or \"includeAll\", the productId field is ignored. If no value is provided, it is interpreted as \"whitelist\" for backwards compatibility. Further \"allApproved\" or \"includeAll\" does not enable automatic visibility of \"alpha\" or \"beta\" tracks for Android app. Use ProductVisibility to enable \"alpha\" or \"beta\" tracks per user." + } + } + }, + "ProductSigningCertificate": { + "id": "ProductSigningCertificate", + "type": "object", + "properties": { + "certificateHashSha1": { + "type": "string", + "description": "The base64 urlsafe encoded SHA1 hash of the certificate. (This field is deprecated in favor of SHA2-256. It should not be used and may be removed at any time.)" + }, + "certificateHashSha256": { + "type": "string", + "description": "The base64 urlsafe encoded SHA2-256 hash of the certificate." } } }, @@ -1722,6 +1756,29 @@ "https://www.googleapis.com/auth/androidenterprise" ] }, + "getAndroidDevicePolicyConfig": { + "id": "androidenterprise.enterprises.getAndroidDevicePolicyConfig", + "path": "enterprises/{enterpriseId}/androidDevicePolicyConfig", + "httpMethod": "GET", + "description": "Returns the Android Device Policy config resource.", + "parameters": { + "enterpriseId": { + "type": "string", + "description": "The ID of the enterprise.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "enterpriseId" + ], + "response": { + "$ref": "AndroidDevicePolicyConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/androidenterprise" + ] + }, "getServiceAccount": { "id": "androidenterprise.enterprises.getServiceAccount", "path": "enterprises/{enterpriseId}/serviceAccount", @@ -1861,7 +1918,7 @@ "id": "androidenterprise.enterprises.sendTestPushNotification", "path": "enterprises/{enterpriseId}/sendTestPushNotification", "httpMethod": "POST", - "description": "Sends a test push notification to validate the EMM integration with the Google Cloud Pub/Sub service for this enterprise.", + "description": "Sends a test notification to validate the EMM integration with the Google Cloud Pub/Sub service for this enterprise.", "parameters": { "enterpriseId": { "type": "string", @@ -1906,6 +1963,32 @@ "https://www.googleapis.com/auth/androidenterprise" ] }, + "setAndroidDevicePolicyConfig": { + "id": "androidenterprise.enterprises.setAndroidDevicePolicyConfig", + "path": "enterprises/{enterpriseId}/androidDevicePolicyConfig", + "httpMethod": "PUT", + "description": "Sets the Android Device Policy config resource. EMM may use this method to enable or disable Android Device Policy support for the specified enterprise. To learn more about managing devices and apps with Android Device Policy, see the Android Management API.", + "parameters": { + "enterpriseId": { + "type": "string", + "description": "The ID of the enterprise.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "enterpriseId" + ], + "request": { + "$ref": "AndroidDevicePolicyConfig" + }, + "response": { + "$ref": "AndroidDevicePolicyConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/androidenterprise" + ] + }, "setStoreLayout": { "id": "androidenterprise.enterprises.setStoreLayout", "path": "enterprises/{enterpriseId}/storeLayout", diff --git a/vendor/google.golang.org/api/androidenterprise/v1/androidenterprise-gen.go b/vendor/google.golang.org/api/androidenterprise/v1/androidenterprise-gen.go index 26f8758ab..109451dec 100644 --- a/vendor/google.golang.org/api/androidenterprise/v1/androidenterprise-gen.go +++ b/vendor/google.golang.org/api/androidenterprise/v1/androidenterprise-gen.go @@ -350,6 +350,46 @@ func (s *AdministratorWebTokenSpec) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AndroidDevicePolicyConfig: The Android Device Policy configuration of +// an enterprise. +type AndroidDevicePolicyConfig struct { + // Kind: Identifies what kind of resource this is. Value: the fixed + // string "androidenterprise#androidDevicePolicyConfig". + Kind string `json:"kind,omitempty"` + + // State: The state of Android Device Policy. "enabled" indicates that + // Android Device Policy is enabled for the enterprise and the EMM is + // allowed to manage devices with Android Device Policy, while + // "disabled" means that it cannot. + State string `json:"state,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Kind") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Kind") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AndroidDevicePolicyConfig) MarshalJSON() ([]byte, error) { + type noMethod AndroidDevicePolicyConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // AppRestrictionsSchema: Represents the list of app restrictions // available to be pre-configured for the product. type AppRestrictionsSchema struct { @@ -1073,28 +1113,23 @@ func (s *EntitlementsListResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GroupLicense: A group license object indicates a product that an -// enterprise admin has approved for use in the enterprise. The product -// may be free or paid. For free products, a group license object is -// created in these cases: if the enterprise admin approves a product in -// Google Play, if the product is added to a collection, or if an -// entitlement for the product is created for a user via the API. For -// paid products, a group license object is only created as part of the -// first bulk purchase of that product in Google Play by the enterprise -// admin. +// GroupLicense: Group license objects allow you to keep track of +// licenses (called entitlements) for both free and paid apps. For a +// free app, a group license is created when an enterprise admin first +// approves the product in Google Play or when the first entitlement for +// the product is created for a user via the API. For a paid app, a +// group license object is only created when an enterprise admin +// purchases the product in Google Play for the first time. // -// The API can be used to query group licenses; the available -// information includes the total number of licenses purchased (for paid -// products) and the total number of licenses that have been -// provisioned, that is, the total number of user entitlements in -// existence for the product. +// Use the API to query group licenses. A Grouplicenses resource +// includes the total number of licenses purchased (paid apps only) and +// the total number of licenses currently in use. Iyn other words, the +// total number of Entitlements that exist for the product. // -// Group license objects are never deleted. If, for example, a free app -// is added to a collection and then removed, the group license will -// remain, allowing the enterprise admin to keep track of any remaining -// entitlements. An enterprise admin may indicate they are no longer -// interested in the group license by marking it as unapproved in Google -// Play. +// Only one group license object is created per product and group +// license objects are never deleted. If a product is unapproved, its +// group license remains. This allows enterprise admins to keep track of +// any remaining entitlements for the product. type GroupLicense struct { // AcquisitionKind: How this group license was acquired. "bulkPurchase" // means that this Grouplicenses resource was created because the @@ -1920,9 +1955,7 @@ func (s *Permission) MarshalJSON() ([]byte, error) { // to the full Google Play details page) is intended to allow a basic // representation of the product within an EMM user interface. type Product struct { - // AppVersion: App versions currently available for this product. The - // returned list contains only public versions. Alpha and beta versions - // are not included. + // AppVersion: App versions currently available for this product. AppVersion []*AppVersion `json:"appVersion,omitempty"` // AuthorName: The name of the author of the product (for example, the @@ -1963,6 +1996,9 @@ type Product struct { // RequiresContainerApp: Deprecated. RequiresContainerApp bool `json:"requiresContainerApp,omitempty"` + // SigningCertificate: The certificate used to sign this product. + SigningCertificate *ProductSigningCertificate `json:"signingCertificate,omitempty"` + // SmallIconUrl: A link to a smaller image that can be used as an icon // for the product. This image is suitable for use at up to 128px x // 128px. @@ -2168,7 +2204,10 @@ type ProductSet struct { // access all products that are approved for the enterprise. If the // value is "allApproved" or "includeAll", the productId field is // ignored. If no value is provided, it is interpreted as "whitelist" - // for backwards compatibility. + // for backwards compatibility. Further "allApproved" or "includeAll" + // does not enable automatic visibility of "alpha" or "beta" tracks for + // Android app. Use ProductVisibility to enable "alpha" or "beta" tracks + // per user. ProductSetBehavior string `json:"productSetBehavior,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -2198,6 +2237,40 @@ func (s *ProductSet) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type ProductSigningCertificate struct { + // CertificateHashSha1: The base64 urlsafe encoded SHA1 hash of the + // certificate. (This field is deprecated in favor of SHA2-256. It + // should not be used and may be removed at any time.) + CertificateHashSha1 string `json:"certificateHashSha1,omitempty"` + + // CertificateHashSha256: The base64 urlsafe encoded SHA2-256 hash of + // the certificate. + CertificateHashSha256 string `json:"certificateHashSha256,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CertificateHashSha1") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CertificateHashSha1") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *ProductSigningCertificate) MarshalJSON() ([]byte, error) { + type noMethod ProductSigningCertificate + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type ProductsApproveRequest struct { // ApprovalUrlInfo: The approval URL that was shown to the user. Only // the permissions shown to the user with that URL will be accepted, @@ -4397,6 +4470,144 @@ func (c *EnterprisesGetCall) Do(opts ...googleapi.CallOption) (*Enterprise, erro } +// method id "androidenterprise.enterprises.getAndroidDevicePolicyConfig": + +type EnterprisesGetAndroidDevicePolicyConfigCall struct { + s *Service + enterpriseId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// GetAndroidDevicePolicyConfig: Returns the Android Device Policy +// config resource. +func (r *EnterprisesService) GetAndroidDevicePolicyConfig(enterpriseId string) *EnterprisesGetAndroidDevicePolicyConfigCall { + c := &EnterprisesGetAndroidDevicePolicyConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.enterpriseId = enterpriseId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *EnterprisesGetAndroidDevicePolicyConfigCall) Fields(s ...googleapi.Field) *EnterprisesGetAndroidDevicePolicyConfigCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *EnterprisesGetAndroidDevicePolicyConfigCall) IfNoneMatch(entityTag string) *EnterprisesGetAndroidDevicePolicyConfigCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *EnterprisesGetAndroidDevicePolicyConfigCall) Context(ctx context.Context) *EnterprisesGetAndroidDevicePolicyConfigCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *EnterprisesGetAndroidDevicePolicyConfigCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *EnterprisesGetAndroidDevicePolicyConfigCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/androidDevicePolicyConfig") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "enterpriseId": c.enterpriseId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androidenterprise.enterprises.getAndroidDevicePolicyConfig" call. +// Exactly one of *AndroidDevicePolicyConfig or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *AndroidDevicePolicyConfig.ServerResponse.Header or (if a response +// was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *EnterprisesGetAndroidDevicePolicyConfigCall) Do(opts ...googleapi.CallOption) (*AndroidDevicePolicyConfig, 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, &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, err + } + ret := &AndroidDevicePolicyConfig{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns the Android Device Policy config resource.", + // "httpMethod": "GET", + // "id": "androidenterprise.enterprises.getAndroidDevicePolicyConfig", + // "parameterOrder": [ + // "enterpriseId" + // ], + // "parameters": { + // "enterpriseId": { + // "description": "The ID of the enterprise.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "enterprises/{enterpriseId}/androidDevicePolicyConfig", + // "response": { + // "$ref": "AndroidDevicePolicyConfig" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/androidenterprise" + // ] + // } + +} + // method id "androidenterprise.enterprises.getServiceAccount": type EnterprisesGetServiceAccountCall struct { @@ -5147,8 +5358,8 @@ type EnterprisesSendTestPushNotificationCall struct { header_ http.Header } -// SendTestPushNotification: Sends a test push notification to validate -// the EMM integration with the Google Cloud Pub/Sub service for this +// SendTestPushNotification: Sends a test notification to validate the +// EMM integration with the Google Cloud Pub/Sub service for this // enterprise. func (r *EnterprisesService) SendTestPushNotification(enterpriseId string) *EnterprisesSendTestPushNotificationCall { c := &EnterprisesSendTestPushNotificationCall{s: r.s, urlParams_: make(gensupport.URLParams)} @@ -5239,7 +5450,7 @@ func (c *EnterprisesSendTestPushNotificationCall) Do(opts ...googleapi.CallOptio } return ret, nil // { - // "description": "Sends a test push notification to validate the EMM integration with the Google Cloud Pub/Sub service for this enterprise.", + // "description": "Sends a test notification to validate the EMM integration with the Google Cloud Pub/Sub service for this enterprise.", // "httpMethod": "POST", // "id": "androidenterprise.enterprises.sendTestPushNotification", // "parameterOrder": [ @@ -5398,6 +5609,143 @@ func (c *EnterprisesSetAccountCall) Do(opts ...googleapi.CallOption) (*Enterpris } +// method id "androidenterprise.enterprises.setAndroidDevicePolicyConfig": + +type EnterprisesSetAndroidDevicePolicyConfigCall struct { + s *Service + enterpriseId string + androiddevicepolicyconfig *AndroidDevicePolicyConfig + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetAndroidDevicePolicyConfig: Sets the Android Device Policy config +// resource. EMM may use this method to enable or disable Android Device +// Policy support for the specified enterprise. To learn more about +// managing devices and apps with Android Device Policy, see the Android +// Management API. +func (r *EnterprisesService) SetAndroidDevicePolicyConfig(enterpriseId string, androiddevicepolicyconfig *AndroidDevicePolicyConfig) *EnterprisesSetAndroidDevicePolicyConfigCall { + c := &EnterprisesSetAndroidDevicePolicyConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.enterpriseId = enterpriseId + c.androiddevicepolicyconfig = androiddevicepolicyconfig + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *EnterprisesSetAndroidDevicePolicyConfigCall) Fields(s ...googleapi.Field) *EnterprisesSetAndroidDevicePolicyConfigCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *EnterprisesSetAndroidDevicePolicyConfigCall) Context(ctx context.Context) *EnterprisesSetAndroidDevicePolicyConfigCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *EnterprisesSetAndroidDevicePolicyConfigCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *EnterprisesSetAndroidDevicePolicyConfigCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.androiddevicepolicyconfig) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "enterprises/{enterpriseId}/androidDevicePolicyConfig") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PUT", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "enterpriseId": c.enterpriseId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androidenterprise.enterprises.setAndroidDevicePolicyConfig" call. +// Exactly one of *AndroidDevicePolicyConfig or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *AndroidDevicePolicyConfig.ServerResponse.Header or (if a response +// was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *EnterprisesSetAndroidDevicePolicyConfigCall) Do(opts ...googleapi.CallOption) (*AndroidDevicePolicyConfig, 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, &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, err + } + ret := &AndroidDevicePolicyConfig{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Sets the Android Device Policy config resource. EMM may use this method to enable or disable Android Device Policy support for the specified enterprise. To learn more about managing devices and apps with Android Device Policy, see the Android Management API.", + // "httpMethod": "PUT", + // "id": "androidenterprise.enterprises.setAndroidDevicePolicyConfig", + // "parameterOrder": [ + // "enterpriseId" + // ], + // "parameters": { + // "enterpriseId": { + // "description": "The ID of the enterprise.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "enterprises/{enterpriseId}/androidDevicePolicyConfig", + // "request": { + // "$ref": "AndroidDevicePolicyConfig" + // }, + // "response": { + // "$ref": "AndroidDevicePolicyConfig" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/androidenterprise" + // ] + // } + +} + // method id "androidenterprise.enterprises.setStoreLayout": type EnterprisesSetStoreLayoutCall struct { diff --git a/vendor/google.golang.org/api/androidmanagement/v1/androidmanagement-api.json b/vendor/google.golang.org/api/androidmanagement/v1/androidmanagement-api.json new file mode 100644 index 000000000..d26c4af83 --- /dev/null +++ b/vendor/google.golang.org/api/androidmanagement/v1/androidmanagement-api.json @@ -0,0 +1,2363 @@ +{ + "id": "androidmanagement:v1", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/androidmanagement": { + "description": "Manage Android devices and apps for your customers" + } + } + } + }, + "description": "The Android Management API provides remote enterprise management of Android devices and apps.", + "protocol": "rest", + "title": "Android Management API", + "resources": { + "signupUrls": { + "methods": { + "create": { + "id": "androidmanagement.signupUrls.create", + "response": { + "$ref": "SignupUrl" + }, + "parameterOrder": [], + "description": "Creates an enterprise signup URL.", + "flatPath": "v1/signupUrls", + "httpMethod": "POST", + "parameters": { + "callbackUrl": { + "description": "The callback URL to which the admin will be redirected after successfully creating an enterprise. Before redirecting there the system will add a query parameter to this URL named enterpriseToken which will contain an opaque token to be used for the create enterprise request. The URL will be parsed then reformatted in order to add the enterpriseToken parameter, so there may be some minor formatting changes.", + "location": "query", + "type": "string" + }, + "projectId": { + "description": "The id of the Google Cloud Platform project which will own the enterprise.", + "location": "query", + "type": "string" + } + }, + "path": "v1/signupUrls", + "scopes": [ + "https://www.googleapis.com/auth/androidmanagement" + ] + } + } + }, + "enterprises": { + "resources": { + "policies": { + "methods": { + "get": { + "id": "androidmanagement.enterprises.policies.get", + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "name" + ], + "description": "Gets a policy.", + "flatPath": "v1/enterprises/{enterprisesId}/policies/{policiesId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the policy in the form enterprises/{enterpriseId}/policies/{policyId}", + "required": true, + "pattern": "^enterprises/[^/]+/policies/[^/]+$", + "location": "path", + "type": "string" + } + }, + "path": "v1/{+name}", + "scopes": [ + "https://www.googleapis.com/auth/androidmanagement" + ] + }, + "list": { + "id": "androidmanagement.enterprises.policies.list", + "response": { + "$ref": "ListPoliciesResponse" + }, + "parameterOrder": [ + "parent" + ], + "description": "Lists policies for a given enterprise.", + "flatPath": "v1/enterprises/{enterprisesId}/policies", + "httpMethod": "GET", + "parameters": { + "pageSize": { + "description": "The requested page size. The actual page size may be fixed to a min or max value.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "parent": { + "description": "The name of the enterprise in the form enterprises/{enterpriseId}", + "required": true, + "pattern": "^enterprises/[^/]+$", + "location": "path", + "type": "string" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/policies", + "scopes": [ + "https://www.googleapis.com/auth/androidmanagement" + ] + }, + "patch": { + "id": "androidmanagement.enterprises.policies.patch", + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "name" + ], + "description": "Updates or creates a policy.", + "request": { + "$ref": "Policy" + }, + "flatPath": "v1/enterprises/{enterprisesId}/policies/{policiesId}", + "httpMethod": "PATCH", + "parameters": { + "updateMask": { + "description": "The field mask indicating the fields to update. If not set, all modifiable fields will be modified.", + "location": "query", + "type": "string", + "format": "google-fieldmask" + }, + "name": { + "description": "The name of the policy in the form enterprises/{enterpriseId}/policies/{policyId}", + "required": true, + "pattern": "^enterprises/[^/]+/policies/[^/]+$", + "location": "path", + "type": "string" + } + }, + "path": "v1/{+name}", + "scopes": [ + "https://www.googleapis.com/auth/androidmanagement" + ] + }, + "delete": { + "id": "androidmanagement.enterprises.policies.delete", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "description": "Deletes a policy. This operation is only permitted if no devices are currently referencing the policy.", + "flatPath": "v1/enterprises/{enterprisesId}/policies/{policiesId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the policy in the form enterprises/{enterpriseId}/policies/{policyId}", + "required": true, + "pattern": "^enterprises/[^/]+/policies/[^/]+$", + "location": "path", + "type": "string" + } + }, + "path": "v1/{+name}", + "scopes": [ + "https://www.googleapis.com/auth/androidmanagement" + ] + } + } + }, + "applications": { + "methods": { + "get": { + "id": "androidmanagement.enterprises.applications.get", + "response": { + "$ref": "Application" + }, + "parameterOrder": [ + "name" + ], + "description": "Gets info about an application.", + "flatPath": "v1/enterprises/{enterprisesId}/applications/{applicationsId}", + "httpMethod": "GET", + "parameters": { + "languageCode": { + "description": "The preferred language for localized application info, as a BCP47 tag (e.g. \"en-US\", \"de\"). If not specified the default language of the application will be used.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the application in the form enterprises/{enterpriseId}/applications/{package_name}", + "required": true, + "pattern": "^enterprises/[^/]+/applications/[^/]+$", + "location": "path", + "type": "string" + } + }, + "path": "v1/{+name}", + "scopes": [ + "https://www.googleapis.com/auth/androidmanagement" + ] + } + } + }, + "enrollmentTokens": { + "methods": { + "create": { + "id": "androidmanagement.enterprises.enrollmentTokens.create", + "response": { + "$ref": "EnrollmentToken" + }, + "parameterOrder": [ + "parent" + ], + "description": "Creates an enrollment token for a given enterprise.", + "request": { + "$ref": "EnrollmentToken" + }, + "flatPath": "v1/enterprises/{enterprisesId}/enrollmentTokens", + "httpMethod": "POST", + "parameters": { + "parent": { + "description": "The name of the enterprise in the form enterprises/{enterpriseId}", + "required": true, + "pattern": "^enterprises/[^/]+$", + "location": "path", + "type": "string" + } + }, + "path": "v1/{+parent}/enrollmentTokens", + "scopes": [ + "https://www.googleapis.com/auth/androidmanagement" + ] + }, + "delete": { + "id": "androidmanagement.enterprises.enrollmentTokens.delete", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "description": "Deletes an enrollment token, which prevents future use of the token.", + "flatPath": "v1/enterprises/{enterprisesId}/enrollmentTokens/{enrollmentTokensId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the enrollment token in the form enterprises/{enterpriseId}/enrollmentTokens/{enrollmentTokenId}", + "required": true, + "pattern": "^enterprises/[^/]+/enrollmentTokens/[^/]+$", + "location": "path", + "type": "string" + } + }, + "path": "v1/{+name}", + "scopes": [ + "https://www.googleapis.com/auth/androidmanagement" + ] + } + } + }, + "webTokens": { + "methods": { + "create": { + "id": "androidmanagement.enterprises.webTokens.create", + "response": { + "$ref": "WebToken" + }, + "parameterOrder": [ + "parent" + ], + "description": "Creates a web token to access an embeddable managed Google Play web UI for a given enterprise.", + "request": { + "$ref": "WebToken" + }, + "flatPath": "v1/enterprises/{enterprisesId}/webTokens", + "httpMethod": "POST", + "parameters": { + "parent": { + "description": "The name of the enterprise in the form enterprises/{enterpriseId}", + "required": true, + "pattern": "^enterprises/[^/]+$", + "location": "path", + "type": "string" + } + }, + "path": "v1/{+parent}/webTokens", + "scopes": [ + "https://www.googleapis.com/auth/androidmanagement" + ] + } + } + }, + "devices": { + "resources": { + "operations": { + "methods": { + "get": { + "id": "androidmanagement.enterprises.devices.operations.get", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}/operations/{operationsId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "required": true, + "pattern": "^enterprises/[^/]+/devices/[^/]+/operations/[^/]+$", + "location": "path", + "type": "string" + } + }, + "path": "v1/{+name}", + "scopes": [ + "https://www.googleapis.com/auth/androidmanagement" + ] + }, + "list": { + "id": "androidmanagement.enterprises.devices.operations.list", + "response": { + "$ref": "ListOperationsResponse" + }, + "parameterOrder": [ + "name" + ], + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: the name binding allows API services to override the binding to use different resource name schemes, such as users/*/operations. To override the binding, API services can add a binding such as \"/v1/{name=users/*}/operations\" to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.", + "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}/operations", + "httpMethod": "GET", + "parameters": { + "pageSize": { + "description": "The standard list page size.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "required": true, + "pattern": "^enterprises/[^/]+/devices/[^/]+/operations$", + "location": "path", + "type": "string" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "scopes": [ + "https://www.googleapis.com/auth/androidmanagement" + ] + }, + "delete": { + "id": "androidmanagement.enterprises.devices.operations.delete", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED.", + "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}/operations/{operationsId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "required": true, + "pattern": "^enterprises/[^/]+/devices/[^/]+/operations/[^/]+$", + "location": "path", + "type": "string" + } + }, + "path": "v1/{+name}", + "scopes": [ + "https://www.googleapis.com/auth/androidmanagement" + ] + }, + "cancel": { + "id": "androidmanagement.enterprises.devices.operations.cancel", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", + "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "required": true, + "pattern": "^enterprises/[^/]+/devices/[^/]+/operations/[^/]+$", + "location": "path", + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "scopes": [ + "https://www.googleapis.com/auth/androidmanagement" + ] + } + } + } + }, + "methods": { + "get": { + "id": "androidmanagement.enterprises.devices.get", + "response": { + "$ref": "Device" + }, + "parameterOrder": [ + "name" + ], + "description": "Gets a device.", + "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the device in the form enterprises/{enterpriseId}/devices/{deviceId}", + "required": true, + "pattern": "^enterprises/[^/]+/devices/[^/]+$", + "location": "path", + "type": "string" + } + }, + "path": "v1/{+name}", + "scopes": [ + "https://www.googleapis.com/auth/androidmanagement" + ] + }, + "list": { + "id": "androidmanagement.enterprises.devices.list", + "response": { + "$ref": "ListDevicesResponse" + }, + "parameterOrder": [ + "parent" + ], + "description": "Lists devices for a given enterprise.", + "flatPath": "v1/enterprises/{enterprisesId}/devices", + "httpMethod": "GET", + "parameters": { + "pageSize": { + "description": "The requested page size. The actual page size may be fixed to a min or max value.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "parent": { + "description": "The name of the enterprise in the form enterprises/{enterpriseId}", + "required": true, + "pattern": "^enterprises/[^/]+$", + "location": "path", + "type": "string" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/devices", + "scopes": [ + "https://www.googleapis.com/auth/androidmanagement" + ] + }, + "issueCommand": { + "id": "androidmanagement.enterprises.devices.issueCommand", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "description": "Issues a command to a device. The Operation resource returned contains a Command in its metadata field. Use the get operation method to get the status of the command.", + "request": { + "$ref": "Command" + }, + "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}:issueCommand", + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the device in the form enterprises/{enterpriseId}/devices/{deviceId}", + "required": true, + "pattern": "^enterprises/[^/]+/devices/[^/]+$", + "location": "path", + "type": "string" + } + }, + "path": "v1/{+name}:issueCommand", + "scopes": [ + "https://www.googleapis.com/auth/androidmanagement" + ] + }, + "patch": { + "id": "androidmanagement.enterprises.devices.patch", + "response": { + "$ref": "Device" + }, + "parameterOrder": [ + "name" + ], + "description": "Updates a device.", + "request": { + "$ref": "Device" + }, + "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}", + "httpMethod": "PATCH", + "parameters": { + "updateMask": { + "description": "The field mask indicating the fields to update. If not set, all modifiable fields will be modified.", + "location": "query", + "type": "string", + "format": "google-fieldmask" + }, + "name": { + "description": "The name of the device in the form enterprises/{enterpriseId}/devices/{deviceId}", + "required": true, + "pattern": "^enterprises/[^/]+/devices/[^/]+$", + "location": "path", + "type": "string" + } + }, + "path": "v1/{+name}", + "scopes": [ + "https://www.googleapis.com/auth/androidmanagement" + ] + }, + "delete": { + "id": "androidmanagement.enterprises.devices.delete", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "description": "Deletes a device, which causes the device to be wiped.", + "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}", + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the device in the form enterprises/{enterpriseId}/devices/{deviceId}", + "required": true, + "pattern": "^enterprises/[^/]+/devices/[^/]+$", + "location": "path", + "type": "string" + } + }, + "path": "v1/{+name}", + "scopes": [ + "https://www.googleapis.com/auth/androidmanagement" + ] + } + } + } + }, + "methods": { + "create": { + "id": "androidmanagement.enterprises.create", + "response": { + "$ref": "Enterprise" + }, + "parameterOrder": [], + "description": "Creates an enterprise by completing the enterprise signup flow.", + "request": { + "$ref": "Enterprise" + }, + "flatPath": "v1/enterprises", + "httpMethod": "POST", + "parameters": { + "signupUrlName": { + "description": "The name of the SignupUrl used to sign up for the enterprise.", + "location": "query", + "type": "string" + }, + "enterpriseToken": { + "description": "The enterprise token appended to the callback URL.", + "location": "query", + "type": "string" + }, + "projectId": { + "description": "The id of the Google Cloud Platform project which will own the enterprise.", + "location": "query", + "type": "string" + } + }, + "path": "v1/enterprises", + "scopes": [ + "https://www.googleapis.com/auth/androidmanagement" + ] + }, + "get": { + "id": "androidmanagement.enterprises.get", + "response": { + "$ref": "Enterprise" + }, + "parameterOrder": [ + "name" + ], + "description": "Gets an enterprise.", + "flatPath": "v1/enterprises/{enterprisesId}", + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the enterprise in the form enterprises/{enterpriseId}", + "required": true, + "pattern": "^enterprises/[^/]+$", + "location": "path", + "type": "string" + } + }, + "path": "v1/{+name}", + "scopes": [ + "https://www.googleapis.com/auth/androidmanagement" + ] + }, + "patch": { + "id": "androidmanagement.enterprises.patch", + "response": { + "$ref": "Enterprise" + }, + "parameterOrder": [ + "name" + ], + "description": "Updates an enterprise.", + "request": { + "$ref": "Enterprise" + }, + "flatPath": "v1/enterprises/{enterprisesId}", + "httpMethod": "PATCH", + "parameters": { + "updateMask": { + "description": "The field mask indicating the fields to update. If not set, all modifiable fields will be modified.", + "location": "query", + "type": "string", + "format": "google-fieldmask" + }, + "name": { + "description": "The name of the enterprise in the form enterprises/{enterpriseId}", + "required": true, + "pattern": "^enterprises/[^/]+$", + "location": "path", + "type": "string" + } + }, + "path": "v1/{+name}", + "scopes": [ + "https://www.googleapis.com/auth/androidmanagement" + ] + } + } + } + }, + "schemas": { + "Device": { + "description": "A device owned by an enterprise. Unless otherwise noted, all fields are read-only and cannot be modified by an update device request.", + "type": "object", + "properties": { + "userName": { + "description": "The resource name of the user of the device in the form enterprises/{enterpriseId}/users/{userId}. This is the name of the device account automatically created for this device.", + "type": "string" + }, + "disabledReason": { + "description": "If the device state is DISABLED, an optional message that is displayed on the device indicating the reason the device is disabled. This field may be modified by an update request.", + "$ref": "UserFacingMessage" + }, + "policyName": { + "description": "The name of the policy that is intended to be applied to the device. If empty, the policy with id default is applied. This field may be modified by an update request. The name of the policy is in the form enterprises/{enterpriseId}/policies/{policyId}. It is also permissible to only specify the policyId when updating this field as long as the policyId contains no slashes since the rest of the policy name can be inferred from context.", + "type": "string" + }, + "lastPolicyComplianceReportTime": { + "description": "The last time the device sent a policy compliance report.", + "type": "string", + "format": "google-datetime" + }, + "nonComplianceDetails": { + "description": "Details about policy settings for which the device is not in compliance.", + "type": "array", + "items": { + "$ref": "NonComplianceDetail" + } + }, + "lastPolicySyncTime": { + "description": "The last time the device fetched its policy.", + "type": "string", + "format": "google-datetime" + }, + "networkInfo": { + "description": "Device network information. This information is only available when networkInfoEnabled is true in the device's policy.", + "$ref": "NetworkInfo" + }, + "appliedState": { + "description": "The state that is currently applied by the device.", + "enum": [ + "DEVICE_STATE_UNSPECIFIED", + "ACTIVE", + "DISABLED", + "DELETED", + "PROVISIONING" + ], + "enumDescriptions": [ + "This value is disallowed.", + "The device is active.", + "The device is disabled.", + "The device was deleted. This state will never be returned by an API call, but will be used in the final policy compliance report published to Cloud Pub/Sub when the device acknowledges the deletion.", + "The device is being provisioned. Newly enrolled devices will be in this state until they have applied policy." + ], + "type": "string" + }, + "enrollmentTokenData": { + "description": "If this device was enrolled with an enrollment token with additional data provided, this field contains that data.", + "type": "string" + }, + "enrollmentTokenName": { + "description": "If this device was enrolled with an enrollment token, this field contains the name of the token.", + "type": "string" + }, + "memoryInfo": { + "description": "Memory information. This information is only available when memoryInfoEnabled is true in the device's policy.", + "$ref": "MemoryInfo" + }, + "state": { + "description": "The state that is intended to be applied to the device. This field may be modified by an update request. Note that UpdateDevice only handles toggling between ACTIVE and DISABLED states. Use the delete device method to cause the device to enter the DELETED state.", + "enum": [ + "DEVICE_STATE_UNSPECIFIED", + "ACTIVE", + "DISABLED", + "DELETED", + "PROVISIONING" + ], + "enumDescriptions": [ + "This value is disallowed.", + "The device is active.", + "The device is disabled.", + "The device was deleted. This state will never be returned by an API call, but will be used in the final policy compliance report published to Cloud Pub/Sub when the device acknowledges the deletion.", + "The device is being provisioned. Newly enrolled devices will be in this state until they have applied policy." + ], + "type": "string" + }, + "softwareInfo": { + "description": "Detailed information about the device software. This information is only available when softwareInfoEnabled is true in the device's policy.", + "$ref": "SoftwareInfo" + }, + "memoryEvents": { + "description": "Events related to memory and storage measurements in chronological order. This information is only available when memoryInfoEnabled is true in the device's policy.", + "type": "array", + "items": { + "$ref": "MemoryEvent" + } + }, + "previousDeviceNames": { + "description": "The previous device names used for the same physical device when it has been enrolled multiple times. The serial number is used as the unique identifier to determine if the same physical device has enrolled previously. The names are in chronological order.", + "type": "array", + "items": { + "type": "string" + } + }, + "policyCompliant": { + "description": "Whether the device is compliant with its policy.", + "type": "boolean" + }, + "lastStatusReportTime": { + "description": "The last time the device sent a status report.", + "type": "string", + "format": "google-datetime" + }, + "name": { + "description": "The name of the device in the form enterprises/{enterpriseId}/devices/{deviceId}", + "type": "string" + }, + "hardwareStatusSamples": { + "description": "Hardware status samples in chronological order. This information is only available when hardwareStatusEnabled is true in the device's policy.", + "type": "array", + "items": { + "$ref": "HardwareStatus" + } + }, + "enrollmentTime": { + "description": "The time of device enrollment.", + "type": "string", + "format": "google-datetime" + }, + "appliedPolicyVersion": { + "description": "The version of the policy that is currently applied by the device.", + "type": "string", + "format": "int64" + }, + "apiLevel": { + "description": "The API level of the Android platform version running on the device.", + "type": "integer", + "format": "int32" + }, + "hardwareInfo": { + "description": "Detailed information about the device hardware.", + "$ref": "HardwareInfo" + }, + "appliedPolicyName": { + "description": "The name of the policy that is currently applied by the device.", + "type": "string" + }, + "displays": { + "description": "Displays on the device. This information is only available when displayInfoEnabled is true in the device's policy.", + "type": "array", + "items": { + "$ref": "Display" + } + }, + "powerManagementEvents": { + "description": "Power management events on the device in chronological order. This information is only available when powerManagementEventsEnabled is true in the device's policy.", + "type": "array", + "items": { + "$ref": "PowerManagementEvent" + } + } + }, + "id": "Device" + }, + "PermissionGrant": { + "description": "Configuration for an Android permission and its grant state.", + "type": "object", + "properties": { + "permission": { + "description": "The android permission, e.g. android.permission.READ_CALENDAR.", + "type": "string" + }, + "policy": { + "description": "The policy for granting the permission.", + "enum": [ + "PERMISSION_POLICY_UNSPECIFIED", + "PROMPT", + "GRANT", + "DENY" + ], + "enumDescriptions": [ + "Policy not specified. If no policy is specified for a permission at any level, then the PROMPT behavior is used by default.", + "Prompt the user to grant a permission.", + "Automatically grant a permission.", + "Automatically deny a permission." + ], + "type": "string" + } + }, + "id": "PermissionGrant" + }, + "Application": { + "description": "Application information.", + "type": "object", + "properties": { + "managedProperties": { + "description": "The set of managed properties available to be pre-configured for the application.", + "type": "array", + "items": { + "$ref": "ManagedProperty" + } + }, + "title": { + "description": "The title of the application. Localized.", + "type": "string" + }, + "permissions": { + "description": "The permissions required by the app.", + "type": "array", + "items": { + "$ref": "ApplicationPermission" + } + }, + "name": { + "description": "The name of the application in the form enterprises/{enterpriseId}/applications/{package_name}", + "type": "string" + } + }, + "id": "Application" + }, + "Status": { + "description": "The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). The error model is designed to be:\nSimple to use and understand for most users\nFlexible enough to meet unexpected needsOverviewThe Status message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers understand and resolve the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package google.rpc that can be used for common error conditions.Language mappingThe Status message is the logical representation of the error model, but it is not necessarily the actual wire format. When the Status message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C.Other usesThe error model and the Status message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments.Example uses of this error model include:\nPartial errors. If a service needs to return partial errors to the client, it may embed the Status in the normal response to indicate the partial errors.\nWorkflow errors. A typical workflow has multiple steps. Each step may have a Status message for error reporting.\nBatch operations. If a client uses batch request and batch response, the Status message should be used directly inside batch response, one for each error sub-response.\nAsynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the Status message.\nLogging. If some API errors are stored in logs, the message Status could be used directly after any stripping needed for security/privacy reasons.", + "type": "object", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer", + "format": "int32" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "type": "array", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + } + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "id": "Status" + }, + "ApplicationPolicy": { + "description": "Policy for an individual app.", + "type": "object", + "properties": { + "lockTaskAllowed": { + "description": "Whether the application is allowed to lock itself in full-screen mode.", + "type": "boolean" + }, + "permissionGrants": { + "description": "Explicit permission grants or denials for the app. These values override the default_permission_policy.", + "type": "array", + "items": { + "$ref": "PermissionGrant" + } + }, + "managedConfiguration": { + "description": "Managed configuration applied to the app. The format for the configuration is dictated by the ManagedProperty values supported by the app. Each field name in the managed configuration must match the key field of the ManagedProperty. The field value must be compatible with the type of the ManagedProperty: \u003ctable\u003e \u003ctr\u003e\u003ctd\u003e\u003ci\u003etype\u003c/i\u003e\u003c/td\u003e\u003ctd\u003e\u003ci\u003eJSON value\u003c/i\u003e\u003c/td\u003e\u003c/tr\u003e \u003ctr\u003e\u003ctd\u003eBOOL\u003c/td\u003e\u003ctd\u003etrue or false\u003c/td\u003e\u003c/tr\u003e \u003ctr\u003e\u003ctd\u003eSTRING\u003c/td\u003e\u003ctd\u003estring\u003c/td\u003e\u003c/tr\u003e \u003ctr\u003e\u003ctd\u003eINTEGER\u003c/td\u003e\u003ctd\u003enumber\u003c/td\u003e\u003c/tr\u003e \u003ctr\u003e\u003ctd\u003eCHOICE\u003c/td\u003e\u003ctd\u003estring\u003c/td\u003e\u003c/tr\u003e \u003ctr\u003e\u003ctd\u003eMULTISELECT\u003c/td\u003e\u003ctd\u003earray of strings\u003c/td\u003e\u003c/tr\u003e \u003ctr\u003e\u003ctd\u003eHIDDEN\u003c/td\u003e\u003ctd\u003estring\u003c/td\u003e\u003c/tr\u003e \u003ctr\u003e\u003ctd\u003eBUNDLE_ARRAY\u003c/td\u003e\u003ctd\u003earray of objects\u003c/td\u003e\u003c/tr\u003e \u003c/table\u003e", + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "type": "object" + }, + "packageName": { + "description": "The package name of the app, e.g. com.google.android.youtube for the YouTube app.", + "type": "string" + }, + "installType": { + "description": "The type of installation to perform.", + "enum": [ + "INSTALL_TYPE_UNSPECIFIED", + "PREINSTALLED", + "FORCE_INSTALLED" + ], + "enumDescriptions": [ + "No automatic installation is performed. Any other app policies will be applied if the user installs the app.", + "The application is automatically installed and can be removed by the user.", + "The application is automatically installed and cannot be removed by the user." + ], + "type": "string" + }, + "defaultPermissionPolicy": { + "description": "The default policy for all permissions requested by the app. If specified, this overrides the policy-level default_permission_policy which applies to all apps.", + "enum": [ + "PERMISSION_POLICY_UNSPECIFIED", + "PROMPT", + "GRANT", + "DENY" + ], + "enumDescriptions": [ + "Policy not specified. If no policy is specified for a permission at any level, then the PROMPT behavior is used by default.", + "Prompt the user to grant a permission.", + "Automatically grant a permission.", + "Automatically deny a permission." + ], + "type": "string" + } + }, + "id": "ApplicationPolicy" + }, + "ApplicationPermission": { + "description": "Application permission.", + "type": "object", + "properties": { + "description": { + "description": "A longer description of the permission, giving more details of what it affects. Localized.", + "type": "string" + }, + "permissionId": { + "description": "An opaque string uniquely identifying the permission. Not localized.", + "type": "string" + }, + "name": { + "description": "The name of the permission. Localized.", + "type": "string" + } + }, + "id": "ApplicationPermission" + }, + "ManagedProperty": { + "description": "Managed property.", + "type": "object", + "properties": { + "nestedProperties": { + "description": "For BUNDLE_ARRAY properties, the list of nested properties. A BUNDLE_ARRAY property is at most two levels deep.", + "type": "array", + "items": { + "$ref": "ManagedProperty" + } + }, + "description": { + "description": "A longer description of the property, giving more detail of what it affects. Localized.", + "type": "string" + }, + "defaultValue": { + "description": "The default value of the properties. BUNDLE_ARRAY properties never have a default value.", + "type": "any" + }, + "title": { + "description": "The name of the property. Localized.", + "type": "string" + }, + "key": { + "description": "The unique key that the application uses to identify the property, e.g. \"com.google.android.gm.fieldname\".", + "type": "string" + }, + "entries": { + "description": "For CHOICE or MULTISELECT properties, the list of possible entries.", + "type": "array", + "items": { + "$ref": "ManagedPropertyEntry" + } + }, + "type": { + "description": "The type of the property.", + "enum": [ + "MANAGED_PROPERTY_TYPE_UNSPECIFIED", + "BOOL", + "STRING", + "INTEGER", + "CHOICE", + "MULTISELECT", + "HIDDEN", + "BUNDLE_ARRAY" + ], + "enumDescriptions": [ + "Not used.", + "A property of boolean type.", + "A property of string type.", + "A property of integer type.", + "A choice of one item from a set.", + "A choice of multiple items from a set.", + "A hidden restriction of string type (the default value can be used to pass along information that cannot be modified, such as a version code).", + "An array of property bundles." + ], + "type": "string" + } + }, + "id": "ManagedProperty" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "type": "object", + "properties": { + "error": { + "description": "The error result of the operation in case of failure or cancellation.", + "$ref": "Status" + }, + "done": { + "description": "If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.", + "type": "boolean" + }, + "metadata": { + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "response": { + "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should have the format of operations/some/unique/name.", + "type": "string" + } + }, + "id": "Operation" + }, + "NonComplianceDetailCondition": { + "description": "A compliance rule condition which is satisfied if there exists any matching NonComplianceDetail for the device. A NonComplianceDetail matches a NonComplianceDetailCondition if all the fields which are set within the NonComplianceDetailCondition match the corresponding NonComplianceDetail fields.", + "type": "object", + "properties": { + "nonComplianceReason": { + "description": "The reason the device is not in compliance with the setting. If not set, then this condition matches any reason.", + "enum": [ + "NON_COMPLIANCE_REASON_UNSPECIFIED", + "API_LEVEL", + "ADMIN_TYPE", + "USER_ACTION", + "INVALID_VALUE", + "APP_NOT_INSTALLED", + "UNSUPPORTED", + "APP_INSTALLED", + "PENDING", + "APP_INCOMPATIBLE", + "APP_NOT_UPDATED" + ], + "enumDescriptions": [ + "This value is disallowed.", + "The setting is not supported in the API level of Android OS version the device is running.", + "The admin type (profile owner, device owner, etc.) does not support the setting.", + "The user has not taken required action to comply with the setting.", + "The setting has an invalid value.", + "The application required to implement the policy is not installed.", + "The policy is not supported by the version of Android Device Policy on the device.", + "A blocked application is installed.", + "The setting was not applied yet at the time of the report, but is expected to be applied shortly.", + "The setting cannot be applied to the application because the application doesn't support it, for example because its target SDK version is not high enough.", + "The application is installed but not updated to the minimum version code specified by policy" + ], + "type": "string" + }, + "settingName": { + "description": "The name of the policy setting. This is the JSON field name of a top-level Policy field. If not set, then this condition matches any setting name.", + "type": "string" + }, + "packageName": { + "description": "The package name indicating which application is out of compliance. If not set, then this condition matches any package name.", + "type": "string" + } + }, + "id": "NonComplianceDetailCondition" + }, + "NonComplianceDetail": { + "description": "Provides detail about non-compliance with a policy setting.", + "type": "object", + "properties": { + "settingName": { + "description": "The name of the policy setting. This is the JSON field name of a top-level Policy field.", + "type": "string" + }, + "currentValue": { + "description": "If the policy setting could not be applied, the current value of the setting on the device.", + "type": "any" + }, + "packageName": { + "description": "The package name indicating which application is out of compliance, if applicable.", + "type": "string" + }, + "installationFailureReason": { + "description": "If package_name is set and the non-compliance reason is APP_NOT_INSTALLED or APP_NOT_UPDATED, the detailed reason the app cannot be installed or updated.", + "enum": [ + "INSTALLATION_FAILURE_REASON_UNSPECIFIED", + "INSTALLATION_FAILURE_REASON_UNKNOWN", + "IN_PROGRESS", + "NOT_FOUND", + "NOT_COMPATIBLE_WITH_DEVICE", + "NOT_APPROVED", + "PERMISSIONS_NOT_ACCEPTED", + "NOT_AVAILABLE_IN_COUNTRY", + "NO_LICENSES_REMAINING", + "NOT_ENROLLED", + "USER_INVALID" + ], + "enumDescriptions": [ + "This value is disallowed.", + "An unknown condition is preventing the app from being installed. Some potential reaons are that the device does not have enough storage, the device network connection is unreliable, or the installation is taking longer than expected. The installation will be retried automatically.", + "The installation is still in progress.", + "The app was not found in Play.", + "The app is incompatible with the device.", + "The app has not been approved by the admin.", + "The app has new permissions that have not been accepted by the admin.", + "The app is not available in the user's country.", + "There are no more licenses to assign to the user.", + "The enterprise is no longer enrolled with Play for Work or Android Device Policy is not enabled for the enterprise.", + "The user is no longer valid. The user may have been deleted or disabled." + ], + "type": "string" + }, + "fieldPath": { + "description": "For settings with nested fields, if a particular nested field is out of compliance, this specifies the full path to the offending field. The path is formatted in the same way the policy JSON field would be referenced in JavaScript, that is: 1) For object-typed fields, the field name is followed by a dot then by a subfield name. 2) For array-typed fields, the field name is followed by the array index enclosed in brackets. For example, to indicate a problem with the url field in the externalData field in the 3rd application, the path would be applications[2].externalData.url", + "type": "string" + }, + "nonComplianceReason": { + "description": "The reason the device is not in compliance with the setting.", + "enum": [ + "NON_COMPLIANCE_REASON_UNSPECIFIED", + "API_LEVEL", + "ADMIN_TYPE", + "USER_ACTION", + "INVALID_VALUE", + "APP_NOT_INSTALLED", + "UNSUPPORTED", + "APP_INSTALLED", + "PENDING", + "APP_INCOMPATIBLE", + "APP_NOT_UPDATED" + ], + "enumDescriptions": [ + "This value is disallowed.", + "The setting is not supported in the API level of Android OS version the device is running.", + "The admin type (profile owner, device owner, etc.) does not support the setting.", + "The user has not taken required action to comply with the setting.", + "The setting has an invalid value.", + "The application required to implement the policy is not installed.", + "The policy is not supported by the version of Android Device Policy on the device.", + "A blocked application is installed.", + "The setting was not applied yet at the time of the report, but is expected to be applied shortly.", + "The setting cannot be applied to the application because the application doesn't support it, for example because its target SDK version is not high enough.", + "The application is installed but not updated to the minimum version code specified by policy" + ], + "type": "string" + } + }, + "id": "NonComplianceDetail" + }, + "ListDevicesResponse": { + "description": "Response to a request to list devices for a given enterprise.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "If there are more results, a token to retrieve next page of results.", + "type": "string" + }, + "devices": { + "description": "The list of devices.", + "type": "array", + "items": { + "$ref": "Device" + } + } + }, + "id": "ListDevicesResponse" + }, + "PersistentPreferredActivity": { + "description": "A default activity for handling intents that match a particular intent filter.", + "type": "object", + "properties": { + "receiverActivity": { + "description": "The activity that should be the default intent handler. This should be an Android component name, e.g. com.android.enterprise.app/.MainActivity. Alternatively, the value may be the package name of an app, which causes Android Device Policy to choose an appropriate activity from the app to handle the intent.", + "type": "string" + }, + "actions": { + "description": "The intent actions to match in the filter. If any actions are included in the filter, then an intent's action must be one of those values for it to match. If no actions are included, the intent action is ignored.", + "type": "array", + "items": { + "type": "string" + } + }, + "categories": { + "description": "The intent categories to match in the filter. An intent includes the categories that it requires, all of which must be included in the filter in order to match. In other words, adding a category to the filter has no impact on matching unless that category is specified in the intent.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "id": "PersistentPreferredActivity" + }, + "Policy": { + "description": "A policy, which governs behavior for a device.", + "type": "object", + "properties": { + "openNetworkConfiguration": { + "description": "Network configuration for the device. See configure networks for more information.", + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "type": "object" + }, + "adjustVolumeDisabled": { + "description": "Whether adjusting the master volume is disabled.", + "type": "boolean" + }, + "passwordRequirements": { + "description": "Password requirements.", + "$ref": "PasswordRequirements" + }, + "modifyAccountsDisabled": { + "description": "Whether adding or removing accounts is disabled.", + "type": "boolean" + }, + "statusReportingSettings": { + "description": "Status reporting settings", + "$ref": "StatusReportingSettings" + }, + "factoryResetDisabled": { + "description": "Whether factory resetting from settings is disabled.", + "type": "boolean" + }, + "funDisabled": { + "description": "Whether the user is allowed to have fun. Controls whether the Easter egg game in Settings is disabled.", + "type": "boolean" + }, + "applications": { + "description": "Policy applied to apps.", + "type": "array", + "items": { + "$ref": "ApplicationPolicy" + } + }, + "safeBootDisabled": { + "description": "Whether rebooting the device into safe boot is disabled.", + "type": "boolean" + }, + "wifiConfigsLockdownEnabled": { + "description": "Whether WiFi networks defined in Open Network Configuration are locked so they cannot be edited by the user.", + "type": "boolean" + }, + "complianceRules": { + "description": "Rules declaring which mitigating actions to take when a device is not compliant with its policy. When the conditions for multiple rules are satisfied, all of the mitigating actions for the rules are taken. There is a maximum limit of 100 rules.", + "type": "array", + "items": { + "$ref": "ComplianceRule" + } + }, + "wifiConfigDisabled": { + "description": "Whether configuring WiFi access points is disabled.", + "type": "boolean" + }, + "unmuteMicrophoneDisabled": { + "description": "Whether the microphone is muted and adjusting microphone volume is disabled.", + "type": "boolean" + }, + "installUnknownSourcesAllowed": { + "description": "Whether the user is allowed to enable the \"Unknown Sources\" setting, which allows installation of apps from unknown sources.", + "type": "boolean" + }, + "autoTimeRequired": { + "description": "Whether auto time is required, which prevents the user from manually setting the date and time.", + "type": "boolean" + }, + "removeUserDisabled": { + "description": "Whether removing other users is disabled.", + "type": "boolean" + }, + "statusBarDisabled": { + "description": "Whether the status bar is disabled. This disables notifications, quick settings and other screen overlays that allow escape from full-screen mode.", + "type": "boolean" + }, + "stayOnPluggedModes": { + "description": "The battery plugged in modes for which the device stays on. When using this setting, it is recommended to clear maximum_time_to_lock so that the device doesn't lock itself while it stays on.", + "enumDescriptions": [ + "This value is ignored.", + "Power source is an AC charger.", + "Power source is a USB port.", + "Power source is wireless." + ], + "type": "array", + "items": { + "enum": [ + "BATTERY_PLUGGED_MODE_UNSPECIFIED", + "AC", + "USB", + "WIRELESS" + ], + "type": "string" + } + }, + "cameraDisabled": { + "description": "Whether all cameras on the device are disabled.", + "type": "boolean" + }, + "blockApplicationsEnabled": { + "description": "Whether applications other than the ones configured in applications are blocked from being installed. When set, applications that were installed under a previous policy but no longer appear in the policy are automatically uninstalled.", + "type": "boolean" + }, + "debuggingFeaturesAllowed": { + "description": "Whether the user is allowed to enable debugging features.", + "type": "boolean" + }, + "maximumTimeToLock": { + "description": "Maximum time in milliseconds for user activity until the device will lock. A value of 0 means there is no restriction.", + "type": "string", + "format": "int64" + }, + "name": { + "description": "The name of the policy in the form enterprises/{enterpriseId}/policies/{policyId}", + "type": "string" + }, + "defaultPermissionPolicy": { + "description": "The default permission policy for requests for runtime permissions.", + "enum": [ + "PERMISSION_POLICY_UNSPECIFIED", + "PROMPT", + "GRANT", + "DENY" + ], + "enumDescriptions": [ + "Policy not specified. If no policy is specified for a permission at any level, then the PROMPT behavior is used by default.", + "Prompt the user to grant a permission.", + "Automatically grant a permission.", + "Automatically deny a permission." + ], + "type": "string" + }, + "persistentPreferredActivities": { + "description": "Default intent handler activities.", + "type": "array", + "items": { + "$ref": "PersistentPreferredActivity" + } + }, + "networkEscapeHatchEnabled": { + "description": "Whether the network escape hatch is enabled. If a network connection can't be made at boot time, the escape hatch prompts the user to temporarily connect to a network in order to refresh the device policy. After applying policy, the temporary network will be forgotten and the device will continue booting. This prevents being unable to connect to a network if there is no suitable network in the last policy and the device boots into an app in lock task mode, or the user is otherwise unable to reach device settings.", + "type": "boolean" + }, + "systemUpdate": { + "description": "The system update policy, which controls how OS updates are applied. If the update type is WINDOWED and the device has a device account, the update window will automatically apply to Play app updates as well.", + "$ref": "SystemUpdate" + }, + "frpAdminEmails": { + "description": "Email addresses of device administrators for factory reset protection. When the device is factory reset, it will require one of these admins to log in with the Google account email and password to unlock the device. If no admins are specified, the device will not provide factory reset protection.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the policy. This is a read-only field. The version is incremented each time the policy is updated.", + "type": "string", + "format": "int64" + }, + "screenCaptureDisabled": { + "description": "Whether screen capture is disabled.", + "type": "boolean" + }, + "keyguardDisabled": { + "description": "Whether the keyguard is disabled.", + "type": "boolean" + }, + "addUserDisabled": { + "description": "Whether adding new users and profiles is disabled.", + "type": "boolean" + } + }, + "id": "Policy" + }, + "Command": { + "description": "A command.", + "type": "object", + "properties": { + "duration": { + "description": "The duration for which the command is valid. The command will expire if not executed by the device during this time. The default duration if unspecified is ten minutes. There is no maximum duration.", + "type": "string", + "format": "google-duration" + }, + "newPassword": { + "description": "For commands of type RESET_PASSWORD, optionally specifies the new password.", + "type": "string" + }, + "type": { + "description": "The type of the command.", + "enum": [ + "COMMAND_TYPE_UNSPECIFIED", + "LOCK", + "RESET_PASSWORD", + "REBOOT" + ], + "enumDescriptions": [ + "This value is disallowed.", + "Lock the device, as if the lock screen timeout had expired.", + "Reset the user's password.", + "Reboot the device. Only supported on API level 24+." + ], + "type": "string" + }, + "createTime": { + "description": "The timestamp at which the command was created. The timestamp is automatically generated by the server.", + "type": "string", + "format": "google-datetime" + }, + "resetPasswordFlags": { + "description": "For commands of type RESET_PASSWORD, optionally specifies flags.", + "enumDescriptions": [ + "This value is ignored.", + "Don't allow other admins to change the password again until the user has entered it.", + "Don't ask for user credentials on device boot.", + "Lock the device after password reset." + ], + "type": "array", + "items": { + "enum": [ + "RESET_PASSWORD_FLAG_UNSPECIFIED", + "REQUIRE_ENTRY", + "DO_NOT_ASK_CREDENTIALS_ON_BOOT", + "LOCK_NOW" + ], + "type": "string" + } + } + }, + "id": "Command" + }, + "ComplianceRule": { + "description": "A rule declaring which mitigating actions to take when a device is not compliant with its policy. For every rule, there is always an implicit mitigating action to set policy_compliant to false for the Device resource, and display a message on the device indicating that the device is not compliant with its policy. Other mitigating actions may optionally be taken as well, depending on the field values in the rule.", + "type": "object", + "properties": { + "nonComplianceDetailCondition": { + "description": "A condition which is satisfied if there exists any matching NonComplianceDetail for the device.", + "$ref": "NonComplianceDetailCondition" + }, + "disableApps": { + "description": "If set to true, the rule includes a mitigating action to disable applications so that the device is effectively disabled, but application data is preserved. If the device is running an app in locked task mode, the app will be closed and a UI showing the reason for non-compliance will be displayed.", + "type": "boolean" + }, + "apiLevelCondition": { + "description": "A condition which is satisfied if the Android Framework API level on the device does not meet a minimum requirement.", + "$ref": "ApiLevelCondition" + } + }, + "id": "ComplianceRule" + }, + "ListPoliciesResponse": { + "description": "Response to a request to list policies for a given enterprise.", + "type": "object", + "properties": { + "policies": { + "description": "The list of policies.", + "type": "array", + "items": { + "$ref": "Policy" + } + }, + "nextPageToken": { + "description": "If there are more results, a token to retrieve next page of results.", + "type": "string" + } + }, + "id": "ListPoliciesResponse" + }, + "StatusReportingSettings": { + "description": "Settings controlling the behavior of status reports.", + "type": "object", + "properties": { + "displayInfoEnabled": { + "description": "Whether displays reporting is enabled.", + "type": "boolean" + }, + "hardwareStatusEnabled": { + "description": "Whether hardware status reporting is enabled.", + "type": "boolean" + }, + "softwareInfoEnabled": { + "description": "Whether software info reporting is enabled.", + "type": "boolean" + }, + "memoryInfoEnabled": { + "description": "Whether memory info reporting is enabled.", + "type": "boolean" + }, + "powerManagementEventsEnabled": { + "description": "Whether power management event reporting is enabled.", + "type": "boolean" + }, + "networkInfoEnabled": { + "description": "Whether network info reporting is enabled.", + "type": "boolean" + } + }, + "id": "StatusReportingSettings" + }, + "Display": { + "description": "Device display information.", + "type": "object", + "properties": { + "refreshRate": { + "description": "Refresh rate of the display in frames per second.", + "type": "integer", + "format": "int32" + }, + "state": { + "description": "State of the display.", + "enum": [ + "DISPLAY_STATE_UNSPECIFIED", + "OFF", + "ON", + "DOZE", + "SUSPENDED" + ], + "enumDescriptions": [ + "This value is disallowed.", + "Display is off.", + "Display is on.", + "Display is dozing in a low power state", + "Display is dozing in a suspended low power state." + ], + "type": "string" + }, + "width": { + "description": "Display width in pixels.", + "type": "integer", + "format": "int32" + }, + "displayId": { + "description": "Unique display id.", + "type": "integer", + "format": "int32" + }, + "name": { + "description": "Name of the display.", + "type": "string" + }, + "density": { + "description": "Display density expressed as dots-per-inch.", + "type": "integer", + "format": "int32" + }, + "height": { + "description": "Display height in pixels.", + "type": "integer", + "format": "int32" + } + }, + "id": "Display" + }, + "SignupUrl": { + "description": "An enterprise signup URL.", + "type": "object", + "properties": { + "url": { + "description": "A URL under which the Admin can sign up for an enterprise. The page pointed to cannot be rendered in an iframe.", + "type": "string" + }, + "name": { + "description": "The name of the resource. This must be included in the create enterprise request at the end of the signup flow.", + "type": "string" + } + }, + "id": "SignupUrl" + }, + "EnrollmentToken": { + "description": "An enrollment token.", + "type": "object", + "properties": { + "expirationTimestamp": { + "description": "The expiration time of the token. This is a read-only field generated by the server.", + "type": "string", + "format": "google-datetime" + }, + "policyName": { + "description": "The name of the policy that will be initially applied to the enrolled device in the form enterprises/{enterpriseId}/policies/{policyId}. If not specified, the policy with id default is applied. It is permissible to only specify the policyId when updating this field as long as the policyId contains no slashes since the rest of the policy name can be inferred from context.", + "type": "string" + }, + "name": { + "description": "The name of the enrollment token, which is generated by the server during creation, in the form enterprises/{enterpriseId}/enrollmentTokens/{enrollmentTokenId}", + "type": "string" + }, + "duration": { + "description": "The duration of the token. If not specified, the duration will be 1 hour. The allowed range is 1 minute to 30 days.", + "type": "string", + "format": "google-duration" + }, + "value": { + "description": "The token value which is passed to the device and authorizes the device to enroll. This is a read-only field generated by the server.", + "type": "string" + }, + "additionalData": { + "description": "Optional, arbitrary data associated with the enrollment token. This could contain, for example, the id of an org unit to which the device is assigned after enrollment. After a device enrolls with the token, this data will be exposed in the enrollment_token_data field of the Device resource. The data must be 1024 characters or less; otherwise, the creation request will fail.", + "type": "string" + }, + "qrCode": { + "description": "A JSON string whose UTF-8 representation can be used to generate a QR code to enroll a device with this enrollment token. To enroll a device using NFC, the NFC record must contain a serialized java.util.Properties representation of the properties in the JSON.", + "type": "string" + } + }, + "id": "EnrollmentToken" + }, + "SoftwareInfo": { + "description": "Information about device software.", + "type": "object", + "properties": { + "androidVersion": { + "description": "The user visible Android version string, e.g. 6.0.1.", + "type": "string" + }, + "androidBuildNumber": { + "description": "Android build Id string meant for displaying to the user, e.g. shamu-userdebug 6.0.1 MOB30I 2756745 dev-keys.", + "type": "string" + }, + "androidBuildTime": { + "description": "Build time.", + "type": "string", + "format": "google-datetime" + }, + "bootloaderVersion": { + "description": "The system bootloader version number, e.g. 0.6.7.", + "type": "string" + }, + "securityPatchLevel": { + "description": "Security patch level, e.g. 2016-05-01.", + "type": "string" + }, + "deviceKernelVersion": { + "description": "Kernel version, e.g. 2.6.32.9-g103d848.", + "type": "string" + } + }, + "id": "SoftwareInfo" + }, + "ManagedPropertyEntry": { + "description": "An entry of a managed property.", + "type": "object", + "properties": { + "value": { + "description": "The machine-readable value of the entry, which should be used in the configuration. Not localized.", + "type": "string" + }, + "name": { + "description": "The human-readable name of the value. Localized.", + "type": "string" + } + }, + "id": "ManagedPropertyEntry" + }, + "WebToken": { + "description": "A web token used to access an embeddable managed Google Play web UI.", + "type": "object", + "properties": { + "value": { + "description": "The token value which is used in the hosting page to generate the iframe with the embedded UI. This is a read-only field generated by the server.", + "type": "string" + }, + "permissions": { + "description": "Permissions the admin may exercise in the embedded UI. The admin must have all of these permissions in order to view the UI.", + "enumDescriptions": [ + "This value is ignored.", + "The permission to approve apps for the enterprise." + ], + "type": "array", + "items": { + "enum": [ + "WEB_TOKEN_PERMISSION_UNSPECIFIED", + "APPROVE_APPS" + ], + "type": "string" + } + }, + "name": { + "description": "The name of the web token, which is generated by the server during creation, in the form enterprises/{enterpriseId}/webTokens/{webTokenId}.", + "type": "string" + }, + "parentFrameUrl": { + "description": "The URL of the parent frame hosting the iframe with the embedded UI. To prevent XSS, the iframe may not be hosted at other URLs. The URL must use the https scheme.", + "type": "string" + } + }, + "id": "WebToken" + }, + "Enterprise": { + "description": "The configuration applied to an enterprise.", + "type": "object", + "properties": { + "pubsubTopic": { + "description": "When Cloud Pub/Sub notifications are enabled, this field is required to indicate the topic to which the notifications will be published. The format of this field is projects/{project}/topics/{topic}. You must have granted the publish permission on this topic to android-cloud-policy@system.gserviceaccount.com", + "type": "string" + }, + "logo": { + "description": "An image displayed as a logo during device provisioning. Supported types are: image/bmp, image/gif, image/x-ico, image/jpeg, image/png, image/webp, image/vnd.wap.wbmp, image/x-adobe-dng.", + "$ref": "ExternalData" + }, + "enabledNotificationTypes": { + "description": "The notification types to enable via Google Cloud Pub/Sub.", + "enumDescriptions": [ + "This value is ignored.", + "A notification sent when a device enrolls.", + "A notification sent when a device issues a policy compliance report.", + "A notification sent when a device issues a status report.", + "A notification sent when a device command has completed." + ], + "type": "array", + "items": { + "enum": [ + "NOTIFICATION_TYPE_UNSPECIFIED", + "ENROLLMENT", + "COMPLIANCE_REPORT", + "STATUS_REPORT", + "COMMAND" + ], + "type": "string" + } + }, + "name": { + "description": "The name of the enterprise which is generated by the server during creation, in the form enterprises/{enterpriseId}", + "type": "string" + }, + "primaryColor": { + "description": "A color in RGB format indicating the predominant color to display in the device management app UI. The color components are stored as follows: (red \u003c\u003c 16) | (green \u003c\u003c 8) | blue, where each component may take a value between 0 and 255 inclusive.", + "type": "integer", + "format": "int32" + }, + "appAutoApprovalEnabled": { + "description": "Whether app auto-approval is enabled. When enabled, apps installed via policy for this enterprise have all permissions automatically approved. When enabled, it is the caller's responsibility to display the permissions required by an app to the enterprise admin before setting the app to be installed in a policy.", + "type": "boolean" + }, + "enterpriseDisplayName": { + "description": "The name of the enterprise as it will appear to users.", + "type": "string" + } + }, + "id": "Enterprise" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "type": "array", + "items": { + "$ref": "Operation" + } + } + }, + "id": "ListOperationsResponse" + }, + "MemoryEvent": { + "description": "An event related to memory and storage measurements.", + "type": "object", + "properties": { + "byteCount": { + "description": "The number of free bytes in the medium, or for EXTERNAL_STORAGE_DETECTED, the total capacity in bytes of the storage medium.", + "type": "string", + "format": "int64" + }, + "eventType": { + "description": "Event type.", + "enum": [ + "MEMORY_EVENT_TYPE_UNSPECIFIED", + "RAM_MEASURED", + "INTERNAL_STORAGE_MEASURED", + "EXTERNAL_STORAGE_DETECTED", + "EXTERNAL_STORAGE_REMOVED", + "EXTERNAL_STORAGE_MEASURED" + ], + "enumDescriptions": [ + "Unspecified. No events have this type.", + "Free space in RAM was measured.", + "Free space in internal storage was measured.", + "A new external storage medium was detected. The reported byte count is the total capacity of the storage medium.", + "An external storage medium was removed. The reported byte count is zero.", + "Free space in an external storage medium was measured." + ], + "type": "string" + }, + "createTime": { + "description": "The creation time of the event.", + "type": "string", + "format": "google-datetime" + } + }, + "id": "MemoryEvent" + }, + "ExternalData": { + "description": "Data hosted at an external location. The data is to be downloaded by Android Device Policy and verified against the hash.", + "type": "object", + "properties": { + "url": { + "description": "The absolute URL to the data, which must use either the http or https scheme. Android Device Policy does not provide any credentials in the GET request, so the URL must be publicly accessible. Including a long, random component in the URL may be used to prevent attackers from discovering the URL.", + "type": "string" + }, + "sha256Hash": { + "description": "The base-64 encoded SHA-256 hash of the content hosted at url. If the content does not match this hash, Android Device Policy will not use the data.", + "type": "string" + } + }, + "id": "ExternalData" + }, + "UserFacingMessage": { + "description": "Provides user facing message with locale info. The maximum message length is 4096 characters.", + "type": "object", + "properties": { + "localizedMessages": { + "description": "A map which contains \u003clocale, message\u003e pairs. The locale is a BCP 47 language code, e.g. en-US, es-ES, fr.", + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "defaultMessage": { + "description": "The default message that gets displayed if no localized message is specified, or the user's locale does not match with any of the localized messages. A default message must be provided if any localized messages are provided.", + "type": "string" + } + }, + "id": "UserFacingMessage" + }, + "PowerManagementEvent": { + "description": "A power management event.", + "type": "object", + "properties": { + "batteryLevel": { + "description": "For BATTERY_LEVEL_COLLECTED events, the battery level as a percentage.", + "type": "number", + "format": "float" + }, + "eventType": { + "description": "Event type.", + "enum": [ + "POWER_MANAGEMENT_EVENT_TYPE_UNSPECIFIED", + "BATTERY_LEVEL_COLLECTED", + "POWER_CONNECTED", + "POWER_DISCONNECTED", + "BATTERY_LOW", + "BATTERY_OKAY", + "BOOT_COMPLETED", + "SHUTDOWN" + ], + "enumDescriptions": [ + "Unspecified. No events have this type.", + "Battery level was measured.", + "The device started charging.", + "The device stopped charging.", + "The device entered low-power mode.", + "The device exited low-power mode.", + "The device booted.", + "The device shut down." + ], + "type": "string" + }, + "createTime": { + "description": "The creation time of the event.", + "type": "string", + "format": "google-datetime" + } + }, + "id": "PowerManagementEvent" + }, + "PasswordRequirements": { + "description": "Requirements for the password used to unlock a device.", + "type": "object", + "properties": { + "passwordMinimumNumeric": { + "description": "Minimum number of numerical digits required in the password. Only enforced when password_quality is COMPLEX.", + "type": "integer", + "format": "int32" + }, + "passwordMinimumNonLetter": { + "description": "Minimum number of non-letter characters (numerical digits or symbols) required in the password. Only enforced when password_quality is COMPLEX.", + "type": "integer", + "format": "int32" + }, + "maximumFailedPasswordsForWipe": { + "description": "A device will be wiped after too many incorrect device-unlock passwords have been entered. A value of 0 means there is no restriction.", + "type": "integer", + "format": "int32" + }, + "passwordMinimumLetters": { + "description": "Minimum number of letters required in the password. Only enforced when password_quality is COMPLEX.", + "type": "integer", + "format": "int32" + }, + "passwordMinimumUpperCase": { + "description": "Minimum number of upper case letters required in the password. Only enforced when password_quality is COMPLEX.", + "type": "integer", + "format": "int32" + }, + "passwordQuality": { + "description": "The required password quality.", + "enum": [ + "PASSWORD_QUALITY_UNSPECIFIED", + "SOMETHING", + "NUMERIC", + "NUMERIC_COMPLEX", + "ALPHABETIC", + "ALPHANUMERIC", + "COMPLEX" + ], + "enumDescriptions": [ + "There are no requirements for the password.", + "There must be a password, but there are no restrictions on its characters.", + "The password must contain numeric characters.", + "The password must contain numeric characters with no repeating (4444) or ordered (1234, 4321, 2468) sequences.", + "The password must contain alphabetic (or symbol) characters.", + "The password must contain at both numeric and alphabetic (or symbol) characters.", + "The password must contain at least a letter, a numerical digit and a special symbol. Other password constraints, for example, password_minimum_letters are enforced." + ], + "type": "string" + }, + "passwordMinimumLength": { + "description": "The minimum allowed password length. A value of 0 means there is no restriction. Only enforced when password_quality is NUMERIC, NUMERIC_COMPLEX, ALPHABETIC, ALPHANUMERIC, or COMPLEX.", + "type": "integer", + "format": "int32" + }, + "passwordExpirationTimeout": { + "description": "Password expiration timeout.", + "type": "string", + "format": "google-duration" + }, + "passwordMinimumSymbols": { + "description": "Minimum number of symbols required in the password. Only enforced when password_quality is COMPLEX.", + "type": "integer", + "format": "int32" + }, + "passwordHistoryLength": { + "description": "The length of the password history. After setting this, the user will not be able to enter a new password that is the same as any password in the history. A value of 0 means there is no restriction.", + "type": "integer", + "format": "int32" + }, + "passwordMinimumLowerCase": { + "description": "Minimum number of lower case letters required in the password. Only enforced when password_quality is COMPLEX.", + "type": "integer", + "format": "int32" + } + }, + "id": "PasswordRequirements" + }, + "HardwareInfo": { + "description": "Information about device hardware. The fields related to temperature thresholds are only available when hardwareStatusEnabled is true in the device's policy.", + "type": "object", + "properties": { + "gpuThrottlingTemperatures": { + "description": "GPU throttling temperature thresholds in Celsius for each GPU on the device.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, + "cpuShutdownTemperatures": { + "description": "CPU shutdown temperature thresholds in Celsius for each CPU on the device.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, + "gpuShutdownTemperatures": { + "description": "GPU shutdown temperature thresholds in Celsius for each GPU on the device.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, + "manufacturer": { + "description": "Manufacturer, e.g. Motorola.", + "type": "string" + }, + "model": { + "description": "The model of the device, e.g. Asus Nexus 7.", + "type": "string" + }, + "serialNumber": { + "description": "The device serial number.", + "type": "string" + }, + "brand": { + "description": "Brand of the device, e.g. Google.", + "type": "string" + }, + "cpuThrottlingTemperatures": { + "description": "CPU throttling temperature thresholds in Celsius for each CPU on the device.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, + "skinThrottlingTemperatures": { + "description": "Device skin throttling temperature thresholds in Celsius.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, + "deviceBasebandVersion": { + "description": "Baseband version, e.g. MDM9625_104662.22.05.34p.", + "type": "string" + }, + "hardware": { + "description": "Name of the hardware, e.g. Angler.", + "type": "string" + }, + "skinShutdownTemperatures": { + "description": "Device skin shutdown temperature thresholds in Celsius.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, + "batteryShutdownTemperatures": { + "description": "Battery shutdown temperature thresholds in Celsius for each battery on the device.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, + "batteryThrottlingTemperatures": { + "description": "Battery throttling temperature thresholds in Celsius for each battery on the device.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + } + }, + "id": "HardwareInfo" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance:\nservice Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n}\nThe JSON representation for Empty is empty JSON object {}.", + "type": "object", + "properties": {}, + "id": "Empty" + }, + "NetworkInfo": { + "description": "Device network info.", + "type": "object", + "properties": { + "meid": { + "description": "MEID number of the CDMA device, e.g. A00000292788E1.", + "type": "string" + }, + "wifiMacAddress": { + "description": "WiFi MAC address of the device, e.g. 7c:11:11:11:11:11.", + "type": "string" + }, + "imei": { + "description": "IMEI number of the GSM device, e.g. A1000031212.", + "type": "string" + } + }, + "id": "NetworkInfo" + }, + "MemoryInfo": { + "description": "Information about device memory and storage.", + "type": "object", + "properties": { + "totalRam": { + "description": "Total RAM on device in bytes.", + "type": "string", + "format": "int64" + }, + "totalInternalStorage": { + "description": "Total internal storage on device in bytes.", + "type": "string", + "format": "int64" + } + }, + "id": "MemoryInfo" + }, + "ApiLevelCondition": { + "description": "A compliance rule condition which is satisfied if the Android Framework API level on the device does not meet a minimum requirement. There can only be one rule with this type of condition per policy.", + "type": "object", + "properties": { + "minApiLevel": { + "description": "The minimum desired Android Framework API level. If the device does not meet the minimum requirement, this condition is satisfied. Must be greater than zero.", + "type": "integer", + "format": "int32" + } + }, + "id": "ApiLevelCondition" + }, + "SystemUpdate": { + "description": "Configuration for managing system updates", + "type": "object", + "properties": { + "startMinutes": { + "description": "If the type is WINDOWED, the start of the maintenance window, measured as the number of minutes after midnight in device local time. This value must be between 0 and 1439, inclusive.", + "type": "integer", + "format": "int32" + }, + "type": { + "description": "The type of system update to configure.", + "enum": [ + "SYSTEM_UPDATE_TYPE_UNSPECIFIED", + "AUTOMATIC", + "WINDOWED", + "POSTPONE" + ], + "enumDescriptions": [ + "Follow the default update behavior for the device, which typically requires the user to accept system updates.", + "Install automatically as soon as an update is available.", + "Install automatically within a daily maintenance window. If the device has a device account, this also configures Play apps to be updated within the window. This is strongly recommended for kiosk devices because this is the only way apps persistently pinned to the foreground can be updated by Play.", + "Postpone automatic install up to a maximum of 30 days." + ], + "type": "string" + }, + "endMinutes": { + "description": "If the type is WINDOWED, the end of the maintenance window, measured as the number of minutes after midnight in device local time. This value must be between 0 and 1439, inclusive. If this value is less than start_minutes, then the maintenance window spans midnight. If the maintenance window specified is smaller than 30 minutes, the actual window is extended to 30 minutes beyond the start time.", + "type": "integer", + "format": "int32" + } + }, + "id": "SystemUpdate" + }, + "HardwareStatus": { + "description": "Hardware status. Temperatures may be compared to the temperature thresholds available in hardwareInfo to determine hardware health.", + "type": "object", + "properties": { + "fanSpeeds": { + "description": "Fan speeds in RPM for each fan on the device. Empty array means that there are no fans or fan speed is not supported on the system.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, + "skinTemperatures": { + "description": "Current device skin temperatures in Celsius.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, + "createTime": { + "description": "The time the measurements were taken.", + "type": "string", + "format": "google-datetime" + }, + "batteryTemperatures": { + "description": "Current battery temperatures in Celsius for each battery on the device.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, + "cpuTemperatures": { + "description": "Current CPU temperatures in Celsius for each CPU on the device.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, + "gpuTemperatures": { + "description": "Current GPU temperatures in Celsius for each GPU on the device.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + }, + "cpuUsages": { + "description": "CPU usages in percentage for each core available on the device. Usage is 0 for each unplugged core. Empty array implies that CPU usage is not supported in the system.", + "type": "array", + "items": { + "type": "number", + "format": "float" + } + } + }, + "id": "HardwareStatus" + } + }, + "revision": "20170918", + "basePath": "", + "icons": { + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" + }, + "version_module": true, + "canonicalName": "Android Management", + "discoveryVersion": "v1", + "fullyEncodeReservedExpansion": true, + "baseUrl": "https://androidmanagement.googleapis.com/", + "name": "androidmanagement", + "parameters": { + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, + "prettyPrint": { + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", + "location": "query" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" + }, + "pp": { + "description": "Pretty-print response.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", + "location": "query" + }, + "alt": { + "description": "Data format for response.", + "location": "query", + "enum": [ + "json", + "media", + "proto" + ], + "default": "json", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "type": "string" + }, + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "type": "string", + "location": "query" + }, + "callback": { + "description": "JSONP", + "type": "string", + "location": "query" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", + "location": "query" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string", + "location": "query" + }, + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", + "location": "query" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string", + "location": "query" + } + }, + "documentationLink": "https://developers.google.com/android/management", + "ownerDomain": "google.com", + "batchPath": "batch", + "servicePath": "", + "ownerName": "Google", + "version": "v1", + "rootUrl": "https://androidmanagement.googleapis.com/", + "kind": "discovery#restDescription" +} diff --git a/vendor/google.golang.org/api/androidmanagement/v1/androidmanagement-gen.go b/vendor/google.golang.org/api/androidmanagement/v1/androidmanagement-gen.go new file mode 100644 index 000000000..47321b0cb --- /dev/null +++ b/vendor/google.golang.org/api/androidmanagement/v1/androidmanagement-gen.go @@ -0,0 +1,5438 @@ +// Package androidmanagement provides access to the Android Management API. +// +// See https://developers.google.com/android/management +// +// Usage example: +// +// import "google.golang.org/api/androidmanagement/v1" +// ... +// androidmanagementService, err := androidmanagement.New(oauthHttpClient) +package androidmanagement // import "google.golang.org/api/androidmanagement/v1" + +import ( + "bytes" + "encoding/json" + "errors" + "fmt" + context "golang.org/x/net/context" + ctxhttp "golang.org/x/net/context/ctxhttp" + gensupport "google.golang.org/api/gensupport" + googleapi "google.golang.org/api/googleapi" + "io" + "net/http" + "net/url" + "strconv" + "strings" +) + +// Always reference these packages, just in case the auto-generated code +// below doesn't. +var _ = bytes.NewBuffer +var _ = strconv.Itoa +var _ = fmt.Sprintf +var _ = json.NewDecoder +var _ = io.Copy +var _ = url.Parse +var _ = gensupport.MarshalJSON +var _ = googleapi.Version +var _ = errors.New +var _ = strings.Replace +var _ = context.Canceled +var _ = ctxhttp.Do + +const apiId = "androidmanagement:v1" +const apiName = "androidmanagement" +const apiVersion = "v1" +const basePath = "https://androidmanagement.googleapis.com/" + +// OAuth2 scopes used by this API. +const ( + // Manage Android devices and apps for your customers + AndroidmanagementScope = "https://www.googleapis.com/auth/androidmanagement" +) + +func New(client *http.Client) (*Service, error) { + if client == nil { + return nil, errors.New("client is nil") + } + s := &Service{client: client, BasePath: basePath} + s.Enterprises = NewEnterprisesService(s) + s.SignupUrls = NewSignupUrlsService(s) + return s, nil +} + +type Service struct { + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + + Enterprises *EnterprisesService + + SignupUrls *SignupUrlsService +} + +func (s *Service) userAgent() string { + if s.UserAgent == "" { + return googleapi.UserAgent + } + return googleapi.UserAgent + " " + s.UserAgent +} + +func NewEnterprisesService(s *Service) *EnterprisesService { + rs := &EnterprisesService{s: s} + rs.Applications = NewEnterprisesApplicationsService(s) + rs.Devices = NewEnterprisesDevicesService(s) + rs.EnrollmentTokens = NewEnterprisesEnrollmentTokensService(s) + rs.Policies = NewEnterprisesPoliciesService(s) + rs.WebTokens = NewEnterprisesWebTokensService(s) + return rs +} + +type EnterprisesService struct { + s *Service + + Applications *EnterprisesApplicationsService + + Devices *EnterprisesDevicesService + + EnrollmentTokens *EnterprisesEnrollmentTokensService + + Policies *EnterprisesPoliciesService + + WebTokens *EnterprisesWebTokensService +} + +func NewEnterprisesApplicationsService(s *Service) *EnterprisesApplicationsService { + rs := &EnterprisesApplicationsService{s: s} + return rs +} + +type EnterprisesApplicationsService struct { + s *Service +} + +func NewEnterprisesDevicesService(s *Service) *EnterprisesDevicesService { + rs := &EnterprisesDevicesService{s: s} + rs.Operations = NewEnterprisesDevicesOperationsService(s) + return rs +} + +type EnterprisesDevicesService struct { + s *Service + + Operations *EnterprisesDevicesOperationsService +} + +func NewEnterprisesDevicesOperationsService(s *Service) *EnterprisesDevicesOperationsService { + rs := &EnterprisesDevicesOperationsService{s: s} + return rs +} + +type EnterprisesDevicesOperationsService struct { + s *Service +} + +func NewEnterprisesEnrollmentTokensService(s *Service) *EnterprisesEnrollmentTokensService { + rs := &EnterprisesEnrollmentTokensService{s: s} + return rs +} + +type EnterprisesEnrollmentTokensService struct { + s *Service +} + +func NewEnterprisesPoliciesService(s *Service) *EnterprisesPoliciesService { + rs := &EnterprisesPoliciesService{s: s} + return rs +} + +type EnterprisesPoliciesService struct { + s *Service +} + +func NewEnterprisesWebTokensService(s *Service) *EnterprisesWebTokensService { + rs := &EnterprisesWebTokensService{s: s} + return rs +} + +type EnterprisesWebTokensService struct { + s *Service +} + +func NewSignupUrlsService(s *Service) *SignupUrlsService { + rs := &SignupUrlsService{s: s} + return rs +} + +type SignupUrlsService struct { + s *Service +} + +// ApiLevelCondition: A compliance rule condition which is satisfied if +// the Android Framework API level on the device does not meet a minimum +// requirement. There can only be one rule with this type of condition +// per policy. +type ApiLevelCondition struct { + // MinApiLevel: The minimum desired Android Framework API level. If the + // device does not meet the minimum requirement, this condition is + // satisfied. Must be greater than zero. + MinApiLevel int64 `json:"minApiLevel,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MinApiLevel") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "MinApiLevel") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ApiLevelCondition) MarshalJSON() ([]byte, error) { + type noMethod ApiLevelCondition + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Application: Application information. +type Application struct { + // ManagedProperties: The set of managed properties available to be + // pre-configured for the application. + ManagedProperties []*ManagedProperty `json:"managedProperties,omitempty"` + + // Name: The name of the application in the form + // enterprises/{enterpriseId}/applications/{package_name} + Name string `json:"name,omitempty"` + + // Permissions: The permissions required by the app. + Permissions []*ApplicationPermission `json:"permissions,omitempty"` + + // Title: The title of the application. Localized. + Title string `json:"title,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "ManagedProperties") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ManagedProperties") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Application) MarshalJSON() ([]byte, error) { + type noMethod Application + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ApplicationPermission: Application permission. +type ApplicationPermission struct { + // Description: A longer description of the permission, giving more + // details of what it affects. Localized. + Description string `json:"description,omitempty"` + + // Name: The name of the permission. Localized. + Name string `json:"name,omitempty"` + + // PermissionId: An opaque string uniquely identifying the permission. + // Not localized. + PermissionId string `json:"permissionId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Description") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ApplicationPermission) MarshalJSON() ([]byte, error) { + type noMethod ApplicationPermission + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ApplicationPolicy: Policy for an individual app. +type ApplicationPolicy struct { + // DefaultPermissionPolicy: The default policy for all permissions + // requested by the app. If specified, this overrides the policy-level + // default_permission_policy which applies to all apps. + // + // Possible values: + // "PERMISSION_POLICY_UNSPECIFIED" - Policy not specified. If no + // policy is specified for a permission at any level, then the PROMPT + // behavior is used by default. + // "PROMPT" - Prompt the user to grant a permission. + // "GRANT" - Automatically grant a permission. + // "DENY" - Automatically deny a permission. + DefaultPermissionPolicy string `json:"defaultPermissionPolicy,omitempty"` + + // InstallType: The type of installation to perform. + // + // Possible values: + // "INSTALL_TYPE_UNSPECIFIED" - No automatic installation is + // performed. Any other app policies will be applied if the user + // installs the app. + // "PREINSTALLED" - The application is automatically installed and can + // be removed by the user. + // "FORCE_INSTALLED" - The application is automatically installed and + // cannot be removed by the user. + InstallType string `json:"installType,omitempty"` + + // LockTaskAllowed: Whether the application is allowed to lock itself in + // full-screen mode. + LockTaskAllowed bool `json:"lockTaskAllowed,omitempty"` + + // ManagedConfiguration: Managed configuration applied to the app. The + // format for the configuration is dictated by the ManagedProperty + // values supported by the app. Each field name in the managed + // configuration must match the key field of the ManagedProperty. The + // field value must be compatible with the type of the ManagedProperty: + // + // + // + // + // + // + // + //
    typeJSON value
    BOOLtrue or false
    STRINGstring
    INTEGERnumber
    CHOICEstring
    MULTISELECTarray of strings
    HIDDENstring
    BUNDLE_ARRAYarray of objects
    + ManagedConfiguration googleapi.RawMessage `json:"managedConfiguration,omitempty"` + + // PackageName: The package name of the app, e.g. + // com.google.android.youtube for the YouTube app. + PackageName string `json:"packageName,omitempty"` + + // PermissionGrants: Explicit permission grants or denials for the app. + // These values override the default_permission_policy. + PermissionGrants []*PermissionGrant `json:"permissionGrants,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "DefaultPermissionPolicy") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DefaultPermissionPolicy") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *ApplicationPolicy) MarshalJSON() ([]byte, error) { + type noMethod ApplicationPolicy + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Command: A command. +type Command struct { + // CreateTime: The timestamp at which the command was created. The + // timestamp is automatically generated by the server. + CreateTime string `json:"createTime,omitempty"` + + // Duration: The duration for which the command is valid. The command + // will expire if not executed by the device during this time. The + // default duration if unspecified is ten minutes. There is no maximum + // duration. + Duration string `json:"duration,omitempty"` + + // NewPassword: For commands of type RESET_PASSWORD, optionally + // specifies the new password. + NewPassword string `json:"newPassword,omitempty"` + + // ResetPasswordFlags: For commands of type RESET_PASSWORD, optionally + // specifies flags. + // + // Possible values: + // "RESET_PASSWORD_FLAG_UNSPECIFIED" - This value is ignored. + // "REQUIRE_ENTRY" - Don't allow other admins to change the password + // again until the user has entered it. + // "DO_NOT_ASK_CREDENTIALS_ON_BOOT" - Don't ask for user credentials + // on device boot. + // "LOCK_NOW" - Lock the device after password reset. + ResetPasswordFlags []string `json:"resetPasswordFlags,omitempty"` + + // Type: The type of the command. + // + // Possible values: + // "COMMAND_TYPE_UNSPECIFIED" - This value is disallowed. + // "LOCK" - Lock the device, as if the lock screen timeout had + // expired. + // "RESET_PASSWORD" - Reset the user's password. + // "REBOOT" - Reboot the device. Only supported on API level 24+. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CreateTime") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CreateTime") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Command) MarshalJSON() ([]byte, error) { + type noMethod Command + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ComplianceRule: A rule declaring which mitigating actions to take +// when a device is not compliant with its policy. For every rule, there +// is always an implicit mitigating action to set policy_compliant to +// false for the Device resource, and display a message on the device +// indicating that the device is not compliant with its policy. Other +// mitigating actions may optionally be taken as well, depending on the +// field values in the rule. +type ComplianceRule struct { + // ApiLevelCondition: A condition which is satisfied if the Android + // Framework API level on the device does not meet a minimum + // requirement. + ApiLevelCondition *ApiLevelCondition `json:"apiLevelCondition,omitempty"` + + // DisableApps: If set to true, the rule includes a mitigating action to + // disable applications so that the device is effectively disabled, but + // application data is preserved. If the device is running an app in + // locked task mode, the app will be closed and a UI showing the reason + // for non-compliance will be displayed. + DisableApps bool `json:"disableApps,omitempty"` + + // NonComplianceDetailCondition: A condition which is satisfied if there + // exists any matching NonComplianceDetail for the device. + NonComplianceDetailCondition *NonComplianceDetailCondition `json:"nonComplianceDetailCondition,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ApiLevelCondition") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ApiLevelCondition") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *ComplianceRule) MarshalJSON() ([]byte, error) { + type noMethod ComplianceRule + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Device: A device owned by an enterprise. Unless otherwise noted, all +// fields are read-only and cannot be modified by an update device +// request. +type Device struct { + // ApiLevel: The API level of the Android platform version running on + // the device. + ApiLevel int64 `json:"apiLevel,omitempty"` + + // AppliedPolicyName: The name of the policy that is currently applied + // by the device. + AppliedPolicyName string `json:"appliedPolicyName,omitempty"` + + // AppliedPolicyVersion: The version of the policy that is currently + // applied by the device. + AppliedPolicyVersion int64 `json:"appliedPolicyVersion,omitempty,string"` + + // AppliedState: The state that is currently applied by the device. + // + // Possible values: + // "DEVICE_STATE_UNSPECIFIED" - This value is disallowed. + // "ACTIVE" - The device is active. + // "DISABLED" - The device is disabled. + // "DELETED" - The device was deleted. This state will never be + // returned by an API call, but will be used in the final policy + // compliance report published to Cloud Pub/Sub when the device + // acknowledges the deletion. + // "PROVISIONING" - The device is being provisioned. Newly enrolled + // devices will be in this state until they have applied policy. + AppliedState string `json:"appliedState,omitempty"` + + // DisabledReason: If the device state is DISABLED, an optional message + // that is displayed on the device indicating the reason the device is + // disabled. This field may be modified by an update request. + DisabledReason *UserFacingMessage `json:"disabledReason,omitempty"` + + // Displays: Displays on the device. This information is only available + // when displayInfoEnabled is true in the device's policy. + Displays []*Display `json:"displays,omitempty"` + + // EnrollmentTime: The time of device enrollment. + EnrollmentTime string `json:"enrollmentTime,omitempty"` + + // EnrollmentTokenData: If this device was enrolled with an enrollment + // token with additional data provided, this field contains that data. + EnrollmentTokenData string `json:"enrollmentTokenData,omitempty"` + + // EnrollmentTokenName: If this device was enrolled with an enrollment + // token, this field contains the name of the token. + EnrollmentTokenName string `json:"enrollmentTokenName,omitempty"` + + // HardwareInfo: Detailed information about the device hardware. + HardwareInfo *HardwareInfo `json:"hardwareInfo,omitempty"` + + // HardwareStatusSamples: Hardware status samples in chronological + // order. This information is only available when hardwareStatusEnabled + // is true in the device's policy. + HardwareStatusSamples []*HardwareStatus `json:"hardwareStatusSamples,omitempty"` + + // LastPolicyComplianceReportTime: The last time the device sent a + // policy compliance report. + LastPolicyComplianceReportTime string `json:"lastPolicyComplianceReportTime,omitempty"` + + // LastPolicySyncTime: The last time the device fetched its policy. + LastPolicySyncTime string `json:"lastPolicySyncTime,omitempty"` + + // LastStatusReportTime: The last time the device sent a status report. + LastStatusReportTime string `json:"lastStatusReportTime,omitempty"` + + // MemoryEvents: Events related to memory and storage measurements in + // chronological order. This information is only available when + // memoryInfoEnabled is true in the device's policy. + MemoryEvents []*MemoryEvent `json:"memoryEvents,omitempty"` + + // MemoryInfo: Memory information. This information is only available + // when memoryInfoEnabled is true in the device's policy. + MemoryInfo *MemoryInfo `json:"memoryInfo,omitempty"` + + // Name: The name of the device in the form + // enterprises/{enterpriseId}/devices/{deviceId} + Name string `json:"name,omitempty"` + + // NetworkInfo: Device network information. This information is only + // available when networkInfoEnabled is true in the device's policy. + NetworkInfo *NetworkInfo `json:"networkInfo,omitempty"` + + // NonComplianceDetails: Details about policy settings for which the + // device is not in compliance. + NonComplianceDetails []*NonComplianceDetail `json:"nonComplianceDetails,omitempty"` + + // PolicyCompliant: Whether the device is compliant with its policy. + PolicyCompliant bool `json:"policyCompliant,omitempty"` + + // PolicyName: The name of the policy that is intended to be applied to + // the device. If empty, the policy with id default is applied. This + // field may be modified by an update request. The name of the policy is + // in the form enterprises/{enterpriseId}/policies/{policyId}. It is + // also permissible to only specify the policyId when updating this + // field as long as the policyId contains no slashes since the rest of + // the policy name can be inferred from context. + PolicyName string `json:"policyName,omitempty"` + + // PowerManagementEvents: Power management events on the device in + // chronological order. This information is only available when + // powerManagementEventsEnabled is true in the device's policy. + PowerManagementEvents []*PowerManagementEvent `json:"powerManagementEvents,omitempty"` + + // PreviousDeviceNames: The previous device names used for the same + // physical device when it has been enrolled multiple times. The serial + // number is used as the unique identifier to determine if the same + // physical device has enrolled previously. The names are in + // chronological order. + PreviousDeviceNames []string `json:"previousDeviceNames,omitempty"` + + // SoftwareInfo: Detailed information about the device software. This + // information is only available when softwareInfoEnabled is true in the + // device's policy. + SoftwareInfo *SoftwareInfo `json:"softwareInfo,omitempty"` + + // State: The state that is intended to be applied to the device. This + // field may be modified by an update request. Note that UpdateDevice + // only handles toggling between ACTIVE and DISABLED states. Use the + // delete device method to cause the device to enter the DELETED state. + // + // Possible values: + // "DEVICE_STATE_UNSPECIFIED" - This value is disallowed. + // "ACTIVE" - The device is active. + // "DISABLED" - The device is disabled. + // "DELETED" - The device was deleted. This state will never be + // returned by an API call, but will be used in the final policy + // compliance report published to Cloud Pub/Sub when the device + // acknowledges the deletion. + // "PROVISIONING" - The device is being provisioned. Newly enrolled + // devices will be in this state until they have applied policy. + State string `json:"state,omitempty"` + + // UserName: The resource name of the user of the device in the form + // enterprises/{enterpriseId}/users/{userId}. This is the name of the + // device account automatically created for this device. + UserName string `json:"userName,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "ApiLevel") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ApiLevel") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Device) MarshalJSON() ([]byte, error) { + type noMethod Device + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Display: Device display information. +type Display struct { + // Density: Display density expressed as dots-per-inch. + Density int64 `json:"density,omitempty"` + + // DisplayId: Unique display id. + DisplayId int64 `json:"displayId,omitempty"` + + // Height: Display height in pixels. + Height int64 `json:"height,omitempty"` + + // Name: Name of the display. + Name string `json:"name,omitempty"` + + // RefreshRate: Refresh rate of the display in frames per second. + RefreshRate int64 `json:"refreshRate,omitempty"` + + // State: State of the display. + // + // Possible values: + // "DISPLAY_STATE_UNSPECIFIED" - This value is disallowed. + // "OFF" - Display is off. + // "ON" - Display is on. + // "DOZE" - Display is dozing in a low power state + // "SUSPENDED" - Display is dozing in a suspended low power state. + State string `json:"state,omitempty"` + + // Width: Display width in pixels. + Width int64 `json:"width,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Density") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Density") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Display) MarshalJSON() ([]byte, error) { + type noMethod Display + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Empty: A generic empty message that you can re-use to avoid defining +// duplicated empty messages in your APIs. A typical example is to use +// it as the request or the response type of an API method. For +// instance: +// service Foo { +// rpc Bar(google.protobuf.Empty) returns +// (google.protobuf.Empty); +// } +// The JSON representation for Empty is empty JSON object {}. +type Empty struct { + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` +} + +// EnrollmentToken: An enrollment token. +type EnrollmentToken struct { + // AdditionalData: Optional, arbitrary data associated with the + // enrollment token. This could contain, for example, the id of an org + // unit to which the device is assigned after enrollment. After a device + // enrolls with the token, this data will be exposed in the + // enrollment_token_data field of the Device resource. The data must be + // 1024 characters or less; otherwise, the creation request will fail. + AdditionalData string `json:"additionalData,omitempty"` + + // Duration: The duration of the token. If not specified, the duration + // will be 1 hour. The allowed range is 1 minute to 30 days. + Duration string `json:"duration,omitempty"` + + // ExpirationTimestamp: The expiration time of the token. This is a + // read-only field generated by the server. + ExpirationTimestamp string `json:"expirationTimestamp,omitempty"` + + // Name: The name of the enrollment token, which is generated by the + // server during creation, in the form + // enterprises/{enterpriseId}/enrollmentTokens/{enrollmentTokenId} + Name string `json:"name,omitempty"` + + // PolicyName: The name of the policy that will be initially applied to + // the enrolled device in the form + // enterprises/{enterpriseId}/policies/{policyId}. If not specified, the + // policy with id default is applied. It is permissible to only specify + // the policyId when updating this field as long as the policyId + // contains no slashes since the rest of the policy name can be inferred + // from context. + PolicyName string `json:"policyName,omitempty"` + + // QrCode: A JSON string whose UTF-8 representation can be used to + // generate a QR code to enroll a device with this enrollment token. To + // enroll a device using NFC, the NFC record must contain a serialized + // java.util.Properties representation of the properties in the JSON. + QrCode string `json:"qrCode,omitempty"` + + // Value: The token value which is passed to the device and authorizes + // the device to enroll. This is a read-only field generated by the + // server. + Value string `json:"value,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "AdditionalData") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AdditionalData") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *EnrollmentToken) MarshalJSON() ([]byte, error) { + type noMethod EnrollmentToken + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Enterprise: The configuration applied to an enterprise. +type Enterprise struct { + // AppAutoApprovalEnabled: Whether app auto-approval is enabled. When + // enabled, apps installed via policy for this enterprise have all + // permissions automatically approved. When enabled, it is the caller's + // responsibility to display the permissions required by an app to the + // enterprise admin before setting the app to be installed in a policy. + AppAutoApprovalEnabled bool `json:"appAutoApprovalEnabled,omitempty"` + + // EnabledNotificationTypes: The notification types to enable via Google + // Cloud Pub/Sub. + // + // Possible values: + // "NOTIFICATION_TYPE_UNSPECIFIED" - This value is ignored. + // "ENROLLMENT" - A notification sent when a device enrolls. + // "COMPLIANCE_REPORT" - A notification sent when a device issues a + // policy compliance report. + // "STATUS_REPORT" - A notification sent when a device issues a status + // report. + // "COMMAND" - A notification sent when a device command has + // completed. + EnabledNotificationTypes []string `json:"enabledNotificationTypes,omitempty"` + + // EnterpriseDisplayName: The name of the enterprise as it will appear + // to users. + EnterpriseDisplayName string `json:"enterpriseDisplayName,omitempty"` + + // Logo: An image displayed as a logo during device provisioning. + // Supported types are: image/bmp, image/gif, image/x-ico, image/jpeg, + // image/png, image/webp, image/vnd.wap.wbmp, image/x-adobe-dng. + Logo *ExternalData `json:"logo,omitempty"` + + // Name: The name of the enterprise which is generated by the server + // during creation, in the form enterprises/{enterpriseId} + Name string `json:"name,omitempty"` + + // PrimaryColor: A color in RGB format indicating the predominant color + // to display in the device management app UI. The color components are + // stored as follows: (red << 16) | (green << 8) | blue, where each + // component may take a value between 0 and 255 inclusive. + PrimaryColor int64 `json:"primaryColor,omitempty"` + + // PubsubTopic: When Cloud Pub/Sub notifications are enabled, this field + // is required to indicate the topic to which the notifications will be + // published. The format of this field is + // projects/{project}/topics/{topic}. You must have granted the publish + // permission on this topic to + // android-cloud-policy@system.gserviceaccount.com + PubsubTopic string `json:"pubsubTopic,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. + // "AppAutoApprovalEnabled") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AppAutoApprovalEnabled") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Enterprise) MarshalJSON() ([]byte, error) { + type noMethod Enterprise + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ExternalData: Data hosted at an external location. The data is to be +// downloaded by Android Device Policy and verified against the hash. +type ExternalData struct { + // Sha256Hash: The base-64 encoded SHA-256 hash of the content hosted at + // url. If the content does not match this hash, Android Device Policy + // will not use the data. + Sha256Hash string `json:"sha256Hash,omitempty"` + + // Url: The absolute URL to the data, which must use either the http or + // https scheme. Android Device Policy does not provide any credentials + // in the GET request, so the URL must be publicly accessible. Including + // a long, random component in the URL may be used to prevent attackers + // from discovering the URL. + Url string `json:"url,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Sha256Hash") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Sha256Hash") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ExternalData) MarshalJSON() ([]byte, error) { + type noMethod ExternalData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// HardwareInfo: Information about device hardware. The fields related +// to temperature thresholds are only available when +// hardwareStatusEnabled is true in the device's policy. +type HardwareInfo struct { + // BatteryShutdownTemperatures: Battery shutdown temperature thresholds + // in Celsius for each battery on the device. + BatteryShutdownTemperatures []float64 `json:"batteryShutdownTemperatures,omitempty"` + + // BatteryThrottlingTemperatures: Battery throttling temperature + // thresholds in Celsius for each battery on the device. + BatteryThrottlingTemperatures []float64 `json:"batteryThrottlingTemperatures,omitempty"` + + // Brand: Brand of the device, e.g. Google. + Brand string `json:"brand,omitempty"` + + // CpuShutdownTemperatures: CPU shutdown temperature thresholds in + // Celsius for each CPU on the device. + CpuShutdownTemperatures []float64 `json:"cpuShutdownTemperatures,omitempty"` + + // CpuThrottlingTemperatures: CPU throttling temperature thresholds in + // Celsius for each CPU on the device. + CpuThrottlingTemperatures []float64 `json:"cpuThrottlingTemperatures,omitempty"` + + // DeviceBasebandVersion: Baseband version, e.g. + // MDM9625_104662.22.05.34p. + DeviceBasebandVersion string `json:"deviceBasebandVersion,omitempty"` + + // GpuShutdownTemperatures: GPU shutdown temperature thresholds in + // Celsius for each GPU on the device. + GpuShutdownTemperatures []float64 `json:"gpuShutdownTemperatures,omitempty"` + + // GpuThrottlingTemperatures: GPU throttling temperature thresholds in + // Celsius for each GPU on the device. + GpuThrottlingTemperatures []float64 `json:"gpuThrottlingTemperatures,omitempty"` + + // Hardware: Name of the hardware, e.g. Angler. + Hardware string `json:"hardware,omitempty"` + + // Manufacturer: Manufacturer, e.g. Motorola. + Manufacturer string `json:"manufacturer,omitempty"` + + // Model: The model of the device, e.g. Asus Nexus 7. + Model string `json:"model,omitempty"` + + // SerialNumber: The device serial number. + SerialNumber string `json:"serialNumber,omitempty"` + + // SkinShutdownTemperatures: Device skin shutdown temperature thresholds + // in Celsius. + SkinShutdownTemperatures []float64 `json:"skinShutdownTemperatures,omitempty"` + + // SkinThrottlingTemperatures: Device skin throttling temperature + // thresholds in Celsius. + SkinThrottlingTemperatures []float64 `json:"skinThrottlingTemperatures,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "BatteryShutdownTemperatures") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. + // "BatteryShutdownTemperatures") to include in API requests with the + // JSON null value. By default, fields with empty values are omitted + // from API requests. However, any field with an empty value appearing + // in NullFields will be sent to the server as null. It is an error if a + // field in this list has a non-empty value. This may be used to include + // null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HardwareInfo) MarshalJSON() ([]byte, error) { + type noMethod HardwareInfo + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// HardwareStatus: Hardware status. Temperatures may be compared to the +// temperature thresholds available in hardwareInfo to determine +// hardware health. +type HardwareStatus struct { + // BatteryTemperatures: Current battery temperatures in Celsius for each + // battery on the device. + BatteryTemperatures []float64 `json:"batteryTemperatures,omitempty"` + + // CpuTemperatures: Current CPU temperatures in Celsius for each CPU on + // the device. + CpuTemperatures []float64 `json:"cpuTemperatures,omitempty"` + + // CpuUsages: CPU usages in percentage for each core available on the + // device. Usage is 0 for each unplugged core. Empty array implies that + // CPU usage is not supported in the system. + CpuUsages []float64 `json:"cpuUsages,omitempty"` + + // CreateTime: The time the measurements were taken. + CreateTime string `json:"createTime,omitempty"` + + // FanSpeeds: Fan speeds in RPM for each fan on the device. Empty array + // means that there are no fans or fan speed is not supported on the + // system. + FanSpeeds []float64 `json:"fanSpeeds,omitempty"` + + // GpuTemperatures: Current GPU temperatures in Celsius for each GPU on + // the device. + GpuTemperatures []float64 `json:"gpuTemperatures,omitempty"` + + // SkinTemperatures: Current device skin temperatures in Celsius. + SkinTemperatures []float64 `json:"skinTemperatures,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BatteryTemperatures") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BatteryTemperatures") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *HardwareStatus) MarshalJSON() ([]byte, error) { + type noMethod HardwareStatus + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListDevicesResponse: Response to a request to list devices for a +// given enterprise. +type ListDevicesResponse struct { + // Devices: The list of devices. + Devices []*Device `json:"devices,omitempty"` + + // NextPageToken: If there are more results, a token to retrieve next + // page of results. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Devices") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Devices") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListDevicesResponse) MarshalJSON() ([]byte, error) { + type noMethod ListDevicesResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListOperationsResponse: The response message for +// Operations.ListOperations. +type ListOperationsResponse struct { + // NextPageToken: The standard List next-page token. + NextPageToken string `json:"nextPageToken,omitempty"` + + // Operations: A list of operations that matches the specified filter in + // the request. + Operations []*Operation `json:"operations,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "NextPageToken") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) { + type noMethod ListOperationsResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListPoliciesResponse: Response to a request to list policies for a +// given enterprise. +type ListPoliciesResponse struct { + // NextPageToken: If there are more results, a token to retrieve next + // page of results. + NextPageToken string `json:"nextPageToken,omitempty"` + + // Policies: The list of policies. + Policies []*Policy `json:"policies,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "NextPageToken") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListPoliciesResponse) MarshalJSON() ([]byte, error) { + type noMethod ListPoliciesResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ManagedProperty: Managed property. +type ManagedProperty struct { + // DefaultValue: The default value of the properties. BUNDLE_ARRAY + // properties never have a default value. + DefaultValue interface{} `json:"defaultValue,omitempty"` + + // Description: A longer description of the property, giving more detail + // of what it affects. Localized. + Description string `json:"description,omitempty"` + + // Entries: For CHOICE or MULTISELECT properties, the list of possible + // entries. + Entries []*ManagedPropertyEntry `json:"entries,omitempty"` + + // Key: The unique key that the application uses to identify the + // property, e.g. "com.google.android.gm.fieldname". + Key string `json:"key,omitempty"` + + // NestedProperties: For BUNDLE_ARRAY properties, the list of nested + // properties. A BUNDLE_ARRAY property is at most two levels deep. + NestedProperties []*ManagedProperty `json:"nestedProperties,omitempty"` + + // Title: The name of the property. Localized. + Title string `json:"title,omitempty"` + + // Type: The type of the property. + // + // Possible values: + // "MANAGED_PROPERTY_TYPE_UNSPECIFIED" - Not used. + // "BOOL" - A property of boolean type. + // "STRING" - A property of string type. + // "INTEGER" - A property of integer type. + // "CHOICE" - A choice of one item from a set. + // "MULTISELECT" - A choice of multiple items from a set. + // "HIDDEN" - A hidden restriction of string type (the default value + // can be used to pass along information that cannot be modified, such + // as a version code). + // "BUNDLE_ARRAY" - An array of property bundles. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DefaultValue") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DefaultValue") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ManagedProperty) MarshalJSON() ([]byte, error) { + type noMethod ManagedProperty + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ManagedPropertyEntry: An entry of a managed property. +type ManagedPropertyEntry struct { + // Name: The human-readable name of the value. Localized. + Name string `json:"name,omitempty"` + + // Value: The machine-readable value of the entry, which should be used + // in the configuration. Not localized. + Value string `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ManagedPropertyEntry) MarshalJSON() ([]byte, error) { + type noMethod ManagedPropertyEntry + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// MemoryEvent: An event related to memory and storage measurements. +type MemoryEvent struct { + // ByteCount: The number of free bytes in the medium, or for + // EXTERNAL_STORAGE_DETECTED, the total capacity in bytes of the storage + // medium. + ByteCount int64 `json:"byteCount,omitempty,string"` + + // CreateTime: The creation time of the event. + CreateTime string `json:"createTime,omitempty"` + + // EventType: Event type. + // + // Possible values: + // "MEMORY_EVENT_TYPE_UNSPECIFIED" - Unspecified. No events have this + // type. + // "RAM_MEASURED" - Free space in RAM was measured. + // "INTERNAL_STORAGE_MEASURED" - Free space in internal storage was + // measured. + // "EXTERNAL_STORAGE_DETECTED" - A new external storage medium was + // detected. The reported byte count is the total capacity of the + // storage medium. + // "EXTERNAL_STORAGE_REMOVED" - An external storage medium was + // removed. The reported byte count is zero. + // "EXTERNAL_STORAGE_MEASURED" - Free space in an external storage + // medium was measured. + EventType string `json:"eventType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ByteCount") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ByteCount") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *MemoryEvent) MarshalJSON() ([]byte, error) { + type noMethod MemoryEvent + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// MemoryInfo: Information about device memory and storage. +type MemoryInfo struct { + // TotalInternalStorage: Total internal storage on device in bytes. + TotalInternalStorage int64 `json:"totalInternalStorage,omitempty,string"` + + // TotalRam: Total RAM on device in bytes. + TotalRam int64 `json:"totalRam,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. + // "TotalInternalStorage") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "TotalInternalStorage") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *MemoryInfo) MarshalJSON() ([]byte, error) { + type noMethod MemoryInfo + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// NetworkInfo: Device network info. +type NetworkInfo struct { + // Imei: IMEI number of the GSM device, e.g. A1000031212. + Imei string `json:"imei,omitempty"` + + // Meid: MEID number of the CDMA device, e.g. A00000292788E1. + Meid string `json:"meid,omitempty"` + + // WifiMacAddress: WiFi MAC address of the device, e.g. + // 7c:11:11:11:11:11. + WifiMacAddress string `json:"wifiMacAddress,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Imei") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Imei") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NetworkInfo) MarshalJSON() ([]byte, error) { + type noMethod NetworkInfo + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// NonComplianceDetail: Provides detail about non-compliance with a +// policy setting. +type NonComplianceDetail struct { + // CurrentValue: If the policy setting could not be applied, the current + // value of the setting on the device. + CurrentValue interface{} `json:"currentValue,omitempty"` + + // FieldPath: For settings with nested fields, if a particular nested + // field is out of compliance, this specifies the full path to the + // offending field. The path is formatted in the same way the policy + // JSON field would be referenced in JavaScript, that is: 1) For + // object-typed fields, the field name is followed by a dot then by a + // subfield name. 2) For array-typed fields, the field name is followed + // by the array index enclosed in brackets. For example, to indicate a + // problem with the url field in the externalData field in the 3rd + // application, the path would be applications[2].externalData.url + FieldPath string `json:"fieldPath,omitempty"` + + // InstallationFailureReason: If package_name is set and the + // non-compliance reason is APP_NOT_INSTALLED or APP_NOT_UPDATED, the + // detailed reason the app cannot be installed or updated. + // + // Possible values: + // "INSTALLATION_FAILURE_REASON_UNSPECIFIED" - This value is + // disallowed. + // "INSTALLATION_FAILURE_REASON_UNKNOWN" - An unknown condition is + // preventing the app from being installed. Some potential reaons are + // that the device does not have enough storage, the device network + // connection is unreliable, or the installation is taking longer than + // expected. The installation will be retried automatically. + // "IN_PROGRESS" - The installation is still in progress. + // "NOT_FOUND" - The app was not found in Play. + // "NOT_COMPATIBLE_WITH_DEVICE" - The app is incompatible with the + // device. + // "NOT_APPROVED" - The app has not been approved by the admin. + // "PERMISSIONS_NOT_ACCEPTED" - The app has new permissions that have + // not been accepted by the admin. + // "NOT_AVAILABLE_IN_COUNTRY" - The app is not available in the user's + // country. + // "NO_LICENSES_REMAINING" - There are no more licenses to assign to + // the user. + // "NOT_ENROLLED" - The enterprise is no longer enrolled with Play for + // Work or Android Device Policy is not enabled for the enterprise. + // "USER_INVALID" - The user is no longer valid. The user may have + // been deleted or disabled. + InstallationFailureReason string `json:"installationFailureReason,omitempty"` + + // NonComplianceReason: The reason the device is not in compliance with + // the setting. + // + // Possible values: + // "NON_COMPLIANCE_REASON_UNSPECIFIED" - This value is disallowed. + // "API_LEVEL" - The setting is not supported in the API level of + // Android OS version the device is running. + // "ADMIN_TYPE" - The admin type (profile owner, device owner, etc.) + // does not support the setting. + // "USER_ACTION" - The user has not taken required action to comply + // with the setting. + // "INVALID_VALUE" - The setting has an invalid value. + // "APP_NOT_INSTALLED" - The application required to implement the + // policy is not installed. + // "UNSUPPORTED" - The policy is not supported by the version of + // Android Device Policy on the device. + // "APP_INSTALLED" - A blocked application is installed. + // "PENDING" - The setting was not applied yet at the time of the + // report, but is expected to be applied shortly. + // "APP_INCOMPATIBLE" - The setting cannot be applied to the + // application because the application doesn't support it, for example + // because its target SDK version is not high enough. + // "APP_NOT_UPDATED" - The application is installed but not updated to + // the minimum version code specified by policy + NonComplianceReason string `json:"nonComplianceReason,omitempty"` + + // PackageName: The package name indicating which application is out of + // compliance, if applicable. + PackageName string `json:"packageName,omitempty"` + + // SettingName: The name of the policy setting. This is the JSON field + // name of a top-level Policy field. + SettingName string `json:"settingName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CurrentValue") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CurrentValue") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NonComplianceDetail) MarshalJSON() ([]byte, error) { + type noMethod NonComplianceDetail + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// NonComplianceDetailCondition: A compliance rule condition which is +// satisfied if there exists any matching NonComplianceDetail for the +// device. A NonComplianceDetail matches a NonComplianceDetailCondition +// if all the fields which are set within the +// NonComplianceDetailCondition match the corresponding +// NonComplianceDetail fields. +type NonComplianceDetailCondition struct { + // NonComplianceReason: The reason the device is not in compliance with + // the setting. If not set, then this condition matches any reason. + // + // Possible values: + // "NON_COMPLIANCE_REASON_UNSPECIFIED" - This value is disallowed. + // "API_LEVEL" - The setting is not supported in the API level of + // Android OS version the device is running. + // "ADMIN_TYPE" - The admin type (profile owner, device owner, etc.) + // does not support the setting. + // "USER_ACTION" - The user has not taken required action to comply + // with the setting. + // "INVALID_VALUE" - The setting has an invalid value. + // "APP_NOT_INSTALLED" - The application required to implement the + // policy is not installed. + // "UNSUPPORTED" - The policy is not supported by the version of + // Android Device Policy on the device. + // "APP_INSTALLED" - A blocked application is installed. + // "PENDING" - The setting was not applied yet at the time of the + // report, but is expected to be applied shortly. + // "APP_INCOMPATIBLE" - The setting cannot be applied to the + // application because the application doesn't support it, for example + // because its target SDK version is not high enough. + // "APP_NOT_UPDATED" - The application is installed but not updated to + // the minimum version code specified by policy + NonComplianceReason string `json:"nonComplianceReason,omitempty"` + + // PackageName: The package name indicating which application is out of + // compliance. If not set, then this condition matches any package name. + PackageName string `json:"packageName,omitempty"` + + // SettingName: The name of the policy setting. This is the JSON field + // name of a top-level Policy field. If not set, then this condition + // matches any setting name. + SettingName string `json:"settingName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "NonComplianceReason") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "NonComplianceReason") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *NonComplianceDetailCondition) MarshalJSON() ([]byte, error) { + type noMethod NonComplianceDetailCondition + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Operation: This resource represents a long-running operation that is +// the result of a network API call. +type Operation struct { + // Done: If the value is false, it means the operation is still in + // progress. If true, the operation is completed, and either error or + // response is available. + Done bool `json:"done,omitempty"` + + // Error: The error result of the operation in case of failure or + // cancellation. + Error *Status `json:"error,omitempty"` + + // Metadata: Service-specific metadata associated with the operation. It + // typically contains progress information and common metadata such as + // create time. Some services might not provide such metadata. Any + // method that returns a long-running operation should document the + // metadata type, if any. + Metadata googleapi.RawMessage `json:"metadata,omitempty"` + + // Name: The server-assigned name, which is only unique within the same + // service that originally returns it. If you use the default HTTP + // mapping, the name should have the format of + // operations/some/unique/name. + Name string `json:"name,omitempty"` + + // Response: The normal response of the operation in case of success. If + // the original method returns no data on success, such as Delete, the + // response is google.protobuf.Empty. If the original method is standard + // Get/Create/Update, the response should be the resource. For other + // methods, the response should have the type XxxResponse, where Xxx is + // the original method name. For example, if the original method name is + // TakeSnapshot(), the inferred response type is TakeSnapshotResponse. + Response googleapi.RawMessage `json:"response,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Done") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Done") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Operation) MarshalJSON() ([]byte, error) { + type noMethod Operation + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PasswordRequirements: Requirements for the password used to unlock a +// device. +type PasswordRequirements struct { + // MaximumFailedPasswordsForWipe: A device will be wiped after too many + // incorrect device-unlock passwords have been entered. A value of 0 + // means there is no restriction. + MaximumFailedPasswordsForWipe int64 `json:"maximumFailedPasswordsForWipe,omitempty"` + + // PasswordExpirationTimeout: Password expiration timeout. + PasswordExpirationTimeout string `json:"passwordExpirationTimeout,omitempty"` + + // PasswordHistoryLength: The length of the password history. After + // setting this, the user will not be able to enter a new password that + // is the same as any password in the history. A value of 0 means there + // is no restriction. + PasswordHistoryLength int64 `json:"passwordHistoryLength,omitempty"` + + // PasswordMinimumLength: The minimum allowed password length. A value + // of 0 means there is no restriction. Only enforced when + // password_quality is NUMERIC, NUMERIC_COMPLEX, ALPHABETIC, + // ALPHANUMERIC, or COMPLEX. + PasswordMinimumLength int64 `json:"passwordMinimumLength,omitempty"` + + // PasswordMinimumLetters: Minimum number of letters required in the + // password. Only enforced when password_quality is COMPLEX. + PasswordMinimumLetters int64 `json:"passwordMinimumLetters,omitempty"` + + // PasswordMinimumLowerCase: Minimum number of lower case letters + // required in the password. Only enforced when password_quality is + // COMPLEX. + PasswordMinimumLowerCase int64 `json:"passwordMinimumLowerCase,omitempty"` + + // PasswordMinimumNonLetter: Minimum number of non-letter characters + // (numerical digits or symbols) required in the password. Only enforced + // when password_quality is COMPLEX. + PasswordMinimumNonLetter int64 `json:"passwordMinimumNonLetter,omitempty"` + + // PasswordMinimumNumeric: Minimum number of numerical digits required + // in the password. Only enforced when password_quality is COMPLEX. + PasswordMinimumNumeric int64 `json:"passwordMinimumNumeric,omitempty"` + + // PasswordMinimumSymbols: Minimum number of symbols required in the + // password. Only enforced when password_quality is COMPLEX. + PasswordMinimumSymbols int64 `json:"passwordMinimumSymbols,omitempty"` + + // PasswordMinimumUpperCase: Minimum number of upper case letters + // required in the password. Only enforced when password_quality is + // COMPLEX. + PasswordMinimumUpperCase int64 `json:"passwordMinimumUpperCase,omitempty"` + + // PasswordQuality: The required password quality. + // + // Possible values: + // "PASSWORD_QUALITY_UNSPECIFIED" - There are no requirements for the + // password. + // "SOMETHING" - There must be a password, but there are no + // restrictions on its characters. + // "NUMERIC" - The password must contain numeric characters. + // "NUMERIC_COMPLEX" - The password must contain numeric characters + // with no repeating (4444) or ordered (1234, 4321, 2468) sequences. + // "ALPHABETIC" - The password must contain alphabetic (or symbol) + // characters. + // "ALPHANUMERIC" - The password must contain at both numeric and + // alphabetic (or symbol) characters. + // "COMPLEX" - The password must contain at least a letter, a + // numerical digit and a special symbol. Other password constraints, for + // example, password_minimum_letters are enforced. + PasswordQuality string `json:"passwordQuality,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "MaximumFailedPasswordsForWipe") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. + // "MaximumFailedPasswordsForWipe") to include in API requests with the + // JSON null value. By default, fields with empty values are omitted + // from API requests. However, any field with an empty value appearing + // in NullFields will be sent to the server as null. It is an error if a + // field in this list has a non-empty value. This may be used to include + // null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *PasswordRequirements) MarshalJSON() ([]byte, error) { + type noMethod PasswordRequirements + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PermissionGrant: Configuration for an Android permission and its +// grant state. +type PermissionGrant struct { + // Permission: The android permission, e.g. + // android.permission.READ_CALENDAR. + Permission string `json:"permission,omitempty"` + + // Policy: The policy for granting the permission. + // + // Possible values: + // "PERMISSION_POLICY_UNSPECIFIED" - Policy not specified. If no + // policy is specified for a permission at any level, then the PROMPT + // behavior is used by default. + // "PROMPT" - Prompt the user to grant a permission. + // "GRANT" - Automatically grant a permission. + // "DENY" - Automatically deny a permission. + Policy string `json:"policy,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Permission") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Permission") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *PermissionGrant) MarshalJSON() ([]byte, error) { + type noMethod PermissionGrant + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PersistentPreferredActivity: A default activity for handling intents +// that match a particular intent filter. +type PersistentPreferredActivity struct { + // Actions: The intent actions to match in the filter. If any actions + // are included in the filter, then an intent's action must be one of + // those values for it to match. If no actions are included, the intent + // action is ignored. + Actions []string `json:"actions,omitempty"` + + // Categories: The intent categories to match in the filter. An intent + // includes the categories that it requires, all of which must be + // included in the filter in order to match. In other words, adding a + // category to the filter has no impact on matching unless that category + // is specified in the intent. + Categories []string `json:"categories,omitempty"` + + // ReceiverActivity: The activity that should be the default intent + // handler. This should be an Android component name, e.g. + // com.android.enterprise.app/.MainActivity. Alternatively, the value + // may be the package name of an app, which causes Android Device Policy + // to choose an appropriate activity from the app to handle the intent. + ReceiverActivity string `json:"receiverActivity,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Actions") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Actions") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *PersistentPreferredActivity) MarshalJSON() ([]byte, error) { + type noMethod PersistentPreferredActivity + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Policy: A policy, which governs behavior for a device. +type Policy struct { + // AddUserDisabled: Whether adding new users and profiles is disabled. + AddUserDisabled bool `json:"addUserDisabled,omitempty"` + + // AdjustVolumeDisabled: Whether adjusting the master volume is + // disabled. + AdjustVolumeDisabled bool `json:"adjustVolumeDisabled,omitempty"` + + // Applications: Policy applied to apps. + Applications []*ApplicationPolicy `json:"applications,omitempty"` + + // AutoTimeRequired: Whether auto time is required, which prevents the + // user from manually setting the date and time. + AutoTimeRequired bool `json:"autoTimeRequired,omitempty"` + + // BlockApplicationsEnabled: Whether applications other than the ones + // configured in applications are blocked from being installed. When + // set, applications that were installed under a previous policy but no + // longer appear in the policy are automatically uninstalled. + BlockApplicationsEnabled bool `json:"blockApplicationsEnabled,omitempty"` + + // CameraDisabled: Whether all cameras on the device are disabled. + CameraDisabled bool `json:"cameraDisabled,omitempty"` + + // ComplianceRules: Rules declaring which mitigating actions to take + // when a device is not compliant with its policy. When the conditions + // for multiple rules are satisfied, all of the mitigating actions for + // the rules are taken. There is a maximum limit of 100 rules. + ComplianceRules []*ComplianceRule `json:"complianceRules,omitempty"` + + // DebuggingFeaturesAllowed: Whether the user is allowed to enable + // debugging features. + DebuggingFeaturesAllowed bool `json:"debuggingFeaturesAllowed,omitempty"` + + // DefaultPermissionPolicy: The default permission policy for requests + // for runtime permissions. + // + // Possible values: + // "PERMISSION_POLICY_UNSPECIFIED" - Policy not specified. If no + // policy is specified for a permission at any level, then the PROMPT + // behavior is used by default. + // "PROMPT" - Prompt the user to grant a permission. + // "GRANT" - Automatically grant a permission. + // "DENY" - Automatically deny a permission. + DefaultPermissionPolicy string `json:"defaultPermissionPolicy,omitempty"` + + // FactoryResetDisabled: Whether factory resetting from settings is + // disabled. + FactoryResetDisabled bool `json:"factoryResetDisabled,omitempty"` + + // FrpAdminEmails: Email addresses of device administrators for factory + // reset protection. When the device is factory reset, it will require + // one of these admins to log in with the Google account email and + // password to unlock the device. If no admins are specified, the device + // will not provide factory reset protection. + FrpAdminEmails []string `json:"frpAdminEmails,omitempty"` + + // FunDisabled: Whether the user is allowed to have fun. Controls + // whether the Easter egg game in Settings is disabled. + FunDisabled bool `json:"funDisabled,omitempty"` + + // InstallUnknownSourcesAllowed: Whether the user is allowed to enable + // the "Unknown Sources" setting, which allows installation of apps from + // unknown sources. + InstallUnknownSourcesAllowed bool `json:"installUnknownSourcesAllowed,omitempty"` + + // KeyguardDisabled: Whether the keyguard is disabled. + KeyguardDisabled bool `json:"keyguardDisabled,omitempty"` + + // MaximumTimeToLock: Maximum time in milliseconds for user activity + // until the device will lock. A value of 0 means there is no + // restriction. + MaximumTimeToLock int64 `json:"maximumTimeToLock,omitempty,string"` + + // ModifyAccountsDisabled: Whether adding or removing accounts is + // disabled. + ModifyAccountsDisabled bool `json:"modifyAccountsDisabled,omitempty"` + + // Name: The name of the policy in the form + // enterprises/{enterpriseId}/policies/{policyId} + Name string `json:"name,omitempty"` + + // NetworkEscapeHatchEnabled: Whether the network escape hatch is + // enabled. If a network connection can't be made at boot time, the + // escape hatch prompts the user to temporarily connect to a network in + // order to refresh the device policy. After applying policy, the + // temporary network will be forgotten and the device will continue + // booting. This prevents being unable to connect to a network if there + // is no suitable network in the last policy and the device boots into + // an app in lock task mode, or the user is otherwise unable to reach + // device settings. + NetworkEscapeHatchEnabled bool `json:"networkEscapeHatchEnabled,omitempty"` + + // OpenNetworkConfiguration: Network configuration for the device. See + // configure networks for more information. + OpenNetworkConfiguration googleapi.RawMessage `json:"openNetworkConfiguration,omitempty"` + + // PasswordRequirements: Password requirements. + PasswordRequirements *PasswordRequirements `json:"passwordRequirements,omitempty"` + + // PersistentPreferredActivities: Default intent handler activities. + PersistentPreferredActivities []*PersistentPreferredActivity `json:"persistentPreferredActivities,omitempty"` + + // RemoveUserDisabled: Whether removing other users is disabled. + RemoveUserDisabled bool `json:"removeUserDisabled,omitempty"` + + // SafeBootDisabled: Whether rebooting the device into safe boot is + // disabled. + SafeBootDisabled bool `json:"safeBootDisabled,omitempty"` + + // ScreenCaptureDisabled: Whether screen capture is disabled. + ScreenCaptureDisabled bool `json:"screenCaptureDisabled,omitempty"` + + // StatusBarDisabled: Whether the status bar is disabled. This disables + // notifications, quick settings and other screen overlays that allow + // escape from full-screen mode. + StatusBarDisabled bool `json:"statusBarDisabled,omitempty"` + + // StatusReportingSettings: Status reporting settings + StatusReportingSettings *StatusReportingSettings `json:"statusReportingSettings,omitempty"` + + // StayOnPluggedModes: The battery plugged in modes for which the device + // stays on. When using this setting, it is recommended to clear + // maximum_time_to_lock so that the device doesn't lock itself while it + // stays on. + // + // Possible values: + // "BATTERY_PLUGGED_MODE_UNSPECIFIED" - This value is ignored. + // "AC" - Power source is an AC charger. + // "USB" - Power source is a USB port. + // "WIRELESS" - Power source is wireless. + StayOnPluggedModes []string `json:"stayOnPluggedModes,omitempty"` + + // SystemUpdate: The system update policy, which controls how OS updates + // are applied. If the update type is WINDOWED and the device has a + // device account, the update window will automatically apply to Play + // app updates as well. + SystemUpdate *SystemUpdate `json:"systemUpdate,omitempty"` + + // UnmuteMicrophoneDisabled: Whether the microphone is muted and + // adjusting microphone volume is disabled. + UnmuteMicrophoneDisabled bool `json:"unmuteMicrophoneDisabled,omitempty"` + + // Version: The version of the policy. This is a read-only field. The + // version is incremented each time the policy is updated. + Version int64 `json:"version,omitempty,string"` + + // WifiConfigDisabled: Whether configuring WiFi access points is + // disabled. + WifiConfigDisabled bool `json:"wifiConfigDisabled,omitempty"` + + // WifiConfigsLockdownEnabled: Whether WiFi networks defined in Open + // Network Configuration are locked so they cannot be edited by the + // user. + WifiConfigsLockdownEnabled bool `json:"wifiConfigsLockdownEnabled,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "AddUserDisabled") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AddUserDisabled") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Policy) MarshalJSON() ([]byte, error) { + type noMethod Policy + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PowerManagementEvent: A power management event. +type PowerManagementEvent struct { + // BatteryLevel: For BATTERY_LEVEL_COLLECTED events, the battery level + // as a percentage. + BatteryLevel float64 `json:"batteryLevel,omitempty"` + + // CreateTime: The creation time of the event. + CreateTime string `json:"createTime,omitempty"` + + // EventType: Event type. + // + // Possible values: + // "POWER_MANAGEMENT_EVENT_TYPE_UNSPECIFIED" - Unspecified. No events + // have this type. + // "BATTERY_LEVEL_COLLECTED" - Battery level was measured. + // "POWER_CONNECTED" - The device started charging. + // "POWER_DISCONNECTED" - The device stopped charging. + // "BATTERY_LOW" - The device entered low-power mode. + // "BATTERY_OKAY" - The device exited low-power mode. + // "BOOT_COMPLETED" - The device booted. + // "SHUTDOWN" - The device shut down. + EventType string `json:"eventType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BatteryLevel") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BatteryLevel") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *PowerManagementEvent) MarshalJSON() ([]byte, error) { + type noMethod PowerManagementEvent + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *PowerManagementEvent) UnmarshalJSON(data []byte) error { + type noMethod PowerManagementEvent + var s1 struct { + BatteryLevel gensupport.JSONFloat64 `json:"batteryLevel"` + *noMethod + } + s1.noMethod = (*noMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.BatteryLevel = float64(s1.BatteryLevel) + return nil +} + +// SignupUrl: An enterprise signup URL. +type SignupUrl struct { + // Name: The name of the resource. This must be included in the create + // enterprise request at the end of the signup flow. + Name string `json:"name,omitempty"` + + // Url: A URL under which the Admin can sign up for an enterprise. The + // page pointed to cannot be rendered in an iframe. + Url string `json:"url,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SignupUrl) MarshalJSON() ([]byte, error) { + type noMethod SignupUrl + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SoftwareInfo: Information about device software. +type SoftwareInfo struct { + // AndroidBuildNumber: Android build Id string meant for displaying to + // the user, e.g. shamu-userdebug 6.0.1 MOB30I 2756745 dev-keys. + AndroidBuildNumber string `json:"androidBuildNumber,omitempty"` + + // AndroidBuildTime: Build time. + AndroidBuildTime string `json:"androidBuildTime,omitempty"` + + // AndroidVersion: The user visible Android version string, e.g. 6.0.1. + AndroidVersion string `json:"androidVersion,omitempty"` + + // BootloaderVersion: The system bootloader version number, e.g. 0.6.7. + BootloaderVersion string `json:"bootloaderVersion,omitempty"` + + // DeviceKernelVersion: Kernel version, e.g. 2.6.32.9-g103d848. + DeviceKernelVersion string `json:"deviceKernelVersion,omitempty"` + + // SecurityPatchLevel: Security patch level, e.g. 2016-05-01. + SecurityPatchLevel string `json:"securityPatchLevel,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AndroidBuildNumber") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AndroidBuildNumber") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *SoftwareInfo) MarshalJSON() ([]byte, error) { + type noMethod SoftwareInfo + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Status: The Status type defines a logical error model that is +// suitable for different programming environments, including REST APIs +// and RPC APIs. It is used by gRPC (https://github.com/grpc). The error +// model is designed to be: +// Simple to use and understand for most users +// Flexible enough to meet unexpected needsOverviewThe Status message +// contains three pieces of data: error code, error message, and error +// details. The error code should be an enum value of google.rpc.Code, +// but it may accept additional error codes if needed. The error message +// should be a developer-facing English message that helps developers +// understand and resolve the error. If a localized user-facing error +// message is needed, put the localized message in the error details or +// localize it in the client. The optional error details may contain +// arbitrary information about the error. There is a predefined set of +// error detail types in the package google.rpc that can be used for +// common error conditions.Language mappingThe Status message is the +// logical representation of the error model, but it is not necessarily +// the actual wire format. When the Status message is exposed in +// different client libraries and different wire protocols, it can be +// mapped differently. For example, it will likely be mapped to some +// exceptions in Java, but more likely mapped to some error codes in +// C.Other usesThe error model and the Status message can be used in a +// variety of environments, either with or without APIs, to provide a +// consistent developer experience across different environments.Example +// uses of this error model include: +// Partial errors. If a service needs to return partial errors to the +// client, it may embed the Status in the normal response to indicate +// the partial errors. +// Workflow errors. A typical workflow has multiple steps. Each step may +// have a Status message for error reporting. +// Batch operations. If a client uses batch request and batch response, +// the Status message should be used directly inside batch response, one +// for each error sub-response. +// Asynchronous operations. If an API call embeds asynchronous operation +// results in its response, the status of those operations should be +// represented directly using the Status message. +// Logging. If some API errors are stored in logs, the message Status +// could be used directly after any stripping needed for +// security/privacy reasons. +type Status struct { + // Code: The status code, which should be an enum value of + // google.rpc.Code. + Code int64 `json:"code,omitempty"` + + // Details: A list of messages that carry the error details. There is a + // common set of message types for APIs to use. + Details []googleapi.RawMessage `json:"details,omitempty"` + + // Message: A developer-facing error message, which should be in + // English. Any user-facing error message should be localized and sent + // in the google.rpc.Status.details field, or localized by the client. + 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Status) MarshalJSON() ([]byte, error) { + type noMethod Status + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// StatusReportingSettings: Settings controlling the behavior of status +// reports. +type StatusReportingSettings struct { + // DisplayInfoEnabled: Whether displays reporting is enabled. + DisplayInfoEnabled bool `json:"displayInfoEnabled,omitempty"` + + // HardwareStatusEnabled: Whether hardware status reporting is enabled. + HardwareStatusEnabled bool `json:"hardwareStatusEnabled,omitempty"` + + // MemoryInfoEnabled: Whether memory info reporting is enabled. + MemoryInfoEnabled bool `json:"memoryInfoEnabled,omitempty"` + + // NetworkInfoEnabled: Whether network info reporting is enabled. + NetworkInfoEnabled bool `json:"networkInfoEnabled,omitempty"` + + // PowerManagementEventsEnabled: Whether power management event + // reporting is enabled. + PowerManagementEventsEnabled bool `json:"powerManagementEventsEnabled,omitempty"` + + // SoftwareInfoEnabled: Whether software info reporting is enabled. + SoftwareInfoEnabled bool `json:"softwareInfoEnabled,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DisplayInfoEnabled") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DisplayInfoEnabled") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *StatusReportingSettings) MarshalJSON() ([]byte, error) { + type noMethod StatusReportingSettings + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SystemUpdate: Configuration for managing system updates +type SystemUpdate struct { + // EndMinutes: If the type is WINDOWED, the end of the maintenance + // window, measured as the number of minutes after midnight in device + // local time. This value must be between 0 and 1439, inclusive. If this + // value is less than start_minutes, then the maintenance window spans + // midnight. If the maintenance window specified is smaller than 30 + // minutes, the actual window is extended to 30 minutes beyond the start + // time. + EndMinutes int64 `json:"endMinutes,omitempty"` + + // StartMinutes: If the type is WINDOWED, the start of the maintenance + // window, measured as the number of minutes after midnight in device + // local time. This value must be between 0 and 1439, inclusive. + StartMinutes int64 `json:"startMinutes,omitempty"` + + // Type: The type of system update to configure. + // + // Possible values: + // "SYSTEM_UPDATE_TYPE_UNSPECIFIED" - Follow the default update + // behavior for the device, which typically requires the user to accept + // system updates. + // "AUTOMATIC" - Install automatically as soon as an update is + // available. + // "WINDOWED" - Install automatically within a daily maintenance + // window. If the device has a device account, this also configures Play + // apps to be updated within the window. This is strongly recommended + // for kiosk devices because this is the only way apps persistently + // pinned to the foreground can be updated by Play. + // "POSTPONE" - Postpone automatic install up to a maximum of 30 days. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "EndMinutes") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "EndMinutes") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SystemUpdate) MarshalJSON() ([]byte, error) { + type noMethod SystemUpdate + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// UserFacingMessage: Provides user facing message with locale info. The +// maximum message length is 4096 characters. +type UserFacingMessage struct { + // DefaultMessage: The default message that gets displayed if no + // localized message is specified, or the user's locale does not match + // with any of the localized messages. A default message must be + // provided if any localized messages are provided. + DefaultMessage string `json:"defaultMessage,omitempty"` + + // LocalizedMessages: A map which contains pairs. The + // locale is a BCP 47 language code, e.g. en-US, es-ES, fr. + LocalizedMessages map[string]string `json:"localizedMessages,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DefaultMessage") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DefaultMessage") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *UserFacingMessage) MarshalJSON() ([]byte, error) { + type noMethod UserFacingMessage + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// WebToken: A web token used to access an embeddable managed Google +// Play web UI. +type WebToken struct { + // Name: The name of the web token, which is generated by the server + // during creation, in the form + // enterprises/{enterpriseId}/webTokens/{webTokenId}. + Name string `json:"name,omitempty"` + + // ParentFrameUrl: The URL of the parent frame hosting the iframe with + // the embedded UI. To prevent XSS, the iframe may not be hosted at + // other URLs. The URL must use the https scheme. + ParentFrameUrl string `json:"parentFrameUrl,omitempty"` + + // Permissions: Permissions the admin may exercise in the embedded UI. + // The admin must have all of these permissions in order to view the UI. + // + // Possible values: + // "WEB_TOKEN_PERMISSION_UNSPECIFIED" - This value is ignored. + // "APPROVE_APPS" - The permission to approve apps for the enterprise. + Permissions []string `json:"permissions,omitempty"` + + // Value: The token value which is used in the hosting page to generate + // the iframe with the embedded UI. This is a read-only field generated + // by the server. + Value string `json:"value,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *WebToken) MarshalJSON() ([]byte, error) { + type noMethod WebToken + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// method id "androidmanagement.enterprises.create": + +type EnterprisesCreateCall struct { + s *Service + enterprise *Enterprise + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates an enterprise by completing the enterprise signup +// flow. +func (r *EnterprisesService) Create(enterprise *Enterprise) *EnterprisesCreateCall { + c := &EnterprisesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.enterprise = enterprise + return c +} + +// EnterpriseToken sets the optional parameter "enterpriseToken": The +// enterprise token appended to the callback URL. +func (c *EnterprisesCreateCall) EnterpriseToken(enterpriseToken string) *EnterprisesCreateCall { + c.urlParams_.Set("enterpriseToken", enterpriseToken) + return c +} + +// ProjectId sets the optional parameter "projectId": The id of the +// Google Cloud Platform project which will own the enterprise. +func (c *EnterprisesCreateCall) ProjectId(projectId string) *EnterprisesCreateCall { + c.urlParams_.Set("projectId", projectId) + return c +} + +// SignupUrlName sets the optional parameter "signupUrlName": The name +// of the SignupUrl used to sign up for the enterprise. +func (c *EnterprisesCreateCall) SignupUrlName(signupUrlName string) *EnterprisesCreateCall { + c.urlParams_.Set("signupUrlName", signupUrlName) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *EnterprisesCreateCall) Fields(s ...googleapi.Field) *EnterprisesCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *EnterprisesCreateCall) Context(ctx context.Context) *EnterprisesCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *EnterprisesCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *EnterprisesCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.enterprise) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/enterprises") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androidmanagement.enterprises.create" call. +// Exactly one of *Enterprise or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Enterprise.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *EnterprisesCreateCall) Do(opts ...googleapi.CallOption) (*Enterprise, 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, &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, err + } + ret := &Enterprise{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates an enterprise by completing the enterprise signup flow.", + // "flatPath": "v1/enterprises", + // "httpMethod": "POST", + // "id": "androidmanagement.enterprises.create", + // "parameterOrder": [], + // "parameters": { + // "enterpriseToken": { + // "description": "The enterprise token appended to the callback URL.", + // "location": "query", + // "type": "string" + // }, + // "projectId": { + // "description": "The id of the Google Cloud Platform project which will own the enterprise.", + // "location": "query", + // "type": "string" + // }, + // "signupUrlName": { + // "description": "The name of the SignupUrl used to sign up for the enterprise.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/enterprises", + // "request": { + // "$ref": "Enterprise" + // }, + // "response": { + // "$ref": "Enterprise" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/androidmanagement" + // ] + // } + +} + +// method id "androidmanagement.enterprises.get": + +type EnterprisesGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets an enterprise. +func (r *EnterprisesService) Get(name string) *EnterprisesGetCall { + c := &EnterprisesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *EnterprisesGetCall) Fields(s ...googleapi.Field) *EnterprisesGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *EnterprisesGetCall) IfNoneMatch(entityTag string) *EnterprisesGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *EnterprisesGetCall) Context(ctx context.Context) *EnterprisesGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *EnterprisesGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *EnterprisesGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androidmanagement.enterprises.get" call. +// Exactly one of *Enterprise or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Enterprise.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *EnterprisesGetCall) Do(opts ...googleapi.CallOption) (*Enterprise, 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, &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, err + } + ret := &Enterprise{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets an enterprise.", + // "flatPath": "v1/enterprises/{enterprisesId}", + // "httpMethod": "GET", + // "id": "androidmanagement.enterprises.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the enterprise in the form enterprises/{enterpriseId}", + // "location": "path", + // "pattern": "^enterprises/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "Enterprise" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/androidmanagement" + // ] + // } + +} + +// method id "androidmanagement.enterprises.patch": + +type EnterprisesPatchCall struct { + s *Service + name string + enterprise *Enterprise + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates an enterprise. +func (r *EnterprisesService) Patch(name string, enterprise *Enterprise) *EnterprisesPatchCall { + c := &EnterprisesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.enterprise = enterprise + return c +} + +// UpdateMask sets the optional parameter "updateMask": The field mask +// indicating the fields to update. If not set, all modifiable fields +// will be modified. +func (c *EnterprisesPatchCall) UpdateMask(updateMask string) *EnterprisesPatchCall { + 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 information. +func (c *EnterprisesPatchCall) Fields(s ...googleapi.Field) *EnterprisesPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *EnterprisesPatchCall) Context(ctx context.Context) *EnterprisesPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *EnterprisesPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *EnterprisesPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.enterprise) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androidmanagement.enterprises.patch" call. +// Exactly one of *Enterprise or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Enterprise.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *EnterprisesPatchCall) Do(opts ...googleapi.CallOption) (*Enterprise, 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, &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, err + } + ret := &Enterprise{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates an enterprise.", + // "flatPath": "v1/enterprises/{enterprisesId}", + // "httpMethod": "PATCH", + // "id": "androidmanagement.enterprises.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the enterprise in the form enterprises/{enterpriseId}", + // "location": "path", + // "pattern": "^enterprises/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "The field mask indicating the fields to update. If not set, all modifiable fields will be modified.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "request": { + // "$ref": "Enterprise" + // }, + // "response": { + // "$ref": "Enterprise" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/androidmanagement" + // ] + // } + +} + +// method id "androidmanagement.enterprises.applications.get": + +type EnterprisesApplicationsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets info about an application. +func (r *EnterprisesApplicationsService) Get(name string) *EnterprisesApplicationsGetCall { + c := &EnterprisesApplicationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// LanguageCode sets the optional parameter "languageCode": The +// preferred language for localized application info, as a BCP47 tag +// (e.g. "en-US", "de"). If not specified the default language of the +// application will be used. +func (c *EnterprisesApplicationsGetCall) LanguageCode(languageCode string) *EnterprisesApplicationsGetCall { + c.urlParams_.Set("languageCode", languageCode) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *EnterprisesApplicationsGetCall) Fields(s ...googleapi.Field) *EnterprisesApplicationsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *EnterprisesApplicationsGetCall) IfNoneMatch(entityTag string) *EnterprisesApplicationsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *EnterprisesApplicationsGetCall) Context(ctx context.Context) *EnterprisesApplicationsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *EnterprisesApplicationsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *EnterprisesApplicationsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androidmanagement.enterprises.applications.get" call. +// Exactly one of *Application or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Application.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *EnterprisesApplicationsGetCall) Do(opts ...googleapi.CallOption) (*Application, 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, &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, err + } + ret := &Application{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets info about an application.", + // "flatPath": "v1/enterprises/{enterprisesId}/applications/{applicationsId}", + // "httpMethod": "GET", + // "id": "androidmanagement.enterprises.applications.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "languageCode": { + // "description": "The preferred language for localized application info, as a BCP47 tag (e.g. \"en-US\", \"de\"). If not specified the default language of the application will be used.", + // "location": "query", + // "type": "string" + // }, + // "name": { + // "description": "The name of the application in the form enterprises/{enterpriseId}/applications/{package_name}", + // "location": "path", + // "pattern": "^enterprises/[^/]+/applications/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "Application" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/androidmanagement" + // ] + // } + +} + +// method id "androidmanagement.enterprises.devices.delete": + +type EnterprisesDevicesDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a device, which causes the device to be wiped. +func (r *EnterprisesDevicesService) Delete(name string) *EnterprisesDevicesDeleteCall { + c := &EnterprisesDevicesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *EnterprisesDevicesDeleteCall) Fields(s ...googleapi.Field) *EnterprisesDevicesDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *EnterprisesDevicesDeleteCall) Context(ctx context.Context) *EnterprisesDevicesDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *EnterprisesDevicesDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *EnterprisesDevicesDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androidmanagement.enterprises.devices.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *EnterprisesDevicesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes a device, which causes the device to be wiped.", + // "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}", + // "httpMethod": "DELETE", + // "id": "androidmanagement.enterprises.devices.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the device in the form enterprises/{enterpriseId}/devices/{deviceId}", + // "location": "path", + // "pattern": "^enterprises/[^/]+/devices/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/androidmanagement" + // ] + // } + +} + +// method id "androidmanagement.enterprises.devices.get": + +type EnterprisesDevicesGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets a device. +func (r *EnterprisesDevicesService) Get(name string) *EnterprisesDevicesGetCall { + c := &EnterprisesDevicesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *EnterprisesDevicesGetCall) Fields(s ...googleapi.Field) *EnterprisesDevicesGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *EnterprisesDevicesGetCall) IfNoneMatch(entityTag string) *EnterprisesDevicesGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *EnterprisesDevicesGetCall) Context(ctx context.Context) *EnterprisesDevicesGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *EnterprisesDevicesGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *EnterprisesDevicesGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androidmanagement.enterprises.devices.get" call. +// Exactly one of *Device or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Device.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *EnterprisesDevicesGetCall) Do(opts ...googleapi.CallOption) (*Device, 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, &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, err + } + ret := &Device{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets a device.", + // "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}", + // "httpMethod": "GET", + // "id": "androidmanagement.enterprises.devices.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the device in the form enterprises/{enterpriseId}/devices/{deviceId}", + // "location": "path", + // "pattern": "^enterprises/[^/]+/devices/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "Device" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/androidmanagement" + // ] + // } + +} + +// method id "androidmanagement.enterprises.devices.issueCommand": + +type EnterprisesDevicesIssueCommandCall struct { + s *Service + name string + command *Command + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// IssueCommand: Issues a command to a device. The Operation resource +// returned contains a Command in its metadata field. Use the get +// operation method to get the status of the command. +func (r *EnterprisesDevicesService) IssueCommand(name string, command *Command) *EnterprisesDevicesIssueCommandCall { + c := &EnterprisesDevicesIssueCommandCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.command = command + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *EnterprisesDevicesIssueCommandCall) Fields(s ...googleapi.Field) *EnterprisesDevicesIssueCommandCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *EnterprisesDevicesIssueCommandCall) Context(ctx context.Context) *EnterprisesDevicesIssueCommandCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *EnterprisesDevicesIssueCommandCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *EnterprisesDevicesIssueCommandCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.command) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:issueCommand") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androidmanagement.enterprises.devices.issueCommand" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *EnterprisesDevicesIssueCommandCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Issues a command to a device. The Operation resource returned contains a Command in its metadata field. Use the get operation method to get the status of the command.", + // "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}:issueCommand", + // "httpMethod": "POST", + // "id": "androidmanagement.enterprises.devices.issueCommand", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the device in the form enterprises/{enterpriseId}/devices/{deviceId}", + // "location": "path", + // "pattern": "^enterprises/[^/]+/devices/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}:issueCommand", + // "request": { + // "$ref": "Command" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/androidmanagement" + // ] + // } + +} + +// method id "androidmanagement.enterprises.devices.list": + +type EnterprisesDevicesListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists devices for a given enterprise. +func (r *EnterprisesDevicesService) List(parent string) *EnterprisesDevicesListCall { + c := &EnterprisesDevicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": The requested page +// size. The actual page size may be fixed to a min or max value. +func (c *EnterprisesDevicesListCall) PageSize(pageSize int64) *EnterprisesDevicesListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": A token +// identifying a page of results the server should return. +func (c *EnterprisesDevicesListCall) PageToken(pageToken string) *EnterprisesDevicesListCall { + 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 information. +func (c *EnterprisesDevicesListCall) Fields(s ...googleapi.Field) *EnterprisesDevicesListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *EnterprisesDevicesListCall) IfNoneMatch(entityTag string) *EnterprisesDevicesListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *EnterprisesDevicesListCall) Context(ctx context.Context) *EnterprisesDevicesListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *EnterprisesDevicesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *EnterprisesDevicesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/devices") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androidmanagement.enterprises.devices.list" call. +// Exactly one of *ListDevicesResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListDevicesResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *EnterprisesDevicesListCall) Do(opts ...googleapi.CallOption) (*ListDevicesResponse, 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, &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, err + } + ret := &ListDevicesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists devices for a given enterprise.", + // "flatPath": "v1/enterprises/{enterprisesId}/devices", + // "httpMethod": "GET", + // "id": "androidmanagement.enterprises.devices.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "pageSize": { + // "description": "The requested page size. The actual page size may be fixed to a min or max value.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "A token identifying a page of results the server should return.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "The name of the enterprise in the form enterprises/{enterpriseId}", + // "location": "path", + // "pattern": "^enterprises/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/devices", + // "response": { + // "$ref": "ListDevicesResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/androidmanagement" + // ] + // } + +} + +// 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 *EnterprisesDevicesListCall) Pages(ctx context.Context, f func(*ListDevicesResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "androidmanagement.enterprises.devices.patch": + +type EnterprisesDevicesPatchCall struct { + s *Service + name string + device *Device + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates a device. +func (r *EnterprisesDevicesService) Patch(name string, device *Device) *EnterprisesDevicesPatchCall { + c := &EnterprisesDevicesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.device = device + return c +} + +// UpdateMask sets the optional parameter "updateMask": The field mask +// indicating the fields to update. If not set, all modifiable fields +// will be modified. +func (c *EnterprisesDevicesPatchCall) UpdateMask(updateMask string) *EnterprisesDevicesPatchCall { + 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 information. +func (c *EnterprisesDevicesPatchCall) Fields(s ...googleapi.Field) *EnterprisesDevicesPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *EnterprisesDevicesPatchCall) Context(ctx context.Context) *EnterprisesDevicesPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *EnterprisesDevicesPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *EnterprisesDevicesPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.device) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androidmanagement.enterprises.devices.patch" call. +// Exactly one of *Device or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Device.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *EnterprisesDevicesPatchCall) Do(opts ...googleapi.CallOption) (*Device, 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, &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, err + } + ret := &Device{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates a device.", + // "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}", + // "httpMethod": "PATCH", + // "id": "androidmanagement.enterprises.devices.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the device in the form enterprises/{enterpriseId}/devices/{deviceId}", + // "location": "path", + // "pattern": "^enterprises/[^/]+/devices/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "The field mask indicating the fields to update. If not set, all modifiable fields will be modified.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "request": { + // "$ref": "Device" + // }, + // "response": { + // "$ref": "Device" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/androidmanagement" + // ] + // } + +} + +// method id "androidmanagement.enterprises.devices.operations.cancel": + +type EnterprisesDevicesOperationsCancelCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Cancel: Starts asynchronous cancellation on a long-running operation. +// The server makes a best effort to cancel the operation, but success +// is not guaranteed. If the server doesn't support this method, it +// returns google.rpc.Code.UNIMPLEMENTED. Clients can use +// Operations.GetOperation or other methods to check whether the +// cancellation succeeded or whether the operation completed despite +// cancellation. On successful cancellation, the operation is not +// deleted; instead, it becomes an operation with an Operation.error +// value with a google.rpc.Status.code of 1, corresponding to +// Code.CANCELLED. +func (r *EnterprisesDevicesOperationsService) Cancel(name string) *EnterprisesDevicesOperationsCancelCall { + c := &EnterprisesDevicesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *EnterprisesDevicesOperationsCancelCall) Fields(s ...googleapi.Field) *EnterprisesDevicesOperationsCancelCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *EnterprisesDevicesOperationsCancelCall) Context(ctx context.Context) *EnterprisesDevicesOperationsCancelCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *EnterprisesDevicesOperationsCancelCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *EnterprisesDevicesOperationsCancelCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androidmanagement.enterprises.devices.operations.cancel" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *EnterprisesDevicesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", + // "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}/operations/{operationsId}:cancel", + // "httpMethod": "POST", + // "id": "androidmanagement.enterprises.devices.operations.cancel", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the operation resource to be cancelled.", + // "location": "path", + // "pattern": "^enterprises/[^/]+/devices/[^/]+/operations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}:cancel", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/androidmanagement" + // ] + // } + +} + +// method id "androidmanagement.enterprises.devices.operations.delete": + +type EnterprisesDevicesOperationsDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a long-running operation. This method indicates that +// the client is no longer interested in the operation result. It does +// not cancel the operation. If the server doesn't support this method, +// it returns google.rpc.Code.UNIMPLEMENTED. +func (r *EnterprisesDevicesOperationsService) Delete(name string) *EnterprisesDevicesOperationsDeleteCall { + c := &EnterprisesDevicesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *EnterprisesDevicesOperationsDeleteCall) Fields(s ...googleapi.Field) *EnterprisesDevicesOperationsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *EnterprisesDevicesOperationsDeleteCall) Context(ctx context.Context) *EnterprisesDevicesOperationsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *EnterprisesDevicesOperationsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *EnterprisesDevicesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androidmanagement.enterprises.devices.operations.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *EnterprisesDevicesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED.", + // "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}/operations/{operationsId}", + // "httpMethod": "DELETE", + // "id": "androidmanagement.enterprises.devices.operations.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the operation resource to be deleted.", + // "location": "path", + // "pattern": "^enterprises/[^/]+/devices/[^/]+/operations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/androidmanagement" + // ] + // } + +} + +// method id "androidmanagement.enterprises.devices.operations.get": + +type EnterprisesDevicesOperationsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the latest state of a long-running operation. Clients can +// use this method to poll the operation result at intervals as +// recommended by the API service. +func (r *EnterprisesDevicesOperationsService) Get(name string) *EnterprisesDevicesOperationsGetCall { + c := &EnterprisesDevicesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *EnterprisesDevicesOperationsGetCall) Fields(s ...googleapi.Field) *EnterprisesDevicesOperationsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *EnterprisesDevicesOperationsGetCall) IfNoneMatch(entityTag string) *EnterprisesDevicesOperationsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *EnterprisesDevicesOperationsGetCall) Context(ctx context.Context) *EnterprisesDevicesOperationsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *EnterprisesDevicesOperationsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *EnterprisesDevicesOperationsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androidmanagement.enterprises.devices.operations.get" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *EnterprisesDevicesOperationsGetCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + // "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}/operations/{operationsId}", + // "httpMethod": "GET", + // "id": "androidmanagement.enterprises.devices.operations.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the operation resource.", + // "location": "path", + // "pattern": "^enterprises/[^/]+/devices/[^/]+/operations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/androidmanagement" + // ] + // } + +} + +// method id "androidmanagement.enterprises.devices.operations.list": + +type EnterprisesDevicesOperationsListCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists operations that match the specified filter in the +// request. If the server doesn't support this method, it returns +// UNIMPLEMENTED.NOTE: the name binding allows API services to override +// the binding to use different resource name schemes, such as +// users/*/operations. To override the binding, API services can add a +// binding such as "/v1/{name=users/*}/operations" to their service +// configuration. For backwards compatibility, the default name includes +// the operations collection id, however overriding users must ensure +// the name binding is the parent resource, without the operations +// collection id. +func (r *EnterprisesDevicesOperationsService) List(name string) *EnterprisesDevicesOperationsListCall { + c := &EnterprisesDevicesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Filter sets the optional parameter "filter": The standard list +// filter. +func (c *EnterprisesDevicesOperationsListCall) Filter(filter string) *EnterprisesDevicesOperationsListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// PageSize sets the optional parameter "pageSize": The standard list +// page size. +func (c *EnterprisesDevicesOperationsListCall) PageSize(pageSize int64) *EnterprisesDevicesOperationsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The standard list +// page token. +func (c *EnterprisesDevicesOperationsListCall) PageToken(pageToken string) *EnterprisesDevicesOperationsListCall { + 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 information. +func (c *EnterprisesDevicesOperationsListCall) Fields(s ...googleapi.Field) *EnterprisesDevicesOperationsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *EnterprisesDevicesOperationsListCall) IfNoneMatch(entityTag string) *EnterprisesDevicesOperationsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *EnterprisesDevicesOperationsListCall) Context(ctx context.Context) *EnterprisesDevicesOperationsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *EnterprisesDevicesOperationsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *EnterprisesDevicesOperationsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androidmanagement.enterprises.devices.operations.list" call. +// Exactly one of *ListOperationsResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListOperationsResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *EnterprisesDevicesOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, 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, &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, err + } + ret := &ListOperationsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: the name binding allows API services to override the binding to use different resource name schemes, such as users/*/operations. To override the binding, API services can add a binding such as \"/v1/{name=users/*}/operations\" to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.", + // "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}/operations", + // "httpMethod": "GET", + // "id": "androidmanagement.enterprises.devices.operations.list", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "filter": { + // "description": "The standard list filter.", + // "location": "query", + // "type": "string" + // }, + // "name": { + // "description": "The name of the operation's parent resource.", + // "location": "path", + // "pattern": "^enterprises/[^/]+/devices/[^/]+/operations$", + // "required": true, + // "type": "string" + // }, + // "pageSize": { + // "description": "The standard list page size.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "The standard list page token.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "ListOperationsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/androidmanagement" + // ] + // } + +} + +// 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 *EnterprisesDevicesOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "androidmanagement.enterprises.enrollmentTokens.create": + +type EnterprisesEnrollmentTokensCreateCall struct { + s *Service + parent string + enrollmenttoken *EnrollmentToken + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates an enrollment token for a given enterprise. +func (r *EnterprisesEnrollmentTokensService) Create(parent string, enrollmenttoken *EnrollmentToken) *EnterprisesEnrollmentTokensCreateCall { + c := &EnterprisesEnrollmentTokensCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.enrollmenttoken = enrollmenttoken + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *EnterprisesEnrollmentTokensCreateCall) Fields(s ...googleapi.Field) *EnterprisesEnrollmentTokensCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *EnterprisesEnrollmentTokensCreateCall) Context(ctx context.Context) *EnterprisesEnrollmentTokensCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *EnterprisesEnrollmentTokensCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *EnterprisesEnrollmentTokensCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.enrollmenttoken) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/enrollmentTokens") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androidmanagement.enterprises.enrollmentTokens.create" call. +// Exactly one of *EnrollmentToken or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *EnrollmentToken.ServerResponse.Header or (if a response was returned +// at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *EnterprisesEnrollmentTokensCreateCall) Do(opts ...googleapi.CallOption) (*EnrollmentToken, 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, &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, err + } + ret := &EnrollmentToken{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates an enrollment token for a given enterprise.", + // "flatPath": "v1/enterprises/{enterprisesId}/enrollmentTokens", + // "httpMethod": "POST", + // "id": "androidmanagement.enterprises.enrollmentTokens.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "The name of the enterprise in the form enterprises/{enterpriseId}", + // "location": "path", + // "pattern": "^enterprises/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/enrollmentTokens", + // "request": { + // "$ref": "EnrollmentToken" + // }, + // "response": { + // "$ref": "EnrollmentToken" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/androidmanagement" + // ] + // } + +} + +// method id "androidmanagement.enterprises.enrollmentTokens.delete": + +type EnterprisesEnrollmentTokensDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes an enrollment token, which prevents future use of the +// token. +func (r *EnterprisesEnrollmentTokensService) Delete(name string) *EnterprisesEnrollmentTokensDeleteCall { + c := &EnterprisesEnrollmentTokensDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *EnterprisesEnrollmentTokensDeleteCall) Fields(s ...googleapi.Field) *EnterprisesEnrollmentTokensDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *EnterprisesEnrollmentTokensDeleteCall) Context(ctx context.Context) *EnterprisesEnrollmentTokensDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *EnterprisesEnrollmentTokensDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *EnterprisesEnrollmentTokensDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androidmanagement.enterprises.enrollmentTokens.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *EnterprisesEnrollmentTokensDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes an enrollment token, which prevents future use of the token.", + // "flatPath": "v1/enterprises/{enterprisesId}/enrollmentTokens/{enrollmentTokensId}", + // "httpMethod": "DELETE", + // "id": "androidmanagement.enterprises.enrollmentTokens.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the enrollment token in the form enterprises/{enterpriseId}/enrollmentTokens/{enrollmentTokenId}", + // "location": "path", + // "pattern": "^enterprises/[^/]+/enrollmentTokens/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/androidmanagement" + // ] + // } + +} + +// method id "androidmanagement.enterprises.policies.delete": + +type EnterprisesPoliciesDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a policy. This operation is only permitted if no +// devices are currently referencing the policy. +func (r *EnterprisesPoliciesService) Delete(name string) *EnterprisesPoliciesDeleteCall { + c := &EnterprisesPoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *EnterprisesPoliciesDeleteCall) Fields(s ...googleapi.Field) *EnterprisesPoliciesDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *EnterprisesPoliciesDeleteCall) Context(ctx context.Context) *EnterprisesPoliciesDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *EnterprisesPoliciesDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *EnterprisesPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androidmanagement.enterprises.policies.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *EnterprisesPoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes a policy. This operation is only permitted if no devices are currently referencing the policy.", + // "flatPath": "v1/enterprises/{enterprisesId}/policies/{policiesId}", + // "httpMethod": "DELETE", + // "id": "androidmanagement.enterprises.policies.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the policy in the form enterprises/{enterpriseId}/policies/{policyId}", + // "location": "path", + // "pattern": "^enterprises/[^/]+/policies/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/androidmanagement" + // ] + // } + +} + +// method id "androidmanagement.enterprises.policies.get": + +type EnterprisesPoliciesGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets a policy. +func (r *EnterprisesPoliciesService) Get(name string) *EnterprisesPoliciesGetCall { + c := &EnterprisesPoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *EnterprisesPoliciesGetCall) Fields(s ...googleapi.Field) *EnterprisesPoliciesGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *EnterprisesPoliciesGetCall) IfNoneMatch(entityTag string) *EnterprisesPoliciesGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *EnterprisesPoliciesGetCall) Context(ctx context.Context) *EnterprisesPoliciesGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *EnterprisesPoliciesGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *EnterprisesPoliciesGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androidmanagement.enterprises.policies.get" call. +// Exactly one of *Policy or error will be non-nil. 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 *EnterprisesPoliciesGetCall) 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, &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, err + } + ret := &Policy{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets a policy.", + // "flatPath": "v1/enterprises/{enterprisesId}/policies/{policiesId}", + // "httpMethod": "GET", + // "id": "androidmanagement.enterprises.policies.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the policy in the form enterprises/{enterpriseId}/policies/{policyId}", + // "location": "path", + // "pattern": "^enterprises/[^/]+/policies/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/androidmanagement" + // ] + // } + +} + +// method id "androidmanagement.enterprises.policies.list": + +type EnterprisesPoliciesListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists policies for a given enterprise. +func (r *EnterprisesPoliciesService) List(parent string) *EnterprisesPoliciesListCall { + c := &EnterprisesPoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": The requested page +// size. The actual page size may be fixed to a min or max value. +func (c *EnterprisesPoliciesListCall) PageSize(pageSize int64) *EnterprisesPoliciesListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": A token +// identifying a page of results the server should return. +func (c *EnterprisesPoliciesListCall) PageToken(pageToken string) *EnterprisesPoliciesListCall { + 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 information. +func (c *EnterprisesPoliciesListCall) Fields(s ...googleapi.Field) *EnterprisesPoliciesListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *EnterprisesPoliciesListCall) IfNoneMatch(entityTag string) *EnterprisesPoliciesListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *EnterprisesPoliciesListCall) Context(ctx context.Context) *EnterprisesPoliciesListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *EnterprisesPoliciesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *EnterprisesPoliciesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/policies") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androidmanagement.enterprises.policies.list" call. +// Exactly one of *ListPoliciesResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListPoliciesResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *EnterprisesPoliciesListCall) Do(opts ...googleapi.CallOption) (*ListPoliciesResponse, 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, &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, err + } + ret := &ListPoliciesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists policies for a given enterprise.", + // "flatPath": "v1/enterprises/{enterprisesId}/policies", + // "httpMethod": "GET", + // "id": "androidmanagement.enterprises.policies.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "pageSize": { + // "description": "The requested page size. The actual page size may be fixed to a min or max value.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "A token identifying a page of results the server should return.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "The name of the enterprise in the form enterprises/{enterpriseId}", + // "location": "path", + // "pattern": "^enterprises/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/policies", + // "response": { + // "$ref": "ListPoliciesResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/androidmanagement" + // ] + // } + +} + +// 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 *EnterprisesPoliciesListCall) Pages(ctx context.Context, f func(*ListPoliciesResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "androidmanagement.enterprises.policies.patch": + +type EnterprisesPoliciesPatchCall struct { + s *Service + name string + policy *Policy + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates or creates a policy. +func (r *EnterprisesPoliciesService) Patch(name string, policy *Policy) *EnterprisesPoliciesPatchCall { + c := &EnterprisesPoliciesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.policy = policy + return c +} + +// UpdateMask sets the optional parameter "updateMask": The field mask +// indicating the fields to update. If not set, all modifiable fields +// will be modified. +func (c *EnterprisesPoliciesPatchCall) UpdateMask(updateMask string) *EnterprisesPoliciesPatchCall { + 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 information. +func (c *EnterprisesPoliciesPatchCall) Fields(s ...googleapi.Field) *EnterprisesPoliciesPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *EnterprisesPoliciesPatchCall) Context(ctx context.Context) *EnterprisesPoliciesPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *EnterprisesPoliciesPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *EnterprisesPoliciesPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.policy) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androidmanagement.enterprises.policies.patch" call. +// Exactly one of *Policy or error will be non-nil. 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 *EnterprisesPoliciesPatchCall) 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, &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, err + } + ret := &Policy{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates or creates a policy.", + // "flatPath": "v1/enterprises/{enterprisesId}/policies/{policiesId}", + // "httpMethod": "PATCH", + // "id": "androidmanagement.enterprises.policies.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the policy in the form enterprises/{enterpriseId}/policies/{policyId}", + // "location": "path", + // "pattern": "^enterprises/[^/]+/policies/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "The field mask indicating the fields to update. If not set, all modifiable fields will be modified.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "request": { + // "$ref": "Policy" + // }, + // "response": { + // "$ref": "Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/androidmanagement" + // ] + // } + +} + +// method id "androidmanagement.enterprises.webTokens.create": + +type EnterprisesWebTokensCreateCall struct { + s *Service + parent string + webtoken *WebToken + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a web token to access an embeddable managed Google +// Play web UI for a given enterprise. +func (r *EnterprisesWebTokensService) Create(parent string, webtoken *WebToken) *EnterprisesWebTokensCreateCall { + c := &EnterprisesWebTokensCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.webtoken = webtoken + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *EnterprisesWebTokensCreateCall) Fields(s ...googleapi.Field) *EnterprisesWebTokensCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *EnterprisesWebTokensCreateCall) Context(ctx context.Context) *EnterprisesWebTokensCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *EnterprisesWebTokensCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *EnterprisesWebTokensCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.webtoken) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/webTokens") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androidmanagement.enterprises.webTokens.create" call. +// Exactly one of *WebToken or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *WebToken.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *EnterprisesWebTokensCreateCall) Do(opts ...googleapi.CallOption) (*WebToken, 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, &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, err + } + ret := &WebToken{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a web token to access an embeddable managed Google Play web UI for a given enterprise.", + // "flatPath": "v1/enterprises/{enterprisesId}/webTokens", + // "httpMethod": "POST", + // "id": "androidmanagement.enterprises.webTokens.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "The name of the enterprise in the form enterprises/{enterpriseId}", + // "location": "path", + // "pattern": "^enterprises/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/webTokens", + // "request": { + // "$ref": "WebToken" + // }, + // "response": { + // "$ref": "WebToken" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/androidmanagement" + // ] + // } + +} + +// method id "androidmanagement.signupUrls.create": + +type SignupUrlsCreateCall struct { + s *Service + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates an enterprise signup URL. +func (r *SignupUrlsService) Create() *SignupUrlsCreateCall { + c := &SignupUrlsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + return c +} + +// CallbackUrl sets the optional parameter "callbackUrl": The callback +// URL to which the admin will be redirected after successfully creating +// an enterprise. Before redirecting there the system will add a query +// parameter to this URL named enterpriseToken which will contain an +// opaque token to be used for the create enterprise request. The URL +// will be parsed then reformatted in order to add the enterpriseToken +// parameter, so there may be some minor formatting changes. +func (c *SignupUrlsCreateCall) CallbackUrl(callbackUrl string) *SignupUrlsCreateCall { + c.urlParams_.Set("callbackUrl", callbackUrl) + return c +} + +// ProjectId sets the optional parameter "projectId": The id of the +// Google Cloud Platform project which will own the enterprise. +func (c *SignupUrlsCreateCall) ProjectId(projectId string) *SignupUrlsCreateCall { + c.urlParams_.Set("projectId", projectId) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *SignupUrlsCreateCall) Fields(s ...googleapi.Field) *SignupUrlsCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *SignupUrlsCreateCall) Context(ctx context.Context) *SignupUrlsCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *SignupUrlsCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *SignupUrlsCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/signupUrls") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "androidmanagement.signupUrls.create" call. +// Exactly one of *SignupUrl or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *SignupUrl.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *SignupUrlsCreateCall) Do(opts ...googleapi.CallOption) (*SignupUrl, 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, &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, err + } + ret := &SignupUrl{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates an enterprise signup URL.", + // "flatPath": "v1/signupUrls", + // "httpMethod": "POST", + // "id": "androidmanagement.signupUrls.create", + // "parameterOrder": [], + // "parameters": { + // "callbackUrl": { + // "description": "The callback URL to which the admin will be redirected after successfully creating an enterprise. Before redirecting there the system will add a query parameter to this URL named enterpriseToken which will contain an opaque token to be used for the create enterprise request. The URL will be parsed then reformatted in order to add the enterpriseToken parameter, so there may be some minor formatting changes.", + // "location": "query", + // "type": "string" + // }, + // "projectId": { + // "description": "The id of the Google Cloud Platform project which will own the enterprise.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/signupUrls", + // "response": { + // "$ref": "SignupUrl" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/androidmanagement" + // ] + // } + +} diff --git a/vendor/google.golang.org/api/androidpublisher/v1.1/androidpublisher-api.json b/vendor/google.golang.org/api/androidpublisher/v1.1/androidpublisher-api.json index 7b7dde8d6..f6e19a9ff 100644 --- a/vendor/google.golang.org/api/androidpublisher/v1.1/androidpublisher-api.json +++ b/vendor/google.golang.org/api/androidpublisher/v1.1/androidpublisher-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/jAh44-3E4QU-_OC0i2RcuiwRQzw\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/EKUDjWuy8xhU5dHne-WullXJgWw\"", "discoveryVersion": "v1", "id": "androidpublisher:v1.1", "name": "androidpublisher", "canonicalName": "Android Publisher", "version": "v1.1", - "revision": "20170504", + "revision": "20170913", "title": "Google Play Developer API", "description": "Lets Android application developers access their Google Play accounts.", "ownerDomain": "google.com", @@ -21,7 +21,7 @@ "basePath": "/androidpublisher/v1.1/applications/", "rootUrl": "https://www.googleapis.com/", "servicePath": "androidpublisher/v1.1/applications/", - "batchPath": "batch", + "batchPath": "batch/androidpublisher/v1.1", "parameters": { "alt": { "type": "string", @@ -96,6 +96,10 @@ "description": "This kind represents an inappPurchase object in the androidpublisher service.", "default": "androidpublisher#inappPurchase" }, + "orderId": { + "type": "string", + "description": "The order id associated with the purchase of the inapp product." + }, "purchaseState": { "type": "integer", "description": "The purchase state of the order. Possible values are: \n- Purchased \n- Cancelled", diff --git a/vendor/google.golang.org/api/androidpublisher/v1.1/androidpublisher-gen.go b/vendor/google.golang.org/api/androidpublisher/v1.1/androidpublisher-gen.go index c4d799f6b..b27c4d8b7 100644 --- a/vendor/google.golang.org/api/androidpublisher/v1.1/androidpublisher-gen.go +++ b/vendor/google.golang.org/api/androidpublisher/v1.1/androidpublisher-gen.go @@ -113,6 +113,10 @@ type InappPurchase struct { // androidpublisher service. Kind string `json:"kind,omitempty"` + // OrderId: The order id associated with the purchase of the inapp + // product. + OrderId string `json:"orderId,omitempty"` + // PurchaseState: The purchase state of the order. Possible values are: // // - Purchased diff --git a/vendor/google.golang.org/api/androidpublisher/v1/androidpublisher-api.json b/vendor/google.golang.org/api/androidpublisher/v1/androidpublisher-api.json index c5ffc4781..6090f92a6 100644 --- a/vendor/google.golang.org/api/androidpublisher/v1/androidpublisher-api.json +++ b/vendor/google.golang.org/api/androidpublisher/v1/androidpublisher-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/JYnXSSeS9snUxwUvBiIlGUwDhtI\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/Ex2nsAPYjRP0NRWSGg4yyxwNJ18\"", "discoveryVersion": "v1", "id": "androidpublisher:v1", "name": "androidpublisher", "canonicalName": "Android Publisher", "version": "v1", - "revision": "20170504", + "revision": "20170913", "title": "Google Play Developer API", "description": "Lets Android application developers access their Google Play accounts.", "ownerDomain": "google.com", @@ -21,7 +21,7 @@ "basePath": "/androidpublisher/v1/applications/", "rootUrl": "https://www.googleapis.com/", "servicePath": "androidpublisher/v1/applications/", - "batchPath": "batch", + "batchPath": "batch/androidpublisher/v1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/androidpublisher/v2/androidpublisher-api.json b/vendor/google.golang.org/api/androidpublisher/v2/androidpublisher-api.json index deaed42ee..319a28123 100644 --- a/vendor/google.golang.org/api/androidpublisher/v2/androidpublisher-api.json +++ b/vendor/google.golang.org/api/androidpublisher/v2/androidpublisher-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/fkMKFYhAB3V0ia83SVxm8xZB5LU\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/QjVvqrUMRW1tTVdJHVqdnKd9gLQ\"", "discoveryVersion": "v1", "id": "androidpublisher:v2", "name": "androidpublisher", "canonicalName": "Android Publisher", "version": "v2", - "revision": "20170504", + "revision": "20170913", "title": "Google Play Developer API", "description": "Lets Android application developers access their Google Play accounts.", "ownerDomain": "google.com", @@ -21,7 +21,7 @@ "basePath": "/androidpublisher/v2/applications/", "rootUrl": "https://www.googleapis.com/", "servicePath": "androidpublisher/v2/applications/", - "batchPath": "batch", + "batchPath": "batch/androidpublisher/v2", "parameters": { "alt": { "type": "string", @@ -100,6 +100,10 @@ "sha1": { "type": "string", "description": "A sha1 hash of the APK payload, encoded as a hex string and matching the output of the sha1sum command." + }, + "sha256": { + "type": "string", + "description": "A sha256 hash of the APK payload, encoded as a hex string and matching the output of the sha256sum command." } } }, @@ -830,6 +834,10 @@ "description": "This kind represents an inappPurchase object in the androidpublisher service.", "default": "androidpublisher#productPurchase" }, + "orderId": { + "type": "string", + "description": "The order id associated with the purchase of the inapp product." + }, "purchaseState": { "type": "integer", "description": "The purchase state of the order. Possible values are: \n- Purchased \n- Cancelled", @@ -977,7 +985,7 @@ }, "cancelReason": { "type": "integer", - "description": "The reason why a subscription was cancelled or is not auto-renewing. Possible values are: \n- User cancelled the subscription \n- Subscription was cancelled by the system, for example because of a billing problem", + "description": "The reason why a subscription was cancelled or is not auto-renewing. Possible values are: \n- User cancelled the subscription \n- Subscription was cancelled by the system, for example because of a billing problem \n- Subscription was replaced with a new subscription", "format": "int32" }, "countryCode": { @@ -998,9 +1006,13 @@ "description": "This kind represents a subscriptionPurchase object in the androidpublisher service.", "default": "androidpublisher#subscriptionPurchase" }, + "orderId": { + "type": "string", + "description": "The order id of the latest recurring order associated with the purchase of the subscription." + }, "paymentState": { "type": "integer", - "description": "The payment state of the subscription. Possible values are: \n- Payment pending \n- Payment received", + "description": "The payment state of the subscription. Possible values are: \n- Payment pending \n- Payment received \n- Free trial", "format": "int32" }, "priceAmountMicros": { @@ -3491,7 +3503,7 @@ "parameters": { "endTime": { "type": "string", - "description": "The time, in milliseconds since the Epoch, of the newest voided in-app product purchase that you want to see in the response. The value of this parameter cannot be greater than the current time and is ignored if a pagination token is set. Default value is current time.", + "description": "The time, in milliseconds since the Epoch, of the newest voided in-app product purchase that you want to see in the response. The value of this parameter cannot be greater than the current time and is ignored if a pagination token is set. Default value is current time. Note: This filter is applied on the time at which the record is seen as voided by our systems and not the actual voided time returned in the response.", "format": "int64", "location": "query" }, @@ -3513,7 +3525,7 @@ }, "startTime": { "type": "string", - "description": "The time, in milliseconds since the Epoch, of the oldest voided in-app product purchase that you want to see in the response. The value of this parameter cannot be older than 30 days and is ignored if a pagination token is set. Default value is current time minus 30 days.", + "description": "The time, in milliseconds since the Epoch, of the oldest voided in-app product purchase that you want to see in the response. The value of this parameter cannot be older than 30 days and is ignored if a pagination token is set. Default value is current time minus 30 days. Note: This filter is applied on the time at which the record is seen as voided by our systems and not the actual voided time returned in the response.", "format": "int64", "location": "query" }, diff --git a/vendor/google.golang.org/api/androidpublisher/v2/androidpublisher-gen.go b/vendor/google.golang.org/api/androidpublisher/v2/androidpublisher-gen.go index bd23a7ca8..d08f3dea3 100644 --- a/vendor/google.golang.org/api/androidpublisher/v2/androidpublisher-gen.go +++ b/vendor/google.golang.org/api/androidpublisher/v2/androidpublisher-gen.go @@ -317,6 +317,10 @@ type ApkBinary struct { // matching the output of the sha1sum command. Sha1 string `json:"sha1,omitempty"` + // Sha256: A sha256 hash of the APK payload, encoded as a hex string and + // matching the output of the sha256sum command. + Sha256 string `json:"sha256,omitempty"` + // ForceSendFields is a list of field names (e.g. "Sha1") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -1696,6 +1700,10 @@ type ProductPurchase struct { // androidpublisher service. Kind string `json:"kind,omitempty"` + // OrderId: The order id associated with the purchase of the inapp + // product. + OrderId string `json:"orderId,omitempty"` + // PurchaseState: The purchase state of the order. Possible values are: // // - Purchased @@ -2014,6 +2022,7 @@ type SubscriptionPurchase struct { // - User cancelled the subscription // - Subscription was cancelled by the system, for example because of a // billing problem + // - Subscription was replaced with a new subscription CancelReason *int64 `json:"cancelReason,omitempty"` // CountryCode: ISO 3166-1 alpha-2 billing country/region code of the @@ -2032,10 +2041,15 @@ type SubscriptionPurchase struct { // androidpublisher service. Kind string `json:"kind,omitempty"` + // OrderId: The order id of the latest recurring order associated with + // the purchase of the subscription. + OrderId string `json:"orderId,omitempty"` + // PaymentState: The payment state of the subscription. Possible values // are: // - Payment pending // - Payment received + // - Free trial PaymentState *int64 `json:"paymentState,omitempty"` // PriceAmountMicros: Price of the subscription, not including tax. @@ -4325,17 +4339,13 @@ func (c *EditsApksListCall) Do(opts ...googleapi.CallOption) (*ApksListResponse, // method id "androidpublisher.edits.apks.upload": type EditsApksUploadCall struct { - s *Service - packageNameid string - editId string - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + packageNameid string + editId string + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Upload: @@ -4355,12 +4365,7 @@ func (r *EditsApksService) Upload(packageNameid string, editId string) *EditsApk // supplied. // At most one of Media and ResumableMedia may be set. func (c *EditsApksUploadCall) Media(r io.Reader, options ...googleapi.MediaOption) *EditsApksUploadCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -4375,11 +4380,7 @@ func (c *EditsApksUploadCall) Media(r io.Reader, options ...googleapi.MediaOptio // supersede any context previously provided to the Context method. func (c *EditsApksUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *EditsApksUploadCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -4388,7 +4389,7 @@ func (c *EditsApksUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *EditsApksUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *EditsApksUploadCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -4428,27 +4429,16 @@ func (c *EditsApksUploadCall) doRequest(alt string) (*http.Response, error) { var body io.Reader = nil c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/apks") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -4485,20 +4475,10 @@ func (c *EditsApksUploadCall) Do(opts ...googleapi.CallOption) (*Apk, error) { if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -4582,11 +4562,7 @@ type EditsDeobfuscationfilesUploadCall struct { apkVersionCode int64 deobfuscationFileType string urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater + mediaInfo_ *gensupport.MediaInfo ctx_ context.Context header_ http.Header } @@ -4611,12 +4587,7 @@ func (r *EditsDeobfuscationfilesService) Upload(packageNameid string, editId str // supplied. // At most one of Media and ResumableMedia may be set. func (c *EditsDeobfuscationfilesUploadCall) Media(r io.Reader, options ...googleapi.MediaOption) *EditsDeobfuscationfilesUploadCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -4631,11 +4602,7 @@ func (c *EditsDeobfuscationfilesUploadCall) Media(r io.Reader, options ...google // supersede any context previously provided to the Context method. func (c *EditsDeobfuscationfilesUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *EditsDeobfuscationfilesUploadCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -4644,7 +4611,7 @@ func (c *EditsDeobfuscationfilesUploadCall) ResumableMedia(ctx context.Context, // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *EditsDeobfuscationfilesUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *EditsDeobfuscationfilesUploadCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -4684,27 +4651,16 @@ func (c *EditsDeobfuscationfilesUploadCall) doRequest(alt string) (*http.Respons var body io.Reader = nil c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/apks/{apkVersionCode}/deobfuscationFiles/{deobfuscationFileType}") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -4743,20 +4699,10 @@ func (c *EditsDeobfuscationfilesUploadCall) Do(opts ...googleapi.CallOption) (*D if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -5816,11 +5762,7 @@ type EditsExpansionfilesUploadCall struct { apkVersionCode int64 expansionFileType string urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater + mediaInfo_ *gensupport.MediaInfo ctx_ context.Context header_ http.Header } @@ -5845,12 +5787,7 @@ func (r *EditsExpansionfilesService) Upload(packageNameid string, editId string, // supplied. // At most one of Media and ResumableMedia may be set. func (c *EditsExpansionfilesUploadCall) Media(r io.Reader, options ...googleapi.MediaOption) *EditsExpansionfilesUploadCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -5865,11 +5802,7 @@ func (c *EditsExpansionfilesUploadCall) Media(r io.Reader, options ...googleapi. // supersede any context previously provided to the Context method. func (c *EditsExpansionfilesUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *EditsExpansionfilesUploadCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -5878,7 +5811,7 @@ func (c *EditsExpansionfilesUploadCall) ResumableMedia(ctx context.Context, r io // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *EditsExpansionfilesUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *EditsExpansionfilesUploadCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -5918,27 +5851,16 @@ func (c *EditsExpansionfilesUploadCall) doRequest(alt string) (*http.Response, e var body io.Reader = nil c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -5977,20 +5899,10 @@ func (c *EditsExpansionfilesUploadCall) Do(opts ...googleapi.CallOption) (*Expan if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -6609,19 +6521,15 @@ func (c *EditsImagesListCall) Do(opts ...googleapi.CallOption) (*ImagesListRespo // method id "androidpublisher.edits.images.upload": type EditsImagesUploadCall struct { - s *Service - packageNameid string - editId string - language string - imageType string - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + packageNameid string + editId string + language string + imageType string + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Upload: Uploads a new image and adds it to the list of images for the @@ -6644,12 +6552,7 @@ func (r *EditsImagesService) Upload(packageNameid string, editId string, languag // supplied. // At most one of Media and ResumableMedia may be set. func (c *EditsImagesUploadCall) Media(r io.Reader, options ...googleapi.MediaOption) *EditsImagesUploadCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -6664,11 +6567,7 @@ func (c *EditsImagesUploadCall) Media(r io.Reader, options ...googleapi.MediaOpt // supersede any context previously provided to the Context method. func (c *EditsImagesUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *EditsImagesUploadCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -6677,7 +6576,7 @@ func (c *EditsImagesUploadCall) ResumableMedia(ctx context.Context, r io.ReaderA // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *EditsImagesUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *EditsImagesUploadCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -6717,27 +6616,16 @@ func (c *EditsImagesUploadCall) doRequest(alt string) (*http.Response, error) { var body io.Reader = nil c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "{packageName}/edits/{editId}/listings/{language}/{imageType}") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -6776,20 +6664,10 @@ func (c *EditsImagesUploadCall) Do(opts ...googleapi.CallOption) (*ImagesUploadR if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -10901,7 +10779,10 @@ func (r *PurchasesVoidedpurchasesService) List(packageName string) *PurchasesVoi // milliseconds since the Epoch, of the newest voided in-app product // purchase that you want to see in the response. The value of this // parameter cannot be greater than the current time and is ignored if a -// pagination token is set. Default value is current time. +// pagination token is set. Default value is current time. Note: This +// filter is applied on the time at which the record is seen as voided +// by our systems and not the actual voided time returned in the +// response. func (c *PurchasesVoidedpurchasesListCall) EndTime(endTime int64) *PurchasesVoidedpurchasesListCall { c.urlParams_.Set("endTime", fmt.Sprint(endTime)) return c @@ -10923,7 +10804,10 @@ func (c *PurchasesVoidedpurchasesListCall) StartIndex(startIndex int64) *Purchas // milliseconds since the Epoch, of the oldest voided in-app product // purchase that you want to see in the response. The value of this // parameter cannot be older than 30 days and is ignored if a pagination -// token is set. Default value is current time minus 30 days. +// token is set. Default value is current time minus 30 days. Note: This +// filter is applied on the time at which the record is seen as voided +// by our systems and not the actual voided time returned in the +// response. func (c *PurchasesVoidedpurchasesListCall) StartTime(startTime int64) *PurchasesVoidedpurchasesListCall { c.urlParams_.Set("startTime", fmt.Sprint(startTime)) return c @@ -11037,7 +10921,7 @@ func (c *PurchasesVoidedpurchasesListCall) Do(opts ...googleapi.CallOption) (*Vo // ], // "parameters": { // "endTime": { - // "description": "The time, in milliseconds since the Epoch, of the newest voided in-app product purchase that you want to see in the response. The value of this parameter cannot be greater than the current time and is ignored if a pagination token is set. Default value is current time.", + // "description": "The time, in milliseconds since the Epoch, of the newest voided in-app product purchase that you want to see in the response. The value of this parameter cannot be greater than the current time and is ignored if a pagination token is set. Default value is current time. Note: This filter is applied on the time at which the record is seen as voided by our systems and not the actual voided time returned in the response.", // "format": "int64", // "location": "query", // "type": "string" @@ -11059,7 +10943,7 @@ func (c *PurchasesVoidedpurchasesListCall) Do(opts ...googleapi.CallOption) (*Vo // "type": "integer" // }, // "startTime": { - // "description": "The time, in milliseconds since the Epoch, of the oldest voided in-app product purchase that you want to see in the response. The value of this parameter cannot be older than 30 days and is ignored if a pagination token is set. Default value is current time minus 30 days.", + // "description": "The time, in milliseconds since the Epoch, of the oldest voided in-app product purchase that you want to see in the response. The value of this parameter cannot be older than 30 days and is ignored if a pagination token is set. Default value is current time minus 30 days. Note: This filter is applied on the time at which the record is seen as voided by our systems and not the actual voided time returned in the response.", // "format": "int64", // "location": "query", // "type": "string" diff --git a/vendor/google.golang.org/api/api-list.json b/vendor/google.golang.org/api/api-list.json index 27753429d..a768dc260 100644 --- a/vendor/google.golang.org/api/api-list.json +++ b/vendor/google.golang.org/api/api-list.json @@ -71,13 +71,13 @@ "name": "adexchangebuyer2", "version": "v2beta1", "title": "Ad Exchange Buyer API II", - "description": "Accesses the latest features for managing Ad Exchange accounts and Real-Time Bidding configurations.", + "description": "Accesses the latest features for managing Ad Exchange accounts, Real-Time Bidding configurations and auction metrics, and Marketplace programmatic deals.", "discoveryRestUrl": "https://adexchangebuyer.googleapis.com/$discovery/rest?version=v2beta1", "icons": { "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" }, - "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest/guides/client-access/", + "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest/reference/rest/", "preferred": true }, { @@ -191,22 +191,6 @@ "documentationLink": "https://developers.google.com/admin-sdk/reports/", "preferred": true }, - { - "kind": "discovery#directoryItem", - "id": "adsense:v1.3", - "name": "adsense", - "version": "v1.3", - "title": "AdSense Management API", - "description": "Accesses AdSense publishers' inventory and generates performance reports.", - "discoveryRestUrl": "https://www.googleapis.com/discovery/v1/apis/adsense/v1.3/rest", - "discoveryLink": "./apis/adsense/v1.3/rest", - "icons": { - "x16": "https://www.google.com/images/icons/product/adsense-16.png", - "x32": "https://www.google.com/images/icons/product/adsense-32.png" - }, - "documentationLink": "https://developers.google.com/adsense/management/", - "preferred": false - }, { "kind": "discovery#directoryItem", "id": "adsense:v1.4", @@ -289,6 +273,21 @@ "documentationLink": "https://developers.google.com/analytics/devguides/reporting/core/v4/", "preferred": true }, + { + "kind": "discovery#directoryItem", + "id": "androiddeviceprovisioning:v1", + "name": "androiddeviceprovisioning", + "version": "v1", + "title": "Android Device Provisioning Partner API", + "description": "Automates reseller integration into zero-touch enrollment by assigning devices to customers and creating device reports.", + "discoveryRestUrl": "https://androiddeviceprovisioning.googleapis.com/$discovery/rest?version=v1", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "documentationLink": "https://developers.google.com/zero-touch/", + "preferred": true + }, { "kind": "discovery#directoryItem", "id": "androidenterprise:v1", @@ -305,6 +304,21 @@ "documentationLink": "https://developers.google.com/android/work/play/emm-api", "preferred": true }, + { + "kind": "discovery#directoryItem", + "id": "androidmanagement:v1", + "name": "androidmanagement", + "version": "v1", + "title": "Android Management API", + "description": "The Android Management API provides remote enterprise management of Android devices and apps.", + "discoveryRestUrl": "https://androidmanagement.googleapis.com/$discovery/rest?version=v1", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "documentationLink": "https://developers.google.com/android/management", + "preferred": true + }, { "kind": "discovery#directoryItem", "id": "androidpublisher:v1", @@ -481,7 +495,7 @@ "id": "bigquerydatatransfer:v1", "name": "bigquerydatatransfer", "version": "v1", - "title": "BigQuery Data Transfer Service API", + "title": "BigQuery Data Transfer API", "description": "Transfers data from partner SaaS applications to Google BigQuery on a scheduled, managed basis.", "discoveryRestUrl": "https://bigquerydatatransfer.googleapis.com/$discovery/rest?version=v1", "icons": { @@ -682,6 +696,36 @@ "documentationLink": "https://cloud.google.com/functions", "preferred": false }, + { + "kind": "discovery#directoryItem", + "id": "cloudiot:v1", + "name": "cloudiot", + "version": "v1", + "title": "Google Cloud IoT API", + "description": "Registers and manages IoT (Internet of Things) devices that connect to the Google Cloud Platform.", + "discoveryRestUrl": "https://cloudiot.googleapis.com/$discovery/rest?version=v1", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "documentationLink": "https://cloud.google.com/iot", + "preferred": true + }, + { + "kind": "discovery#directoryItem", + "id": "cloudiot:v1beta1", + "name": "cloudiot", + "version": "v1beta1", + "title": "Google Cloud IoT API", + "description": "Registers and manages IoT (Internet of Things) devices that connect to the Google Cloud Platform.", + "discoveryRestUrl": "https://cloudiot.googleapis.com/$discovery/rest?version=v1beta1", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "documentationLink": "https://cloud.google.com/iot", + "preferred": false + }, { "kind": "discovery#directoryItem", "id": "cloudkms:v1", @@ -758,6 +802,21 @@ "documentationLink": "https://cloud.google.com/resource-manager", "preferred": false }, + { + "kind": "discovery#directoryItem", + "id": "cloudtasks:v2beta2", + "name": "cloudtasks", + "version": "v2beta2", + "title": "Cloud Tasks API", + "description": "Manages the execution of large numbers of distributed requests. Cloud Tasks is in Alpha.", + "discoveryRestUrl": "https://cloudtasks.googleapis.com/$discovery/rest?version=v2beta2", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "documentationLink": "https://cloud.google.com/cloud-tasks/", + "preferred": true + }, { "kind": "discovery#directoryItem", "id": "cloudtrace:v1", @@ -930,6 +989,21 @@ "documentationLink": "https://cloud.google.com/container-engine/", "preferred": true }, + { + "kind": "discovery#directoryItem", + "id": "container:v1beta1", + "name": "container", + "version": "v1beta1", + "title": "Google Container Engine API", + "description": "The Google Container Engine API is used for building and managing container based applications, powered by the open source Kubernetes technology.", + "discoveryRestUrl": "https://container.googleapis.com/$discovery/rest?version=v1beta1", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "documentationLink": "https://cloud.google.com/container-engine/", + "preferred": false + }, { "kind": "discovery#directoryItem", "id": "content:v2sandbox", @@ -993,21 +1067,6 @@ "documentationLink": "https://cloud.google.com/dataflow", "preferred": true }, - { - "kind": "discovery#directoryItem", - "id": "dataproc:v1alpha1", - "name": "dataproc", - "version": "v1alpha1", - "title": "Google Cloud Dataproc API", - "description": "Manages Hadoop-based clusters and jobs on Google Cloud Platform.", - "discoveryRestUrl": "https://dataproc.googleapis.com/$discovery/rest?version=v1alpha1", - "icons": { - "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", - "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" - }, - "documentationLink": "https://cloud.google.com/dataproc/", - "preferred": false - }, { "kind": "discovery#directoryItem", "id": "dataproc:v1", @@ -1025,12 +1084,12 @@ }, { "kind": "discovery#directoryItem", - "id": "dataproc:v1beta1", + "id": "dataproc:v1beta2", "name": "dataproc", - "version": "v1beta1", + "version": "v1beta2", "title": "Google Cloud Dataproc API", "description": "Manages Hadoop-based clusters and jobs on Google Cloud Platform.", - "discoveryRestUrl": "https://dataproc.googleapis.com/$discovery/rest?version=v1beta1", + "discoveryRestUrl": "https://dataproc.googleapis.com/$discovery/rest?version=v1beta2", "icons": { "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" @@ -1053,6 +1112,21 @@ "documentationLink": "https://cloud.google.com/datastore/", "preferred": true }, + { + "kind": "discovery#directoryItem", + "id": "datastore:v1beta1", + "name": "datastore", + "version": "v1beta1", + "title": "Google Cloud Datastore API", + "description": "Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application.", + "discoveryRestUrl": "https://datastore.googleapis.com/$discovery/rest?version=v1beta1", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "documentationLink": "https://cloud.google.com/datastore/", + "preferred": false + }, { "kind": "discovery#directoryItem", "id": "datastore:v1beta3", @@ -1293,6 +1367,21 @@ "documentationLink": "https://firebase.google.com/docs/dynamic-links/", "preferred": true }, + { + "kind": "discovery#directoryItem", + "id": "firebaseremoteconfig:v1", + "name": "firebaseremoteconfig", + "version": "v1", + "title": "Firebase Remote Config API", + "description": "Firebase Remote Config API allows the 3P clients to manage Remote Config conditions and parameters for Firebase applications.", + "discoveryRestUrl": "https://firebaseremoteconfig.googleapis.com/$discovery/rest?version=v1", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "documentationLink": "https://firebase.google.com/docs/remote-config/", + "preferred": true + }, { "kind": "discovery#directoryItem", "id": "firebaserules:v1", @@ -1742,9 +1831,24 @@ "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" }, - "documentationLink": "https://developers.google.com/apis-explorer/#p/oslogin/v1alpha/", + "documentationLink": "https://cloud.google.com/compute/docs/oslogin/rest/", "preferred": true }, + { + "kind": "discovery#directoryItem", + "id": "oslogin:v1beta", + "name": "oslogin", + "version": "v1beta", + "title": "Google Cloud OS Login API", + "description": "Manages OS login configuration for Directory API users.", + "discoveryRestUrl": "https://oslogin.googleapis.com/$discovery/rest?version=v1beta", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "documentationLink": "https://cloud.google.com/compute/docs/oslogin/rest/", + "preferred": false + }, { "kind": "discovery#directoryItem", "id": "pagespeedonline:v1", @@ -1807,6 +1911,22 @@ "documentationLink": "https://developers.google.com/people/", "preferred": true }, + { + "kind": "discovery#directoryItem", + "id": "playcustomapp:v1", + "name": "playcustomapp", + "version": "v1", + "title": "Google Play Custom App Publishing API", + "description": "An API to publish custom Android apps.", + "discoveryRestUrl": "https://www.googleapis.com/discovery/v1/apis/playcustomapp/v1/rest", + "discoveryLink": "./apis/playcustomapp/v1/rest", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "documentationLink": "https://developers.google.com/android/work/play/custom-app-api", + "preferred": true + }, { "kind": "discovery#directoryItem", "id": "playmoviespartner:v1", @@ -2160,7 +2280,7 @@ "name": "safebrowsing", "version": "v4", "title": "Google Safe Browsing API", - "description": "The Safe Browsing API is an experimental API that allows client applications to check URLs against Google's constantly-updated blacklists of suspected phishing and malware pages. Your client application can use the API to download an encrypted table for local, client-side lookups of URLs.", + "description": "Enables client applications to check web resources (most commonly URLs) against Google-generated lists of unsafe web resources.", "discoveryRestUrl": "https://safebrowsing.googleapis.com/$discovery/rest?version=v4", "icons": { "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", @@ -2175,7 +2295,7 @@ "name": "script", "version": "v1", "title": "Google Apps Script Execution API", - "description": "Executes Google Apps Script projects.", + "description": "An API for managing and executing Google Apps Script projects.", "discoveryRestUrl": "https://script.googleapis.com/$discovery/rest?version=v1", "icons": { "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", @@ -2476,7 +2596,7 @@ "name": "streetviewpublish", "version": "v1", "title": "Street View Publish API", - "description": "The Street View Publish API allows your application to publish 360 photos to Google Maps, along with image metadata that specifies the position, orientation, and connectivity of each photo. With this API, any app can offer an interface for positioning, connecting, and uploading user-generated Street View images.", + "description": "Publishes 360 photos to Google Maps, along with position, orientation, and connectivity metadata. Apps can offer an interface for positioning, connecting, and uploading user-generated Street View images.", "discoveryRestUrl": "https://streetviewpublish.googleapis.com/$discovery/rest?version=v1", "icons": { "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", @@ -2582,19 +2702,18 @@ }, { "kind": "discovery#directoryItem", - "id": "toolresults:v1beta3firstparty", - "name": "toolresults", - "version": "v1beta3firstparty", - "title": "Cloud Tool Results firstparty API", - "description": "Reads and publishes results from Firebase Test Lab.", - "discoveryRestUrl": "https://www.googleapis.com/discovery/v1/apis/toolresults/v1beta3firstparty/rest", - "discoveryLink": "./apis/toolresults/v1beta3firstparty/rest", + "id": "testing:v1", + "name": "testing", + "version": "v1", + "title": "Google Cloud Testing API", + "description": "Allows developers to run automated tests for their mobile applications on Google infrastructure.", + "discoveryRestUrl": "https://testing.googleapis.com/$discovery/rest?version=v1", "icons": { "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" }, - "documentationLink": "https://firebase.google.com/docs/test-lab/", - "preferred": false + "documentationLink": "https://developers.google.com/cloud-test-lab/", + "preferred": true }, { "kind": "discovery#directoryItem", @@ -2612,21 +2731,6 @@ "documentationLink": "https://firebase.google.com/docs/test-lab/", "preferred": true }, - { - "kind": "discovery#directoryItem", - "id": "tracing:v2", - "name": "tracing", - "version": "v2", - "title": "Google Tracing API", - "description": "Send and retrieve trace data from Google Stackdriver Trace.", - "discoveryRestUrl": "https://tracing.googleapis.com/$discovery/rest?version=v2", - "icons": { - "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", - "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" - }, - "documentationLink": "https://cloud.google.com/trace", - "preferred": true - }, { "kind": "discovery#directoryItem", "id": "translate:v2", @@ -2658,6 +2762,21 @@ "documentationLink": "https://developers.google.com/url-shortener/v1/getting_started", "preferred": true }, + { + "kind": "discovery#directoryItem", + "id": "vault:v1", + "name": "vault", + "version": "v1", + "title": "Google Vault API", + "description": "Archiving and eDiscovery for G Suite.", + "discoveryRestUrl": "https://vault.googleapis.com/$discovery/rest?version=v1", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "documentationLink": "https://developers.google.com/vault", + "preferred": true + }, { "kind": "discovery#directoryItem", "id": "videointelligence:v1beta1", diff --git a/vendor/google.golang.org/api/appengine/v1/appengine-api.json b/vendor/google.golang.org/api/appengine/v1/appengine-api.json index a124b85f1..b6e1b31ef 100644 --- a/vendor/google.golang.org/api/appengine/v1/appengine-api.json +++ b/vendor/google.golang.org/api/appengine/v1/appengine-api.json @@ -1,60 +1,55 @@ { - "discoveryVersion": "v1", + "baseUrl": "https://appengine.googleapis.com/", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform.read-only": { + "description": "View your data across Google Cloud Platform services" + }, + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + }, + "https://www.googleapis.com/auth/appengine.admin": { + "description": "View and manage your applications deployed on Google App Engine" + } + } + } + }, + "kind": "discovery#restDescription", + "servicePath": "", + "description": "The App Engine Admin API enables developers to provision and manage their App Engine applications.", + "rootUrl": "https://appengine.googleapis.com/", + "basePath": "", + "ownerDomain": "google.com", + "name": "appengine", + "batchPath": "batch", + "id": "appengine:v1", + "revision": "20170926", + "documentationLink": "https://cloud.google.com/appengine/docs/admin-api/", + "title": "Google App Engine Admin API", "ownerName": "Google", - "version_module": "True", + "discoveryVersion": "v1", + "version_module": true, "resources": { "apps": { "methods": { - "repair": { - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "appsId" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "appsId": { - "location": "path", - "description": "Part of `name`. Name of the application to repair. Example: apps/myapp", - "type": "string", - "required": true - } - }, - "flatPath": "v1/apps/{appsId}:repair", - "id": "appengine.apps.repair", - "path": "v1/apps/{appsId}:repair", - "request": { - "$ref": "RepairApplicationRequest" - }, - "description": "Recreates the required App Engine features for the specified App Engine application, for example a Cloud Storage bucket or App Engine service account. Use this method if you receive an error message about a missing feature, for example, Error retrieving the App Engine service account." - }, "patch": { - "path": "v1/apps/{appsId}", - "id": "appengine.apps.patch", - "request": { - "$ref": "Application" - }, - "description": "Updates the specified Application resource. You can update the following fields:\nauth_domain - Google authentication domain for controlling user access to the application.\ndefault_cookie_expiration - Cookie expiration policy for the application.", - "httpMethod": "PATCH", - "parameterOrder": [ - "appsId" - ], "response": { "$ref": "Operation" }, + "parameterOrder": [ + "appsId" + ], + "httpMethod": "PATCH", "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], "parameters": { "updateMask": { + "location": "query", "format": "google-fieldmask", "description": "Standard field mask for the set of fields to be updated.", - "type": "string", - "location": "query" + "type": "string" }, "appsId": { "location": "path", @@ -63,9 +58,22 @@ "required": true } }, - "flatPath": "v1/apps/{appsId}" + "flatPath": "v1/apps/{appsId}", + "id": "appengine.apps.patch", + "path": "v1/apps/{appsId}", + "request": { + "$ref": "Application" + }, + "description": "Updates the specified Application resource. You can update the following fields:\nauth_domain - Google authentication domain for controlling user access to the application.\ndefault_cookie_expiration - Cookie expiration policy for the application." }, "get": { + "response": { + "$ref": "Application" + }, + "parameterOrder": [ + "appsId" + ], + "httpMethod": "GET", "parameters": { "appsId": { "description": "Part of `name`. Name of the Application resource to get. Example: apps/myapp.", @@ -82,14 +90,7 @@ "flatPath": "v1/apps/{appsId}", "id": "appengine.apps.get", "path": "v1/apps/{appsId}", - "description": "Gets information about an application.", - "response": { - "$ref": "Application" - }, - "parameterOrder": [ - "appsId" - ], - "httpMethod": "GET" + "description": "Gets information about an application." }, "create": { "httpMethod": "POST", @@ -108,75 +109,99 @@ "request": { "$ref": "Application" } + }, + "repair": { + "description": "Recreates the required App Engine features for the specified App Engine application, for example a Cloud Storage bucket or App Engine service account. Use this method if you receive an error message about a missing feature, for example, Error retrieving the App Engine service account.", + "request": { + "$ref": "RepairApplicationRequest" + }, + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId" + ], + "httpMethod": "POST", + "parameters": { + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the application to repair. Example: apps/myapp", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/apps/{appsId}:repair", + "id": "appengine.apps.repair", + "path": "v1/apps/{appsId}:repair" } }, "resources": { - "operations": { + "domainMappings": { "methods": { - "get": { - "path": "v1/apps/{appsId}/operations/{operationsId}", - "id": "appengine.apps.operations.get", - "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", - "httpMethod": "GET", + "patch": { + "request": { + "$ref": "DomainMapping" + }, + "description": "Updates the specified domain mapping. To map an SSL certificate to a domain mapping, update certificate_id to point to an AuthorizedCertificate resource. A user must be authorized to administer the associated domain in order to update a DomainMapping resource.", + "httpMethod": "PATCH", + "parameterOrder": [ + "appsId", + "domainMappingsId" + ], "response": { "$ref": "Operation" }, - "parameterOrder": [ - "appsId", - "operationsId" - ], "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" + "https://www.googleapis.com/auth/cloud-platform" ], "parameters": { + "updateMask": { + "format": "google-fieldmask", + "description": "Standard field mask for the set of fields to be updated.", + "type": "string", + "location": "query" + }, "appsId": { - "description": "Part of `name`. The name of the operation resource.", + "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/domainMappings/example.com.", "type": "string", "required": true, "location": "path" }, - "operationsId": { - "type": "string", - "required": true, + "domainMappingsId": { "location": "path", - "description": "Part of `name`. See documentation of `appsId`." + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true } }, - "flatPath": "v1/apps/{appsId}/operations/{operationsId}" + "flatPath": "v1/apps/{appsId}/domainMappings/{domainMappingsId}", + "path": "v1/apps/{appsId}/domainMappings/{domainMappingsId}", + "id": "appengine.apps.domainMappings.patch" }, - "list": { - "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: the name binding allows API services to override the binding to use different resource name schemes, such as users/*/operations. To override the binding, API services can add a binding such as \"/v1/{name=users/*}/operations\" to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.", + "get": { "response": { - "$ref": "ListOperationsResponse" + "$ref": "DomainMapping" }, "parameterOrder": [ - "appsId" + "appsId", + "domainMappingsId" ], "httpMethod": "GET", "parameters": { - "pageToken": { - "location": "query", - "description": "The standard list page token.", - "type": "string" - }, "appsId": { + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com.", "type": "string", "required": true, + "location": "path" + }, + "domainMappingsId": { "location": "path", - "description": "Part of `name`. The name of the operation's parent resource." - }, - "pageSize": { - "type": "integer", - "location": "query", - "format": "int32", - "description": "The standard list page size." - }, - "filter": { + "description": "Part of `name`. See documentation of `appsId`.", "type": "string", - "location": "query", - "description": "The standard list filter." + "required": true } }, "scopes": [ @@ -184,9 +209,313 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ], - "flatPath": "v1/apps/{appsId}/operations", - "id": "appengine.apps.operations.list", - "path": "v1/apps/{appsId}/operations" + "flatPath": "v1/apps/{appsId}/domainMappings/{domainMappingsId}", + "id": "appengine.apps.domainMappings.get", + "path": "v1/apps/{appsId}/domainMappings/{domainMappingsId}", + "description": "Gets the specified domain mapping." + }, + "list": { + "httpMethod": "GET", + "response": { + "$ref": "ListDomainMappingsResponse" + }, + "parameterOrder": [ + "appsId" + ], + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "pageSize": { + "format": "int32", + "description": "Maximum results to return per page.", + "type": "integer", + "location": "query" + }, + "pageToken": { + "location": "query", + "description": "Continuation token for fetching the next page of results.", + "type": "string" + }, + "appsId": { + "location": "path", + "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/apps/{appsId}/domainMappings", + "path": "v1/apps/{appsId}/domainMappings", + "id": "appengine.apps.domainMappings.list", + "description": "Lists the domain mappings on an application." + }, + "create": { + "description": "Maps a domain to an application. A user must be authorized to administer a domain in order to map it to an application. For a list of available authorized domains, see AuthorizedDomains.ListAuthorizedDomains.", + "request": { + "$ref": "DomainMapping" + }, + "httpMethod": "POST", + "parameterOrder": [ + "appsId" + ], + "response": { + "$ref": "Operation" + }, + "parameters": { + "appsId": { + "location": "path", + "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/apps/{appsId}/domainMappings", + "path": "v1/apps/{appsId}/domainMappings", + "id": "appengine.apps.domainMappings.create" + }, + "delete": { + "httpMethod": "DELETE", + "parameterOrder": [ + "appsId", + "domainMappingsId" + ], + "response": { + "$ref": "Operation" + }, + "parameters": { + "domainMappingsId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + }, + "appsId": { + "description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/apps/{appsId}/domainMappings/{domainMappingsId}", + "path": "v1/apps/{appsId}/domainMappings/{domainMappingsId}", + "id": "appengine.apps.domainMappings.delete", + "description": "Deletes the specified domain mapping. A user must be authorized to administer the associated domain in order to delete a DomainMapping resource." + } + } + }, + "firewall": { + "resources": { + "ingressRules": { + "methods": { + "batchUpdate": { + "httpMethod": "POST", + "parameterOrder": [ + "appsId" + ], + "response": { + "$ref": "BatchUpdateIngressRulesResponse" + }, + "parameters": { + "appsId": { + "description": "Part of `name`. Name of the Firewall collection to set. Example: apps/myapp/firewall/ingressRules.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/apps/{appsId}/firewall/ingressRules:batchUpdate", + "path": "v1/apps/{appsId}/firewall/ingressRules:batchUpdate", + "id": "appengine.apps.firewall.ingressRules.batchUpdate", + "description": "Replaces the entire firewall ruleset in one bulk operation. This overrides and replaces the rules of an existing firewall with the new rules.If the final rule does not match traffic with the '*' wildcard IP range, then an \"allow all\" rule is explicitly added to the end of the list.", + "request": { + "$ref": "BatchUpdateIngressRulesRequest" + } + }, + "delete": { + "description": "Deletes the specified firewall rule.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "appsId", + "ingressRulesId" + ], + "httpMethod": "DELETE", + "parameters": { + "appsId": { + "description": "Part of `name`. Name of the Firewall resource to delete. Example: apps/myapp/firewall/ingressRules/100.", + "type": "string", + "required": true, + "location": "path" + }, + "ingressRulesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", + "id": "appengine.apps.firewall.ingressRules.delete", + "path": "v1/apps/{appsId}/firewall/ingressRules/{ingressRulesId}" + }, + "list": { + "httpMethod": "GET", + "parameterOrder": [ + "appsId" + ], + "response": { + "$ref": "ListIngressRulesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "pageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string", + "location": "query" + }, + "appsId": { + "location": "path", + "description": "Part of `parent`. Name of the Firewall collection to retrieve. Example: apps/myapp/firewall/ingressRules.", + "type": "string", + "required": true + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Maximum results to return per page.", + "type": "integer" + }, + "matchingAddress": { + "location": "query", + "description": "A valid IP Address. If set, only rules matching this address will be returned. The first returned rule will be the rule that fires on requests from this IP.", + "type": "string" + } + }, + "flatPath": "v1/apps/{appsId}/firewall/ingressRules", + "path": "v1/apps/{appsId}/firewall/ingressRules", + "id": "appengine.apps.firewall.ingressRules.list", + "description": "Lists the firewall rules of an application." + }, + "create": { + "httpMethod": "POST", + "parameterOrder": [ + "appsId" + ], + "response": { + "$ref": "FirewallRule" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "appsId": { + "description": "Part of `parent`. Name of the parent Firewall collection in which to create a new rule. Example: apps/myapp/firewall/ingressRules.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/apps/{appsId}/firewall/ingressRules", + "path": "v1/apps/{appsId}/firewall/ingressRules", + "id": "appengine.apps.firewall.ingressRules.create", + "request": { + "$ref": "FirewallRule" + }, + "description": "Creates a firewall rule for the application." + }, + "get": { + "id": "appengine.apps.firewall.ingressRules.get", + "path": "v1/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", + "description": "Gets the specified firewall rule.", + "response": { + "$ref": "FirewallRule" + }, + "parameterOrder": [ + "appsId", + "ingressRulesId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "appsId": { + "description": "Part of `name`. Name of the Firewall resource to retrieve. Example: apps/myapp/firewall/ingressRules/100.", + "type": "string", + "required": true, + "location": "path" + }, + "ingressRulesId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/apps/{appsId}/firewall/ingressRules/{ingressRulesId}" + }, + "patch": { + "response": { + "$ref": "FirewallRule" + }, + "parameterOrder": [ + "appsId", + "ingressRulesId" + ], + "httpMethod": "PATCH", + "parameters": { + "updateMask": { + "format": "google-fieldmask", + "description": "Standard field mask for the set of fields to be updated.", + "type": "string", + "location": "query" + }, + "appsId": { + "description": "Part of `name`. Name of the Firewall resource to update. Example: apps/myapp/firewall/ingressRules/100.", + "type": "string", + "required": true, + "location": "path" + }, + "ingressRulesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", + "id": "appengine.apps.firewall.ingressRules.patch", + "path": "v1/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", + "description": "Updates the specified firewall rule.", + "request": { + "$ref": "FirewallRule" + } + } + } } } }, @@ -208,10 +537,10 @@ ], "parameters": { "appsId": { + "location": "path", "description": "Part of `name`. Resource name for the location.", "type": "string", - "required": true, - "location": "path" + "required": true }, "locationsId": { "location": "path", @@ -226,6 +555,7 @@ "description": "Get information about a location." }, "list": { + "description": "Lists information about the supported locations for this service.", "response": { "$ref": "ListLocationsResponse" }, @@ -233,7 +563,23 @@ "appsId" ], "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], "parameters": { + "pageSize": { + "location": "query", + "format": "int32", + "description": "The standard list page size.", + "type": "integer" + }, + "filter": { + "location": "query", + "description": "The standard list filter.", + "type": "string" + }, "pageToken": { "location": "query", "description": "The standard list page token.", @@ -244,28 +590,201 @@ "description": "Part of `name`. The resource that owns the locations collection, if applicable.", "type": "string", "required": true - }, - "pageSize": { - "format": "int32", - "description": "The standard list page size.", - "type": "integer", - "location": "query" - }, - "filter": { - "description": "The standard list filter.", - "type": "string", - "location": "query" } }, + "flatPath": "v1/apps/{appsId}/locations", + "id": "appengine.apps.locations.list", + "path": "v1/apps/{appsId}/locations" + } + } + }, + "authorizedCertificates": { + "methods": { + "delete": { + "description": "Deletes the specified SSL certificate.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "appsId", + "authorizedCertificatesId" + ], + "httpMethod": "DELETE", + "parameters": { + "authorizedCertificatesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "appsId": { + "description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", + "id": "appengine.apps.authorizedCertificates.delete", + "path": "v1/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}" + }, + "patch": { + "request": { + "$ref": "AuthorizedCertificate" + }, + "description": "Updates the specified SSL certificate. To renew a certificate and maintain its existing domain mappings, update certificate_data with a new certificate. The new certificate must be applicable to the same domains as the original certificate. The certificate display_name may also be updated.", + "response": { + "$ref": "AuthorizedCertificate" + }, + "parameterOrder": [ + "appsId", + "authorizedCertificatesId" + ], + "httpMethod": "PATCH", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Standard field mask for the set of fields to be updated. Updates are only supported on the certificate_raw_data and display_name fields.", + "type": "string" + }, + "appsId": { + "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345.", + "type": "string", + "required": true, + "location": "path" + }, + "authorizedCertificatesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", + "id": "appengine.apps.authorizedCertificates.patch", + "path": "v1/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}" + }, + "get": { + "response": { + "$ref": "AuthorizedCertificate" + }, + "httpMethod": "GET", + "parameterOrder": [ + "appsId", + "authorizedCertificatesId" + ], "scopes": [ "https://www.googleapis.com/auth/appengine.admin", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ], - "flatPath": "v1/apps/{appsId}/locations", - "id": "appengine.apps.locations.list", - "path": "v1/apps/{appsId}/locations", - "description": "Lists information about the supported locations for this service." + "parameters": { + "authorizedCertificatesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "appsId": { + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345.", + "type": "string", + "required": true, + "location": "path" + }, + "view": { + "description": "Controls the set of fields returned in the GET response.", + "type": "string", + "location": "query", + "enum": [ + "BASIC_CERTIFICATE", + "FULL_CERTIFICATE" + ] + } + }, + "flatPath": "v1/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", + "id": "appengine.apps.authorizedCertificates.get", + "path": "v1/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", + "description": "Gets the specified SSL certificate." + }, + "list": { + "flatPath": "v1/apps/{appsId}/authorizedCertificates", + "path": "v1/apps/{appsId}/authorizedCertificates", + "id": "appengine.apps.authorizedCertificates.list", + "description": "Lists all SSL certificates the user is authorized to administer.", + "httpMethod": "GET", + "response": { + "$ref": "ListAuthorizedCertificatesResponse" + }, + "parameterOrder": [ + "appsId" + ], + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "pageSize": { + "format": "int32", + "description": "Maximum results to return per page.", + "type": "integer", + "location": "query" + }, + "view": { + "location": "query", + "enum": [ + "BASIC_CERTIFICATE", + "FULL_CERTIFICATE" + ], + "description": "Controls the set of fields returned in the LIST response.", + "type": "string" + }, + "pageToken": { + "location": "query", + "description": "Continuation token for fetching the next page of results.", + "type": "string" + }, + "appsId": { + "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "type": "string", + "required": true, + "location": "path" + } + } + }, + "create": { + "response": { + "$ref": "AuthorizedCertificate" + }, + "parameterOrder": [ + "appsId" + ], + "httpMethod": "POST", + "parameters": { + "appsId": { + "location": "path", + "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/apps/{appsId}/authorizedCertificates", + "id": "appengine.apps.authorizedCertificates.create", + "path": "v1/apps/{appsId}/authorizedCertificates", + "description": "Uploads the specified SSL certificate.", + "request": { + "$ref": "AuthorizedCertificate" + } } } }, @@ -273,33 +792,24 @@ "methods": { "patch": { "flatPath": "v1/apps/{appsId}/services/{servicesId}", - "path": "v1/apps/{appsId}/services/{servicesId}", "id": "appengine.apps.services.patch", - "description": "Updates the configuration of the specified service.", + "path": "v1/apps/{appsId}/services/{servicesId}", "request": { "$ref": "Service" }, - "httpMethod": "PATCH", + "description": "Updates the configuration of the specified service.", + "response": { + "$ref": "Operation" + }, "parameterOrder": [ "appsId", "servicesId" ], - "response": { - "$ref": "Operation" - }, + "httpMethod": "PATCH", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { - "updateMask": { - "format": "google-fieldmask", - "description": "Standard field mask for the set of fields to be updated.", - "type": "string", - "location": "query" - }, - "servicesId": { - "type": "string", - "required": true, - "location": "path", - "description": "Part of `name`. See documentation of `appsId`." - }, "appsId": { "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default.", "type": "string", @@ -310,33 +820,42 @@ "location": "query", "description": "Set to true to gradually shift traffic to one or more versions that you specify. By default, traffic is shifted immediately. For gradual traffic migration, the target versions must be located within instances that are configured for both warmup requests (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#inboundservicetype) and automatic scaling (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#automaticscaling). You must specify the shardBy (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services#shardby) field in the Service resource. Gradual traffic migration is not supported in the App Engine flexible environment. For examples, see Migrating and Splitting Traffic (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic).", "type": "boolean" + }, + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Standard field mask for the set of fields to be updated.", + "type": "string" + }, + "servicesId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] + } }, "get": { - "response": { - "$ref": "Service" - }, + "httpMethod": "GET", "parameterOrder": [ "appsId", "servicesId" ], - "httpMethod": "GET", + "response": { + "$ref": "Service" + }, "parameters": { + "servicesId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + }, "appsId": { "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default.", "type": "string", "required": true, "location": "path" - }, - "servicesId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true } }, "scopes": [ @@ -345,12 +864,11 @@ "https://www.googleapis.com/auth/cloud-platform.read-only" ], "flatPath": "v1/apps/{appsId}/services/{servicesId}", - "id": "appengine.apps.services.get", "path": "v1/apps/{appsId}/services/{servicesId}", + "id": "appengine.apps.services.get", "description": "Gets the current configuration of the specified service." }, "list": { - "description": "Lists all the services in the application.", "response": { "$ref": "ListServicesResponse" }, @@ -365,15 +883,15 @@ ], "parameters": { "pageToken": { + "description": "Continuation token for fetching the next page of results.", "type": "string", - "location": "query", - "description": "Continuation token for fetching the next page of results." + "location": "query" }, "appsId": { - "location": "path", "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", "type": "string", - "required": true + "required": true, + "location": "path" }, "pageSize": { "format": "int32", @@ -384,10 +902,10 @@ }, "flatPath": "v1/apps/{appsId}/services", "id": "appengine.apps.services.list", - "path": "v1/apps/{appsId}/services" + "path": "v1/apps/{appsId}/services", + "description": "Lists all the services in the application." }, "delete": { - "description": "Deletes the specified service and all enclosed versions.", "response": { "$ref": "Operation" }, @@ -415,107 +933,100 @@ }, "flatPath": "v1/apps/{appsId}/services/{servicesId}", "id": "appengine.apps.services.delete", - "path": "v1/apps/{appsId}/services/{servicesId}" + "path": "v1/apps/{appsId}/services/{servicesId}", + "description": "Deletes the specified service and all enclosed versions." } }, "resources": { "versions": { "methods": { "create": { - "httpMethod": "POST", + "request": { + "$ref": "Version" + }, + "description": "Deploys code and resource files to a new version.", + "response": { + "$ref": "Operation" + }, "parameterOrder": [ "appsId", "servicesId" ], - "response": { - "$ref": "Operation" - }, + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { - "appsId": { - "description": "Part of `parent`. Name of the parent resource to create this version under. Example: apps/myapp/services/default.", - "type": "string", - "required": true, - "location": "path" - }, "servicesId": { "location": "path", "description": "Part of `parent`. See documentation of `appsId`.", "type": "string", "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/apps/{appsId}/services/{servicesId}/versions", - "path": "v1/apps/{appsId}/services/{servicesId}/versions", - "id": "appengine.apps.services.versions.create", - "description": "Deploys code and resource files to a new version.", - "request": { - "$ref": "Version" - } - }, - "delete": { - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "versionsId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - }, - "servicesId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true }, "appsId": { "location": "path", - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", + "description": "Part of `parent`. Name of the parent resource to create this version under. Example: apps/myapp/services/default.", "type": "string", "required": true } }, - "flatPath": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}", - "id": "appengine.apps.services.versions.delete", - "path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}", + "flatPath": "v1/apps/{appsId}/services/{servicesId}/versions", + "id": "appengine.apps.services.versions.create", + "path": "v1/apps/{appsId}/services/{servicesId}/versions" + }, + "delete": { "description": "Deletes an existing Version resource.", + "response": { + "$ref": "Operation" + }, "parameterOrder": [ "appsId", "servicesId", "versionsId" ], "httpMethod": "DELETE", - "response": { - "$ref": "Operation" - } + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "versionsId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + }, + "servicesId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + }, + "appsId": { + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}", + "id": "appengine.apps.services.versions.delete", + "path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}" }, "patch": { - "httpMethod": "PATCH", + "description": "Updates the specified Version resource. You can specify the following fields depending on the App Engine environment and type of scaling that the version resource uses:\nserving_status (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.serving_status): For Version resources that use basic scaling, manual scaling, or run in the App Engine flexible environment.\ninstance_class (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.instance_class): For Version resources that run in the App Engine standard environment.\nautomatic_scaling.min_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.\nautomatic_scaling.max_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.\nautomatic_scaling.min_total_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine Flexible environment.\nautomatic_scaling.max_total_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine Flexible environment.\nautomatic_scaling.cool_down_period_sec (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine Flexible environment.\nautomatic_scaling.cpu_utilization.target_utilization (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine Flexible environment.", + "request": { + "$ref": "Version" + }, + "response": { + "$ref": "Operation" + }, "parameterOrder": [ "appsId", "servicesId", "versionsId" ], - "response": { - "$ref": "Operation" - }, + "httpMethod": "PATCH", "parameters": { - "updateMask": { - "location": "query", - "format": "google-fieldmask", - "description": "Standard field mask for the set of fields to be updated.", - "type": "string" - }, - "servicesId": { - "type": "string", - "required": true, - "location": "path", - "description": "Part of `name`. See documentation of `appsId`." - }, "appsId": { "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default/versions/1.", "type": "string", @@ -523,6 +1034,18 @@ "location": "path" }, "versionsId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + }, + "updateMask": { + "format": "google-fieldmask", + "description": "Standard field mask for the set of fields to be updated.", + "type": "string", + "location": "query" + }, + "servicesId": { "location": "path", "description": "Part of `name`. See documentation of `appsId`.", "type": "string", @@ -533,14 +1056,14 @@ "https://www.googleapis.com/auth/cloud-platform" ], "flatPath": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}", - "path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}", "id": "appengine.apps.services.versions.patch", - "description": "Updates the specified Version resource. You can specify the following fields depending on the App Engine environment and type of scaling that the version resource uses:\nserving_status (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.serving_status): For Version resources that use basic scaling, manual scaling, or run in the App Engine flexible environment.\ninstance_class (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.instance_class): For Version resources that run in the App Engine standard environment.\nautomatic_scaling.min_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.\nautomatic_scaling.max_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.", - "request": { - "$ref": "Version" - } + "path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}" }, "get": { + "flatPath": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}", + "id": "appengine.apps.services.versions.get", + "path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}", + "description": "Gets the specified Version resource. By default, only a BASIC_VIEW will be returned. Specify the FULL_VIEW parameter to get the full resource.", "response": { "$ref": "Version" }, @@ -551,12 +1074,6 @@ ], "httpMethod": "GET", "parameters": { - "servicesId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - }, "appsId": { "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", "type": "string", @@ -573,32 +1090,41 @@ "type": "string" }, "versionsId": { + "location": "path", "description": "Part of `name`. See documentation of `appsId`.", "type": "string", - "required": true, - "location": "path" + "required": true + }, + "servicesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true } }, "scopes": [ "https://www.googleapis.com/auth/appengine.admin", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "flatPath": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}", - "id": "appengine.apps.services.versions.get", - "path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}", - "description": "Gets the specified Version resource. By default, only a BASIC_VIEW will be returned. Specify the FULL_VIEW parameter to get the full resource." + ] }, "list": { + "id": "appengine.apps.services.versions.list", + "path": "v1/apps/{appsId}/services/{servicesId}/versions", "description": "Lists the versions of a service.", - "httpMethod": "GET", + "response": { + "$ref": "ListVersionsResponse" + }, "parameterOrder": [ "appsId", "servicesId" ], - "response": { - "$ref": "ListVersionsResponse" - }, + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], "parameters": { "servicesId": { "description": "Part of `parent`. See documentation of `appsId`.", @@ -607,9 +1133,9 @@ "location": "path" }, "pageToken": { + "description": "Continuation token for fetching the next page of results.", "type": "string", - "location": "query", - "description": "Continuation token for fetching the next page of results." + "location": "query" }, "appsId": { "location": "path", @@ -633,19 +1159,158 @@ "type": "string" } }, - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "flatPath": "v1/apps/{appsId}/services/{servicesId}/versions", - "path": "v1/apps/{appsId}/services/{servicesId}/versions", - "id": "appengine.apps.services.versions.list" + "flatPath": "v1/apps/{appsId}/services/{servicesId}/versions" } }, "resources": { "instances": { "methods": { + "get": { + "flatPath": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", + "id": "appengine.apps.services.versions.instances.get", + "path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", + "description": "Gets instance information.", + "response": { + "$ref": "Instance" + }, + "parameterOrder": [ + "appsId", + "servicesId", + "versionsId", + "instancesId" + ], + "httpMethod": "GET", + "parameters": { + "servicesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "instancesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "appsId": { + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", + "type": "string", + "required": true, + "location": "path" + }, + "versionsId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "list": { + "description": "Lists the instances of a version.Tip: To aggregate details about instances over time, see the Stackdriver Monitoring API (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list).", + "response": { + "$ref": "ListInstancesResponse" + }, + "parameterOrder": [ + "appsId", + "servicesId", + "versionsId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "servicesId": { + "location": "path", + "description": "Part of `parent`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "pageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string", + "location": "query" + }, + "appsId": { + "description": "Part of `parent`. Name of the parent Version resource. Example: apps/myapp/services/default/versions/v1.", + "type": "string", + "required": true, + "location": "path" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Maximum results to return per page.", + "type": "integer" + }, + "versionsId": { + "description": "Part of `parent`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances", + "id": "appengine.apps.services.versions.instances.list", + "path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances" + }, + "debug": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "servicesId", + "versionsId", + "instancesId" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "versionsId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + }, + "servicesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "instancesId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + }, + "appsId": { + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug", + "id": "appengine.apps.services.versions.instances.debug", + "path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug", + "request": { + "$ref": "DebugInstanceRequest" + }, + "description": "Enables debugging on a VM instance. This allows you to use the SSH command to connect to the virtual machine where the instance lives. While in \"debug mode\", the instance continues to serve live traffic. You should delete the instance when you are done debugging and then allow the system to take over and determine if another instance should be started.Only applicable for instances in App Engine flexible environment." + }, "delete": { "description": "Stops a running instance.", "response": { @@ -659,11 +1324,17 @@ ], "httpMethod": "DELETE", "parameters": { - "servicesId": { - "type": "string", - "required": true, + "versionsId": { "location": "path", - "description": "Part of `name`. See documentation of `appsId`." + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "servicesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true }, "instancesId": { "description": "Part of `name`. See documentation of `appsId`.", @@ -672,16 +1343,10 @@ "location": "path" }, "appsId": { + "location": "path", "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", "type": "string", - "required": true, - "location": "path" - }, - "versionsId": { - "type": "string", - "required": true, - "location": "path", - "description": "Part of `name`. See documentation of `appsId`." + "required": true } }, "scopes": [ @@ -690,184 +1355,137 @@ "flatPath": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", "id": "appengine.apps.services.versions.instances.delete", "path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}" - }, - "get": { - "httpMethod": "GET", - "response": { - "$ref": "Instance" - }, - "parameterOrder": [ - "appsId", - "servicesId", - "versionsId", - "instancesId" - ], - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "servicesId": { - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true, - "location": "path" - }, - "instancesId": { - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true, - "location": "path" - }, - "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", - "type": "string", - "required": true, - "location": "path" - }, - "versionsId": { - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true, - "location": "path" - } - }, - "flatPath": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", - "path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", - "id": "appengine.apps.services.versions.instances.get", - "description": "Gets instance information." - }, - "list": { - "description": "Lists the instances of a version.Tip: To aggregate details about instances over time, see the Stackdriver Monitoring API (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list).", - "httpMethod": "GET", - "parameterOrder": [ - "appsId", - "servicesId", - "versionsId" - ], - "response": { - "$ref": "ListInstancesResponse" - }, - "parameters": { - "servicesId": { - "location": "path", - "description": "Part of `parent`. See documentation of `appsId`.", - "type": "string", - "required": true - }, - "pageToken": { - "location": "query", - "description": "Continuation token for fetching the next page of results.", - "type": "string" - }, - "appsId": { - "description": "Part of `parent`. Name of the parent Version resource. Example: apps/myapp/services/default/versions/v1.", - "type": "string", - "required": true, - "location": "path" - }, - "pageSize": { - "type": "integer", - "location": "query", - "format": "int32", - "description": "Maximum results to return per page." - }, - "versionsId": { - "location": "path", - "description": "Part of `parent`. See documentation of `appsId`.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "flatPath": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances", - "path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances", - "id": "appengine.apps.services.versions.instances.list" - }, - "debug": { - "flatPath": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug", - "id": "appengine.apps.services.versions.instances.debug", - "path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug", - "description": "Enables debugging on a VM instance. This allows you to use the SSH command to connect to the virtual machine where the instance lives. While in \"debug mode\", the instance continues to serve live traffic. You should delete the instance when you are done debugging and then allow the system to take over and determine if another instance should be started.Only applicable for instances in App Engine flexible environment.", - "request": { - "$ref": "DebugInstanceRequest" - }, - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "appsId", - "servicesId", - "versionsId", - "instancesId" - ], - "httpMethod": "POST", - "parameters": { - "servicesId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - }, - "instancesId": { - "type": "string", - "required": true, - "location": "path", - "description": "Part of `name`. See documentation of `appsId`." - }, - "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", - "type": "string", - "required": true, - "location": "path" - }, - "versionsId": { - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true, - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] } } } } } } + }, + "authorizedDomains": { + "methods": { + "list": { + "response": { + "$ref": "ListAuthorizedDomainsResponse" + }, + "parameterOrder": [ + "appsId" + ], + "httpMethod": "GET", + "parameters": { + "pageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string", + "location": "query" + }, + "appsId": { + "location": "path", + "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "type": "string", + "required": true + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Maximum results to return per page.", + "type": "integer" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1/apps/{appsId}/authorizedDomains", + "id": "appengine.apps.authorizedDomains.list", + "path": "v1/apps/{appsId}/authorizedDomains", + "description": "Lists all domains the user is authorized to administer." + } + } + }, + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "operationsId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "appsId": { + "location": "path", + "description": "Part of `name`. The name of the operation resource.", + "type": "string", + "required": true + }, + "operationsId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/apps/{appsId}/operations/{operationsId}", + "id": "appengine.apps.operations.get", + "path": "v1/apps/{appsId}/operations/{operationsId}" + }, + "list": { + "httpMethod": "GET", + "parameterOrder": [ + "appsId" + ], + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "filter": { + "location": "query", + "description": "The standard list filter.", + "type": "string" + }, + "pageToken": { + "location": "query", + "description": "The standard list page token.", + "type": "string" + }, + "appsId": { + "description": "Part of `name`. The name of the operation's parent resource.", + "type": "string", + "required": true, + "location": "path" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "The standard list page size.", + "type": "integer" + } + }, + "flatPath": "v1/apps/{appsId}/operations", + "path": "v1/apps/{appsId}/operations", + "id": "appengine.apps.operations.list", + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: the name binding allows API services to override the binding to use different resource name schemes, such as users/*/operations. To override the binding, API services can add a binding such as \"/v1/{name=users/*}/operations\" to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id." + } + } } } } }, "parameters": { - "access_token": { - "location": "query", - "description": "OAuth access token.", - "type": "string" - }, - "key": { - "type": "string", - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token." - }, - "quotaUser": { - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string", - "location": "query" - }, - "pp": { - "location": "query", - "description": "Pretty-print response.", - "default": "true", - "type": "boolean" - }, "bearer_token": { "description": "OAuth bearer token.", "type": "string", @@ -879,9 +1497,9 @@ "type": "string" }, "upload_protocol": { - "type": "string", "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")." + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" }, "prettyPrint": { "description": "Returns response with indentations and line breaks.", @@ -890,34 +1508,40 @@ "location": "query" }, "uploadType": { - "location": "query", "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string" - }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", "type": "string", "location": "query" }, + "fields": { + "location": "query", + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + }, "$.xgafv": { + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", "type": "string", "enumDescriptions": [ "v1 error format", "v2 error format" ], - "location": "query", - "enum": [ - "1", - "2" - ], - "description": "V1 error format." - }, - "callback": { - "description": "JSONP", - "type": "string", "location": "query" }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, "alt": { + "enum": [ + "json", + "media", + "proto" + ], + "type": "string", "enumDescriptions": [ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", @@ -925,30 +1549,376 @@ ], "location": "query", "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], + "default": "json" + }, + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", "type": "string" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" + }, + "pp": { + "description": "Pretty-print response.", + "default": "true", + "type": "boolean", + "location": "query" } }, "schemas": { + "ListInstancesResponse": { + "description": "Response message for Instances.ListInstances.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string" + }, + "instances": { + "description": "The instances belonging to the requested version.", + "items": { + "$ref": "Instance" + }, + "type": "array" + } + }, + "id": "ListInstancesResponse" + }, + "ListDomainMappingsResponse": { + "properties": { + "domainMappings": { + "description": "The domain mappings for the application.", + "items": { + "$ref": "DomainMapping" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string" + } + }, + "id": "ListDomainMappingsResponse", + "description": "Response message for DomainMappings.ListDomainMappings.", + "type": "object" + }, + "OperationMetadataV1Alpha": { + "description": "Metadata for the given google.longrunning.Operation.", + "type": "object", + "properties": { + "ephemeralMessage": { + "description": "Ephemeral message that may change every time the operation is polled. @OutputOnly", + "type": "string" + }, + "method": { + "description": "API method that initiated this operation. Example: google.appengine.v1alpha.Versions.CreateVersion.@OutputOnly", + "type": "string" + }, + "endTime": { + "format": "google-datetime", + "description": "Time that this operation completed.@OutputOnly", + "type": "string" + }, + "warning": { + "description": "Durable messages that persist on every operation poll. @OutputOnly", + "items": { + "type": "string" + }, + "type": "array" + }, + "insertTime": { + "format": "google-datetime", + "description": "Time that this operation was created.@OutputOnly", + "type": "string" + }, + "user": { + "description": "User who requested this operation.@OutputOnly", + "type": "string" + }, + "target": { + "description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", + "type": "string" + } + }, + "id": "OperationMetadataV1Alpha" + }, + "UrlDispatchRule": { + "description": "Rules to match an HTTP request and dispatch that request to a service.", + "type": "object", + "properties": { + "path": { + "description": "Pathname within the host. Must start with a \"/\". A single \"*\" can be included at the end of the path.The sum of the lengths of the domain and path may not exceed 100 characters.", + "type": "string" + }, + "service": { + "description": "Resource ID of a service in this application that should serve the matched request. The service must already exist. Example: default.", + "type": "string" + }, + "domain": { + "description": "Domain name to match against. The wildcard \"*\" is supported if specified before a period: \"*.\".Defaults to matching all domains: \"*\".", + "type": "string" + } + }, + "id": "UrlDispatchRule" + }, + "ListVersionsResponse": { + "description": "Response message for Versions.ListVersions.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string" + }, + "versions": { + "description": "The versions belonging to the requested service.", + "items": { + "$ref": "Version" + }, + "type": "array" + } + }, + "id": "ListVersionsResponse" + }, + "ListAuthorizedDomainsResponse": { + "description": "Response message for AuthorizedDomains.ListAuthorizedDomains.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string" + }, + "domains": { + "description": "The authorized domains belonging to the user.", + "items": { + "$ref": "AuthorizedDomain" + }, + "type": "array" + } + }, + "id": "ListAuthorizedDomainsResponse" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance:\nservice Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n}\nThe JSON representation for Empty is empty JSON object {}.", + "type": "object", + "properties": {}, + "id": "Empty" + }, + "ApiEndpointHandler": { + "description": "Uses Google Cloud Endpoints to handle requests.", + "type": "object", + "properties": { + "scriptPath": { + "description": "Path to the script from the application root directory.", + "type": "string" + } + }, + "id": "ApiEndpointHandler" + }, + "DomainMapping": { + "description": "A domain serving an App Engine application.", + "type": "object", + "properties": { + "sslSettings": { + "description": "SSL configuration for this domain. If unconfigured, this domain will not serve with SSL.", + "$ref": "SslSettings" + }, + "name": { + "description": "Full path to the DomainMapping resource in the API. Example: apps/myapp/domainMapping/example.com.@OutputOnly", + "type": "string" + }, + "resourceRecords": { + "description": "The resource records required to configure this domain mapping. These records must be added to the domain's DNS configuration in order to serve the application via this domain mapping.@OutputOnly", + "items": { + "$ref": "ResourceRecord" + }, + "type": "array" + }, + "id": { + "description": "Relative name of the domain serving the application. Example: example.com.", + "type": "string" + } + }, + "id": "DomainMapping" + }, + "ZipInfo": { + "description": "The zip file information for a zip deployment.", + "type": "object", + "properties": { + "filesCount": { + "format": "int32", + "description": "An estimate of the number of files in a zip for a zip deployment. If set, must be greater than or equal to the actual number of files. Used for optimizing performance; if not provided, deployment may be slow.", + "type": "integer" + }, + "sourceUrl": { + "description": "URL of the zip file to deploy from. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\u003cbucket\u003e/\u003cobject\u003e'.", + "type": "string" + } + }, + "id": "ZipInfo" + }, + "AutomaticScaling": { + "properties": { + "minTotalInstances": { + "format": "int32", + "description": "Minimum number of instances that should be maintained for this version.", + "type": "integer" + }, + "networkUtilization": { + "description": "Target scaling by network usage.", + "$ref": "NetworkUtilization" + }, + "maxConcurrentRequests": { + "format": "int32", + "description": "Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance.Defaults to a runtime-specific value.", + "type": "integer" + }, + "coolDownPeriod": { + "format": "google-duration", + "description": "Amount of time that the Autoscaler (https://cloud.google.com/compute/docs/autoscaler/) should wait between changes to the number of virtual machines. Only applicable for VM runtimes.", + "type": "string" + }, + "maxPendingLatency": { + "format": "google-duration", + "description": "Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it.", + "type": "string" + }, + "cpuUtilization": { + "description": "Target scaling by CPU usage.", + "$ref": "CpuUtilization" + }, + "diskUtilization": { + "description": "Target scaling by disk usage.", + "$ref": "DiskUtilization" + }, + "minPendingLatency": { + "format": "google-duration", + "description": "Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it.", + "type": "string" + }, + "maxIdleInstances": { + "format": "int32", + "description": "Maximum number of idle instances that should be maintained for this version.", + "type": "integer" + }, + "requestUtilization": { + "description": "Target scaling by request utilization.", + "$ref": "RequestUtilization" + }, + "minIdleInstances": { + "format": "int32", + "description": "Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a service.", + "type": "integer" + }, + "maxTotalInstances": { + "format": "int32", + "description": "Maximum number of instances that should be started to handle requests.", + "type": "integer" + } + }, + "id": "AutomaticScaling", + "description": "Automatic scaling is based on request rate, response latencies, and other application metrics.", + "type": "object" + }, + "AuthorizedCertificate": { + "properties": { + "name": { + "description": "Full path to the AuthorizedCertificate resource in the API. Example: apps/myapp/authorizedCertificates/12345.@OutputOnly", + "type": "string" + }, + "domainMappingsCount": { + "format": "int32", + "description": "Aggregate count of the domain mappings with this certificate mapped. This count includes domain mappings on applications for which the user does not have VIEWER permissions.Only returned by GET or LIST requests when specifically requested by the view=FULL_CERTIFICATE option.@OutputOnly", + "type": "integer" + }, + "domainNames": { + "description": "Topmost applicable domains of this certificate. This certificate applies to these domains and their subdomains. Example: example.com.@OutputOnly", + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "Relative name of the certificate. This is a unique value autogenerated on AuthorizedCertificate resource creation. Example: 12345.@OutputOnly", + "type": "string" + }, + "displayName": { + "description": "The user-specified display name of the certificate. This is not guaranteed to be unique. Example: My Certificate.", + "type": "string" + }, + "certificateRawData": { + "$ref": "CertificateRawData", + "description": "The SSL certificate serving the AuthorizedCertificate resource. This must be obtained independently from a certificate authority." + }, + "visibleDomainMappings": { + "description": "The full paths to user visible Domain Mapping resources that have this certificate mapped. Example: apps/myapp/domainMappings/example.com.This may not represent the full list of mapped domain mappings if the user does not have VIEWER permissions on all of the applications that have this certificate mapped. See domain_mappings_count for a complete count.Only returned by GET or LIST requests when specifically requested by the view=FULL_CERTIFICATE option.@OutputOnly", + "items": { + "type": "string" + }, + "type": "array" + }, + "expireTime": { + "format": "google-datetime", + "description": "The time when this certificate expires. To update the renewal time on this certificate, upload an SSL certificate with a different expiration time using AuthorizedCertificates.UpdateAuthorizedCertificate.@OutputOnly", + "type": "string" + } + }, + "id": "AuthorizedCertificate", + "description": "An SSL certificate that a user has been authorized to administer. A user is authorized to administer any certificate that applies to one of their authorized domains.", + "type": "object" + }, + "ResourceRecord": { + "description": "A DNS resource record.", + "type": "object", + "properties": { + "name": { + "description": "Relative name of the object affected by this record. Only applicable for CNAME records. Example: 'www'.", + "type": "string" + }, + "type": { + "enum": [ + "RECORD_TYPE_UNSPECIFIED", + "A", + "AAAA", + "CNAME" + ], + "description": "Resource record type. Example: AAAA.", + "type": "string", + "enumDescriptions": [ + "An unknown resource record.", + "An A resource record. Data is an IPv4 address.", + "An AAAA resource record. Data is an IPv6 address.", + "A CNAME resource record. Data is a domain name to be aliased." + ] + }, + "rrdata": { + "description": "Data for this record. Values vary by record type, as defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1).", + "type": "string" + } + }, + "id": "ResourceRecord" + }, "Library": { + "description": "Third-party Python runtime library that is required by the application.", + "type": "object", "properties": { "version": { "description": "Version of the library to select, or \"latest\".", "type": "string" }, "name": { - "type": "string", - "description": "Name of the library. Example: \"django\"." + "description": "Name of the library. Example: \"django\".", + "type": "string" } }, - "id": "Library", - "description": "Third-party Python runtime library that is required by the application.", - "type": "object" + "id": "Library" }, "ListLocationsResponse": { "description": "The response message for Locations.ListLocations.", @@ -969,24 +1939,24 @@ "id": "ListLocationsResponse" }, "ContainerInfo": { + "description": "Docker image that is used to create a container and start a VM instance for the version that you deploy. Only applicable for instances running in the App Engine flexible environment.", + "type": "object", "properties": { "image": { "description": "URI to the hosted container image in Google Container Registry. The URI must be fully qualified and include a tag or digest. Examples: \"gcr.io/my-project/image:tag\" or \"gcr.io/my-project/image@digest\"", "type": "string" } }, - "id": "ContainerInfo", - "description": "Docker image that is used to create a container and start a VM instance for the version that you deploy. Only applicable for instances running in the App Engine flexible environment.", - "type": "object" + "id": "ContainerInfo" }, "RequestUtilization": { "description": "Target scaling by request utilization. Only applicable for VM runtimes.", "type": "object", "properties": { "targetRequestCountPerSecond": { - "type": "integer", "format": "int32", - "description": "Target requests per second." + "description": "Target requests per second.", + "type": "integer" }, "targetConcurrentRequests": { "format": "int32", @@ -1000,47 +1970,21 @@ "description": "URL pattern and description of how the URL should be handled. App Engine can handle URLs by executing application code or by serving static files uploaded with the version, such as images, CSS, or JavaScript.", "type": "object", "properties": { - "securityLevel": { - "enumDescriptions": [ - "Not specified.", - "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used, and respond accordingly.", - "Requests for a URL that match this handler that use HTTPS are automatically redirected to the HTTP equivalent URL.", - "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used and respond accordingly.", - "Requests for a URL that match this handler that do not use HTTPS are automatically redirected to the HTTPS URL with the same path. Query parameters are reserved for the redirect." - ], - "enum": [ - "SECURE_UNSPECIFIED", - "SECURE_DEFAULT", - "SECURE_NEVER", - "SECURE_OPTIONAL", - "SECURE_ALWAYS" - ], - "description": "Security (HTTPS) enforcement for this URL.", - "type": "string" - }, - "authFailAction": { - "description": "Action to take when users access resources that require authentication. Defaults to redirect.", - "type": "string", - "enumDescriptions": [ - "Not specified. AUTH_FAIL_ACTION_REDIRECT is assumed.", - "Redirects user to \"accounts.google.com\". The user is redirected back to the application URL after signing in or creating an account.", - "Rejects request with a 401 HTTP status code and an error message." - ], - "enum": [ - "AUTH_FAIL_ACTION_UNSPECIFIED", - "AUTH_FAIL_ACTION_REDIRECT", - "AUTH_FAIL_ACTION_UNAUTHORIZED" - ] - }, "script": { - "description": "Executes a script to handle the request that matches this URL pattern.", - "$ref": "ScriptHandler" + "$ref": "ScriptHandler", + "description": "Executes a script to handle the request that matches this URL pattern." }, "urlRegex": { "description": "URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path.", "type": "string" }, "login": { + "enum": [ + "LOGIN_UNSPECIFIED", + "LOGIN_OPTIONAL", + "LOGIN_ADMIN", + "LOGIN_REQUIRED" + ], "description": "Level of login required to access this resource.", "type": "string", "enumDescriptions": [ @@ -1048,17 +1992,11 @@ "Does not require that the user is signed in.", "If the user is not signed in, the auth_fail_action is taken. In addition, if the user is not an administrator for the application, they are given an error message regardless of auth_fail_action. If the user is an administrator, the handler proceeds.", "If the user has signed in, the handler proceeds normally. Otherwise, the auth_fail_action is taken." - ], - "enum": [ - "LOGIN_UNSPECIFIED", - "LOGIN_OPTIONAL", - "LOGIN_ADMIN", - "LOGIN_REQUIRED" ] }, "apiEndpoint": { - "$ref": "ApiEndpointHandler", - "description": "Uses API Endpoints to handle requests." + "description": "Uses API Endpoints to handle requests.", + "$ref": "ApiEndpointHandler" }, "staticFiles": { "$ref": "StaticFilesHandler", @@ -1081,64 +2019,7 @@ "303 See Other code.", "307 Temporary Redirect code." ] - } - }, - "id": "UrlMap" - }, - "EndpointsApiService": { - "description": "Cloud Endpoints (https://cloud.google.com/endpoints) configuration. The Endpoints API Service provides tooling for serving Open API and gRPC endpoints via an NGINX proxy.The fields here refer to the name and configuration id of a \"service\" resource in the Service Management API (https://cloud.google.com/service-management/overview).", - "type": "object", - "properties": { - "configId": { - "type": "string", - "description": "Endpoints service configuration id as specified by the Service Management API. For example \"2016-09-19r1\"" }, - "name": { - "description": "Endpoints service name which is the name of the \"service\" resource in the Service Management API. For example \"myapi.endpoints.myproject.cloud.goog\"", - "type": "string" - } - }, - "id": "EndpointsApiService" - }, - "Operation": { - "type": "object", - "properties": { - "done": { - "type": "boolean", - "description": "If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available." - }, - "response": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.", - "type": "object" - }, - "name": { - "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should have the format of operations/some/unique/name.", - "type": "string" - }, - "error": { - "$ref": "Status", - "description": "The error result of the operation in case of failure or cancellation." - }, - "metadata": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", - "type": "object" - } - }, - "id": "Operation", - "description": "This resource represents a long-running operation that is the result of a network API call." - }, - "ApiConfigHandler": { - "description": "Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/endpoints/) configuration for API handlers.", - "type": "object", - "properties": { "securityLevel": { "enumDescriptions": [ "Not specified.", @@ -1157,6 +2038,99 @@ "description": "Security (HTTPS) enforcement for this URL.", "type": "string" }, + "authFailAction": { + "enumDescriptions": [ + "Not specified. AUTH_FAIL_ACTION_REDIRECT is assumed.", + "Redirects user to \"accounts.google.com\". The user is redirected back to the application URL after signing in or creating an account.", + "Rejects request with a 401 HTTP status code and an error message." + ], + "enum": [ + "AUTH_FAIL_ACTION_UNSPECIFIED", + "AUTH_FAIL_ACTION_REDIRECT", + "AUTH_FAIL_ACTION_UNAUTHORIZED" + ], + "description": "Action to take when users access resources that require authentication. Defaults to redirect.", + "type": "string" + } + }, + "id": "UrlMap" + }, + "EndpointsApiService": { + "properties": { + "configId": { + "description": "Endpoints service configuration id as specified by the Service Management API. For example \"2016-09-19r1\"", + "type": "string" + }, + "name": { + "description": "Endpoints service name which is the name of the \"service\" resource in the Service Management API. For example \"myapi.endpoints.myproject.cloud.goog\"", + "type": "string" + } + }, + "id": "EndpointsApiService", + "description": "Cloud Endpoints (https://cloud.google.com/endpoints) configuration. The Endpoints API Service provides tooling for serving Open API and gRPC endpoints via an NGINX proxy.The fields here refer to the name and configuration id of a \"service\" resource in the Service Management API (https://cloud.google.com/service-management/overview).", + "type": "object" + }, + "Operation": { + "properties": { + "error": { + "description": "The error result of the operation in case of failure or cancellation.", + "$ref": "Status" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "done": { + "description": "If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.", + "type": "boolean" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should have the format of operations/some/unique/name.", + "type": "string" + } + }, + "id": "Operation", + "description": "This resource represents a long-running operation that is the result of a network API call.", + "type": "object" + }, + "ApiConfigHandler": { + "description": "Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/endpoints/) configuration for API handlers.", + "type": "object", + "properties": { + "url": { + "description": "URL to serve the endpoint at.", + "type": "string" + }, + "securityLevel": { + "enum": [ + "SECURE_UNSPECIFIED", + "SECURE_DEFAULT", + "SECURE_NEVER", + "SECURE_OPTIONAL", + "SECURE_ALWAYS" + ], + "description": "Security (HTTPS) enforcement for this URL.", + "type": "string", + "enumDescriptions": [ + "Not specified.", + "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used, and respond accordingly.", + "Requests for a URL that match this handler that use HTTPS are automatically redirected to the HTTP equivalent URL.", + "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used and respond accordingly.", + "Requests for a URL that match this handler that do not use HTTPS are automatically redirected to the HTTPS URL with the same path. Query parameters are reserved for the redirect." + ] + }, "authFailAction": { "enumDescriptions": [ "Not specified. AUTH_FAIL_ACTION_REDIRECT is assumed.", @@ -1176,6 +2150,8 @@ "type": "string" }, "login": { + "description": "Level of login required to access this resource. Defaults to optional.", + "type": "string", "enumDescriptions": [ "Not specified. LOGIN_OPTIONAL is assumed.", "Does not require that the user is signed in.", @@ -1187,39 +2163,25 @@ "LOGIN_OPTIONAL", "LOGIN_ADMIN", "LOGIN_REQUIRED" - ], - "description": "Level of login required to access this resource. Defaults to optional.", - "type": "string" - }, - "url": { - "description": "URL to serve the endpoint at.", - "type": "string" + ] } }, "id": "ApiConfigHandler" }, "StaticFilesHandler": { + "description": "Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them.", "type": "object", "properties": { - "requireMatchingFile": { - "type": "boolean", - "description": "Whether this handler should match the request if the file referenced by the handler does not exist." - }, - "expiration": { - "format": "google-duration", - "description": "Time a static file served by this handler should be cached by web proxies and browsers.", - "type": "string" - }, "applicationReadable": { "description": "Whether files should also be uploaded as code data. By default, files declared in static file handlers are uploaded as static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged against both your code and static data storage resource quotas.", "type": "boolean" }, "httpHeaders": { + "description": "HTTP headers to use for all responses from these URLs.", + "type": "object", "additionalProperties": { "type": "string" - }, - "description": "HTTP headers to use for all responses from these URLs.", - "type": "object" + } }, "uploadPathRegex": { "description": "Regular expression that matches the file paths for all files that should be referenced by this handler.", @@ -1232,24 +2194,32 @@ "mimeType": { "description": "MIME type used to serve all files served by this handler.Defaults to file-specific MIME types, which are derived from each file's filename extension.", "type": "string" + }, + "requireMatchingFile": { + "description": "Whether this handler should match the request if the file referenced by the handler does not exist.", + "type": "boolean" + }, + "expiration": { + "format": "google-duration", + "description": "Time a static file served by this handler should be cached by web proxies and browsers.", + "type": "string" } }, - "id": "StaticFilesHandler", - "description": "Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them." + "id": "StaticFilesHandler" }, "BasicScaling": { "description": "A service with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity.", "type": "object", "properties": { - "maxInstances": { - "type": "integer", - "format": "int32", - "description": "Maximum number of instances to create for this version." - }, "idleTimeout": { "format": "google-duration", "description": "Duration of time after the last request that an instance must wait before the instance is shut down.", "type": "string" + }, + "maxInstances": { + "format": "int32", + "description": "Maximum number of instances to create for this version.", + "type": "integer" } }, "id": "BasicScaling" @@ -1285,42 +2255,19 @@ "description": "Target scaling by CPU usage.", "type": "object", "properties": { - "targetUtilization": { - "format": "double", - "description": "Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1.", - "type": "number" - }, "aggregationWindowLength": { "format": "google-duration", "description": "Period of time over which CPU utilization is calculated.", "type": "string" + }, + "targetUtilization": { + "format": "double", + "description": "Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1.", + "type": "number" } }, "id": "CpuUtilization" }, - "IdentityAwareProxy": { - "properties": { - "oauth2ClientSecretSha256": { - "type": "string", - "description": "Hex-encoded SHA-256 hash of the client secret.@OutputOnly" - }, - "enabled": { - "description": "Whether the serving infrastructure will authenticate and authorize all incoming requests.If true, the oauth2_client_id and oauth2_client_secret fields must be non-empty.", - "type": "boolean" - }, - "oauth2ClientSecret": { - "description": "OAuth2 client secret to use for the authentication flow.For security reasons, this value cannot be retrieved via the API. Instead, the SHA-256 hash of the value is returned in the oauth2_client_secret_sha256 field.@InputOnly", - "type": "string" - }, - "oauth2ClientId": { - "description": "OAuth2 client ID to use for the authentication flow.", - "type": "string" - } - }, - "id": "IdentityAwareProxy", - "description": "Identity-Aware Proxy", - "type": "object" - }, "Status": { "description": "The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). The error model is designed to be:\nSimple to use and understand for most users\nFlexible enough to meet unexpected needsOverviewThe Status message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers understand and resolve the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package google.rpc that can be used for common error conditions.Language mappingThe Status message is the logical representation of the error model, but it is not necessarily the actual wire format. When the Status message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C.Other usesThe error model and the Status message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments.Example uses of this error model include:\nPartial errors. If a service needs to return partial errors to the client, it may embed the Status in the normal response to indicate the partial errors.\nWorkflow errors. A typical workflow has multiple steps. Each step may have a Status message for error reporting.\nBatch operations. If a client uses batch request and batch response, the Status message should be used directly inside batch response, one for each error sub-response.\nAsynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the Status message.\nLogging. If some API errors are stored in logs, the message Status could be used directly after any stripping needed for security/privacy reasons.", "type": "object", @@ -1335,7 +2282,7 @@ "type": "string" }, "details": { - "description": "A list of messages that carry the error details. There will be a common set of message types for APIs to use.", + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", "items": { "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", @@ -1348,82 +2295,95 @@ }, "id": "Status" }, + "IdentityAwareProxy": { + "description": "Identity-Aware Proxy", + "type": "object", + "properties": { + "oauth2ClientSecret": { + "description": "OAuth2 client secret to use for the authentication flow.For security reasons, this value cannot be retrieved via the API. Instead, the SHA-256 hash of the value is returned in the oauth2_client_secret_sha256 field.@InputOnly", + "type": "string" + }, + "oauth2ClientId": { + "description": "OAuth2 client ID to use for the authentication flow.", + "type": "string" + }, + "oauth2ClientSecretSha256": { + "description": "Hex-encoded SHA-256 hash of the client secret.@OutputOnly", + "type": "string" + }, + "enabled": { + "description": "Whether the serving infrastructure will authenticate and authorize all incoming requests.If true, the oauth2_client_id and oauth2_client_secret fields must be non-empty.", + "type": "boolean" + } + }, + "id": "IdentityAwareProxy" + }, "ManualScaling": { - "id": "ManualScaling", "description": "A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time.", "type": "object", "properties": { "instances": { - "type": "integer", "format": "int32", - "description": "Number of instances to assign to the service at the start. This number can later be altered by using the Modules API (https://cloud.google.com/appengine/docs/python/modules/functions) set_num_instances() function." + "description": "Number of instances to assign to the service at the start. This number can later be altered by using the Modules API (https://cloud.google.com/appengine/docs/python/modules/functions) set_num_instances() function.", + "type": "integer" } - } + }, + "id": "ManualScaling" }, "LocationMetadata": { + "description": "Metadata for the given google.cloud.location.Location.", "type": "object", "properties": { "flexibleEnvironmentAvailable": { - "type": "boolean", - "description": "App Engine Flexible Environment is available in the given location.@OutputOnly" + "description": "App Engine Flexible Environment is available in the given location.@OutputOnly", + "type": "boolean" }, "standardEnvironmentAvailable": { "description": "App Engine Standard Environment is available in the given location.@OutputOnly", "type": "boolean" } }, - "id": "LocationMetadata", - "description": "Metadata for the given google.cloud.location.Location." + "id": "LocationMetadata" }, "Service": { + "description": "A Service resource is a logical component of an application that can share state and communicate in a secure fashion with other services. For example, an application that handles customer requests might include separate services to handle tasks such as backend data analysis or API requests from mobile devices. Each service has a collection of versions that define a specific set of code used to implement the functionality of that service.", "type": "object", "properties": { + "name": { + "description": "Full path to the Service resource in the API. Example: apps/myapp/services/default.@OutputOnly", + "type": "string" + }, "split": { - "$ref": "TrafficSplit", - "description": "Mapping that defines fractional HTTP traffic diversion to different versions within the service." + "description": "Mapping that defines fractional HTTP traffic diversion to different versions within the service.", + "$ref": "TrafficSplit" }, "id": { "description": "Relative name of the service within the application. Example: default.@OutputOnly", "type": "string" - }, - "name": { - "description": "Full path to the Service resource in the API. Example: apps/myapp/services/default.@OutputOnly", - "type": "string" } }, - "id": "Service", - "description": "A Service resource is a logical component of an application that can share state and communicate in a secure fashion with other services. For example, an application that handles customer requests might include separate services to handle tasks such as backend data analysis or API requests from mobile devices. Each service has a collection of versions that define a specific set of code used to implement the functionality of that service." + "id": "Service" }, "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", "type": "object", "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, "operations": { "description": "A list of operations that matches the specified filter in the request.", "items": { "$ref": "Operation" }, "type": "array" - }, - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" } }, - "id": "ListOperationsResponse", - "description": "The response message for Operations.ListOperations." + "id": "ListOperationsResponse" }, "OperationMetadata": { - "description": "Metadata for the given google.longrunning.Operation.", - "type": "object", "properties": { - "target": { - "description": "Name of the resource that this operation is acting on. Example: apps/myapp/modules/default.@OutputOnly", - "type": "string" - }, - "user": { - "description": "User who requested this operation.@OutputOnly", - "type": "string" - }, "method": { "description": "API method that initiated this operation. Example: google.appengine.v1beta4.Version.CreateVersion.@OutputOnly", "type": "string" @@ -1441,21 +2401,141 @@ "format": "google-datetime", "description": "Timestamp that this operation was created.@OutputOnly", "type": "string" - } - }, - "id": "OperationMetadata" - }, - "OperationMetadataV1": { - "properties": { - "method": { - "description": "API method that initiated this operation. Example: google.appengine.v1.Versions.CreateVersion.@OutputOnly", + }, + "user": { + "description": "User who requested this operation.@OutputOnly", "type": "string" }, + "target": { + "description": "Name of the resource that this operation is acting on. Example: apps/myapp/modules/default.@OutputOnly", + "type": "string" + } + }, + "id": "OperationMetadata", + "description": "Metadata for the given google.longrunning.Operation.", + "type": "object" + }, + "FirewallRule": { + "description": "A single firewall rule that is evaluated against incoming traffic and provides an action to take on matched requests.", + "type": "object", + "properties": { + "sourceRange": { + "description": "IP address or range, defined using CIDR notation, of requests that this rule applies to. You can use the wildcard character \"*\" to match all IPs equivalent to \"0/0\" and \"::/0\" together. Examples: 192.168.1.1 or 192.168.0.0/16 or 2001:db8::/32 or 2001:0db8:0000:0042:0000:8a2e:0370:7334.\u003cp\u003eTruncation will be silently performed on addresses which are not properly truncated. For example, 1.2.3.4/24 is accepted as the same address as 1.2.3.0/24. Similarly, for IPv6, 2001:db8::1/32 is accepted as the same address as 2001:db8::/32.", + "type": "string" + }, + "priority": { + "format": "int32", + "description": "A positive integer between 1, Int32.MaxValue-1 that defines the order of rule evaluation. Rules with the lowest priority are evaluated first.A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic when no previous rule matches. Only the action of this rule can be modified by the user.", + "type": "integer" + }, + "action": { + "description": "The action to take on matched requests.", + "type": "string", + "enumDescriptions": [ + "", + "Matching requests are allowed.", + "Matching requests are denied." + ], + "enum": [ + "UNSPECIFIED_ACTION", + "ALLOW", + "DENY" + ] + }, + "description": { + "description": "An optional string description of this rule. This field has a maximum length of 100 characters.", + "type": "string" + } + }, + "id": "FirewallRule" + }, + "ListAuthorizedCertificatesResponse": { + "description": "Response message for AuthorizedCertificates.ListAuthorizedCertificates.", + "type": "object", + "properties": { + "certificates": { + "description": "The SSL certificates the user is authorized to administer.", + "items": { + "$ref": "AuthorizedCertificate" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string" + } + }, + "id": "ListAuthorizedCertificatesResponse" + }, + "FeatureSettings": { + "properties": { + "splitHealthChecks": { + "description": "Boolean value indicating if split health checks should be used instead of the legacy health checks. At an app.yaml level, this means defaulting to 'readiness_check' and 'liveness_check' values instead of 'health_check' ones. Once the legacy 'health_check' behavior is deprecated, and this value is always true, this setting can be removed.", + "type": "boolean" + } + }, + "id": "FeatureSettings", + "description": "The feature specific settings to be used in the application. These define behaviors that are user configurable.", + "type": "object" + }, + "ErrorHandler": { + "description": "Custom static error page to be served when an error occurs.", + "type": "object", + "properties": { + "mimeType": { + "description": "MIME type of file. Defaults to text/html.", + "type": "string" + }, + "errorCode": { + "enum": [ + "ERROR_CODE_UNSPECIFIED", + "ERROR_CODE_DEFAULT", + "ERROR_CODE_OVER_QUOTA", + "ERROR_CODE_DOS_API_DENIAL", + "ERROR_CODE_TIMEOUT" + ], + "description": "Error condition this handler applies to.", + "type": "string", + "enumDescriptions": [ + "Not specified. ERROR_CODE_DEFAULT is assumed.", + "All other error types.", + "Application has exceeded a resource quota.", + "Client blocked by the application's Denial of Service protection configuration.", + "Deadline reached before the application responds." + ] + }, + "staticFile": { + "description": "Static file content to be served for this error.", + "type": "string" + } + }, + "id": "ErrorHandler" + }, + "SslSettings": { + "description": "SSL configuration for a DomainMapping resource.", + "type": "object", + "properties": { + "certificateId": { + "description": "ID of the AuthorizedCertificate resource configuring SSL for the application. Clearing this field will remove SSL support. Example: 12345.", + "type": "string" + } + }, + "id": "SslSettings" + }, + "OperationMetadataV1": { + "description": "Metadata for the given google.longrunning.Operation.", + "type": "object", + "properties": { "endTime": { "format": "google-datetime", "description": "Time that this operation completed.@OutputOnly", "type": "string" }, + "insertTime": { + "format": "google-datetime", + "description": "Time that this operation was created.@OutputOnly", + "type": "string" + }, "warning": { "description": "Durable messages that persist on every operation poll. @OutputOnly", "items": { @@ -1463,91 +2543,49 @@ }, "type": "array" }, - "insertTime": { - "format": "google-datetime", - "description": "Time that this operation was created.@OutputOnly", + "target": { + "description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", "type": "string" }, "user": { "description": "User who requested this operation.@OutputOnly", "type": "string" }, - "target": { - "description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", - "type": "string" - }, "ephemeralMessage": { "description": "Ephemeral message that may change every time the operation is polled. @OutputOnly", "type": "string" - } - }, - "id": "OperationMetadataV1", - "description": "Metadata for the given google.longrunning.Operation.", - "type": "object" - }, - "ErrorHandler": { - "type": "object", - "properties": { - "mimeType": { - "type": "string", - "description": "MIME type of file. Defaults to text/html." }, - "errorCode": { - "description": "Error condition this handler applies to.", - "type": "string", - "enumDescriptions": [ - "Not specified. ERROR_CODE_DEFAULT is assumed.", - "All other error types.", - "Application has exceeded a resource quota.", - "Client blocked by the application's Denial of Service protection configuration.", - "Deadline reached before the application responds." - ], - "enum": [ - "ERROR_CODE_UNSPECIFIED", - "ERROR_CODE_DEFAULT", - "ERROR_CODE_OVER_QUOTA", - "ERROR_CODE_DOS_API_DENIAL", - "ERROR_CODE_TIMEOUT" - ] - }, - "staticFile": { - "type": "string", - "description": "Static file content to be served for this error." - } - }, - "id": "ErrorHandler", - "description": "Custom static error page to be served when an error occurs." - }, - "Network": { - "description": "Extra network settings. Only applicable for VM runtimes.", - "type": "object", - "properties": { - "subnetworkName": { - "description": "Google Cloud Platform sub-network where the virtual machines are created. Specify the short name, not the resource path.If a subnetwork name is specified, a network name will also be required unless it is for the default network.\nIf the network the VM instance is being created in is a Legacy network, then the IP address is allocated from the IPv4Range.\nIf the network the VM instance is being created in is an auto Subnet Mode Network, then only network name should be specified (not the subnetwork_name) and the IP address is created from the IPCidrRange of the subnetwork that exists in that zone for that network.\nIf the network the VM instance is being created in is a custom Subnet Mode Network, then the subnetwork_name must be specified and the IP address is created from the IPCidrRange of the subnetwork.If specified, the subnetwork must exist in the same region as the Flex app.", - "type": "string" - }, - "instanceTag": { - "description": "Tag to apply to the VM instance during creation.", - "type": "string" - }, - "forwardedPorts": { - "description": "List of ports, or port pairs, to forward from the virtual machine to the application container.", - "items": { - "type": "string" - }, - "type": "array" - }, - "name": { - "description": "Google Cloud Platform network where the virtual machines are created. Specify the short name, not the resource path.Defaults to default.", + "method": { + "description": "API method that initiated this operation. Example: google.appengine.v1.Versions.CreateVersion.@OutputOnly", "type": "string" } }, - "id": "Network" + "id": "OperationMetadataV1" }, "Application": { + "description": "An Application resource contains the top-level configuration of an App Engine application. Next tag: 20", "type": "object", "properties": { + "defaultCookieExpiration": { + "format": "google-duration", + "description": "Cookie expiration policy for this application.", + "type": "string" + }, + "id": { + "description": "Identifier of the Application resource. This identifier is equivalent to the project ID of the Google Cloud Platform project where you want to deploy your application. Example: myapp.", + "type": "string" + }, + "locationId": { + "description": "Location from which this application will be run. Application instances will run out of data centers in the chosen location, which is also where all of the application's end user content is stored.Defaults to us-central.Options are:us-central - Central USeurope-west - Western Europeus-east1 - Eastern US", + "type": "string" + }, "servingStatus": { + "enumDescriptions": [ + "Serving status is unspecified.", + "Application is serving.", + "Application has been disabled by the user.", + "Application has been disabled by the system." + ], "enum": [ "UNSPECIFIED", "SERVING", @@ -1555,25 +2593,23 @@ "SYSTEM_DISABLED" ], "description": "Serving status of this application.", - "type": "string", - "enumDescriptions": [ - "Serving status is unspecified.", - "Application is serving.", - "Application has been disabled by the user.", - "Application has been disabled by the system." - ] + "type": "string" }, "defaultHostname": { "description": "Hostname used to reach this application, as resolved by App Engine.@OutputOnly", "type": "string" }, - "authDomain": { - "description": "Google Apps authentication domain that controls which users can access this application.Defaults to open access for any Google Account.", - "type": "string" + "featureSettings": { + "$ref": "FeatureSettings", + "description": "The feature specific settings to be used in the application." }, "iap": { "$ref": "IdentityAwareProxy" }, + "authDomain": { + "description": "Google Apps authentication domain that controls which users can access this application.Defaults to open access for any Google Account.", + "type": "string" + }, "codeBucket": { "description": "Google Cloud Storage bucket that can be used for storing files associated with this application. This bucket is associated with the application and can be used by the gcloud deployment commands.@OutputOnly", "type": "string" @@ -1594,34 +2630,42 @@ "type": "string" }, "name": { - "type": "string", - "description": "Full path to the Application resource in the API. Example: apps/myapp.@OutputOnly" - }, - "defaultCookieExpiration": { - "format": "google-duration", - "description": "Cookie expiration policy for this application.", - "type": "string" - }, - "id": { - "description": "Identifier of the Application resource. This identifier is equivalent to the project ID of the Google Cloud Platform project where you want to deploy your application. Example: myapp.", - "type": "string" - }, - "locationId": { - "description": "Location from which this application will be run. Application instances will run out of data centers in the chosen location, which is also where all of the application's end user content is stored.Defaults to us-central.Options are:us-central - Central USeurope-west - Western Europeus-east1 - Eastern US", + "description": "Full path to the Application resource in the API. Example: apps/myapp.@OutputOnly", "type": "string" } }, - "id": "Application", - "description": "An Application resource contains the top-level configuration of an App Engine application. Next tag: 19" + "id": "Application" + }, + "Network": { + "description": "Extra network settings. Only applicable for App Engine flexible environment versions", + "type": "object", + "properties": { + "subnetworkName": { + "description": "Google Cloud Platform sub-network where the virtual machines are created. Specify the short name, not the resource path.If a subnetwork name is specified, a network name will also be required unless it is for the default network.\nIf the network the VM instance is being created in is a Legacy network, then the IP address is allocated from the IPv4Range.\nIf the network the VM instance is being created in is an auto Subnet Mode Network, then only network name should be specified (not the subnetwork_name) and the IP address is created from the IPCidrRange of the subnetwork that exists in that zone for that network.\nIf the network the VM instance is being created in is a custom Subnet Mode Network, then the subnetwork_name must be specified and the IP address is created from the IPCidrRange of the subnetwork.If specified, the subnetwork must exist in the same region as the App Engine flexible environment application.", + "type": "string" + }, + "instanceTag": { + "description": "Tag to apply to the VM instance during creation. Only applicable for for App Engine flexible environment versions.", + "type": "string" + }, + "forwardedPorts": { + "description": "List of ports, or port pairs, to forward from the virtual machine to the application container. Only applicable for App Engine flexible environment versions.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Google Compute Engine network where the virtual machines are created. Specify the short name, not the resource path.Defaults to default.", + "type": "string" + } + }, + "id": "Network" }, "Instance": { "description": "An Instance resource is the computing unit that App Engine uses to automatically scale an application.", "type": "object", "properties": { - "vmName": { - "description": "Name of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment.@OutputOnly", - "type": "string" - }, "qps": { "format": "float", "description": "Average queries per second (QPS) over the last minute.@OutputOnly", @@ -1631,21 +2675,21 @@ "description": "Virtual machine ID of this instance. Only applicable for instances in App Engine flexible environment.@OutputOnly", "type": "string" }, - "vmZoneName": { - "description": "Zone where the virtual machine is located. Only applicable for instances in App Engine flexible environment.@OutputOnly", - "type": "string" - }, "name": { "description": "Full path to the Instance resource in the API. Example: apps/myapp/services/default/versions/v1/instances/instance-1.@OutputOnly", "type": "string" }, + "vmZoneName": { + "description": "Zone where the virtual machine is located. Only applicable for instances in App Engine flexible environment.@OutputOnly", + "type": "string" + }, "averageLatency": { "format": "int32", "description": "Average latency (ms) over the last minute.@OutputOnly", "type": "integer" }, - "id": { - "description": "Relative name of the instance within the version. Example: instance-1.@OutputOnly", + "vmIp": { + "description": "The IP address of this instance. Only applicable for instances in App Engine flexible environment.@OutputOnly", "type": "string" }, "memoryUsage": { @@ -1653,12 +2697,8 @@ "description": "Total memory in use (bytes).@OutputOnly", "type": "string" }, - "vmIp": { - "description": "The IP address of this instance. Only applicable for instances in App Engine flexible environment.@OutputOnly", - "type": "string" - }, - "vmStatus": { - "description": "Status of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment.@OutputOnly", + "id": { + "description": "Relative name of the instance within the version. Example: instance-1.@OutputOnly", "type": "string" }, "errors": { @@ -1680,6 +2720,10 @@ "description": "Availability of the instance.@OutputOnly", "type": "string" }, + "vmStatus": { + "description": "Status of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment.@OutputOnly", + "type": "string" + }, "startTime": { "format": "google-datetime", "description": "Time that this instance was started.@OutputOnly", @@ -1697,21 +2741,31 @@ "appEngineRelease": { "description": "App Engine release this instance is running on.@OutputOnly", "type": "string" + }, + "vmName": { + "description": "Name of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment.@OutputOnly", + "type": "string" } }, "id": "Instance" }, "LivenessCheck": { + "description": "Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances.", "type": "object", "properties": { + "initialDelay": { + "format": "google-duration", + "description": "The initial delay before starting to execute the checks.", + "type": "string" + }, "path": { "description": "The request path.", "type": "string" }, "successThreshold": { - "type": "integer", "format": "uint32", - "description": "Number of consecutive successful checks required before considering the VM healthy." + "description": "Number of consecutive successful checks required before considering the VM healthy.", + "type": "integer" }, "host": { "description": "Host header to send when performing a HTTP Liveness check. Example: \"myapp.appspot.com\"", @@ -1731,22 +2785,37 @@ "format": "google-duration", "description": "Time before the check is considered failed.", "type": "string" - }, - "initialDelay": { - "format": "google-duration", - "description": "The initial delay before starting to execute the checks.", - "type": "string" } }, - "id": "LivenessCheck", - "description": "Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances." + "id": "LivenessCheck" + }, + "BatchUpdateIngressRulesRequest": { + "description": "Request message for Firewall.BatchUpdateIngressRules.", + "type": "object", + "properties": { + "ingressRules": { + "description": "A list of FirewallRules to replace the existing set.", + "items": { + "$ref": "FirewallRule" + }, + "type": "array" + } + }, + "id": "BatchUpdateIngressRulesRequest" }, "NetworkUtilization": { + "description": "Target scaling by network usage. Only applicable for VM runtimes.", + "type": "object", "properties": { - "targetReceivedBytesPerSecond": { - "type": "integer", + "targetSentBytesPerSecond": { "format": "int32", - "description": "Target bytes received per second." + "description": "Target bytes sent per second.", + "type": "integer" + }, + "targetReceivedBytesPerSecond": { + "format": "int32", + "description": "Target bytes received per second.", + "type": "integer" }, "targetSentPacketsPerSecond": { "format": "int32", @@ -1757,33 +2826,12 @@ "format": "int32", "description": "Target packets received per second.", "type": "integer" - }, - "targetSentBytesPerSecond": { - "format": "int32", - "description": "Target bytes sent per second.", - "type": "integer" } }, - "id": "NetworkUtilization", - "description": "Target scaling by network usage. Only applicable for VM runtimes.", - "type": "object" + "id": "NetworkUtilization" }, "Location": { - "description": "A resource that represents Google Cloud Platform location.", - "type": "object", "properties": { - "locationId": { - "description": "The canonical id for this location. For example: \"us-east1\".", - "type": "string" - }, - "metadata": { - "description": "Service-specific metadata. For example the available capacity at the given location.", - "type": "object", - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - } - }, "labels": { "additionalProperties": { "type": "string" @@ -1794,54 +2842,86 @@ "name": { "description": "Resource name for the location, which may vary between implementations. For example: \"projects/example-project/locations/us-east1\"", "type": "string" + }, + "locationId": { + "description": "The canonical id for this location. For example: \"us-east1\".", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given location.", + "type": "object" } }, - "id": "Location" + "id": "Location", + "description": "A resource that represents Google Cloud Platform location.", + "type": "object" }, "HealthCheck": { + "description": "Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances. Only applicable for instances in App Engine flexible environment.", + "type": "object", "properties": { + "unhealthyThreshold": { + "format": "uint32", + "description": "Number of consecutive failed health checks required before removing traffic.", + "type": "integer" + }, + "disableHealthCheck": { + "description": "Whether to explicitly disable health checks for this instance.", + "type": "boolean" + }, "host": { "description": "Host header to send when performing an HTTP health check. Example: \"myapp.appspot.com\"", "type": "string" }, - "restartThreshold": { - "format": "uint32", - "description": "Number of consecutive failed health checks required before an instance is restarted.", - "type": "integer" - }, "healthyThreshold": { "format": "uint32", "description": "Number of consecutive successful health checks required before receiving traffic.", "type": "integer" }, + "restartThreshold": { + "format": "uint32", + "description": "Number of consecutive failed health checks required before an instance is restarted.", + "type": "integer" + }, "checkInterval": { - "type": "string", "format": "google-duration", - "description": "Interval between health checks." + "description": "Interval between health checks.", + "type": "string" }, "timeout": { "format": "google-duration", "description": "Time before the health check is considered failed.", "type": "string" - }, - "unhealthyThreshold": { - "type": "integer", - "format": "uint32", - "description": "Number of consecutive failed health checks required before removing traffic." - }, - "disableHealthCheck": { - "description": "Whether to explicitly disable health checks for this instance.", - "type": "boolean" } }, - "id": "HealthCheck", - "description": "Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances. Only applicable for instances in App Engine flexible environment.", - "type": "object" + "id": "HealthCheck" }, "ReadinessCheck": { "description": "Readiness checking configuration for VM instances. Unhealthy instances are removed from traffic rotation.", "type": "object", "properties": { + "appStartTimeout": { + "format": "google-duration", + "description": "A maximum time limit on application initialization, measured from moment the application successfully replies to a healthcheck until it is ready to serve traffic.", + "type": "string" + }, + "path": { + "description": "The request path.", + "type": "string" + }, + "successThreshold": { + "format": "uint32", + "description": "Number of consecutive successful checks required before receiving traffic.", + "type": "integer" + }, + "host": { + "description": "Host header to send when performing a HTTP Readiness check. Example: \"myapp.appspot.com\"", + "type": "string" + }, "checkInterval": { "format": "google-duration", "description": "Interval between health checks.", @@ -1856,19 +2936,6 @@ "format": "google-duration", "description": "Time before the check is considered failed.", "type": "string" - }, - "path": { - "description": "The request path.", - "type": "string" - }, - "host": { - "description": "Host header to send when performing a HTTP Readiness check. Example: \"myapp.appspot.com\"", - "type": "string" - }, - "successThreshold": { - "format": "uint32", - "description": "Number of consecutive successful checks required before receiving traffic.", - "type": "integer" } }, "id": "ReadinessCheck" @@ -1885,20 +2952,12 @@ "id": "DebugInstanceRequest" }, "OperationMetadataV1Beta5": { + "description": "Metadata for the given google.longrunning.Operation.", + "type": "object", "properties": { - "insertTime": { - "format": "google-datetime", - "description": "Timestamp that this operation was created.@OutputOnly", - "type": "string" - }, - "endTime": { - "type": "string", - "format": "google-datetime", - "description": "Timestamp that this operation completed.@OutputOnly" - }, "target": { - "type": "string", - "description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly" + "description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", + "type": "string" }, "user": { "description": "User who requested this operation.@OutputOnly", @@ -1907,42 +2966,24 @@ "method": { "description": "API method name that initiated this operation. Example: google.appengine.v1beta5.Version.CreateVersion.@OutputOnly", "type": "string" + }, + "insertTime": { + "format": "google-datetime", + "description": "Timestamp that this operation was created.@OutputOnly", + "type": "string" + }, + "endTime": { + "format": "google-datetime", + "description": "Timestamp that this operation completed.@OutputOnly", + "type": "string" } }, - "id": "OperationMetadataV1Beta5", - "description": "Metadata for the given google.longrunning.Operation.", - "type": "object" + "id": "OperationMetadataV1Beta5" }, "Version": { + "description": "A Version resource is a specific set of source code and configuration files that are deployed into a service.", "type": "object", "properties": { - "errorHandlers": { - "items": { - "$ref": "ErrorHandler" - }, - "type": "array", - "description": "Custom static error pages. Limited to 10KB per page.Only returned in GET requests if view=FULL is set." - }, - "defaultExpiration": { - "format": "google-duration", - "description": "Duration that static files should be cached by web proxies and browsers. Only applicable if the corresponding StaticFilesHandler (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#staticfileshandler) does not specify its own expiration time.Only returned in GET requests if view=FULL is set.", - "type": "string" - }, - "libraries": { - "description": "Configuration for third-party Python runtime libraries that are required by the application.Only returned in GET requests if view=FULL is set.", - "items": { - "$ref": "Library" - }, - "type": "array" - }, - "nobuildFilesRegex": { - "description": "Files that match this pattern will not be built into this version. Only applicable for Go runtimes.Only returned in GET requests if view=FULL is set.", - "type": "string" - }, - "basicScaling": { - "$ref": "BasicScaling", - "description": "A service with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity." - }, "runtime": { "description": "Desired runtime. Example: python27.", "type": "string" @@ -1956,18 +2997,18 @@ "type": "string" }, "envVariables": { - "description": "Environment variables available to the application.Only returned in GET requests if view=FULL is set.", - "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "Environment variables available to the application.Only returned in GET requests if view=FULL is set.", + "type": "object" }, "livenessCheck": { "$ref": "LivenessCheck", "description": "Configures liveness health checking for VM instances. Unhealthy instances are stopped and replaced with new instancesOnly returned in GET requests if view=FULL is set." }, "network": { - "description": "Extra network settings. Only applicable for VM runtimes.", + "description": "Extra network settings. Only applicable for App Engine flexible environment versions.", "$ref": "Network" }, "betaSettings": { @@ -1989,8 +3030,8 @@ "type": "array" }, "automaticScaling": { - "description": "Automatic scaling is based on request rate, response latencies, and other application metrics.", - "$ref": "AutomaticScaling" + "$ref": "AutomaticScaling", + "description": "Automatic scaling is based on request rate, response latencies, and other application metrics." }, "diskUsageBytes": { "format": "int64", @@ -2002,8 +3043,8 @@ "description": "Configures health checking for VM instances. Unhealthy instances are stopped and replaced with new instances. Only applicable for VM runtimes.Only returned in GET requests if view=FULL is set." }, "threadsafe": { - "type": "boolean", - "description": "Whether multiple requests can be dispatched to this version at once." + "description": "Whether multiple requests can be dispatched to this version at once.", + "type": "boolean" }, "readinessCheck": { "$ref": "ReadinessCheck", @@ -2014,41 +3055,41 @@ "description": "A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time." }, "name": { - "type": "string", - "description": "Full path to the Version resource in the API. Example: apps/myapp/services/default/versions/v1.@OutputOnly" + "description": "Full path to the Version resource in the API. Example: apps/myapp/services/default/versions/v1.@OutputOnly", + "type": "string" }, "apiConfig": { "$ref": "ApiConfigHandler", "description": "Serving configuration for Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/endpoints/).Only returned in GET requests if view=FULL is set." }, "endpointsApiService": { - "$ref": "EndpointsApiService", - "description": "Cloud Endpoints configuration.If endpoints_api_service is set, the Cloud Endpoints Extensible Service Proxy will be provided to serve the API implemented by the app." - }, - "versionUrl": { - "description": "Serving URL for this version. Example: \"https://myversion-dot-myservice-dot-myapp.appspot.com\"@OutputOnly", - "type": "string" + "description": "Cloud Endpoints configuration.If endpoints_api_service is set, the Cloud Endpoints Extensible Service Proxy will be provided to serve the API implemented by the app.", + "$ref": "EndpointsApiService" }, "vm": { "description": "Whether to deploy this version in a container on a virtual machine.", "type": "boolean" }, + "versionUrl": { + "description": "Serving URL for this version. Example: \"https://myversion-dot-myservice-dot-myapp.appspot.com\"@OutputOnly", + "type": "string" + }, "instanceClass": { "description": "Instance class that is used to run this version. Valid values are:\nAutomaticScaling: F1, F2, F4, F4_1G\nManualScaling or BasicScaling: B1, B2, B4, B8, B4_1GDefaults to F1 for AutomaticScaling and B1 for ManualScaling or BasicScaling.", "type": "string" }, "servingStatus": { + "enum": [ + "SERVING_STATUS_UNSPECIFIED", + "SERVING", + "STOPPED" + ], "description": "Current serving status of this version. Only the versions with a SERVING status create instances and can be billed.SERVING_STATUS_UNSPECIFIED is an invalid value. Defaults to SERVING.", "type": "string", "enumDescriptions": [ "Not specified.", "Currently serving. Instances are created according to the scaling settings of the version.", "Disabled. No instances will be created and the scaling settings are ignored until the state of the version changes to SERVING." - ], - "enum": [ - "SERVING_STATUS_UNSPECIFIED", - "SERVING", - "STOPPED" ] }, "runtimeApiVersion": { @@ -2064,22 +3105,7 @@ "description": "Time that this version was created.@OutputOnly", "type": "string" }, - "resources": { - "$ref": "Resources", - "description": "Machine resources for this version. Only applicable for VM runtimes." - }, "inboundServices": { - "enumDescriptions": [ - "Not specified.", - "Allows an application to receive mail.", - "Allows an application to receive email-bound notifications.", - "Allows an application to receive error stanzas.", - "Allows an application to receive instant messages.", - "Allows an application to receive user subscription POSTs.", - "Allows an application to receive a user's chat presence.", - "Registers an application for notifications when a client connects or disconnects from a channel.", - "Enables warmup requests." - ], "description": "Before an application can receive email or XMPP messages, the application must be configured to enable the service.", "items": { "enum": [ @@ -2095,11 +3121,52 @@ ], "type": "string" }, + "type": "array", + "enumDescriptions": [ + "Not specified.", + "Allows an application to receive mail.", + "Allows an application to receive email-bound notifications.", + "Allows an application to receive error stanzas.", + "Allows an application to receive instant messages.", + "Allows an application to receive user subscription POSTs.", + "Allows an application to receive a user's chat presence.", + "Registers an application for notifications when a client connects or disconnects from a channel.", + "Enables warmup requests." + ] + }, + "resources": { + "description": "Machine resources for this version. Only applicable for VM runtimes.", + "$ref": "Resources" + }, + "errorHandlers": { + "description": "Custom static error pages. Limited to 10KB per page.Only returned in GET requests if view=FULL is set.", + "items": { + "$ref": "ErrorHandler" + }, "type": "array" + }, + "defaultExpiration": { + "format": "google-duration", + "description": "Duration that static files should be cached by web proxies and browsers. Only applicable if the corresponding StaticFilesHandler (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#staticfileshandler) does not specify its own expiration time.Only returned in GET requests if view=FULL is set.", + "type": "string" + }, + "libraries": { + "description": "Configuration for third-party Python runtime libraries that are required by the application.Only returned in GET requests if view=FULL is set.", + "items": { + "$ref": "Library" + }, + "type": "array" + }, + "nobuildFilesRegex": { + "description": "Files that match this pattern will not be built into this version. Only applicable for Go runtimes.Only returned in GET requests if view=FULL is set.", + "type": "string" + }, + "basicScaling": { + "description": "A service with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity.", + "$ref": "BasicScaling" } }, - "id": "Version", - "description": "A Version resource is a specific set of source code and configuration files that are deployed into a service." + "id": "Version" }, "RepairApplicationRequest": { "description": "Request message for 'Applications.RepairApplication'.", @@ -2107,22 +3174,26 @@ "properties": {}, "id": "RepairApplicationRequest" }, - "ScriptHandler": { - "description": "Executes a script to handle the request that matches the URL pattern.", + "CertificateRawData": { + "description": "An SSL certificate obtained from a certificate authority.", "type": "object", "properties": { - "scriptPath": { - "type": "string", - "description": "Path to the script from the application root directory." + "privateKey": { + "description": "Unencrypted PEM encoded RSA private key. This field is set once on certificate creation and then encrypted. The key size must be 2048 bits or fewer. Must include the header and footer. Example: \u003cpre\u003e -----BEGIN RSA PRIVATE KEY----- \u003cunencrypted_key_value\u003e -----END RSA PRIVATE KEY----- \u003c/pre\u003e @InputOnly", + "type": "string" + }, + "publicCertificate": { + "description": "PEM encoded x.509 public key certificate. This field is set once on certificate creation. Must include the header and footer. Example: \u003cpre\u003e -----BEGIN CERTIFICATE----- \u003ccertificate_value\u003e -----END CERTIFICATE----- \u003c/pre\u003e", + "type": "string" } }, - "id": "ScriptHandler" + "id": "CertificateRawData" }, "FileInfo": { "properties": { "sha1Sum": { - "type": "string", - "description": "The SHA1 hash of the file, in hex." + "description": "The SHA1 hash of the file, in hex.", + "type": "string" }, "mimeType": { "description": "The MIME type of the file.Defaults to the value from Google Cloud Storage.", @@ -2137,6 +3208,17 @@ "description": "Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately.", "type": "object" }, + "ScriptHandler": { + "description": "Executes a script to handle the request that matches the URL pattern.", + "type": "object", + "properties": { + "scriptPath": { + "description": "Path to the script from the application root directory.", + "type": "string" + } + }, + "id": "ScriptHandler" + }, "OperationMetadataExperimental": { "properties": { "method": { @@ -2166,21 +3248,34 @@ "description": "Metadata for the given google.longrunning.Operation.", "type": "object" }, + "AuthorizedDomain": { + "properties": { + "name": { + "description": "Full path to the AuthorizedDomain resource in the API. Example: apps/myapp/authorizedDomains/example.com.@OutputOnly", + "type": "string" + }, + "id": { + "description": "Fully qualified domain name of the domain authorized for use. Example: example.com.", + "type": "string" + } + }, + "id": "AuthorizedDomain", + "description": "A domain that a user has been authorized to administer. To authorize use of a domain, verify ownership via Webmaster Central (https://www.google.com/webmasters/verification/home).", + "type": "object" + }, "TrafficSplit": { "description": "Traffic routing configuration for versions within a single service. Traffic splits define how traffic directed to the service is assigned to versions.", "type": "object", "properties": { "allocations": { "additionalProperties": { - "type": "number", - "format": "double" + "format": "double", + "type": "number" }, "description": "Mapping from version IDs within the service to fractional (0.000, 1] allocations of traffic for that version. Each version can be specified only once, but some versions in the service may not have any traffic allocation. Services that have traffic allocated cannot be deleted until either the service is deleted or their traffic allocation is removed. Allocations must sum to 1. Up to two decimal place precision is supported for IP-based splits and up to three decimal places is supported for cookie-based splits.", "type": "object" }, "shardBy": { - "description": "Mechanism used to determine which version a request is sent to. The traffic selection algorithm will be stable for either type until allocations are changed.", - "type": "string", "enumDescriptions": [ "Diversion method unspecified.", "Diversion based on a specially named cookie, \"GOOGAPPUID.\" The cookie must be set by the application itself or no diversion will occur.", @@ -2192,7 +3287,9 @@ "COOKIE", "IP", "RANDOM" - ] + ], + "description": "Mechanism used to determine which version a request is sent to. The traffic selection algorithm will be stable for either type until allocations are changed.", + "type": "string" } }, "id": "TrafficSplit" @@ -2201,160 +3298,6 @@ "description": "Metadata for the given google.longrunning.Operation.", "type": "object", "properties": { - "insertTime": { - "format": "google-datetime", - "description": "Time that this operation was created.@OutputOnly", - "type": "string" - }, - "warning": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Durable messages that persist on every operation poll. @OutputOnly" - }, - "user": { - "description": "User who requested this operation.@OutputOnly", - "type": "string" - }, - "target": { - "description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", - "type": "string" - }, - "ephemeralMessage": { - "description": "Ephemeral message that may change every time the operation is polled. @OutputOnly", - "type": "string" - }, - "method": { - "description": "API method that initiated this operation. Example: google.appengine.v1beta.Versions.CreateVersion.@OutputOnly", - "type": "string" - }, - "endTime": { - "type": "string", - "format": "google-datetime", - "description": "Time that this operation completed.@OutputOnly" - } - }, - "id": "OperationMetadataV1Beta" - }, - "ListServicesResponse": { - "type": "object", - "properties": { - "nextPageToken": { - "description": "Continuation token for fetching the next page of results.", - "type": "string" - }, - "services": { - "description": "The services belonging to the requested application.", - "items": { - "$ref": "Service" - }, - "type": "array" - } - }, - "id": "ListServicesResponse", - "description": "Response message for Services.ListServices." - }, - "Deployment": { - "description": "Code and application artifacts used to deploy a version to App Engine.", - "type": "object", - "properties": { - "zip": { - "$ref": "ZipInfo", - "description": "The zip file for this deployment, if this is a zip deployment." - }, - "container": { - "$ref": "ContainerInfo", - "description": "The Docker image for the container that runs the version. Only applicable for instances running in the App Engine flexible environment." - }, - "files": { - "additionalProperties": { - "$ref": "FileInfo" - }, - "description": "Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call.", - "type": "object" - } - }, - "id": "Deployment" - }, - "Resources": { - "description": "Machine resources for a version.", - "type": "object", - "properties": { - "volumes": { - "description": "User specified volumes.", - "items": { - "$ref": "Volume" - }, - "type": "array" - }, - "diskGb": { - "format": "double", - "description": "Disk size (GB) needed.", - "type": "number" - }, - "memoryGb": { - "format": "double", - "description": "Memory (GB) needed.", - "type": "number" - }, - "cpu": { - "format": "double", - "description": "Number of CPU cores needed.", - "type": "number" - } - }, - "id": "Resources" - }, - "Volume": { - "id": "Volume", - "description": "Volumes mounted within the app container. Only applicable for VM runtimes.", - "type": "object", - "properties": { - "volumeType": { - "description": "Underlying volume type, e.g. 'tmpfs'.", - "type": "string" - }, - "sizeGb": { - "format": "double", - "description": "Volume size in gigabytes.", - "type": "number" - }, - "name": { - "description": "Unique name for the volume.", - "type": "string" - } - } - }, - "ListInstancesResponse": { - "description": "Response message for Instances.ListInstances.", - "type": "object", - "properties": { - "instances": { - "description": "The instances belonging to the requested version.", - "items": { - "$ref": "Instance" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Continuation token for fetching the next page of results.", - "type": "string" - } - }, - "id": "ListInstancesResponse" - }, - "OperationMetadataV1Alpha": { - "properties": { - "method": { - "description": "API method that initiated this operation. Example: google.appengine.v1alpha.Versions.CreateVersion.@OutputOnly", - "type": "string" - }, - "endTime": { - "format": "google-datetime", - "description": "Time that this operation completed.@OutputOnly", - "type": "string" - }, "warning": { "description": "Durable messages that persist on every operation poll. @OutputOnly", "items": { @@ -2378,138 +3321,139 @@ "ephemeralMessage": { "description": "Ephemeral message that may change every time the operation is polled. @OutputOnly", "type": "string" - } - }, - "id": "OperationMetadataV1Alpha", - "description": "Metadata for the given google.longrunning.Operation.", - "type": "object" - }, - "UrlDispatchRule": { - "properties": { - "path": { - "description": "Pathname within the host. Must start with a \"/\". A single \"*\" can be included at the end of the path.The sum of the lengths of the domain and path may not exceed 100 characters.", + }, + "method": { + "description": "API method that initiated this operation. Example: google.appengine.v1beta.Versions.CreateVersion.@OutputOnly", "type": "string" }, - "service": { - "description": "Resource ID of a service in this application that should serve the matched request. The service must already exist. Example: default.", - "type": "string" - }, - "domain": { - "description": "Domain name to match against. The wildcard \"*\" is supported if specified before a period: \"*.\".Defaults to matching all domains: \"*\".", + "endTime": { + "format": "google-datetime", + "description": "Time that this operation completed.@OutputOnly", "type": "string" } }, - "id": "UrlDispatchRule", - "description": "Rules to match an HTTP request and dispatch that request to a service.", - "type": "object" + "id": "OperationMetadataV1Beta" }, - "ListVersionsResponse": { - "id": "ListVersionsResponse", - "description": "Response message for Versions.ListVersions.", + "ListIngressRulesResponse": { + "description": "Response message for Firewall.ListIngressRules.", "type": "object", "properties": { - "versions": { - "description": "The versions belonging to the requested service.", - "items": { - "$ref": "Version" - }, - "type": "array" - }, "nextPageToken": { "description": "Continuation token for fetching the next page of results.", "type": "string" + }, + "ingressRules": { + "description": "The ingress FirewallRules for this application.", + "items": { + "$ref": "FirewallRule" + }, + "type": "array" } - } + }, + "id": "ListIngressRulesResponse" }, - "ApiEndpointHandler": { - "description": "Uses Google Cloud Endpoints to handle requests.", + "ListServicesResponse": { + "description": "Response message for Services.ListServices.", "type": "object", "properties": { - "scriptPath": { - "description": "Path to the script from the application root directory.", + "nextPageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string" + }, + "services": { + "description": "The services belonging to the requested application.", + "items": { + "$ref": "Service" + }, + "type": "array" + } + }, + "id": "ListServicesResponse" + }, + "Resources": { + "description": "Machine resources for a version.", + "type": "object", + "properties": { + "memoryGb": { + "format": "double", + "description": "Memory (GB) needed.", + "type": "number" + }, + "cpu": { + "format": "double", + "description": "Number of CPU cores needed.", + "type": "number" + }, + "volumes": { + "description": "User specified volumes.", + "items": { + "$ref": "Volume" + }, + "type": "array" + }, + "diskGb": { + "format": "double", + "description": "Disk size (GB) needed.", + "type": "number" + } + }, + "id": "Resources" + }, + "Deployment": { + "description": "Code and application artifacts used to deploy a version to App Engine.", + "type": "object", + "properties": { + "files": { + "description": "Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call.", + "type": "object", + "additionalProperties": { + "$ref": "FileInfo" + } + }, + "zip": { + "$ref": "ZipInfo", + "description": "The zip file for this deployment, if this is a zip deployment." + }, + "container": { + "$ref": "ContainerInfo", + "description": "The Docker image for the container that runs the version. Only applicable for instances running in the App Engine flexible environment." + } + }, + "id": "Deployment" + }, + "Volume": { + "description": "Volumes mounted within the app container. Only applicable for VM runtimes.", + "type": "object", + "properties": { + "volumeType": { + "description": "Underlying volume type, e.g. 'tmpfs'.", + "type": "string" + }, + "sizeGb": { + "format": "double", + "description": "Volume size in gigabytes.", + "type": "number" + }, + "name": { + "description": "Unique name for the volume.", "type": "string" } }, - "id": "ApiEndpointHandler" + "id": "Volume" }, - "AutomaticScaling": { - "description": "Automatic scaling is based on request rate, response latencies, and other application metrics.", - "type": "object", + "BatchUpdateIngressRulesResponse": { "properties": { - "maxTotalInstances": { - "type": "integer", - "format": "int32", - "description": "Maximum number of instances that should be started to handle requests." - }, - "minTotalInstances": { - "format": "int32", - "description": "Minimum number of instances that should be maintained for this version.", - "type": "integer" - }, - "networkUtilization": { - "$ref": "NetworkUtilization", - "description": "Target scaling by network usage." - }, - "maxConcurrentRequests": { - "format": "int32", - "description": "Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance.Defaults to a runtime-specific value.", - "type": "integer" - }, - "coolDownPeriod": { - "format": "google-duration", - "description": "Amount of time that the Autoscaler (https://cloud.google.com/compute/docs/autoscaler/) should wait between changes to the number of virtual machines. Only applicable for VM runtimes.", - "type": "string" - }, - "maxPendingLatency": { - "format": "google-duration", - "description": "Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it.", - "type": "string" - }, - "cpuUtilization": { - "description": "Target scaling by CPU usage.", - "$ref": "CpuUtilization" - }, - "diskUtilization": { - "description": "Target scaling by disk usage.", - "$ref": "DiskUtilization" - }, - "minPendingLatency": { - "format": "google-duration", - "description": "Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it.", - "type": "string" - }, - "maxIdleInstances": { - "type": "integer", - "format": "int32", - "description": "Maximum number of idle instances that should be maintained for this version." - }, - "requestUtilization": { - "$ref": "RequestUtilization", - "description": "Target scaling by request utilization." - }, - "minIdleInstances": { - "format": "int32", - "description": "Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a service.", - "type": "integer" + "ingressRules": { + "description": "The full list of ingress FirewallRules for this application.", + "items": { + "$ref": "FirewallRule" + }, + "type": "array" } }, - "id": "AutomaticScaling" - }, - "ZipInfo": { - "description": "The zip file information for a zip deployment.", - "type": "object", - "properties": { - "sourceUrl": { - "description": "URL of the zip file to deploy from. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\u003cbucket\u003e/\u003cobject\u003e'.", - "type": "string" - }, - "filesCount": { - "format": "int32", - "description": "An estimate of the number of files in a zip for a zip deployment. If set, must be greater than or equal to the actual number of files. Used for optimizing performance; if not provided, deployment may be slow.", - "type": "integer" - } - }, - "id": "ZipInfo" + "id": "BatchUpdateIngressRulesResponse", + "description": "Response message for Firewall.UpdateAllIngressRules.", + "type": "object" } }, "protocol": "rest", @@ -2517,33 +3461,5 @@ "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.gif" }, - "version": "v1", - "baseUrl": "https://appengine.googleapis.com/", - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" - }, - "https://www.googleapis.com/auth/appengine.admin": { - "description": "View and manage your applications deployed on Google App Engine" - }, - "https://www.googleapis.com/auth/cloud-platform.read-only": { - "description": "View your data across Google Cloud Platform services" - } - } - } - }, - "servicePath": "", - "description": "The App Engine Admin API enables developers to provision and manage their App Engine applications.", - "kind": "discovery#restDescription", - "rootUrl": "https://appengine.googleapis.com/", - "basePath": "", - "ownerDomain": "google.com", - "name": "appengine", - "batchPath": "batch", - "revision": "20170626", - "documentationLink": "https://cloud.google.com/appengine/docs/admin-api/", - "id": "appengine:v1", - "title": "Google App Engine Admin API" + "version": "v1" } diff --git a/vendor/google.golang.org/api/appengine/v1/appengine-gen.go b/vendor/google.golang.org/api/appengine/v1/appengine-gen.go index 10f30e1d2..647fc90f6 100644 --- a/vendor/google.golang.org/api/appengine/v1/appengine-gen.go +++ b/vendor/google.golang.org/api/appengine/v1/appengine-gen.go @@ -83,6 +83,10 @@ func (s *APIService) userAgent() string { func NewAppsService(s *APIService) *AppsService { rs := &AppsService{s: s} + rs.AuthorizedCertificates = NewAppsAuthorizedCertificatesService(s) + rs.AuthorizedDomains = NewAppsAuthorizedDomainsService(s) + rs.DomainMappings = NewAppsDomainMappingsService(s) + rs.Firewall = NewAppsFirewallService(s) rs.Locations = NewAppsLocationsService(s) rs.Operations = NewAppsOperationsService(s) rs.Services = NewAppsServicesService(s) @@ -92,6 +96,14 @@ func NewAppsService(s *APIService) *AppsService { type AppsService struct { s *APIService + AuthorizedCertificates *AppsAuthorizedCertificatesService + + AuthorizedDomains *AppsAuthorizedDomainsService + + DomainMappings *AppsDomainMappingsService + + Firewall *AppsFirewallService + Locations *AppsLocationsService Operations *AppsOperationsService @@ -99,6 +111,54 @@ type AppsService struct { Services *AppsServicesService } +func NewAppsAuthorizedCertificatesService(s *APIService) *AppsAuthorizedCertificatesService { + rs := &AppsAuthorizedCertificatesService{s: s} + return rs +} + +type AppsAuthorizedCertificatesService struct { + s *APIService +} + +func NewAppsAuthorizedDomainsService(s *APIService) *AppsAuthorizedDomainsService { + rs := &AppsAuthorizedDomainsService{s: s} + return rs +} + +type AppsAuthorizedDomainsService struct { + s *APIService +} + +func NewAppsDomainMappingsService(s *APIService) *AppsDomainMappingsService { + rs := &AppsDomainMappingsService{s: s} + return rs +} + +type AppsDomainMappingsService struct { + s *APIService +} + +func NewAppsFirewallService(s *APIService) *AppsFirewallService { + rs := &AppsFirewallService{s: s} + rs.IngressRules = NewAppsFirewallIngressRulesService(s) + return rs +} + +type AppsFirewallService struct { + s *APIService + + IngressRules *AppsFirewallIngressRulesService +} + +func NewAppsFirewallIngressRulesService(s *APIService) *AppsFirewallIngressRulesService { + rs := &AppsFirewallIngressRulesService{s: s} + return rs +} + +type AppsFirewallIngressRulesService struct { + s *APIService +} + func NewAppsLocationsService(s *APIService) *AppsLocationsService { rs := &AppsLocationsService{s: s} return rs @@ -260,7 +320,7 @@ func (s *ApiEndpointHandler) MarshalJSON() ([]byte, error) { } // Application: An Application resource contains the top-level -// configuration of an App Engine application. Next tag: 19 +// configuration of an App Engine application. Next tag: 20 type Application struct { // AuthDomain: Google Apps authentication domain that controls which // users can access this application.Defaults to open access for any @@ -291,6 +351,10 @@ type Application struct { // supported.@OutputOnly DispatchRules []*UrlDispatchRule `json:"dispatchRules,omitempty"` + // FeatureSettings: The feature specific settings to be used in the + // application. + FeatureSettings *FeatureSettings `json:"featureSettings,omitempty"` + // GcrDomain: The Google Container Registry domain used for storing // managed build docker images for this application. GcrDomain string `json:"gcrDomain,omitempty"` @@ -349,6 +413,120 @@ func (s *Application) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AuthorizedCertificate: An SSL certificate that a user has been +// authorized to administer. A user is authorized to administer any +// certificate that applies to one of their authorized domains. +type AuthorizedCertificate struct { + // CertificateRawData: The SSL certificate serving the + // AuthorizedCertificate resource. This must be obtained independently + // from a certificate authority. + CertificateRawData *CertificateRawData `json:"certificateRawData,omitempty"` + + // DisplayName: The user-specified display name of the certificate. This + // is not guaranteed to be unique. Example: My Certificate. + DisplayName string `json:"displayName,omitempty"` + + // DomainMappingsCount: Aggregate count of the domain mappings with this + // certificate mapped. This count includes domain mappings on + // applications for which the user does not have VIEWER permissions.Only + // returned by GET or LIST requests when specifically requested by the + // view=FULL_CERTIFICATE option.@OutputOnly + DomainMappingsCount int64 `json:"domainMappingsCount,omitempty"` + + // DomainNames: Topmost applicable domains of this certificate. This + // certificate applies to these domains and their subdomains. Example: + // example.com.@OutputOnly + DomainNames []string `json:"domainNames,omitempty"` + + // ExpireTime: The time when this certificate expires. To update the + // renewal time on this certificate, upload an SSL certificate with a + // different expiration time using + // AuthorizedCertificates.UpdateAuthorizedCertificate.@OutputOnly + ExpireTime string `json:"expireTime,omitempty"` + + // Id: Relative name of the certificate. This is a unique value + // autogenerated on AuthorizedCertificate resource creation. Example: + // 12345.@OutputOnly + Id string `json:"id,omitempty"` + + // Name: Full path to the AuthorizedCertificate resource in the API. + // Example: apps/myapp/authorizedCertificates/12345.@OutputOnly + Name string `json:"name,omitempty"` + + // VisibleDomainMappings: The full paths to user visible Domain Mapping + // resources that have this certificate mapped. Example: + // apps/myapp/domainMappings/example.com.This may not represent the full + // list of mapped domain mappings if the user does not have VIEWER + // permissions on all of the applications that have this certificate + // mapped. See domain_mappings_count for a complete count.Only returned + // by GET or LIST requests when specifically requested by the + // view=FULL_CERTIFICATE option.@OutputOnly + VisibleDomainMappings []string `json:"visibleDomainMappings,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "CertificateRawData") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CertificateRawData") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AuthorizedCertificate) MarshalJSON() ([]byte, error) { + type noMethod AuthorizedCertificate + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AuthorizedDomain: A domain that a user has been authorized to +// administer. To authorize use of a domain, verify ownership via +// Webmaster Central +// (https://www.google.com/webmasters/verification/home). +type AuthorizedDomain struct { + // Id: Fully qualified domain name of the domain authorized for use. + // Example: example.com. + Id string `json:"id,omitempty"` + + // Name: Full path to the AuthorizedDomain resource in the API. Example: + // apps/myapp/authorizedDomains/example.com.@OutputOnly + Name string `json:"name,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Id") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AuthorizedDomain) MarshalJSON() ([]byte, error) { + type noMethod AuthorizedDomain + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // AutomaticScaling: Automatic scaling is based on request rate, // response latencies, and other application metrics. type AutomaticScaling struct { @@ -459,6 +637,109 @@ func (s *BasicScaling) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// BatchUpdateIngressRulesRequest: Request message for +// Firewall.BatchUpdateIngressRules. +type BatchUpdateIngressRulesRequest struct { + // IngressRules: A list of FirewallRules to replace the existing set. + IngressRules []*FirewallRule `json:"ingressRules,omitempty"` + + // ForceSendFields is a list of field names (e.g. "IngressRules") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "IngressRules") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BatchUpdateIngressRulesRequest) MarshalJSON() ([]byte, error) { + type noMethod BatchUpdateIngressRulesRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// BatchUpdateIngressRulesResponse: Response message for +// Firewall.UpdateAllIngressRules. +type BatchUpdateIngressRulesResponse struct { + // IngressRules: The full list of ingress FirewallRules for this + // application. + IngressRules []*FirewallRule `json:"ingressRules,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "IngressRules") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "IngressRules") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BatchUpdateIngressRulesResponse) MarshalJSON() ([]byte, error) { + type noMethod BatchUpdateIngressRulesResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CertificateRawData: An SSL certificate obtained from a certificate +// authority. +type CertificateRawData struct { + // PrivateKey: Unencrypted PEM encoded RSA private key. This field is + // set once on certificate creation and then encrypted. The key size + // must be 2048 bits or fewer. Must include the header and footer. + // Example:
     -----BEGIN RSA PRIVATE KEY-----
    +	//  -----END RSA PRIVATE KEY----- 
    + // @InputOnly + PrivateKey string `json:"privateKey,omitempty"` + + // PublicCertificate: PEM encoded x.509 public key certificate. This + // field is set once on certificate creation. Must include the header + // and footer. Example:
     -----BEGIN CERTIFICATE-----
    +	//  -----END CERTIFICATE----- 
    + PublicCertificate string `json:"publicCertificate,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PrivateKey") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "PrivateKey") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CertificateRawData) MarshalJSON() ([]byte, error) { + type noMethod CertificateRawData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ContainerInfo: Docker image that is used to create a container and // start a VM instance for the version that you deploy. Only applicable // for instances running in the App Engine flexible environment. @@ -655,6 +936,68 @@ func (s *DiskUtilization) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// DomainMapping: A domain serving an App Engine application. +type DomainMapping struct { + // Id: Relative name of the domain serving the application. Example: + // example.com. + Id string `json:"id,omitempty"` + + // Name: Full path to the DomainMapping resource in the API. Example: + // apps/myapp/domainMapping/example.com.@OutputOnly + Name string `json:"name,omitempty"` + + // ResourceRecords: The resource records required to configure this + // domain mapping. These records must be added to the domain's DNS + // configuration in order to serve the application via this domain + // mapping.@OutputOnly + ResourceRecords []*ResourceRecord `json:"resourceRecords,omitempty"` + + // SslSettings: SSL configuration for this domain. If unconfigured, this + // domain will not serve with SSL. + SslSettings *SslSettings `json:"sslSettings,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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DomainMapping) MarshalJSON() ([]byte, error) { + type noMethod DomainMapping + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Empty: A generic empty message that you can re-use to avoid defining +// duplicated empty messages in your APIs. A typical example is to use +// it as the request or the response type of an API method. For +// instance: +// service Foo { +// rpc Bar(google.protobuf.Empty) returns +// (google.protobuf.Empty); +// } +// The JSON representation for Empty is empty JSON object {}. +type Empty struct { + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` +} + // EndpointsApiService: Cloud Endpoints // (https://cloud.google.com/endpoints) configuration. The Endpoints API // Service provides tooling for serving Open API and gRPC endpoints via @@ -740,6 +1083,41 @@ func (s *ErrorHandler) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// FeatureSettings: The feature specific settings to be used in the +// application. These define behaviors that are user configurable. +type FeatureSettings struct { + // SplitHealthChecks: Boolean value indicating if split health checks + // should be used instead of the legacy health checks. At an app.yaml + // level, this means defaulting to 'readiness_check' and + // 'liveness_check' values instead of 'health_check' ones. Once the + // legacy 'health_check' behavior is deprecated, and this value is + // always true, this setting can be removed. + SplitHealthChecks bool `json:"splitHealthChecks,omitempty"` + + // ForceSendFields is a list of field names (e.g. "SplitHealthChecks") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "SplitHealthChecks") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *FeatureSettings) MarshalJSON() ([]byte, error) { + type noMethod FeatureSettings + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // FileInfo: Single source file that is part of the version to be // deployed. Each source file that is deployed must be specified // separately. @@ -779,6 +1157,66 @@ func (s *FileInfo) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// FirewallRule: A single firewall rule that is evaluated against +// incoming traffic and provides an action to take on matched requests. +type FirewallRule struct { + // Action: The action to take on matched requests. + // + // Possible values: + // "UNSPECIFIED_ACTION" + // "ALLOW" - Matching requests are allowed. + // "DENY" - Matching requests are denied. + Action string `json:"action,omitempty"` + + // Description: An optional string description of this rule. This field + // has a maximum length of 100 characters. + Description string `json:"description,omitempty"` + + // Priority: A positive integer between 1, Int32.MaxValue-1 that defines + // the order of rule evaluation. Rules with the lowest priority are + // evaluated first.A default rule at priority Int32.MaxValue matches all + // IPv4 and IPv6 traffic when no previous rule matches. Only the action + // of this rule can be modified by the user. + Priority int64 `json:"priority,omitempty"` + + // SourceRange: IP address or range, defined using CIDR notation, of + // requests that this rule applies to. You can use the wildcard + // character "*" to match all IPs equivalent to "0/0" and "::/0" + // together. Examples: 192.168.1.1 or 192.168.0.0/16 or 2001:db8::/32 + // or 2001:0db8:0000:0042:0000:8a2e:0370:7334.

    Truncation will be + // silently performed on addresses which are not properly truncated. For + // example, 1.2.3.4/24 is accepted as the same address as 1.2.3.0/24. + // Similarly, for IPv6, 2001:db8::1/32 is accepted as the same address + // as 2001:db8::/32. + SourceRange string `json:"sourceRange,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Action") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Action") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FirewallRule) MarshalJSON() ([]byte, error) { + type noMethod FirewallRule + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // HealthCheck: Health checking configuration for VM instances. // Unhealthy instances are killed and replaced with new instances. Only // applicable for instances in App Engine flexible environment. @@ -1021,6 +1459,156 @@ func (s *Library) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ListAuthorizedCertificatesResponse: Response message for +// AuthorizedCertificates.ListAuthorizedCertificates. +type ListAuthorizedCertificatesResponse struct { + // Certificates: The SSL certificates the user is authorized to + // administer. + Certificates []*AuthorizedCertificate `json:"certificates,omitempty"` + + // NextPageToken: Continuation token for fetching the next page of + // results. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Certificates") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Certificates") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListAuthorizedCertificatesResponse) MarshalJSON() ([]byte, error) { + type noMethod ListAuthorizedCertificatesResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListAuthorizedDomainsResponse: Response message for +// AuthorizedDomains.ListAuthorizedDomains. +type ListAuthorizedDomainsResponse struct { + // Domains: The authorized domains belonging to the user. + Domains []*AuthorizedDomain `json:"domains,omitempty"` + + // NextPageToken: Continuation token for fetching the next page of + // results. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Domains") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Domains") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListAuthorizedDomainsResponse) MarshalJSON() ([]byte, error) { + type noMethod ListAuthorizedDomainsResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListDomainMappingsResponse: Response message for +// DomainMappings.ListDomainMappings. +type ListDomainMappingsResponse struct { + // DomainMappings: The domain mappings for the application. + DomainMappings []*DomainMapping `json:"domainMappings,omitempty"` + + // NextPageToken: Continuation token for fetching the next page of + // results. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "DomainMappings") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DomainMappings") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *ListDomainMappingsResponse) MarshalJSON() ([]byte, error) { + type noMethod ListDomainMappingsResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListIngressRulesResponse: Response message for +// Firewall.ListIngressRules. +type ListIngressRulesResponse struct { + // IngressRules: The ingress FirewallRules for this application. + IngressRules []*FirewallRule `json:"ingressRules,omitempty"` + + // NextPageToken: Continuation token for fetching the next page of + // results. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "IngressRules") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "IngressRules") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListIngressRulesResponse) MarshalJSON() ([]byte, error) { + type noMethod ListIngressRulesResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ListInstancesResponse: Response message for Instances.ListInstances. type ListInstancesResponse struct { // Instances: The instances belonging to the requested version. @@ -1371,16 +1959,19 @@ func (s *ManualScaling) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Network: Extra network settings. Only applicable for VM runtimes. +// Network: Extra network settings. Only applicable for App Engine +// flexible environment versions type Network struct { // ForwardedPorts: List of ports, or port pairs, to forward from the - // virtual machine to the application container. + // virtual machine to the application container. Only applicable for App + // Engine flexible environment versions. ForwardedPorts []string `json:"forwardedPorts,omitempty"` - // InstanceTag: Tag to apply to the VM instance during creation. + // InstanceTag: Tag to apply to the VM instance during creation. Only + // applicable for for App Engine flexible environment versions. InstanceTag string `json:"instanceTag,omitempty"` - // Name: Google Cloud Platform network where the virtual machines are + // Name: Google Compute Engine network where the virtual machines are // created. Specify the short name, not the resource path.Defaults to // default. Name string `json:"name,omitempty"` @@ -1398,8 +1989,8 @@ type Network struct { // If the network the VM instance is being created in is a custom Subnet // Mode Network, then the subnetwork_name must be specified and the IP // address is created from the IPCidrRange of the subnetwork.If - // specified, the subnetwork must exist in the same region as the Flex - // app. + // specified, the subnetwork must exist in the same region as the App + // Engine flexible environment application. SubnetworkName string `json:"subnetworkName,omitempty"` // ForceSendFields is a list of field names (e.g. "ForwardedPorts") to @@ -1817,6 +2408,11 @@ func (s *OperationMetadataV1Beta5) MarshalJSON() ([]byte, error) { // ReadinessCheck: Readiness checking configuration for VM instances. // Unhealthy instances are removed from traffic rotation. type ReadinessCheck struct { + // AppStartTimeout: A maximum time limit on application initialization, + // measured from moment the application successfully replies to a + // healthcheck until it is ready to serve traffic. + AppStartTimeout string `json:"appStartTimeout,omitempty"` + // CheckInterval: Interval between health checks. CheckInterval string `json:"checkInterval,omitempty"` @@ -1838,7 +2434,7 @@ type ReadinessCheck struct { // Timeout: Time before the check is considered failed. Timeout string `json:"timeout,omitempty"` - // ForceSendFields is a list of field names (e.g. "CheckInterval") to + // ForceSendFields is a list of field names (e.g. "AppStartTimeout") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -1846,12 +2442,13 @@ type ReadinessCheck struct { // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CheckInterval") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. + // NullFields is a list of field names (e.g. "AppStartTimeout") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. NullFields []string `json:"-"` } @@ -1900,6 +2497,49 @@ func (s *RequestUtilization) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ResourceRecord: A DNS resource record. +type ResourceRecord struct { + // Name: Relative name of the object affected by this record. Only + // applicable for CNAME records. Example: 'www'. + Name string `json:"name,omitempty"` + + // Rrdata: Data for this record. Values vary by record type, as defined + // in RFC 1035 (section 5) and RFC 1034 (section 3.6.1). + Rrdata string `json:"rrdata,omitempty"` + + // Type: Resource record type. Example: AAAA. + // + // Possible values: + // "RECORD_TYPE_UNSPECIFIED" - An unknown resource record. + // "A" - An A resource record. Data is an IPv4 address. + // "AAAA" - An AAAA resource record. Data is an IPv6 address. + // "CNAME" - A CNAME resource record. Data is a domain name to be + // aliased. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ResourceRecord) MarshalJSON() ([]byte, error) { + type noMethod ResourceRecord + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Resources: Machine resources for a version. type Resources struct { // Cpu: Number of CPU cores needed. @@ -2031,6 +2671,36 @@ func (s *Service) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SslSettings: SSL configuration for a DomainMapping resource. +type SslSettings struct { + // CertificateId: ID of the AuthorizedCertificate resource configuring + // SSL for the application. Clearing this field will remove SSL support. + // Example: 12345. + CertificateId string `json:"certificateId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CertificateId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CertificateId") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SslSettings) MarshalJSON() ([]byte, error) { + type noMethod SslSettings + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // StaticFilesHandler: Files served directly to the user for a given // URL, such as images, CSS stylesheets, or JavaScript source files. // Static file handlers describe which files in the application @@ -2136,8 +2806,8 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in @@ -2494,7 +3164,8 @@ type Version struct { // apps/myapp/services/default/versions/v1.@OutputOnly Name string `json:"name,omitempty"` - // Network: Extra network settings. Only applicable for VM runtimes. + // Network: Extra network settings. Only applicable for App Engine + // flexible environment versions. Network *Network `json:"network,omitempty"` // NobuildFilesRegex: Files that match this pattern will not be built @@ -3214,6 +3885,2683 @@ func (c *AppsRepairCall) Do(opts ...googleapi.CallOption) (*Operation, error) { } +// method id "appengine.apps.authorizedCertificates.create": + +type AppsAuthorizedCertificatesCreateCall struct { + s *APIService + appsId string + authorizedcertificate *AuthorizedCertificate + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Uploads the specified SSL certificate. +func (r *AppsAuthorizedCertificatesService) Create(appsId string, authorizedcertificate *AuthorizedCertificate) *AppsAuthorizedCertificatesCreateCall { + c := &AppsAuthorizedCertificatesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appsId = appsId + c.authorizedcertificate = authorizedcertificate + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *AppsAuthorizedCertificatesCreateCall) Fields(s ...googleapi.Field) *AppsAuthorizedCertificatesCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *AppsAuthorizedCertificatesCreateCall) Context(ctx context.Context) *AppsAuthorizedCertificatesCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *AppsAuthorizedCertificatesCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AppsAuthorizedCertificatesCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.authorizedcertificate) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/apps/{appsId}/authorizedCertificates") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "appsId": c.appsId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "appengine.apps.authorizedCertificates.create" call. +// Exactly one of *AuthorizedCertificate or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *AuthorizedCertificate.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *AppsAuthorizedCertificatesCreateCall) Do(opts ...googleapi.CallOption) (*AuthorizedCertificate, 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, &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, err + } + ret := &AuthorizedCertificate{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Uploads the specified SSL certificate.", + // "flatPath": "v1/apps/{appsId}/authorizedCertificates", + // "httpMethod": "POST", + // "id": "appengine.apps.authorizedCertificates.create", + // "parameterOrder": [ + // "appsId" + // ], + // "parameters": { + // "appsId": { + // "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/apps/{appsId}/authorizedCertificates", + // "request": { + // "$ref": "AuthorizedCertificate" + // }, + // "response": { + // "$ref": "AuthorizedCertificate" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "appengine.apps.authorizedCertificates.delete": + +type AppsAuthorizedCertificatesDeleteCall struct { + s *APIService + appsId string + authorizedCertificatesId string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes the specified SSL certificate. +func (r *AppsAuthorizedCertificatesService) Delete(appsId string, authorizedCertificatesId string) *AppsAuthorizedCertificatesDeleteCall { + c := &AppsAuthorizedCertificatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appsId = appsId + c.authorizedCertificatesId = authorizedCertificatesId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *AppsAuthorizedCertificatesDeleteCall) Fields(s ...googleapi.Field) *AppsAuthorizedCertificatesDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *AppsAuthorizedCertificatesDeleteCall) Context(ctx context.Context) *AppsAuthorizedCertificatesDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *AppsAuthorizedCertificatesDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AppsAuthorizedCertificatesDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "appsId": c.appsId, + "authorizedCertificatesId": c.authorizedCertificatesId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "appengine.apps.authorizedCertificates.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *AppsAuthorizedCertificatesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes the specified SSL certificate.", + // "flatPath": "v1/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", + // "httpMethod": "DELETE", + // "id": "appengine.apps.authorizedCertificates.delete", + // "parameterOrder": [ + // "appsId", + // "authorizedCertificatesId" + // ], + // "parameters": { + // "appsId": { + // "description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "authorizedCertificatesId": { + // "description": "Part of `name`. See documentation of `appsId`.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "appengine.apps.authorizedCertificates.get": + +type AppsAuthorizedCertificatesGetCall struct { + s *APIService + appsId string + authorizedCertificatesId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the specified SSL certificate. +func (r *AppsAuthorizedCertificatesService) Get(appsId string, authorizedCertificatesId string) *AppsAuthorizedCertificatesGetCall { + c := &AppsAuthorizedCertificatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appsId = appsId + c.authorizedCertificatesId = authorizedCertificatesId + return c +} + +// View sets the optional parameter "view": Controls the set of fields +// returned in the GET response. +// +// Possible values: +// "BASIC_CERTIFICATE" +// "FULL_CERTIFICATE" +func (c *AppsAuthorizedCertificatesGetCall) View(view string) *AppsAuthorizedCertificatesGetCall { + 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 information. +func (c *AppsAuthorizedCertificatesGetCall) Fields(s ...googleapi.Field) *AppsAuthorizedCertificatesGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *AppsAuthorizedCertificatesGetCall) IfNoneMatch(entityTag string) *AppsAuthorizedCertificatesGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *AppsAuthorizedCertificatesGetCall) Context(ctx context.Context) *AppsAuthorizedCertificatesGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *AppsAuthorizedCertificatesGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AppsAuthorizedCertificatesGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "appsId": c.appsId, + "authorizedCertificatesId": c.authorizedCertificatesId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "appengine.apps.authorizedCertificates.get" call. +// Exactly one of *AuthorizedCertificate or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *AuthorizedCertificate.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *AppsAuthorizedCertificatesGetCall) Do(opts ...googleapi.CallOption) (*AuthorizedCertificate, 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, &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, err + } + ret := &AuthorizedCertificate{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the specified SSL certificate.", + // "flatPath": "v1/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", + // "httpMethod": "GET", + // "id": "appengine.apps.authorizedCertificates.get", + // "parameterOrder": [ + // "appsId", + // "authorizedCertificatesId" + // ], + // "parameters": { + // "appsId": { + // "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "authorizedCertificatesId": { + // "description": "Part of `name`. See documentation of `appsId`.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "view": { + // "description": "Controls the set of fields returned in the GET response.", + // "enum": [ + // "BASIC_CERTIFICATE", + // "FULL_CERTIFICATE" + // ], + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", + // "response": { + // "$ref": "AuthorizedCertificate" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/appengine.admin", + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only" + // ] + // } + +} + +// method id "appengine.apps.authorizedCertificates.list": + +type AppsAuthorizedCertificatesListCall struct { + s *APIService + appsId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists all SSL certificates the user is authorized to +// administer. +func (r *AppsAuthorizedCertificatesService) List(appsId string) *AppsAuthorizedCertificatesListCall { + c := &AppsAuthorizedCertificatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appsId = appsId + return c +} + +// PageSize sets the optional parameter "pageSize": Maximum results to +// return per page. +func (c *AppsAuthorizedCertificatesListCall) PageSize(pageSize int64) *AppsAuthorizedCertificatesListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": Continuation token +// for fetching the next page of results. +func (c *AppsAuthorizedCertificatesListCall) PageToken(pageToken string) *AppsAuthorizedCertificatesListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// View sets the optional parameter "view": Controls the set of fields +// returned in the LIST response. +// +// Possible values: +// "BASIC_CERTIFICATE" +// "FULL_CERTIFICATE" +func (c *AppsAuthorizedCertificatesListCall) View(view string) *AppsAuthorizedCertificatesListCall { + 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 information. +func (c *AppsAuthorizedCertificatesListCall) Fields(s ...googleapi.Field) *AppsAuthorizedCertificatesListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *AppsAuthorizedCertificatesListCall) IfNoneMatch(entityTag string) *AppsAuthorizedCertificatesListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *AppsAuthorizedCertificatesListCall) Context(ctx context.Context) *AppsAuthorizedCertificatesListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *AppsAuthorizedCertificatesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AppsAuthorizedCertificatesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/apps/{appsId}/authorizedCertificates") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "appsId": c.appsId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "appengine.apps.authorizedCertificates.list" call. +// Exactly one of *ListAuthorizedCertificatesResponse or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *ListAuthorizedCertificatesResponse.ServerResponse.Header or +// (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *AppsAuthorizedCertificatesListCall) Do(opts ...googleapi.CallOption) (*ListAuthorizedCertificatesResponse, 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, &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, err + } + ret := &ListAuthorizedCertificatesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists all SSL certificates the user is authorized to administer.", + // "flatPath": "v1/apps/{appsId}/authorizedCertificates", + // "httpMethod": "GET", + // "id": "appengine.apps.authorizedCertificates.list", + // "parameterOrder": [ + // "appsId" + // ], + // "parameters": { + // "appsId": { + // "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "pageSize": { + // "description": "Maximum results to return per page.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Continuation token for fetching the next page of results.", + // "location": "query", + // "type": "string" + // }, + // "view": { + // "description": "Controls the set of fields returned in the LIST response.", + // "enum": [ + // "BASIC_CERTIFICATE", + // "FULL_CERTIFICATE" + // ], + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/apps/{appsId}/authorizedCertificates", + // "response": { + // "$ref": "ListAuthorizedCertificatesResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/appengine.admin", + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only" + // ] + // } + +} + +// 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 *AppsAuthorizedCertificatesListCall) Pages(ctx context.Context, f func(*ListAuthorizedCertificatesResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "appengine.apps.authorizedCertificates.patch": + +type AppsAuthorizedCertificatesPatchCall struct { + s *APIService + appsId string + authorizedCertificatesId string + authorizedcertificate *AuthorizedCertificate + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates the specified SSL certificate. To renew a certificate +// and maintain its existing domain mappings, update certificate_data +// with a new certificate. The new certificate must be applicable to the +// same domains as the original certificate. The certificate +// display_name may also be updated. +func (r *AppsAuthorizedCertificatesService) Patch(appsId string, authorizedCertificatesId string, authorizedcertificate *AuthorizedCertificate) *AppsAuthorizedCertificatesPatchCall { + c := &AppsAuthorizedCertificatesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appsId = appsId + c.authorizedCertificatesId = authorizedCertificatesId + c.authorizedcertificate = authorizedcertificate + return c +} + +// UpdateMask sets the optional parameter "updateMask": Standard field +// mask for the set of fields to be updated. Updates are only supported +// on the certificate_raw_data and display_name fields. +func (c *AppsAuthorizedCertificatesPatchCall) UpdateMask(updateMask string) *AppsAuthorizedCertificatesPatchCall { + 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 information. +func (c *AppsAuthorizedCertificatesPatchCall) Fields(s ...googleapi.Field) *AppsAuthorizedCertificatesPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *AppsAuthorizedCertificatesPatchCall) Context(ctx context.Context) *AppsAuthorizedCertificatesPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *AppsAuthorizedCertificatesPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AppsAuthorizedCertificatesPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.authorizedcertificate) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "appsId": c.appsId, + "authorizedCertificatesId": c.authorizedCertificatesId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "appengine.apps.authorizedCertificates.patch" call. +// Exactly one of *AuthorizedCertificate or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *AuthorizedCertificate.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *AppsAuthorizedCertificatesPatchCall) Do(opts ...googleapi.CallOption) (*AuthorizedCertificate, 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, &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, err + } + ret := &AuthorizedCertificate{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates the specified SSL certificate. To renew a certificate and maintain its existing domain mappings, update certificate_data with a new certificate. The new certificate must be applicable to the same domains as the original certificate. The certificate display_name may also be updated.", + // "flatPath": "v1/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", + // "httpMethod": "PATCH", + // "id": "appengine.apps.authorizedCertificates.patch", + // "parameterOrder": [ + // "appsId", + // "authorizedCertificatesId" + // ], + // "parameters": { + // "appsId": { + // "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "authorizedCertificatesId": { + // "description": "Part of `name`. See documentation of `appsId`.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Standard field mask for the set of fields to be updated. Updates are only supported on the certificate_raw_data and display_name fields.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", + // "request": { + // "$ref": "AuthorizedCertificate" + // }, + // "response": { + // "$ref": "AuthorizedCertificate" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "appengine.apps.authorizedDomains.list": + +type AppsAuthorizedDomainsListCall struct { + s *APIService + appsId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists all domains the user is authorized to administer. +func (r *AppsAuthorizedDomainsService) List(appsId string) *AppsAuthorizedDomainsListCall { + c := &AppsAuthorizedDomainsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appsId = appsId + return c +} + +// PageSize sets the optional parameter "pageSize": Maximum results to +// return per page. +func (c *AppsAuthorizedDomainsListCall) PageSize(pageSize int64) *AppsAuthorizedDomainsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": Continuation token +// for fetching the next page of results. +func (c *AppsAuthorizedDomainsListCall) PageToken(pageToken string) *AppsAuthorizedDomainsListCall { + 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 information. +func (c *AppsAuthorizedDomainsListCall) Fields(s ...googleapi.Field) *AppsAuthorizedDomainsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *AppsAuthorizedDomainsListCall) IfNoneMatch(entityTag string) *AppsAuthorizedDomainsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *AppsAuthorizedDomainsListCall) Context(ctx context.Context) *AppsAuthorizedDomainsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *AppsAuthorizedDomainsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AppsAuthorizedDomainsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/apps/{appsId}/authorizedDomains") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "appsId": c.appsId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "appengine.apps.authorizedDomains.list" call. +// Exactly one of *ListAuthorizedDomainsResponse or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *ListAuthorizedDomainsResponse.ServerResponse.Header or (if a +// response was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *AppsAuthorizedDomainsListCall) Do(opts ...googleapi.CallOption) (*ListAuthorizedDomainsResponse, 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, &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, err + } + ret := &ListAuthorizedDomainsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists all domains the user is authorized to administer.", + // "flatPath": "v1/apps/{appsId}/authorizedDomains", + // "httpMethod": "GET", + // "id": "appengine.apps.authorizedDomains.list", + // "parameterOrder": [ + // "appsId" + // ], + // "parameters": { + // "appsId": { + // "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "pageSize": { + // "description": "Maximum results to return per page.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Continuation token for fetching the next page of results.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/apps/{appsId}/authorizedDomains", + // "response": { + // "$ref": "ListAuthorizedDomainsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/appengine.admin", + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only" + // ] + // } + +} + +// 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 *AppsAuthorizedDomainsListCall) Pages(ctx context.Context, f func(*ListAuthorizedDomainsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "appengine.apps.domainMappings.create": + +type AppsDomainMappingsCreateCall struct { + s *APIService + appsId string + domainmapping *DomainMapping + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Maps a domain to an application. A user must be authorized to +// administer a domain in order to map it to an application. For a list +// of available authorized domains, see +// AuthorizedDomains.ListAuthorizedDomains. +func (r *AppsDomainMappingsService) Create(appsId string, domainmapping *DomainMapping) *AppsDomainMappingsCreateCall { + c := &AppsDomainMappingsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appsId = appsId + c.domainmapping = domainmapping + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *AppsDomainMappingsCreateCall) Fields(s ...googleapi.Field) *AppsDomainMappingsCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *AppsDomainMappingsCreateCall) Context(ctx context.Context) *AppsDomainMappingsCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *AppsDomainMappingsCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AppsDomainMappingsCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.domainmapping) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/apps/{appsId}/domainMappings") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "appsId": c.appsId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "appengine.apps.domainMappings.create" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *AppsDomainMappingsCreateCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Maps a domain to an application. A user must be authorized to administer a domain in order to map it to an application. For a list of available authorized domains, see AuthorizedDomains.ListAuthorizedDomains.", + // "flatPath": "v1/apps/{appsId}/domainMappings", + // "httpMethod": "POST", + // "id": "appengine.apps.domainMappings.create", + // "parameterOrder": [ + // "appsId" + // ], + // "parameters": { + // "appsId": { + // "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/apps/{appsId}/domainMappings", + // "request": { + // "$ref": "DomainMapping" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "appengine.apps.domainMappings.delete": + +type AppsDomainMappingsDeleteCall struct { + s *APIService + appsId string + domainMappingsId string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes the specified domain mapping. A user must be +// authorized to administer the associated domain in order to delete a +// DomainMapping resource. +func (r *AppsDomainMappingsService) Delete(appsId string, domainMappingsId string) *AppsDomainMappingsDeleteCall { + c := &AppsDomainMappingsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appsId = appsId + c.domainMappingsId = domainMappingsId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *AppsDomainMappingsDeleteCall) Fields(s ...googleapi.Field) *AppsDomainMappingsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *AppsDomainMappingsDeleteCall) Context(ctx context.Context) *AppsDomainMappingsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *AppsDomainMappingsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AppsDomainMappingsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/apps/{appsId}/domainMappings/{domainMappingsId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "appsId": c.appsId, + "domainMappingsId": c.domainMappingsId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "appengine.apps.domainMappings.delete" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *AppsDomainMappingsDeleteCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes the specified domain mapping. A user must be authorized to administer the associated domain in order to delete a DomainMapping resource.", + // "flatPath": "v1/apps/{appsId}/domainMappings/{domainMappingsId}", + // "httpMethod": "DELETE", + // "id": "appengine.apps.domainMappings.delete", + // "parameterOrder": [ + // "appsId", + // "domainMappingsId" + // ], + // "parameters": { + // "appsId": { + // "description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "domainMappingsId": { + // "description": "Part of `name`. See documentation of `appsId`.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/apps/{appsId}/domainMappings/{domainMappingsId}", + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "appengine.apps.domainMappings.get": + +type AppsDomainMappingsGetCall struct { + s *APIService + appsId string + domainMappingsId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the specified domain mapping. +func (r *AppsDomainMappingsService) Get(appsId string, domainMappingsId string) *AppsDomainMappingsGetCall { + c := &AppsDomainMappingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appsId = appsId + c.domainMappingsId = domainMappingsId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *AppsDomainMappingsGetCall) Fields(s ...googleapi.Field) *AppsDomainMappingsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *AppsDomainMappingsGetCall) IfNoneMatch(entityTag string) *AppsDomainMappingsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *AppsDomainMappingsGetCall) Context(ctx context.Context) *AppsDomainMappingsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *AppsDomainMappingsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AppsDomainMappingsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/apps/{appsId}/domainMappings/{domainMappingsId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "appsId": c.appsId, + "domainMappingsId": c.domainMappingsId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "appengine.apps.domainMappings.get" call. +// Exactly one of *DomainMapping or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *DomainMapping.ServerResponse.Header or (if a response was returned +// at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *AppsDomainMappingsGetCall) Do(opts ...googleapi.CallOption) (*DomainMapping, 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, &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, err + } + ret := &DomainMapping{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the specified domain mapping.", + // "flatPath": "v1/apps/{appsId}/domainMappings/{domainMappingsId}", + // "httpMethod": "GET", + // "id": "appengine.apps.domainMappings.get", + // "parameterOrder": [ + // "appsId", + // "domainMappingsId" + // ], + // "parameters": { + // "appsId": { + // "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "domainMappingsId": { + // "description": "Part of `name`. See documentation of `appsId`.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/apps/{appsId}/domainMappings/{domainMappingsId}", + // "response": { + // "$ref": "DomainMapping" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/appengine.admin", + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only" + // ] + // } + +} + +// method id "appengine.apps.domainMappings.list": + +type AppsDomainMappingsListCall struct { + s *APIService + appsId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists the domain mappings on an application. +func (r *AppsDomainMappingsService) List(appsId string) *AppsDomainMappingsListCall { + c := &AppsDomainMappingsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appsId = appsId + return c +} + +// PageSize sets the optional parameter "pageSize": Maximum results to +// return per page. +func (c *AppsDomainMappingsListCall) PageSize(pageSize int64) *AppsDomainMappingsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": Continuation token +// for fetching the next page of results. +func (c *AppsDomainMappingsListCall) PageToken(pageToken string) *AppsDomainMappingsListCall { + 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 information. +func (c *AppsDomainMappingsListCall) Fields(s ...googleapi.Field) *AppsDomainMappingsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *AppsDomainMappingsListCall) IfNoneMatch(entityTag string) *AppsDomainMappingsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *AppsDomainMappingsListCall) Context(ctx context.Context) *AppsDomainMappingsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *AppsDomainMappingsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AppsDomainMappingsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/apps/{appsId}/domainMappings") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "appsId": c.appsId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "appengine.apps.domainMappings.list" call. +// Exactly one of *ListDomainMappingsResponse or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *ListDomainMappingsResponse.ServerResponse.Header or (if a response +// was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *AppsDomainMappingsListCall) Do(opts ...googleapi.CallOption) (*ListDomainMappingsResponse, 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, &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, err + } + ret := &ListDomainMappingsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists the domain mappings on an application.", + // "flatPath": "v1/apps/{appsId}/domainMappings", + // "httpMethod": "GET", + // "id": "appengine.apps.domainMappings.list", + // "parameterOrder": [ + // "appsId" + // ], + // "parameters": { + // "appsId": { + // "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "pageSize": { + // "description": "Maximum results to return per page.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Continuation token for fetching the next page of results.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/apps/{appsId}/domainMappings", + // "response": { + // "$ref": "ListDomainMappingsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/appengine.admin", + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only" + // ] + // } + +} + +// 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 *AppsDomainMappingsListCall) Pages(ctx context.Context, f func(*ListDomainMappingsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "appengine.apps.domainMappings.patch": + +type AppsDomainMappingsPatchCall struct { + s *APIService + appsId string + domainMappingsId string + domainmapping *DomainMapping + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates the specified domain mapping. To map an SSL +// certificate to a domain mapping, update certificate_id to point to an +// AuthorizedCertificate resource. A user must be authorized to +// administer the associated domain in order to update a DomainMapping +// resource. +func (r *AppsDomainMappingsService) Patch(appsId string, domainMappingsId string, domainmapping *DomainMapping) *AppsDomainMappingsPatchCall { + c := &AppsDomainMappingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appsId = appsId + c.domainMappingsId = domainMappingsId + c.domainmapping = domainmapping + return c +} + +// UpdateMask sets the optional parameter "updateMask": Standard field +// mask for the set of fields to be updated. +func (c *AppsDomainMappingsPatchCall) UpdateMask(updateMask string) *AppsDomainMappingsPatchCall { + 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 information. +func (c *AppsDomainMappingsPatchCall) Fields(s ...googleapi.Field) *AppsDomainMappingsPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *AppsDomainMappingsPatchCall) Context(ctx context.Context) *AppsDomainMappingsPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *AppsDomainMappingsPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AppsDomainMappingsPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.domainmapping) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/apps/{appsId}/domainMappings/{domainMappingsId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "appsId": c.appsId, + "domainMappingsId": c.domainMappingsId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "appengine.apps.domainMappings.patch" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *AppsDomainMappingsPatchCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates the specified domain mapping. To map an SSL certificate to a domain mapping, update certificate_id to point to an AuthorizedCertificate resource. A user must be authorized to administer the associated domain in order to update a DomainMapping resource.", + // "flatPath": "v1/apps/{appsId}/domainMappings/{domainMappingsId}", + // "httpMethod": "PATCH", + // "id": "appengine.apps.domainMappings.patch", + // "parameterOrder": [ + // "appsId", + // "domainMappingsId" + // ], + // "parameters": { + // "appsId": { + // "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/domainMappings/example.com.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "domainMappingsId": { + // "description": "Part of `name`. See documentation of `appsId`.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Standard field mask for the set of fields to be updated.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/apps/{appsId}/domainMappings/{domainMappingsId}", + // "request": { + // "$ref": "DomainMapping" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "appengine.apps.firewall.ingressRules.batchUpdate": + +type AppsFirewallIngressRulesBatchUpdateCall struct { + s *APIService + appsId string + batchupdateingressrulesrequest *BatchUpdateIngressRulesRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// BatchUpdate: Replaces the entire firewall ruleset in one bulk +// operation. This overrides and replaces the rules of an existing +// firewall with the new rules.If the final rule does not match traffic +// with the '*' wildcard IP range, then an "allow all" rule is +// explicitly added to the end of the list. +func (r *AppsFirewallIngressRulesService) BatchUpdate(appsId string, batchupdateingressrulesrequest *BatchUpdateIngressRulesRequest) *AppsFirewallIngressRulesBatchUpdateCall { + c := &AppsFirewallIngressRulesBatchUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appsId = appsId + c.batchupdateingressrulesrequest = batchupdateingressrulesrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *AppsFirewallIngressRulesBatchUpdateCall) Fields(s ...googleapi.Field) *AppsFirewallIngressRulesBatchUpdateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *AppsFirewallIngressRulesBatchUpdateCall) Context(ctx context.Context) *AppsFirewallIngressRulesBatchUpdateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *AppsFirewallIngressRulesBatchUpdateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AppsFirewallIngressRulesBatchUpdateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchupdateingressrulesrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/apps/{appsId}/firewall/ingressRules:batchUpdate") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "appsId": c.appsId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "appengine.apps.firewall.ingressRules.batchUpdate" call. +// Exactly one of *BatchUpdateIngressRulesResponse or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *BatchUpdateIngressRulesResponse.ServerResponse.Header or (if +// a response was returned at all) in error.(*googleapi.Error).Header. +// Use googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *AppsFirewallIngressRulesBatchUpdateCall) Do(opts ...googleapi.CallOption) (*BatchUpdateIngressRulesResponse, 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, &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, err + } + ret := &BatchUpdateIngressRulesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Replaces the entire firewall ruleset in one bulk operation. This overrides and replaces the rules of an existing firewall with the new rules.If the final rule does not match traffic with the '*' wildcard IP range, then an \"allow all\" rule is explicitly added to the end of the list.", + // "flatPath": "v1/apps/{appsId}/firewall/ingressRules:batchUpdate", + // "httpMethod": "POST", + // "id": "appengine.apps.firewall.ingressRules.batchUpdate", + // "parameterOrder": [ + // "appsId" + // ], + // "parameters": { + // "appsId": { + // "description": "Part of `name`. Name of the Firewall collection to set. Example: apps/myapp/firewall/ingressRules.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/apps/{appsId}/firewall/ingressRules:batchUpdate", + // "request": { + // "$ref": "BatchUpdateIngressRulesRequest" + // }, + // "response": { + // "$ref": "BatchUpdateIngressRulesResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "appengine.apps.firewall.ingressRules.create": + +type AppsFirewallIngressRulesCreateCall struct { + s *APIService + appsId string + firewallrule *FirewallRule + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a firewall rule for the application. +func (r *AppsFirewallIngressRulesService) Create(appsId string, firewallrule *FirewallRule) *AppsFirewallIngressRulesCreateCall { + c := &AppsFirewallIngressRulesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appsId = appsId + c.firewallrule = firewallrule + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *AppsFirewallIngressRulesCreateCall) Fields(s ...googleapi.Field) *AppsFirewallIngressRulesCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *AppsFirewallIngressRulesCreateCall) Context(ctx context.Context) *AppsFirewallIngressRulesCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *AppsFirewallIngressRulesCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AppsFirewallIngressRulesCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.firewallrule) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/apps/{appsId}/firewall/ingressRules") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "appsId": c.appsId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "appengine.apps.firewall.ingressRules.create" call. +// Exactly one of *FirewallRule or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *FirewallRule.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *AppsFirewallIngressRulesCreateCall) Do(opts ...googleapi.CallOption) (*FirewallRule, 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, &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, err + } + ret := &FirewallRule{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a firewall rule for the application.", + // "flatPath": "v1/apps/{appsId}/firewall/ingressRules", + // "httpMethod": "POST", + // "id": "appengine.apps.firewall.ingressRules.create", + // "parameterOrder": [ + // "appsId" + // ], + // "parameters": { + // "appsId": { + // "description": "Part of `parent`. Name of the parent Firewall collection in which to create a new rule. Example: apps/myapp/firewall/ingressRules.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/apps/{appsId}/firewall/ingressRules", + // "request": { + // "$ref": "FirewallRule" + // }, + // "response": { + // "$ref": "FirewallRule" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "appengine.apps.firewall.ingressRules.delete": + +type AppsFirewallIngressRulesDeleteCall struct { + s *APIService + appsId string + ingressRulesId string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes the specified firewall rule. +func (r *AppsFirewallIngressRulesService) Delete(appsId string, ingressRulesId string) *AppsFirewallIngressRulesDeleteCall { + c := &AppsFirewallIngressRulesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appsId = appsId + c.ingressRulesId = ingressRulesId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *AppsFirewallIngressRulesDeleteCall) Fields(s ...googleapi.Field) *AppsFirewallIngressRulesDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *AppsFirewallIngressRulesDeleteCall) Context(ctx context.Context) *AppsFirewallIngressRulesDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *AppsFirewallIngressRulesDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AppsFirewallIngressRulesDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/apps/{appsId}/firewall/ingressRules/{ingressRulesId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "appsId": c.appsId, + "ingressRulesId": c.ingressRulesId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "appengine.apps.firewall.ingressRules.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *AppsFirewallIngressRulesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes the specified firewall rule.", + // "flatPath": "v1/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", + // "httpMethod": "DELETE", + // "id": "appengine.apps.firewall.ingressRules.delete", + // "parameterOrder": [ + // "appsId", + // "ingressRulesId" + // ], + // "parameters": { + // "appsId": { + // "description": "Part of `name`. Name of the Firewall resource to delete. Example: apps/myapp/firewall/ingressRules/100.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "ingressRulesId": { + // "description": "Part of `name`. See documentation of `appsId`.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "appengine.apps.firewall.ingressRules.get": + +type AppsFirewallIngressRulesGetCall struct { + s *APIService + appsId string + ingressRulesId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the specified firewall rule. +func (r *AppsFirewallIngressRulesService) Get(appsId string, ingressRulesId string) *AppsFirewallIngressRulesGetCall { + c := &AppsFirewallIngressRulesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appsId = appsId + c.ingressRulesId = ingressRulesId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *AppsFirewallIngressRulesGetCall) Fields(s ...googleapi.Field) *AppsFirewallIngressRulesGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *AppsFirewallIngressRulesGetCall) IfNoneMatch(entityTag string) *AppsFirewallIngressRulesGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *AppsFirewallIngressRulesGetCall) Context(ctx context.Context) *AppsFirewallIngressRulesGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *AppsFirewallIngressRulesGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AppsFirewallIngressRulesGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/apps/{appsId}/firewall/ingressRules/{ingressRulesId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "appsId": c.appsId, + "ingressRulesId": c.ingressRulesId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "appengine.apps.firewall.ingressRules.get" call. +// Exactly one of *FirewallRule or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *FirewallRule.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *AppsFirewallIngressRulesGetCall) Do(opts ...googleapi.CallOption) (*FirewallRule, 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, &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, err + } + ret := &FirewallRule{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the specified firewall rule.", + // "flatPath": "v1/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", + // "httpMethod": "GET", + // "id": "appengine.apps.firewall.ingressRules.get", + // "parameterOrder": [ + // "appsId", + // "ingressRulesId" + // ], + // "parameters": { + // "appsId": { + // "description": "Part of `name`. Name of the Firewall resource to retrieve. Example: apps/myapp/firewall/ingressRules/100.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "ingressRulesId": { + // "description": "Part of `name`. See documentation of `appsId`.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", + // "response": { + // "$ref": "FirewallRule" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/appengine.admin", + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only" + // ] + // } + +} + +// method id "appengine.apps.firewall.ingressRules.list": + +type AppsFirewallIngressRulesListCall struct { + s *APIService + appsId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists the firewall rules of an application. +func (r *AppsFirewallIngressRulesService) List(appsId string) *AppsFirewallIngressRulesListCall { + c := &AppsFirewallIngressRulesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appsId = appsId + return c +} + +// MatchingAddress sets the optional parameter "matchingAddress": A +// valid IP Address. If set, only rules matching this address will be +// returned. The first returned rule will be the rule that fires on +// requests from this IP. +func (c *AppsFirewallIngressRulesListCall) MatchingAddress(matchingAddress string) *AppsFirewallIngressRulesListCall { + c.urlParams_.Set("matchingAddress", matchingAddress) + return c +} + +// PageSize sets the optional parameter "pageSize": Maximum results to +// return per page. +func (c *AppsFirewallIngressRulesListCall) PageSize(pageSize int64) *AppsFirewallIngressRulesListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": Continuation token +// for fetching the next page of results. +func (c *AppsFirewallIngressRulesListCall) PageToken(pageToken string) *AppsFirewallIngressRulesListCall { + 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 information. +func (c *AppsFirewallIngressRulesListCall) Fields(s ...googleapi.Field) *AppsFirewallIngressRulesListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *AppsFirewallIngressRulesListCall) IfNoneMatch(entityTag string) *AppsFirewallIngressRulesListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *AppsFirewallIngressRulesListCall) Context(ctx context.Context) *AppsFirewallIngressRulesListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *AppsFirewallIngressRulesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AppsFirewallIngressRulesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/apps/{appsId}/firewall/ingressRules") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "appsId": c.appsId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "appengine.apps.firewall.ingressRules.list" call. +// Exactly one of *ListIngressRulesResponse or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *ListIngressRulesResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *AppsFirewallIngressRulesListCall) Do(opts ...googleapi.CallOption) (*ListIngressRulesResponse, 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, &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, err + } + ret := &ListIngressRulesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists the firewall rules of an application.", + // "flatPath": "v1/apps/{appsId}/firewall/ingressRules", + // "httpMethod": "GET", + // "id": "appengine.apps.firewall.ingressRules.list", + // "parameterOrder": [ + // "appsId" + // ], + // "parameters": { + // "appsId": { + // "description": "Part of `parent`. Name of the Firewall collection to retrieve. Example: apps/myapp/firewall/ingressRules.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "matchingAddress": { + // "description": "A valid IP Address. If set, only rules matching this address will be returned. The first returned rule will be the rule that fires on requests from this IP.", + // "location": "query", + // "type": "string" + // }, + // "pageSize": { + // "description": "Maximum results to return per page.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Continuation token for fetching the next page of results.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/apps/{appsId}/firewall/ingressRules", + // "response": { + // "$ref": "ListIngressRulesResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/appengine.admin", + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only" + // ] + // } + +} + +// 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 *AppsFirewallIngressRulesListCall) Pages(ctx context.Context, f func(*ListIngressRulesResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "appengine.apps.firewall.ingressRules.patch": + +type AppsFirewallIngressRulesPatchCall struct { + s *APIService + appsId string + ingressRulesId string + firewallrule *FirewallRule + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates the specified firewall rule. +func (r *AppsFirewallIngressRulesService) Patch(appsId string, ingressRulesId string, firewallrule *FirewallRule) *AppsFirewallIngressRulesPatchCall { + c := &AppsFirewallIngressRulesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appsId = appsId + c.ingressRulesId = ingressRulesId + c.firewallrule = firewallrule + return c +} + +// UpdateMask sets the optional parameter "updateMask": Standard field +// mask for the set of fields to be updated. +func (c *AppsFirewallIngressRulesPatchCall) UpdateMask(updateMask string) *AppsFirewallIngressRulesPatchCall { + 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 information. +func (c *AppsFirewallIngressRulesPatchCall) Fields(s ...googleapi.Field) *AppsFirewallIngressRulesPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *AppsFirewallIngressRulesPatchCall) Context(ctx context.Context) *AppsFirewallIngressRulesPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *AppsFirewallIngressRulesPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AppsFirewallIngressRulesPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.firewallrule) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/apps/{appsId}/firewall/ingressRules/{ingressRulesId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "appsId": c.appsId, + "ingressRulesId": c.ingressRulesId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "appengine.apps.firewall.ingressRules.patch" call. +// Exactly one of *FirewallRule or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *FirewallRule.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *AppsFirewallIngressRulesPatchCall) Do(opts ...googleapi.CallOption) (*FirewallRule, 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, &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, err + } + ret := &FirewallRule{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates the specified firewall rule.", + // "flatPath": "v1/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", + // "httpMethod": "PATCH", + // "id": "appengine.apps.firewall.ingressRules.patch", + // "parameterOrder": [ + // "appsId", + // "ingressRulesId" + // ], + // "parameters": { + // "appsId": { + // "description": "Part of `name`. Name of the Firewall resource to update. Example: apps/myapp/firewall/ingressRules/100.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "ingressRulesId": { + // "description": "Part of `name`. See documentation of `appsId`.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Standard field mask for the set of fields to be updated.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", + // "request": { + // "$ref": "FirewallRule" + // }, + // "response": { + // "$ref": "FirewallRule" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "appengine.apps.locations.get": type AppsLocationsGetCall struct { @@ -5296,6 +8644,27 @@ type AppsServicesVersionsPatchCall struct { // pps.services.versions#Version.FIELDS.automatic_scaling): For Version // resources that use automatic scaling and run in the App Engine // standard environment. +// automatic_scaling.min_total_instances +// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/a +// pps.services.versions#Version.FIELDS.automatic_scaling): For Version +// resources that use automatic scaling and run in the App Engine +// Flexible environment. +// automatic_scaling.max_total_instances +// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/a +// pps.services.versions#Version.FIELDS.automatic_scaling): For Version +// resources that use automatic scaling and run in the App Engine +// Flexible environment. +// automatic_scaling.cool_down_period_sec +// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/a +// pps.services.versions#Version.FIELDS.automatic_scaling): For Version +// resources that use automatic scaling and run in the App Engine +// Flexible +// environment. +// automatic_scaling.cpu_utilization.target_utilization +// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/a +// pps.services.versions#Version.FIELDS.automatic_scaling): For Version +// resources that use automatic scaling and run in the App Engine +// Flexible environment. func (r *AppsServicesVersionsService) Patch(appsId string, servicesId string, versionsId string, version *Version) *AppsServicesVersionsPatchCall { c := &AppsServicesVersionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.appsId = appsId @@ -5400,7 +8769,7 @@ func (c *AppsServicesVersionsPatchCall) Do(opts ...googleapi.CallOption) (*Opera } return ret, nil // { - // "description": "Updates the specified Version resource. You can specify the following fields depending on the App Engine environment and type of scaling that the version resource uses:\nserving_status (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.serving_status): For Version resources that use basic scaling, manual scaling, or run in the App Engine flexible environment.\ninstance_class (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.instance_class): For Version resources that run in the App Engine standard environment.\nautomatic_scaling.min_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.\nautomatic_scaling.max_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.", + // "description": "Updates the specified Version resource. You can specify the following fields depending on the App Engine environment and type of scaling that the version resource uses:\nserving_status (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.serving_status): For Version resources that use basic scaling, manual scaling, or run in the App Engine flexible environment.\ninstance_class (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.instance_class): For Version resources that run in the App Engine standard environment.\nautomatic_scaling.min_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.\nautomatic_scaling.max_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.\nautomatic_scaling.min_total_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine Flexible environment.\nautomatic_scaling.max_total_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine Flexible environment.\nautomatic_scaling.cool_down_period_sec (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine Flexible environment.\nautomatic_scaling.cpu_utilization.target_utilization (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine Flexible environment.", // "flatPath": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}", // "httpMethod": "PATCH", // "id": "appengine.apps.services.versions.patch", diff --git a/vendor/google.golang.org/api/appengine/v1alpha/appengine-api.json b/vendor/google.golang.org/api/appengine/v1alpha/appengine-api.json index 92fa2d973..afb9b9ac5 100644 --- a/vendor/google.golang.org/api/appengine/v1alpha/appengine-api.json +++ b/vendor/google.golang.org/api/appengine/v1alpha/appengine-api.json @@ -1,530 +1,14 @@ { + "batchPath": "batch", + "revision": "20170926", + "documentationLink": "https://cloud.google.com/appengine/docs/admin-api/", + "id": "appengine:v1alpha", + "title": "Google App Engine Admin API", "ownerName": "Google", "discoveryVersion": "v1", "resources": { "apps": { "resources": { - "operations": { - "methods": { - "get": { - "flatPath": "v1alpha/apps/{appsId}/operations/{operationsId}", - "id": "appengine.apps.operations.get", - "path": "v1alpha/apps/{appsId}/operations/{operationsId}", - "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "appsId", - "operationsId" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "appsId": { - "description": "Part of `name`. The name of the operation resource.", - "type": "string", - "required": true, - "location": "path" - }, - "operationsId": { - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true, - "location": "path" - } - } - }, - "list": { - "flatPath": "v1alpha/apps/{appsId}/operations", - "id": "appengine.apps.operations.list", - "path": "v1alpha/apps/{appsId}/operations", - "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: the name binding allows API services to override the binding to use different resource name schemes, such as users/*/operations. To override the binding, API services can add a binding such as \"/v1/{name=users/*}/operations\" to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.", - "response": { - "$ref": "ListOperationsResponse" - }, - "parameterOrder": [ - "appsId" - ], - "httpMethod": "GET", - "parameters": { - "pageToken": { - "location": "query", - "description": "The standard list page token.", - "type": "string" - }, - "appsId": { - "type": "string", - "required": true, - "location": "path", - "description": "Part of `name`. The name of the operation's parent resource." - }, - "pageSize": { - "type": "integer", - "location": "query", - "format": "int32", - "description": "The standard list page size." - }, - "filter": { - "description": "The standard list filter.", - "type": "string", - "location": "query" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ] - } - } - }, - "locations": { - "methods": { - "get": { - "description": "Get information about a location.", - "httpMethod": "GET", - "parameterOrder": [ - "appsId", - "locationsId" - ], - "response": { - "$ref": "Location" - }, - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "locationsId": { - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true, - "location": "path" - }, - "appsId": { - "location": "path", - "description": "Part of `name`. Resource name for the location.", - "type": "string", - "required": true - } - }, - "flatPath": "v1alpha/apps/{appsId}/locations/{locationsId}", - "path": "v1alpha/apps/{appsId}/locations/{locationsId}", - "id": "appengine.apps.locations.get" - }, - "list": { - "path": "v1alpha/apps/{appsId}/locations", - "id": "appengine.apps.locations.list", - "description": "Lists information about the supported locations for this service.", - "httpMethod": "GET", - "parameterOrder": [ - "appsId" - ], - "response": { - "$ref": "ListLocationsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "filter": { - "description": "The standard list filter.", - "type": "string", - "location": "query" - }, - "pageToken": { - "description": "The standard list page token.", - "type": "string", - "location": "query" - }, - "appsId": { - "location": "path", - "description": "Part of `name`. The resource that owns the locations collection, if applicable.", - "type": "string", - "required": true - }, - "pageSize": { - "format": "int32", - "description": "The standard list page size.", - "type": "integer", - "location": "query" - } - }, - "flatPath": "v1alpha/apps/{appsId}/locations" - } - } - }, - "domainMappings": { - "methods": { - "patch": { - "httpMethod": "PATCH", - "parameterOrder": [ - "appsId", - "domainMappingsId" - ], - "response": { - "$ref": "Operation" - }, - "parameters": { - "appsId": { - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/domainMappings/example.com.", - "type": "string", - "required": true, - "location": "path" - }, - "domainMappingsId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - }, - "noManagedCertificate": { - "description": "Whether a managed certificate should be provided by App Engine. If true, a certificate ID must be manaually set in the DomainMapping resource to configure SSL for this domain. If false, a managed certificate will be provisioned and a certificate ID will be automatically populated. Only applicable if ssl_settings.certificate_id is specified in the update mask.", - "type": "boolean", - "location": "query" - }, - "updateMask": { - "location": "query", - "format": "google-fieldmask", - "description": "Standard field mask for the set of fields to be updated.", - "type": "string" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1alpha/apps/{appsId}/domainMappings/{domainMappingsId}", - "path": "v1alpha/apps/{appsId}/domainMappings/{domainMappingsId}", - "id": "appengine.apps.domainMappings.patch", - "description": "Updates the specified domain mapping. To map an SSL certificate to a domain mapping, update certificate_id to point to an AuthorizedCertificate resource. A user must be authorized to administer the associated domain in order to update a DomainMapping resource.", - "request": { - "$ref": "DomainMapping" - } - }, - "get": { - "flatPath": "v1alpha/apps/{appsId}/domainMappings/{domainMappingsId}", - "id": "appengine.apps.domainMappings.get", - "path": "v1alpha/apps/{appsId}/domainMappings/{domainMappingsId}", - "description": "Gets the specified domain mapping.", - "response": { - "$ref": "DomainMapping" - }, - "parameterOrder": [ - "appsId", - "domainMappingsId" - ], - "httpMethod": "GET", - "parameters": { - "appsId": { - "location": "path", - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com.", - "type": "string", - "required": true - }, - "domainMappingsId": { - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true, - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ] - }, - "list": { - "flatPath": "v1alpha/apps/{appsId}/domainMappings", - "id": "appengine.apps.domainMappings.list", - "path": "v1alpha/apps/{appsId}/domainMappings", - "description": "Lists the domain mappings on an application.", - "response": { - "$ref": "ListDomainMappingsResponse" - }, - "parameterOrder": [ - "appsId" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "pageToken": { - "description": "Continuation token for fetching the next page of results.", - "type": "string", - "location": "query" - }, - "appsId": { - "location": "path", - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", - "type": "string", - "required": true - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "Maximum results to return per page.", - "type": "integer" - } - } - }, - "create": { - "description": "Maps a domain to an application. A user must be authorized to administer a domain in order to map it to an application. For a list of available authorized domains, see AuthorizedDomains.ListAuthorizedDomains.", - "request": { - "$ref": "DomainMapping" - }, - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "appsId" - ], - "httpMethod": "POST", - "parameters": { - "appsId": { - "location": "path", - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", - "type": "string", - "required": true - }, - "noManagedCertificate": { - "location": "query", - "description": "Whether a managed certificate should be provided by App Engine. If true, a certificate ID must be manaually set in the DomainMapping resource to configure SSL for this domain. If false, a managed certificate will be provisioned and a certificate ID will be automatically populated.", - "type": "boolean" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1alpha/apps/{appsId}/domainMappings", - "id": "appengine.apps.domainMappings.create", - "path": "v1alpha/apps/{appsId}/domainMappings" - }, - "delete": { - "description": "Deletes the specified domain mapping. A user must be authorized to administer the associated domain in order to delete a DomainMapping resource.", - "httpMethod": "DELETE", - "parameterOrder": [ - "appsId", - "domainMappingsId" - ], - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "appsId": { - "description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com.", - "type": "string", - "required": true, - "location": "path" - }, - "domainMappingsId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - } - }, - "flatPath": "v1alpha/apps/{appsId}/domainMappings/{domainMappingsId}", - "path": "v1alpha/apps/{appsId}/domainMappings/{domainMappingsId}", - "id": "appengine.apps.domainMappings.delete" - } - } - }, - "authorizedCertificates": { - "methods": { - "delete": { - "flatPath": "v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", - "id": "appengine.apps.authorizedCertificates.delete", - "path": "v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", - "description": "Deletes the specified SSL certificate.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "appsId", - "authorizedCertificatesId" - ], - "httpMethod": "DELETE", - "parameters": { - "appsId": { - "description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345.", - "type": "string", - "required": true, - "location": "path" - }, - "authorizedCertificatesId": { - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true, - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "patch": { - "flatPath": "v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", - "path": "v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", - "id": "appengine.apps.authorizedCertificates.patch", - "request": { - "$ref": "AuthorizedCertificate" - }, - "description": "Updates the specified SSL certificate. To renew a certificate and maintain its existing domain mappings, update certificate_data with a new certificate. The new certificate must be applicable to the same domains as the original certificate. The certificate display_name may also be updated.", - "httpMethod": "PATCH", - "parameterOrder": [ - "appsId", - "authorizedCertificatesId" - ], - "response": { - "$ref": "AuthorizedCertificate" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "appsId": { - "location": "path", - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345.", - "type": "string", - "required": true - }, - "authorizedCertificatesId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - }, - "updateMask": { - "location": "query", - "format": "google-fieldmask", - "description": "Standard field mask for the set of fields to be updated. Updates are only supported on the certificate_raw_data and display_name fields.", - "type": "string" - } - } - }, - "get": { - "httpMethod": "GET", - "parameterOrder": [ - "appsId", - "authorizedCertificatesId" - ], - "response": { - "$ref": "AuthorizedCertificate" - }, - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "authorizedCertificatesId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - }, - "appsId": { - "location": "path", - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345.", - "type": "string", - "required": true - }, - "view": { - "enum": [ - "BASIC_CERTIFICATE", - "FULL_CERTIFICATE" - ], - "description": "Controls the set of fields returned in the GET response.", - "type": "string", - "location": "query" - } - }, - "flatPath": "v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", - "path": "v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", - "id": "appengine.apps.authorizedCertificates.get", - "description": "Gets the specified SSL certificate." - }, - "list": { - "response": { - "$ref": "ListAuthorizedCertificatesResponse" - }, - "parameterOrder": [ - "appsId" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "pageToken": { - "description": "Continuation token for fetching the next page of results.", - "type": "string", - "location": "query" - }, - "appsId": { - "location": "path", - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", - "type": "string", - "required": true - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "Maximum results to return per page.", - "type": "integer" - } - }, - "flatPath": "v1alpha/apps/{appsId}/authorizedCertificates", - "id": "appengine.apps.authorizedCertificates.list", - "path": "v1alpha/apps/{appsId}/authorizedCertificates", - "description": "Lists all SSL certificates the user is authorized to administer." - }, - "create": { - "response": { - "$ref": "AuthorizedCertificate" - }, - "parameterOrder": [ - "appsId" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "appsId": { - "location": "path", - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", - "type": "string", - "required": true - } - }, - "flatPath": "v1alpha/apps/{appsId}/authorizedCertificates", - "id": "appengine.apps.authorizedCertificates.create", - "path": "v1alpha/apps/{appsId}/authorizedCertificates", - "request": { - "$ref": "AuthorizedCertificate" - }, - "description": "Uploads the specified SSL certificate." - } - } - }, "authorizedDomains": { "methods": { "list": { @@ -543,10 +27,10 @@ "location": "query" }, "appsId": { + "location": "path", "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", "type": "string", - "required": true, - "location": "path" + "required": true }, "pageSize": { "location": "query", @@ -565,42 +49,541 @@ "path": "v1alpha/apps/{appsId}/authorizedDomains" } } + }, + "operations": { + "methods": { + "get": { + "path": "v1alpha/apps/{appsId}/operations/{operationsId}", + "id": "appengine.apps.operations.get", + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "httpMethod": "GET", + "parameterOrder": [ + "appsId", + "operationsId" + ], + "response": { + "$ref": "Operation" + }, + "parameters": { + "appsId": { + "location": "path", + "description": "Part of `name`. The name of the operation resource.", + "type": "string", + "required": true + }, + "operationsId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1alpha/apps/{appsId}/operations/{operationsId}" + }, + "list": { + "flatPath": "v1alpha/apps/{appsId}/operations", + "path": "v1alpha/apps/{appsId}/operations", + "id": "appengine.apps.operations.list", + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: the name binding allows API services to override the binding to use different resource name schemes, such as users/*/operations. To override the binding, API services can add a binding such as \"/v1/{name=users/*}/operations\" to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.", + "httpMethod": "GET", + "parameterOrder": [ + "appsId" + ], + "response": { + "$ref": "ListOperationsResponse" + }, + "parameters": { + "filter": { + "description": "The standard list filter.", + "type": "string", + "location": "query" + }, + "pageToken": { + "description": "The standard list page token.", + "type": "string", + "location": "query" + }, + "appsId": { + "location": "path", + "description": "Part of `name`. The name of the operation's parent resource.", + "type": "string", + "required": true + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "The standard list page size.", + "type": "integer" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + } + }, + "locations": { + "methods": { + "get": { + "description": "Get information about a location.", + "response": { + "$ref": "Location" + }, + "parameterOrder": [ + "appsId", + "locationsId" + ], + "httpMethod": "GET", + "parameters": { + "locationsId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + }, + "appsId": { + "location": "path", + "description": "Part of `name`. Resource name for the location.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1alpha/apps/{appsId}/locations/{locationsId}", + "id": "appengine.apps.locations.get", + "path": "v1alpha/apps/{appsId}/locations/{locationsId}" + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "response": { + "$ref": "ListLocationsResponse" + }, + "parameterOrder": [ + "appsId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "filter": { + "location": "query", + "description": "The standard list filter.", + "type": "string" + }, + "pageToken": { + "location": "query", + "description": "The standard list page token.", + "type": "string" + }, + "appsId": { + "location": "path", + "description": "Part of `name`. The resource that owns the locations collection, if applicable.", + "type": "string", + "required": true + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "The standard list page size.", + "type": "integer" + } + }, + "flatPath": "v1alpha/apps/{appsId}/locations", + "id": "appengine.apps.locations.list", + "path": "v1alpha/apps/{appsId}/locations" + } + } + }, + "domainMappings": { + "methods": { + "delete": { + "path": "v1alpha/apps/{appsId}/domainMappings/{domainMappingsId}", + "id": "appengine.apps.domainMappings.delete", + "description": "Deletes the specified domain mapping. A user must be authorized to administer the associated domain in order to delete a DomainMapping resource.", + "httpMethod": "DELETE", + "parameterOrder": [ + "appsId", + "domainMappingsId" + ], + "response": { + "$ref": "Operation" + }, + "parameters": { + "appsId": { + "description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com.", + "type": "string", + "required": true, + "location": "path" + }, + "domainMappingsId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1alpha/apps/{appsId}/domainMappings/{domainMappingsId}" + }, + "patch": { + "request": { + "$ref": "DomainMapping" + }, + "description": "Updates the specified domain mapping. To map an SSL certificate to a domain mapping, update certificate_id to point to an AuthorizedCertificate resource. A user must be authorized to administer the associated domain in order to update a DomainMapping resource.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "domainMappingsId" + ], + "httpMethod": "PATCH", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "updateMask": { + "format": "google-fieldmask", + "description": "Standard field mask for the set of fields to be updated.", + "type": "string", + "location": "query" + }, + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/domainMappings/example.com.", + "type": "string", + "required": true + }, + "domainMappingsId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "noManagedCertificate": { + "location": "query", + "description": "Whether a managed certificate should be provided by App Engine. If true, a certificate ID must be manually set in the DomainMapping resource to configure SSL for this domain. If false, a managed certificate will be provisioned and a certificate ID will be automatically populated. Only applicable if ssl_settings.certificate_id is specified in the update mask.", + "type": "boolean" + } + }, + "flatPath": "v1alpha/apps/{appsId}/domainMappings/{domainMappingsId}", + "id": "appengine.apps.domainMappings.patch", + "path": "v1alpha/apps/{appsId}/domainMappings/{domainMappingsId}" + }, + "get": { + "description": "Gets the specified domain mapping.", + "httpMethod": "GET", + "parameterOrder": [ + "appsId", + "domainMappingsId" + ], + "response": { + "$ref": "DomainMapping" + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "appsId": { + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com.", + "type": "string", + "required": true, + "location": "path" + }, + "domainMappingsId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1alpha/apps/{appsId}/domainMappings/{domainMappingsId}", + "path": "v1alpha/apps/{appsId}/domainMappings/{domainMappingsId}", + "id": "appengine.apps.domainMappings.get" + }, + "list": { + "description": "Lists the domain mappings on an application.", + "response": { + "$ref": "ListDomainMappingsResponse" + }, + "parameterOrder": [ + "appsId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "pageToken": { + "location": "query", + "description": "Continuation token for fetching the next page of results.", + "type": "string" + }, + "appsId": { + "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "type": "string", + "required": true, + "location": "path" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Maximum results to return per page.", + "type": "integer" + } + }, + "flatPath": "v1alpha/apps/{appsId}/domainMappings", + "id": "appengine.apps.domainMappings.list", + "path": "v1alpha/apps/{appsId}/domainMappings" + }, + "create": { + "httpMethod": "POST", + "parameterOrder": [ + "appsId" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "appsId": { + "location": "path", + "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "type": "string", + "required": true + }, + "noManagedCertificate": { + "description": "Whether a managed certificate should be provided by App Engine. If true, a certificate ID must be manaually set in the DomainMapping resource to configure SSL for this domain. If false, a managed certificate will be provisioned and a certificate ID will be automatically populated.", + "type": "boolean", + "location": "query" + } + }, + "flatPath": "v1alpha/apps/{appsId}/domainMappings", + "path": "v1alpha/apps/{appsId}/domainMappings", + "id": "appengine.apps.domainMappings.create", + "request": { + "$ref": "DomainMapping" + }, + "description": "Maps a domain to an application. A user must be authorized to administer a domain in order to map it to an application. For a list of available authorized domains, see AuthorizedDomains.ListAuthorizedDomains." + } + } + }, + "authorizedCertificates": { + "methods": { + "create": { + "flatPath": "v1alpha/apps/{appsId}/authorizedCertificates", + "id": "appengine.apps.authorizedCertificates.create", + "path": "v1alpha/apps/{appsId}/authorizedCertificates", + "request": { + "$ref": "AuthorizedCertificate" + }, + "description": "Uploads the specified SSL certificate.", + "response": { + "$ref": "AuthorizedCertificate" + }, + "parameterOrder": [ + "appsId" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "appsId": { + "location": "path", + "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "type": "string", + "required": true + } + } + }, + "delete": { + "id": "appengine.apps.authorizedCertificates.delete", + "path": "v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", + "description": "Deletes the specified SSL certificate.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "appsId", + "authorizedCertificatesId" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345.", + "type": "string", + "required": true + }, + "authorizedCertificatesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + } + }, + "flatPath": "v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}" + }, + "patch": { + "request": { + "$ref": "AuthorizedCertificate" + }, + "description": "Updates the specified SSL certificate. To renew a certificate and maintain its existing domain mappings, update certificate_data with a new certificate. The new certificate must be applicable to the same domains as the original certificate. The certificate display_name may also be updated.", + "response": { + "$ref": "AuthorizedCertificate" + }, + "parameterOrder": [ + "appsId", + "authorizedCertificatesId" + ], + "httpMethod": "PATCH", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Standard field mask for the set of fields to be updated. Updates are only supported on the certificate_raw_data and display_name fields.", + "type": "string" + }, + "appsId": { + "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345.", + "type": "string", + "required": true, + "location": "path" + }, + "authorizedCertificatesId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", + "id": "appengine.apps.authorizedCertificates.patch", + "path": "v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}" + }, + "get": { + "response": { + "$ref": "AuthorizedCertificate" + }, + "parameterOrder": [ + "appsId", + "authorizedCertificatesId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345.", + "type": "string", + "required": true + }, + "view": { + "location": "query", + "enum": [ + "BASIC_CERTIFICATE", + "FULL_CERTIFICATE" + ], + "description": "Controls the set of fields returned in the GET response.", + "type": "string" + }, + "authorizedCertificatesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + } + }, + "flatPath": "v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", + "id": "appengine.apps.authorizedCertificates.get", + "path": "v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", + "description": "Gets the specified SSL certificate." + }, + "list": { + "description": "Lists all SSL certificates the user is authorized to administer.", + "response": { + "$ref": "ListAuthorizedCertificatesResponse" + }, + "parameterOrder": [ + "appsId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "pageToken": { + "location": "query", + "description": "Continuation token for fetching the next page of results.", + "type": "string" + }, + "appsId": { + "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "type": "string", + "required": true, + "location": "path" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Maximum results to return per page.", + "type": "integer" + }, + "view": { + "enum": [ + "BASIC_CERTIFICATE", + "FULL_CERTIFICATE" + ], + "description": "Controls the set of fields returned in the LIST response.", + "type": "string", + "location": "query" + } + }, + "flatPath": "v1alpha/apps/{appsId}/authorizedCertificates", + "id": "appengine.apps.authorizedCertificates.list", + "path": "v1alpha/apps/{appsId}/authorizedCertificates" + } + } } } } }, "parameters": { - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string", - "location": "query" - }, - "access_token": { - "description": "OAuth access token.", - "type": "string", - "location": "query" - }, - "quotaUser": { - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" - }, - "pp": { - "default": "true", - "type": "boolean", - "location": "query", - "description": "Pretty-print response." - }, - "bearer_token": { - "description": "OAuth bearer token.", - "type": "string", - "location": "query" - }, - "oauth_token": { - "type": "string", - "location": "query", - "description": "OAuth 2.0 token for the current user." - }, "upload_protocol": { "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "type": "string", @@ -641,12 +624,6 @@ "type": "string" }, "alt": { - "enum": [ - "json", - "media", - "proto" - ], - "type": "string", "enumDescriptions": [ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", @@ -654,13 +631,77 @@ ], "location": "query", "description": "Data format for response.", - "default": "json" + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "type": "string" + }, + "access_token": { + "location": "query", + "description": "OAuth access token.", + "type": "string" + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "quotaUser": { + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string" + }, + "pp": { + "description": "Pretty-print response.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", + "location": "query" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" } }, "schemas": { - "ListLocationsResponse": { - "description": "The response message for Locations.ListLocations.", + "OperationMetadataV1Beta5": { + "description": "Metadata for the given google.longrunning.Operation.", "type": "object", + "properties": { + "target": { + "description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", + "type": "string" + }, + "user": { + "description": "User who requested this operation.@OutputOnly", + "type": "string" + }, + "method": { + "description": "API method name that initiated this operation. Example: google.appengine.v1beta5.Version.CreateVersion.@OutputOnly", + "type": "string" + }, + "insertTime": { + "format": "google-datetime", + "description": "Timestamp that this operation was created.@OutputOnly", + "type": "string" + }, + "endTime": { + "format": "google-datetime", + "description": "Timestamp that this operation completed.@OutputOnly", + "type": "string" + } + }, + "id": "OperationMetadataV1Beta5" + }, + "ListLocationsResponse": { "properties": { "nextPageToken": { "description": "The standard List next-page token.", @@ -674,26 +715,13 @@ "type": "array" } }, - "id": "ListLocationsResponse" + "id": "ListLocationsResponse", + "description": "The response message for Locations.ListLocations.", + "type": "object" }, "ManagedCertificate": { - "description": "A certificate managed by App Engine.", - "type": "object", "properties": { - "lastRenewalTime": { - "type": "string", - "format": "google-datetime", - "description": "Time at which the certificate was last renewed. The renewal process is fully managed. Certificate renewal will automatically occur before the certificate expires. Renewal errors can be tracked via ManagementStatus.@OutputOnly" - }, "status": { - "enum": [ - "UNSPECIFIED_STATUS", - "OK", - "PENDING", - "FAILED_RETRYING_INTERNAL", - "FAILED_RETRYING_NOT_VISIBLE", - "FAILED_PERMANENTLY_NOT_VISIBLE" - ], "description": "Status of certificate management. Refers to the most recent certificate acquisition or renewal attempt.@OutputOnly", "type": "string", "enumDescriptions": [ @@ -703,20 +731,45 @@ "Most recent renewal failed due to a system failure and will be retried. System failure is likely transient, and subsequent renewal attempts may succeed. The last successfully provisioned certificate may still be serving.", "Most recent renewal failed due to an invalid DNS setup and will be retried. Renewal attempts will continue to fail until the certificate domain's DNS configuration is fixed. The last successfully provisioned certificate may still be serving.", "All renewal attempts have been exhausted. Most recent renewal failed due to an invalid DNS setup and will not be retried. The last successfully provisioned certificate may still be serving." + ], + "enum": [ + "UNSPECIFIED_STATUS", + "OK", + "PENDING", + "FAILED_RETRYING_INTERNAL", + "FAILED_RETRYING_NOT_VISIBLE", + "FAILED_PERMANENTLY_NOT_VISIBLE" ] + }, + "lastRenewalTime": { + "format": "google-datetime", + "description": "Time at which the certificate was last renewed. The renewal process is fully managed. Certificate renewal will automatically occur before the certificate expires. Renewal errors can be tracked via ManagementStatus.@OutputOnly", + "type": "string" } }, - "id": "ManagedCertificate" + "id": "ManagedCertificate", + "description": "A certificate managed by App Engine.", + "type": "object" + }, + "CertificateRawData": { + "properties": { + "privateKey": { + "description": "Unencrypted PEM encoded RSA private key. This field is set once on certificate creation and then encrypted. The key size must be 2048 bits or fewer. Must include the header and footer. Example: \u003cpre\u003e -----BEGIN RSA PRIVATE KEY----- \u003cunencrypted_key_value\u003e -----END RSA PRIVATE KEY----- \u003c/pre\u003e @InputOnly", + "type": "string" + }, + "publicCertificate": { + "description": "PEM encoded x.509 public key certificate. This field is set once on certificate creation. Must include the header and footer. Example: \u003cpre\u003e -----BEGIN CERTIFICATE----- \u003ccertificate_value\u003e -----END CERTIFICATE----- \u003c/pre\u003e", + "type": "string" + } + }, + "id": "CertificateRawData", + "description": "An SSL certificate obtained from a certificate authority.", + "type": "object" }, "OperationMetadataV1": { "description": "Metadata for the given google.longrunning.Operation.", "type": "object", "properties": { - "insertTime": { - "format": "google-datetime", - "description": "Time that this operation was created.@OutputOnly", - "type": "string" - }, "warning": { "description": "Durable messages that persist on every operation poll. @OutputOnly", "items": { @@ -724,9 +777,14 @@ }, "type": "array" }, + "insertTime": { + "format": "google-datetime", + "description": "Time that this operation was created.@OutputOnly", + "type": "string" + }, "user": { - "type": "string", - "description": "User who requested this operation.@OutputOnly" + "description": "User who requested this operation.@OutputOnly", + "type": "string" }, "target": { "description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", @@ -749,6 +807,7 @@ "id": "OperationMetadataV1" }, "SslSettings": { + "description": "SSL configuration for a DomainMapping resource.", "type": "object", "properties": { "isManagedCertificate": { @@ -760,36 +819,12 @@ "type": "string" } }, - "id": "SslSettings", - "description": "SSL configuration for a DomainMapping resource." - }, - "CertificateRawData": { - "description": "An SSL certificate obtained from a certificate authority.", - "type": "object", - "properties": { - "privateKey": { - "description": "Unencrypted PEM encoded RSA private key. This field is set once on certificate creation and then encrypted. The key size must be 2048 bits or fewer. Must include the header and footer. Example: \u003cpre\u003e -----BEGIN RSA PRIVATE KEY----- \u003cunencrypted_key_value\u003e -----END RSA PRIVATE KEY----- \u003c/pre\u003e @InputOnly", - "type": "string" - }, - "publicCertificate": { - "description": "PEM encoded x.509 public key certificate. This field is set once on certificate creation. Must include the header and footer. Example: \u003cpre\u003e -----BEGIN CERTIFICATE----- \u003ccertificate_value\u003e -----END CERTIFICATE----- \u003c/pre\u003e", - "type": "string" - } - }, - "id": "CertificateRawData" + "id": "SslSettings" }, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "type": "object", "properties": { - "metadata": { - "additionalProperties": { - "type": "any", - "description": "Properties of the object. Contains field @type with type URL." - }, - "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", - "type": "object" - }, "done": { "description": "If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.", "type": "boolean" @@ -809,32 +844,85 @@ "error": { "$ref": "Status", "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" } }, "id": "Operation" }, "ListDomainMappingsResponse": { - "id": "ListDomainMappingsResponse", "description": "Response message for DomainMappings.ListDomainMappings.", "type": "object", "properties": { + "nextPageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string" + }, "domainMappings": { "description": "The domain mappings for the application.", "items": { "$ref": "DomainMapping" }, "type": "array" + } + }, + "id": "ListDomainMappingsResponse" + }, + "OperationMetadataExperimental": { + "description": "Metadata for the given google.longrunning.Operation.", + "type": "object", + "properties": { + "target": { + "description": "Name of the resource that this operation is acting on. Example: apps/myapp/customDomains/example.com.@OutputOnly", + "type": "string" }, - "nextPageToken": { - "description": "Continuation token for fetching the next page of results.", + "user": { + "description": "User who requested this operation.@OutputOnly", + "type": "string" + }, + "method": { + "description": "API method that initiated this operation. Example: google.appengine.experimental.CustomDomains.CreateCustomDomain.@OutputOnly", + "type": "string" + }, + "insertTime": { + "format": "google-datetime", + "description": "Time that this operation was created.@OutputOnly", + "type": "string" + }, + "endTime": { + "format": "google-datetime", + "description": "Time that this operation completed.@OutputOnly", "type": "string" } - } + }, + "id": "OperationMetadataExperimental" }, "OperationMetadataV1Alpha": { "description": "Metadata for the given google.longrunning.Operation.", "type": "object", "properties": { + "target": { + "description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", + "type": "string" + }, + "user": { + "description": "User who requested this operation.@OutputOnly", + "type": "string" + }, + "ephemeralMessage": { + "description": "Ephemeral message that may change every time the operation is polled. @OutputOnly", + "type": "string" + }, + "method": { + "description": "API method that initiated this operation. Example: google.appengine.v1alpha.Versions.CreateVersion.@OutputOnly", + "type": "string" + }, "endTime": { "format": "google-datetime", "description": "Time that this operation completed.@OutputOnly", @@ -851,93 +939,21 @@ "format": "google-datetime", "description": "Time that this operation was created.@OutputOnly", "type": "string" - }, - "user": { - "description": "User who requested this operation.@OutputOnly", - "type": "string" - }, - "target": { - "description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", - "type": "string" - }, - "ephemeralMessage": { - "type": "string", - "description": "Ephemeral message that may change every time the operation is polled. @OutputOnly" - }, - "method": { - "description": "API method that initiated this operation. Example: google.appengine.v1alpha.Versions.CreateVersion.@OutputOnly", - "type": "string" } }, "id": "OperationMetadataV1Alpha" }, - "OperationMetadataExperimental": { - "description": "Metadata for the given google.longrunning.Operation.", - "type": "object", - "properties": { - "method": { - "description": "API method that initiated this operation. Example: google.appengine.experimental.CustomDomains.CreateCustomDomain.@OutputOnly", - "type": "string" - }, - "insertTime": { - "format": "google-datetime", - "description": "Time that this operation was created.@OutputOnly", - "type": "string" - }, - "endTime": { - "format": "google-datetime", - "description": "Time that this operation completed.@OutputOnly", - "type": "string" - }, - "target": { - "description": "Name of the resource that this operation is acting on. Example: apps/myapp/customDomains/example.com.@OutputOnly", - "type": "string" - }, - "user": { - "type": "string", - "description": "User who requested this operation.@OutputOnly" - } - }, - "id": "OperationMetadataExperimental" - }, - "Status": { - "description": "The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). The error model is designed to be:\nSimple to use and understand for most users\nFlexible enough to meet unexpected needsOverviewThe Status message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers understand and resolve the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package google.rpc that can be used for common error conditions.Language mappingThe Status message is the logical representation of the error model, but it is not necessarily the actual wire format. When the Status message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C.Other usesThe error model and the Status message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments.Example uses of this error model include:\nPartial errors. If a service needs to return partial errors to the client, it may embed the Status in the normal response to indicate the partial errors.\nWorkflow errors. A typical workflow has multiple steps. Each step may have a Status message for error reporting.\nBatch operations. If a client uses batch request and batch response, the Status message should be used directly inside batch response, one for each error sub-response.\nAsynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the Status message.\nLogging. If some API errors are stored in logs, the message Status could be used directly after any stripping needed for security/privacy reasons.", - "type": "object", - "properties": { - "message": { - "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", - "type": "string" - }, - "details": { - "description": "A list of messages that carry the error details. There will be a common set of message types for APIs to use.", - "items": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "type": "object" - }, - "type": "array" - }, - "code": { - "format": "int32", - "description": "The status code, which should be an enum value of google.rpc.Code.", - "type": "integer" - } - }, - "id": "Status" - }, "AuthorizedDomain": { "description": "A domain that a user has been authorized to administer. To authorize use of a domain, verify ownership via Webmaster Central (https://www.google.com/webmasters/verification/home).", "type": "object", "properties": { - "name": { - "description": "Full path to the AuthorizedDomain resource in the API. Example: apps/myapp/authorizedDomains/example.com.@OutputOnly", - "type": "string" - }, "id": { "description": "Fully qualified domain name of the domain authorized for use. Example: example.com.", "type": "string" + }, + "name": { + "description": "Full path to the AuthorizedDomain resource in the API. Example: apps/myapp/authorizedDomains/example.com.@OutputOnly", + "type": "string" } }, "id": "AuthorizedDomain" @@ -960,46 +976,32 @@ }, "id": "ListAuthorizedDomainsResponse" }, - "LocationMetadata": { - "description": "Metadata for the given google.cloud.location.Location.", + "Status": { + "description": "The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). The error model is designed to be:\nSimple to use and understand for most users\nFlexible enough to meet unexpected needsOverviewThe Status message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers understand and resolve the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package google.rpc that can be used for common error conditions.Language mappingThe Status message is the logical representation of the error model, but it is not necessarily the actual wire format. When the Status message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C.Other usesThe error model and the Status message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments.Example uses of this error model include:\nPartial errors. If a service needs to return partial errors to the client, it may embed the Status in the normal response to indicate the partial errors.\nWorkflow errors. A typical workflow has multiple steps. Each step may have a Status message for error reporting.\nBatch operations. If a client uses batch request and batch response, the Status message should be used directly inside batch response, one for each error sub-response.\nAsynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the Status message.\nLogging. If some API errors are stored in logs, the message Status could be used directly after any stripping needed for security/privacy reasons.", "type": "object", "properties": { - "standardEnvironmentAvailable": { - "description": "App Engine Standard Environment is available in the given location.@OutputOnly", - "type": "boolean" - }, - "flexibleEnvironmentAvailable": { - "description": "App Engine Flexible Environment is available in the given location.@OutputOnly", - "type": "boolean" - } - }, - "id": "LocationMetadata" - }, - "DomainMapping": { - "type": "object", - "properties": { - "resourceRecords": { + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", "items": { - "$ref": "ResourceRecord" + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" }, - "type": "array", - "description": "The resource records required to configure this domain mapping. These records must be added to the domain's DNS configuration in order to serve the application via this domain mapping.@OutputOnly" + "type": "array" }, - "id": { - "description": "Relative name of the domain serving the application. Example: example.com.", - "type": "string" + "code": { + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" }, - "sslSettings": { - "$ref": "SslSettings", - "description": "SSL configuration for this domain. If unconfigured, this domain will not serve with SSL." - }, - "name": { - "description": "Full path to the DomainMapping resource in the API. Example: apps/myapp/domainMapping/example.com.@OutputOnly", + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", "type": "string" } }, - "id": "DomainMapping", - "description": "A domain serving an App Engine application." + "id": "Status" }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance:\nservice Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n}\nThe JSON representation for Empty is empty JSON object {}.", @@ -1007,19 +1009,51 @@ "properties": {}, "id": "Empty" }, + "DomainMapping": { + "description": "A domain serving an App Engine application.", + "type": "object", + "properties": { + "sslSettings": { + "$ref": "SslSettings", + "description": "SSL configuration for this domain. If unconfigured, this domain will not serve with SSL." + }, + "name": { + "description": "Full path to the DomainMapping resource in the API. Example: apps/myapp/domainMapping/example.com.@OutputOnly", + "type": "string" + }, + "resourceRecords": { + "description": "The resource records required to configure this domain mapping. These records must be added to the domain's DNS configuration in order to serve the application via this domain mapping.@OutputOnly", + "items": { + "$ref": "ResourceRecord" + }, + "type": "array" + }, + "id": { + "description": "Relative name of the domain serving the application. Example: example.com.", + "type": "string" + } + }, + "id": "DomainMapping" + }, + "LocationMetadata": { + "description": "Metadata for the given google.cloud.location.Location.", + "type": "object", + "properties": { + "flexibleEnvironmentAvailable": { + "description": "App Engine Flexible Environment is available in the given location.@OutputOnly", + "type": "boolean" + }, + "standardEnvironmentAvailable": { + "description": "App Engine Standard Environment is available in the given location.@OutputOnly", + "type": "boolean" + } + }, + "id": "LocationMetadata" + }, "OperationMetadataV1Beta": { "description": "Metadata for the given google.longrunning.Operation.", "type": "object", "properties": { - "method": { - "description": "API method that initiated this operation. Example: google.appengine.v1beta.Versions.CreateVersion.@OutputOnly", - "type": "string" - }, - "endTime": { - "format": "google-datetime", - "description": "Time that this operation completed.@OutputOnly", - "type": "string" - }, "warning": { "description": "Durable messages that persist on every operation poll. @OutputOnly", "items": { @@ -1032,29 +1066,32 @@ "description": "Time that this operation was created.@OutputOnly", "type": "string" }, - "user": { - "description": "User who requested this operation.@OutputOnly", - "type": "string" - }, "target": { "description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", "type": "string" }, + "user": { + "description": "User who requested this operation.@OutputOnly", + "type": "string" + }, "ephemeralMessage": { "description": "Ephemeral message that may change every time the operation is polled. @OutputOnly", "type": "string" + }, + "method": { + "description": "API method that initiated this operation. Example: google.appengine.v1beta.Versions.CreateVersion.@OutputOnly", + "type": "string" + }, + "endTime": { + "format": "google-datetime", + "description": "Time that this operation completed.@OutputOnly", + "type": "string" } }, "id": "OperationMetadataV1Beta" }, "Location": { - "description": "A resource that represents Google Cloud Platform location.", - "type": "object", "properties": { - "name": { - "description": "Resource name for the location, which may vary between implementations. For example: \"projects/example-project/locations/us-east1\"", - "type": "string" - }, "locationId": { "description": "The canonical id for this location. For example: \"us-east1\".", "type": "string" @@ -1068,17 +1105,22 @@ "type": "object" }, "labels": { - "description": "Cross-service attributes for the location. For example\n{\"cloud.googleapis.com/region\": \"us-east1\"}\n", - "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "Cross-service attributes for the location. For example\n{\"cloud.googleapis.com/region\": \"us-east1\"}\n", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations. For example: \"projects/example-project/locations/us-east1\"", + "type": "string" } }, - "id": "Location" + "id": "Location", + "description": "A resource that represents Google Cloud Platform location.", + "type": "object" }, "AuthorizedCertificate": { - "id": "AuthorizedCertificate", "description": "An SSL certificate that a user has been authorized to administer. A user is authorized to administer any certificate that applies to one of their authorized domains.", "type": "object", "properties": { @@ -1086,16 +1128,16 @@ "description": "The user-specified display name of the certificate. This is not guaranteed to be unique. Example: My Certificate.", "type": "string" }, - "managedCertificate": { - "$ref": "ManagedCertificate", - "description": "Only applicable if this certificate is managed by App Engine. Managed certificates are tied to the lifecycle of a DomainMapping and cannot be updated or deleted via the AuthorizedCertificates API. If this certificate is manually administered by the user, this field will be empty.@OutputOnly" - }, "certificateRawData": { "description": "The SSL certificate serving the AuthorizedCertificate resource. This must be obtained independently from a certificate authority.", "$ref": "CertificateRawData" }, + "managedCertificate": { + "description": "Only applicable if this certificate is managed by App Engine. Managed certificates are tied to the lifecycle of a DomainMapping and cannot be updated or deleted via the AuthorizedCertificates API. If this certificate is manually administered by the user, this field will be empty.@OutputOnly", + "$ref": "ManagedCertificate" + }, "visibleDomainMappings": { - "description": "The full paths to user visible Domain Mapping resources that have this certificate mapped. Example: apps/myapp/domainMappings/example.com.This may not represent the full list of mapped domain mappings if the user does not have VIEWER permissions on all of the applications that have this certificate mapped. See domain_mappings_count for a complete count.Only returned by GET requests when specifically requested by the view=FULL option.@OutputOnly", + "description": "The full paths to user visible Domain Mapping resources that have this certificate mapped. Example: apps/myapp/domainMappings/example.com.This may not represent the full list of mapped domain mappings if the user does not have VIEWER permissions on all of the applications that have this certificate mapped. See domain_mappings_count for a complete count.Only returned by GET or LIST requests when specifically requested by the view=FULL_CERTIFICATE option.@OutputOnly", "items": { "type": "string" }, @@ -1112,7 +1154,7 @@ }, "domainMappingsCount": { "format": "int32", - "description": "Aggregate count of the domain mappings with this certificate mapped. This count includes domain mappings on applications for which the user does not have VIEWER permissions.Only returned by GET requests when specifically requested by the view=FULL option.@OutputOnly", + "description": "Aggregate count of the domain mappings with this certificate mapped. This count includes domain mappings on applications for which the user does not have VIEWER permissions.Only returned by GET or LIST requests when specifically requested by the view=FULL_CERTIFICATE option.@OutputOnly", "type": "integer" }, "domainNames": { @@ -1126,33 +1168,34 @@ "description": "Relative name of the certificate. This is a unique value autogenerated on AuthorizedCertificate resource creation. Example: 12345.@OutputOnly", "type": "string" } - } + }, + "id": "AuthorizedCertificate" }, "ResourceRecord": { "description": "A DNS resource record.", "type": "object", "properties": { + "rrdata": { + "description": "Data for this record. Values vary by record type, as defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1).", + "type": "string" + }, "name": { "description": "Relative name of the object affected by this record. Only applicable for CNAME records. Example: 'www'.", "type": "string" }, "type": { - "enumDescriptions": [ - "An A resource record. Data is an IPv4 address.", - "An AAAA resource record. Data is an IPv6 address.", - "A CNAME resource record. Data is a domain name to be aliased." - ], "enum": [ "A", "AAAA", "CNAME" ], "description": "Resource record type. Example: AAAA.", - "type": "string" - }, - "rrdata": { - "description": "Data for this record. Values vary by record type, as defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1).", - "type": "string" + "type": "string", + "enumDescriptions": [ + "An A resource record. Data is an IPv4 address.", + "An AAAA resource record. Data is an IPv6 address.", + "A CNAME resource record. Data is a domain name to be aliased." + ] } }, "id": "ResourceRecord" @@ -1179,64 +1222,21 @@ "description": "Metadata for the given google.longrunning.Operation.", "type": "object", "properties": { - "method": { - "description": "API method that initiated this operation. Example: google.appengine.v1beta4.Version.CreateVersion.@OutputOnly", - "type": "string" - }, - "endTime": { - "type": "string", - "format": "google-datetime", - "description": "Timestamp that this operation completed.@OutputOnly" - }, - "operationType": { - "description": "Type of this operation. Deprecated, use method field instead. Example: \"create_version\".@OutputOnly", - "type": "string" - }, "insertTime": { "format": "google-datetime", "description": "Timestamp that this operation was created.@OutputOnly", "type": "string" }, - "user": { - "type": "string", - "description": "User who requested this operation.@OutputOnly" - }, "target": { "description": "Name of the resource that this operation is acting on. Example: apps/myapp/modules/default.@OutputOnly", "type": "string" - } - }, - "id": "OperationMetadata" - }, - "ListAuthorizedCertificatesResponse": { - "properties": { - "certificates": { - "items": { - "$ref": "AuthorizedCertificate" - }, - "type": "array", - "description": "The SSL certificates the user is authorized to administer." }, - "nextPageToken": { - "description": "Continuation token for fetching the next page of results.", + "user": { + "description": "User who requested this operation.@OutputOnly", "type": "string" - } - }, - "id": "ListAuthorizedCertificatesResponse", - "description": "Response message for AuthorizedCertificates.ListAuthorizedCertificates.", - "type": "object" - }, - "OperationMetadataV1Beta5": { - "description": "Metadata for the given google.longrunning.Operation.", - "type": "object", - "properties": { + }, "method": { - "description": "API method name that initiated this operation. Example: google.appengine.v1beta5.Version.CreateVersion.@OutputOnly", - "type": "string" - }, - "insertTime": { - "format": "google-datetime", - "description": "Timestamp that this operation was created.@OutputOnly", + "description": "API method that initiated this operation. Example: google.appengine.v1beta4.Version.CreateVersion.@OutputOnly", "type": "string" }, "endTime": { @@ -1244,36 +1244,50 @@ "description": "Timestamp that this operation completed.@OutputOnly", "type": "string" }, - "target": { - "description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", - "type": "string" - }, - "user": { - "description": "User who requested this operation.@OutputOnly", + "operationType": { + "description": "Type of this operation. Deprecated, use method field instead. Example: \"create_version\".@OutputOnly", "type": "string" } }, - "id": "OperationMetadataV1Beta5" + "id": "OperationMetadata" + }, + "ListAuthorizedCertificatesResponse": { + "properties": { + "nextPageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string" + }, + "certificates": { + "description": "The SSL certificates the user is authorized to administer.", + "items": { + "$ref": "AuthorizedCertificate" + }, + "type": "array" + } + }, + "id": "ListAuthorizedCertificatesResponse", + "description": "Response message for AuthorizedCertificates.ListAuthorizedCertificates.", + "type": "object" } }, "protocol": "rest", "icons": { - "x32": "http://www.google.com/images/icons/product/search-32.gif", - "x16": "http://www.google.com/images/icons/product/search-16.gif" + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "version": "v1alpha", "baseUrl": "https://appengine.googleapis.com/", "auth": { "oauth2": { "scopes": { + "https://www.googleapis.com/auth/appengine.admin": { + "description": "View and manage your applications deployed on Google App Engine" + }, "https://www.googleapis.com/auth/cloud-platform.read-only": { "description": "View your data across Google Cloud Platform services" }, "https://www.googleapis.com/auth/cloud-platform": { "description": "View and manage your data across Google Cloud Platform services" - }, - "https://www.googleapis.com/auth/appengine.admin": { - "description": "View and manage your applications deployed on Google App Engine" } } } @@ -1284,10 +1298,5 @@ "rootUrl": "https://appengine.googleapis.com/", "basePath": "", "ownerDomain": "google.com", - "name": "appengine", - "batchPath": "batch", - "id": "appengine:v1alpha", - "revision": "20170626", - "documentationLink": "https://cloud.google.com/appengine/docs/admin-api/", - "title": "Google App Engine Admin API" + "name": "appengine" } diff --git a/vendor/google.golang.org/api/appengine/v1alpha/appengine-gen.go b/vendor/google.golang.org/api/appengine/v1alpha/appengine-gen.go index 9e7526535..2d789811c 100644 --- a/vendor/google.golang.org/api/appengine/v1alpha/appengine-gen.go +++ b/vendor/google.golang.org/api/appengine/v1alpha/appengine-gen.go @@ -166,8 +166,8 @@ type AuthorizedCertificate struct { // DomainMappingsCount: Aggregate count of the domain mappings with this // certificate mapped. This count includes domain mappings on // applications for which the user does not have VIEWER permissions.Only - // returned by GET requests when specifically requested by the view=FULL - // option.@OutputOnly + // returned by GET or LIST requests when specifically requested by the + // view=FULL_CERTIFICATE option.@OutputOnly DomainMappingsCount int64 `json:"domainMappingsCount,omitempty"` // DomainNames: Topmost applicable domains of this certificate. This @@ -203,8 +203,8 @@ type AuthorizedCertificate struct { // list of mapped domain mappings if the user does not have VIEWER // permissions on all of the applications that have this certificate // mapped. See domain_mappings_count for a complete count.Only returned - // by GET requests when specifically requested by the view=FULL - // option.@OutputOnly + // by GET or LIST requests when specifically requested by the + // view=FULL_CERTIFICATE option.@OutputOnly VisibleDomainMappings []string `json:"visibleDomainMappings,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -1175,8 +1175,8 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in @@ -1678,6 +1678,17 @@ func (c *AppsAuthorizedCertificatesListCall) PageToken(pageToken string) *AppsAu return c } +// View sets the optional parameter "view": Controls the set of fields +// returned in the LIST response. +// +// Possible values: +// "BASIC_CERTIFICATE" +// "FULL_CERTIFICATE" +func (c *AppsAuthorizedCertificatesListCall) View(view string) *AppsAuthorizedCertificatesListCall { + 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 information. @@ -1797,6 +1808,15 @@ func (c *AppsAuthorizedCertificatesListCall) Do(opts ...googleapi.CallOption) (* // "description": "Continuation token for fetching the next page of results.", // "location": "query", // "type": "string" + // }, + // "view": { + // "description": "Controls the set of fields returned in the LIST response.", + // "enum": [ + // "BASIC_CERTIFICATE", + // "FULL_CERTIFICATE" + // ], + // "location": "query", + // "type": "string" // } // }, // "path": "v1alpha/apps/{appsId}/authorizedCertificates", @@ -2833,7 +2853,7 @@ func (r *AppsDomainMappingsService) Patch(appsId string, domainMappingsId string // NoManagedCertificate sets the optional parameter // "noManagedCertificate": Whether a managed certificate should be -// provided by App Engine. If true, a certificate ID must be manaually +// provided by App Engine. If true, a certificate ID must be manually // set in the DomainMapping resource to configure SSL for this domain. // If false, a managed certificate will be provisioned and a certificate // ID will be automatically populated. Only applicable if @@ -2959,7 +2979,7 @@ func (c *AppsDomainMappingsPatchCall) Do(opts ...googleapi.CallOption) (*Operati // "type": "string" // }, // "noManagedCertificate": { - // "description": "Whether a managed certificate should be provided by App Engine. If true, a certificate ID must be manaually set in the DomainMapping resource to configure SSL for this domain. If false, a managed certificate will be provisioned and a certificate ID will be automatically populated. Only applicable if ssl_settings.certificate_id is specified in the update mask.", + // "description": "Whether a managed certificate should be provided by App Engine. If true, a certificate ID must be manually set in the DomainMapping resource to configure SSL for this domain. If false, a managed certificate will be provisioned and a certificate ID will be automatically populated. Only applicable if ssl_settings.certificate_id is specified in the update mask.", // "location": "query", // "type": "boolean" // }, diff --git a/vendor/google.golang.org/api/appengine/v1beta/appengine-api.json b/vendor/google.golang.org/api/appengine/v1beta/appengine-api.json index 709113cf9..0f271e19c 100644 --- a/vendor/google.golang.org/api/appengine/v1beta/appengine-api.json +++ b/vendor/google.golang.org/api/appengine/v1beta/appengine-api.json @@ -1,513 +1,38 @@ { + "servicePath": "", + "description": "The App Engine Admin API enables developers to provision and manage their App Engine applications.", + "kind": "discovery#restDescription", + "rootUrl": "https://appengine.googleapis.com/", + "basePath": "", + "ownerDomain": "google.com", "name": "appengine", "batchPath": "batch", + "revision": "20170926", "id": "appengine:v1beta", "documentationLink": "https://cloud.google.com/appengine/docs/admin-api/", - "revision": "20170626", "title": "Google App Engine Admin API", "ownerName": "Google", "discoveryVersion": "v1", "resources": { "apps": { - "methods": { - "repair": { - "description": "Recreates the required App Engine features for the specified App Engine application, for example a Cloud Storage bucket or App Engine service account. Use this method if you receive an error message about a missing feature, for example, Error retrieving the App Engine service account.", - "request": { - "$ref": "RepairApplicationRequest" - }, - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "appsId" - ], - "httpMethod": "POST", - "parameters": { - "appsId": { - "description": "Part of `name`. Name of the application to repair. Example: apps/myapp", - "type": "string", - "required": true, - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta/apps/{appsId}:repair", - "id": "appengine.apps.repair", - "path": "v1beta/apps/{appsId}:repair" - }, - "patch": { - "request": { - "$ref": "Application" - }, - "description": "Updates the specified Application resource. You can update the following fields:\nauth_domain - Google authentication domain for controlling user access to the application.\ndefault_cookie_expiration - Cookie expiration policy for the application.", - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "appsId" - ], - "httpMethod": "PATCH", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "appsId": { - "description": "Part of `name`. Name of the Application resource to update. Example: apps/myapp.", - "type": "string", - "required": true, - "location": "path" - }, - "updateMask": { - "format": "google-fieldmask", - "description": "Standard field mask for the set of fields to be updated.", - "type": "string", - "location": "query" - } - }, - "flatPath": "v1beta/apps/{appsId}", - "id": "appengine.apps.patch", - "path": "v1beta/apps/{appsId}" - }, - "get": { - "httpMethod": "GET", - "parameterOrder": [ - "appsId" - ], - "response": { - "$ref": "Application" - }, - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "appsId": { - "description": "Part of `name`. Name of the Application resource to get. Example: apps/myapp.", - "type": "string", - "required": true, - "location": "path" - } - }, - "flatPath": "v1beta/apps/{appsId}", - "path": "v1beta/apps/{appsId}", - "id": "appengine.apps.get", - "description": "Gets information about an application." - }, - "create": { - "description": "Creates an App Engine application for a Google Cloud Platform project. Required fields:\nid - The ID of the target Cloud Platform project.\nlocation - The region (https://cloud.google.com/appengine/docs/locations) where you want the App Engine application located.For more information about App Engine applications, see Managing Projects, Applications, and Billing (https://cloud.google.com/appengine/docs/python/console/).", - "request": { - "$ref": "Application" - }, - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "Operation" - }, - "parameters": {}, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta/apps", - "path": "v1beta/apps", - "id": "appengine.apps.create" - } - }, "resources": { - "domainMappings": { - "methods": { - "patch": { - "httpMethod": "PATCH", - "parameterOrder": [ - "appsId", - "domainMappingsId" - ], - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "updateMask": { - "type": "string", - "location": "query", - "format": "google-fieldmask", - "description": "Standard field mask for the set of fields to be updated." - }, - "appsId": { - "location": "path", - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/domainMappings/example.com.", - "type": "string", - "required": true - }, - "domainMappingsId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - } - }, - "flatPath": "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}", - "path": "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}", - "id": "appengine.apps.domainMappings.patch", - "request": { - "$ref": "DomainMapping" - }, - "description": "Updates the specified domain mapping. To map an SSL certificate to a domain mapping, update certificate_id to point to an AuthorizedCertificate resource. A user must be authorized to administer the associated domain in order to update a DomainMapping resource." - }, - "get": { - "httpMethod": "GET", - "parameterOrder": [ - "appsId", - "domainMappingsId" - ], - "response": { - "$ref": "DomainMapping" - }, - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com.", - "type": "string", - "required": true, - "location": "path" - }, - "domainMappingsId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - } - }, - "flatPath": "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}", - "path": "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}", - "id": "appengine.apps.domainMappings.get", - "description": "Gets the specified domain mapping." - }, - "list": { - "response": { - "$ref": "ListDomainMappingsResponse" - }, - "parameterOrder": [ - "appsId" - ], - "httpMethod": "GET", - "parameters": { - "pageToken": { - "location": "query", - "description": "Continuation token for fetching the next page of results.", - "type": "string" - }, - "appsId": { - "location": "path", - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", - "type": "string", - "required": true - }, - "pageSize": { - "format": "int32", - "description": "Maximum results to return per page.", - "type": "integer", - "location": "query" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "flatPath": "v1beta/apps/{appsId}/domainMappings", - "id": "appengine.apps.domainMappings.list", - "path": "v1beta/apps/{appsId}/domainMappings", - "description": "Lists the domain mappings on an application." - }, - "create": { - "flatPath": "v1beta/apps/{appsId}/domainMappings", - "id": "appengine.apps.domainMappings.create", - "path": "v1beta/apps/{appsId}/domainMappings", - "request": { - "$ref": "DomainMapping" - }, - "description": "Maps a domain to an application. A user must be authorized to administer a domain in order to map it to an application. For a list of available authorized domains, see AuthorizedDomains.ListAuthorizedDomains.", - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "appsId" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "appsId": { - "location": "path", - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", - "type": "string", - "required": true - } - } - }, - "delete": { - "flatPath": "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}", - "path": "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}", - "id": "appengine.apps.domainMappings.delete", - "description": "Deletes the specified domain mapping. A user must be authorized to administer the associated domain in order to delete a DomainMapping resource.", - "httpMethod": "DELETE", - "parameterOrder": [ - "appsId", - "domainMappingsId" - ], - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "domainMappingsId": { - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true, - "location": "path" - }, - "appsId": { - "description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com.", - "type": "string", - "required": true, - "location": "path" - } - } - } - } - }, - "firewall": { - "resources": { - "ingressRules": { - "methods": { - "get": { - "description": "Gets the specified firewall rule.", - "response": { - "$ref": "FirewallRule" - }, - "parameterOrder": [ - "appsId", - "ingressRulesId" - ], - "httpMethod": "GET", - "parameters": { - "appsId": { - "description": "Part of `name`. Name of the Firewall resource to retrieve. Example: apps/myapp/firewall/ingressRules/100.", - "type": "string", - "required": true, - "location": "path" - }, - "ingressRulesId": { - "type": "string", - "required": true, - "location": "path", - "description": "Part of `name`. See documentation of `appsId`." - } - }, - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "flatPath": "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", - "id": "appengine.apps.firewall.ingressRules.get", - "path": "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}" - }, - "patch": { - "response": { - "$ref": "FirewallRule" - }, - "parameterOrder": [ - "appsId", - "ingressRulesId" - ], - "httpMethod": "PATCH", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "appsId": { - "location": "path", - "description": "Part of `name`. Name of the Firewall resource to update. Example: apps/myapp/firewall/ingressRules/100.", - "type": "string", - "required": true - }, - "ingressRulesId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - }, - "updateMask": { - "location": "query", - "format": "google-fieldmask", - "description": "Standard field mask for the set of fields to be updated.", - "type": "string" - } - }, - "flatPath": "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", - "id": "appengine.apps.firewall.ingressRules.patch", - "path": "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", - "request": { - "$ref": "FirewallRule" - }, - "description": "Updates the specified firewall rule." - }, - "batchUpdate": { - "response": { - "$ref": "BatchUpdateIngressRulesResponse" - }, - "parameterOrder": [ - "appsId" - ], - "httpMethod": "POST", - "parameters": { - "appsId": { - "location": "path", - "description": "Part of `name`. Name of the Firewall collection to set. Example: apps/myapp/firewall/ingressRules.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta/apps/{appsId}/firewall/ingressRules:batchUpdate", - "id": "appengine.apps.firewall.ingressRules.batchUpdate", - "path": "v1beta/apps/{appsId}/firewall/ingressRules:batchUpdate", - "description": "Replaces the entire firewall ruleset in one bulk operation. This overrides and replaces the rules of an existing firewall with the new rules.If the final rule does not match traffic with the '*' wildcard IP range, then an \"allow all\" rule is explicitly added to the end of the list.", - "request": { - "$ref": "BatchUpdateIngressRulesRequest" - } - }, - "delete": { - "httpMethod": "DELETE", - "parameterOrder": [ - "appsId", - "ingressRulesId" - ], - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "appsId": { - "location": "path", - "description": "Part of `name`. Name of the Firewall resource to delete. Example: apps/myapp/firewall/ingressRules/100.", - "type": "string", - "required": true - }, - "ingressRulesId": { - "type": "string", - "required": true, - "location": "path", - "description": "Part of `name`. See documentation of `appsId`." - } - }, - "flatPath": "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", - "path": "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", - "id": "appengine.apps.firewall.ingressRules.delete", - "description": "Deletes the specified firewall rule." - }, - "list": { - "id": "appengine.apps.firewall.ingressRules.list", - "path": "v1beta/apps/{appsId}/firewall/ingressRules", - "description": "Lists the firewall rules of an application.", - "parameterOrder": [ - "appsId" - ], - "response": { - "$ref": "ListIngressRulesResponse" - }, - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "pageSize": { - "format": "int32", - "description": "Maximum results to return per page.", - "type": "integer", - "location": "query" - }, - "matchingAddress": { - "description": "A valid IP Address. If set, only rules matching this address will be returned. The first returned rule will be the rule that fires on requests from this IP.", - "type": "string", - "location": "query" - }, - "pageToken": { - "location": "query", - "description": "Continuation token for fetching the next page of results.", - "type": "string" - }, - "appsId": { - "location": "path", - "description": "Part of `parent`. Name of the Firewall collection to retrieve. Example: apps/myapp/firewall/ingressRules.", - "type": "string", - "required": true - } - }, - "flatPath": "v1beta/apps/{appsId}/firewall/ingressRules" - }, - "create": { - "description": "Creates a firewall rule for the application.", - "request": { - "$ref": "FirewallRule" - }, - "httpMethod": "POST", - "parameterOrder": [ - "appsId" - ], - "response": { - "$ref": "FirewallRule" - }, - "parameters": { - "appsId": { - "location": "path", - "description": "Part of `parent`. Name of the parent Firewall collection in which to create a new rule. Example: apps/myapp/firewall/ingressRules.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta/apps/{appsId}/firewall/ingressRules", - "path": "v1beta/apps/{appsId}/firewall/ingressRules", - "id": "appengine.apps.firewall.ingressRules.create" - } - } - } - } - }, "locations": { "methods": { "get": { "description": "Get information about a location.", - "httpMethod": "GET", "parameterOrder": [ "appsId", "locationsId" ], + "httpMethod": "GET", "response": { "$ref": "Location" }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], "parameters": { "appsId": { "description": "Part of `name`. Resource name for the location.", @@ -516,232 +41,63 @@ "location": "path" }, "locationsId": { - "location": "path", "description": "Part of `name`. See documentation of `appsId`.", "type": "string", - "required": true + "required": true, + "location": "path" } }, - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], "flatPath": "v1beta/apps/{appsId}/locations/{locationsId}", - "path": "v1beta/apps/{appsId}/locations/{locationsId}", - "id": "appengine.apps.locations.get" + "id": "appengine.apps.locations.get", + "path": "v1beta/apps/{appsId}/locations/{locationsId}" }, "list": { + "flatPath": "v1beta/apps/{appsId}/locations", + "path": "v1beta/apps/{appsId}/locations", + "id": "appengine.apps.locations.list", "description": "Lists information about the supported locations for this service.", - "response": { - "$ref": "ListLocationsResponse" - }, + "httpMethod": "GET", "parameterOrder": [ "appsId" ], - "httpMethod": "GET", + "response": { + "$ref": "ListLocationsResponse" + }, "scopes": [ "https://www.googleapis.com/auth/appengine.admin", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ], "parameters": { + "filter": { + "description": "The standard list filter.", + "type": "string", + "location": "query" + }, "pageToken": { "location": "query", "description": "The standard list page token.", "type": "string" }, "appsId": { + "location": "path", "description": "Part of `name`. The resource that owns the locations collection, if applicable.", "type": "string", - "required": true, - "location": "path" + "required": true }, "pageSize": { - "location": "query", "format": "int32", "description": "The standard list page size.", - "type": "integer" - }, - "filter": { - "description": "The standard list filter.", - "type": "string", + "type": "integer", "location": "query" } - }, - "flatPath": "v1beta/apps/{appsId}/locations", - "id": "appengine.apps.locations.list", - "path": "v1beta/apps/{appsId}/locations" + } } } }, "authorizedCertificates": { "methods": { - "delete": { - "description": "Deletes the specified SSL certificate.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "appsId", - "authorizedCertificatesId" - ], - "httpMethod": "DELETE", - "parameters": { - "appsId": { - "description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345.", - "type": "string", - "required": true, - "location": "path" - }, - "authorizedCertificatesId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", - "id": "appengine.apps.authorizedCertificates.delete", - "path": "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}" - }, - "patch": { - "httpMethod": "PATCH", - "parameterOrder": [ - "appsId", - "authorizedCertificatesId" - ], - "response": { - "$ref": "AuthorizedCertificate" - }, - "parameters": { - "authorizedCertificatesId": { - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true, - "location": "path" - }, - "updateMask": { - "format": "google-fieldmask", - "description": "Standard field mask for the set of fields to be updated. Updates are only supported on the certificate_raw_data and display_name fields.", - "type": "string", - "location": "query" - }, - "appsId": { - "location": "path", - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", - "path": "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", - "id": "appengine.apps.authorizedCertificates.patch", - "description": "Updates the specified SSL certificate. To renew a certificate and maintain its existing domain mappings, update certificate_data with a new certificate. The new certificate must be applicable to the same domains as the original certificate. The certificate display_name may also be updated.", - "request": { - "$ref": "AuthorizedCertificate" - } - }, - "get": { - "httpMethod": "GET", - "parameterOrder": [ - "appsId", - "authorizedCertificatesId" - ], - "response": { - "$ref": "AuthorizedCertificate" - }, - "parameters": { - "view": { - "location": "query", - "enum": [ - "BASIC_CERTIFICATE", - "FULL_CERTIFICATE" - ], - "description": "Controls the set of fields returned in the GET response.", - "type": "string" - }, - "authorizedCertificatesId": { - "type": "string", - "required": true, - "location": "path", - "description": "Part of `name`. See documentation of `appsId`." - }, - "appsId": { - "type": "string", - "required": true, - "location": "path", - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345." - } - }, - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "flatPath": "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", - "path": "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", - "id": "appengine.apps.authorizedCertificates.get", - "description": "Gets the specified SSL certificate." - }, - "list": { - "path": "v1beta/apps/{appsId}/authorizedCertificates", - "id": "appengine.apps.authorizedCertificates.list", - "description": "Lists all SSL certificates the user is authorized to administer.", - "httpMethod": "GET", - "response": { - "$ref": "ListAuthorizedCertificatesResponse" - }, - "parameterOrder": [ - "appsId" - ], - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "pageToken": { - "description": "Continuation token for fetching the next page of results.", - "type": "string", - "location": "query" - }, - "appsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", - "type": "string", - "required": true, - "location": "path" - }, - "pageSize": { - "format": "int32", - "description": "Maximum results to return per page.", - "type": "integer", - "location": "query" - } - }, - "flatPath": "v1beta/apps/{appsId}/authorizedCertificates" - }, "create": { - "parameters": { - "appsId": { - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", - "type": "string", - "required": true, - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta/apps/{appsId}/authorizedCertificates", - "path": "v1beta/apps/{appsId}/authorizedCertificates", - "id": "appengine.apps.authorizedCertificates.create", "description": "Uploads the specified SSL certificate.", "request": { "$ref": "AuthorizedCertificate" @@ -752,149 +108,170 @@ ], "response": { "$ref": "AuthorizedCertificate" - } - } - } - }, - "services": { - "methods": { - "delete": { - "httpMethod": "DELETE", - "parameterOrder": [ - "appsId", - "servicesId" - ], - "response": { - "$ref": "Operation" + }, + "parameters": { + "appsId": { + "location": "path", + "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "type": "string", + "required": true + } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "parameters": { - "servicesId": { - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true, - "location": "path" - }, - "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default.", - "type": "string", - "required": true, - "location": "path" - } - }, - "flatPath": "v1beta/apps/{appsId}/services/{servicesId}", - "path": "v1beta/apps/{appsId}/services/{servicesId}", - "id": "appengine.apps.services.delete", - "description": "Deletes the specified service and all enclosed versions." + "flatPath": "v1beta/apps/{appsId}/authorizedCertificates", + "path": "v1beta/apps/{appsId}/authorizedCertificates", + "id": "appengine.apps.authorizedCertificates.create" }, - "patch": { - "request": { - "$ref": "Service" - }, - "description": "Updates the configuration of the specified service.", + "delete": { "response": { - "$ref": "Operation" + "$ref": "Empty" }, "parameterOrder": [ "appsId", - "servicesId" + "authorizedCertificatesId" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "authorizedCertificatesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", + "id": "appengine.apps.authorizedCertificates.delete", + "path": "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", + "description": "Deletes the specified SSL certificate." + }, + "patch": { + "request": { + "$ref": "AuthorizedCertificate" + }, + "description": "Updates the specified SSL certificate. To renew a certificate and maintain its existing domain mappings, update certificate_data with a new certificate. The new certificate must be applicable to the same domains as the original certificate. The certificate display_name may also be updated.", + "response": { + "$ref": "AuthorizedCertificate" + }, + "parameterOrder": [ + "appsId", + "authorizedCertificatesId" ], "httpMethod": "PATCH", "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], "parameters": { + "authorizedCertificatesId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + }, "updateMask": { "location": "query", "format": "google-fieldmask", - "description": "Standard field mask for the set of fields to be updated.", + "description": "Standard field mask for the set of fields to be updated. Updates are only supported on the certificate_raw_data and display_name fields.", "type": "string" }, - "servicesId": { - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true, - "location": "path" - }, "appsId": { - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default.", + "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345.", "type": "string", "required": true, "location": "path" - }, - "migrateTraffic": { - "location": "query", - "description": "Set to true to gradually shift traffic to one or more versions that you specify. By default, traffic is shifted immediately. For gradual traffic migration, the target versions must be located within instances that are configured for both warmup requests (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#inboundservicetype) and automatic scaling (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#automaticscaling). You must specify the shardBy (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services#shardby) field in the Service resource. Gradual traffic migration is not supported in the App Engine flexible environment. For examples, see Migrating and Splitting Traffic (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic).", - "type": "boolean" } }, - "flatPath": "v1beta/apps/{appsId}/services/{servicesId}", - "id": "appengine.apps.services.patch", - "path": "v1beta/apps/{appsId}/services/{servicesId}" + "flatPath": "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", + "id": "appengine.apps.authorizedCertificates.patch", + "path": "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}" }, "get": { - "description": "Gets the current configuration of the specified service.", - "httpMethod": "GET", "response": { - "$ref": "Service" + "$ref": "AuthorizedCertificate" }, "parameterOrder": [ "appsId", - "servicesId" + "authorizedCertificatesId" ], - "parameters": { - "appsId": { - "location": "path", - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default.", - "type": "string", - "required": true - }, - "servicesId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - } - }, + "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/appengine.admin", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ], - "flatPath": "v1beta/apps/{appsId}/services/{servicesId}", - "path": "v1beta/apps/{appsId}/services/{servicesId}", - "id": "appengine.apps.services.get" + "parameters": { + "authorizedCertificatesId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + }, + "appsId": { + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345.", + "type": "string", + "required": true, + "location": "path" + }, + "view": { + "enum": [ + "BASIC_CERTIFICATE", + "FULL_CERTIFICATE" + ], + "description": "Controls the set of fields returned in the GET response.", + "type": "string", + "location": "query" + } + }, + "flatPath": "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", + "id": "appengine.apps.authorizedCertificates.get", + "path": "v1beta/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", + "description": "Gets the specified SSL certificate." }, "list": { - "id": "appengine.apps.services.list", - "path": "v1beta/apps/{appsId}/services", - "description": "Lists all the services in the application.", + "description": "Lists all SSL certificates the user is authorized to administer.", "response": { - "$ref": "ListServicesResponse" + "$ref": "ListAuthorizedCertificatesResponse" }, "parameterOrder": [ "appsId" ], "httpMethod": "GET", "parameters": { - "pageSize": { - "location": "query", - "format": "int32", - "description": "Maximum results to return per page.", - "type": "integer" - }, "pageToken": { - "location": "query", "description": "Continuation token for fetching the next page of results.", - "type": "string" + "type": "string", + "location": "query" }, "appsId": { + "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", "type": "string", "required": true, - "location": "path", - "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp." + "location": "path" + }, + "pageSize": { + "format": "int32", + "description": "Maximum results to return per page.", + "type": "integer", + "location": "query" + }, + "view": { + "location": "query", + "enum": [ + "BASIC_CERTIFICATE", + "FULL_CERTIFICATE" + ], + "description": "Controls the set of fields returned in the LIST response.", + "type": "string" } }, "scopes": [ @@ -902,261 +279,26 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ], - "flatPath": "v1beta/apps/{appsId}/services" + "flatPath": "v1beta/apps/{appsId}/authorizedCertificates", + "id": "appengine.apps.authorizedCertificates.list", + "path": "v1beta/apps/{appsId}/authorizedCertificates" } - }, + } + }, + "services": { "resources": { "versions": { - "resources": { - "instances": { - "methods": { - "delete": { - "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", - "id": "appengine.apps.services.versions.instances.delete", - "path": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", - "description": "Stops a running instance.", - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "appsId", - "servicesId", - "versionsId", - "instancesId" - ], - "httpMethod": "DELETE", - "parameters": { - "instancesId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - }, - "appsId": { - "type": "string", - "required": true, - "location": "path", - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1." - }, - "versionsId": { - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true, - "location": "path" - }, - "servicesId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "httpMethod": "GET", - "parameterOrder": [ - "appsId", - "servicesId", - "versionsId", - "instancesId" - ], - "response": { - "$ref": "Instance" - }, - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "versionsId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - }, - "servicesId": { - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true, - "location": "path" - }, - "instancesId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - }, - "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", - "type": "string", - "required": true, - "location": "path" - } - }, - "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", - "path": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", - "id": "appengine.apps.services.versions.instances.get", - "description": "Gets instance information." - }, - "list": { - "description": "Lists the instances of a version.Tip: To aggregate details about instances over time, see the Stackdriver Monitoring API (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list).", - "httpMethod": "GET", - "parameterOrder": [ - "appsId", - "servicesId", - "versionsId" - ], - "response": { - "$ref": "ListInstancesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "servicesId": { - "description": "Part of `parent`. See documentation of `appsId`.", - "type": "string", - "required": true, - "location": "path" - }, - "pageToken": { - "location": "query", - "description": "Continuation token for fetching the next page of results.", - "type": "string" - }, - "appsId": { - "description": "Part of `parent`. Name of the parent Version resource. Example: apps/myapp/services/default/versions/v1.", - "type": "string", - "required": true, - "location": "path" - }, - "pageSize": { - "type": "integer", - "location": "query", - "format": "int32", - "description": "Maximum results to return per page." - }, - "versionsId": { - "location": "path", - "description": "Part of `parent`. See documentation of `appsId`.", - "type": "string", - "required": true - } - }, - "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances", - "path": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances", - "id": "appengine.apps.services.versions.instances.list" - }, - "debug": { - "request": { - "$ref": "DebugInstanceRequest" - }, - "description": "Enables debugging on a VM instance. This allows you to use the SSH command to connect to the virtual machine where the instance lives. While in \"debug mode\", the instance continues to serve live traffic. You should delete the instance when you are done debugging and then allow the system to take over and determine if another instance should be started.Only applicable for instances in App Engine flexible environment.", - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "appsId", - "servicesId", - "versionsId", - "instancesId" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "versionsId": { - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true, - "location": "path" - }, - "servicesId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - }, - "instancesId": { - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true, - "location": "path" - }, - "appsId": { - "location": "path", - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", - "type": "string", - "required": true - } - }, - "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug", - "id": "appengine.apps.services.versions.instances.debug", - "path": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug" - } - } - } - }, "methods": { - "delete": { - "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}", - "path": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}", - "id": "appengine.apps.services.versions.delete", - "description": "Deletes an existing Version resource.", - "httpMethod": "DELETE", - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "appsId", - "servicesId", - "versionsId" - ], - "parameters": { - "servicesId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - }, - "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", - "type": "string", - "required": true, - "location": "path" - }, - "versionsId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, "patch": { - "description": "Updates the specified Version resource. You can specify the following fields depending on the App Engine environment and type of scaling that the version resource uses:\nserving_status (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.serving_status): For Version resources that use basic scaling, manual scaling, or run in the App Engine flexible environment.\ninstance_class (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.instance_class): For Version resources that run in the App Engine standard environment.\nautomatic_scaling.min_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.\nautomatic_scaling.max_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.", - "request": { - "$ref": "Version" - }, - "response": { - "$ref": "Operation" - }, + "httpMethod": "PATCH", "parameterOrder": [ "appsId", "servicesId", "versionsId" ], - "httpMethod": "PATCH", + "response": { + "$ref": "Operation" + }, "parameters": { "updateMask": { "location": "query", @@ -1165,17 +307,17 @@ "type": "string" }, "servicesId": { - "location": "path", "description": "Part of `name`. See documentation of `appsId`.", "type": "string", - "required": true - }, - "appsId": { - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default/versions/1.", - "type": "string", "required": true, "location": "path" }, + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default/versions/1.", + "type": "string", + "required": true + }, "versionsId": { "description": "Part of `name`. See documentation of `appsId`.", "type": "string", @@ -1187,11 +329,16 @@ "https://www.googleapis.com/auth/cloud-platform" ], "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}", + "path": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}", "id": "appengine.apps.services.versions.patch", - "path": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}" + "description": "Updates the specified Version resource. You can specify the following fields depending on the App Engine environment and type of scaling that the version resource uses:\nserving_status (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.serving_status): For Version resources that use basic scaling, manual scaling, or run in the App Engine flexible environment.\ninstance_class (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.instance_class): For Version resources that run in the App Engine standard environment.\nautomatic_scaling.min_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.\nautomatic_scaling.max_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.\nautomatic_scaling.min_total_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine Flexible environment.\nautomatic_scaling.max_total_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine Flexible environment.\nautomatic_scaling.cool_down_period_sec (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine Flexible environment.\nautomatic_scaling.cpu_utilization.target_utilization (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine Flexible environment.", + "request": { + "$ref": "Version" + } }, "get": { "description": "Gets the specified Version resource. By default, only a BASIC_VIEW will be returned. Specify the FULL_VIEW parameter to get the full resource.", + "httpMethod": "GET", "response": { "$ref": "Version" }, @@ -1200,13 +347,17 @@ "servicesId", "versionsId" ], - "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], "parameters": { "servicesId": { - "location": "path", "description": "Part of `name`. See documentation of `appsId`.", "type": "string", - "required": true + "required": true, + "location": "path" }, "appsId": { "location": "path", @@ -1230,17 +381,11 @@ "location": "path" } }, - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}", - "id": "appengine.apps.services.versions.get", - "path": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}" + "path": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}", + "id": "appengine.apps.services.versions.get" }, "list": { - "description": "Lists the versions of a service.", "httpMethod": "GET", "parameterOrder": [ "appsId", @@ -1250,26 +395,11 @@ "$ref": "ListVersionsResponse" }, "parameters": { - "pageSize": { - "type": "integer", - "location": "query", - "format": "int32", - "description": "Maximum results to return per page." - }, - "view": { - "description": "Controls the set of fields returned in the List response.", - "type": "string", - "location": "query", - "enum": [ - "BASIC", - "FULL" - ] - }, "servicesId": { + "location": "path", "description": "Part of `parent`. See documentation of `appsId`.", "type": "string", - "required": true, - "location": "path" + "required": true }, "pageToken": { "location": "query", @@ -1277,10 +407,25 @@ "type": "string" }, "appsId": { + "location": "path", "description": "Part of `parent`. Name of the parent Service resource. Example: apps/myapp/services/default.", "type": "string", - "required": true, - "location": "path" + "required": true + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Maximum results to return per page.", + "type": "integer" + }, + "view": { + "location": "query", + "enum": [ + "BASIC", + "FULL" + ], + "description": "Controls the set of fields returned in the List response.", + "type": "string" } }, "scopes": [ @@ -1290,9 +435,14 @@ ], "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions", "path": "v1beta/apps/{appsId}/services/{servicesId}/versions", - "id": "appengine.apps.services.versions.list" + "id": "appengine.apps.services.versions.list", + "description": "Lists the versions of a service." }, "create": { + "description": "Deploys code and resource files to a new version.", + "request": { + "$ref": "Version" + }, "httpMethod": "POST", "parameterOrder": [ "appsId", @@ -1301,40 +451,417 @@ "response": { "$ref": "Operation" }, + "parameters": { + "servicesId": { + "description": "Part of `parent`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + }, + "appsId": { + "description": "Part of `parent`. Name of the parent resource to create this version under. Example: apps/myapp/services/default.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions", + "path": "v1beta/apps/{appsId}/services/{servicesId}/versions", + "id": "appengine.apps.services.versions.create" + }, + "delete": { + "httpMethod": "DELETE", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "servicesId", + "versionsId" + ], "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], "parameters": { - "servicesId": { + "appsId": { + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", "type": "string", "required": true, - "location": "path", - "description": "Part of `parent`. See documentation of `appsId`." + "location": "path" }, - "appsId": { + "versionsId": { "location": "path", - "description": "Part of `parent`. Name of the parent resource to create this version under. Example: apps/myapp/services/default.", + "description": "Part of `name`. See documentation of `appsId`.", "type": "string", "required": true + }, + "servicesId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" } }, - "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions", - "path": "v1beta/apps/{appsId}/services/{servicesId}/versions", - "id": "appengine.apps.services.versions.create", - "request": { - "$ref": "Version" - }, - "description": "Deploys code and resource files to a new version." + "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}", + "path": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}", + "id": "appengine.apps.services.versions.delete", + "description": "Deletes an existing Version resource." + } + }, + "resources": { + "instances": { + "methods": { + "delete": { + "description": "Stops a running instance.", + "httpMethod": "DELETE", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "servicesId", + "versionsId", + "instancesId" + ], + "parameters": { + "instancesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "appsId": { + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", + "type": "string", + "required": true, + "location": "path" + }, + "versionsId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "servicesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", + "path": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", + "id": "appengine.apps.services.versions.instances.delete" + }, + "get": { + "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", + "id": "appengine.apps.services.versions.instances.get", + "path": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", + "description": "Gets instance information.", + "response": { + "$ref": "Instance" + }, + "parameterOrder": [ + "appsId", + "servicesId", + "versionsId", + "instancesId" + ], + "httpMethod": "GET", + "parameters": { + "servicesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "instancesId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + }, + "appsId": { + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", + "type": "string", + "required": true, + "location": "path" + }, + "versionsId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "list": { + "description": "Lists the instances of a version.Tip: To aggregate details about instances over time, see the Stackdriver Monitoring API (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list).", + "response": { + "$ref": "ListInstancesResponse" + }, + "parameterOrder": [ + "appsId", + "servicesId", + "versionsId" + ], + "httpMethod": "GET", + "parameters": { + "pageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string", + "location": "query" + }, + "appsId": { + "location": "path", + "description": "Part of `parent`. Name of the parent Version resource. Example: apps/myapp/services/default/versions/v1.", + "type": "string", + "required": true + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Maximum results to return per page.", + "type": "integer" + }, + "versionsId": { + "description": "Part of `parent`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + }, + "servicesId": { + "location": "path", + "description": "Part of `parent`. See documentation of `appsId`.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances", + "id": "appengine.apps.services.versions.instances.list", + "path": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances" + }, + "debug": { + "description": "Enables debugging on a VM instance. This allows you to use the SSH command to connect to the virtual machine where the instance lives. While in \"debug mode\", the instance continues to serve live traffic. You should delete the instance when you are done debugging and then allow the system to take over and determine if another instance should be started.Only applicable for instances in App Engine flexible environment.", + "request": { + "$ref": "DebugInstanceRequest" + }, + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "servicesId", + "versionsId", + "instancesId" + ], + "httpMethod": "POST", + "parameters": { + "servicesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "instancesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", + "type": "string", + "required": true + }, + "versionsId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug", + "id": "appengine.apps.services.versions.instances.debug", + "path": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug" + } + } } } } + }, + "methods": { + "delete": { + "description": "Deletes the specified service and all enclosed versions.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "servicesId" + ], + "httpMethod": "DELETE", + "parameters": { + "appsId": { + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default.", + "type": "string", + "required": true, + "location": "path" + }, + "servicesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta/apps/{appsId}/services/{servicesId}", + "id": "appengine.apps.services.delete", + "path": "v1beta/apps/{appsId}/services/{servicesId}" + }, + "patch": { + "flatPath": "v1beta/apps/{appsId}/services/{servicesId}", + "id": "appengine.apps.services.patch", + "path": "v1beta/apps/{appsId}/services/{servicesId}", + "description": "Updates the configuration of the specified service.", + "request": { + "$ref": "Service" + }, + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "servicesId" + ], + "httpMethod": "PATCH", + "parameters": { + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Standard field mask for the set of fields to be updated.", + "type": "string" + }, + "servicesId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + }, + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default.", + "type": "string", + "required": true + }, + "migrateTraffic": { + "location": "query", + "description": "Set to true to gradually shift traffic to one or more versions that you specify. By default, traffic is shifted immediately. For gradual traffic migration, the target versions must be located within instances that are configured for both warmup requests (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#inboundservicetype) and automatic scaling (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#automaticscaling). You must specify the shardBy (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services#shardby) field in the Service resource. Gradual traffic migration is not supported in the App Engine flexible environment. For examples, see Migrating and Splitting Traffic (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic).", + "type": "boolean" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "id": "appengine.apps.services.get", + "path": "v1beta/apps/{appsId}/services/{servicesId}", + "description": "Gets the current configuration of the specified service.", + "response": { + "$ref": "Service" + }, + "parameterOrder": [ + "appsId", + "servicesId" + ], + "httpMethod": "GET", + "parameters": { + "servicesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1beta/apps/{appsId}/services/{servicesId}" + }, + "list": { + "response": { + "$ref": "ListServicesResponse" + }, + "parameterOrder": [ + "appsId" + ], + "httpMethod": "GET", + "parameters": { + "pageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string", + "location": "query" + }, + "appsId": { + "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "type": "string", + "required": true, + "location": "path" + }, + "pageSize": { + "format": "int32", + "description": "Maximum results to return per page.", + "type": "integer", + "location": "query" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1beta/apps/{appsId}/services", + "id": "appengine.apps.services.list", + "path": "v1beta/apps/{appsId}/services", + "description": "Lists all the services in the application." + } } }, "authorizedDomains": { "methods": { "list": { - "id": "appengine.apps.authorizedDomains.list", - "path": "v1beta/apps/{appsId}/authorizedDomains", "description": "Lists all domains the user is authorized to administer.", "response": { "$ref": "ListAuthorizedDomainsResponse" @@ -1356,10 +883,10 @@ "required": true }, "pageSize": { + "location": "query", "format": "int32", "description": "Maximum results to return per page.", - "type": "integer", - "location": "query" + "type": "integer" } }, "scopes": [ @@ -1367,21 +894,24 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ], - "flatPath": "v1beta/apps/{appsId}/authorizedDomains" + "flatPath": "v1beta/apps/{appsId}/authorizedDomains", + "id": "appengine.apps.authorizedDomains.list", + "path": "v1beta/apps/{appsId}/authorizedDomains" } } }, "operations": { "methods": { "get": { - "response": { - "$ref": "Operation" - }, + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "httpMethod": "GET", "parameterOrder": [ "appsId", "operationsId" ], - "httpMethod": "GET", + "response": { + "$ref": "Operation" + }, "scopes": [ "https://www.googleapis.com/auth/appengine.admin", "https://www.googleapis.com/auth/cloud-platform", @@ -1389,45 +919,38 @@ ], "parameters": { "appsId": { + "description": "Part of `name`. The name of the operation resource.", "type": "string", "required": true, - "location": "path", - "description": "Part of `name`. The name of the operation resource." + "location": "path" }, "operationsId": { - "location": "path", "description": "Part of `name`. See documentation of `appsId`.", "type": "string", - "required": true + "required": true, + "location": "path" } }, "flatPath": "v1beta/apps/{appsId}/operations/{operationsId}", - "id": "appengine.apps.operations.get", "path": "v1beta/apps/{appsId}/operations/{operationsId}", - "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + "id": "appengine.apps.operations.get" }, "list": { - "flatPath": "v1beta/apps/{appsId}/operations", - "path": "v1beta/apps/{appsId}/operations", "id": "appengine.apps.operations.list", + "path": "v1beta/apps/{appsId}/operations", "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: the name binding allows API services to override the binding to use different resource name schemes, such as users/*/operations. To override the binding, API services can add a binding such as \"/v1/{name=users/*}/operations\" to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.", - "httpMethod": "GET", - "parameterOrder": [ - "appsId" - ], "response": { "$ref": "ListOperationsResponse" }, - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" + "parameterOrder": [ + "appsId" ], + "httpMethod": "GET", "parameters": { "filter": { - "location": "query", "description": "The standard list filter.", - "type": "string" + "type": "string", + "location": "query" }, "pageToken": { "location": "query", @@ -1435,10 +958,10 @@ "type": "string" }, "appsId": { - "type": "string", - "required": true, "location": "path", - "description": "Part of `name`. The name of the operation's parent resource." + "description": "Part of `name`. The name of the operation's parent resource.", + "type": "string", + "required": true }, "pageSize": { "location": "query", @@ -1446,14 +969,571 @@ "description": "The standard list page size.", "type": "integer" } + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1beta/apps/{appsId}/operations" + } + } + }, + "domainMappings": { + "methods": { + "delete": { + "path": "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}", + "id": "appengine.apps.domainMappings.delete", + "description": "Deletes the specified domain mapping. A user must be authorized to administer the associated domain in order to delete a DomainMapping resource.", + "httpMethod": "DELETE", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "domainMappingsId" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "domainMappingsId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + }, + "appsId": { + "description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}" + }, + "patch": { + "request": { + "$ref": "DomainMapping" + }, + "description": "Updates the specified domain mapping. To map an SSL certificate to a domain mapping, update certificate_id to point to an AuthorizedCertificate resource. A user must be authorized to administer the associated domain in order to update a DomainMapping resource.", + "httpMethod": "PATCH", + "parameterOrder": [ + "appsId", + "domainMappingsId" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "domainMappingsId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + }, + "updateMask": { + "format": "google-fieldmask", + "description": "Standard field mask for the set of fields to be updated.", + "type": "string", + "location": "query" + }, + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/domainMappings/example.com.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}", + "path": "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}", + "id": "appengine.apps.domainMappings.patch" + }, + "get": { + "httpMethod": "GET", + "response": { + "$ref": "DomainMapping" + }, + "parameterOrder": [ + "appsId", + "domainMappingsId" + ], + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "domainMappingsId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + }, + "appsId": { + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}", + "path": "v1beta/apps/{appsId}/domainMappings/{domainMappingsId}", + "id": "appengine.apps.domainMappings.get", + "description": "Gets the specified domain mapping." + }, + "list": { + "path": "v1beta/apps/{appsId}/domainMappings", + "id": "appengine.apps.domainMappings.list", + "description": "Lists the domain mappings on an application.", + "httpMethod": "GET", + "parameterOrder": [ + "appsId" + ], + "response": { + "$ref": "ListDomainMappingsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "pageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string", + "location": "query" + }, + "appsId": { + "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "type": "string", + "required": true, + "location": "path" + }, + "pageSize": { + "format": "int32", + "description": "Maximum results to return per page.", + "type": "integer", + "location": "query" + } + }, + "flatPath": "v1beta/apps/{appsId}/domainMappings" + }, + "create": { + "description": "Maps a domain to an application. A user must be authorized to administer a domain in order to map it to an application. For a list of available authorized domains, see AuthorizedDomains.ListAuthorizedDomains.", + "request": { + "$ref": "DomainMapping" + }, + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId" + ], + "httpMethod": "POST", + "parameters": { + "appsId": { + "location": "path", + "description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta/apps/{appsId}/domainMappings", + "id": "appengine.apps.domainMappings.create", + "path": "v1beta/apps/{appsId}/domainMappings" + } + } + }, + "firewall": { + "resources": { + "ingressRules": { + "methods": { + "get": { + "response": { + "$ref": "FirewallRule" + }, + "parameterOrder": [ + "appsId", + "ingressRulesId" + ], + "httpMethod": "GET", + "parameters": { + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the Firewall resource to retrieve. Example: apps/myapp/firewall/ingressRules/100.", + "type": "string", + "required": true + }, + "ingressRulesId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", + "id": "appengine.apps.firewall.ingressRules.get", + "path": "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", + "description": "Gets the specified firewall rule." + }, + "patch": { + "request": { + "$ref": "FirewallRule" + }, + "description": "Updates the specified firewall rule.", + "response": { + "$ref": "FirewallRule" + }, + "parameterOrder": [ + "appsId", + "ingressRulesId" + ], + "httpMethod": "PATCH", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "updateMask": { + "format": "google-fieldmask", + "description": "Standard field mask for the set of fields to be updated.", + "type": "string", + "location": "query" + }, + "appsId": { + "description": "Part of `name`. Name of the Firewall resource to update. Example: apps/myapp/firewall/ingressRules/100.", + "type": "string", + "required": true, + "location": "path" + }, + "ingressRulesId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", + "id": "appengine.apps.firewall.ingressRules.patch", + "path": "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}" + }, + "batchUpdate": { + "flatPath": "v1beta/apps/{appsId}/firewall/ingressRules:batchUpdate", + "id": "appengine.apps.firewall.ingressRules.batchUpdate", + "path": "v1beta/apps/{appsId}/firewall/ingressRules:batchUpdate", + "request": { + "$ref": "BatchUpdateIngressRulesRequest" + }, + "description": "Replaces the entire firewall ruleset in one bulk operation. This overrides and replaces the rules of an existing firewall with the new rules.If the final rule does not match traffic with the '*' wildcard IP range, then an \"allow all\" rule is explicitly added to the end of the list.", + "response": { + "$ref": "BatchUpdateIngressRulesResponse" + }, + "parameterOrder": [ + "appsId" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "appsId": { + "description": "Part of `name`. Name of the Firewall collection to set. Example: apps/myapp/firewall/ingressRules.", + "type": "string", + "required": true, + "location": "path" + } + } + }, + "delete": { + "description": "Deletes the specified firewall rule.", + "httpMethod": "DELETE", + "parameterOrder": [ + "appsId", + "ingressRulesId" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "appsId": { + "description": "Part of `name`. Name of the Firewall resource to delete. Example: apps/myapp/firewall/ingressRules/100.", + "type": "string", + "required": true, + "location": "path" + }, + "ingressRulesId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", + "path": "v1beta/apps/{appsId}/firewall/ingressRules/{ingressRulesId}", + "id": "appengine.apps.firewall.ingressRules.delete" + }, + "list": { + "description": "Lists the firewall rules of an application.", + "response": { + "$ref": "ListIngressRulesResponse" + }, + "parameterOrder": [ + "appsId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "matchingAddress": { + "location": "query", + "description": "A valid IP Address. If set, only rules matching this address will be returned. The first returned rule will be the rule that fires on requests from this IP.", + "type": "string" + }, + "pageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string", + "location": "query" + }, + "appsId": { + "description": "Part of `parent`. Name of the Firewall collection to retrieve. Example: apps/myapp/firewall/ingressRules.", + "type": "string", + "required": true, + "location": "path" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Maximum results to return per page.", + "type": "integer" + } + }, + "flatPath": "v1beta/apps/{appsId}/firewall/ingressRules", + "id": "appengine.apps.firewall.ingressRules.list", + "path": "v1beta/apps/{appsId}/firewall/ingressRules" + }, + "create": { + "description": "Creates a firewall rule for the application.", + "request": { + "$ref": "FirewallRule" + }, + "httpMethod": "POST", + "parameterOrder": [ + "appsId" + ], + "response": { + "$ref": "FirewallRule" + }, + "parameters": { + "appsId": { + "description": "Part of `parent`. Name of the parent Firewall collection in which to create a new rule. Example: apps/myapp/firewall/ingressRules.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta/apps/{appsId}/firewall/ingressRules", + "path": "v1beta/apps/{appsId}/firewall/ingressRules", + "id": "appengine.apps.firewall.ingressRules.create" + } } } } } + }, + "methods": { + "repair": { + "request": { + "$ref": "RepairApplicationRequest" + }, + "description": "Recreates the required App Engine features for the specified App Engine application, for example a Cloud Storage bucket or App Engine service account. Use this method if you receive an error message about a missing feature, for example, Error retrieving the App Engine service account.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the application to repair. Example: apps/myapp", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta/apps/{appsId}:repair", + "id": "appengine.apps.repair", + "path": "v1beta/apps/{appsId}:repair" + }, + "patch": { + "httpMethod": "PATCH", + "parameterOrder": [ + "appsId" + ], + "response": { + "$ref": "Operation" + }, + "parameters": { + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Standard field mask for the set of fields to be updated.", + "type": "string" + }, + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the Application resource to update. Example: apps/myapp.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta/apps/{appsId}", + "path": "v1beta/apps/{appsId}", + "id": "appengine.apps.patch", + "description": "Updates the specified Application resource. You can update the following fields:\nauth_domain - Google authentication domain for controlling user access to the application.\ndefault_cookie_expiration - Cookie expiration policy for the application.", + "request": { + "$ref": "Application" + } + }, + "get": { + "response": { + "$ref": "Application" + }, + "parameterOrder": [ + "appsId" + ], + "httpMethod": "GET", + "parameters": { + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the Application resource to get. Example: apps/myapp.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1beta/apps/{appsId}", + "id": "appengine.apps.get", + "path": "v1beta/apps/{appsId}", + "description": "Gets information about an application." + }, + "create": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta/apps", + "id": "appengine.apps.create", + "path": "v1beta/apps", + "description": "Creates an App Engine application for a Google Cloud Platform project. Required fields:\nid - The ID of the target Cloud Platform project.\nlocation - The region (https://cloud.google.com/appengine/docs/locations) where you want the App Engine application located.For more information about App Engine applications, see Managing Projects, Applications, and Billing (https://cloud.google.com/appengine/docs/python/console/).", + "request": { + "$ref": "Application" + } + } } } }, "parameters": { + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, + "prettyPrint": { + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "uploadType": { + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", + "location": "query" + }, + "$.xgafv": { + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + }, + "callback": { + "description": "JSONP", + "type": "string", + "location": "query" + }, + "alt": { + "enum": [ + "json", + "media", + "proto" + ], + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "description": "Data format for response.", + "default": "json" + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "access_token": { + "location": "query", + "description": "OAuth access token.", + "type": "string" + }, "quotaUser": { "location": "query", "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", @@ -1466,164 +1546,713 @@ "location": "query" }, "bearer_token": { - "location": "query", "description": "OAuth bearer token.", - "type": "string" + "type": "string", + "location": "query" }, "oauth_token": { "location": "query", "description": "OAuth 2.0 token for the current user.", "type": "string" - }, - "upload_protocol": { - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string", - "location": "query" - }, - "prettyPrint": { - "location": "query", - "description": "Returns response with indentations and line breaks.", - "default": "true", - "type": "boolean" - }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "type": "string", - "location": "query" - }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string", - "location": "query" - }, - "$.xgafv": { - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" - ], - "description": "V1 error format.", - "type": "string" - }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, - "alt": { - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], - "type": "string", - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query" - }, - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string", - "location": "query" - }, - "access_token": { - "location": "query", - "description": "OAuth access token.", - "type": "string" } }, "schemas": { - "ListLocationsResponse": { - "description": "The response message for Locations.ListLocations.", + "AuthorizedDomain": { + "description": "A domain that a user has been authorized to administer. To authorize use of a domain, verify ownership via Webmaster Central (https://www.google.com/webmasters/verification/home).", "type": "object", "properties": { + "id": { + "description": "Fully qualified domain name of the domain authorized for use. Example: example.com.", + "type": "string" + }, + "name": { + "description": "Full path to the AuthorizedDomain resource in the API. Example: apps/myapp/authorizedDomains/example.com.@OutputOnly", + "type": "string" + } + }, + "id": "AuthorizedDomain" + }, + "TrafficSplit": { + "description": "Traffic routing configuration for versions within a single service. Traffic splits define how traffic directed to the service is assigned to versions.", + "type": "object", + "properties": { + "allocations": { + "additionalProperties": { + "format": "double", + "type": "number" + }, + "description": "Mapping from version IDs within the service to fractional (0.000, 1] allocations of traffic for that version. Each version can be specified only once, but some versions in the service may not have any traffic allocation. Services that have traffic allocated cannot be deleted until either the service is deleted or their traffic allocation is removed. Allocations must sum to 1. Up to two decimal place precision is supported for IP-based splits and up to three decimal places is supported for cookie-based splits.", + "type": "object" + }, + "shardBy": { + "description": "Mechanism used to determine which version a request is sent to. The traffic selection algorithm will be stable for either type until allocations are changed.", + "type": "string", + "enumDescriptions": [ + "Diversion method unspecified.", + "Diversion based on a specially named cookie, \"GOOGAPPUID.\" The cookie must be set by the application itself or no diversion will occur.", + "Diversion based on applying the modulus operation to a fingerprint of the IP address.", + "Diversion based on weighted random assignment. An incoming request is randomly routed to a version in the traffic split, with probability proportional to the version's traffic share." + ], + "enum": [ + "UNSPECIFIED", + "COOKIE", + "IP", + "RANDOM" + ] + } + }, + "id": "TrafficSplit" + }, + "OperationMetadataV1Beta": { + "description": "Metadata for the given google.longrunning.Operation.", + "type": "object", + "properties": { + "user": { + "description": "User who requested this operation.@OutputOnly", + "type": "string" + }, + "target": { + "description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", + "type": "string" + }, + "ephemeralMessage": { + "description": "Ephemeral message that may change every time the operation is polled. @OutputOnly", + "type": "string" + }, + "method": { + "description": "API method that initiated this operation. Example: google.appengine.v1beta.Versions.CreateVersion.@OutputOnly", + "type": "string" + }, + "endTime": { + "format": "google-datetime", + "description": "Time that this operation completed.@OutputOnly", + "type": "string" + }, + "warning": { + "description": "Durable messages that persist on every operation poll. @OutputOnly", + "items": { + "type": "string" + }, + "type": "array" + }, + "insertTime": { + "format": "google-datetime", + "description": "Time that this operation was created.@OutputOnly", + "type": "string" + } + }, + "id": "OperationMetadataV1Beta" + }, + "ListIngressRulesResponse": { + "description": "Response message for Firewall.ListIngressRules.", + "type": "object", + "properties": { + "ingressRules": { + "description": "The ingress FirewallRules for this application.", + "items": { + "$ref": "FirewallRule" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string" + } + }, + "id": "ListIngressRulesResponse" + }, + "ListServicesResponse": { + "description": "Response message for Services.ListServices.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string" + }, + "services": { + "description": "The services belonging to the requested application.", + "items": { + "$ref": "Service" + }, + "type": "array" + } + }, + "id": "ListServicesResponse" + }, + "Deployment": { + "description": "Code and application artifacts used to deploy a version to App Engine.", + "type": "object", + "properties": { + "build": { + "description": "Google Cloud Container Builder build information.", + "$ref": "BuildInfo" + }, + "files": { + "additionalProperties": { + "$ref": "FileInfo" + }, + "description": "Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call.", + "type": "object" + }, + "zip": { + "$ref": "ZipInfo", + "description": "The zip file for this deployment, if this is a zip deployment." + }, + "container": { + "$ref": "ContainerInfo", + "description": "The Docker image for the container that runs the version. Only applicable for instances running in the App Engine flexible environment." + } + }, + "id": "Deployment" + }, + "Resources": { + "description": "Machine resources for a version.", + "type": "object", + "properties": { + "memoryGb": { + "format": "double", + "description": "Memory (GB) needed.", + "type": "number" + }, + "cpu": { + "format": "double", + "description": "Number of CPU cores needed.", + "type": "number" + }, + "volumes": { + "description": "User specified volumes.", + "items": { + "$ref": "Volume" + }, + "type": "array" + }, + "diskGb": { + "format": "double", + "description": "Disk size (GB) needed.", + "type": "number" + } + }, + "id": "Resources" + }, + "BatchUpdateIngressRulesResponse": { + "properties": { + "ingressRules": { + "description": "The full list of ingress FirewallRules for this application.", + "items": { + "$ref": "FirewallRule" + }, + "type": "array" + } + }, + "id": "BatchUpdateIngressRulesResponse", + "description": "Response message for Firewall.UpdateAllIngressRules.", + "type": "object" + }, + "Volume": { + "properties": { + "volumeType": { + "description": "Underlying volume type, e.g. 'tmpfs'.", + "type": "string" + }, + "sizeGb": { + "format": "double", + "description": "Volume size in gigabytes.", + "type": "number" + }, + "name": { + "description": "Unique name for the volume.", + "type": "string" + } + }, + "id": "Volume", + "description": "Volumes mounted within the app container. Only applicable for VM runtimes.", + "type": "object" + }, + "ManagedCertificate": { + "properties": { + "lastRenewalTime": { + "format": "google-datetime", + "description": "Time at which the certificate was last renewed. The renewal process is fully managed. Certificate renewal will automatically occur before the certificate expires. Renewal errors can be tracked via ManagementStatus.@OutputOnly", + "type": "string" + }, + "status": { + "enumDescriptions": [ + "", + "Certificate was successfully obtained and inserted into the serving system.", + "Certificate is under active attempts to acquire or renew.", + "Most recent renewal failed due to an invalid DNS setup and will be retried. Renewal attempts will continue to fail until the certificate domain's DNS configuration is fixed. The last successfully provisioned certificate may still be serving.", + "All renewal attempts have been exhausted, likely due to an invalid DNS setup." + ], + "enum": [ + "MANAGEMENT_STATUS_UNSPECIFIED", + "OK", + "PENDING", + "FAILED_RETRYING_NOT_VISIBLE", + "FAILED_PERMANENT" + ], + "description": "Status of certificate management. Refers to the most recent certificate acquisition or renewal attempt.@OutputOnly", + "type": "string" + } + }, + "id": "ManagedCertificate", + "description": "A certificate managed by App Engine.", + "type": "object" + }, + "ListInstancesResponse": { + "description": "Response message for Instances.ListInstances.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string" + }, + "instances": { + "description": "The instances belonging to the requested version.", + "items": { + "$ref": "Instance" + }, + "type": "array" + } + }, + "id": "ListInstancesResponse" + }, + "ListDomainMappingsResponse": { + "description": "Response message for DomainMappings.ListDomainMappings.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string" + }, + "domainMappings": { + "description": "The domain mappings for the application.", + "items": { + "$ref": "DomainMapping" + }, + "type": "array" + } + }, + "id": "ListDomainMappingsResponse" + }, + "OperationMetadataV1Alpha": { + "properties": { + "ephemeralMessage": { + "description": "Ephemeral message that may change every time the operation is polled. @OutputOnly", + "type": "string" + }, + "method": { + "description": "API method that initiated this operation. Example: google.appengine.v1alpha.Versions.CreateVersion.@OutputOnly", + "type": "string" + }, + "endTime": { + "format": "google-datetime", + "description": "Time that this operation completed.@OutputOnly", + "type": "string" + }, + "insertTime": { + "format": "google-datetime", + "description": "Time that this operation was created.@OutputOnly", + "type": "string" + }, + "warning": { + "description": "Durable messages that persist on every operation poll. @OutputOnly", + "items": { + "type": "string" + }, + "type": "array" + }, + "user": { + "description": "User who requested this operation.@OutputOnly", + "type": "string" + }, + "target": { + "description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", + "type": "string" + } + }, + "id": "OperationMetadataV1Alpha", + "description": "Metadata for the given google.longrunning.Operation.", + "type": "object" + }, + "UrlDispatchRule": { + "properties": { + "path": { + "description": "Pathname within the host. Must start with a \"/\". A single \"*\" can be included at the end of the path.The sum of the lengths of the domain and path may not exceed 100 characters.", + "type": "string" + }, + "service": { + "description": "Resource ID of a service in this application that should serve the matched request. The service must already exist. Example: default.", + "type": "string" + }, + "domain": { + "description": "Domain name to match against. The wildcard \"*\" is supported if specified before a period: \"*.\".Defaults to matching all domains: \"*\".", + "type": "string" + } + }, + "id": "UrlDispatchRule", + "description": "Rules to match an HTTP request and dispatch that request to a service.", + "type": "object" + }, + "ListVersionsResponse": { + "description": "Response message for Versions.ListVersions.", + "type": "object", + "properties": { + "versions": { + "description": "The versions belonging to the requested service.", + "items": { + "$ref": "Version" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string" + } + }, + "id": "ListVersionsResponse" + }, + "ListAuthorizedDomainsResponse": { + "description": "Response message for AuthorizedDomains.ListAuthorizedDomains.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string" + }, + "domains": { + "description": "The authorized domains belonging to the user.", + "items": { + "$ref": "AuthorizedDomain" + }, + "type": "array" + } + }, + "id": "ListAuthorizedDomainsResponse" + }, + "DomainMapping": { + "description": "A domain serving an App Engine application.", + "type": "object", + "properties": { + "resourceRecords": { + "description": "The resource records required to configure this domain mapping. These records must be added to the domain's DNS configuration in order to serve the application via this domain mapping.@OutputOnly", + "items": { + "$ref": "ResourceRecord" + }, + "type": "array" + }, + "id": { + "description": "Relative name of the domain serving the application. Example: example.com.", + "type": "string" + }, + "sslSettings": { + "description": "SSL configuration for this domain. If unconfigured, this domain will not serve with SSL.", + "$ref": "SslSettings" + }, + "name": { + "description": "Full path to the DomainMapping resource in the API. Example: apps/myapp/domainMapping/example.com.@OutputOnly", + "type": "string" + } + }, + "id": "DomainMapping" + }, + "Empty": { + "properties": {}, + "id": "Empty", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance:\nservice Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n}\nThe JSON representation for Empty is empty JSON object {}.", + "type": "object" + }, + "ApiEndpointHandler": { + "description": "Uses Google Cloud Endpoints to handle requests.", + "type": "object", + "properties": { + "scriptPath": { + "description": "Path to the script from the application root directory.", + "type": "string" + } + }, + "id": "ApiEndpointHandler" + }, + "AutomaticScaling": { + "description": "Automatic scaling is based on request rate, response latencies, and other application metrics.", + "type": "object", + "properties": { + "diskUtilization": { + "$ref": "DiskUtilization", + "description": "Target scaling by disk usage." + }, + "minPendingLatency": { + "format": "google-duration", + "description": "Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it.", + "type": "string" + }, + "maxIdleInstances": { + "format": "int32", + "description": "Maximum number of idle instances that should be maintained for this version.", + "type": "integer" + }, + "standardSchedulerSettings": { + "$ref": "StandardSchedulerSettings", + "description": "Scheduler settings for standard environment." + }, + "requestUtilization": { + "$ref": "RequestUtilization", + "description": "Target scaling by request utilization." + }, + "minIdleInstances": { + "format": "int32", + "description": "Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a service.", + "type": "integer" + }, + "maxTotalInstances": { + "format": "int32", + "description": "Maximum number of instances that should be started to handle requests.", + "type": "integer" + }, + "minTotalInstances": { + "format": "int32", + "description": "Minimum number of instances that should be maintained for this version.", + "type": "integer" + }, + "networkUtilization": { + "description": "Target scaling by network usage.", + "$ref": "NetworkUtilization" + }, + "coolDownPeriod": { + "format": "google-duration", + "description": "Amount of time that the Autoscaler (https://cloud.google.com/compute/docs/autoscaler/) should wait between changes to the number of virtual machines. Only applicable for VM runtimes.", + "type": "string" + }, + "maxConcurrentRequests": { + "format": "int32", + "description": "Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance.Defaults to a runtime-specific value.", + "type": "integer" + }, + "maxPendingLatency": { + "format": "google-duration", + "description": "Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it.", + "type": "string" + }, + "cpuUtilization": { + "$ref": "CpuUtilization", + "description": "Target scaling by CPU usage." + } + }, + "id": "AutomaticScaling" + }, + "ZipInfo": { + "description": "The zip file information for a zip deployment.", + "type": "object", + "properties": { + "filesCount": { + "format": "int32", + "description": "An estimate of the number of files in a zip for a zip deployment. If set, must be greater than or equal to the actual number of files. Used for optimizing performance; if not provided, deployment may be slow.", + "type": "integer" + }, + "sourceUrl": { + "description": "URL of the zip file to deploy from. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\u003cbucket\u003e/\u003cobject\u003e'.", + "type": "string" + } + }, + "id": "ZipInfo" + }, + "AuthorizedCertificate": { + "description": "An SSL certificate that a user has been authorized to administer. A user is authorized to administer any certificate that applies to one of their authorized domains.", + "type": "object", + "properties": { + "displayName": { + "description": "The user-specified display name of the certificate. This is not guaranteed to be unique. Example: My Certificate.", + "type": "string" + }, + "certificateRawData": { + "description": "The SSL certificate serving the AuthorizedCertificate resource. This must be obtained independently from a certificate authority.", + "$ref": "CertificateRawData" + }, + "managedCertificate": { + "description": "Only applicable if this certificate is managed by App Engine. Managed certificates are tied to the lifecycle of a DomainMapping and cannot be updated or deleted via the AuthorizedCertificates API. If this certificate is manually administered by the user, this field will be empty.@OutputOnly", + "$ref": "ManagedCertificate" + }, + "visibleDomainMappings": { + "description": "The full paths to user visible Domain Mapping resources that have this certificate mapped. Example: apps/myapp/domainMappings/example.com.This may not represent the full list of mapped domain mappings if the user does not have VIEWER permissions on all of the applications that have this certificate mapped. See domain_mappings_count for a complete count.Only returned by GET or LIST requests when specifically requested by the view=FULL_CERTIFICATE option.@OutputOnly", + "items": { + "type": "string" + }, + "type": "array" + }, + "expireTime": { + "format": "google-datetime", + "description": "The time when this certificate expires. To update the renewal time on this certificate, upload an SSL certificate with a different expiration time using AuthorizedCertificates.UpdateAuthorizedCertificate.@OutputOnly", + "type": "string" + }, + "name": { + "description": "Full path to the AuthorizedCertificate resource in the API. Example: apps/myapp/authorizedCertificates/12345.@OutputOnly", + "type": "string" + }, + "domainMappingsCount": { + "format": "int32", + "description": "Aggregate count of the domain mappings with this certificate mapped. This count includes domain mappings on applications for which the user does not have VIEWER permissions.Only returned by GET or LIST requests when specifically requested by the view=FULL_CERTIFICATE option.@OutputOnly", + "type": "integer" + }, + "domainNames": { + "description": "Topmost applicable domains of this certificate. This certificate applies to these domains and their subdomains. Example: example.com.@OutputOnly", + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "Relative name of the certificate. This is a unique value autogenerated on AuthorizedCertificate resource creation. Example: 12345.@OutputOnly", + "type": "string" + } + }, + "id": "AuthorizedCertificate" + }, + "ResourceRecord": { + "description": "A DNS resource record.", + "type": "object", + "properties": { + "name": { + "description": "Relative name of the object affected by this record. Only applicable for CNAME records. Example: 'www'.", + "type": "string" + }, + "type": { + "enumDescriptions": [ + "An A resource record. Data is an IPv4 address.", + "An AAAA resource record. Data is an IPv6 address.", + "A CNAME resource record. Data is a domain name to be aliased." + ], + "enum": [ + "A", + "AAAA", + "CNAME" + ], + "description": "Resource record type. Example: AAAA.", + "type": "string" + }, + "rrdata": { + "description": "Data for this record. Values vary by record type, as defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1).", + "type": "string" + } + }, + "id": "ResourceRecord" + }, + "Library": { + "description": "Third-party Python runtime library that is required by the application.", + "type": "object", + "properties": { + "name": { + "description": "Name of the library. Example: \"django\".", + "type": "string" + }, + "version": { + "description": "Version of the library to select, or \"latest\".", + "type": "string" + } + }, + "id": "Library" + }, + "ListLocationsResponse": { + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, "locations": { "description": "A list of locations that matches the specified filter in the request.", "items": { "$ref": "Location" }, "type": "array" - }, - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" } }, - "id": "ListLocationsResponse" + "id": "ListLocationsResponse", + "description": "The response message for Locations.ListLocations.", + "type": "object" }, "ContainerInfo": { "description": "Docker image that is used to create a container and start a VM instance for the version that you deploy. Only applicable for instances running in the App Engine flexible environment.", "type": "object", "properties": { "image": { - "type": "string", - "description": "URI to the hosted container image in Google Container Registry. The URI must be fully qualified and include a tag or digest. Examples: \"gcr.io/my-project/image:tag\" or \"gcr.io/my-project/image@digest\"" + "description": "URI to the hosted container image in Google Container Registry. The URI must be fully qualified and include a tag or digest. Examples: \"gcr.io/my-project/image:tag\" or \"gcr.io/my-project/image@digest\"", + "type": "string" } }, "id": "ContainerInfo" }, "RequestUtilization": { - "description": "Target scaling by request utilization. Only applicable for VM runtimes.", - "type": "object", "properties": { - "targetRequestCountPerSecond": { - "format": "int32", - "description": "Target requests per second.", - "type": "integer" - }, "targetConcurrentRequests": { "format": "int32", "description": "Target number of concurrent requests.", "type": "integer" - } - }, - "id": "RequestUtilization" - }, - "EndpointsApiService": { - "description": "Cloud Endpoints (https://cloud.google.com/endpoints) configuration. The Endpoints API Service provides tooling for serving Open API and gRPC endpoints via an NGINX proxy.The fields here refer to the name and configuration id of a \"service\" resource in the Service Management API (https://cloud.google.com/service-management/overview).", - "type": "object", - "properties": { - "configId": { - "description": "Endpoints service configuration id as specified by the Service Management API. For example \"2016-09-19r1\"", - "type": "string" }, - "name": { - "description": "Endpoints service name which is the name of the \"service\" resource in the Service Management API. For example \"myapi.endpoints.myproject.cloud.goog\"", - "type": "string" + "targetRequestCountPerSecond": { + "format": "int32", + "description": "Target requests per second.", + "type": "integer" } }, - "id": "EndpointsApiService" + "id": "RequestUtilization", + "description": "Target scaling by request utilization. Only applicable for VM runtimes.", + "type": "object" }, "UrlMap": { "description": "URL pattern and description of how the URL should be handled. App Engine can handle URLs by executing application code or by serving static files uploaded with the version, such as images, CSS, or JavaScript.", "type": "object", "properties": { + "redirectHttpResponseCode": { + "enumDescriptions": [ + "Not specified. 302 is assumed.", + "301 Moved Permanently code.", + "302 Moved Temporarily code.", + "303 See Other code.", + "307 Temporary Redirect code." + ], + "enum": [ + "REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED", + "REDIRECT_HTTP_RESPONSE_CODE_301", + "REDIRECT_HTTP_RESPONSE_CODE_302", + "REDIRECT_HTTP_RESPONSE_CODE_303", + "REDIRECT_HTTP_RESPONSE_CODE_307" + ], + "description": "30x code to use when performing redirects for the secure field. Defaults to 302.", + "type": "string" + }, + "securityLevel": { + "description": "Security (HTTPS) enforcement for this URL.", + "type": "string", + "enumDescriptions": [ + "Not specified.", + "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used, and respond accordingly.", + "Requests for a URL that match this handler that use HTTPS are automatically redirected to the HTTP equivalent URL.", + "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used and respond accordingly.", + "Requests for a URL that match this handler that do not use HTTPS are automatically redirected to the HTTPS URL with the same path. Query parameters are reserved for the redirect." + ], + "enum": [ + "SECURE_UNSPECIFIED", + "SECURE_DEFAULT", + "SECURE_NEVER", + "SECURE_OPTIONAL", + "SECURE_ALWAYS" + ] + }, "authFailAction": { + "enum": [ + "AUTH_FAIL_ACTION_UNSPECIFIED", + "AUTH_FAIL_ACTION_REDIRECT", + "AUTH_FAIL_ACTION_UNAUTHORIZED" + ], "description": "Action to take when users access resources that require authentication. Defaults to redirect.", "type": "string", "enumDescriptions": [ "Not specified. AUTH_FAIL_ACTION_REDIRECT is assumed.", "Redirects user to \"accounts.google.com\". The user is redirected back to the application URL after signing in or creating an account.", "Rejects request with a 401 HTTP status code and an error message." - ], - "enum": [ - "AUTH_FAIL_ACTION_UNSPECIFIED", - "AUTH_FAIL_ACTION_REDIRECT", - "AUTH_FAIL_ACTION_UNAUTHORIZED" ] }, "script": { - "$ref": "ScriptHandler", - "description": "Executes a script to handle the request that matches this URL pattern." + "description": "Executes a script to handle the request that matches this URL pattern.", + "$ref": "ScriptHandler" }, "urlRegex": { "description": "URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path.", @@ -1646,118 +2275,47 @@ ] }, "apiEndpoint": { - "description": "Uses API Endpoints to handle requests.", - "$ref": "ApiEndpointHandler" + "$ref": "ApiEndpointHandler", + "description": "Uses API Endpoints to handle requests." }, "staticFiles": { - "$ref": "StaticFilesHandler", - "description": "Returns the contents of a file, such as an image, as the response." - }, - "redirectHttpResponseCode": { - "enumDescriptions": [ - "Not specified. 302 is assumed.", - "301 Moved Permanently code.", - "302 Moved Temporarily code.", - "303 See Other code.", - "307 Temporary Redirect code." - ], - "enum": [ - "REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED", - "REDIRECT_HTTP_RESPONSE_CODE_301", - "REDIRECT_HTTP_RESPONSE_CODE_302", - "REDIRECT_HTTP_RESPONSE_CODE_303", - "REDIRECT_HTTP_RESPONSE_CODE_307" - ], - "description": "30x code to use when performing redirects for the secure field. Defaults to 302.", - "type": "string" - }, - "securityLevel": { - "enumDescriptions": [ - "Not specified.", - "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used, and respond accordingly.", - "Requests for a URL that match this handler that use HTTPS are automatically redirected to the HTTP equivalent URL.", - "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used and respond accordingly.", - "Requests for a URL that match this handler that do not use HTTPS are automatically redirected to the HTTPS URL with the same path. Query parameters are reserved for the redirect." - ], - "enum": [ - "SECURE_UNSPECIFIED", - "SECURE_DEFAULT", - "SECURE_NEVER", - "SECURE_OPTIONAL", - "SECURE_ALWAYS" - ], - "description": "Security (HTTPS) enforcement for this URL.", - "type": "string" + "description": "Returns the contents of a file, such as an image, as the response.", + "$ref": "StaticFilesHandler" } }, "id": "UrlMap" }, - "ApiConfigHandler": { - "type": "object", + "EndpointsApiService": { "properties": { - "url": { - "description": "URL to serve the endpoint at.", + "configId": { + "description": "Endpoints service configuration id as specified by the Service Management API. For example \"2016-09-19r1\"", "type": "string" }, - "securityLevel": { - "description": "Security (HTTPS) enforcement for this URL.", - "type": "string", - "enumDescriptions": [ - "Not specified.", - "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used, and respond accordingly.", - "Requests for a URL that match this handler that use HTTPS are automatically redirected to the HTTP equivalent URL.", - "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used and respond accordingly.", - "Requests for a URL that match this handler that do not use HTTPS are automatically redirected to the HTTPS URL with the same path. Query parameters are reserved for the redirect." - ], - "enum": [ - "SECURE_UNSPECIFIED", - "SECURE_DEFAULT", - "SECURE_NEVER", - "SECURE_OPTIONAL", - "SECURE_ALWAYS" - ] - }, - "authFailAction": { - "enum": [ - "AUTH_FAIL_ACTION_UNSPECIFIED", - "AUTH_FAIL_ACTION_REDIRECT", - "AUTH_FAIL_ACTION_UNAUTHORIZED" - ], - "description": "Action to take when users access resources that require authentication. Defaults to redirect.", - "type": "string", - "enumDescriptions": [ - "Not specified. AUTH_FAIL_ACTION_REDIRECT is assumed.", - "Redirects user to \"accounts.google.com\". The user is redirected back to the application URL after signing in or creating an account.", - "Rejects request with a 401 HTTP status code and an error message." - ] - }, - "script": { - "description": "Path to the script from the application root directory.", - "type": "string" - }, - "login": { - "enumDescriptions": [ - "Not specified. LOGIN_OPTIONAL is assumed.", - "Does not require that the user is signed in.", - "If the user is not signed in, the auth_fail_action is taken. In addition, if the user is not an administrator for the application, they are given an error message regardless of auth_fail_action. If the user is an administrator, the handler proceeds.", - "If the user has signed in, the handler proceeds normally. Otherwise, the auth_fail_action is taken." - ], - "enum": [ - "LOGIN_UNSPECIFIED", - "LOGIN_OPTIONAL", - "LOGIN_ADMIN", - "LOGIN_REQUIRED" - ], - "description": "Level of login required to access this resource. Defaults to optional.", + "name": { + "description": "Endpoints service name which is the name of the \"service\" resource in the Service Management API. For example \"myapi.endpoints.myproject.cloud.goog\"", "type": "string" } }, - "id": "ApiConfigHandler", - "description": "Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/endpoints/) configuration for API handlers." + "id": "EndpointsApiService", + "description": "Cloud Endpoints (https://cloud.google.com/endpoints) configuration. The Endpoints API Service provides tooling for serving Open API and gRPC endpoints via an NGINX proxy.The fields here refer to the name and configuration id of a \"service\" resource in the Service Management API (https://cloud.google.com/service-management/overview).", + "type": "object" }, "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", "type": "object", "properties": { + "error": { + "description": "The error result of the operation in case of failure or cancellation.", + "$ref": "Status" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, "done": { "description": "If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.", "type": "boolean" @@ -1773,31 +2331,83 @@ "name": { "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should have the format of operations/some/unique/name.", "type": "string" - }, - "error": { - "$ref": "Status", - "description": "The error result of the operation in case of failure or cancellation." - }, - "metadata": { - "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", - "type": "object", - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - } } }, - "id": "Operation", - "description": "This resource represents a long-running operation that is the result of a network API call." + "id": "Operation" + }, + "ApiConfigHandler": { + "properties": { + "securityLevel": { + "enumDescriptions": [ + "Not specified.", + "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used, and respond accordingly.", + "Requests for a URL that match this handler that use HTTPS are automatically redirected to the HTTP equivalent URL.", + "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used and respond accordingly.", + "Requests for a URL that match this handler that do not use HTTPS are automatically redirected to the HTTPS URL with the same path. Query parameters are reserved for the redirect." + ], + "enum": [ + "SECURE_UNSPECIFIED", + "SECURE_DEFAULT", + "SECURE_NEVER", + "SECURE_OPTIONAL", + "SECURE_ALWAYS" + ], + "description": "Security (HTTPS) enforcement for this URL.", + "type": "string" + }, + "authFailAction": { + "enumDescriptions": [ + "Not specified. AUTH_FAIL_ACTION_REDIRECT is assumed.", + "Redirects user to \"accounts.google.com\". The user is redirected back to the application URL after signing in or creating an account.", + "Rejects request with a 401 HTTP status code and an error message." + ], + "enum": [ + "AUTH_FAIL_ACTION_UNSPECIFIED", + "AUTH_FAIL_ACTION_REDIRECT", + "AUTH_FAIL_ACTION_UNAUTHORIZED" + ], + "description": "Action to take when users access resources that require authentication. Defaults to redirect.", + "type": "string" + }, + "script": { + "description": "Path to the script from the application root directory.", + "type": "string" + }, + "login": { + "description": "Level of login required to access this resource. Defaults to optional.", + "type": "string", + "enumDescriptions": [ + "Not specified. LOGIN_OPTIONAL is assumed.", + "Does not require that the user is signed in.", + "If the user is not signed in, the auth_fail_action is taken. In addition, if the user is not an administrator for the application, they are given an error message regardless of auth_fail_action. If the user is an administrator, the handler proceeds.", + "If the user has signed in, the handler proceeds normally. Otherwise, the auth_fail_action is taken." + ], + "enum": [ + "LOGIN_UNSPECIFIED", + "LOGIN_OPTIONAL", + "LOGIN_ADMIN", + "LOGIN_REQUIRED" + ] + }, + "url": { + "description": "URL to serve the endpoint at.", + "type": "string" + } + }, + "id": "ApiConfigHandler", + "description": "Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/endpoints/) configuration for API handlers.", + "type": "object" }, "StaticFilesHandler": { + "description": "Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them.", + "type": "object", "properties": { "httpHeaders": { - "description": "HTTP headers to use for all responses from these URLs.", - "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "HTTP headers to use for all responses from these URLs.", + "type": "object" }, "applicationReadable": { "description": "Whether files should also be uploaded as code data. By default, files declared in static file handlers are uploaded as static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged against both your code and static data storage resource quotas.", @@ -1825,9 +2435,7 @@ "type": "string" } }, - "id": "StaticFilesHandler", - "description": "Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them.", - "type": "object" + "id": "StaticFilesHandler" }, "BasicScaling": { "description": "A service with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity.", @@ -1847,6 +2455,7 @@ "id": "BasicScaling" }, "DiskUtilization": { + "description": "Target scaling by disk usage. Only applicable for VM runtimes.", "type": "object", "properties": { "targetReadOpsPerSecond": { @@ -1870,25 +2479,47 @@ "type": "integer" } }, - "id": "DiskUtilization", - "description": "Target scaling by disk usage. Only applicable for VM runtimes." + "id": "DiskUtilization" }, "CpuUtilization": { - "id": "CpuUtilization", "description": "Target scaling by CPU usage.", "type": "object", "properties": { "aggregationWindowLength": { - "type": "string", "format": "google-duration", - "description": "Period of time over which CPU utilization is calculated." + "description": "Period of time over which CPU utilization is calculated.", + "type": "string" }, "targetUtilization": { "format": "double", "description": "Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1.", "type": "number" } - } + }, + "id": "CpuUtilization" + }, + "IdentityAwareProxy": { + "description": "Identity-Aware Proxy", + "type": "object", + "properties": { + "oauth2ClientSecret": { + "description": "OAuth2 client secret to use for the authentication flow.For security reasons, this value cannot be retrieved via the API. Instead, the SHA-256 hash of the value is returned in the oauth2_client_secret_sha256 field.@InputOnly", + "type": "string" + }, + "oauth2ClientId": { + "description": "OAuth2 client ID to use for the authentication flow.", + "type": "string" + }, + "oauth2ClientSecretSha256": { + "description": "Hex-encoded SHA-256 hash of the client secret.@OutputOnly", + "type": "string" + }, + "enabled": { + "description": "Whether the serving infrastructure will authenticate and authorize all incoming requests.If true, the oauth2_client_id and oauth2_client_secret fields must be non-empty.", + "type": "boolean" + } + }, + "id": "IdentityAwareProxy" }, "Status": { "properties": { @@ -1902,13 +2533,13 @@ "type": "string" }, "details": { - "description": "A list of messages that carry the error details. There will be a common set of message types for APIs to use.", + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", "items": { + "type": "object", "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" - }, - "type": "object" + } }, "type": "array" } @@ -1917,29 +2548,6 @@ "description": "The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). The error model is designed to be:\nSimple to use and understand for most users\nFlexible enough to meet unexpected needsOverviewThe Status message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers understand and resolve the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package google.rpc that can be used for common error conditions.Language mappingThe Status message is the logical representation of the error model, but it is not necessarily the actual wire format. When the Status message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C.Other usesThe error model and the Status message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments.Example uses of this error model include:\nPartial errors. If a service needs to return partial errors to the client, it may embed the Status in the normal response to indicate the partial errors.\nWorkflow errors. A typical workflow has multiple steps. Each step may have a Status message for error reporting.\nBatch operations. If a client uses batch request and batch response, the Status message should be used directly inside batch response, one for each error sub-response.\nAsynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the Status message.\nLogging. If some API errors are stored in logs, the message Status could be used directly after any stripping needed for security/privacy reasons.", "type": "object" }, - "IdentityAwareProxy": { - "type": "object", - "properties": { - "enabled": { - "description": "Whether the serving infrastructure will authenticate and authorize all incoming requests.If true, the oauth2_client_id and oauth2_client_secret fields must be non-empty.", - "type": "boolean" - }, - "oauth2ClientSecret": { - "description": "OAuth2 client secret to use for the authentication flow.For security reasons, this value cannot be retrieved via the API. Instead, the SHA-256 hash of the value is returned in the oauth2_client_secret_sha256 field.@InputOnly", - "type": "string" - }, - "oauth2ClientId": { - "description": "OAuth2 client ID to use for the authentication flow.", - "type": "string" - }, - "oauth2ClientSecretSha256": { - "description": "Hex-encoded SHA-256 hash of the client secret.@OutputOnly", - "type": "string" - } - }, - "id": "IdentityAwareProxy", - "description": "Identity-Aware Proxy" - }, "ManualScaling": { "description": "A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time.", "type": "object", @@ -1953,42 +2561,40 @@ "id": "ManualScaling" }, "LocationMetadata": { - "description": "Metadata for the given google.cloud.location.Location.", - "type": "object", "properties": { + "standardEnvironmentAvailable": { + "description": "App Engine Standard Environment is available in the given location.@OutputOnly", + "type": "boolean" + }, "flexibleEnvironmentAvailable": { "description": "App Engine Flexible Environment is available in the given location.@OutputOnly", "type": "boolean" - }, - "standardEnvironmentAvailable": { - "type": "boolean", - "description": "App Engine Standard Environment is available in the given location.@OutputOnly" } }, - "id": "LocationMetadata" + "id": "LocationMetadata", + "description": "Metadata for the given google.cloud.location.Location.", + "type": "object" }, "Service": { + "description": "A Service resource is a logical component of an application that can share state and communicate in a secure fashion with other services. For example, an application that handles customer requests might include separate services to handle tasks such as backend data analysis or API requests from mobile devices. Each service has a collection of versions that define a specific set of code used to implement the functionality of that service.", + "type": "object", "properties": { - "name": { - "type": "string", - "description": "Full path to the Service resource in the API. Example: apps/myapp/services/default.@OutputOnly" - }, "split": { - "$ref": "TrafficSplit", - "description": "Mapping that defines fractional HTTP traffic diversion to different versions within the service." + "description": "Mapping that defines fractional HTTP traffic diversion to different versions within the service.", + "$ref": "TrafficSplit" }, "id": { "description": "Relative name of the service within the application. Example: default.@OutputOnly", "type": "string" + }, + "name": { + "description": "Full path to the Service resource in the API. Example: apps/myapp/services/default.@OutputOnly", + "type": "string" } }, - "id": "Service", - "description": "A Service resource is a logical component of an application that can share state and communicate in a secure fashion with other services. For example, an application that handles customer requests might include separate services to handle tasks such as backend data analysis or API requests from mobile devices. Each service has a collection of versions that define a specific set of code used to implement the functionality of that service.", - "type": "object" + "id": "Service" }, "ListOperationsResponse": { - "description": "The response message for Operations.ListOperations.", - "type": "object", "properties": { "nextPageToken": { "description": "The standard List next-page token.", @@ -2002,10 +2608,11 @@ "type": "array" } }, - "id": "ListOperationsResponse" + "id": "ListOperationsResponse", + "description": "The response message for Operations.ListOperations.", + "type": "object" }, "FirewallRule": { - "id": "FirewallRule", "description": "A single firewall rule that is evaluated against incoming traffic and provides an action to take on matched requests.", "type": "object", "properties": { @@ -2015,18 +2622,18 @@ "type": "integer" }, "action": { - "enumDescriptions": [ - "", - "Matching requests are allowed.", - "Matching requests are denied." - ], "enum": [ "UNSPECIFIED_ACTION", "ALLOW", "DENY" ], "description": "The action to take on matched requests.", - "type": "string" + "type": "string", + "enumDescriptions": [ + "", + "Matching requests are allowed.", + "Matching requests are denied." + ] }, "description": { "description": "An optional string description of this rule. This field has a maximum length of 100 characters.", @@ -2036,12 +2643,24 @@ "description": "IP address or range, defined using CIDR notation, of requests that this rule applies to. You can use the wildcard character \"*\" to match all IPs equivalent to \"0/0\" and \"::/0\" together. Examples: 192.168.1.1 or 192.168.0.0/16 or 2001:db8::/32 or 2001:0db8:0000:0042:0000:8a2e:0370:7334.\u003cp\u003eTruncation will be silently performed on addresses which are not properly truncated. For example, 1.2.3.4/24 is accepted as the same address as 1.2.3.0/24. Similarly, for IPv6, 2001:db8::1/32 is accepted as the same address as 2001:db8::/32.", "type": "string" } - } + }, + "id": "FirewallRule" }, "OperationMetadata": { - "description": "Metadata for the given google.longrunning.Operation.", - "type": "object", "properties": { + "insertTime": { + "format": "google-datetime", + "description": "Timestamp that this operation was created.@OutputOnly", + "type": "string" + }, + "target": { + "description": "Name of the resource that this operation is acting on. Example: apps/myapp/modules/default.@OutputOnly", + "type": "string" + }, + "user": { + "description": "User who requested this operation.@OutputOnly", + "type": "string" + }, "method": { "description": "API method that initiated this operation. Example: google.appengine.v1beta4.Version.CreateVersion.@OutputOnly", "type": "string" @@ -2052,24 +2671,13 @@ "type": "string" }, "operationType": { - "type": "string", - "description": "Type of this operation. Deprecated, use method field instead. Example: \"create_version\".@OutputOnly" - }, - "insertTime": { - "format": "google-datetime", - "description": "Timestamp that this operation was created.@OutputOnly", - "type": "string" - }, - "user": { - "description": "User who requested this operation.@OutputOnly", - "type": "string" - }, - "target": { - "description": "Name of the resource that this operation is acting on. Example: apps/myapp/modules/default.@OutputOnly", + "description": "Type of this operation. Deprecated, use method field instead. Example: \"create_version\".@OutputOnly", "type": "string" } }, - "id": "OperationMetadata" + "id": "OperationMetadata", + "description": "Metadata for the given google.longrunning.Operation.", + "type": "object" }, "ListAuthorizedCertificatesResponse": { "description": "Response message for AuthorizedCertificates.ListAuthorizedCertificates.", @@ -2090,15 +2698,15 @@ "id": "ListAuthorizedCertificatesResponse" }, "FeatureSettings": { + "description": "The feature specific settings to be used in the application. These define behaviors that are user configurable.", + "type": "object", "properties": { "splitHealthChecks": { - "type": "boolean", - "description": "Boolean value indicating if split health checks should be used instead of the legacy health checks. At an app.yaml level, this means defaulting to 'readiness_check' and 'liveness_check' values instead of 'health_check' ones. Once the legacy 'health_check' behavior is deprecated, and this value is always true, this setting can be removed." + "description": "Boolean value indicating if split health checks should be used instead of the legacy health checks. At an app.yaml level, this means defaulting to 'readiness_check' and 'liveness_check' values instead of 'health_check' ones. Once the legacy 'health_check' behavior is deprecated, and this value is always true, this setting can be removed.", + "type": "boolean" } }, - "id": "FeatureSettings", - "description": "The feature specific settings to be used in the application. These define behaviors that are user configurable.", - "type": "object" + "id": "FeatureSettings" }, "ErrorHandler": { "description": "Custom static error page to be served when an error occurs.", @@ -2109,6 +2717,13 @@ "type": "string" }, "errorCode": { + "enumDescriptions": [ + "Not specified. ERROR_CODE_DEFAULT is assumed.", + "All other error types.", + "Application has exceeded a resource quota.", + "Client blocked by the application's Denial of Service protection configuration.", + "Deadline reached before the application responds." + ], "enum": [ "ERROR_CODE_UNSPECIFIED", "ERROR_CODE_DEFAULT", @@ -2117,14 +2732,7 @@ "ERROR_CODE_TIMEOUT" ], "description": "Error condition this handler applies to.", - "type": "string", - "enumDescriptions": [ - "Not specified. ERROR_CODE_DEFAULT is assumed.", - "All other error types.", - "Application has exceeded a resource quota.", - "Client blocked by the application's Denial of Service protection configuration.", - "Deadline reached before the application responds." - ] + "type": "string" }, "staticFile": { "description": "Static file content to be served for this error.", @@ -2135,8 +2743,24 @@ }, "SslSettings": { "properties": { + "pendingManagedCertificateId": { + "description": "ID of the managed AuthorizedCertificate resource currently being provisioned, if applicable. Until the new managed certificate has been successfully provisioned, the previous SSL state will be preserved. Once the provisioning process completes, the certificate_id field will reflect the new managed certificate and this field will be left empty. To remove SSL support while there is still a pending managed certificate, clear the certificate_id field with an UpdateDomainMappingRequest.@OutputOnly", + "type": "string" + }, + "sslManagementType": { + "enumDescriptions": [ + "SSL support for this domain is configured automatically. The mapped SSL certificate will be automatically renewed.", + "SSL support for this domain is configured manually by the user. Either the domain has no SSL support or a user-obtained SSL certificate has been explictly mapped to this domain." + ], + "enum": [ + "AUTOMATIC", + "MANUAL" + ], + "description": "SSL management type for this domain. If AUTOMATIC, a managed certificate is automatically provisioned. If MANUAL, certificate_id must be manually specified in order to configure SSL for this domain.", + "type": "string" + }, "certificateId": { - "description": "ID of the AuthorizedCertificate resource configuring SSL for the application. Clearing this field will remove SSL support. Example: 12345.", + "description": "ID of the AuthorizedCertificate resource configuring SSL for the application. Clearing this field will remove SSL support.By default, a managed certificate is automatically created for every domain mapping. To omit SSL support or to configure SSL manually, specify SslManagementType.MANUAL on a CREATE or UPDATE request. You must be authorized to administer the AuthorizedCertificate resource to manually map it to a DomainMapping resource. Example: 12345.", "type": "string" } }, @@ -2145,12 +2769,9 @@ "type": "object" }, "OperationMetadataV1": { + "description": "Metadata for the given google.longrunning.Operation.", + "type": "object", "properties": { - "insertTime": { - "format": "google-datetime", - "description": "Time that this operation was created.@OutputOnly", - "type": "string" - }, "warning": { "description": "Durable messages that persist on every operation poll. @OutputOnly", "items": { @@ -2158,14 +2779,19 @@ }, "type": "array" }, - "user": { - "description": "User who requested this operation.@OutputOnly", + "insertTime": { + "format": "google-datetime", + "description": "Time that this operation was created.@OutputOnly", "type": "string" }, "target": { "description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", "type": "string" }, + "user": { + "description": "User who requested this operation.@OutputOnly", + "type": "string" + }, "ephemeralMessage": { "description": "Ephemeral message that may change every time the operation is polled. @OutputOnly", "type": "string" @@ -2180,14 +2806,62 @@ "type": "string" } }, - "id": "OperationMetadataV1", - "description": "Metadata for the given google.longrunning.Operation.", - "type": "object" + "id": "OperationMetadataV1" }, "Application": { - "description": "An Application resource contains the top-level configuration of an App Engine application. Next tag: 19", - "type": "object", "properties": { + "name": { + "description": "Full path to the Application resource in the API. Example: apps/myapp.@OutputOnly", + "type": "string" + }, + "defaultCookieExpiration": { + "format": "google-duration", + "description": "Cookie expiration policy for this application.", + "type": "string" + }, + "id": { + "description": "Identifier of the Application resource. This identifier is equivalent to the project ID of the Google Cloud Platform project where you want to deploy your application. Example: myapp.", + "type": "string" + }, + "locationId": { + "description": "Location from which this application will be run. Application instances will run out of data centers in the chosen location, which is also where all of the application's end user content is stored.Defaults to us-central.Options are:us-central - Central USeurope-west - Western Europeus-east1 - Eastern US", + "type": "string" + }, + "servingStatus": { + "enum": [ + "UNSPECIFIED", + "SERVING", + "USER_DISABLED", + "SYSTEM_DISABLED" + ], + "description": "Serving status of this application.", + "type": "string", + "enumDescriptions": [ + "Serving status is unspecified.", + "Application is serving.", + "Application has been disabled by the user.", + "Application has been disabled by the system." + ] + }, + "defaultHostname": { + "description": "Hostname used to reach this application, as resolved by App Engine.@OutputOnly", + "type": "string" + }, + "featureSettings": { + "$ref": "FeatureSettings", + "description": "The feature specific settings to be used in the application." + }, + "iap": { + "$ref": "IdentityAwareProxy" + }, + "authDomain": { + "description": "Google Apps authentication domain that controls which users can access this application.Defaults to open access for any Google Account.", + "type": "string" + }, + "codeBucket": { + "description": "Google Cloud Storage bucket that can be used for storing files associated with this application. This bucket is associated with the application and can be used by the gcloud deployment commands.@OutputOnly", + "type": "string" + }, "defaultBucket": { "description": "Google Cloud Storage bucket that can be used by this application to store content.@OutputOnly", "type": "string" @@ -2202,92 +2876,44 @@ "gcrDomain": { "description": "The Google Container Registry domain used for storing managed build docker images for this application.", "type": "string" - }, - "name": { - "description": "Full path to the Application resource in the API. Example: apps/myapp.@OutputOnly", - "type": "string" - }, - "id": { - "description": "Identifier of the Application resource. This identifier is equivalent to the project ID of the Google Cloud Platform project where you want to deploy your application. Example: myapp.", - "type": "string" - }, - "defaultCookieExpiration": { - "format": "google-duration", - "description": "Cookie expiration policy for this application.", - "type": "string" - }, - "locationId": { - "description": "Location from which this application will be run. Application instances will run out of data centers in the chosen location, which is also where all of the application's end user content is stored.Defaults to us-central.Options are:us-central - Central USeurope-west - Western Europeus-east1 - Eastern US", - "type": "string" - }, - "servingStatus": { - "description": "Serving status of this application.", - "type": "string", - "enumDescriptions": [ - "Serving status is unspecified.", - "Application is serving.", - "Application has been disabled by the user.", - "Application has been disabled by the system." - ], - "enum": [ - "UNSPECIFIED", - "SERVING", - "USER_DISABLED", - "SYSTEM_DISABLED" - ] - }, - "defaultHostname": { - "description": "Hostname used to reach this application, as resolved by App Engine.@OutputOnly", - "type": "string" - }, - "featureSettings": { - "description": "The feature specific settings to be used in the application.", - "$ref": "FeatureSettings" - }, - "authDomain": { - "description": "Google Apps authentication domain that controls which users can access this application.Defaults to open access for any Google Account.", - "type": "string" - }, - "iap": { - "$ref": "IdentityAwareProxy" - }, - "codeBucket": { - "description": "Google Cloud Storage bucket that can be used for storing files associated with this application. This bucket is associated with the application and can be used by the gcloud deployment commands.@OutputOnly", - "type": "string" } }, - "id": "Application" + "id": "Application", + "description": "An Application resource contains the top-level configuration of an App Engine application. Next tag: 20", + "type": "object" }, "Network": { - "description": "Extra network settings. Only applicable for VM runtimes.", - "type": "object", "properties": { - "name": { - "description": "Google Cloud Platform network where the virtual machines are created. Specify the short name, not the resource path.Defaults to default.", - "type": "string" - }, "subnetworkName": { - "description": "Google Cloud Platform sub-network where the virtual machines are created. Specify the short name, not the resource path.If a subnetwork name is specified, a network name will also be required unless it is for the default network.\nIf the network the VM instance is being created in is a Legacy network, then the IP address is allocated from the IPv4Range.\nIf the network the VM instance is being created in is an auto Subnet Mode Network, then only network name should be specified (not the subnetwork_name) and the IP address is created from the IPCidrRange of the subnetwork that exists in that zone for that network.\nIf the network the VM instance is being created in is a custom Subnet Mode Network, then the subnetwork_name must be specified and the IP address is created from the IPCidrRange of the subnetwork.If specified, the subnetwork must exist in the same region as the Flex app.", + "description": "Google Cloud Platform sub-network where the virtual machines are created. Specify the short name, not the resource path.If a subnetwork name is specified, a network name will also be required unless it is for the default network.\nIf the network the VM instance is being created in is a Legacy network, then the IP address is allocated from the IPv4Range.\nIf the network the VM instance is being created in is an auto Subnet Mode Network, then only network name should be specified (not the subnetwork_name) and the IP address is created from the IPCidrRange of the subnetwork that exists in that zone for that network.\nIf the network the VM instance is being created in is a custom Subnet Mode Network, then the subnetwork_name must be specified and the IP address is created from the IPCidrRange of the subnetwork.If specified, the subnetwork must exist in the same region as the App Engine flexible environment application.", "type": "string" }, "instanceTag": { - "description": "Tag to apply to the VM instance during creation.", + "description": "Tag to apply to the VM instance during creation. Only applicable for for App Engine flexible environment versions.", "type": "string" }, "forwardedPorts": { - "description": "List of ports, or port pairs, to forward from the virtual machine to the application container.", + "description": "List of ports, or port pairs, to forward from the virtual machine to the application container. Only applicable for App Engine flexible environment versions.", "items": { "type": "string" }, "type": "array" + }, + "name": { + "description": "Google Compute Engine network where the virtual machines are created. Specify the short name, not the resource path.Defaults to default.", + "type": "string" } }, - "id": "Network" + "id": "Network", + "description": "Extra network settings. Only applicable for App Engine flexible environment versions", + "type": "object" }, "Instance": { - "description": "An Instance resource is the computing unit that App Engine uses to automatically scale an application.", - "type": "object", "properties": { + "appEngineRelease": { + "description": "App Engine release this instance is running on.@OutputOnly", + "type": "string" + }, "vmName": { "description": "Name of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment.@OutputOnly", "type": "string" @@ -2298,8 +2924,8 @@ "type": "number" }, "vmId": { - "type": "string", - "description": "Virtual machine ID of this instance. Only applicable for instances in App Engine flexible environment.@OutputOnly" + "description": "Virtual machine ID of this instance. Only applicable for instances in App Engine flexible environment.@OutputOnly", + "type": "string" }, "name": { "description": "Full path to the Instance resource in the API. Example: apps/myapp/services/default/versions/v1/instances/instance-1.@OutputOnly", @@ -2314,26 +2940,24 @@ "description": "Average latency (ms) over the last minute.@OutputOnly", "type": "integer" }, + "id": { + "description": "Relative name of the instance within the version. Example: instance-1.@OutputOnly", + "type": "string" + }, "vmIp": { "description": "The IP address of this instance. Only applicable for instances in App Engine flexible environment.@OutputOnly", "type": "string" }, "memoryUsage": { - "type": "string", "format": "int64", - "description": "Total memory in use (bytes).@OutputOnly" - }, - "id": { - "description": "Relative name of the instance within the version. Example: instance-1.@OutputOnly", + "description": "Total memory in use (bytes).@OutputOnly", "type": "string" }, - "errors": { - "format": "int32", - "description": "Number of errors since this instance was started.@OutputOnly", - "type": "integer" + "vmStatus": { + "description": "Status of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment.@OutputOnly", + "type": "string" }, "availability": { - "type": "string", "enumDescriptions": [ "", "", @@ -2344,12 +2968,14 @@ "RESIDENT", "DYNAMIC" ], - "description": "Availability of the instance.@OutputOnly" - }, - "vmStatus": { - "description": "Status of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment.@OutputOnly", + "description": "Availability of the instance.@OutputOnly", "type": "string" }, + "errors": { + "format": "int32", + "description": "Number of errors since this instance was started.@OutputOnly", + "type": "integer" + }, "startTime": { "format": "google-datetime", "description": "Time that this instance was started.@OutputOnly", @@ -2363,53 +2989,51 @@ "format": "int32", "description": "Number of requests since this instance was started.@OutputOnly", "type": "integer" - }, - "appEngineRelease": { - "type": "string", - "description": "App Engine release this instance is running on.@OutputOnly" } }, - "id": "Instance" + "id": "Instance", + "description": "An Instance resource is the computing unit that App Engine uses to automatically scale an application.", + "type": "object" }, "LivenessCheck": { - "description": "Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances.", - "type": "object", "properties": { - "path": { - "type": "string", - "description": "The request path." + "initialDelay": { + "format": "google-duration", + "description": "The initial delay before starting to execute the checks.", + "type": "string" }, - "successThreshold": { - "type": "integer", - "format": "uint32", - "description": "Number of consecutive successful checks required before considering the VM healthy." + "path": { + "description": "The request path.", + "type": "string" }, "host": { "description": "Host header to send when performing a HTTP Liveness check. Example: \"myapp.appspot.com\"", "type": "string" }, + "successThreshold": { + "format": "uint32", + "description": "Number of consecutive successful checks required before considering the VM healthy.", + "type": "integer" + }, "checkInterval": { "format": "google-duration", "description": "Interval between health checks.", "type": "string" }, - "failureThreshold": { - "format": "uint32", - "description": "Number of consecutive failed checks required before considering the VM unhealthy.", - "type": "integer" - }, "timeout": { "format": "google-duration", "description": "Time before the check is considered failed.", "type": "string" }, - "initialDelay": { - "format": "google-duration", - "description": "The initial delay before starting to execute the checks.", - "type": "string" + "failureThreshold": { + "format": "uint32", + "description": "Number of consecutive failed checks required before considering the VM unhealthy.", + "type": "integer" } }, - "id": "LivenessCheck" + "id": "LivenessCheck", + "description": "Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances.", + "type": "object" }, "BatchUpdateIngressRulesRequest": { "description": "Request message for Firewall.BatchUpdateIngressRules.", @@ -2425,37 +3049,7 @@ }, "id": "BatchUpdateIngressRulesRequest" }, - "NetworkUtilization": { - "id": "NetworkUtilization", - "description": "Target scaling by network usage. Only applicable for VM runtimes.", - "type": "object", - "properties": { - "targetSentBytesPerSecond": { - "type": "integer", - "format": "int32", - "description": "Target bytes sent per second." - }, - "targetReceivedBytesPerSecond": { - "format": "int32", - "description": "Target bytes received per second.", - "type": "integer" - }, - "targetSentPacketsPerSecond": { - "format": "int32", - "description": "Target packets sent per second.", - "type": "integer" - }, - "targetReceivedPacketsPerSecond": { - "format": "int32", - "description": "Target packets received per second.", - "type": "integer" - } - } - }, "Location": { - "id": "Location", - "description": "A resource that represents Google Cloud Platform location.", - "type": "object", "properties": { "name": { "description": "Resource name for the location, which may vary between implementations. For example: \"projects/example-project/locations/us-east1\"", @@ -2474,18 +3068,71 @@ "type": "object" }, "labels": { + "description": "Cross-service attributes for the location. For example\n{\"cloud.googleapis.com/region\": \"us-east1\"}\n", + "type": "object", "additionalProperties": { "type": "string" - }, - "description": "Cross-service attributes for the location. For example\n{\"cloud.googleapis.com/region\": \"us-east1\"}\n", - "type": "object" + } } - } + }, + "id": "Location", + "description": "A resource that represents Google Cloud Platform location.", + "type": "object" + }, + "NetworkUtilization": { + "properties": { + "targetSentBytesPerSecond": { + "format": "int32", + "description": "Target bytes sent per second.", + "type": "integer" + }, + "targetReceivedBytesPerSecond": { + "format": "int32", + "description": "Target bytes received per second.", + "type": "integer" + }, + "targetSentPacketsPerSecond": { + "format": "int32", + "description": "Target packets sent per second.", + "type": "integer" + }, + "targetReceivedPacketsPerSecond": { + "format": "int32", + "description": "Target packets received per second.", + "type": "integer" + } + }, + "id": "NetworkUtilization", + "description": "Target scaling by network usage. Only applicable for VM runtimes.", + "type": "object" }, "HealthCheck": { "description": "Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances. Only applicable for instances in App Engine flexible environment.", "type": "object", "properties": { + "disableHealthCheck": { + "description": "Whether to explicitly disable health checks for this instance.", + "type": "boolean" + }, + "host": { + "description": "Host header to send when performing an HTTP health check. Example: \"myapp.appspot.com\"", + "type": "string" + }, + "healthyThreshold": { + "format": "uint32", + "description": "Number of consecutive successful health checks required before receiving traffic.", + "type": "integer" + }, + "restartThreshold": { + "format": "uint32", + "description": "Number of consecutive failed health checks required before an instance is restarted.", + "type": "integer" + }, + "checkInterval": { + "format": "google-duration", + "description": "Interval between health checks.", + "type": "string" + }, "timeout": { "format": "google-duration", "description": "Time before the health check is considered failed.", @@ -2495,41 +3142,17 @@ "format": "uint32", "description": "Number of consecutive failed health checks required before removing traffic.", "type": "integer" - }, - "disableHealthCheck": { - "description": "Whether to explicitly disable health checks for this instance.", - "type": "boolean" - }, - "host": { - "description": "Host header to send when performing an HTTP health check. Example: \"myapp.appspot.com\"", - "type": "string" - }, - "restartThreshold": { - "format": "uint32", - "description": "Number of consecutive failed health checks required before an instance is restarted.", - "type": "integer" - }, - "healthyThreshold": { - "format": "uint32", - "description": "Number of consecutive successful health checks required before receiving traffic.", - "type": "integer" - }, - "checkInterval": { - "format": "google-duration", - "description": "Interval between health checks.", - "type": "string" } }, "id": "HealthCheck" }, "ReadinessCheck": { - "id": "ReadinessCheck", "description": "Readiness checking configuration for VM instances. Unhealthy instances are removed from traffic rotation.", "type": "object", "properties": { - "timeout": { + "checkInterval": { "format": "google-duration", - "description": "Time before the check is considered failed.", + "description": "Interval between health checks.", "type": "string" }, "failureThreshold": { @@ -2537,6 +3160,11 @@ "description": "Number of consecutive failed checks required before removing traffic.", "type": "integer" }, + "timeout": { + "format": "google-duration", + "description": "Time before the check is considered failed.", + "type": "string" + }, "appStartTimeout": { "format": "google-duration", "description": "A maximum time limit on application initialization, measured from moment the application successfully replies to a healthcheck until it is ready to serve traffic.", @@ -2546,23 +3174,21 @@ "description": "The request path.", "type": "string" }, - "host": { - "type": "string", - "description": "Host header to send when performing a HTTP Readiness check. Example: \"myapp.appspot.com\"" - }, "successThreshold": { - "type": "integer", "format": "uint32", - "description": "Number of consecutive successful checks required before receiving traffic." + "description": "Number of consecutive successful checks required before receiving traffic.", + "type": "integer" }, - "checkInterval": { - "format": "google-duration", - "description": "Interval between health checks.", + "host": { + "description": "Host header to send when performing a HTTP Readiness check. Example: \"myapp.appspot.com\"", "type": "string" } - } + }, + "id": "ReadinessCheck" }, "StandardSchedulerSettings": { + "description": "Scheduler settings for standard environment.", + "type": "object", "properties": { "targetThroughputUtilization": { "format": "double", @@ -2585,11 +3211,10 @@ "type": "number" } }, - "id": "StandardSchedulerSettings", - "description": "Scheduler settings for standard environment.", - "type": "object" + "id": "StandardSchedulerSettings" }, "DebugInstanceRequest": { + "description": "Request message for Instances.DebugInstance.", "type": "object", "properties": { "sshKey": { @@ -2597,14 +3222,13 @@ "type": "string" } }, - "id": "DebugInstanceRequest", - "description": "Request message for Instances.DebugInstance." + "id": "DebugInstanceRequest" }, "OperationMetadataV1Beta5": { "properties": { "method": { - "type": "string", - "description": "API method name that initiated this operation. Example: google.appengine.v1beta5.Version.CreateVersion.@OutputOnly" + "description": "API method name that initiated this operation. Example: google.appengine.v1beta5.Version.CreateVersion.@OutputOnly", + "type": "string" }, "insertTime": { "format": "google-datetime", @@ -2633,25 +3257,13 @@ "description": "A Version resource is a specific set of source code and configuration files that are deployed into a service.", "type": "object", "properties": { - "readinessCheck": { - "description": "Configures readiness health checking for VM instances. Unhealthy instances are not put into the backend traffic rotation.Only returned in GET requests if view=FULL is set.", - "$ref": "ReadinessCheck" - }, - "manualScaling": { - "description": "A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time.", - "$ref": "ManualScaling" - }, - "name": { - "description": "Full path to the Version resource in the API. Example: apps/myapp/services/default/versions/v1.@OutputOnly", - "type": "string" - }, "apiConfig": { - "$ref": "ApiConfigHandler", - "description": "Serving configuration for Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/endpoints/).Only returned in GET requests if view=FULL is set." + "description": "Serving configuration for Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/endpoints/).Only returned in GET requests if view=FULL is set.", + "$ref": "ApiConfigHandler" }, "endpointsApiService": { - "$ref": "EndpointsApiService", - "description": "Cloud Endpoints configuration.If endpoints_api_service is set, the Cloud Endpoints Extensible Service Proxy will be provided to serve the API implemented by the app." + "description": "Cloud Endpoints configuration.If endpoints_api_service is set, the Cloud Endpoints Extensible Service Proxy will be provided to serve the API implemented by the app.", + "$ref": "EndpointsApiService" }, "versionUrl": { "description": "Serving URL for this version. Example: \"https://myversion-dot-myservice-dot-myapp.appspot.com\"@OutputOnly", @@ -2662,12 +3274,10 @@ "type": "boolean" }, "instanceClass": { - "type": "string", - "description": "Instance class that is used to run this version. Valid values are:\nAutomaticScaling: F1, F2, F4, F4_1G\nManualScaling or BasicScaling: B1, B2, B4, B8, B4_1GDefaults to F1 for AutomaticScaling and B1 for ManualScaling or BasicScaling." + "description": "Instance class that is used to run this version. Valid values are:\nAutomaticScaling: F1, F2, F4, F4_1G\nManualScaling or BasicScaling: B1, B2, B4, B8, B4_1GDefaults to F1 for AutomaticScaling and B1 for ManualScaling or BasicScaling.", + "type": "string" }, "servingStatus": { - "description": "Current serving status of this version. Only the versions with a SERVING status create instances and can be billed.SERVING_STATUS_UNSPECIFIED is an invalid value. Defaults to SERVING.", - "type": "string", "enumDescriptions": [ "Not specified.", "Currently serving. Instances are created according to the scaling settings of the version.", @@ -2677,7 +3287,9 @@ "SERVING_STATUS_UNSPECIFIED", "SERVING", "STOPPED" - ] + ], + "description": "Current serving status of this version. Only the versions with a SERVING status create instances and can be billed.SERVING_STATUS_UNSPECIFIED is an invalid value. Defaults to SERVING.", + "type": "string" }, "runtimeApiVersion": { "description": "The version of the API in the given runtime environment. Please see the app.yaml reference for valid values at https://cloud.google.com/appengine/docs/standard/\u003clanguage\u003e/config/appref", @@ -2749,21 +3361,21 @@ "type": "string" }, "basicScaling": { - "description": "A service with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity.", - "$ref": "BasicScaling" + "$ref": "BasicScaling", + "description": "A service with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity." }, "runtime": { "description": "Desired runtime. Example: python27.", "type": "string" }, - "createdBy": { - "description": "Email address of the user who created this version.@OutputOnly", - "type": "string" - }, "id": { "description": "Relative name of the version within the service. Example: v1. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names: \"default\", \"latest\", and any name with the prefix \"ah-\".", "type": "string" }, + "createdBy": { + "description": "Email address of the user who created this version.@OutputOnly", + "type": "string" + }, "envVariables": { "description": "Environment variables available to the application.Only returned in GET requests if view=FULL is set.", "type": "object", @@ -2776,15 +3388,15 @@ "$ref": "LivenessCheck" }, "network": { - "$ref": "Network", - "description": "Extra network settings. Only applicable for VM runtimes." + "description": "Extra network settings. Only applicable for App Engine flexible environment versions.", + "$ref": "Network" }, "betaSettings": { - "description": "Metadata settings that are supplied to this version to enable beta runtime features.", - "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "Metadata settings that are supplied to this version to enable beta runtime features.", + "type": "object" }, "env": { "description": "App Engine execution environment for this version.Defaults to standard.", @@ -2807,12 +3419,24 @@ "type": "string" }, "healthCheck": { - "description": "Configures health checking for VM instances. Unhealthy instances are stopped and replaced with new instances. Only applicable for VM runtimes.Only returned in GET requests if view=FULL is set.", - "$ref": "HealthCheck" + "$ref": "HealthCheck", + "description": "Configures health checking for VM instances. Unhealthy instances are stopped and replaced with new instances. Only applicable for VM runtimes.Only returned in GET requests if view=FULL is set." }, "threadsafe": { "description": "Whether multiple requests can be dispatched to this version at once.", "type": "boolean" + }, + "readinessCheck": { + "description": "Configures readiness health checking for VM instances. Unhealthy instances are not put into the backend traffic rotation.Only returned in GET requests if view=FULL is set.", + "$ref": "ReadinessCheck" + }, + "manualScaling": { + "description": "A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time.", + "$ref": "ManualScaling" + }, + "name": { + "description": "Full path to the Version resource in the API. Example: apps/myapp/services/default/versions/v1.@OutputOnly", + "type": "string" } }, "id": "Version" @@ -2824,22 +3448,21 @@ "id": "RepairApplicationRequest" }, "CertificateRawData": { - "description": "An SSL certificate obtained from a certificate authority.", - "type": "object", "properties": { "privateKey": { - "type": "string", - "description": "Unencrypted PEM encoded RSA private key. This field is set once on certificate creation and then encrypted. The key size must be 2048 bits or fewer. Must include the header and footer. Example: \u003cpre\u003e -----BEGIN RSA PRIVATE KEY----- \u003cunencrypted_key_value\u003e -----END RSA PRIVATE KEY----- \u003c/pre\u003e @InputOnly" + "description": "Unencrypted PEM encoded RSA private key. This field is set once on certificate creation and then encrypted. The key size must be 2048 bits or fewer. Must include the header and footer. Example: \u003cpre\u003e -----BEGIN RSA PRIVATE KEY----- \u003cunencrypted_key_value\u003e -----END RSA PRIVATE KEY----- \u003c/pre\u003e @InputOnly", + "type": "string" }, "publicCertificate": { "description": "PEM encoded x.509 public key certificate. This field is set once on certificate creation. Must include the header and footer. Example: \u003cpre\u003e -----BEGIN CERTIFICATE----- \u003ccertificate_value\u003e -----END CERTIFICATE----- \u003c/pre\u003e", "type": "string" } }, - "id": "CertificateRawData" + "id": "CertificateRawData", + "description": "An SSL certificate obtained from a certificate authority.", + "type": "object" }, "BuildInfo": { - "id": "BuildInfo", "description": "Google Cloud Container Builder build information.", "type": "object", "properties": { @@ -2847,20 +3470,23 @@ "description": "The Google Cloud Container Builder build id. Example: \"f966068f-08b2-42c8-bdfe-74137dff2bf9\"", "type": "string" } - } + }, + "id": "BuildInfo" }, "ScriptHandler": { - "description": "Executes a script to handle the request that matches the URL pattern.", - "type": "object", "properties": { "scriptPath": { "description": "Path to the script from the application root directory.", "type": "string" } }, - "id": "ScriptHandler" + "id": "ScriptHandler", + "description": "Executes a script to handle the request that matches the URL pattern.", + "type": "object" }, "FileInfo": { + "description": "Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately.", + "type": "object", "properties": { "sha1Sum": { "description": "The SHA1 hash of the file, in hex.", @@ -2875,9 +3501,7 @@ "type": "string" } }, - "id": "FileInfo", - "description": "Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately.", - "type": "object" + "id": "FileInfo" }, "OperationMetadataExperimental": { "description": "Metadata for the given google.longrunning.Operation.", @@ -2907,572 +3531,13 @@ } }, "id": "OperationMetadataExperimental" - }, - "AuthorizedDomain": { - "description": "A domain that a user has been authorized to administer. To authorize use of a domain, verify ownership via Webmaster Central (https://www.google.com/webmasters/verification/home).", - "type": "object", - "properties": { - "id": { - "description": "Fully qualified domain name of the domain authorized for use. Example: example.com.", - "type": "string" - }, - "name": { - "description": "Full path to the AuthorizedDomain resource in the API. Example: apps/myapp/authorizedDomains/example.com.@OutputOnly", - "type": "string" - } - }, - "id": "AuthorizedDomain" - }, - "TrafficSplit": { - "description": "Traffic routing configuration for versions within a single service. Traffic splits define how traffic directed to the service is assigned to versions.", - "type": "object", - "properties": { - "allocations": { - "type": "object", - "additionalProperties": { - "format": "double", - "type": "number" - }, - "description": "Mapping from version IDs within the service to fractional (0.000, 1] allocations of traffic for that version. Each version can be specified only once, but some versions in the service may not have any traffic allocation. Services that have traffic allocated cannot be deleted until either the service is deleted or their traffic allocation is removed. Allocations must sum to 1. Up to two decimal place precision is supported for IP-based splits and up to three decimal places is supported for cookie-based splits." - }, - "shardBy": { - "enum": [ - "UNSPECIFIED", - "COOKIE", - "IP", - "RANDOM" - ], - "description": "Mechanism used to determine which version a request is sent to. The traffic selection algorithm will be stable for either type until allocations are changed.", - "type": "string", - "enumDescriptions": [ - "Diversion method unspecified.", - "Diversion based on a specially named cookie, \"GOOGAPPUID.\" The cookie must be set by the application itself or no diversion will occur.", - "Diversion based on applying the modulus operation to a fingerprint of the IP address.", - "Diversion based on weighted random assignment. An incoming request is randomly routed to a version in the traffic split, with probability proportional to the version's traffic share." - ] - } - }, - "id": "TrafficSplit" - }, - "OperationMetadataV1Beta": { - "id": "OperationMetadataV1Beta", - "description": "Metadata for the given google.longrunning.Operation.", - "type": "object", - "properties": { - "warning": { - "description": "Durable messages that persist on every operation poll. @OutputOnly", - "items": { - "type": "string" - }, - "type": "array" - }, - "insertTime": { - "format": "google-datetime", - "description": "Time that this operation was created.@OutputOnly", - "type": "string" - }, - "target": { - "description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", - "type": "string" - }, - "user": { - "description": "User who requested this operation.@OutputOnly", - "type": "string" - }, - "ephemeralMessage": { - "description": "Ephemeral message that may change every time the operation is polled. @OutputOnly", - "type": "string" - }, - "method": { - "description": "API method that initiated this operation. Example: google.appengine.v1beta.Versions.CreateVersion.@OutputOnly", - "type": "string" - }, - "endTime": { - "format": "google-datetime", - "description": "Time that this operation completed.@OutputOnly", - "type": "string" - } - } - }, - "ListIngressRulesResponse": { - "description": "Response message for Firewall.ListIngressRules.", - "type": "object", - "properties": { - "ingressRules": { - "items": { - "$ref": "FirewallRule" - }, - "type": "array", - "description": "The ingress FirewallRules for this application." - }, - "nextPageToken": { - "description": "Continuation token for fetching the next page of results.", - "type": "string" - } - }, - "id": "ListIngressRulesResponse" - }, - "ListServicesResponse": { - "properties": { - "nextPageToken": { - "description": "Continuation token for fetching the next page of results.", - "type": "string" - }, - "services": { - "items": { - "$ref": "Service" - }, - "type": "array", - "description": "The services belonging to the requested application." - } - }, - "id": "ListServicesResponse", - "description": "Response message for Services.ListServices.", - "type": "object" - }, - "Deployment": { - "description": "Code and application artifacts used to deploy a version to App Engine.", - "type": "object", - "properties": { - "files": { - "type": "object", - "additionalProperties": { - "$ref": "FileInfo" - }, - "description": "Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call." - }, - "zip": { - "$ref": "ZipInfo", - "description": "The zip file for this deployment, if this is a zip deployment." - }, - "container": { - "$ref": "ContainerInfo", - "description": "The Docker image for the container that runs the version. Only applicable for instances running in the App Engine flexible environment." - }, - "build": { - "description": "Google Cloud Container Builder build information.", - "$ref": "BuildInfo" - } - }, - "id": "Deployment" - }, - "Resources": { - "description": "Machine resources for a version.", - "type": "object", - "properties": { - "memoryGb": { - "format": "double", - "description": "Memory (GB) needed.", - "type": "number" - }, - "cpu": { - "format": "double", - "description": "Number of CPU cores needed.", - "type": "number" - }, - "volumes": { - "description": "User specified volumes.", - "items": { - "$ref": "Volume" - }, - "type": "array" - }, - "diskGb": { - "format": "double", - "description": "Disk size (GB) needed.", - "type": "number" - } - }, - "id": "Resources" - }, - "BatchUpdateIngressRulesResponse": { - "type": "object", - "properties": { - "ingressRules": { - "description": "The full list of ingress FirewallRules for this application.", - "items": { - "$ref": "FirewallRule" - }, - "type": "array" - } - }, - "id": "BatchUpdateIngressRulesResponse", - "description": "Response message for Firewall.UpdateAllIngressRules." - }, - "Volume": { - "description": "Volumes mounted within the app container. Only applicable for VM runtimes.", - "type": "object", - "properties": { - "volumeType": { - "description": "Underlying volume type, e.g. 'tmpfs'.", - "type": "string" - }, - "sizeGb": { - "format": "double", - "description": "Volume size in gigabytes.", - "type": "number" - }, - "name": { - "description": "Unique name for the volume.", - "type": "string" - } - }, - "id": "Volume" - }, - "ListInstancesResponse": { - "description": "Response message for Instances.ListInstances.", - "type": "object", - "properties": { - "instances": { - "description": "The instances belonging to the requested version.", - "items": { - "$ref": "Instance" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Continuation token for fetching the next page of results.", - "type": "string" - } - }, - "id": "ListInstancesResponse" - }, - "ListDomainMappingsResponse": { - "description": "Response message for DomainMappings.ListDomainMappings.", - "type": "object", - "properties": { - "domainMappings": { - "description": "The domain mappings for the application.", - "items": { - "$ref": "DomainMapping" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Continuation token for fetching the next page of results.", - "type": "string" - } - }, - "id": "ListDomainMappingsResponse" - }, - "OperationMetadataV1Alpha": { - "properties": { - "target": { - "description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", - "type": "string" - }, - "user": { - "description": "User who requested this operation.@OutputOnly", - "type": "string" - }, - "ephemeralMessage": { - "type": "string", - "description": "Ephemeral message that may change every time the operation is polled. @OutputOnly" - }, - "method": { - "type": "string", - "description": "API method that initiated this operation. Example: google.appengine.v1alpha.Versions.CreateVersion.@OutputOnly" - }, - "endTime": { - "type": "string", - "format": "google-datetime", - "description": "Time that this operation completed.@OutputOnly" - }, - "warning": { - "description": "Durable messages that persist on every operation poll. @OutputOnly", - "items": { - "type": "string" - }, - "type": "array" - }, - "insertTime": { - "format": "google-datetime", - "description": "Time that this operation was created.@OutputOnly", - "type": "string" - } - }, - "id": "OperationMetadataV1Alpha", - "description": "Metadata for the given google.longrunning.Operation.", - "type": "object" - }, - "UrlDispatchRule": { - "description": "Rules to match an HTTP request and dispatch that request to a service.", - "type": "object", - "properties": { - "path": { - "description": "Pathname within the host. Must start with a \"/\". A single \"*\" can be included at the end of the path.The sum of the lengths of the domain and path may not exceed 100 characters.", - "type": "string" - }, - "service": { - "description": "Resource ID of a service in this application that should serve the matched request. The service must already exist. Example: default.", - "type": "string" - }, - "domain": { - "description": "Domain name to match against. The wildcard \"*\" is supported if specified before a period: \"*.\".Defaults to matching all domains: \"*\".", - "type": "string" - } - }, - "id": "UrlDispatchRule" - }, - "ListVersionsResponse": { - "id": "ListVersionsResponse", - "description": "Response message for Versions.ListVersions.", - "type": "object", - "properties": { - "versions": { - "description": "The versions belonging to the requested service.", - "items": { - "$ref": "Version" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Continuation token for fetching the next page of results.", - "type": "string" - } - } - }, - "ListAuthorizedDomainsResponse": { - "description": "Response message for AuthorizedDomains.ListAuthorizedDomains.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "Continuation token for fetching the next page of results.", - "type": "string" - }, - "domains": { - "description": "The authorized domains belonging to the user.", - "items": { - "$ref": "AuthorizedDomain" - }, - "type": "array" - } - }, - "id": "ListAuthorizedDomainsResponse" - }, - "DomainMapping": { - "description": "A domain serving an App Engine application.", - "type": "object", - "properties": { - "resourceRecords": { - "description": "The resource records required to configure this domain mapping. These records must be added to the domain's DNS configuration in order to serve the application via this domain mapping.@OutputOnly", - "items": { - "$ref": "ResourceRecord" - }, - "type": "array" - }, - "id": { - "description": "Relative name of the domain serving the application. Example: example.com.", - "type": "string" - }, - "sslSettings": { - "$ref": "SslSettings", - "description": "SSL configuration for this domain. If unconfigured, this domain will not serve with SSL." - }, - "name": { - "description": "Full path to the DomainMapping resource in the API. Example: apps/myapp/domainMapping/example.com.@OutputOnly", - "type": "string" - } - }, - "id": "DomainMapping" - }, - "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance:\nservice Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n}\nThe JSON representation for Empty is empty JSON object {}.", - "type": "object", - "properties": {}, - "id": "Empty" - }, - "ApiEndpointHandler": { - "type": "object", - "properties": { - "scriptPath": { - "description": "Path to the script from the application root directory.", - "type": "string" - } - }, - "id": "ApiEndpointHandler", - "description": "Uses Google Cloud Endpoints to handle requests." - }, - "AutomaticScaling": { - "description": "Automatic scaling is based on request rate, response latencies, and other application metrics.", - "type": "object", - "properties": { - "maxTotalInstances": { - "format": "int32", - "description": "Maximum number of instances that should be started to handle requests.", - "type": "integer" - }, - "minTotalInstances": { - "format": "int32", - "description": "Minimum number of instances that should be maintained for this version.", - "type": "integer" - }, - "networkUtilization": { - "$ref": "NetworkUtilization", - "description": "Target scaling by network usage." - }, - "maxConcurrentRequests": { - "format": "int32", - "description": "Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance.Defaults to a runtime-specific value.", - "type": "integer" - }, - "coolDownPeriod": { - "format": "google-duration", - "description": "Amount of time that the Autoscaler (https://cloud.google.com/compute/docs/autoscaler/) should wait between changes to the number of virtual machines. Only applicable for VM runtimes.", - "type": "string" - }, - "maxPendingLatency": { - "format": "google-duration", - "description": "Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it.", - "type": "string" - }, - "cpuUtilization": { - "$ref": "CpuUtilization", - "description": "Target scaling by CPU usage." - }, - "diskUtilization": { - "description": "Target scaling by disk usage.", - "$ref": "DiskUtilization" - }, - "minPendingLatency": { - "type": "string", - "format": "google-duration", - "description": "Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it." - }, - "standardSchedulerSettings": { - "$ref": "StandardSchedulerSettings", - "description": "Scheduler settings for standard environment." - }, - "maxIdleInstances": { - "format": "int32", - "description": "Maximum number of idle instances that should be maintained for this version.", - "type": "integer" - }, - "requestUtilization": { - "description": "Target scaling by request utilization.", - "$ref": "RequestUtilization" - }, - "minIdleInstances": { - "format": "int32", - "description": "Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a service.", - "type": "integer" - } - }, - "id": "AutomaticScaling" - }, - "ZipInfo": { - "id": "ZipInfo", - "description": "The zip file information for a zip deployment.", - "type": "object", - "properties": { - "sourceUrl": { - "type": "string", - "description": "URL of the zip file to deploy from. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\u003cbucket\u003e/\u003cobject\u003e'." - }, - "filesCount": { - "format": "int32", - "description": "An estimate of the number of files in a zip for a zip deployment. If set, must be greater than or equal to the actual number of files. Used for optimizing performance; if not provided, deployment may be slow.", - "type": "integer" - } - } - }, - "AuthorizedCertificate": { - "id": "AuthorizedCertificate", - "description": "An SSL certificate that a user has been authorized to administer. A user is authorized to administer any certificate that applies to one of their authorized domains.", - "type": "object", - "properties": { - "displayName": { - "description": "The user-specified display name of the certificate. This is not guaranteed to be unique. Example: My Certificate.", - "type": "string" - }, - "certificateRawData": { - "description": "The SSL certificate serving the AuthorizedCertificate resource. This must be obtained independently from a certificate authority.", - "$ref": "CertificateRawData" - }, - "visibleDomainMappings": { - "description": "The full paths to user visible Domain Mapping resources that have this certificate mapped. Example: apps/myapp/domainMappings/example.com.This may not represent the full list of mapped domain mappings if the user does not have VIEWER permissions on all of the applications that have this certificate mapped. See domain_mappings_count for a complete count.Only returned by GET requests when specifically requested by the view=FULL option.@OutputOnly", - "items": { - "type": "string" - }, - "type": "array" - }, - "expireTime": { - "format": "google-datetime", - "description": "The time when this certificate expires. To update the renewal time on this certificate, upload an SSL certificate with a different expiration time using AuthorizedCertificates.UpdateAuthorizedCertificate.@OutputOnly", - "type": "string" - }, - "name": { - "description": "Full path to the AuthorizedCertificate resource in the API. Example: apps/myapp/authorizedCertificates/12345.@OutputOnly", - "type": "string" - }, - "domainMappingsCount": { - "format": "int32", - "description": "Aggregate count of the domain mappings with this certificate mapped. This count includes domain mappings on applications for which the user does not have VIEWER permissions.Only returned by GET requests when specifically requested by the view=FULL option.@OutputOnly", - "type": "integer" - }, - "domainNames": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Topmost applicable domains of this certificate. This certificate applies to these domains and their subdomains. Example: example.com.@OutputOnly" - }, - "id": { - "type": "string", - "description": "Relative name of the certificate. This is a unique value autogenerated on AuthorizedCertificate resource creation. Example: 12345.@OutputOnly" - } - } - }, - "ResourceRecord": { - "properties": { - "name": { - "description": "Relative name of the object affected by this record. Only applicable for CNAME records. Example: 'www'.", - "type": "string" - }, - "type": { - "description": "Resource record type. Example: AAAA.", - "type": "string", - "enumDescriptions": [ - "An A resource record. Data is an IPv4 address.", - "An AAAA resource record. Data is an IPv6 address.", - "A CNAME resource record. Data is a domain name to be aliased." - ], - "enum": [ - "A", - "AAAA", - "CNAME" - ] - }, - "rrdata": { - "description": "Data for this record. Values vary by record type, as defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1).", - "type": "string" - } - }, - "id": "ResourceRecord", - "description": "A DNS resource record.", - "type": "object" - }, - "Library": { - "description": "Third-party Python runtime library that is required by the application.", - "type": "object", - "properties": { - "name": { - "description": "Name of the library. Example: \"django\".", - "type": "string" - }, - "version": { - "description": "Version of the library to select, or \"latest\".", - "type": "string" - } - }, - "id": "Library" } }, - "protocol": "rest", "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.gif" }, + "protocol": "rest", "version": "v1beta", "baseUrl": "https://appengine.googleapis.com/", "auth": { @@ -3489,11 +3554,5 @@ } } } - }, - "servicePath": "", - "description": "The App Engine Admin API enables developers to provision and manage their App Engine applications.", - "kind": "discovery#restDescription", - "rootUrl": "https://appengine.googleapis.com/", - "basePath": "", - "ownerDomain": "google.com" + } } diff --git a/vendor/google.golang.org/api/appengine/v1beta/appengine-gen.go b/vendor/google.golang.org/api/appengine/v1beta/appengine-gen.go index eec6b80f3..544dceb62 100644 --- a/vendor/google.golang.org/api/appengine/v1beta/appengine-gen.go +++ b/vendor/google.golang.org/api/appengine/v1beta/appengine-gen.go @@ -320,7 +320,7 @@ func (s *ApiEndpointHandler) MarshalJSON() ([]byte, error) { } // Application: An Application resource contains the top-level -// configuration of an App Engine application. Next tag: 19 +// configuration of an App Engine application. Next tag: 20 type Application struct { // AuthDomain: Google Apps authentication domain that controls which // users can access this application.Defaults to open access for any @@ -429,8 +429,8 @@ type AuthorizedCertificate struct { // DomainMappingsCount: Aggregate count of the domain mappings with this // certificate mapped. This count includes domain mappings on // applications for which the user does not have VIEWER permissions.Only - // returned by GET requests when specifically requested by the view=FULL - // option.@OutputOnly + // returned by GET or LIST requests when specifically requested by the + // view=FULL_CERTIFICATE option.@OutputOnly DomainMappingsCount int64 `json:"domainMappingsCount,omitempty"` // DomainNames: Topmost applicable domains of this certificate. This @@ -449,6 +449,13 @@ type AuthorizedCertificate struct { // 12345.@OutputOnly Id string `json:"id,omitempty"` + // ManagedCertificate: Only applicable if this certificate is managed by + // App Engine. Managed certificates are tied to the lifecycle of a + // DomainMapping and cannot be updated or deleted via the + // AuthorizedCertificates API. If this certificate is manually + // administered by the user, this field will be empty.@OutputOnly + ManagedCertificate *ManagedCertificate `json:"managedCertificate,omitempty"` + // Name: Full path to the AuthorizedCertificate resource in the API. // Example: apps/myapp/authorizedCertificates/12345.@OutputOnly Name string `json:"name,omitempty"` @@ -459,8 +466,8 @@ type AuthorizedCertificate struct { // list of mapped domain mappings if the user does not have VIEWER // permissions on all of the applications that have this certificate // mapped. See domain_mappings_count for a complete count.Only returned - // by GET requests when specifically requested by the view=FULL - // option.@OutputOnly + // by GET or LIST requests when specifically requested by the + // view=FULL_CERTIFICATE option.@OutputOnly VisibleDomainMappings []string `json:"visibleDomainMappings,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -1962,6 +1969,56 @@ func (s *LocationMetadata) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ManagedCertificate: A certificate managed by App Engine. +type ManagedCertificate struct { + // LastRenewalTime: Time at which the certificate was last renewed. The + // renewal process is fully managed. Certificate renewal will + // automatically occur before the certificate expires. Renewal errors + // can be tracked via ManagementStatus.@OutputOnly + LastRenewalTime string `json:"lastRenewalTime,omitempty"` + + // Status: Status of certificate management. Refers to the most recent + // certificate acquisition or renewal attempt.@OutputOnly + // + // Possible values: + // "MANAGEMENT_STATUS_UNSPECIFIED" + // "OK" - Certificate was successfully obtained and inserted into the + // serving system. + // "PENDING" - Certificate is under active attempts to acquire or + // renew. + // "FAILED_RETRYING_NOT_VISIBLE" - Most recent renewal failed due to + // an invalid DNS setup and will be retried. Renewal attempts will + // continue to fail until the certificate domain's DNS configuration is + // fixed. The last successfully provisioned certificate may still be + // serving. + // "FAILED_PERMANENT" - All renewal attempts have been exhausted, + // likely due to an invalid DNS setup. + Status string `json:"status,omitempty"` + + // ForceSendFields is a list of field names (e.g. "LastRenewalTime") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "LastRenewalTime") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *ManagedCertificate) MarshalJSON() ([]byte, error) { + type noMethod ManagedCertificate + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ManualScaling: A service with manual scaling runs continuously, // allowing you to perform complex initialization and rely on the state // of its memory over time. @@ -1995,16 +2052,19 @@ func (s *ManualScaling) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Network: Extra network settings. Only applicable for VM runtimes. +// Network: Extra network settings. Only applicable for App Engine +// flexible environment versions type Network struct { // ForwardedPorts: List of ports, or port pairs, to forward from the - // virtual machine to the application container. + // virtual machine to the application container. Only applicable for App + // Engine flexible environment versions. ForwardedPorts []string `json:"forwardedPorts,omitempty"` - // InstanceTag: Tag to apply to the VM instance during creation. + // InstanceTag: Tag to apply to the VM instance during creation. Only + // applicable for for App Engine flexible environment versions. InstanceTag string `json:"instanceTag,omitempty"` - // Name: Google Cloud Platform network where the virtual machines are + // Name: Google Compute Engine network where the virtual machines are // created. Specify the short name, not the resource path.Defaults to // default. Name string `json:"name,omitempty"` @@ -2022,8 +2082,8 @@ type Network struct { // If the network the VM instance is being created in is a custom Subnet // Mode Network, then the subnetwork_name must be specified and the IP // address is created from the IPCidrRange of the subnetwork.If - // specified, the subnetwork must exist in the same region as the Flex - // app. + // specified, the subnetwork must exist in the same region as the App + // Engine flexible environment application. SubnetworkName string `json:"subnetworkName,omitempty"` // ForceSendFields is a list of field names (e.g. "ForwardedPorts") to @@ -2706,10 +2766,39 @@ func (s *Service) MarshalJSON() ([]byte, error) { // SslSettings: SSL configuration for a DomainMapping resource. type SslSettings struct { // CertificateId: ID of the AuthorizedCertificate resource configuring - // SSL for the application. Clearing this field will remove SSL support. - // Example: 12345. + // SSL for the application. Clearing this field will remove SSL + // support.By default, a managed certificate is automatically created + // for every domain mapping. To omit SSL support or to configure SSL + // manually, specify SslManagementType.MANUAL on a CREATE or UPDATE + // request. You must be authorized to administer the + // AuthorizedCertificate resource to manually map it to a DomainMapping + // resource. Example: 12345. CertificateId string `json:"certificateId,omitempty"` + // PendingManagedCertificateId: ID of the managed AuthorizedCertificate + // resource currently being provisioned, if applicable. Until the new + // managed certificate has been successfully provisioned, the previous + // SSL state will be preserved. Once the provisioning process completes, + // the certificate_id field will reflect the new managed certificate and + // this field will be left empty. To remove SSL support while there is + // still a pending managed certificate, clear the certificate_id field + // with an UpdateDomainMappingRequest.@OutputOnly + PendingManagedCertificateId string `json:"pendingManagedCertificateId,omitempty"` + + // SslManagementType: SSL management type for this domain. If AUTOMATIC, + // a managed certificate is automatically provisioned. If MANUAL, + // certificate_id must be manually specified in order to configure SSL + // for this domain. + // + // Possible values: + // "AUTOMATIC" - SSL support for this domain is configured + // automatically. The mapped SSL certificate will be automatically + // renewed. + // "MANUAL" - SSL support for this domain is configured manually by + // the user. Either the domain has no SSL support or a user-obtained SSL + // certificate has been explictly mapped to this domain. + SslManagementType string `json:"sslManagementType,omitempty"` + // ForceSendFields is a list of field names (e.g. "CertificateId") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -2898,8 +2987,8 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in @@ -3257,7 +3346,8 @@ type Version struct { // apps/myapp/services/default/versions/v1.@OutputOnly Name string `json:"name,omitempty"` - // Network: Extra network settings. Only applicable for VM runtimes. + // Network: Extra network settings. Only applicable for App Engine + // flexible environment versions. Network *Network `json:"network,omitempty"` // NobuildFilesRegex: Files that match this pattern will not be built @@ -4448,6 +4538,17 @@ func (c *AppsAuthorizedCertificatesListCall) PageToken(pageToken string) *AppsAu return c } +// View sets the optional parameter "view": Controls the set of fields +// returned in the LIST response. +// +// Possible values: +// "BASIC_CERTIFICATE" +// "FULL_CERTIFICATE" +func (c *AppsAuthorizedCertificatesListCall) View(view string) *AppsAuthorizedCertificatesListCall { + 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 information. @@ -4567,6 +4668,15 @@ func (c *AppsAuthorizedCertificatesListCall) Do(opts ...googleapi.CallOption) (* // "description": "Continuation token for fetching the next page of results.", // "location": "query", // "type": "string" + // }, + // "view": { + // "description": "Controls the set of fields returned in the LIST response.", + // "enum": [ + // "BASIC_CERTIFICATE", + // "FULL_CERTIFICATE" + // ], + // "location": "query", + // "type": "string" // } // }, // "path": "v1beta/apps/{appsId}/authorizedCertificates", @@ -8717,6 +8827,27 @@ type AppsServicesVersionsPatchCall struct { // ta/apps.services.versions#Version.FIELDS.automatic_scaling): For // Version resources that use automatic scaling and run in the App // Engine standard environment. +// automatic_scaling.min_total_instances +// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1be +// ta/apps.services.versions#Version.FIELDS.automatic_scaling): For +// Version resources that use automatic scaling and run in the App +// Engine Flexible environment. +// automatic_scaling.max_total_instances +// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1be +// ta/apps.services.versions#Version.FIELDS.automatic_scaling): For +// Version resources that use automatic scaling and run in the App +// Engine Flexible environment. +// automatic_scaling.cool_down_period_sec +// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1be +// ta/apps.services.versions#Version.FIELDS.automatic_scaling): For +// Version resources that use automatic scaling and run in the App +// Engine Flexible +// environment. +// automatic_scaling.cpu_utilization.target_utilization +// (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1be +// ta/apps.services.versions#Version.FIELDS.automatic_scaling): For +// Version resources that use automatic scaling and run in the App +// Engine Flexible environment. func (r *AppsServicesVersionsService) Patch(appsId string, servicesId string, versionsId string, version *Version) *AppsServicesVersionsPatchCall { c := &AppsServicesVersionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.appsId = appsId @@ -8821,7 +8952,7 @@ func (c *AppsServicesVersionsPatchCall) Do(opts ...googleapi.CallOption) (*Opera } return ret, nil // { - // "description": "Updates the specified Version resource. You can specify the following fields depending on the App Engine environment and type of scaling that the version resource uses:\nserving_status (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.serving_status): For Version resources that use basic scaling, manual scaling, or run in the App Engine flexible environment.\ninstance_class (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.instance_class): For Version resources that run in the App Engine standard environment.\nautomatic_scaling.min_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.\nautomatic_scaling.max_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.", + // "description": "Updates the specified Version resource. You can specify the following fields depending on the App Engine environment and type of scaling that the version resource uses:\nserving_status (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.serving_status): For Version resources that use basic scaling, manual scaling, or run in the App Engine flexible environment.\ninstance_class (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.instance_class): For Version resources that run in the App Engine standard environment.\nautomatic_scaling.min_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.\nautomatic_scaling.max_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.\nautomatic_scaling.min_total_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine Flexible environment.\nautomatic_scaling.max_total_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine Flexible environment.\nautomatic_scaling.cool_down_period_sec (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine Flexible environment.\nautomatic_scaling.cpu_utilization.target_utilization (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine Flexible environment.", // "flatPath": "v1beta/apps/{appsId}/services/{servicesId}/versions/{versionsId}", // "httpMethod": "PATCH", // "id": "appengine.apps.services.versions.patch", diff --git a/vendor/google.golang.org/api/appengine/v1beta4/appengine-api.json b/vendor/google.golang.org/api/appengine/v1beta4/appengine-api.json index 21606f067..bf3f93f25 100644 --- a/vendor/google.golang.org/api/appengine/v1beta4/appengine-api.json +++ b/vendor/google.golang.org/api/appengine/v1beta4/appengine-api.json @@ -1,24 +1,21 @@ { - "discoveryVersion": "v1", + "id": "appengine:v1beta4", + "documentationLink": "https://cloud.google.com/appengine/docs/admin-api/", + "revision": "20170926", + "title": "Google App Engine Admin API", "ownerName": "Google", + "discoveryVersion": "v1", "resources": { "apps": { "methods": { "patch": { - "request": { - "$ref": "Application" - }, - "description": "Updates the specified Application resource. You can update the following fields:\nauth_domain (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps#Application.FIELDS.auth_domain)\ndefault_cookie_expiration (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps#Application.FIELDS.default_cookie_expiration)", - "httpMethod": "PATCH", - "parameterOrder": [ - "appsId" - ], "response": { "$ref": "Operation" }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "parameterOrder": [ + "appsId" ], + "httpMethod": "PATCH", "parameters": { "appsId": { "location": "path", @@ -27,24 +24,31 @@ "required": true }, "mask": { - "location": "query", "format": "google-fieldmask", "description": "Standard field mask for the set of fields to be updated.", - "type": "string" + "type": "string", + "location": "query" } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "flatPath": "v1beta4/apps/{appsId}", + "id": "appengine.apps.patch", "path": "v1beta4/apps/{appsId}", - "id": "appengine.apps.patch" + "description": "Updates the specified Application resource. You can update the following fields:\nauth_domain (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps#Application.FIELDS.auth_domain)\ndefault_cookie_expiration (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps#Application.FIELDS.default_cookie_expiration)", + "request": { + "$ref": "Application" + } }, "get": { - "httpMethod": "GET", - "parameterOrder": [ - "appsId" - ], "response": { "$ref": "Application" }, + "parameterOrder": [ + "appsId" + ], + "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], @@ -62,84 +66,214 @@ } }, "flatPath": "v1beta4/apps/{appsId}", - "path": "v1beta4/apps/{appsId}", "id": "appengine.apps.get", + "path": "v1beta4/apps/{appsId}", "description": "Gets information about an application." }, "create": { + "path": "v1beta4/apps", + "id": "appengine.apps.create", + "description": "Creates an App Engine application for a Google Cloud Platform project. Required fields:\nid - The ID of the target Cloud Platform project.\nlocation - The region (https://cloud.google.com/appengine/docs/locations) where you want the App Engine application located.For more information about App Engine applications, see Managing Projects, Applications, and Billing (https://cloud.google.com/appengine/docs/python/console/).", + "request": { + "$ref": "Application" + }, + "httpMethod": "POST", + "parameterOrder": [], "response": { "$ref": "Operation" }, - "parameterOrder": [], - "httpMethod": "POST", "parameters": {}, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "flatPath": "v1beta4/apps", - "id": "appengine.apps.create", - "path": "v1beta4/apps", - "description": "Creates an App Engine application for a Google Cloud Platform project. Required fields:\nid - The ID of the target Cloud Platform project.\nlocation - The region (https://cloud.google.com/appengine/docs/locations) where you want the App Engine application located.For more information about App Engine applications, see Managing Projects, Applications, and Billing (https://cloud.google.com/appengine/docs/python/console/).", - "request": { - "$ref": "Application" - } + "flatPath": "v1beta4/apps" } }, "resources": { - "modules": { + "operations": { "methods": { - "delete": { - "flatPath": "v1beta4/apps/{appsId}/modules/{modulesId}", - "path": "v1beta4/apps/{appsId}/modules/{modulesId}", - "id": "appengine.apps.modules.delete", - "description": "Deletes the specified module and all enclosed versions.", - "httpMethod": "DELETE", - "parameterOrder": [ - "appsId", - "modulesId" - ], + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "httpMethod": "GET", "response": { "$ref": "Operation" }, + "parameterOrder": [ + "appsId", + "operationsId" + ], + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], "parameters": { - "modulesId": { - "description": "Part of `name`. See documentation of `appsId`.", + "appsId": { + "description": "Part of `name`. The name of the operation resource.", "type": "string", "required": true, "location": "path" }, + "operationsId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta4/apps/{appsId}/operations/{operationsId}", + "path": "v1beta4/apps/{appsId}/operations/{operationsId}", + "id": "appengine.apps.operations.get" + }, + "list": { + "response": { + "$ref": "ListOperationsResponse" + }, + "parameterOrder": [ + "appsId" + ], + "httpMethod": "GET", + "parameters": { + "pageSize": { + "location": "query", + "format": "int32", + "description": "The standard list page size.", + "type": "integer" + }, + "filter": { + "location": "query", + "description": "The standard list filter.", + "type": "string" + }, + "pageToken": { + "location": "query", + "description": "The standard list page token.", + "type": "string" + }, "appsId": { "location": "path", - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/modules/default.", + "description": "Part of `name`. The name of the operation's parent resource.", "type": "string", "required": true } }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "patch": { + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1beta4/apps/{appsId}/operations", + "id": "appengine.apps.operations.list", + "path": "v1beta4/apps/{appsId}/operations", + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: the name binding allows API services to override the binding to use different resource name schemes, such as users/*/operations. To override the binding, API services can add a binding such as \"/v1/{name=users/*}/operations\" to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id." + } + } + }, + "locations": { + "methods": { + "get": { "response": { - "$ref": "Operation" + "$ref": "Location" }, + "httpMethod": "GET", "parameterOrder": [ "appsId", - "modulesId" + "locationsId" + ], + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" ], - "httpMethod": "PATCH", "parameters": { "appsId": { - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/modules/default.", + "description": "Part of `name`. Resource name for the location.", "type": "string", "required": true, "location": "path" }, - "migrateTraffic": { - "description": "Set to true to gradually shift traffic to one or more versions that you specify. By default, traffic is shifted immediately. For gradual traffic migration, the target versions must be located within instances that are configured for both warmup requests (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#inboundservicetype) and automatic scaling (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#automaticscaling). You must specify the shardBy (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules#shardby) field in the Module resource. Gradual traffic migration is not supported in the App Engine flexible environment. For examples, see Migrating and Splitting Traffic (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic).", - "type": "boolean", + "locationsId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta4/apps/{appsId}/locations/{locationsId}", + "id": "appengine.apps.locations.get", + "path": "v1beta4/apps/{appsId}/locations/{locationsId}", + "description": "Get information about a location." + }, + "list": { + "flatPath": "v1beta4/apps/{appsId}/locations", + "id": "appengine.apps.locations.list", + "path": "v1beta4/apps/{appsId}/locations", + "description": "Lists information about the supported locations for this service.", + "response": { + "$ref": "ListLocationsResponse" + }, + "parameterOrder": [ + "appsId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "type": "string", "location": "query" }, + "pageToken": { + "location": "query", + "description": "The standard list page token.", + "type": "string" + }, + "appsId": { + "location": "path", + "description": "Part of `name`. The resource that owns the locations collection, if applicable.", + "type": "string", + "required": true + }, + "pageSize": { + "format": "int32", + "description": "The standard list page size.", + "type": "integer", + "location": "query" + } + } + } + } + }, + "modules": { + "methods": { + "patch": { + "httpMethod": "PATCH", + "parameterOrder": [ + "appsId", + "modulesId" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/modules/default.", + "type": "string", + "required": true + }, + "migrateTraffic": { + "location": "query", + "description": "Set to true to gradually shift traffic to one or more versions that you specify. By default, traffic is shifted immediately. For gradual traffic migration, the target versions must be located within instances that are configured for both warmup requests (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#inboundservicetype) and automatic scaling (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#automaticscaling). You must specify the shardBy (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules#shardby) field in the Module resource. Gradual traffic migration is not supported in the App Engine flexible environment. For examples, see Migrating and Splitting Traffic (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic).", + "type": "boolean" + }, "mask": { "format": "google-fieldmask", "description": "Standard field mask for the set of fields to be updated.", @@ -153,67 +287,95 @@ "location": "path" } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "flatPath": "v1beta4/apps/{appsId}/modules/{modulesId}", - "id": "appengine.apps.modules.patch", "path": "v1beta4/apps/{appsId}/modules/{modulesId}", - "description": "Updates the configuration of the specified module.", + "id": "appengine.apps.modules.patch", "request": { "$ref": "Module" - } + }, + "description": "Updates the configuration of the specified module." }, "list": { - "description": "Lists all the modules in the application.", - "httpMethod": "GET", - "parameterOrder": [ - "appsId" - ], "response": { "$ref": "ListModulesResponse" }, - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" + "parameterOrder": [ + "appsId" ], + "httpMethod": "GET", "parameters": { - "pageToken": { - "type": "string", + "pageSize": { "location": "query", - "description": "Continuation token for fetching the next page of results." + "format": "int32", + "description": "Maximum results to return per page.", + "type": "integer" + }, + "pageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string", + "location": "query" }, "appsId": { "location": "path", "description": "Part of `name`. Name of the resource requested. Example: apps/myapp.", "type": "string", "required": true - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "Maximum results to return per page.", - "type": "integer" } }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], "flatPath": "v1beta4/apps/{appsId}/modules", + "id": "appengine.apps.modules.list", "path": "v1beta4/apps/{appsId}/modules", - "id": "appengine.apps.modules.list" + "description": "Lists all the modules in the application." }, "get": { + "response": { + "$ref": "Module" + }, + "parameterOrder": [ + "appsId", + "modulesId" + ], + "httpMethod": "GET", + "parameters": { + "modulesId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + }, + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/modules/default.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1beta4/apps/{appsId}/modules/{modulesId}", + "id": "appengine.apps.modules.get", + "path": "v1beta4/apps/{appsId}/modules/{modulesId}", + "description": "Gets the current configuration of the specified module." + }, + "delete": { + "httpMethod": "DELETE", "parameterOrder": [ "appsId", "modulesId" ], "response": { - "$ref": "Module" + "$ref": "Operation" }, - "httpMethod": "GET", "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" + "https://www.googleapis.com/auth/cloud-platform" ], "parameters": { "appsId": { @@ -223,22 +385,26 @@ "required": true }, "modulesId": { + "location": "path", "description": "Part of `name`. See documentation of `appsId`.", "type": "string", - "required": true, - "location": "path" + "required": true } }, "flatPath": "v1beta4/apps/{appsId}/modules/{modulesId}", - "id": "appengine.apps.modules.get", "path": "v1beta4/apps/{appsId}/modules/{modulesId}", - "description": "Gets the current configuration of the specified module." + "id": "appengine.apps.modules.delete", + "description": "Deletes the specified module and all enclosed versions." } }, "resources": { "versions": { "methods": { - "delete": { + "patch": { + "description": "Updates the specified Version resource. You can specify the following fields depending on the App Engine environment and type of scaling that the version resource uses:\nserving_status (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#Version.FIELDS.serving_status): For Version resources that use basic scaling, manual scaling, or run in the App Engine flexible environment.\ninstance_class (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#Version.FIELDS.instance_class): For Version resources that run in the App Engine standard environment.\nautomatic_scaling.min_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.\nautomatic_scaling.max_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.", + "request": { + "$ref": "Version" + }, "response": { "$ref": "Operation" }, @@ -247,13 +413,13 @@ "modulesId", "versionsId" ], - "httpMethod": "DELETE", + "httpMethod": "PATCH", "parameters": { - "appsId": { - "location": "path", - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/modules/default/versions/v1.", - "type": "string", - "required": true + "mask": { + "location": "query", + "format": "google-fieldmask", + "description": "Standard field mask for the set of fields to be updated.", + "type": "string" }, "versionsId": { "location": "path", @@ -266,87 +432,35 @@ "type": "string", "required": true, "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}", - "id": "appengine.apps.modules.versions.delete", - "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}", - "description": "Deletes an existing version." - }, - "patch": { - "httpMethod": "PATCH", - "parameterOrder": [ - "appsId", - "modulesId", - "versionsId" - ], - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { + }, "appsId": { - "location": "path", "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/modules/default/versions/1.", - "type": "string", - "required": true - }, - "mask": { - "location": "query", - "format": "google-fieldmask", - "description": "Standard field mask for the set of fields to be updated.", - "type": "string" - }, - "versionsId": { "type": "string", "required": true, - "location": "path", - "description": "Part of `name`. See documentation of `appsId`." - }, - "modulesId": { - "type": "string", - "required": true, - "location": "path", - "description": "Part of `name`. See documentation of `appsId`." + "location": "path" } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "flatPath": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}", - "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}", "id": "appengine.apps.modules.versions.patch", - "request": { - "$ref": "Version" - }, - "description": "Updates the specified Version resource. You can specify the following fields depending on the App Engine environment and type of scaling that the version resource uses:\nserving_status (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#Version.FIELDS.serving_status): For Version resources that use basic scaling, manual scaling, or run in the App Engine flexible environment.\ninstance_class (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#Version.FIELDS.instance_class): For Version resources that run in the App Engine standard environment.\nautomatic_scaling.min_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.\nautomatic_scaling.max_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment." + "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}" }, "list": { - "id": "appengine.apps.modules.versions.list", + "flatPath": "v1beta4/apps/{appsId}/modules/{modulesId}/versions", "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions", + "id": "appengine.apps.modules.versions.list", "description": "Lists the versions of a module.", - "response": { - "$ref": "ListVersionsResponse" - }, + "httpMethod": "GET", "parameterOrder": [ "appsId", "modulesId" ], - "httpMethod": "GET", + "response": { + "$ref": "ListVersionsResponse" + }, "parameters": { - "pageToken": { - "description": "Continuation token for fetching the next page of results.", - "type": "string", - "location": "query" - }, - "appsId": { - "type": "string", - "required": true, - "location": "path", - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/modules/default." - }, "pageSize": { "location": "query", "format": "int32", @@ -367,55 +481,63 @@ "description": "Part of `name`. See documentation of `appsId`.", "type": "string", "required": true + }, + "pageToken": { + "location": "query", + "description": "Continuation token for fetching the next page of results.", + "type": "string" + }, + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/modules/default.", + "type": "string", + "required": true } }, "scopes": [ "https://www.googleapis.com/auth/appengine.admin", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "flatPath": "v1beta4/apps/{appsId}/modules/{modulesId}/versions" + ] }, "get": { - "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}", - "id": "appengine.apps.modules.versions.get", "description": "Gets the specified Version resource. By default, only a BASIC_VIEW will be returned. Specify the FULL_VIEW parameter to get the full resource.", - "httpMethod": "GET", + "response": { + "$ref": "Version" + }, "parameterOrder": [ "appsId", "modulesId", "versionsId" ], - "response": { - "$ref": "Version" - }, + "httpMethod": "GET", "parameters": { - "appsId": { - "location": "path", - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/modules/default/versions/v1.", - "type": "string", - "required": true - }, "view": { + "location": "query", "enum": [ "BASIC", "FULL" ], "description": "Controls the set of fields returned in the Get response.", - "type": "string", - "location": "query" + "type": "string" }, "versionsId": { - "type": "string", - "required": true, - "location": "path", - "description": "Part of `name`. See documentation of `appsId`." - }, - "modulesId": { "location": "path", "description": "Part of `name`. See documentation of `appsId`.", "type": "string", "required": true + }, + "modulesId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + }, + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/modules/default/versions/v1.", + "type": "string", + "required": true } }, "scopes": [ @@ -423,13 +545,11 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ], - "flatPath": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}" + "flatPath": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}", + "id": "appengine.apps.modules.versions.get", + "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}" }, "create": { - "description": "Deploys code and resource files to a new version.", - "request": { - "$ref": "Version" - }, "httpMethod": "POST", "parameterOrder": [ "appsId", @@ -446,10 +566,10 @@ "required": true }, "appsId": { + "location": "path", "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/modules/default.", "type": "string", - "required": true, - "location": "path" + "required": true } }, "scopes": [ @@ -457,62 +577,55 @@ ], "flatPath": "v1beta4/apps/{appsId}/modules/{modulesId}/versions", "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions", - "id": "appengine.apps.modules.versions.create" + "id": "appengine.apps.modules.versions.create", + "description": "Deploys code and resource files to a new version.", + "request": { + "$ref": "Version" + } + }, + "delete": { + "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}", + "id": "appengine.apps.modules.versions.delete", + "description": "Deletes an existing version.", + "httpMethod": "DELETE", + "parameterOrder": [ + "appsId", + "modulesId", + "versionsId" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "versionsId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + }, + "modulesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/modules/default/versions/v1.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}" } }, "resources": { "instances": { "methods": { - "delete": { - "parameters": { - "versionsId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - }, - "modulesId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - }, - "instancesId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - }, - "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/modules/default/versions/v1/instances/instance-1.", - "type": "string", - "required": true, - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}/instances/{instancesId}", - "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}/instances/{instancesId}", - "id": "appengine.apps.modules.versions.instances.delete", - "description": "Stops a running instance.", - "httpMethod": "DELETE", - "parameterOrder": [ - "appsId", - "modulesId", - "versionsId", - "instancesId" - ], - "response": { - "$ref": "Operation" - } - }, "list": { - "flatPath": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}/instances", - "id": "appengine.apps.modules.versions.instances.list", - "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}/instances", - "description": "Lists the instances of a version.Tip: To aggregate details about instances over time, see the Stackdriver Monitoring API (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list).", "response": { "$ref": "ListInstancesResponse" }, @@ -522,18 +635,12 @@ "versionsId" ], "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], "parameters": { - "pageToken": { - "location": "query", - "description": "Continuation token for fetching the next page of results.", - "type": "string" - }, - "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/modules/default/versions/v1.", - "type": "string", - "required": true, - "location": "path" - }, "pageSize": { "location": "query", "format": "int32", @@ -547,23 +654,31 @@ "required": true }, "modulesId": { + "location": "path", "description": "Part of `name`. See documentation of `appsId`.", "type": "string", + "required": true + }, + "pageToken": { + "location": "query", + "description": "Continuation token for fetching the next page of results.", + "type": "string" + }, + "appsId": { + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/modules/default/versions/v1.", + "type": "string", "required": true, "location": "path" } }, - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ] + "flatPath": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}/instances", + "id": "appengine.apps.modules.versions.instances.list", + "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}/instances", + "description": "Lists the instances of a version.Tip: To aggregate details about instances over time, see the Stackdriver Monitoring API (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list)." }, "get": { - "flatPath": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}/instances/{instancesId}", - "id": "appengine.apps.modules.versions.instances.get", - "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}/instances/{instancesId}", "description": "Gets instance information.", + "httpMethod": "GET", "response": { "$ref": "Instance" }, @@ -573,7 +688,6 @@ "versionsId", "instancesId" ], - "httpMethod": "GET", "parameters": { "instancesId": { "location": "path", @@ -582,38 +696,83 @@ "required": true }, "appsId": { + "location": "path", "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/modules/default/versions/v1/instances/instance-1.", "type": "string", + "required": true + }, + "versionsId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", "required": true, "location": "path" }, - "versionsId": { + "modulesId": { "location": "path", "description": "Part of `name`. See documentation of `appsId`.", "type": "string", "required": true - }, - "modulesId": { - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true, - "location": "path" } }, "scopes": [ "https://www.googleapis.com/auth/appengine.admin", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" - ] + ], + "flatPath": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}/instances/{instancesId}", + "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}/instances/{instancesId}", + "id": "appengine.apps.modules.versions.instances.get" }, "debug": { + "httpMethod": "POST", + "parameterOrder": [ + "appsId", + "modulesId", + "versionsId", + "instancesId" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "versionsId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + }, + "modulesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "instancesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/modules/default/versions/v1/instances/instance-1.", + "type": "string", + "required": true + } + }, "flatPath": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}/instances/{instancesId}:debug", - "id": "appengine.apps.modules.versions.instances.debug", "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}/instances/{instancesId}:debug", + "id": "appengine.apps.modules.versions.instances.debug", "request": { "$ref": "DebugInstanceRequest" }, - "description": "Enables debugging on a VM instance. This allows you to use the SSH command to connect to the virtual machine where the instance lives. While in \"debug mode\", the instance continues to serve live traffic. You should delete the instance when you are done debugging and then allow the system to take over and determine if another instance should be started.Only applicable for instances in App Engine flexible environment.", + "description": "Enables debugging on a VM instance. This allows you to use the SSH command to connect to the virtual machine where the instance lives. While in \"debug mode\", the instance continues to serve live traffic. You should delete the instance when you are done debugging and then allow the system to take over and determine if another instance should be started.Only applicable for instances in App Engine flexible environment." + }, + "delete": { + "description": "Stops a running instance.", "response": { "$ref": "Operation" }, @@ -623,23 +782,11 @@ "versionsId", "instancesId" ], - "httpMethod": "POST", + "httpMethod": "DELETE", "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], "parameters": { - "versionsId": { - "type": "string", - "required": true, - "location": "path", - "description": "Part of `name`. See documentation of `appsId`." - }, - "modulesId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - }, "instancesId": { "description": "Part of `name`. See documentation of `appsId`.", "type": "string", @@ -651,181 +798,64 @@ "type": "string", "required": true, "location": "path" + }, + "versionsId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "modulesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true } - } + }, + "flatPath": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}/instances/{instancesId}", + "id": "appengine.apps.modules.versions.instances.delete", + "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}/instances/{instancesId}" } } } } } } - }, - "operations": { - "methods": { - "get": { - "flatPath": "v1beta4/apps/{appsId}/operations/{operationsId}", - "id": "appengine.apps.operations.get", - "path": "v1beta4/apps/{appsId}/operations/{operationsId}", - "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "appsId", - "operationsId" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "appsId": { - "location": "path", - "description": "Part of `name`. The name of the operation resource.", - "type": "string", - "required": true - }, - "operationsId": { - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true, - "location": "path" - } - } - }, - "list": { - "parameters": { - "filter": { - "location": "query", - "description": "The standard list filter.", - "type": "string" - }, - "pageToken": { - "description": "The standard list page token.", - "type": "string", - "location": "query" - }, - "appsId": { - "description": "Part of `name`. The name of the operation's parent resource.", - "type": "string", - "required": true, - "location": "path" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "The standard list page size.", - "type": "integer" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "flatPath": "v1beta4/apps/{appsId}/operations", - "path": "v1beta4/apps/{appsId}/operations", - "id": "appengine.apps.operations.list", - "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: the name binding allows API services to override the binding to use different resource name schemes, such as users/*/operations. To override the binding, API services can add a binding such as \"/v1/{name=users/*}/operations\" to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.", - "httpMethod": "GET", - "parameterOrder": [ - "appsId" - ], - "response": { - "$ref": "ListOperationsResponse" - } - } - } - }, - "locations": { - "methods": { - "get": { - "response": { - "$ref": "Location" - }, - "parameterOrder": [ - "appsId", - "locationsId" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "appsId": { - "location": "path", - "description": "Part of `name`. Resource name for the location.", - "type": "string", - "required": true - }, - "locationsId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - } - }, - "flatPath": "v1beta4/apps/{appsId}/locations/{locationsId}", - "id": "appengine.apps.locations.get", - "path": "v1beta4/apps/{appsId}/locations/{locationsId}", - "description": "Get information about a location." - }, - "list": { - "description": "Lists information about the supported locations for this service.", - "response": { - "$ref": "ListLocationsResponse" - }, - "parameterOrder": [ - "appsId" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "filter": { - "location": "query", - "description": "The standard list filter.", - "type": "string" - }, - "pageToken": { - "location": "query", - "description": "The standard list page token.", - "type": "string" - }, - "appsId": { - "location": "path", - "description": "Part of `name`. The resource that owns the locations collection, if applicable.", - "type": "string", - "required": true - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "The standard list page size.", - "type": "integer" - } - }, - "flatPath": "v1beta4/apps/{appsId}/locations", - "id": "appengine.apps.locations.list", - "path": "v1beta4/apps/{appsId}/locations" - } - } } } } }, "parameters": { - "quotaUser": { + "alt": { + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query" + }, + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, + "key": { "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters." + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "quotaUser": { + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string" }, "pp": { "description": "Pretty-print response.", @@ -839,9 +869,9 @@ "type": "string" }, "oauth_token": { + "description": "OAuth 2.0 token for the current user.", "type": "string", - "location": "query", - "description": "OAuth 2.0 token for the current user." + "location": "query" }, "upload_protocol": { "location": "query", @@ -849,563 +879,41 @@ "type": "string" }, "prettyPrint": { - "default": "true", - "type": "boolean", "location": "query", - "description": "Returns response with indentations and line breaks." + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" }, "uploadType": { - "location": "query", "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string" - }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", "type": "string", "location": "query" }, - "callback": { + "fields": { "location": "query", - "description": "JSONP", + "description": "Selector specifying which fields to include in a partial response.", "type": "string" }, "$.xgafv": { + "enum": [ + "1", + "2" + ], "description": "V1 error format.", "type": "string", "enumDescriptions": [ "v1 error format", "v2 error format" ], - "location": "query", - "enum": [ - "1", - "2" - ] + "location": "query" }, - "alt": { - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], + "callback": { + "description": "JSONP", "type": "string", - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query", - "description": "Data format for response." - }, - "access_token": { - "location": "query", - "description": "OAuth access token.", - "type": "string" - }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" + "location": "query" } }, "schemas": { - "UrlMap": { - "type": "object", - "properties": { - "redirectHttpResponseCode": { - "type": "string", - "enumDescriptions": [ - "Not specified. 302 is assumed.", - "301 Moved Permanently code.", - "302 Moved Temporarily code.", - "303 See Other code.", - "307 Temporary Redirect code." - ], - "enum": [ - "REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED", - "REDIRECT_HTTP_RESPONSE_CODE_301", - "REDIRECT_HTTP_RESPONSE_CODE_302", - "REDIRECT_HTTP_RESPONSE_CODE_303", - "REDIRECT_HTTP_RESPONSE_CODE_307" - ], - "description": "30x code to use when performing redirects for the secure field. Defaults to 302." - }, - "securityLevel": { - "enumDescriptions": [ - "Not specified.", - "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used, and respond accordingly.", - "Requests for a URL that match this handler that use HTTPS are automatically redirected to the HTTP equivalent URL.", - "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used and respond accordingly.", - "Requests for a URL that match this handler that do not use HTTPS are automatically redirected to the HTTPS URL with the same path. Query parameters are reserved for the redirect." - ], - "enum": [ - "SECURE_UNSPECIFIED", - "SECURE_DEFAULT", - "SECURE_NEVER", - "SECURE_OPTIONAL", - "SECURE_ALWAYS" - ], - "description": "Security (HTTPS) enforcement for this URL.", - "type": "string" - }, - "authFailAction": { - "enumDescriptions": [ - "Not specified. AUTH_FAIL_ACTION_REDIRECT is assumed.", - "Redirects user to \"accounts.google.com\". The user is redirected back to the application URL after signing in or creating an account.", - "Rejects request with a 401 HTTP status code and an error message." - ], - "enum": [ - "AUTH_FAIL_ACTION_UNSPECIFIED", - "AUTH_FAIL_ACTION_REDIRECT", - "AUTH_FAIL_ACTION_UNAUTHORIZED" - ], - "description": "Action to take when users access resources that require authentication. Defaults to redirect.", - "type": "string" - }, - "script": { - "$ref": "ScriptHandler", - "description": "Executes a script to handle the request that matches this URL pattern." - }, - "urlRegex": { - "description": "A URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path.", - "type": "string" - }, - "login": { - "description": "Level of login required to access this resource.", - "type": "string", - "enumDescriptions": [ - "Not specified. LOGIN_OPTIONAL is assumed.", - "Does not require that the user is signed in.", - "If the user is not signed in, the auth_fail_action is taken. In addition, if the user is not an administrator for the application, they are given an error message regardless of auth_fail_action. If the user is an administrator, the handler proceeds.", - "If the user has signed in, the handler proceeds normally. Otherwise, the auth_fail_action is taken." - ], - "enum": [ - "LOGIN_UNSPECIFIED", - "LOGIN_OPTIONAL", - "LOGIN_ADMIN", - "LOGIN_REQUIRED" - ] - }, - "apiEndpoint": { - "$ref": "ApiEndpointHandler", - "description": "Uses API Endpoints to handle requests." - }, - "staticDirectory": { - "description": "Serves the entire contents of a directory as static files.This attribute is deprecated. You can mimic the behavior of static directories using static files.", - "$ref": "StaticDirectoryHandler" - }, - "staticFiles": { - "$ref": "StaticFilesHandler", - "description": "Returns the contents of a file, such as an image, as the response." - } - }, - "id": "UrlMap", - "description": "URL pattern and description of how the URL should be handled. App Engine can handle URLs by executing application code, or by serving static files uploaded with the version, such as images, CSS, or JavaScript." - }, - "ApiConfigHandler": { - "type": "object", - "properties": { - "url": { - "description": "URL to serve the endpoint at.", - "type": "string" - }, - "securityLevel": { - "enum": [ - "SECURE_UNSPECIFIED", - "SECURE_DEFAULT", - "SECURE_NEVER", - "SECURE_OPTIONAL", - "SECURE_ALWAYS" - ], - "description": "Security (HTTPS) enforcement for this URL.", - "type": "string", - "enumDescriptions": [ - "Not specified.", - "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used, and respond accordingly.", - "Requests for a URL that match this handler that use HTTPS are automatically redirected to the HTTP equivalent URL.", - "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used and respond accordingly.", - "Requests for a URL that match this handler that do not use HTTPS are automatically redirected to the HTTPS URL with the same path. Query parameters are reserved for the redirect." - ] - }, - "authFailAction": { - "description": "Action to take when users access resources that require authentication. Defaults to redirect.", - "type": "string", - "enumDescriptions": [ - "Not specified. AUTH_FAIL_ACTION_REDIRECT is assumed.", - "Redirects user to \"accounts.google.com\". The user is redirected back to the application URL after signing in or creating an account.", - "Rejects request with a 401 HTTP status code and an error message." - ], - "enum": [ - "AUTH_FAIL_ACTION_UNSPECIFIED", - "AUTH_FAIL_ACTION_REDIRECT", - "AUTH_FAIL_ACTION_UNAUTHORIZED" - ] - }, - "script": { - "description": "Path to the script from the application root directory.", - "type": "string" - }, - "login": { - "enumDescriptions": [ - "Not specified. LOGIN_OPTIONAL is assumed.", - "Does not require that the user is signed in.", - "If the user is not signed in, the auth_fail_action is taken. In addition, if the user is not an administrator for the application, they are given an error message regardless of auth_fail_action. If the user is an administrator, the handler proceeds.", - "If the user has signed in, the handler proceeds normally. Otherwise, the auth_fail_action is taken." - ], - "enum": [ - "LOGIN_UNSPECIFIED", - "LOGIN_OPTIONAL", - "LOGIN_ADMIN", - "LOGIN_REQUIRED" - ], - "description": "Level of login required to access this resource. Defaults to optional.", - "type": "string" - } - }, - "id": "ApiConfigHandler", - "description": "Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/endpoints/) configuration for API handlers." - }, - "Operation": { - "description": "This resource represents a long-running operation that is the result of a network API call.", - "type": "object", - "properties": { - "done": { - "description": "If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.", - "type": "boolean" - }, - "response": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.", - "type": "object" - }, - "name": { - "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should have the format of operations/some/unique/name.", - "type": "string" - }, - "error": { - "$ref": "Status", - "description": "The error result of the operation in case of failure or cancellation." - }, - "metadata": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", - "type": "object" - } - }, - "id": "Operation" - }, - "FileInfo": { - "description": "Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately.", - "type": "object", - "properties": { - "sha1Sum": { - "description": "The SHA1 hash of the file, in hex.", - "type": "string" - }, - "mimeType": { - "description": "The MIME type of the file.Defaults to the value from Google Cloud Storage.", - "type": "string" - }, - "sourceUrl": { - "type": "string", - "description": "URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\u003cbucket\u003e/\u003cobject\u003e'." - } - }, - "id": "FileInfo" - }, - "StaticFilesHandler": { - "properties": { - "path": { - "description": "Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern.", - "type": "string" - }, - "mimeType": { - "type": "string", - "description": "MIME type used to serve all files served by this handler. Defaults to file-specific MIME types, which are derived from each file's filename extension." - }, - "requireMatchingFile": { - "description": "Whether this handler should match the request if the file referenced by the handler does not exist.", - "type": "boolean" - }, - "expiration": { - "format": "google-duration", - "description": "Time a static file served by this handler should be cached.", - "type": "string" - }, - "applicationReadable": { - "description": "Whether files should also be uploaded as code data. By default, files declared in static file handlers are uploaded as static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged against both your code and static data storage resource quotas.", - "type": "boolean" - }, - "httpHeaders": { - "additionalProperties": { - "type": "string" - }, - "description": "HTTP headers to use for all responses from these URLs.", - "type": "object" - }, - "uploadPathRegex": { - "description": "Regular expression that matches the file paths for all files that should be referenced by this handler.", - "type": "string" - } - }, - "id": "StaticFilesHandler", - "description": "Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them.", - "type": "object" - }, - "ScriptHandler": { - "properties": { - "scriptPath": { - "description": "Path to the script from the application root directory.", - "type": "string" - } - }, - "id": "ScriptHandler", - "description": "Executes a script to handle the request that matches the URL pattern.", - "type": "object" - }, - "DiskUtilization": { - "description": "Target scaling by disk usage. Only applicable for VM runtimes.", - "type": "object", - "properties": { - "targetReadBytesPerSec": { - "format": "int32", - "description": "Target bytes read per second.", - "type": "integer" - }, - "targetWriteOpsPerSec": { - "format": "int32", - "description": "Target ops written per second.", - "type": "integer" - }, - "targetWriteBytesPerSec": { - "format": "int32", - "description": "Target bytes written per second.", - "type": "integer" - }, - "targetReadOpsPerSec": { - "format": "int32", - "description": "Target ops read per second.", - "type": "integer" - } - }, - "id": "DiskUtilization" - }, - "BasicScaling": { - "description": "A module with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity.", - "type": "object", - "properties": { - "maxInstances": { - "format": "int32", - "description": "Maximum number of instances to create for this version.", - "type": "integer" - }, - "idleTimeout": { - "type": "string", - "format": "google-duration", - "description": "Duration of time after the last request that an instance must wait before the instance is shut down." - } - }, - "id": "BasicScaling" - }, - "OperationMetadataExperimental": { - "description": "Metadata for the given google.longrunning.Operation.", - "type": "object", - "properties": { - "target": { - "description": "Name of the resource that this operation is acting on. Example: apps/myapp/customDomains/example.com.@OutputOnly", - "type": "string" - }, - "user": { - "description": "User who requested this operation.@OutputOnly", - "type": "string" - }, - "method": { - "description": "API method that initiated this operation. Example: google.appengine.experimental.CustomDomains.CreateCustomDomain.@OutputOnly", - "type": "string" - }, - "insertTime": { - "format": "google-datetime", - "description": "Time that this operation was created.@OutputOnly", - "type": "string" - }, - "endTime": { - "format": "google-datetime", - "description": "Time that this operation completed.@OutputOnly", - "type": "string" - } - }, - "id": "OperationMetadataExperimental" - }, - "CpuUtilization": { - "description": "Target scaling by CPU usage.", - "type": "object", - "properties": { - "aggregationWindowLength": { - "format": "google-duration", - "description": "Period of time over which CPU utilization is calculated.", - "type": "string" - }, - "targetUtilization": { - "format": "double", - "description": "Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1.", - "type": "number" - } - }, - "id": "CpuUtilization" - }, - "Status": { - "description": "The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). The error model is designed to be:\nSimple to use and understand for most users\nFlexible enough to meet unexpected needsOverviewThe Status message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers understand and resolve the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package google.rpc that can be used for common error conditions.Language mappingThe Status message is the logical representation of the error model, but it is not necessarily the actual wire format. When the Status message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C.Other usesThe error model and the Status message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments.Example uses of this error model include:\nPartial errors. If a service needs to return partial errors to the client, it may embed the Status in the normal response to indicate the partial errors.\nWorkflow errors. A typical workflow has multiple steps. Each step may have a Status message for error reporting.\nBatch operations. If a client uses batch request and batch response, the Status message should be used directly inside batch response, one for each error sub-response.\nAsynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the Status message.\nLogging. If some API errors are stored in logs, the message Status could be used directly after any stripping needed for security/privacy reasons.", - "type": "object", - "properties": { - "message": { - "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", - "type": "string" - }, - "details": { - "description": "A list of messages that carry the error details. There will be a common set of message types for APIs to use.", - "items": { - "type": "object", - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - } - }, - "type": "array" - }, - "code": { - "type": "integer", - "format": "int32", - "description": "The status code, which should be an enum value of google.rpc.Code." - } - }, - "id": "Status" - }, - "IdentityAwareProxy": { - "type": "object", - "properties": { - "enabled": { - "description": "Whether the serving infrastructure will authenticate and authorize all incoming requests.If true, the oauth2_client_id and oauth2_client_secret fields must be non-empty.", - "type": "boolean" - }, - "oauth2ClientSecret": { - "description": "For security reasons, this value cannot be retrieved via the API. Instead, the SHA-256 hash of the value is returned in the oauth2_client_secret_sha256 field.@InputOnly", - "type": "string" - }, - "oauth2ClientId": { - "type": "string", - "description": "OAuth2 client ID to use for the authentication flow." - }, - "oauth2ClientSecretSha256": { - "description": "Hex-encoded SHA-256 hash of the client secret.@OutputOnly", - "type": "string" - } - }, - "id": "IdentityAwareProxy", - "description": "Identity-Aware Proxy" - }, - "ManualScaling": { - "description": "A module with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time.", - "type": "object", - "properties": { - "instances": { - "format": "int32", - "description": "Number of instances to assign to the module at the start. This number can later be altered by using the Modules API (https://cloud.google.com/appengine/docs/python/modules/functions) set_num_instances() function.", - "type": "integer" - } - }, - "id": "ManualScaling" - }, - "TrafficSplit": { - "description": "Traffic routing configuration for versions within a single module. Traffic splits define how traffic directed to the module is assigned to versions.", - "type": "object", - "properties": { - "allocations": { - "description": "Mapping from version IDs within the module to fractional (0.000, 1] allocations of traffic for that version. Each version can be specified only once, but some versions in the module may not have any traffic allocation. Modules that have traffic allocated cannot be deleted until either the module is deleted or their traffic allocation is removed. Allocations must sum to 1. Up to two decimal place precision is supported for IP-based splits and up to three decimal places is supported for cookie-based splits.", - "type": "object", - "additionalProperties": { - "type": "number", - "format": "double" - } - }, - "shardBy": { - "enum": [ - "UNSPECIFIED", - "COOKIE", - "IP" - ], - "description": "Mechanism used to determine which version a request is sent to. The traffic selection algorithm will be stable for either type until allocations are changed.", - "type": "string", - "enumDescriptions": [ - "Diversion method unspecified.", - "Diversion based on a specially named cookie, \"GOOGAPPUID.\" The cookie must be set by the application itself or else no diversion will occur.", - "Diversion based on applying the modulus operation to a fingerprint of the IP address." - ] - } - }, - "id": "TrafficSplit" - }, - "LocationMetadata": { - "description": "Metadata for the given google.cloud.location.Location.", - "type": "object", - "properties": { - "standardEnvironmentAvailable": { - "description": "App Engine Standard Environment is available in the given location.@OutputOnly", - "type": "boolean" - }, - "flexibleEnvironmentAvailable": { - "description": "App Engine Flexible Environment is available in the given location.@OutputOnly", - "type": "boolean" - } - }, - "id": "LocationMetadata" - }, - "OperationMetadataV1Beta": { - "description": "Metadata for the given google.longrunning.Operation.", - "type": "object", - "properties": { - "method": { - "description": "API method that initiated this operation. Example: google.appengine.v1beta.Versions.CreateVersion.@OutputOnly", - "type": "string" - }, - "endTime": { - "format": "google-datetime", - "description": "Time that this operation completed.@OutputOnly", - "type": "string" - }, - "warning": { - "description": "Durable messages that persist on every operation poll. @OutputOnly", - "items": { - "type": "string" - }, - "type": "array" - }, - "insertTime": { - "format": "google-datetime", - "description": "Time that this operation was created.@OutputOnly", - "type": "string" - }, - "user": { - "description": "User who requested this operation.@OutputOnly", - "type": "string" - }, - "target": { - "description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", - "type": "string" - }, - "ephemeralMessage": { - "description": "Ephemeral message that may change every time the operation is polled. @OutputOnly", - "type": "string" - } - }, - "id": "OperationMetadataV1Beta" - }, "ListModulesResponse": { "description": "Response message for Modules.ListModules.", "type": "object", @@ -1428,6 +936,13 @@ "description": "Code and application artifacts used to deploy a version to App Engine.", "type": "object", "properties": { + "files": { + "additionalProperties": { + "$ref": "FileInfo" + }, + "description": "Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call.", + "type": "object" + }, "sourceReferences": { "description": "Origin of the source code for this deployment. There can be more than one source reference per version if source code is distributed among multiple repositories.", "items": { @@ -1436,24 +951,21 @@ "type": "array" }, "container": { - "$ref": "ContainerInfo", - "description": "The Docker image for the container that runs the version. Only applicable for instances running in the App Engine flexible environment." - }, - "files": { - "additionalProperties": { - "$ref": "FileInfo" - }, - "description": "Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call.", - "type": "object" + "description": "The Docker image for the container that runs the version. Only applicable for instances running in the App Engine flexible environment.", + "$ref": "ContainerInfo" } }, "id": "Deployment" }, "Resources": { - "id": "Resources", - "description": "Machine resources for a version.", - "type": "object", "properties": { + "volumes": { + "description": "User specified volumes.", + "items": { + "$ref": "Volume" + }, + "type": "array" + }, "diskGb": { "format": "double", "description": "Disk size (GB) needed.", @@ -1468,18 +980,13 @@ "format": "double", "description": "Number of CPU cores needed.", "type": "number" - }, - "volumes": { - "description": "User specified volumes.", - "items": { - "$ref": "Volume" - }, - "type": "array" } - } + }, + "id": "Resources", + "description": "Machine resources for a version.", + "type": "object" }, "Volume": { - "id": "Volume", "description": "Volumes mounted within the app container. Only applicable for VM runtimes.", "type": "object", "properties": { @@ -1496,33 +1003,35 @@ "description": "Underlying volume type, e.g. 'tmpfs'.", "type": "string" } - } + }, + "id": "Volume" }, "ListOperationsResponse": { - "id": "ListOperationsResponse", "description": "The response message for Operations.ListOperations.", "type": "object", "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, "operations": { "description": "A list of operations that matches the specified filter in the request.", "items": { "$ref": "Operation" }, "type": "array" - }, - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" } - } + }, + "id": "ListOperationsResponse" }, "OperationMetadata": { + "description": "Metadata for the given google.longrunning.Operation.", "type": "object", "properties": { "insertTime": { - "type": "string", "format": "google-datetime", - "description": "Timestamp that this operation was created.@OutputOnly" + "description": "Timestamp that this operation was created.@OutputOnly", + "type": "string" }, "user": { "description": "User who requested this operation.@OutputOnly", @@ -1546,13 +1055,9 @@ "type": "string" } }, - "id": "OperationMetadata", - "description": "Metadata for the given google.longrunning.Operation." + "id": "OperationMetadata" }, "ListInstancesResponse": { - "id": "ListInstancesResponse", - "description": "Response message for Instances.ListInstances.", - "type": "object", "properties": { "nextPageToken": { "description": "Continuation token for fetching the next page of results.", @@ -1565,26 +1070,15 @@ }, "type": "array" } - } + }, + "id": "ListInstancesResponse", + "description": "Response message for Instances.ListInstances.", + "type": "object" }, "OperationMetadataV1": { - "id": "OperationMetadataV1", "description": "Metadata for the given google.longrunning.Operation.", "type": "object", "properties": { - "ephemeralMessage": { - "description": "Ephemeral message that may change every time the operation is polled. @OutputOnly", - "type": "string" - }, - "method": { - "description": "API method that initiated this operation. Example: google.appengine.v1.Versions.CreateVersion.@OutputOnly", - "type": "string" - }, - "endTime": { - "format": "google-datetime", - "description": "Time that this operation completed.@OutputOnly", - "type": "string" - }, "warning": { "description": "Durable messages that persist on every operation poll. @OutputOnly", "items": { @@ -1604,18 +1098,32 @@ "target": { "description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", "type": "string" + }, + "ephemeralMessage": { + "description": "Ephemeral message that may change every time the operation is polled. @OutputOnly", + "type": "string" + }, + "method": { + "description": "API method that initiated this operation. Example: google.appengine.v1.Versions.CreateVersion.@OutputOnly", + "type": "string" + }, + "endTime": { + "format": "google-datetime", + "description": "Time that this operation completed.@OutputOnly", + "type": "string" } - } + }, + "id": "OperationMetadataV1" }, "ErrorHandler": { - "description": "Custom static error page to be served when an error occurs.", - "type": "object", "properties": { "mimeType": { "description": "MIME type of file. Defaults to text/html.", "type": "string" }, "errorCode": { + "description": "Error condition this handler applies to.", + "type": "string", "enumDescriptions": [ "Not specified. ERROR_CODE_DEFAULT is assumed.", "All other error types.", @@ -1629,27 +1137,21 @@ "ERROR_CODE_OVER_QUOTA", "ERROR_CODE_DOS_API_DENIAL", "ERROR_CODE_TIMEOUT" - ], - "description": "Error condition this handler applies to.", - "type": "string" + ] }, "staticFile": { "description": "Static file content to be served for this error.", "type": "string" } }, - "id": "ErrorHandler" + "id": "ErrorHandler", + "description": "Custom static error page to be served when an error occurs.", + "type": "object" }, "OperationMetadataV1Alpha": { - "id": "OperationMetadataV1Alpha", "description": "Metadata for the given google.longrunning.Operation.", "type": "object", "properties": { - "insertTime": { - "format": "google-datetime", - "description": "Time that this operation was created.@OutputOnly", - "type": "string" - }, "warning": { "description": "Durable messages that persist on every operation poll. @OutputOnly", "items": { @@ -1657,6 +1159,11 @@ }, "type": "array" }, + "insertTime": { + "format": "google-datetime", + "description": "Time that this operation was created.@OutputOnly", + "type": "string" + }, "user": { "description": "User who requested this operation.@OutputOnly", "type": "string" @@ -1666,8 +1173,8 @@ "type": "string" }, "ephemeralMessage": { - "type": "string", - "description": "Ephemeral message that may change every time the operation is polled. @OutputOnly" + "description": "Ephemeral message that may change every time the operation is polled. @OutputOnly", + "type": "string" }, "method": { "description": "API method that initiated this operation. Example: google.appengine.v1alpha.Versions.CreateVersion.@OutputOnly", @@ -1678,44 +1185,13 @@ "description": "Time that this operation completed.@OutputOnly", "type": "string" } - } - }, - "Network": { - "description": "Extra network settings. Only applicable for VM runtimes.", - "type": "object", - "properties": { - "instanceTag": { - "type": "string", - "description": "Tag to apply to the VM instance during creation." - }, - "forwardedPorts": { - "description": "List of ports, or port pairs, to forward from the virtual machine to the application container.", - "items": { - "type": "string" - }, - "type": "array" - }, - "name": { - "description": "Google Cloud Platform network where the virtual machines are created. Specify the short name, not the resource path.Defaults to default.", - "type": "string" - } }, - "id": "Network" + "id": "OperationMetadataV1Alpha" }, "Application": { - "id": "Application", "description": "An Application resource contains the top-level configuration of an App Engine application.", "type": "object", "properties": { - "id": { - "description": "Identifier of the Application resource. This identifier is equivalent to the project ID of the Google Cloud Platform project where you want to deploy your application. Example: myapp.", - "type": "string" - }, - "defaultCookieExpiration": { - "format": "google-duration", - "description": "Cookie expiration policy for this application.", - "type": "string" - }, "codeBucket": { "description": "Google Cloud Storage bucket that can be used for storing files associated with this application. This bucket is associated with the application and can be used by the gcloud deployment commands.@OutputOnly", "type": "string" @@ -1736,8 +1212,8 @@ "type": "array" }, "defaultHostname": { - "type": "string", - "description": "Hostname used to reach the application, as resolved by App Engine.@OutputOnly" + "description": "Hostname used to reach the application, as resolved by App Engine.@OutputOnly", + "type": "string" }, "name": { "description": "Full path to the Application resource in the API. Example: apps/myapp.@OutputOnly", @@ -1749,38 +1225,90 @@ "authDomain": { "description": "Google Apps authentication domain that controls which users can access this application.Defaults to open access for any Google Account.", "type": "string" - } - } - }, - "UrlDispatchRule": { - "description": "Rules to match an HTTP request and dispatch that request to a module.", - "type": "object", - "properties": { - "path": { - "description": "Pathname within the host. Must start with a \"/\". A single \"*\" can be included at the end of the path. The sum of the lengths of the domain and path may not exceed 100 characters.", + }, + "defaultCookieExpiration": { + "format": "google-duration", + "description": "Cookie expiration policy for this application.", "type": "string" }, - "module": { - "type": "string", - "description": "Resource ID of a module in this application that should serve the matched request. The module must already exist. Example: default." - }, - "domain": { - "description": "Domain name to match against. The wildcard \"*\" is supported if specified before a period: \"*.\".Defaults to matching all domains: \"*\".", + "id": { + "description": "Identifier of the Application resource. This identifier is equivalent to the project ID of the Google Cloud Platform project where you want to deploy your application. Example: myapp.", "type": "string" } }, - "id": "UrlDispatchRule" + "id": "Application" + }, + "Network": { + "description": "Extra network settings. Only applicable for VM runtimes.", + "type": "object", + "properties": { + "instanceTag": { + "description": "Tag to apply to the VM instance during creation.", + "type": "string" + }, + "forwardedPorts": { + "description": "List of ports, or port pairs, to forward from the virtual machine to the application container.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Google Cloud Platform network where the virtual machines are created. Specify the short name, not the resource path.Defaults to default.", + "type": "string" + } + }, + "id": "Network" }, "Instance": { + "description": "An Instance resource is the computing unit that App Engine uses to automatically scale an application.", + "type": "object", "properties": { + "qps": { + "format": "float", + "description": "Average queries per second (QPS) over the last minute.@OutputOnly", + "type": "number" + }, + "vmId": { + "description": "Virtual machine ID of this instance. Only applicable for instances in App Engine flexible environment.@OutputOnly", + "type": "string" + }, + "vmZoneName": { + "description": "Zone where the virtual machine is located. Only applicable for instances in App Engine flexible environment.@OutputOnly", + "type": "string" + }, + "name": { + "description": "Full path to the Instance resource in the API. Example: apps/myapp/modules/default/versions/v1/instances/instance-1.@OutputOnly", + "type": "string" + }, + "vmUnlocked": { + "description": "Whether this instance is in debug mode. Only applicable for instances in App Engine flexible environment.@OutputOnly", + "type": "boolean" + }, + "averageLatency": { + "format": "int32", + "description": "Average latency (ms) over the last minute.@OutputOnly", + "type": "integer" + }, + "vmIp": { + "description": "The IP address of this instance. Only applicable for instances in App Engine flexible environment.@OutputOnly", + "type": "string" + }, + "memoryUsage": { + "format": "int64", + "description": "Total memory in use (bytes).@OutputOnly", + "type": "string" + }, + "id": { + "description": "Relative name of the instance within the version. Example: instance-1.@OutputOnly", + "type": "string" + }, "errors": { - "type": "integer", "format": "uint32", - "description": "Number of errors since this instance was started.@OutputOnly" + "description": "Number of errors since this instance was started.@OutputOnly", + "type": "integer" }, "availability": { - "description": "Availability of the instance.@OutputOnly", - "type": "string", "enumDescriptions": [ "", "", @@ -1790,7 +1318,9 @@ "UNSPECIFIED", "RESIDENT", "DYNAMIC" - ] + ], + "description": "Availability of the instance.@OutputOnly", + "type": "string" }, "vmStatus": { "description": "Status of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment.@OutputOnly", @@ -1813,68 +1343,28 @@ "vmName": { "description": "Name of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment.@OutputOnly", "type": "string" - }, - "vmId": { - "description": "Virtual machine ID of this instance. Only applicable for instances in App Engine flexible environment.@OutputOnly", - "type": "string" - }, - "qps": { - "format": "float", - "description": "Average queries per second (QPS) over the last minute.@OutputOnly", - "type": "number" - }, - "name": { - "description": "Full path to the Instance resource in the API. Example: apps/myapp/modules/default/versions/v1/instances/instance-1.@OutputOnly", - "type": "string" - }, - "vmZoneName": { - "description": "Zone where the virtual machine is located. Only applicable for instances in App Engine flexible environment.@OutputOnly", - "type": "string" - }, - "vmUnlocked": { - "description": "Whether this instance is in debug mode. Only applicable for instances in App Engine flexible environment.@OutputOnly", - "type": "boolean" - }, - "averageLatency": { - "format": "int32", - "description": "Average latency (ms) over the last minute.@OutputOnly", - "type": "integer" - }, - "vmIp": { - "description": "The IP address of this instance. Only applicable for instances in App Engine flexible environment.@OutputOnly", - "type": "string" - }, - "memoryUsage": { - "format": "int64", - "description": "Total memory in use (bytes).@OutputOnly", - "type": "string" - }, - "id": { - "type": "string", - "description": "Relative name of the instance within the version. Example: instance-1.@OutputOnly" } }, - "id": "Instance", - "description": "An Instance resource is the computing unit that App Engine uses to automatically scale an application.", - "type": "object" + "id": "Instance" }, - "ListVersionsResponse": { - "description": "Response message for Versions.ListVersions.", + "UrlDispatchRule": { + "description": "Rules to match an HTTP request and dispatch that request to a module.", "type": "object", "properties": { - "versions": { - "description": "The versions belonging to the requested module.", - "items": { - "$ref": "Version" - }, - "type": "array" + "path": { + "description": "Pathname within the host. Must start with a \"/\". A single \"*\" can be included at the end of the path. The sum of the lengths of the domain and path may not exceed 100 characters.", + "type": "string" }, - "nextPageToken": { - "description": "Continuation token for fetching the next page of results.", + "module": { + "description": "Resource ID of a module in this application that should serve the matched request. The module must already exist. Example: default.", + "type": "string" + }, + "domain": { + "description": "Domain name to match against. The wildcard \"*\" is supported if specified before a period: \"*.\".Defaults to matching all domains: \"*\".", "type": "string" } }, - "id": "ListVersionsResponse" + "id": "UrlDispatchRule" }, "Module": { "description": "A Module resource is a logical component of an application that can share state and communicate in a secure fashion with other modules. For example, an application that handles customer requests might include separate modules to handle tasks such as backend data analysis or API requests from mobile devices. Each module has a collection of versions that define a specific set of code used to implement the functionality of that module.", @@ -1895,6 +1385,24 @@ }, "id": "Module" }, + "ListVersionsResponse": { + "description": "Response message for Versions.ListVersions.", + "type": "object", + "properties": { + "versions": { + "description": "The versions belonging to the requested module.", + "items": { + "$ref": "Version" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string" + } + }, + "id": "ListVersionsResponse" + }, "ApiEndpointHandler": { "description": "Uses Google Cloud Endpoints to handle requests.", "type": "object", @@ -1906,6 +1414,69 @@ }, "id": "ApiEndpointHandler" }, + "AutomaticScaling": { + "properties": { + "cpuUtilization": { + "description": "Target scaling by CPU usage.", + "$ref": "CpuUtilization" + }, + "diskUtilization": { + "description": "Target scaling by disk usage.", + "$ref": "DiskUtilization" + }, + "minPendingLatency": { + "format": "google-duration", + "description": "Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it.", + "type": "string" + }, + "requestUtilization": { + "$ref": "RequestUtilization", + "description": "Target scaling by request utilization." + }, + "maxIdleInstances": { + "format": "int32", + "description": "Maximum number of idle instances that should be maintained for this version.", + "type": "integer" + }, + "minIdleInstances": { + "format": "int32", + "description": "Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a module.", + "type": "integer" + }, + "maxTotalInstances": { + "format": "int32", + "description": "Maximum number of instances that should be started to handle requests.", + "type": "integer" + }, + "minTotalInstances": { + "format": "int32", + "description": "Minimum number of instances that should be maintained for this version.", + "type": "integer" + }, + "networkUtilization": { + "$ref": "NetworkUtilization", + "description": "Target scaling by network usage." + }, + "coolDownPeriod": { + "format": "google-duration", + "description": "Amount of time that the Autoscaler (https://cloud.google.com/compute/docs/autoscaler/) should wait between changes to the number of virtual machines. Only applicable for VM runtimes.", + "type": "string" + }, + "maxConcurrentRequests": { + "format": "int32", + "description": "Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance.Defaults to a runtime-specific value.", + "type": "integer" + }, + "maxPendingLatency": { + "format": "google-duration", + "description": "Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it.", + "type": "string" + } + }, + "id": "AutomaticScaling", + "description": "Automatic scaling is based on request rate, response latencies, and other application metrics.", + "type": "object" + }, "StaticDirectoryHandler": { "description": "Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static directory handlers make it easy to serve the entire contents of a directory as static files.", "type": "object", @@ -1935,105 +1506,27 @@ "type": "string" }, "requireMatchingFile": { - "type": "boolean", - "description": "Whether this handler should match the request if the file referenced by the handler does not exist." + "description": "Whether this handler should match the request if the file referenced by the handler does not exist.", + "type": "boolean" } }, "id": "StaticDirectoryHandler" }, - "AutomaticScaling": { - "description": "Automatic scaling is based on request rate, response latencies, and other application metrics.", - "type": "object", - "properties": { - "minTotalInstances": { - "format": "int32", - "description": "Minimum number of instances that should be maintained for this version.", - "type": "integer" - }, - "networkUtilization": { - "$ref": "NetworkUtilization", - "description": "Target scaling by network usage." - }, - "maxConcurrentRequests": { - "format": "int32", - "description": "Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance.Defaults to a runtime-specific value.", - "type": "integer" - }, - "coolDownPeriod": { - "format": "google-duration", - "description": "Amount of time that the Autoscaler (https://cloud.google.com/compute/docs/autoscaler/) should wait between changes to the number of virtual machines. Only applicable for VM runtimes.", - "type": "string" - }, - "maxPendingLatency": { - "format": "google-duration", - "description": "Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it.", - "type": "string" - }, - "cpuUtilization": { - "$ref": "CpuUtilization", - "description": "Target scaling by CPU usage." - }, - "diskUtilization": { - "$ref": "DiskUtilization", - "description": "Target scaling by disk usage." - }, - "minPendingLatency": { - "format": "google-duration", - "description": "Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it.", - "type": "string" - }, - "maxIdleInstances": { - "format": "int32", - "description": "Maximum number of idle instances that should be maintained for this version.", - "type": "integer" - }, - "requestUtilization": { - "description": "Target scaling by request utilization.", - "$ref": "RequestUtilization" - }, - "minIdleInstances": { - "format": "int32", - "description": "Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a module.", - "type": "integer" - }, - "maxTotalInstances": { - "format": "int32", - "description": "Maximum number of instances that should be started to handle requests.", - "type": "integer" - } - }, - "id": "AutomaticScaling" - }, - "NetworkUtilization": { - "type": "object", - "properties": { - "targetReceivedBytesPerSec": { - "format": "int32", - "description": "Target bytes received per second.", - "type": "integer" - }, - "targetSentPacketsPerSec": { - "format": "int32", - "description": "Target packets sent per second.", - "type": "integer" - }, - "targetReceivedPacketsPerSec": { - "format": "int32", - "description": "Target packets received per second.", - "type": "integer" - }, - "targetSentBytesPerSec": { - "format": "int32", - "description": "Target bytes sent per second.", - "type": "integer" - } - }, - "id": "NetworkUtilization", - "description": "Target scaling by network usage. Only applicable for VM runtimes." - }, "Location": { + "description": "A resource that represents Google Cloud Platform location.", "type": "object", "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example\n{\"cloud.googleapis.com/region\": \"us-east1\"}\n", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations. For example: \"projects/example-project/locations/us-east1\"", + "type": "string" + }, "locationId": { "description": "The canonical id for this location. For example: \"us-east1\".", "type": "string" @@ -2045,21 +1538,36 @@ }, "description": "Service-specific metadata. For example the available capacity at the given location.", "type": "object" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Cross-service attributes for the location. For example\n{\"cloud.googleapis.com/region\": \"us-east1\"}\n", - "type": "object" - }, - "name": { - "description": "Resource name for the location, which may vary between implementations. For example: \"projects/example-project/locations/us-east1\"", - "type": "string" } }, - "id": "Location", - "description": "A resource that represents Google Cloud Platform location." + "id": "Location" + }, + "NetworkUtilization": { + "description": "Target scaling by network usage. Only applicable for VM runtimes.", + "type": "object", + "properties": { + "targetReceivedPacketsPerSec": { + "format": "int32", + "description": "Target packets received per second.", + "type": "integer" + }, + "targetSentBytesPerSec": { + "format": "int32", + "description": "Target bytes sent per second.", + "type": "integer" + }, + "targetReceivedBytesPerSec": { + "format": "int32", + "description": "Target bytes received per second.", + "type": "integer" + }, + "targetSentPacketsPerSec": { + "format": "int32", + "description": "Target packets sent per second.", + "type": "integer" + } + }, + "id": "NetworkUtilization" }, "HealthCheck": { "description": "Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances. Only applicable for instances in App Engine flexible environment.", @@ -2078,16 +1586,16 @@ "description": "Host header to send when performing an HTTP health check. Example: \"myapp.appspot.com\"", "type": "string" }, - "healthyThreshold": { - "format": "uint32", - "description": "Number of consecutive successful health checks required before receiving traffic.", - "type": "integer" - }, "restartThreshold": { "format": "uint32", "description": "Number of consecutive failed health checks required before an instance is restarted.", "type": "integer" }, + "healthyThreshold": { + "format": "uint32", + "description": "Number of consecutive successful health checks required before receiving traffic.", + "type": "integer" + }, "checkInterval": { "format": "google-duration", "description": "Interval between health checks.", @@ -2102,15 +1610,15 @@ "id": "HealthCheck" }, "DebugInstanceRequest": { - "description": "Request message for Instances.DebugInstance.", - "type": "object", "properties": { "sshKey": { - "type": "string", - "description": "Public SSH key to add to the instance. Examples:\n[USERNAME]:ssh-rsa [KEY_VALUE] [USERNAME]\n[USERNAME]:ssh-rsa [KEY_VALUE] google-ssh {\"userName\":\"[USERNAME]\",\"expireOn\":\"[EXPIRE_TIME]\"}For more information, see Adding and Removing SSH Keys (https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys)." + "description": "Public SSH key to add to the instance. Examples:\n[USERNAME]:ssh-rsa [KEY_VALUE] [USERNAME]\n[USERNAME]:ssh-rsa [KEY_VALUE] google-ssh {\"userName\":\"[USERNAME]\",\"expireOn\":\"[EXPIRE_TIME]\"}For more information, see Adding and Removing SSH Keys (https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys).", + "type": "string" } }, - "id": "DebugInstanceRequest" + "id": "DebugInstanceRequest", + "description": "Request message for Instances.DebugInstance.", + "type": "object" }, "SourceReference": { "description": "Reference to a particular snapshot of the source tree used to build and deploy the application.", @@ -2131,6 +1639,10 @@ "description": "Metadata for the given google.longrunning.Operation.", "type": "object", "properties": { + "method": { + "description": "API method name that initiated this operation. Example: google.appengine.v1beta5.Version.CreateVersion.@OutputOnly", + "type": "string" + }, "insertTime": { "format": "google-datetime", "description": "Timestamp that this operation was created.@OutputOnly", @@ -2148,10 +1660,6 @@ "user": { "description": "User who requested this operation.@OutputOnly", "type": "string" - }, - "method": { - "description": "API method name that initiated this operation. Example: google.appengine.v1beta5.Version.CreateVersion.@OutputOnly", - "type": "string" } }, "id": "OperationMetadataV1Beta5" @@ -2172,67 +1680,94 @@ "id": "Library" }, "ListLocationsResponse": { - "description": "The response message for Locations.ListLocations.", - "type": "object", "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, "locations": { + "description": "A list of locations that matches the specified filter in the request.", "items": { "$ref": "Location" }, - "type": "array", - "description": "A list of locations that matches the specified filter in the request." - }, - "nextPageToken": { - "type": "string", - "description": "The standard List next-page token." + "type": "array" } }, - "id": "ListLocationsResponse" + "id": "ListLocationsResponse", + "description": "The response message for Locations.ListLocations.", + "type": "object" + }, + "ContainerInfo": { + "description": "Docker image that is used to create a container and start a VM instance for the version that you deploy. Only applicable for instances running in the App Engine flexible environment.", + "type": "object", + "properties": { + "image": { + "description": "URI to the hosted container image in Google Container Registry. The URI must be fully qualified and include a tag or digest. Examples: \"gcr.io/my-project/image:tag\" or \"gcr.io/my-project/image@digest\"", + "type": "string" + } + }, + "id": "ContainerInfo" }, "Version": { - "id": "Version", "description": "A Version resource is a specific set of source code and configuration files that are deployed into a module.", "type": "object", "properties": { + "automaticScaling": { + "description": "Automatic scaling is based on request rate, response latencies, and other application metrics.", + "$ref": "AutomaticScaling" + }, + "healthCheck": { + "$ref": "HealthCheck", + "description": "Configures health checking for VM instances. Unhealthy instances are stopped and replaced with new instances. Only applicable for VM runtimes.Only returned in GET requests if view=FULL is set." + }, + "threadsafe": { + "description": "Whether multiple requests can be dispatched to this version at once.", + "type": "boolean" + }, + "manualScaling": { + "description": "A module with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time.", + "$ref": "ManualScaling" + }, + "name": { + "description": "Full path to the Version resource in the API. Example: apps/myapp/modules/default/versions/v1.@OutputOnly", + "type": "string" + }, "apiConfig": { "$ref": "ApiConfigHandler", "description": "Serving configuration for Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/endpoints/).Only returned in GET requests if view=FULL is set." }, "vm": { - "type": "boolean", - "description": "Whether to deploy this version in a container on a virtual machine." + "description": "Whether to deploy this version in a container on a virtual machine.", + "type": "boolean" }, "instanceClass": { "description": "Instance class that is used to run this version. Valid values are:\nAutomaticScaling: F1, F2, F4, F4_1G\nManualScaling or BasicScaling: B1, B2, B4, B8, B4_1GDefaults to F1 for AutomaticScaling and B1 for ManualScaling or BasicScaling.", "type": "string" }, "servingStatus": { - "enumDescriptions": [ - "Not specified.", - "Currently serving. Instances are created according to the scaling settings of the version.", - "Disabled. No instances will be created and the scaling settings are ignored until the state of the version changes to SERVING." - ], "enum": [ "SERVING_STATUS_UNSPECIFIED", "SERVING", "STOPPED" ], "description": "Current serving status of this version. Only the versions with a SERVING status create instances and can be billed.SERVING_STATUS_UNSPECIFIED is an invalid value. Defaults to SERVING.", - "type": "string" - }, - "runtimeApiVersion": { "type": "string", - "description": "The version of the API in the given runtime environment. Please see the app.yaml reference for valid values at https://cloud.google.com/appengine/docs/standard/\u003clanguage\u003e/config/appref" + "enumDescriptions": [ + "Not specified.", + "Currently serving. Instances are created according to the scaling settings of the version.", + "Disabled. No instances will be created and the scaling settings are ignored until the state of the version changes to SERVING." + ] }, "deployment": { "$ref": "Deployment", "description": "Code and application artifacts that make up this version.Only returned in GET requests if view=FULL is set." }, - "resources": { - "$ref": "Resources", - "description": "Machine resources for this version. Only applicable for VM runtimes." + "runtimeApiVersion": { + "description": "The version of the API in the given runtime environment. Please see the app.yaml reference for valid values at https://cloud.google.com/appengine/docs/standard/\u003clanguage\u003e/config/appref", + "type": "string" }, "inboundServices": { + "description": "Before an application can receive email or XMPP messages, the application must be configured to enable the service.", "items": { "type": "string", "enum": [ @@ -2258,15 +1793,18 @@ "Allows an application to receive a user's chat presence.", "Registers an application for notifications when a client connects or disconnects from a channel.", "Enables warmup requests." - ], - "description": "Before an application can receive email or XMPP messages, the application must be configured to enable the service." + ] + }, + "resources": { + "description": "Machine resources for this version. Only applicable for VM runtimes.", + "$ref": "Resources" }, "errorHandlers": { + "description": "Custom static error pages. Limited to 10KB per page.Only returned in GET requests if view=FULL is set.", "items": { "$ref": "ErrorHandler" }, - "type": "array", - "description": "Custom static error pages. Limited to 10KB per page.Only returned in GET requests if view=FULL is set." + "type": "array" }, "defaultExpiration": { "format": "google-duration", @@ -2280,45 +1818,45 @@ }, "type": "array" }, - "nobuildFilesRegex": { - "description": "Files that match this pattern will not be built into this version. Only applicable for Go runtimes.Only returned in GET requests if view=FULL is set.", - "type": "string" - }, "creationTime": { "format": "google-datetime", "description": "Time that this version was created.@OutputOnly", "type": "string" }, + "nobuildFilesRegex": { + "description": "Files that match this pattern will not be built into this version. Only applicable for Go runtimes.Only returned in GET requests if view=FULL is set.", + "type": "string" + }, "basicScaling": { - "$ref": "BasicScaling", - "description": "A module with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity." + "description": "A module with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity.", + "$ref": "BasicScaling" }, "runtime": { - "type": "string", - "description": "Desired runtime. Example: python27." + "description": "Desired runtime. Example: python27.", + "type": "string" }, "id": { "description": "Relative name of the version within the module. Example: v1. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names: \"default\", \"latest\", and any name with the prefix \"ah-\".", "type": "string" }, "envVariables": { + "additionalProperties": { + "type": "string" + }, "description": "Environment variables made available to the application.Only returned in GET requests if view=FULL is set.", + "type": "object" + }, + "network": { + "description": "Extra network settings. Only applicable for VM runtimes.", + "$ref": "Network" + }, + "betaSettings": { + "description": "Metadata settings that are supplied to this version to enable beta runtime features.", "type": "object", "additionalProperties": { "type": "string" } }, - "network": { - "$ref": "Network", - "description": "Extra network settings. Only applicable for VM runtimes." - }, - "betaSettings": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Metadata settings that are supplied to this version to enable beta runtime features." - }, "env": { "description": "App Engine execution environment to use for this version.Defaults to 1.", "type": "string" @@ -2333,39 +1871,9 @@ "deployer": { "description": "Email address of the user who created this version.@OutputOnly", "type": "string" - }, - "automaticScaling": { - "$ref": "AutomaticScaling", - "description": "Automatic scaling is based on request rate, response latencies, and other application metrics." - }, - "healthCheck": { - "description": "Configures health checking for VM instances. Unhealthy instances are stopped and replaced with new instances. Only applicable for VM runtimes.Only returned in GET requests if view=FULL is set.", - "$ref": "HealthCheck" - }, - "threadsafe": { - "description": "Whether multiple requests can be dispatched to this version at once.", - "type": "boolean" - }, - "manualScaling": { - "$ref": "ManualScaling", - "description": "A module with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time." - }, - "name": { - "description": "Full path to the Version resource in the API. Example: apps/myapp/modules/default/versions/v1.@OutputOnly", - "type": "string" - } - } - }, - "ContainerInfo": { - "description": "Docker image that is used to create a container and start a VM instance for the version that you deploy. Only applicable for instances running in the App Engine flexible environment.", - "type": "object", - "properties": { - "image": { - "description": "URI to the hosted container image in Google Container Registry. The URI must be fully qualified and include a tag or digest. Examples: \"gcr.io/my-project/image:tag\" or \"gcr.io/my-project/image@digest\"", - "type": "string" } }, - "id": "ContainerInfo" + "id": "Version" }, "RequestUtilization": { "description": "Target scaling by request utilization. Only applicable for VM runtimes.", @@ -2377,32 +1885,528 @@ "type": "integer" }, "targetRequestCountPerSec": { - "type": "integer", "format": "int32", - "description": "Target requests per second." + "description": "Target requests per second.", + "type": "integer" } }, "id": "RequestUtilization" + }, + "UrlMap": { + "description": "URL pattern and description of how the URL should be handled. App Engine can handle URLs by executing application code, or by serving static files uploaded with the version, such as images, CSS, or JavaScript.", + "type": "object", + "properties": { + "redirectHttpResponseCode": { + "description": "30x code to use when performing redirects for the secure field. Defaults to 302.", + "type": "string", + "enumDescriptions": [ + "Not specified. 302 is assumed.", + "301 Moved Permanently code.", + "302 Moved Temporarily code.", + "303 See Other code.", + "307 Temporary Redirect code." + ], + "enum": [ + "REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED", + "REDIRECT_HTTP_RESPONSE_CODE_301", + "REDIRECT_HTTP_RESPONSE_CODE_302", + "REDIRECT_HTTP_RESPONSE_CODE_303", + "REDIRECT_HTTP_RESPONSE_CODE_307" + ] + }, + "securityLevel": { + "description": "Security (HTTPS) enforcement for this URL.", + "type": "string", + "enumDescriptions": [ + "Not specified.", + "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used, and respond accordingly.", + "Requests for a URL that match this handler that use HTTPS are automatically redirected to the HTTP equivalent URL.", + "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used and respond accordingly.", + "Requests for a URL that match this handler that do not use HTTPS are automatically redirected to the HTTPS URL with the same path. Query parameters are reserved for the redirect." + ], + "enum": [ + "SECURE_UNSPECIFIED", + "SECURE_DEFAULT", + "SECURE_NEVER", + "SECURE_OPTIONAL", + "SECURE_ALWAYS" + ] + }, + "authFailAction": { + "enumDescriptions": [ + "Not specified. AUTH_FAIL_ACTION_REDIRECT is assumed.", + "Redirects user to \"accounts.google.com\". The user is redirected back to the application URL after signing in or creating an account.", + "Rejects request with a 401 HTTP status code and an error message." + ], + "enum": [ + "AUTH_FAIL_ACTION_UNSPECIFIED", + "AUTH_FAIL_ACTION_REDIRECT", + "AUTH_FAIL_ACTION_UNAUTHORIZED" + ], + "description": "Action to take when users access resources that require authentication. Defaults to redirect.", + "type": "string" + }, + "script": { + "$ref": "ScriptHandler", + "description": "Executes a script to handle the request that matches this URL pattern." + }, + "urlRegex": { + "description": "A URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path.", + "type": "string" + }, + "login": { + "enumDescriptions": [ + "Not specified. LOGIN_OPTIONAL is assumed.", + "Does not require that the user is signed in.", + "If the user is not signed in, the auth_fail_action is taken. In addition, if the user is not an administrator for the application, they are given an error message regardless of auth_fail_action. If the user is an administrator, the handler proceeds.", + "If the user has signed in, the handler proceeds normally. Otherwise, the auth_fail_action is taken." + ], + "enum": [ + "LOGIN_UNSPECIFIED", + "LOGIN_OPTIONAL", + "LOGIN_ADMIN", + "LOGIN_REQUIRED" + ], + "description": "Level of login required to access this resource.", + "type": "string" + }, + "apiEndpoint": { + "$ref": "ApiEndpointHandler", + "description": "Uses API Endpoints to handle requests." + }, + "staticDirectory": { + "$ref": "StaticDirectoryHandler", + "description": "Serves the entire contents of a directory as static files.This attribute is deprecated. You can mimic the behavior of static directories using static files." + }, + "staticFiles": { + "description": "Returns the contents of a file, such as an image, as the response.", + "$ref": "StaticFilesHandler" + } + }, + "id": "UrlMap" + }, + "ApiConfigHandler": { + "description": "Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/endpoints/) configuration for API handlers.", + "type": "object", + "properties": { + "login": { + "description": "Level of login required to access this resource. Defaults to optional.", + "type": "string", + "enumDescriptions": [ + "Not specified. LOGIN_OPTIONAL is assumed.", + "Does not require that the user is signed in.", + "If the user is not signed in, the auth_fail_action is taken. In addition, if the user is not an administrator for the application, they are given an error message regardless of auth_fail_action. If the user is an administrator, the handler proceeds.", + "If the user has signed in, the handler proceeds normally. Otherwise, the auth_fail_action is taken." + ], + "enum": [ + "LOGIN_UNSPECIFIED", + "LOGIN_OPTIONAL", + "LOGIN_ADMIN", + "LOGIN_REQUIRED" + ] + }, + "url": { + "description": "URL to serve the endpoint at.", + "type": "string" + }, + "securityLevel": { + "enumDescriptions": [ + "Not specified.", + "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used, and respond accordingly.", + "Requests for a URL that match this handler that use HTTPS are automatically redirected to the HTTP equivalent URL.", + "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used and respond accordingly.", + "Requests for a URL that match this handler that do not use HTTPS are automatically redirected to the HTTPS URL with the same path. Query parameters are reserved for the redirect." + ], + "enum": [ + "SECURE_UNSPECIFIED", + "SECURE_DEFAULT", + "SECURE_NEVER", + "SECURE_OPTIONAL", + "SECURE_ALWAYS" + ], + "description": "Security (HTTPS) enforcement for this URL.", + "type": "string" + }, + "authFailAction": { + "enumDescriptions": [ + "Not specified. AUTH_FAIL_ACTION_REDIRECT is assumed.", + "Redirects user to \"accounts.google.com\". The user is redirected back to the application URL after signing in or creating an account.", + "Rejects request with a 401 HTTP status code and an error message." + ], + "enum": [ + "AUTH_FAIL_ACTION_UNSPECIFIED", + "AUTH_FAIL_ACTION_REDIRECT", + "AUTH_FAIL_ACTION_UNAUTHORIZED" + ], + "description": "Action to take when users access resources that require authentication. Defaults to redirect.", + "type": "string" + }, + "script": { + "description": "Path to the script from the application root directory.", + "type": "string" + } + }, + "id": "ApiConfigHandler" + }, + "Operation": { + "properties": { + "done": { + "description": "If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.", + "type": "boolean" + }, + "response": { + "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + } + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should have the format of operations/some/unique/name.", + "type": "string" + }, + "error": { + "description": "The error result of the operation in case of failure or cancellation.", + "$ref": "Status" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + } + }, + "id": "Operation", + "description": "This resource represents a long-running operation that is the result of a network API call.", + "type": "object" + }, + "StaticFilesHandler": { + "description": "Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them.", + "type": "object", + "properties": { + "expiration": { + "format": "google-duration", + "description": "Time a static file served by this handler should be cached.", + "type": "string" + }, + "httpHeaders": { + "additionalProperties": { + "type": "string" + }, + "description": "HTTP headers to use for all responses from these URLs.", + "type": "object" + }, + "applicationReadable": { + "description": "Whether files should also be uploaded as code data. By default, files declared in static file handlers are uploaded as static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged against both your code and static data storage resource quotas.", + "type": "boolean" + }, + "uploadPathRegex": { + "description": "Regular expression that matches the file paths for all files that should be referenced by this handler.", + "type": "string" + }, + "path": { + "description": "Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern.", + "type": "string" + }, + "mimeType": { + "description": "MIME type used to serve all files served by this handler. Defaults to file-specific MIME types, which are derived from each file's filename extension.", + "type": "string" + }, + "requireMatchingFile": { + "description": "Whether this handler should match the request if the file referenced by the handler does not exist.", + "type": "boolean" + } + }, + "id": "StaticFilesHandler" + }, + "ScriptHandler": { + "description": "Executes a script to handle the request that matches the URL pattern.", + "type": "object", + "properties": { + "scriptPath": { + "description": "Path to the script from the application root directory.", + "type": "string" + } + }, + "id": "ScriptHandler" + }, + "FileInfo": { + "description": "Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately.", + "type": "object", + "properties": { + "sha1Sum": { + "description": "The SHA1 hash of the file, in hex.", + "type": "string" + }, + "mimeType": { + "description": "The MIME type of the file.Defaults to the value from Google Cloud Storage.", + "type": "string" + }, + "sourceUrl": { + "description": "URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\u003cbucket\u003e/\u003cobject\u003e'.", + "type": "string" + } + }, + "id": "FileInfo" + }, + "DiskUtilization": { + "description": "Target scaling by disk usage. Only applicable for VM runtimes.", + "type": "object", + "properties": { + "targetWriteBytesPerSec": { + "format": "int32", + "description": "Target bytes written per second.", + "type": "integer" + }, + "targetReadOpsPerSec": { + "format": "int32", + "description": "Target ops read per second.", + "type": "integer" + }, + "targetReadBytesPerSec": { + "format": "int32", + "description": "Target bytes read per second.", + "type": "integer" + }, + "targetWriteOpsPerSec": { + "format": "int32", + "description": "Target ops written per second.", + "type": "integer" + } + }, + "id": "DiskUtilization" + }, + "BasicScaling": { + "properties": { + "maxInstances": { + "format": "int32", + "description": "Maximum number of instances to create for this version.", + "type": "integer" + }, + "idleTimeout": { + "format": "google-duration", + "description": "Duration of time after the last request that an instance must wait before the instance is shut down.", + "type": "string" + } + }, + "id": "BasicScaling", + "description": "A module with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity.", + "type": "object" + }, + "OperationMetadataExperimental": { + "properties": { + "method": { + "description": "API method that initiated this operation. Example: google.appengine.experimental.CustomDomains.CreateCustomDomain.@OutputOnly", + "type": "string" + }, + "insertTime": { + "format": "google-datetime", + "description": "Time that this operation was created.@OutputOnly", + "type": "string" + }, + "endTime": { + "format": "google-datetime", + "description": "Time that this operation completed.@OutputOnly", + "type": "string" + }, + "target": { + "description": "Name of the resource that this operation is acting on. Example: apps/myapp/customDomains/example.com.@OutputOnly", + "type": "string" + }, + "user": { + "description": "User who requested this operation.@OutputOnly", + "type": "string" + } + }, + "id": "OperationMetadataExperimental", + "description": "Metadata for the given google.longrunning.Operation.", + "type": "object" + }, + "CpuUtilization": { + "description": "Target scaling by CPU usage.", + "type": "object", + "properties": { + "aggregationWindowLength": { + "format": "google-duration", + "description": "Period of time over which CPU utilization is calculated.", + "type": "string" + }, + "targetUtilization": { + "format": "double", + "description": "Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1.", + "type": "number" + } + }, + "id": "CpuUtilization" + }, + "IdentityAwareProxy": { + "properties": { + "oauth2ClientSecret": { + "description": "For security reasons, this value cannot be retrieved via the API. Instead, the SHA-256 hash of the value is returned in the oauth2_client_secret_sha256 field.@InputOnly", + "type": "string" + }, + "oauth2ClientId": { + "description": "OAuth2 client ID to use for the authentication flow.", + "type": "string" + }, + "oauth2ClientSecretSha256": { + "description": "Hex-encoded SHA-256 hash of the client secret.@OutputOnly", + "type": "string" + }, + "enabled": { + "description": "Whether the serving infrastructure will authenticate and authorize all incoming requests.If true, the oauth2_client_id and oauth2_client_secret fields must be non-empty.", + "type": "boolean" + } + }, + "id": "IdentityAwareProxy", + "description": "Identity-Aware Proxy", + "type": "object" + }, + "Status": { + "description": "The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). The error model is designed to be:\nSimple to use and understand for most users\nFlexible enough to meet unexpected needsOverviewThe Status message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers understand and resolve the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package google.rpc that can be used for common error conditions.Language mappingThe Status message is the logical representation of the error model, but it is not necessarily the actual wire format. When the Status message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C.Other usesThe error model and the Status message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments.Example uses of this error model include:\nPartial errors. If a service needs to return partial errors to the client, it may embed the Status in the normal response to indicate the partial errors.\nWorkflow errors. A typical workflow has multiple steps. Each step may have a Status message for error reporting.\nBatch operations. If a client uses batch request and batch response, the Status message should be used directly inside batch response, one for each error sub-response.\nAsynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the Status message.\nLogging. If some API errors are stored in logs, the message Status could be used directly after any stripping needed for security/privacy reasons.", + "type": "object", + "properties": { + "code": { + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + } + }, + "id": "Status" + }, + "TrafficSplit": { + "properties": { + "allocations": { + "additionalProperties": { + "format": "double", + "type": "number" + }, + "description": "Mapping from version IDs within the module to fractional (0.000, 1] allocations of traffic for that version. Each version can be specified only once, but some versions in the module may not have any traffic allocation. Modules that have traffic allocated cannot be deleted until either the module is deleted or their traffic allocation is removed. Allocations must sum to 1. Up to two decimal place precision is supported for IP-based splits and up to three decimal places is supported for cookie-based splits.", + "type": "object" + }, + "shardBy": { + "description": "Mechanism used to determine which version a request is sent to. The traffic selection algorithm will be stable for either type until allocations are changed.", + "type": "string", + "enumDescriptions": [ + "Diversion method unspecified.", + "Diversion based on a specially named cookie, \"GOOGAPPUID.\" The cookie must be set by the application itself or else no diversion will occur.", + "Diversion based on applying the modulus operation to a fingerprint of the IP address." + ], + "enum": [ + "UNSPECIFIED", + "COOKIE", + "IP" + ] + } + }, + "id": "TrafficSplit", + "description": "Traffic routing configuration for versions within a single module. Traffic splits define how traffic directed to the module is assigned to versions.", + "type": "object" + }, + "ManualScaling": { + "description": "A module with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time.", + "type": "object", + "properties": { + "instances": { + "format": "int32", + "description": "Number of instances to assign to the module at the start. This number can later be altered by using the Modules API (https://cloud.google.com/appengine/docs/python/modules/functions) set_num_instances() function.", + "type": "integer" + } + }, + "id": "ManualScaling" + }, + "LocationMetadata": { + "description": "Metadata for the given google.cloud.location.Location.", + "type": "object", + "properties": { + "flexibleEnvironmentAvailable": { + "description": "App Engine Flexible Environment is available in the given location.@OutputOnly", + "type": "boolean" + }, + "standardEnvironmentAvailable": { + "description": "App Engine Standard Environment is available in the given location.@OutputOnly", + "type": "boolean" + } + }, + "id": "LocationMetadata" + }, + "OperationMetadataV1Beta": { + "properties": { + "endTime": { + "format": "google-datetime", + "description": "Time that this operation completed.@OutputOnly", + "type": "string" + }, + "warning": { + "description": "Durable messages that persist on every operation poll. @OutputOnly", + "items": { + "type": "string" + }, + "type": "array" + }, + "insertTime": { + "format": "google-datetime", + "description": "Time that this operation was created.@OutputOnly", + "type": "string" + }, + "user": { + "description": "User who requested this operation.@OutputOnly", + "type": "string" + }, + "target": { + "description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", + "type": "string" + }, + "ephemeralMessage": { + "description": "Ephemeral message that may change every time the operation is polled. @OutputOnly", + "type": "string" + }, + "method": { + "description": "API method that initiated this operation. Example: google.appengine.v1beta.Versions.CreateVersion.@OutputOnly", + "type": "string" + } + }, + "id": "OperationMetadataV1Beta", + "description": "Metadata for the given google.longrunning.Operation.", + "type": "object" } }, - "icons": { - "x32": "http://www.google.com/images/icons/product/search-32.gif", - "x16": "http://www.google.com/images/icons/product/search-16.gif" - }, "protocol": "rest", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, "version": "v1beta4", "baseUrl": "https://appengine.googleapis.com/", "auth": { "oauth2": { "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + }, "https://www.googleapis.com/auth/appengine.admin": { "description": "View and manage your applications deployed on Google App Engine" }, "https://www.googleapis.com/auth/cloud-platform.read-only": { "description": "View your data across Google Cloud Platform services" - }, - "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" } } } @@ -2414,9 +2418,5 @@ "basePath": "", "ownerDomain": "google.com", "name": "appengine", - "batchPath": "batch", - "id": "appengine:v1beta4", - "revision": "20170626", - "documentationLink": "https://cloud.google.com/appengine/docs/admin-api/", - "title": "Google App Engine Admin API" + "batchPath": "batch" } diff --git a/vendor/google.golang.org/api/appengine/v1beta4/appengine-gen.go b/vendor/google.golang.org/api/appengine/v1beta4/appengine-gen.go index 5a7ed2696..0781f5e02 100644 --- a/vendor/google.golang.org/api/appengine/v1beta4/appengine-gen.go +++ b/vendor/google.golang.org/api/appengine/v1beta4/appengine-gen.go @@ -2056,8 +2056,8 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in diff --git a/vendor/google.golang.org/api/appengine/v1beta5/appengine-api.json b/vendor/google.golang.org/api/appengine/v1beta5/appengine-api.json index 8ee616a33..91e5dfdd0 100644 --- a/vendor/google.golang.org/api/appengine/v1beta5/appengine-api.json +++ b/vendor/google.golang.org/api/appengine/v1beta5/appengine-api.json @@ -1,4 +1,6 @@ { + "version": "v1beta5", + "baseUrl": "https://appengine.googleapis.com/", "auth": { "oauth2": { "scopes": { @@ -14,9 +16,9 @@ } } }, - "kind": "discovery#restDescription", - "description": "The App Engine Admin API enables developers to provision and manage their App Engine applications.", "servicePath": "", + "description": "The App Engine Admin API enables developers to provision and manage their App Engine applications.", + "kind": "discovery#restDescription", "rootUrl": "https://appengine.googleapis.com/", "basePath": "", "ownerDomain": "google.com", @@ -24,18 +26,32 @@ "batchPath": "batch", "id": "appengine:v1beta5", "documentationLink": "https://cloud.google.com/appengine/docs/admin-api/", - "revision": "20170626", + "revision": "20170926", "title": "Google App Engine Admin API", "discoveryVersion": "v1", "ownerName": "Google", "resources": { "apps": { "methods": { - "patch": { - "description": "Updates the specified Application resource. You can update the following fields:\nauth_domain (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps#Application.FIELDS.auth_domain)\ndefault_cookie_expiration (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps#Application.FIELDS.default_cookie_expiration)", + "create": { + "id": "appengine.apps.create", + "path": "v1beta5/apps", + "description": "Creates an App Engine application for a Google Cloud Platform project. Required fields:\nid - The ID of the target Cloud Platform project.\nlocation - The region (https://cloud.google.com/appengine/docs/locations) where you want the App Engine application located.For more information about App Engine applications, see Managing Projects, Applications, and Billing (https://cloud.google.com/appengine/docs/python/console/).", "request": { "$ref": "Application" }, + "response": { + "$ref": "Operation" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta5/apps" + }, + "patch": { "httpMethod": "PATCH", "parameterOrder": [ "appsId" @@ -51,10 +67,10 @@ "required": true }, "mask": { + "location": "query", "format": "google-fieldmask", "description": "Standard field mask for the set of fields to be updated.", - "type": "string", - "location": "query" + "type": "string" } }, "scopes": [ @@ -62,253 +78,46 @@ ], "flatPath": "v1beta5/apps/{appsId}", "path": "v1beta5/apps/{appsId}", - "id": "appengine.apps.patch" - }, - "get": { - "path": "v1beta5/apps/{appsId}", - "id": "appengine.apps.get", - "description": "Gets information about an application.", - "httpMethod": "GET", - "parameterOrder": [ - "appsId" - ], - "response": { - "$ref": "Application" - }, - "parameters": { - "ensureResourcesExist": { - "location": "query", - "description": "Certain resources associated with an application are created on-demand. Controls whether these resources should be created when performing the GET operation. If specified and any resources could not be created, the request will fail with an error code. Additionally, this parameter can cause the request to take longer to complete. Note: This parameter will be deprecated in a future version of the API.", - "type": "boolean" - }, - "appsId": { - "type": "string", - "required": true, - "location": "path", - "description": "Part of `name`. Name of the application to get. Example: apps/myapp." - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta5/apps/{appsId}" - }, - "create": { - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "Operation" - }, - "parameters": {}, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta5/apps", - "path": "v1beta5/apps", - "id": "appengine.apps.create", - "description": "Creates an App Engine application for a Google Cloud Platform project. Required fields:\nid - The ID of the target Cloud Platform project.\nlocation - The region (https://cloud.google.com/appengine/docs/locations) where you want the App Engine application located.For more information about App Engine applications, see Managing Projects, Applications, and Billing (https://cloud.google.com/appengine/docs/python/console/).", + "id": "appengine.apps.patch", + "description": "Updates the specified Application resource. You can update the following fields:\nauth_domain (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps#Application.FIELDS.auth_domain)\ndefault_cookie_expiration (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps#Application.FIELDS.default_cookie_expiration)", "request": { "$ref": "Application" } + }, + "get": { + "response": { + "$ref": "Application" + }, + "parameterOrder": [ + "appsId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "ensureResourcesExist": { + "description": "Certain resources associated with an application are created on-demand. Controls whether these resources should be created when performing the GET operation. If specified and any resources could not be created, the request will fail with an error code. Additionally, this parameter can cause the request to take longer to complete. Note: This parameter will be deprecated in a future version of the API.", + "type": "boolean", + "location": "query" + }, + "appsId": { + "description": "Part of `name`. Name of the application to get. Example: apps/myapp.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1beta5/apps/{appsId}", + "id": "appengine.apps.get", + "path": "v1beta5/apps/{appsId}", + "description": "Gets information about an application." } }, "resources": { - "operations": { - "methods": { - "get": { - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "appsId", - "operationsId" - ], - "httpMethod": "GET", - "parameters": { - "operationsId": { - "type": "string", - "required": true, - "location": "path", - "description": "Part of `name`. See documentation of `appsId`." - }, - "appsId": { - "location": "path", - "description": "Part of `name`. The name of the operation resource.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "flatPath": "v1beta5/apps/{appsId}/operations/{operationsId}", - "id": "appengine.apps.operations.get", - "path": "v1beta5/apps/{appsId}/operations/{operationsId}", - "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." - }, - "list": { - "path": "v1beta5/apps/{appsId}/operations", - "id": "appengine.apps.operations.list", - "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: the name binding allows API services to override the binding to use different resource name schemes, such as users/*/operations. To override the binding, API services can add a binding such as \"/v1/{name=users/*}/operations\" to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.", - "httpMethod": "GET", - "response": { - "$ref": "ListOperationsResponse" - }, - "parameterOrder": [ - "appsId" - ], - "parameters": { - "filter": { - "location": "query", - "description": "The standard list filter.", - "type": "string" - }, - "pageToken": { - "type": "string", - "location": "query", - "description": "The standard list page token." - }, - "appsId": { - "location": "path", - "description": "Part of `name`. The name of the operation's parent resource.", - "type": "string", - "required": true - }, - "pageSize": { - "format": "int32", - "description": "The standard list page size.", - "type": "integer", - "location": "query" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "flatPath": "v1beta5/apps/{appsId}/operations" - } - } - }, - "locations": { - "methods": { - "get": { - "id": "appengine.apps.locations.get", - "path": "v1beta5/apps/{appsId}/locations/{locationsId}", - "description": "Get information about a location.", - "response": { - "$ref": "Location" - }, - "parameterOrder": [ - "appsId", - "locationsId" - ], - "httpMethod": "GET", - "parameters": { - "appsId": { - "location": "path", - "description": "Part of `name`. Resource name for the location.", - "type": "string", - "required": true - }, - "locationsId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "flatPath": "v1beta5/apps/{appsId}/locations/{locationsId}" - }, - "list": { - "id": "appengine.apps.locations.list", - "path": "v1beta5/apps/{appsId}/locations", - "description": "Lists information about the supported locations for this service.", - "response": { - "$ref": "ListLocationsResponse" - }, - "parameterOrder": [ - "appsId" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "pageSize": { - "location": "query", - "format": "int32", - "description": "The standard list page size.", - "type": "integer" - }, - "filter": { - "type": "string", - "location": "query", - "description": "The standard list filter." - }, - "pageToken": { - "location": "query", - "description": "The standard list page token.", - "type": "string" - }, - "appsId": { - "description": "Part of `name`. The resource that owns the locations collection, if applicable.", - "type": "string", - "required": true, - "location": "path" - } - }, - "flatPath": "v1beta5/apps/{appsId}/locations" - } - } - }, "services": { "methods": { - "delete": { - "description": "Deletes the specified service and all enclosed versions.", - "httpMethod": "DELETE", - "parameterOrder": [ - "appsId", - "servicesId" - ], - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default.", - "type": "string", - "required": true, - "location": "path" - }, - "servicesId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - } - }, - "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}", - "path": "v1beta5/apps/{appsId}/services/{servicesId}", - "id": "appengine.apps.services.delete" - }, "patch": { - "description": "Updates the configuration of the specified service.", - "request": { - "$ref": "Service" - }, "response": { "$ref": "Operation" }, @@ -317,7 +126,16 @@ "servicesId" ], "httpMethod": "PATCH", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { + "servicesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, "appsId": { "location": "path", "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default.", @@ -325,77 +143,72 @@ "required": true }, "migrateTraffic": { + "location": "query", "description": "Set to true to gradually shift traffic to one or more versions that you specify. By default, traffic is shifted immediately. For gradual traffic migration, the target versions must be located within instances that are configured for both warmup requests (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services.versions#inboundservicetype) and automatic scaling (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services.versions#automaticscaling). You must specify the shardBy (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services#shardby) field in the Service resource. Gradual traffic migration is not supported in the App Engine flexible environment. For examples, see Migrating and Splitting Traffic (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic).", - "type": "boolean", - "location": "query" + "type": "boolean" }, "mask": { - "location": "query", "format": "google-fieldmask", "description": "Standard field mask for the set of fields to be updated.", - "type": "string" - }, - "servicesId": { - "description": "Part of `name`. See documentation of `appsId`.", "type": "string", - "required": true, - "location": "path" + "location": "query" } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}", "id": "appengine.apps.services.patch", - "path": "v1beta5/apps/{appsId}/services/{servicesId}" + "path": "v1beta5/apps/{appsId}/services/{servicesId}", + "request": { + "$ref": "Service" + }, + "description": "Updates the configuration of the specified service." }, "list": { + "httpMethod": "GET", "parameterOrder": [ "appsId" ], - "httpMethod": "GET", "response": { "$ref": "ListServicesResponse" }, - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], "parameters": { + "pageSize": { + "format": "int32", + "description": "Maximum results to return per page.", + "type": "integer", + "location": "query" + }, "pageToken": { "location": "query", "description": "Continuation token for fetching the next page of results.", "type": "string" }, "appsId": { - "type": "string", - "required": true, "location": "path", - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp." - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "Maximum results to return per page.", - "type": "integer" + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp.", + "type": "string", + "required": true } }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], "flatPath": "v1beta5/apps/{appsId}/services", - "id": "appengine.apps.services.list", "path": "v1beta5/apps/{appsId}/services", + "id": "appengine.apps.services.list", "description": "Lists all the services in the application." }, "get": { "description": "Gets the current configuration of the specified service.", "httpMethod": "GET", + "response": { + "$ref": "Service" + }, "parameterOrder": [ "appsId", "servicesId" ], - "response": { - "$ref": "Service" - }, "scopes": [ "https://www.googleapis.com/auth/appengine.admin", "https://www.googleapis.com/auth/cloud-platform", @@ -403,10 +216,10 @@ ], "parameters": { "servicesId": { + "location": "path", "description": "Part of `name`. See documentation of `appsId`.", "type": "string", - "required": true, - "location": "path" + "required": true }, "appsId": { "location": "path", @@ -418,47 +231,43 @@ "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}", "path": "v1beta5/apps/{appsId}/services/{servicesId}", "id": "appengine.apps.services.get" + }, + "delete": { + "description": "Deletes the specified service and all enclosed versions.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "servicesId" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "servicesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "appsId": { + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}", + "id": "appengine.apps.services.delete", + "path": "v1beta5/apps/{appsId}/services/{servicesId}" } }, "resources": { "versions": { "methods": { - "create": { - "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions", - "id": "appengine.apps.services.versions.create", - "request": { - "$ref": "Version" - }, - "description": "Deploys new code and resource files to a new version.", - "httpMethod": "POST", - "parameterOrder": [ - "appsId", - "servicesId" - ], - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "appsId": { - "location": "path", - "description": "Part of `name`. Name of the resource to update. For example: \"apps/myapp/services/default\".", - "type": "string", - "required": true - }, - "servicesId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - } - }, - "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}/versions" - }, "delete": { - "httpMethod": "DELETE", "response": { "$ref": "Operation" }, @@ -467,6 +276,10 @@ "servicesId", "versionsId" ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { "servicesId": { "location": "path", @@ -475,10 +288,10 @@ "required": true }, "appsId": { - "type": "string", - "required": true, "location": "path", - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1." + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", + "type": "string", + "required": true }, "versionsId": { "location": "path", @@ -487,19 +300,12 @@ "required": true } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}", - "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}", "id": "appengine.apps.services.versions.delete", + "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}", "description": "Deletes an existing version." }, "patch": { - "description": "Updates the specified Version resource. You can specify the following fields depending on the App Engine environment and type of scaling that the version resource uses:\nserving_status (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services.versions#Version.FIELDS.serving_status): For Version resources that use basic scaling, manual scaling, or run in the App Engine flexible environment.\ninstance_class (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services.versions#Version.FIELDS.instance_class): For Version resources that run in the App Engine standard environment.\nautomatic_scaling.min_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.\nautomatic_scaling.max_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.", - "request": { - "$ref": "Version" - }, "httpMethod": "PATCH", "parameterOrder": [ "appsId", @@ -510,29 +316,29 @@ "$ref": "Operation" }, "parameters": { - "mask": { - "location": "query", - "format": "google-fieldmask", - "description": "Standard field mask for the set of fields to be updated.", - "type": "string" - }, - "versionsId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - }, "servicesId": { - "location": "path", "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - }, - "appsId": { "type": "string", "required": true, + "location": "path" + }, + "appsId": { "location": "path", - "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default/versions/1." + "description": "Part of `name`. Name of the resource to update. Example: apps/myapp/services/default/versions/1.", + "type": "string", + "required": true + }, + "mask": { + "format": "google-fieldmask", + "description": "Standard field mask for the set of fields to be updated.", + "type": "string", + "location": "query" + }, + "versionsId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" } }, "scopes": [ @@ -540,9 +346,14 @@ ], "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}", "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}", - "id": "appengine.apps.services.versions.patch" + "id": "appengine.apps.services.versions.patch", + "description": "Updates the specified Version resource. You can specify the following fields depending on the App Engine environment and type of scaling that the version resource uses:\nserving_status (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services.versions#Version.FIELDS.serving_status): For Version resources that use basic scaling, manual scaling, or run in the App Engine flexible environment.\ninstance_class (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services.versions#Version.FIELDS.instance_class): For Version resources that run in the App Engine standard environment.\nautomatic_scaling.min_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.\nautomatic_scaling.max_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.", + "request": { + "$ref": "Version" + } }, "list": { + "description": "Lists the versions of a service.", "response": { "$ref": "ListVersionsResponse" }, @@ -557,50 +368,44 @@ "https://www.googleapis.com/auth/cloud-platform.read-only" ], "parameters": { - "view": { - "description": "Controls the set of fields returned in the List response.", - "type": "string", - "location": "query", - "enum": [ - "BASIC", - "FULL" - ] - }, "servicesId": { - "location": "path", "description": "Part of `name`. See documentation of `appsId`.", "type": "string", - "required": true - }, - "pageToken": { - "location": "query", - "description": "Continuation token for fetching the next page of results.", - "type": "string" - }, - "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default.", - "type": "string", "required": true, "location": "path" }, + "pageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string", + "location": "query" + }, + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default.", + "type": "string", + "required": true + }, "pageSize": { "location": "query", "format": "int32", "description": "Maximum results to return per page.", "type": "integer" + }, + "view": { + "location": "query", + "enum": [ + "BASIC", + "FULL" + ], + "description": "Controls the set of fields returned in the List response.", + "type": "string" } }, "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}/versions", "id": "appengine.apps.services.versions.list", - "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions", - "description": "Lists the versions of a service." + "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions" }, "get": { - "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}", - "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}", - "id": "appengine.apps.services.versions.get", - "description": "Gets the specified Version resource. By default, only a BASIC_VIEW will be returned. Specify the FULL_VIEW parameter to get the full resource.", - "httpMethod": "GET", "response": { "$ref": "Version" }, @@ -609,12 +414,14 @@ "servicesId", "versionsId" ], - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], + "httpMethod": "GET", "parameters": { + "servicesId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + }, "appsId": { "location": "path", "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", @@ -622,27 +429,64 @@ "required": true }, "view": { - "description": "Controls the set of fields returned in the Get response.", - "type": "string", "location": "query", "enum": [ "BASIC", "FULL" - ] + ], + "description": "Controls the set of fields returned in the Get response.", + "type": "string" }, "versionsId": { + "location": "path", "description": "Part of `name`. See documentation of `appsId`.", "type": "string", - "required": true, - "location": "path" - }, - "servicesId": { - "type": "string", - "required": true, - "location": "path", - "description": "Part of `name`. See documentation of `appsId`." + "required": true } - } + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}", + "id": "appengine.apps.services.versions.get", + "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}", + "description": "Gets the specified Version resource. By default, only a BASIC_VIEW will be returned. Specify the FULL_VIEW parameter to get the full resource." + }, + "create": { + "description": "Deploys new code and resource files to a new version.", + "request": { + "$ref": "Version" + }, + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "servicesId" + ], + "httpMethod": "POST", + "parameters": { + "servicesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the resource to update. For example: \"apps/myapp/services/default\".", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}/versions", + "id": "appengine.apps.services.versions.create", + "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions" } }, "resources": { @@ -661,12 +505,6 @@ "$ref": "Operation" }, "parameters": { - "servicesId": { - "type": "string", - "required": true, - "location": "path", - "description": "Part of `name`. See documentation of `appsId`." - }, "instancesId": { "location": "path", "description": "Part of `name`. See documentation of `appsId`.", @@ -674,16 +512,22 @@ "required": true }, "appsId": { - "location": "path", "description": "Part of `name`. Name of the resource requested. For example: \"apps/myapp/services/default/versions/v1/instances/instance-1\".", "type": "string", - "required": true + "required": true, + "location": "path" }, "versionsId": { - "location": "path", "description": "Part of `name`. See documentation of `appsId`.", "type": "string", - "required": true + "required": true, + "location": "path" + }, + "servicesId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" } }, "scopes": [ @@ -694,8 +538,6 @@ "id": "appengine.apps.services.versions.instances.delete" }, "list": { - "id": "appengine.apps.services.versions.instances.list", - "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances", "description": "Lists the instances of a version.Tip: To aggregate details about instances over time, see the Stackdriver Monitoring API (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list).", "response": { "$ref": "ListInstancesResponse" @@ -706,11 +548,22 @@ "versionsId" ], "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], "parameters": { + "servicesId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + }, "pageToken": { - "location": "query", "description": "Continuation token for fetching the next page of results.", - "type": "string" + "type": "string", + "location": "query" }, "appsId": { "location": "path", @@ -719,67 +572,23 @@ "required": true }, "pageSize": { + "location": "query", "format": "int32", "description": "Maximum results to return per page.", - "type": "integer", - "location": "query" + "type": "integer" }, "versionsId": { "description": "Part of `name`. See documentation of `appsId`.", "type": "string", "required": true, "location": "path" - }, - "servicesId": { - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true, - "location": "path" } }, - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances" + "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances", + "id": "appengine.apps.services.versions.instances.list", + "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances" }, "get": { - "scopes": [ - "https://www.googleapis.com/auth/appengine.admin", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "instancesId": { - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true, - "location": "path" - }, - "appsId": { - "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", - "type": "string", - "required": true, - "location": "path" - }, - "versionsId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - }, - "servicesId": { - "location": "path", - "description": "Part of `name`. See documentation of `appsId`.", - "type": "string", - "required": true - } - }, - "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", - "id": "appengine.apps.services.versions.instances.get", - "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", - "description": "Gets instance information.", "response": { "$ref": "Instance" }, @@ -789,31 +598,24 @@ "versionsId", "instancesId" ], - "httpMethod": "GET" - }, - "debug": { - "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug", - "id": "appengine.apps.services.versions.instances.debug", - "description": "Enables debugging on a VM instance. This allows you to use the SSH command to connect to the virtual machine where the instance lives. While in \"debug mode\", the instance continues to serve live traffic. You should delete the instance when you are done debugging and then allow the system to take over and determine if another instance should be started.Only applicable for instances in App Engine flexible environment.", - "request": { - "$ref": "DebugInstanceRequest" - }, - "httpMethod": "POST", - "parameterOrder": [ - "appsId", - "servicesId", - "versionsId", - "instancesId" + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" ], - "response": { - "$ref": "Operation" - }, "parameters": { - "instancesId": { + "servicesId": { + "location": "path", "description": "Part of `name`. See documentation of `appsId`.", "type": "string", - "required": true, - "location": "path" + "required": true + }, + "instancesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true }, "appsId": { "location": "path", @@ -822,66 +624,287 @@ "required": true }, "versionsId": { - "type": "string", - "required": true, "location": "path", - "description": "Part of `name`. See documentation of `appsId`." - }, - "servicesId": { "description": "Part of `name`. See documentation of `appsId`.", "type": "string", - "required": true, - "location": "path" + "required": true } }, + "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", + "id": "appengine.apps.services.versions.instances.get", + "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", + "description": "Gets instance information." + }, + "debug": { + "request": { + "$ref": "DebugInstanceRequest" + }, + "description": "Enables debugging on a VM instance. This allows you to use the SSH command to connect to the virtual machine where the instance lives. While in \"debug mode\", the instance continues to serve live traffic. You should delete the instance when you are done debugging and then allow the system to take over and determine if another instance should be started.Only applicable for instances in App Engine flexible environment.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "appsId", + "servicesId", + "versionsId", + "instancesId" + ], + "httpMethod": "POST", "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug" + "parameters": { + "versionsId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "servicesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "instancesId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "appsId": { + "location": "path", + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug", + "id": "appengine.apps.services.versions.instances.debug", + "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug" } } } } } } + }, + "operations": { + "methods": { + "get": { + "httpMethod": "GET", + "parameterOrder": [ + "appsId", + "operationsId" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "appsId": { + "description": "Part of `name`. The name of the operation resource.", + "type": "string", + "required": true, + "location": "path" + }, + "operationsId": { + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1beta5/apps/{appsId}/operations/{operationsId}", + "path": "v1beta5/apps/{appsId}/operations/{operationsId}", + "id": "appengine.apps.operations.get", + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." + }, + "list": { + "response": { + "$ref": "ListOperationsResponse" + }, + "parameterOrder": [ + "appsId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "type": "string", + "location": "query" + }, + "pageToken": { + "description": "The standard list page token.", + "type": "string", + "location": "query" + }, + "appsId": { + "location": "path", + "description": "Part of `name`. The name of the operation's parent resource.", + "type": "string", + "required": true + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "The standard list page size.", + "type": "integer" + } + }, + "flatPath": "v1beta5/apps/{appsId}/operations", + "id": "appengine.apps.operations.list", + "path": "v1beta5/apps/{appsId}/operations", + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: the name binding allows API services to override the binding to use different resource name schemes, such as users/*/operations. To override the binding, API services can add a binding such as \"/v1/{name=users/*}/operations\" to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id." + } + } + }, + "locations": { + "methods": { + "get": { + "id": "appengine.apps.locations.get", + "path": "v1beta5/apps/{appsId}/locations/{locationsId}", + "description": "Get information about a location.", + "response": { + "$ref": "Location" + }, + "parameterOrder": [ + "appsId", + "locationsId" + ], + "httpMethod": "GET", + "parameters": { + "locationsId": { + "location": "path", + "description": "Part of `name`. See documentation of `appsId`.", + "type": "string", + "required": true + }, + "appsId": { + "description": "Part of `name`. Resource name for the location.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1beta5/apps/{appsId}/locations/{locationsId}" + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "httpMethod": "GET", + "response": { + "$ref": "ListLocationsResponse" + }, + "parameterOrder": [ + "appsId" + ], + "parameters": { + "filter": { + "location": "query", + "description": "The standard list filter.", + "type": "string" + }, + "pageToken": { + "description": "The standard list page token.", + "type": "string", + "location": "query" + }, + "appsId": { + "description": "Part of `name`. The resource that owns the locations collection, if applicable.", + "type": "string", + "required": true, + "location": "path" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "The standard list page size.", + "type": "integer" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1beta5/apps/{appsId}/locations", + "path": "v1beta5/apps/{appsId}/locations", + "id": "appengine.apps.locations.list" + } + } } } } }, "parameters": { - "upload_protocol": { + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", "type": "string", - "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")." + "location": "query" }, - "prettyPrint": { - "description": "Returns response with indentations and line breaks.", + "pp": { + "description": "Pretty-print response.", "default": "true", "type": "boolean", "location": "query" }, + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", + "location": "query" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", + "location": "query" + }, + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" + }, "fields": { "location": "query", "description": "Selector specifying which fields to include in a partial response.", "type": "string" }, "uploadType": { - "location": "query", "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string" + "type": "string", + "location": "query" }, "$.xgafv": { - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", "enum": [ "1", "2" ], "description": "V1 error format.", - "type": "string" + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" }, "callback": { "location": "query", @@ -904,725 +927,18 @@ "proto" ] }, - "access_token": { - "location": "query", - "description": "OAuth access token.", - "type": "string" - }, "key": { "location": "query", "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", "type": "string" }, - "quotaUser": { + "access_token": { "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "description": "OAuth access token.", "type": "string" - }, - "pp": { - "default": "true", - "type": "boolean", - "location": "query", - "description": "Pretty-print response." - }, - "bearer_token": { - "description": "OAuth bearer token.", - "type": "string", - "location": "query" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" } }, "schemas": { - "RequestUtilization": { - "description": "Target scaling by request utilization. Only applicable for VM runtimes.", - "type": "object", - "properties": { - "targetConcurrentRequests": { - "format": "int32", - "description": "Target number of concurrent requests.", - "type": "integer" - }, - "targetRequestCountPerSec": { - "format": "int32", - "description": "Target requests per second.", - "type": "integer" - } - }, - "id": "RequestUtilization" - }, - "EndpointsApiService": { - "description": "Cloud Endpoints (https://cloud.google.com/endpoints) configuration. The Endpoints API Service provides tooling for serving Open API and gRPC endpoints via an NGINX proxy.The fields here refer to the name and configuration id of a \"service\" resource in the Service Management API (https://cloud.google.com/service-management/overview).", - "type": "object", - "properties": { - "configId": { - "description": "Endpoints service configuration id as specified by the Service Management API. For example \"2016-09-19r1\"", - "type": "string" - }, - "name": { - "description": "Endpoints service name which is the name of the \"service\" resource in the Service Management API. For example \"myapi.endpoints.myproject.cloud.goog\"", - "type": "string" - } - }, - "id": "EndpointsApiService" - }, - "UrlMap": { - "type": "object", - "properties": { - "urlRegex": { - "type": "string", - "description": "A URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path." - }, - "login": { - "type": "string", - "enumDescriptions": [ - "Not specified. LOGIN_OPTIONAL is assumed.", - "Does not require that the user is signed in.", - "If the user is not signed in, the auth_fail_action is taken. In addition, if the user is not an administrator for the application, they are given an error message regardless of auth_fail_action. If the user is an administrator, the handler proceeds.", - "If the user has signed in, the handler proceeds normally. Otherwise, the action given in auth_fail_action is taken." - ], - "enum": [ - "LOGIN_UNSPECIFIED", - "LOGIN_OPTIONAL", - "LOGIN_ADMIN", - "LOGIN_REQUIRED" - ], - "description": "Level of login required to access this resource." - }, - "apiEndpoint": { - "$ref": "ApiEndpointHandler", - "description": "Uses API Endpoints to handle requests." - }, - "staticFiles": { - "$ref": "StaticFilesHandler", - "description": "Returns the contents of a file, such as an image, as the response." - }, - "redirectHttpResponseCode": { - "enumDescriptions": [ - "Not specified. 302 is assumed.", - "301 Moved Permanently code.", - "302 Moved Temporarily code.", - "303 See Other code.", - "307 Temporary Redirect code." - ], - "enum": [ - "REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED", - "REDIRECT_HTTP_RESPONSE_CODE_301", - "REDIRECT_HTTP_RESPONSE_CODE_302", - "REDIRECT_HTTP_RESPONSE_CODE_303", - "REDIRECT_HTTP_RESPONSE_CODE_307" - ], - "description": "30x code to use when performing redirects for the secure field. Defaults to 302.", - "type": "string" - }, - "securityLevel": { - "enum": [ - "SECURE_UNSPECIFIED", - "SECURE_DEFAULT", - "SECURE_NEVER", - "SECURE_OPTIONAL", - "SECURE_ALWAYS" - ], - "description": "Security (HTTPS) enforcement for this URL.", - "type": "string", - "enumDescriptions": [ - "Not specified.", - "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used, and respond accordingly.", - "Requests for a URL that match this handler that use HTTPS are automatically redirected to the HTTP equivalent URL.", - "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used and respond accordingly.", - "Requests for a URL that match this handler that do not use HTTPS are automatically redirected to the HTTPS URL with the same path. Query parameters are reserved for the redirect." - ] - }, - "authFailAction": { - "enumDescriptions": [ - "Not specified. AUTH_FAIL_ACTION_REDIRECT is assumed.", - "Redirects user to \"accounts.google.com\". The user is redirected back to the application URL after signing in or creating an account.", - "Rejects request with an401 HTTP status code and an error message." - ], - "enum": [ - "AUTH_FAIL_ACTION_UNSPECIFIED", - "AUTH_FAIL_ACTION_REDIRECT", - "AUTH_FAIL_ACTION_UNAUTHORIZED" - ], - "description": "Action to take when users access resources that require authentication. Defaults to redirect.", - "type": "string" - }, - "script": { - "$ref": "ScriptHandler", - "description": "Executes a script to handle the request that matches this URL pattern." - } - }, - "id": "UrlMap", - "description": "URL pattern and description of how the URL should be handled. App Engine can handle URLs by executing application code, or by serving static files uploaded with the version, such as images, CSS, or JavaScript." - }, - "ApiConfigHandler": { - "description": "Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/endpoints/) configuration for API handlers.", - "type": "object", - "properties": { - "login": { - "enumDescriptions": [ - "Not specified. LOGIN_OPTIONAL is assumed.", - "Does not require that the user is signed in.", - "If the user is not signed in, the auth_fail_action is taken. In addition, if the user is not an administrator for the application, they are given an error message regardless of auth_fail_action. If the user is an administrator, the handler proceeds.", - "If the user has signed in, the handler proceeds normally. Otherwise, the action given in auth_fail_action is taken." - ], - "enum": [ - "LOGIN_UNSPECIFIED", - "LOGIN_OPTIONAL", - "LOGIN_ADMIN", - "LOGIN_REQUIRED" - ], - "description": "Level of login required to access this resource. Defaults to optional.", - "type": "string" - }, - "url": { - "description": "URL to serve the endpoint at.", - "type": "string" - }, - "securityLevel": { - "description": "Security (HTTPS) enforcement for this URL.", - "type": "string", - "enumDescriptions": [ - "Not specified.", - "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used, and respond accordingly.", - "Requests for a URL that match this handler that use HTTPS are automatically redirected to the HTTP equivalent URL.", - "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used and respond accordingly.", - "Requests for a URL that match this handler that do not use HTTPS are automatically redirected to the HTTPS URL with the same path. Query parameters are reserved for the redirect." - ], - "enum": [ - "SECURE_UNSPECIFIED", - "SECURE_DEFAULT", - "SECURE_NEVER", - "SECURE_OPTIONAL", - "SECURE_ALWAYS" - ] - }, - "authFailAction": { - "enumDescriptions": [ - "Not specified. AUTH_FAIL_ACTION_REDIRECT is assumed.", - "Redirects user to \"accounts.google.com\". The user is redirected back to the application URL after signing in or creating an account.", - "Rejects request with an401 HTTP status code and an error message." - ], - "enum": [ - "AUTH_FAIL_ACTION_UNSPECIFIED", - "AUTH_FAIL_ACTION_REDIRECT", - "AUTH_FAIL_ACTION_UNAUTHORIZED" - ], - "description": "Action to take when users access resources that require authentication. Defaults to redirect.", - "type": "string" - }, - "script": { - "description": "Path to the script from the application root directory.", - "type": "string" - } - }, - "id": "ApiConfigHandler" - }, - "Operation": { - "description": "This resource represents a long-running operation that is the result of a network API call.", - "type": "object", - "properties": { - "metadata": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", - "type": "object" - }, - "done": { - "description": "If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.", - "type": "boolean" - }, - "response": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.", - "type": "object" - }, - "name": { - "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should have the format of operations/some/unique/name.", - "type": "string" - }, - "error": { - "$ref": "Status", - "description": "The error result of the operation in case of failure or cancellation." - } - }, - "id": "Operation" - }, - "FileInfo": { - "description": "Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately.", - "type": "object", - "properties": { - "mimeType": { - "description": "The MIME type of the file.Defaults to the value from Google Cloud Storage.", - "type": "string" - }, - "sourceUrl": { - "description": "URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\u003cbucket\u003e/\u003cobject\u003e'.", - "type": "string" - }, - "sha1Sum": { - "description": "The SHA1 hash of the file, in hex.", - "type": "string" - } - }, - "id": "FileInfo" - }, - "StaticFilesHandler": { - "description": "Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them.", - "type": "object", - "properties": { - "expiration": { - "format": "google-duration", - "description": "Time a static file served by this handler should be cached.", - "type": "string" - }, - "applicationReadable": { - "description": "Whether files should also be uploaded as code data. By default, files declared in static file handlers are uploaded as static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged against both your code and static data storage resource quotas.", - "type": "boolean" - }, - "httpHeaders": { - "description": "HTTP headers to use for all responses from these URLs.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "uploadPathRegex": { - "description": "Regular expression that matches the file paths for all files that should be referenced by this handler.", - "type": "string" - }, - "path": { - "description": "Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern.", - "type": "string" - }, - "mimeType": { - "description": "MIME type used to serve all files served by this handler. Defaults to file-specific MIME types, which are derived from each file's filename extension.", - "type": "string" - }, - "requireMatchingFile": { - "description": "Whether this handler should match the request if the file referenced by the handler does not exist.", - "type": "boolean" - } - }, - "id": "StaticFilesHandler" - }, - "ScriptHandler": { - "description": "Executes a script to handle the request that matches the URL pattern.", - "type": "object", - "properties": { - "scriptPath": { - "description": "Path to the script from the application root directory.", - "type": "string" - } - }, - "id": "ScriptHandler" - }, - "DiskUtilization": { - "description": "Target scaling by disk usage. Only applicable for VM runtimes.", - "type": "object", - "properties": { - "targetReadBytesPerSec": { - "format": "int32", - "description": "Target bytes read per second.", - "type": "integer" - }, - "targetWriteOpsPerSec": { - "format": "int32", - "description": "Target ops written per second.", - "type": "integer" - }, - "targetWriteBytesPerSec": { - "format": "int32", - "description": "Target bytes written per second.", - "type": "integer" - }, - "targetReadOpsPerSec": { - "format": "int32", - "description": "Target ops read per second.", - "type": "integer" - } - }, - "id": "DiskUtilization" - }, - "BasicScaling": { - "description": "A service with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity.", - "type": "object", - "properties": { - "maxInstances": { - "format": "int32", - "description": "Maximum number of instances to create for this version.", - "type": "integer" - }, - "idleTimeout": { - "format": "google-duration", - "description": "Duration of time after the last request that an instance must wait before the instance is shut down.", - "type": "string" - } - }, - "id": "BasicScaling" - }, - "OperationMetadataExperimental": { - "properties": { - "method": { - "description": "API method that initiated this operation. Example: google.appengine.experimental.CustomDomains.CreateCustomDomain.@OutputOnly", - "type": "string" - }, - "insertTime": { - "format": "google-datetime", - "description": "Time that this operation was created.@OutputOnly", - "type": "string" - }, - "endTime": { - "format": "google-datetime", - "description": "Time that this operation completed.@OutputOnly", - "type": "string" - }, - "target": { - "type": "string", - "description": "Name of the resource that this operation is acting on. Example: apps/myapp/customDomains/example.com.@OutputOnly" - }, - "user": { - "description": "User who requested this operation.@OutputOnly", - "type": "string" - } - }, - "id": "OperationMetadataExperimental", - "description": "Metadata for the given google.longrunning.Operation.", - "type": "object" - }, - "CpuUtilization": { - "description": "Target scaling by CPU usage.", - "type": "object", - "properties": { - "aggregationWindowLength": { - "format": "google-duration", - "description": "Period of time over which CPU utilization is calculated.", - "type": "string" - }, - "targetUtilization": { - "format": "double", - "description": "Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1.", - "type": "number" - } - }, - "id": "CpuUtilization" - }, - "Status": { - "description": "The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). The error model is designed to be:\nSimple to use and understand for most users\nFlexible enough to meet unexpected needsOverviewThe Status message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers understand and resolve the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package google.rpc that can be used for common error conditions.Language mappingThe Status message is the logical representation of the error model, but it is not necessarily the actual wire format. When the Status message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C.Other usesThe error model and the Status message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments.Example uses of this error model include:\nPartial errors. If a service needs to return partial errors to the client, it may embed the Status in the normal response to indicate the partial errors.\nWorkflow errors. A typical workflow has multiple steps. Each step may have a Status message for error reporting.\nBatch operations. If a client uses batch request and batch response, the Status message should be used directly inside batch response, one for each error sub-response.\nAsynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the Status message.\nLogging. If some API errors are stored in logs, the message Status could be used directly after any stripping needed for security/privacy reasons.", - "type": "object", - "properties": { - "message": { - "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", - "type": "string" - }, - "details": { - "description": "A list of messages that carry the error details. There will be a common set of message types for APIs to use.", - "items": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "type": "object" - }, - "type": "array" - }, - "code": { - "format": "int32", - "description": "The status code, which should be an enum value of google.rpc.Code.", - "type": "integer" - } - }, - "id": "Status" - }, - "IdentityAwareProxy": { - "description": "Identity-Aware Proxy", - "type": "object", - "properties": { - "enabled": { - "description": "Whether the serving infrastructure will authenticate and authorize all incoming requests.If true, the oauth2_client_id and oauth2_client_secret fields must be non-empty.", - "type": "boolean" - }, - "oauth2ClientSecret": { - "description": "For security reasons, this value cannot be retrieved via the API. Instead, the SHA-256 hash of the value is returned in the oauth2_client_secret_sha256 field.@InputOnly", - "type": "string" - }, - "oauth2ClientId": { - "description": "OAuth2 client ID to use for the authentication flow.", - "type": "string" - }, - "oauth2ClientSecretSha256": { - "description": "Hex-encoded SHA-256 hash of the client secret.@OutputOnly", - "type": "string" - } - }, - "id": "IdentityAwareProxy" - }, - "TrafficSplit": { - "description": "Traffic routing configuration for versions within a single service. Traffic splits define how traffic directed to the service is assigned to versions.", - "type": "object", - "properties": { - "allocations": { - "additionalProperties": { - "format": "double", - "type": "number" - }, - "description": "Mapping from version IDs within the service to fractional (0.000, 1] allocations of traffic for that version. Each version can be specified only once, but some versions in the service may not have any traffic allocation. Services that have traffic allocated cannot be deleted until either the service is deleted or their traffic allocation is removed. Allocations must sum to 1. Up to two decimal place precision is supported for IP-based splits and up to three decimal places is supported for cookie-based splits.", - "type": "object" - }, - "shardBy": { - "description": "Mechanism used to determine which version a request is sent to. The traffic selection algorithm will be stable for either type until allocations are changed.", - "type": "string", - "enumDescriptions": [ - "Diversion method unspecified.", - "Diversion based on a specially named cookie, \"GOOGAPPUID.\" The cookie must be set by the application itself or else no diversion will occur.", - "Diversion based on applying the modulus operation to a fingerprint of the IP address." - ], - "enum": [ - "UNSPECIFIED", - "COOKIE", - "IP" - ] - } - }, - "id": "TrafficSplit" - }, - "ManualScaling": { - "description": "A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time.", - "type": "object", - "properties": { - "instances": { - "format": "int32", - "description": "Number of instances to assign to the service at the start. This number can later be altered by using the Modules API (https://cloud.google.com/appengine/docs/python/modules/functions) set_num_instances() function.", - "type": "integer" - } - }, - "id": "ManualScaling" - }, - "LocationMetadata": { - "description": "Metadata for the given google.cloud.location.Location.", - "type": "object", - "properties": { - "flexibleEnvironmentAvailable": { - "description": "App Engine Flexible Environment is available in the given location.@OutputOnly", - "type": "boolean" - }, - "standardEnvironmentAvailable": { - "description": "App Engine Standard Environment is available in the given location.@OutputOnly", - "type": "boolean" - } - }, - "id": "LocationMetadata" - }, - "OperationMetadataV1Beta": { - "description": "Metadata for the given google.longrunning.Operation.", - "type": "object", - "properties": { - "method": { - "description": "API method that initiated this operation. Example: google.appengine.v1beta.Versions.CreateVersion.@OutputOnly", - "type": "string" - }, - "endTime": { - "type": "string", - "format": "google-datetime", - "description": "Time that this operation completed.@OutputOnly" - }, - "insertTime": { - "format": "google-datetime", - "description": "Time that this operation was created.@OutputOnly", - "type": "string" - }, - "warning": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Durable messages that persist on every operation poll. @OutputOnly" - }, - "user": { - "description": "User who requested this operation.@OutputOnly", - "type": "string" - }, - "target": { - "description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", - "type": "string" - }, - "ephemeralMessage": { - "description": "Ephemeral message that may change every time the operation is polled. @OutputOnly", - "type": "string" - } - }, - "id": "OperationMetadataV1Beta" - }, - "ListServicesResponse": { - "description": "Response message for Services.ListServices.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "Continuation token for fetching the next page of results.", - "type": "string" - }, - "services": { - "description": "The services belonging to the requested application.", - "items": { - "$ref": "Service" - }, - "type": "array" - } - }, - "id": "ListServicesResponse" - }, - "Deployment": { - "description": "Code and application artifacts used to deploy a version to App Engine.", - "type": "object", - "properties": { - "sourceReferences": { - "items": { - "$ref": "SourceReference" - }, - "type": "array", - "description": "Origin of the source code for this deployment. There can be more than one source reference per version if source code is distributed among multiple repositories." - }, - "container": { - "description": "The Docker image for the container that runs the version. Only applicable for instances running in the App Engine flexible environment.", - "$ref": "ContainerInfo" - }, - "files": { - "additionalProperties": { - "$ref": "FileInfo" - }, - "description": "Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call.", - "type": "object" - } - }, - "id": "Deployment" - }, - "Resources": { - "description": "Machine resources for a version.", - "type": "object", - "properties": { - "volumes": { - "description": "Volumes mounted within the app container.", - "items": { - "$ref": "Volume" - }, - "type": "array" - }, - "diskGb": { - "format": "double", - "description": "Disk size (GB) needed.", - "type": "number" - }, - "memoryGb": { - "format": "double", - "description": "Memory (GB) needed.", - "type": "number" - }, - "cpu": { - "format": "double", - "description": "Number of CPU cores needed.", - "type": "number" - } - }, - "id": "Resources" - }, - "Volume": { - "type": "object", - "properties": { - "volumeType": { - "description": "Underlying volume type, e.g. 'tmpfs'.", - "type": "string" - }, - "sizeGb": { - "format": "double", - "description": "Volume size in gigabytes.", - "type": "number" - }, - "name": { - "description": "Unique name for the volume.", - "type": "string" - } - }, - "id": "Volume", - "description": "Volumes mounted within the app container. Only applicable for VM runtimes." - }, - "Service": { - "id": "Service", - "description": "A Service resource is a logical component of an application that can share state and communicate in a secure fashion with other services. For example, an application that handles customer requests might include separate services to handle other tasks such as API requests from mobile devices or backend data analysis. Each service has a collection of versions that define a specific set of code used to implement the functionality of that service.", - "type": "object", - "properties": { - "name": { - "description": "Full path to the Service resource in the API. Example: apps/myapp/services/default.@OutputOnly", - "type": "string" - }, - "split": { - "description": "Mapping that defines fractional HTTP traffic diversion to different versions within the service.", - "$ref": "TrafficSplit" - }, - "id": { - "description": "Relative name of the service within the application. Example: default.@OutputOnly", - "type": "string" - } - } - }, - "ListOperationsResponse": { - "type": "object", - "properties": { - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" - }, - "operations": { - "description": "A list of operations that matches the specified filter in the request.", - "items": { - "$ref": "Operation" - }, - "type": "array" - } - }, - "id": "ListOperationsResponse", - "description": "The response message for Operations.ListOperations." - }, - "OperationMetadata": { - "description": "Metadata for the given google.longrunning.Operation.", - "type": "object", - "properties": { - "insertTime": { - "format": "google-datetime", - "description": "Timestamp that this operation was created.@OutputOnly", - "type": "string" - }, - "user": { - "description": "User who requested this operation.@OutputOnly", - "type": "string" - }, - "target": { - "description": "Name of the resource that this operation is acting on. Example: apps/myapp/modules/default.@OutputOnly", - "type": "string" - }, - "method": { - "description": "API method that initiated this operation. Example: google.appengine.v1beta4.Version.CreateVersion.@OutputOnly", - "type": "string" - }, - "endTime": { - "format": "google-datetime", - "description": "Timestamp that this operation completed.@OutputOnly", - "type": "string" - }, - "operationType": { - "description": "Type of this operation. Deprecated, use method field instead. Example: \"create_version\".@OutputOnly", - "type": "string" - } - }, - "id": "OperationMetadata" - }, "ListInstancesResponse": { "description": "Response message for Instances.ListInstances.", "type": "object", @@ -1642,26 +958,24 @@ "id": "ListInstancesResponse" }, "OperationMetadataV1": { - "description": "Metadata for the given google.longrunning.Operation.", - "type": "object", "properties": { "endTime": { "format": "google-datetime", "description": "Time that this operation completed.@OutputOnly", "type": "string" }, + "warning": { + "description": "Durable messages that persist on every operation poll. @OutputOnly", + "items": { + "type": "string" + }, + "type": "array" + }, "insertTime": { "format": "google-datetime", "description": "Time that this operation was created.@OutputOnly", "type": "string" }, - "warning": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Durable messages that persist on every operation poll. @OutputOnly" - }, "user": { "description": "User who requested this operation.@OutputOnly", "type": "string" @@ -1671,17 +985,20 @@ "type": "string" }, "ephemeralMessage": { - "type": "string", - "description": "Ephemeral message that may change every time the operation is polled. @OutputOnly" + "description": "Ephemeral message that may change every time the operation is polled. @OutputOnly", + "type": "string" }, "method": { "description": "API method that initiated this operation. Example: google.appengine.v1.Versions.CreateVersion.@OutputOnly", "type": "string" } }, - "id": "OperationMetadataV1" + "id": "OperationMetadataV1", + "description": "Metadata for the given google.longrunning.Operation.", + "type": "object" }, "ErrorHandler": { + "description": "Custom static error page to be served when an error occurs.", "type": "object", "properties": { "mimeType": { @@ -1689,6 +1006,7 @@ "type": "string" }, "errorCode": { + "description": "Error condition this handler applies to.", "type": "string", "enumDescriptions": [ "Not specified. ERROR_CODE_DEFAULT is assumed.", @@ -1703,24 +1021,20 @@ "ERROR_CODE_OVER_QUOTA", "ERROR_CODE_DOS_API_DENIAL", "ERROR_CODE_TIMEOUT" - ], - "description": "Error condition this handler applies to." + ] }, "staticFile": { "description": "Static file content to be served for this error.", "type": "string" } }, - "id": "ErrorHandler", - "description": "Custom static error page to be served when an error occurs." + "id": "ErrorHandler" }, "OperationMetadataV1Alpha": { - "description": "Metadata for the given google.longrunning.Operation.", - "type": "object", "properties": { "method": { - "type": "string", - "description": "API method that initiated this operation. Example: google.appengine.v1alpha.Versions.CreateVersion.@OutputOnly" + "description": "API method that initiated this operation. Example: google.appengine.v1alpha.Versions.CreateVersion.@OutputOnly", + "type": "string" }, "endTime": { "format": "google-datetime", @@ -1739,20 +1053,72 @@ "description": "Time that this operation was created.@OutputOnly", "type": "string" }, - "target": { - "description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", - "type": "string" - }, "user": { "description": "User who requested this operation.@OutputOnly", "type": "string" }, + "target": { + "description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", + "type": "string" + }, "ephemeralMessage": { "description": "Ephemeral message that may change every time the operation is polled. @OutputOnly", "type": "string" } }, - "id": "OperationMetadataV1Alpha" + "id": "OperationMetadataV1Alpha", + "description": "Metadata for the given google.longrunning.Operation.", + "type": "object" + }, + "Application": { + "properties": { + "iap": { + "$ref": "IdentityAwareProxy" + }, + "authDomain": { + "description": "Google Apps authentication domain that controls which users can access this application.Defaults to open access for any Google Account.", + "type": "string" + }, + "defaultCookieExpiration": { + "format": "google-duration", + "description": "Cookie expiration policy for this application.", + "type": "string" + }, + "id": { + "description": "Identifier of the Application resource. This identifier is equivalent to the project ID of the Google Cloud Platform project where you want to deploy your application. Example: myapp.", + "type": "string" + }, + "codeBucket": { + "description": "A Google Cloud Storage bucket that can be used for storing files associated with this application. This bucket is associated with the application and can be used by the gcloud deployment commands.@OutputOnly", + "type": "string" + }, + "location": { + "description": "Location from which this application will be run. Application instances will run out of data centers in the chosen location, which is also where all of the application's end user content is stored.Defaults to us-central.Options are:us-central - Central USeurope-west - Western Europeus-east1 - Eastern US", + "type": "string" + }, + "defaultBucket": { + "description": "A Google Cloud Storage bucket that can be used by the application to store content.@OutputOnly", + "type": "string" + }, + "dispatchRules": { + "description": "HTTP path dispatch rules for requests to the application that do not explicitly target a service or version. Rules are order-dependent.@OutputOnly", + "items": { + "$ref": "UrlDispatchRule" + }, + "type": "array" + }, + "defaultHostname": { + "description": "Hostname used to reach the application, as resolved by App Engine.@OutputOnly", + "type": "string" + }, + "name": { + "description": "Full path to the Application resource in the API. Example: apps/myapp.@OutputOnly", + "type": "string" + } + }, + "id": "Application", + "description": "An Application resource contains the top-level configuration of an App Engine application.", + "type": "object" }, "Network": { "description": "Extra network settings. Only applicable for VM runtimes.", @@ -1774,115 +1140,23 @@ "type": "array" }, "name": { - "type": "string", - "description": "Google Cloud Platform network where the virtual machines are created. Specify the short name, not the resource path.Defaults to default." + "description": "Google Cloud Platform network where the virtual machines are created. Specify the short name, not the resource path.Defaults to default.", + "type": "string" } }, "id": "Network" }, - "Application": { - "description": "An Application resource contains the top-level configuration of an App Engine application.", - "type": "object", - "properties": { - "location": { - "description": "Location from which this application will be run. Application instances will run out of data centers in the chosen location, which is also where all of the application's end user content is stored.Defaults to us-central.Options are:us-central - Central USeurope-west - Western Europeus-east1 - Eastern US", - "type": "string" - }, - "defaultBucket": { - "type": "string", - "description": "A Google Cloud Storage bucket that can be used by the application to store content.@OutputOnly" - }, - "dispatchRules": { - "description": "HTTP path dispatch rules for requests to the application that do not explicitly target a service or version. Rules are order-dependent.@OutputOnly", - "items": { - "$ref": "UrlDispatchRule" - }, - "type": "array" - }, - "defaultHostname": { - "description": "Hostname used to reach the application, as resolved by App Engine.@OutputOnly", - "type": "string" - }, - "name": { - "description": "Full path to the Application resource in the API. Example: apps/myapp.@OutputOnly", - "type": "string" - }, - "iap": { - "$ref": "IdentityAwareProxy" - }, - "authDomain": { - "description": "Google Apps authentication domain that controls which users can access this application.Defaults to open access for any Google Account.", - "type": "string" - }, - "defaultCookieExpiration": { - "format": "google-duration", - "description": "Cookie expiration policy for this application.", - "type": "string" - }, - "id": { - "description": "Identifier of the Application resource. This identifier is equivalent to the project ID of the Google Cloud Platform project where you want to deploy your application. Example: myapp.", - "type": "string" - }, - "codeBucket": { - "type": "string", - "description": "A Google Cloud Storage bucket that can be used for storing files associated with this application. This bucket is associated with the application and can be used by the gcloud deployment commands.@OutputOnly" - } - }, - "id": "Application" - }, - "UrlDispatchRule": { - "type": "object", - "properties": { - "path": { - "description": "Pathname within the host. Must start with a \"/\". A single \"*\" can be included at the end of the path. The sum of the lengths of the domain and path may not exceed 100 characters.", - "type": "string" - }, - "service": { - "description": "Resource id of a service in this application that should serve the matched request. The service must already exist. Example: default.", - "type": "string" - }, - "domain": { - "description": "Domain name to match against. The wildcard \"*\" is supported if specified before a period: \"*.\".Defaults to matching all domains: \"*\".", - "type": "string" - } - }, - "id": "UrlDispatchRule", - "description": "Rules to match an HTTP request and dispatch that request to a service." - }, "Instance": { + "description": "An Instance resource is the computing unit that App Engine uses to automatically scale an application.", + "type": "object", "properties": { - "vmName": { - "description": "Name of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment.@OutputOnly", - "type": "string" - }, - "vmId": { - "description": "Virtual machine ID of this instance. Only applicable for instances in App Engine flexible environment.@OutputOnly", - "type": "string" - }, - "qps": { - "type": "number", - "format": "float", - "description": "Average queries per second (QPS) over the last minute.@OutputOnly" - }, - "vmZoneName": { - "description": "Zone where the virtual machine is located. Only applicable for instances in App Engine flexible environment.@OutputOnly", - "type": "string" - }, - "vmUnlocked": { - "description": "Whether this instance is in debug mode. Only applicable for instances in App Engine flexible environment.@OutputOnly", - "type": "boolean" - }, - "name": { - "description": "Full path to the Instance resource in the API. Example: apps/myapp/services/default/versions/v1/instances/instance-1.@OutputOnly", - "type": "string" - }, "averageLatency": { "format": "int32", "description": "Average latency (ms) over the last minute.@OutputOnly", "type": "integer" }, - "vmIp": { - "description": "The IP address of this instance. Only applicable for instances in App Engine flexible environment.@OutputOnly", + "id": { + "description": "Relative name of the instance within the version. Example: instance-1.@OutputOnly", "type": "string" }, "memoryUsage": { @@ -1890,12 +1164,8 @@ "description": "Total memory in use (bytes).@OutputOnly", "type": "string" }, - "id": { - "description": "Relative name of the instance within the version. Example: instance-1.@OutputOnly", - "type": "string" - }, - "vmStatus": { - "description": "Status of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment.@OutputOnly", + "vmIp": { + "description": "The IP address of this instance. Only applicable for instances in App Engine flexible environment.@OutputOnly", "type": "string" }, "errors": { @@ -1903,19 +1173,23 @@ "description": "Number of errors since this instance was started.@OutputOnly", "type": "integer" }, + "vmStatus": { + "description": "Status of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment.@OutputOnly", + "type": "string" + }, "availability": { - "enumDescriptions": [ - "", - "", - "" - ], "enum": [ "UNSPECIFIED", "RESIDENT", "DYNAMIC" ], "description": "Availability of the instance.@OutputOnly", - "type": "string" + "type": "string", + "enumDescriptions": [ + "", + "", + "" + ] }, "requests": { "format": "int32", @@ -1930,29 +1204,71 @@ "format": "google-datetime", "description": "Time that this instance was started.@OutputOnly", "type": "string" + }, + "vmName": { + "description": "Name of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment.@OutputOnly", + "type": "string" + }, + "vmId": { + "description": "Virtual machine ID of this instance. Only applicable for instances in App Engine flexible environment.@OutputOnly", + "type": "string" + }, + "qps": { + "format": "float", + "description": "Average queries per second (QPS) over the last minute.@OutputOnly", + "type": "number" + }, + "vmUnlocked": { + "description": "Whether this instance is in debug mode. Only applicable for instances in App Engine flexible environment.@OutputOnly", + "type": "boolean" + }, + "name": { + "description": "Full path to the Instance resource in the API. Example: apps/myapp/services/default/versions/v1/instances/instance-1.@OutputOnly", + "type": "string" + }, + "vmZoneName": { + "description": "Zone where the virtual machine is located. Only applicable for instances in App Engine flexible environment.@OutputOnly", + "type": "string" } }, - "id": "Instance", - "description": "An Instance resource is the computing unit that App Engine uses to automatically scale an application.", + "id": "Instance" + }, + "UrlDispatchRule": { + "properties": { + "service": { + "description": "Resource id of a service in this application that should serve the matched request. The service must already exist. Example: default.", + "type": "string" + }, + "domain": { + "description": "Domain name to match against. The wildcard \"*\" is supported if specified before a period: \"*.\".Defaults to matching all domains: \"*\".", + "type": "string" + }, + "path": { + "description": "Pathname within the host. Must start with a \"/\". A single \"*\" can be included at the end of the path. The sum of the lengths of the domain and path may not exceed 100 characters.", + "type": "string" + } + }, + "id": "UrlDispatchRule", + "description": "Rules to match an HTTP request and dispatch that request to a service.", "type": "object" }, "ListVersionsResponse": { + "description": "Response message for Versions.ListVersions.", "type": "object", "properties": { "versions": { + "description": "The versions belonging to the requested service.", "items": { "$ref": "Version" }, - "type": "array", - "description": "The versions belonging to the requested service." + "type": "array" }, "nextPageToken": { "description": "Continuation token for fetching the next page of results.", "type": "string" } }, - "id": "ListVersionsResponse", - "description": "Response message for Versions.ListVersions." + "id": "ListVersionsResponse" }, "ApiEndpointHandler": { "properties": { @@ -1969,54 +1285,6 @@ "description": "Automatic scaling is based on request rate, response latencies, and other application metrics.", "type": "object", "properties": { - "minPendingLatency": { - "format": "google-duration", - "description": "Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it.", - "type": "string" - }, - "maxIdleInstances": { - "format": "int32", - "description": "Maximum number of idle instances that should be maintained for this version.", - "type": "integer" - }, - "requestUtilization": { - "description": "Target scaling by request utilization.", - "$ref": "RequestUtilization" - }, - "minIdleInstances": { - "format": "int32", - "description": "Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a module.", - "type": "integer" - }, - "maxTotalInstances": { - "type": "integer", - "format": "int32", - "description": "Maximum number of instances that should be started to handle requests." - }, - "minTotalInstances": { - "format": "int32", - "description": "Minimum number of instances that should be maintained for this version.", - "type": "integer" - }, - "networkUtilization": { - "description": "Target scaling by network usage.", - "$ref": "NetworkUtilization" - }, - "maxConcurrentRequests": { - "format": "int32", - "description": "Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance.Defaults to a runtime-specific value.", - "type": "integer" - }, - "coolDownPeriod": { - "format": "google-duration", - "description": "Amount of time that the Autoscaler (https://cloud.google.com/compute/docs/autoscaler/) should wait between changes to the number of virtual machines. Only applicable for VM runtimes.", - "type": "string" - }, - "maxPendingLatency": { - "format": "google-duration", - "description": "Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it.", - "type": "string" - }, "cpuUtilization": { "$ref": "CpuUtilization", "description": "Target scaling by CPU usage." @@ -2024,38 +1292,60 @@ "diskUtilization": { "description": "Target scaling by disk usage.", "$ref": "DiskUtilization" + }, + "minPendingLatency": { + "format": "google-duration", + "description": "Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it.", + "type": "string" + }, + "requestUtilization": { + "$ref": "RequestUtilization", + "description": "Target scaling by request utilization." + }, + "maxIdleInstances": { + "format": "int32", + "description": "Maximum number of idle instances that should be maintained for this version.", + "type": "integer" + }, + "minIdleInstances": { + "format": "int32", + "description": "Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a module.", + "type": "integer" + }, + "maxTotalInstances": { + "format": "int32", + "description": "Maximum number of instances that should be started to handle requests.", + "type": "integer" + }, + "minTotalInstances": { + "format": "int32", + "description": "Minimum number of instances that should be maintained for this version.", + "type": "integer" + }, + "networkUtilization": { + "$ref": "NetworkUtilization", + "description": "Target scaling by network usage." + }, + "coolDownPeriod": { + "format": "google-duration", + "description": "Amount of time that the Autoscaler (https://cloud.google.com/compute/docs/autoscaler/) should wait between changes to the number of virtual machines. Only applicable for VM runtimes.", + "type": "string" + }, + "maxConcurrentRequests": { + "format": "int32", + "description": "Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance.Defaults to a runtime-specific value.", + "type": "integer" + }, + "maxPendingLatency": { + "format": "google-duration", + "description": "Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it.", + "type": "string" } }, "id": "AutomaticScaling" }, - "NetworkUtilization": { - "type": "object", - "properties": { - "targetReceivedPacketsPerSec": { - "format": "int32", - "description": "Target packets received per second.", - "type": "integer" - }, - "targetSentBytesPerSec": { - "format": "int32", - "description": "Target bytes sent per second.", - "type": "integer" - }, - "targetReceivedBytesPerSec": { - "format": "int32", - "description": "Target bytes received per second.", - "type": "integer" - }, - "targetSentPacketsPerSec": { - "format": "int32", - "description": "Target packets sent per second.", - "type": "integer" - } - }, - "id": "NetworkUtilization", - "description": "Target scaling by network usage. Only applicable for VM runtimes." - }, "Location": { + "description": "A resource that represents Google Cloud Platform location.", "type": "object", "properties": { "labels": { @@ -2082,37 +1372,53 @@ "type": "object" } }, - "id": "Location", - "description": "A resource that represents Google Cloud Platform location." + "id": "Location" + }, + "NetworkUtilization": { + "properties": { + "targetSentPacketsPerSec": { + "format": "int32", + "description": "Target packets sent per second.", + "type": "integer" + }, + "targetReceivedPacketsPerSec": { + "format": "int32", + "description": "Target packets received per second.", + "type": "integer" + }, + "targetSentBytesPerSec": { + "format": "int32", + "description": "Target bytes sent per second.", + "type": "integer" + }, + "targetReceivedBytesPerSec": { + "format": "int32", + "description": "Target bytes received per second.", + "type": "integer" + } + }, + "id": "NetworkUtilization", + "description": "Target scaling by network usage. Only applicable for VM runtimes.", + "type": "object" }, "HealthCheck": { - "id": "HealthCheck", "description": "Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances. Only applicable for instances in App Engine flexible environment.", "type": "object", "properties": { - "unhealthyThreshold": { - "format": "uint32", - "description": "Number of consecutive failed health checks required before removing traffic.", - "type": "integer" - }, - "disableHealthCheck": { - "description": "Whether to explicitly disable health checks for this instance.", - "type": "boolean" - }, "host": { "description": "Host header to send when performing an HTTP health check. Example: \"myapp.appspot.com\"", "type": "string" }, - "restartThreshold": { - "format": "uint32", - "description": "Number of consecutive failed health checks required before an instance is restarted.", - "type": "integer" - }, "healthyThreshold": { "format": "uint32", "description": "Number of consecutive successful health checks required before receiving traffic.", "type": "integer" }, + "restartThreshold": { + "format": "uint32", + "description": "Number of consecutive failed health checks required before an instance is restarted.", + "type": "integer" + }, "checkInterval": { "format": "google-duration", "description": "Interval between health checks.", @@ -2122,12 +1428,20 @@ "format": "google-duration", "description": "Time before the health check is considered failed.", "type": "string" + }, + "unhealthyThreshold": { + "format": "uint32", + "description": "Number of consecutive failed health checks required before removing traffic.", + "type": "integer" + }, + "disableHealthCheck": { + "description": "Whether to explicitly disable health checks for this instance.", + "type": "boolean" } - } + }, + "id": "HealthCheck" }, "SourceReference": { - "description": "Reference to a particular snapshot of the source tree used to build and deploy the application.", - "type": "object", "properties": { "repository": { "description": "URI string identifying the repository. Example: \"https://source.developers.google.com/p/app-123/r/default\"", @@ -2138,7 +1452,9 @@ "type": "string" } }, - "id": "SourceReference" + "id": "SourceReference", + "description": "Reference to a particular snapshot of the source tree used to build and deploy the application.", + "type": "object" }, "DebugInstanceRequest": { "description": "Request message for Instances.DebugInstance.", @@ -2152,7 +1468,6 @@ "id": "DebugInstanceRequest" }, "Library": { - "type": "object", "properties": { "name": { "description": "Name of the library. Example: \"django\".", @@ -2164,7 +1479,8 @@ } }, "id": "Library", - "description": "Third-party Python runtime library that is required by the application." + "description": "Third-party Python runtime library that is required by the application.", + "type": "object" }, "OperationMetadataV1Beta5": { "description": "Metadata for the given google.longrunning.Operation.", @@ -2196,106 +1512,36 @@ "id": "OperationMetadataV1Beta5" }, "ListLocationsResponse": { - "id": "ListLocationsResponse", "description": "The response message for Locations.ListLocations.", "type": "object", "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, "locations": { "description": "A list of locations that matches the specified filter in the request.", "items": { "$ref": "Location" }, "type": "array" - }, - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" } - } + }, + "id": "ListLocationsResponse" }, - "Version": { - "description": "A Version resource is a specific set of source code and configuration files that are deployed into a service.", + "ContainerInfo": { + "description": "Docker image that is used to create a container and start a VM instance for the version that you deploy. Only applicable for instances running in the App Engine flexible environment.", "type": "object", "properties": { - "manualScaling": { - "description": "A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time.", - "$ref": "ManualScaling" - }, - "name": { - "type": "string", - "description": "Full path to the Version resource in the API. Example: apps/myapp/services/default/versions/v1.@OutputOnly" - }, - "apiConfig": { - "description": "Serving configuration for Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/endpoints/).Only returned in GET requests if view=FULL is set.", - "$ref": "ApiConfigHandler" - }, - "endpointsApiService": { - "description": "Cloud Endpoints configuration.If endpoints_api_service is set, the Cloud Endpoints Extensible Service Proxy will be provided to serve the API implemented by the app.", - "$ref": "EndpointsApiService" - }, - "vm": { - "description": "Whether to deploy this version in a container on a virtual machine.", - "type": "boolean" - }, - "instanceClass": { - "description": "Instance class that is used to run this version. Valid values are:\nAutomaticScaling: F1, F2, F4, F4_1G\nManualScaling or BasicScaling: B1, B2, B4, B8, B4_1GDefaults to F1 for AutomaticScaling and B1 for ManualScaling or BasicScaling.", + "image": { + "description": "URI to the hosted container image in Google Container Registry. The URI must be fully qualified and include a tag or digest. Examples: \"gcr.io/my-project/image:tag\" or \"gcr.io/my-project/image@digest\"", "type": "string" - }, - "servingStatus": { - "description": "Current serving status of this version. Only the versions with a SERVING status create instances and can be billed.SERVING_STATUS_UNSPECIFIED is an invalid value. Defaults to SERVING.", - "type": "string", - "enumDescriptions": [ - "Not specified.", - "Currently serving. Instances are created according to the scaling settings of the version.", - "Disabled from serving. No instances will be created and the scaling settings are ignored until the state of the version changes to SERVING." - ], - "enum": [ - "SERVING_STATUS_UNSPECIFIED", - "SERVING", - "STOPPED" - ] - }, - "runtimeApiVersion": { - "description": "The version of the API in the given runtime environment. Please see the app.yaml reference for valid values at https://cloud.google.com/appengine/docs/standard/\u003clanguage\u003e/config/appref", - "type": "string" - }, - "deployment": { - "description": "Code and application artifacts that make up this version.Only returned in GET requests if view=FULL is set.", - "$ref": "Deployment" - }, - "resources": { - "$ref": "Resources", - "description": "Machine resources for this version. Only applicable for VM runtimes." - }, - "inboundServices": { - "enumDescriptions": [ - "Not specified.", - "Allows an application to receive mail.", - "Allows an application to receive email-bound notifications.", - "Allows an application to receive error stanzas.", - "Allows an application to receive instant messages.", - "Allows an application to receive user subscription POSTs.", - "Allows an application to receive a user's chat presence.", - "Registers an application for notifications when a client connects or disconnects from a channel.", - "Enables warmup requests." - ], - "description": "Before an application can receive email or XMPP messages, the application must be configured to enable the service.", - "items": { - "enum": [ - "INBOUND_SERVICE_UNSPECIFIED", - "INBOUND_SERVICE_MAIL", - "INBOUND_SERVICE_MAIL_BOUNCE", - "INBOUND_SERVICE_XMPP_ERROR", - "INBOUND_SERVICE_XMPP_MESSAGE", - "INBOUND_SERVICE_XMPP_SUBSCRIBE", - "INBOUND_SERVICE_XMPP_PRESENCE", - "INBOUND_SERVICE_CHANNEL_PRESENCE", - "INBOUND_SERVICE_WARMUP" - ], - "type": "string" - }, - "type": "array" - }, + } + }, + "id": "ContainerInfo" + }, + "Version": { + "properties": { "errorHandlers": { "description": "Custom static error pages. Limited to 10KB per page.Only returned in GET requests if view=FULL is set.", "items": { @@ -2333,26 +1579,26 @@ "type": "string" }, "id": { - "type": "string", - "description": "Relative name of the version within the module. Example: v1. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names: \"default\", \"latest\", and any name with the prefix \"ah-\"." + "description": "Relative name of the version within the module. Example: v1. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names: \"default\", \"latest\", and any name with the prefix \"ah-\".", + "type": "string" }, "envVariables": { + "description": "Environment variables made available to the application.Only returned in GET requests if view=FULL is set.", "type": "object", "additionalProperties": { "type": "string" - }, - "description": "Environment variables made available to the application.Only returned in GET requests if view=FULL is set." + } }, "network": { - "description": "Extra network settings. Only applicable for VM runtimes.", - "$ref": "Network" + "$ref": "Network", + "description": "Extra network settings. Only applicable for VM runtimes." }, "betaSettings": { - "type": "object", "additionalProperties": { "type": "string" }, - "description": "Metadata settings that are supplied to this version to enable beta runtime features." + "description": "Metadata settings that are supplied to this version to enable beta runtime features.", + "type": "object" }, "env": { "description": "App Engine execution environment to use for this version.Defaults to 1.", @@ -2370,8 +1616,8 @@ "type": "string" }, "automaticScaling": { - "$ref": "AutomaticScaling", - "description": "Automatic scaling is based on request rate, response latencies, and other application metrics." + "description": "Automatic scaling is based on request rate, response latencies, and other application metrics.", + "$ref": "AutomaticScaling" }, "diskUsageBytes": { "format": "int64", @@ -2385,27 +1631,781 @@ "threadsafe": { "description": "Whether multiple requests can be dispatched to this version at once.", "type": "boolean" + }, + "manualScaling": { + "description": "A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time.", + "$ref": "ManualScaling" + }, + "name": { + "description": "Full path to the Version resource in the API. Example: apps/myapp/services/default/versions/v1.@OutputOnly", + "type": "string" + }, + "apiConfig": { + "description": "Serving configuration for Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/endpoints/).Only returned in GET requests if view=FULL is set.", + "$ref": "ApiConfigHandler" + }, + "endpointsApiService": { + "$ref": "EndpointsApiService", + "description": "Cloud Endpoints configuration.If endpoints_api_service is set, the Cloud Endpoints Extensible Service Proxy will be provided to serve the API implemented by the app." + }, + "vm": { + "description": "Whether to deploy this version in a container on a virtual machine.", + "type": "boolean" + }, + "instanceClass": { + "description": "Instance class that is used to run this version. Valid values are:\nAutomaticScaling: F1, F2, F4, F4_1G\nManualScaling or BasicScaling: B1, B2, B4, B8, B4_1GDefaults to F1 for AutomaticScaling and B1 for ManualScaling or BasicScaling.", + "type": "string" + }, + "servingStatus": { + "description": "Current serving status of this version. Only the versions with a SERVING status create instances and can be billed.SERVING_STATUS_UNSPECIFIED is an invalid value. Defaults to SERVING.", + "type": "string", + "enumDescriptions": [ + "Not specified.", + "Currently serving. Instances are created according to the scaling settings of the version.", + "Disabled from serving. No instances will be created and the scaling settings are ignored until the state of the version changes to SERVING." + ], + "enum": [ + "SERVING_STATUS_UNSPECIFIED", + "SERVING", + "STOPPED" + ] + }, + "deployment": { + "$ref": "Deployment", + "description": "Code and application artifacts that make up this version.Only returned in GET requests if view=FULL is set." + }, + "runtimeApiVersion": { + "description": "The version of the API in the given runtime environment. Please see the app.yaml reference for valid values at https://cloud.google.com/appengine/docs/standard/\u003clanguage\u003e/config/appref", + "type": "string" + }, + "inboundServices": { + "description": "Before an application can receive email or XMPP messages, the application must be configured to enable the service.", + "items": { + "enum": [ + "INBOUND_SERVICE_UNSPECIFIED", + "INBOUND_SERVICE_MAIL", + "INBOUND_SERVICE_MAIL_BOUNCE", + "INBOUND_SERVICE_XMPP_ERROR", + "INBOUND_SERVICE_XMPP_MESSAGE", + "INBOUND_SERVICE_XMPP_SUBSCRIBE", + "INBOUND_SERVICE_XMPP_PRESENCE", + "INBOUND_SERVICE_CHANNEL_PRESENCE", + "INBOUND_SERVICE_WARMUP" + ], + "type": "string" + }, + "type": "array", + "enumDescriptions": [ + "Not specified.", + "Allows an application to receive mail.", + "Allows an application to receive email-bound notifications.", + "Allows an application to receive error stanzas.", + "Allows an application to receive instant messages.", + "Allows an application to receive user subscription POSTs.", + "Allows an application to receive a user's chat presence.", + "Registers an application for notifications when a client connects or disconnects from a channel.", + "Enables warmup requests." + ] + }, + "resources": { + "$ref": "Resources", + "description": "Machine resources for this version. Only applicable for VM runtimes." } }, - "id": "Version" + "id": "Version", + "description": "A Version resource is a specific set of source code and configuration files that are deployed into a service.", + "type": "object" }, - "ContainerInfo": { - "id": "ContainerInfo", - "description": "Docker image that is used to create a container and start a VM instance for the version that you deploy. Only applicable for instances running in the App Engine flexible environment.", + "RequestUtilization": { + "description": "Target scaling by request utilization. Only applicable for VM runtimes.", "type": "object", "properties": { - "image": { - "description": "URI to the hosted container image in Google Container Registry. The URI must be fully qualified and include a tag or digest. Examples: \"gcr.io/my-project/image:tag\" or \"gcr.io/my-project/image@digest\"", + "targetConcurrentRequests": { + "format": "int32", + "description": "Target number of concurrent requests.", + "type": "integer" + }, + "targetRequestCountPerSec": { + "format": "int32", + "description": "Target requests per second.", + "type": "integer" + } + }, + "id": "RequestUtilization" + }, + "UrlMap": { + "description": "URL pattern and description of how the URL should be handled. App Engine can handle URLs by executing application code, or by serving static files uploaded with the version, such as images, CSS, or JavaScript.", + "type": "object", + "properties": { + "securityLevel": { + "enumDescriptions": [ + "Not specified.", + "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used, and respond accordingly.", + "Requests for a URL that match this handler that use HTTPS are automatically redirected to the HTTP equivalent URL.", + "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used and respond accordingly.", + "Requests for a URL that match this handler that do not use HTTPS are automatically redirected to the HTTPS URL with the same path. Query parameters are reserved for the redirect." + ], + "enum": [ + "SECURE_UNSPECIFIED", + "SECURE_DEFAULT", + "SECURE_NEVER", + "SECURE_OPTIONAL", + "SECURE_ALWAYS" + ], + "description": "Security (HTTPS) enforcement for this URL.", + "type": "string" + }, + "authFailAction": { + "description": "Action to take when users access resources that require authentication. Defaults to redirect.", + "type": "string", + "enumDescriptions": [ + "Not specified. AUTH_FAIL_ACTION_REDIRECT is assumed.", + "Redirects user to \"accounts.google.com\". The user is redirected back to the application URL after signing in or creating an account.", + "Rejects request with an401 HTTP status code and an error message." + ], + "enum": [ + "AUTH_FAIL_ACTION_UNSPECIFIED", + "AUTH_FAIL_ACTION_REDIRECT", + "AUTH_FAIL_ACTION_UNAUTHORIZED" + ] + }, + "script": { + "description": "Executes a script to handle the request that matches this URL pattern.", + "$ref": "ScriptHandler" + }, + "urlRegex": { + "description": "A URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path.", + "type": "string" + }, + "login": { + "enumDescriptions": [ + "Not specified. LOGIN_OPTIONAL is assumed.", + "Does not require that the user is signed in.", + "If the user is not signed in, the auth_fail_action is taken. In addition, if the user is not an administrator for the application, they are given an error message regardless of auth_fail_action. If the user is an administrator, the handler proceeds.", + "If the user has signed in, the handler proceeds normally. Otherwise, the action given in auth_fail_action is taken." + ], + "enum": [ + "LOGIN_UNSPECIFIED", + "LOGIN_OPTIONAL", + "LOGIN_ADMIN", + "LOGIN_REQUIRED" + ], + "description": "Level of login required to access this resource.", + "type": "string" + }, + "apiEndpoint": { + "$ref": "ApiEndpointHandler", + "description": "Uses API Endpoints to handle requests." + }, + "staticFiles": { + "description": "Returns the contents of a file, such as an image, as the response.", + "$ref": "StaticFilesHandler" + }, + "redirectHttpResponseCode": { + "enum": [ + "REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED", + "REDIRECT_HTTP_RESPONSE_CODE_301", + "REDIRECT_HTTP_RESPONSE_CODE_302", + "REDIRECT_HTTP_RESPONSE_CODE_303", + "REDIRECT_HTTP_RESPONSE_CODE_307" + ], + "description": "30x code to use when performing redirects for the secure field. Defaults to 302.", + "type": "string", + "enumDescriptions": [ + "Not specified. 302 is assumed.", + "301 Moved Permanently code.", + "302 Moved Temporarily code.", + "303 See Other code.", + "307 Temporary Redirect code." + ] + } + }, + "id": "UrlMap" + }, + "EndpointsApiService": { + "properties": { + "configId": { + "description": "Endpoints service configuration id as specified by the Service Management API. For example \"2016-09-19r1\"", + "type": "string" + }, + "name": { + "description": "Endpoints service name which is the name of the \"service\" resource in the Service Management API. For example \"myapi.endpoints.myproject.cloud.goog\"", "type": "string" } - } + }, + "id": "EndpointsApiService", + "description": "Cloud Endpoints (https://cloud.google.com/endpoints) configuration. The Endpoints API Service provides tooling for serving Open API and gRPC endpoints via an NGINX proxy.The fields here refer to the name and configuration id of a \"service\" resource in the Service Management API (https://cloud.google.com/service-management/overview).", + "type": "object" + }, + "ApiConfigHandler": { + "description": "Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/endpoints/) configuration for API handlers.", + "type": "object", + "properties": { + "script": { + "description": "Path to the script from the application root directory.", + "type": "string" + }, + "login": { + "enumDescriptions": [ + "Not specified. LOGIN_OPTIONAL is assumed.", + "Does not require that the user is signed in.", + "If the user is not signed in, the auth_fail_action is taken. In addition, if the user is not an administrator for the application, they are given an error message regardless of auth_fail_action. If the user is an administrator, the handler proceeds.", + "If the user has signed in, the handler proceeds normally. Otherwise, the action given in auth_fail_action is taken." + ], + "enum": [ + "LOGIN_UNSPECIFIED", + "LOGIN_OPTIONAL", + "LOGIN_ADMIN", + "LOGIN_REQUIRED" + ], + "description": "Level of login required to access this resource. Defaults to optional.", + "type": "string" + }, + "url": { + "description": "URL to serve the endpoint at.", + "type": "string" + }, + "securityLevel": { + "enumDescriptions": [ + "Not specified.", + "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used, and respond accordingly.", + "Requests for a URL that match this handler that use HTTPS are automatically redirected to the HTTP equivalent URL.", + "Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used and respond accordingly.", + "Requests for a URL that match this handler that do not use HTTPS are automatically redirected to the HTTPS URL with the same path. Query parameters are reserved for the redirect." + ], + "enum": [ + "SECURE_UNSPECIFIED", + "SECURE_DEFAULT", + "SECURE_NEVER", + "SECURE_OPTIONAL", + "SECURE_ALWAYS" + ], + "description": "Security (HTTPS) enforcement for this URL.", + "type": "string" + }, + "authFailAction": { + "enumDescriptions": [ + "Not specified. AUTH_FAIL_ACTION_REDIRECT is assumed.", + "Redirects user to \"accounts.google.com\". The user is redirected back to the application URL after signing in or creating an account.", + "Rejects request with an401 HTTP status code and an error message." + ], + "enum": [ + "AUTH_FAIL_ACTION_UNSPECIFIED", + "AUTH_FAIL_ACTION_REDIRECT", + "AUTH_FAIL_ACTION_UNAUTHORIZED" + ], + "description": "Action to take when users access resources that require authentication. Defaults to redirect.", + "type": "string" + } + }, + "id": "ApiConfigHandler" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "type": "object", + "properties": { + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + } + }, + "done": { + "description": "If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.", + "type": "boolean" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should have the format of operations/some/unique/name.", + "type": "string" + } + }, + "id": "Operation" + }, + "ScriptHandler": { + "properties": { + "scriptPath": { + "description": "Path to the script from the application root directory.", + "type": "string" + } + }, + "id": "ScriptHandler", + "description": "Executes a script to handle the request that matches the URL pattern.", + "type": "object" + }, + "StaticFilesHandler": { + "description": "Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them.", + "type": "object", + "properties": { + "applicationReadable": { + "description": "Whether files should also be uploaded as code data. By default, files declared in static file handlers are uploaded as static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged against both your code and static data storage resource quotas.", + "type": "boolean" + }, + "httpHeaders": { + "description": "HTTP headers to use for all responses from these URLs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "uploadPathRegex": { + "description": "Regular expression that matches the file paths for all files that should be referenced by this handler.", + "type": "string" + }, + "path": { + "description": "Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern.", + "type": "string" + }, + "mimeType": { + "description": "MIME type used to serve all files served by this handler. Defaults to file-specific MIME types, which are derived from each file's filename extension.", + "type": "string" + }, + "requireMatchingFile": { + "description": "Whether this handler should match the request if the file referenced by the handler does not exist.", + "type": "boolean" + }, + "expiration": { + "format": "google-duration", + "description": "Time a static file served by this handler should be cached.", + "type": "string" + } + }, + "id": "StaticFilesHandler" + }, + "FileInfo": { + "properties": { + "sha1Sum": { + "description": "The SHA1 hash of the file, in hex.", + "type": "string" + }, + "mimeType": { + "description": "The MIME type of the file.Defaults to the value from Google Cloud Storage.", + "type": "string" + }, + "sourceUrl": { + "description": "URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\u003cbucket\u003e/\u003cobject\u003e'.", + "type": "string" + } + }, + "id": "FileInfo", + "description": "Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately.", + "type": "object" + }, + "BasicScaling": { + "description": "A service with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity.", + "type": "object", + "properties": { + "idleTimeout": { + "format": "google-duration", + "description": "Duration of time after the last request that an instance must wait before the instance is shut down.", + "type": "string" + }, + "maxInstances": { + "format": "int32", + "description": "Maximum number of instances to create for this version.", + "type": "integer" + } + }, + "id": "BasicScaling" + }, + "DiskUtilization": { + "description": "Target scaling by disk usage. Only applicable for VM runtimes.", + "type": "object", + "properties": { + "targetWriteBytesPerSec": { + "format": "int32", + "description": "Target bytes written per second.", + "type": "integer" + }, + "targetReadOpsPerSec": { + "format": "int32", + "description": "Target ops read per second.", + "type": "integer" + }, + "targetReadBytesPerSec": { + "format": "int32", + "description": "Target bytes read per second.", + "type": "integer" + }, + "targetWriteOpsPerSec": { + "format": "int32", + "description": "Target ops written per second.", + "type": "integer" + } + }, + "id": "DiskUtilization" + }, + "OperationMetadataExperimental": { + "description": "Metadata for the given google.longrunning.Operation.", + "type": "object", + "properties": { + "target": { + "description": "Name of the resource that this operation is acting on. Example: apps/myapp/customDomains/example.com.@OutputOnly", + "type": "string" + }, + "user": { + "description": "User who requested this operation.@OutputOnly", + "type": "string" + }, + "method": { + "description": "API method that initiated this operation. Example: google.appengine.experimental.CustomDomains.CreateCustomDomain.@OutputOnly", + "type": "string" + }, + "insertTime": { + "format": "google-datetime", + "description": "Time that this operation was created.@OutputOnly", + "type": "string" + }, + "endTime": { + "format": "google-datetime", + "description": "Time that this operation completed.@OutputOnly", + "type": "string" + } + }, + "id": "OperationMetadataExperimental" + }, + "CpuUtilization": { + "properties": { + "aggregationWindowLength": { + "format": "google-duration", + "description": "Period of time over which CPU utilization is calculated.", + "type": "string" + }, + "targetUtilization": { + "format": "double", + "description": "Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1.", + "type": "number" + } + }, + "id": "CpuUtilization", + "description": "Target scaling by CPU usage.", + "type": "object" + }, + "IdentityAwareProxy": { + "properties": { + "oauth2ClientSecret": { + "description": "For security reasons, this value cannot be retrieved via the API. Instead, the SHA-256 hash of the value is returned in the oauth2_client_secret_sha256 field.@InputOnly", + "type": "string" + }, + "oauth2ClientId": { + "description": "OAuth2 client ID to use for the authentication flow.", + "type": "string" + }, + "oauth2ClientSecretSha256": { + "description": "Hex-encoded SHA-256 hash of the client secret.@OutputOnly", + "type": "string" + }, + "enabled": { + "description": "Whether the serving infrastructure will authenticate and authorize all incoming requests.If true, the oauth2_client_id and oauth2_client_secret fields must be non-empty.", + "type": "boolean" + } + }, + "id": "IdentityAwareProxy", + "description": "Identity-Aware Proxy", + "type": "object" + }, + "Status": { + "description": "The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). The error model is designed to be:\nSimple to use and understand for most users\nFlexible enough to meet unexpected needsOverviewThe Status message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers understand and resolve the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package google.rpc that can be used for common error conditions.Language mappingThe Status message is the logical representation of the error model, but it is not necessarily the actual wire format. When the Status message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C.Other usesThe error model and the Status message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments.Example uses of this error model include:\nPartial errors. If a service needs to return partial errors to the client, it may embed the Status in the normal response to indicate the partial errors.\nWorkflow errors. A typical workflow has multiple steps. Each step may have a Status message for error reporting.\nBatch operations. If a client uses batch request and batch response, the Status message should be used directly inside batch response, one for each error sub-response.\nAsynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the Status message.\nLogging. If some API errors are stored in logs, the message Status could be used directly after any stripping needed for security/privacy reasons.", + "type": "object", + "properties": { + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "code": { + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "id": "Status" + }, + "TrafficSplit": { + "description": "Traffic routing configuration for versions within a single service. Traffic splits define how traffic directed to the service is assigned to versions.", + "type": "object", + "properties": { + "allocations": { + "description": "Mapping from version IDs within the service to fractional (0.000, 1] allocations of traffic for that version. Each version can be specified only once, but some versions in the service may not have any traffic allocation. Services that have traffic allocated cannot be deleted until either the service is deleted or their traffic allocation is removed. Allocations must sum to 1. Up to two decimal place precision is supported for IP-based splits and up to three decimal places is supported for cookie-based splits.", + "type": "object", + "additionalProperties": { + "format": "double", + "type": "number" + } + }, + "shardBy": { + "enumDescriptions": [ + "Diversion method unspecified.", + "Diversion based on a specially named cookie, \"GOOGAPPUID.\" The cookie must be set by the application itself or else no diversion will occur.", + "Diversion based on applying the modulus operation to a fingerprint of the IP address." + ], + "enum": [ + "UNSPECIFIED", + "COOKIE", + "IP" + ], + "description": "Mechanism used to determine which version a request is sent to. The traffic selection algorithm will be stable for either type until allocations are changed.", + "type": "string" + } + }, + "id": "TrafficSplit" + }, + "ManualScaling": { + "properties": { + "instances": { + "format": "int32", + "description": "Number of instances to assign to the service at the start. This number can later be altered by using the Modules API (https://cloud.google.com/appengine/docs/python/modules/functions) set_num_instances() function.", + "type": "integer" + } + }, + "id": "ManualScaling", + "description": "A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time.", + "type": "object" + }, + "LocationMetadata": { + "description": "Metadata for the given google.cloud.location.Location.", + "type": "object", + "properties": { + "standardEnvironmentAvailable": { + "description": "App Engine Standard Environment is available in the given location.@OutputOnly", + "type": "boolean" + }, + "flexibleEnvironmentAvailable": { + "description": "App Engine Flexible Environment is available in the given location.@OutputOnly", + "type": "boolean" + } + }, + "id": "LocationMetadata" + }, + "OperationMetadataV1Beta": { + "properties": { + "method": { + "description": "API method that initiated this operation. Example: google.appengine.v1beta.Versions.CreateVersion.@OutputOnly", + "type": "string" + }, + "endTime": { + "format": "google-datetime", + "description": "Time that this operation completed.@OutputOnly", + "type": "string" + }, + "warning": { + "description": "Durable messages that persist on every operation poll. @OutputOnly", + "items": { + "type": "string" + }, + "type": "array" + }, + "insertTime": { + "format": "google-datetime", + "description": "Time that this operation was created.@OutputOnly", + "type": "string" + }, + "user": { + "description": "User who requested this operation.@OutputOnly", + "type": "string" + }, + "target": { + "description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", + "type": "string" + }, + "ephemeralMessage": { + "description": "Ephemeral message that may change every time the operation is polled. @OutputOnly", + "type": "string" + } + }, + "id": "OperationMetadataV1Beta", + "description": "Metadata for the given google.longrunning.Operation.", + "type": "object" + }, + "ListServicesResponse": { + "description": "Response message for Services.ListServices.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "Continuation token for fetching the next page of results.", + "type": "string" + }, + "services": { + "description": "The services belonging to the requested application.", + "items": { + "$ref": "Service" + }, + "type": "array" + } + }, + "id": "ListServicesResponse" + }, + "Resources": { + "description": "Machine resources for a version.", + "type": "object", + "properties": { + "volumes": { + "description": "Volumes mounted within the app container.", + "items": { + "$ref": "Volume" + }, + "type": "array" + }, + "diskGb": { + "format": "double", + "description": "Disk size (GB) needed.", + "type": "number" + }, + "memoryGb": { + "format": "double", + "description": "Memory (GB) needed.", + "type": "number" + }, + "cpu": { + "format": "double", + "description": "Number of CPU cores needed.", + "type": "number" + } + }, + "id": "Resources" + }, + "Deployment": { + "description": "Code and application artifacts used to deploy a version to App Engine.", + "type": "object", + "properties": { + "sourceReferences": { + "description": "Origin of the source code for this deployment. There can be more than one source reference per version if source code is distributed among multiple repositories.", + "items": { + "$ref": "SourceReference" + }, + "type": "array" + }, + "container": { + "$ref": "ContainerInfo", + "description": "The Docker image for the container that runs the version. Only applicable for instances running in the App Engine flexible environment." + }, + "files": { + "additionalProperties": { + "$ref": "FileInfo" + }, + "description": "Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call.", + "type": "object" + } + }, + "id": "Deployment" + }, + "Volume": { + "description": "Volumes mounted within the app container. Only applicable for VM runtimes.", + "type": "object", + "properties": { + "volumeType": { + "description": "Underlying volume type, e.g. 'tmpfs'.", + "type": "string" + }, + "sizeGb": { + "format": "double", + "description": "Volume size in gigabytes.", + "type": "number" + }, + "name": { + "description": "Unique name for the volume.", + "type": "string" + } + }, + "id": "Volume" + }, + "Service": { + "description": "A Service resource is a logical component of an application that can share state and communicate in a secure fashion with other services. For example, an application that handles customer requests might include separate services to handle other tasks such as API requests from mobile devices or backend data analysis. Each service has a collection of versions that define a specific set of code used to implement the functionality of that service.", + "type": "object", + "properties": { + "name": { + "description": "Full path to the Service resource in the API. Example: apps/myapp/services/default.@OutputOnly", + "type": "string" + }, + "split": { + "$ref": "TrafficSplit", + "description": "Mapping that defines fractional HTTP traffic diversion to different versions within the service." + }, + "id": { + "description": "Relative name of the service within the application. Example: default.@OutputOnly", + "type": "string" + } + }, + "id": "Service" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "id": "ListOperationsResponse" + }, + "OperationMetadata": { + "description": "Metadata for the given google.longrunning.Operation.", + "type": "object", + "properties": { + "target": { + "description": "Name of the resource that this operation is acting on. Example: apps/myapp/modules/default.@OutputOnly", + "type": "string" + }, + "user": { + "description": "User who requested this operation.@OutputOnly", + "type": "string" + }, + "method": { + "description": "API method that initiated this operation. Example: google.appengine.v1beta4.Version.CreateVersion.@OutputOnly", + "type": "string" + }, + "endTime": { + "format": "google-datetime", + "description": "Timestamp that this operation completed.@OutputOnly", + "type": "string" + }, + "operationType": { + "description": "Type of this operation. Deprecated, use method field instead. Example: \"create_version\".@OutputOnly", + "type": "string" + }, + "insertTime": { + "format": "google-datetime", + "description": "Timestamp that this operation was created.@OutputOnly", + "type": "string" + } + }, + "id": "OperationMetadata" } }, "protocol": "rest", "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" - }, - "version": "v1beta5", - "baseUrl": "https://appengine.googleapis.com/" + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" + } } diff --git a/vendor/google.golang.org/api/appengine/v1beta5/appengine-gen.go b/vendor/google.golang.org/api/appengine/v1beta5/appengine-gen.go index 2f98a1f6f..f76f15272 100644 --- a/vendor/google.golang.org/api/appengine/v1beta5/appengine-gen.go +++ b/vendor/google.golang.org/api/appengine/v1beta5/appengine-gen.go @@ -2054,8 +2054,8 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in diff --git a/vendor/google.golang.org/api/appsactivity/v1/appsactivity-api.json b/vendor/google.golang.org/api/appsactivity/v1/appsactivity-api.json index d475776b3..99cce6836 100644 --- a/vendor/google.golang.org/api/appsactivity/v1/appsactivity-api.json +++ b/vendor/google.golang.org/api/appsactivity/v1/appsactivity-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/y29Ei9gfsS6BekrALyS-uw4tzTU\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/pDZ7o52oB1KPiP4jc8rmQ24ThMo\"", "discoveryVersion": "v1", "id": "appsactivity:v1", "name": "appsactivity", "version": "v1", - "revision": "20170215", + "revision": "20170619", "title": "G Suite Activity API", "description": "Provides a historical view of activity.", "ownerDomain": "google.com", @@ -20,7 +20,7 @@ "basePath": "/appsactivity/v1/", "rootUrl": "https://www.googleapis.com/", "servicePath": "appsactivity/v1/", - "batchPath": "batch", + "batchPath": "batch/appsactivity/v1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/appstate/v1/appstate-api.json b/vendor/google.golang.org/api/appstate/v1/appstate-api.json index b8ecc75d0..700a95d47 100644 --- a/vendor/google.golang.org/api/appstate/v1/appstate-api.json +++ b/vendor/google.golang.org/api/appstate/v1/appstate-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/u4lihwP33J0GgUtvl1xqXUmPaak\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/ANNk7azl5zRYtDCCrlgSBbC8-4Y\"", "discoveryVersion": "v1", "id": "appstate:v1", "name": "appstate", "canonicalName": "App State", "version": "v1", - "revision": "20170601", + "revision": "20170911", "title": "Google App State API", "description": "The Google App State API.", "ownerDomain": "google.com", @@ -21,7 +21,7 @@ "basePath": "/appstate/v1/", "rootUrl": "https://www.googleapis.com/", "servicePath": "appstate/v1/", - "batchPath": "batch", + "batchPath": "batch/appstate/v1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/bigquery/v2/bigquery-api.json b/vendor/google.golang.org/api/bigquery/v2/bigquery-api.json index 6eeaeff85..5f92829ab 100644 --- a/vendor/google.golang.org/api/bigquery/v2/bigquery-api.json +++ b/vendor/google.golang.org/api/bigquery/v2/bigquery-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/PuNtnNg1WyrTVM4-fWu4Qm0QKgM\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/RJ9KKUbfMw7IvtOPKrwn45TxAuo\"", "discoveryVersion": "v1", "id": "bigquery:v2", "name": "bigquery", "version": "v2", - "revision": "20170622", + "revision": "20170910", "title": "BigQuery API", "description": "A data platform for customers to create, manage, share and query data.", "ownerDomain": "google.com", @@ -20,7 +20,7 @@ "basePath": "/bigquery/v2/", "rootUrl": "https://www.googleapis.com/", "servicePath": "bigquery/v2/", - "batchPath": "batch", + "batchPath": "batch/bigquery/v2", "parameters": { "alt": { "type": "string", @@ -377,6 +377,16 @@ } } }, + "EncryptionConfiguration": { + "id": "EncryptionConfiguration", + "type": "object", + "properties": { + "kmsKeyName": { + "type": "string", + "description": "[Optional] Describes the Cloud KMS encryption key that will be used to protect destination BigQuery table. The BigQuery Service Account associated with your project requires access to this encryption key." + } + } + }, "ErrorProto": { "id": "ErrorProto", "type": "object", @@ -403,6 +413,16 @@ "id": "ExplainQueryStage", "type": "object", "properties": { + "computeMsAvg": { + "type": "string", + "description": "Milliseconds the average shard spent on CPU-bound tasks.", + "format": "int64" + }, + "computeMsMax": { + "type": "string", + "description": "Milliseconds the slowest shard spent on CPU-bound tasks.", + "format": "int64" + }, "computeRatioAvg": { "type": "number", "description": "Relative amount of time the average shard spent on CPU-bound tasks.", @@ -422,6 +442,16 @@ "type": "string", "description": "Human-readable name for stage." }, + "readMsAvg": { + "type": "string", + "description": "Milliseconds the average shard spent reading input.", + "format": "int64" + }, + "readMsMax": { + "type": "string", + "description": "Milliseconds the slowest shard spent reading input.", + "format": "int64" + }, "readRatioAvg": { "type": "number", "description": "Relative amount of time the average shard spent reading input.", @@ -442,6 +472,16 @@ "description": "Number of records written by the stage.", "format": "int64" }, + "shuffleOutputBytes": { + "type": "string", + "description": "Total number of bytes written to shuffle.", + "format": "int64" + }, + "shuffleOutputBytesSpilled": { + "type": "string", + "description": "Total number of bytes written to shuffle and spilled to disk.", + "format": "int64" + }, "status": { "type": "string", "description": "Current status for the stage." @@ -453,6 +493,16 @@ "$ref": "ExplainQueryStep" } }, + "waitMsAvg": { + "type": "string", + "description": "Milliseconds the average shard spent waiting to be scheduled.", + "format": "int64" + }, + "waitMsMax": { + "type": "string", + "description": "Milliseconds the slowest shard spent waiting to be scheduled.", + "format": "int64" + }, "waitRatioAvg": { "type": "number", "description": "Relative amount of time the average shard spent waiting to be scheduled.", @@ -463,6 +513,16 @@ "description": "Relative amount of time the slowest shard spent waiting to be scheduled.", "format": "double" }, + "writeMsAvg": { + "type": "string", + "description": "Milliseconds the average shard spent on writing output.", + "format": "int64" + }, + "writeMsMax": { + "type": "string", + "description": "Milliseconds the slowest shard spent on writing output.", + "format": "int64" + }, "writeRatioAvg": { "type": "number", "description": "Relative amount of time the average shard spent on writing output.", @@ -535,7 +595,7 @@ }, "sourceUris": { "type": "array", - "description": "[Required] The fully-qualified URIs that point to your data in Google Cloud. For Google Cloud Storage URIs: Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources. For Google Cloud Bigtable URIs: Exactly one URI can be specified and it has be a fully specified and valid HTTPS URL for a Google Cloud Bigtable table. For Google Cloud Datastore backups, exactly one URI can be specified, and it must end with '.backup_info'. Also, the '*' wildcard character is not allowed.", + "description": "[Required] The fully-qualified URIs that point to your data in Google Cloud. For Google Cloud Storage URIs: Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources. For Google Cloud Bigtable URIs: Exactly one URI can be specified and it has be a fully specified and valid HTTPS URL for a Google Cloud Bigtable table. For Google Cloud Datastore backups, exactly one URI can be specified. Also, the '*' wildcard character is not allowed.", "items": { "type": "string" } @@ -606,6 +666,21 @@ } } }, + "GetServiceAccountResponse": { + "id": "GetServiceAccountResponse", + "type": "object", + "properties": { + "email": { + "type": "string", + "description": "The service account email address." + }, + "kind": { + "type": "string", + "description": "The resource type of the response.", + "default": "bigquery#getServiceAccountResponse" + } + } + }, "GoogleSheetsOptions": { "id": "GoogleSheetsOptions", "type": "object", @@ -766,6 +841,10 @@ "type": "string", "description": "[Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion." }, + "destinationEncryptionConfiguration": { + "$ref": "EncryptionConfiguration", + "description": "[Experimental] Custom encryption configuration (e.g., Cloud KMS keys)." + }, "destinationTable": { "$ref": "TableReference", "description": "[Required] The destination table to load the data into." @@ -818,7 +897,7 @@ }, "schemaUpdateOptions": { "type": "array", - "description": "[Experimental] Allows the schema of the desitination table to be updated as a side effect of the load job. Schema update options are supported in two cases: when writeDisposition is WRITE_APPEND; when writeDisposition is WRITE_TRUNCATE and the destination table is a partition of a table, specified by partition decorators. For normal tables, WRITE_TRUNCATE will always overwrite the schema. One or more of the following values are specified: ALLOW_FIELD_ADDITION: allow adding a nullable field to the schema. ALLOW_FIELD_RELAXATION: allow relaxing a required field in the original schema to nullable.", + "description": "[Experimental] Allows the schema of the desitination table to be updated as a side effect of the load job if a schema is autodetected or supplied in the job configuration. Schema update options are supported in two cases: when writeDisposition is WRITE_APPEND; when writeDisposition is WRITE_TRUNCATE and the destination table is a partition of a table, specified by partition decorators. For normal tables, WRITE_TRUNCATE will always overwrite the schema. One or more of the following values are specified: ALLOW_FIELD_ADDITION: allow adding a nullable field to the schema. ALLOW_FIELD_RELAXATION: allow relaxing a required field in the original schema to nullable.", "items": { "type": "string" } @@ -834,11 +913,15 @@ }, "sourceUris": { "type": "array", - "description": "[Required] The fully-qualified URIs that point to your data in Google Cloud Storage. Each URI can contain one '*' wildcard character and it must come after the 'bucket' name.", + "description": "[Required] The fully-qualified URIs that point to your data in Google Cloud. For Google Cloud Storage URIs: Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources. For Google Cloud Bigtable URIs: Exactly one URI can be specified and it has be a fully specified and valid HTTPS URL for a Google Cloud Bigtable table. For Google Cloud Datastore backups: Exactly one URI can be specified. Also, the '*' wildcard character is not allowed.", "items": { "type": "string" } }, + "timePartitioning": { + "$ref": "TimePartitioning", + "description": "[Experimental] If specified, configures time-based partitioning for the destination table." + }, "writeDisposition": { "type": "string", "description": "[Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_APPEND. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion." @@ -862,6 +945,10 @@ "$ref": "DatasetReference", "description": "[Optional] Specifies the default dataset to use for unqualified table names in the query." }, + "destinationEncryptionConfiguration": { + "$ref": "EncryptionConfiguration", + "description": "[Experimental] Custom encryption configuration (e.g., Cloud KMS keys)." + }, "destinationTable": { "$ref": "TableReference", "description": "[Optional] Describes the table where the query results should be stored. If not present, a new table will be created to store the results. This property must be set for large results that exceed the maximum response size." @@ -919,9 +1006,13 @@ "$ref": "ExternalDataConfiguration" } }, + "timePartitioning": { + "$ref": "TimePartitioning", + "description": "[Experimental] If specified, configures time-based partitioning for the destination table." + }, "useLegacySql": { "type": "boolean", - "description": "Specifies whether to use BigQuery's legacy SQL dialect for this query. The default value is true. If set to false, the query will use BigQuery's standard SQL: https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is set to false, the values of allowLargeResults and flattenResults are ignored; query will be run as if allowLargeResults is true and flattenResults is false." + "description": "Specifies whether to use BigQuery's legacy SQL dialect for this query. The default value is true. If set to false, the query will use BigQuery's standard SQL: https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is set to false, the value of flattenResults is ignored; query will be run as if flattenResults is false." }, "useQueryCache": { "type": "boolean", @@ -937,7 +1028,7 @@ }, "writeDisposition": { "type": "string", - "description": "[Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion." + "description": "[Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data and uses the schema from the query result. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion." } } }, @@ -949,6 +1040,10 @@ "type": "string", "description": "[Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion." }, + "destinationEncryptionConfiguration": { + "$ref": "EncryptionConfiguration", + "description": "[Experimental] Custom encryption configuration (e.g., Cloud KMS keys)." + }, "destinationTable": { "$ref": "TableReference", "description": "[Required] The destination table" @@ -1147,6 +1242,11 @@ "description": "[Output-only] Total bytes processed for the job.", "format": "int64" }, + "totalSlotMs": { + "type": "string", + "description": "[Output-only] Slot-milliseconds for the job.", + "format": "int64" + }, "undeclaredQueryParameters": { "type": "array", "description": "[Output-only, Experimental] Standard SQL only: list of undeclared query parameters detected during a dry run validation.", @@ -1160,6 +1260,11 @@ "id": "JobStatistics3", "type": "object", "properties": { + "badRecords": { + "type": "string", + "description": "[Output-only] The number of bad records encountered. Note that if the job has failed because of more bad records encountered than the maximum allowed in the load job configuration, then this number can be less than the total number of bad records present in the input data.", + "format": "int64" + }, "inputFileBytes": { "type": "string", "description": "[Output-only] Number of bytes of source data in a load job.", @@ -1424,7 +1529,7 @@ }, "useLegacySql": { "type": "boolean", - "description": "Specifies whether to use BigQuery's legacy SQL dialect for this query. The default value is true. If set to false, the query will use BigQuery's standard SQL: https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is set to false, the values of allowLargeResults and flattenResults are ignored; query will be run as if allowLargeResults is true and flattenResults is false.", + "description": "Specifies whether to use BigQuery's legacy SQL dialect for this query. The default value is true. If set to false, the query will use BigQuery's standard SQL: https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is set to false, the value of flattenResults is ignored; query will be run as if flattenResults is false.", "default": "true" }, "useQueryCache": { @@ -1528,6 +1633,10 @@ "type": "string", "description": "[Optional] A user-friendly description of this table." }, + "encryptionConfiguration": { + "$ref": "EncryptionConfiguration", + "description": "[Experimental] Custom encryption configuration (e.g., Cloud KMS keys)." + }, "etag": { "type": "string", "description": "[Output-only] A hash of this resource." @@ -1899,9 +2008,13 @@ "description": "[Optional] Number of milliseconds for which to keep the storage for a partition.", "format": "int64" }, + "field": { + "type": "string", + "description": "[Experimental] [Optional] If not set, the table is partitioned by pseudo column '_PARTITIONTIME'; if set, the table is partitioned by this field. The field must be a top-level TIMESTAMP or DATE field. Its mode must be NULLABLE or REQUIRED." + }, "type": { "type": "string", - "description": "[Required] The only type supported is DAY, which will generate one partition per day based on data loading time." + "description": "[Required] The only type supported is DAY, which will generate one partition per day." } } }, @@ -2420,6 +2533,31 @@ }, "projects": { "methods": { + "getServiceAccount": { + "id": "bigquery.projects.getServiceAccount", + "path": "projects/{projectId}/serviceAccount", + "httpMethod": "GET", + "description": "Returns the email address of the service account for your project used for interactions with Google Cloud KMS.", + "parameters": { + "projectId": { + "type": "string", + "description": "Project ID for which the service account is requested.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectId" + ], + "response": { + "$ref": "GetServiceAccountResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, "list": { "id": "bigquery.projects.list", "path": "projects", diff --git a/vendor/google.golang.org/api/bigquery/v2/bigquery-gen.go b/vendor/google.golang.org/api/bigquery/v2/bigquery-gen.go index da7f72bfb..916c77cdc 100644 --- a/vendor/google.golang.org/api/bigquery/v2/bigquery-gen.go +++ b/vendor/google.golang.org/api/bigquery/v2/bigquery-gen.go @@ -660,6 +660,36 @@ func (s *DatasetReference) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type EncryptionConfiguration struct { + // KmsKeyName: [Optional] Describes the Cloud KMS encryption key that + // will be used to protect destination BigQuery table. The BigQuery + // Service Account associated with your project requires access to this + // encryption key. + KmsKeyName string `json:"kmsKeyName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "KmsKeyName") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "KmsKeyName") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *EncryptionConfiguration) MarshalJSON() ([]byte, error) { + type noMethod EncryptionConfiguration + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type ErrorProto struct { // DebugInfo: Debugging information. This property is internal to Google // and should not be used. @@ -698,6 +728,14 @@ func (s *ErrorProto) MarshalJSON() ([]byte, error) { } type ExplainQueryStage struct { + // ComputeMsAvg: Milliseconds the average shard spent on CPU-bound + // tasks. + ComputeMsAvg int64 `json:"computeMsAvg,omitempty,string"` + + // ComputeMsMax: Milliseconds the slowest shard spent on CPU-bound + // tasks. + ComputeMsMax int64 `json:"computeMsMax,omitempty,string"` + // ComputeRatioAvg: Relative amount of time the average shard spent on // CPU-bound tasks. ComputeRatioAvg float64 `json:"computeRatioAvg,omitempty"` @@ -712,6 +750,12 @@ type ExplainQueryStage struct { // Name: Human-readable name for stage. Name string `json:"name,omitempty"` + // ReadMsAvg: Milliseconds the average shard spent reading input. + ReadMsAvg int64 `json:"readMsAvg,omitempty,string"` + + // ReadMsMax: Milliseconds the slowest shard spent reading input. + ReadMsMax int64 `json:"readMsMax,omitempty,string"` + // ReadRatioAvg: Relative amount of time the average shard spent reading // input. ReadRatioAvg float64 `json:"readRatioAvg,omitempty"` @@ -726,6 +770,13 @@ type ExplainQueryStage struct { // RecordsWritten: Number of records written by the stage. RecordsWritten int64 `json:"recordsWritten,omitempty,string"` + // ShuffleOutputBytes: Total number of bytes written to shuffle. + ShuffleOutputBytes int64 `json:"shuffleOutputBytes,omitempty,string"` + + // ShuffleOutputBytesSpilled: Total number of bytes written to shuffle + // and spilled to disk. + ShuffleOutputBytesSpilled int64 `json:"shuffleOutputBytesSpilled,omitempty,string"` + // Status: Current status for the stage. Status string `json:"status,omitempty"` @@ -733,6 +784,14 @@ type ExplainQueryStage struct { // (approximately chronological). Steps []*ExplainQueryStep `json:"steps,omitempty"` + // WaitMsAvg: Milliseconds the average shard spent waiting to be + // scheduled. + WaitMsAvg int64 `json:"waitMsAvg,omitempty,string"` + + // WaitMsMax: Milliseconds the slowest shard spent waiting to be + // scheduled. + WaitMsMax int64 `json:"waitMsMax,omitempty,string"` + // WaitRatioAvg: Relative amount of time the average shard spent waiting // to be scheduled. WaitRatioAvg float64 `json:"waitRatioAvg,omitempty"` @@ -741,6 +800,12 @@ type ExplainQueryStage struct { // to be scheduled. WaitRatioMax float64 `json:"waitRatioMax,omitempty"` + // WriteMsAvg: Milliseconds the average shard spent on writing output. + WriteMsAvg int64 `json:"writeMsAvg,omitempty,string"` + + // WriteMsMax: Milliseconds the slowest shard spent on writing output. + WriteMsMax int64 `json:"writeMsMax,omitempty,string"` + // WriteRatioAvg: Relative amount of time the average shard spent on // writing output. WriteRatioAvg float64 `json:"writeRatioAvg,omitempty"` @@ -749,7 +814,7 @@ type ExplainQueryStage struct { // writing output. WriteRatioMax float64 `json:"writeRatioMax,omitempty"` - // ForceSendFields is a list of field names (e.g. "ComputeRatioAvg") to + // ForceSendFields is a list of field names (e.g. "ComputeMsAvg") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -757,13 +822,12 @@ type ExplainQueryStage struct { // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ComputeRatioAvg") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. + // NullFields is a list of field names (e.g. "ComputeMsAvg") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } @@ -894,8 +958,8 @@ type ExternalDataConfiguration struct { // data sources. For Google Cloud Bigtable URIs: Exactly one URI can be // specified and it has be a fully specified and valid HTTPS URL for a // Google Cloud Bigtable table. For Google Cloud Datastore backups, - // exactly one URI can be specified, and it must end with - // '.backup_info'. Also, the '*' wildcard character is not allowed. + // exactly one URI can be specified. Also, the '*' wildcard character is + // not allowed. SourceUris []string `json:"sourceUris,omitempty"` // ForceSendFields is a list of field names (e.g. "Autodetect") to @@ -1004,6 +1068,40 @@ func (s *GetQueryResultsResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type GetServiceAccountResponse struct { + // Email: The service account email address. + Email string `json:"email,omitempty"` + + // Kind: The resource type of the response. + Kind string `json:"kind,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Email") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Email") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GetServiceAccountResponse) MarshalJSON() ([]byte, error) { + type noMethod GetServiceAccountResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type GoogleSheetsOptions struct { // SkipLeadingRows: [Optional] The number of rows at the top of a sheet // that BigQuery will skip when reading the data. The default value is @@ -1271,6 +1369,10 @@ type JobConfigurationLoad struct { // one atomic update upon job completion. CreateDisposition string `json:"createDisposition,omitempty"` + // DestinationEncryptionConfiguration: [Experimental] Custom encryption + // configuration (e.g., Cloud KMS keys). + DestinationEncryptionConfiguration *EncryptionConfiguration `json:"destinationEncryptionConfiguration,omitempty"` + // DestinationTable: [Required] The destination table to load the data // into. DestinationTable *TableReference `json:"destinationTable,omitempty"` @@ -1350,15 +1452,16 @@ type JobConfigurationLoad struct { SchemaInlineFormat string `json:"schemaInlineFormat,omitempty"` // SchemaUpdateOptions: [Experimental] Allows the schema of the - // desitination table to be updated as a side effect of the load job. - // Schema update options are supported in two cases: when - // writeDisposition is WRITE_APPEND; when writeDisposition is - // WRITE_TRUNCATE and the destination table is a partition of a table, - // specified by partition decorators. For normal tables, WRITE_TRUNCATE - // will always overwrite the schema. One or more of the following values - // are specified: ALLOW_FIELD_ADDITION: allow adding a nullable field to - // the schema. ALLOW_FIELD_RELAXATION: allow relaxing a required field - // in the original schema to nullable. + // desitination table to be updated as a side effect of the load job if + // a schema is autodetected or supplied in the job configuration. Schema + // update options are supported in two cases: when writeDisposition is + // WRITE_APPEND; when writeDisposition is WRITE_TRUNCATE and the + // destination table is a partition of a table, specified by partition + // decorators. For normal tables, WRITE_TRUNCATE will always overwrite + // the schema. One or more of the following values are specified: + // ALLOW_FIELD_ADDITION: allow adding a nullable field to the schema. + // ALLOW_FIELD_RELAXATION: allow relaxing a required field in the + // original schema to nullable. SchemaUpdateOptions []string `json:"schemaUpdateOptions,omitempty"` // SkipLeadingRows: [Optional] The number of rows at the top of a CSV @@ -1374,10 +1477,20 @@ type JobConfigurationLoad struct { SourceFormat string `json:"sourceFormat,omitempty"` // SourceUris: [Required] The fully-qualified URIs that point to your - // data in Google Cloud Storage. Each URI can contain one '*' wildcard - // character and it must come after the 'bucket' name. + // data in Google Cloud. For Google Cloud Storage URIs: Each URI can + // contain one '*' wildcard character and it must come after the + // 'bucket' name. Size limits related to load jobs apply to external + // data sources. For Google Cloud Bigtable URIs: Exactly one URI can be + // specified and it has be a fully specified and valid HTTPS URL for a + // Google Cloud Bigtable table. For Google Cloud Datastore backups: + // Exactly one URI can be specified. Also, the '*' wildcard character is + // not allowed. SourceUris []string `json:"sourceUris,omitempty"` + // TimePartitioning: [Experimental] If specified, configures time-based + // partitioning for the destination table. + TimePartitioning *TimePartitioning `json:"timePartitioning,omitempty"` + // WriteDisposition: [Optional] Specifies the action that occurs if the // destination table already exists. The following values are supported: // WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the @@ -1436,6 +1549,10 @@ type JobConfigurationQuery struct { // unqualified table names in the query. DefaultDataset *DatasetReference `json:"defaultDataset,omitempty"` + // DestinationEncryptionConfiguration: [Experimental] Custom encryption + // configuration (e.g., Cloud KMS keys). + DestinationEncryptionConfiguration *EncryptionConfiguration `json:"destinationEncryptionConfiguration,omitempty"` + // DestinationTable: [Optional] Describes the table where the query // results should be stored. If not present, a new table will be created // to store the results. This property must be set for large results @@ -1503,13 +1620,16 @@ type JobConfigurationQuery struct { // source can then be queried as if it were a standard BigQuery table. TableDefinitions map[string]ExternalDataConfiguration `json:"tableDefinitions,omitempty"` + // TimePartitioning: [Experimental] If specified, configures time-based + // partitioning for the destination table. + TimePartitioning *TimePartitioning `json:"timePartitioning,omitempty"` + // UseLegacySql: Specifies whether to use BigQuery's legacy SQL dialect // for this query. The default value is true. If set to false, the query // will use BigQuery's standard SQL: // https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is - // set to false, the values of allowLargeResults and flattenResults are - // ignored; query will be run as if allowLargeResults is true and - // flattenResults is false. + // set to false, the value of flattenResults is ignored; query will be + // run as if flattenResults is false. UseLegacySql bool `json:"useLegacySql,omitempty"` // UseQueryCache: [Optional] Whether to look for the result in the query @@ -1528,13 +1648,13 @@ type JobConfigurationQuery struct { // WriteDisposition: [Optional] Specifies the action that occurs if the // destination table already exists. The following values are supported: // WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the - // table data. WRITE_APPEND: If the table already exists, BigQuery - // appends the data to the table. WRITE_EMPTY: If the table already - // exists and contains data, a 'duplicate' error is returned in the job - // result. The default value is WRITE_EMPTY. Each action is atomic and - // only occurs if BigQuery is able to complete the job successfully. - // Creation, truncation and append actions occur as one atomic update - // upon job completion. + // table data and uses the schema from the query result. WRITE_APPEND: + // If the table already exists, BigQuery appends the data to the table. + // WRITE_EMPTY: If the table already exists and contains data, a + // 'duplicate' error is returned in the job result. The default value is + // WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is + // able to complete the job successfully. Creation, truncation and + // append actions occur as one atomic update upon job completion. WriteDisposition string `json:"writeDisposition,omitempty"` // ForceSendFields is a list of field names (e.g. "AllowLargeResults") @@ -1571,6 +1691,10 @@ type JobConfigurationTableCopy struct { // one atomic update upon job completion. CreateDisposition string `json:"createDisposition,omitempty"` + // DestinationEncryptionConfiguration: [Experimental] Custom encryption + // configuration (e.g., Cloud KMS keys). + DestinationEncryptionConfiguration *EncryptionConfiguration `json:"destinationEncryptionConfiguration,omitempty"` + // DestinationTable: [Required] The destination table DestinationTable *TableReference `json:"destinationTable,omitempty"` @@ -1830,6 +1954,9 @@ type JobStatistics2 struct { // TotalBytesProcessed: [Output-only] Total bytes processed for the job. TotalBytesProcessed int64 `json:"totalBytesProcessed,omitempty,string"` + // TotalSlotMs: [Output-only] Slot-milliseconds for the job. + TotalSlotMs int64 `json:"totalSlotMs,omitempty,string"` + // UndeclaredQueryParameters: [Output-only, Experimental] Standard SQL // only: list of undeclared query parameters detected during a dry run // validation. @@ -1859,6 +1986,13 @@ func (s *JobStatistics2) MarshalJSON() ([]byte, error) { } type JobStatistics3 struct { + // BadRecords: [Output-only] The number of bad records encountered. Note + // that if the job has failed because of more bad records encountered + // than the maximum allowed in the load job configuration, then this + // number can be less than the total number of bad records present in + // the input data. + BadRecords int64 `json:"badRecords,omitempty,string"` + // InputFileBytes: [Output-only] Number of bytes of source data in a // load job. InputFileBytes int64 `json:"inputFileBytes,omitempty,string"` @@ -1875,7 +2009,7 @@ type JobStatistics3 struct { // change. OutputRows int64 `json:"outputRows,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "InputFileBytes") to + // ForceSendFields is a list of field names (e.g. "BadRecords") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -1883,13 +2017,12 @@ type JobStatistics3 struct { // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "InputFileBytes") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. + // NullFields is a list of field names (e.g. "BadRecords") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } @@ -2269,9 +2402,8 @@ type QueryRequest struct { // for this query. The default value is true. If set to false, the query // will use BigQuery's standard SQL: // https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is - // set to false, the values of allowLargeResults and flattenResults are - // ignored; query will be run as if allowLargeResults is true and - // flattenResults is false. + // set to false, the value of flattenResults is ignored; query will be + // run as if flattenResults is false. // // Default: true UseLegacySql *bool `json:"useLegacySql,omitempty"` @@ -2433,6 +2565,10 @@ type Table struct { // Description: [Optional] A user-friendly description of this table. Description string `json:"description,omitempty"` + // EncryptionConfiguration: [Experimental] Custom encryption + // configuration (e.g., Cloud KMS keys). + EncryptionConfiguration *EncryptionConfiguration `json:"encryptionConfiguration,omitempty"` + // Etag: [Output-only] A hash of this resource. Etag string `json:"etag,omitempty"` @@ -3028,8 +3164,14 @@ type TimePartitioning struct { // storage for a partition. ExpirationMs int64 `json:"expirationMs,omitempty,string"` + // Field: [Experimental] [Optional] If not set, the table is partitioned + // by pseudo column '_PARTITIONTIME'; if set, the table is partitioned + // by this field. The field must be a top-level TIMESTAMP or DATE field. + // Its mode must be NULLABLE or REQUIRED. + Field string `json:"field,omitempty"` + // Type: [Required] The only type supported is DAY, which will generate - // one partition per day based on data loading time. + // one partition per day. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "ExpirationMs") to @@ -4552,17 +4694,13 @@ func (c *JobsGetQueryResultsCall) Pages(ctx context.Context, f func(*GetQueryRes // method id "bigquery.jobs.insert": type JobsInsertCall struct { - s *Service - projectId string - job *Job - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + projectId string + job *Job + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Insert: Starts a new asynchronous job. Requires the Can View project @@ -4583,12 +4721,7 @@ func (r *JobsService) Insert(projectId string, job *Job) *JobsInsertCall { // supplied. // At most one of Media and ResumableMedia may be set. func (c *JobsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *JobsInsertCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -4603,11 +4736,7 @@ func (c *JobsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *J // supersede any context previously provided to the Context method. func (c *JobsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *JobsInsertCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -4616,7 +4745,7 @@ func (c *JobsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *JobsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *JobsInsertCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -4661,27 +4790,16 @@ func (c *JobsInsertCall) doRequest(alt string) (*http.Response, error) { reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/jobs") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -4717,20 +4835,10 @@ func (c *JobsInsertCall) Do(opts ...googleapi.CallOption) (*Job, error) { if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -5193,6 +5301,146 @@ func (c *JobsQueryCall) Do(opts ...googleapi.CallOption) (*QueryResponse, error) } +// method id "bigquery.projects.getServiceAccount": + +type ProjectsGetServiceAccountCall struct { + s *Service + projectId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// GetServiceAccount: Returns the email address of the service account +// for your project used for interactions with Google Cloud KMS. +func (r *ProjectsService) GetServiceAccount(projectId string) *ProjectsGetServiceAccountCall { + c := &ProjectsGetServiceAccountCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsGetServiceAccountCall) Fields(s ...googleapi.Field) *ProjectsGetServiceAccountCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsGetServiceAccountCall) IfNoneMatch(entityTag string) *ProjectsGetServiceAccountCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsGetServiceAccountCall) Context(ctx context.Context) *ProjectsGetServiceAccountCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsGetServiceAccountCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsGetServiceAccountCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{projectId}/serviceAccount") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "bigquery.projects.getServiceAccount" call. +// Exactly one of *GetServiceAccountResponse or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *GetServiceAccountResponse.ServerResponse.Header or (if a response +// was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsGetServiceAccountCall) Do(opts ...googleapi.CallOption) (*GetServiceAccountResponse, 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, &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, err + } + ret := &GetServiceAccountResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns the email address of the service account for your project used for interactions with Google Cloud KMS.", + // "httpMethod": "GET", + // "id": "bigquery.projects.getServiceAccount", + // "parameterOrder": [ + // "projectId" + // ], + // "parameters": { + // "projectId": { + // "description": "Project ID for which the service account is requested.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "projects/{projectId}/serviceAccount", + // "response": { + // "$ref": "GetServiceAccountResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/bigquery", + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only" + // ] + // } + +} + // method id "bigquery.projects.list": type ProjectsListCall struct { diff --git a/vendor/google.golang.org/api/bigquerydatatransfer/v1/bigquerydatatransfer-api.json b/vendor/google.golang.org/api/bigquerydatatransfer/v1/bigquerydatatransfer-api.json index 56466d775..f9916907d 100644 --- a/vendor/google.golang.org/api/bigquerydatatransfer/v1/bigquerydatatransfer-api.json +++ b/vendor/google.golang.org/api/bigquerydatatransfer/v1/bigquerydatatransfer-api.json @@ -1,104 +1,397 @@ { - "canonicalName": "BigQuery Data Transfer", - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/bigquery": { - "description": "View and manage your data in Google BigQuery" - }, - "https://www.googleapis.com/auth/cloud-platform.read-only": { - "description": "View your data across Google Cloud Platform services" - }, - "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" - } - } - } - }, - "rootUrl": "https://bigquerydatatransfer.googleapis.com/", - "ownerDomain": "google.com", - "name": "bigquerydatatransfer", - "batchPath": "batch", - "title": "BigQuery Data Transfer Service API", - "ownerName": "Google", "resources": { "projects": { - "methods": { - "isEnabled": { - "path": "v1/{+name}:isEnabled", - "id": "bigquerydatatransfer.projects.isEnabled", - "description": "Returns true if data transfer is enabled for a project.", - "request": { - "$ref": "IsEnabledRequest" - }, - "httpMethod": "POST", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "IsEnabledResponse" - }, - "parameters": { - "name": { - "description": "The name of the project resource in the form:\n`projects/{project_id}`", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "flatPath": "v1/projects/{projectsId}:isEnabled" - }, - "setEnabled": { - "request": { - "$ref": "SetEnabledRequest" - }, - "description": "Enables or disables data transfer for a project. This\nmethod requires the additional scope of\n'https://www.googleapis.com/auth/cloudplatformprojects'\nto manage the cloud project permissions.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "description": "The name of the project resource in the form:\n`projects/{project_id}`", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1/projects/{projectsId}:setEnabled", - "id": "bigquerydatatransfer.projects.setEnabled", - "path": "v1/{+name}:setEnabled" - } - }, "resources": { - "locations": { + "transferConfigs": { "methods": { - "isEnabled": { - "path": "v1/{+name}:isEnabled", - "id": "bigquerydatatransfer.projects.locations.isEnabled", - "request": { - "$ref": "IsEnabledRequest" + "list": { + "flatPath": "v1/projects/{projectsId}/transferConfigs", + "id": "bigquerydatatransfer.projects.transferConfigs.list", + "path": "v1/{+parent}/transferConfigs", + "description": "Returns information about all data transfers in the project.", + "response": { + "$ref": "ListTransferConfigsResponse" }, - "description": "Returns true if data transfer is enabled for a project.", + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "dataSourceIds": { + "description": "When specified, only configurations of requested data sources are returned.", + "type": "string", + "repeated": true, + "location": "query" + }, + "parent": { + "description": "The BigQuery project id for which data sources\nshould be returned: `projects/{project_id}`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + }, + "pageToken": { + "description": "Pagination token, which can be used to request a specific page\nof `ListTransfersRequest` list results. For multiple-page\nresults, `ListTransfersResponse` outputs\na `next_page` token, which can be used as the\n`page_token` value to request the next page of list results.", + "type": "string", + "location": "query" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Page size. The default page size is the maximum value of 1000 results.", + "type": "integer" + } + } + }, + "create": { + "description": "Creates a new data transfer configuration.", + "request": { + "$ref": "TransferConfig" + }, + "httpMethod": "POST", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "TransferConfig" + }, + "parameters": { + "authorizationCode": { + "description": "Optional OAuth2 authorization code to use with this transfer configuration.\nThis is required if new credentials are needed, as indicated by\n`CheckValidCreds`.\nIn order to obtain authorization_code, please make a\nrequest to\nhttps://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=\u003cdatatransferapiclientid\u003e&scope=\u003cdata_source_scopes\u003e&redirect_uri=\u003credirect_uri\u003e\n\n* client_id should be OAuth client_id of BigQuery DTS API for the given\n data source returned by ListDataSources method.\n* data_source_scopes are the scopes returned by ListDataSources method.\n* redirect_uri is an optional parameter. If not specified, then\n authorization code is posted to the opener of authorization flow window.\n Otherwise it will be sent to the redirect uri. A special value of\n urn:ietf:wg:oauth:2.0:oob means that authorization code should be\n returned in the title bar of the browser, with the page text prompting\n the user to copy the code and paste it in the application.", + "type": "string", + "location": "query" + }, + "parent": { + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "The BigQuery project id where the transfer configuration should be created.\nMust be in the format /projects/{project_id}/locations/{location_id}\nor\n/projects/{project_id}/locations/-\nIn case when '-' is specified as location_id, location is infered from\nthe destination dataset region.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/transferConfigs", + "path": "v1/{+parent}/transferConfigs", + "id": "bigquerydatatransfer.projects.transferConfigs.create" + }, + "scheduleRuns": { + "request": { + "$ref": "ScheduleTransferRunsRequest" + }, + "description": "Creates transfer runs for a time range [range_start_time, range_end_time].\nFor each date - or whatever granularity the data source supports - in the\nrange, one transfer run is created.\nNote that runs are created per UTC time in the time range.", + "response": { + "$ref": "ScheduleTransferRunsResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "parent": { + "description": "Transfer configuration name in the form:\n`projects/{project_id}/transferConfigs/{config_id}`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/transferConfigs/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/transferConfigs/{transferConfigsId}:scheduleRuns", + "id": "bigquerydatatransfer.projects.transferConfigs.scheduleRuns", + "path": "v1/{+parent}:scheduleRuns" + }, + "patch": { + "flatPath": "v1/projects/{projectsId}/transferConfigs/{transferConfigsId}", + "path": "v1/{+name}", + "id": "bigquerydatatransfer.projects.transferConfigs.patch", + "description": "Updates a data transfer configuration.\nAll fields must be set, even if they are not updated.", + "request": { + "$ref": "TransferConfig" + }, + "httpMethod": "PATCH", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "TransferConfig" + }, + "parameters": { + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Required list of fields to be updated in this request.", + "type": "string" + }, + "name": { + "description": "The resource name of the transfer config.\nTransfer config names have the form\n`projects/{project_id}/transferConfigs/{config_id}`.\nWhere `config_id` is usually a uuid, even though it is not\nguaranteed or required. The name is ignored when creating a transfer\nconfig.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/transferConfigs/[^/]+$", + "location": "path" + }, + "authorizationCode": { + "type": "string", + "location": "query", + "description": "Optional OAuth2 authorization code to use with this transfer configuration.\nIf it is provided, the transfer configuration will be associated with the\ngaia id of the authorizing user.\nIn order to obtain authorization_code, please make a\nrequest to\nhttps://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=\u003cdatatransferapiclientid\u003e&scope=\u003cdata_source_scopes\u003e&redirect_uri=\u003credirect_uri\u003e\n\n* client_id should be OAuth client_id of BigQuery DTS API for the given\n data source returned by ListDataSources method.\n* data_source_scopes are the scopes returned by ListDataSources method.\n* redirect_uri is an optional parameter. If not specified, then\n authorization code is posted to the opener of authorization flow window.\n Otherwise it will be sent to the redirect uri. A special value of\n urn:ietf:wg:oauth:2.0:oob means that authorization code should be\n returned in the title bar of the browser, with the page text prompting\n the user to copy the code and paste it in the application." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "id": "bigquerydatatransfer.projects.transferConfigs.get", + "path": "v1/{+name}", + "description": "Returns information about a data transfer config.", + "response": { + "$ref": "TransferConfig" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The field will contain name of the resource requested, for example:\n`projects/{project_id}/transferConfigs/{config_id}`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/transferConfigs/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1/projects/{projectsId}/transferConfigs/{transferConfigsId}" + }, + "delete": { + "description": "Deletes a data transfer configuration,\nincluding any associated transfer runs and logs.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "parameters": { + "name": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/transferConfigs/[^/]+$", + "location": "path", + "description": "The field will contain name of the resource requested, for example:\n`projects/{project_id}/transferConfigs/{config_id}`" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/transferConfigs/{transferConfigsId}", + "id": "bigquerydatatransfer.projects.transferConfigs.delete", + "path": "v1/{+name}" + } + }, + "resources": { + "runs": { + "resources": { + "transferLogs": { + "methods": { + "list": { + "parameters": { + "parent": { + "pattern": "^projects/[^/]+/transferConfigs/[^/]+/runs/[^/]+$", + "location": "path", + "description": "Transfer run name in the form:\n`projects/{project_id}/transferConfigs/{config_Id}/runs/{run_id}`.", + "type": "string", + "required": true + }, + "pageToken": { + "type": "string", + "location": "query", + "description": "Pagination token, which can be used to request a specific page\nof `ListTransferLogsRequest` list results. For multiple-page\nresults, `ListTransferLogsResponse` outputs\na `next_page` token, which can be used as the\n`page_token` value to request the next page of list results." + }, + "pageSize": { + "format": "int32", + "description": "Page size. The default page size is the maximum value of 1000 results.", + "type": "integer", + "location": "query" + }, + "messageTypes": { + "description": "Message types to return. If not populated - INFO, WARNING and ERROR\nmessages are returned.", + "type": "string", + "repeated": true, + "location": "query", + "enum": [ + "MESSAGE_SEVERITY_UNSPECIFIED", + "INFO", + "WARNING", + "ERROR" + ] + } + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1/projects/{projectsId}/transferConfigs/{transferConfigsId}/runs/{runsId}/transferLogs", + "path": "v1/{+parent}/transferLogs", + "id": "bigquerydatatransfer.projects.transferConfigs.runs.transferLogs.list", + "description": "Returns user facing log messages for the data transfer run.", + "httpMethod": "GET", + "response": { + "$ref": "ListTransferLogsResponse" + }, + "parameterOrder": [ + "parent" + ] + } + } + } + }, + "methods": { + "list": { + "description": "Returns information about running and completed jobs.", + "response": { + "$ref": "ListTransferRunsResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "pageToken": { + "description": "Pagination token, which can be used to request a specific page\nof `ListTransferRunsRequest` list results. For multiple-page\nresults, `ListTransferRunsResponse` outputs\na `next_page` token, which can be used as the\n`page_token` value to request the next page of list results.", + "type": "string", + "location": "query" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Page size. The default page size is the maximum value of 1000 results.", + "type": "integer" + }, + "states": { + "enum": [ + "TRANSFER_STATE_UNSPECIFIED", + "INACTIVE", + "PENDING", + "RUNNING", + "SUCCEEDED", + "FAILED", + "CANCELLED" + ], + "description": "When specified, only transfer runs with requested states are returned.", + "type": "string", + "repeated": true, + "location": "query" + }, + "runAttempt": { + "enum": [ + "RUN_ATTEMPT_UNSPECIFIED", + "LATEST" + ], + "description": "Indicates how run attempts are to be pulled.", + "type": "string", + "location": "query" + }, + "parent": { + "location": "path", + "description": "Name of transfer configuration for which transfer runs should be retrieved.\nFormat of transfer configuration resource name is:\n`projects/{project_id}/transferConfigs/{config_id}`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/transferConfigs/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/transferConfigs/{transferConfigsId}/runs", + "id": "bigquerydatatransfer.projects.transferConfigs.runs.list", + "path": "v1/{+parent}/runs" + }, + "get": { + "description": "Returns information about the particular transfer run.", + "response": { + "$ref": "TransferRun" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "name": { + "description": "The field will contain name of the resource requested, for example:\n`projects/{project_id}/transferConfigs/{config_id}/runs/{run_id}`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/transferConfigs/[^/]+/runs/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/transferConfigs/{transferConfigsId}/runs/{runsId}", + "id": "bigquerydatatransfer.projects.transferConfigs.runs.get", + "path": "v1/{+name}" + }, + "delete": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The field will contain name of the resource requested, for example:\n`projects/{project_id}/transferConfigs/{config_id}/runs/{run_id}`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/transferConfigs/[^/]+/runs/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/transferConfigs/{transferConfigsId}/runs/{runsId}", + "id": "bigquerydatatransfer.projects.transferConfigs.runs.delete", + "path": "v1/{+name}", + "description": "Deletes the specified transfer run." + } + } + } + } + }, + "dataSources": { + "methods": { + "checkValidCreds": { "httpMethod": "POST", "parameterOrder": [ "name" ], "response": { - "$ref": "IsEnabledResponse" + "$ref": "CheckValidCredsResponse" }, "scopes": [ "https://www.googleapis.com/auth/bigquery", @@ -107,42 +400,159 @@ ], "parameters": { "name": { + "description": "The data source in the form:\n`projects/{project_id}/dataSources/{data_source_id}`", "type": "string", "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+$", - "location": "path", - "description": "The name of the project resource in the form:\n`projects/{project_id}`" + "pattern": "^projects/[^/]+/dataSources/[^/]+$", + "location": "path" } }, - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:isEnabled" + "flatPath": "v1/projects/{projectsId}/dataSources/{dataSourcesId}:checkValidCreds", + "path": "v1/{+name}:checkValidCreds", + "id": "bigquerydatatransfer.projects.dataSources.checkValidCreds", + "request": { + "$ref": "CheckValidCredsRequest" + }, + "description": "Returns true if valid credentials exist for the given data source and\nrequesting user.\nSome data sources doesn't support service account, so we need to talk to\nthem on behalf of the end user. This API just checks whether we have OAuth\ntoken for the particular user, which is a pre-requisite before user can\ncreate a transfer config." }, - "setEnabled": { - "httpMethod": "POST", + "list": { + "response": { + "$ref": "ListDataSourcesResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "pageSize": { + "format": "int32", + "description": "Page size. The default page size is the maximum value of 1000 results.", + "type": "integer", + "location": "query" + }, + "parent": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "The BigQuery project id for which data sources should be returned.\nMust be in the form: `projects/{project_id}`" + }, + "pageToken": { + "description": "Pagination token, which can be used to request a specific page\nof `ListDataSourcesRequest` list results. For multiple-page\nresults, `ListDataSourcesResponse` outputs\na `next_page` token, which can be used as the\n`page_token` value to request the next page of list results.", + "type": "string", + "location": "query" + } + }, + "flatPath": "v1/projects/{projectsId}/dataSources", + "id": "bigquerydatatransfer.projects.dataSources.list", + "path": "v1/{+parent}/dataSources", + "description": "Lists supported data sources and returns their settings,\nwhich can be used for UI rendering." + }, + "get": { + "id": "bigquerydatatransfer.projects.dataSources.get", + "path": "v1/{+name}", + "description": "Retrieves a supported data source and returns its settings,\nwhich can be used for UI rendering.", + "response": { + "$ref": "DataSource" + }, "parameterOrder": [ "name" ], - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], + "httpMethod": "GET", "parameters": { "name": { - "description": "The name of the project resource in the form:\n`projects/{project_id}`", + "description": "The field will contain name of the resource requested, for example:\n`projects/{project_id}/dataSources/{data_source_id}`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/dataSources/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1/projects/{projectsId}/dataSources/{dataSourcesId}" + } + } + }, + "locations": { + "methods": { + "get": { + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}", + "id": "bigquerydatatransfer.projects.locations.get", + "path": "v1/{+name}", + "description": "Get information about a location.", + "response": { + "$ref": "Location" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "description": "Resource name for the location.", "type": "string", "required": true, "pattern": "^projects/[^/]+/locations/[^/]+$", "location": "path" } }, - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:setEnabled", - "path": "v1/{+name}:setEnabled", - "id": "bigquerydatatransfer.projects.locations.setEnabled", - "request": { - "$ref": "SetEnabledRequest" + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "list": { + "response": { + "$ref": "ListLocationsResponse" }, - "description": "Enables or disables data transfer for a project. This\nmethod requires the additional scope of\n'https://www.googleapis.com/auth/cloudplatformprojects'\nto manage the cloud project permissions." + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "filter": { + "description": "The standard list filter.", + "type": "string", + "location": "query" + }, + "pageToken": { + "location": "query", + "description": "The standard list page token.", + "type": "string" + }, + "name": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "The resource that owns the locations collection, if applicable." + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "The standard list page size.", + "type": "integer" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1/projects/{projectsId}/locations", + "id": "bigquerydatatransfer.projects.locations.list", + "path": "v1/{+name}/locations", + "description": "Lists information about the supported locations for this service." } }, "resources": { @@ -150,81 +560,49 @@ "resources": { "runs": { "methods": { - "delete": { - "httpMethod": "DELETE", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "scopes": [ - "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "location": "path", - "description": "The field will contain name of the resource requested, for example:\n`projects/{project_id}/transferConfigs/{config_id}/runs/{run_id}`", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+/transferConfigs/[^/]+/runs/[^/]+$" - } - }, - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/transferConfigs/{transferConfigsId}/runs/{runsId}", - "path": "v1/{+name}", - "id": "bigquerydatatransfer.projects.locations.transferConfigs.runs.delete", - "description": "Deletes the specified transfer run." - }, "list": { - "description": "Returns information about running and completed jobs.", "response": { "$ref": "ListTransferRunsResponse" }, + "httpMethod": "GET", "parameterOrder": [ "parent" ], - "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ], "parameters": { - "pageToken": { - "description": "Pagination token, which can be used to request a specific page\nof `ListTransferRunsRequest` list results. For multiple-page\nresults, `ListTransferRunsResponse` outputs\na `next_page` token, which can be used as the\n`page_token` value to request the next page of list results.", - "type": "string", - "location": "query" - }, "pageSize": { - "location": "query", "format": "int32", "description": "Page size. The default page size is the maximum value of 1000 results.", - "type": "integer" + "type": "integer", + "location": "query" }, - "statuses": { + "states": { + "description": "When specified, only transfer runs with requested states are returned.", + "type": "string", "repeated": true, "location": "query", "enum": [ - "TRANSFER_STATUS_UNSPECIFIED", + "TRANSFER_STATE_UNSPECIFIED", "INACTIVE", "PENDING", "RUNNING", "SUCCEEDED", "FAILED", "CANCELLED" - ], - "description": "When specified, only transfer runs with requested statuses are returned.", - "type": "string" + ] }, "runAttempt": { - "description": "Indicates how run attempts are to be pulled.", - "type": "string", - "location": "query", "enum": [ "RUN_ATTEMPT_UNSPECIFIED", "LATEST" - ] + ], + "description": "Indicates how run attempts are to be pulled.", + "type": "string", + "location": "query" }, "parent": { "description": "Name of transfer configuration for which transfer runs should be retrieved.\nFormat of transfer configuration resource name is:\n`projects/{project_id}/transferConfigs/{config_id}`.", @@ -232,20 +610,27 @@ "required": true, "pattern": "^projects/[^/]+/locations/[^/]+/transferConfigs/[^/]+$", "location": "path" + }, + "pageToken": { + "location": "query", + "description": "Pagination token, which can be used to request a specific page\nof `ListTransferRunsRequest` list results. For multiple-page\nresults, `ListTransferRunsResponse` outputs\na `next_page` token, which can be used as the\n`page_token` value to request the next page of list results.", + "type": "string" } }, "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/transferConfigs/{transferConfigsId}/runs", "id": "bigquerydatatransfer.projects.locations.transferConfigs.runs.list", - "path": "v1/{+parent}/runs" + "path": "v1/{+parent}/runs", + "description": "Returns information about running and completed jobs." }, "get": { + "description": "Returns information about the particular transfer run.", "response": { "$ref": "TransferRun" }, - "httpMethod": "GET", "parameterOrder": [ "name" ], + "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform", @@ -253,39 +638,61 @@ ], "parameters": { "name": { + "pattern": "^projects/[^/]+/locations/[^/]+/transferConfigs/[^/]+/runs/[^/]+$", "location": "path", "description": "The field will contain name of the resource requested, for example:\n`projects/{project_id}/transferConfigs/{config_id}/runs/{run_id}`", "type": "string", - "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+/transferConfigs/[^/]+/runs/[^/]+$" + "required": true } }, "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/transferConfigs/{transferConfigsId}/runs/{runsId}", "id": "bigquerydatatransfer.projects.locations.transferConfigs.runs.get", - "path": "v1/{+name}", - "description": "Returns information about the particular transfer run." + "path": "v1/{+name}" + }, + "delete": { + "description": "Deletes the specified transfer run.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/transferConfigs/[^/]+/runs/[^/]+$", + "location": "path", + "description": "The field will contain name of the resource requested, for example:\n`projects/{project_id}/transferConfigs/{config_id}/runs/{run_id}`" + } + }, + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/transferConfigs/{transferConfigsId}/runs/{runsId}", + "id": "bigquerydatatransfer.projects.locations.transferConfigs.runs.delete", + "path": "v1/{+name}" } }, "resources": { "transferLogs": { "methods": { "list": { - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "ListTransferLogsResponse" - }, - "httpMethod": "GET", "parameters": { + "pageToken": { + "location": "query", + "description": "Pagination token, which can be used to request a specific page\nof `ListTransferLogsRequest` list results. For multiple-page\nresults, `ListTransferLogsResponse` outputs\na `next_page` token, which can be used as the\n`page_token` value to request the next page of list results.", + "type": "string" + }, "pageSize": { - "format": "int32", - "description": "Page size. The default page size is the maximum value of 1000 results.", "type": "integer", - "location": "query" + "location": "query", + "format": "int32", + "description": "Page size. The default page size is the maximum value of 1000 results." }, "messageTypes": { - "location": "query", "enum": [ "MESSAGE_SEVERITY_UNSPECIFIED", "INFO", @@ -294,19 +701,15 @@ ], "description": "Message types to return. If not populated - INFO, WARNING and ERROR\nmessages are returned.", "type": "string", - "repeated": true + "repeated": true, + "location": "query" }, "parent": { + "location": "path", "description": "Transfer run name in the form:\n`projects/{project_id}/transferConfigs/{config_Id}/runs/{run_id}`.", "type": "string", "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+/transferConfigs/[^/]+/runs/[^/]+$", - "location": "path" - }, - "pageToken": { - "description": "Pagination token, which can be used to request a specific page\nof `ListTransferLogsRequest` list results. For multiple-page\nresults, `ListTransferLogsResponse` outputs\na `next_page` token, which can be used as the\n`page_token` value to request the next page of list results.", - "type": "string", - "location": "query" + "pattern": "^projects/[^/]+/locations/[^/]+/transferConfigs/[^/]+/runs/[^/]+$" } }, "scopes": [ @@ -317,7 +720,14 @@ "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/transferConfigs/{transferConfigsId}/runs/{runsId}/transferLogs", "id": "bigquerydatatransfer.projects.locations.transferConfigs.runs.transferLogs.list", "path": "v1/{+parent}/transferLogs", - "description": "Returns user facing log messages for the data transfer run." + "description": "Returns user facing log messages for the data transfer run.", + "response": { + "$ref": "ListTransferLogsResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET" } } } @@ -325,55 +735,14 @@ } }, "methods": { - "patch": { - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/transferConfigs/{transferConfigsId}", - "id": "bigquerydatatransfer.projects.locations.transferConfigs.patch", - "path": "v1/{+name}", - "request": { - "$ref": "TransferConfig" - }, - "description": "Updates a data transfer configuration.\nAll fields must be set, even if they are not updated.", - "response": { - "$ref": "TransferConfig" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "PATCH", - "scopes": [ - "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "updateMask": { - "location": "query", - "format": "google-fieldmask", - "description": "Required list of fields to be updated in this request.", - "type": "string" - }, - "name": { - "description": "The resource name of the transfer run.\nTransfer run names have the form\n`projects/{project_id}/transferConfigs/{config_id}`.\nWhere `config_id` is usually a uuid, even though it is not\nguaranteed or required. The name is ignored when creating a transfer run.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+/transferConfigs/[^/]+$", - "location": "path" - }, - "authorizationCode": { - "location": "query", - "description": "Optional OAuth2 authorization code to use with this transfer configuration.\nIf it is provided, the transfer configuration will be associated with the\ngaia id of the authorizing user.\nIn order to obtain authorization_code, please make a\nrequest to\nhttps://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=\u003cdatatransferapiclientid\u003e&scope=\u003cdata_source_scopes\u003e&redirect_uri=\u003credirect_uri\u003e\n\n* client_id should be OAuth client_id of BigQuery DTS API for the given\n data source returned by ListDataSources method.\n* data_source_scopes are the scopes returned by ListDataSources method.\n* redirect_uri is an optional parameter. If not specified, then\n authorization code is posted to the opener of authorization flow window.\n Otherwise it will be sent to the redirect uri. A special value of\n urn:ietf:wg:oauth:2.0:oob means that authorization code should be\n returned in the title bar of the browser, with the page text prompting\n the user to copy the code and paste it in the application.", - "type": "string" - } - } - }, "get": { - "description": "Returns information about a data transfer config.", - "httpMethod": "GET", "response": { "$ref": "TransferConfig" }, "parameterOrder": [ "name" ], + "httpMethod": "GET", "parameters": { "name": { "pattern": "^projects/[^/]+/locations/[^/]+/transferConfigs/[^/]+$", @@ -389,13 +758,51 @@ "https://www.googleapis.com/auth/cloud-platform.read-only" ], "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/transferConfigs/{transferConfigsId}", + "id": "bigquerydatatransfer.projects.locations.transferConfigs.get", "path": "v1/{+name}", - "id": "bigquerydatatransfer.projects.locations.transferConfigs.get" + "description": "Returns information about a data transfer config." + }, + "patch": { + "path": "v1/{+name}", + "id": "bigquerydatatransfer.projects.locations.transferConfigs.patch", + "request": { + "$ref": "TransferConfig" + }, + "description": "Updates a data transfer configuration.\nAll fields must be set, even if they are not updated.", + "httpMethod": "PATCH", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "TransferConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Required list of fields to be updated in this request.", + "type": "string" + }, + "name": { + "description": "The resource name of the transfer config.\nTransfer config names have the form\n`projects/{project_id}/transferConfigs/{config_id}`.\nWhere `config_id` is usually a uuid, even though it is not\nguaranteed or required. The name is ignored when creating a transfer\nconfig.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/transferConfigs/[^/]+$", + "location": "path" + }, + "authorizationCode": { + "description": "Optional OAuth2 authorization code to use with this transfer configuration.\nIf it is provided, the transfer configuration will be associated with the\ngaia id of the authorizing user.\nIn order to obtain authorization_code, please make a\nrequest to\nhttps://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=\u003cdatatransferapiclientid\u003e&scope=\u003cdata_source_scopes\u003e&redirect_uri=\u003credirect_uri\u003e\n\n* client_id should be OAuth client_id of BigQuery DTS API for the given\n data source returned by ListDataSources method.\n* data_source_scopes are the scopes returned by ListDataSources method.\n* redirect_uri is an optional parameter. If not specified, then\n authorization code is posted to the opener of authorization flow window.\n Otherwise it will be sent to the redirect uri. A special value of\n urn:ietf:wg:oauth:2.0:oob means that authorization code should be\n returned in the title bar of the browser, with the page text prompting\n the user to copy the code and paste it in the application.", + "type": "string", + "location": "query" + } + }, + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/transferConfigs/{transferConfigsId}" }, "delete": { - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/transferConfigs/{transferConfigsId}", - "id": "bigquerydatatransfer.projects.locations.transferConfigs.delete", - "path": "v1/{+name}", "description": "Deletes a data transfer configuration,\nincluding any associated transfer runs and logs.", "response": { "$ref": "Empty" @@ -416,7 +823,10 @@ "type": "string", "required": true } - } + }, + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/transferConfigs/{transferConfigsId}", + "id": "bigquerydatatransfer.projects.locations.transferConfigs.delete", + "path": "v1/{+name}" }, "list": { "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/transferConfigs", @@ -431,17 +841,6 @@ "parent" ], "parameters": { - "pageToken": { - "location": "query", - "description": "Pagination token, which can be used to request a specific page\nof `ListTransfersRequest` list results. For multiple-page\nresults, `ListTransfersResponse` outputs\na `next_page` token, which can be used as the\n`page_token` value to request the next page of list results.", - "type": "string" - }, - "pageSize": { - "format": "int32", - "description": "Page size. The default page size is the maximum value of 1000 results.", - "type": "integer", - "location": "query" - }, "dataSourceIds": { "type": "string", "repeated": true, @@ -449,11 +848,22 @@ "description": "When specified, only configurations of requested data sources are returned." }, "parent": { - "location": "path", "description": "The BigQuery project id for which data sources\nshould be returned: `projects/{project_id}`.", "type": "string", "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+$" + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path" + }, + "pageToken": { + "location": "query", + "description": "Pagination token, which can be used to request a specific page\nof `ListTransfersRequest` list results. For multiple-page\nresults, `ListTransfersResponse` outputs\na `next_page` token, which can be used as the\n`page_token` value to request the next page of list results.", + "type": "string" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Page size. The default page size is the maximum value of 1000 results.", + "type": "integer" } }, "scopes": [ @@ -463,26 +873,24 @@ ] }, "create": { + "id": "bigquerydatatransfer.projects.locations.transferConfigs.create", + "path": "v1/{+parent}/transferConfigs", + "description": "Creates a new data transfer configuration.", "request": { "$ref": "TransferConfig" }, - "description": "Creates a new data transfer configuration.", - "httpMethod": "POST", - "parameterOrder": [ - "parent" - ], "response": { "$ref": "TransferConfig" }, - "scopes": [ - "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform" + "parameterOrder": [ + "parent" ], + "httpMethod": "POST", "parameters": { "authorizationCode": { + "description": "Optional OAuth2 authorization code to use with this transfer configuration.\nThis is required if new credentials are needed, as indicated by\n`CheckValidCreds`.\nIn order to obtain authorization_code, please make a\nrequest to\nhttps://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=\u003cdatatransferapiclientid\u003e&scope=\u003cdata_source_scopes\u003e&redirect_uri=\u003credirect_uri\u003e\n\n* client_id should be OAuth client_id of BigQuery DTS API for the given\n data source returned by ListDataSources method.\n* data_source_scopes are the scopes returned by ListDataSources method.\n* redirect_uri is an optional parameter. If not specified, then\n authorization code is posted to the opener of authorization flow window.\n Otherwise it will be sent to the redirect uri. A special value of\n urn:ietf:wg:oauth:2.0:oob means that authorization code should be\n returned in the title bar of the browser, with the page text prompting\n the user to copy the code and paste it in the application.", "type": "string", - "location": "query", - "description": "Optional OAuth2 authorization code to use with this transfer configuration.\nThis is required if new credentials are needed, as indicated by\n`CheckValidCreds`.\nIn order to obtain authorization_code, please make a\nrequest to\nhttps://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=\u003cdatatransferapiclientid\u003e&scope=\u003cdata_source_scopes\u003e&redirect_uri=\u003credirect_uri\u003e\n\n* client_id should be OAuth client_id of BigQuery DTS API for the given\n data source returned by ListDataSources method.\n* data_source_scopes are the scopes returned by ListDataSources method.\n* redirect_uri is an optional parameter. If not specified, then\n authorization code is posted to the opener of authorization flow window.\n Otherwise it will be sent to the redirect uri. A special value of\n urn:ietf:wg:oauth:2.0:oob means that authorization code should be\n returned in the title bar of the browser, with the page text prompting\n the user to copy the code and paste it in the application." + "location": "query" }, "parent": { "description": "The BigQuery project id where the transfer configuration should be created.\nMust be in the format /projects/{project_id}/locations/{location_id}\nor\n/projects/{project_id}/locations/-\nIn case when '-' is specified as location_id, location is infered from\nthe destination dataset region.", @@ -492,11 +900,17 @@ "location": "path" } }, - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/transferConfigs", - "path": "v1/{+parent}/transferConfigs", - "id": "bigquerydatatransfer.projects.locations.transferConfigs.create" + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/transferConfigs" }, "scheduleRuns": { + "description": "Creates transfer runs for a time range [range_start_time, range_end_time].\nFor each date - or whatever granularity the data source supports - in the\nrange, one transfer run is created.\nNote that runs are created per UTC time in the time range.", + "request": { + "$ref": "ScheduleTransferRunsRequest" + }, "httpMethod": "POST", "parameterOrder": [ "parent" @@ -506,11 +920,11 @@ }, "parameters": { "parent": { - "pattern": "^projects/[^/]+/locations/[^/]+/transferConfigs/[^/]+$", "location": "path", "description": "Transfer configuration name in the form:\n`projects/{project_id}/transferConfigs/{config_id}`.", "type": "string", - "required": true + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/transferConfigs/[^/]+$" } }, "scopes": [ @@ -519,29 +933,24 @@ ], "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/transferConfigs/{transferConfigsId}:scheduleRuns", "path": "v1/{+parent}:scheduleRuns", - "id": "bigquerydatatransfer.projects.locations.transferConfigs.scheduleRuns", - "description": "Creates transfer runs for a time range [range_start_time, range_end_time].\nFor each date - or whatever granularity the data source supports - in the\nrange, one transfer run is created.\nNote that runs are created per UTC time in the time range.", - "request": { - "$ref": "ScheduleTransferRunsRequest" - } + "id": "bigquerydatatransfer.projects.locations.transferConfigs.scheduleRuns" } } }, "dataSources": { "methods": { "list": { + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataSources", + "path": "v1/{+parent}/dataSources", + "id": "bigquerydatatransfer.projects.locations.dataSources.list", + "description": "Lists supported data sources and returns their settings,\nwhich can be used for UI rendering.", + "httpMethod": "GET", "parameterOrder": [ "parent" ], "response": { "$ref": "ListDataSourcesResponse" }, - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], "parameters": { "pageToken": { "description": "Pagination token, which can be used to request a specific page\nof `ListDataSourcesRequest` list results. For multiple-page\nresults, `ListDataSourcesResponse` outputs\na `next_page` token, which can be used as the\n`page_token` value to request the next page of list results.", @@ -549,33 +958,34 @@ "location": "query" }, "pageSize": { - "location": "query", "format": "int32", "description": "Page size. The default page size is the maximum value of 1000 results.", - "type": "integer" + "type": "integer", + "location": "query" }, "parent": { - "pattern": "^projects/[^/]+/locations/[^/]+$", - "location": "path", "description": "The BigQuery project id for which data sources should be returned.\nMust be in the form: `projects/{project_id}`", "type": "string", - "required": true + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path" } }, - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataSources", - "id": "bigquerydatatransfer.projects.locations.dataSources.list", - "path": "v1/{+parent}/dataSources", - "description": "Lists supported data sources and returns their settings,\nwhich can be used for UI rendering." + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] }, "get": { "description": "Retrieves a supported data source and returns its settings,\nwhich can be used for UI rendering.", - "httpMethod": "GET", - "parameterOrder": [ - "name" - ], "response": { "$ref": "DataSource" }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform", @@ -583,24 +993,18 @@ ], "parameters": { "name": { + "pattern": "^projects/[^/]+/locations/[^/]+/dataSources/[^/]+$", + "location": "path", "description": "The field will contain name of the resource requested, for example:\n`projects/{project_id}/dataSources/{data_source_id}`", "type": "string", - "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+/dataSources/[^/]+$", - "location": "path" + "required": true } }, "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataSources/{dataSourcesId}", - "path": "v1/{+name}", - "id": "bigquerydatatransfer.projects.locations.dataSources.get" + "id": "bigquerydatatransfer.projects.locations.dataSources.get", + "path": "v1/{+name}" }, "checkValidCreds": { - "id": "bigquerydatatransfer.projects.locations.dataSources.checkValidCreds", - "path": "v1/{+name}:checkValidCreds", - "request": { - "$ref": "CheckValidCredsRequest" - }, - "description": "Returns true if valid credentials exist for the given data source and\nrequesting user.", "response": { "$ref": "CheckValidCredsResponse" }, @@ -608,11 +1012,6 @@ "name" ], "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], "parameters": { "name": { "location": "path", @@ -622,537 +1021,53 @@ "pattern": "^projects/[^/]+/locations/[^/]+/dataSources/[^/]+$" } }, - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataSources/{dataSourcesId}:checkValidCreds" - } - } - } - } - }, - "transferConfigs": { - "methods": { - "list": { - "httpMethod": "GET", - "response": { - "$ref": "ListTransferConfigsResponse" - }, - "parameterOrder": [ - "parent" - ], - "scopes": [ - "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "dataSourceIds": { - "description": "When specified, only configurations of requested data sources are returned.", - "type": "string", - "repeated": true, - "location": "query" - }, - "parent": { - "location": "path", - "description": "The BigQuery project id for which data sources\nshould be returned: `projects/{project_id}`.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$" - }, - "pageToken": { - "location": "query", - "description": "Pagination token, which can be used to request a specific page\nof `ListTransfersRequest` list results. For multiple-page\nresults, `ListTransfersResponse` outputs\na `next_page` token, which can be used as the\n`page_token` value to request the next page of list results.", - "type": "string" - }, - "pageSize": { - "type": "integer", - "location": "query", - "format": "int32", - "description": "Page size. The default page size is the maximum value of 1000 results." - } - }, - "flatPath": "v1/projects/{projectsId}/transferConfigs", - "path": "v1/{+parent}/transferConfigs", - "id": "bigquerydatatransfer.projects.transferConfigs.list", - "description": "Returns information about all data transfers in the project." - }, - "create": { - "response": { - "$ref": "TransferConfig" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "POST", - "parameters": { - "authorizationCode": { - "description": "Optional OAuth2 authorization code to use with this transfer configuration.\nThis is required if new credentials are needed, as indicated by\n`CheckValidCreds`.\nIn order to obtain authorization_code, please make a\nrequest to\nhttps://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=\u003cdatatransferapiclientid\u003e&scope=\u003cdata_source_scopes\u003e&redirect_uri=\u003credirect_uri\u003e\n\n* client_id should be OAuth client_id of BigQuery DTS API for the given\n data source returned by ListDataSources method.\n* data_source_scopes are the scopes returned by ListDataSources method.\n* redirect_uri is an optional parameter. If not specified, then\n authorization code is posted to the opener of authorization flow window.\n Otherwise it will be sent to the redirect uri. A special value of\n urn:ietf:wg:oauth:2.0:oob means that authorization code should be\n returned in the title bar of the browser, with the page text prompting\n the user to copy the code and paste it in the application.", - "type": "string", - "location": "query" - }, - "parent": { - "description": "The BigQuery project id where the transfer configuration should be created.\nMust be in the format /projects/{project_id}/locations/{location_id}\nor\n/projects/{project_id}/locations/-\nIn case when '-' is specified as location_id, location is infered from\nthe destination dataset region.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/transferConfigs", - "id": "bigquerydatatransfer.projects.transferConfigs.create", - "path": "v1/{+parent}/transferConfigs", - "description": "Creates a new data transfer configuration.", - "request": { - "$ref": "TransferConfig" - } - }, - "scheduleRuns": { - "description": "Creates transfer runs for a time range [range_start_time, range_end_time].\nFor each date - or whatever granularity the data source supports - in the\nrange, one transfer run is created.\nNote that runs are created per UTC time in the time range.", - "request": { - "$ref": "ScheduleTransferRunsRequest" - }, - "response": { - "$ref": "ScheduleTransferRunsResponse" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "POST", - "parameters": { - "parent": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/transferConfigs/[^/]+$", - "location": "path", - "description": "Transfer configuration name in the form:\n`projects/{project_id}/transferConfigs/{config_id}`." - } - }, - "scopes": [ - "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/transferConfigs/{transferConfigsId}:scheduleRuns", - "id": "bigquerydatatransfer.projects.transferConfigs.scheduleRuns", - "path": "v1/{+parent}:scheduleRuns" - }, - "patch": { - "httpMethod": "PATCH", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "TransferConfig" - }, - "scopes": [ - "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "location": "path", - "description": "The resource name of the transfer run.\nTransfer run names have the form\n`projects/{project_id}/transferConfigs/{config_id}`.\nWhere `config_id` is usually a uuid, even though it is not\nguaranteed or required. The name is ignored when creating a transfer run.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/transferConfigs/[^/]+$" - }, - "authorizationCode": { - "type": "string", - "location": "query", - "description": "Optional OAuth2 authorization code to use with this transfer configuration.\nIf it is provided, the transfer configuration will be associated with the\ngaia id of the authorizing user.\nIn order to obtain authorization_code, please make a\nrequest to\nhttps://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=\u003cdatatransferapiclientid\u003e&scope=\u003cdata_source_scopes\u003e&redirect_uri=\u003credirect_uri\u003e\n\n* client_id should be OAuth client_id of BigQuery DTS API for the given\n data source returned by ListDataSources method.\n* data_source_scopes are the scopes returned by ListDataSources method.\n* redirect_uri is an optional parameter. If not specified, then\n authorization code is posted to the opener of authorization flow window.\n Otherwise it will be sent to the redirect uri. A special value of\n urn:ietf:wg:oauth:2.0:oob means that authorization code should be\n returned in the title bar of the browser, with the page text prompting\n the user to copy the code and paste it in the application." - }, - "updateMask": { - "location": "query", - "format": "google-fieldmask", - "description": "Required list of fields to be updated in this request.", - "type": "string" - } - }, - "flatPath": "v1/projects/{projectsId}/transferConfigs/{transferConfigsId}", - "path": "v1/{+name}", - "id": "bigquerydatatransfer.projects.transferConfigs.patch", - "request": { - "$ref": "TransferConfig" - }, - "description": "Updates a data transfer configuration.\nAll fields must be set, even if they are not updated." - }, - "get": { - "httpMethod": "GET", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "TransferConfig" - }, - "scopes": [ - "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "name": { - "pattern": "^projects/[^/]+/transferConfigs/[^/]+$", - "location": "path", - "description": "The field will contain name of the resource requested, for example:\n`projects/{project_id}/transferConfigs/{config_id}`", - "type": "string", - "required": true - } - }, - "flatPath": "v1/projects/{projectsId}/transferConfigs/{transferConfigsId}", - "path": "v1/{+name}", - "id": "bigquerydatatransfer.projects.transferConfigs.get", - "description": "Returns information about a data transfer config." - }, - "delete": { - "description": "Deletes a data transfer configuration,\nincluding any associated transfer runs and logs.", - "httpMethod": "DELETE", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "pattern": "^projects/[^/]+/transferConfigs/[^/]+$", - "location": "path", - "description": "The field will contain name of the resource requested, for example:\n`projects/{project_id}/transferConfigs/{config_id}`", - "type": "string", - "required": true - } - }, - "flatPath": "v1/projects/{projectsId}/transferConfigs/{transferConfigsId}", - "path": "v1/{+name}", - "id": "bigquerydatatransfer.projects.transferConfigs.delete" - } - }, - "resources": { - "runs": { - "methods": { - "delete": { - "description": "Deletes the specified transfer run.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "pattern": "^projects/[^/]+/transferConfigs/[^/]+/runs/[^/]+$", - "location": "path", - "description": "The field will contain name of the resource requested, for example:\n`projects/{project_id}/transferConfigs/{config_id}/runs/{run_id}`", - "type": "string", - "required": true - } - }, - "flatPath": "v1/projects/{projectsId}/transferConfigs/{transferConfigsId}/runs/{runsId}", - "id": "bigquerydatatransfer.projects.transferConfigs.runs.delete", - "path": "v1/{+name}" - }, - "list": { - "description": "Returns information about running and completed jobs.", - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "ListTransferRunsResponse" - }, - "httpMethod": "GET", - "parameters": { - "runAttempt": { - "location": "query", - "enum": [ - "RUN_ATTEMPT_UNSPECIFIED", - "LATEST" - ], - "description": "Indicates how run attempts are to be pulled.", - "type": "string" - }, - "parent": { - "pattern": "^projects/[^/]+/transferConfigs/[^/]+$", - "location": "path", - "description": "Name of transfer configuration for which transfer runs should be retrieved.\nFormat of transfer configuration resource name is:\n`projects/{project_id}/transferConfigs/{config_id}`.", - "type": "string", - "required": true - }, - "pageToken": { - "description": "Pagination token, which can be used to request a specific page\nof `ListTransferRunsRequest` list results. For multiple-page\nresults, `ListTransferRunsResponse` outputs\na `next_page` token, which can be used as the\n`page_token` value to request the next page of list results.", - "type": "string", - "location": "query" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "Page size. The default page size is the maximum value of 1000 results.", - "type": "integer" - }, - "statuses": { - "location": "query", - "enum": [ - "TRANSFER_STATUS_UNSPECIFIED", - "INACTIVE", - "PENDING", - "RUNNING", - "SUCCEEDED", - "FAILED", - "CANCELLED" - ], - "description": "When specified, only transfer runs with requested statuses are returned.", - "type": "string", - "repeated": true - } - }, "scopes": [ "https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ], - "flatPath": "v1/projects/{projectsId}/transferConfigs/{transferConfigsId}/runs", - "id": "bigquerydatatransfer.projects.transferConfigs.runs.list", - "path": "v1/{+parent}/runs" - }, - "get": { - "httpMethod": "GET", - "response": { - "$ref": "TransferRun" - }, - "parameterOrder": [ - "name" - ], - "scopes": [ - "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "name": { - "description": "The field will contain name of the resource requested, for example:\n`projects/{project_id}/transferConfigs/{config_id}/runs/{run_id}`", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/transferConfigs/[^/]+/runs/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1/projects/{projectsId}/transferConfigs/{transferConfigsId}/runs/{runsId}", - "path": "v1/{+name}", - "id": "bigquerydatatransfer.projects.transferConfigs.runs.get", - "description": "Returns information about the particular transfer run." - } - }, - "resources": { - "transferLogs": { - "methods": { - "list": { - "response": { - "$ref": "ListTransferLogsResponse" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "GET", - "parameters": { - "pageSize": { - "format": "int32", - "description": "Page size. The default page size is the maximum value of 1000 results.", - "type": "integer", - "location": "query" - }, - "messageTypes": { - "description": "Message types to return. If not populated - INFO, WARNING and ERROR\nmessages are returned.", - "type": "string", - "repeated": true, - "location": "query", - "enum": [ - "MESSAGE_SEVERITY_UNSPECIFIED", - "INFO", - "WARNING", - "ERROR" - ] - }, - "parent": { - "pattern": "^projects/[^/]+/transferConfigs/[^/]+/runs/[^/]+$", - "location": "path", - "description": "Transfer run name in the form:\n`projects/{project_id}/transferConfigs/{config_Id}/runs/{run_id}`.", - "type": "string", - "required": true - }, - "pageToken": { - "description": "Pagination token, which can be used to request a specific page\nof `ListTransferLogsRequest` list results. For multiple-page\nresults, `ListTransferLogsResponse` outputs\na `next_page` token, which can be used as the\n`page_token` value to request the next page of list results.", - "type": "string", - "location": "query" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "flatPath": "v1/projects/{projectsId}/transferConfigs/{transferConfigsId}/runs/{runsId}/transferLogs", - "id": "bigquerydatatransfer.projects.transferConfigs.runs.transferLogs.list", - "path": "v1/{+parent}/transferLogs", - "description": "Returns user facing log messages for the data transfer run." - } + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataSources/{dataSourcesId}:checkValidCreds", + "id": "bigquerydatatransfer.projects.locations.dataSources.checkValidCreds", + "path": "v1/{+name}:checkValidCreds", + "description": "Returns true if valid credentials exist for the given data source and\nrequesting user.\nSome data sources doesn't support service account, so we need to talk to\nthem on behalf of the end user. This API just checks whether we have OAuth\ntoken for the particular user, which is a pre-requisite before user can\ncreate a transfer config.", + "request": { + "$ref": "CheckValidCredsRequest" } } } } } - }, - "dataSources": { - "methods": { - "list": { - "flatPath": "v1/projects/{projectsId}/dataSources", - "path": "v1/{+parent}/dataSources", - "id": "bigquerydatatransfer.projects.dataSources.list", - "description": "Lists supported data sources and returns their settings,\nwhich can be used for UI rendering.", - "httpMethod": "GET", - "response": { - "$ref": "ListDataSourcesResponse" - }, - "parameterOrder": [ - "parent" - ], - "parameters": { - "pageToken": { - "location": "query", - "description": "Pagination token, which can be used to request a specific page\nof `ListDataSourcesRequest` list results. For multiple-page\nresults, `ListDataSourcesResponse` outputs\na `next_page` token, which can be used as the\n`page_token` value to request the next page of list results.", - "type": "string" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "Page size. The default page size is the maximum value of 1000 results.", - "type": "integer" - }, - "parent": { - "pattern": "^projects/[^/]+$", - "location": "path", - "description": "The BigQuery project id for which data sources should be returned.\nMust be in the form: `projects/{project_id}`", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ] - }, - "get": { - "httpMethod": "GET", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "DataSource" - }, - "scopes": [ - "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "name": { - "pattern": "^projects/[^/]+/dataSources/[^/]+$", - "location": "path", - "description": "The field will contain name of the resource requested, for example:\n`projects/{project_id}/dataSources/{data_source_id}`", - "type": "string", - "required": true - } - }, - "flatPath": "v1/projects/{projectsId}/dataSources/{dataSourcesId}", - "path": "v1/{+name}", - "id": "bigquerydatatransfer.projects.dataSources.get", - "description": "Retrieves a supported data source and returns its settings,\nwhich can be used for UI rendering." - }, - "checkValidCreds": { - "flatPath": "v1/projects/{projectsId}/dataSources/{dataSourcesId}:checkValidCreds", - "id": "bigquerydatatransfer.projects.dataSources.checkValidCreds", - "path": "v1/{+name}:checkValidCreds", - "description": "Returns true if valid credentials exist for the given data source and\nrequesting user.", - "request": { - "$ref": "CheckValidCredsRequest" - }, - "response": { - "$ref": "CheckValidCredsResponse" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "POST", - "parameters": { - "name": { - "location": "path", - "description": "The data source in the form:\n`projects/{project_id}/dataSources/{data_source_id}`", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/dataSources/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ] - } - } } } } }, "parameters": { - "access_token": { - "location": "query", - "description": "OAuth access token.", - "type": "string" - }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, - "quotaUser": { - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" - }, "pp": { "location": "query", "description": "Pretty-print response.", "default": "true", "type": "boolean" }, - "bearer_token": { - "location": "query", - "description": "OAuth bearer token.", - "type": "string" - }, "oauth_token": { "description": "OAuth 2.0 token for the current user.", "type": "string", "location": "query" }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, "upload_protocol": { "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "type": "string", "location": "query" }, "prettyPrint": { - "description": "Returns response with indentations and line breaks.", "default": "true", "type": "boolean", - "location": "query" + "location": "query", + "description": "Returns response with indentations and line breaks." }, "fields": { "description": "Selector specifying which fields to include in a partial response.", @@ -1160,28 +1075,28 @@ "location": "query" }, "uploadType": { + "type": "string", "location": "query", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string" + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")." + }, + "callback": { + "type": "string", + "location": "query", + "description": "JSONP" }, "$.xgafv": { + "location": "query", + "enum": [ + "1", + "2" + ], "description": "V1 error format.", "type": "string", "enumDescriptions": [ "v1 error format", "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" ] }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, "alt": { "description": "Data format for response.", "default": "json", @@ -1197,6 +1112,21 @@ "Responses with Content-Type of application/x-protobuf" ], "location": "query" + }, + "key": { + "type": "string", + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token." + }, + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" } }, "version": "v1", @@ -1205,336 +1135,17 @@ "description": "Transfers data from partner SaaS applications to Google BigQuery on a scheduled, managed basis.", "kind": "discovery#restDescription", "basePath": "", - "documentationLink": "https://cloud.google.com/bigquery/", - "revision": "20170703", + "revision": "20170927", "id": "bigquerydatatransfer:v1", + "documentationLink": "https://cloud.google.com/bigquery/", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { - "IsEnabledRequest": { - "type": "object", - "properties": {}, - "id": "IsEnabledRequest", - "description": "A request to determine whether data transfer is enabled for the project." - }, - "SetEnabledRequest": { - "description": "A request to set whether data transfer is enabled or disabled for a project.", - "type": "object", - "properties": { - "enabled": { - "description": "Whether data transfer should be enabled or disabled for the project.", - "type": "boolean" - } - }, - "id": "SetEnabledRequest" - }, - "ListTransferConfigsResponse": { - "id": "ListTransferConfigsResponse", - "description": "The returned list of pipelines in the project.", - "type": "object", - "properties": { - "transferConfigs": { - "description": "The stored pipeline transfer configurations.\n@OutputOnly", - "items": { - "$ref": "TransferConfig" - }, - "type": "array" - }, - "nextPageToken": { - "description": "The next-pagination token. For multiple-page list results,\nthis token can be used as the\n`ListTransferConfigsRequest.page_token`\nto request the next page of list results.\n@OutputOnly", - "type": "string" - } - } - }, - "IsEnabledResponse": { - "description": "A response to indicate whether data transfer is enabled for the project.", - "type": "object", - "properties": { - "enabled": { - "description": "Indicates whether the project is enabled.", - "type": "boolean" - } - }, - "id": "IsEnabledResponse" - }, - "DataSource": { - "id": "DataSource", - "description": "Represents data source metadata. Metadata is sufficient to\nrender UI and request proper OAuth tokens.", - "type": "object", - "properties": { - "transferType": { - "enumDescriptions": [ - "Invalid or Unknown transfer type placeholder.", - "Batch data transfer.", - "Streaming data transfer. Streaming data source currently doesn't\nsupport multiple transfer configs per project." - ], - "enum": [ - "TRANSFER_TYPE_UNSPECIFIED", - "BATCH", - "STREAMING" - ], - "description": "Transfer type. Currently supports only batch transfers,\nwhich are transfers that use the BigQuery batch APIs (load or\nquery) to ingest the data.", - "type": "string" - }, - "description": { - "description": "User friendly data source description string.", - "type": "string" - }, - "dataSourceId": { - "description": "Data source id.", - "type": "string" - }, - "scopes": { - "description": "Api auth scopes for which refresh token needs to be obtained. Only valid\nwhen `client_id` is specified. Ignored otherwise. These are scopes needed\nby a data source to prepare data and ingest them into BigQuery,\ne.g., https://www.googleapis.com/auth/bigquery", - "items": { - "type": "string" - }, - "type": "array" - }, - "name": { - "description": "Data source resource name.", - "type": "string" - }, - "clientId": { - "description": "Data source client id which should be used to receive refresh token.\nWhen not supplied, no offline credentials are populated for data transfer.", - "type": "string" - }, - "authorizationType": { - "enumDescriptions": [ - "Type unspecified.", - "Use OAuth 2 authorization codes that can be exchanged\nfor a refresh token on the backend.", - "Return an authorization code for a given Google+ page that can then be\nexchanged for a refresh token on the backend." - ], - "enum": [ - "AUTHORIZATION_TYPE_UNSPECIFIED", - "AUTHORIZATION_CODE", - "GOOGLE_PLUS_AUTHORIZATION_CODE" - ], - "description": "Indicates the type of authorization.", - "type": "string" - }, - "supportsCustomSchedule": { - "description": "Specifies whether the data source supports a user defined schedule, or\noperates on the default schedule.\nWhen set to `true`, user can override default schedule.", - "type": "boolean" - }, - "displayName": { - "description": "User friendly data source name.", - "type": "string" - }, - "dataRefreshType": { - "enumDescriptions": [ - "The data source won't support data auto refresh, which is default value.", - "The data source supports data auto refresh, and runs will be scheduled\nfor the past few days. Does not allow custom values to be set for each\ntransfer config.", - "The data source supports data auto refresh, and runs will be scheduled\nfor the past few days. Allows custom values to be set for each transfer\nconfig." - ], - "enum": [ - "NONE", - "SLIDING_WINDOW", - "CUSTOM_SLIDING_WINDOW" - ], - "description": "Specifies whether the data source supports automatic data refresh for the\npast few days, and how it's supported.\nFor some data sources, data might not be complete until a few days later,\nso it's useful to refresh data automatically.", - "type": "string" - }, - "parameters": { - "description": "Data source parameters.", - "items": { - "$ref": "DataSourceParameter" - }, - "type": "array" - }, - "helpUrl": { - "description": "Url for the help document for this data source.", - "type": "string" - }, - "defaultSchedule": { - "description": "Default data transfer schedule.\nExamples of valid schedules include:\n`1st,3rd monday of month 15:30`,\n`every wed,fri of jan,jun 13:15`, and\n`first sunday of quarter 00:00`.", - "type": "string" - }, - "supportsMultipleTransfers": { - "description": "Indicates whether the data source supports multiple transfers\nto different BigQuery targets.", - "type": "boolean" - }, - "statusUpdateDeadlineSeconds": { - "format": "int32", - "description": "The number of seconds to wait for a status update from the data source\nbefore BigQuery marks the transfer as failed.", - "type": "integer" - }, - "manualRunsDisabled": { - "description": "Disables backfilling and manual run scheduling\nfor the data source.", - "type": "boolean" - }, - "defaultDataRefreshWindowDays": { - "format": "int32", - "description": "Default data refresh window on days.\nOnly meaningful when `data_refresh_type` = `SLIDING_WINDOW`.", - "type": "integer" - } - } - }, - "ScheduleTransferRunsRequest": { - "description": "A request to schedule transfer runs for a time range.", - "type": "object", - "properties": { - "rangeStartTime": { - "format": "google-datetime", - "description": "Start time of the range of transfer runs.", - "type": "string" - }, - "rangeEndTime": { - "format": "google-datetime", - "description": "End time of the range of transfer runs.", - "type": "string" - } - }, - "id": "ScheduleTransferRunsRequest" - }, - "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", - "type": "object", - "properties": {}, - "id": "Empty" - }, - "TransferConfig": { - "description": "Represents a data transfer configuration. A transfer configuration\ncontains all metadata needed to perform a data transfer. For example,\n`destination_dataset_id` specifies where data should be stored.\nWhen a new transfer configuration is created, the specified\n`destination_dataset_id` is created when needed and shared with the\nappropriate data source service account.", - "type": "object", - "properties": { - "nextRunTime": { - "format": "google-datetime", - "description": "Next time when data transfer will run. Output only. Applicable\nonly for batch data transfers.\n@OutputOnly", - "type": "string" - }, - "disabled": { - "description": "Is this config disabled. When set to true, no runs are scheduled\nfor a given transfer.", - "type": "boolean" - }, - "schedule": { - "description": "Data transfer schedule in GROC format.\nIf the data source does not support a custom schedule, this should be\nempty. If it is empty, the default value for the data source will be\nused.\nThe specified times are in UTC.\nExamples of valid GROC include:\n`1st,3rd monday of month 15:30`,\n`every wed,fri of jan,jun 13:15`, and\n`first sunday of quarter 00:00`.", - "type": "string" - }, - "updateTime": { - "format": "google-datetime", - "description": "Data transfer modification time. Ignored by server on input.\n@OutputOnly", - "type": "string" - }, - "dataRefreshWindowDays": { - "format": "int32", - "description": "The number of days to look back to automatically refresh the data.\nFor example, if `data_refresh_window_days = 10`, then every day\nBigQuery reingests data for [today-10, today-1], rather than ingesting data\nfor just [today-1].\nOnly valid if the data source supports the feature. Set the value to 0\nto use the default value.", - "type": "integer" - }, - "dataSourceId": { - "description": "Data source id. Cannot be changed once data transfer is created.", - "type": "string" - }, - "status": { - "type": "string", - "enumDescriptions": [ - "Status placeholder.", - "Data transfer is inactive.", - "Data transfer is scheduled and is waiting to be picked up by\ndata transfer backend.", - "Data transfer is in progress.", - "Data transfer completed successsfully.", - "Data transfer failed.", - "Data transfer is cancelled." - ], - "enum": [ - "TRANSFER_STATUS_UNSPECIFIED", - "INACTIVE", - "PENDING", - "RUNNING", - "SUCCEEDED", - "FAILED", - "CANCELLED" - ], - "description": "Status of the most recently updated transfer run.\n@OutputOnly" - }, - "destinationDatasetId": { - "description": "The BigQuery target dataset id.", - "type": "string" - }, - "userId": { - "format": "int64", - "description": "GaiaID of the user on whose behalf transfer is done. Applicable only\nto data sources that do not support service accounts. When set to 0,\nthe data source service account credentials are used.\n@OutputOnly", - "type": "string" - }, - "name": { - "description": "The resource name of the transfer run.\nTransfer run names have the form\n`projects/{project_id}/transferConfigs/{config_id}`.\nWhere `config_id` is usually a uuid, even though it is not\nguaranteed or required. The name is ignored when creating a transfer run.", - "type": "string" - }, - "params": { - "description": "Data transfer specific parameters.", - "type": "object", - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - } - }, - "datasetRegion": { - "description": "Region in which BigQuery dataset is located. Currently possible values are:\n\"US\" and \"EU\".\n@OutputOnly", - "type": "string" - }, - "displayName": { - "description": "User specified display name for the data transfer.", - "type": "string" - } - }, - "id": "TransferConfig" - }, "TransferRun": { + "id": "TransferRun", "description": "Represents a data transfer run.", "type": "object", "properties": { - "schedule": { - "type": "string", - "description": "Describes the schedule of this transfer run if it was created as part of\na regular schedule. For batch transfer runs that are directly created,\nthis is empty.\nNOTE: the system might choose to delay the schedule depending on the\ncurrent load, so `schedule_time` doesn't always matches this.\n@OutputOnly" - }, - "updateTime": { - "format": "google-datetime", - "description": "Last time the data transfer run status was updated.\n@OutputOnly", - "type": "string" - }, - "runTime": { - "type": "string", - "format": "google-datetime", - "description": "For batch transfer runs, specifies the date and time that\ndata should be ingested." - }, - "dataSourceId": { - "description": "Data source id.\n@OutputOnly", - "type": "string" - }, - "status": { - "enumDescriptions": [ - "Status placeholder.", - "Data transfer is inactive.", - "Data transfer is scheduled and is waiting to be picked up by\ndata transfer backend.", - "Data transfer is in progress.", - "Data transfer completed successsfully.", - "Data transfer failed.", - "Data transfer is cancelled." - ], - "enum": [ - "TRANSFER_STATUS_UNSPECIFIED", - "INACTIVE", - "PENDING", - "RUNNING", - "SUCCEEDED", - "FAILED", - "CANCELLED" - ], - "description": "Data transfer run status. Ignored for input requests.\n@OutputOnly", - "type": "string" - }, - "destinationDatasetId": { - "description": "The BigQuery target dataset id.", - "type": "string" - }, - "name": { - "description": "The resource name of the transfer run.\nTransfer run names have the form\n`projects/{project_id}/locations/{location}/transferConfigs/{config_id}/runs/{run_id}`.\nThe name is ignored when creating a transfer run.", - "type": "string" - }, - "userId": { - "format": "int64", - "description": "The user id for this transfer run.\n@OutputOnly", - "type": "string" - }, "params": { "additionalProperties": { "description": "Properties of the object.", @@ -1544,26 +1155,78 @@ "type": "object" }, "endTime": { - "type": "string", "format": "google-datetime", - "description": "Time when transfer run ended. Parameter ignored by server for input\nrequests.\n@OutputOnly" + "description": "Time when transfer run ended. Parameter ignored by server for input\nrequests.\nOutput only.", + "type": "string" }, "datasetRegion": { - "description": "Region in which BigQuery dataset is located. Currently possible values are:\n\"US\" and \"EU\".\n@OutputOnly", + "description": "Region in which BigQuery dataset is located. Currently possible values are:\n\"US\" and \"EU\".\nOutput only.", "type": "string" }, "startTime": { "format": "google-datetime", - "description": "Time when transfer run was started. Parameter ignored by server for input\nrequests.\n@OutputOnly", + "description": "Time when transfer run was started. Parameter ignored by server for input\nrequests.\nOutput only.", "type": "string" }, "scheduleTime": { "format": "google-datetime", "description": "Minimum time after which a transfer run can be started.", "type": "string" + }, + "updateTime": { + "format": "google-datetime", + "description": "Last time the data transfer run state was updated.\nOutput only.", + "type": "string" + }, + "schedule": { + "description": "Describes the schedule of this transfer run if it was created as part of\na regular schedule. For batch transfer runs that are directly created,\nthis is empty.\nNOTE: the system might choose to delay the schedule depending on the\ncurrent load, so `schedule_time` doesn't always matches this.\nOutput only.", + "type": "string" + }, + "runTime": { + "format": "google-datetime", + "description": "For batch transfer runs, specifies the date and time that\ndata should be ingested.", + "type": "string" + }, + "dataSourceId": { + "description": "Data source id.\nOutput only.", + "type": "string" + }, + "state": { + "enumDescriptions": [ + "State placeholder.", + "Data transfer is inactive.", + "Data transfer is scheduled and is waiting to be picked up by\ndata transfer backend.", + "Data transfer is in progress.", + "Data transfer completed successsfully.", + "Data transfer failed.", + "Data transfer is cancelled." + ], + "enum": [ + "TRANSFER_STATE_UNSPECIFIED", + "INACTIVE", + "PENDING", + "RUNNING", + "SUCCEEDED", + "FAILED", + "CANCELLED" + ], + "description": "Data transfer run state. Ignored for input requests.\nOutput only.", + "type": "string" + }, + "userId": { + "format": "int64", + "description": "Unique ID of the user on whose behalf transfer is done. Applicable only\nto data sources that do not support service accounts. When set to 0,\nthe data source service account credentials are used.\nOutput only.", + "type": "string" + }, + "name": { + "description": "The resource name of the transfer run.\nTransfer run names have the form\n`projects/{project_id}/locations/{location}/transferConfigs/{config_id}/runs/{run_id}`.\nThe name is ignored when creating a transfer run.", + "type": "string" + }, + "destinationDatasetId": { + "description": "The BigQuery target dataset id.", + "type": "string" } - }, - "id": "TransferRun" + } }, "CheckValidCredsRequest": { "description": "A request to determine whether the user has valid credentials. This method\nis used to limit the number of OAuth popups in the user interface. The\nuser id is inferred from the API call context.\nIf the data source has the Google+ authorization type, this method\nreturns false, as it cannot be determined whether the credentials are\nalready valid merely based on the user id.", @@ -1576,8 +1239,8 @@ "type": "object", "properties": { "hasValidCreds": { - "type": "boolean", - "description": "If set to `true`, the credentials exist and are valid." + "description": "If set to `true`, the credentials exist and are valid.", + "type": "boolean" } }, "id": "CheckValidCredsResponse" @@ -1586,8 +1249,8 @@ "description": "A response to schedule transfer runs for a time range.", "type": "object", "properties": { - "createdRuns": { - "description": "The transfer runs that were created.", + "runs": { + "description": "The transfer runs that were scheduled.", "items": { "$ref": "TransferRun" }, @@ -1597,22 +1260,22 @@ "id": "ScheduleTransferRunsResponse" }, "ListTransferLogsResponse": { - "description": "The returned list transfer run messages.", "type": "object", "properties": { "transferMessages": { - "description": "The stored pipeline transfer messages.\n@OutputOnly", + "description": "The stored pipeline transfer messages.\nOutput only.", "items": { "$ref": "TransferMessage" }, "type": "array" }, "nextPageToken": { - "description": "The next-pagination token. For multiple-page list results,\nthis token can be used as the\n`GetTransferRunLogRequest.page_token`\nto request the next page of list results.\n@OutputOnly", + "description": "The next-pagination token. For multiple-page list results,\nthis token can be used as the\n`GetTransferRunLogRequest.page_token`\nto request the next page of list results.\nOutput only.", "type": "string" } }, - "id": "ListTransferLogsResponse" + "id": "ListTransferLogsResponse", + "description": "The returned list transfer run messages." }, "TransferMessage": { "description": "Represents a user facing message for a particular data transfer run.", @@ -1647,6 +1310,8 @@ "id": "TransferMessage" }, "ListDataSourcesResponse": { + "description": "Returns list of supported data sources and their metadata.", + "type": "object", "properties": { "dataSources": { "description": "List of supported data sources and their transfer settings.", @@ -1656,31 +1321,16 @@ "type": "array" }, "nextPageToken": { - "type": "string", - "description": "The next-pagination token. For multiple-page list results,\nthis token can be used as the\n`ListDataSourcesRequest.page_token`\nto request the next page of list results.\n@OutputOnly" + "description": "The next-pagination token. For multiple-page list results,\nthis token can be used as the\n`ListDataSourcesRequest.page_token`\nto request the next page of list results.\nOutput only.", + "type": "string" } }, - "id": "ListDataSourcesResponse", - "description": "Returns list of supported data sources and their metadata.", - "type": "object" + "id": "ListDataSourcesResponse" }, "DataSourceParameter": { - "id": "DataSourceParameter", "description": "Represents a data source parameter with validation rules, so that\nparameters can be rendered in the UI. These parameters are given to us by\nsupported data sources, and include all needed information for rendering\nand validation.\nThus, whoever uses this api can decide to generate either generic ui,\nor custom data source specific forms.", "type": "object", "properties": { - "displayName": { - "description": "Parameter display name in the user interface.", - "type": "string" - }, - "immutable": { - "description": "Cannot be changed after initial creation.", - "type": "boolean" - }, - "validationDescription": { - "description": "Description of the requirements for this field, in case the user input does\nnot fulfill the regex pattern or min/max values.", - "type": "string" - }, "fields": { "description": "When parameter is a record, describes child fields.", "items": { @@ -1689,13 +1339,11 @@ "type": "array" }, "maxValue": { + "type": "number", "format": "double", - "description": "For integer and double values specifies maxminum allowed value.", - "type": "number" + "description": "For integer and double values specifies maxminum allowed value." }, "type": { - "description": "Parameter type.", - "type": "string", "enumDescriptions": [ "Type unspecified.", "String parameter.", @@ -1713,7 +1361,9 @@ "BOOLEAN", "RECORD", "PLUS_PAGE" - ] + ], + "description": "Parameter type.", + "type": "string" }, "recurse": { "description": "If set to true, schema should be taken from the parent with the same\nparameter_id. Only applicable when parameter type is RECORD.", @@ -1730,15 +1380,15 @@ }, "type": "array" }, + "minValue": { + "format": "double", + "description": "For integer and double values specifies minimum allowed value.", + "type": "number" + }, "validationHelpUrl": { "description": "URL to a help document to further explain the naming requirements.", "type": "string" }, - "minValue": { - "type": "number", - "format": "double", - "description": "For integer and double values specifies minimum allowed value." - }, "validationRegex": { "description": "Regular expression which can be used for parameter validation.", "type": "string" @@ -1748,37 +1398,365 @@ "type": "string" }, "required": { - "description": "Is parameter required.", - "type": "boolean" + "type": "boolean", + "description": "Is parameter required." }, "repeated": { "description": "Can parameter have multiple values.", "type": "boolean" + }, + "displayName": { + "description": "Parameter display name in the user interface.", + "type": "string" + }, + "validationDescription": { + "description": "Description of the requirements for this field, in case the user input does\nnot fulfill the regex pattern or min/max values.", + "type": "string" + }, + "immutable": { + "type": "boolean", + "description": "Cannot be changed after initial creation." } - } + }, + "id": "DataSourceParameter" }, "ListTransferRunsResponse": { "description": "The returned list of pipelines in the project.", "type": "object", "properties": { "transferRuns": { - "description": "The stored pipeline transfer runs.\n@OutputOnly", + "description": "The stored pipeline transfer runs.\nOutput only.", "items": { "$ref": "TransferRun" }, "type": "array" }, "nextPageToken": { - "description": "The next-pagination token. For multiple-page list results,\nthis token can be used as the\n`ListTransferRunsRequest.page_token`\nto request the next page of list results.\n@OutputOnly", + "description": "The next-pagination token. For multiple-page list results,\nthis token can be used as the\n`ListTransferRunsRequest.page_token`\nto request the next page of list results.\nOutput only.", "type": "string" } }, "id": "ListTransferRunsResponse" + }, + "ListLocationsResponse": { + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "id": "ListLocationsResponse", + "description": "The response message for Locations.ListLocations.", + "type": "object" + }, + "ListTransferConfigsResponse": { + "description": "The returned list of pipelines in the project.", + "type": "object", + "properties": { + "transferConfigs": { + "description": "The stored pipeline transfer configurations.\nOutput only.", + "items": { + "$ref": "TransferConfig" + }, + "type": "array" + }, + "nextPageToken": { + "type": "string", + "description": "The next-pagination token. For multiple-page list results,\nthis token can be used as the\n`ListTransferConfigsRequest.page_token`\nto request the next page of list results.\nOutput only." + } + }, + "id": "ListTransferConfigsResponse" + }, + "DataSource": { + "id": "DataSource", + "description": "Represents data source metadata. Metadata is sufficient to\nrender UI and request proper OAuth tokens.", + "type": "object", + "properties": { + "dataSourceId": { + "description": "Data source id.", + "type": "string" + }, + "scopes": { + "description": "Api auth scopes for which refresh token needs to be obtained. Only valid\nwhen `client_id` is specified. Ignored otherwise. These are scopes needed\nby a data source to prepare data and ingest them into BigQuery,\ne.g., https://www.googleapis.com/auth/bigquery", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Data source resource name.", + "type": "string" + }, + "minimumScheduleInterval": { + "format": "google-duration", + "description": "The minimum interval between two consecutive scheduled runs.", + "type": "string" + }, + "clientId": { + "description": "Data source client id which should be used to receive refresh token.\nWhen not supplied, no offline credentials are populated for data transfer.", + "type": "string" + }, + "authorizationType": { + "description": "Indicates the type of authorization.", + "type": "string", + "enumDescriptions": [ + "Type unspecified.", + "Use OAuth 2 authorization codes that can be exchanged\nfor a refresh token on the backend.", + "Return an authorization code for a given Google+ page that can then be\nexchanged for a refresh token on the backend." + ], + "enum": [ + "AUTHORIZATION_TYPE_UNSPECIFIED", + "AUTHORIZATION_CODE", + "GOOGLE_PLUS_AUTHORIZATION_CODE" + ] + }, + "supportsCustomSchedule": { + "description": "Specifies whether the data source supports a user defined schedule, or\noperates on the default schedule.\nWhen set to `true`, user can override default schedule.", + "type": "boolean" + }, + "displayName": { + "description": "User friendly data source name.", + "type": "string" + }, + "updateDeadlineSeconds": { + "format": "int32", + "description": "The number of seconds to wait for an update from the data source\nbefore BigQuery marks the transfer as failed.", + "type": "integer" + }, + "dataRefreshType": { + "enumDescriptions": [ + "The data source won't support data auto refresh, which is default value.", + "The data source supports data auto refresh, and runs will be scheduled\nfor the past few days. Does not allow custom values to be set for each\ntransfer config.", + "The data source supports data auto refresh, and runs will be scheduled\nfor the past few days. Allows custom values to be set for each transfer\nconfig." + ], + "enum": [ + "DATA_REFRESH_TYPE_UNSPECIFIED", + "SLIDING_WINDOW", + "CUSTOM_SLIDING_WINDOW" + ], + "description": "Specifies whether the data source supports automatic data refresh for the\npast few days, and how it's supported.\nFor some data sources, data might not be complete until a few days later,\nso it's useful to refresh data automatically.", + "type": "string" + }, + "parameters": { + "description": "Data source parameters.", + "items": { + "$ref": "DataSourceParameter" + }, + "type": "array" + }, + "helpUrl": { + "description": "Url for the help document for this data source.", + "type": "string" + }, + "defaultSchedule": { + "description": "Default data transfer schedule.\nExamples of valid schedules include:\n`1st,3rd monday of month 15:30`,\n`every wed,fri of jan,jun 13:15`, and\n`first sunday of quarter 00:00`.", + "type": "string" + }, + "supportsMultipleTransfers": { + "description": "Indicates whether the data source supports multiple transfers\nto different BigQuery targets.", + "type": "boolean" + }, + "defaultDataRefreshWindowDays": { + "format": "int32", + "description": "Default data refresh window on days.\nOnly meaningful when `data_refresh_type` = `SLIDING_WINDOW`.", + "type": "integer" + }, + "manualRunsDisabled": { + "description": "Disables backfilling and manual run scheduling\nfor the data source.", + "type": "boolean" + }, + "transferType": { + "type": "string", + "enumDescriptions": [ + "Invalid or Unknown transfer type placeholder.", + "Batch data transfer.", + "Streaming data transfer. Streaming data source currently doesn't\nsupport multiple transfer configs per project." + ], + "enum": [ + "TRANSFER_TYPE_UNSPECIFIED", + "BATCH", + "STREAMING" + ], + "description": "Transfer type. Currently supports only batch transfers,\nwhich are transfers that use the BigQuery batch APIs (load or\nquery) to ingest the data." + }, + "description": { + "description": "User friendly data source description string.", + "type": "string" + } + } + }, + "ScheduleTransferRunsRequest": { + "description": "A request to schedule transfer runs for a time range.", + "type": "object", + "properties": { + "endTime": { + "format": "google-datetime", + "description": "End time of the range of transfer runs. For example,\n`\"2017-05-30T00:00:00+00:00\"`.", + "type": "string" + }, + "startTime": { + "type": "string", + "format": "google-datetime", + "description": "Start time of the range of transfer runs. For example,\n`\"2017-05-25T00:00:00+00:00\"`." + } + }, + "id": "ScheduleTransferRunsRequest" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object", + "properties": {}, + "id": "Empty" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform location.", + "type": "object", + "properties": { + "name": { + "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + }, + "locationId": { + "type": "string", + "description": "The canonical id for this location. For example: `\"us-east1\"`." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given\nlocation.", + "type": "object" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example\n\n {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + } + }, + "id": "Location" + }, + "TransferConfig": { + "id": "TransferConfig", + "description": "Represents a data transfer configuration. A transfer configuration\ncontains all metadata needed to perform a data transfer. For example,\n`destination_dataset_id` specifies where data should be stored.\nWhen a new transfer configuration is created, the specified\n`destination_dataset_id` is created when needed and shared with the\nappropriate data source service account.", + "type": "object", + "properties": { + "params": { + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + }, + "description": "Data transfer specific parameters.", + "type": "object" + }, + "datasetRegion": { + "description": "Region in which BigQuery dataset is located. Currently possible values are:\n\"US\" and \"EU\".\nOutput only.", + "type": "string" + }, + "displayName": { + "description": "User specified display name for the data transfer.", + "type": "string" + }, + "disabled": { + "description": "Is this config disabled. When set to true, no runs are scheduled\nfor a given transfer.", + "type": "boolean" + }, + "nextRunTime": { + "format": "google-datetime", + "description": "Next time when data transfer will run.\nOutput only.", + "type": "string" + }, + "schedule": { + "description": "Data transfer schedule.\nIf the data source does not support a custom schedule, this should be\nempty. If it is empty, the default value for the data source will be\nused.\nThe specified times are in UTC.\nExamples of valid format:\n`1st,3rd monday of month 15:30`,\n`every wed,fri of jan,jun 13:15`, and\n`first sunday of quarter 00:00`.\nSee more explanation about the format here:\nhttps://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#the_schedule_format\nNOTE: the granularity should be at least 8 hours, or less frequent.", + "type": "string" + }, + "updateTime": { + "type": "string", + "format": "google-datetime", + "description": "Data transfer modification time. Ignored by server on input.\nOutput only." + }, + "dataRefreshWindowDays": { + "format": "int32", + "description": "The number of days to look back to automatically refresh the data.\nFor example, if `data_refresh_window_days = 10`, then every day\nBigQuery reingests data for [today-10, today-1], rather than ingesting data\nfor just [today-1].\nOnly valid if the data source supports the feature. Set the value to 0\nto use the default value.", + "type": "integer" + }, + "dataSourceId": { + "description": "Data source id. Cannot be changed once data transfer is created.", + "type": "string" + }, + "state": { + "enumDescriptions": [ + "State placeholder.", + "Data transfer is inactive.", + "Data transfer is scheduled and is waiting to be picked up by\ndata transfer backend.", + "Data transfer is in progress.", + "Data transfer completed successsfully.", + "Data transfer failed.", + "Data transfer is cancelled." + ], + "enum": [ + "TRANSFER_STATE_UNSPECIFIED", + "INACTIVE", + "PENDING", + "RUNNING", + "SUCCEEDED", + "FAILED", + "CANCELLED" + ], + "description": "State of the most recently updated transfer run.\nOutput only.", + "type": "string" + }, + "userId": { + "format": "int64", + "description": "Unique ID of the user on whose behalf transfer is done. Applicable only\nto data sources that do not support service accounts. When set to 0,\nthe data source service account credentials are used.\nOutput only.", + "type": "string" + }, + "destinationDatasetId": { + "description": "The BigQuery target dataset id.", + "type": "string" + }, + "name": { + "description": "The resource name of the transfer config.\nTransfer config names have the form\n`projects/{project_id}/transferConfigs/{config_id}`.\nWhere `config_id` is usually a uuid, even though it is not\nguaranteed or required. The name is ignored when creating a transfer\nconfig.", + "type": "string" + } + } } }, + "protocol": "rest", "icons": { "x32": "http://www.google.com/images/icons/product/search-32.gif", "x16": "http://www.google.com/images/icons/product/search-16.gif" }, - "protocol": "rest" + "canonicalName": "BigQuery Data Transfer", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/bigquery": { + "description": "View and manage your data in Google BigQuery" + }, + "https://www.googleapis.com/auth/cloud-platform.read-only": { + "description": "View your data across Google Cloud Platform services" + }, + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "rootUrl": "https://bigquerydatatransfer.googleapis.com/", + "ownerDomain": "google.com", + "name": "bigquerydatatransfer", + "batchPath": "batch", + "fullyEncodeReservedExpansion": true, + "title": "BigQuery Data Transfer API", + "ownerName": "Google" } diff --git a/vendor/google.golang.org/api/bigquerydatatransfer/v1/bigquerydatatransfer-gen.go b/vendor/google.golang.org/api/bigquerydatatransfer/v1/bigquerydatatransfer-gen.go index 3a65a0b99..ec153414b 100644 --- a/vendor/google.golang.org/api/bigquerydatatransfer/v1/bigquerydatatransfer-gen.go +++ b/vendor/google.golang.org/api/bigquerydatatransfer/v1/bigquerydatatransfer-gen.go @@ -1,4 +1,4 @@ -// Package bigquerydatatransfer provides access to the BigQuery Data Transfer Service API. +// Package bigquerydatatransfer provides access to the BigQuery Data Transfer API. // // See https://cloud.google.com/bigquery/ // @@ -274,8 +274,8 @@ type DataSource struct { // so it's useful to refresh data automatically. // // Possible values: - // "NONE" - The data source won't support data auto refresh, which is - // default value. + // "DATA_REFRESH_TYPE_UNSPECIFIED" - The data source won't support + // data auto refresh, which is default value. // "SLIDING_WINDOW" - The data source supports data auto refresh, and // runs will be scheduled // for the past few days. Does not allow custom values to be set for @@ -317,6 +317,10 @@ type DataSource struct { // for the data source. ManualRunsDisabled bool `json:"manualRunsDisabled,omitempty"` + // MinimumScheduleInterval: The minimum interval between two consecutive + // scheduled runs. + MinimumScheduleInterval string `json:"minimumScheduleInterval,omitempty"` + // Name: Data source resource name. Name string `json:"name,omitempty"` @@ -331,11 +335,6 @@ type DataSource struct { // e.g., https://www.googleapis.com/auth/bigquery Scopes []string `json:"scopes,omitempty"` - // StatusUpdateDeadlineSeconds: The number of seconds to wait for a - // status update from the data source - // before BigQuery marks the transfer as failed. - StatusUpdateDeadlineSeconds int64 `json:"statusUpdateDeadlineSeconds,omitempty"` - // SupportsCustomSchedule: Specifies whether the data source supports a // user defined schedule, or // operates on the default schedule. @@ -361,6 +360,11 @@ type DataSource struct { // support multiple transfer configs per project. TransferType string `json:"transferType,omitempty"` + // UpdateDeadlineSeconds: The number of seconds to wait for an update + // from the data source + // before BigQuery marks the transfer as failed. + UpdateDeadlineSeconds int64 `json:"updateDeadlineSeconds,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -520,44 +524,6 @@ type Empty struct { googleapi.ServerResponse `json:"-"` } -// IsEnabledRequest: A request to determine whether data transfer is -// enabled for the project. -type IsEnabledRequest struct { -} - -// IsEnabledResponse: A response to indicate whether data transfer is -// enabled for the project. -type IsEnabledResponse struct { - // Enabled: Indicates whether the project is enabled. - Enabled bool `json:"enabled,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` - - // ForceSendFields is a list of field names (e.g. "Enabled") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - 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. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *IsEnabledResponse) MarshalJSON() ([]byte, error) { - type noMethod IsEnabledResponse - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // ListDataSourcesResponse: Returns list of supported data sources and // their metadata. type ListDataSourcesResponse struct { @@ -570,7 +536,7 @@ type ListDataSourcesResponse struct { // this token can be used as the // `ListDataSourcesRequest.page_token` // to request the next page of list results. - // @OutputOnly + // Output only. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -600,6 +566,43 @@ func (s *ListDataSourcesResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ListLocationsResponse: The response message for +// Locations.ListLocations. +type ListLocationsResponse struct { + // Locations: A list of locations that matches the specified filter in + // the request. + Locations []*Location `json:"locations,omitempty"` + + // NextPageToken: The standard List next-page token. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Locations") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Locations") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListLocationsResponse) MarshalJSON() ([]byte, error) { + type noMethod ListLocationsResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ListTransferConfigsResponse: The returned list of pipelines in the // project. type ListTransferConfigsResponse struct { @@ -609,12 +612,11 @@ type ListTransferConfigsResponse struct { // the // `ListTransferConfigsRequest.page_token` // to request the next page of list results. - // @OutputOnly + // Output only. NextPageToken string `json:"nextPageToken,omitempty"` - // TransferConfigs: The stored pipeline transfer - // configurations. - // @OutputOnly + // TransferConfigs: The stored pipeline transfer configurations. + // Output only. TransferConfigs []*TransferConfig `json:"transferConfigs,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -652,11 +654,11 @@ type ListTransferLogsResponse struct { // the // `GetTransferRunLogRequest.page_token` // to request the next page of list results. - // @OutputOnly + // Output only. NextPageToken string `json:"nextPageToken,omitempty"` // TransferMessages: The stored pipeline transfer messages. - // @OutputOnly + // Output only. TransferMessages []*TransferMessage `json:"transferMessages,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -694,11 +696,11 @@ type ListTransferRunsResponse struct { // this token can be used as the // `ListTransferRunsRequest.page_token` // to request the next page of list results. - // @OutputOnly + // Output only. NextPageToken string `json:"nextPageToken,omitempty"` // TransferRuns: The stored pipeline transfer runs. - // @OutputOnly + // Output only. TransferRuns []*TransferRun `json:"transferRuns,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -728,16 +730,32 @@ func (s *ListTransferRunsResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ScheduleTransferRunsRequest: A request to schedule transfer runs for -// a time range. -type ScheduleTransferRunsRequest struct { - // RangeEndTime: End time of the range of transfer runs. - RangeEndTime string `json:"rangeEndTime,omitempty"` +// Location: A resource that represents Google Cloud Platform location. +type Location struct { + // Labels: Cross-service attributes for the location. For example + // + // {"cloud.googleapis.com/region": "us-east1"} + Labels map[string]string `json:"labels,omitempty"` - // RangeStartTime: Start time of the range of transfer runs. - RangeStartTime string `json:"rangeStartTime,omitempty"` + // LocationId: The canonical id for this location. For example: + // "us-east1". + LocationId string `json:"locationId,omitempty"` - // ForceSendFields is a list of field names (e.g. "RangeEndTime") to + // Metadata: Service-specific metadata. For example the available + // capacity at the given + // location. + Metadata googleapi.RawMessage `json:"metadata,omitempty"` + + // Name: Resource name for the location, which may vary between + // implementations. + // For example: "projects/example-project/locations/us-east1" + Name string `json:"name,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Labels") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -745,10 +763,46 @@ type ScheduleTransferRunsRequest struct { // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RangeEndTime") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as + // 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Location) MarshalJSON() ([]byte, error) { + type noMethod Location + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ScheduleTransferRunsRequest: A request to schedule transfer runs for +// a time range. +type ScheduleTransferRunsRequest struct { + // EndTime: End time of the range of transfer runs. For + // example, + // "2017-05-30T00:00:00+00:00". + EndTime string `json:"endTime,omitempty"` + + // StartTime: Start time of the range of transfer runs. For + // example, + // "2017-05-25T00:00:00+00:00". + 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` @@ -763,14 +817,14 @@ func (s *ScheduleTransferRunsRequest) MarshalJSON() ([]byte, error) { // ScheduleTransferRunsResponse: A response to schedule transfer runs // for a time range. type ScheduleTransferRunsResponse struct { - // CreatedRuns: The transfer runs that were created. - CreatedRuns []*TransferRun `json:"createdRuns,omitempty"` + // Runs: The transfer runs that were scheduled. + Runs []*TransferRun `json:"runs,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "CreatedRuns") to + // ForceSendFields is a list of field names (e.g. "Runs") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -778,38 +832,8 @@ type ScheduleTransferRunsResponse struct { // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CreatedRuns") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *ScheduleTransferRunsResponse) MarshalJSON() ([]byte, error) { - type noMethod ScheduleTransferRunsResponse - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// SetEnabledRequest: A request to set whether data transfer is enabled -// or disabled for a project. -type SetEnabledRequest struct { - // Enabled: Whether data transfer should be enabled or disabled for the - // project. - Enabled bool `json:"enabled,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Enabled") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - 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 + // NullFields is a list of field names (e.g. "Runs") to include in API + // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. @@ -817,8 +841,8 @@ type SetEnabledRequest struct { NullFields []string `json:"-"` } -func (s *SetEnabledRequest) MarshalJSON() ([]byte, error) { - type noMethod SetEnabledRequest +func (s *ScheduleTransferRunsResponse) MarshalJSON() ([]byte, error) { + type noMethod ScheduleTransferRunsResponse raw := noMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } @@ -853,7 +877,7 @@ type TransferConfig struct { // DatasetRegion: Region in which BigQuery dataset is located. Currently // possible values are: // "US" and "EU". - // @OutputOnly + // Output only. DatasetRegion string `json:"datasetRegion,omitempty"` // DestinationDatasetId: The BigQuery target dataset id. @@ -867,42 +891,46 @@ type TransferConfig struct { // DisplayName: User specified display name for the data transfer. DisplayName string `json:"displayName,omitempty"` - // Name: The resource name of the transfer run. - // Transfer run names have the + // Name: The resource name of the transfer config. + // Transfer config names have the // form // `projects/{project_id}/transferConfigs/{config_id}`. // Where `config_id` is usually a uuid, even though it is not - // guaranteed or required. The name is ignored when creating a transfer - // run. + // guaranteed or required. The name is ignored when creating a + // transfer + // config. Name string `json:"name,omitempty"` - // NextRunTime: Next time when data transfer will run. Output only. - // Applicable - // only for batch data transfers. - // @OutputOnly + // NextRunTime: Next time when data transfer will run. + // Output only. NextRunTime string `json:"nextRunTime,omitempty"` // Params: Data transfer specific parameters. Params googleapi.RawMessage `json:"params,omitempty"` - // Schedule: Data transfer schedule in GROC format. + // Schedule: Data transfer schedule. // If the data source does not support a custom schedule, this should // be // empty. If it is empty, the default value for the data source will // be // used. // The specified times are in UTC. - // Examples of valid GROC include: + // Examples of valid format: // `1st,3rd monday of month 15:30`, // `every wed,fri of jan,jun 13:15`, and // `first sunday of quarter 00:00`. + // See more explanation about the format + // here: + // https://cloud.google.com/appengine/docs/flexible/python/scheduli + // ng-jobs-with-cron-yaml#the_schedule_format + // NOTE: the granularity should be at least 8 hours, or less frequent. Schedule string `json:"schedule,omitempty"` - // Status: Status of the most recently updated transfer run. - // @OutputOnly + // State: State of the most recently updated transfer run. + // Output only. // // Possible values: - // "TRANSFER_STATUS_UNSPECIFIED" - Status placeholder. + // "TRANSFER_STATE_UNSPECIFIED" - State placeholder. // "INACTIVE" - Data transfer is inactive. // "PENDING" - Data transfer is scheduled and is waiting to be picked // up by @@ -911,19 +939,19 @@ type TransferConfig struct { // "SUCCEEDED" - Data transfer completed successsfully. // "FAILED" - Data transfer failed. // "CANCELLED" - Data transfer is cancelled. - Status string `json:"status,omitempty"` + State string `json:"state,omitempty"` // UpdateTime: Data transfer modification time. Ignored by server on // input. - // @OutputOnly + // Output only. UpdateTime string `json:"updateTime,omitempty"` - // UserId: GaiaID of the user on whose behalf transfer is done. + // UserId: Unique ID of the user on whose behalf transfer is done. // Applicable only // to data sources that do not support service accounts. When set to // 0, // the data source service account credentials are used. - // @OutputOnly + // Output only. UserId int64 `json:"userId,omitempty,string"` // ServerResponse contains the HTTP response code and headers from the @@ -999,13 +1027,13 @@ func (s *TransferMessage) MarshalJSON() ([]byte, error) { // TransferRun: Represents a data transfer run. type TransferRun struct { // DataSourceId: Data source id. - // @OutputOnly + // Output only. DataSourceId string `json:"dataSourceId,omitempty"` // DatasetRegion: Region in which BigQuery dataset is located. Currently // possible values are: // "US" and "EU". - // @OutputOnly + // Output only. DatasetRegion string `json:"datasetRegion,omitempty"` // DestinationDatasetId: The BigQuery target dataset id. @@ -1014,7 +1042,7 @@ type TransferRun struct { // EndTime: Time when transfer run ended. Parameter ignored by server // for input // requests. - // @OutputOnly + // Output only. EndTime string `json:"endTime,omitempty"` // Name: The resource name of the transfer run. @@ -1040,9 +1068,8 @@ type TransferRun struct { // this is empty. // NOTE: the system might choose to delay the schedule depending on // the - // current load, so `schedule_time` doesn't always matches - // this. - // @OutputOnly + // current load, so `schedule_time` doesn't always matches this. + // Output only. Schedule string `json:"schedule,omitempty"` // ScheduleTime: Minimum time after which a transfer run can be started. @@ -1051,15 +1078,14 @@ type TransferRun struct { // StartTime: Time when transfer run was started. Parameter ignored by // server for input // requests. - // @OutputOnly + // Output only. StartTime string `json:"startTime,omitempty"` - // Status: Data transfer run status. Ignored for input - // requests. - // @OutputOnly + // State: Data transfer run state. Ignored for input requests. + // Output only. // // Possible values: - // "TRANSFER_STATUS_UNSPECIFIED" - Status placeholder. + // "TRANSFER_STATE_UNSPECIFIED" - State placeholder. // "INACTIVE" - Data transfer is inactive. // "PENDING" - Data transfer is scheduled and is waiting to be picked // up by @@ -1068,15 +1094,18 @@ type TransferRun struct { // "SUCCEEDED" - Data transfer completed successsfully. // "FAILED" - Data transfer failed. // "CANCELLED" - Data transfer is cancelled. - Status string `json:"status,omitempty"` + State string `json:"state,omitempty"` - // UpdateTime: Last time the data transfer run status was - // updated. - // @OutputOnly + // UpdateTime: Last time the data transfer run state was updated. + // Output only. UpdateTime string `json:"updateTime,omitempty"` - // UserId: The user id for this transfer run. - // @OutputOnly + // UserId: Unique ID of the user on whose behalf transfer is done. + // Applicable only + // to data sources that do not support service accounts. When set to + // 0, + // the data source service account credentials are used. + // Output only. UserId int64 `json:"userId,omitempty,string"` // ServerResponse contains the HTTP response code and headers from the @@ -1106,283 +1135,6 @@ func (s *TransferRun) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// method id "bigquerydatatransfer.projects.isEnabled": - -type ProjectsIsEnabledCall struct { - s *Service - name string - isenabledrequest *IsEnabledRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// IsEnabled: Returns true if data transfer is enabled for a project. -func (r *ProjectsService) IsEnabled(name string, isenabledrequest *IsEnabledRequest) *ProjectsIsEnabledCall { - c := &ProjectsIsEnabledCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name - c.isenabledrequest = isenabledrequest - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsIsEnabledCall) Fields(s ...googleapi.Field) *ProjectsIsEnabledCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsIsEnabledCall) Context(ctx context.Context) *ProjectsIsEnabledCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsIsEnabledCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsIsEnabledCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.isenabledrequest) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:isEnabled") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("POST", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "name": c.name, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "bigquerydatatransfer.projects.isEnabled" call. -// Exactly one of *IsEnabledResponse or error will be non-nil. Any -// non-2xx status code is an error. Response headers are in either -// *IsEnabledResponse.ServerResponse.Header or (if a response was -// returned at all) in error.(*googleapi.Error).Header. Use -// googleapi.IsNotModified to check whether the returned error was -// because http.StatusNotModified was returned. -func (c *ProjectsIsEnabledCall) Do(opts ...googleapi.CallOption) (*IsEnabledResponse, 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, &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, err - } - ret := &IsEnabledResponse{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Returns true if data transfer is enabled for a project.", - // "flatPath": "v1/projects/{projectsId}:isEnabled", - // "httpMethod": "POST", - // "id": "bigquerydatatransfer.projects.isEnabled", - // "parameterOrder": [ - // "name" - // ], - // "parameters": { - // "name": { - // "description": "The name of the project resource in the form:\n`projects/{project_id}`", - // "location": "path", - // "pattern": "^projects/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1/{+name}:isEnabled", - // "request": { - // "$ref": "IsEnabledRequest" - // }, - // "response": { - // "$ref": "IsEnabledResponse" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/bigquery", - // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/cloud-platform.read-only" - // ] - // } - -} - -// method id "bigquerydatatransfer.projects.setEnabled": - -type ProjectsSetEnabledCall struct { - s *Service - name string - setenabledrequest *SetEnabledRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// SetEnabled: Enables or disables data transfer for a project. -// This -// method requires the additional scope -// of -// 'https://www.googleapis.com/auth/cloudplatformprojects' -// to manage the cloud project permissions. -func (r *ProjectsService) SetEnabled(name string, setenabledrequest *SetEnabledRequest) *ProjectsSetEnabledCall { - c := &ProjectsSetEnabledCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name - c.setenabledrequest = setenabledrequest - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsSetEnabledCall) Fields(s ...googleapi.Field) *ProjectsSetEnabledCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsSetEnabledCall) Context(ctx context.Context) *ProjectsSetEnabledCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsSetEnabledCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsSetEnabledCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.setenabledrequest) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:setEnabled") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("POST", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "name": c.name, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "bigquerydatatransfer.projects.setEnabled" call. -// Exactly one of *Empty or error will be non-nil. Any non-2xx status -// code is an error. Response headers are in either -// *Empty.ServerResponse.Header or (if a response was returned at all) -// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to -// check whether the returned error was because http.StatusNotModified -// was returned. -func (c *ProjectsSetEnabledCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err - } - ret := &Empty{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Enables or disables data transfer for a project. This\nmethod requires the additional scope of\n'https://www.googleapis.com/auth/cloudplatformprojects'\nto manage the cloud project permissions.", - // "flatPath": "v1/projects/{projectsId}:setEnabled", - // "httpMethod": "POST", - // "id": "bigquerydatatransfer.projects.setEnabled", - // "parameterOrder": [ - // "name" - // ], - // "parameters": { - // "name": { - // "description": "The name of the project resource in the form:\n`projects/{project_id}`", - // "location": "path", - // "pattern": "^projects/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1/{+name}:setEnabled", - // "request": { - // "$ref": "SetEnabledRequest" - // }, - // "response": { - // "$ref": "Empty" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - // method id "bigquerydatatransfer.projects.dataSources.checkValidCreds": type ProjectsDataSourcesCheckValidCredsCall struct { @@ -1397,6 +1149,13 @@ type ProjectsDataSourcesCheckValidCredsCall struct { // CheckValidCreds: Returns true if valid credentials exist for the // given data source and // requesting user. +// Some data sources doesn't support service account, so we need to talk +// to +// them on behalf of the end user. This API just checks whether we have +// OAuth +// token for the particular user, which is a pre-requisite before user +// can +// create a transfer config. func (r *ProjectsDataSourcesService) CheckValidCreds(name string, checkvalidcredsrequest *CheckValidCredsRequest) *ProjectsDataSourcesCheckValidCredsCall { c := &ProjectsDataSourcesCheckValidCredsCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -1490,7 +1249,7 @@ func (c *ProjectsDataSourcesCheckValidCredsCall) Do(opts ...googleapi.CallOption } return ret, nil // { - // "description": "Returns true if valid credentials exist for the given data source and\nrequesting user.", + // "description": "Returns true if valid credentials exist for the given data source and\nrequesting user.\nSome data sources doesn't support service account, so we need to talk to\nthem on behalf of the end user. This API just checks whether we have OAuth\ntoken for the particular user, which is a pre-requisite before user can\ncreate a transfer config.", // "flatPath": "v1/projects/{projectsId}/dataSources/{dataSourcesId}:checkValidCreds", // "httpMethod": "POST", // "id": "bigquerydatatransfer.projects.dataSources.checkValidCreds", @@ -1857,66 +1616,73 @@ func (c *ProjectsDataSourcesListCall) Pages(ctx context.Context, f func(*ListDat } } -// method id "bigquerydatatransfer.projects.locations.isEnabled": +// method id "bigquerydatatransfer.projects.locations.get": -type ProjectsLocationsIsEnabledCall struct { - s *Service - name string - isenabledrequest *IsEnabledRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header +type ProjectsLocationsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header } -// IsEnabled: Returns true if data transfer is enabled for a project. -func (r *ProjectsLocationsService) IsEnabled(name string, isenabledrequest *IsEnabledRequest) *ProjectsLocationsIsEnabledCall { - c := &ProjectsLocationsIsEnabledCall{s: r.s, urlParams_: make(gensupport.URLParams)} +// Get: Get information about a location. +func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall { + c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name - c.isenabledrequest = isenabledrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsLocationsIsEnabledCall) Fields(s ...googleapi.Field) *ProjectsLocationsIsEnabledCall { +func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsLocationsIsEnabledCall) Context(ctx context.Context) *ProjectsLocationsIsEnabledCall { +func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsLocationsIsEnabledCall) Header() http.Header { +func (c *ProjectsLocationsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsIsEnabledCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.isenabledrequest) - if err != nil { - return nil, err + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } - reqHeaders.Set("Content-Type", "application/json") + var body io.Reader = nil c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:isEnabled") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("POST", urls, body) + req, _ := http.NewRequest("GET", urls, body) req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, @@ -1924,14 +1690,14 @@ func (c *ProjectsLocationsIsEnabledCall) doRequest(alt string) (*http.Response, return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "bigquerydatatransfer.projects.locations.isEnabled" call. -// Exactly one of *IsEnabledResponse or error will be non-nil. Any -// non-2xx status code is an error. Response headers are in either -// *IsEnabledResponse.ServerResponse.Header or (if a response was -// returned at all) in error.(*googleapi.Error).Header. Use -// googleapi.IsNotModified to check whether the returned error was -// because http.StatusNotModified was returned. -func (c *ProjectsLocationsIsEnabledCall) Do(opts ...googleapi.CallOption) (*IsEnabledResponse, error) { +// Do executes the "bigquerydatatransfer.projects.locations.get" call. +// Exactly one of *Location or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Location.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*Location, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -1950,7 +1716,7 @@ func (c *ProjectsLocationsIsEnabledCall) Do(opts ...googleapi.CallOption) (*IsEn if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &IsEnabledResponse{ + ret := &Location{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -1962,28 +1728,25 @@ func (c *ProjectsLocationsIsEnabledCall) Do(opts ...googleapi.CallOption) (*IsEn } return ret, nil // { - // "description": "Returns true if data transfer is enabled for a project.", - // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:isEnabled", - // "httpMethod": "POST", - // "id": "bigquerydatatransfer.projects.locations.isEnabled", + // "description": "Get information about a location.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}", + // "httpMethod": "GET", + // "id": "bigquerydatatransfer.projects.locations.get", // "parameterOrder": [ // "name" // ], // "parameters": { // "name": { - // "description": "The name of the project resource in the form:\n`projects/{project_id}`", + // "description": "Resource name for the location.", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+$", // "required": true, // "type": "string" // } // }, - // "path": "v1/{+name}:isEnabled", - // "request": { - // "$ref": "IsEnabledRequest" - // }, + // "path": "v1/{+name}", // "response": { - // "$ref": "IsEnabledResponse" + // "$ref": "Location" // }, // "scopes": [ // "https://www.googleapis.com/auth/bigquery", @@ -1994,71 +1757,95 @@ func (c *ProjectsLocationsIsEnabledCall) Do(opts ...googleapi.CallOption) (*IsEn } -// method id "bigquerydatatransfer.projects.locations.setEnabled": +// method id "bigquerydatatransfer.projects.locations.list": -type ProjectsLocationsSetEnabledCall struct { - s *Service - name string - setenabledrequest *SetEnabledRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header +type ProjectsLocationsListCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header } -// SetEnabled: Enables or disables data transfer for a project. -// This -// method requires the additional scope -// of -// 'https://www.googleapis.com/auth/cloudplatformprojects' -// to manage the cloud project permissions. -func (r *ProjectsLocationsService) SetEnabled(name string, setenabledrequest *SetEnabledRequest) *ProjectsLocationsSetEnabledCall { - c := &ProjectsLocationsSetEnabledCall{s: r.s, urlParams_: make(gensupport.URLParams)} +// List: Lists information about the supported locations for this +// service. +func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall { + c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name - c.setenabledrequest = setenabledrequest + return c +} + +// Filter sets the optional parameter "filter": The standard list +// filter. +func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// PageSize sets the optional parameter "pageSize": The standard list +// page size. +func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The standard list +// page token. +func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall { + 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 information. -func (c *ProjectsLocationsSetEnabledCall) Fields(s ...googleapi.Field) *ProjectsLocationsSetEnabledCall { +func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall { + c.ifNoneMatch_ = entityTag + return c +} + // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsLocationsSetEnabledCall) Context(ctx context.Context) *ProjectsLocationsSetEnabledCall { +func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsLocationsSetEnabledCall) Header() http.Header { +func (c *ProjectsLocationsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsSetEnabledCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.setenabledrequest) - if err != nil { - return nil, err + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } - reqHeaders.Set("Content-Type", "application/json") + var body io.Reader = nil c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:setEnabled") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/locations") urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("POST", urls, body) + req, _ := http.NewRequest("GET", urls, body) req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, @@ -2066,14 +1853,14 @@ func (c *ProjectsLocationsSetEnabledCall) doRequest(alt string) (*http.Response, return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "bigquerydatatransfer.projects.locations.setEnabled" call. -// Exactly one of *Empty or error will be non-nil. Any non-2xx status -// code is an error. Response headers are in either -// *Empty.ServerResponse.Header or (if a response was returned at all) -// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to -// check whether the returned error was because http.StatusNotModified -// was returned. -func (c *ProjectsLocationsSetEnabledCall) Do(opts ...googleapi.CallOption) (*Empty, error) { +// Do executes the "bigquerydatatransfer.projects.locations.list" call. +// Exactly one of *ListLocationsResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListLocationsResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -2092,7 +1879,7 @@ func (c *ProjectsLocationsSetEnabledCall) Do(opts ...googleapi.CallOption) (*Emp if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &Empty{ + ret := &ListLocationsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -2104,36 +1891,72 @@ func (c *ProjectsLocationsSetEnabledCall) Do(opts ...googleapi.CallOption) (*Emp } return ret, nil // { - // "description": "Enables or disables data transfer for a project. This\nmethod requires the additional scope of\n'https://www.googleapis.com/auth/cloudplatformprojects'\nto manage the cloud project permissions.", - // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:setEnabled", - // "httpMethod": "POST", - // "id": "bigquerydatatransfer.projects.locations.setEnabled", + // "description": "Lists information about the supported locations for this service.", + // "flatPath": "v1/projects/{projectsId}/locations", + // "httpMethod": "GET", + // "id": "bigquerydatatransfer.projects.locations.list", // "parameterOrder": [ // "name" // ], // "parameters": { + // "filter": { + // "description": "The standard list filter.", + // "location": "query", + // "type": "string" + // }, // "name": { - // "description": "The name of the project resource in the form:\n`projects/{project_id}`", + // "description": "The resource that owns the locations collection, if applicable.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+$", + // "pattern": "^projects/[^/]+$", // "required": true, // "type": "string" + // }, + // "pageSize": { + // "description": "The standard list page size.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "The standard list page token.", + // "location": "query", + // "type": "string" // } // }, - // "path": "v1/{+name}:setEnabled", - // "request": { - // "$ref": "SetEnabledRequest" - // }, + // "path": "v1/{+name}/locations", // "response": { - // "$ref": "Empty" + // "$ref": "ListLocationsResponse" // }, // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" + // "https://www.googleapis.com/auth/bigquery", + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only" // ] // } } +// 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 *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + // method id "bigquerydatatransfer.projects.locations.dataSources.checkValidCreds": type ProjectsLocationsDataSourcesCheckValidCredsCall struct { @@ -2148,6 +1971,13 @@ type ProjectsLocationsDataSourcesCheckValidCredsCall struct { // CheckValidCreds: Returns true if valid credentials exist for the // given data source and // requesting user. +// Some data sources doesn't support service account, so we need to talk +// to +// them on behalf of the end user. This API just checks whether we have +// OAuth +// token for the particular user, which is a pre-requisite before user +// can +// create a transfer config. func (r *ProjectsLocationsDataSourcesService) CheckValidCreds(name string, checkvalidcredsrequest *CheckValidCredsRequest) *ProjectsLocationsDataSourcesCheckValidCredsCall { c := &ProjectsLocationsDataSourcesCheckValidCredsCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -2241,7 +2071,7 @@ func (c *ProjectsLocationsDataSourcesCheckValidCredsCall) Do(opts ...googleapi.C } return ret, nil // { - // "description": "Returns true if valid credentials exist for the given data source and\nrequesting user.", + // "description": "Returns true if valid credentials exist for the given data source and\nrequesting user.\nSome data sources doesn't support service account, so we need to talk to\nthem on behalf of the end user. This API just checks whether we have OAuth\ntoken for the particular user, which is a pre-requisite before user can\ncreate a transfer config.", // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataSources/{dataSourcesId}:checkValidCreds", // "httpMethod": "POST", // "id": "bigquerydatatransfer.projects.locations.dataSources.checkValidCreds", @@ -3411,7 +3241,7 @@ func (c *ProjectsLocationsTransferConfigsPatchCall) Do(opts ...googleapi.CallOpt // "type": "string" // }, // "name": { - // "description": "The resource name of the transfer run.\nTransfer run names have the form\n`projects/{project_id}/transferConfigs/{config_id}`.\nWhere `config_id` is usually a uuid, even though it is not\nguaranteed or required. The name is ignored when creating a transfer run.", + // "description": "The resource name of the transfer config.\nTransfer config names have the form\n`projects/{project_id}/transferConfigs/{config_id}`.\nWhere `config_id` is usually a uuid, even though it is not\nguaranteed or required. The name is ignored when creating a transfer\nconfig.", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/transferConfigs/[^/]+$", // "required": true, @@ -3894,19 +3724,19 @@ func (c *ProjectsLocationsTransferConfigsRunsListCall) RunAttempt(runAttempt str return c } -// Statuses sets the optional parameter "statuses": When specified, only -// transfer runs with requested statuses are returned. +// States sets the optional parameter "states": When specified, only +// transfer runs with requested states are returned. // // Possible values: -// "TRANSFER_STATUS_UNSPECIFIED" +// "TRANSFER_STATE_UNSPECIFIED" // "INACTIVE" // "PENDING" // "RUNNING" // "SUCCEEDED" // "FAILED" // "CANCELLED" -func (c *ProjectsLocationsTransferConfigsRunsListCall) Statuses(statuses ...string) *ProjectsLocationsTransferConfigsRunsListCall { - c.urlParams_.SetMulti("statuses", append([]string{}, statuses...)) +func (c *ProjectsLocationsTransferConfigsRunsListCall) States(states ...string) *ProjectsLocationsTransferConfigsRunsListCall { + c.urlParams_.SetMulti("states", append([]string{}, states...)) return c } @@ -4039,10 +3869,10 @@ func (c *ProjectsLocationsTransferConfigsRunsListCall) Do(opts ...googleapi.Call // "location": "query", // "type": "string" // }, - // "statuses": { - // "description": "When specified, only transfer runs with requested statuses are returned.", + // "states": { + // "description": "When specified, only transfer runs with requested states are returned.", // "enum": [ - // "TRANSFER_STATUS_UNSPECIFIED", + // "TRANSFER_STATE_UNSPECIFIED", // "INACTIVE", // "PENDING", // "RUNNING", @@ -5109,7 +4939,7 @@ func (c *ProjectsTransferConfigsPatchCall) Do(opts ...googleapi.CallOption) (*Tr // "type": "string" // }, // "name": { - // "description": "The resource name of the transfer run.\nTransfer run names have the form\n`projects/{project_id}/transferConfigs/{config_id}`.\nWhere `config_id` is usually a uuid, even though it is not\nguaranteed or required. The name is ignored when creating a transfer run.", + // "description": "The resource name of the transfer config.\nTransfer config names have the form\n`projects/{project_id}/transferConfigs/{config_id}`.\nWhere `config_id` is usually a uuid, even though it is not\nguaranteed or required. The name is ignored when creating a transfer\nconfig.", // "location": "path", // "pattern": "^projects/[^/]+/transferConfigs/[^/]+$", // "required": true, @@ -5592,19 +5422,19 @@ func (c *ProjectsTransferConfigsRunsListCall) RunAttempt(runAttempt string) *Pro return c } -// Statuses sets the optional parameter "statuses": When specified, only -// transfer runs with requested statuses are returned. +// States sets the optional parameter "states": When specified, only +// transfer runs with requested states are returned. // // Possible values: -// "TRANSFER_STATUS_UNSPECIFIED" +// "TRANSFER_STATE_UNSPECIFIED" // "INACTIVE" // "PENDING" // "RUNNING" // "SUCCEEDED" // "FAILED" // "CANCELLED" -func (c *ProjectsTransferConfigsRunsListCall) Statuses(statuses ...string) *ProjectsTransferConfigsRunsListCall { - c.urlParams_.SetMulti("statuses", append([]string{}, statuses...)) +func (c *ProjectsTransferConfigsRunsListCall) States(states ...string) *ProjectsTransferConfigsRunsListCall { + c.urlParams_.SetMulti("states", append([]string{}, states...)) return c } @@ -5737,10 +5567,10 @@ func (c *ProjectsTransferConfigsRunsListCall) Do(opts ...googleapi.CallOption) ( // "location": "query", // "type": "string" // }, - // "statuses": { - // "description": "When specified, only transfer runs with requested statuses are returned.", + // "states": { + // "description": "When specified, only transfer runs with requested states are returned.", // "enum": [ - // "TRANSFER_STATUS_UNSPECIFIED", + // "TRANSFER_STATE_UNSPECIFIED", // "INACTIVE", // "PENDING", // "RUNNING", diff --git a/vendor/google.golang.org/api/blogger/v2/blogger-api.json b/vendor/google.golang.org/api/blogger/v2/blogger-api.json index a6a47ae0a..74e820248 100644 --- a/vendor/google.golang.org/api/blogger/v2/blogger-api.json +++ b/vendor/google.golang.org/api/blogger/v2/blogger-api.json @@ -23,7 +23,7 @@ "basePath": "/blogger/v2/", "rootUrl": "https://www.googleapis.com/", "servicePath": "blogger/v2/", - "batchPath": "batch", + "batchPath": "batch/blogger/v2", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/blogger/v3/blogger-api.json b/vendor/google.golang.org/api/blogger/v3/blogger-api.json index 427da6e65..795f53243 100644 --- a/vendor/google.golang.org/api/blogger/v3/blogger-api.json +++ b/vendor/google.golang.org/api/blogger/v3/blogger-api.json @@ -23,7 +23,7 @@ "basePath": "/blogger/v3/", "rootUrl": "https://www.googleapis.com/", "servicePath": "blogger/v3/", - "batchPath": "batch", + "batchPath": "batch/blogger/v3", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/books/v1/books-api.json b/vendor/google.golang.org/api/books/v1/books-api.json index 1e043022d..1e2667517 100644 --- a/vendor/google.golang.org/api/books/v1/books-api.json +++ b/vendor/google.golang.org/api/books/v1/books-api.json @@ -20,7 +20,7 @@ "basePath": "/books/v1/", "rootUrl": "https://www.googleapis.com/", "servicePath": "books/v1/", - "batchPath": "batch", + "batchPath": "batch/books/v1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/calendar/v3/calendar-api.json b/vendor/google.golang.org/api/calendar/v3/calendar-api.json index f6b097cba..b659f5a74 100644 --- a/vendor/google.golang.org/api/calendar/v3/calendar-api.json +++ b/vendor/google.golang.org/api/calendar/v3/calendar-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/euj94Rd_zZNye-Ex23VYZId4hug\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/uAzZjTyNjvCXQxJAVHPs_CfUo-M\"", "discoveryVersion": "v1", "id": "calendar:v3", "name": "calendar", "version": "v3", - "revision": "20170528", + "revision": "20170905", "title": "Calendar API", "description": "Manipulates events and other calendar data.", "ownerDomain": "google.com", @@ -20,7 +20,7 @@ "basePath": "/calendar/v3/", "rootUrl": "https://www.googleapis.com/", "servicePath": "calendar/v3/", - "batchPath": "batch", + "batchPath": "batch/calendar/v3", "parameters": { "alt": { "type": "string", @@ -455,42 +455,6 @@ } } }, - "DeepLinkData": { - "id": "DeepLinkData", - "type": "object", - "properties": { - "links": { - "type": "array", - "items": { - "$ref": "Link" - } - }, - "url": { - "type": "string" - } - } - }, - "DisplayInfo": { - "id": "DisplayInfo", - "type": "object", - "properties": { - "appIconUrl": { - "type": "string" - }, - "appShortTitle": { - "type": "string" - }, - "appTitle": { - "type": "string" - }, - "linkShortTitle": { - "type": "string" - }, - "linkTitle": { - "type": "string" - } - } - }, "Error": { "id": "Error", "type": "object", @@ -805,7 +769,7 @@ }, "transparency": { "type": "string", - "description": "Whether the event blocks time on the calendar. Optional. Possible values are: \n- \"opaque\" - The event blocks time on the calendar. This is the default value. \n- \"transparent\" - The event does not block time on the calendar.", + "description": "Whether the event blocks time on the calendar. Optional. Possible values are: \n- \"opaque\" - Default value. The event does block time on the calendar. This is equivalent to setting Show me as to Busy in the Calendar UI. \n- \"transparent\" - The event does not block time on the calendar. This is equivalent to setting Show me as to Available in the Calendar UI.", "default": "opaque" }, "updated": { @@ -931,20 +895,6 @@ } } }, - "EventHabitInstance": { - "id": "EventHabitInstance", - "type": "object", - "properties": { - "data": { - "$ref": "HabitInstanceData", - "description": "Metadata specific to this instance." - }, - "parentId": { - "type": "string", - "description": "Id of the habit this instance belongs to." - } - } - }, "EventReminder": { "id": "EventReminder", "type": "object", @@ -1161,60 +1111,6 @@ } } }, - "HabitInstanceData": { - "id": "HabitInstanceData", - "type": "object", - "properties": { - "status": { - "type": "string" - }, - "statusInferred": { - "type": "boolean" - }, - "type": { - "type": "string" - } - } - }, - "LaunchInfo": { - "id": "LaunchInfo", - "type": "object", - "properties": { - "appId": { - "type": "string" - }, - "installUrl": { - "type": "string" - }, - "intentAction": { - "type": "string" - }, - "uri": { - "type": "string" - } - } - }, - "Link": { - "id": "Link", - "type": "object", - "properties": { - "applinkingSource": { - "type": "string" - }, - "displayInfo": { - "$ref": "DisplayInfo" - }, - "launchInfo": { - "$ref": "LaunchInfo" - }, - "platform": { - "type": "string" - }, - "url": { - "type": "string" - } - } - }, "Setting": { "id": "Setting", "type": "object", @@ -2295,13 +2191,13 @@ }, "timeMax": { "type": "string", - "description": "Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored.", + "description": "Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored. If timeMin is set, timeMax must be greater than timeMin.", "format": "date-time", "location": "query" }, "timeMin": { "type": "string", - "description": "Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored.", + "description": "Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored. If timeMax is set, timeMin must be smaller than timeMax.", "format": "date-time", "location": "query" }, @@ -2610,13 +2506,13 @@ }, "timeMax": { "type": "string", - "description": "Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored.", + "description": "Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored. If timeMin is set, timeMax must be greater than timeMin.", "format": "date-time", "location": "query" }, "timeMin": { "type": "string", - "description": "Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored.", + "description": "Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored. If timeMax is set, timeMin must be smaller than timeMax.", "format": "date-time", "location": "query" }, diff --git a/vendor/google.golang.org/api/calendar/v3/calendar-gen.go b/vendor/google.golang.org/api/calendar/v3/calendar-gen.go index 552a798b4..b77935f60 100644 --- a/vendor/google.golang.org/api/calendar/v3/calendar-gen.go +++ b/vendor/google.golang.org/api/calendar/v3/calendar-gen.go @@ -740,68 +740,6 @@ func (s *Colors) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type DeepLinkData struct { - Links []*Link `json:"links,omitempty"` - - Url string `json:"url,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Links") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Links") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *DeepLinkData) MarshalJSON() ([]byte, error) { - type noMethod DeepLinkData - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -type DisplayInfo struct { - AppIconUrl string `json:"appIconUrl,omitempty"` - - AppShortTitle string `json:"appShortTitle,omitempty"` - - AppTitle string `json:"appTitle,omitempty"` - - LinkShortTitle string `json:"linkShortTitle,omitempty"` - - LinkTitle string `json:"linkTitle,omitempty"` - - // ForceSendFields is a list of field names (e.g. "AppIconUrl") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "AppIconUrl") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *DisplayInfo) MarshalJSON() ([]byte, error) { - type noMethod DisplayInfo - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - type Error struct { // Domain: Domain, or broad category, of the error. Domain string `json:"domain,omitempty"` @@ -1021,9 +959,11 @@ type Event struct { // Transparency: Whether the event blocks time on the calendar. // Optional. Possible values are: - // - "opaque" - The event blocks time on the calendar. This is the - // default value. - // - "transparent" - The event does not block time on the calendar. + // - "opaque" - Default value. The event does block time on the + // calendar. This is equivalent to setting Show me as to Busy in the + // Calendar UI. + // - "transparent" - The event does not block time on the calendar. This + // is equivalent to setting Show me as to Available in the Calendar UI. Transparency string `json:"transparency,omitempty"` // Updated: Last modification time of the event (as a RFC3339 @@ -1465,36 +1405,6 @@ func (s *EventDateTime) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type EventHabitInstance struct { - // Data: Metadata specific to this instance. - Data *HabitInstanceData `json:"data,omitempty"` - - // ParentId: Id of the habit this instance belongs to. - ParentId string `json:"parentId,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Data") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Data") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *EventHabitInstance) MarshalJSON() ([]byte, error) { - type noMethod EventHabitInstance - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - type EventReminder struct { // Method: The method used by this reminder. Possible values are: // - "email" - Reminders are sent via email. @@ -1794,103 +1704,6 @@ func (s *FreeBusyResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type HabitInstanceData struct { - Status string `json:"status,omitempty"` - - StatusInferred bool `json:"statusInferred,omitempty"` - - Type string `json:"type,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Status") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Status") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *HabitInstanceData) MarshalJSON() ([]byte, error) { - type noMethod HabitInstanceData - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -type LaunchInfo struct { - AppId string `json:"appId,omitempty"` - - InstallUrl string `json:"installUrl,omitempty"` - - IntentAction string `json:"intentAction,omitempty"` - - Uri string `json:"uri,omitempty"` - - // ForceSendFields is a list of field names (e.g. "AppId") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "AppId") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *LaunchInfo) MarshalJSON() ([]byte, error) { - type noMethod LaunchInfo - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -type Link struct { - ApplinkingSource string `json:"applinkingSource,omitempty"` - - DisplayInfo *DisplayInfo `json:"displayInfo,omitempty"` - - LaunchInfo *LaunchInfo `json:"launchInfo,omitempty"` - - Platform string `json:"platform,omitempty"` - - Url string `json:"url,omitempty"` - - // ForceSendFields is a list of field names (e.g. "ApplinkingSource") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "ApplinkingSource") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []string `json:"-"` -} - -func (s *Link) MarshalJSON() ([]byte, error) { - type noMethod Link - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - type Setting struct { // Etag: ETag of the resource. Etag string `json:"etag,omitempty"` @@ -6278,7 +6091,7 @@ func (c *EventsListCall) SyncToken(syncToken string) *EventsListCall { // not to filter by start time. Must be an RFC3339 timestamp with // mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, // 2011-06-03T10:00:00Z. Milliseconds may be provided but will be -// ignored. +// ignored. If timeMin is set, timeMax must be greater than timeMin. func (c *EventsListCall) TimeMax(timeMax string) *EventsListCall { c.urlParams_.Set("timeMax", timeMax) return c @@ -6289,7 +6102,7 @@ func (c *EventsListCall) TimeMax(timeMax string) *EventsListCall { // to filter by end time. Must be an RFC3339 timestamp with mandatory // time zone offset, e.g., 2011-06-03T10:00:00-07:00, // 2011-06-03T10:00:00Z. Milliseconds may be provided but will be -// ignored. +// ignored. If timeMax is set, timeMin must be smaller than timeMax. func (c *EventsListCall) TimeMin(timeMin string) *EventsListCall { c.urlParams_.Set("timeMin", timeMin) return c @@ -6500,13 +6313,13 @@ func (c *EventsListCall) Do(opts ...googleapi.CallOption) (*Events, error) { // "type": "string" // }, // "timeMax": { - // "description": "Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored.", + // "description": "Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored. If timeMin is set, timeMax must be greater than timeMin.", // "format": "date-time", // "location": "query", // "type": "string" // }, // "timeMin": { - // "description": "Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored.", + // "description": "Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored. If timeMax is set, timeMin must be smaller than timeMax.", // "format": "date-time", // "location": "query", // "type": "string" @@ -7429,7 +7242,7 @@ func (c *EventsWatchCall) SyncToken(syncToken string) *EventsWatchCall { // not to filter by start time. Must be an RFC3339 timestamp with // mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, // 2011-06-03T10:00:00Z. Milliseconds may be provided but will be -// ignored. +// ignored. If timeMin is set, timeMax must be greater than timeMin. func (c *EventsWatchCall) TimeMax(timeMax string) *EventsWatchCall { c.urlParams_.Set("timeMax", timeMax) return c @@ -7440,7 +7253,7 @@ func (c *EventsWatchCall) TimeMax(timeMax string) *EventsWatchCall { // to filter by end time. Must be an RFC3339 timestamp with mandatory // time zone offset, e.g., 2011-06-03T10:00:00-07:00, // 2011-06-03T10:00:00Z. Milliseconds may be provided but will be -// ignored. +// ignored. If timeMax is set, timeMin must be smaller than timeMax. func (c *EventsWatchCall) TimeMin(timeMin string) *EventsWatchCall { c.urlParams_.Set("timeMin", timeMin) return c @@ -7643,13 +7456,13 @@ func (c *EventsWatchCall) Do(opts ...googleapi.CallOption) (*Channel, error) { // "type": "string" // }, // "timeMax": { - // "description": "Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored.", + // "description": "Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored. If timeMin is set, timeMax must be greater than timeMin.", // "format": "date-time", // "location": "query", // "type": "string" // }, // "timeMin": { - // "description": "Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored.", + // "description": "Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored. If timeMax is set, timeMin must be smaller than timeMax.", // "format": "date-time", // "location": "query", // "type": "string" diff --git a/vendor/google.golang.org/api/civicinfo/v2/civicinfo-api.json b/vendor/google.golang.org/api/civicinfo/v2/civicinfo-api.json index a77032073..f09c4eb4c 100644 --- a/vendor/google.golang.org/api/civicinfo/v2/civicinfo-api.json +++ b/vendor/google.golang.org/api/civicinfo/v2/civicinfo-api.json @@ -21,7 +21,7 @@ "basePath": "/civicinfo/v2/", "rootUrl": "https://www.googleapis.com/", "servicePath": "civicinfo/v2/", - "batchPath": "batch", + "batchPath": "batch/civicinfo/v2", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/classroom/v1/classroom-api.json b/vendor/google.golang.org/api/classroom/v1/classroom-api.json index 2455b1fda..3b25e702a 100644 --- a/vendor/google.golang.org/api/classroom/v1/classroom-api.json +++ b/vendor/google.golang.org/api/classroom/v1/classroom-api.json @@ -1,83 +1,92 @@ { - "revision": "20170627", - "documentationLink": "https://developers.google.com/classroom/", + "basePath": "", + "ownerDomain": "google.com", + "name": "classroom", + "batchPath": "batch", "id": "classroom:v1", + "documentationLink": "https://developers.google.com/classroom/", + "revision": "20170926", "title": "Google Classroom API", - "discoveryVersion": "v1", "ownerName": "Google", + "discoveryVersion": "v1", "resources": { "invitations": { "methods": { "delete": { + "path": "v1/invitations/{id}", + "id": "classroom.invitations.delete", + "description": "Deletes an invitation.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to delete the\nrequested invitation or for access errors.\n* `NOT_FOUND` if no invitation exists with the requested ID.", "httpMethod": "DELETE", - "parameterOrder": [ - "id" - ], "response": { "$ref": "Empty" }, + "parameterOrder": [ + "id" + ], "scopes": [ "https://www.googleapis.com/auth/classroom.rosters" ], "parameters": { "id": { + "location": "path", "description": "Identifier of the invitation to delete.", "type": "string", - "required": true, - "location": "path" + "required": true } }, - "flatPath": "v1/invitations/{id}", - "path": "v1/invitations/{id}", - "id": "classroom.invitations.delete", - "description": "Deletes an invitation.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to delete the\nrequested invitation or for access errors.\n* `NOT_FOUND` if no invitation exists with the requested ID." + "flatPath": "v1/invitations/{id}" }, "list": { - "id": "classroom.invitations.list", - "path": "v1/invitations", - "description": "Returns a list of invitations that the requesting user is permitted to\nview, restricted to those that match the list request.\n\n*Note:* At least one of `user_id` or `course_id` must be supplied. Both\nfields can be supplied.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` for access errors.", "response": { "$ref": "ListInvitationsResponse" }, "parameterOrder": [], "httpMethod": "GET", "parameters": { + "pageToken": { + "location": "query", + "description": "nextPageToken\nvalue returned from a previous\nlist call, indicating\nthat the subsequent page of results should be returned.\n\nThe list request must be\notherwise identical to the one that resulted in this token.", + "type": "string" + }, + "userId": { + "type": "string", + "location": "query", + "description": "Restricts returned invitations to those for a specific user. The identifier\ncan be one of the following:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user" + }, "pageSize": { + "location": "query", "format": "int32", "description": "Maximum number of items to return. Zero means no maximum.\n\nThe server may return fewer than the specified number of results.", - "type": "integer", - "location": "query" + "type": "integer" }, "courseId": { "location": "query", "description": "Restricts returned invitations to those for a course with the specified\nidentifier.", "type": "string" - }, - "pageToken": { - "description": "nextPageToken\nvalue returned from a previous\nlist call, indicating\nthat the subsequent page of results should be returned.\n\nThe list request must be\notherwise identical to the one that resulted in this token.", - "type": "string", - "location": "query" - }, - "userId": { - "location": "query", - "description": "Restricts returned invitations to those for a specific user. The identifier\ncan be one of the following:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user", - "type": "string" } }, "scopes": [ "https://www.googleapis.com/auth/classroom.rosters", "https://www.googleapis.com/auth/classroom.rosters.readonly" ], - "flatPath": "v1/invitations" + "flatPath": "v1/invitations", + "id": "classroom.invitations.list", + "path": "v1/invitations", + "description": "Returns a list of invitations that the requesting user is permitted to\nview, restricted to those that match the list request.\n\n*Note:* At least one of `user_id` or `course_id` must be supplied. Both\nfields can be supplied.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` for access errors." }, "get": { + "description": "Returns an invitation.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to view the\nrequested invitation or for access errors.\n* `NOT_FOUND` if no invitation exists with the requested ID.", "response": { "$ref": "Invitation" }, + "httpMethod": "GET", "parameterOrder": [ "id" ], - "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/classroom.rosters", + "https://www.googleapis.com/auth/classroom.rosters.readonly" + ], "parameters": { "id": { "location": "path", @@ -86,18 +95,11 @@ "required": true } }, - "scopes": [ - "https://www.googleapis.com/auth/classroom.rosters", - "https://www.googleapis.com/auth/classroom.rosters.readonly" - ], "flatPath": "v1/invitations/{id}", "id": "classroom.invitations.get", - "path": "v1/invitations/{id}", - "description": "Returns an invitation.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to view the\nrequested invitation or for access errors.\n* `NOT_FOUND` if no invitation exists with the requested ID." + "path": "v1/invitations/{id}" }, "create": { - "id": "classroom.invitations.create", - "path": "v1/invitations", "request": { "$ref": "Invitation" }, @@ -111,10 +113,11 @@ "https://www.googleapis.com/auth/classroom.rosters" ], "parameters": {}, - "flatPath": "v1/invitations" + "flatPath": "v1/invitations", + "id": "classroom.invitations.create", + "path": "v1/invitations" }, "accept": { - "description": "Accepts an invitation, removing it and adding the invited user to the\nteachers or students (as appropriate) of the specified course. Only the\ninvited user may accept an invitation.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to accept the\nrequested invitation or for access errors.\n* `FAILED_PRECONDITION` for the following request errors:\n * CourseMemberLimitReached\n * CourseNotModifiable\n * CourseTeacherLimitReached\n * UserGroupsMembershipLimitReached\n* `NOT_FOUND` if no invitation exists with the requested ID.", "response": { "$ref": "Empty" }, @@ -122,6 +125,9 @@ "id" ], "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/classroom.rosters" + ], "parameters": { "id": { "location": "path", @@ -130,18 +136,65 @@ "required": true } }, - "scopes": [ - "https://www.googleapis.com/auth/classroom.rosters" - ], "flatPath": "v1/invitations/{id}:accept", "id": "classroom.invitations.accept", - "path": "v1/invitations/{id}:accept" + "path": "v1/invitations/{id}:accept", + "description": "Accepts an invitation, removing it and adding the invited user to the\nteachers or students (as appropriate) of the specified course. Only the\ninvited user may accept an invitation.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to accept the\nrequested invitation or for access errors.\n* `FAILED_PRECONDITION` for the following request errors:\n * CourseMemberLimitReached\n * CourseNotModifiable\n * CourseTeacherLimitReached\n * UserGroupsMembershipLimitReached\n* `NOT_FOUND` if no invitation exists with the requested ID." + } + } + }, + "registrations": { + "methods": { + "create": { + "scopes": [ + "https://www.googleapis.com/auth/classroom.rosters", + "https://www.googleapis.com/auth/classroom.rosters.readonly" + ], + "parameters": {}, + "flatPath": "v1/registrations", + "path": "v1/registrations", + "id": "classroom.registrations.create", + "request": { + "$ref": "Registration" + }, + "description": "Creates a `Registration`, causing Classroom to start sending notifications\nfrom the provided `feed` to the provided `destination`.\n\nReturns the created `Registration`. Currently, this will be the same as\nthe argument, but with server-assigned fields such as `expiry_time` and\n`id` filled in.\n\nNote that any value specified for the `expiry_time` or `id` fields will be\nignored.\n\nWhile Classroom may validate the `destination` and return errors on a best\neffort basis, it is the caller's responsibility to ensure that it exists\nand that Classroom has permission to publish to it.\n\nThis method may return the following error codes:\n\n* `PERMISSION_DENIED` if:\n * the authenticated user does not have permission to receive\n notifications from the requested field; or\n * the credential provided does not include the appropriate scope for the\n requested feed.\n * another access error is encountered.\n* `INVALID_ARGUMENT` if:\n * no `destination` is specified, or the specified `destination` is not\n valid; or\n * no `feed` is specified, or the specified `feed` is not valid.\n* `NOT_FOUND` if:\n * the specified `feed` cannot be located, or the requesting user does not\n have permission to determine whether or not it exists; or\n * the specified `destination` cannot be located, or Classroom has not\n been granted permission to publish to it.", + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "Registration" + } + }, + "delete": { + "parameters": { + "registrationId": { + "location": "path", + "description": "The `registration_id` of the `Registration` to be deleted.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.rosters", + "https://www.googleapis.com/auth/classroom.rosters.readonly" + ], + "flatPath": "v1/registrations/{registrationId}", + "id": "classroom.registrations.delete", + "path": "v1/registrations/{registrationId}", + "description": "Deletes a `Registration`, causing Classroom to stop sending notifications\nfor that `Registration`.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "registrationId" + ], + "httpMethod": "DELETE" } } }, "userProfiles": { "methods": { "get": { + "description": "Returns a user profile.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access\nthis user profile, if no profile exists with the requested ID, or for\naccess errors.", "response": { "$ref": "UserProfile" }, @@ -149,38 +202,72 @@ "userId" ], "httpMethod": "GET", - "parameters": { - "userId": { - "location": "path", - "description": "Identifier of the profile to return. The identifier can be one of the\nfollowing:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user", - "type": "string", - "required": true - } - }, "scopes": [ "https://www.googleapis.com/auth/classroom.profile.emails", "https://www.googleapis.com/auth/classroom.profile.photos", "https://www.googleapis.com/auth/classroom.rosters", "https://www.googleapis.com/auth/classroom.rosters.readonly" ], + "parameters": { + "userId": { + "description": "Identifier of the profile to return. The identifier can be one of the\nfollowing:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user", + "type": "string", + "required": true, + "location": "path" + } + }, "flatPath": "v1/userProfiles/{userId}", "id": "classroom.userProfiles.get", - "path": "v1/userProfiles/{userId}", - "description": "Returns a user profile.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access\nthis user profile, if no profile exists with the requested ID, or for\naccess errors." + "path": "v1/userProfiles/{userId}" } }, "resources": { "guardians": { "methods": { - "get": { - "httpMethod": "GET", + "delete": { + "id": "classroom.userProfiles.guardians.delete", + "path": "v1/userProfiles/{studentId}/guardians/{guardianId}", + "description": "Deletes a guardian.\n\nThe guardian will no longer receive guardian notifications and the guardian\nwill no longer be accessible via the API.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if no user that matches the provided `student_id`\n is visible to the requesting user, if the requesting user is not\n permitted to manage guardians for the student identified by the\n `student_id`, if guardians are not enabled for the domain in question,\n or for other access errors.\n* `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot\n be recognized (it is not an email address, nor a `student_id` from the\n API).\n* `NOT_FOUND` if the requesting user is permitted to modify guardians for\n the requested `student_id`, but no `Guardian` record exists for that\n student with the provided `guardian_id`.", "response": { - "$ref": "Guardian" + "$ref": "Empty" }, "parameterOrder": [ "studentId", "guardianId" ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/classroom.guardianlinks.students" + ], + "parameters": { + "guardianId": { + "location": "path", + "description": "The `id` field from a `Guardian`.", + "type": "string", + "required": true + }, + "studentId": { + "location": "path", + "description": "The student whose guardian is to be deleted. One of the following:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user", + "type": "string", + "required": true + } + }, + "flatPath": "v1/userProfiles/{studentId}/guardians/{guardianId}" + }, + "get": { + "flatPath": "v1/userProfiles/{studentId}/guardians/{guardianId}", + "path": "v1/userProfiles/{studentId}/guardians/{guardianId}", + "id": "classroom.userProfiles.guardians.get", + "description": "Returns a specific guardian.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if no user that matches the provided `student_id`\n is visible to the requesting user, if the requesting user is not\n permitted to view guardian information for the student identified by the\n `student_id`, if guardians are not enabled for the domain in question,\n or for other access errors.\n* `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot\n be recognized (it is not an email address, nor a `student_id` from the\n API, nor the literal string `me`).\n* `NOT_FOUND` if the requesting user is permitted to view guardians for\n the requested `student_id`, but no `Guardian` record exists for that\n student that matches the provided `guardian_id`.", + "httpMethod": "GET", + "parameterOrder": [ + "studentId", + "guardianId" + ], + "response": { + "$ref": "Guardian" + }, "scopes": [ "https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly", "https://www.googleapis.com/auth/classroom.guardianlinks.students", @@ -199,23 +286,17 @@ "required": true, "location": "path" } - }, - "flatPath": "v1/userProfiles/{studentId}/guardians/{guardianId}", - "path": "v1/userProfiles/{studentId}/guardians/{guardianId}", - "id": "classroom.userProfiles.guardians.get", - "description": "Returns a specific guardian.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if no user that matches the provided `student_id`\n is visible to the requesting user, if the requesting user is not\n permitted to view guardian information for the student identified by the\n `student_id`, if guardians are not enabled for the domain in question,\n or for other access errors.\n* `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot\n be recognized (it is not an email address, nor a `student_id` from the\n API, nor the literal string `me`).\n* `NOT_FOUND` if the requesting user is permitted to view guardians for\n the requested `student_id`, but no `Guardian` record exists for that\n student that matches the provided `guardian_id`." + } }, "list": { - "id": "classroom.userProfiles.guardians.list", - "path": "v1/userProfiles/{studentId}/guardians", "description": "Returns a list of guardians that the requesting user is permitted to\nview, restricted to those that match the request.\n\nTo list guardians for any student that the requesting user may view\nguardians for, use the literal character `-` for the student ID.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if a `student_id` is specified, and the requesting\n user is not permitted to view guardian information for that student, if\n `\"-\"` is specified as the `student_id` and the user is not a domain\n administrator, if guardians are not enabled for the domain in question,\n if the `invited_email_address` filter is set by a user who is not a\n domain administrator, or for other access errors.\n* `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot\n be recognized (it is not an email address, nor a `student_id` from the\n API, nor the literal string `me`). May also be returned if an invalid\n `page_token` is provided.\n* `NOT_FOUND` if a `student_id` is specified, and its format can be\n recognized, but Classroom has no record of that student.", - "response": { - "$ref": "ListGuardiansResponse" - }, "httpMethod": "GET", "parameterOrder": [ "studentId" ], + "response": { + "$ref": "ListGuardiansResponse" + }, "scopes": [ "https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly", "https://www.googleapis.com/auth/classroom.guardianlinks.students", @@ -229,188 +310,31 @@ "required": true }, "pageToken": { - "location": "query", "description": "nextPageToken\nvalue returned from a previous\nlist call,\nindicating that the subsequent page of results should be returned.\n\nThe list request\nmust be otherwise identical to the one that resulted in this token.", - "type": "string" - }, - "pageSize": { - "format": "int32", - "description": "Maximum number of items to return. Zero or unspecified indicates that the\nserver may assign a maximum.\n\nThe server may return fewer than the specified number of results.", - "type": "integer", + "type": "string", "location": "query" }, - "invitedEmailAddress": { + "pageSize": { "location": "query", - "description": "Filter results by the email address that the original invitation was sent\nto, resulting in this guardian link.\nThis filter can only be used by domain administrators.", - "type": "string" - } - }, - "flatPath": "v1/userProfiles/{studentId}/guardians" - }, - "delete": { - "description": "Deletes a guardian.\n\nThe guardian will no longer receive guardian notifications and the guardian\nwill no longer be accessible via the API.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if no user that matches the provided `student_id`\n is visible to the requesting user, if the requesting user is not\n permitted to manage guardians for the student identified by the\n `student_id`, if guardians are not enabled for the domain in question,\n or for other access errors.\n* `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot\n be recognized (it is not an email address, nor a `student_id` from the\n API).\n* `NOT_FOUND` if the requesting user is permitted to modify guardians for\n the requested `student_id`, but no `Guardian` record exists for that\n student with the provided `guardian_id`.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "studentId", - "guardianId" - ], - "httpMethod": "DELETE", - "parameters": { - "studentId": { - "location": "path", - "description": "The student whose guardian is to be deleted. One of the following:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user", - "type": "string", - "required": true + "format": "int32", + "description": "Maximum number of items to return. Zero or unspecified indicates that the\nserver may assign a maximum.\n\nThe server may return fewer than the specified number of results.", + "type": "integer" }, - "guardianId": { - "location": "path", - "description": "The `id` field from a `Guardian`.", + "invitedEmailAddress": { + "description": "Filter results by the email address that the original invitation was sent\nto, resulting in this guardian link.\nThis filter can only be used by domain administrators.", "type": "string", - "required": true + "location": "query" } }, - "scopes": [ - "https://www.googleapis.com/auth/classroom.guardianlinks.students" - ], - "flatPath": "v1/userProfiles/{studentId}/guardians/{guardianId}", - "id": "classroom.userProfiles.guardians.delete", - "path": "v1/userProfiles/{studentId}/guardians/{guardianId}" + "flatPath": "v1/userProfiles/{studentId}/guardians", + "path": "v1/userProfiles/{studentId}/guardians", + "id": "classroom.userProfiles.guardians.list" } } }, "guardianInvitations": { "methods": { - "patch": { - "response": { - "$ref": "GuardianInvitation" - }, - "parameterOrder": [ - "studentId", - "invitationId" - ], - "httpMethod": "PATCH", - "parameters": { - "updateMask": { - "location": "query", - "format": "google-fieldmask", - "description": "Mask that identifies which fields on the course to update.\nThis field is required to do an update. The update will fail if invalid\nfields are specified. The following fields are valid:\n\n* `state`\n\nWhen set in a query parameter, this field should be specified as\n\n`updateMask=\u003cfield1\u003e,\u003cfield2\u003e,...`", - "type": "string" - }, - "invitationId": { - "location": "path", - "description": "The `id` field of the `GuardianInvitation` to be modified.", - "type": "string", - "required": true - }, - "studentId": { - "location": "path", - "description": "The ID of the student whose guardian invitation is to be modified.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/classroom.guardianlinks.students" - ], - "flatPath": "v1/userProfiles/{studentId}/guardianInvitations/{invitationId}", - "id": "classroom.userProfiles.guardianInvitations.patch", - "path": "v1/userProfiles/{studentId}/guardianInvitations/{invitationId}", - "description": "Modifies a guardian invitation.\n\nCurrently, the only valid modification is to change the `state` from\n`PENDING` to `COMPLETE`. This has the effect of withdrawing the invitation.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the current user does not have permission to\n manage guardians, if guardians are not enabled for the domain in question\n or for other access errors.\n* `FAILED_PRECONDITION` if the guardian link is not in the `PENDING` state.\n* `INVALID_ARGUMENT` if the format of the student ID provided\n cannot be recognized (it is not an email address, nor a `user_id` from\n this API), or if the passed `GuardianInvitation` has a `state` other than\n `COMPLETE`, or if it modifies fields other than `state`.\n* `NOT_FOUND` if the student ID provided is a valid student ID, but\n Classroom has no record of that student, or if the `id` field does not\n refer to a guardian invitation known to Classroom.", - "request": { - "$ref": "GuardianInvitation" - } - }, - "get": { - "id": "classroom.userProfiles.guardianInvitations.get", - "path": "v1/userProfiles/{studentId}/guardianInvitations/{invitationId}", - "description": "Returns a specific guardian invitation.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to view\n guardian invitations for the student identified by the `student_id`, if\n guardians are not enabled for the domain in question, or for other\n access errors.\n* `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot\n be recognized (it is not an email address, nor a `student_id` from the\n API, nor the literal string `me`).\n* `NOT_FOUND` if Classroom cannot find any record of the given student or\n `invitation_id`. May also be returned if the student exists, but the\n requesting user does not have access to see that student.", - "response": { - "$ref": "GuardianInvitation" - }, - "parameterOrder": [ - "studentId", - "invitationId" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/classroom.guardianlinks.students", - "https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly" - ], - "parameters": { - "invitationId": { - "location": "path", - "description": "The `id` field of the `GuardianInvitation` being requested.", - "type": "string", - "required": true - }, - "studentId": { - "type": "string", - "required": true, - "location": "path", - "description": "The ID of the student whose guardian invitation is being requested." - } - }, - "flatPath": "v1/userProfiles/{studentId}/guardianInvitations/{invitationId}" - }, - "list": { - "response": { - "$ref": "ListGuardianInvitationsResponse" - }, - "parameterOrder": [ - "studentId" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/classroom.guardianlinks.students", - "https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly" - ], - "parameters": { - "studentId": { - "type": "string", - "required": true, - "location": "path", - "description": "The ID of the student whose guardian invitations are to be returned.\nThe identifier can be one of the following:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user\n* the string literal `\"-\"`, indicating that results should be returned for\n all students that the requesting user is permitted to view guardian\n invitations." - }, - "pageToken": { - "location": "query", - "description": "nextPageToken\nvalue returned from a previous\nlist call,\nindicating that the subsequent page of results should be returned.\n\nThe list request\nmust be otherwise identical to the one that resulted in this token.", - "type": "string" - }, - "pageSize": { - "format": "int32", - "description": "Maximum number of items to return. Zero or unspecified indicates that the\nserver may assign a maximum.\n\nThe server may return fewer than the specified number of results.", - "type": "integer", - "location": "query" - }, - "states": { - "repeated": true, - "location": "query", - "enum": [ - "GUARDIAN_INVITATION_STATE_UNSPECIFIED", - "PENDING", - "COMPLETE" - ], - "description": "If specified, only results with the specified `state` values will be\nreturned. Otherwise, results with a `state` of `PENDING` will be returned.", - "type": "string" - }, - "invitedEmailAddress": { - "location": "query", - "description": "If specified, only results with the specified `invited_email_address`\nwill be returned.", - "type": "string" - } - }, - "flatPath": "v1/userProfiles/{studentId}/guardianInvitations", - "id": "classroom.userProfiles.guardianInvitations.list", - "path": "v1/userProfiles/{studentId}/guardianInvitations", - "description": "Returns a list of guardian invitations that the requesting user is\npermitted to view, filtered by the parameters provided.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if a `student_id` is specified, and the requesting\n user is not permitted to view guardian invitations for that student, if\n `\"-\"` is specified as the `student_id` and the user is not a domain\n administrator, if guardians are not enabled for the domain in question,\n or for other access errors.\n* `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot\n be recognized (it is not an email address, nor a `student_id` from the\n API, nor the literal string `me`). May also be returned if an invalid\n `page_token` or `state` is provided.\n* `NOT_FOUND` if a `student_id` is specified, and its format can be\n recognized, but Classroom has no record of that student." - }, "create": { - "request": { - "$ref": "GuardianInvitation" - }, - "description": "Creates a guardian invitation, and sends an email to the guardian asking\nthem to confirm that they are the student's guardian.\n\nOnce the guardian accepts the invitation, their `state` will change to\n`COMPLETED` and they will start receiving guardian notifications. A\n`Guardian` resource will also be created to represent the active guardian.\n\nThe request object must have the `student_id` and\n`invited_email_address` fields set. Failing to set these fields, or\nsetting any other fields in the request, will result in an error.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the current user does not have permission to\n manage guardians, if the guardian in question has already rejected\n too many requests for that student, if guardians are not enabled for the\n domain in question, or for other access errors.\n* `RESOURCE_EXHAUSTED` if the student or guardian has exceeded the guardian\n link limit.\n* `INVALID_ARGUMENT` if the guardian email address is not valid (for\n example, if it is too long), or if the format of the student ID provided\n cannot be recognized (it is not an email address, nor a `user_id` from\n this API). This error will also be returned if read-only fields are set,\n or if the `state` field is set to to a value other than `PENDING`.\n* `NOT_FOUND` if the student ID provided is a valid student ID, but\n Classroom has no record of that student.\n* `ALREADY_EXISTS` if there is already a pending guardian invitation for\n the student and `invited_email_address` provided, or if the provided\n `invited_email_address` matches the Google account of an existing\n `Guardian` for this user.", "response": { "$ref": "GuardianInvitation" }, @@ -431,7 +355,135 @@ }, "flatPath": "v1/userProfiles/{studentId}/guardianInvitations", "id": "classroom.userProfiles.guardianInvitations.create", - "path": "v1/userProfiles/{studentId}/guardianInvitations" + "path": "v1/userProfiles/{studentId}/guardianInvitations", + "request": { + "$ref": "GuardianInvitation" + }, + "description": "Creates a guardian invitation, and sends an email to the guardian asking\nthem to confirm that they are the student's guardian.\n\nOnce the guardian accepts the invitation, their `state` will change to\n`COMPLETED` and they will start receiving guardian notifications. A\n`Guardian` resource will also be created to represent the active guardian.\n\nThe request object must have the `student_id` and\n`invited_email_address` fields set. Failing to set these fields, or\nsetting any other fields in the request, will result in an error.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the current user does not have permission to\n manage guardians, if the guardian in question has already rejected\n too many requests for that student, if guardians are not enabled for the\n domain in question, or for other access errors.\n* `RESOURCE_EXHAUSTED` if the student or guardian has exceeded the guardian\n link limit.\n* `INVALID_ARGUMENT` if the guardian email address is not valid (for\n example, if it is too long), or if the format of the student ID provided\n cannot be recognized (it is not an email address, nor a `user_id` from\n this API). This error will also be returned if read-only fields are set,\n or if the `state` field is set to to a value other than `PENDING`.\n* `NOT_FOUND` if the student ID provided is a valid student ID, but\n Classroom has no record of that student.\n* `ALREADY_EXISTS` if there is already a pending guardian invitation for\n the student and `invited_email_address` provided, or if the provided\n `invited_email_address` matches the Google account of an existing\n `Guardian` for this user." + }, + "patch": { + "request": { + "$ref": "GuardianInvitation" + }, + "description": "Modifies a guardian invitation.\n\nCurrently, the only valid modification is to change the `state` from\n`PENDING` to `COMPLETE`. This has the effect of withdrawing the invitation.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the current user does not have permission to\n manage guardians, if guardians are not enabled for the domain in question\n or for other access errors.\n* `FAILED_PRECONDITION` if the guardian link is not in the `PENDING` state.\n* `INVALID_ARGUMENT` if the format of the student ID provided\n cannot be recognized (it is not an email address, nor a `user_id` from\n this API), or if the passed `GuardianInvitation` has a `state` other than\n `COMPLETE`, or if it modifies fields other than `state`.\n* `NOT_FOUND` if the student ID provided is a valid student ID, but\n Classroom has no record of that student, or if the `id` field does not\n refer to a guardian invitation known to Classroom.", + "httpMethod": "PATCH", + "parameterOrder": [ + "studentId", + "invitationId" + ], + "response": { + "$ref": "GuardianInvitation" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.guardianlinks.students" + ], + "parameters": { + "updateMask": { + "format": "google-fieldmask", + "description": "Mask that identifies which fields on the course to update.\nThis field is required to do an update. The update will fail if invalid\nfields are specified. The following fields are valid:\n\n* `state`\n\nWhen set in a query parameter, this field should be specified as\n\n`updateMask=\u003cfield1\u003e,\u003cfield2\u003e,...`", + "type": "string", + "location": "query" + }, + "invitationId": { + "description": "The `id` field of the `GuardianInvitation` to be modified.", + "type": "string", + "required": true, + "location": "path" + }, + "studentId": { + "location": "path", + "description": "The ID of the student whose guardian invitation is to be modified.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/userProfiles/{studentId}/guardianInvitations/{invitationId}", + "path": "v1/userProfiles/{studentId}/guardianInvitations/{invitationId}", + "id": "classroom.userProfiles.guardianInvitations.patch" + }, + "get": { + "id": "classroom.userProfiles.guardianInvitations.get", + "path": "v1/userProfiles/{studentId}/guardianInvitations/{invitationId}", + "description": "Returns a specific guardian invitation.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to view\n guardian invitations for the student identified by the `student_id`, if\n guardians are not enabled for the domain in question, or for other\n access errors.\n* `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot\n be recognized (it is not an email address, nor a `student_id` from the\n API, nor the literal string `me`).\n* `NOT_FOUND` if Classroom cannot find any record of the given student or\n `invitation_id`. May also be returned if the student exists, but the\n requesting user does not have access to see that student.", + "response": { + "$ref": "GuardianInvitation" + }, + "parameterOrder": [ + "studentId", + "invitationId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/classroom.guardianlinks.students", + "https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly" + ], + "parameters": { + "studentId": { + "location": "path", + "description": "The ID of the student whose guardian invitation is being requested.", + "type": "string", + "required": true + }, + "invitationId": { + "location": "path", + "description": "The `id` field of the `GuardianInvitation` being requested.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/userProfiles/{studentId}/guardianInvitations/{invitationId}" + }, + "list": { + "response": { + "$ref": "ListGuardianInvitationsResponse" + }, + "parameterOrder": [ + "studentId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/classroom.guardianlinks.students", + "https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly" + ], + "parameters": { + "pageSize": { + "format": "int32", + "description": "Maximum number of items to return. Zero or unspecified indicates that the\nserver may assign a maximum.\n\nThe server may return fewer than the specified number of results.", + "type": "integer", + "location": "query" + }, + "states": { + "type": "string", + "repeated": true, + "location": "query", + "enum": [ + "GUARDIAN_INVITATION_STATE_UNSPECIFIED", + "PENDING", + "COMPLETE" + ], + "description": "If specified, only results with the specified `state` values will be\nreturned. Otherwise, results with a `state` of `PENDING` will be returned." + }, + "invitedEmailAddress": { + "description": "If specified, only results with the specified `invited_email_address`\nwill be returned.", + "type": "string", + "location": "query" + }, + "studentId": { + "location": "path", + "description": "The ID of the student whose guardian invitations are to be returned.\nThe identifier can be one of the following:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user\n* the string literal `\"-\"`, indicating that results should be returned for\n all students that the requesting user is permitted to view guardian\n invitations.", + "type": "string", + "required": true + }, + "pageToken": { + "description": "nextPageToken\nvalue returned from a previous\nlist call,\nindicating that the subsequent page of results should be returned.\n\nThe list request\nmust be otherwise identical to the one that resulted in this token.", + "type": "string", + "location": "query" + } + }, + "flatPath": "v1/userProfiles/{studentId}/guardianInvitations", + "id": "classroom.userProfiles.guardianInvitations.list", + "path": "v1/userProfiles/{studentId}/guardianInvitations", + "description": "Returns a list of guardian invitations that the requesting user is\npermitted to view, filtered by the parameters provided.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if a `student_id` is specified, and the requesting\n user is not permitted to view guardian invitations for that student, if\n `\"-\"` is specified as the `student_id` and the user is not a domain\n administrator, if guardians are not enabled for the domain in question,\n or for other access errors.\n* `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot\n be recognized (it is not an email address, nor a `student_id` from the\n API, nor the literal string `me`). May also be returned if an invalid\n `page_token` or `state` is provided.\n* `NOT_FOUND` if a `student_id` is specified, and its format can be\n recognized, but Classroom has no record of that student." } } } @@ -440,15 +492,21 @@ "courses": { "methods": { "list": { + "description": "Returns a list of courses that the requesting user is permitted to view,\nrestricted to those that match the request. Returned courses are ordered by\ncreation time, with the most recently created coming first.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` for access errors.\n* `INVALID_ARGUMENT` if the query argument is malformed.\n* `NOT_FOUND` if any users specified in the query arguments do not exist.", + "httpMethod": "GET", + "response": { + "$ref": "ListCoursesResponse" + }, + "parameterOrder": [], "scopes": [ "https://www.googleapis.com/auth/classroom.courses", "https://www.googleapis.com/auth/classroom.courses.readonly" ], "parameters": { "studentId": { - "type": "string", "location": "query", - "description": "Restricts returned courses to those having a student with the specified\nidentifier. The identifier can be one of the following:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user" + "description": "Restricts returned courses to those having a student with the specified\nidentifier. The identifier can be one of the following:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user", + "type": "string" }, "pageToken": { "location": "query", @@ -456,10 +514,10 @@ "type": "string" }, "pageSize": { - "type": "integer", "location": "query", "format": "int32", - "description": "Maximum number of items to return. Zero or unspecified indicates that the\nserver may assign a maximum.\n\nThe server may return fewer than the specified number of results." + "description": "Maximum number of items to return. Zero or unspecified indicates that the\nserver may assign a maximum.\n\nThe server may return fewer than the specified number of results.", + "type": "integer" }, "courseStates": { "repeated": true, @@ -476,28 +534,16 @@ "type": "string" }, "teacherId": { - "description": "Restricts returned courses to those having a teacher with the specified\nidentifier. The identifier can be one of the following:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user", "type": "string", - "location": "query" + "location": "query", + "description": "Restricts returned courses to those having a teacher with the specified\nidentifier. The identifier can be one of the following:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user" } }, "flatPath": "v1/courses", "path": "v1/courses", - "id": "classroom.courses.list", - "description": "Returns a list of courses that the requesting user is permitted to view,\nrestricted to those that match the request.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` for access errors.\n* `INVALID_ARGUMENT` if the query argument is malformed.\n* `NOT_FOUND` if any users specified in the query arguments do not exist.", - "httpMethod": "GET", - "parameterOrder": [], - "response": { - "$ref": "ListCoursesResponse" - } + "id": "classroom.courses.list" }, "create": { - "id": "classroom.courses.create", - "path": "v1/courses", - "request": { - "$ref": "Course" - }, - "description": "Creates a course.\n\nThe user specified in `ownerId` is the owner of the created course\nand added as a teacher.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to create\ncourses or for access errors.\n* `NOT_FOUND` if the primary teacher is not a valid user.\n* `FAILED_PRECONDITION` if the course owner's account is disabled or for\nthe following request errors:\n * UserGroupsMembershipLimitReached\n* `ALREADY_EXISTS` if an alias was specified in the `id` and\nalready exists.", "response": { "$ref": "Course" }, @@ -507,105 +553,107 @@ "https://www.googleapis.com/auth/classroom.courses" ], "parameters": {}, - "flatPath": "v1/courses" + "flatPath": "v1/courses", + "id": "classroom.courses.create", + "path": "v1/courses", + "request": { + "$ref": "Course" + }, + "description": "Creates a course.\n\nThe user specified in `ownerId` is the owner of the created course\nand added as a teacher.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to create\ncourses or for access errors.\n* `NOT_FOUND` if the primary teacher is not a valid user.\n* `FAILED_PRECONDITION` if the course owner's account is disabled or for\nthe following request errors:\n * UserGroupsMembershipLimitReached\n* `ALREADY_EXISTS` if an alias was specified in the `id` and\nalready exists." }, "get": { - "id": "classroom.courses.get", - "path": "v1/courses/{id}", - "description": "Returns a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or for access errors.\n* `NOT_FOUND` if no course exists with the requested ID.", "response": { "$ref": "Course" }, + "httpMethod": "GET", "parameterOrder": [ "id" ], - "httpMethod": "GET", - "parameters": { - "id": { - "description": "Identifier of the course to return.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", - "type": "string", - "required": true, - "location": "path" - } - }, "scopes": [ "https://www.googleapis.com/auth/classroom.courses", "https://www.googleapis.com/auth/classroom.courses.readonly" ], - "flatPath": "v1/courses/{id}" - }, - "patch": { - "response": { - "$ref": "Course" - }, - "parameterOrder": [ - "id" - ], - "httpMethod": "PATCH", - "scopes": [ - "https://www.googleapis.com/auth/classroom.courses" - ], "parameters": { - "updateMask": { - "format": "google-fieldmask", - "description": "Mask that identifies which fields on the course to update.\nThis field is required to do an update. The update will fail if invalid\nfields are specified. The following fields are valid:\n\n* `name`\n* `section`\n* `descriptionHeading`\n* `description`\n* `room`\n* `courseState`\n\nWhen set in a query parameter, this field should be specified as\n\n`updateMask=\u003cfield1\u003e,\u003cfield2\u003e,...`", - "type": "string", - "location": "query" - }, "id": { - "description": "Identifier of the course to update.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + "location": "path", + "description": "Identifier of the course to return.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", "type": "string", - "required": true, - "location": "path" + "required": true } }, "flatPath": "v1/courses/{id}", - "id": "classroom.courses.patch", + "id": "classroom.courses.get", "path": "v1/courses/{id}", - "request": { - "$ref": "Course" - }, - "description": "Updates one or more fields in a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to modify the\nrequested course or for access errors.\n* `NOT_FOUND` if no course exists with the requested ID.\n* `INVALID_ARGUMENT` if invalid fields are specified in the update mask or\nif no update mask is supplied.\n* `FAILED_PRECONDITION` for the following request errors:\n * CourseNotModifiable" + "description": "Returns a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or for access errors.\n* `NOT_FOUND` if no course exists with the requested ID." }, - "update": { - "response": { - "$ref": "Course" - }, + "patch": { + "httpMethod": "PATCH", "parameterOrder": [ "id" ], - "httpMethod": "PUT", + "response": { + "$ref": "Course" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.courses" + ], "parameters": { "id": { "location": "path", "description": "Identifier of the course to update.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", "type": "string", "required": true + }, + "updateMask": { + "type": "string", + "location": "query", + "format": "google-fieldmask", + "description": "Mask that identifies which fields on the course to update.\nThis field is required to do an update. The update will fail if invalid\nfields are specified. The following fields are valid:\n\n* `name`\n* `section`\n* `descriptionHeading`\n* `description`\n* `room`\n* `courseState`\n* `ownerId`\n\nNote: patches to ownerId are treated as being effective immediately, but in\npractice it may take some time for the ownership transfer of all affected\nresources to complete.\n\nWhen set in a query parameter, this field should be specified as\n\n`updateMask=\u003cfield1\u003e,\u003cfield2\u003e,...`" } }, - "scopes": [ - "https://www.googleapis.com/auth/classroom.courses" - ], "flatPath": "v1/courses/{id}", - "id": "classroom.courses.update", "path": "v1/courses/{id}", - "description": "Updates a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to modify the\nrequested course or for access errors.\n* `NOT_FOUND` if no course exists with the requested ID.\n* `FAILED_PRECONDITION` for the following request errors:\n * CourseNotModifiable", + "id": "classroom.courses.patch", "request": { "$ref": "Course" - } - }, - "delete": { - "description": "Deletes a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to delete the\nrequested course or for access errors.\n* `NOT_FOUND` if no course exists with the requested ID.", - "response": { - "$ref": "Empty" }, + "description": "Updates one or more fields in a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to modify the\nrequested course or for access errors.\n* `NOT_FOUND` if no course exists with the requested ID.\n* `INVALID_ARGUMENT` if invalid fields are specified in the update mask or\nif no update mask is supplied.\n* `FAILED_PRECONDITION` for the following request errors:\n * CourseNotModifiable" + }, + "update": { + "flatPath": "v1/courses/{id}", + "path": "v1/courses/{id}", + "id": "classroom.courses.update", + "request": { + "$ref": "Course" + }, + "description": "Updates a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to modify the\nrequested course or for access errors.\n* `NOT_FOUND` if no course exists with the requested ID.\n* `FAILED_PRECONDITION` for the following request errors:\n * CourseNotModifiable", + "httpMethod": "PUT", "parameterOrder": [ "id" ], - "httpMethod": "DELETE", + "response": { + "$ref": "Course" + }, "scopes": [ "https://www.googleapis.com/auth/classroom.courses" ], + "parameters": { + "id": { + "description": "Identifier of the course to update.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + "type": "string", + "required": true, + "location": "path" + } + } + }, + "delete": { + "httpMethod": "DELETE", + "parameterOrder": [ + "id" + ], + "response": { + "$ref": "Empty" + }, "parameters": { "id": { "location": "path", @@ -614,183 +662,20 @@ "required": true } }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.courses" + ], "flatPath": "v1/courses/{id}", + "path": "v1/courses/{id}", "id": "classroom.courses.delete", - "path": "v1/courses/{id}" + "description": "Deletes a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to delete the\nrequested course or for access errors.\n* `NOT_FOUND` if no course exists with the requested ID." } }, "resources": { - "students": { - "methods": { - "delete": { - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "courseId", - "userId" - ], - "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/classroom.rosters" - ], - "parameters": { - "userId": { - "description": "Identifier of the student to delete. The identifier can be one of the\nfollowing:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user", - "type": "string", - "required": true, - "location": "path" - }, - "courseId": { - "location": "path", - "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/courses/{courseId}/students/{userId}", - "id": "classroom.courses.students.delete", - "path": "v1/courses/{courseId}/students/{userId}", - "description": "Deletes a student of a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to delete\nstudents of this course or for access errors.\n* `NOT_FOUND` if no student of this course has the requested ID or if the\ncourse does not exist." - }, - "list": { - "httpMethod": "GET", - "parameterOrder": [ - "courseId" - ], - "response": { - "$ref": "ListStudentsResponse" - }, - "parameters": { - "pageToken": { - "location": "query", - "description": "nextPageToken\nvalue returned from a previous\nlist call, indicating that\nthe subsequent page of results should be returned.\n\nThe list request must be\notherwise identical to the one that resulted in this token.", - "type": "string" - }, - "pageSize": { - "format": "int32", - "description": "Maximum number of items to return. Zero means no maximum.\n\nThe server may return fewer than the specified number of results.", - "type": "integer", - "location": "query" - }, - "courseId": { - "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", - "type": "string", - "required": true, - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/classroom.profile.emails", - "https://www.googleapis.com/auth/classroom.profile.photos", - "https://www.googleapis.com/auth/classroom.rosters", - "https://www.googleapis.com/auth/classroom.rosters.readonly" - ], - "flatPath": "v1/courses/{courseId}/students", - "path": "v1/courses/{courseId}/students", - "id": "classroom.courses.students.list", - "description": "Returns a list of students of this course that the requester\nis permitted to view.\n\nThis method returns the following error codes:\n\n* `NOT_FOUND` if the course does not exist.\n* `PERMISSION_DENIED` for access errors." - }, - "get": { - "parameters": { - "userId": { - "description": "Identifier of the student to return. The identifier can be one of the\nfollowing:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user", - "type": "string", - "required": true, - "location": "path" - }, - "courseId": { - "location": "path", - "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/classroom.profile.emails", - "https://www.googleapis.com/auth/classroom.profile.photos", - "https://www.googleapis.com/auth/classroom.rosters", - "https://www.googleapis.com/auth/classroom.rosters.readonly" - ], - "flatPath": "v1/courses/{courseId}/students/{userId}", - "id": "classroom.courses.students.get", - "path": "v1/courses/{courseId}/students/{userId}", - "description": "Returns a student of a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to view\nstudents of this course or for access errors.\n* `NOT_FOUND` if no student of this course has the requested ID or if the\ncourse does not exist.", - "response": { - "$ref": "Student" - }, - "parameterOrder": [ - "courseId", - "userId" - ], - "httpMethod": "GET" - }, - "create": { - "response": { - "$ref": "Student" - }, - "parameterOrder": [ - "courseId" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/classroom.profile.emails", - "https://www.googleapis.com/auth/classroom.profile.photos", - "https://www.googleapis.com/auth/classroom.rosters" - ], - "parameters": { - "courseId": { - "location": "path", - "description": "Identifier of the course to create the student in.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", - "type": "string", - "required": true - }, - "enrollmentCode": { - "location": "query", - "description": "Enrollment code of the course to create the student in.\nThis code is required if userId\ncorresponds to the requesting user; it may be omitted if the requesting\nuser has administrative permissions to create students for any user.", - "type": "string" - } - }, - "flatPath": "v1/courses/{courseId}/students", - "id": "classroom.courses.students.create", - "path": "v1/courses/{courseId}/students", - "request": { - "$ref": "Student" - }, - "description": "Adds a user as a student of a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to create\nstudents in this course or for access errors.\n* `NOT_FOUND` if the requested course ID does not exist.\n* `FAILED_PRECONDITION` if the requested user's account is disabled,\nfor the following request errors:\n * CourseMemberLimitReached\n * CourseNotModifiable\n * UserGroupsMembershipLimitReached\n* `ALREADY_EXISTS` if the user is already a student or teacher in the\ncourse." - } - } - }, "courseWork": { "methods": { - "create": { - "response": { - "$ref": "CourseWork" - }, - "parameterOrder": [ - "courseId" - ], - "httpMethod": "POST", - "parameters": { - "courseId": { - "location": "path", - "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/classroom.coursework.students" - ], - "flatPath": "v1/courses/{courseId}/courseWork", - "id": "classroom.courses.courseWork.create", - "path": "v1/courses/{courseId}/courseWork", - "description": "Creates course work.\n\nThe resulting course work (and corresponding student submissions) are\nassociated with the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\nmake the request. Classroom API requests to modify course work and student\nsubmissions must be made with an OAuth client ID from the associated\nDeveloper Console project.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course, create course work in the requested course, share a\nDrive attachment, or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course does not exist.\n* `FAILED_PRECONDITION` for the following request error:\n * AttachmentNotVisible", - "request": { - "$ref": "CourseWork" - } - }, "delete": { + "description": "Deletes a course work.\n\nThis request must be made by the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\ncreate the corresponding course work item.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting developer project did not create\nthe corresponding course work, if the requesting user is not permitted\nto delete the requested course or for access errors.\n* `FAILED_PRECONDITION` if the requested course work has already been\ndeleted.\n* `NOT_FOUND` if no course exists with the requested ID.", "response": { "$ref": "Empty" }, @@ -803,32 +688,37 @@ "https://www.googleapis.com/auth/classroom.coursework.students" ], "parameters": { - "courseId": { - "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", - "type": "string", - "required": true, - "location": "path" - }, "id": { "location": "path", "description": "Identifier of the course work to delete.\nThis identifier is a Classroom-assigned identifier.", "type": "string", "required": true + }, + "courseId": { + "location": "path", + "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + "type": "string", + "required": true } }, "flatPath": "v1/courses/{courseId}/courseWork/{id}", "id": "classroom.courses.courseWork.delete", - "path": "v1/courses/{courseId}/courseWork/{id}", - "description": "Deletes a course work.\n\nThis request must be made by the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\ncreate the corresponding course work item.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting developer project did not create\nthe corresponding course work, if the requesting user is not permitted\nto delete the requested course or for access errors.\n* `FAILED_PRECONDITION` if the requested course work has already been\ndeleted.\n* `NOT_FOUND` if no course exists with the requested ID." + "path": "v1/courses/{courseId}/courseWork/{id}" }, "list": { - "response": { - "$ref": "ListCourseWorkResponse" - }, + "httpMethod": "GET", "parameterOrder": [ "courseId" ], - "httpMethod": "GET", + "response": { + "$ref": "ListCourseWorkResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.coursework.me", + "https://www.googleapis.com/auth/classroom.coursework.me.readonly", + "https://www.googleapis.com/auth/classroom.coursework.students", + "https://www.googleapis.com/auth/classroom.coursework.students.readonly" + ], "parameters": { "pageToken": { "location": "query", @@ -865,17 +755,112 @@ "required": true } }, - "scopes": [ - "https://www.googleapis.com/auth/classroom.coursework.me", - "https://www.googleapis.com/auth/classroom.coursework.me.readonly", - "https://www.googleapis.com/auth/classroom.coursework.students", - "https://www.googleapis.com/auth/classroom.coursework.students.readonly" - ], "flatPath": "v1/courses/{courseId}/courseWork", - "id": "classroom.courses.courseWork.list", "path": "v1/courses/{courseId}/courseWork", + "id": "classroom.courses.courseWork.list", "description": "Returns a list of course work that the requester is permitted to view.\n\nCourse students may only view `PUBLISHED` course work. Course teachers\nand domain administrators may view all course work.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access\nthe requested course or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course does not exist." }, + "create": { + "id": "classroom.courses.courseWork.create", + "path": "v1/courses/{courseId}/courseWork", + "request": { + "$ref": "CourseWork" + }, + "description": "Creates course work.\n\nThe resulting course work (and corresponding student submissions) are\nassociated with the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\nmake the request. Classroom API requests to modify course work and student\nsubmissions must be made with an OAuth client ID from the associated\nDeveloper Console project.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course, create course work in the requested course, share a\nDrive attachment, or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course does not exist.\n* `FAILED_PRECONDITION` for the following request error:\n * AttachmentNotVisible", + "response": { + "$ref": "CourseWork" + }, + "parameterOrder": [ + "courseId" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/classroom.coursework.students" + ], + "parameters": { + "courseId": { + "location": "path", + "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/courses/{courseId}/courseWork" + }, + "modifyAssignees": { + "httpMethod": "POST", + "parameterOrder": [ + "courseId", + "id" + ], + "response": { + "$ref": "CourseWork" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.coursework.students" + ], + "parameters": { + "courseId": { + "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + "type": "string", + "required": true, + "location": "path" + }, + "id": { + "location": "path", + "description": "Identifier of the coursework.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/courses/{courseId}/courseWork/{id}:modifyAssignees", + "path": "v1/courses/{courseId}/courseWork/{id}:modifyAssignees", + "id": "classroom.courses.courseWork.modifyAssignees", + "request": { + "$ref": "ModifyCourseWorkAssigneesRequest" + }, + "description": "Modifies assignee mode and options of a coursework.\n\nOnly a teacher of the course that contains the coursework may\ncall this method.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or course work or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course or course work does not exist." + }, + "patch": { + "flatPath": "v1/courses/{courseId}/courseWork/{id}", + "path": "v1/courses/{courseId}/courseWork/{id}", + "id": "classroom.courses.courseWork.patch", + "description": "Updates one or more fields of a course work.\n\nSee google.classroom.v1.CourseWork for details\nof which fields may be updated and who may change them.\n\nThis request must be made by the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\ncreate the corresponding course work item.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting developer project did not create\nthe corresponding course work, if the user is not permitted to make the\nrequested modification to the student submission, or for\naccess errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `FAILED_PRECONDITION` if the requested course work has already been\ndeleted.\n* `NOT_FOUND` if the requested course, course work, or student submission\ndoes not exist.", + "request": { + "$ref": "CourseWork" + }, + "httpMethod": "PATCH", + "parameterOrder": [ + "courseId", + "id" + ], + "response": { + "$ref": "CourseWork" + }, + "parameters": { + "courseId": { + "location": "path", + "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + "type": "string", + "required": true + }, + "id": { + "description": "Identifier of the course work.", + "type": "string", + "required": true, + "location": "path" + }, + "updateMask": { + "format": "google-fieldmask", + "description": "Mask that identifies which fields on the course work to update.\nThis field is required to do an update. The update fails if invalid\nfields are specified. If a field supports empty values, it can be cleared\nby specifying it in the update mask and not in the CourseWork object. If a\nfield that does not support empty values is included in the update mask and\nnot set in the CourseWork object, an `INVALID_ARGUMENT` error will be\nreturned.\n\nThe following fields may be specified by teachers:\n\n* `title`\n* `description`\n* `state`\n* `due_date`\n* `due_time`\n* `max_points`\n* `scheduled_time`\n* `submission_modification_mode`", + "type": "string", + "location": "query" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.coursework.students" + ] + }, "get": { "description": "Returns course work.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or course work, or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course or course work does not exist.", "response": { @@ -893,117 +878,38 @@ "https://www.googleapis.com/auth/classroom.coursework.students.readonly" ], "parameters": { - "id": { + "courseId": { + "type": "string", + "required": true, "location": "path", + "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias." + }, + "id": { "description": "Identifier of the course work.", "type": "string", - "required": true - }, - "courseId": { - "location": "path", - "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", - "type": "string", - "required": true + "required": true, + "location": "path" } }, "flatPath": "v1/courses/{courseId}/courseWork/{id}", "id": "classroom.courses.courseWork.get", "path": "v1/courses/{courseId}/courseWork/{id}" - }, - "patch": { - "description": "Updates one or more fields of a course work.\n\nSee google.classroom.v1.CourseWork for details\nof which fields may be updated and who may change them.\n\nThis request must be made by the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\ncreate the corresponding course work item.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting developer project did not create\nthe corresponding course work, if the user is not permitted to make the\nrequested modification to the student submission, or for\naccess errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `FAILED_PRECONDITION` if the requested course work has already been\ndeleted.\n* `NOT_FOUND` if the requested course, course work, or student submission\ndoes not exist.", - "request": { - "$ref": "CourseWork" - }, - "httpMethod": "PATCH", - "parameterOrder": [ - "courseId", - "id" - ], - "response": { - "$ref": "CourseWork" - }, - "parameters": { - "courseId": { - "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", - "type": "string", - "required": true, - "location": "path" - }, - "id": { - "location": "path", - "description": "Identifier of the course work.", - "type": "string", - "required": true - }, - "updateMask": { - "location": "query", - "format": "google-fieldmask", - "description": "Mask that identifies which fields on the course work to update.\nThis field is required to do an update. The update fails if invalid\nfields are specified. If a field supports empty values, it can be cleared\nby specifying it in the update mask and not in the CourseWork object. If a\nfield that does not support empty values is included in the update mask and\nnot set in the CourseWork object, an `INVALID_ARGUMENT` error will be\nreturned.\n\nThe following fields may be specified by teachers:\n* `title`\n* `description`\n* `state`\n* `due_date`\n* `due_time`\n* `max_points`\n* `scheduled_time`\n* `submission_modification_mode`", - "type": "string" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/classroom.coursework.students" - ], - "flatPath": "v1/courses/{courseId}/courseWork/{id}", - "path": "v1/courses/{courseId}/courseWork/{id}", - "id": "classroom.courses.courseWork.patch" } }, "resources": { "studentSubmissions": { "methods": { - "turnIn": { - "request": { - "$ref": "TurnInStudentSubmissionRequest" - }, - "description": "Turns in a student submission.\n\nTurning in a student submission transfers ownership of attached Drive\nfiles to the teacher and may also update the submission state.\n\nThis may only be called by the student that owns the specified student\nsubmission.\n\nThis request must be made by the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\ncreate the corresponding course work item.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or course work, turn in the requested student submission,\nor for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course, course work, or student submission\ndoes not exist.", - "response": { - "$ref": "Empty" - }, + "get": { + "description": "Returns a student submission.\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course, course work, or student submission or for\naccess errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course, course work, or student submission\ndoes not exist.", + "httpMethod": "GET", "parameterOrder": [ "courseId", "courseWorkId", "id" ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/classroom.coursework.me" - ], - "parameters": { - "courseWorkId": { - "location": "path", - "description": "Identifier of the course work.", - "type": "string", - "required": true - }, - "courseId": { - "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", - "type": "string", - "required": true, - "location": "path" - }, - "id": { - "location": "path", - "description": "Identifier of the student submission.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:turnIn", - "id": "classroom.courses.courseWork.studentSubmissions.turnIn", - "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:turnIn" - }, - "list": { "response": { - "$ref": "ListStudentSubmissionsResponse" + "$ref": "StudentSubmission" }, - "parameterOrder": [ - "courseId", - "courseWorkId" - ], - "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/classroom.coursework.me", "https://www.googleapis.com/auth/classroom.coursework.me.readonly", @@ -1013,171 +919,12 @@ "https://www.googleapis.com/auth/classroom.student-submissions.students.readonly" ], "parameters": { - "userId": { - "location": "query", - "description": "Optional argument to restrict returned student work to those owned by the\nstudent with the specified identifier. The identifier can be one of the\nfollowing:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user", - "type": "string" - }, "courseWorkId": { "location": "path", - "description": "Identifer of the student work to request.\nThis may be set to the string literal `\"-\"` to request student work for\nall course work in the specified course.", + "description": "Identifier of the course work.", "type": "string", "required": true }, - "courseId": { - "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", - "type": "string", - "required": true, - "location": "path" - }, - "late": { - "location": "query", - "enum": [ - "LATE_VALUES_UNSPECIFIED", - "LATE_ONLY", - "NOT_LATE_ONLY" - ], - "description": "Requested lateness value. If specified, returned student submissions are\nrestricted by the requested value.\nIf unspecified, submissions are returned regardless of `late` value.", - "type": "string" - }, - "pageToken": { - "type": "string", - "location": "query", - "description": "nextPageToken\nvalue returned from a previous\nlist call,\nindicating that the subsequent page of results should be returned.\n\nThe list request\nmust be otherwise identical to the one that resulted in this token." - }, - "pageSize": { - "format": "int32", - "description": "Maximum number of items to return. Zero or unspecified indicates that the\nserver may assign a maximum.\n\nThe server may return fewer than the specified number of results.", - "type": "integer", - "location": "query" - }, - "states": { - "location": "query", - "enum": [ - "SUBMISSION_STATE_UNSPECIFIED", - "NEW", - "CREATED", - "TURNED_IN", - "RETURNED", - "RECLAIMED_BY_STUDENT" - ], - "description": "Requested submission states. If specified, returned student submissions\nmatch one of the specified submission states.", - "type": "string", - "repeated": true - } - }, - "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions", - "id": "classroom.courses.courseWork.studentSubmissions.list", - "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions", - "description": "Returns a list of student submissions that the requester is permitted to\nview, factoring in the OAuth scopes of the request.\n`-` may be specified as the `course_work_id` to include student\nsubmissions for multiple course work items.\n\nCourse students may only view their own work. Course teachers\nand domain administrators may view all student submissions.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or course work, or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course does not exist." - }, - "modifyAttachments": { - "scopes": [ - "https://www.googleapis.com/auth/classroom.coursework.me", - "https://www.googleapis.com/auth/classroom.coursework.students" - ], - "parameters": { - "courseWorkId": { - "description": "Identifier of the course work.", - "type": "string", - "required": true, - "location": "path" - }, - "courseId": { - "location": "path", - "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", - "type": "string", - "required": true - }, - "id": { - "type": "string", - "required": true, - "location": "path", - "description": "Identifier of the student submission." - } - }, - "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:modifyAttachments", - "id": "classroom.courses.courseWork.studentSubmissions.modifyAttachments", - "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:modifyAttachments", - "request": { - "$ref": "ModifyAttachmentsRequest" - }, - "description": "Modifies attachments of student submission.\n\nAttachments may only be added to student submissions belonging to course\nwork objects with a `workType` of `ASSIGNMENT`.\n\nThis request must be made by the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\ncreate the corresponding course work item.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or course work, if the user is not permitted to modify\nattachments on the requested student submission, or for\naccess errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course, course work, or student submission\ndoes not exist.", - "response": { - "$ref": "StudentSubmission" - }, - "parameterOrder": [ - "courseId", - "courseWorkId", - "id" - ], - "httpMethod": "POST" - }, - "patch": { - "description": "Updates one or more fields of a student submission.\n\nSee google.classroom.v1.StudentSubmission for details\nof which fields may be updated and who may change them.\n\nThis request must be made by the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\ncreate the corresponding course work item.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting developer project did not create\nthe corresponding course work, if the user is not permitted to make the\nrequested modification to the student submission, or for\naccess errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course, course work, or student submission\ndoes not exist.", - "request": { - "$ref": "StudentSubmission" - }, - "response": { - "$ref": "StudentSubmission" - }, - "parameterOrder": [ - "courseId", - "courseWorkId", - "id" - ], - "httpMethod": "PATCH", - "parameters": { - "courseWorkId": { - "description": "Identifier of the course work.", - "type": "string", - "required": true, - "location": "path" - }, - "courseId": { - "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", - "type": "string", - "required": true, - "location": "path" - }, - "id": { - "type": "string", - "required": true, - "location": "path", - "description": "Identifier of the student submission." - }, - "updateMask": { - "type": "string", - "location": "query", - "format": "google-fieldmask", - "description": "Mask that identifies which fields on the student submission to update.\nThis field is required to do an update. The update fails if invalid\nfields are specified.\n\nThe following fields may be specified by teachers:\n* `draft_grade`\n* `assigned_grade`" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/classroom.coursework.me", - "https://www.googleapis.com/auth/classroom.coursework.students" - ], - "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}", - "id": "classroom.courses.courseWork.studentSubmissions.patch", - "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}" - }, - "get": { - "httpMethod": "GET", - "parameterOrder": [ - "courseId", - "courseWorkId", - "id" - ], - "response": { - "$ref": "StudentSubmission" - }, - "parameters": { - "courseWorkId": { - "description": "Identifier of the course work.", - "type": "string", - "required": true, - "location": "path" - }, "courseId": { "type": "string", "required": true, @@ -1191,30 +938,33 @@ "required": true } }, - "scopes": [ - "https://www.googleapis.com/auth/classroom.coursework.me", - "https://www.googleapis.com/auth/classroom.coursework.me.readonly", - "https://www.googleapis.com/auth/classroom.coursework.students", - "https://www.googleapis.com/auth/classroom.coursework.students.readonly", - "https://www.googleapis.com/auth/classroom.student-submissions.me.readonly", - "https://www.googleapis.com/auth/classroom.student-submissions.students.readonly" - ], "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}", "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}", - "id": "classroom.courses.courseWork.studentSubmissions.get", - "description": "Returns a student submission.\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course, course work, or student submission or for\naccess errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course, course work, or student submission\ndoes not exist." + "id": "classroom.courses.courseWork.studentSubmissions.get" }, - "return": { - "httpMethod": "POST", + "patch": { + "response": { + "$ref": "StudentSubmission" + }, "parameterOrder": [ "courseId", "courseWorkId", "id" ], - "response": { - "$ref": "Empty" - }, + "httpMethod": "PATCH", "parameters": { + "id": { + "location": "path", + "description": "Identifier of the student submission.", + "type": "string", + "required": true + }, + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Mask that identifies which fields on the student submission to update.\nThis field is required to do an update. The update fails if invalid\nfields are specified.\n\nThe following fields may be specified by teachers:\n\n* `draft_grade`\n* `assigned_grade`", + "type": "string" + }, "courseWorkId": { "description": "Identifier of the course work.", "type": "string", @@ -1226,30 +976,103 @@ "type": "string", "required": true, "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.coursework.me", + "https://www.googleapis.com/auth/classroom.coursework.students" + ], + "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}", + "id": "classroom.courses.courseWork.studentSubmissions.patch", + "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}", + "description": "Updates one or more fields of a student submission.\n\nSee google.classroom.v1.StudentSubmission for details\nof which fields may be updated and who may change them.\n\nThis request must be made by the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\ncreate the corresponding course work item.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting developer project did not create\nthe corresponding course work, if the user is not permitted to make the\nrequested modification to the student submission, or for\naccess errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course, course work, or student submission\ndoes not exist.", + "request": { + "$ref": "StudentSubmission" + } + }, + "return": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "courseId", + "courseWorkId", + "id" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/classroom.coursework.students" + ], + "parameters": { + "courseWorkId": { + "location": "path", + "description": "Identifier of the course work.", + "type": "string", + "required": true + }, + "courseId": { + "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + "type": "string", + "required": true, + "location": "path" + }, + "id": { + "description": "Identifier of the student submission.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:return", + "id": "classroom.courses.courseWork.studentSubmissions.return", + "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:return", + "request": { + "$ref": "ReturnStudentSubmissionRequest" + }, + "description": "Returns a student submission.\n\nReturning a student submission transfers ownership of attached Drive\nfiles to the student and may also update the submission state.\nUnlike the Classroom application, returning a student submission does not\nset assignedGrade to the draftGrade value.\n\nOnly a teacher of the course that contains the requested student submission\nmay call this method.\n\nThis request must be made by the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\ncreate the corresponding course work item.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or course work, return the requested student submission,\nor for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course, course work, or student submission\ndoes not exist." + }, + "reclaim": { + "httpMethod": "POST", + "parameterOrder": [ + "courseId", + "courseWorkId", + "id" + ], + "response": { + "$ref": "Empty" + }, + "parameters": { + "courseId": { + "location": "path", + "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + "type": "string", + "required": true }, "id": { "type": "string", "required": true, "location": "path", "description": "Identifier of the student submission." + }, + "courseWorkId": { + "description": "Identifier of the course work.", + "type": "string", + "required": true, + "location": "path" } }, "scopes": [ - "https://www.googleapis.com/auth/classroom.coursework.students" + "https://www.googleapis.com/auth/classroom.coursework.me" ], - "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:return", - "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:return", - "id": "classroom.courses.courseWork.studentSubmissions.return", - "description": "Returns a student submission.\n\nReturning a student submission transfers ownership of attached Drive\nfiles to the student and may also update the submission state.\nUnlike the Classroom application, returning a student submission does not\nset assignedGrade to the draftGrade value.\n\nOnly a teacher of the course that contains the requested student submission\nmay call this method.\n\nThis request must be made by the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\ncreate the corresponding course work item.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or course work, return the requested student submission,\nor for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course, course work, or student submission\ndoes not exist.", - "request": { - "$ref": "ReturnStudentSubmissionRequest" - } - }, - "reclaim": { + "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:reclaim", + "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:reclaim", + "id": "classroom.courses.courseWork.studentSubmissions.reclaim", + "description": "Reclaims a student submission on behalf of the student that owns it.\n\nReclaiming a student submission transfers ownership of attached Drive\nfiles to the student and update the submission state.\n\nOnly the student that owns the requested student submission may call this\nmethod, and only for a student submission that has been turned in.\n\nThis request must be made by the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\ncreate the corresponding course work item.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or course work, unsubmit the requested student submission,\nor for access errors.\n* `FAILED_PRECONDITION` if the student submission has not been turned in.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course, course work, or student submission\ndoes not exist.", "request": { "$ref": "ReclaimStudentSubmissionRequest" - }, - "description": "Reclaims a student submission on behalf of the student that owns it.\n\nReclaiming a student submission transfers ownership of attached Drive\nfiles to the student and update the submission state.\n\nOnly the student that owns the requested student submission may call this\nmethod, and only for a student submission that has been turned in.\n\nThis request must be made by the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\ncreate the corresponding course work item.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or course work, unsubmit the requested student submission,\nor for access errors.\n* `FAILED_PRECONDITION` if the student submission has not been turned in.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course, course work, or student submission\ndoes not exist.", + } + }, + "turnIn": { "response": { "$ref": "Empty" }, @@ -1270,21 +1093,143 @@ "required": true }, "courseId": { - "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", - "type": "string", - "required": true, - "location": "path" - }, - "id": { "type": "string", "required": true, "location": "path", - "description": "Identifier of the student submission." + "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias." + }, + "id": { + "location": "path", + "description": "Identifier of the student submission.", + "type": "string", + "required": true } }, - "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:reclaim", - "id": "classroom.courses.courseWork.studentSubmissions.reclaim", - "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:reclaim" + "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:turnIn", + "id": "classroom.courses.courseWork.studentSubmissions.turnIn", + "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:turnIn", + "request": { + "$ref": "TurnInStudentSubmissionRequest" + }, + "description": "Turns in a student submission.\n\nTurning in a student submission transfers ownership of attached Drive\nfiles to the teacher and may also update the submission state.\n\nThis may only be called by the student that owns the specified student\nsubmission.\n\nThis request must be made by the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\ncreate the corresponding course work item.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or course work, turn in the requested student submission,\nor for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course, course work, or student submission\ndoes not exist." + }, + "modifyAttachments": { + "request": { + "$ref": "ModifyAttachmentsRequest" + }, + "description": "Modifies attachments of student submission.\n\nAttachments may only be added to student submissions belonging to course\nwork objects with a `workType` of `ASSIGNMENT`.\n\nThis request must be made by the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\ncreate the corresponding course work item.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or course work, if the user is not permitted to modify\nattachments on the requested student submission, or for\naccess errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course, course work, or student submission\ndoes not exist.", + "response": { + "$ref": "StudentSubmission" + }, + "parameterOrder": [ + "courseId", + "courseWorkId", + "id" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/classroom.coursework.me", + "https://www.googleapis.com/auth/classroom.coursework.students" + ], + "parameters": { + "courseWorkId": { + "location": "path", + "description": "Identifier of the course work.", + "type": "string", + "required": true + }, + "courseId": { + "location": "path", + "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + "type": "string", + "required": true + }, + "id": { + "location": "path", + "description": "Identifier of the student submission.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:modifyAttachments", + "id": "classroom.courses.courseWork.studentSubmissions.modifyAttachments", + "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:modifyAttachments" + }, + "list": { + "description": "Returns a list of student submissions that the requester is permitted to\nview, factoring in the OAuth scopes of the request.\n`-` may be specified as the `course_work_id` to include student\nsubmissions for multiple course work items.\n\nCourse students may only view their own work. Course teachers\nand domain administrators may view all student submissions.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or course work, or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course does not exist.", + "httpMethod": "GET", + "parameterOrder": [ + "courseId", + "courseWorkId" + ], + "response": { + "$ref": "ListStudentSubmissionsResponse" + }, + "parameters": { + "courseId": { + "location": "path", + "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + "type": "string", + "required": true + }, + "late": { + "location": "query", + "enum": [ + "LATE_VALUES_UNSPECIFIED", + "LATE_ONLY", + "NOT_LATE_ONLY" + ], + "description": "Requested lateness value. If specified, returned student submissions are\nrestricted by the requested value.\nIf unspecified, submissions are returned regardless of `late` value.", + "type": "string" + }, + "pageToken": { + "location": "query", + "description": "nextPageToken\nvalue returned from a previous\nlist call,\nindicating that the subsequent page of results should be returned.\n\nThe list request\nmust be otherwise identical to the one that resulted in this token.", + "type": "string" + }, + "pageSize": { + "format": "int32", + "description": "Maximum number of items to return. Zero or unspecified indicates that the\nserver may assign a maximum.\n\nThe server may return fewer than the specified number of results.", + "type": "integer", + "location": "query" + }, + "states": { + "repeated": true, + "location": "query", + "enum": [ + "SUBMISSION_STATE_UNSPECIFIED", + "NEW", + "CREATED", + "TURNED_IN", + "RETURNED", + "RECLAIMED_BY_STUDENT" + ], + "description": "Requested submission states. If specified, returned student submissions\nmatch one of the specified submission states.", + "type": "string" + }, + "userId": { + "description": "Optional argument to restrict returned student work to those owned by the\nstudent with the specified identifier. The identifier can be one of the\nfollowing:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user", + "type": "string", + "location": "query" + }, + "courseWorkId": { + "location": "path", + "description": "Identifier of the student work to request.\nThis may be set to the string literal `\"-\"` to request student work for\nall course work in the specified course.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.coursework.me", + "https://www.googleapis.com/auth/classroom.coursework.me.readonly", + "https://www.googleapis.com/auth/classroom.coursework.students", + "https://www.googleapis.com/auth/classroom.coursework.students.readonly", + "https://www.googleapis.com/auth/classroom.student-submissions.me.readonly", + "https://www.googleapis.com/auth/classroom.student-submissions.students.readonly" + ], + "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions", + "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions", + "id": "classroom.courses.courseWork.studentSubmissions.list" } } } @@ -1293,6 +1238,7 @@ "teachers": { "methods": { "delete": { + "description": "Deletes a teacher of a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to delete\nteachers of this course or for access errors.\n* `NOT_FOUND` if no teacher of this course has the requested ID or if the\ncourse does not exist.\n* `FAILED_PRECONDITION` if the requested ID belongs to the primary teacher\nof this course.", "response": { "$ref": "Empty" }, @@ -1305,14 +1251,14 @@ "https://www.googleapis.com/auth/classroom.rosters" ], "parameters": { - "userId": { - "location": "path", - "description": "Identifier of the teacher to delete. The identifier can be one of the\nfollowing:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user", - "type": "string", - "required": true - }, "courseId": { - "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + "type": "string", + "required": true, + "location": "path", + "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias." + }, + "userId": { + "description": "Identifier of the teacher to delete. The identifier can be one of the\nfollowing:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user", "type": "string", "required": true, "location": "path" @@ -1320,10 +1266,17 @@ }, "flatPath": "v1/courses/{courseId}/teachers/{userId}", "id": "classroom.courses.teachers.delete", - "path": "v1/courses/{courseId}/teachers/{userId}", - "description": "Deletes a teacher of a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to delete\nteachers of this course or for access errors.\n* `NOT_FOUND` if no teacher of this course has the requested ID or if the\ncourse does not exist.\n* `FAILED_PRECONDITION` if the requested ID belongs to the primary teacher\nof this course." + "path": "v1/courses/{courseId}/teachers/{userId}" }, "list": { + "description": "Returns a list of teachers of this course that the requester\nis permitted to view.\n\nThis method returns the following error codes:\n\n* `NOT_FOUND` if the course does not exist.\n* `PERMISSION_DENIED` for access errors.", + "response": { + "$ref": "ListTeachersResponse" + }, + "parameterOrder": [ + "courseId" + ], + "httpMethod": "GET", "parameters": { "pageToken": { "description": "nextPageToken\nvalue returned from a previous\nlist call, indicating that\nthe subsequent page of results should be returned.\n\nThe list request must be\notherwise identical to the one that resulted in this token.", @@ -1331,16 +1284,16 @@ "location": "query" }, "pageSize": { + "location": "query", "format": "int32", "description": "Maximum number of items to return. Zero means no maximum.\n\nThe server may return fewer than the specified number of results.", - "type": "integer", - "location": "query" + "type": "integer" }, "courseId": { + "location": "path", "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", "type": "string", - "required": true, - "location": "path" + "required": true } }, "scopes": [ @@ -1351,15 +1304,7 @@ ], "flatPath": "v1/courses/{courseId}/teachers", "id": "classroom.courses.teachers.list", - "path": "v1/courses/{courseId}/teachers", - "description": "Returns a list of teachers of this course that the requester\nis permitted to view.\n\nThis method returns the following error codes:\n\n* `NOT_FOUND` if the course does not exist.\n* `PERMISSION_DENIED` for access errors.", - "response": { - "$ref": "ListTeachersResponse" - }, - "parameterOrder": [ - "courseId" - ], - "httpMethod": "GET" + "path": "v1/courses/{courseId}/teachers" }, "get": { "response": { @@ -1370,49 +1315,45 @@ "userId" ], "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/classroom.profile.emails", - "https://www.googleapis.com/auth/classroom.profile.photos", - "https://www.googleapis.com/auth/classroom.rosters", - "https://www.googleapis.com/auth/classroom.rosters.readonly" - ], - "parameters": { - "courseId": { - "type": "string", - "required": true, - "location": "path", - "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias." - }, - "userId": { - "type": "string", - "required": true, - "location": "path", - "description": "Identifier of the teacher to return. The identifier can be one of the\nfollowing:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user" - } - }, - "flatPath": "v1/courses/{courseId}/teachers/{userId}", - "id": "classroom.courses.teachers.get", - "path": "v1/courses/{courseId}/teachers/{userId}", - "description": "Returns a teacher of a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to view\nteachers of this course or for access errors.\n* `NOT_FOUND` if no teacher of this course has the requested ID or if the\ncourse does not exist." - }, - "create": { - "description": "Creates a teacher of a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to create\nteachers in this course or for access errors.\n* `NOT_FOUND` if the requested course ID does not exist.\n* `FAILED_PRECONDITION` if the requested user's account is disabled,\nfor the following request errors:\n * CourseMemberLimitReached\n * CourseNotModifiable\n * CourseTeacherLimitReached\n * UserGroupsMembershipLimitReached\n* `ALREADY_EXISTS` if the user is already a teacher or student in the\ncourse.", - "request": { - "$ref": "Teacher" - }, - "response": { - "$ref": "Teacher" - }, - "parameterOrder": [ - "courseId" - ], - "httpMethod": "POST", "parameters": { "courseId": { "location": "path", "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", "type": "string", "required": true + }, + "userId": { + "location": "path", + "description": "Identifier of the teacher to return. The identifier can be one of the\nfollowing:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.profile.emails", + "https://www.googleapis.com/auth/classroom.profile.photos", + "https://www.googleapis.com/auth/classroom.rosters", + "https://www.googleapis.com/auth/classroom.rosters.readonly" + ], + "flatPath": "v1/courses/{courseId}/teachers/{userId}", + "id": "classroom.courses.teachers.get", + "path": "v1/courses/{courseId}/teachers/{userId}", + "description": "Returns a teacher of a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to view\nteachers of this course or for access errors.\n* `NOT_FOUND` if no teacher of this course has the requested ID or if the\ncourse does not exist." + }, + "create": { + "httpMethod": "POST", + "parameterOrder": [ + "courseId" + ], + "response": { + "$ref": "Teacher" + }, + "parameters": { + "courseId": { + "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + "type": "string", + "required": true, + "location": "path" } }, "scopes": [ @@ -1421,65 +1362,248 @@ "https://www.googleapis.com/auth/classroom.rosters" ], "flatPath": "v1/courses/{courseId}/teachers", + "path": "v1/courses/{courseId}/teachers", "id": "classroom.courses.teachers.create", - "path": "v1/courses/{courseId}/teachers" + "description": "Creates a teacher of a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to create\nteachers in this course or for access errors.\n* `NOT_FOUND` if the requested course ID does not exist.\n* `FAILED_PRECONDITION` if the requested user's account is disabled,\nfor the following request errors:\n * CourseMemberLimitReached\n * CourseNotModifiable\n * CourseTeacherLimitReached\n * UserGroupsMembershipLimitReached\n* `ALREADY_EXISTS` if the user is already a teacher or student in the\ncourse.", + "request": { + "$ref": "Teacher" + } } } }, - "aliases": { + "announcements": { "methods": { "delete": { - "description": "Deletes an alias of a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to remove the\nalias or for access errors.\n* `NOT_FOUND` if the alias does not exist.\n* `FAILED_PRECONDITION` if the alias requested does not make sense for the\n requesting user or course (for example, if a user not in a domain\n attempts to delete a domain-scoped alias).", + "description": "Deletes an announcement.\n\nThis request must be made by the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\ncreate the corresponding announcement item.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting developer project did not create\nthe corresponding announcement, if the requesting user is not permitted\nto delete the requested course or for access errors.\n* `FAILED_PRECONDITION` if the requested announcement has already been\ndeleted.\n* `NOT_FOUND` if no course exists with the requested ID.", + "httpMethod": "DELETE", + "parameterOrder": [ + "courseId", + "id" + ], "response": { "$ref": "Empty" }, - "parameterOrder": [ - "courseId", - "alias" - ], - "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/classroom.courses" - ], "parameters": { - "alias": { - "description": "Alias to delete.\nThis may not be the Classroom-assigned identifier.", + "id": { + "location": "path", + "description": "Identifier of the announcement to delete.\nThis identifier is a Classroom-assigned identifier.", "type": "string", - "required": true, - "location": "path" + "required": true }, "courseId": { - "description": "Identifier of the course whose alias should be deleted.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", "type": "string", "required": true, - "location": "path" + "location": "path", + "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias." } }, - "flatPath": "v1/courses/{courseId}/aliases/{alias}", - "id": "classroom.courses.aliases.delete", - "path": "v1/courses/{courseId}/aliases/{alias}" + "scopes": [ + "https://www.googleapis.com/auth/classroom.announcements" + ], + "flatPath": "v1/courses/{courseId}/announcements/{id}", + "path": "v1/courses/{courseId}/announcements/{id}", + "id": "classroom.courses.announcements.delete" }, "list": { - "id": "classroom.courses.aliases.list", - "path": "v1/courses/{courseId}/aliases", - "description": "Returns a list of aliases for a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\ncourse or for access errors.\n* `NOT_FOUND` if the course does not exist.", + "flatPath": "v1/courses/{courseId}/announcements", + "id": "classroom.courses.announcements.list", + "path": "v1/courses/{courseId}/announcements", + "description": "Returns a list of announcements that the requester is permitted to view.\n\nCourse students may only view `PUBLISHED` announcements. Course teachers\nand domain administrators may view all announcements.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access\nthe requested course or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course does not exist.", "response": { - "$ref": "ListCourseAliasesResponse" + "$ref": "ListAnnouncementsResponse" }, "parameterOrder": [ "courseId" ], "httpMethod": "GET", "scopes": [ - "https://www.googleapis.com/auth/classroom.courses", - "https://www.googleapis.com/auth/classroom.courses.readonly" + "https://www.googleapis.com/auth/classroom.announcements", + "https://www.googleapis.com/auth/classroom.announcements.readonly" ], "parameters": { + "announcementStates": { + "enum": [ + "ANNOUNCEMENT_STATE_UNSPECIFIED", + "PUBLISHED", + "DRAFT", + "DELETED" + ], + "description": "Restriction on the `state` of announcements returned.\nIf this argument is left unspecified, the default value is `PUBLISHED`.", + "type": "string", + "repeated": true, + "location": "query" + }, "pageToken": { - "location": "query", "description": "nextPageToken\nvalue returned from a previous\nlist call,\nindicating that the subsequent page of results should be returned.\n\nThe list request\nmust be otherwise identical to the one that resulted in this token.", + "type": "string", + "location": "query" + }, + "orderBy": { + "location": "query", + "description": "Optional sort ordering for results. A comma-separated list of fields with\nan optional sort direction keyword. Supported field is `updateTime`.\nSupported direction keywords are `asc` and `desc`.\nIf not specified, `updateTime desc` is the default behavior.\nExamples: `updateTime asc`, `updateTime`", "type": "string" }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Maximum number of items to return. Zero or unspecified indicates that the\nserver may assign a maximum.\n\nThe server may return fewer than the specified number of results.", + "type": "integer" + }, + "courseId": { + "location": "path", + "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + "type": "string", + "required": true + } + } + }, + "create": { + "response": { + "$ref": "Announcement" + }, + "parameterOrder": [ + "courseId" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/classroom.announcements" + ], + "parameters": { + "courseId": { + "location": "path", + "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/courses/{courseId}/announcements", + "id": "classroom.courses.announcements.create", + "path": "v1/courses/{courseId}/announcements", + "request": { + "$ref": "Announcement" + }, + "description": "Creates an announcement.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course, create announcements in the requested course, share a\nDrive attachment, or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course does not exist.\n* `FAILED_PRECONDITION` for the following request error:\n * AttachmentNotVisible" + }, + "modifyAssignees": { + "parameters": { + "courseId": { + "location": "path", + "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + "type": "string", + "required": true + }, + "id": { + "location": "path", + "description": "Identifier of the announcement.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.announcements" + ], + "flatPath": "v1/courses/{courseId}/announcements/{id}:modifyAssignees", + "path": "v1/courses/{courseId}/announcements/{id}:modifyAssignees", + "id": "classroom.courses.announcements.modifyAssignees", + "description": "Modifies assignee mode and options of an announcement.\n\nOnly a teacher of the course that contains the announcement may\ncall this method.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or course work or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course or course work does not exist.", + "request": { + "$ref": "ModifyAnnouncementAssigneesRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "courseId", + "id" + ], + "response": { + "$ref": "Announcement" + } + }, + "get": { + "id": "classroom.courses.announcements.get", + "path": "v1/courses/{courseId}/announcements/{id}", + "description": "Returns an announcement.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or announcement, or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course or announcement does not exist.", + "response": { + "$ref": "Announcement" + }, + "parameterOrder": [ + "courseId", + "id" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/classroom.announcements", + "https://www.googleapis.com/auth/classroom.announcements.readonly" + ], + "parameters": { + "courseId": { + "location": "path", + "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + "type": "string", + "required": true + }, + "id": { + "description": "Identifier of the announcement.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/courses/{courseId}/announcements/{id}" + }, + "patch": { + "response": { + "$ref": "Announcement" + }, + "parameterOrder": [ + "courseId", + "id" + ], + "httpMethod": "PATCH", + "parameters": { + "courseId": { + "location": "path", + "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + "type": "string", + "required": true + }, + "id": { + "location": "path", + "description": "Identifier of the announcement.", + "type": "string", + "required": true + }, + "updateMask": { + "format": "google-fieldmask", + "description": "Mask that identifies which fields on the announcement to update.\nThis field is required to do an update. The update fails if invalid\nfields are specified. If a field supports empty values, it can be cleared\nby specifying it in the update mask and not in the Announcement object. If\na field that does not support empty values is included in the update mask\nand not set in the Announcement object, an `INVALID_ARGUMENT` error will be\nreturned.\n\nThe following fields may be specified by teachers:\n\n* `text`\n* `state`\n* `scheduled_time`", + "type": "string", + "location": "query" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.announcements" + ], + "flatPath": "v1/courses/{courseId}/announcements/{id}", + "id": "classroom.courses.announcements.patch", + "path": "v1/courses/{courseId}/announcements/{id}", + "description": "Updates one or more fields of an announcement.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting developer project did not create\nthe corresponding announcement or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `FAILED_PRECONDITION` if the requested announcement has already been\ndeleted.\n* `NOT_FOUND` if the requested course or announcement does not exist", + "request": { + "$ref": "Announcement" + } + } + } + }, + "aliases": { + "methods": { + "list": { + "description": "Returns a list of aliases for a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\ncourse or for access errors.\n* `NOT_FOUND` if the course does not exist.", + "httpMethod": "GET", + "parameterOrder": [ + "courseId" + ], + "response": { + "$ref": "ListCourseAliasesResponse" + }, + "parameters": { "pageSize": { "format": "int32", "description": "Maximum number of items to return. Zero or unspecified indicates that the\nserver may assign a maximum.\n\nThe server may return fewer than the specified number of results.", @@ -1491,36 +1615,219 @@ "required": true, "location": "path", "description": "The identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias." + }, + "pageToken": { + "type": "string", + "location": "query", + "description": "nextPageToken\nvalue returned from a previous\nlist call,\nindicating that the subsequent page of results should be returned.\n\nThe list request\nmust be otherwise identical to the one that resulted in this token." } }, - "flatPath": "v1/courses/{courseId}/aliases" - }, - "create": { + "scopes": [ + "https://www.googleapis.com/auth/classroom.courses", + "https://www.googleapis.com/auth/classroom.courses.readonly" + ], "flatPath": "v1/courses/{courseId}/aliases", "path": "v1/courses/{courseId}/aliases", - "id": "classroom.courses.aliases.create", + "id": "classroom.courses.aliases.list" + }, + "create": { "description": "Creates an alias for a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to create the\nalias or for access errors.\n* `NOT_FOUND` if the course does not exist.\n* `ALREADY_EXISTS` if the alias already exists.\n* `FAILED_PRECONDITION` if the alias requested does not make sense for the\n requesting user or course (for example, if a user not in a domain\n attempts to access a domain-scoped alias).", "request": { "$ref": "CourseAlias" }, - "httpMethod": "POST", - "parameterOrder": [ - "courseId" - ], "response": { "$ref": "CourseAlias" }, + "parameterOrder": [ + "courseId" + ], + "httpMethod": "POST", "parameters": { "courseId": { - "location": "path", "description": "Identifier of the course to alias.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.courses" + ], + "flatPath": "v1/courses/{courseId}/aliases", + "id": "classroom.courses.aliases.create", + "path": "v1/courses/{courseId}/aliases" + }, + "delete": { + "description": "Deletes an alias of a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to remove the\nalias or for access errors.\n* `NOT_FOUND` if the alias does not exist.\n* `FAILED_PRECONDITION` if the alias requested does not make sense for the\n requesting user or course (for example, if a user not in a domain\n attempts to delete a domain-scoped alias).", + "httpMethod": "DELETE", + "parameterOrder": [ + "courseId", + "alias" + ], + "response": { + "$ref": "Empty" + }, + "parameters": { + "alias": { + "location": "path", + "description": "Alias to delete.\nThis may not be the Classroom-assigned identifier.", + "type": "string", + "required": true + }, + "courseId": { + "location": "path", + "description": "Identifier of the course whose alias should be deleted.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + "type": "string", "required": true } }, "scopes": [ "https://www.googleapis.com/auth/classroom.courses" - ] + ], + "flatPath": "v1/courses/{courseId}/aliases/{alias}", + "path": "v1/courses/{courseId}/aliases/{alias}", + "id": "classroom.courses.aliases.delete" + } + } + }, + "students": { + "methods": { + "create": { + "request": { + "$ref": "Student" + }, + "description": "Adds a user as a student of a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to create\nstudents in this course or for access errors.\n* `NOT_FOUND` if the requested course ID does not exist.\n* `FAILED_PRECONDITION` if the requested user's account is disabled,\nfor the following request errors:\n * CourseMemberLimitReached\n * CourseNotModifiable\n * UserGroupsMembershipLimitReached\n* `ALREADY_EXISTS` if the user is already a student or teacher in the\ncourse.", + "httpMethod": "POST", + "parameterOrder": [ + "courseId" + ], + "response": { + "$ref": "Student" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.profile.emails", + "https://www.googleapis.com/auth/classroom.profile.photos", + "https://www.googleapis.com/auth/classroom.rosters" + ], + "parameters": { + "courseId": { + "description": "Identifier of the course to create the student in.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + "type": "string", + "required": true, + "location": "path" + }, + "enrollmentCode": { + "location": "query", + "description": "Enrollment code of the course to create the student in.\nThis code is required if userId\ncorresponds to the requesting user; it may be omitted if the requesting\nuser has administrative permissions to create students for any user.", + "type": "string" + } + }, + "flatPath": "v1/courses/{courseId}/students", + "path": "v1/courses/{courseId}/students", + "id": "classroom.courses.students.create" + }, + "delete": { + "scopes": [ + "https://www.googleapis.com/auth/classroom.rosters" + ], + "parameters": { + "userId": { + "description": "Identifier of the student to delete. The identifier can be one of the\nfollowing:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user", + "type": "string", + "required": true, + "location": "path" + }, + "courseId": { + "type": "string", + "required": true, + "location": "path", + "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias." + } + }, + "flatPath": "v1/courses/{courseId}/students/{userId}", + "id": "classroom.courses.students.delete", + "path": "v1/courses/{courseId}/students/{userId}", + "description": "Deletes a student of a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to delete\nstudents of this course or for access errors.\n* `NOT_FOUND` if no student of this course has the requested ID or if the\ncourse does not exist.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "courseId", + "userId" + ], + "httpMethod": "DELETE" + }, + "list": { + "description": "Returns a list of students of this course that the requester\nis permitted to view.\n\nThis method returns the following error codes:\n\n* `NOT_FOUND` if the course does not exist.\n* `PERMISSION_DENIED` for access errors.", + "response": { + "$ref": "ListStudentsResponse" + }, + "parameterOrder": [ + "courseId" + ], + "httpMethod": "GET", + "parameters": { + "pageToken": { + "location": "query", + "description": "nextPageToken\nvalue returned from a previous\nlist call, indicating that\nthe subsequent page of results should be returned.\n\nThe list request must be\notherwise identical to the one that resulted in this token.", + "type": "string" + }, + "pageSize": { + "format": "int32", + "description": "Maximum number of items to return. Zero means no maximum.\n\nThe server may return fewer than the specified number of results.", + "type": "integer", + "location": "query" + }, + "courseId": { + "type": "string", + "required": true, + "location": "path", + "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.profile.emails", + "https://www.googleapis.com/auth/classroom.profile.photos", + "https://www.googleapis.com/auth/classroom.rosters", + "https://www.googleapis.com/auth/classroom.rosters.readonly" + ], + "flatPath": "v1/courses/{courseId}/students", + "id": "classroom.courses.students.list", + "path": "v1/courses/{courseId}/students" + }, + "get": { + "flatPath": "v1/courses/{courseId}/students/{userId}", + "id": "classroom.courses.students.get", + "path": "v1/courses/{courseId}/students/{userId}", + "description": "Returns a student of a course.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to view\nstudents of this course or for access errors.\n* `NOT_FOUND` if no student of this course has the requested ID or if the\ncourse does not exist.", + "response": { + "$ref": "Student" + }, + "httpMethod": "GET", + "parameterOrder": [ + "courseId", + "userId" + ], + "scopes": [ + "https://www.googleapis.com/auth/classroom.profile.emails", + "https://www.googleapis.com/auth/classroom.profile.photos", + "https://www.googleapis.com/auth/classroom.rosters", + "https://www.googleapis.com/auth/classroom.rosters.readonly" + ], + "parameters": { + "userId": { + "description": "Identifier of the student to return. The identifier can be one of the\nfollowing:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user", + "type": "string", + "required": true, + "location": "path" + }, + "courseId": { + "type": "string", + "required": true, + "location": "path", + "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias." + } + } } } } @@ -1528,41 +1835,10 @@ } }, "parameters": { - "access_token": { - "description": "OAuth access token.", - "type": "string", - "location": "query" - }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, - "quotaUser": { - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" - }, - "pp": { - "description": "Pretty-print response.", - "default": "true", - "type": "boolean", - "location": "query" - }, - "bearer_token": { - "type": "string", - "location": "query", - "description": "OAuth bearer token." - }, - "oauth_token": { - "location": "query", - "description": "OAuth 2.0 token for the current user.", - "type": "string" - }, "upload_protocol": { + "location": "query", "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string", - "location": "query" + "type": "string" }, "prettyPrint": { "location": "query", @@ -1570,18 +1846,17 @@ "default": "true", "type": "boolean" }, - "fields": { + "uploadType": { "location": "query", - "description": "Selector specifying which fields to include in a partial response.", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", "type": "string" }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "fields": { + "description": "Selector specifying which fields to include in a partial response.", "type": "string", "location": "query" }, "$.xgafv": { - "description": "V1 error format.", "type": "string", "enumDescriptions": [ "v1 error format", @@ -1591,12 +1866,13 @@ "enum": [ "1", "2" - ] + ], + "description": "V1 error format." }, "callback": { + "location": "query", "description": "JSONP", - "type": "string", - "location": "query" + "type": "string" }, "alt": { "enumDescriptions": [ @@ -1613,6 +1889,37 @@ "proto" ], "type": "string" + }, + "access_token": { + "type": "string", + "location": "query", + "description": "OAuth access token." + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "quotaUser": { + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string" + }, + "pp": { + "default": "true", + "type": "boolean", + "location": "query", + "description": "Pretty-print response." + }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, + "oauth_token": { + "type": "string", + "location": "query", + "description": "OAuth 2.0 token for the current user." } }, "schemas": { @@ -1620,6 +1927,11 @@ "description": "Represents a whole calendar date, e.g. date of birth. The time of day and\ntime zone are either specified elsewhere or are not significant. The date\nis relative to the Proleptic Gregorian Calendar. The day may be 0 to\nrepresent a year and month where the day is not significant, e.g. credit card\nexpiration date. The year may be 0 to represent a month and day independent\nof year, e.g. anniversary date. Related types are google.type.TimeOfDay\nand `google.protobuf.Timestamp`.", "type": "object", "properties": { + "month": { + "format": "int32", + "description": "Month of year. Must be from 1 to 12.", + "type": "integer" + }, "day": { "format": "int32", "description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0\nif specifying a year/month where the day is not significant.", @@ -1629,50 +1941,12 @@ "format": "int32", "description": "Year of date. Must be from 1 to 9999, or 0 if specifying a date without\na year.", "type": "integer" - }, - "month": { - "format": "int32", - "description": "Month of year. Must be from 1 to 12.", - "type": "integer" } }, "id": "Date" }, - "MultipleChoiceSubmission": { - "id": "MultipleChoiceSubmission", - "description": "Student work for a multiple-choice question.", - "type": "object", - "properties": { - "answer": { - "description": "Student's select choice.", - "type": "string" - } - } - }, - "CourseMaterial": { - "description": "A material attached to a course as part of a material set.", - "type": "object", - "properties": { - "form": { - "$ref": "Form", - "description": "Google Forms attachment." - }, - "link": { - "$ref": "Link", - "description": "Link atatchment." - }, - "youTubeVideo": { - "$ref": "YouTubeVideo", - "description": "Youtube video attachment." - }, - "driveFile": { - "$ref": "DriveFile", - "description": "Google Drive file attachment." - } - }, - "id": "CourseMaterial" - }, "Name": { + "description": "Details of the user's name.", "type": "object", "properties": { "familyName": { @@ -1688,26 +1962,22 @@ "type": "string" } }, - "id": "Name", - "description": "Details of the user's name." + "id": "Name" }, "Assignment": { + "description": "Additional details for assignments.", "type": "object", "properties": { "studentWorkFolder": { "$ref": "DriveFolder", - "description": "Drive folder where attachments from student submissions are placed.\nThis is only populated for course teachers." + "description": "Drive folder where attachments from student submissions are placed.\nThis is only populated for course teachers and administrators." } }, - "id": "Assignment", - "description": "Additional details for assignments." + "id": "Assignment" }, "SharedDriveFile": { - "description": "Drive file that is used as material for course work.", - "type": "object", "properties": { "shareMode": { - "type": "string", "enumDescriptions": [ "No sharing mode specified. This should never be returned.", "Students can view the shared file.", @@ -1720,14 +1990,17 @@ "EDIT", "STUDENT_COPY" ], - "description": "Mechanism by which students access the Drive item." + "description": "Mechanism by which students access the Drive item.", + "type": "string" }, "driveFile": { "$ref": "DriveFile", "description": "Drive file details." } }, - "id": "SharedDriveFile" + "id": "SharedDriveFile", + "description": "Drive file that is used as material for course work.", + "type": "object" }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", @@ -1735,7 +2008,528 @@ "properties": {}, "id": "Empty" }, + "ModifyAnnouncementAssigneesRequest": { + "id": "ModifyAnnouncementAssigneesRequest", + "description": "Request to modify assignee mode and options of an announcement.", + "type": "object", + "properties": { + "assigneeMode": { + "enum": [ + "ASSIGNEE_MODE_UNSPECIFIED", + "ALL_STUDENTS", + "INDIVIDUAL_STUDENTS" + ], + "description": "Mode of the announcement describing whether it will be accessible by all\nstudents or specified individual students.", + "type": "string", + "enumDescriptions": [ + "No mode specified. This is never returned.", + "All students can see the item.\nThis is the default state.", + "A subset of the students can see the item." + ] + }, + "modifyIndividualStudentsOptions": { + "$ref": "ModifyIndividualStudentsOptions", + "description": "Set which students can view or cannot view the announcement.\nMust be specified only when `assigneeMode` is `INDIVIDUAL_STUDENTS`." + } + } + }, + "GlobalPermission": { + "properties": { + "permission": { + "description": "Permission value.", + "type": "string", + "enumDescriptions": [ + "No permission is specified. This is not returned and is not a\nvalid value.", + "User is permitted to create a course." + ], + "enum": [ + "PERMISSION_UNSPECIFIED", + "CREATE_COURSE" + ] + } + }, + "id": "GlobalPermission", + "description": "Global user permission description.", + "type": "object" + }, + "Teacher": { + "description": "Teacher of a course.", + "type": "object", + "properties": { + "courseId": { + "description": "Identifier of the course.\n\nRead-only.", + "type": "string" + }, + "profile": { + "$ref": "UserProfile", + "description": "Global user information for the teacher.\n\nRead-only." + }, + "userId": { + "type": "string", + "description": "Identifier of the user.\n\nWhen specified as a parameter of a request, this identifier can be one of\nthe following:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user" + } + }, + "id": "Teacher" + }, + "GradeHistory": { + "description": "The history of each grade on this submission.", + "type": "object", + "properties": { + "actorUserId": { + "type": "string", + "description": "The teacher who made the grade change." + }, + "gradeChangeType": { + "enumDescriptions": [ + "No grade change type specified. This should never be returned.", + "A change in the numerator of the draft grade.", + "A change in the numerator of the assigned grade.", + "A change in the denominator of the grade." + ], + "enum": [ + "UNKNOWN_GRADE_CHANGE_TYPE", + "DRAFT_GRADE_POINTS_EARNED_CHANGE", + "ASSIGNED_GRADE_POINTS_EARNED_CHANGE", + "MAX_POINTS_CHANGE" + ], + "description": "The type of grade change at this time in the submission grade history.", + "type": "string" + }, + "gradeTimestamp": { + "format": "google-datetime", + "description": "When the grade of the submission was changed.", + "type": "string" + }, + "maxPoints": { + "format": "double", + "description": "The denominator of the grade at this time in the submission grade\nhistory.", + "type": "number" + }, + "pointsEarned": { + "format": "double", + "description": "The numerator of the grade at this time in the submission grade history.", + "type": "number" + } + }, + "id": "GradeHistory" + }, + "AssignmentSubmission": { + "description": "Student work for an assignment.", + "type": "object", + "properties": { + "attachments": { + "items": { + "$ref": "Attachment" + }, + "type": "array", + "description": "Attachments added by the student.\nDrive files that correspond to materials with a share mode of\nSTUDENT_COPY may not exist yet if the student has not accessed the\nassignment in Classroom.\n\nSome attachment metadata is only populated if the requesting user has\npermission to access it. Identifier and alternate_link fields are always\navailable, but others (e.g. title) may not be." + } + }, + "id": "AssignmentSubmission" + }, + "Material": { + "description": "Material attached to course work.\n\nWhen creating attachments, setting the `form` field is not supported.", + "type": "object", + "properties": { + "link": { + "$ref": "Link", + "description": "Link material. On creation, will be upgraded to a more appropriate type\nif possible, and this will be reflected in the response." + }, + "youtubeVideo": { + "$ref": "YouTubeVideo", + "description": "YouTube video material." + }, + "driveFile": { + "description": "Google Drive file material.", + "$ref": "SharedDriveFile" + }, + "form": { + "$ref": "Form", + "description": "Google Forms material." + } + }, + "id": "Material" + }, + "Feed": { + "properties": { + "courseRosterChangesInfo": { + "description": "Information about a `Feed` with a `feed_type` of `COURSE_ROSTER_CHANGES`.\nThis field must be specified if `feed_type` is `COURSE_ROSTER_CHANGES`.", + "$ref": "CourseRosterChangesInfo" + }, + "feedType": { + "type": "string", + "enumDescriptions": [ + "Should never be returned or provided.", + "All roster changes for a particular domain.\n\nNotifications will be generated whenever a user joins or leaves a course.\n\nNo notifications will be generated when an invitation is created or\ndeleted, but notifications will be generated when a user joins a course\nby accepting an invitation.", + "All roster changes for a particular course.\n\nNotifications will be generated whenever a user joins or leaves a course.\n\nNo notifications will be generated when an invitation is created or\ndeleted, but notifications will be generated when a user joins a course\nby accepting an invitation." + ], + "enum": [ + "FEED_TYPE_UNSPECIFIED", + "DOMAIN_ROSTER_CHANGES", + "COURSE_ROSTER_CHANGES" + ], + "description": "The type of feed." + } + }, + "id": "Feed", + "description": "A class of notifications that an application can register to receive.\nFor example: \"all roster changes for a domain\".", + "type": "object" + }, + "Student": { + "description": "Student in a course.", + "type": "object", + "properties": { + "studentWorkFolder": { + "$ref": "DriveFolder", + "description": "Information about a Drive Folder for this student's work in this course.\nOnly visible to the student and domain administrators.\n\nRead-only." + }, + "profile": { + "description": "Global user information for the student.\n\nRead-only.", + "$ref": "UserProfile" + }, + "userId": { + "description": "Identifier of the user.\n\nWhen specified as a parameter of a request, this identifier can be one of\nthe following:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user", + "type": "string" + }, + "courseId": { + "description": "Identifier of the course.\n\nRead-only.", + "type": "string" + } + }, + "id": "Student" + }, + "Invitation": { + "description": "An invitation to join a course.", + "type": "object", + "properties": { + "id": { + "description": "Identifier assigned by Classroom.\n\nRead-only.", + "type": "string" + }, + "role": { + "enum": [ + "COURSE_ROLE_UNSPECIFIED", + "STUDENT", + "TEACHER", + "OWNER" + ], + "description": "Role to invite the user to have.\nMust not be `COURSE_ROLE_UNSPECIFIED`.", + "type": "string", + "enumDescriptions": [ + "No course role.", + "Student in the course.", + "Teacher of the course.", + "Owner of the course." + ] + }, + "userId": { + "description": "Identifier of the invited user.\n\nWhen specified as a parameter of a request, this identifier can be set to\none of the following:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user", + "type": "string" + }, + "courseId": { + "description": "Identifier of the course to invite the user to.", + "type": "string" + } + }, + "id": "Invitation" + }, + "TurnInStudentSubmissionRequest": { + "properties": {}, + "id": "TurnInStudentSubmissionRequest", + "description": "Request to turn in a student submission.", + "type": "object" + }, + "ListCourseWorkResponse": { + "description": "Response when listing course work.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.", + "type": "string" + }, + "courseWork": { + "description": "Course work items that match the request.", + "items": { + "$ref": "CourseWork" + }, + "type": "array" + } + }, + "id": "ListCourseWorkResponse" + }, + "Attachment": { + "description": "Attachment added to student assignment work.\n\nWhen creating attachments, setting the `form` field is not supported.", + "type": "object", + "properties": { + "youTubeVideo": { + "$ref": "YouTubeVideo", + "description": "Youtube video attachment." + }, + "driveFile": { + "description": "Google Drive file attachment.", + "$ref": "DriveFile" + }, + "form": { + "$ref": "Form", + "description": "Google Forms attachment." + }, + "link": { + "$ref": "Link", + "description": "Link attachment." + } + }, + "id": "Attachment" + }, + "ListAnnouncementsResponse": { + "description": "Response when listing course work.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.", + "type": "string" + }, + "announcements": { + "description": "Announcement items that match the request.", + "items": { + "$ref": "Announcement" + }, + "type": "array" + } + }, + "id": "ListAnnouncementsResponse" + }, + "TimeOfDay": { + "description": "Represents a time of day. The date and time zone are either not significant\nor are specified elsewhere. An API may choose to allow leap seconds. Related\ntypes are google.type.Date and `google.protobuf.Timestamp`.", + "type": "object", + "properties": { + "hours": { + "format": "int32", + "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose\nto allow the value \"24:00:00\" for scenarios like business closing time.", + "type": "integer" + }, + "nanos": { + "format": "int32", + "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "type": "integer" + }, + "seconds": { + "type": "integer", + "format": "int32", + "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may\nallow the value 60 if it allows leap-seconds." + }, + "minutes": { + "format": "int32", + "description": "Minutes of hour of day. Must be from 0 to 59.", + "type": "integer" + } + }, + "id": "TimeOfDay" + }, + "ListCoursesResponse": { + "properties": { + "nextPageToken": { + "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.", + "type": "string" + }, + "courses": { + "description": "Courses that match the list request.", + "items": { + "$ref": "Course" + }, + "type": "array" + } + }, + "id": "ListCoursesResponse", + "description": "Response when listing courses.", + "type": "object" + }, + "Form": { + "id": "Form", + "description": "Google Forms item.", + "type": "object", + "properties": { + "formUrl": { + "description": "URL of the form.", + "type": "string" + }, + "title": { + "type": "string", + "description": "Title of the Form.\n\nRead-only." + }, + "thumbnailUrl": { + "description": "URL of a thumbnail image of the Form.\n\nRead-only.", + "type": "string" + }, + "responseUrl": { + "description": "URL of the form responses document.\nOnly set if respsonses have been recorded and only when the\nrequesting user is an editor of the form.\n\nRead-only.", + "type": "string" + } + } + }, + "ModifyCourseWorkAssigneesRequest": { + "id": "ModifyCourseWorkAssigneesRequest", + "description": "Request to modify assignee mode and options of a coursework.", + "type": "object", + "properties": { + "assigneeMode": { + "description": "Mode of the coursework describing whether it will be assigned to all\nstudents or specified individual students.", + "type": "string", + "enumDescriptions": [ + "No mode specified. This is never returned.", + "All students can see the item.\nThis is the default state.", + "A subset of the students can see the item." + ], + "enum": [ + "ASSIGNEE_MODE_UNSPECIFIED", + "ALL_STUDENTS", + "INDIVIDUAL_STUDENTS" + ] + }, + "modifyIndividualStudentsOptions": { + "$ref": "ModifyIndividualStudentsOptions", + "description": "Set which students are assigned or not assigned to the coursework.\nMust be specified only when `assigneeMode` is `INDIVIDUAL_STUDENTS`." + } + } + }, + "ListGuardiansResponse": { + "description": "Response when listing guardians.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.", + "type": "string" + }, + "guardians": { + "description": "Guardians on this page of results that met the criteria specified in\nthe request.", + "items": { + "$ref": "Guardian" + }, + "type": "array" + } + }, + "id": "ListGuardiansResponse" + }, + "CourseAlias": { + "description": "Alternative identifier for a course.\n\nAn alias uniquely identifies a course. It must be unique within one of the\nfollowing scopes:\n\n* domain: A domain-scoped alias is visible to all users within the alias\ncreator's domain and can be created only by a domain admin. A domain-scoped\nalias is often used when a course has an identifier external to Classroom.\n\n* project: A project-scoped alias is visible to any request from an\napplication using the Developer Console project ID that created the alias\nand can be created by any project. A project-scoped alias is often used when\nan application has alternative identifiers. A random value can also be used\nto avoid duplicate courses in the event of transmission failures, as retrying\na request will return `ALREADY_EXISTS` if a previous one has succeeded.", + "type": "object", + "properties": { + "alias": { + "description": "Alias string. The format of the string indicates the desired alias scoping.\n\n* `d:\u003cname\u003e` indicates a domain-scoped alias.\n Example: `d:math_101`\n* `p:\u003cname\u003e` indicates a project-scoped alias.\n Example: `p:abc123`\n\nThis field has a maximum length of 256 characters.", + "type": "string" + } + }, + "id": "CourseAlias" + }, + "ListCourseAliasesResponse": { + "description": "Response when listing course aliases.", + "type": "object", + "properties": { + "aliases": { + "items": { + "$ref": "CourseAlias" + }, + "type": "array", + "description": "The course aliases." + }, + "nextPageToken": { + "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.", + "type": "string" + } + }, + "id": "ListCourseAliasesResponse" + }, + "ListGuardianInvitationsResponse": { + "type": "object", + "properties": { + "nextPageToken": { + "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.", + "type": "string" + }, + "guardianInvitations": { + "items": { + "$ref": "GuardianInvitation" + }, + "type": "array", + "description": "Guardian invitations that matched the list request." + } + }, + "id": "ListGuardianInvitationsResponse", + "description": "Response when listing guardian invitations." + }, + "IndividualStudentsOptions": { + "description": "Assignee details about a coursework/announcement.\nThis field is set if and only if `assigneeMode` is `INDIVIDUAL_STUDENTS`.", + "type": "object", + "properties": { + "studentIds": { + "description": "Identifiers for the students that have access to the\ncoursework/announcement.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "IndividualStudentsOptions" + }, + "MultipleChoiceSubmission": { + "description": "Student work for a multiple-choice question.", + "type": "object", + "properties": { + "answer": { + "description": "Student's select choice.", + "type": "string" + } + }, + "id": "MultipleChoiceSubmission" + }, + "Registration": { + "description": "An instruction to Classroom to send notifications from the `feed` to the\nprovided `destination`.", + "type": "object", + "properties": { + "feed": { + "description": "Specification for the class of notifications that Classroom should deliver\nto the `destination`.", + "$ref": "Feed" + }, + "registrationId": { + "description": "A server-generated unique identifier for this `Registration`.\n\nRead-only.", + "type": "string" + }, + "expiryTime": { + "format": "google-datetime", + "description": "The time until which the `Registration` is effective.\n\nThis is a read-only field assigned by the server.", + "type": "string" + }, + "cloudPubsubTopic": { + "$ref": "CloudPubsubTopic", + "description": "The Cloud Pub/Sub topic that notifications are to be sent to." + } + }, + "id": "Registration" + }, + "CourseMaterial": { + "type": "object", + "properties": { + "form": { + "$ref": "Form", + "description": "Google Forms attachment." + }, + "link": { + "description": "Link atatchment.", + "$ref": "Link" + }, + "youTubeVideo": { + "$ref": "YouTubeVideo", + "description": "Youtube video attachment." + }, + "driveFile": { + "$ref": "DriveFile", + "description": "Google Drive file attachment." + } + }, + "id": "CourseMaterial", + "description": "A material attached to a course as part of a material set." + }, "MultipleChoiceQuestion": { + "id": "MultipleChoiceQuestion", "description": "Additional details for multiple-choice questions.", "type": "object", "properties": { @@ -1746,21 +2540,30 @@ }, "type": "array" } - }, - "id": "MultipleChoiceQuestion" + } }, "Course": { - "id": "Course", - "description": "A Course in Classroom.", - "type": "object", "properties": { + "creationTime": { + "type": "string", + "format": "google-datetime", + "description": "Creation time of the course.\nSpecifying this field in a course update mask results in an error.\n\nRead-only." + }, + "name": { + "description": "Name of the course.\nFor example, \"10th Grade Biology\".\nThe name is required. It must be between 1 and 750 characters and a valid\nUTF-8 string.", + "type": "string" + }, + "teacherFolder": { + "$ref": "DriveFolder", + "description": "Information about a Drive Folder that is shared with all teachers of the\ncourse.\n\nThis field will only be set for teachers of the course and domain administrators.\n\nRead-only." + }, "section": { "description": "Section of the course.\nFor example, \"Period 2\".\nIf set, this field must be a valid UTF-8 string and no longer than 2800\ncharacters.", "type": "string" }, "id": { - "type": "string", - "description": "Identifier for this course assigned by Classroom.\n\nWhen\ncreating a course,\nyou may optionally set this identifier to an\nalias string in the\nrequest to create a corresponding alias. The `id` is still assigned by\nClassroom and cannot be updated after the course is created.\n\nSpecifying this field in a course update mask results in an error." + "description": "Identifier for this course assigned by Classroom.\n\nWhen\ncreating a course,\nyou may optionally set this identifier to an\nalias string in the\nrequest to create a corresponding alias. The `id` is still assigned by\nClassroom and cannot be updated after the course is created.\n\nSpecifying this field in a course update mask results in an error.", + "type": "string" }, "room": { "description": "Optional room location.\nFor example, \"301\".\nIf set, this field must be a valid UTF-8 string and no longer than 650\ncharacters.", @@ -1770,6 +2573,10 @@ "description": "The email address of a Google group containing all members of the course.\nThis group does not accept email and can only be used for permissions.\n\nRead-only.", "type": "string" }, + "enrollmentCode": { + "description": "Enrollment code to use when joining this course.\nSpecifying this field in a course update mask results in an error.\n\nRead-only.", + "type": "string" + }, "courseMaterialSets": { "description": "Sets of materials that appear on the \"about\" page of this course.\n\nRead-only.", "items": { @@ -1777,36 +2584,40 @@ }, "type": "array" }, - "enrollmentCode": { - "description": "Enrollment code to use when joining this course.\nSpecifying this field in a course update mask results in an error.\n\nRead-only.", - "type": "string" - }, "descriptionHeading": { "description": "Optional heading for the description.\nFor example, \"Welcome to 10th Grade Biology.\"\nIf set, this field must be a valid UTF-8 string and no longer than 3600\ncharacters.", "type": "string" }, "updateTime": { + "type": "string", "format": "google-datetime", - "description": "Time of the most recent update to this course.\nSpecifying this field in a course update mask results in an error.\n\nRead-only.", - "type": "string" + "description": "Time of the most recent update to this course.\nSpecifying this field in a course update mask results in an error.\n\nRead-only." }, "calendarId": { "description": "The Calendar ID for a calendar that all course members can see, to which\nClassroom adds events for course work and announcements in the course.\n\nRead-only.", "type": "string" }, "alternateLink": { - "type": "string", - "description": "Absolute link to this course in the Classroom web UI.\n\nRead-only." + "description": "Absolute link to this course in the Classroom web UI.\n\nRead-only.", + "type": "string" }, "guardiansEnabled": { "description": "Whether or not guardian notifications are enabled for this course.\n\nRead-only.", "type": "boolean" }, "ownerId": { - "description": "The identifier of the owner of a course.\n\nWhen specified as a parameter of a\ncreate course request, this\nfield is required.\nThe identifier can be one of the following:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user\n\nThis must be set in a create request. Specifying this field in a course\nupdate mask results in an `INVALID_ARGUMENT` error.", - "type": "string" + "type": "string", + "description": "The identifier of the owner of a course.\n\nWhen specified as a parameter of a\ncreate course request, this\nfield is required.\nThe identifier can be one of the following:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user\n\nThis must be set in a create request. Admins can also specify this field\nin a patch course request to\ntransfer ownership. In other contexts, it is read-only." }, "courseState": { + "enumDescriptions": [ + "No course state. No returned Course message will use this value.", + "The course is active.", + "The course has been archived. You cannot modify it except to change it\nto a different state.", + "The course has been created, but not yet activated. It is accessible by\nthe primary teacher and domain administrators, who may modify it or\nchange it to the `ACTIVE` or `DECLINED` states.\nA course may only be changed to `PROVISIONED` if it is in the `DECLINED`\nstate.", + "The course has been created, but declined. It is accessible by the\ncourse owner and domain administrators, though it will not be\ndisplayed in the web UI. You cannot modify the course except to change it\nto the `PROVISIONED` state.\nA course may only be changed to `DECLINED` if it is in the `PROVISIONED`\nstate.", + "The course has been suspended. You cannot modify the course, and only the\nuser identified by the `owner_id` can view the course.\nA course may be placed in this state if it potentially violates the\nTerms of Service." + ], "enum": [ "COURSE_STATE_UNSPECIFIED", "ACTIVE", @@ -1816,15 +2627,7 @@ "SUSPENDED" ], "description": "State of the course.\nIf unspecified, the default state is `PROVISIONED`.", - "type": "string", - "enumDescriptions": [ - "No course state. No returned Course message will use this value.", - "The course is active.", - "The course has been archived. You cannot modify it except to change it\nto a different state.", - "The course has been created, but not yet activated. It is accessible by\nthe primary teacher and domain administrators, who may modify it or\nchange it to the `ACTIVE` or `DECLINED` states.\nA course may only be changed to `PROVISIONED` if it is in the `DECLINED`\nstate.", - "The course has been created, but declined. It is accessible by the\ncourse owner and domain administrators, though it will not be\ndisplayed in the web UI. You cannot modify the course except to change it\nto the `PROVISIONED` state.\nA course may only be changed to `DECLINED` if it is in the `PROVISIONED`\nstate.", - "The course has been suspended. You cannot modify the course, and only the\nuser identified by the `owner_id` can view the course.\nA course may be placed in this state if it potentially violates the\nTerms of Service." - ] + "type": "string" }, "description": { "description": "Optional description.\nFor example, \"We'll be learning about the structure of living\ncreatures from a combination of textbooks, guest lectures, and lab work.\nExpect to be excited!\"\nIf set, this field must be a valid UTF-8 string and no longer than 30,000\ncharacters.", @@ -1833,63 +2636,34 @@ "teacherGroupEmail": { "description": "The email address of a Google group containing all teachers of the course.\nThis group does not accept email and can only be used for permissions.\n\nRead-only.", "type": "string" - }, - "creationTime": { - "format": "google-datetime", - "description": "Creation time of the course.\nSpecifying this field in a course update mask results in an error.\n\nRead-only.", - "type": "string" - }, - "name": { - "description": "Name of the course.\nFor example, \"10th Grade Biology\".\nThe name is required. It must be between 1 and 750 characters and a valid\nUTF-8 string.", - "type": "string" - }, - "teacherFolder": { - "$ref": "DriveFolder", - "description": "Information about a Drive Folder that is shared with all teachers of the\ncourse.\n\nThis field will only be set for teachers of the course and domain administrators.\n\nRead-only." } - } + }, + "id": "Course", + "description": "A Course in Classroom.", + "type": "object" }, "DriveFile": { + "description": "Representation of a Google Drive file.", "type": "object", "properties": { - "id": { - "description": "Drive API resource ID.", - "type": "string" - }, - "title": { - "description": "Title of the Drive item.\n\nRead-only.", - "type": "string" - }, "alternateLink": { "description": "URL that can be used to access the Drive item.\n\nRead-only.", "type": "string" }, "thumbnailUrl": { + "description": "URL of a thumbnail image of the Drive item.\n\nRead-only.", + "type": "string" + }, + "id": { "type": "string", - "description": "URL of a thumbnail image of the Drive item.\n\nRead-only." + "description": "Drive API resource ID." + }, + "title": { + "description": "Title of the Drive item.\n\nRead-only.", + "type": "string" } }, - "id": "DriveFile", - "description": "Representation of a Google Drive file." - }, - "GlobalPermission": { - "description": "Global user permission description.", - "type": "object", - "properties": { - "permission": { - "enum": [ - "PERMISSION_UNSPECIFIED", - "CREATE_COURSE" - ], - "description": "Permission value.", - "type": "string", - "enumDescriptions": [ - "No permission is specified. This is not returned and is not a\nvalid value.", - "User is permitted to create a course." - ] - } - }, - "id": "GlobalPermission" + "id": "DriveFile" }, "ReturnStudentSubmissionRequest": { "description": "Request to return a student submission.", @@ -1897,76 +2671,46 @@ "properties": {}, "id": "ReturnStudentSubmissionRequest" }, - "Teacher": { - "type": "object", - "properties": { - "profile": { - "$ref": "UserProfile", - "description": "Global user information for the teacher.\n\nRead-only." - }, - "userId": { - "description": "Identifier of the user.\n\nWhen specified as a parameter of a request, this identifier can be one of\nthe following:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user", - "type": "string" - }, - "courseId": { - "type": "string", - "description": "Identifier of the course.\n\nRead-only." - } - }, - "id": "Teacher", - "description": "Teacher of a course." - }, "ReclaimStudentSubmissionRequest": { + "properties": {}, "id": "ReclaimStudentSubmissionRequest", "description": "Request to reclaim a student submission.", - "type": "object", - "properties": {} - }, - "AssignmentSubmission": { - "description": "Student work for an assignment.", - "type": "object", - "properties": { - "attachments": { - "description": "Attachments added by the student.\nDrive files that correspond to materials with a share mode of\nSTUDENT_COPY may not exist yet if the student has not accessed the\nassignment in Classroom.\n\nSome attachment metadata is only populated if the requesting user has\npermission to access it. Identifier and alternate_link fields are always\navailable, but others (e.g. title) may not be.", - "items": { - "$ref": "Attachment" - }, - "type": "array" - } - }, - "id": "AssignmentSubmission" - }, - "Material": { - "properties": { - "form": { - "$ref": "Form", - "description": "Google Forms material." - }, - "link": { - "description": "Link material. On creation, will be upgraded to a more appropriate type\nif possible, and this will be reflected in the response.", - "$ref": "Link" - }, - "youtubeVideo": { - "$ref": "YouTubeVideo", - "description": "YouTube video material." - }, - "driveFile": { - "description": "Google Drive file material.", - "$ref": "SharedDriveFile" - } - }, - "id": "Material", - "description": "Material attached to course work.\n\nWhen creating attachments, setting the `form` field is not supported.", "type": "object" }, + "CourseRosterChangesInfo": { + "description": "Information about a `Feed` with a `feed_type` of `COURSE_ROSTER_CHANGES`.", + "type": "object", + "properties": { + "courseId": { + "description": "The `course_id` of the course to subscribe to roster changes for.", + "type": "string" + } + }, + "id": "CourseRosterChangesInfo" + }, "CourseWork": { - "id": "CourseWork", "description": "Course work created by a teacher for students of the course.", "type": "object", "properties": { + "courseId": { + "description": "Identifier of the course.\n\nRead-only.", + "type": "string" + }, + "id": { + "description": "Classroom-assigned identifier of this course work, unique per course.\n\nRead-only.", + "type": "string" + }, + "dueTime": { + "$ref": "TimeOfDay", + "description": "Optional time of day, in UTC, that submissions for this this course work\nare due.\nThis must be specified if `due_date` is specified." + }, + "title": { + "description": "Title of this course work.\nThe title must be a valid UTF-8 string containing between 1 and 3000\ncharacters.", + "type": "string" + }, "associatedWithDeveloper": { - "description": "Whether this course work item is associated with the Developer Console\nproject making the request.\n\nSee google.classroom.Work.CreateCourseWork for more\ndetails.\n\nRead-only.", - "type": "boolean" + "type": "boolean", + "description": "Whether this course work item is associated with the Developer Console\nproject making the request.\n\nSee google.classroom.Work.CreateCourseWork for more\ndetails.\n\nRead-only." }, "materials": { "description": "Additional materials.\n\nCourseWork must have no more than 20 material items.", @@ -1976,28 +2720,36 @@ "type": "array" }, "updateTime": { + "type": "string", "format": "google-datetime", - "description": "Timestamp of the most recent change to this course work.\n\nRead-only.", - "type": "string" + "description": "Timestamp of the most recent change to this course work.\n\nRead-only." + }, + "assigneeMode": { + "type": "string", + "enumDescriptions": [ + "No mode specified. This is never returned.", + "All students can see the item.\nThis is the default state.", + "A subset of the students can see the item." + ], + "enum": [ + "ASSIGNEE_MODE_UNSPECIFIED", + "ALL_STUDENTS", + "INDIVIDUAL_STUDENTS" + ], + "description": "Assignee mode of the coursework.\nIf unspecified, the default value is `ALL_STUDENTS`." }, "alternateLink": { "description": "Absolute link to this course work in the Classroom web UI.\nThis is only populated if `state` is `PUBLISHED`.\n\nRead-only.", "type": "string" }, "maxPoints": { + "type": "number", "format": "double", - "description": "Maximum grade for this course work.\nIf zero or unspecified, this assignment is considered ungraded.\nThis must be a non-negative integer value.", - "type": "number" - }, - "multipleChoiceQuestion": { - "description": "Multiple choice question details.\nFor read operations, this field is populated only when `work_type` is\n`MULTIPLE_CHOICE_QUESTION`.\nFor write operations, this field must be specified when creating course\nwork with a `work_type` of `MULTIPLE_CHOICE_QUESTION`, and it must not be\nset otherwise.", - "$ref": "MultipleChoiceQuestion" - }, - "assignment": { - "$ref": "Assignment", - "description": "Assignment details.\nThis is populated only when `work_type` is `ASSIGNMENT`.\n\nRead-only." + "description": "Maximum grade for this course work.\nIf zero or unspecified, this assignment is considered ungraded.\nThis must be a non-negative integer value." }, "workType": { + "description": "Type of this course work.\n\nThe type is set when the course work is created and cannot be changed.", + "type": "string", "enumDescriptions": [ "No work type specified. This is never returned.", "An assignment.", @@ -2009,8 +2761,18 @@ "ASSIGNMENT", "SHORT_ANSWER_QUESTION", "MULTIPLE_CHOICE_QUESTION" - ], - "description": "Type of this course work.\n\nThe type is set when the course work is created and cannot be changed.", + ] + }, + "assignment": { + "$ref": "Assignment", + "description": "Assignment details.\nThis is populated only when `work_type` is `ASSIGNMENT`.\n\nRead-only." + }, + "multipleChoiceQuestion": { + "description": "Multiple choice question details.\nFor read operations, this field is populated only when `work_type` is\n`MULTIPLE_CHOICE_QUESTION`.\nFor write operations, this field must be specified when creating course\nwork with a `work_type` of `MULTIPLE_CHOICE_QUESTION`, and it must not be\nset otherwise.", + "$ref": "MultipleChoiceQuestion" + }, + "description": { + "description": "Optional description of this course work.\nIf set, the description must be a valid UTF-8 string containing no more\nthan 30,000 characters.", "type": "string" }, "scheduledTime": { @@ -2018,10 +2780,6 @@ "description": "Optional timestamp when this course work is scheduled to be published.", "type": "string" }, - "description": { - "description": "Optional description of this course work.\nIf set, the description must be a valid UTF-8 string containing no more\nthan 30,000 characters.", - "type": "string" - }, "creationTime": { "format": "google-datetime", "description": "Timestamp when this course work was created.\n\nRead-only.", @@ -2031,21 +2789,17 @@ "$ref": "Date", "description": "Optional date, in UTC, that submissions for this this course work are due.\nThis must be specified if `due_time` is specified." }, - "submissionModificationMode": { - "description": "Setting to determine when students are allowed to modify submissions.\nIf unspecified, the default value is `MODIFIABLE_UNTIL_TURNED_IN`.", - "type": "string", - "enumDescriptions": [ - "No modification mode specified. This is never returned.", - "Submisisons can be modified before being turned in.", - "Submisisons can be modified at any time." - ], - "enum": [ - "SUBMISSION_MODIFICATION_MODE_UNSPECIFIED", - "MODIFIABLE_UNTIL_TURNED_IN", - "MODIFIABLE" - ] + "individualStudentsOptions": { + "description": "Identifiers of students with access to the coursework.\nThis field is set only if `assigneeMode` is `INDIVIDUAL_STUDENTS`.\nIf the `assigneeMode` is `INDIVIDUAL_STUDENTS`, then only students\nspecified in this field will be assigned the coursework.", + "$ref": "IndividualStudentsOptions" + }, + "creatorUserId": { + "description": "Identifier for the user that created the coursework.\n\nRead-only.", + "type": "string" }, "state": { + "description": "Status of this course work.\nIf unspecified, the default state is `DRAFT`.", + "type": "string", "enumDescriptions": [ "No state specified. This is never returned.", "Status for work that has been published.\nThis is the default state.", @@ -2057,35 +2811,30 @@ "PUBLISHED", "DRAFT", "DELETED" + ] + }, + "submissionModificationMode": { + "enumDescriptions": [ + "No modification mode specified. This is never returned.", + "Submisisons can be modified before being turned in.", + "Submisisons can be modified at any time." ], - "description": "Status of this course work.\nIf unspecified, the default state is `DRAFT`.", + "enum": [ + "SUBMISSION_MODIFICATION_MODE_UNSPECIFIED", + "MODIFIABLE_UNTIL_TURNED_IN", + "MODIFIABLE" + ], + "description": "Setting to determine when students are allowed to modify submissions.\nIf unspecified, the default value is `MODIFIABLE_UNTIL_TURNED_IN`.", "type": "string" - }, - "courseId": { - "type": "string", - "description": "Identifier of the course.\n\nRead-only." - }, - "id": { - "description": "Classroom-assigned identifier of this course work, unique per course.\n\nRead-only.", - "type": "string" - }, - "dueTime": { - "description": "Optional time of day, in UTC, that submissions for this this course work\nare due.\nThis must be specified if `due_date` is specified.", - "$ref": "TimeOfDay" - }, - "title": { - "type": "string", - "description": "Title of this course work.\nThe title must be a valid UTF-8 string containing between 1 and 3000\ncharacters." } - } + }, + "id": "CourseWork" }, "Guardian": { + "id": "Guardian", + "description": "Association between a student and a guardian of that student. The guardian\nmay receive information about the student's course work.", "type": "object", "properties": { - "studentId": { - "description": "Identifier for the student to whom the guardian relationship applies.", - "type": "string" - }, "invitedEmailAddress": { "description": "The email address to which the initial guardian invitation was sent.\nThis field is only visible to domain administrators.", "type": "string" @@ -2097,33 +2846,28 @@ "guardianProfile": { "$ref": "UserProfile", "description": "User profile for the guardian." - } - }, - "id": "Guardian", - "description": "Association between a student and a guardian of that student. The guardian\nmay receive information about the student's course work." - }, - "ListStudentsResponse": { - "description": "Response when listing students.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.", - "type": "string" }, - "students": { - "description": "Students who match the list request.", - "items": { - "$ref": "Student" - }, - "type": "array" + "studentId": { + "description": "Identifier for the student to whom the guardian relationship applies.", + "type": "string" } - }, - "id": "ListStudentsResponse" + } }, "UserProfile": { - "description": "Global information for a user.", "type": "object", "properties": { + "name": { + "description": "Name of the user.\n\nRead-only.", + "$ref": "Name" + }, + "id": { + "description": "Identifier of the user.\n\nRead-only.", + "type": "string" + }, + "verifiedTeacher": { + "description": "Represents whether a G Suite for Education user's domain administrator has\nexplicitly verified them as being a teacher. If the user is not a member of\na G Suite for Education domain, than this field will always be false.\n\nRead-only", + "type": "boolean" + }, "emailAddress": { "description": "Email address of the user.\n\nRead-only.", "type": "string" @@ -2138,80 +2882,134 @@ "$ref": "GlobalPermission" }, "type": "array" - }, - "name": { - "description": "Name of the user.\n\nRead-only.", - "$ref": "Name" - }, - "id": { - "description": "Identifier of the user.\n\nRead-only.", - "type": "string" - }, - "verifiedTeacher": { - "description": "Represents whether a G Suite for Education user's domain administrator has\nexplicitly verified them as being a teacher. If the user is not a member of\na G Suite for Education domain, than this field will always be false.\n\nRead-only", - "type": "boolean" } }, - "id": "UserProfile" + "id": "UserProfile", + "description": "Global information for a user." }, - "Student": { - "description": "Student in a course.", + "ListStudentsResponse": { + "properties": { + "nextPageToken": { + "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.", + "type": "string" + }, + "students": { + "items": { + "$ref": "Student" + }, + "type": "array", + "description": "Students who match the list request." + } + }, + "id": "ListStudentsResponse", + "description": "Response when listing students.", + "type": "object" + }, + "Announcement": { + "description": "Announcement created by a teacher for students of the course", "type": "object", "properties": { - "userId": { - "description": "Identifier of the user.\n\nWhen specified as a parameter of a request, this identifier can be one of\nthe following:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user", + "text": { + "description": "Description of this announcement.\nThe text must be a valid UTF-8 string containing no more\nthan 30,000 characters.", "type": "string" }, "courseId": { "description": "Identifier of the course.\n\nRead-only.", "type": "string" }, - "studentWorkFolder": { - "description": "Information about a Drive Folder for this student's work in this course.\nOnly visible to the student and domain administrators.\n\nRead-only.", - "$ref": "DriveFolder" - }, - "profile": { - "$ref": "UserProfile", - "description": "Global user information for the student.\n\nRead-only." - } - }, - "id": "Student" - }, - "Invitation": { - "properties": { - "courseId": { - "description": "Identifier of the course to invite the user to.", + "id": { + "description": "Classroom-assigned identifier of this announcement, unique per course.\n\nRead-only.", "type": "string" }, - "id": { - "type": "string", - "description": "Identifier assigned by Classroom.\n\nRead-only." + "materials": { + "description": "Additional materials.\n\nAnnouncements must have no more than 20 material items.", + "items": { + "$ref": "Material" + }, + "type": "array" }, - "role": { - "enum": [ - "COURSE_ROLE_UNSPECIFIED", - "STUDENT", - "TEACHER" + "updateTime": { + "format": "google-datetime", + "description": "Timestamp of the most recent change to this announcement.\n\nRead-only.", + "type": "string" + }, + "alternateLink": { + "description": "Absolute link to this announcement in the Classroom web UI.\nThis is only populated if `state` is `PUBLISHED`.\n\nRead-only.", + "type": "string" + }, + "assigneeMode": { + "enumDescriptions": [ + "No mode specified. This is never returned.", + "All students can see the item.\nThis is the default state.", + "A subset of the students can see the item." ], - "description": "Role to invite the user to have.\nMust not be `COURSE_ROLE_UNSPECIFIED`.", + "enum": [ + "ASSIGNEE_MODE_UNSPECIFIED", + "ALL_STUDENTS", + "INDIVIDUAL_STUDENTS" + ], + "description": "Assignee mode of the announcement.\nIf unspecified, the default value is `ALL_STUDENTS`.", + "type": "string" + }, + "scheduledTime": { + "format": "google-datetime", + "description": "Optional timestamp when this announcement is scheduled to be published.", + "type": "string" + }, + "creationTime": { + "format": "google-datetime", + "description": "Timestamp when this announcement was created.\n\nRead-only.", + "type": "string" + }, + "individualStudentsOptions": { + "$ref": "IndividualStudentsOptions", + "description": "Identifiers of students with access to the announcement.\nThis field is set only if `assigneeMode` is `INDIVIDUAL_STUDENTS`.\nIf the `assigneeMode` is `INDIVIDUAL_STUDENTS`, then only students specified in this\nfield will be able to see the announcement." + }, + "creatorUserId": { + "description": "Identifier for the user that created the announcement.\n\nRead-only.", + "type": "string" + }, + "state": { + "enum": [ + "ANNOUNCEMENT_STATE_UNSPECIFIED", + "PUBLISHED", + "DRAFT", + "DELETED" + ], + "description": "Status of this announcement.\nIf unspecified, the default state is `DRAFT`.", "type": "string", "enumDescriptions": [ - "No course role.", - "Student in the course.", - "Teacher of the course." + "No state specified. This is never returned.", + "Status for announcement that has been published.\nThis is the default state.", + "Status for an announcement that is not yet published.\nAnnouncement in this state is visible only to course teachers and domain\nadministrators.", + "Status for announcement that was published but is now deleted.\nAnnouncement in this state is visible only to course teachers and domain\nadministrators.\nAnnouncement in this state is deleted after some time." ] - }, - "userId": { - "type": "string", - "description": "Identifier of the invited user.\n\nWhen specified as a parameter of a request, this identifier can be set to\none of the following:\n\n* the numeric identifier for the user\n* the email address of the user\n* the string literal `\"me\"`, indicating the requesting user" } }, - "id": "Invitation", - "description": "An invitation to join a course.", - "type": "object" + "id": "Announcement" + }, + "ModifyIndividualStudentsOptions": { + "description": "Contains fields to add or remove students from a course work or announcement\nwhere the `assigneeMode` is set to `INDIVIDUAL_STUDENTS`.", + "type": "object", + "properties": { + "addStudentIds": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Ids of students to be added as having access to this\ncoursework/announcement." + }, + "removeStudentIds": { + "description": "Ids of students to be removed from having access to this\ncoursework/announcement.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "ModifyIndividualStudentsOptions" }, "DriveFolder": { - "id": "DriveFolder", "description": "Representation of a Google Drive folder.", "type": "object", "properties": { @@ -2227,7 +3025,23 @@ "description": "Drive API resource ID.", "type": "string" } - } + }, + "id": "DriveFolder" + }, + "SubmissionHistory": { + "description": "The history of the submission. This currently includes state and grade\nhistories.", + "type": "object", + "properties": { + "gradeHistory": { + "$ref": "GradeHistory", + "description": "The grade history information of the submission, if present." + }, + "stateHistory": { + "$ref": "StateHistory", + "description": "The state history information of the submission, if present." + } + }, + "id": "SubmissionHistory" }, "ShortAnswerSubmission": { "description": "Student work for a short answer question.", @@ -2244,6 +3058,66 @@ "description": "Student submission for course work.\n\nStudentSubmission items are generated when a CourseWork item is created.\n\nStudentSubmissions that have never been accessed (i.e. with `state` = NEW)\nmay not have a creation time or update time.", "type": "object", "properties": { + "assignedGrade": { + "format": "double", + "description": "Optional grade. If unset, no grade was set.\nThis value must be non-negative. Decimal (i.e. non-integer) values are\nallowed, but will be rounded to two decimal places.\n\nThis may be modified only by course teachers.", + "type": "number" + }, + "multipleChoiceSubmission": { + "description": "Submission content when course_work_type is MULTIPLE_CHOICE_QUESTION.", + "$ref": "MultipleChoiceSubmission" + }, + "assignmentSubmission": { + "$ref": "AssignmentSubmission", + "description": "Submission content when course_work_type is ASSIGNMENT.\n\nStudents can modify this content using\ngoogle.classroom.Work.ModifyAttachments." + }, + "shortAnswerSubmission": { + "$ref": "ShortAnswerSubmission", + "description": "Submission content when course_work_type is SHORT_ANSWER_QUESTION." + }, + "associatedWithDeveloper": { + "description": "Whether this student submission is associated with the Developer Console\nproject making the request.\n\nSee google.classroom.Work.CreateCourseWork for more\ndetails.\n\nRead-only.", + "type": "boolean" + }, + "updateTime": { + "format": "google-datetime", + "description": "Last update time of this submission.\nThis may be unset if the student has not accessed this item.\n\nRead-only.", + "type": "string" + }, + "alternateLink": { + "description": "Absolute link to the submission in the Classroom web UI.\n\nRead-only.", + "type": "string" + }, + "late": { + "description": "Whether this submission is late.\n\nRead-only.", + "type": "boolean" + }, + "draftGrade": { + "format": "double", + "description": "Optional pending grade. If unset, no grade was set.\nThis value must be non-negative. Decimal (i.e. non-integer) values are\nallowed, but will be rounded to two decimal places.\n\nThis is only visible to and modifiable by course teachers.", + "type": "number" + }, + "courseWorkType": { + "enum": [ + "COURSE_WORK_TYPE_UNSPECIFIED", + "ASSIGNMENT", + "SHORT_ANSWER_QUESTION", + "MULTIPLE_CHOICE_QUESTION" + ], + "description": "Type of course work this submission is for.\n\nRead-only.", + "type": "string", + "enumDescriptions": [ + "No work type specified. This is never returned.", + "An assignment.", + "A short answer question.", + "A multiple-choice question." + ] + }, + "creationTime": { + "format": "google-datetime", + "description": "Creation time of this submission.\nThis may be unset if the student has not accessed this item.\n\nRead-only.", + "type": "string" + }, "state": { "enum": [ "SUBMISSION_STATE_UNSPECIFIED", @@ -2280,77 +3154,17 @@ "description": "Classroom-assigned Identifier for the student submission.\nThis is unique among submissions for the relevant course work.\n\nRead-only.", "type": "string" }, - "assignedGrade": { - "format": "double", - "description": "Optional grade. If unset, no grade was set.\nThis must be a non-negative integer value.\n\nThis may be modified only by course teachers.", - "type": "number" - }, - "multipleChoiceSubmission": { - "$ref": "MultipleChoiceSubmission", - "description": "Submission content when course_work_type is MULTIPLE_CHOICE_QUESTION." - }, - "assignmentSubmission": { - "description": "Submission content when course_work_type is ASSIGNMENT .", - "$ref": "AssignmentSubmission" - }, - "shortAnswerSubmission": { - "$ref": "ShortAnswerSubmission", - "description": "Submission content when course_work_type is SHORT_ANSWER_QUESTION." - }, - "associatedWithDeveloper": { - "description": "Whether this student submission is associated with the Developer Console\nproject making the request.\n\nSee google.classroom.Work.CreateCourseWork for more\ndetails.\n\nRead-only.", - "type": "boolean" - }, - "updateTime": { - "format": "google-datetime", - "description": "Last update time of this submission.\nThis may be unset if the student has not accessed this item.\n\nRead-only.", - "type": "string" - }, - "alternateLink": { - "description": "Absolute link to the submission in the Classroom web UI.\n\nRead-only.", - "type": "string" - }, - "late": { - "description": "Whether this submission is late.\n\nRead-only.", - "type": "boolean" - }, - "draftGrade": { - "format": "double", - "description": "Optional pending grade. If unset, no grade was set.\nThis must be a non-negative integer value.\n\nThis is only visible to and modifiable by course teachers.", - "type": "number" - }, - "courseWorkType": { - "enumDescriptions": [ - "No work type specified. This is never returned.", - "An assignment.", - "A short answer question.", - "A multiple-choice question." - ], - "enum": [ - "COURSE_WORK_TYPE_UNSPECIFIED", - "ASSIGNMENT", - "SHORT_ANSWER_QUESTION", - "MULTIPLE_CHOICE_QUESTION" - ], - "description": "Type of course work this submission is for.\n\nRead-only.", - "type": "string" - }, - "creationTime": { - "format": "google-datetime", - "description": "Creation time of this submission.\nThis may be unset if the student has not accessed this item.\n\nRead-only.", - "type": "string" + "submissionHistory": { + "description": "The history of the submission (includes state and grade histories).\n\nRead-only.", + "items": { + "$ref": "SubmissionHistory" + }, + "type": "array" } }, "id": "StudentSubmission" }, - "TurnInStudentSubmissionRequest": { - "description": "Request to turn in a student submission.", - "type": "object", - "properties": {}, - "id": "TurnInStudentSubmissionRequest" - }, "ListStudentSubmissionsResponse": { - "id": "ListStudentSubmissionsResponse", "description": "Response when listing student submissions.", "type": "object", "properties": { @@ -2365,25 +3179,8 @@ }, "type": "array" } - } - }, - "ListCourseWorkResponse": { - "id": "ListCourseWorkResponse", - "description": "Response when listing course work.", - "type": "object", - "properties": { - "nextPageToken": { - "type": "string", - "description": "Token identifying the next page of results to return. If empty, no further\nresults are available." - }, - "courseWork": { - "description": "Course work items that match the request.", - "items": { - "$ref": "CourseWork" - }, - "type": "array" - } - } + }, + "id": "ListStudentSubmissionsResponse" }, "ModifyAttachmentsRequest": { "description": "Request to modify the attachments of a student submission.", @@ -2400,13 +3197,7 @@ "id": "ModifyAttachmentsRequest" }, "YouTubeVideo": { - "description": "YouTube video item.", - "type": "object", "properties": { - "thumbnailUrl": { - "type": "string", - "description": "URL of a thumbnail image of the YouTube video.\n\nRead-only." - }, "id": { "description": "YouTube API resource ID.", "type": "string" @@ -2418,11 +3209,18 @@ "alternateLink": { "description": "URL that can be used to view the YouTube video.\n\nRead-only.", "type": "string" + }, + "thumbnailUrl": { + "description": "URL of a thumbnail image of the YouTube video.\n\nRead-only.", + "type": "string" } }, - "id": "YouTubeVideo" + "id": "YouTubeVideo", + "description": "YouTube video item.", + "type": "object" }, "ListInvitationsResponse": { + "description": "Response when listing invitations.", "type": "object", "properties": { "nextPageToken": { @@ -2437,13 +3235,26 @@ "type": "array" } }, - "id": "ListInvitationsResponse", - "description": "Response when listing invitations." + "id": "ListInvitationsResponse" }, - "GuardianInvitation": { - "description": "An invitation to become the guardian of a specified user, sent to a specified\nemail address.", + "CloudPubsubTopic": { + "description": "A reference to a Cloud Pub/Sub topic.\n\nTo register for notifications, the owner of the topic must grant\n`classroom-notifications@system.gserviceaccount.com` the\n `projects.topics.publish` permission.", "type": "object", "properties": { + "topicName": { + "description": "The `name` field of a Cloud Pub/Sub\n[Topic](https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics#Topic).", + "type": "string" + } + }, + "id": "CloudPubsubTopic" + }, + "GuardianInvitation": { + "type": "object", + "properties": { + "invitedEmailAddress": { + "description": "Email address that the invitation was sent to.\nThis field is only visible to domain administrators.", + "type": "string" + }, "creationTime": { "format": "google-datetime", "description": "The time that this invitation was created.\n\nRead-only.", @@ -2454,52 +3265,62 @@ "type": "string" }, "state": { - "enumDescriptions": [ - "Should never be returned.", - "The invitation is active and awaiting a response.", - "The invitation is no longer active. It may have been accepted, declined,\nwithdrawn or it may have expired." - ], "enum": [ "GUARDIAN_INVITATION_STATE_UNSPECIFIED", "PENDING", "COMPLETE" ], "description": "The state that this invitation is in.", - "type": "string" + "type": "string", + "enumDescriptions": [ + "Should never be returned.", + "The invitation is active and awaiting a response.", + "The invitation is no longer active. It may have been accepted, declined,\nwithdrawn or it may have expired." + ] }, "studentId": { - "description": "ID of the student (in standard format)", - "type": "string" - }, - "invitedEmailAddress": { - "description": "Email address that the invitation was sent to.\nThis field is only visible to domain administrators.", - "type": "string" + "type": "string", + "description": "ID of the student (in standard format)" } }, - "id": "GuardianInvitation" + "id": "GuardianInvitation", + "description": "An invitation to become the guardian of a specified user, sent to a specified\nemail address." }, - "Attachment": { - "description": "Attachment added to student assignment work.\n\nWhen creating attachments, setting the `form` field is not supported.", + "StateHistory": { + "description": "The history of each state this submission has been in.", "type": "object", "properties": { - "link": { - "description": "Link attachment.", - "$ref": "Link" + "state": { + "description": "The workflow pipeline stage.", + "type": "string", + "enumDescriptions": [ + "No state specified. This should never be returned.", + "The Submission has been created.", + "The student has turned in an assigned document, which may or may not be\na template.", + "The teacher has returned the assigned document to the student.", + "The student turned in the assigned document, and then chose to\n\"unsubmit\" the assignment, giving the student control again as the\nowner.", + "The student edited their submission after turning it in. Currently,\nonly used by Questions, when the student edits their answer." + ], + "enum": [ + "STATE_UNSPECIFIED", + "CREATED", + "TURNED_IN", + "RETURNED", + "RECLAIMED_BY_STUDENT", + "STUDENT_EDITED_AFTER_TURN_IN" + ] }, - "youTubeVideo": { - "$ref": "YouTubeVideo", - "description": "Youtube video attachment." + "stateTimestamp": { + "format": "google-datetime", + "description": "When the submission entered this state.", + "type": "string" }, - "driveFile": { - "description": "Google Drive file attachment.", - "$ref": "DriveFile" - }, - "form": { - "$ref": "Form", - "description": "Google Forms attachment." + "actorUserId": { + "description": "The teacher or student who made the change", + "type": "string" } }, - "id": "Attachment" + "id": "StateHistory" }, "CourseMaterialSet": { "description": "A set of materials that appears on the \"About\" page of the course.\nThese materials might include a syllabus, schedule, or other background\ninformation relating to the course as a whole.", @@ -2519,74 +3340,6 @@ }, "id": "CourseMaterialSet" }, - "TimeOfDay": { - "description": "Represents a time of day. The date and time zone are either not significant\nor are specified elsewhere. An API may choose to allow leap seconds. Related\ntypes are google.type.Date and `google.protobuf.Timestamp`.", - "type": "object", - "properties": { - "hours": { - "format": "int32", - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose\nto allow the value \"24:00:00\" for scenarios like business closing time.", - "type": "integer" - }, - "nanos": { - "format": "int32", - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", - "type": "integer" - }, - "seconds": { - "format": "int32", - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may\nallow the value 60 if it allows leap-seconds.", - "type": "integer" - }, - "minutes": { - "format": "int32", - "description": "Minutes of hour of day. Must be from 0 to 59.", - "type": "integer" - } - }, - "id": "TimeOfDay" - }, - "ListCoursesResponse": { - "description": "Response when listing courses.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.", - "type": "string" - }, - "courses": { - "description": "Courses that match the list request.", - "items": { - "$ref": "Course" - }, - "type": "array" - } - }, - "id": "ListCoursesResponse" - }, - "Form": { - "description": "Google Forms item.", - "type": "object", - "properties": { - "title": { - "description": "Title of the Form.\n\nRead-only.", - "type": "string" - }, - "thumbnailUrl": { - "description": "URL of a thumbnail image of the Form.\n\nRead-only.", - "type": "string" - }, - "responseUrl": { - "type": "string", - "description": "URL of the form responses document.\nOnly set if respsonses have been recorded and only when the\nrequesting user is an editor of the form.\n\nRead-only." - }, - "formUrl": { - "description": "URL of the form.", - "type": "string" - } - }, - "id": "Form" - }, "ListTeachersResponse": { "description": "Response when listing teachers.", "type": "object", @@ -2609,85 +3362,20 @@ "description": "URL item.", "type": "object", "properties": { + "title": { + "description": "Title of the target of the URL.\n\nRead-only.", + "type": "string" + }, + "thumbnailUrl": { + "description": "URL of a thumbnail image of the target URL.\n\nRead-only.", + "type": "string" + }, "url": { "description": "URL to link to.\nThis must be a valid UTF-8 string containing between 1 and 2024 characters.", "type": "string" - }, - "title": { - "type": "string", - "description": "Title of the target of the URL.\n\nRead-only." - }, - "thumbnailUrl": { - "type": "string", - "description": "URL of a thumbnail image of the target URL.\n\nRead-only." } }, "id": "Link" - }, - "ListGuardiansResponse": { - "type": "object", - "properties": { - "nextPageToken": { - "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.", - "type": "string" - }, - "guardians": { - "description": "Guardians on this page of results that met the criteria specified in\nthe request.", - "items": { - "$ref": "Guardian" - }, - "type": "array" - } - }, - "id": "ListGuardiansResponse", - "description": "Response when listing guardians." - }, - "ListGuardianInvitationsResponse": { - "description": "Response when listing guardian invitations.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.", - "type": "string" - }, - "guardianInvitations": { - "description": "Guardian invitations that matched the list request.", - "items": { - "$ref": "GuardianInvitation" - }, - "type": "array" - } - }, - "id": "ListGuardianInvitationsResponse" - }, - "ListCourseAliasesResponse": { - "id": "ListCourseAliasesResponse", - "description": "Response when listing course aliases.", - "type": "object", - "properties": { - "aliases": { - "description": "The course aliases.", - "items": { - "$ref": "CourseAlias" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Token identifying the next page of results to return. If empty, no further\nresults are available.", - "type": "string" - } - } - }, - "CourseAlias": { - "description": "Alternative identifier for a course.\n\nAn alias uniquely identifies a course. It must be unique within one of the\nfollowing scopes:\n\n* domain: A domain-scoped alias is visible to all users within the alias\ncreator's domain and can be created only by a domain admin. A domain-scoped\nalias is often used when a course has an identifier external to Classroom.\n\n* project: A project-scoped alias is visible to any request from an\napplication using the Developer Console project ID that created the alias\nand can be created by any project. A project-scoped alias is often used when\nan application has alternative identifiers. A random value can also be used\nto avoid duplicate courses in the event of transmission failures, as retrying\na request will return `ALREADY_EXISTS` if a previous one has succeeded.", - "type": "object", - "properties": { - "alias": { - "description": "Alias string. The format of the string indicates the desired alias scoping.\n\n* `d:\u003cname\u003e` indicates a domain-scoped alias.\n Example: `d:math_101`\n* `p:\u003cname\u003e` indicates a project-scoped alias.\n Example: `p:abc123`\n\nThis field has a maximum length of 256 characters.", - "type": "string" - } - }, - "id": "CourseAlias" } }, "protocol": "rest", @@ -2715,27 +3403,33 @@ "https://www.googleapis.com/auth/classroom.courses.readonly": { "description": "View your Google Classroom classes" }, - "https://www.googleapis.com/auth/classroom.profile.photos": { - "description": "View the profile photos of people in your classes" + "https://www.googleapis.com/auth/classroom.announcements": { + "description": "View and manage announcements in Google Classroom" }, "https://www.googleapis.com/auth/classroom.rosters.readonly": { "description": "View your Google Classroom class rosters" }, + "https://www.googleapis.com/auth/classroom.profile.photos": { + "description": "View the profile photos of people in your classes" + }, + "https://www.googleapis.com/auth/classroom.announcements.readonly": { + "description": "View announcements in Google Classroom" + }, "https://www.googleapis.com/auth/classroom.guardianlinks.students": { "description": "View and manage guardians for students in your Google Classroom classes" }, "https://www.googleapis.com/auth/classroom.student-submissions.me.readonly": { "description": "View your course work and grades in Google Classroom" }, - "https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly": { - "description": "View your Google Classroom guardians" - }, "https://www.googleapis.com/auth/classroom.coursework.students": { "description": "Manage course work and grades for students in the Google Classroom classes you teach and view the course work and grades for classes you administer" }, "https://www.googleapis.com/auth/classroom.coursework.students.readonly": { "description": "View course work and grades for students in the Google Classroom classes you teach or administer" }, + "https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly": { + "description": "View your Google Classroom guardians" + }, "https://www.googleapis.com/auth/classroom.coursework.me.readonly": { "description": "View your course work and grades in Google Classroom" }, @@ -2751,9 +3445,5 @@ "servicePath": "", "description": "Manages classes, rosters, and invitations in Google Classroom.", "kind": "discovery#restDescription", - "rootUrl": "https://classroom.googleapis.com/", - "basePath": "", - "ownerDomain": "google.com", - "name": "classroom", - "batchPath": "batch" + "rootUrl": "https://classroom.googleapis.com/" } diff --git a/vendor/google.golang.org/api/classroom/v1/classroom-gen.go b/vendor/google.golang.org/api/classroom/v1/classroom-gen.go index 00cfb1a9f..b7a7959e9 100644 --- a/vendor/google.golang.org/api/classroom/v1/classroom-gen.go +++ b/vendor/google.golang.org/api/classroom/v1/classroom-gen.go @@ -47,6 +47,12 @@ const basePath = "https://classroom.googleapis.com/" // OAuth2 scopes used by this API. const ( + // View and manage announcements in Google Classroom + ClassroomAnnouncementsScope = "https://www.googleapis.com/auth/classroom.announcements" + + // View announcements in Google Classroom + ClassroomAnnouncementsReadonlyScope = "https://www.googleapis.com/auth/classroom.announcements.readonly" + // Manage your Google Classroom classes ClassroomCoursesScope = "https://www.googleapis.com/auth/classroom.courses" @@ -105,6 +111,7 @@ func New(client *http.Client) (*Service, error) { s := &Service{client: client, BasePath: basePath} s.Courses = NewCoursesService(s) s.Invitations = NewInvitationsService(s) + s.Registrations = NewRegistrationsService(s) s.UserProfiles = NewUserProfilesService(s) return s, nil } @@ -118,6 +125,8 @@ type Service struct { Invitations *InvitationsService + Registrations *RegistrationsService + UserProfiles *UserProfilesService } @@ -131,6 +140,7 @@ func (s *Service) userAgent() string { func NewCoursesService(s *Service) *CoursesService { rs := &CoursesService{s: s} rs.Aliases = NewCoursesAliasesService(s) + rs.Announcements = NewCoursesAnnouncementsService(s) rs.CourseWork = NewCoursesCourseWorkService(s) rs.Students = NewCoursesStudentsService(s) rs.Teachers = NewCoursesTeachersService(s) @@ -142,6 +152,8 @@ type CoursesService struct { Aliases *CoursesAliasesService + Announcements *CoursesAnnouncementsService + CourseWork *CoursesCourseWorkService Students *CoursesStudentsService @@ -158,6 +170,15 @@ type CoursesAliasesService struct { s *Service } +func NewCoursesAnnouncementsService(s *Service) *CoursesAnnouncementsService { + rs := &CoursesAnnouncementsService{s: s} + return rs +} + +type CoursesAnnouncementsService struct { + s *Service +} + func NewCoursesCourseWorkService(s *Service) *CoursesCourseWorkService { rs := &CoursesCourseWorkService{s: s} rs.StudentSubmissions = NewCoursesCourseWorkStudentSubmissionsService(s) @@ -206,6 +227,15 @@ type InvitationsService struct { s *Service } +func NewRegistrationsService(s *Service) *RegistrationsService { + rs := &RegistrationsService{s: s} + return rs +} + +type RegistrationsService struct { + s *Service +} + func NewUserProfilesService(s *Service) *UserProfilesService { rs := &UserProfilesService{s: s} rs.GuardianInvitations = NewUserProfilesGuardianInvitationsService(s) @@ -239,11 +269,131 @@ type UserProfilesGuardiansService struct { s *Service } +// Announcement: Announcement created by a teacher for students of the +// course +type Announcement struct { + // AlternateLink: Absolute link to this announcement in the Classroom + // web UI. + // This is only populated if `state` is `PUBLISHED`. + // + // Read-only. + AlternateLink string `json:"alternateLink,omitempty"` + + // AssigneeMode: Assignee mode of the announcement. + // If unspecified, the default value is `ALL_STUDENTS`. + // + // Possible values: + // "ASSIGNEE_MODE_UNSPECIFIED" - No mode specified. This is never + // returned. + // "ALL_STUDENTS" - All students can see the item. + // This is the default state. + // "INDIVIDUAL_STUDENTS" - A subset of the students can see the item. + AssigneeMode string `json:"assigneeMode,omitempty"` + + // CourseId: Identifier of the course. + // + // Read-only. + CourseId string `json:"courseId,omitempty"` + + // CreationTime: Timestamp when this announcement was + // created. + // + // Read-only. + CreationTime string `json:"creationTime,omitempty"` + + // CreatorUserId: Identifier for the user that created the + // announcement. + // + // Read-only. + CreatorUserId string `json:"creatorUserId,omitempty"` + + // Id: Classroom-assigned identifier of this announcement, unique per + // course. + // + // Read-only. + Id string `json:"id,omitempty"` + + // IndividualStudentsOptions: Identifiers of students with access to the + // announcement. + // This field is set only if `assigneeMode` is `INDIVIDUAL_STUDENTS`. + // If the `assigneeMode` is `INDIVIDUAL_STUDENTS`, then only students + // specified in this + // field will be able to see the announcement. + IndividualStudentsOptions *IndividualStudentsOptions `json:"individualStudentsOptions,omitempty"` + + // Materials: Additional materials. + // + // Announcements must have no more than 20 material items. + Materials []*Material `json:"materials,omitempty"` + + // ScheduledTime: Optional timestamp when this announcement is scheduled + // to be published. + ScheduledTime string `json:"scheduledTime,omitempty"` + + // State: Status of this announcement. + // If unspecified, the default state is `DRAFT`. + // + // Possible values: + // "ANNOUNCEMENT_STATE_UNSPECIFIED" - No state specified. This is + // never returned. + // "PUBLISHED" - Status for announcement that has been published. + // This is the default state. + // "DRAFT" - Status for an announcement that is not yet + // published. + // Announcement in this state is visible only to course teachers and + // domain + // administrators. + // "DELETED" - Status for announcement that was published but is now + // deleted. + // Announcement in this state is visible only to course teachers and + // domain + // administrators. + // Announcement in this state is deleted after some time. + State string `json:"state,omitempty"` + + // Text: Description of this announcement. + // The text must be a valid UTF-8 string containing no more + // than 30,000 characters. + Text string `json:"text,omitempty"` + + // UpdateTime: Timestamp of the most recent change to this + // announcement. + // + // Read-only. + UpdateTime string `json:"updateTime,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "AlternateLink") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AlternateLink") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Announcement) MarshalJSON() ([]byte, error) { + type noMethod Announcement + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Assignment: Additional details for assignments. type Assignment struct { // StudentWorkFolder: Drive folder where attachments from student // submissions are placed. - // This is only populated for course teachers. + // This is only populated for course teachers and administrators. StudentWorkFolder *DriveFolder `json:"studentWorkFolder,omitempty"` // ForceSendFields is a list of field names (e.g. "StudentWorkFolder") @@ -348,6 +498,42 @@ func (s *Attachment) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// CloudPubsubTopic: A reference to a Cloud Pub/Sub topic. +// +// To register for notifications, the owner of the topic must +// grant +// `classroom-notifications@system.gserviceaccount.com` the +// `projects.topics.publish` permission. +type CloudPubsubTopic struct { + // TopicName: The `name` field of a Cloud + // Pub/Sub + // [Topic](https://cloud.google.com/pubsub/docs/reference/rest/v1 + // /projects.topics#Topic). + TopicName string `json:"topicName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "TopicName") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "TopicName") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CloudPubsubTopic) MarshalJSON() ([]byte, error) { + type noMethod CloudPubsubTopic + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Course: A Course in Classroom. type Course struct { // AlternateLink: Absolute link to this course in the Classroom web @@ -485,9 +671,10 @@ type Course struct { // * the email address of the user // * the string literal "me", indicating the requesting user // - // This must be set in a create request. Specifying this field in a - // course - // update mask results in an `INVALID_ARGUMENT` error. + // This must be set in a create request. Admins can also specify this + // field + // in a patch course request to + // transfer ownership. In other contexts, it is read-only. OwnerId string `json:"ownerId,omitempty"` // Room: Optional room location. @@ -693,6 +880,36 @@ func (s *CourseMaterialSet) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// CourseRosterChangesInfo: Information about a `Feed` with a +// `feed_type` of `COURSE_ROSTER_CHANGES`. +type CourseRosterChangesInfo struct { + // CourseId: The `course_id` of the course to subscribe to roster + // changes for. + CourseId string `json:"courseId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CourseId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CourseId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CourseRosterChangesInfo) MarshalJSON() ([]byte, error) { + type noMethod CourseRosterChangesInfo + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // CourseWork: Course work created by a teacher for students of the // course. type CourseWork struct { @@ -703,6 +920,17 @@ type CourseWork struct { // Read-only. AlternateLink string `json:"alternateLink,omitempty"` + // AssigneeMode: Assignee mode of the coursework. + // If unspecified, the default value is `ALL_STUDENTS`. + // + // Possible values: + // "ASSIGNEE_MODE_UNSPECIFIED" - No mode specified. This is never + // returned. + // "ALL_STUDENTS" - All students can see the item. + // This is the default state. + // "INDIVIDUAL_STUDENTS" - A subset of the students can see the item. + AssigneeMode string `json:"assigneeMode,omitempty"` + // Assignment: Assignment details. // This is populated only when `work_type` is `ASSIGNMENT`. // @@ -731,6 +959,12 @@ type CourseWork struct { // Read-only. CreationTime string `json:"creationTime,omitempty"` + // CreatorUserId: Identifier for the user that created the + // coursework. + // + // Read-only. + CreatorUserId string `json:"creatorUserId,omitempty"` + // Description: Optional description of this course work. // If set, the description must be a valid UTF-8 string containing no // more @@ -754,6 +988,14 @@ type CourseWork struct { // Read-only. Id string `json:"id,omitempty"` + // IndividualStudentsOptions: Identifiers of students with access to the + // coursework. + // This field is set only if `assigneeMode` is `INDIVIDUAL_STUDENTS`. + // If the `assigneeMode` is `INDIVIDUAL_STUDENTS`, then only + // students + // specified in this field will be assigned the coursework. + IndividualStudentsOptions *IndividualStudentsOptions `json:"individualStudentsOptions,omitempty"` + // Materials: Additional materials. // // CourseWork must have no more than 20 material items. @@ -1028,6 +1270,69 @@ type Empty struct { googleapi.ServerResponse `json:"-"` } +// Feed: A class of notifications that an application can register to +// receive. +// For example: "all roster changes for a domain". +type Feed struct { + // CourseRosterChangesInfo: Information about a `Feed` with a + // `feed_type` of `COURSE_ROSTER_CHANGES`. + // This field must be specified if `feed_type` is + // `COURSE_ROSTER_CHANGES`. + CourseRosterChangesInfo *CourseRosterChangesInfo `json:"courseRosterChangesInfo,omitempty"` + + // FeedType: The type of feed. + // + // Possible values: + // "FEED_TYPE_UNSPECIFIED" - Should never be returned or provided. + // "DOMAIN_ROSTER_CHANGES" - All roster changes for a particular + // domain. + // + // Notifications will be generated whenever a user joins or leaves a + // course. + // + // No notifications will be generated when an invitation is created + // or + // deleted, but notifications will be generated when a user joins a + // course + // by accepting an invitation. + // "COURSE_ROSTER_CHANGES" - All roster changes for a particular + // course. + // + // Notifications will be generated whenever a user joins or leaves a + // course. + // + // No notifications will be generated when an invitation is created + // or + // deleted, but notifications will be generated when a user joins a + // course + // by accepting an invitation. + FeedType string `json:"feedType,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "CourseRosterChangesInfo") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CourseRosterChangesInfo") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Feed) MarshalJSON() ([]byte, error) { + type noMethod Feed + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Form: Google Forms item. type Form struct { // FormUrl: URL of the form. @@ -1108,6 +1413,75 @@ func (s *GlobalPermission) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GradeHistory: The history of each grade on this submission. +type GradeHistory struct { + // ActorUserId: The teacher who made the grade change. + ActorUserId string `json:"actorUserId,omitempty"` + + // GradeChangeType: The type of grade change at this time in the + // submission grade history. + // + // Possible values: + // "UNKNOWN_GRADE_CHANGE_TYPE" - No grade change type specified. This + // should never be returned. + // "DRAFT_GRADE_POINTS_EARNED_CHANGE" - A change in the numerator of + // the draft grade. + // "ASSIGNED_GRADE_POINTS_EARNED_CHANGE" - A change in the numerator + // of the assigned grade. + // "MAX_POINTS_CHANGE" - A change in the denominator of the grade. + GradeChangeType string `json:"gradeChangeType,omitempty"` + + // GradeTimestamp: When the grade of the submission was changed. + GradeTimestamp string `json:"gradeTimestamp,omitempty"` + + // MaxPoints: The denominator of the grade at this time in the + // submission grade + // history. + MaxPoints float64 `json:"maxPoints,omitempty"` + + // PointsEarned: The numerator of the grade at this time in the + // submission grade history. + PointsEarned float64 `json:"pointsEarned,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ActorUserId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ActorUserId") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GradeHistory) MarshalJSON() ([]byte, error) { + type noMethod GradeHistory + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *GradeHistory) UnmarshalJSON(data []byte) error { + type noMethod GradeHistory + var s1 struct { + MaxPoints gensupport.JSONFloat64 `json:"maxPoints"` + PointsEarned gensupport.JSONFloat64 `json:"pointsEarned"` + *noMethod + } + s1.noMethod = (*noMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.MaxPoints = float64(s1.MaxPoints) + s.PointsEarned = float64(s1.PointsEarned) + return nil +} + // Guardian: Association between a student and a guardian of that // student. The guardian // may receive information about the student's course work. @@ -1213,6 +1587,39 @@ func (s *GuardianInvitation) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// IndividualStudentsOptions: Assignee details about a +// coursework/announcement. +// This field is set if and only if `assigneeMode` is +// `INDIVIDUAL_STUDENTS`. +type IndividualStudentsOptions struct { + // StudentIds: Identifiers for the students that have access to + // the + // coursework/announcement. + StudentIds []string `json:"studentIds,omitempty"` + + // ForceSendFields is a list of field names (e.g. "StudentIds") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "StudentIds") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *IndividualStudentsOptions) MarshalJSON() ([]byte, error) { + type noMethod IndividualStudentsOptions + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Invitation: An invitation to join a course. type Invitation struct { // CourseId: Identifier of the course to invite the user to. @@ -1230,6 +1637,7 @@ type Invitation struct { // "COURSE_ROLE_UNSPECIFIED" - No course role. // "STUDENT" - Student in the course. // "TEACHER" - Teacher of the course. + // "OWNER" - Owner of the course. Role string `json:"role,omitempty"` // UserId: Identifier of the invited user. @@ -1310,6 +1718,43 @@ func (s *Link) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ListAnnouncementsResponse: Response when listing course work. +type ListAnnouncementsResponse struct { + // Announcements: Announcement items that match the request. + Announcements []*Announcement `json:"announcements,omitempty"` + + // NextPageToken: Token identifying the next page of results to return. + // If empty, no further + // results are available. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Announcements") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Announcements") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListAnnouncementsResponse) MarshalJSON() ([]byte, error) { + type noMethod ListAnnouncementsResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ListCourseAliasesResponse: Response when listing course aliases. type ListCourseAliasesResponse struct { // Aliases: The course aliases. @@ -1690,6 +2135,49 @@ func (s *Material) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ModifyAnnouncementAssigneesRequest: Request to modify assignee mode +// and options of an announcement. +type ModifyAnnouncementAssigneesRequest struct { + // AssigneeMode: Mode of the announcement describing whether it will be + // accessible by all + // students or specified individual students. + // + // Possible values: + // "ASSIGNEE_MODE_UNSPECIFIED" - No mode specified. This is never + // returned. + // "ALL_STUDENTS" - All students can see the item. + // This is the default state. + // "INDIVIDUAL_STUDENTS" - A subset of the students can see the item. + AssigneeMode string `json:"assigneeMode,omitempty"` + + // ModifyIndividualStudentsOptions: Set which students can view or + // cannot view the announcement. + // Must be specified only when `assigneeMode` is `INDIVIDUAL_STUDENTS`. + ModifyIndividualStudentsOptions *ModifyIndividualStudentsOptions `json:"modifyIndividualStudentsOptions,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AssigneeMode") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AssigneeMode") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ModifyAnnouncementAssigneesRequest) MarshalJSON() ([]byte, error) { + type noMethod ModifyAnnouncementAssigneesRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ModifyAttachmentsRequest: Request to modify the attachments of a // student submission. type ModifyAttachmentsRequest struct { @@ -1723,6 +2211,86 @@ func (s *ModifyAttachmentsRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ModifyCourseWorkAssigneesRequest: Request to modify assignee mode and +// options of a coursework. +type ModifyCourseWorkAssigneesRequest struct { + // AssigneeMode: Mode of the coursework describing whether it will be + // assigned to all + // students or specified individual students. + // + // Possible values: + // "ASSIGNEE_MODE_UNSPECIFIED" - No mode specified. This is never + // returned. + // "ALL_STUDENTS" - All students can see the item. + // This is the default state. + // "INDIVIDUAL_STUDENTS" - A subset of the students can see the item. + AssigneeMode string `json:"assigneeMode,omitempty"` + + // ModifyIndividualStudentsOptions: Set which students are assigned or + // not assigned to the coursework. + // Must be specified only when `assigneeMode` is `INDIVIDUAL_STUDENTS`. + ModifyIndividualStudentsOptions *ModifyIndividualStudentsOptions `json:"modifyIndividualStudentsOptions,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AssigneeMode") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AssigneeMode") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ModifyCourseWorkAssigneesRequest) MarshalJSON() ([]byte, error) { + type noMethod ModifyCourseWorkAssigneesRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ModifyIndividualStudentsOptions: Contains fields to add or remove +// students from a course work or announcement +// where the `assigneeMode` is set to `INDIVIDUAL_STUDENTS`. +type ModifyIndividualStudentsOptions struct { + // AddStudentIds: Ids of students to be added as having access to + // this + // coursework/announcement. + AddStudentIds []string `json:"addStudentIds,omitempty"` + + // RemoveStudentIds: Ids of students to be removed from having access to + // this + // coursework/announcement. + RemoveStudentIds []string `json:"removeStudentIds,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AddStudentIds") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AddStudentIds") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ModifyIndividualStudentsOptions) MarshalJSON() ([]byte, error) { + type noMethod ModifyIndividualStudentsOptions + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // MultipleChoiceQuestion: Additional details for multiple-choice // questions. type MultipleChoiceQuestion struct { @@ -1828,6 +2396,59 @@ func (s *Name) MarshalJSON() ([]byte, error) { type ReclaimStudentSubmissionRequest struct { } +// Registration: An instruction to Classroom to send notifications from +// the `feed` to the +// provided `destination`. +type Registration struct { + // CloudPubsubTopic: The Cloud Pub/Sub topic that notifications are to + // be sent to. + CloudPubsubTopic *CloudPubsubTopic `json:"cloudPubsubTopic,omitempty"` + + // ExpiryTime: The time until which the `Registration` is + // effective. + // + // This is a read-only field assigned by the server. + ExpiryTime string `json:"expiryTime,omitempty"` + + // Feed: Specification for the class of notifications that Classroom + // should deliver + // to the `destination`. + Feed *Feed `json:"feed,omitempty"` + + // RegistrationId: A server-generated unique identifier for this + // `Registration`. + // + // Read-only. + RegistrationId string `json:"registrationId,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "CloudPubsubTopic") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CloudPubsubTopic") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Registration) MarshalJSON() ([]byte, error) { + type noMethod Registration + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ReturnStudentSubmissionRequest: Request to return a student // submission. type ReturnStudentSubmissionRequest struct { @@ -1899,6 +2520,58 @@ func (s *ShortAnswerSubmission) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// StateHistory: The history of each state this submission has been in. +type StateHistory struct { + // ActorUserId: The teacher or student who made the change + ActorUserId string `json:"actorUserId,omitempty"` + + // State: The workflow pipeline stage. + // + // Possible values: + // "STATE_UNSPECIFIED" - No state specified. This should never be + // returned. + // "CREATED" - The Submission has been created. + // "TURNED_IN" - The student has turned in an assigned document, which + // may or may not be + // a template. + // "RETURNED" - The teacher has returned the assigned document to the + // student. + // "RECLAIMED_BY_STUDENT" - The student turned in the assigned + // document, and then chose to + // "unsubmit" the assignment, giving the student control again as + // the + // owner. + // "STUDENT_EDITED_AFTER_TURN_IN" - The student edited their + // submission after turning it in. Currently, + // only used by Questions, when the student edits their answer. + State string `json:"state,omitempty"` + + // StateTimestamp: When the submission entered this state. + StateTimestamp string `json:"stateTimestamp,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ActorUserId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ActorUserId") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *StateHistory) MarshalJSON() ([]byte, error) { + type noMethod StateHistory + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Student: Student in a course. type Student struct { // CourseId: Identifier of the course. @@ -1973,13 +2646,19 @@ type StudentSubmission struct { AlternateLink string `json:"alternateLink,omitempty"` // AssignedGrade: Optional grade. If unset, no grade was set. - // This must be a non-negative integer value. + // This value must be non-negative. Decimal (i.e. non-integer) values + // are + // allowed, but will be rounded to two decimal places. // // This may be modified only by course teachers. AssignedGrade float64 `json:"assignedGrade,omitempty"` // AssignmentSubmission: Submission content when course_work_type is - // ASSIGNMENT . + // ASSIGNMENT. + // + // Students can modify this content + // using + // google.classroom.Work.ModifyAttachments. AssignmentSubmission *AssignmentSubmission `json:"assignmentSubmission,omitempty"` // AssociatedWithDeveloper: Whether this student submission is @@ -2025,7 +2704,9 @@ type StudentSubmission struct { CreationTime string `json:"creationTime,omitempty"` // DraftGrade: Optional pending grade. If unset, no grade was set. - // This must be a non-negative integer value. + // This value must be non-negative. Decimal (i.e. non-integer) values + // are + // allowed, but will be rounded to two decimal places. // // This is only visible to and modifiable by course teachers. DraftGrade float64 `json:"draftGrade,omitempty"` @@ -2067,6 +2748,12 @@ type StudentSubmission struct { // assignment. State string `json:"state,omitempty"` + // SubmissionHistory: The history of the submission (includes state and + // grade histories). + // + // Read-only. + SubmissionHistory []*SubmissionHistory `json:"submissionHistory,omitempty"` + // UpdateTime: Last update time of this submission. // This may be unset if the student has not accessed this // item. @@ -2123,6 +2810,41 @@ func (s *StudentSubmission) UnmarshalJSON(data []byte) error { return nil } +// SubmissionHistory: The history of the submission. This currently +// includes state and grade +// histories. +type SubmissionHistory struct { + // GradeHistory: The grade history information of the submission, if + // present. + GradeHistory *GradeHistory `json:"gradeHistory,omitempty"` + + // StateHistory: The state history information of the submission, if + // present. + StateHistory *StateHistory `json:"stateHistory,omitempty"` + + // ForceSendFields is a list of field names (e.g. "GradeHistory") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "GradeHistory") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SubmissionHistory) MarshalJSON() ([]byte, error) { + type noMethod SubmissionHistory + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Teacher: Teacher of a course. type Teacher struct { // CourseId: Identifier of the course. @@ -2760,7 +3482,9 @@ type CoursesListCall struct { // List: Returns a list of courses that the requesting user is permitted // to view, -// restricted to those that match the request. +// restricted to those that match the request. Returned courses are +// ordered by +// creation time, with the most recently created coming first. // // This method returns the following error codes: // @@ -2928,7 +3652,7 @@ func (c *CoursesListCall) Do(opts ...googleapi.CallOption) (*ListCoursesResponse } return ret, nil // { - // "description": "Returns a list of courses that the requesting user is permitted to view,\nrestricted to those that match the request.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` for access errors.\n* `INVALID_ARGUMENT` if the query argument is malformed.\n* `NOT_FOUND` if any users specified in the query arguments do not exist.", + // "description": "Returns a list of courses that the requesting user is permitted to view,\nrestricted to those that match the request. Returned courses are ordered by\ncreation time, with the most recently created coming first.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` for access errors.\n* `INVALID_ARGUMENT` if the query argument is malformed.\n* `NOT_FOUND` if any users specified in the query arguments do not exist.", // "flatPath": "v1/courses", // "httpMethod": "GET", // "id": "classroom.courses.list", @@ -3046,6 +3770,13 @@ func (r *CoursesService) Patch(id string, course *Course) *CoursesPatchCall { // * `description` // * `room` // * `courseState` +// * `ownerId` +// +// Note: patches to ownerId are treated as being effective immediately, +// but in +// practice it may take some time for the ownership transfer of all +// affected +// resources to complete. // // When set in a query parameter, this field should be specified // as @@ -3157,7 +3888,7 @@ func (c *CoursesPatchCall) Do(opts ...googleapi.CallOption) (*Course, error) { // "type": "string" // }, // "updateMask": { - // "description": "Mask that identifies which fields on the course to update.\nThis field is required to do an update. The update will fail if invalid\nfields are specified. The following fields are valid:\n\n* `name`\n* `section`\n* `descriptionHeading`\n* `description`\n* `room`\n* `courseState`\n\nWhen set in a query parameter, this field should be specified as\n\n`updateMask=\u003cfield1\u003e,\u003cfield2\u003e,...`", + // "description": "Mask that identifies which fields on the course to update.\nThis field is required to do an update. The update will fail if invalid\nfields are specified. The following fields are valid:\n\n* `name`\n* `section`\n* `descriptionHeading`\n* `description`\n* `room`\n* `courseState`\n* `ownerId`\n\nNote: patches to ownerId are treated as being effective immediately, but in\npractice it may take some time for the ownership transfer of all affected\nresources to complete.\n\nWhen set in a query parameter, this field should be specified as\n\n`updateMask=\u003cfield1\u003e,\u003cfield2\u003e,...`", // "format": "google-fieldmask", // "location": "query", // "type": "string" @@ -3813,6 +4544,1055 @@ func (c *CoursesAliasesListCall) Pages(ctx context.Context, f func(*ListCourseAl } } +// method id "classroom.courses.announcements.create": + +type CoursesAnnouncementsCreateCall struct { + s *Service + courseId string + announcement *Announcement + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates an announcement. +// +// This method returns the following error codes: +// +// * `PERMISSION_DENIED` if the requesting user is not permitted to +// access the +// requested course, create announcements in the requested course, share +// a +// Drive attachment, or for access errors. +// * `INVALID_ARGUMENT` if the request is malformed. +// * `NOT_FOUND` if the requested course does not exist. +// * `FAILED_PRECONDITION` for the following request error: +// * AttachmentNotVisible +func (r *CoursesAnnouncementsService) Create(courseId string, announcement *Announcement) *CoursesAnnouncementsCreateCall { + c := &CoursesAnnouncementsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.courseId = courseId + c.announcement = announcement + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *CoursesAnnouncementsCreateCall) Fields(s ...googleapi.Field) *CoursesAnnouncementsCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *CoursesAnnouncementsCreateCall) Context(ctx context.Context) *CoursesAnnouncementsCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *CoursesAnnouncementsCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *CoursesAnnouncementsCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.announcement) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/courses/{courseId}/announcements") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "courseId": c.courseId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "classroom.courses.announcements.create" call. +// Exactly one of *Announcement or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Announcement.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *CoursesAnnouncementsCreateCall) Do(opts ...googleapi.CallOption) (*Announcement, 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, &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, err + } + ret := &Announcement{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates an announcement.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course, create announcements in the requested course, share a\nDrive attachment, or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course does not exist.\n* `FAILED_PRECONDITION` for the following request error:\n * AttachmentNotVisible", + // "flatPath": "v1/courses/{courseId}/announcements", + // "httpMethod": "POST", + // "id": "classroom.courses.announcements.create", + // "parameterOrder": [ + // "courseId" + // ], + // "parameters": { + // "courseId": { + // "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/courses/{courseId}/announcements", + // "request": { + // "$ref": "Announcement" + // }, + // "response": { + // "$ref": "Announcement" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/classroom.announcements" + // ] + // } + +} + +// method id "classroom.courses.announcements.delete": + +type CoursesAnnouncementsDeleteCall struct { + s *Service + courseId string + id string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes an announcement. +// +// This request must be made by the Developer Console project of +// the +// [OAuth client ID](https://support.google.com/cloud/answer/6158849) +// used to +// create the corresponding announcement item. +// +// This method returns the following error codes: +// +// * `PERMISSION_DENIED` if the requesting developer project did not +// create +// the corresponding announcement, if the requesting user is not +// permitted +// to delete the requested course or for access errors. +// * `FAILED_PRECONDITION` if the requested announcement has already +// been +// deleted. +// * `NOT_FOUND` if no course exists with the requested ID. +func (r *CoursesAnnouncementsService) Delete(courseId string, id string) *CoursesAnnouncementsDeleteCall { + c := &CoursesAnnouncementsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.courseId = courseId + c.id = id + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *CoursesAnnouncementsDeleteCall) Fields(s ...googleapi.Field) *CoursesAnnouncementsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *CoursesAnnouncementsDeleteCall) Context(ctx context.Context) *CoursesAnnouncementsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *CoursesAnnouncementsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *CoursesAnnouncementsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/courses/{courseId}/announcements/{id}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "courseId": c.courseId, + "id": c.id, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "classroom.courses.announcements.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *CoursesAnnouncementsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes an announcement.\n\nThis request must be made by the Developer Console project of the\n[OAuth client ID](https://support.google.com/cloud/answer/6158849) used to\ncreate the corresponding announcement item.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting developer project did not create\nthe corresponding announcement, if the requesting user is not permitted\nto delete the requested course or for access errors.\n* `FAILED_PRECONDITION` if the requested announcement has already been\ndeleted.\n* `NOT_FOUND` if no course exists with the requested ID.", + // "flatPath": "v1/courses/{courseId}/announcements/{id}", + // "httpMethod": "DELETE", + // "id": "classroom.courses.announcements.delete", + // "parameterOrder": [ + // "courseId", + // "id" + // ], + // "parameters": { + // "courseId": { + // "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "id": { + // "description": "Identifier of the announcement to delete.\nThis identifier is a Classroom-assigned identifier.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/courses/{courseId}/announcements/{id}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/classroom.announcements" + // ] + // } + +} + +// method id "classroom.courses.announcements.get": + +type CoursesAnnouncementsGetCall struct { + s *Service + courseId string + id string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Returns an announcement. +// +// This method returns the following error codes: +// +// * `PERMISSION_DENIED` if the requesting user is not permitted to +// access the +// requested course or announcement, or for access errors. +// * `INVALID_ARGUMENT` if the request is malformed. +// * `NOT_FOUND` if the requested course or announcement does not exist. +func (r *CoursesAnnouncementsService) Get(courseId string, id string) *CoursesAnnouncementsGetCall { + c := &CoursesAnnouncementsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.courseId = courseId + c.id = id + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *CoursesAnnouncementsGetCall) Fields(s ...googleapi.Field) *CoursesAnnouncementsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *CoursesAnnouncementsGetCall) IfNoneMatch(entityTag string) *CoursesAnnouncementsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *CoursesAnnouncementsGetCall) Context(ctx context.Context) *CoursesAnnouncementsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *CoursesAnnouncementsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *CoursesAnnouncementsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/courses/{courseId}/announcements/{id}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "courseId": c.courseId, + "id": c.id, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "classroom.courses.announcements.get" call. +// Exactly one of *Announcement or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Announcement.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *CoursesAnnouncementsGetCall) Do(opts ...googleapi.CallOption) (*Announcement, 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, &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, err + } + ret := &Announcement{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns an announcement.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or announcement, or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course or announcement does not exist.", + // "flatPath": "v1/courses/{courseId}/announcements/{id}", + // "httpMethod": "GET", + // "id": "classroom.courses.announcements.get", + // "parameterOrder": [ + // "courseId", + // "id" + // ], + // "parameters": { + // "courseId": { + // "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "id": { + // "description": "Identifier of the announcement.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/courses/{courseId}/announcements/{id}", + // "response": { + // "$ref": "Announcement" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/classroom.announcements", + // "https://www.googleapis.com/auth/classroom.announcements.readonly" + // ] + // } + +} + +// method id "classroom.courses.announcements.list": + +type CoursesAnnouncementsListCall struct { + s *Service + courseId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Returns a list of announcements that the requester is permitted +// to view. +// +// Course students may only view `PUBLISHED` announcements. Course +// teachers +// and domain administrators may view all announcements. +// +// This method returns the following error codes: +// +// * `PERMISSION_DENIED` if the requesting user is not permitted to +// access +// the requested course or for access errors. +// * `INVALID_ARGUMENT` if the request is malformed. +// * `NOT_FOUND` if the requested course does not exist. +func (r *CoursesAnnouncementsService) List(courseId string) *CoursesAnnouncementsListCall { + c := &CoursesAnnouncementsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.courseId = courseId + return c +} + +// AnnouncementStates sets the optional parameter "announcementStates": +// Restriction on the `state` of announcements returned. +// If this argument is left unspecified, the default value is +// `PUBLISHED`. +// +// Possible values: +// "ANNOUNCEMENT_STATE_UNSPECIFIED" +// "PUBLISHED" +// "DRAFT" +// "DELETED" +func (c *CoursesAnnouncementsListCall) AnnouncementStates(announcementStates ...string) *CoursesAnnouncementsListCall { + c.urlParams_.SetMulti("announcementStates", append([]string{}, announcementStates...)) + return c +} + +// OrderBy sets the optional parameter "orderBy": Optional sort ordering +// for results. A comma-separated list of fields with +// an optional sort direction keyword. Supported field is +// `updateTime`. +// Supported direction keywords are `asc` and `desc`. +// If not specified, `updateTime desc` is the default +// behavior. +// Examples: `updateTime asc`, `updateTime` +func (c *CoursesAnnouncementsListCall) OrderBy(orderBy string) *CoursesAnnouncementsListCall { + c.urlParams_.Set("orderBy", orderBy) + return c +} + +// PageSize sets the optional parameter "pageSize": Maximum number of +// items to return. Zero or unspecified indicates that the +// server may assign a maximum. +// +// The server may return fewer than the specified number of results. +func (c *CoursesAnnouncementsListCall) PageSize(pageSize int64) *CoursesAnnouncementsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": +// nextPageToken +// value returned from a previous +// list call, +// indicating that the subsequent page of results should be +// returned. +// +// The list request +// must be otherwise identical to the one that resulted in this token. +func (c *CoursesAnnouncementsListCall) PageToken(pageToken string) *CoursesAnnouncementsListCall { + 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 information. +func (c *CoursesAnnouncementsListCall) Fields(s ...googleapi.Field) *CoursesAnnouncementsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *CoursesAnnouncementsListCall) IfNoneMatch(entityTag string) *CoursesAnnouncementsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *CoursesAnnouncementsListCall) Context(ctx context.Context) *CoursesAnnouncementsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *CoursesAnnouncementsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *CoursesAnnouncementsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/courses/{courseId}/announcements") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "courseId": c.courseId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "classroom.courses.announcements.list" call. +// Exactly one of *ListAnnouncementsResponse or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *ListAnnouncementsResponse.ServerResponse.Header or (if a response +// was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *CoursesAnnouncementsListCall) Do(opts ...googleapi.CallOption) (*ListAnnouncementsResponse, 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, &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, err + } + ret := &ListAnnouncementsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns a list of announcements that the requester is permitted to view.\n\nCourse students may only view `PUBLISHED` announcements. Course teachers\nand domain administrators may view all announcements.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access\nthe requested course or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course does not exist.", + // "flatPath": "v1/courses/{courseId}/announcements", + // "httpMethod": "GET", + // "id": "classroom.courses.announcements.list", + // "parameterOrder": [ + // "courseId" + // ], + // "parameters": { + // "announcementStates": { + // "description": "Restriction on the `state` of announcements returned.\nIf this argument is left unspecified, the default value is `PUBLISHED`.", + // "enum": [ + // "ANNOUNCEMENT_STATE_UNSPECIFIED", + // "PUBLISHED", + // "DRAFT", + // "DELETED" + // ], + // "location": "query", + // "repeated": true, + // "type": "string" + // }, + // "courseId": { + // "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "orderBy": { + // "description": "Optional sort ordering for results. A comma-separated list of fields with\nan optional sort direction keyword. Supported field is `updateTime`.\nSupported direction keywords are `asc` and `desc`.\nIf not specified, `updateTime desc` is the default behavior.\nExamples: `updateTime asc`, `updateTime`", + // "location": "query", + // "type": "string" + // }, + // "pageSize": { + // "description": "Maximum number of items to return. Zero or unspecified indicates that the\nserver may assign a maximum.\n\nThe server may return fewer than the specified number of results.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "nextPageToken\nvalue returned from a previous\nlist call,\nindicating that the subsequent page of results should be returned.\n\nThe list request\nmust be otherwise identical to the one that resulted in this token.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/courses/{courseId}/announcements", + // "response": { + // "$ref": "ListAnnouncementsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/classroom.announcements", + // "https://www.googleapis.com/auth/classroom.announcements.readonly" + // ] + // } + +} + +// 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 *CoursesAnnouncementsListCall) Pages(ctx context.Context, f func(*ListAnnouncementsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "classroom.courses.announcements.modifyAssignees": + +type CoursesAnnouncementsModifyAssigneesCall struct { + s *Service + courseId string + id string + modifyannouncementassigneesrequest *ModifyAnnouncementAssigneesRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ModifyAssignees: Modifies assignee mode and options of an +// announcement. +// +// Only a teacher of the course that contains the announcement may +// call this method. +// +// This method returns the following error codes: +// +// * `PERMISSION_DENIED` if the requesting user is not permitted to +// access the +// requested course or course work or for access errors. +// * `INVALID_ARGUMENT` if the request is malformed. +// * `NOT_FOUND` if the requested course or course work does not exist. +func (r *CoursesAnnouncementsService) ModifyAssignees(courseId string, id string, modifyannouncementassigneesrequest *ModifyAnnouncementAssigneesRequest) *CoursesAnnouncementsModifyAssigneesCall { + c := &CoursesAnnouncementsModifyAssigneesCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.courseId = courseId + c.id = id + c.modifyannouncementassigneesrequest = modifyannouncementassigneesrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *CoursesAnnouncementsModifyAssigneesCall) Fields(s ...googleapi.Field) *CoursesAnnouncementsModifyAssigneesCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *CoursesAnnouncementsModifyAssigneesCall) Context(ctx context.Context) *CoursesAnnouncementsModifyAssigneesCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *CoursesAnnouncementsModifyAssigneesCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *CoursesAnnouncementsModifyAssigneesCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.modifyannouncementassigneesrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/courses/{courseId}/announcements/{id}:modifyAssignees") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "courseId": c.courseId, + "id": c.id, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "classroom.courses.announcements.modifyAssignees" call. +// Exactly one of *Announcement or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Announcement.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *CoursesAnnouncementsModifyAssigneesCall) Do(opts ...googleapi.CallOption) (*Announcement, 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, &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, err + } + ret := &Announcement{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Modifies assignee mode and options of an announcement.\n\nOnly a teacher of the course that contains the announcement may\ncall this method.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or course work or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course or course work does not exist.", + // "flatPath": "v1/courses/{courseId}/announcements/{id}:modifyAssignees", + // "httpMethod": "POST", + // "id": "classroom.courses.announcements.modifyAssignees", + // "parameterOrder": [ + // "courseId", + // "id" + // ], + // "parameters": { + // "courseId": { + // "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "id": { + // "description": "Identifier of the announcement.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/courses/{courseId}/announcements/{id}:modifyAssignees", + // "request": { + // "$ref": "ModifyAnnouncementAssigneesRequest" + // }, + // "response": { + // "$ref": "Announcement" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/classroom.announcements" + // ] + // } + +} + +// method id "classroom.courses.announcements.patch": + +type CoursesAnnouncementsPatchCall struct { + s *Service + courseId string + id string + announcement *Announcement + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates one or more fields of an announcement. +// +// This method returns the following error codes: +// +// * `PERMISSION_DENIED` if the requesting developer project did not +// create +// the corresponding announcement or for access errors. +// * `INVALID_ARGUMENT` if the request is malformed. +// * `FAILED_PRECONDITION` if the requested announcement has already +// been +// deleted. +// * `NOT_FOUND` if the requested course or announcement does not exist +func (r *CoursesAnnouncementsService) Patch(courseId string, id string, announcement *Announcement) *CoursesAnnouncementsPatchCall { + c := &CoursesAnnouncementsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.courseId = courseId + c.id = id + c.announcement = announcement + return c +} + +// UpdateMask sets the optional parameter "updateMask": Mask that +// identifies which fields on the announcement to update. +// This field is required to do an update. The update fails if +// invalid +// fields are specified. If a field supports empty values, it can be +// cleared +// by specifying it in the update mask and not in the Announcement +// object. If +// a field that does not support empty values is included in the update +// mask +// and not set in the Announcement object, an `INVALID_ARGUMENT` error +// will be +// returned. +// +// The following fields may be specified by teachers: +// +// * `text` +// * `state` +// * `scheduled_time` +func (c *CoursesAnnouncementsPatchCall) UpdateMask(updateMask string) *CoursesAnnouncementsPatchCall { + 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 information. +func (c *CoursesAnnouncementsPatchCall) Fields(s ...googleapi.Field) *CoursesAnnouncementsPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *CoursesAnnouncementsPatchCall) Context(ctx context.Context) *CoursesAnnouncementsPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *CoursesAnnouncementsPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *CoursesAnnouncementsPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.announcement) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/courses/{courseId}/announcements/{id}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "courseId": c.courseId, + "id": c.id, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "classroom.courses.announcements.patch" call. +// Exactly one of *Announcement or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Announcement.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *CoursesAnnouncementsPatchCall) Do(opts ...googleapi.CallOption) (*Announcement, 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, &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, err + } + ret := &Announcement{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates one or more fields of an announcement.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting developer project did not create\nthe corresponding announcement or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `FAILED_PRECONDITION` if the requested announcement has already been\ndeleted.\n* `NOT_FOUND` if the requested course or announcement does not exist", + // "flatPath": "v1/courses/{courseId}/announcements/{id}", + // "httpMethod": "PATCH", + // "id": "classroom.courses.announcements.patch", + // "parameterOrder": [ + // "courseId", + // "id" + // ], + // "parameters": { + // "courseId": { + // "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "id": { + // "description": "Identifier of the announcement.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Mask that identifies which fields on the announcement to update.\nThis field is required to do an update. The update fails if invalid\nfields are specified. If a field supports empty values, it can be cleared\nby specifying it in the update mask and not in the Announcement object. If\na field that does not support empty values is included in the update mask\nand not set in the Announcement object, an `INVALID_ARGUMENT` error will be\nreturned.\n\nThe following fields may be specified by teachers:\n\n* `text`\n* `state`\n* `scheduled_time`", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/courses/{courseId}/announcements/{id}", + // "request": { + // "$ref": "Announcement" + // }, + // "response": { + // "$ref": "Announcement" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/classroom.announcements" + // ] + // } + +} + // method id "classroom.courses.courseWork.create": type CoursesCourseWorkCreateCall struct { @@ -4538,6 +6318,162 @@ func (c *CoursesCourseWorkListCall) Pages(ctx context.Context, f func(*ListCours } } +// method id "classroom.courses.courseWork.modifyAssignees": + +type CoursesCourseWorkModifyAssigneesCall struct { + s *Service + courseId string + id string + modifycourseworkassigneesrequest *ModifyCourseWorkAssigneesRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ModifyAssignees: Modifies assignee mode and options of a +// coursework. +// +// Only a teacher of the course that contains the coursework may +// call this method. +// +// This method returns the following error codes: +// +// * `PERMISSION_DENIED` if the requesting user is not permitted to +// access the +// requested course or course work or for access errors. +// * `INVALID_ARGUMENT` if the request is malformed. +// * `NOT_FOUND` if the requested course or course work does not exist. +func (r *CoursesCourseWorkService) ModifyAssignees(courseId string, id string, modifycourseworkassigneesrequest *ModifyCourseWorkAssigneesRequest) *CoursesCourseWorkModifyAssigneesCall { + c := &CoursesCourseWorkModifyAssigneesCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.courseId = courseId + c.id = id + c.modifycourseworkassigneesrequest = modifycourseworkassigneesrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *CoursesCourseWorkModifyAssigneesCall) Fields(s ...googleapi.Field) *CoursesCourseWorkModifyAssigneesCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *CoursesCourseWorkModifyAssigneesCall) Context(ctx context.Context) *CoursesCourseWorkModifyAssigneesCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *CoursesCourseWorkModifyAssigneesCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *CoursesCourseWorkModifyAssigneesCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.modifycourseworkassigneesrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/courses/{courseId}/courseWork/{id}:modifyAssignees") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "courseId": c.courseId, + "id": c.id, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "classroom.courses.courseWork.modifyAssignees" call. +// Exactly one of *CourseWork or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *CourseWork.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *CoursesCourseWorkModifyAssigneesCall) Do(opts ...googleapi.CallOption) (*CourseWork, 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, &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, err + } + ret := &CourseWork{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Modifies assignee mode and options of a coursework.\n\nOnly a teacher of the course that contains the coursework may\ncall this method.\n\nThis method returns the following error codes:\n\n* `PERMISSION_DENIED` if the requesting user is not permitted to access the\nrequested course or course work or for access errors.\n* `INVALID_ARGUMENT` if the request is malformed.\n* `NOT_FOUND` if the requested course or course work does not exist.", + // "flatPath": "v1/courses/{courseId}/courseWork/{id}:modifyAssignees", + // "httpMethod": "POST", + // "id": "classroom.courses.courseWork.modifyAssignees", + // "parameterOrder": [ + // "courseId", + // "id" + // ], + // "parameters": { + // "courseId": { + // "description": "Identifier of the course.\nThis identifier can be either the Classroom-assigned identifier or an\nalias.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "id": { + // "description": "Identifier of the coursework.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/courses/{courseId}/courseWork/{id}:modifyAssignees", + // "request": { + // "$ref": "ModifyCourseWorkAssigneesRequest" + // }, + // "response": { + // "$ref": "CourseWork" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/classroom.coursework.students" + // ] + // } + +} + // method id "classroom.courses.courseWork.patch": type CoursesCourseWorkPatchCall struct { @@ -4599,6 +6535,7 @@ func (r *CoursesCourseWorkService) Patch(courseId string, id string, coursework // returned. // // The following fields may be specified by teachers: +// // * `title` // * `description` // * `state` @@ -4721,7 +6658,7 @@ func (c *CoursesCourseWorkPatchCall) Do(opts ...googleapi.CallOption) (*CourseWo // "type": "string" // }, // "updateMask": { - // "description": "Mask that identifies which fields on the course work to update.\nThis field is required to do an update. The update fails if invalid\nfields are specified. If a field supports empty values, it can be cleared\nby specifying it in the update mask and not in the CourseWork object. If a\nfield that does not support empty values is included in the update mask and\nnot set in the CourseWork object, an `INVALID_ARGUMENT` error will be\nreturned.\n\nThe following fields may be specified by teachers:\n* `title`\n* `description`\n* `state`\n* `due_date`\n* `due_time`\n* `max_points`\n* `scheduled_time`\n* `submission_modification_mode`", + // "description": "Mask that identifies which fields on the course work to update.\nThis field is required to do an update. The update fails if invalid\nfields are specified. If a field supports empty values, it can be cleared\nby specifying it in the update mask and not in the CourseWork object. If a\nfield that does not support empty values is included in the update mask and\nnot set in the CourseWork object, an `INVALID_ARGUMENT` error will be\nreturned.\n\nThe following fields may be specified by teachers:\n\n* `title`\n* `description`\n* `state`\n* `due_date`\n* `due_time`\n* `max_points`\n* `scheduled_time`\n* `submission_modification_mode`", // "format": "google-fieldmask", // "location": "query", // "type": "string" @@ -5128,7 +7065,7 @@ func (c *CoursesCourseWorkStudentSubmissionsListCall) Do(opts ...googleapi.CallO // "type": "string" // }, // "courseWorkId": { - // "description": "Identifer of the student work to request.\nThis may be set to the string literal `\"-\"` to request student work for\nall course work in the specified course.", + // "description": "Identifier of the student work to request.\nThis may be set to the string literal `\"-\"` to request student work for\nall course work in the specified course.", // "location": "path", // "required": true, // "type": "string" @@ -5442,6 +7379,7 @@ func (r *CoursesCourseWorkStudentSubmissionsService) Patch(courseId string, cour // fields are specified. // // The following fields may be specified by teachers: +// // * `draft_grade` // * `assigned_grade` func (c *CoursesCourseWorkStudentSubmissionsPatchCall) UpdateMask(updateMask string) *CoursesCourseWorkStudentSubmissionsPatchCall { @@ -5566,7 +7504,7 @@ func (c *CoursesCourseWorkStudentSubmissionsPatchCall) Do(opts ...googleapi.Call // "type": "string" // }, // "updateMask": { - // "description": "Mask that identifies which fields on the student submission to update.\nThis field is required to do an update. The update fails if invalid\nfields are specified.\n\nThe following fields may be specified by teachers:\n* `draft_grade`\n* `assigned_grade`", + // "description": "Mask that identifies which fields on the student submission to update.\nThis field is required to do an update. The update fails if invalid\nfields are specified.\n\nThe following fields may be specified by teachers:\n\n* `draft_grade`\n* `assigned_grade`", // "format": "google-fieldmask", // "location": "query", // "type": "string" @@ -8238,6 +10176,294 @@ func (c *InvitationsListCall) Pages(ctx context.Context, f func(*ListInvitations } } +// method id "classroom.registrations.create": + +type RegistrationsCreateCall struct { + s *Service + registration *Registration + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a `Registration`, causing Classroom to start sending +// notifications +// from the provided `feed` to the provided `destination`. +// +// Returns the created `Registration`. Currently, this will be the same +// as +// the argument, but with server-assigned fields such as `expiry_time` +// and +// `id` filled in. +// +// Note that any value specified for the `expiry_time` or `id` fields +// will be +// ignored. +// +// While Classroom may validate the `destination` and return errors on a +// best +// effort basis, it is the caller's responsibility to ensure that it +// exists +// and that Classroom has permission to publish to it. +// +// This method may return the following error codes: +// +// * `PERMISSION_DENIED` if: +// * the authenticated user does not have permission to receive +// notifications from the requested field; or +// * the credential provided does not include the appropriate scope +// for the +// requested feed. +// * another access error is encountered. +// * `INVALID_ARGUMENT` if: +// * no `destination` is specified, or the specified `destination` is +// not +// valid; or +// * no `feed` is specified, or the specified `feed` is not valid. +// * `NOT_FOUND` if: +// * the specified `feed` cannot be located, or the requesting user +// does not +// have permission to determine whether or not it exists; or +// * the specified `destination` cannot be located, or Classroom has +// not +// been granted permission to publish to it. +func (r *RegistrationsService) Create(registration *Registration) *RegistrationsCreateCall { + c := &RegistrationsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.registration = registration + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *RegistrationsCreateCall) Fields(s ...googleapi.Field) *RegistrationsCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *RegistrationsCreateCall) Context(ctx context.Context) *RegistrationsCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *RegistrationsCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RegistrationsCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.registration) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/registrations") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "classroom.registrations.create" call. +// Exactly one of *Registration or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Registration.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *RegistrationsCreateCall) Do(opts ...googleapi.CallOption) (*Registration, 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, &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, err + } + ret := &Registration{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a `Registration`, causing Classroom to start sending notifications\nfrom the provided `feed` to the provided `destination`.\n\nReturns the created `Registration`. Currently, this will be the same as\nthe argument, but with server-assigned fields such as `expiry_time` and\n`id` filled in.\n\nNote that any value specified for the `expiry_time` or `id` fields will be\nignored.\n\nWhile Classroom may validate the `destination` and return errors on a best\neffort basis, it is the caller's responsibility to ensure that it exists\nand that Classroom has permission to publish to it.\n\nThis method may return the following error codes:\n\n* `PERMISSION_DENIED` if:\n * the authenticated user does not have permission to receive\n notifications from the requested field; or\n * the credential provided does not include the appropriate scope for the\n requested feed.\n * another access error is encountered.\n* `INVALID_ARGUMENT` if:\n * no `destination` is specified, or the specified `destination` is not\n valid; or\n * no `feed` is specified, or the specified `feed` is not valid.\n* `NOT_FOUND` if:\n * the specified `feed` cannot be located, or the requesting user does not\n have permission to determine whether or not it exists; or\n * the specified `destination` cannot be located, or Classroom has not\n been granted permission to publish to it.", + // "flatPath": "v1/registrations", + // "httpMethod": "POST", + // "id": "classroom.registrations.create", + // "parameterOrder": [], + // "parameters": {}, + // "path": "v1/registrations", + // "request": { + // "$ref": "Registration" + // }, + // "response": { + // "$ref": "Registration" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/classroom.rosters", + // "https://www.googleapis.com/auth/classroom.rosters.readonly" + // ] + // } + +} + +// method id "classroom.registrations.delete": + +type RegistrationsDeleteCall struct { + s *Service + registrationId string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a `Registration`, causing Classroom to stop sending +// notifications +// for that `Registration`. +func (r *RegistrationsService) Delete(registrationId string) *RegistrationsDeleteCall { + c := &RegistrationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.registrationId = registrationId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *RegistrationsDeleteCall) Fields(s ...googleapi.Field) *RegistrationsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *RegistrationsDeleteCall) Context(ctx context.Context) *RegistrationsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *RegistrationsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RegistrationsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/registrations/{registrationId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "registrationId": c.registrationId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "classroom.registrations.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *RegistrationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes a `Registration`, causing Classroom to stop sending notifications\nfor that `Registration`.", + // "flatPath": "v1/registrations/{registrationId}", + // "httpMethod": "DELETE", + // "id": "classroom.registrations.delete", + // "parameterOrder": [ + // "registrationId" + // ], + // "parameters": { + // "registrationId": { + // "description": "The `registration_id` of the `Registration` to be deleted.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/registrations/{registrationId}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/classroom.rosters", + // "https://www.googleapis.com/auth/classroom.rosters.readonly" + // ] + // } + +} + // method id "classroom.userProfiles.get": type UserProfilesGetCall struct { diff --git a/vendor/google.golang.org/api/cloudbilling/v1/cloudbilling-api.json b/vendor/google.golang.org/api/cloudbilling/v1/cloudbilling-api.json index f9a625344..16f22bc75 100644 --- a/vendor/google.golang.org/api/cloudbilling/v1/cloudbilling-api.json +++ b/vendor/google.golang.org/api/cloudbilling/v1/cloudbilling-api.json @@ -167,9 +167,233 @@ ] } } + }, + "services": { + "resources": { + "skus": { + "methods": { + "list": { + "id": "cloudbilling.services.skus.list", + "response": { + "$ref": "ListSkusResponse" + }, + "parameterOrder": [ + "parent" + ], + "description": "Lists all publicly available SKUs for a given cloud service.", + "flatPath": "v1/services/{servicesId}/skus", + "httpMethod": "GET", + "parameters": { + "parent": { + "description": "The name of the service.\nExample: \"services/DA34-426B-A397\"", + "required": true, + "pattern": "^services/[^/]+$", + "location": "path", + "type": "string" + }, + "currencyCode": { + "description": "The ISO 4217 currency code for the pricing info in the response proto.\nWill use the conversion rate as of start_time.\nOptional. If not specified USD will be used.", + "location": "query", + "type": "string" + }, + "endTime": { + "description": "Optional exclusive end time of the time range for which the pricing\nversions will be returned. Timestamps in the future are not allowed.\nMaximum allowable time range is 1 month (31 days). Time range as a whole\nis optional. If not specified, the latest pricing will be returned (up to\n12 hours old at most).", + "location": "query", + "type": "string", + "format": "google-datetime" + }, + "pageSize": { + "description": "Requested page size. Defaults to 5000.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "startTime": { + "description": "Optional inclusive start time of the time range for which the pricing\nversions will be returned. Timestamps in the future are not allowed.\nMaximum allowable time range is 1 month (31 days). Time range as a whole\nis optional. If not specified, the latest pricing will be returned (up to\n12 hours old at most).", + "location": "query", + "type": "string", + "format": "google-datetime" + }, + "pageToken": { + "description": "A token identifying a page of results to return. This should be a\n`next_page_token` value returned from a previous `ListSkus`\ncall. If unspecified, the first page of results is returned.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/skus" + } + } + } + }, + "methods": { + "list": { + "id": "cloudbilling.services.list", + "response": { + "$ref": "ListServicesResponse" + }, + "parameterOrder": [], + "description": "Lists all public cloud services.", + "flatPath": "v1/services", + "httpMethod": "GET", + "parameters": { + "pageSize": { + "description": "Requested page size. Defaults to 5000.", + "location": "query", + "type": "integer", + "format": "int32" + }, + "pageToken": { + "description": "A token identifying a page of results to return. This should be a\n`next_page_token` value returned from a previous `ListServices`\ncall. If unspecified, the first page of results is returned.", + "location": "query", + "type": "string" + } + }, + "path": "v1/services" + } + } } }, "schemas": { + "PricingExpression": { + "description": "Expresses a mathematical pricing formula. For Example:-\n\n`usage_unit: GBy`\n`tiered_rates:`\n `[start_usage_amount: 20, unit_price: $10]`\n `[start_usage_amount: 100, unit_price: $5]`\n\nThe above expresses a pricing formula where the first 20GB is free, the\nnext 80GB is priced at $10 per GB followed by $5 per GB for additional\nusage.", + "type": "object", + "properties": { + "displayQuantity": { + "description": "The recommended quantity of units for displaying pricing info. When\ndisplaying pricing info it is recommended to display:\n(unit_price * display_quantity) per display_quantity usage_unit.\nThis field does not affect the pricing formula and is for display purposes\nonly.\nExample: If the unit_price is \"0.0001 USD\", the usage_unit is \"GB\" and\nthe display_quantity is \"1000\" then the recommended way of displaying the\npricing info is \"0.10 USD per 1000 GB\"", + "type": "number", + "format": "double" + }, + "baseUnitDescription": { + "description": "The base unit in human readable form.\nExample: \"byte\".", + "type": "string" + }, + "baseUnitConversionFactor": { + "description": "Conversion factor for converting from price per usage_unit to price per\nbase_unit, and start_usage_amount to start_usage_amount in base_unit.\nunit_price / base_unit_conversion_factor = price per base_unit.\nstart_usage_amount * base_unit_conversion_factor = start_usage_amount in\nbase_unit.", + "type": "number", + "format": "double" + }, + "usageUnit": { + "description": "The short hand for unit of usage this pricing is specified in.\nExample: usage_unit of \"GiBy\" means that usage is specified in \"Gibi Byte\".", + "type": "string" + }, + "baseUnit": { + "description": "The base unit for the SKU which is the unit used in usage exports.\nExample: \"By\"", + "type": "string" + }, + "usageUnitDescription": { + "description": "The unit of usage in human readable form.\nExample: \"gibi byte\".", + "type": "string" + }, + "tieredRates": { + "description": "The list of tiered rates for this pricing. The total cost is computed by\napplying each of the tiered rates on usage. This repeated list is sorted\nby ascending order of start_usage_amount.", + "type": "array", + "items": { + "$ref": "TierRate" + } + } + }, + "id": "PricingExpression" + }, + "Sku": { + "description": "Encapsulates a single SKU in Google Cloud Platform", + "type": "object", + "properties": { + "description": { + "description": "A human readable description of the SKU, has a maximum length of 256\ncharacters.", + "type": "string" + }, + "serviceRegions": { + "description": "List of service regions this SKU is offered at.\nExample: \"asia-east1\"\nService regions can be found at https://cloud.google.com/about/locations/", + "type": "array", + "items": { + "type": "string" + } + }, + "serviceProviderName": { + "description": "Identifies the service provider.\nThis is 'Google' for first party services in Google Cloud Platform.", + "type": "string" + }, + "pricingInfo": { + "description": "A timeline of pricing info for this SKU in chronological order.", + "type": "array", + "items": { + "$ref": "PricingInfo" + } + }, + "skuId": { + "description": "The identifier for the SKU.\nExample: \"AA95-CD31-42FE\"", + "type": "string" + }, + "name": { + "description": "The resource name for the SKU.\nExample: \"services/DA34-426B-A397/skus/AA95-CD31-42FE\"", + "type": "string" + }, + "category": { + "description": "The category hierarchy of this SKU, purely for organizational purpose.", + "$ref": "Category" + } + }, + "id": "Sku" + }, + "Money": { + "description": "Represents an amount of money with its currency type.", + "type": "object", + "properties": { + "currencyCode": { + "description": "The 3-letter currency code defined in ISO 4217.", + "type": "string" + }, + "units": { + "description": "The whole units of the amount.\nFor example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", + "type": "string", + "format": "int64" + }, + "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.", + "type": "integer", + "format": "int32" + } + }, + "id": "Money" + }, + "AggregationInfo": { + "description": "Represents the aggregation level and interval for pricing of a single SKU.", + "type": "object", + "properties": { + "aggregationInterval": { + "enum": [ + "AGGREGATION_INTERVAL_UNSPECIFIED", + "DAILY", + "MONTHLY" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "aggregationLevel": { + "enum": [ + "AGGREGATION_LEVEL_UNSPECIFIED", + "ACCOUNT", + "PROJECT" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "aggregationCount": { + "description": "The number of intervals to aggregate over.\nExample: If aggregation_level is \"DAILY\" and aggregation_count is 14,\naggregation will be over 14 days.", + "type": "integer", + "format": "int32" + } + }, + "id": "AggregationInfo" + }, "ProjectBillingInfo": { "description": "Encapsulation of billing information for a Cloud Console project. A project\nhas at most one associated billing account at a time (but a billing account\ncan be assigned to multiple projects).", "type": "object", @@ -193,6 +417,106 @@ }, "id": "ProjectBillingInfo" }, + "ListBillingAccountsResponse": { + "description": "Response message for `ListBillingAccounts`.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results. To retrieve the next page,\ncall `ListBillingAccounts` again with the `page_token` field set to this\nvalue. This field is empty if there are no more results to retrieve.", + "type": "string" + }, + "billingAccounts": { + "description": "A list of billing accounts.", + "type": "array", + "items": { + "$ref": "BillingAccount" + } + } + }, + "id": "ListBillingAccountsResponse" + }, + "ListSkusResponse": { + "description": "Response message for `ListSkus`.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results. To retrieve the next page,\ncall `ListSkus` again with the `page_token` field set to this\nvalue. This field is empty if there are no more results to retrieve.", + "type": "string" + }, + "skus": { + "description": "The list of public SKUs of the given service.", + "type": "array", + "items": { + "$ref": "Sku" + } + } + }, + "id": "ListSkusResponse" + }, + "Service": { + "description": "Encapsulates a single service in Google Cloud Platform.", + "type": "object", + "properties": { + "displayName": { + "description": "A human readable display name for this service.", + "type": "string" + }, + "serviceId": { + "description": "The identifier for the service.\nExample: \"DA34-426B-A397\"", + "type": "string" + }, + "name": { + "description": "The resource name for the service.\nExample: \"services/DA34-426B-A397\"", + "type": "string" + } + }, + "id": "Service" + }, + "TierRate": { + "description": "The price rate indicating starting usage and its corresponding price.", + "type": "object", + "properties": { + "unitPrice": { + "description": "The price per unit of usage.\nExample: unit_price of amount $10 indicates that each unit will cost $10.", + "$ref": "Money" + }, + "startUsageAmount": { + "description": "Usage is priced at this rate only after this amount.\nExample: start_usage_amount of 10 indicates that the usage will be priced\nat the unit_price after the first 10 usage_units.", + "type": "number", + "format": "double" + } + }, + "id": "TierRate" + }, + "PricingInfo": { + "description": "Represents the pricing information for a SKU at a single point of time.", + "type": "object", + "properties": { + "effectiveTime": { + "description": "The timestamp from which this pricing was effective.", + "type": "string", + "format": "google-datetime" + }, + "aggregationInfo": { + "description": "Aggregation Info. This can be left unspecified if the pricing expression\ndoesn't require aggregation.", + "$ref": "AggregationInfo" + }, + "currencyConversionRate": { + "description": "Conversion rate for currency conversion, from USD to the currency specified\nin the request. If the currency is not specified this defaults to 1.0.\nExample: USD * currency_conversion_rate = JPY", + "type": "number", + "format": "double" + }, + "pricingExpression": { + "description": "Expresses the pricing formula. See `PricingExpression` for an example.", + "$ref": "PricingExpression" + }, + "summary": { + "description": "An optional human readable summary of the pricing information, has a\nmaximum length of 256 characters.", + "type": "string" + } + }, + "id": "PricingInfo" + }, "ListProjectBillingInfoResponse": { "description": "Request message for `ListProjectBillingInfoResponse`.", "type": "object", @@ -211,23 +535,23 @@ }, "id": "ListProjectBillingInfoResponse" }, - "ListBillingAccountsResponse": { - "description": "Response message for `ListBillingAccounts`.", + "ListServicesResponse": { + "description": "Response message for `ListServices`.", "type": "object", "properties": { "nextPageToken": { - "description": "A token to retrieve the next page of results. To retrieve the next page,\ncall `ListBillingAccounts` again with the `page_token` field set to this\nvalue. This field is empty if there are no more results to retrieve.", + "description": "A token to retrieve the next page of results. To retrieve the next page,\ncall `ListServices` again with the `page_token` field set to this\nvalue. This field is empty if there are no more results to retrieve.", "type": "string" }, - "billingAccounts": { - "description": "A list of billing accounts.", + "services": { + "description": "A list of services.", "type": "array", "items": { - "$ref": "BillingAccount" + "$ref": "Service" } } }, - "id": "ListBillingAccountsResponse" + "id": "ListServicesResponse" }, "BillingAccount": { "description": "A billing account in [Google Cloud\nConsole](https://console.cloud.google.com/). You can assign a billing account\nto one or more projects.", @@ -247,15 +571,40 @@ } }, "id": "BillingAccount" + }, + "Category": { + "description": "Represents the category hierarchy of a SKU.", + "type": "object", + "properties": { + "resourceFamily": { + "description": "The type of product the SKU refers to.\nExample: \"Compute\", \"Storage\", \"Network\", \"ApplicationServices\" etc.", + "type": "string" + }, + "usageType": { + "description": "Represents how the SKU is consumed.\nExample: \"OnDemand\", \"Preemptible\", \"Commit1Mo\", \"Commit1Yr\" etc.", + "type": "string" + }, + "resourceGroup": { + "description": "A group classification for related SKUs.\nExample: \"RAM\", \"GPU\", \"Prediction\", \"Ops\", \"GoogleEgress\" etc.", + "type": "string" + }, + "serviceDisplayName": { + "description": "The display name of the service this SKU belongs to.", + "type": "string" + } + }, + "id": "Category" } }, - "revision": "20170524", + "revision": "20170813", "basePath": "", "icons": { "x32": "http://www.google.com/images/icons/product/search-32.gif", "x16": "http://www.google.com/images/icons/product/search-16.gif" }, + "canonicalName": "Cloudbilling", "discoveryVersion": "v1", + "fullyEncodeReservedExpansion": true, "baseUrl": "https://cloudbilling.googleapis.com/", "name": "cloudbilling", "parameters": { diff --git a/vendor/google.golang.org/api/cloudbilling/v1/cloudbilling-gen.go b/vendor/google.golang.org/api/cloudbilling/v1/cloudbilling-gen.go index 24ad441f2..df9433e54 100644 --- a/vendor/google.golang.org/api/cloudbilling/v1/cloudbilling-gen.go +++ b/vendor/google.golang.org/api/cloudbilling/v1/cloudbilling-gen.go @@ -51,17 +51,18 @@ const ( CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" ) -func New(client *http.Client) (*Service, error) { +func New(client *http.Client) (*APIService, error) { if client == nil { return nil, errors.New("client is nil") } - s := &Service{client: client, BasePath: basePath} + s := &APIService{client: client, BasePath: basePath} s.BillingAccounts = NewBillingAccountsService(s) s.Projects = NewProjectsService(s) + s.Services = NewServicesService(s) return s, nil } -type Service struct { +type APIService struct { client *http.Client BasePath string // API endpoint base URL UserAgent string // optional additional User-Agent fragment @@ -69,43 +70,111 @@ type Service struct { BillingAccounts *BillingAccountsService Projects *ProjectsService + + Services *ServicesService } -func (s *Service) userAgent() string { +func (s *APIService) userAgent() string { if s.UserAgent == "" { return googleapi.UserAgent } return googleapi.UserAgent + " " + s.UserAgent } -func NewBillingAccountsService(s *Service) *BillingAccountsService { +func NewBillingAccountsService(s *APIService) *BillingAccountsService { rs := &BillingAccountsService{s: s} rs.Projects = NewBillingAccountsProjectsService(s) return rs } type BillingAccountsService struct { - s *Service + s *APIService Projects *BillingAccountsProjectsService } -func NewBillingAccountsProjectsService(s *Service) *BillingAccountsProjectsService { +func NewBillingAccountsProjectsService(s *APIService) *BillingAccountsProjectsService { rs := &BillingAccountsProjectsService{s: s} return rs } type BillingAccountsProjectsService struct { - s *Service + s *APIService } -func NewProjectsService(s *Service) *ProjectsService { +func NewProjectsService(s *APIService) *ProjectsService { rs := &ProjectsService{s: s} return rs } type ProjectsService struct { - s *Service + s *APIService +} + +func NewServicesService(s *APIService) *ServicesService { + rs := &ServicesService{s: s} + rs.Skus = NewServicesSkusService(s) + return rs +} + +type ServicesService struct { + s *APIService + + Skus *ServicesSkusService +} + +func NewServicesSkusService(s *APIService) *ServicesSkusService { + rs := &ServicesSkusService{s: s} + return rs +} + +type ServicesSkusService struct { + s *APIService +} + +// AggregationInfo: Represents the aggregation level and interval for +// pricing of a single SKU. +type AggregationInfo struct { + // AggregationCount: The number of intervals to aggregate over. + // Example: If aggregation_level is "DAILY" and aggregation_count is + // 14, + // aggregation will be over 14 days. + AggregationCount int64 `json:"aggregationCount,omitempty"` + + // Possible values: + // "AGGREGATION_INTERVAL_UNSPECIFIED" + // "DAILY" + // "MONTHLY" + AggregationInterval string `json:"aggregationInterval,omitempty"` + + // Possible values: + // "AGGREGATION_LEVEL_UNSPECIFIED" + // "ACCOUNT" + // "PROJECT" + AggregationLevel string `json:"aggregationLevel,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AggregationCount") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AggregationCount") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AggregationInfo) MarshalJSON() ([]byte, error) { + type noMethod AggregationInfo + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // BillingAccount: A billing account in [Google @@ -163,6 +232,48 @@ func (s *BillingAccount) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Category: Represents the category hierarchy of a SKU. +type Category struct { + // ResourceFamily: The type of product the SKU refers to. + // Example: "Compute", "Storage", "Network", "ApplicationServices" etc. + ResourceFamily string `json:"resourceFamily,omitempty"` + + // ResourceGroup: A group classification for related SKUs. + // Example: "RAM", "GPU", "Prediction", "Ops", "GoogleEgress" etc. + ResourceGroup string `json:"resourceGroup,omitempty"` + + // ServiceDisplayName: The display name of the service this SKU belongs + // to. + ServiceDisplayName string `json:"serviceDisplayName,omitempty"` + + // UsageType: Represents how the SKU is consumed. + // Example: "OnDemand", "Preemptible", "Commit1Mo", "Commit1Yr" etc. + UsageType string `json:"usageType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ResourceFamily") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ResourceFamily") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Category) MarshalJSON() ([]byte, error) { + type noMethod Category + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ListBillingAccountsResponse: Response message for // `ListBillingAccounts`. type ListBillingAccountsResponse struct { @@ -246,6 +357,295 @@ func (s *ListProjectBillingInfoResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ListServicesResponse: Response message for `ListServices`. +type ListServicesResponse struct { + // NextPageToken: A token to retrieve the next page of results. To + // retrieve the next page, + // call `ListServices` again with the `page_token` field set to + // this + // value. This field is empty if there are no more results to retrieve. + NextPageToken string `json:"nextPageToken,omitempty"` + + // Services: A list of services. + Services []*Service `json:"services,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "NextPageToken") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListServicesResponse) MarshalJSON() ([]byte, error) { + type noMethod ListServicesResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListSkusResponse: Response message for `ListSkus`. +type ListSkusResponse struct { + // NextPageToken: A token to retrieve the next page of results. To + // retrieve the next page, + // call `ListSkus` again with the `page_token` field set to this + // value. This field is empty if there are no more results to retrieve. + NextPageToken string `json:"nextPageToken,omitempty"` + + // Skus: The list of public SKUs of the given service. + Skus []*Sku `json:"skus,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "NextPageToken") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListSkusResponse) MarshalJSON() ([]byte, error) { + type noMethod ListSkusResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Money: Represents an amount of money with its currency type. +type Money struct { + // CurrencyCode: The 3-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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Money) MarshalJSON() ([]byte, error) { + type noMethod Money + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PricingExpression: Expresses a mathematical pricing formula. For +// Example:- +// +// `usage_unit: GBy` +// `tiered_rates:` +// `[start_usage_amount: 20, unit_price: $10]` +// `[start_usage_amount: 100, unit_price: $5]` +// +// The above expresses a pricing formula where the first 20GB is free, +// the +// next 80GB is priced at $10 per GB followed by $5 per GB for +// additional +// usage. +type PricingExpression struct { + // BaseUnit: The base unit for the SKU which is the unit used in usage + // exports. + // Example: "By" + BaseUnit string `json:"baseUnit,omitempty"` + + // BaseUnitConversionFactor: Conversion factor for converting from price + // per usage_unit to price per + // base_unit, and start_usage_amount to start_usage_amount in + // base_unit. + // unit_price / base_unit_conversion_factor = price per + // base_unit. + // start_usage_amount * base_unit_conversion_factor = start_usage_amount + // in + // base_unit. + BaseUnitConversionFactor float64 `json:"baseUnitConversionFactor,omitempty"` + + // BaseUnitDescription: The base unit in human readable form. + // Example: "byte". + BaseUnitDescription string `json:"baseUnitDescription,omitempty"` + + // DisplayQuantity: The recommended quantity of units for displaying + // pricing info. When + // displaying pricing info it is recommended to display: + // (unit_price * display_quantity) per display_quantity usage_unit. + // This field does not affect the pricing formula and is for display + // purposes + // only. + // Example: If the unit_price is "0.0001 USD", the usage_unit is "GB" + // and + // the display_quantity is "1000" then the recommended way of displaying + // the + // pricing info is "0.10 USD per 1000 GB" + DisplayQuantity float64 `json:"displayQuantity,omitempty"` + + // TieredRates: The list of tiered rates for this pricing. The total + // cost is computed by + // applying each of the tiered rates on usage. This repeated list is + // sorted + // by ascending order of start_usage_amount. + TieredRates []*TierRate `json:"tieredRates,omitempty"` + + // UsageUnit: The short hand for unit of usage this pricing is specified + // in. + // Example: usage_unit of "GiBy" means that usage is specified in "Gibi + // Byte". + UsageUnit string `json:"usageUnit,omitempty"` + + // UsageUnitDescription: The unit of usage in human readable + // form. + // Example: "gibi byte". + UsageUnitDescription string `json:"usageUnitDescription,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BaseUnit") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BaseUnit") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *PricingExpression) MarshalJSON() ([]byte, error) { + type noMethod PricingExpression + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *PricingExpression) UnmarshalJSON(data []byte) error { + type noMethod PricingExpression + var s1 struct { + BaseUnitConversionFactor gensupport.JSONFloat64 `json:"baseUnitConversionFactor"` + DisplayQuantity gensupport.JSONFloat64 `json:"displayQuantity"` + *noMethod + } + s1.noMethod = (*noMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.BaseUnitConversionFactor = float64(s1.BaseUnitConversionFactor) + s.DisplayQuantity = float64(s1.DisplayQuantity) + return nil +} + +// PricingInfo: Represents the pricing information for a SKU at a single +// point of time. +type PricingInfo struct { + // AggregationInfo: Aggregation Info. This can be left unspecified if + // the pricing expression + // doesn't require aggregation. + AggregationInfo *AggregationInfo `json:"aggregationInfo,omitempty"` + + // CurrencyConversionRate: Conversion rate for currency conversion, from + // USD to the currency specified + // in the request. If the currency is not specified this defaults to + // 1.0. + // Example: USD * currency_conversion_rate = JPY + CurrencyConversionRate float64 `json:"currencyConversionRate,omitempty"` + + // EffectiveTime: The timestamp from which this pricing was effective. + EffectiveTime string `json:"effectiveTime,omitempty"` + + // PricingExpression: Expresses the pricing formula. See + // `PricingExpression` for an example. + PricingExpression *PricingExpression `json:"pricingExpression,omitempty"` + + // Summary: An optional human readable summary of the pricing + // information, has a + // maximum length of 256 characters. + Summary string `json:"summary,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AggregationInfo") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AggregationInfo") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *PricingInfo) MarshalJSON() ([]byte, error) { + type noMethod PricingInfo + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *PricingInfo) UnmarshalJSON(data []byte) error { + type noMethod PricingInfo + var s1 struct { + CurrencyConversionRate gensupport.JSONFloat64 `json:"currencyConversionRate"` + *noMethod + } + s1.noMethod = (*noMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.CurrencyConversionRate = float64(s1.CurrencyConversionRate) + return nil +} + // ProjectBillingInfo: Encapsulation of billing information for a Cloud // Console project. A project // has at most one associated billing account at a time (but a billing @@ -311,10 +711,156 @@ func (s *ProjectBillingInfo) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Service: Encapsulates a single service in Google Cloud Platform. +type Service struct { + // DisplayName: A human readable display name for this service. + DisplayName string `json:"displayName,omitempty"` + + // Name: The resource name for the service. + // Example: "services/DA34-426B-A397" + Name string `json:"name,omitempty"` + + // ServiceId: The identifier for the service. + // Example: "DA34-426B-A397" + ServiceId string `json:"serviceId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DisplayName") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Service) MarshalJSON() ([]byte, error) { + type noMethod Service + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Sku: Encapsulates a single SKU in Google Cloud Platform +type Sku struct { + // Category: The category hierarchy of this SKU, purely for + // organizational purpose. + Category *Category `json:"category,omitempty"` + + // Description: A human readable description of the SKU, has a maximum + // length of 256 + // characters. + Description string `json:"description,omitempty"` + + // Name: The resource name for the SKU. + // Example: "services/DA34-426B-A397/skus/AA95-CD31-42FE" + Name string `json:"name,omitempty"` + + // PricingInfo: A timeline of pricing info for this SKU in chronological + // order. + PricingInfo []*PricingInfo `json:"pricingInfo,omitempty"` + + // ServiceProviderName: Identifies the service provider. + // This is 'Google' for first party services in Google Cloud Platform. + ServiceProviderName string `json:"serviceProviderName,omitempty"` + + // ServiceRegions: List of service regions this SKU is offered + // at. + // Example: "asia-east1" + // Service regions can be found at + // https://cloud.google.com/about/locations/ + ServiceRegions []string `json:"serviceRegions,omitempty"` + + // SkuId: The identifier for the SKU. + // Example: "AA95-CD31-42FE" + SkuId string `json:"skuId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Category") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Category") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Sku) MarshalJSON() ([]byte, error) { + type noMethod Sku + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// TierRate: The price rate indicating starting usage and its +// corresponding price. +type TierRate struct { + // StartUsageAmount: Usage is priced at this rate only after this + // amount. + // Example: start_usage_amount of 10 indicates that the usage will be + // priced + // at the unit_price after the first 10 usage_units. + StartUsageAmount float64 `json:"startUsageAmount,omitempty"` + + // UnitPrice: The price per unit of usage. + // Example: unit_price of amount $10 indicates that each unit will cost + // $10. + UnitPrice *Money `json:"unitPrice,omitempty"` + + // ForceSendFields is a list of field names (e.g. "StartUsageAmount") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "StartUsageAmount") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *TierRate) MarshalJSON() ([]byte, error) { + type noMethod TierRate + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *TierRate) UnmarshalJSON(data []byte) error { + type noMethod TierRate + var s1 struct { + StartUsageAmount gensupport.JSONFloat64 `json:"startUsageAmount"` + *noMethod + } + s1.noMethod = (*noMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.StartUsageAmount = float64(s1.StartUsageAmount) + return nil +} + // method id "cloudbilling.billingAccounts.get": type BillingAccountsGetCall struct { - s *Service + s *APIService name string urlParams_ gensupport.URLParams ifNoneMatch_ string @@ -457,7 +1003,7 @@ func (c *BillingAccountsGetCall) Do(opts ...googleapi.CallOption) (*BillingAccou // method id "cloudbilling.billingAccounts.list": type BillingAccountsListCall struct { - s *Service + s *APIService urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context @@ -635,7 +1181,7 @@ func (c *BillingAccountsListCall) Pages(ctx context.Context, f func(*ListBilling // method id "cloudbilling.billingAccounts.projects.list": type BillingAccountsProjectsListCall struct { - s *Service + s *APIService name string urlParams_ gensupport.URLParams ifNoneMatch_ string @@ -829,7 +1375,7 @@ func (c *BillingAccountsProjectsListCall) Pages(ctx context.Context, f func(*Lis // method id "cloudbilling.projects.getBillingInfo": type ProjectsGetBillingInfoCall struct { - s *Service + s *APIService name string urlParams_ gensupport.URLParams ifNoneMatch_ string @@ -974,7 +1520,7 @@ func (c *ProjectsGetBillingInfoCall) Do(opts ...googleapi.CallOption) (*ProjectB // method id "cloudbilling.projects.updateBillingInfo": type ProjectsUpdateBillingInfoCall struct { - s *Service + s *APIService name string projectbillinginfo *ProjectBillingInfo urlParams_ gensupport.URLParams @@ -1160,3 +1706,413 @@ func (c *ProjectsUpdateBillingInfoCall) Do(opts ...googleapi.CallOption) (*Proje // } } + +// method id "cloudbilling.services.list": + +type ServicesListCall struct { + s *APIService + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists all public cloud services. +func (r *ServicesService) List() *ServicesListCall { + c := &ServicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + return c +} + +// PageSize sets the optional parameter "pageSize": Requested page size. +// Defaults to 5000. +func (c *ServicesListCall) PageSize(pageSize int64) *ServicesListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": A token +// identifying a page of results to return. This should be +// a +// `next_page_token` value returned from a previous `ListServices` +// call. If unspecified, the first page of results is returned. +func (c *ServicesListCall) PageToken(pageToken string) *ServicesListCall { + 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 information. +func (c *ServicesListCall) Fields(s ...googleapi.Field) *ServicesListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ServicesListCall) IfNoneMatch(entityTag string) *ServicesListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ServicesListCall) Context(ctx context.Context) *ServicesListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ServicesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ServicesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/services") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudbilling.services.list" call. +// Exactly one of *ListServicesResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListServicesResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ServicesListCall) Do(opts ...googleapi.CallOption) (*ListServicesResponse, 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, &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, err + } + ret := &ListServicesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists all public cloud services.", + // "flatPath": "v1/services", + // "httpMethod": "GET", + // "id": "cloudbilling.services.list", + // "parameterOrder": [], + // "parameters": { + // "pageSize": { + // "description": "Requested page size. Defaults to 5000.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "A token identifying a page of results to return. This should be a\n`next_page_token` value returned from a previous `ListServices`\ncall. If unspecified, the first page of results is returned.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/services", + // "response": { + // "$ref": "ListServicesResponse" + // } + // } + +} + +// 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 *ServicesListCall) Pages(ctx context.Context, f func(*ListServicesResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "cloudbilling.services.skus.list": + +type ServicesSkusListCall struct { + s *APIService + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists all publicly available SKUs for a given cloud service. +func (r *ServicesSkusService) List(parent string) *ServicesSkusListCall { + c := &ServicesSkusListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// CurrencyCode sets the optional parameter "currencyCode": The ISO 4217 +// currency code for the pricing info in the response proto. +// Will use the conversion rate as of start_time. +// If not specified USD will be used. +func (c *ServicesSkusListCall) CurrencyCode(currencyCode string) *ServicesSkusListCall { + c.urlParams_.Set("currencyCode", currencyCode) + return c +} + +// EndTime sets the optional parameter "endTime": Optional exclusive end +// time of the time range for which the pricing +// versions will be returned. Timestamps in the future are not +// allowed. +// Maximum allowable time range is 1 month (31 days). Time range as a +// whole +// is optional. If not specified, the latest pricing will be returned +// (up to +// 12 hours old at most). +func (c *ServicesSkusListCall) EndTime(endTime string) *ServicesSkusListCall { + c.urlParams_.Set("endTime", endTime) + return c +} + +// PageSize sets the optional parameter "pageSize": Requested page size. +// Defaults to 5000. +func (c *ServicesSkusListCall) PageSize(pageSize int64) *ServicesSkusListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": A token +// identifying a page of results to return. This should be +// a +// `next_page_token` value returned from a previous `ListSkus` +// call. If unspecified, the first page of results is returned. +func (c *ServicesSkusListCall) PageToken(pageToken string) *ServicesSkusListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// StartTime sets the optional parameter "startTime": Optional inclusive +// start time of the time range for which the pricing +// versions will be returned. Timestamps in the future are not +// allowed. +// Maximum allowable time range is 1 month (31 days). Time range as a +// whole +// is optional. If not specified, the latest pricing will be returned +// (up to +// 12 hours old at most). +func (c *ServicesSkusListCall) StartTime(startTime string) *ServicesSkusListCall { + c.urlParams_.Set("startTime", startTime) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ServicesSkusListCall) Fields(s ...googleapi.Field) *ServicesSkusListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ServicesSkusListCall) IfNoneMatch(entityTag string) *ServicesSkusListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ServicesSkusListCall) Context(ctx context.Context) *ServicesSkusListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ServicesSkusListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ServicesSkusListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/skus") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudbilling.services.skus.list" call. +// Exactly one of *ListSkusResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListSkusResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ServicesSkusListCall) Do(opts ...googleapi.CallOption) (*ListSkusResponse, 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, &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, err + } + ret := &ListSkusResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists all publicly available SKUs for a given cloud service.", + // "flatPath": "v1/services/{servicesId}/skus", + // "httpMethod": "GET", + // "id": "cloudbilling.services.skus.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "currencyCode": { + // "description": "The ISO 4217 currency code for the pricing info in the response proto.\nWill use the conversion rate as of start_time.\nOptional. If not specified USD will be used.", + // "location": "query", + // "type": "string" + // }, + // "endTime": { + // "description": "Optional exclusive end time of the time range for which the pricing\nversions will be returned. Timestamps in the future are not allowed.\nMaximum allowable time range is 1 month (31 days). Time range as a whole\nis optional. If not specified, the latest pricing will be returned (up to\n12 hours old at most).", + // "format": "google-datetime", + // "location": "query", + // "type": "string" + // }, + // "pageSize": { + // "description": "Requested page size. Defaults to 5000.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "A token identifying a page of results to return. This should be a\n`next_page_token` value returned from a previous `ListSkus`\ncall. If unspecified, the first page of results is returned.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "The name of the service.\nExample: \"services/DA34-426B-A397\"", + // "location": "path", + // "pattern": "^services/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "startTime": { + // "description": "Optional inclusive start time of the time range for which the pricing\nversions will be returned. Timestamps in the future are not allowed.\nMaximum allowable time range is 1 month (31 days). Time range as a whole\nis optional. If not specified, the latest pricing will be returned (up to\n12 hours old at most).", + // "format": "google-datetime", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/skus", + // "response": { + // "$ref": "ListSkusResponse" + // } + // } + +} + +// 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 *ServicesSkusListCall) Pages(ctx context.Context, f func(*ListSkusResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} diff --git a/vendor/google.golang.org/api/cloudbuild/v1/cloudbuild-api.json b/vendor/google.golang.org/api/cloudbuild/v1/cloudbuild-api.json index e43e7c935..3661b7a83 100644 --- a/vendor/google.golang.org/api/cloudbuild/v1/cloudbuild-api.json +++ b/vendor/google.golang.org/api/cloudbuild/v1/cloudbuild-api.json @@ -1,75 +1,532 @@ { - "discoveryVersion": "v1", - "version_module": "True", - "schemas": { - "BuildOptions": { - "properties": { - "substitutionOption": { - "enum": [ - "MUST_MATCH", - "ALLOW_LOOSE" - ], - "description": "SubstitutionOption to allow unmatch substitutions.", - "type": "string", - "enumDescriptions": [ - "Fails the build if error in substitutions checks, like missing\na substitution in the template or in the map.", - "Do not fail the build if error in substitutions checks." - ] - }, - "requestedVerifyOption": { - "description": "Requested verifiability options.", - "type": "string", - "enumDescriptions": [ - "Not a verifiable build. (default)", - "Verified build." - ], - "enum": [ - "NOT_VERIFIED", - "VERIFIED" - ] - }, - "sourceProvenanceHash": { - "description": "Requested hash for SourceProvenance.", - "items": { - "enum": [ - "NONE", - "SHA256" - ], - "type": "string" - }, - "type": "array", - "enumDescriptions": [ - "No hash requested.", - "Use a sha256 hash." - ] + "canonicalName": "Cloud Build", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" } - }, - "id": "BuildOptions", - "description": "Optional arguments to enable specific features of builds.", - "type": "object" + } + } + }, + "rootUrl": "https://cloudbuild.googleapis.com/", + "ownerDomain": "google.com", + "name": "cloudbuild", + "batchPath": "batch", + "title": "Google Cloud Container Builder API", + "ownerName": "Google", + "resources": { + "projects": { + "resources": { + "builds": { + "methods": { + "create": { + "httpMethod": "POST", + "parameterOrder": [ + "projectId" + ], + "response": { + "$ref": "Operation" + }, + "parameters": { + "projectId": { + "location": "path", + "description": "ID of the project.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectId}/builds", + "path": "v1/projects/{projectId}/builds", + "id": "cloudbuild.projects.builds.create", + "description": "Starts a build with the specified configuration.\n\nThe long-running Operation returned by this method will include the ID of\nthe build, which can be passed to GetBuild to determine its status (e.g.,\nsuccess or failure).", + "request": { + "$ref": "Build" + } + }, + "cancel": { + "id": "cloudbuild.projects.builds.cancel", + "path": "v1/projects/{projectId}/builds/{id}:cancel", + "description": "Cancels a requested build in progress.", + "request": { + "$ref": "CancelBuildRequest" + }, + "response": { + "$ref": "Build" + }, + "parameterOrder": [ + "projectId", + "id" + ], + "httpMethod": "POST", + "parameters": { + "projectId": { + "location": "path", + "description": "ID of the project.", + "type": "string", + "required": true + }, + "id": { + "location": "path", + "description": "ID of the build.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectId}/builds/{id}:cancel" + }, + "list": { + "description": "Lists previously requested builds.\n\nPreviously requested builds may still be in-progress, or may have finished\nsuccessfully or unsuccessfully.", + "response": { + "$ref": "ListBuildsResponse" + }, + "parameterOrder": [ + "projectId" + ], + "httpMethod": "GET", + "parameters": { + "filter": { + "description": "The raw filter text to constrain the results.", + "type": "string", + "location": "query" + }, + "pageToken": { + "location": "query", + "description": "Token to provide to skip to a particular spot in the list.", + "type": "string" + }, + "pageSize": { + "format": "int32", + "description": "Number of results to return in the list.", + "type": "integer", + "location": "query" + }, + "projectId": { + "location": "path", + "description": "ID of the project.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectId}/builds", + "id": "cloudbuild.projects.builds.list", + "path": "v1/projects/{projectId}/builds" + }, + "get": { + "id": "cloudbuild.projects.builds.get", + "path": "v1/projects/{projectId}/builds/{id}", + "description": "Returns information about a previously requested build.\n\nThe Build that is returned includes its status (e.g., success or failure,\nor in-progress), and timing information.", + "parameterOrder": [ + "projectId", + "id" + ], + "response": { + "$ref": "Build" + }, + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "projectId": { + "location": "path", + "description": "ID of the project.", + "type": "string", + "required": true + }, + "id": { + "location": "path", + "description": "ID of the build.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectId}/builds/{id}" + } + } + }, + "triggers": { + "methods": { + "create": { + "flatPath": "v1/projects/{projectId}/triggers", + "id": "cloudbuild.projects.triggers.create", + "path": "v1/projects/{projectId}/triggers", + "description": "Creates a new BuildTrigger.\n\nThis API is experimental.", + "request": { + "$ref": "BuildTrigger" + }, + "response": { + "$ref": "BuildTrigger" + }, + "parameterOrder": [ + "projectId" + ], + "httpMethod": "POST", + "parameters": { + "projectId": { + "description": "ID of the project for which to configure automatic builds.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "id": "cloudbuild.projects.triggers.delete", + "path": "v1/projects/{projectId}/triggers/{triggerId}", + "description": "Deletes an BuildTrigger by its project ID and trigger ID.\n\nThis API is experimental.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "projectId", + "triggerId" + ], + "httpMethod": "DELETE", + "parameters": { + "triggerId": { + "description": "ID of the BuildTrigger to delete.", + "type": "string", + "required": true, + "location": "path" + }, + "projectId": { + "location": "path", + "description": "ID of the project that owns the trigger.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectId}/triggers/{triggerId}" + }, + "patch": { + "response": { + "$ref": "BuildTrigger" + }, + "parameterOrder": [ + "projectId", + "triggerId" + ], + "httpMethod": "PATCH", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "triggerId": { + "location": "path", + "description": "ID of the BuildTrigger to update.", + "type": "string", + "required": true + }, + "projectId": { + "description": "ID of the project that owns the trigger.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/projects/{projectId}/triggers/{triggerId}", + "id": "cloudbuild.projects.triggers.patch", + "path": "v1/projects/{projectId}/triggers/{triggerId}", + "request": { + "$ref": "BuildTrigger" + }, + "description": "Updates an BuildTrigger by its project ID and trigger ID.\n\nThis API is experimental." + }, + "list": { + "path": "v1/projects/{projectId}/triggers", + "id": "cloudbuild.projects.triggers.list", + "description": "Lists existing BuildTrigger.\n\nThis API is experimental.", + "httpMethod": "GET", + "parameterOrder": [ + "projectId" + ], + "response": { + "$ref": "ListBuildTriggersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "projectId": { + "description": "ID of the project for which to list BuildTriggers.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/projects/{projectId}/triggers" + }, + "get": { + "httpMethod": "GET", + "parameterOrder": [ + "projectId", + "triggerId" + ], + "response": { + "$ref": "BuildTrigger" + }, + "parameters": { + "triggerId": { + "location": "path", + "description": "ID of the BuildTrigger to get.", + "type": "string", + "required": true + }, + "projectId": { + "location": "path", + "description": "ID of the project that owns the trigger.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectId}/triggers/{triggerId}", + "path": "v1/projects/{projectId}/triggers/{triggerId}", + "id": "cloudbuild.projects.triggers.get", + "description": "Gets information about a BuildTrigger.\n\nThis API is experimental." + } + } + } + } }, + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "type": "string", + "required": true, + "pattern": "^operations/.+$", + "location": "path" + } + }, + "flatPath": "v1/operations/{operationsId}", + "path": "v1/{+name}", + "id": "cloudbuild.operations.get" + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "ListOperationsResponse" + }, + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "filter": { + "location": "query", + "description": "The standard list filter.", + "type": "string" + }, + "pageToken": { + "location": "query", + "description": "The standard list page token.", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "type": "string", + "required": true, + "pattern": "^operations$", + "location": "path" + }, + "pageSize": { + "format": "int32", + "description": "The standard list page size.", + "type": "integer", + "location": "query" + } + }, + "flatPath": "v1/operations", + "id": "cloudbuild.operations.list", + "path": "v1/{+name}" + }, + "cancel": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "parameters": { + "name": { + "location": "path", + "description": "The name of the operation resource to be cancelled.", + "type": "string", + "required": true, + "pattern": "^operations/.+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/operations/{operationsId}:cancel", + "id": "cloudbuild.operations.cancel", + "path": "v1/{+name}:cancel", + "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "request": { + "$ref": "CancelOperationRequest" + } + } + } + } + }, + "parameters": { + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", + "location": "query" + }, + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, + "prettyPrint": { + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", + "location": "query" + }, + "uploadType": { + "type": "string", + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")." + }, + "$.xgafv": { + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string" + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, + "alt": { + "enum": [ + "json", + "media", + "proto" + ], + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "description": "Data format for response.", + "default": "json" + }, + "access_token": { + "location": "query", + "description": "OAuth access token.", + "type": "string" + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "quotaUser": { + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string" + } + }, + "version": "v1", + "baseUrl": "https://cloudbuild.googleapis.com/", + "servicePath": "", + "description": "Builds container images in the cloud.", + "kind": "discovery#restDescription", + "basePath": "", + "id": "cloudbuild:v1", + "revision": "20170928", + "documentationLink": "https://cloud.google.com/container-builder/docs/", + "discoveryVersion": "v1", + "version_module": true, + "schemas": { "StorageSource": { + "description": "StorageSource describes the location of the source in an archive file in\nGoogle Cloud Storage.", "type": "object", "properties": { "bucket": { - "type": "string", - "description": "Google Cloud Storage bucket containing source (see\n[Bucket Name\nRequirements](https://cloud.google.com/storage/docs/bucket-naming#requirements))." + "description": "Google Cloud Storage bucket containing source (see\n[Bucket Name\nRequirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).", + "type": "string" }, "object": { "description": "Google Cloud Storage object containing source.\n\nThis object must be a gzipped archive file (.tar.gz) containing source to\nbuild.", "type": "string" }, "generation": { - "type": "string", "format": "int64", - "description": "Google Cloud Storage generation for the object. If the generation is\nomitted, the latest generation will be used." + "description": "Google Cloud Storage generation for the object. If the generation is\nomitted, the latest generation will be used.", + "type": "string" } }, - "id": "StorageSource", - "description": "StorageSource describes the location of the source in an archive file in\nGoogle Cloud Storage." + "id": "StorageSource" }, "Results": { - "id": "Results", "description": "Results describes the artifacts created by the build pipeline.", "type": "object", "properties": { @@ -87,40 +544,41 @@ }, "type": "array" } - } + }, + "id": "Results" }, "BuildOperationMetadata": { - "description": "Metadata for build operations.", - "type": "object", "properties": { "build": { "description": "The build that the operation is tracking.", "$ref": "Build" } }, - "id": "BuildOperationMetadata" + "id": "BuildOperationMetadata", + "description": "Metadata for build operations.", + "type": "object" }, "SourceProvenance": { + "id": "SourceProvenance", "description": "Provenance of the source. Ways to find the original source, or verify that\nsome source was used for this build.", "type": "object", "properties": { - "resolvedStorageSource": { - "$ref": "StorageSource", - "description": "A copy of the build's source.storage_source, if exists, with any\ngenerations resolved." - }, - "fileHashes": { - "description": "Hash(es) of the build source, which can be used to verify that the original\nsource integrity was maintained in the build. Note that FileHashes will\nonly be populated if BuildOptions has requested a SourceProvenanceHash.\n\nThe keys to this map are file paths used as build source and the values\ncontain the hash values for those files.\n\nIf the build source came in a single package such as a gzipped tarfile\n(.tar.gz), the FileHash will be for the single path to that file.\n@OutputOnly", - "type": "object", - "additionalProperties": { - "$ref": "FileHashes" - } - }, "resolvedRepoSource": { "$ref": "RepoSource", "description": "A copy of the build's source.repo_source, if exists, with any\nrevisions resolved." + }, + "resolvedStorageSource": { + "description": "A copy of the build's source.storage_source, if exists, with any\ngenerations resolved.", + "$ref": "StorageSource" + }, + "fileHashes": { + "type": "object", + "additionalProperties": { + "$ref": "FileHashes" + }, + "description": "Hash(es) of the build source, which can be used to verify that the original\nsource integrity was maintained in the build. Note that FileHashes will\nonly be populated if BuildOptions has requested a SourceProvenanceHash.\n\nThe keys to this map are file paths used as build source and the values\ncontain the hash values for those files.\n\nIf the build source came in a single package such as a gzipped tarfile\n(.tar.gz), the FileHash will be for the single path to that file.\n@OutputOnly" } - }, - "id": "SourceProvenance" + } }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", @@ -128,41 +586,6 @@ "properties": {}, "id": "CancelOperationRequest" }, - "Operation": { - "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", - "type": "object", - "properties": { - "error": { - "$ref": "Status", - "description": "The error result of the operation in case of failure or cancellation." - }, - "metadata": { - "type": "object", - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any." - }, - "done": { - "description": "If the value is `false`, it means the operation is still in progress.\nIf true, the operation is completed, and either `error` or `response` is\navailable.", - "type": "boolean" - }, - "response": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", - "type": "object" - }, - "name": { - "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`.", - "type": "string" - } - }, - "id": "Operation" - }, "ListBuildTriggersResponse": { "description": "Response containing existing BuildTriggers.", "type": "object", @@ -177,88 +600,82 @@ }, "id": "ListBuildTriggersResponse" }, + "Operation": { + "type": "object", + "properties": { + "response": { + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + } + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`.", + "type": "string" + }, + "error": { + "description": "The error result of the operation in case of failure or cancellation.", + "$ref": "Status" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + }, + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + } + }, + "id": "Operation", + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call." + }, "BuiltImage": { "description": "BuiltImage describes an image built by the pipeline.", "type": "object", "properties": { + "name": { + "type": "string", + "description": "Name used to push the container image to Google Container Registry, as\npresented to `docker push`." + }, "digest": { "description": "Docker Registry 2.0 digest.", "type": "string" - }, - "name": { - "description": "Name used to push the container image to Google Container Registry, as\npresented to `docker push`.", - "type": "string" } }, "id": "BuiltImage" }, - "Hash": { - "description": "Container message for hash values.", - "type": "object", - "properties": { - "value": { - "format": "byte", - "description": "The hash value.", - "type": "string" - }, - "type": { - "description": "The type of hash that was performed.", - "type": "string", - "enumDescriptions": [ - "No hash requested.", - "Use a sha256 hash." - ], - "enum": [ - "NONE", - "SHA256" - ] - } - }, - "id": "Hash" - }, - "RepoSource": { - "description": "RepoSource describes the location of the source in a Google Cloud Source\nRepository.", - "type": "object", - "properties": { - "commitSha": { - "description": "Explicit commit SHA to build.", - "type": "string" - }, - "tagName": { - "description": "Name of the tag to build.", - "type": "string" - }, - "branchName": { - "description": "Name of the branch to build.", - "type": "string" - }, - "repoName": { - "description": "Name of the repo. If omitted, the name \"default\" is assumed.", - "type": "string" - }, - "projectId": { - "description": "ID of the project that owns the repo. If omitted, the project ID requesting\nthe build is assumed.", - "type": "string" - } - }, - "id": "RepoSource" - }, "BuildStep": { "description": "BuildStep describes a step to perform in the build pipeline.", "type": "object", "properties": { - "name": { - "description": "The name of the container image that will run this particular build step.\n\nIf the image is already available in the host's Docker daemon's cache, it\nwill be run directly. If not, the host will attempt to pull the image\nfirst, using the builder service account's credentials if necessary.\n\nThe Docker daemon's cache will already have the latest versions of all of\nthe officially supported build steps\n([https://github.com/GoogleCloudPlatform/cloud-builders](https://github.com/GoogleCloudPlatform/cloud-builders)).\nThe Docker daemon will also have cached many of the layers for some popular\nimages, like \"ubuntu\", \"debian\", but they will be refreshed at the time you\nattempt to use them.\n\nIf you built an image in a previous build step, it will be stored in the\nhost's Docker daemon's cache and is available to use as the name for a\nlater build step.", - "type": "string" - }, "entrypoint": { - "description": "Optional entrypoint to be used instead of the build step image's default\nIf unset, the image's default will be used.", - "type": "string" + "type": "string", + "description": "Optional entrypoint to be used instead of the build step image's default\nIf unset, the image's default will be used." + }, + "secretEnv": { + "items": { + "type": "string" + }, + "type": "array", + "description": "A list of environment variables which are encrypted using a Cloud KMS\ncrypto key. These values must be specified in the build's secrets." }, "id": { "description": "Optional unique identifier for this build step, used in wait_for to\nreference this build step as a dependency.", "type": "string" }, + "volumes": { + "description": "List of volumes to mount into the build step.\n\nEach volume will be created as an empty volume prior to execution of the\nbuild step. Upon completion of the build, volumes and their contents will\nbe discarded.\n\nUsing a named volume in only one step is not valid as it is indicative\nof a mis-configured build request.", + "items": { + "$ref": "Volume" + }, + "type": "array" + }, "dir": { "description": "Working directory (relative to project source root) to use when running\nthis operation's container.", "type": "string" @@ -283,11 +700,68 @@ "type": "string" }, "type": "array" + }, + "name": { + "description": "The name of the container image that will run this particular build step.\n\nIf the image is already available in the host's Docker daemon's cache, it\nwill be run directly. If not, the host will attempt to pull the image\nfirst, using the builder service account's credentials if necessary.\n\nThe Docker daemon's cache will already have the latest versions of all of\nthe officially supported build steps\n([https://github.com/GoogleCloudPlatform/cloud-builders](https://github.com/GoogleCloudPlatform/cloud-builders)).\nThe Docker daemon will also have cached many of the layers for some popular\nimages, like \"ubuntu\", \"debian\", but they will be refreshed at the time you\nattempt to use them.\n\nIf you built an image in a previous build step, it will be stored in the\nhost's Docker daemon's cache and is available to use as the name for a\nlater build step.", + "type": "string" } }, "id": "BuildStep" }, + "RepoSource": { + "id": "RepoSource", + "description": "RepoSource describes the location of the source in a Google Cloud Source\nRepository.", + "type": "object", + "properties": { + "commitSha": { + "description": "Explicit commit SHA to build.", + "type": "string" + }, + "tagName": { + "description": "Name of the tag to build.", + "type": "string" + }, + "branchName": { + "type": "string", + "description": "Name of the branch to build." + }, + "repoName": { + "description": "Name of the repo. If omitted, the name \"default\" is assumed.", + "type": "string" + }, + "projectId": { + "description": "ID of the project that owns the repo. If omitted, the project ID requesting\nthe build is assumed.", + "type": "string" + } + } + }, + "Hash": { + "description": "Container message for hash values.", + "type": "object", + "properties": { + "type": { + "enum": [ + "NONE", + "SHA256" + ], + "description": "The type of hash that was performed.", + "type": "string", + "enumDescriptions": [ + "No hash requested.", + "Use a sha256 hash." + ] + }, + "value": { + "type": "string", + "format": "byte", + "description": "The hash value." + } + }, + "id": "Hash" + }, "FileHashes": { + "description": "Container message for hashes of byte content of files, used in\nSourceProvenance messages to verify integrity of source input to the build.", + "type": "object", "properties": { "fileHash": { "description": "Collection of file hashes.", @@ -297,16 +771,33 @@ "type": "array" } }, - "id": "FileHashes", - "description": "Container message for hashes of byte content of files, used in\nSourceProvenance messages to verify integrity of source input to the build.", - "type": "object" + "id": "FileHashes" + }, + "Secret": { + "id": "Secret", + "description": "Secret pairs a set of secret environment variables containing encrypted\nvalues with the Cloud KMS key to use to decrypt the value.", + "type": "object", + "properties": { + "secretEnv": { + "additionalProperties": { + "format": "byte", + "type": "string" + }, + "description": "Map of environment variable name to its encrypted value.\n\nSecret environment variables must be unique across all of a build's\nsecrets, and must be used by at least one build step. Values can be at most\n1 KB in size. There can be at most ten secret values across all of a\nbuild's secrets.", + "type": "object" + }, + "kmsKeyName": { + "type": "string", + "description": "Cloud KMS key name to use to decrypt these envs." + } + } }, "Status": { + "id": "Status", "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", "type": "object", "properties": { "details": { - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", "items": { "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", @@ -314,7 +805,8 @@ }, "type": "object" }, - "type": "array" + "type": "array", + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use." }, "code": { "format": "int32", @@ -325,8 +817,7 @@ "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", "type": "string" } - }, - "id": "Status" + } }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", @@ -335,23 +826,17 @@ "id": "Empty" }, "BuildTrigger": { + "id": "BuildTrigger", + "description": "Configuration for an automated build in response to source repository\nchanges.", "type": "object", "properties": { - "filename": { - "description": "Path, from the source root, to a file whose contents is used for the\ntemplate.", - "type": "string" - }, - "triggerTemplate": { - "description": "Template describing the types of source changes to trigger a build.\n\nBranch and tag names in trigger templates are interpreted as regular\nexpressions. Any branch or tag change that matches that regular expression\nwill trigger a build.", - "$ref": "RepoSource" - }, "id": { "description": "Unique identifier of the trigger.\n\n@OutputOnly", "type": "string" }, "build": { - "$ref": "Build", - "description": "Contents of the build template." + "description": "Contents of the build template.", + "$ref": "Build" }, "substitutions": { "additionalProperties": { @@ -364,47 +849,34 @@ "description": "Human-readable description of this trigger.", "type": "string" }, + "disabled": { + "description": "If true, the trigger will never result in a build.", + "type": "boolean" + }, "createTime": { "format": "google-datetime", "description": "Time when the trigger was created.\n\n@OutputOnly", "type": "string" }, - "disabled": { - "description": "If true, the trigger will never result in a build.", - "type": "boolean" + "triggerTemplate": { + "description": "Template describing the types of source changes to trigger a build.\n\nBranch and tag names in trigger templates are interpreted as regular\nexpressions. Any branch or tag change that matches that regular expression\nwill trigger a build.", + "$ref": "RepoSource" + }, + "filename": { + "description": "Path, from the source root, to a file whose contents is used for the\ntemplate.", + "type": "string" } - }, - "id": "BuildTrigger", - "description": "Configuration for an automated build in response to source repository\nchanges." + } }, "Build": { + "description": "A build resource in the Container Builder API.\n\nAt a high level, a Build describes where to find source code, how to build\nit (for example, the builder image to run on the source), and what tag to\napply to the built image when it is pushed to Google Container Registry.\n\nFields can include the following variables which will be expanded when the\nbuild is created:\n\n- $PROJECT_ID: the project ID of the build.\n- $BUILD_ID: the autogenerated ID of the build.\n- $REPO_NAME: the source repository name specified by RepoSource.\n- $BRANCH_NAME: the branch name specified by RepoSource.\n- $TAG_NAME: the tag name specified by RepoSource.\n- $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or\n resolved from the specified branch or tag.\n- $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.", "type": "object", "properties": { - "options": { - "description": "Special options for this build.", - "$ref": "BuildOptions" - }, - "source": { - "description": "Describes where to find the source files to build.", - "$ref": "Source" - }, - "timeout": { - "format": "google-duration", - "description": "Amount of time that this build should be allowed to run, to second\ngranularity. If this amount of time elapses, work on the build will cease\nand the build status will be TIMEOUT.\n\nDefault time is ten minutes.", + "statusDetail": { + "description": "Customer-readable message about the current status.\n@OutputOnly", "type": "string" }, "status": { - "type": "string", - "enumDescriptions": [ - "Status of the build is unknown.", - "Build is queued; work has not yet begun.", - "Build is being executed.", - "Build finished successfully.", - "Build failed to complete successfully.", - "Build failed due to an internal cause.", - "Build took longer than was allowed.", - "Build was canceled by a user." - ], "enum": [ "STATUS_UNKNOWN", "QUEUED", @@ -415,20 +887,39 @@ "TIMEOUT", "CANCELLED" ], - "description": "Status of the build.\n@OutputOnly" + "description": "Status of the build.\n@OutputOnly", + "type": "string", + "enumDescriptions": [ + "Status of the build is unknown.", + "Build is queued; work has not yet begun.", + "Build is being executed.", + "Build finished successfully.", + "Build failed to complete successfully.", + "Build failed due to an internal cause.", + "Build took longer than was allowed.", + "Build was canceled by a user." + ] }, - "statusDetail": { - "description": "Customer-readable message about the current status.\n@OutputOnly", + "timeout": { + "format": "google-duration", + "description": "Amount of time that this build should be allowed to run, to second\ngranularity. If this amount of time elapses, work on the build will cease\nand the build status will be TIMEOUT.\n\nDefault time is ten minutes.", "type": "string" }, - "results": { - "$ref": "Results", - "description": "Results of the build.\n@OutputOnly" + "secrets": { + "description": "Secrets to decrypt using Cloud KMS.", + "items": { + "$ref": "Secret" + }, + "type": "array" }, "logsBucket": { "description": "Google Cloud Storage bucket where logs should be written (see\n[Bucket Name\nRequirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).\nLogs file names will be of the format `${logs_bucket}/log-${build_id}.txt`.", "type": "string" }, + "results": { + "description": "Results of the build.\n@OutputOnly", + "$ref": "Results" + }, "steps": { "description": "Describes the operations to be performed on the workspace.", "items": { @@ -437,8 +928,8 @@ "type": "array" }, "buildTriggerId": { - "description": "The ID of the BuildTrigger that triggered this build, if it was\ntriggered automatically.\n@OutputOnly", - "type": "string" + "type": "string", + "description": "The ID of the BuildTrigger that triggered this build, if it was\ntriggered automatically.\n@OutputOnly" }, "tags": { "description": "Tags for annotation of a Build. These are not docker tags.", @@ -483,27 +974,48 @@ "description": "ID of the project.\n@OutputOnly.", "type": "string" }, - "finishTime": { - "format": "google-datetime", - "description": "Time at which execution of the build was finished.\n\nThe difference between finish_time and start_time is the duration of the\nbuild's execution.\n@OutputOnly", - "type": "string" - }, "logUrl": { "description": "URL to logs for this build in Google Cloud Logging.\n@OutputOnly", "type": "string" + }, + "finishTime": { + "type": "string", + "format": "google-datetime", + "description": "Time at which execution of the build was finished.\n\nThe difference between finish_time and start_time is the duration of the\nbuild's execution.\n@OutputOnly" + }, + "options": { + "$ref": "BuildOptions", + "description": "Special options for this build." + }, + "source": { + "$ref": "Source", + "description": "Describes where to find the source files to build." } }, - "id": "Build", - "description": "A build resource in the Container Builder API.\n\nAt a high level, a Build describes where to find source code, how to build\nit (for example, the builder image to run on the source), and what tag to\napply to the built image when it is pushed to Google Container Registry.\n\nFields can include the following variables which will be expanded when the\nbuild is created:\n\n- $PROJECT_ID: the project ID of the build.\n- $BUILD_ID: the autogenerated ID of the build.\n- $REPO_NAME: the source repository name specified by RepoSource.\n- $BRANCH_NAME: the branch name specified by RepoSource.\n- $TAG_NAME: the tag name specified by RepoSource.\n- $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or\n resolved from the specified branch or tag." + "id": "Build" }, "CancelBuildRequest": { - "id": "CancelBuildRequest", "description": "Request to cancel an ongoing build.", "type": "object", - "properties": {} + "properties": {}, + "id": "CancelBuildRequest" + }, + "Volume": { + "description": "Volume describes a Docker container volume which is mounted into build steps\nin order to persist files across build step execution.", + "type": "object", + "properties": { + "name": { + "description": "Name of the volume to mount.\n\nVolume names must be unique per build step and must be valid names for\nDocker volumes. Each named volume must be used by at least two build steps.", + "type": "string" + }, + "path": { + "description": "Path at which to mount the volume.\n\nPaths must be absolute and cannot conflict with other volume paths on the\nsame build step or with certain reserved volume paths.", + "type": "string" + } + }, + "id": "Volume" }, "ListBuildsResponse": { - "description": "Response including listed builds.", "type": "object", "properties": { "nextPageToken": { @@ -518,9 +1030,12 @@ "type": "array" } }, - "id": "ListBuildsResponse" + "id": "ListBuildsResponse", + "description": "Response including listed builds." }, "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "type": "object", "properties": { "nextPageToken": { "description": "The standard List next-page token.", @@ -534,533 +1049,73 @@ "type": "array" } }, - "id": "ListOperationsResponse", - "description": "The response message for Operations.ListOperations.", - "type": "object" + "id": "ListOperationsResponse" }, "Source": { "properties": { - "repoSource": { - "description": "If provided, get source from this location in a Cloud Repo.", - "$ref": "RepoSource" - }, "storageSource": { - "description": "If provided, get the source from this location in in Google Cloud\nStorage.", + "description": "If provided, get the source from this location in Google Cloud Storage.", "$ref": "StorageSource" + }, + "repoSource": { + "$ref": "RepoSource", + "description": "If provided, get source from this location in a Cloud Repo." } }, "id": "Source", "description": "Source describes the location of the source in a supported storage\nservice.", "type": "object" + }, + "BuildOptions": { + "type": "object", + "properties": { + "sourceProvenanceHash": { + "items": { + "type": "string", + "enum": [ + "NONE", + "SHA256" + ] + }, + "type": "array", + "enumDescriptions": [ + "No hash requested.", + "Use a sha256 hash." + ], + "description": "Requested hash for SourceProvenance." + }, + "substitutionOption": { + "type": "string", + "enumDescriptions": [ + "Fails the build if error in substitutions checks, like missing\na substitution in the template or in the map.", + "Do not fail the build if error in substitutions checks." + ], + "enum": [ + "MUST_MATCH", + "ALLOW_LOOSE" + ], + "description": "SubstitutionOption to allow unmatch substitutions." + }, + "requestedVerifyOption": { + "enum": [ + "NOT_VERIFIED", + "VERIFIED" + ], + "description": "Requested verifiability options.", + "type": "string", + "enumDescriptions": [ + "Not a verifiable build. (default)", + "Verified build." + ] + } + }, + "id": "BuildOptions", + "description": "Optional arguments to enable specific features of builds." } }, - "protocol": "rest", "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.gif" }, - "canonicalName": "Cloud Build", - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" - } - } - } - }, - "rootUrl": "https://cloudbuild.googleapis.com/", - "ownerDomain": "google.com", - "name": "cloudbuild", - "batchPath": "batch", - "title": "Google Cloud Container Builder API", - "ownerName": "Google", - "resources": { - "projects": { - "resources": { - "triggers": { - "methods": { - "delete": { - "flatPath": "v1/projects/{projectId}/triggers/{triggerId}", - "path": "v1/projects/{projectId}/triggers/{triggerId}", - "id": "cloudbuild.projects.triggers.delete", - "description": "Deletes an BuildTrigger by its project ID and trigger ID.\n\nThis API is experimental.", - "httpMethod": "DELETE", - "parameterOrder": [ - "projectId", - "triggerId" - ], - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "projectId": { - "location": "path", - "description": "ID of the project that owns the trigger.", - "type": "string", - "required": true - }, - "triggerId": { - "location": "path", - "description": "ID of the BuildTrigger to delete.", - "type": "string", - "required": true - } - } - }, - "patch": { - "parameters": { - "triggerId": { - "description": "ID of the BuildTrigger to update.", - "type": "string", - "required": true, - "location": "path" - }, - "projectId": { - "location": "path", - "description": "ID of the project that owns the trigger.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectId}/triggers/{triggerId}", - "path": "v1/projects/{projectId}/triggers/{triggerId}", - "id": "cloudbuild.projects.triggers.patch", - "description": "Updates an BuildTrigger by its project ID and trigger ID.\n\nThis API is experimental.", - "request": { - "$ref": "BuildTrigger" - }, - "httpMethod": "PATCH", - "parameterOrder": [ - "projectId", - "triggerId" - ], - "response": { - "$ref": "BuildTrigger" - } - }, - "list": { - "flatPath": "v1/projects/{projectId}/triggers", - "path": "v1/projects/{projectId}/triggers", - "id": "cloudbuild.projects.triggers.list", - "description": "Lists existing BuildTrigger.\n\nThis API is experimental.", - "httpMethod": "GET", - "parameterOrder": [ - "projectId" - ], - "response": { - "$ref": "ListBuildTriggersResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "projectId": { - "description": "ID of the project for which to list BuildTriggers.", - "type": "string", - "required": true, - "location": "path" - } - } - }, - "get": { - "response": { - "$ref": "BuildTrigger" - }, - "httpMethod": "GET", - "parameterOrder": [ - "projectId", - "triggerId" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "projectId": { - "location": "path", - "description": "ID of the project that owns the trigger.", - "type": "string", - "required": true - }, - "triggerId": { - "location": "path", - "description": "ID of the BuildTrigger to get.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/projects/{projectId}/triggers/{triggerId}", - "id": "cloudbuild.projects.triggers.get", - "path": "v1/projects/{projectId}/triggers/{triggerId}", - "description": "Gets information about a BuildTrigger.\n\nThis API is experimental." - }, - "create": { - "request": { - "$ref": "BuildTrigger" - }, - "description": "Creates a new BuildTrigger.\n\nThis API is experimental.", - "response": { - "$ref": "BuildTrigger" - }, - "parameterOrder": [ - "projectId" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "projectId": { - "type": "string", - "required": true, - "location": "path", - "description": "ID of the project for which to configure automatic builds." - } - }, - "flatPath": "v1/projects/{projectId}/triggers", - "id": "cloudbuild.projects.triggers.create", - "path": "v1/projects/{projectId}/triggers" - } - } - }, - "builds": { - "methods": { - "list": { - "description": "Lists previously requested builds.\n\nPreviously requested builds may still be in-progress, or may have finished\nsuccessfully or unsuccessfully.", - "httpMethod": "GET", - "response": { - "$ref": "ListBuildsResponse" - }, - "parameterOrder": [ - "projectId" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "pageToken": { - "description": "Token to provide to skip to a particular spot in the list.", - "type": "string", - "location": "query" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "Number of results to return in the list.", - "type": "integer" - }, - "projectId": { - "location": "path", - "description": "ID of the project.", - "type": "string", - "required": true - }, - "filter": { - "location": "query", - "description": "The raw filter text to constrain the results.", - "type": "string" - } - }, - "flatPath": "v1/projects/{projectId}/builds", - "path": "v1/projects/{projectId}/builds", - "id": "cloudbuild.projects.builds.list" - }, - "get": { - "httpMethod": "GET", - "parameterOrder": [ - "projectId", - "id" - ], - "response": { - "$ref": "Build" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "projectId": { - "location": "path", - "description": "ID of the project.", - "type": "string", - "required": true - }, - "id": { - "location": "path", - "description": "ID of the build.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/projects/{projectId}/builds/{id}", - "path": "v1/projects/{projectId}/builds/{id}", - "id": "cloudbuild.projects.builds.get", - "description": "Returns information about a previously requested build.\n\nThe Build that is returned includes its status (e.g., success or failure,\nor in-progress), and timing information." - }, - "create": { - "description": "Starts a build with the specified configuration.\n\nThe long-running Operation returned by this method will include the ID of\nthe build, which can be passed to GetBuild to determine its status (e.g.,\nsuccess or failure).", - "request": { - "$ref": "Build" - }, - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "projectId" - ], - "httpMethod": "POST", - "parameters": { - "projectId": { - "description": "ID of the project.", - "type": "string", - "required": true, - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectId}/builds", - "id": "cloudbuild.projects.builds.create", - "path": "v1/projects/{projectId}/builds" - }, - "cancel": { - "response": { - "$ref": "Build" - }, - "parameterOrder": [ - "projectId", - "id" - ], - "httpMethod": "POST", - "parameters": { - "projectId": { - "description": "ID of the project.", - "type": "string", - "required": true, - "location": "path" - }, - "id": { - "description": "ID of the build.", - "type": "string", - "required": true, - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectId}/builds/{id}:cancel", - "id": "cloudbuild.projects.builds.cancel", - "path": "v1/projects/{projectId}/builds/{id}:cancel", - "description": "Cancels a requested build in progress.", - "request": { - "$ref": "CancelBuildRequest" - } - } - } - } - } - }, - "operations": { - "methods": { - "cancel": { - "parameters": { - "name": { - "type": "string", - "required": true, - "pattern": "^operations/.+$", - "location": "path", - "description": "The name of the operation resource to be cancelled." - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/operations/{operationsId}:cancel", - "id": "cloudbuild.operations.cancel", - "path": "v1/{+name}:cancel", - "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", - "request": { - "$ref": "CancelOperationRequest" - }, - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "POST" - }, - "get": { - "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", - "httpMethod": "GET", - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "name" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "description": "The name of the operation resource.", - "type": "string", - "required": true, - "pattern": "^operations/.+$", - "location": "path" - } - }, - "flatPath": "v1/operations/{operationsId}", - "path": "v1/{+name}", - "id": "cloudbuild.operations.get" - }, - "list": { - "response": { - "$ref": "ListOperationsResponse" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "parameters": { - "filter": { - "type": "string", - "location": "query", - "description": "The standard list filter." - }, - "pageToken": { - "type": "string", - "location": "query", - "description": "The standard list page token." - }, - "name": { - "location": "path", - "description": "The name of the operation's parent resource.", - "type": "string", - "required": true, - "pattern": "^operations$" - }, - "pageSize": { - "format": "int32", - "description": "The standard list page size.", - "type": "integer", - "location": "query" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/operations", - "id": "cloudbuild.operations.list", - "path": "v1/{+name}", - "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id." - } - } - } - }, - "parameters": { - "prettyPrint": { - "description": "Returns response with indentations and line breaks.", - "default": "true", - "type": "boolean", - "location": "query" - }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "type": "string", - "location": "query" - }, - "uploadType": { - "location": "query", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string" - }, - "$.xgafv": { - "type": "string", - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" - ], - "description": "V1 error format." - }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, - "alt": { - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], - "type": "string", - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query" - }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, - "access_token": { - "location": "query", - "description": "OAuth access token.", - "type": "string" - }, - "quotaUser": { - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string", - "location": "query" - }, - "pp": { - "location": "query", - "description": "Pretty-print response.", - "default": "true", - "type": "boolean" - }, - "bearer_token": { - "location": "query", - "description": "OAuth bearer token.", - "type": "string" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" - }, - "upload_protocol": { - "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string" - } - }, - "version": "v1", - "baseUrl": "https://cloudbuild.googleapis.com/", - "servicePath": "", - "description": "Builds container images in the cloud.", - "kind": "discovery#restDescription", - "basePath": "", - "revision": "20170705", - "documentationLink": "https://cloud.google.com/container-builder/docs/", - "id": "cloudbuild:v1" + "protocol": "rest" } diff --git a/vendor/google.golang.org/api/cloudbuild/v1/cloudbuild-gen.go b/vendor/google.golang.org/api/cloudbuild/v1/cloudbuild-gen.go index 951769d31..c8b4e0aad 100644 --- a/vendor/google.golang.org/api/cloudbuild/v1/cloudbuild-gen.go +++ b/vendor/google.golang.org/api/cloudbuild/v1/cloudbuild-gen.go @@ -141,6 +141,7 @@ type ProjectsTriggersService struct { // - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource // or // resolved from the specified branch or tag. +// - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA. type Build struct { // BuildTriggerId: The ID of the BuildTrigger that triggered this build, // if it was @@ -205,6 +206,9 @@ type Build struct { // @OutputOnly Results *Results `json:"results,omitempty"` + // Secrets: Secrets to decrypt using Cloud KMS. + Secrets []*Secret `json:"secrets,omitempty"` + // Source: Describes where to find the source files to build. Source *Source `json:"source,omitempty"` @@ -431,6 +435,24 @@ type BuildStep struct { // later build step. Name string `json:"name,omitempty"` + // SecretEnv: A list of environment variables which are encrypted using + // a Cloud KMS + // crypto key. These values must be specified in the build's secrets. + SecretEnv []string `json:"secretEnv,omitempty"` + + // Volumes: List of volumes to mount into the build step. + // + // Each volume will be created as an empty volume prior to execution of + // the + // build step. Upon completion of the build, volumes and their contents + // will + // be discarded. + // + // Using a named volume in only one step is not valid as it is + // indicative + // of a mis-configured build request. + Volumes []*Volume `json:"volumes,omitempty"` + // WaitFor: The ID(s) of the step(s) that this build step depends // on. // This build step will not start until all the build steps in @@ -771,8 +793,8 @@ func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) { type Operation struct { // Done: If the value is `false`, it means the operation is still in // progress. - // If true, the operation is completed, and either `error` or `response` - // is + // If `true`, the operation is completed, and either `error` or + // `response` is // available. Done bool `json:"done,omitempty"` @@ -919,6 +941,48 @@ func (s *Results) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Secret: Secret pairs a set of secret environment variables containing +// encrypted +// values with the Cloud KMS key to use to decrypt the value. +type Secret struct { + // KmsKeyName: Cloud KMS key name to use to decrypt these envs. + KmsKeyName string `json:"kmsKeyName,omitempty"` + + // SecretEnv: Map of environment variable name to its encrypted + // value. + // + // Secret environment variables must be unique across all of a + // build's + // secrets, and must be used by at least one build step. Values can be + // at most + // 1 KB in size. There can be at most ten secret values across all of + // a + // build's secrets. + SecretEnv map[string]string `json:"secretEnv,omitempty"` + + // ForceSendFields is a list of field names (e.g. "KmsKeyName") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "KmsKeyName") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Secret) MarshalJSON() ([]byte, error) { + type noMethod Secret + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Source: Source describes the location of the source in a supported // storage // service. @@ -927,9 +991,8 @@ type Source struct { // Repo. RepoSource *RepoSource `json:"repoSource,omitempty"` - // StorageSource: If provided, get the source from this location in in - // Google Cloud - // Storage. + // StorageSource: If provided, get the source from this location in + // Google Cloud Storage. StorageSource *StorageSource `json:"storageSource,omitempty"` // ForceSendFields is a list of field names (e.g. "RepoSource") to @@ -1094,9 +1157,9 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in @@ -1175,6 +1238,48 @@ func (s *StorageSource) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Volume: Volume describes a Docker container volume which is mounted +// into build steps +// in order to persist files across build step execution. +type Volume struct { + // Name: Name of the volume to mount. + // + // Volume names must be unique per build step and must be valid names + // for + // Docker volumes. Each named volume must be used by at least two build + // steps. + Name string `json:"name,omitempty"` + + // Path: Path at which to mount the volume. + // + // Paths must be absolute and cannot conflict with other volume paths on + // the + // same build step or with certain reserved volume paths. + Path string `json:"path,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Volume) MarshalJSON() ([]byte, error) { + type noMethod Volume + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // method id "cloudbuild.operations.cancel": type OperationsCancelCall struct { diff --git a/vendor/google.golang.org/api/clouddebugger/v2/clouddebugger-api.json b/vendor/google.golang.org/api/clouddebugger/v2/clouddebugger-api.json index 769b48779..c8d952a28 100644 --- a/vendor/google.golang.org/api/clouddebugger/v2/clouddebugger-api.json +++ b/vendor/google.golang.org/api/clouddebugger/v2/clouddebugger-api.json @@ -1,334 +1,16 @@ { + "version": "v2", + "baseUrl": "https://clouddebugger.googleapis.com/", + "kind": "discovery#restDescription", + "description": "Examines the call stack and variables of a running application without stopping or slowing it down.\n", + "servicePath": "", + "basePath": "", + "revision": "20170928", + "documentationLink": "http://cloud.google.com/debugger", + "id": "clouddebugger:v2", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { - "StatusMessage": { - "properties": { - "description": { - "description": "Status message text.", - "$ref": "FormatMessage" - }, - "isError": { - "description": "Distinguishes errors from informational messages.", - "type": "boolean" - }, - "refersTo": { - "enum": [ - "UNSPECIFIED", - "BREAKPOINT_SOURCE_LOCATION", - "BREAKPOINT_CONDITION", - "BREAKPOINT_EXPRESSION", - "BREAKPOINT_AGE", - "VARIABLE_NAME", - "VARIABLE_VALUE" - ], - "description": "Reference to which the message applies.", - "type": "string", - "enumDescriptions": [ - "Status doesn't refer to any particular input.", - "Status applies to the breakpoint and is related to its location.", - "Status applies to the breakpoint and is related to its condition.", - "Status applies to the breakpoint and is related to its expressions.", - "Status applies to the breakpoint and is related to its age.", - "Status applies to the entire variable.", - "Status applies to variable value (variable name is valid)." - ] - } - }, - "id": "StatusMessage", - "description": "Represents a contextual status message.\nThe message can indicate an error or informational status, and refer to\nspecific parts of the containing object.\nFor example, the `Breakpoint.status` field can indicate an error referring\nto the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`.", - "type": "object" - }, - "GitSourceContext": { - "description": "A GitSourceContext denotes a particular revision in a third party Git\nrepository (e.g. GitHub).", - "type": "object", - "properties": { - "revisionId": { - "description": "Git commit hash.\nrequired.", - "type": "string" - }, - "url": { - "type": "string", - "description": "Git repository URL." - } - }, - "id": "GitSourceContext" - }, - "Variable": { - "description": "Represents a variable or an argument possibly of a compound object type.\nNote how the following variables are represented:\n\n1) A simple variable:\n\n int x = 5\n\n { name: \"x\", value: \"5\", type: \"int\" } // Captured variable\n\n2) A compound object:\n\n struct T {\n int m1;\n int m2;\n };\n T x = { 3, 7 };\n\n { // Captured variable\n name: \"x\",\n type: \"T\",\n members { name: \"m1\", value: \"3\", type: \"int\" },\n members { name: \"m2\", value: \"7\", type: \"int\" }\n }\n\n3) A pointer where the pointee was captured:\n\n T x = { 3, 7 };\n T* p = &x;\n\n { // Captured variable\n name: \"p\",\n type: \"T*\",\n value: \"0x00500500\",\n members { name: \"m1\", value: \"3\", type: \"int\" },\n members { name: \"m2\", value: \"7\", type: \"int\" }\n }\n\n4) A pointer where the pointee was not captured:\n\n T* p = new T;\n\n { // Captured variable\n name: \"p\",\n type: \"T*\",\n value: \"0x00400400\"\n status { is_error: true, description { format: \"unavailable\" } }\n }\n\nThe status should describe the reason for the missing value,\nsuch as `\u003coptimized out\u003e`, `\u003cinaccessible\u003e`, `\u003cpointers limit reached\u003e`.\n\nNote that a null pointer should not have members.\n\n5) An unnamed value:\n\n int* p = new int(7);\n\n { // Captured variable\n name: \"p\",\n value: \"0x00500500\",\n type: \"int*\",\n members { value: \"7\", type: \"int\" } }\n\n6) An unnamed pointer where the pointee was not captured:\n\n int* p = new int(7);\n int** pp = &p;\n\n { // Captured variable\n name: \"pp\",\n value: \"0x00500500\",\n type: \"int**\",\n members {\n value: \"0x00400400\",\n type: \"int*\"\n status {\n is_error: true,\n description: { format: \"unavailable\" } }\n }\n }\n }\n\nTo optimize computation, memory and network traffic, variables that\nrepeat in the output multiple times can be stored once in a shared\nvariable table and be referenced using the `var_table_index` field. The\nvariables stored in the shared table are nameless and are essentially\na partition of the complete variable. To reconstruct the complete\nvariable, merge the referencing variable with the referenced variable.\n\nWhen using the shared variable table, the following variables:\n\n T x = { 3, 7 };\n T* p = &x;\n T& r = x;\n\n { name: \"x\", var_table_index: 3, type: \"T\" } // Captured variables\n { name: \"p\", value \"0x00500500\", type=\"T*\", var_table_index: 3 }\n { name: \"r\", type=\"T&\", var_table_index: 3 }\n\n { // Shared variable table entry #3:\n members { name: \"m1\", value: \"3\", type: \"int\" },\n members { name: \"m2\", value: \"7\", type: \"int\" }\n }\n\nNote that the pointer address is stored with the referencing variable\nand not with the referenced variable. This allows the referenced variable\nto be shared between pointers and references.\n\nThe type field is optional. The debugger agent may or may not support it.", - "type": "object", - "properties": { - "status": { - "$ref": "StatusMessage", - "description": "Status associated with the variable. This field will usually stay\nunset. A status of a single variable only applies to that variable or\nexpression. The rest of breakpoint data still remains valid. Variables\nmight be reported in error state even when breakpoint is not in final\nstate.\n\nThe message may refer to variable name with `refers_to` set to\n`VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.\nIn either case variable value and members will be unset.\n\nExample of error message applied to name: `Invalid expression syntax`.\n\nExample of information message applied to value: `Not captured`.\n\nExamples of error message applied to value:\n\n* `Malformed string`,\n* `Field f not found in class C`\n* `Null pointer dereference`" - }, - "name": { - "description": "Name of the variable, if any.", - "type": "string" - }, - "type": { - "description": "Variable type (e.g. `MyClass`). If the variable is split with\n`var_table_index`, `type` goes next to `value`. The interpretation of\na type is agent specific. It is recommended to include the dynamic type\nrather than a static type of an object.", - "type": "string" - }, - "value": { - "type": "string", - "description": "Simple value of the variable." - }, - "varTableIndex": { - "format": "int32", - "description": "Reference to a variable in the shared variable table. More than\none variable can reference the same variable in the table. The\n`var_table_index` field is an index into `variable_table` in Breakpoint.", - "type": "integer" - }, - "members": { - "description": "Members contained or pointed to by the variable.", - "items": { - "$ref": "Variable" - }, - "type": "array" - } - }, - "id": "Variable" - }, - "StackFrame": { - "description": "Represents a stack frame context.", - "type": "object", - "properties": { - "arguments": { - "description": "Set of arguments passed to this function.\nNote that this might not be populated for all stack frames.", - "items": { - "$ref": "Variable" - }, - "type": "array" - }, - "locals": { - "description": "Set of local variables at the stack frame location.\nNote that this might not be populated for all stack frames.", - "items": { - "$ref": "Variable" - }, - "type": "array" - }, - "location": { - "$ref": "SourceLocation", - "description": "Source location of the call site." - }, - "function": { - "description": "Demangled function name at the call site.", - "type": "string" - } - }, - "id": "StackFrame" - }, - "RepoId": { - "type": "object", - "properties": { - "uid": { - "description": "A server-assigned, globally unique identifier.", - "type": "string" - }, - "projectRepoId": { - "$ref": "ProjectRepoId", - "description": "A combination of a project ID and a repo name." - } - }, - "id": "RepoId", - "description": "A unique identifier for a cloud repo." - }, - "FormatMessage": { - "description": "Represents a message with parameters.", - "type": "object", - "properties": { - "parameters": { - "description": "Optional parameters to be embedded into the message.", - "items": { - "type": "string" - }, - "type": "array" - }, - "format": { - "description": "Format template for the message. The `format` uses placeholders `$0`,\n`$1`, etc. to reference parameters. `$$` can be used to denote the `$`\ncharacter.\n\nExamples:\n\n* `Failed to load '$0' which helps debug $1 the first time it\n is loaded. Again, $0 is very important.`\n* `Please pay $$10 to use $0 instead of $1.`", - "type": "string" - } - }, - "id": "FormatMessage" - }, - "ExtendedSourceContext": { - "description": "An ExtendedSourceContext is a SourceContext combined with additional\ndetails describing the context.", - "type": "object", - "properties": { - "context": { - "$ref": "SourceContext", - "description": "Any source context." - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Labels with user defined metadata.", - "type": "object" - } - }, - "id": "ExtendedSourceContext" - }, - "AliasContext": { - "description": "An alias to a repo revision.", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The alias name." - }, - "kind": { - "enumDescriptions": [ - "Do not use.", - "Git tag", - "Git branch", - "OTHER is used to specify non-standard aliases, those not of the kinds\nabove. For example, if a Git repo has a ref named \"refs/foo/bar\", it\nis considered to be of kind OTHER." - ], - "enum": [ - "ANY", - "FIXED", - "MOVABLE", - "OTHER" - ], - "description": "The alias kind.", - "type": "string" - } - }, - "id": "AliasContext" - }, - "ListDebuggeesResponse": { - "description": "Response for listing debuggees.", - "type": "object", - "properties": { - "debuggees": { - "description": "List of debuggees accessible to the calling user.\nNote that the `description` field is the only human readable field\nthat should be displayed to the user.\nThe fields `debuggee.id` and `description` fields are guaranteed to be\nset on each debuggee.", - "items": { - "$ref": "Debuggee" - }, - "type": "array" - } - }, - "id": "ListDebuggeesResponse" - }, - "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", - "type": "object", - "properties": {}, - "id": "Empty" - }, - "SourceLocation": { - "description": "Represents a location in the source code.", - "type": "object", - "properties": { - "path": { - "description": "Path to the source file within the source context of the target binary.", - "type": "string" - }, - "line": { - "format": "int32", - "description": "Line inside the file. The first line in the file has the value `1`.", - "type": "integer" - } - }, - "id": "SourceLocation" - }, - "Debuggee": { - "description": "Represents the application to debug. The application may include one or more\nreplicated processes executing the same code. Each of these processes is\nattached with a debugger agent, carrying out the debugging commands.\nThe agents attached to the same debuggee are identified by using exactly the\nsame field values when registering.", - "type": "object", - "properties": { - "id": { - "description": "Unique identifier for the debuggee generated by the controller service.", - "type": "string" - }, - "agentVersion": { - "description": "Version ID of the agent release. The version ID is structured as\nfollowing: `domain/type/vmajor.minor` (for example\n`google.com/gcp-java/v1.1`).", - "type": "string" - }, - "isDisabled": { - "description": "If set to `true`, indicates that the agent should disable itself and\ndetach from the debuggee.", - "type": "boolean" - }, - "description": { - "description": "Human readable description of the debuggee.\nIncluding a human-readable project name, environment name and version\ninformation is recommended.", - "type": "string" - }, - "uniquifier": { - "description": "Debuggee uniquifier within the project.\nAny string that identifies the application within the project can be used.\nIncluding environment and version or build IDs is recommended.", - "type": "string" - }, - "sourceContexts": { - "description": "References to the locations and revisions of the source code used in the\ndeployed application.\n\nNOTE: This field is deprecated. Consumers should use\n`ext_source_contexts` if it is not empty. Debug agents should populate\nboth this field and `ext_source_contexts`.", - "items": { - "$ref": "SourceContext" - }, - "type": "array" - }, - "extSourceContexts": { - "description": "References to the locations and revisions of the source code used in the\ndeployed application.\n\nContexts describing a remote repo related to the source code\nhave a `category` label of `remote_repo`. Source snapshot source\ncontexts have a `category` of `snapshot`.", - "items": { - "$ref": "ExtendedSourceContext" - }, - "type": "array" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "A set of custom debuggee properties, populated by the agent, to be\ndisplayed to the user.", - "type": "object" - }, - "status": { - "description": "Human readable message to be displayed to the user about this debuggee.\nAbsence of this field indicates no status. The message can be either\ninformational or an error status.", - "$ref": "StatusMessage" - }, - "isInactive": { - "description": "If set to `true`, indicates that the debuggee is considered as inactive by\nthe Controller service.", - "type": "boolean" - }, - "project": { - "description": "Project the debuggee is associated with.\nUse the project number when registering a Google Cloud Platform project.", - "type": "string" - } - }, - "id": "Debuggee" - }, - "ListActiveBreakpointsResponse": { - "description": "Response for listing active breakpoints.", - "type": "object", - "properties": { - "breakpoints": { - "description": "List of all active breakpoints.\nThe fields `id` and `location` are guaranteed to be set on each breakpoint.", - "items": { - "$ref": "Breakpoint" - }, - "type": "array" - }, - "waitExpired": { - "description": "The `wait_expired` field is set to true by the server when the\nrequest times out and the field `success_on_timeout` is set to true.", - "type": "boolean" - }, - "nextWaitToken": { - "description": "A wait token that can be used in the next method call to block until\nthe list of breakpoints changes.", - "type": "string" - } - }, - "id": "ListActiveBreakpointsResponse" - }, - "ProjectRepoId": { - "description": "Selects a repo using a Google Cloud Platform project ID\n(e.g. winged-cargo-31) and a repo name within that project.", - "type": "object", - "properties": { - "repoName": { - "description": "The name of the repo. Leave empty for the default repo.", - "type": "string" - }, - "projectId": { - "description": "The ID of the project.", - "type": "string" - } - }, - "id": "ProjectRepoId" - }, "CloudWorkspaceSourceContext": { "description": "A CloudWorkspaceSourceContext denotes a workspace at a particular snapshot.", "type": "object", @@ -338,22 +20,30 @@ "type": "string" }, "workspaceId": { - "description": "The ID of the workspace.", - "$ref": "CloudWorkspaceId" + "$ref": "CloudWorkspaceId", + "description": "The ID of the workspace." } }, "id": "CloudWorkspaceSourceContext" }, "UpdateActiveBreakpointResponse": { + "description": "Response for updating an active breakpoint.\nThe message is defined to allow future extensions.", "type": "object", "properties": {}, - "id": "UpdateActiveBreakpointResponse", - "description": "Response for updating an active breakpoint.\nThe message is defined to allow future extensions." + "id": "UpdateActiveBreakpointResponse" }, "GerritSourceContext": { "description": "A SourceContext referring to a Gerrit project.", "type": "object", "properties": { + "aliasContext": { + "description": "An alias, which may be a branch or tag.", + "$ref": "AliasContext" + }, + "gerritProject": { + "description": "The full project name within the host. Projects may be nested, so\n\"project/subproject\" is a valid project name.\nThe \"repo name\" is hostURI/project.", + "type": "string" + }, "revisionId": { "description": "A revision (commit) ID.", "type": "string" @@ -365,14 +55,6 @@ "aliasName": { "description": "The name of an alias (branch, tag, etc.).", "type": "string" - }, - "aliasContext": { - "$ref": "AliasContext", - "description": "An alias, which may be a branch or tag." - }, - "gerritProject": { - "type": "string", - "description": "The full project name within the host. Projects may be nested, so\n\"project/subproject\" is a valid project name.\nThe \"repo name\" is hostURI/project." } }, "id": "GerritSourceContext" @@ -381,72 +63,46 @@ "description": "A CloudWorkspaceId is a unique identifier for a cloud workspace.\nA cloud workspace is a place associated with a repo where modified files\ncan be stored before they are committed.", "type": "object", "properties": { - "name": { - "description": "The unique name of the workspace within the repo. This is the name\nchosen by the client in the Source API's CreateWorkspace method.", - "type": "string" - }, "repoId": { "$ref": "RepoId", "description": "The ID of the repo containing the workspace." + }, + "name": { + "description": "The unique name of the workspace within the repo. This is the name\nchosen by the client in the Source API's CreateWorkspace method.", + "type": "string" } }, "id": "CloudWorkspaceId" }, "ListBreakpointsResponse": { + "description": "Response for listing breakpoints.", + "type": "object", "properties": { + "nextWaitToken": { + "description": "A wait token that can be used in the next call to `list` (REST) or\n`ListBreakpoints` (RPC) to block until the list of breakpoints has changes.", + "type": "string" + }, "breakpoints": { - "description": "List of breakpoints matching the request.\nThe fields `id` and `location` are guaranteed to be set on each breakpoint.\nThe fields: `stack_frames`, `evaluated_expressions` and `variable_table`\nare cleared on each breakpoint regardless of it's status.", + "description": "List of breakpoints matching the request.\nThe fields `id` and `location` are guaranteed to be set on each breakpoint.\nThe fields: `stack_frames`, `evaluated_expressions` and `variable_table`\nare cleared on each breakpoint regardless of its status.", "items": { "$ref": "Breakpoint" }, "type": "array" - }, - "nextWaitToken": { - "description": "A wait token that can be used in the next call to `list` (REST) or\n`ListBreakpoints` (RPC) to block until the list of breakpoints has changes.", - "type": "string" } }, - "id": "ListBreakpointsResponse", - "description": "Response for listing breakpoints.", - "type": "object" + "id": "ListBreakpointsResponse" }, "Breakpoint": { + "description": "Represents the breakpoint specification, status and results.", + "type": "object", "properties": { - "finalTime": { - "format": "google-datetime", - "description": "Time this breakpoint was finalized as seen by the server in seconds\nresolution.", - "type": "string" - }, - "variableTable": { - "description": "The `variable_table` exists to aid with computation, memory and network\ntraffic optimization. It enables storing a variable once and reference\nit from multiple variables, including variables stored in the\n`variable_table` itself.\nFor example, the same `this` object, which may appear at many levels of\nthe stack, can have all of its data stored once in this table. The\nstack frame variables then would hold only a reference to it.\n\nThe variable `var_table_index` field is an index into this repeated field.\nThe stored objects are nameless and get their name from the referencing\nvariable. The effective variable is a merge of the referencing variable\nand the referenced variable.", + "expressions": { + "description": "List of read-only expressions to evaluate at the breakpoint location.\nThe expressions are composed using expressions in the programming language\nat the source location. If the breakpoint action is `LOG`, the evaluated\nexpressions are included in log statements.", "items": { - "$ref": "Variable" + "type": "string" }, "type": "array" }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "A set of custom breakpoint properties, populated by the agent, to be\ndisplayed to the user.", - "type": "object" - }, - "logMessageFormat": { - "description": "Only relevant when action is `LOG`. Defines the message to log when\nthe breakpoint hits. The message may include parameter placeholders `$0`,\n`$1`, etc. These placeholders are replaced with the evaluated value\nof the appropriate expression. Expressions not referenced in\n`log_message_format` are not logged.\n\nExample: `Message received, id = $0, count = $1` with\n`expressions` = `[ message.id, message.count ]`.", - "type": "string" - }, - "createTime": { - "format": "google-datetime", - "description": "Time this breakpoint was created by the server in seconds resolution.", - "type": "string" - }, - "expressions": { - "items": { - "type": "string" - }, - "type": "array", - "description": "List of read-only expressions to evaluate at the breakpoint location.\nThe expressions are composed using expressions in the programming language\nat the source location. If the breakpoint action is `LOG`, the evaluated\nexpressions are included in log statements." - }, "evaluatedExpressions": { "description": "Values of evaluated expressions at breakpoint time.\nThe evaluated expressions appear in exactly the same order they\nare listed in the `expressions` field.\nThe `name` field holds the original expression text, the `value` or\n`members` field holds the result of the evaluated expression.\nIf the expression cannot be evaluated, the `status` inside the `Variable`\nwill indicate an error and contain the error text.", "items": { @@ -478,7 +134,6 @@ "type": "string" }, "action": { - "type": "string", "enumDescriptions": [ "Capture stack frame and variables and update the breakpoint.\nThe data is only captured once. After that the breakpoint is set\nin a final state.", "Log each breakpoint hit. The breakpoint remains active until\ndeleted or expired." @@ -487,7 +142,8 @@ "CAPTURE", "LOG" ], - "description": "Action that the agent should perform when the code at the\nbreakpoint location is hit." + "description": "Action that the agent should perform when the code at the\nbreakpoint location is hit.", + "type": "string" }, "logLevel": { "description": "Indicates the severity of the log. Only relevant when action is `LOG`.", @@ -504,67 +160,101 @@ ] }, "id": { - "type": "string", - "description": "Breakpoint identifier, unique in the scope of the debuggee." + "description": "Breakpoint identifier, unique in the scope of the debuggee.", + "type": "string" }, "location": { - "description": "Breakpoint source location.", - "$ref": "SourceLocation" + "$ref": "SourceLocation", + "description": "Breakpoint source location." + }, + "finalTime": { + "format": "google-datetime", + "description": "Time this breakpoint was finalized as seen by the server in seconds\nresolution.", + "type": "string" + }, + "variableTable": { + "description": "The `variable_table` exists to aid with computation, memory and network\ntraffic optimization. It enables storing a variable once and reference\nit from multiple variables, including variables stored in the\n`variable_table` itself.\nFor example, the same `this` object, which may appear at many levels of\nthe stack, can have all of its data stored once in this table. The\nstack frame variables then would hold only a reference to it.\n\nThe variable `var_table_index` field is an index into this repeated field.\nThe stored objects are nameless and get their name from the referencing\nvariable. The effective variable is a merge of the referencing variable\nand the referenced variable.", + "items": { + "$ref": "Variable" + }, + "type": "array" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of custom breakpoint properties, populated by the agent, to be\ndisplayed to the user.", + "type": "object" + }, + "logMessageFormat": { + "description": "Only relevant when action is `LOG`. Defines the message to log when\nthe breakpoint hits. The message may include parameter placeholders `$0`,\n`$1`, etc. These placeholders are replaced with the evaluated value\nof the appropriate expression. Expressions not referenced in\n`log_message_format` are not logged.\n\nExample: `Message received, id = $0, count = $1` with\n`expressions` = `[ message.id, message.count ]`.", + "type": "string" + }, + "createTime": { + "format": "google-datetime", + "description": "Time this breakpoint was created by the server in seconds resolution.", + "type": "string" } }, - "id": "Breakpoint", - "description": "Represents the breakpoint specification, status and results.", - "type": "object" - }, - "UpdateActiveBreakpointRequest": { - "type": "object", - "properties": { - "breakpoint": { - "description": "Updated breakpoint information.\nThe field 'id' must be set.", - "$ref": "Breakpoint" - } - }, - "id": "UpdateActiveBreakpointRequest", - "description": "Request to update an active breakpoint." + "id": "Breakpoint" }, "SetBreakpointResponse": { + "description": "Response for setting a breakpoint.", "type": "object", "properties": { "breakpoint": { - "description": "Breakpoint resource.\nThe field `id` is guaranteed to be set (in addition to the echoed fileds).", - "$ref": "Breakpoint" + "$ref": "Breakpoint", + "description": "Breakpoint resource.\nThe field `id` is guaranteed to be set (in addition to the echoed fileds)." } }, - "id": "SetBreakpointResponse", - "description": "Response for setting a breakpoint." + "id": "SetBreakpointResponse" + }, + "UpdateActiveBreakpointRequest": { + "description": "Request to update an active breakpoint.", + "type": "object", + "properties": { + "breakpoint": { + "$ref": "Breakpoint", + "description": "Updated breakpoint information.\nThe field `id` must be set.\nThe agent must echo all Breakpoint specification fields in the update." + } + }, + "id": "UpdateActiveBreakpointRequest" }, "SourceContext": { - "id": "SourceContext", "description": "A SourceContext is a reference to a tree of files. A SourceContext together\nwith a path point to a unique revision of a single file or directory.", "type": "object", "properties": { - "cloudWorkspace": { - "$ref": "CloudWorkspaceSourceContext", - "description": "A SourceContext referring to a snapshot in a cloud workspace." - }, - "cloudRepo": { - "description": "A SourceContext referring to a revision in a cloud repo.", - "$ref": "CloudRepoSourceContext" - }, "git": { - "$ref": "GitSourceContext", - "description": "A SourceContext referring to any third party Git repo (e.g. GitHub)." + "description": "A SourceContext referring to any third party Git repo (e.g. GitHub).", + "$ref": "GitSourceContext" }, "gerrit": { - "description": "A SourceContext referring to a Gerrit project.", - "$ref": "GerritSourceContext" + "$ref": "GerritSourceContext", + "description": "A SourceContext referring to a Gerrit project." + }, + "cloudWorkspace": { + "description": "A SourceContext referring to a snapshot in a cloud workspace.", + "$ref": "CloudWorkspaceSourceContext" + }, + "cloudRepo": { + "$ref": "CloudRepoSourceContext", + "description": "A SourceContext referring to a revision in a cloud repo." } - } + }, + "id": "SourceContext" }, "CloudRepoSourceContext": { "description": "A CloudRepoSourceContext denotes a particular revision in a cloud\nrepo (a repo hosted by the Google Cloud Platform).", "type": "object", "properties": { + "repoId": { + "description": "The ID of the repo.", + "$ref": "RepoId" + }, + "aliasContext": { + "description": "An alias, which may be a branch or tag.", + "$ref": "AliasContext" + }, "revisionId": { "description": "A revision ID.", "type": "string" @@ -572,19 +262,23 @@ "aliasName": { "description": "The name of an alias (branch, tag, etc.).", "type": "string" - }, - "repoId": { - "$ref": "RepoId", - "description": "The ID of the repo." - }, - "aliasContext": { - "$ref": "AliasContext", - "description": "An alias, which may be a branch or tag." } }, "id": "CloudRepoSourceContext" }, + "RegisterDebuggeeResponse": { + "description": "Response for registering a debuggee.", + "type": "object", + "properties": { + "debuggee": { + "description": "Debuggee resource.\nThe field `id` is guranteed to be set (in addition to the echoed fields).\nIf the field `is_disabled` is set to `true`, the agent should disable\nitself by removing all breakpoints and detaching from the application.\nIt should however continue to poll `RegisterDebuggee` until reenabled.", + "$ref": "Debuggee" + } + }, + "id": "RegisterDebuggeeResponse" + }, "RegisterDebuggeeRequest": { + "description": "Request to register a debuggee.", "type": "object", "properties": { "debuggee": { @@ -592,37 +286,352 @@ "description": "Debuggee information to register.\nThe fields `project`, `uniquifier`, `description` and `agent_version`\nof the debuggee must be set." } }, - "id": "RegisterDebuggeeRequest", - "description": "Request to register a debuggee." - }, - "RegisterDebuggeeResponse": { - "description": "Response for registering a debuggee.", - "type": "object", - "properties": { - "debuggee": { - "$ref": "Debuggee", - "description": "Debuggee resource.\nThe field `id` is guranteed to be set (in addition to the echoed fields)." - } - }, - "id": "RegisterDebuggeeResponse" + "id": "RegisterDebuggeeRequest" }, "GetBreakpointResponse": { "description": "Response for getting breakpoint information.", "type": "object", "properties": { "breakpoint": { - "$ref": "Breakpoint", - "description": "Complete breakpoint state.\nThe fields `id` and `location` are guaranteed to be set." + "description": "Complete breakpoint state.\nThe fields `id` and `location` are guaranteed to be set.", + "$ref": "Breakpoint" } }, "id": "GetBreakpointResponse" + }, + "StatusMessage": { + "description": "Represents a contextual status message.\nThe message can indicate an error or informational status, and refer to\nspecific parts of the containing object.\nFor example, the `Breakpoint.status` field can indicate an error referring\nto the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`.", + "type": "object", + "properties": { + "description": { + "$ref": "FormatMessage", + "description": "Status message text." + }, + "isError": { + "description": "Distinguishes errors from informational messages.", + "type": "boolean" + }, + "refersTo": { + "enumDescriptions": [ + "Status doesn't refer to any particular input.", + "Status applies to the breakpoint and is related to its location.", + "Status applies to the breakpoint and is related to its condition.", + "Status applies to the breakpoint and is related to its expressions.", + "Status applies to the breakpoint and is related to its age.", + "Status applies to the entire variable.", + "Status applies to variable value (variable name is valid)." + ], + "enum": [ + "UNSPECIFIED", + "BREAKPOINT_SOURCE_LOCATION", + "BREAKPOINT_CONDITION", + "BREAKPOINT_EXPRESSION", + "BREAKPOINT_AGE", + "VARIABLE_NAME", + "VARIABLE_VALUE" + ], + "description": "Reference to which the message applies.", + "type": "string" + } + }, + "id": "StatusMessage" + }, + "GitSourceContext": { + "description": "A GitSourceContext denotes a particular revision in a third party Git\nrepository (e.g. GitHub).", + "type": "object", + "properties": { + "revisionId": { + "description": "Git commit hash.\nrequired.", + "type": "string" + }, + "url": { + "description": "Git repository URL.", + "type": "string" + } + }, + "id": "GitSourceContext" + }, + "Variable": { + "description": "Represents a variable or an argument possibly of a compound object type.\nNote how the following variables are represented:\n\n1) A simple variable:\n\n int x = 5\n\n { name: \"x\", value: \"5\", type: \"int\" } // Captured variable\n\n2) A compound object:\n\n struct T {\n int m1;\n int m2;\n };\n T x = { 3, 7 };\n\n { // Captured variable\n name: \"x\",\n type: \"T\",\n members { name: \"m1\", value: \"3\", type: \"int\" },\n members { name: \"m2\", value: \"7\", type: \"int\" }\n }\n\n3) A pointer where the pointee was captured:\n\n T x = { 3, 7 };\n T* p = &x;\n\n { // Captured variable\n name: \"p\",\n type: \"T*\",\n value: \"0x00500500\",\n members { name: \"m1\", value: \"3\", type: \"int\" },\n members { name: \"m2\", value: \"7\", type: \"int\" }\n }\n\n4) A pointer where the pointee was not captured:\n\n T* p = new T;\n\n { // Captured variable\n name: \"p\",\n type: \"T*\",\n value: \"0x00400400\"\n status { is_error: true, description { format: \"unavailable\" } }\n }\n\nThe status should describe the reason for the missing value,\nsuch as `\u003coptimized out\u003e`, `\u003cinaccessible\u003e`, `\u003cpointers limit reached\u003e`.\n\nNote that a null pointer should not have members.\n\n5) An unnamed value:\n\n int* p = new int(7);\n\n { // Captured variable\n name: \"p\",\n value: \"0x00500500\",\n type: \"int*\",\n members { value: \"7\", type: \"int\" } }\n\n6) An unnamed pointer where the pointee was not captured:\n\n int* p = new int(7);\n int** pp = &p;\n\n { // Captured variable\n name: \"pp\",\n value: \"0x00500500\",\n type: \"int**\",\n members {\n value: \"0x00400400\",\n type: \"int*\"\n status {\n is_error: true,\n description: { format: \"unavailable\" } }\n }\n }\n }\n\nTo optimize computation, memory and network traffic, variables that\nrepeat in the output multiple times can be stored once in a shared\nvariable table and be referenced using the `var_table_index` field. The\nvariables stored in the shared table are nameless and are essentially\na partition of the complete variable. To reconstruct the complete\nvariable, merge the referencing variable with the referenced variable.\n\nWhen using the shared variable table, the following variables:\n\n T x = { 3, 7 };\n T* p = &x;\n T& r = x;\n\n { name: \"x\", var_table_index: 3, type: \"T\" } // Captured variables\n { name: \"p\", value \"0x00500500\", type=\"T*\", var_table_index: 3 }\n { name: \"r\", type=\"T&\", var_table_index: 3 }\n\n { // Shared variable table entry #3:\n members { name: \"m1\", value: \"3\", type: \"int\" },\n members { name: \"m2\", value: \"7\", type: \"int\" }\n }\n\nNote that the pointer address is stored with the referencing variable\nand not with the referenced variable. This allows the referenced variable\nto be shared between pointers and references.\n\nThe type field is optional. The debugger agent may or may not support it.", + "type": "object", + "properties": { + "members": { + "description": "Members contained or pointed to by the variable.", + "items": { + "$ref": "Variable" + }, + "type": "array" + }, + "status": { + "$ref": "StatusMessage", + "description": "Status associated with the variable. This field will usually stay\nunset. A status of a single variable only applies to that variable or\nexpression. The rest of breakpoint data still remains valid. Variables\nmight be reported in error state even when breakpoint is not in final\nstate.\n\nThe message may refer to variable name with `refers_to` set to\n`VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.\nIn either case variable value and members will be unset.\n\nExample of error message applied to name: `Invalid expression syntax`.\n\nExample of information message applied to value: `Not captured`.\n\nExamples of error message applied to value:\n\n* `Malformed string`,\n* `Field f not found in class C`\n* `Null pointer dereference`" + }, + "name": { + "description": "Name of the variable, if any.", + "type": "string" + }, + "type": { + "description": "Variable type (e.g. `MyClass`). If the variable is split with\n`var_table_index`, `type` goes next to `value`. The interpretation of\na type is agent specific. It is recommended to include the dynamic type\nrather than a static type of an object.", + "type": "string" + }, + "value": { + "description": "Simple value of the variable.", + "type": "string" + }, + "varTableIndex": { + "format": "int32", + "description": "Reference to a variable in the shared variable table. More than\none variable can reference the same variable in the table. The\n`var_table_index` field is an index into `variable_table` in Breakpoint.", + "type": "integer" + } + }, + "id": "Variable" + }, + "StackFrame": { + "description": "Represents a stack frame context.", + "type": "object", + "properties": { + "arguments": { + "description": "Set of arguments passed to this function.\nNote that this might not be populated for all stack frames.", + "items": { + "$ref": "Variable" + }, + "type": "array" + }, + "locals": { + "description": "Set of local variables at the stack frame location.\nNote that this might not be populated for all stack frames.", + "items": { + "$ref": "Variable" + }, + "type": "array" + }, + "location": { + "description": "Source location of the call site.", + "$ref": "SourceLocation" + }, + "function": { + "description": "Demangled function name at the call site.", + "type": "string" + } + }, + "id": "StackFrame" + }, + "RepoId": { + "description": "A unique identifier for a cloud repo.", + "type": "object", + "properties": { + "uid": { + "description": "A server-assigned, globally unique identifier.", + "type": "string" + }, + "projectRepoId": { + "description": "A combination of a project ID and a repo name.", + "$ref": "ProjectRepoId" + } + }, + "id": "RepoId" + }, + "FormatMessage": { + "description": "Represents a message with parameters.", + "type": "object", + "properties": { + "format": { + "description": "Format template for the message. The `format` uses placeholders `$0`,\n`$1`, etc. to reference parameters. `$$` can be used to denote the `$`\ncharacter.\n\nExamples:\n\n* `Failed to load '$0' which helps debug $1 the first time it\n is loaded. Again, $0 is very important.`\n* `Please pay $$10 to use $0 instead of $1.`", + "type": "string" + }, + "parameters": { + "description": "Optional parameters to be embedded into the message.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "FormatMessage" + }, + "ExtendedSourceContext": { + "description": "An ExtendedSourceContext is a SourceContext combined with additional\ndetails describing the context.", + "type": "object", + "properties": { + "labels": { + "description": "Labels with user defined metadata.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "context": { + "description": "Any source context.", + "$ref": "SourceContext" + } + }, + "id": "ExtendedSourceContext" + }, + "AliasContext": { + "description": "An alias to a repo revision.", + "type": "object", + "properties": { + "kind": { + "enumDescriptions": [ + "Do not use.", + "Git tag", + "Git branch", + "OTHER is used to specify non-standard aliases, those not of the kinds\nabove. For example, if a Git repo has a ref named \"refs/foo/bar\", it\nis considered to be of kind OTHER." + ], + "enum": [ + "ANY", + "FIXED", + "MOVABLE", + "OTHER" + ], + "description": "The alias kind.", + "type": "string" + }, + "name": { + "description": "The alias name.", + "type": "string" + } + }, + "id": "AliasContext" + }, + "ListDebuggeesResponse": { + "description": "Response for listing debuggees.", + "type": "object", + "properties": { + "debuggees": { + "description": "List of debuggees accessible to the calling user.\nThe fields `debuggee.id` and `description` are guaranteed to be set.\nThe `description` field is a human readable field provided by agents and\ncan be displayed to users.", + "items": { + "$ref": "Debuggee" + }, + "type": "array" + } + }, + "id": "ListDebuggeesResponse" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object", + "properties": {}, + "id": "Empty" + }, + "SourceLocation": { + "description": "Represents a location in the source code.", + "type": "object", + "properties": { + "line": { + "format": "int32", + "description": "Line inside the file. The first line in the file has the value `1`.", + "type": "integer" + }, + "path": { + "description": "Path to the source file within the source context of the target binary.", + "type": "string" + } + }, + "id": "SourceLocation" + }, + "Debuggee": { + "description": "Represents the debugged application. The application may include one or more\nreplicated processes executing the same code. Each of these processes is\nattached with a debugger agent, carrying out the debugging commands.\nAgents attached to the same debuggee identify themselves as such by using\nexactly the same Debuggee message value when registering.", + "type": "object", + "properties": { + "uniquifier": { + "description": "Uniquifier to further distiguish the application.\nIt is possible that different applications might have identical values in\nthe debuggee message, thus, incorrectly identified as a single application\nby the Controller service. This field adds salt to further distiguish the\napplication. Agents should consider seeding this field with value that\nidentifies the code, binary, configuration and environment.", + "type": "string" + }, + "description": { + "description": "Human readable description of the debuggee.\nIncluding a human-readable project name, environment name and version\ninformation is recommended.", + "type": "string" + }, + "sourceContexts": { + "description": "References to the locations and revisions of the source code used in the\ndeployed application.", + "items": { + "$ref": "SourceContext" + }, + "type": "array" + }, + "extSourceContexts": { + "description": "References to the locations and revisions of the source code used in the\ndeployed application.\n\nNOTE: this field is experimental and can be ignored.", + "items": { + "$ref": "ExtendedSourceContext" + }, + "type": "array" + }, + "labels": { + "description": "A set of custom debuggee properties, populated by the agent, to be\ndisplayed to the user.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "status": { + "description": "Human readable message to be displayed to the user about this debuggee.\nAbsence of this field indicates no status. The message can be either\ninformational or an error status.", + "$ref": "StatusMessage" + }, + "isInactive": { + "description": "If set to `true`, indicates that Controller service does not detect any\nactivity from the debuggee agents and the application is possibly stopped.", + "type": "boolean" + }, + "project": { + "description": "Project the debuggee is associated with.\nUse project number or id when registering a Google Cloud Platform project.", + "type": "string" + }, + "isDisabled": { + "description": "If set to `true`, indicates that the agent should disable itself and\ndetach from the debuggee.", + "type": "boolean" + }, + "agentVersion": { + "description": "Version ID of the agent.\nSchema: `domain/language-platform/vmajor.minor` (for example\n`google.com/java-gcp/v1.1`).", + "type": "string" + }, + "id": { + "description": "Unique identifier for the debuggee generated by the controller service.", + "type": "string" + } + }, + "id": "Debuggee" + }, + "ListActiveBreakpointsResponse": { + "description": "Response for listing active breakpoints.", + "type": "object", + "properties": { + "waitExpired": { + "description": "If set to `true`, indicates that there is no change to the\nlist of active breakpoints and the server-selected timeout has expired.\nThe `breakpoints` field would be empty and should be ignored.", + "type": "boolean" + }, + "nextWaitToken": { + "description": "A token that can be used in the next method call to block until\nthe list of breakpoints changes.", + "type": "string" + }, + "breakpoints": { + "description": "List of all active breakpoints.\nThe fields `id` and `location` are guaranteed to be set on each breakpoint.", + "items": { + "$ref": "Breakpoint" + }, + "type": "array" + } + }, + "id": "ListActiveBreakpointsResponse" + }, + "ProjectRepoId": { + "description": "Selects a repo using a Google Cloud Platform project ID\n(e.g. winged-cargo-31) and a repo name within that project.", + "type": "object", + "properties": { + "repoName": { + "description": "The name of the repo. Leave empty for the default repo.", + "type": "string" + }, + "projectId": { + "description": "The ID of the project.", + "type": "string" + } + }, + "id": "ProjectRepoId" } }, - "protocol": "rest", "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.gif" }, + "protocol": "rest", "canonicalName": "Cloud Debugger", "auth": { "oauth2": { @@ -643,28 +652,240 @@ "title": "Stackdriver Debugger API", "ownerName": "Google", "resources": { + "debugger": { + "resources": { + "debuggees": { + "methods": { + "list": { + "response": { + "$ref": "ListDebuggeesResponse" + }, + "parameterOrder": [], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugger" + ], + "parameters": { + "clientVersion": { + "location": "query", + "description": "The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).", + "type": "string" + }, + "includeInactive": { + "description": "When set to `true`, the result includes all debuggees. Otherwise, the\nresult includes only debuggees that are active.", + "type": "boolean", + "location": "query" + }, + "project": { + "location": "query", + "description": "Project number of a Google Cloud project whose debuggees to list.", + "type": "string" + } + }, + "flatPath": "v2/debugger/debuggees", + "id": "clouddebugger.debugger.debuggees.list", + "path": "v2/debugger/debuggees", + "description": "Lists all the debuggees that the user has access to." + } + }, + "resources": { + "breakpoints": { + "methods": { + "list": { + "flatPath": "v2/debugger/debuggees/{debuggeeId}/breakpoints", + "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints", + "id": "clouddebugger.debugger.debuggees.breakpoints.list", + "description": "Lists all breakpoints for the debuggee.", + "httpMethod": "GET", + "parameterOrder": [ + "debuggeeId" + ], + "response": { + "$ref": "ListBreakpointsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugger" + ], + "parameters": { + "stripResults": { + "description": "This field is deprecated. The following fields are always stripped out of\nthe result: `stack_frames`, `evaluated_expressions` and `variable_table`.", + "type": "boolean", + "location": "query" + }, + "debuggeeId": { + "description": "ID of the debuggee whose breakpoints to list.", + "type": "string", + "required": true, + "location": "path" + }, + "waitToken": { + "location": "query", + "description": "A wait token that, if specified, blocks the call until the breakpoints\nlist has changed, or a server selected timeout has expired. The value\nshould be set from the last response. The error code\n`google.rpc.Code.ABORTED` (RPC) is returned on wait timeout, which\nshould be called again with the same `wait_token`.", + "type": "string" + }, + "clientVersion": { + "location": "query", + "description": "The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).", + "type": "string" + }, + "action.value": { + "description": "Only breakpoints with the specified action will pass the filter.", + "type": "string", + "location": "query", + "enum": [ + "CAPTURE", + "LOG" + ] + }, + "includeInactive": { + "location": "query", + "description": "When set to `true`, the response includes active and inactive\nbreakpoints. Otherwise, it includes only active breakpoints.", + "type": "boolean" + }, + "includeAllUsers": { + "description": "When set to `true`, the response includes the list of breakpoints set by\nany user. Otherwise, it includes only breakpoints set by the caller.", + "type": "boolean", + "location": "query" + } + } + }, + "get": { + "flatPath": "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}", + "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}", + "id": "clouddebugger.debugger.debuggees.breakpoints.get", + "description": "Gets breakpoint information.", + "httpMethod": "GET", + "parameterOrder": [ + "debuggeeId", + "breakpointId" + ], + "response": { + "$ref": "GetBreakpointResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugger" + ], + "parameters": { + "clientVersion": { + "location": "query", + "description": "The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).", + "type": "string" + }, + "breakpointId": { + "location": "path", + "description": "ID of the breakpoint to get.", + "type": "string", + "required": true + }, + "debuggeeId": { + "location": "path", + "description": "ID of the debuggee whose breakpoint to get.", + "type": "string", + "required": true + } + } + }, + "delete": { + "description": "Deletes the breakpoint from the debuggee.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "debuggeeId", + "breakpointId" + ], + "httpMethod": "DELETE", + "parameters": { + "debuggeeId": { + "description": "ID of the debuggee whose breakpoint to delete.", + "type": "string", + "required": true, + "location": "path" + }, + "clientVersion": { + "description": "The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).", + "type": "string", + "location": "query" + }, + "breakpointId": { + "location": "path", + "description": "ID of the breakpoint to delete.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugger" + ], + "flatPath": "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}", + "id": "clouddebugger.debugger.debuggees.breakpoints.delete", + "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}" + }, + "set": { + "description": "Sets the breakpoint to the debuggee.", + "request": { + "$ref": "Breakpoint" + }, + "response": { + "$ref": "SetBreakpointResponse" + }, + "parameterOrder": [ + "debuggeeId" + ], + "httpMethod": "POST", + "parameters": { + "debuggeeId": { + "description": "ID of the debuggee where the breakpoint is to be set.", + "type": "string", + "required": true, + "location": "path" + }, + "clientVersion": { + "location": "query", + "description": "The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugger" + ], + "flatPath": "v2/debugger/debuggees/{debuggeeId}/breakpoints/set", + "id": "clouddebugger.debugger.debuggees.breakpoints.set", + "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints/set" + } + } + } + } + } + } + }, "controller": { "resources": { "debuggees": { "methods": { "register": { - "flatPath": "v2/controller/debuggees/register", - "path": "v2/controller/debuggees/register", - "id": "clouddebugger.controller.debuggees.register", - "description": "Registers the debuggee with the controller service.\n\nAll agents attached to the same application should call this method with\nthe same request content to get back the same stable `debuggee_id`. Agents\nshould call this method again whenever `google.rpc.Code.NOT_FOUND` is\nreturned from any controller method.\n\nThis allows the controller service to disable the agent or recover from any\ndata loss. If the debuggee is disabled by the server, the response will\nhave `is_disabled` set to `true`.", - "request": { - "$ref": "RegisterDebuggeeRequest" - }, - "httpMethod": "POST", - "parameterOrder": [], "response": { "$ref": "RegisterDebuggeeResponse" }, + "parameterOrder": [], + "httpMethod": "POST", "parameters": {}, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud_debugger" - ] + ], + "flatPath": "v2/controller/debuggees/register", + "id": "clouddebugger.controller.debuggees.register", + "path": "v2/controller/debuggees/register", + "description": "Registers the debuggee with the controller service.\n\nAll agents attached to the same application must call this method with\nexactly the same request content to get back the same stable `debuggee_id`.\nAgents should call this method again whenever `google.rpc.Code.NOT_FOUND`\nis returned from any controller method.\n\nThis protocol allows the controller service to disable debuggees, recover\nfrom data loss, or change the `debuggee_id` format. Agents must handle\n`debuggee_id` value changing upon re-registration.", + "request": { + "$ref": "RegisterDebuggeeRequest" + } } }, "resources": { @@ -678,10 +899,14 @@ "debuggeeId" ], "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugger" + ], "parameters": { "successOnTimeout": { "location": "query", - "description": "If set to `true`, returns `google.rpc.Code.OK` status and sets the\n`wait_expired` response field to `true` when the server-selected timeout\nhas expired (recommended).\n\nIf set to `false`, returns `google.rpc.Code.ABORTED` status when the\nserver-selected timeout has expired (deprecated).", + "description": "If set to `true` (recommended), returns `google.rpc.Code.OK` status and\nsets the `wait_expired` response field to `true` when the server-selected\ntimeout has expired.\n\nIf set to `false` (deprecated), returns `google.rpc.Code.ABORTED` status\nwhen the server-selected timeout has expired.", "type": "boolean" }, "debuggeeId": { @@ -691,29 +916,36 @@ "location": "path" }, "waitToken": { - "description": "A wait token that, if specified, blocks the method call until the list\nof active breakpoints has changed, or a server selected timeout has\nexpired. The value should be set from the last returned response.", - "type": "string", - "location": "query" + "location": "query", + "description": "A token that, if specified, blocks the method call until the list\nof active breakpoints has changed, or a server-selected timeout has\nexpired. The value should be set from the `next_wait_token` field in\nthe last response. The initial value should be set to `\"init\"`.", + "type": "string" } }, + "flatPath": "v2/controller/debuggees/{debuggeeId}/breakpoints", + "id": "clouddebugger.controller.debuggees.breakpoints.list", + "path": "v2/controller/debuggees/{debuggeeId}/breakpoints", + "description": "Returns the list of all active breakpoints for the debuggee.\n\nThe breakpoint specification (`location`, `condition`, and `expressions`\nfields) is semantically immutable, although the field values may\nchange. For example, an agent may update the location line number\nto reflect the actual line where the breakpoint was set, but this\ndoesn't change the breakpoint semantics.\n\nThis means that an agent does not need to check if a breakpoint has changed\nwhen it encounters the same breakpoint on a successive call.\nMoreover, an agent should remember the breakpoints that are completed\nuntil the controller removes them from the active list to avoid\nsetting those breakpoints again." + }, + "update": { + "flatPath": "v2/controller/debuggees/{debuggeeId}/breakpoints/{id}", + "path": "v2/controller/debuggees/{debuggeeId}/breakpoints/{id}", + "id": "clouddebugger.controller.debuggees.breakpoints.update", + "request": { + "$ref": "UpdateActiveBreakpointRequest" + }, + "description": "Updates the breakpoint state or mutable fields.\nThe entire Breakpoint message must be sent back to the controller service.\n\nUpdates to active breakpoint fields are only allowed if the new value\ndoes not change the breakpoint specification. Updates to the `location`,\n`condition` and `expressions` fields should not alter the breakpoint\nsemantics. These may only make changes such as canonicalizing a value\nor snapping the location to the correct line of code.", + "httpMethod": "PUT", + "parameterOrder": [ + "debuggeeId", + "id" + ], + "response": { + "$ref": "UpdateActiveBreakpointResponse" + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud_debugger" ], - "flatPath": "v2/controller/debuggees/{debuggeeId}/breakpoints", - "id": "clouddebugger.controller.debuggees.breakpoints.list", - "path": "v2/controller/debuggees/{debuggeeId}/breakpoints", - "description": "Returns the list of all active breakpoints for the debuggee.\n\nThe breakpoint specification (location, condition, and expression\nfields) is semantically immutable, although the field values may\nchange. For example, an agent may update the location line number\nto reflect the actual line where the breakpoint was set, but this\ndoesn't change the breakpoint semantics.\n\nThis means that an agent does not need to check if a breakpoint has changed\nwhen it encounters the same breakpoint on a successive call.\nMoreover, an agent should remember the breakpoints that are completed\nuntil the controller removes them from the active list to avoid\nsetting those breakpoints again." - }, - "update": { - "response": { - "$ref": "UpdateActiveBreakpointResponse" - }, - "parameterOrder": [ - "debuggeeId", - "id" - ], - "httpMethod": "PUT", "parameters": { "debuggeeId": { "location": "path", @@ -722,22 +954,11 @@ "required": true }, "id": { - "location": "path", "description": "Breakpoint identifier, unique in the scope of the debuggee.", "type": "string", - "required": true + "required": true, + "location": "path" } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud_debugger" - ], - "flatPath": "v2/controller/debuggees/{debuggeeId}/breakpoints/{id}", - "id": "clouddebugger.controller.debuggees.breakpoints.update", - "path": "v2/controller/debuggees/{debuggeeId}/breakpoints/{id}", - "description": "Updates the breakpoint state or mutable fields.\nThe entire Breakpoint message must be sent back to the controller\nservice.\n\nUpdates to active breakpoint fields are only allowed if the new value\ndoes not change the breakpoint specification. Updates to the `location`,\n`condition` and `expression` fields should not alter the breakpoint\nsemantics. These may only make changes such as canonicalizing a value\nor snapping the location to the correct line of code.", - "request": { - "$ref": "UpdateActiveBreakpointRequest" } } } @@ -745,241 +966,14 @@ } } } - }, - "debugger": { - "resources": { - "debuggees": { - "resources": { - "breakpoints": { - "methods": { - "list": { - "flatPath": "v2/debugger/debuggees/{debuggeeId}/breakpoints", - "id": "clouddebugger.debugger.debuggees.breakpoints.list", - "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints", - "description": "Lists all breakpoints for the debuggee.", - "response": { - "$ref": "ListBreakpointsResponse" - }, - "parameterOrder": [ - "debuggeeId" - ], - "httpMethod": "GET", - "parameters": { - "stripResults": { - "type": "boolean", - "location": "query", - "description": "This field is deprecated. The following fields are always stripped out of\nthe result: `stack_frames`, `evaluated_expressions` and `variable_table`." - }, - "debuggeeId": { - "location": "path", - "description": "ID of the debuggee whose breakpoints to list.", - "type": "string", - "required": true - }, - "waitToken": { - "type": "string", - "location": "query", - "description": "A wait token that, if specified, blocks the call until the breakpoints\nlist has changed, or a server selected timeout has expired. The value\nshould be set from the last response. The error code\n`google.rpc.Code.ABORTED` (RPC) is returned on wait timeout, which\nshould be called again with the same `wait_token`." - }, - "clientVersion": { - "type": "string", - "location": "query", - "description": "The client version making the call.\nFollowing: `domain/type/version` (e.g., `google.com/intellij/v1`)." - }, - "action.value": { - "location": "query", - "enum": [ - "CAPTURE", - "LOG" - ], - "description": "Only breakpoints with the specified action will pass the filter.", - "type": "string" - }, - "includeInactive": { - "location": "query", - "description": "When set to `true`, the response includes active and inactive\nbreakpoints. Otherwise, it includes only active breakpoints.", - "type": "boolean" - }, - "includeAllUsers": { - "description": "When set to `true`, the response includes the list of breakpoints set by\nany user. Otherwise, it includes only breakpoints set by the caller.", - "type": "boolean", - "location": "query" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud_debugger" - ] - }, - "get": { - "description": "Gets breakpoint information.", - "httpMethod": "GET", - "response": { - "$ref": "GetBreakpointResponse" - }, - "parameterOrder": [ - "debuggeeId", - "breakpointId" - ], - "parameters": { - "breakpointId": { - "description": "ID of the breakpoint to get.", - "type": "string", - "required": true, - "location": "path" - }, - "debuggeeId": { - "location": "path", - "description": "ID of the debuggee whose breakpoint to get.", - "type": "string", - "required": true - }, - "clientVersion": { - "location": "query", - "description": "The client version making the call.\nFollowing: `domain/type/version` (e.g., `google.com/intellij/v1`).", - "type": "string" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud_debugger" - ], - "flatPath": "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}", - "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}", - "id": "clouddebugger.debugger.debuggees.breakpoints.get" - }, - "delete": { - "parameterOrder": [ - "debuggeeId", - "breakpointId" - ], - "response": { - "$ref": "Empty" - }, - "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud_debugger" - ], - "parameters": { - "clientVersion": { - "description": "The client version making the call.\nFollowing: `domain/type/version` (e.g., `google.com/intellij/v1`).", - "type": "string", - "location": "query" - }, - "breakpointId": { - "description": "ID of the breakpoint to delete.", - "type": "string", - "required": true, - "location": "path" - }, - "debuggeeId": { - "location": "path", - "description": "ID of the debuggee whose breakpoint to delete.", - "type": "string", - "required": true - } - }, - "flatPath": "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}", - "id": "clouddebugger.debugger.debuggees.breakpoints.delete", - "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}", - "description": "Deletes the breakpoint from the debuggee." - }, - "set": { - "description": "Sets the breakpoint to the debuggee.", - "request": { - "$ref": "Breakpoint" - }, - "httpMethod": "POST", - "parameterOrder": [ - "debuggeeId" - ], - "response": { - "$ref": "SetBreakpointResponse" - }, - "parameters": { - "clientVersion": { - "description": "The client version making the call.\nFollowing: `domain/type/version` (e.g., `google.com/intellij/v1`).", - "type": "string", - "location": "query" - }, - "debuggeeId": { - "description": "ID of the debuggee where the breakpoint is to be set.", - "type": "string", - "required": true, - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud_debugger" - ], - "flatPath": "v2/debugger/debuggees/{debuggeeId}/breakpoints/set", - "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints/set", - "id": "clouddebugger.debugger.debuggees.breakpoints.set" - } - } - } - }, - "methods": { - "list": { - "description": "Lists all the debuggees that the user can set breakpoints to.", - "response": { - "$ref": "ListDebuggeesResponse" - }, - "parameterOrder": [], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud_debugger" - ], - "parameters": { - "includeInactive": { - "location": "query", - "description": "When set to `true`, the result includes all debuggees. Otherwise, the\nresult includes only debuggees that are active.", - "type": "boolean" - }, - "project": { - "location": "query", - "description": "Project number of a Google Cloud project whose debuggees to list.", - "type": "string" - }, - "clientVersion": { - "location": "query", - "description": "The client version making the call.\nFollowing: `domain/type/version` (e.g., `google.com/intellij/v1`).", - "type": "string" - } - }, - "flatPath": "v2/debugger/debuggees", - "id": "clouddebugger.debugger.debuggees.list", - "path": "v2/debugger/debuggees" - } - } - } - } } }, "parameters": { - "access_token": { - "location": "query", - "description": "OAuth access token.", - "type": "string" - }, - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string", - "location": "query" - }, - "quotaUser": { - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" - }, "pp": { - "location": "query", "description": "Pretty-print response.", "default": "true", - "type": "boolean" + "type": "boolean", + "location": "query" }, "oauth_token": { "description": "OAuth 2.0 token for the current user.", @@ -987,9 +981,9 @@ "location": "query" }, "bearer_token": { - "type": "string", "location": "query", - "description": "OAuth bearer token." + "description": "OAuth bearer token.", + "type": "string" }, "upload_protocol": { "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", @@ -1008,17 +1002,16 @@ "type": "string" }, "fields": { - "type": "string", "location": "query", - "description": "Selector specifying which fields to include in a partial response." + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" }, "callback": { + "location": "query", "description": "JSONP", - "type": "string", - "location": "query" + "type": "string" }, "$.xgafv": { - "type": "string", "enumDescriptions": [ "v1 error format", "v2 error format" @@ -1028,9 +1021,12 @@ "1", "2" ], - "description": "V1 error format." + "description": "V1 error format.", + "type": "string" }, "alt": { + "description": "Data format for response.", + "default": "json", "enum": [ "json", "media", @@ -1042,18 +1038,22 @@ "Media download with context-dependent Content-Type", "Responses with Content-Type of application/x-protobuf" ], + "location": "query" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", + "location": "query" + }, + "access_token": { "location": "query", - "description": "Data format for response.", - "default": "json" + "description": "OAuth access token.", + "type": "string" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" } - }, - "version": "v2", - "baseUrl": "https://clouddebugger.googleapis.com/", - "kind": "discovery#restDescription", - "description": "Examines the call stack and variables of a running application without stopping or slowing it down.\n", - "servicePath": "", - "basePath": "", - "id": "clouddebugger:v2", - "documentationLink": "http://cloud.google.com/debugger", - "revision": "20170621" + } } diff --git a/vendor/google.golang.org/api/clouddebugger/v2/clouddebugger-gen.go b/vendor/google.golang.org/api/clouddebugger/v2/clouddebugger-gen.go index 98f3871c3..91399fd95 100644 --- a/vendor/google.golang.org/api/clouddebugger/v2/clouddebugger-gen.go +++ b/vendor/google.golang.org/api/clouddebugger/v2/clouddebugger-gen.go @@ -458,21 +458,20 @@ func (s *CloudWorkspaceSourceContext) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Debuggee: Represents the application to debug. The application may +// Debuggee: Represents the debugged application. The application may // include one or more // replicated processes executing the same code. Each of these processes // is // attached with a debugger agent, carrying out the debugging // commands. -// The agents attached to the same debuggee are identified by using -// exactly the -// same field values when registering. +// Agents attached to the same debuggee identify themselves as such by +// using +// exactly the same Debuggee message value when registering. type Debuggee struct { - // AgentVersion: Version ID of the agent release. The version ID is - // structured as - // following: `domain/type/vmajor.minor` (for + // AgentVersion: Version ID of the agent. + // Schema: `domain/language-platform/vmajor.minor` (for // example - // `google.com/gcp-java/v1.1`). + // `google.com/java-gcp/v1.1`). AgentVersion string `json:"agentVersion,omitempty"` // Description: Human readable description of the debuggee. @@ -485,10 +484,7 @@ type Debuggee struct { // source code used in the // deployed application. // - // Contexts describing a remote repo related to the source code - // have a `category` label of `remote_repo`. Source snapshot - // source - // contexts have a `category` of `snapshot`. + // NOTE: this field is experimental and can be ignored. ExtSourceContexts []*ExtendedSourceContext `json:"extSourceContexts,omitempty"` // Id: Unique identifier for the debuggee generated by the controller @@ -500,9 +496,10 @@ type Debuggee struct { // detach from the debuggee. IsDisabled bool `json:"isDisabled,omitempty"` - // IsInactive: If set to `true`, indicates that the debuggee is - // considered as inactive by - // the Controller service. + // IsInactive: If set to `true`, indicates that Controller service does + // not detect any + // activity from the debuggee agents and the application is possibly + // stopped. IsInactive bool `json:"isInactive,omitempty"` // Labels: A set of custom debuggee properties, populated by the agent, @@ -511,19 +508,13 @@ type Debuggee struct { Labels map[string]string `json:"labels,omitempty"` // Project: Project the debuggee is associated with. - // Use the project number when registering a Google Cloud Platform + // Use project number or id when registering a Google Cloud Platform // project. Project string `json:"project,omitempty"` // SourceContexts: References to the locations and revisions of the // source code used in the // deployed application. - // - // NOTE: This field is deprecated. Consumers should - // use - // `ext_source_contexts` if it is not empty. Debug agents should - // populate - // both this field and `ext_source_contexts`. SourceContexts []*SourceContext `json:"sourceContexts,omitempty"` // Status: Human readable message to be displayed to the user about this @@ -533,10 +524,16 @@ type Debuggee struct { // informational or an error status. Status *StatusMessage `json:"status,omitempty"` - // Uniquifier: Debuggee uniquifier within the project. - // Any string that identifies the application within the project can be - // used. - // Including environment and version or build IDs is recommended. + // Uniquifier: Uniquifier to further distiguish the application. + // It is possible that different applications might have identical + // values in + // the debuggee message, thus, incorrectly identified as a single + // application + // by the Controller service. This field adds salt to further distiguish + // the + // application. Agents should consider seeding this field with value + // that + // identifies the code, binary, configuration and environment. Uniquifier string `json:"uniquifier,omitempty"` // ForceSendFields is a list of field names (e.g. "AgentVersion") to @@ -772,14 +769,16 @@ type ListActiveBreakpointsResponse struct { // breakpoint. Breakpoints []*Breakpoint `json:"breakpoints,omitempty"` - // NextWaitToken: A wait token that can be used in the next method call - // to block until + // NextWaitToken: A token that can be used in the next method call to + // block until // the list of breakpoints changes. NextWaitToken string `json:"nextWaitToken,omitempty"` - // WaitExpired: The `wait_expired` field is set to true by the server - // when the - // request times out and the field `success_on_timeout` is set to true. + // WaitExpired: If set to `true`, indicates that there is no change to + // the + // list of active breakpoints and the server-selected timeout has + // expired. + // The `breakpoints` field would be empty and should be ignored. WaitExpired bool `json:"waitExpired,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -816,7 +815,7 @@ type ListBreakpointsResponse struct { // breakpoint. // The fields: `stack_frames`, `evaluated_expressions` and // `variable_table` - // are cleared on each breakpoint regardless of it's status. + // are cleared on each breakpoint regardless of its status. Breakpoints []*Breakpoint `json:"breakpoints,omitempty"` // NextWaitToken: A wait token that can be used in the next call to @@ -855,12 +854,11 @@ func (s *ListBreakpointsResponse) MarshalJSON() ([]byte, error) { // ListDebuggeesResponse: Response for listing debuggees. type ListDebuggeesResponse struct { // Debuggees: List of debuggees accessible to the calling user. - // Note that the `description` field is the only human readable - // field - // that should be displayed to the user. - // The fields `debuggee.id` and `description` fields are guaranteed to - // be - // set on each debuggee. + // The fields `debuggee.id` and `description` are guaranteed to be + // set. + // The `description` field is a human readable field provided by agents + // and + // can be displayed to users. Debuggees []*Debuggee `json:"debuggees,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -959,6 +957,12 @@ type RegisterDebuggeeResponse struct { // Debuggee: Debuggee resource. // The field `id` is guranteed to be set (in addition to the echoed // fields). + // If the field `is_disabled` is set to `true`, the agent should + // disable + // itself by removing all breakpoints and detaching from the + // application. + // It should however continue to poll `RegisterDebuggee` until + // reenabled. Debuggee *Debuggee `json:"debuggee,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -1225,7 +1229,9 @@ func (s *StatusMessage) MarshalJSON() ([]byte, error) { // breakpoint. type UpdateActiveBreakpointRequest struct { // Breakpoint: Updated breakpoint information. - // The field 'id' must be set. + // The field `id` must be set. + // The agent must echo all Breakpoint specification fields in the + // update. Breakpoint *Breakpoint `json:"breakpoint,omitempty"` // ForceSendFields is a list of field names (e.g. "Breakpoint") to @@ -1473,19 +1479,19 @@ type ControllerDebuggeesRegisterCall struct { // Register: Registers the debuggee with the controller service. // -// All agents attached to the same application should call this method +// All agents attached to the same application must call this method // with -// the same request content to get back the same stable `debuggee_id`. -// Agents -// should call this method again whenever `google.rpc.Code.NOT_FOUND` -// is -// returned from any controller method. +// exactly the same request content to get back the same stable +// `debuggee_id`. +// Agents should call this method again whenever +// `google.rpc.Code.NOT_FOUND` +// is returned from any controller method. // -// This allows the controller service to disable the agent or recover -// from any -// data loss. If the debuggee is disabled by the server, the response -// will -// have `is_disabled` set to `true`. +// This protocol allows the controller service to disable debuggees, +// recover +// from data loss, or change the `debuggee_id` format. Agents must +// handle +// `debuggee_id` value changing upon re-registration. func (r *ControllerDebuggeesService) Register(registerdebuggeerequest *RegisterDebuggeeRequest) *ControllerDebuggeesRegisterCall { c := &ControllerDebuggeesRegisterCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.registerdebuggeerequest = registerdebuggeerequest @@ -1575,7 +1581,7 @@ func (c *ControllerDebuggeesRegisterCall) Do(opts ...googleapi.CallOption) (*Reg } return ret, nil // { - // "description": "Registers the debuggee with the controller service.\n\nAll agents attached to the same application should call this method with\nthe same request content to get back the same stable `debuggee_id`. Agents\nshould call this method again whenever `google.rpc.Code.NOT_FOUND` is\nreturned from any controller method.\n\nThis allows the controller service to disable the agent or recover from any\ndata loss. If the debuggee is disabled by the server, the response will\nhave `is_disabled` set to `true`.", + // "description": "Registers the debuggee with the controller service.\n\nAll agents attached to the same application must call this method with\nexactly the same request content to get back the same stable `debuggee_id`.\nAgents should call this method again whenever `google.rpc.Code.NOT_FOUND`\nis returned from any controller method.\n\nThis protocol allows the controller service to disable debuggees, recover\nfrom data loss, or change the `debuggee_id` format. Agents must handle\n`debuggee_id` value changing upon re-registration.", // "flatPath": "v2/controller/debuggees/register", // "httpMethod": "POST", // "id": "clouddebugger.controller.debuggees.register", @@ -1610,8 +1616,8 @@ type ControllerDebuggeesBreakpointsListCall struct { // List: Returns the list of all active breakpoints for the // debuggee. // -// The breakpoint specification (location, condition, and -// expression +// The breakpoint specification (`location`, `condition`, and +// `expressions` // fields) is semantically immutable, although the field values // may // change. For example, an agent may update the location line number @@ -1635,25 +1641,27 @@ func (r *ControllerDebuggeesBreakpointsService) List(debuggeeId string) *Control } // SuccessOnTimeout sets the optional parameter "successOnTimeout": If -// set to `true`, returns `google.rpc.Code.OK` status and sets -// the -// `wait_expired` response field to `true` when the server-selected -// timeout -// has expired (recommended). +// set to `true` (recommended), returns `google.rpc.Code.OK` status +// and +// sets the `wait_expired` response field to `true` when the +// server-selected +// timeout has expired. // -// If set to `false`, returns `google.rpc.Code.ABORTED` status when -// the -// server-selected timeout has expired (deprecated). +// If set to `false` (deprecated), returns `google.rpc.Code.ABORTED` +// status +// when the server-selected timeout has expired. func (c *ControllerDebuggeesBreakpointsListCall) SuccessOnTimeout(successOnTimeout bool) *ControllerDebuggeesBreakpointsListCall { c.urlParams_.Set("successOnTimeout", fmt.Sprint(successOnTimeout)) return c } -// WaitToken sets the optional parameter "waitToken": A wait token that, -// if specified, blocks the method call until the list -// of active breakpoints has changed, or a server selected timeout +// WaitToken sets the optional parameter "waitToken": A token that, if +// specified, blocks the method call until the list +// of active breakpoints has changed, or a server-selected timeout // has -// expired. The value should be set from the last returned response. +// expired. The value should be set from the `next_wait_token` field +// in +// the last response. The initial value should be set to "init". func (c *ControllerDebuggeesBreakpointsListCall) WaitToken(waitToken string) *ControllerDebuggeesBreakpointsListCall { c.urlParams_.Set("waitToken", waitToken) return c @@ -1753,7 +1761,7 @@ func (c *ControllerDebuggeesBreakpointsListCall) Do(opts ...googleapi.CallOption } return ret, nil // { - // "description": "Returns the list of all active breakpoints for the debuggee.\n\nThe breakpoint specification (location, condition, and expression\nfields) is semantically immutable, although the field values may\nchange. For example, an agent may update the location line number\nto reflect the actual line where the breakpoint was set, but this\ndoesn't change the breakpoint semantics.\n\nThis means that an agent does not need to check if a breakpoint has changed\nwhen it encounters the same breakpoint on a successive call.\nMoreover, an agent should remember the breakpoints that are completed\nuntil the controller removes them from the active list to avoid\nsetting those breakpoints again.", + // "description": "Returns the list of all active breakpoints for the debuggee.\n\nThe breakpoint specification (`location`, `condition`, and `expressions`\nfields) is semantically immutable, although the field values may\nchange. For example, an agent may update the location line number\nto reflect the actual line where the breakpoint was set, but this\ndoesn't change the breakpoint semantics.\n\nThis means that an agent does not need to check if a breakpoint has changed\nwhen it encounters the same breakpoint on a successive call.\nMoreover, an agent should remember the breakpoints that are completed\nuntil the controller removes them from the active list to avoid\nsetting those breakpoints again.", // "flatPath": "v2/controller/debuggees/{debuggeeId}/breakpoints", // "httpMethod": "GET", // "id": "clouddebugger.controller.debuggees.breakpoints.list", @@ -1768,12 +1776,12 @@ func (c *ControllerDebuggeesBreakpointsListCall) Do(opts ...googleapi.CallOption // "type": "string" // }, // "successOnTimeout": { - // "description": "If set to `true`, returns `google.rpc.Code.OK` status and sets the\n`wait_expired` response field to `true` when the server-selected timeout\nhas expired (recommended).\n\nIf set to `false`, returns `google.rpc.Code.ABORTED` status when the\nserver-selected timeout has expired (deprecated).", + // "description": "If set to `true` (recommended), returns `google.rpc.Code.OK` status and\nsets the `wait_expired` response field to `true` when the server-selected\ntimeout has expired.\n\nIf set to `false` (deprecated), returns `google.rpc.Code.ABORTED` status\nwhen the server-selected timeout has expired.", // "location": "query", // "type": "boolean" // }, // "waitToken": { - // "description": "A wait token that, if specified, blocks the method call until the list\nof active breakpoints has changed, or a server selected timeout has\nexpired. The value should be set from the last returned response.", + // "description": "A token that, if specified, blocks the method call until the list\nof active breakpoints has changed, or a server-selected timeout has\nexpired. The value should be set from the `next_wait_token` field in\nthe last response. The initial value should be set to `\"init\"`.", // "location": "query", // "type": "string" // } @@ -1803,15 +1811,14 @@ type ControllerDebuggeesBreakpointsUpdateCall struct { } // Update: Updates the breakpoint state or mutable fields. -// The entire Breakpoint message must be sent back to the -// controller +// The entire Breakpoint message must be sent back to the controller // service. // // Updates to active breakpoint fields are only allowed if the new // value // does not change the breakpoint specification. Updates to the // `location`, -// `condition` and `expression` fields should not alter the +// `condition` and `expressions` fields should not alter the // breakpoint // semantics. These may only make changes such as canonicalizing a // value @@ -1911,7 +1918,7 @@ func (c *ControllerDebuggeesBreakpointsUpdateCall) Do(opts ...googleapi.CallOpti } return ret, nil // { - // "description": "Updates the breakpoint state or mutable fields.\nThe entire Breakpoint message must be sent back to the controller\nservice.\n\nUpdates to active breakpoint fields are only allowed if the new value\ndoes not change the breakpoint specification. Updates to the `location`,\n`condition` and `expression` fields should not alter the breakpoint\nsemantics. These may only make changes such as canonicalizing a value\nor snapping the location to the correct line of code.", + // "description": "Updates the breakpoint state or mutable fields.\nThe entire Breakpoint message must be sent back to the controller service.\n\nUpdates to active breakpoint fields are only allowed if the new value\ndoes not change the breakpoint specification. Updates to the `location`,\n`condition` and `expressions` fields should not alter the breakpoint\nsemantics. These may only make changes such as canonicalizing a value\nor snapping the location to the correct line of code.", // "flatPath": "v2/controller/debuggees/{debuggeeId}/breakpoints/{id}", // "httpMethod": "PUT", // "id": "clouddebugger.controller.debuggees.breakpoints.update", @@ -1958,7 +1965,7 @@ type DebuggerDebuggeesListCall struct { header_ http.Header } -// List: Lists all the debuggees that the user can set breakpoints to. +// List: Lists all the debuggees that the user has access to. func (r *DebuggerDebuggeesService) List() *DebuggerDebuggeesListCall { c := &DebuggerDebuggeesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} return c @@ -1966,7 +1973,7 @@ func (r *DebuggerDebuggeesService) List() *DebuggerDebuggeesListCall { // ClientVersion sets the optional parameter "clientVersion": The client // version making the call. -// Following: `domain/type/version` (e.g., `google.com/intellij/v1`). +// Schema: `domain/type/version` (e.g., `google.com/intellij/v1`). func (c *DebuggerDebuggeesListCall) ClientVersion(clientVersion string) *DebuggerDebuggeesListCall { c.urlParams_.Set("clientVersion", clientVersion) return c @@ -2079,14 +2086,14 @@ func (c *DebuggerDebuggeesListCall) Do(opts ...googleapi.CallOption) (*ListDebug } return ret, nil // { - // "description": "Lists all the debuggees that the user can set breakpoints to.", + // "description": "Lists all the debuggees that the user has access to.", // "flatPath": "v2/debugger/debuggees", // "httpMethod": "GET", // "id": "clouddebugger.debugger.debuggees.list", // "parameterOrder": [], // "parameters": { // "clientVersion": { - // "description": "The client version making the call.\nFollowing: `domain/type/version` (e.g., `google.com/intellij/v1`).", + // "description": "The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).", // "location": "query", // "type": "string" // }, @@ -2134,7 +2141,7 @@ func (r *DebuggerDebuggeesBreakpointsService) Delete(debuggeeId string, breakpoi // ClientVersion sets the optional parameter "clientVersion": The client // version making the call. -// Following: `domain/type/version` (e.g., `google.com/intellij/v1`). +// Schema: `domain/type/version` (e.g., `google.com/intellij/v1`). func (c *DebuggerDebuggeesBreakpointsDeleteCall) ClientVersion(clientVersion string) *DebuggerDebuggeesBreakpointsDeleteCall { c.urlParams_.Set("clientVersion", clientVersion) return c @@ -2238,7 +2245,7 @@ func (c *DebuggerDebuggeesBreakpointsDeleteCall) Do(opts ...googleapi.CallOption // "type": "string" // }, // "clientVersion": { - // "description": "The client version making the call.\nFollowing: `domain/type/version` (e.g., `google.com/intellij/v1`).", + // "description": "The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).", // "location": "query", // "type": "string" // }, @@ -2283,7 +2290,7 @@ func (r *DebuggerDebuggeesBreakpointsService) Get(debuggeeId string, breakpointI // ClientVersion sets the optional parameter "clientVersion": The client // version making the call. -// Following: `domain/type/version` (e.g., `google.com/intellij/v1`). +// Schema: `domain/type/version` (e.g., `google.com/intellij/v1`). func (c *DebuggerDebuggeesBreakpointsGetCall) ClientVersion(clientVersion string) *DebuggerDebuggeesBreakpointsGetCall { c.urlParams_.Set("clientVersion", clientVersion) return c @@ -2400,7 +2407,7 @@ func (c *DebuggerDebuggeesBreakpointsGetCall) Do(opts ...googleapi.CallOption) ( // "type": "string" // }, // "clientVersion": { - // "description": "The client version making the call.\nFollowing: `domain/type/version` (e.g., `google.com/intellij/v1`).", + // "description": "The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).", // "location": "query", // "type": "string" // }, @@ -2454,7 +2461,7 @@ func (c *DebuggerDebuggeesBreakpointsListCall) ActionValue(actionValue string) * // ClientVersion sets the optional parameter "clientVersion": The client // version making the call. -// Following: `domain/type/version` (e.g., `google.com/intellij/v1`). +// Schema: `domain/type/version` (e.g., `google.com/intellij/v1`). func (c *DebuggerDebuggeesBreakpointsListCall) ClientVersion(clientVersion string) *DebuggerDebuggeesBreakpointsListCall { c.urlParams_.Set("clientVersion", clientVersion) return c @@ -2612,7 +2619,7 @@ func (c *DebuggerDebuggeesBreakpointsListCall) Do(opts ...googleapi.CallOption) // "type": "string" // }, // "clientVersion": { - // "description": "The client version making the call.\nFollowing: `domain/type/version` (e.g., `google.com/intellij/v1`).", + // "description": "The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).", // "location": "query", // "type": "string" // }, @@ -2676,7 +2683,7 @@ func (r *DebuggerDebuggeesBreakpointsService) Set(debuggeeId string, breakpoint // ClientVersion sets the optional parameter "clientVersion": The client // version making the call. -// Following: `domain/type/version` (e.g., `google.com/intellij/v1`). +// Schema: `domain/type/version` (e.g., `google.com/intellij/v1`). func (c *DebuggerDebuggeesBreakpointsSetCall) ClientVersion(clientVersion string) *DebuggerDebuggeesBreakpointsSetCall { c.urlParams_.Set("clientVersion", clientVersion) return c @@ -2777,7 +2784,7 @@ func (c *DebuggerDebuggeesBreakpointsSetCall) Do(opts ...googleapi.CallOption) ( // ], // "parameters": { // "clientVersion": { - // "description": "The client version making the call.\nFollowing: `domain/type/version` (e.g., `google.com/intellij/v1`).", + // "description": "The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).", // "location": "query", // "type": "string" // }, diff --git a/vendor/google.golang.org/api/clouderrorreporting/v1beta1/clouderrorreporting-api.json b/vendor/google.golang.org/api/clouderrorreporting/v1beta1/clouderrorreporting-api.json index 0dae3b6f8..042f7a652 100644 --- a/vendor/google.golang.org/api/clouderrorreporting/v1beta1/clouderrorreporting-api.json +++ b/vendor/google.golang.org/api/clouderrorreporting/v1beta1/clouderrorreporting-api.json @@ -1,31 +1,441 @@ { + "ownerDomain": "google.com", + "name": "clouderrorreporting", + "batchPath": "batch", + "title": "Stackdriver Error Reporting API", + "ownerName": "Google", + "resources": { + "projects": { + "methods": { + "deleteEvents": { + "response": { + "$ref": "DeleteEventsResponse" + }, + "parameterOrder": [ + "projectName" + ], + "httpMethod": "DELETE", + "parameters": { + "projectName": { + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "[Required] The resource name of the Google Cloud Platform project. Written\nas `projects/` plus the\n[Google Cloud Platform project\nID](https://support.google.com/cloud/answer/6158840).\nExample: `projects/my-project-123`.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/projects/{projectsId}/events", + "id": "clouderrorreporting.projects.deleteEvents", + "path": "v1beta1/{+projectName}/events", + "description": "Deletes all error events of a given project." + } + }, + "resources": { + "events": { + "methods": { + "list": { + "path": "v1beta1/{+projectName}/events", + "id": "clouderrorreporting.projects.events.list", + "description": "Lists the specified events.", + "httpMethod": "GET", + "response": { + "$ref": "ListEventsResponse" + }, + "parameterOrder": [ + "projectName" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "timeRange.period": { + "location": "query", + "enum": [ + "PERIOD_UNSPECIFIED", + "PERIOD_1_HOUR", + "PERIOD_6_HOURS", + "PERIOD_1_DAY", + "PERIOD_1_WEEK", + "PERIOD_30_DAYS" + ], + "description": "Restricts the query to the specified time range.", + "type": "string" + }, + "projectName": { + "location": "path", + "description": "[Required] The resource name of the Google Cloud Platform project. Written\nas `projects/` plus the\n[Google Cloud Platform project\nID](https://support.google.com/cloud/answer/6158840).\nExample: `projects/my-project-123`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$" + }, + "groupId": { + "location": "query", + "description": "[Required] The group for which events shall be returned.", + "type": "string" + }, + "pageToken": { + "description": "[Optional] A `next_page_token` provided by a previous response.", + "type": "string", + "location": "query" + }, + "serviceFilter.service": { + "description": "[Optional] The exact value to match against\n[`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).", + "type": "string", + "location": "query" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "[Optional] The maximum number of results to return per response.", + "type": "integer" + }, + "serviceFilter.version": { + "location": "query", + "description": "[Optional] The exact value to match against\n[`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).", + "type": "string" + }, + "serviceFilter.resourceType": { + "description": "[Optional] The exact value to match against\n[`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type).", + "type": "string", + "location": "query" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/events" + }, + "report": { + "request": { + "$ref": "ReportedErrorEvent" + }, + "description": "Report an individual error event.\n\nThis endpoint accepts \u003cstrong\u003eeither\u003c/strong\u003e an OAuth token,\n\u003cstrong\u003eor\u003c/strong\u003e an\n\u003ca href=\"https://support.google.com/cloud/answer/6158862\"\u003eAPI key\u003c/a\u003e\nfor authentication. To use an API key, append it to the URL as the value of\na `key` parameter. For example:\n\u003cpre\u003ePOST https://clouderrorreporting.googleapis.com/v1beta1/projects/example-project/events:report?key=123ABC456\u003c/pre\u003e", + "httpMethod": "POST", + "parameterOrder": [ + "projectName" + ], + "response": { + "$ref": "ReportErrorEventResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "projectName": { + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "[Required] The resource name of the Google Cloud Platform project. Written\nas `projects/` plus the\n[Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840).\nExample: `projects/my-project-123`.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta1/projects/{projectsId}/events:report", + "path": "v1beta1/{+projectName}/events:report", + "id": "clouderrorreporting.projects.events.report" + } + } + }, + "groupStats": { + "methods": { + "list": { + "response": { + "$ref": "ListGroupStatsResponse" + }, + "parameterOrder": [ + "projectName" + ], + "httpMethod": "GET", + "parameters": { + "serviceFilter.version": { + "type": "string", + "location": "query", + "description": "[Optional] The exact value to match against\n[`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version)." + }, + "order": { + "description": "[Optional] The sort order in which the results are returned.\nDefault is `COUNT_DESC`.", + "type": "string", + "location": "query", + "enum": [ + "GROUP_ORDER_UNSPECIFIED", + "COUNT_DESC", + "LAST_SEEN_DESC", + "CREATED_DESC", + "AFFECTED_USERS_DESC" + ] + }, + "serviceFilter.resourceType": { + "location": "query", + "description": "[Optional] The exact value to match against\n[`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type).", + "type": "string" + }, + "alignmentTime": { + "location": "query", + "format": "google-datetime", + "description": "[Optional] Time where the timed counts shall be aligned if rounded\nalignment is chosen. Default is 00:00 UTC.", + "type": "string" + }, + "projectName": { + "description": "[Required] The resource name of the Google Cloud Platform project. Written\nas \u003ccode\u003eprojects/\u003c/code\u003e plus the\n\u003ca href=\"https://support.google.com/cloud/answer/6158840\"\u003eGoogle Cloud\nPlatform project ID\u003c/a\u003e.\n\nExample: \u003ccode\u003eprojects/my-project-123\u003c/code\u003e.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + }, + "timedCountDuration": { + "format": "google-duration", + "description": "[Optional] The preferred duration for a single returned `TimedCount`.\nIf not set, no timed counts are returned.", + "type": "string", + "location": "query" + }, + "pageToken": { + "description": "[Optional] A `next_page_token` provided by a previous response. To view\nadditional results, pass this token along with the identical query\nparameters as the first request.", + "type": "string", + "location": "query" + }, + "timeRange.period": { + "description": "Restricts the query to the specified time range.", + "type": "string", + "location": "query", + "enum": [ + "PERIOD_UNSPECIFIED", + "PERIOD_1_HOUR", + "PERIOD_6_HOURS", + "PERIOD_1_DAY", + "PERIOD_1_WEEK", + "PERIOD_30_DAYS" + ] + }, + "alignment": { + "location": "query", + "enum": [ + "ERROR_COUNT_ALIGNMENT_UNSPECIFIED", + "ALIGNMENT_EQUAL_ROUNDED", + "ALIGNMENT_EQUAL_AT_END" + ], + "description": "[Optional] The alignment of the timed counts to be returned.\nDefault is `ALIGNMENT_EQUAL_AT_END`.", + "type": "string" + }, + "groupId": { + "repeated": true, + "location": "query", + "description": "[Optional] List all \u003ccode\u003eErrorGroupStats\u003c/code\u003e with these IDs.", + "type": "string" + }, + "serviceFilter.service": { + "location": "query", + "description": "[Optional] The exact value to match against\n[`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).", + "type": "string" + }, + "pageSize": { + "type": "integer", + "location": "query", + "format": "int32", + "description": "[Optional] The maximum number of results to return per response.\nDefault is 20." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/projects/{projectsId}/groupStats", + "id": "clouderrorreporting.projects.groupStats.list", + "path": "v1beta1/{+projectName}/groupStats", + "description": "Lists the specified groups." + } + } + }, + "groups": { + "methods": { + "get": { + "id": "clouderrorreporting.projects.groups.get", + "path": "v1beta1/{+groupName}", + "description": "Get the specified group.", + "response": { + "$ref": "ErrorGroup" + }, + "parameterOrder": [ + "groupName" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "groupName": { + "location": "path", + "description": "[Required] The group resource name. Written as\n\u003ccode\u003eprojects/\u003cvar\u003eprojectID\u003c/var\u003e/groups/\u003cvar\u003egroup_name\u003c/var\u003e\u003c/code\u003e.\nCall\n\u003ca href=\"/error-reporting/reference/rest/v1beta1/projects.groupStats/list\"\u003e\n\u003ccode\u003egroupStats.list\u003c/code\u003e\u003c/a\u003e to return a list of groups belonging to\nthis project.\n\nExample: \u003ccode\u003eprojects/my-project-123/groups/my-group\u003c/code\u003e", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/groups/[^/]+$" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/groups/{groupsId}" + }, + "update": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "description": "The group resource name.\nExample: \u003ccode\u003eprojects/my-project-123/groups/my-groupid\u003c/code\u003e", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/groups/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/groups/{groupsId}", + "id": "clouderrorreporting.projects.groups.update", + "path": "v1beta1/{+name}", + "request": { + "$ref": "ErrorGroup" + }, + "description": "Replace the data for the specified group.\nFails if the group does not exist.", + "response": { + "$ref": "ErrorGroup" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PUT" + } + } + } + } + } + }, + "parameters": { + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" + }, + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "bearer_token": { + "type": "string", + "location": "query", + "description": "OAuth bearer token." + }, + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" + }, + "uploadType": { + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" + }, + "fields": { + "location": "query", + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, + "$.xgafv": { + "description": "V1 error format.", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ] + }, + "alt": { + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ] + }, + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + } + }, + "version": "v1beta1", + "baseUrl": "https://clouderrorreporting.googleapis.com/", + "kind": "discovery#restDescription", + "description": "Groups and counts similar errors from cloud services and applications, reports new errors, and provides access to error groups and their associated errors.\n", + "servicePath": "", + "basePath": "", + "revision": "20170914", + "id": "clouderrorreporting:v1beta1", + "documentationLink": "https://cloud.google.com/error-reporting/", + "discoveryVersion": "v1", + "version_module": true, "schemas": { "ErrorEvent": { - "id": "ErrorEvent", "description": "An error event which is returned by the Error Reporting system.", "type": "object", "properties": { - "serviceContext": { - "$ref": "ServiceContext", - "description": "The `ServiceContext` for which this error was reported." - }, "eventTime": { - "description": "Time when the event occurred as provided in the error report.\nIf the report did not contain a timestamp, the time the error was received\nby the Error Reporting system is used.", + "type": "string", "format": "google-datetime", - "type": "string" + "description": "Time when the event occurred as provided in the error report.\nIf the report did not contain a timestamp, the time the error was received\nby the Error Reporting system is used." }, "context": { - "description": "Data about the context in which the error occurred.", - "$ref": "ErrorContext" + "$ref": "ErrorContext", + "description": "Data about the context in which the error occurred." }, "message": { "description": "The stack trace that was reported or logged by the service.", "type": "string" + }, + "serviceContext": { + "description": "The `ServiceContext` for which this error was reported.", + "$ref": "ServiceContext" } - } + }, + "id": "ErrorEvent" }, "ReportedErrorEvent": { + "description": "An error event which is reported to the Error Reporting system.", + "type": "object", "properties": { + "eventTime": { + "format": "google-datetime", + "description": "[Optional] Time when the event occurred.\nIf not provided, the time when the event was received by the\nError Reporting system will be used.", + "type": "string" + }, "context": { "$ref": "ErrorContext", "description": "[Optional] A description of the context in which the error occurred." @@ -37,39 +447,32 @@ "serviceContext": { "$ref": "ServiceContext", "description": "[Required] The service context in which this error has occurred." - }, - "eventTime": { - "description": "[Optional] Time when the event occurred.\nIf not provided, the time when the event was received by the\nError Reporting system will be used.", - "format": "google-datetime", - "type": "string" } }, - "id": "ReportedErrorEvent", - "description": "An error event which is reported to the Error Reporting system.", - "type": "object" + "id": "ReportedErrorEvent" }, "ErrorContext": { "description": "A description of the context in which an error occurred.\nThis data should be provided by the application when reporting an error,\nunless the\nerror report has been generated automatically from Google App Engine logs.", "type": "object", "properties": { + "sourceReferences": { + "items": { + "$ref": "SourceReference" + }, + "type": "array", + "description": "Source code that was used to build the executable which has\ncaused the given error message." + }, + "reportLocation": { + "description": "The location in the source code where the decision was made to\nreport the error, usually the place where it was logged.\nFor a logged exception this would be the source line where the\nexception is logged, usually close to the place where it was\ncaught.", + "$ref": "SourceLocation" + }, "httpRequest": { - "$ref": "HttpRequestContext", - "description": "The HTTP request which was processed when the error was\ntriggered." + "description": "The HTTP request which was processed when the error was\ntriggered.", + "$ref": "HttpRequestContext" }, "user": { "description": "The user who caused or was affected by the crash.\nThis can be a user ID, an email address, or an arbitrary token that\nuniquely identifies the user.\nWhen sending an error report, leave this field empty if the user was not\nlogged in. In this case the\nError Reporting system will use other data, such as remote IP address, to\ndistinguish affected users. See `affected_users_count` in\n`ErrorGroupStats`.", "type": "string" - }, - "reportLocation": { - "$ref": "SourceLocation", - "description": "The location in the source code where the decision was made to\nreport the error, usually the place where it was logged.\nFor a logged exception this would be the source line where the\nexception is logged, usually close to the place where it was\ncaught. This value is in contrast to `Exception.cause_location`,\nwhich describes the source line where the exception was thrown." - }, - "sourceReferences": { - "type": "array", - "items": { - "$ref": "SourceReference" - }, - "description": "Source code that was used to build the executable which has\ncaused the given error message." } }, "id": "ErrorContext" @@ -92,47 +495,47 @@ "description": "Group data that is independent of the filter criteria." }, "firstSeenTime": { - "description": "Approximate first occurrence that was ever seen for this group\nand which matches the given filter criteria, ignoring the\ntime_range that was specified in the request.", "format": "google-datetime", + "description": "Approximate first occurrence that was ever seen for this group\nand which matches the given filter criteria, ignoring the\ntime_range that was specified in the request.", "type": "string" }, "count": { - "description": "Approximate total number of events in the given group that match\nthe filter criteria.", "format": "int64", + "description": "Approximate total number of events in the given group that match\nthe filter criteria.", "type": "string" }, "affectedUsersCount": { - "description": "Approximate number of affected users in the given group that\nmatch the filter criteria.\nUsers are distinguished by data in the `ErrorContext` of the\nindividual error events, such as their login name or their remote\nIP address in case of HTTP requests.\nThe number of affected users can be zero even if the number of\nerrors is non-zero if no data was provided from which the\naffected user could be deduced.\nUsers are counted based on data in the request\ncontext that was provided in the error report. If more users are\nimplicitly affected, such as due to a crash of the whole service,\nthis is not reflected here.", "format": "int64", + "description": "Approximate number of affected users in the given group that\nmatch the filter criteria.\nUsers are distinguished by data in the `ErrorContext` of the\nindividual error events, such as their login name or their remote\nIP address in case of HTTP requests.\nThe number of affected users can be zero even if the number of\nerrors is non-zero if no data was provided from which the\naffected user could be deduced.\nUsers are counted based on data in the request\ncontext that was provided in the error report. If more users are\nimplicitly affected, such as due to a crash of the whole service,\nthis is not reflected here.", "type": "string" }, "lastSeenTime": { - "description": "Approximate last occurrence that was ever seen for this group and\nwhich matches the given filter criteria, ignoring the time_range\nthat was specified in the request.", "format": "google-datetime", + "description": "Approximate last occurrence that was ever seen for this group and\nwhich matches the given filter criteria, ignoring the time_range\nthat was specified in the request.", "type": "string" }, "numAffectedServices": { - "description": "The total number of services with a non-zero error count for the given\nfilter criteria.", "format": "int32", + "description": "The total number of services with a non-zero error count for the given\nfilter criteria.", "type": "integer" }, "affectedServices": { "description": "Service contexts with a non-zero error count for the given filter\ncriteria. This list can be truncated if multiple services are affected.\nRefer to `num_affected_services` for the total count.", - "type": "array", "items": { "$ref": "ServiceContext" - } + }, + "type": "array" }, "representative": { - "$ref": "ErrorEvent", - "description": "An arbitrary event that is chosen as representative for the whole group.\nThe representative event is intended to be used as a quick preview for\nthe whole group. Events in the group are usually sufficiently similar\nto each other such that showing an arbitrary representative provides\ninsight into the characteristics of the group as a whole." + "description": "An arbitrary event that is chosen as representative for the whole group.\nThe representative event is intended to be used as a quick preview for\nthe whole group. Events in the group are usually sufficiently similar\nto each other such that showing an arbitrary representative provides\ninsight into the characteristics of the group as a whole.", + "$ref": "ErrorEvent" }, "timedCounts": { "description": "Approximate number of occurrences over time.\nTimed counts returned by ListGroups are guaranteed to be:\n\n- Inside the requested time interval\n- Non-overlapping, and\n- Ordered by ascending time.", - "type": "array", "items": { "$ref": "TimedCount" - } + }, + "type": "array" } }, "id": "ErrorGroupStats", @@ -140,45 +543,45 @@ "type": "object" }, "ListEventsResponse": { - "description": "Contains a set of requested error events.", - "type": "object", "properties": { + "timeRangeBegin": { + "format": "google-datetime", + "description": "The timestamp specifies the start time to which the request was restricted.", + "type": "string" + }, "errorEvents": { - "description": "The error events which match the given request.", - "type": "array", "items": { "$ref": "ErrorEvent" - } + }, + "type": "array", + "description": "The error events which match the given request." }, "nextPageToken": { "description": "If non-empty, more results are available.\nPass this token, along with the same query parameters as the first\nrequest, to view the next page of results.", "type": "string" - }, - "timeRangeBegin": { - "description": "The timestamp specifies the start time to which the request was restricted.", - "format": "google-datetime", - "type": "string" } }, - "id": "ListEventsResponse" + "id": "ListEventsResponse", + "description": "Contains a set of requested error events.", + "type": "object" }, "TimedCount": { "description": "The number of errors in a given time period.\nAll numbers are approximate since the error events are sampled\nbefore counting them.", "type": "object", "properties": { "endTime": { - "type": "string", + "format": "google-datetime", "description": "End of the time period to which `count` refers (excluded).", - "format": "google-datetime" - }, - "count": { - "description": "Approximate number of occurrences in the given time period.", - "format": "int64", "type": "string" }, "startTime": { - "description": "Start of the time period to which `count` refers (included).", "format": "google-datetime", + "description": "Start of the time period to which `count` refers (included).", + "type": "string" + }, + "count": { + "format": "int64", + "description": "Approximate number of occurrences in the given time period.", "type": "string" } }, @@ -188,25 +591,45 @@ "description": "Description of a group of similar error events.", "type": "object", "properties": { - "groupId": { - "description": "Group IDs are unique for a given project. If the same kind of error\noccurs in different service contexts, it will receive the same group ID.", + "name": { + "description": "The group resource name.\nExample: \u003ccode\u003eprojects/my-project-123/groups/my-groupid\u003c/code\u003e", "type": "string" }, "trackingIssues": { "description": "Associated tracking issues.", - "type": "array", "items": { "$ref": "TrackingIssue" - } + }, + "type": "array" }, - "name": { - "type": "string", - "description": "The group resource name.\nExample: \u003ccode\u003eprojects/my-project-123/groups/my-groupid\u003c/code\u003e" + "groupId": { + "description": "Group IDs are unique for a given project. If the same kind of error\noccurs in different service contexts, it will receive the same group ID.", + "type": "string" } }, "id": "ErrorGroup" }, + "ServiceContext": { + "id": "ServiceContext", + "description": "Describes a running service that sends errors.\nIts version changes over time and multiple versions can run in parallel.", + "type": "object", + "properties": { + "version": { + "description": "Represents the source code version that the developer provided,\nwhich could represent a version label or a Git SHA-1 hash, for example.\nFor App Engine standard environment, the version is set to the version of\nthe app.", + "type": "string" + }, + "service": { + "description": "An identifier of the service, such as the name of the\nexecutable, job, or Google App Engine service name. This field is expected\nto have a low number of values that are relatively stable over time, as\nopposed to `version`, which can be changed whenever new code is deployed.\n\nContains the service name for error reports extracted from Google\nApp Engine logs or `default` if the App Engine default service is used.", + "type": "string" + }, + "resourceType": { + "description": "Type of the MonitoredResource. List of possible values:\nhttps://cloud.google.com/monitoring/api/resources\n\nValue is set automatically for incoming errors and must not be set when\nreporting errors.", + "type": "string" + } + } + }, "SourceLocation": { + "id": "SourceLocation", "description": "Indicates a location in the source code of the service for which errors are\nreported. `functionName` must be provided by the application when reporting\nan error, unless the error report contains a `message` with a supported\nexception stack trace. All fields are optional for the later case.", "type": "object", "properties": { @@ -215,44 +638,39 @@ "type": "string" }, "filePath": { - "type": "string", - "description": "The source code filename, which can include a truncated relative\npath, or a full path from a production machine." + "description": "The source code filename, which can include a truncated relative\npath, or a full path from a production machine.", + "type": "string" }, "lineNumber": { - "description": "1-based. 0 indicates that the line number is unknown.", "format": "int32", + "description": "1-based. 0 indicates that the line number is unknown.", "type": "integer" } - }, - "id": "SourceLocation" - }, - "ServiceContext": { - "description": "Describes a running service that sends errors.\nIts version changes over time and multiple versions can run in parallel.", - "type": "object", - "properties": { - "service": { - "description": "An identifier of the service, such as the name of the\nexecutable, job, or Google App Engine service name. This field is expected\nto have a low number of values that are relatively stable over time, as\nopposed to `version`, which can be changed whenever new code is deployed.\n\nContains the service name for error reports extracted from Google\nApp Engine logs or `default` if the App Engine default service is used.", - "type": "string" - }, - "resourceType": { - "description": "Type of the MonitoredResource. List of possible values:\nhttps://cloud.google.com/monitoring/api/resources\n\nValue is set automatically for incoming errors and must not be set when\nreporting errors.", - "type": "string" - }, - "version": { - "description": "Represents the source code version that the developer provided,\nwhich could represent a version label or a Git SHA-1 hash, for example.\nFor App Engine standard environment, the version is set to the version of\nthe app.", - "type": "string" - } - }, - "id": "ServiceContext" + } }, "ReportErrorEventResponse": { - "id": "ReportErrorEventResponse", "description": "Response for reporting an individual error event.\nData may be added to this message in the future.", "type": "object", - "properties": {} + "properties": {}, + "id": "ReportErrorEventResponse" }, "HttpRequestContext": { + "description": "HTTP request data that is related to a reported error.\nThis data should be provided by the application when reporting an error,\nunless the\nerror report has been generated automatically from Google App Engine logs.", + "type": "object", "properties": { + "responseStatusCode": { + "format": "int32", + "description": "The HTTP response status code for the request.", + "type": "integer" + }, + "method": { + "description": "The type of HTTP request, such as `GET`, `POST`, etc.", + "type": "string" + }, + "remoteIp": { + "description": "The IP address from which the request originated.\nThis can be IPv4, IPv6, or a token which is derived from the\nIP address, depending on the data that has been provided\nin the error report.", + "type": "string" + }, "referrer": { "description": "The referrer information that is provided with the request.", "type": "string" @@ -264,44 +682,29 @@ "url": { "type": "string", "description": "The URL of the request." - }, - "responseStatusCode": { - "description": "The HTTP response status code for the request.", - "format": "int32", - "type": "integer" - }, - "method": { - "description": "The type of HTTP request, such as `GET`, `POST`, etc.", - "type": "string" - }, - "remoteIp": { - "description": "The IP address from which the request originated.\nThis can be IPv4, IPv6, or a token which is derived from the\nIP address, depending on the data that has been provided\nin the error report.", - "type": "string" } }, - "id": "HttpRequestContext", - "description": "HTTP request data that is related to a reported error.\nThis data should be provided by the application when reporting an error,\nunless the\nerror report has been generated automatically from Google App Engine logs.", - "type": "object" + "id": "HttpRequestContext" }, "ListGroupStatsResponse": { "description": "Contains a set of requested error group stats.", "type": "object", "properties": { - "errorGroupStats": { - "description": "The error group stats which match the given request.", - "type": "array", - "items": { - "$ref": "ErrorGroupStats" - } - }, "nextPageToken": { "description": "If non-empty, more results are available.\nPass this token, along with the same query parameters as the first\nrequest, to view the next page of results.", "type": "string" }, "timeRangeBegin": { - "description": "The timestamp specifies the start time to which the request was restricted.\nThe start time is set based on the requested time range. It may be adjusted\nto a later time if a project has exceeded the storage quota and older data\nhas been deleted.", "format": "google-datetime", + "description": "The timestamp specifies the start time to which the request was restricted.\nThe start time is set based on the requested time range. It may be adjusted\nto a later time if a project has exceeded the storage quota and older data\nhas been deleted.", "type": "string" + }, + "errorGroupStats": { + "description": "The error group stats which match the given request.", + "items": { + "$ref": "ErrorGroupStats" + }, + "type": "array" } }, "id": "ListGroupStatsResponse" @@ -343,408 +746,5 @@ } } }, - "rootUrl": "https://clouderrorreporting.googleapis.com/", - "ownerDomain": "google.com", - "name": "clouderrorreporting", - "batchPath": "batch", - "title": "Stackdriver Error Reporting API", - "ownerName": "Google", - "resources": { - "projects": { - "methods": { - "deleteEvents": { - "parameterOrder": [ - "projectName" - ], - "httpMethod": "DELETE", - "response": { - "$ref": "DeleteEventsResponse" - }, - "parameters": { - "projectName": { - "description": "[Required] The resource name of the Google Cloud Platform project. Written\nas `projects/` plus the\n[Google Cloud Platform project\nID](https://support.google.com/cloud/answer/6158840).\nExample: `projects/my-project-123`.", - "required": true, - "type": "string", - "pattern": "^projects/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta1/projects/{projectsId}/events", - "id": "clouderrorreporting.projects.deleteEvents", - "path": "v1beta1/{+projectName}/events", - "description": "Deletes all error events of a given project." - } - }, - "resources": { - "events": { - "methods": { - "list": { - "path": "v1beta1/{+projectName}/events", - "id": "clouderrorreporting.projects.events.list", - "description": "Lists the specified events.", - "response": { - "$ref": "ListEventsResponse" - }, - "httpMethod": "GET", - "parameterOrder": [ - "projectName" - ], - "parameters": { - "pageSize": { - "location": "query", - "description": "[Optional] The maximum number of results to return per response.", - "format": "int32", - "type": "integer" - }, - "serviceFilter.version": { - "location": "query", - "description": "[Optional] The exact value to match against\n[`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).", - "type": "string" - }, - "serviceFilter.resourceType": { - "location": "query", - "description": "[Optional] The exact value to match against\n[`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type).", - "type": "string" - }, - "timeRange.period": { - "type": "string", - "location": "query", - "enum": [ - "PERIOD_UNSPECIFIED", - "PERIOD_1_HOUR", - "PERIOD_6_HOURS", - "PERIOD_1_DAY", - "PERIOD_1_WEEK", - "PERIOD_30_DAYS" - ], - "description": "Restricts the query to the specified time range." - }, - "projectName": { - "location": "path", - "description": "[Required] The resource name of the Google Cloud Platform project. Written\nas `projects/` plus the\n[Google Cloud Platform project\nID](https://support.google.com/cloud/answer/6158840).\nExample: `projects/my-project-123`.", - "required": true, - "type": "string", - "pattern": "^projects/[^/]+$" - }, - "groupId": { - "location": "query", - "description": "[Required] The group for which events shall be returned.", - "type": "string" - }, - "serviceFilter.service": { - "location": "query", - "description": "[Optional] The exact value to match against\n[`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).", - "type": "string" - }, - "pageToken": { - "description": "[Optional] A `next_page_token` provided by a previous response.", - "type": "string", - "location": "query" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta1/projects/{projectsId}/events" - }, - "report": { - "path": "v1beta1/{+projectName}/events:report", - "id": "clouderrorreporting.projects.events.report", - "description": "Report an individual error event.\n\nThis endpoint accepts \u003cstrong\u003eeither\u003c/strong\u003e an OAuth token,\n\u003cstrong\u003eor\u003c/strong\u003e an\n\u003ca href=\"https://support.google.com/cloud/answer/6158862\"\u003eAPI key\u003c/a\u003e\nfor authentication. To use an API key, append it to the URL as the value of\na `key` parameter. For example:\n\u003cpre\u003ePOST https://clouderrorreporting.googleapis.com/v1beta1/projects/example-project/events:report?key=123ABC456\u003c/pre\u003e", - "request": { - "$ref": "ReportedErrorEvent" - }, - "response": { - "$ref": "ReportErrorEventResponse" - }, - "parameterOrder": [ - "projectName" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "projectName": { - "description": "[Required] The resource name of the Google Cloud Platform project. Written\nas `projects/` plus the\n[Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840).\nExample: `projects/my-project-123`.", - "required": true, - "type": "string", - "pattern": "^projects/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1beta1/projects/{projectsId}/events:report" - } - } - }, - "groups": { - "methods": { - "get": { - "parameters": { - "groupName": { - "description": "[Required] The group resource name. Written as\n\u003ccode\u003eprojects/\u003cvar\u003eprojectID\u003c/var\u003e/groups/\u003cvar\u003egroup_name\u003c/var\u003e\u003c/code\u003e.\nCall\n\u003ca href=\"/error-reporting/reference/rest/v1beta1/projects.groupStats/list\"\u003e\n\u003ccode\u003egroupStats.list\u003c/code\u003e\u003c/a\u003e to return a list of groups belonging to\nthis project.\n\nExample: \u003ccode\u003eprojects/my-project-123/groups/my-group\u003c/code\u003e", - "required": true, - "type": "string", - "pattern": "^projects/[^/]+/groups/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta1/projects/{projectsId}/groups/{groupsId}", - "path": "v1beta1/{+groupName}", - "id": "clouderrorreporting.projects.groups.get", - "description": "Get the specified group.", - "response": { - "$ref": "ErrorGroup" - }, - "parameterOrder": [ - "groupName" - ], - "httpMethod": "GET" - }, - "update": { - "httpMethod": "PUT", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "ErrorGroup" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "description": "The group resource name.\nExample: \u003ccode\u003eprojects/my-project-123/groups/my-groupid\u003c/code\u003e", - "required": true, - "type": "string", - "pattern": "^projects/[^/]+/groups/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1beta1/projects/{projectsId}/groups/{groupsId}", - "id": "clouderrorreporting.projects.groups.update", - "path": "v1beta1/{+name}", - "description": "Replace the data for the specified group.\nFails if the group does not exist.", - "request": { - "$ref": "ErrorGroup" - } - } - } - }, - "groupStats": { - "methods": { - "list": { - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "timeRange.period": { - "location": "query", - "enum": [ - "PERIOD_UNSPECIFIED", - "PERIOD_1_HOUR", - "PERIOD_6_HOURS", - "PERIOD_1_DAY", - "PERIOD_1_WEEK", - "PERIOD_30_DAYS" - ], - "description": "Restricts the query to the specified time range.", - "type": "string" - }, - "alignment": { - "enum": [ - "ERROR_COUNT_ALIGNMENT_UNSPECIFIED", - "ALIGNMENT_EQUAL_ROUNDED", - "ALIGNMENT_EQUAL_AT_END" - ], - "description": "[Optional] The alignment of the timed counts to be returned.\nDefault is `ALIGNMENT_EQUAL_AT_END`.", - "type": "string", - "location": "query" - }, - "groupId": { - "description": "[Optional] List all \u003ccode\u003eErrorGroupStats\u003c/code\u003e with these IDs.", - "type": "string", - "repeated": true, - "location": "query" - }, - "serviceFilter.service": { - "location": "query", - "description": "[Optional] The exact value to match against\n[`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).", - "type": "string" - }, - "pageSize": { - "description": "[Optional] The maximum number of results to return per response.\nDefault is 20.", - "format": "int32", - "type": "integer", - "location": "query" - }, - "order": { - "location": "query", - "enum": [ - "GROUP_ORDER_UNSPECIFIED", - "COUNT_DESC", - "LAST_SEEN_DESC", - "CREATED_DESC", - "AFFECTED_USERS_DESC" - ], - "description": "[Optional] The sort order in which the results are returned.\nDefault is `COUNT_DESC`.", - "type": "string" - }, - "serviceFilter.version": { - "location": "query", - "description": "[Optional] The exact value to match against\n[`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).", - "type": "string" - }, - "serviceFilter.resourceType": { - "location": "query", - "description": "[Optional] The exact value to match against\n[`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type).", - "type": "string" - }, - "alignmentTime": { - "description": "[Optional] Time where the timed counts shall be aligned if rounded\nalignment is chosen. Default is 00:00 UTC.", - "format": "google-datetime", - "type": "string", - "location": "query" - }, - "projectName": { - "description": "[Required] The resource name of the Google Cloud Platform project. Written\nas \u003ccode\u003eprojects/\u003c/code\u003e plus the\n\u003ca href=\"https://support.google.com/cloud/answer/6158840\"\u003eGoogle Cloud\nPlatform project ID\u003c/a\u003e.\n\nExample: \u003ccode\u003eprojects/my-project-123\u003c/code\u003e.", - "required": true, - "type": "string", - "pattern": "^projects/[^/]+$", - "location": "path" - }, - "timedCountDuration": { - "description": "[Optional] The preferred duration for a single returned `TimedCount`.\nIf not set, no timed counts are returned.", - "format": "google-duration", - "type": "string", - "location": "query" - }, - "pageToken": { - "type": "string", - "location": "query", - "description": "[Optional] A `next_page_token` provided by a previous response. To view\nadditional results, pass this token along with the identical query\nparameters as the first request." - } - }, - "flatPath": "v1beta1/projects/{projectsId}/groupStats", - "id": "clouderrorreporting.projects.groupStats.list", - "path": "v1beta1/{+projectName}/groupStats", - "description": "Lists the specified groups.", - "httpMethod": "GET", - "parameterOrder": [ - "projectName" - ], - "response": { - "$ref": "ListGroupStatsResponse" - } - } - } - } - } - } - }, - "parameters": { - "upload_protocol": { - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string", - "location": "query" - }, - "prettyPrint": { - "location": "query", - "description": "Returns response with indentations and line breaks.", - "type": "boolean", - "default": "true" - }, - "uploadType": { - "location": "query", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string" - }, - "fields": { - "location": "query", - "description": "Selector specifying which fields to include in a partial response.", - "type": "string" - }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, - "$.xgafv": { - "description": "V1 error format.", - "type": "string", - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" - ] - }, - "alt": { - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query", - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], - "type": "string" - }, - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string", - "location": "query" - }, - "access_token": { - "description": "OAuth access token.", - "type": "string", - "location": "query" - }, - "quotaUser": { - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string", - "location": "query" - }, - "pp": { - "description": "Pretty-print response.", - "type": "boolean", - "default": "true", - "location": "query" - }, - "bearer_token": { - "location": "query", - "description": "OAuth bearer token.", - "type": "string" - }, - "oauth_token": { - "location": "query", - "description": "OAuth 2.0 token for the current user.", - "type": "string" - } - }, - "version": "v1beta1", - "baseUrl": "https://clouderrorreporting.googleapis.com/", - "servicePath": "", - "description": "Groups and counts similar errors from cloud services and applications, reports new errors, and provides access to error groups and their associated errors.\n", - "kind": "discovery#restDescription", - "basePath": "", - "id": "clouderrorreporting:v1beta1", - "revision": "20170618", - "documentationLink": "https://cloud.google.com/error-reporting/", - "discoveryVersion": "v1", - "version_module": "True" + "rootUrl": "https://clouderrorreporting.googleapis.com/" } diff --git a/vendor/google.golang.org/api/clouderrorreporting/v1beta1/clouderrorreporting-gen.go b/vendor/google.golang.org/api/clouderrorreporting/v1beta1/clouderrorreporting-gen.go index f3241fbf0..792dde30b 100644 --- a/vendor/google.golang.org/api/clouderrorreporting/v1beta1/clouderrorreporting-gen.go +++ b/vendor/google.golang.org/api/clouderrorreporting/v1beta1/clouderrorreporting-gen.go @@ -146,9 +146,7 @@ type ErrorContext struct { // For a logged exception this would be the source line where // the // exception is logged, usually close to the place where it was - // caught. This value is in contrast to - // `Exception.cause_location`, - // which describes the source line where the exception was thrown. + // caught. ReportLocation *SourceLocation `json:"reportLocation,omitempty"` // SourceReferences: Source code that was used to build the executable diff --git a/vendor/google.golang.org/api/cloudfunctions/v1/cloudfunctions-api.json b/vendor/google.golang.org/api/cloudfunctions/v1/cloudfunctions-api.json index 84df081be..a62a7c282 100644 --- a/vendor/google.golang.org/api/cloudfunctions/v1/cloudfunctions-api.json +++ b/vendor/google.golang.org/api/cloudfunctions/v1/cloudfunctions-api.json @@ -1,112 +1,14 @@ { - "rootUrl": "https://cloudfunctions.googleapis.com/", - "basePath": "", - "ownerDomain": "google.com", - "name": "cloudfunctions", - "batchPath": "batch", - "id": "cloudfunctions:v1", - "documentationLink": "https://cloud.google.com/functions", - "revision": "20170704", - "title": "Google Cloud Functions API", - "ownerName": "Google", "discoveryVersion": "v1", - "version_module": "True", - "resources": {}, - "parameters": { - "quotaUser": { - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" - }, - "pp": { - "description": "Pretty-print response.", - "default": "true", - "type": "boolean", - "location": "query" - }, - "bearer_token": { - "location": "query", - "description": "OAuth bearer token.", - "type": "string" - }, - "oauth_token": { - "location": "query", - "description": "OAuth 2.0 token for the current user.", - "type": "string" - }, - "upload_protocol": { - "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string" - }, - "prettyPrint": { - "description": "Returns response with indentations and line breaks.", - "default": "true", - "type": "boolean", - "location": "query" - }, - "fields": { - "location": "query", - "description": "Selector specifying which fields to include in a partial response.", - "type": "string" - }, - "uploadType": { - "location": "query", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string" - }, - "$.xgafv": { - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" - ], - "description": "V1 error format.", - "type": "string" - }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, - "alt": { - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query", - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], - "type": "string" - }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, - "access_token": { - "location": "query", - "description": "OAuth access token.", - "type": "string" - } - }, + "version_module": true, "schemas": { "OperationMetadataV1Beta2": { "description": "Metadata describing an Operation", "type": "object", "properties": { - "target": { - "description": "Target of the operation - for example\nprojects/project-1/locations/region-1/functions/function-1", + "versionId": { + "format": "int64", + "description": "Version id of the function created or updated by an API call.\nThis field is only pupulated for Create and Update operations.", "type": "string" }, "request": { @@ -118,6 +20,8 @@ "type": "object" }, "type": { + "description": "Type of operation.", + "type": "string", "enumDescriptions": [ "Unknown operation type.", "Triggered by CreateFunction call", @@ -129,23 +33,378 @@ "CREATE_FUNCTION", "UPDATE_FUNCTION", "DELETE_FUNCTION" - ], - "description": "Type of operation.", + ] + }, + "target": { + "description": "Target of the operation - for example\nprojects/project-1/locations/region-1/functions/function-1", "type": "string" } }, "id": "OperationMetadataV1Beta2" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", + "type": "object", + "properties": { + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "code": { + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "id": "Status" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "type": "object", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "id": "ListLocationsResponse" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform location.", + "type": "object", + "properties": { + "labels": { + "description": "Cross-service attributes for the location. For example\n\n {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "description": "Service-specific metadata. For example the available capacity at the given\nlocation.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + } + } + }, + "id": "Location" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "id": "ListOperationsResponse" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "type": "object", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`.", + "type": "string" + }, + "error": { + "description": "The error result of the operation in case of failure or cancellation.", + "$ref": "Status" + }, + "metadata": { + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + } + } + }, + "id": "Operation" } }, + "protocol": "rest", "icons": { "x32": "http://www.google.com/images/icons/product/search-32.gif", "x16": "http://www.google.com/images/icons/product/search-16.gif" }, - "protocol": "rest", + "canonicalName": "Cloud Functions", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "rootUrl": "https://cloudfunctions.googleapis.com/", + "ownerDomain": "google.com", + "name": "cloudfunctions", + "batchPath": "batch", + "fullyEncodeReservedExpansion": true, + "title": "Google Cloud Functions API", + "ownerName": "Google", + "resources": { + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "pattern": "^operations/[^/]+$", + "location": "path", + "description": "The name of the operation resource.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/operations/{operationsId}", + "id": "cloudfunctions.operations.get", + "path": "v1/{+name}" + }, + "list": { + "httpMethod": "GET", + "parameterOrder": [], + "response": { + "$ref": "ListOperationsResponse" + }, + "parameters": { + "pageSize": { + "format": "int32", + "description": "The standard list page size.", + "type": "integer", + "location": "query" + }, + "filter": { + "location": "query", + "description": "The standard list filter.", + "type": "string" + }, + "pageToken": { + "location": "query", + "description": "The standard list page token.", + "type": "string" + }, + "name": { + "location": "query", + "description": "The name of the operation's parent resource.", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/operations", + "path": "v1/operations", + "id": "cloudfunctions.operations.list", + "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id." + } + } + }, + "projects": { + "resources": { + "locations": { + "methods": { + "list": { + "description": "Lists information about the supported locations for this service.", + "response": { + "$ref": "ListLocationsResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "pageSize": { + "format": "int32", + "description": "The standard list page size.", + "type": "integer", + "location": "query" + }, + "filter": { + "location": "query", + "description": "The standard list filter.", + "type": "string" + }, + "pageToken": { + "description": "The standard list page token.", + "type": "string", + "location": "query" + }, + "name": { + "location": "path", + "description": "The resource that owns the locations collection, if applicable.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/locations", + "id": "cloudfunctions.projects.locations.list", + "path": "v1/{+name}/locations" + } + } + } + } + } + }, + "parameters": { + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string", + "location": "query" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", + "location": "query" + }, + "uploadType": { + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" + }, + "callback": { + "description": "JSONP", + "type": "string", + "location": "query" + }, + "$.xgafv": { + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + }, + "alt": { + "enum": [ + "json", + "media", + "proto" + ], + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "description": "Data format for response.", + "default": "json" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", + "location": "query" + }, + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, + "quotaUser": { + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string" + }, + "pp": { + "description": "Pretty-print response.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", + "location": "query" + } + }, "version": "v1", "baseUrl": "https://cloudfunctions.googleapis.com/", - "canonicalName": "Cloud Functions", "servicePath": "", + "kind": "discovery#restDescription", "description": "API for managing lightweight user-provided functions executed in response to events.", - "kind": "discovery#restDescription" + "basePath": "", + "id": "cloudfunctions:v1", + "documentationLink": "https://cloud.google.com/functions", + "revision": "20170926" } diff --git a/vendor/google.golang.org/api/cloudfunctions/v1/cloudfunctions-gen.go b/vendor/google.golang.org/api/cloudfunctions/v1/cloudfunctions-gen.go index eccc2b071..5f063e434 100644 --- a/vendor/google.golang.org/api/cloudfunctions/v1/cloudfunctions-gen.go +++ b/vendor/google.golang.org/api/cloudfunctions/v1/cloudfunctions-gen.go @@ -45,11 +45,19 @@ const apiName = "cloudfunctions" const apiVersion = "v1" const basePath = "https://cloudfunctions.googleapis.com/" +// OAuth2 scopes used by this API. +const ( + // View and manage your data across Google Cloud Platform services + CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" +) + func New(client *http.Client) (*Service, error) { if client == nil { return nil, errors.New("client is nil") } s := &Service{client: client, BasePath: basePath} + s.Operations = NewOperationsService(s) + s.Projects = NewProjectsService(s) return s, nil } @@ -57,6 +65,10 @@ type Service struct { client *http.Client BasePath string // API endpoint base URL UserAgent string // optional additional User-Agent fragment + + Operations *OperationsService + + Projects *ProjectsService } func (s *Service) userAgent() string { @@ -66,6 +78,229 @@ func (s *Service) userAgent() string { return googleapi.UserAgent + " " + s.UserAgent } +func NewOperationsService(s *Service) *OperationsService { + rs := &OperationsService{s: s} + return rs +} + +type OperationsService struct { + s *Service +} + +func NewProjectsService(s *Service) *ProjectsService { + rs := &ProjectsService{s: s} + rs.Locations = NewProjectsLocationsService(s) + return rs +} + +type ProjectsService struct { + s *Service + + Locations *ProjectsLocationsService +} + +func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { + rs := &ProjectsLocationsService{s: s} + return rs +} + +type ProjectsLocationsService struct { + s *Service +} + +// ListLocationsResponse: The response message for +// Locations.ListLocations. +type ListLocationsResponse struct { + // Locations: A list of locations that matches the specified filter in + // the request. + Locations []*Location `json:"locations,omitempty"` + + // NextPageToken: The standard List next-page token. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Locations") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Locations") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListLocationsResponse) MarshalJSON() ([]byte, error) { + type noMethod ListLocationsResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListOperationsResponse: The response message for +// Operations.ListOperations. +type ListOperationsResponse struct { + // NextPageToken: The standard List next-page token. + NextPageToken string `json:"nextPageToken,omitempty"` + + // Operations: A list of operations that matches the specified filter in + // the request. + Operations []*Operation `json:"operations,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "NextPageToken") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) { + type noMethod ListOperationsResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Location: A resource that represents Google Cloud Platform location. +type Location struct { + // Labels: Cross-service attributes for the location. For example + // + // {"cloud.googleapis.com/region": "us-east1"} + Labels map[string]string `json:"labels,omitempty"` + + // LocationId: The canonical id for this location. For example: + // "us-east1". + LocationId string `json:"locationId,omitempty"` + + // Metadata: Service-specific metadata. For example the available + // capacity at the given + // location. + Metadata googleapi.RawMessage `json:"metadata,omitempty"` + + // Name: Resource name for the location, which may vary between + // implementations. + // For example: "projects/example-project/locations/us-east1" + Name string `json:"name,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Labels") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Location) MarshalJSON() ([]byte, error) { + type noMethod Location + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Operation: This resource represents a long-running operation that is +// the result of a +// network API call. +type Operation struct { + // Done: If the value is `false`, it means the operation is still in + // progress. + // If `true`, the operation is completed, and either `error` or + // `response` is + // available. + Done bool `json:"done,omitempty"` + + // Error: The error result of the operation in case of failure or + // cancellation. + Error *Status `json:"error,omitempty"` + + // Metadata: Service-specific metadata associated with the operation. + // It typically + // contains progress information and common metadata such as create + // time. + // Some services might not provide such metadata. Any method that + // returns a + // long-running operation should document the metadata type, if any. + Metadata googleapi.RawMessage `json:"metadata,omitempty"` + + // Name: The server-assigned name, which is only unique within the same + // service that + // originally returns it. If you use the default HTTP mapping, + // the + // `name` should have the format of `operations/some/unique/name`. + Name string `json:"name,omitempty"` + + // Response: The normal response of the operation in case of success. + // If the original + // method returns no data on success, such as `Delete`, the response + // is + // `google.protobuf.Empty`. If the original method is + // standard + // `Get`/`Create`/`Update`, the response should be the resource. For + // other + // methods, the response should have the type `XxxResponse`, where + // `Xxx` + // is the original method name. For example, if the original method + // name + // is `TakeSnapshot()`, the inferred response type + // is + // `TakeSnapshotResponse`. + Response googleapi.RawMessage `json:"response,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Done") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Done") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Operation) MarshalJSON() ([]byte, error) { + type noMethod Operation + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // OperationMetadataV1Beta2: Metadata describing an Operation type OperationMetadataV1Beta2 struct { // Request: The original request that started the operation. @@ -85,6 +320,11 @@ type OperationMetadataV1Beta2 struct { // "DELETE_FUNCTION" - Triggered by DeleteFunction call. Type string `json:"type,omitempty"` + // VersionId: Version id of the function created or updated by an API + // call. + // This field is only pupulated for Create and Update operations. + VersionId int64 `json:"versionId,omitempty,string"` + // ForceSendFields is a list of field names (e.g. "Request") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -107,3 +347,674 @@ func (s *OperationMetadataV1Beta2) MarshalJSON() ([]byte, error) { raw := noMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } + +// Status: The `Status` type defines a logical error model that is +// suitable for different +// programming environments, including REST APIs and RPC APIs. It is +// used by +// [gRPC](https://github.com/grpc). The error model is designed to +// be: +// +// - Simple to use and understand for most users +// - Flexible enough to meet unexpected needs +// +// # Overview +// +// The `Status` message contains three pieces of data: error code, error +// message, +// and error details. The error code should be an enum value +// of +// google.rpc.Code, but it may accept additional error codes if needed. +// The +// error message should be a developer-facing English message that +// helps +// developers *understand* and *resolve* the error. If a localized +// user-facing +// error message is needed, put the localized message in the error +// details or +// localize it in the client. The optional error details may contain +// arbitrary +// information about the error. There is a predefined set of error +// detail types +// in the package `google.rpc` that can be used for common error +// conditions. +// +// # Language mapping +// +// The `Status` message is the logical representation of the error +// model, but it +// is not necessarily the actual wire format. When the `Status` message +// is +// exposed in different client libraries and different wire protocols, +// it can be +// mapped differently. For example, it will likely be mapped to some +// exceptions +// in Java, but more likely mapped to some error codes in C. +// +// # Other uses +// +// The error model and the `Status` message can be used in a variety +// of +// environments, either with or without APIs, to provide a +// consistent developer experience across different +// environments. +// +// Example uses of this error model include: +// +// - Partial errors. If a service needs to return partial errors to the +// client, +// it may embed the `Status` in the normal response to indicate the +// partial +// errors. +// +// - Workflow errors. A typical workflow has multiple steps. Each step +// may +// have a `Status` message for error reporting. +// +// - Batch operations. If a client uses batch request and batch +// response, the +// `Status` message should be used directly inside batch response, +// one for +// each error sub-response. +// +// - Asynchronous operations. If an API call embeds asynchronous +// operation +// results in its response, the status of those operations should +// be +// represented directly using the `Status` message. +// +// - Logging. If some API errors are stored in logs, the message +// `Status` could +// be used directly after any stripping needed for security/privacy +// reasons. +type Status struct { + // Code: The status code, which should be an enum value of + // google.rpc.Code. + Code int64 `json:"code,omitempty"` + + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. + Details []googleapi.RawMessage `json:"details,omitempty"` + + // Message: A developer-facing error message, which should be in + // English. Any + // user-facing error message should be localized and sent in + // the + // google.rpc.Status.details field, or localized by the client. + 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Status) MarshalJSON() ([]byte, error) { + type noMethod Status + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// method id "cloudfunctions.operations.get": + +type OperationsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the latest state of a long-running operation. Clients can +// use this +// method to poll the operation result at intervals as recommended by +// the API +// service. +func (r *OperationsService) Get(name string) *OperationsGetCall { + c := &OperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OperationsGetCall) Fields(s ...googleapi.Field) *OperationsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *OperationsGetCall) IfNoneMatch(entityTag string) *OperationsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OperationsGetCall) Context(ctx context.Context) *OperationsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OperationsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudfunctions.operations.get" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *OperationsGetCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + // "flatPath": "v1/operations/{operationsId}", + // "httpMethod": "GET", + // "id": "cloudfunctions.operations.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the operation resource.", + // "location": "path", + // "pattern": "^operations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "cloudfunctions.operations.list": + +type OperationsListCall struct { + s *Service + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists operations that match the specified filter in the +// request. If the +// server doesn't support this method, it returns +// `UNIMPLEMENTED`. +// +// NOTE: the `name` binding allows API services to override the +// binding +// to use different resource name schemes, such as `users/*/operations`. +// To +// override the binding, API services can add a binding such +// as +// "/v1/{name=users/*}/operations" to their service configuration. +// For backwards compatibility, the default name includes the +// operations +// collection id, however overriding users must ensure the name +// binding +// is the parent resource, without the operations collection id. +func (r *OperationsService) List() *OperationsListCall { + c := &OperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + return c +} + +// Filter sets the optional parameter "filter": The standard list +// filter. +func (c *OperationsListCall) Filter(filter string) *OperationsListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// Name sets the optional parameter "name": The name of the operation's +// parent resource. +func (c *OperationsListCall) Name(name string) *OperationsListCall { + c.urlParams_.Set("name", name) + return c +} + +// PageSize sets the optional parameter "pageSize": The standard list +// page size. +func (c *OperationsListCall) PageSize(pageSize int64) *OperationsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The standard list +// page token. +func (c *OperationsListCall) PageToken(pageToken string) *OperationsListCall { + 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 information. +func (c *OperationsListCall) Fields(s ...googleapi.Field) *OperationsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *OperationsListCall) IfNoneMatch(entityTag string) *OperationsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OperationsListCall) Context(ctx context.Context) *OperationsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OperationsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/operations") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudfunctions.operations.list" call. +// Exactly one of *ListOperationsResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListOperationsResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *OperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, 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, &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, err + } + ret := &ListOperationsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", + // "flatPath": "v1/operations", + // "httpMethod": "GET", + // "id": "cloudfunctions.operations.list", + // "parameterOrder": [], + // "parameters": { + // "filter": { + // "description": "The standard list filter.", + // "location": "query", + // "type": "string" + // }, + // "name": { + // "description": "The name of the operation's parent resource.", + // "location": "query", + // "type": "string" + // }, + // "pageSize": { + // "description": "The standard list page size.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "The standard list page token.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/operations", + // "response": { + // "$ref": "ListOperationsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// 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 *OperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "cloudfunctions.projects.locations.list": + +type ProjectsLocationsListCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists information about the supported locations for this +// service. +func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall { + c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Filter sets the optional parameter "filter": The standard list +// filter. +func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// PageSize sets the optional parameter "pageSize": The standard list +// page size. +func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The standard list +// page token. +func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall { + 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 information. +func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/locations") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudfunctions.projects.locations.list" call. +// Exactly one of *ListLocationsResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListLocationsResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, 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, &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, err + } + ret := &ListLocationsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists information about the supported locations for this service.", + // "flatPath": "v1/projects/{projectsId}/locations", + // "httpMethod": "GET", + // "id": "cloudfunctions.projects.locations.list", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "filter": { + // "description": "The standard list filter.", + // "location": "query", + // "type": "string" + // }, + // "name": { + // "description": "The resource that owns the locations collection, if applicable.", + // "location": "path", + // "pattern": "^projects/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "pageSize": { + // "description": "The standard list page size.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "The standard list page token.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/{+name}/locations", + // "response": { + // "$ref": "ListLocationsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// 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 *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} diff --git a/vendor/google.golang.org/api/cloudfunctions/v1beta2/cloudfunctions-api.json b/vendor/google.golang.org/api/cloudfunctions/v1beta2/cloudfunctions-api.json index 17868a464..cd624c350 100644 --- a/vendor/google.golang.org/api/cloudfunctions/v1beta2/cloudfunctions-api.json +++ b/vendor/google.golang.org/api/cloudfunctions/v1beta2/cloudfunctions-api.json @@ -1,472 +1,61 @@ { - "basePath": "", - "revision": "20170704", - "documentationLink": "https://cloud.google.com/functions", - "id": "cloudfunctions:v1beta2", - "discoveryVersion": "v1", - "version_module": "True", - "schemas": { - "ListFunctionsResponse": { - "properties": { - "functions": { - "description": "The functions that match the request.", - "items": { - "$ref": "CloudFunction" - }, - "type": "array" - }, - "nextPageToken": { - "description": "If not empty, indicates that there may be more functions that match\nthe request; this value should be passed in a new\ngoogle.cloud.functions.v1beta2.ListFunctionsRequest\nto get more functions.", - "type": "string" - } - }, - "id": "ListFunctionsResponse", - "description": "Response for the `ListFunctions` method.", - "type": "object" - }, - "CallFunctionResponse": { - "id": "CallFunctionResponse", - "description": "Response of `CallFunction` method.", - "type": "object", - "properties": { - "executionId": { - "description": "Execution id of function invocation.", - "type": "string" - }, - "error": { - "description": "Either system or user-function generated error. Set if execution\nwas not successful.", - "type": "string" - }, - "result": { - "description": "Result populated for successful execution of synchronous function. Will\nnot be populated if function does not return a result through context.", - "type": "string" - } - } - }, - "ListLocationsResponse": { - "description": "The response message for Locations.ListLocations.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" - }, - "locations": { - "description": "A list of locations that matches the specified filter in the request.", - "items": { - "$ref": "Location" - }, - "type": "array" - } - }, - "id": "ListLocationsResponse" - }, - "EventTrigger": { - "description": "Describes EventTrigger, used to request events be sent from another\nservice.", - "type": "object", - "properties": { - "eventType": { - "description": "`event_type` names contain the service that is sending an event and the\nkind of event that was fired. Must be of the form\n`providers/*/eventTypes/*` e.g. Directly handle a Message published to\nGoogle Cloud Pub/Sub `providers/cloud.pubsub/eventTypes/topic.publish`\n\n Handle an object changing in Google Cloud Storage\n `providers/cloud.storage/eventTypes/object.change`\n\n Handle a write to the Firebase Realtime Database\n `providers/firebase.database/eventTypes/data.write`", - "type": "string" - }, - "resource": { - "type": "string", - "description": "Which instance of the source's service should send events. E.g. for Pub/Sub\nthis would be a Pub/Sub topic at `projects/*/topics/*`. For Google Cloud\nStorage this would be a bucket at `projects/*/buckets/*`. For any source\nthat only supports one instance per-project, this should be the name of the\nproject (`projects/*`)" - } - }, - "id": "EventTrigger" - }, - "HTTPSTrigger": { - "id": "HTTPSTrigger", - "description": "Describes HTTPSTrigger, could be used to connect web hooks to function.", - "type": "object", - "properties": { - "url": { - "description": "Output only. The deployed url for the function.", - "type": "string" - } - } - }, - "Operation": { - "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", - "type": "object", - "properties": { - "response": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", - "type": "object" - }, - "name": { - "type": "string", - "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`." - }, - "error": { - "description": "The error result of the operation in case of failure or cancellation.", - "$ref": "Status" - }, - "metadata": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", - "type": "object" - }, - "done": { - "description": "If the value is `false`, it means the operation is still in progress.\nIf true, the operation is completed, and either `error` or `response` is\navailable.", - "type": "boolean" - } - }, - "id": "Operation" - }, - "OperationMetadataV1Beta2": { - "description": "Metadata describing an Operation", - "type": "object", - "properties": { - "target": { - "description": "Target of the operation - for example\nprojects/project-1/locations/region-1/functions/function-1", - "type": "string" - }, - "request": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "The original request that started the operation.", - "type": "object" - }, - "type": { - "enum": [ - "OPERATION_UNSPECIFIED", - "CREATE_FUNCTION", - "UPDATE_FUNCTION", - "DELETE_FUNCTION" - ], - "description": "Type of operation.", - "type": "string", - "enumDescriptions": [ - "Unknown operation type.", - "Triggered by CreateFunction call", - "Triggered by UpdateFunction call", - "Triggered by DeleteFunction call." - ] - } - }, - "id": "OperationMetadataV1Beta2" - }, - "Status": { - "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", - "type": "object", - "properties": { - "code": { - "format": "int32", - "description": "The status code, which should be an enum value of google.rpc.Code.", - "type": "integer" - }, - "message": { - "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", - "type": "string" - }, - "details": { - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", - "items": { - "additionalProperties": { - "type": "any", - "description": "Properties of the object. Contains field @type with type URL." - }, - "type": "object" - }, - "type": "array" - } - }, - "id": "Status" - }, - "SourceRepository": { - "type": "object", - "properties": { - "repositoryUrl": { - "description": "URL to the hosted repository where the function is defined. Only paths in\nhttps://source.developers.google.com domain are supported. The path should\ncontain the name of the repository.", - "type": "string" - }, - "tag": { - "description": "The name of the tag that captures the state of the repository from\nwhich the function should be fetched.", - "type": "string" - }, - "branch": { - "type": "string", - "description": "The name of the branch from which the function should be fetched." - }, - "deployedRevision": { - "description": "Output only. The id of the revision that was resolved at the moment of\nfunction creation or update. For example when a user deployed from a\nbranch, it will be the revision id of the latest change on this branch at\nthat time. If user deployed from revision then this value will be always\nequal to the revision specified by the user.", - "type": "string" - }, - "sourcePath": { - "description": "The path within the repository where the function is defined. The path\nshould point to the directory where Cloud Functions files are located. Use\n\"/\" if the function is defined directly in the root directory of a\nrepository.", - "type": "string" - }, - "revision": { - "description": "The id of the revision that captures the state of the repository from\nwhich the function should be fetched.", - "type": "string" - } - }, - "id": "SourceRepository", - "description": "Describes the location of the function source in a remote repository." - }, - "CallFunctionRequest": { - "description": "Request for the `CallFunction` method.", - "type": "object", - "properties": { - "data": { - "description": "Input to be passed to the function.", - "type": "string" - } - }, - "id": "CallFunctionRequest" - }, - "CloudFunction": { - "description": "Describes a Cloud Function that contains user computation executed in\nresponse to an event. It encapsulate function and triggers configurations.", - "type": "object", - "properties": { - "serviceAccount": { - "description": "Output only. The service account of the function.", - "type": "string" - }, - "sourceArchiveUrl": { - "description": "The Google Cloud Storage URL, starting with gs://, pointing to the zip\narchive which contains the function.", - "type": "string" - }, - "sourceRepository": { - "$ref": "SourceRepository", - "description": "The hosted repository where the function is defined." - }, - "entryPoint": { - "description": "The name of the function (as defined in source code) that will be\nexecuted. Defaults to the resource name suffix, if not specified. For\nbackward compatibility, if function with given name is not found, then the\nsystem will try to use function named \"function\".\nFor Node.js this is name of a function exported by the module specified\nin `source_location`.", - "type": "string" - }, - "updateTime": { - "type": "string", - "format": "google-datetime", - "description": "Output only. The last update timestamp of a Cloud Function." - }, - "latestOperation": { - "description": "Output only. Name of the most recent operation modifying the function. If\nthe function status is `DEPLOYING` or `DELETING`, then it points to the\nactive operation.", - "type": "string" - }, - "httpsTrigger": { - "description": "An HTTPS endpoint type of source that can be triggered via URL.", - "$ref": "HTTPSTrigger" - }, - "eventTrigger": { - "description": "A source that fires events in response to a condition in another service.", - "$ref": "EventTrigger" - }, - "status": { - "type": "string", - "enumDescriptions": [ - "Status not specified.", - "Successfully deployed.", - "Not deployed correctly - behavior is undefined. The item should be updated\nor deleted to move it out of this state.", - "Creation or update in progress.", - "Deletion in progress." - ], - "enum": [ - "STATUS_UNSPECIFIED", - "READY", - "FAILED", - "DEPLOYING", - "DELETING" - ], - "description": "Output only. Status of the function deployment." - }, - "timeout": { - "format": "google-duration", - "description": "The function execution timeout. Execution is considered failed and\ncan be terminated if the function is not completed at the end of the\ntimeout period. Defaults to 60 seconds.", - "type": "string" - }, - "availableMemoryMb": { - "format": "int32", - "description": "The amount of memory in MB available for a function.\nDefaults to 256MB.", - "type": "integer" - }, - "name": { - "description": "A user-defined name of the function. Function names must be unique\nglobally and match pattern `projects/*/locations/*/functions/*`", - "type": "string" - } - }, - "id": "CloudFunction" - }, - "Location": { - "type": "object", - "properties": { - "locationId": { - "type": "string", - "description": "The canonical id for this location. For example: `\"us-east1\"`." - }, - "metadata": { - "type": "object", - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "Service-specific metadata. For example the available capacity at the given\nlocation." - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Cross-service attributes for the location. For example\n\n {\"cloud.googleapis.com/region\": \"us-east1\"}", - "type": "object" - }, - "name": { - "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`", - "type": "string" - } - }, - "id": "Location", - "description": "A resource that represents Google Cloud Platform location." - }, - "ListOperationsResponse": { - "description": "The response message for Operations.ListOperations.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" - }, - "operations": { - "description": "A list of operations that matches the specified filter in the request.", - "items": { - "$ref": "Operation" - }, - "type": "array" - } - }, - "id": "ListOperationsResponse" - } - }, - "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" - }, - "protocol": "rest", - "canonicalName": "Cloud Functions", - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" - } - } - } - }, "rootUrl": "https://cloudfunctions.googleapis.com/", "ownerDomain": "google.com", "name": "cloudfunctions", "batchPath": "batch", + "fullyEncodeReservedExpansion": true, "title": "Google Cloud Functions API", "ownerName": "Google", "resources": { "projects": { "resources": { "locations": { + "methods": { + "list": { + "description": "Lists information about the supported locations for this service.", + "response": { + "$ref": "ListLocationsResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "type": "string", + "location": "query" + }, + "pageToken": { + "type": "string", + "location": "query", + "description": "The standard list page token." + }, + "name": { + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "The resource that owns the locations collection, if applicable.", + "type": "string", + "required": true + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "The standard list page size.", + "type": "integer" + } + }, + "flatPath": "v1beta2/projects/{projectsId}/locations", + "id": "cloudfunctions.projects.locations.list", + "path": "v1beta2/{+name}/locations" + } + }, "resources": { "functions": { "methods": { - "list": { - "path": "v1beta2/{+location}/functions", - "id": "cloudfunctions.projects.locations.functions.list", - "description": "Returns a list of functions that belong to the requested project.", - "httpMethod": "GET", - "parameterOrder": [ - "location" - ], - "response": { - "$ref": "ListFunctionsResponse" - }, - "parameters": { - "location": { - "description": "The project and location from which the function should be listed,\nspecified in the format `projects/*/locations/*`\nIf you want to list functions in all locations, use \"-\" in place of a\nlocation.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+$", - "location": "path" - }, - "pageToken": { - "location": "query", - "description": "The value returned by the last\n`ListFunctionsResponse`; indicates that\nthis is a continuation of a prior `ListFunctions` call, and that the\nsystem should return the next page of data.", - "type": "string" - }, - "pageSize": { - "format": "int32", - "description": "Maximum number of functions to return per call.", - "type": "integer", - "location": "query" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions" - }, - "call": { - "response": { - "$ref": "CallFunctionResponse" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", - "location": "path", - "description": "The name of the function to be called." - } - }, - "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:call", - "id": "cloudfunctions.projects.locations.functions.call", - "path": "v1beta2/{+name}:call", - "request": { - "$ref": "CallFunctionRequest" - }, - "description": "Invokes synchronously deployed function. To be used for testing, very\nlimited traffic allowed." - }, - "create": { - "description": "Creates a new function. If a function with the given name already exists in\nthe specified project, the long running operation will return\n`ALREADY_EXISTS` error.", - "request": { - "$ref": "CloudFunction" - }, - "httpMethod": "POST", - "parameterOrder": [ - "location" - ], - "response": { - "$ref": "Operation" - }, - "parameters": { - "location": { - "location": "path", - "description": "The project and location in which the function should be created, specified\nin the format `projects/*/locations/*`", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions", - "path": "v1beta2/{+location}/functions", - "id": "cloudfunctions.projects.locations.functions.create" - }, "get": { "description": "Returns a function with the given name from the requested project.", "response": { @@ -476,6 +65,9 @@ "name" ], "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { "name": { "description": "The name of the function which details should be obtained.", @@ -485,16 +77,11 @@ "location": "path" } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}", "id": "cloudfunctions.projects.locations.functions.get", "path": "v1beta2/{+name}" }, "update": { - "id": "cloudfunctions.projects.locations.functions.update", - "path": "v1beta2/{+name}", "request": { "$ref": "CloudFunction" }, @@ -511,16 +98,22 @@ ], "parameters": { "name": { - "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", - "location": "path", "description": "The name of the function to be updated.", "type": "string", - "required": true + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", + "location": "path" } }, - "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}" + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}", + "id": "cloudfunctions.projects.locations.functions.update", + "path": "v1beta2/{+name}" }, "delete": { + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}", + "id": "cloudfunctions.projects.locations.functions.delete", + "path": "v1beta2/{+name}", + "description": "Deletes a function with the given name from the specified project. If the\ngiven function is used by some trigger, the trigger will be updated to\nremove this function.", "response": { "$ref": "Operation" }, @@ -528,6 +121,9 @@ "name" ], "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { "name": { "location": "path", @@ -536,60 +132,102 @@ "required": true, "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$" } + } + }, + "list": { + "response": { + "$ref": "ListFunctionsResponse" + }, + "parameterOrder": [ + "location" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "pageToken": { + "location": "query", + "description": "The value returned by the last\n`ListFunctionsResponse`; indicates that\nthis is a continuation of a prior `ListFunctions` call, and that the\nsystem should return the next page of data.", + "type": "string" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Maximum number of functions to return per call.", + "type": "integer" + }, + "location": { + "description": "The project and location from which the function should be listed,\nspecified in the format `projects/*/locations/*`\nIf you want to list functions in all locations, use \"-\" in place of a\nlocation.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions", + "id": "cloudfunctions.projects.locations.functions.list", + "path": "v1beta2/{+location}/functions", + "description": "Returns a list of functions that belong to the requested project." + }, + "create": { + "id": "cloudfunctions.projects.locations.functions.create", + "path": "v1beta2/{+location}/functions", + "description": "Creates a new function. If a function with the given name already exists in\nthe specified project, the long running operation will return\n`ALREADY_EXISTS` error.", + "request": { + "$ref": "CloudFunction" + }, + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "location" + ], + "httpMethod": "POST", + "parameters": { + "location": { + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path", + "description": "The project and location in which the function should be created, specified\nin the format `projects/*/locations/*`", + "type": "string", + "required": true + } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}", - "id": "cloudfunctions.projects.locations.functions.delete", - "path": "v1beta2/{+name}", - "description": "Deletes a function with the given name from the specified project. If the\ngiven function is used by some trigger, the trigger will be updated to\nremove this function." + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions" + }, + "call": { + "request": { + "$ref": "CallFunctionRequest" + }, + "description": "Invokes synchronously deployed function. To be used for testing, very\nlimited traffic allowed.", + "response": { + "$ref": "CallFunctionResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "description": "The name of the function to be called.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:call", + "id": "cloudfunctions.projects.locations.functions.call", + "path": "v1beta2/{+name}:call" } } } - }, - "methods": { - "list": { - "id": "cloudfunctions.projects.locations.list", - "path": "v1beta2/{+name}/locations", - "description": "Lists information about the supported locations for this service.", - "response": { - "$ref": "ListLocationsResponse" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "parameters": { - "pageSize": { - "format": "int32", - "description": "The standard list page size.", - "type": "integer", - "location": "query" - }, - "filter": { - "type": "string", - "location": "query", - "description": "The standard list filter." - }, - "pageToken": { - "description": "The standard list page token.", - "type": "string", - "location": "query" - }, - "name": { - "description": "The resource that owns the locations collection, if applicable.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta2/projects/{projectsId}/locations" - } } } } @@ -597,33 +235,31 @@ "operations": { "methods": { "get": { - "response": { - "$ref": "Operation" - }, + "httpMethod": "GET", "parameterOrder": [ "name" ], - "httpMethod": "GET", - "parameters": { - "name": { - "description": "The name of the operation resource.", - "type": "string", - "required": true, - "pattern": "^operations/[^/]+$", - "location": "path" - } + "response": { + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], + "parameters": { + "name": { + "type": "string", + "required": true, + "pattern": "^operations/[^/]+$", + "location": "path", + "description": "The name of the operation resource." + } + }, "flatPath": "v1beta2/operations/{operationsId}", - "id": "cloudfunctions.operations.get", "path": "v1beta2/{+name}", + "id": "cloudfunctions.operations.get", "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice." }, "list": { - "path": "v1beta2/operations", - "id": "cloudfunctions.operations.list", "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", "httpMethod": "GET", "parameterOrder": [], @@ -634,56 +270,90 @@ "https://www.googleapis.com/auth/cloud-platform" ], "parameters": { - "filter": { + "pageToken": { "location": "query", - "description": "The standard list filter.", + "description": "The standard list page token.", "type": "string" }, - "pageToken": { - "description": "The standard list page token.", - "type": "string", - "location": "query" - }, "name": { - "description": "The name of the operation's parent resource.", "type": "string", - "location": "query" + "location": "query", + "description": "The name of the operation's parent resource." }, "pageSize": { "location": "query", "format": "int32", "description": "The standard list page size.", "type": "integer" + }, + "filter": { + "description": "The standard list filter.", + "type": "string", + "location": "query" } }, - "flatPath": "v1beta2/operations" + "flatPath": "v1beta2/operations", + "path": "v1beta2/operations", + "id": "cloudfunctions.operations.list" } } } }, "parameters": { - "uploadType": { + "quotaUser": { "type": "string", "location": "query", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")." + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters." + }, + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" }, "fields": { + "location": "query", "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", "type": "string", "location": "query" }, "$.xgafv": { + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], "location": "query", "enum": [ "1", "2" ], "description": "V1 error format.", - "type": "string", - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ] + "type": "string" }, "callback": { "description": "JSONP", @@ -706,52 +376,429 @@ "description": "Data format for response.", "default": "json" }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", + "location": "query" + }, "access_token": { "type": "string", "location": "query", "description": "OAuth access token." - }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, - "quotaUser": { - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string", - "location": "query" - }, - "pp": { - "location": "query", - "description": "Pretty-print response.", - "default": "true", - "type": "boolean" - }, - "bearer_token": { - "type": "string", - "location": "query", - "description": "OAuth bearer token." - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" - }, - "upload_protocol": { - "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string" - }, - "prettyPrint": { - "description": "Returns response with indentations and line breaks.", - "default": "true", - "type": "boolean", - "location": "query" } }, "version": "v1beta2", "baseUrl": "https://cloudfunctions.googleapis.com/", "servicePath": "", + "description": "API for managing lightweight user-provided functions executed in response to events.", "kind": "discovery#restDescription", - "description": "API for managing lightweight user-provided functions executed in response to events." + "basePath": "", + "id": "cloudfunctions:v1beta2", + "documentationLink": "https://cloud.google.com/functions", + "revision": "20170926", + "discoveryVersion": "v1", + "version_module": true, + "schemas": { + "Retry": { + "description": "Describes the retry policy in case of function's execution failure.\nA function execution will be retried on any failure.\nA failed execution will be retried up to 7 days with an exponential backoff\n(capped at 10 seconds).\nRetried execution is charged as any other execution.", + "type": "object", + "properties": {}, + "id": "Retry" + }, + "ListOperationsResponse": { + "id": "ListOperationsResponse", + "description": "The response message for Operations.ListOperations.", + "type": "object", + "properties": { + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + } + }, + "ListFunctionsResponse": { + "description": "Response for the `ListFunctions` method.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "If not empty, indicates that there may be more functions that match\nthe request; this value should be passed in a new\ngoogle.cloud.functions.v1beta2.ListFunctionsRequest\nto get more functions.", + "type": "string" + }, + "functions": { + "description": "The functions that match the request.", + "items": { + "$ref": "CloudFunction" + }, + "type": "array" + } + }, + "id": "ListFunctionsResponse" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "type": "object", + "properties": { + "locations": { + "items": { + "$ref": "Location" + }, + "type": "array", + "description": "A list of locations that matches the specified filter in the request." + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "id": "ListLocationsResponse" + }, + "CallFunctionResponse": { + "description": "Response of `CallFunction` method.", + "type": "object", + "properties": { + "executionId": { + "description": "Execution id of function invocation.", + "type": "string" + }, + "error": { + "description": "Either system or user-function generated error. Set if execution\nwas not successful.", + "type": "string" + }, + "result": { + "description": "Result populated for successful execution of synchronous function. Will\nnot be populated if function does not return a result through context.", + "type": "string" + } + }, + "id": "CallFunctionResponse" + }, + "EventTrigger": { + "description": "Describes EventTrigger, used to request events be sent from another\nservice.", + "type": "object", + "properties": { + "resource": { + "description": "Which instance of the source's service should send events. E.g. for Pub/Sub\nthis would be a Pub/Sub topic at `projects/*/topics/*`. For Google Cloud\nStorage this would be a bucket at `projects/*/buckets/*`. For any source\nthat only supports one instance per-project, this should be the name of the\nproject (`projects/*`)", + "type": "string" + }, + "service": { + "description": "The hostname of the service that should be observed.\n\nIf no string is provided, the default service implementing the API will\nbe used. For example, `storage.googleapis.com` is the default for all\nevent types in the 'google.storage` namespace.", + "type": "string" + }, + "failurePolicy": { + "description": "Specifies policy for failed executions.", + "$ref": "FailurePolicy" + }, + "eventType": { + "description": "`event_type` names contain the service that is sending an event and the\nkind of event that was fired. Must be of the form\n`providers/*/eventTypes/*` e.g. Directly handle a Message published to\nGoogle Cloud Pub/Sub `providers/cloud.pubsub/eventTypes/topic.publish`\n\n Handle an object changing in Google Cloud Storage\n `providers/cloud.storage/eventTypes/object.change`\n\n Handle a write to the Firebase Realtime Database\n `providers/google.firebase.database/eventTypes/ref.write`", + "type": "string" + } + }, + "id": "EventTrigger" + }, + "HTTPSTrigger": { + "description": "Describes HTTPSTrigger, could be used to connect web hooks to function.", + "type": "object", + "properties": { + "url": { + "description": "Output only. The deployed url for the function.", + "type": "string" + } + }, + "id": "HTTPSTrigger" + }, + "FailurePolicy": { + "description": "Describes the policy in case of function's execution failure.\nIf empty, then defaults to ignoring failures (i.e. not retrying them).", + "type": "object", + "properties": { + "retry": { + "$ref": "Retry", + "description": "If specified, then the function will be retried in case of a failure." + } + }, + "id": "FailurePolicy" + }, + "Operation": { + "id": "Operation", + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "type": "object", + "properties": { + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`.", + "type": "string" + }, + "error": { + "description": "The error result of the operation in case of failure or cancellation.", + "$ref": "Status" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + }, + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + } + } + }, + "OperationMetadataV1Beta2": { + "id": "OperationMetadataV1Beta2", + "description": "Metadata describing an Operation", + "type": "object", + "properties": { + "target": { + "description": "Target of the operation - for example\nprojects/project-1/locations/region-1/functions/function-1", + "type": "string" + }, + "versionId": { + "format": "int64", + "description": "Version id of the function created or updated by an API call.\nThis field is only pupulated for Create and Update operations.", + "type": "string" + }, + "request": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The original request that started the operation.", + "type": "object" + }, + "type": { + "enumDescriptions": [ + "Unknown operation type.", + "Triggered by CreateFunction call", + "Triggered by UpdateFunction call", + "Triggered by DeleteFunction call." + ], + "enum": [ + "OPERATION_UNSPECIFIED", + "CREATE_FUNCTION", + "UPDATE_FUNCTION", + "DELETE_FUNCTION" + ], + "description": "Type of operation.", + "type": "string" + } + } + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", + "type": "object", + "properties": { + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @type with type URL." + } + }, + "type": "array" + }, + "code": { + "type": "integer", + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code." + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "id": "Status" + }, + "SourceRepository": { + "type": "object", + "properties": { + "revision": { + "description": "The id of the revision that captures the state of the repository from\nwhich the function should be fetched.", + "type": "string" + }, + "repositoryUrl": { + "description": "URL to the hosted repository where the function is defined. Only paths in\nhttps://source.developers.google.com domain are supported. The path should\ncontain the name of the repository.", + "type": "string" + }, + "tag": { + "description": "The name of the tag that captures the state of the repository from\nwhich the function should be fetched.", + "type": "string" + }, + "branch": { + "description": "The name of the branch from which the function should be fetched.", + "type": "string" + }, + "deployedRevision": { + "description": "Output only. The id of the revision that was resolved at the moment of\nfunction creation or update. For example when a user deployed from a\nbranch, it will be the revision id of the latest change on this branch at\nthat time. If user deployed from revision then this value will be always\nequal to the revision specified by the user.", + "type": "string" + }, + "sourcePath": { + "description": "The path within the repository where the function is defined. The path\nshould point to the directory where Cloud Functions files are located. Use\n\"/\" if the function is defined directly in the root directory of a\nrepository.", + "type": "string" + } + }, + "id": "SourceRepository", + "description": "Describes the location of the function source in a remote repository." + }, + "CallFunctionRequest": { + "description": "Request for the `CallFunction` method.", + "type": "object", + "properties": { + "data": { + "description": "Input to be passed to the function.", + "type": "string" + } + }, + "id": "CallFunctionRequest" + }, + "CloudFunction": { + "description": "Describes a Cloud Function that contains user computation executed in\nresponse to an event. It encapsulate function and triggers configurations.", + "type": "object", + "properties": { + "sourceArchiveUrl": { + "type": "string", + "description": "The Google Cloud Storage URL, starting with gs://, pointing to the zip\narchive which contains the function." + }, + "sourceRepository": { + "$ref": "SourceRepository", + "description": "The hosted repository where the function is defined." + }, + "entryPoint": { + "description": "The name of the function (as defined in source code) that will be\nexecuted. Defaults to the resource name suffix, if not specified. For\nbackward compatibility, if function with given name is not found, then the\nsystem will try to use function named \"function\".\nFor Node.js this is name of a function exported by the module specified\nin `source_location`.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels associated with this Cloud Function.", + "type": "object" + }, + "updateTime": { + "format": "google-datetime", + "description": "Output only. The last update timestamp of a Cloud Function.", + "type": "string" + }, + "sourceRepositoryUrl": { + "description": "The URL pointing to the hosted repository where the function is defined.\nThere are supported Cloud Source Repository URLs in the following\nformats:\n\nTo refer to a specific commit:\n`https://source.developers.google.com/projects/*/repos/*/revisions/*/paths/*`\nTo refer to a moveable alias (branch):\n`https://source.developers.google.com/projects/*/repos/*/moveable-aliases/*/paths/*`\nIn particular, to refer to HEAD use `master` moveable alias.\nTo refer to a specific fixed alias (tag):\n`https://source.developers.google.com/projects/*/repos/*/fixed-aliases/*/paths/*`\n\nYou may omit `paths/*` if you want to use the main directory.", + "type": "string" + }, + "latestOperation": { + "description": "Output only. Name of the most recent operation modifying the function. If\nthe function status is `DEPLOYING` or `DELETING`, then it points to the\nactive operation.", + "type": "string" + }, + "httpsTrigger": { + "description": "An HTTPS endpoint type of source that can be triggered via URL.", + "$ref": "HTTPSTrigger" + }, + "timeout": { + "format": "google-duration", + "description": "The function execution timeout. Execution is considered failed and\ncan be terminated if the function is not completed at the end of the\ntimeout period. Defaults to 60 seconds.", + "type": "string" + }, + "status": { + "enum": [ + "STATUS_UNSPECIFIED", + "READY", + "FAILED", + "DEPLOYING", + "DELETING" + ], + "description": "Output only. Status of the function deployment.", + "type": "string", + "enumDescriptions": [ + "Status not specified.", + "Successfully deployed.", + "Not deployed correctly - behavior is undefined. The item should be updated\nor deleted to move it out of this state.", + "Creation or update in progress.", + "Deletion in progress." + ] + }, + "eventTrigger": { + "$ref": "EventTrigger", + "description": "A source that fires events in response to a condition in another service." + }, + "availableMemoryMb": { + "format": "int32", + "description": "The amount of memory in MB available for a function.\nDefaults to 256MB.", + "type": "integer" + }, + "name": { + "description": "A user-defined name of the function. Function names must be unique\nglobally and match pattern `projects/*/locations/*/functions/*`", + "type": "string" + }, + "versionId": { + "format": "int64", + "description": "Output only.\nThe version identifier of the Cloud Function. Each deployment attempt\nresults in a new version of a function being created.", + "type": "string" + }, + "serviceAccount": { + "type": "string", + "description": "Output only. The service account of the function." + } + }, + "id": "CloudFunction" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform location.", + "type": "object", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example\n\n {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "description": "Service-specific metadata. For example the available capacity at the given\nlocation.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + } + } + }, + "id": "Location" + } + }, + "icons": { + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" + }, + "protocol": "rest", + "canonicalName": "Cloud Functions", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + } } diff --git a/vendor/google.golang.org/api/cloudfunctions/v1beta2/cloudfunctions-gen.go b/vendor/google.golang.org/api/cloudfunctions/v1beta2/cloudfunctions-gen.go index a1512a2a9..8523c054a 100644 --- a/vendor/google.golang.org/api/cloudfunctions/v1beta2/cloudfunctions-gen.go +++ b/vendor/google.golang.org/api/cloudfunctions/v1beta2/cloudfunctions-gen.go @@ -221,6 +221,9 @@ type CloudFunction struct { // via URL. HttpsTrigger *HTTPSTrigger `json:"httpsTrigger,omitempty"` + // Labels: Labels associated with this Cloud Function. + Labels map[string]string `json:"labels,omitempty"` + // LatestOperation: Output only. Name of the most recent operation // modifying the function. If // the function status is `DEPLOYING` or `DELETING`, then it points to @@ -245,6 +248,29 @@ type CloudFunction struct { // defined. SourceRepository *SourceRepository `json:"sourceRepository,omitempty"` + // SourceRepositoryUrl: The URL pointing to the hosted repository where + // the function is defined. + // There are supported Cloud Source Repository URLs in the + // following + // formats: + // + // To refer to a specific + // commit: + // `https://source.developers.google.com/projects/*/repos/*/revis + // ions/*/paths/*` + // To refer to a moveable alias + // (branch): + // `https://source.developers.google.com/projects/*/repos/*/mov + // eable-aliases/*/paths/*` + // In particular, to refer to HEAD use `master` moveable alias. + // To refer to a specific fixed alias + // (tag): + // `https://source.developers.google.com/projects/*/repos/*/fixed- + // aliases/*/paths/*` + // + // You may omit `paths/*` if you want to use the main directory. + SourceRepositoryUrl string `json:"sourceRepositoryUrl,omitempty"` + // Status: Output only. Status of the function deployment. // // Possible values: @@ -268,6 +294,12 @@ type CloudFunction struct { // Function. UpdateTime string `json:"updateTime,omitempty"` + // VersionId: Output only. + // The version identifier of the Cloud Function. Each deployment + // attempt + // results in a new version of a function being created. + VersionId int64 `json:"versionId,omitempty,string"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -313,9 +345,12 @@ type EventTrigger struct { // `providers/cloud.storage/eventTypes/object.change` // // Handle a write to the Firebase Realtime Database - // `providers/firebase.database/eventTypes/data.write` + // `providers/google.firebase.database/eventTypes/ref.write` EventType string `json:"eventType,omitempty"` + // FailurePolicy: Specifies policy for failed executions. + FailurePolicy *FailurePolicy `json:"failurePolicy,omitempty"` + // Resource: Which instance of the source's service should send events. // E.g. for Pub/Sub // this would be a Pub/Sub topic at `projects/*/topics/*`. For Google @@ -327,6 +362,15 @@ type EventTrigger struct { // project (`projects/*`) Resource string `json:"resource,omitempty"` + // Service: The hostname of the service that should be observed. + // + // If no string is provided, the default service implementing the API + // will + // be used. For example, `storage.googleapis.com` is the default for + // all + // event types in the 'google.storage` namespace. + Service string `json:"service,omitempty"` + // ForceSendFields is a list of field names (e.g. "EventType") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -350,6 +394,38 @@ func (s *EventTrigger) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// FailurePolicy: Describes the policy in case of function's execution +// failure. +// If empty, then defaults to ignoring failures (i.e. not retrying +// them). +type FailurePolicy struct { + // Retry: If specified, then the function will be retried in case of a + // failure. + Retry *Retry `json:"retry,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Retry") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Retry") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FailurePolicy) MarshalJSON() ([]byte, error) { + type noMethod FailurePolicy + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // HTTPSTrigger: Describes HTTPSTrigger, could be used to connect web // hooks to function. type HTTPSTrigger struct { @@ -543,8 +619,8 @@ func (s *Location) MarshalJSON() ([]byte, error) { type Operation struct { // Done: If the value is `false`, it means the operation is still in // progress. - // If true, the operation is completed, and either `error` or `response` - // is + // If `true`, the operation is completed, and either `error` or + // `response` is // available. Done bool `json:"done,omitempty"` @@ -631,6 +707,11 @@ type OperationMetadataV1Beta2 struct { // "DELETE_FUNCTION" - Triggered by DeleteFunction call. Type string `json:"type,omitempty"` + // VersionId: Version id of the function created or updated by an API + // call. + // This field is only pupulated for Create and Update operations. + VersionId int64 `json:"versionId,omitempty,string"` + // ForceSendFields is a list of field names (e.g. "Request") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -654,6 +735,16 @@ func (s *OperationMetadataV1Beta2) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Retry: Describes the retry policy in case of function's execution +// failure. +// A function execution will be retried on any failure. +// A failed execution will be retried up to 7 days with an exponential +// backoff +// (capped at 10 seconds). +// Retried execution is charged as any other execution. +type Retry struct { +} + // SourceRepository: Describes the location of the function source in a // remote repository. type SourceRepository struct { @@ -805,9 +896,9 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in diff --git a/vendor/google.golang.org/api/cloudiot/v1/cloudiot-api.json b/vendor/google.golang.org/api/cloudiot/v1/cloudiot-api.json new file mode 100644 index 000000000..35e50a32f --- /dev/null +++ b/vendor/google.golang.org/api/cloudiot/v1/cloudiot-api.json @@ -0,0 +1,1304 @@ +{ + "version_module": true, + "schemas": { + "EventNotificationConfig": { + "description": "The configuration to forward telemetry events.", + "type": "object", + "properties": { + "pubsubTopicName": { + "description": "A Cloud Pub/Sub topic name. For example,\n`projects/myProject/topics/deviceEvents`.", + "type": "string" + } + }, + "id": "EventNotificationConfig" + }, + "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "type": "object", + "properties": { + "updateMask": { + "format": "google-fieldmask", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "type": "string" + }, + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + } + }, + "id": "SetIamPolicyRequest" + }, + "Empty": { + "id": "Empty", + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object", + "properties": {} + }, + "PublicKeyCredential": { + "description": "A public key format and data.", + "type": "object", + "properties": { + "key": { + "description": "The key data.", + "type": "string" + }, + "format": { + "enum": [ + "UNSPECIFIED_PUBLIC_KEY_FORMAT", + "RSA_PEM", + "RSA_X509_PEM", + "ES256_PEM", + "ES256_X509_PEM" + ], + "description": "The format of the key.", + "type": "string", + "enumDescriptions": [ + "The format has not been specified. This is an invalid default value and\nmust not be used.", + "An RSA public key encoded in base64, and wrapped by\n`-----BEGIN PUBLIC KEY-----` and `-----END PUBLIC KEY-----`. This can be\nused to verify `RS256` signatures in JWT tokens ([RFC7518](\nhttps://www.ietf.org/rfc/rfc7518.txt)).", + "As RSA_PEM, but wrapped in an X.509v3 certificate ([RFC5280](\nhttps://www.ietf.org/rfc/rfc5280.txt)), encoded in base64, and wrapped by\n`-----BEGIN CERTIFICATE-----` and `-----END CERTIFICATE-----`.", + "Public key for the ECDSA algorithm using P-256 and SHA-256, encoded in\nbase64, and wrapped by `-----BEGIN PUBLIC KEY-----` and `-----END\nPUBLIC KEY-----`. This can be used to verify JWT tokens with the `ES256`\nalgorithm ([RFC7518](https://www.ietf.org/rfc/rfc7518.txt)). This curve is\ndefined in [OpenSSL](https://www.openssl.org/) as the `prime256v1` curve.", + "As ES256_PEM, but wrapped in an X.509v3 certificate ([RFC5280](\nhttps://www.ietf.org/rfc/rfc5280.txt)), encoded in base64, and wrapped by\n`-----BEGIN CERTIFICATE-----` and `-----END CERTIFICATE-----`." + ] + } + }, + "id": "PublicKeyCredential" + }, + "PublicKeyCertificate": { + "description": "A public key certificate format and data.", + "type": "object", + "properties": { + "format": { + "enumDescriptions": [ + "The format has not been specified. This is an invalid default value and\nmust not be used.", + "An X.509v3 certificate ([RFC5280](https://www.ietf.org/rfc/rfc5280.txt)),\nencoded in base64, and wrapped by `-----BEGIN CERTIFICATE-----` and\n`-----END CERTIFICATE-----`." + ], + "enum": [ + "UNSPECIFIED_PUBLIC_KEY_CERTIFICATE_FORMAT", + "X509_CERTIFICATE_PEM" + ], + "description": "The certificate format.", + "type": "string" + }, + "certificate": { + "description": "The certificate data.", + "type": "string" + }, + "x509Details": { + "$ref": "X509CertificateDetails", + "description": "[Output only] The certificate details. Used only for X.509 certificates." + } + }, + "id": "PublicKeyCertificate" + }, + "DeviceState": { + "properties": { + "binaryData": { + "format": "byte", + "description": "The device state data.", + "type": "string" + }, + "updateTime": { + "format": "google-datetime", + "description": "[Output only] The time at which this state version was updated in Cloud\nIoT Core.", + "type": "string" + } + }, + "id": "DeviceState", + "description": "The device state, as reported by the device.", + "type": "object" + }, + "AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\nfoo@gmail.com from DATA_READ logging.", + "type": "object", + "properties": { + "logType": { + "type": "string", + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "description": "The log type that this config enables." + }, + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "AuditLogConfig" + }, + "StateNotificationConfig": { + "id": "StateNotificationConfig", + "description": "The configuration for notification of new states received from the device.", + "type": "object", + "properties": { + "pubsubTopicName": { + "description": "A Cloud Pub/Sub topic name. For example,\n`projects/myProject/topics/deviceEvents`.", + "type": "string" + } + } + }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "type": "object", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "TestIamPermissionsRequest" + }, + "Policy": { + "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam).", + "type": "object", + "properties": { + "iamOwned": { + "type": "boolean" + }, + "etag": { + "format": "byte", + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.", + "type": "string" + }, + "version": { + "format": "int32", + "description": "Version of the `Policy`. The default version is 0.", + "type": "integer" + }, + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "AuditConfig" + }, + "type": "array" + }, + "bindings": { + "description": "Associates a list of `members` to a `role`.\n`bindings` with no members will result in an error.", + "items": { + "$ref": "Binding" + }, + "type": "array" + } + }, + "id": "Policy" + }, + "RegistryCredential": { + "description": "A server-stored registry credential used to validate device credentials.", + "type": "object", + "properties": { + "publicKeyCertificate": { + "$ref": "PublicKeyCertificate", + "description": "A public key certificate used to verify the device credentials." + } + }, + "id": "RegistryCredential" + }, + "ListDeviceRegistriesResponse": { + "description": "Response for `ListDeviceRegistries`.", + "type": "object", + "properties": { + "deviceRegistries": { + "items": { + "$ref": "DeviceRegistry" + }, + "type": "array", + "description": "The registries that matched the query." + }, + "nextPageToken": { + "description": "If not empty, indicates that there may be more registries that match the\nrequest; this value should be passed in a new\n`ListDeviceRegistriesRequest`.", + "type": "string" + } + }, + "id": "ListDeviceRegistriesResponse" + }, + "DeviceRegistry": { + "description": "A container for a group of devices.", + "type": "object", + "properties": { + "httpConfig": { + "description": "The DeviceService (HTTP) configuration for this device registry.", + "$ref": "HttpConfig" + }, + "id": { + "description": "The identifier of this device registry. For example, `myRegistry`.", + "type": "string" + }, + "mqttConfig": { + "$ref": "MqttConfig", + "description": "The MQTT configuration for this device registry." + }, + "stateNotificationConfig": { + "$ref": "StateNotificationConfig", + "description": "The configuration for notification of new states received from the device.\nState updates are guaranteed to be stored in the state history, but\nnotifications to Cloud Pub/Sub are not guaranteed. For example, if\npermissions are misconfigured or the specified topic doesn't exist, no\nnotification will be published but the state will still be stored in Cloud\nIoT Core." + }, + "credentials": { + "description": "The credentials used to verify the device credentials. No more than 10\ncredentials can be bound to a single registry at a time. The verification\nprocess occurs at the time of device creation or update. If this field is\nempty, no verification is performed. Otherwise, the credentials of a newly\ncreated device or added credentials of an updated device should be signed\nwith one of these registry credentials.\n\nNote, however, that existing devices will never be affected by\nmodifications to this list of credentials: after a device has been\nsuccessfully created in a registry, it should be able to connect even if\nits registry credentials are revoked, deleted, or modified.", + "items": { + "$ref": "RegistryCredential" + }, + "type": "array" + }, + "name": { + "description": "The resource path name. For example,\n`projects/example-project/locations/us-central1/registries/my-registry`.", + "type": "string" + }, + "eventNotificationConfigs": { + "description": "The configuration for notification of telemetry events received from the\ndevice. All telemetry events that were successfully published by the\ndevice and acknowledged by Cloud IoT Core are guaranteed to be\ndelivered to Cloud Pub/Sub. Only the first configuration is used.", + "items": { + "$ref": "EventNotificationConfig" + }, + "type": "array" + } + }, + "id": "DeviceRegistry" + }, + "ListDevicesResponse": { + "description": "Response for `ListDevices`.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "If not empty, indicates that there may be more devices that match the\nrequest; this value should be passed in a new `ListDevicesRequest`.", + "type": "string" + }, + "devices": { + "description": "The devices that match the request.", + "items": { + "$ref": "Device" + }, + "type": "array" + } + }, + "id": "ListDevicesResponse" + }, + "DeviceCredential": { + "properties": { + "expirationTime": { + "format": "google-datetime", + "description": "[Optional] The time at which this credential becomes invalid. This\ncredential will be ignored for new client authentication requests after\nthis timestamp; however, it will not be automatically deleted.", + "type": "string" + }, + "publicKey": { + "description": "A public key used to verify the signature of JSON Web Tokens (JWTs).\nWhen adding a new device credential, either via device creation or via\nmodifications, this public key credential may be required to be signed by\none of the registry level certificates. More specifically, if the\nregistry contains at least one certificate, any new device credential\nmust be signed by one of the registry certificates. As a result,\nwhen the registry contains certificates, only X.509 certificates are\naccepted as device credentials. However, if the registry does\nnot contain a certificate, self-signed certificates and public keys will\nbe accepted. New device credentials must be different from every\nregistry-level certificate.", + "$ref": "PublicKeyCredential" + } + }, + "id": "DeviceCredential", + "description": "A server-stored device credential used for authentication.", + "type": "object" + }, + "HttpConfig": { + "description": "The configuration of the HTTP bridge for a device registry.", + "type": "object", + "properties": { + "httpEnabledState": { + "description": "If enabled, allows devices to use DeviceService via the HTTP protocol.\nOtherwise, any requests to DeviceService will fail for this registry.", + "type": "string", + "enumDescriptions": [ + "No HTTP state specified. If not specified, DeviceService will be\nenabled by default.", + "Enables DeviceService (HTTP) service for the registry.", + "Disables DeviceService (HTTP) service for the registry." + ], + "enum": [ + "HTTP_STATE_UNSPECIFIED", + "HTTP_ENABLED", + "HTTP_DISABLED" + ] + } + }, + "id": "HttpConfig" + }, + "AuditConfig": { + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"fooservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:bar@gmail.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts foo@gmail.com from DATA_READ logging, and\nbar@gmail.com from DATA_WRITE logging.", + "type": "object", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.\nNext ID: 4", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + }, + "exemptedMembers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", + "type": "string" + } + }, + "id": "AuditConfig" + }, + "DeviceConfig": { + "properties": { + "binaryData": { + "format": "byte", + "description": "The device configuration data.", + "type": "string" + }, + "deviceAckTime": { + "format": "google-datetime", + "description": "[Output only] The time at which Cloud IoT Core received the\nacknowledgment from the device, indicating that the device has received\nthis configuration version. If this field is not present, the device has\nnot yet acknowledged that it received this version. Note that when\nthe config was sent to the device, many config versions may have been\navailable in Cloud IoT Core while the device was disconnected, and on\nconnection, only the latest version is sent to the device. Some\nversions may never be sent to the device, and therefore are never\nacknowledged. This timestamp is set by Cloud IoT Core.", + "type": "string" + }, + "cloudUpdateTime": { + "format": "google-datetime", + "description": "[Output only] The time at which this configuration version was updated in\nCloud IoT Core. This timestamp is set by the server.", + "type": "string" + }, + "version": { + "format": "int64", + "description": "[Output only] The version of this update. The version number is assigned by\nthe server, and is always greater than 0 after device creation. The\nversion must be 0 on the `CreateDevice` request if a `config` is\nspecified; the response of `CreateDevice` will always have a value of 1.", + "type": "string" + } + }, + "id": "DeviceConfig", + "description": "The device configuration. Eventually delivered to devices.", + "type": "object" + }, + "MqttConfig": { + "description": "The configuration of MQTT for a device registry.", + "type": "object", + "properties": { + "mqttEnabledState": { + "description": "If enabled, allows connections using the MQTT protocol. Otherwise, MQTT\nconnections to this registry will fail.", + "type": "string", + "enumDescriptions": [ + "No MQTT state specified. If not specified, MQTT will be enabled by default.", + "Enables a MQTT connection.", + "Disables a MQTT connection." + ], + "enum": [ + "MQTT_STATE_UNSPECIFIED", + "MQTT_ENABLED", + "MQTT_DISABLED" + ] + } + }, + "id": "MqttConfig" + }, + "Status": { + "properties": { + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "type": "object", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + } + }, + "type": "array" + }, + "code": { + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "id": "Status", + "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", + "type": "object" + }, + "Binding": { + "id": "Binding", + "description": "Associates `members` with a `role`.", + "type": "object", + "properties": { + "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@gmail.com` or `joe@example.com`.\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n\n* `domain:{domain}`: A Google Apps domain name that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired", + "type": "string" + }, + "condition": { + "description": "The condition that is associated with this binding.\nNOTE: an unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently.\nThis field is GOOGLE_INTERNAL.", + "$ref": "Expr" + } + } + }, + "Expr": { + "properties": { + "description": { + "description": "An optional description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in\nCommon Expression Language syntax.\n\nThe application context of the containing message determines which\nwell-known feature set of CEL is supported.", + "type": "string" + }, + "location": { + "description": "An optional string indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "An optional title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", + "type": "string" + } + }, + "id": "Expr", + "description": "Represents an expression text. Example:\n\n title: \"User account presence\"\n description: \"Determines whether the request has a user account\"\n expression: \"size(request.user) \u003e 0\"", + "type": "object" + }, + "ModifyCloudToDeviceConfigRequest": { + "properties": { + "versionToUpdate": { + "format": "int64", + "description": "The version number to update. If this value is zero, it will not check the\nversion number of the server and will always update the current version;\notherwise, this update will fail if the version number found on the server\ndoes not match this version number. This is used to support multiple\nsimultaneous updates without losing data.", + "type": "string" + }, + "binaryData": { + "type": "string", + "format": "byte", + "description": "The configuration data for the device." + } + }, + "id": "ModifyCloudToDeviceConfigRequest", + "description": "Request for `ModifyCloudToDeviceConfig`.", + "type": "object" + }, + "ListDeviceStatesResponse": { + "properties": { + "deviceStates": { + "description": "The last few device states. States are listed in descending order of server\nupdate time, starting from the most recent one.", + "items": { + "$ref": "DeviceState" + }, + "type": "array" + } + }, + "id": "ListDeviceStatesResponse", + "description": "Response for `ListDeviceStates`.", + "type": "object" + }, + "GetIamPolicyRequest": { + "description": "Request message for `GetIamPolicy` method.", + "type": "object", + "properties": {}, + "id": "GetIamPolicyRequest" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "type": "object", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "TestIamPermissionsResponse" + }, + "Device": { + "description": "The device resource.", + "type": "object", + "properties": { + "lastHeartbeatTime": { + "type": "string", + "format": "google-datetime", + "description": "[Output only] The last time a heartbeat was received. Timestamps are\nperiodically collected and written to storage; they may be stale by a few\nminutes. This field is only for devices connecting through MQTT." + }, + "blocked": { + "description": "If a device is blocked, connections or requests from this device will fail.\nCan be used to temporarily prevent the device from connecting if, for\nexample, the sensor is generating bad data and needs maintenance.", + "type": "boolean" + }, + "lastEventTime": { + "format": "google-datetime", + "description": "[Output only] The last time a telemetry event was received. Timestamps are\nperiodically collected and written to storage; they may be stale by a few\nminutes.", + "type": "string" + }, + "lastConfigSendTime": { + "type": "string", + "format": "google-datetime", + "description": "[Output only] The last time a cloud-to-device config version was sent to\nthe device." + }, + "lastErrorStatus": { + "$ref": "Status", + "description": "[Output only] The error message of the most recent error, such as a failure\nto publish to Cloud Pub/Sub. 'last_error_time' is the timestamp of this\nfield. If no errors have occurred, this field has an empty message\nand the status code 0 == OK. Otherwise, this field is expected to have a\nstatus code other than OK." + }, + "lastStateTime": { + "format": "google-datetime", + "description": "[Output only] The last time a state event was received. Timestamps are\nperiodically collected and written to storage; they may be stale by a few\nminutes.", + "type": "string" + }, + "config": { + "description": "The most recent device configuration, which is eventually sent from\nCloud IoT Core to the device. If not present on creation, the\nconfiguration will be initialized with an empty payload and version value\nof `1`. To update this field after creation, use the\n`DeviceManager.ModifyCloudToDeviceConfig` method.", + "$ref": "DeviceConfig" + }, + "state": { + "description": "[Output only] The state most recently received from the device. If no state\nhas been reported, this field is not present.", + "$ref": "DeviceState" + }, + "credentials": { + "description": "The credentials used to authenticate this device. To allow credential\nrotation without interruption, multiple device credentials can be bound to\nthis device. No more than 3 credentials can be bound to a single device at\na time. When new credentials are added to a device, they are verified\nagainst the registry credentials. For details, see the description of the\n`DeviceRegistry.credentials` field.", + "items": { + "$ref": "DeviceCredential" + }, + "type": "array" + }, + "name": { + "description": "The resource path name. For example,\n`projects/p1/locations/us-central1/registries/registry0/devices/dev0` or\n`projects/p1/locations/us-central1/registries/registry0/devices/{num_id}`.\nWhen `name` is populated as a response from the service, it always ends\nin the device numeric ID.", + "type": "string" + }, + "lastErrorTime": { + "type": "string", + "format": "google-datetime", + "description": "[Output only] The time the most recent error occurred, such as a failure to\npublish to Cloud Pub/Sub. This field is the timestamp of\n'last_error_status'." + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "The metadata key-value pairs assigned to the device. This metadata is not\ninterpreted or indexed by Cloud IoT Core. It can be used to add contextual\ninformation for the device.\n\nKeys must conform to the regular expression [a-zA-Z0-9-_]+ and be less than\n128 bytes in length.\n\nValues are free-form strings. Each value must be less than or equal to 32\nKB in size.\n\nThe total size of all keys and values must be less than 256 KB, and the\nmaximum number of key-value pairs is 500.", + "type": "object" + }, + "id": { + "type": "string", + "description": "The user-defined device identifier. The device ID must be unique\nwithin a device registry." + }, + "lastConfigAckTime": { + "format": "google-datetime", + "description": "[Output only] The last time a cloud-to-device config version acknowledgment\nwas received from the device. This field is only for configurations\nsent through MQTT.", + "type": "string" + }, + "numId": { + "format": "uint64", + "description": "[Output only] A server-defined unique numeric ID for the device. This is a\nmore compact way to identify devices, and it is globally unique.", + "type": "string" + } + }, + "id": "Device" + }, + "ListDeviceConfigVersionsResponse": { + "description": "Response for `ListDeviceConfigVersions`.", + "type": "object", + "properties": { + "deviceConfigs": { + "description": "The device configuration for the last few versions. Versions are listed\nin decreasing order, starting from the most recent one.", + "items": { + "$ref": "DeviceConfig" + }, + "type": "array" + } + }, + "id": "ListDeviceConfigVersionsResponse" + }, + "X509CertificateDetails": { + "id": "X509CertificateDetails", + "description": "Details of an X.509 certificate. For informational purposes only.", + "type": "object", + "properties": { + "issuer": { + "type": "string", + "description": "The entity that signed the certificate." + }, + "publicKeyType": { + "description": "The type of public key in the certificate.", + "type": "string" + }, + "signatureAlgorithm": { + "description": "The algorithm used to sign the certificate.", + "type": "string" + }, + "startTime": { + "format": "google-datetime", + "description": "The time the certificate becomes valid.", + "type": "string" + }, + "expiryTime": { + "format": "google-datetime", + "description": "The time the certificate becomes invalid.", + "type": "string" + }, + "subject": { + "type": "string", + "description": "The entity the certificate and public key belong to." + } + } + } + }, + "icons": { + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" + }, + "protocol": "rest", + "canonicalName": "Cloud Iot", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloudiot": { + "description": "Register and manage devices in the Google Cloud IoT service" + }, + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "rootUrl": "https://cloudiot.googleapis.com/", + "ownerDomain": "google.com", + "name": "cloudiot", + "batchPath": "batch", + "title": "Google Cloud IoT API", + "ownerName": "Google", + "resources": { + "projects": { + "resources": { + "locations": { + "resources": { + "registries": { + "methods": { + "list": { + "response": { + "$ref": "ListDeviceRegistriesResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "parameters": { + "parent": { + "description": "The project and cloud region path. For example,\n`projects/example-project/locations/us-central1`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path" + }, + "pageToken": { + "location": "query", + "description": "The value returned by the last `ListDeviceRegistriesResponse`; indicates\nthat this is a continuation of a prior `ListDeviceRegistries` call, and\nthat the system should return the next page of data.", + "type": "string" + }, + "pageSize": { + "format": "int32", + "description": "The maximum number of registries to return in the response. If this value\nis zero, the service will select a default size. A call may return fewer\nobjects than requested, but if there is a non-empty `page_token`, it\nindicates that more entries are available.", + "type": "integer", + "location": "query" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries", + "id": "cloudiot.projects.locations.registries.list", + "path": "v1/{+parent}/registries", + "description": "Lists device registries." + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "Policy" + }, + "parameters": { + "resource": { + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:setIamPolicy", + "path": "v1/{+resource}:setIamPolicy", + "id": "cloudiot.projects.locations.registries.setIamPolicy" + }, + "create": { + "parameters": { + "parent": { + "description": "The project and cloud region where this device registry must be created.\nFor example, `projects/example-project/locations/us-central1`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries", + "id": "cloudiot.projects.locations.registries.create", + "path": "v1/{+parent}/registries", + "description": "Creates a device registry that contains devices.", + "request": { + "$ref": "DeviceRegistry" + }, + "response": { + "$ref": "DeviceRegistry" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST" + }, + "getIamPolicy": { + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "parameters": { + "resource": { + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:getIamPolicy", + "id": "cloudiot.projects.locations.registries.getIamPolicy", + "path": "v1/{+resource}:getIamPolicy", + "request": { + "$ref": "GetIamPolicyRequest" + }, + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset." + }, + "get": { + "description": "Gets a device registry configuration.", + "response": { + "$ref": "DeviceRegistry" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "location": "path", + "description": "The name of the device registry. For example,\n`projects/example-project/locations/us-central1/registries/my-registry`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}", + "id": "cloudiot.projects.locations.registries.get", + "path": "v1/{+name}" + }, + "patch": { + "description": "Updates a device registry configuration.", + "request": { + "$ref": "DeviceRegistry" + }, + "response": { + "$ref": "DeviceRegistry" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PATCH", + "parameters": { + "name": { + "location": "path", + "description": "The resource path name. For example,\n`projects/example-project/locations/us-central1/registries/my-registry`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$" + }, + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Only updates the `device_registry` fields indicated by this mask.\nThe field mask must not be empty, and it must not contain fields that\nare immutable or only set by the server.\nMutable top-level fields: `event_notification_config`, `mqtt_config`, and\n`state_notification_config`.", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}", + "id": "cloudiot.projects.locations.registries.patch", + "path": "v1/{+name}" + }, + "testIamPermissions": { + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "parameters": { + "resource": { + "location": "path", + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:testIamPermissions", + "id": "cloudiot.projects.locations.registries.testIamPermissions", + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error." + }, + "delete": { + "parameters": { + "name": { + "description": "The name of the device registry. For example,\n`projects/example-project/locations/us-central1/registries/my-registry`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}", + "path": "v1/{+name}", + "id": "cloudiot.projects.locations.registries.delete", + "description": "Deletes a device registry configuration.", + "httpMethod": "DELETE", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Empty" + } + } + }, + "resources": { + "devices": { + "methods": { + "get": { + "response": { + "$ref": "Device" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}", + "id": "cloudiot.projects.locations.registries.devices.get", + "path": "v1/{+name}", + "description": "Gets details about a device." + }, + "patch": { + "httpMethod": "PATCH", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Device" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "parameters": { + "updateMask": { + "format": "google-fieldmask", + "description": "Only updates the `device` fields indicated by this mask.\nThe field mask must not be empty, and it must not contain fields that\nare immutable or only set by the server.\nMutable top-level fields: `credentials`, `enabled_state`, and `metadata`", + "type": "string", + "location": "query" + }, + "name": { + "description": "The resource path name. For example,\n`projects/p1/locations/us-central1/registries/registry0/devices/dev0` or\n`projects/p1/locations/us-central1/registries/registry0/devices/{num_id}`.\nWhen `name` is populated as a response from the service, it always ends\nin the device numeric ID.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}", + "path": "v1/{+name}", + "id": "cloudiot.projects.locations.registries.devices.patch", + "request": { + "$ref": "Device" + }, + "description": "Updates a device." + }, + "delete": { + "httpMethod": "DELETE", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "parameters": { + "name": { + "location": "path", + "description": "The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}", + "path": "v1/{+name}", + "id": "cloudiot.projects.locations.registries.devices.delete", + "description": "Deletes a device." + }, + "list": { + "id": "cloudiot.projects.locations.registries.devices.list", + "path": "v1/{+parent}/devices", + "description": "List devices in a device registry.", + "response": { + "$ref": "ListDevicesResponse" + }, + "httpMethod": "GET", + "parameterOrder": [ + "parent" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "parameters": { + "pageToken": { + "location": "query", + "description": "The value returned by the last `ListDevicesResponse`; indicates\nthat this is a continuation of a prior `ListDevices` call, and\nthat the system should return the next page of data.", + "type": "string" + }, + "fieldMask": { + "location": "query", + "format": "google-fieldmask", + "description": "The fields of the `Device` resource to be returned in the response. The\nfields `id`, and `num_id` are always returned by default, along with any\nother fields specified.", + "type": "string" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "The maximum number of devices to return in the response. If this value\nis zero, the service will select a default size. A call may return fewer\nobjects than requested, but if there is a non-empty `page_token`, it\nindicates that more entries are available.", + "type": "integer" + }, + "deviceIds": { + "repeated": true, + "location": "query", + "description": "A list of device string identifiers. If empty, it will ignore this field.\nFor example, `['device0', 'device12']`. This field cannot hold more than\n10,000 entries.", + "type": "string" + }, + "parent": { + "location": "path", + "description": "The device registry path. Required. For example,\n`projects/my-project/locations/us-central1/registries/my-registry`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$" + }, + "deviceNumIds": { + "type": "string", + "repeated": true, + "location": "query", + "format": "uint64", + "description": "A list of device numerical ids. If empty, it will ignore this field. This\nfield cannot hold more than 10,000 entries." + } + }, + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices" + }, + "create": { + "httpMethod": "POST", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "Device" + }, + "parameters": { + "parent": { + "description": "The name of the device registry where this device should be created.\nFor example,\n`projects/example-project/locations/us-central1/registries/my-registry`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices", + "path": "v1/{+parent}/devices", + "id": "cloudiot.projects.locations.registries.devices.create", + "description": "Creates a device in a device registry.", + "request": { + "$ref": "Device" + } + }, + "modifyCloudToDeviceConfig": { + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}:modifyCloudToDeviceConfig", + "path": "v1/{+name}:modifyCloudToDeviceConfig", + "id": "cloudiot.projects.locations.registries.devices.modifyCloudToDeviceConfig", + "request": { + "$ref": "ModifyCloudToDeviceConfigRequest" + }, + "description": "Modifies the configuration for the device, which is eventually sent from\nthe Cloud IoT Core servers. Returns the modified configuration version and\nits metadata.", + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "DeviceConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "parameters": { + "name": { + "description": "The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + "location": "path" + } + } + } + }, + "resources": { + "states": { + "methods": { + "list": { + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}/states", + "id": "cloudiot.projects.locations.registries.devices.states.list", + "path": "v1/{+name}/states", + "description": "Lists the last few versions of the device state in descending order (i.e.:\nnewest first).", + "response": { + "$ref": "ListDeviceStatesResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "parameters": { + "name": { + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + "location": "path", + "description": "The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.", + "type": "string", + "required": true + }, + "numStates": { + "location": "query", + "format": "int32", + "description": "The number of states to list. States are listed in descending order of\nupdate time. The maximum number of states retained is 10. If this\nvalue is zero, it will return all the states available.", + "type": "integer" + } + } + } + } + }, + "configVersions": { + "methods": { + "list": { + "description": "Lists the last few versions of the device configuration in descending\norder (i.e.: newest first).", + "response": { + "$ref": "ListDeviceConfigVersionsResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + "location": "path", + "description": "The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`." + }, + "numVersions": { + "format": "int32", + "description": "The number of versions to list. Versions are listed in decreasing order of\nthe version number. The maximum number of versions retained is 10. If this\nvalue is zero, it will return all the versions available.", + "type": "integer", + "location": "query" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}/configVersions", + "id": "cloudiot.projects.locations.registries.devices.configVersions.list", + "path": "v1/{+name}/configVersions" + } + } + } + } + } + } + } + } + } + } + } + }, + "parameters": { + "access_token": { + "location": "query", + "description": "OAuth access token.", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", + "location": "query" + }, + "quotaUser": { + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string" + }, + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", + "location": "query" + }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "type": "boolean", + "location": "query", + "description": "Returns response with indentations and line breaks." + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", + "location": "query" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string", + "location": "query" + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, + "$.xgafv": { + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string" + }, + "alt": { + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query" + } + }, + "version": "v1", + "baseUrl": "https://cloudiot.googleapis.com/", + "servicePath": "", + "description": "Registers and manages IoT (Internet of Things) devices that connect to the Google Cloud Platform.\n", + "kind": "discovery#restDescription", + "basePath": "", + "revision": "20170922", + "documentationLink": "https://cloud.google.com/iot", + "id": "cloudiot:v1", + "discoveryVersion": "v1" +} diff --git a/vendor/google.golang.org/api/cloudiot/v1/cloudiot-gen.go b/vendor/google.golang.org/api/cloudiot/v1/cloudiot-gen.go new file mode 100644 index 000000000..4e99148a6 --- /dev/null +++ b/vendor/google.golang.org/api/cloudiot/v1/cloudiot-gen.go @@ -0,0 +1,4121 @@ +// Package cloudiot provides access to the Google Cloud IoT API. +// +// See https://cloud.google.com/iot +// +// Usage example: +// +// import "google.golang.org/api/cloudiot/v1" +// ... +// cloudiotService, err := cloudiot.New(oauthHttpClient) +package cloudiot // import "google.golang.org/api/cloudiot/v1" + +import ( + "bytes" + "encoding/json" + "errors" + "fmt" + context "golang.org/x/net/context" + ctxhttp "golang.org/x/net/context/ctxhttp" + gensupport "google.golang.org/api/gensupport" + googleapi "google.golang.org/api/googleapi" + "io" + "net/http" + "net/url" + "strconv" + "strings" +) + +// Always reference these packages, just in case the auto-generated code +// below doesn't. +var _ = bytes.NewBuffer +var _ = strconv.Itoa +var _ = fmt.Sprintf +var _ = json.NewDecoder +var _ = io.Copy +var _ = url.Parse +var _ = gensupport.MarshalJSON +var _ = googleapi.Version +var _ = errors.New +var _ = strings.Replace +var _ = context.Canceled +var _ = ctxhttp.Do + +const apiId = "cloudiot:v1" +const apiName = "cloudiot" +const apiVersion = "v1" +const basePath = "https://cloudiot.googleapis.com/" + +// OAuth2 scopes used by this API. +const ( + // View and manage your data across Google Cloud Platform services + CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" + + // Register and manage devices in the Google Cloud IoT service + CloudiotScope = "https://www.googleapis.com/auth/cloudiot" +) + +func New(client *http.Client) (*Service, error) { + if client == nil { + return nil, errors.New("client is nil") + } + s := &Service{client: client, BasePath: basePath} + s.Projects = NewProjectsService(s) + return s, nil +} + +type Service struct { + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + + Projects *ProjectsService +} + +func (s *Service) userAgent() string { + if s.UserAgent == "" { + return googleapi.UserAgent + } + return googleapi.UserAgent + " " + s.UserAgent +} + +func NewProjectsService(s *Service) *ProjectsService { + rs := &ProjectsService{s: s} + rs.Locations = NewProjectsLocationsService(s) + return rs +} + +type ProjectsService struct { + s *Service + + Locations *ProjectsLocationsService +} + +func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { + rs := &ProjectsLocationsService{s: s} + rs.Registries = NewProjectsLocationsRegistriesService(s) + return rs +} + +type ProjectsLocationsService struct { + s *Service + + Registries *ProjectsLocationsRegistriesService +} + +func NewProjectsLocationsRegistriesService(s *Service) *ProjectsLocationsRegistriesService { + rs := &ProjectsLocationsRegistriesService{s: s} + rs.Devices = NewProjectsLocationsRegistriesDevicesService(s) + return rs +} + +type ProjectsLocationsRegistriesService struct { + s *Service + + Devices *ProjectsLocationsRegistriesDevicesService +} + +func NewProjectsLocationsRegistriesDevicesService(s *Service) *ProjectsLocationsRegistriesDevicesService { + rs := &ProjectsLocationsRegistriesDevicesService{s: s} + rs.ConfigVersions = NewProjectsLocationsRegistriesDevicesConfigVersionsService(s) + rs.States = NewProjectsLocationsRegistriesDevicesStatesService(s) + return rs +} + +type ProjectsLocationsRegistriesDevicesService struct { + s *Service + + ConfigVersions *ProjectsLocationsRegistriesDevicesConfigVersionsService + + States *ProjectsLocationsRegistriesDevicesStatesService +} + +func NewProjectsLocationsRegistriesDevicesConfigVersionsService(s *Service) *ProjectsLocationsRegistriesDevicesConfigVersionsService { + rs := &ProjectsLocationsRegistriesDevicesConfigVersionsService{s: s} + return rs +} + +type ProjectsLocationsRegistriesDevicesConfigVersionsService struct { + s *Service +} + +func NewProjectsLocationsRegistriesDevicesStatesService(s *Service) *ProjectsLocationsRegistriesDevicesStatesService { + rs := &ProjectsLocationsRegistriesDevicesStatesService{s: s} + return rs +} + +type ProjectsLocationsRegistriesDevicesStatesService struct { + s *Service +} + +// AuditConfig: Specifies the audit configuration for a service. +// The configuration determines which permission types are logged, and +// what +// identities, if any, are exempted from logging. +// An AuditConfig must have one or more AuditLogConfigs. +// +// If there are AuditConfigs for both `allServices` and a specific +// service, +// the union of the two AuditConfigs is used for that service: the +// log_types +// specified in each AuditConfig are enabled, and the exempted_members +// in each +// AuditConfig are exempted. +// +// Example Policy with multiple AuditConfigs: +// +// { +// "audit_configs": [ +// { +// "service": "allServices" +// "audit_log_configs": [ +// { +// "log_type": "DATA_READ", +// "exempted_members": [ +// "user:foo@gmail.com" +// ] +// }, +// { +// "log_type": "DATA_WRITE", +// }, +// { +// "log_type": "ADMIN_READ", +// } +// ] +// }, +// { +// "service": "fooservice.googleapis.com" +// "audit_log_configs": [ +// { +// "log_type": "DATA_READ", +// }, +// { +// "log_type": "DATA_WRITE", +// "exempted_members": [ +// "user:bar@gmail.com" +// ] +// } +// ] +// } +// ] +// } +// +// For fooservice, this policy enables DATA_READ, DATA_WRITE and +// ADMIN_READ +// logging. It also exempts foo@gmail.com from DATA_READ logging, +// and +// bar@gmail.com from DATA_WRITE logging. +type AuditConfig struct { + // AuditLogConfigs: The configuration for logging of each type of + // permission. + // Next ID: 4 + AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"` + + ExemptedMembers []string `json:"exemptedMembers,omitempty"` + + // Service: Specifies a service that will be enabled for audit + // logging. + // For example, `storage.googleapis.com`, + // `cloudsql.googleapis.com`. + // `allServices` is a special value that covers all services. + Service string `json:"service,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AuditLogConfigs") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AuditConfig) MarshalJSON() ([]byte, error) { + type noMethod AuditConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AuditLogConfig: Provides the configuration for logging a type of +// permissions. +// Example: +// +// { +// "audit_log_configs": [ +// { +// "log_type": "DATA_READ", +// "exempted_members": [ +// "user:foo@gmail.com" +// ] +// }, +// { +// "log_type": "DATA_WRITE", +// } +// ] +// } +// +// This enables 'DATA_READ' and 'DATA_WRITE' logging, while +// exempting +// foo@gmail.com from DATA_READ logging. +type AuditLogConfig struct { + // ExemptedMembers: Specifies the identities that do not cause logging + // for this type of + // permission. + // Follows the same format of Binding.members. + ExemptedMembers []string `json:"exemptedMembers,omitempty"` + + // LogType: The log type that this config enables. + // + // Possible values: + // "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this. + // "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy + // "DATA_WRITE" - Data writes. Example: CloudSQL Users create + // "DATA_READ" - Data reads. Example: CloudSQL Users list + LogType string `json:"logType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ExemptedMembers") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ExemptedMembers") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AuditLogConfig) MarshalJSON() ([]byte, error) { + type noMethod AuditLogConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Binding: Associates `members` with a `role`. +type Binding struct { + // Condition: The condition that is associated with this binding. + // NOTE: an unsatisfied condition will not allow user access via + // current + // binding. Different bindings, including their conditions, are + // examined + // independently. + // This field is GOOGLE_INTERNAL. + Condition *Expr `json:"condition,omitempty"` + + // Members: Specifies the identities requesting access for a Cloud + // Platform resource. + // `members` can have the following values: + // + // * `allUsers`: A special identifier that represents anyone who is + // on the internet; with or without a Google account. + // + // * `allAuthenticatedUsers`: A special identifier that represents + // anyone + // who is authenticated with a Google account or a service + // account. + // + // * `user:{emailid}`: An email address that represents a specific + // Google + // account. For example, `alice@gmail.com` or `joe@example.com`. + // + // + // * `serviceAccount:{emailid}`: An email address that represents a + // service + // account. For example, + // `my-other-app@appspot.gserviceaccount.com`. + // + // * `group:{emailid}`: An email address that represents a Google + // group. + // For example, `admins@example.com`. + // + // + // * `domain:{domain}`: A Google Apps domain name that represents all + // the + // users of that domain. For example, `google.com` or + // `example.com`. + // + // + Members []string `json:"members,omitempty"` + + // Role: Role that is assigned to `members`. + // For example, `roles/viewer`, `roles/editor`, or + // `roles/owner`. + // Required + Role string `json:"role,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Condition") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Condition") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Binding) MarshalJSON() ([]byte, error) { + type noMethod Binding + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Device: The device resource. +type Device struct { + // Blocked: If a device is blocked, connections or requests from this + // device will fail. + // Can be used to temporarily prevent the device from connecting if, + // for + // example, the sensor is generating bad data and needs maintenance. + Blocked bool `json:"blocked,omitempty"` + + // Config: The most recent device configuration, which is eventually + // sent from + // Cloud IoT Core to the device. If not present on creation, + // the + // configuration will be initialized with an empty payload and version + // value + // of `1`. To update this field after creation, use + // the + // `DeviceManager.ModifyCloudToDeviceConfig` method. + Config *DeviceConfig `json:"config,omitempty"` + + // Credentials: The credentials used to authenticate this device. To + // allow credential + // rotation without interruption, multiple device credentials can be + // bound to + // this device. No more than 3 credentials can be bound to a single + // device at + // a time. When new credentials are added to a device, they are + // verified + // against the registry credentials. For details, see the description of + // the + // `DeviceRegistry.credentials` field. + Credentials []*DeviceCredential `json:"credentials,omitempty"` + + // Id: The user-defined device identifier. The device ID must be + // unique + // within a device registry. + Id string `json:"id,omitempty"` + + // LastConfigAckTime: [Output only] The last time a cloud-to-device + // config version acknowledgment + // was received from the device. This field is only for + // configurations + // sent through MQTT. + LastConfigAckTime string `json:"lastConfigAckTime,omitempty"` + + // LastConfigSendTime: [Output only] The last time a cloud-to-device + // config version was sent to + // the device. + LastConfigSendTime string `json:"lastConfigSendTime,omitempty"` + + // LastErrorStatus: [Output only] The error message of the most recent + // error, such as a failure + // to publish to Cloud Pub/Sub. 'last_error_time' is the timestamp of + // this + // field. If no errors have occurred, this field has an empty + // message + // and the status code 0 == OK. Otherwise, this field is expected to + // have a + // status code other than OK. + LastErrorStatus *Status `json:"lastErrorStatus,omitempty"` + + // LastErrorTime: [Output only] The time the most recent error occurred, + // such as a failure to + // publish to Cloud Pub/Sub. This field is the timestamp + // of + // 'last_error_status'. + LastErrorTime string `json:"lastErrorTime,omitempty"` + + // LastEventTime: [Output only] The last time a telemetry event was + // received. Timestamps are + // periodically collected and written to storage; they may be stale by a + // few + // minutes. + LastEventTime string `json:"lastEventTime,omitempty"` + + // LastHeartbeatTime: [Output only] The last time a heartbeat was + // received. Timestamps are + // periodically collected and written to storage; they may be stale by a + // few + // minutes. This field is only for devices connecting through MQTT. + LastHeartbeatTime string `json:"lastHeartbeatTime,omitempty"` + + // LastStateTime: [Output only] The last time a state event was + // received. Timestamps are + // periodically collected and written to storage; they may be stale by a + // few + // minutes. + LastStateTime string `json:"lastStateTime,omitempty"` + + // Metadata: The metadata key-value pairs assigned to the device. This + // metadata is not + // interpreted or indexed by Cloud IoT Core. It can be used to add + // contextual + // information for the device. + // + // Keys must conform to the regular expression [a-zA-Z0-9-_]+ and be + // less than + // 128 bytes in length. + // + // Values are free-form strings. Each value must be less than or equal + // to 32 + // KB in size. + // + // The total size of all keys and values must be less than 256 KB, and + // the + // maximum number of key-value pairs is 500. + Metadata map[string]string `json:"metadata,omitempty"` + + // Name: The resource path name. For + // example, + // `projects/p1/locations/us-central1/registries/registry0/devic + // es/dev0` + // or + // `projects/p1/locations/us-central1/registries/registry0/devices/{nu + // m_id}`. + // When `name` is populated as a response from the service, it always + // ends + // in the device numeric ID. + Name string `json:"name,omitempty"` + + // NumId: [Output only] A server-defined unique numeric ID for the + // device. This is a + // more compact way to identify devices, and it is globally unique. + NumId uint64 `json:"numId,omitempty,string"` + + // State: [Output only] The state most recently received from the + // device. If no state + // has been reported, this field is not present. + State *DeviceState `json:"state,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Blocked") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Blocked") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Device) MarshalJSON() ([]byte, error) { + type noMethod Device + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DeviceConfig: The device configuration. Eventually delivered to +// devices. +type DeviceConfig struct { + // BinaryData: The device configuration data. + BinaryData string `json:"binaryData,omitempty"` + + // CloudUpdateTime: [Output only] The time at which this configuration + // version was updated in + // Cloud IoT Core. This timestamp is set by the server. + CloudUpdateTime string `json:"cloudUpdateTime,omitempty"` + + // DeviceAckTime: [Output only] The time at which Cloud IoT Core + // received the + // acknowledgment from the device, indicating that the device has + // received + // this configuration version. If this field is not present, the device + // has + // not yet acknowledged that it received this version. Note that + // when + // the config was sent to the device, many config versions may have + // been + // available in Cloud IoT Core while the device was disconnected, and + // on + // connection, only the latest version is sent to the device. + // Some + // versions may never be sent to the device, and therefore are + // never + // acknowledged. This timestamp is set by Cloud IoT Core. + DeviceAckTime string `json:"deviceAckTime,omitempty"` + + // Version: [Output only] The version of this update. The version number + // is assigned by + // the server, and is always greater than 0 after device creation. + // The + // version must be 0 on the `CreateDevice` request if a `config` + // is + // specified; the response of `CreateDevice` will always have a value of + // 1. + Version int64 `json:"version,omitempty,string"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "BinaryData") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BinaryData") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DeviceConfig) MarshalJSON() ([]byte, error) { + type noMethod DeviceConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DeviceCredential: A server-stored device credential used for +// authentication. +type DeviceCredential struct { + // ExpirationTime: [Optional] The time at which this credential becomes + // invalid. This + // credential will be ignored for new client authentication requests + // after + // this timestamp; however, it will not be automatically deleted. + ExpirationTime string `json:"expirationTime,omitempty"` + + // PublicKey: A public key used to verify the signature of JSON Web + // Tokens (JWTs). + // When adding a new device credential, either via device creation or + // via + // modifications, this public key credential may be required to be + // signed by + // one of the registry level certificates. More specifically, if + // the + // registry contains at least one certificate, any new device + // credential + // must be signed by one of the registry certificates. As a result, + // when the registry contains certificates, only X.509 certificates + // are + // accepted as device credentials. However, if the registry does + // not contain a certificate, self-signed certificates and public keys + // will + // be accepted. New device credentials must be different from + // every + // registry-level certificate. + PublicKey *PublicKeyCredential `json:"publicKey,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ExpirationTime") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ExpirationTime") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *DeviceCredential) MarshalJSON() ([]byte, error) { + type noMethod DeviceCredential + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DeviceRegistry: A container for a group of devices. +type DeviceRegistry struct { + // Credentials: The credentials used to verify the device credentials. + // No more than 10 + // credentials can be bound to a single registry at a time. The + // verification + // process occurs at the time of device creation or update. If this + // field is + // empty, no verification is performed. Otherwise, the credentials of a + // newly + // created device or added credentials of an updated device should be + // signed + // with one of these registry credentials. + // + // Note, however, that existing devices will never be affected + // by + // modifications to this list of credentials: after a device has + // been + // successfully created in a registry, it should be able to connect even + // if + // its registry credentials are revoked, deleted, or modified. + Credentials []*RegistryCredential `json:"credentials,omitempty"` + + // EventNotificationConfigs: The configuration for notification of + // telemetry events received from the + // device. All telemetry events that were successfully published by + // the + // device and acknowledged by Cloud IoT Core are guaranteed to + // be + // delivered to Cloud Pub/Sub. Only the first configuration is used. + EventNotificationConfigs []*EventNotificationConfig `json:"eventNotificationConfigs,omitempty"` + + // HttpConfig: The DeviceService (HTTP) configuration for this device + // registry. + HttpConfig *HttpConfig `json:"httpConfig,omitempty"` + + // Id: The identifier of this device registry. For example, + // `myRegistry`. + Id string `json:"id,omitempty"` + + // MqttConfig: The MQTT configuration for this device registry. + MqttConfig *MqttConfig `json:"mqttConfig,omitempty"` + + // Name: The resource path name. For + // example, + // `projects/example-project/locations/us-central1/registries/my + // -registry`. + Name string `json:"name,omitempty"` + + // StateNotificationConfig: The configuration for notification of new + // states received from the device. + // State updates are guaranteed to be stored in the state history, + // but + // notifications to Cloud Pub/Sub are not guaranteed. For example, + // if + // permissions are misconfigured or the specified topic doesn't exist, + // no + // notification will be published but the state will still be stored in + // Cloud + // IoT Core. + StateNotificationConfig *StateNotificationConfig `json:"stateNotificationConfig,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Credentials") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Credentials") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DeviceRegistry) MarshalJSON() ([]byte, error) { + type noMethod DeviceRegistry + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DeviceState: The device state, as reported by the device. +type DeviceState struct { + // BinaryData: The device state data. + BinaryData string `json:"binaryData,omitempty"` + + // UpdateTime: [Output only] The time at which this state version was + // updated in Cloud + // IoT Core. + UpdateTime string `json:"updateTime,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BinaryData") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BinaryData") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DeviceState) MarshalJSON() ([]byte, error) { + type noMethod DeviceState + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Empty: A generic empty message that you can re-use to avoid defining +// duplicated +// empty messages in your APIs. A typical example is to use it as the +// request +// or the response type of an API method. For instance: +// +// service Foo { +// rpc Bar(google.protobuf.Empty) returns +// (google.protobuf.Empty); +// } +// +// The JSON representation for `Empty` is empty JSON object `{}`. +type Empty struct { + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` +} + +// EventNotificationConfig: The configuration to forward telemetry +// events. +type EventNotificationConfig struct { + // PubsubTopicName: A Cloud Pub/Sub topic name. For + // example, + // `projects/myProject/topics/deviceEvents`. + PubsubTopicName string `json:"pubsubTopicName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PubsubTopicName") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "PubsubTopicName") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *EventNotificationConfig) MarshalJSON() ([]byte, error) { + type noMethod EventNotificationConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Expr: Represents an expression text. Example: +// +// title: "User account presence" +// description: "Determines whether the request has a user account" +// expression: "size(request.user) > 0" +type Expr struct { + // Description: An optional description of the expression. This is a + // longer text which + // describes the expression, e.g. when hovered over it in a UI. + Description string `json:"description,omitempty"` + + // Expression: Textual representation of an expression in + // Common Expression Language syntax. + // + // The application context of the containing message determines + // which + // well-known feature set of CEL is supported. + Expression string `json:"expression,omitempty"` + + // Location: An optional string indicating the location of the + // expression for error + // reporting, e.g. a file name and a position in the file. + Location string `json:"location,omitempty"` + + // Title: An optional title for the expression, i.e. a short string + // describing + // its purpose. This can be used e.g. in UIs which allow to enter + // the + // expression. + Title string `json:"title,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Description") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Expr) MarshalJSON() ([]byte, error) { + type noMethod Expr + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GetIamPolicyRequest: Request message for `GetIamPolicy` method. +type GetIamPolicyRequest struct { +} + +// HttpConfig: The configuration of the HTTP bridge for a device +// registry. +type HttpConfig struct { + // HttpEnabledState: If enabled, allows devices to use DeviceService via + // the HTTP protocol. + // Otherwise, any requests to DeviceService will fail for this registry. + // + // Possible values: + // "HTTP_STATE_UNSPECIFIED" - No HTTP state specified. If not + // specified, DeviceService will be + // enabled by default. + // "HTTP_ENABLED" - Enables DeviceService (HTTP) service for the + // registry. + // "HTTP_DISABLED" - Disables DeviceService (HTTP) service for the + // registry. + HttpEnabledState string `json:"httpEnabledState,omitempty"` + + // ForceSendFields is a list of field names (e.g. "HttpEnabledState") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "HttpEnabledState") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *HttpConfig) MarshalJSON() ([]byte, error) { + type noMethod HttpConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListDeviceConfigVersionsResponse: Response for +// `ListDeviceConfigVersions`. +type ListDeviceConfigVersionsResponse struct { + // DeviceConfigs: The device configuration for the last few versions. + // Versions are listed + // in decreasing order, starting from the most recent one. + DeviceConfigs []*DeviceConfig `json:"deviceConfigs,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "DeviceConfigs") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DeviceConfigs") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListDeviceConfigVersionsResponse) MarshalJSON() ([]byte, error) { + type noMethod ListDeviceConfigVersionsResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListDeviceRegistriesResponse: Response for `ListDeviceRegistries`. +type ListDeviceRegistriesResponse struct { + // DeviceRegistries: The registries that matched the query. + DeviceRegistries []*DeviceRegistry `json:"deviceRegistries,omitempty"` + + // NextPageToken: If not empty, indicates that there may be more + // registries that match the + // request; this value should be passed in a + // new + // `ListDeviceRegistriesRequest`. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "DeviceRegistries") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DeviceRegistries") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *ListDeviceRegistriesResponse) MarshalJSON() ([]byte, error) { + type noMethod ListDeviceRegistriesResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListDeviceStatesResponse: Response for `ListDeviceStates`. +type ListDeviceStatesResponse struct { + // DeviceStates: The last few device states. States are listed in + // descending order of server + // update time, starting from the most recent one. + DeviceStates []*DeviceState `json:"deviceStates,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "DeviceStates") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DeviceStates") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListDeviceStatesResponse) MarshalJSON() ([]byte, error) { + type noMethod ListDeviceStatesResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListDevicesResponse: Response for `ListDevices`. +type ListDevicesResponse struct { + // Devices: The devices that match the request. + Devices []*Device `json:"devices,omitempty"` + + // NextPageToken: If not empty, indicates that there may be more devices + // that match the + // request; this value should be passed in a new `ListDevicesRequest`. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Devices") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Devices") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListDevicesResponse) MarshalJSON() ([]byte, error) { + type noMethod ListDevicesResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ModifyCloudToDeviceConfigRequest: Request for +// `ModifyCloudToDeviceConfig`. +type ModifyCloudToDeviceConfigRequest struct { + // BinaryData: The configuration data for the device. + BinaryData string `json:"binaryData,omitempty"` + + // VersionToUpdate: The version number to update. If this value is zero, + // it will not check the + // version number of the server and will always update the current + // version; + // otherwise, this update will fail if the version number found on the + // server + // does not match this version number. This is used to support + // multiple + // simultaneous updates without losing data. + VersionToUpdate int64 `json:"versionToUpdate,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "BinaryData") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BinaryData") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ModifyCloudToDeviceConfigRequest) MarshalJSON() ([]byte, error) { + type noMethod ModifyCloudToDeviceConfigRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// MqttConfig: The configuration of MQTT for a device registry. +type MqttConfig struct { + // MqttEnabledState: If enabled, allows connections using the MQTT + // protocol. Otherwise, MQTT + // connections to this registry will fail. + // + // Possible values: + // "MQTT_STATE_UNSPECIFIED" - No MQTT state specified. If not + // specified, MQTT will be enabled by default. + // "MQTT_ENABLED" - Enables a MQTT connection. + // "MQTT_DISABLED" - Disables a MQTT connection. + MqttEnabledState string `json:"mqttEnabledState,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MqttEnabledState") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "MqttEnabledState") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *MqttConfig) MarshalJSON() ([]byte, error) { + type noMethod MqttConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Policy: Defines an Identity and Access Management (IAM) policy. It is +// used to +// specify access control policies for Cloud Platform resources. +// +// +// A `Policy` consists of a list of `bindings`. A `Binding` binds a list +// of +// `members` to a `role`, where the members can be user accounts, Google +// groups, +// Google domains, and service accounts. A `role` is a named list of +// permissions +// defined by IAM. +// +// **Example** +// +// { +// "bindings": [ +// { +// "role": "roles/owner", +// "members": [ +// "user:mike@example.com", +// "group:admins@example.com", +// "domain:google.com", +// +// "serviceAccount:my-other-app@appspot.gserviceaccount.com", +// ] +// }, +// { +// "role": "roles/viewer", +// "members": ["user:sean@example.com"] +// } +// ] +// } +// +// For a description of IAM and its features, see the +// [IAM developer's guide](https://cloud.google.com/iam). +type Policy struct { + // AuditConfigs: Specifies cloud audit logging configuration for this + // policy. + AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"` + + // Bindings: Associates a list of `members` to a `role`. + // `bindings` with no members will result in an error. + Bindings []*Binding `json:"bindings,omitempty"` + + // Etag: `etag` is used for optimistic concurrency control as a way to + // help + // prevent simultaneous updates of a policy from overwriting each + // other. + // It is strongly suggested that systems make use of the `etag` in + // the + // read-modify-write cycle to perform policy updates in order to avoid + // race + // conditions: An `etag` is returned in the response to `getIamPolicy`, + // and + // systems are expected to put that etag in the request to + // `setIamPolicy` to + // ensure that their change will be applied to the same version of the + // policy. + // + // If no `etag` is provided in the call to `setIamPolicy`, then the + // existing + // policy is overwritten blindly. + Etag string `json:"etag,omitempty"` + + IamOwned bool `json:"iamOwned,omitempty"` + + // Version: Version of the `Policy`. The default version is 0. + Version int64 `json:"version,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "AuditConfigs") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AuditConfigs") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Policy) MarshalJSON() ([]byte, error) { + type noMethod Policy + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PublicKeyCertificate: A public key certificate format and data. +type PublicKeyCertificate struct { + // Certificate: The certificate data. + Certificate string `json:"certificate,omitempty"` + + // Format: The certificate format. + // + // Possible values: + // "UNSPECIFIED_PUBLIC_KEY_CERTIFICATE_FORMAT" - The format has not + // been specified. This is an invalid default value and + // must not be used. + // "X509_CERTIFICATE_PEM" - An X.509v3 certificate + // ([RFC5280](https://www.ietf.org/rfc/rfc5280.txt)), + // encoded in base64, and wrapped by `-----BEGIN CERTIFICATE-----` + // and + // `-----END CERTIFICATE-----`. + Format string `json:"format,omitempty"` + + // X509Details: [Output only] The certificate details. Used only for + // X.509 certificates. + X509Details *X509CertificateDetails `json:"x509Details,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Certificate") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Certificate") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *PublicKeyCertificate) MarshalJSON() ([]byte, error) { + type noMethod PublicKeyCertificate + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PublicKeyCredential: A public key format and data. +type PublicKeyCredential struct { + // Format: The format of the key. + // + // Possible values: + // "UNSPECIFIED_PUBLIC_KEY_FORMAT" - The format has not been + // specified. This is an invalid default value and + // must not be used. + // "RSA_PEM" - An RSA public key encoded in base64, and wrapped + // by + // `-----BEGIN PUBLIC KEY-----` and `-----END PUBLIC KEY-----`. This can + // be + // used to verify `RS256` signatures in JWT tokens + // ([RFC7518]( + // https://www.ietf.org/rfc/rfc7518.txt)). + // "RSA_X509_PEM" - As RSA_PEM, but wrapped in an X.509v3 certificate + // ([RFC5280]( + // https://www.ietf.org/rfc/rfc5280.txt)), encoded in base64, and + // wrapped by + // `-----BEGIN CERTIFICATE-----` and `-----END CERTIFICATE-----`. + // "ES256_PEM" - Public key for the ECDSA algorithm using P-256 and + // SHA-256, encoded in + // base64, and wrapped by `-----BEGIN PUBLIC KEY-----` and + // `-----END + // PUBLIC KEY-----`. This can be used to verify JWT tokens with the + // `ES256` + // algorithm ([RFC7518](https://www.ietf.org/rfc/rfc7518.txt)). This + // curve is + // defined in [OpenSSL](https://www.openssl.org/) as the `prime256v1` + // curve. + // "ES256_X509_PEM" - As ES256_PEM, but wrapped in an X.509v3 + // certificate ([RFC5280]( + // https://www.ietf.org/rfc/rfc5280.txt)), encoded in base64, and + // wrapped by + // `-----BEGIN CERTIFICATE-----` and `-----END CERTIFICATE-----`. + Format string `json:"format,omitempty"` + + // Key: The key data. + Key string `json:"key,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Format") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Format") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *PublicKeyCredential) MarshalJSON() ([]byte, error) { + type noMethod PublicKeyCredential + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// RegistryCredential: A server-stored registry credential used to +// validate device credentials. +type RegistryCredential struct { + // PublicKeyCertificate: A public key certificate used to verify the + // device credentials. + PublicKeyCertificate *PublicKeyCertificate `json:"publicKeyCertificate,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "PublicKeyCertificate") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "PublicKeyCertificate") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *RegistryCredential) MarshalJSON() ([]byte, error) { + type noMethod RegistryCredential + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SetIamPolicyRequest: Request message for `SetIamPolicy` method. +type SetIamPolicyRequest struct { + // 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 a + // valid policy but certain Cloud Platform services (such as + // Projects) + // might reject them. + Policy *Policy `json:"policy,omitempty"` + + // UpdateMask: OPTIONAL: A FieldMask specifying which fields of the + // policy to modify. Only + // the fields in the mask will be modified. If no mask is provided, + // the + // following default mask is used: + // paths: "bindings, etag" + // This field is only used by Cloud IAM. + UpdateMask string `json:"updateMask,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Policy") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Policy") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) { + type noMethod SetIamPolicyRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// StateNotificationConfig: The configuration for notification of new +// states received from the device. +type StateNotificationConfig struct { + // PubsubTopicName: A Cloud Pub/Sub topic name. For + // example, + // `projects/myProject/topics/deviceEvents`. + PubsubTopicName string `json:"pubsubTopicName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PubsubTopicName") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "PubsubTopicName") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *StateNotificationConfig) MarshalJSON() ([]byte, error) { + type noMethod StateNotificationConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Status: The `Status` type defines a logical error model that is +// suitable for different +// programming environments, including REST APIs and RPC APIs. It is +// used by +// [gRPC](https://github.com/grpc). The error model is designed to +// be: +// +// - Simple to use and understand for most users +// - Flexible enough to meet unexpected needs +// +// # Overview +// +// The `Status` message contains three pieces of data: error code, error +// message, +// and error details. The error code should be an enum value +// of +// google.rpc.Code, but it may accept additional error codes if needed. +// The +// error message should be a developer-facing English message that +// helps +// developers *understand* and *resolve* the error. If a localized +// user-facing +// error message is needed, put the localized message in the error +// details or +// localize it in the client. The optional error details may contain +// arbitrary +// information about the error. There is a predefined set of error +// detail types +// in the package `google.rpc` that can be used for common error +// conditions. +// +// # Language mapping +// +// The `Status` message is the logical representation of the error +// model, but it +// is not necessarily the actual wire format. When the `Status` message +// is +// exposed in different client libraries and different wire protocols, +// it can be +// mapped differently. For example, it will likely be mapped to some +// exceptions +// in Java, but more likely mapped to some error codes in C. +// +// # Other uses +// +// The error model and the `Status` message can be used in a variety +// of +// environments, either with or without APIs, to provide a +// consistent developer experience across different +// environments. +// +// Example uses of this error model include: +// +// - Partial errors. If a service needs to return partial errors to the +// client, +// it may embed the `Status` in the normal response to indicate the +// partial +// errors. +// +// - Workflow errors. A typical workflow has multiple steps. Each step +// may +// have a `Status` message for error reporting. +// +// - Batch operations. If a client uses batch request and batch +// response, the +// `Status` message should be used directly inside batch response, +// one for +// each error sub-response. +// +// - Asynchronous operations. If an API call embeds asynchronous +// operation +// results in its response, the status of those operations should +// be +// represented directly using the `Status` message. +// +// - Logging. If some API errors are stored in logs, the message +// `Status` could +// be used directly after any stripping needed for security/privacy +// reasons. +type Status struct { + // Code: The status code, which should be an enum value of + // google.rpc.Code. + Code int64 `json:"code,omitempty"` + + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. + Details []googleapi.RawMessage `json:"details,omitempty"` + + // Message: A developer-facing error message, which should be in + // English. Any + // user-facing error message should be localized and sent in + // the + // google.rpc.Status.details field, or localized by the client. + 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Status) MarshalJSON() ([]byte, error) { + type noMethod Status + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// TestIamPermissionsRequest: Request message for `TestIamPermissions` +// method. +type TestIamPermissionsRequest struct { + // Permissions: The set of permissions to check for the `resource`. + // Permissions with + // wildcards (such as '*' or 'storage.*') are not allowed. For + // more + // information see + // [IAM + // Overview](https://cloud.google.com/iam/docs/overview#permissions). + Permissions []string `json:"permissions,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Permissions") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Permissions") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) { + type noMethod TestIamPermissionsRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// TestIamPermissionsResponse: Response message for `TestIamPermissions` +// method. +type TestIamPermissionsResponse struct { + // Permissions: A subset of `TestPermissionsRequest.permissions` that + // the caller is + // allowed. + Permissions []string `json:"permissions,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Permissions") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Permissions") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) { + type noMethod TestIamPermissionsResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// X509CertificateDetails: Details of an X.509 certificate. For +// informational purposes only. +type X509CertificateDetails struct { + // ExpiryTime: The time the certificate becomes invalid. + ExpiryTime string `json:"expiryTime,omitempty"` + + // Issuer: The entity that signed the certificate. + Issuer string `json:"issuer,omitempty"` + + // PublicKeyType: The type of public key in the certificate. + PublicKeyType string `json:"publicKeyType,omitempty"` + + // SignatureAlgorithm: The algorithm used to sign the certificate. + SignatureAlgorithm string `json:"signatureAlgorithm,omitempty"` + + // StartTime: The time the certificate becomes valid. + StartTime string `json:"startTime,omitempty"` + + // Subject: The entity the certificate and public key belong to. + Subject string `json:"subject,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ExpiryTime") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ExpiryTime") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *X509CertificateDetails) MarshalJSON() ([]byte, error) { + type noMethod X509CertificateDetails + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// method id "cloudiot.projects.locations.registries.create": + +type ProjectsLocationsRegistriesCreateCall struct { + s *Service + parent string + deviceregistry *DeviceRegistry + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a device registry that contains devices. +func (r *ProjectsLocationsRegistriesService) Create(parent string, deviceregistry *DeviceRegistry) *ProjectsLocationsRegistriesCreateCall { + c := &ProjectsLocationsRegistriesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.deviceregistry = deviceregistry + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesCreateCall) Context(ctx context.Context) *ProjectsLocationsRegistriesCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.deviceregistry) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/registries") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.create" call. +// Exactly one of *DeviceRegistry or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *DeviceRegistry.ServerResponse.Header or (if a response was returned +// at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsRegistriesCreateCall) Do(opts ...googleapi.CallOption) (*DeviceRegistry, 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, &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, err + } + ret := &DeviceRegistry{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a device registry that contains devices.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries", + // "httpMethod": "POST", + // "id": "cloudiot.projects.locations.registries.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "The project and cloud region where this device registry must be created.\nFor example, `projects/example-project/locations/us-central1`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/registries", + // "request": { + // "$ref": "DeviceRegistry" + // }, + // "response": { + // "$ref": "DeviceRegistry" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// method id "cloudiot.projects.locations.registries.delete": + +type ProjectsLocationsRegistriesDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a device registry configuration. +func (r *ProjectsLocationsRegistriesService) Delete(name string) *ProjectsLocationsRegistriesDeleteCall { + c := &ProjectsLocationsRegistriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesDeleteCall) Context(ctx context.Context) *ProjectsLocationsRegistriesDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsRegistriesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes a device registry configuration.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}", + // "httpMethod": "DELETE", + // "id": "cloudiot.projects.locations.registries.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the device registry. For example,\n`projects/example-project/locations/us-central1/registries/my-registry`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// method id "cloudiot.projects.locations.registries.get": + +type ProjectsLocationsRegistriesGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets a device registry configuration. +func (r *ProjectsLocationsRegistriesService) Get(name string) *ProjectsLocationsRegistriesGetCall { + c := &ProjectsLocationsRegistriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsRegistriesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsRegistriesGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesGetCall) Context(ctx context.Context) *ProjectsLocationsRegistriesGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.get" call. +// Exactly one of *DeviceRegistry or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *DeviceRegistry.ServerResponse.Header or (if a response was returned +// at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsRegistriesGetCall) Do(opts ...googleapi.CallOption) (*DeviceRegistry, 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, &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, err + } + ret := &DeviceRegistry{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets a device registry configuration.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}", + // "httpMethod": "GET", + // "id": "cloudiot.projects.locations.registries.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the device registry. For example,\n`projects/example-project/locations/us-central1/registries/my-registry`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "DeviceRegistry" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// method id "cloudiot.projects.locations.registries.getIamPolicy": + +type ProjectsLocationsRegistriesGetIamPolicyCall struct { + s *Service + resource string + getiampolicyrequest *GetIamPolicyRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// GetIamPolicy: Gets the access control policy for a resource. +// Returns an empty policy if the resource exists and does not have a +// policy +// set. +func (r *ProjectsLocationsRegistriesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsRegistriesGetIamPolicyCall { + c := &ProjectsLocationsRegistriesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.getiampolicyrequest = getiampolicyrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesGetIamPolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsRegistriesGetIamPolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesGetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.getIamPolicy" call. +// Exactly one of *Policy or error will be non-nil. 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 *ProjectsLocationsRegistriesGetIamPolicyCall) 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, &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, err + } + ret := &Policy{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:getIamPolicy", + // "httpMethod": "POST", + // "id": "cloudiot.projects.locations.registries.getIamPolicy", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+resource}:getIamPolicy", + // "request": { + // "$ref": "GetIamPolicyRequest" + // }, + // "response": { + // "$ref": "Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// method id "cloudiot.projects.locations.registries.list": + +type ProjectsLocationsRegistriesListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists device registries. +func (r *ProjectsLocationsRegistriesService) List(parent string) *ProjectsLocationsRegistriesListCall { + c := &ProjectsLocationsRegistriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": The maximum number +// of registries to return in the response. If this value +// is zero, the service will select a default size. A call may return +// fewer +// objects than requested, but if there is a non-empty `page_token`, +// it +// indicates that more entries are available. +func (c *ProjectsLocationsRegistriesListCall) PageSize(pageSize int64) *ProjectsLocationsRegistriesListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The value returned +// by the last `ListDeviceRegistriesResponse`; indicates +// that this is a continuation of a prior `ListDeviceRegistries` call, +// and +// that the system should return the next page of data. +func (c *ProjectsLocationsRegistriesListCall) PageToken(pageToken string) *ProjectsLocationsRegistriesListCall { + 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 information. +func (c *ProjectsLocationsRegistriesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsRegistriesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsRegistriesListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesListCall) Context(ctx context.Context) *ProjectsLocationsRegistriesListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/registries") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.list" call. +// Exactly one of *ListDeviceRegistriesResponse or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *ListDeviceRegistriesResponse.ServerResponse.Header or (if a +// response was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsRegistriesListCall) Do(opts ...googleapi.CallOption) (*ListDeviceRegistriesResponse, 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, &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, err + } + ret := &ListDeviceRegistriesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists device registries.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries", + // "httpMethod": "GET", + // "id": "cloudiot.projects.locations.registries.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "pageSize": { + // "description": "The maximum number of registries to return in the response. If this value\nis zero, the service will select a default size. A call may return fewer\nobjects than requested, but if there is a non-empty `page_token`, it\nindicates that more entries are available.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "The value returned by the last `ListDeviceRegistriesResponse`; indicates\nthat this is a continuation of a prior `ListDeviceRegistries` call, and\nthat the system should return the next page of data.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "The project and cloud region path. For example,\n`projects/example-project/locations/us-central1`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/registries", + // "response": { + // "$ref": "ListDeviceRegistriesResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// 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 *ProjectsLocationsRegistriesListCall) Pages(ctx context.Context, f func(*ListDeviceRegistriesResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "cloudiot.projects.locations.registries.patch": + +type ProjectsLocationsRegistriesPatchCall struct { + s *Service + name string + deviceregistry *DeviceRegistry + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates a device registry configuration. +func (r *ProjectsLocationsRegistriesService) Patch(name string, deviceregistry *DeviceRegistry) *ProjectsLocationsRegistriesPatchCall { + c := &ProjectsLocationsRegistriesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.deviceregistry = deviceregistry + return c +} + +// UpdateMask sets the optional parameter "updateMask": Only updates the +// `device_registry` fields indicated by this mask. +// The field mask must not be empty, and it must not contain fields +// that +// are immutable or only set by the server. +// Mutable top-level fields: `event_notification_config`, `mqtt_config`, +// and +// `state_notification_config`. +func (c *ProjectsLocationsRegistriesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsRegistriesPatchCall { + 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 information. +func (c *ProjectsLocationsRegistriesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesPatchCall) Context(ctx context.Context) *ProjectsLocationsRegistriesPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.deviceregistry) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.patch" call. +// Exactly one of *DeviceRegistry or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *DeviceRegistry.ServerResponse.Header or (if a response was returned +// at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsRegistriesPatchCall) Do(opts ...googleapi.CallOption) (*DeviceRegistry, 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, &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, err + } + ret := &DeviceRegistry{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates a device registry configuration.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}", + // "httpMethod": "PATCH", + // "id": "cloudiot.projects.locations.registries.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The resource path name. For example,\n`projects/example-project/locations/us-central1/registries/my-registry`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Only updates the `device_registry` fields indicated by this mask.\nThe field mask must not be empty, and it must not contain fields that\nare immutable or only set by the server.\nMutable top-level fields: `event_notification_config`, `mqtt_config`, and\n`state_notification_config`.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "request": { + // "$ref": "DeviceRegistry" + // }, + // "response": { + // "$ref": "DeviceRegistry" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// method id "cloudiot.projects.locations.registries.setIamPolicy": + +type ProjectsLocationsRegistriesSetIamPolicyCall struct { + s *Service + resource string + setiampolicyrequest *SetIamPolicyRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetIamPolicy: Sets the access control policy on the specified +// resource. Replaces any +// existing policy. +func (r *ProjectsLocationsRegistriesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsRegistriesSetIamPolicyCall { + c := &ProjectsLocationsRegistriesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.setiampolicyrequest = setiampolicyrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesSetIamPolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsRegistriesSetIamPolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesSetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.setIamPolicy" call. +// Exactly one of *Policy or error will be non-nil. 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 *ProjectsLocationsRegistriesSetIamPolicyCall) 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, &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, err + } + ret := &Policy{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:setIamPolicy", + // "httpMethod": "POST", + // "id": "cloudiot.projects.locations.registries.setIamPolicy", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+resource}:setIamPolicy", + // "request": { + // "$ref": "SetIamPolicyRequest" + // }, + // "response": { + // "$ref": "Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// method id "cloudiot.projects.locations.registries.testIamPermissions": + +type ProjectsLocationsRegistriesTestIamPermissionsCall struct { + s *Service + resource string + testiampermissionsrequest *TestIamPermissionsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// TestIamPermissions: Returns permissions that a caller has on the +// specified resource. +// If the resource does not exist, this will return an empty set +// of +// permissions, not a NOT_FOUND error. +func (r *ProjectsLocationsRegistriesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsRegistriesTestIamPermissionsCall { + c := &ProjectsLocationsRegistriesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.testiampermissionsrequest = testiampermissionsrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesTestIamPermissionsCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsRegistriesTestIamPermissionsCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesTestIamPermissionsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.testIamPermissions" call. +// Exactly one of *TestIamPermissionsResponse or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *TestIamPermissionsResponse.ServerResponse.Header or (if a response +// was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsRegistriesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, 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, &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, err + } + ret := &TestIamPermissionsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:testIamPermissions", + // "httpMethod": "POST", + // "id": "cloudiot.projects.locations.registries.testIamPermissions", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+resource}:testIamPermissions", + // "request": { + // "$ref": "TestIamPermissionsRequest" + // }, + // "response": { + // "$ref": "TestIamPermissionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// method id "cloudiot.projects.locations.registries.devices.create": + +type ProjectsLocationsRegistriesDevicesCreateCall struct { + s *Service + parent string + device *Device + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a device in a device registry. +func (r *ProjectsLocationsRegistriesDevicesService) Create(parent string, device *Device) *ProjectsLocationsRegistriesDevicesCreateCall { + c := &ProjectsLocationsRegistriesDevicesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.device = device + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesDevicesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesDevicesCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesDevicesCreateCall) Context(ctx context.Context) *ProjectsLocationsRegistriesDevicesCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesDevicesCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesDevicesCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.device) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/devices") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.devices.create" call. +// Exactly one of *Device or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Device.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsRegistriesDevicesCreateCall) Do(opts ...googleapi.CallOption) (*Device, 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, &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, err + } + ret := &Device{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a device in a device registry.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices", + // "httpMethod": "POST", + // "id": "cloudiot.projects.locations.registries.devices.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "The name of the device registry where this device should be created.\nFor example,\n`projects/example-project/locations/us-central1/registries/my-registry`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/devices", + // "request": { + // "$ref": "Device" + // }, + // "response": { + // "$ref": "Device" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// method id "cloudiot.projects.locations.registries.devices.delete": + +type ProjectsLocationsRegistriesDevicesDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a device. +func (r *ProjectsLocationsRegistriesDevicesService) Delete(name string) *ProjectsLocationsRegistriesDevicesDeleteCall { + c := &ProjectsLocationsRegistriesDevicesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesDevicesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesDevicesDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesDevicesDeleteCall) Context(ctx context.Context) *ProjectsLocationsRegistriesDevicesDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesDevicesDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesDevicesDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.devices.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsRegistriesDevicesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes a device.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}", + // "httpMethod": "DELETE", + // "id": "cloudiot.projects.locations.registries.devices.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// method id "cloudiot.projects.locations.registries.devices.get": + +type ProjectsLocationsRegistriesDevicesGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets details about a device. +func (r *ProjectsLocationsRegistriesDevicesService) Get(name string) *ProjectsLocationsRegistriesDevicesGetCall { + c := &ProjectsLocationsRegistriesDevicesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesDevicesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesDevicesGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsRegistriesDevicesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsRegistriesDevicesGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesDevicesGetCall) Context(ctx context.Context) *ProjectsLocationsRegistriesDevicesGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesDevicesGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesDevicesGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.devices.get" call. +// Exactly one of *Device or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Device.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsRegistriesDevicesGetCall) Do(opts ...googleapi.CallOption) (*Device, 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, &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, err + } + ret := &Device{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets details about a device.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}", + // "httpMethod": "GET", + // "id": "cloudiot.projects.locations.registries.devices.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "Device" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// method id "cloudiot.projects.locations.registries.devices.list": + +type ProjectsLocationsRegistriesDevicesListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: List devices in a device registry. +func (r *ProjectsLocationsRegistriesDevicesService) List(parent string) *ProjectsLocationsRegistriesDevicesListCall { + c := &ProjectsLocationsRegistriesDevicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// DeviceIds sets the optional parameter "deviceIds": A list of device +// string identifiers. If empty, it will ignore this field. +// For example, `['device0', 'device12']`. This field cannot hold more +// than +// 10,000 entries. +func (c *ProjectsLocationsRegistriesDevicesListCall) DeviceIds(deviceIds ...string) *ProjectsLocationsRegistriesDevicesListCall { + c.urlParams_.SetMulti("deviceIds", append([]string{}, deviceIds...)) + return c +} + +// DeviceNumIds sets the optional parameter "deviceNumIds": A list of +// device numerical ids. If empty, it will ignore this field. This +// field cannot hold more than 10,000 entries. +func (c *ProjectsLocationsRegistriesDevicesListCall) DeviceNumIds(deviceNumIds ...uint64) *ProjectsLocationsRegistriesDevicesListCall { + var deviceNumIds_ []string + for _, v := range deviceNumIds { + deviceNumIds_ = append(deviceNumIds_, fmt.Sprint(v)) + } + c.urlParams_.SetMulti("deviceNumIds", deviceNumIds_) + return c +} + +// FieldMask sets the optional parameter "fieldMask": The fields of the +// `Device` resource to be returned in the response. The +// fields `id`, and `num_id` are always returned by default, along with +// any +// other fields specified. +func (c *ProjectsLocationsRegistriesDevicesListCall) FieldMask(fieldMask string) *ProjectsLocationsRegistriesDevicesListCall { + c.urlParams_.Set("fieldMask", fieldMask) + return c +} + +// PageSize sets the optional parameter "pageSize": The maximum number +// of devices to return in the response. If this value +// is zero, the service will select a default size. A call may return +// fewer +// objects than requested, but if there is a non-empty `page_token`, +// it +// indicates that more entries are available. +func (c *ProjectsLocationsRegistriesDevicesListCall) PageSize(pageSize int64) *ProjectsLocationsRegistriesDevicesListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The value returned +// by the last `ListDevicesResponse`; indicates +// that this is a continuation of a prior `ListDevices` call, and +// that the system should return the next page of data. +func (c *ProjectsLocationsRegistriesDevicesListCall) PageToken(pageToken string) *ProjectsLocationsRegistriesDevicesListCall { + 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 information. +func (c *ProjectsLocationsRegistriesDevicesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesDevicesListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsRegistriesDevicesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsRegistriesDevicesListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesDevicesListCall) Context(ctx context.Context) *ProjectsLocationsRegistriesDevicesListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesDevicesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesDevicesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/devices") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.devices.list" call. +// Exactly one of *ListDevicesResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListDevicesResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsRegistriesDevicesListCall) Do(opts ...googleapi.CallOption) (*ListDevicesResponse, 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, &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, err + } + ret := &ListDevicesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "List devices in a device registry.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices", + // "httpMethod": "GET", + // "id": "cloudiot.projects.locations.registries.devices.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "deviceIds": { + // "description": "A list of device string identifiers. If empty, it will ignore this field.\nFor example, `['device0', 'device12']`. This field cannot hold more than\n10,000 entries.", + // "location": "query", + // "repeated": true, + // "type": "string" + // }, + // "deviceNumIds": { + // "description": "A list of device numerical ids. If empty, it will ignore this field. This\nfield cannot hold more than 10,000 entries.", + // "format": "uint64", + // "location": "query", + // "repeated": true, + // "type": "string" + // }, + // "fieldMask": { + // "description": "The fields of the `Device` resource to be returned in the response. The\nfields `id`, and `num_id` are always returned by default, along with any\nother fields specified.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // }, + // "pageSize": { + // "description": "The maximum number of devices to return in the response. If this value\nis zero, the service will select a default size. A call may return fewer\nobjects than requested, but if there is a non-empty `page_token`, it\nindicates that more entries are available.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "The value returned by the last `ListDevicesResponse`; indicates\nthat this is a continuation of a prior `ListDevices` call, and\nthat the system should return the next page of data.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "The device registry path. Required. For example,\n`projects/my-project/locations/us-central1/registries/my-registry`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/devices", + // "response": { + // "$ref": "ListDevicesResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// 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 *ProjectsLocationsRegistriesDevicesListCall) Pages(ctx context.Context, f func(*ListDevicesResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "cloudiot.projects.locations.registries.devices.modifyCloudToDeviceConfig": + +type ProjectsLocationsRegistriesDevicesModifyCloudToDeviceConfigCall struct { + s *Service + name string + modifycloudtodeviceconfigrequest *ModifyCloudToDeviceConfigRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ModifyCloudToDeviceConfig: Modifies the configuration for the device, +// which is eventually sent from +// the Cloud IoT Core servers. Returns the modified configuration +// version and +// its metadata. +func (r *ProjectsLocationsRegistriesDevicesService) ModifyCloudToDeviceConfig(name string, modifycloudtodeviceconfigrequest *ModifyCloudToDeviceConfigRequest) *ProjectsLocationsRegistriesDevicesModifyCloudToDeviceConfigCall { + c := &ProjectsLocationsRegistriesDevicesModifyCloudToDeviceConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.modifycloudtodeviceconfigrequest = modifycloudtodeviceconfigrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesDevicesModifyCloudToDeviceConfigCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesDevicesModifyCloudToDeviceConfigCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesDevicesModifyCloudToDeviceConfigCall) Context(ctx context.Context) *ProjectsLocationsRegistriesDevicesModifyCloudToDeviceConfigCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesDevicesModifyCloudToDeviceConfigCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesDevicesModifyCloudToDeviceConfigCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.modifycloudtodeviceconfigrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:modifyCloudToDeviceConfig") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.devices.modifyCloudToDeviceConfig" call. +// Exactly one of *DeviceConfig or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *DeviceConfig.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsRegistriesDevicesModifyCloudToDeviceConfigCall) Do(opts ...googleapi.CallOption) (*DeviceConfig, 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, &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, err + } + ret := &DeviceConfig{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Modifies the configuration for the device, which is eventually sent from\nthe Cloud IoT Core servers. Returns the modified configuration version and\nits metadata.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}:modifyCloudToDeviceConfig", + // "httpMethod": "POST", + // "id": "cloudiot.projects.locations.registries.devices.modifyCloudToDeviceConfig", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}:modifyCloudToDeviceConfig", + // "request": { + // "$ref": "ModifyCloudToDeviceConfigRequest" + // }, + // "response": { + // "$ref": "DeviceConfig" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// method id "cloudiot.projects.locations.registries.devices.patch": + +type ProjectsLocationsRegistriesDevicesPatchCall struct { + s *Service + name string + device *Device + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates a device. +func (r *ProjectsLocationsRegistriesDevicesService) Patch(name string, device *Device) *ProjectsLocationsRegistriesDevicesPatchCall { + c := &ProjectsLocationsRegistriesDevicesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.device = device + return c +} + +// UpdateMask sets the optional parameter "updateMask": Only updates the +// `device` fields indicated by this mask. +// The field mask must not be empty, and it must not contain fields +// that +// are immutable or only set by the server. +// Mutable top-level fields: `credentials`, `enabled_state`, and +// `metadata` +func (c *ProjectsLocationsRegistriesDevicesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsRegistriesDevicesPatchCall { + 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 information. +func (c *ProjectsLocationsRegistriesDevicesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesDevicesPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesDevicesPatchCall) Context(ctx context.Context) *ProjectsLocationsRegistriesDevicesPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesDevicesPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesDevicesPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.device) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.devices.patch" call. +// Exactly one of *Device or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Device.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsRegistriesDevicesPatchCall) Do(opts ...googleapi.CallOption) (*Device, 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, &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, err + } + ret := &Device{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates a device.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}", + // "httpMethod": "PATCH", + // "id": "cloudiot.projects.locations.registries.devices.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The resource path name. For example,\n`projects/p1/locations/us-central1/registries/registry0/devices/dev0` or\n`projects/p1/locations/us-central1/registries/registry0/devices/{num_id}`.\nWhen `name` is populated as a response from the service, it always ends\nin the device numeric ID.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Only updates the `device` fields indicated by this mask.\nThe field mask must not be empty, and it must not contain fields that\nare immutable or only set by the server.\nMutable top-level fields: `credentials`, `enabled_state`, and `metadata`", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "request": { + // "$ref": "Device" + // }, + // "response": { + // "$ref": "Device" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// method id "cloudiot.projects.locations.registries.devices.configVersions.list": + +type ProjectsLocationsRegistriesDevicesConfigVersionsListCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists the last few versions of the device configuration in +// descending +// order (i.e.: newest first). +func (r *ProjectsLocationsRegistriesDevicesConfigVersionsService) List(name string) *ProjectsLocationsRegistriesDevicesConfigVersionsListCall { + c := &ProjectsLocationsRegistriesDevicesConfigVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// NumVersions sets the optional parameter "numVersions": The number of +// versions to list. Versions are listed in decreasing order of +// the version number. The maximum number of versions retained is 10. If +// this +// value is zero, it will return all the versions available. +func (c *ProjectsLocationsRegistriesDevicesConfigVersionsListCall) NumVersions(numVersions int64) *ProjectsLocationsRegistriesDevicesConfigVersionsListCall { + c.urlParams_.Set("numVersions", fmt.Sprint(numVersions)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesDevicesConfigVersionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesDevicesConfigVersionsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsRegistriesDevicesConfigVersionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsRegistriesDevicesConfigVersionsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesDevicesConfigVersionsListCall) Context(ctx context.Context) *ProjectsLocationsRegistriesDevicesConfigVersionsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesDevicesConfigVersionsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesDevicesConfigVersionsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/configVersions") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.devices.configVersions.list" call. +// Exactly one of *ListDeviceConfigVersionsResponse or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *ListDeviceConfigVersionsResponse.ServerResponse.Header or (if +// a response was returned at all) in error.(*googleapi.Error).Header. +// Use googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsRegistriesDevicesConfigVersionsListCall) Do(opts ...googleapi.CallOption) (*ListDeviceConfigVersionsResponse, 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, &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, err + } + ret := &ListDeviceConfigVersionsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists the last few versions of the device configuration in descending\norder (i.e.: newest first).", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}/configVersions", + // "httpMethod": "GET", + // "id": "cloudiot.projects.locations.registries.devices.configVersions.list", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "numVersions": { + // "description": "The number of versions to list. Versions are listed in decreasing order of\nthe version number. The maximum number of versions retained is 10. If this\nvalue is zero, it will return all the versions available.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // } + // }, + // "path": "v1/{+name}/configVersions", + // "response": { + // "$ref": "ListDeviceConfigVersionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// method id "cloudiot.projects.locations.registries.devices.states.list": + +type ProjectsLocationsRegistriesDevicesStatesListCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists the last few versions of the device state in descending +// order (i.e.: +// newest first). +func (r *ProjectsLocationsRegistriesDevicesStatesService) List(name string) *ProjectsLocationsRegistriesDevicesStatesListCall { + c := &ProjectsLocationsRegistriesDevicesStatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// NumStates sets the optional parameter "numStates": The number of +// states to list. States are listed in descending order of +// update time. The maximum number of states retained is 10. If +// this +// value is zero, it will return all the states available. +func (c *ProjectsLocationsRegistriesDevicesStatesListCall) NumStates(numStates int64) *ProjectsLocationsRegistriesDevicesStatesListCall { + c.urlParams_.Set("numStates", fmt.Sprint(numStates)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesDevicesStatesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesDevicesStatesListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsRegistriesDevicesStatesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsRegistriesDevicesStatesListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesDevicesStatesListCall) Context(ctx context.Context) *ProjectsLocationsRegistriesDevicesStatesListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesDevicesStatesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesDevicesStatesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/states") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.devices.states.list" call. +// Exactly one of *ListDeviceStatesResponse or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *ListDeviceStatesResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsRegistriesDevicesStatesListCall) Do(opts ...googleapi.CallOption) (*ListDeviceStatesResponse, 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, &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, err + } + ret := &ListDeviceStatesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists the last few versions of the device state in descending order (i.e.:\nnewest first).", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}/states", + // "httpMethod": "GET", + // "id": "cloudiot.projects.locations.registries.devices.states.list", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "numStates": { + // "description": "The number of states to list. States are listed in descending order of\nupdate time. The maximum number of states retained is 10. If this\nvalue is zero, it will return all the states available.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // } + // }, + // "path": "v1/{+name}/states", + // "response": { + // "$ref": "ListDeviceStatesResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} diff --git a/vendor/google.golang.org/api/cloudiot/v1beta1/cloudiot-api.json b/vendor/google.golang.org/api/cloudiot/v1beta1/cloudiot-api.json new file mode 100644 index 000000000..9d5e04c86 --- /dev/null +++ b/vendor/google.golang.org/api/cloudiot/v1beta1/cloudiot-api.json @@ -0,0 +1,1251 @@ +{ + "basePath": "", + "id": "cloudiot:v1beta1", + "documentationLink": "https://cloud.google.com/iot", + "revision": "20170922", + "discoveryVersion": "v1", + "version_module": true, + "schemas": { + "NotificationConfig": { + "id": "NotificationConfig", + "description": "Configuration to forward messages such as telemetry events.", + "type": "object", + "properties": { + "pubsubTopicName": { + "description": "A Cloud Pub/Sub topic name. For example,\n`projects/myProject/topics/deviceEvents`.", + "type": "string" + } + } + }, + "HttpPublishEventRequest": { + "description": "Request for `PublishEvent`.", + "type": "object", + "properties": { + "subFolder": { + "description": "Optional subfolder for the telemetry event. This can be used to classify\ntypes of events, and is included in the Pub/Sub message attributes.", + "type": "string" + }, + "binaryData": { + "format": "byte", + "description": "Payload data in binary format.", + "type": "string" + } + }, + "id": "HttpPublishEventRequest" + }, + "Device": { + "description": "The device resource.", + "type": "object", + "properties": { + "enabledState": { + "description": "If a device is disabled, communication from it will be blocked. Can be used\nto temporarily prevent the device from connecting if, for example, the\nsensor is generating bad data and needs maintenance.", + "type": "string", + "enumDescriptions": [ + "No enabled state specified. If not specified, defaults to enabled\n(communication to Cloud IoT Core allowed).", + "Enables a device. By default, devices are enabled, allowing communication\nfrom the device to Cloud IoT Core. When a device is disabled, it is blocked\nfrom communicating with Cloud IoT Core.", + "Disables a device, blocking all communication from it to Cloud IoT Core." + ], + "enum": [ + "UNSPECIFIED_ENABLED_STATE", + "DEVICE_ENABLED", + "DEVICE_DISABLED" + ] + }, + "id": { + "description": "The user-defined device identifier. The device ID must be unique\nwithin a device registry.", + "type": "string" + }, + "lastHeartbeatTime": { + "format": "google-datetime", + "description": "[Output only] The last time a heartbeat was received. Timestamps are\nperiodically collected and written to storage; they may be stale by a few\nminutes.", + "type": "string" + }, + "lastEventTime": { + "format": "google-datetime", + "description": "[Output only] The last time an event was received. Timestamps are\nperiodically collected and written to storage; they may be stale by a few\nminutes.", + "type": "string" + }, + "lastErrorStatus": { + "description": "[Output only] The error message of the last error, e.g., failed to publish\nto Cloud Pub/Sub. 'last_error_time' is the timestamp of this field. If no\nerrors are present, this will have an empty message (whose status code is\n0 == OK), otherwise this field is expected to have a not-OK status code.", + "$ref": "Status" + }, + "lastConfigAckTime": { + "format": "google-datetime", + "description": "[Output only] The last time a cloud-to-device config version acknowledgment\nwas received from the device.", + "type": "string" + }, + "numId": { + "format": "uint64", + "description": "[Output only] A server-defined unique numeric ID for the device. This is a\nmore compact way to identify devices, and it is globally unique.", + "type": "string" + }, + "config": { + "$ref": "DeviceConfig", + "description": "The most recent device configuration, which is eventually sent from the\nCloud IoT Core service to the device. If not present on creation, the\nconfiguration will be initialized with an empty payload and version value\nof `1`. To update this field after creation, use the\n`DeviceManager.ModifyCloudToDeviceConfig` method." + }, + "name": { + "description": "The resource path name. For example,\n`projects/p1/locations/us-central1/registries/registry0/devices/dev0` or\n`projects/p1/locations/us-central1/registries/registry0/devices/{num_id}`.\nWhen `name` is populated as a response from the service, it always ends\nin the device numeric ID.", + "type": "string" + }, + "credentials": { + "description": "The credentials used to authenticate this device. To allow credential\nrotation without interruption, multiple device credentials can be bound to\nthis device. No more than 3 credentials can be bound to a single device at\na time.", + "items": { + "$ref": "DeviceCredential" + }, + "type": "array" + }, + "lastErrorTime": { + "format": "google-datetime", + "description": "[Output only] The last time an error happened, e.g., failed to publish to\nCloud Pub/Sub. This field is the timestamp of 'last_error_status'.", + "type": "string" + } + }, + "id": "Device" + }, + "HttpSetDeviceStateRequest": { + "description": "Request for `SetDeviceState`.", + "type": "object", + "properties": { + "state": { + "$ref": "HttpDeviceState", + "description": "The device state." + } + }, + "id": "HttpSetDeviceStateRequest" + }, + "ListDeviceConfigVersionsResponse": { + "id": "ListDeviceConfigVersionsResponse", + "description": "Response for `ListDeviceConfigVersions`.", + "type": "object", + "properties": { + "deviceConfigs": { + "description": "The device configuration for the last few versions. Versions are listed\nin decreasing order, starting from the most recent one.", + "items": { + "$ref": "DeviceConfig" + }, + "type": "array" + } + } + }, + "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "type": "object", + "properties": { + "updateMask": { + "format": "google-fieldmask", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "type": "string" + }, + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + } + }, + "id": "SetIamPolicyRequest" + }, + "HttpDeviceState": { + "id": "HttpDeviceState", + "description": "The device state reported to Cloud IoT Core.", + "type": "object", + "properties": { + "binaryData": { + "format": "byte", + "description": "Data in binary format.", + "type": "string" + } + } + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object", + "properties": {}, + "id": "Empty" + }, + "DeviceConfigData": { + "id": "DeviceConfigData", + "description": "The data for a device configuration. Only binary data is currently supported.", + "type": "object", + "properties": { + "binaryData": { + "format": "byte", + "description": "The configuration sent to the device, as bytes.", + "type": "string" + } + } + }, + "PublicKeyCredential": { + "description": "A public key format and data.", + "type": "object", + "properties": { + "key": { + "description": "The key data.", + "type": "string" + }, + "format": { + "enumDescriptions": [ + "The format has not been specified. This is an invalid default value and\nmust not be used.", + "An RSA public key wrapped in a X.509v3 certificate\n[RFC5280](https://www.ietf.org/rfc/rfc5280.txt), encoded in base64, and\nwrapped by `-----BEGIN CERTIFICATE-----` and `-----END CERTIFICATE-----`.\nThis can be used to verify `RS256` signatures in JWT tokens\n[RFC7518](https://www.ietf.org/rfc/rfc7518.txt).", + "Public key for the ECDSA algorithm using P-256 and SHA-256, encoded in\nbase64, and wrapped by `-----BEGIN PUBLIC KEY-----` and `-----END\nPUBLIC KEY-----`. This can be used to verify JWT tokens with the `ES256`\nalgorithm [RFC7518](https://www.ietf.org/rfc/rfc7518.txt). This curve is\ndefined in [openssl](https://www.openssl.org/) as the `prime256v1` curve." + ], + "enum": [ + "UNSPECIFIED_PUBLIC_KEY_FORMAT", + "RSA_X509_PEM", + "ES256_PEM" + ], + "description": "The format of the key.", + "type": "string" + } + }, + "id": "PublicKeyCredential" + }, + "AuditLogConfig": { + "id": "AuditLogConfig", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\nfoo@gmail.com from DATA_READ logging.", + "type": "object", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "type": "string", + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ] + } + } + }, + "TestIamPermissionsRequest": { + "id": "TestIamPermissionsRequest", + "description": "Request message for `TestIamPermissions` method.", + "type": "object", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "Policy": { + "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam).", + "type": "object", + "properties": { + "version": { + "format": "int32", + "description": "Version of the `Policy`. The default version is 0.", + "type": "integer" + }, + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "AuditConfig" + }, + "type": "array" + }, + "bindings": { + "description": "Associates a list of `members` to a `role`.\n`bindings` with no members will result in an error.", + "items": { + "$ref": "Binding" + }, + "type": "array" + }, + "iamOwned": { + "type": "boolean" + }, + "etag": { + "format": "byte", + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.", + "type": "string" + } + }, + "id": "Policy" + }, + "ListDeviceRegistriesResponse": { + "id": "ListDeviceRegistriesResponse", + "description": "Response for `ListDeviceRegistries`.", + "type": "object", + "properties": { + "deviceRegistries": { + "description": "The registries that matched the query.", + "items": { + "$ref": "DeviceRegistry" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If not empty, indicates that there may be more registries that match the\nrequest; this value should be passed in a new\n`ListDeviceRegistriesRequest`.", + "type": "string" + } + } + }, + "DeviceRegistry": { + "id": "DeviceRegistry", + "description": "A container for a group of devices.", + "type": "object", + "properties": { + "id": { + "description": "The identifier of this device registry. For example, `myRegistry`.", + "type": "string" + }, + "mqttConfig": { + "description": "The configuration of the MQTT broker associated with this device registry,\nincluding enablement, payload data format type, etc.", + "$ref": "MqttConfig" + }, + "name": { + "description": "The resource path name. For example,\n`projects/example-project/locations/us-central1/registries/my-registry`.", + "type": "string" + }, + "eventNotificationConfig": { + "description": "Configuration to notify events received from the device.", + "$ref": "NotificationConfig" + } + } + }, + "ListDevicesResponse": { + "id": "ListDevicesResponse", + "description": "Response for `ListDevices`.", + "type": "object", + "properties": { + "devices": { + "description": "The devices that match the request.", + "items": { + "$ref": "Device" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If not empty, indicates that there may be more devices that match the\nrequest; this value should be passed in a new `ListDevicesRequest`.", + "type": "string" + } + } + }, + "AuditConfig": { + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"fooservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:bar@gmail.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts foo@gmail.com from DATA_READ logging, and\nbar@gmail.com from DATA_WRITE logging.", + "type": "object", + "properties": { + "exemptedMembers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", + "type": "string" + }, + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.\nNext ID: 4", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + } + }, + "id": "AuditConfig" + }, + "DeviceCredential": { + "description": "A server-stored device credential used for authentication.", + "type": "object", + "properties": { + "expirationTime": { + "format": "google-datetime", + "description": "[Optional] The time at which this credential becomes invalid. This\ncredential will be ignored for new client authentication requests after\nthis timestamp; however, it will not be automatically deleted.", + "type": "string" + }, + "publicKey": { + "$ref": "PublicKeyCredential", + "description": "A public key used to verify the signature of JSON Web Tokens (JWTs)." + } + }, + "id": "DeviceCredential" + }, + "DeviceConfig": { + "id": "DeviceConfig", + "description": "The device configuration and its metadata. Eventually delivered to devices.", + "type": "object", + "properties": { + "deviceAckTime": { + "format": "google-datetime", + "description": "[Output only] The time when the Cloud IoT Core server received the\nacknowledgment from the device, indicating that the device has received\nthis configuration version. If this field is not present, the device has\nnot yet acknowledged that it received this version. Note that when sending\nthe config to the device, there may have been many config versions on the\nCloud IoT Core service while the device was disconnected; and on\nconnection, only the latest version is sent to the device. Some of the\nversions may never be sent to the device, and therefore are never\nacknowledged. This timestamp is set by the Cloud IoT Core service.", + "type": "string" + }, + "cloudUpdateTime": { + "format": "google-datetime", + "description": "[Output only] The time when this version state was updated in the Cloud IoT\nCore service. This timestamp is set by the server.", + "type": "string" + }, + "version": { + "format": "int64", + "description": "[Output only] The version of this update. The version number is assigned by\nthe server, and is always greater than zero after device creation. The\nversion must be zero on the `CreateDevice` request if a `config` is\nspecified; the response of `CreateDevice` will always have a value of one.", + "type": "string" + }, + "data": { + "$ref": "DeviceConfigData", + "description": "The device configuration data." + } + } + }, + "MqttConfig": { + "description": "The configuration of MQTT for a device registry.", + "type": "object", + "properties": { + "mqttConfigState": { + "description": "If enabled, allows connections using the MQTT protocol. Otherwise any MQTT\nconnection to this registry will fail.", + "type": "string", + "enumDescriptions": [ + "No MQTT state specified. If not specified, MQTT will be enabled by default.", + "Enables a MQTT connection.", + "Disables a MQTT connection." + ], + "enum": [ + "UNSPECIFIED_MQTT_STATE", + "MQTT_ENABLED", + "MQTT_DISABLED" + ] + } + }, + "id": "MqttConfig" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", + "type": "object", + "properties": { + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "code": { + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" + } + }, + "id": "Status" + }, + "Binding": { + "id": "Binding", + "description": "Associates `members` with a `role`.", + "type": "object", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding.\nNOTE: an unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently.\nThis field is GOOGLE_INTERNAL." + }, + "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@gmail.com` or `joe@example.com`.\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n\n* `domain:{domain}`: A Google Apps domain name that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired", + "type": "string" + } + } + }, + "Expr": { + "id": "Expr", + "description": "Represents an expression text. Example:\n\n title: \"User account presence\"\n description: \"Determines whether the request has a user account\"\n expression: \"size(request.user) \u003e 0\"", + "type": "object", + "properties": { + "description": { + "description": "An optional description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in\nCommon Expression Language syntax.\n\nThe application context of the containing message determines which\nwell-known feature set of CEL is supported.", + "type": "string" + }, + "location": { + "description": "An optional string indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "An optional title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", + "type": "string" + } + } + }, + "HttpPublishEventResponse": { + "description": "Response for `PublishEvent`.", + "type": "object", + "properties": {}, + "id": "HttpPublishEventResponse" + }, + "ModifyCloudToDeviceConfigRequest": { + "description": "Request for `ModifyCloudToDeviceConfig`.", + "type": "object", + "properties": { + "versionToUpdate": { + "format": "int64", + "description": "The version number to update. If this value is zero, it will not check the\nversion number of the server and will always update the current version;\notherwise, this update will fail if the version number found on the server\ndoes not match this version number. This is used to support multiple\nsimultaneous updates without losing data.", + "type": "string" + }, + "data": { + "$ref": "DeviceConfigData", + "description": "The configuration data for the device." + } + }, + "id": "ModifyCloudToDeviceConfigRequest" + }, + "GetIamPolicyRequest": { + "id": "GetIamPolicyRequest", + "description": "Request message for `GetIamPolicy` method.", + "type": "object", + "properties": {} + }, + "TestIamPermissionsResponse": { + "id": "TestIamPermissionsResponse", + "description": "Response message for `TestIamPermissions` method.", + "type": "object", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "HttpDeviceConfig": { + "description": "The device configuration obtained from Cloud IoT Core.", + "type": "object", + "properties": { + "version": { + "format": "int64", + "description": "The version of the configuration in Cloud IoT Core.", + "type": "string" + }, + "binaryData": { + "format": "byte", + "description": "Data in binary format.", + "type": "string" + } + }, + "id": "HttpDeviceConfig" + } + }, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "protocol": "rest", + "canonicalName": "Cloud Iot", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloudiot": { + "description": "Register and manage devices in the Google Cloud IoT service" + }, + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "rootUrl": "https://cloudiot.googleapis.com/", + "ownerDomain": "google.com", + "name": "cloudiot", + "batchPath": "batch", + "title": "Google Cloud IoT API", + "ownerName": "Google", + "resources": { + "projects": { + "resources": { + "locations": { + "resources": { + "registries": { + "methods": { + "delete": { + "path": "v1beta1/{+name}", + "id": "cloudiot.projects.locations.registries.delete", + "description": "Deletes a device registry configuration.", + "httpMethod": "DELETE", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "parameters": { + "name": { + "description": "The name of the device registry. For example,\n`projects/example-project/locations/us-central1/registries/my-registry`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}" + }, + "list": { + "path": "v1beta1/{+parent}/registries", + "id": "cloudiot.projects.locations.registries.list", + "description": "Lists device registries.", + "httpMethod": "GET", + "response": { + "$ref": "ListDeviceRegistriesResponse" + }, + "parameterOrder": [ + "parent" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "parameters": { + "pageToken": { + "description": "The value returned by the last `ListDeviceRegistriesResponse`; indicates\nthat this is a continuation of a prior `ListDeviceRegistries` call, and\nthat the system should return the next page of data.", + "type": "string", + "location": "query" + }, + "pageSize": { + "format": "int32", + "description": "The maximum number of registries to return in the response. If this value\nis zero, the service will select a default size. A call may return fewer\nobjects than requested, but if there is a non-empty `page_token`, it\nindicates that more entries are available.", + "type": "integer", + "location": "query" + }, + "parent": { + "description": "The project and cloud region path. For example,\n`projects/example-project/locations/us-central1`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries" + }, + "create": { + "parameters": { + "parent": { + "description": "The project and cloud region where this device registry must be created.\nFor example, `projects/example-project/locations/us-central1`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries", + "path": "v1beta1/{+parent}/registries", + "id": "cloudiot.projects.locations.registries.create", + "description": "Creates a device registry that contains devices.", + "request": { + "$ref": "DeviceRegistry" + }, + "httpMethod": "POST", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "DeviceRegistry" + } + }, + "setIamPolicy": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "parameters": { + "resource": { + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:setIamPolicy", + "path": "v1beta1/{+resource}:setIamPolicy", + "id": "cloudiot.projects.locations.registries.setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "Policy" + } + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", + "request": { + "$ref": "GetIamPolicyRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "Policy" + }, + "parameters": { + "resource": { + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:getIamPolicy", + "path": "v1beta1/{+resource}:getIamPolicy", + "id": "cloudiot.projects.locations.registries.getIamPolicy" + }, + "patch": { + "path": "v1beta1/{+name}", + "id": "cloudiot.projects.locations.registries.patch", + "request": { + "$ref": "DeviceRegistry" + }, + "description": "Updates a device registry configuration.", + "httpMethod": "PATCH", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "DeviceRegistry" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "parameters": { + "name": { + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + "location": "path", + "description": "The resource path name. For example,\n`projects/example-project/locations/us-central1/registries/my-registry`.", + "type": "string", + "required": true + }, + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Only updates the `device_registry` fields indicated by this mask.\nThe field mask must not be empty, and it must not contain fields that\nare immutable or only set by the server.\nMutable top-level fields: `event_notification_config` and `mqtt_config`", + "type": "string" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}" + }, + "get": { + "httpMethod": "GET", + "response": { + "$ref": "DeviceRegistry" + }, + "parameterOrder": [ + "name" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "parameters": { + "name": { + "description": "The name of the device registry. For example,\n`projects/example-project/locations/us-central1/registries/my-registry`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}", + "path": "v1beta1/{+name}", + "id": "cloudiot.projects.locations.registries.get", + "description": "Gets a device registry configuration." + }, + "testIamPermissions": { + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:testIamPermissions", + "path": "v1beta1/{+resource}:testIamPermissions", + "id": "cloudiot.projects.locations.registries.testIamPermissions", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.", + "request": { + "$ref": "TestIamPermissionsRequest" + } + } + }, + "resources": { + "devices": { + "methods": { + "delete": { + "id": "cloudiot.projects.locations.registries.devices.delete", + "path": "v1beta1/{+name}", + "description": "Deletes a device.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "parameters": { + "name": { + "description": "The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}" + }, + "list": { + "parameters": { + "pageToken": { + "location": "query", + "description": "The value returned by the last `ListDevicesResponse`; indicates\nthat this is a continuation of a prior `ListDevices` call, and\nthat the system should return the next page of data.", + "type": "string" + }, + "fieldMask": { + "format": "google-fieldmask", + "description": "The fields of the `Device` resource to be returned in the response. The\nfields `id`, and `num_id` are always returned by default, along with any\nother fields specified.", + "type": "string", + "location": "query" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "The maximum number of devices to return in the response. If this value\nis zero, the service will select a default size. A call may return fewer\nobjects than requested, but if there is a non-empty `page_token`, it\nindicates that more entries are available.", + "type": "integer" + }, + "parent": { + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + "location": "path", + "description": "The device registry path. Required. For example,\n`projects/my-project/locations/us-central1/registries/my-registry`.", + "type": "string", + "required": true + }, + "deviceIds": { + "repeated": true, + "location": "query", + "description": "A list of device string identifiers. If empty, it will ignore this field.\nFor example, `['device0', 'device12']`. This field cannot hold more than\n10,000 entries.", + "type": "string" + }, + "deviceNumIds": { + "repeated": true, + "location": "query", + "format": "uint64", + "description": "A list of device numerical ids. If empty, it will ignore this field. This\nfield cannot hold more than 10,000 entries.", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices", + "path": "v1beta1/{+parent}/devices", + "id": "cloudiot.projects.locations.registries.devices.list", + "description": "List devices in a device registry.", + "httpMethod": "GET", + "response": { + "$ref": "ListDevicesResponse" + }, + "parameterOrder": [ + "parent" + ] + }, + "create": { + "httpMethod": "POST", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "Device" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "parameters": { + "parent": { + "description": "The name of the device registry where this device should be created.\nFor example,\n`projects/example-project/locations/us-central1/registries/my-registry`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices", + "path": "v1beta1/{+parent}/devices", + "id": "cloudiot.projects.locations.registries.devices.create", + "request": { + "$ref": "Device" + }, + "description": "Creates a device in a device registry." + }, + "modifyCloudToDeviceConfig": { + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "DeviceConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "parameters": { + "name": { + "description": "The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}:modifyCloudToDeviceConfig", + "path": "v1beta1/{+name}:modifyCloudToDeviceConfig", + "id": "cloudiot.projects.locations.registries.devices.modifyCloudToDeviceConfig", + "request": { + "$ref": "ModifyCloudToDeviceConfigRequest" + }, + "description": "Modifies the configuration for the device, which is eventually sent from\nthe Cloud IoT servers. Returns the modified configuration version and its\nmeta-data." + }, + "publishEvent": { + "response": { + "$ref": "HttpPublishEventResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "parameters": { + "name": { + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + "location": "path", + "description": "The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0`.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}:publishEvent", + "id": "cloudiot.projects.locations.registries.devices.publishEvent", + "path": "v1beta1/{+name}:publishEvent", + "request": { + "$ref": "HttpPublishEventRequest" + }, + "description": "Publishes a telemetry event for a device." + }, + "get": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "parameters": { + "name": { + "description": "The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}", + "path": "v1beta1/{+name}", + "id": "cloudiot.projects.locations.registries.devices.get", + "description": "Gets details about a device.", + "httpMethod": "GET", + "response": { + "$ref": "Device" + }, + "parameterOrder": [ + "name" + ] + }, + "patch": { + "path": "v1beta1/{+name}", + "id": "cloudiot.projects.locations.registries.devices.patch", + "description": "Updates a device.", + "request": { + "$ref": "Device" + }, + "httpMethod": "PATCH", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Device" + }, + "parameters": { + "name": { + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + "location": "path", + "description": "The resource path name. For example,\n`projects/p1/locations/us-central1/registries/registry0/devices/dev0` or\n`projects/p1/locations/us-central1/registries/registry0/devices/{num_id}`.\nWhen `name` is populated as a response from the service, it always ends\nin the device numeric ID.", + "type": "string", + "required": true + }, + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Only updates the `device` fields indicated by this mask.\nThe field mask must not be empty, and it must not contain fields that\nare immutable or only set by the server.\nMutable top-level fields: `credentials` and `enabled_state`", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}" + }, + "setState": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}:setState", + "id": "cloudiot.projects.locations.registries.devices.setState", + "path": "v1beta1/{+name}:setState", + "description": "Sets the state of a device.", + "request": { + "$ref": "HttpSetDeviceStateRequest" + } + }, + "getConfig": { + "path": "v1beta1/{+name}/config", + "id": "cloudiot.projects.locations.registries.devices.getConfig", + "description": "Gets the configuration of a device.", + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "HttpDeviceConfig" + }, + "parameters": { + "name": { + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + "location": "path", + "description": "The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0`.", + "type": "string", + "required": true + }, + "localVersion": { + "format": "int64", + "description": "If zero, returns the current device configuration from Cloud IoT Core.\nIf nonzero, specifies the local version of the configuration on the device.\nThe server returns config data only if a higher (newer) version is\navailable from Cloud IoT Core.\nIf this value is higher than the latest version available in Cloud IoT\nCore, returns an `OUT_OF_RANGE` error.", + "type": "string", + "location": "query" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}/config" + } + }, + "resources": { + "configVersions": { + "methods": { + "list": { + "response": { + "$ref": "ListDeviceConfigVersionsResponse" + }, + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudiot" + ], + "parameters": { + "name": { + "description": "The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + "location": "path" + }, + "numVersions": { + "format": "int32", + "description": "The number of versions to list. Versions are listed in decreasing order of\nthe version number. The maximum number of versions retained is 10. If this\nvalue is zero, it will return all the versions available.", + "type": "integer", + "location": "query" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}/configVersions", + "id": "cloudiot.projects.locations.registries.devices.configVersions.list", + "path": "v1beta1/{+name}/configVersions", + "description": "Lists the last few versions of the device configuration in descending\norder (i.e.: newest first)." + } + } + } + } + } + } + } + } + } + } + } + }, + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ] + }, + "callback": { + "description": "JSONP", + "type": "string", + "location": "query" + }, + "alt": { + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ] + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, + "quotaUser": { + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string" + }, + "pp": { + "description": "Pretty-print response.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", + "location": "query" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string", + "location": "query" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", + "location": "query" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string", + "location": "query" + } + }, + "version": "v1beta1", + "baseUrl": "https://cloudiot.googleapis.com/", + "description": "Registers and manages IoT (Internet of Things) devices that connect to the Google Cloud Platform.\n", + "kind": "discovery#restDescription", + "servicePath": "" +} diff --git a/vendor/google.golang.org/api/cloudiot/v1beta1/cloudiot-gen.go b/vendor/google.golang.org/api/cloudiot/v1beta1/cloudiot-gen.go new file mode 100644 index 000000000..a5cb77f6c --- /dev/null +++ b/vendor/google.golang.org/api/cloudiot/v1beta1/cloudiot-gen.go @@ -0,0 +1,4174 @@ +// Package cloudiot provides access to the Google Cloud IoT API. +// +// See https://cloud.google.com/iot +// +// Usage example: +// +// import "google.golang.org/api/cloudiot/v1beta1" +// ... +// cloudiotService, err := cloudiot.New(oauthHttpClient) +package cloudiot // import "google.golang.org/api/cloudiot/v1beta1" + +import ( + "bytes" + "encoding/json" + "errors" + "fmt" + context "golang.org/x/net/context" + ctxhttp "golang.org/x/net/context/ctxhttp" + gensupport "google.golang.org/api/gensupport" + googleapi "google.golang.org/api/googleapi" + "io" + "net/http" + "net/url" + "strconv" + "strings" +) + +// Always reference these packages, just in case the auto-generated code +// below doesn't. +var _ = bytes.NewBuffer +var _ = strconv.Itoa +var _ = fmt.Sprintf +var _ = json.NewDecoder +var _ = io.Copy +var _ = url.Parse +var _ = gensupport.MarshalJSON +var _ = googleapi.Version +var _ = errors.New +var _ = strings.Replace +var _ = context.Canceled +var _ = ctxhttp.Do + +const apiId = "cloudiot:v1beta1" +const apiName = "cloudiot" +const apiVersion = "v1beta1" +const basePath = "https://cloudiot.googleapis.com/" + +// OAuth2 scopes used by this API. +const ( + // View and manage your data across Google Cloud Platform services + CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" + + // Register and manage devices in the Google Cloud IoT service + CloudiotScope = "https://www.googleapis.com/auth/cloudiot" +) + +func New(client *http.Client) (*Service, error) { + if client == nil { + return nil, errors.New("client is nil") + } + s := &Service{client: client, BasePath: basePath} + s.Projects = NewProjectsService(s) + return s, nil +} + +type Service struct { + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + + Projects *ProjectsService +} + +func (s *Service) userAgent() string { + if s.UserAgent == "" { + return googleapi.UserAgent + } + return googleapi.UserAgent + " " + s.UserAgent +} + +func NewProjectsService(s *Service) *ProjectsService { + rs := &ProjectsService{s: s} + rs.Locations = NewProjectsLocationsService(s) + return rs +} + +type ProjectsService struct { + s *Service + + Locations *ProjectsLocationsService +} + +func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { + rs := &ProjectsLocationsService{s: s} + rs.Registries = NewProjectsLocationsRegistriesService(s) + return rs +} + +type ProjectsLocationsService struct { + s *Service + + Registries *ProjectsLocationsRegistriesService +} + +func NewProjectsLocationsRegistriesService(s *Service) *ProjectsLocationsRegistriesService { + rs := &ProjectsLocationsRegistriesService{s: s} + rs.Devices = NewProjectsLocationsRegistriesDevicesService(s) + return rs +} + +type ProjectsLocationsRegistriesService struct { + s *Service + + Devices *ProjectsLocationsRegistriesDevicesService +} + +func NewProjectsLocationsRegistriesDevicesService(s *Service) *ProjectsLocationsRegistriesDevicesService { + rs := &ProjectsLocationsRegistriesDevicesService{s: s} + rs.ConfigVersions = NewProjectsLocationsRegistriesDevicesConfigVersionsService(s) + return rs +} + +type ProjectsLocationsRegistriesDevicesService struct { + s *Service + + ConfigVersions *ProjectsLocationsRegistriesDevicesConfigVersionsService +} + +func NewProjectsLocationsRegistriesDevicesConfigVersionsService(s *Service) *ProjectsLocationsRegistriesDevicesConfigVersionsService { + rs := &ProjectsLocationsRegistriesDevicesConfigVersionsService{s: s} + return rs +} + +type ProjectsLocationsRegistriesDevicesConfigVersionsService struct { + s *Service +} + +// AuditConfig: Specifies the audit configuration for a service. +// The configuration determines which permission types are logged, and +// what +// identities, if any, are exempted from logging. +// An AuditConfig must have one or more AuditLogConfigs. +// +// If there are AuditConfigs for both `allServices` and a specific +// service, +// the union of the two AuditConfigs is used for that service: the +// log_types +// specified in each AuditConfig are enabled, and the exempted_members +// in each +// AuditConfig are exempted. +// +// Example Policy with multiple AuditConfigs: +// +// { +// "audit_configs": [ +// { +// "service": "allServices" +// "audit_log_configs": [ +// { +// "log_type": "DATA_READ", +// "exempted_members": [ +// "user:foo@gmail.com" +// ] +// }, +// { +// "log_type": "DATA_WRITE", +// }, +// { +// "log_type": "ADMIN_READ", +// } +// ] +// }, +// { +// "service": "fooservice.googleapis.com" +// "audit_log_configs": [ +// { +// "log_type": "DATA_READ", +// }, +// { +// "log_type": "DATA_WRITE", +// "exempted_members": [ +// "user:bar@gmail.com" +// ] +// } +// ] +// } +// ] +// } +// +// For fooservice, this policy enables DATA_READ, DATA_WRITE and +// ADMIN_READ +// logging. It also exempts foo@gmail.com from DATA_READ logging, +// and +// bar@gmail.com from DATA_WRITE logging. +type AuditConfig struct { + // AuditLogConfigs: The configuration for logging of each type of + // permission. + // Next ID: 4 + AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"` + + ExemptedMembers []string `json:"exemptedMembers,omitempty"` + + // Service: Specifies a service that will be enabled for audit + // logging. + // For example, `storage.googleapis.com`, + // `cloudsql.googleapis.com`. + // `allServices` is a special value that covers all services. + Service string `json:"service,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AuditLogConfigs") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AuditConfig) MarshalJSON() ([]byte, error) { + type noMethod AuditConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AuditLogConfig: Provides the configuration for logging a type of +// permissions. +// Example: +// +// { +// "audit_log_configs": [ +// { +// "log_type": "DATA_READ", +// "exempted_members": [ +// "user:foo@gmail.com" +// ] +// }, +// { +// "log_type": "DATA_WRITE", +// } +// ] +// } +// +// This enables 'DATA_READ' and 'DATA_WRITE' logging, while +// exempting +// foo@gmail.com from DATA_READ logging. +type AuditLogConfig struct { + // ExemptedMembers: Specifies the identities that do not cause logging + // for this type of + // permission. + // Follows the same format of Binding.members. + ExemptedMembers []string `json:"exemptedMembers,omitempty"` + + // LogType: The log type that this config enables. + // + // Possible values: + // "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this. + // "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy + // "DATA_WRITE" - Data writes. Example: CloudSQL Users create + // "DATA_READ" - Data reads. Example: CloudSQL Users list + LogType string `json:"logType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ExemptedMembers") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ExemptedMembers") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AuditLogConfig) MarshalJSON() ([]byte, error) { + type noMethod AuditLogConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Binding: Associates `members` with a `role`. +type Binding struct { + // Condition: The condition that is associated with this binding. + // NOTE: an unsatisfied condition will not allow user access via + // current + // binding. Different bindings, including their conditions, are + // examined + // independently. + // This field is GOOGLE_INTERNAL. + Condition *Expr `json:"condition,omitempty"` + + // Members: Specifies the identities requesting access for a Cloud + // Platform resource. + // `members` can have the following values: + // + // * `allUsers`: A special identifier that represents anyone who is + // on the internet; with or without a Google account. + // + // * `allAuthenticatedUsers`: A special identifier that represents + // anyone + // who is authenticated with a Google account or a service + // account. + // + // * `user:{emailid}`: An email address that represents a specific + // Google + // account. For example, `alice@gmail.com` or `joe@example.com`. + // + // + // * `serviceAccount:{emailid}`: An email address that represents a + // service + // account. For example, + // `my-other-app@appspot.gserviceaccount.com`. + // + // * `group:{emailid}`: An email address that represents a Google + // group. + // For example, `admins@example.com`. + // + // + // * `domain:{domain}`: A Google Apps domain name that represents all + // the + // users of that domain. For example, `google.com` or + // `example.com`. + // + // + Members []string `json:"members,omitempty"` + + // Role: Role that is assigned to `members`. + // For example, `roles/viewer`, `roles/editor`, or + // `roles/owner`. + // Required + Role string `json:"role,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Condition") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Condition") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Binding) MarshalJSON() ([]byte, error) { + type noMethod Binding + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Device: The device resource. +type Device struct { + // Config: The most recent device configuration, which is eventually + // sent from the + // Cloud IoT Core service to the device. If not present on creation, + // the + // configuration will be initialized with an empty payload and version + // value + // of `1`. To update this field after creation, use + // the + // `DeviceManager.ModifyCloudToDeviceConfig` method. + Config *DeviceConfig `json:"config,omitempty"` + + // Credentials: The credentials used to authenticate this device. To + // allow credential + // rotation without interruption, multiple device credentials can be + // bound to + // this device. No more than 3 credentials can be bound to a single + // device at + // a time. + Credentials []*DeviceCredential `json:"credentials,omitempty"` + + // EnabledState: If a device is disabled, communication from it will be + // blocked. Can be used + // to temporarily prevent the device from connecting if, for example, + // the + // sensor is generating bad data and needs maintenance. + // + // Possible values: + // "UNSPECIFIED_ENABLED_STATE" - No enabled state specified. If not + // specified, defaults to enabled + // (communication to Cloud IoT Core allowed). + // "DEVICE_ENABLED" - Enables a device. By default, devices are + // enabled, allowing communication + // from the device to Cloud IoT Core. When a device is disabled, it is + // blocked + // from communicating with Cloud IoT Core. + // "DEVICE_DISABLED" - Disables a device, blocking all communication + // from it to Cloud IoT Core. + EnabledState string `json:"enabledState,omitempty"` + + // Id: The user-defined device identifier. The device ID must be + // unique + // within a device registry. + Id string `json:"id,omitempty"` + + // LastConfigAckTime: [Output only] The last time a cloud-to-device + // config version acknowledgment + // was received from the device. + LastConfigAckTime string `json:"lastConfigAckTime,omitempty"` + + // LastErrorStatus: [Output only] The error message of the last error, + // e.g., failed to publish + // to Cloud Pub/Sub. 'last_error_time' is the timestamp of this field. + // If no + // errors are present, this will have an empty message (whose status + // code is + // 0 == OK), otherwise this field is expected to have a not-OK status + // code. + LastErrorStatus *Status `json:"lastErrorStatus,omitempty"` + + // LastErrorTime: [Output only] The last time an error happened, e.g., + // failed to publish to + // Cloud Pub/Sub. This field is the timestamp of 'last_error_status'. + LastErrorTime string `json:"lastErrorTime,omitempty"` + + // LastEventTime: [Output only] The last time an event was received. + // Timestamps are + // periodically collected and written to storage; they may be stale by a + // few + // minutes. + LastEventTime string `json:"lastEventTime,omitempty"` + + // LastHeartbeatTime: [Output only] The last time a heartbeat was + // received. Timestamps are + // periodically collected and written to storage; they may be stale by a + // few + // minutes. + LastHeartbeatTime string `json:"lastHeartbeatTime,omitempty"` + + // Name: The resource path name. For + // example, + // `projects/p1/locations/us-central1/registries/registry0/devic + // es/dev0` + // or + // `projects/p1/locations/us-central1/registries/registry0/devices/{nu + // m_id}`. + // When `name` is populated as a response from the service, it always + // ends + // in the device numeric ID. + Name string `json:"name,omitempty"` + + // NumId: [Output only] A server-defined unique numeric ID for the + // device. This is a + // more compact way to identify devices, and it is globally unique. + NumId uint64 `json:"numId,omitempty,string"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Config") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Config") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Device) MarshalJSON() ([]byte, error) { + type noMethod Device + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DeviceConfig: The device configuration and its metadata. Eventually +// delivered to devices. +type DeviceConfig struct { + // CloudUpdateTime: [Output only] The time when this version state was + // updated in the Cloud IoT + // Core service. This timestamp is set by the server. + CloudUpdateTime string `json:"cloudUpdateTime,omitempty"` + + // Data: The device configuration data. + Data *DeviceConfigData `json:"data,omitempty"` + + // DeviceAckTime: [Output only] The time when the Cloud IoT Core server + // received the + // acknowledgment from the device, indicating that the device has + // received + // this configuration version. If this field is not present, the device + // has + // not yet acknowledged that it received this version. Note that when + // sending + // the config to the device, there may have been many config versions on + // the + // Cloud IoT Core service while the device was disconnected; and + // on + // connection, only the latest version is sent to the device. Some of + // the + // versions may never be sent to the device, and therefore are + // never + // acknowledged. This timestamp is set by the Cloud IoT Core service. + DeviceAckTime string `json:"deviceAckTime,omitempty"` + + // Version: [Output only] The version of this update. The version number + // is assigned by + // the server, and is always greater than zero after device creation. + // The + // version must be zero on the `CreateDevice` request if a `config` + // is + // specified; the response of `CreateDevice` will always have a value of + // one. + Version int64 `json:"version,omitempty,string"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "CloudUpdateTime") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CloudUpdateTime") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *DeviceConfig) MarshalJSON() ([]byte, error) { + type noMethod DeviceConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DeviceConfigData: The data for a device configuration. Only binary +// data is currently supported. +type DeviceConfigData struct { + // BinaryData: The configuration sent to the device, as bytes. + BinaryData string `json:"binaryData,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BinaryData") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BinaryData") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DeviceConfigData) MarshalJSON() ([]byte, error) { + type noMethod DeviceConfigData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DeviceCredential: A server-stored device credential used for +// authentication. +type DeviceCredential struct { + // ExpirationTime: [Optional] The time at which this credential becomes + // invalid. This + // credential will be ignored for new client authentication requests + // after + // this timestamp; however, it will not be automatically deleted. + ExpirationTime string `json:"expirationTime,omitempty"` + + // PublicKey: A public key used to verify the signature of JSON Web + // Tokens (JWTs). + PublicKey *PublicKeyCredential `json:"publicKey,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ExpirationTime") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ExpirationTime") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *DeviceCredential) MarshalJSON() ([]byte, error) { + type noMethod DeviceCredential + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DeviceRegistry: A container for a group of devices. +type DeviceRegistry struct { + // EventNotificationConfig: Configuration to notify events received from + // the device. + EventNotificationConfig *NotificationConfig `json:"eventNotificationConfig,omitempty"` + + // Id: The identifier of this device registry. For example, + // `myRegistry`. + Id string `json:"id,omitempty"` + + // MqttConfig: The configuration of the MQTT broker associated with this + // device registry, + // including enablement, payload data format type, etc. + MqttConfig *MqttConfig `json:"mqttConfig,omitempty"` + + // Name: The resource path name. For + // example, + // `projects/example-project/locations/us-central1/registries/my + // -registry`. + Name string `json:"name,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. + // "EventNotificationConfig") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "EventNotificationConfig") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *DeviceRegistry) MarshalJSON() ([]byte, error) { + type noMethod DeviceRegistry + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Empty: A generic empty message that you can re-use to avoid defining +// duplicated +// empty messages in your APIs. A typical example is to use it as the +// request +// or the response type of an API method. For instance: +// +// service Foo { +// rpc Bar(google.protobuf.Empty) returns +// (google.protobuf.Empty); +// } +// +// The JSON representation for `Empty` is empty JSON object `{}`. +type Empty struct { + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` +} + +// Expr: Represents an expression text. Example: +// +// title: "User account presence" +// description: "Determines whether the request has a user account" +// expression: "size(request.user) > 0" +type Expr struct { + // Description: An optional description of the expression. This is a + // longer text which + // describes the expression, e.g. when hovered over it in a UI. + Description string `json:"description,omitempty"` + + // Expression: Textual representation of an expression in + // Common Expression Language syntax. + // + // The application context of the containing message determines + // which + // well-known feature set of CEL is supported. + Expression string `json:"expression,omitempty"` + + // Location: An optional string indicating the location of the + // expression for error + // reporting, e.g. a file name and a position in the file. + Location string `json:"location,omitempty"` + + // Title: An optional title for the expression, i.e. a short string + // describing + // its purpose. This can be used e.g. in UIs which allow to enter + // the + // expression. + Title string `json:"title,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Description") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Expr) MarshalJSON() ([]byte, error) { + type noMethod Expr + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GetIamPolicyRequest: Request message for `GetIamPolicy` method. +type GetIamPolicyRequest struct { +} + +// HttpDeviceConfig: The device configuration obtained from Cloud IoT +// Core. +type HttpDeviceConfig struct { + // BinaryData: Data in binary format. + BinaryData string `json:"binaryData,omitempty"` + + // Version: The version of the configuration in Cloud IoT Core. + Version int64 `json:"version,omitempty,string"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "BinaryData") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BinaryData") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HttpDeviceConfig) MarshalJSON() ([]byte, error) { + type noMethod HttpDeviceConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// HttpDeviceState: The device state reported to Cloud IoT Core. +type HttpDeviceState struct { + // BinaryData: Data in binary format. + BinaryData string `json:"binaryData,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BinaryData") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BinaryData") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HttpDeviceState) MarshalJSON() ([]byte, error) { + type noMethod HttpDeviceState + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// HttpPublishEventRequest: Request for `PublishEvent`. +type HttpPublishEventRequest struct { + // BinaryData: Payload data in binary format. + BinaryData string `json:"binaryData,omitempty"` + + // SubFolder: Optional subfolder for the telemetry event. This can be + // used to classify + // types of events, and is included in the Pub/Sub message attributes. + SubFolder string `json:"subFolder,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BinaryData") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BinaryData") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HttpPublishEventRequest) MarshalJSON() ([]byte, error) { + type noMethod HttpPublishEventRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// HttpPublishEventResponse: Response for `PublishEvent`. +type HttpPublishEventResponse struct { + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` +} + +// HttpSetDeviceStateRequest: Request for `SetDeviceState`. +type HttpSetDeviceStateRequest struct { + // State: The device state. + State *HttpDeviceState `json:"state,omitempty"` + + // ForceSendFields is a list of field names (e.g. "State") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HttpSetDeviceStateRequest) MarshalJSON() ([]byte, error) { + type noMethod HttpSetDeviceStateRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListDeviceConfigVersionsResponse: Response for +// `ListDeviceConfigVersions`. +type ListDeviceConfigVersionsResponse struct { + // DeviceConfigs: The device configuration for the last few versions. + // Versions are listed + // in decreasing order, starting from the most recent one. + DeviceConfigs []*DeviceConfig `json:"deviceConfigs,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "DeviceConfigs") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DeviceConfigs") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListDeviceConfigVersionsResponse) MarshalJSON() ([]byte, error) { + type noMethod ListDeviceConfigVersionsResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListDeviceRegistriesResponse: Response for `ListDeviceRegistries`. +type ListDeviceRegistriesResponse struct { + // DeviceRegistries: The registries that matched the query. + DeviceRegistries []*DeviceRegistry `json:"deviceRegistries,omitempty"` + + // NextPageToken: If not empty, indicates that there may be more + // registries that match the + // request; this value should be passed in a + // new + // `ListDeviceRegistriesRequest`. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "DeviceRegistries") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DeviceRegistries") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *ListDeviceRegistriesResponse) MarshalJSON() ([]byte, error) { + type noMethod ListDeviceRegistriesResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListDevicesResponse: Response for `ListDevices`. +type ListDevicesResponse struct { + // Devices: The devices that match the request. + Devices []*Device `json:"devices,omitempty"` + + // NextPageToken: If not empty, indicates that there may be more devices + // that match the + // request; this value should be passed in a new `ListDevicesRequest`. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Devices") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Devices") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListDevicesResponse) MarshalJSON() ([]byte, error) { + type noMethod ListDevicesResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ModifyCloudToDeviceConfigRequest: Request for +// `ModifyCloudToDeviceConfig`. +type ModifyCloudToDeviceConfigRequest struct { + // Data: The configuration data for the device. + Data *DeviceConfigData `json:"data,omitempty"` + + // VersionToUpdate: The version number to update. If this value is zero, + // it will not check the + // version number of the server and will always update the current + // version; + // otherwise, this update will fail if the version number found on the + // server + // does not match this version number. This is used to support + // multiple + // simultaneous updates without losing data. + VersionToUpdate int64 `json:"versionToUpdate,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "Data") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Data") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ModifyCloudToDeviceConfigRequest) MarshalJSON() ([]byte, error) { + type noMethod ModifyCloudToDeviceConfigRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// MqttConfig: The configuration of MQTT for a device registry. +type MqttConfig struct { + // MqttConfigState: If enabled, allows connections using the MQTT + // protocol. Otherwise any MQTT + // connection to this registry will fail. + // + // Possible values: + // "UNSPECIFIED_MQTT_STATE" - No MQTT state specified. If not + // specified, MQTT will be enabled by default. + // "MQTT_ENABLED" - Enables a MQTT connection. + // "MQTT_DISABLED" - Disables a MQTT connection. + MqttConfigState string `json:"mqttConfigState,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MqttConfigState") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "MqttConfigState") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *MqttConfig) MarshalJSON() ([]byte, error) { + type noMethod MqttConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// NotificationConfig: Configuration to forward messages such as +// telemetry events. +type NotificationConfig struct { + // PubsubTopicName: A Cloud Pub/Sub topic name. For + // example, + // `projects/myProject/topics/deviceEvents`. + PubsubTopicName string `json:"pubsubTopicName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PubsubTopicName") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "PubsubTopicName") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *NotificationConfig) MarshalJSON() ([]byte, error) { + type noMethod NotificationConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Policy: Defines an Identity and Access Management (IAM) policy. It is +// used to +// specify access control policies for Cloud Platform resources. +// +// +// A `Policy` consists of a list of `bindings`. A `Binding` binds a list +// of +// `members` to a `role`, where the members can be user accounts, Google +// groups, +// Google domains, and service accounts. A `role` is a named list of +// permissions +// defined by IAM. +// +// **Example** +// +// { +// "bindings": [ +// { +// "role": "roles/owner", +// "members": [ +// "user:mike@example.com", +// "group:admins@example.com", +// "domain:google.com", +// +// "serviceAccount:my-other-app@appspot.gserviceaccount.com", +// ] +// }, +// { +// "role": "roles/viewer", +// "members": ["user:sean@example.com"] +// } +// ] +// } +// +// For a description of IAM and its features, see the +// [IAM developer's guide](https://cloud.google.com/iam). +type Policy struct { + // AuditConfigs: Specifies cloud audit logging configuration for this + // policy. + AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"` + + // Bindings: Associates a list of `members` to a `role`. + // `bindings` with no members will result in an error. + Bindings []*Binding `json:"bindings,omitempty"` + + // Etag: `etag` is used for optimistic concurrency control as a way to + // help + // prevent simultaneous updates of a policy from overwriting each + // other. + // It is strongly suggested that systems make use of the `etag` in + // the + // read-modify-write cycle to perform policy updates in order to avoid + // race + // conditions: An `etag` is returned in the response to `getIamPolicy`, + // and + // systems are expected to put that etag in the request to + // `setIamPolicy` to + // ensure that their change will be applied to the same version of the + // policy. + // + // If no `etag` is provided in the call to `setIamPolicy`, then the + // existing + // policy is overwritten blindly. + Etag string `json:"etag,omitempty"` + + IamOwned bool `json:"iamOwned,omitempty"` + + // Version: Version of the `Policy`. The default version is 0. + Version int64 `json:"version,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "AuditConfigs") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AuditConfigs") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Policy) MarshalJSON() ([]byte, error) { + type noMethod Policy + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PublicKeyCredential: A public key format and data. +type PublicKeyCredential struct { + // Format: The format of the key. + // + // Possible values: + // "UNSPECIFIED_PUBLIC_KEY_FORMAT" - The format has not been + // specified. This is an invalid default value and + // must not be used. + // "RSA_X509_PEM" - An RSA public key wrapped in a X.509v3 + // certificate + // [RFC5280](https://www.ietf.org/rfc/rfc5280.txt), encoded in base64, + // and + // wrapped by `-----BEGIN CERTIFICATE-----` and `-----END + // CERTIFICATE-----`. + // This can be used to verify `RS256` signatures in JWT + // tokens + // [RFC7518](https://www.ietf.org/rfc/rfc7518.txt). + // "ES256_PEM" - Public key for the ECDSA algorithm using P-256 and + // SHA-256, encoded in + // base64, and wrapped by `-----BEGIN PUBLIC KEY-----` and + // `-----END + // PUBLIC KEY-----`. This can be used to verify JWT tokens with the + // `ES256` + // algorithm [RFC7518](https://www.ietf.org/rfc/rfc7518.txt). This curve + // is + // defined in [openssl](https://www.openssl.org/) as the `prime256v1` + // curve. + Format string `json:"format,omitempty"` + + // Key: The key data. + Key string `json:"key,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Format") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Format") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *PublicKeyCredential) MarshalJSON() ([]byte, error) { + type noMethod PublicKeyCredential + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SetIamPolicyRequest: Request message for `SetIamPolicy` method. +type SetIamPolicyRequest struct { + // 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 a + // valid policy but certain Cloud Platform services (such as + // Projects) + // might reject them. + Policy *Policy `json:"policy,omitempty"` + + // UpdateMask: OPTIONAL: A FieldMask specifying which fields of the + // policy to modify. Only + // the fields in the mask will be modified. If no mask is provided, + // the + // following default mask is used: + // paths: "bindings, etag" + // This field is only used by Cloud IAM. + UpdateMask string `json:"updateMask,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Policy") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Policy") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) { + type noMethod SetIamPolicyRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Status: The `Status` type defines a logical error model that is +// suitable for different +// programming environments, including REST APIs and RPC APIs. It is +// used by +// [gRPC](https://github.com/grpc). The error model is designed to +// be: +// +// - Simple to use and understand for most users +// - Flexible enough to meet unexpected needs +// +// # Overview +// +// The `Status` message contains three pieces of data: error code, error +// message, +// and error details. The error code should be an enum value +// of +// google.rpc.Code, but it may accept additional error codes if needed. +// The +// error message should be a developer-facing English message that +// helps +// developers *understand* and *resolve* the error. If a localized +// user-facing +// error message is needed, put the localized message in the error +// details or +// localize it in the client. The optional error details may contain +// arbitrary +// information about the error. There is a predefined set of error +// detail types +// in the package `google.rpc` that can be used for common error +// conditions. +// +// # Language mapping +// +// The `Status` message is the logical representation of the error +// model, but it +// is not necessarily the actual wire format. When the `Status` message +// is +// exposed in different client libraries and different wire protocols, +// it can be +// mapped differently. For example, it will likely be mapped to some +// exceptions +// in Java, but more likely mapped to some error codes in C. +// +// # Other uses +// +// The error model and the `Status` message can be used in a variety +// of +// environments, either with or without APIs, to provide a +// consistent developer experience across different +// environments. +// +// Example uses of this error model include: +// +// - Partial errors. If a service needs to return partial errors to the +// client, +// it may embed the `Status` in the normal response to indicate the +// partial +// errors. +// +// - Workflow errors. A typical workflow has multiple steps. Each step +// may +// have a `Status` message for error reporting. +// +// - Batch operations. If a client uses batch request and batch +// response, the +// `Status` message should be used directly inside batch response, +// one for +// each error sub-response. +// +// - Asynchronous operations. If an API call embeds asynchronous +// operation +// results in its response, the status of those operations should +// be +// represented directly using the `Status` message. +// +// - Logging. If some API errors are stored in logs, the message +// `Status` could +// be used directly after any stripping needed for security/privacy +// reasons. +type Status struct { + // Code: The status code, which should be an enum value of + // google.rpc.Code. + Code int64 `json:"code,omitempty"` + + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. + Details []googleapi.RawMessage `json:"details,omitempty"` + + // Message: A developer-facing error message, which should be in + // English. Any + // user-facing error message should be localized and sent in + // the + // google.rpc.Status.details field, or localized by the client. + 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Status) MarshalJSON() ([]byte, error) { + type noMethod Status + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// TestIamPermissionsRequest: Request message for `TestIamPermissions` +// method. +type TestIamPermissionsRequest struct { + // Permissions: The set of permissions to check for the `resource`. + // Permissions with + // wildcards (such as '*' or 'storage.*') are not allowed. For + // more + // information see + // [IAM + // Overview](https://cloud.google.com/iam/docs/overview#permissions). + Permissions []string `json:"permissions,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Permissions") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Permissions") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) { + type noMethod TestIamPermissionsRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// TestIamPermissionsResponse: Response message for `TestIamPermissions` +// method. +type TestIamPermissionsResponse struct { + // Permissions: A subset of `TestPermissionsRequest.permissions` that + // the caller is + // allowed. + Permissions []string `json:"permissions,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Permissions") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Permissions") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) { + type noMethod TestIamPermissionsResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// method id "cloudiot.projects.locations.registries.create": + +type ProjectsLocationsRegistriesCreateCall struct { + s *Service + parent string + deviceregistry *DeviceRegistry + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a device registry that contains devices. +func (r *ProjectsLocationsRegistriesService) Create(parent string, deviceregistry *DeviceRegistry) *ProjectsLocationsRegistriesCreateCall { + c := &ProjectsLocationsRegistriesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.deviceregistry = deviceregistry + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesCreateCall) Context(ctx context.Context) *ProjectsLocationsRegistriesCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.deviceregistry) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/registries") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.create" call. +// Exactly one of *DeviceRegistry or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *DeviceRegistry.ServerResponse.Header or (if a response was returned +// at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsRegistriesCreateCall) Do(opts ...googleapi.CallOption) (*DeviceRegistry, 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, &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, err + } + ret := &DeviceRegistry{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a device registry that contains devices.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries", + // "httpMethod": "POST", + // "id": "cloudiot.projects.locations.registries.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "The project and cloud region where this device registry must be created.\nFor example, `projects/example-project/locations/us-central1`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+parent}/registries", + // "request": { + // "$ref": "DeviceRegistry" + // }, + // "response": { + // "$ref": "DeviceRegistry" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// method id "cloudiot.projects.locations.registries.delete": + +type ProjectsLocationsRegistriesDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a device registry configuration. +func (r *ProjectsLocationsRegistriesService) Delete(name string) *ProjectsLocationsRegistriesDeleteCall { + c := &ProjectsLocationsRegistriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesDeleteCall) Context(ctx context.Context) *ProjectsLocationsRegistriesDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsRegistriesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes a device registry configuration.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}", + // "httpMethod": "DELETE", + // "id": "cloudiot.projects.locations.registries.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the device registry. For example,\n`projects/example-project/locations/us-central1/registries/my-registry`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// method id "cloudiot.projects.locations.registries.get": + +type ProjectsLocationsRegistriesGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets a device registry configuration. +func (r *ProjectsLocationsRegistriesService) Get(name string) *ProjectsLocationsRegistriesGetCall { + c := &ProjectsLocationsRegistriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsRegistriesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsRegistriesGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesGetCall) Context(ctx context.Context) *ProjectsLocationsRegistriesGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.get" call. +// Exactly one of *DeviceRegistry or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *DeviceRegistry.ServerResponse.Header or (if a response was returned +// at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsRegistriesGetCall) Do(opts ...googleapi.CallOption) (*DeviceRegistry, 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, &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, err + } + ret := &DeviceRegistry{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets a device registry configuration.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}", + // "httpMethod": "GET", + // "id": "cloudiot.projects.locations.registries.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the device registry. For example,\n`projects/example-project/locations/us-central1/registries/my-registry`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}", + // "response": { + // "$ref": "DeviceRegistry" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// method id "cloudiot.projects.locations.registries.getIamPolicy": + +type ProjectsLocationsRegistriesGetIamPolicyCall struct { + s *Service + resource string + getiampolicyrequest *GetIamPolicyRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// GetIamPolicy: Gets the access control policy for a resource. +// Returns an empty policy if the resource exists and does not have a +// policy +// set. +func (r *ProjectsLocationsRegistriesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsRegistriesGetIamPolicyCall { + c := &ProjectsLocationsRegistriesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.getiampolicyrequest = getiampolicyrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesGetIamPolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsRegistriesGetIamPolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesGetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.getIamPolicy" call. +// Exactly one of *Policy or error will be non-nil. 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 *ProjectsLocationsRegistriesGetIamPolicyCall) 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, &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, err + } + ret := &Policy{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:getIamPolicy", + // "httpMethod": "POST", + // "id": "cloudiot.projects.locations.registries.getIamPolicy", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+resource}:getIamPolicy", + // "request": { + // "$ref": "GetIamPolicyRequest" + // }, + // "response": { + // "$ref": "Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// method id "cloudiot.projects.locations.registries.list": + +type ProjectsLocationsRegistriesListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists device registries. +func (r *ProjectsLocationsRegistriesService) List(parent string) *ProjectsLocationsRegistriesListCall { + c := &ProjectsLocationsRegistriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": The maximum number +// of registries to return in the response. If this value +// is zero, the service will select a default size. A call may return +// fewer +// objects than requested, but if there is a non-empty `page_token`, +// it +// indicates that more entries are available. +func (c *ProjectsLocationsRegistriesListCall) PageSize(pageSize int64) *ProjectsLocationsRegistriesListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The value returned +// by the last `ListDeviceRegistriesResponse`; indicates +// that this is a continuation of a prior `ListDeviceRegistries` call, +// and +// that the system should return the next page of data. +func (c *ProjectsLocationsRegistriesListCall) PageToken(pageToken string) *ProjectsLocationsRegistriesListCall { + 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 information. +func (c *ProjectsLocationsRegistriesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsRegistriesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsRegistriesListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesListCall) Context(ctx context.Context) *ProjectsLocationsRegistriesListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/registries") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.list" call. +// Exactly one of *ListDeviceRegistriesResponse or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *ListDeviceRegistriesResponse.ServerResponse.Header or (if a +// response was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsRegistriesListCall) Do(opts ...googleapi.CallOption) (*ListDeviceRegistriesResponse, 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, &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, err + } + ret := &ListDeviceRegistriesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists device registries.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries", + // "httpMethod": "GET", + // "id": "cloudiot.projects.locations.registries.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "pageSize": { + // "description": "The maximum number of registries to return in the response. If this value\nis zero, the service will select a default size. A call may return fewer\nobjects than requested, but if there is a non-empty `page_token`, it\nindicates that more entries are available.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "The value returned by the last `ListDeviceRegistriesResponse`; indicates\nthat this is a continuation of a prior `ListDeviceRegistries` call, and\nthat the system should return the next page of data.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "The project and cloud region path. For example,\n`projects/example-project/locations/us-central1`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+parent}/registries", + // "response": { + // "$ref": "ListDeviceRegistriesResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// 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 *ProjectsLocationsRegistriesListCall) Pages(ctx context.Context, f func(*ListDeviceRegistriesResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "cloudiot.projects.locations.registries.patch": + +type ProjectsLocationsRegistriesPatchCall struct { + s *Service + name string + deviceregistry *DeviceRegistry + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates a device registry configuration. +func (r *ProjectsLocationsRegistriesService) Patch(name string, deviceregistry *DeviceRegistry) *ProjectsLocationsRegistriesPatchCall { + c := &ProjectsLocationsRegistriesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.deviceregistry = deviceregistry + return c +} + +// UpdateMask sets the optional parameter "updateMask": Only updates the +// `device_registry` fields indicated by this mask. +// The field mask must not be empty, and it must not contain fields +// that +// are immutable or only set by the server. +// Mutable top-level fields: `event_notification_config` and +// `mqtt_config` +func (c *ProjectsLocationsRegistriesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsRegistriesPatchCall { + 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 information. +func (c *ProjectsLocationsRegistriesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesPatchCall) Context(ctx context.Context) *ProjectsLocationsRegistriesPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.deviceregistry) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.patch" call. +// Exactly one of *DeviceRegistry or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *DeviceRegistry.ServerResponse.Header or (if a response was returned +// at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsRegistriesPatchCall) Do(opts ...googleapi.CallOption) (*DeviceRegistry, 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, &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, err + } + ret := &DeviceRegistry{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates a device registry configuration.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}", + // "httpMethod": "PATCH", + // "id": "cloudiot.projects.locations.registries.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The resource path name. For example,\n`projects/example-project/locations/us-central1/registries/my-registry`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Only updates the `device_registry` fields indicated by this mask.\nThe field mask must not be empty, and it must not contain fields that\nare immutable or only set by the server.\nMutable top-level fields: `event_notification_config` and `mqtt_config`", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}", + // "request": { + // "$ref": "DeviceRegistry" + // }, + // "response": { + // "$ref": "DeviceRegistry" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// method id "cloudiot.projects.locations.registries.setIamPolicy": + +type ProjectsLocationsRegistriesSetIamPolicyCall struct { + s *Service + resource string + setiampolicyrequest *SetIamPolicyRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetIamPolicy: Sets the access control policy on the specified +// resource. Replaces any +// existing policy. +func (r *ProjectsLocationsRegistriesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsRegistriesSetIamPolicyCall { + c := &ProjectsLocationsRegistriesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.setiampolicyrequest = setiampolicyrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesSetIamPolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsRegistriesSetIamPolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesSetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.setIamPolicy" call. +// Exactly one of *Policy or error will be non-nil. 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 *ProjectsLocationsRegistriesSetIamPolicyCall) 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, &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, err + } + ret := &Policy{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:setIamPolicy", + // "httpMethod": "POST", + // "id": "cloudiot.projects.locations.registries.setIamPolicy", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+resource}:setIamPolicy", + // "request": { + // "$ref": "SetIamPolicyRequest" + // }, + // "response": { + // "$ref": "Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// method id "cloudiot.projects.locations.registries.testIamPermissions": + +type ProjectsLocationsRegistriesTestIamPermissionsCall struct { + s *Service + resource string + testiampermissionsrequest *TestIamPermissionsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// TestIamPermissions: Returns permissions that a caller has on the +// specified resource. +// If the resource does not exist, this will return an empty set +// of +// permissions, not a NOT_FOUND error. +func (r *ProjectsLocationsRegistriesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsRegistriesTestIamPermissionsCall { + c := &ProjectsLocationsRegistriesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.testiampermissionsrequest = testiampermissionsrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesTestIamPermissionsCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsRegistriesTestIamPermissionsCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesTestIamPermissionsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.testIamPermissions" call. +// Exactly one of *TestIamPermissionsResponse or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *TestIamPermissionsResponse.ServerResponse.Header or (if a response +// was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsRegistriesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, 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, &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, err + } + ret := &TestIamPermissionsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:testIamPermissions", + // "httpMethod": "POST", + // "id": "cloudiot.projects.locations.registries.testIamPermissions", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+resource}:testIamPermissions", + // "request": { + // "$ref": "TestIamPermissionsRequest" + // }, + // "response": { + // "$ref": "TestIamPermissionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// method id "cloudiot.projects.locations.registries.devices.create": + +type ProjectsLocationsRegistriesDevicesCreateCall struct { + s *Service + parent string + device *Device + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a device in a device registry. +func (r *ProjectsLocationsRegistriesDevicesService) Create(parent string, device *Device) *ProjectsLocationsRegistriesDevicesCreateCall { + c := &ProjectsLocationsRegistriesDevicesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.device = device + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesDevicesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesDevicesCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesDevicesCreateCall) Context(ctx context.Context) *ProjectsLocationsRegistriesDevicesCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesDevicesCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesDevicesCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.device) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/devices") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.devices.create" call. +// Exactly one of *Device or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Device.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsRegistriesDevicesCreateCall) Do(opts ...googleapi.CallOption) (*Device, 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, &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, err + } + ret := &Device{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a device in a device registry.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices", + // "httpMethod": "POST", + // "id": "cloudiot.projects.locations.registries.devices.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "The name of the device registry where this device should be created.\nFor example,\n`projects/example-project/locations/us-central1/registries/my-registry`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+parent}/devices", + // "request": { + // "$ref": "Device" + // }, + // "response": { + // "$ref": "Device" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// method id "cloudiot.projects.locations.registries.devices.delete": + +type ProjectsLocationsRegistriesDevicesDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a device. +func (r *ProjectsLocationsRegistriesDevicesService) Delete(name string) *ProjectsLocationsRegistriesDevicesDeleteCall { + c := &ProjectsLocationsRegistriesDevicesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesDevicesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesDevicesDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesDevicesDeleteCall) Context(ctx context.Context) *ProjectsLocationsRegistriesDevicesDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesDevicesDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesDevicesDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.devices.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsRegistriesDevicesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes a device.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}", + // "httpMethod": "DELETE", + // "id": "cloudiot.projects.locations.registries.devices.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// method id "cloudiot.projects.locations.registries.devices.get": + +type ProjectsLocationsRegistriesDevicesGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets details about a device. +func (r *ProjectsLocationsRegistriesDevicesService) Get(name string) *ProjectsLocationsRegistriesDevicesGetCall { + c := &ProjectsLocationsRegistriesDevicesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesDevicesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesDevicesGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsRegistriesDevicesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsRegistriesDevicesGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesDevicesGetCall) Context(ctx context.Context) *ProjectsLocationsRegistriesDevicesGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesDevicesGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesDevicesGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.devices.get" call. +// Exactly one of *Device or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Device.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsRegistriesDevicesGetCall) Do(opts ...googleapi.CallOption) (*Device, 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, &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, err + } + ret := &Device{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets details about a device.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}", + // "httpMethod": "GET", + // "id": "cloudiot.projects.locations.registries.devices.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}", + // "response": { + // "$ref": "Device" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// method id "cloudiot.projects.locations.registries.devices.getConfig": + +type ProjectsLocationsRegistriesDevicesGetConfigCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// GetConfig: Gets the configuration of a device. +func (r *ProjectsLocationsRegistriesDevicesService) GetConfig(name string) *ProjectsLocationsRegistriesDevicesGetConfigCall { + c := &ProjectsLocationsRegistriesDevicesGetConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// LocalVersion sets the optional parameter "localVersion": If zero, +// returns the current device configuration from Cloud IoT Core. +// If nonzero, specifies the local version of the configuration on the +// device. +// The server returns config data only if a higher (newer) version +// is +// available from Cloud IoT Core. +// If this value is higher than the latest version available in Cloud +// IoT +// Core, returns an `OUT_OF_RANGE` error. +func (c *ProjectsLocationsRegistriesDevicesGetConfigCall) LocalVersion(localVersion int64) *ProjectsLocationsRegistriesDevicesGetConfigCall { + c.urlParams_.Set("localVersion", fmt.Sprint(localVersion)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesDevicesGetConfigCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesDevicesGetConfigCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsRegistriesDevicesGetConfigCall) IfNoneMatch(entityTag string) *ProjectsLocationsRegistriesDevicesGetConfigCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesDevicesGetConfigCall) Context(ctx context.Context) *ProjectsLocationsRegistriesDevicesGetConfigCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesDevicesGetConfigCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesDevicesGetConfigCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/config") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.devices.getConfig" call. +// Exactly one of *HttpDeviceConfig or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *HttpDeviceConfig.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsRegistriesDevicesGetConfigCall) Do(opts ...googleapi.CallOption) (*HttpDeviceConfig, 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, &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, err + } + ret := &HttpDeviceConfig{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the configuration of a device.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}/config", + // "httpMethod": "GET", + // "id": "cloudiot.projects.locations.registries.devices.getConfig", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "localVersion": { + // "description": "If zero, returns the current device configuration from Cloud IoT Core.\nIf nonzero, specifies the local version of the configuration on the device.\nThe server returns config data only if a higher (newer) version is\navailable from Cloud IoT Core.\nIf this value is higher than the latest version available in Cloud IoT\nCore, returns an `OUT_OF_RANGE` error.", + // "format": "int64", + // "location": "query", + // "type": "string" + // }, + // "name": { + // "description": "The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}/config", + // "response": { + // "$ref": "HttpDeviceConfig" + // } + // } + +} + +// method id "cloudiot.projects.locations.registries.devices.list": + +type ProjectsLocationsRegistriesDevicesListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: List devices in a device registry. +func (r *ProjectsLocationsRegistriesDevicesService) List(parent string) *ProjectsLocationsRegistriesDevicesListCall { + c := &ProjectsLocationsRegistriesDevicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// DeviceIds sets the optional parameter "deviceIds": A list of device +// string identifiers. If empty, it will ignore this field. +// For example, `['device0', 'device12']`. This field cannot hold more +// than +// 10,000 entries. +func (c *ProjectsLocationsRegistriesDevicesListCall) DeviceIds(deviceIds ...string) *ProjectsLocationsRegistriesDevicesListCall { + c.urlParams_.SetMulti("deviceIds", append([]string{}, deviceIds...)) + return c +} + +// DeviceNumIds sets the optional parameter "deviceNumIds": A list of +// device numerical ids. If empty, it will ignore this field. This +// field cannot hold more than 10,000 entries. +func (c *ProjectsLocationsRegistriesDevicesListCall) DeviceNumIds(deviceNumIds ...uint64) *ProjectsLocationsRegistriesDevicesListCall { + var deviceNumIds_ []string + for _, v := range deviceNumIds { + deviceNumIds_ = append(deviceNumIds_, fmt.Sprint(v)) + } + c.urlParams_.SetMulti("deviceNumIds", deviceNumIds_) + return c +} + +// FieldMask sets the optional parameter "fieldMask": The fields of the +// `Device` resource to be returned in the response. The +// fields `id`, and `num_id` are always returned by default, along with +// any +// other fields specified. +func (c *ProjectsLocationsRegistriesDevicesListCall) FieldMask(fieldMask string) *ProjectsLocationsRegistriesDevicesListCall { + c.urlParams_.Set("fieldMask", fieldMask) + return c +} + +// PageSize sets the optional parameter "pageSize": The maximum number +// of devices to return in the response. If this value +// is zero, the service will select a default size. A call may return +// fewer +// objects than requested, but if there is a non-empty `page_token`, +// it +// indicates that more entries are available. +func (c *ProjectsLocationsRegistriesDevicesListCall) PageSize(pageSize int64) *ProjectsLocationsRegistriesDevicesListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The value returned +// by the last `ListDevicesResponse`; indicates +// that this is a continuation of a prior `ListDevices` call, and +// that the system should return the next page of data. +func (c *ProjectsLocationsRegistriesDevicesListCall) PageToken(pageToken string) *ProjectsLocationsRegistriesDevicesListCall { + 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 information. +func (c *ProjectsLocationsRegistriesDevicesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesDevicesListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsRegistriesDevicesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsRegistriesDevicesListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesDevicesListCall) Context(ctx context.Context) *ProjectsLocationsRegistriesDevicesListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesDevicesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesDevicesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/devices") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.devices.list" call. +// Exactly one of *ListDevicesResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListDevicesResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsRegistriesDevicesListCall) Do(opts ...googleapi.CallOption) (*ListDevicesResponse, 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, &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, err + } + ret := &ListDevicesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "List devices in a device registry.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices", + // "httpMethod": "GET", + // "id": "cloudiot.projects.locations.registries.devices.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "deviceIds": { + // "description": "A list of device string identifiers. If empty, it will ignore this field.\nFor example, `['device0', 'device12']`. This field cannot hold more than\n10,000 entries.", + // "location": "query", + // "repeated": true, + // "type": "string" + // }, + // "deviceNumIds": { + // "description": "A list of device numerical ids. If empty, it will ignore this field. This\nfield cannot hold more than 10,000 entries.", + // "format": "uint64", + // "location": "query", + // "repeated": true, + // "type": "string" + // }, + // "fieldMask": { + // "description": "The fields of the `Device` resource to be returned in the response. The\nfields `id`, and `num_id` are always returned by default, along with any\nother fields specified.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // }, + // "pageSize": { + // "description": "The maximum number of devices to return in the response. If this value\nis zero, the service will select a default size. A call may return fewer\nobjects than requested, but if there is a non-empty `page_token`, it\nindicates that more entries are available.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "The value returned by the last `ListDevicesResponse`; indicates\nthat this is a continuation of a prior `ListDevices` call, and\nthat the system should return the next page of data.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "The device registry path. Required. For example,\n`projects/my-project/locations/us-central1/registries/my-registry`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+parent}/devices", + // "response": { + // "$ref": "ListDevicesResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// 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 *ProjectsLocationsRegistriesDevicesListCall) Pages(ctx context.Context, f func(*ListDevicesResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "cloudiot.projects.locations.registries.devices.modifyCloudToDeviceConfig": + +type ProjectsLocationsRegistriesDevicesModifyCloudToDeviceConfigCall struct { + s *Service + name string + modifycloudtodeviceconfigrequest *ModifyCloudToDeviceConfigRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ModifyCloudToDeviceConfig: Modifies the configuration for the device, +// which is eventually sent from +// the Cloud IoT servers. Returns the modified configuration version and +// its +// meta-data. +func (r *ProjectsLocationsRegistriesDevicesService) ModifyCloudToDeviceConfig(name string, modifycloudtodeviceconfigrequest *ModifyCloudToDeviceConfigRequest) *ProjectsLocationsRegistriesDevicesModifyCloudToDeviceConfigCall { + c := &ProjectsLocationsRegistriesDevicesModifyCloudToDeviceConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.modifycloudtodeviceconfigrequest = modifycloudtodeviceconfigrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesDevicesModifyCloudToDeviceConfigCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesDevicesModifyCloudToDeviceConfigCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesDevicesModifyCloudToDeviceConfigCall) Context(ctx context.Context) *ProjectsLocationsRegistriesDevicesModifyCloudToDeviceConfigCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesDevicesModifyCloudToDeviceConfigCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesDevicesModifyCloudToDeviceConfigCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.modifycloudtodeviceconfigrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:modifyCloudToDeviceConfig") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.devices.modifyCloudToDeviceConfig" call. +// Exactly one of *DeviceConfig or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *DeviceConfig.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsRegistriesDevicesModifyCloudToDeviceConfigCall) Do(opts ...googleapi.CallOption) (*DeviceConfig, 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, &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, err + } + ret := &DeviceConfig{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Modifies the configuration for the device, which is eventually sent from\nthe Cloud IoT servers. Returns the modified configuration version and its\nmeta-data.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}:modifyCloudToDeviceConfig", + // "httpMethod": "POST", + // "id": "cloudiot.projects.locations.registries.devices.modifyCloudToDeviceConfig", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}:modifyCloudToDeviceConfig", + // "request": { + // "$ref": "ModifyCloudToDeviceConfigRequest" + // }, + // "response": { + // "$ref": "DeviceConfig" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// method id "cloudiot.projects.locations.registries.devices.patch": + +type ProjectsLocationsRegistriesDevicesPatchCall struct { + s *Service + name string + device *Device + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates a device. +func (r *ProjectsLocationsRegistriesDevicesService) Patch(name string, device *Device) *ProjectsLocationsRegistriesDevicesPatchCall { + c := &ProjectsLocationsRegistriesDevicesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.device = device + return c +} + +// UpdateMask sets the optional parameter "updateMask": Only updates the +// `device` fields indicated by this mask. +// The field mask must not be empty, and it must not contain fields +// that +// are immutable or only set by the server. +// Mutable top-level fields: `credentials` and `enabled_state` +func (c *ProjectsLocationsRegistriesDevicesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsRegistriesDevicesPatchCall { + 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 information. +func (c *ProjectsLocationsRegistriesDevicesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesDevicesPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesDevicesPatchCall) Context(ctx context.Context) *ProjectsLocationsRegistriesDevicesPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesDevicesPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesDevicesPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.device) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.devices.patch" call. +// Exactly one of *Device or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Device.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsRegistriesDevicesPatchCall) Do(opts ...googleapi.CallOption) (*Device, 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, &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, err + } + ret := &Device{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates a device.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}", + // "httpMethod": "PATCH", + // "id": "cloudiot.projects.locations.registries.devices.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The resource path name. For example,\n`projects/p1/locations/us-central1/registries/registry0/devices/dev0` or\n`projects/p1/locations/us-central1/registries/registry0/devices/{num_id}`.\nWhen `name` is populated as a response from the service, it always ends\nin the device numeric ID.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Only updates the `device` fields indicated by this mask.\nThe field mask must not be empty, and it must not contain fields that\nare immutable or only set by the server.\nMutable top-level fields: `credentials` and `enabled_state`", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}", + // "request": { + // "$ref": "Device" + // }, + // "response": { + // "$ref": "Device" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} + +// method id "cloudiot.projects.locations.registries.devices.publishEvent": + +type ProjectsLocationsRegistriesDevicesPublishEventCall struct { + s *Service + name string + httppublisheventrequest *HttpPublishEventRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// PublishEvent: Publishes a telemetry event for a device. +func (r *ProjectsLocationsRegistriesDevicesService) PublishEvent(name string, httppublisheventrequest *HttpPublishEventRequest) *ProjectsLocationsRegistriesDevicesPublishEventCall { + c := &ProjectsLocationsRegistriesDevicesPublishEventCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.httppublisheventrequest = httppublisheventrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesDevicesPublishEventCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesDevicesPublishEventCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesDevicesPublishEventCall) Context(ctx context.Context) *ProjectsLocationsRegistriesDevicesPublishEventCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesDevicesPublishEventCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesDevicesPublishEventCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.httppublisheventrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:publishEvent") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.devices.publishEvent" call. +// Exactly one of *HttpPublishEventResponse or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *HttpPublishEventResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsRegistriesDevicesPublishEventCall) Do(opts ...googleapi.CallOption) (*HttpPublishEventResponse, 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, &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, err + } + ret := &HttpPublishEventResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Publishes a telemetry event for a device.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}:publishEvent", + // "httpMethod": "POST", + // "id": "cloudiot.projects.locations.registries.devices.publishEvent", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}:publishEvent", + // "request": { + // "$ref": "HttpPublishEventRequest" + // }, + // "response": { + // "$ref": "HttpPublishEventResponse" + // } + // } + +} + +// method id "cloudiot.projects.locations.registries.devices.setState": + +type ProjectsLocationsRegistriesDevicesSetStateCall struct { + s *Service + name string + httpsetdevicestaterequest *HttpSetDeviceStateRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetState: Sets the state of a device. +func (r *ProjectsLocationsRegistriesDevicesService) SetState(name string, httpsetdevicestaterequest *HttpSetDeviceStateRequest) *ProjectsLocationsRegistriesDevicesSetStateCall { + c := &ProjectsLocationsRegistriesDevicesSetStateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.httpsetdevicestaterequest = httpsetdevicestaterequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesDevicesSetStateCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesDevicesSetStateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesDevicesSetStateCall) Context(ctx context.Context) *ProjectsLocationsRegistriesDevicesSetStateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesDevicesSetStateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesDevicesSetStateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.httpsetdevicestaterequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:setState") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.devices.setState" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsRegistriesDevicesSetStateCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Sets the state of a device.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}:setState", + // "httpMethod": "POST", + // "id": "cloudiot.projects.locations.registries.devices.setState", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}:setState", + // "request": { + // "$ref": "HttpSetDeviceStateRequest" + // }, + // "response": { + // "$ref": "Empty" + // } + // } + +} + +// method id "cloudiot.projects.locations.registries.devices.configVersions.list": + +type ProjectsLocationsRegistriesDevicesConfigVersionsListCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists the last few versions of the device configuration in +// descending +// order (i.e.: newest first). +func (r *ProjectsLocationsRegistriesDevicesConfigVersionsService) List(name string) *ProjectsLocationsRegistriesDevicesConfigVersionsListCall { + c := &ProjectsLocationsRegistriesDevicesConfigVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// NumVersions sets the optional parameter "numVersions": The number of +// versions to list. Versions are listed in decreasing order of +// the version number. The maximum number of versions retained is 10. If +// this +// value is zero, it will return all the versions available. +func (c *ProjectsLocationsRegistriesDevicesConfigVersionsListCall) NumVersions(numVersions int64) *ProjectsLocationsRegistriesDevicesConfigVersionsListCall { + c.urlParams_.Set("numVersions", fmt.Sprint(numVersions)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsRegistriesDevicesConfigVersionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsRegistriesDevicesConfigVersionsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsRegistriesDevicesConfigVersionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsRegistriesDevicesConfigVersionsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsRegistriesDevicesConfigVersionsListCall) Context(ctx context.Context) *ProjectsLocationsRegistriesDevicesConfigVersionsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsRegistriesDevicesConfigVersionsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRegistriesDevicesConfigVersionsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/configVersions") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudiot.projects.locations.registries.devices.configVersions.list" call. +// Exactly one of *ListDeviceConfigVersionsResponse or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *ListDeviceConfigVersionsResponse.ServerResponse.Header or (if +// a response was returned at all) in error.(*googleapi.Error).Header. +// Use googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsRegistriesDevicesConfigVersionsListCall) Do(opts ...googleapi.CallOption) (*ListDeviceConfigVersionsResponse, 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, &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, err + } + ret := &ListDeviceConfigVersionsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists the last few versions of the device configuration in descending\norder (i.e.: newest first).", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}/configVersions", + // "httpMethod": "GET", + // "id": "cloudiot.projects.locations.registries.devices.configVersions.list", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "numVersions": { + // "description": "The number of versions to list. Versions are listed in decreasing order of\nthe version number. The maximum number of versions retained is 10. If this\nvalue is zero, it will return all the versions available.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // } + // }, + // "path": "v1beta1/{+name}/configVersions", + // "response": { + // "$ref": "ListDeviceConfigVersionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloudiot" + // ] + // } + +} diff --git a/vendor/google.golang.org/api/cloudkms/v1/cloudkms-api.json b/vendor/google.golang.org/api/cloudkms/v1/cloudkms-api.json index 2c72d95ee..07344935e 100644 --- a/vendor/google.golang.org/api/cloudkms/v1/cloudkms-api.json +++ b/vendor/google.golang.org/api/cloudkms/v1/cloudkms-api.json @@ -1,10 +1,268 @@ { - "id": "cloudkms:v1", - "revision": "20170621", - "documentationLink": "https://cloud.google.com/kms/", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "type": "object", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "TestIamPermissionsRequest" + }, + "Policy": { + "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam).", + "type": "object", + "properties": { + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "AuditConfig" + }, + "type": "array" + }, + "bindings": { + "description": "Associates a list of `members` to a `role`.\n`bindings` with no members will result in an error.", + "items": { + "$ref": "Binding" + }, + "type": "array" + }, + "iamOwned": { + "type": "boolean" + }, + "etag": { + "format": "byte", + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.", + "type": "string" + }, + "version": { + "format": "int32", + "description": "Version of the `Policy`. The default version is 0.", + "type": "integer" + } + }, + "id": "Policy" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + } + }, + "id": "ListLocationsResponse" + }, + "KeyRing": { + "description": "A KeyRing is a toplevel logical grouping of CryptoKeys.", + "type": "object", + "properties": { + "createTime": { + "format": "google-datetime", + "description": "Output only. The time at which this KeyRing was created.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name for the KeyRing in the format\n`projects/*/locations/*/keyRings/*`.", + "type": "string" + } + }, + "id": "KeyRing" + }, + "EncryptResponse": { + "description": "Response message for KeyManagementService.Encrypt.", + "type": "object", + "properties": { + "ciphertext": { + "format": "byte", + "description": "The encrypted data.", + "type": "string" + }, + "name": { + "description": "The resource name of the CryptoKeyVersion used in encryption.", + "type": "string" + } + }, + "id": "EncryptResponse" + }, + "RestoreCryptoKeyVersionRequest": { + "description": "Request message for KeyManagementService.RestoreCryptoKeyVersion.", + "type": "object", + "properties": {}, + "id": "RestoreCryptoKeyVersionRequest" + }, + "UpdateCryptoKeyPrimaryVersionRequest": { + "description": "Request message for KeyManagementService.UpdateCryptoKeyPrimaryVersion.", + "type": "object", + "properties": { + "cryptoKeyVersionId": { + "description": "The id of the child CryptoKeyVersion to use as primary.", + "type": "string" + } + }, + "id": "UpdateCryptoKeyPrimaryVersionRequest" + }, + "ListKeyRingsResponse": { + "description": "Response message for KeyManagementService.ListKeyRings.", + "type": "object", + "properties": { + "keyRings": { + "description": "The list of KeyRings.", + "items": { + "$ref": "KeyRing" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve next page of results. Pass this value in\nListKeyRingsRequest.page_token to retrieve the next page of results.", + "type": "string" + }, + "totalSize": { + "format": "int32", + "description": "The total number of KeyRings that matched the query.", + "type": "integer" + } + }, + "id": "ListKeyRingsResponse" + }, + "AuditConfig": { + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"fooservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:bar@gmail.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts foo@gmail.com from DATA_READ logging, and\nbar@gmail.com from DATA_WRITE logging.", + "type": "object", + "properties": { + "service": { + "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", + "type": "string" + }, + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.\nNext ID: 4", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + }, + "exemptedMembers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "AuditConfig" + }, + "CryptoKeyVersion": { + "description": "A CryptoKeyVersion represents an individual cryptographic key, and the\nassociated key material.\n\nIt can be used for cryptographic operations either directly, or via its\nparent CryptoKey, in which case the server will choose the appropriate\nversion for the operation.\n\nFor security reasons, the raw cryptographic key material represented by a\nCryptoKeyVersion can never be viewed or exported. It can only be used to\nencrypt or decrypt data when an authorized user or application invokes Cloud\nKMS.", + "type": "object", + "properties": { + "destroyEventTime": { + "format": "google-datetime", + "description": "Output only. The time this CryptoKeyVersion's key material was\ndestroyed. Only present if state is\nDESTROYED.", + "type": "string" + }, + "destroyTime": { + "format": "google-datetime", + "description": "Output only. The time this CryptoKeyVersion's key material is scheduled\nfor destruction. Only present if state is\nDESTROY_SCHEDULED.", + "type": "string" + }, + "createTime": { + "format": "google-datetime", + "description": "Output only. The time at which this CryptoKeyVersion was created.", + "type": "string" + }, + "state": { + "description": "The current state of the CryptoKeyVersion.", + "type": "string", + "enumDescriptions": [ + "Not specified.", + "This version may be used in Encrypt and\nDecrypt requests.", + "This version may not be used, but the key material is still available,\nand the version can be placed back into the ENABLED state.", + "This version is destroyed, and the key material is no longer stored.\nA version may not leave this state once entered.", + "This version is scheduled for destruction, and will be destroyed soon.\nCall\nRestoreCryptoKeyVersion\nto put it back into the DISABLED state." + ], + "enum": [ + "CRYPTO_KEY_VERSION_STATE_UNSPECIFIED", + "ENABLED", + "DISABLED", + "DESTROYED", + "DESTROY_SCHEDULED" + ] + }, + "name": { + "description": "Output only. The resource name for this CryptoKeyVersion in the format\n`projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.", + "type": "string" + } + }, + "id": "CryptoKeyVersion" + }, + "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "type": "object", + "properties": { + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + }, + "updateMask": { + "format": "google-fieldmask", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "type": "string" + } + }, + "id": "SetIamPolicyRequest" + }, + "DecryptRequest": { + "description": "Request message for KeyManagementService.Decrypt.", + "type": "object", + "properties": { + "additionalAuthenticatedData": { + "format": "byte", + "description": "Optional data that must match the data originally supplied in\nEncryptRequest.additional_authenticated_data.", + "type": "string" + }, + "ciphertext": { + "format": "byte", + "description": "Required. The encrypted data originally returned in\nEncryptResponse.ciphertext.", + "type": "string" + } + }, + "id": "DecryptRequest" + }, + "Binding": { + "description": "Associates `members` with a `role`.", + "type": "object", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding.\nNOTE: an unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently.\nThis field is GOOGLE_INTERNAL." + }, + "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@gmail.com` or `joe@example.com`.\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n\n* `domain:{domain}`: A Google Apps domain name that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired", + "type": "string" + } + }, + "id": "Binding" + }, "Expr": { "description": "Represents an expression text. Example:\n\n title: \"User account presence\"\n description: \"Determines whether the request has a user account\"\n expression: \"size(request.user) \u003e 0\"", "type": "object", @@ -68,6 +326,59 @@ }, "id": "ListCryptoKeyVersionsResponse" }, + "Location": { + "description": "A resource that represents Google Cloud Platform location.", + "type": "object", + "properties": { + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "description": "Service-specific metadata. For example the available capacity at the given\nlocation.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + } + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example\n\n {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "id": "Location" + }, + "ListCryptoKeysResponse": { + "description": "Response message for KeyManagementService.ListCryptoKeys.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "A token to retrieve next page of results. Pass this value in\nListCryptoKeysRequest.page_token to retrieve the next page of results.", + "type": "string" + }, + "totalSize": { + "format": "int32", + "description": "The total number of CryptoKeys that matched the query.", + "type": "integer" + }, + "cryptoKeys": { + "description": "The list of CryptoKeys.", + "items": { + "$ref": "CryptoKey" + }, + "type": "array" + } + }, + "id": "ListCryptoKeysResponse" + }, "TestIamPermissionsResponse": { "description": "Response message for `TestIamPermissions` method.", "type": "object", @@ -88,76 +399,47 @@ "properties": {}, "id": "DestroyCryptoKeyVersionRequest" }, - "Rule": { - "description": "A rule to be applied in a Policy.", + "AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\nfoo@gmail.com from DATA_READ logging.", "type": "object", "properties": { - "notIn": { - "description": "If one or more 'not_in' clauses are specified, the rule matches\nif the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.\nThe format for in and not_in entries is the same as for members in a\nBinding (see google/iam/v1/policy.proto).", - "items": { - "type": "string" - }, - "type": "array" - }, - "description": { - "description": "Human-readable description of the rule.", - "type": "string" - }, - "conditions": { - "description": "Additional restrictions that must be met", - "items": { - "$ref": "Condition" - }, - "type": "array" - }, - "logConfig": { - "description": "The config returned to callers of tech.iam.IAM.CheckPolicy for any entries\nthat match the LOG action.", - "items": { - "$ref": "LogConfig" - }, - "type": "array" - }, - "in": { - "description": "If one or more 'in' clauses are specified, the rule matches if\nthe PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.", - "items": { - "type": "string" - }, - "type": "array" - }, - "permissions": { - "description": "A permission is a string of form '\u003cservice\u003e.\u003cresource type\u003e.\u003cverb\u003e'\n(e.g., 'storage.buckets.list'). A value of '*' matches all permissions,\nand a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.", - "items": { - "type": "string" - }, - "type": "array" - }, - "action": { - "description": "Required", - "type": "string", + "logType": { "enumDescriptions": [ - "Default no action.", - "Matching 'Entries' grant access.", - "Matching 'Entries' grant access and the caller promises to log\nthe request per the returned log_configs.", - "Matching 'Entries' deny access.", - "Matching 'Entries' deny access and the caller promises to log\nthe request per the returned log_configs.", - "Matching 'Entries' tell IAM.Check callers to generate logs." + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" ], "enum": [ - "NO_ACTION", - "ALLOW", - "ALLOW_WITH_LOG", - "DENY", - "DENY_WITH_LOG", - "LOG" - ] + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "description": "The log type that this config enables.", + "type": "string" + }, + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" } }, - "id": "Rule" + "id": "AuditLogConfig" }, "CryptoKey": { "description": "A CryptoKey represents a logical key that can be used for cryptographic\noperations.\n\nA CryptoKey is made up of one or more versions, which\nrepresent the actual key material used in cryptographic operations.", "type": "object", "properties": { + "labels": { + "description": "Labels with user defined metadata.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, "createTime": { "format": "google-datetime", "description": "Output only. The time at which this CryptoKey was created.", @@ -196,234 +478,6 @@ }, "id": "CryptoKey" }, - "LogConfig": { - "description": "Specifies what kind of log the caller must write\nIncrement a streamz counter with the specified metric and field names.\n\nMetric names should start with a '/', generally be lowercase-only,\nand end in \"_count\". Field names should not contain an initial slash.\nThe actual exported metric names will have \"/iam/policy\" prepended.\n\nField names correspond to IAM request parameters and field values are\ntheir respective values.\n\nAt present the only supported field names are\n - \"iam_principal\", corresponding to IAMContext.principal;\n - \"\" (empty string), resulting in one aggretated counter with no field.\n\nExamples:\n counter { metric: \"/debug_access_count\" field: \"iam_principal\" }\n ==\u003e increment counter /iam/policy/backend_debug_access_count\n {iam_principal=[value of IAMContext.principal]}\n\nAt this time we do not support:\n* multiple field names (though this may be supported in the future)\n* decrementing the counter\n* incrementing it by anything other than 1", - "type": "object", - "properties": { - "dataAccess": { - "description": "Data access options.", - "$ref": "DataAccessOptions" - }, - "cloudAudit": { - "$ref": "CloudAuditOptions", - "description": "Cloud audit options." - }, - "counter": { - "description": "Counter options.", - "$ref": "CounterOptions" - } - }, - "id": "LogConfig" - }, - "SetIamPolicyRequest": { - "description": "Request message for `SetIamPolicy` method.", - "type": "object", - "properties": { - "policy": { - "$ref": "Policy", - "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." - }, - "updateMask": { - "format": "google-fieldmask", - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", - "type": "string" - } - }, - "id": "SetIamPolicyRequest" - }, - "DecryptRequest": { - "description": "Request message for KeyManagementService.Decrypt.", - "type": "object", - "properties": { - "additionalAuthenticatedData": { - "format": "byte", - "description": "Optional data that must match the data originally supplied in\nEncryptRequest.additional_authenticated_data.", - "type": "string" - }, - "ciphertext": { - "format": "byte", - "description": "Required. The encrypted data originally returned in\nEncryptResponse.ciphertext.", - "type": "string" - } - }, - "id": "DecryptRequest" - }, - "Location": { - "description": "A resource that represents Google Cloud Platform location.", - "type": "object", - "properties": { - "locationId": { - "description": "The canonical id for this location. For example: `\"us-east1\"`.", - "type": "string" - }, - "metadata": { - "description": "Service-specific metadata. For example the available capacity at the given\nlocation.", - "type": "object", - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - } - }, - "labels": { - "description": "Cross-service attributes for the location. For example\n\n {\"cloud.googleapis.com/region\": \"us-east1\"}", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`", - "type": "string" - } - }, - "id": "Location" - }, - "ListCryptoKeysResponse": { - "description": "Response message for KeyManagementService.ListCryptoKeys.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "A token to retrieve next page of results. Pass this value in\nListCryptoKeysRequest.page_token to retrieve the next page of results.", - "type": "string" - }, - "totalSize": { - "format": "int32", - "description": "The total number of CryptoKeys that matched the query.", - "type": "integer" - }, - "cryptoKeys": { - "description": "The list of CryptoKeys.", - "items": { - "$ref": "CryptoKey" - }, - "type": "array" - } - }, - "id": "ListCryptoKeysResponse" - }, - "Condition": { - "description": "A condition to be met.", - "type": "object", - "properties": { - "iam": { - "enumDescriptions": [ - "Default non-attribute.", - "Either principal or (if present) authority selector.", - "The principal (even if an authority selector is present), which\nmust only be used for attribution, not authorization.", - "An approver (distinct from the requester) that has authorized this\nrequest.\nWhen used with IN, the condition indicates that one of the approvers\nassociated with the request matches the specified principal, or is a\nmember of the specified group. Approvers can only grant additional\naccess, and are thus only used in a strictly positive context\n(e.g. ALLOW/IN or DENY/NOT_IN).", - "What types of justifications have been supplied with this request.\nString values should match enum names from tech.iam.JustificationType,\ne.g. \"MANUAL_STRING\". It is not permitted to grant access based on\nthe *absence* of a justification, so justification conditions can only\nbe used in a \"positive\" context (e.g., ALLOW/IN or DENY/NOT_IN).\n\nMultiple justifications, e.g., a Buganizer ID and a manually-entered\nreason, are normal and supported." - ], - "enum": [ - "NO_ATTR", - "AUTHORITY", - "ATTRIBUTION", - "APPROVER", - "JUSTIFICATION_TYPE" - ], - "description": "Trusted attributes supplied by the IAM system.", - "type": "string" - }, - "values": { - "description": "The objects of the condition. This is mutually exclusive with 'value'.", - "items": { - "type": "string" - }, - "type": "array" - }, - "op": { - "description": "An operator to apply the subject with.", - "type": "string", - "enumDescriptions": [ - "Default no-op.", - "DEPRECATED. Use IN instead.", - "DEPRECATED. Use NOT_IN instead.", - "The condition is true if the subject (or any element of it if it is\na set) matches any of the supplied values.", - "The condition is true if the subject (or every element of it if it is\na set) matches none of the supplied values.", - "Subject is discharged" - ], - "enum": [ - "NO_OP", - "EQUALS", - "NOT_EQUALS", - "IN", - "NOT_IN", - "DISCHARGED" - ] - }, - "svc": { - "description": "Trusted attributes discharged by the service.", - "type": "string" - }, - "sys": { - "enumDescriptions": [ - "Default non-attribute type", - "Region of the resource", - "Service name", - "Resource name", - "IP address of the caller" - ], - "enum": [ - "NO_ATTR", - "REGION", - "SERVICE", - "NAME", - "IP" - ], - "description": "Trusted attributes supplied by any service that owns resources and uses\nthe IAM system for access control.", - "type": "string" - }, - "value": { - "description": "DEPRECATED. Use 'values' instead.", - "type": "string" - } - }, - "id": "Condition" - }, - "CounterOptions": { - "description": "Options for counters", - "type": "object", - "properties": { - "field": { - "description": "The field value to attribute.", - "type": "string" - }, - "metric": { - "description": "The metric to update.", - "type": "string" - } - }, - "id": "CounterOptions" - }, - "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\nfoo@gmail.com from DATA_READ logging.", - "type": "object", - "properties": { - "exemptedMembers": { - "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", - "items": { - "type": "string" - }, - "type": "array" - }, - "logType": { - "enumDescriptions": [ - "Default case. Should never be this.", - "Admin reads. Example: CloudIAM getIamPolicy", - "Data writes. Example: CloudSQL Users create", - "Data reads. Example: CloudSQL Users list" - ], - "enum": [ - "LOG_TYPE_UNSPECIFIED", - "ADMIN_READ", - "DATA_WRITE", - "DATA_READ" - ], - "description": "The log type that this config enables.", - "type": "string" - } - }, - "id": "AuditLogConfig" - }, "DecryptResponse": { "description": "Response message for KeyManagementService.Decrypt.", "type": "object", @@ -435,268 +489,6 @@ } }, "id": "DecryptResponse" - }, - "TestIamPermissionsRequest": { - "description": "Request message for `TestIamPermissions` method.", - "type": "object", - "properties": { - "permissions": { - "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "TestIamPermissionsRequest" - }, - "Policy": { - "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam).", - "type": "object", - "properties": { - "etag": { - "format": "byte", - "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.", - "type": "string" - }, - "iamOwned": { - "type": "boolean" - }, - "rules": { - "description": "If more than one rule is specified, the rules are applied in the following\nmanner:\n- All matching LOG rules are always applied.\n- If any DENY/DENY_WITH_LOG rule matches, permission is denied.\n Logging will be applied if one or more matching rule requires logging.\n- Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is\n granted.\n Logging will be applied if one or more matching rule requires logging.\n- Otherwise, if no rule applies, permission is denied.", - "items": { - "$ref": "Rule" - }, - "type": "array" - }, - "version": { - "format": "int32", - "description": "Version of the `Policy`. The default version is 0.", - "type": "integer" - }, - "auditConfigs": { - "description": "Specifies cloud audit logging configuration for this policy.", - "items": { - "$ref": "AuditConfig" - }, - "type": "array" - }, - "bindings": { - "description": "Associates a list of `members` to a `role`.\n`bindings` with no members will result in an error.", - "items": { - "$ref": "Binding" - }, - "type": "array" - } - }, - "id": "Policy" - }, - "ListLocationsResponse": { - "description": "The response message for Locations.ListLocations.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" - }, - "locations": { - "description": "A list of locations that matches the specified filter in the request.", - "items": { - "$ref": "Location" - }, - "type": "array" - } - }, - "id": "ListLocationsResponse" - }, - "EncryptResponse": { - "description": "Response message for KeyManagementService.Encrypt.", - "type": "object", - "properties": { - "name": { - "description": "The resource name of the CryptoKeyVersion used in encryption.", - "type": "string" - }, - "ciphertext": { - "format": "byte", - "description": "The encrypted data.", - "type": "string" - } - }, - "id": "EncryptResponse" - }, - "KeyRing": { - "description": "A KeyRing is a toplevel logical grouping of CryptoKeys.", - "type": "object", - "properties": { - "createTime": { - "format": "google-datetime", - "description": "Output only. The time at which this KeyRing was created.", - "type": "string" - }, - "name": { - "description": "Output only. The resource name for the KeyRing in the format\n`projects/*/locations/*/keyRings/*`.", - "type": "string" - } - }, - "id": "KeyRing" - }, - "RestoreCryptoKeyVersionRequest": { - "description": "Request message for KeyManagementService.RestoreCryptoKeyVersion.", - "type": "object", - "properties": {}, - "id": "RestoreCryptoKeyVersionRequest" - }, - "UpdateCryptoKeyPrimaryVersionRequest": { - "description": "Request message for KeyManagementService.UpdateCryptoKeyPrimaryVersion.", - "type": "object", - "properties": { - "cryptoKeyVersionId": { - "description": "The id of the child CryptoKeyVersion to use as primary.", - "type": "string" - } - }, - "id": "UpdateCryptoKeyPrimaryVersionRequest" - }, - "DataAccessOptions": { - "description": "Write a Data Access (Gin) log", - "type": "object", - "properties": {}, - "id": "DataAccessOptions" - }, - "ListKeyRingsResponse": { - "description": "Response message for KeyManagementService.ListKeyRings.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "A token to retrieve next page of results. Pass this value in\nListKeyRingsRequest.page_token to retrieve the next page of results.", - "type": "string" - }, - "totalSize": { - "format": "int32", - "description": "The total number of KeyRings that matched the query.", - "type": "integer" - }, - "keyRings": { - "description": "The list of KeyRings.", - "items": { - "$ref": "KeyRing" - }, - "type": "array" - } - }, - "id": "ListKeyRingsResponse" - }, - "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"fooservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:bar@gmail.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts foo@gmail.com from DATA_READ logging, and\nbar@gmail.com from DATA_WRITE logging.", - "type": "object", - "properties": { - "auditLogConfigs": { - "description": "The configuration for logging of each type of permission.\nNext ID: 4", - "items": { - "$ref": "AuditLogConfig" - }, - "type": "array" - }, - "exemptedMembers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "service": { - "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", - "type": "string" - } - }, - "id": "AuditConfig" - }, - "CryptoKeyVersion": { - "description": "A CryptoKeyVersion represents an individual cryptographic key, and the\nassociated key material.\n\nIt can be used for cryptographic operations either directly, or via its\nparent CryptoKey, in which case the server will choose the appropriate\nversion for the operation.", - "type": "object", - "properties": { - "destroyEventTime": { - "format": "google-datetime", - "description": "Output only. The time this CryptoKeyVersion's key material was\ndestroyed. Only present if state is\nDESTROYED.", - "type": "string" - }, - "destroyTime": { - "format": "google-datetime", - "description": "Output only. The time this CryptoKeyVersion's key material is scheduled\nfor destruction. Only present if state is\nDESTROY_SCHEDULED.", - "type": "string" - }, - "createTime": { - "format": "google-datetime", - "description": "Output only. The time at which this CryptoKeyVersion was created.", - "type": "string" - }, - "state": { - "description": "The current state of the CryptoKeyVersion.", - "type": "string", - "enumDescriptions": [ - "Not specified.", - "This version may be used in Encrypt and\nDecrypt requests.", - "This version may not be used, but the key material is still available,\nand the version can be placed back into the ENABLED state.", - "This version is destroyed, and the key material is no longer stored.\nA version may not leave this state once entered.", - "This version is scheduled for destruction, and will be destroyed soon.\nCall\nRestoreCryptoKeyVersion\nto put it back into the DISABLED state." - ], - "enum": [ - "CRYPTO_KEY_VERSION_STATE_UNSPECIFIED", - "ENABLED", - "DISABLED", - "DESTROYED", - "DESTROY_SCHEDULED" - ] - }, - "name": { - "description": "Output only. The resource name for this CryptoKeyVersion in the format\n`projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.", - "type": "string" - } - }, - "id": "CryptoKeyVersion" - }, - "CloudAuditOptions": { - "description": "Write a Cloud Audit log", - "type": "object", - "properties": { - "logName": { - "enumDescriptions": [ - "Default. Should not be used.", - "Corresponds to \"cloudaudit.googleapis.com/activity\"", - "Corresponds to \"cloudaudit.googleapis.com/data_access\"" - ], - "enum": [ - "UNSPECIFIED_LOG_NAME", - "ADMIN_ACTIVITY", - "DATA_ACCESS" - ], - "description": "The log_name to populate in the Cloud Audit Record.", - "type": "string" - } - }, - "id": "CloudAuditOptions" - }, - "Binding": { - "description": "Associates `members` with a `role`.", - "type": "object", - "properties": { - "condition": { - "description": "The condition that is associated with this binding.\nNOTE: an unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently.\nThis field is GOOGLE_INTERNAL.", - "$ref": "Expr" - }, - "members": { - "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@gmail.com` or `joe@example.com`.\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n\n* `domain:{domain}`: A Google Apps domain name that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", - "items": { - "type": "string" - }, - "type": "array" - }, - "role": { - "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired", - "type": "string" - } - }, - "id": "Binding" } }, "icons": { @@ -726,7 +518,6 @@ "locations": { "methods": { "get": { - "description": "Get information about a location.", "response": { "$ref": "Location" }, @@ -734,21 +525,22 @@ "name" ], "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "parameters": { "name": { + "location": "path", "description": "Resource name for the location.", "type": "string", "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+$", - "location": "path" + "pattern": "^projects/[^/]+/locations/[^/]+$" } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "flatPath": "v1/projects/{projectsId}/locations/{locationsId}", "id": "cloudkms.projects.locations.get", - "path": "v1/{+name}" + "path": "v1/{+name}", + "description": "Get information about a location." }, "list": { "description": "Lists information about the supported locations for this service.", @@ -759,6 +551,9 @@ "name" ], "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { "pageSize": { "format": "int32", @@ -784,9 +579,6 @@ "pattern": "^projects/[^/]+$" } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "flatPath": "v1/projects/{projectsId}/locations", "id": "cloudkms.projects.locations.list", "path": "v1/{+name}/locations" @@ -796,12 +588,19 @@ "keyRings": { "methods": { "get": { + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}", + "path": "v1/{+name}", + "id": "cloudkms.projects.locations.keyRings.get", + "description": "Returns metadata for a given KeyRing.", "httpMethod": "GET", + "parameterOrder": [ + "name" + ], "response": { "$ref": "KeyRing" }, - "parameterOrder": [ - "name" + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" ], "parameters": { "name": { @@ -811,14 +610,7 @@ "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+$", "location": "path" } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}", - "path": "v1/{+name}", - "id": "cloudkms.projects.locations.keyRings.get", - "description": "Returns metadata for a given KeyRing." + } }, "testIamPermissions": { "request": { @@ -849,7 +641,6 @@ "path": "v1/{+resource}:testIamPermissions" }, "list": { - "description": "Lists KeyRings.", "response": { "$ref": "ListKeyRingsResponse" }, @@ -857,46 +648,16 @@ "parent" ], "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { - "pageToken": { - "location": "query", - "description": "Optional pagination token, returned earlier via\nListKeyRingsResponse.next_page_token.", - "type": "string" - }, "pageSize": { "location": "query", "format": "int32", "description": "Optional limit on the number of KeyRings to include in the\nresponse. Further KeyRings can subsequently be obtained by\nincluding the ListKeyRingsResponse.next_page_token in a subsequent\nrequest. If unspecified, the server will pick an appropriate default.", "type": "integer" }, - "parent": { - "location": "path", - "description": "Required. The resource name of the location associated with the\nKeyRings, in the format `projects/*/locations/*`.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings", - "id": "cloudkms.projects.locations.keyRings.list", - "path": "v1/{+parent}/keyRings" - }, - "create": { - "description": "Create a new KeyRing in a given Project and Location.", - "request": { - "$ref": "KeyRing" - }, - "response": { - "$ref": "KeyRing" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "POST", - "parameters": { "parent": { "description": "Required. The resource name of the location associated with the\nKeyRings, in the format `projects/*/locations/*`.", "type": "string", @@ -904,27 +665,51 @@ "pattern": "^projects/[^/]+/locations/[^/]+$", "location": "path" }, + "pageToken": { + "location": "query", + "description": "Optional pagination token, returned earlier via\nListKeyRingsResponse.next_page_token.", + "type": "string" + } + }, + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings", + "id": "cloudkms.projects.locations.keyRings.list", + "path": "v1/{+parent}/keyRings", + "description": "Lists KeyRings." + }, + "create": { + "httpMethod": "POST", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "KeyRing" + }, + "parameters": { "keyRingId": { + "location": "query", "description": "Required. It must be unique within a location and match the regular\nexpression `[a-zA-Z0-9_-]{1,63}`", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the location associated with the\nKeyRings, in the format `projects/*/locations/*`.", "type": "string", - "location": "query" + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path" } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings", + "path": "v1/{+parent}/keyRings", "id": "cloudkms.projects.locations.keyRings.create", - "path": "v1/{+parent}/keyRings" + "description": "Create a new KeyRing in a given Project and Location.", + "request": { + "$ref": "KeyRing" + } }, "setIamPolicy": { - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}:setIamPolicy", - "id": "cloudkms.projects.locations.keyRings.setIamPolicy", - "path": "v1/{+resource}:setIamPolicy", - "request": { - "$ref": "SetIamPolicyRequest" - }, - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", "response": { "$ref": "Policy" }, @@ -932,9 +717,6 @@ "resource" ], "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "parameters": { "resource": { "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", @@ -943,9 +725,23 @@ "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+$", "location": "path" } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}:setIamPolicy", + "id": "cloudkms.projects.locations.keyRings.setIamPolicy", + "path": "v1/{+resource}:setIamPolicy", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", + "request": { + "$ref": "SetIamPolicyRequest" } }, "getIamPolicy": { + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}:getIamPolicy", + "id": "cloudkms.projects.locations.keyRings.getIamPolicy", + "path": "v1/{+resource}:getIamPolicy", + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", "response": { "$ref": "Policy" }, @@ -964,11 +760,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}:getIamPolicy", - "id": "cloudkms.projects.locations.keyRings.getIamPolicy", - "path": "v1/{+resource}:getIamPolicy", - "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset." + ] } }, "resources": { @@ -976,16 +768,13 @@ "methods": { "list": { "description": "Lists CryptoKeys.", - "httpMethod": "GET", "response": { "$ref": "ListCryptoKeysResponse" }, "parameterOrder": [ "parent" ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], + "httpMethod": "GET", "parameters": { "pageToken": { "description": "Optional pagination token, returned earlier via\nListCryptoKeysResponse.next_page_token.", @@ -993,10 +782,10 @@ "location": "query" }, "pageSize": { - "location": "query", "format": "int32", "description": "Optional limit on the number of CryptoKeys to include in the\nresponse. Further CryptoKeys can subsequently be obtained by\nincluding the ListCryptoKeysResponse.next_page_token in a subsequent\nrequest. If unspecified, the server will pick an appropriate default.", - "type": "integer" + "type": "integer", + "location": "query" }, "parent": { "location": "path", @@ -1006,25 +795,28 @@ "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+$" } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys", - "path": "v1/{+parent}/cryptoKeys", - "id": "cloudkms.projects.locations.keyRings.cryptoKeys.list" + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.list", + "path": "v1/{+parent}/cryptoKeys" }, "encrypt": { - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:encrypt", - "id": "cloudkms.projects.locations.keyRings.cryptoKeys.encrypt", - "path": "v1/{+name}:encrypt", - "description": "Encrypts data, so that it can only be recovered by a call to Decrypt.", "request": { "$ref": "EncryptRequest" }, - "response": { - "$ref": "EncryptResponse" - }, + "description": "Encrypts data, so that it can only be recovered by a call to Decrypt.", + "httpMethod": "POST", "parameterOrder": [ "name" ], - "httpMethod": "POST", + "response": { + "$ref": "EncryptResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { "name": { "description": "Required. The resource name of the CryptoKey or CryptoKeyVersion\nto use for encryption.\n\nIf a CryptoKey is specified, the server will use its\nprimary version.", @@ -1034,18 +826,11 @@ "location": "path" } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:encrypt", + "path": "v1/{+name}:encrypt", + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.encrypt" }, "setIamPolicy": { - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:setIamPolicy", - "path": "v1/{+resource}:setIamPolicy", - "id": "cloudkms.projects.locations.keyRings.cryptoKeys.setIamPolicy", - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", - "request": { - "$ref": "SetIamPolicyRequest" - }, "httpMethod": "POST", "parameterOrder": [ "resource" @@ -1055,40 +840,47 @@ }, "parameters": { "resource": { - "location": "path", "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", "type": "string", "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$" + "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$", + "location": "path" } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" - ] + ], + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:setIamPolicy", + "path": "v1/{+resource}:setIamPolicy", + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.setIamPolicy", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", + "request": { + "$ref": "SetIamPolicyRequest" + } }, "create": { "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys", - "id": "cloudkms.projects.locations.keyRings.cryptoKeys.create", "path": "v1/{+parent}/cryptoKeys", + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.create", "request": { "$ref": "CryptoKey" }, "description": "Create a new CryptoKey within a KeyRing.\n\nCryptoKey.purpose is required.", - "response": { - "$ref": "CryptoKey" - }, + "httpMethod": "POST", "parameterOrder": [ "parent" ], - "httpMethod": "POST", + "response": { + "$ref": "CryptoKey" + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], "parameters": { "cryptoKeyId": { + "location": "query", "description": "Required. It must be unique within a KeyRing and match the regular\nexpression `[a-zA-Z0-9_-]{1,63}`", - "type": "string", - "location": "query" + "type": "string" }, "parent": { "location": "path", @@ -1128,17 +920,17 @@ ] }, "getIamPolicy": { - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:getIamPolicy", - "path": "v1/{+resource}:getIamPolicy", - "id": "cloudkms.projects.locations.keyRings.cryptoKeys.getIamPolicy", "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", - "httpMethod": "GET", - "parameterOrder": [ - "resource" - ], "response": { "$ref": "Policy" }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { "resource": { "location": "path", @@ -1148,34 +940,9 @@ "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$" } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Returns metadata for a given CryptoKey, as well as its\nprimary CryptoKeyVersion.", - "response": { - "$ref": "CryptoKey" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "parameters": { - "name": { - "description": "The name of the CryptoKey to get.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}", - "id": "cloudkms.projects.locations.keyRings.cryptoKeys.get", - "path": "v1/{+name}" + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:getIamPolicy", + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.getIamPolicy", + "path": "v1/{+resource}:getIamPolicy" }, "patch": { "request": { @@ -1211,10 +978,32 @@ "id": "cloudkms.projects.locations.keyRings.cryptoKeys.patch", "path": "v1/{+name}" }, + "get": { + "description": "Returns metadata for a given CryptoKey, as well as its\nprimary CryptoKeyVersion.", + "response": { + "$ref": "CryptoKey" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "location": "path", + "description": "The name of the CryptoKey to get.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}", + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.get", + "path": "v1/{+name}" + }, "testIamPermissions": { - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:testIamPermissions", - "id": "cloudkms.projects.locations.keyRings.cryptoKeys.testIamPermissions", - "path": "v1/{+resource}:testIamPermissions", "request": { "$ref": "TestIamPermissionsRequest" }, @@ -1237,16 +1026,22 @@ "required": true, "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$" } - } + }, + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:testIamPermissions", + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.testIamPermissions", + "path": "v1/{+resource}:testIamPermissions" }, "decrypt": { - "httpMethod": "POST", - "parameterOrder": [ - "name" - ], "response": { "$ref": "DecryptResponse" }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { "name": { "description": "Required. The resource name of the CryptoKey to use for decryption.\nThe server will choose the appropriate version.", @@ -1256,56 +1051,53 @@ "location": "path" } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:decrypt", - "path": "v1/{+name}:decrypt", "id": "cloudkms.projects.locations.keyRings.cryptoKeys.decrypt", - "description": "Decrypts data that was protected by Encrypt.", + "path": "v1/{+name}:decrypt", "request": { "$ref": "DecryptRequest" - } + }, + "description": "Decrypts data that was protected by Encrypt." } }, "resources": { "cryptoKeyVersions": { "methods": { "list": { + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions", + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.list", + "path": "v1/{+parent}/cryptoKeyVersions", "description": "Lists CryptoKeyVersions.", - "httpMethod": "GET", - "parameterOrder": [ - "parent" - ], "response": { "$ref": "ListCryptoKeyVersionsResponse" }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { - "pageSize": { - "location": "query", - "format": "int32", - "description": "Optional limit on the number of CryptoKeyVersions to\ninclude in the response. Further CryptoKeyVersions can\nsubsequently be obtained by including the\nListCryptoKeyVersionsResponse.next_page_token in a subsequent request.\nIf unspecified, the server will pick an appropriate default.", - "type": "integer" - }, - "parent": { - "description": "Required. The resource name of the CryptoKey to list, in the format\n`projects/*/locations/*/keyRings/*/cryptoKeys/*`.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$", - "location": "path" - }, "pageToken": { "location": "query", "description": "Optional pagination token, returned earlier via\nListCryptoKeyVersionsResponse.next_page_token.", "type": "string" + }, + "pageSize": { + "format": "int32", + "description": "Optional limit on the number of CryptoKeyVersions to\ninclude in the response. Further CryptoKeyVersions can\nsubsequently be obtained by including the\nListCryptoKeyVersionsResponse.next_page_token in a subsequent request.\nIf unspecified, the server will pick an appropriate default.", + "type": "integer", + "location": "query" + }, + "parent": { + "location": "path", + "description": "Required. The resource name of the CryptoKey to list, in the format\n`projects/*/locations/*/keyRings/*/cryptoKeys/*`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+$" } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions", - "path": "v1/{+parent}/cryptoKeyVersions", - "id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.list" + } }, "create": { "description": "Create a new CryptoKeyVersion in a CryptoKey.\n\nThe server will assign the next sequential id. If unset,\nstate will be set to\nENABLED.", @@ -1336,20 +1128,20 @@ "path": "v1/{+parent}/cryptoKeyVersions" }, "destroy": { - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:destroy", - "path": "v1/{+name}:destroy", - "id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.destroy", - "description": "Schedule a CryptoKeyVersion for destruction.\n\nUpon calling this method, CryptoKeyVersion.state will be set to\nDESTROY_SCHEDULED\nand destroy_time will be set to a time 24\nhours in the future, at which point the state\nwill be changed to\nDESTROYED, and the key\nmaterial will be irrevocably destroyed.\n\nBefore the destroy_time is reached,\nRestoreCryptoKeyVersion may be called to reverse the process.", "request": { "$ref": "DestroyCryptoKeyVersionRequest" }, - "httpMethod": "POST", - "parameterOrder": [ - "name" - ], + "description": "Schedule a CryptoKeyVersion for destruction.\n\nUpon calling this method, CryptoKeyVersion.state will be set to\nDESTROY_SCHEDULED\nand destroy_time will be set to a time 24\nhours in the future, at which point the state\nwill be changed to\nDESTROYED, and the key\nmaterial will be irrevocably destroyed.\n\nBefore the destroy_time is reached,\nRestoreCryptoKeyVersion may be called to reverse the process.", "response": { "$ref": "CryptoKeyVersion" }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { "name": { "location": "path", @@ -1359,19 +1151,41 @@ "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$" } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:destroy", + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.destroy", + "path": "v1/{+name}:destroy" }, "restore": { + "response": { + "$ref": "CryptoKeyVersion" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The resource name of the CryptoKeyVersion to restore.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:restore", - "path": "v1/{+name}:restore", "id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.restore", + "path": "v1/{+name}:restore", + "description": "Restore a CryptoKeyVersion in the\nDESTROY_SCHEDULED,\nstate.\n\nUpon restoration of the CryptoKeyVersion, state\nwill be set to DISABLED,\nand destroy_time will be cleared.", "request": { "$ref": "RestoreCryptoKeyVersionRequest" - }, - "description": "Restore a CryptoKeyVersion in the\nDESTROY_SCHEDULED,\nstate.\n\nUpon restoration of the CryptoKeyVersion, state\nwill be set to DISABLED,\nand destroy_time will be cleared.", - "httpMethod": "POST", + } + }, + "get": { + "description": "Returns metadata for a given CryptoKeyVersion.", + "httpMethod": "GET", "parameterOrder": [ "name" ], @@ -1383,19 +1197,22 @@ ], "parameters": { "name": { - "description": "The resource name of the CryptoKeyVersion to restore.", + "description": "The name of the CryptoKeyVersion to get.", "type": "string", "required": true, "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$", "location": "path" } - } + }, + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}", + "path": "v1/{+name}", + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.get" }, "patch": { + "description": "Update a CryptoKeyVersion's metadata.\n\nstate may be changed between\nENABLED and\nDISABLED using this\nmethod. See DestroyCryptoKeyVersion and RestoreCryptoKeyVersion to\nmove between other states.", "request": { "$ref": "CryptoKeyVersion" }, - "description": "Update a CryptoKeyVersion's metadata.\n\nstate may be changed between\nENABLED and\nDISABLED using this\nmethod. See DestroyCryptoKeyVersion and RestoreCryptoKeyVersion to\nmove between other states.", "response": { "$ref": "CryptoKeyVersion" }, @@ -1403,15 +1220,12 @@ "name" ], "httpMethod": "PATCH", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "parameters": { "updateMask": { + "location": "query", "format": "google-fieldmask", "description": "Required list of fields to be updated in this request.", - "type": "string", - "location": "query" + "type": "string" }, "name": { "location": "path", @@ -1421,34 +1235,12 @@ "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$" } }, - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}", - "id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.patch", - "path": "v1/{+name}" - }, - "get": { - "httpMethod": "GET", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "CryptoKeyVersion" - }, - "parameters": { - "name": { - "location": "path", - "description": "The name of the CryptoKeyVersion to get.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+/cryptoKeyVersions/[^/]+$" - } - }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}", - "path": "v1/{+name}", - "id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.get", - "description": "Returns metadata for a given CryptoKeyVersion." + "id": "cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.patch", + "path": "v1/{+name}" } } } @@ -1462,6 +1254,43 @@ } }, "parameters": { + "pp": { + "description": "Pretty-print response.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string", + "location": "query" + }, + "prettyPrint": { + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", + "location": "query" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string", + "location": "query" + }, "callback": { "description": "JSONP", "type": "string", @@ -1481,6 +1310,12 @@ ] }, "alt": { + "enum": [ + "json", + "media", + "proto" + ], + "type": "string", "enumDescriptions": [ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", @@ -1488,12 +1323,11 @@ ], "location": "query", "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], + "default": "json" + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", "type": "string" }, "access_token": { @@ -1501,58 +1335,19 @@ "type": "string", "location": "query" }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, "quotaUser": { - "location": "query", "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" - }, - "pp": { - "description": "Pretty-print response.", - "default": "true", - "type": "boolean", - "location": "query" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" - }, - "bearer_token": { - "description": "OAuth bearer token.", - "type": "string", - "location": "query" - }, - "upload_protocol": { - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string", - "location": "query" - }, - "prettyPrint": { - "location": "query", - "description": "Returns response with indentations and line breaks.", - "default": "true", - "type": "boolean" - }, - "fields": { - "location": "query", - "description": "Selector specifying which fields to include in a partial response.", - "type": "string" - }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", "type": "string", "location": "query" } }, "version": "v1", "baseUrl": "https://cloudkms.googleapis.com/", - "servicePath": "", "description": "Manages encryption for your cloud services the same way you do on-premises. You can generate, use, rotate, and destroy AES256 encryption keys.", + "servicePath": "", "kind": "discovery#restDescription", - "basePath": "" + "basePath": "", + "documentationLink": "https://cloud.google.com/kms/", + "revision": "20170919", + "id": "cloudkms:v1" } diff --git a/vendor/google.golang.org/api/cloudkms/v1/cloudkms-gen.go b/vendor/google.golang.org/api/cloudkms/v1/cloudkms-gen.go index f51770cde..38cf58f72 100644 --- a/vendor/google.golang.org/api/cloudkms/v1/cloudkms-gen.go +++ b/vendor/google.golang.org/api/cloudkms/v1/cloudkms-gen.go @@ -364,169 +364,6 @@ func (s *Binding) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// CloudAuditOptions: Write a Cloud Audit log -type CloudAuditOptions struct { - // LogName: The log_name to populate in the Cloud Audit Record. - // - // Possible values: - // "UNSPECIFIED_LOG_NAME" - Default. Should not be used. - // "ADMIN_ACTIVITY" - Corresponds to - // "cloudaudit.googleapis.com/activity" - // "DATA_ACCESS" - Corresponds to - // "cloudaudit.googleapis.com/data_access" - LogName string `json:"logName,omitempty"` - - // ForceSendFields is a list of field names (e.g. "LogName") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "LogName") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *CloudAuditOptions) MarshalJSON() ([]byte, error) { - type noMethod CloudAuditOptions - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// Condition: A condition to be met. -type Condition struct { - // Iam: Trusted attributes supplied by the IAM system. - // - // Possible values: - // "NO_ATTR" - Default non-attribute. - // "AUTHORITY" - Either principal or (if present) authority selector. - // "ATTRIBUTION" - The principal (even if an authority selector is - // present), which - // must only be used for attribution, not authorization. - // "APPROVER" - An approver (distinct from the requester) that has - // authorized this - // request. - // When used with IN, the condition indicates that one of the - // approvers - // associated with the request matches the specified principal, or is - // a - // member of the specified group. Approvers can only grant - // additional - // access, and are thus only used in a strictly positive context - // (e.g. ALLOW/IN or DENY/NOT_IN). - // "JUSTIFICATION_TYPE" - What types of justifications have been - // supplied with this request. - // String values should match enum names from - // tech.iam.JustificationType, - // e.g. "MANUAL_STRING". It is not permitted to grant access based - // on - // the *absence* of a justification, so justification conditions can - // only - // be used in a "positive" context (e.g., ALLOW/IN or - // DENY/NOT_IN). - // - // Multiple justifications, e.g., a Buganizer ID and a - // manually-entered - // reason, are normal and supported. - Iam string `json:"iam,omitempty"` - - // Op: An operator to apply the subject with. - // - // Possible values: - // "NO_OP" - Default no-op. - // "EQUALS" - DEPRECATED. Use IN instead. - // "NOT_EQUALS" - DEPRECATED. Use NOT_IN instead. - // "IN" - The condition is true if the subject (or any element of it - // if it is - // a set) matches any of the supplied values. - // "NOT_IN" - The condition is true if the subject (or every element - // of it if it is - // a set) matches none of the supplied values. - // "DISCHARGED" - Subject is discharged - Op string `json:"op,omitempty"` - - // Svc: Trusted attributes discharged by the service. - Svc string `json:"svc,omitempty"` - - // Sys: Trusted attributes supplied by any service that owns resources - // and uses - // the IAM system for access control. - // - // Possible values: - // "NO_ATTR" - Default non-attribute type - // "REGION" - Region of the resource - // "SERVICE" - Service name - // "NAME" - Resource name - // "IP" - IP address of the caller - Sys string `json:"sys,omitempty"` - - // Value: DEPRECATED. Use 'values' instead. - Value string `json:"value,omitempty"` - - // Values: The objects of the condition. This is mutually exclusive with - // 'value'. - Values []string `json:"values,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Iam") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Iam") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *Condition) MarshalJSON() ([]byte, error) { - type noMethod Condition - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// CounterOptions: Options for counters -type CounterOptions struct { - // Field: The field value to attribute. - Field string `json:"field,omitempty"` - - // Metric: The metric to update. - Metric string `json:"metric,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Field") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Field") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *CounterOptions) MarshalJSON() ([]byte, error) { - type noMethod CounterOptions - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // CryptoKey: A CryptoKey represents a logical key that can be used for // cryptographic // operations. @@ -538,6 +375,9 @@ type CryptoKey struct { // created. CreateTime string `json:"createTime,omitempty"` + // Labels: Labels with user defined metadata. + Labels map[string]string `json:"labels,omitempty"` + // Name: Output only. The resource name for this CryptoKey in the // format // `projects/*/locations/*/keyRings/*/cryptoKeys/*`. @@ -620,6 +460,14 @@ func (s *CryptoKey) MarshalJSON() ([]byte, error) { // parent CryptoKey, in which case the server will choose the // appropriate // version for the operation. +// +// For security reasons, the raw cryptographic key material represented +// by a +// CryptoKeyVersion can never be viewed or exported. It can only be used +// to +// encrypt or decrypt data when an authorized user or application +// invokes Cloud +// KMS. type CryptoKeyVersion struct { // CreateTime: Output only. The time at which this CryptoKeyVersion was // created. @@ -689,10 +537,6 @@ func (s *CryptoKeyVersion) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// DataAccessOptions: Write a Data Access (Gin) log -type DataAccessOptions struct { -} - // DecryptRequest: Request message for KeyManagementService.Decrypt. type DecryptRequest struct { // AdditionalAuthenticatedData: Optional data that must match the data @@ -1146,69 +990,6 @@ func (s *Location) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// LogConfig: Specifies what kind of log the caller must write -// Increment a streamz counter with the specified metric and field -// names. -// -// Metric names should start with a '/', generally be -// lowercase-only, -// and end in "_count". Field names should not contain an initial -// slash. -// The actual exported metric names will have "/iam/policy" -// prepended. -// -// Field names correspond to IAM request parameters and field values -// are -// their respective values. -// -// At present the only supported field names are -// - "iam_principal", corresponding to IAMContext.principal; -// - "" (empty string), resulting in one aggretated counter with no -// field. -// -// Examples: -// counter { metric: "/debug_access_count" field: "iam_principal" } -// ==> increment counter /iam/policy/backend_debug_access_count -// {iam_principal=[value of -// IAMContext.principal]} -// -// At this time we do not support: -// * multiple field names (though this may be supported in the future) -// * decrementing the counter -// * incrementing it by anything other than 1 -type LogConfig struct { - // CloudAudit: Cloud audit options. - CloudAudit *CloudAuditOptions `json:"cloudAudit,omitempty"` - - // Counter: Counter options. - Counter *CounterOptions `json:"counter,omitempty"` - - // DataAccess: Data access options. - DataAccess *DataAccessOptions `json:"dataAccess,omitempty"` - - // ForceSendFields is a list of field names (e.g. "CloudAudit") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "CloudAudit") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *LogConfig) MarshalJSON() ([]byte, error) { - type noMethod LogConfig - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // Policy: Defines an Identity and Access Management (IAM) policy. It is // used to // specify access control policies for Cloud Platform resources. @@ -1276,20 +1057,6 @@ type Policy struct { IamOwned bool `json:"iamOwned,omitempty"` - // Rules: If more than one rule is specified, the rules are applied in - // the following - // manner: - // - All matching LOG rules are always applied. - // - If any DENY/DENY_WITH_LOG rule matches, permission is denied. - // Logging will be applied if one or more matching rule requires - // logging. - // - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is - // granted. - // Logging will be applied if one or more matching rule requires - // logging. - // - Otherwise, if no rule applies, permission is denied. - Rules []*Rule `json:"rules,omitempty"` - // Version: Version of the `Policy`. The default version is 0. Version int64 `json:"version,omitempty"` @@ -1325,77 +1092,6 @@ func (s *Policy) MarshalJSON() ([]byte, error) { type RestoreCryptoKeyVersionRequest struct { } -// Rule: A rule to be applied in a Policy. -type Rule struct { - // Action: Required - // - // Possible values: - // "NO_ACTION" - Default no action. - // "ALLOW" - Matching 'Entries' grant access. - // "ALLOW_WITH_LOG" - Matching 'Entries' grant access and the caller - // promises to log - // the request per the returned log_configs. - // "DENY" - Matching 'Entries' deny access. - // "DENY_WITH_LOG" - Matching 'Entries' deny access and the caller - // promises to log - // the request per the returned log_configs. - // "LOG" - Matching 'Entries' tell IAM.Check callers to generate logs. - Action string `json:"action,omitempty"` - - // Conditions: Additional restrictions that must be met - Conditions []*Condition `json:"conditions,omitempty"` - - // Description: Human-readable description of the rule. - Description string `json:"description,omitempty"` - - // In: If one or more 'in' clauses are specified, the rule matches - // if - // the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries. - In []string `json:"in,omitempty"` - - // LogConfig: The config returned to callers of tech.iam.IAM.CheckPolicy - // for any entries - // that match the LOG action. - LogConfig []*LogConfig `json:"logConfig,omitempty"` - - // NotIn: If one or more 'not_in' clauses are specified, the rule - // matches - // if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries. - // The format for in and not_in entries is the same as for members in - // a - // Binding (see google/iam/v1/policy.proto). - NotIn []string `json:"notIn,omitempty"` - - // Permissions: A permission is a string of form '..' - // (e.g., 'storage.buckets.list'). A value of '*' matches all - // permissions, - // and a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs. - Permissions []string `json:"permissions,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Action") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Action") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *Rule) MarshalJSON() ([]byte, error) { - type noMethod Rule - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // SetIamPolicyRequest: Request message for `SetIamPolicy` method. type SetIamPolicyRequest struct { // Policy: REQUIRED: The complete policy to be applied to the diff --git a/vendor/google.golang.org/api/cloudmonitoring/v2beta2/cloudmonitoring-api.json b/vendor/google.golang.org/api/cloudmonitoring/v2beta2/cloudmonitoring-api.json index 891023345..16d7b4fb8 100644 --- a/vendor/google.golang.org/api/cloudmonitoring/v2beta2/cloudmonitoring-api.json +++ b/vendor/google.golang.org/api/cloudmonitoring/v2beta2/cloudmonitoring-api.json @@ -21,7 +21,7 @@ "basePath": "/cloudmonitoring/v2beta2/projects/", "rootUrl": "https://www.googleapis.com/", "servicePath": "cloudmonitoring/v2beta2/projects/", - "batchPath": "batch", + "batchPath": "batch/cloudmonitoring/v2beta2", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/cloudresourcemanager/v1/cloudresourcemanager-api.json b/vendor/google.golang.org/api/cloudresourcemanager/v1/cloudresourcemanager-api.json index 9d6c38871..1d4b7d063 100644 --- a/vendor/google.golang.org/api/cloudresourcemanager/v1/cloudresourcemanager-api.json +++ b/vendor/google.golang.org/api/cloudresourcemanager/v1/cloudresourcemanager-api.json @@ -1,170 +1,23 @@ { + "discoveryVersion": "v1", "schemas": { - "GetOrgPolicyRequest": { - "description": "The request sent to the GetOrgPolicy method.", + "ListOrgPoliciesResponse": { + "description": "The response returned from the ListOrgPolicies method. It will be empty\nif no `Policies` are set on the resource.", "type": "object", "properties": { - "constraint": { - "description": "Name of the `Constraint` to get the `Policy`.", - "type": "string" - } - }, - "id": "GetOrgPolicyRequest" - }, - "RestoreDefault": { - "description": "Ignores policies set above this resource and restores the\n`constraint_default` enforcement behavior of the specific `Constraint` at\nthis resource.\n\nSuppose that `constraint_default` is set to `ALLOW` for the\n`Constraint` `constraints/serviceuser.services`. Suppose that organization\nfoo.com sets a `Policy` at their Organization resource node that restricts\nthe allowed service activations to deny all service activations. They\ncould then set a `Policy` with the `policy_type` `restore_default` on\nseveral experimental projects, restoring the `constraint_default`\nenforcement of the `Constraint` for only those projects, allowing those\nprojects to have all services activated.", - "type": "object", - "properties": {}, - "id": "RestoreDefault" - }, - "ClearOrgPolicyRequest": { - "description": "The request sent to the ClearOrgPolicy method.", - "type": "object", - "properties": { - "constraint": { - "description": "Name of the `Constraint` of the `Policy` to clear.", - "type": "string" - }, - "etag": { - "format": "byte", - "description": "The current version, for concurrency control. Not sending an `etag`\nwill cause the `Policy` to be cleared blindly.", - "type": "string" - } - }, - "id": "ClearOrgPolicyRequest" - }, - "UndeleteProjectRequest": { - "description": "The request sent to the UndeleteProject\nmethod.", - "type": "object", - "properties": {}, - "id": "UndeleteProjectRequest" - }, - "ProjectCreationStatus": { - "description": "A status object which is used as the `metadata` field for the Operation\nreturned by CreateProject. It provides insight for when significant phases of\nProject creation have completed.", - "type": "object", - "properties": { - "gettable": { - "description": "True if the project can be retrieved using GetProject. No other operations\non the project are guaranteed to work until the project creation is\ncomplete.", - "type": "boolean" - }, - "createTime": { - "format": "google-datetime", - "description": "Creation time of the project creation workflow.", - "type": "string" - }, - "ready": { - "description": "True if the project creation process is complete.", - "type": "boolean" - } - }, - "id": "ProjectCreationStatus" - }, - "BooleanConstraint": { - "description": "A `Constraint` that is either enforced or not.\n\nFor example a constraint `constraints/compute.disableSerialPortAccess`.\nIf it is enforced on a VM instance, serial port connections will not be\nopened to that instance.", - "type": "object", - "properties": {}, - "id": "BooleanConstraint" - }, - "GetIamPolicyRequest": { - "description": "Request message for `GetIamPolicy` method.", - "type": "object", - "properties": {}, - "id": "GetIamPolicyRequest" - }, - "TestIamPermissionsResponse": { - "description": "Response message for `TestIamPermissions` method.", - "type": "object", - "properties": { - "permissions": { - "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "policies": { + "description": "The `Policies` that are set on the resource. It will be empty if no\n`Policies` are set.", "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "TestIamPermissionsResponse" - }, - "OrganizationOwner": { - "description": "The entity that owns an Organization. The lifetime of the Organization and\nall of its descendants are bound to the `OrganizationOwner`. If the\n`OrganizationOwner` is deleted, the Organization and all its descendants will\nbe deleted.", - "type": "object", - "properties": { - "directoryCustomerId": { - "description": "The Google for Work customer id used in the Directory API.", - "type": "string" - } - }, - "id": "OrganizationOwner" - }, - "ListProjectsResponse": { - "description": "A page of the response received from the\nListProjects\nmethod.\n\nA paginated response where more pages are available has\n`next_page_token` set. This token can be used in a subsequent request to\nretrieve the next request page.", - "type": "object", - "properties": { - "projects": { - "description": "The list of Projects that matched the list filter. This list can\nbe paginated.", - "items": { - "$ref": "Project" + "$ref": "OrgPolicy" }, "type": "array" }, "nextPageToken": { - "description": "Pagination token.\n\nIf the result set is too large to fit in a single response, this token\nis returned. It encodes the position of the current result cursor.\nFeeding this value into a new list request with the `page_token` parameter\ngives the next page of the results.\n\nWhen `next_page_token` is not filled in, there is no next page and\nthe list returned is the last page in the result set.\n\nPagination tokens have a limited lifetime.", + "description": "Page token used to retrieve the next page. This is currently not used, but\nthe server may at any point start supplying a valid token.", "type": "string" } }, - "id": "ListProjectsResponse" - }, - "Project": { - "description": "A Project is a high-level Google Cloud Platform entity. It is a\ncontainer for ACLs, APIs, App Engine Apps, VMs, and other\nGoogle Cloud Platform resources.", - "type": "object", - "properties": { - "projectId": { - "description": "The unique, user-assigned ID of the Project.\nIt must be 6 to 30 lowercase letters, digits, or hyphens.\nIt must start with a letter.\nTrailing hyphens are prohibited.\n\nExample: \u003ccode\u003etokyo-rain-123\u003c/code\u003e\nRead-only after creation.", - "type": "string" - }, - "lifecycleState": { - "description": "The Project lifecycle state.\n\nRead-only.", - "type": "string", - "enumDescriptions": [ - "Unspecified state. This is only used/useful for distinguishing\nunset values.", - "The normal and active state.", - "The project has been marked for deletion by the user\n(by invoking\nDeleteProject)\nor by the system (Google Cloud Platform).\nThis can generally be reversed by invoking UndeleteProject.", - "This lifecycle state is no longer used and not returned by the API." - ], - "enum": [ - "LIFECYCLE_STATE_UNSPECIFIED", - "ACTIVE", - "DELETE_REQUESTED", - "DELETE_IN_PROGRESS" - ] - }, - "projectNumber": { - "format": "int64", - "description": "The number uniquely identifying the project.\n\nExample: \u003ccode\u003e415104041262\u003c/code\u003e\nRead-only.", - "type": "string" - }, - "parent": { - "description": "An optional reference to a parent Resource.\n\nThe only supported parent type is \"organization\". Once set, the parent\ncannot be modified. The `parent` can be set on creation or using the\n`UpdateProject` method; the end user must have the\n`resourcemanager.projects.create` permission on the parent.\n\nRead-write.", - "$ref": "ResourceId" - }, - "labels": { - "description": "The labels associated with this Project.\n\nLabel keys must be between 1 and 63 characters long and must conform\nto the following regular expression: \\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?.\n\nLabel values must be between 0 and 63 characters long and must conform\nto the regular expression (\\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?)?.\n\nNo more than 256 labels can be associated with a given resource.\n\nClients should store labels in a representation such as JSON that does not\ndepend on specific characters being disallowed.\n\nExample: \u003ccode\u003e\"environment\" : \"dev\"\u003c/code\u003e\nRead-write.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "createTime": { - "format": "google-datetime", - "description": "Creation time.\n\nRead-only.", - "type": "string" - }, - "name": { - "description": "The user-assigned display name of the Project.\nIt must be 4 to 30 characters.\nAllowed characters are: lowercase and uppercase letters, numbers,\nhyphen, single-quote, double-quote, space, and exclamation point.\n\nExample: \u003ccode\u003eMy Project\u003c/code\u003e\nRead-write.", - "type": "string" - } - }, - "id": "Project" + "id": "ListOrgPoliciesResponse" }, "SearchOrganizationsResponse": { "description": "The response returned from the `SearchOrganizations` method.", @@ -184,29 +37,21 @@ }, "id": "SearchOrganizationsResponse" }, - "ListOrgPoliciesResponse": { - "description": "The response returned from the ListOrgPolicies method. It will be empty\nif no `Policies` are set on the resource.", - "type": "object", - "properties": { - "policies": { - "description": "The `Policies` that are set on the resource. It will be empty if no\n`Policies` are set.", - "items": { - "$ref": "OrgPolicy" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Page token used to retrieve the next page. This is currently not used, but\nthe server may at any point start supplying a valid token.", - "type": "string" - } - }, - "id": "ListOrgPoliciesResponse" - }, "FolderOperationError": { - "description": "A classification of the Folder Operation error.", - "type": "object", "properties": { "errorMessageId": { + "enum": [ + "ERROR_TYPE_UNSPECIFIED", + "ACTIVE_FOLDER_HEIGHT_VIOLATION", + "MAX_CHILD_FOLDERS_VIOLATION", + "FOLDER_NAME_UNIQUENESS_VIOLATION", + "RESOURCE_DELETED_VIOLATION", + "PARENT_DELETED_VIOLATION", + "CYCLE_INTRODUCED_VIOLATION", + "FOLDER_BEING_MOVED_VIOLATION", + "FOLDER_TO_DELETE_NON_EMPTY_VIOLATION", + "DELETED_FOLDER_HEIGHT_VIOLATION" + ], "description": "The type of operation error experienced.", "type": "string", "enumDescriptions": [ @@ -220,50 +65,18 @@ "The attempted action would move a folder that is already being moved.", "The folder the caller is trying to delete contains active resources.", "The attempted action would violate the max deleted folder depth\nconstraint." - ], - "enum": [ - "ERROR_TYPE_UNSPECIFIED", - "ACTIVE_FOLDER_HEIGHT_VIOLATION", - "MAX_CHILD_FOLDERS_VIOLATION", - "FOLDER_NAME_UNIQUENESS_VIOLATION", - "RESOURCE_DELETED_VIOLATION", - "PARENT_DELETED_VIOLATION", - "CYCLE_INTRODUCED_VIOLATION", - "FOLDER_BEING_MOVED_VIOLATION", - "FOLDER_TO_DELETE_NON_EMPTY_VIOLATION", - "DELETED_FOLDER_HEIGHT_VIOLATION" ] } }, - "id": "FolderOperationError" - }, - "BooleanPolicy": { - "description": "Used in `policy_type` to specify how `boolean_policy` will behave at this\nresource.", - "type": "object", - "properties": { - "enforced": { - "description": "If `true`, then the `Policy` is enforced. If `false`, then any\nconfiguration is acceptable.\n\nSuppose you have a `Constraint` `constraints/compute.disableSerialPortAccess`\nwith `constraint_default` set to `ALLOW`. A `Policy` for that\n`Constraint` exhibits the following behavior:\n - If the `Policy` at this resource has enforced set to `false`, serial\n port connection attempts will be allowed.\n - If the `Policy` at this resource has enforced set to `true`, serial\n port connection attempts will be refused.\n - If the `Policy` at this resource is `RestoreDefault`, serial port\n connection attempts will be allowed.\n - If no `Policy` is set at this resource or anywhere higher in the\n resource hierarchy, serial port connection attempts will be allowed.\n - If no `Policy` is set at this resource, but one exists higher in the\n resource hierarchy, the behavior is as if the`Policy` were set at\n this resource.\n\nThe following examples demonstrate the different possible layerings:\n\nExample 1 (nearest `Constraint` wins):\n `organizations/foo` has a `Policy` with:\n {enforced: false}\n `projects/bar` has no `Policy` set.\nThe constraint at `projects/bar` and `organizations/foo` will not be\nenforced.\n\nExample 2 (enforcement gets replaced):\n `organizations/foo` has a `Policy` with:\n {enforced: false}\n `projects/bar` has a `Policy` with:\n {enforced: true}\nThe constraint at `organizations/foo` is not enforced.\nThe constraint at `projects/bar` is enforced.\n\nExample 3 (RestoreDefault):\n `organizations/foo` has a `Policy` with:\n {enforced: true}\n `projects/bar` has a `Policy` with:\n {RestoreDefault: {}}\nThe constraint at `organizations/foo` is enforced.\nThe constraint at `projects/bar` is not enforced, because\n`constraint_default` for the `Constraint` is `ALLOW`.", - "type": "boolean" - } - }, - "id": "BooleanPolicy" + "id": "FolderOperationError", + "description": "A classification of the Folder Operation error.", + "type": "object" }, "OrgPolicy": { - "description": "Defines a Cloud Organization `Policy` which is used to specify `Constraints`\nfor configurations of Cloud Platform resources.", - "type": "object", "properties": { - "version": { - "format": "int32", - "description": "Version of the `Policy`. Default version is 0;", - "type": "integer" - }, - "restoreDefault": { - "$ref": "RestoreDefault", - "description": "Restores the default behavior of the constraint; independent of\n`Constraint` type." - }, "listPolicy": { - "description": "List of values either allowed or disallowed.", - "$ref": "ListPolicy" + "$ref": "ListPolicy", + "description": "List of values either allowed or disallowed." }, "etag": { "format": "byte", @@ -282,13 +95,33 @@ "format": "google-datetime", "description": "The time stamp the `Policy` was previously updated. This is set by the\nserver, not specified by the caller, and represents the last time a call to\n`SetOrgPolicy` was made for that `Policy`. Any value set by the client will\nbe ignored.", "type": "string" + }, + "version": { + "format": "int32", + "description": "Version of the `Policy`. Default version is 0;", + "type": "integer" + }, + "restoreDefault": { + "description": "Restores the default behavior of the constraint; independent of\n`Constraint` type.", + "$ref": "RestoreDefault" } }, - "id": "OrgPolicy" + "id": "OrgPolicy", + "description": "Defines a Cloud Organization `Policy` which is used to specify `Constraints`\nfor configurations of Cloud Platform resources.", + "type": "object" + }, + "BooleanPolicy": { + "description": "Used in `policy_type` to specify how `boolean_policy` will behave at this\nresource.", + "type": "object", + "properties": { + "enforced": { + "description": "If `true`, then the `Policy` is enforced. If `false`, then any\nconfiguration is acceptable.\n\nSuppose you have a `Constraint` `constraints/compute.disableSerialPortAccess`\nwith `constraint_default` set to `ALLOW`. A `Policy` for that\n`Constraint` exhibits the following behavior:\n - If the `Policy` at this resource has enforced set to `false`, serial\n port connection attempts will be allowed.\n - If the `Policy` at this resource has enforced set to `true`, serial\n port connection attempts will be refused.\n - If the `Policy` at this resource is `RestoreDefault`, serial port\n connection attempts will be allowed.\n - If no `Policy` is set at this resource or anywhere higher in the\n resource hierarchy, serial port connection attempts will be allowed.\n - If no `Policy` is set at this resource, but one exists higher in the\n resource hierarchy, the behavior is as if the`Policy` were set at\n this resource.\n\nThe following examples demonstrate the different possible layerings:\n\nExample 1 (nearest `Constraint` wins):\n `organizations/foo` has a `Policy` with:\n {enforced: false}\n `projects/bar` has no `Policy` set.\nThe constraint at `projects/bar` and `organizations/foo` will not be\nenforced.\n\nExample 2 (enforcement gets replaced):\n `organizations/foo` has a `Policy` with:\n {enforced: false}\n `projects/bar` has a `Policy` with:\n {enforced: true}\nThe constraint at `organizations/foo` is not enforced.\nThe constraint at `projects/bar` is enforced.\n\nExample 3 (RestoreDefault):\n `organizations/foo` has a `Policy` with:\n {enforced: true}\n `projects/bar` has a `Policy` with:\n {RestoreDefault: {}}\nThe constraint at `organizations/foo` is enforced.\nThe constraint at `projects/bar` is not enforced, because\n`constraint_default` for the `Constraint` is `ALLOW`.", + "type": "boolean" + } + }, + "id": "BooleanPolicy" }, "Lien": { - "description": "A Lien represents an encumbrance on the actions that can be performed on a\nresource.", - "type": "object", "properties": { "parent": { "description": "A reference to the resource this Lien is attached to. The server will\nvalidate the parent against those for which Liens are supported.\n\nExample: `projects/1234`", @@ -299,6 +132,10 @@ "description": "The creation time of this Lien.", "type": "string" }, + "name": { + "description": "A system-generated unique identifier for this Lien.\n\nExample: `liens/1234abcd`", + "type": "string" + }, "reason": { "description": "Concise user-visible strings indicating why an action cannot be performed\non a resource. Maximum lenth of 200 characters.\n\nExample: 'Holds production API key'", "type": "string" @@ -307,10 +144,6 @@ "description": "A stable, user-visible/meaningful string identifying the origin of the\nLien, intended to be inspected programmatically. Maximum length of 200\ncharacters.\n\nExample: 'compute.googleapis.com'", "type": "string" }, - "name": { - "description": "A system-generated unique identifier for this Lien.\n\nExample: `liens/1234abcd`", - "type": "string" - }, "restrictions": { "description": "The types of operations which should be blocked as a result of this Lien.\nEach value should correspond to an IAM permission. The server will\nvalidate the permissions against those for which Liens are supported.\n\nAn empty list is meaningless and will be rejected.\n\nExample: ['resourcemanager.projects.delete']", "items": { @@ -319,29 +152,31 @@ "type": "array" } }, - "id": "Lien" + "id": "Lien", + "description": "A Lien represents an encumbrance on the actions that can be performed on a\nresource.", + "type": "object" }, "Ancestor": { - "description": "Identifying information for a single ancestor of a project.", - "type": "object", "properties": { "resourceId": { - "$ref": "ResourceId", - "description": "Resource id of the ancestor." + "description": "Resource id of the ancestor.", + "$ref": "ResourceId" } }, - "id": "Ancestor" + "id": "Ancestor", + "description": "Identifying information for a single ancestor of a project.", + "type": "object" }, "ListConstraint": { - "description": "A `Constraint` that allows or disallows a list of string values, which are\nconfigured by an Organization's policy administrator with a `Policy`.", - "type": "object", "properties": { "suggestedValue": { "description": "Optional. The Google Cloud Console will try to default to a configuration\nthat matches the value specified in this `Constraint`.", "type": "string" } }, - "id": "ListConstraint" + "id": "ListConstraint", + "description": "A `Constraint` that allows or disallows a list of string values, which are\nconfigured by an Organization's policy administrator with a `Policy`.", + "type": "object" }, "SetOrgPolicyRequest": { "description": "The request sent to the SetOrgPolicyRequest method.", @@ -355,68 +190,66 @@ "id": "SetOrgPolicyRequest" }, "SetIamPolicyRequest": { - "description": "Request message for `SetIamPolicy` method.", - "type": "object", "properties": { - "policy": { - "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them.", - "$ref": "Policy" - }, "updateMask": { "format": "google-fieldmask", "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", "type": "string" + }, + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." } }, - "id": "SetIamPolicyRequest" + "id": "SetIamPolicyRequest", + "description": "Request message for `SetIamPolicy` method.", + "type": "object" }, "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", - "type": "object", "properties": {}, - "id": "Empty" + "id": "Empty", + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object" }, "Organization": { "description": "The root node in the resource hierarchy to which a particular entity's\n(e.g., company) resources belong.", "type": "object", "properties": { - "displayName": { - "description": "A friendly string to be used to refer to the Organization in the UI.\nAssigned by the server, set to the primary domain of the G Suite\ncustomer that owns the organization.\n@OutputOnly", - "type": "string" - }, "creationTime": { "format": "google-datetime", "description": "Timestamp when the Organization was created. Assigned by the server.\n@OutputOnly", "type": "string" }, "lifecycleState": { + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "ACTIVE", + "DELETE_REQUESTED" + ], "description": "The organization's current lifecycle state. Assigned by the server.\n@OutputOnly", "type": "string", "enumDescriptions": [ "Unspecified state. This is only useful for distinguishing unset values.", "The normal and active state.", "The organization has been marked for deletion by the user." - ], - "enum": [ - "LIFECYCLE_STATE_UNSPECIFIED", - "ACTIVE", - "DELETE_REQUESTED" ] }, "owner": { - "description": "The owner of this Organization. The owner should be specified on\ncreation. Once set, it cannot be changed.\nThis field is required.", - "$ref": "OrganizationOwner" + "$ref": "OrganizationOwner", + "description": "The owner of this Organization. The owner should be specified on\ncreation. Once set, it cannot be changed.\nThis field is required." }, "name": { "description": "Output Only. The resource name of the organization. This is the\norganization's relative path in the API. Its format is\n\"organizations/[organization_id]\". For example, \"organizations/1234\".", "type": "string" + }, + "displayName": { + "description": "A friendly string to be used to refer to the Organization in the UI.\nAssigned by the server, set to the primary domain of the G Suite\ncustomer that owns the organization.\n@OutputOnly", + "type": "string" } }, "id": "Organization" }, "ListAvailableOrgPolicyConstraintsResponse": { - "description": "The response returned from the ListAvailableOrgPolicyConstraints method.\nReturns all `Constraints` that could be set at this level of the hierarchy\n(contrast with the response from `ListPolicies`, which returns all policies\nwhich are set).", - "type": "object", "properties": { "nextPageToken": { "description": "Page token used to retrieve the next page. This is currently not used.", @@ -430,19 +263,12 @@ "type": "array" } }, - "id": "ListAvailableOrgPolicyConstraintsResponse" + "id": "ListAvailableOrgPolicyConstraintsResponse", + "description": "The response returned from the ListAvailableOrgPolicyConstraints method.\nReturns all `Constraints` that could be set at this level of the hierarchy\n(contrast with the response from `ListPolicies`, which returns all policies\nwhich are set).", + "type": "object" }, "ListPolicy": { - "description": "Used in `policy_type` to specify how `list_policy` behaves at this\nresource.\n\nA `ListPolicy` can define specific values that are allowed or denied by\nsetting either the `allowed_values` or `denied_values` fields. It can also\nbe used to allow or deny all values, by setting the `all_values` field. If\n`all_values` is `ALL_VALUES_UNSPECIFIED`, exactly one of `allowed_values`\nor `denied_values` must be set (attempting to set both or neither will\nresult in a failed request). If `all_values` is set to either `ALLOW` or\n`DENY`, `allowed_values` and `denied_values` must be unset.", - "type": "object", "properties": { - "deniedValues": { - "description": "List of values denied at this resource. Can only be set if no values are\nset for `allowed_values` and `all_values` is set to\n`ALL_VALUES_UNSPECIFIED`.", - "items": { - "type": "string" - }, - "type": "array" - }, "allValues": { "enumDescriptions": [ "Indicates that either allowed_values or denied_values must be set.", @@ -471,9 +297,18 @@ "suggestedValue": { "description": "Optional. The Google Cloud Console will try to default to a configuration\nthat matches the value specified in this `Policy`. If `suggested_value`\nis not set, it will inherit the value specified higher in the hierarchy,\nunless `inherit_from_parent` is `false`.", "type": "string" + }, + "deniedValues": { + "description": "List of values denied at this resource. Can only be set if no values are\nset for `allowed_values` and `all_values` is set to\n`ALL_VALUES_UNSPECIFIED`.", + "items": { + "type": "string" + }, + "type": "array" } }, - "id": "ListPolicy" + "id": "ListPolicy", + "description": "Used in `policy_type` to specify how `list_policy` behaves at this\nresource.\n\nA `ListPolicy` can define specific values that are allowed or denied by\nsetting either the `allowed_values` or `denied_values` fields. It can also\nbe used to allow or deny all values, by setting the `all_values` field. If\n`all_values` is `ALL_VALUES_UNSPECIFIED`, exactly one of `allowed_values`\nor `denied_values` must be set (attempting to set both or neither will\nresult in a failed request). If `all_values` is set to either `ALLOW` or\n`DENY`, `allowed_values` and `denied_values` must be unset.", + "type": "object" }, "GetAncestryResponse": { "description": "Response from the GetAncestry method.", @@ -490,8 +325,6 @@ "id": "GetAncestryResponse" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\nfoo@gmail.com from DATA_READ logging.", - "type": "object", "properties": { "exemptedMembers": { "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", @@ -501,8 +334,6 @@ "type": "array" }, "logType": { - "description": "The log type that this config enables.", - "type": "string", "enumDescriptions": [ "Default case. Should never be this.", "Admin reads. Example: CloudIAM getIamPolicy", @@ -514,19 +345,17 @@ "ADMIN_READ", "DATA_WRITE", "DATA_READ" - ] + ], + "description": "The log type that this config enables.", + "type": "string" } }, - "id": "AuditLogConfig" + "id": "AuditLogConfig", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\nfoo@gmail.com from DATA_READ logging.", + "type": "object" }, "SearchOrganizationsRequest": { - "description": "The request sent to the `SearchOrganizations` method.", - "type": "object", "properties": { - "filter": { - "description": "An optional query string used to filter the Organizations to return in\nthe response. Filter rules are case-insensitive.\n\n\nOrganizations may be filtered by `owner.directoryCustomerId` or by\n`domain`, where the domain is a Google for Work domain, for example:\n\n|Filter|Description|\n|------|-----------|\n|owner.directorycustomerid:123456789|Organizations with\n`owner.directory_customer_id` equal to `123456789`.|\n|domain:google.com|Organizations corresponding to the domain `google.com`.|\n\nThis field is optional.", - "type": "string" - }, "pageToken": { "description": "A pagination token returned from a previous call to `SearchOrganizations`\nthat indicates from where listing should continue.\nThis field is optional.", "type": "string" @@ -535,15 +364,21 @@ "format": "int32", "description": "The maximum number of Organizations to return in the response.\nThis field is optional.", "type": "integer" + }, + "filter": { + "description": "An optional query string used to filter the Organizations to return in\nthe response. Filter rules are case-insensitive.\n\n\nOrganizations may be filtered by `owner.directoryCustomerId` or by\n`domain`, where the domain is a Google for Work domain, for example:\n\n|Filter|Description|\n|------|-----------|\n|owner.directorycustomerid:123456789|Organizations with\n`owner.directory_customer_id` equal to `123456789`.|\n|domain:google.com|Organizations corresponding to the domain `google.com`.|\n\nThis field is optional.", + "type": "string" } }, - "id": "SearchOrganizationsRequest" + "id": "SearchOrganizationsRequest", + "description": "The request sent to the `SearchOrganizations` method.", + "type": "object" }, "GetAncestryRequest": { - "description": "The request sent to the\nGetAncestry\nmethod.", - "type": "object", "properties": {}, - "id": "GetAncestryRequest" + "id": "GetAncestryRequest", + "description": "The request sent to the\nGetAncestry\nmethod.", + "type": "object" }, "TestIamPermissionsRequest": { "description": "Request message for `TestIamPermissions` method.", @@ -560,21 +395,19 @@ "id": "TestIamPermissionsRequest" }, "FolderOperation": { - "description": "Metadata describing a long running folder operation", - "type": "object", "properties": { "operationType": { + "enum": [ + "OPERATION_TYPE_UNSPECIFIED", + "CREATE", + "MOVE" + ], "description": "The type of this operation.", "type": "string", "enumDescriptions": [ "Operation type not specified.", "A create folder operation.", "A move folder operation." - ], - "enum": [ - "OPERATION_TYPE_UNSPECIFIED", - "CREATE", - "MOVE" ] }, "sourceParent": { @@ -590,7 +423,9 @@ "type": "string" } }, - "id": "FolderOperation" + "id": "FolderOperation", + "description": "Metadata describing a long running folder operation", + "type": "object" }, "Policy": { "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam).", @@ -640,34 +475,32 @@ "id": "ListAvailableOrgPolicyConstraintsRequest" }, "ResourceId": { - "description": "A container to reference an id for any resource type. A `resource` in Google\nCloud Platform is a generic term for something you (a developer) may want to\ninteract with through one of our API's. Some examples are an App Engine app,\na Compute Engine instance, a Cloud SQL database, and so on.", - "type": "object", "properties": { - "type": { - "description": "Required field representing the resource type this id is for.\nAt present, the valid types are: \"organization\"", - "type": "string" - }, "id": { "description": "Required field for the type-specific id. This should correspond to the id\nused in the type-specific API's.", "type": "string" + }, + "type": { + "description": "Required field representing the resource type this id is for.\nAt present, the valid types are: \"organization\"", + "type": "string" } }, - "id": "ResourceId" + "id": "ResourceId", + "description": "A container to reference an id for any resource type. A `resource` in Google\nCloud Platform is a generic term for something you (a developer) may want to\ninteract with through one of our API's. Some examples are an App Engine app,\na Compute Engine instance, a Cloud SQL database, and so on.", + "type": "object" }, "GetEffectiveOrgPolicyRequest": { - "description": "The request sent to the GetEffectiveOrgPolicy method.", - "type": "object", "properties": { "constraint": { "description": "The name of the `Constraint` to compute the effective `Policy`.", "type": "string" } }, - "id": "GetEffectiveOrgPolicyRequest" + "id": "GetEffectiveOrgPolicyRequest", + "description": "The request sent to the GetEffectiveOrgPolicy method.", + "type": "object" }, "ListOrgPoliciesRequest": { - "description": "The request sent to the ListOrgPolicies method.", - "type": "object", "properties": { "pageToken": { "description": "Page token used to retrieve the next page. This is currently unsupported\nand will be ignored. The server may at any point start using this field.", @@ -679,14 +512,14 @@ "type": "integer" } }, - "id": "ListOrgPoliciesRequest" + "id": "ListOrgPoliciesRequest", + "description": "The request sent to the ListOrgPolicies method.", + "type": "object" }, "Operation": { - "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", - "type": "object", "properties": { "done": { - "description": "If the value is `false`, it means the operation is still in progress.\nIf true, the operation is completed, and either `error` or `response` is\navailable.", + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", "type": "boolean" }, "response": { @@ -706,104 +539,44 @@ "$ref": "Status" }, "metadata": { - "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", - "type": "object", "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" - } + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" } }, - "id": "Operation" + "id": "Operation", + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "type": "object" }, "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"fooservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:bar@gmail.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts foo@gmail.com from DATA_READ logging, and\nbar@gmail.com from DATA_WRITE logging.", - "type": "object", "properties": { + "service": { + "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", + "type": "string" + }, "auditLogConfigs": { "description": "The configuration for logging of each type of permission.\nNext ID: 4", "items": { "$ref": "AuditLogConfig" }, "type": "array" - }, - "service": { - "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", - "type": "string" } }, - "id": "AuditConfig" - }, - "Constraint": { - "description": "A `Constraint` describes a way in which a resource's configuration can be\nrestricted. For example, it controls which cloud services can be activated\nacross an organization, or whether a Compute Engine instance can have\nserial port connections established. `Constraints` can be configured by the\norganization's policy adminstrator to fit the needs of the organzation by\nsetting Policies for `Constraints` at different locations in the\norganization's resource hierarchy. Policies are inherited down the resource\nhierarchy from higher levels, but can also be overridden. For details about\nthe inheritance rules please read about\nPolicies.\n\n`Constraints` have a default behavior determined by the `constraint_default`\nfield, which is the enforcement behavior that is used in the absence of a\n`Policy` being defined or inherited for the resource in question.", - "type": "object", - "properties": { - "description": { - "description": "Detailed description of what this `Constraint` controls as well as how and\nwhere it is enforced.\n\nMutable.", - "type": "string" - }, - "displayName": { - "description": "The human readable name.\n\nMutable.", - "type": "string" - }, - "booleanConstraint": { - "description": "Defines this constraint as being a BooleanConstraint.", - "$ref": "BooleanConstraint" - }, - "constraintDefault": { - "description": "The evaluation behavior of this constraint in the absense of 'Policy'.", - "type": "string", - "enumDescriptions": [ - "This is only used for distinguishing unset values and should never be\nused.", - "Indicate that all values are allowed for list constraints.\nIndicate that enforcement is off for boolean constraints.", - "Indicate that all values are denied for list constraints.\nIndicate that enforcement is on for boolean constraints." - ], - "enum": [ - "CONSTRAINT_DEFAULT_UNSPECIFIED", - "ALLOW", - "DENY" - ] - }, - "name": { - "description": "Immutable value, required to globally be unique. For example,\n`constraints/serviceuser.services`", - "type": "string" - }, - "version": { - "format": "int32", - "description": "Version of the `Constraint`. Default version is 0;", - "type": "integer" - }, - "listConstraint": { - "$ref": "ListConstraint", - "description": "Defines this constraint as being a ListConstraint." - } - }, - "id": "Constraint" - }, - "ListLiensResponse": { - "description": "The response message for Liens.ListLiens.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more\nresults in the list.", - "type": "string" - }, - "liens": { - "description": "A list of Liens.", - "items": { - "$ref": "Lien" - }, - "type": "array" - } - }, - "id": "ListLiensResponse" + "id": "AuditConfig", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"fooservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:bar@gmail.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts foo@gmail.com from DATA_READ logging, and\nbar@gmail.com from DATA_WRITE logging.", + "type": "object" }, "Status": { - "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", - "type": "object", "properties": { + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + }, "details": { - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", "items": { "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", @@ -817,13 +590,75 @@ "format": "int32", "description": "The status code, which should be an enum value of google.rpc.Code.", "type": "integer" + } + }, + "id": "Status", + "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", + "type": "object" + }, + "ListLiensResponse": { + "properties": { + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more\nresults in the list.", + "type": "string" }, - "message": { - "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "liens": { + "description": "A list of Liens.", + "items": { + "$ref": "Lien" + }, + "type": "array" + } + }, + "id": "ListLiensResponse", + "description": "The response message for Liens.ListLiens.", + "type": "object" + }, + "Constraint": { + "description": "A `Constraint` describes a way in which a resource's configuration can be\nrestricted. For example, it controls which cloud services can be activated\nacross an organization, or whether a Compute Engine instance can have\nserial port connections established. `Constraints` can be configured by the\norganization's policy adminstrator to fit the needs of the organzation by\nsetting Policies for `Constraints` at different locations in the\norganization's resource hierarchy. Policies are inherited down the resource\nhierarchy from higher levels, but can also be overridden. For details about\nthe inheritance rules please read about\nPolicies.\n\n`Constraints` have a default behavior determined by the `constraint_default`\nfield, which is the enforcement behavior that is used in the absence of a\n`Policy` being defined or inherited for the resource in question.", + "type": "object", + "properties": { + "booleanConstraint": { + "$ref": "BooleanConstraint", + "description": "Defines this constraint as being a BooleanConstraint." + }, + "constraintDefault": { + "enumDescriptions": [ + "This is only used for distinguishing unset values and should never be\nused.", + "Indicate that all values are allowed for list constraints.\nIndicate that enforcement is off for boolean constraints.", + "Indicate that all values are denied for list constraints.\nIndicate that enforcement is on for boolean constraints." + ], + "enum": [ + "CONSTRAINT_DEFAULT_UNSPECIFIED", + "ALLOW", + "DENY" + ], + "description": "The evaluation behavior of this constraint in the absense of 'Policy'.", + "type": "string" + }, + "name": { + "description": "Immutable value, required to globally be unique. For example,\n`constraints/serviceuser.services`", + "type": "string" + }, + "version": { + "format": "int32", + "description": "Version of the `Constraint`. Default version is 0;", + "type": "integer" + }, + "listConstraint": { + "description": "Defines this constraint as being a ListConstraint.", + "$ref": "ListConstraint" + }, + "description": { + "description": "Detailed description of what this `Constraint` controls as well as how and\nwhere it is enforced.\n\nMutable.", + "type": "string" + }, + "displayName": { + "description": "The human readable name.\n\nMutable.", "type": "string" } }, - "id": "Status" + "id": "Constraint" }, "Binding": { "description": "Associates `members` with a `role`.", @@ -842,22 +677,188 @@ } }, "id": "Binding" + }, + "GetOrgPolicyRequest": { + "description": "The request sent to the GetOrgPolicy method.", + "type": "object", + "properties": { + "constraint": { + "description": "Name of the `Constraint` to get the `Policy`.", + "type": "string" + } + }, + "id": "GetOrgPolicyRequest" + }, + "RestoreDefault": { + "description": "Ignores policies set above this resource and restores the\n`constraint_default` enforcement behavior of the specific `Constraint` at\nthis resource.\n\nSuppose that `constraint_default` is set to `ALLOW` for the\n`Constraint` `constraints/serviceuser.services`. Suppose that organization\nfoo.com sets a `Policy` at their Organization resource node that restricts\nthe allowed service activations to deny all service activations. They\ncould then set a `Policy` with the `policy_type` `restore_default` on\nseveral experimental projects, restoring the `constraint_default`\nenforcement of the `Constraint` for only those projects, allowing those\nprojects to have all services activated.", + "type": "object", + "properties": {}, + "id": "RestoreDefault" + }, + "ClearOrgPolicyRequest": { + "properties": { + "etag": { + "format": "byte", + "description": "The current version, for concurrency control. Not sending an `etag`\nwill cause the `Policy` to be cleared blindly.", + "type": "string" + }, + "constraint": { + "description": "Name of the `Constraint` of the `Policy` to clear.", + "type": "string" + } + }, + "id": "ClearOrgPolicyRequest", + "description": "The request sent to the ClearOrgPolicy method.", + "type": "object" + }, + "UndeleteProjectRequest": { + "description": "The request sent to the UndeleteProject\nmethod.", + "type": "object", + "properties": {}, + "id": "UndeleteProjectRequest" + }, + "ProjectCreationStatus": { + "description": "A status object which is used as the `metadata` field for the Operation\nreturned by CreateProject. It provides insight for when significant phases of\nProject creation have completed.", + "type": "object", + "properties": { + "ready": { + "description": "True if the project creation process is complete.", + "type": "boolean" + }, + "gettable": { + "description": "True if the project can be retrieved using GetProject. No other operations\non the project are guaranteed to work until the project creation is\ncomplete.", + "type": "boolean" + }, + "createTime": { + "format": "google-datetime", + "description": "Creation time of the project creation workflow.", + "type": "string" + } + }, + "id": "ProjectCreationStatus" + }, + "BooleanConstraint": { + "properties": {}, + "id": "BooleanConstraint", + "description": "A `Constraint` that is either enforced or not.\n\nFor example a constraint `constraints/compute.disableSerialPortAccess`.\nIf it is enforced on a VM instance, serial port connections will not be\nopened to that instance.", + "type": "object" + }, + "GetIamPolicyRequest": { + "description": "Request message for `GetIamPolicy` method.", + "type": "object", + "properties": {}, + "id": "GetIamPolicyRequest" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "type": "object", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "TestIamPermissionsResponse" + }, + "OrganizationOwner": { + "properties": { + "directoryCustomerId": { + "description": "The Google for Work customer id used in the Directory API.", + "type": "string" + } + }, + "id": "OrganizationOwner", + "description": "The entity that owns an Organization. The lifetime of the Organization and\nall of its descendants are bound to the `OrganizationOwner`. If the\n`OrganizationOwner` is deleted, the Organization and all its descendants will\nbe deleted.", + "type": "object" + }, + "ListProjectsResponse": { + "properties": { + "nextPageToken": { + "description": "Pagination token.\n\nIf the result set is too large to fit in a single response, this token\nis returned. It encodes the position of the current result cursor.\nFeeding this value into a new list request with the `page_token` parameter\ngives the next page of the results.\n\nWhen `next_page_token` is not filled in, there is no next page and\nthe list returned is the last page in the result set.\n\nPagination tokens have a limited lifetime.", + "type": "string" + }, + "projects": { + "description": "The list of Projects that matched the list filter. This list can\nbe paginated.", + "items": { + "$ref": "Project" + }, + "type": "array" + } + }, + "id": "ListProjectsResponse", + "description": "A page of the response received from the\nListProjects\nmethod.\n\nA paginated response where more pages are available has\n`next_page_token` set. This token can be used in a subsequent request to\nretrieve the next request page.", + "type": "object" + }, + "Project": { + "properties": { + "name": { + "description": "The user-assigned display name of the Project.\nIt must be 4 to 30 characters.\nAllowed characters are: lowercase and uppercase letters, numbers,\nhyphen, single-quote, double-quote, space, and exclamation point.\n\nExample: \u003ccode\u003eMy Project\u003c/code\u003e\nRead-write.", + "type": "string" + }, + "projectId": { + "description": "The unique, user-assigned ID of the Project.\nIt must be 6 to 30 lowercase letters, digits, or hyphens.\nIt must start with a letter.\nTrailing hyphens are prohibited.\n\nExample: \u003ccode\u003etokyo-rain-123\u003c/code\u003e\nRead-only after creation.", + "type": "string" + }, + "lifecycleState": { + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "ACTIVE", + "DELETE_REQUESTED", + "DELETE_IN_PROGRESS" + ], + "description": "The Project lifecycle state.\n\nRead-only.", + "type": "string", + "enumDescriptions": [ + "Unspecified state. This is only used/useful for distinguishing\nunset values.", + "The normal and active state.", + "The project has been marked for deletion by the user\n(by invoking\nDeleteProject)\nor by the system (Google Cloud Platform).\nThis can generally be reversed by invoking UndeleteProject.", + "This lifecycle state is no longer used and not returned by the API." + ] + }, + "projectNumber": { + "format": "int64", + "description": "The number uniquely identifying the project.\n\nExample: \u003ccode\u003e415104041262\u003c/code\u003e\nRead-only.", + "type": "string" + }, + "parent": { + "description": "An optional reference to a parent Resource.\n\nThe only supported parent type is \"organization\". Once set, the parent\ncannot be modified. The `parent` can be set on creation or using the\n`UpdateProject` method; the end user must have the\n`resourcemanager.projects.create` permission on the parent.\n\nRead-write.", + "$ref": "ResourceId" + }, + "createTime": { + "format": "google-datetime", + "description": "Creation time.\n\nRead-only.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "The labels associated with this Project.\n\nLabel keys must be between 1 and 63 characters long and must conform\nto the following regular expression: \\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?.\n\nLabel values must be between 0 and 63 characters long and must conform\nto the regular expression (\\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?)?.\n\nNo more than 256 labels can be associated with a given resource.\n\nClients should store labels in a representation such as JSON that does not\ndepend on specific characters being disallowed.\n\nExample: \u003ccode\u003e\"environment\" : \"dev\"\u003c/code\u003e\nRead-write.", + "type": "object" + } + }, + "id": "Project", + "description": "A Project is a high-level Google Cloud Platform entity. It is a\ncontainer for ACLs, APIs, App Engine Apps, VMs, and other\nGoogle Cloud Platform resources.", + "type": "object" } }, + "protocol": "rest", "icons": { "x32": "http://www.google.com/images/icons/product/search-32.gif", "x16": "http://www.google.com/images/icons/product/search-16.gif" }, - "protocol": "rest", "canonicalName": "Cloud Resource Manager", "auth": { "oauth2": { "scopes": { - "https://www.googleapis.com/auth/cloud-platform.read-only": { - "description": "View your data across Google Cloud Platform services" - }, "https://www.googleapis.com/auth/cloud-platform": { "description": "View and manage your data across Google Cloud Platform services" + }, + "https://www.googleapis.com/auth/cloud-platform.read-only": { + "description": "View your data across Google Cloud Platform services" } } } @@ -870,425 +871,6 @@ "title": "Google Cloud Resource Manager API", "ownerName": "Google", "resources": { - "organizations": { - "methods": { - "testIamPermissions": { - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "description": "Returns permissions that a caller has on the specified Organization.\nThe `resource` field should be the organization's resource name,\ne.g. \"organizations/123\".\n\nThere are no permissions required for making this API call.", - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^organizations/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1/organizations/{organizationsId}:testIamPermissions", - "path": "v1/{+resource}:testIamPermissions", - "id": "cloudresourcemanager.organizations.testIamPermissions" - }, - "clearOrgPolicy": { - "flatPath": "v1/organizations/{organizationsId}:clearOrgPolicy", - "id": "cloudresourcemanager.organizations.clearOrgPolicy", - "path": "v1/{+resource}:clearOrgPolicy", - "request": { - "$ref": "ClearOrgPolicyRequest" - }, - "description": "Clears a `Policy` from a resource.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "resource": { - "location": "path", - "description": "Name of the resource for the `Policy` to clear.", - "type": "string", - "required": true, - "pattern": "^organizations/[^/]+$" - } - } - }, - "setOrgPolicy": { - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "OrgPolicy" - }, - "parameters": { - "resource": { - "location": "path", - "description": "Resource name of the resource to attach the `Policy`.", - "type": "string", - "required": true, - "pattern": "^organizations/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/organizations/{organizationsId}:setOrgPolicy", - "path": "v1/{+resource}:setOrgPolicy", - "id": "cloudresourcemanager.organizations.setOrgPolicy", - "description": "Updates the specified `Policy` on the resource. Creates a new `Policy` for\nthat `Constraint` on the resource if one does not exist.\n\nNot supplying an `etag` on the request `Policy` results in an unconditional\nwrite of the `Policy`.", - "request": { - "$ref": "SetOrgPolicyRequest" - } - }, - "setIamPolicy": { - "description": "Sets the access control policy on an Organization resource. Replaces any\nexisting policy. The `resource` field should be the organization's resource\nname, e.g. \"organizations/123\".\n\nAuthorization requires the Google IAM permission\n`resourcemanager.organizations.setIamPolicy` on the specified organization", - "request": { - "$ref": "SetIamPolicyRequest" - }, - "response": { - "$ref": "Policy" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^organizations/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/organizations/{organizationsId}:setIamPolicy", - "id": "cloudresourcemanager.organizations.setIamPolicy", - "path": "v1/{+resource}:setIamPolicy" - }, - "listOrgPolicies": { - "description": "Lists all the `Policies` set for a particular resource.", - "request": { - "$ref": "ListOrgPoliciesRequest" - }, - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "ListOrgPoliciesResponse" - }, - "parameters": { - "resource": { - "description": "Name of the resource to list Policies for.", - "type": "string", - "required": true, - "pattern": "^organizations/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "flatPath": "v1/organizations/{organizationsId}:listOrgPolicies", - "path": "v1/{+resource}:listOrgPolicies", - "id": "cloudresourcemanager.organizations.listOrgPolicies" - }, - "listAvailableOrgPolicyConstraints": { - "request": { - "$ref": "ListAvailableOrgPolicyConstraintsRequest" - }, - "description": "Lists `Constraints` that could be applied on the specified resource.", - "response": { - "$ref": "ListAvailableOrgPolicyConstraintsResponse" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "resource": { - "location": "path", - "description": "Name of the resource to list `Constraints` for.", - "type": "string", - "required": true, - "pattern": "^organizations/[^/]+$" - } - }, - "flatPath": "v1/organizations/{organizationsId}:listAvailableOrgPolicyConstraints", - "id": "cloudresourcemanager.organizations.listAvailableOrgPolicyConstraints", - "path": "v1/{+resource}:listAvailableOrgPolicyConstraints" - }, - "getIamPolicy": { - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "Policy" - }, - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^organizations/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "flatPath": "v1/organizations/{organizationsId}:getIamPolicy", - "path": "v1/{+resource}:getIamPolicy", - "id": "cloudresourcemanager.organizations.getIamPolicy", - "description": "Gets the access control policy for an Organization resource. May be empty\nif no such policy or resource exists. The `resource` field should be the\norganization's resource name, e.g. \"organizations/123\".\n\nAuthorization requires the Google IAM permission\n`resourcemanager.organizations.getIamPolicy` on the specified organization", - "request": { - "$ref": "GetIamPolicyRequest" - } - }, - "getOrgPolicy": { - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "OrgPolicy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "resource": { - "description": "Name of the resource the `Policy` is set on.", - "type": "string", - "required": true, - "pattern": "^organizations/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1/organizations/{organizationsId}:getOrgPolicy", - "path": "v1/{+resource}:getOrgPolicy", - "id": "cloudresourcemanager.organizations.getOrgPolicy", - "request": { - "$ref": "GetOrgPolicyRequest" - }, - "description": "Gets a `Policy` on a resource.\n\nIf no `Policy` is set on the resource, a `Policy` is returned with default\nvalues including `POLICY_TYPE_NOT_SET` for the `policy_type oneof`. The\n`etag` value can be used with `SetOrgPolicy()` to create or update a\n`Policy` during read-modify-write." - }, - "search": { - "request": { - "$ref": "SearchOrganizationsRequest" - }, - "description": "Searches Organization resources that are visible to the user and satisfy\nthe specified filter. This method returns Organizations in an unspecified\norder. New Organizations do not necessarily appear at the end of the\nresults.\n\nSearch will only return organizations on which the user has the permission\n`resourcemanager.organizations.get`", - "response": { - "$ref": "SearchOrganizationsResponse" - }, - "parameterOrder": [], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": {}, - "flatPath": "v1/organizations:search", - "id": "cloudresourcemanager.organizations.search", - "path": "v1/organizations:search" - }, - "get": { - "description": "Fetches an Organization resource identified by the specified resource name.", - "response": { - "$ref": "Organization" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "name": { - "location": "path", - "description": "The resource name of the Organization to fetch, e.g. \"organizations/1234\".", - "type": "string", - "required": true, - "pattern": "^organizations/[^/]+$" - } - }, - "flatPath": "v1/organizations/{organizationsId}", - "id": "cloudresourcemanager.organizations.get", - "path": "v1/{+name}" - }, - "getEffectiveOrgPolicy": { - "flatPath": "v1/organizations/{organizationsId}:getEffectiveOrgPolicy", - "id": "cloudresourcemanager.organizations.getEffectiveOrgPolicy", - "path": "v1/{+resource}:getEffectiveOrgPolicy", - "description": "Gets the effective `Policy` on a resource. This is the result of merging\n`Policies` in the resource hierarchy. The returned `Policy` will not have\nan `etag`set because it is a computed `Policy` across multiple resources.", - "request": { - "$ref": "GetEffectiveOrgPolicyRequest" - }, - "response": { - "$ref": "OrgPolicy" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "parameters": { - "resource": { - "location": "path", - "description": "The name of the resource to start computing the effective `Policy`.", - "type": "string", - "required": true, - "pattern": "^organizations/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ] - } - } - }, - "operations": { - "methods": { - "get": { - "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "name": { - "description": "The name of the operation resource.", - "type": "string", - "required": true, - "pattern": "^operations/.+$", - "location": "path" - } - }, - "flatPath": "v1/operations/{operationsId}", - "id": "cloudresourcemanager.operations.get", - "path": "v1/{+name}" - } - } - }, - "liens": { - "methods": { - "list": { - "flatPath": "v1/liens", - "path": "v1/liens", - "id": "cloudresourcemanager.liens.list", - "description": "List all Liens applied to the `parent` resource.\n\nCallers of this method will require permission on the `parent` resource.\nFor example, a Lien with a `parent` of `projects/1234` requires permission\n`resourcemanager.projects.get`.", - "httpMethod": "GET", - "parameterOrder": [], - "response": { - "$ref": "ListLiensResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "pageToken": { - "description": "The `next_page_token` value returned from a previous List request, if any.", - "type": "string", - "location": "query" - }, - "pageSize": { - "format": "int32", - "description": "The maximum number of items to return. This is a suggestion for the server.", - "type": "integer", - "location": "query" - }, - "parent": { - "location": "query", - "description": "The name of the resource to list all attached Liens.\nFor example, `projects/1234`.", - "type": "string" - } - } - }, - "create": { - "response": { - "$ref": "Lien" - }, - "parameterOrder": [], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": {}, - "flatPath": "v1/liens", - "id": "cloudresourcemanager.liens.create", - "path": "v1/liens", - "request": { - "$ref": "Lien" - }, - "description": "Create a Lien which applies to the resource denoted by the `parent` field.\n\nCallers of this method will require permission on the `parent` resource.\nFor example, applying to `projects/1234` requires permission\n`resourcemanager.projects.updateLiens`.\n\nNOTE: Some resources may limit the number of Liens which may be applied." - }, - "delete": { - "httpMethod": "DELETE", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "Empty" - }, - "parameters": { - "name": { - "location": "path", - "description": "The name/identifier of the Lien to delete.", - "type": "string", - "required": true, - "pattern": "^liens/.+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "flatPath": "v1/liens/{liensId}", - "path": "v1/{+name}", - "id": "cloudresourcemanager.liens.delete", - "description": "Delete a Lien by `name`.\n\nCallers of this method will require permission on the `parent` resource.\nFor example, a Lien with a `parent` of `projects/1234` requires permission\n`resourcemanager.projects.updateLiens`." - } - } - }, "folders": { "methods": { "clearOrgPolicy": { @@ -1304,11 +886,11 @@ ], "parameters": { "resource": { + "pattern": "^folders/[^/]+$", "location": "path", "description": "Name of the resource for the `Policy` to clear.", "type": "string", - "required": true, - "pattern": "^folders/[^/]+$" + "required": true } }, "flatPath": "v1/folders/{foldersId}:clearOrgPolicy", @@ -1320,6 +902,8 @@ "description": "Clears a `Policy` from a resource." }, "setOrgPolicy": { + "id": "cloudresourcemanager.folders.setOrgPolicy", + "path": "v1/{+resource}:setOrgPolicy", "request": { "$ref": "SetOrgPolicyRequest" }, @@ -1336,138 +920,47 @@ ], "parameters": { "resource": { - "location": "path", "description": "Resource name of the resource to attach the `Policy`.", "type": "string", "required": true, - "pattern": "^folders/[^/]+$" - } - }, - "flatPath": "v1/folders/{foldersId}:setOrgPolicy", - "id": "cloudresourcemanager.folders.setOrgPolicy", - "path": "v1/{+resource}:setOrgPolicy" - }, - "listOrgPolicies": { - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "ListOrgPoliciesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "resource": { - "location": "path", - "description": "Name of the resource to list Policies for.", - "type": "string", - "required": true, - "pattern": "^folders/[^/]+$" - } - }, - "flatPath": "v1/folders/{foldersId}:listOrgPolicies", - "path": "v1/{+resource}:listOrgPolicies", - "id": "cloudresourcemanager.folders.listOrgPolicies", - "request": { - "$ref": "ListOrgPoliciesRequest" - }, - "description": "Lists all the `Policies` set for a particular resource." - }, - "listAvailableOrgPolicyConstraints": { - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "ListAvailableOrgPolicyConstraintsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "resource": { - "location": "path", - "description": "Name of the resource to list `Constraints` for.", - "type": "string", - "required": true, - "pattern": "^folders/[^/]+$" - } - }, - "flatPath": "v1/folders/{foldersId}:listAvailableOrgPolicyConstraints", - "path": "v1/{+resource}:listAvailableOrgPolicyConstraints", - "id": "cloudresourcemanager.folders.listAvailableOrgPolicyConstraints", - "request": { - "$ref": "ListAvailableOrgPolicyConstraintsRequest" - }, - "description": "Lists `Constraints` that could be applied on the specified resource." - }, - "getOrgPolicy": { - "flatPath": "v1/folders/{foldersId}:getOrgPolicy", - "id": "cloudresourcemanager.folders.getOrgPolicy", - "path": "v1/{+resource}:getOrgPolicy", - "description": "Gets a `Policy` on a resource.\n\nIf no `Policy` is set on the resource, a `Policy` is returned with default\nvalues including `POLICY_TYPE_NOT_SET` for the `policy_type oneof`. The\n`etag` value can be used with `SetOrgPolicy()` to create or update a\n`Policy` during read-modify-write.", - "request": { - "$ref": "GetOrgPolicyRequest" - }, - "response": { - "$ref": "OrgPolicy" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "parameters": { - "resource": { - "location": "path", - "description": "Name of the resource the `Policy` is set on.", - "type": "string", - "required": true, - "pattern": "^folders/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ] - }, - "getEffectiveOrgPolicy": { - "request": { - "$ref": "GetEffectiveOrgPolicyRequest" - }, - "description": "Gets the effective `Policy` on a resource. This is the result of merging\n`Policies` in the resource hierarchy. The returned `Policy` will not have\nan `etag`set because it is a computed `Policy` across multiple resources.", - "response": { - "$ref": "OrgPolicy" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "resource": { - "description": "The name of the resource to start computing the effective `Policy`.", - "type": "string", - "required": true, "pattern": "^folders/[^/]+$", "location": "path" } }, - "flatPath": "v1/folders/{foldersId}:getEffectiveOrgPolicy", - "id": "cloudresourcemanager.folders.getEffectiveOrgPolicy", - "path": "v1/{+resource}:getEffectiveOrgPolicy" - } - } - }, - "projects": { - "methods": { + "flatPath": "v1/folders/{foldersId}:setOrgPolicy" + }, + "listAvailableOrgPolicyConstraints": { + "response": { + "$ref": "ListAvailableOrgPolicyConstraintsResponse" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "resource": { + "description": "Name of the resource to list `Constraints` for.", + "type": "string", + "required": true, + "pattern": "^folders/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/folders/{foldersId}:listAvailableOrgPolicyConstraints", + "id": "cloudresourcemanager.folders.listAvailableOrgPolicyConstraints", + "path": "v1/{+resource}:listAvailableOrgPolicyConstraints", + "request": { + "$ref": "ListAvailableOrgPolicyConstraintsRequest" + }, + "description": "Lists `Constraints` that could be applied on the specified resource." + }, "listOrgPolicies": { + "path": "v1/{+resource}:listOrgPolicies", + "id": "cloudresourcemanager.folders.listOrgPolicies", "description": "Lists all the `Policies` set for a particular resource.", "request": { "$ref": "ListOrgPoliciesRequest" @@ -1481,125 +974,104 @@ }, "parameters": { "resource": { + "pattern": "^folders/[^/]+$", "location": "path", "description": "Name of the resource to list Policies for.", "type": "string", - "required": true, - "pattern": "^projects/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "flatPath": "v1/projects/{projectsId}:listOrgPolicies", - "path": "v1/{+resource}:listOrgPolicies", - "id": "cloudresourcemanager.projects.listOrgPolicies" - }, - "get": { - "httpMethod": "GET", - "parameterOrder": [ - "projectId" - ], - "response": { - "$ref": "Project" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "projectId": { - "description": "The Project ID (for example, `my-project-123`).\n\nRequired.", - "type": "string", - "required": true, - "location": "path" - } - }, - "flatPath": "v1/projects/{projectId}", - "path": "v1/projects/{projectId}", - "id": "cloudresourcemanager.projects.get", - "description": "Retrieves the Project identified by the specified\n`project_id` (for example, `my-project-123`).\n\nThe caller must have read permissions for this Project." - }, - "getAncestry": { - "request": { - "$ref": "GetAncestryRequest" - }, - "description": "Gets a list of ancestors in the resource hierarchy for the Project\nidentified by the specified `project_id` (for example, `my-project-123`).\n\nThe caller must have read permissions for this Project.", - "response": { - "$ref": "GetAncestryResponse" - }, - "parameterOrder": [ - "projectId" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "projectId": { - "location": "path", - "description": "The Project ID (for example, `my-project-123`).\n\nRequired.", - "type": "string", "required": true } }, - "flatPath": "v1/projects/{projectId}:getAncestry", - "id": "cloudresourcemanager.projects.getAncestry", - "path": "v1/projects/{projectId}:getAncestry" + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1/folders/{foldersId}:listOrgPolicies" }, - "testIamPermissions": { - "request": { - "$ref": "TestIamPermissionsRequest" + "getOrgPolicy": { + "response": { + "$ref": "OrgPolicy" }, - "description": "Returns permissions that a caller has on the specified Project.\n\nThere are no permissions required for making this API call.", - "httpMethod": "POST", "parameterOrder": [ "resource" ], - "response": { - "$ref": "TestIamPermissionsResponse" + "httpMethod": "POST", + "parameters": { + "resource": { + "pattern": "^folders/[^/]+$", + "location": "path", + "description": "Name of the resource the `Policy` is set on.", + "type": "string", + "required": true + } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ], + "flatPath": "v1/folders/{foldersId}:getOrgPolicy", + "id": "cloudresourcemanager.folders.getOrgPolicy", + "path": "v1/{+resource}:getOrgPolicy", + "description": "Gets a `Policy` on a resource.\n\nIf no `Policy` is set on the resource, a `Policy` is returned with default\nvalues including `POLICY_TYPE_NOT_SET` for the `policy_type oneof`. The\n`etag` value can be used with `SetOrgPolicy()` to create or update a\n`Policy` during read-modify-write.", + "request": { + "$ref": "GetOrgPolicyRequest" + } + }, + "getEffectiveOrgPolicy": { + "response": { + "$ref": "OrgPolicy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], "parameters": { "resource": { - "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "pattern": "^folders/[^/]+$", + "location": "path", + "description": "The name of the resource to start computing the effective `Policy`.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/folders/{foldersId}:getEffectiveOrgPolicy", + "id": "cloudresourcemanager.folders.getEffectiveOrgPolicy", + "path": "v1/{+resource}:getEffectiveOrgPolicy", + "request": { + "$ref": "GetEffectiveOrgPolicyRequest" + }, + "description": "Gets the effective `Policy` on a resource. This is the result of merging\n`Policies` in the resource hierarchy. The returned `Policy` will not have\nan `etag`set because it is a computed `Policy` across multiple resources." + } + } + }, + "projects": { + "methods": { + "delete": { + "httpMethod": "DELETE", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "projectId" + ], + "parameters": { + "projectId": { + "description": "The Project ID (for example, `foo-bar-123`).\n\nRequired.", "type": "string", "required": true, "location": "path" } }, - "flatPath": "v1/projects/{resource}:testIamPermissions", - "path": "v1/projects/{resource}:testIamPermissions", - "id": "cloudresourcemanager.projects.testIamPermissions" - }, - "delete": { - "description": "Marks the Project identified by the specified\n`project_id` (for example, `my-project-123`) for deletion.\nThis method will only affect the Project if the following criteria are met:\n\n+ The Project does not have a billing account associated with it.\n+ The Project has a lifecycle state of\nACTIVE.\n\nThis method changes the Project's lifecycle state from\nACTIVE\nto DELETE_REQUESTED.\nThe deletion starts at an unspecified time,\nat which point the Project is no longer accessible.\n\nUntil the deletion completes, you can check the lifecycle state\nchecked by retrieving the Project with GetProject,\nand the Project remains visible to ListProjects.\nHowever, you cannot update the project.\n\nAfter the deletion completes, the Project is not retrievable by\nthe GetProject and\nListProjects methods.\n\nThe caller must have modify permissions for this Project.", - "httpMethod": "DELETE", - "parameterOrder": [ - "projectId" - ], - "response": { - "$ref": "Empty" - }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "parameters": { - "projectId": { - "location": "path", - "description": "The Project ID (for example, `foo-bar-123`).\n\nRequired.", - "type": "string", - "required": true - } - }, "flatPath": "v1/projects/{projectId}", "path": "v1/projects/{projectId}", - "id": "cloudresourcemanager.projects.delete" + "id": "cloudresourcemanager.projects.delete", + "description": "Marks the Project identified by the specified\n`project_id` (for example, `my-project-123`) for deletion.\nThis method will only affect the Project if the following criteria are met:\n\n+ The Project does not have a billing account associated with it.\n+ The Project has a lifecycle state of\nACTIVE.\n\nThis method changes the Project's lifecycle state from\nACTIVE\nto DELETE_REQUESTED.\nThe deletion starts at an unspecified time,\nat which point the Project is no longer accessible.\n\nUntil the deletion completes, you can check the lifecycle state\nchecked by retrieving the Project with GetProject,\nand the Project remains visible to ListProjects.\nHowever, you cannot update the project.\n\nAfter the deletion completes, the Project is not retrievable by\nthe GetProject and\nListProjects methods.\n\nThe caller must have modify permissions for this Project." }, "clearOrgPolicy": { "response": { @@ -1614,11 +1086,11 @@ ], "parameters": { "resource": { + "pattern": "^projects/[^/]+$", "location": "path", "description": "Name of the resource for the `Policy` to clear.", "type": "string", - "required": true, - "pattern": "^projects/[^/]+$" + "required": true } }, "flatPath": "v1/projects/{projectsId}:clearOrgPolicy", @@ -1630,13 +1102,6 @@ "description": "Clears a `Policy` from a resource." }, "setIamPolicy": { - "flatPath": "v1/projects/{resource}:setIamPolicy", - "id": "cloudresourcemanager.projects.setIamPolicy", - "path": "v1/projects/{resource}:setIamPolicy", - "request": { - "$ref": "SetIamPolicyRequest" - }, - "description": "Sets the IAM access control policy for the specified Project. Replaces\nany existing policy.\n\nThe following constraints apply when using `setIamPolicy()`:\n\n+ Project does not support `allUsers` and `allAuthenticatedUsers` as\n`members` in a `Binding` of a `Policy`.\n\n+ The owner role can be granted only to `user` and `serviceAccount`.\n\n+ Service accounts can be made owners of a project directly\nwithout any restrictions. However, to be added as an owner, a user must be\ninvited via Cloud Platform console and must accept the invitation.\n\n+ A user cannot be granted the owner role using `setIamPolicy()`. The user\nmust be granted the owner role using the Cloud Platform Console and must\nexplicitly accept the invitation.\n\n+ Invitations to grant the owner role cannot be sent using\n`setIamPolicy()`;\nthey must be sent only using the Cloud Platform Console.\n\n+ Membership changes that leave the project without any owners that have\naccepted the Terms of Service (ToS) will be rejected.\n\n+ If the project is not part of an organization, there must be at least\none owner who has accepted the Terms of Service (ToS) agreement in the\npolicy. Calling `setIamPolicy()` to remove the last ToS-accepted owner\nfrom the policy will fail. This restriction also applies to legacy\nprojects that no longer have owners who have accepted the ToS. Edits to\nIAM policies will be rejected until the lack of a ToS-accepting owner is\nrectified.\n\n+ Calling this method requires enabling the App Engine Admin API.\n\nNote: Removing service accounts from policies or changing their roles\ncan render services completely inoperable. It is important to understand\nhow the service account is being used before removing or updating its\nroles.\n\nAuthorization requires the Google IAM permission\n`resourcemanager.projects.setIamPolicy` on the project", "response": { "$ref": "Policy" }, @@ -1644,9 +1109,6 @@ "resource" ], "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "parameters": { "resource": { "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", @@ -1654,6 +1116,16 @@ "required": true, "location": "path" } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{resource}:setIamPolicy", + "id": "cloudresourcemanager.projects.setIamPolicy", + "path": "v1/projects/{resource}:setIamPolicy", + "description": "Sets the IAM access control policy for the specified Project. Replaces\nany existing policy.\n\nThe following constraints apply when using `setIamPolicy()`:\n\n+ Project does not support `allUsers` and `allAuthenticatedUsers` as\n`members` in a `Binding` of a `Policy`.\n\n+ The owner role can be granted only to `user` and `serviceAccount`.\n\n+ Service accounts can be made owners of a project directly\nwithout any restrictions. However, to be added as an owner, a user must be\ninvited via Cloud Platform console and must accept the invitation.\n\n+ A user cannot be granted the owner role using `setIamPolicy()`. The user\nmust be granted the owner role using the Cloud Platform Console and must\nexplicitly accept the invitation.\n\n+ Invitations to grant the owner role cannot be sent using\n`setIamPolicy()`;\nthey must be sent only using the Cloud Platform Console.\n\n+ Membership changes that leave the project without any owners that have\naccepted the Terms of Service (ToS) will be rejected.\n\n+ If the project is not part of an organization, there must be at least\none owner who has accepted the Terms of Service (ToS) agreement in the\npolicy. Calling `setIamPolicy()` to remove the last ToS-accepted owner\nfrom the policy will fail. This restriction also applies to legacy\nprojects that no longer have owners who have accepted the ToS. Edits to\nIAM policies will be rejected until the lack of a ToS-accepting owner is\nrectified.\n\n+ Calling this method requires enabling the App Engine Admin API.\n\nNote: Removing service accounts from policies or changing their roles\ncan render services completely inoperable. It is important to understand\nhow the service account is being used before removing or updating its\nroles.\n\nAuthorization requires the Google IAM permission\n`resourcemanager.projects.setIamPolicy` on the project", + "request": { + "$ref": "SetIamPolicyRequest" } }, "listAvailableOrgPolicyConstraints": { @@ -1666,11 +1138,11 @@ }, "parameters": { "resource": { - "location": "path", "description": "Name of the resource to list `Constraints` for.", "type": "string", "required": true, - "pattern": "^projects/[^/]+$" + "pattern": "^projects/[^/]+$", + "location": "path" } }, "scopes": [ @@ -1686,9 +1158,6 @@ } }, "getIamPolicy": { - "flatPath": "v1/projects/{resource}:getIamPolicy", - "id": "cloudresourcemanager.projects.getIamPolicy", - "path": "v1/projects/{resource}:getIamPolicy", "request": { "$ref": "GetIamPolicyRequest" }, @@ -1706,12 +1175,15 @@ ], "parameters": { "resource": { - "location": "path", "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", "type": "string", - "required": true + "required": true, + "location": "path" } - } + }, + "flatPath": "v1/projects/{resource}:getIamPolicy", + "id": "cloudresourcemanager.projects.getIamPolicy", + "path": "v1/projects/{resource}:getIamPolicy" }, "getOrgPolicy": { "response": { @@ -1727,11 +1199,11 @@ ], "parameters": { "resource": { - "location": "path", "description": "Name of the resource the `Policy` is set on.", "type": "string", "required": true, - "pattern": "^projects/[^/]+$" + "pattern": "^projects/[^/]+$", + "location": "path" } }, "flatPath": "v1/projects/{projectsId}:getOrgPolicy", @@ -1742,18 +1214,41 @@ }, "description": "Gets a `Policy` on a resource.\n\nIf no `Policy` is set on the resource, a `Policy` is returned with default\nvalues including `POLICY_TYPE_NOT_SET` for the `policy_type oneof`. The\n`etag` value can be used with `SetOrgPolicy()` to create or update a\n`Policy` during read-modify-write." }, - "getEffectiveOrgPolicy": { + "undelete": { + "id": "cloudresourcemanager.projects.undelete", + "path": "v1/projects/{projectId}:undelete", "request": { - "$ref": "GetEffectiveOrgPolicyRequest" + "$ref": "UndeleteProjectRequest" + }, + "description": "Restores the Project identified by the specified\n`project_id` (for example, `my-project-123`).\nYou can only use this method for a Project that has a lifecycle state of\nDELETE_REQUESTED.\nAfter deletion starts, the Project cannot be restored.\n\nThe caller must have modify permissions for this Project.", + "response": { + "$ref": "Empty" }, - "description": "Gets the effective `Policy` on a resource. This is the result of merging\n`Policies` in the resource hierarchy. The returned `Policy` will not have\nan `etag`set because it is a computed `Policy` across multiple resources.", - "httpMethod": "POST", "parameterOrder": [ - "resource" + "projectId" ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "projectId": { + "description": "The project ID (for example, `foo-bar-123`).\n\nRequired.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/projects/{projectId}:undelete" + }, + "getEffectiveOrgPolicy": { "response": { "$ref": "OrgPolicy" }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" @@ -1768,41 +1263,14 @@ } }, "flatPath": "v1/projects/{projectsId}:getEffectiveOrgPolicy", + "id": "cloudresourcemanager.projects.getEffectiveOrgPolicy", "path": "v1/{+resource}:getEffectiveOrgPolicy", - "id": "cloudresourcemanager.projects.getEffectiveOrgPolicy" - }, - "undelete": { - "description": "Restores the Project identified by the specified\n`project_id` (for example, `my-project-123`).\nYou can only use this method for a Project that has a lifecycle state of\nDELETE_REQUESTED.\nAfter deletion starts, the Project cannot be restored.\n\nThe caller must have modify permissions for this Project.", "request": { - "$ref": "UndeleteProjectRequest" + "$ref": "GetEffectiveOrgPolicyRequest" }, - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "projectId" - ], - "httpMethod": "POST", - "parameters": { - "projectId": { - "location": "path", - "description": "The project ID (for example, `foo-bar-123`).\n\nRequired.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectId}:undelete", - "id": "cloudresourcemanager.projects.undelete", - "path": "v1/projects/{projectId}:undelete" + "description": "Gets the effective `Policy` on a resource. This is the result of merging\n`Policies` in the resource hierarchy. The returned `Policy` will not have\nan `etag`set because it is a computed `Policy` across multiple resources." }, "update": { - "request": { - "$ref": "Project" - }, - "description": "Updates the attributes of the Project identified by the specified\n`project_id` (for example, `my-project-123`).\n\nThe caller must have modify permissions for this Project.", "response": { "$ref": "Project" }, @@ -1823,26 +1291,20 @@ }, "flatPath": "v1/projects/{projectId}", "id": "cloudresourcemanager.projects.update", - "path": "v1/projects/{projectId}" + "path": "v1/projects/{projectId}", + "request": { + "$ref": "Project" + }, + "description": "Updates the attributes of the Project identified by the specified\n`project_id` (for example, `my-project-123`).\n\nThe caller must have modify permissions for this Project." }, "list": { "description": "Lists Projects that are visible to the user and satisfy the\nspecified filter. This method returns Projects in an unspecified order.\nNew Projects do not necessarily appear at the end of the list.", "httpMethod": "GET", - "parameterOrder": [], "response": { "$ref": "ListProjectsResponse" }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], + "parameterOrder": [], "parameters": { - "pageSize": { - "location": "query", - "format": "int32", - "description": "The maximum number of Projects to return in the response.\nThe server can return fewer Projects than requested.\nIf unspecified, server picks an appropriate default.\n\nOptional.", - "type": "integer" - }, "filter": { "location": "query", "description": "An expression for filtering the results of the request. Filter rules are\ncase insensitive. The fields eligible for filtering are:\n\n+ `name`\n+ `id`\n+ \u003ccode\u003elabels.\u003cem\u003ekey\u003c/em\u003e\u003c/code\u003e where *key* is the name of a label\n\nSome examples of using labels as filters:\n\n|Filter|Description|\n|------|-----------|\n|name:how*|The project's name starts with \"how\".|\n|name:Howl|The project's name is `Howl` or `howl`.|\n|name:HOWL|Equivalent to above.|\n|NAME:howl|Equivalent to above.|\n|labels.color:*|The project has the label `color`.|\n|labels.color:red|The project's label `color` has the value `red`.|\n|labels.color:red labels.size:big|The project's label `color` has the value `red` and its label `size` has the value `big`.\n\nIf you specify a filter that has both `parent.type` and `parent.id`, then\nthe `resourcemanager.projects.list` permission is checked on the parent.\nIf the user has this permission, all projects under the parent will be\nreturned after remaining filters have been applied. If the user lacks this\npermission, then all projects for which the user has the\n`resourcemanager.projects.get` permission will be returned after remaining\nfilters have been applied. If no filter is specified, the call will return\nprojects for which the user has `resourcemanager.projects.get` permissions.\n\nOptional.", @@ -1852,13 +1314,25 @@ "location": "query", "description": "A pagination token returned from a previous call to ListProjects\nthat indicates from where listing should continue.\n\nOptional.", "type": "string" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "The maximum number of Projects to return in the response.\nThe server can return fewer Projects than requested.\nIf unspecified, server picks an appropriate default.\n\nOptional.", + "type": "integer" } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], "flatPath": "v1/projects", "path": "v1/projects", "id": "cloudresourcemanager.projects.list" }, "setOrgPolicy": { + "path": "v1/{+resource}:setOrgPolicy", + "id": "cloudresourcemanager.projects.setOrgPolicy", "request": { "$ref": "SetOrgPolicyRequest" }, @@ -1875,19 +1349,16 @@ ], "parameters": { "resource": { + "pattern": "^projects/[^/]+$", + "location": "path", "description": "Resource name of the resource to attach the `Policy`.", "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path" + "required": true } }, - "flatPath": "v1/projects/{projectsId}:setOrgPolicy", - "path": "v1/{+resource}:setOrgPolicy", - "id": "cloudresourcemanager.projects.setOrgPolicy" + "flatPath": "v1/projects/{projectsId}:setOrgPolicy" }, "create": { - "flatPath": "v1/projects", "path": "v1/projects", "id": "cloudresourcemanager.projects.create", "request": { @@ -1902,70 +1373,582 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "parameters": {} + "parameters": {}, + "flatPath": "v1/projects" + }, + "listOrgPolicies": { + "response": { + "$ref": "ListOrgPoliciesResponse" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "parameters": { + "resource": { + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "Name of the resource to list Policies for.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1/projects/{projectsId}:listOrgPolicies", + "id": "cloudresourcemanager.projects.listOrgPolicies", + "path": "v1/{+resource}:listOrgPolicies", + "description": "Lists all the `Policies` set for a particular resource.", + "request": { + "$ref": "ListOrgPoliciesRequest" + } + }, + "get": { + "id": "cloudresourcemanager.projects.get", + "path": "v1/projects/{projectId}", + "description": "Retrieves the Project identified by the specified\n`project_id` (for example, `my-project-123`).\n\nThe caller must have read permissions for this Project.", + "response": { + "$ref": "Project" + }, + "parameterOrder": [ + "projectId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "projectId": { + "location": "path", + "description": "The Project ID (for example, `my-project-123`).\n\nRequired.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectId}" + }, + "getAncestry": { + "response": { + "$ref": "GetAncestryResponse" + }, + "parameterOrder": [ + "projectId" + ], + "httpMethod": "POST", + "parameters": { + "projectId": { + "location": "path", + "description": "The Project ID (for example, `my-project-123`).\n\nRequired.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1/projects/{projectId}:getAncestry", + "id": "cloudresourcemanager.projects.getAncestry", + "path": "v1/projects/{projectId}:getAncestry", + "description": "Gets a list of ancestors in the resource hierarchy for the Project\nidentified by the specified `project_id` (for example, `my-project-123`).\n\nThe caller must have read permissions for this Project.", + "request": { + "$ref": "GetAncestryRequest" + } + }, + "testIamPermissions": { + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "description": "Returns permissions that a caller has on the specified Project.\n\nThere are no permissions required for making this API call.", + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/projects/{resource}:testIamPermissions", + "id": "cloudresourcemanager.projects.testIamPermissions", + "path": "v1/projects/{resource}:testIamPermissions" + } + } + }, + "organizations": { + "methods": { + "setOrgPolicy": { + "id": "cloudresourcemanager.organizations.setOrgPolicy", + "path": "v1/{+resource}:setOrgPolicy", + "description": "Updates the specified `Policy` on the resource. Creates a new `Policy` for\nthat `Constraint` on the resource if one does not exist.\n\nNot supplying an `etag` on the request `Policy` results in an unconditional\nwrite of the `Policy`.", + "request": { + "$ref": "SetOrgPolicyRequest" + }, + "response": { + "$ref": "OrgPolicy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "parameters": { + "resource": { + "pattern": "^organizations/[^/]+$", + "location": "path", + "description": "Resource name of the resource to attach the `Policy`.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/organizations/{organizationsId}:setOrgPolicy" + }, + "setIamPolicy": { + "description": "Sets the access control policy on an Organization resource. Replaces any\nexisting policy. The `resource` field should be the organization's resource\nname, e.g. \"organizations/123\".\n\nAuthorization requires the Google IAM permission\n`resourcemanager.organizations.setIamPolicy` on the specified organization", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "parameters": { + "resource": { + "pattern": "^organizations/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/organizations/{organizationsId}:setIamPolicy", + "id": "cloudresourcemanager.organizations.setIamPolicy", + "path": "v1/{+resource}:setIamPolicy" + }, + "listOrgPolicies": { + "path": "v1/{+resource}:listOrgPolicies", + "id": "cloudresourcemanager.organizations.listOrgPolicies", + "request": { + "$ref": "ListOrgPoliciesRequest" + }, + "description": "Lists all the `Policies` set for a particular resource.", + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "ListOrgPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "resource": { + "description": "Name of the resource to list Policies for.", + "type": "string", + "required": true, + "pattern": "^organizations/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/organizations/{organizationsId}:listOrgPolicies" + }, + "listAvailableOrgPolicyConstraints": { + "response": { + "$ref": "ListAvailableOrgPolicyConstraintsResponse" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "parameters": { + "resource": { + "description": "Name of the resource to list `Constraints` for.", + "type": "string", + "required": true, + "pattern": "^organizations/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1/organizations/{organizationsId}:listAvailableOrgPolicyConstraints", + "id": "cloudresourcemanager.organizations.listAvailableOrgPolicyConstraints", + "path": "v1/{+resource}:listAvailableOrgPolicyConstraints", + "description": "Lists `Constraints` that could be applied on the specified resource.", + "request": { + "$ref": "ListAvailableOrgPolicyConstraintsRequest" + } + }, + "getIamPolicy": { + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "Policy" + }, + "parameters": { + "resource": { + "pattern": "^organizations/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1/organizations/{organizationsId}:getIamPolicy", + "path": "v1/{+resource}:getIamPolicy", + "id": "cloudresourcemanager.organizations.getIamPolicy", + "description": "Gets the access control policy for an Organization resource. May be empty\nif no such policy or resource exists. The `resource` field should be the\norganization's resource name, e.g. \"organizations/123\".\n\nAuthorization requires the Google IAM permission\n`resourcemanager.organizations.getIamPolicy` on the specified organization", + "request": { + "$ref": "GetIamPolicyRequest" + } + }, + "getOrgPolicy": { + "response": { + "$ref": "OrgPolicy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "resource": { + "pattern": "^organizations/[^/]+$", + "location": "path", + "description": "Name of the resource the `Policy` is set on.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/organizations/{organizationsId}:getOrgPolicy", + "id": "cloudresourcemanager.organizations.getOrgPolicy", + "path": "v1/{+resource}:getOrgPolicy", + "request": { + "$ref": "GetOrgPolicyRequest" + }, + "description": "Gets a `Policy` on a resource.\n\nIf no `Policy` is set on the resource, a `Policy` is returned with default\nvalues including `POLICY_TYPE_NOT_SET` for the `policy_type oneof`. The\n`etag` value can be used with `SetOrgPolicy()` to create or update a\n`Policy` during read-modify-write." + }, + "search": { + "response": { + "$ref": "SearchOrganizationsResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": {}, + "flatPath": "v1/organizations:search", + "id": "cloudresourcemanager.organizations.search", + "path": "v1/organizations:search", + "request": { + "$ref": "SearchOrganizationsRequest" + }, + "description": "Searches Organization resources that are visible to the user and satisfy\nthe specified filter. This method returns Organizations in an unspecified\norder. New Organizations do not necessarily appear at the end of the\nresults.\n\nSearch will only return organizations on which the user has the permission\n`resourcemanager.organizations.get`" + }, + "get": { + "httpMethod": "GET", + "response": { + "$ref": "Organization" + }, + "parameterOrder": [ + "name" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "name": { + "description": "The resource name of the Organization to fetch, e.g. \"organizations/1234\".", + "type": "string", + "required": true, + "pattern": "^organizations/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/organizations/{organizationsId}", + "path": "v1/{+name}", + "id": "cloudresourcemanager.organizations.get", + "description": "Fetches an Organization resource identified by the specified resource name." + }, + "getEffectiveOrgPolicy": { + "id": "cloudresourcemanager.organizations.getEffectiveOrgPolicy", + "path": "v1/{+resource}:getEffectiveOrgPolicy", + "request": { + "$ref": "GetEffectiveOrgPolicyRequest" + }, + "description": "Gets the effective `Policy` on a resource. This is the result of merging\n`Policies` in the resource hierarchy. The returned `Policy` will not have\nan `etag`set because it is a computed `Policy` across multiple resources.", + "response": { + "$ref": "OrgPolicy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "resource": { + "pattern": "^organizations/[^/]+$", + "location": "path", + "description": "The name of the resource to start computing the effective `Policy`.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/organizations/{organizationsId}:getEffectiveOrgPolicy" + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified Organization.\nThe `resource` field should be the organization's resource name,\ne.g. \"organizations/123\".\n\nThere are no permissions required for making this API call.", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "parameters": { + "resource": { + "pattern": "^organizations/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1/organizations/{organizationsId}:testIamPermissions", + "id": "cloudresourcemanager.organizations.testIamPermissions", + "path": "v1/{+resource}:testIamPermissions" + }, + "clearOrgPolicy": { + "description": "Clears a `Policy` from a resource.", + "request": { + "$ref": "ClearOrgPolicyRequest" + }, + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "parameters": { + "resource": { + "pattern": "^organizations/[^/]+$", + "location": "path", + "description": "Name of the resource for the `Policy` to clear.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/organizations/{organizationsId}:clearOrgPolicy", + "id": "cloudresourcemanager.organizations.clearOrgPolicy", + "path": "v1/{+resource}:clearOrgPolicy" + } + } + }, + "operations": { + "methods": { + "get": { + "id": "cloudresourcemanager.operations.get", + "path": "v1/{+name}", + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "name": { + "pattern": "^operations/.+$", + "location": "path", + "description": "The name of the operation resource.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/operations/{operationsId}" + } + } + }, + "liens": { + "methods": { + "delete": { + "description": "Delete a Lien by `name`.\n\nCallers of this method will require permission on the `parent` resource.\nFor example, a Lien with a `parent` of `projects/1234` requires permission\n`resourcemanager.projects.updateLiens`.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "parameters": { + "name": { + "pattern": "^liens/.+$", + "location": "path", + "description": "The name/identifier of the Lien to delete.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1/liens/{liensId}", + "id": "cloudresourcemanager.liens.delete", + "path": "v1/{+name}" + }, + "list": { + "httpMethod": "GET", + "response": { + "$ref": "ListLiensResponse" + }, + "parameterOrder": [], + "parameters": { + "parent": { + "description": "The name of the resource to list all attached Liens.\nFor example, `projects/1234`.", + "type": "string", + "location": "query" + }, + "pageToken": { + "location": "query", + "description": "The `next_page_token` value returned from a previous List request, if any.", + "type": "string" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "The maximum number of items to return. This is a suggestion for the server.", + "type": "integer" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1/liens", + "path": "v1/liens", + "id": "cloudresourcemanager.liens.list", + "description": "List all Liens applied to the `parent` resource.\n\nCallers of this method will require permission on the `parent` resource.\nFor example, a Lien with a `parent` of `projects/1234` requires permission\n`resourcemanager.projects.get`." + }, + "create": { + "response": { + "$ref": "Lien" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1/liens", + "id": "cloudresourcemanager.liens.create", + "path": "v1/liens", + "description": "Create a Lien which applies to the resource denoted by the `parent` field.\n\nCallers of this method will require permission on the `parent` resource.\nFor example, applying to `projects/1234` requires permission\n`resourcemanager.projects.updateLiens`.\n\nNOTE: Some resources may limit the number of Liens which may be applied.", + "request": { + "$ref": "Lien" + } } } } }, "parameters": { - "pp": { - "description": "Pretty-print response.", - "default": "true", - "type": "boolean", - "location": "query" - }, - "bearer_token": { - "description": "OAuth bearer token.", - "type": "string", - "location": "query" - }, - "oauth_token": { + "upload_protocol": { "location": "query", - "description": "OAuth 2.0 token for the current user.", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "type": "string" }, - "upload_protocol": { - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string", - "location": "query" - }, "prettyPrint": { + "location": "query", "description": "Returns response with indentations and line breaks.", "default": "true", - "type": "boolean", + "type": "boolean" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", "location": "query" }, "uploadType": { + "location": "query", "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" + }, + "callback": { + "description": "JSONP", "type": "string", "location": "query" }, - "fields": { - "location": "query", - "description": "Selector specifying which fields to include in a partial response.", - "type": "string" - }, "$.xgafv": { - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", "enum": [ "1", "2" ], "description": "V1 error format.", - "type": "string" - }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" }, "alt": { - "description": "Data format for response.", - "default": "json", "enum": [ "json", "media", @@ -1977,6 +1960,13 @@ "Media download with context-dependent Content-Type", "Responses with Content-Type of application/x-protobuf" ], + "location": "query", + "description": "Data format for response.", + "default": "json" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", "location": "query" }, "access_token": { @@ -1984,25 +1974,35 @@ "description": "OAuth access token.", "type": "string" }, - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string", - "location": "query" - }, "quotaUser": { "location": "query", "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", "type": "string" + }, + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", + "location": "query" } }, "version": "v1", "baseUrl": "https://cloudresourcemanager.googleapis.com/", - "kind": "discovery#restDescription", - "description": "The Google Cloud Resource Manager API provides methods for creating, reading, and updating project metadata.", "servicePath": "", + "description": "The Google Cloud Resource Manager API provides methods for creating, reading, and updating project metadata.", + "kind": "discovery#restDescription", "basePath": "", - "revision": "20170628", "documentationLink": "https://cloud.google.com/resource-manager", - "id": "cloudresourcemanager:v1", - "discoveryVersion": "v1" + "revision": "20170927", + "id": "cloudresourcemanager:v1" } diff --git a/vendor/google.golang.org/api/cloudresourcemanager/v1/cloudresourcemanager-gen.go b/vendor/google.golang.org/api/cloudresourcemanager/v1/cloudresourcemanager-gen.go index ea466806d..9ba4854c7 100644 --- a/vendor/google.golang.org/api/cloudresourcemanager/v1/cloudresourcemanager-gen.go +++ b/vendor/google.golang.org/api/cloudresourcemanager/v1/cloudresourcemanager-gen.go @@ -1377,8 +1377,8 @@ func (s *ListProjectsResponse) MarshalJSON() ([]byte, error) { type Operation struct { // Done: If the value is `false`, it means the operation is still in // progress. - // If true, the operation is completed, and either `error` or `response` - // is + // If `true`, the operation is completed, and either `error` or + // `response` is // available. Done bool `json:"done,omitempty"` @@ -2218,9 +2218,9 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in diff --git a/vendor/google.golang.org/api/cloudresourcemanager/v1beta1/cloudresourcemanager-api.json b/vendor/google.golang.org/api/cloudresourcemanager/v1beta1/cloudresourcemanager-api.json index ac4c58225..e560dab6c 100644 --- a/vendor/google.golang.org/api/cloudresourcemanager/v1beta1/cloudresourcemanager-api.json +++ b/vendor/google.golang.org/api/cloudresourcemanager/v1beta1/cloudresourcemanager-api.json @@ -1,614 +1,10 @@ { - "batchPath": "batch", - "fullyEncodeReservedExpansion": true, - "title": "Google Cloud Resource Manager API", - "ownerName": "Google", - "resources": { - "projects": { - "methods": { - "testIamPermissions": { - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "description": "Returns permissions that a caller has on the specified Project.", - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "resource": { - "location": "path", - "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true - } - }, - "flatPath": "v1beta1/projects/{resource}:testIamPermissions", - "id": "cloudresourcemanager.projects.testIamPermissions", - "path": "v1beta1/projects/{resource}:testIamPermissions" - }, - "delete": { - "flatPath": "v1beta1/projects/{projectId}", - "id": "cloudresourcemanager.projects.delete", - "path": "v1beta1/projects/{projectId}", - "description": "Marks the Project identified by the specified\n`project_id` (for example, `my-project-123`) for deletion.\nThis method will only affect the Project if the following criteria are met:\n\n+ The Project does not have a billing account associated with it.\n+ The Project has a lifecycle state of\nACTIVE.\n\nThis method changes the Project's lifecycle state from\nACTIVE\nto DELETE_REQUESTED.\nThe deletion starts at an unspecified time, at which point the project is\nno longer accessible.\n\nUntil the deletion completes, you can check the lifecycle state\nchecked by retrieving the Project with GetProject,\nand the Project remains visible to ListProjects.\nHowever, you cannot update the project.\n\nAfter the deletion completes, the Project is not retrievable by\nthe GetProject and\nListProjects methods.\n\nThe caller must have modify permissions for this Project.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "projectId" - ], - "httpMethod": "DELETE", - "parameters": { - "projectId": { - "location": "path", - "description": "The Project ID (for example, `foo-bar-123`).\n\nRequired.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists Projects that are visible to the user and satisfy the\nspecified filter. This method returns Projects in an unspecified order.\nNew Projects do not necessarily appear at the end of the list.", - "httpMethod": "GET", - "parameterOrder": [], - "response": { - "$ref": "ListProjectsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "filter": { - "description": "An expression for filtering the results of the request. Filter rules are\ncase insensitive. The fields eligible for filtering are:\n\n+ `name`\n+ `id`\n+ \u003ccode\u003elabels.\u003cem\u003ekey\u003c/em\u003e\u003c/code\u003e where *key* is the name of a label\n\nSome examples of using labels as filters:\n\n|Filter|Description|\n|------|-----------|\n|name:how*|The project's name starts with \"how\".|\n|name:Howl|The project's name is `Howl` or `howl`.|\n|name:HOWL|Equivalent to above.|\n|NAME:howl|Equivalent to above.|\n|labels.color:*|The project has the label `color`.|\n|labels.color:red|The project's label `color` has the value `red`.|\n|labels.color:red labels.size:big|The project's label `color` has the value `red` and its label `size` has the value `big`.\n\nIf you specify a filter that has both `parent.type` and `parent.id`, then\nthe `resourcemanager.projects.list` permission is checked on the parent.\nIf the user has this permission, all projects under the parent will be\nreturned after remaining filters have been applied. If the user lacks this\npermission, then all projects for which the user has the\n`resourcemanager.projects.get` permission will be returned after remaining\nfilters have been applied. If no filter is specified, the call will return\nprojects for which the user has `resourcemanager.projects.get` permissions.\n\nOptional.", - "type": "string", - "location": "query" - }, - "pageToken": { - "description": "A pagination token returned from a previous call to ListProjects\nthat indicates from where listing should continue.\n\nOptional.", - "type": "string", - "location": "query" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "The maximum number of Projects to return in the response.\nThe server can return fewer Projects than requested.\nIf unspecified, server picks an appropriate default.\n\nOptional.", - "type": "integer" - } - }, - "flatPath": "v1beta1/projects", - "path": "v1beta1/projects", - "id": "cloudresourcemanager.projects.list" - }, - "create": { - "response": { - "$ref": "Project" - }, - "parameterOrder": [], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "useLegacyStack": { - "description": "A safety hatch to opt out of the new reliable project creation process.", - "type": "boolean", - "location": "query" - } - }, - "flatPath": "v1beta1/projects", - "id": "cloudresourcemanager.projects.create", - "path": "v1beta1/projects", - "request": { - "$ref": "Project" - }, - "description": "Creates a Project resource.\n\nInitially, the Project resource is owned by its creator exclusively.\nThe creator can later grant permission to others to read or update the\nProject.\n\nSeveral APIs are activated automatically for the Project, including\nGoogle Cloud Storage." - }, - "setIamPolicy": { - "flatPath": "v1beta1/projects/{resource}:setIamPolicy", - "id": "cloudresourcemanager.projects.setIamPolicy", - "path": "v1beta1/projects/{resource}:setIamPolicy", - "request": { - "$ref": "SetIamPolicyRequest" - }, - "description": "Sets the IAM access control policy for the specified Project. Replaces\nany existing policy.\n\nThe following constraints apply when using `setIamPolicy()`:\n\n+ Project does not support `allUsers` and `allAuthenticatedUsers` as\n`members` in a `Binding` of a `Policy`.\n\n+ The owner role can be granted only to `user` and `serviceAccount`.\n\n+ Service accounts can be made owners of a project directly\nwithout any restrictions. However, to be added as an owner, a user must be\ninvited via Cloud Platform console and must accept the invitation.\n\n+ A user cannot be granted the owner role using `setIamPolicy()`. The user\nmust be granted the owner role using the Cloud Platform Console and must\nexplicitly accept the invitation.\n\n+ Invitations to grant the owner role cannot be sent using\n`setIamPolicy()`; they must be sent only using the Cloud Platform Console.\n\n+ Membership changes that leave the project without any owners that have\naccepted the Terms of Service (ToS) will be rejected.\n\n+ If the project is not part of an organization, there must be at least\none owner who has accepted the Terms of Service (ToS) agreement in the\npolicy. Calling `setIamPolicy()` to remove the last ToS-accepted owner\nfrom the policy will fail. This restriction also applies to legacy\nprojects that no longer have owners who have accepted the ToS. Edits to\nIAM policies will be rejected until the lack of a ToS-accepting owner is\nrectified.\n\n+ Calling this method requires enabling the App Engine Admin API.\n\nNote: Removing service accounts from policies or changing their roles\ncan render services completely inoperable. It is important to understand\nhow the service account is being used before removing or updating its\nroles.", - "response": { - "$ref": "Policy" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "location": "path" - } - } - }, - "getIamPolicy": { - "request": { - "$ref": "GetIamPolicyRequest" - }, - "description": "Returns the IAM access control policy for the specified Project.\nPermission is denied if the policy or the resource does not exist.", - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "resource": { - "location": "path", - "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true - } - }, - "flatPath": "v1beta1/projects/{resource}:getIamPolicy", - "path": "v1beta1/projects/{resource}:getIamPolicy", - "id": "cloudresourcemanager.projects.getIamPolicy" - }, - "get": { - "flatPath": "v1beta1/projects/{projectId}", - "id": "cloudresourcemanager.projects.get", - "path": "v1beta1/projects/{projectId}", - "description": "Retrieves the Project identified by the specified\n`project_id` (for example, `my-project-123`).\n\nThe caller must have read permissions for this Project.", - "response": { - "$ref": "Project" - }, - "parameterOrder": [ - "projectId" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "projectId": { - "description": "The Project ID (for example, `my-project-123`).\n\nRequired.", - "type": "string", - "required": true, - "location": "path" - } - } - }, - "undelete": { - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "projectId" - ], - "httpMethod": "POST", - "parameters": { - "projectId": { - "description": "The project ID (for example, `foo-bar-123`).\n\nRequired.", - "type": "string", - "required": true, - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta1/projects/{projectId}:undelete", - "id": "cloudresourcemanager.projects.undelete", - "path": "v1beta1/projects/{projectId}:undelete", - "description": "Restores the Project identified by the specified\n`project_id` (for example, `my-project-123`).\nYou can only use this method for a Project that has a lifecycle state of\nDELETE_REQUESTED.\nAfter deletion starts, the Project cannot be restored.\n\nThe caller must have modify permissions for this Project.", - "request": { - "$ref": "UndeleteProjectRequest" - } - }, - "update": { - "flatPath": "v1beta1/projects/{projectId}", - "id": "cloudresourcemanager.projects.update", - "path": "v1beta1/projects/{projectId}", - "request": { - "$ref": "Project" - }, - "description": "Updates the attributes of the Project identified by the specified\n`project_id` (for example, `my-project-123`).\n\nThe caller must have modify permissions for this Project.", - "response": { - "$ref": "Project" - }, - "parameterOrder": [ - "projectId" - ], - "httpMethod": "PUT", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "projectId": { - "location": "path", - "description": "The project ID (for example, `my-project-123`).\n\nRequired.", - "type": "string", - "required": true - } - } - }, - "getAncestry": { - "description": "Gets a list of ancestors in the resource hierarchy for the Project\nidentified by the specified `project_id` (for example, `my-project-123`).\n\nThe caller must have read permissions for this Project.", - "request": { - "$ref": "GetAncestryRequest" - }, - "httpMethod": "POST", - "parameterOrder": [ - "projectId" - ], - "response": { - "$ref": "GetAncestryResponse" - }, - "parameters": { - "projectId": { - "location": "path", - "description": "The Project ID (for example, `my-project-123`).\n\nRequired.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "flatPath": "v1beta1/projects/{projectId}:getAncestry", - "path": "v1beta1/projects/{projectId}:getAncestry", - "id": "cloudresourcemanager.projects.getAncestry" - } - } - }, - "organizations": { - "methods": { - "getIamPolicy": { - "flatPath": "v1beta1/organizations/{organizationsId}:getIamPolicy", - "path": "v1beta1/{+resource}:getIamPolicy", - "id": "cloudresourcemanager.organizations.getIamPolicy", - "request": { - "$ref": "GetIamPolicyRequest" - }, - "description": "Gets the access control policy for an Organization resource. May be empty\nif no such policy or resource exists. The `resource` field should be the\norganization's resource name, e.g. \"organizations/123\".", - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "resource": { - "location": "path", - "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^organizations/[^/]+$" - } - } - }, - "get": { - "httpMethod": "GET", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "Organization" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "organizationId": { - "description": "The id of the Organization resource to fetch.\nThis field is deprecated and will be removed in v1. Use name instead.", - "type": "string", - "location": "query" - }, - "name": { - "description": "The resource name of the Organization to fetch, e.g. \"organizations/1234\".", - "type": "string", - "required": true, - "pattern": "^organizations/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1beta1/organizations/{organizationsId}", - "path": "v1beta1/{+name}", - "id": "cloudresourcemanager.organizations.get", - "description": "Fetches an Organization resource identified by the specified resource name." - }, - "update": { - "flatPath": "v1beta1/organizations/{organizationsId}", - "path": "v1beta1/{+name}", - "id": "cloudresourcemanager.organizations.update", - "request": { - "$ref": "Organization" - }, - "description": "Updates an Organization resource identified by the specified resource name.", - "httpMethod": "PUT", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "Organization" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "description": "Output Only. The resource name of the organization. This is the\norganization's relative path in the API. Its format is\n\"organizations/[organization_id]\". For example, \"organizations/1234\".", - "type": "string", - "required": true, - "pattern": "^organizations/[^/]+$", - "location": "path" - } - } - }, - "testIamPermissions": { - "flatPath": "v1beta1/organizations/{organizationsId}:testIamPermissions", - "path": "v1beta1/{+resource}:testIamPermissions", - "id": "cloudresourcemanager.organizations.testIamPermissions", - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "description": "Returns permissions that a caller has on the specified Organization.\nThe `resource` field should be the organization's resource name,\ne.g. \"organizations/123\".", - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^organizations/[^/]+$", - "location": "path" - } - } - }, - "list": { - "flatPath": "v1beta1/organizations", - "id": "cloudresourcemanager.organizations.list", - "path": "v1beta1/organizations", - "description": "Lists Organization resources that are visible to the user and satisfy\nthe specified filter. This method returns Organizations in an unspecified\norder. New Organizations do not necessarily appear at the end of the list.", - "response": { - "$ref": "ListOrganizationsResponse" - }, - "parameterOrder": [], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "pageSize": { - "format": "int32", - "description": "The maximum number of Organizations to return in the response.\nThis field is optional.", - "type": "integer", - "location": "query" - }, - "filter": { - "location": "query", - "description": "An optional query string used to filter the Organizations to return in\nthe response. Filter rules are case-insensitive.\n\n\nOrganizations may be filtered by `owner.directoryCustomerId` or by\n`domain`, where the domain is a Google for Work domain, for example:\n\n|Filter|Description|\n|------|-----------|\n|owner.directorycustomerid:123456789|Organizations with `owner.directory_customer_id` equal to `123456789`.|\n|domain:google.com|Organizations corresponding to the domain `google.com`.|\n\nThis field is optional.", - "type": "string" - }, - "pageToken": { - "description": "A pagination token returned from a previous call to `ListOrganizations`\nthat indicates from where listing should continue.\nThis field is optional.", - "type": "string", - "location": "query" - } - } - }, - "setIamPolicy": { - "flatPath": "v1beta1/organizations/{organizationsId}:setIamPolicy", - "id": "cloudresourcemanager.organizations.setIamPolicy", - "path": "v1beta1/{+resource}:setIamPolicy", - "description": "Sets the access control policy on an Organization resource. Replaces any\nexisting policy. The `resource` field should be the organization's resource\nname, e.g. \"organizations/123\".", - "request": { - "$ref": "SetIamPolicyRequest" - }, - "response": { - "$ref": "Policy" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "parameters": { - "resource": { - "location": "path", - "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^organizations/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - } - }, - "parameters": { - "fields": { - "location": "query", - "description": "Selector specifying which fields to include in a partial response.", - "type": "string" - }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string", - "location": "query" - }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, - "$.xgafv": { - "description": "V1 error format.", - "type": "string", - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" - ] - }, - "alt": { - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query", - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], - "type": "string" - }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, - "access_token": { - "location": "query", - "description": "OAuth access token.", - "type": "string" - }, - "quotaUser": { - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string", - "location": "query" - }, - "pp": { - "description": "Pretty-print response.", - "default": "true", - "type": "boolean", - "location": "query" - }, - "oauth_token": { - "location": "query", - "description": "OAuth 2.0 token for the current user.", - "type": "string" - }, - "bearer_token": { - "description": "OAuth bearer token.", - "type": "string", - "location": "query" - }, - "upload_protocol": { - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string", - "location": "query" - }, - "prettyPrint": { - "location": "query", - "description": "Returns response with indentations and line breaks.", - "default": "true", - "type": "boolean" - } - }, - "version": "v1beta1", - "baseUrl": "https://cloudresourcemanager.googleapis.com/", - "kind": "discovery#restDescription", - "description": "The Google Cloud Resource Manager API provides methods for creating, reading, and updating project metadata.", - "servicePath": "", - "basePath": "", "id": "cloudresourcemanager:v1beta1", - "revision": "20170628", "documentationLink": "https://cloud.google.com/resource-manager", + "revision": "20170927", "discoveryVersion": "v1", "schemas": { - "Ancestor": { - "description": "Identifying information for a single ancestor of a project.", - "type": "object", - "properties": { - "resourceId": { - "description": "Resource id of the ancestor.", - "$ref": "ResourceId" - } - }, - "id": "Ancestor" - }, - "ListOrganizationsResponse": { - "description": "The response returned from the `ListOrganizations` method.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "A pagination token to be used to retrieve the next page of results. If the\nresult is too large to fit within the page size specified in the request,\nthis field will be set with a token that can be used to fetch the next page\nof results. If this field is empty, it indicates that this response\ncontains the last page of results.", - "type": "string" - }, - "organizations": { - "description": "The list of Organizations that matched the list query, possibly paginated.", - "items": { - "$ref": "Organization" - }, - "type": "array" - } - }, - "id": "ListOrganizationsResponse" - }, - "SetIamPolicyRequest": { - "description": "Request message for `SetIamPolicy` method.", - "type": "object", - "properties": { - "policy": { - "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them.", - "$ref": "Policy" - }, - "updateMask": { - "format": "google-fieldmask", - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", - "type": "string" - } - }, - "id": "SetIamPolicyRequest" - }, "Binding": { - "description": "Associates `members` with a `role`.", - "type": "object", "properties": { "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@gmail.com` or `joe@example.com`.\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n\n* `domain:{domain}`: A Google Apps domain name that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -622,43 +18,39 @@ "type": "string" } }, - "id": "Binding" + "id": "Binding", + "description": "Associates `members` with a `role`.", + "type": "object" }, "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", - "type": "object", "properties": {}, - "id": "Empty" + "id": "Empty", + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object" + }, + "UndeleteProjectRequest": { + "properties": {}, + "id": "UndeleteProjectRequest", + "description": "The request sent to the UndeleteProject\nmethod.", + "type": "object" }, "Organization": { "description": "The root node in the resource hierarchy to which a particular entity's\n(e.g., company) resources belong.", "type": "object", "properties": { - "owner": { - "description": "The owner of this Organization. The owner should be specified on\ncreation. Once set, it cannot be changed.\nThis field is required.", - "$ref": "OrganizationOwner" - }, - "name": { - "description": "Output Only. The resource name of the organization. This is the\norganization's relative path in the API. Its format is\n\"organizations/[organization_id]\". For example, \"organizations/1234\".", - "type": "string" - }, - "organizationId": { - "description": "An immutable id for the Organization that is assigned on creation. This\nshould be omitted when creating a new Organization.\nThis field is read-only.\nThis field is deprecated and will be removed in v1. Use name instead.", - "type": "string" - }, "lifecycleState": { - "enumDescriptions": [ - "Unspecified state. This is only useful for distinguishing unset values.", - "The normal and active state.", - "The organization has been marked for deletion by the user." - ], "enum": [ "LIFECYCLE_STATE_UNSPECIFIED", "ACTIVE", "DELETE_REQUESTED" ], "description": "The organization's current lifecycle state. Assigned by the server.\n@OutputOnly", - "type": "string" + "type": "string", + "enumDescriptions": [ + "Unspecified state. This is only useful for distinguishing unset values.", + "The normal and active state.", + "The organization has been marked for deletion by the user." + ] }, "displayName": { "description": "A friendly string to be used to refer to the Organization in the UI.\nAssigned by the server, set to the primary domain of the G Suite\ncustomer that owns the organization.\n@OutputOnly", @@ -668,20 +60,30 @@ "format": "google-datetime", "description": "Timestamp when the Organization was created. Assigned by the server.\n@OutputOnly", "type": "string" + }, + "owner": { + "$ref": "OrganizationOwner", + "description": "The owner of this Organization. The owner should be specified on\ncreation. Once set, it cannot be changed.\nThis field is required." + }, + "name": { + "description": "Output Only. The resource name of the organization. This is the\norganization's relative path in the API. Its format is\n\"organizations/[organization_id]\". For example, \"organizations/1234\".", + "type": "string" + }, + "organizationId": { + "description": "An immutable id for the Organization that is assigned on creation. This\nshould be omitted when creating a new Organization.\nThis field is read-only.\nThis field is deprecated and will be removed in v1. Use name instead.", + "type": "string" } }, "id": "Organization" }, - "UndeleteProjectRequest": { - "description": "The request sent to the UndeleteProject\nmethod.", - "type": "object", - "properties": {}, - "id": "UndeleteProjectRequest" - }, "ProjectCreationStatus": { "description": "A status object which is used as the `metadata` field for the Operation\nreturned by CreateProject. It provides insight for when significant phases of\nProject creation have completed.", "type": "object", "properties": { + "ready": { + "description": "True if the project creation process is complete.", + "type": "boolean" + }, "gettable": { "description": "True if the project can be retrieved using GetProject. No other operations\non the project are guaranteed to work until the project creation is\ncomplete.", "type": "boolean" @@ -690,17 +92,17 @@ "format": "google-datetime", "description": "Creation time of the project creation workflow.", "type": "string" - }, - "ready": { - "description": "True if the project creation process is complete.", - "type": "boolean" } }, "id": "ProjectCreationStatus" }, + "GetIamPolicyRequest": { + "properties": {}, + "id": "GetIamPolicyRequest", + "description": "Request message for `GetIamPolicy` method.", + "type": "object" + }, "TestIamPermissionsResponse": { - "description": "Response message for `TestIamPermissions` method.", - "type": "object", "properties": { "permissions": { "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", @@ -710,13 +112,23 @@ "type": "array" } }, - "id": "TestIamPermissionsResponse" + "id": "TestIamPermissionsResponse", + "description": "Response message for `TestIamPermissions` method.", + "type": "object" }, - "GetIamPolicyRequest": { - "description": "Request message for `GetIamPolicy` method.", - "type": "object", - "properties": {}, - "id": "GetIamPolicyRequest" + "GetAncestryResponse": { + "properties": { + "ancestor": { + "description": "Ancestors are ordered from bottom to top of the resource hierarchy. The\nfirst ancestor is the project itself, followed by the project's parent,\netc.", + "items": { + "$ref": "Ancestor" + }, + "type": "array" + } + }, + "id": "GetAncestryResponse", + "description": "Response from the GetAncestry method.", + "type": "object" }, "OrganizationOwner": { "description": "The entity that owns an Organization. The lifetime of the Organization and\nall of its descendants are bound to the `OrganizationOwner`. If the\n`OrganizationOwner` is deleted, the Organization and all its descendants will\nbe deleted.", @@ -729,20 +141,6 @@ }, "id": "OrganizationOwner" }, - "GetAncestryResponse": { - "description": "Response from the GetAncestry method.", - "type": "object", - "properties": { - "ancestor": { - "description": "Ancestors are ordered from bottom to top of the resource hierarchy. The\nfirst ancestor is the project itself, followed by the project's parent,\netc.", - "items": { - "$ref": "Ancestor" - }, - "type": "array" - } - }, - "id": "GetAncestryResponse" - }, "AuditLogConfig": { "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\nfoo@gmail.com from DATA_READ logging.", "type": "object", @@ -792,47 +190,14 @@ "id": "ListProjectsResponse" }, "GetAncestryRequest": { - "description": "The request sent to the\nGetAncestry\nmethod.", - "type": "object", "properties": {}, - "id": "GetAncestryRequest" + "id": "GetAncestryRequest", + "description": "The request sent to the\nGetAncestry\nmethod.", + "type": "object" }, "Project": { - "description": "A Project is a high-level Google Cloud Platform entity. It is a\ncontainer for ACLs, APIs, App Engine Apps, VMs, and other\nGoogle Cloud Platform resources.", - "type": "object", "properties": { - "projectNumber": { - "format": "int64", - "description": "The number uniquely identifying the project.\n\nExample: \u003ccode\u003e415104041262\u003c/code\u003e\nRead-only.", - "type": "string" - }, - "parent": { - "description": "An optional reference to a parent Resource.\n\nThe only supported parent type is \"organization\". Once set, the parent\ncannot be modified. The `parent` can be set on creation or using the\n`UpdateProject` method; the end user must have the\n`resourcemanager.projects.create` permission on the parent.\n\nRead-write.", - "$ref": "ResourceId" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "The labels associated with this Project.\n\nLabel keys must be between 1 and 63 characters long and must conform\nto the following regular expression: \\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?.\n\nLabel values must be between 0 and 63 characters long and must conform\nto the regular expression (\\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?)?.\n\nNo more than 256 labels can be associated with a given resource.\n\nClients should store labels in a representation such as JSON that does not\ndepend on specific characters being disallowed.\n\nExample: \u003ccode\u003e\"environment\" : \"dev\"\u003c/code\u003e\nRead-write.", - "type": "object" - }, - "createTime": { - "format": "google-datetime", - "description": "Creation time.\n\nRead-only.", - "type": "string" - }, - "name": { - "description": "The user-assigned display name of the Project.\nIt must be 4 to 30 characters.\nAllowed characters are: lowercase and uppercase letters, numbers,\nhyphen, single-quote, double-quote, space, and exclamation point.\n\nExample: \u003ccode\u003eMy Project\u003c/code\u003e\nRead-write.", - "type": "string" - }, - "projectId": { - "description": "The unique, user-assigned ID of the Project.\nIt must be 6 to 30 lowercase letters, digits, or hyphens.\nIt must start with a letter.\nTrailing hyphens are prohibited.\n\nExample: \u003ccode\u003etokyo-rain-123\u003c/code\u003e\nRead-only after creation.", - "type": "string" - }, "lifecycleState": { - "description": "The Project lifecycle state.\n\nRead-only.", - "type": "string", "enumDescriptions": [ "Unspecified state. This is only used/useful for distinguishing\nunset values.", "The normal and active state.", @@ -844,14 +209,45 @@ "ACTIVE", "DELETE_REQUESTED", "DELETE_IN_PROGRESS" - ] + ], + "description": "The Project lifecycle state.\n\nRead-only.", + "type": "string" + }, + "projectNumber": { + "format": "int64", + "description": "The number uniquely identifying the project.\n\nExample: \u003ccode\u003e415104041262\u003c/code\u003e\nRead-only.", + "type": "string" + }, + "parent": { + "$ref": "ResourceId", + "description": "An optional reference to a parent Resource.\n\nThe only supported parent type is \"organization\". Once set, the parent\ncannot be modified. The `parent` can be set on creation or using the\n`UpdateProject` method; the end user must have the\n`resourcemanager.projects.create` permission on the parent.\n\nRead-write." + }, + "createTime": { + "format": "google-datetime", + "description": "Creation time.\n\nRead-only.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "The labels associated with this Project.\n\nLabel keys must be between 1 and 63 characters long and must conform\nto the following regular expression: \\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?.\n\nLabel values must be between 0 and 63 characters long and must conform\nto the regular expression (\\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?)?.\n\nNo more than 256 labels can be associated with a given resource.\n\nClients should store labels in a representation such as JSON that does not\ndepend on specific characters being disallowed.\n\nExample: \u003ccode\u003e\"environment\" : \"dev\"\u003c/code\u003e\nRead-write.", + "type": "object" + }, + "name": { + "description": "The user-assigned display name of the Project.\nIt must be 4 to 30 characters.\nAllowed characters are: lowercase and uppercase letters, numbers,\nhyphen, single-quote, double-quote, space, and exclamation point.\n\nExample: \u003ccode\u003eMy Project\u003c/code\u003e\nRead-write.", + "type": "string" + }, + "projectId": { + "description": "The unique, user-assigned ID of the Project.\nIt must be 6 to 30 lowercase letters, digits, or hyphens.\nIt must start with a letter.\nTrailing hyphens are prohibited.\n\nExample: \u003ccode\u003etokyo-rain-123\u003c/code\u003e\nRead-only after creation.", + "type": "string" } }, - "id": "Project" + "id": "Project", + "description": "A Project is a high-level Google Cloud Platform entity. It is a\ncontainer for ACLs, APIs, App Engine Apps, VMs, and other\nGoogle Cloud Platform resources.", + "type": "object" }, "TestIamPermissionsRequest": { - "description": "Request message for `TestIamPermissions` method.", - "type": "object", "properties": { "permissions": { "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", @@ -861,11 +257,75 @@ "type": "array" } }, - "id": "TestIamPermissionsRequest" + "id": "TestIamPermissionsRequest", + "description": "Request message for `TestIamPermissions` method.", + "type": "object" + }, + "FolderOperation": { + "description": "Metadata describing a long running folder operation", + "type": "object", + "properties": { + "operationType": { + "enumDescriptions": [ + "Operation type not specified.", + "A create folder operation.", + "A move folder operation." + ], + "enum": [ + "OPERATION_TYPE_UNSPECIFIED", + "CREATE", + "MOVE" + ], + "description": "The type of this operation.", + "type": "string" + }, + "sourceParent": { + "description": "The resource name of the folder's parent.\nOnly applicable when the operation_type is MOVE.", + "type": "string" + }, + "displayName": { + "description": "The display name of the folder.", + "type": "string" + }, + "destinationParent": { + "description": "The resource name of the folder or organization we are either creating\nthe folder under or moving the folder to.", + "type": "string" + } + }, + "id": "FolderOperation" + }, + "Policy": { + "properties": { + "etag": { + "format": "byte", + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.", + "type": "string" + }, + "version": { + "format": "int32", + "description": "Version of the `Policy`. The default version is 0.", + "type": "integer" + }, + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "AuditConfig" + }, + "type": "array" + }, + "bindings": { + "description": "Associates a list of `members` to a `role`.\n`bindings` with no members will result in an error.", + "items": { + "$ref": "Binding" + }, + "type": "array" + } + }, + "id": "Policy", + "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam).", + "type": "object" }, "FolderOperationError": { - "description": "A classification of the Folder Operation error.", - "type": "object", "properties": { "errorMessageId": { "enumDescriptions": [ @@ -896,109 +356,92 @@ "type": "string" } }, - "id": "FolderOperationError" - }, - "FolderOperation": { - "description": "Metadata describing a long running folder operation", - "type": "object", - "properties": { - "sourceParent": { - "description": "The resource name of the folder's parent.\nOnly applicable when the operation_type is MOVE.", - "type": "string" - }, - "displayName": { - "description": "The display name of the folder.", - "type": "string" - }, - "destinationParent": { - "description": "The resource name of the folder or organization we are either creating\nthe folder under or moving the folder to.", - "type": "string" - }, - "operationType": { - "enumDescriptions": [ - "Operation type not specified.", - "A create folder operation.", - "A move folder operation." - ], - "enum": [ - "OPERATION_TYPE_UNSPECIFIED", - "CREATE", - "MOVE" - ], - "description": "The type of this operation.", - "type": "string" - } - }, - "id": "FolderOperation" - }, - "Policy": { - "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam).", - "type": "object", - "properties": { - "etag": { - "format": "byte", - "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.", - "type": "string" - }, - "version": { - "format": "int32", - "description": "Version of the `Policy`. The default version is 0.", - "type": "integer" - }, - "auditConfigs": { - "description": "Specifies cloud audit logging configuration for this policy.", - "items": { - "$ref": "AuditConfig" - }, - "type": "array" - }, - "bindings": { - "description": "Associates a list of `members` to a `role`.\n`bindings` with no members will result in an error.", - "items": { - "$ref": "Binding" - }, - "type": "array" - } - }, - "id": "Policy" + "id": "FolderOperationError", + "description": "A classification of the Folder Operation error.", + "type": "object" }, "ResourceId": { - "description": "A container to reference an id for any resource type. A `resource` in Google\nCloud Platform is a generic term for something you (a developer) may want to\ninteract with through one of our API's. Some examples are an App Engine app,\na Compute Engine instance, a Cloud SQL database, and so on.", - "type": "object", "properties": { - "type": { - "description": "Required field representing the resource type this id is for.\nAt present, the valid types are \"project\" and \"organization\".", - "type": "string" - }, "id": { "description": "Required field for the type-specific id. This should correspond to the id\nused in the type-specific API's.", "type": "string" + }, + "type": { + "description": "Required field representing the resource type this id is for.\nAt present, the valid types are \"project\", \"folder\", and \"organization\".", + "type": "string" } }, - "id": "ResourceId" + "id": "ResourceId", + "description": "A container to reference an id for any resource type. A `resource` in Google\nCloud Platform is a generic term for something you (a developer) may want to\ninteract with through one of our API's. Some examples are an App Engine app,\na Compute Engine instance, a Cloud SQL database, and so on.", + "type": "object" }, "AuditConfig": { "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"fooservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:bar@gmail.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts foo@gmail.com from DATA_READ logging, and\nbar@gmail.com from DATA_WRITE logging.", "type": "object", "properties": { + "service": { + "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", + "type": "string" + }, "auditLogConfigs": { "description": "The configuration for logging of each type of permission.\nNext ID: 4", "items": { "$ref": "AuditLogConfig" }, "type": "array" - }, - "service": { - "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", - "type": "string" } }, "id": "AuditConfig" + }, + "Ancestor": { + "properties": { + "resourceId": { + "description": "Resource id of the ancestor.", + "$ref": "ResourceId" + } + }, + "id": "Ancestor", + "description": "Identifying information for a single ancestor of a project.", + "type": "object" + }, + "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "type": "object", + "properties": { + "updateMask": { + "format": "google-fieldmask", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "type": "string" + }, + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + } + }, + "id": "SetIamPolicyRequest" + }, + "ListOrganizationsResponse": { + "properties": { + "nextPageToken": { + "description": "A pagination token to be used to retrieve the next page of results. If the\nresult is too large to fit within the page size specified in the request,\nthis field will be set with a token that can be used to fetch the next page\nof results. If this field is empty, it indicates that this response\ncontains the last page of results.", + "type": "string" + }, + "organizations": { + "description": "The list of Organizations that matched the list query, possibly paginated.", + "items": { + "$ref": "Organization" + }, + "type": "array" + } + }, + "id": "ListOrganizationsResponse", + "description": "The response returned from the `ListOrganizations` method.", + "type": "object" } }, "icons": { - "x32": "http://www.google.com/images/icons/product/search-32.gif", - "x16": "http://www.google.com/images/icons/product/search-16.gif" + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "protocol": "rest", "canonicalName": "Cloud Resource Manager", @@ -1016,5 +459,562 @@ }, "rootUrl": "https://cloudresourcemanager.googleapis.com/", "ownerDomain": "google.com", - "name": "cloudresourcemanager" + "name": "cloudresourcemanager", + "batchPath": "batch", + "fullyEncodeReservedExpansion": true, + "title": "Google Cloud Resource Manager API", + "ownerName": "Google", + "resources": { + "projects": { + "methods": { + "setIamPolicy": { + "id": "cloudresourcemanager.projects.setIamPolicy", + "path": "v1beta1/projects/{resource}:setIamPolicy", + "description": "Sets the IAM access control policy for the specified Project. Replaces\nany existing policy.\n\nThe following constraints apply when using `setIamPolicy()`:\n\n+ Project does not support `allUsers` and `allAuthenticatedUsers` as\n`members` in a `Binding` of a `Policy`.\n\n+ The owner role can be granted only to `user` and `serviceAccount`.\n\n+ Service accounts can be made owners of a project directly\nwithout any restrictions. However, to be added as an owner, a user must be\ninvited via Cloud Platform console and must accept the invitation.\n\n+ A user cannot be granted the owner role using `setIamPolicy()`. The user\nmust be granted the owner role using the Cloud Platform Console and must\nexplicitly accept the invitation.\n\n+ Invitations to grant the owner role cannot be sent using\n`setIamPolicy()`; they must be sent only using the Cloud Platform Console.\n\n+ Membership changes that leave the project without any owners that have\naccepted the Terms of Service (ToS) will be rejected.\n\n+ If the project is not part of an organization, there must be at least\none owner who has accepted the Terms of Service (ToS) agreement in the\npolicy. Calling `setIamPolicy()` to remove the last ToS-accepted owner\nfrom the policy will fail. This restriction also applies to legacy\nprojects that no longer have owners who have accepted the ToS. Edits to\nIAM policies will be rejected until the lack of a ToS-accepting owner is\nrectified.\n\n+ Calling this method requires enabling the App Engine Admin API.\n\nNote: Removing service accounts from policies or changing their roles\ncan render services completely inoperable. It is important to understand\nhow the service account is being used before removing or updating its\nroles.", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "parameters": { + "resource": { + "location": "path", + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/projects/{resource}:setIamPolicy" + }, + "create": { + "response": { + "$ref": "Project" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": { + "useLegacyStack": { + "description": "A safety hatch to opt out of the new reliable project creation process.", + "type": "boolean", + "location": "query" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/projects", + "id": "cloudresourcemanager.projects.create", + "path": "v1beta1/projects", + "description": "Creates a Project resource.\n\nInitially, the Project resource is owned by its creator exclusively.\nThe creator can later grant permission to others to read or update the\nProject.\n\nSeveral APIs are activated automatically for the Project, including\nGoogle Cloud Storage.", + "request": { + "$ref": "Project" + } + }, + "getIamPolicy": { + "description": "Returns the IAM access control policy for the specified Project.\nPermission is denied if the policy or the resource does not exist.", + "request": { + "$ref": "GetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "parameters": { + "resource": { + "location": "path", + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1beta1/projects/{resource}:getIamPolicy", + "id": "cloudresourcemanager.projects.getIamPolicy", + "path": "v1beta1/projects/{resource}:getIamPolicy" + }, + "get": { + "description": "Retrieves the Project identified by the specified\n`project_id` (for example, `my-project-123`).\n\nThe caller must have read permissions for this Project.", + "response": { + "$ref": "Project" + }, + "parameterOrder": [ + "projectId" + ], + "httpMethod": "GET", + "parameters": { + "projectId": { + "location": "path", + "description": "The Project ID (for example, `my-project-123`).\n\nRequired.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1beta1/projects/{projectId}", + "id": "cloudresourcemanager.projects.get", + "path": "v1beta1/projects/{projectId}" + }, + "undelete": { + "path": "v1beta1/projects/{projectId}:undelete", + "id": "cloudresourcemanager.projects.undelete", + "request": { + "$ref": "UndeleteProjectRequest" + }, + "description": "Restores the Project identified by the specified\n`project_id` (for example, `my-project-123`).\nYou can only use this method for a Project that has a lifecycle state of\nDELETE_REQUESTED.\nAfter deletion starts, the Project cannot be restored.\n\nThe caller must have modify permissions for this Project.", + "httpMethod": "POST", + "parameterOrder": [ + "projectId" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "projectId": { + "description": "The project ID (for example, `foo-bar-123`).\n\nRequired.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1beta1/projects/{projectId}:undelete" + }, + "getAncestry": { + "id": "cloudresourcemanager.projects.getAncestry", + "path": "v1beta1/projects/{projectId}:getAncestry", + "description": "Gets a list of ancestors in the resource hierarchy for the Project\nidentified by the specified `project_id` (for example, `my-project-123`).\n\nThe caller must have read permissions for this Project.", + "request": { + "$ref": "GetAncestryRequest" + }, + "response": { + "$ref": "GetAncestryResponse" + }, + "parameterOrder": [ + "projectId" + ], + "httpMethod": "POST", + "parameters": { + "projectId": { + "location": "path", + "description": "The Project ID (for example, `my-project-123`).\n\nRequired.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1beta1/projects/{projectId}:getAncestry" + }, + "update": { + "response": { + "$ref": "Project" + }, + "parameterOrder": [ + "projectId" + ], + "httpMethod": "PUT", + "parameters": { + "projectId": { + "location": "path", + "description": "The project ID (for example, `my-project-123`).\n\nRequired.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/projects/{projectId}", + "id": "cloudresourcemanager.projects.update", + "path": "v1beta1/projects/{projectId}", + "description": "Updates the attributes of the Project identified by the specified\n`project_id` (for example, `my-project-123`).\n\nThe caller must have modify permissions for this Project.", + "request": { + "$ref": "Project" + } + }, + "testIamPermissions": { + "id": "cloudresourcemanager.projects.testIamPermissions", + "path": "v1beta1/projects/{resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "description": "Returns permissions that a caller has on the specified Project.", + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "resource": { + "location": "path", + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta1/projects/{resource}:testIamPermissions" + }, + "delete": { + "httpMethod": "DELETE", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "projectId" + ], + "parameters": { + "projectId": { + "location": "path", + "description": "The Project ID (for example, `foo-bar-123`).\n\nRequired.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/projects/{projectId}", + "path": "v1beta1/projects/{projectId}", + "id": "cloudresourcemanager.projects.delete", + "description": "Marks the Project identified by the specified\n`project_id` (for example, `my-project-123`) for deletion.\nThis method will only affect the Project if the following criteria are met:\n\n+ The Project does not have a billing account associated with it.\n+ The Project has a lifecycle state of\nACTIVE.\n\nThis method changes the Project's lifecycle state from\nACTIVE\nto DELETE_REQUESTED.\nThe deletion starts at an unspecified time, at which point the project is\nno longer accessible.\n\nUntil the deletion completes, you can check the lifecycle state\nchecked by retrieving the Project with GetProject,\nand the Project remains visible to ListProjects.\nHowever, you cannot update the project.\n\nAfter the deletion completes, the Project is not retrievable by\nthe GetProject and\nListProjects methods.\n\nThe caller must have modify permissions for this Project." + }, + "list": { + "id": "cloudresourcemanager.projects.list", + "path": "v1beta1/projects", + "description": "Lists Projects that are visible to the user and satisfy the\nspecified filter. This method returns Projects in an unspecified order.\nNew Projects do not necessarily appear at the end of the list.", + "parameterOrder": [], + "httpMethod": "GET", + "response": { + "$ref": "ListProjectsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "filter": { + "location": "query", + "description": "An expression for filtering the results of the request. Filter rules are\ncase insensitive. The fields eligible for filtering are:\n\n+ `name`\n+ `id`\n+ \u003ccode\u003elabels.\u003cem\u003ekey\u003c/em\u003e\u003c/code\u003e where *key* is the name of a label\n\nSome examples of using labels as filters:\n\n|Filter|Description|\n|------|-----------|\n|name:how*|The project's name starts with \"how\".|\n|name:Howl|The project's name is `Howl` or `howl`.|\n|name:HOWL|Equivalent to above.|\n|NAME:howl|Equivalent to above.|\n|labels.color:*|The project has the label `color`.|\n|labels.color:red|The project's label `color` has the value `red`.|\n|labels.color:red labels.size:big|The project's label `color` has the value `red` and its label `size` has the value `big`.\n\nIf you specify a filter that has both `parent.type` and `parent.id`, then\nthe `resourcemanager.projects.list` permission is checked on the parent.\nIf the user has this permission, all projects under the parent will be\nreturned after remaining filters have been applied. If the user lacks this\npermission, then all projects for which the user has the\n`resourcemanager.projects.get` permission will be returned after remaining\nfilters have been applied. If no filter is specified, the call will return\nprojects for which the user has `resourcemanager.projects.get` permissions.\n\nOptional.", + "type": "string" + }, + "pageToken": { + "location": "query", + "description": "A pagination token returned from a previous call to ListProjects\nthat indicates from where listing should continue.\n\nOptional.", + "type": "string" + }, + "pageSize": { + "format": "int32", + "description": "The maximum number of Projects to return in the response.\nThe server can return fewer Projects than requested.\nIf unspecified, server picks an appropriate default.\n\nOptional.", + "type": "integer", + "location": "query" + } + }, + "flatPath": "v1beta1/projects" + } + } + }, + "organizations": { + "methods": { + "setIamPolicy": { + "id": "cloudresourcemanager.organizations.setIamPolicy", + "path": "v1beta1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "description": "Sets the access control policy on an Organization resource. Replaces any\nexisting policy. The `resource` field should be the organization's resource\nname, e.g. \"organizations/123\".", + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "resource": { + "pattern": "^organizations/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta1/organizations/{organizationsId}:setIamPolicy" + }, + "getIamPolicy": { + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "Policy" + }, + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "pattern": "^organizations/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1beta1/organizations/{organizationsId}:getIamPolicy", + "path": "v1beta1/{+resource}:getIamPolicy", + "id": "cloudresourcemanager.organizations.getIamPolicy", + "description": "Gets the access control policy for an Organization resource. May be empty\nif no such policy or resource exists. The `resource` field should be the\norganization's resource name, e.g. \"organizations/123\".", + "request": { + "$ref": "GetIamPolicyRequest" + } + }, + "get": { + "path": "v1beta1/{+name}", + "id": "cloudresourcemanager.organizations.get", + "description": "Fetches an Organization resource identified by the specified resource name.", + "httpMethod": "GET", + "response": { + "$ref": "Organization" + }, + "parameterOrder": [ + "name" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "name": { + "description": "The resource name of the Organization to fetch, e.g. \"organizations/1234\".", + "type": "string", + "required": true, + "pattern": "^organizations/[^/]+$", + "location": "path" + }, + "organizationId": { + "location": "query", + "description": "The id of the Organization resource to fetch.\nThis field is deprecated and will be removed in v1. Use name instead.", + "type": "string" + } + }, + "flatPath": "v1beta1/organizations/{organizationsId}" + }, + "update": { + "httpMethod": "PUT", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Organization" + }, + "parameters": { + "name": { + "pattern": "^organizations/[^/]+$", + "location": "path", + "description": "Output Only. The resource name of the organization. This is the\norganization's relative path in the API. Its format is\n\"organizations/[organization_id]\". For example, \"organizations/1234\".", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/organizations/{organizationsId}", + "path": "v1beta1/{+name}", + "id": "cloudresourcemanager.organizations.update", + "description": "Updates an Organization resource identified by the specified resource name.", + "request": { + "$ref": "Organization" + } + }, + "testIamPermissions": { + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "resource": { + "pattern": "^organizations/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta1/organizations/{organizationsId}:testIamPermissions", + "id": "cloudresourcemanager.organizations.testIamPermissions", + "path": "v1beta1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "description": "Returns permissions that a caller has on the specified Organization.\nThe `resource` field should be the organization's resource name,\ne.g. \"organizations/123\"." + }, + "list": { + "description": "Lists Organization resources that are visible to the user and satisfy\nthe specified filter. This method returns Organizations in an unspecified\norder. New Organizations do not necessarily appear at the end of the list.", + "httpMethod": "GET", + "response": { + "$ref": "ListOrganizationsResponse" + }, + "parameterOrder": [], + "parameters": { + "pageToken": { + "location": "query", + "description": "A pagination token returned from a previous call to `ListOrganizations`\nthat indicates from where listing should continue.\nThis field is optional.", + "type": "string" + }, + "pageSize": { + "format": "int32", + "description": "The maximum number of Organizations to return in the response.\nThis field is optional.", + "type": "integer", + "location": "query" + }, + "filter": { + "location": "query", + "description": "An optional query string used to filter the Organizations to return in\nthe response. Filter rules are case-insensitive.\n\n\nOrganizations may be filtered by `owner.directoryCustomerId` or by\n`domain`, where the domain is a Google for Work domain, for example:\n\n|Filter|Description|\n|------|-----------|\n|owner.directorycustomerid:123456789|Organizations with `owner.directory_customer_id` equal to `123456789`.|\n|domain:google.com|Organizations corresponding to the domain `google.com`.|\n\nThis field is optional.", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1beta1/organizations", + "path": "v1beta1/organizations", + "id": "cloudresourcemanager.organizations.list" + } + } + } + }, + "parameters": { + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string", + "location": "query" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" + }, + "fields": { + "location": "query", + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string", + "location": "query" + }, + "$.xgafv": { + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, + "alt": { + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", + "location": "query" + }, + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" + }, + "pp": { + "description": "Pretty-print response.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + } + }, + "version": "v1beta1", + "baseUrl": "https://cloudresourcemanager.googleapis.com/", + "servicePath": "", + "description": "The Google Cloud Resource Manager API provides methods for creating, reading, and updating project metadata.", + "kind": "discovery#restDescription", + "basePath": "" } diff --git a/vendor/google.golang.org/api/cloudresourcemanager/v1beta1/cloudresourcemanager-gen.go b/vendor/google.golang.org/api/cloudresourcemanager/v1beta1/cloudresourcemanager-gen.go index 1c1e3f94b..591ab8e2c 100644 --- a/vendor/google.golang.org/api/cloudresourcemanager/v1beta1/cloudresourcemanager-gen.go +++ b/vendor/google.golang.org/api/cloudresourcemanager/v1beta1/cloudresourcemanager-gen.go @@ -997,7 +997,8 @@ type ResourceId struct { // Type: Required field representing the resource type this id is // for. - // At present, the valid types are "project" and "organization". + // At present, the valid types are "project", "folder", and + // "organization". Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Id") to diff --git a/vendor/google.golang.org/api/cloudresourcemanager/v2beta1/cloudresourcemanager-api.json b/vendor/google.golang.org/api/cloudresourcemanager/v2beta1/cloudresourcemanager-api.json index 9122ce196..d7b28a5fd 100644 --- a/vendor/google.golang.org/api/cloudresourcemanager/v2beta1/cloudresourcemanager-api.json +++ b/vendor/google.golang.org/api/cloudresourcemanager/v2beta1/cloudresourcemanager-api.json @@ -1,156 +1,44 @@ { + "baseUrl": "https://cloudresourcemanager.googleapis.com/", "kind": "discovery#restDescription", "description": "The Google Cloud Resource Manager API provides methods for creating, reading, and updating project metadata.", "servicePath": "", "basePath": "", - "id": "cloudresourcemanager:v2beta1", + "revision": "20170927", "documentationLink": "https://cloud.google.com/resource-manager", - "revision": "20170628", + "id": "cloudresourcemanager:v2beta1", "discoveryVersion": "v1", "schemas": { - "TestIamPermissionsRequest": { - "description": "Request message for `TestIamPermissions` method.", - "type": "object", - "properties": { - "permissions": { - "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "TestIamPermissionsRequest" - }, - "Policy": { - "type": "object", - "properties": { - "bindings": { - "description": "Associates a list of `members` to a `role`.\n`bindings` with no members will result in an error.", - "items": { - "$ref": "Binding" - }, - "type": "array" - }, - "etag": { - "type": "string", - "format": "byte", - "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly." - }, - "version": { - "type": "integer", - "format": "int32", - "description": "Version of the `Policy`. The default version is 0." - }, - "auditConfigs": { - "items": { - "$ref": "AuditConfig" - }, - "type": "array", - "description": "Specifies cloud audit logging configuration for this policy." - } - }, - "id": "Policy", - "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam)." - }, - "FolderOperation": { - "type": "object", - "properties": { - "operationType": { - "enum": [ - "OPERATION_TYPE_UNSPECIFIED", - "CREATE", - "MOVE" - ], - "description": "The type of this operation.", - "type": "string", - "enumDescriptions": [ - "Operation type not specified.", - "A create folder operation.", - "A move folder operation." - ] - }, - "sourceParent": { - "description": "The resource name of the folder's parent.\nOnly applicable when the operation_type is MOVE.", - "type": "string" - }, - "displayName": { - "description": "The display name of the folder.", - "type": "string" - }, - "destinationParent": { - "description": "The resource name of the folder or organization we are either creating\nthe folder under or moving the folder to.", - "type": "string" - } - }, - "id": "FolderOperation", - "description": "Metadata describing a long running folder operation" - }, - "FolderOperationError": { - "type": "object", - "properties": { - "errorMessageId": { - "type": "string", - "enumDescriptions": [ - "The error type was unrecognized or unspecified.", - "The attempted action would violate the max folder depth constraint.", - "The attempted action would violate the max child folders constraint.", - "The attempted action would violate the locally-unique folder\ndisplay_name constraint.", - "The resource being moved has been deleted.", - "The resource a folder was being added to has been deleted.", - "The attempted action would introduce cycle in resource path.", - "The attempted action would move a folder that is already being moved.", - "The folder the caller is trying to delete contains active resources.", - "The attempted action would violate the max deleted folder depth\nconstraint." - ], - "enum": [ - "ERROR_TYPE_UNSPECIFIED", - "ACTIVE_FOLDER_HEIGHT_VIOLATION", - "MAX_CHILD_FOLDERS_VIOLATION", - "FOLDER_NAME_UNIQUENESS_VIOLATION", - "RESOURCE_DELETED_VIOLATION", - "PARENT_DELETED_VIOLATION", - "CYCLE_INTRODUCED_VIOLATION", - "FOLDER_BEING_MOVED_VIOLATION", - "FOLDER_TO_DELETE_NON_EMPTY_VIOLATION", - "DELETED_FOLDER_HEIGHT_VIOLATION" - ], - "description": "The type of operation error experienced." - } - }, - "id": "FolderOperationError", - "description": "A classification of the Folder Operation error." - }, "Operation": { "type": "object", "properties": { - "metadata": { - "additionalProperties": { - "type": "any", - "description": "Properties of the object. Contains field @type with type URL." - }, - "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", - "type": "object" - }, "done": { - "type": "boolean", - "description": "If the value is `false`, it means the operation is still in progress.\nIf true, the operation is completed, and either `error` or `response` is\navailable." + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" }, "response": { + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", "type": "object", "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" - }, - "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`." + } }, "name": { - "type": "string", - "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`." + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`.", + "type": "string" }, "error": { "$ref": "Status", "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + } } }, "id": "Operation", @@ -175,40 +63,9 @@ "id": "AuditConfig" }, "ListFoldersResponse": { - "type": "object", "properties": { "folders": { - "items": { - "$ref": "Folder" - }, - "type": "array", - "description": "A possibly paginated list of Folders that are direct descendants of\nthe specified parent resource." - }, - "nextPageToken": { - "description": "A pagination token returned from a previous call to `ListFolders`\nthat indicates from where listing should continue.\nThis field is optional.", - "type": "string" - } - }, - "id": "ListFoldersResponse", - "description": "The ListFolders response message." - }, - "MoveFolderRequest": { - "description": "The MoveFolder request message.", - "type": "object", - "properties": { - "destinationParent": { - "type": "string", - "description": "The resource name of the Folder or Organization to reparent\nthe folder under.\nMust be of the form `folders/{folder_id}` or `organizations/{org_id}`." - } - }, - "id": "MoveFolderRequest" - }, - "SearchFoldersResponse": { - "description": "The response message for searching folders.", - "type": "object", - "properties": { - "folders": { - "description": "A possibly paginated folder search results.\nthe specified parent resource.", + "description": "A possibly paginated list of Folders that are direct descendants of\nthe specified parent resource.", "items": { "$ref": "Folder" }, @@ -216,7 +73,38 @@ }, "nextPageToken": { "type": "string", - "description": "A pagination token returned from a previous call to `SearchFolders`\nthat indicates from where searching should continue.\nThis field is optional." + "description": "A pagination token returned from a previous call to `ListFolders`\nthat indicates from where listing should continue.\nThis field is optional." + } + }, + "id": "ListFoldersResponse", + "description": "The ListFolders response message.", + "type": "object" + }, + "MoveFolderRequest": { + "id": "MoveFolderRequest", + "description": "The MoveFolder request message.", + "type": "object", + "properties": { + "destinationParent": { + "description": "The resource name of the Folder or Organization to reparent\nthe folder under.\nMust be of the form `folders/{folder_id}` or `organizations/{org_id}`.", + "type": "string" + } + } + }, + "SearchFoldersResponse": { + "description": "The response message for searching folders.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "A pagination token returned from a previous call to `SearchFolders`\nthat indicates from where searching should continue.\nThis field is optional.", + "type": "string" + }, + "folders": { + "description": "A possibly paginated folder search results.\nthe specified parent resource.", + "items": { + "$ref": "Folder" + }, + "type": "array" } }, "id": "SearchFoldersResponse" @@ -238,11 +126,21 @@ "id": "SetIamPolicyRequest" }, "Status": { + "id": "Status", "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", "type": "object", "properties": { + "code": { + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + }, "details": { - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", "items": { "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", @@ -251,38 +149,29 @@ "type": "object" }, "type": "array" - }, - "code": { - "type": "integer", - "format": "int32", - "description": "The status code, which should be an enum value of google.rpc.Code." - }, - "message": { - "type": "string", - "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client." } - }, - "id": "Status" + } }, "Binding": { - "description": "Associates `members` with a `role`.", - "type": "object", "properties": { - "role": { - "type": "string", - "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired" - }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@gmail.com` or `joe@example.com`.\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n\n* `domain:{domain}`: A Google Apps domain name that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", "items": { "type": "string" }, "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired", + "type": "string" } }, - "id": "Binding" + "id": "Binding", + "description": "Associates `members` with a `role`.", + "type": "object" }, "SearchFoldersRequest": { + "description": "The request message for searching folders.", "type": "object", "properties": { "pageToken": { @@ -295,27 +184,47 @@ "type": "integer" }, "query": { - "type": "string", - "description": "Search criteria used to select the Folders to return.\nIf no search criteria is specified then all accessible folders will be\nreturned.\n\nQuery expressions can be used to restrict results based upon displayName,\nlifecycleState and parent, where the operators `=`, `NOT`, `AND` and `OR`\ncan be used along with the suffix wildcard symbol `*`.\n\nSome example queries are:\n|Query|Description|\n|------|-----------|\n|displayName=Test*|Folders whose display name starts with \"Test\".|\n|lifecycleState=ACTIVE|Folders whose lifecycleState is ACTIVE.|\n|parent=folders/123|Folders whose parent is \"folders/123\".|\n|parent=folders/123 AND lifecycleState=ACTIVE|Active folders whose\nparent is \"folders/123\".|" + "description": "Search criteria used to select the Folders to return.\nIf no search criteria is specified then all accessible folders will be\nreturned.\n\nQuery expressions can be used to restrict results based upon displayName,\nlifecycleState and parent, where the operators `=`, `NOT`, `AND` and `OR`\ncan be used along with the suffix wildcard symbol `*`.\n\nSome example queries are:\n|Query|Description|\n|------|-----------|\n|displayName=Test*|Folders whose display name starts with \"Test\".|\n|lifecycleState=ACTIVE|Folders whose lifecycleState is ACTIVE.|\n|parent=folders/123|Folders whose parent is \"folders/123\".|\n|parent=folders/123 AND lifecycleState=ACTIVE|Active folders whose\nparent is \"folders/123\".|", + "type": "string" } }, - "id": "SearchFoldersRequest", - "description": "The request message for searching folders." + "id": "SearchFoldersRequest" + }, + "ProjectCreationStatus": { + "description": "A status object which is used as the `metadata` field for the Operation\nreturned by CreateProject. It provides insight for when significant phases of\nProject creation have completed.", + "type": "object", + "properties": { + "ready": { + "description": "True if the project creation process is complete.", + "type": "boolean" + }, + "gettable": { + "description": "True if the project can be retrieved using GetProject. No other operations\non the project are guaranteed to work until the project creation is\ncomplete.", + "type": "boolean" + }, + "createTime": { + "format": "google-datetime", + "description": "Creation time of the project creation workflow.", + "type": "string" + } + }, + "id": "ProjectCreationStatus" }, "Folder": { "description": "A Folder in an Organization's resource hierarchy, used to\norganize that Organization's resources.", "type": "object", "properties": { "parent": { - "type": "string", - "description": "The Folder’s parent's resource name.\nUpdates to the folder's parent must be performed via [MoveFolders]." + "description": "The Folder’s parent's resource name.\nUpdates to the folder's parent must be performed via [MoveFolders].", + "type": "string" }, "createTime": { - "type": "string", "format": "google-datetime", - "description": "Output only. Timestamp when the Folder was created. Assigned by the server." + "description": "Output only. Timestamp when the Folder was created. Assigned by the server.", + "type": "string" }, "lifecycleState": { + "description": "Output only. The lifecycle state of the folder.\nUpdates to the lifecycle_state must be performed via\n[DeleteFolder] and [UndeleteFolder].", "type": "string", "enumDescriptions": [ "Unspecified state.", @@ -326,77 +235,50 @@ "LIFECYCLE_STATE_UNSPECIFIED", "ACTIVE", "DELETE_REQUESTED" - ], - "description": "Output only. The lifecycle state of the folder.\nUpdates to the lifecycle_state must be performed via\n[DeleteFolder] and [UndeleteFolder]." + ] }, "name": { "type": "string", "description": "Output only. The resource name of the Folder.\nIts format is `folders/{folder_id}`, for example: \"folders/1234\"." }, "displayName": { - "type": "string", - "description": "The folder’s display name.\nA folder’s display name must be unique amongst its siblings, e.g.\nno two folders with the same parent can share the same display name.\nThe display name must start and end with a letter or digit, may contain\nletters, digits, spaces, hyphens and underscores and can be no longer\nthan 30 characters. This is captured by the regular expression:\n[\\p{L}\\p{N}]({\\p{L}\\p{N}_- ]{0,28}[\\p{L}\\p{N}])?." + "description": "The folder’s display name.\nA folder’s display name must be unique amongst its siblings, e.g.\nno two folders with the same parent can share the same display name.\nThe display name must start and end with a letter or digit, may contain\nletters, digits, spaces, hyphens and underscores and can be no longer\nthan 30 characters. This is captured by the regular expression:\n[\\p{L}\\p{N}]({\\p{L}\\p{N}_- ]{0,28}[\\p{L}\\p{N}])?.", + "type": "string" } }, "id": "Folder" }, - "ProjectCreationStatus": { + "GetIamPolicyRequest": { + "description": "Request message for `GetIamPolicy` method.", "type": "object", - "properties": { - "ready": { - "description": "True if the project creation process is complete.", - "type": "boolean" - }, - "gettable": { - "type": "boolean", - "description": "True if the project can be retrieved using GetProject. No other operations\non the project are guaranteed to work until the project creation is\ncomplete." - }, - "createTime": { - "format": "google-datetime", - "description": "Creation time of the project creation workflow.", - "type": "string" - } - }, - "id": "ProjectCreationStatus", - "description": "A status object which is used as the `metadata` field for the Operation\nreturned by CreateProject. It provides insight for when significant phases of\nProject creation have completed." + "properties": {}, + "id": "GetIamPolicyRequest" }, "TestIamPermissionsResponse": { - "description": "Response message for `TestIamPermissions` method.", - "type": "object", "properties": { "permissions": { - "items": { - "type": "string" - }, - "type": "array", - "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed." - } - }, - "id": "TestIamPermissionsResponse" - }, - "GetIamPolicyRequest": { - "type": "object", - "properties": {}, - "id": "GetIamPolicyRequest", - "description": "Request message for `GetIamPolicy` method." - }, - "UndeleteFolderRequest": { - "description": "The UndeleteFolder request message.", - "type": "object", - "properties": {}, - "id": "UndeleteFolderRequest" - }, - "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\nfoo@gmail.com from DATA_READ logging.", - "type": "object", - "properties": { - "exemptedMembers": { - "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", "items": { "type": "string" }, "type": "array" - }, + } + }, + "id": "TestIamPermissionsResponse", + "description": "Response message for `TestIamPermissions` method.", + "type": "object" + }, + "UndeleteFolderRequest": { + "type": "object", + "properties": {}, + "id": "UndeleteFolderRequest", + "description": "The UndeleteFolder request message." + }, + "AuditLogConfig": { + "id": "AuditLogConfig", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\nfoo@gmail.com from DATA_READ logging.", + "type": "object", + "properties": { "logType": { "enum": [ "LOG_TYPE_UNSPECIFIED", @@ -412,15 +294,134 @@ "Data writes. Example: CloudSQL Users create", "Data reads. Example: CloudSQL Users list" ] + }, + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "type": "object", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" } }, - "id": "AuditLogConfig" + "id": "TestIamPermissionsRequest" + }, + "FolderOperationError": { + "type": "object", + "properties": { + "errorMessageId": { + "description": "The type of operation error experienced.", + "type": "string", + "enumDescriptions": [ + "The error type was unrecognized or unspecified.", + "The attempted action would violate the max folder depth constraint.", + "The attempted action would violate the max child folders constraint.", + "The attempted action would violate the locally-unique folder\ndisplay_name constraint.", + "The resource being moved has been deleted.", + "The resource a folder was being added to has been deleted.", + "The attempted action would introduce cycle in resource path.", + "The attempted action would move a folder that is already being moved.", + "The folder the caller is trying to delete contains active resources.", + "The attempted action would violate the max deleted folder depth\nconstraint." + ], + "enum": [ + "ERROR_TYPE_UNSPECIFIED", + "ACTIVE_FOLDER_HEIGHT_VIOLATION", + "MAX_CHILD_FOLDERS_VIOLATION", + "FOLDER_NAME_UNIQUENESS_VIOLATION", + "RESOURCE_DELETED_VIOLATION", + "PARENT_DELETED_VIOLATION", + "CYCLE_INTRODUCED_VIOLATION", + "FOLDER_BEING_MOVED_VIOLATION", + "FOLDER_TO_DELETE_NON_EMPTY_VIOLATION", + "DELETED_FOLDER_HEIGHT_VIOLATION" + ] + } + }, + "id": "FolderOperationError", + "description": "A classification of the Folder Operation error." + }, + "FolderOperation": { + "properties": { + "destinationParent": { + "description": "The resource name of the folder or organization we are either creating\nthe folder under or moving the folder to.", + "type": "string" + }, + "operationType": { + "description": "The type of this operation.", + "type": "string", + "enumDescriptions": [ + "Operation type not specified.", + "A create folder operation.", + "A move folder operation." + ], + "enum": [ + "OPERATION_TYPE_UNSPECIFIED", + "CREATE", + "MOVE" + ] + }, + "sourceParent": { + "description": "The resource name of the folder's parent.\nOnly applicable when the operation_type is MOVE.", + "type": "string" + }, + "displayName": { + "description": "The display name of the folder.", + "type": "string" + } + }, + "id": "FolderOperation", + "description": "Metadata describing a long running folder operation", + "type": "object" + }, + "Policy": { + "properties": { + "etag": { + "format": "byte", + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.", + "type": "string" + }, + "version": { + "format": "int32", + "description": "Version of the `Policy`. The default version is 0.", + "type": "integer" + }, + "auditConfigs": { + "items": { + "$ref": "AuditConfig" + }, + "type": "array", + "description": "Specifies cloud audit logging configuration for this policy." + }, + "bindings": { + "items": { + "$ref": "Binding" + }, + "type": "array", + "description": "Associates a list of `members` to a `role`.\n`bindings` with no members will result in an error." + } + }, + "id": "Policy", + "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam).", + "type": "object" } }, "protocol": "rest", "icons": { - "x32": "http://www.google.com/images/icons/product/search-32.gif", - "x16": "http://www.google.com/images/icons/product/search-16.gif" + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "canonicalName": "Cloud Resource Manager", "auth": { @@ -445,14 +446,18 @@ "resources": { "folders": { "methods": { - "delete": { - "response": { - "$ref": "Folder" + "move": { + "request": { + "$ref": "MoveFolderRequest" }, + "description": "Moves a Folder under a new resource parent.\nReturns an Operation which can be used to track the progress of the\nfolder move workflow.\nUpon success the Operation.response field will be populated with the\nmoved Folder.\nUpon failure, a FolderOperationError categorizing the failure cause will\nbe returned - if the failure occurs synchronously then the\nFolderOperationError will be returned via the Status.details field\nand if it occurs asynchronously then the FolderOperation will be returned\nvia the the Operation.error field.\nIn addition, the Operation.metadata field will be populated with a\nFolderOperation message as an aid to stateless clients.\nFolder moves will be rejected if they violate either the naming, height\nor fanout constraints described in the [CreateFolder] documentation.\nThe caller must have `resourcemanager.folders.move` permission on the\nfolder's current and proposed new parent.", + "httpMethod": "POST", "parameterOrder": [ "name" ], - "httpMethod": "DELETE", + "response": { + "$ref": "Operation" + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], @@ -462,51 +467,127 @@ "required": true, "pattern": "^folders/[^/]+$", "location": "path", - "description": "the resource name of the Folder to be deleted.\nMust be of the form `folders/{folder_id}`." + "description": "The resource name of the Folder to move.\nMust be of the form folders/{folder_id}" } }, + "flatPath": "v2beta1/folders/{foldersId}:move", + "path": "v2beta1/{+name}:move", + "id": "cloudresourcemanager.folders.move" + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified Folder.\nThe `resource` field should be the Folder's resource name,\ne.g. \"folders/1234\".\n\nThere are no permissions required for making this API call.", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "pattern": "^folders/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v2beta1/folders/{foldersId}:testIamPermissions", + "id": "cloudresourcemanager.folders.testIamPermissions", + "path": "v2beta1/{+resource}:testIamPermissions" + }, + "delete": { + "description": "Requests deletion of a Folder. The Folder is moved into the\n[DELETE_REQUESTED] state immediately, and is deleted approximately 30 days\nlater. This method may only be called on an empty Folder in the [ACTIVE]\nstate, where a Folder is empty if it doesn't contain any Folders or\nProjects in the [ACTIVE] state.\nThe caller must have `resourcemanager.folders.delete` permission on the\nidentified folder.", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Folder" + }, + "httpMethod": "DELETE", + "parameters": { + "name": { + "pattern": "^folders/[^/]+$", + "location": "path", + "description": "the resource name of the Folder to be deleted.\nMust be of the form `folders/{folder_id}`.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "flatPath": "v2beta1/folders/{foldersId}", "id": "cloudresourcemanager.folders.delete", - "path": "v2beta1/{+name}", - "description": "Requests deletion of a Folder. The Folder is moved into the\n[DELETE_REQUESTED] state immediately, and is deleted approximately 30 days\nlater. This method may only be called on an empty Folder in the [ACTIVE]\nstate, where a Folder is empty if it doesn't contain any Folders or\nProjects in the [ACTIVE] state.\nThe caller must have `resourcemanager.folders.delete` permission on the\nidentified folder." + "path": "v2beta1/{+name}" }, "list": { + "flatPath": "v2beta1/folders", + "path": "v2beta1/folders", + "id": "cloudresourcemanager.folders.list", "description": "Lists the Folders that are direct descendants of supplied parent resource.\nList provides a strongly consistent view of the Folders underneath\nthe specified parent resource.\nList returns Folders sorted based upon the (ascending) lexical ordering\nof their display_name.\nThe caller must have `resourcemanager.folders.list` permission on the\nidentified parent.", + "httpMethod": "GET", "response": { "$ref": "ListFoldersResponse" }, "parameterOrder": [], - "httpMethod": "GET", "parameters": { - "parent": { - "location": "query", - "description": "The resource name of the Organization or Folder whose Folders are\nbeing listed.\nMust be of the form `folders/{folder_id}` or `organizations/{org_id}`.\nAccess to this method is controlled by checking the\n`resourcemanager.folders.list` permission on the `parent`.", - "type": "string" - }, - "showDeleted": { - "type": "boolean", - "location": "query", - "description": "Controls whether Folders in the [DELETE_REQUESTED} state should\nbe returned." - }, - "pageToken": { - "location": "query", - "description": "A pagination token returned from a previous call to `ListFolders`\nthat indicates where this listing should continue from.\nThis field is optional.", - "type": "string" - }, "pageSize": { "location": "query", "format": "int32", "description": "The maximum number of Folders to return in the response.\nThis field is optional.", "type": "integer" + }, + "parent": { + "description": "The resource name of the Organization or Folder whose Folders are\nbeing listed.\nMust be of the form `folders/{folder_id}` or `organizations/{org_id}`.\nAccess to this method is controlled by checking the\n`resourcemanager.folders.list` permission on the `parent`.", + "type": "string", + "location": "query" + }, + "showDeleted": { + "description": "Controls whether Folders in the [DELETE_REQUESTED} state should\nbe returned.", + "type": "boolean", + "location": "query" + }, + "pageToken": { + "description": "A pagination token returned from a previous call to `ListFolders`\nthat indicates where this listing should continue from.\nThis field is optional.", + "type": "string", + "location": "query" } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "create": { + "id": "cloudresourcemanager.folders.create", + "path": "v2beta1/folders", + "description": "Creates a Folder in the resource hierarchy.\nReturns an Operation which can be used to track the progress of the\nfolder creation workflow.\nUpon success the Operation.response field will be populated with the\ncreated Folder.\n\nIn order to succeed, the addition of this new Folder must not violate\nthe Folder naming, height or fanout constraints.\n+ The Folder's display_name must be distinct from all other Folder's that\nshare its parent.\n+ The addition of the Folder must not cause the active Folder hierarchy\nto exceed a height of 4. Note, the full active + deleted Folder hierarchy\nis allowed to reach a height of 8; this provides additional headroom when\nmoving folders that contain deleted folders.\n+ The addition of the Folder must not cause the total number of Folders\nunder its parent to exceed 100.\n\nIf the operation fails due to a folder constraint violation,\na PreconditionFailure explaining the violation will be returned.\nIf the failure occurs synchronously then the PreconditionFailure\nwill be returned via the Status.details field and if it occurs\nasynchronously then the PreconditionFailure will be returned\nvia the the Operation.error field.\n\nThe caller must have `resourcemanager.folders.create` permission on the\nidentified parent.", + "request": { + "$ref": "Folder" + }, + "response": { + "$ref": "Operation" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": { + "parent": { + "location": "query", + "description": "The resource name of the new Folder's parent.\nMust be of the form `folders/{folder_id}` or `organizations/{org_id}`.", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" ], - "flatPath": "v2beta1/folders", - "id": "cloudresourcemanager.folders.list", - "path": "v2beta1/folders" + "flatPath": "v2beta1/folders" }, "setIamPolicy": { "response": { @@ -521,11 +602,11 @@ ], "parameters": { "resource": { - "type": "string", - "required": true, "pattern": "^folders/[^/]+$", "location": "path", - "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field." + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true } }, "flatPath": "v2beta1/folders/{foldersId}:setIamPolicy", @@ -536,58 +617,34 @@ }, "description": "Sets the access control policy on a Folder, replacing any existing policy.\nThe `resource` field should be the Folder's resource name, e.g.\n\"folders/1234\".\nThe caller must have `resourcemanager.folders.setIamPolicy` permission\non the identified folder." }, - "create": { - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "parent": { - "location": "query", - "description": "The resource name of the new Folder's parent.\nMust be of the form `folders/{folder_id}` or `organizations/{org_id}`.", - "type": "string" - } - }, - "flatPath": "v2beta1/folders", - "path": "v2beta1/folders", - "id": "cloudresourcemanager.folders.create", - "request": { - "$ref": "Folder" - }, - "description": "Creates a Folder in the resource hierarchy.\nReturns an Operation which can be used to track the progress of the\nfolder creation workflow.\nUpon success the Operation.response field will be populated with the\ncreated Folder.\n\nIn order to succeed, the addition of this new Folder must not violate\nthe Folder naming, height or fanout constraints.\n+ The Folder's display_name must be distinct from all other Folder's that\nshare its parent.\n+ The addition of the Folder must not cause the active Folder hierarchy\nto exceed a height of 4. Note, the full active + deleted Folder hierarchy\nis allowed to reach a height of 8; this provides additional headroom when\nmoving folders that contain deleted folders.\n+ The addition of the Folder must not cause the total number of Folders\nunder its parent to exceed 100.\n\nIf the operation fails due to a folder constraint violation,\na PreconditionFailure explaining the violation will be returned.\nIf the failure occurs synchronously then the PreconditionFailure\nwill be returned via the Status.details field and if it occurs\nasynchronously then the PreconditionFailure will be returned\nvia the the Operation.error field.\n\nThe caller must have `resourcemanager.folders.create` permission on the\nidentified parent." - }, "getIamPolicy": { - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], + "id": "cloudresourcemanager.folders.getIamPolicy", + "path": "v2beta1/{+resource}:getIamPolicy", + "description": "Gets the access control policy for a Folder. The returned policy may be\nempty if no such policy or resource exists. The `resource` field should\nbe the Folder's resource name, e.g. \"folders/1234\".\nThe caller must have `resourcemanager.folders.getIamPolicy` permission\non the identified folder.", + "request": { + "$ref": "GetIamPolicyRequest" + }, "response": { "$ref": "Policy" }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", "parameters": { "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", "type": "string", "required": true, "pattern": "^folders/[^/]+$", - "location": "path", - "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field." + "location": "path" } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ], - "flatPath": "v2beta1/folders/{foldersId}:getIamPolicy", - "path": "v2beta1/{+resource}:getIamPolicy", - "id": "cloudresourcemanager.folders.getIamPolicy", - "description": "Gets the access control policy for a Folder. The returned policy may be\nempty if no such policy or resource exists. The `resource` field should\nbe the Folder's resource name, e.g. \"folders/1234\".\nThe caller must have `resourcemanager.folders.getIamPolicy` permission\non the identified folder.", - "request": { - "$ref": "GetIamPolicyRequest" - } + "flatPath": "v2beta1/folders/{foldersId}:getIamPolicy" }, "search": { "response": { @@ -595,27 +652,80 @@ }, "parameterOrder": [], "httpMethod": "POST", - "parameters": {}, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ], + "parameters": {}, "flatPath": "v2beta1/folders:search", "id": "cloudresourcemanager.folders.search", "path": "v2beta1/folders:search", - "description": "Search for folders that match specific filter criteria.\nSearch provides an eventually consistent view of the folders a user has\naccess to which meet the specified filter criteria.\n\nThis will only return folders on which the caller has the\npermission `resourcemanager.folders.get`.", "request": { "$ref": "SearchFoldersRequest" + }, + "description": "Search for folders that match specific filter criteria.\nSearch provides an eventually consistent view of the folders a user has\naccess to which meet the specified filter criteria.\n\nThis will only return folders on which the caller has the\npermission `resourcemanager.folders.get`." + }, + "patch": { + "httpMethod": "PATCH", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Folder" + }, + "parameters": { + "name": { + "type": "string", + "required": true, + "pattern": "^folders/[^/]+$", + "location": "path", + "description": "Output only. The resource name of the Folder.\nIts format is `folders/{folder_id}`, for example: \"folders/1234\"." + }, + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Fields to be updated.\nOnly the `display_name` can be updated.", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v2beta1/folders/{foldersId}", + "path": "v2beta1/{+name}", + "id": "cloudresourcemanager.folders.patch", + "description": "Updates a Folder, changing its display_name.\nChanges to the folder display_name will be rejected if they violate either\nthe display_name formatting rules or naming constraints described in\nthe [CreateFolder] documentation.\n+ The Folder's display name must start and end with a letter or digit,\nmay contain letters, digits, spaces, hyphens and underscores and can be\nno longer than 30 characters. This is captured by the regular expression:\n[\\p{L}\\p{N}]({\\p{L}\\p{N}_- ]{0,28}[\\p{L}\\p{N}])?.\nThe caller must have `resourcemanager.folders.update` permission on the\nidentified folder.\n\nIf the update fails due to the unique name constraint then a\nPreconditionFailure explaining this violation will be returned\nin the Status.details field.", + "request": { + "$ref": "Folder" } }, - "undelete": { - "flatPath": "v2beta1/folders/{foldersId}:undelete", - "id": "cloudresourcemanager.folders.undelete", - "path": "v2beta1/{+name}:undelete", - "request": { - "$ref": "UndeleteFolderRequest" + "get": { + "description": "Retrieves a Folder identified by the supplied resource name.\nValid Folder resource names have the format `folders/{folder_id}`\n(for example, `folders/1234`).\nThe caller must have `resourcemanager.folders.get` permission on the\nidentified folder.", + "response": { + "$ref": "Folder" }, - "description": "Cancels the deletion request for a Folder. This method may only be\ncalled on a Folder in the [DELETE_REQUESTED] state.\nIn order to succeed, the Folder's parent must be in the [ACTIVE] state.\nIn addition, reintroducing the folder into the tree must not violate\nfolder naming, height and fanout constraints described in the\n[CreateFolder] documentation.\nThe caller must have `resourcemanager.folders.undelete` permission on the\nidentified folder.", + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The resource name of the Folder to retrieve.\nMust be of the form `folders/{folder_id}`.", + "type": "string", + "required": true, + "pattern": "^folders/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v2beta1/folders/{foldersId}", + "id": "cloudresourcemanager.folders.get", + "path": "v2beta1/{+name}" + }, + "undelete": { "response": { "$ref": "Folder" }, @@ -634,169 +744,80 @@ "required": true, "pattern": "^folders/[^/]+$" } - } - }, - "get": { - "description": "Retrieves a Folder identified by the supplied resource name.\nValid Folder resource names have the format `folders/{folder_id}`\n(for example, `folders/1234`).\nThe caller must have `resourcemanager.folders.get` permission on the\nidentified folder.", - "response": { - "$ref": "Folder" }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "parameters": { - "name": { - "type": "string", - "required": true, - "pattern": "^folders/[^/]+$", - "location": "path", - "description": "The resource name of the Folder to retrieve.\nMust be of the form `folders/{folder_id}`." - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "flatPath": "v2beta1/folders/{foldersId}", - "id": "cloudresourcemanager.folders.get", - "path": "v2beta1/{+name}" - }, - "patch": { - "flatPath": "v2beta1/folders/{foldersId}", - "id": "cloudresourcemanager.folders.patch", - "path": "v2beta1/{+name}", + "flatPath": "v2beta1/folders/{foldersId}:undelete", + "id": "cloudresourcemanager.folders.undelete", + "path": "v2beta1/{+name}:undelete", "request": { - "$ref": "Folder" + "$ref": "UndeleteFolderRequest" }, - "description": "Updates a Folder, changing its display_name.\nChanges to the folder display_name will be rejected if they violate either\nthe display_name formatting rules or naming constraints described in\nthe [CreateFolder] documentation.\n+ The Folder's display name must start and end with a letter or digit,\nmay contain letters, digits, spaces, hyphens and underscores and can be\nno longer than 30 characters. This is captured by the regular expression:\n[\\p{L}\\p{N}]({\\p{L}\\p{N}_- ]{0,28}[\\p{L}\\p{N}])?.\nThe caller must have `resourcemanager.folders.update` permission on the\nidentified folder.\n\nIf the update fails due to the unique name constraint then a\nPreconditionFailure explaining this violation will be returned\nin the Status.details field.", - "response": { - "$ref": "Folder" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "PATCH", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "type": "string", - "required": true, - "pattern": "^folders/[^/]+$", - "location": "path", - "description": "Output only. The resource name of the Folder.\nIts format is `folders/{folder_id}`, for example: \"folders/1234\"." - }, - "updateMask": { - "type": "string", - "location": "query", - "format": "google-fieldmask", - "description": "Fields to be updated.\nOnly the `display_name` can be updated." - } - } - }, - "move": { - "flatPath": "v2beta1/folders/{foldersId}:move", - "path": "v2beta1/{+name}:move", - "id": "cloudresourcemanager.folders.move", - "description": "Moves a Folder under a new resource parent.\nReturns an Operation which can be used to track the progress of the\nfolder move workflow.\nUpon success the Operation.response field will be populated with the\nmoved Folder.\nUpon failure, a FolderOperationError categorizing the failure cause will\nbe returned - if the failure occurs synchronously then the\nFolderOperationError will be returned via the Status.details field\nand if it occurs asynchronously then the FolderOperation will be returned\nvia the the Operation.error field.\nIn addition, the Operation.metadata field will be populated with a\nFolderOperation message as an aid to stateless clients.\nFolder moves will be rejected if they violate either the naming, height\nor fanout constraints described in the [CreateFolder] documentation.\nThe caller must have `resourcemanager.folders.move` permission on the\nfolder's current and proposed new parent.", - "request": { - "$ref": "MoveFolderRequest" - }, - "httpMethod": "POST", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "Operation" - }, - "parameters": { - "name": { - "location": "path", - "description": "The resource name of the Folder to move.\nMust be of the form folders/{folder_id}", - "type": "string", - "required": true, - "pattern": "^folders/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "testIamPermissions": { - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "description": "Returns permissions that a caller has on the specified Folder.\nThe `resource` field should be the Folder's resource name,\ne.g. \"folders/1234\".\n\nThere are no permissions required for making this API call.", - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "resource": { - "type": "string", - "required": true, - "pattern": "^folders/[^/]+$", - "location": "path", - "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field." - } - }, - "flatPath": "v2beta1/folders/{foldersId}:testIamPermissions", - "path": "v2beta1/{+resource}:testIamPermissions", - "id": "cloudresourcemanager.folders.testIamPermissions" + "description": "Cancels the deletion request for a Folder. This method may only be\ncalled on a Folder in the [DELETE_REQUESTED] state.\nIn order to succeed, the Folder's parent must be in the [ACTIVE] state.\nIn addition, reintroducing the folder into the tree must not violate\nfolder naming, height and fanout constraints described in the\n[CreateFolder] documentation.\nThe caller must have `resourcemanager.folders.undelete` permission on the\nidentified folder." } } } }, "parameters": { - "upload_protocol": { + "quotaUser": { "type": "string", "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")." + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters." + }, + "pp": { + "description": "Pretty-print response.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "bearer_token": { + "type": "string", + "location": "query", + "description": "OAuth bearer token." + }, + "oauth_token": { + "type": "string", + "location": "query", + "description": "OAuth 2.0 token for the current user." + }, + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" }, "prettyPrint": { - "location": "query", "description": "Returns response with indentations and line breaks.", "default": "true", - "type": "boolean" + "type": "boolean", + "location": "query" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", + "location": "query" }, "uploadType": { "type": "string", "location": "query", "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")." }, - "fields": { - "location": "query", - "description": "Selector specifying which fields to include in a partial response.", - "type": "string" - }, "$.xgafv": { - "type": "string", - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], "location": "query", "enum": [ "1", "2" ], - "description": "V1 error format." + "description": "V1 error format.", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ] }, "callback": { - "type": "string", "location": "query", - "description": "JSONP" + "description": "JSONP", + "type": "string" }, "alt": { - "default": "json", "enum": [ "json", "media", @@ -809,40 +830,19 @@ "Responses with Content-Type of application/x-protobuf" ], "location": "query", - "description": "Data format for response." - }, - "access_token": { - "type": "string", - "location": "query", - "description": "OAuth access token." + "description": "Data format for response.", + "default": "json" }, "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", "type": "string", - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token." + "location": "query" }, - "quotaUser": { - "type": "string", + "access_token": { "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters." - }, - "pp": { - "location": "query", - "description": "Pretty-print response.", - "default": "true", - "type": "boolean" - }, - "bearer_token": { - "type": "string", - "location": "query", - "description": "OAuth bearer token." - }, - "oauth_token": { - "location": "query", - "description": "OAuth 2.0 token for the current user.", + "description": "OAuth access token.", "type": "string" } }, - "version": "v2beta1", - "baseUrl": "https://cloudresourcemanager.googleapis.com/" + "version": "v2beta1" } diff --git a/vendor/google.golang.org/api/cloudresourcemanager/v2beta1/cloudresourcemanager-gen.go b/vendor/google.golang.org/api/cloudresourcemanager/v2beta1/cloudresourcemanager-gen.go index d4174d088..9d3c0e168 100644 --- a/vendor/google.golang.org/api/cloudresourcemanager/v2beta1/cloudresourcemanager-gen.go +++ b/vendor/google.golang.org/api/cloudresourcemanager/v2beta1/cloudresourcemanager-gen.go @@ -559,8 +559,8 @@ func (s *MoveFolderRequest) MarshalJSON() ([]byte, error) { type Operation struct { // Done: If the value is `false`, it means the operation is still in // progress. - // If true, the operation is completed, and either `error` or `response` - // is + // If `true`, the operation is completed, and either `error` or + // `response` is // available. Done bool `json:"done,omitempty"` @@ -993,9 +993,9 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in diff --git a/vendor/google.golang.org/api/cloudtasks/v2beta2/cloudtasks-api.json b/vendor/google.golang.org/api/cloudtasks/v2beta2/cloudtasks-api.json new file mode 100644 index 000000000..c26db730d --- /dev/null +++ b/vendor/google.golang.org/api/cloudtasks/v2beta2/cloudtasks-api.json @@ -0,0 +1,1608 @@ +{ + "fullyEncodeReservedExpansion": true, + "title": "Cloud Tasks API", + "ownerName": "Google", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Get information about a location.", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Location" + }, + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path" + } + }, + "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}", + "id": "cloudtasks.projects.locations.get", + "path": "v2beta2/{+name}" + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "httpMethod": "GET", + "response": { + "$ref": "ListLocationsResponse" + }, + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "type": "string", + "location": "query" + }, + "pageToken": { + "description": "The standard list page token.", + "type": "string", + "location": "query" + }, + "name": { + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "The resource that owns the locations collection, if applicable.", + "type": "string", + "required": true + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "The standard list page size.", + "type": "integer" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v2beta2/projects/{projectsId}/locations", + "path": "v2beta2/{+name}/locations", + "id": "cloudtasks.projects.locations.list" + } + }, + "resources": { + "queues": { + "methods": { + "patch": { + "response": { + "$ref": "Queue" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PATCH", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "A mask used to specify which fields of the queue are being updated.\n\nIf empty, then all fields will be updated.", + "type": "string" + }, + "name": { + "description": "The queue name.\n\nThe queue name must have the following format:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`\n\n* `PROJECT_ID` can contain uppercase and lowercase letters,\n numbers, hyphens, colons, and periods; that is, it must match\n the regular expression: `[a-zA-Z\\\\d-:\\\\.]+`.\n* `QUEUE_ID` can contain uppercase and lowercase letters,\n numbers, and hyphens; that is, it must match the regular\n expression: `[a-zA-Z\\\\d-]+`. The maximum length is 100\n characters.\n\nCaller-specified and required in CreateQueueRequest, after which\nit becomes output only.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$", + "location": "path" + } + }, + "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}", + "id": "cloudtasks.projects.locations.queues.patch", + "path": "v2beta2/{+name}", + "request": { + "$ref": "Queue" + }, + "description": "Updates a queue.\n\nThis method creates the queue if it does not exist and updates\nthe queue if it does exist.\n\nWARNING: This method is only available to whitelisted\nusers. Using this method carries some risk. Read\n[Overview of Queue Management and queue.yaml](/cloud-tasks/docs/queue-yaml)\ncarefully and then sign up for\n[whitelist access to this method](https://goo.gl/Fe5mUy)." + }, + "get": { + "response": { + "$ref": "Queue" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$", + "location": "path", + "description": "Required.\n\nThe resource name of the queue. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}", + "id": "cloudtasks.projects.locations.queues.get", + "path": "v2beta2/{+name}", + "description": "Gets a queue." + }, + "purge": { + "description": "Purges a queue by deleting all of its tasks.\n\nAll tasks created before this method is called are permanently deleted.\n\nPurge operations can take up to one minute to take effect. Tasks\nmight be dispatched before the purge takes effect. A purge is irreversible.", + "request": { + "$ref": "PurgeQueueRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Queue" + }, + "parameters": { + "name": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$", + "location": "path", + "description": "Required.\n\nThe queue name. For example:\n`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:purge", + "path": "v2beta2/{+name}:purge", + "id": "cloudtasks.projects.locations.queues.purge" + }, + "testIamPermissions": { + "path": "v2beta2/{+resource}:testIamPermissions", + "id": "cloudtasks.projects.locations.queues.testIamPermissions", + "description": "Returns permissions that a caller has on a Queue.\nIf the resource does not exist, this will return an empty set of\npermissions, not a google.rpc.Code.NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.\n", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "parameters": { + "resource": { + "location": "path", + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:testIamPermissions" + }, + "pause": { + "description": "Pauses the queue.\n\nIf a queue is paused then the system will stop executing the\ntasks in the queue until it is resumed via\nCloudTasks.ResumeQueue. Tasks can still be added when the\nqueue is paused. The state of the queue is stored in\nQueue.queue_state; if paused it will be set to\nQueue.QueueState.PAUSED.\n\nWARNING: This method is only available to whitelisted\nusers. Using this method carries some risk. Read\n[Overview of Queue Management and queue.yaml](/cloud-tasks/docs/queue-yaml)\ncarefully and then sign up for\n[whitelist access to this method](https://goo.gl/Fe5mUy).", + "request": { + "$ref": "PauseQueueRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Queue" + }, + "parameters": { + "name": { + "description": "Required.\n\nThe queue name. For example:\n`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:pause", + "path": "v2beta2/{+name}:pause", + "id": "cloudtasks.projects.locations.queues.pause" + }, + "delete": { + "httpMethod": "DELETE", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$", + "location": "path", + "description": "Required.\n\nThe queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`", + "type": "string", + "required": true + } + }, + "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}", + "path": "v2beta2/{+name}", + "id": "cloudtasks.projects.locations.queues.delete", + "description": "Deletes a queue.\n\nThis command will delete the queue even if it has tasks in it.\n\nNote: If you delete a queue, a queue with the same name can't be created\nfor 7 days.\n\nWARNING: This method is only available to whitelisted\nusers. Using this method carries some risk. Read\n[Overview of Queue Management and queue.yaml](/cloud-tasks/docs/queue-yaml)\ncarefully and then sign up for\n[whitelist access to this method](https://goo.gl/Fe5mUy)." + }, + "list": { + "parameters": { + "pageToken": { + "format": "byte", + "description": "A token identifying the page of results to return.\n\nTo request the first page results, page_token must be empty. To\nrequest the next page of results, page_token must be the value of\nListQueuesResponse.next_page_token returned from the previous\ncall to CloudTasks.ListQueues method. It is an error to\nswitch the value of ListQueuesRequest.filter while iterating\nthrough pages.", + "type": "string", + "location": "query" + }, + "pageSize": { + "format": "int32", + "description": "Requested page size.\n\nThe maximum page size is 9800. If unspecified, the page size will\nbe the maximum. Fewer queues than requested might be returned,\neven if more queues exist; use\nListQueuesResponse.next_page_token to determine if more\nqueues exist.", + "type": "integer", + "location": "query" + }, + "parent": { + "description": "Required.\n\nThe location name.\nFor example: `projects/PROJECT_ID/locations/LOCATION_ID`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path" + }, + "filter": { + "location": "query", + "description": "`filter` can be used to specify a subset of queues. Any Queue\nfield can be used as a filter and several operators as supported.\nFor example: `\u003c=, \u003c, \u003e=, \u003e, !=, =, :`. The filter syntax is the same as\ndescribed in\n[Stackdriver's Advanced Logs Filters](/logging/docs/view/advanced_filters).\n\nSample filter \"app_engine_http_target: *\".\n\nNote that using filters might cause fewer queues than the\nrequested_page size to be returned.", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues", + "path": "v2beta2/{+parent}/queues", + "id": "cloudtasks.projects.locations.queues.list", + "description": "Lists queues.\n\nQueues are returned in lexicographical order.", + "httpMethod": "GET", + "response": { + "$ref": "ListQueuesResponse" + }, + "parameterOrder": [ + "parent" + ] + }, + "create": { + "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues", + "id": "cloudtasks.projects.locations.queues.create", + "path": "v2beta2/{+parent}/queues", + "request": { + "$ref": "Queue" + }, + "description": "Creates a queue.\n\nWARNING: This method is only available to whitelisted\nusers. Using this method carries some risk. Read\n[Overview of Queue Management and queue.yaml](/cloud-tasks/docs/queue-yaml)\ncarefully and then sign up for\n[whitelist access to this method](https://goo.gl/Fe5mUy).", + "response": { + "$ref": "Queue" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "parent": { + "location": "path", + "description": "Required.\n\nThe location name in which the queue will be created.\nFor example: `projects/PROJECT_ID/locations/LOCATION_ID`\n\nThe list of allowed locations can be obtained by calling Cloud\nTasks' implementation of\ngoogle.cloud.location.Locations.ListLocations.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+$" + } + } + }, + "setIamPolicy": { + "request": { + "$ref": "SetIamPolicyRequest" + }, + "description": "Sets the access control policy for a Queue. Replaces any existing\npolicy.\n\nAuthorization requires the following [Google IAM](/iam) permission on the\nspecified resource parent:\n\n* `cloudtasks.queues.setIamPolicy`\n", + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$", + "location": "path" + } + }, + "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:setIamPolicy", + "id": "cloudtasks.projects.locations.queues.setIamPolicy", + "path": "v2beta2/{+resource}:setIamPolicy" + }, + "resume": { + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Queue" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "description": "Required.\n\nThe queue name. For example:\n`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$", + "location": "path" + } + }, + "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:resume", + "path": "v2beta2/{+name}:resume", + "id": "cloudtasks.projects.locations.queues.resume", + "request": { + "$ref": "ResumeQueueRequest" + }, + "description": "Resume a queue.\n\nThis method resumes a queue after it has been\nQueue.QueueState.PAUSED or Queue.QueueState.DISABLED. The state of\na queue is stored in Queue.queue_state; after calling this method it\nwill be set to Queue.QueueState.RUNNING.\n\nWARNING: This method is only available to whitelisted\nusers. Using this method carries some risk. Read\n[Overview of Queue Management and queue.yaml](/cloud-tasks/docs/queue-yaml)\ncarefully and then sign up for\n[whitelist access to this method](https://goo.gl/Fe5mUy).\n\nWARNING: Resuming many high-QPS queues at the same time can\nlead to target overloading. If you are resuming high-QPS\nqueues, follow the 500/50/5 pattern described in\n[Managing Cloud Tasks Scaling Risks](/cloud-tasks/pdfs/managing-cloud-tasks-scaling-risks-2017-06-05.pdf)." + }, + "getIamPolicy": { + "path": "v2beta2/{+resource}:getIamPolicy", + "id": "cloudtasks.projects.locations.queues.getIamPolicy", + "description": "Gets the access control policy for a Queue.\nReturns an empty policy if the resource exists and does not have a policy\nset.\n\nAuthorization requires the following [Google IAM](/iam) permission on the\nspecified resource parent:\n\n* `cloudtasks.queues.getIamPolicy`\n", + "request": { + "$ref": "GetIamPolicyRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "Policy" + }, + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:getIamPolicy" + } + }, + "resources": { + "tasks": { + "methods": { + "delete": { + "httpMethod": "DELETE", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$", + "location": "path", + "description": "Required.\n\nThe task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`", + "type": "string", + "required": true + } + }, + "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}", + "path": "v2beta2/{+name}", + "id": "cloudtasks.projects.locations.queues.tasks.delete", + "description": "Deletes a task.\n\nA task can be deleted if it is scheduled or dispatched. A task\ncannot be deleted if it has completed successfully or permanently\nfailed." + }, + "pull": { + "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks:pull", + "path": "v2beta2/{+name}/tasks:pull", + "id": "cloudtasks.projects.locations.queues.tasks.pull", + "request": { + "$ref": "PullTasksRequest" + }, + "description": "Pulls tasks from a pull queue and acquires a lease on them for a\nspecified PullTasksRequest.lease_duration.\n\nThis method is invoked by the lease holder to obtain the\nlease. The lease holder must acknowledge the task via\nCloudTasks.AcknowledgeTask after they have performed the work\nassociated with the task.\n\nThe payload is intended to store data that the lease holder needs\nto perform the work associated with the task. To return the\npayloads in the PullTasksResponse, set\nPullTasksRequest.response_view to Task.View.FULL.", + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "PullTasksResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "location": "path", + "description": "Required.\n\nThe queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$" + } + } + }, + "list": { + "httpMethod": "GET", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "ListTasksResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "parent": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$", + "location": "path", + "description": "Required.\n\nThe queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`" + }, + "pageToken": { + "format": "byte", + "description": "A token identifying the page of results to return.\n\nTo request the first page results, page_token must be empty. To\nrequest the next page of results, page_token must be the value of\nListTasksResponse.next_page_token returned from the previous\ncall to CloudTasks.ListTasks method.\n\nThe page token is valid for only 2 hours.", + "type": "string", + "location": "query" + }, + "orderBy": { + "location": "query", + "description": "\nSort order used for the query. The fields supported for sorting\nare Task.schedule_time and PullMessage.tag. All results will be\nreturned in ascending order. The default ordering is by\nTask.schedule_time.", + "type": "string" + }, + "responseView": { + "location": "query", + "enum": [ + "VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is Task.View.BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for Task.View.FULL requires `cloudtasks.tasks.fullView`\n[Google IAM](/iam/) permission on the\nTask.name resource.", + "type": "string" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Requested page size. Fewer tasks than requested might be returned.\n\nThe maximum page size is 1000. If unspecified, the page size will\nbe the maximum. Fewer tasks than requested might be returned,\neven if more tasks exist; use\nListTasksResponse.next_page_token to determine if more tasks\nexist.", + "type": "integer" + } + }, + "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks", + "path": "v2beta2/{+parent}/tasks", + "id": "cloudtasks.projects.locations.queues.tasks.list", + "description": "Lists the tasks in a queue.\n\nBy default response_view is Task.View.BASIC; not all\ninformation is retrieved by default due to performance\nconsiderations; ListTasksRequest.response_view controls the\nsubset of information which is returned." + }, + "create": { + "path": "v2beta2/{+parent}/tasks", + "id": "cloudtasks.projects.locations.queues.tasks.create", + "description": "Creates a task and adds it to a queue.\n\nTo add multiple tasks at the same time, use\n[HTTP batching](/storage/docs/json_api/v1/how-tos/batch)\nor the batching documentation for your client library, for example\nhttps://developers.google.com/api-client-library/python/guide/batch.\n\nTasks cannot be updated after creation; there is no UpdateTask command.", + "request": { + "$ref": "CreateTaskRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "Task" + }, + "parameters": { + "parent": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$", + "location": "path", + "description": "Required.\n\nThe queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`\n\nThe queue must already exist." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks" + }, + "run": { + "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}:run", + "path": "v2beta2/{+name}:run", + "id": "cloudtasks.projects.locations.queues.tasks.run", + "description": "Forces a task to run now.\n\nThis command is meant to be used for manual debugging. For\nexample, CloudTasks.RunTask can be used to retry a failed\ntask after a fix has been made or to manually force a task to be\ndispatched now.\n\nWhen this method is called, Cloud Tasks will dispatch the task to its\ntarget, even if the queue is Queue.QueueState.PAUSED.\n\nThe dispatched task is returned. That is, the task that is returned\ncontains the Task.task_status after the task is dispatched but\nbefore the task is received by its target.\n\nIf Cloud Tasks receives a successful response from the task's\nhandler, then the task will be deleted; otherwise the task's\nTask.schedule_time will be reset to the time that\nCloudTasks.RunTask was called plus the retry delay specified\nin the queue and task's RetryConfig.\n\nCloudTasks.RunTask returns google.rpc.Code.NOT_FOUND when\nit is called on a task that has already succeeded or permanently\nfailed. google.rpc.Code.FAILED_PRECONDITION is returned when\nCloudTasks.RunTask is called on task that is dispatched or\nalready running.", + "request": { + "$ref": "RunTaskRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Task" + }, + "parameters": { + "name": { + "location": "path", + "description": "Required.\n\nThe task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "cancelLease": { + "description": "Cancel a pull task's lease.\n\nThe lease holder can use this method to cancel a task's lease\nby setting Task.schedule_time to now. This will make the task\navailable to be leased to the next caller of CloudTasks.PullTasks.", + "request": { + "$ref": "CancelLeaseRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Task" + }, + "parameters": { + "name": { + "description": "Required.\n\nThe task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}:cancelLease", + "path": "v2beta2/{+name}:cancelLease", + "id": "cloudtasks.projects.locations.queues.tasks.cancelLease" + }, + "acknowledge": { + "path": "v2beta2/{+name}:acknowledge", + "id": "cloudtasks.projects.locations.queues.tasks.acknowledge", + "description": "Acknowledges a pull task.\n\nThe lease holder, that is, the entity that received this task in\na PullTasksResponse, must call this method to indicate that\nthe work associated with the task has finished.\n\nThe lease holder must acknowledge a task within the\nPullTasksRequest.lease_duration or the lease will expire and\nthe task will become ready to be returned in a different\nPullTasksResponse. After the task is acknowledged, it will\nnot be returned by a later CloudTasks.PullTasks,\nCloudTasks.GetTask, or CloudTasks.ListTasks.", + "request": { + "$ref": "AcknowledgeTaskRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Empty" + }, + "parameters": { + "name": { + "description": "Required.\n\nThe task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}:acknowledge" + }, + "renewLease": { + "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}:renewLease", + "id": "cloudtasks.projects.locations.queues.tasks.renewLease", + "path": "v2beta2/{+name}:renewLease", + "description": "Renew the current lease of a pull task.\n\nThe lease holder can use this method to extend the lease by a new\nduration, starting from now. The new task lease will be\nreturned in Task.schedule_time.", + "request": { + "$ref": "RenewLeaseRequest" + }, + "response": { + "$ref": "Task" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "parameters": { + "name": { + "location": "path", + "description": "Required.\n\nThe task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}", + "path": "v2beta2/{+name}", + "id": "cloudtasks.projects.locations.queues.tasks.get", + "description": "Gets a task.", + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Task" + }, + "parameters": { + "responseView": { + "location": "query", + "enum": [ + "VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is Task.View.BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for Task.View.FULL requires `cloudtasks.tasks.fullView`\n[Google IAM](/iam/) permission on the\nTask.name resource.", + "type": "string" + }, + "name": { + "location": "path", + "description": "Required.\n\nThe task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "parameters": { + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string", + "location": "query" + }, + "fields": { + "location": "query", + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + }, + "$.xgafv": { + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string" + }, + "callback": { + "description": "JSONP", + "type": "string", + "location": "query" + }, + "alt": { + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query" + }, + "access_token": { + "location": "query", + "description": "OAuth access token.", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", + "location": "query" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" + }, + "pp": { + "description": "Pretty-print response.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + } + }, + "version": "v2beta2", + "baseUrl": "https://cloudtasks.googleapis.com/", + "kind": "discovery#restDescription", + "servicePath": "", + "description": "Manages the execution of large numbers of distributed requests. Cloud Tasks is in Alpha.", + "basePath": "", + "id": "cloudtasks:v2beta2", + "documentationLink": "https://cloud.google.com/cloud-tasks/", + "revision": "20170926", + "discoveryVersion": "v1", + "version_module": true, + "schemas": { + "CancelLeaseRequest": { + "description": "Request message for canceling a lease using\nCloudTasks.CancelLease.", + "type": "object", + "properties": { + "scheduleTime": { + "format": "google-datetime", + "description": "Required.\n\nThe task's current schedule time, available in the Task.schedule_time\nreturned in PullTasksResponse.tasks or\nCloudTasks.RenewLease. This restriction is to check that\nthe caller is canceling the correct task.", + "type": "string" + }, + "responseView": { + "enum": [ + "VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is Task.View.BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for Task.View.FULL requires `cloudtasks.tasks.fullView`\n[Google IAM](/iam/) permission on the\nTask.name resource.", + "type": "string", + "enumDescriptions": [ + "Unspecified. Defaults to BASIC.", + "The basic view omits fields which can be large or can contain\nsensitive data.\n\nThis view does not include the payload.", + "All information is returned.\n\nPayloads might be desirable to return only when needed, because\nthey can be large and because of the sensitivity of the data\nthat you choose to store in it.\n\nAuthorization for Task.View.FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Queue.name resource." + ] + } + }, + "id": "CancelLeaseRequest" + }, + "AttemptStatus": { + "description": "The status of a task attempt.", + "type": "object", + "properties": { + "responseStatus": { + "description": "Output only.\n\nThe response from the target for this attempt.\n\nIf the task has not been attempted or the task is currently running\nthen the response status is google.rpc.Code.UNKNOWN.", + "$ref": "Status" + }, + "responseTime": { + "format": "google-datetime", + "description": "Output only.\n\nThe time that this attempt response was received.\n\n`response_time` will be truncated to the nearest microsecond.", + "type": "string" + }, + "scheduleTime": { + "format": "google-datetime", + "description": "Output only.\n\nThe time that this attempt was scheduled.\n\n`schedule_time` will be truncated to the nearest microsecond.", + "type": "string" + }, + "dispatchTime": { + "format": "google-datetime", + "description": "Output only.\n\nThe time that this attempt was dispatched.\n\n`dispatch_time` will be truncated to the nearest microsecond.", + "type": "string" + } + }, + "id": "AttemptStatus" + }, + "PurgeQueueRequest": { + "description": "Request message for CloudTasks.PurgeQueue.", + "type": "object", + "properties": {}, + "id": "PurgeQueueRequest" + }, + "PauseQueueRequest": { + "description": "Request message for CloudTasks.PauseQueue.", + "type": "object", + "properties": {}, + "id": "PauseQueueRequest" + }, + "RunTaskRequest": { + "id": "RunTaskRequest", + "description": "Request message for forcing a task to run now using\nCloudTasks.RunTask.", + "type": "object", + "properties": { + "responseView": { + "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is Task.View.BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for Task.View.FULL requires `cloudtasks.tasks.fullView`\n[Google IAM](/iam/) permission on the\nTask.name resource.", + "type": "string", + "enumDescriptions": [ + "Unspecified. Defaults to BASIC.", + "The basic view omits fields which can be large or can contain\nsensitive data.\n\nThis view does not include the payload.", + "All information is returned.\n\nPayloads might be desirable to return only when needed, because\nthey can be large and because of the sensitivity of the data\nthat you choose to store in it.\n\nAuthorization for Task.View.FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Queue.name resource." + ], + "enum": [ + "VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ] + } + } + }, + "PullTasksResponse": { + "description": "Response message for pulling tasks using CloudTasks.PullTasks.", + "type": "object", + "properties": { + "tasks": { + "description": "The leased tasks.", + "items": { + "$ref": "Task" + }, + "type": "array" + } + }, + "id": "PullTasksResponse" + }, + "Task": { + "id": "Task", + "description": "A unit of scheduled work.", + "type": "object", + "properties": { + "pullMessage": { + "$ref": "PullMessage", + "description": "Pull message contains data that should be used by the caller of\nCloudTasks.PullTasks to process the task. Can be set only if\nQueue.pull_target is set.\n\nA pull task is a task that has PullMessage set." + }, + "createTime": { + "format": "google-datetime", + "description": "Output only.\n\nThe time that the task was created.\n\n`create_time` will be truncated to the nearest second.", + "type": "string" + }, + "scheduleTime": { + "format": "google-datetime", + "description": "The time when the task is scheduled to be attempted.\n\nFor pull queues, this is the time when the task is available to\nbe leased; if a task is currently leased, this is the time when\nthe current lease expires, that is, the time that the task was\nleased plus the PullTasksRequest.lease_duration.\n\nFor App Engine queues, this is when the task will be attempted or retried.\n\n`schedule_time` will be truncated to the nearest microsecond.", + "type": "string" + }, + "name": { + "description": "The task name.\n\nThe task name must have the following format:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`\n\n* `PROJECT_ID` can contain uppercase and lowercase letters,\n numbers, hyphens, colons, and periods; that is, it must match\n the regular expression: `[a-zA-Z\\\\d-:\\\\.]+`.\n* `QUEUE_ID` can contain uppercase and lowercase letters,\n numbers, and hyphens; that is, it must match the regular\n expression: `[a-zA-Z\\\\d-]+`. The maximum length is 100\n characters.\n* `TASK_ID` contain uppercase and lowercase letters, numbers,\n underscores, and hyphens; that is, it must match the regular\n expression: `[a-zA-Z\\\\d_-]+`. The maximum length is 500\n characters.\n\nOptionally caller-specified in CreateTaskRequest.", + "type": "string" + }, + "appEngineTaskTarget": { + "$ref": "AppEngineTaskTarget", + "description": "Deprecated. Use Task.app_engine_http_request." + }, + "taskStatus": { + "$ref": "TaskStatus", + "description": "Output only.\n\nTask status." + }, + "pullTaskTarget": { + "description": "Deprecated. Use Task.pull_message.", + "$ref": "PullTaskTarget" + }, + "appEngineHttpRequest": { + "description": "App Engine HTTP request that is sent to the task's target. Can be set\nonly if Queue.app_engine_http_target is set.\n\nAn App Engine task is a task that has AppEngineHttpRequest set.", + "$ref": "AppEngineHttpRequest" + }, + "view": { + "enumDescriptions": [ + "Unspecified. Defaults to BASIC.", + "The basic view omits fields which can be large or can contain\nsensitive data.\n\nThis view does not include the payload.", + "All information is returned.\n\nPayloads might be desirable to return only when needed, because\nthey can be large and because of the sensitivity of the data\nthat you choose to store in it.\n\nAuthorization for Task.View.FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Queue.name resource." + ], + "enum": [ + "VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "description": "Output only.\n\nThe view specifies which subset of the Task has been\nreturned.", + "type": "string" + } + } + }, + "PullMessage": { + "id": "PullMessage", + "description": "The pull message contains data that can be used by the caller of\nCloudTasks.PullTasks to process the task.\n\nThis proto can only be used for tasks in a queue which has\nQueue.pull_target set.", + "type": "object", + "properties": { + "payload": { + "format": "byte", + "description": "A data payload consumed by the task worker to execute the task.", + "type": "string" + }, + "tag": { + "format": "byte", + "description": "A meta-data tag for this task.\n\nThis value is used by CloudTasks.PullTasks calls when\nPullTasksRequest.filter is `tag=\u003ctag\u003e`.\n\nThe tag must be less than 500 bytes.", + "type": "string" + } + } + }, + "Status": { + "type": "object", + "properties": { + "details": { + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array", + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use." + }, + "code": { + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "id": "Status", + "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons." + }, + "Binding": { + "description": "Associates `members` with a `role`.", + "type": "object", + "properties": { + "members": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@gmail.com` or `joe@example.com`.\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n\n* `domain:{domain}`: A Google Apps domain name that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired", + "type": "string" + } + }, + "id": "Binding" + }, + "RenewLeaseRequest": { + "properties": { + "newLeaseDuration": { + "format": "google-duration", + "description": "Required.\n\nThe desired new lease duration, starting from now.\n\n\nThe maximum lease duration is 1 week.\n`new_lease_duration` will be truncated to the nearest second.", + "type": "string" + }, + "responseView": { + "enum": [ + "VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is Task.View.BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for Task.View.FULL requires `cloudtasks.tasks.fullView`\n[Google IAM](/iam/) permission on the\nTask.name resource.", + "type": "string", + "enumDescriptions": [ + "Unspecified. Defaults to BASIC.", + "The basic view omits fields which can be large or can contain\nsensitive data.\n\nThis view does not include the payload.", + "All information is returned.\n\nPayloads might be desirable to return only when needed, because\nthey can be large and because of the sensitivity of the data\nthat you choose to store in it.\n\nAuthorization for Task.View.FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Queue.name resource." + ] + }, + "scheduleTime": { + "format": "google-datetime", + "description": "Required.\n\nThe task's current schedule time, available in the Task.schedule_time\nreturned in PullTasksResponse.tasks or\nCloudTasks.RenewLease. This restriction is to check that\nthe caller is renewing the correct task.", + "type": "string" + } + }, + "id": "RenewLeaseRequest", + "description": "Request message for renewing a lease using CloudTasks.RenewLease.", + "type": "object" + }, + "TaskStatus": { + "description": "Status of the task.", + "type": "object", + "properties": { + "lastAttemptStatus": { + "$ref": "AttemptStatus", + "description": "Output only.\n\nThe status of the task's last attempt.\n\nThis field is not calculated for\n[pull tasks](google.cloud.tasks.v2beta2.PullTaskTarget)." + }, + "attemptDispatchCount": { + "format": "int64", + "description": "Output only.\n\nThe number of attempts dispatched. This count includes tasks which have\nbeen dispatched but haven't received a response.", + "type": "string" + }, + "firstAttemptStatus": { + "$ref": "AttemptStatus", + "description": "Output only.\n\nThe status of the task's first attempt.\n\nOnly AttemptStatus.dispatch_time will be set.\nThe other AttemptStatus information is not retained by Cloud Tasks.\n\nThis field is not calculated for\n[pull tasks](google.cloud.tasks.v2beta2.PullTaskTarget)." + }, + "attemptResponseCount": { + "format": "int64", + "description": "Output only.\n\nThe number of attempts which have received a response.\n\nThis field is not calculated for\n[pull tasks](google.cloud.tasks.v2beta2.PullTaskTarget).", + "type": "string" + } + }, + "id": "TaskStatus" + }, + "AppEngineHttpRequest": { + "description": "App Engine HTTP request.\n\nThe message defines the HTTP request that is sent to an App Engine app when\nthe task is dispatched.\n\nThis proto can only be used for tasks in a queue which has\nQueue.app_engine_http_target set.\n\nUsing AppEngineHttpRequest requires\n[`appengine.applications.get`](/appengine/docs/admin-api/access-control)\nGoogle IAM permission for the project\nand the following scope:\n\n`https://www.googleapis.com/auth/cloud-platform`\n\nThe task will be delivered to the App Engine app which belongs to the same\nproject as the queue. For more information, see\n[How Requests are Routed](/appengine/docs/standard/python/how-requests-are-routed)\nand how routing is affected by\n[dispatch files](/appengine/docs/python/config/dispatchref).\n\nThe AppEngineRouting used to construct the URL that the task is\ndelivered to can be set at the queue-level or task-level:\n\n* If set, AppEngineHttpTarget.app_engine_routing_override is used for\n all tasks in the queue, no matter what the setting is for the\n task-level app_engine_routing.\n\n\nThe `url` that the task will be sent to is:\n\n* `url =` AppEngineRouting.host `+` AppEngineHttpRequest.relative_url\n\nThe task will be sent to a task handler by an HTTP\nrequest using the specified AppEngineHttpRequest.http_method (for example\nPOST, HTTP GET, etc). The task attempt has succeeded if the task handler\nreturns an HTTP response code in the range [200 - 299]. Error 503 is\nconsidered an App Engine system error instead of an application error.\nRequests returning error 503 will be retried regardless of retry\nconfiguration and not counted against retry counts.\nAny other response code or a failure to receive a response before the\ndeadline is a failed attempt.", + "type": "object", + "properties": { + "headers": { + "additionalProperties": { + "type": "string" + }, + "description": "HTTP request headers.\n\nThis map contains the header field names and values.\nHeaders can be set when the\n[task is created](google.cloud.tasks.v2beta2.CloudTasks.CreateTask).\nRepeated headers are not supported but a header value can contain commas.\n\nCloud Tasks sets some headers to default values:\n\n* `User-Agent`: By default, this header is\n `\"AppEngine-Google; (+http://code.google.com/appengine)\"`.\n This header can be modified, but Cloud Tasks will append\n `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the\n modified `User-Agent`.\n\nIf the task has an AppEngineHttpRequest.payload, Cloud Tasks sets the\nfollowing headers:\n\n* `Content-Type`: By default, the `Content-Type` header is set to\n `\"application/octet-stream\"`. The default can be overridden by explictly\n setting `Content-Type` to a particular media type when the\n [task is created](google.cloud.tasks.v2beta2.CloudTasks.CreateTask).\n For example, `Content-Type` can be set to `\"application/json\"`.\n* `Content-Length`: This is computed by Cloud Tasks. This value is\n output only. It cannot be changed.\n\nThe headers below cannot be set or overridden:\n\n* `Host`\n* `X-Google-*`\n* `X-AppEngine-*`\n\nIn addition, some App Engine headers, which contain\ntask-specific information, are also be sent to the task handler; see\n[request headers](/appengine/docs/python/taskqueue/push/creating-handlers#reading_request_headers).", + "type": "object" + }, + "appEngineRouting": { + "$ref": "AppEngineRouting", + "description": "Task-level setting for App Engine routing.\n\nIf set, AppEngineHttpTarget.app_engine_routing_override is used for\nall tasks in the queue, no matter what the setting is for the\ntask-level app_engine_routing." + }, + "httpMethod": { + "enum": [ + "HTTP_METHOD_UNSPECIFIED", + "POST", + "GET", + "HEAD", + "PUT", + "DELETE" + ], + "description": "The HTTP method to use for the request. The default is POST.\n\nThe app's request handler for the task's target URL must be able to handle\nHTTP requests with this http_method, otherwise the task attempt will fail\nwith error code 405 \"Method Not Allowed\" because \"the method specified in\nthe Request-Line is not allowed for the resource identified by the\nRequest-URI\". See\n[Writing a push task request handler](/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler)\nand the documentation for the request handlers in the language your app is\nwritten in e.g.\n[python RequestHandler](/appengine/docs/python/tools/webapp/requesthandlerclass).", + "type": "string", + "enumDescriptions": [ + "HTTP method unspecified", + "HTTP Post", + "HTTP Get", + "HTTP Head", + "HTTP Put", + "HTTP Delete" + ] + }, + "payload": { + "format": "byte", + "description": "Payload.\n\nThe payload will be sent as the HTTP message body. A message\nbody, and thus a payload, is allowed only if the HTTP method is\nPOST or PUT. It is an error to set a data payload on a task with\nan incompatible HttpMethod.", + "type": "string" + }, + "relativeUrl": { + "description": "The relative URL.\n\nThe relative URL must begin with \"/\" and must be a valid HTTP relative URL.\nIt can contain a path, query string arguments, and `#` fragments.\nIf the relative URL is empty, then the root path \"/\" will be used.\nNo spaces are allowed, and the maximum length allowed is 2083 characters.", + "type": "string" + } + }, + "id": "AppEngineHttpRequest" + }, + "AppEngineQueueConfig": { + "description": "Deprecated. Use AppEngineTarget.", + "type": "object", + "properties": { + "appEngineRoutingOverride": { + "description": "Deprecated. Use AppEngineTarget.app_engine_routing_override.", + "$ref": "AppEngineRouting" + } + }, + "id": "AppEngineQueueConfig" + }, + "PullTaskTarget": { + "description": "Deprecated. Use PullMessage.", + "type": "object", + "properties": { + "tag": { + "format": "byte", + "description": "Deprecated. Use PullMessage.tag.", + "type": "string" + }, + "payload": { + "format": "byte", + "description": "Deprecated. Use PullMessage.payload.", + "type": "string" + } + }, + "id": "PullTaskTarget" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "type": "object", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "TestIamPermissionsResponse" + }, + "GetIamPolicyRequest": { + "description": "Request message for `GetIamPolicy` method.", + "type": "object", + "properties": {}, + "id": "GetIamPolicyRequest" + }, + "RetryConfig": { + "description": "Retry config.\n\nThese settings determine retry behavior.\n\nIf a task does not complete successfully, meaning that an\nacknowledgement is not received from the handler before the\n[deadline](/appengine/docs/python/taskqueue/push/#the_task_deadline),\nthen it will be retried with exponential backoff according to the\nsettings in RetryConfig.", + "type": "object", + "properties": { + "taskAgeLimit": { + "format": "google-duration", + "description": "If positive, task_age_limit specifies the time limit for retrying a failed\ntask, measured from when the task was first run. If specified with\nRetryConfig.max_attempts, the task will be retried until both\nlimits are reached.\n\nIf zero, then the task age is unlimited. This field is zero by default.\n\n`task_age_limit` will be truncated to the nearest second.", + "type": "string" + }, + "unlimitedAttempts": { + "description": "If true, then the number of attempts is unlimited.", + "type": "boolean" + }, + "minBackoff": { + "format": "google-duration", + "description": "The minimum amount of time to wait before retrying a task after\nit fails.\n\n* For [App Engine queues](google.cloud.tasks.v2beta2.AppEngineHttpTarget),\n this field is 0.1 seconds by default.\n* For [pull queues](google.cloud.tasks.v2beta2.PullTarget), this\n field is output only and always 0.\n\n`min_backoff` will be truncated to the nearest second.", + "type": "string" + }, + "maxBackoff": { + "format": "google-duration", + "description": "The maximum amount of time to wait before retrying a task after\nit fails. The default is 1 hour.\n\n* For [App Engine queues](google.cloud.tasks.v2beta2.AppEngineHttpTarget),\n this field is 1 hour by default.\n* For [pull queues](google.cloud.tasks.v2beta2.PullTarget), this field\n is output only and always 0.\n\n`max_backoff` will be truncated to the nearest second.", + "type": "string" + }, + "maxAttempts": { + "type": "integer", + "format": "int32", + "description": "The maximum number of attempts for a task.\n\nCloud Tasks will attempt the task `max_attempts` times (that\nis, if the first attempt fails, then there will be\n`max_attempts - 1` retries). Must be \u003e 0." + }, + "maxDoublings": { + "format": "int32", + "description": "The maximum number of times that the interval between failed task\nretries will be doubled before the increase becomes constant. The\nconstant is: 2**(max_doublings - 1) *\nRetryConfig.min_backoff.\n\n* For [App Engine queues](google.cloud.tasks.v2beta2.AppEngineHttpTarget),\n this field is 16 by default.\n* For [pull queues](google.cloud.tasks.v2beta2.PullTarget), this field\n is output only and always 0.", + "type": "integer" + } + }, + "id": "RetryConfig" + }, + "PullTarget": { + "description": "Pull target.", + "type": "object", + "properties": {}, + "id": "PullTarget" + }, + "ThrottleConfig": { + "type": "object", + "properties": { + "maxOutstandingTasks": { + "format": "int32", + "description": "The maximum number of outstanding tasks that Cloud Tasks allows\nto be dispatched for this queue. After this threshold has been\nreached, Cloud Tasks stops dispatching tasks until the number of\noutstanding requests decreases.\n\nThe maximum allowed value is 5,000.\n\n* For App Engine queues, this field is 10 by default.\n* For pull queues, this field is output only and always -1, which\n indicates no limit.\n\nThis field has the same meaning as\n[max_concurrent_requests in queue.yaml](/appengine/docs/standard/python/config/queueref#max_concurrent_requests).", + "type": "integer" + }, + "maxTasksDispatchedPerSecond": { + "format": "double", + "description": "The maximum rate at which tasks are dispatched from this\nqueue.\n\nThe maximum allowed value is 500.\n\n* For App Engine queues, this field is 1 by default.\n* For pull queues, this field is output only and always 10,000.\n\nThis field has the same meaning as\n[rate in queue.yaml](/appengine/docs/standard/python/config/queueref#rate).", + "type": "number" + }, + "maxBurstSize": { + "type": "integer", + "format": "int32", + "description": "Output only.\n\nThe max burst size limits how fast the queue is processed when\nmany tasks are in the queue and the rate is high. This field\nallows the queue to have a high rate so processing starts shortly\nafter a task is enqueued, but still limits resource usage when\nmany tasks are enqueued in a short period of time.\n\n* For App Engine queues, if\n ThrottleConfig.max_tasks_dispatched_per_second is 1, this\n field is 10; otherwise this field is\n ThrottleConfig.max_tasks_dispatched_per_second / 5.\n* For pull queues, this field is output only and always 10,000.\n\nNote: For App Engine queues that were created through\n`queue.yaml/xml`, `max_burst_size` might not have the same\nsettings as specified above; CloudTasks.UpdateQueue can be\nused to set `max_burst_size` only to the values specified above.\n\nThis field has the same meaning as\n[bucket_size in queue.yaml](/appengine/docs/standard/python/config/queueref#bucket_size)." + } + }, + "id": "ThrottleConfig", + "description": "Throttle config.\n\nThese settings determine the throttling behavior." + }, + "ResumeQueueRequest": { + "type": "object", + "properties": {}, + "id": "ResumeQueueRequest", + "description": "Request message for CloudTasks.ResumeQueue." + }, + "ListTasksResponse": { + "description": "Response message for listing tasks using CloudTasks.ListTasks.", + "type": "object", + "properties": { + "nextPageToken": { + "type": "string", + "format": "byte", + "description": "A token to retrieve next page of results.\n\nTo return the next page of results, call\nCloudTasks.ListTasks with this value as the\nListTasksRequest.page_token.\n\nIf the next_page_token is empty, there are no more results." + }, + "tasks": { + "description": "The list of tasks.", + "items": { + "$ref": "Task" + }, + "type": "array" + } + }, + "id": "ListTasksResponse" + }, + "CreateTaskRequest": { + "type": "object", + "properties": { + "responseView": { + "enumDescriptions": [ + "Unspecified. Defaults to BASIC.", + "The basic view omits fields which can be large or can contain\nsensitive data.\n\nThis view does not include the payload.", + "All information is returned.\n\nPayloads might be desirable to return only when needed, because\nthey can be large and because of the sensitivity of the data\nthat you choose to store in it.\n\nAuthorization for Task.View.FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Queue.name resource." + ], + "enum": [ + "VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is Task.View.BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for Task.View.FULL requires `cloudtasks.tasks.fullView`\n[Google IAM](/iam/) permission on the\nTask.name resource.", + "type": "string" + }, + "task": { + "$ref": "Task", + "description": "Required.\n\nThe task to add.\n\nTask names have the following format:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`.\nThe user can optionally specify a name for the task in\nTask.name. If a name is not specified then the system will\ngenerate a random unique task id, which will be returned in the\nresponse's Task.name.\n\nExplicitly specifying a Task.name enables task\nde-duplication. If a task's name is identical to the name of an\nexisting task or a task that was deleted or completed within the\nlast ~10 days then the call to CloudTasks.CreateTask will\nfail with google.rpc.Code.ALREADY_EXISTS. Because there is an\nextra lookup cost to identify duplicate task names, these\nCloudTasks.CreateTask calls have significantly increased\nlatency. Using hashed strings for the task id or for the prefix\nof the task id is recommended. Choosing task ids that are\nsequential or have sequential prefixes, for example using a\ntimestamp, causes an increase in latency and error rates in all\ntask commands. The infrastructure relies on an approximately\nuniform distribution of task ids to store and serve tasks\nefficiently.\n\nIf Task.schedule_time is not set or is in the past then Cloud\nTasks will set it to the current time." + } + }, + "id": "CreateTaskRequest", + "description": "Request message for CloudTasks.CreateTask." + }, + "Queue": { + "id": "Queue", + "description": "A queue is a container of related tasks. Queues are configured to manage\nhow those tasks are dispatched. Configurable properties include rate limits,\nretry options, target types, and others.", + "type": "object", + "properties": { + "appEngineHttpTarget": { + "description": "App Engine HTTP target.\n\nAn App Engine queue is a queue that has an AppEngineHttpTarget.", + "$ref": "AppEngineHttpTarget" + }, + "purgeTime": { + "format": "google-datetime", + "description": "Output only.\n\nThe last time this queue was purged. All tasks that were\ncreated before this time were purged.\n\nA queue can be purged using CloudTasks.PurgeQueue, the\n[App Engine Task Queue SDK, or the Cloud Console](/appengine/docs/standard/python/taskqueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_queue).\n\nPurge time will be truncated to the nearest microsecond. Purge\ntime will be zero if the queue has never been purged.", + "type": "string" + }, + "retryConfig": { + "$ref": "RetryConfig", + "description": "Settings that determine the retry behavior.\n\n* For tasks created using Cloud Tasks: the queue-level retry settings\n apply to all tasks in the queue that were created using Cloud Tasks.\n Retry settings cannot be set on individual tasks.\n* For tasks created using the App Engine SDK: the queue-level retry\n settings apply to all tasks in the queue which do not have retry settings\n explicitly set on the task and were created by the App Engine SDK. See\n [App Engine documentation](/appengine/docs/standard/python/taskqueue/push/retrying-tasks)." + }, + "queueState": { + "enum": [ + "QUEUE_STATE_UNSPECIFIED", + "RUNNING", + "PAUSED", + "DISABLED" + ], + "description": "Output only.\n\nThe state of the queue.\n\n`queue_state` can only be changed by called\nCloudTasks.PauseQueue, CloudTasks.ResumeQueue, or uploading\n[queue.yaml](/appengine/docs/python/config/queueref).\nCloudTasks.UpdateQueue cannot be used to change `queue_state`.", + "type": "string", + "enumDescriptions": [ + "Unspecified state.", + "The queue is running. Tasks can be dispatched.", + "Tasks are paused by the user. If the queue is paused then Cloud\nTasks will stop delivering tasks from it, but more tasks can\nstill be added to it by the user. When a pull queue is paused,\nall CloudTasks.PullTasks calls will return a\n`FAILED_PRECONDITION` error.", + "The queue is disabled.\n\nA queue becomes `DISABLED` when\n[queue.yaml](/appengine/docs/python/config/queueref) or\n[queue.xml](appengine/docs/standard/java/config/queueref) is uploaded\nwhich does not contain the queue. You cannot directly disable a queue.\n\nWhen a queue is disabled, tasks can still be added to a queue\nbut the tasks are not dispatched and CloudTasks.PullTasks calls\nreturn a `FAILED_PRECONDITION` error.\n\nTo permanently delete this queue and all of its tasks, call\nCloudTasks.DeleteQueue." + ] + }, + "name": { + "type": "string", + "description": "The queue name.\n\nThe queue name must have the following format:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`\n\n* `PROJECT_ID` can contain uppercase and lowercase letters,\n numbers, hyphens, colons, and periods; that is, it must match\n the regular expression: `[a-zA-Z\\\\d-:\\\\.]+`.\n* `QUEUE_ID` can contain uppercase and lowercase letters,\n numbers, and hyphens; that is, it must match the regular\n expression: `[a-zA-Z\\\\d-]+`. The maximum length is 100\n characters.\n\nCaller-specified and required in CreateQueueRequest, after which\nit becomes output only." + }, + "appEngineQueueConfig": { + "description": "Deprecated. Use Queue.app_engine_http_target.", + "$ref": "AppEngineQueueConfig" + }, + "throttleConfig": { + "description": "Config for throttling task dispatches.", + "$ref": "ThrottleConfig" + }, + "pullTarget": { + "description": "Pull target.\n\nA pull queue is a queue that has a PullTarget.", + "$ref": "PullTarget" + }, + "pullQueueConfig": { + "description": "Deprecated. Use Queue.pull_target.", + "$ref": "PullQueueConfig" + } + } + }, + "PullQueueConfig": { + "description": "Deprecated. Use PullTarget.", + "type": "object", + "properties": {}, + "id": "PullQueueConfig" + }, + "PullTasksRequest": { + "description": "Request message for pulling tasks using CloudTasks.PullTasks.", + "type": "object", + "properties": { + "leaseDuration": { + "format": "google-duration", + "description": "The duration of the lease.\n\nEach task returned in the PullTasksResponse will have its\nTask.schedule_time set to the current time plus the\n`lease_duration`. A task that has been returned in a\nPullTasksResponse is leased -- that task will not be\nreturned in a different PullTasksResponse before the\nTask.schedule_time.\n\nAfter the lease holder has successfully finished the work\nassociated with the task, the lease holder must call\nCloudTasks.AcknowledgeTask. If the task is not acknowledged\nvia CloudTasks.AcknowledgeTask before the\nTask.schedule_time then it will be returned in a later\nPullTasksResponse so that another lease holder can process\nit.\n\nThe maximum lease duration is 1 week.\n`lease_duration` will be truncated to the nearest second.", + "type": "string" + }, + "maxTasks": { + "format": "int32", + "description": "The maximum number of tasks to lease. The maximum that can be\nrequested is 1000.", + "type": "integer" + }, + "responseView": { + "enum": [ + "VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is Task.View.BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for Task.View.FULL requires `cloudtasks.tasks.fullView`\n[Google IAM](/iam/) permission on the\nTask.name resource.", + "type": "string", + "enumDescriptions": [ + "Unspecified. Defaults to BASIC.", + "The basic view omits fields which can be large or can contain\nsensitive data.\n\nThis view does not include the payload.", + "All information is returned.\n\nPayloads might be desirable to return only when needed, because\nthey can be large and because of the sensitivity of the data\nthat you choose to store in it.\n\nAuthorization for Task.View.FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Queue.name resource." + ] + }, + "filter": { + "description": "`filter` can be used to specify a subset of tasks to lease.\n\nWhen `filter` is set to `tag=\u003cmy-tag\u003e` then the\nPullTasksResponse will contain only tasks whose\nPullMessage.tag is equal to `\u003cmy-tag\u003e`. `\u003cmy-tag\u003e` can be\na bytes encoded as a string and must be less than 500 bytes.\nIf `\u003cmy-tag\u003e` includes whitespace or special characters (characters which\naren't letters, numbers, or underscores), then it must be double-quoted.\nDouble quotes and backslashes in quoted strings must be escaped by\npreceding it with a backslash (`\\`).\n\nWhen `filter` is set to `tag=oldest_tag()`, only tasks which have the same\ntag as the task with the oldest schedule_time will be returned.\n\nGrammar Syntax:\n\n* `filter = \"tag=\" comparable`\n\n* `comparable = tag | function`\n\n* `tag = string | bytes`\n\n* `function = \"oldest_tag()\"`\n\n\n\nThe `oldest_tag()` function returns tasks which have the same tag as the\noldest task (ordered by schedule time).", + "type": "string" + } + }, + "id": "PullTasksRequest" + }, + "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "type": "object", + "properties": { + "policy": { + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them.", + "$ref": "Policy" + } + }, + "id": "SetIamPolicyRequest" + }, + "AppEngineRouting": { + "description": "App Engine Routing.\n\nFor more information about services, versions, and instances see\n[An Overview of App Engine](/appengine/docs/python/an-overview-of-app-engine),\n[Microservices Architecture on Google App Engine](/appengine/docs/python/microservices-on-app-engine),\n[App Engine Standard request routing](/appengine/docs/standard/python/how-requests-are-routed),\nand [App Engine Flex request routing](/appengine/docs/flexible/python/how-requests-are-routed).", + "type": "object", + "properties": { + "service": { + "description": "App service.\n\nBy default, the task is sent to the service which is the default\nservice when the task is attempted (\"default\").\n\nFor some queues or tasks which were created using the App Engine Task Queue\nAPI, AppEngineRouting.host is not parsable into\nAppEngineRouting.service, AppEngineRouting.version, and\nAppEngineRouting.instance. For example, some tasks which were created\nusing the App Engine SDK use a custom domain name; custom domains are not\nparsed by Cloud Tasks. If AppEngineRouting.host is not parsable, then\nAppEngineRouting.service, AppEngineRouting.version, and\nAppEngineRouting.instance are the empty string.", + "type": "string" + }, + "instance": { + "description": "App instance.\n\nBy default, the task is sent to an instance which is available when\nthe task is attempted.\n\nRequests can only be sent to a specific instance if\n[manual scaling is used in App Engine Standard](/appengine/docs/python/an-overview-of-app-engine?hl=en_US#scaling_types_and_instance_classes).\nApp Engine Flex does not support instances. For more information, see\n[App Engine Standard request routing](/appengine/docs/standard/python/how-requests-are-routed)\nand [App Engine Flex request routing](/appengine/docs/flexible/python/how-requests-are-routed).", + "type": "string" + }, + "version": { + "description": "App version.\n\nBy default, the task is sent to the version which is the default\nversion when the task is attempted (\"default\").\n\nFor some queues or tasks which were created using the App Engine Task Queue\nAPI, AppEngineRouting.host is not parsable into\nAppEngineRouting.service, AppEngineRouting.version, and\nAppEngineRouting.instance. For example, some tasks which were created\nusing the App Engine SDK use a custom domain name; custom domains are not\nparsed by Cloud Tasks. If AppEngineRouting.host is not parsable, then\nAppEngineRouting.service, AppEngineRouting.version, and\nAppEngineRouting.instance are the empty string.", + "type": "string" + }, + "host": { + "description": "Output only.\n\nThe host that the task is sent to. For more information, see\n[How Requests are Routed](/appengine/docs/standard/python/how-requests-are-routed).\n\nThe host is constructed as:\n\n\n* `host = [application_domain_name]`\u003c/br\u003e\n `| [service] + '.' + [application_domain_name]`\u003c/br\u003e\n `| [version] + '.' + [application_domain_name]`\u003c/br\u003e\n `| [version_dot_service]+ '.' + [application_domain_name]`\u003c/br\u003e\n `| [instance] + '.' + [application_domain_name]`\u003c/br\u003e\n `| [instance_dot_service] + '.' + [application_domain_name]`\u003c/br\u003e\n `| [instance_dot_version] + '.' + [application_domain_name]`\u003c/br\u003e\n `| [instance_dot_version_dot_service] + '.' + [application_domain_name]`\n\n* `application_domain_name` = The domain name of the app, for\n example \u003capp-id\u003e.appspot.com, which is associated with the\n queue's project ID. Some tasks which were created using the App Engine\n SDK use a custom domain name.\n\n* `service =` AppEngineRouting.service\n\n* `version =` AppEngineRouting.version\n\n* `version_dot_service =`\n AppEngineRouting.version `+ '.' +` AppEngineRouting.service\n\n* `instance =` AppEngineRouting.instance\n\n* `instance_dot_service =`\n AppEngineRouting.instance `+ '.' +` AppEngineRouting.service\n\n* `instance_dot_version =`\n AppEngineRouting.instance `+ '.' +` AppEngineRouting.version\n\n* `instance_dot_version_dot_service =`\n AppEngineRouting.instance `+ '.' +`\n AppEngineRouting.version `+ '.' +` AppEngineRouting.service\n\nIf AppEngineRouting.service is empty, then the task will be sent\nto the service which is the default service when the task is attempted.\n\nIf AppEngineRouting.version is empty, then the task will be sent\nto the version which is the default version when the task is attempted.\n\nIf AppEngineRouting.instance is empty, then the task will be sent\nto an instance which is available when the task is attempted.\n\nWhen AppEngineRouting.service is \"default\",\nAppEngineRouting.version is \"default\", and\nAppEngineRouting.instance is empty, AppEngineRouting.host is\nshortened to just the `application_domain_name`.\n\nIf AppEngineRouting.service, AppEngineRouting.version, or\nAppEngineRouting.instance is invalid, then the task will be sent\nto the default version of the default service when the task is attempted.", + "type": "string" + } + }, + "id": "AppEngineRouting" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object", + "properties": {}, + "id": "Empty" + }, + "AppEngineHttpTarget": { + "description": "App Engine HTTP target.\n\nThe task will be delivered to the App Engine application hostname\nspecified by its AppEngineHttpTarget and AppEngineHttpRequest.\nThe documentation for AppEngineHttpRequest explains how the\ntask's host URL is constructed.\n\nUsing AppEngineHttpTarget requires\n[`appengine.applications.get`](/appengine/docs/admin-api/access-control)\nGoogle IAM permission for the project\nand the following scope:\n\n`https://www.googleapis.com/auth/cloud-platform`", + "type": "object", + "properties": { + "appEngineRoutingOverride": { + "$ref": "AppEngineRouting", + "description": "Overrides for the\ntask-level app_engine_routing.\n\nIf set, AppEngineHttpTarget.app_engine_routing_override is used for\nall tasks in the queue, no matter what the setting is for the\ntask-level app_engine_routing." + } + }, + "id": "AppEngineHttpTarget" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform location.", + "type": "object", + "properties": { + "name": { + "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given\nlocation.", + "type": "object" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example\n\n {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + } + }, + "id": "Location" + }, + "AcknowledgeTaskRequest": { + "description": "Request message for acknowledging a task using\nCloudTasks.AcknowledgeTask.", + "type": "object", + "properties": { + "scheduleTime": { + "format": "google-datetime", + "description": "Required.\n\nThe task's current schedule time, available in the Task.schedule_time\nreturned in PullTasksResponse.tasks or\nCloudTasks.RenewLease. This restriction is to check that\nthe caller is acknowledging the correct task.", + "type": "string" + } + }, + "id": "AcknowledgeTaskRequest" + }, + "ListQueuesResponse": { + "description": "Response message for CloudTasks.ListQueues.", + "type": "object", + "properties": { + "queues": { + "description": "The list of queues.", + "items": { + "$ref": "Queue" + }, + "type": "array" + }, + "nextPageToken": { + "format": "byte", + "description": "A token to retrieve next page of results.\n\nTo return the next page of results, call\nCloudTasks.ListQueues with this value as the\nListQueuesRequest.page_token.\n\nIf the next_page_token is empty, there are no more results.\n\nThe page token is valid for only 2 hours.", + "type": "string" + } + }, + "id": "ListQueuesResponse" + }, + "TestIamPermissionsRequest": { + "id": "TestIamPermissionsRequest", + "description": "Request message for `TestIamPermissions` method.", + "type": "object", + "properties": { + "permissions": { + "items": { + "type": "string" + }, + "type": "array", + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions)." + } + } + }, + "ListLocationsResponse": { + "type": "object", + "properties": { + "nextPageToken": { + "type": "string", + "description": "The standard List next-page token." + }, + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + } + }, + "id": "ListLocationsResponse", + "description": "The response message for Locations.ListLocations." + }, + "Policy": { + "type": "object", + "properties": { + "etag": { + "format": "byte", + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.", + "type": "string" + }, + "version": { + "format": "int32", + "description": "Version of the `Policy`. The default version is 0.", + "type": "integer" + }, + "bindings": { + "description": "Associates a list of `members` to a `role`.\n`bindings` with no members will result in an error.", + "items": { + "$ref": "Binding" + }, + "type": "array" + } + }, + "id": "Policy", + "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam)." + }, + "AppEngineTaskTarget": { + "id": "AppEngineTaskTarget", + "description": "Deprecated. Use AppEngineHttpRequest.", + "type": "object", + "properties": { + "httpMethod": { + "type": "string", + "enumDescriptions": [ + "HTTP method unspecified", + "HTTP Post", + "HTTP Get", + "HTTP Head", + "HTTP Put", + "HTTP Delete" + ], + "enum": [ + "HTTP_METHOD_UNSPECIFIED", + "POST", + "GET", + "HEAD", + "PUT", + "DELETE" + ], + "description": "Deprecated. Use AppEngineHttpRequest.http_method." + }, + "payload": { + "type": "string", + "format": "byte", + "description": "Deprecated. Use AppEngineHttpRequest.payload." + }, + "relativeUrl": { + "description": "Deprecated. Use AppEngineHttpRequest.relative_url.", + "type": "string" + }, + "headers": { + "description": "Deprecated. Use AppEngineHttpRequest.headers.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "appEngineRouting": { + "$ref": "AppEngineRouting", + "description": "Deprecated. Use AppEngineHttpRequest.app_engine_routing." + } + } + } + }, + "protocol": "rest", + "icons": { + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" + }, + "canonicalName": "Cloud Tasks", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "rootUrl": "https://cloudtasks.googleapis.com/", + "ownerDomain": "google.com", + "name": "cloudtasks", + "batchPath": "batch" +} diff --git a/vendor/google.golang.org/api/cloudtasks/v2beta2/cloudtasks-gen.go b/vendor/google.golang.org/api/cloudtasks/v2beta2/cloudtasks-gen.go new file mode 100644 index 000000000..a7541a54c --- /dev/null +++ b/vendor/google.golang.org/api/cloudtasks/v2beta2/cloudtasks-gen.go @@ -0,0 +1,5866 @@ +// Package cloudtasks provides access to the Cloud Tasks API. +// +// See https://cloud.google.com/cloud-tasks/ +// +// Usage example: +// +// import "google.golang.org/api/cloudtasks/v2beta2" +// ... +// cloudtasksService, err := cloudtasks.New(oauthHttpClient) +package cloudtasks // import "google.golang.org/api/cloudtasks/v2beta2" + +import ( + "bytes" + "encoding/json" + "errors" + "fmt" + context "golang.org/x/net/context" + ctxhttp "golang.org/x/net/context/ctxhttp" + gensupport "google.golang.org/api/gensupport" + googleapi "google.golang.org/api/googleapi" + "io" + "net/http" + "net/url" + "strconv" + "strings" +) + +// Always reference these packages, just in case the auto-generated code +// below doesn't. +var _ = bytes.NewBuffer +var _ = strconv.Itoa +var _ = fmt.Sprintf +var _ = json.NewDecoder +var _ = io.Copy +var _ = url.Parse +var _ = gensupport.MarshalJSON +var _ = googleapi.Version +var _ = errors.New +var _ = strings.Replace +var _ = context.Canceled +var _ = ctxhttp.Do + +const apiId = "cloudtasks:v2beta2" +const apiName = "cloudtasks" +const apiVersion = "v2beta2" +const basePath = "https://cloudtasks.googleapis.com/" + +// OAuth2 scopes used by this API. +const ( + // View and manage your data across Google Cloud Platform services + CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" +) + +func New(client *http.Client) (*Service, error) { + if client == nil { + return nil, errors.New("client is nil") + } + s := &Service{client: client, BasePath: basePath} + s.Projects = NewProjectsService(s) + return s, nil +} + +type Service struct { + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + + Projects *ProjectsService +} + +func (s *Service) userAgent() string { + if s.UserAgent == "" { + return googleapi.UserAgent + } + return googleapi.UserAgent + " " + s.UserAgent +} + +func NewProjectsService(s *Service) *ProjectsService { + rs := &ProjectsService{s: s} + rs.Locations = NewProjectsLocationsService(s) + return rs +} + +type ProjectsService struct { + s *Service + + Locations *ProjectsLocationsService +} + +func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { + rs := &ProjectsLocationsService{s: s} + rs.Queues = NewProjectsLocationsQueuesService(s) + return rs +} + +type ProjectsLocationsService struct { + s *Service + + Queues *ProjectsLocationsQueuesService +} + +func NewProjectsLocationsQueuesService(s *Service) *ProjectsLocationsQueuesService { + rs := &ProjectsLocationsQueuesService{s: s} + rs.Tasks = NewProjectsLocationsQueuesTasksService(s) + return rs +} + +type ProjectsLocationsQueuesService struct { + s *Service + + Tasks *ProjectsLocationsQueuesTasksService +} + +func NewProjectsLocationsQueuesTasksService(s *Service) *ProjectsLocationsQueuesTasksService { + rs := &ProjectsLocationsQueuesTasksService{s: s} + return rs +} + +type ProjectsLocationsQueuesTasksService struct { + s *Service +} + +// AcknowledgeTaskRequest: Request message for acknowledging a task +// using +// CloudTasks.AcknowledgeTask. +type AcknowledgeTaskRequest struct { + // ScheduleTime: Required. + // + // The task's current schedule time, available in the + // Task.schedule_time + // returned in PullTasksResponse.tasks or + // CloudTasks.RenewLease. This restriction is to check that + // the caller is acknowledging the correct task. + ScheduleTime string `json:"scheduleTime,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ScheduleTime") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ScheduleTime") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AcknowledgeTaskRequest) MarshalJSON() ([]byte, error) { + type noMethod AcknowledgeTaskRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppEngineHttpRequest: App Engine HTTP request. +// +// The message defines the HTTP request that is sent to an App Engine +// app when +// the task is dispatched. +// +// This proto can only be used for tasks in a queue which +// has +// Queue.app_engine_http_target set. +// +// Using AppEngineHttpRequest +// requires +// [`appengine.applications.get`](/appengine/docs/admin-api/acce +// ss-control) +// Google IAM permission for the project +// and the following +// scope: +// +// `https://www.googleapis.com/auth/cloud-platform` +// +// The task will be delivered to the App Engine app which belongs to the +// same +// project as the queue. For more information, see +// [How Requests are +// Routed](/appengine/docs/standard/python/how-requests-are-routed) +// and how routing is affected by +// [dispatch files](/appengine/docs/python/config/dispatchref). +// +// The AppEngineRouting used to construct the URL that the task +// is +// delivered to can be set at the queue-level or task-level: +// +// * If set, AppEngineHttpTarget.app_engine_routing_override is used +// for +// all tasks in the queue, no matter what the setting is for the +// task-level app_engine_routing. +// +// +// The `url` that the task will be sent to is: +// +// * `url =` AppEngineRouting.host `+` +// AppEngineHttpRequest.relative_url +// +// The task will be sent to a task handler by an HTTP +// request using the specified AppEngineHttpRequest.http_method (for +// example +// POST, HTTP GET, etc). The task attempt has succeeded if the task +// handler +// returns an HTTP response code in the range [200 - 299]. Error 503 +// is +// considered an App Engine system error instead of an application +// error. +// Requests returning error 503 will be retried regardless of +// retry +// configuration and not counted against retry counts. +// Any other response code or a failure to receive a response before +// the +// deadline is a failed attempt. +type AppEngineHttpRequest struct { + // AppEngineRouting: Task-level setting for App Engine routing. + // + // If set, AppEngineHttpTarget.app_engine_routing_override is used + // for + // all tasks in the queue, no matter what the setting is for + // the + // task-level app_engine_routing. + AppEngineRouting *AppEngineRouting `json:"appEngineRouting,omitempty"` + + // Headers: HTTP request headers. + // + // This map contains the header field names and values. + // Headers can be set when the + // [task is + // created](google.cloud.tasks.v2beta2.CloudTasks.CreateTask). + // Repeated headers are not supported but a header value can contain + // commas. + // + // Cloud Tasks sets some headers to default values: + // + // * `User-Agent`: By default, this header is + // "AppEngine-Google; (+http://code.google.com/appengine)". + // This header can be modified, but Cloud Tasks will append + // "AppEngine-Google; (+http://code.google.com/appengine)" to the + // modified `User-Agent`. + // + // If the task has an AppEngineHttpRequest.payload, Cloud Tasks sets + // the + // following headers: + // + // * `Content-Type`: By default, the `Content-Type` header is set to + // "application/octet-stream". The default can be overridden by + // explictly + // setting `Content-Type` to a particular media type when the + // [task is + // created](google.cloud.tasks.v2beta2.CloudTasks.CreateTask). + // For example, `Content-Type` can be set to "application/json". + // * `Content-Length`: This is computed by Cloud Tasks. This value is + // output only. It cannot be changed. + // + // The headers below cannot be set or overridden: + // + // * `Host` + // * `X-Google-*` + // * `X-AppEngine-*` + // + // In addition, some App Engine headers, which contain + // task-specific information, are also be sent to the task handler; + // see + // [request + // headers](/appengine/docs/python/taskqueue/push/creating-handlers#readi + // ng_request_headers). + Headers map[string]string `json:"headers,omitempty"` + + // HttpMethod: The HTTP method to use for the request. The default is + // POST. + // + // The app's request handler for the task's target URL must be able to + // handle + // HTTP requests with this http_method, otherwise the task attempt will + // fail + // with error code 405 "Method Not Allowed" because "the method + // specified in + // the Request-Line is not allowed for the resource identified by + // the + // Request-URI". See + // [Writing a push task request + // handler](/appengine/docs/java/taskqueue/push/creating-handlers#writing + // _a_push_task_request_handler) + // and the documentation for the request handlers in the language your + // app is + // written in e.g. + // [python + // RequestHandler](/appengine/docs/python/tools/webapp/requesthandlerclas + // s). + // + // Possible values: + // "HTTP_METHOD_UNSPECIFIED" - HTTP method unspecified + // "POST" - HTTP Post + // "GET" - HTTP Get + // "HEAD" - HTTP Head + // "PUT" - HTTP Put + // "DELETE" - HTTP Delete + HttpMethod string `json:"httpMethod,omitempty"` + + // Payload: Payload. + // + // The payload will be sent as the HTTP message body. A message + // body, and thus a payload, is allowed only if the HTTP method is + // POST or PUT. It is an error to set a data payload on a task with + // an incompatible HttpMethod. + Payload string `json:"payload,omitempty"` + + // RelativeUrl: The relative URL. + // + // The relative URL must begin with "/" and must be a valid HTTP + // relative URL. + // It can contain a path, query string arguments, and `#` fragments. + // If the relative URL is empty, then the root path "/" will be used. + // No spaces are allowed, and the maximum length allowed is 2083 + // characters. + RelativeUrl string `json:"relativeUrl,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AppEngineRouting") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AppEngineRouting") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AppEngineHttpRequest) MarshalJSON() ([]byte, error) { + type noMethod AppEngineHttpRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppEngineHttpTarget: App Engine HTTP target. +// +// The task will be delivered to the App Engine application +// hostname +// specified by its AppEngineHttpTarget and AppEngineHttpRequest. +// The documentation for AppEngineHttpRequest explains how the +// task's host URL is constructed. +// +// Using AppEngineHttpTarget +// requires +// [`appengine.applications.get`](/appengine/docs/admin-api/acce +// ss-control) +// Google IAM permission for the project +// and the following +// scope: +// +// `https://www.googleapis.com/auth/cloud-platform` +type AppEngineHttpTarget struct { + // AppEngineRoutingOverride: Overrides for the + // task-level app_engine_routing. + // + // If set, AppEngineHttpTarget.app_engine_routing_override is used + // for + // all tasks in the queue, no matter what the setting is for + // the + // task-level app_engine_routing. + AppEngineRoutingOverride *AppEngineRouting `json:"appEngineRoutingOverride,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "AppEngineRoutingOverride") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AppEngineRoutingOverride") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AppEngineHttpTarget) MarshalJSON() ([]byte, error) { + type noMethod AppEngineHttpTarget + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppEngineQueueConfig: Deprecated. Use AppEngineTarget. +type AppEngineQueueConfig struct { + // AppEngineRoutingOverride: Deprecated. Use + // AppEngineTarget.app_engine_routing_override. + AppEngineRoutingOverride *AppEngineRouting `json:"appEngineRoutingOverride,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "AppEngineRoutingOverride") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AppEngineRoutingOverride") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AppEngineQueueConfig) MarshalJSON() ([]byte, error) { + type noMethod AppEngineQueueConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppEngineRouting: App Engine Routing. +// +// For more information about services, versions, and instances see +// [An Overview of App +// Engine](/appengine/docs/python/an-overview-of-app-engine), +// [Microservi +// ces Architecture on Google App +// Engine](/appengine/docs/python/microservices-on-app-engine), +// [App Engine Standard request +// routing](/appengine/docs/standard/python/how-requests-are-routed), +// and +// [App Engine Flex request +// routing](/appengine/docs/flexible/python/how-requests-are-routed). +type AppEngineRouting struct { + // Host: Output only. + // + // The host that the task is sent to. For more information, see + // [How Requests are + // Routed](/appengine/docs/standard/python/how-requests-are-routed). + // + // The + // host is constructed as: + // + // + // * `host = [application_domain_name]`
    + // `| [service] + '.' + [application_domain_name]`
    + // `| [version] + '.' + [application_domain_name]`
    + // `| [version_dot_service]+ '.' + [application_domain_name]`
    + // `| [instance] + '.' + [application_domain_name]`
    + // `| [instance_dot_service] + '.' + [application_domain_name]`
    + // `| [instance_dot_version] + '.' + [application_domain_name]`
    + // `| [instance_dot_version_dot_service] + '.' + + // [application_domain_name]` + // + // * `application_domain_name` = The domain name of the app, for + // example .appspot.com, which is associated with the + // queue's project ID. Some tasks which were created using the App + // Engine + // SDK use a custom domain name. + // + // * `service =` AppEngineRouting.service + // + // * `version =` AppEngineRouting.version + // + // * `version_dot_service =` + // AppEngineRouting.version `+ '.' +` AppEngineRouting.service + // + // * `instance =` AppEngineRouting.instance + // + // * `instance_dot_service =` + // AppEngineRouting.instance `+ '.' +` AppEngineRouting.service + // + // * `instance_dot_version =` + // AppEngineRouting.instance `+ '.' +` AppEngineRouting.version + // + // * `instance_dot_version_dot_service =` + // AppEngineRouting.instance `+ '.' +` + // AppEngineRouting.version `+ '.' +` AppEngineRouting.service + // + // If AppEngineRouting.service is empty, then the task will be sent + // to the service which is the default service when the task is + // attempted. + // + // If AppEngineRouting.version is empty, then the task will be sent + // to the version which is the default version when the task is + // attempted. + // + // If AppEngineRouting.instance is empty, then the task will be sent + // to an instance which is available when the task is attempted. + // + // When AppEngineRouting.service is "default", + // AppEngineRouting.version is "default", and + // AppEngineRouting.instance is empty, AppEngineRouting.host + // is + // shortened to just the `application_domain_name`. + // + // If AppEngineRouting.service, AppEngineRouting.version, + // or + // AppEngineRouting.instance is invalid, then the task will be sent + // to the default version of the default service when the task is + // attempted. + Host string `json:"host,omitempty"` + + // Instance: App instance. + // + // By default, the task is sent to an instance which is available + // when + // the task is attempted. + // + // Requests can only be sent to a specific instance if + // [manual scaling is used in App Engine + // Standard](/appengine/docs/python/an-overview-of-app-engine?hl=en_US#sc + // aling_types_and_instance_classes). + // App Engine Flex does not support instances. For more information, + // see + // [App Engine Standard request + // routing](/appengine/docs/standard/python/how-requests-are-routed) + // and [App Engine Flex request + // routing](/appengine/docs/flexible/python/how-requests-are-routed). + Instance string `json:"instance,omitempty"` + + // Service: App service. + // + // By default, the task is sent to the service which is the + // default + // service when the task is attempted ("default"). + // + // For some queues or tasks which were created using the App Engine Task + // Queue + // API, AppEngineRouting.host is not parsable + // into + // AppEngineRouting.service, AppEngineRouting.version, + // and + // AppEngineRouting.instance. For example, some tasks which were + // created + // using the App Engine SDK use a custom domain name; custom domains are + // not + // parsed by Cloud Tasks. If AppEngineRouting.host is not parsable, + // then + // AppEngineRouting.service, AppEngineRouting.version, + // and + // AppEngineRouting.instance are the empty string. + Service string `json:"service,omitempty"` + + // Version: App version. + // + // By default, the task is sent to the version which is the + // default + // version when the task is attempted ("default"). + // + // For some queues or tasks which were created using the App Engine Task + // Queue + // API, AppEngineRouting.host is not parsable + // into + // AppEngineRouting.service, AppEngineRouting.version, + // and + // AppEngineRouting.instance. For example, some tasks which were + // created + // using the App Engine SDK use a custom domain name; custom domains are + // not + // parsed by Cloud Tasks. If AppEngineRouting.host is not parsable, + // then + // AppEngineRouting.service, AppEngineRouting.version, + // and + // AppEngineRouting.instance are the empty string. + Version string `json:"version,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Host") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Host") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AppEngineRouting) MarshalJSON() ([]byte, error) { + type noMethod AppEngineRouting + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AppEngineTaskTarget: Deprecated. Use AppEngineHttpRequest. +type AppEngineTaskTarget struct { + // AppEngineRouting: Deprecated. Use + // AppEngineHttpRequest.app_engine_routing. + AppEngineRouting *AppEngineRouting `json:"appEngineRouting,omitempty"` + + // Headers: Deprecated. Use AppEngineHttpRequest.headers. + Headers map[string]string `json:"headers,omitempty"` + + // HttpMethod: Deprecated. Use AppEngineHttpRequest.http_method. + // + // Possible values: + // "HTTP_METHOD_UNSPECIFIED" - HTTP method unspecified + // "POST" - HTTP Post + // "GET" - HTTP Get + // "HEAD" - HTTP Head + // "PUT" - HTTP Put + // "DELETE" - HTTP Delete + HttpMethod string `json:"httpMethod,omitempty"` + + // Payload: Deprecated. Use AppEngineHttpRequest.payload. + Payload string `json:"payload,omitempty"` + + // RelativeUrl: Deprecated. Use AppEngineHttpRequest.relative_url. + RelativeUrl string `json:"relativeUrl,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AppEngineRouting") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AppEngineRouting") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AppEngineTaskTarget) MarshalJSON() ([]byte, error) { + type noMethod AppEngineTaskTarget + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AttemptStatus: The status of a task attempt. +type AttemptStatus struct { + // DispatchTime: Output only. + // + // The time that this attempt was dispatched. + // + // `dispatch_time` will be truncated to the nearest microsecond. + DispatchTime string `json:"dispatchTime,omitempty"` + + // ResponseStatus: Output only. + // + // The response from the target for this attempt. + // + // If the task has not been attempted or the task is currently + // running + // then the response status is google.rpc.Code.UNKNOWN. + ResponseStatus *Status `json:"responseStatus,omitempty"` + + // ResponseTime: Output only. + // + // The time that this attempt response was received. + // + // `response_time` will be truncated to the nearest microsecond. + ResponseTime string `json:"responseTime,omitempty"` + + // ScheduleTime: Output only. + // + // The time that this attempt was scheduled. + // + // `schedule_time` will be truncated to the nearest microsecond. + ScheduleTime string `json:"scheduleTime,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DispatchTime") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DispatchTime") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AttemptStatus) MarshalJSON() ([]byte, error) { + type noMethod AttemptStatus + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Binding: Associates `members` with a `role`. +type Binding struct { + // Members: Specifies the identities requesting access for a Cloud + // Platform resource. + // `members` can have the following values: + // + // * `allUsers`: A special identifier that represents anyone who is + // on the internet; with or without a Google account. + // + // * `allAuthenticatedUsers`: A special identifier that represents + // anyone + // who is authenticated with a Google account or a service + // account. + // + // * `user:{emailid}`: An email address that represents a specific + // Google + // account. For example, `alice@gmail.com` or `joe@example.com`. + // + // + // * `serviceAccount:{emailid}`: An email address that represents a + // service + // account. For example, + // `my-other-app@appspot.gserviceaccount.com`. + // + // * `group:{emailid}`: An email address that represents a Google + // group. + // For example, `admins@example.com`. + // + // + // * `domain:{domain}`: A Google Apps domain name that represents all + // the + // users of that domain. For example, `google.com` or + // `example.com`. + // + // + Members []string `json:"members,omitempty"` + + // Role: Role that is assigned to `members`. + // For example, `roles/viewer`, `roles/editor`, or + // `roles/owner`. + // Required + Role string `json:"role,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Members") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Members") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Binding) MarshalJSON() ([]byte, error) { + type noMethod Binding + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CancelLeaseRequest: Request message for canceling a lease +// using +// CloudTasks.CancelLease. +type CancelLeaseRequest struct { + // ResponseView: The response_view specifies which subset of the Task + // will be + // returned. + // + // By default response_view is Task.View.BASIC; not all + // information is retrieved by default because some data, such + // as + // payloads, might be desirable to return only when needed because + // of its large size or because of the sensitivity of data that + // it + // contains. + // + // Authorization for Task.View.FULL requires + // `cloudtasks.tasks.fullView` + // [Google IAM](/iam/) permission on the + // Task.name resource. + // + // Possible values: + // "VIEW_UNSPECIFIED" - Unspecified. Defaults to BASIC. + // "BASIC" - The basic view omits fields which can be large or can + // contain + // sensitive data. + // + // This view does not include the payload. + // "FULL" - All information is returned. + // + // Payloads might be desirable to return only when needed, because + // they can be large and because of the sensitivity of the data + // that you choose to store in it. + // + // Authorization for Task.View.FULL requires + // `cloudtasks.tasks.fullView` [Google + // IAM](https://cloud.google.com/iam/) + // permission on the Queue.name resource. + ResponseView string `json:"responseView,omitempty"` + + // ScheduleTime: Required. + // + // The task's current schedule time, available in the + // Task.schedule_time + // returned in PullTasksResponse.tasks or + // CloudTasks.RenewLease. This restriction is to check that + // the caller is canceling the correct task. + ScheduleTime string `json:"scheduleTime,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ResponseView") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ResponseView") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CancelLeaseRequest) MarshalJSON() ([]byte, error) { + type noMethod CancelLeaseRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CreateTaskRequest: Request message for CloudTasks.CreateTask. +type CreateTaskRequest struct { + // ResponseView: The response_view specifies which subset of the Task + // will be + // returned. + // + // By default response_view is Task.View.BASIC; not all + // information is retrieved by default because some data, such + // as + // payloads, might be desirable to return only when needed because + // of its large size or because of the sensitivity of data that + // it + // contains. + // + // Authorization for Task.View.FULL requires + // `cloudtasks.tasks.fullView` + // [Google IAM](/iam/) permission on the + // Task.name resource. + // + // Possible values: + // "VIEW_UNSPECIFIED" - Unspecified. Defaults to BASIC. + // "BASIC" - The basic view omits fields which can be large or can + // contain + // sensitive data. + // + // This view does not include the payload. + // "FULL" - All information is returned. + // + // Payloads might be desirable to return only when needed, because + // they can be large and because of the sensitivity of the data + // that you choose to store in it. + // + // Authorization for Task.View.FULL requires + // `cloudtasks.tasks.fullView` [Google + // IAM](https://cloud.google.com/iam/) + // permission on the Queue.name resource. + ResponseView string `json:"responseView,omitempty"` + + // Task: Required. + // + // The task to add. + // + // Task names have the following + // format: + // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tas + // ks/TASK_ID`. + // The user can optionally specify a name for the task in + // Task.name. If a name is not specified then the system will + // generate a random unique task id, which will be returned in + // the + // response's Task.name. + // + // Explicitly specifying a Task.name enables task + // de-duplication. If a task's name is identical to the name of + // an + // existing task or a task that was deleted or completed within the + // last ~10 days then the call to CloudTasks.CreateTask will + // fail with google.rpc.Code.ALREADY_EXISTS. Because there is an + // extra lookup cost to identify duplicate task names, + // these + // CloudTasks.CreateTask calls have significantly increased + // latency. Using hashed strings for the task id or for the prefix + // of the task id is recommended. Choosing task ids that are + // sequential or have sequential prefixes, for example using + // a + // timestamp, causes an increase in latency and error rates in all + // task commands. The infrastructure relies on an approximately + // uniform distribution of task ids to store and serve + // tasks + // efficiently. + // + // If Task.schedule_time is not set or is in the past then Cloud + // Tasks will set it to the current time. + Task *Task `json:"task,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ResponseView") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ResponseView") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CreateTaskRequest) MarshalJSON() ([]byte, error) { + type noMethod CreateTaskRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Empty: A generic empty message that you can re-use to avoid defining +// duplicated +// empty messages in your APIs. A typical example is to use it as the +// request +// or the response type of an API method. For instance: +// +// service Foo { +// rpc Bar(google.protobuf.Empty) returns +// (google.protobuf.Empty); +// } +// +// The JSON representation for `Empty` is empty JSON object `{}`. +type Empty struct { + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` +} + +// GetIamPolicyRequest: Request message for `GetIamPolicy` method. +type GetIamPolicyRequest struct { +} + +// ListLocationsResponse: The response message for +// Locations.ListLocations. +type ListLocationsResponse struct { + // Locations: A list of locations that matches the specified filter in + // the request. + Locations []*Location `json:"locations,omitempty"` + + // NextPageToken: The standard List next-page token. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Locations") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Locations") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListLocationsResponse) MarshalJSON() ([]byte, error) { + type noMethod ListLocationsResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListQueuesResponse: Response message for CloudTasks.ListQueues. +type ListQueuesResponse struct { + // NextPageToken: A token to retrieve next page of results. + // + // To return the next page of results, call + // CloudTasks.ListQueues with this value as + // the + // ListQueuesRequest.page_token. + // + // If the next_page_token is empty, there are no more results. + // + // The page token is valid for only 2 hours. + NextPageToken string `json:"nextPageToken,omitempty"` + + // Queues: The list of queues. + Queues []*Queue `json:"queues,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "NextPageToken") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListQueuesResponse) MarshalJSON() ([]byte, error) { + type noMethod ListQueuesResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListTasksResponse: Response message for listing tasks using +// CloudTasks.ListTasks. +type ListTasksResponse struct { + // NextPageToken: A token to retrieve next page of results. + // + // To return the next page of results, call + // CloudTasks.ListTasks with this value as + // the + // ListTasksRequest.page_token. + // + // If the next_page_token is empty, there are no more results. + NextPageToken string `json:"nextPageToken,omitempty"` + + // Tasks: The list of tasks. + Tasks []*Task `json:"tasks,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "NextPageToken") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListTasksResponse) MarshalJSON() ([]byte, error) { + type noMethod ListTasksResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Location: A resource that represents Google Cloud Platform location. +type Location struct { + // Labels: Cross-service attributes for the location. For example + // + // {"cloud.googleapis.com/region": "us-east1"} + Labels map[string]string `json:"labels,omitempty"` + + // LocationId: The canonical id for this location. For example: + // "us-east1". + LocationId string `json:"locationId,omitempty"` + + // Metadata: Service-specific metadata. For example the available + // capacity at the given + // location. + Metadata googleapi.RawMessage `json:"metadata,omitempty"` + + // Name: Resource name for the location, which may vary between + // implementations. + // For example: "projects/example-project/locations/us-east1" + Name string `json:"name,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Labels") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Location) MarshalJSON() ([]byte, error) { + type noMethod Location + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PauseQueueRequest: Request message for CloudTasks.PauseQueue. +type PauseQueueRequest struct { +} + +// Policy: Defines an Identity and Access Management (IAM) policy. It is +// used to +// specify access control policies for Cloud Platform resources. +// +// +// A `Policy` consists of a list of `bindings`. A `Binding` binds a list +// of +// `members` to a `role`, where the members can be user accounts, Google +// groups, +// Google domains, and service accounts. A `role` is a named list of +// permissions +// defined by IAM. +// +// **Example** +// +// { +// "bindings": [ +// { +// "role": "roles/owner", +// "members": [ +// "user:mike@example.com", +// "group:admins@example.com", +// "domain:google.com", +// +// "serviceAccount:my-other-app@appspot.gserviceaccount.com", +// ] +// }, +// { +// "role": "roles/viewer", +// "members": ["user:sean@example.com"] +// } +// ] +// } +// +// For a description of IAM and its features, see the +// [IAM developer's guide](https://cloud.google.com/iam). +type Policy struct { + // Bindings: Associates a list of `members` to a `role`. + // `bindings` with no members will result in an error. + Bindings []*Binding `json:"bindings,omitempty"` + + // Etag: `etag` is used for optimistic concurrency control as a way to + // help + // prevent simultaneous updates of a policy from overwriting each + // other. + // It is strongly suggested that systems make use of the `etag` in + // the + // read-modify-write cycle to perform policy updates in order to avoid + // race + // conditions: An `etag` is returned in the response to `getIamPolicy`, + // and + // systems are expected to put that etag in the request to + // `setIamPolicy` to + // ensure that their change will be applied to the same version of the + // policy. + // + // If no `etag` is provided in the call to `setIamPolicy`, then the + // existing + // policy is overwritten blindly. + Etag string `json:"etag,omitempty"` + + // Version: Version of the `Policy`. The default version is 0. + Version int64 `json:"version,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Bindings") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Policy) MarshalJSON() ([]byte, error) { + type noMethod Policy + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PullMessage: The pull message contains data that can be used by the +// caller of +// CloudTasks.PullTasks to process the task. +// +// This proto can only be used for tasks in a queue which +// has +// Queue.pull_target set. +type PullMessage struct { + // Payload: A data payload consumed by the task worker to execute the + // task. + Payload string `json:"payload,omitempty"` + + // Tag: A meta-data tag for this task. + // + // This value is used by CloudTasks.PullTasks calls + // when + // PullTasksRequest.filter is `tag=`. + // + // The tag must be less than 500 bytes. + Tag string `json:"tag,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Payload") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Payload") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *PullMessage) MarshalJSON() ([]byte, error) { + type noMethod PullMessage + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PullQueueConfig: Deprecated. Use PullTarget. +type PullQueueConfig struct { +} + +// PullTarget: Pull target. +type PullTarget struct { +} + +// PullTaskTarget: Deprecated. Use PullMessage. +type PullTaskTarget struct { + // Payload: Deprecated. Use PullMessage.payload. + Payload string `json:"payload,omitempty"` + + // Tag: Deprecated. Use PullMessage.tag. + Tag string `json:"tag,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Payload") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Payload") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *PullTaskTarget) MarshalJSON() ([]byte, error) { + type noMethod PullTaskTarget + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PullTasksRequest: Request message for pulling tasks using +// CloudTasks.PullTasks. +type PullTasksRequest struct { + // Filter: `filter` can be used to specify a subset of tasks to + // lease. + // + // When `filter` is set to `tag=` then the + // PullTasksResponse will contain only tasks whose + // PullMessage.tag is equal to ``. `` can be + // a bytes encoded as a string and must be less than 500 bytes. + // If `` includes whitespace or special characters (characters + // which + // aren't letters, numbers, or underscores), then it must be + // double-quoted. + // Double quotes and backslashes in quoted strings must be escaped + // by + // preceding it with a backslash (`\`). + // + // When `filter` is set to `tag=oldest_tag()`, only tasks which have the + // same + // tag as the task with the oldest schedule_time will be + // returned. + // + // Grammar Syntax: + // + // * `filter = "tag=" comparable` + // + // * `comparable = tag | function` + // + // * `tag = string | bytes` + // + // * `function = "oldest_tag()" + // + // + // + // The `oldest_tag()` function returns tasks which have the same tag as + // the + // oldest task (ordered by schedule time). + Filter string `json:"filter,omitempty"` + + // LeaseDuration: The duration of the lease. + // + // Each task returned in the PullTasksResponse will have + // its + // Task.schedule_time set to the current time plus the + // `lease_duration`. A task that has been returned in + // a + // PullTasksResponse is leased -- that task will not be + // returned in a different PullTasksResponse before + // the + // Task.schedule_time. + // + // After the lease holder has successfully finished the work + // associated with the task, the lease holder must + // call + // CloudTasks.AcknowledgeTask. If the task is not acknowledged + // via CloudTasks.AcknowledgeTask before the + // Task.schedule_time then it will be returned in a + // later + // PullTasksResponse so that another lease holder can process + // it. + // + // The maximum lease duration is 1 week. + // `lease_duration` will be truncated to the nearest second. + LeaseDuration string `json:"leaseDuration,omitempty"` + + // MaxTasks: The maximum number of tasks to lease. The maximum that can + // be + // requested is 1000. + MaxTasks int64 `json:"maxTasks,omitempty"` + + // ResponseView: The response_view specifies which subset of the Task + // will be + // returned. + // + // By default response_view is Task.View.BASIC; not all + // information is retrieved by default because some data, such + // as + // payloads, might be desirable to return only when needed because + // of its large size or because of the sensitivity of data that + // it + // contains. + // + // Authorization for Task.View.FULL requires + // `cloudtasks.tasks.fullView` + // [Google IAM](/iam/) permission on the + // Task.name resource. + // + // Possible values: + // "VIEW_UNSPECIFIED" - Unspecified. Defaults to BASIC. + // "BASIC" - The basic view omits fields which can be large or can + // contain + // sensitive data. + // + // This view does not include the payload. + // "FULL" - All information is returned. + // + // Payloads might be desirable to return only when needed, because + // they can be large and because of the sensitivity of the data + // that you choose to store in it. + // + // Authorization for Task.View.FULL requires + // `cloudtasks.tasks.fullView` [Google + // IAM](https://cloud.google.com/iam/) + // permission on the Queue.name resource. + ResponseView string `json:"responseView,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Filter") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Filter") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *PullTasksRequest) MarshalJSON() ([]byte, error) { + type noMethod PullTasksRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PullTasksResponse: Response message for pulling tasks using +// CloudTasks.PullTasks. +type PullTasksResponse struct { + // Tasks: The leased tasks. + Tasks []*Task `json:"tasks,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Tasks") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Tasks") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *PullTasksResponse) MarshalJSON() ([]byte, error) { + type noMethod PullTasksResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PurgeQueueRequest: Request message for CloudTasks.PurgeQueue. +type PurgeQueueRequest struct { +} + +// Queue: A queue is a container of related tasks. Queues are configured +// to manage +// how those tasks are dispatched. Configurable properties include rate +// limits, +// retry options, target types, and others. +type Queue struct { + // AppEngineHttpTarget: App Engine HTTP target. + // + // An App Engine queue is a queue that has an AppEngineHttpTarget. + AppEngineHttpTarget *AppEngineHttpTarget `json:"appEngineHttpTarget,omitempty"` + + // AppEngineQueueConfig: Deprecated. Use Queue.app_engine_http_target. + AppEngineQueueConfig *AppEngineQueueConfig `json:"appEngineQueueConfig,omitempty"` + + // Name: The queue name. + // + // The queue name must have the following + // format: + // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` + // + // * + // `PROJECT_ID` can contain uppercase and lowercase letters, + // numbers, hyphens, colons, and periods; that is, it must match + // the regular expression: `[a-zA-Z\\d-:\\.]+`. + // * `QUEUE_ID` can contain uppercase and lowercase letters, + // numbers, and hyphens; that is, it must match the regular + // expression: `[a-zA-Z\\d-]+`. The maximum length is 100 + // characters. + // + // Caller-specified and required in CreateQueueRequest, after which + // it becomes output only. + Name string `json:"name,omitempty"` + + // PullQueueConfig: Deprecated. Use Queue.pull_target. + PullQueueConfig *PullQueueConfig `json:"pullQueueConfig,omitempty"` + + // PullTarget: Pull target. + // + // A pull queue is a queue that has a PullTarget. + PullTarget *PullTarget `json:"pullTarget,omitempty"` + + // PurgeTime: Output only. + // + // The last time this queue was purged. All tasks that were + // created before this time were purged. + // + // A queue can be purged using CloudTasks.PurgeQueue, the + // [App Engine Task Queue SDK, or the Cloud + // Console](/appengine/docs/standard/python/taskqueue/push/deleting-tasks + // -and-queues#purging_all_tasks_from_a_queue). + // + // Purge time will be truncated to the nearest microsecond. Purge + // time will be zero if the queue has never been purged. + PurgeTime string `json:"purgeTime,omitempty"` + + // QueueState: Output only. + // + // The state of the queue. + // + // `queue_state` can only be changed by called + // CloudTasks.PauseQueue, CloudTasks.ResumeQueue, or + // uploading + // [queue.yaml](/appengine/docs/python/config/queueref). + // CloudT + // asks.UpdateQueue cannot be used to change `queue_state`. + // + // Possible values: + // "QUEUE_STATE_UNSPECIFIED" - Unspecified state. + // "RUNNING" - The queue is running. Tasks can be dispatched. + // "PAUSED" - Tasks are paused by the user. If the queue is paused + // then Cloud + // Tasks will stop delivering tasks from it, but more tasks can + // still be added to it by the user. When a pull queue is paused, + // all CloudTasks.PullTasks calls will return a + // `FAILED_PRECONDITION` error. + // "DISABLED" - The queue is disabled. + // + // A queue becomes `DISABLED` + // when + // [queue.yaml](/appengine/docs/python/config/queueref) + // or + // [queue.xml](appengine/docs/standard/java/config/queueref) is + // uploaded + // which does not contain the queue. You cannot directly disable a + // queue. + // + // When a queue is disabled, tasks can still be added to a queue + // but the tasks are not dispatched and CloudTasks.PullTasks + // calls + // return a `FAILED_PRECONDITION` error. + // + // To permanently delete this queue and all of its tasks, + // call + // CloudTasks.DeleteQueue. + QueueState string `json:"queueState,omitempty"` + + // RetryConfig: Settings that determine the retry behavior. + // + // * For tasks created using Cloud Tasks: the queue-level retry + // settings + // apply to all tasks in the queue that were created using Cloud + // Tasks. + // Retry settings cannot be set on individual tasks. + // * For tasks created using the App Engine SDK: the queue-level retry + // settings apply to all tasks in the queue which do not have retry + // settings + // explicitly set on the task and were created by the App Engine SDK. + // See + // [App Engine + // documentation](/appengine/docs/standard/python/taskqueue/push/retrying + // -tasks). + RetryConfig *RetryConfig `json:"retryConfig,omitempty"` + + // ThrottleConfig: Config for throttling task dispatches. + ThrottleConfig *ThrottleConfig `json:"throttleConfig,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "AppEngineHttpTarget") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AppEngineHttpTarget") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Queue) MarshalJSON() ([]byte, error) { + type noMethod Queue + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// RenewLeaseRequest: Request message for renewing a lease using +// CloudTasks.RenewLease. +type RenewLeaseRequest struct { + // NewLeaseDuration: Required. + // + // The desired new lease duration, starting from now. + // + // + // The maximum lease duration is 1 week. + // `new_lease_duration` will be truncated to the nearest second. + NewLeaseDuration string `json:"newLeaseDuration,omitempty"` + + // ResponseView: The response_view specifies which subset of the Task + // will be + // returned. + // + // By default response_view is Task.View.BASIC; not all + // information is retrieved by default because some data, such + // as + // payloads, might be desirable to return only when needed because + // of its large size or because of the sensitivity of data that + // it + // contains. + // + // Authorization for Task.View.FULL requires + // `cloudtasks.tasks.fullView` + // [Google IAM](/iam/) permission on the + // Task.name resource. + // + // Possible values: + // "VIEW_UNSPECIFIED" - Unspecified. Defaults to BASIC. + // "BASIC" - The basic view omits fields which can be large or can + // contain + // sensitive data. + // + // This view does not include the payload. + // "FULL" - All information is returned. + // + // Payloads might be desirable to return only when needed, because + // they can be large and because of the sensitivity of the data + // that you choose to store in it. + // + // Authorization for Task.View.FULL requires + // `cloudtasks.tasks.fullView` [Google + // IAM](https://cloud.google.com/iam/) + // permission on the Queue.name resource. + ResponseView string `json:"responseView,omitempty"` + + // ScheduleTime: Required. + // + // The task's current schedule time, available in the + // Task.schedule_time + // returned in PullTasksResponse.tasks or + // CloudTasks.RenewLease. This restriction is to check that + // the caller is renewing the correct task. + ScheduleTime string `json:"scheduleTime,omitempty"` + + // ForceSendFields is a list of field names (e.g. "NewLeaseDuration") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "NewLeaseDuration") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *RenewLeaseRequest) MarshalJSON() ([]byte, error) { + type noMethod RenewLeaseRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ResumeQueueRequest: Request message for CloudTasks.ResumeQueue. +type ResumeQueueRequest struct { +} + +// RetryConfig: Retry config. +// +// These settings determine retry behavior. +// +// If a task does not complete successfully, meaning that +// an +// acknowledgement is not received from the handler before +// the +// [deadline](/appengine/docs/python/taskqueue/push/#the_task_deadlin +// e), +// then it will be retried with exponential backoff according to +// the +// settings in RetryConfig. +type RetryConfig struct { + // MaxAttempts: The maximum number of attempts for a task. + // + // Cloud Tasks will attempt the task `max_attempts` times (that + // is, if the first attempt fails, then there will be + // `max_attempts - 1` retries). Must be > 0. + MaxAttempts int64 `json:"maxAttempts,omitempty"` + + // MaxBackoff: The maximum amount of time to wait before retrying a task + // after + // it fails. The default is 1 hour. + // + // * For [App Engine + // queues](google.cloud.tasks.v2beta2.AppEngineHttpTarget), + // this field is 1 hour by default. + // * For [pull queues](google.cloud.tasks.v2beta2.PullTarget), this + // field + // is output only and always 0. + // + // `max_backoff` will be truncated to the nearest second. + MaxBackoff string `json:"maxBackoff,omitempty"` + + // MaxDoublings: The maximum number of times that the interval between + // failed task + // retries will be doubled before the increase becomes constant. + // The + // constant is: 2**(max_doublings - 1) * + // RetryConfig.min_backoff. + // + // * For [App Engine + // queues](google.cloud.tasks.v2beta2.AppEngineHttpTarget), + // this field is 16 by default. + // * For [pull queues](google.cloud.tasks.v2beta2.PullTarget), this + // field + // is output only and always 0. + MaxDoublings int64 `json:"maxDoublings,omitempty"` + + // MinBackoff: The minimum amount of time to wait before retrying a task + // after + // it fails. + // + // * For [App Engine + // queues](google.cloud.tasks.v2beta2.AppEngineHttpTarget), + // this field is 0.1 seconds by default. + // * For [pull queues](google.cloud.tasks.v2beta2.PullTarget), this + // field is output only and always 0. + // + // `min_backoff` will be truncated to the nearest second. + MinBackoff string `json:"minBackoff,omitempty"` + + // TaskAgeLimit: If positive, task_age_limit specifies the time limit + // for retrying a failed + // task, measured from when the task was first run. If specified + // with + // RetryConfig.max_attempts, the task will be retried until both + // limits are reached. + // + // If zero, then the task age is unlimited. This field is zero by + // default. + // + // `task_age_limit` will be truncated to the nearest second. + TaskAgeLimit string `json:"taskAgeLimit,omitempty"` + + // UnlimitedAttempts: If true, then the number of attempts is unlimited. + UnlimitedAttempts bool `json:"unlimitedAttempts,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MaxAttempts") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "MaxAttempts") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RetryConfig) MarshalJSON() ([]byte, error) { + type noMethod RetryConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// RunTaskRequest: Request message for forcing a task to run now +// using +// CloudTasks.RunTask. +type RunTaskRequest struct { + // ResponseView: The response_view specifies which subset of the Task + // will be + // returned. + // + // By default response_view is Task.View.BASIC; not all + // information is retrieved by default because some data, such + // as + // payloads, might be desirable to return only when needed because + // of its large size or because of the sensitivity of data that + // it + // contains. + // + // Authorization for Task.View.FULL requires + // `cloudtasks.tasks.fullView` + // [Google IAM](/iam/) permission on the + // Task.name resource. + // + // Possible values: + // "VIEW_UNSPECIFIED" - Unspecified. Defaults to BASIC. + // "BASIC" - The basic view omits fields which can be large or can + // contain + // sensitive data. + // + // This view does not include the payload. + // "FULL" - All information is returned. + // + // Payloads might be desirable to return only when needed, because + // they can be large and because of the sensitivity of the data + // that you choose to store in it. + // + // Authorization for Task.View.FULL requires + // `cloudtasks.tasks.fullView` [Google + // IAM](https://cloud.google.com/iam/) + // permission on the Queue.name resource. + ResponseView string `json:"responseView,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ResponseView") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ResponseView") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RunTaskRequest) MarshalJSON() ([]byte, error) { + type noMethod RunTaskRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SetIamPolicyRequest: Request message for `SetIamPolicy` method. +type SetIamPolicyRequest struct { + // 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 a + // valid policy but certain Cloud Platform services (such as + // Projects) + // might reject them. + Policy *Policy `json:"policy,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Policy") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Policy") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) { + type noMethod SetIamPolicyRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Status: The `Status` type defines a logical error model that is +// suitable for different +// programming environments, including REST APIs and RPC APIs. It is +// used by +// [gRPC](https://github.com/grpc). The error model is designed to +// be: +// +// - Simple to use and understand for most users +// - Flexible enough to meet unexpected needs +// +// # Overview +// +// The `Status` message contains three pieces of data: error code, error +// message, +// and error details. The error code should be an enum value +// of +// google.rpc.Code, but it may accept additional error codes if needed. +// The +// error message should be a developer-facing English message that +// helps +// developers *understand* and *resolve* the error. If a localized +// user-facing +// error message is needed, put the localized message in the error +// details or +// localize it in the client. The optional error details may contain +// arbitrary +// information about the error. There is a predefined set of error +// detail types +// in the package `google.rpc` that can be used for common error +// conditions. +// +// # Language mapping +// +// The `Status` message is the logical representation of the error +// model, but it +// is not necessarily the actual wire format. When the `Status` message +// is +// exposed in different client libraries and different wire protocols, +// it can be +// mapped differently. For example, it will likely be mapped to some +// exceptions +// in Java, but more likely mapped to some error codes in C. +// +// # Other uses +// +// The error model and the `Status` message can be used in a variety +// of +// environments, either with or without APIs, to provide a +// consistent developer experience across different +// environments. +// +// Example uses of this error model include: +// +// - Partial errors. If a service needs to return partial errors to the +// client, +// it may embed the `Status` in the normal response to indicate the +// partial +// errors. +// +// - Workflow errors. A typical workflow has multiple steps. Each step +// may +// have a `Status` message for error reporting. +// +// - Batch operations. If a client uses batch request and batch +// response, the +// `Status` message should be used directly inside batch response, +// one for +// each error sub-response. +// +// - Asynchronous operations. If an API call embeds asynchronous +// operation +// results in its response, the status of those operations should +// be +// represented directly using the `Status` message. +// +// - Logging. If some API errors are stored in logs, the message +// `Status` could +// be used directly after any stripping needed for security/privacy +// reasons. +type Status struct { + // Code: The status code, which should be an enum value of + // google.rpc.Code. + Code int64 `json:"code,omitempty"` + + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. + Details []googleapi.RawMessage `json:"details,omitempty"` + + // Message: A developer-facing error message, which should be in + // English. Any + // user-facing error message should be localized and sent in + // the + // google.rpc.Status.details field, or localized by the client. + 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Status) MarshalJSON() ([]byte, error) { + type noMethod Status + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Task: A unit of scheduled work. +type Task struct { + // AppEngineHttpRequest: App Engine HTTP request that is sent to the + // task's target. Can be set + // only if Queue.app_engine_http_target is set. + // + // An App Engine task is a task that has AppEngineHttpRequest set. + AppEngineHttpRequest *AppEngineHttpRequest `json:"appEngineHttpRequest,omitempty"` + + // AppEngineTaskTarget: Deprecated. Use Task.app_engine_http_request. + AppEngineTaskTarget *AppEngineTaskTarget `json:"appEngineTaskTarget,omitempty"` + + // CreateTime: Output only. + // + // The time that the task was created. + // + // `create_time` will be truncated to the nearest second. + CreateTime string `json:"createTime,omitempty"` + + // Name: The task name. + // + // The task name must have the following + // format: + // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tas + // ks/TASK_ID` + // + // * `PROJECT_ID` can contain uppercase and lowercase letters, + // numbers, hyphens, colons, and periods; that is, it must match + // the regular expression: `[a-zA-Z\\d-:\\.]+`. + // * `QUEUE_ID` can contain uppercase and lowercase letters, + // numbers, and hyphens; that is, it must match the regular + // expression: `[a-zA-Z\\d-]+`. The maximum length is 100 + // characters. + // * `TASK_ID` contain uppercase and lowercase letters, numbers, + // underscores, and hyphens; that is, it must match the regular + // expression: `[a-zA-Z\\d_-]+`. The maximum length is 500 + // characters. + // + // Optionally caller-specified in CreateTaskRequest. + Name string `json:"name,omitempty"` + + // PullMessage: Pull message contains data that should be used by the + // caller of + // CloudTasks.PullTasks to process the task. Can be set only + // if + // Queue.pull_target is set. + // + // A pull task is a task that has PullMessage set. + PullMessage *PullMessage `json:"pullMessage,omitempty"` + + // PullTaskTarget: Deprecated. Use Task.pull_message. + PullTaskTarget *PullTaskTarget `json:"pullTaskTarget,omitempty"` + + // ScheduleTime: The time when the task is scheduled to be + // attempted. + // + // For pull queues, this is the time when the task is available to + // be leased; if a task is currently leased, this is the time when + // the current lease expires, that is, the time that the task was + // leased plus the PullTasksRequest.lease_duration. + // + // For App Engine queues, this is when the task will be attempted or + // retried. + // + // `schedule_time` will be truncated to the nearest microsecond. + ScheduleTime string `json:"scheduleTime,omitempty"` + + // TaskStatus: Output only. + // + // Task status. + TaskStatus *TaskStatus `json:"taskStatus,omitempty"` + + // View: Output only. + // + // The view specifies which subset of the Task has been + // returned. + // + // Possible values: + // "VIEW_UNSPECIFIED" - Unspecified. Defaults to BASIC. + // "BASIC" - The basic view omits fields which can be large or can + // contain + // sensitive data. + // + // This view does not include the payload. + // "FULL" - All information is returned. + // + // Payloads might be desirable to return only when needed, because + // they can be large and because of the sensitivity of the data + // that you choose to store in it. + // + // Authorization for Task.View.FULL requires + // `cloudtasks.tasks.fullView` [Google + // IAM](https://cloud.google.com/iam/) + // permission on the Queue.name resource. + View string `json:"view,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. + // "AppEngineHttpRequest") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AppEngineHttpRequest") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Task) MarshalJSON() ([]byte, error) { + type noMethod Task + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// TaskStatus: Status of the task. +type TaskStatus struct { + // AttemptDispatchCount: Output only. + // + // The number of attempts dispatched. This count includes tasks which + // have + // been dispatched but haven't received a response. + AttemptDispatchCount int64 `json:"attemptDispatchCount,omitempty,string"` + + // AttemptResponseCount: Output only. + // + // The number of attempts which have received a response. + // + // This field is not calculated for + // [pull tasks](google.cloud.tasks.v2beta2.PullTaskTarget). + AttemptResponseCount int64 `json:"attemptResponseCount,omitempty,string"` + + // FirstAttemptStatus: Output only. + // + // The status of the task's first attempt. + // + // Only AttemptStatus.dispatch_time will be set. + // The other AttemptStatus information is not retained by Cloud + // Tasks. + // + // This field is not calculated for + // [pull tasks](google.cloud.tasks.v2beta2.PullTaskTarget). + FirstAttemptStatus *AttemptStatus `json:"firstAttemptStatus,omitempty"` + + // LastAttemptStatus: Output only. + // + // The status of the task's last attempt. + // + // This field is not calculated for + // [pull tasks](google.cloud.tasks.v2beta2.PullTaskTarget). + LastAttemptStatus *AttemptStatus `json:"lastAttemptStatus,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "AttemptDispatchCount") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AttemptDispatchCount") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *TaskStatus) MarshalJSON() ([]byte, error) { + type noMethod TaskStatus + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// TestIamPermissionsRequest: Request message for `TestIamPermissions` +// method. +type TestIamPermissionsRequest struct { + // Permissions: The set of permissions to check for the `resource`. + // Permissions with + // wildcards (such as '*' or 'storage.*') are not allowed. For + // more + // information see + // [IAM + // Overview](https://cloud.google.com/iam/docs/overview#permissions). + Permissions []string `json:"permissions,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Permissions") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Permissions") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) { + type noMethod TestIamPermissionsRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// TestIamPermissionsResponse: Response message for `TestIamPermissions` +// method. +type TestIamPermissionsResponse struct { + // Permissions: A subset of `TestPermissionsRequest.permissions` that + // the caller is + // allowed. + Permissions []string `json:"permissions,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Permissions") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Permissions") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) { + type noMethod TestIamPermissionsResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ThrottleConfig: Throttle config. +// +// These settings determine the throttling behavior. +type ThrottleConfig struct { + // MaxBurstSize: Output only. + // + // The max burst size limits how fast the queue is processed when + // many tasks are in the queue and the rate is high. This field + // allows the queue to have a high rate so processing starts + // shortly + // after a task is enqueued, but still limits resource usage when + // many tasks are enqueued in a short period of time. + // + // * For App Engine queues, if + // ThrottleConfig.max_tasks_dispatched_per_second is 1, this + // field is 10; otherwise this field is + // ThrottleConfig.max_tasks_dispatched_per_second / 5. + // * For pull queues, this field is output only and always + // 10,000. + // + // Note: For App Engine queues that were created + // through + // `queue.yaml/xml`, `max_burst_size` might not have the same + // settings as specified above; CloudTasks.UpdateQueue can be + // used to set `max_burst_size` only to the values specified + // above. + // + // This field has the same meaning as + // [bucket_size in + // queue.yaml](/appengine/docs/standard/python/config/queueref#bucket_siz + // e). + MaxBurstSize int64 `json:"maxBurstSize,omitempty"` + + // MaxOutstandingTasks: The maximum number of outstanding tasks that + // Cloud Tasks allows + // to be dispatched for this queue. After this threshold has + // been + // reached, Cloud Tasks stops dispatching tasks until the number + // of + // outstanding requests decreases. + // + // The maximum allowed value is 5,000. + // + // * For App Engine queues, this field is 10 by default. + // * For pull queues, this field is output only and always -1, which + // indicates no limit. + // + // This field has the same meaning as + // [max_concurrent_requests in + // queue.yaml](/appengine/docs/standard/python/config/queueref#max_concur + // rent_requests). + MaxOutstandingTasks int64 `json:"maxOutstandingTasks,omitempty"` + + // MaxTasksDispatchedPerSecond: The maximum rate at which tasks are + // dispatched from this + // queue. + // + // The maximum allowed value is 500. + // + // * For App Engine queues, this field is 1 by default. + // * For pull queues, this field is output only and always 10,000. + // + // This field has the same meaning as + // [rate in + // queue.yaml](/appengine/docs/standard/python/config/queueref#rate). + MaxTasksDispatchedPerSecond float64 `json:"maxTasksDispatchedPerSecond,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MaxBurstSize") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "MaxBurstSize") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ThrottleConfig) MarshalJSON() ([]byte, error) { + type noMethod ThrottleConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *ThrottleConfig) UnmarshalJSON(data []byte) error { + type noMethod ThrottleConfig + var s1 struct { + MaxTasksDispatchedPerSecond gensupport.JSONFloat64 `json:"maxTasksDispatchedPerSecond"` + *noMethod + } + s1.noMethod = (*noMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.MaxTasksDispatchedPerSecond = float64(s1.MaxTasksDispatchedPerSecond) + return nil +} + +// method id "cloudtasks.projects.locations.get": + +type ProjectsLocationsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Get information about a location. +func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall { + c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudtasks.projects.locations.get" call. +// Exactly one of *Location or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Location.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*Location, 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, &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, err + } + ret := &Location{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Get information about a location.", + // "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}", + // "httpMethod": "GET", + // "id": "cloudtasks.projects.locations.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Resource name for the location.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2beta2/{+name}", + // "response": { + // "$ref": "Location" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "cloudtasks.projects.locations.list": + +type ProjectsLocationsListCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists information about the supported locations for this +// service. +func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall { + c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Filter sets the optional parameter "filter": The standard list +// filter. +func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// PageSize sets the optional parameter "pageSize": The standard list +// page size. +func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The standard list +// page token. +func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall { + 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 information. +func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta2/{+name}/locations") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudtasks.projects.locations.list" call. +// Exactly one of *ListLocationsResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListLocationsResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, 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, &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, err + } + ret := &ListLocationsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists information about the supported locations for this service.", + // "flatPath": "v2beta2/projects/{projectsId}/locations", + // "httpMethod": "GET", + // "id": "cloudtasks.projects.locations.list", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "filter": { + // "description": "The standard list filter.", + // "location": "query", + // "type": "string" + // }, + // "name": { + // "description": "The resource that owns the locations collection, if applicable.", + // "location": "path", + // "pattern": "^projects/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "pageSize": { + // "description": "The standard list page size.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "The standard list page token.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v2beta2/{+name}/locations", + // "response": { + // "$ref": "ListLocationsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// 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 *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "cloudtasks.projects.locations.queues.create": + +type ProjectsLocationsQueuesCreateCall struct { + s *Service + parent string + queue *Queue + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a queue. +// +// WARNING: This method is only available to whitelisted +// users. Using this method carries some risk. Read +// [Overview of Queue Management and +// queue.yaml](/cloud-tasks/docs/queue-yaml) +// carefully and then sign up for +// [whitelist access to this method](https://goo.gl/Fe5mUy). +func (r *ProjectsLocationsQueuesService) Create(parent string, queue *Queue) *ProjectsLocationsQueuesCreateCall { + c := &ProjectsLocationsQueuesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.queue = queue + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsQueuesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsQueuesCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsQueuesCreateCall) Context(ctx context.Context) *ProjectsLocationsQueuesCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsQueuesCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsQueuesCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.queue) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta2/{+parent}/queues") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudtasks.projects.locations.queues.create" call. +// Exactly one of *Queue or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Queue.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsQueuesCreateCall) Do(opts ...googleapi.CallOption) (*Queue, 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, &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, err + } + ret := &Queue{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a queue.\n\nWARNING: This method is only available to whitelisted\nusers. Using this method carries some risk. Read\n[Overview of Queue Management and queue.yaml](/cloud-tasks/docs/queue-yaml)\ncarefully and then sign up for\n[whitelist access to this method](https://goo.gl/Fe5mUy).", + // "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues", + // "httpMethod": "POST", + // "id": "cloudtasks.projects.locations.queues.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "Required.\n\nThe location name in which the queue will be created.\nFor example: `projects/PROJECT_ID/locations/LOCATION_ID`\n\nThe list of allowed locations can be obtained by calling Cloud\nTasks' implementation of\ngoogle.cloud.location.Locations.ListLocations.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2beta2/{+parent}/queues", + // "request": { + // "$ref": "Queue" + // }, + // "response": { + // "$ref": "Queue" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "cloudtasks.projects.locations.queues.delete": + +type ProjectsLocationsQueuesDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a queue. +// +// This command will delete the queue even if it has tasks in it. +// +// Note: If you delete a queue, a queue with the same name can't be +// created +// for 7 days. +// +// WARNING: This method is only available to whitelisted +// users. Using this method carries some risk. Read +// [Overview of Queue Management and +// queue.yaml](/cloud-tasks/docs/queue-yaml) +// carefully and then sign up for +// [whitelist access to this method](https://goo.gl/Fe5mUy). +func (r *ProjectsLocationsQueuesService) Delete(name string) *ProjectsLocationsQueuesDeleteCall { + c := &ProjectsLocationsQueuesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsQueuesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsQueuesDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsQueuesDeleteCall) Context(ctx context.Context) *ProjectsLocationsQueuesDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsQueuesDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsQueuesDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudtasks.projects.locations.queues.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsQueuesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes a queue.\n\nThis command will delete the queue even if it has tasks in it.\n\nNote: If you delete a queue, a queue with the same name can't be created\nfor 7 days.\n\nWARNING: This method is only available to whitelisted\nusers. Using this method carries some risk. Read\n[Overview of Queue Management and queue.yaml](/cloud-tasks/docs/queue-yaml)\ncarefully and then sign up for\n[whitelist access to this method](https://goo.gl/Fe5mUy).", + // "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}", + // "httpMethod": "DELETE", + // "id": "cloudtasks.projects.locations.queues.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required.\n\nThe queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2beta2/{+name}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "cloudtasks.projects.locations.queues.get": + +type ProjectsLocationsQueuesGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets a queue. +func (r *ProjectsLocationsQueuesService) Get(name string) *ProjectsLocationsQueuesGetCall { + c := &ProjectsLocationsQueuesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsQueuesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsQueuesGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsQueuesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsQueuesGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsQueuesGetCall) Context(ctx context.Context) *ProjectsLocationsQueuesGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsQueuesGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsQueuesGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudtasks.projects.locations.queues.get" call. +// Exactly one of *Queue or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Queue.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsQueuesGetCall) Do(opts ...googleapi.CallOption) (*Queue, 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, &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, err + } + ret := &Queue{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets a queue.", + // "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}", + // "httpMethod": "GET", + // "id": "cloudtasks.projects.locations.queues.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required.\n\nThe resource name of the queue. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2beta2/{+name}", + // "response": { + // "$ref": "Queue" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "cloudtasks.projects.locations.queues.getIamPolicy": + +type ProjectsLocationsQueuesGetIamPolicyCall struct { + s *Service + resource string + getiampolicyrequest *GetIamPolicyRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// GetIamPolicy: Gets the access control policy for a Queue. +// Returns an empty policy if the resource exists and does not have a +// policy +// set. +// +// Authorization requires the following [Google IAM](/iam) permission on +// the +// specified resource parent: +// +// * `cloudtasks.queues.getIamPolicy` +// +func (r *ProjectsLocationsQueuesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsQueuesGetIamPolicyCall { + c := &ProjectsLocationsQueuesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.getiampolicyrequest = getiampolicyrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsQueuesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsQueuesGetIamPolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsQueuesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsQueuesGetIamPolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsQueuesGetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsQueuesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta2/{+resource}:getIamPolicy") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudtasks.projects.locations.queues.getIamPolicy" call. +// Exactly one of *Policy or error will be non-nil. 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 *ProjectsLocationsQueuesGetIamPolicyCall) 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, &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, err + } + ret := &Policy{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the access control policy for a Queue.\nReturns an empty policy if the resource exists and does not have a policy\nset.\n\nAuthorization requires the following [Google IAM](/iam) permission on the\nspecified resource parent:\n\n* `cloudtasks.queues.getIamPolicy`\n", + // "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:getIamPolicy", + // "httpMethod": "POST", + // "id": "cloudtasks.projects.locations.queues.getIamPolicy", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2beta2/{+resource}:getIamPolicy", + // "request": { + // "$ref": "GetIamPolicyRequest" + // }, + // "response": { + // "$ref": "Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "cloudtasks.projects.locations.queues.list": + +type ProjectsLocationsQueuesListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists queues. +// +// Queues are returned in lexicographical order. +func (r *ProjectsLocationsQueuesService) List(parent string) *ProjectsLocationsQueuesListCall { + c := &ProjectsLocationsQueuesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// Filter sets the optional parameter "filter": `filter` can be used to +// specify a subset of queues. Any Queue +// field can be used as a filter and several operators as supported. +// For example: `<=, <, >=, >, !=, =, :`. The filter syntax is the same +// as +// described in +// [Stackdriver's Advanced Logs +// Filters](/logging/docs/view/advanced_filters). +// +// Sample filter "app_engine_http_target: *". +// +// Note that using filters might cause fewer queues than +// the +// requested_page size to be returned. +func (c *ProjectsLocationsQueuesListCall) Filter(filter string) *ProjectsLocationsQueuesListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// PageSize sets the optional parameter "pageSize": Requested page +// size. +// +// The maximum page size is 9800. If unspecified, the page size will +// be the maximum. Fewer queues than requested might be returned, +// even if more queues exist; use +// ListQueuesResponse.next_page_token to determine if more +// queues exist. +func (c *ProjectsLocationsQueuesListCall) PageSize(pageSize int64) *ProjectsLocationsQueuesListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": A token +// identifying the page of results to return. +// +// To request the first page results, page_token must be empty. +// To +// request the next page of results, page_token must be the value +// of +// ListQueuesResponse.next_page_token returned from the previous +// call to CloudTasks.ListQueues method. It is an error to +// switch the value of ListQueuesRequest.filter while iterating +// through pages. +func (c *ProjectsLocationsQueuesListCall) PageToken(pageToken string) *ProjectsLocationsQueuesListCall { + 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 information. +func (c *ProjectsLocationsQueuesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsQueuesListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsQueuesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsQueuesListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsQueuesListCall) Context(ctx context.Context) *ProjectsLocationsQueuesListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsQueuesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsQueuesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta2/{+parent}/queues") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudtasks.projects.locations.queues.list" call. +// Exactly one of *ListQueuesResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListQueuesResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsQueuesListCall) Do(opts ...googleapi.CallOption) (*ListQueuesResponse, 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, &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, err + } + ret := &ListQueuesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists queues.\n\nQueues are returned in lexicographical order.", + // "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues", + // "httpMethod": "GET", + // "id": "cloudtasks.projects.locations.queues.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "filter": { + // "description": "`filter` can be used to specify a subset of queues. Any Queue\nfield can be used as a filter and several operators as supported.\nFor example: `\u003c=, \u003c, \u003e=, \u003e, !=, =, :`. The filter syntax is the same as\ndescribed in\n[Stackdriver's Advanced Logs Filters](/logging/docs/view/advanced_filters).\n\nSample filter \"app_engine_http_target: *\".\n\nNote that using filters might cause fewer queues than the\nrequested_page size to be returned.", + // "location": "query", + // "type": "string" + // }, + // "pageSize": { + // "description": "Requested page size.\n\nThe maximum page size is 9800. If unspecified, the page size will\nbe the maximum. Fewer queues than requested might be returned,\neven if more queues exist; use\nListQueuesResponse.next_page_token to determine if more\nqueues exist.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "A token identifying the page of results to return.\n\nTo request the first page results, page_token must be empty. To\nrequest the next page of results, page_token must be the value of\nListQueuesResponse.next_page_token returned from the previous\ncall to CloudTasks.ListQueues method. It is an error to\nswitch the value of ListQueuesRequest.filter while iterating\nthrough pages.", + // "format": "byte", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required.\n\nThe location name.\nFor example: `projects/PROJECT_ID/locations/LOCATION_ID`", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2beta2/{+parent}/queues", + // "response": { + // "$ref": "ListQueuesResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// 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 *ProjectsLocationsQueuesListCall) Pages(ctx context.Context, f func(*ListQueuesResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "cloudtasks.projects.locations.queues.patch": + +type ProjectsLocationsQueuesPatchCall struct { + s *Service + name string + queue *Queue + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates a queue. +// +// This method creates the queue if it does not exist and updates +// the queue if it does exist. +// +// WARNING: This method is only available to whitelisted +// users. Using this method carries some risk. Read +// [Overview of Queue Management and +// queue.yaml](/cloud-tasks/docs/queue-yaml) +// carefully and then sign up for +// [whitelist access to this method](https://goo.gl/Fe5mUy). +func (r *ProjectsLocationsQueuesService) Patch(name string, queue *Queue) *ProjectsLocationsQueuesPatchCall { + c := &ProjectsLocationsQueuesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.queue = queue + return c +} + +// UpdateMask sets the optional parameter "updateMask": A mask used to +// specify which fields of the queue are being updated. +// +// If empty, then all fields will be updated. +func (c *ProjectsLocationsQueuesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsQueuesPatchCall { + 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 information. +func (c *ProjectsLocationsQueuesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsQueuesPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsQueuesPatchCall) Context(ctx context.Context) *ProjectsLocationsQueuesPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsQueuesPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsQueuesPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.queue) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudtasks.projects.locations.queues.patch" call. +// Exactly one of *Queue or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Queue.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsQueuesPatchCall) Do(opts ...googleapi.CallOption) (*Queue, 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, &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, err + } + ret := &Queue{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates a queue.\n\nThis method creates the queue if it does not exist and updates\nthe queue if it does exist.\n\nWARNING: This method is only available to whitelisted\nusers. Using this method carries some risk. Read\n[Overview of Queue Management and queue.yaml](/cloud-tasks/docs/queue-yaml)\ncarefully and then sign up for\n[whitelist access to this method](https://goo.gl/Fe5mUy).", + // "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}", + // "httpMethod": "PATCH", + // "id": "cloudtasks.projects.locations.queues.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The queue name.\n\nThe queue name must have the following format:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`\n\n* `PROJECT_ID` can contain uppercase and lowercase letters,\n numbers, hyphens, colons, and periods; that is, it must match\n the regular expression: `[a-zA-Z\\\\d-:\\\\.]+`.\n* `QUEUE_ID` can contain uppercase and lowercase letters,\n numbers, and hyphens; that is, it must match the regular\n expression: `[a-zA-Z\\\\d-]+`. The maximum length is 100\n characters.\n\nCaller-specified and required in CreateQueueRequest, after which\nit becomes output only.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "A mask used to specify which fields of the queue are being updated.\n\nIf empty, then all fields will be updated.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v2beta2/{+name}", + // "request": { + // "$ref": "Queue" + // }, + // "response": { + // "$ref": "Queue" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "cloudtasks.projects.locations.queues.pause": + +type ProjectsLocationsQueuesPauseCall struct { + s *Service + name string + pausequeuerequest *PauseQueueRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Pause: Pauses the queue. +// +// If a queue is paused then the system will stop executing the +// tasks in the queue until it is resumed via +// CloudTasks.ResumeQueue. Tasks can still be added when the +// queue is paused. The state of the queue is stored +// in +// Queue.queue_state; if paused it will be set +// to +// Queue.QueueState.PAUSED. +// +// WARNING: This method is only available to whitelisted +// users. Using this method carries some risk. Read +// [Overview of Queue Management and +// queue.yaml](/cloud-tasks/docs/queue-yaml) +// carefully and then sign up for +// [whitelist access to this method](https://goo.gl/Fe5mUy). +func (r *ProjectsLocationsQueuesService) Pause(name string, pausequeuerequest *PauseQueueRequest) *ProjectsLocationsQueuesPauseCall { + c := &ProjectsLocationsQueuesPauseCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.pausequeuerequest = pausequeuerequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsQueuesPauseCall) Fields(s ...googleapi.Field) *ProjectsLocationsQueuesPauseCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsQueuesPauseCall) Context(ctx context.Context) *ProjectsLocationsQueuesPauseCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsQueuesPauseCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsQueuesPauseCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.pausequeuerequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta2/{+name}:pause") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudtasks.projects.locations.queues.pause" call. +// Exactly one of *Queue or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Queue.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsQueuesPauseCall) Do(opts ...googleapi.CallOption) (*Queue, 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, &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, err + } + ret := &Queue{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Pauses the queue.\n\nIf a queue is paused then the system will stop executing the\ntasks in the queue until it is resumed via\nCloudTasks.ResumeQueue. Tasks can still be added when the\nqueue is paused. The state of the queue is stored in\nQueue.queue_state; if paused it will be set to\nQueue.QueueState.PAUSED.\n\nWARNING: This method is only available to whitelisted\nusers. Using this method carries some risk. Read\n[Overview of Queue Management and queue.yaml](/cloud-tasks/docs/queue-yaml)\ncarefully and then sign up for\n[whitelist access to this method](https://goo.gl/Fe5mUy).", + // "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:pause", + // "httpMethod": "POST", + // "id": "cloudtasks.projects.locations.queues.pause", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required.\n\nThe queue name. For example:\n`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2beta2/{+name}:pause", + // "request": { + // "$ref": "PauseQueueRequest" + // }, + // "response": { + // "$ref": "Queue" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "cloudtasks.projects.locations.queues.purge": + +type ProjectsLocationsQueuesPurgeCall struct { + s *Service + name string + purgequeuerequest *PurgeQueueRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Purge: Purges a queue by deleting all of its tasks. +// +// All tasks created before this method is called are permanently +// deleted. +// +// Purge operations can take up to one minute to take effect. +// Tasks +// might be dispatched before the purge takes effect. A purge is +// irreversible. +func (r *ProjectsLocationsQueuesService) Purge(name string, purgequeuerequest *PurgeQueueRequest) *ProjectsLocationsQueuesPurgeCall { + c := &ProjectsLocationsQueuesPurgeCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.purgequeuerequest = purgequeuerequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsQueuesPurgeCall) Fields(s ...googleapi.Field) *ProjectsLocationsQueuesPurgeCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsQueuesPurgeCall) Context(ctx context.Context) *ProjectsLocationsQueuesPurgeCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsQueuesPurgeCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsQueuesPurgeCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.purgequeuerequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta2/{+name}:purge") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudtasks.projects.locations.queues.purge" call. +// Exactly one of *Queue or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Queue.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsQueuesPurgeCall) Do(opts ...googleapi.CallOption) (*Queue, 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, &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, err + } + ret := &Queue{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Purges a queue by deleting all of its tasks.\n\nAll tasks created before this method is called are permanently deleted.\n\nPurge operations can take up to one minute to take effect. Tasks\nmight be dispatched before the purge takes effect. A purge is irreversible.", + // "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:purge", + // "httpMethod": "POST", + // "id": "cloudtasks.projects.locations.queues.purge", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required.\n\nThe queue name. For example:\n`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2beta2/{+name}:purge", + // "request": { + // "$ref": "PurgeQueueRequest" + // }, + // "response": { + // "$ref": "Queue" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "cloudtasks.projects.locations.queues.resume": + +type ProjectsLocationsQueuesResumeCall struct { + s *Service + name string + resumequeuerequest *ResumeQueueRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Resume: Resume a queue. +// +// This method resumes a queue after it has been +// Queue.QueueState.PAUSED or Queue.QueueState.DISABLED. The state of +// a queue is stored in Queue.queue_state; after calling this method +// it +// will be set to Queue.QueueState.RUNNING. +// +// WARNING: This method is only available to whitelisted +// users. Using this method carries some risk. Read +// [Overview of Queue Management and +// queue.yaml](/cloud-tasks/docs/queue-yaml) +// carefully and then sign up for +// [whitelist access to this method](https://goo.gl/Fe5mUy). +// +// WARNING: Resuming many high-QPS queues at the same time can +// lead to target overloading. If you are resuming high-QPS +// queues, follow the 500/50/5 pattern described in +// [Managing Cloud Tasks Scaling +// Risks](/cloud-tasks/pdfs/managing-cloud-tasks-scaling-risks-2017-06-05 +// .pdf). +func (r *ProjectsLocationsQueuesService) Resume(name string, resumequeuerequest *ResumeQueueRequest) *ProjectsLocationsQueuesResumeCall { + c := &ProjectsLocationsQueuesResumeCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.resumequeuerequest = resumequeuerequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsQueuesResumeCall) Fields(s ...googleapi.Field) *ProjectsLocationsQueuesResumeCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsQueuesResumeCall) Context(ctx context.Context) *ProjectsLocationsQueuesResumeCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsQueuesResumeCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsQueuesResumeCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.resumequeuerequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta2/{+name}:resume") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudtasks.projects.locations.queues.resume" call. +// Exactly one of *Queue or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Queue.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsQueuesResumeCall) Do(opts ...googleapi.CallOption) (*Queue, 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, &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, err + } + ret := &Queue{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Resume a queue.\n\nThis method resumes a queue after it has been\nQueue.QueueState.PAUSED or Queue.QueueState.DISABLED. The state of\na queue is stored in Queue.queue_state; after calling this method it\nwill be set to Queue.QueueState.RUNNING.\n\nWARNING: This method is only available to whitelisted\nusers. Using this method carries some risk. Read\n[Overview of Queue Management and queue.yaml](/cloud-tasks/docs/queue-yaml)\ncarefully and then sign up for\n[whitelist access to this method](https://goo.gl/Fe5mUy).\n\nWARNING: Resuming many high-QPS queues at the same time can\nlead to target overloading. If you are resuming high-QPS\nqueues, follow the 500/50/5 pattern described in\n[Managing Cloud Tasks Scaling Risks](/cloud-tasks/pdfs/managing-cloud-tasks-scaling-risks-2017-06-05.pdf).", + // "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:resume", + // "httpMethod": "POST", + // "id": "cloudtasks.projects.locations.queues.resume", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required.\n\nThe queue name. For example:\n`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2beta2/{+name}:resume", + // "request": { + // "$ref": "ResumeQueueRequest" + // }, + // "response": { + // "$ref": "Queue" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "cloudtasks.projects.locations.queues.setIamPolicy": + +type ProjectsLocationsQueuesSetIamPolicyCall struct { + s *Service + resource string + setiampolicyrequest *SetIamPolicyRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetIamPolicy: Sets the access control policy for a Queue. Replaces +// any existing +// policy. +// +// Authorization requires the following [Google IAM](/iam) permission on +// the +// specified resource parent: +// +// * `cloudtasks.queues.setIamPolicy` +// +func (r *ProjectsLocationsQueuesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsQueuesSetIamPolicyCall { + c := &ProjectsLocationsQueuesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.setiampolicyrequest = setiampolicyrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsQueuesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsQueuesSetIamPolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsQueuesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsQueuesSetIamPolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsQueuesSetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsQueuesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta2/{+resource}:setIamPolicy") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudtasks.projects.locations.queues.setIamPolicy" call. +// Exactly one of *Policy or error will be non-nil. 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 *ProjectsLocationsQueuesSetIamPolicyCall) 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, &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, err + } + ret := &Policy{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Sets the access control policy for a Queue. Replaces any existing\npolicy.\n\nAuthorization requires the following [Google IAM](/iam) permission on the\nspecified resource parent:\n\n* `cloudtasks.queues.setIamPolicy`\n", + // "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:setIamPolicy", + // "httpMethod": "POST", + // "id": "cloudtasks.projects.locations.queues.setIamPolicy", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2beta2/{+resource}:setIamPolicy", + // "request": { + // "$ref": "SetIamPolicyRequest" + // }, + // "response": { + // "$ref": "Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "cloudtasks.projects.locations.queues.testIamPermissions": + +type ProjectsLocationsQueuesTestIamPermissionsCall struct { + s *Service + resource string + testiampermissionsrequest *TestIamPermissionsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// TestIamPermissions: Returns permissions that a caller has on a +// Queue. +// If the resource does not exist, this will return an empty set +// of +// permissions, not a google.rpc.Code.NOT_FOUND error. +// +// Note: This operation is designed to be used for building +// permission-aware +// UIs and command-line tools, not for authorization checking. This +// operation +// may "fail open" without warning. +// +func (r *ProjectsLocationsQueuesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsQueuesTestIamPermissionsCall { + c := &ProjectsLocationsQueuesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.testiampermissionsrequest = testiampermissionsrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsQueuesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsQueuesTestIamPermissionsCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsQueuesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsQueuesTestIamPermissionsCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsQueuesTestIamPermissionsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsQueuesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta2/{+resource}:testIamPermissions") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudtasks.projects.locations.queues.testIamPermissions" call. +// Exactly one of *TestIamPermissionsResponse or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *TestIamPermissionsResponse.ServerResponse.Header or (if a response +// was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsQueuesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, 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, &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, err + } + ret := &TestIamPermissionsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns permissions that a caller has on a Queue.\nIf the resource does not exist, this will return an empty set of\npermissions, not a google.rpc.Code.NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.\n", + // "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:testIamPermissions", + // "httpMethod": "POST", + // "id": "cloudtasks.projects.locations.queues.testIamPermissions", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2beta2/{+resource}:testIamPermissions", + // "request": { + // "$ref": "TestIamPermissionsRequest" + // }, + // "response": { + // "$ref": "TestIamPermissionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "cloudtasks.projects.locations.queues.tasks.acknowledge": + +type ProjectsLocationsQueuesTasksAcknowledgeCall struct { + s *Service + name string + acknowledgetaskrequest *AcknowledgeTaskRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Acknowledge: Acknowledges a pull task. +// +// The lease holder, that is, the entity that received this task in +// a PullTasksResponse, must call this method to indicate that +// the work associated with the task has finished. +// +// The lease holder must acknowledge a task within +// the +// PullTasksRequest.lease_duration or the lease will expire and +// the task will become ready to be returned in a +// different +// PullTasksResponse. After the task is acknowledged, it will +// not be returned by a later CloudTasks.PullTasks, +// CloudTasks.GetTask, or CloudTasks.ListTasks. +func (r *ProjectsLocationsQueuesTasksService) Acknowledge(name string, acknowledgetaskrequest *AcknowledgeTaskRequest) *ProjectsLocationsQueuesTasksAcknowledgeCall { + c := &ProjectsLocationsQueuesTasksAcknowledgeCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.acknowledgetaskrequest = acknowledgetaskrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsQueuesTasksAcknowledgeCall) Fields(s ...googleapi.Field) *ProjectsLocationsQueuesTasksAcknowledgeCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsQueuesTasksAcknowledgeCall) Context(ctx context.Context) *ProjectsLocationsQueuesTasksAcknowledgeCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsQueuesTasksAcknowledgeCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsQueuesTasksAcknowledgeCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.acknowledgetaskrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta2/{+name}:acknowledge") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudtasks.projects.locations.queues.tasks.acknowledge" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsQueuesTasksAcknowledgeCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Acknowledges a pull task.\n\nThe lease holder, that is, the entity that received this task in\na PullTasksResponse, must call this method to indicate that\nthe work associated with the task has finished.\n\nThe lease holder must acknowledge a task within the\nPullTasksRequest.lease_duration or the lease will expire and\nthe task will become ready to be returned in a different\nPullTasksResponse. After the task is acknowledged, it will\nnot be returned by a later CloudTasks.PullTasks,\nCloudTasks.GetTask, or CloudTasks.ListTasks.", + // "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}:acknowledge", + // "httpMethod": "POST", + // "id": "cloudtasks.projects.locations.queues.tasks.acknowledge", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required.\n\nThe task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2beta2/{+name}:acknowledge", + // "request": { + // "$ref": "AcknowledgeTaskRequest" + // }, + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "cloudtasks.projects.locations.queues.tasks.cancelLease": + +type ProjectsLocationsQueuesTasksCancelLeaseCall struct { + s *Service + name string + cancelleaserequest *CancelLeaseRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// CancelLease: Cancel a pull task's lease. +// +// The lease holder can use this method to cancel a task's lease +// by setting Task.schedule_time to now. This will make the +// task +// available to be leased to the next caller of CloudTasks.PullTasks. +func (r *ProjectsLocationsQueuesTasksService) CancelLease(name string, cancelleaserequest *CancelLeaseRequest) *ProjectsLocationsQueuesTasksCancelLeaseCall { + c := &ProjectsLocationsQueuesTasksCancelLeaseCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.cancelleaserequest = cancelleaserequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsQueuesTasksCancelLeaseCall) Fields(s ...googleapi.Field) *ProjectsLocationsQueuesTasksCancelLeaseCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsQueuesTasksCancelLeaseCall) Context(ctx context.Context) *ProjectsLocationsQueuesTasksCancelLeaseCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsQueuesTasksCancelLeaseCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsQueuesTasksCancelLeaseCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.cancelleaserequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta2/{+name}:cancelLease") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudtasks.projects.locations.queues.tasks.cancelLease" call. +// Exactly one of *Task or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Task.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *ProjectsLocationsQueuesTasksCancelLeaseCall) Do(opts ...googleapi.CallOption) (*Task, 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, &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, err + } + ret := &Task{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Cancel a pull task's lease.\n\nThe lease holder can use this method to cancel a task's lease\nby setting Task.schedule_time to now. This will make the task\navailable to be leased to the next caller of CloudTasks.PullTasks.", + // "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}:cancelLease", + // "httpMethod": "POST", + // "id": "cloudtasks.projects.locations.queues.tasks.cancelLease", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required.\n\nThe task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2beta2/{+name}:cancelLease", + // "request": { + // "$ref": "CancelLeaseRequest" + // }, + // "response": { + // "$ref": "Task" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "cloudtasks.projects.locations.queues.tasks.create": + +type ProjectsLocationsQueuesTasksCreateCall struct { + s *Service + parent string + createtaskrequest *CreateTaskRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a task and adds it to a queue. +// +// To add multiple tasks at the same time, use +// [HTTP batching](/storage/docs/json_api/v1/how-tos/batch) +// or the batching documentation for your client library, for +// example +// https://developers.google.com/api-client-library/python/guide/ +// batch. +// +// Tasks cannot be updated after creation; there is no UpdateTask +// command. +func (r *ProjectsLocationsQueuesTasksService) Create(parent string, createtaskrequest *CreateTaskRequest) *ProjectsLocationsQueuesTasksCreateCall { + c := &ProjectsLocationsQueuesTasksCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.createtaskrequest = createtaskrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsQueuesTasksCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsQueuesTasksCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsQueuesTasksCreateCall) Context(ctx context.Context) *ProjectsLocationsQueuesTasksCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsQueuesTasksCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsQueuesTasksCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.createtaskrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta2/{+parent}/tasks") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudtasks.projects.locations.queues.tasks.create" call. +// Exactly one of *Task or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Task.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *ProjectsLocationsQueuesTasksCreateCall) Do(opts ...googleapi.CallOption) (*Task, 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, &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, err + } + ret := &Task{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a task and adds it to a queue.\n\nTo add multiple tasks at the same time, use\n[HTTP batching](/storage/docs/json_api/v1/how-tos/batch)\nor the batching documentation for your client library, for example\nhttps://developers.google.com/api-client-library/python/guide/batch.\n\nTasks cannot be updated after creation; there is no UpdateTask command.", + // "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks", + // "httpMethod": "POST", + // "id": "cloudtasks.projects.locations.queues.tasks.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "Required.\n\nThe queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`\n\nThe queue must already exist.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2beta2/{+parent}/tasks", + // "request": { + // "$ref": "CreateTaskRequest" + // }, + // "response": { + // "$ref": "Task" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "cloudtasks.projects.locations.queues.tasks.delete": + +type ProjectsLocationsQueuesTasksDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a task. +// +// A task can be deleted if it is scheduled or dispatched. A task +// cannot be deleted if it has completed successfully or +// permanently +// failed. +func (r *ProjectsLocationsQueuesTasksService) Delete(name string) *ProjectsLocationsQueuesTasksDeleteCall { + c := &ProjectsLocationsQueuesTasksDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsQueuesTasksDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsQueuesTasksDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsQueuesTasksDeleteCall) Context(ctx context.Context) *ProjectsLocationsQueuesTasksDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsQueuesTasksDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsQueuesTasksDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudtasks.projects.locations.queues.tasks.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsQueuesTasksDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes a task.\n\nA task can be deleted if it is scheduled or dispatched. A task\ncannot be deleted if it has completed successfully or permanently\nfailed.", + // "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}", + // "httpMethod": "DELETE", + // "id": "cloudtasks.projects.locations.queues.tasks.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required.\n\nThe task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2beta2/{+name}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "cloudtasks.projects.locations.queues.tasks.get": + +type ProjectsLocationsQueuesTasksGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets a task. +func (r *ProjectsLocationsQueuesTasksService) Get(name string) *ProjectsLocationsQueuesTasksGetCall { + c := &ProjectsLocationsQueuesTasksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// ResponseView sets the optional parameter "responseView": The +// response_view specifies which subset of the Task will +// be +// returned. +// +// By default response_view is Task.View.BASIC; not all +// information is retrieved by default because some data, such +// as +// payloads, might be desirable to return only when needed because +// of its large size or because of the sensitivity of data that +// it +// contains. +// +// Authorization for Task.View.FULL requires +// `cloudtasks.tasks.fullView` +// [Google IAM](/iam/) permission on the +// Task.name resource. +// +// Possible values: +// "VIEW_UNSPECIFIED" +// "BASIC" +// "FULL" +func (c *ProjectsLocationsQueuesTasksGetCall) ResponseView(responseView string) *ProjectsLocationsQueuesTasksGetCall { + c.urlParams_.Set("responseView", responseView) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsQueuesTasksGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsQueuesTasksGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsQueuesTasksGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsQueuesTasksGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsQueuesTasksGetCall) Context(ctx context.Context) *ProjectsLocationsQueuesTasksGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsQueuesTasksGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsQueuesTasksGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudtasks.projects.locations.queues.tasks.get" call. +// Exactly one of *Task or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Task.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *ProjectsLocationsQueuesTasksGetCall) Do(opts ...googleapi.CallOption) (*Task, 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, &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, err + } + ret := &Task{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets a task.", + // "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}", + // "httpMethod": "GET", + // "id": "cloudtasks.projects.locations.queues.tasks.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required.\n\nThe task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "responseView": { + // "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is Task.View.BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for Task.View.FULL requires `cloudtasks.tasks.fullView`\n[Google IAM](/iam/) permission on the\nTask.name resource.", + // "enum": [ + // "VIEW_UNSPECIFIED", + // "BASIC", + // "FULL" + // ], + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v2beta2/{+name}", + // "response": { + // "$ref": "Task" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "cloudtasks.projects.locations.queues.tasks.list": + +type ProjectsLocationsQueuesTasksListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists the tasks in a queue. +// +// By default response_view is Task.View.BASIC; not all +// information is retrieved by default due to +// performance +// considerations; ListTasksRequest.response_view controls the +// subset of information which is returned. +func (r *ProjectsLocationsQueuesTasksService) List(parent string) *ProjectsLocationsQueuesTasksListCall { + c := &ProjectsLocationsQueuesTasksListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// OrderBy sets the optional parameter "orderBy": Sort order used for +// the query. The fields supported for sorting +// are Task.schedule_time and PullMessage.tag. All results will +// be +// returned in ascending order. The default ordering is +// by +// Task.schedule_time. +func (c *ProjectsLocationsQueuesTasksListCall) OrderBy(orderBy string) *ProjectsLocationsQueuesTasksListCall { + c.urlParams_.Set("orderBy", orderBy) + return c +} + +// PageSize sets the optional parameter "pageSize": Requested page size. +// Fewer tasks than requested might be returned. +// +// The maximum page size is 1000. If unspecified, the page size will +// be the maximum. Fewer tasks than requested might be returned, +// even if more tasks exist; use +// ListTasksResponse.next_page_token to determine if more tasks +// exist. +func (c *ProjectsLocationsQueuesTasksListCall) PageSize(pageSize int64) *ProjectsLocationsQueuesTasksListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": A token +// identifying the page of results to return. +// +// To request the first page results, page_token must be empty. +// To +// request the next page of results, page_token must be the value +// of +// ListTasksResponse.next_page_token returned from the previous +// call to CloudTasks.ListTasks method. +// +// The page token is valid for only 2 hours. +func (c *ProjectsLocationsQueuesTasksListCall) PageToken(pageToken string) *ProjectsLocationsQueuesTasksListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// ResponseView sets the optional parameter "responseView": The +// response_view specifies which subset of the Task will +// be +// returned. +// +// By default response_view is Task.View.BASIC; not all +// information is retrieved by default because some data, such +// as +// payloads, might be desirable to return only when needed because +// of its large size or because of the sensitivity of data that +// it +// contains. +// +// Authorization for Task.View.FULL requires +// `cloudtasks.tasks.fullView` +// [Google IAM](/iam/) permission on the +// Task.name resource. +// +// Possible values: +// "VIEW_UNSPECIFIED" +// "BASIC" +// "FULL" +func (c *ProjectsLocationsQueuesTasksListCall) ResponseView(responseView string) *ProjectsLocationsQueuesTasksListCall { + c.urlParams_.Set("responseView", responseView) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsQueuesTasksListCall) Fields(s ...googleapi.Field) *ProjectsLocationsQueuesTasksListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsQueuesTasksListCall) IfNoneMatch(entityTag string) *ProjectsLocationsQueuesTasksListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsQueuesTasksListCall) Context(ctx context.Context) *ProjectsLocationsQueuesTasksListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsQueuesTasksListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsQueuesTasksListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta2/{+parent}/tasks") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudtasks.projects.locations.queues.tasks.list" call. +// Exactly one of *ListTasksResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListTasksResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsQueuesTasksListCall) Do(opts ...googleapi.CallOption) (*ListTasksResponse, 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, &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, err + } + ret := &ListTasksResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists the tasks in a queue.\n\nBy default response_view is Task.View.BASIC; not all\ninformation is retrieved by default due to performance\nconsiderations; ListTasksRequest.response_view controls the\nsubset of information which is returned.", + // "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks", + // "httpMethod": "GET", + // "id": "cloudtasks.projects.locations.queues.tasks.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "orderBy": { + // "description": "\nSort order used for the query. The fields supported for sorting\nare Task.schedule_time and PullMessage.tag. All results will be\nreturned in ascending order. The default ordering is by\nTask.schedule_time.", + // "location": "query", + // "type": "string" + // }, + // "pageSize": { + // "description": "Requested page size. Fewer tasks than requested might be returned.\n\nThe maximum page size is 1000. If unspecified, the page size will\nbe the maximum. Fewer tasks than requested might be returned,\neven if more tasks exist; use\nListTasksResponse.next_page_token to determine if more tasks\nexist.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "A token identifying the page of results to return.\n\nTo request the first page results, page_token must be empty. To\nrequest the next page of results, page_token must be the value of\nListTasksResponse.next_page_token returned from the previous\ncall to CloudTasks.ListTasks method.\n\nThe page token is valid for only 2 hours.", + // "format": "byte", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required.\n\nThe queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "responseView": { + // "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is Task.View.BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for Task.View.FULL requires `cloudtasks.tasks.fullView`\n[Google IAM](/iam/) permission on the\nTask.name resource.", + // "enum": [ + // "VIEW_UNSPECIFIED", + // "BASIC", + // "FULL" + // ], + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v2beta2/{+parent}/tasks", + // "response": { + // "$ref": "ListTasksResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// 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 *ProjectsLocationsQueuesTasksListCall) Pages(ctx context.Context, f func(*ListTasksResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "cloudtasks.projects.locations.queues.tasks.pull": + +type ProjectsLocationsQueuesTasksPullCall struct { + s *Service + name string + pulltasksrequest *PullTasksRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Pull: Pulls tasks from a pull queue and acquires a lease on them for +// a +// specified PullTasksRequest.lease_duration. +// +// This method is invoked by the lease holder to obtain the +// lease. The lease holder must acknowledge the task +// via +// CloudTasks.AcknowledgeTask after they have performed the +// work +// associated with the task. +// +// The payload is intended to store data that the lease holder needs +// to perform the work associated with the task. To return the +// payloads in the PullTasksResponse, set +// PullTasksRequest.response_view to Task.View.FULL. +func (r *ProjectsLocationsQueuesTasksService) Pull(name string, pulltasksrequest *PullTasksRequest) *ProjectsLocationsQueuesTasksPullCall { + c := &ProjectsLocationsQueuesTasksPullCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.pulltasksrequest = pulltasksrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsQueuesTasksPullCall) Fields(s ...googleapi.Field) *ProjectsLocationsQueuesTasksPullCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsQueuesTasksPullCall) Context(ctx context.Context) *ProjectsLocationsQueuesTasksPullCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsQueuesTasksPullCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsQueuesTasksPullCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.pulltasksrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta2/{+name}/tasks:pull") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudtasks.projects.locations.queues.tasks.pull" call. +// Exactly one of *PullTasksResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *PullTasksResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsQueuesTasksPullCall) Do(opts ...googleapi.CallOption) (*PullTasksResponse, 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, &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, err + } + ret := &PullTasksResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Pulls tasks from a pull queue and acquires a lease on them for a\nspecified PullTasksRequest.lease_duration.\n\nThis method is invoked by the lease holder to obtain the\nlease. The lease holder must acknowledge the task via\nCloudTasks.AcknowledgeTask after they have performed the work\nassociated with the task.\n\nThe payload is intended to store data that the lease holder needs\nto perform the work associated with the task. To return the\npayloads in the PullTasksResponse, set\nPullTasksRequest.response_view to Task.View.FULL.", + // "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks:pull", + // "httpMethod": "POST", + // "id": "cloudtasks.projects.locations.queues.tasks.pull", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required.\n\nThe queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2beta2/{+name}/tasks:pull", + // "request": { + // "$ref": "PullTasksRequest" + // }, + // "response": { + // "$ref": "PullTasksResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "cloudtasks.projects.locations.queues.tasks.renewLease": + +type ProjectsLocationsQueuesTasksRenewLeaseCall struct { + s *Service + name string + renewleaserequest *RenewLeaseRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// RenewLease: Renew the current lease of a pull task. +// +// The lease holder can use this method to extend the lease by a +// new +// duration, starting from now. The new task lease will be +// returned in Task.schedule_time. +func (r *ProjectsLocationsQueuesTasksService) RenewLease(name string, renewleaserequest *RenewLeaseRequest) *ProjectsLocationsQueuesTasksRenewLeaseCall { + c := &ProjectsLocationsQueuesTasksRenewLeaseCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.renewleaserequest = renewleaserequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsQueuesTasksRenewLeaseCall) Fields(s ...googleapi.Field) *ProjectsLocationsQueuesTasksRenewLeaseCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsQueuesTasksRenewLeaseCall) Context(ctx context.Context) *ProjectsLocationsQueuesTasksRenewLeaseCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsQueuesTasksRenewLeaseCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsQueuesTasksRenewLeaseCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.renewleaserequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta2/{+name}:renewLease") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudtasks.projects.locations.queues.tasks.renewLease" call. +// Exactly one of *Task or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Task.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *ProjectsLocationsQueuesTasksRenewLeaseCall) Do(opts ...googleapi.CallOption) (*Task, 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, &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, err + } + ret := &Task{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Renew the current lease of a pull task.\n\nThe lease holder can use this method to extend the lease by a new\nduration, starting from now. The new task lease will be\nreturned in Task.schedule_time.", + // "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}:renewLease", + // "httpMethod": "POST", + // "id": "cloudtasks.projects.locations.queues.tasks.renewLease", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required.\n\nThe task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2beta2/{+name}:renewLease", + // "request": { + // "$ref": "RenewLeaseRequest" + // }, + // "response": { + // "$ref": "Task" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "cloudtasks.projects.locations.queues.tasks.run": + +type ProjectsLocationsQueuesTasksRunCall struct { + s *Service + name string + runtaskrequest *RunTaskRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Run: Forces a task to run now. +// +// This command is meant to be used for manual debugging. For +// example, CloudTasks.RunTask can be used to retry a failed +// task after a fix has been made or to manually force a task to +// be +// dispatched now. +// +// When this method is called, Cloud Tasks will dispatch the task to +// its +// target, even if the queue is Queue.QueueState.PAUSED. +// +// The dispatched task is returned. That is, the task that is +// returned +// contains the Task.task_status after the task is dispatched but +// before the task is received by its target. +// +// If Cloud Tasks receives a successful response from the +// task's +// handler, then the task will be deleted; otherwise the +// task's +// Task.schedule_time will be reset to the time that +// CloudTasks.RunTask was called plus the retry delay specified +// in the queue and task's RetryConfig. +// +// CloudTasks.RunTask returns google.rpc.Code.NOT_FOUND when +// it is called on a task that has already succeeded or +// permanently +// failed. google.rpc.Code.FAILED_PRECONDITION is returned +// when +// CloudTasks.RunTask is called on task that is dispatched or +// already running. +func (r *ProjectsLocationsQueuesTasksService) Run(name string, runtaskrequest *RunTaskRequest) *ProjectsLocationsQueuesTasksRunCall { + c := &ProjectsLocationsQueuesTasksRunCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.runtaskrequest = runtaskrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsQueuesTasksRunCall) Fields(s ...googleapi.Field) *ProjectsLocationsQueuesTasksRunCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsQueuesTasksRunCall) Context(ctx context.Context) *ProjectsLocationsQueuesTasksRunCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsQueuesTasksRunCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsQueuesTasksRunCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.runtaskrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta2/{+name}:run") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudtasks.projects.locations.queues.tasks.run" call. +// Exactly one of *Task or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Task.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *ProjectsLocationsQueuesTasksRunCall) Do(opts ...googleapi.CallOption) (*Task, 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, &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, err + } + ret := &Task{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Forces a task to run now.\n\nThis command is meant to be used for manual debugging. For\nexample, CloudTasks.RunTask can be used to retry a failed\ntask after a fix has been made or to manually force a task to be\ndispatched now.\n\nWhen this method is called, Cloud Tasks will dispatch the task to its\ntarget, even if the queue is Queue.QueueState.PAUSED.\n\nThe dispatched task is returned. That is, the task that is returned\ncontains the Task.task_status after the task is dispatched but\nbefore the task is received by its target.\n\nIf Cloud Tasks receives a successful response from the task's\nhandler, then the task will be deleted; otherwise the task's\nTask.schedule_time will be reset to the time that\nCloudTasks.RunTask was called plus the retry delay specified\nin the queue and task's RetryConfig.\n\nCloudTasks.RunTask returns google.rpc.Code.NOT_FOUND when\nit is called on a task that has already succeeded or permanently\nfailed. google.rpc.Code.FAILED_PRECONDITION is returned when\nCloudTasks.RunTask is called on task that is dispatched or\nalready running.", + // "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}:run", + // "httpMethod": "POST", + // "id": "cloudtasks.projects.locations.queues.tasks.run", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required.\n\nThe task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2beta2/{+name}:run", + // "request": { + // "$ref": "RunTaskRequest" + // }, + // "response": { + // "$ref": "Task" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} diff --git a/vendor/google.golang.org/api/cloudtrace/v1/cloudtrace-api.json b/vendor/google.golang.org/api/cloudtrace/v1/cloudtrace-api.json index 6a38d72ea..40b921462 100644 --- a/vendor/google.golang.org/api/cloudtrace/v1/cloudtrace-api.json +++ b/vendor/google.golang.org/api/cloudtrace/v1/cloudtrace-api.json @@ -1,14 +1,63 @@ { - "kind": "discovery#restDescription", - "servicePath": "", - "description": "Send and retrieve trace data from Stackdriver Trace. Data is generated and available by default for all App Engine applications. Data from other applications can be written to Stackdriver Trace for display, reporting, and analysis.\n", "basePath": "", - "revision": "20170626", + "revision": "20170927", "documentationLink": "https://cloud.google.com/trace", "id": "cloudtrace:v1", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { + "TraceSpan": { + "id": "TraceSpan", + "description": "A span represents a single timed event within a trace. Spans can be nested\nand form a trace tree. Often, a trace contains a root span that describes the\nend-to-end latency of an operation and, optionally, one or more subspans for\nits suboperations. Spans do not need to be contiguous. There may be gaps\nbetween spans in a trace.", + "type": "object", + "properties": { + "spanId": { + "format": "uint64", + "description": "Identifier for the span. Must be a 64-bit integer other than 0 and\nunique within a trace.", + "type": "string" + }, + "parentSpanId": { + "format": "uint64", + "description": "ID of the parent span, if any. Optional.", + "type": "string" + }, + "endTime": { + "format": "google-datetime", + "description": "End time of the span in nanoseconds from the UNIX epoch.", + "type": "string" + }, + "startTime": { + "format": "google-datetime", + "description": "Start time of the span in nanoseconds from the UNIX epoch.", + "type": "string" + }, + "kind": { + "enum": [ + "SPAN_KIND_UNSPECIFIED", + "RPC_SERVER", + "RPC_CLIENT" + ], + "description": "Distinguishes between spans generated in a particular context. For example,\ntwo spans with the same name may be distinguished using `RPC_CLIENT`\nand `RPC_SERVER` to identify queueing latency associated with the span.", + "type": "string", + "enumDescriptions": [ + "Unspecified.", + "Indicates that the span covers server-side handling of an RPC or other\nremote network request.", + "Indicates that the span covers the client-side wrapper around an RPC or\nother remote request." + ] + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Collection of labels associated with the span. Label keys must be less than\n128 bytes. Label values must be less than 16 kilobytes (10MB for\n`/stacktrace` values).\n\nSome predefined label keys exist, or you may create your own. When creating\nyour own, we recommend the following formats:\n\n* `/category/product/key` for agents of well-known products (e.g.\n `/db/mongodb/read_size`).\n* `short_host/path/key` for domain-specific keys (e.g.\n `foo.com/myproduct/bar`)\n\nPredefined labels include:\n\n* `/agent`\n* `/component`\n* `/error/message`\n* `/error/name`\n* `/http/client_city`\n* `/http/client_country`\n* `/http/client_protocol`\n* `/http/client_region`\n* `/http/host`\n* `/http/method`\n* `/http/redirected_url`\n* `/http/request/size`\n* `/http/response/size`\n* `/http/status_code`\n* `/http/url`\n* `/http/user_agent`\n* `/pid`\n* `/stacktrace`\n* `/tid`", + "type": "object" + }, + "name": { + "description": "Name of the span. Must be less than 128 bytes. The span name is sanitized\nand displayed in the Stackdriver Trace tool in the\n{% dynamic print site_values.console_name %}.\nThe name may be a method name or some other per-call site name.\nFor the same executable and the same call point, a best practice is\nto use a consistent name, which makes it easier to correlate\ncross-trace spans.", + "type": "string" + } + } + }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", "type": "object", @@ -16,8 +65,6 @@ "id": "Empty" }, "ListTracesResponse": { - "description": "The response message for the `ListTraces` method.", - "type": "object", "properties": { "nextPageToken": { "description": "If defined, indicates that there are more traces that match the request\nand that this value should be passed to the next request to continue\nretrieving additional traces.", @@ -31,7 +78,9 @@ "type": "array" } }, - "id": "ListTracesResponse" + "id": "ListTracesResponse", + "description": "The response message for the `ListTraces` method.", + "type": "object" }, "Trace": { "description": "A trace describes how long it takes for an application to perform an\noperation. It consists of a set of spans, each of which represent a single\ntimed event within the operation.", @@ -45,12 +94,12 @@ "type": "array" }, "projectId": { - "type": "string", - "description": "Project ID of the Cloud project where the trace data is stored." + "description": "Project ID of the Cloud project where the trace data is stored.", + "type": "string" }, "traceId": { - "description": "Globally unique identifier for the trace. This identifier is a 128-bit\nnumeric value formatted as a 32-byte hex string.", - "type": "string" + "type": "string", + "description": "Globally unique identifier for the trace. This identifier is a 128-bit\nnumeric value formatted as a 32-byte hex string." } }, "id": "Trace" @@ -68,77 +117,25 @@ } }, "id": "Traces" - }, - "TraceSpan": { - "type": "object", - "properties": { - "startTime": { - "format": "google-datetime", - "description": "Start time of the span in nanoseconds from the UNIX epoch.", - "type": "string" - }, - "kind": { - "enumDescriptions": [ - "Unspecified.", - "Indicates that the span covers server-side handling of an RPC or other\nremote network request.", - "Indicates that the span covers the client-side wrapper around an RPC or\nother remote request." - ], - "enum": [ - "SPAN_KIND_UNSPECIFIED", - "RPC_SERVER", - "RPC_CLIENT" - ], - "description": "Distinguishes between spans generated in a particular context. For example,\ntwo spans with the same name may be distinguished using `RPC_CLIENT`\nand `RPC_SERVER` to identify queueing latency associated with the span.", - "type": "string" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Collection of labels associated with the span. Label keys must be less than\n128 bytes. Label values must be less than 16 kilobytes (10MB for\n`/stacktrace` values).\n\nSome predefined label keys exist, or you may create your own. When creating\nyour own, we recommend the following formats:\n\n* `/category/product/key` for agents of well-known products (e.g.\n `/db/mongodb/read_size`).\n* `short_host/path/key` for domain-specific keys (e.g.\n `foo.com/myproduct/bar`)\n\nPredefined labels include:\n\n* `/agent`\n* `/component`\n* `/error/message`\n* `/error/name`\n* `/http/client_city`\n* `/http/client_country`\n* `/http/client_protocol`\n* `/http/client_region`\n* `/http/host`\n* `/http/method`\n* `/http/redirected_url`\n* `/http/request/size`\n* `/http/response/size`\n* `/http/status_code`\n* `/http/url`\n* `/http/user_agent`\n* `/pid`\n* `/stacktrace`\n* `/tid`", - "type": "object" - }, - "name": { - "type": "string", - "description": "Name of the span. Must be less than 128 bytes. The span name is sanitized\nand displayed in the Stackdriver Trace tool in the\n{% dynamic print site_values.console_name %}.\nThe name may be a method name or some other per-call site name.\nFor the same executable and the same call point, a best practice is\nto use a consistent name, which makes it easier to correlate\ncross-trace spans." - }, - "spanId": { - "format": "uint64", - "description": "Identifier for the span. Must be a 64-bit integer other than 0 and\nunique within a trace.", - "type": "string" - }, - "parentSpanId": { - "format": "uint64", - "description": "ID of the parent span, if any. Optional.", - "type": "string" - }, - "endTime": { - "format": "google-datetime", - "description": "End time of the span in nanoseconds from the UNIX epoch.", - "type": "string" - } - }, - "id": "TraceSpan", - "description": "A span represents a single timed event within a trace. Spans can be nested\nand form a trace tree. Often, a trace contains a root span that describes the\nend-to-end latency of an operation and, optionally, one or more subspans for\nits suboperations. Spans do not need to be contiguous. There may be gaps\nbetween spans in a trace." } }, - "protocol": "rest", "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" }, + "protocol": "rest", "canonicalName": "Cloud Trace", "auth": { "oauth2": { "scopes": { + "https://www.googleapis.com/auth/trace.append": { + "description": "Write Trace data for a project or application" + }, "https://www.googleapis.com/auth/cloud-platform": { "description": "View and manage your data across Google Cloud Platform services" }, "https://www.googleapis.com/auth/trace.readonly": { "description": "Read Trace data for a project or application" - }, - "https://www.googleapis.com/auth/trace.append": { - "description": "Write Trace data for a project or application" } } } @@ -147,16 +144,24 @@ "ownerDomain": "google.com", "name": "cloudtrace", "batchPath": "batch", + "fullyEncodeReservedExpansion": true, "title": "Stackdriver Trace API", "ownerName": "Google", "resources": { "projects": { "methods": { "patchTraces": { - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/trace.append" + "description": "Sends new traces to Stackdriver Trace or updates existing traces. If the ID\nof a trace that you send matches that of an existing trace, any fields\nin the existing trace and its spans are overwritten by the provided values,\nand any new fields provided are merged with the existing trace data. If the\nID does not match, a new trace is created.", + "request": { + "$ref": "Traces" + }, + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "projectId" ], + "httpMethod": "PATCH", "parameters": { "projectId": { "location": "path", @@ -165,30 +170,21 @@ "required": true } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/trace.append" + ], "flatPath": "v1/projects/{projectId}/traces", "id": "cloudtrace.projects.patchTraces", - "path": "v1/projects/{projectId}/traces", - "request": { - "$ref": "Traces" - }, - "description": "Sends new traces to Stackdriver Trace or updates existing traces. If the ID\nof a trace that you send matches that of an existing trace, any fields\nin the existing trace and its spans are overwritten by the provided values,\nand any new fields provided are merged with the existing trace data. If the\nID does not match, a new trace is created.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "projectId" - ], - "httpMethod": "PATCH" + "path": "v1/projects/{projectId}/traces" } }, "resources": { "traces": { "methods": { "get": { - "flatPath": "v1/projects/{projectId}/traces/{traceId}", - "id": "cloudtrace.projects.traces.get", - "path": "v1/projects/{projectId}/traces/{traceId}", "description": "Gets a single trace by its ID.", + "httpMethod": "GET", "response": { "$ref": "Trace" }, @@ -196,13 +192,16 @@ "projectId", "traceId" ], - "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/trace.readonly" + ], "parameters": { "projectId": { - "type": "string", - "required": true, "location": "path", - "description": "ID of the Cloud project where the trace data is stored." + "description": "ID of the Cloud project where the trace data is stored.", + "type": "string", + "required": true }, "traceId": { "location": "path", @@ -211,29 +210,20 @@ "required": true } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/trace.readonly" - ] + "flatPath": "v1/projects/{projectId}/traces/{traceId}", + "path": "v1/projects/{projectId}/traces/{traceId}", + "id": "cloudtrace.projects.traces.get" }, "list": { - "description": "Returns of a list of traces that match the specified filter conditions.", - "response": { - "$ref": "ListTracesResponse" - }, - "parameterOrder": [ - "projectId" - ], - "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/trace.readonly" ], "parameters": { "orderBy": { - "location": "query", "description": "Field used to sort the returned traces. Optional.\nCan be one of the following:\n\n* `trace_id`\n* `name` (`name` field of root span in the trace)\n* `duration` (difference between `end_time` and `start_time` fields of\n the root span)\n* `start` (`start_time` field of the root span)\n\nDescending order can be specified by appending `desc` to the sort field\n(for example, `name desc`).\n\nOnly one sort field is permitted.", - "type": "string" + "type": "string", + "location": "query" }, "projectId": { "location": "path", @@ -242,32 +232,32 @@ "required": true }, "filter": { - "location": "query", "description": "An optional filter against labels for the request.\n\nBy default, searches use prefix matching. To specify exact match, prepend\na plus symbol (`+`) to the search term.\nMultiple terms are ANDed. Syntax:\n\n* `root:NAME_PREFIX` or `NAME_PREFIX`: Return traces where any root\n span starts with `NAME_PREFIX`.\n* `+root:NAME` or `+NAME`: Return traces where any root span's name is\n exactly `NAME`.\n* `span:NAME_PREFIX`: Return traces where any span starts with\n `NAME_PREFIX`.\n* `+span:NAME`: Return traces where any span's name is exactly\n `NAME`.\n* `latency:DURATION`: Return traces whose overall latency is\n greater or equal to than `DURATION`. Accepted units are nanoseconds\n (`ns`), milliseconds (`ms`), and seconds (`s`). Default is `ms`. For\n example, `latency:24ms` returns traces whose overall latency\n is greater than or equal to 24 milliseconds.\n* `label:LABEL_KEY`: Return all traces containing the specified\n label key (exact match, case-sensitive) regardless of the key:value\n pair's value (including empty values).\n* `LABEL_KEY:VALUE_PREFIX`: Return all traces containing the specified\n label key (exact match, case-sensitive) whose value starts with\n `VALUE_PREFIX`. Both a key and a value must be specified.\n* `+LABEL_KEY:VALUE`: Return all traces containing a key:value pair\n exactly matching the specified text. Both a key and a value must be\n specified.\n* `method:VALUE`: Equivalent to `/http/method:VALUE`.\n* `url:VALUE`: Equivalent to `/http/url:VALUE`.", - "type": "string" - }, - "endTime": { - "format": "google-datetime", - "description": "End of the time interval (inclusive) during which the trace data was\ncollected from the application.", "type": "string", "location": "query" }, - "startTime": { - "type": "string", + "endTime": { "location": "query", "format": "google-datetime", - "description": "Start of the time interval (inclusive) during which the trace data was\ncollected from the application." + "description": "End of the time interval (inclusive) during which the trace data was\ncollected from the application.", + "type": "string" }, "pageToken": { "description": "Token identifying the page of results to return. If provided, use the\nvalue of the `next_page_token` field from a previous request. Optional.", "type": "string", "location": "query" }, + "startTime": { + "location": "query", + "format": "google-datetime", + "description": "Start of the time interval (inclusive) during which the trace data was\ncollected from the application.", + "type": "string" + }, "pageSize": { - "type": "integer", "location": "query", "format": "int32", - "description": "Maximum number of traces to return. If not specified or \u003c= 0, the\nimplementation selects a reasonable value. The implementation may\nreturn fewer traces than the requested page size. Optional." + "description": "Maximum number of traces to return. If not specified or \u003c= 0, the\nimplementation selects a reasonable value. The implementation may\nreturn fewer traces than the requested page size. Optional.", + "type": "integer" }, "view": { "location": "query", @@ -282,8 +272,16 @@ } }, "flatPath": "v1/projects/{projectId}/traces", + "path": "v1/projects/{projectId}/traces", "id": "cloudtrace.projects.traces.list", - "path": "v1/projects/{projectId}/traces" + "description": "Returns of a list of traces that match the specified filter conditions.", + "httpMethod": "GET", + "response": { + "$ref": "ListTracesResponse" + }, + "parameterOrder": [ + "projectId" + ] } } } @@ -291,26 +289,36 @@ } }, "parameters": { - "quotaUser": { + "access_token": { "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "description": "OAuth access token.", "type": "string" }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" + }, "pp": { + "location": "query", "description": "Pretty-print response.", "default": "true", - "type": "boolean", - "location": "query" + "type": "boolean" }, "bearer_token": { - "type": "string", "location": "query", - "description": "OAuth bearer token." + "description": "OAuth bearer token.", + "type": "string" }, "oauth_token": { + "location": "query", "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" + "type": "string" }, "upload_protocol": { "location": "query", @@ -318,10 +326,10 @@ "type": "string" }, "prettyPrint": { - "location": "query", - "description": "Returns response with indentations and line breaks.", "default": "true", - "type": "boolean" + "type": "boolean", + "location": "query", + "description": "Returns response with indentations and line breaks." }, "uploadType": { "location": "query", @@ -334,7 +342,6 @@ "type": "string" }, "$.xgafv": { - "type": "string", "enumDescriptions": [ "v1 error format", "v2 error format" @@ -344,12 +351,13 @@ "1", "2" ], - "description": "V1 error format." + "description": "V1 error format.", + "type": "string" }, "callback": { - "location": "query", "description": "JSONP", - "type": "string" + "type": "string", + "location": "query" }, "alt": { "enum": [ @@ -366,18 +374,11 @@ "location": "query", "description": "Data format for response.", "default": "json" - }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, - "access_token": { - "description": "OAuth access token.", - "type": "string", - "location": "query" } }, "version": "v1", - "baseUrl": "https://cloudtrace.googleapis.com/" + "baseUrl": "https://cloudtrace.googleapis.com/", + "servicePath": "", + "description": "Send and retrieve trace data from Stackdriver Trace. Data is generated and available by default for all App Engine applications. Data from other applications can be written to Stackdriver Trace for display, reporting, and analysis.\n", + "kind": "discovery#restDescription" } diff --git a/vendor/google.golang.org/api/cloudtrace/v2/cloudtrace-api.json b/vendor/google.golang.org/api/cloudtrace/v2/cloudtrace-api.json index d97a36183..0e3c46f30 100644 --- a/vendor/google.golang.org/api/cloudtrace/v2/cloudtrace-api.json +++ b/vendor/google.golang.org/api/cloudtrace/v2/cloudtrace-api.json @@ -1,133 +1,29 @@ { - "revision": "20170626", - "documentationLink": "https://cloud.google.com/trace", + "basePath": "", "id": "cloudtrace:v2", + "documentationLink": "https://cloud.google.com/trace", + "revision": "20170927", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { - "Trace": { - "id": "Trace", - "description": "A trace describes how long it takes for an application to perform some\noperations. It consists of a set of spans, each representing\nan operation and including time information and operation details.", + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The resource name of the trace in the following format:\n\n projects/[PROJECT_ID]/traces/TRACE_ID is a unique identifier for a trace within a project.\nThe ID is assigned when the trace is created." - } - } - }, - "TimeEvents": { - "description": "A collection of `TimeEvent`s. A `TimeEvent` is a time-stamped annotation\non the span, consisting of either user-supplied key:value pairs, or\ndetails of an RPC message sent/received on the network.", - "type": "object", - "properties": { - "droppedAnnotationsCount": { - "format": "int32", - "description": "The number of dropped annotations in all the included time events.\nIf the value is 0, then no annotations were dropped.", - "type": "integer" - }, - "timeEvent": { - "description": "A collection of `TimeEvent`s.", - "items": { - "$ref": "TimeEvent" - }, - "type": "array" - }, - "droppedNetworkEventsCount": { - "format": "int32", - "description": "The number of dropped network events in all the included time events.\nIf the value is 0, then no network events were dropped.", - "type": "integer" - } - }, - "id": "TimeEvents" - }, - "Module": { - "description": "Binary module.", - "type": "object", - "properties": { - "module": { - "$ref": "TruncatableString", - "description": "For example: main binary, kernel modules, and dynamic libraries\nsuch as libc.so, sharedlib.so (up to 256 bytes)." - }, - "buildId": { - "$ref": "TruncatableString", - "description": "A unique identifier for the module, usually a hash of its\ncontents (up to 128 bytes)." - } - }, - "id": "Module" - }, - "Status": { - "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", - "type": "object", - "properties": { - "code": { - "format": "int32", - "description": "The status code, which should be an enum value of google.rpc.Code.", - "type": "integer" - }, - "message": { - "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", - "type": "string" - }, - "details": { - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", - "items": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "type": "object" - }, - "type": "array" - } - }, - "id": "Status" - }, - "BatchWriteSpansRequest": { - "properties": { - "spans": { - "description": "A collection of spans.", - "items": { - "$ref": "Span" - }, - "type": "array" - } - }, - "id": "BatchWriteSpansRequest", - "description": "The request message for the `BatchWriteSpans` method.", - "type": "object" + "properties": {}, + "id": "Empty" }, "Span": { + "description": "A span represents a single operation within a trace. Spans can be\nnested to form a trace tree. Often, a trace contains a root span\nthat describes the end-to-end latency, and one or more subspans for\nits sub-operations. A trace can also contain multiple root spans,\nor none at all. Spans do not need to be contiguous—there may be\ngaps or overlaps between spans in a trace.", "type": "object", "properties": { - "childSpanCount": { - "format": "uint32", - "description": "An optional number of child spans that were generated while this span\nwas active. If set, allows implementation to detect missing child spans.", - "type": "integer" - }, - "sameProcessAsParentSpan": { - "description": "A highly recommended but not required flag that identifies when a trace\ncrosses a process boundary. True when the parent_span belongs to the\nsame process as the current span.", - "type": "boolean" - }, - "status": { - "$ref": "Status", - "description": "An optional final status for this span." - }, - "name": { - "description": "The resource name of the span in the following format:\n\n projects/[PROJECT_ID]traces/[TRACE_ID]/spans/SPAN_ID is a unique identifier for a trace within a project.\n[SPAN_ID] is a unique identifier for a span within a trace,\nassigned when the span is created.", - "type": "string" - }, - "stackTrace": { - "$ref": "StackTrace", - "description": "Stack trace captured at the start of the span." - }, "parentSpanId": { "description": "The [SPAN_ID] of this span's parent span. If this is a root span,\nthen this field must be empty.", "type": "string" }, "endTime": { - "type": "string", "format": "google-datetime", - "description": "The end time of the span. On the client side, this is the time kept by\nthe local machine where the span execution ends. On the server side, this\nis the time when the server application handler stops running." + "description": "The end time of the span. On the client side, this is the time kept by\nthe local machine where the span execution ends. On the server side, this\nis the time when the server application handler stops running.", + "type": "string" }, "startTime": { "format": "google-datetime", @@ -147,50 +43,41 @@ "description": "A maximum of 128 links are allowed per Span." }, "attributes": { - "$ref": "Attributes", - "description": "A set of attributes on the span. There is a limit of 32 attributes per\nspan." + "description": "A set of attributes on the span. There is a limit of 32 attributes per\nspan.", + "$ref": "Attributes" }, "spanId": { "description": "The [SPAN_ID] portion of the span's resource name.", "type": "string" - } - }, - "id": "Span", - "description": "A span represents a single operation within a trace. Spans can be\nnested to form a trace tree. Often, a trace contains a root span\nthat describes the end-to-end latency, and one or more subspans for\nits sub-operations. A trace can also contain multiple root spans,\nor none at all. Spans do not need to be contiguous—there may be\ngaps or overlaps between spans in a trace." - }, - "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", - "type": "object", - "properties": {}, - "id": "Empty" - }, - "ListTracesResponse": { - "description": "The response message for the `ListTraces` method.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "If there might be more results than those appearing in this response, then\n`next_page_token` is included. To get the next set of results, call this\nmethod again using the value of `next_page_token` as `page_token`.", + }, + "childSpanCount": { + "format": "uint32", + "description": "An optional number of child spans that were generated while this span\nwas active. If set, allows implementation to detect missing child spans.", + "type": "integer" + }, + "sameProcessAsParentSpan": { + "description": "A highly recommended but not required flag that identifies when a trace\ncrosses a process boundary. True when the parent_span belongs to the\nsame process as the current span.", + "type": "boolean" + }, + "status": { + "$ref": "Status", + "description": "An optional final status for this span." + }, + "name": { + "description": "The resource name of the span in the following format:\n\n projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/SPAN_ID is a unique identifier for a trace within a project.\n[SPAN_ID] is a unique identifier for a span within a trace,\nassigned when the span is created.", "type": "string" }, - "traces": { - "items": { - "$ref": "Trace" - }, - "type": "array", - "description": "List of trace records returned." + "stackTrace": { + "$ref": "StackTrace", + "description": "Stack trace captured at the start of the span." } }, - "id": "ListTracesResponse" + "id": "Span" }, "AttributeValue": { "description": "The allowed types for [VALUE] in a `[KEY]:[VALUE]` attribute.", "type": "object", "properties": { - "intValue": { - "format": "int64", - "description": "A 64-bit signed integer.", - "type": "string" - }, "boolValue": { "description": "A Boolean value represented by `true` or `false`.", "type": "boolean" @@ -198,6 +85,11 @@ "stringValue": { "$ref": "TruncatableString", "description": "A string up to 256 bytes long." + }, + "intValue": { + "format": "int64", + "description": "A 64-bit signed integer.", + "type": "string" } }, "id": "AttributeValue" @@ -212,16 +104,17 @@ "type": "integer" }, "attributeMap": { - "description": "The set of attributes. Each attribute's key can be up to 128 bytes\nlong. The value can be a string up to 256 bytes, an integer, or the\nBoolean values `true` and `false`. For example:\n\n \"/instance_id\": \"my-instance\"\n \"/http/user_agent\": \"\"\n \"/http/request_bytes\": 300\n \"abc.com/myattribute\": true", - "type": "object", "additionalProperties": { "$ref": "AttributeValue" - } + }, + "description": "The set of attributes. Each attribute's key can be up to 128 bytes\nlong. The value can be a string up to 256 bytes, an integer, or the\nBoolean values `true` and `false`. For example:\n\n \"/instance_id\": \"my-instance\"\n \"/http/user_agent\": \"\"\n \"/http/request_bytes\": 300\n \"abc.com/myattribute\": true", + "type": "object" } }, "id": "Attributes" }, "Links": { + "description": "A collection of links, which are references from this span to a span\nin the same or different trace.", "type": "object", "properties": { "droppedLinksCount": { @@ -237,8 +130,23 @@ "type": "array" } }, - "id": "Links", - "description": "A collection of links, which are references from this span to a span\nin the same or different trace." + "id": "Links" + }, + "StackTrace": { + "description": "A call stack appearing in a trace.", + "type": "object", + "properties": { + "stackTraceHashId": { + "format": "uint64", + "description": "The hash ID is used to conserve network bandwidth for duplicate\nstack traces within a single trace.\n\nOften multiple spans will have identical stack traces.\nThe first occurrence of a stack trace should contain both the\n`stackFrame` content and a value in `stackTraceHashId`.\n\nSubsequent spans within the same request can refer\nto that stack trace by only setting `stackTraceHashId`.", + "type": "string" + }, + "stackFrames": { + "description": "Stack frames in this stack trace. A maximum of 128 frames are allowed.", + "$ref": "StackFrames" + } + }, + "id": "StackTrace" }, "TruncatableString": { "description": "Represents a string that might be shortened to a specified length.", @@ -256,43 +164,28 @@ }, "id": "TruncatableString" }, - "StackTrace": { - "properties": { - "stackTraceHashId": { - "format": "uint64", - "description": "The hash ID is used to conserve network bandwidth for duplicate\nstack traces within a single trace.\n\nOften multiple spans will have identical stack traces.\nThe first occurrence of a stack trace should contain both the\n`stackFrame` content and a value in `stackTraceHashId`.\n\nSubsequent spans within the same request can refer\nto that stack trace by only setting `stackTraceHashId`.", - "type": "string" - }, - "stackFrames": { - "description": "Stack frames in this stack trace. A maximum of 128 frames are allowed.", - "$ref": "StackFrames" - } - }, - "id": "StackTrace", - "description": "A call stack appearing in a trace.", - "type": "object" - }, "TimeEvent": { + "description": "A time-stamped annotation or network event in the Span.", "type": "object", "properties": { - "networkEvent": { - "$ref": "NetworkEvent", - "description": "An event describing an RPC message sent/received on the network." - }, "annotation": { "$ref": "Annotation", - "description": "One or more key:value pairs." + "description": "Text annotation with a set of attributes." }, "time": { "format": "google-datetime", "description": "The timestamp indicating the time the event occurred.", "type": "string" + }, + "networkEvent": { + "$ref": "NetworkEvent", + "description": "An event describing an RPC message sent/received on the network." } }, - "id": "TimeEvent", - "description": "A time-stamped annotation or network event in the Span." + "id": "TimeEvent" }, "NetworkEvent": { + "description": "An event describing an RPC message sent or received on the network.", "type": "object", "properties": { "time": { @@ -300,64 +193,46 @@ "description": "For sent messages, this is the time at which the first bit was sent.\nFor received messages, this is the time at which the last bit was\nreceived.", "type": "string" }, + "uncompressedMessageSize": { + "format": "uint64", + "description": "The number of uncompressed bytes sent or received.", + "type": "string" + }, "type": { + "enumDescriptions": [ + "Unknown event type.", + "Indicates a sent RPC message.", + "Indicates a received RPC message." + ], "enum": [ "TYPE_UNSPECIFIED", "SENT", "RECV" ], "description": "Type of NetworkEvent. Indicates whether the RPC message was sent or\nreceived.", - "type": "string", - "enumDescriptions": [ - "Unknown event type.", - "Indicates a sent RPC message.", - "Indicates a received RPC message." - ] + "type": "string" }, "messageId": { "format": "uint64", "description": "An identifier for the message, which must be unique in this span.", "type": "string" }, - "messageSize": { + "compressedMessageSize": { "format": "uint64", - "description": "The number of bytes sent or received.", + "description": "The number of compressed bytes sent or received.", "type": "string" } }, - "id": "NetworkEvent", - "description": "An event describing an RPC message sent or received on the network." - }, - "ListSpansResponse": { - "id": "ListSpansResponse", - "description": "The response message for the `ListSpans` method.", - "type": "object", - "properties": { - "spans": { - "description": "The requested spans, if there are any in the specified trace.", - "items": { - "$ref": "Span" - }, - "type": "array" - }, - "nextPageToken": { - "description": "If defined, indicates that there might be more spans that match the\nrequest. Pass this as the value of `pageToken` in a subsequent request to\nretrieve additional spans.", - "type": "string" - } - } + "id": "NetworkEvent" }, "StackFrame": { "description": "Represents a single stack frame in a stack trace.", "type": "object", "properties": { - "functionName": { - "$ref": "TruncatableString", - "description": "The fully-qualified name that uniquely identifies the function or\nmethod that is active in this frame (up to 1024 bytes)." - }, "lineNumber": { - "type": "string", "format": "int64", - "description": "The line number in `file_name` where the function call appears." + "description": "The line number in `file_name` where the function call appears.", + "type": "string" }, "loadModule": { "$ref": "Module", @@ -379,32 +254,35 @@ "originalFunctionName": { "$ref": "TruncatableString", "description": "An un-mangled function name, if `function_name` is\n[mangled](http://www.avabodh.com/cxxin/namemangling.html). The name can\nbe fully-qualified (up to 1024 bytes)." + }, + "functionName": { + "$ref": "TruncatableString", + "description": "The fully-qualified name that uniquely identifies the function or\nmethod that is active in this frame (up to 1024 bytes)." } }, "id": "StackFrame" }, "Link": { - "id": "Link", "description": "A pointer from the current span to another span in the same trace or in a\ndifferent trace. For example, this can be used in batching operations,\nwhere a single batch handler processes multiple requests from different\ntraces or when the handler receives a request from a different project.", "type": "object", "properties": { "type": { - "type": "string", "enumDescriptions": [ "The relationship of the two spans is unknown.", - "The current span is a child of the linked span.", - "The current span is the parent of the linked span." + "The linked span is a child of the current span.", + "The linked span is a parent of the current span." ], "enum": [ "TYPE_UNSPECIFIED", - "CHILD", - "PARENT" + "CHILD_LINKED_SPAN", + "PARENT_LINKED_SPAN" ], - "description": "The relationship of the current span relative to the linked span." + "description": "The relationship of the current span relative to the linked span.", + "type": "string" }, "attributes": { - "$ref": "Attributes", - "description": "A set of attributes on the link. There is a limit of 32 attributes per\nlink." + "description": "A set of attributes on the link. There is a limit of 32 attributes per\nlink.", + "$ref": "Attributes" }, "traceId": { "description": "`TRACE_ID` identifies a trace within a project.", @@ -414,15 +292,16 @@ "description": "`SPAN_ID` identifies a span within a trace.", "type": "string" } - } + }, + "id": "Link" }, "Annotation": { "description": "Text annotation with a set of attributes.", "type": "object", "properties": { "description": { - "$ref": "TruncatableString", - "description": "A user-supplied message describing the event. The maximum length for\nthe description is 256 bytes." + "description": "A user-supplied message describing the event. The maximum length for\nthe description is 256 bytes.", + "$ref": "TruncatableString" }, "attributes": { "description": "A set of attributes on the annotation. There is a limit of 4 attributes\nper Annotation.", @@ -432,29 +311,109 @@ "id": "Annotation" }, "StackFrames": { + "description": "A collection of stack frames, which can be truncated.", + "type": "object", "properties": { - "droppedFramesCount": { - "format": "int32", - "description": "The number of stack frames that were dropped because there\nwere too many stack frames.\nIf this value is 0, then no stack frames were dropped.", - "type": "integer" - }, "frame": { "description": "Stack frames in this call stack.", "items": { "$ref": "StackFrame" }, "type": "array" + }, + "droppedFramesCount": { + "format": "int32", + "description": "The number of stack frames that were dropped because there\nwere too many stack frames.\nIf this value is 0, then no stack frames were dropped.", + "type": "integer" } }, - "id": "StackFrames", - "description": "A collection of stack frames, which can be truncated.", - "type": "object" + "id": "StackFrames" + }, + "TimeEvents": { + "description": "A collection of `TimeEvent`s. A `TimeEvent` is a time-stamped annotation\non the span, consisting of either user-supplied key:value pairs, or\ndetails of an RPC message sent/received on the network.", + "type": "object", + "properties": { + "droppedNetworkEventsCount": { + "format": "int32", + "description": "The number of dropped network events in all the included time events.\nIf the value is 0, then no network events were dropped.", + "type": "integer" + }, + "droppedAnnotationsCount": { + "format": "int32", + "description": "The number of dropped annotations in all the included time events.\nIf the value is 0, then no annotations were dropped.", + "type": "integer" + }, + "timeEvent": { + "description": "A collection of `TimeEvent`s.", + "items": { + "$ref": "TimeEvent" + }, + "type": "array" + } + }, + "id": "TimeEvents" + }, + "Module": { + "description": "Binary module.", + "type": "object", + "properties": { + "module": { + "$ref": "TruncatableString", + "description": "For example: main binary, kernel modules, and dynamic libraries\nsuch as libc.so, sharedlib.so (up to 256 bytes)." + }, + "buildId": { + "description": "A unique identifier for the module, usually a hash of its\ncontents (up to 128 bytes).", + "$ref": "TruncatableString" + } + }, + "id": "Module" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", + "type": "object", + "properties": { + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "code": { + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "id": "Status" + }, + "BatchWriteSpansRequest": { + "description": "The request message for the `BatchWriteSpans` method.", + "type": "object", + "properties": { + "spans": { + "description": "A collection of spans.", + "items": { + "$ref": "Span" + }, + "type": "array" + } + }, + "id": "BatchWriteSpansRequest" } }, "protocol": "rest", "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" }, "canonicalName": "Cloud Trace", "auth": { @@ -465,9 +424,6 @@ }, "https://www.googleapis.com/auth/cloud-platform": { "description": "View and manage your data across Google Cloud Platform services" - }, - "https://www.googleapis.com/auth/trace.readonly": { - "description": "Read Trace data for a project or application" } } } @@ -476,49 +432,19 @@ "ownerDomain": "google.com", "name": "cloudtrace", "batchPath": "batch", + "fullyEncodeReservedExpansion": true, "title": "Stackdriver Trace API", "ownerName": "Google", "resources": { "projects": { "resources": { "traces": { - "resources": { - "spans": { - "methods": { - "create": { - "request": { - "$ref": "Span" - }, - "description": "Creates a new Span.", - "httpMethod": "PUT", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "Span" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/trace.append" - ], - "parameters": { - "name": { - "location": "path", - "description": "The resource name of the span in the following format:\n\n projects/[PROJECT_ID]traces/[TRACE_ID]/spans/SPAN_ID is a unique identifier for a trace within a project.\n[SPAN_ID] is a unique identifier for a span within a trace,\nassigned when the span is created.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/traces/[^/]+/spans/[^/]+$" - } - }, - "flatPath": "v2/projects/{projectsId}/traces/{tracesId}/spans/{spansId}", - "path": "v2/{+name}", - "id": "cloudtrace.projects.traces.spans.create" - } - } - } - }, "methods": { "batchWrite": { + "description": "Sends new spans to Stackdriver Trace or updates existing traces. If the\nname of a trace that you send matches that of an existing trace, new spans\nare added to the existing trace. Attempt to update existing spans results\nundefined behavior. If the name does not match, a new trace is created\nwith given set of spans.", + "request": { + "$ref": "BatchWriteSpansRequest" + }, "response": { "$ref": "Empty" }, @@ -526,116 +452,57 @@ "name" ], "httpMethod": "POST", + "parameters": { + "name": { + "location": "path", + "description": "Required. Name of the project where the spans belong. The format is\n`projects/PROJECT_ID`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$" + } + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/trace.append" ], - "parameters": { - "name": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path", - "description": "Required. Name of the project where the spans belong. The format is\n`projects/PROJECT_ID`." - } - }, "flatPath": "v2/projects/{projectsId}/traces:batchWrite", "id": "cloudtrace.projects.traces.batchWrite", - "path": "v2/{+name}/traces:batchWrite", - "request": { - "$ref": "BatchWriteSpansRequest" - }, - "description": "Sends new spans to Stackdriver Trace or updates existing traces. If the\nname of a trace that you send matches that of an existing trace, new spans\nare added to the existing trace. Attempt to update existing spans results\nundefined behavior. If the name does not match, a new trace is created\nwith given set of spans." - }, - "listSpans": { - "httpMethod": "GET", - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "ListSpansResponse" - }, - "parameters": { - "pageToken": { - "description": "Optional. If present, then retrieve the next batch of results from the\npreceding call to this method. `page_token` must be the value of\n`next_page_token` from the previous response. The values of other method\nparameters should be identical to those in the previous call.", - "type": "string", - "location": "query" - }, - "parent": { - "pattern": "^projects/[^/]+/traces/[^/]+$", - "location": "path", - "description": "Required: The resource name of the trace containing the spans to list.\nThe format is `projects/PROJECT_ID/traces/TRACE_ID`.", - "type": "string", - "required": true + "path": "v2/{+name}/traces:batchWrite" + } + }, + "resources": { + "spans": { + "methods": { + "create": { + "flatPath": "v2/projects/{projectsId}/traces/{tracesId}/spans/{spansId}", + "id": "cloudtrace.projects.traces.spans.create", + "path": "v2/{+name}", + "description": "Creates a new Span.", + "request": { + "$ref": "Span" + }, + "response": { + "$ref": "Span" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PUT", + "parameters": { + "name": { + "description": "The resource name of the span in the following format:\n\n projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/SPAN_ID is a unique identifier for a trace within a project.\n[SPAN_ID] is a unique identifier for a span within a trace,\nassigned when the span is created.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/traces/[^/]+/spans/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/trace.append" + ] } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/trace.readonly" - ], - "flatPath": "v2/projects/{projectsId}/traces/{tracesId}:listSpans", - "path": "v2/{+parent}:listSpans", - "id": "cloudtrace.projects.traces.listSpans", - "description": "Returns a list of spans within a trace." - }, - "list": { - "description": "Returns of a list of traces that match the specified filter conditions.", - "httpMethod": "GET", - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "ListTracesResponse" - }, - "parameters": { - "filter": { - "type": "string", - "location": "query", - "description": "Opional. Return only traces that match this\n[trace filter](/trace/docs/trace-filters). Example:\n\n \"label:/http/url root:/_ah/background my_label:17\"" - }, - "endTime": { - "format": "google-datetime", - "description": "Optional. Do not return traces whose start time is later than this time.", - "type": "string", - "location": "query" - }, - "pageToken": { - "description": "Optional. If present, then retrieve the next batch of results from the\npreceding call to this method. `page_token` must be the value of\n`next_page_token` from the previous response. The values of other method\nparameters should be identical to those in the previous call.", - "type": "string", - "location": "query" - }, - "startTime": { - "location": "query", - "format": "google-datetime", - "description": "Optional. Do not return traces whose end time is earlier than this time.", - "type": "string" - }, - "pageSize": { - "format": "int32", - "description": "Optional. The maximum number of results to return from this request.\nNon-positive values are ignored. The presence of `next_page_token` in the\nresponse indicates that more results might be available, even if fewer than\nthe maximum number of results is returned by this request.", - "type": "integer", - "location": "query" - }, - "parent": { - "description": "Required. The project where the trace data is stored. The format\nis `projects/PROJECT_ID`.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path" - }, - "orderBy": { - "location": "query", - "description": "Optional. A single field used to sort the returned traces.\nOnly the following field names can be used:\n\n* `trace_id`: the trace's ID field\n* `name`: the root span's resource name\n* `duration`: the difference between the root span's start time and end time\n* `start`: the start time of the root span\n\nSorting is in ascending order unless `desc` is appended to the sort field name.\nExample: `\"name desc\"`).", - "type": "string" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/trace.readonly" - ], - "flatPath": "v2/projects/{projectsId}/traces", - "path": "v2/{+parent}/traces", - "id": "cloudtrace.projects.traces.list" + } } } } @@ -670,41 +537,35 @@ "type": "boolean", "location": "query" }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", + "location": "query" + }, "uploadType": { "location": "query", "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", "type": "string" }, - "fields": { - "location": "query", - "description": "Selector specifying which fields to include in a partial response.", - "type": "string" - }, "callback": { - "location": "query", "description": "JSONP", - "type": "string" + "type": "string", + "location": "query" }, "$.xgafv": { + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], "location": "query", "enum": [ "1", "2" ], "description": "V1 error format.", - "type": "string", - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ] + "type": "string" }, "alt": { - "enum": [ - "json", - "media", - "proto" - ], - "type": "string", "enumDescriptions": [ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", @@ -712,11 +573,12 @@ ], "location": "query", "description": "Data format for response.", - "default": "json" - }, - "access_token": { - "location": "query", - "description": "OAuth access token.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], "type": "string" }, "key": { @@ -724,16 +586,20 @@ "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", "type": "string" }, + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, "quotaUser": { - "location": "query", "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" + "type": "string", + "location": "query" } }, "version": "v2", "baseUrl": "https://cloudtrace.googleapis.com/", "kind": "discovery#restDescription", "description": "Send and retrieve trace data from Stackdriver Trace. Data is generated and available by default for all App Engine applications. Data from other applications can be written to Stackdriver Trace for display, reporting, and analysis.\n", - "servicePath": "", - "basePath": "" + "servicePath": "" } diff --git a/vendor/google.golang.org/api/cloudtrace/v2/cloudtrace-gen.go b/vendor/google.golang.org/api/cloudtrace/v2/cloudtrace-gen.go index 6451f082f..e4d28ce12 100644 --- a/vendor/google.golang.org/api/cloudtrace/v2/cloudtrace-gen.go +++ b/vendor/google.golang.org/api/cloudtrace/v2/cloudtrace-gen.go @@ -52,9 +52,6 @@ const ( // Write Trace data for a project or application TraceAppendScope = "https://www.googleapis.com/auth/trace.append" - - // Read Trace data for a project or application - TraceReadonlyScope = "https://www.googleapis.com/auth/trace.readonly" ) func New(client *http.Client) (*Service, error) { @@ -300,8 +297,10 @@ type Link struct { // // Possible values: // "TYPE_UNSPECIFIED" - The relationship of the two spans is unknown. - // "CHILD" - The current span is a child of the linked span. - // "PARENT" - The current span is the parent of the linked span. + // "CHILD_LINKED_SPAN" - The linked span is a child of the current + // span. + // "PARENT_LINKED_SPAN" - The linked span is a parent of the current + // span. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Attributes") to @@ -363,84 +362,6 @@ func (s *Links) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ListSpansResponse: The response message for the `ListSpans` method. -type ListSpansResponse struct { - // NextPageToken: If defined, indicates that there might be more spans - // that match the - // request. Pass this as the value of `pageToken` in a subsequent - // request to - // retrieve additional spans. - NextPageToken string `json:"nextPageToken,omitempty"` - - // Spans: The requested spans, if there are any in the specified trace. - Spans []*Span `json:"spans,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` - - // ForceSendFields is a list of field names (e.g. "NextPageToken") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "NextPageToken") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *ListSpansResponse) MarshalJSON() ([]byte, error) { - type noMethod ListSpansResponse - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// ListTracesResponse: The response message for the `ListTraces` method. -type ListTracesResponse struct { - // NextPageToken: If there might be more results than those appearing in - // this response, then - // `next_page_token` is included. To get the next set of results, call - // this - // method again using the value of `next_page_token` as `page_token`. - NextPageToken string `json:"nextPageToken,omitempty"` - - // Traces: List of trace records returned. - Traces []*Trace `json:"traces,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` - - // ForceSendFields is a list of field names (e.g. "NextPageToken") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "NextPageToken") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *ListTracesResponse) MarshalJSON() ([]byte, error) { - type noMethod ListTracesResponse - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // Module: Binary module. type Module struct { // BuildId: A unique identifier for the module, usually a hash of @@ -479,13 +400,14 @@ func (s *Module) MarshalJSON() ([]byte, error) { // NetworkEvent: An event describing an RPC message sent or received on // the network. type NetworkEvent struct { + // CompressedMessageSize: The number of compressed bytes sent or + // received. + CompressedMessageSize uint64 `json:"compressedMessageSize,omitempty,string"` + // MessageId: An identifier for the message, which must be unique in // this span. MessageId uint64 `json:"messageId,omitempty,string"` - // MessageSize: The number of bytes sent or received. - MessageSize uint64 `json:"messageSize,omitempty,string"` - // Time: For sent messages, this is the time at which the first bit was // sent. // For received messages, this is the time at which the last bit @@ -503,20 +425,26 @@ type NetworkEvent struct { // "RECV" - Indicates a received RPC message. Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "MessageId") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. + // UncompressedMessageSize: The number of uncompressed bytes sent or + // received. + UncompressedMessageSize uint64 `json:"uncompressedMessageSize,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. + // "CompressedMessageSize") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "MessageId") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. + // NullFields is a list of field names (e.g. "CompressedMessageSize") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. NullFields []string `json:"-"` } @@ -572,7 +500,7 @@ type Span struct { // Name: The resource name of the span in the following format: // - // projects/[PROJECT_ID]traces/[TRACE_ID]/spans/SPAN_ID is a unique + // projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/SPAN_ID is a unique // identifier for a trace within a project. // [SPAN_ID] is a unique identifier for a span within a trace, // assigned when the span is created. @@ -857,9 +785,9 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in @@ -894,7 +822,7 @@ func (s *Status) MarshalJSON() ([]byte, error) { // TimeEvent: A time-stamped annotation or network event in the Span. type TimeEvent struct { - // Annotation: One or more key:value pairs. + // Annotation: Text annotation with a set of attributes. Annotation *Annotation `json:"annotation,omitempty"` // NetworkEvent: An event describing an RPC message sent/received on the @@ -971,41 +899,6 @@ func (s *TimeEvents) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Trace: A trace describes how long it takes for an application to -// perform some -// operations. It consists of a set of spans, each representing -// an operation and including time information and operation details. -type Trace struct { - // Name: The resource name of the trace in the following format: - // - // projects/[PROJECT_ID]/traces/TRACE_ID is a unique identifier for - // a trace within a project. - // The ID is assigned when the trace is created. - 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 values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - 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. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *Trace) MarshalJSON() ([]byte, error) { - type noMethod Trace - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // TruncatableString: Represents a string that might be shortened to a // specified length. type TruncatableString struct { @@ -1194,445 +1087,6 @@ func (c *ProjectsTracesBatchWriteCall) Do(opts ...googleapi.CallOption) (*Empty, } -// method id "cloudtrace.projects.traces.list": - -type ProjectsTracesListCall struct { - s *Service - parent string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header -} - -// List: Returns of a list of traces that match the specified filter -// conditions. -func (r *ProjectsTracesService) List(parent string) *ProjectsTracesListCall { - c := &ProjectsTracesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.parent = parent - return c -} - -// EndTime sets the optional parameter "endTime": Do not return traces -// whose start time is later than this time. -func (c *ProjectsTracesListCall) EndTime(endTime string) *ProjectsTracesListCall { - c.urlParams_.Set("endTime", endTime) - return c -} - -// Filter sets the optional parameter "filter": Opional. Return only -// traces that match this -// [trace filter](/trace/docs/trace-filters). Example: -// -// "label:/http/url root:/_ah/background my_label:17" -func (c *ProjectsTracesListCall) Filter(filter string) *ProjectsTracesListCall { - c.urlParams_.Set("filter", filter) - return c -} - -// OrderBy sets the optional parameter "orderBy": A single field used to -// sort the returned traces. -// Only the following field names can be used: -// -// * `trace_id`: the trace's ID field -// * `name`: the root span's resource name -// * `duration`: the difference between the root span's start time and -// end time -// * `start`: the start time of the root span -// -// Sorting is in ascending order unless `desc` is appended to the sort -// field name. -// Example: "name desc"). -func (c *ProjectsTracesListCall) OrderBy(orderBy string) *ProjectsTracesListCall { - c.urlParams_.Set("orderBy", orderBy) - return c -} - -// PageSize sets the optional parameter "pageSize": The maximum number -// of results to return from this request. -// Non-positive values are ignored. The presence of `next_page_token` in -// the -// response indicates that more results might be available, even if -// fewer than -// the maximum number of results is returned by this request. -func (c *ProjectsTracesListCall) PageSize(pageSize int64) *ProjectsTracesListCall { - c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) - return c -} - -// PageToken sets the optional parameter "pageToken": If present, then -// retrieve the next batch of results from the -// preceding call to this method. `page_token` must be the value -// of -// `next_page_token` from the previous response. The values of other -// method -// parameters should be identical to those in the previous call. -func (c *ProjectsTracesListCall) PageToken(pageToken string) *ProjectsTracesListCall { - c.urlParams_.Set("pageToken", pageToken) - return c -} - -// StartTime sets the optional parameter "startTime": Do not return -// traces whose end time is earlier than this time. -func (c *ProjectsTracesListCall) StartTime(startTime string) *ProjectsTracesListCall { - c.urlParams_.Set("startTime", startTime) - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsTracesListCall) Fields(s ...googleapi.Field) *ProjectsTracesListCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// IfNoneMatch sets the optional parameter which makes the operation -// fail if the object's ETag matches the given value. This is useful for -// getting updates only after the object has changed since the last -// request. Use googleapi.IsNotModified to check whether the response -// error from Do is the result of In-None-Match. -func (c *ProjectsTracesListCall) IfNoneMatch(entityTag string) *ProjectsTracesListCall { - c.ifNoneMatch_ = entityTag - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsTracesListCall) Context(ctx context.Context) *ProjectsTracesListCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsTracesListCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsTracesListCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } - var body io.Reader = nil - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/traces") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("GET", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "parent": c.parent, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "cloudtrace.projects.traces.list" call. -// Exactly one of *ListTracesResponse or error will be non-nil. Any -// non-2xx status code is an error. Response headers are in either -// *ListTracesResponse.ServerResponse.Header or (if a response was -// returned at all) in error.(*googleapi.Error).Header. Use -// googleapi.IsNotModified to check whether the returned error was -// because http.StatusNotModified was returned. -func (c *ProjectsTracesListCall) Do(opts ...googleapi.CallOption) (*ListTracesResponse, 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, &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, err - } - ret := &ListTracesResponse{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Returns of a list of traces that match the specified filter conditions.", - // "flatPath": "v2/projects/{projectsId}/traces", - // "httpMethod": "GET", - // "id": "cloudtrace.projects.traces.list", - // "parameterOrder": [ - // "parent" - // ], - // "parameters": { - // "endTime": { - // "description": "Optional. Do not return traces whose start time is later than this time.", - // "format": "google-datetime", - // "location": "query", - // "type": "string" - // }, - // "filter": { - // "description": "Opional. Return only traces that match this\n[trace filter](/trace/docs/trace-filters). Example:\n\n \"label:/http/url root:/_ah/background my_label:17\"", - // "location": "query", - // "type": "string" - // }, - // "orderBy": { - // "description": "Optional. A single field used to sort the returned traces.\nOnly the following field names can be used:\n\n* `trace_id`: the trace's ID field\n* `name`: the root span's resource name\n* `duration`: the difference between the root span's start time and end time\n* `start`: the start time of the root span\n\nSorting is in ascending order unless `desc` is appended to the sort field name.\nExample: `\"name desc\"`).", - // "location": "query", - // "type": "string" - // }, - // "pageSize": { - // "description": "Optional. The maximum number of results to return from this request.\nNon-positive values are ignored. The presence of `next_page_token` in the\nresponse indicates that more results might be available, even if fewer than\nthe maximum number of results is returned by this request.", - // "format": "int32", - // "location": "query", - // "type": "integer" - // }, - // "pageToken": { - // "description": "Optional. If present, then retrieve the next batch of results from the\npreceding call to this method. `page_token` must be the value of\n`next_page_token` from the previous response. The values of other method\nparameters should be identical to those in the previous call.", - // "location": "query", - // "type": "string" - // }, - // "parent": { - // "description": "Required. The project where the trace data is stored. The format\nis `projects/PROJECT_ID`.", - // "location": "path", - // "pattern": "^projects/[^/]+$", - // "required": true, - // "type": "string" - // }, - // "startTime": { - // "description": "Optional. Do not return traces whose end time is earlier than this time.", - // "format": "google-datetime", - // "location": "query", - // "type": "string" - // } - // }, - // "path": "v2/{+parent}/traces", - // "response": { - // "$ref": "ListTracesResponse" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/trace.readonly" - // ] - // } - -} - -// 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 *ProjectsTracesListCall) Pages(ctx context.Context, f func(*ListTracesResponse) error) error { - c.ctx_ = ctx - defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point - 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) - } -} - -// method id "cloudtrace.projects.traces.listSpans": - -type ProjectsTracesListSpansCall struct { - s *Service - parent string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header -} - -// ListSpans: Returns a list of spans within a trace. -func (r *ProjectsTracesService) ListSpans(parent string) *ProjectsTracesListSpansCall { - c := &ProjectsTracesListSpansCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.parent = parent - return c -} - -// PageToken sets the optional parameter "pageToken": If present, then -// retrieve the next batch of results from the -// preceding call to this method. `page_token` must be the value -// of -// `next_page_token` from the previous response. The values of other -// method -// parameters should be identical to those in the previous call. -func (c *ProjectsTracesListSpansCall) PageToken(pageToken string) *ProjectsTracesListSpansCall { - 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 information. -func (c *ProjectsTracesListSpansCall) Fields(s ...googleapi.Field) *ProjectsTracesListSpansCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// IfNoneMatch sets the optional parameter which makes the operation -// fail if the object's ETag matches the given value. This is useful for -// getting updates only after the object has changed since the last -// request. Use googleapi.IsNotModified to check whether the response -// error from Do is the result of In-None-Match. -func (c *ProjectsTracesListSpansCall) IfNoneMatch(entityTag string) *ProjectsTracesListSpansCall { - c.ifNoneMatch_ = entityTag - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsTracesListSpansCall) Context(ctx context.Context) *ProjectsTracesListSpansCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsTracesListSpansCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsTracesListSpansCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } - var body io.Reader = nil - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}:listSpans") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("GET", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "parent": c.parent, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "cloudtrace.projects.traces.listSpans" call. -// Exactly one of *ListSpansResponse or error will be non-nil. Any -// non-2xx status code is an error. Response headers are in either -// *ListSpansResponse.ServerResponse.Header or (if a response was -// returned at all) in error.(*googleapi.Error).Header. Use -// googleapi.IsNotModified to check whether the returned error was -// because http.StatusNotModified was returned. -func (c *ProjectsTracesListSpansCall) Do(opts ...googleapi.CallOption) (*ListSpansResponse, 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, &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, err - } - ret := &ListSpansResponse{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Returns a list of spans within a trace.", - // "flatPath": "v2/projects/{projectsId}/traces/{tracesId}:listSpans", - // "httpMethod": "GET", - // "id": "cloudtrace.projects.traces.listSpans", - // "parameterOrder": [ - // "parent" - // ], - // "parameters": { - // "pageToken": { - // "description": "Optional. If present, then retrieve the next batch of results from the\npreceding call to this method. `page_token` must be the value of\n`next_page_token` from the previous response. The values of other method\nparameters should be identical to those in the previous call.", - // "location": "query", - // "type": "string" - // }, - // "parent": { - // "description": "Required: The resource name of the trace containing the spans to list.\nThe format is `projects/PROJECT_ID/traces/TRACE_ID`.", - // "location": "path", - // "pattern": "^projects/[^/]+/traces/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v2/{+parent}:listSpans", - // "response": { - // "$ref": "ListSpansResponse" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/trace.readonly" - // ] - // } - -} - -// 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 *ProjectsTracesListSpansCall) Pages(ctx context.Context, f func(*ListSpansResponse) error) error { - c.ctx_ = ctx - defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point - 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) - } -} - // method id "cloudtrace.projects.traces.spans.create": type ProjectsTracesSpansCreateCall struct { @@ -1747,7 +1201,7 @@ func (c *ProjectsTracesSpansCreateCall) Do(opts ...googleapi.CallOption) (*Span, // ], // "parameters": { // "name": { - // "description": "The resource name of the span in the following format:\n\n projects/[PROJECT_ID]traces/[TRACE_ID]/spans/SPAN_ID is a unique identifier for a trace within a project.\n[SPAN_ID] is a unique identifier for a span within a trace,\nassigned when the span is created.", + // "description": "The resource name of the span in the following format:\n\n projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/SPAN_ID is a unique identifier for a trace within a project.\n[SPAN_ID] is a unique identifier for a span within a trace,\nassigned when the span is created.", // "location": "path", // "pattern": "^projects/[^/]+/traces/[^/]+/spans/[^/]+$", // "required": true, diff --git a/vendor/google.golang.org/api/clouduseraccounts/v0.alpha/clouduseraccounts-api.json b/vendor/google.golang.org/api/clouduseraccounts/v0.alpha/clouduseraccounts-api.json index 2ef43ad9a..110083dcc 100644 --- a/vendor/google.golang.org/api/clouduseraccounts/v0.alpha/clouduseraccounts-api.json +++ b/vendor/google.golang.org/api/clouduseraccounts/v0.alpha/clouduseraccounts-api.json @@ -21,7 +21,7 @@ "basePath": "/clouduseraccounts/alpha/projects/", "rootUrl": "https://www.googleapis.com/", "servicePath": "clouduseraccounts/alpha/projects/", - "batchPath": "batch", + "batchPath": "batch/clouduseraccounts/alpha", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/clouduseraccounts/v0.beta/clouduseraccounts-api.json b/vendor/google.golang.org/api/clouduseraccounts/v0.beta/clouduseraccounts-api.json index 97da31958..19293aca5 100644 --- a/vendor/google.golang.org/api/clouduseraccounts/v0.beta/clouduseraccounts-api.json +++ b/vendor/google.golang.org/api/clouduseraccounts/v0.beta/clouduseraccounts-api.json @@ -21,7 +21,7 @@ "basePath": "/clouduseraccounts/beta/projects/", "rootUrl": "https://www.googleapis.com/", "servicePath": "clouduseraccounts/beta/projects/", - "batchPath": "batch", + "batchPath": "batch/clouduseraccounts/beta", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/clouduseraccounts/vm_alpha/clouduseraccounts-api.json b/vendor/google.golang.org/api/clouduseraccounts/vm_alpha/clouduseraccounts-api.json index 141978bba..832a7fad8 100644 --- a/vendor/google.golang.org/api/clouduseraccounts/vm_alpha/clouduseraccounts-api.json +++ b/vendor/google.golang.org/api/clouduseraccounts/vm_alpha/clouduseraccounts-api.json @@ -21,7 +21,7 @@ "basePath": "/clouduseraccounts/vm_alpha/projects/", "rootUrl": "https://www.googleapis.com/", "servicePath": "clouduseraccounts/vm_alpha/projects/", - "batchPath": "batch", + "batchPath": "batch/clouduseraccounts/vm_alpha", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/clouduseraccounts/vm_beta/clouduseraccounts-api.json b/vendor/google.golang.org/api/clouduseraccounts/vm_beta/clouduseraccounts-api.json index ce19b7027..2077e5a39 100644 --- a/vendor/google.golang.org/api/clouduseraccounts/vm_beta/clouduseraccounts-api.json +++ b/vendor/google.golang.org/api/clouduseraccounts/vm_beta/clouduseraccounts-api.json @@ -21,7 +21,7 @@ "basePath": "/clouduseraccounts/vm_beta/projects/", "rootUrl": "https://www.googleapis.com/", "servicePath": "clouduseraccounts/vm_beta/projects/", - "batchPath": "batch", + "batchPath": "batch/clouduseraccounts/vm_beta", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/compute/v0.alpha/compute-api.json b/vendor/google.golang.org/api/compute/v0.alpha/compute-api.json index 13fbdd441..936a25308 100644 --- a/vendor/google.golang.org/api/compute/v0.alpha/compute-api.json +++ b/vendor/google.golang.org/api/compute/v0.alpha/compute-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/AcTLnZ77ikst1EpGZklXXRSxKgs\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/3cMXWrWKedeDcxyJugoWfBBTcik\"", "discoveryVersion": "v1", "id": "compute:alpha", "name": "compute", "version": "alpha", - "revision": "20170612", + "revision": "20170908", "title": "Compute Engine API", "description": "Creates and runs virtual machines on Google Cloud Platform.", "ownerDomain": "google.com", @@ -20,7 +20,7 @@ "basePath": "/compute/alpha/projects/", "rootUrl": "https://www.googleapis.com/", "servicePath": "compute/alpha/projects/", - "batchPath": "batch", + "batchPath": "batch/compute/alpha", "parameters": { "alt": { "type": "string", @@ -160,11 +160,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of scoped accelerator type lists.", + "description": "A list of AcceleratorTypesScopedList resources.", "additionalProperties": { "$ref": "AcceleratorTypesScopedList", "description": "[Output Only] Name of the scope containing this set of accelerator types." @@ -182,6 +182,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -208,11 +277,80 @@ }, "nextPageToken": { "type": "string", - "description": "[Output Only] A token used to continue a truncated list request." + "description": "[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 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." }, "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -318,7 +456,7 @@ }, "networkTier": { "type": "string", - "description": "This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM , SELECT. If this field is not specified, it is assumed to be PREMIUM.", + "description": "This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.\n\nIf an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.\n\nIf an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.", "enum": [ "PREMIUM", "SELECT", @@ -366,7 +504,7 @@ "properties": { "address": { "type": "string", - "description": "The static external IP address represented by this resource." + "description": "The static IP address represented by this resource." }, "addressType": { "type": "string", @@ -440,7 +578,7 @@ }, "networkTier": { "type": "string", - "description": "This signifies the networking tier used for configuring this Address and can only take the following values: PREMIUM , SELECT. If this field is not specified, it is assumed to be PREMIUM.", + "description": "This signifies the networking tier used for configuring this Address and can only take the following values: PREMIUM , STANDARD.\n\nIf this field is not specified, it is assumed to be PREMIUM.", "enum": [ "PREMIUM", "SELECT", @@ -495,7 +633,7 @@ }, "items": { "type": "object", - "description": "[Output Only] A map of scoped address lists.", + "description": "A list of AddressesScopedList resources.", "additionalProperties": { "$ref": "AddressesScopedList", "description": "[Output Only] Name of the scope containing this set of addresses." @@ -513,6 +651,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -523,11 +730,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of addresses.", + "description": "A list of Address resources.", "items": { "$ref": "Address" } @@ -543,7 +750,76 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server-defined URL for the resource." + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -672,7 +948,7 @@ }, "index": { "type": "integer", - "description": "Assigns a zero-based index to this disk, where 0 is reserved for the boot disk. For example, if you have many disks attached to an instance, each disk would have a unique index number. If not specified, the server will choose an appropriate value.", + "description": "[Output Only] A zero-based index to this disk, where 0 is reserved for the boot disk. If you have many disks attached to an instance, each disk would have a unique index number.", "format": "int32" }, "initializeParams": { @@ -828,6 +1104,31 @@ } } }, + "AuthorizationLoggingOptions": { + "id": "AuthorizationLoggingOptions", + "type": "object", + "description": "Authorization-related information used by Cloud Audit Logging.", + "properties": { + "permissionType": { + "type": "string", + "description": "The type of the permission that was checked.", + "enum": [ + "ADMIN_READ", + "ADMIN_WRITE", + "DATA_READ", + "DATA_WRITE", + "PERMISSION_TYPE_UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ] + } + } + }, "Autoscaler": { "id": "Autoscaler", "type": "object", @@ -912,11 +1213,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "A map of scoped autoscaler lists.", + "description": "A list of AutoscalersScopedList resources.", "additionalProperties": { "$ref": "AutoscalersScopedList", "description": "[Output Only] Name of the scope containing this set of autoscalers." @@ -934,6 +1235,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -944,7 +1314,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -965,6 +1335,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -1133,6 +1572,22 @@ "description": "The minimum number of replicas that the autoscaler can scale down to. This cannot be less than 0. If not provided, autoscaler will choose a default value depending on maximum number of instances allowed.", "format": "int32" }, + "mode": { + "type": "string", + "description": "Defines operating mode for this policy.", + "enum": [ + "OFF", + "ON", + "ONLY_DOWN", + "ONLY_UP" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ] + }, "queueBasedScaling": { "$ref": "AutoscalingPolicyQueueBasedScaling", "description": "Configuration parameters of autoscaling based on queuing system." @@ -1245,7 +1700,7 @@ "properties": { "balancingMode": { "type": "string", - "description": "Specifies the balancing mode for this backend. For global HTTP(S) or TCP/SSL load balancing, the default is UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S)) and CONNECTION (for TCP/SSL).\n\nThis cannot be used for internal load balancing.", + "description": "Specifies the balancing mode for this backend. For global HTTP(S) or TCP/SSL load balancing, the default is UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S)) and CONNECTION (for TCP/SSL).\n\nFor Internal Load Balancing, the default and only supported mode is CONNECTION.", "enum": [ "CONNECTION", "RATE", @@ -1272,13 +1727,18 @@ }, "group": { "type": "string", - "description": "The fully-qualified URL of a zonal Instance Group resource. This instance group defines the list of instances that serve traffic. Member virtual machine instances from each instance group must live in the same zone as the instance group itself. No two backends in a backend service are allowed to use same Instance Group resource.\n\nNote that you must specify an Instance Group resource using the fully-qualified URL, rather than a partial URL.\n\nWhen the BackendService has load balancing scheme INTERNAL, the instance group must be in a zone within the same region as the BackendService." + "description": "The fully-qualified URL of a Instance Group resource. This instance group defines the list of instances that serve traffic. Member virtual machine instances from each instance group must live in the same zone as the instance group itself. No two backends in a backend service are allowed to use same Instance Group resource.\n\nNote that you must specify an Instance Group resource using the fully-qualified URL, rather than a partial URL.\n\nWhen the BackendService has load balancing scheme INTERNAL, the instance group must be within the same region as the BackendService." }, "maxConnections": { "type": "integer", "description": "The max number of simultaneous connections for the group. Can be used with either CONNECTION or UTILIZATION balancing modes. For CONNECTION mode, either maxConnections or maxConnectionsPerInstance must be set.\n\nThis cannot be used for internal load balancing.", "format": "int32" }, + "maxConnectionsPerEndpoint": { + "type": "integer", + "description": "The max number of simultaneous connections that a single backend network endpoint can handle. This is used to calculate the capacity of the group. Can be used in either CONNECTION or UTILIZATION balancing modes. For CONNECTION mode, either maxConnections or maxConnectionsPerEndpoint must be set.\n\nThis cannot be used for internal load balancing.", + "format": "int32" + }, "maxConnectionsPerInstance": { "type": "integer", "description": "The max number of simultaneous connections that a single backend instance can handle. This is used to calculate the capacity of the group. Can be used in either CONNECTION or UTILIZATION balancing modes. For CONNECTION mode, either maxConnections or maxConnectionsPerInstance must be set.\n\nThis cannot be used for internal load balancing.", @@ -1289,6 +1749,11 @@ "description": "The max requests per second (RPS) of the group. Can be used with either RATE or UTILIZATION balancing modes, but required if RATE mode. For RATE mode, either maxRate or maxRatePerInstance must be set.\n\nThis cannot be used for internal load balancing.", "format": "int32" }, + "maxRatePerEndpoint": { + "type": "number", + "description": "The max requests per second (RPS) that a single backend network endpoint can handle. This is used to calculate the capacity of the group. Can be used in either balancing mode. For RATE mode, either maxRate or maxRatePerEndpoint must be set.\n\nThis cannot be used for internal load balancing.", + "format": "float" + }, "maxRatePerInstance": { "type": "number", "description": "The max requests per second (RPS) that a single backend instance can handle. This is used to calculate the capacity of the group. Can be used in either balancing mode. For RATE mode, either maxRate or maxRatePerInstance must be set.\n\nThis cannot be used for internal load balancing.", @@ -1389,11 +1854,80 @@ }, "nextPageToken": { "type": "string", - "description": "[Output Only] A token used to continue a truncated list request." + "description": "[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 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." }, "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -1407,6 +1941,10 @@ "description": "Lifetime of cookies in seconds if session_affinity is GENERATED_COOKIE. If set to 0, the cookie is non-persistent and lasts only until the end of the browser session (or equivalent). The maximum allowed value for TTL is one day.\n\nWhen the load balancing scheme is INTERNAL, this field is not used.", "format": "int32" }, + "appEngineBackend": { + "$ref": "BackendServiceAppEngineBackend", + "description": "Directs request to an App Engine app. cloudFunctionBackend and backends[] must be empty if this is set." + }, "backends": { "type": "array", "description": "The list of backends that serve this BackendService.", @@ -1418,6 +1956,10 @@ "$ref": "BackendServiceCdnPolicy", "description": "Cloud CDN configuration for this BackendService." }, + "cloudFunctionBackend": { + "$ref": "BackendServiceCloudFunctionBackend", + "description": "Directs request to a cloud function. appEngineBackend and backends[] must be empty if this is set." + }, "connectionDraining": { "$ref": "ConnectionDraining" }, @@ -1440,10 +1982,8 @@ "type": "boolean", "description": "If true, enable Cloud CDN for this BackendService.\n\nWhen the load balancing scheme is INTERNAL, this field is not used." }, - "failoverRatio": { - "type": "number", - "description": "The value of the field must be in [0, 1]. If set, 'backends[].failover' must be set. They together define the fallback behavior of the primary backend: if the ratio of the healthy VMs in the primary backend is at or below this number, traffic arriving at the load-balanced IP will be directed to the failover backend.\n\nIn case where 'failoverRatio' is not set or all the VMs in the backup backend are unhealthy, the traffic will be directed back to the primary backend in the \"force\" mode, where traffic will be spread to the healthy VMs with the best effort, or to all VMs when no VM is healthy.\n\nThis field is only used with l4 load balancing.", - "format": "float" + "failoverPolicy": { + "$ref": "BackendServiceFailoverPolicy" }, "fingerprint": { "type": "string", @@ -1452,7 +1992,7 @@ }, "healthChecks": { "type": "array", - "description": "The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for health checking this BackendService. Currently at most one health check can be specified, and a health check is required for GCE backend services. A health check must not be specified for GAE app backend and Cloud Function backend.\n\nFor internal load balancing, a URL to a HealthCheck resource must be specified instead.", + "description": "The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for health checking this BackendService. Currently at most one health check can be specified, and a health check is required for Compute Engine backend services. A health check must not be specified for App Engine backend and Cloud Function backend.\n\nFor internal load balancing, a URL to a HealthCheck resource must be specified instead.", "items": { "type": "string" } @@ -1472,6 +2012,7 @@ }, "loadBalancingScheme": { "type": "string", + "description": "Indicates whether the backend service will be used with internal or external load balancing. A backend service created for one type of load balancing cannot be used with the other. Possible values are INTERNAL and EXTERNAL.", "enum": [ "EXTERNAL", "INTERNAL", @@ -1565,7 +2106,7 @@ }, "items": { "type": "object", - "description": "A map of scoped BackendService lists.", + "description": "A list of BackendServicesScopedList resources.", "additionalProperties": { "$ref": "BackendServicesScopedList", "description": "Name of the scope containing this set of BackendServices." @@ -1578,11 +2119,99 @@ }, "nextPageToken": { "type": "string", - "description": "[Output Only] A token used to continue a truncated list request." + "description": "[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 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." }, "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } + } + } + }, + "BackendServiceAppEngineBackend": { + "id": "BackendServiceAppEngineBackend", + "type": "object", + "description": "Configuration of a App Engine backend.", + "properties": { + "appEngineService": { + "type": "string", + "description": "Optional. App Engine app service name." + }, + "targetProject": { + "type": "string", + "description": "Required. Project ID of the project hosting the app. This is the project ID of this project. Reference to another project is not allowed." + }, + "version": { + "type": "string", + "description": "Optional. Version of App Engine app service. When empty, App Engine will do its normal traffic split." } } }, @@ -1609,6 +2238,40 @@ } } }, + "BackendServiceCloudFunctionBackend": { + "id": "BackendServiceCloudFunctionBackend", + "type": "object", + "description": "Configuration of a Cloud Function backend.", + "properties": { + "functionName": { + "type": "string", + "description": "Required. A cloud function name. Special value ?*? represents all cloud functions in the project." + }, + "targetProject": { + "type": "string", + "description": "Required. Project ID of the project hosting the cloud function." + } + } + }, + "BackendServiceFailoverPolicy": { + "id": "BackendServiceFailoverPolicy", + "type": "object", + "properties": { + "disableConnectionDrainOnFailover": { + "type": "boolean", + "description": "On failover or failback, this field indicates whether connection drain will be honored. Setting this to true has the following effect: connections to the old active pool are not drained. Connections to the new active pool use the timeout of 10 min (currently fixed). Setting to false has the following effect: both old and new connections will have a drain timeout of 10 min.\n\nThis can be set to true only if the protocol is TCP.\n\nThe default is false." + }, + "dropTrafficIfUnhealthy": { + "type": "boolean", + "description": "This option is used only when no healthy VMs are detected in the primary and backup instance groups. When set to true, traffic is dropped. When set to false, new connections are sent across all VMs in the primary group.\n\nThe default is false." + }, + "failoverRatio": { + "type": "number", + "description": "The value of the field must be in [0, 1]. If the ratio of the healthy VMs in the primary backend is at or below this number, traffic arriving at the load-balanced IP will be directed to the failover backend.\n\nIn case where 'failoverRatio' is not set or all the VMs in the backup backend are unhealthy, the traffic will be directed back to the primary backend in the \"force\" mode, where traffic will be spread to the healthy VMs with the best effort, or to all VMs when no VM is healthy.\n\nThis field is only used with l4 load balancing.", + "format": "float" + } + } + }, "BackendServiceGroupHealth": { "id": "BackendServiceGroupHealth", "type": "object", @@ -1674,6 +2337,84 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } + } + } + }, + "BackendServiceReference": { + "id": "BackendServiceReference", + "type": "object", + "properties": { + "backendService": { + "type": "string" } } }, @@ -1920,11 +2661,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "Commitments by scope.", + "description": "A list of CommitmentsScopedList resources.", "additionalProperties": { "$ref": "CommitmentsScopedList", "description": "[Output Only] Name of the scope containing this set of commitments." @@ -1942,6 +2683,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -1952,7 +2762,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -1973,6 +2783,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -2271,6 +3150,14 @@ "type": "string", "description": "[Output Only] Last detach timestamp in RFC3339 text format." }, + "licenseCodes": { + "type": "array", + "description": "Integer license codes indicating which licenses are attached to this disk.", + "items": { + "type": "string", + "format": "int64" + } + }, "licenses": { "type": "array", "description": "Any applicable publicly visible licenses.", @@ -2314,7 +3201,7 @@ }, "sizeGb": { "type": "string", - "description": "Size of the persistent disk, specified in GB. You can specify this field when creating a persistent disk using the sourceImage or sourceSnapshot parameter, or specify it alone to create an empty persistent disk.\n\nIf you specify this field along with sourceImage or sourceSnapshot, the value of sizeGb must not be less than the size of the sourceImage or the size of the snapshot.", + "description": "Size of the persistent disk, specified in GB. You can specify this field when creating a persistent disk using the sourceImage or sourceSnapshot parameter, or specify it alone to create an empty persistent disk.\n\nIf you specify this field along with sourceImage or sourceSnapshot, the value of sizeGb must not be less than the size of the sourceImage or the size of the snapshot. Acceptable values are 1 to 65536, inclusive.", "format": "int64" }, "sourceImage": { @@ -2392,11 +3279,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of scoped disk lists.", + "description": "A list of DisksScopedList resources.", "additionalProperties": { "$ref": "DisksScopedList", "description": "[Output Only] Name of the scope containing this set of disks." @@ -2409,11 +3296,80 @@ }, "nextPageToken": { "type": "string", - "description": "[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 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. Acceptable values are 0 to 500, inclusive. (Default: 500)" + "description": "[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 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." }, "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -2440,11 +3396,80 @@ }, "nextPageToken": { "type": "string", - "description": "This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, 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." + "description": "[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 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." }, "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -2519,11 +3544,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of scoped disk type lists.", + "description": "A list of DiskTypesScopedList resources.", "additionalProperties": { "$ref": "DiskTypesScopedList", "description": "[Output Only] Name of the scope containing this set of disk types." @@ -2541,6 +3566,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -2551,11 +3645,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Disk Type resources.", + "description": "A list of DiskType resources.", "items": { "$ref": "DiskType" } @@ -2572,6 +3666,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -2768,7 +3931,13 @@ "properties": { "zone": { "type": "string", - "description": "URL of the zone where managed instance group is spawning instances (for regional resources). Zone has to belong to the region where managed instance group is located." + "description": "URL of the zone where managed instance group is spawning instances (for regional resources). Zone has to belong to the region where managed instance group is located.", + "annotations": { + "required": [ + "compute.regionInstanceGroupManagers.insert", + "compute.regionInstanceGroupManagers.update" + ] + } } } }, @@ -2808,7 +3977,7 @@ "properties": { "IPProtocol": { "type": "string", - "description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, sctp), or the IP protocol number." + "description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number." }, "ports": { "type": "array", @@ -2832,7 +4001,7 @@ "properties": { "IPProtocol": { "type": "string", - "description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, sctp), or the IP protocol number." + "description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number." }, "ports": { "type": "array", @@ -2867,6 +4036,10 @@ "" ] }, + "enableLogging": { + "type": "boolean", + "description": "This field denotes whether to enable logging for a particular firewall rule. If logging is enabled, logs will be exported to the configured export destination for all firewall logs in the network. Logs may be exported to BigQuery or Pub/Sub." + }, "id": { "type": "string", "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", @@ -2917,7 +4090,7 @@ }, "sourceTags": { "type": "array", - "description": "If source tags are specified, the firewall will apply only to traffic with source IP that belongs to a tag listed in source tags. Source tags cannot be used to control traffic to an instance's external IP address. Because tags are associated with an instance, not an IP address. One or both of sourceRanges and sourceTags may be set. If both properties are set, the firewall will apply to traffic that has source IP address within sourceRanges OR the source IP that belongs to a tag listed in the sourceTags property. The connection does not need to match both properties for the firewall to apply.", + "description": "If source tags are specified, the firewall rule applies only to traffic with source IPs that match the primary network interfaces of VM instances that have the tag and are in the same VPC network. Source tags cannot be used to control traffic to an instance's external IP address, it only applies to traffic between instances in the same virtual network. Because tags are associated with instances, not IP addresses. One or both of sourceRanges and sourceTags may be set. If both properties are set, the firewall will apply to traffic that has source IP address within sourceRanges OR the source IP that belongs to a tag listed in the sourceTags property. The connection does not need to match both properties for the firewall to apply.", "items": { "type": "string" } @@ -2945,11 +4118,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Firewall resources.", + "description": "A list of Firewall resources.", "items": { "$ref": "Firewall" } @@ -2966,6 +4139,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -3032,6 +4274,11 @@ "type": "string", "description": "An optional description of this resource. Provide this property when you create the resource." }, + "fingerprint": { + "type": "string", + "description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a ForwardingRule. Include the fingerprint in patch request to ensure that you do not overwrite changes that were applied from another concurrent request.\n\nTo see the latest fingerprint, make a get() request to retrieve a ForwardingRule.", + "format": "byte" + }, "id": { "type": "string", "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", @@ -3093,7 +4340,7 @@ }, "networkTier": { "type": "string", - "description": "This signifies the networking tier used for configuring this load balancer and can only take the following values: PREMIUM , SELECT. If this field is not specified, it is assumed to be PREMIUM.", + "description": "This signifies the networking tier used for configuring this load balancer and can only take the following values: PREMIUM , STANDARD.\n\nFor regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.\n\nIf this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.", "enum": [ "PREMIUM", "SELECT", @@ -3107,7 +4354,7 @@ }, "portRange": { "type": "string", - "description": "This field is used along with the target field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance.\n\nApplicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed to ports in the specified range will be forwarded to target. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.\n\nSome types of forwarding target have constraints on the acceptable ports: \n- TargetHttpProxy: 80, 8080 \n- TargetHttpsProxy: 443 \n- TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995 \n- TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995 \n- TargetVpnGateway: 500, 4500\n-" + "description": "This field is used along with the target field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance.\n\nApplicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed to ports in the specified range will be forwarded to target. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.\n\nSome types of forwarding target have constraints on the acceptable ports: \n- TargetHttpProxy: 80, 8080 \n- TargetHttpsProxy: 443 \n- TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 \n- TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 \n- TargetVpnGateway: 500, 4500\n-" }, "ports": { "type": "array", @@ -3149,11 +4396,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "A map of scoped forwarding rule lists.", + "description": "A list of ForwardingRulesScopedList resources.", "additionalProperties": { "$ref": "ForwardingRulesScopedList", "description": "Name of the scope containing this set of addresses." @@ -3171,6 +4418,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -3181,7 +4497,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource. Set by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -3202,6 +4518,84 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } + } + } + }, + "ForwardingRuleReference": { + "id": "ForwardingRuleReference", + "type": "object", + "properties": { + "forwardingRule": { + "type": "string" } } }, @@ -3305,6 +4699,30 @@ } } }, + "GuestAttributes": { + "id": "GuestAttributes", + "type": "object", + "description": "A guest attributes entry.", + "properties": { + "kind": { + "type": "string", + "description": "[Output Only] Type of the resource. Always compute#guestAttributes for guest attributes entry.", + "default": "compute#guestAttributes" + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server-defined URL for this resource." + }, + "variableKey": { + "type": "string", + "description": "The key to search for." + }, + "variableValue": { + "type": "string", + "description": "[Output Only] The value found for the requested key." + } + } + }, "GuestOsFeature": { "id": "GuestOsFeature", "type": "object", @@ -3312,7 +4730,7 @@ "properties": { "type": { "type": "string", - "description": "The type of supported feature. Currently only VIRTIO_SCSI_MULTIQUEUE is supported. For newer Windows images, the server might also populate this property with the value WINDOWS to indicate that this is a Windows image. This value is purely informational and does not enable or disable any features.", + "description": "The type of supported feature. Currently only VIRTIO_SCSI_MULTIQUEUE is supported. For newer Windows images, the server might also populate this property with the value WINDOWS to indicate that this is a Windows image.", "enum": [ "FEATURE_TYPE_UNSPECIFIED", "MULTI_IP_SUBNET", @@ -3345,6 +4763,20 @@ "type": "string", "description": "Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence." }, + "portSpecification": { + "type": "string", + "description": "Specifies how port is selected for health checking, can be one of following values:\nUSE_FIXED_PORT: The port number in\nport\nis used for health checking.\nUSE_NAMED_PORT: The\nportName\nis used for health checking.\nUSE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking.\n\n\nIf not specified, HTTP2 health check follows behavior specified in\nport\nand\nportName\nfields.", + "enum": [ + "USE_FIXED_PORT", + "USE_NAMED_PORT", + "USE_SERVING_PORT" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, "proxyHeader": { "type": "string", "description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", @@ -3384,6 +4816,20 @@ "type": "string", "description": "Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence." }, + "portSpecification": { + "type": "string", + "description": "Specifies how port is selected for health checking, can be one of following values:\nUSE_FIXED_PORT: The port number in\nport\nis used for health checking.\nUSE_NAMED_PORT: The\nportName\nis used for health checking.\nUSE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking.\n\n\nIf not specified, HTTP health check follows behavior specified in\nport\nand\nportName\nfields.", + "enum": [ + "USE_FIXED_PORT", + "USE_NAMED_PORT", + "USE_SERVING_PORT" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, "proxyHeader": { "type": "string", "description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", @@ -3423,6 +4869,20 @@ "type": "string", "description": "Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence." }, + "portSpecification": { + "type": "string", + "description": "Specifies how port is selected for health checking, can be one of following values:\nUSE_FIXED_PORT: The port number in\nport\nis used for health checking.\nUSE_NAMED_PORT: The\nportName\nis used for health checking.\nUSE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking.\n\n\nIf not specified, HTTPS health check follows behavior specified in\nport\nand\nportName\nfields.", + "enum": [ + "USE_FIXED_PORT", + "USE_NAMED_PORT", + "USE_SERVING_PORT" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, "proxyHeader": { "type": "string", "description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", @@ -3546,7 +5006,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -3567,6 +5027,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -3611,6 +5140,40 @@ } } }, + "HealthStatusForNetworkEndpoint": { + "id": "HealthStatusForNetworkEndpoint", + "type": "object", + "properties": { + "backendService": { + "$ref": "BackendServiceReference", + "description": "URL of the backend service associated with the health state of the network endpoint." + }, + "forwardingRule": { + "$ref": "ForwardingRuleReference", + "description": "URL of the forwarding rule associated with the health state of the network endpoint." + }, + "healthCheck": { + "$ref": "HealthCheckReference", + "description": "URL of the health check associated with the health state of the network endpoint." + }, + "healthState": { + "type": "string", + "description": "Health state of the network endpoint determined based on the health checks configured.", + "enum": [ + "DRAINING", + "HEALTHY", + "UNHEALTHY", + "UNKNOWN" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ] + } + } + }, "Host": { "id": "Host", "type": "object", @@ -3698,11 +5261,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of scoped host lists.", + "description": "A list of HostsScopedList resources.", "additionalProperties": { "$ref": "HostsScopedList", "description": "[Output Only] Name of the scope containing this set of hosts." @@ -3719,7 +5282,76 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server-defined URL for the resource." + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -3730,11 +5362,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Host resources.", + "description": "A list of Host resources.", "items": { "$ref": "Host" } @@ -3750,7 +5382,76 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server-defined URL for the resource." + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -3843,11 +5544,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of scoped host type lists.", + "description": "A list of HostTypesScopedList resources.", "additionalProperties": { "$ref": "HostTypesScopedList", "description": "[Output Only] Name of the scope containing this set of host types." @@ -3864,7 +5565,76 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server-defined URL for the resource." + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -3875,11 +5645,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Host Type resources.", + "description": "A list of HostType resources.", "items": { "$ref": "HostType" } @@ -3895,7 +5665,76 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server-defined URL for the resource." + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -4137,7 +5976,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource. Defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -4158,6 +5997,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -4256,6 +6164,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -4292,7 +6269,7 @@ }, "guestOsFeatures": { "type": "array", - "description": "A list of features to enable on the guest OS. Applicable for bootable images only. Currently, only one feature can be enabled, VIRTIO_SCSI_MULTIQUEUE, which allows each virtual CPU to have its own queue. For Windows images, you can only enable VIRTIO_SCSI_MULTIQUEUE on images with driver version 1.2.0.1621 or higher. Linux images with kernel versions 3.17 and higher will support VIRTIO_SCSI_MULTIQUEUE.\n\nFor new Windows images, the server might also populate this field with the value WINDOWS, to indicate that this is a Windows image. This value is purely informational and does not enable or disable any features.", + "description": "A list of features to enable on the guest OS. Applicable for bootable images only. Currently, only one feature can be enabled, VIRTIO_SCSI_MULTIQUEUE, which allows each virtual CPU to have its own queue. For Windows images, you can only enable VIRTIO_SCSI_MULTIQUEUE on images with driver version 1.2.0.1621 or higher. Linux images with kernel versions 3.17 and higher will support VIRTIO_SCSI_MULTIQUEUE.\n\nFor newer Windows images, the server might also populate this property with the value WINDOWS to indicate that this is a Windows image.", "items": { "$ref": "GuestOsFeature" } @@ -4323,6 +6300,14 @@ "type": "string" } }, + "licenseCodes": { + "type": "array", + "description": "Integer license codes indicating which licenses are attached to this image.", + "items": { + "type": "string", + "format": "int64" + } + }, "licenses": { "type": "array", "description": "Any applicable license URI.", @@ -4432,11 +6417,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Image resources.", + "description": "A list of Image resources.", "items": { "$ref": "Image" } @@ -4453,6 +6438,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -4473,6 +6527,10 @@ "type": "string", "description": "[Output Only] Creation timestamp in RFC3339 text format." }, + "deletionProtection": { + "type": "boolean", + "description": "Whether the resource should be protected against deletion." + }, "description": { "type": "string", "description": "An optional description of this resource. Provide this property when you create the resource." @@ -4550,7 +6608,7 @@ }, "networkInterfaces": { "type": "array", - "description": "An array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Only one interface is supported per instance.", + "description": "An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.", "items": { "$ref": "NetworkInterface" } @@ -4576,7 +6634,7 @@ }, "status": { "type": "string", - "description": "[Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, and TERMINATED.", + "description": "[Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, STOPPED, SUSPENDING, SUSPENDED, and TERMINATED.", "enum": [ "PROVISIONING", "RUNNING", @@ -4618,11 +6676,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of scoped instance lists.", + "description": "A list of InstancesScopedList resources.", "additionalProperties": { "$ref": "InstancesScopedList", "description": "[Output Only] Name of the scope containing this set of instances." @@ -4640,6 +6698,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -4720,11 +6847,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] A unique identifier for this aggregated list of instance groups. The server generates this identifier." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "A map of scoped instance group lists.", + "description": "A list of InstanceGroupsScopedList resources.", "additionalProperties": { "$ref": "InstanceGroupsScopedList", "description": "The name of the scope that contains this set of instance groups." @@ -4741,7 +6868,76 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] The URL for this resource type. The server generates this URL." + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -4752,11 +6948,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] A unique identifier for this list of instance groups. The server generates this identifier." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "A list of instance groups.", + "description": "A list of InstanceGroup resources.", "items": { "$ref": "InstanceGroup" } @@ -4772,7 +6968,76 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] The URL for this resource type. The server generates this URL." + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -4858,7 +7123,8 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "annotations": { "required": [ - "compute.instanceGroupManagers.insert" + "compute.instanceGroupManagers.insert", + "compute.regionInstanceGroupManagers.insert" ] } }, @@ -4883,7 +7149,7 @@ }, "serviceAccount": { "type": "string", - "description": "Service account will be used as credentials for all operations performed by managed instance group on instances. The service accounts needs all permissions required to create and delete instances. When not specified, the service account {projectNumber}@cloudservices.gserviceaccount.com will be used." + "description": "[Output Only] The service account to be used as credentials for all operations performed by the managed instance group on instances. The service accounts needs all permissions required to create and delete instances. By default, the service account {projectNumber}@cloudservices.gserviceaccount.com is used." }, "statefulPolicy": { "$ref": "InstanceGroupManagerStatefulPolicy", @@ -4902,7 +7168,8 @@ "format": "int32", "annotations": { "required": [ - "compute.instanceGroupManagers.insert" + "compute.instanceGroupManagers.insert", + "compute.regionInstanceGroupManagers.insert" ] } }, @@ -5063,11 +7330,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] A unique identifier for this aggregated list of managed instance groups. The server generates this identifier." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of filtered managed instance group lists.", + "description": "A list of InstanceGroupManagersScopedList resources.", "additionalProperties": { "$ref": "InstanceGroupManagersScopedList", "description": "[Output Only] The name of the scope that contains this set of managed instance groups." @@ -5084,7 +7351,76 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] The URL for this resource type. The server generates this URL." + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -5114,11 +7450,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] A unique identifier for this resource type. The server generates this identifier." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of managed instance groups.", + "description": "A list of InstanceGroupManager resources.", "items": { "$ref": "InstanceGroupManager" } @@ -5135,6 +7471,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -5208,10 +7613,14 @@ "type": "string", "description": "Minimal action to be taken on an instance. The order of action types is: RESTART \u003c REPLACE.", "enum": [ + "NONE", + "REFRESH", "REPLACE", "RESTART" ], "enumDescriptions": [ + "", + "", "", "" ] @@ -5270,7 +7679,7 @@ "properties": { "instances": { "type": "array", - "description": "The list of instances for which we want to apply updates on this managed instance group.", + "description": "The list of URLs of one or more instances for which we want to apply updates on this managed instance group. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", "items": { "type": "string" } @@ -5279,10 +7688,14 @@ "type": "string", "description": "The maximal action that should be perfomed on the instances. By default REPLACE.", "enum": [ + "NONE", + "REFRESH", "REPLACE", "RESTART" ], "enumDescriptions": [ + "", + "", "", "" ] @@ -5291,10 +7704,14 @@ "type": "string", "description": "The minimal action that should be perfomed on the instances. By default NONE.", "enum": [ + "NONE", + "REFRESH", "REPLACE", "RESTART" ], "enumDescriptions": [ + "", + "", "", "" ] @@ -5314,20 +7731,6 @@ } } }, - "InstanceGroupManagersDeleteOverridesRequest": { - "id": "InstanceGroupManagersDeleteOverridesRequest", - "type": "object", - "description": "InstanceGroupManagers.deleteOverrides", - "properties": { - "instances": { - "type": "array", - "description": "The list of instances for which we want to delete overrides on this managed instance group.", - "items": { - "type": "string" - } - } - } - }, "InstanceGroupManagersDeletePerInstanceConfigsReq": { "id": "InstanceGroupManagersDeletePerInstanceConfigsReq", "type": "object", @@ -5359,30 +7762,13 @@ } } }, - "InstanceGroupManagersListOverridesResponse": { - "id": "InstanceGroupManagersListOverridesResponse", - "type": "object", - "properties": { - "items": { - "type": "array", - "description": "[Output Only] The list of overrides in the managed instance group.", - "items": { - "$ref": "ManagedInstanceOverride" - } - }, - "nextPageToken": { - "type": "string", - "description": "[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 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." - } - } - }, "InstanceGroupManagersListPerInstanceConfigsResp": { "id": "InstanceGroupManagersListPerInstanceConfigsResp", "type": "object", "properties": { "items": { "type": "array", - "description": "[Output Only] The list of overrides in the managed instance group.", + "description": "[Output Only] The list of PerInstanceConfig.", "items": { "$ref": "PerInstanceConfig" } @@ -5390,6 +7776,75 @@ "nextPageToken": { "type": "string", "description": "[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 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." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -5543,20 +7998,6 @@ } } }, - "InstanceGroupManagersUpdateOverridesRequest": { - "id": "InstanceGroupManagersUpdateOverridesRequest", - "type": "object", - "description": "InstanceGroupManagers.updateOverrides", - "properties": { - "overrides": { - "type": "array", - "description": "The list of overrides to insert or patch on this managed instance group.", - "items": { - "$ref": "ManagedInstanceOverride" - } - } - } - }, "InstanceGroupManagersUpdatePerInstanceConfigsReq": { "id": "InstanceGroupManagersUpdatePerInstanceConfigsReq", "type": "object", @@ -5590,11 +8031,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] A unique identifier for this list of instances in the specified instance group. The server generates this identifier." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of instances and any named ports that are assigned to those instances.", + "description": "A list of InstanceWithNamedPorts resources.", "items": { "$ref": "InstanceWithNamedPorts" } @@ -5610,7 +8051,76 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] The URL for this list of instances in the specified instance groups. The server generates this URL." + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -5752,11 +8262,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of instances.", + "description": "A list of Instance resources.", "items": { "$ref": "Instance" } @@ -5773,6 +8283,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -5783,11 +8362,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of referrers.", + "description": "A list of Reference resources.", "items": { "$ref": "Reference" } @@ -5804,6 +8383,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -5960,11 +8608,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] A unique identifier for this instance template. The server defines this identifier." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] list of InstanceTemplate resources.", + "description": "A list of InstanceTemplate resources.", "items": { "$ref": "InstanceTemplate" } @@ -5980,7 +8628,76 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] The URL for this instance template list. The server defines this URL." + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -6194,12 +8911,19 @@ "Interconnect": { "id": "Interconnect", "type": "object", - "description": "Protocol definitions for Mixer API to support Interconnect. Next available tag: 22", + "description": "Protocol definitions for Mixer API to support Interconnect. Next available tag: 23", "properties": { "adminEnabled": { "type": "boolean", "description": "Administrative status of the interconnect. When this is set to ?true?, the Interconnect is functional and may carry traffic (assuming there are functional InterconnectAttachments and other requirements are satisfied). When set to ?false?, no packets will be carried over this Interconnect and no BGP routes will be exchanged over it. By default, it is set to ?true?." }, + "circuitInfos": { + "type": "array", + "description": "[Output Only] List of CircuitInfo objects, that describe the individual circuits in this LAG.", + "items": { + "$ref": "InterconnectCircuitInfo" + } + }, "connectionAuthorization": { "type": "string", "description": "[Output Only] URL to retrieve the Letter Of Authority and Customer Facility Assignment (LOA-CFA) documentation relating to this Interconnect. This documentation authorizes the facility provider to connect to the specified crossconnect ports." @@ -6208,6 +8932,10 @@ "type": "string", "description": "[Output Only] Creation timestamp in RFC3339 text format." }, + "customerName": { + "type": "string", + "description": "Customer name, to put in the Letter of Authorization as the party authorized to request a crossconnect." + }, "description": { "type": "string", "description": "An optional description of this resource. Provide this property when you create the resource." @@ -6242,9 +8970,11 @@ "interconnectType": { "type": "string", "enum": [ + "IT_PARTNER", "IT_PRIVATE" ], "enumDescriptions": [ + "", "" ] }, @@ -6315,7 +9045,7 @@ "InterconnectAttachment": { "id": "InterconnectAttachment", "type": "object", - "description": "Protocol definitions for Mixer API to support InterconnectAttachment. Next available tag: 14", + "description": "Protocol definitions for Mixer API to support InterconnectAttachment. Next available tag: 18", "properties": { "cloudRouterIpAddress": { "type": "string", @@ -6392,11 +9122,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of scoped InterconnectAttachment lists.", + "description": "A list of InterconnectAttachmentsScopedList resources.", "additionalProperties": { "$ref": "InterconnectAttachmentsScopedList", "description": "Name of the scope containing this set of interconnect attachments." @@ -6414,6 +9144,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -6424,11 +9223,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of InterconnectAttachment resources.", + "description": "A list of InterconnectAttachment resources.", "items": { "$ref": "InterconnectAttachment" } @@ -6445,6 +9244,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -6542,6 +9410,25 @@ } } }, + "InterconnectCircuitInfo": { + "id": "InterconnectCircuitInfo", + "type": "object", + "description": "Describes a single physical circuit between the Customer and Google. CircuitInfo objects are created by Google, so all fields are output only. Next id: 4", + "properties": { + "customerDemarcId": { + "type": "string", + "description": "Customer-side demarc ID for this circuit. This will only be set if it was provided by the Customer to Google during circuit turn-up." + }, + "googleCircuitId": { + "type": "string", + "description": "Google-assigned unique ID for this circuit. Assigned at circuit turn-up." + }, + "googleDemarcId": { + "type": "string", + "description": "Google-side demarc ID for this circuit. Assigned at circuit turn-up and provided by Google to the customer in the LOA." + } + } + }, "InterconnectList": { "id": "InterconnectList", "type": "object", @@ -6549,11 +9436,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Interconnect resources.", + "description": "A list of Interconnect resources.", "items": { "$ref": "Interconnect" } @@ -6570,6 +9457,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -6662,11 +9618,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of InterconnectLocation resources.", + "description": "A list of InterconnectLocation resources.", "items": { "$ref": "InterconnectLocation" } @@ -6683,6 +9639,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -6708,6 +9733,10 @@ "" ] }, + "region": { + "type": "string", + "description": "URL for the region of this location." + }, "regionKey": { "type": "string", "description": "Scope key for the region of this location." @@ -6804,18 +9833,18 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of InternalIpOwner resources.", + "description": "A list of InternalIpOwner resources.", "items": { "$ref": "InternalIpOwner" } }, "kind": { "type": "string", - "description": "[Output Only] Type of resource. Always compute#internalIpOwnerList for lists of internal IP owners.", + "description": "[Output Only] Type of resource. Always compute#ipOwnerList for lists of IP owners.", "default": "compute#ipOwnerList" }, "nextPageToken": { @@ -6825,6 +9854,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -6883,6 +9981,87 @@ } } }, + "LicenseCode": { + "id": "LicenseCode", + "type": "object", + "properties": { + "creationTimestamp": { + "type": "string", + "description": "[Output Only] Creation timestamp in RFC3339 text format." + }, + "description": { + "type": "string", + "description": "[Output Only] Description of this License Code." + }, + "id": { + "type": "string", + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64" + }, + "kind": { + "type": "string", + "description": "[Output Only] Type of resource. Always compute#licenseCode for licenses.", + "default": "compute#licenseCode" + }, + "licenseAlias": { + "type": "array", + "description": "[Output Only] URL and description aliases of Licenses with the same License Code.", + "items": { + "$ref": "LicenseCodeLicenseAlias" + } + }, + "name": { + "type": "string", + "description": "[Output Only] Name of the resource. The name is 1-20 characters long and must be a valid 64 bit integer.", + "pattern": "[0-9]{0,20}?", + "annotations": { + "required": [ + "compute.licenses.insert" + ] + } + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server-defined URL for the resource." + }, + "state": { + "type": "string", + "description": "[Output Only] Current state of this License Code.", + "enum": [ + "DISABLED", + "ENABLED", + "RESTRICTED", + "STATE_UNSPECIFIED", + "TERMINATED" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ] + }, + "transferable": { + "type": "boolean", + "description": "[Output Only] If true, the license will remain attached when creating images or snapshots from disks. Otherwise, the license is not transferred." + } + } + }, + "LicenseCodeLicenseAlias": { + "id": "LicenseCodeLicenseAlias", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "[Output Only] Description of this License Code." + }, + "selfLink": { + "type": "string", + "description": "[Output Only] URL of license corresponding to this License Code." + } + } + }, "LicenseResourceRequirements": { "id": "LicenseResourceRequirements", "type": "object", @@ -6905,11 +10084,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of License resources.", + "description": "A list of License resources.", "items": { "$ref": "License" } @@ -6921,6 +10100,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -6936,6 +10184,10 @@ "counter": { "$ref": "LogConfigCounterOptions", "description": "Counter options." + }, + "dataAccess": { + "$ref": "LogConfigDataAccessOptions", + "description": "Data access options." } } }, @@ -6944,6 +10196,10 @@ "type": "object", "description": "Write a Cloud Audit log", "properties": { + "authorizationLoggingOptions": { + "$ref": "AuthorizationLoggingOptions", + "description": "Information used by the Cloud Audit Logging pipeline." + }, "logName": { "type": "string", "description": "The log_name to populate in the Cloud Audit Record.", @@ -6963,7 +10219,7 @@ "LogConfigCounterOptions": { "id": "LogConfigCounterOptions", "type": "object", - "description": "Options for counters", + "description": "Increment a streamz counter with the specified metric and field names.\n\nMetric names should start with a '/', generally be lowercase-only, and end in \"_count\". Field names should not contain an initial slash. The actual exported metric names will have \"/iam/policy\" prepended.\n\nField names correspond to IAM request parameters and field values are their respective values.\n\nAt present the only supported field names are - \"iam_principal\", corresponding to IAMContext.principal; - \"\" (empty string), resulting in one aggretated counter with no field.\n\nExamples: counter { metric: \"/debug_access_count\" field: \"iam_principal\" } ==\u003e increment counter /iam/policy/backend_debug_access_count {iam_principal=[value of IAMContext.principal]}\n\nAt this time we do not support: * multiple field names (though this may be supported in the future) * decrementing the counter * incrementing it by anything other than 1", "properties": { "field": { "type": "string", @@ -6975,6 +10231,25 @@ } } }, + "LogConfigDataAccessOptions": { + "id": "LogConfigDataAccessOptions", + "type": "object", + "description": "Write a Data Access (Gin) log", + "properties": { + "logMode": { + "type": "string", + "description": "Whether Gin logging should happen in a fail-closed manner at the caller. This is relevant only in the LocalIAM implementation, for now.", + "enum": [ + "LOG_FAIL_CLOSED", + "LOG_MODE_UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "" + ] + } + } + }, "MachineType": { "id": "MachineType", "type": "object", @@ -7047,11 +10322,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of scoped machine type lists.", + "description": "A list of MachineTypesScopedList resources.", "additionalProperties": { "$ref": "MachineTypesScopedList", "description": "[Output Only] Name of the scope containing this set of machine types." @@ -7069,6 +10344,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -7079,11 +10423,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Machine Type resources.", + "description": "A list of MachineType resources.", "items": { "$ref": "MachineType" } @@ -7100,6 +10444,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -7325,9 +10738,17 @@ "$ref": "ManagedInstanceOverrideDiskOverride" } }, - "instance": { + "origin": { "type": "string", - "description": "The URL of the instance." + "description": "[Output Only] Indicates where does the override come from.", + "enum": [ + "AUTO_GENERATED", + "USER_GENERATED" + ], + "enumDescriptions": [ + "", + "" + ] } } }, @@ -7400,7 +10821,7 @@ }, "value": { "type": "string", - "description": "Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.", + "description": "Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 262144 bytes (256 KiB).", "annotations": { "required": [ "compute.instances.insert", @@ -7529,6 +10950,549 @@ } } }, + "NetworkEndpoint": { + "id": "NetworkEndpoint", + "type": "object", + "description": "The network endpoint.", + "properties": { + "instance": { + "type": "string", + "description": "The name for a specific VM instance that the IP address belongs to. This is required for network endpoints of type GCE_VM_IP and GCE_VM_IP_PORT. The instance must be in the same zone of network endpoint group.\n\nThe name must be 1-63 characters long, and comply with RFC1035." + }, + "ipAddress": { + "type": "string", + "description": "Optional IPv4 address of network endpoint. The IP address must belong to a VM in GCE (either the primary IP or as part of an aliased IP range). If the IP address is not specified, then the primary IP address for the VM instance in the network that the network endpoint group belongs to will be used." + }, + "port": { + "type": "integer", + "description": "Optional port number of network endpoint. If not specified and the NetworkEndpointGroup.network_endpoint_type is GCE_IP_PORT, the defaultPort for the network endpoint group will be used.", + "format": "int32" + } + } + }, + "NetworkEndpointGroup": { + "id": "NetworkEndpointGroup", + "type": "object", + "description": "Represents a collection of network endpoints.", + "properties": { + "creationTimestamp": { + "type": "string", + "description": "[Output Only] Creation timestamp in RFC3339 text format." + }, + "description": { + "type": "string", + "description": "An optional description of this resource. Provide this property when you create the resource." + }, + "id": { + "type": "string", + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64" + }, + "kind": { + "type": "string", + "description": "[Output Only] Type of the resource. Always compute#networkEndpointGroup for network endpoint group.", + "default": "compute#networkEndpointGroup" + }, + "loadBalancer": { + "$ref": "NetworkEndpointGroupLbNetworkEndpointGroup", + "description": "This field is only valid when the network endpoint group type is LOAD_BALANCING." + }, + "name": { + "type": "string", + "description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. 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." + }, + "networkEndpointType": { + "type": "string", + "description": "Type of network endpoints in this network endpoint group. Only supported values for LOAD_BALANCING are GCE_VM_IP or GCE_VM_IP_PORT.", + "enum": [ + "GCE_VM_IP_PORT" + ], + "enumDescriptions": [ + "" + ] + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server-defined URL for the resource." + }, + "size": { + "type": "integer", + "description": "[Output only] Number of network endpoints in the network endpoint group.", + "format": "int32" + }, + "type": { + "type": "string", + "description": "Specify the type of this network endpoint group. Only LOAD_BALANCING is valid for now.", + "enum": [ + "LOAD_BALANCING" + ], + "enumDescriptions": [ + "" + ] + } + } + }, + "NetworkEndpointGroupAggregatedList": { + "id": "NetworkEndpointGroupAggregatedList", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server." + }, + "items": { + "type": "object", + "description": "A list of NetworkEndpointGroupsScopedList resources.", + "additionalProperties": { + "$ref": "NetworkEndpointGroupsScopedList", + "description": "The name of the scope that contains this set of network endpoint groups." + } + }, + "kind": { + "type": "string", + "description": "[Output Only] The resource type, which is always compute#networkEndpointGroupAggregatedList for aggregated lists of network endpoint groups.", + "default": "compute#networkEndpointGroupAggregatedList" + }, + "nextPageToken": { + "type": "string", + "description": "[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 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." + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } + } + } + }, + "NetworkEndpointGroupLbNetworkEndpointGroup": { + "id": "NetworkEndpointGroupLbNetworkEndpointGroup", + "type": "object", + "description": "Load balancing specific fields for network endpoint group of type LOAD_BALANCING.", + "properties": { + "defaultPort": { + "type": "integer", + "description": "The default port used if the port number is not specified in the network endpoint. If the network endpoint type is GCE_VM_IP, this field must not be specified.", + "format": "int32" + }, + "network": { + "type": "string", + "description": "The URL of the network to which all network endpoints in the NEG belong. Uses \"default\" project network if unspecified." + }, + "subnetwork": { + "type": "string", + "description": "Optional URL of the subnetwork to which all network endpoints in the NEG belong." + }, + "zone": { + "type": "string", + "description": "[Output Only] The URL of the zone where the network endpoint group is located." + } + } + }, + "NetworkEndpointGroupList": { + "id": "NetworkEndpointGroupList", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server." + }, + "items": { + "type": "array", + "description": "A list of NetworkEndpointGroup resources.", + "items": { + "$ref": "NetworkEndpointGroup" + } + }, + "kind": { + "type": "string", + "description": "[Output Only] The resource type, which is always compute#networkEndpointGroupList for network endpoint group lists.", + "default": "compute#networkEndpointGroupList" + }, + "nextPageToken": { + "type": "string", + "description": "[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 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." + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } + } + } + }, + "NetworkEndpointGroupsAttachEndpointsRequest": { + "id": "NetworkEndpointGroupsAttachEndpointsRequest", + "type": "object", + "properties": { + "networkEndpoints": { + "type": "array", + "description": "The list of network endpoints to be attached.", + "items": { + "$ref": "NetworkEndpoint" + } + } + } + }, + "NetworkEndpointGroupsDetachEndpointsRequest": { + "id": "NetworkEndpointGroupsDetachEndpointsRequest", + "type": "object", + "properties": { + "networkEndpoints": { + "type": "array", + "description": "The list of network endpoints to be detached.", + "items": { + "$ref": "NetworkEndpoint" + } + } + } + }, + "NetworkEndpointGroupsListEndpointsRequest": { + "id": "NetworkEndpointGroupsListEndpointsRequest", + "type": "object", + "properties": { + "healthStatus": { + "type": "string", + "description": "Optional query parameter for showing the health status of each network endpoint. Valid options are SKIP or SHOW. If you don't specifiy this parameter, the health status of network endpoints will not be provided.", + "enum": [ + "SHOW", + "SKIP" + ], + "enumDescriptions": [ + "", + "" + ] + } + } + }, + "NetworkEndpointGroupsListNetworkEndpoints": { + "id": "NetworkEndpointGroupsListNetworkEndpoints", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server." + }, + "items": { + "type": "array", + "description": "A list of NetworkEndpointWithHealthStatus resources.", + "items": { + "$ref": "NetworkEndpointWithHealthStatus" + } + }, + "kind": { + "type": "string", + "description": "[Output Only] The resource type, which is always compute#networkEndpointGroupsListNetworkEndpoints for the list of network endpoints in the specified network endpoint group.", + "default": "compute#networkEndpointGroupsListNetworkEndpoints" + }, + "nextPageToken": { + "type": "string", + "description": "[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 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." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } + } + } + }, + "NetworkEndpointGroupsScopedList": { + "id": "NetworkEndpointGroupsScopedList", + "type": "object", + "properties": { + "networkEndpointGroups": { + "type": "array", + "description": "[Output Only] The list of network endpoint groups that are contained in this scope.", + "items": { + "$ref": "NetworkEndpointGroup" + } + }, + "warning": { + "type": "object", + "description": "[Output Only] An informational warning that replaces the list of network endpoint groups when the list is empty.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } + } + } + }, + "NetworkEndpointWithHealthStatus": { + "id": "NetworkEndpointWithHealthStatus", + "type": "object", + "properties": { + "healths": { + "type": "array", + "description": "[Output only] The health status of network endpoint;", + "items": { + "$ref": "HealthStatusForNetworkEndpoint" + } + }, + "networkEndpoint": { + "$ref": "NetworkEndpoint", + "description": "[Output only] The network endpoint;" + } + } + }, "NetworkInterface": { "id": "NetworkInterface", "type": "object", @@ -7583,11 +11547,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Network resources.", + "description": "A list of Network resources.", "items": { "$ref": "Network" } @@ -7604,6 +11568,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -7922,6 +11955,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -7953,6 +12055,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -8150,6 +12321,20 @@ "type": "string", "description": "[Output Only] Creation timestamp in RFC3339 text format." }, + "defaultNetworkTier": { + "type": "string", + "description": "This signifies the default network tier used for configuring resources of the project and can only take the following values: PREMIUM, STANDARD. Initially the default network tier is PREMIUM.", + "enum": [ + "PREMIUM", + "SELECT", + "STANDARD" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, "defaultServiceAccount": { "type": "string", "description": "[Output Only] Default service account used by VMs running in this project." @@ -8196,7 +12381,7 @@ }, "xpnProjectStatus": { "type": "string", - "description": "[Output Only] The role this project has in a Cross Project Network (XPN) configuration. Currently only HOST projects are differentiated.", + "description": "[Output Only] The role this project has in a shared VPC configuration. Currently only HOST projects are differentiated.", "enum": [ "HOST", "UNSPECIFIED_XPN_PROJECT_STATUS" @@ -8214,7 +12399,7 @@ "properties": { "xpnResource": { "$ref": "XpnResourceId", - "description": "XPN resource ID." + "description": "Service resource (a.k.a service project) ID." } } }, @@ -8224,7 +12409,7 @@ "properties": { "xpnResource": { "$ref": "XpnResourceId", - "description": "XPN resource ID." + "description": "Service resource (a.k.a service project) ID." } } }, @@ -8234,7 +12419,7 @@ "properties": { "kind": { "type": "string", - "description": "[Output Only] Type of resource. Always compute#projectsGetXpnResources for lists of XPN resources.", + "description": "[Output Only] Type of resource. Always compute#projectsGetXpnResources for lists of service resources (a.k.a service projects)", "default": "compute#projectsGetXpnResources" }, "nextPageToken": { @@ -8243,7 +12428,7 @@ }, "resources": { "type": "array", - "description": "XPN resources attached to this project as their XPN host.", + "description": "Service resources (a.k.a service projects) attached to this project as their shared VPC host.", "items": { "$ref": "XpnResourceId" } @@ -8256,7 +12441,27 @@ "properties": { "organization": { "type": "string", - "description": "Optional organization ID managed by Cloud Resource Manager, for which to list XPN host projects. If not specified, the organization will be inferred from the project." + "description": "Optional organization ID managed by Cloud Resource Manager, for which to list shared VPC host projects. If not specified, the organization will be inferred from the project." + } + } + }, + "ProjectsSetDefaultNetworkTierRequest": { + "id": "ProjectsSetDefaultNetworkTierRequest", + "type": "object", + "properties": { + "networkTier": { + "type": "string", + "description": "Default network tier to be set.", + "enum": [ + "PREMIUM", + "SELECT", + "STANDARD" + ], + "enumDescriptions": [ + "", + "", + "" + ] } } }, @@ -8300,15 +12505,20 @@ "INSTANCE_GROUPS", "INSTANCE_GROUP_MANAGERS", "INSTANCE_TEMPLATES", + "INTERCONNECTS", "IN_USE_ADDRESSES", "LOCAL_SSD_TOTAL_GB", "NETWORKS", "NVIDIA_K80_GPUS", + "NVIDIA_P100_GPUS", "PREEMPTIBLE_CPUS", + "PREEMPTIBLE_LOCAL_SSD_GB", "REGIONAL_AUTOSCALERS", "REGIONAL_INSTANCE_GROUP_MANAGERS", "ROUTERS", "ROUTES", + "SECURITY_POLICIES", + "SECURITY_POLICY_RULES", "SNAPSHOTS", "SSD_TOTAL_GB", "SSL_CERTIFICATES", @@ -8363,6 +12573,11 @@ "", "", "", + "", + "", + "", + "", + "", "" ] }, @@ -8467,11 +12682,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "A list of autoscalers.", + "description": "A list of Autoscaler resources.", "items": { "$ref": "Autoscaler" } @@ -8483,11 +12698,80 @@ }, "nextPageToken": { "type": "string", - "description": "[Output Only] A token used to continue a truncated list request." + "description": "[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 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." }, "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -8497,11 +12781,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Disk Type resources.", + "description": "A list of DiskType resources.", "items": { "$ref": "DiskType" } @@ -8518,6 +12802,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -8539,7 +12892,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -8559,7 +12912,76 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] The URL for this resource type. The server generates this URL." + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -8584,11 +13006,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "A list of managed instance groups.", + "description": "A list of InstanceGroupManager resources.", "items": { "$ref": "InstanceGroupManager" } @@ -8600,11 +13022,80 @@ }, "nextPageToken": { "type": "string", - "description": "[Output only] A token used to continue a truncated list request." + "description": "[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 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." }, "selfLink": { "type": "string", - "description": "[Output only] The URL for this resource type. The server generates this URL." + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -8651,10 +13142,14 @@ "type": "string", "description": "The maximal action that should be perfomed on the instances. By default REPLACE.", "enum": [ + "NONE", + "REFRESH", "REPLACE", "RESTART" ], "enumDescriptions": [ + "", + "", "", "" ] @@ -8663,10 +13158,14 @@ "type": "string", "description": "The minimal action that should be perfomed on the instances. By default NONE.", "enum": [ + "NONE", + "REFRESH", "REPLACE", "RESTART" ], "enumDescriptions": [ + "", + "", "", "" ] @@ -8686,27 +13185,13 @@ } } }, - "RegionInstanceGroupManagersDeleteOverridesRequest": { - "id": "RegionInstanceGroupManagersDeleteOverridesRequest", - "type": "object", - "description": "RegionInstanceGroupManagers.deleteOverrides", - "properties": { - "instances": { - "type": "array", - "description": "The list of instances for which we want to delete overrides on this managed instance group.", - "items": { - "type": "string" - } - } - } - }, "RegionInstanceGroupManagersListInstanceConfigsResp": { "id": "RegionInstanceGroupManagersListInstanceConfigsResp", "type": "object", "properties": { "items": { "type": "array", - "description": "[Output Only] The list of per-instance configs in the managed instance group.", + "description": "[Output Only] The list of PerInstanceConfig.", "items": { "$ref": "PerInstanceConfig" } @@ -8714,6 +13199,75 @@ "nextPageToken": { "type": "string", "description": "[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 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." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -8734,23 +13288,6 @@ } } }, - "RegionInstanceGroupManagersListOverridesResponse": { - "id": "RegionInstanceGroupManagersListOverridesResponse", - "type": "object", - "properties": { - "items": { - "type": "array", - "description": "[Output Only] The list of overrides in the managed instance group.", - "items": { - "$ref": "ManagedInstanceOverride" - } - }, - "nextPageToken": { - "type": "string", - "description": "[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 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." - } - } - }, "RegionInstanceGroupManagersRecreateRequest": { "id": "RegionInstanceGroupManagersRecreateRequest", "type": "object", @@ -8804,31 +13341,17 @@ } } }, - "RegionInstanceGroupManagersUpdateOverridesRequest": { - "id": "RegionInstanceGroupManagersUpdateOverridesRequest", - "type": "object", - "description": "RegionInstanceGroupManagers.updateOverrides", - "properties": { - "overrides": { - "type": "array", - "description": "The list of overrides to insert or patch on this managed instance group.", - "items": { - "$ref": "ManagedInstanceOverride" - } - } - } - }, "RegionInstanceGroupsListInstances": { "id": "RegionInstanceGroupsListInstances", "type": "object", "properties": { "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource. Defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "A list of instances and any named ports that are assigned to those instances.", + "description": "A list of InstanceWithNamedPorts resources.", "items": { "$ref": "InstanceWithNamedPorts" } @@ -8844,7 +13367,76 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server-defined URL for the resource." + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -8896,11 +13488,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Region resources.", + "description": "A list of Region resources.", "items": { "$ref": "Region" } @@ -8917,6 +13509,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -9158,11 +13819,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource. Defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Route resources.", + "description": "A list of Route resources.", "items": { "$ref": "Route" } @@ -9179,6 +13840,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -9233,6 +13963,13 @@ ] } }, + "nats": { + "type": "array", + "description": "List of Nat services created in this router. The maximum number of Nat services within a Router is 3 for Alpha.", + "items": { + "$ref": "RouterNat" + } + }, "network": { "type": "string", "description": "URI of the network to which this router belongs.", @@ -9274,11 +14011,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "A map of scoped router lists.", + "description": "A list of Router resources.", "additionalProperties": { "$ref": "RoutersScopedList", "description": "Name of the scope containing this set of routers." @@ -9296,6 +14033,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -9437,7 +14243,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -9458,6 +14264,169 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } + } + } + }, + "RouterNat": { + "id": "RouterNat", + "type": "object", + "description": "Represents a Nat resource. It enables the VMs within the specified subnetworks to access Internet without external IP addresses. It specifies a list of subnetworks (and the ranges within) that want to use NAT. Customers can also provide the external IPs that would be used for NAT. GCP would auto-allocate ephemeral IPs if no external IPs are provided.", + "properties": { + "autoAllocatedNatIps": { + "type": "array", + "description": "[Output Only] List of IPs allocated automatically by GCP for this Nat service. They will be raw IP strings like \"179.12.26.133\". They are ephemeral IPs allocated from the IP blocks managed by the NAT manager. This list can grow and shrink based on the number of VMs configured to use NAT.", + "items": { + "type": "string" + } + }, + "name": { + "type": "string", + "description": "Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?" + }, + "natIpAllocateOption": { + "type": "string", + "description": "Specify the NatIpAllocateOption. If it is AUTO_ONLY, then nat_ip should be empty.", + "enum": [ + "AUTO_ONLY", + "MANUAL_ONLY" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "natIps": { + "type": "array", + "description": "List of URLs of the IP resources used for this Nat service. These IPs must be valid static external IP addresses assigned to the project. max_length is subject to change post alpha.", + "items": { + "type": "string" + } + }, + "sourceSubnetworkIpRangesToNat": { + "type": "string", + "description": "Specify the Nat option. If this field contains ALL_SUBNETWORKS_ALL_IP_RANGES or ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, then there should not be any other Router.Nat section in any Router for this network in this region.", + "enum": [ + "ALL_SUBNETWORKS_ALL_IP_RANGES", + "ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES", + "LIST_OF_SUBNETWORKS" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, + "subnetworks": { + "type": "array", + "description": "List of Subnetwork resources whose traffic should be translated by NAT Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the SubnetworkIpRangeToNatOption above.", + "items": { + "$ref": "RouterNatSubnetworkToNat" + } + } + } + }, + "RouterNatSubnetworkToNat": { + "id": "RouterNatSubnetworkToNat", + "type": "object", + "description": "Defines the IP ranges that want to use NAT for a subnetwork.", + "properties": { + "name": { + "type": "string", + "description": "URL for the subnetwork resource to use NAT." + }, + "secondaryIpRangeNames": { + "type": "array", + "description": "List of the secondary ranges of the Subnetwork that are allowed to use NAT. This can be populated only if \"LIST_OF_SECONDARY_IP_RANGES\" is one of the values in source_ip_ranges_to_nat.", + "items": { + "type": "string" + } + }, + "sourceIpRangesToNats": { + "type": "array", + "description": "Specify the options for NAT ranges in the Subnetwork. All usages of single value are valid except NAT_IP_RANGE_OPTION_UNSPECIFIED. The only valid option with multiple values is: [\"PRIMARY_IP_RANGE\", \"LIST_OF_SECONDARY_IP_RANGES\"] Default: [ALL_IP_RANGES]", + "items": { + "type": "string", + "enum": [ + "ALL_IP_RANGES", + "LIST_OF_SECONDARY_IP_RANGES", + "PRIMARY_IP_RANGE" + ], + "enumDescriptions": [ + "", + "", + "" + ] + } } } }, @@ -9485,6 +14454,12 @@ "$ref": "RouterStatusBgpPeerStatus" } }, + "natStatus": { + "type": "array", + "items": { + "$ref": "RouterStatusNatStatus" + } + }, "network": { "type": "string", "description": "URI of the network to which this router belongs." @@ -9551,6 +14526,48 @@ } } }, + "RouterStatusNatStatus": { + "id": "RouterStatusNatStatus", + "type": "object", + "description": "Status of a NAT contained in this router.", + "properties": { + "autoAllocatedNatIps": { + "type": "array", + "description": "List of IPs auto-allocated for NAT. Example: [\"1.1.1.1\", \"129.2.16.89\"]", + "items": { + "type": "string" + } + }, + "minExtraNatIpsNeeded": { + "type": "integer", + "description": "The number of extra IPs to allocate. This will be greater than 0 only if user-specified IPs are NOT enough to allow all configured VMs to use NAT. This value is meaningful only when auto-allocation of NAT IPs is *not* used.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Unique name of this NAT." + }, + "numVmEndpointsWithNatMappings": { + "type": "integer", + "description": "Number of VM endpoints (i.e., Nics) that can use NAT.", + "format": "int32" + }, + "userAllocatedNatIpResources": { + "type": "array", + "description": "List of fully qualified URLs of reserved IP address resources.", + "items": { + "type": "string" + } + }, + "userAllocatedNatIps": { + "type": "array", + "description": "List of IPs user-allocated for NAT. They will be raw IP strings like \"179.12.26.133\".", + "items": { + "type": "string" + } + } + } + }, "RouterStatusResponse": { "id": "RouterStatusResponse", "type": "object", @@ -9736,6 +14753,20 @@ "type": "string", "description": "Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence." }, + "portSpecification": { + "type": "string", + "description": "Specifies how port is selected for health checking, can be one of following values:\nUSE_FIXED_PORT: The port number in\nport\nis used for health checking.\nUSE_NAMED_PORT: The\nportName\nis used for health checking.\nUSE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking.\n\n\nIf not specified, SSL health check follows behavior specified in\nport\nand\nportName\nfields.", + "enum": [ + "USE_FIXED_PORT", + "USE_NAMED_PORT", + "USE_SERVING_PORT" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, "proxyHeader": { "type": "string", "description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", @@ -9785,32 +14816,6 @@ } } }, - "SecurityPoliciesList": { - "id": "SecurityPoliciesList", - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." - }, - "items": { - "type": "array", - "description": "[Output Only] A list of SecurityPolicy resources.", - "items": { - "$ref": "SecurityPolicy" - } - }, - "kind": { - "type": "string", - "description": "[Output Only] Type of resource. Always compute#securityPoliciesList for listsof securityPolicies", - "default": "compute#securityPoliciesList" - }, - "nextPageToken": { - "type": "string", - "description": "[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 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." - } - } - }, "SecurityPolicy": { "id": "SecurityPolicy", "type": "object", @@ -9857,6 +14862,101 @@ } } }, + "SecurityPolicyList": { + "id": "SecurityPolicyList", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server." + }, + "items": { + "type": "array", + "description": "A list of SecurityPolicy resources.", + "items": { + "$ref": "SecurityPolicy" + } + }, + "kind": { + "type": "string", + "description": "[Output Only] Type of resource. Always compute#securityPolicyList for listsof securityPolicies", + "default": "compute#securityPolicyList" + }, + "nextPageToken": { + "type": "string", + "description": "[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 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." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } + } + } + }, "SecurityPolicyReference": { "id": "SecurityPolicyReference", "type": "object", @@ -9869,7 +14969,7 @@ "SecurityPolicyRule": { "id": "SecurityPolicyRule", "type": "object", - "description": "Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny)", + "description": "Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).", "properties": { "action": { "type": "string", @@ -9881,7 +14981,7 @@ }, "kind": { "type": "string", - "description": "[Output only] Type of the resource. Always compute#rulefor security policies", + "description": "[Output only] Type of the resource. Always compute#securityPolicyRule for security policy rules", "default": "compute#securityPolicyRule" }, "match": { @@ -9902,8 +15002,12 @@ "SecurityPolicyRuleMatcher": { "id": "SecurityPolicyRuleMatcher", "type": "object", - "description": "Represents a match condition that incoming traffic is evaluated against. Exactly one of the fields must be set.", + "description": "Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified.", "properties": { + "config": { + "$ref": "SecurityPolicyRuleMatcherConfig", + "description": "The configuration options available when specifying versioned_expr. This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified." + }, "srcIpRanges": { "type": "array", "description": "CIDR IP address range. Only IPv4 is supported.", @@ -9917,6 +15021,31 @@ "items": { "type": "string" } + }, + "versionedExpr": { + "type": "string", + "description": "Preconfigured versioned expression. If this field is specified, config must also be specified. Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range field in config.", + "enum": [ + "SRC_IPS_V1", + "VERSIONED_EXPR_UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "" + ] + } + } + }, + "SecurityPolicyRuleMatcherConfig": { + "id": "SecurityPolicyRuleMatcherConfig", + "type": "object", + "properties": { + "srcIpRanges": { + "type": "array", + "description": "CIDR IP address range. Only IPv4 is supported.", + "items": { + "type": "string" + } } } }, @@ -10024,6 +15153,14 @@ "type": "string" } }, + "licenseCodes": { + "type": "array", + "description": "Integer license codes indicating which licenses are attached to this snapshot.", + "items": { + "type": "string", + "format": "int64" + } + }, "licenses": { "type": "array", "description": "[Output Only] A list of public visible licenses that apply to this snapshot. This can be because the original image had licenses attached (such as a Windows image).", @@ -10076,7 +15213,7 @@ }, "storageBytes": { "type": "string", - "description": "[Output Only] A size of the the storage used by the snapshot. As snapshots share storage, this number is expected to change with snapshot creation/deletion.", + "description": "[Output Only] A size of the storage used by the snapshot. As snapshots share storage, this number is expected to change with snapshot creation/deletion.", "format": "int64" }, "storageBytesStatus": { @@ -10100,11 +15237,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Snapshot resources.", + "description": "A list of Snapshot resources.", "items": { "$ref": "Snapshot" } @@ -10121,6 +15258,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -10173,7 +15379,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource. Defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -10194,6 +15400,353 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } + } + } + }, + "SslPoliciesList": { + "id": "SslPoliciesList", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server." + }, + "items": { + "type": "array", + "description": "A list of SslPolicy resources.", + "items": { + "$ref": "SslPolicy" + } + }, + "kind": { + "type": "string", + "description": "[Output Only] Type of the resource. Always compute#sslPoliciesList for lists of sslPolicies.", + "default": "compute#sslPoliciesList" + }, + "nextPageToken": { + "type": "string", + "description": "[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 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." + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } + } + } + }, + "SslPoliciesListAvailableFeaturesResponse": { + "id": "SslPoliciesListAvailableFeaturesResponse", + "type": "object", + "properties": { + "features": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "SslPolicy": { + "id": "SslPolicy", + "type": "object", + "description": "A SSL policy specifies the server-side support for SSL features. This can be attached to a TargetHttpsProxy or a TargetSslProxy. This affects connections between clients and the HTTPS or SSL proxy load balancer. They do not affect the connection between the load balancers and the backends.", + "properties": { + "creationTimestamp": { + "type": "string", + "description": "[Output Only] Creation timestamp in RFC3339 text format." + }, + "customFeatures": { + "type": "array", + "description": "List of features enabled when the selected profile is CUSTOM. The\n- method returns the set of features that can be specified in this list. This field must be empty if the profile is not CUSTOM.", + "items": { + "type": "string" + } + }, + "description": { + "type": "string", + "description": "An optional description of this resource. Provide this property when you create the resource." + }, + "enabledFeatures": { + "type": "array", + "description": "[Output Only] The list of features enabled in the SSL policy.", + "items": { + "type": "string" + } + }, + "fingerprint": { + "type": "string", + "description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a SslPolicy. An up-to-date fingerprint must be provided in order to update the SslPolicy.", + "format": "byte" + }, + "id": { + "type": "string", + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64" + }, + "kind": { + "type": "string", + "description": "[Output only] Type of the resource. Always compute#sslPolicyfor SSL policies.", + "default": "compute#sslPolicy" + }, + "minTlsVersion": { + "type": "string", + "description": "The minimum version of SSL protocol that can be used by the clients to establish a connection with the load balancer. This can be one of TLS_1_0, TLS_1_1, TLS_1_2, TLS_1_3.", + "enum": [ + "TLS_1_0", + "TLS_1_1", + "TLS_1_2", + "TLS_1_3" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ] + }, + "name": { + "type": "string", + "description": "Name of the resource. The name must be 1-63 characters long, and comply with RFC1035. 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.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?" + }, + "profile": { + "type": "string", + "description": "Profile specifies the set of SSL features that can be used by the load balancer when negotiating SSL with clients. This can be one of COMPATIBLE, MODERN, RESTRICTED, or CUSTOM. If using CUSTOM, the set of SSL features to enable must be specified in the customFeatures field.", + "enum": [ + "COMPATIBLE", + "CUSTOM", + "MODERN", + "RESTRICTED" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ] + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server-defined URL for the resource." + }, + "warnings": { + "type": "array", + "description": "[Output Only] If potential misconfigurations are detected for this SSL policy, this field will be populated with warning messages.", + "items": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } + } + } + } + }, + "SslPolicyReference": { + "id": "SslPolicyReference", + "type": "object", + "properties": { + "sslPolicy": { + "type": "string", + "description": "URL of the SSL policy resource. Set this to empty string to clear any existing SSL policy associated with the target proxy resource." } } }, @@ -10216,7 +15769,7 @@ }, "fingerprint": { "type": "string", - "description": "Fingerprint generated from a hash of the resource contents.", + "description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date fingerprint must be provided in order to update the Subnetwork.", "format": "byte" }, "gatewayAddress": { @@ -10273,11 +15826,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output] A map of scoped Subnetwork lists.", + "description": "A list of SubnetworksScopedList resources.", "additionalProperties": { "$ref": "SubnetworksScopedList", "description": "Name of the scope containing this set of Subnetworks." @@ -10295,6 +15848,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -10305,11 +15927,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "The Subnetwork resources.", + "description": "A list of Subnetwork resources.", "items": { "$ref": "Subnetwork" } @@ -10326,6 +15948,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -10458,6 +16149,20 @@ "type": "string", "description": "Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence." }, + "portSpecification": { + "type": "string", + "description": "Specifies how port is selected for health checking, can be one of following values:\nUSE_FIXED_PORT: The port number in\nport\nis used for health checking.\nUSE_NAMED_PORT: The\nportName\nis used for health checking.\nUSE_SERVING_PORT: For NetworkEndpointGroup, the port specified for each network endpoint is used for health checking. For other backends, the port or named port specified in the Backend Service is used for health checking.\n\n\nIf not specified, TCP health check follows behavior specified in\nport\nand\nportName\nfields.", + "enum": [ + "USE_FIXED_PORT", + "USE_NAMED_PORT", + "USE_SERVING_PORT" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, "proxyHeader": { "type": "string", "description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", @@ -10544,7 +16249,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -10565,6 +16270,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -10658,6 +16432,10 @@ "type": "string" } }, + "sslPolicy": { + "type": "string", + "description": "URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource will not have any SSL policy configured." + }, "urlMap": { "type": "string", "description": "A fully-qualified or valid partial URL to the UrlMap resource that defines the mapping from URL to the BackendService. For example, the following are all valid URLs for specifying a URL map: \n- https://www.googleapis.compute/v1/projects/project/global/urlMaps/url-map \n- projects/project/global/urlMaps/url-map \n- global/urlMaps/url-map" @@ -10671,7 +16449,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -10692,6 +16470,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -10757,7 +16604,7 @@ }, "items": { "type": "object", - "description": "A map of scoped target instance lists.", + "description": "A list of TargetInstance resources.", "additionalProperties": { "$ref": "TargetInstancesScopedList", "description": "Name of the scope containing this set of target instances." @@ -10775,6 +16622,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -10785,7 +16701,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -10806,6 +16722,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -10976,11 +16961,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource. Defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of scoped target pool lists.", + "description": "A list of TargetPool resources.", "additionalProperties": { "$ref": "TargetPoolsScopedList", "description": "Name of the scope containing this set of target pools." @@ -10998,6 +16983,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -11025,7 +17079,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource. Defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -11046,6 +17100,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -11291,6 +17414,10 @@ "items": { "type": "string" } + }, + "sslPolicy": { + "type": "string", + "description": "URL of SslPolicy resource that will be associated with the TargetSslProxy resource. If not set, the TargetSslProxy resource will not have any SSL policy configured." } } }, @@ -11301,7 +17428,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -11322,6 +17449,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -11410,7 +17606,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -11431,6 +17627,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -11464,6 +17729,18 @@ "description": "[Output Only] Type of resource. Always compute#targetVpnGateway for target VPN gateways.", "default": "compute#targetVpnGateway" }, + "labelFingerprint": { + "type": "string", + "description": "A fingerprint for the labels being applied to this TargetVpnGateway, which is essentially a hash of the labels set used for optimistic locking. 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 in order to update or change labels.\n\nTo see the latest fingerprint, make a get() request to retrieve an TargetVpnGateway.", + "format": "byte" + }, + "labels": { + "type": "object", + "description": "Labels to apply to this TargetVpnGateway resource. These can be later modified by the setLabels method. Each label key/value must comply with RFC1035. Label values may be empty.", + "additionalProperties": { + "type": "string" + } + }, "name": { "type": "string", "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. 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.", @@ -11522,11 +17799,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "A map of scoped target vpn gateway lists.", + "description": "A list of TargetVpnGateway resources.", "additionalProperties": { "$ref": "TargetVpnGatewaysScopedList", "description": "[Output Only] Name of the scope containing this set of target VPN gateways." @@ -11544,6 +17821,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -11554,11 +17900,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of TargetVpnGateway resources.", + "description": "A list of TargetVpnGateway resources.", "items": { "$ref": "TargetVpnGateway" } @@ -11575,6 +17921,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -11798,7 +18213,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource. Set by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -11819,6 +18234,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -11900,6 +18384,116 @@ } } }, + "UsableSubnetwork": { + "id": "UsableSubnetwork", + "type": "object", + "description": "Subnetwork which the current user has compute.subnetworks.use permission on.", + "properties": { + "subnetwork": { + "type": "string", + "description": "Subnetwork URL." + } + } + }, + "UsableSubnetworksAggregatedList": { + "id": "UsableSubnetworksAggregatedList", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + }, + "items": { + "type": "array", + "description": "[Output] A list of usable subnetwork URLs.", + "items": { + "$ref": "UsableSubnetwork" + } + }, + "kind": { + "type": "string", + "description": "[Output Only] Type of resource. Always compute#usableSubnetworksAggregatedList for aggregated lists of usable subnetworks.", + "default": "compute#usableSubnetworksAggregatedList" + }, + "nextPageToken": { + "type": "string", + "description": "[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 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." + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } + } + } + }, "UsageExportLocation": { "id": "UsageExportLocation", "type": "object", @@ -12055,11 +18649,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of scoped vpn tunnel lists.", + "description": "A list of VpnTunnelsScopedList resources.", "additionalProperties": { "$ref": "VpnTunnelsScopedList", "description": "Name of the scope containing this set of vpn tunnels." @@ -12077,6 +18671,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -12087,11 +18750,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of VpnTunnel resources.", + "description": "A list of VpnTunnel resources.", "items": { "$ref": "VpnTunnel" } @@ -12108,6 +18771,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -12199,18 +18931,18 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of XPN host project URLs.", + "description": "[Output Only] A list of shared VPC host project URLs.", "items": { "$ref": "Project" } }, "kind": { "type": "string", - "description": "[Output Only] Type of resource. Always compute#xpnHostList for lists of XPN hosts.", + "description": "[Output Only] Type of resource. Always compute#xpnHostList for lists of shared VPC hosts.", "default": "compute#xpnHostList" }, "nextPageToken": { @@ -12220,21 +18952,90 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, "XpnResourceId": { "id": "XpnResourceId", "type": "object", - "description": "XpnResourceId", + "description": "Service resource (a.k.a service project) ID.", "properties": { "id": { "type": "string", - "description": "The ID of the XPN resource. In the case of projects, this field matches the project's name, not the canonical ID." + "description": "The ID of the service resource. In the case of projects, this field matches the project ID (e.g., my-project), not the project number (e.g., 12345678)." }, "type": { "type": "string", - "description": "The type of the XPN resource.", + "description": "The type of the service resource.", "enum": [ "PROJECT", "XPN_RESOURCE_TYPE_UNSPECIFIED" @@ -12317,7 +19118,7 @@ }, "items": { "type": "array", - "description": "[Output Only] A list of Zone resources.", + "description": "A list of Zone resources.", "items": { "$ref": "Zone" } @@ -12334,6 +19135,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -13123,8 +19993,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "testIamPermissions": { @@ -13396,7 +20265,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", "location": "path" } }, @@ -13533,8 +20402,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "setIamPolicy": { @@ -13554,7 +20422,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", "location": "path" } }, @@ -13590,7 +20458,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -14016,8 +20884,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "setSecurityPolicy": { @@ -14077,7 +20944,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -14159,7 +21026,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -15052,8 +21919,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "testIamPermissions": { @@ -15073,7 +21939,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -15419,8 +22285,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "setLabels": { @@ -15777,7 +22642,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -15993,8 +22858,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "setLabels": { @@ -16091,7 +22955,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -16473,8 +23337,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "testIamPermissions": { @@ -16494,7 +23357,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -17273,8 +24136,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "testIamPermissions": { @@ -17294,7 +24156,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -17551,8 +24413,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "testIamPermissions": { @@ -17572,7 +24433,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -17697,7 +24558,7 @@ }, "requestId": { "type": "string", - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and then the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "location": "query" } }, @@ -17801,7 +24662,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", "location": "path" } }, @@ -17925,7 +24786,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", "location": "path" } }, @@ -17997,7 +24858,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -18250,48 +25111,6 @@ "https://www.googleapis.com/auth/compute" ] }, - "deleteOverrides": { - "id": "compute.instanceGroupManagers.deleteOverrides", - "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteOverrides", - "httpMethod": "POST", - "description": "Delete selected overrides for the managed instance group.", - "parameters": { - "instanceGroupManager": { - "type": "string", - "description": "The name of the managed instance group.", - "required": true, - "location": "path" - }, - "project": { - "type": "string", - "description": "Project ID for this request.", - "required": true, - "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])?))", - "location": "path" - }, - "zone": { - "type": "string", - "description": "The name of the zone where the managed instance group is located. It should conform to RFC1035.", - "required": true, - "location": "path" - } - }, - "parameterOrder": [ - "project", - "zone", - "instanceGroupManager" - ], - "request": { - "$ref": "InstanceGroupManagersDeleteOverridesRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, "deletePerInstanceConfigs": { "id": "compute.instanceGroupManagers.deletePerInstanceConfigs", "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", @@ -18529,69 +25348,6 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "listOverrides": { - "id": "compute.instanceGroupManagers.listOverrides", - "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listOverrides", - "httpMethod": "POST", - "description": "Lists all of the overrides defined for the managed instance group.", - "parameters": { - "filter": { - "type": "string", - "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", - "location": "query" - }, - "instanceGroupManager": { - "type": "string", - "description": "The name of the managed instance group. It should conform to RFC1035.", - "required": true, - "location": "path" - }, - "maxResults": { - "type": "integer", - "description": "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)", - "default": "500", - "format": "uint32", - "minimum": "0", - "location": "query" - }, - "orderBy": { - "type": "string", - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", - "location": "query" - }, - "pageToken": { - "type": "string", - "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", - "location": "query" - }, - "project": { - "type": "string", - "description": "Project ID for this request.", - "required": true, - "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])?))", - "location": "path" - }, - "zone": { - "type": "string", - "description": "The name of the zone where the managed instance group is located. It should conform to RFC1035.", - "required": true, - "location": "path" - } - }, - "parameterOrder": [ - "project", - "zone", - "instanceGroupManager" - ], - "response": { - "$ref": "InstanceGroupManagersListOverridesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, "listPerInstanceConfigs": { "id": "compute.instanceGroupManagers.listPerInstanceConfigs", "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs", @@ -18699,8 +25455,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "recreateInstances": { @@ -19082,53 +25837,6 @@ "https://www.googleapis.com/auth/compute" ] }, - "updateOverrides": { - "id": "compute.instanceGroupManagers.updateOverrides", - "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/updateOverrides", - "httpMethod": "POST", - "description": "Insert or patch (for the ones that already exist) overrides for the managed instance group.", - "parameters": { - "instanceGroupManager": { - "type": "string", - "description": "The name of the managed instance group. It should conform to RFC1035.", - "required": true, - "location": "path" - }, - "project": { - "type": "string", - "description": "Project ID for this request.", - "required": true, - "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])?))", - "location": "path" - }, - "requestId": { - "type": "string", - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", - "location": "query" - }, - "zone": { - "type": "string", - "description": "The name of the zone where the managed instance group is located. It should conform to RFC1035.", - "required": true, - "location": "path" - } - }, - "parameterOrder": [ - "project", - "zone", - "instanceGroupManager" - ], - "request": { - "$ref": "InstanceGroupManagersUpdateOverridesRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, "updatePerInstanceConfigs": { "id": "compute.instanceGroupManagers.updatePerInstanceConfigs", "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs", @@ -19150,7 +25858,7 @@ }, "requestId": { "type": "string", - "description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "location": "query" }, "zone": { @@ -19836,7 +26544,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -20220,6 +26928,53 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "getGuestAttributes": { + "id": "compute.instances.getGuestAttributes", + "path": "{project}/zones/{zone}/instances/{instance}/getGuestAttributes", + "httpMethod": "GET", + "description": "Returns the specified guest attributes entry.", + "parameters": { + "instance": { + "type": "string", + "description": "Name of the instance scoping this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "variableKey": { + "type": "string", + "description": "Specifies the key for the guest attributes entry.", + "location": "query" + }, + "zone": { + "type": "string", + "description": "The name of the zone for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "zone", + "instance" + ], + "response": { + "$ref": "GuestAttributes" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "getIamPolicy": { "id": "compute.instances.getIamPolicy", "path": "{project}/zones/{zone}/instances/{resource}/getIamPolicy", @@ -20533,6 +27288,58 @@ "https://www.googleapis.com/auth/compute" ] }, + "setDeletionProtection": { + "id": "compute.instances.setDeletionProtection", + "path": "{project}/zones/{zone}/instances/{resource}/setDeletionProtection", + "httpMethod": "POST", + "description": "Sets deletion protection on the instance.", + "parameters": { + "deletionProtection": { + "type": "boolean", + "description": "Whether the resource should be protected against deletion.", + "default": "true", + "location": "query" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, + "resource": { + "type": "string", + "description": "Name of the resource for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "zone": { + "type": "string", + "description": "The name of the zone for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "zone", + "resource" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "setDiskAutoDelete": { "id": "compute.instances.setDiskAutoDelete", "path": "{project}/zones/{zone}/instances/{instance}/setDiskAutoDelete", @@ -21317,7 +28124,7 @@ "id": "compute.instances.updateAccessConfig", "path": "{project}/zones/{zone}/instances/{instance}/updateAccessConfig", "httpMethod": "POST", - "description": "Updates the specified access config from an instance's network interface with the data included in the request.", + "description": "Updates the specified access config from an instance's network interface with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "parameters": { "instance": { "type": "string", @@ -21706,6 +28513,50 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "setIamPolicy": { + "id": "compute.interconnectAttachments.setIamPolicy", + "path": "{project}/regions/{region}/interconnectAttachments/{resource}/setIamPolicy", + "httpMethod": "POST", + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "region": { + "type": "string", + "description": "The name of the region for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "resource": { + "type": "string", + "description": "Name of the resource for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "region", + "resource" + ], + "request": { + "$ref": "Policy" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "testIamPermissions": { "id": "compute.interconnectAttachments.testIamPermissions", "path": "{project}/regions/{region}/interconnectAttachments/{resource}/testIamPermissions", @@ -21855,7 +28706,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -21951,6 +28802,40 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "getIamPolicy": { + "id": "compute.interconnects.getIamPolicy", + "path": "{project}/global/interconnects/{resource}/getIamPolicy", + "httpMethod": "GET", + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "resource": { + "type": "string", + "description": "Name of the resource for this request.", + "required": true, + "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "resource" + ], + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "insert": { "id": "compute.interconnects.insert", "path": "{project}/global/interconnects", @@ -22071,8 +28956,43 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" + ] + }, + "setIamPolicy": { + "id": "compute.interconnects.setIamPolicy", + "path": "{project}/global/interconnects/{resource}/setIamPolicy", + "httpMethod": "POST", + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "resource": { + "type": "string", + "description": "Name of the resource for this request.", + "required": true, + "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "resource" + ], + "request": { + "$ref": "Policy" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" ] }, "testIamPermissions": { @@ -22092,7 +29012,152 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "resource" + ], + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, + "licenseCodes": { + "methods": { + "get": { + "id": "compute.licenseCodes.get", + "path": "{project}/global/licenseCodes/{licenseCode}", + "httpMethod": "GET", + "description": "Return a specified license code. License codes are mirrored across all projects that have permissions to read the License Code.", + "parameters": { + "licenseCode": { + "type": "string", + "description": "Number corresponding to the License code resource to return.", + "required": true, + "pattern": "[0-9]{0,61}?", + "location": "path" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "licenseCode" + ], + "response": { + "$ref": "LicenseCode" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "getIamPolicy": { + "id": "compute.licenseCodes.getIamPolicy", + "path": "{project}/global/licenseCodes/{resource}/getIamPolicy", + "httpMethod": "GET", + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "resource": { + "type": "string", + "description": "Name of the resource for this request.", + "required": true, + "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "resource" + ], + "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": { + "id": "compute.licenseCodes.setIamPolicy", + "path": "{project}/global/licenseCodes/{resource}/setIamPolicy", + "httpMethod": "POST", + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "resource": { + "type": "string", + "description": "Name of the resource for this request.", + "required": true, + "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "resource" + ], + "request": { + "$ref": "Policy" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "testIamPermissions": { + "id": "compute.licenseCodes.testIamPermissions", + "path": "{project}/global/licenseCodes/{resource}/testIamPermissions", + "httpMethod": "POST", + "description": "Returns permissions that a caller has on the specified resource.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "resource": { + "type": "string", + "description": "Name of the resource for this request.", + "required": true, + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -22135,6 +29200,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -22200,7 +29270,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", "location": "path" } }, @@ -22319,7 +29389,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", "location": "path" } }, @@ -22355,7 +29425,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -22529,6 +29599,444 @@ } } }, + "networkEndpointGroups": { + "methods": { + "aggregatedList": { + "id": "compute.networkEndpointGroups.aggregatedList", + "path": "{project}/aggregated/networkEndpointGroups", + "httpMethod": "GET", + "description": "Retrieves the list of network endpoint groups and sorts them by zone.", + "parameters": { + "filter": { + "type": "string", + "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "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)", + "default": "500", + "format": "uint32", + "minimum": "0", + "location": "query" + }, + "orderBy": { + "type": "string", + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "location": "query" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project" + ], + "response": { + "$ref": "NetworkEndpointGroupAggregatedList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "attachNetworkEndpoints": { + "id": "compute.networkEndpointGroups.attachNetworkEndpoints", + "path": "{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", + "httpMethod": "POST", + "description": "Attach a list of network endpoints to the specified network endpoint group.", + "parameters": { + "networkEndpointGroup": { + "type": "string", + "description": "The name of the network endpoint group where you are attaching network endpoints to. It should comply with RFC1035.", + "required": true, + "location": "path" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, + "zone": { + "type": "string", + "description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "project", + "zone", + "networkEndpointGroup" + ], + "request": { + "$ref": "NetworkEndpointGroupsAttachEndpointsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "delete": { + "id": "compute.networkEndpointGroups.delete", + "path": "{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", + "httpMethod": "DELETE", + "description": "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.", + "parameters": { + "networkEndpointGroup": { + "type": "string", + "description": "The name of the network endpoint group to delete. It should comply with RFC1035.", + "required": true, + "location": "path" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, + "zone": { + "type": "string", + "description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "project", + "zone", + "networkEndpointGroup" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "detachNetworkEndpoints": { + "id": "compute.networkEndpointGroups.detachNetworkEndpoints", + "path": "{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", + "httpMethod": "POST", + "description": "Detach a list of network endpoints from the specified network endpoint group.", + "parameters": { + "networkEndpointGroup": { + "type": "string", + "description": "The name of the network endpoint group where you are removing network endpoints. It should comply with RFC1035.", + "required": true, + "location": "path" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, + "zone": { + "type": "string", + "description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "project", + "zone", + "networkEndpointGroup" + ], + "request": { + "$ref": "NetworkEndpointGroupsDetachEndpointsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "id": "compute.networkEndpointGroups.get", + "path": "{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", + "httpMethod": "GET", + "description": "Returns the specified network endpoint group. Get a list of available network endpoint groups by making a list() request.", + "parameters": { + "networkEndpointGroup": { + "type": "string", + "description": "The name of the network endpoint group. It should comply with RFC1035.", + "required": true, + "location": "path" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "zone": { + "type": "string", + "description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "project", + "zone", + "networkEndpointGroup" + ], + "response": { + "$ref": "NetworkEndpointGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "id": "compute.networkEndpointGroups.insert", + "path": "{project}/zones/{zone}/networkEndpointGroups", + "httpMethod": "POST", + "description": "Creates a network endpoint group in the specified project using the parameters that are included in the request.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, + "zone": { + "type": "string", + "description": "The name of the zone where you want to create the network endpoint group. It should comply with RFC1035.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "project", + "zone" + ], + "request": { + "$ref": "NetworkEndpointGroup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "id": "compute.networkEndpointGroups.list", + "path": "{project}/zones/{zone}/networkEndpointGroups", + "httpMethod": "GET", + "description": "Retrieves the list of network endpoint groups that are located in the specified project and zone.", + "parameters": { + "filter": { + "type": "string", + "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "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)", + "default": "500", + "format": "uint32", + "minimum": "0", + "location": "query" + }, + "orderBy": { + "type": "string", + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "location": "query" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "zone": { + "type": "string", + "description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "project", + "zone" + ], + "response": { + "$ref": "NetworkEndpointGroupList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "listNetworkEndpoints": { + "id": "compute.networkEndpointGroups.listNetworkEndpoints", + "path": "{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", + "httpMethod": "POST", + "description": "List the network endpoints in the specified network endpoint group.", + "parameters": { + "filter": { + "type": "string", + "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "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)", + "default": "500", + "format": "uint32", + "minimum": "0", + "location": "query" + }, + "networkEndpointGroup": { + "type": "string", + "description": "The name of the network endpoint group from which you want to generate a list of included network endpoints. It should comply with RFC1035.", + "required": true, + "location": "path" + }, + "orderBy": { + "type": "string", + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "location": "query" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "zone": { + "type": "string", + "description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "project", + "zone", + "networkEndpointGroup" + ], + "request": { + "$ref": "NetworkEndpointGroupsListEndpointsRequest" + }, + "response": { + "$ref": "NetworkEndpointGroupsListNetworkEndpoints" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "testIamPermissions": { + "id": "compute.networkEndpointGroups.testIamPermissions", + "path": "{project}/zones/{zone}/networkEndpointGroups/{resource}/testIamPermissions", + "httpMethod": "POST", + "description": "Returns permissions that a caller has on the specified resource.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "resource": { + "type": "string", + "description": "Name of the resource for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "zone": { + "type": "string", + "description": "The name of the zone for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "zone", + "resource" + ], + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, "networks": { "methods": { "addPeering": { @@ -22848,8 +30356,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "removePeering": { @@ -22948,7 +30455,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -22976,7 +30483,7 @@ "id": "compute.projects.disableXpnHost", "path": "{project}/disableXpnHost", "httpMethod": "POST", - "description": "Disable this project as an XPN host project.", + "description": "Disable this project as a shared VPC host project.", "parameters": { "project": { "type": "string", @@ -23006,7 +30513,7 @@ "id": "compute.projects.disableXpnResource", "path": "{project}/disableXpnResource", "httpMethod": "POST", - "description": "Disable an XPN resource associated with this host project.", + "description": "Disable a serivce resource (a.k.a service project) associated with this host project.", "parameters": { "project": { "type": "string", @@ -23039,7 +30546,7 @@ "id": "compute.projects.enableXpnHost", "path": "{project}/enableXpnHost", "httpMethod": "POST", - "description": "Enable this project as an XPN host project.", + "description": "Enable this project as a shared VPC host project.", "parameters": { "project": { "type": "string", @@ -23069,7 +30576,7 @@ "id": "compute.projects.enableXpnResource", "path": "{project}/enableXpnResource", "httpMethod": "POST", - "description": "Enable XPN resource (a.k.a service project or service folder in the future) for a host project, so that subnetworks in the host project can be used by instances in the service project or folder.", + "description": "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.", "parameters": { "project": { "type": "string", @@ -23128,7 +30635,7 @@ "id": "compute.projects.getXpnHost", "path": "{project}/getXpnHost", "httpMethod": "GET", - "description": "Get the XPN host project that this project links to. May be empty if no link exists.", + "description": "Get the shared VPC host project that this project links to. May be empty if no link exists.", "parameters": { "project": { "type": "string", @@ -23153,7 +30660,7 @@ "id": "compute.projects.getXpnResources", "path": "{project}/getXpnResources", "httpMethod": "GET", - "description": "Get XPN resources associated with this host project.", + "description": "Get service resources (a.k.a service project) associated with this host project.", "parameters": { "filter": { "type": "string", @@ -23197,7 +30704,7 @@ "id": "compute.projects.listXpnHosts", "path": "{project}/listXpnHosts", "httpMethod": "POST", - "description": "List all XPN host projects visible to the user in an organization.", + "description": "List all shared VPC host projects visible to the user in an organization.", "parameters": { "filter": { "type": "string", @@ -23339,6 +30846,39 @@ "https://www.googleapis.com/auth/compute" ] }, + "setDefaultNetworkTier": { + "id": "compute.projects.setDefaultNetworkTier", + "path": "{project}/setDefaultNetworkTier", + "httpMethod": "POST", + "description": "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.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + } + }, + "parameterOrder": [ + "project" + ], + "request": { + "$ref": "ProjectsSetDefaultNetworkTierRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "setDefaultServiceAccount": { "id": "compute.projects.setDefaultServiceAccount", "path": "{project}/setDefaultServiceAccount", @@ -23626,7 +31166,7 @@ }, "requestId": { "type": "string", - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and then the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "location": "query" } }, @@ -23642,8 +31182,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "testIamPermissions": { @@ -23719,7 +31258,7 @@ }, "requestId": { "type": "string", - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and then the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "location": "query" } }, @@ -24018,8 +31557,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "testIamPermissions": { @@ -24623,7 +32161,7 @@ }, "requestId": { "type": "string", - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and then the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "location": "query" }, "sourceImage": { @@ -25031,48 +32569,6 @@ "https://www.googleapis.com/auth/compute" ] }, - "deleteOverrides": { - "id": "compute.regionInstanceGroupManagers.deleteOverrides", - "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteOverrides", - "httpMethod": "POST", - "description": "Delete selected overrides for the managed instance group.", - "parameters": { - "instanceGroupManager": { - "type": "string", - "description": "The name of the managed instance group. It should conform to RFC1035.", - "required": true, - "location": "path" - }, - "project": { - "type": "string", - "description": "Project ID for this request.", - "required": true, - "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])?))", - "location": "path" - }, - "region": { - "type": "string", - "description": "Name of the region scoping this request, should conform to RFC1035.", - "required": true, - "location": "path" - } - }, - "parameterOrder": [ - "project", - "region", - "instanceGroupManager" - ], - "request": { - "$ref": "RegionInstanceGroupManagersDeleteOverridesRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, "deletePerInstanceConfigs": { "id": "compute.regionInstanceGroupManagers.deletePerInstanceConfigs", "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", @@ -25310,69 +32806,6 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "listOverrides": { - "id": "compute.regionInstanceGroupManagers.listOverrides", - "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listOverrides", - "httpMethod": "POST", - "description": "Lists all of the overrides defined for the managed instance group.", - "parameters": { - "filter": { - "type": "string", - "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", - "location": "query" - }, - "instanceGroupManager": { - "type": "string", - "description": "The name of the managed instance group. It should conform to RFC1035.", - "required": true, - "location": "path" - }, - "maxResults": { - "type": "integer", - "description": "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)", - "default": "500", - "format": "uint32", - "minimum": "0", - "location": "query" - }, - "orderBy": { - "type": "string", - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", - "location": "query" - }, - "pageToken": { - "type": "string", - "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", - "location": "query" - }, - "project": { - "type": "string", - "description": "Project ID for this request.", - "required": true, - "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])?))", - "location": "path" - }, - "region": { - "type": "string", - "description": "Name of the region scoping this request, should conform to RFC1035.", - "required": true, - "location": "path" - } - }, - "parameterOrder": [ - "project", - "region", - "instanceGroupManager" - ], - "response": { - "$ref": "RegionInstanceGroupManagersListOverridesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, "listPerInstanceConfigs": { "id": "compute.regionInstanceGroupManagers.listPerInstanceConfigs", "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs", @@ -25480,8 +32913,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "recreateInstances": { @@ -25817,48 +33249,6 @@ "https://www.googleapis.com/auth/compute" ] }, - "updateOverrides": { - "id": "compute.regionInstanceGroupManagers.updateOverrides", - "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/updateOverrides", - "httpMethod": "POST", - "description": "Insert or patch (for the ones that already exist) overrides for the managed instance group.", - "parameters": { - "instanceGroupManager": { - "type": "string", - "description": "The name of the managed instance group. It should conform to RFC1035.", - "required": true, - "location": "path" - }, - "project": { - "type": "string", - "description": "Project ID for this request.", - "required": true, - "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])?))", - "location": "path" - }, - "region": { - "type": "string", - "description": "Name of the region scoping this request, should conform to RFC1035.", - "required": true, - "location": "path" - } - }, - "parameterOrder": [ - "project", - "region", - "instanceGroupManager" - ], - "request": { - "$ref": "RegionInstanceGroupManagersUpdateOverridesRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, "updatePerInstanceConfigs": { "id": "compute.regionInstanceGroupManagers.updatePerInstanceConfigs", "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs", @@ -26672,7 +34062,7 @@ "id": "compute.routers.patch", "path": "{project}/regions/{region}/routers/{router}", "httpMethod": "PATCH", - "description": "Patches the specified Router resource with the data included in the request. This method supports patch semantics.", + "description": "Patches the specified Router resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", "parameters": { "project": { "type": "string", @@ -26714,8 +34104,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "preview": { @@ -27032,7 +34421,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -27109,7 +34498,7 @@ }, "securityPolicy": { "type": "string", - "description": "Name of the security policy to update.", + "description": "Name of the security policy to get.", "required": true, "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" @@ -27202,7 +34591,7 @@ "project" ], "response": { - "$ref": "SecurityPoliciesList" + "$ref": "SecurityPolicyList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -27248,8 +34637,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "testIamPermissions": { @@ -27269,7 +34657,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -27382,7 +34770,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", "location": "path" } }, @@ -27465,7 +34853,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", "location": "path" } }, @@ -27537,7 +34925,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -27732,7 +35120,289 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "resource" + ], + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, + "sslPolicies": { + "methods": { + "delete": { + "id": "compute.sslPolicies.delete", + "path": "{project}/global/sslPolicies/{sslPolicy}", + "httpMethod": "DELETE", + "description": "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.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, + "sslPolicy": { + "type": "string", + "description": "Name of the SSL policy to delete. The name must be 1-63 characters long, and comply with RFC1035.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "project", + "sslPolicy" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "id": "compute.sslPolicies.get", + "path": "{project}/global/sslPolicies/{sslPolicy}", + "httpMethod": "GET", + "description": "List all of the ordered rules present in a single specified policy.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "sslPolicy": { + "type": "string", + "description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "project", + "sslPolicy" + ], + "response": { + "$ref": "SslPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "id": "compute.sslPolicies.insert", + "path": "{project}/global/sslPolicies", + "httpMethod": "POST", + "description": "Returns the specified SSL policy resource. Get a list of available SSL policies by making a list() request.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + } + }, + "parameterOrder": [ + "project" + ], + "request": { + "$ref": "SslPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "id": "compute.sslPolicies.list", + "path": "{project}/global/sslPolicies", + "httpMethod": "GET", + "description": "List all the SSL policies that have been configured for the specified project.", + "parameters": { + "filter": { + "type": "string", + "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "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)", + "default": "500", + "format": "uint32", + "minimum": "0", + "location": "query" + }, + "orderBy": { + "type": "string", + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "location": "query" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project" + ], + "response": { + "$ref": "SslPoliciesList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "listAvailableFeatures": { + "id": "compute.sslPolicies.listAvailableFeatures", + "path": "{project}/global/sslPolicies/listAvailableFeatures", + "httpMethod": "GET", + "description": "Lists all features that can be specified in the SSL policy when using custom profile.", + "parameters": { + "filter": { + "type": "string", + "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "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)", + "default": "500", + "format": "uint32", + "minimum": "0", + "location": "query" + }, + "orderBy": { + "type": "string", + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "location": "query" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project" + ], + "response": { + "$ref": "SslPoliciesListAvailableFeaturesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "patch": { + "id": "compute.sslPolicies.patch", + "path": "{project}/global/sslPolicies/{sslPolicy}", + "httpMethod": "PATCH", + "description": "Patches the specified SSL policy with the data included in the request.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, + "sslPolicy": { + "type": "string", + "description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "project", + "sslPolicy" + ], + "request": { + "$ref": "SslPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "testIamPermissions": { + "id": "compute.sslPolicies.testIamPermissions", + "path": "{project}/global/sslPolicies/{resource}/testIamPermissions", + "httpMethod": "POST", + "description": "Returns permissions that a caller has on the specified resource.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "resource": { + "type": "string", + "description": "Name of the resource for this request.", + "required": true, + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -28082,6 +35752,55 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "listUsable": { + "id": "compute.subnetworks.listUsable", + "path": "{project}/aggregated/subnetworks/listUsable", + "httpMethod": "GET", + "description": "Retrieves an aggregated list of usable subnetworks.", + "parameters": { + "filter": { + "type": "string", + "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "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)", + "default": "500", + "format": "uint32", + "minimum": "0", + "location": "query" + }, + "orderBy": { + "type": "string", + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "location": "query" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project" + ], + "response": { + "$ref": "UsableSubnetworksAggregatedList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "patch": { "id": "compute.subnetworks.patch", "path": "{project}/regions/{region}/subnetworks/{subnetwork}", @@ -28128,8 +35847,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "setIamPolicy": { @@ -28486,7 +36204,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -28677,6 +36395,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "targetHttpsProxy": { "type": "string", "description": "Name of the TargetHttpsProxy resource to set the QUIC override policy for. The name should conform to RFC1035.", @@ -28740,6 +36463,46 @@ "https://www.googleapis.com/auth/compute" ] }, + "setSslPolicy": { + "id": "compute.targetHttpsProxies.setSslPolicy", + "path": "{project}/global/targetHttpsProxies/{targetHttpsProxy}/setSslPolicy", + "httpMethod": "POST", + "description": "Sets the SSL policy for TargetHttpsProxy. The SSL policy specifies the server-side support for SSL features. This affects connections between clients and the HTTPS proxy load balancer. They do not affect the connection between the load balancer and the backends.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, + "targetHttpsProxy": { + "type": "string", + "description": "Name of the TargetHttpsProxy resource whose SSL policy is to be set. The name must be 1-63 characters long, and comply with RFC1035.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "project", + "targetHttpsProxy" + ], + "request": { + "$ref": "SslPolicyReference" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "setUrlMap": { "id": "compute.targetHttpsProxies.setUrlMap", "path": "{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", @@ -28798,7 +36561,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -29963,6 +37726,46 @@ "https://www.googleapis.com/auth/compute" ] }, + "setSslPolicy": { + "id": "compute.targetSslProxies.setSslPolicy", + "path": "{project}/global/targetSslProxies/{targetSslProxy}/setSslPolicy", + "httpMethod": "POST", + "description": "Sets the SSL policy for TargetSslProxy. The SSL policy specifies the server-side support for SSL features. This affects connections between clients and the SSL proxy load balancer. They do not affect the connection between the load balancer and the backends.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, + "targetSslProxy": { + "type": "string", + "description": "Name of the TargetSslProxy resource whose SSL policy is to be set. The name must be 1-63 characters long, and comply with RFC1035.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "project", + "targetSslProxy" + ], + "request": { + "$ref": "SslPolicyReference" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "testIamPermissions": { "id": "compute.targetSslProxies.testIamPermissions", "path": "{project}/global/targetSslProxies/{resource}/testIamPermissions", @@ -29980,7 +37783,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -30257,7 +38060,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -30798,8 +38601,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "testIamPermissions": { @@ -30819,7 +38621,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, diff --git a/vendor/google.golang.org/api/compute/v0.alpha/compute-gen.go b/vendor/google.golang.org/api/compute/v0.alpha/compute-gen.go index c7119e297..ca01e7d57 100644 --- a/vendor/google.golang.org/api/compute/v0.alpha/compute-gen.go +++ b/vendor/google.golang.org/api/compute/v0.alpha/compute-gen.go @@ -97,8 +97,10 @@ func New(client *http.Client) (*Service, error) { s.InterconnectAttachments = NewInterconnectAttachmentsService(s) s.InterconnectLocations = NewInterconnectLocationsService(s) s.Interconnects = NewInterconnectsService(s) + s.LicenseCodes = NewLicenseCodesService(s) s.Licenses = NewLicensesService(s) s.MachineTypes = NewMachineTypesService(s) + s.NetworkEndpointGroups = NewNetworkEndpointGroupsService(s) s.Networks = NewNetworksService(s) s.Projects = NewProjectsService(s) s.RegionAutoscalers = NewRegionAutoscalersService(s) @@ -115,6 +117,7 @@ func New(client *http.Client) (*Service, error) { s.SecurityPolicies = NewSecurityPoliciesService(s) s.Snapshots = NewSnapshotsService(s) s.SslCertificates = NewSslCertificatesService(s) + s.SslPolicies = NewSslPoliciesService(s) s.Subnetworks = NewSubnetworksService(s) s.TargetHttpProxies = NewTargetHttpProxiesService(s) s.TargetHttpsProxies = NewTargetHttpsProxiesService(s) @@ -187,10 +190,14 @@ type Service struct { Interconnects *InterconnectsService + LicenseCodes *LicenseCodesService + Licenses *LicensesService MachineTypes *MachineTypesService + NetworkEndpointGroups *NetworkEndpointGroupsService + Networks *NetworksService Projects *ProjectsService @@ -223,6 +230,8 @@ type Service struct { SslCertificates *SslCertificatesService + SslPolicies *SslPoliciesService + Subnetworks *SubnetworksService TargetHttpProxies *TargetHttpProxiesService @@ -489,6 +498,15 @@ type InterconnectsService struct { s *Service } +func NewLicenseCodesService(s *Service) *LicenseCodesService { + rs := &LicenseCodesService{s: s} + return rs +} + +type LicenseCodesService struct { + s *Service +} + func NewLicensesService(s *Service) *LicensesService { rs := &LicensesService{s: s} return rs @@ -507,6 +525,15 @@ type MachineTypesService struct { s *Service } +func NewNetworkEndpointGroupsService(s *Service) *NetworkEndpointGroupsService { + rs := &NetworkEndpointGroupsService{s: s} + return rs +} + +type NetworkEndpointGroupsService struct { + s *Service +} + func NewNetworksService(s *Service) *NetworksService { rs := &NetworksService{s: s} return rs @@ -651,6 +678,15 @@ type SslCertificatesService struct { s *Service } +func NewSslPoliciesService(s *Service) *SslPoliciesService { + rs := &SslPoliciesService{s: s} + return rs +} + +type SslPoliciesService struct { + s *Service +} + func NewSubnetworksService(s *Service) *SubnetworksService { rs := &SubnetworksService{s: s} return rs @@ -860,11 +896,11 @@ func (s *AcceleratorType) MarshalJSON() ([]byte, error) { } type AcceleratorTypeAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped accelerator type lists. + // Items: A list of AcceleratorTypesScopedList resources. Items map[string]AcceleratorTypesScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -883,6 +919,9 @@ type AcceleratorTypeAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *AcceleratorTypeAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -910,6 +949,102 @@ func (s *AcceleratorTypeAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AcceleratorTypeAggregatedListWarning: [Output Only] Informational +// warning message. +type AcceleratorTypeAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*AcceleratorTypeAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AcceleratorTypeAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod AcceleratorTypeAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type AcceleratorTypeAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AcceleratorTypeAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod AcceleratorTypeAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // AcceleratorTypeList: Contains a list of accelerator types. type AcceleratorTypeList struct { // Id: [Output Only] Unique identifier for the resource; defined by the @@ -923,13 +1058,20 @@ type AcceleratorTypeList struct { // compute#acceleratorTypeList for lists of accelerator types. Kind string `json:"kind,omitempty"` - // NextPageToken: [Output Only] A token used to continue a truncated - // 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 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] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *AcceleratorTypeListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -957,6 +1099,102 @@ func (s *AcceleratorTypeList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AcceleratorTypeListWarning: [Output Only] Informational warning +// message. +type AcceleratorTypeListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*AcceleratorTypeListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AcceleratorTypeListWarning) MarshalJSON() ([]byte, error) { + type noMethod AcceleratorTypeListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type AcceleratorTypeListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AcceleratorTypeListWarningData) MarshalJSON() ([]byte, error) { + type noMethod AcceleratorTypeListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type AcceleratorTypesScopedList struct { // AcceleratorTypes: [Output Only] List of accelerator types contained // in this scope. @@ -1107,8 +1345,14 @@ type AccessConfig struct { // NetworkTier: This signifies the networking tier used for configuring // this access configuration and can only take the following values: - // PREMIUM , SELECT. If this field is not specified, it is assumed to be - // PREMIUM. + // PREMIUM, STANDARD. + // + // If an AccessConfig is specified without a valid external IP address, + // an ephemeral IP will be created with this networkTier. + // + // If an AccessConfig with a valid external IP address is specified, it + // must match that of the networkTier associated with the Address + // resource owning that IP. // // Possible values: // "PREMIUM" @@ -1165,7 +1409,7 @@ func (s *AccessConfig) MarshalJSON() ([]byte, error) { // Address: A reserved address resource. type Address struct { - // Address: The static external IP address represented by this resource. + // Address: The static IP address represented by this resource. Address string `json:"address,omitempty"` // AddressType: The type of address to reserve. If unspecified, defaults @@ -1231,7 +1475,9 @@ type Address struct { // NetworkTier: This signifies the networking tier used for configuring // this Address and can only take the following values: PREMIUM , - // SELECT. If this field is not specified, it is assumed to be PREMIUM. + // STANDARD. + // + // If this field is not specified, it is assumed to be PREMIUM. // // Possible values: // "PREMIUM" @@ -1299,7 +1545,7 @@ type AddressAggregatedList struct { // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped address lists. + // Items: A list of AddressesScopedList resources. Items map[string]AddressesScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -1317,6 +1563,9 @@ type AddressAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *AddressAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -1344,13 +1593,109 @@ func (s *AddressAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AddressAggregatedListWarning: [Output Only] Informational warning +// message. +type AddressAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*AddressAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AddressAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod AddressAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type AddressAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AddressAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod AddressAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // AddressList: Contains a list of addresses. type AddressList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of addresses. + // Items: A list of Address resources. Items []*Address `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#addressList for @@ -1365,9 +1710,12 @@ type AddressList struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] Server-defined URL for the resource. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *AddressListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -1395,6 +1743,101 @@ func (s *AddressList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AddressListWarning: [Output Only] Informational warning message. +type AddressListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*AddressListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AddressListWarning) MarshalJSON() ([]byte, error) { + type noMethod AddressListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type AddressListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AddressListWarningData) MarshalJSON() ([]byte, error) { + type noMethod AddressListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type AddressesScopedList struct { // Addresses: [Output Only] List of addresses contained in this scope. Addresses []*Address `json:"addresses,omitempty"` @@ -1611,10 +2054,9 @@ type AttachedDisk struct { // disk_size_gb in InitializeParams. DiskSizeGb int64 `json:"diskSizeGb,omitempty,string"` - // Index: Assigns a zero-based index to this disk, where 0 is reserved - // for the boot disk. For example, if you have many disks attached to an - // instance, each disk would have a unique index number. If not - // specified, the server will choose an appropriate value. + // Index: [Output Only] A zero-based index to this disk, where 0 is + // reserved for the boot disk. If you have many disks attached to an + // instance, each disk would have a unique index number. Index int64 `json:"index,omitempty"` // InitializeParams: [Input Only] Specifies the parameters for a new @@ -1907,6 +2349,43 @@ func (s *AuditLogConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AuthorizationLoggingOptions: Authorization-related information used +// by Cloud Audit Logging. +type AuthorizationLoggingOptions struct { + // PermissionType: The type of the permission that was checked. + // + // Possible values: + // "ADMIN_READ" + // "ADMIN_WRITE" + // "DATA_READ" + // "DATA_WRITE" + // "PERMISSION_TYPE_UNSPECIFIED" + PermissionType string `json:"permissionType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PermissionType") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "PermissionType") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AuthorizationLoggingOptions) MarshalJSON() ([]byte, error) { + type noMethod AuthorizationLoggingOptions + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Autoscaler: Represents an Autoscaler resource. Autoscalers allow you // to automatically scale virtual machine instances in managed instance // groups according to an autoscaling policy that you define. For more @@ -2004,11 +2483,11 @@ func (s *Autoscaler) MarshalJSON() ([]byte, error) { } type AutoscalerAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: A map of scoped autoscaler lists. + // Items: A list of AutoscalersScopedList resources. Items map[string]AutoscalersScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -2026,6 +2505,9 @@ type AutoscalerAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *AutoscalerAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -2053,10 +2535,106 @@ func (s *AutoscalerAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AutoscalerAggregatedListWarning: [Output Only] Informational warning +// message. +type AutoscalerAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*AutoscalerAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AutoscalerAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod AutoscalerAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type AutoscalerAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AutoscalerAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod AutoscalerAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // AutoscalerList: Contains a list of Autoscaler resources. type AutoscalerList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 Autoscaler resources. @@ -2077,6 +2655,9 @@ type AutoscalerList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *AutoscalerListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -2104,6 +2685,101 @@ func (s *AutoscalerList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AutoscalerListWarning: [Output Only] Informational warning message. +type AutoscalerListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*AutoscalerListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AutoscalerListWarning) MarshalJSON() ([]byte, error) { + type noMethod AutoscalerListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type AutoscalerListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AutoscalerListWarningData) MarshalJSON() ([]byte, error) { + type noMethod AutoscalerListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type AutoscalerStatusDetails struct { // Message: The status message. Message string `json:"message,omitempty"` @@ -2319,6 +2995,15 @@ type AutoscalingPolicy struct { // instances allowed. MinNumReplicas int64 `json:"minNumReplicas,omitempty"` + // Mode: Defines operating mode for this policy. + // + // Possible values: + // "OFF" + // "ON" + // "ONLY_DOWN" + // "ONLY_UP" + Mode string `json:"mode,omitempty"` + // QueueBasedScaling: Configuration parameters of autoscaling based on // queuing system. QueueBasedScaling *AutoscalingPolicyQueueBasedScaling `json:"queueBasedScaling,omitempty"` @@ -2676,7 +3361,8 @@ type Backend struct { // Valid values are UTILIZATION, RATE (for HTTP(S)) and CONNECTION (for // TCP/SSL). // - // This cannot be used for internal load balancing. + // For Internal Load Balancing, the default and only supported mode is + // CONNECTION. // // Possible values: // "CONNECTION" @@ -2703,8 +3389,8 @@ type Backend struct { // BackendService. Failover bool `json:"failover,omitempty"` - // Group: The fully-qualified URL of a zonal Instance Group resource. - // This instance group defines the list of instances that serve traffic. + // Group: The fully-qualified URL of a Instance Group resource. This + // instance group defines the list of instances that serve traffic. // Member virtual machine instances from each instance group must live // in the same zone as the instance group itself. No two backends in a // backend service are allowed to use same Instance Group @@ -2714,8 +3400,7 @@ type Backend struct { // fully-qualified URL, rather than a partial URL. // // When the BackendService has load balancing scheme INTERNAL, the - // instance group must be in a zone within the same region as the - // BackendService. + // instance group must be within the same region as the BackendService. Group string `json:"group,omitempty"` // MaxConnections: The max number of simultaneous connections for the @@ -2726,6 +3411,15 @@ type Backend struct { // This cannot be used for internal load balancing. MaxConnections int64 `json:"maxConnections,omitempty"` + // MaxConnectionsPerEndpoint: The max number of simultaneous connections + // that a single backend network endpoint can handle. This is used to + // calculate the capacity of the group. Can be used in either CONNECTION + // or UTILIZATION balancing modes. For CONNECTION mode, either + // maxConnections or maxConnectionsPerEndpoint must be set. + // + // This cannot be used for internal load balancing. + MaxConnectionsPerEndpoint int64 `json:"maxConnectionsPerEndpoint,omitempty"` + // MaxConnectionsPerInstance: The max number of simultaneous connections // that a single backend instance can handle. This is used to calculate // the capacity of the group. Can be used in either CONNECTION or @@ -2743,6 +3437,14 @@ type Backend struct { // This cannot be used for internal load balancing. MaxRate int64 `json:"maxRate,omitempty"` + // MaxRatePerEndpoint: The max requests per second (RPS) that a single + // backend network endpoint can handle. This is used to calculate the + // capacity of the group. Can be used in either balancing mode. For RATE + // mode, either maxRate or maxRatePerEndpoint must be set. + // + // This cannot be used for internal load balancing. + MaxRatePerEndpoint float64 `json:"maxRatePerEndpoint,omitempty"` + // MaxRatePerInstance: The max requests per second (RPS) that a single // backend instance can handle. This is used to calculate the capacity // of the group. Can be used in either balancing mode. For RATE mode, @@ -2785,6 +3487,7 @@ func (s *Backend) UnmarshalJSON(data []byte) error { type noMethod Backend var s1 struct { CapacityScaler gensupport.JSONFloat64 `json:"capacityScaler"` + MaxRatePerEndpoint gensupport.JSONFloat64 `json:"maxRatePerEndpoint"` MaxRatePerInstance gensupport.JSONFloat64 `json:"maxRatePerInstance"` MaxUtilization gensupport.JSONFloat64 `json:"maxUtilization"` *noMethod @@ -2794,6 +3497,7 @@ func (s *Backend) UnmarshalJSON(data []byte) error { return err } s.CapacityScaler = float64(s1.CapacityScaler) + s.MaxRatePerEndpoint = float64(s1.MaxRatePerEndpoint) s.MaxRatePerInstance = float64(s1.MaxRatePerInstance) s.MaxUtilization = float64(s1.MaxUtilization) return nil @@ -2919,13 +3623,20 @@ type BackendBucketList struct { // Kind: Type of resource. Kind string `json:"kind,omitempty"` - // NextPageToken: [Output Only] A token used to continue a truncated - // 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 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] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *BackendBucketListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -2953,6 +3664,102 @@ func (s *BackendBucketList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// BackendBucketListWarning: [Output Only] Informational warning +// message. +type BackendBucketListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*BackendBucketListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BackendBucketListWarning) MarshalJSON() ([]byte, error) { + type noMethod BackendBucketListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type BackendBucketListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BackendBucketListWarningData) MarshalJSON() ([]byte, error) { + type noMethod BackendBucketListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // BackendService: A BackendService resource. This resource defines a // group of backend virtual machines and their serving capacity. type BackendService struct { @@ -2964,12 +3771,20 @@ type BackendService struct { // When the load balancing scheme is INTERNAL, this field is not used. AffinityCookieTtlSec int64 `json:"affinityCookieTtlSec,omitempty"` + // AppEngineBackend: Directs request to an App Engine app. + // cloudFunctionBackend and backends[] must be empty if this is set. + AppEngineBackend *BackendServiceAppEngineBackend `json:"appEngineBackend,omitempty"` + // Backends: The list of backends that serve this BackendService. Backends []*Backend `json:"backends,omitempty"` // CdnPolicy: Cloud CDN configuration for this BackendService. CdnPolicy *BackendServiceCdnPolicy `json:"cdnPolicy,omitempty"` + // CloudFunctionBackend: Directs request to a cloud function. + // appEngineBackend and backends[] must be empty if this is set. + CloudFunctionBackend *BackendServiceCloudFunctionBackend `json:"cloudFunctionBackend,omitempty"` + ConnectionDraining *ConnectionDraining `json:"connectionDraining,omitempty"` // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text @@ -2989,20 +3804,7 @@ type BackendService struct { // When the load balancing scheme is INTERNAL, this field is not used. EnableCDN bool `json:"enableCDN,omitempty"` - // FailoverRatio: The value of the field must be in [0, 1]. If set, - // 'backends[].failover' must be set. They together define the fallback - // behavior of the primary backend: if the ratio of the healthy VMs in - // the primary backend is at or below this number, traffic arriving at - // the load-balanced IP will be directed to the failover backend. - // - // In case where 'failoverRatio' is not set or all the VMs in the backup - // backend are unhealthy, the traffic will be directed back to the - // primary backend in the "force" mode, where traffic will be spread to - // the healthy VMs with the best effort, or to all VMs when no VM is - // healthy. - // - // This field is only used with l4 load balancing. - FailoverRatio float64 `json:"failoverRatio,omitempty"` + FailoverPolicy *BackendServiceFailoverPolicy `json:"failoverPolicy,omitempty"` // Fingerprint: Fingerprint of this resource. A hash of the contents // stored in this object. This field is used in optimistic locking. This @@ -3013,8 +3815,9 @@ type BackendService struct { // HealthChecks: The list of URLs to the HttpHealthCheck or // HttpsHealthCheck resource for health checking this BackendService. // Currently at most one health check can be specified, and a health - // check is required for GCE backend services. A health check must not - // be specified for GAE app backend and Cloud Function backend. + // check is required for Compute Engine backend services. A health check + // must not be specified for App Engine backend and Cloud Function + // backend. // // For internal load balancing, a URL to a HealthCheck resource must be // specified instead. @@ -3030,6 +3833,11 @@ type BackendService struct { // for backend services. Kind string `json:"kind,omitempty"` + // LoadBalancingScheme: Indicates whether the backend service will be + // used with internal or external load balancing. A backend service + // created for one type of load balancing cannot be used with the other. + // Possible values are INTERNAL and EXTERNAL. + // // Possible values: // "EXTERNAL" // "INTERNAL" @@ -3140,20 +3948,6 @@ func (s *BackendService) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -func (s *BackendService) UnmarshalJSON(data []byte) error { - type noMethod BackendService - var s1 struct { - FailoverRatio gensupport.JSONFloat64 `json:"failoverRatio"` - *noMethod - } - s1.noMethod = (*noMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.FailoverRatio = float64(s1.FailoverRatio) - return nil -} - // BackendServiceAggregatedList: Contains a list of // BackendServicesScopedList. type BackendServiceAggregatedList struct { @@ -3161,19 +3955,26 @@ type BackendServiceAggregatedList struct { // server. Id string `json:"id,omitempty"` - // Items: A map of scoped BackendService lists. + // Items: A list of BackendServicesScopedList resources. Items map[string]BackendServicesScopedList `json:"items,omitempty"` // Kind: Type of resource. Kind string `json:"kind,omitempty"` - // NextPageToken: [Output Only] A token used to continue a truncated - // 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 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] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *BackendServiceAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -3201,6 +4002,141 @@ func (s *BackendServiceAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// BackendServiceAggregatedListWarning: [Output Only] Informational +// warning message. +type BackendServiceAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*BackendServiceAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BackendServiceAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod BackendServiceAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type BackendServiceAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BackendServiceAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod BackendServiceAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// BackendServiceAppEngineBackend: Configuration of a App Engine +// backend. +type BackendServiceAppEngineBackend struct { + // AppEngineService: Optional. App Engine app service name. + AppEngineService string `json:"appEngineService,omitempty"` + + // TargetProject: Required. Project ID of the project hosting the app. + // This is the project ID of this project. Reference to another project + // is not allowed. + TargetProject string `json:"targetProject,omitempty"` + + // Version: Optional. Version of App Engine app service. When empty, App + // Engine will do its normal traffic split. + Version string `json:"version,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AppEngineService") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AppEngineService") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *BackendServiceAppEngineBackend) MarshalJSON() ([]byte, error) { + type noMethod BackendServiceAppEngineBackend + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // BackendServiceCdnPolicy: Message containing Cloud CDN configuration // for a backend service. type BackendServiceCdnPolicy struct { @@ -3245,6 +4181,115 @@ func (s *BackendServiceCdnPolicy) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// BackendServiceCloudFunctionBackend: Configuration of a Cloud Function +// backend. +type BackendServiceCloudFunctionBackend struct { + // FunctionName: Required. A cloud function name. Special value ?*? + // represents all cloud functions in the project. + FunctionName string `json:"functionName,omitempty"` + + // TargetProject: Required. Project ID of the project hosting the cloud + // function. + TargetProject string `json:"targetProject,omitempty"` + + // ForceSendFields is a list of field names (e.g. "FunctionName") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "FunctionName") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BackendServiceCloudFunctionBackend) MarshalJSON() ([]byte, error) { + type noMethod BackendServiceCloudFunctionBackend + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type BackendServiceFailoverPolicy struct { + // DisableConnectionDrainOnFailover: On failover or failback, this field + // indicates whether connection drain will be honored. Setting this to + // true has the following effect: connections to the old active pool are + // not drained. Connections to the new active pool use the timeout of 10 + // min (currently fixed). Setting to false has the following effect: + // both old and new connections will have a drain timeout of 10 + // min. + // + // This can be set to true only if the protocol is TCP. + // + // The default is false. + DisableConnectionDrainOnFailover bool `json:"disableConnectionDrainOnFailover,omitempty"` + + // DropTrafficIfUnhealthy: This option is used only when no healthy VMs + // are detected in the primary and backup instance groups. When set to + // true, traffic is dropped. When set to false, new connections are sent + // across all VMs in the primary group. + // + // The default is false. + DropTrafficIfUnhealthy bool `json:"dropTrafficIfUnhealthy,omitempty"` + + // FailoverRatio: The value of the field must be in [0, 1]. If the ratio + // of the healthy VMs in the primary backend is at or below this number, + // traffic arriving at the load-balanced IP will be directed to the + // failover backend. + // + // In case where 'failoverRatio' is not set or all the VMs in the backup + // backend are unhealthy, the traffic will be directed back to the + // primary backend in the "force" mode, where traffic will be spread to + // the healthy VMs with the best effort, or to all VMs when no VM is + // healthy. + // + // This field is only used with l4 load balancing. + FailoverRatio float64 `json:"failoverRatio,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "DisableConnectionDrainOnFailover") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. + // "DisableConnectionDrainOnFailover") to include in API requests with + // the JSON null value. By default, fields with empty values are omitted + // from API requests. However, any field with an empty value appearing + // in NullFields will be sent to the server as null. It is an error if a + // field in this list has a non-empty value. This may be used to include + // null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BackendServiceFailoverPolicy) MarshalJSON() ([]byte, error) { + type noMethod BackendServiceFailoverPolicy + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *BackendServiceFailoverPolicy) UnmarshalJSON(data []byte) error { + type noMethod BackendServiceFailoverPolicy + var s1 struct { + FailoverRatio gensupport.JSONFloat64 `json:"failoverRatio"` + *noMethod + } + s1.noMethod = (*noMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.FailoverRatio = float64(s1.FailoverRatio) + return nil +} + type BackendServiceGroupHealth struct { HealthStatus []*HealthStatus `json:"healthStatus,omitempty"` @@ -3338,6 +4383,9 @@ type BackendServiceList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *BackendServiceListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -3365,6 +4413,129 @@ func (s *BackendServiceList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// BackendServiceListWarning: [Output Only] Informational warning +// message. +type BackendServiceListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*BackendServiceListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BackendServiceListWarning) MarshalJSON() ([]byte, error) { + type noMethod BackendServiceListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type BackendServiceListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BackendServiceListWarningData) MarshalJSON() ([]byte, error) { + type noMethod BackendServiceListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type BackendServiceReference struct { + BackendService string `json:"backendService,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BackendService") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BackendService") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *BackendServiceReference) MarshalJSON() ([]byte, error) { + type noMethod BackendServiceReference + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type BackendServicesScopedList struct { // BackendServices: List of BackendServices contained in this scope. BackendServices []*BackendService `json:"backendServices,omitempty"` @@ -3749,11 +4920,11 @@ func (s *Commitment) MarshalJSON() ([]byte, error) { } type CommitmentAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: Commitments by scope. + // Items: A list of CommitmentsScopedList resources. Items map[string]CommitmentsScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -3771,6 +4942,9 @@ type CommitmentAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *CommitmentAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -3798,10 +4972,106 @@ func (s *CommitmentAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// CommitmentAggregatedListWarning: [Output Only] Informational warning +// message. +type CommitmentAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*CommitmentAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CommitmentAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod CommitmentAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type CommitmentAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CommitmentAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod CommitmentAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // CommitmentList: Contains a list of Commitment resources. type CommitmentList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 Commitment resources. @@ -3822,6 +5092,9 @@ type CommitmentList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *CommitmentListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -3849,6 +5122,101 @@ func (s *CommitmentList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// CommitmentListWarning: [Output Only] Informational warning message. +type CommitmentListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*CommitmentListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CommitmentListWarning) MarshalJSON() ([]byte, error) { + type noMethod CommitmentListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type CommitmentListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CommitmentListWarningData) MarshalJSON() ([]byte, error) { + type noMethod CommitmentListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type CommitmentsScopedList struct { // Commitments: [Output Only] List of commitments contained in this // scope. @@ -4280,6 +5648,10 @@ type Disk struct { // text format. LastDetachTimestamp string `json:"lastDetachTimestamp,omitempty"` + // LicenseCodes: Integer license codes indicating which licenses are + // attached to this disk. + LicenseCodes googleapi.Int64s `json:"licenseCodes,omitempty"` + // Licenses: Any applicable publicly visible licenses. Licenses []string `json:"licenses,omitempty"` @@ -4322,7 +5694,8 @@ type Disk struct { // // If you specify this field along with sourceImage or sourceSnapshot, // the value of sizeGb must not be less than the size of the sourceImage - // or the size of the snapshot. + // or the size of the snapshot. Acceptable values are 1 to 65536, + // inclusive. SizeGb int64 `json:"sizeGb,omitempty,string"` // SourceImage: The source image used to create this disk. If the source @@ -4444,11 +5817,11 @@ func (s *Disk) MarshalJSON() ([]byte, error) { } type DiskAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped disk lists. + // Items: A list of DisksScopedList resources. Items map[string]DisksScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -4460,13 +5833,15 @@ type DiskAggregatedList struct { // than maxResults, 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. Acceptable values are 0 to 500, inclusive. (Default: - // 500) + // the results. NextPageToken string `json:"nextPageToken,omitempty"` // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *DiskAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -4494,6 +5869,102 @@ func (s *DiskAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// DiskAggregatedListWarning: [Output Only] Informational warning +// message. +type DiskAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*DiskAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DiskAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod DiskAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type DiskAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DiskAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod DiskAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // DiskList: A list of Disk resources. type DiskList struct { // Id: [Output Only] Unique identifier for the resource; defined by the @@ -4507,16 +5978,20 @@ type DiskList struct { // lists of disks. 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 than - // maxResults, 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: [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 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] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *DiskListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -4544,6 +6019,101 @@ func (s *DiskList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// DiskListWarning: [Output Only] Informational warning message. +type DiskListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*DiskListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DiskListWarning) MarshalJSON() ([]byte, error) { + type noMethod DiskListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type DiskListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DiskListWarningData) MarshalJSON() ([]byte, error) { + type noMethod DiskListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type DiskMoveRequest struct { // DestinationZone: The URL of the destination zone to move the disk. // This can be a full or partial URL. For example, the following are all @@ -4654,11 +6224,11 @@ func (s *DiskType) MarshalJSON() ([]byte, error) { } type DiskTypeAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped disk type lists. + // Items: A list of DiskTypesScopedList resources. Items map[string]DiskTypesScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -4676,6 +6246,9 @@ type DiskTypeAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *DiskTypeAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -4703,13 +6276,109 @@ func (s *DiskTypeAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// DiskTypeAggregatedListWarning: [Output Only] Informational warning +// message. +type DiskTypeAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*DiskTypeAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DiskTypeAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod DiskTypeAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type DiskTypeAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DiskTypeAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod DiskTypeAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // DiskTypeList: Contains a list of disk types. type DiskTypeList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Disk Type resources. + // Items: A list of DiskType resources. Items []*DiskType `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#diskTypeList for @@ -4727,6 +6396,9 @@ type DiskTypeList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *DiskTypeListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -4754,6 +6426,101 @@ func (s *DiskTypeList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// DiskTypeListWarning: [Output Only] Informational warning message. +type DiskTypeListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*DiskTypeListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DiskTypeListWarning) MarshalJSON() ([]byte, error) { + type noMethod DiskTypeListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type DiskTypeListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DiskTypeListWarningData) MarshalJSON() ([]byte, error) { + type noMethod DiskTypeListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type DiskTypesScopedList struct { // DiskTypes: [Output Only] List of disk types contained in this scope. DiskTypes []*DiskType `json:"diskTypes,omitempty"` @@ -5177,6 +6944,12 @@ type Firewall struct { // "INGRESS" Direction string `json:"direction,omitempty"` + // EnableLogging: This field denotes whether to enable logging for a + // particular firewall rule. If logging is enabled, logs will be + // exported to the configured export destination for all firewall logs + // in the network. Logs may be exported to BigQuery or Pub/Sub. + EnableLogging bool `json:"enableLogging,omitempty"` + // Id: [Output Only] The unique identifier for the resource. This // identifier is defined by the server. Id uint64 `json:"id,omitempty,string"` @@ -5242,15 +7015,18 @@ type Firewall struct { // or targetTags. SourceServiceAccounts []string `json:"sourceServiceAccounts,omitempty"` - // SourceTags: If source tags are specified, the firewall will apply - // only to traffic with source IP that belongs to a tag listed in source - // tags. Source tags cannot be used to control traffic to an instance's - // external IP address. Because tags are associated with an instance, - // not an IP address. One or both of sourceRanges and sourceTags may be - // set. If both properties are set, the firewall will apply to traffic - // that has source IP address within sourceRanges OR the source IP that - // belongs to a tag listed in the sourceTags property. The connection - // does not need to match both properties for the firewall to apply. + // SourceTags: If source tags are specified, the firewall rule applies + // only to traffic with source IPs that match the primary network + // interfaces of VM instances that have the tag and are in the same VPC + // network. Source tags cannot be used to control traffic to an + // instance's external IP address, it only applies to traffic between + // instances in the same virtual network. Because tags are associated + // with instances, not IP addresses. One or both of sourceRanges and + // sourceTags may be set. If both properties are set, the firewall will + // apply to traffic that has source IP address within sourceRanges OR + // the source IP that belongs to a tag listed in the sourceTags + // property. The connection does not need to match both properties for + // the firewall to apply. SourceTags []string `json:"sourceTags,omitempty"` // TargetServiceAccounts: A list of service accounts indicating sets of @@ -5298,7 +7074,7 @@ type FirewallAllowed struct { // IPProtocol: The IP protocol to which this rule applies. The protocol // type is required when creating a firewall rule. This value can either // be one of the following well known protocol strings (tcp, udp, icmp, - // esp, ah, sctp), or the IP protocol number. + // esp, ah, ipip, sctp), or the IP protocol number. IPProtocol string `json:"IPProtocol,omitempty"` // Ports: An optional list of ports to which this rule applies. This @@ -5336,7 +7112,7 @@ type FirewallDenied struct { // IPProtocol: The IP protocol to which this rule applies. The protocol // type is required when creating a firewall rule. This value can either // be one of the following well known protocol strings (tcp, udp, icmp, - // esp, ah, sctp), or the IP protocol number. + // esp, ah, ipip, sctp), or the IP protocol number. IPProtocol string `json:"IPProtocol,omitempty"` // Ports: An optional list of ports to which this rule applies. This @@ -5372,11 +7148,11 @@ func (s *FirewallDenied) MarshalJSON() ([]byte, error) { // FirewallList: Contains a list of firewalls. type FirewallList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Firewall resources. + // Items: A list of Firewall resources. Items []*Firewall `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#firewallList for @@ -5394,6 +7170,9 @@ type FirewallList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *FirewallListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -5421,6 +7200,101 @@ func (s *FirewallList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// FirewallListWarning: [Output Only] Informational warning message. +type FirewallListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*FirewallListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FirewallListWarning) MarshalJSON() ([]byte, error) { + type noMethod FirewallListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type FirewallListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FirewallListWarningData) MarshalJSON() ([]byte, error) { + type noMethod FirewallListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // FixedOrPercent: Encapsulates numeric value that can be either // absolute or relative. type FixedOrPercent struct { @@ -5510,6 +7384,16 @@ type ForwardingRule struct { // property when you create the resource. Description string `json:"description,omitempty"` + // Fingerprint: Fingerprint of this resource. A hash of the contents + // stored in this object. This field is used in optimistic locking. This + // field will be ignored when inserting a ForwardingRule. Include the + // fingerprint in patch request to ensure that you do not overwrite + // changes that were applied from another concurrent request. + // + // To see the latest fingerprint, make a get() request to retrieve a + // ForwardingRule. + Fingerprint string `json:"fingerprint,omitempty"` + // Id: [Output Only] The unique identifier for the resource. This // identifier is defined by the server. Id uint64 `json:"id,omitempty,string"` @@ -5575,7 +7459,14 @@ type ForwardingRule struct { // NetworkTier: This signifies the networking tier used for configuring // this load balancer and can only take the following values: PREMIUM , - // SELECT. If this field is not specified, it is assumed to be PREMIUM. + // STANDARD. + // + // For regional ForwardingRule, the valid values are PREMIUM and + // STANDARD. For GlobalForwardingRule, the valid value is PREMIUM. + // + // If this field is not specified, it is assumed to be PREMIUM. If + // IPAddress is specified, this value must be equal to the networkTier + // of the Address. // // Possible values: // "PREMIUM" @@ -5596,10 +7487,10 @@ type ForwardingRule struct { // ports: // - TargetHttpProxy: 80, 8080 // - TargetHttpsProxy: 443 - // - TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995 - // - // - TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995 - // + // - TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, + // 995, 1883, 5222 + // - TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, + // 995, 1883, 5222 // - TargetVpnGateway: 500, 4500 // - PortRange string `json:"portRange,omitempty"` @@ -5691,11 +7582,11 @@ func (s *ForwardingRule) MarshalJSON() ([]byte, error) { } type ForwardingRuleAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: A map of scoped forwarding rule lists. + // Items: A list of ForwardingRulesScopedList resources. Items map[string]ForwardingRulesScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -5713,6 +7604,9 @@ type ForwardingRuleAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *ForwardingRuleAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -5740,9 +7634,105 @@ func (s *ForwardingRuleAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ForwardingRuleAggregatedListWarning: [Output Only] Informational +// warning message. +type ForwardingRuleAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*ForwardingRuleAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ForwardingRuleAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod ForwardingRuleAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type ForwardingRuleAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ForwardingRuleAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod ForwardingRuleAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ForwardingRuleList: Contains a list of ForwardingRule resources. type ForwardingRuleList struct { - // Id: [Output Only] Unique identifier for the resource. Set by the + // Id: [Output Only] Unique identifier for the resource; defined by the // server. Id string `json:"id,omitempty"` @@ -5763,6 +7753,9 @@ type ForwardingRuleList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *ForwardingRuleListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -5790,6 +7783,129 @@ func (s *ForwardingRuleList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ForwardingRuleListWarning: [Output Only] Informational warning +// message. +type ForwardingRuleListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*ForwardingRuleListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ForwardingRuleListWarning) MarshalJSON() ([]byte, error) { + type noMethod ForwardingRuleListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type ForwardingRuleListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ForwardingRuleListWarningData) MarshalJSON() ([]byte, error) { + type noMethod ForwardingRuleListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type ForwardingRuleReference struct { + ForwardingRule string `json:"forwardingRule,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ForwardingRule") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ForwardingRule") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *ForwardingRuleReference) MarshalJSON() ([]byte, error) { + type noMethod ForwardingRuleReference + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type ForwardingRulesScopedList struct { // ForwardingRules: List of forwarding rules contained in this scope. ForwardingRules []*ForwardingRule `json:"forwardingRules,omitempty"` @@ -5961,13 +8077,54 @@ func (s *GlobalSetLabelsRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GuestAttributes: A guest attributes entry. +type GuestAttributes struct { + // Kind: [Output Only] Type of the resource. Always + // compute#guestAttributes for guest attributes entry. + Kind string `json:"kind,omitempty"` + + // SelfLink: [Output Only] Server-defined URL for this resource. + SelfLink string `json:"selfLink,omitempty"` + + // VariableKey: The key to search for. + VariableKey string `json:"variableKey,omitempty"` + + // VariableValue: [Output Only] The value found for the requested key. + VariableValue string `json:"variableValue,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Kind") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Kind") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GuestAttributes) MarshalJSON() ([]byte, error) { + type noMethod GuestAttributes + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GuestOsFeature: Guest OS features. type GuestOsFeature struct { // Type: The type of supported feature. Currently only // VIRTIO_SCSI_MULTIQUEUE is supported. For newer Windows images, the // server might also populate this property with the value WINDOWS to - // indicate that this is a Windows image. This value is purely - // informational and does not enable or disable any features. + // indicate that this is a Windows image. // // Possible values: // "FEATURE_TYPE_UNSPECIFIED" @@ -6013,6 +8170,33 @@ type HTTP2HealthCheck struct { // both port and port_name are defined, port takes precedence. PortName string `json:"portName,omitempty"` + // PortSpecification: Specifies how port is selected for health + // checking, can be one of following values: + // USE_FIXED_PORT: The port number in + // port + // is used for health checking. + // USE_NAMED_PORT: The + // portName + // is used for health checking. + // USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for + // each network endpoint is used for health checking. For other + // backends, the port or named port specified in the Backend Service is + // used for health checking. + // + // + // If not specified, HTTP2 health check follows behavior specified + // in + // port + // and + // portName + // fields. + // + // Possible values: + // "USE_FIXED_PORT" + // "USE_NAMED_PORT" + // "USE_SERVING_PORT" + PortSpecification string `json:"portSpecification,omitempty"` + // ProxyHeader: Specifies the type of proxy header to append before // sending data to the backend, either NONE or PROXY_V1. The default is // NONE. @@ -6068,6 +8252,33 @@ type HTTPHealthCheck struct { // both port and port_name are defined, port takes precedence. PortName string `json:"portName,omitempty"` + // PortSpecification: Specifies how port is selected for health + // checking, can be one of following values: + // USE_FIXED_PORT: The port number in + // port + // is used for health checking. + // USE_NAMED_PORT: The + // portName + // is used for health checking. + // USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for + // each network endpoint is used for health checking. For other + // backends, the port or named port specified in the Backend Service is + // used for health checking. + // + // + // If not specified, HTTP health check follows behavior specified + // in + // port + // and + // portName + // fields. + // + // Possible values: + // "USE_FIXED_PORT" + // "USE_NAMED_PORT" + // "USE_SERVING_PORT" + PortSpecification string `json:"portSpecification,omitempty"` + // ProxyHeader: Specifies the type of proxy header to append before // sending data to the backend, either NONE or PROXY_V1. The default is // NONE. @@ -6123,6 +8334,33 @@ type HTTPSHealthCheck struct { // both port and port_name are defined, port takes precedence. PortName string `json:"portName,omitempty"` + // PortSpecification: Specifies how port is selected for health + // checking, can be one of following values: + // USE_FIXED_PORT: The port number in + // port + // is used for health checking. + // USE_NAMED_PORT: The + // portName + // is used for health checking. + // USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for + // each network endpoint is used for health checking. For other + // backends, the port or named port specified in the Backend Service is + // used for health checking. + // + // + // If not specified, HTTPS health check follows behavior specified + // in + // port + // and + // portName + // fields. + // + // Possible values: + // "USE_FIXED_PORT" + // "USE_NAMED_PORT" + // "USE_SERVING_PORT" + PortSpecification string `json:"portSpecification,omitempty"` + // ProxyHeader: Specifies the type of proxy header to append before // sending data to the backend, either NONE or PROXY_V1. The default is // NONE. @@ -6270,8 +8508,8 @@ func (s *HealthCheck) MarshalJSON() ([]byte, error) { // HealthCheckList: Contains a list of HealthCheck resources. type HealthCheckList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 HealthCheck resources. @@ -6291,6 +8529,9 @@ type HealthCheckList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *HealthCheckListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -6318,6 +8559,101 @@ func (s *HealthCheckList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// HealthCheckListWarning: [Output Only] Informational warning message. +type HealthCheckListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*HealthCheckListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HealthCheckListWarning) MarshalJSON() ([]byte, error) { + type noMethod HealthCheckListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type HealthCheckListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HealthCheckListWarningData) MarshalJSON() ([]byte, error) { + type noMethod HealthCheckListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // HealthCheckReference: A full or valid partial URL to a health check. // For example, the following are valid URLs: // - @@ -6390,6 +8726,53 @@ func (s *HealthStatus) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type HealthStatusForNetworkEndpoint struct { + // BackendService: URL of the backend service associated with the health + // state of the network endpoint. + BackendService *BackendServiceReference `json:"backendService,omitempty"` + + // ForwardingRule: URL of the forwarding rule associated with the health + // state of the network endpoint. + ForwardingRule *ForwardingRuleReference `json:"forwardingRule,omitempty"` + + // HealthCheck: URL of the health check associated with the health state + // of the network endpoint. + HealthCheck *HealthCheckReference `json:"healthCheck,omitempty"` + + // HealthState: Health state of the network endpoint determined based on + // the health checks configured. + // + // Possible values: + // "DRAINING" + // "HEALTHY" + // "UNHEALTHY" + // "UNKNOWN" + HealthState string `json:"healthState,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BackendService") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BackendService") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *HealthStatusForNetworkEndpoint) MarshalJSON() ([]byte, error) { + type noMethod HealthStatusForNetworkEndpoint + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type Host struct { // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text // format. @@ -6495,11 +8878,11 @@ func (s *Host) MarshalJSON() ([]byte, error) { } type HostAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped host lists. + // Items: A list of HostsScopedList resources. Items map[string]HostsScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -6514,9 +8897,12 @@ type HostAggregatedList struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] Server-defined URL for the resource. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *HostAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -6544,13 +8930,109 @@ func (s *HostAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// HostAggregatedListWarning: [Output Only] Informational warning +// message. +type HostAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*HostAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HostAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod HostAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type HostAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HostAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod HostAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // HostList: Contains a list of hosts. type HostList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Host resources. + // Items: A list of Host resources. Items []*Host `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#hostList for @@ -6565,9 +9047,12 @@ type HostList struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] Server-defined URL for the resource. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *HostListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -6595,6 +9080,101 @@ func (s *HostList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// HostListWarning: [Output Only] Informational warning message. +type HostListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*HostListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HostListWarning) MarshalJSON() ([]byte, error) { + type noMethod HostListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type HostListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HostListWarningData) MarshalJSON() ([]byte, error) { + type noMethod HostListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // HostRule: UrlMaps A host-matching rule for a URL. If matched, will // use the named PathMatcher to select the BackendService. type HostRule struct { @@ -6710,11 +9290,11 @@ func (s *HostType) MarshalJSON() ([]byte, error) { } type HostTypeAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped host type lists. + // Items: A list of HostTypesScopedList resources. Items map[string]HostTypesScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource.Always @@ -6729,9 +9309,12 @@ type HostTypeAggregatedList struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] Server-defined URL for the resource. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *HostTypeAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -6759,13 +9342,109 @@ func (s *HostTypeAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// HostTypeAggregatedListWarning: [Output Only] Informational warning +// message. +type HostTypeAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*HostTypeAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HostTypeAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod HostTypeAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type HostTypeAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HostTypeAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod HostTypeAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // HostTypeList: Contains a list of host types. type HostTypeList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Host Type resources. + // Items: A list of HostType resources. Items []*HostType `json:"items,omitempty"` // Kind: [Output Only] Type of resource.Always compute#hostTypeList for @@ -6780,9 +9459,12 @@ type HostTypeList struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] Server-defined URL for the resource. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *HostTypeListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -6810,6 +9492,101 @@ func (s *HostTypeList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// HostTypeListWarning: [Output Only] Informational warning message. +type HostTypeListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*HostTypeListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HostTypeListWarning) MarshalJSON() ([]byte, error) { + type noMethod HostTypeListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type HostTypeListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HostTypeListWarningData) MarshalJSON() ([]byte, error) { + type noMethod HostTypeListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type HostTypesScopedList struct { // HostTypes: [Output Only] List of host types contained in this scope. HostTypes []*HostType `json:"hostTypes,omitempty"` @@ -7157,7 +9934,7 @@ func (s *HttpHealthCheck) MarshalJSON() ([]byte, error) { // HttpHealthCheckList: Contains a list of HttpHealthCheck resources. type HttpHealthCheckList struct { - // Id: [Output Only] Unique identifier for the resource. Defined by the + // Id: [Output Only] Unique identifier for the resource; defined by the // server. Id string `json:"id,omitempty"` @@ -7178,6 +9955,9 @@ type HttpHealthCheckList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *HttpHealthCheckListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -7205,6 +9985,102 @@ func (s *HttpHealthCheckList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// HttpHealthCheckListWarning: [Output Only] Informational warning +// message. +type HttpHealthCheckListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*HttpHealthCheckListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HttpHealthCheckListWarning) MarshalJSON() ([]byte, error) { + type noMethod HttpHealthCheckListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type HttpHealthCheckListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HttpHealthCheckListWarningData) MarshalJSON() ([]byte, error) { + type noMethod HttpHealthCheckListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // HttpsHealthCheck: An HttpsHealthCheck resource. This resource defines // a template for how individual instances should be checked for health, // via HTTPS. @@ -7318,6 +10194,9 @@ type HttpsHealthCheckList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *HttpsHealthCheckListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -7345,6 +10224,102 @@ func (s *HttpsHealthCheckList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// HttpsHealthCheckListWarning: [Output Only] Informational warning +// message. +type HttpsHealthCheckListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*HttpsHealthCheckListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HttpsHealthCheckListWarning) MarshalJSON() ([]byte, error) { + type noMethod HttpsHealthCheckListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type HttpsHealthCheckListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HttpsHealthCheckListWarningData) MarshalJSON() ([]byte, error) { + type noMethod HttpsHealthCheckListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Image: An Image resource. type Image struct { // ArchiveSizeBytes: Size of the image tar.gz archive stored in Google @@ -7381,10 +10356,9 @@ type Image struct { // higher. Linux images with kernel versions 3.17 and higher will // support VIRTIO_SCSI_MULTIQUEUE. // - // For new Windows images, the server might also populate this field - // with the value WINDOWS, to indicate that this is a Windows image. - // This value is purely informational and does not enable or disable any - // features. + // For newer Windows images, the server might also populate this + // property with the value WINDOWS to indicate that this is a Windows + // image. GuestOsFeatures []*GuestOsFeature `json:"guestOsFeatures,omitempty"` // Id: [Output Only] The unique identifier for the resource. This @@ -7425,6 +10399,10 @@ type Image struct { // the setLabels method. Labels map[string]string `json:"labels,omitempty"` + // LicenseCodes: Integer license codes indicating which licenses are + // attached to this image. + LicenseCodes googleapi.Int64s `json:"licenseCodes,omitempty"` + // Licenses: Any applicable license URI. Licenses []string `json:"licenses,omitempty"` @@ -7572,11 +10550,11 @@ func (s *ImageRawDisk) MarshalJSON() ([]byte, error) { // ImageList: Contains a list of images. type ImageList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Image resources. + // Items: A list of Image resources. Items []*Image `json:"items,omitempty"` // Kind: Type of resource. @@ -7593,6 +10571,9 @@ type ImageList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *ImageListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -7620,6 +10601,101 @@ func (s *ImageList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ImageListWarning: [Output Only] Informational warning message. +type ImageListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*ImageListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ImageListWarning) MarshalJSON() ([]byte, error) { + type noMethod ImageListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type ImageListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ImageListWarningData) MarshalJSON() ([]byte, error) { + type noMethod ImageListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Instance: An Instance resource. type Instance struct { // CanIpForward: Allows this instance to send and receive packets with @@ -7635,6 +10711,10 @@ type Instance struct { // format. CreationTimestamp string `json:"creationTimestamp,omitempty"` + // DeletionProtection: Whether the resource should be protected against + // deletion. + DeletionProtection bool `json:"deletionProtection,omitempty"` + // Description: An optional description of this resource. Provide this // property when you create the resource. Description string `json:"description,omitempty"` @@ -7746,10 +10826,10 @@ type Instance struct { // be a dash. Name string `json:"name,omitempty"` - // NetworkInterfaces: An array of configurations for this interface. - // This specifies how this interface is configured to interact with - // other network services, such as connecting to the internet. Only one - // interface is supported per instance. + // NetworkInterfaces: An array of network configurations for this + // instance. These specify how interfaces are configured to interact + // with other network services, such as connecting to the internet. + // Multiple interfaces are supported per instance. NetworkInterfaces []*NetworkInterface `json:"networkInterfaces,omitempty"` // Scheduling: Sets the scheduling options for this instance. @@ -7772,7 +10852,7 @@ type Instance struct { StartRestricted bool `json:"startRestricted,omitempty"` // Status: [Output Only] The status of the instance. One of the - // following values: PROVISIONING, STAGING, RUNNING, STOPPING, + // following values: PROVISIONING, STAGING, RUNNING, STOPPING, STOPPED, // SUSPENDING, SUSPENDED, and TERMINATED. // // Possible values: @@ -7828,11 +10908,11 @@ func (s *Instance) MarshalJSON() ([]byte, error) { } type InstanceAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped instance lists. + // Items: A list of InstancesScopedList resources. Items map[string]InstancesScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -7851,6 +10931,9 @@ type InstanceAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *InstanceAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -7878,6 +10961,102 @@ func (s *InstanceAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// InstanceAggregatedListWarning: [Output Only] Informational warning +// message. +type InstanceAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InstanceAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod InstanceAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InstanceAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod InstanceAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type InstanceGroup struct { // CreationTimestamp: [Output Only] The creation timestamp for this // instance group in RFC3339 text format. @@ -7968,11 +11147,11 @@ func (s *InstanceGroup) MarshalJSON() ([]byte, error) { } type InstanceGroupAggregatedList struct { - // Id: [Output Only] A unique identifier for this aggregated list of - // instance groups. The server generates this identifier. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: A map of scoped instance group lists. + // Items: A list of InstanceGroupsScopedList resources. Items map[string]InstanceGroupsScopedList `json:"items,omitempty"` // Kind: [Output Only] The resource type, which is always @@ -7988,10 +11167,12 @@ type InstanceGroupAggregatedList struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] The URL for this resource type. The server - // generates this URL. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *InstanceGroupAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -8019,13 +11200,109 @@ func (s *InstanceGroupAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// InstanceGroupAggregatedListWarning: [Output Only] Informational +// warning message. +type InstanceGroupAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InstanceGroupAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InstanceGroupAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // InstanceGroupList: A list of InstanceGroup resources. type InstanceGroupList struct { - // Id: [Output Only] A unique identifier for this list of instance - // groups. The server generates this identifier. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: A list of instance groups. + // Items: A list of InstanceGroup resources. Items []*InstanceGroup `json:"items,omitempty"` // Kind: [Output Only] The resource type, which is always @@ -8040,10 +11317,12 @@ type InstanceGroupList struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] The URL for this resource type. The server - // generates this URL. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *InstanceGroupListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -8071,6 +11350,102 @@ func (s *InstanceGroupList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// InstanceGroupListWarning: [Output Only] Informational warning +// message. +type InstanceGroupListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InstanceGroupListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupListWarning) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InstanceGroupListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupListWarningData) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // InstanceGroupManager: An Instance Group Manager resource. type InstanceGroupManager struct { Activities *InstanceGroupManagerActivities `json:"activities,omitempty"` @@ -8152,11 +11527,11 @@ type InstanceGroupManager struct { // server defines this URL. SelfLink string `json:"selfLink,omitempty"` - // ServiceAccount: Service account will be used as credentials for all - // operations performed by managed instance group on instances. The - // service accounts needs all permissions required to create and delete - // instances. When not specified, the service account - // {projectNumber}@cloudservices.gserviceaccount.com will be used. + // ServiceAccount: [Output Only] The service account to be used as + // credentials for all operations performed by the managed instance + // group on instances. The service accounts needs all permissions + // required to create and delete instances. By default, the service + // account {projectNumber}@cloudservices.gserviceaccount.com is used. ServiceAccount string `json:"serviceAccount,omitempty"` // StatefulPolicy: Stateful configuration for this Instanced Group @@ -8358,11 +11733,11 @@ func (s *InstanceGroupManagerActivities) MarshalJSON() ([]byte, error) { } type InstanceGroupManagerAggregatedList struct { - // Id: [Output Only] A unique identifier for this aggregated list of - // managed instance groups. The server generates this identifier. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of filtered managed instance group lists. + // Items: A list of InstanceGroupManagersScopedList resources. Items map[string]InstanceGroupManagersScopedList `json:"items,omitempty"` // Kind: [Output Only] The resource type, which is always @@ -8378,10 +11753,12 @@ type InstanceGroupManagerAggregatedList struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] The URL for this resource type. The server - // generates this URL. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *InstanceGroupManagerAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -8409,6 +11786,102 @@ func (s *InstanceGroupManagerAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// InstanceGroupManagerAggregatedListWarning: [Output Only] +// Informational warning message. +type InstanceGroupManagerAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InstanceGroupManagerAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupManagerAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupManagerAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InstanceGroupManagerAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupManagerAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupManagerAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type InstanceGroupManagerAutoHealingPolicy struct { // HealthCheck: The URL for the health check that signals autohealing. HealthCheck string `json:"healthCheck,omitempty"` @@ -8455,11 +11928,11 @@ func (s *InstanceGroupManagerAutoHealingPolicy) MarshalJSON() ([]byte, error) { // InstanceGroupManagerList: [Output Only] A list of managed instance // groups. type InstanceGroupManagerList struct { - // Id: [Output Only] A unique identifier for this resource type. The - // server generates this identifier. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of managed instance groups. + // Items: A list of InstanceGroupManager resources. Items []*InstanceGroupManager `json:"items,omitempty"` // Kind: [Output Only] The resource type, which is always @@ -8478,6 +11951,9 @@ type InstanceGroupManagerList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *InstanceGroupManagerListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -8505,6 +11981,102 @@ func (s *InstanceGroupManagerList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// InstanceGroupManagerListWarning: [Output Only] Informational warning +// message. +type InstanceGroupManagerListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InstanceGroupManagerListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupManagerListWarning) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupManagerListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InstanceGroupManagerListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupManagerListWarningData) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupManagerListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type InstanceGroupManagerPendingActionsSummary struct { // Creating: [Output Only] The number of instances in the managed // instance group that are pending to be created. @@ -8626,6 +12198,8 @@ type InstanceGroupManagerUpdatePolicy struct { // of action types is: RESTART < REPLACE. // // Possible values: + // "NONE" + // "REFRESH" // "REPLACE" // "RESTART" MinimalAction string `json:"minimalAction,omitempty"` @@ -8735,14 +12309,18 @@ func (s *InstanceGroupManagersAbandonInstancesRequest) MarshalJSON() ([]byte, er // InstanceGroupManagersApplyUpdatesRequest: // InstanceGroupManagers.applyUpdatesToInstances type InstanceGroupManagersApplyUpdatesRequest struct { - // Instances: The list of instances for which we want to apply updates - // on this managed instance group. + // Instances: The list of URLs of one or more instances for which we + // want to apply updates on this managed instance group. This can be a + // full URL or a partial URL, such as + // zones/[ZONE]/instances/[INSTANCE_NAME]. Instances []string `json:"instances,omitempty"` // MaximalAction: The maximal action that should be perfomed on the // instances. By default REPLACE. // // Possible values: + // "NONE" + // "REFRESH" // "REPLACE" // "RESTART" MaximalAction string `json:"maximalAction,omitempty"` @@ -8751,6 +12329,8 @@ type InstanceGroupManagersApplyUpdatesRequest struct { // instances. By default NONE. // // Possible values: + // "NONE" + // "REFRESH" // "REPLACE" // "RESTART" MinimalAction string `json:"minimalAction,omitempty"` @@ -8807,36 +12387,6 @@ func (s *InstanceGroupManagersDeleteInstancesRequest) MarshalJSON() ([]byte, err return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// InstanceGroupManagersDeleteOverridesRequest: -// InstanceGroupManagers.deleteOverrides -type InstanceGroupManagersDeleteOverridesRequest struct { - // Instances: The list of instances for which we want to delete - // overrides on this managed instance group. - Instances []string `json:"instances,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Instances") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Instances") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *InstanceGroupManagersDeleteOverridesRequest) MarshalJSON() ([]byte, error) { - type noMethod InstanceGroupManagersDeleteOverridesRequest - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // InstanceGroupManagersDeletePerInstanceConfigsReq: // InstanceGroupManagers.deletePerInstanceConfigs type InstanceGroupManagersDeletePerInstanceConfigsReq struct { @@ -8908,49 +12458,8 @@ func (s *InstanceGroupManagersListManagedInstancesResponse) MarshalJSON() ([]byt return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type InstanceGroupManagersListOverridesResponse struct { - // Items: [Output Only] The list of overrides in the managed instance - // group. - Items []*ManagedInstanceOverride `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 - // than maxResults, 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"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` - - // ForceSendFields is a list of field names (e.g. "Items") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Items") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *InstanceGroupManagersListOverridesResponse) MarshalJSON() ([]byte, error) { - type noMethod InstanceGroupManagersListOverridesResponse - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - type InstanceGroupManagersListPerInstanceConfigsResp struct { - // Items: [Output Only] The list of overrides in the managed instance - // group. + // Items: [Output Only] The list of PerInstanceConfig. Items []*PerInstanceConfig `json:"items,omitempty"` // NextPageToken: [Output Only] This token allows you to get the next @@ -8961,6 +12470,9 @@ type InstanceGroupManagersListPerInstanceConfigsResp struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *InstanceGroupManagersListPerInstanceConfigsRespWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -8988,6 +12500,102 @@ func (s *InstanceGroupManagersListPerInstanceConfigsResp) MarshalJSON() ([]byte, return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// InstanceGroupManagersListPerInstanceConfigsRespWarning: [Output Only] +// Informational warning message. +type InstanceGroupManagersListPerInstanceConfigsRespWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InstanceGroupManagersListPerInstanceConfigsRespWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupManagersListPerInstanceConfigsRespWarning) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupManagersListPerInstanceConfigsRespWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InstanceGroupManagersListPerInstanceConfigsRespWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupManagersListPerInstanceConfigsRespWarningData) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupManagersListPerInstanceConfigsRespWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type InstanceGroupManagersRecreateInstancesRequest struct { // Instances: The URLs of one or more instances to recreate. This can be // a full URL or a partial URL, such as @@ -9298,36 +12906,6 @@ func (s *InstanceGroupManagersSetTargetPoolsRequest) MarshalJSON() ([]byte, erro return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// InstanceGroupManagersUpdateOverridesRequest: -// InstanceGroupManagers.updateOverrides -type InstanceGroupManagersUpdateOverridesRequest struct { - // Overrides: The list of overrides to insert or patch on this managed - // instance group. - Overrides []*ManagedInstanceOverride `json:"overrides,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Overrides") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Overrides") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *InstanceGroupManagersUpdateOverridesRequest) MarshalJSON() ([]byte, error) { - type noMethod InstanceGroupManagersUpdateOverridesRequest - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // InstanceGroupManagersUpdatePerInstanceConfigsReq: // InstanceGroupManagers.updatePerInstanceConfigs type InstanceGroupManagersUpdatePerInstanceConfigsReq struct { @@ -9387,12 +12965,11 @@ func (s *InstanceGroupsAddInstancesRequest) MarshalJSON() ([]byte, error) { } type InstanceGroupsListInstances struct { - // Id: [Output Only] A unique identifier for this list of instances in - // the specified instance group. The server generates this identifier. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of instances and any named ports that are - // assigned to those instances. + // Items: A list of InstanceWithNamedPorts resources. Items []*InstanceWithNamedPorts `json:"items,omitempty"` // Kind: [Output Only] The resource type, which is always @@ -9408,10 +12985,12 @@ type InstanceGroupsListInstances struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] The URL for this list of instances in the - // specified instance groups. The server generates this URL. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *InstanceGroupsListInstancesWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -9439,6 +13018,102 @@ func (s *InstanceGroupsListInstances) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// InstanceGroupsListInstancesWarning: [Output Only] Informational +// warning message. +type InstanceGroupsListInstancesWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InstanceGroupsListInstancesWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupsListInstancesWarning) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupsListInstancesWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InstanceGroupsListInstancesWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupsListInstancesWarningData) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupsListInstancesWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type InstanceGroupsListInstancesRequest struct { // InstanceState: A filter for the state of the instances in the // instance group. Valid options are ALL or RUNNING. If you do not @@ -9667,11 +13342,11 @@ func (s *InstanceGroupsSetNamedPortsRequest) MarshalJSON() ([]byte, error) { // InstanceList: Contains a list of instances. type InstanceList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of instances. + // Items: A list of Instance resources. Items []*Instance `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#instanceList for @@ -9689,6 +13364,9 @@ type InstanceList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *InstanceListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -9716,13 +13394,108 @@ func (s *InstanceList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// InstanceListWarning: [Output Only] Informational warning message. +type InstanceListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InstanceListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceListWarning) MarshalJSON() ([]byte, error) { + type noMethod InstanceListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InstanceListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceListWarningData) MarshalJSON() ([]byte, error) { + type noMethod InstanceListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // InstanceListReferrers: Contains a list of instance referrers. type InstanceListReferrers struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of referrers. + // Items: A list of Reference resources. Items []*Reference `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -9740,6 +13513,9 @@ type InstanceListReferrers struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *InstanceListReferrersWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -9767,6 +13543,102 @@ func (s *InstanceListReferrers) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// InstanceListReferrersWarning: [Output Only] Informational warning +// message. +type InstanceListReferrersWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InstanceListReferrersWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceListReferrersWarning) MarshalJSON() ([]byte, error) { + type noMethod InstanceListReferrersWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InstanceListReferrersWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceListReferrersWarningData) MarshalJSON() ([]byte, error) { + type noMethod InstanceListReferrersWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type InstanceMoveRequest struct { // DestinationZone: The URL of the destination zone to move the // instance. This can be a full or partial URL. For example, the @@ -9996,11 +13868,11 @@ func (s *InstanceTemplate) MarshalJSON() ([]byte, error) { // InstanceTemplateList: A list of instance templates. type InstanceTemplateList struct { - // Id: [Output Only] A unique identifier for this instance template. The - // server defines this identifier. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] list of InstanceTemplate resources. + // Items: A list of InstanceTemplate resources. Items []*InstanceTemplate `json:"items,omitempty"` // Kind: [Output Only] The resource type, which is always @@ -10015,10 +13887,12 @@ type InstanceTemplateList struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] The URL for this instance template list. The - // server defines this URL. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *InstanceTemplateListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -10046,6 +13920,102 @@ func (s *InstanceTemplateList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// InstanceTemplateListWarning: [Output Only] Informational warning +// message. +type InstanceTemplateListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InstanceTemplateListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceTemplateListWarning) MarshalJSON() ([]byte, error) { + type noMethod InstanceTemplateListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InstanceTemplateListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceTemplateListWarningData) MarshalJSON() ([]byte, error) { + type noMethod InstanceTemplateListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type InstanceWithNamedPorts struct { // Instance: [Output Only] The URL of the instance. Instance string `json:"instance,omitempty"` @@ -10410,7 +14380,7 @@ func (s *InstancesStartWithEncryptionKeyRequest) MarshalJSON() ([]byte, error) { } // Interconnect: Protocol definitions for Mixer API to support -// Interconnect. Next available tag: 22 +// Interconnect. Next available tag: 23 type Interconnect struct { // AdminEnabled: Administrative status of the interconnect. When this is // set to ?true?, the Interconnect is functional and may carry traffic @@ -10420,6 +14390,10 @@ type Interconnect struct { // over it. By default, it is set to ?true?. AdminEnabled bool `json:"adminEnabled,omitempty"` + // CircuitInfos: [Output Only] List of CircuitInfo objects, that + // describe the individual circuits in this LAG. + CircuitInfos []*InterconnectCircuitInfo `json:"circuitInfos,omitempty"` + // ConnectionAuthorization: [Output Only] URL to retrieve the Letter Of // Authority and Customer Facility Assignment (LOA-CFA) documentation // relating to this Interconnect. This documentation authorizes the @@ -10430,6 +14404,10 @@ type Interconnect struct { // format. CreationTimestamp string `json:"creationTimestamp,omitempty"` + // CustomerName: Customer name, to put in the Letter of Authorization as + // the party authorized to request a crossconnect. + CustomerName string `json:"customerName,omitempty"` + // Description: An optional description of this resource. Provide this // property when you create the resource. Description string `json:"description,omitempty"` @@ -10456,6 +14434,7 @@ type Interconnect struct { InterconnectAttachments []string `json:"interconnectAttachments,omitempty"` // Possible values: + // "IT_PARTNER" // "IT_PRIVATE" InterconnectType string `json:"interconnectType,omitempty"` @@ -10540,7 +14519,7 @@ func (s *Interconnect) MarshalJSON() ([]byte, error) { } // InterconnectAttachment: Protocol definitions for Mixer API to support -// InterconnectAttachment. Next available tag: 14 +// InterconnectAttachment. Next available tag: 18 type InterconnectAttachment struct { // CloudRouterIpAddress: [Output Only] IPv4 address + prefix length to // be configured on Cloud Router Interface for this interconnect @@ -10642,11 +14621,11 @@ func (s *InterconnectAttachment) MarshalJSON() ([]byte, error) { } type InterconnectAttachmentAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped InterconnectAttachment lists. + // Items: A list of InterconnectAttachmentsScopedList resources. Items map[string]InterconnectAttachmentsScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -10665,6 +14644,9 @@ type InterconnectAttachmentAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *InterconnectAttachmentAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -10692,14 +14674,110 @@ func (s *InterconnectAttachmentAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// InterconnectAttachmentAggregatedListWarning: [Output Only] +// Informational warning message. +type InterconnectAttachmentAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InterconnectAttachmentAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectAttachmentAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod InterconnectAttachmentAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InterconnectAttachmentAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectAttachmentAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod InterconnectAttachmentAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // InterconnectAttachmentList: Response to the list request, and // contains a list of interconnect attachments. type InterconnectAttachmentList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of InterconnectAttachment resources. + // Items: A list of InterconnectAttachment resources. Items []*InterconnectAttachment `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -10718,6 +14796,9 @@ type InterconnectAttachmentList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *InterconnectAttachmentListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -10745,6 +14826,102 @@ func (s *InterconnectAttachmentList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// InterconnectAttachmentListWarning: [Output Only] Informational +// warning message. +type InterconnectAttachmentListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InterconnectAttachmentListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectAttachmentListWarning) MarshalJSON() ([]byte, error) { + type noMethod InterconnectAttachmentListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InterconnectAttachmentListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectAttachmentListWarningData) MarshalJSON() ([]byte, error) { + type noMethod InterconnectAttachmentListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // InterconnectAttachmentPrivateInfo: Private information for an // interconnect attachment when this belongs to an interconnect of type // IT_PRIVATE. @@ -10907,14 +15084,55 @@ func (s *InterconnectAttachmentsScopedListWarningData) MarshalJSON() ([]byte, er return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// InterconnectCircuitInfo: Describes a single physical circuit between +// the Customer and Google. CircuitInfo objects are created by Google, +// so all fields are output only. Next id: 4 +type InterconnectCircuitInfo struct { + // CustomerDemarcId: Customer-side demarc ID for this circuit. This will + // only be set if it was provided by the Customer to Google during + // circuit turn-up. + CustomerDemarcId string `json:"customerDemarcId,omitempty"` + + // GoogleCircuitId: Google-assigned unique ID for this circuit. Assigned + // at circuit turn-up. + GoogleCircuitId string `json:"googleCircuitId,omitempty"` + + // GoogleDemarcId: Google-side demarc ID for this circuit. Assigned at + // circuit turn-up and provided by Google to the customer in the LOA. + GoogleDemarcId string `json:"googleDemarcId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CustomerDemarcId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CustomerDemarcId") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectCircuitInfo) MarshalJSON() ([]byte, error) { + type noMethod InterconnectCircuitInfo + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // InterconnectList: Response to the list request, and contains a list // of interconnects. type InterconnectList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Interconnect resources. + // Items: A list of Interconnect resources. Items []*Interconnect `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#interconnectList @@ -10932,6 +15150,9 @@ type InterconnectList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *InterconnectListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -10959,6 +15180,101 @@ func (s *InterconnectList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// InterconnectListWarning: [Output Only] Informational warning message. +type InterconnectListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InterconnectListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectListWarning) MarshalJSON() ([]byte, error) { + type noMethod InterconnectListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InterconnectListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectListWarningData) MarshalJSON() ([]byte, error) { + type noMethod InterconnectListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // InterconnectLocation: Protocol definitions for Mixer API to support // InterconnectLocation. type InterconnectLocation struct { @@ -11055,11 +15371,11 @@ func (s *InterconnectLocation) MarshalJSON() ([]byte, error) { // InterconnectLocationList: Response to the list request, and contains // a list of interconnect locations. type InterconnectLocationList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of InterconnectLocation resources. + // Items: A list of InterconnectLocation resources. Items []*InterconnectLocation `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -11077,6 +15393,9 @@ type InterconnectLocationList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *InterconnectLocationListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -11104,6 +15423,102 @@ func (s *InterconnectLocationList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// InterconnectLocationListWarning: [Output Only] Informational warning +// message. +type InterconnectLocationListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InterconnectLocationListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectLocationListWarning) MarshalJSON() ([]byte, error) { + type noMethod InterconnectLocationListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InterconnectLocationListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectLocationListWarningData) MarshalJSON() ([]byte, error) { + type noMethod InterconnectLocationListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // InterconnectLocationRegionInfo: Information about any potential // InterconnectAttachments between an Interconnect at a specific // InterconnectLocation, and a specific Cloud Region. @@ -11119,6 +15534,9 @@ type InterconnectLocationRegionInfo struct { // "LP_LOCAL_REGION" LocationPresence string `json:"locationPresence,omitempty"` + // Region: URL for the region of this location. + Region string `json:"region,omitempty"` + // RegionKey: Scope key for the region of this location. RegionKey string `json:"regionKey,omitempty"` @@ -11238,15 +15656,15 @@ func (s *InternalIpOwner) MarshalJSON() ([]byte, error) { // IpOwnerList: Contains a list of IP owners. type IpOwnerList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of InternalIpOwner resources. + // Items: A list of InternalIpOwner resources. Items []*InternalIpOwner `json:"items,omitempty"` - // Kind: [Output Only] Type of resource. Always - // compute#internalIpOwnerList for lists of internal IP owners. + // Kind: [Output Only] Type of resource. Always compute#ipOwnerList for + // lists of IP owners. Kind string `json:"kind,omitempty"` // NextPageToken: [Output Only] This token allows you to get the next @@ -11260,6 +15678,9 @@ type IpOwnerList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *IpOwnerListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -11287,6 +15708,101 @@ func (s *IpOwnerList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// IpOwnerListWarning: [Output Only] Informational warning message. +type IpOwnerListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*IpOwnerListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *IpOwnerListWarning) MarshalJSON() ([]byte, error) { + type noMethod IpOwnerListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type IpOwnerListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *IpOwnerListWarningData) MarshalJSON() ([]byte, error) { + type noMethod IpOwnerListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // License: A license resource. type License struct { // ChargesUseFee: [Output Only] Deprecated. This field no longer @@ -11354,6 +15870,107 @@ func (s *License) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type LicenseCode struct { + // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text + // format. + CreationTimestamp string `json:"creationTimestamp,omitempty"` + + // Description: [Output Only] Description of this License Code. + Description string `json:"description,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] Type of resource. Always compute#licenseCode for + // licenses. + Kind string `json:"kind,omitempty"` + + // LicenseAlias: [Output Only] URL and description aliases of Licenses + // with the same License Code. + LicenseAlias []*LicenseCodeLicenseAlias `json:"licenseAlias,omitempty"` + + // Name: [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"` + + // SelfLink: [Output Only] Server-defined URL for the resource. + SelfLink string `json:"selfLink,omitempty"` + + // State: [Output Only] Current state of this License Code. + // + // Possible values: + // "DISABLED" + // "ENABLED" + // "RESTRICTED" + // "STATE_UNSPECIFIED" + // "TERMINATED" + State string `json:"state,omitempty"` + + // Transferable: [Output Only] If true, the license will remain attached + // when creating images or snapshots from disks. Otherwise, the license + // is not transferred. + Transferable bool `json:"transferable,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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *LicenseCode) MarshalJSON() ([]byte, error) { + type noMethod LicenseCode + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type LicenseCodeLicenseAlias struct { + // Description: [Output Only] Description of this License Code. + Description string `json:"description,omitempty"` + + // SelfLink: [Output Only] URL of license corresponding to this License + // Code. + SelfLink string `json:"selfLink,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Description") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *LicenseCodeLicenseAlias) MarshalJSON() ([]byte, error) { + type noMethod LicenseCodeLicenseAlias + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type LicenseResourceRequirements struct { // MinGuestCpuCount: Minimum number of guest cpus required to use the // Instance. Enforced at Instance creation and Instance start. @@ -11388,11 +16005,11 @@ func (s *LicenseResourceRequirements) MarshalJSON() ([]byte, error) { } type LicensesListResponse struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of License resources. + // Items: A list of License resources. Items []*License `json:"items,omitempty"` // NextPageToken: [Output Only] This token allows you to get the next @@ -11406,6 +16023,9 @@ type LicensesListResponse struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *LicensesListResponseWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -11433,6 +16053,102 @@ func (s *LicensesListResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// LicensesListResponseWarning: [Output Only] Informational warning +// message. +type LicensesListResponseWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*LicensesListResponseWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *LicensesListResponseWarning) MarshalJSON() ([]byte, error) { + type noMethod LicensesListResponseWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type LicensesListResponseWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *LicensesListResponseWarningData) MarshalJSON() ([]byte, error) { + type noMethod LicensesListResponseWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // LogConfig: Specifies what kind of log the caller must write type LogConfig struct { // CloudAudit: Cloud audit options. @@ -11441,6 +16157,9 @@ type LogConfig struct { // Counter: Counter options. Counter *LogConfigCounterOptions `json:"counter,omitempty"` + // DataAccess: Data access options. + DataAccess *LogConfigDataAccessOptions `json:"dataAccess,omitempty"` + // ForceSendFields is a list of field names (e.g. "CloudAudit") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -11466,6 +16185,10 @@ func (s *LogConfig) MarshalJSON() ([]byte, error) { // LogConfigCloudAuditOptions: Write a Cloud Audit log type LogConfigCloudAuditOptions struct { + // AuthorizationLoggingOptions: Information used by the Cloud Audit + // Logging pipeline. + AuthorizationLoggingOptions *AuthorizationLoggingOptions `json:"authorizationLoggingOptions,omitempty"` + // LogName: The log_name to populate in the Cloud Audit Record. // // Possible values: @@ -11474,20 +16197,22 @@ type LogConfigCloudAuditOptions struct { // "UNSPECIFIED_LOG_NAME" LogName string `json:"logName,omitempty"` - // ForceSendFields is a list of field names (e.g. "LogName") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. + // ForceSendFields is a list of field names (e.g. + // "AuthorizationLoggingOptions") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LogName") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. + // NullFields is a list of field names (e.g. + // "AuthorizationLoggingOptions") to include in API requests with the + // JSON null value. By default, fields with empty values are omitted + // from API requests. However, any field with an empty value appearing + // in NullFields will be sent to the server as null. It is an error if a + // field in this list has a non-empty value. This may be used to include + // null fields in Patch requests. NullFields []string `json:"-"` } @@ -11497,7 +16222,29 @@ func (s *LogConfigCloudAuditOptions) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// LogConfigCounterOptions: Options for counters +// LogConfigCounterOptions: Increment a streamz counter with the +// specified metric and field names. +// +// Metric names should start with a '/', generally be lowercase-only, +// and end in "_count". Field names should not contain an initial slash. +// The actual exported metric names will have "/iam/policy" +// prepended. +// +// Field names correspond to IAM request parameters and field values are +// their respective values. +// +// At present the only supported field names are - "iam_principal", +// corresponding to IAMContext.principal; - "" (empty string), resulting +// in one aggretated counter with no field. +// +// Examples: counter { metric: "/debug_access_count" field: +// "iam_principal" } ==> increment counter +// /iam/policy/backend_debug_access_count {iam_principal=[value of +// IAMContext.principal]} +// +// At this time we do not support: * multiple field names (though this +// may be supported in the future) * decrementing the counter * +// incrementing it by anything other than 1 type LogConfigCounterOptions struct { // Field: The field value to attribute. Field string `json:"field,omitempty"` @@ -11528,6 +16275,40 @@ func (s *LogConfigCounterOptions) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// LogConfigDataAccessOptions: Write a Data Access (Gin) log +type LogConfigDataAccessOptions struct { + // LogMode: Whether Gin logging should happen in a fail-closed manner at + // the caller. This is relevant only in the LocalIAM implementation, for + // now. + // + // Possible values: + // "LOG_FAIL_CLOSED" + // "LOG_MODE_UNSPECIFIED" + LogMode string `json:"logMode,omitempty"` + + // ForceSendFields is a list of field names (e.g. "LogMode") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "LogMode") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *LogConfigDataAccessOptions) MarshalJSON() ([]byte, error) { + type noMethod LogConfigDataAccessOptions + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // MachineType: A Machine Type resource. type MachineType struct { // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text @@ -11609,11 +16390,11 @@ func (s *MachineType) MarshalJSON() ([]byte, error) { } type MachineTypeAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped machine type lists. + // Items: A list of MachineTypesScopedList resources. Items map[string]MachineTypesScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -11632,6 +16413,9 @@ type MachineTypeAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *MachineTypeAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -11659,13 +16443,109 @@ func (s *MachineTypeAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// MachineTypeAggregatedListWarning: [Output Only] Informational warning +// message. +type MachineTypeAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*MachineTypeAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *MachineTypeAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod MachineTypeAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type MachineTypeAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *MachineTypeAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod MachineTypeAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // MachineTypeList: Contains a list of machine types. type MachineTypeList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Machine Type resources. + // Items: A list of MachineType resources. Items []*MachineType `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#machineTypeList @@ -11683,6 +16563,9 @@ type MachineTypeList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *MachineTypeListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -11710,6 +16593,101 @@ func (s *MachineTypeList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// MachineTypeListWarning: [Output Only] Informational warning message. +type MachineTypeListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*MachineTypeListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *MachineTypeListWarning) MarshalJSON() ([]byte, error) { + type noMethod MachineTypeListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type MachineTypeListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *MachineTypeListWarningData) MarshalJSON() ([]byte, error) { + type noMethod MachineTypeListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type MachineTypesScopedList struct { // MachineTypes: [Output Only] List of machine types contained in this // scope. @@ -12044,8 +17022,12 @@ type ManagedInstanceOverride struct { // Disks: Disk overrides defined for this instance Disks []*ManagedInstanceOverrideDiskOverride `json:"disks,omitempty"` - // Instance: The URL of the instance. - Instance string `json:"instance,omitempty"` + // Origin: [Output Only] Indicates where does the override come from. + // + // Possible values: + // "AUTO_GENERATED" + // "USER_GENERATED" + Origin string `json:"origin,omitempty"` // ForceSendFields is a list of field names (e.g. "Disks") to // unconditionally include in API requests. By default, fields with @@ -12194,7 +17176,7 @@ type MetadataItems struct { // Value: Value for the metadata entry. These are free-form strings, and // only have meaning as interpreted by the image running in the // instance. The only restriction placed on values is that their size - // must be less than or equal to 32768 bytes. + // must be less than or equal to 262144 bytes (256 KiB). Value string `json:"value,omitempty"` // ForceSendFields is a list of field names (e.g. "Key") to @@ -12357,6 +17339,872 @@ func (s *Network) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// NetworkEndpoint: The network endpoint. +type NetworkEndpoint struct { + // Instance: The name for a specific VM instance that the IP address + // belongs to. This is required for network endpoints of type GCE_VM_IP + // and GCE_VM_IP_PORT. The instance must be in the same zone of network + // endpoint group. + // + // The name must be 1-63 characters long, and comply with RFC1035. + Instance string `json:"instance,omitempty"` + + // IpAddress: Optional IPv4 address of network endpoint. The IP address + // must belong to a VM in GCE (either the primary IP or as part of an + // aliased IP range). If the IP address is not specified, then the + // primary IP address for the VM instance in the network that the + // network endpoint group belongs to will be used. + IpAddress string `json:"ipAddress,omitempty"` + + // Port: Optional port number of network endpoint. If not specified and + // the NetworkEndpointGroup.network_endpoint_type is GCE_IP_PORT, the + // defaultPort for the network endpoint group will be used. + Port int64 `json:"port,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Instance") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Instance") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NetworkEndpoint) MarshalJSON() ([]byte, error) { + type noMethod NetworkEndpoint + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// NetworkEndpointGroup: Represents a collection of network endpoints. +type NetworkEndpointGroup struct { + // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 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] The unique identifier for the resource. This + // identifier is defined by the server. + Id uint64 `json:"id,omitempty,string"` + + // Kind: [Output Only] Type of the resource. Always + // compute#networkEndpointGroup for network endpoint group. + Kind string `json:"kind,omitempty"` + + // LoadBalancer: This field is only valid when the network endpoint + // group type is LOAD_BALANCING. + LoadBalancer *NetworkEndpointGroupLbNetworkEndpointGroup `json:"loadBalancer,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 with + // RFC1035. 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"` + + // NetworkEndpointType: Type of network endpoints in this network + // endpoint group. Only supported values for LOAD_BALANCING are + // GCE_VM_IP or GCE_VM_IP_PORT. + // + // Possible values: + // "GCE_VM_IP_PORT" + NetworkEndpointType string `json:"networkEndpointType,omitempty"` + + // SelfLink: [Output Only] Server-defined URL for the resource. + SelfLink string `json:"selfLink,omitempty"` + + // Size: [Output only] Number of network endpoints in the network + // endpoint group. + Size int64 `json:"size,omitempty"` + + // Type: Specify the type of this network endpoint group. Only + // LOAD_BALANCING is valid for now. + // + // Possible values: + // "LOAD_BALANCING" + Type string `json:"type,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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *NetworkEndpointGroup) MarshalJSON() ([]byte, error) { + type noMethod NetworkEndpointGroup + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type NetworkEndpointGroupAggregatedList struct { + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. + Id string `json:"id,omitempty"` + + // Items: A list of NetworkEndpointGroupsScopedList resources. + Items map[string]NetworkEndpointGroupsScopedList `json:"items,omitempty"` + + // Kind: [Output Only] The resource type, which is always + // compute#networkEndpointGroupAggregatedList for aggregated lists of + // network endpoint groups. + 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 + // than maxResults, 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] Server-defined URL for this resource. + SelfLink string `json:"selfLink,omitempty"` + + // Warning: [Output Only] Informational warning message. + Warning *NetworkEndpointGroupAggregatedListWarning `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NetworkEndpointGroupAggregatedList) MarshalJSON() ([]byte, error) { + type noMethod NetworkEndpointGroupAggregatedList + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// NetworkEndpointGroupAggregatedListWarning: [Output Only] +// Informational warning message. +type NetworkEndpointGroupAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*NetworkEndpointGroupAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NetworkEndpointGroupAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod NetworkEndpointGroupAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type NetworkEndpointGroupAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NetworkEndpointGroupAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod NetworkEndpointGroupAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// NetworkEndpointGroupLbNetworkEndpointGroup: Load balancing specific +// fields for network endpoint group of type LOAD_BALANCING. +type NetworkEndpointGroupLbNetworkEndpointGroup struct { + // DefaultPort: The default port used if the port number is not + // specified in the network endpoint. If the network endpoint type is + // GCE_VM_IP, this field must not be specified. + DefaultPort int64 `json:"defaultPort,omitempty"` + + // Network: The URL of the network to which all network endpoints in the + // NEG belong. Uses "default" project network if unspecified. + Network string `json:"network,omitempty"` + + // Subnetwork: Optional URL of the subnetwork to which all network + // endpoints in the NEG belong. + Subnetwork string `json:"subnetwork,omitempty"` + + // Zone: [Output Only] The URL of the zone where the network endpoint + // group is located. + Zone string `json:"zone,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DefaultPort") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DefaultPort") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NetworkEndpointGroupLbNetworkEndpointGroup) MarshalJSON() ([]byte, error) { + type noMethod NetworkEndpointGroupLbNetworkEndpointGroup + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type NetworkEndpointGroupList struct { + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. + Id string `json:"id,omitempty"` + + // Items: A list of NetworkEndpointGroup resources. + Items []*NetworkEndpointGroup `json:"items,omitempty"` + + // Kind: [Output Only] The resource type, which is always + // compute#networkEndpointGroupList for network endpoint group lists. + 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 + // than maxResults, 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] Server-defined URL for this resource. + SelfLink string `json:"selfLink,omitempty"` + + // Warning: [Output Only] Informational warning message. + Warning *NetworkEndpointGroupListWarning `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NetworkEndpointGroupList) MarshalJSON() ([]byte, error) { + type noMethod NetworkEndpointGroupList + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// NetworkEndpointGroupListWarning: [Output Only] Informational warning +// message. +type NetworkEndpointGroupListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*NetworkEndpointGroupListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NetworkEndpointGroupListWarning) MarshalJSON() ([]byte, error) { + type noMethod NetworkEndpointGroupListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type NetworkEndpointGroupListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NetworkEndpointGroupListWarningData) MarshalJSON() ([]byte, error) { + type noMethod NetworkEndpointGroupListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type NetworkEndpointGroupsAttachEndpointsRequest 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *NetworkEndpointGroupsAttachEndpointsRequest) MarshalJSON() ([]byte, error) { + type noMethod NetworkEndpointGroupsAttachEndpointsRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type NetworkEndpointGroupsDetachEndpointsRequest 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *NetworkEndpointGroupsDetachEndpointsRequest) MarshalJSON() ([]byte, error) { + type noMethod NetworkEndpointGroupsDetachEndpointsRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type NetworkEndpointGroupsListEndpointsRequest struct { + // HealthStatus: Optional query parameter for showing the health status + // of each network endpoint. Valid options are SKIP or SHOW. If you + // don't specifiy this parameter, the health status of network endpoints + // will not be provided. + // + // Possible values: + // "SHOW" + // "SKIP" + HealthStatus string `json:"healthStatus,omitempty"` + + // ForceSendFields is a list of field names (e.g. "HealthStatus") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "HealthStatus") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NetworkEndpointGroupsListEndpointsRequest) MarshalJSON() ([]byte, error) { + type noMethod NetworkEndpointGroupsListEndpointsRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type NetworkEndpointGroupsListNetworkEndpoints struct { + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. + Id string `json:"id,omitempty"` + + // Items: A list of NetworkEndpointWithHealthStatus resources. + Items []*NetworkEndpointWithHealthStatus `json:"items,omitempty"` + + // Kind: [Output Only] The resource type, which is always + // compute#networkEndpointGroupsListNetworkEndpoints for the list of + // network endpoints in the specified network endpoint group. + 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 + // than maxResults, 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"` + + // Warning: [Output Only] Informational warning message. + Warning *NetworkEndpointGroupsListNetworkEndpointsWarning `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NetworkEndpointGroupsListNetworkEndpoints) MarshalJSON() ([]byte, error) { + type noMethod NetworkEndpointGroupsListNetworkEndpoints + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// NetworkEndpointGroupsListNetworkEndpointsWarning: [Output Only] +// Informational warning message. +type NetworkEndpointGroupsListNetworkEndpointsWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*NetworkEndpointGroupsListNetworkEndpointsWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NetworkEndpointGroupsListNetworkEndpointsWarning) MarshalJSON() ([]byte, error) { + type noMethod NetworkEndpointGroupsListNetworkEndpointsWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type NetworkEndpointGroupsListNetworkEndpointsWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NetworkEndpointGroupsListNetworkEndpointsWarningData) MarshalJSON() ([]byte, error) { + type noMethod NetworkEndpointGroupsListNetworkEndpointsWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type NetworkEndpointGroupsScopedList struct { + // NetworkEndpointGroups: [Output Only] The list of network endpoint + // groups that are contained in this scope. + NetworkEndpointGroups []*NetworkEndpointGroup `json:"networkEndpointGroups,omitempty"` + + // Warning: [Output Only] An informational warning that replaces the + // list of network endpoint groups when the list is empty. + Warning *NetworkEndpointGroupsScopedListWarning `json:"warning,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "NetworkEndpointGroups") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "NetworkEndpointGroups") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *NetworkEndpointGroupsScopedList) MarshalJSON() ([]byte, error) { + type noMethod NetworkEndpointGroupsScopedList + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// NetworkEndpointGroupsScopedListWarning: [Output Only] An +// informational warning that replaces the list of network endpoint +// groups when the list is empty. +type NetworkEndpointGroupsScopedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*NetworkEndpointGroupsScopedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NetworkEndpointGroupsScopedListWarning) MarshalJSON() ([]byte, error) { + type noMethod NetworkEndpointGroupsScopedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type NetworkEndpointGroupsScopedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NetworkEndpointGroupsScopedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod NetworkEndpointGroupsScopedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type NetworkEndpointWithHealthStatus struct { + // Healths: [Output only] The health status of network endpoint; + Healths []*HealthStatusForNetworkEndpoint `json:"healths,omitempty"` + + // NetworkEndpoint: [Output only] The network endpoint; + NetworkEndpoint *NetworkEndpoint `json:"networkEndpoint,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Healths") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Healths") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NetworkEndpointWithHealthStatus) MarshalJSON() ([]byte, error) { + type noMethod NetworkEndpointWithHealthStatus + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // NetworkInterface: A network interface resource attached to an // instance. type NetworkInterface struct { @@ -12445,11 +18293,11 @@ func (s *NetworkInterface) MarshalJSON() ([]byte, error) { // NetworkList: Contains a list of networks. type NetworkList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Network resources. + // Items: A list of Network resources. Items []*Network `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#networkList for @@ -12467,6 +18315,9 @@ type NetworkList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *NetworkListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -12494,6 +18345,101 @@ func (s *NetworkList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// NetworkListWarning: [Output Only] Informational warning message. +type NetworkListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*NetworkListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NetworkListWarning) MarshalJSON() ([]byte, error) { + type noMethod NetworkListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type NetworkListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NetworkListWarningData) MarshalJSON() ([]byte, error) { + type noMethod NetworkListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // NetworkPeering: A network peering attached to a network resource. The // message includes the peering name, peer network, peering state, and a // flag indicating whether Google Compute Engine should automatically @@ -12970,6 +18916,9 @@ type OperationAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *OperationAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -12997,6 +18946,102 @@ func (s *OperationAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// OperationAggregatedListWarning: [Output Only] Informational warning +// message. +type OperationAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*OperationAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *OperationAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod OperationAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type OperationAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *OperationAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod OperationAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // OperationList: Contains a list of Operation resources. type OperationList struct { // Id: [Output Only] The unique identifier for the resource. This @@ -13021,6 +19066,9 @@ type OperationList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *OperationListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -13048,6 +19096,101 @@ func (s *OperationList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// OperationListWarning: [Output Only] Informational warning message. +type OperationListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*OperationListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *OperationListWarning) MarshalJSON() ([]byte, error) { + type noMethod OperationListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type OperationListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *OperationListWarningData) MarshalJSON() ([]byte, error) { + type noMethod OperationListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type OperationsScopedList struct { // Operations: [Output Only] List of operations contained in this scope. Operations []*Operation `json:"operations,omitempty"` @@ -13389,6 +19532,17 @@ type Project struct { // format. CreationTimestamp string `json:"creationTimestamp,omitempty"` + // DefaultNetworkTier: This signifies the default network tier used for + // configuring resources of the project and can only take the following + // values: PREMIUM, STANDARD. Initially the default network tier is + // PREMIUM. + // + // Possible values: + // "PREMIUM" + // "SELECT" + // "STANDARD" + DefaultNetworkTier string `json:"defaultNetworkTier,omitempty"` + // DefaultServiceAccount: [Output Only] Default service account used by // VMs running in this project. DefaultServiceAccount string `json:"defaultServiceAccount,omitempty"` @@ -13422,9 +19576,8 @@ type Project struct { // the Google Cloud Storage bucket where they are stored. UsageExportLocation *UsageExportLocation `json:"usageExportLocation,omitempty"` - // XpnProjectStatus: [Output Only] The role this project has in a Cross - // Project Network (XPN) configuration. Currently only HOST projects are - // differentiated. + // XpnProjectStatus: [Output Only] The role this project has in a shared + // VPC configuration. Currently only HOST projects are differentiated. // // Possible values: // "HOST" @@ -13461,7 +19614,7 @@ func (s *Project) MarshalJSON() ([]byte, error) { } type ProjectsDisableXpnResourceRequest struct { - // XpnResource: XPN resource ID. + // XpnResource: Service resource (a.k.a service project) ID. XpnResource *XpnResourceId `json:"xpnResource,omitempty"` // ForceSendFields is a list of field names (e.g. "XpnResource") to @@ -13488,7 +19641,7 @@ func (s *ProjectsDisableXpnResourceRequest) MarshalJSON() ([]byte, error) { } type ProjectsEnableXpnResourceRequest struct { - // XpnResource: XPN resource ID. + // XpnResource: Service resource (a.k.a service project) ID. XpnResource *XpnResourceId `json:"xpnResource,omitempty"` // ForceSendFields is a list of field names (e.g. "XpnResource") to @@ -13516,7 +19669,8 @@ func (s *ProjectsEnableXpnResourceRequest) MarshalJSON() ([]byte, error) { type ProjectsGetXpnResources struct { // Kind: [Output Only] Type of resource. Always - // compute#projectsGetXpnResources for lists of XPN resources. + // compute#projectsGetXpnResources for lists of service resources (a.k.a + // service projects) Kind string `json:"kind,omitempty"` // NextPageToken: [Output Only] This token allows you to get the next @@ -13527,7 +19681,8 @@ type ProjectsGetXpnResources struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // Resources: XPN resources attached to this project as their XPN host. + // Resources: Service resources (a.k.a service projects) attached to + // this project as their shared VPC host. Resources []*XpnResourceId `json:"resources,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -13559,8 +19714,8 @@ func (s *ProjectsGetXpnResources) MarshalJSON() ([]byte, error) { type ProjectsListXpnHostsRequest struct { // Organization: Optional organization ID managed by Cloud Resource - // Manager, for which to list XPN host projects. If not specified, the - // organization will be inferred from the project. + // Manager, for which to list shared VPC host projects. If not + // specified, the organization will be inferred from the project. Organization string `json:"organization,omitempty"` // ForceSendFields is a list of field names (e.g. "Organization") to @@ -13586,6 +19741,38 @@ func (s *ProjectsListXpnHostsRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type ProjectsSetDefaultNetworkTierRequest struct { + // NetworkTier: Default network tier to be set. + // + // Possible values: + // "PREMIUM" + // "SELECT" + // "STANDARD" + NetworkTier string `json:"networkTier,omitempty"` + + // ForceSendFields is a list of field names (e.g. "NetworkTier") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "NetworkTier") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ProjectsSetDefaultNetworkTierRequest) MarshalJSON() ([]byte, error) { + type noMethod ProjectsSetDefaultNetworkTierRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type ProjectsSetDefaultServiceAccountRequest struct { // Email: Email address of the service account. Email string `json:"email,omitempty"` @@ -13637,15 +19824,20 @@ type Quota struct { // "INSTANCE_GROUPS" // "INSTANCE_GROUP_MANAGERS" // "INSTANCE_TEMPLATES" + // "INTERCONNECTS" // "IN_USE_ADDRESSES" // "LOCAL_SSD_TOTAL_GB" // "NETWORKS" // "NVIDIA_K80_GPUS" + // "NVIDIA_P100_GPUS" // "PREEMPTIBLE_CPUS" + // "PREEMPTIBLE_LOCAL_SSD_GB" // "REGIONAL_AUTOSCALERS" // "REGIONAL_INSTANCE_GROUP_MANAGERS" // "ROUTERS" // "ROUTES" + // "SECURITY_POLICIES" + // "SECURITY_POLICY_RULES" // "SNAPSHOTS" // "SSD_TOTAL_GB" // "SSL_CERTIFICATES" @@ -13815,23 +20007,30 @@ func (s *Region) MarshalJSON() ([]byte, error) { // RegionAutoscalerList: Contains a list of autoscalers. type RegionAutoscalerList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 autoscalers. + // Items: A list of Autoscaler resources. Items []*Autoscaler `json:"items,omitempty"` // Kind: Type of resource. Kind string `json:"kind,omitempty"` - // NextPageToken: [Output Only] A token used to continue a truncated - // 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 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] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *RegionAutoscalerListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -13859,12 +20058,108 @@ func (s *RegionAutoscalerList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RegionAutoscalerListWarning: [Output Only] Informational warning +// message. +type RegionAutoscalerListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*RegionAutoscalerListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionAutoscalerListWarning) MarshalJSON() ([]byte, error) { + type noMethod RegionAutoscalerListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RegionAutoscalerListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionAutoscalerListWarningData) MarshalJSON() ([]byte, error) { + type noMethod RegionAutoscalerListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type RegionDiskTypeList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Disk Type resources. + // Items: A list of DiskType resources. Items []*DiskType `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -13882,6 +20177,9 @@ type RegionDiskTypeList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *RegionDiskTypeListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -13909,6 +20207,102 @@ func (s *RegionDiskTypeList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RegionDiskTypeListWarning: [Output Only] Informational warning +// message. +type RegionDiskTypeListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*RegionDiskTypeListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionDiskTypeListWarning) MarshalJSON() ([]byte, error) { + type noMethod RegionDiskTypeListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RegionDiskTypeListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionDiskTypeListWarningData) MarshalJSON() ([]byte, error) { + type noMethod RegionDiskTypeListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type RegionDisksResizeRequest struct { // SizeGb: The new size of the regional persistent disk, which is // specified in GB. @@ -13939,8 +20333,8 @@ func (s *RegionDisksResizeRequest) MarshalJSON() ([]byte, error) { // RegionInstanceGroupList: Contains a list of InstanceGroup resources. type RegionInstanceGroupList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 InstanceGroup resources. @@ -13957,10 +20351,12 @@ type RegionInstanceGroupList struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] The URL for this resource type. The server - // generates this URL. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *RegionInstanceGroupListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -13988,6 +20384,102 @@ func (s *RegionInstanceGroupList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RegionInstanceGroupListWarning: [Output Only] Informational warning +// message. +type RegionInstanceGroupListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*RegionInstanceGroupListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionInstanceGroupListWarning) MarshalJSON() ([]byte, error) { + type noMethod RegionInstanceGroupListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RegionInstanceGroupListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionInstanceGroupListWarningData) MarshalJSON() ([]byte, error) { + type noMethod RegionInstanceGroupListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // RegionInstanceGroupManagerDeleteInstanceConfigReq: // RegionInstanceGroupManagers.deletePerInstanceConfigs type RegionInstanceGroupManagerDeleteInstanceConfigReq struct { @@ -14021,11 +20513,11 @@ func (s *RegionInstanceGroupManagerDeleteInstanceConfigReq) MarshalJSON() ([]byt // RegionInstanceGroupManagerList: Contains a list of managed instance // groups. type RegionInstanceGroupManagerList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 managed instance groups. + // Items: A list of InstanceGroupManager resources. Items []*InstanceGroupManager `json:"items,omitempty"` // Kind: [Output Only] The resource type, which is always @@ -14033,14 +20525,20 @@ type RegionInstanceGroupManagerList struct { // groups that exist in th regional scope. Kind string `json:"kind,omitempty"` - // NextPageToken: [Output only] A token used to continue a truncated - // 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 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] The URL for this resource type. The server - // generates this URL. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *RegionInstanceGroupManagerListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -14068,6 +20566,102 @@ func (s *RegionInstanceGroupManagerList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RegionInstanceGroupManagerListWarning: [Output Only] Informational +// warning message. +type RegionInstanceGroupManagerListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*RegionInstanceGroupManagerListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionInstanceGroupManagerListWarning) MarshalJSON() ([]byte, error) { + type noMethod RegionInstanceGroupManagerListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RegionInstanceGroupManagerListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionInstanceGroupManagerListWarningData) MarshalJSON() ([]byte, error) { + type noMethod RegionInstanceGroupManagerListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // RegionInstanceGroupManagerUpdateInstanceConfigReq: // RegionInstanceGroupManagers.updatePerInstanceConfigs type RegionInstanceGroupManagerUpdateInstanceConfigReq struct { @@ -14139,6 +20733,8 @@ type RegionInstanceGroupManagersApplyUpdatesRequest struct { // instances. By default REPLACE. // // Possible values: + // "NONE" + // "REFRESH" // "REPLACE" // "RESTART" MaximalAction string `json:"maximalAction,omitempty"` @@ -14147,6 +20743,8 @@ type RegionInstanceGroupManagersApplyUpdatesRequest struct { // instances. By default NONE. // // Possible values: + // "NONE" + // "REFRESH" // "REPLACE" // "RESTART" MinimalAction string `json:"minimalAction,omitempty"` @@ -14203,39 +20801,8 @@ func (s *RegionInstanceGroupManagersDeleteInstancesRequest) MarshalJSON() ([]byt return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// RegionInstanceGroupManagersDeleteOverridesRequest: -// RegionInstanceGroupManagers.deleteOverrides -type RegionInstanceGroupManagersDeleteOverridesRequest struct { - // Instances: The list of instances for which we want to delete - // overrides on this managed instance group. - Instances []string `json:"instances,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Instances") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Instances") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *RegionInstanceGroupManagersDeleteOverridesRequest) MarshalJSON() ([]byte, error) { - type noMethod RegionInstanceGroupManagersDeleteOverridesRequest - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - type RegionInstanceGroupManagersListInstanceConfigsResp struct { - // Items: [Output Only] The list of per-instance configs in the managed - // instance group. + // Items: [Output Only] The list of PerInstanceConfig. Items []*PerInstanceConfig `json:"items,omitempty"` // NextPageToken: [Output Only] This token allows you to get the next @@ -14246,6 +20813,9 @@ type RegionInstanceGroupManagersListInstanceConfigsResp struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *RegionInstanceGroupManagersListInstanceConfigsRespWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -14273,6 +20843,102 @@ func (s *RegionInstanceGroupManagersListInstanceConfigsResp) MarshalJSON() ([]by return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RegionInstanceGroupManagersListInstanceConfigsRespWarning: [Output +// Only] Informational warning message. +type RegionInstanceGroupManagersListInstanceConfigsRespWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*RegionInstanceGroupManagersListInstanceConfigsRespWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionInstanceGroupManagersListInstanceConfigsRespWarning) MarshalJSON() ([]byte, error) { + type noMethod RegionInstanceGroupManagersListInstanceConfigsRespWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RegionInstanceGroupManagersListInstanceConfigsRespWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionInstanceGroupManagersListInstanceConfigsRespWarningData) MarshalJSON() ([]byte, error) { + type noMethod RegionInstanceGroupManagersListInstanceConfigsRespWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type RegionInstanceGroupManagersListInstancesResponse struct { // ManagedInstances: List of managed instances. ManagedInstances []*ManagedInstance `json:"managedInstances,omitempty"` @@ -14313,46 +20979,6 @@ func (s *RegionInstanceGroupManagersListInstancesResponse) MarshalJSON() ([]byte return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type RegionInstanceGroupManagersListOverridesResponse struct { - // Items: [Output Only] The list of overrides in the managed instance - // group. - Items []*ManagedInstanceOverride `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 - // than maxResults, 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"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` - - // ForceSendFields is a list of field names (e.g. "Items") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Items") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *RegionInstanceGroupManagersListOverridesResponse) MarshalJSON() ([]byte, error) { - type noMethod RegionInstanceGroupManagersListOverridesResponse - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - type RegionInstanceGroupManagersRecreateRequest struct { // Instances: The URLs of one or more instances to recreate. This can be // a full URL or a partial URL, such as @@ -14472,43 +21098,12 @@ func (s *RegionInstanceGroupManagersSetTemplateRequest) MarshalJSON() ([]byte, e return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// RegionInstanceGroupManagersUpdateOverridesRequest: -// RegionInstanceGroupManagers.updateOverrides -type RegionInstanceGroupManagersUpdateOverridesRequest struct { - // Overrides: The list of overrides to insert or patch on this managed - // instance group. - Overrides []*ManagedInstanceOverride `json:"overrides,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Overrides") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Overrides") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *RegionInstanceGroupManagersUpdateOverridesRequest) MarshalJSON() ([]byte, error) { - type noMethod RegionInstanceGroupManagersUpdateOverridesRequest - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - type RegionInstanceGroupsListInstances struct { - // Id: [Output Only] Unique identifier for the resource. Defined by the + // Id: [Output Only] Unique identifier for the resource; defined by the // server. Id string `json:"id,omitempty"` - // Items: A list of instances and any named ports that are assigned to - // those instances. + // Items: A list of InstanceWithNamedPorts resources. Items []*InstanceWithNamedPorts `json:"items,omitempty"` // Kind: The resource type. @@ -14522,9 +21117,12 @@ type RegionInstanceGroupsListInstances struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] Server-defined URL for the resource. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *RegionInstanceGroupsListInstancesWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -14552,6 +21150,102 @@ func (s *RegionInstanceGroupsListInstances) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RegionInstanceGroupsListInstancesWarning: [Output Only] Informational +// warning message. +type RegionInstanceGroupsListInstancesWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*RegionInstanceGroupsListInstancesWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionInstanceGroupsListInstancesWarning) MarshalJSON() ([]byte, error) { + type noMethod RegionInstanceGroupsListInstancesWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RegionInstanceGroupsListInstancesWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionInstanceGroupsListInstancesWarningData) MarshalJSON() ([]byte, error) { + type noMethod RegionInstanceGroupsListInstancesWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type RegionInstanceGroupsListInstancesRequest struct { // InstanceState: Instances in which state should be returned. Valid // options are: 'ALL', 'RUNNING'. By default, it lists all instances. @@ -14627,11 +21321,11 @@ func (s *RegionInstanceGroupsSetNamedPortsRequest) MarshalJSON() ([]byte, error) // RegionList: Contains a list of region resources. type RegionList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Region resources. + // Items: A list of Region resources. Items []*Region `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#regionList for @@ -14649,6 +21343,9 @@ type RegionList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *RegionListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -14676,6 +21373,101 @@ func (s *RegionList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RegionListWarning: [Output Only] Informational warning message. +type RegionListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*RegionListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionListWarning) MarshalJSON() ([]byte, error) { + type noMethod RegionListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RegionListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionListWarningData) MarshalJSON() ([]byte, error) { + type noMethod RegionListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type RegionSetLabelsRequest struct { // LabelFingerprint: The fingerprint of the previous set of labels for // this resource, used to detect conflicts. The fingerprint is initially @@ -15005,11 +21797,11 @@ func (s *RouteWarningsData) MarshalJSON() ([]byte, error) { // RouteList: Contains a list of Route resources. type RouteList struct { - // Id: [Output Only] Unique identifier for the resource. Defined by the + // Id: [Output Only] Unique identifier for the resource; defined by the // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Route resources. + // Items: A list of Route resources. Items []*Route `json:"items,omitempty"` // Kind: Type of resource. @@ -15026,6 +21818,9 @@ type RouteList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *RouteListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -15053,6 +21848,101 @@ func (s *RouteList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RouteListWarning: [Output Only] Informational warning message. +type RouteListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*RouteListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RouteListWarning) MarshalJSON() ([]byte, error) { + type noMethod RouteListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RouteListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RouteListWarningData) MarshalJSON() ([]byte, error) { + type noMethod RouteListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Router: Router resource. type Router struct { // Bgp: BGP information specific to this router. @@ -15093,6 +21983,10 @@ type Router struct { // last character, which cannot be a dash. Name string `json:"name,omitempty"` + // Nats: List of Nat services created in this router. The maximum number + // of Nat services within a Router is 3 for Alpha. + Nats []*RouterNat `json:"nats,omitempty"` + // Network: URI of the network to which this router belongs. Network string `json:"network,omitempty"` @@ -15164,11 +22058,11 @@ func (s *RouterAdvertisedPrefix) MarshalJSON() ([]byte, error) { // RouterAggregatedList: Contains a list of routers. type RouterAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: A map of scoped router lists. + // Items: A list of Router resources. Items map[string]RoutersScopedList `json:"items,omitempty"` // Kind: Type of resource. @@ -15185,6 +22079,9 @@ type RouterAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *RouterAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -15212,6 +22109,102 @@ func (s *RouterAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RouterAggregatedListWarning: [Output Only] Informational warning +// message. +type RouterAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*RouterAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RouterAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod RouterAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RouterAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RouterAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod RouterAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type RouterBgp struct { // AdvertiseMode: User-specified flag to indicate which mode to use for // advertisement. @@ -15392,8 +22385,8 @@ func (s *RouterInterface) MarshalJSON() ([]byte, error) { // RouterList: Contains a list of Router resources. type RouterList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 Router resources. @@ -15414,6 +22407,9 @@ type RouterList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *RouterListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -15441,6 +22437,220 @@ func (s *RouterList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RouterListWarning: [Output Only] Informational warning message. +type RouterListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*RouterListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RouterListWarning) MarshalJSON() ([]byte, error) { + type noMethod RouterListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RouterListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RouterListWarningData) MarshalJSON() ([]byte, error) { + type noMethod RouterListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// RouterNat: Represents a Nat resource. It enables the VMs within the +// specified subnetworks to access Internet without external IP +// addresses. It specifies a list of subnetworks (and the ranges within) +// that want to use NAT. Customers can also provide the external IPs +// that would be used for NAT. GCP would auto-allocate ephemeral IPs if +// no external IPs are provided. +type RouterNat struct { + // AutoAllocatedNatIps: [Output Only] List of IPs allocated + // automatically by GCP for this Nat service. They will be raw IP + // strings like "179.12.26.133". They are ephemeral IPs allocated from + // the IP blocks managed by the NAT manager. This list can grow and + // shrink based on the number of VMs configured to use NAT. + AutoAllocatedNatIps []string `json:"autoAllocatedNatIps,omitempty"` + + // Name: Unique name of this Nat service. The name must be 1-63 + // characters long and comply with RFC1035. + Name string `json:"name,omitempty"` + + // NatIpAllocateOption: Specify the NatIpAllocateOption. If it is + // AUTO_ONLY, then nat_ip should be empty. + // + // Possible values: + // "AUTO_ONLY" + // "MANUAL_ONLY" + NatIpAllocateOption string `json:"natIpAllocateOption,omitempty"` + + // NatIps: List of URLs of the IP resources used for this Nat service. + // These IPs must be valid static external IP addresses assigned to the + // project. max_length is subject to change post alpha. + NatIps []string `json:"natIps,omitempty"` + + // SourceSubnetworkIpRangesToNat: Specify the Nat option. If this field + // contains ALL_SUBNETWORKS_ALL_IP_RANGES or + // ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, then there should not be any + // other Router.Nat section in any Router for this network in this + // region. + // + // Possible values: + // "ALL_SUBNETWORKS_ALL_IP_RANGES" + // "ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES" + // "LIST_OF_SUBNETWORKS" + SourceSubnetworkIpRangesToNat string `json:"sourceSubnetworkIpRangesToNat,omitempty"` + + // Subnetworks: List of Subnetwork resources whose traffic should be + // translated by NAT Gateway. It is used only when LIST_OF_SUBNETWORKS + // is selected for the SubnetworkIpRangeToNatOption above. + Subnetworks []*RouterNatSubnetworkToNat `json:"subnetworks,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AutoAllocatedNatIps") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AutoAllocatedNatIps") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *RouterNat) MarshalJSON() ([]byte, error) { + type noMethod RouterNat + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// RouterNatSubnetworkToNat: Defines the IP ranges that want to use NAT +// for a subnetwork. +type RouterNatSubnetworkToNat struct { + // Name: URL for the subnetwork resource to use NAT. + Name string `json:"name,omitempty"` + + // SecondaryIpRangeNames: List of the secondary ranges of the Subnetwork + // that are allowed to use NAT. This can be populated only if + // "LIST_OF_SECONDARY_IP_RANGES" is one of the values in + // source_ip_ranges_to_nat. + SecondaryIpRangeNames []string `json:"secondaryIpRangeNames,omitempty"` + + // SourceIpRangesToNats: Specify the options for NAT ranges in the + // Subnetwork. All usages of single value are valid except + // NAT_IP_RANGE_OPTION_UNSPECIFIED. The only valid option with multiple + // values is: ["PRIMARY_IP_RANGE", "LIST_OF_SECONDARY_IP_RANGES"] + // Default: [ALL_IP_RANGES] + // + // Possible values: + // "ALL_IP_RANGES" + // "LIST_OF_SECONDARY_IP_RANGES" + // "PRIMARY_IP_RANGE" + SourceIpRangesToNats []string `json:"sourceIpRangesToNats,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RouterNatSubnetworkToNat) MarshalJSON() ([]byte, error) { + type noMethod RouterNatSubnetworkToNat + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type RouterStatus struct { // BestRoutes: Best routes for this router's network. BestRoutes []*Route `json:"bestRoutes,omitempty"` @@ -15450,6 +22660,8 @@ type RouterStatus struct { BgpPeerStatus []*RouterStatusBgpPeerStatus `json:"bgpPeerStatus,omitempty"` + NatStatus []*RouterStatusNatStatus `json:"natStatus,omitempty"` + // Network: URI of the network to which this router belongs. Network string `json:"network,omitempty"` @@ -15537,6 +22749,57 @@ func (s *RouterStatusBgpPeerStatus) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RouterStatusNatStatus: Status of a NAT contained in this router. +type RouterStatusNatStatus struct { + // AutoAllocatedNatIps: List of IPs auto-allocated for NAT. Example: + // ["1.1.1.1", "129.2.16.89"] + AutoAllocatedNatIps []string `json:"autoAllocatedNatIps,omitempty"` + + // MinExtraNatIpsNeeded: The number of extra IPs to allocate. This will + // be greater than 0 only if user-specified IPs are NOT enough to allow + // all configured VMs to use NAT. This value is meaningful only when + // auto-allocation of NAT IPs is *not* used. + MinExtraNatIpsNeeded int64 `json:"minExtraNatIpsNeeded,omitempty"` + + // Name: Unique name of this NAT. + Name string `json:"name,omitempty"` + + // NumVmEndpointsWithNatMappings: Number of VM endpoints (i.e., Nics) + // that can use NAT. + NumVmEndpointsWithNatMappings int64 `json:"numVmEndpointsWithNatMappings,omitempty"` + + // UserAllocatedNatIpResources: List of fully qualified URLs of reserved + // IP address resources. + UserAllocatedNatIpResources []string `json:"userAllocatedNatIpResources,omitempty"` + + // UserAllocatedNatIps: List of IPs user-allocated for NAT. They will be + // raw IP strings like "179.12.26.133". + UserAllocatedNatIps []string `json:"userAllocatedNatIps,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AutoAllocatedNatIps") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AutoAllocatedNatIps") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *RouterStatusNatStatus) MarshalJSON() ([]byte, error) { + type noMethod RouterStatusNatStatus + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type RouterStatusResponse struct { // Kind: Type of resource. Kind string `json:"kind,omitempty"` @@ -15797,6 +23060,33 @@ type SSLHealthCheck struct { // both port and port_name are defined, port takes precedence. PortName string `json:"portName,omitempty"` + // PortSpecification: Specifies how port is selected for health + // checking, can be one of following values: + // USE_FIXED_PORT: The port number in + // port + // is used for health checking. + // USE_NAMED_PORT: The + // portName + // is used for health checking. + // USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for + // each network endpoint is used for health checking. For other + // backends, the port or named port specified in the Backend Service is + // used for health checking. + // + // + // If not specified, SSL health check follows behavior specified + // in + // port + // and + // portName + // fields. + // + // Possible values: + // "USE_FIXED_PORT" + // "USE_NAMED_PORT" + // "USE_SERVING_PORT" + PortSpecification string `json:"portSpecification,omitempty"` + // ProxyHeader: Specifies the type of proxy header to append before // sending data to the backend, either NONE or PROXY_V1. The default is // NONE. @@ -15892,53 +23182,6 @@ func (s *Scheduling) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type SecurityPoliciesList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. - Id string `json:"id,omitempty"` - - // Items: [Output Only] A list of SecurityPolicy resources. - Items []*SecurityPolicy `json:"items,omitempty"` - - // Kind: [Output Only] Type of resource. Always - // compute#securityPoliciesList for listsof securityPolicies - 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 - // than maxResults, 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"` - - // 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 values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - 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. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *SecurityPoliciesList) MarshalJSON() ([]byte, error) { - type noMethod SecurityPoliciesList - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // SecurityPolicy: A security policy is comprised of one or more rules. // It can also be associated with one or more 'targets'. type SecurityPolicy struct { @@ -16015,6 +23258,152 @@ func (s *SecurityPolicy) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type SecurityPolicyList struct { + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. + Id string `json:"id,omitempty"` + + // Items: A list of SecurityPolicy resources. + Items []*SecurityPolicy `json:"items,omitempty"` + + // Kind: [Output Only] Type of resource. Always + // compute#securityPolicyList for listsof securityPolicies + 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 + // than maxResults, 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"` + + // Warning: [Output Only] Informational warning message. + Warning *SecurityPolicyListWarning `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SecurityPolicyList) MarshalJSON() ([]byte, error) { + type noMethod SecurityPolicyList + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SecurityPolicyListWarning: [Output Only] Informational warning +// message. +type SecurityPolicyListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*SecurityPolicyListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SecurityPolicyListWarning) MarshalJSON() ([]byte, error) { + type noMethod SecurityPolicyListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SecurityPolicyListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SecurityPolicyListWarningData) MarshalJSON() ([]byte, error) { + type noMethod SecurityPolicyListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type SecurityPolicyReference struct { SecurityPolicy string `json:"securityPolicy,omitempty"` @@ -16044,7 +23433,7 @@ func (s *SecurityPolicyReference) MarshalJSON() ([]byte, error) { // SecurityPolicyRule: Represents a rule that describes one or more // match conditions along with the action to be taken when traffic -// matches this condition (allow or deny) +// matches this condition (allow or deny). type SecurityPolicyRule struct { // Action: The Action to preform when the client connection triggers the // rule. Can currently be either "allow" or "deny()" where valid values @@ -16055,8 +23444,8 @@ type SecurityPolicyRule struct { // property when you create the resource. Description string `json:"description,omitempty"` - // Kind: [Output only] Type of the resource. Always compute#rulefor - // security policies + // Kind: [Output only] Type of the resource. Always + // compute#securityPolicyRule for security policy rules Kind string `json:"kind,omitempty"` // Match: A match condition that incoming traffic is evaluated against. @@ -16095,14 +23484,56 @@ func (s *SecurityPolicyRule) MarshalJSON() ([]byte, error) { } // SecurityPolicyRuleMatcher: Represents a match condition that incoming -// traffic is evaluated against. Exactly one of the fields must be set. +// traffic is evaluated against. Exactly one field must be specified. type SecurityPolicyRuleMatcher struct { + // Config: The configuration options available when specifying + // versioned_expr. This field must be specified if versioned_expr is + // specified and cannot be specified if versioned_expr is not specified. + Config *SecurityPolicyRuleMatcherConfig `json:"config,omitempty"` + // SrcIpRanges: CIDR IP address range. Only IPv4 is supported. SrcIpRanges []string `json:"srcIpRanges,omitempty"` // SrcRegionCodes: Match by country or region code. SrcRegionCodes []string `json:"srcRegionCodes,omitempty"` + // VersionedExpr: Preconfigured versioned expression. If this field is + // specified, config must also be specified. Available preconfigured + // expressions along with their requirements are: SRC_IPS_V1 - must + // specify the corresponding src_ip_range field in config. + // + // Possible values: + // "SRC_IPS_V1" + // "VERSIONED_EXPR_UNSPECIFIED" + VersionedExpr string `json:"versionedExpr,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Config") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Config") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SecurityPolicyRuleMatcher) MarshalJSON() ([]byte, error) { + type noMethod SecurityPolicyRuleMatcher + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SecurityPolicyRuleMatcherConfig struct { + // SrcIpRanges: CIDR IP address range. Only IPv4 is supported. + SrcIpRanges []string `json:"srcIpRanges,omitempty"` + // ForceSendFields is a list of field names (e.g. "SrcIpRanges") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -16120,8 +23551,8 @@ type SecurityPolicyRuleMatcher struct { NullFields []string `json:"-"` } -func (s *SecurityPolicyRuleMatcher) MarshalJSON() ([]byte, error) { - type noMethod SecurityPolicyRuleMatcher +func (s *SecurityPolicyRuleMatcherConfig) MarshalJSON() ([]byte, error) { + type noMethod SecurityPolicyRuleMatcherConfig raw := noMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } @@ -16283,6 +23714,10 @@ type Snapshot struct { // by the setLabels method. Label values may be empty. Labels map[string]string `json:"labels,omitempty"` + // LicenseCodes: Integer license codes indicating which licenses are + // attached to this snapshot. + LicenseCodes googleapi.Int64s `json:"licenseCodes,omitempty"` + // Licenses: [Output Only] A list of public visible licenses that apply // to this snapshot. This can be because the original image had licenses // attached (such as a Windows image). @@ -16342,7 +23777,7 @@ type Snapshot struct { // "UPLOADING" Status string `json:"status,omitempty"` - // StorageBytes: [Output Only] A size of the the storage used by the + // StorageBytes: [Output Only] A size of the storage used by the // snapshot. As snapshots share storage, this number is expected to // change with snapshot creation/deletion. StorageBytes int64 `json:"storageBytes,omitempty,string"` @@ -16388,11 +23823,11 @@ func (s *Snapshot) MarshalJSON() ([]byte, error) { // SnapshotList: Contains a list of Snapshot resources. type SnapshotList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Snapshot resources. + // Items: A list of Snapshot resources. Items []*Snapshot `json:"items,omitempty"` // Kind: Type of resource. @@ -16409,6 +23844,9 @@ type SnapshotList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *SnapshotListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -16436,6 +23874,101 @@ func (s *SnapshotList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SnapshotListWarning: [Output Only] Informational warning message. +type SnapshotListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*SnapshotListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SnapshotListWarning) MarshalJSON() ([]byte, error) { + type noMethod SnapshotListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SnapshotListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SnapshotListWarningData) MarshalJSON() ([]byte, error) { + type noMethod SnapshotListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // SslCertificate: An SslCertificate resource. This resource provides a // mechanism to upload an SSL key and certificate to the load balancer // to serve secure connections from the user. @@ -16506,7 +24039,7 @@ func (s *SslCertificate) MarshalJSON() ([]byte, error) { // SslCertificateList: Contains a list of SslCertificate resources. type SslCertificateList struct { - // Id: [Output Only] Unique identifier for the resource. Defined by the + // Id: [Output Only] Unique identifier for the resource; defined by the // server. Id string `json:"id,omitempty"` @@ -16527,6 +24060,9 @@ type SslCertificateList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *SslCertificateListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -16554,6 +24090,510 @@ func (s *SslCertificateList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SslCertificateListWarning: [Output Only] Informational warning +// message. +type SslCertificateListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*SslCertificateListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SslCertificateListWarning) MarshalJSON() ([]byte, error) { + type noMethod SslCertificateListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SslCertificateListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SslCertificateListWarningData) MarshalJSON() ([]byte, error) { + type noMethod SslCertificateListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SslPoliciesList struct { + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. + Id string `json:"id,omitempty"` + + // Items: A list of SslPolicy resources. + Items []*SslPolicy `json:"items,omitempty"` + + // Kind: [Output Only] Type of the resource. Always + // compute#sslPoliciesList for lists of sslPolicies. + 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 + // than maxResults, 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] Server-defined URL for this resource. + SelfLink string `json:"selfLink,omitempty"` + + // Warning: [Output Only] Informational warning message. + Warning *SslPoliciesListWarning `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SslPoliciesList) MarshalJSON() ([]byte, error) { + type noMethod SslPoliciesList + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SslPoliciesListWarning: [Output Only] Informational warning message. +type SslPoliciesListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*SslPoliciesListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SslPoliciesListWarning) MarshalJSON() ([]byte, error) { + type noMethod SslPoliciesListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SslPoliciesListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SslPoliciesListWarningData) MarshalJSON() ([]byte, error) { + type noMethod SslPoliciesListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SslPoliciesListAvailableFeaturesResponse struct { + Features []string `json:"features,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Features") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Features") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SslPoliciesListAvailableFeaturesResponse) MarshalJSON() ([]byte, error) { + type noMethod SslPoliciesListAvailableFeaturesResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SslPolicy: A SSL policy specifies the server-side support for SSL +// features. This can be attached to a TargetHttpsProxy or a +// TargetSslProxy. This affects connections between clients and the +// HTTPS or SSL proxy load balancer. They do not affect the connection +// between the load balancers and the backends. +type SslPolicy struct { + // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text + // format. + CreationTimestamp string `json:"creationTimestamp,omitempty"` + + // CustomFeatures: List of features enabled when the selected profile is + // CUSTOM. The + // - method returns the set of features that can be specified in this + // list. This field must be empty if the profile is not CUSTOM. + CustomFeatures []string `json:"customFeatures,omitempty"` + + // Description: An optional description of this resource. Provide this + // property when you create the resource. + Description string `json:"description,omitempty"` + + // EnabledFeatures: [Output Only] The list of features enabled in the + // SSL policy. + EnabledFeatures []string `json:"enabledFeatures,omitempty"` + + // Fingerprint: Fingerprint of this resource. A hash of the contents + // stored in this object. This field is used in optimistic locking. This + // field will be ignored when inserting a SslPolicy. An up-to-date + // fingerprint must be provided in order to update the SslPolicy. + Fingerprint string `json:"fingerprint,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] Type of the resource. Always compute#sslPolicyfor + // SSL policies. + Kind string `json:"kind,omitempty"` + + // MinTlsVersion: The minimum version of SSL protocol that can be used + // by the clients to establish a connection with the load balancer. This + // can be one of TLS_1_0, TLS_1_1, TLS_1_2, TLS_1_3. + // + // Possible values: + // "TLS_1_0" + // "TLS_1_1" + // "TLS_1_2" + // "TLS_1_3" + MinTlsVersion string `json:"minTlsVersion,omitempty"` + + // Name: Name of the resource. The name must be 1-63 characters long, + // and comply with RFC1035. 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"` + + // 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 of COMPATIBLE, MODERN, RESTRICTED, or CUSTOM. If using CUSTOM, + // the set of SSL features to enable must be specified in the + // customFeatures field. + // + // Possible values: + // "COMPATIBLE" + // "CUSTOM" + // "MODERN" + // "RESTRICTED" + Profile string `json:"profile,omitempty"` + + // SelfLink: [Output Only] Server-defined URL for the resource. + SelfLink string `json:"selfLink,omitempty"` + + // Warnings: [Output Only] If potential misconfigurations are detected + // for this SSL policy, this field will be populated with warning + // messages. + Warnings []*SslPolicyWarnings `json:"warnings,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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *SslPolicy) MarshalJSON() ([]byte, error) { + type noMethod SslPolicy + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SslPolicyWarnings 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*SslPolicyWarningsData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SslPolicyWarnings) MarshalJSON() ([]byte, error) { + type noMethod SslPolicyWarnings + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SslPolicyWarningsData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SslPolicyWarningsData) MarshalJSON() ([]byte, error) { + type noMethod SslPolicyWarningsData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "SslPolicy") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SslPolicyReference) MarshalJSON() ([]byte, error) { + type noMethod SslPolicyReference + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Subnetwork: A Subnetwork resource. type Subnetwork struct { // AllowSubnetCidrRoutesOverlap: Whether this subnetwork can conflict @@ -16582,8 +24622,10 @@ type Subnetwork struct { // resource creation time. Description string `json:"description,omitempty"` - // Fingerprint: Fingerprint generated from a hash of the resource - // contents. + // Fingerprint: Fingerprint of this resource. A hash of the contents + // stored in this object. This field is used in optimistic locking. This + // field will be ignored when inserting a Subnetwork. An up-to-date + // fingerprint must be provided in order to update the Subnetwork. Fingerprint string `json:"fingerprint,omitempty"` // GatewayAddress: [Output Only] The gateway address for default routes @@ -16670,11 +24712,11 @@ func (s *Subnetwork) MarshalJSON() ([]byte, error) { } type SubnetworkAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output] A map of scoped Subnetwork lists. + // Items: A list of SubnetworksScopedList resources. Items map[string]SubnetworksScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -16692,6 +24734,9 @@ type SubnetworkAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *SubnetworkAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -16719,13 +24764,109 @@ func (s *SubnetworkAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SubnetworkAggregatedListWarning: [Output Only] Informational warning +// message. +type SubnetworkAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*SubnetworkAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SubnetworkAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod SubnetworkAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SubnetworkAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SubnetworkAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod SubnetworkAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // SubnetworkList: Contains a list of Subnetwork resources. type SubnetworkList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: The Subnetwork resources. + // Items: A list of Subnetwork resources. Items []*Subnetwork `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#subnetworkList @@ -16743,6 +24884,9 @@ type SubnetworkList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *SubnetworkListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -16770,6 +24914,101 @@ func (s *SubnetworkList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SubnetworkListWarning: [Output Only] Informational warning message. +type SubnetworkListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*SubnetworkListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SubnetworkListWarning) MarshalJSON() ([]byte, error) { + type noMethod SubnetworkListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SubnetworkListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SubnetworkListWarningData) MarshalJSON() ([]byte, error) { + type noMethod SubnetworkListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // SubnetworkSecondaryRange: Represents a secondary IP range of a // subnetwork. type SubnetworkSecondaryRange struct { @@ -17004,6 +25243,33 @@ type TCPHealthCheck struct { // both port and port_name are defined, port takes precedence. PortName string `json:"portName,omitempty"` + // PortSpecification: Specifies how port is selected for health + // checking, can be one of following values: + // USE_FIXED_PORT: The port number in + // port + // is used for health checking. + // USE_NAMED_PORT: The + // portName + // is used for health checking. + // USE_SERVING_PORT: For NetworkEndpointGroup, the port specified for + // each network endpoint is used for health checking. For other + // backends, the port or named port specified in the Backend Service is + // used for health checking. + // + // + // If not specified, TCP health check follows behavior specified + // in + // port + // and + // portName + // fields. + // + // Possible values: + // "USE_FIXED_PORT" + // "USE_NAMED_PORT" + // "USE_SERVING_PORT" + PortSpecification string `json:"portSpecification,omitempty"` + // ProxyHeader: Specifies the type of proxy header to append before // sending data to the backend, either NONE or PROXY_V1. The default is // NONE. @@ -17151,8 +25417,8 @@ func (s *TargetHttpProxy) MarshalJSON() ([]byte, error) { // TargetHttpProxyList: A list of TargetHttpProxy resources. type TargetHttpProxyList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 TargetHttpProxy resources. @@ -17173,6 +25439,9 @@ type TargetHttpProxyList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *TargetHttpProxyListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -17200,6 +25469,102 @@ func (s *TargetHttpProxyList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// TargetHttpProxyListWarning: [Output Only] Informational warning +// message. +type TargetHttpProxyListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*TargetHttpProxyListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetHttpProxyListWarning) MarshalJSON() ([]byte, error) { + type noMethod TargetHttpProxyListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type TargetHttpProxyListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetHttpProxyListWarningData) MarshalJSON() ([]byte, error) { + type noMethod TargetHttpProxyListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type TargetHttpsProxiesSetQuicOverrideRequest struct { // QuicOverride: QUIC policy for the TargetHttpsProxy resource. // @@ -17317,6 +25682,11 @@ type TargetHttpsProxy struct { // Currently, exactly one SSL certificate must be specified. SslCertificates []string `json:"sslCertificates,omitempty"` + // SslPolicy: URL of SslPolicy resource that will be associated with the + // TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource + // will not have any SSL policy configured. + SslPolicy string `json:"sslPolicy,omitempty"` + // UrlMap: A fully-qualified or valid partial URL to the UrlMap resource // that defines the mapping from URL to the BackendService. For example, // the following are all valid URLs for specifying a URL map: @@ -17356,8 +25726,8 @@ func (s *TargetHttpsProxy) MarshalJSON() ([]byte, error) { // TargetHttpsProxyList: Contains a list of TargetHttpsProxy resources. type TargetHttpsProxyList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 TargetHttpsProxy resources. @@ -17378,6 +25748,9 @@ type TargetHttpsProxyList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *TargetHttpsProxyListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -17405,6 +25778,102 @@ func (s *TargetHttpsProxyList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// TargetHttpsProxyListWarning: [Output Only] Informational warning +// message. +type TargetHttpsProxyListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*TargetHttpsProxyListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetHttpsProxyListWarning) MarshalJSON() ([]byte, error) { + type noMethod TargetHttpsProxyListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type TargetHttpsProxyListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetHttpsProxyListWarningData) MarshalJSON() ([]byte, error) { + type noMethod TargetHttpsProxyListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // TargetInstance: A TargetInstance resource. This resource defines an // endpoint instance that terminates traffic of certain protocols. type TargetInstance struct { @@ -17490,7 +25959,7 @@ type TargetInstanceAggregatedList struct { // server. Id string `json:"id,omitempty"` - // Items: A map of scoped target instance lists. + // Items: A list of TargetInstance resources. Items map[string]TargetInstancesScopedList `json:"items,omitempty"` // Kind: Type of resource. @@ -17507,6 +25976,9 @@ type TargetInstanceAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *TargetInstanceAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -17534,10 +26006,106 @@ func (s *TargetInstanceAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// TargetInstanceAggregatedListWarning: [Output Only] Informational +// warning message. +type TargetInstanceAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*TargetInstanceAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetInstanceAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod TargetInstanceAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type TargetInstanceAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetInstanceAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod TargetInstanceAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // TargetInstanceList: Contains a list of TargetInstance resources. type TargetInstanceList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 TargetInstance resources. @@ -17557,6 +26125,9 @@ type TargetInstanceList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *TargetInstanceListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -17584,6 +26155,102 @@ func (s *TargetInstanceList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// TargetInstanceListWarning: [Output Only] Informational warning +// message. +type TargetInstanceListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*TargetInstanceListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetInstanceListWarning) MarshalJSON() ([]byte, error) { + type noMethod TargetInstanceListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type TargetInstanceListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetInstanceListWarningData) MarshalJSON() ([]byte, error) { + type noMethod TargetInstanceListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type TargetInstancesScopedList struct { // TargetInstances: List of target instances contained in this scope. TargetInstances []*TargetInstance `json:"targetInstances,omitempty"` @@ -17856,11 +26523,11 @@ func (s *TargetPool) UnmarshalJSON(data []byte) error { } type TargetPoolAggregatedList struct { - // Id: [Output Only] Unique identifier for the resource. Defined by the + // Id: [Output Only] Unique identifier for the resource; defined by the // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped target pool lists. + // Items: A list of TargetPool resources. Items map[string]TargetPoolsScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -17879,6 +26546,9 @@ type TargetPoolAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *TargetPoolAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -17906,6 +26576,102 @@ func (s *TargetPoolAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// TargetPoolAggregatedListWarning: [Output Only] Informational warning +// message. +type TargetPoolAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*TargetPoolAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetPoolAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod TargetPoolAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type TargetPoolAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetPoolAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod TargetPoolAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type TargetPoolInstanceHealth struct { HealthStatus []*HealthStatus `json:"healthStatus,omitempty"` @@ -17943,7 +26709,7 @@ func (s *TargetPoolInstanceHealth) MarshalJSON() ([]byte, error) { // TargetPoolList: Contains a list of TargetPool resources. type TargetPoolList struct { - // Id: [Output Only] Unique identifier for the resource. Defined by the + // Id: [Output Only] Unique identifier for the resource; defined by the // server. Id string `json:"id,omitempty"` @@ -17965,6 +26731,9 @@ type TargetPoolList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *TargetPoolListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -17992,6 +26761,101 @@ func (s *TargetPoolList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// TargetPoolListWarning: [Output Only] Informational warning message. +type TargetPoolListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*TargetPoolListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetPoolListWarning) MarshalJSON() ([]byte, error) { + type noMethod TargetPoolListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type TargetPoolListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetPoolListWarningData) MarshalJSON() ([]byte, error) { + type noMethod TargetPoolListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type TargetPoolsAddHealthCheckRequest struct { // HealthChecks: The HttpHealthCheck to add to the target pool. HealthChecks []*HealthCheckReference `json:"healthChecks,omitempty"` @@ -18406,6 +27270,11 @@ type TargetSslProxy struct { // certificate must be specified. SslCertificates []string `json:"sslCertificates,omitempty"` + // SslPolicy: URL of SslPolicy resource that will be associated with the + // TargetSslProxy resource. If not set, the TargetSslProxy resource will + // not have any SSL policy configured. + SslPolicy string `json:"sslPolicy,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -18436,8 +27305,8 @@ func (s *TargetSslProxy) MarshalJSON() ([]byte, error) { // TargetSslProxyList: Contains a list of TargetSslProxy resources. type TargetSslProxyList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 TargetSslProxy resources. @@ -18457,6 +27326,9 @@ type TargetSslProxyList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *TargetSslProxyListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -18484,6 +27356,102 @@ func (s *TargetSslProxyList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// TargetSslProxyListWarning: [Output Only] Informational warning +// message. +type TargetSslProxyListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*TargetSslProxyListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetSslProxyListWarning) MarshalJSON() ([]byte, error) { + type noMethod TargetSslProxyListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type TargetSslProxyListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetSslProxyListWarningData) MarshalJSON() ([]byte, error) { + type noMethod TargetSslProxyListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type TargetTcpProxiesSetBackendServiceRequest struct { // Service: The URL of the new BackendService resource for the // targetTcpProxy. @@ -18617,8 +27585,8 @@ func (s *TargetTcpProxy) MarshalJSON() ([]byte, error) { // TargetTcpProxyList: Contains a list of TargetTcpProxy resources. type TargetTcpProxyList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 TargetTcpProxy resources. @@ -18638,6 +27606,9 @@ type TargetTcpProxyList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *TargetTcpProxyListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -18665,6 +27636,102 @@ func (s *TargetTcpProxyList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// TargetTcpProxyListWarning: [Output Only] Informational warning +// message. +type TargetTcpProxyListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*TargetTcpProxyListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetTcpProxyListWarning) MarshalJSON() ([]byte, error) { + type noMethod TargetTcpProxyListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type TargetTcpProxyListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetTcpProxyListWarningData) MarshalJSON() ([]byte, error) { + type noMethod TargetTcpProxyListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // TargetVpnGateway: Represents a Target VPN gateway resource. type TargetVpnGateway struct { // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text @@ -18688,6 +27755,22 @@ type TargetVpnGateway struct { // for target VPN gateways. Kind string `json:"kind,omitempty"` + // LabelFingerprint: A fingerprint for the labels being applied to this + // TargetVpnGateway, which is essentially a hash of the labels set used + // for optimistic locking. 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 in + // order to update or change labels. + // + // To see the latest fingerprint, make a get() request to retrieve an + // TargetVpnGateway. + LabelFingerprint string `json:"labelFingerprint,omitempty"` + + // Labels: Labels to apply to this TargetVpnGateway resource. These can + // be later modified by the setLabels method. Each label key/value must + // comply with RFC1035. Label values may be empty. + Labels map[string]string `json:"labels,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 with // RFC1035. Specifically, the name must be 1-63 characters long and @@ -18751,11 +27834,11 @@ func (s *TargetVpnGateway) MarshalJSON() ([]byte, error) { } type TargetVpnGatewayAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: A map of scoped target vpn gateway lists. + // Items: A list of TargetVpnGateway resources. Items map[string]TargetVpnGatewaysScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#targetVpnGateway @@ -18773,6 +27856,9 @@ type TargetVpnGatewayAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *TargetVpnGatewayAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -18800,13 +27886,109 @@ func (s *TargetVpnGatewayAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// TargetVpnGatewayAggregatedListWarning: [Output Only] Informational +// warning message. +type TargetVpnGatewayAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*TargetVpnGatewayAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetVpnGatewayAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod TargetVpnGatewayAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type TargetVpnGatewayAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetVpnGatewayAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod TargetVpnGatewayAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // TargetVpnGatewayList: Contains a list of TargetVpnGateway resources. type TargetVpnGatewayList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of TargetVpnGateway resources. + // Items: A list of TargetVpnGateway resources. Items []*TargetVpnGateway `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#targetVpnGateway @@ -18824,6 +28006,9 @@ type TargetVpnGatewayList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *TargetVpnGatewayListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -18851,6 +28036,102 @@ func (s *TargetVpnGatewayList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// TargetVpnGatewayListWarning: [Output Only] Informational warning +// message. +type TargetVpnGatewayListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*TargetVpnGatewayListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetVpnGatewayListWarning) MarshalJSON() ([]byte, error) { + type noMethod TargetVpnGatewayListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type TargetVpnGatewayListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetVpnGatewayListWarningData) MarshalJSON() ([]byte, error) { + type noMethod TargetVpnGatewayListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type TargetVpnGatewaysScopedList struct { // TargetVpnGateways: [Output Only] List of target vpn gateways // contained in this scope. @@ -19196,7 +28477,7 @@ func (s *UrlMap) MarshalJSON() ([]byte, error) { // UrlMapList: Contains a list of UrlMap resources. type UrlMapList struct { - // Id: [Output Only] Unique identifier for the resource. Set by the + // Id: [Output Only] Unique identifier for the resource; defined by the // server. Id string `json:"id,omitempty"` @@ -19217,6 +28498,9 @@ type UrlMapList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *UrlMapListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -19244,6 +28528,101 @@ func (s *UrlMapList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// UrlMapListWarning: [Output Only] Informational warning message. +type UrlMapListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*UrlMapListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *UrlMapListWarning) MarshalJSON() ([]byte, error) { + type noMethod UrlMapListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type UrlMapListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *UrlMapListWarningData) MarshalJSON() ([]byte, error) { + type noMethod UrlMapListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type UrlMapReference struct { UrlMap string `json:"urlMap,omitempty"` @@ -19404,6 +28783,185 @@ func (s *UrlMapsValidateResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// UsableSubnetwork: Subnetwork which the current user has +// compute.subnetworks.use permission on. +type UsableSubnetwork struct { + // Subnetwork: Subnetwork URL. + Subnetwork string `json:"subnetwork,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Subnetwork") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Subnetwork") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *UsableSubnetwork) MarshalJSON() ([]byte, error) { + type noMethod UsableSubnetwork + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type UsableSubnetworksAggregatedList struct { + // Id: [Output Only] The unique identifier for the resource. This + // identifier is defined by the server. + Id string `json:"id,omitempty"` + + // Items: [Output] A list of usable subnetwork URLs. + Items []*UsableSubnetwork `json:"items,omitempty"` + + // Kind: [Output Only] Type of resource. Always + // compute#usableSubnetworksAggregatedList for aggregated lists of + // usable subnetworks. + 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 + // than maxResults, 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] Server-defined URL for this resource. + SelfLink string `json:"selfLink,omitempty"` + + // Warning: [Output Only] Informational warning message. + Warning *UsableSubnetworksAggregatedListWarning `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *UsableSubnetworksAggregatedList) MarshalJSON() ([]byte, error) { + type noMethod UsableSubnetworksAggregatedList + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// UsableSubnetworksAggregatedListWarning: [Output Only] Informational +// warning message. +type UsableSubnetworksAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*UsableSubnetworksAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *UsableSubnetworksAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod UsableSubnetworksAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type UsableSubnetworksAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *UsableSubnetworksAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod UsableSubnetworksAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // UsageExportLocation: The location in Cloud Storage and naming method // of the daily usage report. Contains bucket_name and report_name // prefix. @@ -19579,11 +29137,11 @@ func (s *VpnTunnel) MarshalJSON() ([]byte, error) { } type VpnTunnelAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped vpn tunnel lists. + // Items: A list of VpnTunnelsScopedList resources. Items map[string]VpnTunnelsScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#vpnTunnel for @@ -19601,6 +29159,9 @@ type VpnTunnelAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *VpnTunnelAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -19628,13 +29189,109 @@ func (s *VpnTunnelAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// VpnTunnelAggregatedListWarning: [Output Only] Informational warning +// message. +type VpnTunnelAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*VpnTunnelAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *VpnTunnelAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod VpnTunnelAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type VpnTunnelAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *VpnTunnelAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod VpnTunnelAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // VpnTunnelList: Contains a list of VpnTunnel resources. type VpnTunnelList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of VpnTunnel resources. + // Items: A list of VpnTunnel resources. Items []*VpnTunnel `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#vpnTunnel for @@ -19652,6 +29309,9 @@ type VpnTunnelList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *VpnTunnelListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -19679,6 +29339,101 @@ func (s *VpnTunnelList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// VpnTunnelListWarning: [Output Only] Informational warning message. +type VpnTunnelListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*VpnTunnelListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *VpnTunnelListWarning) MarshalJSON() ([]byte, error) { + type noMethod VpnTunnelListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type VpnTunnelListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *VpnTunnelListWarningData) MarshalJSON() ([]byte, error) { + type noMethod VpnTunnelListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type VpnTunnelsScopedList struct { // VpnTunnels: List of vpn tunnels contained in this scope. VpnTunnels []*VpnTunnel `json:"vpnTunnels,omitempty"` @@ -19807,15 +29562,15 @@ func (s *VpnTunnelsScopedListWarningData) MarshalJSON() ([]byte, error) { } type XpnHostList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of XPN host project URLs. + // Items: [Output Only] A list of shared VPC host project URLs. Items []*Project `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#xpnHostList for - // lists of XPN hosts. + // lists of shared VPC hosts. Kind string `json:"kind,omitempty"` // NextPageToken: [Output Only] This token allows you to get the next @@ -19829,6 +29584,9 @@ type XpnHostList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *XpnHostListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -19856,13 +29614,109 @@ func (s *XpnHostList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// XpnResourceId: XpnResourceId +// XpnHostListWarning: [Output Only] Informational warning message. +type XpnHostListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*XpnHostListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *XpnHostListWarning) MarshalJSON() ([]byte, error) { + type noMethod XpnHostListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type XpnHostListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *XpnHostListWarningData) MarshalJSON() ([]byte, error) { + type noMethod XpnHostListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// XpnResourceId: Service resource (a.k.a service project) ID. type XpnResourceId struct { - // Id: The ID of the XPN resource. In the case of projects, this field - // matches the project's name, not the canonical ID. + // Id: The ID of the service resource. In the case of projects, this + // field matches the project ID (e.g., my-project), not the project + // number (e.g., 12345678). Id string `json:"id,omitempty"` - // Type: The type of the XPN resource. + // Type: The type of the service resource. // // Possible values: // "PROJECT" @@ -19969,7 +29823,7 @@ type ZoneList struct { // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Zone resources. + // Items: A list of Zone resources. Items []*Zone `json:"items,omitempty"` // Kind: Type of resource. @@ -19986,6 +29840,9 @@ type ZoneList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *ZoneListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -20013,6 +29870,101 @@ func (s *ZoneList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ZoneListWarning: [Output Only] Informational warning message. +type ZoneListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*ZoneListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ZoneListWarning) MarshalJSON() ([]byte, error) { + type noMethod ZoneListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type ZoneListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ZoneListWarningData) MarshalJSON() ([]byte, error) { + type noMethod ZoneListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type ZoneSetLabelsRequest struct { // LabelFingerprint: The fingerprint of the previous set of labels for // this resource, used to detect conflicts. The fingerprint is initially @@ -23288,8 +33240,7 @@ func (c *AutoscalersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, err // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -24421,7 +34372,7 @@ func (c *BackendBucketsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Poli // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -25017,8 +34968,7 @@ func (c *BackendBucketsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -25151,7 +35101,7 @@ func (c *BackendBucketsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Poli // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -25298,7 +35248,7 @@ func (c *BackendBucketsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -27128,8 +37078,7 @@ func (c *BackendServicesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -27432,7 +37381,7 @@ func (c *BackendServicesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -27754,7 +37703,7 @@ func (c *ClientSslPoliciesTestIamPermissionsCall) Do(opts ...googleapi.CallOptio // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -31425,8 +41374,7 @@ func (c *FirewallsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -31559,7 +41507,7 @@ func (c *FirewallsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*Tes // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -32955,8 +42903,7 @@ func (c *ForwardingRulesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -34487,7 +44434,7 @@ func (c *GlobalAddressesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -35403,8 +45350,7 @@ func (c *GlobalForwardingRulesPatchCall) Do(opts ...googleapi.CallOption) (*Oper // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -35856,7 +45802,7 @@ func (c *GlobalForwardingRulesTestIamPermissionsCall) Do(opts ...googleapi.CallO // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -37534,8 +47480,7 @@ func (c *HealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operation, er // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -37668,7 +47613,7 @@ func (c *HealthChecksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (* // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -40930,8 +50875,7 @@ func (c *HttpHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operation // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -41064,7 +51008,7 @@ func (c *HttpHealthChecksTestIamPermissionsCall) Do(opts ...googleapi.CallOption // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -42147,8 +52091,7 @@ func (c *HttpsHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operatio // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -42281,7 +52224,7 @@ func (c *HttpsHealthChecksTestIamPermissionsCall) Do(opts ...googleapi.CallOptio // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -42665,11 +52608,14 @@ func (r *ImagesService) Deprecate(project string, image string, deprecationstatu // request if it has already been completed. // // For example, consider a situation where you make an initial request -// and then the request times out. If you make the request again with -// the same request ID, the server can check if original operation with -// the same request ID was received, and if so, will ignore the second +// and the request times out. If you make the request again with the +// same request ID, the server can check if original 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) return c @@ -42785,7 +52731,7 @@ func (c *ImagesDeprecateCall) Do(opts ...googleapi.CallOption) (*Operation, erro // "type": "string" // }, // "requestId": { - // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and then the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.", + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", // "location": "query", // "type": "string" // } @@ -43244,7 +53190,7 @@ func (c *ImagesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, erro // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -43823,7 +53769,7 @@ func (c *ImagesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, erro // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -44117,7 +54063,7 @@ func (c *ImagesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPe // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -45109,162 +55055,6 @@ func (c *InstanceGroupManagersDeleteInstancesCall) Do(opts ...googleapi.CallOpti } -// method id "compute.instanceGroupManagers.deleteOverrides": - -type InstanceGroupManagersDeleteOverridesCall struct { - s *Service - project string - zone string - instanceGroupManager string - instancegroupmanagersdeleteoverridesrequest *InstanceGroupManagersDeleteOverridesRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// DeleteOverrides: Delete selected overrides for the managed instance -// group. -func (r *InstanceGroupManagersService) DeleteOverrides(project string, zone string, instanceGroupManager string, instancegroupmanagersdeleteoverridesrequest *InstanceGroupManagersDeleteOverridesRequest) *InstanceGroupManagersDeleteOverridesCall { - c := &InstanceGroupManagersDeleteOverridesCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.project = project - c.zone = zone - c.instanceGroupManager = instanceGroupManager - c.instancegroupmanagersdeleteoverridesrequest = instancegroupmanagersdeleteoverridesrequest - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *InstanceGroupManagersDeleteOverridesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersDeleteOverridesCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *InstanceGroupManagersDeleteOverridesCall) Context(ctx context.Context) *InstanceGroupManagersDeleteOverridesCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *InstanceGroupManagersDeleteOverridesCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *InstanceGroupManagersDeleteOverridesCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancegroupmanagersdeleteoverridesrequest) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteOverrides") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("POST", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "project": c.project, - "zone": c.zone, - "instanceGroupManager": c.instanceGroupManager, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "compute.instanceGroupManagers.deleteOverrides" call. -// Exactly one of *Operation or error will be non-nil. Any non-2xx -// status code is an error. Response headers are in either -// *Operation.ServerResponse.Header or (if a response was returned at -// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified -// to check whether the returned error was because -// http.StatusNotModified was returned. -func (c *InstanceGroupManagersDeleteOverridesCall) 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, &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, err - } - ret := &Operation{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Delete selected overrides for the managed instance group.", - // "httpMethod": "POST", - // "id": "compute.instanceGroupManagers.deleteOverrides", - // "parameterOrder": [ - // "project", - // "zone", - // "instanceGroupManager" - // ], - // "parameters": { - // "instanceGroupManager": { - // "description": "The name of the managed instance group.", - // "location": "path", - // "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" - // }, - // "zone": { - // "description": "The name of the zone where the managed instance group is located. It should conform to RFC1035.", - // "location": "path", - // "required": true, - // "type": "string" - // } - // }, - // "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteOverrides", - // "request": { - // "$ref": "InstanceGroupManagersDeleteOverridesRequest" - // }, - // "response": { - // "$ref": "Operation" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute" - // ] - // } - -} - // method id "compute.instanceGroupManagers.deletePerInstanceConfigs": type InstanceGroupManagersDeletePerInstanceConfigsCall struct { @@ -46240,266 +56030,6 @@ func (c *InstanceGroupManagersListManagedInstancesCall) Pages(ctx context.Contex } } -// method id "compute.instanceGroupManagers.listOverrides": - -type InstanceGroupManagersListOverridesCall struct { - s *Service - project string - zone string - instanceGroupManager string - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// ListOverrides: Lists all of the overrides defined for the managed -// instance group. -func (r *InstanceGroupManagersService) ListOverrides(project string, zone string, instanceGroupManager string) *InstanceGroupManagersListOverridesCall { - c := &InstanceGroupManagersListOverridesCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.project = project - c.zone = zone - c.instanceGroupManager = instanceGroupManager - return c -} - -// Filter sets the optional parameter "filter": Sets a filter -// {expression} for filtering listed resources. Your {expression} must -// be in the format: field_name comparison_string literal_string. -// -// The field_name is the name of the field you want to compare. Only -// atomic field types are supported (string, number, boolean). The -// comparison_string must be either eq (equals) or ne (not equals). The -// literal_string is the string value to filter to. The literal value -// must be valid for the type of field you are filtering by (string, -// number, boolean). For string fields, the literal value is interpreted -// as a regular expression using RE2 syntax. The literal value must -// match the entire field. -// -// For example, to filter for instances that do not have a name of -// example-instance, you would use name ne example-instance. -// -// You can filter on nested fields. For example, you could filter on -// instances that have set the scheduling.automaticRestart field to -// true. Use filtering on nested fields to take advantage of labels to -// organize and search for results based on label values. -// -// To filter on multiple expressions, provide each separate expression -// within parentheses. For example, (scheduling.automaticRestart eq -// true) (zone eq us-central1-f). Multiple expressions are treated as -// AND expressions, meaning that resources must match all expressions to -// pass the filters. -func (c *InstanceGroupManagersListOverridesCall) Filter(filter string) *InstanceGroupManagersListOverridesCall { - 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 *InstanceGroupManagersListOverridesCall) MaxResults(maxResults int64) *InstanceGroupManagersListOverridesCall { - 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 *InstanceGroupManagersListOverridesCall) OrderBy(orderBy string) *InstanceGroupManagersListOverridesCall { - 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 *InstanceGroupManagersListOverridesCall) PageToken(pageToken string) *InstanceGroupManagersListOverridesCall { - 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 information. -func (c *InstanceGroupManagersListOverridesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersListOverridesCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *InstanceGroupManagersListOverridesCall) Context(ctx context.Context) *InstanceGroupManagersListOverridesCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *InstanceGroupManagersListOverridesCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *InstanceGroupManagersListOverridesCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listOverrides") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("POST", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "project": c.project, - "zone": c.zone, - "instanceGroupManager": c.instanceGroupManager, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "compute.instanceGroupManagers.listOverrides" call. -// Exactly one of *InstanceGroupManagersListOverridesResponse or error -// will be non-nil. Any non-2xx status code is an error. Response -// headers are in either -// *InstanceGroupManagersListOverridesResponse.ServerResponse.Header or -// (if a response was returned at all) in -// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check -// whether the returned error was because http.StatusNotModified was -// returned. -func (c *InstanceGroupManagersListOverridesCall) Do(opts ...googleapi.CallOption) (*InstanceGroupManagersListOverridesResponse, 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, &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, err - } - ret := &InstanceGroupManagersListOverridesResponse{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Lists all of the overrides defined for the managed instance group.", - // "httpMethod": "POST", - // "id": "compute.instanceGroupManagers.listOverrides", - // "parameterOrder": [ - // "project", - // "zone", - // "instanceGroupManager" - // ], - // "parameters": { - // "filter": { - // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", - // "location": "query", - // "type": "string" - // }, - // "instanceGroupManager": { - // "description": "The name of the managed instance group. It should conform to RFC1035.", - // "location": "path", - // "required": true, - // "type": "string" - // }, - // "maxResults": { - // "default": "500", - // "description": "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)", - // "format": "uint32", - // "location": "query", - // "minimum": "0", - // "type": "integer" - // }, - // "orderBy": { - // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", - // "location": "query", - // "type": "string" - // }, - // "pageToken": { - // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the 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" - // }, - // "zone": { - // "description": "The name of the zone where the managed instance group is located. It should conform to RFC1035.", - // "location": "path", - // "required": true, - // "type": "string" - // } - // }, - // "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listOverrides", - // "response": { - // "$ref": "InstanceGroupManagersListOverridesResponse" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" - // ] - // } - -} - -// 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 *InstanceGroupManagersListOverridesCall) Pages(ctx context.Context, f func(*InstanceGroupManagersListOverridesResponse) error) error { - c.ctx_ = ctx - defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point - 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) - } -} - // method id "compute.instanceGroupManagers.listPerInstanceConfigs": type InstanceGroupManagersListPerInstanceConfigsCall struct { @@ -46939,8 +56469,7 @@ func (c *InstanceGroupManagersPatchCall) Do(opts ...googleapi.CallOption) (*Oper // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -48407,186 +57936,6 @@ func (c *InstanceGroupManagersUpdateCall) Do(opts ...googleapi.CallOption) (*Ope } -// method id "compute.instanceGroupManagers.updateOverrides": - -type InstanceGroupManagersUpdateOverridesCall struct { - s *Service - project string - zone string - instanceGroupManager string - instancegroupmanagersupdateoverridesrequest *InstanceGroupManagersUpdateOverridesRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// UpdateOverrides: Insert or patch (for the ones that already exist) -// overrides for the managed instance group. -func (r *InstanceGroupManagersService) UpdateOverrides(project string, zone string, instanceGroupManager string, instancegroupmanagersupdateoverridesrequest *InstanceGroupManagersUpdateOverridesRequest) *InstanceGroupManagersUpdateOverridesCall { - c := &InstanceGroupManagersUpdateOverridesCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.project = project - c.zone = zone - c.instanceGroupManager = instanceGroupManager - c.instancegroupmanagersupdateoverridesrequest = instancegroupmanagersupdateoverridesrequest - 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 *InstanceGroupManagersUpdateOverridesCall) RequestId(requestId string) *InstanceGroupManagersUpdateOverridesCall { - 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 information. -func (c *InstanceGroupManagersUpdateOverridesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersUpdateOverridesCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *InstanceGroupManagersUpdateOverridesCall) Context(ctx context.Context) *InstanceGroupManagersUpdateOverridesCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *InstanceGroupManagersUpdateOverridesCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *InstanceGroupManagersUpdateOverridesCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancegroupmanagersupdateoverridesrequest) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/updateOverrides") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("POST", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "project": c.project, - "zone": c.zone, - "instanceGroupManager": c.instanceGroupManager, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "compute.instanceGroupManagers.updateOverrides" call. -// Exactly one of *Operation or error will be non-nil. Any non-2xx -// status code is an error. Response headers are in either -// *Operation.ServerResponse.Header or (if a response was returned at -// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified -// to check whether the returned error was because -// http.StatusNotModified was returned. -func (c *InstanceGroupManagersUpdateOverridesCall) 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, &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, err - } - ret := &Operation{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Insert or patch (for the ones that already exist) overrides for the managed instance group.", - // "httpMethod": "POST", - // "id": "compute.instanceGroupManagers.updateOverrides", - // "parameterOrder": [ - // "project", - // "zone", - // "instanceGroupManager" - // ], - // "parameters": { - // "instanceGroupManager": { - // "description": "The name of the managed instance group. It should conform to RFC1035.", - // "location": "path", - // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", - // "location": "query", - // "type": "string" - // }, - // "zone": { - // "description": "The name of the zone where the managed instance group is located. It should conform to RFC1035.", - // "location": "path", - // "required": true, - // "type": "string" - // } - // }, - // "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/updateOverrides", - // "request": { - // "$ref": "InstanceGroupManagersUpdateOverridesRequest" - // }, - // "response": { - // "$ref": "Operation" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute" - // ] - // } - -} - // method id "compute.instanceGroupManagers.updatePerInstanceConfigs": type InstanceGroupManagersUpdatePerInstanceConfigsCall struct { @@ -48613,8 +57962,20 @@ func (r *InstanceGroupManagersService) UpdatePerInstanceConfigs(project string, return c } -// RequestId sets the optional parameter "requestId": begin_interface: -// MixerMutationRequestBuilder Request ID to support idempotency. +// RequestId sets the optional parameter "requestId": An optional +// request ID to identify requests. Specify a unique 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 @@ -48731,7 +58092,7 @@ func (c *InstanceGroupManagersUpdatePerInstanceConfigsCall) Do(opts ...googleapi // "type": "string" // }, // "requestId": { - // "description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", // "location": "query", // "type": "string" // }, @@ -51606,7 +60967,7 @@ func (c *InstanceTemplatesTestIamPermissionsCall) Do(opts ...googleapi.CallOptio // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -52974,6 +62335,180 @@ func (c *InstancesGetCall) Do(opts ...googleapi.CallOption) (*Instance, error) { } +// method id "compute.instances.getGuestAttributes": + +type InstancesGetGuestAttributesCall 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. +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 + 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 information. +func (c *InstancesGetGuestAttributesCall) Fields(s ...googleapi.Field) *InstancesGetGuestAttributesCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +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. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *InstancesGetGuestAttributesCall) Context(ctx context.Context) *InstancesGetGuestAttributesCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *InstancesGetGuestAttributesCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/getGuestAttributes") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "zone": c.zone, + "instance": c.instance, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.instances.getGuestAttributes" call. +// Exactly one of *GuestAttributes or error will be non-nil. 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 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 { + if res.Body != nil { + res.Body.Close() + } + return nil, &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, err + } + ret := &GuestAttributes{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns the specified guest attributes entry.", + // "httpMethod": "GET", + // "id": "compute.instances.getGuestAttributes", + // "parameterOrder": [ + // "project", + // "zone", + // "instance" + // ], + // "parameters": { + // "instance": { + // "description": "Name of the instance scoping this request.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-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" + // }, + // "variableKey": { + // "description": "Specifies the key for the guest attributes entry.", + // "location": "query", + // "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": "{project}/zones/{zone}/instances/{instance}/getGuestAttributes", + // "response": { + // "$ref": "GuestAttributes" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + // method id "compute.instances.getIamPolicy": type InstancesGetIamPolicyCall struct { @@ -54238,6 +63773,190 @@ func (c *InstancesResetCall) Do(opts ...googleapi.CallOption) (*Operation, error } +// method id "compute.instances.setDeletionProtection": + +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. +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 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) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +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. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *InstancesSetDeletionProtectionCall) Context(ctx context.Context) *InstancesSetDeletionProtectionCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *InstancesSetDeletionProtectionCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{resource}/setDeletionProtection") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "zone": c.zone, + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.instances.setDeletionProtection" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned 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) { + 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Sets deletion protection on the instance.", + // "httpMethod": "POST", + // "id": "compute.instances.setDeletionProtection", + // "parameterOrder": [ + // "project", + // "zone", + // "resource" + // ], + // "parameters": { + // "deletionProtection": { + // "default": "true", + // "description": "Whether the resource should be protected against deletion.", + // "location": "query", + // "type": "boolean" + // }, + // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, + // "resource": { + // "description": "Name of the resource for this request.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "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": "{project}/zones/{zone}/instances/{resource}/setDeletionProtection", + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + // method id "compute.instances.setDiskAutoDelete": type InstancesSetDiskAutoDeleteCall struct { @@ -57106,6 +66825,8 @@ type InstancesUpdateAccessConfigCall struct { // UpdateAccessConfig: Updates the specified access config from an // instance's network interface with the data included in the request. +// This method supports PATCH semantics and uses the JSON merge patch +// format and processing rules. 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 @@ -57223,7 +66944,7 @@ func (c *InstancesUpdateAccessConfigCall) Do(opts ...googleapi.CallOption) (*Ope } return ret, nil // { - // "description": "Updates the specified access config from an instance's network interface with the data included in the request.", + // "description": "Updates the specified access config from an instance's network interface with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", // "httpMethod": "POST", // "id": "compute.instances.updateAccessConfig", // "parameterOrder": [ @@ -58654,6 +68375,164 @@ func (c *InterconnectAttachmentsListCall) Pages(ctx context.Context, f func(*Int } } +// method id "compute.interconnectAttachments.setIamPolicy": + +type InterconnectAttachmentsSetIamPolicyCall struct { + s *Service + project string + region string + resource string + policy *Policy + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetIamPolicy: Sets the access control policy on the specified +// resource. Replaces any existing policy. +func (r *InterconnectAttachmentsService) SetIamPolicy(project string, region string, resource string, policy *Policy) *InterconnectAttachmentsSetIamPolicyCall { + c := &InterconnectAttachmentsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.region = region + c.resource = resource + c.policy = policy + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *InterconnectAttachmentsSetIamPolicyCall) Fields(s ...googleapi.Field) *InterconnectAttachmentsSetIamPolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *InterconnectAttachmentsSetIamPolicyCall) Context(ctx context.Context) *InterconnectAttachmentsSetIamPolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *InterconnectAttachmentsSetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *InterconnectAttachmentsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.policy) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/interconnectAttachments/{resource}/setIamPolicy") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "region": c.region, + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.interconnectAttachments.setIamPolicy" call. +// Exactly one of *Policy or error will be non-nil. 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 *InterconnectAttachmentsSetIamPolicyCall) 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, &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, err + } + ret := &Policy{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + // "httpMethod": "POST", + // "id": "compute.interconnectAttachments.setIamPolicy", + // "parameterOrder": [ + // "project", + // "region", + // "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" + // }, + // "region": { + // "description": "The name of the region for this request.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // }, + // "resource": { + // "description": "Name of the resource for this request.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{project}/regions/{region}/interconnectAttachments/{resource}/setIamPolicy", + // "request": { + // "$ref": "Policy" + // }, + // "response": { + // "$ref": "Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + // method id "compute.interconnectAttachments.testIamPermissions": type InterconnectAttachmentsTestIamPermissionsCall struct { @@ -59345,7 +69224,7 @@ func (c *InterconnectLocationsTestIamPermissionsCall) Do(opts ...googleapi.CallO // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -59678,6 +69557,158 @@ func (c *InterconnectsGetCall) Do(opts ...googleapi.CallOption) (*Interconnect, } +// method id "compute.interconnects.getIamPolicy": + +type InterconnectsGetIamPolicyCall 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. +func (r *InterconnectsService) GetIamPolicy(project string, resource string) *InterconnectsGetIamPolicyCall { + c := &InterconnectsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.resource = resource + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *InterconnectsGetIamPolicyCall) Fields(s ...googleapi.Field) *InterconnectsGetIamPolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *InterconnectsGetIamPolicyCall) IfNoneMatch(entityTag string) *InterconnectsGetIamPolicyCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *InterconnectsGetIamPolicyCall) Context(ctx context.Context) *InterconnectsGetIamPolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *InterconnectsGetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *InterconnectsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/interconnects/{resource}/getIamPolicy") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.interconnects.getIamPolicy" call. +// Exactly one of *Policy or error will be non-nil. 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 *InterconnectsGetIamPolicyCall) 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, &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, err + } + ret := &Policy{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + // "httpMethod": "GET", + // "id": "compute.interconnects.getIamPolicy", + // "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 of the resource for this request.", + // "location": "path", + // "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{project}/global/interconnects/{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" + // ] + // } + +} + // method id "compute.interconnects.insert": type InterconnectsInsertCall struct { @@ -60256,8 +70287,154 @@ func (c *InterconnectsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, e // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "compute.interconnects.setIamPolicy": + +type InterconnectsSetIamPolicyCall struct { + s *Service + project string + resource string + policy *Policy + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetIamPolicy: Sets the access control policy on the specified +// resource. Replaces any existing policy. +func (r *InterconnectsService) SetIamPolicy(project string, resource string, policy *Policy) *InterconnectsSetIamPolicyCall { + c := &InterconnectsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.resource = resource + c.policy = policy + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *InterconnectsSetIamPolicyCall) Fields(s ...googleapi.Field) *InterconnectsSetIamPolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *InterconnectsSetIamPolicyCall) Context(ctx context.Context) *InterconnectsSetIamPolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *InterconnectsSetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *InterconnectsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.policy) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/interconnects/{resource}/setIamPolicy") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.interconnects.setIamPolicy" call. +// Exactly one of *Policy or error will be non-nil. 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 *InterconnectsSetIamPolicyCall) 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, &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, err + } + ret := &Policy{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + // "httpMethod": "POST", + // "id": "compute.interconnects.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 of the resource for this request.", + // "location": "path", + // "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{project}/global/interconnects/{resource}/setIamPolicy", + // "request": { + // "$ref": "Policy" + // }, + // "response": { + // "$ref": "Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" // ] // } @@ -60390,7 +70567,7 @@ func (c *InterconnectsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) ( // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -60411,6 +70588,605 @@ func (c *InterconnectsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) ( } +// method id "compute.licenseCodes.get": + +type LicenseCodesGetCall struct { + s *Service + project string + licenseCode 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. +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 information. +func (c *LicenseCodesGetCall) Fields(s ...googleapi.Field) *LicenseCodesGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +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. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *LicenseCodesGetCall) Context(ctx context.Context) *LicenseCodesGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *LicenseCodesGetCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/licenseCodes/{licenseCode}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "licenseCode": c.licenseCode, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.licenseCodes.get" call. +// Exactly one of *LicenseCode or error will be non-nil. 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) { + 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, &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, err + } + ret := &LicenseCode{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Return a specified license code. License codes are mirrored across all projects that have permissions to read the License Code.", + // "httpMethod": "GET", + // "id": "compute.licenseCodes.get", + // "parameterOrder": [ + // "project", + // "licenseCode" + // ], + // "parameters": { + // "licenseCode": { + // "description": "Number corresponding to the License code resource to return.", + // "location": "path", + // "pattern": "[0-9]{0,61}?", + // "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": "{project}/global/licenseCodes/{licenseCode}", + // "response": { + // "$ref": "LicenseCode" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// method id "compute.licenseCodes.getIamPolicy": + +type LicenseCodesGetIamPolicyCall 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. +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 +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *LicenseCodesGetIamPolicyCall) Fields(s ...googleapi.Field) *LicenseCodesGetIamPolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +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. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *LicenseCodesGetIamPolicyCall) Context(ctx context.Context) *LicenseCodesGetIamPolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *LicenseCodesGetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *LicenseCodesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/licenseCodes/{resource}/getIamPolicy") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.licenseCodes.getIamPolicy" call. +// Exactly one of *Policy or error will be non-nil. 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 *LicenseCodesGetIamPolicyCall) 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, &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, err + } + ret := &Policy{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + // "httpMethod": "GET", + // "id": "compute.licenseCodes.getIamPolicy", + // "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 of the resource for this request.", + // "location": "path", + // "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{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" + // ] + // } + +} + +// method id "compute.licenseCodes.setIamPolicy": + +type LicenseCodesSetIamPolicyCall struct { + s *Service + project string + resource string + policy *Policy + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetIamPolicy: Sets the access control policy on the specified +// resource. Replaces any existing policy. +func (r *LicenseCodesService) SetIamPolicy(project string, resource string, policy *Policy) *LicenseCodesSetIamPolicyCall { + c := &LicenseCodesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.resource = resource + c.policy = policy + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +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. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *LicenseCodesSetIamPolicyCall) Context(ctx context.Context) *LicenseCodesSetIamPolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *LicenseCodesSetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *LicenseCodesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.policy) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/licenseCodes/{resource}/setIamPolicy") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.licenseCodes.setIamPolicy" call. +// Exactly one of *Policy or error will be non-nil. 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 *LicenseCodesSetIamPolicyCall) 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, &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, err + } + ret := &Policy{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + // "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 of the resource for this request.", + // "location": "path", + // "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{project}/global/licenseCodes/{resource}/setIamPolicy", + // "request": { + // "$ref": "Policy" + // }, + // "response": { + // "$ref": "Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "compute.licenseCodes.testIamPermissions": + +type LicenseCodesTestIamPermissionsCall 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. +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.testpermissionsrequest = testpermissionsrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +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. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *LicenseCodesTestIamPermissionsCall) Context(ctx context.Context) *LicenseCodesTestIamPermissionsCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *LicenseCodesTestIamPermissionsCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.testpermissionsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/licenseCodes/{resource}/testIamPermissions") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.licenseCodes.testIamPermissions" call. +// Exactly one of *TestPermissionsResponse or error will be non-nil. 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 *LicenseCodesTestIamPermissionsCall) 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, &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, err + } + ret := &TestPermissionsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns permissions that a caller has on the specified resource.", + // "httpMethod": "POST", + // "id": "compute.licenseCodes.testIamPermissions", + // "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 of the resource for this request.", + // "location": "path", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{project}/global/licenseCodes/{resource}/testIamPermissions", + // "request": { + // "$ref": "TestPermissionsRequest" + // }, + // "response": { + // "$ref": "TestPermissionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + // method id "compute.licenses.delete": type LicensesDeleteCall struct { @@ -60430,6 +71206,25 @@ func (r *LicensesService) Delete(project string, license string) *LicensesDelete 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 information. @@ -60533,6 +71328,11 @@ func (c *LicensesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/licenses/{license}", @@ -60833,7 +71633,7 @@ func (c *LicensesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, er // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -61396,7 +72196,7 @@ func (c *LicensesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, er // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -61543,7 +72343,7 @@ func (c *LicensesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*Test // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -62244,6 +73044,1813 @@ func (c *MachineTypesListCall) Pages(ctx context.Context, f func(*MachineTypeLis } } +// method id "compute.networkEndpointGroups.aggregatedList": + +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. +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": Sets a filter +// {expression} for filtering listed resources. Your {expression} must +// be in the format: field_name comparison_string literal_string. +// +// The field_name is the name of the field you want to compare. Only +// atomic field types are supported (string, number, boolean). The +// comparison_string must be either eq (equals) or ne (not equals). The +// literal_string is the string value to filter to. The literal value +// must be valid for the type of field you are filtering by (string, +// number, boolean). For string fields, the literal value is interpreted +// as a regular expression using RE2 syntax. The literal value must +// match the entire field. +// +// For example, to filter for instances that do not have a name of +// example-instance, you would use name ne example-instance. +// +// You can filter on nested fields. For example, you could filter on +// instances that have set the scheduling.automaticRestart field to +// true. Use filtering on nested fields to take advantage of labels to +// organize and search for results based on label values. +// +// To filter on multiple expressions, provide each separate expression +// within parentheses. For example, (scheduling.automaticRestart eq +// true) (zone eq us-central1-f). Multiple expressions are treated as +// AND expressions, meaning that resources must match all expressions to +// pass the filters. +func (c *NetworkEndpointGroupsAggregatedListCall) Filter(filter string) *NetworkEndpointGroupsAggregatedListCall { + 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 *NetworkEndpointGroupsAggregatedListCall) MaxResults(maxResults int64) *NetworkEndpointGroupsAggregatedListCall { + 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 *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 +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *NetworkEndpointGroupsAggregatedListCall) Fields(s ...googleapi.Field) *NetworkEndpointGroupsAggregatedListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +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. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *NetworkEndpointGroupsAggregatedListCall) Context(ctx context.Context) *NetworkEndpointGroupsAggregatedListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *NetworkEndpointGroupsAggregatedListCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/networkEndpointGroups") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.networkEndpointGroups.aggregatedList" call. +// Exactly one of *NetworkEndpointGroupAggregatedList or error will be +// non-nil. 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 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 { + if res.Body != nil { + res.Body.Close() + } + return nil, &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, err + } + ret := &NetworkEndpointGroupAggregatedList{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Retrieves the list of network endpoint groups and sorts them by zone.", + // "httpMethod": "GET", + // "id": "compute.networkEndpointGroups.aggregatedList", + // "parameterOrder": [ + // "project" + // ], + // "parameters": { + // "filter": { + // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", + // "location": "query", + // "type": "string" + // }, + // "maxResults": { + // "default": "500", + // "description": "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)", + // "format": "uint32", + // "location": "query", + // "minimum": "0", + // "type": "integer" + // }, + // "orderBy": { + // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + // "location": "query", + // "type": "string" + // }, + // "pageToken": { + // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the 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": "{project}/aggregated/networkEndpointGroups", + // "response": { + // "$ref": "NetworkEndpointGroupAggregatedList" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// 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")) // reset paging to original point + 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) + } +} + +// method id "compute.networkEndpointGroups.attachNetworkEndpoints": + +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. +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 information. +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. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *NetworkEndpointGroupsAttachNetworkEndpointsCall) Context(ctx context.Context) *NetworkEndpointGroupsAttachNetworkEndpointsCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.networkendpointgroupsattachendpointsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "zone": c.zone, + "networkEndpointGroup": c.networkEndpointGroup, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.networkEndpointGroups.attachNetworkEndpoints" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Attach a list of network endpoints to the specified network endpoint group.", + // "httpMethod": "POST", + // "id": "compute.networkEndpointGroups.attachNetworkEndpoints", + // "parameterOrder": [ + // "project", + // "zone", + // "networkEndpointGroup" + // ], + // "parameters": { + // "networkEndpointGroup": { + // "description": "The name of the network endpoint group where you are attaching network endpoints to. It should comply with RFC1035.", + // "location": "path", + // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, + // "zone": { + // "description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", + // "request": { + // "$ref": "NetworkEndpointGroupsAttachEndpointsRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "compute.networkEndpointGroups.delete": + +type NetworkEndpointGroupsDeleteCall struct { + s *Service + project string + zone string + networkEndpointGroup 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. +func (r *NetworkEndpointGroupsService) Delete(project string, zone string, networkEndpointGroup string) *NetworkEndpointGroupsDeleteCall { + c := &NetworkEndpointGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.zone = zone + 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 *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 information. +func (c *NetworkEndpointGroupsDeleteCall) Fields(s ...googleapi.Field) *NetworkEndpointGroupsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *NetworkEndpointGroupsDeleteCall) Context(ctx context.Context) *NetworkEndpointGroupsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *NetworkEndpointGroupsDeleteCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "zone": c.zone, + "networkEndpointGroup": c.networkEndpointGroup, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.networkEndpointGroups.delete" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned 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) { + 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "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.", + // "httpMethod": "DELETE", + // "id": "compute.networkEndpointGroups.delete", + // "parameterOrder": [ + // "project", + // "zone", + // "networkEndpointGroup" + // ], + // "parameters": { + // "networkEndpointGroup": { + // "description": "The name of the network endpoint group to delete. It should comply with RFC1035.", + // "location": "path", + // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, + // "zone": { + // "description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "compute.networkEndpointGroups.detachNetworkEndpoints": + +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. +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 +} + +// RequestId sets the optional parameter "requestId": An optional +// request ID to identify requests. Specify a unique 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 information. +func (c *NetworkEndpointGroupsDetachNetworkEndpointsCall) Fields(s ...googleapi.Field) *NetworkEndpointGroupsDetachNetworkEndpointsCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *NetworkEndpointGroupsDetachNetworkEndpointsCall) Context(ctx context.Context) *NetworkEndpointGroupsDetachNetworkEndpointsCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *NetworkEndpointGroupsDetachNetworkEndpointsCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.networkendpointgroupsdetachendpointsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "zone": c.zone, + "networkEndpointGroup": c.networkEndpointGroup, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.networkEndpointGroups.detachNetworkEndpoints" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned 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 { + if res.Body != nil { + res.Body.Close() + } + return nil, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Detach a list of network endpoints from the specified network endpoint group.", + // "httpMethod": "POST", + // "id": "compute.networkEndpointGroups.detachNetworkEndpoints", + // "parameterOrder": [ + // "project", + // "zone", + // "networkEndpointGroup" + // ], + // "parameters": { + // "networkEndpointGroup": { + // "description": "The name of the network endpoint group where you are removing network endpoints. It should comply with RFC1035.", + // "location": "path", + // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, + // "zone": { + // "description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", + // "request": { + // "$ref": "NetworkEndpointGroupsDetachEndpointsRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "compute.networkEndpointGroups.get": + +type NetworkEndpointGroupsGetCall struct { + s *Service + project string + zone string + networkEndpointGroup string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Returns the specified network endpoint group. Get a list of +// available network endpoint groups by making a list() request. +func (r *NetworkEndpointGroupsService) Get(project string, zone string, networkEndpointGroup string) *NetworkEndpointGroupsGetCall { + c := &NetworkEndpointGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + 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 information. +func (c *NetworkEndpointGroupsGetCall) Fields(s ...googleapi.Field) *NetworkEndpointGroupsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +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. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *NetworkEndpointGroupsGetCall) Context(ctx context.Context) *NetworkEndpointGroupsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *NetworkEndpointGroupsGetCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "zone": c.zone, + "networkEndpointGroup": c.networkEndpointGroup, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.networkEndpointGroups.get" call. +// Exactly one of *NetworkEndpointGroup or error will be non-nil. 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) { + 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, &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, err + } + ret := &NetworkEndpointGroup{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns the specified network endpoint group. Get a list of available network endpoint groups by making a list() request.", + // "httpMethod": "GET", + // "id": "compute.networkEndpointGroups.get", + // "parameterOrder": [ + // "project", + // "zone", + // "networkEndpointGroup" + // ], + // "parameters": { + // "networkEndpointGroup": { + // "description": "The name of the network endpoint group. It should comply with RFC1035.", + // "location": "path", + // "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" + // }, + // "zone": { + // "description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", + // "response": { + // "$ref": "NetworkEndpointGroup" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// method id "compute.networkEndpointGroups.insert": + +type NetworkEndpointGroupsInsertCall struct { + s *Service + project string + zone string + networkendpointgroup *NetworkEndpointGroup + 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. +func (r *NetworkEndpointGroupsService) Insert(project string, zone string, networkendpointgroup *NetworkEndpointGroup) *NetworkEndpointGroupsInsertCall { + c := &NetworkEndpointGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.zone = zone + 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 *NetworkEndpointGroupsInsertCall) RequestId(requestId string) *NetworkEndpointGroupsInsertCall { + 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 information. +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. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *NetworkEndpointGroupsInsertCall) Context(ctx context.Context) *NetworkEndpointGroupsInsertCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *NetworkEndpointGroupsInsertCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.networkendpointgroup) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/networkEndpointGroups") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "zone": c.zone, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.networkEndpointGroups.insert" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned 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) { + 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a network endpoint group in the specified project using the parameters that are included in the request.", + // "httpMethod": "POST", + // "id": "compute.networkEndpointGroups.insert", + // "parameterOrder": [ + // "project", + // "zone" + // ], + // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, + // "zone": { + // "description": "The name of the zone where you want to create the network endpoint group. It should comply with RFC1035.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{project}/zones/{zone}/networkEndpointGroups", + // "request": { + // "$ref": "NetworkEndpointGroup" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "compute.networkEndpointGroups.list": + +type NetworkEndpointGroupsListCall struct { + s *Service + project string + zone 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. +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 +} + +// Filter sets the optional parameter "filter": Sets a filter +// {expression} for filtering listed resources. Your {expression} must +// be in the format: field_name comparison_string literal_string. +// +// The field_name is the name of the field you want to compare. Only +// atomic field types are supported (string, number, boolean). The +// comparison_string must be either eq (equals) or ne (not equals). The +// literal_string is the string value to filter to. The literal value +// must be valid for the type of field you are filtering by (string, +// number, boolean). For string fields, the literal value is interpreted +// as a regular expression using RE2 syntax. The literal value must +// match the entire field. +// +// For example, to filter for instances that do not have a name of +// example-instance, you would use name ne example-instance. +// +// You can filter on nested fields. For example, you could filter on +// instances that have set the scheduling.automaticRestart field to +// true. Use filtering on nested fields to take advantage of labels to +// organize and search for results based on label values. +// +// To filter on multiple expressions, provide each separate expression +// within parentheses. For example, (scheduling.automaticRestart eq +// true) (zone eq us-central1-f). Multiple expressions are treated as +// AND expressions, meaning that resources must match all expressions to +// pass the filters. +func (c *NetworkEndpointGroupsListCall) Filter(filter string) *NetworkEndpointGroupsListCall { + 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 *NetworkEndpointGroupsListCall) MaxResults(maxResults int64) *NetworkEndpointGroupsListCall { + 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 *NetworkEndpointGroupsListCall) OrderBy(orderBy string) *NetworkEndpointGroupsListCall { + 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 *NetworkEndpointGroupsListCall) PageToken(pageToken string) *NetworkEndpointGroupsListCall { + 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 information. +func (c *NetworkEndpointGroupsListCall) Fields(s ...googleapi.Field) *NetworkEndpointGroupsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +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. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *NetworkEndpointGroupsListCall) Context(ctx context.Context) *NetworkEndpointGroupsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *NetworkEndpointGroupsListCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/networkEndpointGroups") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "zone": c.zone, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.networkEndpointGroups.list" call. +// Exactly one of *NetworkEndpointGroupList or error will be non-nil. +// 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) { + 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, &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, err + } + ret := &NetworkEndpointGroupList{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Retrieves the list of network endpoint groups that are located in the specified project and zone.", + // "httpMethod": "GET", + // "id": "compute.networkEndpointGroups.list", + // "parameterOrder": [ + // "project", + // "zone" + // ], + // "parameters": { + // "filter": { + // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", + // "location": "query", + // "type": "string" + // }, + // "maxResults": { + // "default": "500", + // "description": "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)", + // "format": "uint32", + // "location": "query", + // "minimum": "0", + // "type": "integer" + // }, + // "orderBy": { + // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + // "location": "query", + // "type": "string" + // }, + // "pageToken": { + // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the 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" + // }, + // "zone": { + // "description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{project}/zones/{zone}/networkEndpointGroups", + // "response": { + // "$ref": "NetworkEndpointGroupList" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// 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 { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "compute.networkEndpointGroups.listNetworkEndpoints": + +type NetworkEndpointGroupsListNetworkEndpointsCall struct { + s *Service + project string + zone string + networkEndpointGroup string + networkendpointgroupslistendpointsrequest *NetworkEndpointGroupsListEndpointsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ListNetworkEndpoints: List the network endpoints in the specified +// network endpoint group. +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.zone = zone + c.networkEndpointGroup = networkEndpointGroup + c.networkendpointgroupslistendpointsrequest = networkendpointgroupslistendpointsrequest + return c +} + +// Filter sets the optional parameter "filter": Sets a filter +// {expression} for filtering listed resources. Your {expression} must +// be in the format: field_name comparison_string literal_string. +// +// The field_name is the name of the field you want to compare. Only +// atomic field types are supported (string, number, boolean). The +// comparison_string must be either eq (equals) or ne (not equals). The +// literal_string is the string value to filter to. The literal value +// must be valid for the type of field you are filtering by (string, +// number, boolean). For string fields, the literal value is interpreted +// as a regular expression using RE2 syntax. The literal value must +// match the entire field. +// +// For example, to filter for instances that do not have a name of +// example-instance, you would use name ne example-instance. +// +// You can filter on nested fields. For example, you could filter on +// instances that have set the scheduling.automaticRestart field to +// true. Use filtering on nested fields to take advantage of labels to +// organize and search for results based on label values. +// +// To filter on multiple expressions, provide each separate expression +// within parentheses. For example, (scheduling.automaticRestart eq +// true) (zone eq us-central1-f). Multiple expressions are treated as +// AND expressions, meaning that resources must match all expressions to +// pass the filters. +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)) + 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 *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 +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +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. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *NetworkEndpointGroupsListNetworkEndpointsCall) Context(ctx context.Context) *NetworkEndpointGroupsListNetworkEndpointsCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *NetworkEndpointGroupsListNetworkEndpointsCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.networkendpointgroupslistendpointsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "zone": c.zone, + "networkEndpointGroup": c.networkEndpointGroup, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.networkEndpointGroups.listNetworkEndpoints" call. +// Exactly one of *NetworkEndpointGroupsListNetworkEndpoints or error +// will be non-nil. 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) { + 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, &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, err + } + ret := &NetworkEndpointGroupsListNetworkEndpoints{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "List the network endpoints in the specified network endpoint group.", + // "httpMethod": "POST", + // "id": "compute.networkEndpointGroups.listNetworkEndpoints", + // "parameterOrder": [ + // "project", + // "zone", + // "networkEndpointGroup" + // ], + // "parameters": { + // "filter": { + // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", + // "location": "query", + // "type": "string" + // }, + // "maxResults": { + // "default": "500", + // "description": "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)", + // "format": "uint32", + // "location": "query", + // "minimum": "0", + // "type": "integer" + // }, + // "networkEndpointGroup": { + // "description": "The name of the network endpoint group from which you want to generate a list of included network endpoints. It should comply with RFC1035.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "orderBy": { + // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + // "location": "query", + // "type": "string" + // }, + // "pageToken": { + // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the 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" + // }, + // "zone": { + // "description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", + // "request": { + // "$ref": "NetworkEndpointGroupsListEndpointsRequest" + // }, + // "response": { + // "$ref": "NetworkEndpointGroupsListNetworkEndpoints" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// 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")) // reset paging to original point + 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) + } +} + +// method id "compute.networkEndpointGroups.testIamPermissions": + +type NetworkEndpointGroupsTestIamPermissionsCall struct { + s *Service + project string + zone 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. +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 information. +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. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *NetworkEndpointGroupsTestIamPermissionsCall) Context(ctx context.Context) *NetworkEndpointGroupsTestIamPermissionsCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *NetworkEndpointGroupsTestIamPermissionsCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.testpermissionsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/networkEndpointGroups/{resource}/testIamPermissions") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "zone": c.zone, + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.networkEndpointGroups.testIamPermissions" call. +// Exactly one of *TestPermissionsResponse or error will be non-nil. 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) { + 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, &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, err + } + ret := &TestPermissionsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns permissions that a caller has on the specified resource.", + // "httpMethod": "POST", + // "id": "compute.networkEndpointGroups.testIamPermissions", + // "parameterOrder": [ + // "project", + // "zone", + // "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 of the resource for this request.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "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": "{project}/zones/{zone}/networkEndpointGroups/{resource}/testIamPermissions", + // "request": { + // "$ref": "TestPermissionsRequest" + // }, + // "response": { + // "$ref": "TestPermissionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + // method id "compute.networks.addPeering": type NetworksAddPeeringCall struct { @@ -63631,8 +76238,7 @@ func (c *NetworksPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -64096,7 +76702,7 @@ func (c *NetworksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*Test // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -64127,7 +76733,7 @@ type ProjectsDisableXpnHostCall struct { header_ http.Header } -// DisableXpnHost: Disable this project as an XPN host project. +// DisableXpnHost: Disable this project as a shared VPC host project. func (r *ProjectsService) DisableXpnHost(project string) *ProjectsDisableXpnHostCall { c := &ProjectsDisableXpnHostCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project @@ -64234,7 +76840,7 @@ func (c *ProjectsDisableXpnHostCall) Do(opts ...googleapi.CallOption) (*Operatio } return ret, nil // { - // "description": "Disable this project as an XPN host project.", + // "description": "Disable this project as a shared VPC host project.", // "httpMethod": "POST", // "id": "compute.projects.disableXpnHost", // "parameterOrder": [ @@ -64277,8 +76883,8 @@ type ProjectsDisableXpnResourceCall struct { header_ http.Header } -// DisableXpnResource: Disable an XPN resource associated with this host -// project. +// DisableXpnResource: Disable a serivce resource (a.k.a service +// project) associated with this host project. func (r *ProjectsService) DisableXpnResource(project string, projectsdisablexpnresourcerequest *ProjectsDisableXpnResourceRequest) *ProjectsDisableXpnResourceCall { c := &ProjectsDisableXpnResourceCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project @@ -64391,7 +76997,7 @@ func (c *ProjectsDisableXpnResourceCall) Do(opts ...googleapi.CallOption) (*Oper } return ret, nil // { - // "description": "Disable an XPN resource associated with this host project.", + // "description": "Disable a serivce resource (a.k.a service project) associated with this host project.", // "httpMethod": "POST", // "id": "compute.projects.disableXpnResource", // "parameterOrder": [ @@ -64436,7 +77042,7 @@ type ProjectsEnableXpnHostCall struct { header_ http.Header } -// EnableXpnHost: Enable this project as an XPN host project. +// EnableXpnHost: Enable this project as a shared VPC host project. func (r *ProjectsService) EnableXpnHost(project string) *ProjectsEnableXpnHostCall { c := &ProjectsEnableXpnHostCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project @@ -64543,7 +77149,7 @@ func (c *ProjectsEnableXpnHostCall) Do(opts ...googleapi.CallOption) (*Operation } return ret, nil // { - // "description": "Enable this project as an XPN host project.", + // "description": "Enable this project as a shared VPC host project.", // "httpMethod": "POST", // "id": "compute.projects.enableXpnHost", // "parameterOrder": [ @@ -64586,10 +77192,9 @@ type ProjectsEnableXpnResourceCall struct { header_ http.Header } -// EnableXpnResource: Enable XPN resource (a.k.a service project or -// service folder in the future) for a host project, so that subnetworks -// in the host project can be used by instances in the service project -// or folder. +// 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. func (r *ProjectsService) EnableXpnResource(project string, projectsenablexpnresourcerequest *ProjectsEnableXpnResourceRequest) *ProjectsEnableXpnResourceCall { c := &ProjectsEnableXpnResourceCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project @@ -64702,7 +77307,7 @@ func (c *ProjectsEnableXpnResourceCall) Do(opts ...googleapi.CallOption) (*Opera } return ret, nil // { - // "description": "Enable XPN resource (a.k.a service project or service folder in the future) for a host project, so that subnetworks in the host project can be used by instances in the service project or folder.", + // "description": "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.", // "httpMethod": "POST", // "id": "compute.projects.enableXpnResource", // "parameterOrder": [ @@ -64889,8 +77494,8 @@ type ProjectsGetXpnHostCall struct { header_ http.Header } -// GetXpnHost: Get the XPN host project that this project links to. May -// be empty if no link exists. +// GetXpnHost: Get the shared VPC host project that this project links +// to. May be empty if no link exists. func (r *ProjectsService) GetXpnHost(project string) *ProjectsGetXpnHostCall { c := &ProjectsGetXpnHostCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project @@ -64991,7 +77596,7 @@ func (c *ProjectsGetXpnHostCall) Do(opts ...googleapi.CallOption) (*Project, err } return ret, nil // { - // "description": "Get the XPN host project that this project links to. May be empty if no link exists.", + // "description": "Get the shared VPC host project that this project links to. May be empty if no link exists.", // "httpMethod": "GET", // "id": "compute.projects.getXpnHost", // "parameterOrder": [ @@ -65029,7 +77634,8 @@ type ProjectsGetXpnResourcesCall struct { header_ http.Header } -// GetXpnResources: Get XPN resources associated with this host project. +// GetXpnResources: Get service resources (a.k.a service project) +// associated with this host project. func (r *ProjectsService) GetXpnResources(project string) *ProjectsGetXpnResourcesCall { c := &ProjectsGetXpnResourcesCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project @@ -65154,7 +77760,7 @@ func (c *ProjectsGetXpnResourcesCall) Do(opts ...googleapi.CallOption) (*Project } return ret, nil // { - // "description": "Get XPN resources associated with this host project.", + // "description": "Get service resources (a.k.a service project) associated with this host project.", // "httpMethod": "GET", // "id": "compute.projects.getXpnResources", // "parameterOrder": [ @@ -65232,8 +77838,8 @@ type ProjectsListXpnHostsCall struct { header_ http.Header } -// ListXpnHosts: List all XPN host projects visible to the user in an -// organization. +// ListXpnHosts: List all shared VPC host projects visible to the user +// in an organization. func (r *ProjectsService) ListXpnHosts(project string, projectslistxpnhostsrequest *ProjectsListXpnHostsRequest) *ProjectsListXpnHostsCall { c := &ProjectsListXpnHostsCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project @@ -65351,7 +77957,7 @@ func (c *ProjectsListXpnHostsCall) Do(opts ...googleapi.CallOption) (*XpnHostLis } return ret, nil // { - // "description": "List all XPN host projects visible to the user in an organization.", + // "description": "List all shared VPC host projects visible to the user in an organization.", // "httpMethod": "POST", // "id": "compute.projects.listXpnHosts", // "parameterOrder": [ @@ -65901,6 +78507,168 @@ func (c *ProjectsSetCommonInstanceMetadataCall) Do(opts ...googleapi.CallOption) } +// method id "compute.projects.setDefaultNetworkTier": + +type ProjectsSetDefaultNetworkTierCall struct { + s *Service + project string + projectssetdefaultnetworktierrequest *ProjectsSetDefaultNetworkTierRequest + urlParams_ gensupport.URLParams + 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. +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 +} + +// RequestId sets the optional parameter "requestId": An optional +// request ID to identify requests. Specify a unique 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 *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 information. +func (c *ProjectsSetDefaultNetworkTierCall) Fields(s ...googleapi.Field) *ProjectsSetDefaultNetworkTierCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsSetDefaultNetworkTierCall) Context(ctx context.Context) *ProjectsSetDefaultNetworkTierCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsSetDefaultNetworkTierCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.projectssetdefaultnetworktierrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/setDefaultNetworkTier") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.projects.setDefaultNetworkTier" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned 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 { + if res.Body != nil { + res.Body.Close() + } + return nil, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "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.", + // "httpMethod": "POST", + // "id": "compute.projects.setDefaultNetworkTier", + // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "{project}/setDefaultNetworkTier", + // "request": { + // "$ref": "ProjectsSetDefaultNetworkTierRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + // method id "compute.projects.setDefaultServiceAccount": type ProjectsSetDefaultServiceAccountCall struct { @@ -67031,9 +79799,9 @@ func (c *RegionAutoscalersPatchCall) Autoscaler(autoscaler string) *RegionAutosc // request if it has already been completed. // // For example, consider a situation where you make an initial request -// and then the request times out. If you make the request again with -// the same request ID, the server can check if original operation with -// the same request ID was received, and if so, will ignore the second +// and the request times out. If you make the request again with the +// same request ID, the server can check if original operation with the +// same request ID was received, and if so, will ignore the second // request. This prevents clients from accidentally creating duplicate // commitments. // @@ -67160,7 +79928,7 @@ func (c *RegionAutoscalersPatchCall) Do(opts ...googleapi.CallOption) (*Operatio // "type": "string" // }, // "requestId": { - // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and then the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", // "location": "query", // "type": "string" // } @@ -67174,8 +79942,7 @@ func (c *RegionAutoscalersPatchCall) Do(opts ...googleapi.CallOption) (*Operatio // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -67375,11 +80142,14 @@ func (c *RegionAutoscalersUpdateCall) Autoscaler(autoscaler string) *RegionAutos // request if it has already been completed. // // For example, consider a situation where you make an initial request -// and then the request times out. If you make the request again with -// the same request ID, the server can check if original operation with -// the same request ID was received, and if so, will ignore the second +// and the request times out. If you make the request again with the +// same request ID, the server can check if original 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 *RegionAutoscalersUpdateCall) RequestId(requestId string) *RegionAutoscalersUpdateCall { c.urlParams_.Set("requestId", requestId) return c @@ -67501,7 +80271,7 @@ func (c *RegionAutoscalersUpdateCall) Do(opts ...googleapi.CallOption) (*Operati // "type": "string" // }, // "requestId": { - // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and then the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.", + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", // "location": "query", // "type": "string" // } @@ -68629,8 +81399,7 @@ func (c *RegionBackendServicesPatchCall) Do(opts ...googleapi.CallOption) (*Oper // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -70966,11 +83735,14 @@ func (r *RegionDisksService) Insert(project string, region string, disk *Disk) * // request if it has already been completed. // // For example, consider a situation where you make an initial request -// and then the request times out. If you make the request again with -// the same request ID, the server can check if original operation with -// the same request ID was received, and if so, will ignore the second +// and the request times out. If you make the request again with the +// same request ID, the server can check if original 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 *RegionDisksInsertCall) RequestId(requestId string) *RegionDisksInsertCall { c.urlParams_.Set("requestId", requestId) return c @@ -71093,7 +83865,7 @@ func (c *RegionDisksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, er // "type": "string" // }, // "requestId": { - // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and then the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.", + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", // "location": "query", // "type": "string" // }, @@ -72617,162 +85389,6 @@ func (c *RegionInstanceGroupManagersDeleteInstancesCall) Do(opts ...googleapi.Ca } -// method id "compute.regionInstanceGroupManagers.deleteOverrides": - -type RegionInstanceGroupManagersDeleteOverridesCall struct { - s *Service - project string - region string - instanceGroupManager string - regioninstancegroupmanagersdeleteoverridesrequest *RegionInstanceGroupManagersDeleteOverridesRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// DeleteOverrides: Delete selected overrides for the managed instance -// group. -func (r *RegionInstanceGroupManagersService) DeleteOverrides(project string, region string, instanceGroupManager string, regioninstancegroupmanagersdeleteoverridesrequest *RegionInstanceGroupManagersDeleteOverridesRequest) *RegionInstanceGroupManagersDeleteOverridesCall { - c := &RegionInstanceGroupManagersDeleteOverridesCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.project = project - c.region = region - c.instanceGroupManager = instanceGroupManager - c.regioninstancegroupmanagersdeleteoverridesrequest = regioninstancegroupmanagersdeleteoverridesrequest - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *RegionInstanceGroupManagersDeleteOverridesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersDeleteOverridesCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *RegionInstanceGroupManagersDeleteOverridesCall) Context(ctx context.Context) *RegionInstanceGroupManagersDeleteOverridesCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *RegionInstanceGroupManagersDeleteOverridesCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *RegionInstanceGroupManagersDeleteOverridesCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.regioninstancegroupmanagersdeleteoverridesrequest) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteOverrides") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("POST", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "project": c.project, - "region": c.region, - "instanceGroupManager": c.instanceGroupManager, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "compute.regionInstanceGroupManagers.deleteOverrides" call. -// Exactly one of *Operation or error will be non-nil. Any non-2xx -// status code is an error. Response headers are in either -// *Operation.ServerResponse.Header or (if a response was returned at -// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified -// to check whether the returned error was because -// http.StatusNotModified was returned. -func (c *RegionInstanceGroupManagersDeleteOverridesCall) 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, &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, err - } - ret := &Operation{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Delete selected overrides for the managed instance group.", - // "httpMethod": "POST", - // "id": "compute.regionInstanceGroupManagers.deleteOverrides", - // "parameterOrder": [ - // "project", - // "region", - // "instanceGroupManager" - // ], - // "parameters": { - // "instanceGroupManager": { - // "description": "The name of the managed instance group. It should conform to RFC1035.", - // "location": "path", - // "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, should conform to RFC1035.", - // "location": "path", - // "required": true, - // "type": "string" - // } - // }, - // "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteOverrides", - // "request": { - // "$ref": "RegionInstanceGroupManagersDeleteOverridesRequest" - // }, - // "response": { - // "$ref": "Operation" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute" - // ] - // } - -} - // method id "compute.regionInstanceGroupManagers.deletePerInstanceConfigs": type RegionInstanceGroupManagersDeletePerInstanceConfigsCall struct { @@ -73744,266 +86360,6 @@ func (c *RegionInstanceGroupManagersListManagedInstancesCall) Pages(ctx context. } } -// method id "compute.regionInstanceGroupManagers.listOverrides": - -type RegionInstanceGroupManagersListOverridesCall struct { - s *Service - project string - region string - instanceGroupManager string - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// ListOverrides: Lists all of the overrides defined for the managed -// instance group. -func (r *RegionInstanceGroupManagersService) ListOverrides(project string, region string, instanceGroupManager string) *RegionInstanceGroupManagersListOverridesCall { - c := &RegionInstanceGroupManagersListOverridesCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.project = project - c.region = region - c.instanceGroupManager = instanceGroupManager - return c -} - -// Filter sets the optional parameter "filter": Sets a filter -// {expression} for filtering listed resources. Your {expression} must -// be in the format: field_name comparison_string literal_string. -// -// The field_name is the name of the field you want to compare. Only -// atomic field types are supported (string, number, boolean). The -// comparison_string must be either eq (equals) or ne (not equals). The -// literal_string is the string value to filter to. The literal value -// must be valid for the type of field you are filtering by (string, -// number, boolean). For string fields, the literal value is interpreted -// as a regular expression using RE2 syntax. The literal value must -// match the entire field. -// -// For example, to filter for instances that do not have a name of -// example-instance, you would use name ne example-instance. -// -// You can filter on nested fields. For example, you could filter on -// instances that have set the scheduling.automaticRestart field to -// true. Use filtering on nested fields to take advantage of labels to -// organize and search for results based on label values. -// -// To filter on multiple expressions, provide each separate expression -// within parentheses. For example, (scheduling.automaticRestart eq -// true) (zone eq us-central1-f). Multiple expressions are treated as -// AND expressions, meaning that resources must match all expressions to -// pass the filters. -func (c *RegionInstanceGroupManagersListOverridesCall) Filter(filter string) *RegionInstanceGroupManagersListOverridesCall { - 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 *RegionInstanceGroupManagersListOverridesCall) MaxResults(maxResults int64) *RegionInstanceGroupManagersListOverridesCall { - 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 *RegionInstanceGroupManagersListOverridesCall) OrderBy(orderBy string) *RegionInstanceGroupManagersListOverridesCall { - 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 *RegionInstanceGroupManagersListOverridesCall) PageToken(pageToken string) *RegionInstanceGroupManagersListOverridesCall { - 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 information. -func (c *RegionInstanceGroupManagersListOverridesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersListOverridesCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *RegionInstanceGroupManagersListOverridesCall) Context(ctx context.Context) *RegionInstanceGroupManagersListOverridesCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *RegionInstanceGroupManagersListOverridesCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *RegionInstanceGroupManagersListOverridesCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listOverrides") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("POST", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "project": c.project, - "region": c.region, - "instanceGroupManager": c.instanceGroupManager, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "compute.regionInstanceGroupManagers.listOverrides" call. -// Exactly one of *RegionInstanceGroupManagersListOverridesResponse or -// error will be non-nil. Any non-2xx status code is an error. Response -// headers are in either -// *RegionInstanceGroupManagersListOverridesResponse.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 *RegionInstanceGroupManagersListOverridesCall) Do(opts ...googleapi.CallOption) (*RegionInstanceGroupManagersListOverridesResponse, 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, &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, err - } - ret := &RegionInstanceGroupManagersListOverridesResponse{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Lists all of the overrides defined for the managed instance group.", - // "httpMethod": "POST", - // "id": "compute.regionInstanceGroupManagers.listOverrides", - // "parameterOrder": [ - // "project", - // "region", - // "instanceGroupManager" - // ], - // "parameters": { - // "filter": { - // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", - // "location": "query", - // "type": "string" - // }, - // "instanceGroupManager": { - // "description": "The name of the managed instance group. It should conform to RFC1035.", - // "location": "path", - // "required": true, - // "type": "string" - // }, - // "maxResults": { - // "default": "500", - // "description": "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)", - // "format": "uint32", - // "location": "query", - // "minimum": "0", - // "type": "integer" - // }, - // "orderBy": { - // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", - // "location": "query", - // "type": "string" - // }, - // "pageToken": { - // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the 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 scoping this request, should conform to RFC1035.", - // "location": "path", - // "required": true, - // "type": "string" - // } - // }, - // "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listOverrides", - // "response": { - // "$ref": "RegionInstanceGroupManagersListOverridesResponse" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" - // ] - // } - -} - -// 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 *RegionInstanceGroupManagersListOverridesCall) Pages(ctx context.Context, f func(*RegionInstanceGroupManagersListOverridesResponse) error) error { - c.ctx_ = ctx - defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point - 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) - } -} - // method id "compute.regionInstanceGroupManagers.listPerInstanceConfigs": type RegionInstanceGroupManagersListPerInstanceConfigsCall struct { @@ -74443,8 +86799,7 @@ func (c *RegionInstanceGroupManagersPatchCall) Do(opts ...googleapi.CallOption) // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -75717,162 +88072,6 @@ func (c *RegionInstanceGroupManagersUpdateCall) Do(opts ...googleapi.CallOption) } -// method id "compute.regionInstanceGroupManagers.updateOverrides": - -type RegionInstanceGroupManagersUpdateOverridesCall struct { - s *Service - project string - region string - instanceGroupManager string - regioninstancegroupmanagersupdateoverridesrequest *RegionInstanceGroupManagersUpdateOverridesRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// UpdateOverrides: Insert or patch (for the ones that already exist) -// overrides for the managed instance group. -func (r *RegionInstanceGroupManagersService) UpdateOverrides(project string, region string, instanceGroupManager string, regioninstancegroupmanagersupdateoverridesrequest *RegionInstanceGroupManagersUpdateOverridesRequest) *RegionInstanceGroupManagersUpdateOverridesCall { - c := &RegionInstanceGroupManagersUpdateOverridesCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.project = project - c.region = region - c.instanceGroupManager = instanceGroupManager - c.regioninstancegroupmanagersupdateoverridesrequest = regioninstancegroupmanagersupdateoverridesrequest - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *RegionInstanceGroupManagersUpdateOverridesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersUpdateOverridesCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *RegionInstanceGroupManagersUpdateOverridesCall) Context(ctx context.Context) *RegionInstanceGroupManagersUpdateOverridesCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *RegionInstanceGroupManagersUpdateOverridesCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *RegionInstanceGroupManagersUpdateOverridesCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.regioninstancegroupmanagersupdateoverridesrequest) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/updateOverrides") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("POST", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "project": c.project, - "region": c.region, - "instanceGroupManager": c.instanceGroupManager, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "compute.regionInstanceGroupManagers.updateOverrides" call. -// Exactly one of *Operation or error will be non-nil. Any non-2xx -// status code is an error. Response headers are in either -// *Operation.ServerResponse.Header or (if a response was returned at -// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified -// to check whether the returned error was because -// http.StatusNotModified was returned. -func (c *RegionInstanceGroupManagersUpdateOverridesCall) 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, &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, err - } - ret := &Operation{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Insert or patch (for the ones that already exist) overrides for the managed instance group.", - // "httpMethod": "POST", - // "id": "compute.regionInstanceGroupManagers.updateOverrides", - // "parameterOrder": [ - // "project", - // "region", - // "instanceGroupManager" - // ], - // "parameters": { - // "instanceGroupManager": { - // "description": "The name of the managed instance group. It should conform to RFC1035.", - // "location": "path", - // "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, should conform to RFC1035.", - // "location": "path", - // "required": true, - // "type": "string" - // } - // }, - // "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/updateOverrides", - // "request": { - // "$ref": "RegionInstanceGroupManagersUpdateOverridesRequest" - // }, - // "response": { - // "$ref": "Operation" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute" - // ] - // } - -} - // method id "compute.regionInstanceGroupManagers.updatePerInstanceConfigs": type RegionInstanceGroupManagersUpdatePerInstanceConfigsCall struct { @@ -79212,7 +91411,8 @@ type RoutersPatchCall struct { } // Patch: Patches the specified Router resource with the data included -// in the request. This method supports patch semantics. +// in the request. This method supports PATCH semantics and uses JSON +// merge patch format and processing rules. func (r *RoutersService) Patch(project string, region string, router string, router2 *Router) *RoutersPatchCall { c := &RoutersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project @@ -79329,7 +91529,7 @@ func (c *RoutersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) } return ret, nil // { - // "description": "Patches the specified Router resource with the data included in the request. This method supports patch semantics.", + // "description": "Patches the specified Router resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", // "httpMethod": "PATCH", // "id": "compute.routers.patch", // "parameterOrder": [ @@ -79374,8 +91574,7 @@ func (c *RoutersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -80737,7 +92936,7 @@ func (c *RoutesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPe // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -81050,7 +93249,7 @@ func (c *SecurityPoliciesGetCall) Do(opts ...googleapi.CallOption) (*SecurityPol // "type": "string" // }, // "securityPolicy": { - // "description": "Name of the security policy to update.", + // "description": "Name of the security policy to get.", // "location": "path", // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", // "required": true, @@ -81373,13 +93572,13 @@ func (c *SecurityPoliciesListCall) doRequest(alt string) (*http.Response, error) } // Do executes the "compute.securityPolicies.list" call. -// Exactly one of *SecurityPoliciesList or error will be non-nil. Any +// Exactly one of *SecurityPolicyList or error will be non-nil. Any // non-2xx status code is an error. Response headers are in either -// *SecurityPoliciesList.ServerResponse.Header or (if a response was +// *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 *SecurityPoliciesListCall) Do(opts ...googleapi.CallOption) (*SecurityPoliciesList, error) { +func (c *SecurityPoliciesListCall) Do(opts ...googleapi.CallOption) (*SecurityPolicyList, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -81398,7 +93597,7 @@ func (c *SecurityPoliciesListCall) Do(opts ...googleapi.CallOption) (*SecurityPo if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &SecurityPoliciesList{ + ret := &SecurityPolicyList{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -81450,7 +93649,7 @@ func (c *SecurityPoliciesListCall) Do(opts ...googleapi.CallOption) (*SecurityPo // }, // "path": "{project}/global/securityPolicies", // "response": { - // "$ref": "SecurityPoliciesList" + // "$ref": "SecurityPolicyList" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", @@ -81464,7 +93663,7 @@ func (c *SecurityPoliciesListCall) Do(opts ...googleapi.CallOption) (*SecurityPo // 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 *SecurityPoliciesListCall) Pages(ctx context.Context, f func(*SecurityPoliciesList) error) error { +func (c *SecurityPoliciesListCall) Pages(ctx context.Context, f func(*SecurityPolicyList) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point for { @@ -81647,8 +93846,7 @@ func (c *SecurityPoliciesPatchCall) Do(opts ...googleapi.CallOption) (*Operation // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -81781,7 +93979,7 @@ func (c *SecurityPoliciesTestIamPermissionsCall) Do(opts ...googleapi.CallOption // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -82256,7 +94454,7 @@ func (c *SnapshotsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, e // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -82654,7 +94852,7 @@ func (c *SnapshotsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, e // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -82948,7 +95146,7 @@ func (c *SnapshotsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*Tes // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -83820,7 +96018,7 @@ func (c *SslCertificatesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -83841,6 +96039,1281 @@ func (c *SslCertificatesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) } +// method id "compute.sslPolicies.delete": + +type SslPoliciesDeleteCall struct { + s *Service + project string + sslPolicy string + 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. +func (r *SslPoliciesService) Delete(project string, sslPolicy string) *SslPoliciesDeleteCall { + c := &SslPoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.sslPolicy = sslPolicy + 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 *SslPoliciesDeleteCall) RequestId(requestId string) *SslPoliciesDeleteCall { + 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 information. +func (c *SslPoliciesDeleteCall) Fields(s ...googleapi.Field) *SslPoliciesDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *SslPoliciesDeleteCall) Context(ctx context.Context) *SslPoliciesDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *SslPoliciesDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *SslPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/sslPolicies/{sslPolicy}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "sslPolicy": c.sslPolicy, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.sslPolicies.delete" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *SslPoliciesDeleteCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "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.", + // "httpMethod": "DELETE", + // "id": "compute.sslPolicies.delete", + // "parameterOrder": [ + // "project", + // "sslPolicy" + // ], + // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, + // "sslPolicy": { + // "description": "Name of the SSL policy to delete. The name must be 1-63 characters long, and comply with RFC1035.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{project}/global/sslPolicies/{sslPolicy}", + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "compute.sslPolicies.get": + +type SslPoliciesGetCall struct { + s *Service + project string + sslPolicy 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. +func (r *SslPoliciesService) Get(project string, sslPolicy string) *SslPoliciesGetCall { + c := &SslPoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + 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 information. +func (c *SslPoliciesGetCall) Fields(s ...googleapi.Field) *SslPoliciesGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *SslPoliciesGetCall) IfNoneMatch(entityTag string) *SslPoliciesGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *SslPoliciesGetCall) Context(ctx context.Context) *SslPoliciesGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *SslPoliciesGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *SslPoliciesGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/sslPolicies/{sslPolicy}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "sslPolicy": c.sslPolicy, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.sslPolicies.get" call. +// Exactly one of *SslPolicy or error will be non-nil. 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 *SslPoliciesGetCall) Do(opts ...googleapi.CallOption) (*SslPolicy, 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, &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, err + } + ret := &SslPolicy{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "List all of the ordered rules present in a single specified policy.", + // "httpMethod": "GET", + // "id": "compute.sslPolicies.get", + // "parameterOrder": [ + // "project", + // "sslPolicy" + // ], + // "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" + // }, + // "sslPolicy": { + // "description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{project}/global/sslPolicies/{sslPolicy}", + // "response": { + // "$ref": "SslPolicy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// method id "compute.sslPolicies.insert": + +type SslPoliciesInsertCall struct { + s *Service + project string + sslpolicy *SslPolicy + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Insert: Returns the specified SSL policy resource. Get a list of +// available SSL policies by making a list() request. +func (r *SslPoliciesService) Insert(project string, sslpolicy *SslPolicy) *SslPoliciesInsertCall { + c := &SslPoliciesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.sslpolicy = sslpolicy + 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 *SslPoliciesInsertCall) RequestId(requestId string) *SslPoliciesInsertCall { + 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 information. +func (c *SslPoliciesInsertCall) Fields(s ...googleapi.Field) *SslPoliciesInsertCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *SslPoliciesInsertCall) Context(ctx context.Context) *SslPoliciesInsertCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *SslPoliciesInsertCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *SslPoliciesInsertCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.sslpolicy) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/sslPolicies") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.sslPolicies.insert" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *SslPoliciesInsertCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns the specified SSL policy resource. Get a list of available SSL policies by making a list() request.", + // "httpMethod": "POST", + // "id": "compute.sslPolicies.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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "{project}/global/sslPolicies", + // "request": { + // "$ref": "SslPolicy" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "compute.sslPolicies.list": + +type SslPoliciesListCall struct { + s *Service + project string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: List all the SSL policies that have been configured for the +// specified project. +func (r *SslPoliciesService) List(project string) *SslPoliciesListCall { + c := &SslPoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + return c +} + +// Filter sets the optional parameter "filter": Sets a filter +// {expression} for filtering listed resources. Your {expression} must +// be in the format: field_name comparison_string literal_string. +// +// The field_name is the name of the field you want to compare. Only +// atomic field types are supported (string, number, boolean). The +// comparison_string must be either eq (equals) or ne (not equals). The +// literal_string is the string value to filter to. The literal value +// must be valid for the type of field you are filtering by (string, +// number, boolean). For string fields, the literal value is interpreted +// as a regular expression using RE2 syntax. The literal value must +// match the entire field. +// +// For example, to filter for instances that do not have a name of +// example-instance, you would use name ne example-instance. +// +// You can filter on nested fields. For example, you could filter on +// instances that have set the scheduling.automaticRestart field to +// true. Use filtering on nested fields to take advantage of labels to +// organize and search for results based on label values. +// +// To filter on multiple expressions, provide each separate expression +// within parentheses. For example, (scheduling.automaticRestart eq +// true) (zone eq us-central1-f). Multiple expressions are treated as +// AND expressions, meaning that resources must match all expressions to +// pass the filters. +func (c *SslPoliciesListCall) Filter(filter string) *SslPoliciesListCall { + 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 *SslPoliciesListCall) MaxResults(maxResults int64) *SslPoliciesListCall { + 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 *SslPoliciesListCall) OrderBy(orderBy string) *SslPoliciesListCall { + 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 *SslPoliciesListCall) PageToken(pageToken string) *SslPoliciesListCall { + 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 information. +func (c *SslPoliciesListCall) Fields(s ...googleapi.Field) *SslPoliciesListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *SslPoliciesListCall) IfNoneMatch(entityTag string) *SslPoliciesListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *SslPoliciesListCall) Context(ctx context.Context) *SslPoliciesListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *SslPoliciesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *SslPoliciesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/sslPolicies") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.sslPolicies.list" call. +// Exactly one of *SslPoliciesList or error will be non-nil. 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 check whether the returned error was +// because http.StatusNotModified was returned. +func (c *SslPoliciesListCall) Do(opts ...googleapi.CallOption) (*SslPoliciesList, 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, &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, err + } + ret := &SslPoliciesList{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "List all the SSL policies that have been configured for the specified project.", + // "httpMethod": "GET", + // "id": "compute.sslPolicies.list", + // "parameterOrder": [ + // "project" + // ], + // "parameters": { + // "filter": { + // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", + // "location": "query", + // "type": "string" + // }, + // "maxResults": { + // "default": "500", + // "description": "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)", + // "format": "uint32", + // "location": "query", + // "minimum": "0", + // "type": "integer" + // }, + // "orderBy": { + // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + // "location": "query", + // "type": "string" + // }, + // "pageToken": { + // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the 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": "{project}/global/sslPolicies", + // "response": { + // "$ref": "SslPoliciesList" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// 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 *SslPoliciesListCall) Pages(ctx context.Context, f func(*SslPoliciesList) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "compute.sslPolicies.listAvailableFeatures": + +type SslPoliciesListAvailableFeaturesCall struct { + s *Service + project string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// ListAvailableFeatures: Lists all features that can be specified in +// the SSL policy when using custom profile. +func (r *SslPoliciesService) ListAvailableFeatures(project string) *SslPoliciesListAvailableFeaturesCall { + c := &SslPoliciesListAvailableFeaturesCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + return c +} + +// Filter sets the optional parameter "filter": Sets a filter +// {expression} for filtering listed resources. Your {expression} must +// be in the format: field_name comparison_string literal_string. +// +// The field_name is the name of the field you want to compare. Only +// atomic field types are supported (string, number, boolean). The +// comparison_string must be either eq (equals) or ne (not equals). The +// literal_string is the string value to filter to. The literal value +// must be valid for the type of field you are filtering by (string, +// number, boolean). For string fields, the literal value is interpreted +// as a regular expression using RE2 syntax. The literal value must +// match the entire field. +// +// For example, to filter for instances that do not have a name of +// example-instance, you would use name ne example-instance. +// +// You can filter on nested fields. For example, you could filter on +// instances that have set the scheduling.automaticRestart field to +// true. Use filtering on nested fields to take advantage of labels to +// organize and search for results based on label values. +// +// To filter on multiple expressions, provide each separate expression +// within parentheses. For example, (scheduling.automaticRestart eq +// true) (zone eq us-central1-f). Multiple expressions are treated as +// AND expressions, meaning that resources must match all expressions to +// pass the filters. +func (c *SslPoliciesListAvailableFeaturesCall) Filter(filter string) *SslPoliciesListAvailableFeaturesCall { + 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 *SslPoliciesListAvailableFeaturesCall) MaxResults(maxResults int64) *SslPoliciesListAvailableFeaturesCall { + 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 *SslPoliciesListAvailableFeaturesCall) OrderBy(orderBy string) *SslPoliciesListAvailableFeaturesCall { + 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 *SslPoliciesListAvailableFeaturesCall) PageToken(pageToken string) *SslPoliciesListAvailableFeaturesCall { + 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 information. +func (c *SslPoliciesListAvailableFeaturesCall) Fields(s ...googleapi.Field) *SslPoliciesListAvailableFeaturesCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *SslPoliciesListAvailableFeaturesCall) IfNoneMatch(entityTag string) *SslPoliciesListAvailableFeaturesCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *SslPoliciesListAvailableFeaturesCall) Context(ctx context.Context) *SslPoliciesListAvailableFeaturesCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *SslPoliciesListAvailableFeaturesCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *SslPoliciesListAvailableFeaturesCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/sslPolicies/listAvailableFeatures") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.sslPolicies.listAvailableFeatures" call. +// Exactly one of *SslPoliciesListAvailableFeaturesResponse or error +// will be non-nil. 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 *SslPoliciesListAvailableFeaturesCall) Do(opts ...googleapi.CallOption) (*SslPoliciesListAvailableFeaturesResponse, 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, &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, err + } + ret := &SslPoliciesListAvailableFeaturesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists all features that can be specified in the SSL policy when using custom profile.", + // "httpMethod": "GET", + // "id": "compute.sslPolicies.listAvailableFeatures", + // "parameterOrder": [ + // "project" + // ], + // "parameters": { + // "filter": { + // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", + // "location": "query", + // "type": "string" + // }, + // "maxResults": { + // "default": "500", + // "description": "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)", + // "format": "uint32", + // "location": "query", + // "minimum": "0", + // "type": "integer" + // }, + // "orderBy": { + // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + // "location": "query", + // "type": "string" + // }, + // "pageToken": { + // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the 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": "{project}/global/sslPolicies/listAvailableFeatures", + // "response": { + // "$ref": "SslPoliciesListAvailableFeaturesResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// method id "compute.sslPolicies.patch": + +type SslPoliciesPatchCall struct { + s *Service + project string + sslPolicy string + sslpolicy *SslPolicy + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Patches the specified SSL policy with the data included in the +// request. +func (r *SslPoliciesService) Patch(project string, sslPolicy string, sslpolicy *SslPolicy) *SslPoliciesPatchCall { + c := &SslPoliciesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.sslPolicy = sslPolicy + c.sslpolicy = sslpolicy + 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 *SslPoliciesPatchCall) RequestId(requestId string) *SslPoliciesPatchCall { + 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 information. +func (c *SslPoliciesPatchCall) Fields(s ...googleapi.Field) *SslPoliciesPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *SslPoliciesPatchCall) Context(ctx context.Context) *SslPoliciesPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *SslPoliciesPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *SslPoliciesPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.sslpolicy) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/sslPolicies/{sslPolicy}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "sslPolicy": c.sslPolicy, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.sslPolicies.patch" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *SslPoliciesPatchCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Patches the specified SSL policy with the data included in the request.", + // "httpMethod": "PATCH", + // "id": "compute.sslPolicies.patch", + // "parameterOrder": [ + // "project", + // "sslPolicy" + // ], + // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, + // "sslPolicy": { + // "description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{project}/global/sslPolicies/{sslPolicy}", + // "request": { + // "$ref": "SslPolicy" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "compute.sslPolicies.testIamPermissions": + +type SslPoliciesTestIamPermissionsCall 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. +func (r *SslPoliciesService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *SslPoliciesTestIamPermissionsCall { + c := &SslPoliciesTestIamPermissionsCall{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 information. +func (c *SslPoliciesTestIamPermissionsCall) Fields(s ...googleapi.Field) *SslPoliciesTestIamPermissionsCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *SslPoliciesTestIamPermissionsCall) Context(ctx context.Context) *SslPoliciesTestIamPermissionsCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *SslPoliciesTestIamPermissionsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *SslPoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.testpermissionsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/sslPolicies/{resource}/testIamPermissions") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.sslPolicies.testIamPermissions" call. +// Exactly one of *TestPermissionsResponse or error will be non-nil. 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 *SslPoliciesTestIamPermissionsCall) 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, &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, err + } + ret := &TestPermissionsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns permissions that a caller has on the specified resource.", + // "httpMethod": "POST", + // "id": "compute.sslPolicies.testIamPermissions", + // "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 of the resource for this request.", + // "location": "path", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{project}/global/sslPolicies/{resource}/testIamPermissions", + // "request": { + // "$ref": "TestPermissionsRequest" + // }, + // "response": { + // "$ref": "TestPermissionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + // method id "compute.subnetworks.aggregatedList": type SubnetworksAggregatedListCall struct { @@ -85205,6 +98678,257 @@ func (c *SubnetworksListCall) Pages(ctx context.Context, f func(*SubnetworkList) } } +// method id "compute.subnetworks.listUsable": + +type SubnetworksListUsableCall struct { + s *Service + project string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// ListUsable: Retrieves an aggregated list of usable subnetworks. +func (r *SubnetworksService) ListUsable(project string) *SubnetworksListUsableCall { + c := &SubnetworksListUsableCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + return c +} + +// Filter sets the optional parameter "filter": Sets a filter +// {expression} for filtering listed resources. Your {expression} must +// be in the format: field_name comparison_string literal_string. +// +// The field_name is the name of the field you want to compare. Only +// atomic field types are supported (string, number, boolean). The +// comparison_string must be either eq (equals) or ne (not equals). The +// literal_string is the string value to filter to. The literal value +// must be valid for the type of field you are filtering by (string, +// number, boolean). For string fields, the literal value is interpreted +// as a regular expression using RE2 syntax. The literal value must +// match the entire field. +// +// For example, to filter for instances that do not have a name of +// example-instance, you would use name ne example-instance. +// +// You can filter on nested fields. For example, you could filter on +// instances that have set the scheduling.automaticRestart field to +// true. Use filtering on nested fields to take advantage of labels to +// organize and search for results based on label values. +// +// To filter on multiple expressions, provide each separate expression +// within parentheses. For example, (scheduling.automaticRestart eq +// true) (zone eq us-central1-f). Multiple expressions are treated as +// AND expressions, meaning that resources must match all expressions to +// pass the filters. +func (c *SubnetworksListUsableCall) Filter(filter string) *SubnetworksListUsableCall { + 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 *SubnetworksListUsableCall) MaxResults(maxResults int64) *SubnetworksListUsableCall { + 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 *SubnetworksListUsableCall) OrderBy(orderBy string) *SubnetworksListUsableCall { + 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 *SubnetworksListUsableCall) PageToken(pageToken string) *SubnetworksListUsableCall { + 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 information. +func (c *SubnetworksListUsableCall) Fields(s ...googleapi.Field) *SubnetworksListUsableCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *SubnetworksListUsableCall) IfNoneMatch(entityTag string) *SubnetworksListUsableCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *SubnetworksListUsableCall) Context(ctx context.Context) *SubnetworksListUsableCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *SubnetworksListUsableCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *SubnetworksListUsableCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/subnetworks/listUsable") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.subnetworks.listUsable" call. +// Exactly one of *UsableSubnetworksAggregatedList or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *UsableSubnetworksAggregatedList.ServerResponse.Header or (if +// a response was returned at all) in error.(*googleapi.Error).Header. +// Use googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *SubnetworksListUsableCall) Do(opts ...googleapi.CallOption) (*UsableSubnetworksAggregatedList, 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, &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, err + } + ret := &UsableSubnetworksAggregatedList{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Retrieves an aggregated list of usable subnetworks.", + // "httpMethod": "GET", + // "id": "compute.subnetworks.listUsable", + // "parameterOrder": [ + // "project" + // ], + // "parameters": { + // "filter": { + // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", + // "location": "query", + // "type": "string" + // }, + // "maxResults": { + // "default": "500", + // "description": "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)", + // "format": "uint32", + // "location": "query", + // "minimum": "0", + // "type": "integer" + // }, + // "orderBy": { + // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + // "location": "query", + // "type": "string" + // }, + // "pageToken": { + // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the 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": "{project}/aggregated/subnetworks/listUsable", + // "response": { + // "$ref": "UsableSubnetworksAggregatedList" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// 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 *SubnetworksListUsableCall) Pages(ctx context.Context, f func(*UsableSubnetworksAggregatedList) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + // method id "compute.subnetworks.patch": type SubnetworksPatchCall struct { @@ -85384,8 +99108,7 @@ func (c *SubnetworksPatchCall) Do(opts ...googleapi.CallOption) (*Operation, err // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -86917,7 +100640,7 @@ func (c *TargetHttpProxiesTestIamPermissionsCall) Do(opts ...googleapi.CallOptio // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -87683,6 +101406,25 @@ func (r *TargetHttpsProxiesService) SetQuicOverride(project string, targetHttpsP 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 *TargetHttpsProxiesSetQuicOverrideCall) RequestId(requestId string) *TargetHttpsProxiesSetQuicOverrideCall { + 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 information. @@ -87785,6 +101527,11 @@ func (c *TargetHttpsProxiesSetQuicOverrideCall) Do(opts ...googleapi.CallOption) // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "targetHttpsProxy": { // "description": "Name of the TargetHttpsProxy resource to set the QUIC override policy for. The name should conform to RFC1035.", // "location": "path", @@ -87977,6 +101724,179 @@ func (c *TargetHttpsProxiesSetSslCertificatesCall) Do(opts ...googleapi.CallOpti } +// method id "compute.targetHttpsProxies.setSslPolicy": + +type TargetHttpsProxiesSetSslPolicyCall struct { + s *Service + project string + targetHttpsProxy string + sslpolicyreference *SslPolicyReference + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetSslPolicy: Sets the SSL policy for TargetHttpsProxy. The SSL +// policy specifies the server-side support for SSL features. This +// affects connections between clients and the HTTPS proxy load +// balancer. They do not affect the connection between the load balancer +// and the backends. +func (r *TargetHttpsProxiesService) SetSslPolicy(project string, targetHttpsProxy string, sslpolicyreference *SslPolicyReference) *TargetHttpsProxiesSetSslPolicyCall { + c := &TargetHttpsProxiesSetSslPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.targetHttpsProxy = targetHttpsProxy + c.sslpolicyreference = sslpolicyreference + 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 *TargetHttpsProxiesSetSslPolicyCall) RequestId(requestId string) *TargetHttpsProxiesSetSslPolicyCall { + 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 information. +func (c *TargetHttpsProxiesSetSslPolicyCall) Fields(s ...googleapi.Field) *TargetHttpsProxiesSetSslPolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *TargetHttpsProxiesSetSslPolicyCall) Context(ctx context.Context) *TargetHttpsProxiesSetSslPolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *TargetHttpsProxiesSetSslPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *TargetHttpsProxiesSetSslPolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.sslpolicyreference) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetHttpsProxies/{targetHttpsProxy}/setSslPolicy") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "targetHttpsProxy": c.targetHttpsProxy, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.targetHttpsProxies.setSslPolicy" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *TargetHttpsProxiesSetSslPolicyCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Sets the SSL policy for TargetHttpsProxy. The SSL policy specifies the server-side support for SSL features. This affects connections between clients and the HTTPS proxy load balancer. They do not affect the connection between the load balancer and the backends.", + // "httpMethod": "POST", + // "id": "compute.targetHttpsProxies.setSslPolicy", + // "parameterOrder": [ + // "project", + // "targetHttpsProxy" + // ], + // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, + // "targetHttpsProxy": { + // "description": "Name of the TargetHttpsProxy resource whose SSL policy is to be set. The name must be 1-63 characters long, and comply with RFC1035.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{project}/global/targetHttpsProxies/{targetHttpsProxy}/setSslPolicy", + // "request": { + // "$ref": "SslPolicyReference" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + // method id "compute.targetHttpsProxies.setUrlMap": type TargetHttpsProxiesSetUrlMapCall struct { @@ -88274,7 +102194,7 @@ func (c *TargetHttpsProxiesTestIamPermissionsCall) Do(opts ...googleapi.CallOpti // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -92978,6 +106898,178 @@ func (c *TargetSslProxiesSetSslCertificatesCall) Do(opts ...googleapi.CallOption } +// method id "compute.targetSslProxies.setSslPolicy": + +type TargetSslProxiesSetSslPolicyCall struct { + s *Service + project string + targetSslProxy string + sslpolicyreference *SslPolicyReference + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetSslPolicy: Sets the SSL policy for TargetSslProxy. The SSL policy +// specifies the server-side support for SSL features. This affects +// connections between clients and the SSL proxy load balancer. They do +// not affect the connection between the load balancer and the backends. +func (r *TargetSslProxiesService) SetSslPolicy(project string, targetSslProxy string, sslpolicyreference *SslPolicyReference) *TargetSslProxiesSetSslPolicyCall { + c := &TargetSslProxiesSetSslPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.targetSslProxy = targetSslProxy + c.sslpolicyreference = sslpolicyreference + 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 *TargetSslProxiesSetSslPolicyCall) RequestId(requestId string) *TargetSslProxiesSetSslPolicyCall { + 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 information. +func (c *TargetSslProxiesSetSslPolicyCall) Fields(s ...googleapi.Field) *TargetSslProxiesSetSslPolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *TargetSslProxiesSetSslPolicyCall) Context(ctx context.Context) *TargetSslProxiesSetSslPolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *TargetSslProxiesSetSslPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *TargetSslProxiesSetSslPolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.sslpolicyreference) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetSslProxies/{targetSslProxy}/setSslPolicy") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "targetSslProxy": c.targetSslProxy, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.targetSslProxies.setSslPolicy" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *TargetSslProxiesSetSslPolicyCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Sets the SSL policy for TargetSslProxy. The SSL policy specifies the server-side support for SSL features. This affects connections between clients and the SSL proxy load balancer. They do not affect the connection between the load balancer and the backends.", + // "httpMethod": "POST", + // "id": "compute.targetSslProxies.setSslPolicy", + // "parameterOrder": [ + // "project", + // "targetSslProxy" + // ], + // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, + // "targetSslProxy": { + // "description": "Name of the TargetSslProxy resource whose SSL policy is to be set. The name must be 1-63 characters long, and comply with RFC1035.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{project}/global/targetSslProxies/{targetSslProxy}/setSslPolicy", + // "request": { + // "$ref": "SslPolicyReference" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + // method id "compute.targetSslProxies.testIamPermissions": type TargetSslProxiesTestIamPermissionsCall struct { @@ -93105,7 +107197,7 @@ func (c *TargetSslProxiesTestIamPermissionsCall) Do(opts ...googleapi.CallOption // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -94317,7 +108409,7 @@ func (c *TargetTcpProxiesTestIamPermissionsCall) Do(opts ...googleapi.CallOption // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -96582,8 +110674,7 @@ func (c *UrlMapsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -96716,7 +110807,7 @@ func (c *UrlMapsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestP // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } diff --git a/vendor/google.golang.org/api/compute/v0.beta/compute-api.json b/vendor/google.golang.org/api/compute/v0.beta/compute-api.json index 49fe01fa8..10446d78f 100644 --- a/vendor/google.golang.org/api/compute/v0.beta/compute-api.json +++ b/vendor/google.golang.org/api/compute/v0.beta/compute-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/e2k0SFtFl3TDuuZXxfzHFd8bCTU\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/2Jt9iILNSBvotCe8YWfswUcsXKc\"", "discoveryVersion": "v1", "id": "compute:beta", "name": "compute", "version": "beta", - "revision": "20170612", + "revision": "20170908", "title": "Compute Engine API", "description": "Creates and runs virtual machines on Google Cloud Platform.", "ownerDomain": "google.com", @@ -20,7 +20,7 @@ "basePath": "/compute/beta/projects/", "rootUrl": "https://www.googleapis.com/", "servicePath": "compute/beta/projects/", - "batchPath": "batch", + "batchPath": "batch/compute/beta", "parameters": { "alt": { "type": "string", @@ -160,11 +160,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of scoped accelerator type lists.", + "description": "A list of AcceleratorTypesScopedList resources.", "additionalProperties": { "$ref": "AcceleratorTypesScopedList", "description": "[Output Only] Name of the scope containing this set of accelerator types." @@ -182,6 +182,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -208,11 +277,80 @@ }, "nextPageToken": { "type": "string", - "description": "[Output Only] A token used to continue a truncated list request." + "description": "[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 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." }, "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -316,6 +454,14 @@ "type": "string", "description": "An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance." }, + "publicPtrDomainName": { + "type": "string", + "description": "The DNS domain name for the public PTR record. This field can only be set when the set_public_ptr field is enabled." + }, + "setPublicPtr": { + "type": "boolean", + "description": "Specifies whether a public DNS ?PTR? record should be created to map the external IP address of the instance to a DNS domain name." + }, "type": { "type": "string", "description": "The type of configuration. The default and only option is ONE_TO_ONE_NAT.", @@ -336,7 +482,21 @@ "properties": { "address": { "type": "string", - "description": "The static external IP address represented by this resource." + "description": "The static IP address represented by this resource." + }, + "addressType": { + "type": "string", + "description": "The type of address to reserve. If unspecified, defaults to EXTERNAL.", + "enum": [ + "EXTERNAL", + "INTERNAL", + "UNSPECIFIED_TYPE" + ], + "enumDescriptions": [ + "", + "", + "" + ] }, "creationTimestamp": { "type": "string", @@ -412,6 +572,10 @@ "" ] }, + "subnetwork": { + "type": "string", + "description": "For external addresses, this field should not be used.\n\nThe URL of the subnetwork in which to reserve the address. If an IP address is specified, it must be within the subnetwork's IP range." + }, "users": { "type": "array", "description": "[Output Only] The URLs of the resources that are using this address.", @@ -431,7 +595,7 @@ }, "items": { "type": "object", - "description": "[Output Only] A map of scoped address lists.", + "description": "A list of AddressesScopedList resources.", "additionalProperties": { "$ref": "AddressesScopedList", "description": "[Output Only] Name of the scope containing this set of addresses." @@ -449,6 +613,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -459,11 +692,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of addresses.", + "description": "A list of Address resources.", "items": { "$ref": "Address" } @@ -479,7 +712,76 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server-defined URL for the resource." + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -603,7 +905,7 @@ }, "index": { "type": "integer", - "description": "Assigns a zero-based index to this disk, where 0 is reserved for the boot disk. For example, if you have many disks attached to an instance, each disk would have a unique index number. If not specified, the server will choose an appropriate value.", + "description": "[Output Only] A zero-based index to this disk, where 0 is reserved for the boot disk. If you have many disks attached to an instance, each disk would have a unique index number.", "format": "int32" }, "initializeParams": { @@ -759,6 +1061,31 @@ } } }, + "AuthorizationLoggingOptions": { + "id": "AuthorizationLoggingOptions", + "type": "object", + "description": "Authorization-related information used by Cloud Audit Logging.", + "properties": { + "permissionType": { + "type": "string", + "description": "The type of the permission that was checked.", + "enum": [ + "ADMIN_READ", + "ADMIN_WRITE", + "DATA_READ", + "DATA_WRITE", + "PERMISSION_TYPE_UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ] + } + } + }, "Autoscaler": { "id": "Autoscaler", "type": "object", @@ -843,11 +1170,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "A map of scoped autoscaler lists.", + "description": "A list of AutoscalersScopedList resources.", "additionalProperties": { "$ref": "AutoscalersScopedList", "description": "[Output Only] Name of the scope containing this set of autoscalers." @@ -865,6 +1192,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -875,7 +1271,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -896,6 +1292,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -1136,7 +1601,7 @@ "properties": { "balancingMode": { "type": "string", - "description": "Specifies the balancing mode for this backend. For global HTTP(S) or TCP/SSL load balancing, the default is UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S)) and CONNECTION (for TCP/SSL).\n\nThis cannot be used for internal load balancing.", + "description": "Specifies the balancing mode for this backend. For global HTTP(S) or TCP/SSL load balancing, the default is UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S)) and CONNECTION (for TCP/SSL).\n\nFor Internal Load Balancing, the default and only supported mode is CONNECTION.", "enum": [ "CONNECTION", "RATE", @@ -1159,7 +1624,7 @@ }, "group": { "type": "string", - "description": "The fully-qualified URL of a zonal Instance Group resource. This instance group defines the list of instances that serve traffic. Member virtual machine instances from each instance group must live in the same zone as the instance group itself. No two backends in a backend service are allowed to use same Instance Group resource.\n\nNote that you must specify an Instance Group resource using the fully-qualified URL, rather than a partial URL.\n\nWhen the BackendService has load balancing scheme INTERNAL, the instance group must be in a zone within the same region as the BackendService." + "description": "The fully-qualified URL of a Instance Group resource. This instance group defines the list of instances that serve traffic. Member virtual machine instances from each instance group must live in the same zone as the instance group itself. No two backends in a backend service are allowed to use same Instance Group resource.\n\nNote that you must specify an Instance Group resource using the fully-qualified URL, rather than a partial URL.\n\nWhen the BackendService has load balancing scheme INTERNAL, the instance group must be within the same region as the BackendService." }, "maxConnections": { "type": "integer", @@ -1253,11 +1718,80 @@ }, "nextPageToken": { "type": "string", - "description": "[Output Only] A token used to continue a truncated list request." + "description": "[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 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." }, "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -1304,7 +1838,7 @@ }, "healthChecks": { "type": "array", - "description": "The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for health checking this BackendService. Currently at most one health check can be specified, and a health check is required for GCE backend services. A health check must not be specified for GAE app backend and Cloud Function backend.\n\nFor internal load balancing, a URL to a HealthCheck resource must be specified instead.", + "description": "The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for health checking this BackendService. Currently at most one health check can be specified, and a health check is required for Compute Engine backend services. A health check must not be specified for App Engine backend and Cloud Function backend.\n\nFor internal load balancing, a URL to a HealthCheck resource must be specified instead.", "items": { "type": "string" } @@ -1324,6 +1858,7 @@ }, "loadBalancingScheme": { "type": "string", + "description": "Indicates whether the backend service will be used with internal or external load balancing. A backend service created for one type of load balancing cannot be used with the other. Possible values are INTERNAL and EXTERNAL.", "enum": [ "EXTERNAL", "INTERNAL", @@ -1371,6 +1906,10 @@ "type": "string", "description": "[Output Only] URL of the region where the regional backend service resides. This field is not applicable to global backend services." }, + "securityPolicy": { + "type": "string", + "description": "[Output Only] The resource URL for the security policy associated with this backend service." + }, "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for the resource." @@ -1411,7 +1950,7 @@ }, "items": { "type": "object", - "description": "A map of scoped BackendService lists.", + "description": "A list of BackendServicesScopedList resources.", "additionalProperties": { "$ref": "BackendServicesScopedList", "description": "Name of the scope containing this set of BackendServices." @@ -1424,11 +1963,80 @@ }, "nextPageToken": { "type": "string", - "description": "[Output Only] A token used to continue a truncated list request." + "description": "[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 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." }, "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -1508,6 +2116,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -1754,11 +2431,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "Commitments by scope.", + "description": "A list of CommitmentsScopedList resources.", "additionalProperties": { "$ref": "CommitmentsScopedList", "description": "[Output Only] Name of the scope containing this set of commitments." @@ -1776,6 +2453,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -1786,7 +2532,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -1807,6 +2553,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -2128,7 +2943,7 @@ }, "sizeGb": { "type": "string", - "description": "Size of the persistent disk, specified in GB. You can specify this field when creating a persistent disk using the sourceImage or sourceSnapshot parameter, or specify it alone to create an empty persistent disk.\n\nIf you specify this field along with sourceImage or sourceSnapshot, the value of sizeGb must not be less than the size of the sourceImage or the size of the snapshot.", + "description": "Size of the persistent disk, specified in GB. You can specify this field when creating a persistent disk using the sourceImage or sourceSnapshot parameter, or specify it alone to create an empty persistent disk.\n\nIf you specify this field along with sourceImage or sourceSnapshot, the value of sizeGb must not be less than the size of the sourceImage or the size of the snapshot. Acceptable values are 1 to 65536, inclusive.", "format": "int64" }, "sourceImage": { @@ -2206,11 +3021,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of scoped disk lists.", + "description": "A list of DisksScopedList resources.", "additionalProperties": { "$ref": "DisksScopedList", "description": "[Output Only] Name of the scope containing this set of disks." @@ -2223,11 +3038,80 @@ }, "nextPageToken": { "type": "string", - "description": "[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 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. Acceptable values are 0 to 500, inclusive. (Default: 500)" + "description": "[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 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." }, "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -2254,11 +3138,80 @@ }, "nextPageToken": { "type": "string", - "description": "This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, 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." + "description": "[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 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." }, "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -2333,11 +3286,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of scoped disk type lists.", + "description": "A list of DiskTypesScopedList resources.", "additionalProperties": { "$ref": "DiskTypesScopedList", "description": "[Output Only] Name of the scope containing this set of disk types." @@ -2355,6 +3308,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -2365,11 +3387,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Disk Type resources.", + "description": "A list of DiskType resources.", "items": { "$ref": "DiskType" } @@ -2386,6 +3408,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -2564,6 +3655,34 @@ } } }, + "DistributionPolicy": { + "id": "DistributionPolicy", + "type": "object", + "properties": { + "zones": { + "type": "array", + "items": { + "$ref": "DistributionPolicyZoneConfiguration" + } + } + } + }, + "DistributionPolicyZoneConfiguration": { + "id": "DistributionPolicyZoneConfiguration", + "type": "object", + "properties": { + "zone": { + "type": "string", + "description": "URL of the zone where managed instance group is spawning instances (for regional resources). Zone has to belong to the region where managed instance group is located.", + "annotations": { + "required": [ + "compute.regionInstanceGroupManagers.insert", + "compute.regionInstanceGroupManagers.update" + ] + } + } + } + }, "Expr": { "id": "Expr", "type": "object", @@ -2600,7 +3719,7 @@ "properties": { "IPProtocol": { "type": "string", - "description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, sctp), or the IP protocol number." + "description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number." }, "ports": { "type": "array", @@ -2624,7 +3743,7 @@ "properties": { "IPProtocol": { "type": "string", - "description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, sctp), or the IP protocol number." + "description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number." }, "ports": { "type": "array", @@ -2709,7 +3828,7 @@ }, "sourceTags": { "type": "array", - "description": "If source tags are specified, the firewall will apply only to traffic with source IP that belongs to a tag listed in source tags. Source tags cannot be used to control traffic to an instance's external IP address. Because tags are associated with an instance, not an IP address. One or both of sourceRanges and sourceTags may be set. If both properties are set, the firewall will apply to traffic that has source IP address within sourceRanges OR the source IP that belongs to a tag listed in the sourceTags property. The connection does not need to match both properties for the firewall to apply.", + "description": "If source tags are specified, the firewall rule applies only to traffic with source IPs that match the primary network interfaces of VM instances that have the tag and are in the same VPC network. Source tags cannot be used to control traffic to an instance's external IP address, it only applies to traffic between instances in the same virtual network. Because tags are associated with instances, not IP addresses. One or both of sourceRanges and sourceTags may be set. If both properties are set, the firewall will apply to traffic that has source IP address within sourceRanges OR the source IP that belongs to a tag listed in the sourceTags property. The connection does not need to match both properties for the firewall to apply.", "items": { "type": "string" } @@ -2737,11 +3856,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Firewall resources.", + "description": "A list of Firewall resources.", "items": { "$ref": "Firewall" } @@ -2758,6 +3877,97 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } + } + } + }, + "FixedOrPercent": { + "id": "FixedOrPercent", + "type": "object", + "description": "Encapsulates numeric value that can be either absolute or relative.", + "properties": { + "calculated": { + "type": "integer", + "description": "[Output Only] Absolute value calculated based on mode: mode = fixed -\u003e calculated = fixed = percent -\u003e calculated = ceiling(percent/100 * base_value)", + "format": "int32" + }, + "fixed": { + "type": "integer", + "description": "fixed must be non-negative.", + "format": "int32" + }, + "percent": { + "type": "integer", + "description": "percent must belong to [0, 100].", + "format": "int32" } } }, @@ -2863,7 +4073,7 @@ }, "portRange": { "type": "string", - "description": "This field is used along with the target field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance.\n\nApplicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed to ports in the specified range will be forwarded to target. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.\n\nSome types of forwarding target have constraints on the acceptable ports: \n- TargetHttpProxy: 80, 8080 \n- TargetHttpsProxy: 443 \n- TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995 \n- TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995 \n- TargetVpnGateway: 500, 4500\n-" + "description": "This field is used along with the target field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance.\n\nApplicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed to ports in the specified range will be forwarded to target. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.\n\nSome types of forwarding target have constraints on the acceptable ports: \n- TargetHttpProxy: 80, 8080 \n- TargetHttpsProxy: 443 \n- TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 \n- TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 \n- TargetVpnGateway: 500, 4500\n-" }, "ports": { "type": "array", @@ -2905,11 +4115,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "A map of scoped forwarding rule lists.", + "description": "A list of ForwardingRulesScopedList resources.", "additionalProperties": { "$ref": "ForwardingRulesScopedList", "description": "Name of the scope containing this set of addresses." @@ -2927,6 +4137,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -2937,7 +4216,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource. Set by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -2958,6 +4237,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -3068,7 +4416,7 @@ "properties": { "type": { "type": "string", - "description": "The type of supported feature. Currently only VIRTIO_SCSI_MULTIQUEUE is supported. For newer Windows images, the server might also populate this property with the value WINDOWS to indicate that this is a Windows image. This value is purely informational and does not enable or disable any features.", + "description": "The type of supported feature. Currently only VIRTIO_SCSI_MULTIQUEUE is supported. For newer Windows images, the server might also populate this property with the value WINDOWS to indicate that this is a Windows image.", "enum": [ "FEATURE_TYPE_UNSPECIFIED", "MULTI_IP_SUBNET", @@ -3250,7 +4598,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -3271,6 +4619,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -3411,7 +4828,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource. Defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -3432,6 +4849,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -3530,6 +5016,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -3566,7 +5121,7 @@ }, "guestOsFeatures": { "type": "array", - "description": "A list of features to enable on the guest OS. Applicable for bootable images only. Currently, only one feature can be enabled, VIRTIO_SCSI_MULTIQUEUE, which allows each virtual CPU to have its own queue. For Windows images, you can only enable VIRTIO_SCSI_MULTIQUEUE on images with driver version 1.2.0.1621 or higher. Linux images with kernel versions 3.17 and higher will support VIRTIO_SCSI_MULTIQUEUE.\n\nFor new Windows images, the server might also populate this field with the value WINDOWS, to indicate that this is a Windows image. This value is purely informational and does not enable or disable any features.", + "description": "A list of features to enable on the guest OS. Applicable for bootable images only. Currently, only one feature can be enabled, VIRTIO_SCSI_MULTIQUEUE, which allows each virtual CPU to have its own queue. For Windows images, you can only enable VIRTIO_SCSI_MULTIQUEUE on images with driver version 1.2.0.1621 or higher. Linux images with kernel versions 3.17 and higher will support VIRTIO_SCSI_MULTIQUEUE.\n\nFor newer Windows images, the server might also populate this property with the value WINDOWS to indicate that this is a Windows image.", "items": { "$ref": "GuestOsFeature" } @@ -3706,11 +5261,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Image resources.", + "description": "A list of Image resources.", "items": { "$ref": "Image" } @@ -3727,6 +5282,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -3816,7 +5440,7 @@ }, "networkInterfaces": { "type": "array", - "description": "An array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Only one interface is supported per instance.", + "description": "An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.", "items": { "$ref": "NetworkInterface" } @@ -3842,7 +5466,7 @@ }, "status": { "type": "string", - "description": "[Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, and TERMINATED.", + "description": "[Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, STOPPED, SUSPENDING, SUSPENDED, and TERMINATED.", "enum": [ "PROVISIONING", "RUNNING", @@ -3884,11 +5508,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of scoped instance lists.", + "description": "A list of InstancesScopedList resources.", "additionalProperties": { "$ref": "InstancesScopedList", "description": "[Output Only] Name of the scope containing this set of instances." @@ -3906,6 +5530,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -3986,11 +5679,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] A unique identifier for this aggregated list of instance groups. The server generates this identifier." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "A map of scoped instance group lists.", + "description": "A list of InstanceGroupsScopedList resources.", "additionalProperties": { "$ref": "InstanceGroupsScopedList", "description": "The name of the scope that contains this set of instance groups." @@ -4007,7 +5700,76 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] The URL for this resource type. The server generates this URL." + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -4018,11 +5780,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] A unique identifier for this list of instance groups. The server generates this identifier." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "A list of instance groups.", + "description": "A list of InstanceGroup resources.", "items": { "$ref": "InstanceGroup" } @@ -4038,7 +5800,76 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] The URL for this resource type. The server generates this URL." + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -4076,6 +5907,10 @@ "type": "string", "description": "An optional description of this resource. Provide this property when you create the resource." }, + "distributionPolicy": { + "$ref": "DistributionPolicy", + "description": "Policy valid only for regional managed instance groups." + }, "failoverAction": { "type": "string", "description": "The action to perform in case of zone failure. Only one value is supported, NO_FAILOVER. The default is NO_FAILOVER.", @@ -4117,7 +5952,8 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "annotations": { "required": [ - "compute.instanceGroupManagers.insert" + "compute.instanceGroupManagers.insert", + "compute.regionInstanceGroupManagers.insert" ] } }, @@ -4128,6 +5964,10 @@ "$ref": "NamedPort" } }, + "pendingActions": { + "$ref": "InstanceGroupManagerPendingActionsSummary", + "description": "[Output Only] The list of instance actions and the number of instances in this managed instance group that are pending for each of those actions." + }, "region": { "type": "string", "description": "[Output Only] The URL of the region where the managed instance group resides (for regional resources)." @@ -4138,7 +5978,7 @@ }, "serviceAccount": { "type": "string", - "description": "Service account will be used as credentials for all operations performed by managed instance group on instances. The service accounts needs all permissions required to create and delete instances. When not specified, the service account {projectNumber}@cloudservices.gserviceaccount.com will be used." + "description": "[Output Only] The service account to be used as credentials for all operations performed by the managed instance group on instances. The service accounts needs all permissions required to create and delete instances. By default, the service account {projectNumber}@cloudservices.gserviceaccount.com is used." }, "targetPools": { "type": "array", @@ -4153,10 +5993,22 @@ "format": "int32", "annotations": { "required": [ - "compute.instanceGroupManagers.insert" + "compute.instanceGroupManagers.insert", + "compute.regionInstanceGroupManagers.insert" ] } }, + "updatePolicy": { + "$ref": "InstanceGroupManagerUpdatePolicy", + "description": "The update policy for this managed instance group." + }, + "versions": { + "type": "array", + "description": "Versions supported by this IGM. User should set this field if they need fine-grained control over how many instances in each version are run by this IGM. Versions are keyed by instanceTemplate. Every instanceTemplate can appear at most once. This field overrides instanceTemplate field. If both instanceTemplate and versions are set, the user receives a warning. \"instanceTemplate: X\" is semantically equivalent to \"versions [ { instanceTemplate: X } ]\". Exactly one version must have targetSize field left unset. Size of such a version will be calculated automatically.", + "items": { + "$ref": "InstanceGroupManagerVersion" + } + }, "zone": { "type": "string", "description": "[Output Only] The URL of the zone where the managed instance group is located (for zonal resources)." @@ -4206,6 +6058,11 @@ "type": "integer", "description": "[Output Only] The number of instances in the managed instance group that are scheduled to be restarted or are currently being restarted.", "format": "int32" + }, + "verifying": { + "type": "integer", + "description": "[Output Only] The number of instances in the managed instance group that are being verified. More details regarding verification process are covered in the documentation of ManagedInstance.InstanceAction.VERIFYING enum field.", + "format": "int32" } } }, @@ -4215,11 +6072,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] A unique identifier for this aggregated list of managed instance groups. The server generates this identifier." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of filtered managed instance group lists.", + "description": "A list of InstanceGroupManagersScopedList resources.", "additionalProperties": { "$ref": "InstanceGroupManagersScopedList", "description": "[Output Only] The name of the scope that contains this set of managed instance groups." @@ -4236,7 +6093,76 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] The URL for this resource type. The server generates this URL." + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -4262,11 +6188,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] A unique identifier for this resource type. The server generates this identifier." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of managed instance groups.", + "description": "A list of InstanceGroupManager resources.", "items": { "$ref": "InstanceGroupManager" } @@ -4283,6 +6209,160 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } + } + } + }, + "InstanceGroupManagerPendingActionsSummary": { + "id": "InstanceGroupManagerPendingActionsSummary", + "type": "object", + "properties": { + "creating": { + "type": "integer", + "description": "[Output Only] The number of instances in the managed instance group that are pending to be created.", + "format": "int32" + }, + "deleting": { + "type": "integer", + "description": "[Output Only] The number of instances in the managed instance group that are pending to be deleted.", + "format": "int32" + }, + "recreating": { + "type": "integer", + "description": "[Output Only] The number of instances in the managed instance group that are pending to be recreated.", + "format": "int32" + }, + "restarting": { + "type": "integer", + "description": "[Output Only] The number of instances in the managed instance group that are pending to be restarted.", + "format": "int32" + } + } + }, + "InstanceGroupManagerUpdatePolicy": { + "id": "InstanceGroupManagerUpdatePolicy", + "type": "object", + "properties": { + "maxSurge": { + "$ref": "FixedOrPercent", + "description": "Maximum number of instances that can be created above the InstanceGroupManager.targetSize during the update process. By default, a fixed value of 1 is used. Using maxSurge \u003e 0 will cause instance names to change during the update process. At least one of { maxSurge, maxUnavailable } must be greater than 0." + }, + "maxUnavailable": { + "$ref": "FixedOrPercent", + "description": "Maximum number of instances that can be unavailable during the update process. The instance is considered available if all of the following conditions are satisfied: 1. Instance's status is RUNNING. 2. Instance's liveness health check result was observed to be HEALTHY at least once. By default, a fixed value of 1 is used. At least one of { maxSurge, maxUnavailable } must be greater than 0." + }, + "minReadySec": { + "type": "integer", + "description": "Minimum number of seconds to wait for after a newly created instance becomes available. This value must be from range [0, 3600].", + "format": "int32" + }, + "minimalAction": { + "type": "string", + "description": "Minimal action to be taken on an instance. The order of action types is: RESTART \u003c REPLACE.", + "enum": [ + "REPLACE", + "RESTART" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "type": { + "type": "string", + "enum": [ + "OPPORTUNISTIC", + "PROACTIVE" + ], + "enumDescriptions": [ + "", + "" + ] + } + } + }, + "InstanceGroupManagerVersion": { + "id": "InstanceGroupManagerVersion", + "type": "object", + "properties": { + "instanceTemplate": { + "type": "string" + }, + "name": { + "type": "string", + "description": "Name of the version. Unique among all versions in the scope of this managed instance group." + }, + "targetSize": { + "$ref": "FixedOrPercent", + "description": "Intended number of instances that are created from instanceTemplate. The final number of instances created from instanceTemplate will be equal to: * if expressed as fixed number: min(targetSize.fixed, instanceGroupManager.targetSize), * if expressed as percent: ceiling(targetSize.percent * InstanceGroupManager.targetSize). If unset, this version will handle all the remaining instances." } } }, @@ -4498,11 +6578,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] A unique identifier for this list of instances in the specified instance group. The server generates this identifier." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of instances and any named ports that are assigned to those instances.", + "description": "A list of InstanceWithNamedPorts resources.", "items": { "$ref": "InstanceWithNamedPorts" } @@ -4518,7 +6598,76 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] The URL for this list of instances in the specified instance groups. The server generates this URL." + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -4660,11 +6809,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of instances.", + "description": "A list of Instance resources.", "items": { "$ref": "Instance" } @@ -4681,6 +6830,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -4691,11 +6909,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of referrers.", + "description": "A list of Reference resources.", "items": { "$ref": "Reference" } @@ -4712,6 +6930,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -4864,11 +7151,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] A unique identifier for this instance template. The server defines this identifier." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] list of InstanceTemplate resources.", + "description": "A list of InstanceTemplate resources.", "items": { "$ref": "InstanceTemplate" } @@ -4884,7 +7171,76 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] The URL for this instance template list. The server defines this URL." + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -5091,6 +7447,901 @@ } } }, + "Interconnect": { + "id": "Interconnect", + "type": "object", + "description": "Protocol definitions for Mixer API to support Interconnect. Next available tag: 23", + "properties": { + "adminEnabled": { + "type": "boolean", + "description": "Administrative status of the interconnect. When this is set to ?true?, the Interconnect is functional and may carry traffic (assuming there are functional InterconnectAttachments and other requirements are satisfied). When set to ?false?, no packets will be carried over this Interconnect and no BGP routes will be exchanged over it. By default, it is set to ?true?." + }, + "circuitInfos": { + "type": "array", + "description": "[Output Only] List of CircuitInfo objects, that describe the individual circuits in this LAG.", + "items": { + "$ref": "InterconnectCircuitInfo" + } + }, + "connectionAuthorization": { + "type": "string", + "description": "[Output Only] URL to retrieve the Letter Of Authority and Customer Facility Assignment (LOA-CFA) documentation relating to this Interconnect. This documentation authorizes the facility provider to connect to the specified crossconnect ports." + }, + "creationTimestamp": { + "type": "string", + "description": "[Output Only] Creation timestamp in RFC3339 text format." + }, + "customerName": { + "type": "string", + "description": "Customer name, to put in the Letter of Authorization as the party authorized to request a crossconnect." + }, + "description": { + "type": "string", + "description": "An optional description of this resource. Provide this property when you create the resource." + }, + "expectedOutages": { + "type": "array", + "description": "[Output Only] List of outages expected for this Interconnect.", + "items": { + "$ref": "InterconnectOutageNotification" + } + }, + "googleIpAddress": { + "type": "string", + "description": "[Output Only] IP address configured on the Google side of the Interconnect link. This can be used only for ping tests." + }, + "googleReferenceId": { + "type": "string", + "description": "[Output Only] Google reference ID; to be used when raising support tickets with Google or otherwise to debug backend connectivity issues." + }, + "id": { + "type": "string", + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64" + }, + "interconnectAttachments": { + "type": "array", + "description": "[Output Only] A list of the URLs of all InterconnectAttachments configured to use this Interconnect.", + "items": { + "type": "string" + } + }, + "interconnectType": { + "type": "string", + "enum": [ + "IT_PRIVATE" + ], + "enumDescriptions": [ + "" + ] + }, + "kind": { + "type": "string", + "description": "[Output Only] Type of the resource. Always compute#interconnect for interconnects.", + "default": "compute#interconnect" + }, + "linkType": { + "type": "string", + "enum": [ + "LINK_TYPE_ETHERNET_10G_LR" + ], + "enumDescriptions": [ + "" + ] + }, + "location": { + "type": "string", + "description": "URL of the InterconnectLocation object that represents where this connection is to be provisioned." + }, + "name": { + "type": "string", + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. 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.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "annotations": { + "required": [ + "compute.interconnects.insert" + ] + } + }, + "nocContactEmail": { + "type": "string", + "description": "Email address to contact the customer NOC for operations and maintenance notifications regarding this Interconnect. If specified, this will be used for notifications in addition to all other forms described, such as Stackdriver logs alerting and Cloud Notifications." + }, + "operationalStatus": { + "type": "string", + "description": "[Output Only] The current status of whether or not this Interconnect is functional.", + "enum": [ + "OS_ACTIVE", + "OS_UNPROVISIONED" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "peerIpAddress": { + "type": "string", + "description": "[Output Only] IP address configured on the customer side of the Interconnect link. The customer should configure this IP address during turnup when prompted by Google NOC. This can be used only for ping tests." + }, + "provisionedLinkCount": { + "type": "integer", + "description": "[Output Only] Number of links actually provisioned in this interconnect.", + "format": "int32" + }, + "requestedLinkCount": { + "type": "integer", + "description": "Target number of physical links in the link bundle, as requested by the customer.", + "format": "int32" + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server-defined URL for the resource." + } + } + }, + "InterconnectAttachment": { + "id": "InterconnectAttachment", + "type": "object", + "description": "Protocol definitions for Mixer API to support InterconnectAttachment. Next available tag: 18", + "properties": { + "cloudRouterIpAddress": { + "type": "string", + "description": "[Output Only] IPv4 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment." + }, + "creationTimestamp": { + "type": "string", + "description": "[Output Only] Creation timestamp in RFC3339 text format." + }, + "customerRouterIpAddress": { + "type": "string", + "description": "[Output Only] IPv4 address + prefix length to be configured on the customer router subinterface for this interconnect attachment." + }, + "description": { + "type": "string", + "description": "An optional description of this resource. Provide this property when you create the resource." + }, + "googleReferenceId": { + "type": "string", + "description": "[Output Only] Google reference ID, to be used when raising support tickets with Google or otherwise to debug backend connectivity issues." + }, + "id": { + "type": "string", + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64" + }, + "interconnect": { + "type": "string", + "description": "URL of the underlying Interconnect object that this attachment's traffic will traverse through." + }, + "kind": { + "type": "string", + "description": "[Output Only] Type of the resource. Always compute#interconnectAttachment for interconnect attachments.", + "default": "compute#interconnectAttachment" + }, + "name": { + "type": "string", + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. 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.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?" + }, + "operationalStatus": { + "type": "string", + "description": "[Output Only] The current status of whether or not this interconnect attachment is functional.", + "enum": [ + "OS_ACTIVE", + "OS_UNPROVISIONED" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "privateInterconnectInfo": { + "$ref": "InterconnectAttachmentPrivateInfo", + "description": "[Output Only] Information specific to a Private InterconnectAttachment. Only populated if the interconnect that this is attached is of type IT_PRIVATE." + }, + "region": { + "type": "string", + "description": "[Output Only] URL of the region where the regional interconnect attachment resides." + }, + "router": { + "type": "string", + "description": "URL of the cloud router to be used for dynamic routing. This router must be in the same region as this InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network & region within which the Cloud Router is configured." + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server-defined URL for the resource." + } + } + }, + "InterconnectAttachmentAggregatedList": { + "id": "InterconnectAttachmentAggregatedList", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server." + }, + "items": { + "type": "object", + "description": "A list of InterconnectAttachmentsScopedList resources.", + "additionalProperties": { + "$ref": "InterconnectAttachmentsScopedList", + "description": "Name of the scope containing this set of interconnect attachments." + } + }, + "kind": { + "type": "string", + "description": "[Output Only] Type of resource. Always compute#interconnectAttachmentAggregatedList for aggregated lists of interconnect attachments.", + "default": "compute#interconnectAttachmentAggregatedList" + }, + "nextPageToken": { + "type": "string", + "description": "[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 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." + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } + } + } + }, + "InterconnectAttachmentList": { + "id": "InterconnectAttachmentList", + "type": "object", + "description": "Response to the list request, and contains a list of interconnect attachments.", + "properties": { + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server." + }, + "items": { + "type": "array", + "description": "A list of InterconnectAttachment resources.", + "items": { + "$ref": "InterconnectAttachment" + } + }, + "kind": { + "type": "string", + "description": "[Output Only] Type of resource. Always compute#interconnectAttachmentList for lists of interconnect attachments.", + "default": "compute#interconnectAttachmentList" + }, + "nextPageToken": { + "type": "string", + "description": "[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 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." + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } + } + } + }, + "InterconnectAttachmentPrivateInfo": { + "id": "InterconnectAttachmentPrivateInfo", + "type": "object", + "description": "Private information for an interconnect attachment when this belongs to an interconnect of type IT_PRIVATE.", + "properties": { + "tag8021q": { + "type": "integer", + "description": "[Output Only] 802.1q encapsulation tag to be used for traffic between Google and the customer, going to and from this network and region.", + "format": "uint32" + } + } + }, + "InterconnectAttachmentsScopedList": { + "id": "InterconnectAttachmentsScopedList", + "type": "object", + "properties": { + "interconnectAttachments": { + "type": "array", + "description": "List of interconnect attachments contained in this scope.", + "items": { + "$ref": "InterconnectAttachment" + } + }, + "warning": { + "type": "object", + "description": "Informational warning which replaces the list of addresses when the list is empty.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } + } + } + }, + "InterconnectCircuitInfo": { + "id": "InterconnectCircuitInfo", + "type": "object", + "description": "Describes a single physical circuit between the Customer and Google. CircuitInfo objects are created by Google, so all fields are output only. Next id: 4", + "properties": { + "customerDemarcId": { + "type": "string", + "description": "Customer-side demarc ID for this circuit. This will only be set if it was provided by the Customer to Google during circuit turn-up." + }, + "googleCircuitId": { + "type": "string", + "description": "Google-assigned unique ID for this circuit. Assigned at circuit turn-up." + }, + "googleDemarcId": { + "type": "string", + "description": "Google-side demarc ID for this circuit. Assigned at circuit turn-up and provided by Google to the customer in the LOA." + } + } + }, + "InterconnectList": { + "id": "InterconnectList", + "type": "object", + "description": "Response to the list request, and contains a list of interconnects.", + "properties": { + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server." + }, + "items": { + "type": "array", + "description": "A list of Interconnect resources.", + "items": { + "$ref": "Interconnect" + } + }, + "kind": { + "type": "string", + "description": "[Output Only] Type of resource. Always compute#interconnectList for lists of interconnects.", + "default": "compute#interconnectList" + }, + "nextPageToken": { + "type": "string", + "description": "[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 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." + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } + } + } + }, + "InterconnectLocation": { + "id": "InterconnectLocation", + "type": "object", + "description": "Protocol definitions for Mixer API to support InterconnectLocation.", + "properties": { + "address": { + "type": "string", + "description": "[Output Only] The postal address of the Point of Presence, each line in the address is separated by a newline character." + }, + "availabilityZone": { + "type": "string", + "description": "Availability zone for this location. Within a city, maintenance will not be simultaneously scheduled in more than one availability zone. Example: \"zone1\" or \"zone2\"." + }, + "city": { + "type": "string", + "description": "City designator used by the Interconnect UI to locate this InterconnectLocation within the Continent. For example: \"Chicago, IL\", \"Amsterdam, Netherlands\"." + }, + "continent": { + "type": "string", + "description": "Continent for this location. Used by the location picker in the Interconnect UI.", + "enum": [ + "C_AFRICA", + "C_ASIA_PAC", + "C_EUROPE", + "C_NORTH_AMERICA", + "C_SOUTH_AMERICA" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ] + }, + "creationTimestamp": { + "type": "string", + "description": "[Output Only] Creation timestamp in RFC3339 text format." + }, + "description": { + "type": "string", + "description": "[Output Only] An optional description of the resource." + }, + "facilityProvider": { + "type": "string", + "description": "[Output Only] The name of the provider for this facility (e.g., EQUINIX)." + }, + "facilityProviderFacilityId": { + "type": "string", + "description": "[Output Only] A provider-assigned Identifier for this facility (e.g., Ashburn-DC1)." + }, + "id": { + "type": "string", + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64" + }, + "kind": { + "type": "string", + "description": "[Output Only] Type of the resource. Always compute#interconnectLocation for interconnect locations.", + "default": "compute#interconnectLocation" + }, + "name": { + "type": "string", + "description": "[Output Only] Name of the resource." + }, + "peeringdbFacilityId": { + "type": "string", + "description": "[Output Only] The peeringdb identifier for this facility (corresponding with a netfac type in peeringdb)." + }, + "regionInfos": { + "type": "array", + "description": "[Output Only] A list of InterconnectLocation.RegionInfo objects, that describe parameters pertaining to the relation between this InterconnectLocation and various Google Cloud regions.", + "items": { + "$ref": "InterconnectLocationRegionInfo" + } + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server-defined URL for the resource." + } + } + }, + "InterconnectLocationList": { + "id": "InterconnectLocationList", + "type": "object", + "description": "Response to the list request, and contains a list of interconnect locations.", + "properties": { + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server." + }, + "items": { + "type": "array", + "description": "A list of InterconnectLocation resources.", + "items": { + "$ref": "InterconnectLocation" + } + }, + "kind": { + "type": "string", + "description": "[Output Only] Type of resource. Always compute#interconnectLocationList for lists of interconnect locations.", + "default": "compute#interconnectLocationList" + }, + "nextPageToken": { + "type": "string", + "description": "[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 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." + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } + } + } + }, + "InterconnectLocationRegionInfo": { + "id": "InterconnectLocationRegionInfo", + "type": "object", + "description": "Information about any potential InterconnectAttachments between an Interconnect at a specific InterconnectLocation, and a specific Cloud Region.", + "properties": { + "expectedRttMs": { + "type": "string", + "description": "Expected round-trip time in milliseconds, from this InterconnectLocation to a VM in this region.", + "format": "int64" + }, + "locationPresence": { + "type": "string", + "description": "Identifies the network presence of this location.", + "enum": [ + "LP_GLOBAL", + "LP_LOCAL_REGION" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "region": { + "type": "string", + "description": "URL for the region of this location." + }, + "regionKey": { + "type": "string", + "description": "Scope key for the region of this location." + } + } + }, + "InterconnectOutageNotification": { + "id": "InterconnectOutageNotification", + "type": "object", + "description": "Description of a planned outage on this Interconnect. Next id: 9", + "properties": { + "affectedCircuits": { + "type": "array", + "description": "Iff issue_type is IT_PARTIAL_OUTAGE, a list of the Google-side circuit IDs that will be affected.", + "items": { + "type": "string" + } + }, + "description": { + "type": "string", + "description": "Short user-visible description of the purpose of the outage." + }, + "endTime": { + "type": "string", + "format": "int64" + }, + "issueType": { + "type": "string", + "enum": [ + "IT_OUTAGE", + "IT_PARTIAL_OUTAGE" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "name": { + "type": "string", + "description": "Unique identifier for this outage notification." + }, + "source": { + "type": "string", + "enum": [ + "NSRC_GOOGLE" + ], + "enumDescriptions": [ + "" + ] + }, + "startTime": { + "type": "string", + "description": "Scheduled start and end times for the outage (milliseconds since Unix epoch).", + "format": "int64" + }, + "state": { + "type": "string", + "enum": [ + "NS_ACTIVE", + "NS_CANCELED" + ], + "enumDescriptions": [ + "", + "" + ] + } + } + }, "License": { "id": "License", "type": "object", @@ -5133,6 +8384,10 @@ "counter": { "$ref": "LogConfigCounterOptions", "description": "Counter options." + }, + "dataAccess": { + "$ref": "LogConfigDataAccessOptions", + "description": "Data access options." } } }, @@ -5141,6 +8396,10 @@ "type": "object", "description": "Write a Cloud Audit log", "properties": { + "authorizationLoggingOptions": { + "$ref": "AuthorizationLoggingOptions", + "description": "Information used by the Cloud Audit Logging pipeline." + }, "logName": { "type": "string", "description": "The log_name to populate in the Cloud Audit Record.", @@ -5160,7 +8419,7 @@ "LogConfigCounterOptions": { "id": "LogConfigCounterOptions", "type": "object", - "description": "Options for counters", + "description": "Increment a streamz counter with the specified metric and field names.\n\nMetric names should start with a '/', generally be lowercase-only, and end in \"_count\". Field names should not contain an initial slash. The actual exported metric names will have \"/iam/policy\" prepended.\n\nField names correspond to IAM request parameters and field values are their respective values.\n\nAt present the only supported field names are - \"iam_principal\", corresponding to IAMContext.principal; - \"\" (empty string), resulting in one aggretated counter with no field.\n\nExamples: counter { metric: \"/debug_access_count\" field: \"iam_principal\" } ==\u003e increment counter /iam/policy/backend_debug_access_count {iam_principal=[value of IAMContext.principal]}\n\nAt this time we do not support: * multiple field names (though this may be supported in the future) * decrementing the counter * incrementing it by anything other than 1", "properties": { "field": { "type": "string", @@ -5172,6 +8431,25 @@ } } }, + "LogConfigDataAccessOptions": { + "id": "LogConfigDataAccessOptions", + "type": "object", + "description": "Write a Data Access (Gin) log", + "properties": { + "logMode": { + "type": "string", + "description": "Whether Gin logging should happen in a fail-closed manner at the caller. This is relevant only in the LocalIAM implementation, for now.", + "enum": [ + "LOG_FAIL_CLOSED", + "LOG_MODE_UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "" + ] + } + } + }, "MachineType": { "id": "MachineType", "type": "object", @@ -5244,11 +8522,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of scoped machine type lists.", + "description": "A list of MachineTypesScopedList resources.", "additionalProperties": { "$ref": "MachineTypesScopedList", "description": "[Output Only] Name of the scope containing this set of machine types." @@ -5266,6 +8544,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -5276,11 +8623,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Machine Type resources.", + "description": "A list of MachineType resources.", "items": { "$ref": "MachineType" } @@ -5297,6 +8644,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -5397,7 +8813,8 @@ "NONE", "RECREATING", "REFRESHING", - "RESTARTING" + "RESTARTING", + "VERIFYING" ], "enumDescriptions": [ "", @@ -5407,6 +8824,7 @@ "", "", "", + "", "" ] }, @@ -5529,7 +8947,7 @@ }, "value": { "type": "string", - "description": "Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.", + "description": "Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 262144 bytes (256 KiB).", "annotations": { "required": [ "compute.instances.insert", @@ -5617,6 +9035,10 @@ "$ref": "NetworkPeering" } }, + "routingConfig": { + "$ref": "NetworkRoutingConfig", + "description": "The network-level routing configuration for this network. Used by Cloud Router to determine what type of network-wide routing behavior to enforce." + }, "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for the resource." @@ -5649,6 +9071,11 @@ "$ref": "AliasIpRange" } }, + "fingerprint": { + "type": "string", + "description": "Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface.", + "format": "byte" + }, "kind": { "type": "string", "description": "[Output Only] Type of the resource. Always compute#networkInterface for network interfaces.", @@ -5679,11 +9106,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Network resources.", + "description": "A list of Network resources.", "items": { "$ref": "Network" } @@ -5700,6 +9127,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -5738,6 +9234,25 @@ } } }, + "NetworkRoutingConfig": { + "id": "NetworkRoutingConfig", + "type": "object", + "description": "A routing configuration attached to a network resource. The message includes the list of routers associated with the network, and a flag indicating the type of routing behavior to enforce network-wide.", + "properties": { + "routingMode": { + "type": "string", + "description": "The network-wide routing mode to use. If set to REGIONAL, this network's cloud routers will only advertise routes with subnetworks of this network in the same region as the router. If set to GLOBAL, this network's cloud routers will advertise routes with all subnetworks of this network, across regions.", + "enum": [ + "GLOBAL", + "REGIONAL" + ], + "enumDescriptions": [ + "", + "" + ] + } + } + }, "NetworksAddPeeringRequest": { "id": "NetworksAddPeeringRequest", "type": "object", @@ -5999,6 +9514,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -6030,6 +9614,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -6260,7 +9913,7 @@ }, "xpnProjectStatus": { "type": "string", - "description": "[Output Only] The role this project has in a Cross Project Network (XPN) configuration. Currently only HOST projects are differentiated.", + "description": "[Output Only] The role this project has in a shared VPC configuration. Currently only HOST projects are differentiated.", "enum": [ "HOST", "UNSPECIFIED_XPN_PROJECT_STATUS" @@ -6278,7 +9931,7 @@ "properties": { "xpnResource": { "$ref": "XpnResourceId", - "description": "XPN resource ID." + "description": "Service resource (a.k.a service project) ID." } } }, @@ -6288,7 +9941,7 @@ "properties": { "xpnResource": { "$ref": "XpnResourceId", - "description": "XPN resource ID." + "description": "Service resource (a.k.a service project) ID." } } }, @@ -6298,7 +9951,7 @@ "properties": { "kind": { "type": "string", - "description": "[Output Only] Type of resource. Always compute#projectsGetXpnResources for lists of XPN resources.", + "description": "[Output Only] Type of resource. Always compute#projectsGetXpnResources for lists of service resources (a.k.a service projects)", "default": "compute#projectsGetXpnResources" }, "nextPageToken": { @@ -6307,7 +9960,7 @@ }, "resources": { "type": "array", - "description": "XPN resources attached to this project as their XPN host.", + "description": "Service resources (a.k.a service projects) attached to this project as their shared VPC host.", "items": { "$ref": "XpnResourceId" } @@ -6320,7 +9973,7 @@ "properties": { "organization": { "type": "string", - "description": "Optional organization ID managed by Cloud Resource Manager, for which to list XPN host projects. If not specified, the organization will be inferred from the project." + "description": "Optional organization ID managed by Cloud Resource Manager, for which to list shared VPC host projects. If not specified, the organization will be inferred from the project." } } }, @@ -6353,15 +10006,20 @@ "INSTANCE_GROUPS", "INSTANCE_GROUP_MANAGERS", "INSTANCE_TEMPLATES", + "INTERCONNECTS", "IN_USE_ADDRESSES", "LOCAL_SSD_TOTAL_GB", "NETWORKS", "NVIDIA_K80_GPUS", + "NVIDIA_P100_GPUS", "PREEMPTIBLE_CPUS", + "PREEMPTIBLE_LOCAL_SSD_GB", "REGIONAL_AUTOSCALERS", "REGIONAL_INSTANCE_GROUP_MANAGERS", "ROUTERS", "ROUTES", + "SECURITY_POLICIES", + "SECURITY_POLICY_RULES", "SNAPSHOTS", "SSD_TOTAL_GB", "SSL_CERTIFICATES", @@ -6372,6 +10030,7 @@ "TARGET_INSTANCES", "TARGET_POOLS", "TARGET_SSL_PROXIES", + "TARGET_TCP_PROXIES", "TARGET_VPN_GATEWAYS", "URL_MAPS", "VPN_TUNNELS" @@ -6413,6 +10072,12 @@ "", "", "", + "", + "", + "", + "", + "", + "", "" ] }, @@ -6517,11 +10182,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "A list of autoscalers.", + "description": "A list of Autoscaler resources.", "items": { "$ref": "Autoscaler" } @@ -6533,11 +10198,80 @@ }, "nextPageToken": { "type": "string", - "description": "[Output Only] A token used to continue a truncated list request." + "description": "[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 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." }, "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -6548,7 +10282,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -6568,7 +10302,76 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] The URL for this resource type. The server generates this URL." + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -6579,11 +10382,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "A list of managed instance groups.", + "description": "A list of InstanceGroupManager resources.", "items": { "$ref": "InstanceGroupManager" } @@ -6595,11 +10398,80 @@ }, "nextPageToken": { "type": "string", - "description": "[Output only] A token used to continue a truncated list request." + "description": "[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 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." }, "selfLink": { "type": "string", - "description": "[Output only] The URL for this resource type. The server generates this URL." + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -6705,11 +10577,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource. Defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "A list of instances and any named ports that are assigned to those instances.", + "description": "A list of InstanceWithNamedPorts resources.", "items": { "$ref": "InstanceWithNamedPorts" } @@ -6725,7 +10597,76 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server-defined URL for the resource." + "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -6777,11 +10718,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Region resources.", + "description": "A list of Region resources.", "items": { "$ref": "Region" } @@ -6798,6 +10739,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -7037,11 +11047,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource. Defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Route resources.", + "description": "A list of Route resources.", "items": { "$ref": "Route" } @@ -7058,6 +11068,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -7138,11 +11217,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "A map of scoped router lists.", + "description": "A list of Router resources.", "additionalProperties": { "$ref": "RoutersScopedList", "description": "Name of the scope containing this set of routers." @@ -7160,6 +11239,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -7215,6 +11363,10 @@ "type": "string", "description": "IP address and range of the interface. The IP range must be in the RFC3927 link-local IP space. The value must be a CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP address of the interface." }, + "linkedInterconnectAttachment": { + "type": "string", + "description": "URI of the linked interconnect attachment. It must be in the same region as the router. Each interface can have at most one linked resource and it could either be a VPN Tunnel or an interconnect attachment." + }, "linkedVpnTunnel": { "type": "string", "description": "URI of the linked VPN tunnel. It must be in the same region as the router. Each interface can have at most one linked resource and it could either be a VPN Tunnel or an interconnect attachment." @@ -7233,7 +11385,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -7254,6 +11406,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -7581,6 +11802,203 @@ } } }, + "SecurityPolicy": { + "id": "SecurityPolicy", + "type": "object", + "description": "A security policy is comprised of one or more rules. It can also be associated with one or more 'targets'.", + "properties": { + "creationTimestamp": { + "type": "string", + "description": "[Output Only] Creation timestamp in RFC3339 text format." + }, + "description": { + "type": "string", + "description": "An optional description of this resource. Provide this property when you create the resource." + }, + "fingerprint": { + "type": "string", + "description": "Specifies a fingerprint for this resource, which is essentially a hash of the metadata's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata.\n\nTo see the latest fingerprint, make get() request to the security policy.", + "format": "byte" + }, + "id": { + "type": "string", + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64" + }, + "kind": { + "type": "string", + "description": "[Output only] Type of the resource. Always compute#securityPolicyfor security policies", + "default": "compute#securityPolicy" + }, + "name": { + "type": "string", + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. 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.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?" + }, + "rules": { + "type": "array", + "description": "List of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match \"*\"). If no rules are provided when creating a security policy, a default rule with action \"allow\" will be added.", + "items": { + "$ref": "SecurityPolicyRule" + } + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server-defined URL for the resource." + } + } + }, + "SecurityPolicyList": { + "id": "SecurityPolicyList", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server." + }, + "items": { + "type": "array", + "description": "A list of SecurityPolicy resources.", + "items": { + "$ref": "SecurityPolicy" + } + }, + "kind": { + "type": "string", + "description": "[Output Only] Type of resource. Always compute#securityPolicyList for listsof securityPolicies", + "default": "compute#securityPolicyList" + }, + "nextPageToken": { + "type": "string", + "description": "[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 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." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } + } + } + }, + "SecurityPolicyReference": { + "id": "SecurityPolicyReference", + "type": "object", + "properties": { + "securityPolicy": { + "type": "string" + } + } + }, + "SecurityPolicyRule": { + "id": "SecurityPolicyRule", + "type": "object", + "description": "Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).", + "properties": { + "action": { + "type": "string", + "description": "The Action to preform when the client connection triggers the rule. Can currently be either \"allow\" or \"deny()\" where valid values for status are 403, 404, and 502." + }, + "description": { + "type": "string", + "description": "An optional description of this resource. Provide this property when you create the resource." + }, + "kind": { + "type": "string", + "description": "[Output only] Type of the resource. Always compute#securityPolicyRule for security policy rules", + "default": "compute#securityPolicyRule" + }, + "match": { + "$ref": "SecurityPolicyRuleMatcher", + "description": "A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding ?action? is enforced." + }, + "preview": { + "type": "boolean", + "description": "If set to true, the specified action is not enforced." + }, + "priority": { + "type": "integer", + "description": "An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated in the increasing order of priority.", + "format": "int32" + } + } + }, + "SecurityPolicyRuleMatcher": { + "id": "SecurityPolicyRuleMatcher", + "type": "object", + "description": "Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified.", + "properties": { + "srcIpRanges": { + "type": "array", + "description": "CIDR IP address range. Only IPv4 is supported.", + "items": { + "type": "string" + } + } + } + }, "SerialPortOutput": { "id": "SerialPortOutput", "type": "object", @@ -7721,7 +12139,7 @@ }, "storageBytes": { "type": "string", - "description": "[Output Only] A size of the the storage used by the snapshot. As snapshots share storage, this number is expected to change with snapshot creation/deletion.", + "description": "[Output Only] A size of the storage used by the snapshot. As snapshots share storage, this number is expected to change with snapshot creation/deletion.", "format": "int64" }, "storageBytesStatus": { @@ -7745,11 +12163,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Snapshot resources.", + "description": "A list of Snapshot resources.", "items": { "$ref": "Snapshot" } @@ -7766,6 +12184,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -7818,7 +12305,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource. Defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -7839,6 +12326,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -7847,6 +12403,10 @@ "type": "object", "description": "A Subnetwork resource.", "properties": { + "allowSubnetCidrRoutesOverlap": { + "type": "boolean", + "description": "Whether this subnetwork can conflict with static routes. Setting this to true allows this subnetwork's primary and secondary ranges to conflict with routes that have already been configured on the corresponding network. Static routes will take precedence over the subnetwork route if the route prefix length is at least as large as the subnetwork prefix length.\n\nAlso, packets destined to IPs within subnetwork may contain private/sensitive data and are prevented from leaving the virtual network. Setting this field to true will disable this feature.\n\nThe default value is false and applies to all existing subnetworks and automatically created subnetworks.\n\nThis field cannot be set to true at resource creation time." + }, "creationTimestamp": { "type": "string", "description": "[Output Only] Creation timestamp in RFC3339 text format." @@ -7855,6 +12415,11 @@ "type": "string", "description": "An optional description of this resource. Provide this property when you create the resource. This field can be set only at resource creation time." }, + "fingerprint": { + "type": "string", + "description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date fingerprint must be provided in order to update the Subnetwork.", + "format": "byte" + }, "gatewayAddress": { "type": "string", "description": "[Output Only] The gateway address for default routes to reach destination addresses outside this subnetwork. This field can be set only at resource creation time." @@ -7909,11 +12474,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output] A map of scoped Subnetwork lists.", + "description": "A list of SubnetworksScopedList resources.", "additionalProperties": { "$ref": "SubnetworksScopedList", "description": "Name of the scope containing this set of Subnetworks." @@ -7931,6 +12496,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -7941,11 +12575,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "The Subnetwork resources.", + "description": "A list of Subnetwork resources.", "items": { "$ref": "Subnetwork" } @@ -7962,6 +12596,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -8180,7 +12883,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -8201,6 +12904,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -8269,7 +13041,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -8290,6 +13062,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -8355,7 +13196,7 @@ }, "items": { "type": "object", - "description": "A map of scoped target instance lists.", + "description": "A list of TargetInstance resources.", "additionalProperties": { "$ref": "TargetInstancesScopedList", "description": "Name of the scope containing this set of target instances." @@ -8373,6 +13214,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -8383,7 +13293,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -8404,6 +13314,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -8574,11 +13553,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource. Defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of scoped target pool lists.", + "description": "A list of TargetPool resources.", "additionalProperties": { "$ref": "TargetPoolsScopedList", "description": "Name of the scope containing this set of target pools." @@ -8596,6 +13575,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -8623,7 +13671,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource. Defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -8644,6 +13692,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -8895,7 +14012,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -8916,6 +14033,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -9004,7 +14190,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -9025,6 +14211,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -9116,11 +14371,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "A map of scoped target vpn gateway lists.", + "description": "A list of TargetVpnGateway resources.", "additionalProperties": { "$ref": "TargetVpnGatewaysScopedList", "description": "[Output Only] Name of the scope containing this set of target VPN gateways." @@ -9138,6 +14393,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -9148,11 +14472,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of TargetVpnGateway resources.", + "description": "A list of TargetVpnGateway resources.", "items": { "$ref": "TargetVpnGateway" } @@ -9169,6 +14493,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -9392,7 +14785,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource. Set by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -9413,6 +14806,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -9637,11 +15099,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of scoped vpn tunnel lists.", + "description": "A list of VpnTunnelsScopedList resources.", "additionalProperties": { "$ref": "VpnTunnelsScopedList", "description": "Name of the scope containing this set of vpn tunnels." @@ -9659,6 +15121,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -9669,11 +15200,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of VpnTunnel resources.", + "description": "A list of VpnTunnel resources.", "items": { "$ref": "VpnTunnel" } @@ -9690,6 +15221,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -9781,18 +15381,18 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of XPN host project URLs.", + "description": "[Output Only] A list of shared VPC host project URLs.", "items": { "$ref": "Project" } }, "kind": { "type": "string", - "description": "[Output Only] Type of resource. Always compute#xpnHostList for lists of XPN hosts.", + "description": "[Output Only] Type of resource. Always compute#xpnHostList for lists of shared VPC hosts.", "default": "compute#xpnHostList" }, "nextPageToken": { @@ -9802,21 +15402,90 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, "XpnResourceId": { "id": "XpnResourceId", "type": "object", - "description": "XpnResourceId", + "description": "Service resource (a.k.a service project) ID.", "properties": { "id": { "type": "string", - "description": "The ID of the XPN resource. In the case of projects, this field matches the project's name, not the canonical ID." + "description": "The ID of the service resource. In the case of projects, this field matches the project ID (e.g., my-project), not the project number (e.g., 12345678)." }, "type": { "type": "string", - "description": "The type of the XPN resource.", + "description": "The type of the service resource.", "enum": [ "PROJECT", "XPN_RESOURCE_TYPE_UNSPECIFIED" @@ -9899,7 +15568,7 @@ }, "items": { "type": "array", - "description": "[Output Only] A list of Zone resources.", + "description": "A list of Zone resources.", "items": { "$ref": "Zone" } @@ -9916,6 +15585,75 @@ "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for this resource." + }, + "warning": { + "type": "object", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[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)." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] A human-readable description of the warning code." + } + } } } }, @@ -10705,8 +16443,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "testIamPermissions": { @@ -10997,8 +16734,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "update": { @@ -11323,8 +17059,47 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" + ] + }, + "setSecurityPolicy": { + "id": "compute.backendServices.setSecurityPolicy", + "path": "{project}/global/backendServices/{backendService}/setSecurityPolicy", + "httpMethod": "POST", + "description": "Sets the security policy for the specified backend service.", + "parameters": { + "backendService": { + "type": "string", + "description": "Name of the BackendService resource to which the security policy should be set. The name should conform to RFC1035.", + "required": true, + "location": "path" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + } + }, + "parameterOrder": [ + "project", + "backendService" + ], + "request": { + "$ref": "SecurityPolicyReference" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" ] }, "testIamPermissions": { @@ -11344,7 +17119,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -12192,8 +17967,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "testIamPermissions": { @@ -12213,7 +17987,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -12867,7 +18641,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -13139,7 +18913,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -13521,8 +19295,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "testIamPermissions": { @@ -13542,7 +19315,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -13799,8 +19572,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "testIamPermissions": { @@ -13820,7 +19592,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -14077,8 +19849,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "testIamPermissions": { @@ -14098,7 +19869,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -14223,7 +19994,7 @@ }, "requestId": { "type": "string", - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and then the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "location": "query" } }, @@ -14453,7 +20224,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -14903,8 +20674,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "recreateInstances": { @@ -15946,7 +21716,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -17229,6 +22999,725 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] + }, + "updateAccessConfig": { + "id": "compute.instances.updateAccessConfig", + "path": "{project}/zones/{zone}/instances/{instance}/updateAccessConfig", + "httpMethod": "POST", + "description": "Updates the specified access config from an instance's network interface with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", + "parameters": { + "instance": { + "type": "string", + "description": "The instance name for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "networkInterface": { + "type": "string", + "description": "The name of the network interface where the access config is attached.", + "required": true, + "location": "query" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, + "zone": { + "type": "string", + "description": "The name of the zone for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "zone", + "instance", + "networkInterface" + ], + "request": { + "$ref": "AccessConfig" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "updateNetworkInterface": { + "id": "compute.instances.updateNetworkInterface", + "path": "{project}/zones/{zone}/instances/{instance}/updateNetworkInterface", + "httpMethod": "PATCH", + "description": "Updates an instance's network interface. This method follows PATCH semantics.", + "parameters": { + "instance": { + "type": "string", + "description": "The instance name for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "networkInterface": { + "type": "string", + "description": "The name of the network interface to update.", + "required": true, + "location": "query" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, + "zone": { + "type": "string", + "description": "The name of the zone for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "zone", + "instance", + "networkInterface" + ], + "request": { + "$ref": "NetworkInterface" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + } + } + }, + "interconnectAttachments": { + "methods": { + "aggregatedList": { + "id": "compute.interconnectAttachments.aggregatedList", + "path": "{project}/aggregated/interconnectAttachments", + "httpMethod": "GET", + "description": "Retrieves an aggregated list of interconnect attachments.", + "parameters": { + "filter": { + "type": "string", + "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "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)", + "default": "500", + "format": "uint32", + "minimum": "0", + "location": "query" + }, + "orderBy": { + "type": "string", + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "location": "query" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project" + ], + "response": { + "$ref": "InterconnectAttachmentAggregatedList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "delete": { + "id": "compute.interconnectAttachments.delete", + "path": "{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", + "httpMethod": "DELETE", + "description": "Deletes the specified interconnect attachment.", + "parameters": { + "interconnectAttachment": { + "type": "string", + "description": "Name of the interconnect attachment to delete.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "region": { + "type": "string", + "description": "Name of the region for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + } + }, + "parameterOrder": [ + "project", + "region", + "interconnectAttachment" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "id": "compute.interconnectAttachments.get", + "path": "{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", + "httpMethod": "GET", + "description": "Returns the specified interconnect attachment.", + "parameters": { + "interconnectAttachment": { + "type": "string", + "description": "Name of the interconnect attachment to return.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "region": { + "type": "string", + "description": "Name of the region for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "region", + "interconnectAttachment" + ], + "response": { + "$ref": "InterconnectAttachment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "id": "compute.interconnectAttachments.insert", + "path": "{project}/regions/{region}/interconnectAttachments", + "httpMethod": "POST", + "description": "Creates an InterconnectAttachment in the specified project using the data included in the request.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "region": { + "type": "string", + "description": "Name of the region for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + } + }, + "parameterOrder": [ + "project", + "region" + ], + "request": { + "$ref": "InterconnectAttachment" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "id": "compute.interconnectAttachments.list", + "path": "{project}/regions/{region}/interconnectAttachments", + "httpMethod": "GET", + "description": "Retrieves the list of interconnect attachments contained within the specified region.", + "parameters": { + "filter": { + "type": "string", + "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "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)", + "default": "500", + "format": "uint32", + "minimum": "0", + "location": "query" + }, + "orderBy": { + "type": "string", + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "location": "query" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "region": { + "type": "string", + "description": "Name of the region for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "region" + ], + "response": { + "$ref": "InterconnectAttachmentList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "testIamPermissions": { + "id": "compute.interconnectAttachments.testIamPermissions", + "path": "{project}/regions/{region}/interconnectAttachments/{resource}/testIamPermissions", + "httpMethod": "POST", + "description": "Returns permissions that a caller has on the specified resource.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "region": { + "type": "string", + "description": "The name of the region for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "resource": { + "type": "string", + "description": "Name of the resource for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "region", + "resource" + ], + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, + "interconnectLocations": { + "methods": { + "get": { + "id": "compute.interconnectLocations.get", + "path": "{project}/global/interconnectLocations/{interconnectLocation}", + "httpMethod": "GET", + "description": "Returns the details for the specified interconnect location. Get a list of available interconnect locations by making a list() request.", + "parameters": { + "interconnectLocation": { + "type": "string", + "description": "Name of the interconnect location to return.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "interconnectLocation" + ], + "response": { + "$ref": "InterconnectLocation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "list": { + "id": "compute.interconnectLocations.list", + "path": "{project}/global/interconnectLocations", + "httpMethod": "GET", + "description": "Retrieves the list of interconnect locations available to the specified project.", + "parameters": { + "filter": { + "type": "string", + "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "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)", + "default": "500", + "format": "uint32", + "minimum": "0", + "location": "query" + }, + "orderBy": { + "type": "string", + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "location": "query" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project" + ], + "response": { + "$ref": "InterconnectLocationList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, + "interconnects": { + "methods": { + "delete": { + "id": "compute.interconnects.delete", + "path": "{project}/global/interconnects/{interconnect}", + "httpMethod": "DELETE", + "description": "Deletes the specified interconnect.", + "parameters": { + "interconnect": { + "type": "string", + "description": "Name of the interconnect to delete.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + } + }, + "parameterOrder": [ + "project", + "interconnect" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "id": "compute.interconnects.get", + "path": "{project}/global/interconnects/{interconnect}", + "httpMethod": "GET", + "description": "Returns the specified interconnect. Get a list of available interconnects by making a list() request.", + "parameters": { + "interconnect": { + "type": "string", + "description": "Name of the interconnect to return.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "interconnect" + ], + "response": { + "$ref": "Interconnect" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "id": "compute.interconnects.insert", + "path": "{project}/global/interconnects", + "httpMethod": "POST", + "description": "Creates a Interconnect in the specified project using the data included in the request.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + } + }, + "parameterOrder": [ + "project" + ], + "request": { + "$ref": "Interconnect" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "id": "compute.interconnects.list", + "path": "{project}/global/interconnects", + "httpMethod": "GET", + "description": "Retrieves the list of interconnect available to the specified project.", + "parameters": { + "filter": { + "type": "string", + "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "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)", + "default": "500", + "format": "uint32", + "minimum": "0", + "location": "query" + }, + "orderBy": { + "type": "string", + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "location": "query" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project" + ], + "response": { + "$ref": "InterconnectList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "patch": { + "id": "compute.interconnects.patch", + "path": "{project}/global/interconnects/{interconnect}", + "httpMethod": "PATCH", + "description": "Updates the specified interconnect with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", + "parameters": { + "interconnect": { + "type": "string", + "description": "Name of the interconnect to update.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + } + }, + "parameterOrder": [ + "project", + "interconnect" + ], + "request": { + "$ref": "Interconnect" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "testIamPermissions": { + "id": "compute.interconnects.testIamPermissions", + "path": "{project}/global/interconnects/{resource}/testIamPermissions", + "httpMethod": "POST", + "description": "Returns permissions that a caller has on the specified resource.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "resource": { + "type": "string", + "description": "Name of the resource for this request.", + "required": true, + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "resource" + ], + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] } } }, @@ -17619,6 +24108,47 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "patch": { + "id": "compute.networks.patch", + "path": "{project}/global/networks/{network}", + "httpMethod": "PATCH", + "description": "Patches the specified network with the data included in the request.", + "parameters": { + "network": { + "type": "string", + "description": "Name of the network to update.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + } + }, + "parameterOrder": [ + "project", + "network" + ], + "request": { + "$ref": "Network" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "removePeering": { "id": "compute.networks.removePeering", "path": "{project}/global/networks/{network}/removePeering", @@ -17715,7 +24245,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -17743,7 +24273,7 @@ "id": "compute.projects.disableXpnHost", "path": "{project}/disableXpnHost", "httpMethod": "POST", - "description": "Disable this project as an XPN host project.", + "description": "Disable this project as a shared VPC host project.", "parameters": { "project": { "type": "string", @@ -17773,7 +24303,7 @@ "id": "compute.projects.disableXpnResource", "path": "{project}/disableXpnResource", "httpMethod": "POST", - "description": "Disable an XPN resource associated with this host project.", + "description": "Disable a serivce resource (a.k.a service project) associated with this host project.", "parameters": { "project": { "type": "string", @@ -17806,7 +24336,7 @@ "id": "compute.projects.enableXpnHost", "path": "{project}/enableXpnHost", "httpMethod": "POST", - "description": "Enable this project as an XPN host project.", + "description": "Enable this project as a shared VPC host project.", "parameters": { "project": { "type": "string", @@ -17836,7 +24366,7 @@ "id": "compute.projects.enableXpnResource", "path": "{project}/enableXpnResource", "httpMethod": "POST", - "description": "Enable XPN resource (a.k.a service project or service folder in the future) for a host project, so that subnetworks in the host project can be used by instances in the service project or folder.", + "description": "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.", "parameters": { "project": { "type": "string", @@ -17895,7 +24425,7 @@ "id": "compute.projects.getXpnHost", "path": "{project}/getXpnHost", "httpMethod": "GET", - "description": "Get the XPN host project that this project links to. May be empty if no link exists.", + "description": "Get the shared VPC host project that this project links to. May be empty if no link exists.", "parameters": { "project": { "type": "string", @@ -17920,7 +24450,7 @@ "id": "compute.projects.getXpnResources", "path": "{project}/getXpnResources", "httpMethod": "GET", - "description": "Get XPN resources associated with this host project.", + "description": "Get service resources (a.k.a service project) associated with this host project.", "parameters": { "filter": { "type": "string", @@ -17964,7 +24494,7 @@ "id": "compute.projects.listXpnHosts", "path": "{project}/listXpnHosts", "httpMethod": "POST", - "description": "List all XPN host projects visible to the user in an organization.", + "description": "List all shared VPC host projects visible to the user in an organization.", "parameters": { "filter": { "type": "string", @@ -18360,7 +24890,7 @@ }, "requestId": { "type": "string", - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and then the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "location": "query" } }, @@ -18376,8 +24906,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "testIamPermissions": { @@ -18453,7 +24982,7 @@ }, "requestId": { "type": "string", - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and then the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "location": "query" } }, @@ -18752,8 +25281,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "testIamPermissions": { @@ -19424,8 +25952,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "recreateInstances": { @@ -20532,7 +27059,7 @@ "id": "compute.routers.patch", "path": "{project}/regions/{region}/routers/{router}", "httpMethod": "PATCH", - "description": "Patches the specified Router resource with the data included in the request. This method supports patch semantics.", + "description": "Patches the specified Router resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", "parameters": { "project": { "type": "string", @@ -20574,8 +27101,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "preview": { @@ -20892,7 +27418,243 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "resource" + ], + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, + "securityPolicies": { + "methods": { + "delete": { + "id": "compute.securityPolicies.delete", + "path": "{project}/global/securityPolicies/{securityPolicy}", + "httpMethod": "DELETE", + "description": "Deletes the specified policy.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, + "securityPolicy": { + "type": "string", + "description": "Name of the security policy to delete.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "securityPolicy" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "id": "compute.securityPolicies.get", + "path": "{project}/global/securityPolicies/{securityPolicy}", + "httpMethod": "GET", + "description": "List all of the ordered rules present in a single specified policy.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "securityPolicy": { + "type": "string", + "description": "Name of the security policy to get.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "securityPolicy" + ], + "response": { + "$ref": "SecurityPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "id": "compute.securityPolicies.insert", + "path": "{project}/global/securityPolicies", + "httpMethod": "POST", + "description": "Creates a new policy in the specified project using the data included in the request.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + } + }, + "parameterOrder": [ + "project" + ], + "request": { + "$ref": "SecurityPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "id": "compute.securityPolicies.list", + "path": "{project}/global/securityPolicies", + "httpMethod": "GET", + "description": "List all the policies that have been configured for the specified project.", + "parameters": { + "filter": { + "type": "string", + "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "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)", + "default": "500", + "format": "uint32", + "minimum": "0", + "location": "query" + }, + "orderBy": { + "type": "string", + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.", + "location": "query" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project" + ], + "response": { + "$ref": "SecurityPolicyList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "patch": { + "id": "compute.securityPolicies.patch", + "path": "{project}/global/securityPolicies/{securityPolicy}", + "httpMethod": "PATCH", + "description": "Patches the specified policy with the data included in the request.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, + "securityPolicy": { + "type": "string", + "description": "Name of the security policy to update.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "securityPolicy" + ], + "request": { + "$ref": "SecurityPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "testIamPermissions": { + "id": "compute.securityPolicies.testIamPermissions", + "path": "{project}/global/securityPolicies/{resource}/testIamPermissions", + "httpMethod": "POST", + "description": "Returns permissions that a caller has on the specified resource.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "resource": { + "type": "string", + "description": "Name of the resource for this request.", + "required": true, + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -21090,7 +27852,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -21285,7 +28047,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -21635,6 +28397,55 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "patch": { + "id": "compute.subnetworks.patch", + "path": "{project}/regions/{region}/subnetworks/{subnetwork}", + "httpMethod": "PATCH", + "description": "Patches the specified subnetwork with the data included in the request. Only the following fields within the subnetwork resource can be specified in the request: secondary_ip_range and allow_subnet_cidr_routes_overlap. It is also mandatory to specify the current fingeprint of the subnetwork resource being patched.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "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])?))", + "location": "path" + }, + "region": { + "type": "string", + "description": "Name of the region scoping this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, + "subnetwork": { + "type": "string", + "description": "Name of the Subnetwork resource to patch.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "region", + "subnetwork" + ], + "request": { + "$ref": "Subnetwork" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "setIamPolicy": { "id": "compute.subnetworks.setIamPolicy", "path": "{project}/regions/{region}/subnetworks/{resource}/setIamPolicy", @@ -21989,7 +28800,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -22266,7 +29077,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -23448,7 +30259,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, @@ -24229,8 +31040,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "testIamPermissions": { @@ -24250,7 +31060,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, diff --git a/vendor/google.golang.org/api/compute/v0.beta/compute-gen.go b/vendor/google.golang.org/api/compute/v0.beta/compute-gen.go index 7ddf424a9..71f1cfb7b 100644 --- a/vendor/google.golang.org/api/compute/v0.beta/compute-gen.go +++ b/vendor/google.golang.org/api/compute/v0.beta/compute-gen.go @@ -91,6 +91,9 @@ func New(client *http.Client) (*Service, error) { s.InstanceGroups = NewInstanceGroupsService(s) s.InstanceTemplates = NewInstanceTemplatesService(s) s.Instances = NewInstancesService(s) + s.InterconnectAttachments = NewInterconnectAttachmentsService(s) + s.InterconnectLocations = NewInterconnectLocationsService(s) + s.Interconnects = NewInterconnectsService(s) s.Licenses = NewLicensesService(s) s.MachineTypes = NewMachineTypesService(s) s.Networks = NewNetworksService(s) @@ -104,6 +107,7 @@ func New(client *http.Client) (*Service, error) { s.Regions = NewRegionsService(s) s.Routers = NewRoutersService(s) s.Routes = NewRoutesService(s) + s.SecurityPolicies = NewSecurityPoliciesService(s) s.Snapshots = NewSnapshotsService(s) s.SslCertificates = NewSslCertificatesService(s) s.Subnetworks = NewSubnetworksService(s) @@ -166,6 +170,12 @@ type Service struct { Instances *InstancesService + InterconnectAttachments *InterconnectAttachmentsService + + InterconnectLocations *InterconnectLocationsService + + Interconnects *InterconnectsService + Licenses *LicensesService MachineTypes *MachineTypesService @@ -192,6 +202,8 @@ type Service struct { Routes *RoutesService + SecurityPolicies *SecurityPoliciesService + Snapshots *SnapshotsService SslCertificates *SslCertificatesService @@ -408,6 +420,33 @@ type InstancesService struct { s *Service } +func NewInterconnectAttachmentsService(s *Service) *InterconnectAttachmentsService { + rs := &InterconnectAttachmentsService{s: s} + return rs +} + +type InterconnectAttachmentsService struct { + s *Service +} + +func NewInterconnectLocationsService(s *Service) *InterconnectLocationsService { + rs := &InterconnectLocationsService{s: s} + return rs +} + +type InterconnectLocationsService struct { + s *Service +} + +func NewInterconnectsService(s *Service) *InterconnectsService { + rs := &InterconnectsService{s: s} + return rs +} + +type InterconnectsService struct { + s *Service +} + func NewLicensesService(s *Service) *LicensesService { rs := &LicensesService{s: s} return rs @@ -525,6 +564,15 @@ type RoutesService struct { s *Service } +func NewSecurityPoliciesService(s *Service) *SecurityPoliciesService { + rs := &SecurityPoliciesService{s: s} + return rs +} + +type SecurityPoliciesService struct { + s *Service +} + func NewSnapshotsService(s *Service) *SnapshotsService { rs := &SnapshotsService{s: s} return rs @@ -752,11 +800,11 @@ func (s *AcceleratorType) MarshalJSON() ([]byte, error) { } type AcceleratorTypeAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped accelerator type lists. + // Items: A list of AcceleratorTypesScopedList resources. Items map[string]AcceleratorTypesScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -775,6 +823,9 @@ type AcceleratorTypeAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *AcceleratorTypeAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -802,6 +853,102 @@ func (s *AcceleratorTypeAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AcceleratorTypeAggregatedListWarning: [Output Only] Informational +// warning message. +type AcceleratorTypeAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*AcceleratorTypeAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AcceleratorTypeAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod AcceleratorTypeAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type AcceleratorTypeAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AcceleratorTypeAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod AcceleratorTypeAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // AcceleratorTypeList: Contains a list of accelerator types. type AcceleratorTypeList struct { // Id: [Output Only] Unique identifier for the resource; defined by the @@ -815,13 +962,20 @@ type AcceleratorTypeList struct { // compute#acceleratorTypeList for lists of accelerator types. Kind string `json:"kind,omitempty"` - // NextPageToken: [Output Only] A token used to continue a truncated - // 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 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] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *AcceleratorTypeListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -849,6 +1003,102 @@ func (s *AcceleratorTypeList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AcceleratorTypeListWarning: [Output Only] Informational warning +// message. +type AcceleratorTypeListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*AcceleratorTypeListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AcceleratorTypeListWarning) MarshalJSON() ([]byte, error) { + type noMethod AcceleratorTypeListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type AcceleratorTypeListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AcceleratorTypeListWarningData) MarshalJSON() ([]byte, error) { + type noMethod AcceleratorTypeListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type AcceleratorTypesScopedList struct { // AcceleratorTypes: [Output Only] List of accelerator types contained // in this scope. @@ -997,6 +1247,15 @@ type AccessConfig struct { // live in the same region as the zone of the instance. NatIP string `json:"natIP,omitempty"` + // PublicPtrDomainName: The DNS domain name for the public PTR record. + // This field can only be set when the set_public_ptr field is enabled. + PublicPtrDomainName string `json:"publicPtrDomainName,omitempty"` + + // SetPublicPtr: Specifies whether a public DNS ?PTR? record should be + // created to map the external IP address of the instance to a DNS + // domain name. + SetPublicPtr bool `json:"setPublicPtr,omitempty"` + // Type: The type of configuration. The default and only option is // ONE_TO_ONE_NAT. // @@ -1029,9 +1288,18 @@ func (s *AccessConfig) MarshalJSON() ([]byte, error) { // Address: A reserved address resource. type Address struct { - // Address: The static external IP address represented by this resource. + // Address: The static IP address represented by this resource. Address string `json:"address,omitempty"` + // AddressType: The type of address to reserve. If unspecified, defaults + // to EXTERNAL. + // + // Possible values: + // "EXTERNAL" + // "INTERNAL" + // "UNSPECIFIED_TYPE" + AddressType string `json:"addressType,omitempty"` + // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text // format. CreationTimestamp string `json:"creationTimestamp,omitempty"` @@ -1100,6 +1368,13 @@ type Address struct { // "RESERVED" Status string `json:"status,omitempty"` + // Subnetwork: For external addresses, this field should not be + // used. + // + // The URL of the subnetwork in which to reserve the address. If an IP + // address is specified, it must be within the subnetwork's IP range. + Subnetwork string `json:"subnetwork,omitempty"` + // Users: [Output Only] The URLs of the resources that are using this // address. Users []string `json:"users,omitempty"` @@ -1136,7 +1411,7 @@ type AddressAggregatedList struct { // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped address lists. + // Items: A list of AddressesScopedList resources. Items map[string]AddressesScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -1154,6 +1429,9 @@ type AddressAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *AddressAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -1181,13 +1459,109 @@ func (s *AddressAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AddressAggregatedListWarning: [Output Only] Informational warning +// message. +type AddressAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*AddressAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AddressAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod AddressAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type AddressAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AddressAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod AddressAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // AddressList: Contains a list of addresses. type AddressList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of addresses. + // Items: A list of Address resources. Items []*Address `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#addressList for @@ -1202,9 +1576,12 @@ type AddressList struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] Server-defined URL for the resource. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *AddressListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -1232,6 +1609,101 @@ func (s *AddressList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AddressListWarning: [Output Only] Informational warning message. +type AddressListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*AddressListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AddressListWarning) MarshalJSON() ([]byte, error) { + type noMethod AddressListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type AddressListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AddressListWarningData) MarshalJSON() ([]byte, error) { + type noMethod AddressListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type AddressesScopedList struct { // Addresses: [Output Only] List of addresses contained in this scope. Addresses []*Address `json:"addresses,omitempty"` @@ -1444,10 +1916,9 @@ type AttachedDisk struct { // group. DiskEncryptionKey *CustomerEncryptionKey `json:"diskEncryptionKey,omitempty"` - // Index: Assigns a zero-based index to this disk, where 0 is reserved - // for the boot disk. For example, if you have many disks attached to an - // instance, each disk would have a unique index number. If not - // specified, the server will choose an appropriate value. + // Index: [Output Only] A zero-based index to this disk, where 0 is + // reserved for the boot disk. If you have many disks attached to an + // instance, each disk would have a unique index number. Index int64 `json:"index,omitempty"` // InitializeParams: [Input Only] Specifies the parameters for a new @@ -1740,6 +2211,43 @@ func (s *AuditLogConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AuthorizationLoggingOptions: Authorization-related information used +// by Cloud Audit Logging. +type AuthorizationLoggingOptions struct { + // PermissionType: The type of the permission that was checked. + // + // Possible values: + // "ADMIN_READ" + // "ADMIN_WRITE" + // "DATA_READ" + // "DATA_WRITE" + // "PERMISSION_TYPE_UNSPECIFIED" + PermissionType string `json:"permissionType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PermissionType") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "PermissionType") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AuthorizationLoggingOptions) MarshalJSON() ([]byte, error) { + type noMethod AuthorizationLoggingOptions + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Autoscaler: Represents an Autoscaler resource. Autoscalers allow you // to automatically scale virtual machine instances in managed instance // groups according to an autoscaling policy that you define. For more @@ -1837,11 +2345,11 @@ func (s *Autoscaler) MarshalJSON() ([]byte, error) { } type AutoscalerAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: A map of scoped autoscaler lists. + // Items: A list of AutoscalersScopedList resources. Items map[string]AutoscalersScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -1859,6 +2367,9 @@ type AutoscalerAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *AutoscalerAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -1886,10 +2397,106 @@ func (s *AutoscalerAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AutoscalerAggregatedListWarning: [Output Only] Informational warning +// message. +type AutoscalerAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*AutoscalerAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AutoscalerAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod AutoscalerAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type AutoscalerAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AutoscalerAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod AutoscalerAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // AutoscalerList: Contains a list of Autoscaler resources. type AutoscalerList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 Autoscaler resources. @@ -1910,6 +2517,9 @@ type AutoscalerList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *AutoscalerListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -1937,6 +2547,101 @@ func (s *AutoscalerList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AutoscalerListWarning: [Output Only] Informational warning message. +type AutoscalerListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*AutoscalerListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AutoscalerListWarning) MarshalJSON() ([]byte, error) { + type noMethod AutoscalerListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type AutoscalerListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AutoscalerListWarningData) MarshalJSON() ([]byte, error) { + type noMethod AutoscalerListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type AutoscalerStatusDetails struct { // Message: The status message. Message string `json:"message,omitempty"` @@ -2407,7 +3112,8 @@ type Backend struct { // Valid values are UTILIZATION, RATE (for HTTP(S)) and CONNECTION (for // TCP/SSL). // - // This cannot be used for internal load balancing. + // For Internal Load Balancing, the default and only supported mode is + // CONNECTION. // // Possible values: // "CONNECTION" @@ -2429,8 +3135,8 @@ type Backend struct { // property when you create the resource. Description string `json:"description,omitempty"` - // Group: The fully-qualified URL of a zonal Instance Group resource. - // This instance group defines the list of instances that serve traffic. + // Group: The fully-qualified URL of a Instance Group resource. This + // instance group defines the list of instances that serve traffic. // Member virtual machine instances from each instance group must live // in the same zone as the instance group itself. No two backends in a // backend service are allowed to use same Instance Group @@ -2440,8 +3146,7 @@ type Backend struct { // fully-qualified URL, rather than a partial URL. // // When the BackendService has load balancing scheme INTERNAL, the - // instance group must be in a zone within the same region as the - // BackendService. + // instance group must be within the same region as the BackendService. Group string `json:"group,omitempty"` // MaxConnections: The max number of simultaneous connections for the @@ -2600,13 +3305,20 @@ type BackendBucketList struct { // Kind: Type of resource. Kind string `json:"kind,omitempty"` - // NextPageToken: [Output Only] A token used to continue a truncated - // 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 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] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *BackendBucketListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -2634,6 +3346,102 @@ func (s *BackendBucketList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// BackendBucketListWarning: [Output Only] Informational warning +// message. +type BackendBucketListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*BackendBucketListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BackendBucketListWarning) MarshalJSON() ([]byte, error) { + type noMethod BackendBucketListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type BackendBucketListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BackendBucketListWarningData) MarshalJSON() ([]byte, error) { + type noMethod BackendBucketListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // BackendService: A BackendService resource. This resource defines a // group of backend virtual machines and their serving capacity. type BackendService struct { @@ -2675,8 +3483,9 @@ type BackendService struct { // HealthChecks: The list of URLs to the HttpHealthCheck or // HttpsHealthCheck resource for health checking this BackendService. // Currently at most one health check can be specified, and a health - // check is required for GCE backend services. A health check must not - // be specified for GAE app backend and Cloud Function backend. + // check is required for Compute Engine backend services. A health check + // must not be specified for App Engine backend and Cloud Function + // backend. // // For internal load balancing, a URL to a HealthCheck resource must be // specified instead. @@ -2692,6 +3501,11 @@ type BackendService struct { // for backend services. Kind string `json:"kind,omitempty"` + // LoadBalancingScheme: Indicates whether the backend service will be + // used with internal or external load balancing. A backend service + // created for one type of load balancing cannot be used with the other. + // Possible values are INTERNAL and EXTERNAL. + // // Possible values: // "EXTERNAL" // "INTERNAL" @@ -2742,6 +3556,10 @@ type BackendService struct { // services. Region string `json:"region,omitempty"` + // SecurityPolicy: [Output Only] The resource URL for the security + // policy associated with this backend service. + SecurityPolicy string `json:"securityPolicy,omitempty"` + // SelfLink: [Output Only] Server-defined URL for the resource. SelfLink string `json:"selfLink,omitempty"` @@ -2804,19 +3622,26 @@ type BackendServiceAggregatedList struct { // server. Id string `json:"id,omitempty"` - // Items: A map of scoped BackendService lists. + // Items: A list of BackendServicesScopedList resources. Items map[string]BackendServicesScopedList `json:"items,omitempty"` // Kind: Type of resource. Kind string `json:"kind,omitempty"` - // NextPageToken: [Output Only] A token used to continue a truncated - // 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 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] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *BackendServiceAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -2844,6 +3669,102 @@ func (s *BackendServiceAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// BackendServiceAggregatedListWarning: [Output Only] Informational +// warning message. +type BackendServiceAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*BackendServiceAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BackendServiceAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod BackendServiceAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type BackendServiceAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BackendServiceAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod BackendServiceAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // BackendServiceCdnPolicy: Message containing Cloud CDN configuration // for a backend service. type BackendServiceCdnPolicy struct { @@ -2967,6 +3888,9 @@ type BackendServiceList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *BackendServiceListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -2994,6 +3918,102 @@ func (s *BackendServiceList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// BackendServiceListWarning: [Output Only] Informational warning +// message. +type BackendServiceListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*BackendServiceListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BackendServiceListWarning) MarshalJSON() ([]byte, error) { + type noMethod BackendServiceListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type BackendServiceListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BackendServiceListWarningData) MarshalJSON() ([]byte, error) { + type noMethod BackendServiceListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type BackendServicesScopedList struct { // BackendServices: List of BackendServices contained in this scope. BackendServices []*BackendService `json:"backendServices,omitempty"` @@ -3378,11 +4398,11 @@ func (s *Commitment) MarshalJSON() ([]byte, error) { } type CommitmentAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: Commitments by scope. + // Items: A list of CommitmentsScopedList resources. Items map[string]CommitmentsScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -3400,6 +4420,9 @@ type CommitmentAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *CommitmentAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -3427,10 +4450,106 @@ func (s *CommitmentAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// CommitmentAggregatedListWarning: [Output Only] Informational warning +// message. +type CommitmentAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*CommitmentAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CommitmentAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod CommitmentAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type CommitmentAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CommitmentAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod CommitmentAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // CommitmentList: Contains a list of Commitment resources. type CommitmentList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 Commitment resources. @@ -3451,6 +4570,9 @@ type CommitmentList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *CommitmentListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -3478,6 +4600,101 @@ func (s *CommitmentList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// CommitmentListWarning: [Output Only] Informational warning message. +type CommitmentListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*CommitmentListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CommitmentListWarning) MarshalJSON() ([]byte, error) { + type noMethod CommitmentListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type CommitmentListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CommitmentListWarningData) MarshalJSON() ([]byte, error) { + type noMethod CommitmentListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type CommitmentsScopedList struct { // Commitments: [Output Only] List of commitments contained in this // scope. @@ -3931,7 +5148,8 @@ type Disk struct { // // If you specify this field along with sourceImage or sourceSnapshot, // the value of sizeGb must not be less than the size of the sourceImage - // or the size of the snapshot. + // or the size of the snapshot. Acceptable values are 1 to 65536, + // inclusive. SizeGb int64 `json:"sizeGb,omitempty,string"` // SourceImage: The source image used to create this disk. If the source @@ -4053,11 +5271,11 @@ func (s *Disk) MarshalJSON() ([]byte, error) { } type DiskAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped disk lists. + // Items: A list of DisksScopedList resources. Items map[string]DisksScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -4069,13 +5287,15 @@ type DiskAggregatedList struct { // than maxResults, 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. Acceptable values are 0 to 500, inclusive. (Default: - // 500) + // the results. NextPageToken string `json:"nextPageToken,omitempty"` // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *DiskAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -4103,6 +5323,102 @@ func (s *DiskAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// DiskAggregatedListWarning: [Output Only] Informational warning +// message. +type DiskAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*DiskAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DiskAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod DiskAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type DiskAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DiskAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod DiskAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // DiskList: A list of Disk resources. type DiskList struct { // Id: [Output Only] Unique identifier for the resource; defined by the @@ -4116,16 +5432,20 @@ type DiskList struct { // lists of disks. 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 than - // maxResults, 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: [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 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] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *DiskListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -4153,6 +5473,101 @@ func (s *DiskList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// DiskListWarning: [Output Only] Informational warning message. +type DiskListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*DiskListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DiskListWarning) MarshalJSON() ([]byte, error) { + type noMethod DiskListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type DiskListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DiskListWarningData) MarshalJSON() ([]byte, error) { + type noMethod DiskListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type DiskMoveRequest struct { // DestinationZone: The URL of the destination zone to move the disk. // This can be a full or partial URL. For example, the following are all @@ -4263,11 +5678,11 @@ func (s *DiskType) MarshalJSON() ([]byte, error) { } type DiskTypeAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped disk type lists. + // Items: A list of DiskTypesScopedList resources. Items map[string]DiskTypesScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -4285,6 +5700,9 @@ type DiskTypeAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *DiskTypeAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -4312,13 +5730,109 @@ func (s *DiskTypeAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// DiskTypeAggregatedListWarning: [Output Only] Informational warning +// message. +type DiskTypeAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*DiskTypeAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DiskTypeAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod DiskTypeAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type DiskTypeAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DiskTypeAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod DiskTypeAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // DiskTypeList: Contains a list of disk types. type DiskTypeList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Disk Type resources. + // Items: A list of DiskType resources. Items []*DiskType `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#diskTypeList for @@ -4336,6 +5850,9 @@ type DiskTypeList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *DiskTypeListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -4363,6 +5880,101 @@ func (s *DiskTypeList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// DiskTypeListWarning: [Output Only] Informational warning message. +type DiskTypeListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*DiskTypeListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DiskTypeListWarning) MarshalJSON() ([]byte, error) { + type noMethod DiskTypeListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type DiskTypeListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DiskTypeListWarningData) MarshalJSON() ([]byte, error) { + type noMethod DiskTypeListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type DiskTypesScopedList struct { // DiskTypes: [Output Only] List of disk types contained in this scope. DiskTypes []*DiskType `json:"diskTypes,omitempty"` @@ -4645,6 +6257,61 @@ func (s *DisksScopedListWarningData) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type DistributionPolicy struct { + Zones []*DistributionPolicyZoneConfiguration `json:"zones,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Zones") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Zones") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DistributionPolicy) MarshalJSON() ([]byte, error) { + type noMethod DistributionPolicy + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type DistributionPolicyZoneConfiguration struct { + // Zone: URL of the zone where managed instance group is spawning + // instances (for regional resources). Zone has to belong to the region + // where managed instance group is located. + 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DistributionPolicyZoneConfiguration) MarshalJSON() ([]byte, error) { + type noMethod DistributionPolicyZoneConfiguration + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Expr: Represents an expression text. Example: // // title: "User account presence" description: "Determines whether the @@ -4796,15 +6463,18 @@ type Firewall struct { // or targetTags. SourceServiceAccounts []string `json:"sourceServiceAccounts,omitempty"` - // SourceTags: If source tags are specified, the firewall will apply - // only to traffic with source IP that belongs to a tag listed in source - // tags. Source tags cannot be used to control traffic to an instance's - // external IP address. Because tags are associated with an instance, - // not an IP address. One or both of sourceRanges and sourceTags may be - // set. If both properties are set, the firewall will apply to traffic - // that has source IP address within sourceRanges OR the source IP that - // belongs to a tag listed in the sourceTags property. The connection - // does not need to match both properties for the firewall to apply. + // SourceTags: If source tags are specified, the firewall rule applies + // only to traffic with source IPs that match the primary network + // interfaces of VM instances that have the tag and are in the same VPC + // network. Source tags cannot be used to control traffic to an + // instance's external IP address, it only applies to traffic between + // instances in the same virtual network. Because tags are associated + // with instances, not IP addresses. One or both of sourceRanges and + // sourceTags may be set. If both properties are set, the firewall will + // apply to traffic that has source IP address within sourceRanges OR + // the source IP that belongs to a tag listed in the sourceTags + // property. The connection does not need to match both properties for + // the firewall to apply. SourceTags []string `json:"sourceTags,omitempty"` // TargetServiceAccounts: A list of service accounts indicating sets of @@ -4852,7 +6522,7 @@ type FirewallAllowed struct { // IPProtocol: The IP protocol to which this rule applies. The protocol // type is required when creating a firewall rule. This value can either // be one of the following well known protocol strings (tcp, udp, icmp, - // esp, ah, sctp), or the IP protocol number. + // esp, ah, ipip, sctp), or the IP protocol number. IPProtocol string `json:"IPProtocol,omitempty"` // Ports: An optional list of ports to which this rule applies. This @@ -4890,7 +6560,7 @@ type FirewallDenied struct { // IPProtocol: The IP protocol to which this rule applies. The protocol // type is required when creating a firewall rule. This value can either // be one of the following well known protocol strings (tcp, udp, icmp, - // esp, ah, sctp), or the IP protocol number. + // esp, ah, ipip, sctp), or the IP protocol number. IPProtocol string `json:"IPProtocol,omitempty"` // Ports: An optional list of ports to which this rule applies. This @@ -4926,11 +6596,11 @@ func (s *FirewallDenied) MarshalJSON() ([]byte, error) { // FirewallList: Contains a list of firewalls. type FirewallList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Firewall resources. + // Items: A list of Firewall resources. Items []*Firewall `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#firewallList for @@ -4948,6 +6618,9 @@ type FirewallList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *FirewallListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -4975,6 +6648,138 @@ func (s *FirewallList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// FirewallListWarning: [Output Only] Informational warning message. +type FirewallListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*FirewallListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FirewallListWarning) MarshalJSON() ([]byte, error) { + type noMethod FirewallListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type FirewallListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FirewallListWarningData) MarshalJSON() ([]byte, error) { + type noMethod FirewallListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// FixedOrPercent: Encapsulates numeric value that can be either +// absolute or relative. +type FixedOrPercent struct { + // Calculated: [Output Only] Absolute value calculated based on mode: + // mode = fixed -> calculated = fixed = percent -> calculated = + // ceiling(percent/100 * base_value) + Calculated int64 `json:"calculated,omitempty"` + + // Fixed: fixed must be non-negative. + Fixed int64 `json:"fixed,omitempty"` + + // Percent: percent must belong to [0, 100]. + Percent int64 `json:"percent,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Calculated") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Calculated") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FixedOrPercent) MarshalJSON() ([]byte, error) { + type noMethod FixedOrPercent + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ForwardingRule: A ForwardingRule resource. A ForwardingRule resource // specifies which pool of target virtual machines to forward a packet // to if it matches the given [IPAddress, IPProtocol, ports] tuple. @@ -5103,10 +6908,10 @@ type ForwardingRule struct { // ports: // - TargetHttpProxy: 80, 8080 // - TargetHttpsProxy: 443 - // - TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995 - // - // - TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995 - // + // - TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, + // 995, 1883, 5222 + // - TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, + // 995, 1883, 5222 // - TargetVpnGateway: 500, 4500 // - PortRange string `json:"portRange,omitempty"` @@ -5198,11 +7003,11 @@ func (s *ForwardingRule) MarshalJSON() ([]byte, error) { } type ForwardingRuleAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: A map of scoped forwarding rule lists. + // Items: A list of ForwardingRulesScopedList resources. Items map[string]ForwardingRulesScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -5220,6 +7025,9 @@ type ForwardingRuleAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *ForwardingRuleAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -5247,9 +7055,105 @@ func (s *ForwardingRuleAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ForwardingRuleAggregatedListWarning: [Output Only] Informational +// warning message. +type ForwardingRuleAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*ForwardingRuleAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ForwardingRuleAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod ForwardingRuleAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type ForwardingRuleAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ForwardingRuleAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod ForwardingRuleAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ForwardingRuleList: Contains a list of ForwardingRule resources. type ForwardingRuleList struct { - // Id: [Output Only] Unique identifier for the resource. Set by the + // Id: [Output Only] Unique identifier for the resource; defined by the // server. Id string `json:"id,omitempty"` @@ -5270,6 +7174,9 @@ type ForwardingRuleList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *ForwardingRuleListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -5297,6 +7204,102 @@ func (s *ForwardingRuleList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ForwardingRuleListWarning: [Output Only] Informational warning +// message. +type ForwardingRuleListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*ForwardingRuleListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ForwardingRuleListWarning) MarshalJSON() ([]byte, error) { + type noMethod ForwardingRuleListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type ForwardingRuleListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ForwardingRuleListWarningData) MarshalJSON() ([]byte, error) { + type noMethod ForwardingRuleListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type ForwardingRulesScopedList struct { // ForwardingRules: List of forwarding rules contained in this scope. ForwardingRules []*ForwardingRule `json:"forwardingRules,omitempty"` @@ -5473,8 +7476,7 @@ type GuestOsFeature struct { // Type: The type of supported feature. Currently only // VIRTIO_SCSI_MULTIQUEUE is supported. For newer Windows images, the // server might also populate this property with the value WINDOWS to - // indicate that this is a Windows image. This value is purely - // informational and does not enable or disable any features. + // indicate that this is a Windows image. // // Possible values: // "FEATURE_TYPE_UNSPECIFIED" @@ -5709,8 +7711,8 @@ func (s *HealthCheck) MarshalJSON() ([]byte, error) { // HealthCheckList: Contains a list of HealthCheck resources. type HealthCheckList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 HealthCheck resources. @@ -5730,6 +7732,9 @@ type HealthCheckList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *HealthCheckListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -5757,6 +7762,101 @@ func (s *HealthCheckList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// HealthCheckListWarning: [Output Only] Informational warning message. +type HealthCheckListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*HealthCheckListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HealthCheckListWarning) MarshalJSON() ([]byte, error) { + type noMethod HealthCheckListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type HealthCheckListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HealthCheckListWarningData) MarshalJSON() ([]byte, error) { + type noMethod HealthCheckListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // HealthCheckReference: A full or valid partial URL to a health check. // For example, the following are valid URLs: // - @@ -5962,7 +8062,7 @@ func (s *HttpHealthCheck) MarshalJSON() ([]byte, error) { // HttpHealthCheckList: Contains a list of HttpHealthCheck resources. type HttpHealthCheckList struct { - // Id: [Output Only] Unique identifier for the resource. Defined by the + // Id: [Output Only] Unique identifier for the resource; defined by the // server. Id string `json:"id,omitempty"` @@ -5983,6 +8083,9 @@ type HttpHealthCheckList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *HttpHealthCheckListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -6010,6 +8113,102 @@ func (s *HttpHealthCheckList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// HttpHealthCheckListWarning: [Output Only] Informational warning +// message. +type HttpHealthCheckListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*HttpHealthCheckListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HttpHealthCheckListWarning) MarshalJSON() ([]byte, error) { + type noMethod HttpHealthCheckListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type HttpHealthCheckListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HttpHealthCheckListWarningData) MarshalJSON() ([]byte, error) { + type noMethod HttpHealthCheckListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // HttpsHealthCheck: An HttpsHealthCheck resource. This resource defines // a template for how individual instances should be checked for health, // via HTTPS. @@ -6123,6 +8322,9 @@ type HttpsHealthCheckList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *HttpsHealthCheckListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -6150,6 +8352,102 @@ func (s *HttpsHealthCheckList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// HttpsHealthCheckListWarning: [Output Only] Informational warning +// message. +type HttpsHealthCheckListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*HttpsHealthCheckListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HttpsHealthCheckListWarning) MarshalJSON() ([]byte, error) { + type noMethod HttpsHealthCheckListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type HttpsHealthCheckListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HttpsHealthCheckListWarningData) MarshalJSON() ([]byte, error) { + type noMethod HttpsHealthCheckListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Image: An Image resource. type Image struct { // ArchiveSizeBytes: Size of the image tar.gz archive stored in Google @@ -6186,10 +8484,9 @@ type Image struct { // higher. Linux images with kernel versions 3.17 and higher will // support VIRTIO_SCSI_MULTIQUEUE. // - // For new Windows images, the server might also populate this field - // with the value WINDOWS, to indicate that this is a Windows image. - // This value is purely informational and does not enable or disable any - // features. + // For newer Windows images, the server might also populate this + // property with the value WINDOWS to indicate that this is a Windows + // image. GuestOsFeatures []*GuestOsFeature `json:"guestOsFeatures,omitempty"` // Id: [Output Only] The unique identifier for the resource. This @@ -6377,11 +8674,11 @@ func (s *ImageRawDisk) MarshalJSON() ([]byte, error) { // ImageList: Contains a list of images. type ImageList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Image resources. + // Items: A list of Image resources. Items []*Image `json:"items,omitempty"` // Kind: Type of resource. @@ -6398,6 +8695,9 @@ type ImageList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *ImageListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -6425,6 +8725,101 @@ func (s *ImageList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ImageListWarning: [Output Only] Informational warning message. +type ImageListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*ImageListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ImageListWarning) MarshalJSON() ([]byte, error) { + type noMethod ImageListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type ImageListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ImageListWarningData) MarshalJSON() ([]byte, error) { + type noMethod ImageListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Instance: An Instance resource. type Instance struct { // CanIpForward: Allows this instance to send and receive packets with @@ -6518,10 +8913,10 @@ type Instance struct { // be a dash. Name string `json:"name,omitempty"` - // NetworkInterfaces: An array of configurations for this interface. - // This specifies how this interface is configured to interact with - // other network services, such as connecting to the internet. Only one - // interface is supported per instance. + // NetworkInterfaces: An array of network configurations for this + // instance. These specify how interfaces are configured to interact + // with other network services, such as connecting to the internet. + // Multiple interfaces are supported per instance. NetworkInterfaces []*NetworkInterface `json:"networkInterfaces,omitempty"` // Scheduling: Sets the scheduling options for this instance. @@ -6544,7 +8939,7 @@ type Instance struct { StartRestricted bool `json:"startRestricted,omitempty"` // Status: [Output Only] The status of the instance. One of the - // following values: PROVISIONING, STAGING, RUNNING, STOPPING, + // following values: PROVISIONING, STAGING, RUNNING, STOPPING, STOPPED, // SUSPENDING, SUSPENDED, and TERMINATED. // // Possible values: @@ -6600,11 +8995,11 @@ func (s *Instance) MarshalJSON() ([]byte, error) { } type InstanceAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped instance lists. + // Items: A list of InstancesScopedList resources. Items map[string]InstancesScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -6623,6 +9018,9 @@ type InstanceAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *InstanceAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -6650,6 +9048,102 @@ func (s *InstanceAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// InstanceAggregatedListWarning: [Output Only] Informational warning +// message. +type InstanceAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InstanceAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod InstanceAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InstanceAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod InstanceAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type InstanceGroup struct { // CreationTimestamp: [Output Only] The creation timestamp for this // instance group in RFC3339 text format. @@ -6740,11 +9234,11 @@ func (s *InstanceGroup) MarshalJSON() ([]byte, error) { } type InstanceGroupAggregatedList struct { - // Id: [Output Only] A unique identifier for this aggregated list of - // instance groups. The server generates this identifier. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: A map of scoped instance group lists. + // Items: A list of InstanceGroupsScopedList resources. Items map[string]InstanceGroupsScopedList `json:"items,omitempty"` // Kind: [Output Only] The resource type, which is always @@ -6760,10 +9254,12 @@ type InstanceGroupAggregatedList struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] The URL for this resource type. The server - // generates this URL. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *InstanceGroupAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -6791,13 +9287,109 @@ func (s *InstanceGroupAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// InstanceGroupAggregatedListWarning: [Output Only] Informational +// warning message. +type InstanceGroupAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InstanceGroupAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InstanceGroupAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // InstanceGroupList: A list of InstanceGroup resources. type InstanceGroupList struct { - // Id: [Output Only] A unique identifier for this list of instance - // groups. The server generates this identifier. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: A list of instance groups. + // Items: A list of InstanceGroup resources. Items []*InstanceGroup `json:"items,omitempty"` // Kind: [Output Only] The resource type, which is always @@ -6812,10 +9404,12 @@ type InstanceGroupList struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] The URL for this resource type. The server - // generates this URL. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *InstanceGroupListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -6843,6 +9437,102 @@ func (s *InstanceGroupList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// InstanceGroupListWarning: [Output Only] Informational warning +// message. +type InstanceGroupListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InstanceGroupListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupListWarning) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InstanceGroupListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupListWarningData) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // InstanceGroupManager: An Instance Group Manager resource. type InstanceGroupManager struct { // AutoHealingPolicies: The autohealing policy for this managed instance @@ -6868,6 +9558,10 @@ type InstanceGroupManager struct { // property when you create the resource. Description string `json:"description,omitempty"` + // DistributionPolicy: Policy valid only for regional managed instance + // groups. + DistributionPolicy *DistributionPolicy `json:"distributionPolicy,omitempty"` + // FailoverAction: The action to perform in case of zone failure. Only // one value is supported, NO_FAILOVER. The default is NO_FAILOVER. // @@ -6905,6 +9599,11 @@ type InstanceGroupManager struct { // complementary to this Instance Group Manager. NamedPorts []*NamedPort `json:"namedPorts,omitempty"` + // PendingActions: [Output Only] The list of instance actions and the + // number of instances in this managed instance group that are pending + // for each of those actions. + PendingActions *InstanceGroupManagerPendingActionsSummary `json:"pendingActions,omitempty"` + // Region: [Output Only] The URL of the region where the managed // instance group resides (for regional resources). Region string `json:"region,omitempty"` @@ -6913,11 +9612,11 @@ type InstanceGroupManager struct { // server defines this URL. SelfLink string `json:"selfLink,omitempty"` - // ServiceAccount: Service account will be used as credentials for all - // operations performed by managed instance group on instances. The - // service accounts needs all permissions required to create and delete - // instances. When not specified, the service account - // {projectNumber}@cloudservices.gserviceaccount.com will be used. + // ServiceAccount: [Output Only] The service account to be used as + // credentials for all operations performed by the managed instance + // group on instances. The service accounts needs all permissions + // required to create and delete instances. By default, the service + // account {projectNumber}@cloudservices.gserviceaccount.com is used. ServiceAccount string `json:"serviceAccount,omitempty"` // TargetPools: The URLs for all TargetPool resources to which instances @@ -6930,6 +9629,20 @@ type InstanceGroupManager struct { // Resizing the group changes this number. TargetSize int64 `json:"targetSize,omitempty"` + // UpdatePolicy: The update policy for this managed instance group. + UpdatePolicy *InstanceGroupManagerUpdatePolicy `json:"updatePolicy,omitempty"` + + // Versions: Versions supported by this IGM. User should set this field + // if they need fine-grained control over how many instances in each + // version are run by this IGM. Versions are keyed by instanceTemplate. + // Every instanceTemplate can appear at most once. This field overrides + // instanceTemplate field. If both instanceTemplate and versions are + // set, the user receives a warning. "instanceTemplate: X" is + // semantically equivalent to "versions [ { instanceTemplate: X } ]". + // Exactly one version must have targetSize field left unset. Size of + // such a version will be calculated automatically. + Versions []*InstanceGroupManagerVersion `json:"versions,omitempty"` + // Zone: [Output Only] The URL of the zone where the managed instance // group is located (for zonal resources). Zone string `json:"zone,omitempty"` @@ -7013,6 +9726,12 @@ type InstanceGroupManagerActionsSummary struct { // being restarted. Restarting int64 `json:"restarting,omitempty"` + // Verifying: [Output Only] The number of instances in the managed + // instance group that are being verified. More details regarding + // verification process are covered in the documentation of + // ManagedInstance.InstanceAction.VERIFYING enum field. + Verifying int64 `json:"verifying,omitempty"` + // ForceSendFields is a list of field names (e.g. "Abandoning") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -7037,11 +9756,11 @@ func (s *InstanceGroupManagerActionsSummary) MarshalJSON() ([]byte, error) { } type InstanceGroupManagerAggregatedList struct { - // Id: [Output Only] A unique identifier for this aggregated list of - // managed instance groups. The server generates this identifier. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of filtered managed instance group lists. + // Items: A list of InstanceGroupManagersScopedList resources. Items map[string]InstanceGroupManagersScopedList `json:"items,omitempty"` // Kind: [Output Only] The resource type, which is always @@ -7057,10 +9776,12 @@ type InstanceGroupManagerAggregatedList struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] The URL for this resource type. The server - // generates this URL. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *InstanceGroupManagerAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -7088,6 +9809,102 @@ func (s *InstanceGroupManagerAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// InstanceGroupManagerAggregatedListWarning: [Output Only] +// Informational warning message. +type InstanceGroupManagerAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InstanceGroupManagerAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupManagerAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupManagerAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InstanceGroupManagerAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupManagerAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupManagerAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type InstanceGroupManagerAutoHealingPolicy struct { // HealthCheck: The URL for the health check that signals autohealing. HealthCheck string `json:"healthCheck,omitempty"` @@ -7127,11 +9944,11 @@ func (s *InstanceGroupManagerAutoHealingPolicy) MarshalJSON() ([]byte, error) { // InstanceGroupManagerList: [Output Only] A list of managed instance // groups. type InstanceGroupManagerList struct { - // Id: [Output Only] A unique identifier for this resource type. The - // server generates this identifier. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of managed instance groups. + // Items: A list of InstanceGroupManager resources. Items []*InstanceGroupManager `json:"items,omitempty"` // Kind: [Output Only] The resource type, which is always @@ -7150,6 +9967,9 @@ type InstanceGroupManagerList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *InstanceGroupManagerListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -7177,6 +9997,239 @@ func (s *InstanceGroupManagerList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// InstanceGroupManagerListWarning: [Output Only] Informational warning +// message. +type InstanceGroupManagerListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InstanceGroupManagerListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupManagerListWarning) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupManagerListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InstanceGroupManagerListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupManagerListWarningData) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupManagerListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InstanceGroupManagerPendingActionsSummary struct { + // Creating: [Output Only] The number of instances in the managed + // instance group that are pending to be created. + Creating int64 `json:"creating,omitempty"` + + // Deleting: [Output Only] The number of instances in the managed + // instance group that are pending to be deleted. + Deleting int64 `json:"deleting,omitempty"` + + // Recreating: [Output Only] The number of instances in the managed + // instance group that are pending to be recreated. + Recreating int64 `json:"recreating,omitempty"` + + // Restarting: [Output Only] The number of instances in the managed + // instance group that are pending to be restarted. + Restarting int64 `json:"restarting,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Creating") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Creating") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupManagerPendingActionsSummary) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupManagerPendingActionsSummary + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InstanceGroupManagerUpdatePolicy struct { + // MaxSurge: Maximum number of instances that can be created above the + // InstanceGroupManager.targetSize during the update process. By + // default, a fixed value of 1 is used. Using maxSurge > 0 will cause + // instance names to change during the update process. At least one of { + // maxSurge, maxUnavailable } must be greater than 0. + MaxSurge *FixedOrPercent `json:"maxSurge,omitempty"` + + // MaxUnavailable: Maximum number of instances that can be unavailable + // during the update process. The instance is considered available if + // all of the following conditions are satisfied: 1. Instance's status + // is RUNNING. 2. Instance's liveness health check result was observed + // to be HEALTHY at least once. By default, a fixed value of 1 is used. + // At least one of { maxSurge, maxUnavailable } must be greater than 0. + MaxUnavailable *FixedOrPercent `json:"maxUnavailable,omitempty"` + + // MinReadySec: Minimum number of seconds to wait for after a newly + // created instance becomes available. This value must be from range [0, + // 3600]. + MinReadySec int64 `json:"minReadySec,omitempty"` + + // MinimalAction: Minimal action to be taken on an instance. The order + // of action types is: RESTART < REPLACE. + // + // Possible values: + // "REPLACE" + // "RESTART" + MinimalAction string `json:"minimalAction,omitempty"` + + // Possible values: + // "OPPORTUNISTIC" + // "PROACTIVE" + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MaxSurge") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "MaxSurge") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupManagerUpdatePolicy) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupManagerUpdatePolicy + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InstanceGroupManagerVersion struct { + InstanceTemplate string `json:"instanceTemplate,omitempty"` + + // Name: Name of the version. Unique among all versions in the scope of + // this managed instance group. + Name string `json:"name,omitempty"` + + // TargetSize: Intended number of instances that are created from + // instanceTemplate. The final number of instances created from + // instanceTemplate will be equal to: * if expressed as fixed number: + // min(targetSize.fixed, instanceGroupManager.targetSize), * if + // expressed as percent: ceiling(targetSize.percent * + // InstanceGroupManager.targetSize). If unset, this version will handle + // all the remaining instances. + TargetSize *FixedOrPercent `json:"targetSize,omitempty"` + + // ForceSendFields is a list of field names (e.g. "InstanceTemplate") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "InstanceTemplate") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupManagerVersion) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupManagerVersion + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type InstanceGroupManagersAbandonInstancesRequest struct { // Instances: The URLs of one or more instances to abandon. This can be // a full URL or a partial URL, such as @@ -7614,12 +10667,11 @@ func (s *InstanceGroupsAddInstancesRequest) MarshalJSON() ([]byte, error) { } type InstanceGroupsListInstances struct { - // Id: [Output Only] A unique identifier for this list of instances in - // the specified instance group. The server generates this identifier. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of instances and any named ports that are - // assigned to those instances. + // Items: A list of InstanceWithNamedPorts resources. Items []*InstanceWithNamedPorts `json:"items,omitempty"` // Kind: [Output Only] The resource type, which is always @@ -7635,10 +10687,12 @@ type InstanceGroupsListInstances struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] The URL for this list of instances in the - // specified instance groups. The server generates this URL. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *InstanceGroupsListInstancesWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -7666,6 +10720,102 @@ func (s *InstanceGroupsListInstances) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// InstanceGroupsListInstancesWarning: [Output Only] Informational +// warning message. +type InstanceGroupsListInstancesWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InstanceGroupsListInstancesWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupsListInstancesWarning) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupsListInstancesWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InstanceGroupsListInstancesWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupsListInstancesWarningData) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupsListInstancesWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type InstanceGroupsListInstancesRequest struct { // InstanceState: A filter for the state of the instances in the // instance group. Valid options are ALL or RUNNING. If you do not @@ -7894,11 +11044,11 @@ func (s *InstanceGroupsSetNamedPortsRequest) MarshalJSON() ([]byte, error) { // InstanceList: Contains a list of instances. type InstanceList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of instances. + // Items: A list of Instance resources. Items []*Instance `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#instanceList for @@ -7916,6 +11066,9 @@ type InstanceList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *InstanceListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -7943,13 +11096,108 @@ func (s *InstanceList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// InstanceListWarning: [Output Only] Informational warning message. +type InstanceListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InstanceListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceListWarning) MarshalJSON() ([]byte, error) { + type noMethod InstanceListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InstanceListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceListWarningData) MarshalJSON() ([]byte, error) { + type noMethod InstanceListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // InstanceListReferrers: Contains a list of instance referrers. type InstanceListReferrers struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of referrers. + // Items: A list of Reference resources. Items []*Reference `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -7967,6 +11215,9 @@ type InstanceListReferrers struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *InstanceListReferrersWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -7994,6 +11245,102 @@ func (s *InstanceListReferrers) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// InstanceListReferrersWarning: [Output Only] Informational warning +// message. +type InstanceListReferrersWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InstanceListReferrersWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceListReferrersWarning) MarshalJSON() ([]byte, error) { + type noMethod InstanceListReferrersWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InstanceListReferrersWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceListReferrersWarningData) MarshalJSON() ([]byte, error) { + type noMethod InstanceListReferrersWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type InstanceMoveRequest struct { // DestinationZone: The URL of the destination zone to move the // instance. This can be a full or partial URL. For example, the @@ -8215,11 +11562,11 @@ func (s *InstanceTemplate) MarshalJSON() ([]byte, error) { // InstanceTemplateList: A list of instance templates. type InstanceTemplateList struct { - // Id: [Output Only] A unique identifier for this instance template. The - // server defines this identifier. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] list of InstanceTemplate resources. + // Items: A list of InstanceTemplate resources. Items []*InstanceTemplate `json:"items,omitempty"` // Kind: [Output Only] The resource type, which is always @@ -8234,10 +11581,12 @@ type InstanceTemplateList struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] The URL for this instance template list. The - // server defines this URL. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *InstanceTemplateListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -8265,6 +11614,102 @@ func (s *InstanceTemplateList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// InstanceTemplateListWarning: [Output Only] Informational warning +// message. +type InstanceTemplateListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InstanceTemplateListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceTemplateListWarning) MarshalJSON() ([]byte, error) { + type noMethod InstanceTemplateListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InstanceTemplateListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceTemplateListWarningData) MarshalJSON() ([]byte, error) { + type noMethod InstanceTemplateListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type InstanceWithNamedPorts struct { // Instance: [Output Only] The URL of the instance. Instance string `json:"instance,omitempty"` @@ -8620,6 +12065,1247 @@ func (s *InstancesStartWithEncryptionKeyRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Interconnect: Protocol definitions for Mixer API to support +// Interconnect. Next available tag: 23 +type Interconnect struct { + // AdminEnabled: Administrative status of the interconnect. When this is + // set to ?true?, the Interconnect is functional and may carry traffic + // (assuming there are functional InterconnectAttachments and other + // requirements are satisfied). When set to ?false?, no packets will be + // carried over this Interconnect and no BGP routes will be exchanged + // over it. By default, it is set to ?true?. + AdminEnabled bool `json:"adminEnabled,omitempty"` + + // CircuitInfos: [Output Only] List of CircuitInfo objects, that + // describe the individual circuits in this LAG. + CircuitInfos []*InterconnectCircuitInfo `json:"circuitInfos,omitempty"` + + // ConnectionAuthorization: [Output Only] URL to retrieve the Letter Of + // Authority and Customer Facility Assignment (LOA-CFA) documentation + // relating to this Interconnect. This documentation authorizes the + // facility provider to connect to the specified crossconnect ports. + ConnectionAuthorization string `json:"connectionAuthorization,omitempty"` + + // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text + // format. + CreationTimestamp string `json:"creationTimestamp,omitempty"` + + // CustomerName: Customer name, to put in the Letter of Authorization as + // the party authorized to request a crossconnect. + CustomerName string `json:"customerName,omitempty"` + + // Description: An optional description of this resource. Provide this + // property when you create the resource. + Description string `json:"description,omitempty"` + + // ExpectedOutages: [Output Only] List of outages expected for this + // Interconnect. + ExpectedOutages []*InterconnectOutageNotification `json:"expectedOutages,omitempty"` + + // GoogleIpAddress: [Output Only] IP address configured on the Google + // side of the Interconnect link. This can be used only for ping tests. + GoogleIpAddress string `json:"googleIpAddress,omitempty"` + + // GoogleReferenceId: [Output Only] Google reference ID; to be used when + // raising support tickets with Google or otherwise to debug backend + // connectivity issues. + GoogleReferenceId string `json:"googleReferenceId,omitempty"` + + // Id: [Output Only] The unique identifier for the resource. This + // identifier is defined by the server. + Id uint64 `json:"id,omitempty,string"` + + // InterconnectAttachments: [Output Only] A list of the URLs of all + // InterconnectAttachments configured to use this Interconnect. + InterconnectAttachments []string `json:"interconnectAttachments,omitempty"` + + // Possible values: + // "IT_PRIVATE" + InterconnectType string `json:"interconnectType,omitempty"` + + // Kind: [Output Only] Type of the resource. Always compute#interconnect + // for interconnects. + Kind string `json:"kind,omitempty"` + + // Possible values: + // "LINK_TYPE_ETHERNET_10G_LR" + LinkType string `json:"linkType,omitempty"` + + // Location: URL of the InterconnectLocation object that represents + // where this connection is to be provisioned. + Location string `json:"location,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 with + // RFC1035. 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"` + + // NocContactEmail: Email address to contact the customer NOC for + // operations and maintenance notifications regarding this Interconnect. + // If specified, this will be used for notifications in addition to all + // other forms described, such as Stackdriver logs alerting and Cloud + // Notifications. + NocContactEmail string `json:"nocContactEmail,omitempty"` + + // OperationalStatus: [Output Only] The current status of whether or not + // this Interconnect is functional. + // + // Possible values: + // "OS_ACTIVE" + // "OS_UNPROVISIONED" + OperationalStatus string `json:"operationalStatus,omitempty"` + + // PeerIpAddress: [Output Only] IP address configured on the customer + // side of the Interconnect link. The customer should configure this IP + // address during turnup when prompted by Google NOC. This can be used + // only for ping tests. + PeerIpAddress string `json:"peerIpAddress,omitempty"` + + // ProvisionedLinkCount: [Output Only] Number of links actually + // provisioned in this interconnect. + ProvisionedLinkCount int64 `json:"provisionedLinkCount,omitempty"` + + // RequestedLinkCount: Target number of physical links in the link + // bundle, as requested by the customer. + RequestedLinkCount int64 `json:"requestedLinkCount,omitempty"` + + // SelfLink: [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. "AdminEnabled") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AdminEnabled") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Interconnect) MarshalJSON() ([]byte, error) { + type noMethod Interconnect + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// InterconnectAttachment: Protocol definitions for Mixer API to support +// InterconnectAttachment. Next available tag: 18 +type InterconnectAttachment struct { + // CloudRouterIpAddress: [Output Only] IPv4 address + prefix length to + // be configured on Cloud Router Interface for this interconnect + // attachment. + CloudRouterIpAddress string `json:"cloudRouterIpAddress,omitempty"` + + // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text + // format. + CreationTimestamp string `json:"creationTimestamp,omitempty"` + + // CustomerRouterIpAddress: [Output Only] IPv4 address + prefix length + // to be configured on the customer router subinterface for this + // interconnect attachment. + CustomerRouterIpAddress string `json:"customerRouterIpAddress,omitempty"` + + // Description: An optional description of this resource. Provide this + // property when you create the resource. + Description string `json:"description,omitempty"` + + // GoogleReferenceId: [Output Only] Google reference ID, to be used when + // raising support tickets with Google or otherwise to debug backend + // connectivity issues. + GoogleReferenceId string `json:"googleReferenceId,omitempty"` + + // Id: [Output Only] The unique identifier for the resource. This + // identifier is defined by the server. + Id uint64 `json:"id,omitempty,string"` + + // Interconnect: URL of the underlying Interconnect object that this + // attachment's traffic will traverse through. + Interconnect string `json:"interconnect,omitempty"` + + // Kind: [Output Only] Type of the resource. Always + // compute#interconnectAttachment for interconnect attachments. + 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 with + // RFC1035. 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"` + + // OperationalStatus: [Output Only] The current status of whether or not + // this interconnect attachment is functional. + // + // Possible values: + // "OS_ACTIVE" + // "OS_UNPROVISIONED" + OperationalStatus string `json:"operationalStatus,omitempty"` + + // PrivateInterconnectInfo: [Output Only] Information specific to a + // Private InterconnectAttachment. Only populated if the interconnect + // that this is attached is of type IT_PRIVATE. + PrivateInterconnectInfo *InterconnectAttachmentPrivateInfo `json:"privateInterconnectInfo,omitempty"` + + // Region: [Output Only] URL of the region where the regional + // interconnect attachment resides. + Region string `json:"region,omitempty"` + + // Router: URL of the cloud router to be used for dynamic routing. This + // router must be in the same region as this InterconnectAttachment. The + // InterconnectAttachment will automatically connect the Interconnect to + // the network & region within which the Cloud Router is configured. + Router string `json:"router,omitempty"` + + // SelfLink: [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. + // "CloudRouterIpAddress") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CloudRouterIpAddress") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectAttachment) MarshalJSON() ([]byte, error) { + type noMethod InterconnectAttachment + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InterconnectAttachmentAggregatedList struct { + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. + Id string `json:"id,omitempty"` + + // Items: A list of InterconnectAttachmentsScopedList resources. + Items map[string]InterconnectAttachmentsScopedList `json:"items,omitempty"` + + // Kind: [Output Only] Type of resource. Always + // compute#interconnectAttachmentAggregatedList for aggregated lists of + // interconnect attachments. + 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 + // than maxResults, 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] Server-defined URL for this resource. + SelfLink string `json:"selfLink,omitempty"` + + // Warning: [Output Only] Informational warning message. + Warning *InterconnectAttachmentAggregatedListWarning `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectAttachmentAggregatedList) MarshalJSON() ([]byte, error) { + type noMethod InterconnectAttachmentAggregatedList + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// InterconnectAttachmentAggregatedListWarning: [Output Only] +// Informational warning message. +type InterconnectAttachmentAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InterconnectAttachmentAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectAttachmentAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod InterconnectAttachmentAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InterconnectAttachmentAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectAttachmentAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod InterconnectAttachmentAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// InterconnectAttachmentList: Response to the list request, and +// contains a list of interconnect attachments. +type InterconnectAttachmentList struct { + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. + Id string `json:"id,omitempty"` + + // Items: A list of InterconnectAttachment resources. + Items []*InterconnectAttachment `json:"items,omitempty"` + + // Kind: [Output Only] Type of resource. Always + // compute#interconnectAttachmentList for lists of interconnect + // attachments. + 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 + // than maxResults, 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] Server-defined URL for this resource. + SelfLink string `json:"selfLink,omitempty"` + + // Warning: [Output Only] Informational warning message. + Warning *InterconnectAttachmentListWarning `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectAttachmentList) MarshalJSON() ([]byte, error) { + type noMethod InterconnectAttachmentList + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// InterconnectAttachmentListWarning: [Output Only] Informational +// warning message. +type InterconnectAttachmentListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InterconnectAttachmentListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectAttachmentListWarning) MarshalJSON() ([]byte, error) { + type noMethod InterconnectAttachmentListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InterconnectAttachmentListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectAttachmentListWarningData) MarshalJSON() ([]byte, error) { + type noMethod InterconnectAttachmentListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// InterconnectAttachmentPrivateInfo: Private information for an +// interconnect attachment when this belongs to an interconnect of type +// IT_PRIVATE. +type InterconnectAttachmentPrivateInfo struct { + // Tag8021q: [Output Only] 802.1q encapsulation tag to be used for + // traffic between Google and the customer, going to and from this + // network and region. + Tag8021q int64 `json:"tag8021q,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Tag8021q") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Tag8021q") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectAttachmentPrivateInfo) MarshalJSON() ([]byte, error) { + type noMethod InterconnectAttachmentPrivateInfo + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InterconnectAttachmentsScopedList struct { + // InterconnectAttachments: List of interconnect attachments contained + // in this scope. + InterconnectAttachments []*InterconnectAttachment `json:"interconnectAttachments,omitempty"` + + // Warning: Informational warning which replaces the list of addresses + // when the list is empty. + Warning *InterconnectAttachmentsScopedListWarning `json:"warning,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "InterconnectAttachments") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "InterconnectAttachments") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectAttachmentsScopedList) MarshalJSON() ([]byte, error) { + type noMethod InterconnectAttachmentsScopedList + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// InterconnectAttachmentsScopedListWarning: Informational warning which +// replaces the list of addresses when the list is empty. +type InterconnectAttachmentsScopedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InterconnectAttachmentsScopedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectAttachmentsScopedListWarning) MarshalJSON() ([]byte, error) { + type noMethod InterconnectAttachmentsScopedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InterconnectAttachmentsScopedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectAttachmentsScopedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod InterconnectAttachmentsScopedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// InterconnectCircuitInfo: Describes a single physical circuit between +// the Customer and Google. CircuitInfo objects are created by Google, +// so all fields are output only. Next id: 4 +type InterconnectCircuitInfo struct { + // CustomerDemarcId: Customer-side demarc ID for this circuit. This will + // only be set if it was provided by the Customer to Google during + // circuit turn-up. + CustomerDemarcId string `json:"customerDemarcId,omitempty"` + + // GoogleCircuitId: Google-assigned unique ID for this circuit. Assigned + // at circuit turn-up. + GoogleCircuitId string `json:"googleCircuitId,omitempty"` + + // GoogleDemarcId: Google-side demarc ID for this circuit. Assigned at + // circuit turn-up and provided by Google to the customer in the LOA. + GoogleDemarcId string `json:"googleDemarcId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CustomerDemarcId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CustomerDemarcId") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectCircuitInfo) MarshalJSON() ([]byte, error) { + type noMethod InterconnectCircuitInfo + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// InterconnectList: Response to the list request, and contains a list +// of interconnects. +type InterconnectList struct { + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. + Id string `json:"id,omitempty"` + + // Items: A list of Interconnect resources. + Items []*Interconnect `json:"items,omitempty"` + + // Kind: [Output Only] Type of resource. Always compute#interconnectList + // for lists of interconnects. + 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 + // than maxResults, 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] Server-defined URL for this resource. + SelfLink string `json:"selfLink,omitempty"` + + // Warning: [Output Only] Informational warning message. + Warning *InterconnectListWarning `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectList) MarshalJSON() ([]byte, error) { + type noMethod InterconnectList + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// InterconnectListWarning: [Output Only] Informational warning message. +type InterconnectListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InterconnectListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectListWarning) MarshalJSON() ([]byte, error) { + type noMethod InterconnectListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InterconnectListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectListWarningData) MarshalJSON() ([]byte, error) { + type noMethod InterconnectListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// InterconnectLocation: Protocol definitions for Mixer API to support +// InterconnectLocation. +type InterconnectLocation struct { + // Address: [Output Only] The postal address of the Point of Presence, + // each line in the address is separated by a newline character. + Address string `json:"address,omitempty"` + + // AvailabilityZone: Availability zone for this location. Within a city, + // maintenance will not be simultaneously scheduled in more than one + // availability zone. Example: "zone1" or "zone2". + AvailabilityZone string `json:"availabilityZone,omitempty"` + + // City: City designator used by the Interconnect UI to locate this + // InterconnectLocation within the Continent. For example: "Chicago, + // IL", "Amsterdam, Netherlands". + City string `json:"city,omitempty"` + + // Continent: Continent for this location. Used by the location picker + // in the Interconnect UI. + // + // Possible values: + // "C_AFRICA" + // "C_ASIA_PAC" + // "C_EUROPE" + // "C_NORTH_AMERICA" + // "C_SOUTH_AMERICA" + Continent string `json:"continent,omitempty"` + + // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text + // format. + CreationTimestamp string `json:"creationTimestamp,omitempty"` + + // Description: [Output Only] An optional description of the resource. + Description string `json:"description,omitempty"` + + // FacilityProvider: [Output Only] The name of the provider for this + // facility (e.g., EQUINIX). + FacilityProvider string `json:"facilityProvider,omitempty"` + + // FacilityProviderFacilityId: [Output Only] A provider-assigned + // Identifier for this facility (e.g., Ashburn-DC1). + FacilityProviderFacilityId string `json:"facilityProviderFacilityId,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] Type of the resource. Always + // compute#interconnectLocation for interconnect locations. + Kind string `json:"kind,omitempty"` + + // Name: [Output Only] Name of the resource. + Name string `json:"name,omitempty"` + + // PeeringdbFacilityId: [Output Only] The peeringdb identifier for this + // facility (corresponding with a netfac type in peeringdb). + PeeringdbFacilityId string `json:"peeringdbFacilityId,omitempty"` + + // RegionInfos: [Output Only] A list of InterconnectLocation.RegionInfo + // objects, that describe parameters pertaining to the relation between + // this InterconnectLocation and various Google Cloud regions. + RegionInfos []*InterconnectLocationRegionInfo `json:"regionInfos,omitempty"` + + // SelfLink: [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. "Address") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Address") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectLocation) MarshalJSON() ([]byte, error) { + type noMethod InterconnectLocation + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// InterconnectLocationList: Response to the list request, and contains +// a list of interconnect locations. +type InterconnectLocationList struct { + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. + Id string `json:"id,omitempty"` + + // Items: A list of InterconnectLocation resources. + Items []*InterconnectLocation `json:"items,omitempty"` + + // Kind: [Output Only] Type of resource. Always + // compute#interconnectLocationList for lists of interconnect locations. + 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 + // than maxResults, 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] Server-defined URL for this resource. + SelfLink string `json:"selfLink,omitempty"` + + // Warning: [Output Only] Informational warning message. + Warning *InterconnectLocationListWarning `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectLocationList) MarshalJSON() ([]byte, error) { + type noMethod InterconnectLocationList + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// InterconnectLocationListWarning: [Output Only] Informational warning +// message. +type InterconnectLocationListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*InterconnectLocationListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectLocationListWarning) MarshalJSON() ([]byte, error) { + type noMethod InterconnectLocationListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InterconnectLocationListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectLocationListWarningData) MarshalJSON() ([]byte, error) { + type noMethod InterconnectLocationListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// InterconnectLocationRegionInfo: Information about any potential +// InterconnectAttachments between an Interconnect at a specific +// InterconnectLocation, and a specific Cloud Region. +type InterconnectLocationRegionInfo struct { + // ExpectedRttMs: Expected round-trip time in milliseconds, from this + // InterconnectLocation to a VM in this region. + ExpectedRttMs int64 `json:"expectedRttMs,omitempty,string"` + + // LocationPresence: Identifies the network presence of this location. + // + // Possible values: + // "LP_GLOBAL" + // "LP_LOCAL_REGION" + LocationPresence string `json:"locationPresence,omitempty"` + + // Region: URL for the region of this location. + Region string `json:"region,omitempty"` + + // RegionKey: Scope key for the region of this location. + RegionKey string `json:"regionKey,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ExpectedRttMs") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ExpectedRttMs") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectLocationRegionInfo) MarshalJSON() ([]byte, error) { + type noMethod InterconnectLocationRegionInfo + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// InterconnectOutageNotification: Description of a planned outage on +// this Interconnect. Next id: 9 +type InterconnectOutageNotification struct { + // AffectedCircuits: Iff issue_type is IT_PARTIAL_OUTAGE, a list of the + // Google-side circuit IDs that will be affected. + AffectedCircuits []string `json:"affectedCircuits,omitempty"` + + // Description: Short user-visible description of the purpose of the + // outage. + Description string `json:"description,omitempty"` + + EndTime int64 `json:"endTime,omitempty,string"` + + // Possible values: + // "IT_OUTAGE" + // "IT_PARTIAL_OUTAGE" + IssueType string `json:"issueType,omitempty"` + + // Name: Unique identifier for this outage notification. + Name string `json:"name,omitempty"` + + // Possible values: + // "NSRC_GOOGLE" + Source string `json:"source,omitempty"` + + // StartTime: Scheduled start and end times for the outage (milliseconds + // since Unix epoch). + StartTime int64 `json:"startTime,omitempty,string"` + + // Possible values: + // "NS_ACTIVE" + // "NS_CANCELED" + State string `json:"state,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AffectedCircuits") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AffectedCircuits") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *InterconnectOutageNotification) MarshalJSON() ([]byte, error) { + type noMethod InterconnectOutageNotification + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // License: A license resource. type License struct { // ChargesUseFee: [Output Only] Deprecated. This field no longer @@ -8672,6 +13358,9 @@ type LogConfig struct { // Counter: Counter options. Counter *LogConfigCounterOptions `json:"counter,omitempty"` + // DataAccess: Data access options. + DataAccess *LogConfigDataAccessOptions `json:"dataAccess,omitempty"` + // ForceSendFields is a list of field names (e.g. "CloudAudit") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -8697,6 +13386,10 @@ func (s *LogConfig) MarshalJSON() ([]byte, error) { // LogConfigCloudAuditOptions: Write a Cloud Audit log type LogConfigCloudAuditOptions struct { + // AuthorizationLoggingOptions: Information used by the Cloud Audit + // Logging pipeline. + AuthorizationLoggingOptions *AuthorizationLoggingOptions `json:"authorizationLoggingOptions,omitempty"` + // LogName: The log_name to populate in the Cloud Audit Record. // // Possible values: @@ -8705,20 +13398,22 @@ type LogConfigCloudAuditOptions struct { // "UNSPECIFIED_LOG_NAME" LogName string `json:"logName,omitempty"` - // ForceSendFields is a list of field names (e.g. "LogName") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. + // ForceSendFields is a list of field names (e.g. + // "AuthorizationLoggingOptions") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LogName") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. + // NullFields is a list of field names (e.g. + // "AuthorizationLoggingOptions") to include in API requests with the + // JSON null value. By default, fields with empty values are omitted + // from API requests. However, any field with an empty value appearing + // in NullFields will be sent to the server as null. It is an error if a + // field in this list has a non-empty value. This may be used to include + // null fields in Patch requests. NullFields []string `json:"-"` } @@ -8728,7 +13423,29 @@ func (s *LogConfigCloudAuditOptions) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// LogConfigCounterOptions: Options for counters +// LogConfigCounterOptions: Increment a streamz counter with the +// specified metric and field names. +// +// Metric names should start with a '/', generally be lowercase-only, +// and end in "_count". Field names should not contain an initial slash. +// The actual exported metric names will have "/iam/policy" +// prepended. +// +// Field names correspond to IAM request parameters and field values are +// their respective values. +// +// At present the only supported field names are - "iam_principal", +// corresponding to IAMContext.principal; - "" (empty string), resulting +// in one aggretated counter with no field. +// +// Examples: counter { metric: "/debug_access_count" field: +// "iam_principal" } ==> increment counter +// /iam/policy/backend_debug_access_count {iam_principal=[value of +// IAMContext.principal]} +// +// At this time we do not support: * multiple field names (though this +// may be supported in the future) * decrementing the counter * +// incrementing it by anything other than 1 type LogConfigCounterOptions struct { // Field: The field value to attribute. Field string `json:"field,omitempty"` @@ -8759,6 +13476,40 @@ func (s *LogConfigCounterOptions) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// LogConfigDataAccessOptions: Write a Data Access (Gin) log +type LogConfigDataAccessOptions struct { + // LogMode: Whether Gin logging should happen in a fail-closed manner at + // the caller. This is relevant only in the LocalIAM implementation, for + // now. + // + // Possible values: + // "LOG_FAIL_CLOSED" + // "LOG_MODE_UNSPECIFIED" + LogMode string `json:"logMode,omitempty"` + + // ForceSendFields is a list of field names (e.g. "LogMode") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "LogMode") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *LogConfigDataAccessOptions) MarshalJSON() ([]byte, error) { + type noMethod LogConfigDataAccessOptions + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // MachineType: A Machine Type resource. type MachineType struct { // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text @@ -8840,11 +13591,11 @@ func (s *MachineType) MarshalJSON() ([]byte, error) { } type MachineTypeAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped machine type lists. + // Items: A list of MachineTypesScopedList resources. Items map[string]MachineTypesScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -8863,6 +13614,9 @@ type MachineTypeAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *MachineTypeAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -8890,13 +13644,109 @@ func (s *MachineTypeAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// MachineTypeAggregatedListWarning: [Output Only] Informational warning +// message. +type MachineTypeAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*MachineTypeAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *MachineTypeAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod MachineTypeAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type MachineTypeAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *MachineTypeAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod MachineTypeAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // MachineTypeList: Contains a list of machine types. type MachineTypeList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Machine Type resources. + // Items: A list of MachineType resources. Items []*MachineType `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#machineTypeList @@ -8914,6 +13764,9 @@ type MachineTypeList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *MachineTypeListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -8941,6 +13794,101 @@ func (s *MachineTypeList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// MachineTypeListWarning: [Output Only] Informational warning message. +type MachineTypeListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*MachineTypeListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *MachineTypeListWarning) MarshalJSON() ([]byte, error) { + type noMethod MachineTypeListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type MachineTypeListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *MachineTypeListWarningData) MarshalJSON() ([]byte, error) { + type noMethod MachineTypeListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type MachineTypesScopedList struct { // MachineTypes: [Output Only] List of machine types contained in this // scope. @@ -9104,6 +14052,7 @@ type ManagedInstance struct { // "RECREATING" // "REFRESHING" // "RESTARTING" + // "VERIFYING" CurrentAction string `json:"currentAction,omitempty"` // Id: [Output only] The unique identifier for this resource. This field @@ -9335,7 +14284,7 @@ type MetadataItems struct { // Value: Value for the metadata entry. These are free-form strings, and // only have meaning as interpreted by the image running in the // instance. The only restriction placed on values is that their size - // must be less than or equal to 32768 bytes. + // must be less than or equal to 262144 bytes (256 KiB). Value *string `json:"value,omitempty"` // ForceSendFields is a list of field names (e.g. "Key") to @@ -9443,6 +14392,11 @@ type Network struct { // Peerings: [Output Only] List of network peerings for the resource. Peerings []*NetworkPeering `json:"peerings,omitempty"` + // RoutingConfig: The network-level routing configuration for this + // network. Used by Cloud Router to determine what type of network-wide + // routing behavior to enforce. + RoutingConfig *NetworkRoutingConfig `json:"routingConfig,omitempty"` + // SelfLink: [Output Only] Server-defined URL for the resource. SelfLink string `json:"selfLink,omitempty"` @@ -9491,6 +14445,12 @@ type NetworkInterface struct { // subnet-mode networks. AliasIpRanges []*AliasIpRange `json:"aliasIpRanges,omitempty"` + // Fingerprint: Fingerprint hash of contents stored in this network + // interface. This field will be ignored when inserting an Instance or + // adding a NetworkInterface. An up-to-date fingerprint must be provided + // in order to update the NetworkInterface. + Fingerprint string `json:"fingerprint,omitempty"` + // Kind: [Output Only] Type of the resource. Always // compute#networkInterface for network interfaces. Kind string `json:"kind,omitempty"` @@ -9559,11 +14519,11 @@ func (s *NetworkInterface) MarshalJSON() ([]byte, error) { // NetworkList: Contains a list of networks. type NetworkList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Network resources. + // Items: A list of Network resources. Items []*Network `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#networkList for @@ -9581,6 +14541,9 @@ type NetworkList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *NetworkListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -9608,6 +14571,101 @@ func (s *NetworkList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// NetworkListWarning: [Output Only] Informational warning message. +type NetworkListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*NetworkListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NetworkListWarning) MarshalJSON() ([]byte, error) { + type noMethod NetworkListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type NetworkListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NetworkListWarningData) MarshalJSON() ([]byte, error) { + type noMethod NetworkListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // NetworkPeering: A network peering attached to a network resource. The // message includes the peering name, peer network, peering state, and a // flag indicating whether Google Compute Engine should automatically @@ -9670,6 +14728,45 @@ func (s *NetworkPeering) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// NetworkRoutingConfig: A routing configuration attached to a network +// resource. The message includes the list of routers associated with +// the network, and a flag indicating the type of routing behavior to +// enforce network-wide. +type NetworkRoutingConfig struct { + // RoutingMode: The network-wide routing mode to use. If set to + // REGIONAL, this network's cloud routers will only advertise routes + // with subnetworks of this network in the same region as the router. If + // set to GLOBAL, this network's cloud routers will advertise routes + // with all subnetworks of this network, across regions. + // + // Possible values: + // "GLOBAL" + // "REGIONAL" + RoutingMode string `json:"routingMode,omitempty"` + + // ForceSendFields is a list of field names (e.g. "RoutingMode") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "RoutingMode") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NetworkRoutingConfig) MarshalJSON() ([]byte, error) { + type noMethod NetworkRoutingConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type NetworksAddPeeringRequest struct { // AutoCreateRoutes: Whether Google Compute Engine manages the routes // automatically. @@ -10045,6 +15142,9 @@ type OperationAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *OperationAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -10072,6 +15172,102 @@ func (s *OperationAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// OperationAggregatedListWarning: [Output Only] Informational warning +// message. +type OperationAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*OperationAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *OperationAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod OperationAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type OperationAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *OperationAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod OperationAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // OperationList: Contains a list of Operation resources. type OperationList struct { // Id: [Output Only] The unique identifier for the resource. This @@ -10096,6 +15292,9 @@ type OperationList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *OperationListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -10123,6 +15322,101 @@ func (s *OperationList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// OperationListWarning: [Output Only] Informational warning message. +type OperationListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*OperationListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *OperationListWarning) MarshalJSON() ([]byte, error) { + type noMethod OperationListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type OperationListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *OperationListWarningData) MarshalJSON() ([]byte, error) { + type noMethod OperationListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type OperationsScopedList struct { // Operations: [Output Only] List of operations contained in this scope. Operations []*Operation `json:"operations,omitempty"` @@ -10467,9 +15761,8 @@ type Project struct { // the Google Cloud Storage bucket where they are stored. UsageExportLocation *UsageExportLocation `json:"usageExportLocation,omitempty"` - // XpnProjectStatus: [Output Only] The role this project has in a Cross - // Project Network (XPN) configuration. Currently only HOST projects are - // differentiated. + // XpnProjectStatus: [Output Only] The role this project has in a shared + // VPC configuration. Currently only HOST projects are differentiated. // // Possible values: // "HOST" @@ -10506,7 +15799,7 @@ func (s *Project) MarshalJSON() ([]byte, error) { } type ProjectsDisableXpnResourceRequest struct { - // XpnResource: XPN resource ID. + // XpnResource: Service resource (a.k.a service project) ID. XpnResource *XpnResourceId `json:"xpnResource,omitempty"` // ForceSendFields is a list of field names (e.g. "XpnResource") to @@ -10533,7 +15826,7 @@ func (s *ProjectsDisableXpnResourceRequest) MarshalJSON() ([]byte, error) { } type ProjectsEnableXpnResourceRequest struct { - // XpnResource: XPN resource ID. + // XpnResource: Service resource (a.k.a service project) ID. XpnResource *XpnResourceId `json:"xpnResource,omitempty"` // ForceSendFields is a list of field names (e.g. "XpnResource") to @@ -10561,7 +15854,8 @@ func (s *ProjectsEnableXpnResourceRequest) MarshalJSON() ([]byte, error) { type ProjectsGetXpnResources struct { // Kind: [Output Only] Type of resource. Always - // compute#projectsGetXpnResources for lists of XPN resources. + // compute#projectsGetXpnResources for lists of service resources (a.k.a + // service projects) Kind string `json:"kind,omitempty"` // NextPageToken: [Output Only] This token allows you to get the next @@ -10572,7 +15866,8 @@ type ProjectsGetXpnResources struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // Resources: XPN resources attached to this project as their XPN host. + // Resources: Service resources (a.k.a service projects) attached to + // this project as their shared VPC host. Resources []*XpnResourceId `json:"resources,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -10604,8 +15899,8 @@ func (s *ProjectsGetXpnResources) MarshalJSON() ([]byte, error) { type ProjectsListXpnHostsRequest struct { // Organization: Optional organization ID managed by Cloud Resource - // Manager, for which to list XPN host projects. If not specified, the - // organization will be inferred from the project. + // Manager, for which to list shared VPC host projects. If not + // specified, the organization will be inferred from the project. Organization string `json:"organization,omitempty"` // ForceSendFields is a list of field names (e.g. "Organization") to @@ -10654,15 +15949,20 @@ type Quota struct { // "INSTANCE_GROUPS" // "INSTANCE_GROUP_MANAGERS" // "INSTANCE_TEMPLATES" + // "INTERCONNECTS" // "IN_USE_ADDRESSES" // "LOCAL_SSD_TOTAL_GB" // "NETWORKS" // "NVIDIA_K80_GPUS" + // "NVIDIA_P100_GPUS" // "PREEMPTIBLE_CPUS" + // "PREEMPTIBLE_LOCAL_SSD_GB" // "REGIONAL_AUTOSCALERS" // "REGIONAL_INSTANCE_GROUP_MANAGERS" // "ROUTERS" // "ROUTES" + // "SECURITY_POLICIES" + // "SECURITY_POLICY_RULES" // "SNAPSHOTS" // "SSD_TOTAL_GB" // "SSL_CERTIFICATES" @@ -10673,6 +15973,7 @@ type Quota struct { // "TARGET_INSTANCES" // "TARGET_POOLS" // "TARGET_SSL_PROXIES" + // "TARGET_TCP_PROXIES" // "TARGET_VPN_GATEWAYS" // "URL_MAPS" // "VPN_TUNNELS" @@ -10831,23 +16132,30 @@ func (s *Region) MarshalJSON() ([]byte, error) { // RegionAutoscalerList: Contains a list of autoscalers. type RegionAutoscalerList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 autoscalers. + // Items: A list of Autoscaler resources. Items []*Autoscaler `json:"items,omitempty"` // Kind: Type of resource. Kind string `json:"kind,omitempty"` - // NextPageToken: [Output Only] A token used to continue a truncated - // 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 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] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *RegionAutoscalerListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -10875,10 +16183,106 @@ func (s *RegionAutoscalerList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RegionAutoscalerListWarning: [Output Only] Informational warning +// message. +type RegionAutoscalerListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*RegionAutoscalerListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionAutoscalerListWarning) MarshalJSON() ([]byte, error) { + type noMethod RegionAutoscalerListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RegionAutoscalerListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionAutoscalerListWarningData) MarshalJSON() ([]byte, error) { + type noMethod RegionAutoscalerListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // RegionInstanceGroupList: Contains a list of InstanceGroup resources. type RegionInstanceGroupList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 InstanceGroup resources. @@ -10895,10 +16299,12 @@ type RegionInstanceGroupList struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] The URL for this resource type. The server - // generates this URL. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *RegionInstanceGroupListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -10926,14 +16332,110 @@ func (s *RegionInstanceGroupList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RegionInstanceGroupListWarning: [Output Only] Informational warning +// message. +type RegionInstanceGroupListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*RegionInstanceGroupListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionInstanceGroupListWarning) MarshalJSON() ([]byte, error) { + type noMethod RegionInstanceGroupListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RegionInstanceGroupListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionInstanceGroupListWarningData) MarshalJSON() ([]byte, error) { + type noMethod RegionInstanceGroupListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // RegionInstanceGroupManagerList: Contains a list of managed instance // groups. type RegionInstanceGroupManagerList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 managed instance groups. + // Items: A list of InstanceGroupManager resources. Items []*InstanceGroupManager `json:"items,omitempty"` // Kind: [Output Only] The resource type, which is always @@ -10941,14 +16443,20 @@ type RegionInstanceGroupManagerList struct { // groups that exist in th regional scope. Kind string `json:"kind,omitempty"` - // NextPageToken: [Output only] A token used to continue a truncated - // 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 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] The URL for this resource type. The server - // generates this URL. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *RegionInstanceGroupManagerListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -10976,6 +16484,102 @@ func (s *RegionInstanceGroupManagerList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RegionInstanceGroupManagerListWarning: [Output Only] Informational +// warning message. +type RegionInstanceGroupManagerListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*RegionInstanceGroupManagerListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionInstanceGroupManagerListWarning) MarshalJSON() ([]byte, error) { + type noMethod RegionInstanceGroupManagerListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RegionInstanceGroupManagerListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionInstanceGroupManagerListWarningData) MarshalJSON() ([]byte, error) { + type noMethod RegionInstanceGroupManagerListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type RegionInstanceGroupManagersAbandonInstancesRequest struct { // Instances: The URLs of one or more instances to abandon. This can be // a full URL or a partial URL, such as @@ -11194,12 +16798,11 @@ func (s *RegionInstanceGroupManagersSetTemplateRequest) MarshalJSON() ([]byte, e } type RegionInstanceGroupsListInstances struct { - // Id: [Output Only] Unique identifier for the resource. Defined by the + // Id: [Output Only] Unique identifier for the resource; defined by the // server. Id string `json:"id,omitempty"` - // Items: A list of instances and any named ports that are assigned to - // those instances. + // Items: A list of InstanceWithNamedPorts resources. Items []*InstanceWithNamedPorts `json:"items,omitempty"` // Kind: The resource type. @@ -11213,9 +16816,12 @@ type RegionInstanceGroupsListInstances struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] Server-defined URL for the resource. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *RegionInstanceGroupsListInstancesWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -11243,6 +16849,102 @@ func (s *RegionInstanceGroupsListInstances) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RegionInstanceGroupsListInstancesWarning: [Output Only] Informational +// warning message. +type RegionInstanceGroupsListInstancesWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*RegionInstanceGroupsListInstancesWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionInstanceGroupsListInstancesWarning) MarshalJSON() ([]byte, error) { + type noMethod RegionInstanceGroupsListInstancesWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RegionInstanceGroupsListInstancesWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionInstanceGroupsListInstancesWarningData) MarshalJSON() ([]byte, error) { + type noMethod RegionInstanceGroupsListInstancesWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type RegionInstanceGroupsListInstancesRequest struct { // InstanceState: Instances in which state should be returned. Valid // options are: 'ALL', 'RUNNING'. By default, it lists all instances. @@ -11318,11 +17020,11 @@ func (s *RegionInstanceGroupsSetNamedPortsRequest) MarshalJSON() ([]byte, error) // RegionList: Contains a list of region resources. type RegionList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Region resources. + // Items: A list of Region resources. Items []*Region `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#regionList for @@ -11340,6 +17042,9 @@ type RegionList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *RegionListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -11367,6 +17072,101 @@ func (s *RegionList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RegionListWarning: [Output Only] Informational warning message. +type RegionListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*RegionListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionListWarning) MarshalJSON() ([]byte, error) { + type noMethod RegionListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RegionListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RegionListWarningData) MarshalJSON() ([]byte, error) { + type noMethod RegionListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type RegionSetLabelsRequest struct { // LabelFingerprint: The fingerprint of the previous set of labels for // this resource, used to detect conflicts. The fingerprint is initially @@ -11695,11 +17495,11 @@ func (s *RouteWarningsData) MarshalJSON() ([]byte, error) { // RouteList: Contains a list of Route resources. type RouteList struct { - // Id: [Output Only] Unique identifier for the resource. Defined by the + // Id: [Output Only] Unique identifier for the resource; defined by the // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Route resources. + // Items: A list of Route resources. Items []*Route `json:"items,omitempty"` // Kind: Type of resource. @@ -11716,6 +17516,9 @@ type RouteList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *RouteListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -11743,6 +17546,101 @@ func (s *RouteList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RouteListWarning: [Output Only] Informational warning message. +type RouteListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*RouteListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RouteListWarning) MarshalJSON() ([]byte, error) { + type noMethod RouteListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RouteListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RouteListWarningData) MarshalJSON() ([]byte, error) { + type noMethod RouteListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Router: Router resource. type Router struct { // Bgp: BGP information specific to this router. @@ -11821,11 +17719,11 @@ func (s *Router) MarshalJSON() ([]byte, error) { // RouterAggregatedList: Contains a list of routers. type RouterAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: A map of scoped router lists. + // Items: A list of Router resources. Items map[string]RoutersScopedList `json:"items,omitempty"` // Kind: Type of resource. @@ -11842,6 +17740,9 @@ type RouterAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *RouterAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -11869,6 +17770,102 @@ func (s *RouterAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RouterAggregatedListWarning: [Output Only] Informational warning +// message. +type RouterAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*RouterAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RouterAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod RouterAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RouterAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RouterAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod RouterAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type RouterBgp struct { // Asn: Local BGP Autonomous System Number (ASN). Must be an RFC6996 // private ASN, either 16-bit or 32-bit. The value will be fixed for @@ -11957,6 +17954,12 @@ type RouterInterface struct { // interface. IpRange string `json:"ipRange,omitempty"` + // LinkedInterconnectAttachment: URI of the linked interconnect + // attachment. It must be in the same region as the router. Each + // interface can have at most one linked resource and it could either be + // a VPN Tunnel or an interconnect attachment. + LinkedInterconnectAttachment string `json:"linkedInterconnectAttachment,omitempty"` + // LinkedVpnTunnel: URI of the linked VPN tunnel. It must be in the same // region as the router. Each interface can have at most one linked // resource and it could either be a VPN Tunnel or an interconnect @@ -11992,8 +17995,8 @@ func (s *RouterInterface) MarshalJSON() ([]byte, error) { // RouterList: Contains a list of Router resources. type RouterList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 Router resources. @@ -12014,6 +18017,9 @@ type RouterList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *RouterListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -12041,6 +18047,101 @@ func (s *RouterList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RouterListWarning: [Output Only] Informational warning message. +type RouterListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*RouterListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RouterListWarning) MarshalJSON() ([]byte, error) { + type noMethod RouterListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RouterListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RouterListWarningData) MarshalJSON() ([]byte, error) { + type noMethod RouterListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type RouterStatus struct { // BestRoutes: Best routes for this router's network. BestRoutes []*Route `json:"bestRoutes,omitempty"` @@ -12492,6 +18593,336 @@ func (s *Scheduling) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SecurityPolicy: A security policy is comprised of one or more rules. +// It can also be associated with one or more 'targets'. +type SecurityPolicy struct { + // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 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"` + + // Fingerprint: Specifies a fingerprint for this resource, which is + // essentially a hash of the metadata's contents and used for optimistic + // locking. The fingerprint is initially generated by Compute Engine and + // changes after every request to modify or update metadata. You must + // always provide an up-to-date fingerprint hash in order to update or + // change metadata. + // + // To see the latest fingerprint, make get() request to the security + // policy. + Fingerprint string `json:"fingerprint,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] Type of the resource. Always + // compute#securityPolicyfor security policies + 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 with + // RFC1035. 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"` + + // Rules: List of rules that belong to this policy. There must always be + // a default rule (rule with priority 2147483647 and match "*"). If no + // rules are provided when creating a security policy, a default rule + // with action "allow" will be added. + Rules []*SecurityPolicyRule `json:"rules,omitempty"` + + // SelfLink: [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. "CreationTimestamp") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *SecurityPolicy) MarshalJSON() ([]byte, error) { + type noMethod SecurityPolicy + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SecurityPolicyList struct { + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. + Id string `json:"id,omitempty"` + + // Items: A list of SecurityPolicy resources. + Items []*SecurityPolicy `json:"items,omitempty"` + + // Kind: [Output Only] Type of resource. Always + // compute#securityPolicyList for listsof securityPolicies + 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 + // than maxResults, 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"` + + // Warning: [Output Only] Informational warning message. + Warning *SecurityPolicyListWarning `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SecurityPolicyList) MarshalJSON() ([]byte, error) { + type noMethod SecurityPolicyList + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SecurityPolicyListWarning: [Output Only] Informational warning +// message. +type SecurityPolicyListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*SecurityPolicyListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SecurityPolicyListWarning) MarshalJSON() ([]byte, error) { + type noMethod SecurityPolicyListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SecurityPolicyListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SecurityPolicyListWarningData) MarshalJSON() ([]byte, error) { + type noMethod SecurityPolicyListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SecurityPolicyReference struct { + SecurityPolicy string `json:"securityPolicy,omitempty"` + + // ForceSendFields is a list of field names (e.g. "SecurityPolicy") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "SecurityPolicy") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *SecurityPolicyReference) MarshalJSON() ([]byte, error) { + type noMethod SecurityPolicyReference + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SecurityPolicyRule: Represents a rule that describes one or more +// match conditions along with the action to be taken when traffic +// matches this condition (allow or deny). +type SecurityPolicyRule struct { + // Action: The Action to preform when the client connection triggers the + // rule. Can currently be either "allow" or "deny()" where valid values + // for status are 403, 404, and 502. + Action string `json:"action,omitempty"` + + // Description: An optional description of this resource. Provide this + // property when you create the resource. + Description string `json:"description,omitempty"` + + // Kind: [Output only] Type of the resource. Always + // compute#securityPolicyRule for security policy rules + Kind string `json:"kind,omitempty"` + + // Match: A match condition that incoming traffic is evaluated against. + // If it evaluates to true, the corresponding ?action? is enforced. + Match *SecurityPolicyRuleMatcher `json:"match,omitempty"` + + // Preview: If set to true, the specified action is not enforced. + Preview bool `json:"preview,omitempty"` + + // Priority: An integer indicating the priority of a rule in the list. + // The priority must be a positive value between 0 and 2147483647. Rules + // are evaluated in the increasing order of priority. + Priority int64 `json:"priority,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Action") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Action") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SecurityPolicyRule) MarshalJSON() ([]byte, error) { + type noMethod SecurityPolicyRule + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SecurityPolicyRuleMatcher: Represents a match condition that incoming +// traffic is evaluated against. Exactly one field must be specified. +type SecurityPolicyRuleMatcher struct { + // SrcIpRanges: CIDR IP address range. Only IPv4 is supported. + SrcIpRanges []string `json:"srcIpRanges,omitempty"` + + // ForceSendFields is a list of field names (e.g. "SrcIpRanges") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "SrcIpRanges") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SecurityPolicyRuleMatcher) MarshalJSON() ([]byte, error) { + type noMethod SecurityPolicyRuleMatcher + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // SerialPortOutput: An instance's serial console output. type SerialPortOutput struct { // Contents: [Output Only] The contents of the console output. @@ -12670,7 +19101,7 @@ type Snapshot struct { // "UPLOADING" Status string `json:"status,omitempty"` - // StorageBytes: [Output Only] A size of the the storage used by the + // StorageBytes: [Output Only] A size of the storage used by the // snapshot. As snapshots share storage, this number is expected to // change with snapshot creation/deletion. StorageBytes int64 `json:"storageBytes,omitempty,string"` @@ -12716,11 +19147,11 @@ func (s *Snapshot) MarshalJSON() ([]byte, error) { // SnapshotList: Contains a list of Snapshot resources. type SnapshotList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Snapshot resources. + // Items: A list of Snapshot resources. Items []*Snapshot `json:"items,omitempty"` // Kind: Type of resource. @@ -12737,6 +19168,9 @@ type SnapshotList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *SnapshotListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -12764,6 +19198,101 @@ func (s *SnapshotList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SnapshotListWarning: [Output Only] Informational warning message. +type SnapshotListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*SnapshotListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SnapshotListWarning) MarshalJSON() ([]byte, error) { + type noMethod SnapshotListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SnapshotListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SnapshotListWarningData) MarshalJSON() ([]byte, error) { + type noMethod SnapshotListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // SslCertificate: An SslCertificate resource. This resource provides a // mechanism to upload an SSL key and certificate to the load balancer // to serve secure connections from the user. @@ -12834,7 +19363,7 @@ func (s *SslCertificate) MarshalJSON() ([]byte, error) { // SslCertificateList: Contains a list of SslCertificate resources. type SslCertificateList struct { - // Id: [Output Only] Unique identifier for the resource. Defined by the + // Id: [Output Only] Unique identifier for the resource; defined by the // server. Id string `json:"id,omitempty"` @@ -12855,6 +19384,9 @@ type SslCertificateList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *SslCertificateListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -12882,8 +19414,121 @@ func (s *SslCertificateList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SslCertificateListWarning: [Output Only] Informational warning +// message. +type SslCertificateListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*SslCertificateListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SslCertificateListWarning) MarshalJSON() ([]byte, error) { + type noMethod SslCertificateListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SslCertificateListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SslCertificateListWarningData) MarshalJSON() ([]byte, error) { + type noMethod SslCertificateListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Subnetwork: A Subnetwork resource. type Subnetwork struct { + // AllowSubnetCidrRoutesOverlap: Whether this subnetwork can conflict + // with static routes. Setting this to true allows this subnetwork's + // primary and secondary ranges to conflict with routes that have + // already been configured on the corresponding network. Static routes + // will take precedence over the subnetwork route if the route prefix + // length is at least as large as the subnetwork prefix length. + // + // Also, packets destined to IPs within subnetwork may contain + // private/sensitive data and are prevented from leaving the virtual + // network. Setting this field to true will disable this feature. + // + // The default value is false and applies to all existing subnetworks + // and automatically created subnetworks. + // + // This field cannot be set to true at resource creation time. + AllowSubnetCidrRoutesOverlap bool `json:"allowSubnetCidrRoutesOverlap,omitempty"` + // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text // format. CreationTimestamp string `json:"creationTimestamp,omitempty"` @@ -12893,6 +19538,12 @@ type Subnetwork struct { // resource creation time. Description string `json:"description,omitempty"` + // Fingerprint: Fingerprint of this resource. A hash of the contents + // stored in this object. This field is used in optimistic locking. This + // field will be ignored when inserting a Subnetwork. An up-to-date + // fingerprint must be provided in order to update the Subnetwork. + Fingerprint string `json:"fingerprint,omitempty"` + // GatewayAddress: [Output Only] The gateway address for default routes // to reach destination addresses outside this subnetwork. This field // can be set only at resource creation time. @@ -12951,21 +19602,22 @@ type Subnetwork struct { // 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 values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. + // ForceSendFields is a list of field names (e.g. + // "AllowSubnetCidrRoutesOverlap") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. 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. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. + // NullFields is a list of field names (e.g. + // "AllowSubnetCidrRoutesOverlap") to include in API requests with the + // JSON null value. By default, fields with empty values are omitted + // from API requests. However, any field with an empty value appearing + // in NullFields will be sent to the server as null. It is an error if a + // field in this list has a non-empty value. This may be used to include + // null fields in Patch requests. NullFields []string `json:"-"` } @@ -12976,11 +19628,11 @@ func (s *Subnetwork) MarshalJSON() ([]byte, error) { } type SubnetworkAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output] A map of scoped Subnetwork lists. + // Items: A list of SubnetworksScopedList resources. Items map[string]SubnetworksScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -12998,6 +19650,9 @@ type SubnetworkAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *SubnetworkAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -13025,13 +19680,109 @@ func (s *SubnetworkAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SubnetworkAggregatedListWarning: [Output Only] Informational warning +// message. +type SubnetworkAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*SubnetworkAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SubnetworkAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod SubnetworkAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SubnetworkAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SubnetworkAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod SubnetworkAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // SubnetworkList: Contains a list of Subnetwork resources. type SubnetworkList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: The Subnetwork resources. + // Items: A list of Subnetwork resources. Items []*Subnetwork `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#subnetworkList @@ -13049,6 +19800,9 @@ type SubnetworkList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *SubnetworkListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -13076,6 +19830,101 @@ func (s *SubnetworkList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SubnetworkListWarning: [Output Only] Informational warning message. +type SubnetworkListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*SubnetworkListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SubnetworkListWarning) MarshalJSON() ([]byte, error) { + type noMethod SubnetworkListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type SubnetworkListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SubnetworkListWarningData) MarshalJSON() ([]byte, error) { + type noMethod SubnetworkListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // SubnetworkSecondaryRange: Represents a secondary IP range of a // subnetwork. type SubnetworkSecondaryRange struct { @@ -13457,8 +20306,8 @@ func (s *TargetHttpProxy) MarshalJSON() ([]byte, error) { // TargetHttpProxyList: A list of TargetHttpProxy resources. type TargetHttpProxyList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 TargetHttpProxy resources. @@ -13479,6 +20328,9 @@ type TargetHttpProxyList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *TargetHttpProxyListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -13506,6 +20358,102 @@ func (s *TargetHttpProxyList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// TargetHttpProxyListWarning: [Output Only] Informational warning +// message. +type TargetHttpProxyListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*TargetHttpProxyListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetHttpProxyListWarning) MarshalJSON() ([]byte, error) { + type noMethod TargetHttpProxyListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type TargetHttpProxyListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetHttpProxyListWarningData) MarshalJSON() ([]byte, error) { + type noMethod TargetHttpProxyListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type TargetHttpsProxiesSetSslCertificatesRequest struct { // SslCertificates: New set of SslCertificate resources to associate // with this TargetHttpsProxy resource. Currently exactly one @@ -13611,8 +20559,8 @@ func (s *TargetHttpsProxy) MarshalJSON() ([]byte, error) { // TargetHttpsProxyList: Contains a list of TargetHttpsProxy resources. type TargetHttpsProxyList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 TargetHttpsProxy resources. @@ -13633,6 +20581,9 @@ type TargetHttpsProxyList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *TargetHttpsProxyListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -13660,6 +20611,102 @@ func (s *TargetHttpsProxyList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// TargetHttpsProxyListWarning: [Output Only] Informational warning +// message. +type TargetHttpsProxyListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*TargetHttpsProxyListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetHttpsProxyListWarning) MarshalJSON() ([]byte, error) { + type noMethod TargetHttpsProxyListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type TargetHttpsProxyListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetHttpsProxyListWarningData) MarshalJSON() ([]byte, error) { + type noMethod TargetHttpsProxyListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // TargetInstance: A TargetInstance resource. This resource defines an // endpoint instance that terminates traffic of certain protocols. type TargetInstance struct { @@ -13745,7 +20792,7 @@ type TargetInstanceAggregatedList struct { // server. Id string `json:"id,omitempty"` - // Items: A map of scoped target instance lists. + // Items: A list of TargetInstance resources. Items map[string]TargetInstancesScopedList `json:"items,omitempty"` // Kind: Type of resource. @@ -13762,6 +20809,9 @@ type TargetInstanceAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *TargetInstanceAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -13789,10 +20839,106 @@ func (s *TargetInstanceAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// TargetInstanceAggregatedListWarning: [Output Only] Informational +// warning message. +type TargetInstanceAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*TargetInstanceAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetInstanceAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod TargetInstanceAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type TargetInstanceAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetInstanceAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod TargetInstanceAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // TargetInstanceList: Contains a list of TargetInstance resources. type TargetInstanceList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 TargetInstance resources. @@ -13812,6 +20958,9 @@ type TargetInstanceList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *TargetInstanceListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -13839,6 +20988,102 @@ func (s *TargetInstanceList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// TargetInstanceListWarning: [Output Only] Informational warning +// message. +type TargetInstanceListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*TargetInstanceListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetInstanceListWarning) MarshalJSON() ([]byte, error) { + type noMethod TargetInstanceListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type TargetInstanceListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetInstanceListWarningData) MarshalJSON() ([]byte, error) { + type noMethod TargetInstanceListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type TargetInstancesScopedList struct { // TargetInstances: List of target instances contained in this scope. TargetInstances []*TargetInstance `json:"targetInstances,omitempty"` @@ -14111,11 +21356,11 @@ func (s *TargetPool) UnmarshalJSON(data []byte) error { } type TargetPoolAggregatedList struct { - // Id: [Output Only] Unique identifier for the resource. Defined by the + // Id: [Output Only] Unique identifier for the resource; defined by the // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped target pool lists. + // Items: A list of TargetPool resources. Items map[string]TargetPoolsScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -14134,6 +21379,9 @@ type TargetPoolAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *TargetPoolAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -14161,6 +21409,102 @@ func (s *TargetPoolAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// TargetPoolAggregatedListWarning: [Output Only] Informational warning +// message. +type TargetPoolAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*TargetPoolAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetPoolAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod TargetPoolAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type TargetPoolAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetPoolAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod TargetPoolAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type TargetPoolInstanceHealth struct { HealthStatus []*HealthStatus `json:"healthStatus,omitempty"` @@ -14198,7 +21542,7 @@ func (s *TargetPoolInstanceHealth) MarshalJSON() ([]byte, error) { // TargetPoolList: Contains a list of TargetPool resources. type TargetPoolList struct { - // Id: [Output Only] Unique identifier for the resource. Defined by the + // Id: [Output Only] Unique identifier for the resource; defined by the // server. Id string `json:"id,omitempty"` @@ -14220,6 +21564,9 @@ type TargetPoolList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *TargetPoolListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -14247,6 +21594,101 @@ func (s *TargetPoolList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// TargetPoolListWarning: [Output Only] Informational warning message. +type TargetPoolListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*TargetPoolListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetPoolListWarning) MarshalJSON() ([]byte, error) { + type noMethod TargetPoolListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type TargetPoolListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetPoolListWarningData) MarshalJSON() ([]byte, error) { + type noMethod TargetPoolListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type TargetPoolsAddHealthCheckRequest struct { // HealthChecks: The HttpHealthCheck to add to the target pool. HealthChecks []*HealthCheckReference `json:"healthChecks,omitempty"` @@ -14687,8 +22129,8 @@ func (s *TargetSslProxy) MarshalJSON() ([]byte, error) { // TargetSslProxyList: Contains a list of TargetSslProxy resources. type TargetSslProxyList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 TargetSslProxy resources. @@ -14708,6 +22150,9 @@ type TargetSslProxyList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *TargetSslProxyListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -14735,6 +22180,102 @@ func (s *TargetSslProxyList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// TargetSslProxyListWarning: [Output Only] Informational warning +// message. +type TargetSslProxyListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*TargetSslProxyListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetSslProxyListWarning) MarshalJSON() ([]byte, error) { + type noMethod TargetSslProxyListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type TargetSslProxyListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetSslProxyListWarningData) MarshalJSON() ([]byte, error) { + type noMethod TargetSslProxyListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type TargetTcpProxiesSetBackendServiceRequest struct { // Service: The URL of the new BackendService resource for the // targetTcpProxy. @@ -14868,8 +22409,8 @@ func (s *TargetTcpProxy) MarshalJSON() ([]byte, error) { // TargetTcpProxyList: Contains a list of TargetTcpProxy resources. type TargetTcpProxyList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 TargetTcpProxy resources. @@ -14889,6 +22430,9 @@ type TargetTcpProxyList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *TargetTcpProxyListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -14916,6 +22460,102 @@ func (s *TargetTcpProxyList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// TargetTcpProxyListWarning: [Output Only] Informational warning +// message. +type TargetTcpProxyListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*TargetTcpProxyListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetTcpProxyListWarning) MarshalJSON() ([]byte, error) { + type noMethod TargetTcpProxyListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type TargetTcpProxyListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetTcpProxyListWarningData) MarshalJSON() ([]byte, error) { + type noMethod TargetTcpProxyListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // TargetVpnGateway: Represents a Target VPN gateway resource. type TargetVpnGateway struct { // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text @@ -15002,11 +22642,11 @@ func (s *TargetVpnGateway) MarshalJSON() ([]byte, error) { } type TargetVpnGatewayAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: A map of scoped target vpn gateway lists. + // Items: A list of TargetVpnGateway resources. Items map[string]TargetVpnGatewaysScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#targetVpnGateway @@ -15024,6 +22664,9 @@ type TargetVpnGatewayAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *TargetVpnGatewayAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -15051,13 +22694,109 @@ func (s *TargetVpnGatewayAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// TargetVpnGatewayAggregatedListWarning: [Output Only] Informational +// warning message. +type TargetVpnGatewayAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*TargetVpnGatewayAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetVpnGatewayAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod TargetVpnGatewayAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type TargetVpnGatewayAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetVpnGatewayAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod TargetVpnGatewayAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // TargetVpnGatewayList: Contains a list of TargetVpnGateway resources. type TargetVpnGatewayList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of TargetVpnGateway resources. + // Items: A list of TargetVpnGateway resources. Items []*TargetVpnGateway `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#targetVpnGateway @@ -15075,6 +22814,9 @@ type TargetVpnGatewayList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *TargetVpnGatewayListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -15102,6 +22844,102 @@ func (s *TargetVpnGatewayList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// TargetVpnGatewayListWarning: [Output Only] Informational warning +// message. +type TargetVpnGatewayListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*TargetVpnGatewayListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetVpnGatewayListWarning) MarshalJSON() ([]byte, error) { + type noMethod TargetVpnGatewayListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type TargetVpnGatewayListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TargetVpnGatewayListWarningData) MarshalJSON() ([]byte, error) { + type noMethod TargetVpnGatewayListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type TargetVpnGatewaysScopedList struct { // TargetVpnGateways: [Output Only] List of target vpn gateways // contained in this scope. @@ -15447,7 +23285,7 @@ func (s *UrlMap) MarshalJSON() ([]byte, error) { // UrlMapList: Contains a list of UrlMap resources. type UrlMapList struct { - // Id: [Output Only] Unique identifier for the resource. Set by the + // Id: [Output Only] Unique identifier for the resource; defined by the // server. Id string `json:"id,omitempty"` @@ -15468,6 +23306,9 @@ type UrlMapList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *UrlMapListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -15495,6 +23336,101 @@ func (s *UrlMapList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// UrlMapListWarning: [Output Only] Informational warning message. +type UrlMapListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*UrlMapListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *UrlMapListWarning) MarshalJSON() ([]byte, error) { + type noMethod UrlMapListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type UrlMapListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *UrlMapListWarningData) MarshalJSON() ([]byte, error) { + type noMethod UrlMapListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type UrlMapReference struct { UrlMap string `json:"urlMap,omitempty"` @@ -15814,11 +23750,11 @@ func (s *VpnTunnel) MarshalJSON() ([]byte, error) { } type VpnTunnelAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped vpn tunnel lists. + // Items: A list of VpnTunnelsScopedList resources. Items map[string]VpnTunnelsScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#vpnTunnel for @@ -15836,6 +23772,9 @@ type VpnTunnelAggregatedList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *VpnTunnelAggregatedListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -15863,13 +23802,109 @@ func (s *VpnTunnelAggregatedList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// VpnTunnelAggregatedListWarning: [Output Only] Informational warning +// message. +type VpnTunnelAggregatedListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*VpnTunnelAggregatedListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *VpnTunnelAggregatedListWarning) MarshalJSON() ([]byte, error) { + type noMethod VpnTunnelAggregatedListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type VpnTunnelAggregatedListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *VpnTunnelAggregatedListWarningData) MarshalJSON() ([]byte, error) { + type noMethod VpnTunnelAggregatedListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // VpnTunnelList: Contains a list of VpnTunnel resources. type VpnTunnelList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of VpnTunnel resources. + // Items: A list of VpnTunnel resources. Items []*VpnTunnel `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#vpnTunnel for @@ -15887,6 +23922,9 @@ type VpnTunnelList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *VpnTunnelListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -15914,6 +23952,101 @@ func (s *VpnTunnelList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// VpnTunnelListWarning: [Output Only] Informational warning message. +type VpnTunnelListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*VpnTunnelListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *VpnTunnelListWarning) MarshalJSON() ([]byte, error) { + type noMethod VpnTunnelListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type VpnTunnelListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *VpnTunnelListWarningData) MarshalJSON() ([]byte, error) { + type noMethod VpnTunnelListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type VpnTunnelsScopedList struct { // VpnTunnels: List of vpn tunnels contained in this scope. VpnTunnels []*VpnTunnel `json:"vpnTunnels,omitempty"` @@ -16042,15 +24175,15 @@ func (s *VpnTunnelsScopedListWarningData) MarshalJSON() ([]byte, error) { } type XpnHostList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of XPN host project URLs. + // Items: [Output Only] A list of shared VPC host project URLs. Items []*Project `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#xpnHostList for - // lists of XPN hosts. + // lists of shared VPC hosts. Kind string `json:"kind,omitempty"` // NextPageToken: [Output Only] This token allows you to get the next @@ -16064,6 +24197,9 @@ type XpnHostList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *XpnHostListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -16091,13 +24227,109 @@ func (s *XpnHostList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// XpnResourceId: XpnResourceId +// XpnHostListWarning: [Output Only] Informational warning message. +type XpnHostListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*XpnHostListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *XpnHostListWarning) MarshalJSON() ([]byte, error) { + type noMethod XpnHostListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type XpnHostListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *XpnHostListWarningData) MarshalJSON() ([]byte, error) { + type noMethod XpnHostListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// XpnResourceId: Service resource (a.k.a service project) ID. type XpnResourceId struct { - // Id: The ID of the XPN resource. In the case of projects, this field - // matches the project's name, not the canonical ID. + // Id: The ID of the service resource. In the case of projects, this + // field matches the project ID (e.g., my-project), not the project + // number (e.g., 12345678). Id string `json:"id,omitempty"` - // Type: The type of the XPN resource. + // Type: The type of the service resource. // // Possible values: // "PROJECT" @@ -16204,7 +24436,7 @@ type ZoneList struct { // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Zone resources. + // Items: A list of Zone resources. Items []*Zone `json:"items,omitempty"` // Kind: Type of resource. @@ -16221,6 +24453,9 @@ type ZoneList struct { // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` + // Warning: [Output Only] Informational warning message. + Warning *ZoneListWarning `json:"warning,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -16248,6 +24483,101 @@ func (s *ZoneList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ZoneListWarning: [Output Only] Informational warning message. +type ZoneListWarning 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" + // "DEPRECATED_RESOURCE_USED" + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" + // "FIELD_VALUE_OVERRIDEN" + // "INJECTED_KERNELS_DEPRECATED" + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" + // "NEXT_HOP_CANNOT_IP_FORWARD" + // "NEXT_HOP_INSTANCE_NOT_FOUND" + // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" + // "NEXT_HOP_NOT_RUNNING" + // "NOT_CRITICAL_ERROR" + // "NO_RESULTS_ON_PAGE" + // "REQUIRED_TOS_AGREEMENT" + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" + // "RESOURCE_NOT_DELETED" + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" + // "UNREACHABLE" + 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 []*ZoneListWarningData `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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ZoneListWarning) MarshalJSON() ([]byte, error) { + type noMethod ZoneListWarning + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type ZoneListWarningData 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ZoneListWarningData) MarshalJSON() ([]byte, error) { + type noMethod ZoneListWarningData + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type ZoneSetLabelsRequest struct { // LabelFingerprint: The fingerprint of the previous set of labels for // this resource, used to detect conflicts. The fingerprint is initially @@ -19523,8 +27853,7 @@ func (c *AutoscalersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, err // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -20763,8 +29092,7 @@ func (c *BackendBucketsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -22241,8 +30569,177 @@ func (c *BackendServicesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "compute.backendServices.setSecurityPolicy": + +type BackendServicesSetSecurityPolicyCall struct { + s *Service + project string + backendService string + securitypolicyreference *SecurityPolicyReference + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetSecurityPolicy: Sets the security policy for the specified backend +// service. +func (r *BackendServicesService) SetSecurityPolicy(project string, backendService string, securitypolicyreference *SecurityPolicyReference) *BackendServicesSetSecurityPolicyCall { + c := &BackendServicesSetSecurityPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + 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 *BackendServicesSetSecurityPolicyCall) RequestId(requestId string) *BackendServicesSetSecurityPolicyCall { + 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 information. +func (c *BackendServicesSetSecurityPolicyCall) Fields(s ...googleapi.Field) *BackendServicesSetSecurityPolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *BackendServicesSetSecurityPolicyCall) Context(ctx context.Context) *BackendServicesSetSecurityPolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *BackendServicesSetSecurityPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *BackendServicesSetSecurityPolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.securitypolicyreference) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendServices/{backendService}/setSecurityPolicy") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "backendService": c.backendService, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.backendServices.setSecurityPolicy" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *BackendServicesSetSecurityPolicyCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Sets the security policy for the specified backend service.", + // "httpMethod": "POST", + // "id": "compute.backendServices.setSecurityPolicy", + // "parameterOrder": [ + // "project", + // "backendService" + // ], + // "parameters": { + // "backendService": { + // "description": "Name of the BackendService resource to which the security policy should be set. The name should conform to RFC1035.", + // "location": "path", + // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "{project}/global/backendServices/{backendService}/setSecurityPolicy", + // "request": { + // "$ref": "SecurityPolicyReference" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" // ] // } @@ -22375,7 +30872,7 @@ func (c *BackendServicesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -25899,8 +34396,7 @@ func (c *FirewallsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -26033,7 +34529,7 @@ func (c *FirewallsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*Tes // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -28776,7 +37272,7 @@ func (c *GlobalAddressesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -29971,7 +38467,7 @@ func (c *GlobalForwardingRulesTestIamPermissionsCall) Do(opts ...googleapi.CallO // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -31649,8 +40145,7 @@ func (c *HealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operation, er // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -31783,7 +40278,7 @@ func (c *HealthChecksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (* // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -32870,8 +41365,7 @@ func (c *HttpHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operation // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -33004,7 +41498,7 @@ func (c *HttpHealthChecksTestIamPermissionsCall) Do(opts ...googleapi.CallOption // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -34087,8 +42581,7 @@ func (c *HttpsHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operatio // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -34221,7 +42714,7 @@ func (c *HttpsHealthChecksTestIamPermissionsCall) Do(opts ...googleapi.CallOptio // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -34605,11 +43098,14 @@ func (r *ImagesService) Deprecate(project string, image string, deprecationstatu // request if it has already been completed. // // For example, consider a situation where you make an initial request -// and then the request times out. If you make the request again with -// the same request ID, the server can check if original operation with -// the same request ID was received, and if so, will ignore the second +// and the request times out. If you make the request again with the +// same request ID, the server can check if original 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) return c @@ -34725,7 +43221,7 @@ func (c *ImagesDeprecateCall) Do(opts ...googleapi.CallOption) (*Operation, erro // "type": "string" // }, // "requestId": { - // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and then the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.", + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", // "location": "query", // "type": "string" // } @@ -35758,7 +44254,7 @@ func (c *ImagesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPe // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -37591,8 +46087,7 @@ func (c *InstanceGroupManagersPatchCall) Do(opts ...googleapi.CallOption) (*Oper // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -41908,7 +50403,7 @@ func (c *InstanceTemplatesTestIamPermissionsCall) Do(opts ...googleapi.CallOptio // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -46688,6 +55183,3016 @@ func (c *InstancesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*Tes } +// method id "compute.instances.updateAccessConfig": + +type InstancesUpdateAccessConfigCall struct { + s *Service + project string + zone string + instance string + accessconfig *AccessConfig + 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 supports PATCH semantics and uses the JSON merge patch +// format and processing rules. +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.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 *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 information. +func (c *InstancesUpdateAccessConfigCall) Fields(s ...googleapi.Field) *InstancesUpdateAccessConfigCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *InstancesUpdateAccessConfigCall) Context(ctx context.Context) *InstancesUpdateAccessConfigCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *InstancesUpdateAccessConfigCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.accessconfig) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/updateAccessConfig") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "zone": c.zone, + "instance": c.instance, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.instances.updateAccessConfig" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned 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) { + 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates the specified access config from an instance's network interface with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", + // "httpMethod": "POST", + // "id": "compute.instances.updateAccessConfig", + // "parameterOrder": [ + // "project", + // "zone", + // "instance", + // "networkInterface" + // ], + // "parameters": { + // "instance": { + // "description": "The instance name for this request.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // }, + // "networkInterface": { + // "description": "The name of the network interface where the access config is attached.", + // "location": "query", + // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "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": "{project}/zones/{zone}/instances/{instance}/updateAccessConfig", + // "request": { + // "$ref": "AccessConfig" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "compute.instances.updateNetworkInterface": + +type InstancesUpdateNetworkInterfaceCall struct { + s *Service + project string + zone string + instance string + networkinterface *NetworkInterface + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// UpdateNetworkInterface: Updates an instance's network interface. This +// method follows PATCH semantics. +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 +} + +// RequestId sets the optional parameter "requestId": An optional +// request ID to identify requests. Specify a unique 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 *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 information. +func (c *InstancesUpdateNetworkInterfaceCall) Fields(s ...googleapi.Field) *InstancesUpdateNetworkInterfaceCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *InstancesUpdateNetworkInterfaceCall) Context(ctx context.Context) *InstancesUpdateNetworkInterfaceCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *InstancesUpdateNetworkInterfaceCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.networkinterface) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/updateNetworkInterface") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "zone": c.zone, + "instance": c.instance, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.instances.updateNetworkInterface" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned 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 { + if res.Body != nil { + res.Body.Close() + } + return nil, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates an instance's network interface. This method follows PATCH semantics.", + // "httpMethod": "PATCH", + // "id": "compute.instances.updateNetworkInterface", + // "parameterOrder": [ + // "project", + // "zone", + // "instance", + // "networkInterface" + // ], + // "parameters": { + // "instance": { + // "description": "The instance name for this request.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // }, + // "networkInterface": { + // "description": "The name of the network interface to update.", + // "location": "query", + // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "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": "{project}/zones/{zone}/instances/{instance}/updateNetworkInterface", + // "request": { + // "$ref": "NetworkInterface" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "compute.interconnectAttachments.aggregatedList": + +type InterconnectAttachmentsAggregatedListCall struct { + s *Service + project string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// AggregatedList: Retrieves an aggregated list of interconnect +// attachments. +func (r *InterconnectAttachmentsService) AggregatedList(project string) *InterconnectAttachmentsAggregatedListCall { + c := &InterconnectAttachmentsAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + return c +} + +// Filter sets the optional parameter "filter": Sets a filter +// {expression} for filtering listed resources. Your {expression} must +// be in the format: field_name comparison_string literal_string. +// +// The field_name is the name of the field you want to compare. Only +// atomic field types are supported (string, number, boolean). The +// comparison_string must be either eq (equals) or ne (not equals). The +// literal_string is the string value to filter to. The literal value +// must be valid for the type of field you are filtering by (string, +// number, boolean). For string fields, the literal value is interpreted +// as a regular expression using RE2 syntax. The literal value must +// match the entire field. +// +// For example, to filter for instances that do not have a name of +// example-instance, you would use name ne example-instance. +// +// You can filter on nested fields. For example, you could filter on +// instances that have set the scheduling.automaticRestart field to +// true. Use filtering on nested fields to take advantage of labels to +// organize and search for results based on label values. +// +// To filter on multiple expressions, provide each separate expression +// within parentheses. For example, (scheduling.automaticRestart eq +// true) (zone eq us-central1-f). Multiple expressions are treated as +// AND expressions, meaning that resources must match all expressions to +// pass the filters. +func (c *InterconnectAttachmentsAggregatedListCall) Filter(filter string) *InterconnectAttachmentsAggregatedListCall { + 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 *InterconnectAttachmentsAggregatedListCall) MaxResults(maxResults int64) *InterconnectAttachmentsAggregatedListCall { + 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 *InterconnectAttachmentsAggregatedListCall) OrderBy(orderBy string) *InterconnectAttachmentsAggregatedListCall { + 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 *InterconnectAttachmentsAggregatedListCall) PageToken(pageToken string) *InterconnectAttachmentsAggregatedListCall { + 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 information. +func (c *InterconnectAttachmentsAggregatedListCall) Fields(s ...googleapi.Field) *InterconnectAttachmentsAggregatedListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +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. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *InterconnectAttachmentsAggregatedListCall) Context(ctx context.Context) *InterconnectAttachmentsAggregatedListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *InterconnectAttachmentsAggregatedListCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/interconnectAttachments") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.interconnectAttachments.aggregatedList" call. +// Exactly one of *InterconnectAttachmentAggregatedList or error will be +// non-nil. 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) { + 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, &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, err + } + ret := &InterconnectAttachmentAggregatedList{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Retrieves an aggregated list of interconnect attachments.", + // "httpMethod": "GET", + // "id": "compute.interconnectAttachments.aggregatedList", + // "parameterOrder": [ + // "project" + // ], + // "parameters": { + // "filter": { + // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", + // "location": "query", + // "type": "string" + // }, + // "maxResults": { + // "default": "500", + // "description": "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)", + // "format": "uint32", + // "location": "query", + // "minimum": "0", + // "type": "integer" + // }, + // "orderBy": { + // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + // "location": "query", + // "type": "string" + // }, + // "pageToken": { + // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the 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": "{project}/aggregated/interconnectAttachments", + // "response": { + // "$ref": "InterconnectAttachmentAggregatedList" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// 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 { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "compute.interconnectAttachments.delete": + +type InterconnectAttachmentsDeleteCall struct { + s *Service + project string + region string + interconnectAttachment string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes the specified interconnect attachment. +func (r *InterconnectAttachmentsService) Delete(project string, region string, interconnectAttachment string) *InterconnectAttachmentsDeleteCall { + c := &InterconnectAttachmentsDeleteCall{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) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +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. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *InterconnectAttachmentsDeleteCall) Context(ctx context.Context) *InterconnectAttachmentsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *InterconnectAttachmentsDeleteCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "region": c.region, + "interconnectAttachment": c.interconnectAttachment, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.interconnectAttachments.delete" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes the specified interconnect attachment.", + // "httpMethod": "DELETE", + // "id": "compute.interconnectAttachments.delete", + // "parameterOrder": [ + // "project", + // "region", + // "interconnectAttachment" + // ], + // "parameters": { + // "interconnectAttachment": { + // "description": "Name of the interconnect attachment to delete.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-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" + // }, + // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "compute.interconnectAttachments.get": + +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. +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 information. +func (c *InterconnectAttachmentsGetCall) Fields(s ...googleapi.Field) *InterconnectAttachmentsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +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. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *InterconnectAttachmentsGetCall) Context(ctx context.Context) *InterconnectAttachmentsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "region": c.region, + "interconnectAttachment": c.interconnectAttachment, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.interconnectAttachments.get" call. +// Exactly one of *InterconnectAttachment or error will be non-nil. 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) { + 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, &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, err + } + ret := &InterconnectAttachment{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns the specified interconnect attachment.", + // "httpMethod": "GET", + // "id": "compute.interconnectAttachments.get", + // "parameterOrder": [ + // "project", + // "region", + // "interconnectAttachment" + // ], + // "parameters": { + // "interconnectAttachment": { + // "description": "Name of the interconnect attachment to return.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-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" + // }, + // "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": "{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", + // "response": { + // "$ref": "InterconnectAttachment" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// method id "compute.interconnectAttachments.insert": + +type InterconnectAttachmentsInsertCall struct { + s *Service + project string + region string + interconnectattachment *InterconnectAttachment + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Insert: Creates an InterconnectAttachment in the specified project +// using the data included in the 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.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 *InterconnectAttachmentsInsertCall) RequestId(requestId string) *InterconnectAttachmentsInsertCall { + 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 information. +func (c *InterconnectAttachmentsInsertCall) Fields(s ...googleapi.Field) *InterconnectAttachmentsInsertCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *InterconnectAttachmentsInsertCall) Context(ctx context.Context) *InterconnectAttachmentsInsertCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *InterconnectAttachmentsInsertCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.interconnectattachment) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/interconnectAttachments") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "region": c.region, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.interconnectAttachments.insert" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned 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 { + if res.Body != nil { + res.Body.Close() + } + return nil, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates an InterconnectAttachment in the specified project using the data included in the request.", + // "httpMethod": "POST", + // "id": "compute.interconnectAttachments.insert", + // "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" + // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "{project}/regions/{region}/interconnectAttachments", + // "request": { + // "$ref": "InterconnectAttachment" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "compute.interconnectAttachments.list": + +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 attachments contained within +// the specified region. +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 +} + +// Filter sets the optional parameter "filter": Sets a filter +// {expression} for filtering listed resources. Your {expression} must +// be in the format: field_name comparison_string literal_string. +// +// The field_name is the name of the field you want to compare. Only +// atomic field types are supported (string, number, boolean). The +// comparison_string must be either eq (equals) or ne (not equals). The +// literal_string is the string value to filter to. The literal value +// must be valid for the type of field you are filtering by (string, +// number, boolean). For string fields, the literal value is interpreted +// as a regular expression using RE2 syntax. The literal value must +// match the entire field. +// +// For example, to filter for instances that do not have a name of +// example-instance, you would use name ne example-instance. +// +// You can filter on nested fields. For example, you could filter on +// instances that have set the scheduling.automaticRestart field to +// true. Use filtering on nested fields to take advantage of labels to +// organize and search for results based on label values. +// +// To filter on multiple expressions, provide each separate expression +// within parentheses. For example, (scheduling.automaticRestart eq +// true) (zone eq us-central1-f). Multiple expressions are treated as +// AND expressions, meaning that resources must match all expressions to +// pass the filters. +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 +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *InterconnectAttachmentsListCall) Fields(s ...googleapi.Field) *InterconnectAttachmentsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +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. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *InterconnectAttachmentsListCall) Context(ctx context.Context) *InterconnectAttachmentsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *InterconnectAttachmentsListCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/interconnectAttachments") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "region": c.region, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.interconnectAttachments.list" call. +// Exactly one of *InterconnectAttachmentList or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *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 *InterconnectAttachmentsListCall) Do(opts ...googleapi.CallOption) (*InterconnectAttachmentList, 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, &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, err + } + ret := &InterconnectAttachmentList{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Retrieves the list of interconnect attachments contained within the specified region.", + // "httpMethod": "GET", + // "id": "compute.interconnectAttachments.list", + // "parameterOrder": [ + // "project", + // "region" + // ], + // "parameters": { + // "filter": { + // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", + // "location": "query", + // "type": "string" + // }, + // "maxResults": { + // "default": "500", + // "description": "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)", + // "format": "uint32", + // "location": "query", + // "minimum": "0", + // "type": "integer" + // }, + // "orderBy": { + // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + // "location": "query", + // "type": "string" + // }, + // "pageToken": { + // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the 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" + // } + // }, + // "path": "{project}/regions/{region}/interconnectAttachments", + // "response": { + // "$ref": "InterconnectAttachmentList" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// 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")) // reset paging to original point + 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) + } +} + +// method id "compute.interconnectAttachments.testIamPermissions": + +type InterconnectAttachmentsTestIamPermissionsCall 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. +func (r *InterconnectAttachmentsService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *InterconnectAttachmentsTestIamPermissionsCall { + c := &InterconnectAttachmentsTestIamPermissionsCall{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 information. +func (c *InterconnectAttachmentsTestIamPermissionsCall) Fields(s ...googleapi.Field) *InterconnectAttachmentsTestIamPermissionsCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *InterconnectAttachmentsTestIamPermissionsCall) Context(ctx context.Context) *InterconnectAttachmentsTestIamPermissionsCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *InterconnectAttachmentsTestIamPermissionsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *InterconnectAttachmentsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.testpermissionsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/interconnectAttachments/{resource}/testIamPermissions") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "region": c.region, + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.interconnectAttachments.testIamPermissions" call. +// Exactly one of *TestPermissionsResponse or error will be non-nil. 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 *InterconnectAttachmentsTestIamPermissionsCall) 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, &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, err + } + ret := &TestPermissionsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns permissions that a caller has on the specified resource.", + // "httpMethod": "POST", + // "id": "compute.interconnectAttachments.testIamPermissions", + // "parameterOrder": [ + // "project", + // "region", + // "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" + // }, + // "region": { + // "description": "The name of the region for this request.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // }, + // "resource": { + // "description": "Name of the resource for this request.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{project}/regions/{region}/interconnectAttachments/{resource}/testIamPermissions", + // "request": { + // "$ref": "TestPermissionsRequest" + // }, + // "response": { + // "$ref": "TestPermissionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// method id "compute.interconnectLocations.get": + +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. Get +// a list of available interconnect locations by making a list() +// 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 + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *InterconnectLocationsGetCall) Fields(s ...googleapi.Field) *InterconnectLocationsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +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. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *InterconnectLocationsGetCall) Context(ctx context.Context) *InterconnectLocationsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *InterconnectLocationsGetCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/interconnectLocations/{interconnectLocation}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "interconnectLocation": c.interconnectLocation, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.interconnectLocations.get" call. +// Exactly one of *InterconnectLocation or error will be non-nil. 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) { + 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, &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, err + } + ret := &InterconnectLocation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns the details for the specified interconnect location. Get a list of available interconnect locations by making a list() request.", + // "httpMethod": "GET", + // "id": "compute.interconnectLocations.get", + // "parameterOrder": [ + // "project", + // "interconnectLocation" + // ], + // "parameters": { + // "interconnectLocation": { + // "description": "Name of the interconnect location to return.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-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" + // } + // }, + // "path": "{project}/global/interconnectLocations/{interconnectLocation}", + // "response": { + // "$ref": "InterconnectLocation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// method id "compute.interconnectLocations.list": + +type InterconnectLocationsListCall struct { + s *Service + project string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Retrieves the list of interconnect locations available to the +// specified project. +func (r *InterconnectLocationsService) List(project string) *InterconnectLocationsListCall { + c := &InterconnectLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + return c +} + +// Filter sets the optional parameter "filter": Sets a filter +// {expression} for filtering listed resources. Your {expression} must +// be in the format: field_name comparison_string literal_string. +// +// The field_name is the name of the field you want to compare. Only +// atomic field types are supported (string, number, boolean). The +// comparison_string must be either eq (equals) or ne (not equals). The +// literal_string is the string value to filter to. The literal value +// must be valid for the type of field you are filtering by (string, +// number, boolean). For string fields, the literal value is interpreted +// as a regular expression using RE2 syntax. The literal value must +// match the entire field. +// +// For example, to filter for instances that do not have a name of +// example-instance, you would use name ne example-instance. +// +// You can filter on nested fields. For example, you could filter on +// instances that have set the scheduling.automaticRestart field to +// true. Use filtering on nested fields to take advantage of labels to +// organize and search for results based on label values. +// +// To filter on multiple expressions, provide each separate expression +// within parentheses. For example, (scheduling.automaticRestart eq +// true) (zone eq us-central1-f). Multiple expressions are treated as +// AND expressions, meaning that resources must match all expressions to +// pass the filters. +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 information. +func (c *InterconnectLocationsListCall) Fields(s ...googleapi.Field) *InterconnectLocationsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +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. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *InterconnectLocationsListCall) Context(ctx context.Context) *InterconnectLocationsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *InterconnectLocationsListCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/interconnectLocations") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.interconnectLocations.list" call. +// Exactly one of *InterconnectLocationList or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *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 *InterconnectLocationsListCall) Do(opts ...googleapi.CallOption) (*InterconnectLocationList, 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, &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, err + } + ret := &InterconnectLocationList{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Retrieves the list of interconnect locations available to the specified project.", + // "httpMethod": "GET", + // "id": "compute.interconnectLocations.list", + // "parameterOrder": [ + // "project" + // ], + // "parameters": { + // "filter": { + // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", + // "location": "query", + // "type": "string" + // }, + // "maxResults": { + // "default": "500", + // "description": "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)", + // "format": "uint32", + // "location": "query", + // "minimum": "0", + // "type": "integer" + // }, + // "orderBy": { + // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + // "location": "query", + // "type": "string" + // }, + // "pageToken": { + // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the 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": "{project}/global/interconnectLocations", + // "response": { + // "$ref": "InterconnectLocationList" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// 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")) // reset paging to original point + 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) + } +} + +// method id "compute.interconnects.delete": + +type InterconnectsDeleteCall struct { + s *Service + project string + interconnect string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes the specified interconnect. +func (r *InterconnectsService) Delete(project string, interconnect string) *InterconnectsDeleteCall { + c := &InterconnectsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + 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 *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 information. +func (c *InterconnectsDeleteCall) Fields(s ...googleapi.Field) *InterconnectsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *InterconnectsDeleteCall) Context(ctx context.Context) *InterconnectsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *InterconnectsDeleteCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/interconnects/{interconnect}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "interconnect": c.interconnect, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.interconnects.delete" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned 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) { + 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes the specified interconnect.", + // "httpMethod": "DELETE", + // "id": "compute.interconnects.delete", + // "parameterOrder": [ + // "project", + // "interconnect" + // ], + // "parameters": { + // "interconnect": { + // "description": "Name of the interconnect to delete.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-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" + // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "{project}/global/interconnects/{interconnect}", + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "compute.interconnects.get": + +type InterconnectsGetCall struct { + s *Service + project string + interconnect 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. +func (r *InterconnectsService) Get(project string, interconnect string) *InterconnectsGetCall { + c := &InterconnectsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + 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 information. +func (c *InterconnectsGetCall) Fields(s ...googleapi.Field) *InterconnectsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +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. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *InterconnectsGetCall) Context(ctx context.Context) *InterconnectsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *InterconnectsGetCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/interconnects/{interconnect}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "interconnect": c.interconnect, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.interconnects.get" call. +// Exactly one of *Interconnect or error will be non-nil. 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) { + 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, &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, err + } + ret := &Interconnect{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns the specified interconnect. Get a list of available interconnects by making a list() request.", + // "httpMethod": "GET", + // "id": "compute.interconnects.get", + // "parameterOrder": [ + // "project", + // "interconnect" + // ], + // "parameters": { + // "interconnect": { + // "description": "Name of the interconnect to return.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-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" + // } + // }, + // "path": "{project}/global/interconnects/{interconnect}", + // "response": { + // "$ref": "Interconnect" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// method id "compute.interconnects.insert": + +type InterconnectsInsertCall struct { + s *Service + project string + interconnect *Interconnect + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Insert: Creates a Interconnect in the specified project using the +// data included in the request. +func (r *InterconnectsService) Insert(project string, interconnect *Interconnect) *InterconnectsInsertCall { + c := &InterconnectsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + 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 information. +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. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *InterconnectsInsertCall) Context(ctx context.Context) *InterconnectsInsertCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *InterconnectsInsertCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.interconnect) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/interconnects") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.interconnects.insert" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned 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 { + if res.Body != nil { + res.Body.Close() + } + return nil, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a Interconnect in the specified project using the data included in the request.", + // "httpMethod": "POST", + // "id": "compute.interconnects.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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "{project}/global/interconnects", + // "request": { + // "$ref": "Interconnect" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "compute.interconnects.list": + +type InterconnectsListCall struct { + s *Service + project string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Retrieves the list of interconnect available to the specified +// project. +func (r *InterconnectsService) List(project string) *InterconnectsListCall { + c := &InterconnectsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + return c +} + +// Filter sets the optional parameter "filter": Sets a filter +// {expression} for filtering listed resources. Your {expression} must +// be in the format: field_name comparison_string literal_string. +// +// The field_name is the name of the field you want to compare. Only +// atomic field types are supported (string, number, boolean). The +// comparison_string must be either eq (equals) or ne (not equals). The +// literal_string is the string value to filter to. The literal value +// must be valid for the type of field you are filtering by (string, +// number, boolean). For string fields, the literal value is interpreted +// as a regular expression using RE2 syntax. The literal value must +// match the entire field. +// +// For example, to filter for instances that do not have a name of +// example-instance, you would use name ne example-instance. +// +// You can filter on nested fields. For example, you could filter on +// instances that have set the scheduling.automaticRestart field to +// true. Use filtering on nested fields to take advantage of labels to +// organize and search for results based on label values. +// +// To filter on multiple expressions, provide each separate expression +// within parentheses. For example, (scheduling.automaticRestart eq +// true) (zone eq us-central1-f). Multiple expressions are treated as +// AND expressions, meaning that resources must match all expressions to +// pass the filters. +func (c *InterconnectsListCall) Filter(filter string) *InterconnectsListCall { + 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 *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 information. +func (c *InterconnectsListCall) Fields(s ...googleapi.Field) *InterconnectsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +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. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *InterconnectsListCall) Context(ctx context.Context) *InterconnectsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *InterconnectsListCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/interconnects") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.interconnects.list" call. +// Exactly one of *InterconnectList or error will be non-nil. 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) { + 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, &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, err + } + ret := &InterconnectList{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Retrieves the list of interconnect available to the specified project.", + // "httpMethod": "GET", + // "id": "compute.interconnects.list", + // "parameterOrder": [ + // "project" + // ], + // "parameters": { + // "filter": { + // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", + // "location": "query", + // "type": "string" + // }, + // "maxResults": { + // "default": "500", + // "description": "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)", + // "format": "uint32", + // "location": "query", + // "minimum": "0", + // "type": "integer" + // }, + // "orderBy": { + // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + // "location": "query", + // "type": "string" + // }, + // "pageToken": { + // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the 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": "{project}/global/interconnects", + // "response": { + // "$ref": "InterconnectList" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// 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")) // reset paging to original point + 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) + } +} + +// method id "compute.interconnects.patch": + +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 supports PATCH semantics and uses the JSON +// merge patch format and processing rules. +func (r *InterconnectsService) Patch(project string, interconnect string, interconnect2 *Interconnect) *InterconnectsPatchCall { + c := &InterconnectsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.interconnect = interconnect + c.interconnect2 = interconnect2 + 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 *InterconnectsPatchCall) RequestId(requestId string) *InterconnectsPatchCall { + 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 information. +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. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *InterconnectsPatchCall) Context(ctx context.Context) *InterconnectsPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *InterconnectsPatchCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.interconnect2) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/interconnects/{interconnect}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "interconnect": c.interconnect, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.interconnects.patch" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned 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) { + 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates the specified interconnect with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", + // "httpMethod": "PATCH", + // "id": "compute.interconnects.patch", + // "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])?", + // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "{project}/global/interconnects/{interconnect}", + // "request": { + // "$ref": "Interconnect" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "compute.interconnects.testIamPermissions": + +type InterconnectsTestIamPermissionsCall 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. +func (r *InterconnectsService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *InterconnectsTestIamPermissionsCall { + c := &InterconnectsTestIamPermissionsCall{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 information. +func (c *InterconnectsTestIamPermissionsCall) Fields(s ...googleapi.Field) *InterconnectsTestIamPermissionsCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *InterconnectsTestIamPermissionsCall) Context(ctx context.Context) *InterconnectsTestIamPermissionsCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *InterconnectsTestIamPermissionsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *InterconnectsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.testpermissionsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/interconnects/{resource}/testIamPermissions") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.interconnects.testIamPermissions" call. +// Exactly one of *TestPermissionsResponse or error will be non-nil. 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 *InterconnectsTestIamPermissionsCall) 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, &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, err + } + ret := &TestPermissionsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns permissions that a caller has on the specified resource.", + // "httpMethod": "POST", + // "id": "compute.interconnects.testIamPermissions", + // "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 of the resource for this request.", + // "location": "path", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{project}/global/interconnects/{resource}/testIamPermissions", + // "request": { + // "$ref": "TestPermissionsRequest" + // }, + // "response": { + // "$ref": "TestPermissionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + // method id "compute.licenses.get": type LicensesGetCall struct { @@ -48418,6 +59923,177 @@ func (c *NetworksListCall) Pages(ctx context.Context, f func(*NetworkList) error } } +// method id "compute.networks.patch": + +type NetworksPatchCall struct { + s *Service + project string + network string + network2 *Network + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Patches the specified network with the data included in the +// request. +func (r *NetworksService) Patch(project string, network string, network2 *Network) *NetworksPatchCall { + c := &NetworksPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.network = network + c.network2 = network2 + 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 *NetworksPatchCall) RequestId(requestId string) *NetworksPatchCall { + 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 information. +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. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *NetworksPatchCall) Context(ctx context.Context) *NetworksPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *NetworksPatchCall) 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 := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.network2) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/networks/{network}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "network": c.network, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.networks.patch" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned 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) { + 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Patches the specified network with the data included in the request.", + // "httpMethod": "PATCH", + // "id": "compute.networks.patch", + // "parameterOrder": [ + // "project", + // "network" + // ], + // "parameters": { + // "network": { + // "description": "Name of the network to update.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-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" + // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "{project}/global/networks/{network}", + // "request": { + // "$ref": "Network" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + // method id "compute.networks.removePeering": type NetworksRemovePeeringCall struct { @@ -48876,7 +60552,7 @@ func (c *NetworksTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*Test // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -48907,7 +60583,7 @@ type ProjectsDisableXpnHostCall struct { header_ http.Header } -// DisableXpnHost: Disable this project as an XPN host project. +// DisableXpnHost: Disable this project as a shared VPC host project. func (r *ProjectsService) DisableXpnHost(project string) *ProjectsDisableXpnHostCall { c := &ProjectsDisableXpnHostCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project @@ -49014,7 +60690,7 @@ func (c *ProjectsDisableXpnHostCall) Do(opts ...googleapi.CallOption) (*Operatio } return ret, nil // { - // "description": "Disable this project as an XPN host project.", + // "description": "Disable this project as a shared VPC host project.", // "httpMethod": "POST", // "id": "compute.projects.disableXpnHost", // "parameterOrder": [ @@ -49057,8 +60733,8 @@ type ProjectsDisableXpnResourceCall struct { header_ http.Header } -// DisableXpnResource: Disable an XPN resource associated with this host -// project. +// DisableXpnResource: Disable a serivce resource (a.k.a service +// project) associated with this host project. func (r *ProjectsService) DisableXpnResource(project string, projectsdisablexpnresourcerequest *ProjectsDisableXpnResourceRequest) *ProjectsDisableXpnResourceCall { c := &ProjectsDisableXpnResourceCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project @@ -49171,7 +60847,7 @@ func (c *ProjectsDisableXpnResourceCall) Do(opts ...googleapi.CallOption) (*Oper } return ret, nil // { - // "description": "Disable an XPN resource associated with this host project.", + // "description": "Disable a serivce resource (a.k.a service project) associated with this host project.", // "httpMethod": "POST", // "id": "compute.projects.disableXpnResource", // "parameterOrder": [ @@ -49216,7 +60892,7 @@ type ProjectsEnableXpnHostCall struct { header_ http.Header } -// EnableXpnHost: Enable this project as an XPN host project. +// EnableXpnHost: Enable this project as a shared VPC host project. func (r *ProjectsService) EnableXpnHost(project string) *ProjectsEnableXpnHostCall { c := &ProjectsEnableXpnHostCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project @@ -49323,7 +60999,7 @@ func (c *ProjectsEnableXpnHostCall) Do(opts ...googleapi.CallOption) (*Operation } return ret, nil // { - // "description": "Enable this project as an XPN host project.", + // "description": "Enable this project as a shared VPC host project.", // "httpMethod": "POST", // "id": "compute.projects.enableXpnHost", // "parameterOrder": [ @@ -49366,10 +61042,9 @@ type ProjectsEnableXpnResourceCall struct { header_ http.Header } -// EnableXpnResource: Enable XPN resource (a.k.a service project or -// service folder in the future) for a host project, so that subnetworks -// in the host project can be used by instances in the service project -// or folder. +// 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. func (r *ProjectsService) EnableXpnResource(project string, projectsenablexpnresourcerequest *ProjectsEnableXpnResourceRequest) *ProjectsEnableXpnResourceCall { c := &ProjectsEnableXpnResourceCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project @@ -49482,7 +61157,7 @@ func (c *ProjectsEnableXpnResourceCall) Do(opts ...googleapi.CallOption) (*Opera } return ret, nil // { - // "description": "Enable XPN resource (a.k.a service project or service folder in the future) for a host project, so that subnetworks in the host project can be used by instances in the service project or folder.", + // "description": "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.", // "httpMethod": "POST", // "id": "compute.projects.enableXpnResource", // "parameterOrder": [ @@ -49669,8 +61344,8 @@ type ProjectsGetXpnHostCall struct { header_ http.Header } -// GetXpnHost: Get the XPN host project that this project links to. May -// be empty if no link exists. +// GetXpnHost: Get the shared VPC host project that this project links +// to. May be empty if no link exists. func (r *ProjectsService) GetXpnHost(project string) *ProjectsGetXpnHostCall { c := &ProjectsGetXpnHostCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project @@ -49771,7 +61446,7 @@ func (c *ProjectsGetXpnHostCall) Do(opts ...googleapi.CallOption) (*Project, err } return ret, nil // { - // "description": "Get the XPN host project that this project links to. May be empty if no link exists.", + // "description": "Get the shared VPC host project that this project links to. May be empty if no link exists.", // "httpMethod": "GET", // "id": "compute.projects.getXpnHost", // "parameterOrder": [ @@ -49809,7 +61484,8 @@ type ProjectsGetXpnResourcesCall struct { header_ http.Header } -// GetXpnResources: Get XPN resources associated with this host project. +// GetXpnResources: Get service resources (a.k.a service project) +// associated with this host project. func (r *ProjectsService) GetXpnResources(project string) *ProjectsGetXpnResourcesCall { c := &ProjectsGetXpnResourcesCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project @@ -49934,7 +61610,7 @@ func (c *ProjectsGetXpnResourcesCall) Do(opts ...googleapi.CallOption) (*Project } return ret, nil // { - // "description": "Get XPN resources associated with this host project.", + // "description": "Get service resources (a.k.a service project) associated with this host project.", // "httpMethod": "GET", // "id": "compute.projects.getXpnResources", // "parameterOrder": [ @@ -50012,8 +61688,8 @@ type ProjectsListXpnHostsCall struct { header_ http.Header } -// ListXpnHosts: List all XPN host projects visible to the user in an -// organization. +// ListXpnHosts: List all shared VPC host projects visible to the user +// in an organization. func (r *ProjectsService) ListXpnHosts(project string, projectslistxpnhostsrequest *ProjectsListXpnHostsRequest) *ProjectsListXpnHostsCall { c := &ProjectsListXpnHostsCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project @@ -50131,7 +61807,7 @@ func (c *ProjectsListXpnHostsCall) Do(opts ...googleapi.CallOption) (*XpnHostLis } return ret, nil // { - // "description": "List all XPN host projects visible to the user in an organization.", + // "description": "List all shared VPC host projects visible to the user in an organization.", // "httpMethod": "POST", // "id": "compute.projects.listXpnHosts", // "parameterOrder": [ @@ -51650,9 +63326,9 @@ func (c *RegionAutoscalersPatchCall) Autoscaler(autoscaler string) *RegionAutosc // request if it has already been completed. // // For example, consider a situation where you make an initial request -// and then the request times out. If you make the request again with -// the same request ID, the server can check if original operation with -// the same request ID was received, and if so, will ignore the second +// and the request times out. If you make the request again with the +// same request ID, the server can check if original operation with the +// same request ID was received, and if so, will ignore the second // request. This prevents clients from accidentally creating duplicate // commitments. // @@ -51779,7 +63455,7 @@ func (c *RegionAutoscalersPatchCall) Do(opts ...googleapi.CallOption) (*Operatio // "type": "string" // }, // "requestId": { - // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and then the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", // "location": "query", // "type": "string" // } @@ -51793,8 +63469,7 @@ func (c *RegionAutoscalersPatchCall) Do(opts ...googleapi.CallOption) (*Operatio // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -51994,11 +63669,14 @@ func (c *RegionAutoscalersUpdateCall) Autoscaler(autoscaler string) *RegionAutos // request if it has already been completed. // // For example, consider a situation where you make an initial request -// and then the request times out. If you make the request again with -// the same request ID, the server can check if original operation with -// the same request ID was received, and if so, will ignore the second +// and the request times out. If you make the request again with the +// same request ID, the server can check if original 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 *RegionAutoscalersUpdateCall) RequestId(requestId string) *RegionAutoscalersUpdateCall { c.urlParams_.Set("requestId", requestId) return c @@ -52120,7 +63798,7 @@ func (c *RegionAutoscalersUpdateCall) Do(opts ...googleapi.CallOption) (*Operati // "type": "string" // }, // "requestId": { - // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and then the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.", + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", // "location": "query", // "type": "string" // } @@ -53248,8 +64926,7 @@ func (c *RegionBackendServicesPatchCall) Do(opts ...googleapi.CallOption) (*Oper // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -55999,8 +67676,7 @@ func (c *RegionInstanceGroupManagersPatchCall) Do(opts ...googleapi.CallOption) // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -60454,7 +72130,8 @@ type RoutersPatchCall struct { } // Patch: Patches the specified Router resource with the data included -// in the request. This method supports patch semantics. +// in the request. This method supports PATCH semantics and uses JSON +// merge patch format and processing rules. func (r *RoutersService) Patch(project string, region string, router string, router2 *Router) *RoutersPatchCall { c := &RoutersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project @@ -60571,7 +72248,7 @@ func (c *RoutersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) } return ret, nil // { - // "description": "Patches the specified Router resource with the data included in the request. This method supports patch semantics.", + // "description": "Patches the specified Router resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", // "httpMethod": "PATCH", // "id": "compute.routers.patch", // "parameterOrder": [ @@ -60616,8 +72293,7 @@ func (c *RoutersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -61979,7 +73655,7 @@ func (c *RoutesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPe // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -62000,6 +73676,1049 @@ func (c *RoutesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestPe } +// method id "compute.securityPolicies.delete": + +type SecurityPoliciesDeleteCall struct { + s *Service + project string + securityPolicy string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes the specified policy. +func (r *SecurityPoliciesService) Delete(project string, securityPolicy string) *SecurityPoliciesDeleteCall { + c := &SecurityPoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + 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 *SecurityPoliciesDeleteCall) RequestId(requestId string) *SecurityPoliciesDeleteCall { + 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 information. +func (c *SecurityPoliciesDeleteCall) Fields(s ...googleapi.Field) *SecurityPoliciesDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *SecurityPoliciesDeleteCall) Context(ctx context.Context) *SecurityPoliciesDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *SecurityPoliciesDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *SecurityPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/securityPolicies/{securityPolicy}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "securityPolicy": c.securityPolicy, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.securityPolicies.delete" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *SecurityPoliciesDeleteCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes the specified policy.", + // "httpMethod": "DELETE", + // "id": "compute.securityPolicies.delete", + // "parameterOrder": [ + // "project", + // "securityPolicy" + // ], + // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, + // "securityPolicy": { + // "description": "Name of the security policy to delete.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{project}/global/securityPolicies/{securityPolicy}", + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "compute.securityPolicies.get": + +type SecurityPoliciesGetCall struct { + s *Service + project string + securityPolicy 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. +func (r *SecurityPoliciesService) Get(project string, securityPolicy string) *SecurityPoliciesGetCall { + c := &SecurityPoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + 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 information. +func (c *SecurityPoliciesGetCall) Fields(s ...googleapi.Field) *SecurityPoliciesGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *SecurityPoliciesGetCall) IfNoneMatch(entityTag string) *SecurityPoliciesGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *SecurityPoliciesGetCall) Context(ctx context.Context) *SecurityPoliciesGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *SecurityPoliciesGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *SecurityPoliciesGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/securityPolicies/{securityPolicy}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "securityPolicy": c.securityPolicy, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.securityPolicies.get" call. +// Exactly one of *SecurityPolicy or error will be non-nil. 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 *SecurityPoliciesGetCall) Do(opts ...googleapi.CallOption) (*SecurityPolicy, 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, &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, err + } + ret := &SecurityPolicy{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "List all of the ordered rules present in a single specified policy.", + // "httpMethod": "GET", + // "id": "compute.securityPolicies.get", + // "parameterOrder": [ + // "project", + // "securityPolicy" + // ], + // "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" + // }, + // "securityPolicy": { + // "description": "Name of the security policy to get.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{project}/global/securityPolicies/{securityPolicy}", + // "response": { + // "$ref": "SecurityPolicy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// method id "compute.securityPolicies.insert": + +type SecurityPoliciesInsertCall struct { + s *Service + project string + securitypolicy *SecurityPolicy + 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. +func (r *SecurityPoliciesService) Insert(project string, securitypolicy *SecurityPolicy) *SecurityPoliciesInsertCall { + c := &SecurityPoliciesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + 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 *SecurityPoliciesInsertCall) RequestId(requestId string) *SecurityPoliciesInsertCall { + 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 information. +func (c *SecurityPoliciesInsertCall) Fields(s ...googleapi.Field) *SecurityPoliciesInsertCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *SecurityPoliciesInsertCall) Context(ctx context.Context) *SecurityPoliciesInsertCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *SecurityPoliciesInsertCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *SecurityPoliciesInsertCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.securitypolicy) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/securityPolicies") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.securityPolicies.insert" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *SecurityPoliciesInsertCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a new policy in the specified project using the data included in the request.", + // "httpMethod": "POST", + // "id": "compute.securityPolicies.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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "{project}/global/securityPolicies", + // "request": { + // "$ref": "SecurityPolicy" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "compute.securityPolicies.list": + +type SecurityPoliciesListCall struct { + s *Service + project string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: List all the policies that have been configured for the +// specified project. +func (r *SecurityPoliciesService) List(project string) *SecurityPoliciesListCall { + c := &SecurityPoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + return c +} + +// Filter sets the optional parameter "filter": Sets a filter +// {expression} for filtering listed resources. Your {expression} must +// be in the format: field_name comparison_string literal_string. +// +// The field_name is the name of the field you want to compare. Only +// atomic field types are supported (string, number, boolean). The +// comparison_string must be either eq (equals) or ne (not equals). The +// literal_string is the string value to filter to. The literal value +// must be valid for the type of field you are filtering by (string, +// number, boolean). For string fields, the literal value is interpreted +// as a regular expression using RE2 syntax. The literal value must +// match the entire field. +// +// For example, to filter for instances that do not have a name of +// example-instance, you would use name ne example-instance. +// +// You can filter on nested fields. For example, you could filter on +// instances that have set the scheduling.automaticRestart field to +// true. Use filtering on nested fields to take advantage of labels to +// organize and search for results based on label values. +// +// To filter on multiple expressions, provide each separate expression +// within parentheses. For example, (scheduling.automaticRestart eq +// true) (zone eq us-central1-f). Multiple expressions are treated as +// AND expressions, meaning that resources must match all expressions to +// pass the filters. +func (c *SecurityPoliciesListCall) Filter(filter string) *SecurityPoliciesListCall { + 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 *SecurityPoliciesListCall) MaxResults(maxResults int64) *SecurityPoliciesListCall { + 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 *SecurityPoliciesListCall) OrderBy(orderBy string) *SecurityPoliciesListCall { + 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 *SecurityPoliciesListCall) PageToken(pageToken string) *SecurityPoliciesListCall { + 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 information. +func (c *SecurityPoliciesListCall) Fields(s ...googleapi.Field) *SecurityPoliciesListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *SecurityPoliciesListCall) IfNoneMatch(entityTag string) *SecurityPoliciesListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *SecurityPoliciesListCall) Context(ctx context.Context) *SecurityPoliciesListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *SecurityPoliciesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *SecurityPoliciesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/securityPolicies") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.securityPolicies.list" call. +// Exactly one of *SecurityPolicyList or error will be non-nil. 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 *SecurityPoliciesListCall) Do(opts ...googleapi.CallOption) (*SecurityPolicyList, 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, &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, err + } + ret := &SecurityPolicyList{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "List all the policies that have been configured for the specified project.", + // "httpMethod": "GET", + // "id": "compute.securityPolicies.list", + // "parameterOrder": [ + // "project" + // ], + // "parameters": { + // "filter": { + // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.", + // "location": "query", + // "type": "string" + // }, + // "maxResults": { + // "default": "500", + // "description": "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)", + // "format": "uint32", + // "location": "query", + // "minimum": "0", + // "type": "integer" + // }, + // "orderBy": { + // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou 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.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + // "location": "query", + // "type": "string" + // }, + // "pageToken": { + // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the 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": "{project}/global/securityPolicies", + // "response": { + // "$ref": "SecurityPolicyList" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// 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 *SecurityPoliciesListCall) Pages(ctx context.Context, f func(*SecurityPolicyList) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "compute.securityPolicies.patch": + +type SecurityPoliciesPatchCall struct { + s *Service + project string + 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. +func (r *SecurityPoliciesService) Patch(project string, securityPolicy string, securitypolicy *SecurityPolicy) *SecurityPoliciesPatchCall { + c := &SecurityPoliciesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + 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 *SecurityPoliciesPatchCall) RequestId(requestId string) *SecurityPoliciesPatchCall { + 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 information. +func (c *SecurityPoliciesPatchCall) Fields(s ...googleapi.Field) *SecurityPoliciesPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *SecurityPoliciesPatchCall) Context(ctx context.Context) *SecurityPoliciesPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *SecurityPoliciesPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *SecurityPoliciesPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.securitypolicy) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/securityPolicies/{securityPolicy}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "securityPolicy": c.securityPolicy, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.securityPolicies.patch" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *SecurityPoliciesPatchCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Patches the specified policy with the data included in the request.", + // "httpMethod": "PATCH", + // "id": "compute.securityPolicies.patch", + // "parameterOrder": [ + // "project", + // "securityPolicy" + // ], + // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, + // "securityPolicy": { + // "description": "Name of the security policy to update.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{project}/global/securityPolicies/{securityPolicy}", + // "request": { + // "$ref": "SecurityPolicy" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "compute.securityPolicies.testIamPermissions": + +type SecurityPoliciesTestIamPermissionsCall 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. +func (r *SecurityPoliciesService) TestIamPermissions(project string, resource string, testpermissionsrequest *TestPermissionsRequest) *SecurityPoliciesTestIamPermissionsCall { + c := &SecurityPoliciesTestIamPermissionsCall{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 information. +func (c *SecurityPoliciesTestIamPermissionsCall) Fields(s ...googleapi.Field) *SecurityPoliciesTestIamPermissionsCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *SecurityPoliciesTestIamPermissionsCall) Context(ctx context.Context) *SecurityPoliciesTestIamPermissionsCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *SecurityPoliciesTestIamPermissionsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *SecurityPoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.testpermissionsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/securityPolicies/{resource}/testIamPermissions") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.securityPolicies.testIamPermissions" call. +// Exactly one of *TestPermissionsResponse or error will be non-nil. 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 *SecurityPoliciesTestIamPermissionsCall) 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, &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, err + } + ret := &TestPermissionsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns permissions that a caller has on the specified resource.", + // "httpMethod": "POST", + // "id": "compute.securityPolicies.testIamPermissions", + // "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 of the resource for this request.", + // "location": "path", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{project}/global/securityPolicies/{resource}/testIamPermissions", + // "request": { + // "$ref": "TestPermissionsRequest" + // }, + // "response": { + // "$ref": "TestPermissionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + // method id "compute.snapshots.delete": type SnapshotsDeleteCall struct { @@ -62847,7 +75566,7 @@ func (c *SnapshotsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*Tes // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -63719,7 +76438,7 @@ func (c *SslCertificatesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -65104,6 +77823,191 @@ func (c *SubnetworksListCall) Pages(ctx context.Context, f func(*SubnetworkList) } } +// method id "compute.subnetworks.patch": + +type SubnetworksPatchCall struct { + s *Service + project string + region string + subnetwork string + subnetwork2 *Subnetwork + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Patches the specified subnetwork with the data included in the +// request. Only the following fields within the subnetwork resource can +// be specified in the request: secondary_ip_range and +// allow_subnet_cidr_routes_overlap. It is also mandatory to specify the +// current fingeprint of the subnetwork resource being patched. +func (r *SubnetworksService) Patch(project string, region string, subnetwork string, subnetwork2 *Subnetwork) *SubnetworksPatchCall { + c := &SubnetworksPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.region = region + c.subnetwork = subnetwork + c.subnetwork2 = subnetwork2 + 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 *SubnetworksPatchCall) RequestId(requestId string) *SubnetworksPatchCall { + 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 information. +func (c *SubnetworksPatchCall) Fields(s ...googleapi.Field) *SubnetworksPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *SubnetworksPatchCall) Context(ctx context.Context) *SubnetworksPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *SubnetworksPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *SubnetworksPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.subnetwork2) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/subnetworks/{subnetwork}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "region": c.region, + "subnetwork": c.subnetwork, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.subnetworks.patch" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *SubnetworksPatchCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Patches the specified subnetwork with the data included in the request. Only the following fields within the subnetwork resource can be specified in the request: secondary_ip_range and allow_subnet_cidr_routes_overlap. It is also mandatory to specify the current fingeprint of the subnetwork resource being patched.", + // "httpMethod": "PATCH", + // "id": "compute.subnetworks.patch", + // "parameterOrder": [ + // "project", + // "region", + // "subnetwork" + // ], + // "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 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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, + // "subnetwork": { + // "description": "Name of the Subnetwork resource to patch.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{project}/regions/{region}/subnetworks/{subnetwork}", + // "request": { + // "$ref": "Subnetwork" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + // method id "compute.subnetworks.setIamPolicy": type SubnetworksSetIamPolicyCall struct { @@ -66630,7 +79534,7 @@ func (c *TargetHttpProxiesTestIamPermissionsCall) Do(opts ...googleapi.CallOptio // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -67842,7 +80746,7 @@ func (c *TargetHttpsProxiesTestIamPermissionsCall) Do(opts ...googleapi.CallOpti // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -72673,7 +85577,7 @@ func (c *TargetSslProxiesTestIamPermissionsCall) Do(opts ...googleapi.CallOption // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -76002,8 +88906,7 @@ func (c *UrlMapsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -76136,7 +89039,7 @@ func (c *UrlMapsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestP // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } 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 5eeba0b98..faef7b2f5 100644 --- a/vendor/google.golang.org/api/compute/v1/compute-api.json +++ b/vendor/google.golang.org/api/compute/v1/compute-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/pqOvnHFN7sP-wPh4KHehXBGM-3c\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/cngOjaowRI92cKIanqfdVBHzE7E\"", "discoveryVersion": "v1", "id": "compute:v1", "name": "compute", "version": "v1", - "revision": "20170612", + "revision": "20170908", "title": "Compute Engine API", "description": "Creates and runs virtual machines on Google Cloud Platform.", "ownerDomain": "google.com", @@ -20,7 +20,7 @@ "basePath": "/compute/v1/projects/", "rootUrl": "https://www.googleapis.com/", "servicePath": "compute/v1/projects/", - "batchPath": "batch", + "batchPath": "batch/compute/v1", "parameters": { "alt": { "type": "string", @@ -160,11 +160,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of scoped accelerator type lists.", + "description": "A list of AcceleratorTypesScopedList resources.", "additionalProperties": { "$ref": "AcceleratorTypesScopedList", "description": "[Output Only] Name of the scope containing this set of accelerator types." @@ -208,7 +208,7 @@ }, "nextPageToken": { "type": "string", - "description": "[Output Only] A token used to continue a truncated list request." + "description": "[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 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." }, "selfLink": { "type": "string", @@ -336,7 +336,7 @@ "properties": { "address": { "type": "string", - "description": "The static external IP address represented by this resource." + "description": "The static IP address represented by this resource." }, "creationTimestamp": { "type": "string", @@ -419,7 +419,7 @@ }, "items": { "type": "object", - "description": "[Output Only] A map of scoped address lists.", + "description": "A list of AddressesScopedList resources.", "additionalProperties": { "$ref": "AddressesScopedList", "description": "[Output Only] Name of the scope containing this set of addresses." @@ -447,11 +447,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of addresses.", + "description": "A list of Address resources.", "items": { "$ref": "Address" } @@ -467,7 +467,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server-defined URL for the resource." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -553,6 +553,21 @@ } } }, + "AliasIpRange": { + "id": "AliasIpRange", + "type": "object", + "description": "An alias IP range attached to an instance's network interface.", + "properties": { + "ipCidrRange": { + "type": "string", + "description": "The IP CIDR range represented by this alias IP range. This IP CIDR range must belong to the specified subnetwork and cannot contain IP addresses reserved by system or used by other network interfaces. This range may be a single IP address (e.g. 10.2.3.4), a netmask (e.g. /24) or a CIDR format string (e.g. 10.1.2.0/24)." + }, + "subnetworkRangeName": { + "type": "string", + "description": "Optional subnetwork secondary range name specifying the secondary range from which to allocate the IP CIDR range for this alias IP range. If left unspecified, the primary range of the subnetwork will be used." + } + } + }, "AttachedDisk": { "id": "AttachedDisk", "type": "object", @@ -576,7 +591,7 @@ }, "index": { "type": "integer", - "description": "Assigns a zero-based index to this disk, where 0 is reserved for the boot disk. For example, if you have many disks attached to an instance, each disk would have a unique index number. If not specified, the server will choose an appropriate value.", + "description": "[Output Only] A zero-based index to this disk, where 0 is reserved for the boot disk. If you have many disks attached to an instance, each disk would have a unique index number.", "format": "int32" }, "initializeParams": { @@ -749,11 +764,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "A map of scoped autoscaler lists.", + "description": "A list of AutoscalersScopedList resources.", "additionalProperties": { "$ref": "AutoscalersScopedList", "description": "[Output Only] Name of the scope containing this set of autoscalers." @@ -781,7 +796,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -1033,7 +1048,7 @@ "properties": { "balancingMode": { "type": "string", - "description": "Specifies the balancing mode for this backend. For global HTTP(S) or TCP/SSL load balancing, the default is UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S)) and CONNECTION (for TCP/SSL).\n\nThis cannot be used for internal load balancing.", + "description": "Specifies the balancing mode for this backend. For global HTTP(S) or TCP/SSL load balancing, the default is UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S)) and CONNECTION (for TCP/SSL).\n\nFor Internal Load Balancing, the default and only supported mode is CONNECTION.", "enum": [ "CONNECTION", "RATE", @@ -1056,7 +1071,7 @@ }, "group": { "type": "string", - "description": "The fully-qualified URL of a zonal Instance Group resource. This instance group defines the list of instances that serve traffic. Member virtual machine instances from each instance group must live in the same zone as the instance group itself. No two backends in a backend service are allowed to use same Instance Group resource.\n\nNote that you must specify an Instance Group resource using the fully-qualified URL, rather than a partial URL.\n\nWhen the BackendService has load balancing scheme INTERNAL, the instance group must be in a zone within the same region as the BackendService." + "description": "The fully-qualified URL of a Instance Group resource. This instance group defines the list of instances that serve traffic. Member virtual machine instances from each instance group must live in the same zone as the instance group itself. No two backends in a backend service are allowed to use same Instance Group resource.\n\nNote that you must specify an Instance Group resource using the fully-qualified URL, rather than a partial URL.\n\nWhen the BackendService has load balancing scheme INTERNAL, the instance group must be within the same region as the BackendService." }, "maxConnections": { "type": "integer", @@ -1150,7 +1165,7 @@ }, "nextPageToken": { "type": "string", - "description": "[Output Only] A token used to continue a truncated list request." + "description": "[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 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." }, "selfLink": { "type": "string", @@ -1201,7 +1216,7 @@ }, "healthChecks": { "type": "array", - "description": "The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for health checking this BackendService. Currently at most one health check can be specified, and a health check is required for GCE backend services. A health check must not be specified for GAE app backend and Cloud Function backend.\n\nFor internal load balancing, a URL to a HealthCheck resource must be specified instead.", + "description": "The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for health checking this BackendService. Currently at most one health check can be specified, and a health check is required for Compute Engine backend services. A health check must not be specified for App Engine backend and Cloud Function backend.\n\nFor internal load balancing, a URL to a HealthCheck resource must be specified instead.", "items": { "type": "string" } @@ -1221,6 +1236,7 @@ }, "loadBalancingScheme": { "type": "string", + "description": "Indicates whether the backend service will be used with internal or external load balancing. A backend service created for one type of load balancing cannot be used with the other. Possible values are INTERNAL and EXTERNAL.", "enum": [ "EXTERNAL", "INTERNAL", @@ -1308,7 +1324,7 @@ }, "items": { "type": "object", - "description": "A map of scoped BackendService lists.", + "description": "A list of BackendServicesScopedList resources.", "additionalProperties": { "$ref": "BackendServicesScopedList", "description": "Name of the scope containing this set of BackendServices." @@ -1321,7 +1337,7 @@ }, "nextPageToken": { "type": "string", - "description": "[Output Only] A token used to continue a truncated list request." + "description": "[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 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." }, "selfLink": { "type": "string", @@ -1629,11 +1645,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "Commitments by scope.", + "description": "A list of CommitmentsScopedList resources.", "additionalProperties": { "$ref": "CommitmentsScopedList", "description": "[Output Only] Name of the scope containing this set of commitments." @@ -1661,7 +1677,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -1919,7 +1935,7 @@ }, "sizeGb": { "type": "string", - "description": "Size of the persistent disk, specified in GB. You can specify this field when creating a persistent disk using the sourceImage or sourceSnapshot parameter, or specify it alone to create an empty persistent disk.\n\nIf you specify this field along with sourceImage or sourceSnapshot, the value of sizeGb must not be less than the size of the sourceImage or the size of the snapshot.", + "description": "Size of the persistent disk, specified in GB. You can specify this field when creating a persistent disk using the sourceImage or sourceSnapshot parameter, or specify it alone to create an empty persistent disk.\n\nIf you specify this field along with sourceImage or sourceSnapshot, the value of sizeGb must not be less than the size of the sourceImage or the size of the snapshot. Acceptable values are 1 to 65536, inclusive.", "format": "int64" }, "sourceImage": { @@ -1985,11 +2001,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of scoped disk lists.", + "description": "A list of DisksScopedList resources.", "additionalProperties": { "$ref": "DisksScopedList", "description": "[Output Only] Name of the scope containing this set of disks." @@ -2002,7 +2018,7 @@ }, "nextPageToken": { "type": "string", - "description": "[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 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. Acceptable values are 0 to 500, inclusive. (Default: 500)" + "description": "[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 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." }, "selfLink": { "type": "string", @@ -2033,7 +2049,7 @@ }, "nextPageToken": { "type": "string", - "description": "This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, 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." + "description": "[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 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." }, "selfLink": { "type": "string", @@ -2112,11 +2128,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of scoped disk type lists.", + "description": "A list of DiskTypesScopedList resources.", "additionalProperties": { "$ref": "DiskTypesScopedList", "description": "[Output Only] Name of the scope containing this set of disk types." @@ -2144,11 +2160,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Disk Type resources.", + "description": "A list of DiskType resources.", "items": { "$ref": "DiskType" } @@ -2356,7 +2372,7 @@ "properties": { "IPProtocol": { "type": "string", - "description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, sctp), or the IP protocol number." + "description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number." }, "ports": { "type": "array", @@ -2372,10 +2388,49 @@ "type": "string", "description": "[Output Only] Creation timestamp in RFC3339 text format." }, + "denied": { + "type": "array", + "description": "The list of DENY rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.", + "items": { + "type": "object", + "properties": { + "IPProtocol": { + "type": "string", + "description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number." + }, + "ports": { + "type": "array", + "description": "An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.\n\nExample inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", + "items": { + "type": "string" + } + } + } + } + }, "description": { "type": "string", "description": "An optional description of this resource. Provide this property when you create the resource." }, + "destinationRanges": { + "type": "array", + "description": "If destination ranges are specified, the firewall will apply only to traffic that has destination IP address in these ranges. These ranges must be expressed in CIDR format. Only IPv4 is supported.", + "items": { + "type": "string" + } + }, + "direction": { + "type": "string", + "description": "Direction of traffic to which this firewall applies; default is INGRESS. Note: For INGRESS traffic, it is NOT supported to specify destinationRanges; For EGRESS traffic, it is NOT supported to specify sourceRanges OR sourceTags.", + "enum": [ + "EGRESS", + "INGRESS" + ], + "enumDescriptions": [ + "", + "" + ] + }, "id": { "type": "string", "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", @@ -2401,6 +2456,11 @@ "type": "string", "description": "URL of the network resource for this firewall rule. If not specified when creating a firewall rule, the default network is used:\nglobal/networks/default\nIf you choose to specify this property, you can specify the network as a full or partial URL. For example, the following are all valid URLs: \n- https://www.googleapis.com/compute/v1/projects/myproject/global/networks/my-network \n- projects/myproject/global/networks/my-network \n- global/networks/default" }, + "priority": { + "type": "integer", + "description": "Priority for this rule. This is an integer between 0 and 65535, both inclusive. When not specified, the value assumed is 1000. Relative priorities determine precedence of conflicting rules. Lower value of priority implies higher precedence (eg, a rule with priority 0 has higher precedence than a rule with priority 1). DENY rules take precedence over ALLOW rules having equal priority.", + "format": "int32" + }, "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for the resource." @@ -2414,7 +2474,7 @@ }, "sourceTags": { "type": "array", - "description": "If source tags are specified, the firewall will apply only to traffic with source IP that belongs to a tag listed in source tags. Source tags cannot be used to control traffic to an instance's external IP address. Because tags are associated with an instance, not an IP address. One or both of sourceRanges and sourceTags may be set. If both properties are set, the firewall will apply to traffic that has source IP address within sourceRanges OR the source IP that belongs to a tag listed in the sourceTags property. The connection does not need to match both properties for the firewall to apply.", + "description": "If source tags are specified, the firewall rule applies only to traffic with source IPs that match the primary network interfaces of VM instances that have the tag and are in the same VPC network. Source tags cannot be used to control traffic to an instance's external IP address, it only applies to traffic between instances in the same virtual network. Because tags are associated with instances, not IP addresses. One or both of sourceRanges and sourceTags may be set. If both properties are set, the firewall will apply to traffic that has source IP address within sourceRanges OR the source IP that belongs to a tag listed in the sourceTags property. The connection does not need to match both properties for the firewall to apply.", "items": { "type": "string" } @@ -2435,11 +2495,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Firewall resources.", + "description": "A list of Firewall resources.", "items": { "$ref": "Firewall" } @@ -2549,7 +2609,7 @@ }, "portRange": { "type": "string", - "description": "This field is used along with the target field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance.\n\nApplicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed to ports in the specified range will be forwarded to target. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.\n\nSome types of forwarding target have constraints on the acceptable ports: \n- TargetHttpProxy: 80, 8080 \n- TargetHttpsProxy: 443 \n- TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995 \n- TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995 \n- TargetVpnGateway: 500, 4500\n-" + "description": "This field is used along with the target field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance.\n\nApplicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed to ports in the specified range will be forwarded to target. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.\n\nSome types of forwarding target have constraints on the acceptable ports: \n- TargetHttpProxy: 80, 8080 \n- TargetHttpsProxy: 443 \n- TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 \n- TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 \n- TargetVpnGateway: 500, 4500\n-" }, "ports": { "type": "array", @@ -2582,11 +2642,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "A map of scoped forwarding rule lists.", + "description": "A list of ForwardingRulesScopedList resources.", "additionalProperties": { "$ref": "ForwardingRulesScopedList", "description": "Name of the scope containing this set of addresses." @@ -2614,7 +2674,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource. Set by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -2745,7 +2805,7 @@ "properties": { "type": { "type": "string", - "description": "The type of supported feature. Currently only VIRTIO_SCSI_MULTIQUEUE is supported. For newer Windows images, the server might also populate this property with the value WINDOWS to indicate that this is a Windows image. This value is purely informational and does not enable or disable any features.", + "description": "The type of supported feature. Currently only VIRTIO_SCSI_MULTIQUEUE is supported. For newer Windows images, the server might also populate this property with the value WINDOWS to indicate that this is a Windows image.", "enum": [ "FEATURE_TYPE_UNSPECIFIED", "VIRTIO_SCSI_MULTIQUEUE", @@ -2920,7 +2980,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -3081,7 +3141,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource. Defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -3236,7 +3296,7 @@ }, "guestOsFeatures": { "type": "array", - "description": "A list of features to enable on the guest OS. Applicable for bootable images only. Currently, only one feature can be enabled, VIRTIO_SCSI_MULTIQUEUE, which allows each virtual CPU to have its own queue. For Windows images, you can only enable VIRTIO_SCSI_MULTIQUEUE on images with driver version 1.2.0.1621 or higher. Linux images with kernel versions 3.17 and higher will support VIRTIO_SCSI_MULTIQUEUE.\n\nFor new Windows images, the server might also populate this field with the value WINDOWS, to indicate that this is a Windows image. This value is purely informational and does not enable or disable any features.", + "description": "A list of features to enable on the guest OS. Applicable for bootable images only. Currently, only one feature can be enabled, VIRTIO_SCSI_MULTIQUEUE, which allows each virtual CPU to have its own queue. For Windows images, you can only enable VIRTIO_SCSI_MULTIQUEUE on images with driver version 1.2.0.1621 or higher. Linux images with kernel versions 3.17 and higher will support VIRTIO_SCSI_MULTIQUEUE.\n\nFor newer Windows images, the server might also populate this property with the value WINDOWS to indicate that this is a Windows image.", "items": { "$ref": "GuestOsFeature" } @@ -3330,6 +3390,18 @@ "type": "string", "description": "The ID value of the disk used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given disk name." }, + "sourceImage": { + "type": "string", + "description": "URL of the source image used to create this image. This can be a full or valid partial URL. You must provide exactly one of: \n- this property, or \n- the rawDisk.source property, or \n- the sourceDisk property in order to create an image." + }, + "sourceImageEncryptionKey": { + "$ref": "CustomerEncryptionKey", + "description": "The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key." + }, + "sourceImageId": { + "type": "string", + "description": "[Output Only] The ID value of the image used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given image name." + }, "sourceType": { "type": "string", "description": "The type of the image used to create this disk. The default and only value is RAW", @@ -3364,11 +3436,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Image resources.", + "description": "A list of Image resources.", "items": { "$ref": "Image" } @@ -3470,7 +3542,7 @@ }, "networkInterfaces": { "type": "array", - "description": "An array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Only one interface is supported per instance.", + "description": "An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.", "items": { "$ref": "NetworkInterface" } @@ -3496,7 +3568,7 @@ }, "status": { "type": "string", - "description": "[Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, and TERMINATED.", + "description": "[Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, STOPPED, SUSPENDING, SUSPENDED, and TERMINATED.", "enum": [ "PROVISIONING", "RUNNING", @@ -3538,11 +3610,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of scoped instance lists.", + "description": "A list of InstancesScopedList resources.", "additionalProperties": { "$ref": "InstancesScopedList", "description": "[Output Only] Name of the scope containing this set of instances." @@ -3640,11 +3712,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] A unique identifier for this aggregated list of instance groups. The server generates this identifier." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "A map of scoped instance group lists.", + "description": "A list of InstanceGroupsScopedList resources.", "additionalProperties": { "$ref": "InstanceGroupsScopedList", "description": "The name of the scope that contains this set of instance groups." @@ -3661,7 +3733,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] The URL for this resource type. The server generates this URL." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -3672,11 +3744,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] A unique identifier for this list of instance groups. The server generates this identifier." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "A list of instance groups.", + "description": "A list of InstanceGroup resources.", "items": { "$ref": "InstanceGroup" } @@ -3692,7 +3764,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] The URL for this resource type. The server generates this URL." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -3752,7 +3824,8 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "annotations": { "required": [ - "compute.instanceGroupManagers.insert" + "compute.instanceGroupManagers.insert", + "compute.regionInstanceGroupManagers.insert" ] } }, @@ -3784,7 +3857,8 @@ "format": "int32", "annotations": { "required": [ - "compute.instanceGroupManagers.insert" + "compute.instanceGroupManagers.insert", + "compute.regionInstanceGroupManagers.insert" ] } }, @@ -3846,11 +3920,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] A unique identifier for this aggregated list of managed instance groups. The server generates this identifier." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of filtered managed instance group lists.", + "description": "A list of InstanceGroupManagersScopedList resources.", "additionalProperties": { "$ref": "InstanceGroupManagersScopedList", "description": "[Output Only] The name of the scope that contains this set of managed instance groups." @@ -3867,7 +3941,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] The URL for this resource type. The server generates this URL." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -3878,11 +3952,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] A unique identifier for this resource type. The server generates this identifier." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of managed instance groups.", + "description": "A list of InstanceGroupManager resources.", "items": { "$ref": "InstanceGroupManager" } @@ -4083,11 +4157,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] A unique identifier for this list of instances in the specified instance group. The server generates this identifier." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of instances and any named ports that are assigned to those instances.", + "description": "A list of InstanceWithNamedPorts resources.", "items": { "$ref": "InstanceWithNamedPorts" } @@ -4103,7 +4177,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] The URL for this list of instances in the specified instance groups. The server generates this URL." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -4245,11 +4319,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of instances.", + "description": "A list of Instance resources.", "items": { "$ref": "Instance" } @@ -4414,11 +4488,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] A unique identifier for this instance template. The server defines this identifier." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] list of InstanceTemplate resources.", + "description": "A list of InstanceTemplate resources.", "items": { "$ref": "InstanceTemplate" } @@ -4434,7 +4508,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] The URL for this instance template list. The server defines this URL." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -4752,11 +4826,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of scoped machine type lists.", + "description": "A list of MachineTypesScopedList resources.", "additionalProperties": { "$ref": "MachineTypesScopedList", "description": "[Output Only] Name of the scope containing this set of machine types." @@ -4784,11 +4858,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Machine Type resources.", + "description": "A list of MachineType resources.", "items": { "$ref": "MachineType" } @@ -5019,7 +5093,7 @@ }, "value": { "type": "string", - "description": "Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 32768 bytes.", + "description": "Value for the metadata entry. These are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on values is that their size must be less than or equal to 262144 bytes (256 KiB).", "annotations": { "required": [ "compute.instances.insert", @@ -5132,6 +5206,13 @@ "$ref": "AccessConfig" } }, + "aliasIpRanges": { + "type": "array", + "description": "An array of alias IP ranges for this network interface. Can only be specified for network interfaces on subnet-mode networks.", + "items": { + "$ref": "AliasIpRange" + } + }, "kind": { "type": "string", "description": "[Output Only] Type of the resource. Always compute#networkInterface for network interfaces.", @@ -5162,11 +5243,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Network resources.", + "description": "A list of Network resources.", "items": { "$ref": "Network" } @@ -5701,7 +5782,7 @@ }, "xpnProjectStatus": { "type": "string", - "description": "[Output Only] The role this project has in a Cross Project Network (XPN) configuration. Currently only HOST projects are differentiated.", + "description": "[Output Only] The role this project has in a shared VPC configuration. Currently only HOST projects are differentiated.", "enum": [ "HOST", "UNSPECIFIED_XPN_PROJECT_STATUS" @@ -5719,7 +5800,7 @@ "properties": { "xpnResource": { "$ref": "XpnResourceId", - "description": "XPN resource ID." + "description": "Service resource (a.k.a service project) ID." } } }, @@ -5729,7 +5810,7 @@ "properties": { "xpnResource": { "$ref": "XpnResourceId", - "description": "XPN resource ID." + "description": "Service resource (a.k.a service project) ID." } } }, @@ -5739,7 +5820,7 @@ "properties": { "kind": { "type": "string", - "description": "[Output Only] Type of resource. Always compute#projectsGetXpnResources for lists of XPN resources.", + "description": "[Output Only] Type of resource. Always compute#projectsGetXpnResources for lists of service resources (a.k.a service projects)", "default": "compute#projectsGetXpnResources" }, "nextPageToken": { @@ -5748,7 +5829,7 @@ }, "resources": { "type": "array", - "description": "XPN resources attached to this project as their XPN host.", + "description": "Service resources (a.k.a service projects) attached to this project as their shared VPC host.", "items": { "$ref": "XpnResourceId" } @@ -5761,7 +5842,7 @@ "properties": { "organization": { "type": "string", - "description": "Optional organization ID managed by Cloud Resource Manager, for which to list XPN host projects. If not specified, the organization will be inferred from the project." + "description": "Optional organization ID managed by Cloud Resource Manager, for which to list shared VPC host projects. If not specified, the organization will be inferred from the project." } } }, @@ -5798,11 +5879,15 @@ "LOCAL_SSD_TOTAL_GB", "NETWORKS", "NVIDIA_K80_GPUS", + "NVIDIA_P100_GPUS", "PREEMPTIBLE_CPUS", + "PREEMPTIBLE_LOCAL_SSD_GB", "REGIONAL_AUTOSCALERS", "REGIONAL_INSTANCE_GROUP_MANAGERS", "ROUTERS", "ROUTES", + "SECURITY_POLICIES", + "SECURITY_POLICY_RULES", "SNAPSHOTS", "SSD_TOTAL_GB", "SSL_CERTIFICATES", @@ -5813,6 +5898,7 @@ "TARGET_INSTANCES", "TARGET_POOLS", "TARGET_SSL_PROXIES", + "TARGET_TCP_PROXIES", "TARGET_VPN_GATEWAYS", "URL_MAPS", "VPN_TUNNELS" @@ -5854,6 +5940,11 @@ "", "", "", + "", + "", + "", + "", + "", "" ] }, @@ -5934,11 +6025,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "A list of autoscalers.", + "description": "A list of Autoscaler resources.", "items": { "$ref": "Autoscaler" } @@ -5950,7 +6041,7 @@ }, "nextPageToken": { "type": "string", - "description": "[Output Only] A token used to continue a truncated list request." + "description": "[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 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." }, "selfLink": { "type": "string", @@ -5965,7 +6056,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -5985,7 +6076,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] The URL for this resource type. The server generates this URL." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -5996,11 +6087,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "A list of managed instance groups.", + "description": "A list of InstanceGroupManager resources.", "items": { "$ref": "InstanceGroupManager" } @@ -6012,11 +6103,11 @@ }, "nextPageToken": { "type": "string", - "description": "[Output only] A token used to continue a truncated list request." + "description": "[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 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." }, "selfLink": { "type": "string", - "description": "[Output only] The URL for this resource type. The server generates this URL." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -6106,11 +6197,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource. Defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "A list of instances and any named ports that are assigned to those instances.", + "description": "A list of InstanceWithNamedPorts resources.", "items": { "$ref": "InstanceWithNamedPorts" } @@ -6126,7 +6217,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server-defined URL for the resource." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -6178,11 +6269,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Region resources.", + "description": "A list of Region resources.", "items": { "$ref": "Region" } @@ -6420,11 +6511,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource. Defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Route resources.", + "description": "A list of Route resources.", "items": { "$ref": "Route" } @@ -6521,11 +6612,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "A map of scoped router lists.", + "description": "A list of Router resources.", "additionalProperties": { "$ref": "RoutersScopedList", "description": "Name of the scope containing this set of routers." @@ -6616,7 +6707,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -7038,7 +7129,7 @@ }, "storageBytes": { "type": "string", - "description": "[Output Only] A size of the the storage used by the snapshot. As snapshots share storage, this number is expected to change with snapshot creation/deletion.", + "description": "[Output Only] A size of the storage used by the snapshot. As snapshots share storage, this number is expected to change with snapshot creation/deletion.", "format": "int64" }, "storageBytesStatus": { @@ -7062,11 +7153,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of Snapshot resources.", + "description": "A list of Snapshot resources.", "items": { "$ref": "Snapshot" } @@ -7135,7 +7226,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource. Defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -7207,6 +7298,13 @@ "type": "string", "description": "URL of the region where the Subnetwork resides. This field can be set only at resource creation time." }, + "secondaryIpRanges": { + "type": "array", + "description": "An array of configurations for secondary IP ranges for VM instances contained in this subnetwork. The primary IP of such VM must belong to the primary ipCidrRange of the subnetwork. The alias IPs may belong to either primary or secondary ranges.", + "items": { + "$ref": "SubnetworkSecondaryRange" + } + }, "selfLink": { "type": "string", "description": "[Output Only] Server-defined URL for the resource." @@ -7219,11 +7317,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output] A map of scoped Subnetwork lists.", + "description": "A list of SubnetworksScopedList resources.", "additionalProperties": { "$ref": "SubnetworksScopedList", "description": "Name of the scope containing this set of Subnetworks." @@ -7251,11 +7349,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "The Subnetwork resources.", + "description": "A list of Subnetwork resources.", "items": { "$ref": "Subnetwork" } @@ -7275,6 +7373,21 @@ } } }, + "SubnetworkSecondaryRange": { + "id": "SubnetworkSecondaryRange", + "type": "object", + "description": "Represents a secondary IP range of a subnetwork.", + "properties": { + "ipCidrRange": { + "type": "string", + "description": "The range of IP addresses belonging to this subnetwork secondary range. Provide this property when you create the subnetwork. Ranges must be unique and non-overlapping with all primary and secondary IP ranges within a network. Only IPv4 is supported." + }, + "rangeName": { + "type": "string", + "description": "The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork." + } + } + }, "SubnetworksExpandIpCidrRangeRequest": { "id": "SubnetworksExpandIpCidrRangeRequest", "type": "object", @@ -7475,7 +7588,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -7564,7 +7677,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -7650,7 +7763,7 @@ }, "items": { "type": "object", - "description": "A map of scoped target instance lists.", + "description": "A list of TargetInstance resources.", "additionalProperties": { "$ref": "TargetInstancesScopedList", "description": "Name of the scope containing this set of target instances." @@ -7678,7 +7791,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -7869,11 +7982,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource. Defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of scoped target pool lists.", + "description": "A list of TargetPool resources.", "additionalProperties": { "$ref": "TargetPoolsScopedList", "description": "Name of the scope containing this set of target pools." @@ -7918,7 +8031,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource. Defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -8190,7 +8303,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -8299,7 +8412,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -8411,11 +8524,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "A map of scoped target vpn gateway lists.", + "description": "A list of TargetVpnGateway resources.", "additionalProperties": { "$ref": "TargetVpnGatewaysScopedList", "description": "[Output Only] Name of the scope containing this set of target VPN gateways." @@ -8443,11 +8556,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of TargetVpnGateway resources.", + "description": "A list of TargetVpnGateway resources.", "items": { "$ref": "TargetVpnGateway" } @@ -8638,7 +8751,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource. Set by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -8883,11 +8996,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", - "description": "[Output Only] A map of scoped vpn tunnel lists.", + "description": "A list of VpnTunnelsScopedList resources.", "additionalProperties": { "$ref": "VpnTunnelsScopedList", "description": "Name of the scope containing this set of vpn tunnels." @@ -8915,11 +9028,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of VpnTunnel resources.", + "description": "A list of VpnTunnel resources.", "items": { "$ref": "VpnTunnel" } @@ -9027,18 +9140,18 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "[Output Only] A list of XPN host project URLs.", + "description": "[Output Only] A list of shared VPC host project URLs.", "items": { "$ref": "Project" } }, "kind": { "type": "string", - "description": "[Output Only] Type of resource. Always compute#xpnHostList for lists of XPN hosts.", + "description": "[Output Only] Type of resource. Always compute#xpnHostList for lists of shared VPC hosts.", "default": "compute#xpnHostList" }, "nextPageToken": { @@ -9054,15 +9167,15 @@ "XpnResourceId": { "id": "XpnResourceId", "type": "object", - "description": "XpnResourceId", + "description": "Service resource (a.k.a service project) ID.", "properties": { "id": { "type": "string", - "description": "The ID of the XPN resource. In the case of projects, this field matches the project's name, not the canonical ID." + "description": "The ID of the service resource. In the case of projects, this field matches the project ID (e.g., my-project), not the project number (e.g., 12345678)." }, "type": { "type": "string", - "description": "The type of the XPN resource.", + "description": "The type of the service resource.", "enum": [ "PROJECT", "XPN_RESOURCE_TYPE_UNSPECIFIED" @@ -9138,7 +9251,7 @@ }, "items": { "type": "array", - "description": "[Output Only] A list of Zone resources.", + "description": "A list of Zone resources.", "items": { "$ref": "Zone" } @@ -9407,6 +9520,11 @@ "required": true, "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -9483,6 +9601,11 @@ "required": true, "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -9630,6 +9753,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "Name of the zone for this request.", @@ -9706,6 +9834,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "Name of the zone for this request.", @@ -9805,6 +9938,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "Name of the zone for this request.", @@ -9825,8 +9963,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "update": { @@ -9848,6 +9985,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "Name of the zone for this request.", @@ -9894,6 +10036,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -9954,6 +10101,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -10038,6 +10190,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -10052,8 +10209,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "update": { @@ -10075,6 +10231,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -10164,6 +10325,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -10260,6 +10426,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -10344,6 +10515,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -10358,8 +10534,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "update": { @@ -10381,6 +10556,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -10627,6 +10807,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone for this request.", @@ -10670,6 +10855,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone for this request.", @@ -10746,6 +10936,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "sourceImage": { "type": "string", "description": "Optional. Source image to restore onto a disk.", @@ -10851,6 +11046,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone for this request.", @@ -10888,6 +11088,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "resource": { "type": "string", "description": "Name of the resource for this request.", @@ -10942,6 +11147,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -11002,6 +11212,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -11071,11 +11286,11 @@ "id": "compute.firewalls.patch", "path": "{project}/global/firewalls/{firewall}", "httpMethod": "PATCH", - "description": "Updates the specified firewall rule with the data included in the request. Using PUT method, can only update following fields of firewall rule: allowed, description, sourceRanges, sourceTags, targetTags. This method supports patch semantics.", + "description": "Updates the specified firewall rule with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "parameters": { "firewall": { "type": "string", - "description": "Name of the firewall rule to update.", + "description": "Name of the firewall rule to patch.", "required": true, "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" @@ -11086,6 +11301,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -11122,6 +11342,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -11218,6 +11443,11 @@ "required": true, "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -11294,6 +11524,11 @@ "required": true, "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -11394,6 +11629,11 @@ "required": true, "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -11435,6 +11675,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -11495,6 +11740,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -11583,6 +11833,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -11643,6 +11898,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -11727,6 +11987,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -11933,6 +12198,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -11993,6 +12263,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -12077,6 +12352,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -12091,8 +12371,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "update": { @@ -12114,6 +12393,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -12154,6 +12438,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -12214,6 +12503,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -12298,6 +12592,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -12312,8 +12611,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "update": { @@ -12335,6 +12633,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -12375,6 +12678,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -12435,6 +12743,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -12519,6 +12832,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -12533,8 +12851,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "update": { @@ -12556,6 +12873,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -12596,6 +12918,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -12629,6 +12956,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -12731,6 +13063,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -12858,6 +13195,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone where the managed instance group is located.", @@ -12949,6 +13291,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone where the managed instance group is located.", @@ -12988,6 +13335,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone where the managed instance group is located.", @@ -13064,6 +13416,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone where you want to create the managed instance group.", @@ -13220,6 +13577,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone where the managed instance group is located.", @@ -13262,6 +13624,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "size": { "type": "integer", "description": "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.", @@ -13309,6 +13676,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone where the managed instance group is located.", @@ -13351,6 +13723,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone where the managed instance group is located.", @@ -13397,6 +13774,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone where the instance group is located.", @@ -13488,6 +13870,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone where the instance group is located.", @@ -13561,6 +13948,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone where you want to create the instance group.", @@ -13724,6 +14116,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone where the instance group is located.", @@ -13766,6 +14163,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone where the instance group is located.", @@ -13812,6 +14214,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -13872,6 +14279,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -13967,6 +14379,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone for this request.", @@ -14061,6 +14478,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone for this request.", @@ -14105,6 +14527,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone for this request.", @@ -14158,6 +14585,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone for this request.", @@ -14207,6 +14639,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone for this request.", @@ -14341,6 +14778,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone for this request.", @@ -14441,6 +14883,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone for this request.", @@ -14495,6 +14942,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone for this request.", @@ -14538,6 +14990,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone for this request.", @@ -14582,6 +15039,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone for this request.", @@ -14626,6 +15088,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone for this request.", @@ -14670,6 +15137,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone for this request.", @@ -14714,6 +15186,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone for this request.", @@ -14758,6 +15235,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone for this request.", @@ -14802,6 +15284,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone for this request.", @@ -14846,6 +15333,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone for this request.", @@ -14887,6 +15379,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone for this request.", @@ -14931,6 +15428,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "The name of the zone for this request.", @@ -15165,6 +15667,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -15201,6 +15708,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -15261,6 +15773,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -15345,6 +15862,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -15381,6 +15903,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -15403,7 +15930,7 @@ "id": "compute.projects.disableXpnHost", "path": "{project}/disableXpnHost", "httpMethod": "POST", - "description": "Disable this project as an XPN host project.", + "description": "Disable this project as a shared VPC host project.", "parameters": { "project": { "type": "string", @@ -15411,6 +15938,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -15428,7 +15960,7 @@ "id": "compute.projects.disableXpnResource", "path": "{project}/disableXpnResource", "httpMethod": "POST", - "description": "Disable an XPN resource associated with this host project.", + "description": "Disable a serivce resource (a.k.a service project) associated with this host project.", "parameters": { "project": { "type": "string", @@ -15436,6 +15968,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -15456,7 +15993,7 @@ "id": "compute.projects.enableXpnHost", "path": "{project}/enableXpnHost", "httpMethod": "POST", - "description": "Enable this project as an XPN host project.", + "description": "Enable this project as a shared VPC host project.", "parameters": { "project": { "type": "string", @@ -15464,6 +16001,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -15481,7 +16023,7 @@ "id": "compute.projects.enableXpnResource", "path": "{project}/enableXpnResource", "httpMethod": "POST", - "description": "Enable XPN resource (a.k.a service project or service folder in the future) for a host project, so that subnetworks in the host project can be used by instances in the service project or folder.", + "description": "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.", "parameters": { "project": { "type": "string", @@ -15489,6 +16031,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -15535,7 +16082,7 @@ "id": "compute.projects.getXpnHost", "path": "{project}/getXpnHost", "httpMethod": "GET", - "description": "Get the XPN host project that this project links to. May be empty if no link exists.", + "description": "Get the shared VPC host project that this project links to. May be empty if no link exists.", "parameters": { "project": { "type": "string", @@ -15560,7 +16107,7 @@ "id": "compute.projects.getXpnResources", "path": "{project}/getXpnResources", "httpMethod": "GET", - "description": "Get XPN resources associated with this host project.", + "description": "Get service resources (a.k.a service project) associated with this host project.", "parameters": { "filter": { "type": "string", @@ -15604,7 +16151,7 @@ "id": "compute.projects.listXpnHosts", "path": "{project}/listXpnHosts", "httpMethod": "POST", - "description": "List all XPN host projects visible to the user in an organization.", + "description": "List all shared VPC host projects visible to the user in an organization.", "parameters": { "filter": { "type": "string", @@ -15659,6 +16206,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -15687,6 +16239,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -15715,6 +16272,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -15743,6 +16305,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -15792,6 +16359,11 @@ "required": true, "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -15868,6 +16440,11 @@ "required": true, "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -15967,6 +16544,11 @@ "required": true, "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -15981,8 +16563,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "update": { @@ -16010,6 +16591,11 @@ "required": true, "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -16057,6 +16643,11 @@ "required": true, "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -16177,6 +16768,11 @@ "required": true, "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -16277,6 +16873,11 @@ "required": true, "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -16292,8 +16893,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "update": { @@ -16322,6 +16922,11 @@ "required": true, "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -16454,6 +17059,11 @@ "required": true, "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -16556,6 +17166,11 @@ "description": "Name of the region scoping this request.", "required": true, "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -16598,6 +17213,11 @@ "description": "Name of the region scoping this request.", "required": true, "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -16637,6 +17257,11 @@ "description": "Name of the region scoping this request.", "required": true, "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -16713,6 +17338,11 @@ "description": "Name of the region scoping this request.", "required": true, "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -16869,6 +17499,11 @@ "description": "Name of the region scoping this request.", "required": true, "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -16912,6 +17547,11 @@ "required": true, "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "size": { "type": "integer", "description": "Number of instances that should exist in this instance group manager.", @@ -16959,6 +17599,11 @@ "description": "Name of the region scoping this request.", "required": true, "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -17001,6 +17646,11 @@ "description": "Name of the region scoping this request.", "required": true, "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -17209,6 +17859,11 @@ "description": "Name of the region scoping this request.", "required": true, "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -17528,6 +18183,11 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "router": { "type": "string", "description": "Name of the Router resource to delete.", @@ -17652,6 +18312,11 @@ "required": true, "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -17730,7 +18395,7 @@ "id": "compute.routers.patch", "path": "{project}/regions/{region}/routers/{router}", "httpMethod": "PATCH", - "description": "Patches the specified Router resource with the data included in the request. This method supports patch semantics.", + "description": "Patches the specified Router resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", "parameters": { "project": { "type": "string", @@ -17746,6 +18411,11 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "router": { "type": "string", "description": "Name of the Router resource to patch.", @@ -17767,8 +18437,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "preview": { @@ -17836,6 +18505,11 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "router": { "type": "string", "description": "Name of the Router resource to update.", @@ -17877,6 +18551,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "route": { "type": "string", "description": "Name of the Route resource to delete.", @@ -17943,6 +18622,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -18025,6 +18709,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "snapshot": { "type": "string", "description": "Name of the Snapshot resource to delete.", @@ -18181,6 +18870,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "sslCertificate": { "type": "string", "description": "Name of the SslCertificate resource to delete.", @@ -18247,6 +18941,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -18385,6 +19084,11 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "subnetwork": { "type": "string", "description": "Name of the Subnetwork resource to delete.", @@ -18426,6 +19130,11 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "subnetwork": { "type": "string", "description": "Name of the Subnetwork resource to update.", @@ -18511,6 +19220,11 @@ "required": true, "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -18605,6 +19319,11 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "subnetwork": { "type": "string", "description": "Name of the Subnetwork resource.", @@ -18646,6 +19365,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "targetHttpProxy": { "type": "string", "description": "Name of the TargetHttpProxy resource to delete.", @@ -18712,6 +19436,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -18790,6 +19519,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "targetHttpProxy": { "type": "string", "description": "Name of the TargetHttpProxy to set a URL map for.", @@ -18830,6 +19564,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "targetHttpsProxy": { "type": "string", "description": "Name of the TargetHttpsProxy resource to delete.", @@ -18896,6 +19635,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -18974,6 +19718,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "targetHttpsProxy": { "type": "string", "description": "Name of the TargetHttpsProxy resource to set an SslCertificates resource for.", @@ -19010,6 +19759,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "targetHttpsProxy": { "type": "string", "description": "Name of the TargetHttpsProxy resource whose URL map is to be set.", @@ -19099,6 +19853,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "targetInstance": { "type": "string", "description": "Name of the TargetInstance resource to delete.", @@ -19182,6 +19941,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "zone": { "type": "string", "description": "Name of the zone scoping this request.", @@ -19286,6 +20050,11 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "targetPool": { "type": "string", "description": "Name of the target pool to add a health check to.", @@ -19330,6 +20099,11 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "targetPool": { "type": "string", "description": "Name of the TargetPool resource to add instances to.", @@ -19423,6 +20197,11 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "targetPool": { "type": "string", "description": "Name of the TargetPool resource to delete.", @@ -19550,6 +20329,11 @@ "required": true, "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -19644,6 +20428,11 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "targetPool": { "type": "string", "description": "Name of the target pool to remove health checks from.", @@ -19688,6 +20477,11 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "targetPool": { "type": "string", "description": "Name of the TargetPool resource to remove instances from.", @@ -19738,6 +20532,11 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "targetPool": { "type": "string", "description": "Name of the TargetPool resource to set a backup pool for.", @@ -19779,6 +20578,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "targetSslProxy": { "type": "string", "description": "Name of the TargetSslProxy resource to delete.", @@ -19845,6 +20649,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -19923,6 +20732,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "targetSslProxy": { "type": "string", "description": "Name of the TargetSslProxy resource whose BackendService resource is to be set.", @@ -19959,6 +20773,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "targetSslProxy": { "type": "string", "description": "Name of the TargetSslProxy resource whose ProxyHeader is to be set.", @@ -19995,6 +20814,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "targetSslProxy": { "type": "string", "description": "Name of the TargetSslProxy resource whose SslCertificate resource is to be set.", @@ -20035,6 +20859,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "targetTcpProxy": { "type": "string", "description": "Name of the TargetTcpProxy resource to delete.", @@ -20101,6 +20930,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -20179,6 +21013,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "targetTcpProxy": { "type": "string", "description": "Name of the TargetTcpProxy resource whose BackendService resource is to be set.", @@ -20215,6 +21054,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "targetTcpProxy": { "type": "string", "description": "Name of the TargetTcpProxy resource whose ProxyHeader is to be set.", @@ -20311,6 +21155,11 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "targetVpnGateway": { "type": "string", "description": "Name of the target VPN gateway to delete.", @@ -20393,6 +21242,11 @@ "required": true, "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -20484,6 +21338,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "urlMap": { "type": "string", "description": "Name of the UrlMap resource to delete.", @@ -20550,6 +21409,11 @@ "required": true, "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])?))", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ @@ -20579,6 +21443,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "urlMap": { "type": "string", "description": "Name of the UrlMap scoping this request.", @@ -20664,6 +21533,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "urlMap": { "type": "string", "description": "Name of the UrlMap resource to patch.", @@ -20684,8 +21558,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "update": { @@ -20701,6 +21574,11 @@ "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])?))", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "urlMap": { "type": "string", "description": "Name of the UrlMap resource to update.", @@ -20833,6 +21711,11 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" + }, "vpnTunnel": { "type": "string", "description": "Name of the VpnTunnel resource to delete.", @@ -20915,6 +21798,11 @@ "required": true, "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" + }, + "requestId": { + "type": "string", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query" } }, "parameterOrder": [ 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 60d664654..7d4608efc 100644 --- a/vendor/google.golang.org/api/compute/v1/compute-gen.go +++ b/vendor/google.golang.org/api/compute/v1/compute-gen.go @@ -752,11 +752,11 @@ func (s *AcceleratorType) MarshalJSON() ([]byte, error) { } type AcceleratorTypeAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped accelerator type lists. + // Items: A list of AcceleratorTypesScopedList resources. Items map[string]AcceleratorTypesScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -815,8 +815,12 @@ type AcceleratorTypeList struct { // compute#acceleratorTypeList for lists of accelerator types. Kind string `json:"kind,omitempty"` - // NextPageToken: [Output Only] A token used to continue a truncated - // 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 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] Server-defined URL for this resource. @@ -1029,7 +1033,7 @@ func (s *AccessConfig) MarshalJSON() ([]byte, error) { // Address: A reserved address resource. type Address struct { - // Address: The static external IP address represented by this resource. + // Address: The static IP address represented by this resource. Address string `json:"address,omitempty"` // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text @@ -1120,7 +1124,7 @@ type AddressAggregatedList struct { // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped address lists. + // Items: A list of AddressesScopedList resources. Items map[string]AddressesScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -1167,11 +1171,11 @@ func (s *AddressAggregatedList) MarshalJSON() ([]byte, error) { // AddressList: Contains a list of addresses. type AddressList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of addresses. + // Items: A list of Address resources. Items []*Address `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#addressList for @@ -1186,7 +1190,7 @@ type AddressList struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] Server-defined URL for the resource. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -1343,6 +1347,45 @@ func (s *AddressesScopedListWarningData) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AliasIpRange: An alias IP range attached to an instance's network +// interface. +type AliasIpRange struct { + // IpCidrRange: The IP CIDR range represented by this alias IP range. + // This IP CIDR range must belong to the specified subnetwork and cannot + // contain IP addresses reserved by system or used by other network + // interfaces. This range may be a single IP address (e.g. 10.2.3.4), a + // netmask (e.g. /24) or a CIDR format string (e.g. 10.1.2.0/24). + IpCidrRange string `json:"ipCidrRange,omitempty"` + + // SubnetworkRangeName: Optional subnetwork secondary range name + // specifying the secondary range from which to allocate the IP CIDR + // range for this alias IP range. If left unspecified, the primary range + // of the subnetwork will be used. + SubnetworkRangeName string `json:"subnetworkRangeName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "IpCidrRange") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "IpCidrRange") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AliasIpRange) MarshalJSON() ([]byte, error) { + type noMethod AliasIpRange + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // AttachedDisk: An instance-attached disk resource. type AttachedDisk struct { // AutoDelete: Specifies whether the disk will be auto-deleted when the @@ -1389,10 +1432,9 @@ type AttachedDisk struct { // group. DiskEncryptionKey *CustomerEncryptionKey `json:"diskEncryptionKey,omitempty"` - // Index: Assigns a zero-based index to this disk, where 0 is reserved - // for the boot disk. For example, if you have many disks attached to an - // instance, each disk would have a unique index number. If not - // specified, the server will choose an appropriate value. + // Index: [Output Only] A zero-based index to this disk, where 0 is + // reserved for the boot disk. If you have many disks attached to an + // instance, each disk would have a unique index number. Index int64 `json:"index,omitempty"` // InitializeParams: [Input Only] Specifies the parameters for a new @@ -1668,11 +1710,11 @@ func (s *Autoscaler) MarshalJSON() ([]byte, error) { } type AutoscalerAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: A map of scoped autoscaler lists. + // Items: A list of AutoscalersScopedList resources. Items map[string]AutoscalersScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -1719,8 +1761,8 @@ func (s *AutoscalerAggregatedList) MarshalJSON() ([]byte, error) { // AutoscalerList: Contains a list of Autoscaler resources. type AutoscalerList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 Autoscaler resources. @@ -2185,7 +2227,8 @@ type Backend struct { // Valid values are UTILIZATION, RATE (for HTTP(S)) and CONNECTION (for // TCP/SSL). // - // This cannot be used for internal load balancing. + // For Internal Load Balancing, the default and only supported mode is + // CONNECTION. // // Possible values: // "CONNECTION" @@ -2207,8 +2250,8 @@ type Backend struct { // property when you create the resource. Description string `json:"description,omitempty"` - // Group: The fully-qualified URL of a zonal Instance Group resource. - // This instance group defines the list of instances that serve traffic. + // Group: The fully-qualified URL of a Instance Group resource. This + // instance group defines the list of instances that serve traffic. // Member virtual machine instances from each instance group must live // in the same zone as the instance group itself. No two backends in a // backend service are allowed to use same Instance Group @@ -2218,8 +2261,7 @@ type Backend struct { // fully-qualified URL, rather than a partial URL. // // When the BackendService has load balancing scheme INTERNAL, the - // instance group must be in a zone within the same region as the - // BackendService. + // instance group must be within the same region as the BackendService. Group string `json:"group,omitempty"` // MaxConnections: The max number of simultaneous connections for the @@ -2378,8 +2420,12 @@ type BackendBucketList struct { // Kind: Type of resource. Kind string `json:"kind,omitempty"` - // NextPageToken: [Output Only] A token used to continue a truncated - // 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 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] Server-defined URL for this resource. @@ -2453,8 +2499,9 @@ type BackendService struct { // HealthChecks: The list of URLs to the HttpHealthCheck or // HttpsHealthCheck resource for health checking this BackendService. // Currently at most one health check can be specified, and a health - // check is required for GCE backend services. A health check must not - // be specified for GAE app backend and Cloud Function backend. + // check is required for Compute Engine backend services. A health check + // must not be specified for App Engine backend and Cloud Function + // backend. // // For internal load balancing, a URL to a HealthCheck resource must be // specified instead. @@ -2470,6 +2517,11 @@ type BackendService struct { // for backend services. Kind string `json:"kind,omitempty"` + // LoadBalancingScheme: Indicates whether the backend service will be + // used with internal or external load balancing. A backend service + // created for one type of load balancing cannot be used with the other. + // Possible values are INTERNAL and EXTERNAL. + // // Possible values: // "EXTERNAL" // "INTERNAL" @@ -2582,14 +2634,18 @@ type BackendServiceAggregatedList struct { // server. Id string `json:"id,omitempty"` - // Items: A map of scoped BackendService lists. + // Items: A list of BackendServicesScopedList resources. Items map[string]BackendServicesScopedList `json:"items,omitempty"` // Kind: Type of resource. Kind string `json:"kind,omitempty"` - // NextPageToken: [Output Only] A token used to continue a truncated - // 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 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] Server-defined URL for this resource. @@ -3092,11 +3148,11 @@ func (s *Commitment) MarshalJSON() ([]byte, error) { } type CommitmentAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: Commitments by scope. + // Items: A list of CommitmentsScopedList resources. Items map[string]CommitmentsScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -3143,8 +3199,8 @@ func (s *CommitmentAggregatedList) MarshalJSON() ([]byte, error) { // CommitmentList: Contains a list of Commitment resources. type CommitmentList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 Commitment resources. @@ -3562,7 +3618,8 @@ type Disk struct { // // If you specify this field along with sourceImage or sourceSnapshot, // the value of sizeGb must not be less than the size of the sourceImage - // or the size of the snapshot. + // or the size of the snapshot. Acceptable values are 1 to 65536, + // inclusive. SizeGb int64 `json:"sizeGb,omitempty,string"` // SourceImage: The source image used to create this disk. If the source @@ -3677,11 +3734,11 @@ func (s *Disk) MarshalJSON() ([]byte, error) { } type DiskAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped disk lists. + // Items: A list of DisksScopedList resources. Items map[string]DisksScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -3693,8 +3750,7 @@ type DiskAggregatedList struct { // than maxResults, 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. Acceptable values are 0 to 500, inclusive. (Default: - // 500) + // the results. NextPageToken string `json:"nextPageToken,omitempty"` // SelfLink: [Output Only] Server-defined URL for this resource. @@ -3740,11 +3796,12 @@ type DiskList struct { // lists of disks. 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 than - // maxResults, 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: [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 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] Server-defined URL for this resource. @@ -3887,11 +3944,11 @@ func (s *DiskType) MarshalJSON() ([]byte, error) { } type DiskTypeAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped disk type lists. + // Items: A list of DiskTypesScopedList resources. Items map[string]DiskTypesScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -3938,11 +3995,11 @@ func (s *DiskTypeAggregatedList) MarshalJSON() ([]byte, error) { // DiskTypeList: Contains a list of disk types. type DiskTypeList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Disk Type resources. + // Items: A list of DiskType resources. Items []*DiskType `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#diskTypeList for @@ -4280,10 +4337,31 @@ type Firewall struct { // format. CreationTimestamp string `json:"creationTimestamp,omitempty"` + // Denied: The list of DENY rules specified by this firewall. Each rule + // specifies a protocol and port-range tuple that describes a permitted + // connection. + Denied []*FirewallDenied `json:"denied,omitempty"` + // Description: An optional description of this resource. Provide this // property when you create the resource. Description string `json:"description,omitempty"` + // DestinationRanges: If destination ranges are specified, the firewall + // will apply only to traffic that has destination IP address in these + // ranges. These ranges must be expressed in CIDR format. Only IPv4 is + // supported. + DestinationRanges []string `json:"destinationRanges,omitempty"` + + // Direction: Direction of traffic to which this firewall applies; + // default is INGRESS. Note: For INGRESS traffic, it is NOT supported to + // specify destinationRanges; For EGRESS traffic, it is NOT supported to + // specify sourceRanges OR sourceTags. + // + // Possible values: + // "EGRESS" + // "INGRESS" + Direction string `json:"direction,omitempty"` + // Id: [Output Only] The unique identifier for the resource. This // identifier is defined by the server. Id uint64 `json:"id,omitempty,string"` @@ -4314,6 +4392,14 @@ type Firewall struct { // - global/networks/default Network string `json:"network,omitempty"` + // Priority: Priority for this rule. This is an integer between 0 and + // 65535, both inclusive. When not specified, the value assumed is 1000. + // Relative priorities determine precedence of conflicting rules. Lower + // value of priority implies higher precedence (eg, a rule with priority + // 0 has higher precedence than a rule with priority 1). DENY rules take + // precedence over ALLOW rules having equal priority. + Priority int64 `json:"priority,omitempty"` + // SelfLink: [Output Only] Server-defined URL for the resource. SelfLink string `json:"selfLink,omitempty"` @@ -4327,15 +4413,18 @@ type Firewall struct { // the firewall to apply. Only IPv4 is supported. SourceRanges []string `json:"sourceRanges,omitempty"` - // SourceTags: If source tags are specified, the firewall will apply - // only to traffic with source IP that belongs to a tag listed in source - // tags. Source tags cannot be used to control traffic to an instance's - // external IP address. Because tags are associated with an instance, - // not an IP address. One or both of sourceRanges and sourceTags may be - // set. If both properties are set, the firewall will apply to traffic - // that has source IP address within sourceRanges OR the source IP that - // belongs to a tag listed in the sourceTags property. The connection - // does not need to match both properties for the firewall to apply. + // SourceTags: If source tags are specified, the firewall rule applies + // only to traffic with source IPs that match the primary network + // interfaces of VM instances that have the tag and are in the same VPC + // network. Source tags cannot be used to control traffic to an + // instance's external IP address, it only applies to traffic between + // instances in the same virtual network. Because tags are associated + // with instances, not IP addresses. One or both of sourceRanges and + // sourceTags may be set. If both properties are set, the firewall will + // apply to traffic that has source IP address within sourceRanges OR + // the source IP that belongs to a tag listed in the sourceTags + // property. The connection does not need to match both properties for + // the firewall to apply. SourceTags []string `json:"sourceTags,omitempty"` // TargetTags: A list of instance tags indicating sets of instances @@ -4375,7 +4464,7 @@ type FirewallAllowed struct { // IPProtocol: The IP protocol to which this rule applies. The protocol // type is required when creating a firewall rule. This value can either // be one of the following well known protocol strings (tcp, udp, icmp, - // esp, ah, sctp), or the IP protocol number. + // esp, ah, ipip, sctp), or the IP protocol number. IPProtocol string `json:"IPProtocol,omitempty"` // Ports: An optional list of ports to which this rule applies. This @@ -4409,13 +4498,51 @@ func (s *FirewallAllowed) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type FirewallDenied struct { + // IPProtocol: The IP protocol to which this rule applies. The protocol + // type is required when creating a firewall rule. This value can either + // be one of the following well known protocol strings (tcp, udp, icmp, + // esp, ah, ipip, sctp), or the IP protocol number. + IPProtocol string `json:"IPProtocol,omitempty"` + + // Ports: An optional list of ports to which this rule applies. This + // field is only applicable for UDP or TCP protocol. Each entry must be + // either an integer or a range. If not specified, this rule applies to + // connections through any port. + // + // Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. + Ports []string `json:"ports,omitempty"` + + // ForceSendFields is a list of field names (e.g. "IPProtocol") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "IPProtocol") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FirewallDenied) MarshalJSON() ([]byte, error) { + type noMethod FirewallDenied + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // FirewallList: Contains a list of firewalls. type FirewallList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Firewall resources. + // Items: A list of Firewall resources. Items []*Firewall `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#firewallList for @@ -4572,10 +4699,10 @@ type ForwardingRule struct { // ports: // - TargetHttpProxy: 80, 8080 // - TargetHttpsProxy: 443 - // - TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995 - // - // - TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995 - // + // - TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, + // 995, 1883, 5222 + // - TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, + // 995, 1883, 5222 // - TargetVpnGateway: 500, 4500 // - PortRange string `json:"portRange,omitempty"` @@ -4647,11 +4774,11 @@ func (s *ForwardingRule) MarshalJSON() ([]byte, error) { } type ForwardingRuleAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: A map of scoped forwarding rule lists. + // Items: A list of ForwardingRulesScopedList resources. Items map[string]ForwardingRulesScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -4698,7 +4825,7 @@ func (s *ForwardingRuleAggregatedList) MarshalJSON() ([]byte, error) { // ForwardingRuleList: Contains a list of ForwardingRule resources. type ForwardingRuleList struct { - // Id: [Output Only] Unique identifier for the resource. Set by the + // Id: [Output Only] Unique identifier for the resource; defined by the // server. Id string `json:"id,omitempty"` @@ -4922,8 +5049,7 @@ type GuestOsFeature struct { // Type: The type of supported feature. Currently only // VIRTIO_SCSI_MULTIQUEUE is supported. For newer Windows images, the // server might also populate this property with the value WINDOWS to - // indicate that this is a Windows image. This value is purely - // informational and does not enable or disable any features. + // indicate that this is a Windows image. // // Possible values: // "FEATURE_TYPE_UNSPECIFIED" @@ -5154,8 +5280,8 @@ func (s *HealthCheck) MarshalJSON() ([]byte, error) { // HealthCheckList: Contains a list of HealthCheck resources. type HealthCheckList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 HealthCheck resources. @@ -5407,7 +5533,7 @@ func (s *HttpHealthCheck) MarshalJSON() ([]byte, error) { // HttpHealthCheckList: Contains a list of HttpHealthCheck resources. type HttpHealthCheckList struct { - // Id: [Output Only] Unique identifier for the resource. Defined by the + // Id: [Output Only] Unique identifier for the resource; defined by the // server. Id string `json:"id,omitempty"` @@ -5631,10 +5757,9 @@ type Image struct { // higher. Linux images with kernel versions 3.17 and higher will // support VIRTIO_SCSI_MULTIQUEUE. // - // For new Windows images, the server might also populate this field - // with the value WINDOWS, to indicate that this is a Windows image. - // This value is purely informational and does not enable or disable any - // features. + // For newer Windows images, the server might also populate this + // property with the value WINDOWS to indicate that this is a Windows + // image. GuestOsFeatures []*GuestOsFeature `json:"guestOsFeatures,omitempty"` // Id: [Output Only] The unique identifier for the resource. This @@ -5713,6 +5838,24 @@ type Image struct { // the current or a previous instance of a given disk name. SourceDiskId string `json:"sourceDiskId,omitempty"` + // SourceImage: URL of the source image used to create this image. This + // can be a full or valid partial URL. You must provide exactly one of: + // + // - this property, or + // - the rawDisk.source property, or + // - the sourceDisk property in order to create an image. + SourceImage string `json:"sourceImage,omitempty"` + + // SourceImageEncryptionKey: The customer-supplied encryption key of the + // source image. Required if the source image is protected by a + // customer-supplied encryption key. + SourceImageEncryptionKey *CustomerEncryptionKey `json:"sourceImageEncryptionKey,omitempty"` + + // SourceImageId: [Output Only] The ID value of the image used to create + // this image. This value may be used to determine whether the image was + // taken from the current or a previous instance of a given image name. + SourceImageId string `json:"sourceImageId,omitempty"` + // SourceType: The type of the image used to create this disk. The // default and only value is RAW // @@ -5804,11 +5947,11 @@ func (s *ImageRawDisk) MarshalJSON() ([]byte, error) { // ImageList: Contains a list of images. type ImageList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Image resources. + // Items: A list of Image resources. Items []*Image `json:"items,omitempty"` // Kind: Type of resource. @@ -5939,10 +6082,10 @@ type Instance struct { // be a dash. Name string `json:"name,omitempty"` - // NetworkInterfaces: An array of configurations for this interface. - // This specifies how this interface is configured to interact with - // other network services, such as connecting to the internet. Only one - // interface is supported per instance. + // NetworkInterfaces: An array of network configurations for this + // instance. These specify how interfaces are configured to interact + // with other network services, such as connecting to the internet. + // Multiple interfaces are supported per instance. NetworkInterfaces []*NetworkInterface `json:"networkInterfaces,omitempty"` // Scheduling: Sets the scheduling options for this instance. @@ -5965,7 +6108,7 @@ type Instance struct { StartRestricted bool `json:"startRestricted,omitempty"` // Status: [Output Only] The status of the instance. One of the - // following values: PROVISIONING, STAGING, RUNNING, STOPPING, + // following values: PROVISIONING, STAGING, RUNNING, STOPPING, STOPPED, // SUSPENDING, SUSPENDED, and TERMINATED. // // Possible values: @@ -6021,11 +6164,11 @@ func (s *Instance) MarshalJSON() ([]byte, error) { } type InstanceAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped instance lists. + // Items: A list of InstancesScopedList resources. Items map[string]InstancesScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -6161,11 +6304,11 @@ func (s *InstanceGroup) MarshalJSON() ([]byte, error) { } type InstanceGroupAggregatedList struct { - // Id: [Output Only] A unique identifier for this aggregated list of - // instance groups. The server generates this identifier. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: A map of scoped instance group lists. + // Items: A list of InstanceGroupsScopedList resources. Items map[string]InstanceGroupsScopedList `json:"items,omitempty"` // Kind: [Output Only] The resource type, which is always @@ -6181,8 +6324,7 @@ type InstanceGroupAggregatedList struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] The URL for this resource type. The server - // generates this URL. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -6214,11 +6356,11 @@ func (s *InstanceGroupAggregatedList) MarshalJSON() ([]byte, error) { // InstanceGroupList: A list of InstanceGroup resources. type InstanceGroupList struct { - // Id: [Output Only] A unique identifier for this list of instance - // groups. The server generates this identifier. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: A list of instance groups. + // Items: A list of InstanceGroup resources. Items []*InstanceGroup `json:"items,omitempty"` // Kind: [Output Only] The resource type, which is always @@ -6233,8 +6375,7 @@ type InstanceGroupList struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] The URL for this resource type. The server - // generates this URL. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -6439,11 +6580,11 @@ func (s *InstanceGroupManagerActionsSummary) MarshalJSON() ([]byte, error) { } type InstanceGroupManagerAggregatedList struct { - // Id: [Output Only] A unique identifier for this aggregated list of - // managed instance groups. The server generates this identifier. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of filtered managed instance group lists. + // Items: A list of InstanceGroupManagersScopedList resources. Items map[string]InstanceGroupManagersScopedList `json:"items,omitempty"` // Kind: [Output Only] The resource type, which is always @@ -6459,8 +6600,7 @@ type InstanceGroupManagerAggregatedList struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] The URL for this resource type. The server - // generates this URL. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -6493,11 +6633,11 @@ func (s *InstanceGroupManagerAggregatedList) MarshalJSON() ([]byte, error) { // InstanceGroupManagerList: [Output Only] A list of managed instance // groups. type InstanceGroupManagerList struct { - // Id: [Output Only] A unique identifier for this resource type. The - // server generates this identifier. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of managed instance groups. + // Items: A list of InstanceGroupManager resources. Items []*InstanceGroupManager `json:"items,omitempty"` // Kind: [Output Only] The resource type, which is always @@ -6891,12 +7031,11 @@ func (s *InstanceGroupsAddInstancesRequest) MarshalJSON() ([]byte, error) { } type InstanceGroupsListInstances struct { - // Id: [Output Only] A unique identifier for this list of instances in - // the specified instance group. The server generates this identifier. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of instances and any named ports that are - // assigned to those instances. + // Items: A list of InstanceWithNamedPorts resources. Items []*InstanceWithNamedPorts `json:"items,omitempty"` // Kind: [Output Only] The resource type, which is always @@ -6912,8 +7051,7 @@ type InstanceGroupsListInstances struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] The URL for this list of instances in the - // specified instance groups. The server generates this URL. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -7171,11 +7309,11 @@ func (s *InstanceGroupsSetNamedPortsRequest) MarshalJSON() ([]byte, error) { // InstanceList: Contains a list of instances. type InstanceList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of instances. + // Items: A list of Instance resources. Items []*Instance `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#instanceList for @@ -7433,11 +7571,11 @@ func (s *InstanceTemplate) MarshalJSON() ([]byte, error) { // InstanceTemplateList: A list of instance templates. type InstanceTemplateList struct { - // Id: [Output Only] A unique identifier for this instance template. The - // server defines this identifier. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] list of InstanceTemplate resources. + // Items: A list of InstanceTemplate resources. Items []*InstanceTemplate `json:"items,omitempty"` // Kind: [Output Only] The resource type, which is always @@ -7452,8 +7590,7 @@ type InstanceTemplateList struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] The URL for this instance template list. The - // server defines this URL. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -7969,11 +8106,11 @@ func (s *MachineTypeScratchDisks) MarshalJSON() ([]byte, error) { } type MachineTypeAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped machine type lists. + // Items: A list of MachineTypesScopedList resources. Items map[string]MachineTypesScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -8021,11 +8158,11 @@ func (s *MachineTypeAggregatedList) MarshalJSON() ([]byte, error) { // MachineTypeList: Contains a list of machine types. type MachineTypeList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Machine Type resources. + // Items: A list of MachineType resources. Items []*MachineType `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#machineTypeList @@ -8428,7 +8565,7 @@ type MetadataItems struct { // Value: Value for the metadata entry. These are free-form strings, and // only have meaning as interpreted by the image running in the // instance. The only restriction placed on values is that their size - // must be less than or equal to 32768 bytes. + // must be less than or equal to 262144 bytes (256 KiB). Value *string `json:"value,omitempty"` // ForceSendFields is a list of field names (e.g. "Key") to @@ -8579,6 +8716,11 @@ type NetworkInterface struct { // external internet access. AccessConfigs []*AccessConfig `json:"accessConfigs,omitempty"` + // AliasIpRanges: An array of alias IP ranges for this network + // interface. Can only be specified for network interfaces on + // subnet-mode networks. + AliasIpRanges []*AliasIpRange `json:"aliasIpRanges,omitempty"` + // Kind: [Output Only] Type of the resource. Always // compute#networkInterface for network interfaces. Kind string `json:"kind,omitempty"` @@ -8647,11 +8789,11 @@ func (s *NetworkInterface) MarshalJSON() ([]byte, error) { // NetworkList: Contains a list of networks. type NetworkList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Network resources. + // Items: A list of Network resources. Items []*Network `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#networkList for @@ -9469,9 +9611,8 @@ type Project struct { // the Google Cloud Storage bucket where they are stored. UsageExportLocation *UsageExportLocation `json:"usageExportLocation,omitempty"` - // XpnProjectStatus: [Output Only] The role this project has in a Cross - // Project Network (XPN) configuration. Currently only HOST projects are - // differentiated. + // XpnProjectStatus: [Output Only] The role this project has in a shared + // VPC configuration. Currently only HOST projects are differentiated. // // Possible values: // "HOST" @@ -9508,7 +9649,7 @@ func (s *Project) MarshalJSON() ([]byte, error) { } type ProjectsDisableXpnResourceRequest struct { - // XpnResource: XPN resource ID. + // XpnResource: Service resource (a.k.a service project) ID. XpnResource *XpnResourceId `json:"xpnResource,omitempty"` // ForceSendFields is a list of field names (e.g. "XpnResource") to @@ -9535,7 +9676,7 @@ func (s *ProjectsDisableXpnResourceRequest) MarshalJSON() ([]byte, error) { } type ProjectsEnableXpnResourceRequest struct { - // XpnResource: XPN resource ID. + // XpnResource: Service resource (a.k.a service project) ID. XpnResource *XpnResourceId `json:"xpnResource,omitempty"` // ForceSendFields is a list of field names (e.g. "XpnResource") to @@ -9563,7 +9704,8 @@ func (s *ProjectsEnableXpnResourceRequest) MarshalJSON() ([]byte, error) { type ProjectsGetXpnResources struct { // Kind: [Output Only] Type of resource. Always - // compute#projectsGetXpnResources for lists of XPN resources. + // compute#projectsGetXpnResources for lists of service resources (a.k.a + // service projects) Kind string `json:"kind,omitempty"` // NextPageToken: [Output Only] This token allows you to get the next @@ -9574,7 +9716,8 @@ type ProjectsGetXpnResources struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // Resources: XPN resources attached to this project as their XPN host. + // Resources: Service resources (a.k.a service projects) attached to + // this project as their shared VPC host. Resources []*XpnResourceId `json:"resources,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -9606,8 +9749,8 @@ func (s *ProjectsGetXpnResources) MarshalJSON() ([]byte, error) { type ProjectsListXpnHostsRequest struct { // Organization: Optional organization ID managed by Cloud Resource - // Manager, for which to list XPN host projects. If not specified, the - // organization will be inferred from the project. + // Manager, for which to list shared VPC host projects. If not + // specified, the organization will be inferred from the project. Organization string `json:"organization,omitempty"` // ForceSendFields is a list of field names (e.g. "Organization") to @@ -9660,11 +9803,15 @@ type Quota struct { // "LOCAL_SSD_TOTAL_GB" // "NETWORKS" // "NVIDIA_K80_GPUS" + // "NVIDIA_P100_GPUS" // "PREEMPTIBLE_CPUS" + // "PREEMPTIBLE_LOCAL_SSD_GB" // "REGIONAL_AUTOSCALERS" // "REGIONAL_INSTANCE_GROUP_MANAGERS" // "ROUTERS" // "ROUTES" + // "SECURITY_POLICIES" + // "SECURITY_POLICY_RULES" // "SNAPSHOTS" // "SSD_TOTAL_GB" // "SSL_CERTIFICATES" @@ -9675,6 +9822,7 @@ type Quota struct { // "TARGET_INSTANCES" // "TARGET_POOLS" // "TARGET_SSL_PROXIES" + // "TARGET_TCP_PROXIES" // "TARGET_VPN_GATEWAYS" // "URL_MAPS" // "VPN_TUNNELS" @@ -9793,18 +9941,22 @@ func (s *Region) MarshalJSON() ([]byte, error) { // RegionAutoscalerList: Contains a list of autoscalers. type RegionAutoscalerList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 autoscalers. + // Items: A list of Autoscaler resources. Items []*Autoscaler `json:"items,omitempty"` // Kind: Type of resource. Kind string `json:"kind,omitempty"` - // NextPageToken: [Output Only] A token used to continue a truncated - // 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 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] Server-defined URL for this resource. @@ -9839,8 +9991,8 @@ func (s *RegionAutoscalerList) MarshalJSON() ([]byte, error) { // RegionInstanceGroupList: Contains a list of InstanceGroup resources. type RegionInstanceGroupList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 InstanceGroup resources. @@ -9857,8 +10009,7 @@ type RegionInstanceGroupList struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] The URL for this resource type. The server - // generates this URL. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -9891,11 +10042,11 @@ func (s *RegionInstanceGroupList) MarshalJSON() ([]byte, error) { // RegionInstanceGroupManagerList: Contains a list of managed instance // groups. type RegionInstanceGroupManagerList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 managed instance groups. + // Items: A list of InstanceGroupManager resources. Items []*InstanceGroupManager `json:"items,omitempty"` // Kind: [Output Only] The resource type, which is always @@ -9903,12 +10054,15 @@ type RegionInstanceGroupManagerList struct { // groups that exist in th regional scope. Kind string `json:"kind,omitempty"` - // NextPageToken: [Output only] A token used to continue a truncated - // 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 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] The URL for this resource type. The server - // generates this URL. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -10121,12 +10275,11 @@ func (s *RegionInstanceGroupManagersSetTemplateRequest) MarshalJSON() ([]byte, e } type RegionInstanceGroupsListInstances struct { - // Id: [Output Only] Unique identifier for the resource. Defined by the + // Id: [Output Only] Unique identifier for the resource; defined by the // server. Id string `json:"id,omitempty"` - // Items: A list of instances and any named ports that are assigned to - // those instances. + // Items: A list of InstanceWithNamedPorts resources. Items []*InstanceWithNamedPorts `json:"items,omitempty"` // Kind: The resource type. @@ -10140,7 +10293,7 @@ type RegionInstanceGroupsListInstances struct { // the results. NextPageToken string `json:"nextPageToken,omitempty"` - // SelfLink: [Output Only] Server-defined URL for the resource. + // SelfLink: [Output Only] Server-defined URL for this resource. SelfLink string `json:"selfLink,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -10245,11 +10398,11 @@ func (s *RegionInstanceGroupsSetNamedPortsRequest) MarshalJSON() ([]byte, error) // RegionList: Contains a list of region resources. type RegionList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Region resources. + // Items: A list of Region resources. Items []*Region `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#regionList for @@ -10586,11 +10739,11 @@ func (s *RouteWarningsData) MarshalJSON() ([]byte, error) { // RouteList: Contains a list of Route resources. type RouteList struct { - // Id: [Output Only] Unique identifier for the resource. Defined by the + // Id: [Output Only] Unique identifier for the resource; defined by the // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Route resources. + // Items: A list of Route resources. Items []*Route `json:"items,omitempty"` // Kind: Type of resource. @@ -10712,11 +10865,11 @@ func (s *Router) MarshalJSON() ([]byte, error) { // RouterAggregatedList: Contains a list of routers. type RouterAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: A map of scoped router lists. + // Items: A list of Router resources. Items map[string]RoutersScopedList `json:"items,omitempty"` // Kind: Type of resource. @@ -10883,8 +11036,8 @@ func (s *RouterInterface) MarshalJSON() ([]byte, error) { // RouterList: Contains a list of Router resources. type RouterList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 Router resources. @@ -11501,7 +11654,7 @@ type Snapshot struct { // "UPLOADING" Status string `json:"status,omitempty"` - // StorageBytes: [Output Only] A size of the the storage used by the + // StorageBytes: [Output Only] A size of the storage used by the // snapshot. As snapshots share storage, this number is expected to // change with snapshot creation/deletion. StorageBytes int64 `json:"storageBytes,omitempty,string"` @@ -11547,11 +11700,11 @@ func (s *Snapshot) MarshalJSON() ([]byte, error) { // SnapshotList: Contains a list of Snapshot resources. type SnapshotList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Snapshot resources. + // Items: A list of Snapshot resources. Items []*Snapshot `json:"items,omitempty"` // Kind: Type of resource. @@ -11665,7 +11818,7 @@ func (s *SslCertificate) MarshalJSON() ([]byte, error) { // SslCertificateList: Contains a list of SslCertificate resources. type SslCertificateList struct { - // Id: [Output Only] Unique identifier for the resource. Defined by the + // Id: [Output Only] Unique identifier for the resource; defined by the // server. Id string `json:"id,omitempty"` @@ -11769,6 +11922,12 @@ type Subnetwork struct { // can be set only at resource creation time. Region string `json:"region,omitempty"` + // SecondaryIpRanges: An array of configurations for secondary IP ranges + // for VM instances contained in this subnetwork. The primary IP of such + // VM must belong to the primary ipCidrRange of the subnetwork. The + // alias IPs may belong to either primary or secondary ranges. + SecondaryIpRanges []*SubnetworkSecondaryRange `json:"secondaryIpRanges,omitempty"` + // SelfLink: [Output Only] Server-defined URL for the resource. SelfLink string `json:"selfLink,omitempty"` @@ -11801,11 +11960,11 @@ func (s *Subnetwork) MarshalJSON() ([]byte, error) { } type SubnetworkAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output] A map of scoped Subnetwork lists. + // Items: A list of SubnetworksScopedList resources. Items map[string]SubnetworksScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -11852,11 +12011,11 @@ func (s *SubnetworkAggregatedList) MarshalJSON() ([]byte, error) { // SubnetworkList: Contains a list of Subnetwork resources. type SubnetworkList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: The Subnetwork resources. + // Items: A list of Subnetwork resources. Items []*Subnetwork `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#subnetworkList @@ -11901,6 +12060,45 @@ func (s *SubnetworkList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SubnetworkSecondaryRange: Represents a secondary IP range of a +// subnetwork. +type SubnetworkSecondaryRange struct { + // IpCidrRange: The range of IP addresses belonging to this subnetwork + // secondary range. Provide this property when you create the + // subnetwork. Ranges must be unique and non-overlapping with all + // primary and secondary IP ranges within a network. Only IPv4 is + // supported. + IpCidrRange string `json:"ipCidrRange,omitempty"` + + // RangeName: The name associated with this subnetwork secondary range, + // used when adding an alias IP range to a VM instance. The name must be + // 1-63 characters long, and comply with RFC1035. The name must be + // unique within the subnetwork. + RangeName string `json:"rangeName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "IpCidrRange") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "IpCidrRange") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SubnetworkSecondaryRange) MarshalJSON() ([]byte, error) { + type noMethod SubnetworkSecondaryRange + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type SubnetworksExpandIpCidrRangeRequest struct { // IpCidrRange: The IP (in CIDR format or netmask) of internal addresses // that are legal on this Subnetwork. This range should be disjoint from @@ -12243,8 +12441,8 @@ func (s *TargetHttpProxy) MarshalJSON() ([]byte, error) { // TargetHttpProxyList: A list of TargetHttpProxy resources. type TargetHttpProxyList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 TargetHttpProxy resources. @@ -12397,8 +12595,8 @@ func (s *TargetHttpsProxy) MarshalJSON() ([]byte, error) { // TargetHttpsProxyList: Contains a list of TargetHttpsProxy resources. type TargetHttpsProxyList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 TargetHttpsProxy resources. @@ -12531,7 +12729,7 @@ type TargetInstanceAggregatedList struct { // server. Id string `json:"id,omitempty"` - // Items: A map of scoped target instance lists. + // Items: A list of TargetInstance resources. Items map[string]TargetInstancesScopedList `json:"items,omitempty"` // Kind: Type of resource. @@ -12577,8 +12775,8 @@ func (s *TargetInstanceAggregatedList) MarshalJSON() ([]byte, error) { // TargetInstanceList: Contains a list of TargetInstance resources. type TargetInstanceList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 TargetInstance resources. @@ -12897,11 +13095,11 @@ func (s *TargetPool) UnmarshalJSON(data []byte) error { } type TargetPoolAggregatedList struct { - // Id: [Output Only] Unique identifier for the resource. Defined by the + // Id: [Output Only] Unique identifier for the resource; defined by the // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped target pool lists. + // Items: A list of TargetPool resources. Items map[string]TargetPoolsScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always @@ -12984,7 +13182,7 @@ func (s *TargetPoolInstanceHealth) MarshalJSON() ([]byte, error) { // TargetPoolList: Contains a list of TargetPool resources. type TargetPoolList struct { - // Id: [Output Only] Unique identifier for the resource. Defined by the + // Id: [Output Only] Unique identifier for the resource; defined by the // server. Id string `json:"id,omitempty"` @@ -13473,8 +13671,8 @@ func (s *TargetSslProxy) MarshalJSON() ([]byte, error) { // TargetSslProxyList: Contains a list of TargetSslProxy resources. type TargetSslProxyList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 TargetSslProxy resources. @@ -13654,8 +13852,8 @@ func (s *TargetTcpProxy) MarshalJSON() ([]byte, error) { // TargetTcpProxyList: Contains a list of TargetTcpProxy resources. type TargetTcpProxyList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is 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 TargetTcpProxy resources. @@ -13788,11 +13986,11 @@ func (s *TargetVpnGateway) MarshalJSON() ([]byte, error) { } type TargetVpnGatewayAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: A map of scoped target vpn gateway lists. + // Items: A list of TargetVpnGateway resources. Items map[string]TargetVpnGatewaysScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#targetVpnGateway @@ -13839,11 +14037,11 @@ func (s *TargetVpnGatewayAggregatedList) MarshalJSON() ([]byte, error) { // TargetVpnGatewayList: Contains a list of TargetVpnGateway resources. type TargetVpnGatewayList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of TargetVpnGateway resources. + // Items: A list of TargetVpnGateway resources. Items []*TargetVpnGateway `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#targetVpnGateway @@ -14131,7 +14329,7 @@ func (s *UrlMap) MarshalJSON() ([]byte, error) { // UrlMapList: Contains a list of UrlMap resources. type UrlMapList struct { - // Id: [Output Only] Unique identifier for the resource. Set by the + // Id: [Output Only] Unique identifier for the resource; defined by the // server. Id string `json:"id,omitempty"` @@ -14498,11 +14696,11 @@ func (s *VpnTunnel) MarshalJSON() ([]byte, error) { } type VpnTunnelAggregatedList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A map of scoped vpn tunnel lists. + // Items: A list of VpnTunnelsScopedList resources. Items map[string]VpnTunnelsScopedList `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#vpnTunnel for @@ -14549,11 +14747,11 @@ func (s *VpnTunnelAggregatedList) MarshalJSON() ([]byte, error) { // VpnTunnelList: Contains a list of VpnTunnel resources. type VpnTunnelList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of VpnTunnel resources. + // Items: A list of VpnTunnel resources. Items []*VpnTunnel `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#vpnTunnel for @@ -14726,15 +14924,15 @@ func (s *VpnTunnelsScopedListWarningData) MarshalJSON() ([]byte, error) { } type XpnHostList struct { - // Id: [Output Only] The unique identifier for the resource. This - // identifier is defined by the server. + // Id: [Output Only] Unique identifier for the resource; defined by the + // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of XPN host project URLs. + // Items: [Output Only] A list of shared VPC host project URLs. Items []*Project `json:"items,omitempty"` // Kind: [Output Only] Type of resource. Always compute#xpnHostList for - // lists of XPN hosts. + // lists of shared VPC hosts. Kind string `json:"kind,omitempty"` // NextPageToken: [Output Only] This token allows you to get the next @@ -14775,13 +14973,14 @@ func (s *XpnHostList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// XpnResourceId: XpnResourceId +// XpnResourceId: Service resource (a.k.a service project) ID. type XpnResourceId struct { - // Id: The ID of the XPN resource. In the case of projects, this field - // matches the project's name, not the canonical ID. + // Id: The ID of the service resource. In the case of projects, this + // field matches the project ID (e.g., my-project), not the project + // number (e.g., 12345678). Id string `json:"id,omitempty"` - // Type: The type of the XPN resource. + // Type: The type of the service resource. // // Possible values: // "PROJECT" @@ -14883,7 +15082,7 @@ type ZoneList struct { // server. Id string `json:"id,omitempty"` - // Items: [Output Only] A list of Zone resources. + // Items: A list of Zone resources. Items []*Zone `json:"items,omitempty"` // Kind: Type of resource. @@ -15914,6 +16113,25 @@ func (r *AddressesService) Delete(project string, region string, address string) 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 *AddressesDeleteCall) RequestId(requestId string) *AddressesDeleteCall { + 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 information. @@ -16026,6 +16244,11 @@ func (c *AddressesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, erro // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/addresses/{address}", @@ -16226,6 +16449,25 @@ func (r *AddressesService) Insert(project string, region string, address *Addres 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 *AddressesInsertCall) RequestId(requestId string) *AddressesInsertCall { + 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 information. @@ -16334,6 +16576,11 @@ func (c *AddressesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, erro // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/addresses", @@ -16887,6 +17134,25 @@ func (r *AutoscalersService) Delete(project string, zone string, autoscaler stri 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 *AutoscalersDeleteCall) RequestId(requestId string) *AutoscalersDeleteCall { + 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 information. @@ -16993,6 +17259,11 @@ func (c *AutoscalersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, er // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "Name of the zone for this request.", // "location": "path", @@ -17198,6 +17469,25 @@ func (r *AutoscalersService) Insert(project string, zone string, autoscaler *Aut 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 *AutoscalersInsertCall) RequestId(requestId string) *AutoscalersInsertCall { + 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 information. @@ -17300,6 +17590,11 @@ func (c *AutoscalersInsertCall) Do(opts ...googleapi.CallOption) (*Operation, er // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "Name of the zone for this request.", // "location": "path", @@ -17616,6 +17911,25 @@ func (c *AutoscalersPatchCall) Autoscaler(autoscaler string) *AutoscalersPatchCa 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 *AutoscalersPatchCall) RequestId(requestId string) *AutoscalersPatchCall { + 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 information. @@ -17724,6 +18038,11 @@ func (c *AutoscalersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, err // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "Name of the zone for this request.", // "location": "path", @@ -17741,8 +18060,7 @@ func (c *AutoscalersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, err // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -17777,6 +18095,25 @@ func (c *AutoscalersUpdateCall) Autoscaler(autoscaler string) *AutoscalersUpdate 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 *AutoscalersUpdateCall) RequestId(requestId string) *AutoscalersUpdateCall { + 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 information. @@ -17885,6 +18222,11 @@ func (c *AutoscalersUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, er // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "Name of the zone for this request.", // "location": "path", @@ -17927,6 +18269,25 @@ func (r *BackendBucketsService) Delete(project string, backendBucket string) *Ba 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 *BackendBucketsDeleteCall) RequestId(requestId string) *BackendBucketsDeleteCall { + 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 information. @@ -18030,6 +18391,11 @@ func (c *BackendBucketsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/backendBuckets/{backendBucket}", @@ -18216,6 +18582,25 @@ func (r *BackendBucketsService) Insert(project string, backendbucket *BackendBuc 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 *BackendBucketsInsertCall) RequestId(requestId string) *BackendBucketsInsertCall { + 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 information. @@ -18315,6 +18700,11 @@ func (c *BackendBucketsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/backendBuckets", @@ -18607,6 +18997,25 @@ func (r *BackendBucketsService) Patch(project string, backendBucket string, back 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 *BackendBucketsPatchCall) RequestId(requestId string) *BackendBucketsPatchCall { + 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 information. @@ -18715,6 +19124,11 @@ func (c *BackendBucketsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/backendBuckets/{backendBucket}", @@ -18726,8 +19140,7 @@ func (c *BackendBucketsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -18755,6 +19168,25 @@ func (r *BackendBucketsService) Update(project string, backendBucket string, bac 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 *BackendBucketsUpdateCall) RequestId(requestId string) *BackendBucketsUpdateCall { + 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 information. @@ -18863,6 +19295,11 @@ func (c *BackendBucketsUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/backendBuckets/{backendBucket}", @@ -19152,6 +19589,25 @@ func (r *BackendServicesService) Delete(project string, backendService string) * 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 *BackendServicesDeleteCall) RequestId(requestId string) *BackendServicesDeleteCall { + 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 information. @@ -19255,6 +19711,11 @@ func (c *BackendServicesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/backendServices/{backendService}", @@ -19593,6 +20054,25 @@ func (r *BackendServicesService) Insert(project string, backendservice *BackendS 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 *BackendServicesInsertCall) RequestId(requestId string) *BackendServicesInsertCall { + 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 information. @@ -19692,6 +20172,11 @@ func (c *BackendServicesInsertCall) Do(opts ...googleapi.CallOption) (*Operation // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/backendServices", @@ -19989,6 +20474,25 @@ func (r *BackendServicesService) Patch(project string, backendService string, ba 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 *BackendServicesPatchCall) RequestId(requestId string) *BackendServicesPatchCall { + 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 information. @@ -20097,6 +20601,11 @@ func (c *BackendServicesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/backendServices/{backendService}", @@ -20108,8 +20617,7 @@ func (c *BackendServicesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -20140,6 +20648,25 @@ func (r *BackendServicesService) Update(project string, backendService string, b 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 *BackendServicesUpdateCall) RequestId(requestId string) *BackendServicesUpdateCall { + 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 information. @@ -20248,6 +20775,11 @@ func (c *BackendServicesUpdateCall) Do(opts ...googleapi.CallOption) (*Operation // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/backendServices/{backendService}", @@ -21227,6 +21759,25 @@ func (c *DisksCreateSnapshotCall) GuestFlush(guestFlush bool) *DisksCreateSnapsh 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 *DisksCreateSnapshotCall) RequestId(requestId string) *DisksCreateSnapshotCall { + 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 information. @@ -21342,6 +21893,11 @@ func (c *DisksCreateSnapshotCall) Do(opts ...googleapi.CallOption) (*Operation, // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone for this request.", // "location": "path", @@ -21390,6 +21946,25 @@ func (r *DisksService) Delete(project string, zone string, disk string) *DisksDe 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 *DisksDeleteCall) RequestId(requestId string) *DisksDeleteCall { + 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 information. @@ -21495,6 +22070,11 @@ func (c *DisksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) { // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone for this request.", // "location": "path", @@ -21705,6 +22285,25 @@ func (r *DisksService) Insert(project string, zone string, disk *Disk) *DisksIns 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 *DisksInsertCall) RequestId(requestId string) *DisksInsertCall { + c.urlParams_.Set("requestId", requestId) + return c +} + // SourceImage sets the optional parameter "sourceImage": Source image // to restore onto a disk. func (c *DisksInsertCall) SourceImage(sourceImage string) *DisksInsertCall { @@ -21814,6 +22413,11 @@ func (c *DisksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) { // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "sourceImage": { // "description": "Optional. Source image to restore onto a disk.", // "location": "query", @@ -22129,6 +22733,25 @@ func (r *DisksService) Resize(project string, zone string, disk string, disksres 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 *DisksResizeCall) RequestId(requestId string) *DisksResizeCall { + 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 information. @@ -22240,6 +22863,11 @@ func (c *DisksResizeCall) Do(opts ...googleapi.CallOption) (*Operation, error) { // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone for this request.", // "location": "path", @@ -22287,6 +22915,25 @@ func (r *DisksService) SetLabels(project string, zone string, resource string, z 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 *DisksSetLabelsCall) RequestId(requestId string) *DisksSetLabelsCall { + 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 information. @@ -22391,6 +23038,11 @@ func (c *DisksSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "resource": { // "description": "Name of the resource for this request.", // "location": "path", @@ -22441,6 +23093,25 @@ func (r *FirewallsService) Delete(project string, firewall string) *FirewallsDel 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 *FirewallsDeleteCall) RequestId(requestId string) *FirewallsDeleteCall { + 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 information. @@ -22544,6 +23215,11 @@ func (c *FirewallsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, erro // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/firewalls/{firewall}", @@ -22731,6 +23407,25 @@ func (r *FirewallsService) Insert(project string, firewall *Firewall) *Firewalls 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 *FirewallsInsertCall) RequestId(requestId string) *FirewallsInsertCall { + 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 information. @@ -22830,6 +23525,11 @@ func (c *FirewallsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, erro // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/firewalls", @@ -23113,9 +23813,8 @@ type FirewallsPatchCall struct { } // Patch: Updates the specified firewall rule with the data included in -// the request. Using PUT method, can only update following fields of -// firewall rule: allowed, description, sourceRanges, sourceTags, -// targetTags. This method supports patch semantics. +// the request. This method supports PATCH semantics and uses the JSON +// merge patch format and processing rules. // For details, see https://cloud.google.com/compute/docs/reference/latest/firewalls/patch func (r *FirewallsService) Patch(project string, firewall string, firewall2 *Firewall) *FirewallsPatchCall { c := &FirewallsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} @@ -23125,6 +23824,25 @@ func (r *FirewallsService) Patch(project string, firewall string, firewall2 *Fir 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 *FirewallsPatchCall) RequestId(requestId string) *FirewallsPatchCall { + 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 information. @@ -23212,7 +23930,7 @@ func (c *FirewallsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error } return ret, nil // { - // "description": "Updates the specified firewall rule with the data included in the request. Using PUT method, can only update following fields of firewall rule: allowed, description, sourceRanges, sourceTags, targetTags. This method supports patch semantics.", + // "description": "Updates the specified firewall rule with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", // "httpMethod": "PATCH", // "id": "compute.firewalls.patch", // "parameterOrder": [ @@ -23221,7 +23939,7 @@ func (c *FirewallsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error // ], // "parameters": { // "firewall": { - // "description": "Name of the firewall rule to update.", + // "description": "Name of the firewall rule to patch.", // "location": "path", // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", // "required": true, @@ -23233,6 +23951,11 @@ func (c *FirewallsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/firewalls/{firewall}", @@ -23275,6 +23998,25 @@ func (r *FirewallsService) Update(project string, firewall string, firewall2 *Fi 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 *FirewallsUpdateCall) RequestId(requestId string) *FirewallsUpdateCall { + 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 information. @@ -23383,6 +24125,11 @@ func (c *FirewallsUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, erro // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/firewalls/{firewall}", @@ -23674,6 +24421,25 @@ func (r *ForwardingRulesService) Delete(project string, region string, forwardin 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 *ForwardingRulesDeleteCall) RequestId(requestId string) *ForwardingRulesDeleteCall { + 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 information. @@ -23786,6 +24552,11 @@ func (c *ForwardingRulesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/forwardingRules/{forwardingRule}", @@ -23986,6 +24757,25 @@ func (r *ForwardingRulesService) Insert(project string, region string, forwardin 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 *ForwardingRulesInsertCall) RequestId(requestId string) *ForwardingRulesInsertCall { + 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 information. @@ -24094,6 +24884,11 @@ func (c *ForwardingRulesInsertCall) Do(opts ...googleapi.CallOption) (*Operation // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/forwardingRules", @@ -24400,6 +25195,25 @@ func (r *ForwardingRulesService) SetTarget(project string, region string, forwar 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 *ForwardingRulesSetTargetCall) RequestId(requestId string) *ForwardingRulesSetTargetCall { + 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 information. @@ -24517,6 +25331,11 @@ func (c *ForwardingRulesSetTargetCall) Do(opts ...googleapi.CallOption) (*Operat // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/forwardingRules/{forwardingRule}/setTarget", @@ -24554,6 +25373,25 @@ func (r *GlobalAddressesService) Delete(project string, address string) *GlobalA 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 *GlobalAddressesDeleteCall) RequestId(requestId string) *GlobalAddressesDeleteCall { + 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 information. @@ -24657,6 +25495,11 @@ func (c *GlobalAddressesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/addresses/{address}", @@ -24845,6 +25688,25 @@ func (r *GlobalAddressesService) Insert(project string, address *Address) *Globa 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 *GlobalAddressesInsertCall) RequestId(requestId string) *GlobalAddressesInsertCall { + 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 information. @@ -24944,6 +25806,11 @@ func (c *GlobalAddressesInsertCall) Do(opts ...googleapi.CallOption) (*Operation // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/addresses", @@ -25233,6 +26100,25 @@ func (r *GlobalForwardingRulesService) Delete(project string, forwardingRule str 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 *GlobalForwardingRulesDeleteCall) RequestId(requestId string) *GlobalForwardingRulesDeleteCall { + 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 information. @@ -25336,6 +26222,11 @@ func (c *GlobalForwardingRulesDeleteCall) Do(opts ...googleapi.CallOption) (*Ope // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/forwardingRules/{forwardingRule}", @@ -25524,6 +26415,25 @@ func (r *GlobalForwardingRulesService) Insert(project string, forwardingrule *Fo 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 *GlobalForwardingRulesInsertCall) RequestId(requestId string) *GlobalForwardingRulesInsertCall { + 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 information. @@ -25623,6 +26533,11 @@ func (c *GlobalForwardingRulesInsertCall) Do(opts ...googleapi.CallOption) (*Ope // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/forwardingRules", @@ -25916,6 +26831,25 @@ func (r *GlobalForwardingRulesService) SetTarget(project string, forwardingRule 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 *GlobalForwardingRulesSetTargetCall) RequestId(requestId string) *GlobalForwardingRulesSetTargetCall { + 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 information. @@ -26024,6 +26958,11 @@ func (c *GlobalForwardingRulesSetTargetCall) Do(opts ...googleapi.CallOption) (* // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/forwardingRules/{forwardingRule}/setTarget", @@ -26827,6 +27766,25 @@ func (r *HealthChecksService) Delete(project string, healthCheck string) *Health 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 *HealthChecksDeleteCall) RequestId(requestId string) *HealthChecksDeleteCall { + 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 information. @@ -26930,6 +27888,11 @@ func (c *HealthChecksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, e // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/healthChecks/{healthCheck}", @@ -27116,6 +28079,25 @@ func (r *HealthChecksService) Insert(project string, 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 *HealthChecksInsertCall) RequestId(requestId string) *HealthChecksInsertCall { + 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 information. @@ -27215,6 +28197,11 @@ func (c *HealthChecksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, e // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/healthChecks", @@ -27507,6 +28494,25 @@ func (r *HealthChecksService) Patch(project string, healthCheck string, healthch 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 *HealthChecksPatchCall) RequestId(requestId string) *HealthChecksPatchCall { + 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 information. @@ -27615,6 +28621,11 @@ func (c *HealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operation, er // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/healthChecks/{healthCheck}", @@ -27626,8 +28637,7 @@ func (c *HealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operation, er // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -27655,6 +28665,25 @@ func (r *HealthChecksService) Update(project string, healthCheck string, healthc 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 *HealthChecksUpdateCall) RequestId(requestId string) *HealthChecksUpdateCall { + 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 information. @@ -27763,6 +28792,11 @@ func (c *HealthChecksUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, e // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/healthChecks/{healthCheck}", @@ -27800,6 +28834,25 @@ func (r *HttpHealthChecksService) Delete(project string, httpHealthCheck string) 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 information. @@ -27903,6 +28956,11 @@ func (c *HttpHealthChecksDeleteCall) Do(opts ...googleapi.CallOption) (*Operatio // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/httpHealthChecks/{httpHealthCheck}", @@ -28091,6 +29149,25 @@ func (r *HttpHealthChecksService) Insert(project string, httphealthcheck *HttpHe 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 information. @@ -28190,6 +29267,11 @@ func (c *HttpHealthChecksInsertCall) Do(opts ...googleapi.CallOption) (*Operatio // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/httpHealthChecks", @@ -28484,6 +29566,25 @@ func (r *HttpHealthChecksService) Patch(project string, httpHealthCheck string, 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 *HttpHealthChecksPatchCall) RequestId(requestId string) *HttpHealthChecksPatchCall { + 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 information. @@ -28592,6 +29693,11 @@ func (c *HttpHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operation // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/httpHealthChecks/{httpHealthCheck}", @@ -28603,8 +29709,7 @@ func (c *HttpHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operation // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -28633,6 +29738,25 @@ func (r *HttpHealthChecksService) Update(project string, httpHealthCheck string, 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 information. @@ -28741,6 +29865,11 @@ func (c *HttpHealthChecksUpdateCall) Do(opts ...googleapi.CallOption) (*Operatio // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/httpHealthChecks/{httpHealthCheck}", @@ -28777,6 +29906,25 @@ func (r *HttpsHealthChecksService) Delete(project string, httpsHealthCheck strin 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 information. @@ -28880,6 +30028,11 @@ func (c *HttpsHealthChecksDeleteCall) Do(opts ...googleapi.CallOption) (*Operati // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/httpsHealthChecks/{httpsHealthCheck}", @@ -29066,6 +30219,25 @@ func (r *HttpsHealthChecksService) Insert(project string, httpshealthcheck *Http 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 *HttpsHealthChecksInsertCall) RequestId(requestId string) *HttpsHealthChecksInsertCall { + 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 information. @@ -29165,6 +30337,11 @@ func (c *HttpsHealthChecksInsertCall) Do(opts ...googleapi.CallOption) (*Operati // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/httpsHealthChecks", @@ -29457,6 +30634,25 @@ func (r *HttpsHealthChecksService) Patch(project string, httpsHealthCheck string 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 *HttpsHealthChecksPatchCall) RequestId(requestId string) *HttpsHealthChecksPatchCall { + 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 information. @@ -29565,6 +30761,11 @@ func (c *HttpsHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operatio // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/httpsHealthChecks/{httpsHealthCheck}", @@ -29576,8 +30777,7 @@ func (c *HttpsHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operatio // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -29605,6 +30805,25 @@ func (r *HttpsHealthChecksService) Update(project string, httpsHealthCheck strin 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 information. @@ -29713,6 +30932,11 @@ func (c *HttpsHealthChecksUpdateCall) Do(opts ...googleapi.CallOption) (*Operati // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/httpsHealthChecks/{httpsHealthCheck}", @@ -29750,6 +30974,25 @@ func (r *ImagesService) Delete(project string, image string) *ImagesDeleteCall { 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 information. @@ -29853,6 +31096,11 @@ func (c *ImagesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/images/{image}", @@ -29892,6 +31140,25 @@ func (r *ImagesService) Deprecate(project string, image string, deprecationstatu 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) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. @@ -30000,6 +31267,11 @@ func (c *ImagesDeprecateCall) Do(opts ...googleapi.CallOption) (*Operation, erro // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/images/{image}/deprecate", @@ -30350,6 +31622,25 @@ func (c *ImagesInsertCall) ForceCreate(forceCreate bool) *ImagesInsertCall { 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 *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 information. @@ -30454,6 +31745,11 @@ func (c *ImagesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/images", @@ -30918,6 +32214,25 @@ func (r *InstanceGroupManagersService) AbandonInstances(project string, zone str 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) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. @@ -31028,6 +32343,11 @@ func (c *InstanceGroupManagersAbandonInstancesCall) Do(opts ...googleapi.CallOpt // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone where the managed instance group is located.", // "location": "path", @@ -31327,6 +32647,25 @@ func (r *InstanceGroupManagersService) Delete(project string, zone string, insta 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) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. @@ -31432,6 +32771,11 @@ func (c *InstanceGroupManagersDeleteCall) Do(opts ...googleapi.CallOption) (*Ope // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone where the managed instance group is located.", // "location": "path", @@ -31489,6 +32833,25 @@ func (r *InstanceGroupManagersService) DeleteInstances(project string, zone stri 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 *InstanceGroupManagersDeleteInstancesCall) RequestId(requestId string) *InstanceGroupManagersDeleteInstancesCall { + 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 information. @@ -31599,6 +32962,11 @@ func (c *InstanceGroupManagersDeleteInstancesCall) Do(opts ...googleapi.CallOpti // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone where the managed instance group is located.", // "location": "path", @@ -31813,6 +33181,25 @@ func (r *InstanceGroupManagersService) Insert(project string, zone string, insta 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 *InstanceGroupManagersInsertCall) RequestId(requestId string) *InstanceGroupManagersInsertCall { + 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 information. @@ -31915,6 +33302,11 @@ func (c *InstanceGroupManagersInsertCall) Do(opts ...googleapi.CallOption) (*Ope // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone where you want to create the managed instance group.", // "location": "path", @@ -32432,6 +33824,25 @@ func (r *InstanceGroupManagersService) RecreateInstances(project string, zone st 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 *InstanceGroupManagersRecreateInstancesCall) RequestId(requestId string) *InstanceGroupManagersRecreateInstancesCall { + 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 information. @@ -32542,6 +33953,11 @@ func (c *InstanceGroupManagersRecreateInstancesCall) Do(opts ...googleapi.CallOp // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone where the managed instance group is located.", // "location": "path", @@ -32596,6 +34012,25 @@ func (r *InstanceGroupManagersService) Resize(project string, zone string, insta 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) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. @@ -32702,6 +34137,11 @@ func (c *InstanceGroupManagersResizeCall) Do(opts ...googleapi.CallOption) (*Ope // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "size": { // "description": "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.", // "format": "int32", @@ -32753,6 +34193,25 @@ func (r *InstanceGroupManagersService) SetInstanceTemplate(project string, zone 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 information. @@ -32863,6 +34322,11 @@ func (c *InstanceGroupManagersSetInstanceTemplateCall) Do(opts ...googleapi.Call // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone where the managed instance group is located.", // "location": "path", @@ -32914,6 +34378,25 @@ func (r *InstanceGroupManagersService) SetTargetPools(project string, zone strin 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 *InstanceGroupManagersSetTargetPoolsCall) RequestId(requestId string) *InstanceGroupManagersSetTargetPoolsCall { + 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 information. @@ -33024,6 +34507,11 @@ func (c *InstanceGroupManagersSetTargetPoolsCall) Do(opts ...googleapi.CallOptio // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone where the managed instance group is located.", // "location": "path", @@ -33071,6 +34559,25 @@ func (r *InstanceGroupsService) AddInstances(project string, zone string, instan 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 information. @@ -33181,6 +34688,11 @@ func (c *InstanceGroupsAddInstancesCall) Do(opts ...googleapi.CallOption) (*Oper // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone where the instance group is located.", // "location": "path", @@ -33479,6 +34991,25 @@ func (r *InstanceGroupsService) Delete(project string, zone string, instanceGrou 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 information. @@ -33584,6 +35115,11 @@ func (c *InstanceGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone where the instance group is located.", // "location": "path", @@ -33786,6 +35322,25 @@ func (r *InstanceGroupsService) Insert(project string, zone string, instancegrou 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 information. @@ -33888,6 +35443,11 @@ func (c *InstanceGroupsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone where you want to create the instance group.", // "location": "path", @@ -34467,6 +36027,25 @@ func (r *InstanceGroupsService) RemoveInstances(project string, zone string, ins 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 *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 information. @@ -34577,6 +36156,11 @@ func (c *InstanceGroupsRemoveInstancesCall) Do(opts ...googleapi.CallOption) (*O // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone where the instance group is located.", // "location": "path", @@ -34622,6 +36206,25 @@ func (r *InstanceGroupsService) SetNamedPorts(project string, zone string, insta 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 *InstanceGroupsSetNamedPortsCall) RequestId(requestId string) *InstanceGroupsSetNamedPortsCall { + 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 information. @@ -34732,6 +36335,11 @@ func (c *InstanceGroupsSetNamedPortsCall) Do(opts ...googleapi.CallOption) (*Ope // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone where the instance group is located.", // "location": "path", @@ -34778,6 +36386,25 @@ func (r *InstanceTemplatesService) Delete(project string, instanceTemplate strin 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 *InstanceTemplatesDeleteCall) RequestId(requestId string) *InstanceTemplatesDeleteCall { + 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 information. @@ -34881,6 +36508,11 @@ func (c *InstanceTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*Operati // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/instanceTemplates/{instanceTemplate}", @@ -35072,6 +36704,25 @@ func (r *InstanceTemplatesService) Insert(project string, instancetemplate *Inst 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 information. @@ -35171,6 +36822,11 @@ func (c *InstanceTemplatesInsertCall) Do(opts ...googleapi.CallOption) (*Operati // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/instanceTemplates", @@ -35467,6 +37123,25 @@ func (r *InstancesService) AddAccessConfig(project string, zone string, instance 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 information. @@ -35585,6 +37260,11 @@ func (c *InstancesAddAccessConfigCall) Do(opts ...googleapi.CallOption) (*Operat // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone for this request.", // "location": "path", @@ -35887,6 +37567,25 @@ func (r *InstancesService) AttachDisk(project string, zone string, instance stri 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 *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 information. @@ -35998,6 +37697,11 @@ func (c *InstancesAttachDiskCall) Do(opts ...googleapi.CallOption) (*Operation, // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone for this request.", // "location": "path", @@ -36044,6 +37748,25 @@ func (r *InstancesService) Delete(project string, zone string, instance string) 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 *InstancesDeleteCall) RequestId(requestId string) *InstancesDeleteCall { + 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 information. @@ -36150,6 +37873,11 @@ func (c *InstancesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, erro // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone for this request.", // "location": "path", @@ -36195,6 +37923,25 @@ func (r *InstancesService) DeleteAccessConfig(project string, zone string, insta 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 *InstancesDeleteAccessConfigCall) RequestId(requestId string) *InstancesDeleteAccessConfigCall { + 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 information. @@ -36315,6 +38062,11 @@ func (c *InstancesDeleteAccessConfigCall) Do(opts ...googleapi.CallOption) (*Ope // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone for this request.", // "location": "path", @@ -36358,6 +38110,25 @@ func (r *InstancesService) DetachDisk(project string, zone string, instance stri 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) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. @@ -36471,6 +38242,11 @@ func (c *InstancesDetachDiskCall) Do(opts ...googleapi.CallOption) (*Operation, // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone for this request.", // "location": "path", @@ -36875,6 +38651,25 @@ func (r *InstancesService) Insert(project string, zone string, instance *Instanc 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 *InstancesInsertCall) RequestId(requestId string) *InstancesInsertCall { + 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 information. @@ -36977,6 +38772,11 @@ func (c *InstancesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, erro // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone for this request.", // "location": "path", @@ -37287,6 +39087,25 @@ func (r *InstancesService) Reset(project string, zone string, instance string) * 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 *InstancesResetCall) RequestId(requestId string) *InstancesResetCall { + 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 information. @@ -37393,6 +39212,11 @@ func (c *InstancesResetCall) Do(opts ...googleapi.CallOption) (*Operation, error // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone for this request.", // "location": "path", @@ -37438,6 +39262,25 @@ func (r *InstancesService) SetDiskAutoDelete(project string, zone string, instan 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) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. @@ -37559,6 +39402,11 @@ func (c *InstancesSetDiskAutoDeleteCall) Do(opts ...googleapi.CallOption) (*Oper // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone for this request.", // "location": "path", @@ -37603,6 +39451,25 @@ func (r *InstancesService) SetLabels(project string, zone string, instance strin 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 information. @@ -37714,6 +39581,11 @@ func (c *InstancesSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, e // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone for this request.", // "location": "path", @@ -37761,6 +39633,25 @@ func (r *InstancesService) SetMachineResources(project string, zone string, inst 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 *InstancesSetMachineResourcesCall) RequestId(requestId string) *InstancesSetMachineResourcesCall { + 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 information. @@ -37872,6 +39763,11 @@ func (c *InstancesSetMachineResourcesCall) Do(opts ...googleapi.CallOption) (*Op // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone for this request.", // "location": "path", @@ -37919,6 +39815,25 @@ func (r *InstancesService) SetMachineType(project string, zone string, instance 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 information. @@ -38030,6 +39945,11 @@ func (c *InstancesSetMachineTypeCall) Do(opts ...googleapi.CallOption) (*Operati // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone for this request.", // "location": "path", @@ -38078,6 +39998,25 @@ func (r *InstancesService) SetMetadata(project string, zone string, instance str 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 *InstancesSetMetadataCall) RequestId(requestId string) *InstancesSetMetadataCall { + 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 information. @@ -38189,6 +40128,11 @@ func (c *InstancesSetMetadataCall) Do(opts ...googleapi.CallOption) (*Operation, // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone for this request.", // "location": "path", @@ -38236,6 +40180,25 @@ func (r *InstancesService) SetScheduling(project string, zone string, instance 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. +// +// For example, consider a situation where you make an initial request +// and the request times out. If you make the request again with the +// same request ID, the server can check if original 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 *InstancesSetSchedulingCall) RequestId(requestId string) *InstancesSetSchedulingCall { + 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 information. @@ -38347,6 +40310,11 @@ func (c *InstancesSetSchedulingCall) Do(opts ...googleapi.CallOption) (*Operatio // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone for this request.", // "location": "path", @@ -38395,6 +40363,25 @@ func (r *InstancesService) SetServiceAccount(project string, zone string, instan 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 *InstancesSetServiceAccountCall) RequestId(requestId string) *InstancesSetServiceAccountCall { + 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 information. @@ -38506,6 +40493,11 @@ func (c *InstancesSetServiceAccountCall) Do(opts ...googleapi.CallOption) (*Oper // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone for this request.", // "location": "path", @@ -38554,6 +40546,25 @@ func (r *InstancesService) SetTags(project string, zone string, instance string, 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 *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 information. @@ -38665,6 +40676,11 @@ func (c *InstancesSetTagsCall) Do(opts ...googleapi.CallOption) (*Operation, err // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone for this request.", // "location": "path", @@ -38712,6 +40728,25 @@ func (r *InstancesService) Start(project string, zone string, instance string) * 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 *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 information. @@ -38818,6 +40853,11 @@ func (c *InstancesStartCall) Do(opts ...googleapi.CallOption) (*Operation, error // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone for this request.", // "location": "path", @@ -38863,6 +40903,25 @@ func (r *InstancesService) StartWithEncryptionKey(project string, zone string, i 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 information. @@ -38974,6 +41033,11 @@ func (c *InstancesStartWithEncryptionKeyCall) Do(opts ...googleapi.CallOption) ( // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone for this request.", // "location": "path", @@ -39025,6 +41089,25 @@ func (r *InstancesService) Stop(project string, zone string, instance string) *I 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 information. @@ -39131,6 +41214,11 @@ func (c *InstancesStopCall) Do(opts ...googleapi.CallOption) (*Operation, error) // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "The name of the zone for this request.", // "location": "path", @@ -40004,6 +42092,25 @@ func (r *NetworksService) AddPeering(project string, network string, networksadd 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) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. @@ -40112,6 +42219,11 @@ func (c *NetworksAddPeeringCall) Do(opts ...googleapi.CallOption) (*Operation, e // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/networks/{network}/addPeering", @@ -40149,6 +42261,25 @@ func (r *NetworksService) Delete(project string, network string) *NetworksDelete 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) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. @@ -40252,6 +42383,11 @@ func (c *NetworksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/networks/{network}", @@ -40440,6 +42576,25 @@ func (r *NetworksService) Insert(project string, network *Network) *NetworksInse 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 *NetworksInsertCall) RequestId(requestId string) *NetworksInsertCall { + 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 information. @@ -40539,6 +42694,11 @@ func (c *NetworksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/networks", @@ -40830,6 +42990,25 @@ func (r *NetworksService) RemovePeering(project string, network string, networks 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 *NetworksRemovePeeringCall) RequestId(requestId string) *NetworksRemovePeeringCall { + 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 information. @@ -40938,6 +43117,11 @@ func (c *NetworksRemovePeeringCall) Do(opts ...googleapi.CallOption) (*Operation // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/networks/{network}/removePeering", @@ -40975,6 +43159,25 @@ func (r *NetworksService) SwitchToCustomMode(project string, network string) *Ne 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) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. @@ -41078,6 +43281,11 @@ func (c *NetworksSwitchToCustomModeCall) Do(opts ...googleapi.CallOption) (*Oper // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/networks/{network}/switchToCustomMode", @@ -41102,13 +43310,32 @@ type ProjectsDisableXpnHostCall struct { header_ http.Header } -// DisableXpnHost: Disable this project as an XPN host project. +// DisableXpnHost: Disable this project as a shared VPC host project. func (r *ProjectsService) DisableXpnHost(project string) *ProjectsDisableXpnHostCall { c := &ProjectsDisableXpnHostCall{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. +// +// For example, consider a situation where you make an initial request +// and the request times out. If you make the request again with the +// same request ID, the server can check if original 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) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. @@ -41190,7 +43417,7 @@ func (c *ProjectsDisableXpnHostCall) Do(opts ...googleapi.CallOption) (*Operatio } return ret, nil // { - // "description": "Disable this project as an XPN host project.", + // "description": "Disable this project as a shared VPC host project.", // "httpMethod": "POST", // "id": "compute.projects.disableXpnHost", // "parameterOrder": [ @@ -41203,6 +43430,11 @@ func (c *ProjectsDisableXpnHostCall) Do(opts ...googleapi.CallOption) (*Operatio // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/disableXpnHost", @@ -41228,8 +43460,8 @@ type ProjectsDisableXpnResourceCall struct { header_ http.Header } -// DisableXpnResource: Disable an XPN resource associated with this host -// project. +// DisableXpnResource: Disable a serivce resource (a.k.a service +// project) associated with this host project. func (r *ProjectsService) DisableXpnResource(project string, projectsdisablexpnresourcerequest *ProjectsDisableXpnResourceRequest) *ProjectsDisableXpnResourceCall { c := &ProjectsDisableXpnResourceCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project @@ -41237,6 +43469,25 @@ func (r *ProjectsService) DisableXpnResource(project string, projectsdisablexpnr 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 *ProjectsDisableXpnResourceCall) RequestId(requestId string) *ProjectsDisableXpnResourceCall { + 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 information. @@ -41323,7 +43574,7 @@ func (c *ProjectsDisableXpnResourceCall) Do(opts ...googleapi.CallOption) (*Oper } return ret, nil // { - // "description": "Disable an XPN resource associated with this host project.", + // "description": "Disable a serivce resource (a.k.a service project) associated with this host project.", // "httpMethod": "POST", // "id": "compute.projects.disableXpnResource", // "parameterOrder": [ @@ -41336,6 +43587,11 @@ func (c *ProjectsDisableXpnResourceCall) Do(opts ...googleapi.CallOption) (*Oper // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/disableXpnResource", @@ -41363,13 +43619,32 @@ type ProjectsEnableXpnHostCall struct { header_ http.Header } -// EnableXpnHost: Enable this project as an XPN host project. +// EnableXpnHost: Enable this project as a shared VPC host project. func (r *ProjectsService) EnableXpnHost(project string) *ProjectsEnableXpnHostCall { c := &ProjectsEnableXpnHostCall{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. +// +// For example, consider a situation where you make an initial request +// and the request times out. If you make the request again with the +// same request ID, the server can check if original 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 *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 information. @@ -41451,7 +43726,7 @@ func (c *ProjectsEnableXpnHostCall) Do(opts ...googleapi.CallOption) (*Operation } return ret, nil // { - // "description": "Enable this project as an XPN host project.", + // "description": "Enable this project as a shared VPC host project.", // "httpMethod": "POST", // "id": "compute.projects.enableXpnHost", // "parameterOrder": [ @@ -41464,6 +43739,11 @@ func (c *ProjectsEnableXpnHostCall) Do(opts ...googleapi.CallOption) (*Operation // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/enableXpnHost", @@ -41489,10 +43769,9 @@ type ProjectsEnableXpnResourceCall struct { header_ http.Header } -// EnableXpnResource: Enable XPN resource (a.k.a service project or -// service folder in the future) for a host project, so that subnetworks -// in the host project can be used by instances in the service project -// or folder. +// 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. func (r *ProjectsService) EnableXpnResource(project string, projectsenablexpnresourcerequest *ProjectsEnableXpnResourceRequest) *ProjectsEnableXpnResourceCall { c := &ProjectsEnableXpnResourceCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project @@ -41500,6 +43779,25 @@ func (r *ProjectsService) EnableXpnResource(project string, projectsenablexpnres 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 *ProjectsEnableXpnResourceCall) RequestId(requestId string) *ProjectsEnableXpnResourceCall { + 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 information. @@ -41586,7 +43884,7 @@ func (c *ProjectsEnableXpnResourceCall) Do(opts ...googleapi.CallOption) (*Opera } return ret, nil // { - // "description": "Enable XPN resource (a.k.a service project or service folder in the future) for a host project, so that subnetworks in the host project can be used by instances in the service project or folder.", + // "description": "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.", // "httpMethod": "POST", // "id": "compute.projects.enableXpnResource", // "parameterOrder": [ @@ -41599,6 +43897,11 @@ func (c *ProjectsEnableXpnResourceCall) Do(opts ...googleapi.CallOption) (*Opera // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/enableXpnResource", @@ -41768,8 +44071,8 @@ type ProjectsGetXpnHostCall struct { header_ http.Header } -// GetXpnHost: Get the XPN host project that this project links to. May -// be empty if no link exists. +// GetXpnHost: Get the shared VPC host project that this project links +// to. May be empty if no link exists. func (r *ProjectsService) GetXpnHost(project string) *ProjectsGetXpnHostCall { c := &ProjectsGetXpnHostCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project @@ -41870,7 +44173,7 @@ func (c *ProjectsGetXpnHostCall) Do(opts ...googleapi.CallOption) (*Project, err } return ret, nil // { - // "description": "Get the XPN host project that this project links to. May be empty if no link exists.", + // "description": "Get the shared VPC host project that this project links to. May be empty if no link exists.", // "httpMethod": "GET", // "id": "compute.projects.getXpnHost", // "parameterOrder": [ @@ -41908,7 +44211,8 @@ type ProjectsGetXpnResourcesCall struct { header_ http.Header } -// GetXpnResources: Get XPN resources associated with this host project. +// GetXpnResources: Get service resources (a.k.a service project) +// associated with this host project. func (r *ProjectsService) GetXpnResources(project string) *ProjectsGetXpnResourcesCall { c := &ProjectsGetXpnResourcesCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project @@ -42033,7 +44337,7 @@ func (c *ProjectsGetXpnResourcesCall) Do(opts ...googleapi.CallOption) (*Project } return ret, nil // { - // "description": "Get XPN resources associated with this host project.", + // "description": "Get service resources (a.k.a service project) associated with this host project.", // "httpMethod": "GET", // "id": "compute.projects.getXpnResources", // "parameterOrder": [ @@ -42111,8 +44415,8 @@ type ProjectsListXpnHostsCall struct { header_ http.Header } -// ListXpnHosts: List all XPN host projects visible to the user in an -// organization. +// ListXpnHosts: List all shared VPC host projects visible to the user +// in an organization. func (r *ProjectsService) ListXpnHosts(project string, projectslistxpnhostsrequest *ProjectsListXpnHostsRequest) *ProjectsListXpnHostsCall { c := &ProjectsListXpnHostsCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project @@ -42230,7 +44534,7 @@ func (c *ProjectsListXpnHostsCall) Do(opts ...googleapi.CallOption) (*XpnHostLis } return ret, nil // { - // "description": "List all XPN host projects visible to the user in an organization.", + // "description": "List all shared VPC host projects visible to the user in an organization.", // "httpMethod": "POST", // "id": "compute.projects.listXpnHosts", // "parameterOrder": [ @@ -42319,6 +44623,25 @@ func (r *ProjectsService) MoveDisk(project string, diskmoverequest *DiskMoveRequ 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 *ProjectsMoveDiskCall) RequestId(requestId string) *ProjectsMoveDiskCall { + 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 information. @@ -42418,6 +44741,11 @@ func (c *ProjectsMoveDiskCall) Do(opts ...googleapi.CallOption) (*Operation, err // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/moveDisk", @@ -42455,6 +44783,25 @@ func (r *ProjectsService) MoveInstance(project string, instancemoverequest *Inst 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 *ProjectsMoveInstanceCall) RequestId(requestId string) *ProjectsMoveInstanceCall { + 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 information. @@ -42554,6 +44901,11 @@ func (c *ProjectsMoveInstanceCall) Do(opts ...googleapi.CallOption) (*Operation, // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/moveInstance", @@ -42592,6 +44944,25 @@ func (r *ProjectsService) SetCommonInstanceMetadata(project string, metadata *Me 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 *ProjectsSetCommonInstanceMetadataCall) RequestId(requestId string) *ProjectsSetCommonInstanceMetadataCall { + 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 information. @@ -42691,6 +45062,11 @@ func (c *ProjectsSetCommonInstanceMetadataCall) Do(opts ...googleapi.CallOption) // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/setCommonInstanceMetadata", @@ -42731,6 +45107,25 @@ func (r *ProjectsService) SetUsageExportBucket(project string, usageexportlocati 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 *ProjectsSetUsageExportBucketCall) RequestId(requestId string) *ProjectsSetUsageExportBucketCall { + 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 information. @@ -42830,6 +45225,11 @@ func (c *ProjectsSetUsageExportBucketCall) Do(opts ...googleapi.CallOption) (*Op // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/setUsageExportBucket", @@ -42871,6 +45271,25 @@ func (r *RegionAutoscalersService) Delete(project string, region string, autosca 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 information. @@ -42983,6 +45402,11 @@ func (c *RegionAutoscalersDeleteCall) Do(opts ...googleapi.CallOption) (*Operati // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/autoscalers/{autoscaler}", @@ -43181,6 +45605,25 @@ func (r *RegionAutoscalersService) Insert(project string, region string, autosca 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 *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 information. @@ -43289,6 +45732,11 @@ func (c *RegionAutoscalersInsertCall) Do(opts ...googleapi.CallOption) (*Operati // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/autoscalers", @@ -43599,6 +46047,25 @@ func (c *RegionAutoscalersPatchCall) Autoscaler(autoscaler string) *RegionAutosc 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 *RegionAutoscalersPatchCall) RequestId(requestId string) *RegionAutoscalersPatchCall { + 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 information. @@ -43713,6 +46180,11 @@ func (c *RegionAutoscalersPatchCall) Do(opts ...googleapi.CallOption) (*Operatio // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/autoscalers", @@ -43724,8 +46196,7 @@ func (c *RegionAutoscalersPatchCall) Do(opts ...googleapi.CallOption) (*Operatio // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -43760,6 +46231,25 @@ func (c *RegionAutoscalersUpdateCall) Autoscaler(autoscaler string) *RegionAutos 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 *RegionAutoscalersUpdateCall) RequestId(requestId string) *RegionAutoscalersUpdateCall { + 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 information. @@ -43874,6 +46364,11 @@ func (c *RegionAutoscalersUpdateCall) Do(opts ...googleapi.CallOption) (*Operati // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/autoscalers", @@ -43912,6 +46407,25 @@ func (r *RegionBackendServicesService) Delete(project string, region string, bac 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 *RegionBackendServicesDeleteCall) RequestId(requestId string) *RegionBackendServicesDeleteCall { + 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 information. @@ -44024,6 +46538,11 @@ func (c *RegionBackendServicesDeleteCall) Do(opts ...googleapi.CallOption) (*Ope // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/backendServices/{backendService}", @@ -44383,6 +46902,25 @@ func (r *RegionBackendServicesService) Insert(project string, region string, bac 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 information. @@ -44491,6 +47029,11 @@ func (c *RegionBackendServicesInsertCall) Do(opts ...googleapi.CallOption) (*Ope // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/backendServices", @@ -44799,6 +47342,25 @@ func (r *RegionBackendServicesService) Patch(project string, region string, back 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 information. @@ -44916,6 +47478,11 @@ func (c *RegionBackendServicesPatchCall) Do(opts ...googleapi.CallOption) (*Oper // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/backendServices/{backendService}", @@ -44927,8 +47494,7 @@ func (c *RegionBackendServicesPatchCall) Do(opts ...googleapi.CallOption) (*Oper // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -44960,6 +47526,25 @@ func (r *RegionBackendServicesService) Update(project string, region string, bac 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 *RegionBackendServicesUpdateCall) RequestId(requestId string) *RegionBackendServicesUpdateCall { + 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 information. @@ -45077,6 +47662,11 @@ func (c *RegionBackendServicesUpdateCall) Do(opts ...googleapi.CallOption) (*Ope // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/backendServices/{backendService}", @@ -45530,6 +48120,25 @@ func (r *RegionCommitmentsService) Insert(project string, region string, commitm 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 *RegionCommitmentsInsertCall) RequestId(requestId string) *RegionCommitmentsInsertCall { + 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 information. @@ -45638,6 +48247,11 @@ func (c *RegionCommitmentsInsertCall) Do(opts ...googleapi.CallOption) (*Operati // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/commitments", @@ -45957,6 +48571,25 @@ func (r *RegionInstanceGroupManagersService) AbandonInstances(project string, re 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 information. @@ -46072,6 +48705,11 @@ func (c *RegionInstanceGroupManagersAbandonInstancesCall) Do(opts ...googleapi.C // "location": "path", // "required": true, // "type": "string" + // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances", @@ -46111,6 +48749,25 @@ func (r *RegionInstanceGroupManagersService) Delete(project string, region strin 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 information. @@ -46221,6 +48878,11 @@ func (c *RegionInstanceGroupManagersDeleteCall) Do(opts ...googleapi.CallOption) // "location": "path", // "required": true, // "type": "string" + // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", @@ -46273,6 +48935,25 @@ func (r *RegionInstanceGroupManagersService) DeleteInstances(project string, reg 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 information. @@ -46388,6 +49069,11 @@ func (c *RegionInstanceGroupManagersDeleteInstancesCall) Do(opts ...googleapi.Ca // "location": "path", // "required": true, // "type": "string" + // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteInstances", @@ -46595,6 +49281,25 @@ func (r *RegionInstanceGroupManagersService) Insert(project string, region strin 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 information. @@ -46702,6 +49407,11 @@ func (c *RegionInstanceGroupManagersInsertCall) Do(opts ...googleapi.CallOption) // "location": "path", // "required": true, // "type": "string" + // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/instanceGroupManagers", @@ -47212,6 +49922,25 @@ func (r *RegionInstanceGroupManagersService) RecreateInstances(project string, r 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 information. @@ -47327,6 +50056,11 @@ func (c *RegionInstanceGroupManagersRecreateInstancesCall) Do(opts ...googleapi. // "location": "path", // "required": true, // "type": "string" + // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances", @@ -47377,6 +50111,25 @@ func (r *RegionInstanceGroupManagersService) Resize(project string, region strin 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 information. @@ -47489,6 +50242,11 @@ func (c *RegionInstanceGroupManagersResizeCall) Do(opts ...googleapi.CallOption) // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "size": { // "description": "Number of instances that should exist in this instance group manager.", // "format": "int32", @@ -47535,6 +50293,25 @@ func (r *RegionInstanceGroupManagersService) SetInstanceTemplate(project string, 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 information. @@ -47650,6 +50427,11 @@ func (c *RegionInstanceGroupManagersSetInstanceTemplateCall) Do(opts ...googleap // "location": "path", // "required": true, // "type": "string" + // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate", @@ -47692,6 +50474,25 @@ func (r *RegionInstanceGroupManagersService) SetTargetPools(project string, regi 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 information. @@ -47807,6 +50608,11 @@ func (c *RegionInstanceGroupManagersSetTargetPoolsCall) Do(opts ...googleapi.Cal // "location": "path", // "required": true, // "type": "string" + // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools", @@ -48541,6 +51347,25 @@ func (r *RegionInstanceGroupsService) SetNamedPorts(project string, region strin 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) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. @@ -48656,6 +51481,11 @@ func (c *RegionInstanceGroupsSetNamedPortsCall) Do(opts ...googleapi.CallOption) // "location": "path", // "required": true, // "type": "string" + // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/instanceGroups/{instanceGroup}/setNamedPorts", @@ -49898,6 +52728,25 @@ func (r *RoutersService) Delete(project string, region string, router string) *R 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 *RoutersDeleteCall) RequestId(requestId string) *RoutersDeleteCall { + 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 information. @@ -50004,6 +52853,11 @@ func (c *RoutersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "router": { // "description": "Name of the Router resource to delete.", // "location": "path", @@ -50372,6 +53226,25 @@ func (r *RoutersService) Insert(project string, region string, router *Router) * 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 *RoutersInsertCall) RequestId(requestId string) *RoutersInsertCall { + 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 information. @@ -50480,6 +53353,11 @@ func (c *RoutersInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/routers", @@ -50774,7 +53652,8 @@ type RoutersPatchCall struct { } // Patch: Patches the specified Router resource with the data included -// in the request. This method supports patch semantics. +// in the request. This method supports PATCH semantics and uses JSON +// merge patch format and processing rules. func (r *RoutersService) Patch(project string, region string, router string, router2 *Router) *RoutersPatchCall { c := &RoutersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.project = project @@ -50784,6 +53663,25 @@ func (r *RoutersService) Patch(project string, region string, router string, rou 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 *RoutersPatchCall) RequestId(requestId string) *RoutersPatchCall { + 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 information. @@ -50872,7 +53770,7 @@ func (c *RoutersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) } return ret, nil // { - // "description": "Patches the specified Router resource with the data included in the request. This method supports patch semantics.", + // "description": "Patches the specified Router resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", // "httpMethod": "PATCH", // "id": "compute.routers.patch", // "parameterOrder": [ @@ -50895,6 +53793,11 @@ func (c *RoutersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "router": { // "description": "Name of the Router resource to patch.", // "location": "path", @@ -50912,8 +53815,7 @@ func (c *RoutersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -51103,6 +54005,25 @@ func (r *RoutersService) Update(project string, region string, router string, ro 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 *RoutersUpdateCall) RequestId(requestId string) *RoutersUpdateCall { + 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 information. @@ -51214,6 +54135,11 @@ func (c *RoutersUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "router": { // "description": "Name of the Router resource to update.", // "location": "path", @@ -51257,6 +54183,25 @@ func (r *RoutesService) Delete(project string, route string) *RoutesDeleteCall { 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 *RoutesDeleteCall) RequestId(requestId string) *RoutesDeleteCall { + 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 information. @@ -51354,6 +54299,11 @@ func (c *RoutesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "route": { // "description": "Name of the Route resource to delete.", // "location": "path", @@ -51548,6 +54498,25 @@ func (r *RoutesService) Insert(project string, route *Route) *RoutesInsertCall { 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 *RoutesInsertCall) RequestId(requestId string) *RoutesInsertCall { + 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 information. @@ -51647,6 +54616,11 @@ func (c *RoutesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/routes", @@ -51943,6 +54917,25 @@ func (r *SnapshotsService) Delete(project string, snapshot string) *SnapshotsDel 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 *SnapshotsDeleteCall) RequestId(requestId string) *SnapshotsDeleteCall { + 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 information. @@ -52040,6 +55033,11 @@ func (c *SnapshotsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, erro // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "snapshot": { // "description": "Name of the Snapshot resource to delete.", // "location": "path", @@ -52632,6 +55630,25 @@ func (r *SslCertificatesService) Delete(project string, sslCertificate string) * 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 *SslCertificatesDeleteCall) RequestId(requestId string) *SslCertificatesDeleteCall { + 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 information. @@ -52729,6 +55746,11 @@ func (c *SslCertificatesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "sslCertificate": { // "description": "Name of the SslCertificate resource to delete.", // "location": "path", @@ -52921,6 +55943,25 @@ func (r *SslCertificatesService) Insert(project string, sslcertificate *SslCerti 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 *SslCertificatesInsertCall) RequestId(requestId string) *SslCertificatesInsertCall { + 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 information. @@ -53020,6 +56061,11 @@ func (c *SslCertificatesInsertCall) Do(opts ...googleapi.CallOption) (*Operation // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/sslCertificates", @@ -53561,6 +56607,25 @@ func (r *SubnetworksService) Delete(project string, region string, subnetwork st 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 *SubnetworksDeleteCall) RequestId(requestId string) *SubnetworksDeleteCall { + 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 information. @@ -53667,6 +56732,11 @@ func (c *SubnetworksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, er // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "subnetwork": { // "description": "Name of the Subnetwork resource to delete.", // "location": "path", @@ -53711,6 +56781,25 @@ func (r *SubnetworksService) ExpandIpCidrRange(project string, region string, su 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 *SubnetworksExpandIpCidrRangeCall) RequestId(requestId string) *SubnetworksExpandIpCidrRangeCall { + 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 information. @@ -53822,6 +56911,11 @@ func (c *SubnetworksExpandIpCidrRangeCall) Do(opts ...googleapi.CallOption) (*Op // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "subnetwork": { // "description": "Name of the Subnetwork resource to update.", // "location": "path", @@ -54030,6 +57124,25 @@ func (r *SubnetworksService) Insert(project string, region string, subnetwork *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. +// +// For example, consider a situation where you make an initial request +// and the request times out. If you make the request again with the +// same request ID, the server can check if original 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 *SubnetworksInsertCall) RequestId(requestId string) *SubnetworksInsertCall { + 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 information. @@ -54138,6 +57251,11 @@ func (c *SubnetworksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, er // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/subnetworks", @@ -54443,6 +57561,25 @@ func (r *SubnetworksService) SetPrivateIpGoogleAccess(project string, region str 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 *SubnetworksSetPrivateIpGoogleAccessCall) RequestId(requestId string) *SubnetworksSetPrivateIpGoogleAccessCall { + 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 information. @@ -54554,6 +57691,11 @@ func (c *SubnetworksSetPrivateIpGoogleAccessCall) Do(opts ...googleapi.CallOptio // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "subnetwork": { // "description": "Name of the Subnetwork resource.", // "location": "path", @@ -54597,6 +57739,25 @@ func (r *TargetHttpProxiesService) Delete(project string, targetHttpProxy string 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 *TargetHttpProxiesDeleteCall) RequestId(requestId string) *TargetHttpProxiesDeleteCall { + 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 information. @@ -54694,6 +57855,11 @@ func (c *TargetHttpProxiesDeleteCall) Do(opts ...googleapi.CallOption) (*Operati // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "targetHttpProxy": { // "description": "Name of the TargetHttpProxy resource to delete.", // "location": "path", @@ -54888,6 +58054,25 @@ func (r *TargetHttpProxiesService) Insert(project string, targethttpproxy *Targe 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 *TargetHttpProxiesInsertCall) RequestId(requestId string) *TargetHttpProxiesInsertCall { + 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 information. @@ -54987,6 +58172,11 @@ func (c *TargetHttpProxiesInsertCall) Do(opts ...googleapi.CallOption) (*Operati // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/targetHttpProxies", @@ -55279,6 +58469,25 @@ func (r *TargetHttpProxiesService) SetUrlMap(project string, targetHttpProxy str 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 *TargetHttpProxiesSetUrlMapCall) RequestId(requestId string) *TargetHttpProxiesSetUrlMapCall { + 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 information. @@ -55381,6 +58590,11 @@ func (c *TargetHttpProxiesSetUrlMapCall) Do(opts ...googleapi.CallOption) (*Oper // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "targetHttpProxy": { // "description": "Name of the TargetHttpProxy to set a URL map for.", // "location": "path", @@ -55423,6 +58637,25 @@ func (r *TargetHttpsProxiesService) Delete(project string, targetHttpsProxy stri 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 *TargetHttpsProxiesDeleteCall) RequestId(requestId string) *TargetHttpsProxiesDeleteCall { + 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 information. @@ -55520,6 +58753,11 @@ func (c *TargetHttpsProxiesDeleteCall) Do(opts ...googleapi.CallOption) (*Operat // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "targetHttpsProxy": { // "description": "Name of the TargetHttpsProxy resource to delete.", // "location": "path", @@ -55712,6 +58950,25 @@ func (r *TargetHttpsProxiesService) Insert(project string, targethttpsproxy *Tar 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 *TargetHttpsProxiesInsertCall) RequestId(requestId string) *TargetHttpsProxiesInsertCall { + 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 information. @@ -55811,6 +59068,11 @@ func (c *TargetHttpsProxiesInsertCall) Do(opts ...googleapi.CallOption) (*Operat // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/targetHttpsProxies", @@ -56101,6 +59363,25 @@ func (r *TargetHttpsProxiesService) SetSslCertificates(project string, targetHtt 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 *TargetHttpsProxiesSetSslCertificatesCall) RequestId(requestId string) *TargetHttpsProxiesSetSslCertificatesCall { + 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 information. @@ -56203,6 +59484,11 @@ func (c *TargetHttpsProxiesSetSslCertificatesCall) Do(opts ...googleapi.CallOpti // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "targetHttpsProxy": { // "description": "Name of the TargetHttpsProxy resource to set an SslCertificates resource for.", // "location": "path", @@ -56247,6 +59533,25 @@ func (r *TargetHttpsProxiesService) SetUrlMap(project string, targetHttpsProxy 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. +// +// For example, consider a situation where you make an initial request +// and the request times out. If you make the request again with the +// same request ID, the server can check if original 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 *TargetHttpsProxiesSetUrlMapCall) RequestId(requestId string) *TargetHttpsProxiesSetUrlMapCall { + 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 information. @@ -56349,6 +59654,11 @@ func (c *TargetHttpsProxiesSetUrlMapCall) Do(opts ...googleapi.CallOption) (*Ope // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "targetHttpsProxy": { // "description": "Name of the TargetHttpsProxy resource whose URL map is to be set.", // "location": "path", @@ -56646,6 +59956,25 @@ func (r *TargetInstancesService) Delete(project string, zone string, targetInsta 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 *TargetInstancesDeleteCall) RequestId(requestId string) *TargetInstancesDeleteCall { + 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 information. @@ -56745,6 +60074,11 @@ func (c *TargetInstancesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "targetInstance": { // "description": "Name of the TargetInstance resource to delete.", // "location": "path", @@ -56959,6 +60293,25 @@ func (r *TargetInstancesService) Insert(project string, zone string, targetinsta 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 *TargetInstancesInsertCall) RequestId(requestId string) *TargetInstancesInsertCall { + 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 information. @@ -57061,6 +60414,11 @@ func (c *TargetInstancesInsertCall) Do(opts ...googleapi.CallOption) (*Operation // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "zone": { // "description": "Name of the zone scoping this request.", // "location": "path", @@ -57372,6 +60730,25 @@ func (r *TargetPoolsService) AddHealthCheck(project string, region string, targe 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 *TargetPoolsAddHealthCheckCall) RequestId(requestId string) *TargetPoolsAddHealthCheckCall { + 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 information. @@ -57483,6 +60860,11 @@ func (c *TargetPoolsAddHealthCheckCall) Do(opts ...googleapi.CallOption) (*Opera // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "targetPool": { // "description": "Name of the target pool to add a health check to.", // "location": "path", @@ -57530,6 +60912,25 @@ func (r *TargetPoolsService) AddInstance(project string, region string, targetPo 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 *TargetPoolsAddInstanceCall) RequestId(requestId string) *TargetPoolsAddInstanceCall { + 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 information. @@ -57641,6 +61042,11 @@ func (c *TargetPoolsAddInstanceCall) Do(opts ...googleapi.CallOption) (*Operatio // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "targetPool": { // "description": "Name of the TargetPool resource to add instances to.", // "location": "path", @@ -57938,6 +61344,25 @@ func (r *TargetPoolsService) Delete(project string, region string, targetPool st 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 *TargetPoolsDeleteCall) RequestId(requestId string) *TargetPoolsDeleteCall { + 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 information. @@ -58044,6 +61469,11 @@ func (c *TargetPoolsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, er // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "targetPool": { // "description": "Name of the TargetPool resource to delete.", // "location": "path", @@ -58411,6 +61841,25 @@ func (r *TargetPoolsService) Insert(project string, region string, targetpool *T 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 *TargetPoolsInsertCall) RequestId(requestId string) *TargetPoolsInsertCall { + 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 information. @@ -58519,6 +61968,11 @@ func (c *TargetPoolsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, er // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/targetPools", @@ -58824,6 +62278,25 @@ func (r *TargetPoolsService) RemoveHealthCheck(project string, region string, ta 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 *TargetPoolsRemoveHealthCheckCall) RequestId(requestId string) *TargetPoolsRemoveHealthCheckCall { + 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 information. @@ -58935,6 +62408,11 @@ func (c *TargetPoolsRemoveHealthCheckCall) Do(opts ...googleapi.CallOption) (*Op // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "targetPool": { // "description": "Name of the target pool to remove health checks from.", // "location": "path", @@ -58982,6 +62460,25 @@ func (r *TargetPoolsService) RemoveInstance(project string, region string, targe 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 *TargetPoolsRemoveInstanceCall) RequestId(requestId string) *TargetPoolsRemoveInstanceCall { + 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 information. @@ -59093,6 +62590,11 @@ func (c *TargetPoolsRemoveInstanceCall) Do(opts ...googleapi.CallOption) (*Opera // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "targetPool": { // "description": "Name of the TargetPool resource to remove instances from.", // "location": "path", @@ -59147,6 +62649,25 @@ func (c *TargetPoolsSetBackupCall) FailoverRatio(failoverRatio float64) *TargetP 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 *TargetPoolsSetBackupCall) RequestId(requestId string) *TargetPoolsSetBackupCall { + 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 information. @@ -59264,6 +62785,11 @@ func (c *TargetPoolsSetBackupCall) Do(opts ...googleapi.CallOption) (*Operation, // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "targetPool": { // "description": "Name of the TargetPool resource to set a backup pool for.", // "location": "path", @@ -59306,6 +62832,25 @@ func (r *TargetSslProxiesService) Delete(project string, targetSslProxy string) 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 *TargetSslProxiesDeleteCall) RequestId(requestId string) *TargetSslProxiesDeleteCall { + 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 information. @@ -59403,6 +62948,11 @@ func (c *TargetSslProxiesDeleteCall) Do(opts ...googleapi.CallOption) (*Operatio // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "targetSslProxy": { // "description": "Name of the TargetSslProxy resource to delete.", // "location": "path", @@ -59595,6 +63145,25 @@ func (r *TargetSslProxiesService) Insert(project string, targetsslproxy *TargetS 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 *TargetSslProxiesInsertCall) RequestId(requestId string) *TargetSslProxiesInsertCall { + 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 information. @@ -59694,6 +63263,11 @@ func (c *TargetSslProxiesInsertCall) Do(opts ...googleapi.CallOption) (*Operatio // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/targetSslProxies", @@ -59984,6 +63558,25 @@ func (r *TargetSslProxiesService) SetBackendService(project string, targetSslPro 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 *TargetSslProxiesSetBackendServiceCall) RequestId(requestId string) *TargetSslProxiesSetBackendServiceCall { + 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 information. @@ -60086,6 +63679,11 @@ func (c *TargetSslProxiesSetBackendServiceCall) Do(opts ...googleapi.CallOption) // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "targetSslProxy": { // "description": "Name of the TargetSslProxy resource whose BackendService resource is to be set.", // "location": "path", @@ -60130,6 +63728,25 @@ func (r *TargetSslProxiesService) SetProxyHeader(project string, targetSslProxy 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 *TargetSslProxiesSetProxyHeaderCall) RequestId(requestId string) *TargetSslProxiesSetProxyHeaderCall { + 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 information. @@ -60232,6 +63849,11 @@ func (c *TargetSslProxiesSetProxyHeaderCall) Do(opts ...googleapi.CallOption) (* // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "targetSslProxy": { // "description": "Name of the TargetSslProxy resource whose ProxyHeader is to be set.", // "location": "path", @@ -60276,6 +63898,25 @@ func (r *TargetSslProxiesService) SetSslCertificates(project string, targetSslPr 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 *TargetSslProxiesSetSslCertificatesCall) RequestId(requestId string) *TargetSslProxiesSetSslCertificatesCall { + 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 information. @@ -60378,6 +64019,11 @@ func (c *TargetSslProxiesSetSslCertificatesCall) Do(opts ...googleapi.CallOption // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "targetSslProxy": { // "description": "Name of the TargetSslProxy resource whose SslCertificate resource is to be set.", // "location": "path", @@ -60420,6 +64066,25 @@ func (r *TargetTcpProxiesService) Delete(project string, targetTcpProxy string) 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 *TargetTcpProxiesDeleteCall) RequestId(requestId string) *TargetTcpProxiesDeleteCall { + 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 information. @@ -60517,6 +64182,11 @@ func (c *TargetTcpProxiesDeleteCall) Do(opts ...googleapi.CallOption) (*Operatio // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "targetTcpProxy": { // "description": "Name of the TargetTcpProxy resource to delete.", // "location": "path", @@ -60709,6 +64379,25 @@ func (r *TargetTcpProxiesService) Insert(project string, targettcpproxy *TargetT 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 *TargetTcpProxiesInsertCall) RequestId(requestId string) *TargetTcpProxiesInsertCall { + 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 information. @@ -60808,6 +64497,11 @@ func (c *TargetTcpProxiesInsertCall) Do(opts ...googleapi.CallOption) (*Operatio // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/targetTcpProxies", @@ -61098,6 +64792,25 @@ func (r *TargetTcpProxiesService) SetBackendService(project string, targetTcpPro 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 *TargetTcpProxiesSetBackendServiceCall) RequestId(requestId string) *TargetTcpProxiesSetBackendServiceCall { + 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 information. @@ -61200,6 +64913,11 @@ func (c *TargetTcpProxiesSetBackendServiceCall) Do(opts ...googleapi.CallOption) // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "targetTcpProxy": { // "description": "Name of the TargetTcpProxy resource whose BackendService resource is to be set.", // "location": "path", @@ -61244,6 +64962,25 @@ func (r *TargetTcpProxiesService) SetProxyHeader(project string, 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. +// +// For example, consider a situation where you make an initial request +// and the request times out. If you make the request again with the +// same request ID, the server can check if original 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 *TargetTcpProxiesSetProxyHeaderCall) RequestId(requestId string) *TargetTcpProxiesSetProxyHeaderCall { + 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 information. @@ -61346,6 +65083,11 @@ func (c *TargetTcpProxiesSetProxyHeaderCall) Do(opts ...googleapi.CallOption) (* // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "targetTcpProxy": { // "description": "Name of the TargetTcpProxy resource whose ProxyHeader is to be set.", // "location": "path", @@ -61641,6 +65383,25 @@ func (r *TargetVpnGatewaysService) Delete(project string, region string, targetV 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 *TargetVpnGatewaysDeleteCall) RequestId(requestId string) *TargetVpnGatewaysDeleteCall { + 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 information. @@ -61747,6 +65508,11 @@ func (c *TargetVpnGatewaysDeleteCall) Do(opts ...googleapi.CallOption) (*Operati // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "targetVpnGateway": { // "description": "Name of the target VPN gateway to delete.", // "location": "path", @@ -61952,6 +65718,25 @@ func (r *TargetVpnGatewaysService) Insert(project string, region string, targetv 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 *TargetVpnGatewaysInsertCall) RequestId(requestId string) *TargetVpnGatewaysInsertCall { + 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 information. @@ -62060,6 +65845,11 @@ func (c *TargetVpnGatewaysInsertCall) Do(opts ...googleapi.CallOption) (*Operati // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/targetVpnGateways", @@ -62360,6 +66150,25 @@ func (r *UrlMapsService) Delete(project string, urlMap string) *UrlMapsDeleteCal 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 *UrlMapsDeleteCall) RequestId(requestId string) *UrlMapsDeleteCall { + 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 information. @@ -62457,6 +66266,11 @@ func (c *UrlMapsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "urlMap": { // "description": "Name of the UrlMap resource to delete.", // "location": "path", @@ -62651,6 +66465,25 @@ func (r *UrlMapsService) Insert(project string, urlmap *UrlMap) *UrlMapsInsertCa 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 *UrlMapsInsertCall) RequestId(requestId string) *UrlMapsInsertCall { + 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 information. @@ -62750,6 +66583,11 @@ func (c *UrlMapsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/global/urlMaps", @@ -62789,6 +66627,25 @@ func (r *UrlMapsService) InvalidateCache(project string, urlMap string, cacheinv 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 *UrlMapsInvalidateCacheCall) RequestId(requestId string) *UrlMapsInvalidateCacheCall { + 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 information. @@ -62891,6 +66748,11 @@ func (c *UrlMapsInvalidateCacheCall) Do(opts ...googleapi.CallOption) (*Operatio // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "urlMap": { // "description": "Name of the UrlMap scoping this request.", // "location": "path", @@ -63191,6 +67053,25 @@ func (r *UrlMapsService) Patch(project string, urlMap string, urlmap *UrlMap) *U 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 *UrlMapsPatchCall) RequestId(requestId string) *UrlMapsPatchCall { + 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 information. @@ -63293,6 +67174,11 @@ func (c *UrlMapsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "urlMap": { // "description": "Name of the UrlMap resource to patch.", // "location": "path", @@ -63310,8 +67196,7 @@ func (c *UrlMapsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" + // "https://www.googleapis.com/auth/compute" // ] // } @@ -63340,6 +67225,25 @@ func (r *UrlMapsService) Update(project string, urlMap string, 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 *UrlMapsUpdateCall) RequestId(requestId string) *UrlMapsUpdateCall { + 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 information. @@ -63442,6 +67346,11 @@ func (c *UrlMapsUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "urlMap": { // "description": "Name of the UrlMap resource to update.", // "location": "path", @@ -63886,6 +67795,25 @@ func (r *VpnTunnelsService) Delete(project string, region string, vpnTunnel stri 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 *VpnTunnelsDeleteCall) RequestId(requestId string) *VpnTunnelsDeleteCall { + 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 information. @@ -63992,6 +67920,11 @@ func (c *VpnTunnelsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, err // "required": true, // "type": "string" // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, // "vpnTunnel": { // "description": "Name of the VpnTunnel resource to delete.", // "location": "path", @@ -64197,6 +68130,25 @@ func (r *VpnTunnelsService) Insert(project string, region string, vpntunnel *Vpn 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 *VpnTunnelsInsertCall) RequestId(requestId string) *VpnTunnelsInsertCall { + 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 information. @@ -64305,6 +68257,11 @@ func (c *VpnTunnelsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, err // "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 that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, // "path": "{project}/regions/{region}/vpnTunnels", diff --git a/vendor/google.golang.org/api/consumersurveys/v2/consumersurveys-api.json b/vendor/google.golang.org/api/consumersurveys/v2/consumersurveys-api.json index 44d975c77..3577a2d69 100644 --- a/vendor/google.golang.org/api/consumersurveys/v2/consumersurveys-api.json +++ b/vendor/google.golang.org/api/consumersurveys/v2/consumersurveys-api.json @@ -20,7 +20,7 @@ "basePath": "/consumersurveys/v2/", "rootUrl": "https://www.googleapis.com/", "servicePath": "consumersurveys/v2/", - "batchPath": "batch", + "batchPath": "batch/consumersurveys/v2", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/container/v1/container-api.json b/vendor/google.golang.org/api/container/v1/container-api.json index c62d6e0a3..e709291c9 100644 --- a/vendor/google.golang.org/api/container/v1/container-api.json +++ b/vendor/google.golang.org/api/container/v1/container-api.json @@ -5,8 +5,8 @@ "name": "container", "batchPath": "batch", "documentationLink": "https://cloud.google.com/container-engine/", - "revision": "20170627", "id": "container:v1", + "revision": "20170915", "title": "Google Container Engine API", "discoveryVersion": "v1", "ownerName": "Google", @@ -16,8 +16,6 @@ "zones": { "methods": { "getServerconfig": { - "description": "Returns configuration info about the Container Engine service.", - "httpMethod": "GET", "response": { "$ref": "ServerConfig" }, @@ -25,6 +23,10 @@ "projectId", "zone" ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { "projectId": { "location": "path", @@ -33,69 +35,22 @@ "required": true }, "zone": { + "location": "path", "description": "The name of the Google Compute Engine [zone](/compute/docs/zones#available)\nto return operations for.", "type": "string", - "required": true, - "location": "path" + "required": true } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "flatPath": "v1/projects/{projectId}/zones/{zone}/serverconfig", + "id": "container.projects.zones.getServerconfig", "path": "v1/projects/{projectId}/zones/{zone}/serverconfig", - "id": "container.projects.zones.getServerconfig" + "description": "Returns configuration info about the Container Engine service." } }, "resources": { "clusters": { "methods": { - "locations": { - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "projectId", - "zone", - "clusterId" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "projectId": { - "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", - "type": "string", - "required": true, - "location": "path" - }, - "zone": { - "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", - "type": "string", - "required": true, - "location": "path" - }, - "clusterId": { - "location": "path", - "description": "The name of the cluster to upgrade.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/locations", - "id": "container.projects.zones.clusters.locations", - "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/locations", - "request": { - "$ref": "SetLocationsRequest" - }, - "description": "Sets the locations of a specific cluster." - }, "update": { - "request": { - "$ref": "UpdateClusterRequest" - }, - "description": "Updates the settings of a specific cluster.", "response": { "$ref": "Operation" }, @@ -109,151 +64,155 @@ "https://www.googleapis.com/auth/cloud-platform" ], "parameters": { + "projectId": { + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", + "type": "string", + "required": true + }, "zone": { - "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", "type": "string", "required": true, - "location": "path" + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides." }, "clusterId": { "location": "path", "description": "The name of the cluster to upgrade.", "type": "string", "required": true - }, - "projectId": { - "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", - "type": "string", - "required": true, - "location": "path" } }, "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", "id": "container.projects.zones.clusters.update", - "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}" + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", + "request": { + "$ref": "UpdateClusterRequest" + }, + "description": "Updates the settings of a specific cluster." }, "monitoring": { + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/monitoring", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/monitoring", + "id": "container.projects.zones.clusters.monitoring", "request": { "$ref": "SetMonitoringServiceRequest" }, "description": "Sets the monitoring service of a specific cluster.", - "response": { - "$ref": "Operation" - }, + "httpMethod": "POST", "parameterOrder": [ "projectId", "zone", "clusterId" ], - "httpMethod": "POST", + "response": { + "$ref": "Operation" + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], "parameters": { "projectId": { - "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", - "type": "string", - "required": true, - "location": "path" - }, - "zone": { "location": "path", - "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", "type": "string", "required": true }, - "clusterId": { - "description": "The name of the cluster to upgrade.", + "zone": { "type": "string", "required": true, - "location": "path" + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides." + }, + "clusterId": { + "type": "string", + "required": true, + "location": "path", + "description": "The name of the cluster to upgrade." } - }, - "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/monitoring", - "id": "container.projects.zones.clusters.monitoring", - "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/monitoring" + } }, "master": { - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "projectId", - "zone", - "clusterId" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "zone": { - "location": "path", - "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", - "type": "string", - "required": true - }, - "clusterId": { - "description": "The name of the cluster to upgrade.", - "type": "string", - "required": true, - "location": "path" - }, - "projectId": { - "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", - "type": "string", - "required": true, - "location": "path" - } - }, "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/master", "id": "container.projects.zones.clusters.master", "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/master", "request": { "$ref": "UpdateMasterRequest" }, - "description": "Updates the master of a specific cluster." - }, - "setMasterAuth": { - "httpMethod": "POST", + "description": "Updates the master of a specific cluster.", + "response": { + "$ref": "Operation" + }, "parameterOrder": [ "projectId", "zone", "clusterId" ], - "response": { - "$ref": "Operation" - }, + "httpMethod": "POST", "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], "parameters": { - "zone": { - "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", + "projectId": { "type": "string", "required": true, - "location": "path" + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840)." + }, + "zone": { + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", + "type": "string", + "required": true + }, + "clusterId": { + "type": "string", + "required": true, + "location": "path", + "description": "The name of the cluster to upgrade." + } + } + }, + "setMasterAuth": { + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMasterAuth", + "id": "container.projects.zones.clusters.setMasterAuth", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMasterAuth", + "description": "Used to set master auth materials. Currently supports :-\nChanging the admin password of a specific cluster.\nThis can be either via password generation or explicitly set the password.", + "request": { + "$ref": "SetMasterAuthRequest" + }, + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "projectId", + "zone", + "clusterId" + ], + "httpMethod": "POST", + "parameters": { + "projectId": { + "type": "string", + "required": true, + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840)." + }, + "zone": { + "type": "string", + "required": true, + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides." }, "clusterId": { "location": "path", "description": "The name of the cluster to upgrade.", "type": "string", "required": true - }, - "projectId": { - "location": "path", - "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", - "type": "string", - "required": true } }, - "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMasterAuth", - "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMasterAuth", - "id": "container.projects.zones.clusters.setMasterAuth", - "request": { - "$ref": "SetMasterAuthRequest" - }, - "description": "Used to set master auth materials. Currently supports :-\nChanging the admin password of a specific cluster.\nThis can be either via password generation or explicitly set the password." + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] }, "logging": { "httpMethod": "POST", @@ -265,47 +224,49 @@ "response": { "$ref": "Operation" }, + "parameters": { + "projectId": { + "type": "string", + "required": true, + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840)." + }, + "zone": { + "type": "string", + "required": true, + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides." + }, + "clusterId": { + "type": "string", + "required": true, + "location": "path", + "description": "The name of the cluster to upgrade." + } + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "parameters": { - "projectId": { - "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", - "type": "string", - "required": true, - "location": "path" - }, - "zone": { - "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", - "type": "string", - "required": true, - "location": "path" - }, - "clusterId": { - "location": "path", - "description": "The name of the cluster to upgrade.", - "type": "string", - "required": true - } - }, "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/logging", "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/logging", "id": "container.projects.zones.clusters.logging", + "description": "Sets the logging service of a specific cluster.", "request": { "$ref": "SetLoggingServiceRequest" - }, - "description": "Sets the logging service of a specific cluster." + } }, "list": { - "description": "Lists all clusters owned by a project in either the specified zone or all\nzones.", - "response": { - "$ref": "ListClustersResponse" - }, + "httpMethod": "GET", "parameterOrder": [ "projectId", "zone" ], - "httpMethod": "GET", + "response": { + "$ref": "ListClustersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { "projectId": { "location": "path", @@ -314,38 +275,61 @@ "required": true }, "zone": { + "location": "path", "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides, or \"-\" for all zones.", "type": "string", - "required": true, - "location": "path" + "required": true } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters", + "path": "v1/projects/{projectId}/zones/{zone}/clusters", "id": "container.projects.zones.clusters.list", - "path": "v1/projects/{projectId}/zones/{zone}/clusters" + "description": "Lists all clusters owned by a project in either the specified zone or all\nzones." }, - "resourceLabels": { - "id": "container.projects.zones.clusters.resourceLabels", - "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/resourceLabels", + "create": { + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters", + "id": "container.projects.zones.clusters.create", + "path": "v1/projects/{projectId}/zones/{zone}/clusters", "request": { - "$ref": "SetLabelsRequest" + "$ref": "CreateClusterRequest" }, - "description": "Sets labels on a cluster.", + "description": "Creates a cluster, consisting of the specified number and type of Google\nCompute Engine instances.\n\nBy default, the cluster is created in the project's\n[default network](/compute/docs/networks-and-firewalls#networks).\n\nOne firewall is added for the cluster. After cluster creation,\nthe cluster creates routes for each node to allow the containers\non that node to communicate with all other instances in the\ncluster.\n\nFinally, an entry is added to the project's global metadata indicating\nwhich CIDR range is being used by the cluster.", "response": { "$ref": "Operation" }, "parameterOrder": [ "projectId", - "zone", - "clusterId" + "zone" ], "httpMethod": "POST", "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], + "parameters": { + "projectId": { + "type": "string", + "required": true, + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840)." + }, + "zone": { + "type": "string", + "required": true, + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides." + } + } + }, + "resourceLabels": { + "httpMethod": "POST", + "parameterOrder": [ + "projectId", + "zone", + "clusterId" + ], + "response": { + "$ref": "Operation" + }, "parameters": { "projectId": { "location": "path", @@ -354,53 +338,28 @@ "required": true }, "zone": { - "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", "type": "string", "required": true, - "location": "path" + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides." }, "clusterId": { - "description": "The name of the cluster.", "type": "string", "required": true, - "location": "path" - } - }, - "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/resourceLabels" - }, - "create": { - "description": "Creates a cluster, consisting of the specified number and type of Google\nCompute Engine instances.\n\nBy default, the cluster is created in the project's\n[default network](/compute/docs/networks-and-firewalls#networks).\n\nOne firewall is added for the cluster. After cluster creation,\nthe cluster creates routes for each node to allow the containers\non that node to communicate with all other instances in the\ncluster.\n\nFinally, an entry is added to the project's global metadata indicating\nwhich CIDR range is being used by the cluster.", - "request": { - "$ref": "CreateClusterRequest" - }, - "httpMethod": "POST", - "parameterOrder": [ - "projectId", - "zone" - ], - "response": { - "$ref": "Operation" - }, - "parameters": { - "projectId": { - "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", - "type": "string", - "required": true, - "location": "path" - }, - "zone": { - "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", - "type": "string", - "required": true, - "location": "path" + "location": "path", + "description": "The name of the cluster." } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters", - "path": "v1/projects/{projectId}/zones/{zone}/clusters", - "id": "container.projects.zones.clusters.create" + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/resourceLabels", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/resourceLabels", + "id": "container.projects.zones.clusters.resourceLabels", + "description": "Sets labels on a cluster.", + "request": { + "$ref": "SetLabelsRequest" + } }, "completeIpRotation": { "response": { @@ -412,9 +371,6 @@ "clusterId" ], "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "parameters": { "projectId": { "location": "path", @@ -423,72 +379,71 @@ "required": true }, "zone": { - "location": "path", - "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", - "type": "string", - "required": true - }, - "clusterId": { - "description": "The name of the cluster.", "type": "string", "required": true, - "location": "path" + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides." + }, + "clusterId": { + "location": "path", + "description": "The name of the cluster.", + "type": "string", + "required": true } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:completeIpRotation", "id": "container.projects.zones.clusters.completeIpRotation", "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:completeIpRotation", + "description": "Completes master IP rotation.", "request": { "$ref": "CompleteIPRotationRequest" - }, - "description": "Completes master IP rotation." + } }, "setNetworkPolicy": { - "description": "Enables/Disables Network Policy for a cluster.", - "request": { - "$ref": "SetNetworkPolicyRequest" - }, - "response": { - "$ref": "Operation" - }, + "httpMethod": "POST", "parameterOrder": [ "projectId", "zone", "clusterId" ], - "httpMethod": "POST", + "response": { + "$ref": "Operation" + }, "parameters": { - "zone": { - "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", - "type": "string", - "required": true, - "location": "path" - }, - "clusterId": { - "description": "The name of the cluster.", - "type": "string", - "required": true, - "location": "path" - }, "projectId": { + "location": "path", "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).", + "type": "string", + "required": true + }, + "zone": { "type": "string", "required": true, - "location": "path" + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides." + }, + "clusterId": { + "type": "string", + "required": true, + "location": "path", + "description": "The name of the cluster." } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setNetworkPolicy", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setNetworkPolicy", "id": "container.projects.zones.clusters.setNetworkPolicy", - "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setNetworkPolicy" + "description": "Enables/Disables Network Policy for a cluster.", + "request": { + "$ref": "SetNetworkPolicyRequest" + } }, "legacyAbac": { - "description": "Enables or disables the ABAC authorization mechanism on a cluster.", - "request": { - "$ref": "SetLegacyAbacRequest" - }, "httpMethod": "POST", "parameterOrder": [ "projectId", @@ -499,23 +454,23 @@ "$ref": "Operation" }, "parameters": { + "projectId": { + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", + "type": "string", + "required": true + }, "zone": { - "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", "type": "string", "required": true, - "location": "path" + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides." }, "clusterId": { "location": "path", "description": "The name of the cluster to update.", "type": "string", "required": true - }, - "projectId": { - "location": "path", - "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", - "type": "string", - "required": true } }, "scopes": [ @@ -523,10 +478,17 @@ ], "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/legacyAbac", "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/legacyAbac", - "id": "container.projects.zones.clusters.legacyAbac" + "id": "container.projects.zones.clusters.legacyAbac", + "description": "Enables or disables the ABAC authorization mechanism on a cluster.", + "request": { + "$ref": "SetLegacyAbacRequest" + } }, "get": { - "httpMethod": "GET", + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", + "id": "container.projects.zones.clusters.get", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", + "description": "Gets the details of a specific cluster.", "response": { "$ref": "Cluster" }, @@ -535,7 +497,17 @@ "zone", "clusterId" ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { + "projectId": { + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", + "type": "string", + "required": true + }, "zone": { "location": "path", "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", @@ -543,27 +515,15 @@ "required": true }, "clusterId": { - "location": "path", - "description": "The name of the cluster to retrieve.", - "type": "string", - "required": true - }, - "projectId": { - "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", "type": "string", "required": true, - "location": "path" + "location": "path", + "description": "The name of the cluster to retrieve." } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", - "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", - "id": "container.projects.zones.clusters.get", - "description": "Gets the details of a specific cluster." + } }, "startIpRotation": { + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:startIpRotation", "id": "container.projects.zones.clusters.startIpRotation", "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:startIpRotation", "request": { @@ -583,6 +543,12 @@ "https://www.googleapis.com/auth/cloud-platform" ], "parameters": { + "projectId": { + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).", + "type": "string", + "required": true + }, "zone": { "location": "path", "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", @@ -590,35 +556,30 @@ "required": true }, "clusterId": { - "description": "The name of the cluster.", - "type": "string", - "required": true, - "location": "path" - }, - "projectId": { "location": "path", - "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).", + "description": "The name of the cluster.", "type": "string", "required": true } - }, - "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:startIpRotation" + } }, "addons": { - "description": "Sets the addons of a specific cluster.", - "request": { - "$ref": "SetAddonsConfigRequest" + "response": { + "$ref": "Operation" }, - "httpMethod": "POST", "parameterOrder": [ "projectId", "zone", "clusterId" ], - "response": { - "$ref": "Operation" - }, + "httpMethod": "POST", "parameters": { + "projectId": { + "type": "string", + "required": true, + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840)." + }, "zone": { "location": "path", "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", @@ -630,64 +591,196 @@ "description": "The name of the cluster to upgrade.", "type": "string", "required": true - }, - "projectId": { - "location": "path", - "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", - "type": "string", - "required": true } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/addons", + "id": "container.projects.zones.clusters.addons", "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/addons", - "id": "container.projects.zones.clusters.addons" + "description": "Sets the addons of a specific cluster.", + "request": { + "$ref": "SetAddonsConfigRequest" + } }, - "delete": { - "response": { - "$ref": "Operation" - }, + "setMaintenancePolicy": { + "httpMethod": "POST", "parameterOrder": [ "projectId", "zone", "clusterId" ], - "httpMethod": "DELETE", + "response": { + "$ref": "Operation" + }, + "parameters": { + "projectId": { + "type": "string", + "required": true, + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840)." + }, + "zone": { + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", + "type": "string", + "required": true + }, + "clusterId": { + "location": "path", + "description": "The name of the cluster to update.", + "type": "string", + "required": true + } + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMaintenancePolicy", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMaintenancePolicy", + "id": "container.projects.zones.clusters.setMaintenancePolicy", + "description": "Sets the maintenance policy for a cluster.", + "request": { + "$ref": "SetMaintenancePolicyRequest" + } + }, + "delete": { + "httpMethod": "DELETE", + "parameterOrder": [ + "projectId", + "zone", + "clusterId" + ], + "response": { + "$ref": "Operation" + }, "parameters": { + "projectId": { + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", + "type": "string", + "required": true + }, "zone": { + "location": "path", "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", "type": "string", - "required": true, - "location": "path" + "required": true }, "clusterId": { "location": "path", "description": "The name of the cluster to delete.", "type": "string", "required": true - }, - "projectId": { - "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", - "type": "string", - "required": true, - "location": "path" } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", - "id": "container.projects.zones.clusters.delete", "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", + "id": "container.projects.zones.clusters.delete", "description": "Deletes the cluster, including the Kubernetes endpoint and all worker\nnodes.\n\nFirewalls and routes that were configured during cluster creation\nare also deleted.\n\nOther Google Compute Engine resources that might be in use by the cluster\n(e.g. load balancer resources) will not be deleted if they weren't present\nat the initial create time." + }, + "locations": { + "httpMethod": "POST", + "parameterOrder": [ + "projectId", + "zone", + "clusterId" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "projectId": { + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", + "type": "string", + "required": true + }, + "zone": { + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", + "type": "string", + "required": true + }, + "clusterId": { + "location": "path", + "description": "The name of the cluster to upgrade.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/locations", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/locations", + "id": "container.projects.zones.clusters.locations", + "request": { + "$ref": "SetLocationsRequest" + }, + "description": "Sets the locations of a specific cluster." } }, "resources": { "nodePools": { "methods": { - "setSize": { + "get": { + "httpMethod": "GET", + "parameterOrder": [ + "projectId", + "zone", + "clusterId", + "nodePoolId" + ], + "response": { + "$ref": "NodePool" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "projectId": { + "type": "string", + "required": true, + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber)." + }, + "zone": { + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", + "type": "string", + "required": true + }, + "clusterId": { + "location": "path", + "description": "The name of the cluster.", + "type": "string", + "required": true + }, + "nodePoolId": { + "type": "string", + "required": true, + "location": "path", + "description": "The name of the node pool." + } + }, + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}", + "id": "container.projects.zones.clusters.nodePools.get", + "description": "Retrieves the node pool requested." + }, + "update": { + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/update", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/update", + "id": "container.projects.zones.clusters.nodePools.update", + "request": { + "$ref": "UpdateNodePoolRequest" + }, + "description": "Updates the version and/or image type of a specific node pool.", "httpMethod": "POST", "parameterOrder": [ "projectId", @@ -698,95 +791,37 @@ "response": { "$ref": "Operation" }, - "parameters": { - "projectId": { - "location": "path", - "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", - "type": "string", - "required": true - }, - "zone": { - "location": "path", - "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", - "type": "string", - "required": true - }, - "clusterId": { - "description": "The name of the cluster to update.", - "type": "string", - "required": true, - "location": "path" - }, - "nodePoolId": { - "description": "The name of the node pool to update.", - "type": "string", - "required": true, - "location": "path" - } - }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setSize", - "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setSize", - "id": "container.projects.zones.clusters.nodePools.setSize", - "description": "Sets the size of a specific node pool.", - "request": { - "$ref": "SetNodePoolSizeRequest" + "parameters": { + "projectId": { + "type": "string", + "required": true, + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840)." + }, + "zone": { + "type": "string", + "required": true, + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides." + }, + "clusterId": { + "type": "string", + "required": true, + "location": "path", + "description": "The name of the cluster to upgrade." + }, + "nodePoolId": { + "type": "string", + "required": true, + "location": "path", + "description": "The name of the node pool to upgrade." + } } }, - "setManagement": { - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "projectId", - "zone", - "clusterId", - "nodePoolId" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "zone": { - "location": "path", - "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", - "type": "string", - "required": true - }, - "clusterId": { - "description": "The name of the cluster to update.", - "type": "string", - "required": true, - "location": "path" - }, - "nodePoolId": { - "location": "path", - "description": "The name of the node pool to update.", - "type": "string", - "required": true - }, - "projectId": { - "location": "path", - "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", - "type": "string", - "required": true - } - }, - "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setManagement", - "id": "container.projects.zones.clusters.nodePools.setManagement", - "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setManagement", - "request": { - "$ref": "SetNodePoolManagementRequest" - }, - "description": "Sets the NodeManagement options for a node pool." - }, "delete": { - "id": "container.projects.zones.clusters.nodePools.delete", - "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}", - "description": "Deletes a node pool from a cluster.", "response": { "$ref": "Operation" }, @@ -797,15 +832,12 @@ "nodePoolId" ], "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "parameters": { "projectId": { + "location": "path", "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).", "type": "string", - "required": true, - "location": "path" + "required": true }, "zone": { "location": "path", @@ -814,21 +846,127 @@ "required": true }, "clusterId": { + "location": "path", "description": "The name of the cluster.", + "type": "string", + "required": true + }, + "nodePoolId": { "type": "string", "required": true, - "location": "path" + "location": "path", + "description": "The name of the node pool to delete." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}", + "id": "container.projects.zones.clusters.nodePools.delete", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}", + "description": "Deletes a node pool from a cluster." + }, + "setManagement": { + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setManagement", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setManagement", + "id": "container.projects.zones.clusters.nodePools.setManagement", + "description": "Sets the NodeManagement options for a node pool.", + "request": { + "$ref": "SetNodePoolManagementRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "projectId", + "zone", + "clusterId", + "nodePoolId" + ], + "response": { + "$ref": "Operation" + }, + "parameters": { + "projectId": { + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", + "type": "string", + "required": true + }, + "zone": { + "type": "string", + "required": true, + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides." + }, + "clusterId": { + "location": "path", + "description": "The name of the cluster to update.", + "type": "string", + "required": true }, "nodePoolId": { "location": "path", - "description": "The name of the node pool to delete.", + "description": "The name of the node pool to update.", "type": "string", "required": true } }, - "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}" + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setSize": { + "description": "Sets the size of a specific node pool.", + "request": { + "$ref": "SetNodePoolSizeRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "projectId", + "zone", + "clusterId", + "nodePoolId" + ], + "response": { + "$ref": "Operation" + }, + "parameters": { + "projectId": { + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", + "type": "string", + "required": true + }, + "zone": { + "type": "string", + "required": true, + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides." + }, + "clusterId": { + "type": "string", + "required": true, + "location": "path", + "description": "The name of the cluster to update." + }, + "nodePoolId": { + "type": "string", + "required": true, + "location": "path", + "description": "The name of the node pool to update." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setSize", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setSize", + "id": "container.projects.zones.clusters.nodePools.setSize" }, "list": { + "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools", + "id": "container.projects.zones.clusters.nodePools.list", + "description": "Lists the node pools for a cluster.", "httpMethod": "GET", "response": { "$ref": "ListNodePoolsResponse" @@ -838,9 +976,6 @@ "zone", "clusterId" ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "parameters": { "projectId": { "location": "path", @@ -861,16 +996,11 @@ "required": true } }, - "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools", - "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools", - "id": "container.projects.zones.clusters.nodePools.list", - "description": "Lists the node pools for a cluster." + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] }, "rollback": { - "description": "Roll back the previously Aborted or Failed NodePool upgrade.\nThis will be an no-op if the last upgrade successfully completed.", - "request": { - "$ref": "RollbackNodePoolUpgradeRequest" - }, "response": { "$ref": "Operation" }, @@ -883,22 +1013,22 @@ "httpMethod": "POST", "parameters": { "projectId": { + "location": "path", "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", "type": "string", - "required": true, - "location": "path" + "required": true }, "zone": { + "location": "path", "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", "type": "string", - "required": true, - "location": "path" + "required": true }, "clusterId": { + "location": "path", "description": "The name of the cluster to rollback.", "type": "string", - "required": true, - "location": "path" + "required": true }, "nodePoolId": { "location": "path", @@ -912,7 +1042,11 @@ ], "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}:rollback", "id": "container.projects.zones.clusters.nodePools.rollback", - "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}:rollback" + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}:rollback", + "description": "Roll back the previously Aborted or Failed NodePool upgrade.\nThis will be an no-op if the last upgrade successfully completed.", + "request": { + "$ref": "RollbackNodePoolUpgradeRequest" + } }, "create": { "response": { @@ -924,9 +1058,6 @@ "clusterId" ], "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "parameters": { "projectId": { "location": "path", @@ -935,25 +1066,28 @@ "required": true }, "zone": { + "location": "path", "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", "type": "string", - "required": true, - "location": "path" + "required": true }, "clusterId": { - "description": "The name of the cluster.", "type": "string", "required": true, - "location": "path" + "location": "path", + "description": "The name of the cluster." } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools", "id": "container.projects.zones.clusters.nodePools.create", "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools", + "description": "Creates a node pool for a cluster.", "request": { "$ref": "CreateNodePoolRequest" - }, - "description": "Creates a node pool for a cluster." + } }, "autoscaling": { "description": "Sets the autoscaling settings of a specific node pool.", @@ -971,6 +1105,12 @@ ], "httpMethod": "POST", "parameters": { + "projectId": { + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", + "type": "string", + "required": true + }, "zone": { "location": "path", "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", @@ -978,22 +1118,16 @@ "required": true }, "clusterId": { - "description": "The name of the cluster to upgrade.", "type": "string", "required": true, - "location": "path" + "location": "path", + "description": "The name of the cluster to upgrade." }, "nodePoolId": { + "location": "path", "description": "The name of the node pool to upgrade.", "type": "string", - "required": true, - "location": "path" - }, - "projectId": { - "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", - "type": "string", - "required": true, - "location": "path" + "required": true } }, "scopes": [ @@ -1002,99 +1136,6 @@ "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/autoscaling", "id": "container.projects.zones.clusters.nodePools.autoscaling", "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/autoscaling" - }, - "get": { - "httpMethod": "GET", - "response": { - "$ref": "NodePool" - }, - "parameterOrder": [ - "projectId", - "zone", - "clusterId", - "nodePoolId" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "projectId": { - "location": "path", - "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).", - "type": "string", - "required": true - }, - "zone": { - "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", - "type": "string", - "required": true, - "location": "path" - }, - "clusterId": { - "location": "path", - "description": "The name of the cluster.", - "type": "string", - "required": true - }, - "nodePoolId": { - "location": "path", - "description": "The name of the node pool.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}", - "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}", - "id": "container.projects.zones.clusters.nodePools.get", - "description": "Retrieves the node pool requested." - }, - "update": { - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "projectId", - "zone", - "clusterId", - "nodePoolId" - ], - "httpMethod": "POST", - "parameters": { - "projectId": { - "location": "path", - "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", - "type": "string", - "required": true - }, - "zone": { - "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", - "type": "string", - "required": true, - "location": "path" - }, - "clusterId": { - "description": "The name of the cluster to upgrade.", - "type": "string", - "required": true, - "location": "path" - }, - "nodePoolId": { - "location": "path", - "description": "The name of the node pool to upgrade.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/update", - "id": "container.projects.zones.clusters.nodePools.update", - "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/update", - "description": "Updates the version and/or image type of a specific node pool.", - "request": { - "$ref": "UpdateNodePoolRequest" - } } } } @@ -1103,48 +1144,47 @@ "operations": { "methods": { "cancel": { - "httpMethod": "POST", + "flatPath": "v1/projects/{projectId}/zones/{zone}/operations/{operationId}:cancel", + "id": "container.projects.zones.operations.cancel", + "path": "v1/projects/{projectId}/zones/{zone}/operations/{operationId}:cancel", + "description": "Cancels the specified operation.", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, "parameterOrder": [ "projectId", "zone", "operationId" ], - "response": { - "$ref": "Empty" - }, + "httpMethod": "POST", "parameters": { "operationId": { + "location": "path", "description": "The server-assigned `name` of the operation.", "type": "string", - "required": true, - "location": "path" + "required": true }, "projectId": { + "location": "path", "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", "type": "string", - "required": true, - "location": "path" + "required": true }, "zone": { - "location": "path", - "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the operation resides.", "type": "string", - "required": true + "required": true, + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the operation resides." } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectId}/zones/{zone}/operations/{operationId}:cancel", - "path": "v1/projects/{projectId}/zones/{zone}/operations/{operationId}:cancel", - "id": "container.projects.zones.operations.cancel", - "description": "Cancels the specified operation.", - "request": { - "$ref": "CancelOperationRequest" - } + ] }, "get": { - "description": "Gets the specified operation.", "response": { "$ref": "Operation" }, @@ -1154,34 +1194,39 @@ "operationId" ], "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "parameters": { - "zone": { - "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", + "projectId": { "type": "string", "required": true, - "location": "path" + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840)." + }, + "zone": { + "type": "string", + "required": true, + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides." }, "operationId": { "location": "path", "description": "The server-assigned `name` of the operation.", "type": "string", "required": true - }, - "projectId": { - "location": "path", - "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", - "type": "string", - "required": true } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "flatPath": "v1/projects/{projectId}/zones/{zone}/operations/{operationId}", "id": "container.projects.zones.operations.get", - "path": "v1/projects/{projectId}/zones/{zone}/operations/{operationId}" + "path": "v1/projects/{projectId}/zones/{zone}/operations/{operationId}", + "description": "Gets the specified operation." }, "list": { + "flatPath": "v1/projects/{projectId}/zones/{zone}/operations", + "path": "v1/projects/{projectId}/zones/{zone}/operations", + "id": "container.projects.zones.operations.list", + "description": "Lists all operations in a project in a specific zone or all zones.", "httpMethod": "GET", "response": { "$ref": "ListOperationsResponse" @@ -1191,26 +1236,22 @@ "zone" ], "parameters": { - "zone": { - "location": "path", - "description": "The name of the Google Compute Engine [zone](/compute/docs/zones#available)\nto return operations for, or `-` for all zones.", - "type": "string", - "required": true - }, "projectId": { "location": "path", "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", "type": "string", "required": true + }, + "zone": { + "type": "string", + "required": true, + "location": "path", + "description": "The name of the Google Compute Engine [zone](/compute/docs/zones#available)\nto return operations for, or `-` for all zones." } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectId}/zones/{zone}/operations", - "path": "v1/projects/{projectId}/zones/{zone}/operations", - "id": "container.projects.zones.operations.list", - "description": "Lists all operations in a project in a specific zone or all zones." + ] } } } @@ -1220,33 +1261,65 @@ } }, "parameters": { + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "access_token": { + "location": "query", + "description": "OAuth access token.", + "type": "string" + }, + "quotaUser": { + "type": "string", + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters." + }, + "pp": { + "default": "true", + "type": "boolean", + "location": "query", + "description": "Pretty-print response." + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, "upload_protocol": { "location": "query", "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "type": "string" }, "prettyPrint": { - "location": "query", - "description": "Returns response with indentations and line breaks.", "default": "true", - "type": "boolean" + "type": "boolean", + "location": "query", + "description": "Returns response with indentations and line breaks." }, "fields": { + "type": "string", "location": "query", - "description": "Selector specifying which fields to include in a partial response.", - "type": "string" + "description": "Selector specifying which fields to include in a partial response." }, "uploadType": { + "location": "query", "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string", - "location": "query" + "type": "string" }, "callback": { + "location": "query", "description": "JSONP", - "type": "string", - "location": "query" + "type": "string" }, "$.xgafv": { + "type": "string", "enumDescriptions": [ "v1 error format", "v2 error format" @@ -1256,399 +1329,26 @@ "1", "2" ], - "description": "V1 error format.", - "type": "string" + "description": "V1 error format." }, "alt": { - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], "type": "string", "enumDescriptions": [ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", "Responses with Content-Type of application/x-protobuf" ], - "location": "query" - }, - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string", - "location": "query" - }, - "access_token": { "location": "query", - "description": "OAuth access token.", - "type": "string" - }, - "quotaUser": { - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string", - "location": "query" - }, - "pp": { - "description": "Pretty-print response.", - "default": "true", - "type": "boolean", - "location": "query" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" - }, - "bearer_token": { - "description": "OAuth bearer token.", - "type": "string", - "location": "query" + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ] } }, "schemas": { - "NodeConfig": { - "properties": { - "preemptible": { - "description": "Whether the nodes are created as preemptible VM instances. See:\nhttps://cloud.google.com/compute/docs/instances/preemptible for more\ninformation about preemptible VM instances.", - "type": "boolean" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "The map of Kubernetes labels (key/value pairs) to be applied to each node.\nThese will added in addition to any default label(s) that\nKubernetes may apply to the node.\nIn case of conflict in label keys, the applied set may differ depending on\nthe Kubernetes version -- it's best to assume the behavior is undefined\nand conflicts should be avoided.\nFor more information, including usage and the valid values, see:\nhttp://kubernetes.io/v1.1/docs/user-guide/labels.html", - "type": "object" - }, - "localSsdCount": { - "format": "int32", - "description": "The number of local SSD disks to be attached to the node.\n\nThe limit for this value is dependant upon the maximum number of\ndisks available on a machine per zone. See:\nhttps://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits\nfor more information.", - "type": "integer" - }, - "metadata": { - "additionalProperties": { - "type": "string" - }, - "description": "The metadata key/value pairs assigned to instances in the cluster.\n\nKeys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes\nin length. These are reflected as part of a URL in the metadata server.\nAdditionally, to avoid ambiguity, keys must not conflict with any other\nmetadata keys for the project or be one of the four reserved keys:\n\"instance-template\", \"kube-env\", \"startup-script\", and \"user-data\"\n\nValues are free-form strings, and only have meaning as interpreted by\nthe image running in the instance. The only restriction placed on them is\nthat each value's size must be less than or equal to 32 KB.\n\nThe total size of all keys and values must be less than 512 KB.", - "type": "object" - }, - "diskSizeGb": { - "format": "int32", - "description": "Size of the disk attached to each node, specified in GB.\nThe smallest allowed disk size is 10GB.\n\nIf unspecified, the default disk size is 100GB.", - "type": "integer" - }, - "tags": { - "description": "The list of instance tags applied to all nodes. Tags are used to identify\nvalid sources or targets for network firewalls and are specified by\nthe client during cluster or node pool creation. Each tag within the list\nmust comply with RFC1035.", - "items": { - "type": "string" - }, - "type": "array" - }, - "serviceAccount": { - "description": "The Google Cloud Platform Service Account to be used by the node VMs. If\nno Service Account is specified, the \"default\" service account is used.", - "type": "string" - }, - "machineType": { - "description": "The name of a Google Compute Engine [machine\ntype](/compute/docs/machine-types) (e.g.\n`n1-standard-1`).\n\nIf unspecified, the default machine type is\n`n1-standard-1`.", - "type": "string" - }, - "imageType": { - "description": "The image type to use for this node. Note that for a given image type,\nthe latest version of it will be used.", - "type": "string" - }, - "oauthScopes": { - "description": "The set of Google API scopes to be made available on all of the\nnode VMs under the \"default\" service account.\n\nThe following scopes are recommended, but not required, and by default are\nnot included:\n\n* `https://www.googleapis.com/auth/compute` is required for mounting\npersistent storage on your nodes.\n* `https://www.googleapis.com/auth/devstorage.read_only` is required for\ncommunicating with **gcr.io**\n(the [Google Container Registry](/container-registry/)).\n\nIf unspecified, no scopes are added, unless Cloud Logging or Cloud\nMonitoring are enabled, in which case their required scopes will be added.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "NodeConfig", - "description": "Parameters that describe the nodes in a cluster.", - "type": "object" - }, - "MasterAuth": { - "description": "The authentication information for accessing the master endpoint.\nAuthentication can be done using HTTP basic auth or using client\ncertificates.", - "type": "object", - "properties": { - "password": { - "description": "The password to use for HTTP basic authentication to the master endpoint.\nBecause the master endpoint is open to the Internet, you should create a\nstrong password. If a password is provided for cluster creation, username\nmust be non-empty.", - "type": "string" - }, - "clientCertificateConfig": { - "description": "Configuration for client certificate authentication on the cluster. If no\nconfiguration is specified, a client certificate is issued.", - "$ref": "ClientCertificateConfig" - }, - "clientKey": { - "description": "[Output only] Base64-encoded private key used by clients to authenticate\nto the cluster endpoint.", - "type": "string" - }, - "clusterCaCertificate": { - "description": "[Output only] Base64-encoded public certificate that is the root of\ntrust for the cluster.", - "type": "string" - }, - "clientCertificate": { - "description": "[Output only] Base64-encoded public certificate used by clients to\nauthenticate to the cluster endpoint.", - "type": "string" - }, - "username": { - "description": "The username to use for HTTP basic authentication to the master endpoint.\nFor clusters v1.6.0 and later, you can disable basic authentication by\nproviding an empty username.", - "type": "string" - } - }, - "id": "MasterAuth" - }, - "AutoUpgradeOptions": { - "properties": { - "description": { - "description": "[Output only] This field is set when upgrades are about to commence\nwith the description of the upgrade.", - "type": "string" - }, - "autoUpgradeStartTime": { - "description": "[Output only] This field is set when upgrades are about to commence\nwith the approximate start time for the upgrades, in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", - "type": "string" - } - }, - "id": "AutoUpgradeOptions", - "description": "AutoUpgradeOptions defines the set of options for the user to control how\nthe Auto Upgrades will proceed.", - "type": "object" - }, - "ListClustersResponse": { - "properties": { - "missingZones": { - "description": "If any zones are listed here, the list of clusters returned\nmay be missing those zones.", - "items": { - "type": "string" - }, - "type": "array" - }, - "clusters": { - "description": "A list of clusters in the project in the specified zone, or\nacross all ones.", - "items": { - "$ref": "Cluster" - }, - "type": "array" - } - }, - "id": "ListClustersResponse", - "description": "ListClustersResponse is the result of ListClustersRequest.", - "type": "object" - }, - "HttpLoadBalancing": { - "properties": { - "disabled": { - "description": "Whether the HTTP Load Balancing controller is enabled in the cluster.\nWhen enabled, it runs a small pod in the cluster that manages the load\nbalancers.", - "type": "boolean" - } - }, - "id": "HttpLoadBalancing", - "description": "Configuration options for the HTTP (L7) load balancing controller addon,\nwhich makes it easy to set up HTTP load balancers for services in a cluster.", - "type": "object" - }, - "SetNetworkPolicyRequest": { - "properties": { - "networkPolicy": { - "$ref": "NetworkPolicy", - "description": "Configuration options for the NetworkPolicy feature." - } - }, - "id": "SetNetworkPolicyRequest", - "description": "SetNetworkPolicyRequest enables/disables network policy for a cluster.", - "type": "object" - }, - "SetMasterAuthRequest": { - "properties": { - "update": { - "$ref": "MasterAuth", - "description": "A description of the update." - }, - "action": { - "enum": [ - "UNKNOWN", - "SET_PASSWORD", - "GENERATE_PASSWORD" - ], - "description": "The exact form of action to be taken on the master auth", - "type": "string", - "enumDescriptions": [ - "Operation is unknown and will error out", - "Set the password to a user generated value.", - "Generate a new password and set it to that." - ] - } - }, - "id": "SetMasterAuthRequest", - "description": "SetMasterAuthRequest updates the admin password of a cluster.", - "type": "object" - }, - "NodePoolAutoscaling": { - "properties": { - "enabled": { - "description": "Is autoscaling enabled for this node pool.", - "type": "boolean" - }, - "maxNodeCount": { - "format": "int32", - "description": "Maximum number of nodes in the NodePool. Must be \u003e= min_node_count. There\nhas to enough quota to scale up the cluster.", - "type": "integer" - }, - "minNodeCount": { - "format": "int32", - "description": "Minimum number of nodes in the NodePool. Must be \u003e= 1 and \u003c=\nmax_node_count.", - "type": "integer" - } - }, - "id": "NodePoolAutoscaling", - "description": "NodePoolAutoscaling contains information required by cluster autoscaler to\nadjust the size of the node pool to the current cluster usage.", - "type": "object" - }, - "ClientCertificateConfig": { - "properties": { - "issueClientCertificate": { - "description": "Issue a client certificate.", - "type": "boolean" - } - }, - "id": "ClientCertificateConfig", - "description": "Configuration for client certificates on the cluster.", - "type": "object" - }, - "IPAllocationPolicy": { - "description": "Configuration for controlling how IPs are allocated in the cluster.", - "type": "object", - "properties": { - "servicesIpv4Cidr": { - "description": "The IP address range of the services IPs in this cluster. If blank, a range\nwill be automatically chosen with the default size.\n\nThis field is only applicable when `use_ip_aliases` is true.\n\nSet to blank to have a range will be chosen with the default size.\n\nSet to /netmask (e.g. `/14`) to have a range be chosen with a specific\nnetmask.\n\nSet to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.\n`10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range\nto use.", - "type": "string" - }, - "useIpAliases": { - "description": "Whether alias IPs will be used for pod IPs in the cluster.", - "type": "boolean" - }, - "createSubnetwork": { - "description": "Whether a new subnetwork will be created automatically for the cluster.\n\nThis field is only applicable when `use_ip_aliases` is true.", - "type": "boolean" - }, - "subnetworkName": { - "description": "A custom subnetwork name to be used if `create_subnetwork` is true. If\nthis field is empty, then an automatic name will choosen for the new\nsubnetwork.", - "type": "string" - }, - "clusterIpv4Cidr": { - "description": "The IP address range for the cluster pod IPs. If this field is set, then\n`cluster.cluster_ipv4_cidr` must be left blank.\n\nThis field is only applicable when `use_ip_aliases` is true.\n\nSet to blank to have a range will be chosen with the default size.\n\nSet to /netmask (e.g. `/14`) to have a range be chosen with a specific\nnetmask.\n\nSet to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.\n`10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range\nto use.", - "type": "string" - }, - "nodeIpv4Cidr": { - "description": "The IP address range of the instance IPs in this cluster.\n\nThis is applicable only if `create_subnetwork` is true.\n\nSet to blank to have a range will be chosen with the default size.\n\nSet to /netmask (e.g. `/14`) to have a range be chosen with a specific\nnetmask.\n\nSet to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.\n`10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range\nto use.", - "type": "string" - } - }, - "id": "IPAllocationPolicy" - }, - "ClusterUpdate": { - "properties": { - "desiredLocations": { - "description": "The desired list of Google Compute Engine\n[locations](/compute/docs/zones#available) in which the cluster's nodes\nshould be located. Changing the locations a cluster is in will result\nin nodes being either created or removed from the cluster, depending on\nwhether locations are being added or removed.\n\nThis list must always include the cluster's primary zone.", - "items": { - "type": "string" - }, - "type": "array" - }, - "desiredNodePoolAutoscaling": { - "$ref": "NodePoolAutoscaling", - "description": "Autoscaler configuration for the node pool specified in\ndesired_node_pool_id. If there is only one pool in the\ncluster and desired_node_pool_id is not provided then\nthe change applies to that single node pool." - }, - "desiredMonitoringService": { - "description": "The monitoring service the cluster should use to write metrics.\nCurrently available options:\n\n* \"monitoring.googleapis.com\" - the Google Cloud Monitoring service\n* \"none\" - no metrics will be exported from the cluster", - "type": "string" - }, - "desiredImageType": { - "description": "The desired image type for the node pool.\nNOTE: Set the \"desired_node_pool\" field as well.", - "type": "string" - }, - "desiredAddonsConfig": { - "$ref": "AddonsConfig", - "description": "Configurations for the various addons available to run in the cluster." - }, - "desiredNodePoolId": { - "description": "The node pool to be upgraded. This field is mandatory if\n\"desired_node_version\", \"desired_image_family\" or\n\"desired_node_pool_autoscaling\" is specified and there is more than one\nnode pool on the cluster.", - "type": "string" - }, - "desiredNodeVersion": { - "description": "The Kubernetes version to change the nodes to (typically an\nupgrade). Use `-` to upgrade to the latest version supported by\nthe server.", - "type": "string" - }, - "desiredMasterVersion": { - "description": "The Kubernetes version to change the master to. The only valid value is the\nlatest supported version. Use \"-\" to have the server automatically select\nthe latest version.", - "type": "string" - } - }, - "id": "ClusterUpdate", - "description": "ClusterUpdate describes an update to the cluster. Exactly one update can\nbe applied to a cluster with each request, so at most one field can be\nprovided.", - "type": "object" - }, - "SetLoggingServiceRequest": { - "description": "SetLoggingServiceRequest sets the logging service of a cluster.", - "type": "object", - "properties": { - "loggingService": { - "description": "The logging service the cluster should use to write metrics.\nCurrently available options:\n\n* \"logging.googleapis.com\" - the Google Cloud Logging service\n* \"none\" - no metrics will be exported from the cluster", - "type": "string" - } - }, - "id": "SetLoggingServiceRequest" - }, - "HorizontalPodAutoscaling": { - "properties": { - "disabled": { - "description": "Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.\nWhen enabled, it ensures that a Heapster pod is running in the cluster,\nwhich is also used by the Cloud Monitoring service.", - "type": "boolean" - } - }, - "id": "HorizontalPodAutoscaling", - "description": "Configuration options for the horizontal pod autoscaling feature, which\nincreases or decreases the number of replica pods a replication controller\nhas based on the resource usage of the existing pods.", - "type": "object" - }, - "SetNodePoolManagementRequest": { - "description": "SetNodePoolManagementRequest sets the node management properties of a node\npool.", - "type": "object", - "properties": { - "management": { - "$ref": "NodeManagement", - "description": "NodeManagement configuration for the node pool." - } - }, - "id": "SetNodePoolManagementRequest" - }, - "Empty": { - "properties": {}, - "id": "Empty", - "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", - "type": "object" - }, - "SetNodePoolAutoscalingRequest": { - "description": "SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool.", - "type": "object", - "properties": { - "autoscaling": { - "description": "Autoscaling configuration for the node pool.", - "$ref": "NodePoolAutoscaling" - } - }, - "id": "SetNodePoolAutoscalingRequest" - }, - "CreateClusterRequest": { - "description": "CreateClusterRequest creates a cluster.", - "type": "object", - "properties": { - "cluster": { - "$ref": "Cluster", - "description": "A [cluster\nresource](/container-engine/reference/rest/v1/projects.zones.clusters)" - } - }, - "id": "CreateClusterRequest" - }, "ListNodePoolsResponse": { "description": "ListNodePoolsResponse is the result of ListNodePoolsRequest.", "type": "object", @@ -1675,74 +1375,61 @@ "properties": {}, "id": "StartIPRotationRequest" }, - "LegacyAbac": { - "description": "Configuration for the legacy Attribute Based Access Control authorization\nmode.", - "type": "object", - "properties": { - "enabled": { - "description": "Whether the ABAC authorizer is enabled for this cluster. When enabled,\nidentities in the system, including service accounts, nodes, and\ncontrollers, will have statically granted permissions beyond those\nprovided by the RBAC configuration or IAM.", - "type": "boolean" - } - }, - "id": "LegacyAbac" - }, - "UpdateNodePoolRequest": { - "description": "UpdateNodePoolRequests update a node pool's image and/or version.", - "type": "object", - "properties": { - "nodeVersion": { - "description": "The Kubernetes version to change the nodes to (typically an\nupgrade). Use `-` to upgrade to the latest version supported by\nthe server.", - "type": "string" - }, - "imageType": { - "description": "The desired image type for the node pool.", - "type": "string" - } - }, - "id": "UpdateNodePoolRequest" - }, - "SetAddonsConfigRequest": { - "properties": { - "addonsConfig": { - "description": "The desired configurations for the various addons available to run in the\ncluster.", - "$ref": "AddonsConfig" - } - }, - "id": "SetAddonsConfigRequest", - "description": "SetAddonsConfigRequest sets the addons associated with the cluster.", - "type": "object" - }, "SetLabelsRequest": { - "description": "SetLabelsRequest sets the Google Cloud Platform labels on a Google Container\nEngine cluster, which will in turn set them for Google Compute Engine\nresources used by that cluster", "type": "object", "properties": { "resourceLabels": { + "type": "object", "additionalProperties": { "type": "string" }, - "description": "The labels to set for that cluster.", - "type": "object" + "description": "The labels to set for that cluster." }, "labelFingerprint": { - "description": "The fingerprint of the previous set of labels for this resource,\nused to detect conflicts. The fingerprint is initially generated by\nContainer Engine and changes after every request to modify or update\nlabels. You must always provide an up-to-date fingerprint hash when\nupdating or changing labels. Make a \u003ccode\u003eget()\u003c/code\u003e request to the\nresource to get the latest fingerprint.", - "type": "string" + "type": "string", + "description": "The fingerprint of the previous set of labels for this resource,\nused to detect conflicts. The fingerprint is initially generated by\nContainer Engine and changes after every request to modify or update\nlabels. You must always provide an up-to-date fingerprint hash when\nupdating or changing labels. Make a \u003ccode\u003eget()\u003c/code\u003e request to the\nresource to get the latest fingerprint." } }, - "id": "SetLabelsRequest" + "id": "SetLabelsRequest", + "description": "SetLabelsRequest sets the Google Cloud Platform labels on a Google Container\nEngine cluster, which will in turn set them for Google Compute Engine\nresources used by that cluster" }, "NodePool": { + "description": "NodePool contains the name and configuration for a cluster's node pool.\nNode pools are a set of nodes (i.e. VM's), with a common configuration and\nspecification, under the control of the cluster master. They may have a set\nof Kubernetes labels applied to them, which may be used to reference them\nduring pod scheduling. They may also be resized up or down, to accommodate\nthe workload.", + "type": "object", "properties": { - "config": { - "description": "The node configuration of the pool.", - "$ref": "NodeConfig" + "status": { + "type": "string", + "enumDescriptions": [ + "Not set.", + "The PROVISIONING state indicates the node pool is being created.", + "The RUNNING state indicates the node pool has been created\nand is fully usable.", + "The RUNNING_WITH_ERROR state indicates the node pool has been created\nand is partially usable. Some error state has occurred and some\nfunctionality may be impaired. Customer may need to reissue a request\nor trigger a new update.", + "The RECONCILING state indicates that some work is actively being done on\nthe node pool, such as upgrading node software. Details can\nbe found in the `statusMessage` field.", + "The STOPPING state indicates the node pool is being deleted.", + "The ERROR state indicates the node pool may be unusable. Details\ncan be found in the `statusMessage` field." + ], + "enum": [ + "STATUS_UNSPECIFIED", + "PROVISIONING", + "RUNNING", + "RUNNING_WITH_ERROR", + "RECONCILING", + "STOPPING", + "ERROR" + ], + "description": "[Output only] The status of the nodes in this pool instance." }, - "statusMessage": { - "description": "[Output only] Additional information about the current status of this\nnode pool instance, if available.", - "type": "string" + "config": { + "$ref": "NodeConfig", + "description": "The node configuration of the pool." }, "name": { - "description": "The name of the node pool.", - "type": "string" + "type": "string", + "description": "The name of the node pool." + }, + "statusMessage": { + "type": "string", + "description": "[Output only] Additional information about the current status of this\nnode pool instance, if available." }, "autoscaling": { "$ref": "NodePoolAutoscaling", @@ -1758,62 +1445,38 @@ "type": "integer" }, "selfLink": { - "description": "[Output only] Server-defined URL for the resource.", - "type": "string" + "type": "string", + "description": "[Output only] Server-defined URL for the resource." + }, + "version": { + "type": "string", + "description": "[Output only] The version of the Kubernetes of this node." }, "instanceGroupUrls": { - "description": "[Output only] The resource URLs of [instance\ngroups](/compute/docs/instance-groups/) associated with this\nnode pool.", "items": { "type": "string" }, - "type": "array" - }, - "version": { - "description": "[Output only] The version of the Kubernetes of this node.", - "type": "string" - }, - "status": { - "enum": [ - "STATUS_UNSPECIFIED", - "PROVISIONING", - "RUNNING", - "RUNNING_WITH_ERROR", - "RECONCILING", - "STOPPING", - "ERROR" - ], - "description": "[Output only] The status of the nodes in this pool instance.", - "type": "string", - "enumDescriptions": [ - "Not set.", - "The PROVISIONING state indicates the node pool is being created.", - "The RUNNING state indicates the node pool has been created\nand is fully usable.", - "The RUNNING_WITH_ERROR state indicates the node pool has been created\nand is partially usable. Some error state has occurred and some\nfunctionality may be impaired. Customer may need to reissue a request\nor trigger a new update.", - "The RECONCILING state indicates that some work is actively being done on\nthe node pool, such as upgrading node software. Details can\nbe found in the `statusMessage` field.", - "The STOPPING state indicates the node pool is being deleted.", - "The ERROR state indicates the node pool may be unusable. Details\ncan be found in the `statusMessage` field." - ] + "type": "array", + "description": "[Output only] The resource URLs of [instance\ngroups](/compute/docs/instance-groups/) associated with this\nnode pool." } }, - "id": "NodePool", - "description": "NodePool contains the name and configuration for a cluster's node pool.\nNode pools are a set of nodes (i.e. VM's), with a common configuration and\nspecification, under the control of the cluster master. They may have a set\nof Kubernetes labels applied to them, which may be used to reference them\nduring pod scheduling. They may also be resized up or down, to accommodate\nthe workload.", - "type": "object" + "id": "NodePool" }, "NodeManagement": { "description": "NodeManagement defines the set of node management services turned on for the\nnode pool.", "type": "object", "properties": { "autoRepair": { - "description": "A flag that specifies whether the node auto-repair is enabled for the node\npool. If enabled, the nodes in this node pool will be monitored and, if\nthey fail health checks too many times, an automatic repair action will be\ntriggered.", - "type": "boolean" + "type": "boolean", + "description": "A flag that specifies whether the node auto-repair is enabled for the node\npool. If enabled, the nodes in this node pool will be monitored and, if\nthey fail health checks too many times, an automatic repair action will be\ntriggered." }, "autoUpgrade": { - "description": "A flag that specifies whether node auto-upgrade is enabled for the node\npool. If enabled, node auto-upgrade helps keep the nodes in your node pool\nup to date with the latest release version of Kubernetes.", - "type": "boolean" + "type": "boolean", + "description": "A flag that specifies whether node auto-upgrade is enabled for the node\npool. If enabled, node auto-upgrade helps keep the nodes in your node pool\nup to date with the latest release version of Kubernetes." }, "upgradeOptions": { - "description": "Specifies the Auto Upgrade knobs for the node pool.", - "$ref": "AutoUpgradeOptions" + "$ref": "AutoUpgradeOptions", + "description": "Specifies the Auto Upgrade knobs for the node pool." } }, "id": "NodeManagement" @@ -1824,32 +1487,25 @@ "properties": {}, "id": "CancelOperationRequest" }, - "SetLegacyAbacRequest": { + "KubernetesDashboard": { + "description": "Configuration for the Kubernetes Dashboard.", + "type": "object", "properties": { - "enabled": { - "description": "Whether ABAC authorization will be enabled in the cluster.", - "type": "boolean" + "disabled": { + "type": "boolean", + "description": "Whether the Kubernetes Dashboard is enabled for this cluster." } }, - "id": "SetLegacyAbacRequest", - "description": "SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for\na cluster.", - "type": "object" + "id": "KubernetesDashboard" }, "Operation": { + "type": "object", "properties": { "zone": { - "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the operation\nis taking place.", - "type": "string" + "type": "string", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the operation\nis taking place." }, "status": { - "enum": [ - "STATUS_UNSPECIFIED", - "PENDING", - "RUNNING", - "DONE", - "ABORTING" - ], - "description": "The current status of the operation.", "type": "string", "enumDescriptions": [ "Not set.", @@ -1857,16 +1513,24 @@ "The operation is currently running.", "The operation is done, either cancelled or completed.", "The operation is aborting." - ] - }, - "name": { - "description": "The server-assigned ID for the operation.", - "type": "string" + ], + "enum": [ + "STATUS_UNSPECIFIED", + "PENDING", + "RUNNING", + "DONE", + "ABORTING" + ], + "description": "The current status of the operation." }, "statusMessage": { "description": "If an error has occurred, a textual description of the error.", "type": "string" }, + "name": { + "description": "The server-assigned ID for the operation.", + "type": "string" + }, "selfLink": { "description": "Server-defined URL for the resource.", "type": "string" @@ -1875,11 +1539,16 @@ "description": "Server-defined URL for the target of the operation.", "type": "string" }, + "endTime": { + "type": "string", + "description": "[Output only] The time the operation completed, in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format." + }, "detail": { - "description": "Detailed operation progress, if available.", - "type": "string" + "type": "string", + "description": "Detailed operation progress, if available." }, "operationType": { + "type": "string", "enumDescriptions": [ "Not set.", "Cluster create.", @@ -1896,7 +1565,8 @@ "Set labels.", "Set/generate master auth materials", "Set node pool size.", - "Updates network policy for a cluster." + "Updates network policy for a cluster.", + "Set the maintenance policy." ], "enum": [ "TYPE_UNSPECIFIED", @@ -1914,85 +1584,43 @@ "SET_LABELS", "SET_MASTER_AUTH", "SET_NODE_POOL_SIZE", - "SET_NETWORK_POLICY" + "SET_NETWORK_POLICY", + "SET_MAINTENANCE_POLICY" ], - "description": "The operation type.", - "type": "string" + "description": "The operation type." + }, + "startTime": { + "type": "string", + "description": "[Output only] The time the operation started, in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format." } }, "id": "Operation", - "description": "This operation resource represents operations that may have happened or are\nhappening on the cluster. All fields are output only.", - "type": "object" + "description": "This operation resource represents operations that may have happened or are\nhappening on the cluster. All fields are output only." }, - "AddonsConfig": { - "description": "Configuration for the addons that can be automatically spun up in the\ncluster, enabling additional functionality.", + "MaintenanceWindow": { "type": "object", "properties": { - "horizontalPodAutoscaling": { - "$ref": "HorizontalPodAutoscaling", - "description": "Configuration for the horizontal pod autoscaling feature, which\nincreases or decreases the number of replica pods a replication controller\nhas based on the resource usage of the existing pods." - }, - "httpLoadBalancing": { - "$ref": "HttpLoadBalancing", - "description": "Configuration for the HTTP (L7) load balancing controller addon, which\nmakes it easy to set up HTTP load balancers for services in a cluster." + "dailyMaintenanceWindow": { + "$ref": "DailyMaintenanceWindow", + "description": "DailyMaintenanceWindow specifies a daily maintenance operation window." } }, - "id": "AddonsConfig" - }, - "SetLocationsRequest": { - "properties": { - "locations": { - "description": "The desired list of Google Compute Engine\n[locations](/compute/docs/zones#available) in which the cluster's nodes\nshould be located. Changing the locations a cluster is in will result\nin nodes being either created or removed from the cluster, depending on\nwhether locations are being added or removed.\n\nThis list must always include the cluster's primary zone.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "SetLocationsRequest", - "description": "SetLocationsRequest sets the locations of the cluster.", - "type": "object" + "id": "MaintenanceWindow", + "description": "MaintenanceWindow defines the maintenance window to be used for the cluster." }, "RollbackNodePoolUpgradeRequest": { - "properties": {}, - "id": "RollbackNodePoolUpgradeRequest", "description": "RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed\nNodePool upgrade. This will be an no-op if the last upgrade successfully\ncompleted.", - "type": "object" - }, - "SetNodePoolSizeRequest": { - "description": "SetNodePoolSizeRequest sets the size a node\npool.", "type": "object", - "properties": { - "nodeCount": { - "format": "int32", - "description": "The desired node count for the pool.", - "type": "integer" - } - }, - "id": "SetNodePoolSizeRequest" - }, - "UpdateClusterRequest": { - "description": "UpdateClusterRequest updates the settings of a cluster.", - "type": "object", - "properties": { - "update": { - "$ref": "ClusterUpdate", - "description": "A description of the update." - } - }, - "id": "UpdateClusterRequest" + "properties": {}, + "id": "RollbackNodePoolUpgradeRequest" }, "NetworkPolicy": { "description": "Configuration options for the NetworkPolicy feature.\nhttps://kubernetes.io/docs/concepts/services-networking/networkpolicies/", "type": "object", "properties": { - "enabled": { - "description": "Whether network policy is enabled on the cluster.", - "type": "boolean" - }, "provider": { "enum": [ - "UNKNOWN", + "PROVIDER_UNSPECIFIED", "CALICO" ], "description": "The selected network policy provider.", @@ -2001,250 +1629,90 @@ "Not set", "Tigera (Calico Felix)." ] + }, + "enabled": { + "type": "boolean", + "description": "Whether network policy is enabled on the cluster." } }, "id": "NetworkPolicy" }, "UpdateMasterRequest": { - "properties": { - "masterVersion": { - "description": "The Kubernetes version to change the master to. The only valid value is the\nlatest supported version. Use \"-\" to have the server automatically select\nthe latest version.", - "type": "string" - } - }, - "id": "UpdateMasterRequest", "description": "UpdateMasterRequest updates the master of the cluster.", - "type": "object" - }, - "Cluster": { - "properties": { - "network": { - "description": "The name of the Google Compute Engine\n[network](/compute/docs/networks-and-firewalls#networks) to which the\ncluster is connected. If left unspecified, the `default` network\nwill be used.", - "type": "string" - }, - "labelFingerprint": { - "description": "The fingerprint of the set of labels for this cluster.", - "type": "string" - }, - "zone": { - "description": "[Output only] The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", - "type": "string" - }, - "loggingService": { - "description": "The logging service the cluster should use to write logs.\nCurrently available options:\n\n* `logging.googleapis.com` - the Google Cloud Logging service.\n* `none` - no logs will be exported from the cluster.\n* if left as an empty string,`logging.googleapis.com` will be used.", - "type": "string" - }, - "nodeIpv4CidrSize": { - "format": "int32", - "description": "[Output only] The size of the address space on each node for hosting\ncontainers. This is provisioned from within the `container_ipv4_cidr`\nrange.", - "type": "integer" - }, - "expireTime": { - "description": "[Output only] The time the cluster will be automatically\ndeleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", - "type": "string" - }, - "statusMessage": { - "description": "[Output only] Additional information about the current status of this\ncluster, if available.", - "type": "string" - }, - "masterAuth": { - "$ref": "MasterAuth", - "description": "The authentication information for accessing the master endpoint." - }, - "currentMasterVersion": { - "description": "[Output only] The current software version of the master endpoint.", - "type": "string" - }, - "nodeConfig": { - "$ref": "NodeConfig", - "description": "Parameters used in creating the cluster's nodes.\nSee `nodeConfig` for the description of its properties.\nFor requests, this field should only be used in lieu of a\n\"node_pool\" object, since this configuration (along with the\n\"initial_node_count\") will be used to create a \"NodePool\" object with an\nauto-generated name. Do not use this and a node_pool at the same time.\nFor responses, this field will be populated with the node configuration of\nthe first node pool.\n\nIf unspecified, the defaults are used." - }, - "addonsConfig": { - "description": "Configurations for the various addons available to run in the cluster.", - "$ref": "AddonsConfig" - }, - "status": { - "enum": [ - "STATUS_UNSPECIFIED", - "PROVISIONING", - "RUNNING", - "RECONCILING", - "STOPPING", - "ERROR" - ], - "description": "[Output only] The current status of this cluster.", - "type": "string", - "enumDescriptions": [ - "Not set.", - "The PROVISIONING state indicates the cluster is being created.", - "The RUNNING state indicates the cluster has been created and is fully\nusable.", - "The RECONCILING state indicates that some work is actively being done on\nthe cluster, such as upgrading the master or node software. Details can\nbe found in the `statusMessage` field.", - "The STOPPING state indicates the cluster is being deleted.", - "The ERROR state indicates the cluster may be unusable. Details\ncan be found in the `statusMessage` field." - ] - }, - "currentNodeVersion": { - "description": "[Output only] The current version of the node software components.\nIf they are currently at multiple versions because they're in the process\nof being upgraded, this reflects the minimum version of all nodes.", - "type": "string" - }, - "subnetwork": { - "description": "The name of the Google Compute Engine\n[subnetwork](/compute/docs/subnetworks) to which the\ncluster is connected.", - "type": "string" - }, - "name": { - "description": "The name of this cluster. The name must be unique within this project\nand zone, and can be up to 40 characters with the following restrictions:\n\n* Lowercase letters, numbers, and hyphens only.\n* Must start with a letter.\n* Must end with a number or a letter.", - "type": "string" - }, - "resourceLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "The resource labels for the cluster to use to annotate any related\nGoogle Compute Engine resources.", - "type": "object" - }, - "initialClusterVersion": { - "description": "The initial Kubernetes version for this cluster. Valid versions are those\nfound in validMasterVersions returned by getServerConfig. The version can\nbe upgraded over time; such upgrades are reflected in\ncurrentMasterVersion and currentNodeVersion.", - "type": "string" - }, - "ipAllocationPolicy": { - "$ref": "IPAllocationPolicy", - "description": "Configuration for cluster IP allocation." - }, - "endpoint": { - "description": "[Output only] The IP address of this cluster's master endpoint.\nThe endpoint can be accessed from the internet at\n`https://username:password@endpoint/`.\n\nSee the `masterAuth` property of this resource for username and\npassword information.", - "type": "string" - }, - "legacyAbac": { - "description": "Configuration for the legacy ABAC authorization mode.", - "$ref": "LegacyAbac" - }, - "createTime": { - "description": "[Output only] The time the cluster was created, in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", - "type": "string" - }, - "clusterIpv4Cidr": { - "description": "The IP address range of the container pods in this cluster, in\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `10.96.0.0/14`). Leave blank to have\none automatically chosen or specify a `/14` block in `10.0.0.0/8`.", - "type": "string" - }, - "initialNodeCount": { - "format": "int32", - "description": "The number of nodes to create in this cluster. You must ensure that your\nCompute Engine \u003ca href=\"/compute/docs/resource-quotas\"\u003eresource quota\u003c/a\u003e\nis sufficient for this number of instances. You must also have available\nfirewall and routes quota.\nFor requests, this field should only be used in lieu of a\n\"node_pool\" object, since this configuration (along with the\n\"node_config\") will be used to create a \"NodePool\" object with an\nauto-generated name. Do not use this and a node_pool at the same time.", - "type": "integer" - }, - "selfLink": { - "description": "[Output only] Server-defined URL for the resource.", - "type": "string" - }, - "locations": { - "description": "The list of Google Compute Engine\n[locations](/compute/docs/zones#available) in which the cluster's nodes\nshould be located.", - "items": { - "type": "string" - }, - "type": "array" - }, - "nodePools": { - "description": "The node pools associated with this cluster.\nThis field should not be set if \"node_config\" or \"initial_node_count\" are\nspecified.", - "items": { - "$ref": "NodePool" - }, - "type": "array" - }, - "instanceGroupUrls": { - "description": "[Output only] The resource URLs of [instance\ngroups](/compute/docs/instance-groups/) associated with this\ncluster.", - "items": { - "type": "string" - }, - "type": "array" - }, - "networkPolicy": { - "$ref": "NetworkPolicy", - "description": "Configuration options for the NetworkPolicy feature." - }, - "servicesIpv4Cidr": { - "description": "[Output only] The IP address range of the Kubernetes services in\nthis cluster, in\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `1.2.3.4/29`). Service addresses are\ntypically put in the last `/16` from the container CIDR.", - "type": "string" - }, - "enableKubernetesAlpha": { - "description": "Kubernetes alpha features are enabled on this cluster. This includes alpha\nAPI groups (e.g. v1alpha1) and features that may not be production ready in\nthe kubernetes version of the master and nodes.\nThe cluster has no SLA for uptime and master/node upgrades are disabled.\nAlpha enabled clusters are automatically deleted thirty days after\ncreation.", - "type": "boolean" - }, - "description": { - "description": "An optional description of this cluster.", - "type": "string" - }, - "currentNodeCount": { - "format": "int32", - "description": "[Output only] The number of nodes currently in the cluster.", - "type": "integer" - }, - "monitoringService": { - "description": "The monitoring service the cluster should use to write metrics.\nCurrently available options:\n\n* `monitoring.googleapis.com` - the Google Cloud Monitoring service.\n* `none` - no metrics will be exported from the cluster.\n* if left as an empty string, `monitoring.googleapis.com` will be used.", - "type": "string" - } - }, - "id": "Cluster", - "description": "A Google Container Engine cluster.", - "type": "object" - }, - "CreateNodePoolRequest": { - "description": "CreateNodePoolRequest creates a node pool for a cluster.", "type": "object", "properties": { - "nodePool": { - "$ref": "NodePool", - "description": "The node pool to create." + "masterVersion": { + "type": "string", + "description": "The Kubernetes version to change the master to. The only valid value is the\nlatest supported version. Use \"-\" to have the server automatically select\nthe latest version." } }, - "id": "CreateNodePoolRequest" + "id": "UpdateMasterRequest" }, "ListOperationsResponse": { + "description": "ListOperationsResponse is the result of ListOperationsRequest.", + "type": "object", "properties": { - "missingZones": { - "description": "If any zones are listed here, the list of operations returned\nmay be missing the operations from those zones.", - "items": { - "type": "string" - }, - "type": "array" - }, "operations": { "description": "A list of operations in the project in the specified zone.", "items": { "$ref": "Operation" }, "type": "array" - } - }, - "id": "ListOperationsResponse", - "description": "ListOperationsResponse is the result of ListOperationsRequest.", - "type": "object" - }, - "SetMonitoringServiceRequest": { - "properties": { - "monitoringService": { - "description": "The monitoring service the cluster should use to write metrics.\nCurrently available options:\n\n* \"monitoring.googleapis.com\" - the Google Cloud Monitoring service\n* \"none\" - no metrics will be exported from the cluster", - "type": "string" - } - }, - "id": "SetMonitoringServiceRequest", - "description": "SetMonitoringServiceRequest sets the monitoring service of a cluster.", - "type": "object" - }, - "ServerConfig": { - "properties": { - "validMasterVersions": { - "description": "List of valid master versions.", + }, + "missingZones": { "items": { "type": "string" }, - "type": "array" + "type": "array", + "description": "If any zones are listed here, the list of operations returned\nmay be missing the operations from those zones." + } + }, + "id": "ListOperationsResponse" + }, + "CidrBlock": { + "type": "object", + "properties": { + "displayName": { + "description": "display_name is an optional field for users to identify CIDR blocks.", + "type": "string" + }, + "cidrBlock": { + "description": "cidr_block must be specified in CIDR notation.", + "type": "string" + } + }, + "id": "CidrBlock", + "description": "CidrBlock contains an optional name and one CIDR block." + }, + "SetMonitoringServiceRequest": { + "description": "SetMonitoringServiceRequest sets the monitoring service of a cluster.", + "type": "object", + "properties": { + "monitoringService": { + "type": "string", + "description": "The monitoring service the cluster should use to write metrics.\nCurrently available options:\n\n* \"monitoring.googleapis.com\" - the Google Cloud Monitoring service\n* \"none\" - no metrics will be exported from the cluster" + } + }, + "id": "SetMonitoringServiceRequest" + }, + "ServerConfig": { + "description": "Container Engine service configuration.", + "type": "object", + "properties": { + "validMasterVersions": { + "items": { + "type": "string" + }, + "type": "array", + "description": "List of valid master versions." }, "defaultImageType": { "description": "Default image type.", "type": "string" }, "defaultClusterVersion": { - "description": "Version of Kubernetes the service deploys by default.", - "type": "string" + "type": "string", + "description": "Version of Kubernetes the service deploys by default." }, "validImageTypes": { "description": "List of valid image types.", @@ -2261,18 +1729,772 @@ "type": "array" } }, - "id": "ServerConfig", - "description": "Container Engine service configuration.", - "type": "object" + "id": "ServerConfig" + }, + "NodeConfig": { + "description": "Parameters that describe the nodes in a cluster.", + "type": "object", + "properties": { + "accelerators": { + "description": "A list of hardware accelerators to be attached to each node.\nSee https://cloud.google.com/compute/docs/gpus for more information about\nsupport for GPUs.", + "items": { + "$ref": "AcceleratorConfig" + }, + "type": "array" + }, + "machineType": { + "description": "The name of a Google Compute Engine [machine\ntype](/compute/docs/machine-types) (e.g.\n`n1-standard-1`).\n\nIf unspecified, the default machine type is\n`n1-standard-1`.", + "type": "string" + }, + "minCpuPlatform": { + "type": "string", + "description": "Minimum CPU platform to be used by this instance. The instance may be\nscheduled on the specified or newer CPU platform. Applicable values are the\nfriendly names of CPU platforms, such as\n\u003ccode\u003eminCpuPlatform: "Intel Haswell"\u003c/code\u003e or\n\u003ccode\u003eminCpuPlatform: "Intel Sandy Bridge"\u003c/code\u003e. For more\ninformation, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)" + }, + "preemptible": { + "description": "Whether the nodes are created as preemptible VM instances. See:\nhttps://cloud.google.com/compute/docs/instances/preemptible for more\ninformation about preemptible VM instances.", + "type": "boolean" + }, + "localSsdCount": { + "type": "integer", + "format": "int32", + "description": "The number of local SSD disks to be attached to the node.\n\nThe limit for this value is dependant upon the maximum number of\ndisks available on a machine per zone. See:\nhttps://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits\nfor more information." + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "The metadata key/value pairs assigned to instances in the cluster.\n\nKeys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes\nin length. These are reflected as part of a URL in the metadata server.\nAdditionally, to avoid ambiguity, keys must not conflict with any other\nmetadata keys for the project or be one of the four reserved keys:\n\"instance-template\", \"kube-env\", \"startup-script\", and \"user-data\"\n\nValues are free-form strings, and only have meaning as interpreted by\nthe image running in the instance. The only restriction placed on them is\nthat each value's size must be less than or equal to 32 KB.\n\nThe total size of all keys and values must be less than 512 KB.", + "type": "object" + }, + "tags": { + "description": "The list of instance tags applied to all nodes. Tags are used to identify\nvalid sources or targets for network firewalls and are specified by\nthe client during cluster or node pool creation. Each tag within the list\nmust comply with RFC1035.", + "items": { + "type": "string" + }, + "type": "array" + }, + "serviceAccount": { + "description": "The Google Cloud Platform Service Account to be used by the node VMs. If\nno Service Account is specified, the \"default\" service account is used.", + "type": "string" + }, + "imageType": { + "description": "The image type to use for this node. Note that for a given image type,\nthe latest version of it will be used.", + "type": "string" + }, + "oauthScopes": { + "items": { + "type": "string" + }, + "type": "array", + "description": "The set of Google API scopes to be made available on all of the\nnode VMs under the \"default\" service account.\n\nThe following scopes are recommended, but not required, and by default are\nnot included:\n\n* `https://www.googleapis.com/auth/compute` is required for mounting\npersistent storage on your nodes.\n* `https://www.googleapis.com/auth/devstorage.read_only` is required for\ncommunicating with **gcr.io**\n(the [Google Container Registry](/container-registry/)).\n\nIf unspecified, no scopes are added, unless Cloud Logging or Cloud\nMonitoring are enabled, in which case their required scopes will be added." + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The map of Kubernetes labels (key/value pairs) to be applied to each node.\nThese will added in addition to any default label(s) that\nKubernetes may apply to the node.\nIn case of conflict in label keys, the applied set may differ depending on\nthe Kubernetes version -- it's best to assume the behavior is undefined\nand conflicts should be avoided.\nFor more information, including usage and the valid values, see:\nhttps://kubernetes.io/docs/concepts/overview/working-with-objects/labels/" + }, + "diskSizeGb": { + "format": "int32", + "description": "Size of the disk attached to each node, specified in GB.\nThe smallest allowed disk size is 10GB.\n\nIf unspecified, the default disk size is 100GB.", + "type": "integer" + } + }, + "id": "NodeConfig" + }, + "AutoUpgradeOptions": { + "type": "object", + "properties": { + "description": { + "description": "[Output only] This field is set when upgrades are about to commence\nwith the description of the upgrade.", + "type": "string" + }, + "autoUpgradeStartTime": { + "type": "string", + "description": "[Output only] This field is set when upgrades are about to commence\nwith the approximate start time for the upgrades, in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format." + } + }, + "id": "AutoUpgradeOptions", + "description": "AutoUpgradeOptions defines the set of options for the user to control how\nthe Auto Upgrades will proceed." + }, + "ListClustersResponse": { + "type": "object", + "properties": { + "missingZones": { + "items": { + "type": "string" + }, + "type": "array", + "description": "If any zones are listed here, the list of clusters returned\nmay be missing those zones." + }, + "clusters": { + "description": "A list of clusters in the project in the specified zone, or\nacross all ones.", + "items": { + "$ref": "Cluster" + }, + "type": "array" + } + }, + "id": "ListClustersResponse", + "description": "ListClustersResponse is the result of ListClustersRequest." + }, + "HttpLoadBalancing": { + "type": "object", + "properties": { + "disabled": { + "description": "Whether the HTTP Load Balancing controller is enabled in the cluster.\nWhen enabled, it runs a small pod in the cluster that manages the load\nbalancers.", + "type": "boolean" + } + }, + "id": "HttpLoadBalancing", + "description": "Configuration options for the HTTP (L7) load balancing controller addon,\nwhich makes it easy to set up HTTP load balancers for services in a cluster." + }, + "SetNetworkPolicyRequest": { + "description": "SetNetworkPolicyRequest enables/disables network policy for a cluster.", + "type": "object", + "properties": { + "networkPolicy": { + "$ref": "NetworkPolicy", + "description": "Configuration options for the NetworkPolicy feature." + } + }, + "id": "SetNetworkPolicyRequest" + }, + "NodePoolAutoscaling": { + "type": "object", + "properties": { + "maxNodeCount": { + "format": "int32", + "description": "Maximum number of nodes in the NodePool. Must be \u003e= min_node_count. There\nhas to enough quota to scale up the cluster.", + "type": "integer" + }, + "minNodeCount": { + "type": "integer", + "format": "int32", + "description": "Minimum number of nodes in the NodePool. Must be \u003e= 1 and \u003c=\nmax_node_count." + }, + "enabled": { + "type": "boolean", + "description": "Is autoscaling enabled for this node pool." + } + }, + "id": "NodePoolAutoscaling", + "description": "NodePoolAutoscaling contains information required by cluster autoscaler to\nadjust the size of the node pool to the current cluster usage." + }, + "SetMasterAuthRequest": { + "type": "object", + "properties": { + "update": { + "$ref": "MasterAuth", + "description": "A description of the update." + }, + "action": { + "type": "string", + "enumDescriptions": [ + "Operation is unknown and will error out", + "Set the password to a user generated value.", + "Generate a new password and set it to that." + ], + "enum": [ + "UNKNOWN", + "SET_PASSWORD", + "GENERATE_PASSWORD" + ], + "description": "The exact form of action to be taken on the master auth" + } + }, + "id": "SetMasterAuthRequest", + "description": "SetMasterAuthRequest updates the admin password of a cluster." + }, + "IPAllocationPolicy": { + "type": "object", + "properties": { + "subnetworkName": { + "type": "string", + "description": "A custom subnetwork name to be used if `create_subnetwork` is true. If\nthis field is empty, then an automatic name will be chosen for the new\nsubnetwork." + }, + "servicesIpv4CidrBlock": { + "description": "The IP address range of the services IPs in this cluster. If blank, a range\nwill be automatically chosen with the default size.\n\nThis field is only applicable when `use_ip_aliases` is true.\n\nSet to blank to have a range chosen with the default size.\n\nSet to /netmask (e.g. `/14`) to have a range chosen with a specific\nnetmask.\n\nSet to a\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.\n`10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range\nto use.", + "type": "string" + }, + "clusterIpv4Cidr": { + "description": "This field is deprecated, use cluster_ipv4_cidr_block.", + "type": "string" + }, + "nodeIpv4Cidr": { + "type": "string", + "description": "This field is deprecated, use node_ipv4_cidr_block." + }, + "clusterSecondaryRangeName": { + "type": "string", + "description": "The name of the secondary range to be used for the cluster CIDR\nblock. The secondary range will be used for pod IP\naddresses. This must be an existing secondary range associated\nwith the cluster subnetwork.\n\nThis field is only applicable with use_ip_aliases is true and\ncreate_subnetwork is false." + }, + "clusterIpv4CidrBlock": { + "description": "The IP address range for the cluster pod IPs. If this field is set, then\n`cluster.cluster_ipv4_cidr` must be left blank.\n\nThis field is only applicable when `use_ip_aliases` is true.\n\nSet to blank to have a range chosen with the default size.\n\nSet to /netmask (e.g. `/14`) to have a range chosen with a specific\nnetmask.\n\nSet to a\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.\n`10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range\nto use.", + "type": "string" + }, + "nodeIpv4CidrBlock": { + "type": "string", + "description": "The IP address range of the instance IPs in this cluster.\n\nThis is applicable only if `create_subnetwork` is true.\n\nSet to blank to have a range chosen with the default size.\n\nSet to /netmask (e.g. `/14`) to have a range chosen with a specific\nnetmask.\n\nSet to a\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.\n`10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range\nto use." + }, + "servicesIpv4Cidr": { + "type": "string", + "description": "This field is deprecated, use services_ipv4_cidr_block." + }, + "servicesSecondaryRangeName": { + "description": "The name of the secondary range to be used as for the services\nCIDR block. The secondary range will be used for service\nClusterIPs. This must be an existing secondary range associated\nwith the cluster subnetwork.\n\nThis field is only applicable with use_ip_aliases is true and\ncreate_subnetwork is false.", + "type": "string" + }, + "useIpAliases": { + "description": "Whether alias IPs will be used for pod IPs in the cluster.", + "type": "boolean" + }, + "createSubnetwork": { + "description": "Whether a new subnetwork will be created automatically for the cluster.\n\nThis field is only applicable when `use_ip_aliases` is true.", + "type": "boolean" + } + }, + "id": "IPAllocationPolicy", + "description": "Configuration for controlling how IPs are allocated in the cluster." + }, + "ClusterUpdate": { + "type": "object", + "properties": { + "desiredNodePoolId": { + "type": "string", + "description": "The node pool to be upgraded. This field is mandatory if\n\"desired_node_version\", \"desired_image_family\" or\n\"desired_node_pool_autoscaling\" is specified and there is more than one\nnode pool on the cluster." + }, + "desiredNodeVersion": { + "type": "string", + "description": "The Kubernetes version to change the nodes to (typically an\nupgrade). Use `-` to upgrade to the latest version supported by\nthe server." + }, + "desiredMasterVersion": { + "description": "The Kubernetes version to change the master to. The only valid value is the\nlatest supported version. Use \"-\" to have the server automatically select\nthe latest version.", + "type": "string" + }, + "desiredMasterAuthorizedNetworksConfig": { + "$ref": "MasterAuthorizedNetworksConfig", + "description": "Master authorized networks is a Beta feature.\nThe desired configuration options for master authorized networks feature." + }, + "desiredNodePoolAutoscaling": { + "$ref": "NodePoolAutoscaling", + "description": "Autoscaler configuration for the node pool specified in\ndesired_node_pool_id. If there is only one pool in the\ncluster and desired_node_pool_id is not provided then\nthe change applies to that single node pool." + }, + "desiredLocations": { + "description": "The desired list of Google Compute Engine\n[locations](/compute/docs/zones#available) in which the cluster's nodes\nshould be located. Changing the locations a cluster is in will result\nin nodes being either created or removed from the cluster, depending on\nwhether locations are being added or removed.\n\nThis list must always include the cluster's primary zone.", + "items": { + "type": "string" + }, + "type": "array" + }, + "desiredMonitoringService": { + "type": "string", + "description": "The monitoring service the cluster should use to write metrics.\nCurrently available options:\n\n* \"monitoring.googleapis.com\" - the Google Cloud Monitoring service\n* \"none\" - no metrics will be exported from the cluster" + }, + "desiredImageType": { + "type": "string", + "description": "The desired image type for the node pool.\nNOTE: Set the \"desired_node_pool\" field as well." + }, + "desiredAddonsConfig": { + "$ref": "AddonsConfig", + "description": "Configurations for the various addons available to run in the cluster." + } + }, + "id": "ClusterUpdate", + "description": "ClusterUpdate describes an update to the cluster. Exactly one update can\nbe applied to a cluster with each request, so at most one field can be\nprovided." + }, + "HorizontalPodAutoscaling": { + "description": "Configuration options for the horizontal pod autoscaling feature, which\nincreases or decreases the number of replica pods a replication controller\nhas based on the resource usage of the existing pods.", + "type": "object", + "properties": { + "disabled": { + "type": "boolean", + "description": "Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.\nWhen enabled, it ensures that a Heapster pod is running in the cluster,\nwhich is also used by the Cloud Monitoring service." + } + }, + "id": "HorizontalPodAutoscaling" + }, + "SetNodePoolManagementRequest": { + "description": "SetNodePoolManagementRequest sets the node management properties of a node\npool.", + "type": "object", + "properties": { + "management": { + "$ref": "NodeManagement", + "description": "NodeManagement configuration for the node pool." + } + }, + "id": "SetNodePoolManagementRequest" + }, + "MasterAuthorizedNetworksConfig": { + "type": "object", + "properties": { + "cidrBlocks": { + "items": { + "$ref": "CidrBlock" + }, + "type": "array", + "description": "cidr_blocks define up to 10 external networks that could access\nKubernetes master through HTTPS." + }, + "enabled": { + "description": "Whether or not master authorized networks is enabled.", + "type": "boolean" + } + }, + "id": "MasterAuthorizedNetworksConfig", + "description": "Master authorized networks is a Beta feature.\nConfiguration options for the master authorized networks feature. Enabled\nmaster authorized networks will disallow all external traffic to access\nKubernetes master through HTTPS except traffic from the given CIDR blocks,\nGoogle Compute Engine Public IPs and Google Prod IPs." + }, + "SetNodePoolAutoscalingRequest": { + "type": "object", + "properties": { + "autoscaling": { + "$ref": "NodePoolAutoscaling", + "description": "Autoscaling configuration for the node pool." + } + }, + "id": "SetNodePoolAutoscalingRequest", + "description": "SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool." + }, + "CreateClusterRequest": { + "type": "object", + "properties": { + "cluster": { + "$ref": "Cluster", + "description": "A [cluster\nresource](/container-engine/reference/rest/v1/projects.zones.clusters)" + } + }, + "id": "CreateClusterRequest", + "description": "CreateClusterRequest creates a cluster." + }, + "UpdateNodePoolRequest": { + "description": "UpdateNodePoolRequests update a node pool's image and/or version.", + "type": "object", + "properties": { + "nodeVersion": { + "description": "The Kubernetes version to change the nodes to (typically an\nupgrade). Use `-` to upgrade to the latest version supported by\nthe server.", + "type": "string" + }, + "imageType": { + "description": "The desired image type for the node pool.", + "type": "string" + } + }, + "id": "UpdateNodePoolRequest" + }, + "AcceleratorConfig": { + "type": "object", + "properties": { + "acceleratorType": { + "description": "The accelerator type resource name. List of supported accelerators\n[here](/compute/docs/gpus/#Introduction)", + "type": "string" + }, + "acceleratorCount": { + "format": "int64", + "description": "The number of the accelerator cards exposed to an instance.", + "type": "string" + } + }, + "id": "AcceleratorConfig", + "description": "AcceleratorConfig represents a Hardware Accelerator request." + }, + "LegacyAbac": { + "description": "Configuration for the legacy Attribute Based Access Control authorization\nmode.", + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the ABAC authorizer is enabled for this cluster. When enabled,\nidentities in the system, including service accounts, nodes, and\ncontrollers, will have statically granted permissions beyond those\nprovided by the RBAC configuration or IAM." + } + }, + "id": "LegacyAbac" + }, + "SetAddonsConfigRequest": { + "description": "SetAddonsConfigRequest sets the addons associated with the cluster.", + "type": "object", + "properties": { + "addonsConfig": { + "$ref": "AddonsConfig", + "description": "The desired configurations for the various addons available to run in the\ncluster." + } + }, + "id": "SetAddonsConfigRequest" + }, + "SetLegacyAbacRequest": { + "description": "SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for\na cluster.", + "type": "object", + "properties": { + "enabled": { + "description": "Whether ABAC authorization will be enabled in the cluster.", + "type": "boolean" + } + }, + "id": "SetLegacyAbacRequest" + }, + "AddonsConfig": { + "description": "Configuration for the addons that can be automatically spun up in the\ncluster, enabling additional functionality.", + "type": "object", + "properties": { + "horizontalPodAutoscaling": { + "$ref": "HorizontalPodAutoscaling", + "description": "Configuration for the horizontal pod autoscaling feature, which\nincreases or decreases the number of replica pods a replication controller\nhas based on the resource usage of the existing pods." + }, + "httpLoadBalancing": { + "$ref": "HttpLoadBalancing", + "description": "Configuration for the HTTP (L7) load balancing controller addon, which\nmakes it easy to set up HTTP load balancers for services in a cluster." + }, + "kubernetesDashboard": { + "$ref": "KubernetesDashboard", + "description": "Configuration for the Kubernetes Dashboard." + }, + "networkPolicyConfig": { + "$ref": "NetworkPolicyConfig", + "description": "Configuration for NetworkPolicy. This only tracks whether the addon\nis enabled or not on the Master, it does not track whether network policy\nis enabled for the nodes." + } + }, + "id": "AddonsConfig" + }, + "SetLocationsRequest": { + "type": "object", + "properties": { + "locations": { + "description": "The desired list of Google Compute Engine\n[locations](/compute/docs/zones#available) in which the cluster's nodes\nshould be located. Changing the locations a cluster is in will result\nin nodes being either created or removed from the cluster, depending on\nwhether locations are being added or removed.\n\nThis list must always include the cluster's primary zone.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "SetLocationsRequest", + "description": "SetLocationsRequest sets the locations of the cluster." + }, + "SetNodePoolSizeRequest": { + "description": "SetNodePoolSizeRequest sets the size a node\npool.", + "type": "object", + "properties": { + "nodeCount": { + "format": "int32", + "description": "The desired node count for the pool.", + "type": "integer" + } + }, + "id": "SetNodePoolSizeRequest" + }, + "NetworkPolicyConfig": { + "type": "object", + "properties": { + "disabled": { + "description": "Whether NetworkPolicy is enabled for this cluster.", + "type": "boolean" + } + }, + "id": "NetworkPolicyConfig", + "description": "Configuration for NetworkPolicy. This only tracks whether the addon\nis enabled or not on the Master, it does not track whether network policy\nis enabled for the nodes." + }, + "UpdateClusterRequest": { + "description": "UpdateClusterRequest updates the settings of a cluster.", + "type": "object", + "properties": { + "update": { + "$ref": "ClusterUpdate", + "description": "A description of the update." + } + }, + "id": "UpdateClusterRequest" + }, + "Cluster": { + "type": "object", + "properties": { + "nodeConfig": { + "$ref": "NodeConfig", + "description": "Parameters used in creating the cluster's nodes.\nSee `nodeConfig` for the description of its properties.\nFor requests, this field should only be used in lieu of a\n\"node_pool\" object, since this configuration (along with the\n\"initial_node_count\") will be used to create a \"NodePool\" object with an\nauto-generated name. Do not use this and a node_pool at the same time.\nFor responses, this field will be populated with the node configuration of\nthe first node pool.\n\nIf unspecified, the defaults are used." + }, + "addonsConfig": { + "$ref": "AddonsConfig", + "description": "Configurations for the various addons available to run in the cluster." + }, + "status": { + "type": "string", + "enumDescriptions": [ + "Not set.", + "The PROVISIONING state indicates the cluster is being created.", + "The RUNNING state indicates the cluster has been created and is fully\nusable.", + "The RECONCILING state indicates that some work is actively being done on\nthe cluster, such as upgrading the master or node software. Details can\nbe found in the `statusMessage` field.", + "The STOPPING state indicates the cluster is being deleted.", + "The ERROR state indicates the cluster may be unusable. Details\ncan be found in the `statusMessage` field." + ], + "enum": [ + "STATUS_UNSPECIFIED", + "PROVISIONING", + "RUNNING", + "RECONCILING", + "STOPPING", + "ERROR" + ], + "description": "[Output only] The current status of this cluster." + }, + "currentNodeVersion": { + "description": "[Output only] The current version of the node software components.\nIf they are currently at multiple versions because they're in the process\nof being upgraded, this reflects the minimum version of all nodes.", + "type": "string" + }, + "subnetwork": { + "type": "string", + "description": "The name of the Google Compute Engine\n[subnetwork](/compute/docs/subnetworks) to which the\ncluster is connected." + }, + "name": { + "description": "The name of this cluster. The name must be unique within this project\nand zone, and can be up to 40 characters with the following restrictions:\n\n* Lowercase letters, numbers, and hyphens only.\n* Must start with a letter.\n* Must end with a number or a letter.", + "type": "string" + }, + "resourceLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "The resource labels for the cluster to use to annotate any related\nGoogle Compute Engine resources.", + "type": "object" + }, + "maintenancePolicy": { + "$ref": "MaintenancePolicy", + "description": "Configure the maintenance policy for this cluster." + }, + "initialClusterVersion": { + "description": "The initial Kubernetes version for this cluster. Valid versions are those\nfound in validMasterVersions returned by getServerConfig. The version can\nbe upgraded over time; such upgrades are reflected in\ncurrentMasterVersion and currentNodeVersion.", + "type": "string" + }, + "ipAllocationPolicy": { + "$ref": "IPAllocationPolicy", + "description": "Configuration for cluster IP allocation." + }, + "legacyAbac": { + "$ref": "LegacyAbac", + "description": "Configuration for the legacy ABAC authorization mode." + }, + "endpoint": { + "type": "string", + "description": "[Output only] The IP address of this cluster's master endpoint.\nThe endpoint can be accessed from the internet at\n`https://username:password@endpoint/`.\n\nSee the `masterAuth` property of this resource for username and\npassword information." + }, + "createTime": { + "description": "[Output only] The time the cluster was created, in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", + "type": "string" + }, + "clusterIpv4Cidr": { + "type": "string", + "description": "The IP address range of the container pods in this cluster, in\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `10.96.0.0/14`). Leave blank to have\none automatically chosen or specify a `/14` block in `10.0.0.0/8`." + }, + "initialNodeCount": { + "type": "integer", + "format": "int32", + "description": "The number of nodes to create in this cluster. You must ensure that your\nCompute Engine \u003ca href=\"/compute/docs/resource-quotas\"\u003eresource quota\u003c/a\u003e\nis sufficient for this number of instances. You must also have available\nfirewall and routes quota.\nFor requests, this field should only be used in lieu of a\n\"node_pool\" object, since this configuration (along with the\n\"node_config\") will be used to create a \"NodePool\" object with an\nauto-generated name. Do not use this and a node_pool at the same time." + }, + "nodePools": { + "items": { + "$ref": "NodePool" + }, + "type": "array", + "description": "The node pools associated with this cluster.\nThis field should not be set if \"node_config\" or \"initial_node_count\" are\nspecified." + }, + "locations": { + "items": { + "type": "string" + }, + "type": "array", + "description": "The list of Google Compute Engine\n[locations](/compute/docs/zones#available) in which the cluster's nodes\nshould be located." + }, + "selfLink": { + "description": "[Output only] Server-defined URL for the resource.", + "type": "string" + }, + "instanceGroupUrls": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[Output only] The resource URLs of [instance\ngroups](/compute/docs/instance-groups/) associated with this\ncluster." + }, + "servicesIpv4Cidr": { + "type": "string", + "description": "[Output only] The IP address range of the Kubernetes services in\nthis cluster, in\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `1.2.3.4/29`). Service addresses are\ntypically put in the last `/16` from the container CIDR." + }, + "networkPolicy": { + "$ref": "NetworkPolicy", + "description": "Configuration options for the NetworkPolicy feature." + }, + "enableKubernetesAlpha": { + "type": "boolean", + "description": "Kubernetes alpha features are enabled on this cluster. This includes alpha\nAPI groups (e.g. v1alpha1) and features that may not be production ready in\nthe kubernetes version of the master and nodes.\nThe cluster has no SLA for uptime and master/node upgrades are disabled.\nAlpha enabled clusters are automatically deleted thirty days after\ncreation." + }, + "description": { + "type": "string", + "description": "An optional description of this cluster." + }, + "currentNodeCount": { + "type": "integer", + "format": "int32", + "description": "[Output only] The number of nodes currently in the cluster." + }, + "monitoringService": { + "description": "The monitoring service the cluster should use to write metrics.\nCurrently available options:\n\n* `monitoring.googleapis.com` - the Google Cloud Monitoring service.\n* `none` - no metrics will be exported from the cluster.\n* if left as an empty string, `monitoring.googleapis.com` will be used.", + "type": "string" + }, + "network": { + "description": "The name of the Google Compute Engine\n[network](/compute/docs/networks-and-firewalls#networks) to which the\ncluster is connected. If left unspecified, the `default` network\nwill be used.", + "type": "string" + }, + "labelFingerprint": { + "type": "string", + "description": "The fingerprint of the set of labels for this cluster." + }, + "zone": { + "description": "[Output only] The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", + "type": "string" + }, + "expireTime": { + "description": "[Output only] The time the cluster will be automatically\ndeleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", + "type": "string" + }, + "loggingService": { + "description": "The logging service the cluster should use to write logs.\nCurrently available options:\n\n* `logging.googleapis.com` - the Google Cloud Logging service.\n* `none` - no logs will be exported from the cluster.\n* if left as an empty string,`logging.googleapis.com` will be used.", + "type": "string" + }, + "nodeIpv4CidrSize": { + "format": "int32", + "description": "[Output only] The size of the address space on each node for hosting\ncontainers. This is provisioned from within the `container_ipv4_cidr`\nrange.", + "type": "integer" + }, + "masterAuthorizedNetworksConfig": { + "$ref": "MasterAuthorizedNetworksConfig", + "description": "Master authorized networks is a Beta feature.\nThe configuration options for master authorized networks feature." + }, + "statusMessage": { + "description": "[Output only] Additional information about the current status of this\ncluster, if available.", + "type": "string" + }, + "masterAuth": { + "$ref": "MasterAuth", + "description": "The authentication information for accessing the master endpoint." + }, + "currentMasterVersion": { + "type": "string", + "description": "[Output only] The current software version of the master endpoint." + } + }, + "id": "Cluster", + "description": "A Google Container Engine cluster." + }, + "CreateNodePoolRequest": { + "description": "CreateNodePoolRequest creates a node pool for a cluster.", + "type": "object", + "properties": { + "nodePool": { + "$ref": "NodePool", + "description": "The node pool to create." + } + }, + "id": "CreateNodePoolRequest" + }, + "MasterAuth": { + "type": "object", + "properties": { + "password": { + "description": "The password to use for HTTP basic authentication to the master endpoint.\nBecause the master endpoint is open to the Internet, you should create a\nstrong password. If a password is provided for cluster creation, username\nmust be non-empty.", + "type": "string" + }, + "clientCertificateConfig": { + "$ref": "ClientCertificateConfig", + "description": "Configuration for client certificate authentication on the cluster. If no\nconfiguration is specified, a client certificate is issued." + }, + "clientKey": { + "description": "[Output only] Base64-encoded private key used by clients to authenticate\nto the cluster endpoint.", + "type": "string" + }, + "clusterCaCertificate": { + "description": "[Output only] Base64-encoded public certificate that is the root of\ntrust for the cluster.", + "type": "string" + }, + "clientCertificate": { + "type": "string", + "description": "[Output only] Base64-encoded public certificate used by clients to\nauthenticate to the cluster endpoint." + }, + "username": { + "description": "The username to use for HTTP basic authentication to the master endpoint.\nFor clusters v1.6.0 and later, you can disable basic authentication by\nproviding an empty username.", + "type": "string" + } + }, + "id": "MasterAuth", + "description": "The authentication information for accessing the master endpoint.\nAuthentication can be done using HTTP basic auth or using client\ncertificates." + }, + "DailyMaintenanceWindow": { + "description": "Time window specified for daily maintenance operations.", + "type": "object", + "properties": { + "startTime": { + "description": "Time within the maintenance window to start the maintenance operations.\nTime format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)\nformat \"HH:MM”, where HH : [00-23] and MM : [00-59] GMT.", + "type": "string" + }, + "duration": { + "type": "string", + "description": "[Output only] Duration of the time window, automatically chosen to be\nsmallest possible in the given scenario.\nDuration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)\nformat \"PTnHnMnS\"." + } + }, + "id": "DailyMaintenanceWindow" + }, + "MaintenancePolicy": { + "description": "MaintenancePolicy defines the maintenance policy to be used for the cluster.", + "type": "object", + "properties": { + "window": { + "$ref": "MaintenanceWindow", + "description": "Specifies the maintenance window in which maintenance may be performed." + } + }, + "id": "MaintenancePolicy" + }, + "ClientCertificateConfig": { + "type": "object", + "properties": { + "issueClientCertificate": { + "description": "Issue a client certificate.", + "type": "boolean" + } + }, + "id": "ClientCertificateConfig", + "description": "Configuration for client certificates on the cluster." + }, + "SetLoggingServiceRequest": { + "type": "object", + "properties": { + "loggingService": { + "type": "string", + "description": "The logging service the cluster should use to write metrics.\nCurrently available options:\n\n* \"logging.googleapis.com\" - the Google Cloud Logging service\n* \"none\" - no metrics will be exported from the cluster" + } + }, + "id": "SetLoggingServiceRequest", + "description": "SetLoggingServiceRequest sets the logging service of a cluster." + }, + "SetMaintenancePolicyRequest": { + "type": "object", + "properties": { + "maintenancePolicy": { + "$ref": "MaintenancePolicy", + "description": "The maintenance policy to be set for the cluster. An empty field\nclears the existing maintenance policy." + } + }, + "id": "SetMaintenancePolicyRequest", + "description": "SetMaintenancePolicyRequest sets the maintenance policy for a cluster." + }, + "Empty": { + "type": "object", + "properties": {}, + "id": "Empty", + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`." } }, + "protocol": "rest", "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.gif" }, - "protocol": "rest", "version": "v1", "baseUrl": "https://container.googleapis.com/", + "canonicalName": "Container", "auth": { "oauth2": { "scopes": { diff --git a/vendor/google.golang.org/api/container/v1/container-gen.go b/vendor/google.golang.org/api/container/v1/container-gen.go index 23773ab98..bd9360939 100644 --- a/vendor/google.golang.org/api/container/v1/container-gen.go +++ b/vendor/google.golang.org/api/container/v1/container-gen.go @@ -132,6 +132,42 @@ type ProjectsZonesOperationsService struct { s *Service } +// AcceleratorConfig: AcceleratorConfig represents a Hardware +// Accelerator request. +type AcceleratorConfig struct { + // AcceleratorCount: The number of the accelerator cards exposed to an + // instance. + AcceleratorCount int64 `json:"acceleratorCount,omitempty,string"` + + // AcceleratorType: The accelerator type resource name. List of + // supported accelerators + // [here](/compute/docs/gpus/#Introduction) + AcceleratorType string `json:"acceleratorType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AcceleratorCount") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AcceleratorCount") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AcceleratorConfig) MarshalJSON() ([]byte, error) { + type noMethod AcceleratorConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // AddonsConfig: Configuration for the addons that can be automatically // spun up in the // cluster, enabling additional functionality. @@ -149,6 +185,16 @@ type AddonsConfig struct { // cluster. HttpLoadBalancing *HttpLoadBalancing `json:"httpLoadBalancing,omitempty"` + // KubernetesDashboard: Configuration for the Kubernetes Dashboard. + KubernetesDashboard *KubernetesDashboard `json:"kubernetesDashboard,omitempty"` + + // NetworkPolicyConfig: Configuration for NetworkPolicy. This only + // tracks whether the addon + // is enabled or not on the Master, it does not track whether network + // policy + // is enabled for the nodes. + NetworkPolicyConfig *NetworkPolicyConfig `json:"networkPolicyConfig,omitempty"` + // ForceSendFields is a list of field names (e.g. // "HorizontalPodAutoscaling") to unconditionally include in API // requests. By default, fields with empty values are omitted from API @@ -220,6 +266,38 @@ func (s *AutoUpgradeOptions) MarshalJSON() ([]byte, error) { type CancelOperationRequest struct { } +// CidrBlock: CidrBlock contains an optional name and one CIDR block. +type CidrBlock struct { + // CidrBlock: cidr_block must be specified in CIDR notation. + CidrBlock string `json:"cidrBlock,omitempty"` + + // DisplayName: display_name is an optional field for users to identify + // CIDR blocks. + DisplayName string `json:"displayName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CidrBlock") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CidrBlock") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CidrBlock) MarshalJSON() ([]byte, error) { + type noMethod CidrBlock + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ClientCertificateConfig: Configuration for client certificates on the // cluster. type ClientCertificateConfig struct { @@ -375,10 +453,18 @@ type Cluster struct { // * if left as an empty string,`logging.googleapis.com` will be used. LoggingService string `json:"loggingService,omitempty"` + // MaintenancePolicy: Configure the maintenance policy for this cluster. + MaintenancePolicy *MaintenancePolicy `json:"maintenancePolicy,omitempty"` + // MasterAuth: The authentication information for accessing the master // endpoint. MasterAuth *MasterAuth `json:"masterAuth,omitempty"` + // MasterAuthorizedNetworksConfig: Master authorized networks is a Beta + // feature. + // The configuration options for master authorized networks feature. + MasterAuthorizedNetworksConfig *MasterAuthorizedNetworksConfig `json:"masterAuthorizedNetworksConfig,omitempty"` + // MonitoringService: The monitoring service the cluster should use to // write metrics. // Currently available options: @@ -550,6 +636,12 @@ type ClusterUpdate struct { // This list must always include the cluster's primary zone. DesiredLocations []string `json:"desiredLocations,omitempty"` + // DesiredMasterAuthorizedNetworksConfig: Master authorized networks is + // a Beta feature. + // The desired configuration options for master authorized networks + // feature. + DesiredMasterAuthorizedNetworksConfig *MasterAuthorizedNetworksConfig `json:"desiredMasterAuthorizedNetworksConfig,omitempty"` + // DesiredMasterVersion: The Kubernetes version to change the master to. // The only valid value is the // latest supported version. Use "-" to have the server automatically @@ -676,6 +768,47 @@ func (s *CreateNodePoolRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// DailyMaintenanceWindow: Time window specified for daily maintenance +// operations. +type DailyMaintenanceWindow struct { + // Duration: [Output only] Duration of the time window, automatically + // chosen to be + // smallest possible in the given scenario. + // Duration will be in + // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) + // format "PTnHnMnS". + Duration string `json:"duration,omitempty"` + + // StartTime: Time within the maintenance window to start the + // maintenance operations. + // Time format should be in + // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) + // format "HH:MM”, where HH : [00-23] and MM : [00-59] GMT. + StartTime string `json:"startTime,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Duration") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DailyMaintenanceWindow) MarshalJSON() ([]byte, error) { + type noMethod DailyMaintenanceWindow + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Empty: A generic empty message that you can re-use to avoid defining // duplicated // empty messages in your APIs. A typical example is to use it as the @@ -768,28 +901,43 @@ func (s *HttpLoadBalancing) MarshalJSON() ([]byte, error) { // IPAllocationPolicy: Configuration for controlling how IPs are // allocated in the cluster. type IPAllocationPolicy struct { - // ClusterIpv4Cidr: The IP address range for the cluster pod IPs. If - // this field is set, then + // ClusterIpv4Cidr: This field is deprecated, use + // cluster_ipv4_cidr_block. + ClusterIpv4Cidr string `json:"clusterIpv4Cidr,omitempty"` + + // ClusterIpv4CidrBlock: The IP address range for the cluster pod IPs. + // If this field is set, then // `cluster.cluster_ipv4_cidr` must be left blank. // // This field is only applicable when `use_ip_aliases` is true. // - // Set to blank to have a range will be chosen with the default - // size. + // Set to blank to have a range chosen with the default size. // - // Set to /netmask (e.g. `/14`) to have a range be chosen with a + // Set to /netmask (e.g. `/14`) to have a range chosen with a // specific // netmask. // - // Set to a + // Set to + // a // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) - // no - // tation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks + // + // notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks // (e.g. // `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific // range // to use. - ClusterIpv4Cidr string `json:"clusterIpv4Cidr,omitempty"` + ClusterIpv4CidrBlock string `json:"clusterIpv4CidrBlock,omitempty"` + + // ClusterSecondaryRangeName: The name of the secondary range to be used + // for the cluster CIDR + // block. The secondary range will be used for pod IP + // addresses. This must be an existing secondary range associated + // with the cluster subnetwork. + // + // This field is only applicable with use_ip_aliases is true + // and + // create_subnetwork is false. + ClusterSecondaryRangeName string `json:"clusterSecondaryRangeName,omitempty"` // CreateSubnetwork: Whether a new subnetwork will be created // automatically for the cluster. @@ -797,54 +945,72 @@ type IPAllocationPolicy struct { // This field is only applicable when `use_ip_aliases` is true. CreateSubnetwork bool `json:"createSubnetwork,omitempty"` - // NodeIpv4Cidr: The IP address range of the instance IPs in this + // NodeIpv4Cidr: This field is deprecated, use node_ipv4_cidr_block. + NodeIpv4Cidr string `json:"nodeIpv4Cidr,omitempty"` + + // NodeIpv4CidrBlock: The IP address range of the instance IPs in this // cluster. // // This is applicable only if `create_subnetwork` is true. // - // Set to blank to have a range will be chosen with the default - // size. + // Set to blank to have a range chosen with the default size. // - // Set to /netmask (e.g. `/14`) to have a range be chosen with a + // Set to /netmask (e.g. `/14`) to have a range chosen with a // specific // netmask. // - // Set to a + // Set to + // a // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) - // no - // tation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks + // + // notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks // (e.g. // `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific // range // to use. - NodeIpv4Cidr string `json:"nodeIpv4Cidr,omitempty"` + NodeIpv4CidrBlock string `json:"nodeIpv4CidrBlock,omitempty"` - // ServicesIpv4Cidr: The IP address range of the services IPs in this - // cluster. If blank, a range + // ServicesIpv4Cidr: This field is deprecated, use + // services_ipv4_cidr_block. + ServicesIpv4Cidr string `json:"servicesIpv4Cidr,omitempty"` + + // ServicesIpv4CidrBlock: The IP address range of the services IPs in + // this cluster. If blank, a range // will be automatically chosen with the default size. // // This field is only applicable when `use_ip_aliases` is true. // - // Set to blank to have a range will be chosen with the default - // size. + // Set to blank to have a range chosen with the default size. // - // Set to /netmask (e.g. `/14`) to have a range be chosen with a + // Set to /netmask (e.g. `/14`) to have a range chosen with a // specific // netmask. // - // Set to a + // Set to + // a // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) - // no - // tation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks + // + // notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks // (e.g. // `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific // range // to use. - ServicesIpv4Cidr string `json:"servicesIpv4Cidr,omitempty"` + ServicesIpv4CidrBlock string `json:"servicesIpv4CidrBlock,omitempty"` + + // ServicesSecondaryRangeName: The name of the secondary range to be + // used as for the services + // CIDR block. The secondary range will be used for service + // ClusterIPs. This must be an existing secondary range associated + // with the cluster subnetwork. + // + // This field is only applicable with use_ip_aliases is true + // and + // create_subnetwork is false. + ServicesSecondaryRangeName string `json:"servicesSecondaryRangeName,omitempty"` // SubnetworkName: A custom subnetwork name to be used if // `create_subnetwork` is true. If - // this field is empty, then an automatic name will choosen for the + // this field is empty, then an automatic name will be chosen for the // new // subnetwork. SubnetworkName string `json:"subnetworkName,omitempty"` @@ -877,6 +1043,35 @@ func (s *IPAllocationPolicy) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// KubernetesDashboard: Configuration for the Kubernetes Dashboard. +type KubernetesDashboard struct { + // Disabled: Whether the Kubernetes Dashboard is enabled for this + // cluster. + Disabled bool `json:"disabled,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Disabled") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Disabled") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *KubernetesDashboard) MarshalJSON() ([]byte, error) { + type noMethod KubernetesDashboard + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // LegacyAbac: Configuration for the legacy Attribute Based Access // Control authorization // mode. @@ -1025,6 +1220,68 @@ func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// MaintenancePolicy: MaintenancePolicy defines the maintenance policy +// to be used for the cluster. +type MaintenancePolicy struct { + // Window: Specifies the maintenance window in which maintenance may be + // performed. + Window *MaintenanceWindow `json:"window,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Window") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Window") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *MaintenancePolicy) MarshalJSON() ([]byte, error) { + type noMethod MaintenancePolicy + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// MaintenanceWindow: MaintenanceWindow defines the maintenance window +// to be used for the cluster. +type MaintenanceWindow struct { + // DailyMaintenanceWindow: DailyMaintenanceWindow specifies a daily + // maintenance operation window. + DailyMaintenanceWindow *DailyMaintenanceWindow `json:"dailyMaintenanceWindow,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "DailyMaintenanceWindow") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DailyMaintenanceWindow") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *MaintenanceWindow) MarshalJSON() ([]byte, error) { + type noMethod MaintenanceWindow + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // MasterAuth: The authentication information for accessing the master // endpoint. // Authentication can be done using HTTP basic auth or using @@ -1091,6 +1348,47 @@ func (s *MasterAuth) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// MasterAuthorizedNetworksConfig: Master authorized networks is a Beta +// feature. +// Configuration options for the master authorized networks feature. +// Enabled +// master authorized networks will disallow all external traffic to +// access +// Kubernetes master through HTTPS except traffic from the given CIDR +// blocks, +// Google Compute Engine Public IPs and Google Prod IPs. +type MasterAuthorizedNetworksConfig struct { + // CidrBlocks: cidr_blocks define up to 10 external networks that could + // access + // Kubernetes master through HTTPS. + CidrBlocks []*CidrBlock `json:"cidrBlocks,omitempty"` + + // Enabled: Whether or not master authorized networks is enabled. + Enabled bool `json:"enabled,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CidrBlocks") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CidrBlocks") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *MasterAuthorizedNetworksConfig) MarshalJSON() ([]byte, error) { + type noMethod MasterAuthorizedNetworksConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // NetworkPolicy: Configuration options for the NetworkPolicy // feature. // https://kubernetes.io/docs/concepts/services-networking/netwo @@ -1102,7 +1400,7 @@ type NetworkPolicy struct { // Provider: The selected network policy provider. // // Possible values: - // "UNKNOWN" - Not set + // "PROVIDER_UNSPECIFIED" - Not set // "CALICO" - Tigera (Calico Felix). Provider string `json:"provider,omitempty"` @@ -1129,8 +1427,47 @@ func (s *NetworkPolicy) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// NetworkPolicyConfig: Configuration for NetworkPolicy. This only +// tracks whether the addon +// is enabled or not on the Master, it does not track whether network +// policy +// is enabled for the nodes. +type NetworkPolicyConfig struct { + // Disabled: Whether NetworkPolicy is enabled for this cluster. + Disabled bool `json:"disabled,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Disabled") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Disabled") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NetworkPolicyConfig) MarshalJSON() ([]byte, error) { + type noMethod NetworkPolicyConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // NodeConfig: Parameters that describe the nodes in a cluster. type NodeConfig struct { + // Accelerators: A list of hardware accelerators to be attached to each + // node. + // See https://cloud.google.com/compute/docs/gpus for more information + // about + // support for GPUs. + Accelerators []*AcceleratorConfig `json:"accelerators,omitempty"` + // DiskSizeGb: Size of the disk attached to each node, specified in // GB. // The smallest allowed disk size is 10GB. @@ -1154,7 +1491,8 @@ type NodeConfig struct { // and conflicts should be avoided. // For more information, including usage and the valid values, // see: - // http://kubernetes.io/v1.1/docs/user-guide/labels.html + // https://kubernetes.io/docs/concepts/overview/working-with-objects + // /labels/ Labels map[string]string `json:"labels,omitempty"` // LocalSsdCount: The number of local SSD disks to be attached to the @@ -1201,6 +1539,20 @@ type NodeConfig struct { // The total size of all keys and values must be less than 512 KB. Metadata map[string]string `json:"metadata,omitempty"` + // MinCpuPlatform: Minimum CPU platform to be used by this instance. The + // instance may be + // scheduled on the specified or newer CPU platform. Applicable values + // are the + // friendly names of CPU platforms, such as + // minCpuPlatform: "Intel Haswell" + // or + // minCpuPlatform: "Intel Sandy Bridge". For + // more + // information, read [how to specify min CPU + // platform](https://cloud.google.com/compute/docs/instances/specify-min- + // cpu-platform) + MinCpuPlatform string `json:"minCpuPlatform,omitempty"` + // OauthScopes: The set of Google API scopes to be made available on all // of the // node VMs under the "default" service account. @@ -1246,7 +1598,7 @@ type NodeConfig struct { // must comply with RFC1035. Tags []string `json:"tags,omitempty"` - // ForceSendFields is a list of field names (e.g. "DiskSizeGb") to + // ForceSendFields is a list of field names (e.g. "Accelerators") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -1254,10 +1606,10 @@ type NodeConfig struct { // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DiskSizeGb") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as + // NullFields is a list of field names (e.g. "Accelerators") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` @@ -1468,6 +1820,11 @@ type Operation struct { // Detail: Detailed operation progress, if available. Detail string `json:"detail,omitempty"` + // EndTime: [Output only] The time the operation completed, + // in + // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + EndTime string `json:"endTime,omitempty"` + // Name: The server-assigned ID for the operation. Name string `json:"name,omitempty"` @@ -1490,11 +1847,17 @@ type Operation struct { // "SET_MASTER_AUTH" - Set/generate master auth materials // "SET_NODE_POOL_SIZE" - Set node pool size. // "SET_NETWORK_POLICY" - Updates network policy for a cluster. + // "SET_MAINTENANCE_POLICY" - Set the maintenance policy. OperationType string `json:"operationType,omitempty"` // SelfLink: Server-defined URL for the resource. SelfLink string `json:"selfLink,omitempty"` + // StartTime: [Output only] The time the operation started, + // in + // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + StartTime string `json:"startTime,omitempty"` + // Status: The current status of the operation. // // Possible values: @@ -1781,6 +2144,38 @@ func (s *SetLoggingServiceRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SetMaintenancePolicyRequest: SetMaintenancePolicyRequest sets the +// maintenance policy for a cluster. +type SetMaintenancePolicyRequest struct { + // MaintenancePolicy: The maintenance policy to be set for the cluster. + // An empty field + // clears the existing maintenance policy. + MaintenancePolicy *MaintenancePolicy `json:"maintenancePolicy,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MaintenancePolicy") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "MaintenancePolicy") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *SetMaintenancePolicyRequest) MarshalJSON() ([]byte, error) { + type noMethod SetMaintenancePolicyRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // SetMasterAuthRequest: SetMasterAuthRequest updates the admin password // of a cluster. type SetMasterAuthRequest struct { @@ -4079,6 +4474,160 @@ func (c *ProjectsZonesClustersResourceLabelsCall) Do(opts ...googleapi.CallOptio } +// method id "container.projects.zones.clusters.setMaintenancePolicy": + +type ProjectsZonesClustersSetMaintenancePolicyCall struct { + s *Service + projectId string + zone string + clusterId string + setmaintenancepolicyrequest *SetMaintenancePolicyRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetMaintenancePolicy: Sets the maintenance policy for a cluster. +func (r *ProjectsZonesClustersService) SetMaintenancePolicy(projectId string, zone string, clusterId string, setmaintenancepolicyrequest *SetMaintenancePolicyRequest) *ProjectsZonesClustersSetMaintenancePolicyCall { + c := &ProjectsZonesClustersSetMaintenancePolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.zone = zone + c.clusterId = clusterId + c.setmaintenancepolicyrequest = setmaintenancepolicyrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsZonesClustersSetMaintenancePolicyCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersSetMaintenancePolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsZonesClustersSetMaintenancePolicyCall) Context(ctx context.Context) *ProjectsZonesClustersSetMaintenancePolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsZonesClustersSetMaintenancePolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsZonesClustersSetMaintenancePolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.setmaintenancepolicyrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMaintenancePolicy") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "zone": c.zone, + "clusterId": c.clusterId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.zones.clusters.setMaintenancePolicy" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsZonesClustersSetMaintenancePolicyCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Sets the maintenance policy for a cluster.", + // "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMaintenancePolicy", + // "httpMethod": "POST", + // "id": "container.projects.zones.clusters.setMaintenancePolicy", + // "parameterOrder": [ + // "projectId", + // "zone", + // "clusterId" + // ], + // "parameters": { + // "clusterId": { + // "description": "The name of the cluster to update.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMaintenancePolicy", + // "request": { + // "$ref": "SetMaintenancePolicyRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "container.projects.zones.clusters.setMasterAuth": type ProjectsZonesClustersSetMasterAuthCall struct { diff --git a/vendor/google.golang.org/api/container/v1alpha1/container-api.json b/vendor/google.golang.org/api/container/v1alpha1/container-api.json new file mode 100644 index 000000000..84a18c2d6 --- /dev/null +++ b/vendor/google.golang.org/api/container/v1alpha1/container-api.json @@ -0,0 +1,7 @@ +{ + "error": { + "code": 404, + "message": "Discovery document not found for API service: container.googleapis.com format: rest version: v1alpha1", + "status": "NOT_FOUND" + } +} diff --git a/vendor/google.golang.org/api/container/v1alpha1/container-gen.go b/vendor/google.golang.org/api/container/v1alpha1/container-gen.go new file mode 100644 index 000000000..029b65ba5 --- /dev/null +++ b/vendor/google.golang.org/api/container/v1alpha1/container-gen.go @@ -0,0 +1,65 @@ +// Package container provides access to the . +// +// Usage example: +// +// import "google.golang.org/api/container/v1alpha1" +// ... +// containerService, err := container.New(oauthHttpClient) +package container // import "google.golang.org/api/container/v1alpha1" + +import ( + "bytes" + "encoding/json" + "errors" + "fmt" + context "golang.org/x/net/context" + ctxhttp "golang.org/x/net/context/ctxhttp" + gensupport "google.golang.org/api/gensupport" + googleapi "google.golang.org/api/googleapi" + "io" + "net/http" + "net/url" + "strconv" + "strings" +) + +// Always reference these packages, just in case the auto-generated code +// below doesn't. +var _ = bytes.NewBuffer +var _ = strconv.Itoa +var _ = fmt.Sprintf +var _ = json.NewDecoder +var _ = io.Copy +var _ = url.Parse +var _ = gensupport.MarshalJSON +var _ = googleapi.Version +var _ = errors.New +var _ = strings.Replace +var _ = context.Canceled +var _ = ctxhttp.Do + +const apiId = "" +const apiName = "" +const apiVersion = "" +const basePath = "https://www.googleapis.com/discovery/v1/apis" + +func New(client *http.Client) (*Service, error) { + if client == nil { + return nil, errors.New("client is nil") + } + s := &Service{client: client, BasePath: basePath} + return s, nil +} + +type Service struct { + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment +} + +func (s *Service) userAgent() string { + if s.UserAgent == "" { + return googleapi.UserAgent + } + return googleapi.UserAgent + " " + s.UserAgent +} diff --git a/vendor/google.golang.org/api/container/v1beta1/container-api.json b/vendor/google.golang.org/api/container/v1beta1/container-api.json new file mode 100644 index 000000000..b1be90a0b --- /dev/null +++ b/vendor/google.golang.org/api/container/v1beta1/container-api.json @@ -0,0 +1,3084 @@ +{ + "ownerName": "Google", + "resources": { + "projects": { + "resources": { + "zones": { + "resources": { + "clusters": { + "methods": { + "setMasterAuth": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "projectId", + "zone", + "clusterId" + ], + "httpMethod": "POST", + "parameters": { + "projectId": { + "type": "string", + "required": true, + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead." + }, + "zone": { + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + }, + "clusterId": { + "description": "The name of the cluster to upgrade.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMasterAuth", + "id": "container.projects.zones.clusters.setMasterAuth", + "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMasterAuth", + "description": "Used to set master auth materials. Currently supports :-\nChanging the admin password of a specific cluster.\nThis can be either via password generation or explicitly set.\nModify basic_auth.csv and reset the K8S API server.", + "request": { + "$ref": "SetMasterAuthRequest" + } + }, + "list": { + "description": "Lists all clusters owned by a project in either the specified zone or all\nzones.", + "response": { + "$ref": "ListClustersResponse" + }, + "parameterOrder": [ + "projectId", + "zone" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "projectId": { + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use parent instead.", + "type": "string", + "required": true + }, + "zone": { + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides, or \"-\" for all zones.\nThis field is deprecated, use parent instead.", + "type": "string", + "required": true + }, + "parent": { + "location": "query", + "description": "The parent (project and location) where the clusters will be listed.\nSpecified in the format 'projects/*/locations/*'.\nLocation \"-\" matches all zones and all regions.", + "type": "string" + } + }, + "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters", + "id": "container.projects.zones.clusters.list", + "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters" + }, + "resourceLabels": { + "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/resourceLabels", + "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/resourceLabels", + "id": "container.projects.zones.clusters.resourceLabels", + "request": { + "$ref": "SetLabelsRequest" + }, + "description": "Sets labels on a cluster.", + "httpMethod": "POST", + "parameterOrder": [ + "projectId", + "zone", + "clusterId" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "projectId": { + "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use name instead.", + "type": "string", + "required": true, + "location": "path" + }, + "zone": { + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + }, + "clusterId": { + "location": "path", + "description": "The name of the cluster.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + } + } + }, + "create": { + "request": { + "$ref": "CreateClusterRequest" + }, + "description": "Creates a cluster, consisting of the specified number and type of Google\nCompute Engine instances.\n\nBy default, the cluster is created in the project's\n[default network](/compute/docs/networks-and-firewalls#networks).\n\nOne firewall is added for the cluster. After cluster creation,\nthe cluster creates routes for each node to allow the containers\non that node to communicate with all other instances in the\ncluster.\n\nFinally, an entry is added to the project's global metadata indicating\nwhich CIDR range is being used by the cluster.", + "httpMethod": "POST", + "parameterOrder": [ + "projectId", + "zone" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "projectId": { + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use parent instead.", + "type": "string", + "required": true + }, + "zone": { + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use parent instead.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters", + "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters", + "id": "container.projects.zones.clusters.create" + }, + "completeIpRotation": { + "parameters": { + "projectId": { + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + }, + "zone": { + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + }, + "clusterId": { + "description": "The name of the cluster.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:completeIpRotation", + "id": "container.projects.zones.clusters.completeIpRotation", + "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:completeIpRotation", + "description": "Completes master IP rotation.", + "request": { + "$ref": "CompleteIPRotationRequest" + }, + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "projectId", + "zone", + "clusterId" + ], + "httpMethod": "POST" + }, + "get": { + "response": { + "$ref": "Cluster" + }, + "parameterOrder": [ + "projectId", + "zone", + "clusterId" + ], + "httpMethod": "GET", + "parameters": { + "zone": { + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + }, + "clusterId": { + "description": "The name of the cluster to retrieve.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true, + "location": "path" + }, + "name": { + "description": "The name (project, location, cluster) of the cluster to retrieve.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "type": "string", + "location": "query" + }, + "projectId": { + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", + "id": "container.projects.zones.clusters.get", + "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", + "description": "Gets the details of a specific cluster." + }, + "legacyAbac": { + "httpMethod": "POST", + "parameterOrder": [ + "projectId", + "zone", + "clusterId" + ], + "response": { + "$ref": "Operation" + }, + "parameters": { + "clusterId": { + "location": "path", + "description": "The name of the cluster to update.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + }, + "projectId": { + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + }, + "zone": { + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/legacyAbac", + "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/legacyAbac", + "id": "container.projects.zones.clusters.legacyAbac", + "description": "Enables or disables the ABAC authorization mechanism on a cluster.", + "request": { + "$ref": "SetLegacyAbacRequest" + } + }, + "setNetworkPolicy": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "projectId", + "zone", + "clusterId" + ], + "httpMethod": "POST", + "parameters": { + "zone": { + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true, + "location": "path" + }, + "clusterId": { + "location": "path", + "description": "The name of the cluster.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + }, + "projectId": { + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setNetworkPolicy", + "id": "container.projects.zones.clusters.setNetworkPolicy", + "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setNetworkPolicy", + "description": "Enables/Disables Network Policy for a cluster.", + "request": { + "$ref": "SetNetworkPolicyRequest" + } + }, + "startIpRotation": { + "request": { + "$ref": "StartIPRotationRequest" + }, + "description": "Start master IP rotation.", + "httpMethod": "POST", + "parameterOrder": [ + "projectId", + "zone", + "clusterId" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "projectId": { + "type": "string", + "required": true, + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use name instead." + }, + "zone": { + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + }, + "clusterId": { + "location": "path", + "description": "The name of the cluster.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:startIpRotation", + "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:startIpRotation", + "id": "container.projects.zones.clusters.startIpRotation" + }, + "setMaintenancePolicy": { + "description": "Sets the maintenance policy for a cluster.", + "request": { + "$ref": "SetMaintenancePolicyRequest" + }, + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "projectId", + "zone", + "clusterId" + ], + "httpMethod": "POST", + "parameters": { + "projectId": { + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", + "type": "string", + "required": true, + "location": "path" + }, + "zone": { + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", + "type": "string", + "required": true, + "location": "path" + }, + "clusterId": { + "location": "path", + "description": "The name of the cluster to update.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMaintenancePolicy", + "id": "container.projects.zones.clusters.setMaintenancePolicy", + "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMaintenancePolicy" + }, + "delete": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "projectId", + "zone", + "clusterId" + ], + "httpMethod": "DELETE", + "parameters": { + "name": { + "location": "query", + "description": "The name (project, location, cluster) of the cluster to delete.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "type": "string" + }, + "projectId": { + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + }, + "zone": { + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true, + "location": "path" + }, + "clusterId": { + "type": "string", + "required": true, + "location": "path", + "description": "The name of the cluster to delete.\nThis field is deprecated, use name instead." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", + "id": "container.projects.zones.clusters.delete", + "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", + "description": "Deletes the cluster, including the Kubernetes endpoint and all worker\nnodes.\n\nFirewalls and routes that were configured during cluster creation\nare also deleted.\n\nOther Google Compute Engine resources that might be in use by the cluster\n(e.g. load balancer resources) will not be deleted if they weren't present\nat the initial create time." + }, + "update": { + "request": { + "$ref": "UpdateClusterRequest" + }, + "description": "Updates the settings of a specific cluster.", + "httpMethod": "PUT", + "parameterOrder": [ + "projectId", + "zone", + "clusterId" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "clusterId": { + "type": "string", + "required": true, + "location": "path", + "description": "The name of the cluster to upgrade.\nThis field is deprecated, use name instead." + }, + "projectId": { + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + }, + "zone": { + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", + "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", + "id": "container.projects.zones.clusters.update" + } + }, + "resources": { + "nodePools": { + "methods": { + "get": { + "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}", + "id": "container.projects.zones.clusters.nodePools.get", + "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}", + "description": "Retrieves the node pool requested.", + "response": { + "$ref": "NodePool" + }, + "parameterOrder": [ + "projectId", + "zone", + "clusterId", + "nodePoolId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "projectId": { + "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use name instead.", + "type": "string", + "required": true, + "location": "path" + }, + "zone": { + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true, + "location": "path" + }, + "clusterId": { + "location": "path", + "description": "The name of the cluster.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + }, + "nodePoolId": { + "description": "The name of the node pool.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true, + "location": "path" + }, + "name": { + "type": "string", + "location": "query", + "description": "The name (project, location, cluster, node pool id) of the node pool to get.\nSpecified in the format 'projects/*/locations/*/clusters/*/nodePools/*'." + } + } + }, + "delete": { + "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}", + "id": "container.projects.zones.clusters.nodePools.delete", + "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}", + "description": "Deletes a node pool from a cluster.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "projectId", + "zone", + "clusterId", + "nodePoolId" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "projectId": { + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + }, + "zone": { + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + }, + "clusterId": { + "description": "The name of the cluster.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true, + "location": "path" + }, + "nodePoolId": { + "description": "The name of the node pool to delete.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true, + "location": "path" + }, + "name": { + "description": "The name (project, location, cluster, node pool id) of the node pool to delete.\nSpecified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.", + "type": "string", + "location": "query" + } + } + }, + "setManagement": { + "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setManagement", + "id": "container.projects.zones.clusters.nodePools.setManagement", + "request": { + "$ref": "SetNodePoolManagementRequest" + }, + "description": "Sets the NodeManagement options for a node pool.", + "httpMethod": "POST", + "parameterOrder": [ + "projectId", + "zone", + "clusterId", + "nodePoolId" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "zone": { + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + }, + "clusterId": { + "description": "The name of the cluster to update.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true, + "location": "path" + }, + "nodePoolId": { + "location": "path", + "description": "The name of the node pool to update.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + }, + "projectId": { + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setManagement" + }, + "list": { + "response": { + "$ref": "ListNodePoolsResponse" + }, + "parameterOrder": [ + "projectId", + "zone", + "clusterId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "projectId": { + "type": "string", + "required": true, + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use parent instead." + }, + "zone": { + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use parent instead.", + "type": "string", + "required": true, + "location": "path" + }, + "parent": { + "location": "query", + "description": "The parent (project, location, cluster id) where the node pools will be listed.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "type": "string" + }, + "clusterId": { + "description": "The name of the cluster.\nThis field is deprecated, use parent instead.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools", + "id": "container.projects.zones.clusters.nodePools.list", + "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools", + "description": "Lists the node pools for a cluster." + }, + "rollback": { + "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}:rollback", + "id": "container.projects.zones.clusters.nodePools.rollback", + "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}:rollback", + "request": { + "$ref": "RollbackNodePoolUpgradeRequest" + }, + "description": "Roll back the previously Aborted or Failed NodePool upgrade.\nThis will be an no-op if the last upgrade successfully completed.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "projectId", + "zone", + "clusterId", + "nodePoolId" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "projectId": { + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + }, + "zone": { + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true, + "location": "path" + }, + "clusterId": { + "description": "The name of the cluster to rollback.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true, + "location": "path" + }, + "nodePoolId": { + "location": "path", + "description": "The name of the node pool to rollback.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + } + } + }, + "create": { + "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools", + "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools", + "id": "container.projects.zones.clusters.nodePools.create", + "description": "Creates a node pool for a cluster.", + "request": { + "$ref": "CreateNodePoolRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "projectId", + "zone", + "clusterId" + ], + "response": { + "$ref": "Operation" + }, + "parameters": { + "projectId": { + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use parent instead.", + "type": "string", + "required": true + }, + "zone": { + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use parent instead.", + "type": "string", + "required": true, + "location": "path" + }, + "clusterId": { + "description": "The name of the cluster.\nThis field is deprecated, use parent instead.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "operations": { + "methods": { + "get": { + "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/operations/{operationId}", + "path": "v1beta1/projects/{projectId}/zones/{zone}/operations/{operationId}", + "id": "container.projects.zones.operations.get", + "description": "Gets the specified operation.", + "httpMethod": "GET", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "projectId", + "zone", + "operationId" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "location": "query", + "description": "The name (project, location, operation id) of the operation to get.\nSpecified in the format 'projects/*/locations/*/operations/*'.", + "type": "string" + }, + "operationId": { + "type": "string", + "required": true, + "location": "path", + "description": "The server-assigned `name` of the operation.\nThis field is deprecated, use name instead." + }, + "projectId": { + "type": "string", + "required": true, + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead." + }, + "zone": { + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true, + "location": "path" + } + } + }, + "list": { + "id": "container.projects.zones.operations.list", + "path": "v1beta1/projects/{projectId}/zones/{zone}/operations", + "description": "Lists all operations in a project in a specific zone or all zones.", + "parameterOrder": [ + "projectId", + "zone" + ], + "httpMethod": "GET", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "zone": { + "location": "path", + "description": "The name of the Google Compute Engine [zone](/compute/docs/zones#available)\nto return operations for, or `-` for all zones.\nThis field is deprecated, use parent instead.", + "type": "string", + "required": true + }, + "parent": { + "description": "The parent (project and location) where the operations will be listed.\nSpecified in the format 'projects/*/locations/*'.\nLocation \"-\" matches all zones and all regions.", + "type": "string", + "location": "query" + }, + "projectId": { + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use parent instead.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/operations" + }, + "cancel": { + "request": { + "$ref": "CancelOperationRequest" + }, + "description": "Cancels the specified operation.", + "httpMethod": "POST", + "parameterOrder": [ + "projectId", + "zone", + "operationId" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "operationId": { + "location": "path", + "description": "The server-assigned `name` of the operation.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + }, + "projectId": { + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + }, + "zone": { + "location": "path", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the operation resides.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/operations/{operationId}:cancel", + "path": "v1beta1/projects/{projectId}/zones/{zone}/operations/{operationId}:cancel", + "id": "container.projects.zones.operations.cancel" + } + } + } + }, + "methods": { + "getServerconfig": { + "description": "Returns configuration info about the Container Engine service.", + "response": { + "$ref": "ServerConfig" + }, + "parameterOrder": [ + "projectId", + "zone" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "zone": { + "location": "path", + "description": "The name of the Google Compute Engine [zone](/compute/docs/zones#available)\nto return operations for.\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + }, + "name": { + "description": "The name (project and location) of the server config to get\nSpecified in the format 'projects/*/locations/*'.", + "type": "string", + "location": "query" + }, + "projectId": { + "location": "path", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/serverconfig", + "id": "container.projects.zones.getServerconfig", + "path": "v1beta1/projects/{projectId}/zones/{zone}/serverconfig" + } + } + }, + "locations": { + "methods": { + "getServerConfig": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "projectId": { + "type": "string", + "location": "query", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead." + }, + "zone": { + "type": "string", + "location": "query", + "description": "The name of the Google Compute Engine [zone](/compute/docs/zones#available)\nto return operations for.\nThis field is deprecated, use name instead." + }, + "name": { + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path", + "description": "The name (project and location) of the server config to get\nSpecified in the format 'projects/*/locations/*'.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverConfig", + "path": "v1beta1/{+name}/serverConfig", + "id": "container.projects.locations.getServerConfig", + "description": "Returns configuration info about the Container Engine service.", + "httpMethod": "GET", + "response": { + "$ref": "ServerConfig" + }, + "parameterOrder": [ + "name" + ] + } + }, + "resources": { + "clusters": { + "methods": { + "update": { + "description": "Updates the settings of a specific cluster.", + "request": { + "$ref": "UpdateClusterRequest" + }, + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PUT", + "parameters": { + "name": { + "location": "path", + "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}", + "id": "container.projects.locations.clusters.update", + "path": "v1beta1/{+name}" + }, + "setMasterAuth": { + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + "location": "path", + "description": "The name (project, location, cluster) of the cluster to set auth.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setMasterAuth", + "path": "v1beta1/{+name}:setMasterAuth", + "id": "container.projects.locations.clusters.setMasterAuth", + "request": { + "$ref": "SetMasterAuthRequest" + }, + "description": "Used to set master auth materials. Currently supports :-\nChanging the admin password of a specific cluster.\nThis can be either via password generation or explicitly set.\nModify basic_auth.csv and reset the K8S API server." + }, + "list": { + "response": { + "$ref": "ListClustersResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "projectId": { + "location": "query", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use parent instead.", + "type": "string" + }, + "zone": { + "location": "query", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides, or \"-\" for all zones.\nThis field is deprecated, use parent instead.", + "type": "string" + }, + "parent": { + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path", + "description": "The parent (project and location) where the clusters will be listed.\nSpecified in the format 'projects/*/locations/*'.\nLocation \"-\" matches all zones and all regions.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters", + "id": "container.projects.locations.clusters.list", + "path": "v1beta1/{+parent}/clusters", + "description": "Lists all clusters owned by a project in either the specified zone or all\nzones." + }, + "create": { + "request": { + "$ref": "CreateClusterRequest" + }, + "description": "Creates a cluster, consisting of the specified number and type of Google\nCompute Engine instances.\n\nBy default, the cluster is created in the project's\n[default network](/compute/docs/networks-and-firewalls#networks).\n\nOne firewall is added for the cluster. After cluster creation,\nthe cluster creates routes for each node to allow the containers\non that node to communicate with all other instances in the\ncluster.\n\nFinally, an entry is added to the project's global metadata indicating\nwhich CIDR range is being used by the cluster.", + "httpMethod": "POST", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "parent": { + "description": "The parent (project and location) where the cluster will be created.\nSpecified in the format 'projects/*/locations/*'.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters", + "path": "v1beta1/{+parent}/clusters", + "id": "container.projects.locations.clusters.create" + }, + "completeIpRotation": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name (project, location, cluster id) of the cluster to complete IP rotation.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:completeIpRotation", + "id": "container.projects.locations.clusters.completeIpRotation", + "path": "v1beta1/{+name}:completeIpRotation", + "description": "Completes master IP rotation.", + "request": { + "$ref": "CompleteIPRotationRequest" + } + }, + "setNetworkPolicy": { + "id": "container.projects.locations.clusters.setNetworkPolicy", + "path": "v1beta1/{+name}:setNetworkPolicy", + "description": "Enables/Disables Network Policy for a cluster.", + "request": { + "$ref": "SetNetworkPolicyRequest" + }, + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "parameters": { + "name": { + "location": "path", + "description": "The name (project, location, cluster id) of the cluster to set networking policy.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setNetworkPolicy" + }, + "get": { + "response": { + "$ref": "Cluster" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "projectId": { + "type": "string", + "location": "query", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead." + }, + "zone": { + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + "type": "string", + "location": "query" + }, + "clusterId": { + "location": "query", + "description": "The name of the cluster to retrieve.\nThis field is deprecated, use name instead.", + "type": "string" + }, + "name": { + "description": "The name (project, location, cluster) of the cluster to retrieve.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}", + "id": "container.projects.locations.clusters.get", + "path": "v1beta1/{+name}", + "description": "Gets the details of a specific cluster." + }, + "startIpRotation": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + "location": "path", + "description": "The name (project, location, cluster id) of the cluster to start IP rotation.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:startIpRotation", + "id": "container.projects.locations.clusters.startIpRotation", + "path": "v1beta1/{+name}:startIpRotation", + "request": { + "$ref": "StartIPRotationRequest" + }, + "description": "Start master IP rotation." + }, + "setMaintenancePolicy": { + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Operation" + }, + "parameters": { + "name": { + "location": "path", + "description": "The name (project, location, cluster id) of the cluster to set maintenance\npolicy.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setMaintenancePolicy", + "path": "v1beta1/{+name}:setMaintenancePolicy", + "id": "container.projects.locations.clusters.setMaintenancePolicy", + "description": "Sets the maintenance policy for a cluster.", + "request": { + "$ref": "SetMaintenancePolicyRequest" + } + }, + "delete": { + "description": "Deletes the cluster, including the Kubernetes endpoint and all worker\nnodes.\n\nFirewalls and routes that were configured during cluster creation\nare also deleted.\n\nOther Google Compute Engine resources that might be in use by the cluster\n(e.g. load balancer resources) will not be deleted if they weren't present\nat the initial create time.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "description": "The name (project, location, cluster) of the cluster to delete.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + "location": "path" + }, + "projectId": { + "location": "query", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + "type": "string" + }, + "zone": { + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + "type": "string", + "location": "query" + }, + "clusterId": { + "location": "query", + "description": "The name of the cluster to delete.\nThis field is deprecated, use name instead.", + "type": "string" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}", + "id": "container.projects.locations.clusters.delete", + "path": "v1beta1/{+name}" + }, + "setResourceLabels": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "description": "The name (project, location, cluster id) of the cluster to set labels.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setResourceLabels", + "id": "container.projects.locations.clusters.setResourceLabels", + "path": "v1beta1/{+name}:setResourceLabels", + "request": { + "$ref": "SetLabelsRequest" + }, + "description": "Sets labels on a cluster." + }, + "setLegacyAbac": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "parameters": { + "name": { + "location": "path", + "description": "The name (project, location, cluster id) of the cluster to set legacy abac.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setLegacyAbac", + "id": "container.projects.locations.clusters.setLegacyAbac", + "path": "v1beta1/{+name}:setLegacyAbac", + "description": "Enables or disables the ABAC authorization mechanism on a cluster.", + "request": { + "$ref": "SetLegacyAbacRequest" + } + } + }, + "resources": { + "nodePools": { + "methods": { + "get": { + "description": "Retrieves the node pool requested.", + "response": { + "$ref": "NodePool" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "nodePoolId": { + "description": "The name of the node pool.\nThis field is deprecated, use name instead.", + "type": "string", + "location": "query" + }, + "name": { + "location": "path", + "description": "The name (project, location, cluster, node pool id) of the node pool to get.\nSpecified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$" + }, + "projectId": { + "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use name instead.", + "type": "string", + "location": "query" + }, + "zone": { + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + "type": "string", + "location": "query" + }, + "clusterId": { + "type": "string", + "location": "query", + "description": "The name of the cluster.\nThis field is deprecated, use name instead." + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}", + "id": "container.projects.locations.clusters.nodePools.get", + "path": "v1beta1/{+name}" + }, + "setManagement": { + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Operation" + }, + "parameters": { + "name": { + "description": "The name (project, location, cluster, node pool id) of the node pool to set\nmanagement properties. Specified in the format\n'projects/*/locations/*/clusters/*/nodePools/*'.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}:setManagement", + "path": "v1beta1/{+name}:setManagement", + "id": "container.projects.locations.clusters.nodePools.setManagement", + "description": "Sets the NodeManagement options for a node pool.", + "request": { + "$ref": "SetNodePoolManagementRequest" + } + }, + "delete": { + "description": "Deletes a node pool from a cluster.", + "httpMethod": "DELETE", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Operation" + }, + "parameters": { + "zone": { + "location": "query", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + "type": "string" + }, + "clusterId": { + "location": "query", + "description": "The name of the cluster.\nThis field is deprecated, use name instead.", + "type": "string" + }, + "nodePoolId": { + "location": "query", + "description": "The name of the node pool to delete.\nThis field is deprecated, use name instead.", + "type": "string" + }, + "name": { + "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$", + "location": "path", + "description": "The name (project, location, cluster, node pool id) of the node pool to delete.\nSpecified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.", + "type": "string", + "required": true + }, + "projectId": { + "location": "query", + "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use name instead.", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}", + "path": "v1beta1/{+name}", + "id": "container.projects.locations.clusters.nodePools.delete" + }, + "list": { + "description": "Lists the node pools for a cluster.", + "httpMethod": "GET", + "response": { + "$ref": "ListNodePoolsResponse" + }, + "parameterOrder": [ + "parent" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "projectId": { + "type": "string", + "location": "query", + "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use parent instead." + }, + "zone": { + "location": "query", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use parent instead.", + "type": "string" + }, + "clusterId": { + "location": "query", + "description": "The name of the cluster.\nThis field is deprecated, use parent instead.", + "type": "string" + }, + "parent": { + "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + "location": "path", + "description": "The parent (project, location, cluster id) where the node pools will be listed.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools", + "path": "v1beta1/{+parent}/nodePools", + "id": "container.projects.locations.clusters.nodePools.list" + }, + "rollback": { + "request": { + "$ref": "RollbackNodePoolUpgradeRequest" + }, + "description": "Roll back the previously Aborted or Failed NodePool upgrade.\nThis will be an no-op if the last upgrade successfully completed.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "location": "path", + "description": "The name (project, location, cluster, node pool id) of the node poll to\nrollback upgrade.\nSpecified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}:rollback", + "id": "container.projects.locations.clusters.nodePools.rollback", + "path": "v1beta1/{+name}:rollback" + }, + "create": { + "request": { + "$ref": "CreateNodePoolRequest" + }, + "description": "Creates a node pool for a cluster.", + "httpMethod": "POST", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "parent": { + "description": "The parent (project, location, cluster id) where the node pool will be created.\nSpecified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools", + "path": "v1beta1/{+parent}/nodePools", + "id": "container.projects.locations.clusters.nodePools.create" + } + } + } + } + }, + "operations": { + "methods": { + "cancel": { + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Empty" + }, + "parameters": { + "name": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "location": "path", + "description": "The name (project, location, operation id) of the operation to cancel.\nSpecified in the format 'projects/*/locations/*/operations/*'." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "path": "v1beta1/{+name}:cancel", + "id": "container.projects.locations.operations.cancel", + "description": "Cancels the specified operation.", + "request": { + "$ref": "CancelOperationRequest" + } + }, + "get": { + "httpMethod": "GET", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name (project, location, operation id) of the operation to get.\nSpecified in the format 'projects/*/locations/*/operations/*'.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "location": "path" + }, + "operationId": { + "description": "The server-assigned `name` of the operation.\nThis field is deprecated, use name instead.", + "type": "string", + "location": "query" + }, + "projectId": { + "location": "query", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + "type": "string" + }, + "zone": { + "location": "query", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "path": "v1beta1/{+name}", + "id": "container.projects.locations.operations.get", + "description": "Gets the specified operation." + }, + "list": { + "description": "Lists all operations in a project in a specific zone or all zones.", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "ListOperationsResponse" + }, + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "projectId": { + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use parent instead.", + "type": "string", + "location": "query" + }, + "zone": { + "location": "query", + "description": "The name of the Google Compute Engine [zone](/compute/docs/zones#available)\nto return operations for, or `-` for all zones.\nThis field is deprecated, use parent instead.", + "type": "string" + }, + "parent": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path", + "description": "The parent (project and location) where the operations will be listed.\nSpecified in the format 'projects/*/locations/*'.\nLocation \"-\" matches all zones and all regions." + } + }, + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations", + "id": "container.projects.locations.operations.list", + "path": "v1beta1/{+parent}/operations" + } + } + } + } + } + } + } + }, + "parameters": { + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string", + "location": "query" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", + "location": "query" + }, + "uploadType": { + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" + }, + "$.xgafv": { + "description": "V1 error format.", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ] + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, + "alt": { + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ] + }, + "key": { + "type": "string", + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token." + }, + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, + "quotaUser": { + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string" + }, + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", + "location": "query" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + } + }, + "version": "v1beta1", + "baseUrl": "https://container.googleapis.com/", + "servicePath": "", + "description": "The Google Container Engine API is used for building and managing container based applications, powered by the open source Kubernetes technology.", + "kind": "discovery#restDescription", + "basePath": "", + "id": "container:v1beta1", + "documentationLink": "https://cloud.google.com/container-engine/", + "revision": "20170915", + "discoveryVersion": "v1", + "version_module": true, + "schemas": { + "NodeManagement": { + "description": "NodeManagement defines the set of node management services turned on for the\nnode pool.", + "type": "object", + "properties": { + "autoRepair": { + "description": "Whether the nodes will be automatically repaired.", + "type": "boolean" + }, + "autoUpgrade": { + "description": "Whether the nodes will be automatically upgraded.", + "type": "boolean" + }, + "upgradeOptions": { + "$ref": "AutoUpgradeOptions", + "description": "Specifies the Auto Upgrade knobs for the node pool." + } + }, + "id": "NodeManagement" + }, + "NodeTaint": { + "description": "Kubernetes taint is comprised of three fields: key, value, and effect. Effect\ncan only be one of three types: NoSchedule, PreferNoSchedule or NoExecute.\n\nFor more information, including usage and the valid values, see:\nhttps://kubernetes.io/docs/concepts/configuration/taint-and-toleration/", + "type": "object", + "properties": { + "key": { + "description": "Key for taint.", + "type": "string" + }, + "effect": { + "enumDescriptions": [ + "NoSchedule", + "PreferNoSchedule", + "NoExecute" + ], + "enum": [ + "NO_SCHEDULE", + "PREFER_NO_SCHEDULE", + "NO_EXECUTE" + ], + "description": "Effect for taint.", + "type": "string" + }, + "value": { + "description": "Value for taint.", + "type": "string" + } + }, + "id": "NodeTaint" + }, + "CancelOperationRequest": { + "type": "object", + "properties": { + "name": { + "description": "The name (project, location, operation id) of the operation to cancel.\nSpecified in the format 'projects/*/locations/*/operations/*'.", + "type": "string" + }, + "operationId": { + "description": "The server-assigned `name` of the operation.\nThis field is deprecated, use name instead.", + "type": "string" + }, + "projectId": { + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + "type": "string" + }, + "zone": { + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the operation resides.\nThis field is deprecated, use name instead.", + "type": "string" + } + }, + "id": "CancelOperationRequest", + "description": "CancelOperationRequest cancels a single operation." + }, + "SetLegacyAbacRequest": { + "description": "SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for\na cluster.", + "type": "object", + "properties": { + "name": { + "description": "The name (project, location, cluster id) of the cluster to set legacy abac.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "type": "string" + }, + "enabled": { + "description": "Whether ABAC authorization will be enabled in the cluster.", + "type": "boolean" + }, + "projectId": { + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + "type": "string" + }, + "zone": { + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + "type": "string" + }, + "clusterId": { + "description": "The name of the cluster to update.\nThis field is deprecated, use name instead.", + "type": "string" + } + }, + "id": "SetLegacyAbacRequest" + }, + "KubernetesDashboard": { + "description": "Configuration for the Kubernetes Dashboard.", + "type": "object", + "properties": { + "disabled": { + "type": "boolean", + "description": "Whether the Kubernetes Dashboard is enabled for this cluster." + } + }, + "id": "KubernetesDashboard" + }, + "Operation": { + "description": "This operation resource represents operations that may have happened or are\nhappening on the cluster. All fields are output only.", + "type": "object", + "properties": { + "selfLink": { + "description": "Server-defined URL for the resource.", + "type": "string" + }, + "detail": { + "type": "string", + "description": "Detailed operation progress, if available." + }, + "targetLink": { + "description": "Server-defined URL for the target of the operation.", + "type": "string" + }, + "location": { + "description": "[Output only] The name of the Google Compute Engine\n[zone](/compute/docs/regions-zones/regions-zones#available) or\n[region](/compute/docs/regions-zones/regions-zones#available) in which\nthe cluster resides.", + "type": "string" + }, + "endTime": { + "description": "[Output only] The time the operation completed, in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", + "type": "string" + }, + "operationType": { + "type": "string", + "enumDescriptions": [ + "Not set.", + "Cluster create.", + "Cluster delete.", + "A master upgrade.", + "A node upgrade.", + "Cluster repair.", + "Cluster update.", + "Node pool create.", + "Node pool delete.", + "Set node pool management.", + "Automatic node pool repair.", + "Automatic node upgrade.", + "Set labels.", + "Set/generate master auth materials", + "Set node pool size.", + "Updates network policy for a cluster.", + "Set the maintenance policy." + ], + "enum": [ + "TYPE_UNSPECIFIED", + "CREATE_CLUSTER", + "DELETE_CLUSTER", + "UPGRADE_MASTER", + "UPGRADE_NODES", + "REPAIR_CLUSTER", + "UPDATE_CLUSTER", + "CREATE_NODE_POOL", + "DELETE_NODE_POOL", + "SET_NODE_POOL_MANAGEMENT", + "AUTO_REPAIR_NODES", + "AUTO_UPGRADE_NODES", + "SET_LABELS", + "SET_MASTER_AUTH", + "SET_NODE_POOL_SIZE", + "SET_NETWORK_POLICY", + "SET_MAINTENANCE_POLICY" + ], + "description": "The operation type." + }, + "startTime": { + "description": "[Output only] The time the operation started, in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", + "type": "string" + }, + "zone": { + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the operation\nis taking place.\nThis field is deprecated, use location instead.", + "type": "string" + }, + "status": { + "description": "The current status of the operation.", + "type": "string", + "enumDescriptions": [ + "Not set.", + "The operation has been created.", + "The operation is currently running.", + "The operation is done, either cancelled or completed.", + "The operation is aborting." + ], + "enum": [ + "STATUS_UNSPECIFIED", + "PENDING", + "RUNNING", + "DONE", + "ABORTING" + ] + }, + "name": { + "description": "The server-assigned ID for the operation.", + "type": "string" + }, + "statusMessage": { + "description": "If an error has occurred, a textual description of the error.", + "type": "string" + } + }, + "id": "Operation" + }, + "AddonsConfig": { + "description": "Configuration for the addons that can be automatically spun up in the\ncluster, enabling additional functionality.", + "type": "object", + "properties": { + "networkPolicyConfig": { + "$ref": "NetworkPolicyConfig", + "description": "Configuration for NetworkPolicy. This only tracks whether the addon\nis enabled or not on the Master, it does not track whether network policy\nis enabled for the nodes." + }, + "horizontalPodAutoscaling": { + "description": "Configuration for the horizontal pod autoscaling feature, which\nincreases or decreases the number of replica pods a replication controller\nhas based on the resource usage of the existing pods.", + "$ref": "HorizontalPodAutoscaling" + }, + "httpLoadBalancing": { + "$ref": "HttpLoadBalancing", + "description": "Configuration for the HTTP (L7) load balancing controller addon, which\nmakes it easy to set up HTTP load balancers for services in a cluster." + }, + "kubernetesDashboard": { + "description": "Configuration for the Kubernetes Dashboard.", + "$ref": "KubernetesDashboard" + } + }, + "id": "AddonsConfig" + }, + "MaintenanceWindow": { + "type": "object", + "properties": { + "dailyMaintenanceWindow": { + "$ref": "DailyMaintenanceWindow", + "description": "DailyMaintenanceWindow specifies a daily maintenance operation window." + } + }, + "id": "MaintenanceWindow", + "description": "MaintenanceWindow defines the maintenance window to be used for the cluster." + }, + "RollbackNodePoolUpgradeRequest": { + "description": "RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed\nNodePool upgrade. This will be an no-op if the last upgrade successfully\ncompleted.", + "type": "object", + "properties": { + "nodePoolId": { + "type": "string", + "description": "The name of the node pool to rollback.\nThis field is deprecated, use name instead." + }, + "name": { + "description": "The name (project, location, cluster, node pool id) of the node poll to\nrollback upgrade.\nSpecified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.", + "type": "string" + }, + "projectId": { + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + "type": "string" + }, + "zone": { + "type": "string", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead." + }, + "clusterId": { + "description": "The name of the cluster to rollback.\nThis field is deprecated, use name instead.", + "type": "string" + } + }, + "id": "RollbackNodePoolUpgradeRequest" + }, + "UpdateClusterRequest": { + "description": "UpdateClusterRequest updates the settings of a cluster.", + "type": "object", + "properties": { + "projectId": { + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + "type": "string" + }, + "zone": { + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + "type": "string" + }, + "clusterId": { + "description": "The name of the cluster to upgrade.\nThis field is deprecated, use name instead.", + "type": "string" + }, + "update": { + "$ref": "ClusterUpdate", + "description": "A description of the update." + }, + "name": { + "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "type": "string" + } + }, + "id": "UpdateClusterRequest" + }, + "NetworkPolicyConfig": { + "description": "Configuration for NetworkPolicy. This only tracks whether the addon\nis enabled or not on the Master, it does not track whether network policy\nis enabled for the nodes.", + "type": "object", + "properties": { + "disabled": { + "description": "Whether NetworkPolicy is enabled for this cluster.", + "type": "boolean" + } + }, + "id": "NetworkPolicyConfig" + }, + "NetworkPolicy": { + "description": "Configuration options for the NetworkPolicy feature.\nhttps://kubernetes.io/docs/concepts/services-networking/networkpolicies/", + "type": "object", + "properties": { + "enabled": { + "description": "Whether network policy is enabled on the cluster.", + "type": "boolean" + }, + "provider": { + "type": "string", + "enumDescriptions": [ + "Not set", + "Tigera (Calico Felix)." + ], + "enum": [ + "PROVIDER_UNSPECIFIED", + "CALICO" + ], + "description": "The selected network policy provider." + } + }, + "id": "NetworkPolicy" + }, + "Cluster": { + "type": "object", + "properties": { + "clusterIpv4Cidr": { + "type": "string", + "description": "The IP address range of the container pods in this cluster, in\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `10.96.0.0/14`). Leave blank to have\none automatically chosen or specify a `/14` block in `10.0.0.0/8`." + }, + "initialNodeCount": { + "type": "integer", + "format": "int32", + "description": "The number of nodes to create in this cluster. You must ensure that your\nCompute Engine \u003ca href=\"/compute/docs/resource-quotas\"\u003eresource quota\u003c/a\u003e\nis sufficient for this number of instances. You must also have available\nfirewall and routes quota.\nFor requests, this field should only be used in lieu of a\n\"node_pool\" object, since this configuration (along with the\n\"node_config\") will be used to create a \"NodePool\" object with an\nauto-generated name. Do not use this and a node_pool at the same time." + }, + "nodePools": { + "description": "The node pools associated with this cluster.\nThis field should not be set if \"node_config\" or \"initial_node_count\" are\nspecified.", + "items": { + "$ref": "NodePool" + }, + "type": "array" + }, + "locations": { + "description": "The list of Google Compute Engine\n[locations](/compute/docs/zones#available) in which the cluster's nodes\nshould be located.", + "items": { + "type": "string" + }, + "type": "array" + }, + "selfLink": { + "description": "[Output only] Server-defined URL for the resource.", + "type": "string" + }, + "instanceGroupUrls": { + "description": "[Output only] The resource URLs of [instance\ngroups](/compute/docs/instance-groups/) associated with this\ncluster.", + "items": { + "type": "string" + }, + "type": "array" + }, + "servicesIpv4Cidr": { + "description": "[Output only] The IP address range of the Kubernetes services in\nthis cluster, in\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `1.2.3.4/29`). Service addresses are\ntypically put in the last `/16` from the container CIDR.", + "type": "string" + }, + "networkPolicy": { + "description": "Configuration options for the NetworkPolicy feature.", + "$ref": "NetworkPolicy" + }, + "enableKubernetesAlpha": { + "description": "Kubernetes alpha features are enabled on this cluster. This includes alpha\nAPI groups (e.g. v1beta1) and features that may not be production ready in\nthe kubernetes version of the master and nodes.\nThe cluster has no SLA for uptime and master/node upgrades are disabled.\nAlpha enabled clusters are automatically deleted thirty days after\ncreation.", + "type": "boolean" + }, + "description": { + "description": "An optional description of this cluster.", + "type": "string" + }, + "currentNodeCount": { + "format": "int32", + "description": "[Output only] The number of nodes currently in the cluster.", + "type": "integer" + }, + "monitoringService": { + "description": "The monitoring service the cluster should use to write metrics.\nCurrently available options:\n\n* `monitoring.googleapis.com` - the Google Cloud Monitoring service.\n* `none` - no metrics will be exported from the cluster.\n* if left as an empty string, `monitoring.googleapis.com` will be used.", + "type": "string" + }, + "network": { + "type": "string", + "description": "The name of the Google Compute Engine\n[network](/compute/docs/networks-and-firewalls#networks) to which the\ncluster is connected. If left unspecified, the `default` network\nwill be used." + }, + "zone": { + "description": "[Output only] The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use location instead.", + "type": "string" + }, + "expireTime": { + "description": "[Output only] The time the cluster will be automatically\ndeleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", + "type": "string" + }, + "nodeIpv4CidrSize": { + "format": "int32", + "description": "[Output only] The size of the address space on each node for hosting\ncontainers. This is provisioned from within the `container_ipv4_cidr`\nrange.", + "type": "integer" + }, + "loggingService": { + "description": "The logging service the cluster should use to write logs.\nCurrently available options:\n\n* `logging.googleapis.com` - the Google Cloud Logging service.\n* `none` - no logs will be exported from the cluster.\n* if left as an empty string,`logging.googleapis.com` will be used.", + "type": "string" + }, + "masterAuthorizedNetworksConfig": { + "description": "The configuration options for master authorized networks feature.", + "$ref": "MasterAuthorizedNetworksConfig" + }, + "statusMessage": { + "description": "[Output only] Additional information about the current status of this\ncluster, if available.", + "type": "string" + }, + "masterAuth": { + "$ref": "MasterAuth", + "description": "The authentication information for accessing the master endpoint." + }, + "currentMasterVersion": { + "type": "string", + "description": "[Output only] The current software version of the master endpoint." + }, + "nodeConfig": { + "$ref": "NodeConfig", + "description": "Parameters used in creating the cluster's nodes.\nSee `nodeConfig` for the description of its properties.\nFor requests, this field should only be used in lieu of a\n\"node_pool\" object, since this configuration (along with the\n\"initial_node_count\") will be used to create a \"NodePool\" object with an\nauto-generated name. Do not use this and a node_pool at the same time.\nFor responses, this field will be populated with the node configuration of\nthe first node pool.\n\nIf unspecified, the defaults are used." + }, + "addonsConfig": { + "$ref": "AddonsConfig", + "description": "Configurations for the various addons available to run in the cluster." + }, + "status": { + "enumDescriptions": [ + "Not set.", + "The PROVISIONING state indicates the cluster is being created.", + "The RUNNING state indicates the cluster has been created and is fully\nusable.", + "The RECONCILING state indicates that some work is actively being done on\nthe cluster, such as upgrading the master or node software. Details can\nbe found in the `statusMessage` field.", + "The STOPPING state indicates the cluster is being deleted.", + "The ERROR state indicates the cluster may be unusable. Details\ncan be found in the `statusMessage` field." + ], + "enum": [ + "STATUS_UNSPECIFIED", + "PROVISIONING", + "RUNNING", + "RECONCILING", + "STOPPING", + "ERROR" + ], + "description": "[Output only] The current status of this cluster.", + "type": "string" + }, + "currentNodeVersion": { + "description": "[Output only] The current version of the node software components.\nIf they are currently at multiple versions because they're in the process\nof being upgraded, this reflects the minimum version of all nodes.", + "type": "string" + }, + "subnetwork": { + "description": "The name of the Google Compute Engine\n[subnetwork](/compute/docs/subnetworks) to which the\ncluster is connected.", + "type": "string" + }, + "name": { + "description": "The name of this cluster. The name must be unique within this project\nand zone, and can be up to 40 characters with the following restrictions:\n\n* Lowercase letters, numbers, and hyphens only.\n* Must start with a letter.\n* Must end with a number or a letter.", + "type": "string" + }, + "maintenancePolicy": { + "$ref": "MaintenancePolicy", + "description": "Configure the maintenance policy for this cluster." + }, + "initialClusterVersion": { + "description": "The initial Kubernetes version for this cluster. Valid versions are those\nfound in validMasterVersions returned by getServerConfig. The version can\nbe upgraded over time; such upgrades are reflected in\ncurrentMasterVersion and currentNodeVersion.", + "type": "string" + }, + "ipAllocationPolicy": { + "description": "Configuration for cluster IP allocation.", + "$ref": "IPAllocationPolicy" + }, + "location": { + "description": "[Output only] The name of the Google Compute Engine\n[zone](/compute/docs/regions-zones/regions-zones#available) or\n[region](/compute/docs/regions-zones/regions-zones#available) in which\nthe cluster resides.", + "type": "string" + }, + "endpoint": { + "type": "string", + "description": "[Output only] The IP address of this cluster's master endpoint.\nThe endpoint can be accessed from the internet at\n`https://username:password@endpoint/`.\n\nSee the `masterAuth` property of this resource for username and\npassword information." + }, + "createTime": { + "description": "[Output only] The time the cluster was created, in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", + "type": "string" + } + }, + "id": "Cluster", + "description": "A Google Container Engine cluster." + }, + "CreateNodePoolRequest": { + "description": "CreateNodePoolRequest creates a node pool for a cluster.", + "type": "object", + "properties": { + "projectId": { + "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use parent instead.", + "type": "string" + }, + "zone": { + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use parent instead.", + "type": "string" + }, + "parent": { + "description": "The parent (project, location, cluster id) where the node pool will be created.\nSpecified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.", + "type": "string" + }, + "nodePool": { + "$ref": "NodePool", + "description": "The node pool to create." + }, + "clusterId": { + "type": "string", + "description": "The name of the cluster.\nThis field is deprecated, use parent instead." + } + }, + "id": "CreateNodePoolRequest" + }, + "ListOperationsResponse": { + "description": "ListOperationsResponse is the result of ListOperationsRequest.", + "type": "object", + "properties": { + "operations": { + "description": "A list of operations in the project in the specified zone.", + "items": { + "$ref": "Operation" + }, + "type": "array" + }, + "missingZones": { + "description": "If any zones are listed here, the list of operations returned\nmay be missing the operations from those zones.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "ListOperationsResponse" + }, + "CidrBlock": { + "properties": { + "displayName": { + "description": "display_name is an optional field for users to identify CIDR blocks.", + "type": "string" + }, + "cidrBlock": { + "description": "cidr_block must be specified in CIDR notation.", + "type": "string" + } + }, + "id": "CidrBlock", + "description": "CidrBlock contains an optional name and one CIDR block.", + "type": "object" + }, + "ServerConfig": { + "description": "Container Engine service configuration.", + "type": "object", + "properties": { + "validMasterVersions": { + "description": "List of valid master versions.", + "items": { + "type": "string" + }, + "type": "array" + }, + "defaultImageType": { + "description": "Default image type.", + "type": "string" + }, + "defaultClusterVersion": { + "description": "Version of Kubernetes the service deploys by default.", + "type": "string" + }, + "validImageTypes": { + "description": "List of valid image types.", + "items": { + "type": "string" + }, + "type": "array" + }, + "validNodeVersions": { + "items": { + "type": "string" + }, + "type": "array", + "description": "List of valid node upgrade target versions." + } + }, + "id": "ServerConfig" + }, + "NodeConfig": { + "type": "object", + "properties": { + "machineType": { + "description": "The name of a Google Compute Engine [machine\ntype](/compute/docs/machine-types) (e.g.\n`n1-standard-1`).\n\nIf unspecified, the default machine type is\n`n1-standard-1`.", + "type": "string" + }, + "minCpuPlatform": { + "description": "Minimum CPU platform to be used by this instance. The instance may be\nscheduled on the specified or newer CPU platform. Applicable values are the\nfriendly names of CPU platforms, such as\n\u003ccode\u003eminCpuPlatform: "Intel Haswell"\u003c/code\u003e or\n\u003ccode\u003eminCpuPlatform: "Intel Sandy Bridge"\u003c/code\u003e. For more\ninformation, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)", + "type": "string" + }, + "preemptible": { + "type": "boolean", + "description": "Whether the nodes are created as preemptible VM instances. See:\nhttps://cloud.google.com/compute/docs/instances/preemptible for more\ninforamtion about preemptible VM instances." + }, + "localSsdCount": { + "format": "int32", + "description": "The number of local SSD disks to be attached to the node.\n\nThe limit for this value is dependant upon the maximum number of\ndisks available on a machine per zone. See:\nhttps://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits\nfor more information.", + "type": "integer" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "The metadata key/value pairs assigned to instances in the cluster.\n\nKeys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes\nin length. These are reflected as part of a URL in the metadata server.\nAdditionally, to avoid ambiguity, keys must not conflict with any other\nmetadata keys for the project or be one of the four reserved keys:\n\"instance-template\", \"kube-env\", \"startup-script\", and \"user-data\"\n\nValues are free-form strings, and only have meaning as interpreted by\nthe image running in the instance. The only restriction placed on them is\nthat each value's size must be less than or equal to 32 KB.\n\nThe total size of all keys and values must be less than 512 KB.", + "type": "object" + }, + "tags": { + "description": "The list of instance tags applied to all nodes. Tags are used to identify\nvalid sources or targets for network firewalls and are specified by\nthe client during cluster or node pool creation. Each tag within the list\nmust comply with RFC1035.", + "items": { + "type": "string" + }, + "type": "array" + }, + "serviceAccount": { + "description": "The Google Cloud Platform Service Account to be used by the node VMs. If\nno Service Account is specified, the \"default\" service account is used.", + "type": "string" + }, + "imageType": { + "description": "The image type to use for this node. Note that for a given image type,\nthe latest version of it will be used.", + "type": "string" + }, + "oauthScopes": { + "description": "The set of Google API scopes to be made available on all of the\nnode VMs under the \"default\" service account.\n\nThe following scopes are recommended, but not required, and by default are\nnot included:\n\n* `https://www.googleapis.com/auth/compute` is required for mounting\npersistent storage on your nodes.\n* `https://www.googleapis.com/auth/devstorage.read_only` is required for\ncommunicating with **gcr.io**\n(the [Google Container Registry](/container-registry/)).\n\nIf unspecified, no scopes are added, unless Cloud Logging or Cloud\nMonitoring are enabled, in which case their required scopes will be added.", + "items": { + "type": "string" + }, + "type": "array" + }, + "taints": { + "description": "List of kubernetes taints to be applied to each node.\n\nFor more information, including usage and the valid values, see:\nhttps://kubernetes.io/docs/concepts/configuration/taint-and-toleration/", + "items": { + "$ref": "NodeTaint" + }, + "type": "array" + }, + "labels": { + "description": "The map of Kubernetes labels (key/value pairs) to be applied to each node.\nThese will added in addition to any default label(s) that\nKubernetes may apply to the node.\nIn case of conflict in label keys, the applied set may differ depending on\nthe Kubernetes version -- it's best to assume the behavior is undefined\nand conflicts should be avoided.\nFor more information, including usage and the valid values, see:\nhttps://kubernetes.io/docs/concepts/overview/working-with-objects/labels/", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "diskSizeGb": { + "format": "int32", + "description": "Size of the disk attached to each node, specified in GB.\nThe smallest allowed disk size is 10GB.\n\nIf unspecified, the default disk size is 100GB.", + "type": "integer" + }, + "accelerators": { + "description": "A list of hardware accelerators to be attached to each node.\nSee https://cloud.google.com/compute/docs/gpus for more information about\nsupport for GPUs.", + "items": { + "$ref": "AcceleratorConfig" + }, + "type": "array" + } + }, + "id": "NodeConfig", + "description": "Parameters that describe the nodes in a cluster." + }, + "MasterAuth": { + "type": "object", + "properties": { + "clientCertificateConfig": { + "description": "Configuration for client certificate authentication on the cluster. If no\nconfiguration is specified, a client certificate is issued.", + "$ref": "ClientCertificateConfig" + }, + "password": { + "description": "The password to use for HTTP basic authentication to the master endpoint.\nBecause the master endpoint is open to the Internet, you should create a\nstrong password. If a password is provided for cluster creation, username\nmust be non-empty.", + "type": "string" + }, + "clientKey": { + "description": "[Output only] Base64-encoded private key used by clients to authenticate\nto the cluster endpoint.", + "type": "string" + }, + "clusterCaCertificate": { + "description": "[Output only] Base64-encoded public certificate that is the root of\ntrust for the cluster.", + "type": "string" + }, + "clientCertificate": { + "description": "[Output only] Base64-encoded public certificate used by clients to\nauthenticate to the cluster endpoint.", + "type": "string" + }, + "username": { + "type": "string", + "description": "The username to use for HTTP basic authentication to the master endpoint.\nFor clusters v1.6.0 and later, you can disable basic authentication by\nproviding an empty username." + } + }, + "id": "MasterAuth", + "description": "The authentication information for accessing the master endpoint.\nAuthentication can be done using HTTP basic auth or using client\ncertificates." + }, + "DailyMaintenanceWindow": { + "type": "object", + "properties": { + "startTime": { + "description": "Time within the maintenance window to start the maintenance operations.\nIt must be in format \"HH:MM”, where HH : [00-23] and MM : [00-59] GMT.", + "type": "string" + }, + "duration": { + "description": "[Output only] Duration of the time window, automatically chosen to be\nsmallest possible in the given scenario.", + "type": "string" + } + }, + "id": "DailyMaintenanceWindow", + "description": "Time window specified for daily maintenance operations." + }, + "AutoUpgradeOptions": { + "description": "AutoUpgradeOptions defines the set of options for the user to control how\nthe Auto Upgrades will proceed.", + "type": "object", + "properties": { + "autoUpgradeStartTime": { + "description": "[Output only] This field is set when upgrades are about to commence\nwith the approximate start time for the upgrades, in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", + "type": "string" + }, + "description": { + "description": "[Output only] This field is set when upgrades are about to commence\nwith the description of the upgrade.", + "type": "string" + } + }, + "id": "AutoUpgradeOptions" + }, + "ListClustersResponse": { + "description": "ListClustersResponse is the result of ListClustersRequest.", + "type": "object", + "properties": { + "clusters": { + "description": "A list of clusters in the project in the specified zone, or\nacross all ones.", + "items": { + "$ref": "Cluster" + }, + "type": "array" + }, + "missingZones": { + "description": "If any zones are listed here, the list of clusters returned\nmay be missing those zones.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "ListClustersResponse" + }, + "HttpLoadBalancing": { + "type": "object", + "properties": { + "disabled": { + "type": "boolean", + "description": "Whether the HTTP Load Balancing controller is enabled in the cluster.\nWhen enabled, it runs a small pod in the cluster that manages the load\nbalancers." + } + }, + "id": "HttpLoadBalancing", + "description": "Configuration options for the HTTP (L7) load balancing controller addon,\nwhich makes it easy to set up HTTP load balancers for services in a cluster." + }, + "SetNetworkPolicyRequest": { + "description": "SetNetworkPolicyRequest enables/disables network policy for a cluster.", + "type": "object", + "properties": { + "projectId": { + "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use name instead.", + "type": "string" + }, + "zone": { + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + "type": "string" + }, + "clusterId": { + "description": "The name of the cluster.\nThis field is deprecated, use name instead.", + "type": "string" + }, + "networkPolicy": { + "description": "Configuration options for the NetworkPolicy feature.", + "$ref": "NetworkPolicy" + }, + "name": { + "description": "The name (project, location, cluster id) of the cluster to set networking policy.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "type": "string" + } + }, + "id": "SetNetworkPolicyRequest" + }, + "SetMasterAuthRequest": { + "id": "SetMasterAuthRequest", + "description": "SetMasterAuthRequest updates the admin password of a cluster.", + "type": "object", + "properties": { + "name": { + "description": "The name (project, location, cluster) of the cluster to set auth.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "type": "string" + }, + "action": { + "enumDescriptions": [ + "Operation is unknown and will error out", + "Set the password to a user generated value.", + "Generate a new password and set it to that." + ], + "enum": [ + "UNKNOWN", + "SET_PASSWORD", + "GENERATE_PASSWORD" + ], + "description": "The exact form of action to be taken on the master auth", + "type": "string" + }, + "projectId": { + "type": "string", + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead." + }, + "clusterId": { + "description": "The name of the cluster to upgrade.\nThis field is deprecated, use name instead.", + "type": "string" + }, + "update": { + "$ref": "MasterAuth", + "description": "A description of the update." + }, + "zone": { + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + "type": "string" + } + } + }, + "ClientCertificateConfig": { + "description": "Configuration for client certificates on the cluster.", + "type": "object", + "properties": { + "issueClientCertificate": { + "description": "Issue a client certificate.", + "type": "boolean" + } + }, + "id": "ClientCertificateConfig" + }, + "NodePoolAutoscaling": { + "description": "NodePoolAutoscaling contains information required by cluster autoscaler to\nadjust the size of the node pool to the current cluster usage.", + "type": "object", + "properties": { + "maxNodeCount": { + "format": "int32", + "description": "Maximum number of nodes in the NodePool. Must be \u003e= min_node_count. There\nhas to enough quota to scale up the cluster.", + "type": "integer" + }, + "minNodeCount": { + "format": "int32", + "description": "Minimum number of nodes in the NodePool. Must be \u003e= 1 and \u003c=\nmax_node_count.", + "type": "integer" + }, + "enabled": { + "description": "Is autoscaling enabled for this node pool.", + "type": "boolean" + } + }, + "id": "NodePoolAutoscaling" + }, + "MaintenancePolicy": { + "description": "MaintenancePolicy defines the maintenance policy to be used for the cluster.", + "type": "object", + "properties": { + "window": { + "$ref": "MaintenanceWindow", + "description": "Specifies the maintenance window in which maintenance may be performed." + } + }, + "id": "MaintenancePolicy" + }, + "ClusterUpdate": { + "description": "ClusterUpdate describes an update to the cluster. Exactly one update can\nbe applied to a cluster with each request, so at most one field can be\nprovided.", + "type": "object", + "properties": { + "desiredMasterAuthorizedNetworksConfig": { + "$ref": "MasterAuthorizedNetworksConfig", + "description": "The desired configuration options for master authorized networks feature." + }, + "desiredNodePoolAutoscaling": { + "$ref": "NodePoolAutoscaling", + "description": "Autoscaler configuration for the node pool specified in\ndesired_node_pool_id. If there is only one pool in the\ncluster and desired_node_pool_id is not provided then\nthe change applies to that single node pool." + }, + "desiredLocations": { + "description": "The desired list of Google Compute Engine\n[locations](/compute/docs/zones#available) in which the cluster's nodes\nshould be located. Changing the locations a cluster is in will result\nin nodes being either created or removed from the cluster, depending on\nwhether locations are being added or removed.\n\nThis list must always include the cluster's primary zone.", + "items": { + "type": "string" + }, + "type": "array" + }, + "desiredMonitoringService": { + "description": "The monitoring service the cluster should use to write metrics.\nCurrently available options:\n\n* \"monitoring.googleapis.com\" - the Google Cloud Monitoring service\n* \"none\" - no metrics will be exported from the cluster", + "type": "string" + }, + "desiredImageType": { + "description": "The desired image type for the node pool.\nNOTE: Set the \"desired_node_pool\" field as well.", + "type": "string" + }, + "desiredAddonsConfig": { + "$ref": "AddonsConfig", + "description": "Configurations for the various addons available to run in the cluster." + }, + "desiredNodePoolId": { + "description": "The node pool to be upgraded. This field is mandatory if\n\"desired_node_version\", \"desired_image_family\" or\n\"desired_node_pool_autoscaling\" is specified and there is more than one\nnode pool on the cluster.", + "type": "string" + }, + "desiredNodeVersion": { + "description": "The Kubernetes version to change the nodes to (typically an\nupgrade). Use `-` to upgrade to the latest version supported by\nthe server.", + "type": "string" + }, + "desiredMasterVersion": { + "description": "The Kubernetes version to change the master to. The only valid value is the\nlatest supported version. Use \"-\" to have the server automatically select\nthe latest version.", + "type": "string" + } + }, + "id": "ClusterUpdate" + }, + "IPAllocationPolicy": { + "type": "object", + "properties": { + "nodeIpv4CidrBlock": { + "description": "The IP address range of the instance IPs in this cluster.\n\nThis is applicable only if `create_subnetwork` is true.\n\nSet to blank to have a range chosen with the default size.\n\nSet to /netmask (e.g. `/14`) to have a range chosen with a specific\nnetmask.\n\nSet to a\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.\n`10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range\nto use.", + "type": "string" + }, + "servicesIpv4Cidr": { + "description": "This field is deprecated, use services_ipv4_cidr_block.", + "type": "string" + }, + "servicesSecondaryRangeName": { + "description": "The name of the secondary range to be used as for the services\nCIDR block. The secondary range will be used for service\nClusterIPs. This must be an existing secondary range associated\nwith the cluster subnetwork.\n\nThis field is only applicable with use_ip_aliases and\ncreate_subnetwork is false.", + "type": "string" + }, + "useIpAliases": { + "description": "Whether alias IPs will be used for pod IPs in the cluster.", + "type": "boolean" + }, + "createSubnetwork": { + "description": "Whether a new subnetwork will be created automatically for the cluster.\n\nThis field is only applicable when `use_ip_aliases` is true.", + "type": "boolean" + }, + "subnetworkName": { + "description": "A custom subnetwork name to be used if `create_subnetwork` is true. If\nthis field is empty, then an automatic name will be chosen for the new\nsubnetwork.", + "type": "string" + }, + "servicesIpv4CidrBlock": { + "description": "The IP address range of the services IPs in this cluster. If blank, a range\nwill be automatically chosen with the default size.\n\nThis field is only applicable when `use_ip_aliases` is true.\n\nSet to blank to have a range chosen with the default size.\n\nSet to /netmask (e.g. `/14`) to have a range chosen with a specific\nnetmask.\n\nSet to a\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.\n`10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range\nto use.", + "type": "string" + }, + "clusterIpv4Cidr": { + "description": "This field is deprecated, use cluster_ipv4_cidr_block.", + "type": "string" + }, + "nodeIpv4Cidr": { + "description": "This field is deprecated, use node_ipv4_cidr_block.", + "type": "string" + }, + "clusterIpv4CidrBlock": { + "description": "The IP address range for the cluster pod IPs. If this field is set, then\n`cluster.cluster_ipv4_cidr` must be left blank.\n\nThis field is only applicable when `use_ip_aliases` is true.\n\nSet to blank to have a range chosen with the default size.\n\nSet to /netmask (e.g. `/14`) to have a range chosen with a specific\nnetmask.\n\nSet to a\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.\n`10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range\nto use.", + "type": "string" + }, + "clusterSecondaryRangeName": { + "description": "The name of the secondary range to be used for the cluster CIDR\nblock. The secondary range will be used for pod IP\naddresses. This must be an existing secondary range associated\nwith the cluster subnetwork.\n\nThis field is only applicable with use_ip_aliases and\ncreate_subnetwork is false.", + "type": "string" + } + }, + "id": "IPAllocationPolicy", + "description": "Configuration for controlling how IPs are allocated in the cluster." + }, + "HorizontalPodAutoscaling": { + "id": "HorizontalPodAutoscaling", + "description": "Configuration options for the horizontal pod autoscaling feature, which\nincreases or decreases the number of replica pods a replication controller\nhas based on the resource usage of the existing pods.", + "type": "object", + "properties": { + "disabled": { + "description": "Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.\nWhen enabled, it ensures that a Heapster pod is running in the cluster,\nwhich is also used by the Cloud Monitoring service.", + "type": "boolean" + } + } + }, + "SetMaintenancePolicyRequest": { + "properties": { + "projectId": { + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", + "type": "string" + }, + "zone": { + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", + "type": "string" + }, + "clusterId": { + "description": "The name of the cluster to update.", + "type": "string" + }, + "name": { + "description": "The name (project, location, cluster id) of the cluster to set maintenance\npolicy.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "type": "string" + }, + "maintenancePolicy": { + "description": "The maintenance policy to be set for the cluster. An empty field\nclears the existing maintenance policy.", + "$ref": "MaintenancePolicy" + } + }, + "id": "SetMaintenancePolicyRequest", + "description": "SetMaintenancePolicyRequest sets the maintenance policy for a cluster.", + "type": "object" + }, + "SetNodePoolManagementRequest": { + "description": "SetNodePoolManagementRequest sets the node management properties of a node\npool.", + "type": "object", + "properties": { + "zone": { + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + "type": "string" + }, + "name": { + "description": "The name (project, location, cluster, node pool id) of the node pool to set\nmanagement properties. Specified in the format\n'projects/*/locations/*/clusters/*/nodePools/*'.", + "type": "string" + }, + "projectId": { + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + "type": "string" + }, + "management": { + "$ref": "NodeManagement", + "description": "NodeManagement configuration for the node pool." + }, + "clusterId": { + "description": "The name of the cluster to update.\nThis field is deprecated, use name instead.", + "type": "string" + }, + "nodePoolId": { + "description": "The name of the node pool to update.\nThis field is deprecated, use name instead.", + "type": "string" + } + }, + "id": "SetNodePoolManagementRequest" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object", + "properties": {}, + "id": "Empty" + }, + "MasterAuthorizedNetworksConfig": { + "description": "Configuration options for the master authorized networks feature. Enabled\nmaster authorized networks will disallow all external traffic to access\nKubernetes master through HTTPS except traffic from the given CIDR blocks,\nGoogle Compute Engine Public IPs and Google Prod IPs.", + "type": "object", + "properties": { + "enabled": { + "description": "Whether or not master authorized networks is enabled.", + "type": "boolean" + }, + "cidrBlocks": { + "items": { + "$ref": "CidrBlock" + }, + "type": "array", + "description": "cidr_blocks define up to 10 external networks that could access\nKubernetes master through HTTPS." + } + }, + "id": "MasterAuthorizedNetworksConfig" + }, + "CreateClusterRequest": { + "description": "CreateClusterRequest creates a cluster.", + "type": "object", + "properties": { + "cluster": { + "$ref": "Cluster", + "description": "A [cluster\nresource](/container-engine/reference/rest/v1beta1/projects.zones.clusters)" + }, + "projectId": { + "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use parent instead.", + "type": "string" + }, + "zone": { + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use parent instead.", + "type": "string" + }, + "parent": { + "description": "The parent (project and location) where the cluster will be created.\nSpecified in the format 'projects/*/locations/*'.", + "type": "string" + } + }, + "id": "CreateClusterRequest" + }, + "ListNodePoolsResponse": { + "properties": { + "nodePools": { + "description": "A list of node pools for a cluster.", + "items": { + "$ref": "NodePool" + }, + "type": "array" + } + }, + "id": "ListNodePoolsResponse", + "description": "ListNodePoolsResponse is the result of ListNodePoolsRequest.", + "type": "object" + }, + "CompleteIPRotationRequest": { + "description": "CompleteIPRotationRequest moves the cluster master back into single-IP mode.", + "type": "object", + "properties": { + "name": { + "description": "The name (project, location, cluster id) of the cluster to complete IP rotation.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "type": "string" + }, + "projectId": { + "type": "string", + "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use name instead." + }, + "zone": { + "type": "string", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead." + }, + "clusterId": { + "type": "string", + "description": "The name of the cluster.\nThis field is deprecated, use name instead." + } + }, + "id": "CompleteIPRotationRequest" + }, + "StartIPRotationRequest": { + "description": "StartIPRotationRequest creates a new IP for the cluster and then performs\na node upgrade on each node pool to point to the new IP.", + "type": "object", + "properties": { + "projectId": { + "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use name instead.", + "type": "string" + }, + "zone": { + "type": "string", + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead." + }, + "clusterId": { + "description": "The name of the cluster.\nThis field is deprecated, use name instead.", + "type": "string" + }, + "name": { + "description": "The name (project, location, cluster id) of the cluster to start IP rotation.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "type": "string" + } + }, + "id": "StartIPRotationRequest" + }, + "AcceleratorConfig": { + "id": "AcceleratorConfig", + "description": "AcceleratorConfig represents a Hardware Accelerator request.", + "type": "object", + "properties": { + "acceleratorType": { + "description": "The accelerator type resource name. List of supported accelerators\n[here](/compute/docs/gpus/#Introduction)", + "type": "string" + }, + "acceleratorCount": { + "format": "int64", + "description": "The number of the accelerator cards exposed to an instance.", + "type": "string" + } + } + }, + "SetLabelsRequest": { + "description": "SetLabelsRequest sets the Google Cloud Platform labels on a Google Container\nEngine cluster, which will in turn set them for Google Compute Engine\nresources used by that cluster", + "type": "object", + "properties": { + "clusterId": { + "description": "The name of the cluster.\nThis field is deprecated, use name instead.", + "type": "string" + }, + "labelFingerprint": { + "type": "string", + "description": "The fingerprint of the previous set of labels for this resource,\nused to detect conflicts. The fingerprint is initially generated by\nContainer Engine and changes after every request to modify or update\nlabels. You must always provide an up-to-date fingerprint hash when\nupdating or changing labels. Make a \u003ccode\u003eget()\u003c/code\u003e request to the\nresource to get the latest fingerprint." + }, + "zone": { + "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + "type": "string" + }, + "name": { + "description": "The name (project, location, cluster id) of the cluster to set labels.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + "type": "string" + }, + "resourceLabels": { + "description": "The labels to set for that cluster.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "projectId": { + "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use name instead.", + "type": "string" + } + }, + "id": "SetLabelsRequest" + }, + "NodePool": { + "type": "object", + "properties": { + "selfLink": { + "description": "[Output only] Server-defined URL for the resource.", + "type": "string" + }, + "instanceGroupUrls": { + "description": "[Output only] The resource URLs of [instance\ngroups](/compute/docs/instance-groups/) associated with this\nnode pool.", + "items": { + "type": "string" + }, + "type": "array" + }, + "version": { + "description": "[Output only] The version of the Kubernetes of this node.", + "type": "string" + }, + "status": { + "enum": [ + "STATUS_UNSPECIFIED", + "PROVISIONING", + "RUNNING", + "RUNNING_WITH_ERROR", + "RECONCILING", + "STOPPING", + "ERROR" + ], + "description": "[Output only] The status of the nodes in this pool instance.", + "type": "string", + "enumDescriptions": [ + "Not set.", + "The PROVISIONING state indicates the node pool is being created.", + "The RUNNING state indicates the node pool has been created\nand is fully usable.", + "The RUNNING_WITH_ERROR state indicates the node pool has been created\nand is partially usable. Some error state has occurred and some\nfunctionality may be impaired. Customer may need to reissue a request\nor trigger a new update.", + "The RECONCILING state indicates that some work is actively being done on\nthe node pool, such as upgrading node software. Details can\nbe found in the `statusMessage` field.", + "The STOPPING state indicates the node pool is being deleted.", + "The ERROR state indicates the node pool may be unusable. Details\ncan be found in the `statusMessage` field." + ] + }, + "config": { + "$ref": "NodeConfig", + "description": "The node configuration of the pool." + }, + "statusMessage": { + "description": "[Output only] Additional information about the current status of this\nnode pool instance, if available.", + "type": "string" + }, + "name": { + "description": "The name of the node pool.", + "type": "string" + }, + "autoscaling": { + "$ref": "NodePoolAutoscaling", + "description": "Autoscaler configuration for this NodePool. Autoscaler is enabled\nonly if a valid configuration is present." + }, + "management": { + "description": "NodeManagement configuration for this NodePool.", + "$ref": "NodeManagement" + }, + "initialNodeCount": { + "format": "int32", + "description": "The initial node count for the pool. You must ensure that your\nCompute Engine \u003ca href=\"/compute/docs/resource-quotas\"\u003eresource quota\u003c/a\u003e\nis sufficient for this number of instances. You must also have available\nfirewall and routes quota.", + "type": "integer" + } + }, + "id": "NodePool", + "description": "NodePool contains the name and configuration for a cluster's node pool.\nNode pools are a set of nodes (i.e. VM's), with a common configuration and\nspecification, under the control of the cluster master. They may have a set\nof Kubernetes labels applied to them, which may be used to reference them\nduring pod scheduling. They may also be resized up or down, to accommodate\nthe workload." + } + }, + "icons": { + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" + }, + "protocol": "rest", + "canonicalName": "Container", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "rootUrl": "https://container.googleapis.com/", + "ownerDomain": "google.com", + "name": "container", + "batchPath": "batch", + "title": "Google Container Engine API" +} diff --git a/vendor/google.golang.org/api/container/v1beta1/container-gen.go b/vendor/google.golang.org/api/container/v1beta1/container-gen.go new file mode 100644 index 000000000..6d1bb8ede --- /dev/null +++ b/vendor/google.golang.org/api/container/v1beta1/container-gen.go @@ -0,0 +1,9616 @@ +// Package container provides access to the Google Container Engine API. +// +// See https://cloud.google.com/container-engine/ +// +// Usage example: +// +// import "google.golang.org/api/container/v1beta1" +// ... +// containerService, err := container.New(oauthHttpClient) +package container // import "google.golang.org/api/container/v1beta1" + +import ( + "bytes" + "encoding/json" + "errors" + "fmt" + context "golang.org/x/net/context" + ctxhttp "golang.org/x/net/context/ctxhttp" + gensupport "google.golang.org/api/gensupport" + googleapi "google.golang.org/api/googleapi" + "io" + "net/http" + "net/url" + "strconv" + "strings" +) + +// Always reference these packages, just in case the auto-generated code +// below doesn't. +var _ = bytes.NewBuffer +var _ = strconv.Itoa +var _ = fmt.Sprintf +var _ = json.NewDecoder +var _ = io.Copy +var _ = url.Parse +var _ = gensupport.MarshalJSON +var _ = googleapi.Version +var _ = errors.New +var _ = strings.Replace +var _ = context.Canceled +var _ = ctxhttp.Do + +const apiId = "container:v1beta1" +const apiName = "container" +const apiVersion = "v1beta1" +const basePath = "https://container.googleapis.com/" + +// OAuth2 scopes used by this API. +const ( + // View and manage your data across Google Cloud Platform services + CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" +) + +func New(client *http.Client) (*Service, error) { + if client == nil { + return nil, errors.New("client is nil") + } + s := &Service{client: client, BasePath: basePath} + s.Projects = NewProjectsService(s) + return s, nil +} + +type Service struct { + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + + Projects *ProjectsService +} + +func (s *Service) userAgent() string { + if s.UserAgent == "" { + return googleapi.UserAgent + } + return googleapi.UserAgent + " " + s.UserAgent +} + +func NewProjectsService(s *Service) *ProjectsService { + rs := &ProjectsService{s: s} + rs.Locations = NewProjectsLocationsService(s) + rs.Zones = NewProjectsZonesService(s) + return rs +} + +type ProjectsService struct { + s *Service + + Locations *ProjectsLocationsService + + Zones *ProjectsZonesService +} + +func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { + rs := &ProjectsLocationsService{s: s} + rs.Clusters = NewProjectsLocationsClustersService(s) + rs.Operations = NewProjectsLocationsOperationsService(s) + return rs +} + +type ProjectsLocationsService struct { + s *Service + + Clusters *ProjectsLocationsClustersService + + Operations *ProjectsLocationsOperationsService +} + +func NewProjectsLocationsClustersService(s *Service) *ProjectsLocationsClustersService { + rs := &ProjectsLocationsClustersService{s: s} + rs.NodePools = NewProjectsLocationsClustersNodePoolsService(s) + return rs +} + +type ProjectsLocationsClustersService struct { + s *Service + + NodePools *ProjectsLocationsClustersNodePoolsService +} + +func NewProjectsLocationsClustersNodePoolsService(s *Service) *ProjectsLocationsClustersNodePoolsService { + rs := &ProjectsLocationsClustersNodePoolsService{s: s} + return rs +} + +type ProjectsLocationsClustersNodePoolsService struct { + s *Service +} + +func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService { + rs := &ProjectsLocationsOperationsService{s: s} + return rs +} + +type ProjectsLocationsOperationsService struct { + s *Service +} + +func NewProjectsZonesService(s *Service) *ProjectsZonesService { + rs := &ProjectsZonesService{s: s} + rs.Clusters = NewProjectsZonesClustersService(s) + rs.Operations = NewProjectsZonesOperationsService(s) + return rs +} + +type ProjectsZonesService struct { + s *Service + + Clusters *ProjectsZonesClustersService + + Operations *ProjectsZonesOperationsService +} + +func NewProjectsZonesClustersService(s *Service) *ProjectsZonesClustersService { + rs := &ProjectsZonesClustersService{s: s} + rs.NodePools = NewProjectsZonesClustersNodePoolsService(s) + return rs +} + +type ProjectsZonesClustersService struct { + s *Service + + NodePools *ProjectsZonesClustersNodePoolsService +} + +func NewProjectsZonesClustersNodePoolsService(s *Service) *ProjectsZonesClustersNodePoolsService { + rs := &ProjectsZonesClustersNodePoolsService{s: s} + return rs +} + +type ProjectsZonesClustersNodePoolsService struct { + s *Service +} + +func NewProjectsZonesOperationsService(s *Service) *ProjectsZonesOperationsService { + rs := &ProjectsZonesOperationsService{s: s} + return rs +} + +type ProjectsZonesOperationsService struct { + s *Service +} + +// AcceleratorConfig: AcceleratorConfig represents a Hardware +// Accelerator request. +type AcceleratorConfig struct { + // AcceleratorCount: The number of the accelerator cards exposed to an + // instance. + AcceleratorCount int64 `json:"acceleratorCount,omitempty,string"` + + // AcceleratorType: The accelerator type resource name. List of + // supported accelerators + // [here](/compute/docs/gpus/#Introduction) + AcceleratorType string `json:"acceleratorType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AcceleratorCount") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AcceleratorCount") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AcceleratorConfig) MarshalJSON() ([]byte, error) { + type noMethod AcceleratorConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AddonsConfig: Configuration for the addons that can be automatically +// spun up in the +// cluster, enabling additional functionality. +type AddonsConfig struct { + // HorizontalPodAutoscaling: Configuration for the horizontal pod + // autoscaling feature, which + // increases or decreases the number of replica pods a replication + // controller + // has based on the resource usage of the existing pods. + HorizontalPodAutoscaling *HorizontalPodAutoscaling `json:"horizontalPodAutoscaling,omitempty"` + + // HttpLoadBalancing: Configuration for the HTTP (L7) load balancing + // controller addon, which + // makes it easy to set up HTTP load balancers for services in a + // cluster. + HttpLoadBalancing *HttpLoadBalancing `json:"httpLoadBalancing,omitempty"` + + // KubernetesDashboard: Configuration for the Kubernetes Dashboard. + KubernetesDashboard *KubernetesDashboard `json:"kubernetesDashboard,omitempty"` + + // NetworkPolicyConfig: Configuration for NetworkPolicy. This only + // tracks whether the addon + // is enabled or not on the Master, it does not track whether network + // policy + // is enabled for the nodes. + NetworkPolicyConfig *NetworkPolicyConfig `json:"networkPolicyConfig,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "HorizontalPodAutoscaling") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "HorizontalPodAutoscaling") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AddonsConfig) MarshalJSON() ([]byte, error) { + type noMethod AddonsConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AutoUpgradeOptions: AutoUpgradeOptions defines the set of options for +// the user to control how +// the Auto Upgrades will proceed. +type AutoUpgradeOptions struct { + // AutoUpgradeStartTime: [Output only] This field is set when upgrades + // are about to commence + // with the approximate start time for the upgrades, + // in + // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + AutoUpgradeStartTime string `json:"autoUpgradeStartTime,omitempty"` + + // Description: [Output only] This field is set when upgrades are about + // to commence + // with the description of the upgrade. + Description string `json:"description,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "AutoUpgradeStartTime") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AutoUpgradeStartTime") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AutoUpgradeOptions) MarshalJSON() ([]byte, error) { + type noMethod AutoUpgradeOptions + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CancelOperationRequest: CancelOperationRequest cancels a single +// operation. +type CancelOperationRequest struct { + // Name: The name (project, location, operation id) of the operation to + // cancel. + // Specified in the format 'projects/*/locations/*/operations/*'. + Name string `json:"name,omitempty"` + + // OperationId: The server-assigned `name` of the operation. + // This field is deprecated, use name instead. + OperationId string `json:"operationId,omitempty"` + + // ProjectId: The Google Developers Console [project ID or + // project + // number](https://support.google.com/cloud/answer/6158840). + // This + // field is deprecated, use name instead. + ProjectId string `json:"projectId,omitempty"` + + // Zone: The name of the Google Compute + // Engine + // [zone](/compute/docs/zones#available) in which the operation + // resides. + // This field is deprecated, use name instead. + Zone string `json:"zone,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CancelOperationRequest) MarshalJSON() ([]byte, error) { + type noMethod CancelOperationRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CidrBlock: CidrBlock contains an optional name and one CIDR block. +type CidrBlock struct { + // CidrBlock: cidr_block must be specified in CIDR notation. + CidrBlock string `json:"cidrBlock,omitempty"` + + // DisplayName: display_name is an optional field for users to identify + // CIDR blocks. + DisplayName string `json:"displayName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CidrBlock") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CidrBlock") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CidrBlock) MarshalJSON() ([]byte, error) { + type noMethod CidrBlock + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ClientCertificateConfig: Configuration for client certificates on the +// cluster. +type ClientCertificateConfig struct { + // IssueClientCertificate: Issue a client certificate. + IssueClientCertificate bool `json:"issueClientCertificate,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "IssueClientCertificate") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "IssueClientCertificate") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *ClientCertificateConfig) MarshalJSON() ([]byte, error) { + type noMethod ClientCertificateConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Cluster: A Google Container Engine cluster. +type Cluster struct { + // AddonsConfig: Configurations for the various addons available to run + // in the cluster. + AddonsConfig *AddonsConfig `json:"addonsConfig,omitempty"` + + // ClusterIpv4Cidr: The IP address range of the container pods in this + // cluster, + // in + // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + // + // notation (e.g. `10.96.0.0/14`). Leave blank to have + // one automatically chosen or specify a `/14` block in `10.0.0.0/8`. + ClusterIpv4Cidr string `json:"clusterIpv4Cidr,omitempty"` + + // CreateTime: [Output only] The time the cluster was created, + // in + // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + CreateTime string `json:"createTime,omitempty"` + + // CurrentMasterVersion: [Output only] The current software version of + // the master endpoint. + CurrentMasterVersion string `json:"currentMasterVersion,omitempty"` + + // CurrentNodeCount: [Output only] The number of nodes currently in the + // cluster. + CurrentNodeCount int64 `json:"currentNodeCount,omitempty"` + + // CurrentNodeVersion: [Output only] The current version of the node + // software components. + // If they are currently at multiple versions because they're in the + // process + // of being upgraded, this reflects the minimum version of all nodes. + CurrentNodeVersion string `json:"currentNodeVersion,omitempty"` + + // Description: An optional description of this cluster. + Description string `json:"description,omitempty"` + + // EnableKubernetesAlpha: Kubernetes alpha features are enabled on this + // cluster. This includes alpha + // API groups (e.g. v1beta1) and features that may not be production + // ready in + // the kubernetes version of the master and nodes. + // The cluster has no SLA for uptime and master/node upgrades are + // disabled. + // Alpha enabled clusters are automatically deleted thirty days + // after + // creation. + EnableKubernetesAlpha bool `json:"enableKubernetesAlpha,omitempty"` + + // Endpoint: [Output only] The IP address of this cluster's master + // endpoint. + // The endpoint can be accessed from the internet + // at + // `https://username:password@endpoint/`. + // + // See the `masterAuth` property of this resource for username + // and + // password information. + Endpoint string `json:"endpoint,omitempty"` + + // ExpireTime: [Output only] The time the cluster will be + // automatically + // deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text + // format. + ExpireTime string `json:"expireTime,omitempty"` + + // InitialClusterVersion: The initial Kubernetes version for this + // cluster. Valid versions are those + // found in validMasterVersions returned by getServerConfig. The + // version can + // be upgraded over time; such upgrades are reflected + // in + // currentMasterVersion and currentNodeVersion. + InitialClusterVersion string `json:"initialClusterVersion,omitempty"` + + // InitialNodeCount: The number of nodes to create in this cluster. You + // must ensure that your + // Compute Engine resource + // quota + // is sufficient for this number of instances. You must also have + // available + // firewall and routes quota. + // For requests, this field should only be used in lieu of a + // "node_pool" object, since this configuration (along with + // the + // "node_config") will be used to create a "NodePool" object with + // an + // auto-generated name. Do not use this and a node_pool at the same + // time. + InitialNodeCount int64 `json:"initialNodeCount,omitempty"` + + // InstanceGroupUrls: [Output only] The resource URLs of + // [instance + // groups](/compute/docs/instance-groups/) associated with this + // cluster. + InstanceGroupUrls []string `json:"instanceGroupUrls,omitempty"` + + // IpAllocationPolicy: Configuration for cluster IP allocation. + IpAllocationPolicy *IPAllocationPolicy `json:"ipAllocationPolicy,omitempty"` + + // Location: [Output only] The name of the Google Compute + // Engine + // [zone](/compute/docs/regions-zones/regions-zones#available) + // or + // [region](/compute/docs/regions-zones/regions-zones#available) in + // which + // the cluster resides. + Location string `json:"location,omitempty"` + + // Locations: The list of Google Compute + // Engine + // [locations](/compute/docs/zones#available) in which the cluster's + // nodes + // should be located. + Locations []string `json:"locations,omitempty"` + + // LoggingService: The logging service the cluster should use to write + // logs. + // Currently available options: + // + // * `logging.googleapis.com` - the Google Cloud Logging service. + // * `none` - no logs will be exported from the cluster. + // * if left as an empty string,`logging.googleapis.com` will be used. + LoggingService string `json:"loggingService,omitempty"` + + // MaintenancePolicy: Configure the maintenance policy for this cluster. + MaintenancePolicy *MaintenancePolicy `json:"maintenancePolicy,omitempty"` + + // MasterAuth: The authentication information for accessing the master + // endpoint. + MasterAuth *MasterAuth `json:"masterAuth,omitempty"` + + // MasterAuthorizedNetworksConfig: The configuration options for master + // authorized networks feature. + MasterAuthorizedNetworksConfig *MasterAuthorizedNetworksConfig `json:"masterAuthorizedNetworksConfig,omitempty"` + + // MonitoringService: The monitoring service the cluster should use to + // write metrics. + // Currently available options: + // + // * `monitoring.googleapis.com` - the Google Cloud Monitoring + // service. + // * `none` - no metrics will be exported from the cluster. + // * if left as an empty string, `monitoring.googleapis.com` will be + // used. + MonitoringService string `json:"monitoringService,omitempty"` + + // Name: The name of this cluster. The name must be unique within this + // project + // and zone, and can be up to 40 characters with the following + // restrictions: + // + // * Lowercase letters, numbers, and hyphens only. + // * Must start with a letter. + // * Must end with a number or a letter. + Name string `json:"name,omitempty"` + + // Network: The name of the Google Compute + // Engine + // [network](/compute/docs/networks-and-firewalls#networks) to which + // the + // cluster is connected. If left unspecified, the `default` network + // will be used. + Network string `json:"network,omitempty"` + + // NetworkPolicy: Configuration options for the NetworkPolicy feature. + NetworkPolicy *NetworkPolicy `json:"networkPolicy,omitempty"` + + // NodeConfig: Parameters used in creating the cluster's nodes. + // See `nodeConfig` for the description of its properties. + // For requests, this field should only be used in lieu of a + // "node_pool" object, since this configuration (along with + // the + // "initial_node_count") will be used to create a "NodePool" object with + // an + // auto-generated name. Do not use this and a node_pool at the same + // time. + // For responses, this field will be populated with the node + // configuration of + // the first node pool. + // + // If unspecified, the defaults are used. + NodeConfig *NodeConfig `json:"nodeConfig,omitempty"` + + // NodeIpv4CidrSize: [Output only] The size of the address space on each + // node for hosting + // containers. This is provisioned from within the + // `container_ipv4_cidr` + // range. + NodeIpv4CidrSize int64 `json:"nodeIpv4CidrSize,omitempty"` + + // NodePools: The node pools associated with this cluster. + // This field should not be set if "node_config" or "initial_node_count" + // are + // specified. + NodePools []*NodePool `json:"nodePools,omitempty"` + + // SelfLink: [Output only] Server-defined URL for the resource. + SelfLink string `json:"selfLink,omitempty"` + + // ServicesIpv4Cidr: [Output only] The IP address range of the + // Kubernetes services in + // this cluster, + // in + // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + // + // notation (e.g. `1.2.3.4/29`). Service addresses are + // typically put in the last `/16` from the container CIDR. + ServicesIpv4Cidr string `json:"servicesIpv4Cidr,omitempty"` + + // Status: [Output only] The current status of this cluster. + // + // Possible values: + // "STATUS_UNSPECIFIED" - Not set. + // "PROVISIONING" - The PROVISIONING state indicates the cluster is + // being created. + // "RUNNING" - The RUNNING state indicates the cluster has been + // created and is fully + // usable. + // "RECONCILING" - The RECONCILING state indicates that some work is + // actively being done on + // the cluster, such as upgrading the master or node software. Details + // can + // be found in the `statusMessage` field. + // "STOPPING" - The STOPPING state indicates the cluster is being + // deleted. + // "ERROR" - The ERROR state indicates the cluster may be unusable. + // Details + // can be found in the `statusMessage` field. + Status string `json:"status,omitempty"` + + // StatusMessage: [Output only] Additional information about the current + // status of this + // cluster, if available. + StatusMessage string `json:"statusMessage,omitempty"` + + // Subnetwork: The name of the Google Compute + // Engine + // [subnetwork](/compute/docs/subnetworks) to which the + // cluster is connected. + Subnetwork string `json:"subnetwork,omitempty"` + + // Zone: [Output only] The name of the Google Compute + // Engine + // [zone](/compute/docs/zones#available) in which the + // cluster + // resides. + // This field is deprecated, use location instead. + 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. "AddonsConfig") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AddonsConfig") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Cluster) MarshalJSON() ([]byte, error) { + type noMethod Cluster + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ClusterUpdate: ClusterUpdate describes an update to the cluster. +// Exactly one update can +// be applied to a cluster with each request, so at most one field can +// be +// provided. +type ClusterUpdate struct { + // DesiredAddonsConfig: Configurations for the various addons available + // to run in the cluster. + DesiredAddonsConfig *AddonsConfig `json:"desiredAddonsConfig,omitempty"` + + // DesiredImageType: The desired image type for the node pool. + // NOTE: Set the "desired_node_pool" field as well. + DesiredImageType string `json:"desiredImageType,omitempty"` + + // DesiredLocations: The desired list of Google Compute + // Engine + // [locations](/compute/docs/zones#available) in which the cluster's + // nodes + // should be located. Changing the locations a cluster is in will + // result + // in nodes being either created or removed from the cluster, depending + // on + // whether locations are being added or removed. + // + // This list must always include the cluster's primary zone. + DesiredLocations []string `json:"desiredLocations,omitempty"` + + // DesiredMasterAuthorizedNetworksConfig: The desired configuration + // options for master authorized networks feature. + DesiredMasterAuthorizedNetworksConfig *MasterAuthorizedNetworksConfig `json:"desiredMasterAuthorizedNetworksConfig,omitempty"` + + // DesiredMasterVersion: The Kubernetes version to change the master to. + // The only valid value is the + // latest supported version. Use "-" to have the server automatically + // select + // the latest version. + DesiredMasterVersion string `json:"desiredMasterVersion,omitempty"` + + // DesiredMonitoringService: The monitoring service the cluster should + // use to write metrics. + // Currently available options: + // + // * "monitoring.googleapis.com" - the Google Cloud Monitoring service + // * "none" - no metrics will be exported from the cluster + DesiredMonitoringService string `json:"desiredMonitoringService,omitempty"` + + // DesiredNodePoolAutoscaling: Autoscaler configuration for the node + // pool specified in + // desired_node_pool_id. If there is only one pool in the + // cluster and desired_node_pool_id is not provided then + // the change applies to that single node pool. + DesiredNodePoolAutoscaling *NodePoolAutoscaling `json:"desiredNodePoolAutoscaling,omitempty"` + + // DesiredNodePoolId: The node pool to be upgraded. This field is + // mandatory if + // "desired_node_version", "desired_image_family" + // or + // "desired_node_pool_autoscaling" is specified and there is more than + // one + // node pool on the cluster. + DesiredNodePoolId string `json:"desiredNodePoolId,omitempty"` + + // DesiredNodeVersion: The Kubernetes version to change the nodes to + // (typically an + // upgrade). Use `-` to upgrade to the latest version supported by + // the server. + DesiredNodeVersion string `json:"desiredNodeVersion,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DesiredAddonsConfig") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DesiredAddonsConfig") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *ClusterUpdate) MarshalJSON() ([]byte, error) { + type noMethod ClusterUpdate + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CompleteIPRotationRequest: CompleteIPRotationRequest moves the +// cluster master back into single-IP mode. +type CompleteIPRotationRequest struct { + // ClusterId: The name of the cluster. + // This field is deprecated, use name instead. + ClusterId string `json:"clusterId,omitempty"` + + // Name: The name (project, location, cluster id) of the cluster to + // complete IP rotation. + // Specified in the format 'projects/*/locations/*/clusters/*'. + Name string `json:"name,omitempty"` + + // ProjectId: The Google Developers Console [project ID or + // project + // number](https://developers.google.com/console/help/new/#projec + // tnumber). + // This field is deprecated, use name instead. + ProjectId string `json:"projectId,omitempty"` + + // Zone: The name of the Google Compute + // Engine + // [zone](/compute/docs/zones#available) in which the + // cluster + // resides. + // This field is deprecated, use name instead. + Zone string `json:"zone,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ClusterId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ClusterId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CompleteIPRotationRequest) MarshalJSON() ([]byte, error) { + type noMethod CompleteIPRotationRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CreateClusterRequest: CreateClusterRequest creates a cluster. +type CreateClusterRequest struct { + // Cluster: A + // [cluster + // resource](/container-engine/reference/rest/v1beta1/projects.z + // ones.clusters) + Cluster *Cluster `json:"cluster,omitempty"` + + // Parent: The parent (project and location) where the cluster will be + // created. + // Specified in the format 'projects/*/locations/*'. + Parent string `json:"parent,omitempty"` + + // ProjectId: The Google Developers Console [project ID or + // project + // number](https://support.google.com/cloud/answer/6158840). + // This + // field is deprecated, use parent instead. + ProjectId string `json:"projectId,omitempty"` + + // Zone: The name of the Google Compute + // Engine + // [zone](/compute/docs/zones#available) in which the + // cluster + // resides. + // This field is deprecated, use parent instead. + Zone string `json:"zone,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Cluster") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Cluster") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CreateClusterRequest) MarshalJSON() ([]byte, error) { + type noMethod CreateClusterRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CreateNodePoolRequest: CreateNodePoolRequest creates a node pool for +// a cluster. +type CreateNodePoolRequest struct { + // ClusterId: The name of the cluster. + // This field is deprecated, use parent instead. + ClusterId string `json:"clusterId,omitempty"` + + // NodePool: The node pool to create. + NodePool *NodePool `json:"nodePool,omitempty"` + + // Parent: The parent (project, location, cluster id) where the node + // pool will be created. + // Specified in the format + // 'projects/*/locations/*/clusters/*/nodePools/*'. + Parent string `json:"parent,omitempty"` + + // ProjectId: The Google Developers Console [project ID or + // project + // number](https://developers.google.com/console/help/new/#projec + // tnumber). + // This field is deprecated, use parent instead. + ProjectId string `json:"projectId,omitempty"` + + // Zone: The name of the Google Compute + // Engine + // [zone](/compute/docs/zones#available) in which the + // cluster + // resides. + // This field is deprecated, use parent instead. + Zone string `json:"zone,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ClusterId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ClusterId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CreateNodePoolRequest) MarshalJSON() ([]byte, error) { + type noMethod CreateNodePoolRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DailyMaintenanceWindow: Time window specified for daily maintenance +// operations. +type DailyMaintenanceWindow struct { + // Duration: [Output only] Duration of the time window, automatically + // chosen to be + // smallest possible in the given scenario. + Duration string `json:"duration,omitempty"` + + // StartTime: Time within the maintenance window to start the + // maintenance operations. + // It must be in format "HH:MM”, where HH : [00-23] and MM : [00-59] + // GMT. + StartTime string `json:"startTime,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Duration") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DailyMaintenanceWindow) MarshalJSON() ([]byte, error) { + type noMethod DailyMaintenanceWindow + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Empty: A generic empty message that you can re-use to avoid defining +// duplicated +// empty messages in your APIs. A typical example is to use it as the +// request +// or the response type of an API method. For instance: +// +// service Foo { +// rpc Bar(google.protobuf.Empty) returns +// (google.protobuf.Empty); +// } +// +// The JSON representation for `Empty` is empty JSON object `{}`. +type Empty struct { + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` +} + +// HorizontalPodAutoscaling: Configuration options for the horizontal +// pod autoscaling feature, which +// increases or decreases the number of replica pods a replication +// controller +// has based on the resource usage of the existing pods. +type HorizontalPodAutoscaling struct { + // Disabled: Whether the Horizontal Pod Autoscaling feature is enabled + // in the cluster. + // When enabled, it ensures that a Heapster pod is running in the + // cluster, + // which is also used by the Cloud Monitoring service. + Disabled bool `json:"disabled,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Disabled") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Disabled") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HorizontalPodAutoscaling) MarshalJSON() ([]byte, error) { + type noMethod HorizontalPodAutoscaling + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// HttpLoadBalancing: Configuration options for the HTTP (L7) load +// balancing controller addon, +// which makes it easy to set up HTTP load balancers for services in a +// cluster. +type HttpLoadBalancing struct { + // Disabled: Whether the HTTP Load Balancing controller is enabled in + // the cluster. + // When enabled, it runs a small pod in the cluster that manages the + // load + // balancers. + Disabled bool `json:"disabled,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Disabled") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Disabled") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HttpLoadBalancing) MarshalJSON() ([]byte, error) { + type noMethod HttpLoadBalancing + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// IPAllocationPolicy: Configuration for controlling how IPs are +// allocated in the cluster. +type IPAllocationPolicy struct { + // ClusterIpv4Cidr: This field is deprecated, use + // cluster_ipv4_cidr_block. + ClusterIpv4Cidr string `json:"clusterIpv4Cidr,omitempty"` + + // ClusterIpv4CidrBlock: The IP address range for the cluster pod IPs. + // If this field is set, then + // `cluster.cluster_ipv4_cidr` must be left blank. + // + // This field is only applicable when `use_ip_aliases` is true. + // + // Set to blank to have a range chosen with the default size. + // + // Set to /netmask (e.g. `/14`) to have a range chosen with a + // specific + // netmask. + // + // Set to + // a + // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + // + // notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks + // (e.g. + // `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific + // range + // to use. + ClusterIpv4CidrBlock string `json:"clusterIpv4CidrBlock,omitempty"` + + // ClusterSecondaryRangeName: The name of the secondary range to be used + // for the cluster CIDR + // block. The secondary range will be used for pod IP + // addresses. This must be an existing secondary range associated + // with the cluster subnetwork. + // + // This field is only applicable with use_ip_aliases + // and + // create_subnetwork is false. + ClusterSecondaryRangeName string `json:"clusterSecondaryRangeName,omitempty"` + + // CreateSubnetwork: Whether a new subnetwork will be created + // automatically for the cluster. + // + // This field is only applicable when `use_ip_aliases` is true. + CreateSubnetwork bool `json:"createSubnetwork,omitempty"` + + // NodeIpv4Cidr: This field is deprecated, use node_ipv4_cidr_block. + NodeIpv4Cidr string `json:"nodeIpv4Cidr,omitempty"` + + // NodeIpv4CidrBlock: The IP address range of the instance IPs in this + // cluster. + // + // This is applicable only if `create_subnetwork` is true. + // + // Set to blank to have a range chosen with the default size. + // + // Set to /netmask (e.g. `/14`) to have a range chosen with a + // specific + // netmask. + // + // Set to + // a + // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + // + // notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks + // (e.g. + // `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific + // range + // to use. + NodeIpv4CidrBlock string `json:"nodeIpv4CidrBlock,omitempty"` + + // ServicesIpv4Cidr: This field is deprecated, use + // services_ipv4_cidr_block. + ServicesIpv4Cidr string `json:"servicesIpv4Cidr,omitempty"` + + // ServicesIpv4CidrBlock: The IP address range of the services IPs in + // this cluster. If blank, a range + // will be automatically chosen with the default size. + // + // This field is only applicable when `use_ip_aliases` is true. + // + // Set to blank to have a range chosen with the default size. + // + // Set to /netmask (e.g. `/14`) to have a range chosen with a + // specific + // netmask. + // + // Set to + // a + // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + // + // notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks + // (e.g. + // `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific + // range + // to use. + ServicesIpv4CidrBlock string `json:"servicesIpv4CidrBlock,omitempty"` + + // ServicesSecondaryRangeName: The name of the secondary range to be + // used as for the services + // CIDR block. The secondary range will be used for service + // ClusterIPs. This must be an existing secondary range associated + // with the cluster subnetwork. + // + // This field is only applicable with use_ip_aliases + // and + // create_subnetwork is false. + ServicesSecondaryRangeName string `json:"servicesSecondaryRangeName,omitempty"` + + // SubnetworkName: A custom subnetwork name to be used if + // `create_subnetwork` is true. If + // this field is empty, then an automatic name will be chosen for the + // new + // subnetwork. + SubnetworkName string `json:"subnetworkName,omitempty"` + + // UseIpAliases: Whether alias IPs will be used for pod IPs in the + // cluster. + UseIpAliases bool `json:"useIpAliases,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ClusterIpv4Cidr") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ClusterIpv4Cidr") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *IPAllocationPolicy) MarshalJSON() ([]byte, error) { + type noMethod IPAllocationPolicy + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// KubernetesDashboard: Configuration for the Kubernetes Dashboard. +type KubernetesDashboard struct { + // Disabled: Whether the Kubernetes Dashboard is enabled for this + // cluster. + Disabled bool `json:"disabled,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Disabled") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Disabled") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *KubernetesDashboard) MarshalJSON() ([]byte, error) { + type noMethod KubernetesDashboard + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListClustersResponse: ListClustersResponse is the result of +// ListClustersRequest. +type ListClustersResponse struct { + // Clusters: A list of clusters in the project in the specified zone, + // or + // across all ones. + Clusters []*Cluster `json:"clusters,omitempty"` + + // MissingZones: If any zones are listed here, the list of clusters + // returned + // may be missing those zones. + MissingZones []string `json:"missingZones,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Clusters") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Clusters") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListClustersResponse) MarshalJSON() ([]byte, error) { + type noMethod ListClustersResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListNodePoolsResponse: ListNodePoolsResponse is the result of +// ListNodePoolsRequest. +type ListNodePoolsResponse struct { + // NodePools: A list of node pools for a cluster. + NodePools []*NodePool `json:"nodePools,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "NodePools") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "NodePools") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListNodePoolsResponse) MarshalJSON() ([]byte, error) { + type noMethod ListNodePoolsResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListOperationsResponse: ListOperationsResponse is the result of +// ListOperationsRequest. +type ListOperationsResponse struct { + // MissingZones: If any zones are listed here, the list of operations + // returned + // may be missing the operations from those zones. + MissingZones []string `json:"missingZones,omitempty"` + + // Operations: A list of operations in the project in the specified + // zone. + Operations []*Operation `json:"operations,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "MissingZones") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "MissingZones") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) { + type noMethod ListOperationsResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// MaintenancePolicy: MaintenancePolicy defines the maintenance policy +// to be used for the cluster. +type MaintenancePolicy struct { + // Window: Specifies the maintenance window in which maintenance may be + // performed. + Window *MaintenanceWindow `json:"window,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Window") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Window") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *MaintenancePolicy) MarshalJSON() ([]byte, error) { + type noMethod MaintenancePolicy + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// MaintenanceWindow: MaintenanceWindow defines the maintenance window +// to be used for the cluster. +type MaintenanceWindow struct { + // DailyMaintenanceWindow: DailyMaintenanceWindow specifies a daily + // maintenance operation window. + DailyMaintenanceWindow *DailyMaintenanceWindow `json:"dailyMaintenanceWindow,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "DailyMaintenanceWindow") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DailyMaintenanceWindow") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *MaintenanceWindow) MarshalJSON() ([]byte, error) { + type noMethod MaintenanceWindow + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// MasterAuth: The authentication information for accessing the master +// endpoint. +// Authentication can be done using HTTP basic auth or using +// client +// certificates. +type MasterAuth struct { + // ClientCertificate: [Output only] Base64-encoded public certificate + // used by clients to + // authenticate to the cluster endpoint. + ClientCertificate string `json:"clientCertificate,omitempty"` + + // ClientCertificateConfig: Configuration for client certificate + // authentication on the cluster. If no + // configuration is specified, a client certificate is issued. + ClientCertificateConfig *ClientCertificateConfig `json:"clientCertificateConfig,omitempty"` + + // ClientKey: [Output only] Base64-encoded private key used by clients + // to authenticate + // to the cluster endpoint. + ClientKey string `json:"clientKey,omitempty"` + + // ClusterCaCertificate: [Output only] Base64-encoded public certificate + // that is the root of + // trust for the cluster. + ClusterCaCertificate string `json:"clusterCaCertificate,omitempty"` + + // Password: The password to use for HTTP basic authentication to the + // master endpoint. + // Because the master endpoint is open to the Internet, you should + // create a + // strong password. If a password is provided for cluster creation, + // username + // must be non-empty. + Password string `json:"password,omitempty"` + + // Username: The username to use for HTTP basic authentication to the + // master endpoint. + // For clusters v1.6.0 and later, you can disable basic authentication + // by + // providing an empty username. + Username string `json:"username,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ClientCertificate") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ClientCertificate") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *MasterAuth) MarshalJSON() ([]byte, error) { + type noMethod MasterAuth + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// MasterAuthorizedNetworksConfig: Configuration options for the master +// authorized networks feature. Enabled +// master authorized networks will disallow all external traffic to +// access +// Kubernetes master through HTTPS except traffic from the given CIDR +// blocks, +// Google Compute Engine Public IPs and Google Prod IPs. +type MasterAuthorizedNetworksConfig struct { + // CidrBlocks: cidr_blocks define up to 10 external networks that could + // access + // Kubernetes master through HTTPS. + CidrBlocks []*CidrBlock `json:"cidrBlocks,omitempty"` + + // Enabled: Whether or not master authorized networks is enabled. + Enabled bool `json:"enabled,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CidrBlocks") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CidrBlocks") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *MasterAuthorizedNetworksConfig) MarshalJSON() ([]byte, error) { + type noMethod MasterAuthorizedNetworksConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// NetworkPolicy: Configuration options for the NetworkPolicy +// feature. +// https://kubernetes.io/docs/concepts/services-networking/netwo +// rkpolicies/ +type NetworkPolicy struct { + // Enabled: Whether network policy is enabled on the cluster. + Enabled bool `json:"enabled,omitempty"` + + // Provider: The selected network policy provider. + // + // Possible values: + // "PROVIDER_UNSPECIFIED" - Not set + // "CALICO" - Tigera (Calico Felix). + Provider string `json:"provider,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Enabled") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NetworkPolicy) MarshalJSON() ([]byte, error) { + type noMethod NetworkPolicy + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// NetworkPolicyConfig: Configuration for NetworkPolicy. This only +// tracks whether the addon +// is enabled or not on the Master, it does not track whether network +// policy +// is enabled for the nodes. +type NetworkPolicyConfig struct { + // Disabled: Whether NetworkPolicy is enabled for this cluster. + Disabled bool `json:"disabled,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Disabled") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Disabled") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NetworkPolicyConfig) MarshalJSON() ([]byte, error) { + type noMethod NetworkPolicyConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// NodeConfig: Parameters that describe the nodes in a cluster. +type NodeConfig struct { + // Accelerators: A list of hardware accelerators to be attached to each + // node. + // See https://cloud.google.com/compute/docs/gpus for more information + // about + // support for GPUs. + Accelerators []*AcceleratorConfig `json:"accelerators,omitempty"` + + // DiskSizeGb: Size of the disk attached to each node, specified in + // GB. + // The smallest allowed disk size is 10GB. + // + // If unspecified, the default disk size is 100GB. + DiskSizeGb int64 `json:"diskSizeGb,omitempty"` + + // ImageType: The image type to use for this node. Note that for a given + // image type, + // the latest version of it will be used. + ImageType string `json:"imageType,omitempty"` + + // Labels: The map of Kubernetes labels (key/value pairs) to be applied + // to each node. + // These will added in addition to any default label(s) that + // Kubernetes may apply to the node. + // In case of conflict in label keys, the applied set may differ + // depending on + // the Kubernetes version -- it's best to assume the behavior is + // undefined + // and conflicts should be avoided. + // For more information, including usage and the valid values, + // see: + // https://kubernetes.io/docs/concepts/overview/working-with-objects + // /labels/ + Labels map[string]string `json:"labels,omitempty"` + + // LocalSsdCount: The number of local SSD disks to be attached to the + // node. + // + // The limit for this value is dependant upon the maximum number + // of + // disks available on a machine per zone. + // See: + // https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_l + // imits + // for more information. + LocalSsdCount int64 `json:"localSsdCount,omitempty"` + + // MachineType: The name of a Google Compute Engine + // [machine + // type](/compute/docs/machine-types) (e.g. + // `n1-standard-1`). + // + // If unspecified, the default machine type is + // `n1-standard-1`. + MachineType string `json:"machineType,omitempty"` + + // Metadata: The metadata key/value pairs assigned to instances in the + // cluster. + // + // Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 + // bytes + // in length. These are reflected as part of a URL in the metadata + // server. + // Additionally, to avoid ambiguity, keys must not conflict with any + // other + // metadata keys for the project or be one of the four reserved + // keys: + // "instance-template", "kube-env", "startup-script", and + // "user-data" + // + // Values are free-form strings, and only have meaning as interpreted + // by + // the image running in the instance. The only restriction placed on + // them is + // that each value's size must be less than or equal to 32 KB. + // + // The total size of all keys and values must be less than 512 KB. + Metadata map[string]string `json:"metadata,omitempty"` + + // MinCpuPlatform: Minimum CPU platform to be used by this instance. The + // instance may be + // scheduled on the specified or newer CPU platform. Applicable values + // are the + // friendly names of CPU platforms, such as + // minCpuPlatform: "Intel Haswell" + // or + // minCpuPlatform: "Intel Sandy Bridge". For + // more + // information, read [how to specify min CPU + // platform](https://cloud.google.com/compute/docs/instances/specify-min- + // cpu-platform) + MinCpuPlatform string `json:"minCpuPlatform,omitempty"` + + // OauthScopes: The set of Google API scopes to be made available on all + // of the + // node VMs under the "default" service account. + // + // The following scopes are recommended, but not required, and by + // default are + // not included: + // + // * `https://www.googleapis.com/auth/compute` is required for + // mounting + // persistent storage on your nodes. + // * `https://www.googleapis.com/auth/devstorage.read_only` is required + // for + // communicating with **gcr.io** + // (the [Google Container Registry](/container-registry/)). + // + // If unspecified, no scopes are added, unless Cloud Logging or + // Cloud + // Monitoring are enabled, in which case their required scopes will be + // added. + OauthScopes []string `json:"oauthScopes,omitempty"` + + // Preemptible: Whether the nodes are created as preemptible VM + // instances. + // See: + // https://cloud.google.com/compute/docs/instances/preemptible for + // more + // inforamtion about preemptible VM instances. + Preemptible bool `json:"preemptible,omitempty"` + + // ServiceAccount: The Google Cloud Platform Service Account to be used + // by the node VMs. If + // no Service Account is specified, the "default" service account is + // used. + ServiceAccount string `json:"serviceAccount,omitempty"` + + // Tags: The list of instance tags applied to all nodes. Tags are used + // to identify + // valid sources or targets for network firewalls and are specified + // by + // the client during cluster or node pool creation. Each tag within the + // list + // must comply with RFC1035. + Tags []string `json:"tags,omitempty"` + + // Taints: List of kubernetes taints to be applied to each node. + // + // For more information, including usage and the valid values, + // see: + // https://kubernetes.io/docs/concepts/configuration/taint-and-toler + // ation/ + Taints []*NodeTaint `json:"taints,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Accelerators") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Accelerators") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NodeConfig) MarshalJSON() ([]byte, error) { + type noMethod NodeConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// NodeManagement: NodeManagement defines the set of node management +// services turned on for the +// node pool. +type NodeManagement struct { + // AutoRepair: Whether the nodes will be automatically repaired. + AutoRepair bool `json:"autoRepair,omitempty"` + + // AutoUpgrade: Whether the nodes will be automatically upgraded. + AutoUpgrade bool `json:"autoUpgrade,omitempty"` + + // UpgradeOptions: Specifies the Auto Upgrade knobs for the node pool. + UpgradeOptions *AutoUpgradeOptions `json:"upgradeOptions,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AutoRepair") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AutoRepair") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NodeManagement) MarshalJSON() ([]byte, error) { + type noMethod NodeManagement + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// NodePool: NodePool contains the name and configuration for a +// cluster's node pool. +// Node pools are a set of nodes (i.e. VM's), with a common +// configuration and +// specification, under the control of the cluster master. They may have +// a set +// of Kubernetes labels applied to them, which may be used to reference +// them +// during pod scheduling. They may also be resized up or down, to +// accommodate +// the workload. +type NodePool struct { + // Autoscaling: Autoscaler configuration for this NodePool. Autoscaler + // is enabled + // only if a valid configuration is present. + Autoscaling *NodePoolAutoscaling `json:"autoscaling,omitempty"` + + // Config: The node configuration of the pool. + Config *NodeConfig `json:"config,omitempty"` + + // InitialNodeCount: The initial node count for the pool. You must + // ensure that your + // Compute Engine resource + // quota + // is sufficient for this number of instances. You must also have + // available + // firewall and routes quota. + InitialNodeCount int64 `json:"initialNodeCount,omitempty"` + + // InstanceGroupUrls: [Output only] The resource URLs of + // [instance + // groups](/compute/docs/instance-groups/) associated with this + // node pool. + InstanceGroupUrls []string `json:"instanceGroupUrls,omitempty"` + + // Management: NodeManagement configuration for this NodePool. + Management *NodeManagement `json:"management,omitempty"` + + // Name: The name of the node pool. + Name string `json:"name,omitempty"` + + // SelfLink: [Output only] Server-defined URL for the resource. + SelfLink string `json:"selfLink,omitempty"` + + // Status: [Output only] The status of the nodes in this pool instance. + // + // Possible values: + // "STATUS_UNSPECIFIED" - Not set. + // "PROVISIONING" - The PROVISIONING state indicates the node pool is + // being created. + // "RUNNING" - The RUNNING state indicates the node pool has been + // created + // and is fully usable. + // "RUNNING_WITH_ERROR" - The RUNNING_WITH_ERROR state indicates the + // node pool has been created + // and is partially usable. Some error state has occurred and + // some + // functionality may be impaired. Customer may need to reissue a + // request + // or trigger a new update. + // "RECONCILING" - The RECONCILING state indicates that some work is + // actively being done on + // the node pool, such as upgrading node software. Details can + // be found in the `statusMessage` field. + // "STOPPING" - The STOPPING state indicates the node pool is being + // deleted. + // "ERROR" - The ERROR state indicates the node pool may be unusable. + // Details + // can be found in the `statusMessage` field. + Status string `json:"status,omitempty"` + + // StatusMessage: [Output only] Additional information about the current + // status of this + // node pool instance, if available. + StatusMessage string `json:"statusMessage,omitempty"` + + // Version: [Output only] The version of the Kubernetes of this node. + Version string `json:"version,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Autoscaling") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Autoscaling") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NodePool) MarshalJSON() ([]byte, error) { + type noMethod NodePool + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// NodePoolAutoscaling: NodePoolAutoscaling contains information +// required by cluster autoscaler to +// adjust the size of the node pool to the current cluster usage. +type NodePoolAutoscaling struct { + // Enabled: Is autoscaling enabled for this node pool. + Enabled bool `json:"enabled,omitempty"` + + // MaxNodeCount: Maximum number of nodes in the NodePool. Must be >= + // min_node_count. There + // has to enough quota to scale up the cluster. + MaxNodeCount int64 `json:"maxNodeCount,omitempty"` + + // MinNodeCount: Minimum number of nodes in the NodePool. Must be >= 1 + // and <= + // max_node_count. + MinNodeCount int64 `json:"minNodeCount,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Enabled") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NodePoolAutoscaling) MarshalJSON() ([]byte, error) { + type noMethod NodePoolAutoscaling + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// NodeTaint: Kubernetes taint is comprised of three fields: key, value, +// and effect. Effect +// can only be one of three types: NoSchedule, PreferNoSchedule or +// NoExecute. +// +// For more information, including usage and the valid values, +// see: +// https://kubernetes.io/docs/concepts/configuration/taint-and-toler +// ation/ +type NodeTaint struct { + // Effect: Effect for taint. + // + // Possible values: + // "NO_SCHEDULE" - NoSchedule + // "PREFER_NO_SCHEDULE" - PreferNoSchedule + // "NO_EXECUTE" - NoExecute + Effect string `json:"effect,omitempty"` + + // Key: Key for taint. + Key string `json:"key,omitempty"` + + // Value: Value for taint. + Value string `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Effect") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Effect") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NodeTaint) MarshalJSON() ([]byte, error) { + type noMethod NodeTaint + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Operation: This operation resource represents operations that may +// have happened or are +// happening on the cluster. All fields are output only. +type Operation struct { + // Detail: Detailed operation progress, if available. + Detail string `json:"detail,omitempty"` + + // EndTime: [Output only] The time the operation completed, + // in + // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + EndTime string `json:"endTime,omitempty"` + + // Location: [Output only] The name of the Google Compute + // Engine + // [zone](/compute/docs/regions-zones/regions-zones#available) + // or + // [region](/compute/docs/regions-zones/regions-zones#available) in + // which + // the cluster resides. + Location string `json:"location,omitempty"` + + // Name: The server-assigned ID for the operation. + Name string `json:"name,omitempty"` + + // OperationType: The operation type. + // + // Possible values: + // "TYPE_UNSPECIFIED" - Not set. + // "CREATE_CLUSTER" - Cluster create. + // "DELETE_CLUSTER" - Cluster delete. + // "UPGRADE_MASTER" - A master upgrade. + // "UPGRADE_NODES" - A node upgrade. + // "REPAIR_CLUSTER" - Cluster repair. + // "UPDATE_CLUSTER" - Cluster update. + // "CREATE_NODE_POOL" - Node pool create. + // "DELETE_NODE_POOL" - Node pool delete. + // "SET_NODE_POOL_MANAGEMENT" - Set node pool management. + // "AUTO_REPAIR_NODES" - Automatic node pool repair. + // "AUTO_UPGRADE_NODES" - Automatic node upgrade. + // "SET_LABELS" - Set labels. + // "SET_MASTER_AUTH" - Set/generate master auth materials + // "SET_NODE_POOL_SIZE" - Set node pool size. + // "SET_NETWORK_POLICY" - Updates network policy for a cluster. + // "SET_MAINTENANCE_POLICY" - Set the maintenance policy. + OperationType string `json:"operationType,omitempty"` + + // SelfLink: Server-defined URL for the resource. + SelfLink string `json:"selfLink,omitempty"` + + // StartTime: [Output only] The time the operation started, + // in + // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + StartTime string `json:"startTime,omitempty"` + + // Status: The current status of the operation. + // + // Possible values: + // "STATUS_UNSPECIFIED" - Not set. + // "PENDING" - The operation has been created. + // "RUNNING" - The operation is currently running. + // "DONE" - The operation is done, either cancelled or completed. + // "ABORTING" - The operation is aborting. + Status string `json:"status,omitempty"` + + // StatusMessage: If an error has occurred, a textual description of the + // error. + StatusMessage string `json:"statusMessage,omitempty"` + + // TargetLink: Server-defined URL for the target of the operation. + TargetLink string `json:"targetLink,omitempty"` + + // Zone: The name of the Google Compute + // Engine + // [zone](/compute/docs/zones#available) in which the operation + // is taking place. + // This field is deprecated, use location instead. + 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. "Detail") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Detail") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Operation) MarshalJSON() ([]byte, error) { + type noMethod Operation + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// RollbackNodePoolUpgradeRequest: RollbackNodePoolUpgradeRequest +// rollbacks the previously Aborted or Failed +// NodePool upgrade. This will be an no-op if the last upgrade +// successfully +// completed. +type RollbackNodePoolUpgradeRequest struct { + // ClusterId: The name of the cluster to rollback. + // This field is deprecated, use name instead. + ClusterId string `json:"clusterId,omitempty"` + + // Name: The name (project, location, cluster, node pool id) of the node + // poll to + // rollback upgrade. + // Specified in the format + // 'projects/*/locations/*/clusters/*/nodePools/*'. + Name string `json:"name,omitempty"` + + // NodePoolId: The name of the node pool to rollback. + // This field is deprecated, use name instead. + NodePoolId string `json:"nodePoolId,omitempty"` + + // ProjectId: The Google Developers Console [project ID or + // project + // number](https://support.google.com/cloud/answer/6158840). + // This + // field is deprecated, use name instead. + ProjectId string `json:"projectId,omitempty"` + + // Zone: The name of the Google Compute + // Engine + // [zone](/compute/docs/zones#available) in which the + // cluster + // resides. + // This field is deprecated, use name instead. + Zone string `json:"zone,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ClusterId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ClusterId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RollbackNodePoolUpgradeRequest) MarshalJSON() ([]byte, error) { + type noMethod RollbackNodePoolUpgradeRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ServerConfig: Container Engine service configuration. +type ServerConfig struct { + // DefaultClusterVersion: Version of Kubernetes the service deploys by + // default. + DefaultClusterVersion string `json:"defaultClusterVersion,omitempty"` + + // DefaultImageType: Default image type. + DefaultImageType string `json:"defaultImageType,omitempty"` + + // ValidImageTypes: List of valid image types. + ValidImageTypes []string `json:"validImageTypes,omitempty"` + + // ValidMasterVersions: List of valid master versions. + ValidMasterVersions []string `json:"validMasterVersions,omitempty"` + + // ValidNodeVersions: List of valid node upgrade target versions. + ValidNodeVersions []string `json:"validNodeVersions,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. + // "DefaultClusterVersion") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DefaultClusterVersion") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *ServerConfig) MarshalJSON() ([]byte, error) { + type noMethod ServerConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SetLabelsRequest: SetLabelsRequest sets the Google Cloud Platform +// labels on a Google Container +// Engine cluster, which will in turn set them for Google Compute +// Engine +// resources used by that cluster +type SetLabelsRequest struct { + // ClusterId: The name of the cluster. + // This field is deprecated, use name instead. + ClusterId string `json:"clusterId,omitempty"` + + // LabelFingerprint: The fingerprint of the previous set of labels for + // this resource, + // used to detect conflicts. The fingerprint is initially generated + // by + // Container 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. Make a get() request to + // the + // resource to get the latest fingerprint. + LabelFingerprint string `json:"labelFingerprint,omitempty"` + + // Name: The name (project, location, cluster id) of the cluster to set + // labels. + // Specified in the format 'projects/*/locations/*/clusters/*'. + Name string `json:"name,omitempty"` + + // ProjectId: The Google Developers Console [project ID or + // project + // number](https://developers.google.com/console/help/new/#projec + // tnumber). + // This field is deprecated, use name instead. + ProjectId string `json:"projectId,omitempty"` + + // ResourceLabels: The labels to set for that cluster. + ResourceLabels map[string]string `json:"resourceLabels,omitempty"` + + // Zone: The name of the Google Compute + // Engine + // [zone](/compute/docs/zones#available) in which the + // cluster + // resides. + // This field is deprecated, use name instead. + Zone string `json:"zone,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ClusterId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ClusterId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SetLabelsRequest) MarshalJSON() ([]byte, error) { + type noMethod SetLabelsRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SetLegacyAbacRequest: SetLegacyAbacRequest enables or disables the +// ABAC authorization mechanism for +// a cluster. +type SetLegacyAbacRequest struct { + // ClusterId: The name of the cluster to update. + // This field is deprecated, use name instead. + ClusterId string `json:"clusterId,omitempty"` + + // Enabled: Whether ABAC authorization will be enabled in the cluster. + Enabled bool `json:"enabled,omitempty"` + + // Name: The name (project, location, cluster id) of the cluster to set + // legacy abac. + // Specified in the format 'projects/*/locations/*/clusters/*'. + Name string `json:"name,omitempty"` + + // ProjectId: The Google Developers Console [project ID or + // project + // number](https://support.google.com/cloud/answer/6158840). + // This + // field is deprecated, use name instead. + ProjectId string `json:"projectId,omitempty"` + + // Zone: The name of the Google Compute + // Engine + // [zone](/compute/docs/zones#available) in which the + // cluster + // resides. + // This field is deprecated, use name instead. + Zone string `json:"zone,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ClusterId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ClusterId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SetLegacyAbacRequest) MarshalJSON() ([]byte, error) { + type noMethod SetLegacyAbacRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SetMaintenancePolicyRequest: SetMaintenancePolicyRequest sets the +// maintenance policy for a cluster. +type SetMaintenancePolicyRequest struct { + // ClusterId: The name of the cluster to update. + ClusterId string `json:"clusterId,omitempty"` + + // MaintenancePolicy: The maintenance policy to be set for the cluster. + // An empty field + // clears the existing maintenance policy. + MaintenancePolicy *MaintenancePolicy `json:"maintenancePolicy,omitempty"` + + // Name: The name (project, location, cluster id) of the cluster to set + // maintenance + // policy. + // Specified in the format 'projects/*/locations/*/clusters/*'. + Name string `json:"name,omitempty"` + + // ProjectId: The Google Developers Console [project ID or + // project + // number](https://support.google.com/cloud/answer/6158840). + ProjectId string `json:"projectId,omitempty"` + + // Zone: The name of the Google Compute + // Engine + // [zone](/compute/docs/zones#available) in which the cluster + // resides. + Zone string `json:"zone,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ClusterId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ClusterId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SetMaintenancePolicyRequest) MarshalJSON() ([]byte, error) { + type noMethod SetMaintenancePolicyRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SetMasterAuthRequest: SetMasterAuthRequest updates the admin password +// of a cluster. +type SetMasterAuthRequest struct { + // Action: The exact form of action to be taken on the master auth + // + // Possible values: + // "UNKNOWN" - Operation is unknown and will error out + // "SET_PASSWORD" - Set the password to a user generated value. + // "GENERATE_PASSWORD" - Generate a new password and set it to that. + Action string `json:"action,omitempty"` + + // ClusterId: The name of the cluster to upgrade. + // This field is deprecated, use name instead. + ClusterId string `json:"clusterId,omitempty"` + + // Name: The name (project, location, cluster) of the cluster to set + // auth. + // Specified in the format 'projects/*/locations/*/clusters/*'. + Name string `json:"name,omitempty"` + + // ProjectId: The Google Developers Console [project ID or + // project + // number](https://support.google.com/cloud/answer/6158840). + // This + // field is deprecated, use name instead. + ProjectId string `json:"projectId,omitempty"` + + // Update: A description of the update. + Update *MasterAuth `json:"update,omitempty"` + + // Zone: The name of the Google Compute + // Engine + // [zone](/compute/docs/zones#available) in which the + // cluster + // resides. + // This field is deprecated, use name instead. + Zone string `json:"zone,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Action") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Action") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SetMasterAuthRequest) MarshalJSON() ([]byte, error) { + type noMethod SetMasterAuthRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SetNetworkPolicyRequest: SetNetworkPolicyRequest enables/disables +// network policy for a cluster. +type SetNetworkPolicyRequest struct { + // ClusterId: The name of the cluster. + // This field is deprecated, use name instead. + ClusterId string `json:"clusterId,omitempty"` + + // Name: The name (project, location, cluster id) of the cluster to set + // networking policy. + // Specified in the format 'projects/*/locations/*/clusters/*'. + Name string `json:"name,omitempty"` + + // NetworkPolicy: Configuration options for the NetworkPolicy feature. + NetworkPolicy *NetworkPolicy `json:"networkPolicy,omitempty"` + + // ProjectId: The Google Developers Console [project ID or + // project + // number](https://developers.google.com/console/help/new/#projec + // tnumber). + // This field is deprecated, use name instead. + ProjectId string `json:"projectId,omitempty"` + + // Zone: The name of the Google Compute + // Engine + // [zone](/compute/docs/zones#available) in which the + // cluster + // resides. + // This field is deprecated, use name instead. + Zone string `json:"zone,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ClusterId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ClusterId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SetNetworkPolicyRequest) MarshalJSON() ([]byte, error) { + type noMethod SetNetworkPolicyRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SetNodePoolManagementRequest: SetNodePoolManagementRequest sets the +// node management properties of a node +// pool. +type SetNodePoolManagementRequest struct { + // ClusterId: The name of the cluster to update. + // This field is deprecated, use name instead. + ClusterId string `json:"clusterId,omitempty"` + + // Management: NodeManagement configuration for the node pool. + Management *NodeManagement `json:"management,omitempty"` + + // Name: The name (project, location, cluster, node pool id) of the node + // pool to set + // management properties. Specified in the + // format + // 'projects/*/locations/*/clusters/*/nodePools/*'. + Name string `json:"name,omitempty"` + + // NodePoolId: The name of the node pool to update. + // This field is deprecated, use name instead. + NodePoolId string `json:"nodePoolId,omitempty"` + + // ProjectId: The Google Developers Console [project ID or + // project + // number](https://support.google.com/cloud/answer/6158840). + // This + // field is deprecated, use name instead. + ProjectId string `json:"projectId,omitempty"` + + // Zone: The name of the Google Compute + // Engine + // [zone](/compute/docs/zones#available) in which the + // cluster + // resides. + // This field is deprecated, use name instead. + Zone string `json:"zone,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ClusterId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ClusterId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SetNodePoolManagementRequest) MarshalJSON() ([]byte, error) { + type noMethod SetNodePoolManagementRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// StartIPRotationRequest: StartIPRotationRequest creates a new IP for +// the cluster and then performs +// a node upgrade on each node pool to point to the new IP. +type StartIPRotationRequest struct { + // ClusterId: The name of the cluster. + // This field is deprecated, use name instead. + ClusterId string `json:"clusterId,omitempty"` + + // Name: The name (project, location, cluster id) of the cluster to + // start IP rotation. + // Specified in the format 'projects/*/locations/*/clusters/*'. + Name string `json:"name,omitempty"` + + // ProjectId: The Google Developers Console [project ID or + // project + // number](https://developers.google.com/console/help/new/#projec + // tnumber). + // This field is deprecated, use name instead. + ProjectId string `json:"projectId,omitempty"` + + // Zone: The name of the Google Compute + // Engine + // [zone](/compute/docs/zones#available) in which the + // cluster + // resides. + // This field is deprecated, use name instead. + Zone string `json:"zone,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ClusterId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ClusterId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *StartIPRotationRequest) MarshalJSON() ([]byte, error) { + type noMethod StartIPRotationRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// UpdateClusterRequest: UpdateClusterRequest updates the settings of a +// cluster. +type UpdateClusterRequest struct { + // ClusterId: The name of the cluster to upgrade. + // This field is deprecated, use name instead. + ClusterId string `json:"clusterId,omitempty"` + + // Name: The name (project, location, cluster) of the cluster to + // update. + // Specified in the format 'projects/*/locations/*/clusters/*'. + Name string `json:"name,omitempty"` + + // ProjectId: The Google Developers Console [project ID or + // project + // number](https://support.google.com/cloud/answer/6158840). + // This + // field is deprecated, use name instead. + ProjectId string `json:"projectId,omitempty"` + + // Update: A description of the update. + Update *ClusterUpdate `json:"update,omitempty"` + + // Zone: The name of the Google Compute + // Engine + // [zone](/compute/docs/zones#available) in which the + // cluster + // resides. + // This field is deprecated, use name instead. + Zone string `json:"zone,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ClusterId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ClusterId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *UpdateClusterRequest) MarshalJSON() ([]byte, error) { + type noMethod UpdateClusterRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// method id "container.projects.locations.getServerConfig": + +type ProjectsLocationsGetServerConfigCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// GetServerConfig: Returns configuration info about the Container +// Engine service. +func (r *ProjectsLocationsService) GetServerConfig(name string) *ProjectsLocationsGetServerConfigCall { + c := &ProjectsLocationsGetServerConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// ProjectId sets the optional parameter "projectId": The Google +// Developers Console [project ID or +// project +// number](https://support.google.com/cloud/answer/6158840). +// This +// field is deprecated, use name instead. +func (c *ProjectsLocationsGetServerConfigCall) ProjectId(projectId string) *ProjectsLocationsGetServerConfigCall { + c.urlParams_.Set("projectId", projectId) + return c +} + +// Zone sets the optional parameter "zone": The name of the Google +// Compute Engine [zone](/compute/docs/zones#available) +// to return operations for. +// This field is deprecated, use name instead. +func (c *ProjectsLocationsGetServerConfigCall) Zone(zone string) *ProjectsLocationsGetServerConfigCall { + c.urlParams_.Set("zone", zone) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsGetServerConfigCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetServerConfigCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsGetServerConfigCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetServerConfigCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsGetServerConfigCall) Context(ctx context.Context) *ProjectsLocationsGetServerConfigCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsGetServerConfigCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsGetServerConfigCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/serverConfig") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.locations.getServerConfig" call. +// Exactly one of *ServerConfig or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *ServerConfig.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsGetServerConfigCall) Do(opts ...googleapi.CallOption) (*ServerConfig, 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, &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, err + } + ret := &ServerConfig{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns configuration info about the Container Engine service.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverConfig", + // "httpMethod": "GET", + // "id": "container.projects.locations.getServerConfig", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name (project and location) of the server config to get\nSpecified in the format 'projects/*/locations/*'.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + // "location": "query", + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine [zone](/compute/docs/zones#available)\nto return operations for.\nThis field is deprecated, use name instead.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}/serverConfig", + // "response": { + // "$ref": "ServerConfig" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.locations.clusters.completeIpRotation": + +type ProjectsLocationsClustersCompleteIpRotationCall struct { + s *Service + name string + completeiprotationrequest *CompleteIPRotationRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// CompleteIpRotation: Completes master IP rotation. +func (r *ProjectsLocationsClustersService) CompleteIpRotation(name string, completeiprotationrequest *CompleteIPRotationRequest) *ProjectsLocationsClustersCompleteIpRotationCall { + c := &ProjectsLocationsClustersCompleteIpRotationCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.completeiprotationrequest = completeiprotationrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsClustersCompleteIpRotationCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersCompleteIpRotationCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsClustersCompleteIpRotationCall) Context(ctx context.Context) *ProjectsLocationsClustersCompleteIpRotationCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsClustersCompleteIpRotationCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsClustersCompleteIpRotationCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.completeiprotationrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:completeIpRotation") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.locations.clusters.completeIpRotation" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsClustersCompleteIpRotationCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Completes master IP rotation.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:completeIpRotation", + // "httpMethod": "POST", + // "id": "container.projects.locations.clusters.completeIpRotation", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name (project, location, cluster id) of the cluster to complete IP rotation.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}:completeIpRotation", + // "request": { + // "$ref": "CompleteIPRotationRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.locations.clusters.create": + +type ProjectsLocationsClustersCreateCall struct { + s *Service + parent string + createclusterrequest *CreateClusterRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a cluster, consisting of the specified number and +// type of Google +// Compute Engine instances. +// +// By default, the cluster is created in the project's +// [default +// network](/compute/docs/networks-and-firewalls#networks). +// +// One firewall is added for the cluster. After cluster creation, +// the cluster creates routes for each node to allow the containers +// on that node to communicate with all other instances in +// the +// cluster. +// +// Finally, an entry is added to the project's global metadata +// indicating +// which CIDR range is being used by the cluster. +func (r *ProjectsLocationsClustersService) Create(parent string, createclusterrequest *CreateClusterRequest) *ProjectsLocationsClustersCreateCall { + c := &ProjectsLocationsClustersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.createclusterrequest = createclusterrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsClustersCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsClustersCreateCall) Context(ctx context.Context) *ProjectsLocationsClustersCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsClustersCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsClustersCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.createclusterrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/clusters") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.locations.clusters.create" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsClustersCreateCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a cluster, consisting of the specified number and type of Google\nCompute Engine instances.\n\nBy default, the cluster is created in the project's\n[default network](/compute/docs/networks-and-firewalls#networks).\n\nOne firewall is added for the cluster. After cluster creation,\nthe cluster creates routes for each node to allow the containers\non that node to communicate with all other instances in the\ncluster.\n\nFinally, an entry is added to the project's global metadata indicating\nwhich CIDR range is being used by the cluster.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters", + // "httpMethod": "POST", + // "id": "container.projects.locations.clusters.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "The parent (project and location) where the cluster will be created.\nSpecified in the format 'projects/*/locations/*'.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+parent}/clusters", + // "request": { + // "$ref": "CreateClusterRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.locations.clusters.delete": + +type ProjectsLocationsClustersDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes the cluster, including the Kubernetes endpoint and +// all worker +// nodes. +// +// Firewalls and routes that were configured during cluster creation +// are also deleted. +// +// Other Google Compute Engine resources that might be in use by the +// cluster +// (e.g. load balancer resources) will not be deleted if they weren't +// present +// at the initial create time. +func (r *ProjectsLocationsClustersService) Delete(name string) *ProjectsLocationsClustersDeleteCall { + c := &ProjectsLocationsClustersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// ClusterId sets the optional parameter "clusterId": The name of the +// cluster to delete. +// This field is deprecated, use name instead. +func (c *ProjectsLocationsClustersDeleteCall) ClusterId(clusterId string) *ProjectsLocationsClustersDeleteCall { + c.urlParams_.Set("clusterId", clusterId) + return c +} + +// ProjectId sets the optional parameter "projectId": The Google +// Developers Console [project ID or +// project +// number](https://support.google.com/cloud/answer/6158840). +// This +// field is deprecated, use name instead. +func (c *ProjectsLocationsClustersDeleteCall) ProjectId(projectId string) *ProjectsLocationsClustersDeleteCall { + c.urlParams_.Set("projectId", projectId) + return c +} + +// Zone sets the optional parameter "zone": The name of the Google +// Compute Engine +// [zone](/compute/docs/zones#available) in which the +// cluster +// resides. +// This field is deprecated, use name instead. +func (c *ProjectsLocationsClustersDeleteCall) Zone(zone string) *ProjectsLocationsClustersDeleteCall { + c.urlParams_.Set("zone", zone) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsClustersDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsClustersDeleteCall) Context(ctx context.Context) *ProjectsLocationsClustersDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsClustersDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsClustersDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.locations.clusters.delete" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsClustersDeleteCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes the cluster, including the Kubernetes endpoint and all worker\nnodes.\n\nFirewalls and routes that were configured during cluster creation\nare also deleted.\n\nOther Google Compute Engine resources that might be in use by the cluster\n(e.g. load balancer resources) will not be deleted if they weren't present\nat the initial create time.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}", + // "httpMethod": "DELETE", + // "id": "container.projects.locations.clusters.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "clusterId": { + // "description": "The name of the cluster to delete.\nThis field is deprecated, use name instead.", + // "location": "query", + // "type": "string" + // }, + // "name": { + // "description": "The name (project, location, cluster) of the cluster to delete.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + // "location": "query", + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}", + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.locations.clusters.get": + +type ProjectsLocationsClustersGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the details of a specific cluster. +func (r *ProjectsLocationsClustersService) Get(name string) *ProjectsLocationsClustersGetCall { + c := &ProjectsLocationsClustersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// ClusterId sets the optional parameter "clusterId": The name of the +// cluster to retrieve. +// This field is deprecated, use name instead. +func (c *ProjectsLocationsClustersGetCall) ClusterId(clusterId string) *ProjectsLocationsClustersGetCall { + c.urlParams_.Set("clusterId", clusterId) + return c +} + +// ProjectId sets the optional parameter "projectId": The Google +// Developers Console [project ID or +// project +// number](https://support.google.com/cloud/answer/6158840). +// This +// field is deprecated, use name instead. +func (c *ProjectsLocationsClustersGetCall) ProjectId(projectId string) *ProjectsLocationsClustersGetCall { + c.urlParams_.Set("projectId", projectId) + return c +} + +// Zone sets the optional parameter "zone": The name of the Google +// Compute Engine +// [zone](/compute/docs/zones#available) in which the +// cluster +// resides. +// This field is deprecated, use name instead. +func (c *ProjectsLocationsClustersGetCall) Zone(zone string) *ProjectsLocationsClustersGetCall { + c.urlParams_.Set("zone", zone) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsClustersGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsClustersGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsClustersGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsClustersGetCall) Context(ctx context.Context) *ProjectsLocationsClustersGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsClustersGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsClustersGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.locations.clusters.get" call. +// Exactly one of *Cluster or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Cluster.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsClustersGetCall) Do(opts ...googleapi.CallOption) (*Cluster, 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, &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, err + } + ret := &Cluster{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the details of a specific cluster.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}", + // "httpMethod": "GET", + // "id": "container.projects.locations.clusters.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "clusterId": { + // "description": "The name of the cluster to retrieve.\nThis field is deprecated, use name instead.", + // "location": "query", + // "type": "string" + // }, + // "name": { + // "description": "The name (project, location, cluster) of the cluster to retrieve.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + // "location": "query", + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}", + // "response": { + // "$ref": "Cluster" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.locations.clusters.list": + +type ProjectsLocationsClustersListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists all clusters owned by a project in either the specified +// zone or all +// zones. +func (r *ProjectsLocationsClustersService) List(parent string) *ProjectsLocationsClustersListCall { + c := &ProjectsLocationsClustersListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// ProjectId sets the optional parameter "projectId": The Google +// Developers Console [project ID or +// project +// number](https://support.google.com/cloud/answer/6158840). +// This +// field is deprecated, use parent instead. +func (c *ProjectsLocationsClustersListCall) ProjectId(projectId string) *ProjectsLocationsClustersListCall { + c.urlParams_.Set("projectId", projectId) + return c +} + +// Zone sets the optional parameter "zone": The name of the Google +// Compute Engine +// [zone](/compute/docs/zones#available) in which the cluster +// resides, or "-" for all zones. +// This field is deprecated, use parent instead. +func (c *ProjectsLocationsClustersListCall) Zone(zone string) *ProjectsLocationsClustersListCall { + c.urlParams_.Set("zone", zone) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsClustersListCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsClustersListCall) IfNoneMatch(entityTag string) *ProjectsLocationsClustersListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsClustersListCall) Context(ctx context.Context) *ProjectsLocationsClustersListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsClustersListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsClustersListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/clusters") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.locations.clusters.list" call. +// Exactly one of *ListClustersResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListClustersResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsClustersListCall) Do(opts ...googleapi.CallOption) (*ListClustersResponse, 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, &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, err + } + ret := &ListClustersResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists all clusters owned by a project in either the specified zone or all\nzones.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters", + // "httpMethod": "GET", + // "id": "container.projects.locations.clusters.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "The parent (project and location) where the clusters will be listed.\nSpecified in the format 'projects/*/locations/*'.\nLocation \"-\" matches all zones and all regions.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use parent instead.", + // "location": "query", + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides, or \"-\" for all zones.\nThis field is deprecated, use parent instead.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1beta1/{+parent}/clusters", + // "response": { + // "$ref": "ListClustersResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.locations.clusters.setLegacyAbac": + +type ProjectsLocationsClustersSetLegacyAbacCall struct { + s *Service + name string + setlegacyabacrequest *SetLegacyAbacRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetLegacyAbac: Enables or disables the ABAC authorization mechanism +// on a cluster. +func (r *ProjectsLocationsClustersService) SetLegacyAbac(name string, setlegacyabacrequest *SetLegacyAbacRequest) *ProjectsLocationsClustersSetLegacyAbacCall { + c := &ProjectsLocationsClustersSetLegacyAbacCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.setlegacyabacrequest = setlegacyabacrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsClustersSetLegacyAbacCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersSetLegacyAbacCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsClustersSetLegacyAbacCall) Context(ctx context.Context) *ProjectsLocationsClustersSetLegacyAbacCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsClustersSetLegacyAbacCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsClustersSetLegacyAbacCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.setlegacyabacrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:setLegacyAbac") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.locations.clusters.setLegacyAbac" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsClustersSetLegacyAbacCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Enables or disables the ABAC authorization mechanism on a cluster.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setLegacyAbac", + // "httpMethod": "POST", + // "id": "container.projects.locations.clusters.setLegacyAbac", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name (project, location, cluster id) of the cluster to set legacy abac.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}:setLegacyAbac", + // "request": { + // "$ref": "SetLegacyAbacRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.locations.clusters.setMaintenancePolicy": + +type ProjectsLocationsClustersSetMaintenancePolicyCall struct { + s *Service + name string + setmaintenancepolicyrequest *SetMaintenancePolicyRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetMaintenancePolicy: Sets the maintenance policy for a cluster. +func (r *ProjectsLocationsClustersService) SetMaintenancePolicy(name string, setmaintenancepolicyrequest *SetMaintenancePolicyRequest) *ProjectsLocationsClustersSetMaintenancePolicyCall { + c := &ProjectsLocationsClustersSetMaintenancePolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.setmaintenancepolicyrequest = setmaintenancepolicyrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsClustersSetMaintenancePolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersSetMaintenancePolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsClustersSetMaintenancePolicyCall) Context(ctx context.Context) *ProjectsLocationsClustersSetMaintenancePolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsClustersSetMaintenancePolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsClustersSetMaintenancePolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.setmaintenancepolicyrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:setMaintenancePolicy") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.locations.clusters.setMaintenancePolicy" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsClustersSetMaintenancePolicyCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Sets the maintenance policy for a cluster.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setMaintenancePolicy", + // "httpMethod": "POST", + // "id": "container.projects.locations.clusters.setMaintenancePolicy", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name (project, location, cluster id) of the cluster to set maintenance\npolicy.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}:setMaintenancePolicy", + // "request": { + // "$ref": "SetMaintenancePolicyRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.locations.clusters.setMasterAuth": + +type ProjectsLocationsClustersSetMasterAuthCall struct { + s *Service + name string + setmasterauthrequest *SetMasterAuthRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetMasterAuth: Used to set master auth materials. Currently supports +// :- +// Changing the admin password of a specific cluster. +// This can be either via password generation or explicitly set. +// Modify basic_auth.csv and reset the K8S API server. +func (r *ProjectsLocationsClustersService) SetMasterAuth(name string, setmasterauthrequest *SetMasterAuthRequest) *ProjectsLocationsClustersSetMasterAuthCall { + c := &ProjectsLocationsClustersSetMasterAuthCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.setmasterauthrequest = setmasterauthrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsClustersSetMasterAuthCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersSetMasterAuthCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsClustersSetMasterAuthCall) Context(ctx context.Context) *ProjectsLocationsClustersSetMasterAuthCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsClustersSetMasterAuthCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsClustersSetMasterAuthCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.setmasterauthrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:setMasterAuth") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.locations.clusters.setMasterAuth" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsClustersSetMasterAuthCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Used to set master auth materials. Currently supports :-\nChanging the admin password of a specific cluster.\nThis can be either via password generation or explicitly set.\nModify basic_auth.csv and reset the K8S API server.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setMasterAuth", + // "httpMethod": "POST", + // "id": "container.projects.locations.clusters.setMasterAuth", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name (project, location, cluster) of the cluster to set auth.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}:setMasterAuth", + // "request": { + // "$ref": "SetMasterAuthRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.locations.clusters.setNetworkPolicy": + +type ProjectsLocationsClustersSetNetworkPolicyCall struct { + s *Service + name string + setnetworkpolicyrequest *SetNetworkPolicyRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetNetworkPolicy: Enables/Disables Network Policy for a cluster. +func (r *ProjectsLocationsClustersService) SetNetworkPolicy(name string, setnetworkpolicyrequest *SetNetworkPolicyRequest) *ProjectsLocationsClustersSetNetworkPolicyCall { + c := &ProjectsLocationsClustersSetNetworkPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.setnetworkpolicyrequest = setnetworkpolicyrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsClustersSetNetworkPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersSetNetworkPolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsClustersSetNetworkPolicyCall) Context(ctx context.Context) *ProjectsLocationsClustersSetNetworkPolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsClustersSetNetworkPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsClustersSetNetworkPolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.setnetworkpolicyrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:setNetworkPolicy") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.locations.clusters.setNetworkPolicy" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsClustersSetNetworkPolicyCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Enables/Disables Network Policy for a cluster.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setNetworkPolicy", + // "httpMethod": "POST", + // "id": "container.projects.locations.clusters.setNetworkPolicy", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name (project, location, cluster id) of the cluster to set networking policy.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}:setNetworkPolicy", + // "request": { + // "$ref": "SetNetworkPolicyRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.locations.clusters.setResourceLabels": + +type ProjectsLocationsClustersSetResourceLabelsCall struct { + s *Service + name string + setlabelsrequest *SetLabelsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetResourceLabels: Sets labels on a cluster. +func (r *ProjectsLocationsClustersService) SetResourceLabels(name string, setlabelsrequest *SetLabelsRequest) *ProjectsLocationsClustersSetResourceLabelsCall { + c := &ProjectsLocationsClustersSetResourceLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.setlabelsrequest = setlabelsrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsClustersSetResourceLabelsCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersSetResourceLabelsCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsClustersSetResourceLabelsCall) Context(ctx context.Context) *ProjectsLocationsClustersSetResourceLabelsCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsClustersSetResourceLabelsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsClustersSetResourceLabelsCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.setlabelsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:setResourceLabels") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.locations.clusters.setResourceLabels" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsClustersSetResourceLabelsCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Sets labels on a cluster.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setResourceLabels", + // "httpMethod": "POST", + // "id": "container.projects.locations.clusters.setResourceLabels", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name (project, location, cluster id) of the cluster to set labels.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}:setResourceLabels", + // "request": { + // "$ref": "SetLabelsRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.locations.clusters.startIpRotation": + +type ProjectsLocationsClustersStartIpRotationCall struct { + s *Service + name string + startiprotationrequest *StartIPRotationRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// StartIpRotation: Start master IP rotation. +func (r *ProjectsLocationsClustersService) StartIpRotation(name string, startiprotationrequest *StartIPRotationRequest) *ProjectsLocationsClustersStartIpRotationCall { + c := &ProjectsLocationsClustersStartIpRotationCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.startiprotationrequest = startiprotationrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsClustersStartIpRotationCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersStartIpRotationCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsClustersStartIpRotationCall) Context(ctx context.Context) *ProjectsLocationsClustersStartIpRotationCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsClustersStartIpRotationCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsClustersStartIpRotationCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.startiprotationrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:startIpRotation") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.locations.clusters.startIpRotation" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsClustersStartIpRotationCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Start master IP rotation.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:startIpRotation", + // "httpMethod": "POST", + // "id": "container.projects.locations.clusters.startIpRotation", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name (project, location, cluster id) of the cluster to start IP rotation.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}:startIpRotation", + // "request": { + // "$ref": "StartIPRotationRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.locations.clusters.update": + +type ProjectsLocationsClustersUpdateCall struct { + s *Service + name string + updateclusterrequest *UpdateClusterRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Update: Updates the settings of a specific cluster. +func (r *ProjectsLocationsClustersService) Update(name string, updateclusterrequest *UpdateClusterRequest) *ProjectsLocationsClustersUpdateCall { + c := &ProjectsLocationsClustersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.updateclusterrequest = updateclusterrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsClustersUpdateCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersUpdateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsClustersUpdateCall) Context(ctx context.Context) *ProjectsLocationsClustersUpdateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsClustersUpdateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsClustersUpdateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.updateclusterrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PUT", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.locations.clusters.update" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsClustersUpdateCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates the settings of a specific cluster.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}", + // "httpMethod": "PUT", + // "id": "container.projects.locations.clusters.update", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}", + // "request": { + // "$ref": "UpdateClusterRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.locations.clusters.nodePools.create": + +type ProjectsLocationsClustersNodePoolsCreateCall struct { + s *Service + parent string + createnodepoolrequest *CreateNodePoolRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a node pool for a cluster. +func (r *ProjectsLocationsClustersNodePoolsService) Create(parent string, createnodepoolrequest *CreateNodePoolRequest) *ProjectsLocationsClustersNodePoolsCreateCall { + c := &ProjectsLocationsClustersNodePoolsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.createnodepoolrequest = createnodepoolrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsClustersNodePoolsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersNodePoolsCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsClustersNodePoolsCreateCall) Context(ctx context.Context) *ProjectsLocationsClustersNodePoolsCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsClustersNodePoolsCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsClustersNodePoolsCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.createnodepoolrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/nodePools") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.locations.clusters.nodePools.create" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsClustersNodePoolsCreateCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a node pool for a cluster.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools", + // "httpMethod": "POST", + // "id": "container.projects.locations.clusters.nodePools.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "The parent (project, location, cluster id) where the node pool will be created.\nSpecified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+parent}/nodePools", + // "request": { + // "$ref": "CreateNodePoolRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.locations.clusters.nodePools.delete": + +type ProjectsLocationsClustersNodePoolsDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a node pool from a cluster. +func (r *ProjectsLocationsClustersNodePoolsService) Delete(name string) *ProjectsLocationsClustersNodePoolsDeleteCall { + c := &ProjectsLocationsClustersNodePoolsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// ClusterId sets the optional parameter "clusterId": The name of the +// cluster. +// This field is deprecated, use name instead. +func (c *ProjectsLocationsClustersNodePoolsDeleteCall) ClusterId(clusterId string) *ProjectsLocationsClustersNodePoolsDeleteCall { + c.urlParams_.Set("clusterId", clusterId) + return c +} + +// NodePoolId sets the optional parameter "nodePoolId": The name of the +// node pool to delete. +// This field is deprecated, use name instead. +func (c *ProjectsLocationsClustersNodePoolsDeleteCall) NodePoolId(nodePoolId string) *ProjectsLocationsClustersNodePoolsDeleteCall { + c.urlParams_.Set("nodePoolId", nodePoolId) + return c +} + +// ProjectId sets the optional parameter "projectId": The Google +// Developers Console [project ID or +// project +// number](https://developers.google.com/console/help/new/#projec +// tnumber). +// This field is deprecated, use name instead. +func (c *ProjectsLocationsClustersNodePoolsDeleteCall) ProjectId(projectId string) *ProjectsLocationsClustersNodePoolsDeleteCall { + c.urlParams_.Set("projectId", projectId) + return c +} + +// Zone sets the optional parameter "zone": The name of the Google +// Compute Engine +// [zone](/compute/docs/zones#available) in which the +// cluster +// resides. +// This field is deprecated, use name instead. +func (c *ProjectsLocationsClustersNodePoolsDeleteCall) Zone(zone string) *ProjectsLocationsClustersNodePoolsDeleteCall { + c.urlParams_.Set("zone", zone) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsClustersNodePoolsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersNodePoolsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsClustersNodePoolsDeleteCall) Context(ctx context.Context) *ProjectsLocationsClustersNodePoolsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsClustersNodePoolsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsClustersNodePoolsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.locations.clusters.nodePools.delete" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsClustersNodePoolsDeleteCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes a node pool from a cluster.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}", + // "httpMethod": "DELETE", + // "id": "container.projects.locations.clusters.nodePools.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "clusterId": { + // "description": "The name of the cluster.\nThis field is deprecated, use name instead.", + // "location": "query", + // "type": "string" + // }, + // "name": { + // "description": "The name (project, location, cluster, node pool id) of the node pool to delete.\nSpecified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "nodePoolId": { + // "description": "The name of the node pool to delete.\nThis field is deprecated, use name instead.", + // "location": "query", + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use name instead.", + // "location": "query", + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}", + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.locations.clusters.nodePools.get": + +type ProjectsLocationsClustersNodePoolsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Retrieves the node pool requested. +func (r *ProjectsLocationsClustersNodePoolsService) Get(name string) *ProjectsLocationsClustersNodePoolsGetCall { + c := &ProjectsLocationsClustersNodePoolsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// ClusterId sets the optional parameter "clusterId": The name of the +// cluster. +// This field is deprecated, use name instead. +func (c *ProjectsLocationsClustersNodePoolsGetCall) ClusterId(clusterId string) *ProjectsLocationsClustersNodePoolsGetCall { + c.urlParams_.Set("clusterId", clusterId) + return c +} + +// NodePoolId sets the optional parameter "nodePoolId": The name of the +// node pool. +// This field is deprecated, use name instead. +func (c *ProjectsLocationsClustersNodePoolsGetCall) NodePoolId(nodePoolId string) *ProjectsLocationsClustersNodePoolsGetCall { + c.urlParams_.Set("nodePoolId", nodePoolId) + return c +} + +// ProjectId sets the optional parameter "projectId": The Google +// Developers Console [project ID or +// project +// number](https://developers.google.com/console/help/new/#projec +// tnumber). +// This field is deprecated, use name instead. +func (c *ProjectsLocationsClustersNodePoolsGetCall) ProjectId(projectId string) *ProjectsLocationsClustersNodePoolsGetCall { + c.urlParams_.Set("projectId", projectId) + return c +} + +// Zone sets the optional parameter "zone": The name of the Google +// Compute Engine +// [zone](/compute/docs/zones#available) in which the +// cluster +// resides. +// This field is deprecated, use name instead. +func (c *ProjectsLocationsClustersNodePoolsGetCall) Zone(zone string) *ProjectsLocationsClustersNodePoolsGetCall { + c.urlParams_.Set("zone", zone) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsClustersNodePoolsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersNodePoolsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsClustersNodePoolsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsClustersNodePoolsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsClustersNodePoolsGetCall) Context(ctx context.Context) *ProjectsLocationsClustersNodePoolsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsClustersNodePoolsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsClustersNodePoolsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.locations.clusters.nodePools.get" call. +// Exactly one of *NodePool or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *NodePool.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsClustersNodePoolsGetCall) Do(opts ...googleapi.CallOption) (*NodePool, 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, &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, err + } + ret := &NodePool{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Retrieves the node pool requested.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}", + // "httpMethod": "GET", + // "id": "container.projects.locations.clusters.nodePools.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "clusterId": { + // "description": "The name of the cluster.\nThis field is deprecated, use name instead.", + // "location": "query", + // "type": "string" + // }, + // "name": { + // "description": "The name (project, location, cluster, node pool id) of the node pool to get.\nSpecified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "nodePoolId": { + // "description": "The name of the node pool.\nThis field is deprecated, use name instead.", + // "location": "query", + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use name instead.", + // "location": "query", + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}", + // "response": { + // "$ref": "NodePool" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.locations.clusters.nodePools.list": + +type ProjectsLocationsClustersNodePoolsListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists the node pools for a cluster. +func (r *ProjectsLocationsClustersNodePoolsService) List(parent string) *ProjectsLocationsClustersNodePoolsListCall { + c := &ProjectsLocationsClustersNodePoolsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// ClusterId sets the optional parameter "clusterId": The name of the +// cluster. +// This field is deprecated, use parent instead. +func (c *ProjectsLocationsClustersNodePoolsListCall) ClusterId(clusterId string) *ProjectsLocationsClustersNodePoolsListCall { + c.urlParams_.Set("clusterId", clusterId) + return c +} + +// ProjectId sets the optional parameter "projectId": The Google +// Developers Console [project ID or +// project +// number](https://developers.google.com/console/help/new/#projec +// tnumber). +// This field is deprecated, use parent instead. +func (c *ProjectsLocationsClustersNodePoolsListCall) ProjectId(projectId string) *ProjectsLocationsClustersNodePoolsListCall { + c.urlParams_.Set("projectId", projectId) + return c +} + +// Zone sets the optional parameter "zone": The name of the Google +// Compute Engine +// [zone](/compute/docs/zones#available) in which the +// cluster +// resides. +// This field is deprecated, use parent instead. +func (c *ProjectsLocationsClustersNodePoolsListCall) Zone(zone string) *ProjectsLocationsClustersNodePoolsListCall { + c.urlParams_.Set("zone", zone) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsClustersNodePoolsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersNodePoolsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsClustersNodePoolsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsClustersNodePoolsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsClustersNodePoolsListCall) Context(ctx context.Context) *ProjectsLocationsClustersNodePoolsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsClustersNodePoolsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsClustersNodePoolsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/nodePools") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.locations.clusters.nodePools.list" call. +// Exactly one of *ListNodePoolsResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListNodePoolsResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsClustersNodePoolsListCall) Do(opts ...googleapi.CallOption) (*ListNodePoolsResponse, 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, &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, err + } + ret := &ListNodePoolsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists the node pools for a cluster.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools", + // "httpMethod": "GET", + // "id": "container.projects.locations.clusters.nodePools.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "clusterId": { + // "description": "The name of the cluster.\nThis field is deprecated, use parent instead.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "The parent (project, location, cluster id) where the node pools will be listed.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use parent instead.", + // "location": "query", + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use parent instead.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1beta1/{+parent}/nodePools", + // "response": { + // "$ref": "ListNodePoolsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.locations.clusters.nodePools.rollback": + +type ProjectsLocationsClustersNodePoolsRollbackCall struct { + s *Service + name string + rollbacknodepoolupgraderequest *RollbackNodePoolUpgradeRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Rollback: Roll back the previously Aborted or Failed NodePool +// upgrade. +// This will be an no-op if the last upgrade successfully completed. +func (r *ProjectsLocationsClustersNodePoolsService) Rollback(name string, rollbacknodepoolupgraderequest *RollbackNodePoolUpgradeRequest) *ProjectsLocationsClustersNodePoolsRollbackCall { + c := &ProjectsLocationsClustersNodePoolsRollbackCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.rollbacknodepoolupgraderequest = rollbacknodepoolupgraderequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsClustersNodePoolsRollbackCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersNodePoolsRollbackCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsClustersNodePoolsRollbackCall) Context(ctx context.Context) *ProjectsLocationsClustersNodePoolsRollbackCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsClustersNodePoolsRollbackCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsClustersNodePoolsRollbackCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.rollbacknodepoolupgraderequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:rollback") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.locations.clusters.nodePools.rollback" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsClustersNodePoolsRollbackCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Roll back the previously Aborted or Failed NodePool upgrade.\nThis will be an no-op if the last upgrade successfully completed.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}:rollback", + // "httpMethod": "POST", + // "id": "container.projects.locations.clusters.nodePools.rollback", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name (project, location, cluster, node pool id) of the node poll to\nrollback upgrade.\nSpecified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}:rollback", + // "request": { + // "$ref": "RollbackNodePoolUpgradeRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.locations.clusters.nodePools.setManagement": + +type ProjectsLocationsClustersNodePoolsSetManagementCall struct { + s *Service + name string + setnodepoolmanagementrequest *SetNodePoolManagementRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetManagement: Sets the NodeManagement options for a node pool. +func (r *ProjectsLocationsClustersNodePoolsService) SetManagement(name string, setnodepoolmanagementrequest *SetNodePoolManagementRequest) *ProjectsLocationsClustersNodePoolsSetManagementCall { + c := &ProjectsLocationsClustersNodePoolsSetManagementCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.setnodepoolmanagementrequest = setnodepoolmanagementrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsClustersNodePoolsSetManagementCall) Fields(s ...googleapi.Field) *ProjectsLocationsClustersNodePoolsSetManagementCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsClustersNodePoolsSetManagementCall) Context(ctx context.Context) *ProjectsLocationsClustersNodePoolsSetManagementCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsClustersNodePoolsSetManagementCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsClustersNodePoolsSetManagementCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.setnodepoolmanagementrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:setManagement") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.locations.clusters.nodePools.setManagement" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsClustersNodePoolsSetManagementCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Sets the NodeManagement options for a node pool.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}:setManagement", + // "httpMethod": "POST", + // "id": "container.projects.locations.clusters.nodePools.setManagement", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name (project, location, cluster, node pool id) of the node pool to set\nmanagement properties. Specified in the format\n'projects/*/locations/*/clusters/*/nodePools/*'.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}:setManagement", + // "request": { + // "$ref": "SetNodePoolManagementRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.locations.operations.cancel": + +type ProjectsLocationsOperationsCancelCall struct { + s *Service + name string + canceloperationrequest *CancelOperationRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Cancel: Cancels the specified operation. +func (r *ProjectsLocationsOperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *ProjectsLocationsOperationsCancelCall { + c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.canceloperationrequest = canceloperationrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsOperationsCancelCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:cancel") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.locations.operations.cancel" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Cancels the specified operation.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + // "httpMethod": "POST", + // "id": "container.projects.locations.operations.cancel", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name (project, location, operation id) of the operation to cancel.\nSpecified in the format 'projects/*/locations/*/operations/*'.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}:cancel", + // "request": { + // "$ref": "CancelOperationRequest" + // }, + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.locations.operations.get": + +type ProjectsLocationsOperationsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the specified operation. +func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall { + c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// OperationId sets the optional parameter "operationId": The +// server-assigned `name` of the operation. +// This field is deprecated, use name instead. +func (c *ProjectsLocationsOperationsGetCall) OperationId(operationId string) *ProjectsLocationsOperationsGetCall { + c.urlParams_.Set("operationId", operationId) + return c +} + +// ProjectId sets the optional parameter "projectId": The Google +// Developers Console [project ID or +// project +// number](https://support.google.com/cloud/answer/6158840). +// This +// field is deprecated, use name instead. +func (c *ProjectsLocationsOperationsGetCall) ProjectId(projectId string) *ProjectsLocationsOperationsGetCall { + c.urlParams_.Set("projectId", projectId) + return c +} + +// Zone sets the optional parameter "zone": The name of the Google +// Compute Engine +// [zone](/compute/docs/zones#available) in which the +// cluster +// resides. +// This field is deprecated, use name instead. +func (c *ProjectsLocationsOperationsGetCall) Zone(zone string) *ProjectsLocationsOperationsGetCall { + c.urlParams_.Set("zone", zone) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsOperationsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.locations.operations.get" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsOperationsGetCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the specified operation.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + // "httpMethod": "GET", + // "id": "container.projects.locations.operations.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name (project, location, operation id) of the operation to get.\nSpecified in the format 'projects/*/locations/*/operations/*'.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "operationId": { + // "description": "The server-assigned `name` of the operation.\nThis field is deprecated, use name instead.", + // "location": "query", + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + // "location": "query", + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1beta1/{+name}", + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.locations.operations.list": + +type ProjectsLocationsOperationsListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists all operations in a project in a specific zone or all +// zones. +func (r *ProjectsLocationsOperationsService) List(parent string) *ProjectsLocationsOperationsListCall { + c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// ProjectId sets the optional parameter "projectId": The Google +// Developers Console [project ID or +// project +// number](https://support.google.com/cloud/answer/6158840). +// This +// field is deprecated, use parent instead. +func (c *ProjectsLocationsOperationsListCall) ProjectId(projectId string) *ProjectsLocationsOperationsListCall { + c.urlParams_.Set("projectId", projectId) + return c +} + +// Zone sets the optional parameter "zone": The name of the Google +// Compute Engine [zone](/compute/docs/zones#available) +// to return operations for, or `-` for all zones. +// This field is deprecated, use parent instead. +func (c *ProjectsLocationsOperationsListCall) Zone(zone string) *ProjectsLocationsOperationsListCall { + c.urlParams_.Set("zone", zone) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsOperationsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/operations") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.locations.operations.list" call. +// Exactly one of *ListOperationsResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListOperationsResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, 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, &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, err + } + ret := &ListOperationsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists all operations in a project in a specific zone or all zones.", + // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations", + // "httpMethod": "GET", + // "id": "container.projects.locations.operations.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "The parent (project and location) where the operations will be listed.\nSpecified in the format 'projects/*/locations/*'.\nLocation \"-\" matches all zones and all regions.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use parent instead.", + // "location": "query", + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine [zone](/compute/docs/zones#available)\nto return operations for, or `-` for all zones.\nThis field is deprecated, use parent instead.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1beta1/{+parent}/operations", + // "response": { + // "$ref": "ListOperationsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.zones.getServerconfig": + +type ProjectsZonesGetServerconfigCall struct { + s *Service + projectId string + zone string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// GetServerconfig: Returns configuration info about the Container +// Engine service. +func (r *ProjectsZonesService) GetServerconfig(projectId string, zone string) *ProjectsZonesGetServerconfigCall { + c := &ProjectsZonesGetServerconfigCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.zone = zone + return c +} + +// Name sets the optional parameter "name": The name (project and +// location) of the server config to get +// Specified in the format 'projects/*/locations/*'. +func (c *ProjectsZonesGetServerconfigCall) Name(name string) *ProjectsZonesGetServerconfigCall { + 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 information. +func (c *ProjectsZonesGetServerconfigCall) Fields(s ...googleapi.Field) *ProjectsZonesGetServerconfigCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsZonesGetServerconfigCall) IfNoneMatch(entityTag string) *ProjectsZonesGetServerconfigCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsZonesGetServerconfigCall) Context(ctx context.Context) *ProjectsZonesGetServerconfigCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsZonesGetServerconfigCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsZonesGetServerconfigCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/serverconfig") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "zone": c.zone, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.zones.getServerconfig" call. +// Exactly one of *ServerConfig or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *ServerConfig.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsZonesGetServerconfigCall) Do(opts ...googleapi.CallOption) (*ServerConfig, 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, &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, err + } + ret := &ServerConfig{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns configuration info about the Container Engine service.", + // "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/serverconfig", + // "httpMethod": "GET", + // "id": "container.projects.zones.getServerconfig", + // "parameterOrder": [ + // "projectId", + // "zone" + // ], + // "parameters": { + // "name": { + // "description": "The name (project and location) of the server config to get\nSpecified in the format 'projects/*/locations/*'.", + // "location": "query", + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine [zone](/compute/docs/zones#available)\nto return operations for.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/projects/{projectId}/zones/{zone}/serverconfig", + // "response": { + // "$ref": "ServerConfig" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.zones.clusters.completeIpRotation": + +type ProjectsZonesClustersCompleteIpRotationCall struct { + s *Service + projectId string + zone string + clusterId string + completeiprotationrequest *CompleteIPRotationRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// CompleteIpRotation: Completes master IP rotation. +func (r *ProjectsZonesClustersService) CompleteIpRotation(projectId string, zone string, clusterId string, completeiprotationrequest *CompleteIPRotationRequest) *ProjectsZonesClustersCompleteIpRotationCall { + c := &ProjectsZonesClustersCompleteIpRotationCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.zone = zone + c.clusterId = clusterId + c.completeiprotationrequest = completeiprotationrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsZonesClustersCompleteIpRotationCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersCompleteIpRotationCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsZonesClustersCompleteIpRotationCall) Context(ctx context.Context) *ProjectsZonesClustersCompleteIpRotationCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsZonesClustersCompleteIpRotationCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsZonesClustersCompleteIpRotationCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.completeiprotationrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:completeIpRotation") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "zone": c.zone, + "clusterId": c.clusterId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.zones.clusters.completeIpRotation" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsZonesClustersCompleteIpRotationCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Completes master IP rotation.", + // "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:completeIpRotation", + // "httpMethod": "POST", + // "id": "container.projects.zones.clusters.completeIpRotation", + // "parameterOrder": [ + // "projectId", + // "zone", + // "clusterId" + // ], + // "parameters": { + // "clusterId": { + // "description": "The name of the cluster.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:completeIpRotation", + // "request": { + // "$ref": "CompleteIPRotationRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.zones.clusters.create": + +type ProjectsZonesClustersCreateCall struct { + s *Service + projectId string + zone string + createclusterrequest *CreateClusterRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a cluster, consisting of the specified number and +// type of Google +// Compute Engine instances. +// +// By default, the cluster is created in the project's +// [default +// network](/compute/docs/networks-and-firewalls#networks). +// +// One firewall is added for the cluster. After cluster creation, +// the cluster creates routes for each node to allow the containers +// on that node to communicate with all other instances in +// the +// cluster. +// +// Finally, an entry is added to the project's global metadata +// indicating +// which CIDR range is being used by the cluster. +func (r *ProjectsZonesClustersService) Create(projectId string, zone string, createclusterrequest *CreateClusterRequest) *ProjectsZonesClustersCreateCall { + c := &ProjectsZonesClustersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.zone = zone + c.createclusterrequest = createclusterrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsZonesClustersCreateCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsZonesClustersCreateCall) Context(ctx context.Context) *ProjectsZonesClustersCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsZonesClustersCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsZonesClustersCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.createclusterrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "zone": c.zone, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.zones.clusters.create" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsZonesClustersCreateCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a cluster, consisting of the specified number and type of Google\nCompute Engine instances.\n\nBy default, the cluster is created in the project's\n[default network](/compute/docs/networks-and-firewalls#networks).\n\nOne firewall is added for the cluster. After cluster creation,\nthe cluster creates routes for each node to allow the containers\non that node to communicate with all other instances in the\ncluster.\n\nFinally, an entry is added to the project's global metadata indicating\nwhich CIDR range is being used by the cluster.", + // "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters", + // "httpMethod": "POST", + // "id": "container.projects.zones.clusters.create", + // "parameterOrder": [ + // "projectId", + // "zone" + // ], + // "parameters": { + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use parent instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use parent instead.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters", + // "request": { + // "$ref": "CreateClusterRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.zones.clusters.delete": + +type ProjectsZonesClustersDeleteCall struct { + s *Service + projectId string + zone string + clusterId string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes the cluster, including the Kubernetes endpoint and +// all worker +// nodes. +// +// Firewalls and routes that were configured during cluster creation +// are also deleted. +// +// Other Google Compute Engine resources that might be in use by the +// cluster +// (e.g. load balancer resources) will not be deleted if they weren't +// present +// at the initial create time. +func (r *ProjectsZonesClustersService) Delete(projectId string, zone string, clusterId string) *ProjectsZonesClustersDeleteCall { + c := &ProjectsZonesClustersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.zone = zone + c.clusterId = clusterId + return c +} + +// Name sets the optional parameter "name": The name (project, location, +// cluster) of the cluster to delete. +// Specified in the format 'projects/*/locations/*/clusters/*'. +func (c *ProjectsZonesClustersDeleteCall) Name(name string) *ProjectsZonesClustersDeleteCall { + 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 information. +func (c *ProjectsZonesClustersDeleteCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsZonesClustersDeleteCall) Context(ctx context.Context) *ProjectsZonesClustersDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsZonesClustersDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsZonesClustersDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "zone": c.zone, + "clusterId": c.clusterId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.zones.clusters.delete" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsZonesClustersDeleteCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes the cluster, including the Kubernetes endpoint and all worker\nnodes.\n\nFirewalls and routes that were configured during cluster creation\nare also deleted.\n\nOther Google Compute Engine resources that might be in use by the cluster\n(e.g. load balancer resources) will not be deleted if they weren't present\nat the initial create time.", + // "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", + // "httpMethod": "DELETE", + // "id": "container.projects.zones.clusters.delete", + // "parameterOrder": [ + // "projectId", + // "zone", + // "clusterId" + // ], + // "parameters": { + // "clusterId": { + // "description": "The name of the cluster to delete.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "name": { + // "description": "The name (project, location, cluster) of the cluster to delete.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + // "location": "query", + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.zones.clusters.get": + +type ProjectsZonesClustersGetCall struct { + s *Service + projectId string + zone string + clusterId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the details of a specific cluster. +func (r *ProjectsZonesClustersService) Get(projectId string, zone string, clusterId string) *ProjectsZonesClustersGetCall { + c := &ProjectsZonesClustersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.zone = zone + c.clusterId = clusterId + return c +} + +// Name sets the optional parameter "name": The name (project, location, +// cluster) of the cluster to retrieve. +// Specified in the format 'projects/*/locations/*/clusters/*'. +func (c *ProjectsZonesClustersGetCall) Name(name string) *ProjectsZonesClustersGetCall { + 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 information. +func (c *ProjectsZonesClustersGetCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsZonesClustersGetCall) IfNoneMatch(entityTag string) *ProjectsZonesClustersGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsZonesClustersGetCall) Context(ctx context.Context) *ProjectsZonesClustersGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsZonesClustersGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsZonesClustersGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "zone": c.zone, + "clusterId": c.clusterId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.zones.clusters.get" call. +// Exactly one of *Cluster or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Cluster.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsZonesClustersGetCall) Do(opts ...googleapi.CallOption) (*Cluster, 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, &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, err + } + ret := &Cluster{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the details of a specific cluster.", + // "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", + // "httpMethod": "GET", + // "id": "container.projects.zones.clusters.get", + // "parameterOrder": [ + // "projectId", + // "zone", + // "clusterId" + // ], + // "parameters": { + // "clusterId": { + // "description": "The name of the cluster to retrieve.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "name": { + // "description": "The name (project, location, cluster) of the cluster to retrieve.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + // "location": "query", + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", + // "response": { + // "$ref": "Cluster" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.zones.clusters.legacyAbac": + +type ProjectsZonesClustersLegacyAbacCall struct { + s *Service + projectId string + zone string + clusterId string + setlegacyabacrequest *SetLegacyAbacRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// LegacyAbac: Enables or disables the ABAC authorization mechanism on a +// cluster. +func (r *ProjectsZonesClustersService) LegacyAbac(projectId string, zone string, clusterId string, setlegacyabacrequest *SetLegacyAbacRequest) *ProjectsZonesClustersLegacyAbacCall { + c := &ProjectsZonesClustersLegacyAbacCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.zone = zone + c.clusterId = clusterId + c.setlegacyabacrequest = setlegacyabacrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsZonesClustersLegacyAbacCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersLegacyAbacCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsZonesClustersLegacyAbacCall) Context(ctx context.Context) *ProjectsZonesClustersLegacyAbacCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsZonesClustersLegacyAbacCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsZonesClustersLegacyAbacCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.setlegacyabacrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/legacyAbac") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "zone": c.zone, + "clusterId": c.clusterId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.zones.clusters.legacyAbac" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsZonesClustersLegacyAbacCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Enables or disables the ABAC authorization mechanism on a cluster.", + // "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/legacyAbac", + // "httpMethod": "POST", + // "id": "container.projects.zones.clusters.legacyAbac", + // "parameterOrder": [ + // "projectId", + // "zone", + // "clusterId" + // ], + // "parameters": { + // "clusterId": { + // "description": "The name of the cluster to update.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/legacyAbac", + // "request": { + // "$ref": "SetLegacyAbacRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.zones.clusters.list": + +type ProjectsZonesClustersListCall struct { + s *Service + projectId string + zone string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists all clusters owned by a project in either the specified +// zone or all +// zones. +func (r *ProjectsZonesClustersService) List(projectId string, zone string) *ProjectsZonesClustersListCall { + c := &ProjectsZonesClustersListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.zone = zone + return c +} + +// Parent sets the optional parameter "parent": The parent (project and +// location) where the clusters will be listed. +// Specified in the format 'projects/*/locations/*'. +// Location "-" matches all zones and all regions. +func (c *ProjectsZonesClustersListCall) Parent(parent string) *ProjectsZonesClustersListCall { + c.urlParams_.Set("parent", parent) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsZonesClustersListCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsZonesClustersListCall) IfNoneMatch(entityTag string) *ProjectsZonesClustersListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsZonesClustersListCall) Context(ctx context.Context) *ProjectsZonesClustersListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsZonesClustersListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsZonesClustersListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "zone": c.zone, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.zones.clusters.list" call. +// Exactly one of *ListClustersResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListClustersResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsZonesClustersListCall) Do(opts ...googleapi.CallOption) (*ListClustersResponse, 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, &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, err + } + ret := &ListClustersResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists all clusters owned by a project in either the specified zone or all\nzones.", + // "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters", + // "httpMethod": "GET", + // "id": "container.projects.zones.clusters.list", + // "parameterOrder": [ + // "projectId", + // "zone" + // ], + // "parameters": { + // "parent": { + // "description": "The parent (project and location) where the clusters will be listed.\nSpecified in the format 'projects/*/locations/*'.\nLocation \"-\" matches all zones and all regions.", + // "location": "query", + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use parent instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides, or \"-\" for all zones.\nThis field is deprecated, use parent instead.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters", + // "response": { + // "$ref": "ListClustersResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.zones.clusters.resourceLabels": + +type ProjectsZonesClustersResourceLabelsCall struct { + s *Service + projectId string + zone string + clusterId string + setlabelsrequest *SetLabelsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ResourceLabels: Sets labels on a cluster. +func (r *ProjectsZonesClustersService) ResourceLabels(projectId string, zone string, clusterId string, setlabelsrequest *SetLabelsRequest) *ProjectsZonesClustersResourceLabelsCall { + c := &ProjectsZonesClustersResourceLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.zone = zone + c.clusterId = clusterId + c.setlabelsrequest = setlabelsrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsZonesClustersResourceLabelsCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersResourceLabelsCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsZonesClustersResourceLabelsCall) Context(ctx context.Context) *ProjectsZonesClustersResourceLabelsCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsZonesClustersResourceLabelsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsZonesClustersResourceLabelsCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.setlabelsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/resourceLabels") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "zone": c.zone, + "clusterId": c.clusterId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.zones.clusters.resourceLabels" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsZonesClustersResourceLabelsCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Sets labels on a cluster.", + // "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/resourceLabels", + // "httpMethod": "POST", + // "id": "container.projects.zones.clusters.resourceLabels", + // "parameterOrder": [ + // "projectId", + // "zone", + // "clusterId" + // ], + // "parameters": { + // "clusterId": { + // "description": "The name of the cluster.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/resourceLabels", + // "request": { + // "$ref": "SetLabelsRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.zones.clusters.setMaintenancePolicy": + +type ProjectsZonesClustersSetMaintenancePolicyCall struct { + s *Service + projectId string + zone string + clusterId string + setmaintenancepolicyrequest *SetMaintenancePolicyRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetMaintenancePolicy: Sets the maintenance policy for a cluster. +func (r *ProjectsZonesClustersService) SetMaintenancePolicy(projectId string, zone string, clusterId string, setmaintenancepolicyrequest *SetMaintenancePolicyRequest) *ProjectsZonesClustersSetMaintenancePolicyCall { + c := &ProjectsZonesClustersSetMaintenancePolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.zone = zone + c.clusterId = clusterId + c.setmaintenancepolicyrequest = setmaintenancepolicyrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsZonesClustersSetMaintenancePolicyCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersSetMaintenancePolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsZonesClustersSetMaintenancePolicyCall) Context(ctx context.Context) *ProjectsZonesClustersSetMaintenancePolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsZonesClustersSetMaintenancePolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsZonesClustersSetMaintenancePolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.setmaintenancepolicyrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMaintenancePolicy") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "zone": c.zone, + "clusterId": c.clusterId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.zones.clusters.setMaintenancePolicy" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsZonesClustersSetMaintenancePolicyCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Sets the maintenance policy for a cluster.", + // "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMaintenancePolicy", + // "httpMethod": "POST", + // "id": "container.projects.zones.clusters.setMaintenancePolicy", + // "parameterOrder": [ + // "projectId", + // "zone", + // "clusterId" + // ], + // "parameters": { + // "clusterId": { + // "description": "The name of the cluster to update.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMaintenancePolicy", + // "request": { + // "$ref": "SetMaintenancePolicyRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.zones.clusters.setMasterAuth": + +type ProjectsZonesClustersSetMasterAuthCall struct { + s *Service + projectId string + zone string + clusterId string + setmasterauthrequest *SetMasterAuthRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetMasterAuth: Used to set master auth materials. Currently supports +// :- +// Changing the admin password of a specific cluster. +// This can be either via password generation or explicitly set. +// Modify basic_auth.csv and reset the K8S API server. +func (r *ProjectsZonesClustersService) SetMasterAuth(projectId string, zone string, clusterId string, setmasterauthrequest *SetMasterAuthRequest) *ProjectsZonesClustersSetMasterAuthCall { + c := &ProjectsZonesClustersSetMasterAuthCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.zone = zone + c.clusterId = clusterId + c.setmasterauthrequest = setmasterauthrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsZonesClustersSetMasterAuthCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersSetMasterAuthCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsZonesClustersSetMasterAuthCall) Context(ctx context.Context) *ProjectsZonesClustersSetMasterAuthCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsZonesClustersSetMasterAuthCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsZonesClustersSetMasterAuthCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.setmasterauthrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMasterAuth") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "zone": c.zone, + "clusterId": c.clusterId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.zones.clusters.setMasterAuth" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsZonesClustersSetMasterAuthCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Used to set master auth materials. Currently supports :-\nChanging the admin password of a specific cluster.\nThis can be either via password generation or explicitly set.\nModify basic_auth.csv and reset the K8S API server.", + // "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMasterAuth", + // "httpMethod": "POST", + // "id": "container.projects.zones.clusters.setMasterAuth", + // "parameterOrder": [ + // "projectId", + // "zone", + // "clusterId" + // ], + // "parameters": { + // "clusterId": { + // "description": "The name of the cluster to upgrade.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMasterAuth", + // "request": { + // "$ref": "SetMasterAuthRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.zones.clusters.setNetworkPolicy": + +type ProjectsZonesClustersSetNetworkPolicyCall struct { + s *Service + projectId string + zone string + clusterId string + setnetworkpolicyrequest *SetNetworkPolicyRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetNetworkPolicy: Enables/Disables Network Policy for a cluster. +func (r *ProjectsZonesClustersService) SetNetworkPolicy(projectId string, zone string, clusterId string, setnetworkpolicyrequest *SetNetworkPolicyRequest) *ProjectsZonesClustersSetNetworkPolicyCall { + c := &ProjectsZonesClustersSetNetworkPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.zone = zone + c.clusterId = clusterId + c.setnetworkpolicyrequest = setnetworkpolicyrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsZonesClustersSetNetworkPolicyCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersSetNetworkPolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsZonesClustersSetNetworkPolicyCall) Context(ctx context.Context) *ProjectsZonesClustersSetNetworkPolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsZonesClustersSetNetworkPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsZonesClustersSetNetworkPolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.setnetworkpolicyrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setNetworkPolicy") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "zone": c.zone, + "clusterId": c.clusterId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.zones.clusters.setNetworkPolicy" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsZonesClustersSetNetworkPolicyCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Enables/Disables Network Policy for a cluster.", + // "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setNetworkPolicy", + // "httpMethod": "POST", + // "id": "container.projects.zones.clusters.setNetworkPolicy", + // "parameterOrder": [ + // "projectId", + // "zone", + // "clusterId" + // ], + // "parameters": { + // "clusterId": { + // "description": "The name of the cluster.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setNetworkPolicy", + // "request": { + // "$ref": "SetNetworkPolicyRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.zones.clusters.startIpRotation": + +type ProjectsZonesClustersStartIpRotationCall struct { + s *Service + projectId string + zone string + clusterId string + startiprotationrequest *StartIPRotationRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// StartIpRotation: Start master IP rotation. +func (r *ProjectsZonesClustersService) StartIpRotation(projectId string, zone string, clusterId string, startiprotationrequest *StartIPRotationRequest) *ProjectsZonesClustersStartIpRotationCall { + c := &ProjectsZonesClustersStartIpRotationCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.zone = zone + c.clusterId = clusterId + c.startiprotationrequest = startiprotationrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsZonesClustersStartIpRotationCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersStartIpRotationCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsZonesClustersStartIpRotationCall) Context(ctx context.Context) *ProjectsZonesClustersStartIpRotationCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsZonesClustersStartIpRotationCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsZonesClustersStartIpRotationCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.startiprotationrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:startIpRotation") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "zone": c.zone, + "clusterId": c.clusterId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.zones.clusters.startIpRotation" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsZonesClustersStartIpRotationCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Start master IP rotation.", + // "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:startIpRotation", + // "httpMethod": "POST", + // "id": "container.projects.zones.clusters.startIpRotation", + // "parameterOrder": [ + // "projectId", + // "zone", + // "clusterId" + // ], + // "parameters": { + // "clusterId": { + // "description": "The name of the cluster.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:startIpRotation", + // "request": { + // "$ref": "StartIPRotationRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.zones.clusters.update": + +type ProjectsZonesClustersUpdateCall struct { + s *Service + projectId string + zone string + clusterId string + updateclusterrequest *UpdateClusterRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Update: Updates the settings of a specific cluster. +func (r *ProjectsZonesClustersService) Update(projectId string, zone string, clusterId string, updateclusterrequest *UpdateClusterRequest) *ProjectsZonesClustersUpdateCall { + c := &ProjectsZonesClustersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.zone = zone + c.clusterId = clusterId + c.updateclusterrequest = updateclusterrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsZonesClustersUpdateCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersUpdateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsZonesClustersUpdateCall) Context(ctx context.Context) *ProjectsZonesClustersUpdateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsZonesClustersUpdateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsZonesClustersUpdateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.updateclusterrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PUT", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "zone": c.zone, + "clusterId": c.clusterId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.zones.clusters.update" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsZonesClustersUpdateCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates the settings of a specific cluster.", + // "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", + // "httpMethod": "PUT", + // "id": "container.projects.zones.clusters.update", + // "parameterOrder": [ + // "projectId", + // "zone", + // "clusterId" + // ], + // "parameters": { + // "clusterId": { + // "description": "The name of the cluster to upgrade.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", + // "request": { + // "$ref": "UpdateClusterRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.zones.clusters.nodePools.create": + +type ProjectsZonesClustersNodePoolsCreateCall struct { + s *Service + projectId string + zone string + clusterId string + createnodepoolrequest *CreateNodePoolRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a node pool for a cluster. +func (r *ProjectsZonesClustersNodePoolsService) Create(projectId string, zone string, clusterId string, createnodepoolrequest *CreateNodePoolRequest) *ProjectsZonesClustersNodePoolsCreateCall { + c := &ProjectsZonesClustersNodePoolsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.zone = zone + c.clusterId = clusterId + c.createnodepoolrequest = createnodepoolrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsZonesClustersNodePoolsCreateCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersNodePoolsCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsZonesClustersNodePoolsCreateCall) Context(ctx context.Context) *ProjectsZonesClustersNodePoolsCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsZonesClustersNodePoolsCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsZonesClustersNodePoolsCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.createnodepoolrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "zone": c.zone, + "clusterId": c.clusterId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.zones.clusters.nodePools.create" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsZonesClustersNodePoolsCreateCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a node pool for a cluster.", + // "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools", + // "httpMethod": "POST", + // "id": "container.projects.zones.clusters.nodePools.create", + // "parameterOrder": [ + // "projectId", + // "zone", + // "clusterId" + // ], + // "parameters": { + // "clusterId": { + // "description": "The name of the cluster.\nThis field is deprecated, use parent instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use parent instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use parent instead.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools", + // "request": { + // "$ref": "CreateNodePoolRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.zones.clusters.nodePools.delete": + +type ProjectsZonesClustersNodePoolsDeleteCall struct { + s *Service + projectId string + zone string + clusterId string + nodePoolId string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a node pool from a cluster. +func (r *ProjectsZonesClustersNodePoolsService) Delete(projectId string, zone string, clusterId string, nodePoolId string) *ProjectsZonesClustersNodePoolsDeleteCall { + c := &ProjectsZonesClustersNodePoolsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.zone = zone + c.clusterId = clusterId + c.nodePoolId = nodePoolId + return c +} + +// Name sets the optional parameter "name": The name (project, location, +// cluster, node pool id) of the node pool to delete. +// Specified in the format +// 'projects/*/locations/*/clusters/*/nodePools/*'. +func (c *ProjectsZonesClustersNodePoolsDeleteCall) Name(name string) *ProjectsZonesClustersNodePoolsDeleteCall { + 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 information. +func (c *ProjectsZonesClustersNodePoolsDeleteCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersNodePoolsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsZonesClustersNodePoolsDeleteCall) Context(ctx context.Context) *ProjectsZonesClustersNodePoolsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsZonesClustersNodePoolsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsZonesClustersNodePoolsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "zone": c.zone, + "clusterId": c.clusterId, + "nodePoolId": c.nodePoolId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.zones.clusters.nodePools.delete" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsZonesClustersNodePoolsDeleteCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes a node pool from a cluster.", + // "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}", + // "httpMethod": "DELETE", + // "id": "container.projects.zones.clusters.nodePools.delete", + // "parameterOrder": [ + // "projectId", + // "zone", + // "clusterId", + // "nodePoolId" + // ], + // "parameters": { + // "clusterId": { + // "description": "The name of the cluster.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "name": { + // "description": "The name (project, location, cluster, node pool id) of the node pool to delete.\nSpecified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.", + // "location": "query", + // "type": "string" + // }, + // "nodePoolId": { + // "description": "The name of the node pool to delete.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}", + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.zones.clusters.nodePools.get": + +type ProjectsZonesClustersNodePoolsGetCall struct { + s *Service + projectId string + zone string + clusterId string + nodePoolId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Retrieves the node pool requested. +func (r *ProjectsZonesClustersNodePoolsService) Get(projectId string, zone string, clusterId string, nodePoolId string) *ProjectsZonesClustersNodePoolsGetCall { + c := &ProjectsZonesClustersNodePoolsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.zone = zone + c.clusterId = clusterId + c.nodePoolId = nodePoolId + return c +} + +// Name sets the optional parameter "name": The name (project, location, +// cluster, node pool id) of the node pool to get. +// Specified in the format +// 'projects/*/locations/*/clusters/*/nodePools/*'. +func (c *ProjectsZonesClustersNodePoolsGetCall) Name(name string) *ProjectsZonesClustersNodePoolsGetCall { + 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 information. +func (c *ProjectsZonesClustersNodePoolsGetCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersNodePoolsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsZonesClustersNodePoolsGetCall) IfNoneMatch(entityTag string) *ProjectsZonesClustersNodePoolsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsZonesClustersNodePoolsGetCall) Context(ctx context.Context) *ProjectsZonesClustersNodePoolsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsZonesClustersNodePoolsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsZonesClustersNodePoolsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "zone": c.zone, + "clusterId": c.clusterId, + "nodePoolId": c.nodePoolId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.zones.clusters.nodePools.get" call. +// Exactly one of *NodePool or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *NodePool.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsZonesClustersNodePoolsGetCall) Do(opts ...googleapi.CallOption) (*NodePool, 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, &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, err + } + ret := &NodePool{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Retrieves the node pool requested.", + // "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}", + // "httpMethod": "GET", + // "id": "container.projects.zones.clusters.nodePools.get", + // "parameterOrder": [ + // "projectId", + // "zone", + // "clusterId", + // "nodePoolId" + // ], + // "parameters": { + // "clusterId": { + // "description": "The name of the cluster.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "name": { + // "description": "The name (project, location, cluster, node pool id) of the node pool to get.\nSpecified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.", + // "location": "query", + // "type": "string" + // }, + // "nodePoolId": { + // "description": "The name of the node pool.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}", + // "response": { + // "$ref": "NodePool" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.zones.clusters.nodePools.list": + +type ProjectsZonesClustersNodePoolsListCall struct { + s *Service + projectId string + zone string + clusterId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists the node pools for a cluster. +func (r *ProjectsZonesClustersNodePoolsService) List(projectId string, zone string, clusterId string) *ProjectsZonesClustersNodePoolsListCall { + c := &ProjectsZonesClustersNodePoolsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.zone = zone + c.clusterId = clusterId + return c +} + +// Parent sets the optional parameter "parent": The parent (project, +// location, cluster id) where the node pools will be listed. +// Specified in the format 'projects/*/locations/*/clusters/*'. +func (c *ProjectsZonesClustersNodePoolsListCall) Parent(parent string) *ProjectsZonesClustersNodePoolsListCall { + c.urlParams_.Set("parent", parent) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsZonesClustersNodePoolsListCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersNodePoolsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsZonesClustersNodePoolsListCall) IfNoneMatch(entityTag string) *ProjectsZonesClustersNodePoolsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsZonesClustersNodePoolsListCall) Context(ctx context.Context) *ProjectsZonesClustersNodePoolsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsZonesClustersNodePoolsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsZonesClustersNodePoolsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "zone": c.zone, + "clusterId": c.clusterId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.zones.clusters.nodePools.list" call. +// Exactly one of *ListNodePoolsResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListNodePoolsResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsZonesClustersNodePoolsListCall) Do(opts ...googleapi.CallOption) (*ListNodePoolsResponse, 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, &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, err + } + ret := &ListNodePoolsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists the node pools for a cluster.", + // "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools", + // "httpMethod": "GET", + // "id": "container.projects.zones.clusters.nodePools.list", + // "parameterOrder": [ + // "projectId", + // "zone", + // "clusterId" + // ], + // "parameters": { + // "clusterId": { + // "description": "The name of the cluster.\nThis field is deprecated, use parent instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "parent": { + // "description": "The parent (project, location, cluster id) where the node pools will be listed.\nSpecified in the format 'projects/*/locations/*/clusters/*'.", + // "location": "query", + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field is deprecated, use parent instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use parent instead.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools", + // "response": { + // "$ref": "ListNodePoolsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.zones.clusters.nodePools.rollback": + +type ProjectsZonesClustersNodePoolsRollbackCall struct { + s *Service + projectId string + zone string + clusterId string + nodePoolId string + rollbacknodepoolupgraderequest *RollbackNodePoolUpgradeRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Rollback: Roll back the previously Aborted or Failed NodePool +// upgrade. +// This will be an no-op if the last upgrade successfully completed. +func (r *ProjectsZonesClustersNodePoolsService) Rollback(projectId string, zone string, clusterId string, nodePoolId string, rollbacknodepoolupgraderequest *RollbackNodePoolUpgradeRequest) *ProjectsZonesClustersNodePoolsRollbackCall { + c := &ProjectsZonesClustersNodePoolsRollbackCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.zone = zone + c.clusterId = clusterId + c.nodePoolId = nodePoolId + c.rollbacknodepoolupgraderequest = rollbacknodepoolupgraderequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsZonesClustersNodePoolsRollbackCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersNodePoolsRollbackCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsZonesClustersNodePoolsRollbackCall) Context(ctx context.Context) *ProjectsZonesClustersNodePoolsRollbackCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsZonesClustersNodePoolsRollbackCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsZonesClustersNodePoolsRollbackCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.rollbacknodepoolupgraderequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}:rollback") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "zone": c.zone, + "clusterId": c.clusterId, + "nodePoolId": c.nodePoolId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.zones.clusters.nodePools.rollback" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsZonesClustersNodePoolsRollbackCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Roll back the previously Aborted or Failed NodePool upgrade.\nThis will be an no-op if the last upgrade successfully completed.", + // "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}:rollback", + // "httpMethod": "POST", + // "id": "container.projects.zones.clusters.nodePools.rollback", + // "parameterOrder": [ + // "projectId", + // "zone", + // "clusterId", + // "nodePoolId" + // ], + // "parameters": { + // "clusterId": { + // "description": "The name of the cluster to rollback.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "nodePoolId": { + // "description": "The name of the node pool to rollback.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}:rollback", + // "request": { + // "$ref": "RollbackNodePoolUpgradeRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.zones.clusters.nodePools.setManagement": + +type ProjectsZonesClustersNodePoolsSetManagementCall struct { + s *Service + projectId string + zone string + clusterId string + nodePoolId string + setnodepoolmanagementrequest *SetNodePoolManagementRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetManagement: Sets the NodeManagement options for a node pool. +func (r *ProjectsZonesClustersNodePoolsService) SetManagement(projectId string, zone string, clusterId string, nodePoolId string, setnodepoolmanagementrequest *SetNodePoolManagementRequest) *ProjectsZonesClustersNodePoolsSetManagementCall { + c := &ProjectsZonesClustersNodePoolsSetManagementCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.zone = zone + c.clusterId = clusterId + c.nodePoolId = nodePoolId + c.setnodepoolmanagementrequest = setnodepoolmanagementrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsZonesClustersNodePoolsSetManagementCall) Fields(s ...googleapi.Field) *ProjectsZonesClustersNodePoolsSetManagementCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsZonesClustersNodePoolsSetManagementCall) Context(ctx context.Context) *ProjectsZonesClustersNodePoolsSetManagementCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsZonesClustersNodePoolsSetManagementCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsZonesClustersNodePoolsSetManagementCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.setnodepoolmanagementrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setManagement") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "zone": c.zone, + "clusterId": c.clusterId, + "nodePoolId": c.nodePoolId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.zones.clusters.nodePools.setManagement" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsZonesClustersNodePoolsSetManagementCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Sets the NodeManagement options for a node pool.", + // "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setManagement", + // "httpMethod": "POST", + // "id": "container.projects.zones.clusters.nodePools.setManagement", + // "parameterOrder": [ + // "projectId", + // "zone", + // "clusterId", + // "nodePoolId" + // ], + // "parameters": { + // "clusterId": { + // "description": "The name of the cluster to update.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "nodePoolId": { + // "description": "The name of the node pool to update.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setManagement", + // "request": { + // "$ref": "SetNodePoolManagementRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.zones.operations.cancel": + +type ProjectsZonesOperationsCancelCall struct { + s *Service + projectId string + zone string + operationId string + canceloperationrequest *CancelOperationRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Cancel: Cancels the specified operation. +func (r *ProjectsZonesOperationsService) Cancel(projectId string, zone string, operationId string, canceloperationrequest *CancelOperationRequest) *ProjectsZonesOperationsCancelCall { + c := &ProjectsZonesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.zone = zone + c.operationId = operationId + c.canceloperationrequest = canceloperationrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsZonesOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsZonesOperationsCancelCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsZonesOperationsCancelCall) Context(ctx context.Context) *ProjectsZonesOperationsCancelCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsZonesOperationsCancelCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsZonesOperationsCancelCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/operations/{operationId}:cancel") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "zone": c.zone, + "operationId": c.operationId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.zones.operations.cancel" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsZonesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Cancels the specified operation.", + // "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/operations/{operationId}:cancel", + // "httpMethod": "POST", + // "id": "container.projects.zones.operations.cancel", + // "parameterOrder": [ + // "projectId", + // "zone", + // "operationId" + // ], + // "parameters": { + // "operationId": { + // "description": "The server-assigned `name` of the operation.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the operation resides.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/projects/{projectId}/zones/{zone}/operations/{operationId}:cancel", + // "request": { + // "$ref": "CancelOperationRequest" + // }, + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.zones.operations.get": + +type ProjectsZonesOperationsGetCall struct { + s *Service + projectId string + zone string + operationId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the specified operation. +func (r *ProjectsZonesOperationsService) Get(projectId string, zone string, operationId string) *ProjectsZonesOperationsGetCall { + c := &ProjectsZonesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.zone = zone + c.operationId = operationId + return c +} + +// Name sets the optional parameter "name": The name (project, location, +// operation id) of the operation to get. +// Specified in the format 'projects/*/locations/*/operations/*'. +func (c *ProjectsZonesOperationsGetCall) Name(name string) *ProjectsZonesOperationsGetCall { + 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 information. +func (c *ProjectsZonesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsZonesOperationsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsZonesOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsZonesOperationsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsZonesOperationsGetCall) Context(ctx context.Context) *ProjectsZonesOperationsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsZonesOperationsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsZonesOperationsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/operations/{operationId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "zone": c.zone, + "operationId": c.operationId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.zones.operations.get" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsZonesOperationsGetCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the specified operation.", + // "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/operations/{operationId}", + // "httpMethod": "GET", + // "id": "container.projects.zones.operations.get", + // "parameterOrder": [ + // "projectId", + // "zone", + // "operationId" + // ], + // "parameters": { + // "name": { + // "description": "The name (project, location, operation id) of the operation to get.\nSpecified in the format 'projects/*/locations/*/operations/*'.", + // "location": "query", + // "type": "string" + // }, + // "operationId": { + // "description": "The server-assigned `name` of the operation.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine\n[zone](/compute/docs/zones#available) in which the cluster\nresides.\nThis field is deprecated, use name instead.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/projects/{projectId}/zones/{zone}/operations/{operationId}", + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "container.projects.zones.operations.list": + +type ProjectsZonesOperationsListCall struct { + s *Service + projectId string + zone string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists all operations in a project in a specific zone or all +// zones. +func (r *ProjectsZonesOperationsService) List(projectId string, zone string) *ProjectsZonesOperationsListCall { + c := &ProjectsZonesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.zone = zone + return c +} + +// Parent sets the optional parameter "parent": The parent (project and +// location) where the operations will be listed. +// Specified in the format 'projects/*/locations/*'. +// Location "-" matches all zones and all regions. +func (c *ProjectsZonesOperationsListCall) Parent(parent string) *ProjectsZonesOperationsListCall { + c.urlParams_.Set("parent", parent) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsZonesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsZonesOperationsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsZonesOperationsListCall) IfNoneMatch(entityTag string) *ProjectsZonesOperationsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsZonesOperationsListCall) Context(ctx context.Context) *ProjectsZonesOperationsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsZonesOperationsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsZonesOperationsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}/zones/{zone}/operations") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "zone": c.zone, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "container.projects.zones.operations.list" call. +// Exactly one of *ListOperationsResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListOperationsResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsZonesOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, 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, &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, err + } + ret := &ListOperationsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists all operations in a project in a specific zone or all zones.", + // "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/operations", + // "httpMethod": "GET", + // "id": "container.projects.zones.operations.list", + // "parameterOrder": [ + // "projectId", + // "zone" + // ], + // "parameters": { + // "parent": { + // "description": "The parent (project and location) where the operations will be listed.\nSpecified in the format 'projects/*/locations/*'.\nLocation \"-\" matches all zones and all regions.", + // "location": "query", + // "type": "string" + // }, + // "projectId": { + // "description": "The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field is deprecated, use parent instead.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "zone": { + // "description": "The name of the Google Compute Engine [zone](/compute/docs/zones#available)\nto return operations for, or `-` for all zones.\nThis field is deprecated, use parent instead.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/projects/{projectId}/zones/{zone}/operations", + // "response": { + // "$ref": "ListOperationsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} diff --git a/vendor/google.golang.org/api/content/v2/content-api.json b/vendor/google.golang.org/api/content/v2/content-api.json index 68708e90b..da6c8d913 100644 --- a/vendor/google.golang.org/api/content/v2/content-api.json +++ b/vendor/google.golang.org/api/content/v2/content-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/_xdoFNtmWVQrpSYjYrHA3E12xJI\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/dPMCZ2Ey4YVlnyiRa2uPlyOUPp4\"", "discoveryVersion": "v1", "id": "content:v2", "name": "content", "canonicalName": "Shopping Content", "version": "v2", - "revision": "20170627", + "revision": "20170928", "title": "Content API for Shopping", "description": "Manages product items, inventory, and Merchant Center accounts for Google Shopping.", "ownerDomain": "google.com", @@ -21,7 +21,7 @@ "basePath": "/content/v2/", "rootUrl": "https://www.googleapis.com/", "servicePath": "content/v2/", - "batchPath": "batch", + "batchPath": "batch/content/v2", "parameters": { "alt": { "type": "string", @@ -136,6 +136,13 @@ "websiteUrl": { "type": "string", "description": "The merchant's website." + }, + "youtubeChannelLinks": { + "type": "array", + "description": "List of linked YouTube channels that are active or pending approval. To create a new link request, add a new link with status active to the list. It will remain in a pending state until approved or rejected in the YT Creator Studio interface. To delete an active link, or to cancel a link request, remove it from the list.", + "items": { + "$ref": "AccountYouTubeChannelLink" + } } } }, @@ -179,6 +186,13 @@ "type": "string", "description": "The ID of the account for which the status is reported." }, + "accountLevelIssues": { + "type": "array", + "description": "A list of account level issues.", + "items": { + "$ref": "AccountStatusAccountLevelIssue" + } + }, "dataQualityIssues": { "type": "array", "description": "A list of data quality issues.", @@ -197,6 +211,32 @@ } } }, + "AccountStatusAccountLevelIssue": { + "id": "AccountStatusAccountLevelIssue", + "type": "object", + "properties": { + "country": { + "type": "string", + "description": "Country for which this issue is reported." + }, + "detail": { + "type": "string", + "description": "Additional details about the issue." + }, + "id": { + "type": "string", + "description": "Issue identifier." + }, + "severity": { + "type": "string", + "description": "Severity of the issue." + }, + "title": { + "type": "string", + "description": "Short description of the issue." + } + } + }, "AccountStatusDataQualityIssue": { "id": "AccountStatusDataQualityIssue", "type": "object", @@ -350,6 +390,32 @@ } } }, + "AccountYouTubeChannelLink": { + "id": "AccountYouTubeChannelLink", + "type": "object", + "properties": { + "channelId": { + "type": "string", + "description": "Channel ID.", + "annotations": { + "required": [ + "content.accounts.insert", + "content.accounts.update" + ] + } + }, + "status": { + "type": "string", + "description": "Status of the link between this Merchant Center account and the YouTube channel. Upon retrieval, it represents the actual status of the link and can be either active if it was approved in YT Creator Studio or pending if it's pending approval. Upon insertion, it represents the intended status of the link. Re-uploading a link with status active when it's still pending or with status pending when it's already active will have no effect: the status will remain unchanged. Re-uploading a link with deprecated status inactive is equivalent to not submitting the link at all and will delete the link if it was active or cancel the link request if it was pending.", + "annotations": { + "required": [ + "content.accounts.insert", + "content.accounts.update" + ] + } + } + } + }, "AccountsAuthInfoResponse": { "id": "AccountsAuthInfoResponse", "type": "object", @@ -411,6 +477,10 @@ "description": "An entry ID, unique within the batch request.", "format": "uint32" }, + "force": { + "type": "boolean", + "description": "Whether the account should be deleted if the account has offers. Only applicable if the method is delete." + }, "merchantId": { "type": "string", "description": "The ID of the managing account.", @@ -755,12 +825,7 @@ }, "contentLanguage": { "type": "string", - "description": "The two-letter ISO 639-1 language of the items in the feed. Must be a valid language for targetCountry.", - "annotations": { - "required": [ - "content.datafeeds.insert" - ] - } + "description": "[DEPRECATED] Please use target.language instead. The two-letter ISO 639-1 language of the items in the feed. Must be a valid language for targetCountry." }, "contentType": { "type": "string", @@ -802,7 +867,7 @@ }, "intendedDestinations": { "type": "array", - "description": "The list of intended destinations (corresponds to checked check boxes in Merchant Center).", + "description": "[DEPRECATED] Please use target.includedDestination instead. The list of intended destinations (corresponds to checked check boxes in Merchant Center).", "items": { "type": "string" } @@ -823,12 +888,13 @@ }, "targetCountry": { "type": "string", - "description": "The country where the items in the feed will be included in the search index, represented as a CLDR territory code.", - "annotations": { - "required": [ - "content.datafeeds.insert", - "content.datafeeds.update" - ] + "description": "[DEPRECATED] Please use target.country instead. The country where the items in the feed will be included in the search index, represented as a CLDR territory code." + }, + "targets": { + "type": "array", + "description": "The targets this feed should apply to (country, language, destinations).", + "items": { + "$ref": "DatafeedTarget" } } } @@ -861,6 +927,10 @@ "type": "string", "description": "An optional password for fetch_url." }, + "paused": { + "type": "boolean", + "description": "Whether the scheduled fetch is paused or not." + }, "timeZone": { "type": "string", "description": "Time zone used for schedule. UTC by default. E.g., \"America/Los_Angeles\"." @@ -898,6 +968,10 @@ "type": "object", "description": "The status of a datafeed, i.e., the result of the last retrieval of the datafeed computed asynchronously when the feed processing is finished.", "properties": { + "country": { + "type": "string", + "description": "The country for which the status is reported, represented as a CLDR territory code." + }, "datafeedId": { "type": "string", "description": "The ID of the feed for which the status is reported.", @@ -925,6 +999,10 @@ "description": "Identifies what kind of resource this is. Value: the fixed string \"content#datafeedStatus\".", "default": "content#datafeedStatus" }, + "language": { + "type": "string", + "description": "The two-letter ISO 639-1 language for which the status is reported." + }, "lastUploadDate": { "type": "string", "description": "The last date at which the feed was uploaded." @@ -989,6 +1067,34 @@ } } }, + "DatafeedTarget": { + "id": "DatafeedTarget", + "type": "object", + "properties": { + "country": { + "type": "string", + "description": "The country where the items in the feed will be included in the search index, represented as a CLDR territory code." + }, + "excludedDestinations": { + "type": "array", + "description": "The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center).", + "items": { + "type": "string" + } + }, + "includedDestinations": { + "type": "array", + "description": "The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in the excluded_destination field.", + "items": { + "type": "string" + } + }, + "language": { + "type": "string", + "description": "The two-letter ISO 639-1 language of the items in the feed. Must be a valid language for targets[].country." + } + } + }, "DatafeedsCustomBatchRequest": { "id": "DatafeedsCustomBatchRequest", "type": "object", @@ -1113,11 +1219,19 @@ "description": "An entry ID, unique within the batch request.", "format": "uint32" }, + "country": { + "type": "string", + "description": "The country for which to get the datafeed status. If this parameter is provided then language must also be provided. Note that for multi-target datafeeds this parameter is required." + }, "datafeedId": { "type": "string", - "description": "The ID of the data feed to get or delete.", + "description": "The ID of the data feed to get.", "format": "uint64" }, + "language": { + "type": "string", + "description": "The language for which to get the datafeed status. If this parameter is provided then country must also be provided. Note that for multi-target datafeeds this parameter is required." + }, "merchantId": { "type": "string", "description": "The ID of the managing account.", @@ -1596,7 +1710,7 @@ }, "promotions": { "type": "array", - "description": "The details of the merchant provided promotions applied to the order. More details about the program are here.", + "description": "The details of the merchant provided promotions applied to the order. More details about the program are here.", "items": { "$ref": "OrderPromotion" } @@ -1747,6 +1861,10 @@ "$ref": "OrderCancellation" } }, + "channelType": { + "type": "string", + "description": "The channel type of the order: \"purchaseOnGoogle\" or \"googleExpress\"." + }, "id": { "type": "string", "description": "The id of the line item." @@ -1966,7 +2084,7 @@ "properties": { "carrier": { "type": "string", - "description": "The carrier for the shipping. Optional." + "description": "The carrier for the shipping. Optional. See shipments[].carrier for a list of acceptable values." }, "maxDaysInTransit": { "type": "integer", @@ -2027,7 +2145,7 @@ }, "type": { "type": "string", - "description": "The type of instrument (VISA, Mastercard, etc)." + "description": "The type of instrument.\n\nAcceptable values are: \n- \"AMEX\" \n- \"DISCOVER\" \n- \"JCB\" \n- \"MASTERCARD\" \n- \"UNIONPAY\" \n- \"VISA\" \n- \"\"" } } }, @@ -2155,7 +2273,7 @@ "properties": { "carrier": { "type": "string", - "description": "The carrier handling the shipment." + "description": "The carrier handling the shipment.\n\nAcceptable values are: \n- \"gsx\" \n- \"ups\" \n- \"united parcel service\" \n- \"usps\" \n- \"united states postal service\" \n- \"fedex\" \n- \"dhl\" \n- \"ecourier\" \n- \"cxt\" \n- \"google\" \n- \"on trac\" \n- \"ontrac\" \n- \"on-trac\" \n- \"on_trac\" \n- \"delvic\" \n- \"dynamex\" \n- \"lasership\" \n- \"smartpost\" \n- \"fedex smartpost\" \n- \"mpx\" \n- \"uds\" \n- \"united delivery service\"" }, "creationDate": { "type": "string", @@ -2502,7 +2620,7 @@ "properties": { "carrier": { "type": "string", - "description": "The carrier handling the shipment." + "description": "Deprecated. Please use shipmentInfo instead. The carrier handling the shipment. See shipments[].carrier in the Orders resource representation for a list of acceptable values." }, "lineItems": { "type": "array", @@ -2513,7 +2631,37 @@ }, "shipmentId": { "type": "string", - "description": "The ID of the shipment." + "description": "Deprecated. Please use shipmentInfo instead. The ID of the shipment." + }, + "shipmentInfos": { + "type": "array", + "description": "Shipment information. This field is repeated because a single line item can be shipped in several packages (and have several tracking IDs).", + "items": { + "$ref": "OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo" + } + }, + "trackingId": { + "type": "string", + "description": "Deprecated. Please use shipmentInfo instead. The tracking id for the shipment." + } + } + }, + "OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo": { + "id": "OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo", + "type": "object", + "properties": { + "carrier": { + "type": "string", + "description": "The carrier handling the shipment. See shipments[].carrier in the Orders resource representation for a list of acceptable values." + }, + "shipmentId": { + "type": "string", + "description": "The ID of the shipment.", + "annotations": { + "required": [ + "content.orders.shiplineitems" + ] + } }, "trackingId": { "type": "string", @@ -2527,7 +2675,7 @@ "properties": { "carrier": { "type": "string", - "description": "The carrier handling the shipment. Not updated if missing." + "description": "The carrier handling the shipment. Not updated if missing. See shipments[].carrier in the Orders resource representation for a list of acceptable values." }, "shipmentId": { "type": "string", @@ -2725,7 +2873,7 @@ "properties": { "carrier": { "type": "string", - "description": "The carrier handling the shipment." + "description": "Deprecated. Please use shipmentInfo instead. The carrier handling the shipment. See shipments[].carrier in the Orders resource representation for a list of acceptable values." }, "lineItems": { "type": "array", @@ -2740,11 +2888,18 @@ }, "shipmentId": { "type": "string", - "description": "The ID of the shipment." + "description": "Deprecated. Please use shipmentInfo instead. The ID of the shipment." + }, + "shipmentInfos": { + "type": "array", + "description": "Shipment information. This field is repeated because a single line item can be shipped in several packages (and have several tracking IDs).", + "items": { + "$ref": "OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo" + } }, "trackingId": { "type": "string", - "description": "The tracking id for the shipment." + "description": "Deprecated. Please use shipmentInfo instead. The tracking id for the shipment." } } }, @@ -2798,7 +2953,7 @@ "properties": { "carrier": { "type": "string", - "description": "The carrier handling the shipment. Not updated if missing." + "description": "The carrier handling the shipment. Not updated if missing. See shipments[].carrier in the Orders resource representation for a list of acceptable values." }, "operationId": { "type": "string", @@ -3351,7 +3506,7 @@ }, "region": { "type": "string", - "description": "The geographic region to which a shipping rate applies (e.g. zip code)." + "description": "The geographic region to which a shipping rate applies." }, "service": { "type": "string", @@ -3429,6 +3584,10 @@ "type": "string", "description": "The link to the product." }, + "product": { + "$ref": "Product", + "description": "Product data after applying all the join inputs." + }, "productId": { "type": "string", "description": "The id of the product for which status is reported." @@ -3685,6 +3844,9 @@ "description": "An entry ID, unique within the batch request.", "format": "uint32" }, + "includeAttributes": { + "type": "boolean" + }, "merchantId": { "type": "string", "description": "The ID of the managing account.", @@ -3831,6 +3993,10 @@ "$ref": "DeliveryTime", "description": "Time spent in various aspects from order to the delivery of the product. Required." }, + "minimumOrderValue": { + "$ref": "Price", + "description": "Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency." + }, "name": { "type": "string", "description": "Free-form name of the service. Must be unique within target account. Required." @@ -4064,7 +4230,7 @@ }, "promotions": { "type": "array", - "description": "The details of the merchant provided promotions applied to the order. More details about the program are here.", + "description": "The details of the merchant provided promotions applied to the order. More details about the program are here.", "items": { "$ref": "OrderPromotion" } @@ -4363,7 +4529,7 @@ "id": "content.accounts.claimwebsite", "path": "{merchantId}/accounts/{accountId}/claimwebsite", "httpMethod": "POST", - "description": "Claims the website of a Merchant Center sub-account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account.", + "description": "Claims the website of a Merchant Center sub-account. This method can only be called for accounts to which the managing account has access: either the managing account itself for any Merchant Center account, or any sub-account when the managing account is a multi-client account.", "parameters": { "accountId": { "type": "string", @@ -4381,7 +4547,7 @@ }, "overwrite": { "type": "boolean", - "description": "Flag to remove any existing claim on the requested website by another account and replace it with a claim from this account.", + "description": "Only available to selected merchants. When set to True, this flag removes any existing claim on the requested website by another account and replaces it with a claim from this account.", "location": "query" } }, @@ -4436,6 +4602,12 @@ "description": "Flag to run the request in dry-run mode.", "location": "query" }, + "force": { + "type": "boolean", + "description": "Flag to delete sub-accounts with products. The default value is false.", + "default": "false", + "location": "query" + }, "merchantId": { "type": "string", "description": "The ID of the managing account.", @@ -4456,7 +4628,7 @@ "id": "content.accounts.get", "path": "{merchantId}/accounts/{accountId}", "httpMethod": "GET", - "description": "Retrieves a Merchant Center account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account.", + "description": "Retrieves a Merchant Center account. This method can only be called for accounts to which the managing account has access: either the managing account itself for any Merchant Center account, or any sub-account when the managing account is a multi-client account.", "parameters": { "accountId": { "type": "string", @@ -4555,7 +4727,7 @@ "id": "content.accounts.patch", "path": "{merchantId}/accounts/{accountId}", "httpMethod": "PATCH", - "description": "Updates a Merchant Center account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account. This method supports patch semantics.", + "description": "Updates a Merchant Center account. This method can only be called for accounts to which the managing account has access: either the managing account itself for any Merchant Center account, or any sub-account when the managing account is a multi-client account. This method supports patch semantics.", "parameters": { "accountId": { "type": "string", @@ -4595,7 +4767,7 @@ "id": "content.accounts.update", "path": "{merchantId}/accounts/{accountId}", "httpMethod": "PUT", - "description": "Updates a Merchant Center account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account.", + "description": "Updates a Merchant Center account. This method can only be called for accounts to which the managing account has access: either the managing account itself for any Merchant Center account, or any sub-account when the managing account is a multi-client account.", "parameters": { "accountId": { "type": "string", @@ -4653,7 +4825,7 @@ "id": "content.accountstatuses.get", "path": "{merchantId}/accountstatuses/{accountId}", "httpMethod": "GET", - "description": "Retrieves the status of a Merchant Center account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account.", + "description": "Retrieves the status of a Merchant Center account. This method can only be called for accounts to which the managing account has access: either the managing account itself for any Merchant Center account, or any sub-account when the managing account is a multi-client account.", "parameters": { "accountId": { "type": "string", @@ -4746,7 +4918,7 @@ "id": "content.accounttax.get", "path": "{merchantId}/accounttax/{accountId}", "httpMethod": "GET", - "description": "Retrieves the tax settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account.", + "description": "Retrieves the tax settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself for any Merchant Center account, or any sub-account when the managing account is a multi-client account.", "parameters": { "accountId": { "type": "string", @@ -4813,7 +4985,7 @@ "id": "content.accounttax.patch", "path": "{merchantId}/accounttax/{accountId}", "httpMethod": "PATCH", - "description": "Updates the tax settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account. This method supports patch semantics.", + "description": "Updates the tax settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself for any Merchant Center account, or any sub-account when the managing account is a multi-client account. This method supports patch semantics.", "parameters": { "accountId": { "type": "string", @@ -4853,7 +5025,7 @@ "id": "content.accounttax.update", "path": "{merchantId}/accounttax/{accountId}", "httpMethod": "PUT", - "description": "Updates the tax settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account.", + "description": "Updates the tax settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself for any Merchant Center account, or any sub-account when the managing account is a multi-client account.", "parameters": { "accountId": { "type": "string", @@ -5142,12 +5314,22 @@ "httpMethod": "GET", "description": "Retrieves the status of a datafeed from your Merchant Center account. This method can only be called for non-multi-client accounts.", "parameters": { + "country": { + "type": "string", + "description": "The country for which to get the datafeed status. If this parameter is provided then language must also be provided. Note that this parameter is required for feeds targeting multiple countries and languages, since a feed may have a different status for each target.", + "location": "query" + }, "datafeedId": { "type": "string", "required": true, "format": "uint64", "location": "path" }, + "language": { + "type": "string", + "description": "The language for which to get the datafeed status. If this parameter is provided then country must also be provided. Note that this parameter is required for feeds targeting multiple countries and languages, since a feed may have a different status for each target.", + "location": "query" + }, "merchantId": { "type": "string", "required": true, @@ -6121,7 +6303,7 @@ "id": "content.shippingsettings.get", "path": "{merchantId}/shippingsettings/{accountId}", "httpMethod": "GET", - "description": "Retrieves the shipping settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account.", + "description": "Retrieves the shipping settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself for any Merchant Center account, or any sub-account when the managing account is a multi-client account.", "parameters": { "accountId": { "type": "string", @@ -6212,7 +6394,7 @@ "id": "content.shippingsettings.patch", "path": "{merchantId}/shippingsettings/{accountId}", "httpMethod": "PATCH", - "description": "Updates the shipping settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account. This method supports patch semantics.", + "description": "Updates the shipping settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself for any Merchant Center account, or any sub-account when the managing account is a multi-client account. This method supports patch semantics.", "parameters": { "accountId": { "type": "string", @@ -6252,7 +6434,7 @@ "id": "content.shippingsettings.update", "path": "{merchantId}/shippingsettings/{accountId}", "httpMethod": "PUT", - "description": "Updates the shipping settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account.", + "description": "Updates the shipping settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself for any Merchant Center account, or any sub-account when the managing account is a multi-client account.", "parameters": { "accountId": { "type": "string", diff --git a/vendor/google.golang.org/api/content/v2/content-gen.go b/vendor/google.golang.org/api/content/v2/content-gen.go index 4cdd83bab..0fc142fc4 100644 --- a/vendor/google.golang.org/api/content/v2/content-gen.go +++ b/vendor/google.golang.org/api/content/v2/content-gen.go @@ -230,6 +230,14 @@ type Account struct { // WebsiteUrl: The merchant's website. WebsiteUrl string `json:"websiteUrl,omitempty"` + // YoutubeChannelLinks: List of linked YouTube channels that are active + // or pending approval. To create a new link request, add a new link + // with status active to the list. It will remain in a pending state + // until approved or rejected in the YT Creator Studio interface. To + // delete an active link, or to cancel a link request, remove it from + // the list. + YoutubeChannelLinks []*AccountYouTubeChannelLink `json:"youtubeChannelLinks,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -335,6 +343,9 @@ type AccountStatus struct { // AccountId: The ID of the account for which the status is reported. AccountId string `json:"accountId,omitempty"` + // AccountLevelIssues: A list of account level issues. + AccountLevelIssues []*AccountStatusAccountLevelIssue `json:"accountLevelIssues,omitempty"` + // DataQualityIssues: A list of data quality issues. DataQualityIssues []*AccountStatusDataQualityIssue `json:"dataQualityIssues,omitempty"` @@ -372,6 +383,45 @@ func (s *AccountStatus) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type AccountStatusAccountLevelIssue struct { + // Country: Country for which this issue is reported. + Country string `json:"country,omitempty"` + + // Detail: Additional details about the issue. + Detail string `json:"detail,omitempty"` + + // Id: Issue identifier. + Id string `json:"id,omitempty"` + + // Severity: Severity of the issue. + Severity string `json:"severity,omitempty"` + + // Title: Short description of the issue. + Title string `json:"title,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Country") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Country") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AccountStatusAccountLevelIssue) MarshalJSON() ([]byte, error) { + type noMethod AccountStatusAccountLevelIssue + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type AccountStatusDataQualityIssue struct { // Country: Country for which this issue is reported. Country string `json:"country,omitempty"` @@ -585,6 +635,45 @@ func (s *AccountUser) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type AccountYouTubeChannelLink struct { + // ChannelId: Channel ID. + ChannelId string `json:"channelId,omitempty"` + + // Status: Status of the link between this Merchant Center account and + // the YouTube channel. Upon retrieval, it represents the actual status + // of the link and can be either active if it was approved in YT Creator + // Studio or pending if it's pending approval. Upon insertion, it + // represents the intended status of the link. Re-uploading a link with + // status active when it's still pending or with status pending when + // it's already active will have no effect: the status will remain + // unchanged. Re-uploading a link with deprecated status inactive is + // equivalent to not submitting the link at all and will delete the link + // if it was active or cancel the link request if it was pending. + Status string `json:"status,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ChannelId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ChannelId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AccountYouTubeChannelLink) MarshalJSON() ([]byte, error) { + type noMethod AccountYouTubeChannelLink + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type AccountsAuthInfoResponse struct { // AccountIdentifiers: The account identifiers corresponding to the // authenticated user. @@ -699,6 +788,10 @@ type AccountsCustomBatchRequestEntry struct { // BatchId: An entry ID, unique within the batch request. BatchId int64 `json:"batchId,omitempty"` + // Force: Whether the account should be deleted if the account has + // offers. Only applicable if the method is delete. + Force bool `json:"force,omitempty"` + // MerchantId: The ID of the managing account. MerchantId uint64 `json:"merchantId,omitempty,string"` @@ -1293,8 +1386,9 @@ type Datafeed struct { // attributes are defined in the data feed. AttributeLanguage string `json:"attributeLanguage,omitempty"` - // ContentLanguage: The two-letter ISO 639-1 language of the items in - // the feed. Must be a valid language for targetCountry. + // ContentLanguage: [DEPRECATED] Please use target.language instead. The + // two-letter ISO 639-1 language of the items in the feed. Must be a + // valid language for targetCountry. ContentLanguage string `json:"contentLanguage,omitempty"` // ContentType: The type of data feed. For product inventory feeds, only @@ -1314,8 +1408,9 @@ type Datafeed struct { // Id: The ID of the data feed. Id int64 `json:"id,omitempty,string"` - // IntendedDestinations: The list of intended destinations (corresponds - // to checked check boxes in Merchant Center). + // IntendedDestinations: [DEPRECATED] Please use + // target.includedDestination instead. The list of intended destinations + // (corresponds to checked check boxes in Merchant Center). IntendedDestinations []string `json:"intendedDestinations,omitempty"` // Kind: Identifies what kind of resource this is. Value: the fixed @@ -1325,10 +1420,15 @@ type Datafeed struct { // Name: A descriptive name of the data feed. Name string `json:"name,omitempty"` - // TargetCountry: The country where the items in the feed will be - // included in the search index, represented as a CLDR territory code. + // TargetCountry: [DEPRECATED] Please use target.country instead. The + // country where the items in the feed will be included in the search + // index, represented as a CLDR territory code. TargetCountry string `json:"targetCountry,omitempty"` + // Targets: The targets this feed should apply to (country, language, + // destinations). + Targets []*DatafeedTarget `json:"targets,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -1382,6 +1482,9 @@ type DatafeedFetchSchedule struct { // Password: An optional password for fetch_url. Password string `json:"password,omitempty"` + // Paused: Whether the scheduled fetch is paused or not. + Paused bool `json:"paused,omitempty"` + // TimeZone: Time zone used for schedule. UTC by default. E.g., // "America/Los_Angeles". TimeZone string `json:"timeZone,omitempty"` @@ -1458,6 +1561,10 @@ func (s *DatafeedFormat) MarshalJSON() ([]byte, error) { // last retrieval of the datafeed computed asynchronously when the feed // processing is finished. type DatafeedStatus struct { + // Country: The country for which the status is reported, represented as + // a CLDR territory code. + Country string `json:"country,omitempty"` + // DatafeedId: The ID of the feed for which the status is reported. DatafeedId uint64 `json:"datafeedId,omitempty,string"` @@ -1474,6 +1581,10 @@ type DatafeedStatus struct { // string "content#datafeedStatus". Kind string `json:"kind,omitempty"` + // Language: The two-letter ISO 639-1 language for which the status is + // reported. + Language string `json:"language,omitempty"` + // LastUploadDate: The last date at which the feed was uploaded. LastUploadDate string `json:"lastUploadDate,omitempty"` @@ -1487,7 +1598,7 @@ type DatafeedStatus struct { // server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "DatafeedId") to + // ForceSendFields is a list of field names (e.g. "Country") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -1495,7 +1606,7 @@ type DatafeedStatus struct { // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DatafeedId") to include in + // NullFields is a list of field names (e.g. "Country") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as @@ -1583,6 +1694,48 @@ func (s *DatafeedStatusExample) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type DatafeedTarget struct { + // Country: The country where the items in the feed will be included in + // the search index, represented as a CLDR territory code. + Country string `json:"country,omitempty"` + + // ExcludedDestinations: The list of destinations to exclude for this + // target (corresponds to unchecked check boxes in Merchant Center). + ExcludedDestinations []string `json:"excludedDestinations,omitempty"` + + // IncludedDestinations: The list of destinations to include for this + // target (corresponds to checked check boxes in Merchant Center). + // Default destinations are always included unless provided in the + // excluded_destination field. + IncludedDestinations []string `json:"includedDestinations,omitempty"` + + // Language: The two-letter ISO 639-1 language of the items in the feed. + // Must be a valid language for targets[].country. + Language string `json:"language,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Country") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Country") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DatafeedTarget) MarshalJSON() ([]byte, error) { + type noMethod DatafeedTarget + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type DatafeedsCustomBatchRequest struct { // Entries: The request entries to be processed in the batch. Entries []*DatafeedsCustomBatchRequestEntry `json:"entries,omitempty"` @@ -1792,9 +1945,19 @@ type DatafeedstatusesCustomBatchRequestEntry struct { // BatchId: An entry ID, unique within the batch request. BatchId int64 `json:"batchId,omitempty"` - // DatafeedId: The ID of the data feed to get or delete. + // Country: The country for which to get the datafeed status. If this + // parameter is provided then language must also be provided. Note that + // for multi-target datafeeds this parameter is required. + Country string `json:"country,omitempty"` + + // DatafeedId: The ID of the data feed to get. DatafeedId uint64 `json:"datafeedId,omitempty,string"` + // Language: The language for which to get the datafeed status. If this + // parameter is provided then country must also be provided. Note that + // for multi-target datafeeds this parameter is required. + Language string `json:"language,omitempty"` + // MerchantId: The ID of the managing account. MerchantId uint64 `json:"merchantId,omitempty,string"` @@ -2583,7 +2746,7 @@ type Order struct { PlacedDate string `json:"placedDate,omitempty"` // Promotions: The details of the merchant provided promotions applied - // to the order. More details about the program are here. + // to the order. More details about the program are here. Promotions []*OrderPromotion `json:"promotions,omitempty"` // Refunds: Refunds for the order. @@ -2800,6 +2963,10 @@ type OrderLineItem struct { // Cancellations: Cancellations of the line item. Cancellations []*OrderCancellation `json:"cancellations,omitempty"` + // ChannelType: The channel type of the order: "purchaseOnGoogle" or + // "googleExpress". + ChannelType string `json:"channelType,omitempty"` + // Id: The id of the line item. Id string `json:"id,omitempty"` @@ -3036,7 +3203,8 @@ func (s *OrderLineItemShippingDetails) MarshalJSON() ([]byte, error) { } type OrderLineItemShippingDetailsMethod struct { - // Carrier: The carrier for the shipping. Optional. + // Carrier: The carrier for the shipping. Optional. See + // shipments[].carrier for a list of acceptable values. Carrier string `json:"carrier,omitempty"` // MaxDaysInTransit: Maximum transit time. @@ -3088,7 +3256,16 @@ type OrderPaymentMethod struct { // PhoneNumber: The billing phone number. PhoneNumber string `json:"phoneNumber,omitempty"` - // Type: The type of instrument (VISA, Mastercard, etc). + // Type: The type of instrument. + // + // Acceptable values are: + // - "AMEX" + // - "DISCOVER" + // - "JCB" + // - "MASTERCARD" + // - "UNIONPAY" + // - "VISA" + // - "" Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "BillingAddress") to @@ -3294,6 +3471,30 @@ func (s *OrderReturn) MarshalJSON() ([]byte, error) { type OrderShipment struct { // Carrier: The carrier handling the shipment. + // + // Acceptable values are: + // - "gsx" + // - "ups" + // - "united parcel service" + // - "usps" + // - "united states postal service" + // - "fedex" + // - "dhl" + // - "ecourier" + // - "cxt" + // - "google" + // - "on trac" + // - "ontrac" + // - "on-trac" + // - "on_trac" + // - "delvic" + // - "dynamex" + // - "lasership" + // - "smartpost" + // - "fedex smartpost" + // - "mpx" + // - "uds" + // - "united delivery service" Carrier string `json:"carrier,omitempty"` // CreationDate: Date on which the shipment has been created, in ISO @@ -3917,16 +4118,25 @@ func (s *OrdersCustomBatchRequestEntryReturnLineItem) MarshalJSON() ([]byte, err } type OrdersCustomBatchRequestEntryShipLineItems struct { - // Carrier: The carrier handling the shipment. + // Carrier: Deprecated. Please use shipmentInfo instead. The carrier + // handling the shipment. See shipments[].carrier in the Orders + // resource representation for a list of acceptable values. Carrier string `json:"carrier,omitempty"` // LineItems: Line items to ship. LineItems []*OrderShipmentLineItemShipment `json:"lineItems,omitempty"` - // ShipmentId: The ID of the shipment. + // ShipmentId: Deprecated. Please use shipmentInfo instead. The ID of + // the shipment. ShipmentId string `json:"shipmentId,omitempty"` - // TrackingId: The tracking id for the shipment. + // ShipmentInfos: Shipment information. This field is repeated because a + // single line item can be shipped in several packages (and have several + // tracking IDs). + ShipmentInfos []*OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo `json:"shipmentInfos,omitempty"` + + // TrackingId: Deprecated. Please use shipmentInfo instead. The tracking + // id for the shipment. TrackingId string `json:"trackingId,omitempty"` // ForceSendFields is a list of field names (e.g. "Carrier") to @@ -3952,8 +4162,45 @@ func (s *OrdersCustomBatchRequestEntryShipLineItems) MarshalJSON() ([]byte, erro return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo struct { + // Carrier: The carrier handling the shipment. See shipments[].carrier + // in the Orders resource representation for a list of acceptable + // values. + Carrier string `json:"carrier,omitempty"` + + // ShipmentId: The ID of the shipment. + ShipmentId string `json:"shipmentId,omitempty"` + + // TrackingId: The tracking id for the shipment. + TrackingId string `json:"trackingId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Carrier") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Carrier") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo) MarshalJSON() ([]byte, error) { + type noMethod OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type OrdersCustomBatchRequestEntryUpdateShipment struct { // Carrier: The carrier handling the shipment. Not updated if missing. + // See shipments[].carrier in the Orders resource representation for a + // list of acceptable values. Carrier string `json:"carrier,omitempty"` // ShipmentId: The ID of the shipment. @@ -4324,7 +4571,9 @@ func (s *OrdersReturnLineItemResponse) MarshalJSON() ([]byte, error) { } type OrdersShipLineItemsRequest struct { - // Carrier: The carrier handling the shipment. + // Carrier: Deprecated. Please use shipmentInfo instead. The carrier + // handling the shipment. See shipments[].carrier in the Orders + // resource representation for a list of acceptable values. Carrier string `json:"carrier,omitempty"` // LineItems: Line items to ship. @@ -4334,10 +4583,17 @@ type OrdersShipLineItemsRequest struct { // for a given order. OperationId string `json:"operationId,omitempty"` - // ShipmentId: The ID of the shipment. + // ShipmentId: Deprecated. Please use shipmentInfo instead. The ID of + // the shipment. ShipmentId string `json:"shipmentId,omitempty"` - // TrackingId: The tracking id for the shipment. + // ShipmentInfos: Shipment information. This field is repeated because a + // single line item can be shipped in several packages (and have several + // tracking IDs). + ShipmentInfos []*OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo `json:"shipmentInfos,omitempty"` + + // TrackingId: Deprecated. Please use shipmentInfo instead. The tracking + // id for the shipment. TrackingId string `json:"trackingId,omitempty"` // ForceSendFields is a list of field names (e.g. "Carrier") to @@ -4470,6 +4726,8 @@ func (s *OrdersUpdateMerchantOrderIdResponse) MarshalJSON() ([]byte, error) { type OrdersUpdateShipmentRequest struct { // Carrier: The carrier handling the shipment. Not updated if missing. + // See shipments[].carrier in the Orders resource representation for a + // list of acceptable values. Carrier string `json:"carrier,omitempty"` // OperationId: The ID of the operation. Unique across all operations @@ -5115,8 +5373,7 @@ type ProductShipping struct { // Price: Fixed shipping price, represented as a number. Price *Price `json:"price,omitempty"` - // Region: The geographic region to which a shipping rate applies (e.g. - // zip code). + // Region: The geographic region to which a shipping rate applies. Region string `json:"region,omitempty"` // Service: A free-form description of the service class or delivery @@ -5269,6 +5526,9 @@ type ProductStatus struct { // Link: The link to the product. Link string `json:"link,omitempty"` + // Product: Product data after applying all the join inputs. + Product *Product `json:"product,omitempty"` + // ProductId: The id of the product for which status is reported. ProductId string `json:"productId,omitempty"` @@ -5736,6 +5996,8 @@ type ProductstatusesCustomBatchRequestEntry struct { // BatchId: An entry ID, unique within the batch request. BatchId int64 `json:"batchId,omitempty"` + IncludeAttributes bool `json:"includeAttributes,omitempty"` + // MerchantId: The ID of the managing account. MerchantId uint64 `json:"merchantId,omitempty,string"` @@ -5974,6 +6236,11 @@ type Service struct { // delivery of the product. Required. DeliveryTime *DeliveryTime `json:"deliveryTime,omitempty"` + // MinimumOrderValue: Minimum order value for this service. If set, + // indicates that customers will have to spend at least this amount. All + // prices within a service must have the same currency. + MinimumOrderValue *Price `json:"minimumOrderValue,omitempty"` + // Name: Free-form name of the service. Must be unique within target // account. Required. Name string `json:"name,omitempty"` @@ -6323,7 +6590,7 @@ type TestOrder struct { PredefinedDeliveryAddress string `json:"predefinedDeliveryAddress,omitempty"` // Promotions: The details of the merchant provided promotions applied - // to the order. More details about the program are here. + // to the order. More details about the program are here. Promotions []*OrderPromotion `json:"promotions,omitempty"` // ShippingCost: The total cost of shipping for all items. @@ -6756,8 +7023,9 @@ type AccountsClaimwebsiteCall struct { // Claimwebsite: Claims the website of a Merchant Center sub-account. // This method can only be called for accounts to which the managing -// account has access: either the managing account itself or -// sub-accounts if the managing account is a multi-client account. +// account has access: either the managing account itself for any +// Merchant Center account, or any sub-account when the managing account +// is a multi-client account. func (r *AccountsService) Claimwebsite(merchantId uint64, accountId uint64) *AccountsClaimwebsiteCall { c := &AccountsClaimwebsiteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.merchantId = merchantId @@ -6765,9 +7033,10 @@ func (r *AccountsService) Claimwebsite(merchantId uint64, accountId uint64) *Acc return c } -// Overwrite sets the optional parameter "overwrite": Flag to remove any -// existing claim on the requested website by another account and -// replace it with a claim from this account. +// Overwrite sets the optional parameter "overwrite": Only available to +// selected merchants. When set to True, this flag removes any existing +// claim on the requested website by another account and replaces it +// with a claim from this account. func (c *AccountsClaimwebsiteCall) Overwrite(overwrite bool) *AccountsClaimwebsiteCall { c.urlParams_.Set("overwrite", fmt.Sprint(overwrite)) return c @@ -6855,7 +7124,7 @@ func (c *AccountsClaimwebsiteCall) Do(opts ...googleapi.CallOption) (*AccountsCl } return ret, nil // { - // "description": "Claims the website of a Merchant Center sub-account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account.", + // "description": "Claims the website of a Merchant Center sub-account. This method can only be called for accounts to which the managing account has access: either the managing account itself for any Merchant Center account, or any sub-account when the managing account is a multi-client account.", // "httpMethod": "POST", // "id": "content.accounts.claimwebsite", // "parameterOrder": [ @@ -6878,7 +7147,7 @@ func (c *AccountsClaimwebsiteCall) Do(opts ...googleapi.CallOption) (*AccountsCl // "type": "string" // }, // "overwrite": { - // "description": "Flag to remove any existing claim on the requested website by another account and replace it with a claim from this account.", + // "description": "Only available to selected merchants. When set to True, this flag removes any existing claim on the requested website by another account and replaces it with a claim from this account.", // "location": "query", // "type": "boolean" // } @@ -7053,6 +7322,13 @@ func (c *AccountsDeleteCall) DryRun(dryRun bool) *AccountsDeleteCall { return c } +// Force sets the optional parameter "force": Flag to delete +// sub-accounts with products. The default value is false. +func (c *AccountsDeleteCall) Force(force bool) *AccountsDeleteCall { + c.urlParams_.Set("force", fmt.Sprint(force)) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. @@ -7130,6 +7406,12 @@ func (c *AccountsDeleteCall) Do(opts ...googleapi.CallOption) error { // "location": "query", // "type": "boolean" // }, + // "force": { + // "default": "false", + // "description": "Flag to delete sub-accounts with products. The default value is false.", + // "location": "query", + // "type": "boolean" + // }, // "merchantId": { // "description": "The ID of the managing account.", // "format": "uint64", @@ -7160,8 +7442,8 @@ type AccountsGetCall struct { // Get: Retrieves a Merchant Center account. This method can only be // called for accounts to which the managing account has access: either -// the managing account itself or sub-accounts if the managing account -// is a multi-client account. +// the managing account itself for any Merchant Center account, or any +// sub-account when the managing account is a multi-client account. func (r *AccountsService) Get(merchantId uint64, accountId uint64) *AccountsGetCall { c := &AccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.merchantId = merchantId @@ -7264,7 +7546,7 @@ func (c *AccountsGetCall) Do(opts ...googleapi.CallOption) (*Account, error) { } return ret, nil // { - // "description": "Retrieves a Merchant Center account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account.", + // "description": "Retrieves a Merchant Center account. This method can only be called for accounts to which the managing account has access: either the managing account itself for any Merchant Center account, or any sub-account when the managing account is a multi-client account.", // "httpMethod": "GET", // "id": "content.accounts.get", // "parameterOrder": [ @@ -7644,8 +7926,9 @@ type AccountsPatchCall struct { // Patch: Updates a Merchant Center account. This method can only be // called for accounts to which the managing account has access: either -// the managing account itself or sub-accounts if the managing account -// is a multi-client account. This method supports patch semantics. +// the managing account itself for any Merchant Center account, or any +// sub-account when the managing account is a multi-client account. This +// method supports patch semantics. func (r *AccountsService) Patch(merchantId uint64, accountId uint64, account *Account) *AccountsPatchCall { c := &AccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.merchantId = merchantId @@ -7748,7 +8031,7 @@ func (c *AccountsPatchCall) Do(opts ...googleapi.CallOption) (*Account, error) { } return ret, nil // { - // "description": "Updates a Merchant Center account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account. This method supports patch semantics.", + // "description": "Updates a Merchant Center account. This method can only be called for accounts to which the managing account has access: either the managing account itself for any Merchant Center account, or any sub-account when the managing account is a multi-client account. This method supports patch semantics.", // "httpMethod": "PATCH", // "id": "content.accounts.patch", // "parameterOrder": [ @@ -7804,8 +8087,8 @@ type AccountsUpdateCall struct { // Update: Updates a Merchant Center account. This method can only be // called for accounts to which the managing account has access: either -// the managing account itself or sub-accounts if the managing account -// is a multi-client account. +// the managing account itself for any Merchant Center account, or any +// sub-account when the managing account is a multi-client account. func (r *AccountsService) Update(merchantId uint64, accountId uint64, account *Account) *AccountsUpdateCall { c := &AccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.merchantId = merchantId @@ -7908,7 +8191,7 @@ func (c *AccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Account, error) } return ret, nil // { - // "description": "Updates a Merchant Center account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account.", + // "description": "Updates a Merchant Center account. This method can only be called for accounts to which the managing account has access: either the managing account itself for any Merchant Center account, or any sub-account when the managing account is a multi-client account.", // "httpMethod": "PUT", // "id": "content.accounts.update", // "parameterOrder": [ @@ -8081,8 +8364,9 @@ type AccountstatusesGetCall struct { // Get: Retrieves the status of a Merchant Center account. This method // can only be called for accounts to which the managing account has -// access: either the managing account itself or sub-accounts if the -// managing account is a multi-client account. +// access: either the managing account itself for any Merchant Center +// account, or any sub-account when the managing account is a +// multi-client account. func (r *AccountstatusesService) Get(merchantId uint64, accountId uint64) *AccountstatusesGetCall { c := &AccountstatusesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.merchantId = merchantId @@ -8185,7 +8469,7 @@ func (c *AccountstatusesGetCall) Do(opts ...googleapi.CallOption) (*AccountStatu } return ret, nil // { - // "description": "Retrieves the status of a Merchant Center account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account.", + // "description": "Retrieves the status of a Merchant Center account. This method can only be called for accounts to which the managing account has access: either the managing account itself for any Merchant Center account, or any sub-account when the managing account is a multi-client account.", // "httpMethod": "GET", // "id": "content.accountstatuses.get", // "parameterOrder": [ @@ -8551,8 +8835,9 @@ type AccounttaxGetCall struct { // Get: Retrieves the tax settings of the account. This method can only // be called for accounts to which the managing account has access: -// either the managing account itself or sub-accounts if the managing -// account is a multi-client account. +// either the managing account itself for any Merchant Center account, +// or any sub-account when the managing account is a multi-client +// account. func (r *AccounttaxService) Get(merchantId uint64, accountId uint64) *AccounttaxGetCall { c := &AccounttaxGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.merchantId = merchantId @@ -8655,7 +8940,7 @@ func (c *AccounttaxGetCall) Do(opts ...googleapi.CallOption) (*AccountTax, error } return ret, nil // { - // "description": "Retrieves the tax settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account.", + // "description": "Retrieves the tax settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself for any Merchant Center account, or any sub-account when the managing account is a multi-client account.", // "httpMethod": "GET", // "id": "content.accounttax.get", // "parameterOrder": [ @@ -8889,9 +9174,9 @@ type AccounttaxPatchCall struct { // Patch: Updates the tax settings of the account. This method can only // be called for accounts to which the managing account has access: -// either the managing account itself or sub-accounts if the managing -// account is a multi-client account. This method supports patch -// semantics. +// either the managing account itself for any Merchant Center account, +// or any sub-account when the managing account is a multi-client +// account. This method supports patch semantics. func (r *AccounttaxService) Patch(merchantId uint64, accountId uint64, accounttax *AccountTax) *AccounttaxPatchCall { c := &AccounttaxPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.merchantId = merchantId @@ -8994,7 +9279,7 @@ func (c *AccounttaxPatchCall) Do(opts ...googleapi.CallOption) (*AccountTax, err } return ret, nil // { - // "description": "Updates the tax settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account. This method supports patch semantics.", + // "description": "Updates the tax settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself for any Merchant Center account, or any sub-account when the managing account is a multi-client account. This method supports patch semantics.", // "httpMethod": "PATCH", // "id": "content.accounttax.patch", // "parameterOrder": [ @@ -9050,8 +9335,9 @@ type AccounttaxUpdateCall struct { // Update: Updates the tax settings of the account. This method can only // be called for accounts to which the managing account has access: -// either the managing account itself or sub-accounts if the managing -// account is a multi-client account. +// either the managing account itself for any Merchant Center account, +// or any sub-account when the managing account is a multi-client +// account. func (r *AccounttaxService) Update(merchantId uint64, accountId uint64, accounttax *AccountTax) *AccounttaxUpdateCall { c := &AccounttaxUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.merchantId = merchantId @@ -9154,7 +9440,7 @@ func (c *AccounttaxUpdateCall) Do(opts ...googleapi.CallOption) (*AccountTax, er } return ret, nil // { - // "description": "Updates the tax settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account.", + // "description": "Updates the tax settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself for any Merchant Center account, or any sub-account when the managing account is a multi-client account.", // "httpMethod": "PUT", // "id": "content.accounttax.update", // "parameterOrder": [ @@ -10379,6 +10665,26 @@ func (r *DatafeedstatusesService) Get(merchantId uint64, datafeedId uint64) *Dat return c } +// Country sets the optional parameter "country": The country for which +// to get the datafeed status. If this parameter is provided then +// language must also be provided. Note that this parameter is required +// for feeds targeting multiple countries and languages, since a feed +// may have a different status for each target. +func (c *DatafeedstatusesGetCall) Country(country string) *DatafeedstatusesGetCall { + c.urlParams_.Set("country", country) + return c +} + +// Language sets the optional parameter "language": The language for +// which to get the datafeed status. If this parameter is provided then +// country must also be provided. Note that this parameter is required +// for feeds targeting multiple countries and languages, since a feed +// may have a different status for each target. +func (c *DatafeedstatusesGetCall) Language(language string) *DatafeedstatusesGetCall { + c.urlParams_.Set("language", language) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. @@ -10482,12 +10788,22 @@ func (c *DatafeedstatusesGetCall) Do(opts ...googleapi.CallOption) (*DatafeedSta // "datafeedId" // ], // "parameters": { + // "country": { + // "description": "The country for which to get the datafeed status. If this parameter is provided then language must also be provided. Note that this parameter is required for feeds targeting multiple countries and languages, since a feed may have a different status for each target.", + // "location": "query", + // "type": "string" + // }, // "datafeedId": { // "format": "uint64", // "location": "path", // "required": true, // "type": "string" // }, + // "language": { + // "description": "The language for which to get the datafeed status. If this parameter is provided then country must also be provided. Note that this parameter is required for feeds targeting multiple countries and languages, since a feed may have a different status for each target.", + // "location": "query", + // "type": "string" + // }, // "merchantId": { // "format": "uint64", // "location": "path", @@ -14730,8 +15046,9 @@ type ShippingsettingsGetCall struct { // Get: Retrieves the shipping settings of the account. This method can // only be called for accounts to which the managing account has access: -// either the managing account itself or sub-accounts if the managing -// account is a multi-client account. +// either the managing account itself for any Merchant Center account, +// or any sub-account when the managing account is a multi-client +// account. func (r *ShippingsettingsService) Get(merchantId uint64, accountId uint64) *ShippingsettingsGetCall { c := &ShippingsettingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.merchantId = merchantId @@ -14834,7 +15151,7 @@ func (c *ShippingsettingsGetCall) Do(opts ...googleapi.CallOption) (*ShippingSet } return ret, nil // { - // "description": "Retrieves the shipping settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account.", + // "description": "Retrieves the shipping settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself for any Merchant Center account, or any sub-account when the managing account is a multi-client account.", // "httpMethod": "GET", // "id": "content.shippingsettings.get", // "parameterOrder": [ @@ -15210,9 +15527,9 @@ type ShippingsettingsPatchCall struct { // Patch: Updates the shipping settings of the account. This method can // only be called for accounts to which the managing account has access: -// either the managing account itself or sub-accounts if the managing -// account is a multi-client account. This method supports patch -// semantics. +// either the managing account itself for any Merchant Center account, +// or any sub-account when the managing account is a multi-client +// account. This method supports patch semantics. func (r *ShippingsettingsService) Patch(merchantId uint64, accountId uint64, shippingsettings *ShippingSettings) *ShippingsettingsPatchCall { c := &ShippingsettingsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.merchantId = merchantId @@ -15315,7 +15632,7 @@ func (c *ShippingsettingsPatchCall) Do(opts ...googleapi.CallOption) (*ShippingS } return ret, nil // { - // "description": "Updates the shipping settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account. This method supports patch semantics.", + // "description": "Updates the shipping settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself for any Merchant Center account, or any sub-account when the managing account is a multi-client account. This method supports patch semantics.", // "httpMethod": "PATCH", // "id": "content.shippingsettings.patch", // "parameterOrder": [ @@ -15371,8 +15688,9 @@ type ShippingsettingsUpdateCall struct { // Update: Updates the shipping settings of the account. This method can // only be called for accounts to which the managing account has access: -// either the managing account itself or sub-accounts if the managing -// account is a multi-client account. +// either the managing account itself for any Merchant Center account, +// or any sub-account when the managing account is a multi-client +// account. func (r *ShippingsettingsService) Update(merchantId uint64, accountId uint64, shippingsettings *ShippingSettings) *ShippingsettingsUpdateCall { c := &ShippingsettingsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.merchantId = merchantId @@ -15475,7 +15793,7 @@ func (c *ShippingsettingsUpdateCall) Do(opts ...googleapi.CallOption) (*Shipping } return ret, nil // { - // "description": "Updates the shipping settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account.", + // "description": "Updates the shipping settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself for any Merchant Center account, or any sub-account when the managing account is a multi-client account.", // "httpMethod": "PUT", // "id": "content.shippingsettings.update", // "parameterOrder": [ diff --git a/vendor/google.golang.org/api/content/v2sandbox/content-api.json b/vendor/google.golang.org/api/content/v2sandbox/content-api.json index 58ca228c1..3c8f8519c 100644 --- a/vendor/google.golang.org/api/content/v2sandbox/content-api.json +++ b/vendor/google.golang.org/api/content/v2sandbox/content-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/lbeqa-NGWRK_GCsjSxcBWyd83Mo\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/QmLvLWNsI9BfMK5wWeN2hMPf260\"", "discoveryVersion": "v1", "id": "content:v2sandbox", "name": "content", "canonicalName": "Shopping Content", "version": "v2sandbox", - "revision": "20170531", + "revision": "20170928", "title": "Content API for Shopping", "description": "Manages product items, inventory, and Merchant Center accounts for Google Shopping.", "ownerDomain": "google.com", @@ -21,7 +21,7 @@ "basePath": "/content/v2sandbox/", "rootUrl": "https://www.googleapis.com/", "servicePath": "content/v2sandbox/", - "batchPath": "batch", + "batchPath": "batch/content/v2sandbox", "parameters": { "alt": { "type": "string", @@ -181,7 +181,7 @@ }, "promotions": { "type": "array", - "description": "The details of the merchant provided promotions applied to the order. More details about the program are here.", + "description": "The details of the merchant provided promotions applied to the order. More details about the program are here.", "items": { "$ref": "OrderPromotion" } @@ -332,6 +332,10 @@ "$ref": "OrderCancellation" } }, + "channelType": { + "type": "string", + "description": "The channel type of the order: \"purchaseOnGoogle\" or \"googleExpress\"." + }, "id": { "type": "string", "description": "The id of the line item." @@ -551,7 +555,7 @@ "properties": { "carrier": { "type": "string", - "description": "The carrier for the shipping. Optional." + "description": "The carrier for the shipping. Optional. See shipments[].carrier for a list of acceptable values." }, "maxDaysInTransit": { "type": "integer", @@ -612,7 +616,7 @@ }, "type": { "type": "string", - "description": "The type of instrument (VISA, Mastercard, etc)." + "description": "The type of instrument.\n\nAcceptable values are: \n- \"AMEX\" \n- \"DISCOVER\" \n- \"JCB\" \n- \"MASTERCARD\" \n- \"UNIONPAY\" \n- \"VISA\" \n- \"\"" } } }, @@ -740,7 +744,7 @@ "properties": { "carrier": { "type": "string", - "description": "The carrier handling the shipment." + "description": "The carrier handling the shipment.\n\nAcceptable values are: \n- \"gsx\" \n- \"ups\" \n- \"united parcel service\" \n- \"usps\" \n- \"united states postal service\" \n- \"fedex\" \n- \"dhl\" \n- \"ecourier\" \n- \"cxt\" \n- \"google\" \n- \"on trac\" \n- \"ontrac\" \n- \"on-trac\" \n- \"on_trac\" \n- \"delvic\" \n- \"dynamex\" \n- \"lasership\" \n- \"smartpost\" \n- \"fedex smartpost\" \n- \"mpx\" \n- \"uds\" \n- \"united delivery service\"" }, "creationDate": { "type": "string", @@ -1087,7 +1091,7 @@ "properties": { "carrier": { "type": "string", - "description": "The carrier handling the shipment." + "description": "Deprecated. Please use shipmentInfo instead. The carrier handling the shipment. See shipments[].carrier in the Orders resource representation for a list of acceptable values." }, "lineItems": { "type": "array", @@ -1098,7 +1102,37 @@ }, "shipmentId": { "type": "string", - "description": "The ID of the shipment." + "description": "Deprecated. Please use shipmentInfo instead. The ID of the shipment." + }, + "shipmentInfos": { + "type": "array", + "description": "Shipment information. This field is repeated because a single line item can be shipped in several packages (and have several tracking IDs).", + "items": { + "$ref": "OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo" + } + }, + "trackingId": { + "type": "string", + "description": "Deprecated. Please use shipmentInfo instead. The tracking id for the shipment." + } + } + }, + "OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo": { + "id": "OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo", + "type": "object", + "properties": { + "carrier": { + "type": "string", + "description": "The carrier handling the shipment. See shipments[].carrier in the Orders resource representation for a list of acceptable values." + }, + "shipmentId": { + "type": "string", + "description": "The ID of the shipment.", + "annotations": { + "required": [ + "content.orders.shiplineitems" + ] + } }, "trackingId": { "type": "string", @@ -1112,7 +1146,7 @@ "properties": { "carrier": { "type": "string", - "description": "The carrier handling the shipment. Not updated if missing." + "description": "The carrier handling the shipment. Not updated if missing. See shipments[].carrier in the Orders resource representation for a list of acceptable values." }, "shipmentId": { "type": "string", @@ -1310,7 +1344,7 @@ "properties": { "carrier": { "type": "string", - "description": "The carrier handling the shipment." + "description": "Deprecated. Please use shipmentInfo instead. The carrier handling the shipment. See shipments[].carrier in the Orders resource representation for a list of acceptable values." }, "lineItems": { "type": "array", @@ -1325,11 +1359,18 @@ }, "shipmentId": { "type": "string", - "description": "The ID of the shipment." + "description": "Deprecated. Please use shipmentInfo instead. The ID of the shipment." + }, + "shipmentInfos": { + "type": "array", + "description": "Shipment information. This field is repeated because a single line item can be shipped in several packages (and have several tracking IDs).", + "items": { + "$ref": "OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo" + } }, "trackingId": { "type": "string", - "description": "The tracking id for the shipment." + "description": "Deprecated. Please use shipmentInfo instead. The tracking id for the shipment." } } }, @@ -1383,7 +1424,7 @@ "properties": { "carrier": { "type": "string", - "description": "The carrier handling the shipment. Not updated if missing." + "description": "The carrier handling the shipment. Not updated if missing. See shipments[].carrier in the Orders resource representation for a list of acceptable values." }, "operationId": { "type": "string", @@ -1477,7 +1518,7 @@ }, "promotions": { "type": "array", - "description": "The details of the merchant provided promotions applied to the order. More details about the program are here.", + "description": "The details of the merchant provided promotions applied to the order. More details about the program are here.", "items": { "$ref": "OrderPromotion" } diff --git a/vendor/google.golang.org/api/content/v2sandbox/content-gen.go b/vendor/google.golang.org/api/content/v2sandbox/content-gen.go index ff3b5b3f1..c665d428d 100644 --- a/vendor/google.golang.org/api/content/v2sandbox/content-gen.go +++ b/vendor/google.golang.org/api/content/v2sandbox/content-gen.go @@ -196,7 +196,7 @@ type Order struct { PlacedDate string `json:"placedDate,omitempty"` // Promotions: The details of the merchant provided promotions applied - // to the order. More details about the program are here. + // to the order. More details about the program are here. Promotions []*OrderPromotion `json:"promotions,omitempty"` // Refunds: Refunds for the order. @@ -413,6 +413,10 @@ type OrderLineItem struct { // Cancellations: Cancellations of the line item. Cancellations []*OrderCancellation `json:"cancellations,omitempty"` + // ChannelType: The channel type of the order: "purchaseOnGoogle" or + // "googleExpress". + ChannelType string `json:"channelType,omitempty"` + // Id: The id of the line item. Id string `json:"id,omitempty"` @@ -649,7 +653,8 @@ func (s *OrderLineItemShippingDetails) MarshalJSON() ([]byte, error) { } type OrderLineItemShippingDetailsMethod struct { - // Carrier: The carrier for the shipping. Optional. + // Carrier: The carrier for the shipping. Optional. See + // shipments[].carrier for a list of acceptable values. Carrier string `json:"carrier,omitempty"` // MaxDaysInTransit: Maximum transit time. @@ -701,7 +706,16 @@ type OrderPaymentMethod struct { // PhoneNumber: The billing phone number. PhoneNumber string `json:"phoneNumber,omitempty"` - // Type: The type of instrument (VISA, Mastercard, etc). + // Type: The type of instrument. + // + // Acceptable values are: + // - "AMEX" + // - "DISCOVER" + // - "JCB" + // - "MASTERCARD" + // - "UNIONPAY" + // - "VISA" + // - "" Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "BillingAddress") to @@ -907,6 +921,30 @@ func (s *OrderReturn) MarshalJSON() ([]byte, error) { type OrderShipment struct { // Carrier: The carrier handling the shipment. + // + // Acceptable values are: + // - "gsx" + // - "ups" + // - "united parcel service" + // - "usps" + // - "united states postal service" + // - "fedex" + // - "dhl" + // - "ecourier" + // - "cxt" + // - "google" + // - "on trac" + // - "ontrac" + // - "on-trac" + // - "on_trac" + // - "delvic" + // - "dynamex" + // - "lasership" + // - "smartpost" + // - "fedex smartpost" + // - "mpx" + // - "uds" + // - "united delivery service" Carrier string `json:"carrier,omitempty"` // CreationDate: Date on which the shipment has been created, in ISO @@ -1530,16 +1568,25 @@ func (s *OrdersCustomBatchRequestEntryReturnLineItem) MarshalJSON() ([]byte, err } type OrdersCustomBatchRequestEntryShipLineItems struct { - // Carrier: The carrier handling the shipment. + // Carrier: Deprecated. Please use shipmentInfo instead. The carrier + // handling the shipment. See shipments[].carrier in the Orders + // resource representation for a list of acceptable values. Carrier string `json:"carrier,omitempty"` // LineItems: Line items to ship. LineItems []*OrderShipmentLineItemShipment `json:"lineItems,omitempty"` - // ShipmentId: The ID of the shipment. + // ShipmentId: Deprecated. Please use shipmentInfo instead. The ID of + // the shipment. ShipmentId string `json:"shipmentId,omitempty"` - // TrackingId: The tracking id for the shipment. + // ShipmentInfos: Shipment information. This field is repeated because a + // single line item can be shipped in several packages (and have several + // tracking IDs). + ShipmentInfos []*OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo `json:"shipmentInfos,omitempty"` + + // TrackingId: Deprecated. Please use shipmentInfo instead. The tracking + // id for the shipment. TrackingId string `json:"trackingId,omitempty"` // ForceSendFields is a list of field names (e.g. "Carrier") to @@ -1565,8 +1612,45 @@ func (s *OrdersCustomBatchRequestEntryShipLineItems) MarshalJSON() ([]byte, erro return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo struct { + // Carrier: The carrier handling the shipment. See shipments[].carrier + // in the Orders resource representation for a list of acceptable + // values. + Carrier string `json:"carrier,omitempty"` + + // ShipmentId: The ID of the shipment. + ShipmentId string `json:"shipmentId,omitempty"` + + // TrackingId: The tracking id for the shipment. + TrackingId string `json:"trackingId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Carrier") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Carrier") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo) MarshalJSON() ([]byte, error) { + type noMethod OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type OrdersCustomBatchRequestEntryUpdateShipment struct { // Carrier: The carrier handling the shipment. Not updated if missing. + // See shipments[].carrier in the Orders resource representation for a + // list of acceptable values. Carrier string `json:"carrier,omitempty"` // ShipmentId: The ID of the shipment. @@ -1937,7 +2021,9 @@ func (s *OrdersReturnLineItemResponse) MarshalJSON() ([]byte, error) { } type OrdersShipLineItemsRequest struct { - // Carrier: The carrier handling the shipment. + // Carrier: Deprecated. Please use shipmentInfo instead. The carrier + // handling the shipment. See shipments[].carrier in the Orders + // resource representation for a list of acceptable values. Carrier string `json:"carrier,omitempty"` // LineItems: Line items to ship. @@ -1947,10 +2033,17 @@ type OrdersShipLineItemsRequest struct { // for a given order. OperationId string `json:"operationId,omitempty"` - // ShipmentId: The ID of the shipment. + // ShipmentId: Deprecated. Please use shipmentInfo instead. The ID of + // the shipment. ShipmentId string `json:"shipmentId,omitempty"` - // TrackingId: The tracking id for the shipment. + // ShipmentInfos: Shipment information. This field is repeated because a + // single line item can be shipped in several packages (and have several + // tracking IDs). + ShipmentInfos []*OrdersCustomBatchRequestEntryShipLineItemsShipmentInfo `json:"shipmentInfos,omitempty"` + + // TrackingId: Deprecated. Please use shipmentInfo instead. The tracking + // id for the shipment. TrackingId string `json:"trackingId,omitempty"` // ForceSendFields is a list of field names (e.g. "Carrier") to @@ -2083,6 +2176,8 @@ func (s *OrdersUpdateMerchantOrderIdResponse) MarshalJSON() ([]byte, error) { type OrdersUpdateShipmentRequest struct { // Carrier: The carrier handling the shipment. Not updated if missing. + // See shipments[].carrier in the Orders resource representation for a + // list of acceptable values. Carrier string `json:"carrier,omitempty"` // OperationId: The ID of the operation. Unique across all operations @@ -2207,7 +2302,7 @@ type TestOrder struct { PredefinedDeliveryAddress string `json:"predefinedDeliveryAddress,omitempty"` // Promotions: The details of the merchant provided promotions applied - // to the order. More details about the program are here. + // to the order. More details about the program are here. Promotions []*OrderPromotion `json:"promotions,omitempty"` // ShippingCost: The total cost of shipping for all items. diff --git a/vendor/google.golang.org/api/customsearch/v1/customsearch-api.json b/vendor/google.golang.org/api/customsearch/v1/customsearch-api.json index f0740936a..30705c2be 100644 --- a/vendor/google.golang.org/api/customsearch/v1/customsearch-api.json +++ b/vendor/google.golang.org/api/customsearch/v1/customsearch-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/mEVn7ZP7sXAW_2rxSFljK04NT4w\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/vjsLOntBAplI6gHuETouIyrKBJI\"", "discoveryVersion": "v1", "id": "customsearch:v1", "name": "customsearch", "version": "v1", - "revision": "20170530", + "revision": "20170615", "title": "CustomSearch API", "description": "Searches over a website or collection of websites", "ownerDomain": "google.com", @@ -20,7 +20,7 @@ "basePath": "/customsearch/", "rootUrl": "https://www.googleapis.com/", "servicePath": "customsearch/", - "batchPath": "batch", + "batchPath": "batch/customsearch/v1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/dataflow/v1b3/dataflow-api.json b/vendor/google.golang.org/api/dataflow/v1b3/dataflow-api.json index a0c594ea9..192a32e3f 100644 --- a/vendor/google.golang.org/api/dataflow/v1b3/dataflow-api.json +++ b/vendor/google.golang.org/api/dataflow/v1b3/dataflow-api.json @@ -1,7 +1,11 @@ { - "id": "dataflow:v1b3", + "basePath": "", + "ownerDomain": "google.com", + "name": "dataflow", + "batchPath": "batch", + "revision": "20170918", "documentationLink": "https://cloud.google.com/dataflow", - "revision": "20170623", + "id": "dataflow:v1b3", "title": "Google Dataflow API", "ownerName": "Google", "discoveryVersion": "v1", @@ -16,6 +20,12 @@ "projectId" ], "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly", + "https://www.googleapis.com/auth/userinfo.email" + ], "parameters": { "projectId": { "location": "path", @@ -24,50 +34,30 @@ "required": true } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly", - "https://www.googleapis.com/auth/userinfo.email" - ], "flatPath": "v1b3/projects/{projectId}/WorkerMessages", "id": "dataflow.projects.workerMessages", "path": "v1b3/projects/{projectId}/WorkerMessages", - "description": "Send a worker_message to the service.", "request": { "$ref": "SendWorkerMessagesRequest" - } + }, + "description": "Send a worker_message to the service." } }, "resources": { "locations": { "methods": { "workerMessages": { - "description": "Send a worker_message to the service.", "request": { "$ref": "SendWorkerMessagesRequest" }, - "response": { - "$ref": "SendWorkerMessagesResponse" - }, + "description": "Send a worker_message to the service.", + "httpMethod": "POST", "parameterOrder": [ "projectId", "location" ], - "httpMethod": "POST", - "parameters": { - "projectId": { - "description": "The project to send the WorkerMessages to.", - "type": "string", - "required": true, - "location": "path" - }, - "location": { - "location": "path", - "description": "The location which contains the job", - "type": "string", - "required": true - } + "response": { + "$ref": "SendWorkerMessagesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -75,21 +65,29 @@ "https://www.googleapis.com/auth/compute.readonly", "https://www.googleapis.com/auth/userinfo.email" ], + "parameters": { + "location": { + "location": "path", + "description": "The location which contains the job", + "type": "string", + "required": true + }, + "projectId": { + "location": "path", + "description": "The project to send the WorkerMessages to.", + "type": "string", + "required": true + } + }, "flatPath": "v1b3/projects/{projectId}/locations/{location}/WorkerMessages", - "id": "dataflow.projects.locations.workerMessages", - "path": "v1b3/projects/{projectId}/locations/{location}/WorkerMessages" + "path": "v1b3/projects/{projectId}/locations/{location}/WorkerMessages", + "id": "dataflow.projects.locations.workerMessages" } }, "resources": { "templates": { "methods": { "launch": { - "id": "dataflow.projects.locations.templates.launch", - "path": "v1b3/projects/{projectId}/locations/{location}/templates:launch", - "description": "Launch a template.", - "request": { - "$ref": "LaunchTemplateParameters" - }, "response": { "$ref": "LaunchTemplateResponse" }, @@ -99,27 +97,27 @@ ], "httpMethod": "POST", "parameters": { - "validateOnly": { - "type": "boolean", - "location": "query", - "description": "If true, the request is validated but not actually executed.\nDefaults to false." - }, "projectId": { - "location": "path", "description": "Required. The ID of the Cloud Platform project that the job belongs to.", "type": "string", - "required": true + "required": true, + "location": "path" }, "gcsPath": { + "location": "query", "description": "Required. A Cloud Storage path to the template from which to create\nthe job.\nMust be valid Cloud Storage URL, beginning with 'gs://'.", - "type": "string", - "location": "query" + "type": "string" }, "location": { - "location": "path", "description": "The location to which to direct the request.", "type": "string", - "required": true + "required": true, + "location": "path" + }, + "validateOnly": { + "description": "If true, the request is validated but not actually executed.\nDefaults to false.", + "type": "boolean", + "location": "query" } }, "scopes": [ @@ -128,10 +126,15 @@ "https://www.googleapis.com/auth/compute.readonly", "https://www.googleapis.com/auth/userinfo.email" ], - "flatPath": "v1b3/projects/{projectId}/locations/{location}/templates:launch" + "flatPath": "v1b3/projects/{projectId}/locations/{location}/templates:launch", + "id": "dataflow.projects.locations.templates.launch", + "path": "v1b3/projects/{projectId}/locations/{location}/templates:launch", + "description": "Launch a template.", + "request": { + "$ref": "LaunchTemplateParameters" + } }, "get": { - "description": "Get the template associated with a template.", "httpMethod": "GET", "parameterOrder": [ "projectId", @@ -154,12 +157,12 @@ "required": true }, "view": { - "enum": [ - "METADATA_ONLY" - ], "description": "The view to retrieve. Defaults to METADATA_ONLY.", "type": "string", - "location": "query" + "location": "query", + "enum": [ + "METADATA_ONLY" + ] }, "projectId": { "location": "path", @@ -175,9 +178,11 @@ }, "flatPath": "v1b3/projects/{projectId}/locations/{location}/templates:get", "path": "v1b3/projects/{projectId}/locations/{location}/templates:get", - "id": "dataflow.projects.locations.templates.get" + "id": "dataflow.projects.locations.templates.get", + "description": "Get the template associated with a template." }, "create": { + "flatPath": "v1b3/projects/{projectId}/locations/{location}/templates", "id": "dataflow.projects.locations.templates.create", "path": "v1b3/projects/{projectId}/locations/{location}/templates", "request": { @@ -200,33 +205,37 @@ ], "parameters": { "projectId": { - "location": "path", "description": "Required. The ID of the Cloud Platform project that the job belongs to.", "type": "string", - "required": true + "required": true, + "location": "path" }, "location": { - "location": "path", "description": "The location to which to direct the request.", "type": "string", - "required": true + "required": true, + "location": "path" } - }, - "flatPath": "v1b3/projects/{projectId}/locations/{location}/templates" + } } } }, "jobs": { "methods": { - "list": { - "httpMethod": "GET", + "getMetrics": { + "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/metrics", + "id": "dataflow.projects.locations.jobs.getMetrics", + "path": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/metrics", + "description": "Request the job status.", "response": { - "$ref": "ListJobsResponse" + "$ref": "JobMetrics" }, "parameterOrder": [ "projectId", - "location" + "location", + "jobId" ], + "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", @@ -234,12 +243,48 @@ "https://www.googleapis.com/auth/userinfo.email" ], "parameters": { - "projectId": { + "location": { + "description": "The location which contains the job specified by job_id.", "type": "string", "required": true, - "location": "path", - "description": "The project which owns the jobs." + "location": "path" }, + "startTime": { + "location": "query", + "format": "google-datetime", + "description": "Return only metric data that has changed since this time.\nDefault is to return all information about all metrics for the job.", + "type": "string" + }, + "jobId": { + "description": "The job to get messages for.", + "type": "string", + "required": true, + "location": "path" + }, + "projectId": { + "location": "path", + "description": "A project id.", + "type": "string", + "required": true + } + } + }, + "list": { + "httpMethod": "GET", + "parameterOrder": [ + "projectId", + "location" + ], + "response": { + "$ref": "ListJobsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly", + "https://www.googleapis.com/auth/userinfo.email" + ], + "parameters": { "filter": { "location": "query", "enum": [ @@ -252,41 +297,46 @@ "type": "string" }, "location": { + "location": "path", "description": "The location that contains this job.", "type": "string", - "required": true, - "location": "path" + "required": true }, "pageToken": { + "location": "query", "description": "Set this to the 'next_page_token' field of a previous response\nto request additional results in a long list.", - "type": "string", - "location": "query" + "type": "string" }, "pageSize": { - "type": "integer", - "location": "query", "format": "int32", - "description": "If there are many jobs, limit response to at most this many.\nThe actual number of jobs returned will be the lesser of max_responses\nand an unspecified server-defined limit." + "description": "If there are many jobs, limit response to at most this many.\nThe actual number of jobs returned will be the lesser of max_responses\nand an unspecified server-defined limit.", + "type": "integer", + "location": "query" }, "view": { - "description": "Level of information requested in response. Default is `JOB_VIEW_SUMMARY`.", - "type": "string", "location": "query", "enum": [ "JOB_VIEW_UNKNOWN", "JOB_VIEW_SUMMARY", "JOB_VIEW_ALL", "JOB_VIEW_DESCRIPTION" - ] + ], + "description": "Level of information requested in response. Default is `JOB_VIEW_SUMMARY`.", + "type": "string" + }, + "projectId": { + "location": "path", + "description": "The project which owns the jobs.", + "type": "string", + "required": true } }, "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs", "path": "v1b3/projects/{projectId}/locations/{location}/jobs", "id": "dataflow.projects.locations.jobs.list", - "description": "List the jobs of a project." + "description": "List the jobs of a project in a given region." }, "get": { - "httpMethod": "GET", "response": { "$ref": "Job" }, @@ -295,12 +345,7 @@ "location", "jobId" ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly", - "https://www.googleapis.com/auth/userinfo.email" - ], + "httpMethod": "GET", "parameters": { "view": { "location": "query", @@ -326,21 +371,24 @@ "location": "path" }, "location": { + "description": "The location that contains this job.", "type": "string", "required": true, - "location": "path", - "description": "The location that contains this job." + "location": "path" } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly", + "https://www.googleapis.com/auth/userinfo.email" + ], "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}", - "path": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}", "id": "dataflow.projects.locations.jobs.get", + "path": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}", "description": "Gets the state of the specified Cloud Dataflow job." }, "update": { - "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}", - "path": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}", - "id": "dataflow.projects.locations.jobs.update", "description": "Updates the state of an existing Cloud Dataflow job.", "request": { "$ref": "Job" @@ -356,10 +404,10 @@ }, "parameters": { "location": { + "location": "path", "description": "The location that contains this job.", "type": "string", - "required": true, - "location": "path" + "required": true }, "jobId": { "location": "path", @@ -368,10 +416,10 @@ "required": true }, "projectId": { + "description": "The ID of the Cloud Platform project that the job belongs to.", "type": "string", "required": true, - "location": "path", - "description": "The ID of the Cloud Platform project that the job belongs to." + "location": "path" } }, "scopes": [ @@ -379,9 +427,15 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly", "https://www.googleapis.com/auth/userinfo.email" - ] + ], + "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}", + "path": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}", + "id": "dataflow.projects.locations.jobs.update" }, "create": { + "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs", + "path": "v1b3/projects/{projectId}/locations/{location}/jobs", + "id": "dataflow.projects.locations.jobs.create", "description": "Creates a Cloud Dataflow job.", "request": { "$ref": "Job" @@ -407,21 +461,21 @@ ] }, "projectId": { + "location": "path", "description": "The ID of the Cloud Platform project that the job belongs to.", "type": "string", + "required": true + }, + "location": { + "description": "The location that contains this job.", + "type": "string", "required": true, "location": "path" }, - "location": { - "location": "path", - "description": "The location that contains this job.", - "type": "string", - "required": true - }, "replaceJobId": { + "location": "query", "description": "Deprecated. This field is now in the Job message.", - "type": "string", - "location": "query" + "type": "string" } }, "scopes": [ @@ -429,66 +483,13 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly", "https://www.googleapis.com/auth/userinfo.email" - ], - "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs", - "path": "v1b3/projects/{projectId}/locations/{location}/jobs", - "id": "dataflow.projects.locations.jobs.create" - }, - "getMetrics": { - "description": "Request the job status.", - "response": { - "$ref": "JobMetrics" - }, - "parameterOrder": [ - "projectId", - "location", - "jobId" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly", - "https://www.googleapis.com/auth/userinfo.email" - ], - "parameters": { - "startTime": { - "format": "google-datetime", - "description": "Return only metric data that has changed since this time.\nDefault is to return all information about all metrics for the job.", - "type": "string", - "location": "query" - }, - "jobId": { - "location": "path", - "description": "The job to get messages for.", - "type": "string", - "required": true - }, - "projectId": { - "location": "path", - "description": "A project id.", - "type": "string", - "required": true - }, - "location": { - "location": "path", - "description": "The location which contains the job specified by job_id.", - "type": "string", - "required": true - } - }, - "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/metrics", - "id": "dataflow.projects.locations.jobs.getMetrics", - "path": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/metrics" + ] } }, "resources": { "workItems": { "methods": { "reportStatus": { - "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/workItems:reportStatus", - "id": "dataflow.projects.locations.jobs.workItems.reportStatus", - "path": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/workItems:reportStatus", "description": "Reports the status of dataflow WorkItems leased by a worker.", "request": { "$ref": "ReportWorkItemStatusRequest" @@ -503,6 +504,12 @@ ], "httpMethod": "POST", "parameters": { + "location": { + "description": "The location which contains the WorkItem's job.", + "type": "string", + "required": true, + "location": "path" + }, "jobId": { "location": "path", "description": "The job which the WorkItem is part of.", @@ -514,12 +521,6 @@ "description": "The project which owns the WorkItem's job.", "type": "string", "required": true - }, - "location": { - "description": "The location which contains the WorkItem's job.", - "type": "string", - "required": true, - "location": "path" } }, "scopes": [ @@ -527,16 +528,16 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly", "https://www.googleapis.com/auth/userinfo.email" - ] + ], + "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/workItems:reportStatus", + "id": "dataflow.projects.locations.jobs.workItems.reportStatus", + "path": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/workItems:reportStatus" }, "lease": { - "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/workItems:lease", - "id": "dataflow.projects.locations.jobs.workItems.lease", - "path": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/workItems:lease", - "description": "Leases a dataflow WorkItem to run.", "request": { "$ref": "LeaseWorkItemRequest" }, + "description": "Leases a dataflow WorkItem to run.", "response": { "$ref": "LeaseWorkItemResponse" }, @@ -546,7 +547,19 @@ "jobId" ], "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly", + "https://www.googleapis.com/auth/userinfo.email" + ], "parameters": { + "location": { + "location": "path", + "description": "The location which contains the WorkItem's job.", + "type": "string", + "required": true + }, "jobId": { "location": "path", "description": "Identifies the workflow job this worker belongs to.", @@ -554,24 +567,15 @@ "required": true }, "projectId": { - "type": "string", - "required": true, "location": "path", - "description": "Identifies the project this worker belongs to." - }, - "location": { - "description": "The location which contains the WorkItem's job.", + "description": "Identifies the project this worker belongs to.", "type": "string", - "required": true, - "location": "path" + "required": true } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly", - "https://www.googleapis.com/auth/userinfo.email" - ] + "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/workItems:lease", + "id": "dataflow.projects.locations.jobs.workItems.lease", + "path": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/workItems:lease" } } }, @@ -594,6 +598,12 @@ "https://www.googleapis.com/auth/userinfo.email" ], "parameters": { + "location": { + "location": "path", + "description": "The location which contains the job specified by job_id.", + "type": "string", + "required": true + }, "jobId": { "location": "path", "description": "The job id.", @@ -605,12 +615,6 @@ "description": "The project id.", "type": "string", "required": true - }, - "location": { - "type": "string", - "required": true, - "location": "path", - "description": "The location which contains the job specified by job_id." } }, "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/debug/sendCapture", @@ -622,15 +626,19 @@ "description": "Send encoded debug capture data for component." }, "getConfig": { - "httpMethod": "POST", + "request": { + "$ref": "GetDebugConfigRequest" + }, + "description": "Get encoded debug configuration for component. Not cacheable.", + "response": { + "$ref": "GetDebugConfigResponse" + }, "parameterOrder": [ "projectId", "location", "jobId" ], - "response": { - "$ref": "GetDebugConfigResponse" - }, + "httpMethod": "POST", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", @@ -645,32 +653,27 @@ "required": true }, "jobId": { + "location": "path", "description": "The job id.", "type": "string", + "required": true + }, + "projectId": { + "description": "The project id.", + "type": "string", "required": true, "location": "path" - }, - "projectId": { - "location": "path", - "description": "The project id.", - "type": "string", - "required": true } }, "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/debug/getConfig", - "path": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/debug/getConfig", "id": "dataflow.projects.locations.jobs.debug.getConfig", - "request": { - "$ref": "GetDebugConfigRequest" - }, - "description": "Get encoded debug configuration for component. Not cacheable." + "path": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/debug/getConfig" } } }, "messages": { "methods": { "list": { - "description": "Request the job status.", "response": { "$ref": "ListJobMessagesResponse" }, @@ -680,55 +683,51 @@ "jobId" ], "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly", - "https://www.googleapis.com/auth/userinfo.email" - ], "parameters": { + "jobId": { + "location": "path", + "description": "The job to get messages about.", + "type": "string", + "required": true + }, "projectId": { "description": "A project id.", "type": "string", "required": true, "location": "path" }, - "jobId": { - "description": "The job to get messages about.", - "type": "string", - "required": true, - "location": "path" - }, - "endTime": { - "location": "query", - "format": "google-datetime", - "description": "Return only messages with timestamps \u003c end_time. The default is now\n(i.e. return up to the latest messages available).", - "type": "string" - }, "location": { "description": "The location which contains the job specified by job_id.", "type": "string", "required": true, "location": "path" }, - "startTime": { - "location": "query", + "endTime": { "format": "google-datetime", - "description": "If specified, return only messages with timestamps \u003e= start_time.\nThe default is the job creation time (i.e. beginning of messages).", - "type": "string" + "description": "Return only messages with timestamps \u003c end_time. The default is now\n(i.e. return up to the latest messages available).", + "type": "string", + "location": "query" }, "pageToken": { - "location": "query", "description": "If supplied, this should be the value of next_page_token returned\nby an earlier call. This will cause the next page of results to\nbe returned.", - "type": "string" + "type": "string", + "location": "query" + }, + "startTime": { + "format": "google-datetime", + "description": "If specified, return only messages with timestamps \u003e= start_time.\nThe default is the job creation time (i.e. beginning of messages).", + "type": "string", + "location": "query" }, "pageSize": { - "location": "query", "format": "int32", "description": "If specified, determines the maximum number of messages to\nreturn. If unspecified, the service may choose an appropriate\ndefault, or may return an arbitrarily large number of results.", - "type": "integer" + "type": "integer", + "location": "query" }, "minimumImportance": { + "description": "Filter to only get messages with importance \u003e= level", + "type": "string", "location": "query", "enum": [ "JOB_MESSAGE_IMPORTANCE_UNKNOWN", @@ -737,14 +736,19 @@ "JOB_MESSAGE_BASIC", "JOB_MESSAGE_WARNING", "JOB_MESSAGE_ERROR" - ], - "description": "Filter to only get messages with importance \u003e= level", - "type": "string" + ] } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly", + "https://www.googleapis.com/auth/userinfo.email" + ], "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/messages", "id": "dataflow.projects.locations.jobs.messages.list", - "path": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/messages" + "path": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/messages", + "description": "Request the job status." } } } @@ -754,18 +758,93 @@ }, "templates": { "methods": { - "launch": { - "description": "Launch a template.", - "request": { - "$ref": "LaunchTemplateParameters" - }, + "get": { + "description": "Get the template associated with a template.", "response": { - "$ref": "LaunchTemplateResponse" + "$ref": "GetTemplateResponse" + }, + "parameterOrder": [ + "projectId" + ], + "httpMethod": "GET", + "parameters": { + "view": { + "location": "query", + "enum": [ + "METADATA_ONLY" + ], + "description": "The view to retrieve. Defaults to METADATA_ONLY.", + "type": "string" + }, + "projectId": { + "location": "path", + "description": "Required. The ID of the Cloud Platform project that the job belongs to.", + "type": "string", + "required": true + }, + "gcsPath": { + "location": "query", + "description": "Required. A Cloud Storage path to the template from which to\ncreate the job.\nMust be a valid Cloud Storage URL, beginning with `gs://`.", + "type": "string" + }, + "location": { + "description": "The location to which to direct the request.", + "type": "string", + "location": "query" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly", + "https://www.googleapis.com/auth/userinfo.email" + ], + "flatPath": "v1b3/projects/{projectId}/templates:get", + "id": "dataflow.projects.templates.get", + "path": "v1b3/projects/{projectId}/templates:get" + }, + "create": { + "flatPath": "v1b3/projects/{projectId}/templates", + "id": "dataflow.projects.templates.create", + "path": "v1b3/projects/{projectId}/templates", + "request": { + "$ref": "CreateJobFromTemplateRequest" + }, + "description": "Creates a Cloud Dataflow job from a template.", + "response": { + "$ref": "Job" }, "parameterOrder": [ "projectId" ], "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly", + "https://www.googleapis.com/auth/userinfo.email" + ], + "parameters": { + "projectId": { + "location": "path", + "description": "Required. The ID of the Cloud Platform project that the job belongs to.", + "type": "string", + "required": true + } + } + }, + "launch": { + "description": "Launch a template.", + "request": { + "$ref": "LaunchTemplateParameters" + }, + "httpMethod": "POST", + "parameterOrder": [ + "projectId" + ], + "response": { + "$ref": "LaunchTemplateResponse" + }, "parameters": { "location": { "location": "query", @@ -773,9 +852,9 @@ "type": "string" }, "validateOnly": { + "description": "If true, the request is validated but not actually executed.\nDefaults to false.", "type": "boolean", - "location": "query", - "description": "If true, the request is validated but not actually executed.\nDefaults to false." + "location": "query" }, "projectId": { "description": "Required. The ID of the Cloud Platform project that the job belongs to.", @@ -784,9 +863,9 @@ "location": "path" }, "gcsPath": { - "location": "query", "description": "Required. A Cloud Storage path to the template from which to create\nthe job.\nMust be valid Cloud Storage URL, beginning with 'gs://'.", - "type": "string" + "type": "string", + "location": "query" } }, "scopes": [ @@ -796,12 +875,17 @@ "https://www.googleapis.com/auth/userinfo.email" ], "flatPath": "v1b3/projects/{projectId}/templates:launch", - "id": "dataflow.projects.templates.launch", - "path": "v1b3/projects/{projectId}/templates:launch" - }, - "get": { + "path": "v1b3/projects/{projectId}/templates:launch", + "id": "dataflow.projects.templates.launch" + } + } + }, + "jobs": { + "methods": { + "list": { + "description": "List the jobs of a project in a given region.", "response": { - "$ref": "GetTemplateResponse" + "$ref": "ListJobsResponse" }, "parameterOrder": [ "projectId" @@ -814,46 +898,206 @@ "https://www.googleapis.com/auth/userinfo.email" ], "parameters": { - "gcsPath": { + "projectId": { + "description": "The project which owns the jobs.", + "type": "string", + "required": true, + "location": "path" + }, + "filter": { "location": "query", - "description": "Required. A Cloud Storage path to the template from which to\ncreate the job.\nMust be a valid Cloud Storage URL, beginning with `gs://`.", + "enum": [ + "UNKNOWN", + "ALL", + "TERMINATED", + "ACTIVE" + ], + "description": "The kind of filter to use.", "type": "string" }, "location": { - "description": "The location to which to direct the request.", + "description": "The location that contains this job.", "type": "string", "location": "query" }, + "pageToken": { + "location": "query", + "description": "Set this to the 'next_page_token' field of a previous response\nto request additional results in a long list.", + "type": "string" + }, + "pageSize": { + "format": "int32", + "description": "If there are many jobs, limit response to at most this many.\nThe actual number of jobs returned will be the lesser of max_responses\nand an unspecified server-defined limit.", + "type": "integer", + "location": "query" + }, "view": { + "location": "query", "enum": [ - "METADATA_ONLY" + "JOB_VIEW_UNKNOWN", + "JOB_VIEW_SUMMARY", + "JOB_VIEW_ALL", + "JOB_VIEW_DESCRIPTION" ], - "description": "The view to retrieve. Defaults to METADATA_ONLY.", + "description": "Level of information requested in response. Default is `JOB_VIEW_SUMMARY`.", + "type": "string" + } + }, + "flatPath": "v1b3/projects/{projectId}/jobs", + "id": "dataflow.projects.jobs.list", + "path": "v1b3/projects/{projectId}/jobs" + }, + "create": { + "flatPath": "v1b3/projects/{projectId}/jobs", + "path": "v1b3/projects/{projectId}/jobs", + "id": "dataflow.projects.jobs.create", + "description": "Creates a Cloud Dataflow job.", + "request": { + "$ref": "Job" + }, + "httpMethod": "POST", + "parameterOrder": [ + "projectId" + ], + "response": { + "$ref": "Job" + }, + "parameters": { + "view": { + "location": "query", + "enum": [ + "JOB_VIEW_UNKNOWN", + "JOB_VIEW_SUMMARY", + "JOB_VIEW_ALL", + "JOB_VIEW_DESCRIPTION" + ], + "description": "The level of information requested in response.", + "type": "string" + }, + "projectId": { + "description": "The ID of the Cloud Platform project that the job belongs to.", + "type": "string", + "required": true, + "location": "path" + }, + "location": { + "description": "The location that contains this job.", "type": "string", "location": "query" }, + "replaceJobId": { + "location": "query", + "description": "Deprecated. This field is now in the Job message.", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly", + "https://www.googleapis.com/auth/userinfo.email" + ] + }, + "getMetrics": { + "description": "Request the job status.", + "response": { + "$ref": "JobMetrics" + }, + "parameterOrder": [ + "projectId", + "jobId" + ], + "httpMethod": "GET", + "parameters": { + "location": { + "location": "query", + "description": "The location which contains the job specified by job_id.", + "type": "string" + }, + "startTime": { + "location": "query", + "format": "google-datetime", + "description": "Return only metric data that has changed since this time.\nDefault is to return all information about all metrics for the job.", + "type": "string" + }, + "jobId": { + "description": "The job to get messages for.", + "type": "string", + "required": true, + "location": "path" + }, "projectId": { "location": "path", - "description": "Required. The ID of the Cloud Platform project that the job belongs to.", + "description": "A project id.", "type": "string", "required": true } }, - "flatPath": "v1b3/projects/{projectId}/templates:get", - "id": "dataflow.projects.templates.get", - "path": "v1b3/projects/{projectId}/templates:get", - "description": "Get the template associated with a template." + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly", + "https://www.googleapis.com/auth/userinfo.email" + ], + "flatPath": "v1b3/projects/{projectId}/jobs/{jobId}/metrics", + "id": "dataflow.projects.jobs.getMetrics", + "path": "v1b3/projects/{projectId}/jobs/{jobId}/metrics" }, - "create": { - "path": "v1b3/projects/{projectId}/templates", - "id": "dataflow.projects.templates.create", - "request": { - "$ref": "CreateJobFromTemplateRequest" + "get": { + "description": "Gets the state of the specified Cloud Dataflow job.", + "response": { + "$ref": "Job" }, - "description": "Creates a Cloud Dataflow job from a template.", - "httpMethod": "POST", "parameterOrder": [ - "projectId" + "projectId", + "jobId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly", + "https://www.googleapis.com/auth/userinfo.email" + ], + "parameters": { + "view": { + "location": "query", + "enum": [ + "JOB_VIEW_UNKNOWN", + "JOB_VIEW_SUMMARY", + "JOB_VIEW_ALL", + "JOB_VIEW_DESCRIPTION" + ], + "description": "The level of information requested in response.", + "type": "string" + }, + "jobId": { + "location": "path", + "description": "The job ID.", + "type": "string", + "required": true + }, + "projectId": { + "description": "The ID of the Cloud Platform project that the job belongs to.", + "type": "string", + "required": true, + "location": "path" + }, + "location": { + "location": "query", + "description": "The location that contains this job.", + "type": "string" + } + }, + "flatPath": "v1b3/projects/{projectId}/jobs/{jobId}", + "id": "dataflow.projects.jobs.get", + "path": "v1b3/projects/{projectId}/jobs/{jobId}" + }, + "update": { + "httpMethod": "PUT", + "parameterOrder": [ + "projectId", + "jobId" ], "response": { "$ref": "Job" @@ -865,28 +1109,50 @@ "https://www.googleapis.com/auth/userinfo.email" ], "parameters": { + "location": { + "description": "The location that contains this job.", + "type": "string", + "location": "query" + }, + "jobId": { + "location": "path", + "description": "The job ID.", + "type": "string", + "required": true + }, "projectId": { - "description": "Required. The ID of the Cloud Platform project that the job belongs to.", + "description": "The ID of the Cloud Platform project that the job belongs to.", "type": "string", "required": true, "location": "path" } }, - "flatPath": "v1b3/projects/{projectId}/templates" - } - } - }, - "jobs": { - "methods": { - "list": { - "description": "List the jobs of a project.", + "flatPath": "v1b3/projects/{projectId}/jobs/{jobId}", + "path": "v1b3/projects/{projectId}/jobs/{jobId}", + "id": "dataflow.projects.jobs.update", + "request": { + "$ref": "Job" + }, + "description": "Updates the state of an existing Cloud Dataflow job." + }, + "aggregated": { + "flatPath": "v1b3/projects/{projectId}/jobs:aggregated", + "path": "v1b3/projects/{projectId}/jobs:aggregated", + "id": "dataflow.projects.jobs.aggregated", + "description": "List the jobs of a project across all regions.", + "httpMethod": "GET", "response": { "$ref": "ListJobsResponse" }, "parameterOrder": [ "projectId" ], - "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly", + "https://www.googleapis.com/auth/userinfo.email" + ], "parameters": { "projectId": { "description": "The project which owns the jobs.", @@ -906,20 +1172,20 @@ ] }, "location": { - "type": "string", "location": "query", - "description": "The location that contains this job." + "description": "The location that contains this job.", + "type": "string" }, "pageToken": { + "location": "query", "description": "Set this to the 'next_page_token' field of a previous response\nto request additional results in a long list.", - "type": "string", - "location": "query" + "type": "string" }, "pageSize": { - "location": "query", "format": "int32", "description": "If there are many jobs, limit response to at most this many.\nThe actual number of jobs returned will be the lesser of max_responses\nand an unspecified server-defined limit.", - "type": "integer" + "type": "integer", + "location": "query" }, "view": { "description": "Level of information requested in response. Default is `JOB_VIEW_SUMMARY`.", @@ -932,204 +1198,7 @@ "JOB_VIEW_DESCRIPTION" ] } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly", - "https://www.googleapis.com/auth/userinfo.email" - ], - "flatPath": "v1b3/projects/{projectId}/jobs", - "id": "dataflow.projects.jobs.list", - "path": "v1b3/projects/{projectId}/jobs" - }, - "get": { - "parameters": { - "view": { - "description": "The level of information requested in response.", - "type": "string", - "location": "query", - "enum": [ - "JOB_VIEW_UNKNOWN", - "JOB_VIEW_SUMMARY", - "JOB_VIEW_ALL", - "JOB_VIEW_DESCRIPTION" - ] - }, - "jobId": { - "location": "path", - "description": "The job ID.", - "type": "string", - "required": true - }, - "projectId": { - "location": "path", - "description": "The ID of the Cloud Platform project that the job belongs to.", - "type": "string", - "required": true - }, - "location": { - "description": "The location that contains this job.", - "type": "string", - "location": "query" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly", - "https://www.googleapis.com/auth/userinfo.email" - ], - "flatPath": "v1b3/projects/{projectId}/jobs/{jobId}", - "id": "dataflow.projects.jobs.get", - "path": "v1b3/projects/{projectId}/jobs/{jobId}", - "description": "Gets the state of the specified Cloud Dataflow job.", - "response": { - "$ref": "Job" - }, - "parameterOrder": [ - "projectId", - "jobId" - ], - "httpMethod": "GET" - }, - "update": { - "flatPath": "v1b3/projects/{projectId}/jobs/{jobId}", - "id": "dataflow.projects.jobs.update", - "path": "v1b3/projects/{projectId}/jobs/{jobId}", - "description": "Updates the state of an existing Cloud Dataflow job.", - "request": { - "$ref": "Job" - }, - "response": { - "$ref": "Job" - }, - "parameterOrder": [ - "projectId", - "jobId" - ], - "httpMethod": "PUT", - "parameters": { - "jobId": { - "description": "The job ID.", - "type": "string", - "required": true, - "location": "path" - }, - "projectId": { - "description": "The ID of the Cloud Platform project that the job belongs to.", - "type": "string", - "required": true, - "location": "path" - }, - "location": { - "type": "string", - "location": "query", - "description": "The location that contains this job." - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly", - "https://www.googleapis.com/auth/userinfo.email" - ] - }, - "create": { - "response": { - "$ref": "Job" - }, - "parameterOrder": [ - "projectId" - ], - "httpMethod": "POST", - "parameters": { - "location": { - "location": "query", - "description": "The location that contains this job.", - "type": "string" - }, - "replaceJobId": { - "description": "Deprecated. This field is now in the Job message.", - "type": "string", - "location": "query" - }, - "view": { - "enum": [ - "JOB_VIEW_UNKNOWN", - "JOB_VIEW_SUMMARY", - "JOB_VIEW_ALL", - "JOB_VIEW_DESCRIPTION" - ], - "description": "The level of information requested in response.", - "type": "string", - "location": "query" - }, - "projectId": { - "description": "The ID of the Cloud Platform project that the job belongs to.", - "type": "string", - "required": true, - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly", - "https://www.googleapis.com/auth/userinfo.email" - ], - "flatPath": "v1b3/projects/{projectId}/jobs", - "id": "dataflow.projects.jobs.create", - "path": "v1b3/projects/{projectId}/jobs", - "description": "Creates a Cloud Dataflow job.", - "request": { - "$ref": "Job" } - }, - "getMetrics": { - "description": "Request the job status.", - "response": { - "$ref": "JobMetrics" - }, - "parameterOrder": [ - "projectId", - "jobId" - ], - "httpMethod": "GET", - "parameters": { - "jobId": { - "location": "path", - "description": "The job to get messages for.", - "type": "string", - "required": true - }, - "projectId": { - "location": "path", - "description": "A project id.", - "type": "string", - "required": true - }, - "location": { - "description": "The location which contains the job specified by job_id.", - "type": "string", - "location": "query" - }, - "startTime": { - "location": "query", - "format": "google-datetime", - "description": "Return only metric data that has changed since this time.\nDefault is to return all information about all metrics for the job.", - "type": "string" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly", - "https://www.googleapis.com/auth/userinfo.email" - ], - "flatPath": "v1b3/projects/{projectId}/jobs/{jobId}/metrics", - "id": "dataflow.projects.jobs.getMetrics", - "path": "v1b3/projects/{projectId}/jobs/{jobId}/metrics" } }, "resources": { @@ -1140,14 +1209,14 @@ "$ref": "ReportWorkItemStatusRequest" }, "description": "Reports the status of dataflow WorkItems leased by a worker.", - "response": { - "$ref": "ReportWorkItemStatusResponse" - }, + "httpMethod": "POST", "parameterOrder": [ "projectId", "jobId" ], - "httpMethod": "POST", + "response": { + "$ref": "ReportWorkItemStatusResponse" + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", @@ -1156,10 +1225,10 @@ ], "parameters": { "jobId": { + "location": "path", "description": "The job which the WorkItem is part of.", "type": "string", - "required": true, - "location": "path" + "required": true }, "projectId": { "location": "path", @@ -1169,22 +1238,22 @@ } }, "flatPath": "v1b3/projects/{projectId}/jobs/{jobId}/workItems:reportStatus", - "id": "dataflow.projects.jobs.workItems.reportStatus", - "path": "v1b3/projects/{projectId}/jobs/{jobId}/workItems:reportStatus" + "path": "v1b3/projects/{projectId}/jobs/{jobId}/workItems:reportStatus", + "id": "dataflow.projects.jobs.workItems.reportStatus" }, "lease": { "request": { "$ref": "LeaseWorkItemRequest" }, "description": "Leases a dataflow WorkItem to run.", - "response": { - "$ref": "LeaseWorkItemResponse" - }, + "httpMethod": "POST", "parameterOrder": [ "projectId", "jobId" ], - "httpMethod": "POST", + "response": { + "$ref": "LeaseWorkItemResponse" + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", @@ -1193,31 +1262,31 @@ ], "parameters": { "jobId": { - "location": "path", "description": "Identifies the workflow job this worker belongs to.", "type": "string", - "required": true + "required": true, + "location": "path" }, "projectId": { - "type": "string", - "required": true, "location": "path", - "description": "Identifies the project this worker belongs to." + "description": "Identifies the project this worker belongs to.", + "type": "string", + "required": true } }, "flatPath": "v1b3/projects/{projectId}/jobs/{jobId}/workItems:lease", - "id": "dataflow.projects.jobs.workItems.lease", - "path": "v1b3/projects/{projectId}/jobs/{jobId}/workItems:lease" + "path": "v1b3/projects/{projectId}/jobs/{jobId}/workItems:lease", + "id": "dataflow.projects.jobs.workItems.lease" } } }, "debug": { "methods": { "sendCapture": { + "description": "Send encoded debug capture data for component.", "request": { "$ref": "SendDebugCaptureRequest" }, - "description": "Send encoded debug capture data for component.", "httpMethod": "POST", "parameterOrder": [ "projectId", @@ -1226,12 +1295,6 @@ "response": { "$ref": "SendDebugCaptureResponse" }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly", - "https://www.googleapis.com/auth/userinfo.email" - ], "parameters": { "jobId": { "location": "path", @@ -1240,25 +1303,37 @@ "required": true }, "projectId": { + "location": "path", "description": "The project id.", "type": "string", - "required": true, - "location": "path" + "required": true } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly", + "https://www.googleapis.com/auth/userinfo.email" + ], "flatPath": "v1b3/projects/{projectId}/jobs/{jobId}/debug/sendCapture", "path": "v1b3/projects/{projectId}/jobs/{jobId}/debug/sendCapture", "id": "dataflow.projects.jobs.debug.sendCapture" }, "getConfig": { - "response": { - "$ref": "GetDebugConfigResponse" - }, + "httpMethod": "POST", "parameterOrder": [ "projectId", "jobId" ], - "httpMethod": "POST", + "response": { + "$ref": "GetDebugConfigResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly", + "https://www.googleapis.com/auth/userinfo.email" + ], "parameters": { "jobId": { "location": "path", @@ -1273,29 +1348,23 @@ "required": true } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly", - "https://www.googleapis.com/auth/userinfo.email" - ], "flatPath": "v1b3/projects/{projectId}/jobs/{jobId}/debug/getConfig", - "id": "dataflow.projects.jobs.debug.getConfig", "path": "v1b3/projects/{projectId}/jobs/{jobId}/debug/getConfig", - "description": "Get encoded debug configuration for component. Not cacheable.", + "id": "dataflow.projects.jobs.debug.getConfig", "request": { "$ref": "GetDebugConfigRequest" - } + }, + "description": "Get encoded debug configuration for component. Not cacheable." } } }, "messages": { "methods": { "list": { - "path": "v1b3/projects/{projectId}/jobs/{jobId}/messages", + "flatPath": "v1b3/projects/{projectId}/jobs/{jobId}/messages", "id": "dataflow.projects.jobs.messages.list", + "path": "v1b3/projects/{projectId}/jobs/{jobId}/messages", "description": "Request the job status.", - "httpMethod": "GET", "response": { "$ref": "ListJobMessagesResponse" }, @@ -1303,16 +1372,49 @@ "projectId", "jobId" ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly", - "https://www.googleapis.com/auth/userinfo.email" - ], + "httpMethod": "GET", "parameters": { - "minimumImportance": { - "description": "Filter to only get messages with importance \u003e= level", + "jobId": { + "location": "path", + "description": "The job to get messages about.", "type": "string", + "required": true + }, + "projectId": { + "location": "path", + "description": "A project id.", + "type": "string", + "required": true + }, + "location": { + "location": "query", + "description": "The location which contains the job specified by job_id.", + "type": "string" + }, + "endTime": { + "format": "google-datetime", + "description": "Return only messages with timestamps \u003c end_time. The default is now\n(i.e. return up to the latest messages available).", + "type": "string", + "location": "query" + }, + "pageToken": { + "location": "query", + "description": "If supplied, this should be the value of next_page_token returned\nby an earlier call. This will cause the next page of results to\nbe returned.", + "type": "string" + }, + "startTime": { + "location": "query", + "format": "google-datetime", + "description": "If specified, return only messages with timestamps \u003e= start_time.\nThe default is the job creation time (i.e. beginning of messages).", + "type": "string" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "If specified, determines the maximum number of messages to\nreturn. If unspecified, the service may choose an appropriate\ndefault, or may return an arbitrarily large number of results.", + "type": "integer" + }, + "minimumImportance": { "location": "query", "enum": [ "JOB_MESSAGE_IMPORTANCE_UNKNOWN", @@ -1321,50 +1423,17 @@ "JOB_MESSAGE_BASIC", "JOB_MESSAGE_WARNING", "JOB_MESSAGE_ERROR" - ] - }, - "jobId": { - "location": "path", - "description": "The job to get messages about.", - "type": "string", - "required": true - }, - "projectId": { - "description": "A project id.", - "type": "string", - "required": true, - "location": "path" - }, - "location": { - "location": "query", - "description": "The location which contains the job specified by job_id.", + ], + "description": "Filter to only get messages with importance \u003e= level", "type": "string" - }, - "endTime": { - "location": "query", - "format": "google-datetime", - "description": "Return only messages with timestamps \u003c end_time. The default is now\n(i.e. return up to the latest messages available).", - "type": "string" - }, - "pageToken": { - "description": "If supplied, this should be the value of next_page_token returned\nby an earlier call. This will cause the next page of results to\nbe returned.", - "type": "string", - "location": "query" - }, - "startTime": { - "type": "string", - "location": "query", - "format": "google-datetime", - "description": "If specified, return only messages with timestamps \u003e= start_time.\nThe default is the job creation time (i.e. beginning of messages)." - }, - "pageSize": { - "format": "int32", - "description": "If specified, determines the maximum number of messages to\nreturn. If unspecified, the service may choose an appropriate\ndefault, or may return an arbitrarily large number of results.", - "type": "integer", - "location": "query" } }, - "flatPath": "v1b3/projects/{projectId}/jobs/{jobId}/messages" + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly", + "https://www.googleapis.com/auth/userinfo.email" + ] } } } @@ -1374,60 +1443,28 @@ } }, "parameters": { - "quotaUser": { - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string", - "location": "query" - }, - "pp": { + "fields": { "location": "query", - "description": "Pretty-print response.", - "default": "true", - "type": "boolean" - }, - "bearer_token": { - "type": "string", - "location": "query", - "description": "OAuth bearer token." - }, - "oauth_token": { - "location": "query", - "description": "OAuth 2.0 token for the current user.", + "description": "Selector specifying which fields to include in a partial response.", "type": "string" }, - "upload_protocol": { - "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string" - }, - "prettyPrint": { - "location": "query", - "description": "Returns response with indentations and line breaks.", - "default": "true", - "type": "boolean" - }, "uploadType": { "location": "query", "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", "type": "string" }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "type": "string", - "location": "query" - }, "$.xgafv": { + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", "enum": [ "1", "2" ], "description": "V1 error format.", - "type": "string", - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query" + "type": "string" }, "callback": { "location": "query", @@ -1450,38 +1487,2256 @@ "proto" ] }, - "access_token": { + "key": { "location": "query", - "description": "OAuth access token.", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", "type": "string" }, - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "access_token": { + "description": "OAuth access token.", "type": "string", "location": "query" + }, + "quotaUser": { + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string" + }, + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string", + "location": "query" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" } }, "schemas": { - "WorkerMessage": { - "description": "WorkerMessage provides information to the backend about a worker.", + "Environment": { + "description": "Describes the environment in which a Dataflow Job runs.", + "type": "object", + "properties": { + "serviceAccountEmail": { + "description": "Identity to run virtual machines as. Defaults to the default account.", + "type": "string" + }, + "sdkPipelineOptions": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The Cloud Dataflow SDK pipeline options specified by the user. These\noptions are passed through the service and are used to recreate the\nSDK pipeline options on the worker in a language agnostic and platform\nindependent way.", + "type": "object" + }, + "userAgent": { + "description": "A description of the process that generated the request.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + } + }, + "clusterManagerApiService": { + "description": "The type of cluster manager API to use. If unknown or\nunspecified, the service will attempt to choose a reasonable\ndefault. This should be in the form of the API service name,\ne.g. \"compute.googleapis.com\".", + "type": "string" + }, + "tempStoragePrefix": { + "description": "The prefix of the resources the system should use for temporary\nstorage. The system will append the suffix \"/temp-{JOBNAME} to\nthis resource prefix, where {JOBNAME} is the value of the\njob_name field. The resulting bucket and object prefix is used\nas the prefix of the resources used to store temporary data\nneeded during the job execution. NOTE: This will override the\nvalue in taskrunner_settings.\nThe supported resource type is:\n\nGoogle Cloud Storage:\n\n storage.googleapis.com/{bucket}/{object}\n bucket.storage.googleapis.com/{object}", + "type": "string" + }, + "workerPools": { + "description": "The worker pools. At least one \"harness\" worker pool must be\nspecified in order for the job to have workers.", + "items": { + "$ref": "WorkerPool" + }, + "type": "array" + }, + "dataset": { + "description": "The dataset for the current project where various workflow\nrelated tables are stored.\n\nThe supported resource type is:\n\nGoogle BigQuery:\n bigquery.googleapis.com/{dataset}", + "type": "string" + }, + "experiments": { + "description": "The list of experiments to enable.", + "items": { + "type": "string" + }, + "type": "array" + }, + "version": { + "description": "A structure describing which components and their versions of the service\nare required in order to run the job.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + } + }, + "internalExperiments": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Experimental settings.", + "type": "object" + } + }, + "id": "Environment" + }, + "StreamingComputationTask": { + "description": "A task which describes what action should be performed for the specified\nstreaming computation ranges.", + "type": "object", + "properties": { + "dataDisks": { + "description": "Describes the set of data disks this task should apply to.", + "items": { + "$ref": "MountedDataDisk" + }, + "type": "array" + }, + "taskType": { + "description": "A type of streaming computation task.", + "type": "string", + "enumDescriptions": [ + "The streaming computation task is unknown, or unspecified.", + "Stop processing specified streaming computation range(s).", + "Start processing specified streaming computation range(s)." + ], + "enum": [ + "STREAMING_COMPUTATION_TASK_UNKNOWN", + "STREAMING_COMPUTATION_TASK_STOP", + "STREAMING_COMPUTATION_TASK_START" + ] + }, + "computationRanges": { + "description": "Contains ranges of a streaming computation this task should apply to.", + "items": { + "$ref": "StreamingComputationRanges" + }, + "type": "array" + } + }, + "id": "StreamingComputationTask" + }, + "SendDebugCaptureRequest": { + "description": "Request to send encoded debug information.", + "type": "object", + "properties": { + "componentId": { + "description": "The internal component id for which debug information is sent.", + "type": "string" + }, + "workerId": { + "description": "The worker id, i.e., VM hostname.", + "type": "string" + }, + "location": { + "description": "The location which contains the job specified by job_id.", + "type": "string" + }, + "data": { + "description": "The encoded debug information.", + "type": "string" + } + }, + "id": "SendDebugCaptureRequest" + }, + "GetDebugConfigResponse": { + "description": "Response to a get debug configuration request.", + "type": "object", + "properties": { + "config": { + "description": "The encoded debug configuration for the requested component.", + "type": "string" + } + }, + "id": "GetDebugConfigResponse" + }, + "ComponentTransform": { + "description": "Description of a transform executed as part of an execution stage.", + "type": "object", + "properties": { + "userName": { + "description": "Human-readable name for this transform; may be user or system generated.", + "type": "string" + }, + "originalTransform": { + "description": "User name for the original user transform with which this transform is\nmost closely associated.", + "type": "string" + }, + "name": { + "description": "Dataflow service generated name for this source.", + "type": "string" + } + }, + "id": "ComponentTransform" + }, + "StreamingSetupTask": { + "description": "A task which initializes part of a streaming Dataflow job.", + "type": "object", + "properties": { + "streamingComputationTopology": { + "$ref": "TopologyConfig", + "description": "The global topology of the streaming Dataflow job." + }, + "drain": { + "description": "The user has requested drain.", + "type": "boolean" + }, + "workerHarnessPort": { + "format": "int32", + "description": "The TCP port used by the worker to communicate with the Dataflow\nworker harness.", + "type": "integer" + }, + "receiveWorkPort": { + "format": "int32", + "description": "The TCP port on which the worker should listen for messages from\nother streaming computation workers.", + "type": "integer" + } + }, + "id": "StreamingSetupTask" + }, + "PubsubLocation": { + "description": "Identifies a pubsub location to use for transferring data into or\nout of a streaming Dataflow job.", + "type": "object", + "properties": { + "timestampLabel": { + "description": "If set, contains a pubsub label from which to extract record timestamps.\nIf left empty, record timestamps will be generated upon arrival.", + "type": "string" + }, + "topic": { + "description": "A pubsub topic, in the form of\n\"pubsub.googleapis.com/topics/\u003cproject-id\u003e/\u003ctopic-name\u003e\"", + "type": "string" + }, + "subscription": { + "description": "A pubsub subscription, in the form of\n\"pubsub.googleapis.com/subscriptions/\u003cproject-id\u003e/\u003csubscription-name\u003e\"", + "type": "string" + }, + "dropLateData": { + "description": "Indicates whether the pipeline allows late-arriving data.", + "type": "boolean" + }, + "trackingSubscription": { + "description": "If set, specifies the pubsub subscription that will be used for tracking\ncustom time timestamps for watermark estimation.", + "type": "string" + }, + "withAttributes": { + "description": "If true, then the client has requested to get pubsub attributes.", + "type": "boolean" + }, + "idLabel": { + "description": "If set, contains a pubsub label from which to extract record ids.\nIf left empty, record deduplication will be strictly best effort.", + "type": "string" + } + }, + "id": "PubsubLocation" + }, + "WorkerHealthReport": { + "description": "WorkerHealthReport contains information about the health of a worker.\n\nThe VM should be identified by the labels attached to the WorkerMessage that\nthis health ping belongs to.", + "type": "object", + "properties": { + "pods": { + "description": "The pods running on the worker. See:\nhttp://kubernetes.io/v1.1/docs/api-reference/v1/definitions.html#_v1_pod\n\nThis field is used by the worker to send the status of the indvidual\ncontainers running on each worker.", + "items": { + "type": "object", + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + } + }, + "type": "array" + }, + "vmStartupTime": { + "format": "google-datetime", + "description": "The time the VM was booted.", + "type": "string" + }, + "reportInterval": { + "format": "google-duration", + "description": "The interval at which the worker is sending health reports.\nThe default value of 0 should be interpreted as the field is not being\nexplicitly set by the worker.", + "type": "string" + }, + "vmIsHealthy": { + "description": "Whether the VM is healthy.", + "type": "boolean" + } + }, + "id": "WorkerHealthReport" + }, + "JobMessage": { + "description": "A particular message pertaining to a Dataflow job.", + "type": "object", + "properties": { + "messageImportance": { + "description": "Importance level of the message.", + "type": "string", + "enumDescriptions": [ + "The message importance isn't specified, or is unknown.", + "The message is at the 'debug' level: typically only useful for\nsoftware engineers working on the code the job is running.\nTypically, Dataflow pipeline runners do not display log messages\nat this level by default.", + "The message is at the 'detailed' level: somewhat verbose, but\npotentially useful to users. Typically, Dataflow pipeline\nrunners do not display log messages at this level by default.\nThese messages are displayed by default in the Dataflow\nmonitoring UI.", + "The message is at the 'basic' level: useful for keeping\ntrack of the execution of a Dataflow pipeline. Typically,\nDataflow pipeline runners display log messages at this level by\ndefault, and these messages are displayed by default in the\nDataflow monitoring UI.", + "The message is at the 'warning' level: indicating a condition\npertaining to a job which may require human intervention.\nTypically, Dataflow pipeline runners display log messages at this\nlevel by default, and these messages are displayed by default in\nthe Dataflow monitoring UI.", + "The message is at the 'error' level: indicating a condition\npreventing a job from succeeding. Typically, Dataflow pipeline\nrunners display log messages at this level by default, and these\nmessages are displayed by default in the Dataflow monitoring UI." + ], + "enum": [ + "JOB_MESSAGE_IMPORTANCE_UNKNOWN", + "JOB_MESSAGE_DEBUG", + "JOB_MESSAGE_DETAILED", + "JOB_MESSAGE_BASIC", + "JOB_MESSAGE_WARNING", + "JOB_MESSAGE_ERROR" + ] + }, + "messageText": { + "description": "The text of the message.", + "type": "string" + }, + "time": { + "format": "google-datetime", + "description": "The timestamp of the message.", + "type": "string" + }, + "id": { + "description": "Deprecated.", + "type": "string" + } + }, + "id": "JobMessage" + }, + "ParameterMetadata": { + "description": "Metadata for a specific parameter.", + "type": "object", + "properties": { + "helpText": { + "description": "Required. The help text to display for the parameter.", + "type": "string" + }, + "isOptional": { + "description": "Optional. Whether the parameter is optional. Defaults to false.", + "type": "boolean" + }, + "name": { + "description": "Required. The name of the parameter.", + "type": "string" + }, + "regexes": { + "description": "Optional. Regexes that the parameter must match.", + "items": { + "type": "string" + }, + "type": "array" + }, + "label": { + "description": "Required. The label to display for the parameter.", + "type": "string" + } + }, + "id": "ParameterMetadata" + }, + "MultiOutputInfo": { + "description": "Information about an output of a multi-output DoFn.", + "type": "object", + "properties": { + "tag": { + "description": "The id of the tag the user code will emit to this output by; this\nshould correspond to the tag of some SideInputInfo.", + "type": "string" + } + }, + "id": "MultiOutputInfo" + }, + "SourceSplitRequest": { + "description": "Represents the operation to split a high-level Source specification\ninto bundles (parts for parallel processing).\n\nAt a high level, splitting of a source into bundles happens as follows:\nSourceSplitRequest is applied to the source. If it returns\nSOURCE_SPLIT_OUTCOME_USE_CURRENT, no further splitting happens and the source\nis used \"as is\". Otherwise, splitting is applied recursively to each\nproduced DerivedSource.\n\nAs an optimization, for any Source, if its does_not_need_splitting is\ntrue, the framework assumes that splitting this source would return\nSOURCE_SPLIT_OUTCOME_USE_CURRENT, and doesn't initiate a SourceSplitRequest.\nThis applies both to the initial source being split and to bundles\nproduced from it.", + "type": "object", + "properties": { + "options": { + "$ref": "SourceSplitOptions", + "description": "Hints for tuning the splitting process." + }, + "source": { + "description": "Specification of the source to be split.", + "$ref": "Source" + } + }, + "id": "SourceSplitRequest" + }, + "SourceGetMetadataResponse": { + "description": "The result of a SourceGetMetadataOperation.", + "type": "object", + "properties": { + "metadata": { + "$ref": "SourceMetadata", + "description": "The computed metadata." + } + }, + "id": "SourceGetMetadataResponse" + }, + "ShellTask": { + "description": "A task which consists of a shell command for the worker to execute.", + "type": "object", + "properties": { + "exitCode": { + "format": "int32", + "description": "Exit code for the task.", + "type": "integer" + }, + "command": { + "description": "The shell command to run.", + "type": "string" + } + }, + "id": "ShellTask" + }, + "MetricShortId": { + "description": "The metric short id is returned to the user alongside an offset into\nReportWorkItemStatusRequest", + "type": "object", + "properties": { + "metricIndex": { + "format": "int32", + "description": "The index of the corresponding metric in\nthe ReportWorkItemStatusRequest. Required.", + "type": "integer" + }, + "shortId": { + "format": "int64", + "description": "The service-generated short identifier for the metric.", + "type": "string" + } + }, + "id": "MetricShortId" + }, + "AutoscalingEvent": { + "description": "A structured message reporting an autoscaling decision made by the Dataflow\nservice.", "type": "object", "properties": { "time": { "format": "google-datetime", - "description": "The timestamp of the worker_message.", + "description": "The time this event was emitted to indicate a new target or current\nnum_workers value.", "type": "string" }, + "description": { + "$ref": "StructuredMessage", + "description": "A message describing why the system decided to adjust the current\nnumber of workers, why it failed, or why the system decided to\nnot make any changes to the number of workers." + }, + "eventType": { + "enumDescriptions": [ + "Default type for the enum. Value should never be returned.", + "The TARGET_NUM_WORKERS_CHANGED type should be used when the target\nworker pool size has changed at the start of an actuation. An event\nshould always be specified as TARGET_NUM_WORKERS_CHANGED if it reflects\na change in the target_num_workers.", + "The CURRENT_NUM_WORKERS_CHANGED type should be used when actual worker\npool size has been changed, but the target_num_workers has not changed.", + "The ACTUATION_FAILURE type should be used when we want to report\nan error to the user indicating why the current number of workers\nin the pool could not be changed.\nDisplayed in the current status and history widgets.", + "Used when we want to report to the user a reason why we are\nnot currently adjusting the number of workers.\nShould specify both target_num_workers, current_num_workers and a\ndecision_message." + ], + "enum": [ + "TYPE_UNKNOWN", + "TARGET_NUM_WORKERS_CHANGED", + "CURRENT_NUM_WORKERS_CHANGED", + "ACTUATION_FAILURE", + "NO_CHANGE" + ], + "description": "The type of autoscaling event to report.", + "type": "string" + }, + "targetNumWorkers": { + "format": "int64", + "description": "The target number of workers the worker pool wants to resize to use.", + "type": "string" + }, + "currentNumWorkers": { + "format": "int64", + "description": "The current number of workers the job has.", + "type": "string" + } + }, + "id": "AutoscalingEvent" + }, + "TaskRunnerSettings": { + "description": "Taskrunner configuration settings.", + "type": "object", + "properties": { + "taskUser": { + "description": "The UNIX user ID on the worker VM to use for tasks launched by\ntaskrunner; e.g. \"root\".", + "type": "string" + }, + "vmId": { + "description": "The ID string of the VM.", + "type": "string" + }, + "alsologtostderr": { + "description": "Whether to also send taskrunner log info to stderr.", + "type": "boolean" + }, + "taskGroup": { + "description": "The UNIX group ID on the worker VM to use for tasks launched by\ntaskrunner; e.g. \"wheel\".", + "type": "string" + }, + "harnessCommand": { + "description": "The command to launch the worker harness.", + "type": "string" + }, + "logDir": { + "description": "The directory on the VM to store logs.", + "type": "string" + }, + "oauthScopes": { + "description": "The OAuth2 scopes to be requested by the taskrunner in order to\naccess the Cloud Dataflow API.", + "items": { + "type": "string" + }, + "type": "array" + }, + "dataflowApiVersion": { + "description": "The API version of endpoint, e.g. \"v1b3\"", + "type": "string" + }, + "logUploadLocation": { + "description": "Indicates where to put logs. If this is not specified, the logs\nwill not be uploaded.\n\nThe supported resource type is:\n\nGoogle Cloud Storage:\n storage.googleapis.com/{bucket}/{object}\n bucket.storage.googleapis.com/{object}", + "type": "string" + }, + "streamingWorkerMainClass": { + "description": "The streaming worker main class name.", + "type": "string" + }, + "workflowFileName": { + "description": "The file to store the workflow in.", + "type": "string" + }, + "languageHint": { + "description": "The suggested backend language.", + "type": "string" + }, + "commandlinesFileName": { + "description": "The file to store preprocessing commands in.", + "type": "string" + }, + "tempStoragePrefix": { + "description": "The prefix of the resources the taskrunner should use for\ntemporary storage.\n\nThe supported resource type is:\n\nGoogle Cloud Storage:\n storage.googleapis.com/{bucket}/{object}\n bucket.storage.googleapis.com/{object}", + "type": "string" + }, + "baseTaskDir": { + "description": "The location on the worker for task-specific subdirectories.", + "type": "string" + }, + "baseUrl": { + "description": "The base URL for the taskrunner to use when accessing Google Cloud APIs.\n\nWhen workers access Google Cloud APIs, they logically do so via\nrelative URLs. If this field is specified, it supplies the base\nURL to use for resolving these relative URLs. The normative\nalgorithm used is defined by RFC 1808, \"Relative Uniform Resource\nLocators\".\n\nIf not specified, the default value is \"http://www.googleapis.com/\"", + "type": "string" + }, + "logToSerialconsole": { + "description": "Whether to send taskrunner log info to Google Compute Engine VM serial\nconsole.", + "type": "boolean" + }, + "continueOnException": { + "description": "Whether to continue taskrunner if an exception is hit.", + "type": "boolean" + }, + "parallelWorkerSettings": { + "description": "The settings to pass to the parallel worker harness.", + "$ref": "WorkerSettings" + } + }, + "id": "TaskRunnerSettings" + }, + "Position": { + "description": "Position defines a position within a collection of data. The value\ncan be either the end position, a key (used with ordered\ncollections), a byte offset, or a record index.", + "type": "object", + "properties": { + "end": { + "description": "Position is past all other positions. Also useful for the end\nposition of an unbounded range.", + "type": "boolean" + }, + "key": { + "description": "Position is a string key, ordered lexicographically.", + "type": "string" + }, + "recordIndex": { + "format": "int64", + "description": "Position is a record index.", + "type": "string" + }, + "shufflePosition": { + "description": "CloudPosition is a base64 encoded BatchShufflePosition (with FIXED\nsharding).", + "type": "string" + }, + "concatPosition": { + "$ref": "ConcatPosition", + "description": "CloudPosition is a concat position." + }, + "byteOffset": { + "format": "int64", + "description": "Position is a byte offset.", + "type": "string" + } + }, + "id": "Position" + }, + "Source": { + "description": "A source that records can be read and decoded from.", + "type": "object", + "properties": { + "doesNotNeedSplitting": { + "description": "Setting this value to true hints to the framework that the source\ndoesn't need splitting, and using SourceSplitRequest on it would\nyield SOURCE_SPLIT_OUTCOME_USE_CURRENT.\n\nE.g. a file splitter may set this to true when splitting a single file\ninto a set of byte ranges of appropriate size, and set this\nto false when splitting a filepattern into individual files.\nHowever, for efficiency, a file splitter may decide to produce\nfile subranges directly from the filepattern to avoid a splitting\nround-trip.\n\nSee SourceSplitRequest for an overview of the splitting process.\n\nThis field is meaningful only in the Source objects populated\nby the user (e.g. when filling in a DerivedSource).\nSource objects supplied by the framework to the user don't have\nthis field populated.", + "type": "boolean" + }, + "codec": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The codec to use to decode data read from the source.", + "type": "object" + }, + "spec": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The source to read from, plus its parameters.", + "type": "object" + }, + "metadata": { + "description": "Optionally, metadata for this source can be supplied right away,\navoiding a SourceGetMetadataOperation roundtrip\n(see SourceOperationRequest).\n\nThis field is meaningful only in the Source objects populated\nby the user (e.g. when filling in a DerivedSource).\nSource objects supplied by the framework to the user don't have\nthis field populated.", + "$ref": "SourceMetadata" + }, + "baseSpecs": { + "description": "While splitting, sources may specify the produced bundles\nas differences against another source, in order to save backend-side\nmemory and allow bigger jobs. For details, see SourceSplitRequest.\nTo support this use case, the full set of parameters of the source\nis logically obtained by taking the latest explicitly specified value\nof each parameter in the order:\nbase_specs (later items win), spec (overrides anything in base_specs).", + "items": { + "type": "object", + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + } + }, + "type": "array" + } + }, + "id": "Source" + }, + "SplitInt64": { + "description": "A representation of an int64, n, that is immune to precision loss when\nencoded in JSON.", + "type": "object", + "properties": { + "highBits": { + "format": "int32", + "description": "The high order bits, including the sign: n \u003e\u003e 32.", + "type": "integer" + }, + "lowBits": { + "format": "uint32", + "description": "The low order bits: n & 0xffffffff.", + "type": "integer" + } + }, + "id": "SplitInt64" + }, + "WorkerPool": { + "description": "Describes one particular pool of Cloud Dataflow workers to be\ninstantiated by the Cloud Dataflow service in order to perform the\ncomputations required by a job. Note that a workflow job may use\nmultiple pools, in order to match the various computational\nrequirements of the various stages of the job.", + "type": "object", + "properties": { + "kind": { + "description": "The kind of the worker pool; currently only `harness` and `shuffle`\nare supported.", + "type": "string" + }, + "dataDisks": { + "description": "Data disks that are used by a VM in this workflow.", + "items": { + "$ref": "Disk" + }, + "type": "array" + }, + "subnetwork": { + "description": "Subnetwork to which VMs will be assigned, if desired. Expected to be of\nthe form \"regions/REGION/subnetworks/SUBNETWORK\".", + "type": "string" + }, + "ipConfiguration": { + "enumDescriptions": [ + "The configuration is unknown, or unspecified.", + "Workers should have public IP addresses.", + "Workers should have private IP addresses." + ], + "enum": [ + "WORKER_IP_UNSPECIFIED", + "WORKER_IP_PUBLIC", + "WORKER_IP_PRIVATE" + ], + "description": "Configuration for VM IPs.", + "type": "string" + }, + "autoscalingSettings": { + "description": "Settings for autoscaling of this WorkerPool.", + "$ref": "AutoscalingSettings" + }, + "taskrunnerSettings": { + "$ref": "TaskRunnerSettings", + "description": "Settings passed through to Google Compute Engine workers when\nusing the standard Dataflow task runner. Users should ignore\nthis field." + }, + "metadata": { + "description": "Metadata to set on the Google Compute Engine VMs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "defaultPackageSet": { + "description": "The default package set to install. This allows the service to\nselect a default set of packages which are useful to worker\nharnesses written in a particular language.", + "type": "string", + "enumDescriptions": [ + "The default set of packages to stage is unknown, or unspecified.", + "Indicates that no packages should be staged at the worker unless\nexplicitly specified by the job.", + "Stage packages typically useful to workers written in Java.", + "Stage pacakges typically useful to workers written in Python." + ], + "enum": [ + "DEFAULT_PACKAGE_SET_UNKNOWN", + "DEFAULT_PACKAGE_SET_NONE", + "DEFAULT_PACKAGE_SET_JAVA", + "DEFAULT_PACKAGE_SET_PYTHON" + ] + }, + "network": { + "description": "Network to which VMs will be assigned. If empty or unspecified,\nthe service will use the network \"default\".", + "type": "string" + }, + "zone": { + "description": "Zone to run the worker pools in. If empty or unspecified, the service\nwill attempt to choose a reasonable default.", + "type": "string" + }, + "numWorkers": { + "format": "int32", + "description": "Number of Google Compute Engine workers in this pool needed to\nexecute the job. If zero or unspecified, the service will\nattempt to choose a reasonable default.", + "type": "integer" + }, + "numThreadsPerWorker": { + "format": "int32", + "description": "The number of threads per worker harness. If empty or unspecified, the\nservice will choose a number of threads (according to the number of cores\non the selected machine type for batch, or 1 by convention for streaming).", + "type": "integer" + }, + "diskSourceImage": { + "description": "Fully qualified source image for disks.", + "type": "string" + }, + "packages": { + "description": "Packages to be installed on workers.", + "items": { + "$ref": "Package" + }, + "type": "array" + }, + "teardownPolicy": { + "description": "Sets the policy for determining when to turndown worker pool.\nAllowed values are: `TEARDOWN_ALWAYS`, `TEARDOWN_ON_SUCCESS`, and\n`TEARDOWN_NEVER`.\n`TEARDOWN_ALWAYS` means workers are always torn down regardless of whether\nthe job succeeds. `TEARDOWN_ON_SUCCESS` means workers are torn down\nif the job succeeds. `TEARDOWN_NEVER` means the workers are never torn\ndown.\n\nIf the workers are not torn down by the service, they will\ncontinue to run and use Google Compute Engine VM resources in the\nuser's project until they are explicitly terminated by the user.\nBecause of this, Google recommends using the `TEARDOWN_ALWAYS`\npolicy except for small, manually supervised test jobs.\n\nIf unknown or unspecified, the service will attempt to choose a reasonable\ndefault.", + "type": "string", + "enumDescriptions": [ + "The teardown policy isn't specified, or is unknown.", + "Always teardown the resource.", + "Teardown the resource on success. This is useful for debugging\nfailures.", + "Never teardown the resource. This is useful for debugging and\ndevelopment." + ], + "enum": [ + "TEARDOWN_POLICY_UNKNOWN", + "TEARDOWN_ALWAYS", + "TEARDOWN_ON_SUCCESS", + "TEARDOWN_NEVER" + ] + }, + "onHostMaintenance": { + "description": "The action to take on host maintenance, as defined by the Google\nCompute Engine API.", + "type": "string" + }, + "poolArgs": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Extra arguments for this worker pool.", + "type": "object" + }, + "diskSizeGb": { + "format": "int32", + "description": "Size of root disk for VMs, in GB. If zero or unspecified, the service will\nattempt to choose a reasonable default.", + "type": "integer" + }, + "workerHarnessContainerImage": { + "description": "Required. Docker container image that executes the Cloud Dataflow worker\nharness, residing in Google Container Registry.", + "type": "string" + }, + "diskType": { + "description": "Type of root disk for VMs. If empty or unspecified, the service will\nattempt to choose a reasonable default.", + "type": "string" + }, + "machineType": { + "description": "Machine type (e.g. \"n1-standard-1\"). If empty or unspecified, the\nservice will attempt to choose a reasonable default.", + "type": "string" + } + }, + "id": "WorkerPool" + }, + "SourceOperationRequest": { + "description": "A work item that represents the different operations that can be\nperformed on a user-defined Source specification.", + "type": "object", + "properties": { + "getMetadata": { + "$ref": "SourceGetMetadataRequest", + "description": "Information about a request to get metadata about a source." + }, + "split": { + "$ref": "SourceSplitRequest", + "description": "Information about a request to split a source." + } + }, + "id": "SourceOperationRequest" + }, + "StructuredMessage": { + "description": "A rich message format, including a human readable string, a key for\nidentifying the message, and structured data associated with the message for\nprogrammatic consumption.", + "type": "object", + "properties": { + "messageText": { + "description": "Human-readable version of message.", + "type": "string" + }, + "parameters": { + "description": "The structured data associated with this message.", + "items": { + "$ref": "Parameter" + }, + "type": "array" + }, + "messageKey": { + "description": "Idenfier for this message type. Used by external systems to\ninternationalize or personalize message.", + "type": "string" + } + }, + "id": "StructuredMessage" + }, + "WorkItem": { + "description": "WorkItem represents basic information about a WorkItem to be executed\nin the cloud.", + "type": "object", + "properties": { + "initialReportIndex": { + "format": "int64", + "description": "The initial index to use when reporting the status of the WorkItem.", + "type": "string" + }, + "shellTask": { + "description": "Additional information for ShellTask WorkItems.", + "$ref": "ShellTask" + }, + "streamingComputationTask": { + "description": "Additional information for StreamingComputationTask WorkItems.", + "$ref": "StreamingComputationTask" + }, + "jobId": { + "description": "Identifies the workflow job this WorkItem belongs to.", + "type": "string" + }, + "id": { + "format": "int64", + "description": "Identifies this WorkItem.", + "type": "string" + }, + "configuration": { + "description": "Work item-specific configuration as an opaque blob.", + "type": "string" + }, + "mapTask": { + "$ref": "MapTask", + "description": "Additional information for MapTask WorkItems." + }, + "seqMapTask": { + "description": "Additional information for SeqMapTask WorkItems.", + "$ref": "SeqMapTask" + }, + "packages": { + "description": "Any required packages that need to be fetched in order to execute\nthis WorkItem.", + "items": { + "$ref": "Package" + }, + "type": "array" + }, + "projectId": { + "description": "Identifies the cloud project this WorkItem belongs to.", + "type": "string" + }, + "sourceOperationTask": { + "description": "Additional information for source operation WorkItems.", + "$ref": "SourceOperationRequest" + }, + "reportStatusInterval": { + "format": "google-duration", + "description": "Recommended reporting interval.", + "type": "string" + }, + "streamingSetupTask": { + "description": "Additional information for StreamingSetupTask WorkItems.", + "$ref": "StreamingSetupTask" + }, + "streamingConfigTask": { + "description": "Additional information for StreamingConfigTask WorkItems.", + "$ref": "StreamingConfigTask" + }, + "leaseExpireTime": { + "format": "google-datetime", + "description": "Time when the lease on this Work will expire.", + "type": "string" + } + }, + "id": "WorkItem" + }, + "ResourceUtilizationReport": { + "description": "Worker metrics exported from workers. This contains resource utilization\nmetrics accumulated from a variety of sources. For more information, see\ngo/df-resource-signals.", + "type": "object", + "properties": { + "cpuTime": { + "description": "CPU utilization samples.", + "items": { + "$ref": "CPUTime" + }, + "type": "array" + } + }, + "id": "ResourceUtilizationReport" + }, + "ReportedParallelism": { + "description": "Represents the level of parallelism in a WorkItem's input,\nreported by the worker.", + "type": "object", + "properties": { + "isInfinite": { + "description": "Specifies whether the parallelism is infinite. If true, \"value\" is\nignored.\nInfinite parallelism means the service will assume that the work item\ncan always be split into more non-empty work items by dynamic splitting.\nThis is a work-around for lack of support for infinity by the current\nJSON-based Java RPC stack.", + "type": "boolean" + }, + "value": { + "format": "double", + "description": "Specifies the level of parallelism in case it is finite.", + "type": "number" + } + }, + "id": "ReportedParallelism" + }, + "TopologyConfig": { + "description": "Global topology of the streaming Dataflow job, including all\ncomputations and their sharded locations.", + "type": "object", + "properties": { + "userStageToComputationNameMap": { + "additionalProperties": { + "type": "string" + }, + "description": "Maps user stage names to stable computation names.", + "type": "object" + }, + "computations": { + "description": "The computations associated with a streaming Dataflow job.", + "items": { + "$ref": "ComputationTopology" + }, + "type": "array" + }, + "persistentStateVersion": { + "format": "int32", + "description": "Version number for persistent state.", + "type": "integer" + }, + "dataDiskAssignments": { + "description": "The disks assigned to a streaming Dataflow job.", + "items": { + "$ref": "DataDiskAssignment" + }, + "type": "array" + }, + "forwardingKeyBits": { + "format": "int32", + "description": "The size (in bits) of keys that will be assigned to source messages.", + "type": "integer" + } + }, + "id": "TopologyConfig" + }, + "SourceSplitOptions": { + "description": "Hints for splitting a Source into bundles (parts for parallel\nprocessing) using SourceSplitRequest.", + "type": "object", + "properties": { + "desiredBundleSizeBytes": { + "format": "int64", + "description": "The source should be split into a set of bundles where the estimated size\nof each is approximately this many bytes.", + "type": "string" + }, + "desiredShardSizeBytes": { + "format": "int64", + "description": "DEPRECATED in favor of desired_bundle_size_bytes.", + "type": "string" + } + }, + "id": "SourceSplitOptions" + }, + "ReadInstruction": { + "description": "An instruction that reads records.\nTakes no inputs, produces one output.", + "type": "object", + "properties": { + "source": { + "description": "The source to read from.", + "$ref": "Source" + } + }, + "id": "ReadInstruction" + }, + "WorkerSettings": { + "description": "Provides data to pass through to the worker harness.", + "type": "object", + "properties": { + "baseUrl": { + "description": "The base URL for accessing Google Cloud APIs.\n\nWhen workers access Google Cloud APIs, they logically do so via\nrelative URLs. If this field is specified, it supplies the base\nURL to use for resolving these relative URLs. The normative\nalgorithm used is defined by RFC 1808, \"Relative Uniform Resource\nLocators\".\n\nIf not specified, the default value is \"http://www.googleapis.com/\"", + "type": "string" + }, + "reportingEnabled": { + "description": "Whether to send work progress updates to the service.", + "type": "boolean" + }, + "servicePath": { + "description": "The Cloud Dataflow service path relative to the root URL, for example,\n\"dataflow/v1b3/projects\".", + "type": "string" + }, + "shuffleServicePath": { + "description": "The Shuffle service path relative to the root URL, for example,\n\"shuffle/v1beta1\".", + "type": "string" + }, + "workerId": { + "description": "The ID of the worker running this pipeline.", + "type": "string" + }, + "tempStoragePrefix": { + "description": "The prefix of the resources the system should use for temporary\nstorage.\n\nThe supported resource type is:\n\nGoogle Cloud Storage:\n\n storage.googleapis.com/{bucket}/{object}\n bucket.storage.googleapis.com/{object}", + "type": "string" + } + }, + "id": "WorkerSettings" + }, + "DataDiskAssignment": { + "description": "Data disk assignment for a given VM instance.", + "type": "object", + "properties": { + "vmInstance": { + "description": "VM instance name the data disks mounted to, for example\n\"myproject-1014-104817-4c2-harness-0\".", + "type": "string" + }, + "dataDisks": { + "description": "Mounted data disks. The order is important a data disk's 0-based index in\nthis list defines which persistent directory the disk is mounted to, for\nexample the list of { \"myproject-1014-104817-4c2-harness-0-disk-0\" },\n{ \"myproject-1014-104817-4c2-harness-0-disk-1\" }.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "DataDiskAssignment" + }, + "StreamingStageLocation": { + "description": "Identifies the location of a streaming computation stage, for\nstage-to-stage communication.", + "type": "object", + "properties": { + "streamId": { + "description": "Identifies the particular stream within the streaming Dataflow\njob.", + "type": "string" + } + }, + "id": "StreamingStageLocation" + }, + "ApproximateSplitRequest": { + "description": "A suggestion by the service to the worker to dynamically split the WorkItem.", + "type": "object", + "properties": { + "position": { + "$ref": "Position", + "description": "A Position at which to split the work item." + }, + "fractionConsumed": { + "format": "double", + "description": "A fraction at which to split the work item, from 0.0 (beginning of the\ninput) to 1.0 (end of the input).", + "type": "number" + } + }, + "id": "ApproximateSplitRequest" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", + "type": "object", + "properties": { + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "type": "object", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + } + }, + "type": "array" + }, + "code": { + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "id": "Status" + }, + "ExecutionStageState": { + "description": "A message describing the state of a particular execution stage.", + "type": "object", + "properties": { + "executionStageState": { + "description": "Executions stage states allow the same set of values as JobState.", + "type": "string", + "enumDescriptions": [ + "The job's run state isn't specified.", + "`JOB_STATE_STOPPED` indicates that the job has not\nyet started to run.", + "`JOB_STATE_RUNNING` indicates that the job is currently running.", + "`JOB_STATE_DONE` indicates that the job has successfully completed.\nThis is a terminal job state. This state may be set by the Cloud Dataflow\nservice, as a transition from `JOB_STATE_RUNNING`. It may also be set via a\nCloud Dataflow `UpdateJob` call, if the job has not yet reached a terminal\nstate.", + "`JOB_STATE_FAILED` indicates that the job has failed. This is a\nterminal job state. This state may only be set by the Cloud Dataflow\nservice, and only as a transition from `JOB_STATE_RUNNING`.", + "`JOB_STATE_CANCELLED` indicates that the job has been explicitly\ncancelled. This is a terminal job state. This state may only be\nset via a Cloud Dataflow `UpdateJob` call, and only if the job has not\nyet reached another terminal state.", + "`JOB_STATE_UPDATED` indicates that the job was successfully updated,\nmeaning that this job was stopped and another job was started, inheriting\nstate from this one. This is a terminal job state. This state may only be\nset by the Cloud Dataflow service, and only as a transition from\n`JOB_STATE_RUNNING`.", + "`JOB_STATE_DRAINING` indicates that the job is in the process of draining.\nA draining job has stopped pulling from its input sources and is processing\nany data that remains in-flight. This state may be set via a Cloud Dataflow\n`UpdateJob` call, but only as a transition from `JOB_STATE_RUNNING`. Jobs\nthat are draining may only transition to `JOB_STATE_DRAINED`,\n`JOB_STATE_CANCELLED`, or `JOB_STATE_FAILED`.", + "`JOB_STATE_DRAINED` indicates that the job has been drained.\nA drained job terminated by stopping pulling from its input sources and\nprocessing any data that remained in-flight when draining was requested.\nThis state is a terminal state, may only be set by the Cloud Dataflow\nservice, and only as a transition from `JOB_STATE_DRAINING`.", + "'JOB_STATE_PENDING' indicates that the job has been created but is not yet\nrunning. Jobs that are pending may only transition to `JOB_STATE_RUNNING`,\nor `JOB_STATE_FAILED`.", + "'JOB_STATE_CANCELLING' indicates that the job has been explicitly cancelled\nand is in the process of stopping. Jobs that are cancelling may only\ntransition to 'JOB_STATE_CANCELLED' or 'JOB_STATE_FAILED'." + ], + "enum": [ + "JOB_STATE_UNKNOWN", + "JOB_STATE_STOPPED", + "JOB_STATE_RUNNING", + "JOB_STATE_DONE", + "JOB_STATE_FAILED", + "JOB_STATE_CANCELLED", + "JOB_STATE_UPDATED", + "JOB_STATE_DRAINING", + "JOB_STATE_DRAINED", + "JOB_STATE_PENDING", + "JOB_STATE_CANCELLING" + ] + }, + "executionStageName": { + "description": "The name of the execution stage.", + "type": "string" + }, + "currentStateTime": { + "format": "google-datetime", + "description": "The time at which the stage transitioned to this state.", + "type": "string" + } + }, + "id": "ExecutionStageState" + }, + "StreamLocation": { + "description": "Describes a stream of data, either as input to be processed or as\noutput of a streaming Dataflow job.", + "type": "object", + "properties": { + "customSourceLocation": { + "$ref": "CustomSourceLocation", + "description": "The stream is a custom source." + }, + "sideInputLocation": { + "description": "The stream is a streaming side input.", + "$ref": "StreamingSideInputLocation" + }, + "pubsubLocation": { + "$ref": "PubsubLocation", + "description": "The stream is a pubsub stream." + }, + "streamingStageLocation": { + "description": "The stream is part of another computation within the current\nstreaming Dataflow job.", + "$ref": "StreamingStageLocation" + } + }, + "id": "StreamLocation" + }, + "SendWorkerMessagesResponse": { + "description": "The response to the worker messages.", + "type": "object", + "properties": { + "workerMessageResponses": { + "description": "The servers response to the worker messages.", + "items": { + "$ref": "WorkerMessageResponse" + }, + "type": "array" + } + }, + "id": "SendWorkerMessagesResponse" + }, + "LeaseWorkItemResponse": { + "description": "Response to a request to lease WorkItems.", + "type": "object", + "properties": { + "workItems": { + "description": "A list of the leased WorkItems.", + "items": { + "$ref": "WorkItem" + }, + "type": "array" + } + }, + "id": "LeaseWorkItemResponse" + }, + "TransformSummary": { + "description": "Description of the type, names/ids, and input/outputs for a transform.", + "type": "object", + "properties": { + "displayData": { + "description": "Transform-specific display data.", + "items": { + "$ref": "DisplayData" + }, + "type": "array" + }, + "outputCollectionName": { + "description": "User names for all collection outputs to this transform.", + "items": { + "type": "string" + }, + "type": "array" + }, + "kind": { + "enumDescriptions": [ + "Unrecognized transform type.", + "ParDo transform.", + "Group By Key transform.", + "Flatten transform.", + "Read transform.", + "Write transform.", + "Constructs from a constant value, such as with Create.of.", + "Creates a Singleton view of a collection.", + "Opening or closing a shuffle session, often as part of a GroupByKey." + ], + "enum": [ + "UNKNOWN_KIND", + "PAR_DO_KIND", + "GROUP_BY_KEY_KIND", + "FLATTEN_KIND", + "READ_KIND", + "WRITE_KIND", + "CONSTANT_KIND", + "SINGLETON_KIND", + "SHUFFLE_KIND" + ], + "description": "Type of transform.", + "type": "string" + }, + "inputCollectionName": { + "description": "User names for all collection inputs to this transform.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "User provided name for this transform instance.", + "type": "string" + }, + "id": { + "description": "SDK generated id of this transform instance.", + "type": "string" + } + }, + "id": "TransformSummary" + }, + "StreamingComputationConfig": { + "description": "Configuration information for a single streaming computation.", + "type": "object", + "properties": { + "computationId": { + "description": "Unique identifier for this computation.", + "type": "string" + }, + "stageName": { + "description": "Stage name of this computation.", + "type": "string" + }, + "systemName": { + "description": "System defined name for this computation.", + "type": "string" + }, + "instructions": { + "description": "Instructions that comprise the computation.", + "items": { + "$ref": "ParallelInstruction" + }, + "type": "array" + } + }, + "id": "StreamingComputationConfig" + }, + "Sink": { + "description": "A sink that records can be encoded and written to.", + "type": "object", + "properties": { + "codec": { + "description": "The codec to use to encode data written to the sink.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + } + }, + "spec": { + "description": "The sink to write to, plus its parameters.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + } + } + }, + "id": "Sink" + }, + "LaunchTemplateParameters": { + "description": "Parameters to provide to the template being launched.", + "type": "object", + "properties": { + "jobName": { + "description": "Required. The job name to use for the created job.", + "type": "string" + }, + "environment": { + "$ref": "RuntimeEnvironment", + "description": "The runtime environment for the job." + }, + "parameters": { + "description": "The runtime parameters to pass to the job.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "id": "LaunchTemplateParameters" + }, + "FlattenInstruction": { + "description": "An instruction that copies its inputs (zero or more) to its (single) output.", + "type": "object", + "properties": { + "inputs": { + "description": "Describes the inputs to the flatten instruction.", + "items": { + "$ref": "InstructionInput" + }, + "type": "array" + } + }, + "id": "FlattenInstruction" + }, + "PartialGroupByKeyInstruction": { + "description": "An instruction that does a partial group-by-key.\nOne input and one output.", + "type": "object", + "properties": { + "valueCombiningFn": { + "description": "The value combining function to invoke.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + } + }, + "inputElementCodec": { + "description": "The codec to use for interpreting an element in the input PTable.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + } + }, + "originalCombineValuesInputStoreName": { + "description": "If this instruction includes a combining function this is the name of the\nintermediate store between the GBK and the CombineValues.", + "type": "string" + }, + "sideInputs": { + "description": "Zero or more side inputs.", + "items": { + "$ref": "SideInputInfo" + }, + "type": "array" + }, + "originalCombineValuesStepName": { + "description": "If this instruction includes a combining function, this is the name of the\nCombineValues instruction lifted into this instruction.", + "type": "string" + }, + "input": { + "$ref": "InstructionInput", + "description": "Describes the input to the partial group-by-key instruction." + } + }, + "id": "PartialGroupByKeyInstruction" + }, + "InstructionInput": { + "description": "An input of an instruction, as a reference to an output of a\nproducer instruction.", + "type": "object", + "properties": { + "producerInstructionIndex": { + "format": "int32", + "description": "The index (origin zero) of the parallel instruction that produces\nthe output to be consumed by this input. This index is relative\nto the list of instructions in this input's instruction's\ncontaining MapTask.", + "type": "integer" + }, + "outputNum": { + "format": "int32", + "description": "The output index (origin zero) within the producer.", + "type": "integer" + } + }, + "id": "InstructionInput" + }, + "StageSource": { + "description": "Description of an input or output of an execution stage.", + "type": "object", + "properties": { + "userName": { + "description": "Human-readable name for this source; may be user or system generated.", + "type": "string" + }, + "originalTransformOrCollection": { + "description": "User name for the original user transform or collection with which this\nsource is most closely associated.", + "type": "string" + }, + "sizeBytes": { + "format": "int64", + "description": "Size of the source, if measurable.", + "type": "string" + }, + "name": { + "description": "Dataflow service generated name for this source.", + "type": "string" + } + }, + "id": "StageSource" + }, + "StringList": { + "description": "A metric value representing a list of strings.", + "type": "object", + "properties": { + "elements": { + "description": "Elements of the list.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "StringList" + }, + "DisplayData": { + "description": "Data provided with a pipeline or transform to provide descriptive info.", + "type": "object", + "properties": { + "timestampValue": { + "format": "google-datetime", + "description": "Contains value if the data is of timestamp type.", + "type": "string" + }, + "javaClassValue": { + "description": "Contains value if the data is of java class type.", + "type": "string" + }, + "boolValue": { + "description": "Contains value if the data is of a boolean type.", + "type": "boolean" + }, + "strValue": { + "description": "Contains value if the data is of string type.", + "type": "string" + }, + "int64Value": { + "format": "int64", + "description": "Contains value if the data is of int64 type.", + "type": "string" + }, + "durationValue": { + "format": "google-duration", + "description": "Contains value if the data is of duration type.", + "type": "string" + }, + "namespace": { + "description": "The namespace for the key. This is usually a class name or programming\nlanguage namespace (i.e. python module) which defines the display data.\nThis allows a dax monitoring system to specially handle the data\nand perform custom rendering.", + "type": "string" + }, + "floatValue": { + "format": "float", + "description": "Contains value if the data is of float type.", + "type": "number" + }, + "key": { + "description": "The key identifying the display data.\nThis is intended to be used as a label for the display data\nwhen viewed in a dax monitoring system.", + "type": "string" + }, + "shortStrValue": { + "description": "A possible additional shorter value to display.\nFor example a java_class_name_value of com.mypackage.MyDoFn\nwill be stored with MyDoFn as the short_str_value and\ncom.mypackage.MyDoFn as the java_class_name value.\nshort_str_value can be displayed and java_class_name_value\nwill be displayed as a tooltip.", + "type": "string" + }, + "label": { + "description": "An optional label to display in a dax UI for the element.", + "type": "string" + }, + "url": { + "description": "An optional full URL.", + "type": "string" + } + }, + "id": "DisplayData" + }, + "LeaseWorkItemRequest": { + "description": "Request to lease WorkItems.", + "type": "object", + "properties": { + "workerId": { + "description": "Identifies the worker leasing work -- typically the ID of the\nvirtual machine running the worker.", + "type": "string" + }, + "workerCapabilities": { + "description": "Worker capabilities. WorkItems might be limited to workers with specific\ncapabilities.", + "items": { + "type": "string" + }, + "type": "array" + }, + "requestedLeaseDuration": { + "format": "google-duration", + "description": "The initial lease period.", + "type": "string" + }, + "currentWorkerTime": { + "format": "google-datetime", + "description": "The current timestamp at the worker.", + "type": "string" + }, + "location": { + "description": "The location which contains the WorkItem's job.", + "type": "string" + }, + "workItemTypes": { + "description": "Filter for WorkItem type.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "LeaseWorkItemRequest" + }, + "GetDebugConfigRequest": { + "description": "Request to get updated debug configuration for component.", + "type": "object", + "properties": { + "componentId": { + "description": "The internal component id for which debug configuration is\nrequested.", + "type": "string" + }, + "workerId": { + "description": "The worker id, i.e., VM hostname.", + "type": "string" + }, + "location": { + "description": "The location which contains the job specified by job_id.", + "type": "string" + } + }, + "id": "GetDebugConfigRequest" + }, + "GetTemplateResponse": { + "description": "The response to a GetTemplate request.", + "type": "object", + "properties": { + "metadata": { + "$ref": "TemplateMetadata", + "description": "The template metadata describing the template name, available\nparameters, etc." + }, + "status": { + "$ref": "Status", + "description": "The status of the get template request. Any problems with the\nrequest will be indicated in the error_details." + } + }, + "id": "GetTemplateResponse" + }, + "Parameter": { + "description": "Structured data associated with this message.", + "type": "object", + "properties": { + "value": { + "description": "Value for this parameter.", + "type": "any" + }, + "key": { + "description": "Key or name for this parameter.", + "type": "string" + } + }, + "id": "Parameter" + }, + "ReportWorkItemStatusRequest": { + "description": "Request to report the status of WorkItems.", + "type": "object", + "properties": { + "currentWorkerTime": { + "format": "google-datetime", + "description": "The current timestamp at the worker.", + "type": "string" + }, + "workerId": { + "description": "The ID of the worker reporting the WorkItem status. If this\ndoes not match the ID of the worker which the Dataflow service\nbelieves currently has the lease on the WorkItem, the report\nwill be dropped (with an error response).", + "type": "string" + }, + "location": { + "description": "The location which contains the WorkItem's job.", + "type": "string" + }, + "workItemStatuses": { + "description": "The order is unimportant, except that the order of the\nWorkItemServiceState messages in the ReportWorkItemStatusResponse\ncorresponds to the order of WorkItemStatus messages here.", + "items": { + "$ref": "WorkItemStatus" + }, + "type": "array" + } + }, + "id": "ReportWorkItemStatusRequest" + }, + "PipelineDescription": { + "description": "A descriptive representation of submitted pipeline as well as the executed\nform. This data is provided by the Dataflow service for ease of visualizing\nthe pipeline and interpretting Dataflow provided metrics.", + "type": "object", + "properties": { + "originalPipelineTransform": { + "description": "Description of each transform in the pipeline and collections between them.", + "items": { + "$ref": "TransformSummary" + }, + "type": "array" + }, + "displayData": { + "description": "Pipeline level display data.", + "items": { + "$ref": "DisplayData" + }, + "type": "array" + }, + "executionPipelineStage": { + "description": "Description of each stage of execution of the pipeline.", + "items": { + "$ref": "ExecutionStageSummary" + }, + "type": "array" + } + }, + "id": "PipelineDescription" + }, + "StreamingConfigTask": { + "description": "A task that carries configuration information for streaming computations.", + "type": "object", + "properties": { + "streamingComputationConfigs": { + "description": "Set of computation configuration information.", + "items": { + "$ref": "StreamingComputationConfig" + }, + "type": "array" + }, + "windmillServiceEndpoint": { + "description": "If present, the worker must use this endpoint to communicate with Windmill\nService dispatchers, otherwise the worker must continue to use whatever\nendpoint it had been using.", + "type": "string" + }, + "userStepToStateFamilyNameMap": { + "description": "Map from user step names to state families.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "windmillServicePort": { + "format": "int64", + "description": "If present, the worker must use this port to communicate with Windmill\nService dispatchers. Only applicable when windmill_service_endpoint is\nspecified.", + "type": "string" + } + }, + "id": "StreamingConfigTask" + }, + "JobExecutionInfo": { + "description": "Additional information about how a Cloud Dataflow job will be executed that\nisn't contained in the submitted job.", + "type": "object", + "properties": { + "stages": { + "additionalProperties": { + "$ref": "JobExecutionStageInfo" + }, + "description": "A mapping from each stage to the information about that stage.", + "type": "object" + } + }, + "id": "JobExecutionInfo" + }, + "Step": { + "description": "Defines a particular step within a Cloud Dataflow job.\n\nA job consists of multiple steps, each of which performs some\nspecific operation as part of the overall job. Data is typically\npassed from one step to another as part of the job.\n\nHere's an example of a sequence of steps which together implement a\nMap-Reduce job:\n\n * Read a collection of data from some source, parsing the\n collection's elements.\n\n * Validate the elements.\n\n * Apply a user-defined function to map each element to some value\n and extract an element-specific key value.\n\n * Group elements with the same key into a single element with\n that key, transforming a multiply-keyed collection into a\n uniquely-keyed collection.\n\n * Write the elements out to some data sink.\n\nNote that the Cloud Dataflow service may be used to run many different\ntypes of jobs, not just Map-Reduce.", + "type": "object", + "properties": { + "name": { + "description": "The name that identifies the step. This must be unique for each\nstep with respect to all other steps in the Cloud Dataflow job.", + "type": "string" + }, + "kind": { + "description": "The kind of step in the Cloud Dataflow job.", + "type": "string" + }, + "properties": { + "description": "Named properties associated with the step. Each kind of\npredefined step has its own required set of properties.\nMust be provided on Create. Only retrieved with JOB_VIEW_ALL.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + } + } + }, + "id": "Step" + }, + "FailedLocation": { + "description": "Indicates which location failed to respond to a request for data.", + "type": "object", + "properties": { + "name": { + "description": "The name of the failed location.", + "type": "string" + } + }, + "id": "FailedLocation" + }, + "Disk": { + "description": "Describes the data disk used by a workflow job.", + "type": "object", + "properties": { + "diskType": { + "description": "Disk storage type, as defined by Google Compute Engine. This\nmust be a disk type appropriate to the project and zone in which\nthe workers will run. If unknown or unspecified, the service\nwill attempt to choose a reasonable default.\n\nFor example, the standard persistent disk type is a resource name\ntypically ending in \"pd-standard\". If SSD persistent disks are\navailable, the resource name typically ends with \"pd-ssd\". The\nactual valid values are defined the Google Compute Engine API,\nnot by the Cloud Dataflow API; consult the Google Compute Engine\ndocumentation for more information about determining the set of\navailable disk types for a particular project and zone.\n\nGoogle Compute Engine Disk types are local to a particular\nproject in a particular zone, and so the resource name will\ntypically look something like this:\n\ncompute.googleapis.com/projects/project-id/zones/zone/diskTypes/pd-standard", + "type": "string" + }, + "sizeGb": { + "format": "int32", + "description": "Size of disk in GB. If zero or unspecified, the service will\nattempt to choose a reasonable default.", + "type": "integer" + }, + "mountPoint": { + "description": "Directory in a VM where disk is mounted.", + "type": "string" + } + }, + "id": "Disk" + }, + "CounterMetadata": { + "description": "CounterMetadata includes all static non-name non-value counter attributes.", + "type": "object", + "properties": { + "description": { + "description": "Human-readable description of the counter semantics.", + "type": "string" + }, + "kind": { + "enumDescriptions": [ + "Counter aggregation kind was not set.", + "Aggregated value is the sum of all contributed values.", + "Aggregated value is the max of all contributed values.", + "Aggregated value is the min of all contributed values.", + "Aggregated value is the mean of all contributed values.", + "Aggregated value represents the logical 'or' of all contributed values.", + "Aggregated value represents the logical 'and' of all contributed values.", + "Aggregated value is a set of unique contributed values.", + "Aggregated value captures statistics about a distribution." + ], + "enum": [ + "INVALID", + "SUM", + "MAX", + "MIN", + "MEAN", + "OR", + "AND", + "SET", + "DISTRIBUTION" + ], + "description": "Counter aggregation kind.", + "type": "string" + }, + "standardUnits": { + "description": "System defined Units, see above enum.", + "type": "string", + "enumDescriptions": [ + "Counter returns a value in bytes.", + "Counter returns a value in bytes per second.", + "Counter returns a value in milliseconds.", + "Counter returns a value in microseconds.", + "Counter returns a value in nanoseconds.", + "Counter returns a timestamp in milliseconds.", + "Counter returns a timestamp in microseconds.", + "Counter returns a timestamp in nanoseconds." + ], + "enum": [ + "BYTES", + "BYTES_PER_SEC", + "MILLISECONDS", + "MICROSECONDS", + "NANOSECONDS", + "TIMESTAMP_MSEC", + "TIMESTAMP_USEC", + "TIMESTAMP_NSEC" + ] + }, + "otherUnits": { + "description": "A string referring to the unit type.", + "type": "string" + } + }, + "id": "CounterMetadata" + }, + "ListJobMessagesResponse": { + "description": "Response to a request to list job messages.", + "type": "object", + "properties": { + "autoscalingEvents": { + "description": "Autoscaling events in ascending timestamp order.", + "items": { + "$ref": "AutoscalingEvent" + }, + "type": "array" + }, + "jobMessages": { + "description": "Messages in ascending timestamp order.", + "items": { + "$ref": "JobMessage" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The token to obtain the next page of results if there are more.", + "type": "string" + } + }, + "id": "ListJobMessagesResponse" + }, + "ApproximateReportedProgress": { + "description": "A progress measurement of a WorkItem by a worker.", + "type": "object", + "properties": { + "consumedParallelism": { + "description": "Total amount of parallelism in the portion of input of this task that has\nalready been consumed and is no longer active. In the first two examples\nabove (see remaining_parallelism), the value should be 29 or 2\nrespectively. The sum of remaining_parallelism and consumed_parallelism\nshould equal the total amount of parallelism in this work item. If\nspecified, must be finite.", + "$ref": "ReportedParallelism" + }, + "remainingParallelism": { + "description": "Total amount of parallelism in the input of this task that remains,\n(i.e. can be delegated to this task and any new tasks via dynamic\nsplitting). Always at least 1 for non-finished work items and 0 for\nfinished.\n\n\"Amount of parallelism\" refers to how many non-empty parts of the input\ncan be read in parallel. This does not necessarily equal number\nof records. An input that can be read in parallel down to the\nindividual records is called \"perfectly splittable\".\nAn example of non-perfectly parallelizable input is a block-compressed\nfile format where a block of records has to be read as a whole,\nbut different blocks can be read in parallel.\n\nExamples:\n* If we are processing record #30 (starting at 1) out of 50 in a perfectly\n splittable 50-record input, this value should be 21 (20 remaining + 1\n current).\n* If we are reading through block 3 in a block-compressed file consisting\n of 5 blocks, this value should be 3 (since blocks 4 and 5 can be\n processed in parallel by new tasks via dynamic splitting and the current\n task remains processing block 3).\n* If we are reading through the last block in a block-compressed file,\n or reading or processing the last record in a perfectly splittable\n input, this value should be 1, because apart from the current task, no\n additional remainder can be split off.", + "$ref": "ReportedParallelism" + }, + "position": { + "$ref": "Position", + "description": "A Position within the work to represent a progress." + }, + "fractionConsumed": { + "format": "double", + "description": "Completion as fraction of the input consumed, from 0.0 (beginning, nothing\nconsumed), to 1.0 (end of the input, entire input consumed).", + "type": "number" + } + }, + "id": "ApproximateReportedProgress" + }, + "IntegerList": { + "description": "A metric value representing a list of integers.", + "type": "object", + "properties": { + "elements": { + "description": "Elements of the list.", + "items": { + "$ref": "SplitInt64" + }, + "type": "array" + } + }, + "id": "IntegerList" + }, + "StateFamilyConfig": { + "description": "State family configuration.", + "type": "object", + "properties": { + "stateFamily": { + "description": "The state family value.", + "type": "string" + }, + "isRead": { + "description": "If true, this family corresponds to a read operation.", + "type": "boolean" + } + }, + "id": "StateFamilyConfig" + }, + "ResourceUtilizationReportResponse": { + "description": "Service-side response to WorkerMessage reporting resource utilization.", + "type": "object", + "properties": {}, + "id": "ResourceUtilizationReportResponse" + }, + "SourceSplitResponse": { + "description": "The response to a SourceSplitRequest.", + "type": "object", + "properties": { + "outcome": { + "enumDescriptions": [ + "The source split outcome is unknown, or unspecified.", + "The current source should be processed \"as is\" without splitting.", + "Splitting produced a list of bundles." + ], + "enum": [ + "SOURCE_SPLIT_OUTCOME_UNKNOWN", + "SOURCE_SPLIT_OUTCOME_USE_CURRENT", + "SOURCE_SPLIT_OUTCOME_SPLITTING_HAPPENED" + ], + "description": "Indicates whether splitting happened and produced a list of bundles.\nIf this is USE_CURRENT_SOURCE_AS_IS, the current source should\nbe processed \"as is\" without splitting. \"bundles\" is ignored in this case.\nIf this is SPLITTING_HAPPENED, then \"bundles\" contains a list of\nbundles into which the source was split.", + "type": "string" + }, + "bundles": { + "description": "If outcome is SPLITTING_HAPPENED, then this is a list of bundles\ninto which the source was split. Otherwise this field is ignored.\nThis list can be empty, which means the source represents an empty input.", + "items": { + "$ref": "DerivedSource" + }, + "type": "array" + }, + "shards": { + "description": "DEPRECATED in favor of bundles.", + "items": { + "$ref": "SourceSplitShard" + }, + "type": "array" + } + }, + "id": "SourceSplitResponse" + }, + "ParallelInstruction": { + "description": "Describes a particular operation comprising a MapTask.", + "type": "object", + "properties": { + "flatten": { + "$ref": "FlattenInstruction", + "description": "Additional information for Flatten instructions." + }, + "originalName": { + "description": "System-defined name for the operation in the original workflow graph.", + "type": "string" + }, + "systemName": { + "description": "System-defined name of this operation.\nUnique across the workflow.", + "type": "string" + }, + "write": { + "description": "Additional information for Write instructions.", + "$ref": "WriteInstruction" + }, + "partialGroupByKey": { + "$ref": "PartialGroupByKeyInstruction", + "description": "Additional information for PartialGroupByKey instructions." + }, + "outputs": { + "description": "Describes the outputs of the instruction.", + "items": { + "$ref": "InstructionOutput" + }, + "type": "array" + }, + "name": { + "description": "User-provided name of this operation.", + "type": "string" + }, + "parDo": { + "description": "Additional information for ParDo instructions.", + "$ref": "ParDoInstruction" + }, + "read": { + "description": "Additional information for Read instructions.", + "$ref": "ReadInstruction" + } + }, + "id": "ParallelInstruction" + }, + "Package": { + "description": "The packages that must be installed in order for a worker to run the\nsteps of the Cloud Dataflow job that will be assigned to its worker\npool.\n\nThis is the mechanism by which the Cloud Dataflow SDK causes code to\nbe loaded onto the workers. For example, the Cloud Dataflow Java SDK\nmight use this to install jars containing the user's code and all of the\nvarious dependencies (libraries, data files, etc.) required in order\nfor that code to run.", + "type": "object", + "properties": { + "location": { + "description": "The resource to read the package from. The supported resource type is:\n\nGoogle Cloud Storage:\n\n storage.googleapis.com/{bucket}\n bucket.storage.googleapis.com/", + "type": "string" + }, + "name": { + "description": "The name of the package.", + "type": "string" + } + }, + "id": "Package" + }, + "KeyRangeDataDiskAssignment": { + "description": "Data disk assignment information for a specific key-range of a sharded\ncomputation.\nCurrently we only support UTF-8 character splits to simplify encoding into\nJSON.", + "type": "object", + "properties": { + "end": { + "description": "The end (exclusive) of the key range.", + "type": "string" + }, + "dataDisk": { + "description": "The name of the data disk where data for this range is stored.\nThis name is local to the Google Cloud Platform project and uniquely\nidentifies the disk within that project, for example\n\"myproject-1014-104817-4c2-harness-0-disk-1\".", + "type": "string" + }, + "start": { + "description": "The start (inclusive) of the key range.", + "type": "string" + } + }, + "id": "KeyRangeDataDiskAssignment" + }, + "ParDoInstruction": { + "description": "An instruction that does a ParDo operation.\nTakes one main input and zero or more side inputs, and produces\nzero or more outputs.\nRuns user code.", + "type": "object", + "properties": { + "multiOutputInfos": { + "description": "Information about each of the outputs, if user_fn is a MultiDoFn.", + "items": { + "$ref": "MultiOutputInfo" + }, + "type": "array" + }, + "userFn": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The user function to invoke.", + "type": "object" + }, + "input": { + "description": "The input.", + "$ref": "InstructionInput" + }, + "numOutputs": { + "format": "int32", + "description": "The number of outputs.", + "type": "integer" + }, + "sideInputs": { + "description": "Zero or more side inputs.", + "items": { + "$ref": "SideInputInfo" + }, + "type": "array" + } + }, + "id": "ParDoInstruction" + }, + "CounterStructuredName": { + "description": "Identifies a counter within a per-job namespace. Counters whose structured\nnames are the same get merged into a single value for the job.", + "type": "object", + "properties": { + "portion": { + "enumDescriptions": [ + "Counter portion has not been set.", + "Counter reports a key.", + "Counter reports a value." + ], + "enum": [ + "ALL", + "KEY", + "VALUE" + ], + "description": "Portion of this counter, either key or value.", + "type": "string" + }, + "originalShuffleStepName": { + "description": "The GroupByKey step name from the original graph.", + "type": "string" + }, + "originalStepName": { + "description": "System generated name of the original step in the user's graph, before\noptimization.", + "type": "string" + }, + "workerId": { + "description": "ID of a particular worker.", + "type": "string" + }, + "originNamespace": { + "description": "A string containing a more specific namespace of the counter's origin.", + "type": "string" + }, + "sideInput": { + "$ref": "SideInputId", + "description": "ID of a side input being read from/written to. Side inputs are identified\nby a pair of (reader, input_index). The reader is usually equal to the\noriginal name, but it may be different, if a ParDo emits it's Iterator /\nMap side input object." + }, + "name": { + "description": "Counter name. Not necessarily globally-unique, but unique within the\ncontext of the other fields.\nRequired.", + "type": "string" + }, + "origin": { + "description": "One of the standard Origins defined above.", + "type": "string", + "enumDescriptions": [ + "Counter was created by the Dataflow system.", + "Counter was created by the user." + ], + "enum": [ + "SYSTEM", + "USER" + ] + }, + "executionStepName": { + "description": "Name of the stage. An execution step contains multiple component steps.", + "type": "string" + }, + "componentStepName": { + "description": "Name of the optimized step being executed by the workers.", + "type": "string" + } + }, + "id": "CounterStructuredName" + }, + "WorkerShutdownNotice": { + "description": "Shutdown notification from workers. This is to be sent by the shutdown\nscript of the worker VM so that the backend knows that the VM is being\nshut down.", + "type": "object", + "properties": { + "reason": { + "description": "The reason for the worker shutdown.\nCurrent possible values are:\n \"UNKNOWN\": shutdown reason is unknown.\n \"PREEMPTION\": shutdown reason is preemption.\nOther possible reasons may be added in the future.\nNote that this must match the names of the enum specified in\ngoogle3/cloud/dataflow/router/protos/cloud_worker_messages_service.proto.", + "type": "string" + } + }, + "id": "WorkerShutdownNotice" + }, + "MetricUpdate": { + "description": "Describes the state of a metric.", + "type": "object", + "properties": { + "kind": { + "description": "Metric aggregation kind. The possible metric aggregation kinds are\n\"Sum\", \"Max\", \"Min\", \"Mean\", \"Set\", \"And\", \"Or\", and \"Distribution\".\nThe specified aggregation kind is case-insensitive.\n\nIf omitted, this is not an aggregated value but instead\na single metric sample value.", + "type": "string" + }, + "scalar": { + "description": "Worker-computed aggregate value for aggregation kinds \"Sum\", \"Max\", \"Min\",\n\"And\", and \"Or\". The possible value types are Long, Double, and Boolean.", + "type": "any" + }, + "meanCount": { + "description": "Worker-computed aggregate value for the \"Mean\" aggregation kind.\nThis holds the count of the aggregated values and is used in combination\nwith mean_sum above to obtain the actual mean aggregate value.\nThe only possible value type is Long.", + "type": "any" + }, + "meanSum": { + "description": "Worker-computed aggregate value for the \"Mean\" aggregation kind.\nThis holds the sum of the aggregated values and is used in combination\nwith mean_count below to obtain the actual mean aggregate value.\nThe only possible value types are Long and Double.", + "type": "any" + }, + "updateTime": { + "format": "google-datetime", + "description": "Timestamp associated with the metric value. Optional when workers are\nreporting work progress; it will be filled in responses from the\nmetrics API.", + "type": "string" + }, + "name": { + "$ref": "MetricStructuredName", + "description": "Name of the metric." + }, + "distribution": { + "description": "A struct value describing properties of a distribution of numeric values.", + "type": "any" + }, + "set": { + "description": "Worker-computed aggregate value for the \"Set\" aggregation kind. The only\npossible value type is a list of Values whose type can be Long, Double,\nor String, according to the metric's type. All Values in the list must\nbe of the same type.", + "type": "any" + }, + "internal": { + "description": "Worker-computed aggregate value for internal use by the Dataflow\nservice.", + "type": "any" + }, + "cumulative": { + "description": "True if this metric is reported as the total cumulative aggregate\nvalue accumulated since the worker started working on this WorkItem.\nBy default this is false, indicating that this metric is reported\nas a delta that is not associated with any WorkItem.", + "type": "boolean" + } + }, + "id": "MetricUpdate" + }, + "ApproximateProgress": { + "description": "Obsolete in favor of ApproximateReportedProgress and ApproximateSplitRequest.", + "type": "object", + "properties": { + "percentComplete": { + "format": "float", + "description": "Obsolete.", + "type": "number" + }, + "remainingTime": { + "format": "google-duration", + "description": "Obsolete.", + "type": "string" + }, + "position": { + "$ref": "Position", + "description": "Obsolete." + } + }, + "id": "ApproximateProgress" + }, + "WorkerMessageResponse": { + "description": "A worker_message response allows the server to pass information to the\nsender.", + "type": "object", + "properties": { + "workerShutdownNoticeResponse": { + "$ref": "WorkerShutdownNoticeResponse", + "description": "Service's response to shutdown notice (currently empty)." + }, + "workerMetricsResponse": { + "$ref": "ResourceUtilizationReportResponse", + "description": "Service's response to reporting worker metrics (currently empty)." + }, + "workerHealthReportResponse": { + "$ref": "WorkerHealthReportResponse", + "description": "The service's response to a worker's health report." + } + }, + "id": "WorkerMessageResponse" + }, + "TemplateMetadata": { + "description": "Metadata describing a template.", + "type": "object", + "properties": { + "parameters": { + "description": "The parameters for the template.", + "items": { + "$ref": "ParameterMetadata" + }, + "type": "array" + }, + "name": { + "description": "Required. The name of the template.", + "type": "string" + }, + "description": { + "description": "Optional. A description of the template.", + "type": "string" + } + }, + "id": "TemplateMetadata" + }, + "WorkerMessage": { + "description": "WorkerMessage provides information to the backend about a worker.", + "type": "object", + "properties": { "workerHealthReport": { "description": "The health of a worker.", "$ref": "WorkerHealthReport" }, - "workerMetrics": { - "$ref": "ResourceUtilizationReport", - "description": "Resource metrics reported by workers." - }, "workerMessageCode": { - "$ref": "WorkerMessageCode", - "description": "A worker message code." + "description": "A worker message code.", + "$ref": "WorkerMessageCode" + }, + "workerMetrics": { + "description": "Resource metrics reported by workers.", + "$ref": "ResourceUtilizationReport" }, "labels": { "additionalProperties": { @@ -1489,19 +3744,29 @@ }, "description": "Labels are used to group WorkerMessages.\nFor example, a worker_message about a particular container\nmight have the labels:\n{ \"JOB_ID\": \"2015-04-22\",\n \"WORKER_ID\": \"wordcount-vm-2015…\"\n \"CONTAINER_TYPE\": \"worker\",\n \"CONTAINER_ID\": \"ac1234def\"}\nLabel tags typically correspond to Label enum values. However, for ease\nof development other strings can be used as tags. LABEL_UNSPECIFIED should\nnot be used here.", "type": "object" + }, + "time": { + "format": "google-datetime", + "description": "The timestamp of the worker_message.", + "type": "string" + }, + "workerShutdownNotice": { + "$ref": "WorkerShutdownNotice", + "description": "Shutdown notice by workers." } }, "id": "WorkerMessage" }, "JobMetrics": { + "description": "JobMetrics contains a collection of metrics descibing the detailed progress\nof a Dataflow job. Metrics correspond to user-defined and system-defined\nmetrics in the job.\n\nThis resource captures only the most recent values of each metric;\ntime-series data can be queried for them (under the same metric names)\nfrom Cloud Monitoring.", "type": "object", "properties": { "metrics": { + "description": "All metrics for this job.", "items": { "$ref": "MetricUpdate" }, - "type": "array", - "description": "All metrics for this job." + "type": "array" }, "metricTime": { "format": "google-datetime", @@ -1509,11 +3774,15 @@ "type": "string" } }, - "id": "JobMetrics", - "description": "JobMetrics contains a collection of metrics descibing the detailed progress\nof a Dataflow job. Metrics correspond to user-defined and system-defined\nmetrics in the job.\n\nThis resource captures only the most recent values of each metric;\ntime-series data can be queried for them (under the same metric names)\nfrom Cloud Monitoring." + "id": "JobMetrics" + }, + "WorkerShutdownNoticeResponse": { + "description": "Service-side response to WorkerMessage issuing shutdown notice.", + "type": "object", + "properties": {}, + "id": "WorkerShutdownNoticeResponse" }, "FloatingPointList": { - "id": "FloatingPointList", "description": "A metric value representing a list of floating point numbers.", "type": "object", "properties": { @@ -1525,10 +3794,38 @@ }, "type": "array" } - } + }, + "id": "FloatingPointList" }, "CounterUpdate": { + "description": "An update to a Counter sent from a worker.", + "type": "object", "properties": { + "floatingPointMean": { + "description": "Floating point mean aggregation value for Mean.", + "$ref": "FloatingPointMean" + }, + "boolean": { + "description": "Boolean value for And, Or.", + "type": "boolean" + }, + "nameAndKind": { + "$ref": "NameAndKind", + "description": "Counter name and aggregation type." + }, + "stringList": { + "description": "List of strings, for Set.", + "$ref": "StringList" + }, + "distribution": { + "description": "Distribution data", + "$ref": "DistributionUpdate" + }, + "shortId": { + "format": "int64", + "description": "The service-generated short identifier for this counter.\nThe short_id -\u003e (name, metadata) mapping is constant for the lifetime of\na job.", + "type": "string" + }, "floatingPointList": { "description": "List of floating point numbers, for Set.", "$ref": "FloatingPointList" @@ -1546,60 +3843,33 @@ "description": "List of integers, for Set." }, "integerMean": { - "$ref": "IntegerMean", - "description": "Integer mean aggregation value for Mean." + "description": "Integer mean aggregation value for Mean.", + "$ref": "IntegerMean" }, "floatingPoint": { "format": "double", "description": "Floating point value for Sum, Max, Min.", "type": "number" }, - "internal": { - "description": "Value for internally-defined counters used by the Dataflow service.", - "type": "any" - }, "cumulative": { "description": "True if this counter is reported as the total cumulative aggregate\nvalue accumulated since the worker started working on this WorkItem.\nBy default this is false, indicating that this counter is reported\nas a delta.", "type": "boolean" }, - "floatingPointMean": { - "description": "Floating point mean aggregation value for Mean.", - "$ref": "FloatingPointMean" - }, - "boolean": { - "type": "boolean", - "description": "Boolean value for And, Or." - }, - "nameAndKind": { - "$ref": "NameAndKind", - "description": "Counter name and aggregation type." - }, - "distribution": { - "$ref": "DistributionUpdate", - "description": "Distribution data" - }, - "stringList": { - "description": "List of strings, for Set.", - "$ref": "StringList" - }, - "shortId": { - "format": "int64", - "description": "The service-generated short identifier for this counter.\nThe short_id -\u003e (name, metadata) mapping is constant for the lifetime of\na job.", - "type": "string" + "internal": { + "description": "Value for internally-defined counters used by the Dataflow service.", + "type": "any" } }, - "id": "CounterUpdate", - "description": "An update to a Counter sent from a worker.", - "type": "object" + "id": "CounterUpdate" }, "SourceMetadata": { "description": "Metadata about a Source useful for automatically optimizing\nand tuning the pipeline, etc.", "type": "object", "properties": { "estimatedSizeBytes": { - "type": "string", "format": "int64", - "description": "An estimate of the total size (in bytes) of the data that would be\nread from this source. This estimate is in terms of external storage\nsize, before any decompression or other processing done by the reader." + "description": "An estimate of the total size (in bytes) of the data that would be\nread from this source. This estimate is in terms of external storage\nsize, before any decompression or other processing done by the reader.", + "type": "string" }, "infinite": { "description": "Specifies that the size of this source is known to be infinite\n(this is a streaming source).", @@ -1616,20 +3886,13 @@ "description": "A metric value representing a distribution.", "type": "object", "properties": { - "logBuckets": { - "description": "(Optional) Logarithmic histogram of values.\nEach log may be in no more than one bucket. Order does not matter.", - "items": { - "$ref": "LogBucket" - }, - "type": "array" - }, "count": { "$ref": "SplitInt64", "description": "The count of the number of elements present in the distribution." }, "min": { - "$ref": "SplitInt64", - "description": "The minimum value present in the distribution." + "description": "The minimum value present in the distribution.", + "$ref": "SplitInt64" }, "sumOfSquares": { "format": "double", @@ -1637,38 +3900,42 @@ "type": "number" }, "sum": { - "description": "Use an int64 since we'd prefer the added precision. If overflow is a common\nproblem we can detect it and use an additional int64 or a double.", - "$ref": "SplitInt64" + "$ref": "SplitInt64", + "description": "Use an int64 since we'd prefer the added precision. If overflow is a common\nproblem we can detect it and use an additional int64 or a double." }, "max": { - "$ref": "SplitInt64", - "description": "The maximum value present in the distribution." + "description": "The maximum value present in the distribution.", + "$ref": "SplitInt64" + }, + "histogram": { + "description": "(Optional) Histogram of value counts for the distribution.", + "$ref": "Histogram" } }, "id": "DistributionUpdate" }, "SourceFork": { + "description": "DEPRECATED in favor of DynamicSourceSplit.", "type": "object", "properties": { - "primary": { + "residual": { "description": "DEPRECATED", "$ref": "SourceSplitShard" }, + "residualSource": { + "$ref": "DerivedSource", + "description": "DEPRECATED" + }, + "primary": { + "$ref": "SourceSplitShard", + "description": "DEPRECATED" + }, "primarySource": { "$ref": "DerivedSource", "description": "DEPRECATED" - }, - "residual": { - "$ref": "SourceSplitShard", - "description": "DEPRECATED" - }, - "residualSource": { - "description": "DEPRECATED", - "$ref": "DerivedSource" } }, - "id": "SourceFork", - "description": "DEPRECATED in favor of DynamicSourceSplit." + "id": "SourceFork" }, "WorkerHealthReportResponse": { "description": "WorkerHealthReportResponse contains information returned to the worker\nin response to a health ping.", @@ -1686,20 +3953,6 @@ "description": "Conveys a worker's progress through the work described by a WorkItem.", "type": "object", "properties": { - "requestedLeaseDuration": { - "format": "google-duration", - "description": "Amount of time the worker requests for its lease.", - "type": "string" - }, - "reportIndex": { - "format": "int64", - "description": "The report index. When a WorkItem is leased, the lease will\ncontain an initial report index. When a WorkItem's status is\nreported to the system, the report should be sent with\nthat report index, and the response will contain the index the\nworker should use for the next report. Reports received with\nunexpected index values will be rejected by the service.\n\nIn order to preserve idempotency, the worker should not alter the\ncontents of a report, even if the worker must submit the same\nreport multiple times before getting back a response. The worker\nshould not submit a subsequent report until the response for the\nprevious report had been received from the service.", - "type": "string" - }, - "stopPosition": { - "$ref": "Position", - "description": "A worker may split an active map task in two parts, \"primary\" and\n\"residual\", continuing to process the primary part and returning the\nresidual part into the pool of available work.\nThis event is called a \"dynamic split\" and is critical to the dynamic\nwork rebalancing feature. The two obtained sub-tasks are called\n\"parts\" of the split.\nThe parts, if concatenated, must represent the same input as would\nbe read by the current task if the split did not happen.\nThe exact way in which the original task is decomposed into the two\nparts is specified either as a position demarcating them\n(stop_position), or explicitly as two DerivedSources, if this\ntask consumes a user-defined source type (dynamic_source_split).\n\nThe \"current\" task is adjusted as a result of the split: after a task\nwith range [A, B) sends a stop_position update at C, its range is\nconsidered to be [A, C), e.g.:\n* Progress should be interpreted relative to the new range, e.g.\n \"75% completed\" means \"75% of [A, C) completed\"\n* The worker should interpret proposed_stop_position relative to the\n new range, e.g. \"split at 68%\" should be interpreted as\n \"split at 68% of [A, C)\".\n* If the worker chooses to split again using stop_position, only\n stop_positions in [A, C) will be accepted.\n* Etc.\ndynamic_source_split has similar semantics: e.g., if a task with\nsource S splits using dynamic_source_split into {P, R}\n(where P and R must be together equivalent to S), then subsequent\nprogress and proposed_stop_position should be interpreted relative\nto P, and in a potential subsequent dynamic_source_split into {P', R'},\nP' and R' must be together equivalent to P, etc." - }, "completed": { "description": "True if the WorkItem was completed (successfully or unsuccessfully).", "type": "boolean" @@ -1712,6 +3965,11 @@ "$ref": "SourceFork", "description": "DEPRECATED in favor of dynamic_source_split." }, + "totalThrottlerWaitTimeSeconds": { + "format": "double", + "description": "Total time the worker spent being throttled by external systems.", + "type": "number" + }, "counterUpdates": { "description": "Worker output counters for this WorkItem.", "items": { @@ -1738,16 +3996,30 @@ "type": "array" }, "dynamicSourceSplit": { - "$ref": "DynamicSourceSplit", - "description": "See documentation of stop_position." + "description": "See documentation of stop_position.", + "$ref": "DynamicSourceSplit" }, "sourceOperationResponse": { "description": "If the work item represented a SourceOperationRequest, and the work\nis completed, contains the result of the operation.", "$ref": "SourceOperationResponse" }, "progress": { - "$ref": "ApproximateProgress", - "description": "DEPRECATED in favor of reported_progress." + "description": "DEPRECATED in favor of reported_progress.", + "$ref": "ApproximateProgress" + }, + "requestedLeaseDuration": { + "format": "google-duration", + "description": "Amount of time the worker requests for its lease.", + "type": "string" + }, + "reportIndex": { + "format": "int64", + "description": "The report index. When a WorkItem is leased, the lease will\ncontain an initial report index. When a WorkItem's status is\nreported to the system, the report should be sent with\nthat report index, and the response will contain the index the\nworker should use for the next report. Reports received with\nunexpected index values will be rejected by the service.\n\nIn order to preserve idempotency, the worker should not alter the\ncontents of a report, even if the worker must submit the same\nreport multiple times before getting back a response. The worker\nshould not submit a subsequent report until the response for the\nprevious report had been received from the service.", + "type": "string" + }, + "stopPosition": { + "description": "A worker may split an active map task in two parts, \"primary\" and\n\"residual\", continuing to process the primary part and returning the\nresidual part into the pool of available work.\nThis event is called a \"dynamic split\" and is critical to the dynamic\nwork rebalancing feature. The two obtained sub-tasks are called\n\"parts\" of the split.\nThe parts, if concatenated, must represent the same input as would\nbe read by the current task if the split did not happen.\nThe exact way in which the original task is decomposed into the two\nparts is specified either as a position demarcating them\n(stop_position), or explicitly as two DerivedSources, if this\ntask consumes a user-defined source type (dynamic_source_split).\n\nThe \"current\" task is adjusted as a result of the split: after a task\nwith range [A, B) sends a stop_position update at C, its range is\nconsidered to be [A, C), e.g.:\n* Progress should be interpreted relative to the new range, e.g.\n \"75% completed\" means \"75% of [A, C) completed\"\n* The worker should interpret proposed_stop_position relative to the\n new range, e.g. \"split at 68%\" should be interpreted as\n \"split at 68% of [A, C)\".\n* If the worker chooses to split again using stop_position, only\n stop_positions in [A, C) will be accepted.\n* Etc.\ndynamic_source_split has similar semantics: e.g., if a task with\nsource S splits using dynamic_source_split into {P, R}\n(where P and R must be together equivalent to S), then subsequent\nprogress and proposed_stop_position should be interpreted relative\nto P, and in a potential subsequent dynamic_source_split into {P', R'},\nP' and R' must be together equivalent to P, etc.", + "$ref": "Position" } }, "id": "WorkItemStatus" @@ -1756,43 +4028,61 @@ "description": "Description of an interstitial value between transforms in an execution\nstage.", "type": "object", "properties": { + "userName": { + "description": "Human-readable name for this transform; may be user or system generated.", + "type": "string" + }, "originalTransformOrCollection": { - "type": "string", - "description": "User name for the original user transform or collection with which this\nsource is most closely associated." + "description": "User name for the original user transform or collection with which this\nsource is most closely associated.", + "type": "string" }, "name": { "description": "Dataflow service generated name for this source.", "type": "string" - }, - "userName": { - "type": "string", - "description": "Human-readable name for this transform; may be user or system generated." } }, "id": "ComponentSource" }, - "WorkItemServiceState": { + "Histogram": { + "description": "Histogram of value counts for a distribution.\n\nBuckets have an inclusive lower bound and exclusive upper bound and use\n\"1,2,5 bucketing\": The first bucket range is from [0,1) and all subsequent\nbucket boundaries are powers of ten multiplied by 1, 2, or 5. Thus, bucket\nboundaries are 0, 1, 2, 5, 10, 20, 50, 100, 200, 500, 1000, ...\nNegative values are not supported.", + "type": "object", "properties": { - "splitRequest": { - "$ref": "ApproximateSplitRequest", - "description": "The progress point in the WorkItem where the Dataflow service\nsuggests that the worker truncate the task." + "firstBucketOffset": { + "format": "int32", + "description": "Starting index of first stored bucket. The non-inclusive upper-bound of\nthe ith bucket is given by:\n pow(10,(i-first_bucket_offset)/3) * (1,2,5)[(i-first_bucket_offset)%3]", + "type": "integer" + }, + "bucketCounts": { + "description": "Counts of values in each bucket. For efficiency, prefix and trailing\nbuckets with count = 0 are elided. Buckets can store the full range of\nvalues of an unsigned long, with ULLONG_MAX falling into the 59th bucket\nwith range [1e19, 2e19).", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "id": "Histogram" + }, + "WorkItemServiceState": { + "description": "The Dataflow service's idea of the current state of a WorkItem\nbeing processed by a worker.", + "type": "object", + "properties": { + "suggestedStopPosition": { + "description": "Obsolete, always empty.", + "$ref": "Position" }, "reportStatusInterval": { "format": "google-duration", "description": "New recommended reporting interval.", "type": "string" }, - "suggestedStopPosition": { - "$ref": "Position", - "description": "Obsolete, always empty." - }, "harnessData": { + "description": "Other data returned by the service, specific to the particular\nworker harness.", + "type": "object", "additionalProperties": { "description": "Properties of the object.", "type": "any" - }, - "description": "Other data returned by the service, specific to the particular\nworker harness.", - "type": "object" + } }, "leaseExpireTime": { "format": "google-datetime", @@ -1812,13 +4102,15 @@ "type": "string" }, "suggestedStopPoint": { - "$ref": "ApproximateProgress", - "description": "DEPRECATED in favor of split_request." + "description": "DEPRECATED in favor of split_request.", + "$ref": "ApproximateProgress" + }, + "splitRequest": { + "description": "The progress point in the WorkItem where the Dataflow service\nsuggests that the worker truncate the task.", + "$ref": "ApproximateSplitRequest" } }, - "id": "WorkItemServiceState", - "description": "The Dataflow service's idea of the current state of a WorkItem\nbeing processed by a worker.", - "type": "object" + "id": "WorkItemServiceState" }, "MetricStructuredName": { "description": "Identifies a metric, by describing the source which generated the\nmetric.", @@ -1843,37 +4135,46 @@ "id": "MetricStructuredName" }, "SeqMapTaskOutputInfo": { - "id": "SeqMapTaskOutputInfo", "description": "Information about an output of a SeqMapTask.", "type": "object", "properties": { - "sink": { - "$ref": "Sink", - "description": "The sink to write the output value to." - }, "tag": { "description": "The id of the TupleTag the user code will tag the output value by.", "type": "string" + }, + "sink": { + "description": "The sink to write the output value to.", + "$ref": "Sink" } - } + }, + "id": "SeqMapTaskOutputInfo" }, "JobExecutionStageInfo": { + "description": "Contains information about how a particular\ngoogle.dataflow.v1beta3.Step will be executed.", + "type": "object", "properties": { "stepName": { + "description": "The steps associated with the execution stage.\nNote that stages may have several steps, and that a given step\nmight be run by more than one stage.", "items": { "type": "string" }, - "type": "array", - "description": "The steps associated with the execution stage.\nNote that stages may have several steps, and that a given step\nmight be run by more than one stage." + "type": "array" } }, - "id": "JobExecutionStageInfo", - "description": "Contains information about how a particular\ngoogle.dataflow.v1beta3.Step will be executed.", - "type": "object" + "id": "JobExecutionStageInfo" }, "KeyRangeLocation": { + "description": "Location information for a specific key-range of a sharded computation.\nCurrently we only support UTF-8 character splits to simplify encoding into\nJSON.", "type": "object", "properties": { + "end": { + "description": "The end (exclusive) of the key range.", + "type": "string" + }, + "deprecatedPersistentDirectory": { + "description": "DEPRECATED. The location of the persistent state for this range, as a\npersistent directory in the worker local filesystem.", + "type": "string" + }, "deliveryEndpoint": { "description": "The physical location of this range assignment to be used for\nstreaming computation cross-worker message delivery.", "type": "string" @@ -1885,45 +4186,62 @@ "start": { "description": "The start (inclusive) of the key range.", "type": "string" - }, - "end": { - "description": "The end (exclusive) of the key range.", - "type": "string" - }, - "deprecatedPersistentDirectory": { - "description": "DEPRECATED. The location of the persistent state for this range, as a\npersistent directory in the worker local filesystem.", - "type": "string" } }, - "id": "KeyRangeLocation", - "description": "Location information for a specific key-range of a sharded computation.\nCurrently we only support UTF-8 character splits to simplify encoding into\nJSON." + "id": "KeyRangeLocation" }, "SourceGetMetadataRequest": { + "description": "A request to compute the SourceMetadata of a Source.", + "type": "object", "properties": { "source": { "description": "Specification of the source whose metadata should be computed.", "$ref": "Source" } }, - "id": "SourceGetMetadataRequest", - "description": "A request to compute the SourceMetadata of a Source.", - "type": "object" + "id": "SourceGetMetadataRequest" + }, + "NameAndKind": { + "description": "Basic metadata about a counter.", + "type": "object", + "properties": { + "kind": { + "enumDescriptions": [ + "Counter aggregation kind was not set.", + "Aggregated value is the sum of all contributed values.", + "Aggregated value is the max of all contributed values.", + "Aggregated value is the min of all contributed values.", + "Aggregated value is the mean of all contributed values.", + "Aggregated value represents the logical 'or' of all contributed values.", + "Aggregated value represents the logical 'and' of all contributed values.", + "Aggregated value is a set of unique contributed values.", + "Aggregated value captures statistics about a distribution." + ], + "enum": [ + "INVALID", + "SUM", + "MAX", + "MIN", + "MEAN", + "OR", + "AND", + "SET", + "DISTRIBUTION" + ], + "description": "Counter aggregation kind.", + "type": "string" + }, + "name": { + "description": "Name of the counter.", + "type": "string" + } + }, + "id": "NameAndKind" }, "SeqMapTask": { "description": "Describes a particular function to invoke.", "type": "object", "properties": { - "name": { - "description": "The user-provided name of the SeqDo operation.", - "type": "string" - }, - "outputInfos": { - "description": "Information about each of the outputs.", - "items": { - "$ref": "SeqMapTaskOutputInfo" - }, - "type": "array" - }, "inputs": { "description": "Information about each of the inputs.", "items": { @@ -1946,62 +4264,36 @@ }, "description": "The user function to invoke.", "type": "object" + }, + "name": { + "description": "The user-provided name of the SeqDo operation.", + "type": "string" + }, + "outputInfos": { + "description": "Information about each of the outputs.", + "items": { + "$ref": "SeqMapTaskOutputInfo" + }, + "type": "array" } }, "id": "SeqMapTask" }, - "NameAndKind": { - "description": "Basic metadata about a counter.", - "type": "object", - "properties": { - "name": { - "description": "Name of the counter.", - "type": "string" - }, - "kind": { - "enum": [ - "INVALID", - "SUM", - "MAX", - "MIN", - "MEAN", - "OR", - "AND", - "SET", - "DISTRIBUTION" - ], - "description": "Counter aggregation kind.", - "type": "string", - "enumDescriptions": [ - "Counter aggregation kind was not set.", - "Aggregated value is the sum of all contributed values.", - "Aggregated value is the max of all contributed values.", - "Aggregated value is the min of all contributed values.", - "Aggregated value is the mean of all contributed values.", - "Aggregated value represents the logical 'or' of all contributed values.", - "Aggregated value represents the logical 'and' of all contributed values.", - "Aggregated value is a set of unique contributed values.", - "Aggregated value captures statistics about a distribution." - ] - } - }, - "id": "NameAndKind" - }, "WorkerMessageCode": { "description": "A message code is used to report status and error messages to the service.\nThe message codes are intended to be machine readable. The service will\ntake care of translating these into user understandable messages if\nnecessary.\n\nExample use cases:\n 1. Worker processes reporting successful startup.\n 2. Worker processes reporting specific errors (e.g. package staging\n failure).", "type": "object", "properties": { + "parameters": { + "description": "Parameters contains specific information about the code.\n\nThis is a struct to allow parameters of different types.\n\nExamples:\n 1. For a \"HARNESS_STARTED\" message parameters might provide the name\n of the worker and additional data like timing information.\n 2. For a \"GCS_DOWNLOAD_ERROR\" parameters might contain fields listing\n the GCS objects being downloaded and fields containing errors.\n\nIn general complex data structures should be avoided. If a worker\nneeds to send a specific and complicated data structure then please\nconsider defining a new proto and adding it to the data oneof in\nWorkerMessageResponse.\n\nConventions:\n Parameters should only be used for information that isn't typically passed\n as a label.\n hostname and other worker identifiers should almost always be passed\n as labels since they will be included on most messages.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + } + }, "code": { "description": "The code is a string intended for consumption by a machine that identifies\nthe type of message being sent.\nExamples:\n 1. \"HARNESS_STARTED\" might be used to indicate the worker harness has\n started.\n 2. \"GCS_DOWNLOAD_ERROR\" might be used to indicate an error downloading\n a GCS file as part of the boot process of one of the worker containers.\n\nThis is a string and not an enum to make it easy to add new codes without\nwaiting for an API change.", "type": "string" - }, - "parameters": { - "additionalProperties": { - "type": "any", - "description": "Properties of the object." - }, - "description": "Parameters contains specific information about the code.\n\nThis is a struct to allow parameters of different types.\n\nExamples:\n 1. For a \"HARNESS_STARTED\" message parameters might provide the name\n of the worker and additional data like timing information.\n 2. For a \"GCS_DOWNLOAD_ERROR\" parameters might contain fields listing\n the GCS objects being downloaded and fields containing errors.\n\nIn general complex data structures should be avoided. If a worker\nneeds to send a specific and complicated data structure then please\nconsider defining a new proto and adding it to the data oneof in\nWorkerMessageResponse.\n\nConventions:\n Parameters should only be used for information that isn't typically passed\n as a label.\n hostname and other worker identifiers should almost always be passed\n as labels since they will be included on most messages.", - "type": "object" } }, "id": "WorkerMessageCode" @@ -2022,8 +4314,8 @@ "type": "object", "properties": { "stageName": { - "type": "string", - "description": "System-defined name of the stage containing this MapTask.\nUnique across the workflow." + "description": "System-defined name of the stage containing this MapTask.\nUnique across the workflow.", + "type": "string" }, "systemName": { "description": "System-defined name of this MapTask.\nUnique across the workflow.", @@ -2040,6 +4332,8 @@ "id": "MapTask" }, "FloatingPointMean": { + "description": "A representation of a floating point mean metric contribution.", + "type": "object", "properties": { "sum": { "format": "double", @@ -2047,13 +4341,11 @@ "type": "number" }, "count": { - "description": "The number of values being aggregated.", - "$ref": "SplitInt64" + "$ref": "SplitInt64", + "description": "The number of values being aggregated." } }, - "id": "FloatingPointMean", - "description": "A representation of a floating point mean metric contribution.", - "type": "object" + "id": "FloatingPointMean" }, "ReportWorkItemStatusResponse": { "description": "Response from a request to report the status of WorkItems.", @@ -2073,6 +4365,10 @@ "description": "An output of an instruction.", "type": "object", "properties": { + "originalName": { + "description": "System-defined name for this output in the original workflow graph.\nOutputs that do not contribute to an original instruction do not set this.", + "type": "string" + }, "systemName": { "description": "System-defined name of this output.\nUnique across the workflow.", "type": "string" @@ -2094,25 +4390,16 @@ "type": "object" }, "name": { - "type": "string", - "description": "The user-provided name of this output." - }, - "originalName": { - "description": "System-defined name for this output in the original workflow graph.\nOutputs that do not contribute to an original instruction do not set this.", + "description": "The user-provided name of this output.", "type": "string" } }, "id": "InstructionOutput" }, "CreateJobFromTemplateRequest": { - "id": "CreateJobFromTemplateRequest", "description": "A request to create a Cloud Dataflow job from a template.", "type": "object", "properties": { - "gcsPath": { - "description": "Required. A Cloud Storage path to the template from which to\ncreate the job.\nMust be a valid Cloud Storage URL, beginning with `gs://`.", - "type": "string" - }, "environment": { "description": "The runtime environment for the job.", "$ref": "RuntimeEnvironment" @@ -2131,20 +4418,25 @@ "jobName": { "description": "Required. The job name to use for the created job.", "type": "string" + }, + "gcsPath": { + "description": "Required. A Cloud Storage path to the template from which to\ncreate the job.\nMust be a valid Cloud Storage URL, beginning with `gs://`.", + "type": "string" } - } + }, + "id": "CreateJobFromTemplateRequest" }, "IntegerMean": { "description": "A representation of an integer mean metric contribution.", "type": "object", "properties": { "count": { - "description": "The number of values being aggregated.", - "$ref": "SplitInt64" + "$ref": "SplitInt64", + "description": "The number of values being aggregated." }, "sum": { - "description": "The sum of all values being aggregated.", - "$ref": "SplitInt64" + "$ref": "SplitInt64", + "description": "The sum of all values being aggregated." } }, "id": "IntegerMean" @@ -2249,21 +4541,6 @@ }, "id": "RuntimeEnvironment" }, - "StreamingSideInputLocation": { - "description": "Identifies the location of a streaming side input.", - "type": "object", - "properties": { - "stateFamily": { - "type": "string", - "description": "Identifies the state family where this side input is stored." - }, - "tag": { - "description": "Identifies the particular side input within the streaming Dataflow job.", - "type": "string" - } - }, - "id": "StreamingSideInputLocation" - }, "MountedDataDisk": { "description": "Describes mounted data disk.", "type": "object", @@ -2275,13 +4552,28 @@ }, "id": "MountedDataDisk" }, + "StreamingSideInputLocation": { + "description": "Identifies the location of a streaming side input.", + "type": "object", + "properties": { + "tag": { + "description": "Identifies the particular side input within the streaming Dataflow job.", + "type": "string" + }, + "stateFamily": { + "description": "Identifies the state family where this side input is stored.", + "type": "string" + } + }, + "id": "StreamingSideInputLocation" + }, "LaunchTemplateResponse": { "description": "Response to the request to launch a template.", "type": "object", "properties": { "job": { - "$ref": "Job", - "description": "The job that was launched, if the request was not a dry run and\nthe job was successfully launched." + "description": "The job that was launched, if the request was not a dry run and\nthe job was successfully launched.", + "$ref": "Job" } }, "id": "LaunchTemplateResponse" @@ -2291,8 +4583,6 @@ "type": "object", "properties": { "derivationMode": { - "description": "What source to base the produced source on (if any).", - "type": "string", "enumDescriptions": [ "The source derivation is unknown, or unspecified.", "Produce a completely independent Source with no base.", @@ -2304,11 +4594,13 @@ "SOURCE_DERIVATION_MODE_INDEPENDENT", "SOURCE_DERIVATION_MODE_CHILD_OF_CURRENT", "SOURCE_DERIVATION_MODE_SIBLING_OF_CURRENT" - ] + ], + "description": "What source to base the produced source on (if any).", + "type": "string" }, "source": { - "$ref": "Source", - "description": "Specification of the source." + "description": "Specification of the source.", + "$ref": "Source" } }, "id": "DerivedSource" @@ -2318,8 +4610,8 @@ "type": "object", "properties": { "residual": { - "description": "Residual part (returned to the pool of work).\nSpecified relative to the previously-current source.", - "$ref": "DerivedSource" + "$ref": "DerivedSource", + "description": "Residual part (returned to the pool of work).\nSpecified relative to the previously-current source." }, "primary": { "description": "Primary part (continued to be processed by worker).\nSpecified relative to the previously-current source.\nBecomes current.", @@ -2332,63 +4624,29 @@ "description": "Defines a job to be run by the Cloud Dataflow service.", "type": "object", "properties": { - "currentState": { - "enumDescriptions": [ - "The job's run state isn't specified.", - "`JOB_STATE_STOPPED` indicates that the job has not\nyet started to run.", - "`JOB_STATE_RUNNING` indicates that the job is currently running.", - "`JOB_STATE_DONE` indicates that the job has successfully completed.\nThis is a terminal job state. This state may be set by the Cloud Dataflow\nservice, as a transition from `JOB_STATE_RUNNING`. It may also be set via a\nCloud Dataflow `UpdateJob` call, if the job has not yet reached a terminal\nstate.", - "`JOB_STATE_FAILED` indicates that the job has failed. This is a\nterminal job state. This state may only be set by the Cloud Dataflow\nservice, and only as a transition from `JOB_STATE_RUNNING`.", - "`JOB_STATE_CANCELLED` indicates that the job has been explicitly\ncancelled. This is a terminal job state. This state may only be\nset via a Cloud Dataflow `UpdateJob` call, and only if the job has not\nyet reached another terminal state.", - "`JOB_STATE_UPDATED` indicates that the job was successfully updated,\nmeaning that this job was stopped and another job was started, inheriting\nstate from this one. This is a terminal job state. This state may only be\nset by the Cloud Dataflow service, and only as a transition from\n`JOB_STATE_RUNNING`.", - "`JOB_STATE_DRAINING` indicates that the job is in the process of draining.\nA draining job has stopped pulling from its input sources and is processing\nany data that remains in-flight. This state may be set via a Cloud Dataflow\n`UpdateJob` call, but only as a transition from `JOB_STATE_RUNNING`. Jobs\nthat are draining may only transition to `JOB_STATE_DRAINED`,\n`JOB_STATE_CANCELLED`, or `JOB_STATE_FAILED`.", - "`JOB_STATE_DRAINED` indicates that the job has been drained.\nA drained job terminated by stopping pulling from its input sources and\nprocessing any data that remained in-flight when draining was requested.\nThis state is a terminal state, may only be set by the Cloud Dataflow\nservice, and only as a transition from `JOB_STATE_DRAINING`.", - "'JOB_STATE_PENDING' indicates that the job has been created but is not yet\nrunning. Jobs that are pending may only transition to `JOB_STATE_RUNNING`,\nor `JOB_STATE_FAILED`.", - "'JOB_STATE_CANCELLING' indicates that the job has been explicitly cancelled\nand is in the process of stopping. Jobs that are cancelling may only\ntransition to 'JOB_STATE_CANCELLED' or 'JOB_STATE_FAILED'." - ], - "enum": [ - "JOB_STATE_UNKNOWN", - "JOB_STATE_STOPPED", - "JOB_STATE_RUNNING", - "JOB_STATE_DONE", - "JOB_STATE_FAILED", - "JOB_STATE_CANCELLED", - "JOB_STATE_UPDATED", - "JOB_STATE_DRAINING", - "JOB_STATE_DRAINED", - "JOB_STATE_PENDING", - "JOB_STATE_CANCELLING" - ], - "description": "The current state of the job.\n\nJobs are created in the `JOB_STATE_STOPPED` state unless otherwise\nspecified.\n\nA job in the `JOB_STATE_RUNNING` state may asynchronously enter a\nterminal state. After a job has reached a terminal state, no\nfurther state updates may be made.\n\nThis field may be mutated by the Cloud Dataflow service;\ncallers cannot mutate it.", - "type": "string" - }, - "location": { - "description": "The location that contains this job.", - "type": "string" - }, "currentStateTime": { "format": "google-datetime", "description": "The timestamp associated with the current state.", "type": "string" }, "transformNameMapping": { + "description": "The map of transform name prefixes of the job to be replaced to the\ncorresponding name prefixes of the new job.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "labels": { "additionalProperties": { "type": "string" }, - "description": "The map of transform name prefixes of the job to be replaced to the\ncorresponding name prefixes of the new job.", + "description": "User-defined labels for this job.\n\nThe labels map can contain no more than 64 entries. Entries of the labels\nmap are UTF8 strings that comply with the following restrictions:\n\n* Keys must conform to regexp: \\p{Ll}\\p{Lo}{0,62}\n* Values must conform to regexp: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}\n* Both keys and values are additionally constrained to be \u003c= 128 bytes in\nsize.", "type": "object" }, "environment": { "description": "The environment for the job.", "$ref": "Environment" }, - "labels": { - "description": "User-defined labels for this job.\n\nThe labels map can contain no more than 64 entries. Entries of the labels\nmap are UTF8 strings that comply with the following restrictions:\n\n* Keys must conform to regexp: \\p{Ll}\\p{Lo}{0,62}\n* Values must conform to regexp: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}\n* Both keys and values are additionally constrained to be \u003c= 128 bytes in\nsize.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, "createTime": { "format": "google-datetime", "description": "The timestamp when the job was initially created. Immutable and set by the\nCloud Dataflow service.", @@ -2402,6 +4660,7 @@ "type": "array" }, "type": { + "description": "The type of Cloud Dataflow job.", "type": "string", "enumDescriptions": [ "The type of the job is unspecified, or unknown.", @@ -2412,22 +4671,34 @@ "JOB_TYPE_UNKNOWN", "JOB_TYPE_BATCH", "JOB_TYPE_STREAMING" - ], - "description": "The type of Cloud Dataflow job." + ] }, "projectId": { "description": "The ID of the Cloud Platform project that the job belongs to.", "type": "string" }, "pipelineDescription": { - "description": "Preliminary field: The format of this data may change at any time.\nA description of the user pipeline and stages through which it is executed.\nCreated by Cloud Dataflow service. Only retrieved with\nJOB_VIEW_DESCRIPTION or JOB_VIEW_ALL.", - "$ref": "PipelineDescription" + "$ref": "PipelineDescription", + "description": "Preliminary field: The format of this data may change at any time.\nA description of the user pipeline and stages through which it is executed.\nCreated by Cloud Dataflow service. Only retrieved with\nJOB_VIEW_DESCRIPTION or JOB_VIEW_ALL." }, "replaceJobId": { "description": "If this job is an update of an existing job, this field is the job ID\nof the job it replaced.\n\nWhen sending a `CreateJobRequest`, you can update a job by specifying it\nhere. The job named here is stopped, and its intermediate state is\ntransferred to this job.", "type": "string" }, "requestedState": { + "enumDescriptions": [ + "The job's run state isn't specified.", + "`JOB_STATE_STOPPED` indicates that the job has not\nyet started to run.", + "`JOB_STATE_RUNNING` indicates that the job is currently running.", + "`JOB_STATE_DONE` indicates that the job has successfully completed.\nThis is a terminal job state. This state may be set by the Cloud Dataflow\nservice, as a transition from `JOB_STATE_RUNNING`. It may also be set via a\nCloud Dataflow `UpdateJob` call, if the job has not yet reached a terminal\nstate.", + "`JOB_STATE_FAILED` indicates that the job has failed. This is a\nterminal job state. This state may only be set by the Cloud Dataflow\nservice, and only as a transition from `JOB_STATE_RUNNING`.", + "`JOB_STATE_CANCELLED` indicates that the job has been explicitly\ncancelled. This is a terminal job state. This state may only be\nset via a Cloud Dataflow `UpdateJob` call, and only if the job has not\nyet reached another terminal state.", + "`JOB_STATE_UPDATED` indicates that the job was successfully updated,\nmeaning that this job was stopped and another job was started, inheriting\nstate from this one. This is a terminal job state. This state may only be\nset by the Cloud Dataflow service, and only as a transition from\n`JOB_STATE_RUNNING`.", + "`JOB_STATE_DRAINING` indicates that the job is in the process of draining.\nA draining job has stopped pulling from its input sources and is processing\nany data that remains in-flight. This state may be set via a Cloud Dataflow\n`UpdateJob` call, but only as a transition from `JOB_STATE_RUNNING`. Jobs\nthat are draining may only transition to `JOB_STATE_DRAINED`,\n`JOB_STATE_CANCELLED`, or `JOB_STATE_FAILED`.", + "`JOB_STATE_DRAINED` indicates that the job has been drained.\nA drained job terminated by stopping pulling from its input sources and\nprocessing any data that remained in-flight when draining was requested.\nThis state is a terminal state, may only be set by the Cloud Dataflow\nservice, and only as a transition from `JOB_STATE_DRAINING`.", + "'JOB_STATE_PENDING' indicates that the job has been created but is not yet\nrunning. Jobs that are pending may only transition to `JOB_STATE_RUNNING`,\nor `JOB_STATE_FAILED`.", + "'JOB_STATE_CANCELLING' indicates that the job has been explicitly cancelled\nand is in the process of stopping. Jobs that are cancelling may only\ntransition to 'JOB_STATE_CANCELLED' or 'JOB_STATE_FAILED'." + ], "enum": [ "JOB_STATE_UNKNOWN", "JOB_STATE_STOPPED", @@ -2442,6 +4713,44 @@ "JOB_STATE_CANCELLING" ], "description": "The job's requested state.\n\n`UpdateJob` may be used to switch between the `JOB_STATE_STOPPED` and\n`JOB_STATE_RUNNING` states, by setting requested_state. `UpdateJob` may\nalso be used to directly set a job's requested state to\n`JOB_STATE_CANCELLED` or `JOB_STATE_DONE`, irrevocably terminating the\njob if it has not already reached a terminal state.", + "type": "string" + }, + "tempFiles": { + "description": "A set of files the system should be aware of that are used\nfor temporary storage. These temporary files will be\nremoved on job completion.\nNo duplicates are allowed.\nNo file patterns are supported.\n\nThe supported files are:\n\nGoogle Cloud Storage:\n\n storage.googleapis.com/{bucket}/{object}\n bucket.storage.googleapis.com/{object}", + "items": { + "type": "string" + }, + "type": "array" + }, + "clientRequestId": { + "description": "The client's unique identifier of the job, re-used across retried attempts.\nIf this field is set, the service will ensure its uniqueness.\nThe request to create a job will fail if the service has knowledge of a\npreviously submitted job with the same client's ID and job name.\nThe caller may use this field to ensure idempotence of job\ncreation across retried attempts to create a job.\nBy default, the field is empty and, in that case, the service ignores it.", + "type": "string" + }, + "name": { + "description": "The user-specified Cloud Dataflow job name.\n\nOnly one Job with a given name may exist in a project at any\ngiven time. If a caller attempts to create a Job with the same\nname as an already-existing Job, the attempt returns the\nexisting Job.\n\nThe name must match the regular expression\n`[a-z]([-a-z0-9]{0,38}[a-z0-9])?`", + "type": "string" + }, + "replacedByJobId": { + "description": "If another job is an update of this job (and thus, this job is in\n`JOB_STATE_UPDATED`), this field contains the ID of that job.", + "type": "string" + }, + "steps": { + "description": "The top-level steps that constitute the entire job.", + "items": { + "$ref": "Step" + }, + "type": "array" + }, + "id": { + "description": "The unique ID of this job.\n\nThis field is set by the Cloud Dataflow service when the Job is\ncreated, and is immutable for the life of the job.", + "type": "string" + }, + "executionInfo": { + "$ref": "JobExecutionInfo", + "description": "Deprecated." + }, + "currentState": { + "description": "The current state of the job.\n\nJobs are created in the `JOB_STATE_STOPPED` state unless otherwise\nspecified.\n\nA job in the `JOB_STATE_RUNNING` state may asynchronously enter a\nterminal state. After a job has reached a terminal state, no\nfurther state updates may be made.\n\nThis field may be mutated by the Cloud Dataflow service;\ncallers cannot mutate it.", "type": "string", "enumDescriptions": [ "The job's run state isn't specified.", @@ -2455,73 +4764,80 @@ "`JOB_STATE_DRAINED` indicates that the job has been drained.\nA drained job terminated by stopping pulling from its input sources and\nprocessing any data that remained in-flight when draining was requested.\nThis state is a terminal state, may only be set by the Cloud Dataflow\nservice, and only as a transition from `JOB_STATE_DRAINING`.", "'JOB_STATE_PENDING' indicates that the job has been created but is not yet\nrunning. Jobs that are pending may only transition to `JOB_STATE_RUNNING`,\nor `JOB_STATE_FAILED`.", "'JOB_STATE_CANCELLING' indicates that the job has been explicitly cancelled\nand is in the process of stopping. Jobs that are cancelling may only\ntransition to 'JOB_STATE_CANCELLED' or 'JOB_STATE_FAILED'." + ], + "enum": [ + "JOB_STATE_UNKNOWN", + "JOB_STATE_STOPPED", + "JOB_STATE_RUNNING", + "JOB_STATE_DONE", + "JOB_STATE_FAILED", + "JOB_STATE_CANCELLED", + "JOB_STATE_UPDATED", + "JOB_STATE_DRAINING", + "JOB_STATE_DRAINED", + "JOB_STATE_PENDING", + "JOB_STATE_CANCELLING" ] }, - "tempFiles": { - "items": { - "type": "string" - }, - "type": "array", - "description": "A set of files the system should be aware of that are used\nfor temporary storage. These temporary files will be\nremoved on job completion.\nNo duplicates are allowed.\nNo file patterns are supported.\n\nThe supported files are:\n\nGoogle Cloud Storage:\n\n storage.googleapis.com/{bucket}/{object}\n bucket.storage.googleapis.com/{object}" - }, - "clientRequestId": { - "type": "string", - "description": "The client's unique identifier of the job, re-used across retried attempts.\nIf this field is set, the service will ensure its uniqueness.\nThe request to create a job will fail if the service has knowledge of a\npreviously submitted job with the same client's ID and job name.\nThe caller may use this field to ensure idempotence of job\ncreation across retried attempts to create a job.\nBy default, the field is empty and, in that case, the service ignores it." - }, - "name": { - "description": "The user-specified Cloud Dataflow job name.\n\nOnly one Job with a given name may exist in a project at any\ngiven time. If a caller attempts to create a Job with the same\nname as an already-existing Job, the attempt returns the\nexisting Job.\n\nThe name must match the regular expression\n`[a-z]([-a-z0-9]{0,38}[a-z0-9])?`", - "type": "string" - }, - "steps": { - "items": { - "$ref": "Step" - }, - "type": "array", - "description": "The top-level steps that constitute the entire job." - }, - "replacedByJobId": { - "description": "If another job is an update of this job (and thus, this job is in\n`JOB_STATE_UPDATED`), this field contains the ID of that job.", - "type": "string" - }, - "executionInfo": { - "description": "Deprecated.", - "$ref": "JobExecutionInfo" - }, - "id": { - "description": "The unique ID of this job.\n\nThis field is set by the Cloud Dataflow service when the Job is\ncreated, and is immutable for the life of the job.", + "location": { + "description": "The location that contains this job.", "type": "string" } }, "id": "Job" }, + "SideInputId": { + "description": "Uniquely identifies a side input.", + "type": "object", + "properties": { + "inputIndex": { + "format": "int32", + "description": "The index of the side input, from the list of non_parallel_inputs.", + "type": "integer" + }, + "declaringStepName": { + "description": "The step that receives and usually consumes this side input.", + "type": "string" + } + }, + "id": "SideInputId" + }, "SourceOperationResponse": { "description": "The result of a SourceOperationRequest, specified in\nReportWorkItemStatusRequest.source_operation when the work item\nis completed.", "type": "object", "properties": { + "split": { + "description": "A response to a request to split a source.", + "$ref": "SourceSplitResponse" + }, "getMetadata": { "$ref": "SourceGetMetadataResponse", "description": "A response to a request to get metadata about a source." - }, - "split": { - "$ref": "SourceSplitResponse", - "description": "A response to a request to split a source." } }, "id": "SourceOperationResponse" }, + "SendDebugCaptureResponse": { + "description": "Response to a send capture request.\nnothing", + "type": "object", + "properties": {}, + "id": "SendDebugCaptureResponse" + }, "SideInputInfo": { + "description": "Information about a side input of a DoFn or an input of a SeqDoFn.", + "type": "object", "properties": { "tag": { "description": "The id of the tag the user code will access this side input by;\nthis should correspond to the tag of some MultiOutputInfo.", "type": "string" }, "kind": { - "description": "How to interpret the source element(s) as a side input value.", - "type": "object", "additionalProperties": { "description": "Properties of the object.", "type": "any" - } + }, + "description": "How to interpret the source element(s) as a side input value.", + "type": "object" }, "sources": { "description": "The source(s) to read element(s) from to get the value of this side input.\nIf more than one source, then the elements are taken from the\nsources, in the specified order if order matters.\nAt least one source is required.", @@ -2531,15 +4847,38 @@ "type": "array" } }, - "id": "SideInputInfo", - "description": "Information about a side input of a DoFn or an input of a SeqDoFn.", - "type": "object" + "id": "SideInputInfo" }, - "SendDebugCaptureResponse": { - "properties": {}, - "id": "SendDebugCaptureResponse", - "description": "Response to a send capture request.\nnothing", - "type": "object" + "CounterStructuredNameAndMetadata": { + "description": "A single message which encapsulates structured name and metadata for a given\ncounter.", + "type": "object", + "properties": { + "name": { + "description": "Structured name of the counter.", + "$ref": "CounterStructuredName" + }, + "metadata": { + "description": "Metadata associated with a counter", + "$ref": "CounterMetadata" + } + }, + "id": "CounterStructuredNameAndMetadata" + }, + "ConcatPosition": { + "description": "A position that encapsulates an inner position and an index for the inner\nposition. A ConcatPosition can be used by a reader of a source that\nencapsulates a set of other sources.", + "type": "object", + "properties": { + "position": { + "$ref": "Position", + "description": "Position within the inner source." + }, + "index": { + "format": "int32", + "description": "Index of the inner source.", + "type": "integer" + } + }, + "id": "ConcatPosition" }, "WriteInstruction": { "description": "An instruction that writes records.\nTakes one input, produces no outputs.", @@ -2550,44 +4889,14 @@ "description": "The input." }, "sink": { - "$ref": "Sink", - "description": "The sink to write to." + "description": "The sink to write to.", + "$ref": "Sink" } }, "id": "WriteInstruction" }, - "ConcatPosition": { - "description": "A position that encapsulates an inner position and an index for the inner\nposition. A ConcatPosition can be used by a reader of a source that\nencapsulates a set of other sources.", - "type": "object", - "properties": { - "position": { - "description": "Position within the inner source.", - "$ref": "Position" - }, - "index": { - "format": "int32", - "description": "Index of the inner source.", - "type": "integer" - } - }, - "id": "ConcatPosition" - }, - "CounterStructuredNameAndMetadata": { - "description": "A single message which encapsulates structured name and metadata for a given\ncounter.", - "type": "object", - "properties": { - "name": { - "$ref": "CounterStructuredName", - "description": "Structured name of the counter." - }, - "metadata": { - "$ref": "CounterMetadata", - "description": "Metadata associated with a counter" - } - }, - "id": "CounterStructuredNameAndMetadata" - }, "StreamingComputationRanges": { + "description": "Describes full or partial data disk assignment information of the computation\nranges.", "type": "object", "properties": { "computationId": { @@ -2602,8 +4911,7 @@ "type": "array" } }, - "id": "StreamingComputationRanges", - "description": "Describes full or partial data disk assignment information of the computation\nranges." + "id": "StreamingComputationRanges" }, "AutoscalingSettings": { "description": "Settings for WorkerPool autoscaling.", @@ -2635,6 +4943,17 @@ "description": "Description of the composing transforms, names/ids, and input/outputs of a\nstage of execution. Some composing transforms and sources may have been\ngenerated by the Dataflow service during execution planning.", "type": "object", "properties": { + "inputSource": { + "description": "Input sources for this stage.", + "items": { + "$ref": "StageSource" + }, + "type": "array" + }, + "id": { + "description": "Dataflow service generated id for this stage.", + "type": "string" + }, "componentTransform": { "description": "Transforms that comprise this execution stage.", "items": { @@ -2683,18 +5002,7 @@ "type": "array" }, "name": { - "type": "string", - "description": "Dataflow service generated name for this stage." - }, - "inputSource": { - "description": "Input sources for this stage.", - "items": { - "$ref": "StageSource" - }, - "type": "array" - }, - "id": { - "description": "Dataflow service generated id for this stage.", + "description": "Dataflow service generated name for this stage.", "type": "string" } }, @@ -2718,24 +5026,9 @@ }, "id": "SendWorkerMessagesRequest" }, - "LogBucket": { - "description": "Bucket of values for Distribution's logarithmic histogram.", - "type": "object", - "properties": { - "count": { - "type": "string", - "format": "int64", - "description": "Number of values in this bucket." - }, - "log": { - "format": "int32", - "description": "floor(log2(value)); defined to be zero for nonpositive values.\n log(-1) = 0\n log(0) = 0\n log(1) = 0\n log(2) = 1\n log(3) = 1\n log(4) = 2\n log(5) = 2", - "type": "integer" - } - }, - "id": "LogBucket" - }, "SourceSplitShard": { + "description": "DEPRECATED in favor of DerivedSource.", + "type": "object", "properties": { "derivationMode": { "enumDescriptions": [ @@ -2758,9 +5051,7 @@ "description": "DEPRECATED" } }, - "id": "SourceSplitShard", - "description": "DEPRECATED in favor of DerivedSource.", - "type": "object" + "id": "SourceSplitShard" }, "CPUTime": { "description": "Modeled after information exposed by /proc/stat.", @@ -2777,2213 +5068,41 @@ "type": "string" }, "rate": { - "type": "number", "format": "double", - "description": "Average CPU utilization rate (% non-idle cpu / second) since previous\nsample." + "description": "Average CPU utilization rate (% non-idle cpu / second) since previous\nsample.", + "type": "number" } }, "id": "CPUTime" - }, - "Environment": { - "type": "object", - "properties": { - "dataset": { - "description": "The dataset for the current project where various workflow\nrelated tables are stored.\n\nThe supported resource type is:\n\nGoogle BigQuery:\n bigquery.googleapis.com/{dataset}", - "type": "string" - }, - "experiments": { - "description": "The list of experiments to enable.", - "items": { - "type": "string" - }, - "type": "array" - }, - "version": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "A structure describing which components and their versions of the service\nare required in order to run the job.", - "type": "object" - }, - "internalExperiments": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "Experimental settings.", - "type": "object" - }, - "serviceAccountEmail": { - "description": "Identity to run virtual machines as. Defaults to the default account.", - "type": "string" - }, - "userAgent": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "A description of the process that generated the request.", - "type": "object" - }, - "sdkPipelineOptions": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "The Cloud Dataflow SDK pipeline options specified by the user. These\noptions are passed through the service and are used to recreate the\nSDK pipeline options on the worker in a language agnostic and platform\nindependent way.", - "type": "object" - }, - "clusterManagerApiService": { - "description": "The type of cluster manager API to use. If unknown or\nunspecified, the service will attempt to choose a reasonable\ndefault. This should be in the form of the API service name,\ne.g. \"compute.googleapis.com\".", - "type": "string" - }, - "tempStoragePrefix": { - "description": "The prefix of the resources the system should use for temporary\nstorage. The system will append the suffix \"/temp-{JOBNAME} to\nthis resource prefix, where {JOBNAME} is the value of the\njob_name field. The resulting bucket and object prefix is used\nas the prefix of the resources used to store temporary data\nneeded during the job execution. NOTE: This will override the\nvalue in taskrunner_settings.\nThe supported resource type is:\n\nGoogle Cloud Storage:\n\n storage.googleapis.com/{bucket}/{object}\n bucket.storage.googleapis.com/{object}", - "type": "string" - }, - "workerPools": { - "description": "The worker pools. At least one \"harness\" worker pool must be\nspecified in order for the job to have workers.", - "items": { - "$ref": "WorkerPool" - }, - "type": "array" - } - }, - "id": "Environment", - "description": "Describes the environment in which a Dataflow Job runs." - }, - "StreamingComputationTask": { - "description": "A task which describes what action should be performed for the specified\nstreaming computation ranges.", - "type": "object", - "properties": { - "dataDisks": { - "description": "Describes the set of data disks this task should apply to.", - "items": { - "$ref": "MountedDataDisk" - }, - "type": "array" - }, - "taskType": { - "enumDescriptions": [ - "The streaming computation task is unknown, or unspecified.", - "Stop processing specified streaming computation range(s).", - "Start processing specified streaming computation range(s)." - ], - "enum": [ - "STREAMING_COMPUTATION_TASK_UNKNOWN", - "STREAMING_COMPUTATION_TASK_STOP", - "STREAMING_COMPUTATION_TASK_START" - ], - "description": "A type of streaming computation task.", - "type": "string" - }, - "computationRanges": { - "description": "Contains ranges of a streaming computation this task should apply to.", - "items": { - "$ref": "StreamingComputationRanges" - }, - "type": "array" - } - }, - "id": "StreamingComputationTask" - }, - "SendDebugCaptureRequest": { - "id": "SendDebugCaptureRequest", - "description": "Request to send encoded debug information.", - "type": "object", - "properties": { - "workerId": { - "type": "string", - "description": "The worker id, i.e., VM hostname." - }, - "location": { - "description": "The location which contains the job specified by job_id.", - "type": "string" - }, - "data": { - "description": "The encoded debug information.", - "type": "string" - }, - "componentId": { - "description": "The internal component id for which debug information is sent.", - "type": "string" - } - } - }, - "GetDebugConfigResponse": { - "description": "Response to a get debug configuration request.", - "type": "object", - "properties": { - "config": { - "type": "string", - "description": "The encoded debug configuration for the requested component." - } - }, - "id": "GetDebugConfigResponse" - }, - "ComponentTransform": { - "properties": { - "name": { - "description": "Dataflow service generated name for this source.", - "type": "string" - }, - "userName": { - "description": "Human-readable name for this transform; may be user or system generated.", - "type": "string" - }, - "originalTransform": { - "description": "User name for the original user transform with which this transform is\nmost closely associated.", - "type": "string" - } - }, - "id": "ComponentTransform", - "description": "Description of a transform executed as part of an execution stage.", - "type": "object" - }, - "StreamingSetupTask": { - "properties": { - "streamingComputationTopology": { - "description": "The global topology of the streaming Dataflow job.", - "$ref": "TopologyConfig" - }, - "drain": { - "description": "The user has requested drain.", - "type": "boolean" - }, - "workerHarnessPort": { - "format": "int32", - "description": "The TCP port used by the worker to communicate with the Dataflow\nworker harness.", - "type": "integer" - }, - "receiveWorkPort": { - "type": "integer", - "format": "int32", - "description": "The TCP port on which the worker should listen for messages from\nother streaming computation workers." - } - }, - "id": "StreamingSetupTask", - "description": "A task which initializes part of a streaming Dataflow job.", - "type": "object" - }, - "PubsubLocation": { - "type": "object", - "properties": { - "dropLateData": { - "description": "Indicates whether the pipeline allows late-arriving data.", - "type": "boolean" - }, - "trackingSubscription": { - "description": "If set, specifies the pubsub subscription that will be used for tracking\ncustom time timestamps for watermark estimation.", - "type": "string" - }, - "withAttributes": { - "type": "boolean", - "description": "If true, then the client has requested to get pubsub attributes." - }, - "idLabel": { - "description": "If set, contains a pubsub label from which to extract record ids.\nIf left empty, record deduplication will be strictly best effort.", - "type": "string" - }, - "timestampLabel": { - "description": "If set, contains a pubsub label from which to extract record timestamps.\nIf left empty, record timestamps will be generated upon arrival.", - "type": "string" - }, - "topic": { - "description": "A pubsub topic, in the form of\n\"pubsub.googleapis.com/topics/\u003cproject-id\u003e/\u003ctopic-name\u003e\"", - "type": "string" - }, - "subscription": { - "description": "A pubsub subscription, in the form of\n\"pubsub.googleapis.com/subscriptions/\u003cproject-id\u003e/\u003csubscription-name\u003e\"", - "type": "string" - } - }, - "id": "PubsubLocation", - "description": "Identifies a pubsub location to use for transferring data into or\nout of a streaming Dataflow job." - }, - "WorkerHealthReport": { - "description": "WorkerHealthReport contains information about the health of a worker.\n\nThe VM should be identified by the labels attached to the WorkerMessage that\nthis health ping belongs to.", - "type": "object", - "properties": { - "pods": { - "description": "The pods running on the worker. See:\nhttp://kubernetes.io/v1.1/docs/api-reference/v1/definitions.html#_v1_pod\n\nThis field is used by the worker to send the status of the indvidual\ncontainers running on each worker.", - "items": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "type": "object" - }, - "type": "array" - }, - "vmStartupTime": { - "format": "google-datetime", - "description": "The time the VM was booted.", - "type": "string" - }, - "reportInterval": { - "type": "string", - "format": "google-duration", - "description": "The interval at which the worker is sending health reports.\nThe default value of 0 should be interpreted as the field is not being\nexplicitly set by the worker." - }, - "vmIsHealthy": { - "description": "Whether the VM is healthy.", - "type": "boolean" - } - }, - "id": "WorkerHealthReport" - }, - "JobMessage": { - "description": "A particular message pertaining to a Dataflow job.", - "type": "object", - "properties": { - "id": { - "description": "Deprecated.", - "type": "string" - }, - "messageImportance": { - "type": "string", - "enumDescriptions": [ - "The message importance isn't specified, or is unknown.", - "The message is at the 'debug' level: typically only useful for\nsoftware engineers working on the code the job is running.\nTypically, Dataflow pipeline runners do not display log messages\nat this level by default.", - "The message is at the 'detailed' level: somewhat verbose, but\npotentially useful to users. Typically, Dataflow pipeline\nrunners do not display log messages at this level by default.\nThese messages are displayed by default in the Dataflow\nmonitoring UI.", - "The message is at the 'basic' level: useful for keeping\ntrack of the execution of a Dataflow pipeline. Typically,\nDataflow pipeline runners display log messages at this level by\ndefault, and these messages are displayed by default in the\nDataflow monitoring UI.", - "The message is at the 'warning' level: indicating a condition\npertaining to a job which may require human intervention.\nTypically, Dataflow pipeline runners display log messages at this\nlevel by default, and these messages are displayed by default in\nthe Dataflow monitoring UI.", - "The message is at the 'error' level: indicating a condition\npreventing a job from succeeding. Typically, Dataflow pipeline\nrunners display log messages at this level by default, and these\nmessages are displayed by default in the Dataflow monitoring UI." - ], - "enum": [ - "JOB_MESSAGE_IMPORTANCE_UNKNOWN", - "JOB_MESSAGE_DEBUG", - "JOB_MESSAGE_DETAILED", - "JOB_MESSAGE_BASIC", - "JOB_MESSAGE_WARNING", - "JOB_MESSAGE_ERROR" - ], - "description": "Importance level of the message." - }, - "messageText": { - "description": "The text of the message.", - "type": "string" - }, - "time": { - "format": "google-datetime", - "description": "The timestamp of the message.", - "type": "string" - } - }, - "id": "JobMessage" - }, - "ParameterMetadata": { - "description": "Metadata for a specific parameter.", - "type": "object", - "properties": { - "helpText": { - "description": "Required. The help text to display for the parameter.", - "type": "string" - }, - "isOptional": { - "description": "Optional. Whether the parameter is optional. Defaults to false.", - "type": "boolean" - }, - "name": { - "description": "Required. The name of the parameter.", - "type": "string" - }, - "regexes": { - "description": "Optional. Regexes that the parameter must match.", - "items": { - "type": "string" - }, - "type": "array" - }, - "label": { - "description": "Required. The label to display for the parameter.", - "type": "string" - } - }, - "id": "ParameterMetadata" - }, - "MultiOutputInfo": { - "description": "Information about an output of a multi-output DoFn.", - "type": "object", - "properties": { - "tag": { - "description": "The id of the tag the user code will emit to this output by; this\nshould correspond to the tag of some SideInputInfo.", - "type": "string" - } - }, - "id": "MultiOutputInfo" - }, - "SourceSplitRequest": { - "description": "Represents the operation to split a high-level Source specification\ninto bundles (parts for parallel processing).\n\nAt a high level, splitting of a source into bundles happens as follows:\nSourceSplitRequest is applied to the source. If it returns\nSOURCE_SPLIT_OUTCOME_USE_CURRENT, no further splitting happens and the source\nis used \"as is\". Otherwise, splitting is applied recursively to each\nproduced DerivedSource.\n\nAs an optimization, for any Source, if its does_not_need_splitting is\ntrue, the framework assumes that splitting this source would return\nSOURCE_SPLIT_OUTCOME_USE_CURRENT, and doesn't initiate a SourceSplitRequest.\nThis applies both to the initial source being split and to bundles\nproduced from it.", - "type": "object", - "properties": { - "options": { - "$ref": "SourceSplitOptions", - "description": "Hints for tuning the splitting process." - }, - "source": { - "$ref": "Source", - "description": "Specification of the source to be split." - } - }, - "id": "SourceSplitRequest" - }, - "SourceGetMetadataResponse": { - "description": "The result of a SourceGetMetadataOperation.", - "type": "object", - "properties": { - "metadata": { - "$ref": "SourceMetadata", - "description": "The computed metadata." - } - }, - "id": "SourceGetMetadataResponse" - }, - "ShellTask": { - "description": "A task which consists of a shell command for the worker to execute.", - "type": "object", - "properties": { - "command": { - "description": "The shell command to run.", - "type": "string" - }, - "exitCode": { - "format": "int32", - "description": "Exit code for the task.", - "type": "integer" - } - }, - "id": "ShellTask" - }, - "MetricShortId": { - "description": "The metric short id is returned to the user alongside an offset into\nReportWorkItemStatusRequest", - "type": "object", - "properties": { - "metricIndex": { - "format": "int32", - "description": "The index of the corresponding metric in\nthe ReportWorkItemStatusRequest. Required.", - "type": "integer" - }, - "shortId": { - "format": "int64", - "description": "The service-generated short identifier for the metric.", - "type": "string" - } - }, - "id": "MetricShortId" - }, - "AutoscalingEvent": { - "properties": { - "eventType": { - "description": "The type of autoscaling event to report.", - "type": "string", - "enumDescriptions": [ - "Default type for the enum. Value should never be returned.", - "The TARGET_NUM_WORKERS_CHANGED type should be used when the target\nworker pool size has changed at the start of an actuation. An event\nshould always be specified as TARGET_NUM_WORKERS_CHANGED if it reflects\na change in the target_num_workers.", - "The CURRENT_NUM_WORKERS_CHANGED type should be used when actual worker\npool size has been changed, but the target_num_workers has not changed.", - "The ACTUATION_FAILURE type should be used when we want to report\nan error to the user indicating why the current number of workers\nin the pool could not be changed.\nDisplayed in the current status and history widgets.", - "Used when we want to report to the user a reason why we are\nnot currently adjusting the number of workers.\nShould specify both target_num_workers, current_num_workers and a\ndecision_message." - ], - "enum": [ - "TYPE_UNKNOWN", - "TARGET_NUM_WORKERS_CHANGED", - "CURRENT_NUM_WORKERS_CHANGED", - "ACTUATION_FAILURE", - "NO_CHANGE" - ] - }, - "targetNumWorkers": { - "format": "int64", - "description": "The target number of workers the worker pool wants to resize to use.", - "type": "string" - }, - "currentNumWorkers": { - "format": "int64", - "description": "The current number of workers the job has.", - "type": "string" - }, - "time": { - "type": "string", - "format": "google-datetime", - "description": "The time this event was emitted to indicate a new target or current\nnum_workers value." - }, - "description": { - "description": "A message describing why the system decided to adjust the current\nnumber of workers, why it failed, or why the system decided to\nnot make any changes to the number of workers.", - "$ref": "StructuredMessage" - } - }, - "id": "AutoscalingEvent", - "description": "A structured message reporting an autoscaling decision made by the Dataflow\nservice.", - "type": "object" - }, - "TaskRunnerSettings": { - "type": "object", - "properties": { - "languageHint": { - "description": "The suggested backend language.", - "type": "string" - }, - "commandlinesFileName": { - "description": "The file to store preprocessing commands in.", - "type": "string" - }, - "tempStoragePrefix": { - "description": "The prefix of the resources the taskrunner should use for\ntemporary storage.\n\nThe supported resource type is:\n\nGoogle Cloud Storage:\n storage.googleapis.com/{bucket}/{object}\n bucket.storage.googleapis.com/{object}", - "type": "string" - }, - "baseTaskDir": { - "type": "string", - "description": "The location on the worker for task-specific subdirectories." - }, - "baseUrl": { - "description": "The base URL for the taskrunner to use when accessing Google Cloud APIs.\n\nWhen workers access Google Cloud APIs, they logically do so via\nrelative URLs. If this field is specified, it supplies the base\nURL to use for resolving these relative URLs. The normative\nalgorithm used is defined by RFC 1808, \"Relative Uniform Resource\nLocators\".\n\nIf not specified, the default value is \"http://www.googleapis.com/\"", - "type": "string" - }, - "logToSerialconsole": { - "description": "Whether to send taskrunner log info to Google Compute Engine VM serial\nconsole.", - "type": "boolean" - }, - "continueOnException": { - "description": "Whether to continue taskrunner if an exception is hit.", - "type": "boolean" - }, - "parallelWorkerSettings": { - "description": "The settings to pass to the parallel worker harness.", - "$ref": "WorkerSettings" - }, - "vmId": { - "description": "The ID string of the VM.", - "type": "string" - }, - "taskUser": { - "description": "The UNIX user ID on the worker VM to use for tasks launched by\ntaskrunner; e.g. \"root\".", - "type": "string" - }, - "alsologtostderr": { - "description": "Whether to also send taskrunner log info to stderr.", - "type": "boolean" - }, - "taskGroup": { - "description": "The UNIX group ID on the worker VM to use for tasks launched by\ntaskrunner; e.g. \"wheel\".", - "type": "string" - }, - "harnessCommand": { - "description": "The command to launch the worker harness.", - "type": "string" - }, - "logDir": { - "description": "The directory on the VM to store logs.", - "type": "string" - }, - "dataflowApiVersion": { - "description": "The API version of endpoint, e.g. \"v1b3\"", - "type": "string" - }, - "oauthScopes": { - "items": { - "type": "string" - }, - "type": "array", - "description": "The OAuth2 scopes to be requested by the taskrunner in order to\naccess the Cloud Dataflow API." - }, - "logUploadLocation": { - "description": "Indicates where to put logs. If this is not specified, the logs\nwill not be uploaded.\n\nThe supported resource type is:\n\nGoogle Cloud Storage:\n storage.googleapis.com/{bucket}/{object}\n bucket.storage.googleapis.com/{object}", - "type": "string" - }, - "streamingWorkerMainClass": { - "description": "The streaming worker main class name.", - "type": "string" - }, - "workflowFileName": { - "description": "The file to store the workflow in.", - "type": "string" - } - }, - "id": "TaskRunnerSettings", - "description": "Taskrunner configuration settings." - }, - "Position": { - "description": "Position defines a position within a collection of data. The value\ncan be either the end position, a key (used with ordered\ncollections), a byte offset, or a record index.", - "type": "object", - "properties": { - "recordIndex": { - "format": "int64", - "description": "Position is a record index.", - "type": "string" - }, - "shufflePosition": { - "description": "CloudPosition is a base64 encoded BatchShufflePosition (with FIXED\nsharding).", - "type": "string" - }, - "concatPosition": { - "$ref": "ConcatPosition", - "description": "CloudPosition is a concat position." - }, - "byteOffset": { - "format": "int64", - "description": "Position is a byte offset.", - "type": "string" - }, - "end": { - "description": "Position is past all other positions. Also useful for the end\nposition of an unbounded range.", - "type": "boolean" - }, - "key": { - "description": "Position is a string key, ordered lexicographically.", - "type": "string" - } - }, - "id": "Position" - }, - "SplitInt64": { - "description": "A representation of an int64, n, that is immune to precision loss when\nencoded in JSON.", - "type": "object", - "properties": { - "highBits": { - "format": "int32", - "description": "The high order bits, including the sign: n \u003e\u003e 32.", - "type": "integer" - }, - "lowBits": { - "type": "integer", - "format": "uint32", - "description": "The low order bits: n & 0xffffffff." - } - }, - "id": "SplitInt64" - }, - "Source": { - "description": "A source that records can be read and decoded from.", - "type": "object", - "properties": { - "metadata": { - "$ref": "SourceMetadata", - "description": "Optionally, metadata for this source can be supplied right away,\navoiding a SourceGetMetadataOperation roundtrip\n(see SourceOperationRequest).\n\nThis field is meaningful only in the Source objects populated\nby the user (e.g. when filling in a DerivedSource).\nSource objects supplied by the framework to the user don't have\nthis field populated." - }, - "baseSpecs": { - "items": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "type": "object" - }, - "type": "array", - "description": "While splitting, sources may specify the produced bundles\nas differences against another source, in order to save backend-side\nmemory and allow bigger jobs. For details, see SourceSplitRequest.\nTo support this use case, the full set of parameters of the source\nis logically obtained by taking the latest explicitly specified value\nof each parameter in the order:\nbase_specs (later items win), spec (overrides anything in base_specs)." - }, - "doesNotNeedSplitting": { - "type": "boolean", - "description": "Setting this value to true hints to the framework that the source\ndoesn't need splitting, and using SourceSplitRequest on it would\nyield SOURCE_SPLIT_OUTCOME_USE_CURRENT.\n\nE.g. a file splitter may set this to true when splitting a single file\ninto a set of byte ranges of appropriate size, and set this\nto false when splitting a filepattern into individual files.\nHowever, for efficiency, a file splitter may decide to produce\nfile subranges directly from the filepattern to avoid a splitting\nround-trip.\n\nSee SourceSplitRequest for an overview of the splitting process.\n\nThis field is meaningful only in the Source objects populated\nby the user (e.g. when filling in a DerivedSource).\nSource objects supplied by the framework to the user don't have\nthis field populated." - }, - "codec": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "The codec to use to decode data read from the source.", - "type": "object" - }, - "spec": { - "description": "The source to read from, plus its parameters.", - "type": "object", - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - } - } - }, - "id": "Source" - }, - "WorkerPool": { - "id": "WorkerPool", - "description": "Describes one particular pool of Cloud Dataflow workers to be\ninstantiated by the Cloud Dataflow service in order to perform the\ncomputations required by a job. Note that a workflow job may use\nmultiple pools, in order to match the various computational\nrequirements of the various stages of the job.", - "type": "object", - "properties": { - "ipConfiguration": { - "enumDescriptions": [ - "The configuration is unknown, or unspecified.", - "Workers should have public IP addresses.", - "Workers should have private IP addresses." - ], - "enum": [ - "WORKER_IP_UNSPECIFIED", - "WORKER_IP_PUBLIC", - "WORKER_IP_PRIVATE" - ], - "description": "Configuration for VM IPs.", - "type": "string" - }, - "autoscalingSettings": { - "$ref": "AutoscalingSettings", - "description": "Settings for autoscaling of this WorkerPool." - }, - "taskrunnerSettings": { - "$ref": "TaskRunnerSettings", - "description": "Settings passed through to Google Compute Engine workers when\nusing the standard Dataflow task runner. Users should ignore\nthis field." - }, - "metadata": { - "additionalProperties": { - "type": "string" - }, - "description": "Metadata to set on the Google Compute Engine VMs.", - "type": "object" - }, - "network": { - "description": "Network to which VMs will be assigned. If empty or unspecified,\nthe service will use the network \"default\".", - "type": "string" - }, - "defaultPackageSet": { - "description": "The default package set to install. This allows the service to\nselect a default set of packages which are useful to worker\nharnesses written in a particular language.", - "type": "string", - "enumDescriptions": [ - "The default set of packages to stage is unknown, or unspecified.", - "Indicates that no packages should be staged at the worker unless\nexplicitly specified by the job.", - "Stage packages typically useful to workers written in Java.", - "Stage pacakges typically useful to workers written in Python." - ], - "enum": [ - "DEFAULT_PACKAGE_SET_UNKNOWN", - "DEFAULT_PACKAGE_SET_NONE", - "DEFAULT_PACKAGE_SET_JAVA", - "DEFAULT_PACKAGE_SET_PYTHON" - ] - }, - "numThreadsPerWorker": { - "format": "int32", - "description": "The number of threads per worker harness. If empty or unspecified, the\nservice will choose a number of threads (according to the number of cores\non the selected machine type for batch, or 1 by convention for streaming).", - "type": "integer" - }, - "numWorkers": { - "format": "int32", - "description": "Number of Google Compute Engine workers in this pool needed to\nexecute the job. If zero or unspecified, the service will\nattempt to choose a reasonable default.", - "type": "integer" - }, - "zone": { - "description": "Zone to run the worker pools in. If empty or unspecified, the service\nwill attempt to choose a reasonable default.", - "type": "string" - }, - "diskSourceImage": { - "description": "Fully qualified source image for disks.", - "type": "string" - }, - "packages": { - "description": "Packages to be installed on workers.", - "items": { - "$ref": "Package" - }, - "type": "array" - }, - "teardownPolicy": { - "description": "Sets the policy for determining when to turndown worker pool.\nAllowed values are: `TEARDOWN_ALWAYS`, `TEARDOWN_ON_SUCCESS`, and\n`TEARDOWN_NEVER`.\n`TEARDOWN_ALWAYS` means workers are always torn down regardless of whether\nthe job succeeds. `TEARDOWN_ON_SUCCESS` means workers are torn down\nif the job succeeds. `TEARDOWN_NEVER` means the workers are never torn\ndown.\n\nIf the workers are not torn down by the service, they will\ncontinue to run and use Google Compute Engine VM resources in the\nuser's project until they are explicitly terminated by the user.\nBecause of this, Google recommends using the `TEARDOWN_ALWAYS`\npolicy except for small, manually supervised test jobs.\n\nIf unknown or unspecified, the service will attempt to choose a reasonable\ndefault.", - "type": "string", - "enumDescriptions": [ - "The teardown policy isn't specified, or is unknown.", - "Always teardown the resource.", - "Teardown the resource on success. This is useful for debugging\nfailures.", - "Never teardown the resource. This is useful for debugging and\ndevelopment." - ], - "enum": [ - "TEARDOWN_POLICY_UNKNOWN", - "TEARDOWN_ALWAYS", - "TEARDOWN_ON_SUCCESS", - "TEARDOWN_NEVER" - ] - }, - "onHostMaintenance": { - "description": "The action to take on host maintenance, as defined by the Google\nCompute Engine API.", - "type": "string" - }, - "poolArgs": { - "description": "Extra arguments for this worker pool.", - "type": "object", - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - } - }, - "diskSizeGb": { - "format": "int32", - "description": "Size of root disk for VMs, in GB. If zero or unspecified, the service will\nattempt to choose a reasonable default.", - "type": "integer" - }, - "workerHarnessContainerImage": { - "description": "Required. Docker container image that executes the Cloud Dataflow worker\nharness, residing in Google Container Registry.", - "type": "string" - }, - "machineType": { - "description": "Machine type (e.g. \"n1-standard-1\"). If empty or unspecified, the\nservice will attempt to choose a reasonable default.", - "type": "string" - }, - "diskType": { - "description": "Type of root disk for VMs. If empty or unspecified, the service will\nattempt to choose a reasonable default.", - "type": "string" - }, - "kind": { - "description": "The kind of the worker pool; currently only `harness` and `shuffle`\nare supported.", - "type": "string" - }, - "dataDisks": { - "description": "Data disks that are used by a VM in this workflow.", - "items": { - "$ref": "Disk" - }, - "type": "array" - }, - "subnetwork": { - "description": "Subnetwork to which VMs will be assigned, if desired. Expected to be of\nthe form \"regions/REGION/subnetworks/SUBNETWORK\".", - "type": "string" - } - } - }, - "SourceOperationRequest": { - "description": "A work item that represents the different operations that can be\nperformed on a user-defined Source specification.", - "type": "object", - "properties": { - "getMetadata": { - "$ref": "SourceGetMetadataRequest", - "description": "Information about a request to get metadata about a source." - }, - "split": { - "description": "Information about a request to split a source.", - "$ref": "SourceSplitRequest" - } - }, - "id": "SourceOperationRequest" - }, - "StructuredMessage": { - "description": "A rich message format, including a human readable string, a key for\nidentifying the message, and structured data associated with the message for\nprogrammatic consumption.", - "type": "object", - "properties": { - "messageKey": { - "description": "Idenfier for this message type. Used by external systems to\ninternationalize or personalize message.", - "type": "string" - }, - "messageText": { - "type": "string", - "description": "Human-readable version of message." - }, - "parameters": { - "description": "The structured data associated with this message.", - "items": { - "$ref": "Parameter" - }, - "type": "array" - } - }, - "id": "StructuredMessage" - }, - "WorkItem": { - "type": "object", - "properties": { - "seqMapTask": { - "description": "Additional information for SeqMapTask WorkItems.", - "$ref": "SeqMapTask" - }, - "packages": { - "description": "Any required packages that need to be fetched in order to execute\nthis WorkItem.", - "items": { - "$ref": "Package" - }, - "type": "array" - }, - "projectId": { - "description": "Identifies the cloud project this WorkItem belongs to.", - "type": "string" - }, - "sourceOperationTask": { - "description": "Additional information for source operation WorkItems.", - "$ref": "SourceOperationRequest" - }, - "streamingSetupTask": { - "$ref": "StreamingSetupTask", - "description": "Additional information for StreamingSetupTask WorkItems." - }, - "reportStatusInterval": { - "format": "google-duration", - "description": "Recommended reporting interval.", - "type": "string" - }, - "leaseExpireTime": { - "format": "google-datetime", - "description": "Time when the lease on this Work will expire.", - "type": "string" - }, - "streamingConfigTask": { - "$ref": "StreamingConfigTask", - "description": "Additional information for StreamingConfigTask WorkItems." - }, - "initialReportIndex": { - "format": "int64", - "description": "The initial index to use when reporting the status of the WorkItem.", - "type": "string" - }, - "shellTask": { - "$ref": "ShellTask", - "description": "Additional information for ShellTask WorkItems." - }, - "streamingComputationTask": { - "$ref": "StreamingComputationTask", - "description": "Additional information for StreamingComputationTask WorkItems." - }, - "jobId": { - "description": "Identifies the workflow job this WorkItem belongs to.", - "type": "string" - }, - "id": { - "type": "string", - "format": "int64", - "description": "Identifies this WorkItem." - }, - "configuration": { - "description": "Work item-specific configuration as an opaque blob.", - "type": "string" - }, - "mapTask": { - "description": "Additional information for MapTask WorkItems.", - "$ref": "MapTask" - } - }, - "id": "WorkItem", - "description": "WorkItem represents basic information about a WorkItem to be executed\nin the cloud." - }, - "ResourceUtilizationReport": { - "properties": { - "cpuTime": { - "description": "CPU utilization samples.", - "items": { - "$ref": "CPUTime" - }, - "type": "array" - } - }, - "id": "ResourceUtilizationReport", - "description": "Worker metrics exported from workers. This contains resource utilization\nmetrics accumulated from a variety of sources. For more information, see\ngo/df-resource-signals.", - "type": "object" - }, - "ReportedParallelism": { - "description": "Represents the level of parallelism in a WorkItem's input,\nreported by the worker.", - "type": "object", - "properties": { - "isInfinite": { - "description": "Specifies whether the parallelism is infinite. If true, \"value\" is\nignored.\nInfinite parallelism means the service will assume that the work item\ncan always be split into more non-empty work items by dynamic splitting.\nThis is a work-around for lack of support for infinity by the current\nJSON-based Java RPC stack.", - "type": "boolean" - }, - "value": { - "type": "number", - "format": "double", - "description": "Specifies the level of parallelism in case it is finite." - } - }, - "id": "ReportedParallelism" - }, - "TopologyConfig": { - "description": "Global topology of the streaming Dataflow job, including all\ncomputations and their sharded locations.", - "type": "object", - "properties": { - "forwardingKeyBits": { - "format": "int32", - "description": "The size (in bits) of keys that will be assigned to source messages.", - "type": "integer" - }, - "userStageToComputationNameMap": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Maps user stage names to stable computation names." - }, - "computations": { - "description": "The computations associated with a streaming Dataflow job.", - "items": { - "$ref": "ComputationTopology" - }, - "type": "array" - }, - "persistentStateVersion": { - "format": "int32", - "description": "Version number for persistent state.", - "type": "integer" - }, - "dataDiskAssignments": { - "description": "The disks assigned to a streaming Dataflow job.", - "items": { - "$ref": "DataDiskAssignment" - }, - "type": "array" - } - }, - "id": "TopologyConfig" - }, - "SourceSplitOptions": { - "description": "Hints for splitting a Source into bundles (parts for parallel\nprocessing) using SourceSplitRequest.", - "type": "object", - "properties": { - "desiredBundleSizeBytes": { - "format": "int64", - "description": "The source should be split into a set of bundles where the estimated size\nof each is approximately this many bytes.", - "type": "string" - }, - "desiredShardSizeBytes": { - "format": "int64", - "description": "DEPRECATED in favor of desired_bundle_size_bytes.", - "type": "string" - } - }, - "id": "SourceSplitOptions" - }, - "ReadInstruction": { - "id": "ReadInstruction", - "description": "An instruction that reads records.\nTakes no inputs, produces one output.", - "type": "object", - "properties": { - "source": { - "$ref": "Source", - "description": "The source to read from." - } - } - }, - "WorkerSettings": { - "description": "Provides data to pass through to the worker harness.", - "type": "object", - "properties": { - "servicePath": { - "description": "The Cloud Dataflow service path relative to the root URL, for example,\n\"dataflow/v1b3/projects\".", - "type": "string" - }, - "shuffleServicePath": { - "description": "The Shuffle service path relative to the root URL, for example,\n\"shuffle/v1beta1\".", - "type": "string" - }, - "workerId": { - "description": "The ID of the worker running this pipeline.", - "type": "string" - }, - "tempStoragePrefix": { - "description": "The prefix of the resources the system should use for temporary\nstorage.\n\nThe supported resource type is:\n\nGoogle Cloud Storage:\n\n storage.googleapis.com/{bucket}/{object}\n bucket.storage.googleapis.com/{object}", - "type": "string" - }, - "baseUrl": { - "type": "string", - "description": "The base URL for accessing Google Cloud APIs.\n\nWhen workers access Google Cloud APIs, they logically do so via\nrelative URLs. If this field is specified, it supplies the base\nURL to use for resolving these relative URLs. The normative\nalgorithm used is defined by RFC 1808, \"Relative Uniform Resource\nLocators\".\n\nIf not specified, the default value is \"http://www.googleapis.com/\"" - }, - "reportingEnabled": { - "description": "Whether to send work progress updates to the service.", - "type": "boolean" - } - }, - "id": "WorkerSettings" - }, - "DataDiskAssignment": { - "type": "object", - "properties": { - "vmInstance": { - "description": "VM instance name the data disks mounted to, for example\n\"myproject-1014-104817-4c2-harness-0\".", - "type": "string" - }, - "dataDisks": { - "description": "Mounted data disks. The order is important a data disk's 0-based index in\nthis list defines which persistent directory the disk is mounted to, for\nexample the list of { \"myproject-1014-104817-4c2-harness-0-disk-0\" },\n{ \"myproject-1014-104817-4c2-harness-0-disk-1\" }.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "DataDiskAssignment", - "description": "Data disk assignment for a given VM instance." - }, - "StreamingStageLocation": { - "id": "StreamingStageLocation", - "description": "Identifies the location of a streaming computation stage, for\nstage-to-stage communication.", - "type": "object", - "properties": { - "streamId": { - "type": "string", - "description": "Identifies the particular stream within the streaming Dataflow\njob." - } - } - }, - "ApproximateSplitRequest": { - "description": "A suggestion by the service to the worker to dynamically split the WorkItem.", - "type": "object", - "properties": { - "position": { - "$ref": "Position", - "description": "A Position at which to split the work item." - }, - "fractionConsumed": { - "format": "double", - "description": "A fraction at which to split the work item, from 0.0 (beginning of the\ninput) to 1.0 (end of the input).", - "type": "number" - } - }, - "id": "ApproximateSplitRequest" - }, - "Status": { - "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", - "type": "object", - "properties": { - "message": { - "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", - "type": "string" - }, - "details": { - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", - "items": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "type": "object" - }, - "type": "array" - }, - "code": { - "format": "int32", - "description": "The status code, which should be an enum value of google.rpc.Code.", - "type": "integer" - } - }, - "id": "Status" - }, - "ExecutionStageState": { - "description": "A message describing the state of a particular execution stage.", - "type": "object", - "properties": { - "executionStageState": { - "enumDescriptions": [ - "The job's run state isn't specified.", - "`JOB_STATE_STOPPED` indicates that the job has not\nyet started to run.", - "`JOB_STATE_RUNNING` indicates that the job is currently running.", - "`JOB_STATE_DONE` indicates that the job has successfully completed.\nThis is a terminal job state. This state may be set by the Cloud Dataflow\nservice, as a transition from `JOB_STATE_RUNNING`. It may also be set via a\nCloud Dataflow `UpdateJob` call, if the job has not yet reached a terminal\nstate.", - "`JOB_STATE_FAILED` indicates that the job has failed. This is a\nterminal job state. This state may only be set by the Cloud Dataflow\nservice, and only as a transition from `JOB_STATE_RUNNING`.", - "`JOB_STATE_CANCELLED` indicates that the job has been explicitly\ncancelled. This is a terminal job state. This state may only be\nset via a Cloud Dataflow `UpdateJob` call, and only if the job has not\nyet reached another terminal state.", - "`JOB_STATE_UPDATED` indicates that the job was successfully updated,\nmeaning that this job was stopped and another job was started, inheriting\nstate from this one. This is a terminal job state. This state may only be\nset by the Cloud Dataflow service, and only as a transition from\n`JOB_STATE_RUNNING`.", - "`JOB_STATE_DRAINING` indicates that the job is in the process of draining.\nA draining job has stopped pulling from its input sources and is processing\nany data that remains in-flight. This state may be set via a Cloud Dataflow\n`UpdateJob` call, but only as a transition from `JOB_STATE_RUNNING`. Jobs\nthat are draining may only transition to `JOB_STATE_DRAINED`,\n`JOB_STATE_CANCELLED`, or `JOB_STATE_FAILED`.", - "`JOB_STATE_DRAINED` indicates that the job has been drained.\nA drained job terminated by stopping pulling from its input sources and\nprocessing any data that remained in-flight when draining was requested.\nThis state is a terminal state, may only be set by the Cloud Dataflow\nservice, and only as a transition from `JOB_STATE_DRAINING`.", - "'JOB_STATE_PENDING' indicates that the job has been created but is not yet\nrunning. Jobs that are pending may only transition to `JOB_STATE_RUNNING`,\nor `JOB_STATE_FAILED`.", - "'JOB_STATE_CANCELLING' indicates that the job has been explicitly cancelled\nand is in the process of stopping. Jobs that are cancelling may only\ntransition to 'JOB_STATE_CANCELLED' or 'JOB_STATE_FAILED'." - ], - "enum": [ - "JOB_STATE_UNKNOWN", - "JOB_STATE_STOPPED", - "JOB_STATE_RUNNING", - "JOB_STATE_DONE", - "JOB_STATE_FAILED", - "JOB_STATE_CANCELLED", - "JOB_STATE_UPDATED", - "JOB_STATE_DRAINING", - "JOB_STATE_DRAINED", - "JOB_STATE_PENDING", - "JOB_STATE_CANCELLING" - ], - "description": "Executions stage states allow the same set of values as JobState.", - "type": "string" - }, - "executionStageName": { - "description": "The name of the execution stage.", - "type": "string" - }, - "currentStateTime": { - "type": "string", - "format": "google-datetime", - "description": "The time at which the stage transitioned to this state." - } - }, - "id": "ExecutionStageState" - }, - "StreamLocation": { - "type": "object", - "properties": { - "customSourceLocation": { - "description": "The stream is a custom source.", - "$ref": "CustomSourceLocation" - }, - "sideInputLocation": { - "description": "The stream is a streaming side input.", - "$ref": "StreamingSideInputLocation" - }, - "pubsubLocation": { - "$ref": "PubsubLocation", - "description": "The stream is a pubsub stream." - }, - "streamingStageLocation": { - "description": "The stream is part of another computation within the current\nstreaming Dataflow job.", - "$ref": "StreamingStageLocation" - } - }, - "id": "StreamLocation", - "description": "Describes a stream of data, either as input to be processed or as\noutput of a streaming Dataflow job." - }, - "SendWorkerMessagesResponse": { - "properties": { - "workerMessageResponses": { - "items": { - "$ref": "WorkerMessageResponse" - }, - "type": "array", - "description": "The servers response to the worker messages." - } - }, - "id": "SendWorkerMessagesResponse", - "description": "The response to the worker messages.", - "type": "object" - }, - "StreamingComputationConfig": { - "description": "Configuration information for a single streaming computation.", - "type": "object", - "properties": { - "computationId": { - "description": "Unique identifier for this computation.", - "type": "string" - }, - "stageName": { - "description": "Stage name of this computation.", - "type": "string" - }, - "systemName": { - "description": "System defined name for this computation.", - "type": "string" - }, - "instructions": { - "description": "Instructions that comprise the computation.", - "items": { - "$ref": "ParallelInstruction" - }, - "type": "array" - } - }, - "id": "StreamingComputationConfig" - }, - "TransformSummary": { - "type": "object", - "properties": { - "id": { - "description": "SDK generated id of this transform instance.", - "type": "string" - }, - "displayData": { - "description": "Transform-specific display data.", - "items": { - "$ref": "DisplayData" - }, - "type": "array" - }, - "outputCollectionName": { - "items": { - "type": "string" - }, - "type": "array", - "description": "User names for all collection outputs to this transform." - }, - "kind": { - "enumDescriptions": [ - "Unrecognized transform type.", - "ParDo transform.", - "Group By Key transform.", - "Flatten transform.", - "Read transform.", - "Write transform.", - "Constructs from a constant value, such as with Create.of.", - "Creates a Singleton view of a collection.", - "Opening or closing a shuffle session, often as part of a GroupByKey." - ], - "enum": [ - "UNKNOWN_KIND", - "PAR_DO_KIND", - "GROUP_BY_KEY_KIND", - "FLATTEN_KIND", - "READ_KIND", - "WRITE_KIND", - "CONSTANT_KIND", - "SINGLETON_KIND", - "SHUFFLE_KIND" - ], - "description": "Type of transform.", - "type": "string" - }, - "inputCollectionName": { - "description": "User names for all collection inputs to this transform.", - "items": { - "type": "string" - }, - "type": "array" - }, - "name": { - "description": "User provided name for this transform instance.", - "type": "string" - } - }, - "id": "TransformSummary", - "description": "Description of the type, names/ids, and input/outputs for a transform." - }, - "LeaseWorkItemResponse": { - "type": "object", - "properties": { - "workItems": { - "description": "A list of the leased WorkItems.", - "items": { - "$ref": "WorkItem" - }, - "type": "array" - } - }, - "id": "LeaseWorkItemResponse", - "description": "Response to a request to lease WorkItems." - }, - "LaunchTemplateParameters": { - "properties": { - "parameters": { - "additionalProperties": { - "type": "string" - }, - "description": "The runtime parameters to pass to the job.", - "type": "object" - }, - "jobName": { - "description": "Required. The job name to use for the created job.", - "type": "string" - }, - "environment": { - "description": "The runtime environment for the job.", - "$ref": "RuntimeEnvironment" - } - }, - "id": "LaunchTemplateParameters", - "description": "Parameters to provide to the template being launched.", - "type": "object" - }, - "Sink": { - "description": "A sink that records can be encoded and written to.", - "type": "object", - "properties": { - "codec": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "The codec to use to encode data written to the sink.", - "type": "object" - }, - "spec": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "The sink to write to, plus its parameters.", - "type": "object" - } - }, - "id": "Sink" - }, - "FlattenInstruction": { - "description": "An instruction that copies its inputs (zero or more) to its (single) output.", - "type": "object", - "properties": { - "inputs": { - "description": "Describes the inputs to the flatten instruction.", - "items": { - "$ref": "InstructionInput" - }, - "type": "array" - } - }, - "id": "FlattenInstruction" - }, - "PartialGroupByKeyInstruction": { - "id": "PartialGroupByKeyInstruction", - "description": "An instruction that does a partial group-by-key.\nOne input and one output.", - "type": "object", - "properties": { - "inputElementCodec": { - "description": "The codec to use for interpreting an element in the input PTable.", - "type": "object", - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - } - }, - "valueCombiningFn": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "The value combining function to invoke.", - "type": "object" - }, - "originalCombineValuesInputStoreName": { - "description": "If this instruction includes a combining function this is the name of the\nintermediate store between the GBK and the CombineValues.", - "type": "string" - }, - "sideInputs": { - "items": { - "$ref": "SideInputInfo" - }, - "type": "array", - "description": "Zero or more side inputs." - }, - "originalCombineValuesStepName": { - "description": "If this instruction includes a combining function, this is the name of the\nCombineValues instruction lifted into this instruction.", - "type": "string" - }, - "input": { - "$ref": "InstructionInput", - "description": "Describes the input to the partial group-by-key instruction." - } - } - }, - "StageSource": { - "description": "Description of an input or output of an execution stage.", - "type": "object", - "properties": { - "sizeBytes": { - "format": "int64", - "description": "Size of the source, if measurable.", - "type": "string" - }, - "name": { - "description": "Dataflow service generated name for this source.", - "type": "string" - }, - "userName": { - "description": "Human-readable name for this source; may be user or system generated.", - "type": "string" - }, - "originalTransformOrCollection": { - "description": "User name for the original user transform or collection with which this\nsource is most closely associated.", - "type": "string" - } - }, - "id": "StageSource" - }, - "InstructionInput": { - "description": "An input of an instruction, as a reference to an output of a\nproducer instruction.", - "type": "object", - "properties": { - "producerInstructionIndex": { - "format": "int32", - "description": "The index (origin zero) of the parallel instruction that produces\nthe output to be consumed by this input. This index is relative\nto the list of instructions in this input's instruction's\ncontaining MapTask.", - "type": "integer" - }, - "outputNum": { - "type": "integer", - "format": "int32", - "description": "The output index (origin zero) within the producer." - } - }, - "id": "InstructionInput" - }, - "StringList": { - "description": "A metric value representing a list of strings.", - "type": "object", - "properties": { - "elements": { - "description": "Elements of the list.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "StringList" - }, - "DisplayData": { - "id": "DisplayData", - "description": "Data provided with a pipeline or transform to provide descriptive info.", - "type": "object", - "properties": { - "timestampValue": { - "format": "google-datetime", - "description": "Contains value if the data is of timestamp type.", - "type": "string" - }, - "boolValue": { - "description": "Contains value if the data is of a boolean type.", - "type": "boolean" - }, - "javaClassValue": { - "description": "Contains value if the data is of java class type.", - "type": "string" - }, - "strValue": { - "description": "Contains value if the data is of string type.", - "type": "string" - }, - "int64Value": { - "format": "int64", - "description": "Contains value if the data is of int64 type.", - "type": "string" - }, - "durationValue": { - "format": "google-duration", - "description": "Contains value if the data is of duration type.", - "type": "string" - }, - "namespace": { - "description": "The namespace for the key. This is usually a class name or programming\nlanguage namespace (i.e. python module) which defines the display data.\nThis allows a dax monitoring system to specially handle the data\nand perform custom rendering.", - "type": "string" - }, - "floatValue": { - "format": "float", - "description": "Contains value if the data is of float type.", - "type": "number" - }, - "key": { - "description": "The key identifying the display data.\nThis is intended to be used as a label for the display data\nwhen viewed in a dax monitoring system.", - "type": "string" - }, - "shortStrValue": { - "description": "A possible additional shorter value to display.\nFor example a java_class_name_value of com.mypackage.MyDoFn\nwill be stored with MyDoFn as the short_str_value and\ncom.mypackage.MyDoFn as the java_class_name value.\nshort_str_value can be displayed and java_class_name_value\nwill be displayed as a tooltip.", - "type": "string" - }, - "label": { - "description": "An optional label to display in a dax UI for the element.", - "type": "string" - }, - "url": { - "description": "An optional full URL.", - "type": "string" - } - } - }, - "GetDebugConfigRequest": { - "description": "Request to get updated debug configuration for component.", - "type": "object", - "properties": { - "componentId": { - "type": "string", - "description": "The internal component id for which debug configuration is\nrequested." - }, - "workerId": { - "description": "The worker id, i.e., VM hostname.", - "type": "string" - }, - "location": { - "description": "The location which contains the job specified by job_id.", - "type": "string" - } - }, - "id": "GetDebugConfigRequest" - }, - "LeaseWorkItemRequest": { - "id": "LeaseWorkItemRequest", - "description": "Request to lease WorkItems.", - "type": "object", - "properties": { - "workerCapabilities": { - "description": "Worker capabilities. WorkItems might be limited to workers with specific\ncapabilities.", - "items": { - "type": "string" - }, - "type": "array" - }, - "workerId": { - "type": "string", - "description": "Identifies the worker leasing work -- typically the ID of the\nvirtual machine running the worker." - }, - "requestedLeaseDuration": { - "format": "google-duration", - "description": "The initial lease period.", - "type": "string" - }, - "currentWorkerTime": { - "type": "string", - "format": "google-datetime", - "description": "The current timestamp at the worker." - }, - "location": { - "description": "The location which contains the WorkItem's job.", - "type": "string" - }, - "workItemTypes": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Filter for WorkItem type." - } - } - }, - "GetTemplateResponse": { - "description": "The response to a GetTemplate request.", - "type": "object", - "properties": { - "metadata": { - "description": "The template metadata describing the template name, available\nparameters, etc.", - "$ref": "TemplateMetadata" - }, - "status": { - "$ref": "Status", - "description": "The status of the get template request. Any problems with the\nrequest will be indicated in the error_details." - } - }, - "id": "GetTemplateResponse" - }, - "Parameter": { - "description": "Structured data associated with this message.", - "type": "object", - "properties": { - "key": { - "description": "Key or name for this parameter.", - "type": "string" - }, - "value": { - "description": "Value for this parameter.", - "type": "any" - } - }, - "id": "Parameter" - }, - "ReportWorkItemStatusRequest": { - "description": "Request to report the status of WorkItems.", - "type": "object", - "properties": { - "workItemStatuses": { - "items": { - "$ref": "WorkItemStatus" - }, - "type": "array", - "description": "The order is unimportant, except that the order of the\nWorkItemServiceState messages in the ReportWorkItemStatusResponse\ncorresponds to the order of WorkItemStatus messages here." - }, - "currentWorkerTime": { - "format": "google-datetime", - "description": "The current timestamp at the worker.", - "type": "string" - }, - "workerId": { - "description": "The ID of the worker reporting the WorkItem status. If this\ndoes not match the ID of the worker which the Dataflow service\nbelieves currently has the lease on the WorkItem, the report\nwill be dropped (with an error response).", - "type": "string" - }, - "location": { - "type": "string", - "description": "The location which contains the WorkItem's job." - } - }, - "id": "ReportWorkItemStatusRequest" - }, - "PipelineDescription": { - "description": "A descriptive representation of submitted pipeline as well as the executed\nform. This data is provided by the Dataflow service for ease of visualizing\nthe pipeline and interpretting Dataflow provided metrics.", - "type": "object", - "properties": { - "originalPipelineTransform": { - "description": "Description of each transform in the pipeline and collections between them.", - "items": { - "$ref": "TransformSummary" - }, - "type": "array" - }, - "displayData": { - "description": "Pipeline level display data.", - "items": { - "$ref": "DisplayData" - }, - "type": "array" - }, - "executionPipelineStage": { - "description": "Description of each stage of execution of the pipeline.", - "items": { - "$ref": "ExecutionStageSummary" - }, - "type": "array" - } - }, - "id": "PipelineDescription" - }, - "StreamingConfigTask": { - "id": "StreamingConfigTask", - "description": "A task that carries configuration information for streaming computations.", - "type": "object", - "properties": { - "streamingComputationConfigs": { - "description": "Set of computation configuration information.", - "items": { - "$ref": "StreamingComputationConfig" - }, - "type": "array" - }, - "windmillServiceEndpoint": { - "description": "If present, the worker must use this endpoint to communicate with Windmill\nService dispatchers, otherwise the worker must continue to use whatever\nendpoint it had been using.", - "type": "string" - }, - "userStepToStateFamilyNameMap": { - "description": "Map from user step names to state families.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "windmillServicePort": { - "format": "int64", - "description": "If present, the worker must use this port to communicate with Windmill\nService dispatchers. Only applicable when windmill_service_endpoint is\nspecified.", - "type": "string" - } - } - }, - "JobExecutionInfo": { - "description": "Additional information about how a Cloud Dataflow job will be executed that\nisn't contained in the submitted job.", - "type": "object", - "properties": { - "stages": { - "additionalProperties": { - "$ref": "JobExecutionStageInfo" - }, - "description": "A mapping from each stage to the information about that stage.", - "type": "object" - } - }, - "id": "JobExecutionInfo" - }, - "Step": { - "description": "Defines a particular step within a Cloud Dataflow job.\n\nA job consists of multiple steps, each of which performs some\nspecific operation as part of the overall job. Data is typically\npassed from one step to another as part of the job.\n\nHere's an example of a sequence of steps which together implement a\nMap-Reduce job:\n\n * Read a collection of data from some source, parsing the\n collection's elements.\n\n * Validate the elements.\n\n * Apply a user-defined function to map each element to some value\n and extract an element-specific key value.\n\n * Group elements with the same key into a single element with\n that key, transforming a multiply-keyed collection into a\n uniquely-keyed collection.\n\n * Write the elements out to some data sink.\n\nNote that the Cloud Dataflow service may be used to run many different\ntypes of jobs, not just Map-Reduce.", - "type": "object", - "properties": { - "kind": { - "description": "The kind of step in the Cloud Dataflow job.", - "type": "string" - }, - "properties": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "Named properties associated with the step. Each kind of\npredefined step has its own required set of properties.\nMust be provided on Create. Only retrieved with JOB_VIEW_ALL.", - "type": "object" - }, - "name": { - "description": "The name that identifies the step. This must be unique for each\nstep with respect to all other steps in the Cloud Dataflow job.", - "type": "string" - } - }, - "id": "Step" - }, - "FailedLocation": { - "description": "Indicates which location failed to respond to a request for data.", - "type": "object", - "properties": { - "name": { - "description": "The name of the failed location.", - "type": "string" - } - }, - "id": "FailedLocation" - }, - "Disk": { - "description": "Describes the data disk used by a workflow job.", - "type": "object", - "properties": { - "diskType": { - "type": "string", - "description": "Disk storage type, as defined by Google Compute Engine. This\nmust be a disk type appropriate to the project and zone in which\nthe workers will run. If unknown or unspecified, the service\nwill attempt to choose a reasonable default.\n\nFor example, the standard persistent disk type is a resource name\ntypically ending in \"pd-standard\". If SSD persistent disks are\navailable, the resource name typically ends with \"pd-ssd\". The\nactual valid values are defined the Google Compute Engine API,\nnot by the Cloud Dataflow API; consult the Google Compute Engine\ndocumentation for more information about determining the set of\navailable disk types for a particular project and zone.\n\nGoogle Compute Engine Disk types are local to a particular\nproject in a particular zone, and so the resource name will\ntypically look something like this:\n\ncompute.googleapis.com/projects/project-id/zones/zone/diskTypes/pd-standard" - }, - "sizeGb": { - "format": "int32", - "description": "Size of disk in GB. If zero or unspecified, the service will\nattempt to choose a reasonable default.", - "type": "integer" - }, - "mountPoint": { - "description": "Directory in a VM where disk is mounted.", - "type": "string" - } - }, - "id": "Disk" - }, - "CounterMetadata": { - "description": "CounterMetadata includes all static non-name non-value counter attributes.", - "type": "object", - "properties": { - "description": { - "description": "Human-readable description of the counter semantics.", - "type": "string" - }, - "kind": { - "enumDescriptions": [ - "Counter aggregation kind was not set.", - "Aggregated value is the sum of all contributed values.", - "Aggregated value is the max of all contributed values.", - "Aggregated value is the min of all contributed values.", - "Aggregated value is the mean of all contributed values.", - "Aggregated value represents the logical 'or' of all contributed values.", - "Aggregated value represents the logical 'and' of all contributed values.", - "Aggregated value is a set of unique contributed values.", - "Aggregated value captures statistics about a distribution." - ], - "enum": [ - "INVALID", - "SUM", - "MAX", - "MIN", - "MEAN", - "OR", - "AND", - "SET", - "DISTRIBUTION" - ], - "description": "Counter aggregation kind.", - "type": "string" - }, - "standardUnits": { - "enum": [ - "BYTES", - "BYTES_PER_SEC", - "MILLISECONDS", - "MICROSECONDS", - "NANOSECONDS", - "TIMESTAMP_MSEC", - "TIMESTAMP_USEC", - "TIMESTAMP_NSEC" - ], - "description": "System defined Units, see above enum.", - "type": "string", - "enumDescriptions": [ - "Counter returns a value in bytes.", - "Counter returns a value in bytes per second.", - "Counter returns a value in milliseconds.", - "Counter returns a value in microseconds.", - "Counter returns a value in nanoseconds.", - "Counter returns a timestamp in milliseconds.", - "Counter returns a timestamp in microseconds.", - "Counter returns a timestamp in nanoseconds." - ] - }, - "otherUnits": { - "description": "A string referring to the unit type.", - "type": "string" - } - }, - "id": "CounterMetadata" - }, - "ListJobMessagesResponse": { - "description": "Response to a request to list job messages.", - "type": "object", - "properties": { - "jobMessages": { - "description": "Messages in ascending timestamp order.", - "items": { - "$ref": "JobMessage" - }, - "type": "array" - }, - "nextPageToken": { - "description": "The token to obtain the next page of results if there are more.", - "type": "string" - }, - "autoscalingEvents": { - "description": "Autoscaling events in ascending timestamp order.", - "items": { - "$ref": "AutoscalingEvent" - }, - "type": "array" - } - }, - "id": "ListJobMessagesResponse" - }, - "ApproximateReportedProgress": { - "description": "A progress measurement of a WorkItem by a worker.", - "type": "object", - "properties": { - "remainingParallelism": { - "$ref": "ReportedParallelism", - "description": "Total amount of parallelism in the input of this task that remains,\n(i.e. can be delegated to this task and any new tasks via dynamic\nsplitting). Always at least 1 for non-finished work items and 0 for\nfinished.\n\n\"Amount of parallelism\" refers to how many non-empty parts of the input\ncan be read in parallel. This does not necessarily equal number\nof records. An input that can be read in parallel down to the\nindividual records is called \"perfectly splittable\".\nAn example of non-perfectly parallelizable input is a block-compressed\nfile format where a block of records has to be read as a whole,\nbut different blocks can be read in parallel.\n\nExamples:\n* If we are processing record #30 (starting at 1) out of 50 in a perfectly\n splittable 50-record input, this value should be 21 (20 remaining + 1\n current).\n* If we are reading through block 3 in a block-compressed file consisting\n of 5 blocks, this value should be 3 (since blocks 4 and 5 can be\n processed in parallel by new tasks via dynamic splitting and the current\n task remains processing block 3).\n* If we are reading through the last block in a block-compressed file,\n or reading or processing the last record in a perfectly splittable\n input, this value should be 1, because apart from the current task, no\n additional remainder can be split off." - }, - "position": { - "$ref": "Position", - "description": "A Position within the work to represent a progress." - }, - "fractionConsumed": { - "format": "double", - "description": "Completion as fraction of the input consumed, from 0.0 (beginning, nothing\nconsumed), to 1.0 (end of the input, entire input consumed).", - "type": "number" - }, - "consumedParallelism": { - "$ref": "ReportedParallelism", - "description": "Total amount of parallelism in the portion of input of this task that has\nalready been consumed and is no longer active. In the first two examples\nabove (see remaining_parallelism), the value should be 29 or 2\nrespectively. The sum of remaining_parallelism and consumed_parallelism\nshould equal the total amount of parallelism in this work item. If\nspecified, must be finite." - } - }, - "id": "ApproximateReportedProgress" - }, - "IntegerList": { - "type": "object", - "properties": { - "elements": { - "description": "Elements of the list.", - "items": { - "$ref": "SplitInt64" - }, - "type": "array" - } - }, - "id": "IntegerList", - "description": "A metric value representing a list of integers." - }, - "StateFamilyConfig": { - "description": "State family configuration.", - "type": "object", - "properties": { - "isRead": { - "description": "If true, this family corresponds to a read operation.", - "type": "boolean" - }, - "stateFamily": { - "description": "The state family value.", - "type": "string" - } - }, - "id": "StateFamilyConfig" - }, - "ResourceUtilizationReportResponse": { - "description": "Service-side response to WorkerMessage reporting resource utilization.", - "type": "object", - "properties": {}, - "id": "ResourceUtilizationReportResponse" - }, - "SourceSplitResponse": { - "description": "The response to a SourceSplitRequest.", - "type": "object", - "properties": { - "outcome": { - "enumDescriptions": [ - "The source split outcome is unknown, or unspecified.", - "The current source should be processed \"as is\" without splitting.", - "Splitting produced a list of bundles." - ], - "enum": [ - "SOURCE_SPLIT_OUTCOME_UNKNOWN", - "SOURCE_SPLIT_OUTCOME_USE_CURRENT", - "SOURCE_SPLIT_OUTCOME_SPLITTING_HAPPENED" - ], - "description": "Indicates whether splitting happened and produced a list of bundles.\nIf this is USE_CURRENT_SOURCE_AS_IS, the current source should\nbe processed \"as is\" without splitting. \"bundles\" is ignored in this case.\nIf this is SPLITTING_HAPPENED, then \"bundles\" contains a list of\nbundles into which the source was split.", - "type": "string" - }, - "bundles": { - "items": { - "$ref": "DerivedSource" - }, - "type": "array", - "description": "If outcome is SPLITTING_HAPPENED, then this is a list of bundles\ninto which the source was split. Otherwise this field is ignored.\nThis list can be empty, which means the source represents an empty input." - }, - "shards": { - "items": { - "$ref": "SourceSplitShard" - }, - "type": "array", - "description": "DEPRECATED in favor of bundles." - } - }, - "id": "SourceSplitResponse" - }, - "ParallelInstruction": { - "description": "Describes a particular operation comprising a MapTask.", - "type": "object", - "properties": { - "parDo": { - "$ref": "ParDoInstruction", - "description": "Additional information for ParDo instructions." - }, - "read": { - "$ref": "ReadInstruction", - "description": "Additional information for Read instructions." - }, - "originalName": { - "type": "string", - "description": "System-defined name for the operation in the original workflow graph." - }, - "flatten": { - "$ref": "FlattenInstruction", - "description": "Additional information for Flatten instructions." - }, - "systemName": { - "description": "System-defined name of this operation.\nUnique across the workflow.", - "type": "string" - }, - "write": { - "$ref": "WriteInstruction", - "description": "Additional information for Write instructions." - }, - "partialGroupByKey": { - "$ref": "PartialGroupByKeyInstruction", - "description": "Additional information for PartialGroupByKey instructions." - }, - "outputs": { - "description": "Describes the outputs of the instruction.", - "items": { - "$ref": "InstructionOutput" - }, - "type": "array" - }, - "name": { - "description": "User-provided name of this operation.", - "type": "string" - } - }, - "id": "ParallelInstruction" - }, - "KeyRangeDataDiskAssignment": { - "description": "Data disk assignment information for a specific key-range of a sharded\ncomputation.\nCurrently we only support UTF-8 character splits to simplify encoding into\nJSON.", - "type": "object", - "properties": { - "dataDisk": { - "description": "The name of the data disk where data for this range is stored.\nThis name is local to the Google Cloud Platform project and uniquely\nidentifies the disk within that project, for example\n\"myproject-1014-104817-4c2-harness-0-disk-1\".", - "type": "string" - }, - "start": { - "type": "string", - "description": "The start (inclusive) of the key range." - }, - "end": { - "type": "string", - "description": "The end (exclusive) of the key range." - } - }, - "id": "KeyRangeDataDiskAssignment" - }, - "Package": { - "properties": { - "location": { - "description": "The resource to read the package from. The supported resource type is:\n\nGoogle Cloud Storage:\n\n storage.googleapis.com/{bucket}\n bucket.storage.googleapis.com/", - "type": "string" - }, - "name": { - "description": "The name of the package.", - "type": "string" - } - }, - "id": "Package", - "description": "The packages that must be installed in order for a worker to run the\nsteps of the Cloud Dataflow job that will be assigned to its worker\npool.\n\nThis is the mechanism by which the Cloud Dataflow SDK causes code to\nbe loaded onto the workers. For example, the Cloud Dataflow Java SDK\nmight use this to install jars containing the user's code and all of the\nvarious dependencies (libraries, data files, etc.) required in order\nfor that code to run.", - "type": "object" - }, - "ParDoInstruction": { - "type": "object", - "properties": { - "numOutputs": { - "format": "int32", - "description": "The number of outputs.", - "type": "integer" - }, - "sideInputs": { - "description": "Zero or more side inputs.", - "items": { - "$ref": "SideInputInfo" - }, - "type": "array" - }, - "multiOutputInfos": { - "description": "Information about each of the outputs, if user_fn is a MultiDoFn.", - "items": { - "$ref": "MultiOutputInfo" - }, - "type": "array" - }, - "userFn": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "The user function to invoke.", - "type": "object" - }, - "input": { - "$ref": "InstructionInput", - "description": "The input." - } - }, - "id": "ParDoInstruction", - "description": "An instruction that does a ParDo operation.\nTakes one main input and zero or more side inputs, and produces\nzero or more outputs.\nRuns user code." - }, - "CounterStructuredName": { - "id": "CounterStructuredName", - "description": "Identifies a counter within a per-job namespace. Counters whose structured\nnames are the same get merged into a single value for the job.", - "type": "object", - "properties": { - "origin": { - "description": "One of the standard Origins defined above.", - "type": "string", - "enumDescriptions": [ - "Counter was created by the Dataflow system.", - "Counter was created by the user." - ], - "enum": [ - "SYSTEM", - "USER" - ] - }, - "name": { - "type": "string", - "description": "Counter name. Not necessarily globally-unique, but unique within the\ncontext of the other fields.\nRequired." - }, - "executionStepName": { - "description": "Name of the stage. An execution step contains multiple component steps.", - "type": "string" - }, - "componentStepName": { - "description": "Name of the optimized step being executed by the workers.", - "type": "string" - }, - "portion": { - "description": "Portion of this counter, either key or value.", - "type": "string", - "enumDescriptions": [ - "Counter portion has not been set.", - "Counter reports a key.", - "Counter reports a value." - ], - "enum": [ - "ALL", - "KEY", - "VALUE" - ] - }, - "originalStepName": { - "description": "System generated name of the original step in the user's graph, before\noptimization.", - "type": "string" - }, - "workerId": { - "description": "ID of a particular worker.", - "type": "string" - }, - "originNamespace": { - "description": "A string containing a more specific namespace of the counter's origin.", - "type": "string" - } - } - }, - "MetricUpdate": { - "description": "Describes the state of a metric.", - "type": "object", - "properties": { - "kind": { - "description": "Metric aggregation kind. The possible metric aggregation kinds are\n\"Sum\", \"Max\", \"Min\", \"Mean\", \"Set\", \"And\", \"Or\", and \"Distribution\".\nThe specified aggregation kind is case-insensitive.\n\nIf omitted, this is not an aggregated value but instead\na single metric sample value.", - "type": "string" - }, - "scalar": { - "description": "Worker-computed aggregate value for aggregation kinds \"Sum\", \"Max\", \"Min\",\n\"And\", and \"Or\". The possible value types are Long, Double, and Boolean.", - "type": "any" - }, - "meanCount": { - "description": "Worker-computed aggregate value for the \"Mean\" aggregation kind.\nThis holds the count of the aggregated values and is used in combination\nwith mean_sum above to obtain the actual mean aggregate value.\nThe only possible value type is Long.", - "type": "any" - }, - "meanSum": { - "description": "Worker-computed aggregate value for the \"Mean\" aggregation kind.\nThis holds the sum of the aggregated values and is used in combination\nwith mean_count below to obtain the actual mean aggregate value.\nThe only possible value types are Long and Double.", - "type": "any" - }, - "updateTime": { - "format": "google-datetime", - "description": "Timestamp associated with the metric value. Optional when workers are\nreporting work progress; it will be filled in responses from the\nmetrics API.", - "type": "string" - }, - "name": { - "$ref": "MetricStructuredName", - "description": "Name of the metric." - }, - "distribution": { - "description": "A struct value describing properties of a distribution of numeric values.", - "type": "any" - }, - "set": { - "description": "Worker-computed aggregate value for the \"Set\" aggregation kind. The only\npossible value type is a list of Values whose type can be Long, Double,\nor String, according to the metric's type. All Values in the list must\nbe of the same type.", - "type": "any" - }, - "internal": { - "description": "Worker-computed aggregate value for internal use by the Dataflow\nservice.", - "type": "any" - }, - "cumulative": { - "description": "True if this metric is reported as the total cumulative aggregate\nvalue accumulated since the worker started working on this WorkItem.\nBy default this is false, indicating that this metric is reported\nas a delta that is not associated with any WorkItem.", - "type": "boolean" - } - }, - "id": "MetricUpdate" - }, - "ApproximateProgress": { - "properties": { - "remainingTime": { - "format": "google-duration", - "description": "Obsolete.", - "type": "string" - }, - "position": { - "$ref": "Position", - "description": "Obsolete." - }, - "percentComplete": { - "format": "float", - "description": "Obsolete.", - "type": "number" - } - }, - "id": "ApproximateProgress", - "description": "Obsolete in favor of ApproximateReportedProgress and ApproximateSplitRequest.", - "type": "object" - }, - "WorkerMessageResponse": { - "id": "WorkerMessageResponse", - "description": "A worker_message response allows the server to pass information to the\nsender.", - "type": "object", - "properties": { - "workerMetricsResponse": { - "description": "Service's response to reporting worker metrics (currently empty).", - "$ref": "ResourceUtilizationReportResponse" - }, - "workerHealthReportResponse": { - "$ref": "WorkerHealthReportResponse", - "description": "The service's response to a worker's health report." - } - } - }, - "TemplateMetadata": { - "description": "Metadata describing a template.", - "type": "object", - "properties": { - "parameters": { - "description": "The parameters for the template.", - "items": { - "$ref": "ParameterMetadata" - }, - "type": "array" - }, - "name": { - "description": "Required. The name of the template.", - "type": "string" - }, - "description": { - "type": "string", - "description": "Optional. A description of the template." - } - }, - "id": "TemplateMetadata" } }, - "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" - }, "protocol": "rest", + "icons": { + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" + }, "version": "v1b3", "baseUrl": "https://dataflow.googleapis.com/", "auth": { "oauth2": { "scopes": { - "https://www.googleapis.com/auth/compute.readonly": { - "description": "View your Google Compute Engine resources" - }, - "https://www.googleapis.com/auth/compute": { - "description": "View and manage your Google Compute Engine resources" - }, "https://www.googleapis.com/auth/cloud-platform": { "description": "View and manage your data across Google Cloud Platform services" }, "https://www.googleapis.com/auth/userinfo.email": { "description": "View your email address" + }, + "https://www.googleapis.com/auth/compute.readonly": { + "description": "View your Google Compute Engine resources" + }, + "https://www.googleapis.com/auth/compute": { + "description": "View and manage your Google Compute Engine resources" } } } }, - "servicePath": "", - "description": "Manages Google Cloud Dataflow projects on Google Cloud Platform.", "kind": "discovery#restDescription", - "rootUrl": "https://dataflow.googleapis.com/", - "basePath": "", - "ownerDomain": "google.com", - "name": "dataflow", - "batchPath": "batch" + "description": "Manages Google Cloud Dataflow projects on Google Cloud Platform.", + "servicePath": "", + "rootUrl": "https://dataflow.googleapis.com/" } diff --git a/vendor/google.golang.org/api/dataflow/v1b3/dataflow-gen.go b/vendor/google.golang.org/api/dataflow/v1b3/dataflow-gen.go index 39467333d..a3a16ea10 100644 --- a/vendor/google.golang.org/api/dataflow/v1b3/dataflow-gen.go +++ b/vendor/google.golang.org/api/dataflow/v1b3/dataflow-gen.go @@ -837,6 +837,10 @@ type CounterStructuredName struct { // counter's origin. OriginNamespace string `json:"originNamespace,omitempty"` + // OriginalShuffleStepName: The GroupByKey step name from the original + // graph. + OriginalShuffleStepName string `json:"originalShuffleStepName,omitempty"` + // OriginalStepName: System generated name of the original step in the // user's graph, before // optimization. @@ -850,6 +854,15 @@ type CounterStructuredName struct { // "VALUE" - Counter reports a value. Portion string `json:"portion,omitempty"` + // SideInput: ID of a side input being read from/written to. Side inputs + // are identified + // by a pair of (reader, input_index). The reader is usually equal to + // the + // original name, but it may be different, if a ParDo emits it's + // Iterator / + // Map side input object. + SideInput *SideInputId `json:"sideInput,omitempty"` + // WorkerId: ID of a particular worker. WorkerId string `json:"workerId,omitempty"` @@ -1314,9 +1327,8 @@ type DistributionUpdate struct { // distribution. Count *SplitInt64 `json:"count,omitempty"` - // LogBuckets: (Optional) Logarithmic histogram of values. - // Each log may be in no more than one bucket. Order does not matter. - LogBuckets []*LogBucket `json:"logBuckets,omitempty"` + // Histogram: (Optional) Histogram of value counts for the distribution. + Histogram *Histogram `json:"histogram,omitempty"` // Max: The maximum value present in the distribution. Max *SplitInt64 `json:"max,omitempty"` @@ -1913,6 +1925,57 @@ func (s *GetTemplateResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Histogram: Histogram of value counts for a distribution. +// +// Buckets have an inclusive lower bound and exclusive upper bound and +// use +// "1,2,5 bucketing": The first bucket range is from [0,1) and all +// subsequent +// bucket boundaries are powers of ten multiplied by 1, 2, or 5. Thus, +// bucket +// boundaries are 0, 1, 2, 5, 10, 20, 50, 100, 200, 500, 1000, +// ... +// Negative values are not supported. +type Histogram struct { + // BucketCounts: Counts of values in each bucket. For efficiency, prefix + // and trailing + // buckets with count = 0 are elided. Buckets can store the full range + // of + // values of an unsigned long, with ULLONG_MAX falling into the 59th + // bucket + // with range [1e19, 2e19). + BucketCounts googleapi.Int64s `json:"bucketCounts,omitempty"` + + // FirstBucketOffset: Starting index of first stored bucket. The + // non-inclusive upper-bound of + // the ith bucket is given by: + // pow(10,(i-first_bucket_offset)/3) * + // (1,2,5)[(i-first_bucket_offset)%3] + FirstBucketOffset int64 `json:"firstBucketOffset,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BucketCounts") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BucketCounts") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Histogram) MarshalJSON() ([]byte, error) { + type noMethod Histogram + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // InstructionInput: An input of an instruction, as a reference to an // output of a // producer instruction. @@ -2895,44 +2958,6 @@ func (s *ListJobsResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// LogBucket: Bucket of values for Distribution's logarithmic histogram. -type LogBucket struct { - // Count: Number of values in this bucket. - Count int64 `json:"count,omitempty,string"` - - // Log: floor(log2(value)); defined to be zero for nonpositive values. - // log(-1) = 0 - // log(0) = 0 - // log(1) = 0 - // log(2) = 1 - // log(3) = 1 - // log(4) = 2 - // log(5) = 2 - Log int64 `json:"log,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Count") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Count") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *LogBucket) MarshalJSON() ([]byte, error) { - type noMethod LogBucket - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // MapTask: MapTask consists of an ordered set of instructions, each of // which // describes one particular low-level operation for the worker @@ -4176,6 +4201,40 @@ func (s *ShellTask) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SideInputId: Uniquely identifies a side input. +type SideInputId struct { + // DeclaringStepName: The step that receives and usually consumes this + // side input. + DeclaringStepName string `json:"declaringStepName,omitempty"` + + // InputIndex: The index of the side input, from the list of + // non_parallel_inputs. + InputIndex int64 `json:"inputIndex,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DeclaringStepName") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DeclaringStepName") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *SideInputId) MarshalJSON() ([]byte, error) { + type noMethod SideInputId + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // SideInputInfo: Information about a side input of a DoFn or an input // of a SeqDoFn. type SideInputInfo struct { @@ -4913,9 +4972,9 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in @@ -5912,6 +5971,10 @@ type WorkItemStatus struct { // P' and R' must be together equivalent to P, etc. StopPosition *Position `json:"stopPosition,omitempty"` + // TotalThrottlerWaitTimeSeconds: Total time the worker spent being + // throttled by external systems. + TotalThrottlerWaitTimeSeconds float64 `json:"totalThrottlerWaitTimeSeconds,omitempty"` + // WorkItemId: Identifies the WorkItem. WorkItemId string `json:"workItemId,omitempty"` @@ -5938,6 +6001,20 @@ func (s *WorkItemStatus) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +func (s *WorkItemStatus) UnmarshalJSON(data []byte) error { + type noMethod WorkItemStatus + var s1 struct { + TotalThrottlerWaitTimeSeconds gensupport.JSONFloat64 `json:"totalThrottlerWaitTimeSeconds"` + *noMethod + } + s1.noMethod = (*noMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.TotalThrottlerWaitTimeSeconds = float64(s1.TotalThrottlerWaitTimeSeconds) + return nil +} + // WorkerHealthReport: WorkerHealthReport contains information about the // health of a worker. // @@ -6057,6 +6134,9 @@ type WorkerMessage struct { // WorkerMetrics: Resource metrics reported by workers. WorkerMetrics *ResourceUtilizationReport `json:"workerMetrics,omitempty"` + // WorkerShutdownNotice: Shutdown notice by workers. + WorkerShutdownNotice *WorkerShutdownNotice `json:"workerShutdownNotice,omitempty"` + // ForceSendFields is a list of field names (e.g. "Labels") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -6177,6 +6257,10 @@ type WorkerMessageResponse struct { // (currently empty). WorkerMetricsResponse *ResourceUtilizationReportResponse `json:"workerMetricsResponse,omitempty"` + // WorkerShutdownNoticeResponse: Service's response to shutdown notice + // (currently empty). + WorkerShutdownNoticeResponse *WorkerShutdownNoticeResponse `json:"workerShutdownNoticeResponse,omitempty"` + // ForceSendFields is a list of field names (e.g. // "WorkerHealthReportResponse") to unconditionally include in API // requests. By default, fields with empty values are omitted from API @@ -6450,6 +6534,51 @@ func (s *WorkerSettings) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// WorkerShutdownNotice: Shutdown notification from workers. This is to +// be sent by the shutdown +// script of the worker VM so that the backend knows that the VM is +// being +// shut down. +type WorkerShutdownNotice struct { + // Reason: The reason for the worker shutdown. + // Current possible values are: + // "UNKNOWN": shutdown reason is unknown. + // "PREEMPTION": shutdown reason is preemption. + // Other possible reasons may be added in the future. + // Note that this must match the names of the enum specified + // in + // google3/cloud/dataflow/router/protos/cloud_worker_messages_service. + // proto. + Reason string `json:"reason,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Reason") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Reason") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *WorkerShutdownNotice) MarshalJSON() ([]byte, error) { + type noMethod WorkerShutdownNotice + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// WorkerShutdownNoticeResponse: Service-side response to WorkerMessage +// issuing shutdown notice. +type WorkerShutdownNoticeResponse struct { +} + // WriteInstruction: An instruction that writes records. // Takes one input, produces no outputs. type WriteInstruction struct { @@ -6619,6 +6748,257 @@ func (c *ProjectsWorkerMessagesCall) Do(opts ...googleapi.CallOption) (*SendWork } +// method id "dataflow.projects.jobs.aggregated": + +type ProjectsJobsAggregatedCall struct { + s *Service + projectId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Aggregated: List the jobs of a project across all regions. +func (r *ProjectsJobsService) Aggregated(projectId string) *ProjectsJobsAggregatedCall { + c := &ProjectsJobsAggregatedCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + return c +} + +// Filter sets the optional parameter "filter": The kind of filter to +// use. +// +// Possible values: +// "UNKNOWN" +// "ALL" +// "TERMINATED" +// "ACTIVE" +func (c *ProjectsJobsAggregatedCall) Filter(filter string) *ProjectsJobsAggregatedCall { + c.urlParams_.Set("filter", filter) + return c +} + +// Location sets the optional parameter "location": The location that +// contains this job. +func (c *ProjectsJobsAggregatedCall) Location(location string) *ProjectsJobsAggregatedCall { + c.urlParams_.Set("location", location) + return c +} + +// PageSize sets the optional parameter "pageSize": If there are many +// jobs, limit response to at most this many. +// The actual number of jobs returned will be the lesser of +// max_responses +// and an unspecified server-defined limit. +func (c *ProjectsJobsAggregatedCall) PageSize(pageSize int64) *ProjectsJobsAggregatedCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": Set this to the +// 'next_page_token' field of a previous response +// to request additional results in a long list. +func (c *ProjectsJobsAggregatedCall) PageToken(pageToken string) *ProjectsJobsAggregatedCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// View sets the optional parameter "view": Level of information +// requested in response. Default is `JOB_VIEW_SUMMARY`. +// +// Possible values: +// "JOB_VIEW_UNKNOWN" +// "JOB_VIEW_SUMMARY" +// "JOB_VIEW_ALL" +// "JOB_VIEW_DESCRIPTION" +func (c *ProjectsJobsAggregatedCall) View(view string) *ProjectsJobsAggregatedCall { + 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 information. +func (c *ProjectsJobsAggregatedCall) Fields(s ...googleapi.Field) *ProjectsJobsAggregatedCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsJobsAggregatedCall) IfNoneMatch(entityTag string) *ProjectsJobsAggregatedCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsJobsAggregatedCall) Context(ctx context.Context) *ProjectsJobsAggregatedCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsJobsAggregatedCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsJobsAggregatedCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1b3/projects/{projectId}/jobs:aggregated") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataflow.projects.jobs.aggregated" call. +// Exactly one of *ListJobsResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListJobsResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsJobsAggregatedCall) Do(opts ...googleapi.CallOption) (*ListJobsResponse, 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, &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, err + } + ret := &ListJobsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "List the jobs of a project across all regions.", + // "flatPath": "v1b3/projects/{projectId}/jobs:aggregated", + // "httpMethod": "GET", + // "id": "dataflow.projects.jobs.aggregated", + // "parameterOrder": [ + // "projectId" + // ], + // "parameters": { + // "filter": { + // "description": "The kind of filter to use.", + // "enum": [ + // "UNKNOWN", + // "ALL", + // "TERMINATED", + // "ACTIVE" + // ], + // "location": "query", + // "type": "string" + // }, + // "location": { + // "description": "The location that contains this job.", + // "location": "query", + // "type": "string" + // }, + // "pageSize": { + // "description": "If there are many jobs, limit response to at most this many.\nThe actual number of jobs returned will be the lesser of max_responses\nand an unspecified server-defined limit.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Set this to the 'next_page_token' field of a previous response\nto request additional results in a long list.", + // "location": "query", + // "type": "string" + // }, + // "projectId": { + // "description": "The project which owns the jobs.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "view": { + // "description": "Level of information requested in response. Default is `JOB_VIEW_SUMMARY`.", + // "enum": [ + // "JOB_VIEW_UNKNOWN", + // "JOB_VIEW_SUMMARY", + // "JOB_VIEW_ALL", + // "JOB_VIEW_DESCRIPTION" + // ], + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1b3/projects/{projectId}/jobs:aggregated", + // "response": { + // "$ref": "ListJobsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly", + // "https://www.googleapis.com/auth/userinfo.email" + // ] + // } + +} + +// 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 *ProjectsJobsAggregatedCall) Pages(ctx context.Context, f func(*ListJobsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + // method id "dataflow.projects.jobs.create": type ProjectsJobsCreateCall struct { @@ -7179,7 +7559,7 @@ type ProjectsJobsListCall struct { header_ http.Header } -// List: List the jobs of a project. +// List: List the jobs of a project in a given region. func (r *ProjectsJobsService) List(projectId string) *ProjectsJobsListCall { c := &ProjectsJobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.projectId = projectId @@ -7331,7 +7711,7 @@ func (c *ProjectsJobsListCall) Do(opts ...googleapi.CallOption) (*ListJobsRespon } return ret, nil // { - // "description": "List the jobs of a project.", + // "description": "List the jobs of a project in a given region.", // "flatPath": "v1b3/projects/{projectId}/jobs", // "httpMethod": "GET", // "id": "dataflow.projects.jobs.list", @@ -9140,7 +9520,7 @@ type ProjectsLocationsJobsListCall struct { header_ http.Header } -// List: List the jobs of a project. +// List: List the jobs of a project in a given region. func (r *ProjectsLocationsJobsService) List(projectId string, location string) *ProjectsLocationsJobsListCall { c := &ProjectsLocationsJobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.projectId = projectId @@ -9287,7 +9667,7 @@ func (c *ProjectsLocationsJobsListCall) Do(opts ...googleapi.CallOption) (*ListJ } return ret, nil // { - // "description": "List the jobs of a project.", + // "description": "List the jobs of a project in a given region.", // "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs", // "httpMethod": "GET", // "id": "dataflow.projects.locations.jobs.list", diff --git a/vendor/google.golang.org/api/dataproc/v1/dataproc-api.json b/vendor/google.golang.org/api/dataproc/v1/dataproc-api.json index 429708659..c770cff75 100644 --- a/vendor/google.golang.org/api/dataproc/v1/dataproc-api.json +++ b/vendor/google.golang.org/api/dataproc/v1/dataproc-api.json @@ -1,11 +1,25 @@ { + "baseUrl": "https://dataproc.googleapis.com/", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "kind": "discovery#restDescription", + "description": "Manages Hadoop-based clusters and jobs on Google Cloud Platform.", + "servicePath": "", + "rootUrl": "https://dataproc.googleapis.com/", "basePath": "", "ownerDomain": "google.com", "name": "dataproc", "batchPath": "batch", "id": "dataproc:v1", "documentationLink": "https://cloud.google.com/dataproc/", - "revision": "20170523", + "revision": "20170926", "title": "Google Cloud Dataproc API", "ownerName": "Google", "discoveryVersion": "v1", @@ -17,36 +31,68 @@ "operations": { "methods": { "cancel": { - "id": "dataproc.projects.regions.operations.cancel", - "path": "v1/{+name}:cancel", "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", - "httpMethod": "POST", - "parameterOrder": [ - "name" - ], "response": { "$ref": "Empty" }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { "name": { + "location": "path", "description": "The name of the operation resource to be cancelled.", - "required": true, "type": "string", - "pattern": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$", - "location": "path" + "required": true, + "pattern": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}:cancel", + "id": "dataproc.projects.regions.operations.cancel", + "path": "v1/{+name}:cancel" + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "parameters": { + "name": { + "location": "path", + "description": "The name of the operation resource to be deleted.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$" } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "flatPath": "v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}:cancel" + "flatPath": "v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}", + "id": "dataproc.projects.regions.operations.delete", + "path": "v1/{+name}" }, - "delete": { + "get": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", "parameters": { "name": { - "description": "The name of the operation resource to be deleted.", - "required": true, + "description": "The name of the operation resource.", "type": "string", + "required": true, "pattern": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$", "location": "path" } @@ -55,137 +101,56 @@ "https://www.googleapis.com/auth/cloud-platform" ], "flatPath": "v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}", + "id": "dataproc.projects.regions.operations.get", "path": "v1/{+name}", - "id": "dataproc.projects.regions.operations.delete", - "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "DELETE" + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service." }, "list": { + "flatPath": "v1/projects/{projectsId}/regions/{regionsId}/operations", + "id": "dataproc.projects.regions.operations.list", + "path": "v1/{+name}", "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: the name binding allows API services to override the binding to use different resource name schemes, such as users/*/operations. To override the binding, API services can add a binding such as \"/v1/{name=users/*}/operations\" to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.", - "httpMethod": "GET", - "parameterOrder": [ - "name" - ], "response": { "$ref": "ListOperationsResponse" }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], "parameters": { - "name": { - "location": "path", - "description": "The name of the operation's parent resource.", - "required": true, + "filter": { + "description": "The standard list filter.", "type": "string", - "pattern": "^projects/[^/]+/regions/[^/]+/operations$" + "location": "query" }, "pageToken": { "location": "query", "description": "The standard list page token.", "type": "string" }, - "pageSize": { - "description": "The standard list page size.", - "format": "int32", - "type": "integer", - "location": "query" - }, - "filter": { - "location": "query", - "description": "The standard list filter.", - "type": "string" - } - }, - "flatPath": "v1/projects/{projectsId}/regions/{regionsId}/operations", - "id": "dataproc.projects.regions.operations.list", - "path": "v1/{+name}" - }, - "get": { - "id": "dataproc.projects.regions.operations.get", - "path": "v1/{+name}", - "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", - "httpMethod": "GET", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { "name": { - "description": "The name of the operation resource.", - "required": true, + "description": "The name of the operation's parent resource.", "type": "string", - "pattern": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$", + "required": true, + "pattern": "^projects/[^/]+/regions/[^/]+/operations$", "location": "path" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "The standard list page size.", + "type": "integer" } - }, - "flatPath": "v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}" + } } } }, "jobs": { "methods": { - "patch": { - "response": { - "$ref": "Job" - }, - "parameterOrder": [ - "projectId", - "region", - "jobId" - ], - "httpMethod": "PATCH", - "parameters": { - "projectId": { - "location": "path", - "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", - "required": true, - "type": "string" - }, - "jobId": { - "location": "path", - "description": "Required. The job ID.", - "required": true, - "type": "string" - }, - "region": { - "description": "Required. The Cloud Dataproc region in which to handle the request.", - "required": true, - "type": "string", - "location": "path" - }, - "updateMask": { - "location": "query", - "description": "Required. Specifies the path, relative to \u003ccode\u003eJob\u003c/code\u003e, of the field to update. For example, to update the labels of a Job the \u003ccode\u003eupdate_mask\u003c/code\u003e parameter would be specified as \u003ccode\u003elabels\u003c/code\u003e, and the PATCH request body would specify the new value. \u003cstrong\u003eNote:\u003c/strong\u003e Currently, \u003ccode\u003elabels\u003c/code\u003e is the only field that can be updated.", - "format": "google-fieldmask", - "type": "string" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}", - "path": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}", - "id": "dataproc.projects.regions.jobs.patch", - "request": { - "$ref": "Job" - }, - "description": "Updates a job in a project." - }, "get": { - "path": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}", - "id": "dataproc.projects.regions.jobs.get", "description": "Gets the resource representation for a job in a project.", "response": { "$ref": "Job" @@ -197,35 +162,80 @@ ], "httpMethod": "GET", "parameters": { - "projectId": { + "region": { "location": "path", - "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", - "required": true, - "type": "string" + "description": "Required. The Cloud Dataproc region in which to handle the request.", + "type": "string", + "required": true }, "jobId": { "description": "Required. The job ID.", - "required": true, "type": "string", + "required": true, "location": "path" }, - "region": { - "required": true, - "type": "string", + "projectId": { "location": "path", - "description": "Required. The Cloud Dataproc region in which to handle the request." + "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", + "type": "string", + "required": true } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "flatPath": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}" + "flatPath": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}", + "id": "dataproc.projects.regions.jobs.get", + "path": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}" + }, + "patch": { + "description": "Updates a job in a project.", + "request": { + "$ref": "Job" + }, + "httpMethod": "PATCH", + "parameterOrder": [ + "projectId", + "region", + "jobId" + ], + "response": { + "$ref": "Job" + }, + "parameters": { + "jobId": { + "location": "path", + "description": "Required. The job ID.", + "type": "string", + "required": true + }, + "projectId": { + "location": "path", + "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", + "type": "string", + "required": true + }, + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Required. Specifies the path, relative to \u003ccode\u003eJob\u003c/code\u003e, of the field to update. For example, to update the labels of a Job the \u003ccode\u003eupdate_mask\u003c/code\u003e parameter would be specified as \u003ccode\u003elabels\u003c/code\u003e, and the PATCH request body would specify the new value. \u003cstrong\u003eNote:\u003c/strong\u003e Currently, \u003ccode\u003elabels\u003c/code\u003e is the only field that can be updated.", + "type": "string" + }, + "region": { + "description": "Required. The Cloud Dataproc region in which to handle the request.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}", + "path": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}", + "id": "dataproc.projects.regions.jobs.patch" }, "submit": { - "request": { - "$ref": "SubmitJobRequest" - }, - "description": "Submits a job to a cluster.", "httpMethod": "POST", "parameterOrder": [ "projectId", @@ -234,26 +244,30 @@ "response": { "$ref": "Job" }, - "parameters": { - "projectId": { - "location": "path", - "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", - "required": true, - "type": "string" - }, - "region": { - "description": "Required. The Cloud Dataproc region in which to handle the request.", - "required": true, - "type": "string", - "location": "path" - } - }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], + "parameters": { + "region": { + "description": "Required. The Cloud Dataproc region in which to handle the request.", + "type": "string", + "required": true, + "location": "path" + }, + "projectId": { + "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", + "type": "string", + "required": true, + "location": "path" + } + }, "flatPath": "v1/projects/{projectId}/regions/{region}/jobs:submit", + "path": "v1/projects/{projectId}/regions/{region}/jobs:submit", "id": "dataproc.projects.regions.jobs.submit", - "path": "v1/projects/{projectId}/regions/{region}/jobs:submit" + "request": { + "$ref": "SubmitJobRequest" + }, + "description": "Submits a job to a cluster." }, "delete": { "description": "Deletes the job from the project. If the job is active, the delete fails, and the response returns FAILED_PRECONDITION.", @@ -267,35 +281,33 @@ ], "httpMethod": "DELETE", "parameters": { - "projectId": { - "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", - "required": true, - "type": "string", - "location": "path" - }, - "jobId": { - "description": "Required. The job ID.", - "required": true, - "type": "string", - "location": "path" - }, "region": { "location": "path", "description": "Required. The Cloud Dataproc region in which to handle the request.", + "type": "string", + "required": true + }, + "jobId": { + "location": "path", + "description": "Required. The job ID.", + "type": "string", + "required": true + }, + "projectId": { + "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", + "type": "string", "required": true, - "type": "string" + "location": "path" } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], "flatPath": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}", - "path": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}", - "id": "dataproc.projects.regions.jobs.delete" + "id": "dataproc.projects.regions.jobs.delete", + "path": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}" }, "list": { - "path": "v1/projects/{projectId}/regions/{region}/jobs", - "id": "dataproc.projects.regions.jobs.list", "description": "Lists regions/{region}/jobs in a project.", "response": { "$ref": "ListJobsResponse" @@ -305,26 +317,12 @@ "region" ], "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "parameters": { - "pageToken": { - "location": "query", - "description": "Optional. The page token, returned by a previous call, to request the next page of results.", - "type": "string" - }, - "pageSize": { - "location": "query", - "description": "Optional. The number of results to return in each response.", - "format": "int32", - "type": "integer" - }, "region": { - "location": "path", "description": "Required. The Cloud Dataproc region in which to handle the request.", + "type": "string", "required": true, - "type": "string" + "location": "path" }, "clusterName": { "description": "Optional. If set, the returned jobs list includes only jobs that were submitted to the named cluster.", @@ -332,10 +330,10 @@ "location": "query" }, "projectId": { - "required": true, - "type": "string", "location": "path", - "description": "Required. The ID of the Google Cloud Platform project that the job belongs to." + "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", + "type": "string", + "required": true }, "filter": { "location": "query", @@ -343,51 +341,67 @@ "type": "string" }, "jobStateMatcher": { + "description": "Optional. Specifies enumerated categories of jobs to list (default = match ALL jobs).", + "type": "string", "location": "query", "enum": [ "ALL", "ACTIVE", "NON_ACTIVE" - ], - "description": "Optional. Specifies enumerated categories of jobs to list (default = match ALL jobs).", - "type": "string" + ] + }, + "pageToken": { + "description": "Optional. The page token, returned by a previous call, to request the next page of results.", + "type": "string", + "location": "query" + }, + "pageSize": { + "format": "int32", + "description": "Optional. The number of results to return in each response.", + "type": "integer", + "location": "query" } }, - "flatPath": "v1/projects/{projectId}/regions/{region}/jobs" + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectId}/regions/{region}/jobs", + "id": "dataproc.projects.regions.jobs.list", + "path": "v1/projects/{projectId}/regions/{region}/jobs" }, "cancel": { - "httpMethod": "POST", + "response": { + "$ref": "Job" + }, "parameterOrder": [ "projectId", "region", "jobId" ], - "response": { - "$ref": "Job" + "httpMethod": "POST", + "parameters": { + "region": { + "description": "Required. The Cloud Dataproc region in which to handle the request.", + "type": "string", + "required": true, + "location": "path" + }, + "jobId": { + "description": "Required. The job ID.", + "type": "string", + "required": true, + "location": "path" + }, + "projectId": { + "location": "path", + "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", + "type": "string", + "required": true + } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "parameters": { - "region": { - "location": "path", - "description": "Required. The Cloud Dataproc region in which to handle the request.", - "required": true, - "type": "string" - }, - "projectId": { - "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", - "required": true, - "type": "string", - "location": "path" - }, - "jobId": { - "location": "path", - "description": "Required. The job ID.", - "required": true, - "type": "string" - } - }, "flatPath": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}:cancel", "id": "dataproc.projects.regions.jobs.cancel", "path": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}:cancel", @@ -401,6 +415,7 @@ "clusters": { "methods": { "list": { + "description": "Lists all regions/{region}/clusters in a project.", "response": { "$ref": "ListClustersResponse" }, @@ -409,206 +424,208 @@ "region" ], "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { "pageSize": { - "location": "query", - "description": "Optional. The standard List page size.", "format": "int32", - "type": "integer" + "description": "Optional. The standard List page size.", + "type": "integer", + "location": "query" }, "projectId": { "description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", - "required": true, "type": "string", - "location": "path" - }, - "region": { - "location": "path", - "description": "Required. The Cloud Dataproc region in which to handle the request.", "required": true, - "type": "string" + "location": "path" }, "filter": { "location": "query", "description": "Optional. A filter constraining the clusters to list. Filters are case-sensitive and have the following syntax:field = value AND field = value ...where field is one of status.state, clusterName, or labels.[KEY], and [KEY] is a label key. value can be * to match all values. status.state can be one of the following: ACTIVE, INACTIVE, CREATING, RUNNING, ERROR, DELETING, or UPDATING. ACTIVE contains the CREATING, UPDATING, and RUNNING states. INACTIVE contains the DELETING and ERROR states. clusterName is the name of the cluster provided at creation time. Only the logical AND operator is supported; space-separated items are treated as having an implicit AND operator.Example filter:status.state = ACTIVE AND clusterName = mycluster AND labels.env = staging AND labels.starred = *", "type": "string" }, + "region": { + "description": "Required. The Cloud Dataproc region in which to handle the request.", + "type": "string", + "required": true, + "location": "path" + }, "pageToken": { "description": "Optional. The standard List page token.", "type": "string", "location": "query" } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "flatPath": "v1/projects/{projectId}/regions/{region}/clusters", - "path": "v1/projects/{projectId}/regions/{region}/clusters", "id": "dataproc.projects.regions.clusters.list", - "description": "Lists all regions/{region}/clusters in a project." + "path": "v1/projects/{projectId}/regions/{region}/clusters" }, "create": { + "flatPath": "v1/projects/{projectId}/regions/{region}/clusters", + "path": "v1/projects/{projectId}/regions/{region}/clusters", + "id": "dataproc.projects.regions.clusters.create", + "description": "Creates a cluster in a project.", "request": { "$ref": "Cluster" }, - "description": "Creates a cluster in a project.", - "response": { - "$ref": "Operation" - }, + "httpMethod": "POST", "parameterOrder": [ "projectId", "region" ], - "httpMethod": "POST", - "parameters": { - "projectId": { - "location": "path", - "description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", - "required": true, - "type": "string" - }, - "region": { - "location": "path", - "description": "Required. The Cloud Dataproc region in which to handle the request.", - "required": true, - "type": "string" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectId}/regions/{region}/clusters", - "path": "v1/projects/{projectId}/regions/{region}/clusters", - "id": "dataproc.projects.regions.clusters.create" - }, - "get": { - "httpMethod": "GET", "response": { - "$ref": "Cluster" + "$ref": "Operation" }, - "parameterOrder": [ - "projectId", - "region", - "clusterName" - ], "parameters": { "region": { "location": "path", "description": "Required. The Cloud Dataproc region in which to handle the request.", - "required": true, - "type": "string" - }, - "clusterName": { - "location": "path", - "description": "Required. The cluster name.", - "required": true, - "type": "string" + "type": "string", + "required": true }, "projectId": { + "location": "path", "description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", - "required": true, "type": "string", - "location": "path" + "required": true } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}", - "id": "dataproc.projects.regions.clusters.get", - "path": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}", - "description": "Gets the resource representation for a cluster in a project." + ] }, "patch": { - "parameters": { - "clusterName": { - "description": "Required. The cluster name.", - "required": true, - "type": "string", - "location": "path" - }, - "projectId": { - "description": "Required. The ID of the Google Cloud Platform project the cluster belongs to.", - "required": true, - "type": "string", - "location": "path" - }, - "region": { - "location": "path", - "description": "Required. The Cloud Dataproc region in which to handle the request.", - "required": true, - "type": "string" - }, - "updateMask": { - "location": "query", - "description": "Required. Specifies the path, relative to Cluster, of the field to update. For example, to change the number of workers in a cluster to 5, the update_mask parameter would be specified as config.worker_config.num_instances, and the PATCH request body would specify the new value, as follows:\n{\n \"config\":{\n \"workerConfig\":{\n \"numInstances\":\"5\"\n }\n }\n}\nSimilarly, to change the number of preemptible workers in a cluster to 5, the update_mask parameter would be config.secondary_worker_config.num_instances, and the PATCH request body would be set as follows:\n{\n \"config\":{\n \"secondaryWorkerConfig\":{\n \"numInstances\":\"5\"\n }\n }\n}\n\u003cstrong\u003eNote:\u003c/strong\u003e Currently, only the following fields can be updated:\u003ctable\u003e \u003ctbody\u003e \u003ctr\u003e \u003ctd\u003e\u003cstrong\u003eMask\u003c/strong\u003e\u003c/td\u003e \u003ctd\u003e\u003cstrong\u003ePurpose\u003c/strong\u003e\u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd\u003e\u003cstrong\u003e\u003cem\u003elabels\u003c/em\u003e\u003c/strong\u003e\u003c/td\u003e \u003ctd\u003eUpdate labels\u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd\u003e\u003cstrong\u003e\u003cem\u003econfig.worker_config.num_instances\u003c/em\u003e\u003c/strong\u003e\u003c/td\u003e \u003ctd\u003eResize primary worker group\u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd\u003e\u003cstrong\u003e\u003cem\u003econfig.secondary_worker_config.num_instances\u003c/em\u003e\u003c/strong\u003e\u003c/td\u003e \u003ctd\u003eResize secondary worker group\u003c/td\u003e \u003c/tr\u003e \u003c/tbody\u003e \u003c/table\u003e", - "format": "google-fieldmask", - "type": "string" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}", - "path": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}", - "id": "dataproc.projects.regions.clusters.patch", "request": { "$ref": "Cluster" }, "description": "Updates a cluster in a project.", - "response": { - "$ref": "Operation" - }, + "httpMethod": "PATCH", "parameterOrder": [ "projectId", "region", "clusterName" ], - "httpMethod": "PATCH" - }, - "delete": { - "description": "Deletes a cluster in a project.", - "httpMethod": "DELETE", "response": { "$ref": "Operation" }, - "parameterOrder": [ - "projectId", - "region", - "clusterName" - ], "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], + "parameters": { + "projectId": { + "location": "path", + "description": "Required. The ID of the Google Cloud Platform project the cluster belongs to.", + "type": "string", + "required": true + }, + "updateMask": { + "format": "google-fieldmask", + "description": "Required. Specifies the path, relative to Cluster, of the field to update. For example, to change the number of workers in a cluster to 5, the update_mask parameter would be specified as config.worker_config.num_instances, and the PATCH request body would specify the new value, as follows:\n{\n \"config\":{\n \"workerConfig\":{\n \"numInstances\":\"5\"\n }\n }\n}\nSimilarly, to change the number of preemptible workers in a cluster to 5, the update_mask parameter would be config.secondary_worker_config.num_instances, and the PATCH request body would be set as follows:\n{\n \"config\":{\n \"secondaryWorkerConfig\":{\n \"numInstances\":\"5\"\n }\n }\n}\n\u003cstrong\u003eNote:\u003c/strong\u003e Currently, only the following fields can be updated:\u003ctable\u003e \u003ctbody\u003e \u003ctr\u003e \u003ctd\u003e\u003cstrong\u003eMask\u003c/strong\u003e\u003c/td\u003e \u003ctd\u003e\u003cstrong\u003ePurpose\u003c/strong\u003e\u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd\u003e\u003cstrong\u003e\u003cem\u003elabels\u003c/em\u003e\u003c/strong\u003e\u003c/td\u003e \u003ctd\u003eUpdate labels\u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd\u003e\u003cstrong\u003e\u003cem\u003econfig.worker_config.num_instances\u003c/em\u003e\u003c/strong\u003e\u003c/td\u003e \u003ctd\u003eResize primary worker group\u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd\u003e\u003cstrong\u003e\u003cem\u003econfig.secondary_worker_config.num_instances\u003c/em\u003e\u003c/strong\u003e\u003c/td\u003e \u003ctd\u003eResize secondary worker group\u003c/td\u003e \u003c/tr\u003e \u003c/tbody\u003e \u003c/table\u003e", + "type": "string", + "location": "query" + }, + "region": { + "location": "path", + "description": "Required. The Cloud Dataproc region in which to handle the request.", + "type": "string", + "required": true + }, + "clusterName": { + "description": "Required. The cluster name.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}", + "path": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}", + "id": "dataproc.projects.regions.clusters.patch" + }, + "get": { + "description": "Gets the resource representation for a cluster in a project.", + "httpMethod": "GET", + "parameterOrder": [ + "projectId", + "region", + "clusterName" + ], + "response": { + "$ref": "Cluster" + }, "parameters": { "region": { "description": "Required. The Cloud Dataproc region in which to handle the request.", - "required": true, "type": "string", + "required": true, "location": "path" }, "clusterName": { "location": "path", "description": "Required. The cluster name.", - "required": true, - "type": "string" + "type": "string", + "required": true }, "projectId": { + "location": "path", "description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", - "required": true, "type": "string", - "location": "path" + "required": true } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "flatPath": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}", - "id": "dataproc.projects.regions.clusters.delete", - "path": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}" + "path": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}", + "id": "dataproc.projects.regions.clusters.get" }, "diagnose": { "request": { "$ref": "DiagnoseClusterRequest" }, "description": "Gets cluster diagnostic information. After the operation completes, the Operation.response field contains DiagnoseClusterOutputLocation.", + "httpMethod": "POST", + "parameterOrder": [ + "projectId", + "region", + "clusterName" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "projectId": { + "description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", + "type": "string", + "required": true, + "location": "path" + }, + "region": { + "location": "path", + "description": "Required. The Cloud Dataproc region in which to handle the request.", + "type": "string", + "required": true + }, + "clusterName": { + "location": "path", + "description": "Required. The cluster name.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:diagnose", + "path": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:diagnose", + "id": "dataproc.projects.regions.clusters.diagnose" + }, + "delete": { + "flatPath": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}", + "id": "dataproc.projects.regions.clusters.delete", + "path": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}", + "description": "Deletes a cluster in a project.", "response": { "$ref": "Operation" }, @@ -617,33 +634,30 @@ "region", "clusterName" ], - "httpMethod": "POST", - "parameters": { - "region": { - "description": "Required. The Cloud Dataproc region in which to handle the request.", - "required": true, - "type": "string", - "location": "path" - }, - "clusterName": { - "description": "Required. The cluster name.", - "required": true, - "type": "string", - "location": "path" - }, - "projectId": { - "location": "path", - "description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", - "required": true, - "type": "string" - } - }, + "httpMethod": "DELETE", "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "flatPath": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:diagnose", - "path": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:diagnose", - "id": "dataproc.projects.regions.clusters.diagnose" + "parameters": { + "projectId": { + "description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", + "type": "string", + "required": true, + "location": "path" + }, + "region": { + "description": "Required. The Cloud Dataproc region in which to handle the request.", + "type": "string", + "required": true, + "location": "path" + }, + "clusterName": { + "location": "path", + "description": "Required. The cluster name.", + "type": "string", + "required": true + } + } } } } @@ -653,47 +667,47 @@ } }, "parameters": { - "access_token": { - "location": "query", - "description": "OAuth access token.", - "type": "string" - }, "key": { "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", "type": "string", "location": "query" }, + "access_token": { + "location": "query", + "description": "OAuth access token.", + "type": "string" + }, "quotaUser": { "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", "type": "string", "location": "query" }, "pp": { + "location": "query", "description": "Pretty-print response.", - "type": "boolean", "default": "true", + "type": "boolean" + }, + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", "location": "query" }, "oauth_token": { - "type": "string", "location": "query", - "description": "OAuth 2.0 token for the current user." - }, - "bearer_token": { - "location": "query", - "description": "OAuth bearer token.", + "description": "OAuth 2.0 token for the current user.", "type": "string" }, "upload_protocol": { + "location": "query", "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string", - "location": "query" + "type": "string" }, "prettyPrint": { - "location": "query", "description": "Returns response with indentations and line breaks.", + "default": "true", "type": "boolean", - "default": "true" + "location": "query" }, "fields": { "location": "query", @@ -705,22 +719,22 @@ "type": "string", "location": "query" }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, "$.xgafv": { + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", "enum": [ "1", "2" ], "description": "V1 error format.", + "type": "string" + }, + "callback": { + "description": "JSONP", "type": "string", - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], "location": "query" }, "alt": { @@ -741,23 +755,587 @@ } }, "schemas": { + "ListClustersResponse": { + "description": "The list of all clusters in a project.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "Output-only. This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent ListClustersRequest.", + "type": "string" + }, + "clusters": { + "description": "Output-only. The clusters in the project.", + "items": { + "$ref": "Cluster" + }, + "type": "array" + } + }, + "id": "ListClustersResponse" + }, + "Job": { + "description": "A Cloud Dataproc job resource.", + "type": "object", + "properties": { + "scheduling": { + "$ref": "JobScheduling", + "description": "Optional. Job scheduling configuration." + }, + "pigJob": { + "$ref": "PigJob", + "description": "Job is a Pig job." + }, + "hiveJob": { + "description": "Job is a Hive job.", + "$ref": "HiveJob" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels to associate with this job. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a job.", + "type": "object" + }, + "driverOutputResourceUri": { + "description": "Output-only. A URI pointing to the location of the stdout of the job's driver program.", + "type": "string" + }, + "sparkJob": { + "description": "Job is a Spark job.", + "$ref": "SparkJob" + }, + "sparkSqlJob": { + "description": "Job is a SparkSql job.", + "$ref": "SparkSqlJob" + }, + "statusHistory": { + "description": "Output-only. The previous job status.", + "items": { + "$ref": "JobStatus" + }, + "type": "array" + }, + "yarnApplications": { + "description": "Output-only. The collection of YARN applications spun up by this job.Beta Feature: This report is available for testing purposes only. It may be changed before final release.", + "items": { + "$ref": "YarnApplication" + }, + "type": "array" + }, + "pysparkJob": { + "$ref": "PySparkJob", + "description": "Job is a Pyspark job." + }, + "reference": { + "description": "Optional. The fully qualified reference to the job, which can be used to obtain the equivalent REST path of the job resource. If this property is not specified when a job is created, the server generates a \u003ccode\u003ejob_id\u003c/code\u003e.", + "$ref": "JobReference" + }, + "hadoopJob": { + "description": "Job is a Hadoop job.", + "$ref": "HadoopJob" + }, + "placement": { + "description": "Required. Job information, including how, when, and where to run the job.", + "$ref": "JobPlacement" + }, + "status": { + "description": "Output-only. The job status. Additional application-specific status information may be contained in the \u003ccode\u003etype_job\u003c/code\u003e and \u003ccode\u003eyarn_applications\u003c/code\u003e fields.", + "$ref": "JobStatus" + }, + "driverControlFilesUri": { + "description": "Output-only. If present, the location of miscellaneous control files which may be used as part of job setup and handling. If not present, control files may be placed in the same location as driver_output_uri.", + "type": "string" + } + }, + "id": "Job" + }, + "SparkJob": { + "description": "A Cloud Dataproc job for running Apache Spark (http://spark.apache.org/) applications on YARN.", + "type": "object", + "properties": { + "args": { + "description": "Optional. The arguments to pass to the driver. Do not include arguments, such as --conf, that can be set as job properties, since a collision may occur that causes an incorrect job submission.", + "items": { + "type": "string" + }, + "type": "array" + }, + "fileUris": { + "description": "Optional. HCFS URIs of files to be copied to the working directory of Spark drivers and distributed tasks. Useful for naively parallel tasks.", + "items": { + "type": "string" + }, + "type": "array" + }, + "mainClass": { + "description": "The name of the driver's main class. The jar file that contains the class must be in the default CLASSPATH or specified in jar_file_uris.", + "type": "string" + }, + "archiveUris": { + "description": "Optional. HCFS URIs of archives to be extracted in the working directory of Spark drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.", + "items": { + "type": "string" + }, + "type": "array" + }, + "mainJarFileUri": { + "description": "The HCFS URI of the jar file that contains the main class.", + "type": "string" + }, + "jarFileUris": { + "description": "Optional. HCFS URIs of jar files to add to the CLASSPATHs of the Spark driver and tasks.", + "items": { + "type": "string" + }, + "type": "array" + }, + "loggingConfig": { + "description": "Optional. The runtime log config for job execution.", + "$ref": "LoggingConfig" + }, + "properties": { + "description": "Optional. A mapping of property names to values, used to configure Spark. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "id": "SparkJob" + }, + "JobStatus": { + "description": "Cloud Dataproc job status.", + "type": "object", + "properties": { + "details": { + "description": "Output-only. Optional job state details, such as an error description if the state is \u003ccode\u003eERROR\u003c/code\u003e.", + "type": "string" + }, + "state": { + "enumDescriptions": [ + "The job state is unknown.", + "The job is pending; it has been submitted, but is not yet running.", + "Job has been received by the service and completed initial setup; it will soon be submitted to the cluster.", + "The job is running on the cluster.", + "A CancelJob request has been received, but is pending.", + "Transient in-flight resources have been canceled, and the request to cancel the running job has been issued to the cluster.", + "The job cancellation was successful.", + "The job has completed successfully.", + "The job has completed, but encountered an error.", + "Job attempt has failed. The detail field contains failure details for this attempt.Applies to restartable jobs only." + ], + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "SETUP_DONE", + "RUNNING", + "CANCEL_PENDING", + "CANCEL_STARTED", + "CANCELLED", + "DONE", + "ERROR", + "ATTEMPT_FAILURE" + ], + "description": "Output-only. A state message specifying the overall job state.", + "type": "string" + }, + "substate": { + "enumDescriptions": [ + "", + "The Job is submitted to the agent.Applies to RUNNING state.", + "The Job has been received and is awaiting execution (it may be waiting for a condition to be met). See the \"details\" field for the reason for the delay.Applies to RUNNING state.", + "The agent-reported status is out of date, which may be caused by a loss of communication between the agent and Cloud Dataproc. If the agent does not send a timely update, the job will fail.Applies to RUNNING state." + ], + "enum": [ + "UNSPECIFIED", + "SUBMITTED", + "QUEUED", + "STALE_STATUS" + ], + "description": "Output-only. Additional state information, which includes status reported by the agent.", + "type": "string" + }, + "stateStartTime": { + "format": "google-datetime", + "description": "Output-only. The time when this state was entered.", + "type": "string" + } + }, + "id": "JobStatus" + }, + "ManagedGroupConfig": { + "description": "Specifies the resources used to actively manage an instance group.", + "type": "object", + "properties": { + "instanceGroupManagerName": { + "description": "Output-only. The name of the Instance Group Manager for this group.", + "type": "string" + }, + "instanceTemplateName": { + "description": "Output-only. The name of the Instance Template used for the Managed Instance Group.", + "type": "string" + } + }, + "id": "ManagedGroupConfig" + }, + "ClusterOperationStatus": { + "description": "The status of the operation.", + "type": "object", + "properties": { + "details": { + "description": "Output-only.A message containing any operation metadata details.", + "type": "string" + }, + "state": { + "description": "Output-only. A message containing the operation state.", + "type": "string", + "enumDescriptions": [ + "Unused.", + "The operation has been created.", + "The operation is running.", + "The operation is done; either cancelled or completed." + ], + "enum": [ + "UNKNOWN", + "PENDING", + "RUNNING", + "DONE" + ] + }, + "innerState": { + "description": "Output-only. A message containing the detailed operation state.", + "type": "string" + }, + "stateStartTime": { + "format": "google-datetime", + "description": "Output-only. The time this state was entered.", + "type": "string" + } + }, + "id": "ClusterOperationStatus" + }, + "YarnApplication": { + "description": "A YARN application created by a job. Application information is a subset of \u003ccode\u003eorg.apache.hadoop.yarn.proto.YarnProtos.ApplicationReportProto\u003c/code\u003e.Beta Feature: This report is available for testing purposes only. It may be changed before final release.", + "type": "object", + "properties": { + "trackingUrl": { + "description": "Optional. The HTTP URL of the ApplicationMaster, HistoryServer, or TimelineServer that provides application-specific information. The URL uses the internal hostname, and requires a proxy server for resolution and, possibly, access.", + "type": "string" + }, + "progress": { + "format": "float", + "description": "Required. The numerical progress of the application, from 1 to 100.", + "type": "number" + }, + "state": { + "enumDescriptions": [ + "Status is unspecified.", + "Status is NEW.", + "Status is NEW_SAVING.", + "Status is SUBMITTED.", + "Status is ACCEPTED.", + "Status is RUNNING.", + "Status is FINISHED.", + "Status is FAILED.", + "Status is KILLED." + ], + "enum": [ + "STATE_UNSPECIFIED", + "NEW", + "NEW_SAVING", + "SUBMITTED", + "ACCEPTED", + "RUNNING", + "FINISHED", + "FAILED", + "KILLED" + ], + "description": "Required. The application state.", + "type": "string" + }, + "name": { + "description": "Required. The application name.", + "type": "string" + } + }, + "id": "YarnApplication" + }, + "QueryList": { + "description": "A list of queries to run on a cluster.", + "type": "object", + "properties": { + "queries": { + "description": "Required. The queries to execute. You do not need to terminate a query with a semicolon. Multiple queries can be specified in one string by separating each with a semicolon. Here is an example of an Cloud Dataproc API snippet that uses a QueryList to specify a HiveJob:\n\"hiveJob\": {\n \"queryList\": {\n \"queries\": [\n \"query1\",\n \"query2\",\n \"query3;query4\",\n ]\n }\n}\n", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "QueryList" + }, + "HadoopJob": { + "description": "A Cloud Dataproc job for running Apache Hadoop MapReduce (https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html) jobs on Apache Hadoop YARN (https://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/YARN.html).", + "type": "object", + "properties": { + "mainClass": { + "description": "The name of the driver's main class. The jar file containing the class must be in the default CLASSPATH or specified in jar_file_uris.", + "type": "string" + }, + "archiveUris": { + "description": "Optional. HCFS URIs of archives to be extracted in the working directory of Hadoop drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, or .zip.", + "items": { + "type": "string" + }, + "type": "array" + }, + "mainJarFileUri": { + "description": "The HCFS URI of the jar file containing the main class. Examples: 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' 'hdfs:/tmp/test-samples/custom-wordcount.jar' 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar'", + "type": "string" + }, + "jarFileUris": { + "description": "Optional. Jar file URIs to add to the CLASSPATHs of the Hadoop driver and tasks.", + "items": { + "type": "string" + }, + "type": "array" + }, + "loggingConfig": { + "$ref": "LoggingConfig", + "description": "Optional. The runtime log config for job execution." + }, + "properties": { + "description": "Optional. A mapping of property names to values, used to configure Hadoop. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site and classes in user code.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "args": { + "description": "Optional. The arguments to pass to the driver. Do not include arguments, such as -libjars or -Dfoo=bar, that can be set as job properties, since a collision may occur that causes an incorrect job submission.", + "items": { + "type": "string" + }, + "type": "array" + }, + "fileUris": { + "description": "Optional. HCFS (Hadoop Compatible Filesystem) URIs of files to be copied to the working directory of Hadoop drivers and distributed tasks. Useful for naively parallel tasks.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "HadoopJob" + }, + "DiagnoseClusterRequest": { + "description": "A request to collect cluster diagnostic information.", + "type": "object", + "properties": {}, + "id": "DiagnoseClusterRequest" + }, + "DiskConfig": { + "description": "Specifies the config of disk options for a group of VM instances.", + "type": "object", + "properties": { + "bootDiskSizeGb": { + "format": "int32", + "description": "Optional. Size in GB of the boot disk (default is 500GB).", + "type": "integer" + }, + "numLocalSsds": { + "format": "int32", + "description": "Optional. Number of attached SSDs, from 0 to 4 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.", + "type": "integer" + } + }, + "id": "DiskConfig" + }, + "ClusterOperationMetadata": { + "description": "Metadata describing the operation.", + "type": "object", + "properties": { + "labels": { + "description": "Output-only. Labels associated with the operation", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "status": { + "$ref": "ClusterOperationStatus", + "description": "Output-only. Current operation status." + }, + "statusHistory": { + "description": "Output-only. The previous operation status.", + "items": { + "$ref": "ClusterOperationStatus" + }, + "type": "array" + }, + "clusterName": { + "description": "Output-only. Name of the cluster for the operation.", + "type": "string" + }, + "clusterUuid": { + "description": "Output-only. Cluster UUID for the operation.", + "type": "string" + }, + "operationType": { + "description": "Output-only. The operation type.", + "type": "string" + }, + "description": { + "description": "Output-only. Short description of operation.", + "type": "string" + }, + "warnings": { + "description": "Output-only. Errors encountered during operation execution.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "ClusterOperationMetadata" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance:\nservice Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n}\nThe JSON representation for Empty is empty JSON object {}.", + "type": "object", + "properties": {}, + "id": "Empty" + }, + "HiveJob": { + "description": "A Cloud Dataproc job for running Apache Hive (https://hive.apache.org/) queries on YARN.", + "type": "object", + "properties": { + "jarFileUris": { + "description": "Optional. HCFS URIs of jar files to add to the CLASSPATH of the Hive server and Hadoop MapReduce (MR) tasks. Can contain Hive SerDes and UDFs.", + "items": { + "type": "string" + }, + "type": "array" + }, + "scriptVariables": { + "description": "Optional. Mapping of query variable names to values (equivalent to the Hive command: SET name=\"value\";).", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "description": "Optional. A mapping of property names and values, used to configure Hive. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/hive/conf/hive-site.xml, and classes in user code.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "continueOnFailure": { + "description": "Optional. Whether to continue executing queries if a query fails. The default value is false. Setting to true can be useful when executing independent parallel queries.", + "type": "boolean" + }, + "queryFileUri": { + "description": "The HCFS URI of the script that contains Hive queries.", + "type": "string" + }, + "queryList": { + "$ref": "QueryList", + "description": "A list of queries." + } + }, + "id": "HiveJob" + }, + "DiagnoseClusterResults": { + "description": "The location of diagnostic output.", + "type": "object", + "properties": { + "outputUri": { + "description": "Output-only. The Google Cloud Storage URI of the diagnostic output. The output report is a plain text file with a summary of collected diagnostics.", + "type": "string" + } + }, + "id": "DiagnoseClusterResults" + }, + "ClusterConfig": { + "description": "The cluster config.", + "type": "object", + "properties": { + "masterConfig": { + "description": "Optional. The Google Compute Engine config settings for the master instance in a cluster.", + "$ref": "InstanceGroupConfig" + }, + "secondaryWorkerConfig": { + "$ref": "InstanceGroupConfig", + "description": "Optional. The Google Compute Engine config settings for additional worker instances in a cluster." + }, + "initializationActions": { + "description": "Optional. Commands to execute on each node after config is completed. By default, executables are run on master and all worker nodes. You can test a node's role metadata to run an executable on a master or worker node, as shown below using curl (you can also use wget):\nROLE=$(curl -H Metadata-Flavor:Google http://metadata/computeMetadata/v1/instance/attributes/dataproc-role)\nif [[ \"${ROLE}\" == 'Master' ]]; then\n ... master specific actions ...\nelse\n ... worker specific actions ...\nfi\n", + "items": { + "$ref": "NodeInitializationAction" + }, + "type": "array" + }, + "configBucket": { + "description": "Optional. A Google Cloud Storage staging bucket used for sharing generated SSH keys and config. If you do not specify a staging bucket, Cloud Dataproc will determine an appropriate Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Google Compute Engine zone where your cluster is deployed, and then it will create and manage this project-level, per-location bucket for you.", + "type": "string" + }, + "workerConfig": { + "description": "Optional. The Google Compute Engine config settings for worker instances in a cluster.", + "$ref": "InstanceGroupConfig" + }, + "gceClusterConfig": { + "description": "Required. The shared Google Compute Engine config settings for all instances in a cluster.", + "$ref": "GceClusterConfig" + }, + "softwareConfig": { + "description": "Optional. The config settings for software inside the cluster.", + "$ref": "SoftwareConfig" + } + }, + "id": "ClusterConfig" + }, "PySparkJob": { "description": "A Cloud Dataproc job for running Apache PySpark (https://spark.apache.org/docs/0.9.0/python-programming-guide.html) applications on YARN.", "type": "object", "properties": { - "archiveUris": { - "description": "Optional. HCFS URIs of archives to be extracted in the working directory of .jar, .tar, .tar.gz, .tgz, and .zip.", - "type": "array", + "args": { + "description": "Optional. The arguments to pass to the driver. Do not include arguments, such as --conf, that can be set as job properties, since a collision may occur that causes an incorrect job submission.", "items": { "type": "string" - } + }, + "type": "array" + }, + "fileUris": { + "description": "Optional. HCFS URIs of files to be copied to the working directory of Python drivers and distributed tasks. Useful for naively parallel tasks.", + "items": { + "type": "string" + }, + "type": "array" + }, + "pythonFileUris": { + "description": "Optional. HCFS file URIs of Python files to pass to the PySpark framework. Supported file types: .py, .egg, and .zip.", + "items": { + "type": "string" + }, + "type": "array" + }, + "mainPythonFileUri": { + "description": "Required. The HCFS URI of the main Python file to use as the driver. Must be a .py file.", + "type": "string" + }, + "archiveUris": { + "description": "Optional. HCFS URIs of archives to be extracted in the working directory of .jar, .tar, .tar.gz, .tgz, and .zip.", + "items": { + "type": "string" + }, + "type": "array" }, "jarFileUris": { "description": "Optional. HCFS URIs of jar files to add to the CLASSPATHs of the Python driver and tasks.", - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, "loggingConfig": { "$ref": "LoggingConfig", @@ -769,31 +1347,6 @@ "additionalProperties": { "type": "string" } - }, - "args": { - "description": "Optional. The arguments to pass to the driver. Do not include arguments, such as --conf, that can be set as job properties, since a collision may occur that causes an incorrect job submission.", - "type": "array", - "items": { - "type": "string" - } - }, - "fileUris": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Optional. HCFS URIs of files to be copied to the working directory of Python drivers and distributed tasks. Useful for naively parallel tasks." - }, - "pythonFileUris": { - "description": "Optional. HCFS file URIs of Python files to pass to the PySpark framework. Supported file types: .py, .egg, and .zip.", - "type": "array", - "items": { - "type": "string" - } - }, - "mainPythonFileUri": { - "description": "Required. The HCFS URI of the main Python file to use as the driver. Must be a .py file.", - "type": "string" } }, "id": "PySparkJob" @@ -802,9 +1355,21 @@ "description": "Common config settings for resources of Google Compute Engine cluster instances, applicable to all instances in the cluster.", "type": "object", "properties": { - "internalIpOnly": { - "description": "Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This internal_ip_only restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses.", - "type": "boolean" + "serviceAccount": { + "description": "Optional. The service account of the instances. Defaults to the default Google Compute Engine service account. Custom service accounts need permissions equivalent to the folloing IAM roles:\nroles/logging.logWriter\nroles/storage.objectAdmin(see https://cloud.google.com/compute/docs/access/service-accounts#custom_service_accounts for more information). Example: [account_id]@[project_id].iam.gserviceaccount.com", + "type": "string" + }, + "subnetworkUri": { + "description": "Optional. The Google Compute Engine subnetwork to be used for machine communications. Cannot be specified with network_uri.A full URL, partial URI, or short name are valid. Examples:\nhttps://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/sub0\nprojects/[project_id]/regions/us-east1/sub0\nsub0", + "type": "string" + }, + "networkUri": { + "description": "Optional. The Google Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the \"default\" network of the project is used, if it exists. Cannot be a \"Custom Subnet Network\" (see Using Subnetworks for more information).A full URL, partial URI, or short name are valid. Examples:\nhttps://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default\nprojects/[project_id]/regions/global/default\ndefault", + "type": "string" + }, + "zoneUri": { + "description": "Optional. The zone where the Google Compute Engine cluster will be located. On a create request, it is required in the \"global\" region. If omitted in a non-global Cloud Dataproc region, the service will pick a zone in the corresponding Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples:\nhttps://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]\nprojects/[project_id]/zones/[zone]\nus-central1-f", + "type": "string" }, "metadata": { "additionalProperties": { @@ -813,40 +1378,46 @@ "description": "The Google Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)).", "type": "object" }, + "internalIpOnly": { + "description": "Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This internal_ip_only restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses.", + "type": "boolean" + }, "serviceAccountScopes": { "description": "Optional. The URIs of service account scopes to be included in Google Compute Engine instances. The following base set of scopes is always included:\nhttps://www.googleapis.com/auth/cloud.useraccounts.readonly\nhttps://www.googleapis.com/auth/devstorage.read_write\nhttps://www.googleapis.com/auth/logging.writeIf no scopes are specified, the following defaults are also provided:\nhttps://www.googleapis.com/auth/bigquery\nhttps://www.googleapis.com/auth/bigtable.admin.table\nhttps://www.googleapis.com/auth/bigtable.data\nhttps://www.googleapis.com/auth/devstorage.full_control", - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, "tags": { "description": "The Google Compute Engine tags to add to all instances (see Tagging instances).", - "type": "array", "items": { "type": "string" - } - }, - "serviceAccount": { - "description": "Optional. The service account of the instances. Defaults to the default Google Compute Engine service account. Custom service accounts need permissions equivalent to the folloing IAM roles:\nroles/logging.logWriter\nroles/storage.objectAdmin(see https://cloud.google.com/compute/docs/access/service-accounts#custom_service_accounts for more information). Example: [account_id]@[project_id].iam.gserviceaccount.com", - "type": "string" - }, - "subnetworkUri": { - "description": "Optional. The Google Compute Engine subnetwork to be used for machine communications. Cannot be specified with network_uri. Example: https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/sub0.", - "type": "string" - }, - "networkUri": { - "description": "Optional. The Google Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the \"default\" network of the project is used, if it exists. Cannot be a \"Custom Subnet Network\" (see Using Subnetworks for more information). Example: https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default.", - "type": "string" - }, - "zoneUri": { - "description": "Required. The zone where the Google Compute Engine cluster will be located. Example: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone].", - "type": "string" + }, + "type": "array" } }, "id": "GceClusterConfig" }, + "AcceleratorConfig": { + "description": "Specifies the type and number of accelerator cards attached to the instances of an instance group (see GPUs on Compute Engine).", + "type": "object", + "properties": { + "acceleratorCount": { + "format": "int32", + "description": "The number of the accelerator cards of this type exposed to this instance.", + "type": "integer" + }, + "acceleratorTypeUri": { + "description": "Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Google Compute Engine AcceleratorTypes( /compute/docs/reference/beta/acceleratorTypes)Examples * https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80 * projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80 * nvidia-tesla-k80", + "type": "string" + } + }, + "id": "AcceleratorConfig" + }, "ClusterMetrics": { + "description": "Contains cluster daemon metrics, such as HDFS and YARN stats.Beta Feature: This report is available for testing purposes only. It may be changed before final release.", + "type": "object", "properties": { "yarnMetrics": { "additionalProperties": { @@ -865,27 +1436,11 @@ "type": "object" } }, - "id": "ClusterMetrics", - "description": "Contains cluster daemon metrics, such as HDFS and YARN stats.Beta Feature: This report is available for testing purposes only. It may be changed before final release.", - "type": "object" - }, - "AcceleratorConfig": { - "description": "Specifies the type and number of accelerator cards attached to the instances of an instance group (see GPUs on Compute Engine).", - "type": "object", - "properties": { - "acceleratorTypeUri": { - "description": "Full or partial URI of the accelerator type resource to expose to this instance. See Google Compute Engine AcceleratorTypes( /compute/docs/reference/beta/acceleratorTypes)", - "type": "string" - }, - "acceleratorCount": { - "description": "The number of the accelerator cards of this type exposed to this instance.", - "format": "int32", - "type": "integer" - } - }, - "id": "AcceleratorConfig" + "id": "ClusterMetrics" }, "LoggingConfig": { + "description": "The runtime logging config of the job.", + "type": "object", "properties": { "driverLogLevels": { "additionalProperties": { @@ -906,44 +1461,15 @@ "type": "object" } }, - "id": "LoggingConfig", - "description": "The runtime logging config of the job.", - "type": "object" - }, - "DiagnoseClusterOutputLocation": { - "description": "The location where output from diagnostic command can be found.", - "type": "object", - "properties": { - "outputUri": { - "description": "Output-only The Google Cloud Storage URI of the diagnostic output. This will be a plain text file with summary of collected diagnostics.", - "type": "string" - } - }, - "id": "DiagnoseClusterOutputLocation" + "id": "LoggingConfig" }, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "type": "object", "properties": { - "done": { - "description": "If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.", - "type": "boolean" - }, - "response": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.", - "type": "object" - }, - "name": { - "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should have the format of operations/some/unique/name.", - "type": "string" - }, "error": { - "$ref": "Status", - "description": "The error result of the operation in case of failure or cancellation." + "description": "The error result of the operation in case of failure or cancellation.", + "$ref": "Status" }, "metadata": { "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", @@ -952,62 +1478,43 @@ "description": "Properties of the object. Contains field @type with type URL.", "type": "any" } + }, + "done": { + "description": "If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.", + "type": "boolean" + }, + "response": { + "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + } + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should have the format of operations/some/unique/name.", + "type": "string" } }, "id": "Operation" }, - "OperationStatus": { - "description": "The status of the operation.", - "type": "object", - "properties": { - "state": { - "enum": [ - "UNKNOWN", - "PENDING", - "RUNNING", - "DONE" - ], - "description": "A message containing the operation state.", - "type": "string", - "enumDescriptions": [ - "Unused.", - "The operation has been created.", - "The operation is running.", - "The operation is done; either cancelled or completed." - ] - }, - "details": { - "description": "A message containing any operation metadata details.", - "type": "string" - }, - "innerState": { - "description": "A message containing the detailed operation state.", - "type": "string" - }, - "stateStartTime": { - "description": "The time this state was entered.", - "format": "google-datetime", - "type": "string" - } - }, - "id": "OperationStatus" - }, "JobReference": { "description": "Encapsulates the full scoping used to reference a job.", "type": "object", "properties": { - "projectId": { - "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", - "type": "string" - }, "jobId": { "description": "Optional. The job ID, which must be unique within the project. The job ID is generated by the server upon job submission or provided by the user as a means to perform retries without creating duplicate jobs. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or hyphens (-). The maximum length is 100 characters.", "type": "string" + }, + "projectId": { + "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", + "type": "string" } }, "id": "JobReference" }, "SubmitJobRequest": { + "description": "A request to submit a job.", "type": "object", "properties": { "job": { @@ -1015,120 +1522,101 @@ "$ref": "Job" } }, - "id": "SubmitJobRequest", - "description": "A request to submit a job." + "id": "SubmitJobRequest" }, "Status": { - "id": "Status", "description": "The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). The error model is designed to be:\nSimple to use and understand for most users\nFlexible enough to meet unexpected needsOverviewThe Status message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers understand and resolve the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package google.rpc that can be used for common error conditions.Language mappingThe Status message is the logical representation of the error model, but it is not necessarily the actual wire format. When the Status message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C.Other usesThe error model and the Status message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments.Example uses of this error model include:\nPartial errors. If a service needs to return partial errors to the client, it may embed the Status in the normal response to indicate the partial errors.\nWorkflow errors. A typical workflow has multiple steps. Each step may have a Status message for error reporting.\nBatch operations. If a client uses batch request and batch response, the Status message should be used directly inside batch response, one for each error sub-response.\nAsynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the Status message.\nLogging. If some API errors are stored in logs, the message Status could be used directly after any stripping needed for security/privacy reasons.", "type": "object", "properties": { - "code": { - "description": "The status code, which should be an enum value of google.rpc.Code.", - "format": "int32", - "type": "integer" - }, - "message": { - "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", - "type": "string" - }, "details": { - "description": "A list of messages that carry the error details. There will be a common set of message types for APIs to use.", - "type": "array", + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", "items": { "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" }, "type": "object" - } + }, + "type": "array" + }, + "code": { + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" } - } + }, + "id": "Status" + }, + "JobScheduling": { + "description": "Job scheduling options.Beta Feature: These options are available for testing purposes only. They may be changed before final release.", + "type": "object", + "properties": { + "maxFailuresPerHour": { + "format": "int32", + "description": "Optional. Maximum number of times per hour a driver may be restarted as a result of driver terminating with non-zero code before job is reported failed.A job may be reported as thrashing if driver exits with non-zero code 4 times within 10 minute window.Maximum value is 10.", + "type": "integer" + } + }, + "id": "JobScheduling" }, "InstanceGroupConfig": { - "id": "InstanceGroupConfig", "description": "Optional. The config settings for Google Compute Engine resources in an instance group, such as a master or worker group.", "type": "object", "properties": { - "diskConfig": { - "description": "Optional. Disk option config settings.", - "$ref": "DiskConfig" - }, - "managedGroupConfig": { - "$ref": "ManagedGroupConfig", - "description": "Output-only. The config for Google Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups." - }, - "isPreemptible": { - "description": "Optional. Specifies that this instance group contains preemptible instances.", - "type": "boolean" + "machineTypeUri": { + "description": "Optional. The Google Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples:\nhttps://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2\nprojects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2\nn1-standard-2", + "type": "string" }, "imageUri": { "description": "Output-only. The Google Compute Engine image resource used for cluster instances. Inferred from SoftwareConfig.image_version.", "type": "string" }, - "machineTypeUri": { - "type": "string", - "description": "Required. The Google Compute Engine machine type used for cluster instances. Example: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2." + "isPreemptible": { + "description": "Optional. Specifies that this instance group contains preemptible instances.", + "type": "boolean" + }, + "managedGroupConfig": { + "description": "Output-only. The config for Google Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups.", + "$ref": "ManagedGroupConfig" }, "instanceNames": { - "type": "array", + "description": "Optional. The list of instance names. Cloud Dataproc derives the names from cluster_name, num_instances, and the instance group if not set by user (recommended practice is to let Cloud Dataproc derive the name).", "items": { "type": "string" }, - "description": "Optional. The list of instance names. Cloud Dataproc derives the names from cluster_name, num_instances, and the instance group if not set by user (recommended practice is to let Cloud Dataproc derive the name)." + "type": "array" }, "accelerators": { "description": "Optional. The Google Compute Engine accelerator configuration for these instances.Beta Feature: This feature is still under development. It may be changed before final release.", - "type": "array", "items": { "$ref": "AcceleratorConfig" - } + }, + "type": "array" }, "numInstances": { - "description": "Required. The number of VM instances in the instance group. For master instance groups, must be set to 1.", "format": "int32", + "description": "Optional. The number of VM instances in the instance group. For master instance groups, must be set to 1.", "type": "integer" - } - } - }, - "JobScheduling": { - "type": "object", - "properties": { - "maxFailuresPerHour": { - "type": "integer", - "description": "Optional. Maximum number of times per hour a driver may be restarted as a result of driver terminating with non-zero code before job is reported failed.A job may be reported as thrashing if driver exits with non-zero code 4 times within 10 minute window.Maximum value is 10.", - "format": "int32" + }, + "diskConfig": { + "description": "Optional. Disk option config settings.", + "$ref": "DiskConfig" } }, - "id": "JobScheduling", - "description": "Job scheduling options.Beta Feature: These options are available for testing purposes only. They may be changed before final release." - }, - "ListJobsResponse": { - "id": "ListJobsResponse", - "description": "A list of jobs in a project.", - "type": "object", - "properties": { - "jobs": { - "description": "Output-only. Jobs list.", - "type": "array", - "items": { - "$ref": "Job" - } - }, - "nextPageToken": { - "type": "string", - "description": "Optional. This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent \u003ccode\u003eListJobsRequest\u003c/code\u003e." - } - } + "id": "InstanceGroupConfig" }, "NodeInitializationAction": { "description": "Specifies an executable to run on a fully configured node and a timeout period for executable completion.", "type": "object", "properties": { "executionTimeout": { - "type": "string", + "format": "google-duration", "description": "Optional. Amount of time executable has to complete. Default is 10 minutes. Cluster creation fails with an explanatory error message (the name of the executable that caused the error and the exceeded timeout period) if the executable is not completed at end of the timeout period.", - "format": "google-duration" + "type": "string" }, "executableFile": { "description": "Required. Google Cloud Storage URI of executable file.", @@ -1137,6 +1625,24 @@ }, "id": "NodeInitializationAction" }, + "ListJobsResponse": { + "description": "A list of jobs in a project.", + "type": "object", + "properties": { + "jobs": { + "description": "Output-only. Jobs list.", + "items": { + "$ref": "Job" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Optional. This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent \u003ccode\u003eListJobsRequest\u003c/code\u003e.", + "type": "string" + } + }, + "id": "ListJobsResponse" + }, "CancelJobRequest": { "description": "A request to cancel a job.", "type": "object", @@ -1147,14 +1653,6 @@ "description": "A Cloud Dataproc job for running Apache Spark SQL (http://spark.apache.org/sql/) queries.", "type": "object", "properties": { - "queryFileUri": { - "description": "The HCFS URI of the script that contains SQL queries.", - "type": "string" - }, - "queryList": { - "$ref": "QueryList", - "description": "A list of queries." - }, "scriptVariables": { "additionalProperties": { "type": "string" @@ -1164,10 +1662,10 @@ }, "jarFileUris": { "description": "Optional. HCFS URIs of jar files to be added to the Spark CLASSPATH.", - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, "loggingConfig": { "$ref": "LoggingConfig", @@ -1179,6 +1677,14 @@ "additionalProperties": { "type": "string" } + }, + "queryFileUri": { + "description": "The HCFS URI of the script that contains SQL queries.", + "type": "string" + }, + "queryList": { + "$ref": "QueryList", + "description": "A list of queries." } }, "id": "SparkSqlJob" @@ -1194,25 +1700,25 @@ "description": "Optional. The labels to associate with this cluster. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a cluster.", "type": "object" }, - "metrics": { - "description": "Contains cluster daemon metrics such as HDFS and YARN stats.Beta Feature: This report is available for testing purposes only. It may be changed before final release.", - "$ref": "ClusterMetrics" - }, "status": { - "description": "Output-only. Cluster status.", - "$ref": "ClusterStatus" + "$ref": "ClusterStatus", + "description": "Output-only. Cluster status." }, - "statusHistory": { - "description": "Output-only. The previous cluster status.", - "type": "array", - "items": { - "$ref": "ClusterStatus" - } + "metrics": { + "$ref": "ClusterMetrics", + "description": "Contains cluster daemon metrics such as HDFS and YARN stats.Beta Feature: This report is available for testing purposes only. It may be changed before final release." }, "config": { "$ref": "ClusterConfig", "description": "Required. The cluster config. Note that Cloud Dataproc may set default values, and values may change when clusters are updated." }, + "statusHistory": { + "description": "Output-only. The previous cluster status.", + "items": { + "$ref": "ClusterStatus" + }, + "type": "array" + }, "clusterName": { "description": "Required. The cluster name. Cluster names within a project must be unique. Names of deleted clusters can be reused.", "type": "string" @@ -1238,160 +1744,51 @@ }, "operations": { "description": "A list of operations that matches the specified filter in the request.", - "type": "array", "items": { "$ref": "Operation" - } + }, + "type": "array" } }, "id": "ListOperationsResponse" }, - "OperationMetadata": { - "description": "Metadata describing the operation.", - "type": "object", - "properties": { - "endTime": { - "description": "The time that the operation completed.", - "format": "google-datetime", - "type": "string" - }, - "startTime": { - "description": "The time that the operation was started by the server.", - "format": "google-datetime", - "type": "string" - }, - "warnings": { - "description": "Output-only Errors encountered during operation execution.", - "type": "array", - "items": { - "type": "string" - } - }, - "insertTime": { - "description": "The time that the operation was requested.", - "format": "google-datetime", - "type": "string" - }, - "statusHistory": { - "type": "array", - "items": { - "$ref": "OperationStatus" - }, - "description": "Output-only Previous operation status." - }, - "operationType": { - "description": "Output-only The operation type.", - "type": "string" - }, - "description": { - "description": "Output-only Short description of operation.", - "type": "string" - }, - "status": { - "$ref": "OperationStatus", - "description": "Output-only Current operation status." - }, - "state": { - "description": "A message containing the operation state.", - "type": "string", - "enumDescriptions": [ - "Unused.", - "The operation has been created.", - "The operation is currently running.", - "The operation is done, either cancelled or completed." - ], - "enum": [ - "UNKNOWN", - "PENDING", - "RUNNING", - "DONE" - ] - }, - "details": { - "type": "string", - "description": "A message containing any operation metadata details." - }, - "clusterName": { - "description": "Name of the cluster for the operation.", - "type": "string" - }, - "clusterUuid": { - "description": "Cluster UUId for the operation.", - "type": "string" - }, - "innerState": { - "description": "A message containing the detailed operation state.", - "type": "string" - } - }, - "id": "OperationMetadata" - }, "JobPlacement": { "description": "Cloud Dataproc job config.", "type": "object", "properties": { - "clusterName": { - "description": "Required. The name of the cluster where the job will be submitted.", - "type": "string" - }, "clusterUuid": { "description": "Output-only. A cluster UUID generated by the Cloud Dataproc service when the job is submitted.", "type": "string" + }, + "clusterName": { + "description": "Required. The name of the cluster where the job will be submitted.", + "type": "string" } }, "id": "JobPlacement" }, "SoftwareConfig": { + "description": "Specifies the selection and config of software inside the cluster.", "type": "object", "properties": { - "properties": { - "additionalProperties": { - "type": "string" - }, - "description": "Optional. The properties to set on daemon config files.Property keys are specified in prefix:property format, such as core:fs.defaultFS. The following are supported prefixes and their mappings:\ncapacity-scheduler: capacity-scheduler.xml\ncore: core-site.xml\ndistcp: distcp-default.xml\nhdfs: hdfs-site.xml\nhive: hive-site.xml\nmapred: mapred-site.xml\npig: pig.properties\nspark: spark-defaults.conf\nyarn: yarn-site.xml", - "type": "object" - }, "imageVersion": { "description": "Optional. The version of software inside the cluster. It must match the regular expression [0-9]+\\.[0-9]+. If unspecified, it defaults to the latest version (see Cloud Dataproc Versioning).", "type": "string" + }, + "properties": { + "description": "Optional. The properties to set on daemon config files.Property keys are specified in prefix:property format, such as core:fs.defaultFS. The following are supported prefixes and their mappings:\ncapacity-scheduler: capacity-scheduler.xml\ncore: core-site.xml\ndistcp: distcp-default.xml\nhdfs: hdfs-site.xml\nhive: hive-site.xml\nmapred: mapred-site.xml\npig: pig.properties\nspark: spark-defaults.conf\nyarn: yarn-site.xmlFor more information, see Cluster properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } } }, - "id": "SoftwareConfig", - "description": "Specifies the selection and config of software inside the cluster." + "id": "SoftwareConfig" }, "ClusterStatus": { "description": "The status of a cluster and its instances.", "type": "object", "properties": { - "detail": { - "type": "string", - "description": "Output-only. Optional details of cluster's state." - }, - "state": { - "enum": [ - "UNKNOWN", - "CREATING", - "RUNNING", - "ERROR", - "DELETING", - "UPDATING" - ], - "description": "Output-only. The cluster's state.", - "type": "string", - "enumDescriptions": [ - "The cluster state is unknown.", - "The cluster is being created and set up. It is not ready for use.", - "The cluster is currently running and healthy. It is ready for use.", - "The cluster encountered an error. It is not ready for use.", - "The cluster is being deleted. It cannot be used.", - "The cluster is being updated. It continues to accept and process jobs." - ] - }, - "stateStartTime": { - "description": "Output-only. Time when this state was entered.", - "format": "google-datetime", - "type": "string" - }, "substate": { "description": "Output-only. Additional state information that includes status reported by the agent.", "type": "string", @@ -1405,25 +1802,55 @@ "UNHEALTHY", "STALE_STATUS" ] + }, + "stateStartTime": { + "format": "google-datetime", + "description": "Output-only. Time when this state was entered.", + "type": "string" + }, + "detail": { + "description": "Output-only. Optional details of cluster's state.", + "type": "string" + }, + "state": { + "description": "Output-only. The cluster's state.", + "type": "string", + "enumDescriptions": [ + "The cluster state is unknown.", + "The cluster is being created and set up. It is not ready for use.", + "The cluster is currently running and healthy. It is ready for use.", + "The cluster encountered an error. It is not ready for use.", + "The cluster is being deleted. It cannot be used.", + "The cluster is being updated. It continues to accept and process jobs." + ], + "enum": [ + "UNKNOWN", + "CREATING", + "RUNNING", + "ERROR", + "DELETING", + "UPDATING" + ] } }, "id": "ClusterStatus" }, "PigJob": { + "description": "A Cloud Dataproc job for running Apache Pig (https://pig.apache.org/) queries on YARN.", "type": "object", "properties": { - "scriptVariables": { - "additionalProperties": { - "type": "string" - }, - "description": "Optional. Mapping of query variable names to values (equivalent to the Pig command: name=[value]).", - "type": "object" - }, "jarFileUris": { "description": "Optional. HCFS URIs of jar files to add to the CLASSPATH of the Pig Client and Hadoop MapReduce (MR) tasks. Can contain Pig UDFs.", - "type": "array", "items": { "type": "string" + }, + "type": "array" + }, + "scriptVariables": { + "description": "Optional. Mapping of query variable names to values (equivalent to the Pig command: name=[value]).", + "type": "object", + "additionalProperties": { + "type": "string" } }, "loggingConfig": { @@ -1442,555 +1869,15 @@ "type": "boolean" }, "queryList": { - "description": "A list of queries.", - "$ref": "QueryList" + "$ref": "QueryList", + "description": "A list of queries." }, "queryFileUri": { "description": "The HCFS URI of the script that contains the Pig queries.", "type": "string" } }, - "id": "PigJob", - "description": "A Cloud Dataproc job for running Apache Pig (https://pig.apache.org/) queries on YARN." - }, - "ListClustersResponse": { - "description": "The list of all clusters in a project.", - "type": "object", - "properties": { - "clusters": { - "description": "Output-only. The clusters in the project.", - "type": "array", - "items": { - "$ref": "Cluster" - } - }, - "nextPageToken": { - "description": "Output-only. This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent ListClustersRequest.", - "type": "string" - } - }, - "id": "ListClustersResponse" - }, - "Job": { - "description": "A Cloud Dataproc job resource.", - "type": "object", - "properties": { - "hiveJob": { - "$ref": "HiveJob", - "description": "Job is a Hive job." - }, - "labels": { - "description": "Optional. The labels to associate with this job. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a job.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "driverOutputResourceUri": { - "description": "Output-only. A URI pointing to the location of the stdout of the job's driver program.", - "type": "string" - }, - "sparkJob": { - "$ref": "SparkJob", - "description": "Job is a Spark job." - }, - "sparkSqlJob": { - "description": "Job is a SparkSql job.", - "$ref": "SparkSqlJob" - }, - "statusHistory": { - "description": "Output-only. The previous job status.", - "type": "array", - "items": { - "$ref": "JobStatus" - } - }, - "yarnApplications": { - "description": "Output-only. The collection of YARN applications spun up by this job.Beta Feature: This report is available for testing purposes only. It may be changed before final release.", - "type": "array", - "items": { - "$ref": "YarnApplication" - } - }, - "pysparkJob": { - "description": "Job is a Pyspark job.", - "$ref": "PySparkJob" - }, - "reference": { - "$ref": "JobReference", - "description": "Optional. The fully qualified reference to the job, which can be used to obtain the equivalent REST path of the job resource. If this property is not specified when a job is created, the server generates a \u003ccode\u003ejob_id\u003c/code\u003e." - }, - "hadoopJob": { - "$ref": "HadoopJob", - "description": "Job is a Hadoop job." - }, - "status": { - "description": "Output-only. The job status. Additional application-specific status information may be contained in the \u003ccode\u003etype_job\u003c/code\u003e and \u003ccode\u003eyarn_applications\u003c/code\u003e fields.", - "$ref": "JobStatus" - }, - "placement": { - "description": "Required. Job information, including how, when, and where to run the job.", - "$ref": "JobPlacement" - }, - "driverControlFilesUri": { - "description": "Output-only. If present, the location of miscellaneous control files which may be used as part of job setup and handling. If not present, control files may be placed in the same location as driver_output_uri.", - "type": "string" - }, - "scheduling": { - "$ref": "JobScheduling", - "description": "Optional. Job scheduling configuration." - }, - "pigJob": { - "$ref": "PigJob", - "description": "Job is a Pig job." - } - }, - "id": "Job" - }, - "SparkJob": { - "properties": { - "mainJarFileUri": { - "description": "The HCFS URI of the jar file that contains the main class.", - "type": "string" - }, - "jarFileUris": { - "description": "Optional. HCFS URIs of jar files to add to the CLASSPATHs of the Spark driver and tasks.", - "type": "array", - "items": { - "type": "string" - } - }, - "loggingConfig": { - "description": "Optional. The runtime log config for job execution.", - "$ref": "LoggingConfig" - }, - "properties": { - "additionalProperties": { - "type": "string" - }, - "description": "Optional. A mapping of property names to values, used to configure Spark. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code.", - "type": "object" - }, - "args": { - "description": "Optional. The arguments to pass to the driver. Do not include arguments, such as --conf, that can be set as job properties, since a collision may occur that causes an incorrect job submission.", - "type": "array", - "items": { - "type": "string" - } - }, - "fileUris": { - "description": "Optional. HCFS URIs of files to be copied to the working directory of Spark drivers and distributed tasks. Useful for naively parallel tasks.", - "type": "array", - "items": { - "type": "string" - } - }, - "mainClass": { - "description": "The name of the driver's main class. The jar file that contains the class must be in the default CLASSPATH or specified in jar_file_uris.", - "type": "string" - }, - "archiveUris": { - "description": "Optional. HCFS URIs of archives to be extracted in the working directory of Spark drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "id": "SparkJob", - "description": "A Cloud Dataproc job for running Apache Spark (http://spark.apache.org/) applications on YARN.", - "type": "object" - }, - "JobStatus": { - "description": "Cloud Dataproc job status.", - "type": "object", - "properties": { - "state": { - "enum": [ - "STATE_UNSPECIFIED", - "PENDING", - "SETUP_DONE", - "RUNNING", - "CANCEL_PENDING", - "CANCEL_STARTED", - "CANCELLED", - "DONE", - "ERROR", - "ATTEMPT_FAILURE" - ], - "description": "Output-only. A state message specifying the overall job state.", - "type": "string", - "enumDescriptions": [ - "The job state is unknown.", - "The job is pending; it has been submitted, but is not yet running.", - "Job has been received by the service and completed initial setup; it will soon be submitted to the cluster.", - "The job is running on the cluster.", - "A CancelJob request has been received, but is pending.", - "Transient in-flight resources have been canceled, and the request to cancel the running job has been issued to the cluster.", - "The job cancellation was successful.", - "The job has completed successfully.", - "The job has completed, but encountered an error.", - "Job attempt has failed. The detail field contains failure details for this attempt.Applies to restartable jobs only." - ] - }, - "details": { - "description": "Output-only. Optional job state details, such as an error description if the state is \u003ccode\u003eERROR\u003c/code\u003e.", - "type": "string" - }, - "stateStartTime": { - "description": "Output-only. The time when this state was entered.", - "format": "google-datetime", - "type": "string" - }, - "substate": { - "type": "string", - "enumDescriptions": [ - "", - "The Job is submitted to the agent.Applies to RUNNING state.", - "The Job has been received and is awaiting execution (it may be waiting for a condition to be met). See the \"details\" field for the reason for the delay.Applies to RUNNING state.", - "The agent-reported status is out of date, which may be caused by a loss of communication between the agent and Cloud Dataproc. If the agent does not send a timely update, the job will fail.Applies to RUNNING state." - ], - "enum": [ - "UNSPECIFIED", - "SUBMITTED", - "QUEUED", - "STALE_STATUS" - ], - "description": "Output-only. Additional state information, which includes status reported by the agent." - } - }, - "id": "JobStatus" - }, - "ManagedGroupConfig": { - "type": "object", - "properties": { - "instanceGroupManagerName": { - "description": "Output-only. The name of the Instance Group Manager for this group.", - "type": "string" - }, - "instanceTemplateName": { - "description": "Output-only. The name of the Instance Template used for the Managed Instance Group.", - "type": "string" - } - }, - "id": "ManagedGroupConfig", - "description": "Specifies the resources used to actively manage an instance group." - }, - "ClusterOperationStatus": { - "properties": { - "state": { - "enumDescriptions": [ - "Unused.", - "The operation has been created.", - "The operation is running.", - "The operation is done; either cancelled or completed." - ], - "enum": [ - "UNKNOWN", - "PENDING", - "RUNNING", - "DONE" - ], - "description": "Output-only. A message containing the operation state.", - "type": "string" - }, - "details": { - "description": "Output-only.A message containing any operation metadata details.", - "type": "string" - }, - "innerState": { - "description": "Output-only. A message containing the detailed operation state.", - "type": "string" - }, - "stateStartTime": { - "description": "Output-only. The time this state was entered.", - "format": "google-datetime", - "type": "string" - } - }, - "id": "ClusterOperationStatus", - "description": "The status of the operation.", - "type": "object" - }, - "HadoopJob": { - "description": "A Cloud Dataproc job for running Apache Hadoop MapReduce (https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html) jobs on Apache Hadoop YARN (https://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/YARN.html).", - "type": "object", - "properties": { - "mainClass": { - "description": "The name of the driver's main class. The jar file containing the class must be in the default CLASSPATH or specified in jar_file_uris.", - "type": "string" - }, - "archiveUris": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Optional. HCFS URIs of archives to be extracted in the working directory of Hadoop drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, or .zip." - }, - "mainJarFileUri": { - "description": "The HCFS URI of the jar file containing the main class. Examples: 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' 'hdfs:/tmp/test-samples/custom-wordcount.jar' 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar'", - "type": "string" - }, - "jarFileUris": { - "description": "Optional. Jar file URIs to add to the CLASSPATHs of the Hadoop driver and tasks.", - "type": "array", - "items": { - "type": "string" - } - }, - "loggingConfig": { - "description": "Optional. The runtime log config for job execution.", - "$ref": "LoggingConfig" - }, - "properties": { - "description": "Optional. A mapping of property names to values, used to configure Hadoop. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site and classes in user code.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "args": { - "description": "Optional. The arguments to pass to the driver. Do not include arguments, such as -libjars or -Dfoo=bar, that can be set as job properties, since a collision may occur that causes an incorrect job submission.", - "type": "array", - "items": { - "type": "string" - } - }, - "fileUris": { - "description": "Optional. HCFS (Hadoop Compatible Filesystem) URIs of files to be copied to the working directory of Hadoop drivers and distributed tasks. Useful for naively parallel tasks.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "id": "HadoopJob" - }, - "YarnApplication": { - "id": "YarnApplication", - "description": "A YARN application created by a job. Application information is a subset of \u003ccode\u003eorg.apache.hadoop.yarn.proto.YarnProtos.ApplicationReportProto\u003c/code\u003e.Beta Feature: This report is available for testing purposes only. It may be changed before final release.", - "type": "object", - "properties": { - "trackingUrl": { - "description": "Optional. The HTTP URL of the ApplicationMaster, HistoryServer, or TimelineServer that provides application-specific information. The URL uses the internal hostname, and requires a proxy server for resolution and, possibly, access.", - "type": "string" - }, - "progress": { - "description": "Required. The numerical progress of the application, from 1 to 100.", - "format": "float", - "type": "number" - }, - "state": { - "enum": [ - "STATE_UNSPECIFIED", - "NEW", - "NEW_SAVING", - "SUBMITTED", - "ACCEPTED", - "RUNNING", - "FINISHED", - "FAILED", - "KILLED" - ], - "description": "Required. The application state.", - "type": "string", - "enumDescriptions": [ - "Status is unspecified.", - "Status is NEW.", - "Status is NEW_SAVING.", - "Status is SUBMITTED.", - "Status is ACCEPTED.", - "Status is RUNNING.", - "Status is FINISHED.", - "Status is FAILED.", - "Status is KILLED." - ] - }, - "name": { - "description": "Required. The application name.", - "type": "string" - } - } - }, - "QueryList": { - "properties": { - "queries": { - "description": "Required. The queries to execute. You do not need to terminate a query with a semicolon. Multiple queries can be specified in one string by separating each with a semicolon. Here is an example of an Cloud Dataproc API snippet that uses a QueryList to specify a HiveJob:\n\"hiveJob\": {\n \"queryList\": {\n \"queries\": [\n \"query1\",\n \"query2\",\n \"query3;query4\",\n ]\n }\n}\n", - "type": "array", - "items": { - "type": "string" - } - } - }, - "id": "QueryList", - "description": "A list of queries to run on a cluster.", - "type": "object" - }, - "DiagnoseClusterRequest": { - "description": "A request to collect cluster diagnostic information.", - "type": "object", - "properties": {}, - "id": "DiagnoseClusterRequest" - }, - "DiskConfig": { - "description": "Specifies the config of disk options for a group of VM instances.", - "type": "object", - "properties": { - "bootDiskSizeGb": { - "description": "Optional. Size in GB of the boot disk (default is 500GB).", - "format": "int32", - "type": "integer" - }, - "numLocalSsds": { - "description": "Optional. Number of attached SSDs, from 0 to 4 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.", - "format": "int32", - "type": "integer" - } - }, - "id": "DiskConfig" - }, - "ClusterOperationMetadata": { - "description": "Metadata describing the operation.", - "type": "object", - "properties": { - "operationType": { - "description": "Output-only. The operation type.", - "type": "string" - }, - "description": { - "description": "Output-only. Short description of operation.", - "type": "string" - }, - "warnings": { - "description": "Output-only. Errors encountered during operation execution.", - "type": "array", - "items": { - "type": "string" - } - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Output-only. Labels associated with the operation", - "type": "object" - }, - "status": { - "$ref": "ClusterOperationStatus", - "description": "Output-only. Current operation status." - }, - "statusHistory": { - "description": "Output-only. The previous operation status.", - "type": "array", - "items": { - "$ref": "ClusterOperationStatus" - } - }, - "clusterUuid": { - "description": "Output-only. Cluster UUID for the operation.", - "type": "string" - }, - "clusterName": { - "description": "Output-only. Name of the cluster for the operation.", - "type": "string" - } - }, - "id": "ClusterOperationMetadata" - }, - "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance:\nservice Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n}\nThe JSON representation for Empty is empty JSON object {}.", - "type": "object", - "properties": {}, - "id": "Empty" - }, - "HiveJob": { - "properties": { - "properties": { - "additionalProperties": { - "type": "string" - }, - "description": "Optional. A mapping of property names and values, used to configure Hive. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/hive/conf/hive-site.xml, and classes in user code.", - "type": "object" - }, - "continueOnFailure": { - "description": "Optional. Whether to continue executing queries if a query fails. The default value is false. Setting to true can be useful when executing independent parallel queries.", - "type": "boolean" - }, - "queryList": { - "$ref": "QueryList", - "description": "A list of queries." - }, - "queryFileUri": { - "type": "string", - "description": "The HCFS URI of the script that contains Hive queries." - }, - "scriptVariables": { - "additionalProperties": { - "type": "string" - }, - "description": "Optional. Mapping of query variable names to values (equivalent to the Hive command: SET name=\"value\";).", - "type": "object" - }, - "jarFileUris": { - "description": "Optional. HCFS URIs of jar files to add to the CLASSPATH of the Hive server and Hadoop MapReduce (MR) tasks. Can contain Hive SerDes and UDFs.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "id": "HiveJob", - "description": "A Cloud Dataproc job for running Apache Hive (https://hive.apache.org/) queries on YARN.", - "type": "object" - }, - "DiagnoseClusterResults": { - "properties": { - "outputUri": { - "description": "Output-only. The Google Cloud Storage URI of the diagnostic output. The output report is a plain text file with a summary of collected diagnostics.", - "type": "string" - } - }, - "id": "DiagnoseClusterResults", - "description": "The location of diagnostic output.", - "type": "object" - }, - "ClusterConfig": { - "description": "The cluster config.", - "type": "object", - "properties": { - "masterConfig": { - "description": "Optional. The Google Compute Engine config settings for the master instance in a cluster.", - "$ref": "InstanceGroupConfig" - }, - "secondaryWorkerConfig": { - "$ref": "InstanceGroupConfig", - "description": "Optional. The Google Compute Engine config settings for additional worker instances in a cluster." - }, - "initializationActions": { - "description": "Optional. Commands to execute on each node after config is completed. By default, executables are run on master and all worker nodes. You can test a node's role metadata to run an executable on a master or worker node, as shown below using curl (you can also use wget):\nROLE=$(curl -H Metadata-Flavor:Google http://metadata/computeMetadata/v1/instance/attributes/dataproc-role)\nif [[ \"${ROLE}\" == 'Master' ]]; then\n ... master specific actions ...\nelse\n ... worker specific actions ...\nfi\n", - "type": "array", - "items": { - "$ref": "NodeInitializationAction" - } - }, - "configBucket": { - "description": "Optional. A Google Cloud Storage staging bucket used for sharing generated SSH keys and config. If you do not specify a staging bucket, Cloud Dataproc will determine an appropriate Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Google Compute Engine zone where your cluster is deployed, and then it will create and manage this project-level, per-location bucket for you.", - "type": "string" - }, - "workerConfig": { - "description": "Optional. The Google Compute Engine config settings for worker instances in a cluster.", - "$ref": "InstanceGroupConfig" - }, - "gceClusterConfig": { - "description": "Required. The shared Google Compute Engine config settings for all instances in a cluster.", - "$ref": "GceClusterConfig" - }, - "softwareConfig": { - "description": "Optional. The config settings for software inside the cluster.", - "$ref": "SoftwareConfig" - } - }, - "id": "ClusterConfig" + "id": "PigJob" } }, "icons": { @@ -1998,19 +1885,5 @@ "x16": "http://www.google.com/images/icons/product/search-16.gif" }, "protocol": "rest", - "version": "v1", - "baseUrl": "https://dataproc.googleapis.com/", - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" - } - } - } - }, - "kind": "discovery#restDescription", - "description": "Manages Hadoop-based clusters and jobs on Google Cloud Platform.", - "servicePath": "", - "rootUrl": "https://dataproc.googleapis.com/" + "version": "v1" } diff --git a/vendor/google.golang.org/api/dataproc/v1/dataproc-gen.go b/vendor/google.golang.org/api/dataproc/v1/dataproc-gen.go index 3fad6fb83..f700362c1 100644 --- a/vendor/google.golang.org/api/dataproc/v1/dataproc-gen.go +++ b/vendor/google.golang.org/api/dataproc/v1/dataproc-gen.go @@ -140,9 +140,12 @@ type AcceleratorConfig struct { // exposed to this instance. AcceleratorCount int64 `json:"acceleratorCount,omitempty"` - // AcceleratorTypeUri: Full or partial URI of the accelerator type - // resource to expose to this instance. See Google Compute Engine - // AcceleratorTypes( /compute/docs/reference/beta/acceleratorTypes) + // AcceleratorTypeUri: Full URL, partial URI, or short name of the + // accelerator type resource to expose to this instance. See Google + // Compute Engine AcceleratorTypes( + // /compute/docs/reference/beta/acceleratorTypes)Examples * + // https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80 * projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80 * + // nvidia-tesla-k80 AcceleratorTypeUri string `json:"acceleratorTypeUri,omitempty"` // ForceSendFields is a list of field names (e.g. "AcceleratorCount") to @@ -495,37 +498,6 @@ func (s *ClusterStatus) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// DiagnoseClusterOutputLocation: The location where output from -// diagnostic command can be found. -type DiagnoseClusterOutputLocation struct { - // OutputUri: Output-only The Google Cloud Storage URI of the diagnostic - // output. This will be a plain text file with summary of collected - // diagnostics. - OutputUri string `json:"outputUri,omitempty"` - - // ForceSendFields is a list of field names (e.g. "OutputUri") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "OutputUri") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *DiagnoseClusterOutputLocation) MarshalJSON() ([]byte, error) { - type noMethod DiagnoseClusterOutputLocation - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // DiagnoseClusterRequest: A request to collect cluster diagnostic // information. type DiagnoseClusterRequest struct { @@ -639,9 +611,14 @@ type GceClusterConfig struct { // for machine communications. Cannot be specified with subnetwork_uri. // If neither network_uri nor subnetwork_uri is specified, the "default" // network of the project is used, if it exists. Cannot be a "Custom - // Subnet Network" (see Using Subnetworks for more information). - // Example: - // https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default. + // Subnet Network" (see Using Subnetworks for more information).A full + // URL, partial URI, or short name are valid. + // Examples: + // https://www.googleapis.com/compute/v1/projects/[project_id]/ + // regions/global/default + // projects/[project_id]/regions/global/default + // de + // fault NetworkUri string `json:"networkUri,omitempty"` // ServiceAccount: Optional. The service account of the instances. @@ -675,17 +652,29 @@ type GceClusterConfig struct { // SubnetworkUri: Optional. The Google Compute Engine subnetwork to be // used for machine communications. Cannot be specified with - // network_uri. Example: - // https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/sub0. + // network_uri.A full URL, partial URI, or short name are valid. + // Examples: + // https://www.googleapis.com/compute/v1/projects/[project_id]/ + // regions/us-east1/sub0 + // projects/[project_id]/regions/us-east1/sub0 + // sub0 SubnetworkUri string `json:"subnetworkUri,omitempty"` // Tags: The Google Compute Engine tags to add to all instances (see // Tagging instances). Tags []string `json:"tags,omitempty"` - // ZoneUri: Required. The zone where the Google Compute Engine cluster - // will be located. Example: - // https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]. + // ZoneUri: Optional. The zone where the Google Compute Engine cluster + // will be located. On a create request, it is required in the "global" + // region. If omitted in a non-global Cloud Dataproc region, the service + // will pick a zone in the corresponding Compute Engine region. On a get + // request, zone will always be present.A full URL, partial URI, or + // short name are valid. + // Examples: + // https://www.googleapis.com/compute/v1/projects/[project_id]/ + // zones/[zone] + // projects/[project_id]/zones/[zone] + // us-central1-f ZoneUri string `json:"zoneUri,omitempty"` // ForceSendFields is a list of field names (e.g. "InternalIpOnly") to @@ -863,9 +852,15 @@ type InstanceGroupConfig struct { // preemptible instances. IsPreemptible bool `json:"isPreemptible,omitempty"` - // MachineTypeUri: Required. The Google Compute Engine machine type used - // for cluster instances. Example: - // https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2. + // MachineTypeUri: Optional. The Google Compute Engine machine type used + // for cluster instances.A full URL, partial URI, or short name are + // valid. + // Examples: + // https://www.googleapis.com/compute/v1/projects/[project_id]/ + // zones/us-east1-a/machineTypes/n1-standard-2 + // projects/[project_id]/zone + // s/us-east1-a/machineTypes/n1-standard-2 + // n1-standard-2 MachineTypeUri string `json:"machineTypeUri,omitempty"` // ManagedGroupConfig: Output-only. The config for Google Compute Engine @@ -873,7 +868,7 @@ type InstanceGroupConfig struct { // preemptible instance groups. ManagedGroupConfig *ManagedGroupConfig `json:"managedGroupConfig,omitempty"` - // NumInstances: Required. The number of VM instances in the instance + // NumInstances: Optional. The number of VM instances in the instance // group. For master instance groups, must be set to 1. NumInstances int64 `json:"numInstances,omitempty"` @@ -1446,119 +1441,6 @@ func (s *Operation) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// OperationMetadata: Metadata describing the operation. -type OperationMetadata struct { - // ClusterName: Name of the cluster for the operation. - ClusterName string `json:"clusterName,omitempty"` - - // ClusterUuid: Cluster UUId for the operation. - ClusterUuid string `json:"clusterUuid,omitempty"` - - // Description: Output-only Short description of operation. - Description string `json:"description,omitempty"` - - // Details: A message containing any operation metadata details. - Details string `json:"details,omitempty"` - - // EndTime: The time that the operation completed. - EndTime string `json:"endTime,omitempty"` - - // InnerState: A message containing the detailed operation state. - InnerState string `json:"innerState,omitempty"` - - // InsertTime: The time that the operation was requested. - InsertTime string `json:"insertTime,omitempty"` - - // OperationType: Output-only The operation type. - OperationType string `json:"operationType,omitempty"` - - // StartTime: The time that the operation was started by the server. - StartTime string `json:"startTime,omitempty"` - - // State: A message containing the operation state. - // - // Possible values: - // "UNKNOWN" - Unused. - // "PENDING" - The operation has been created. - // "RUNNING" - The operation is currently running. - // "DONE" - The operation is done, either cancelled or completed. - State string `json:"state,omitempty"` - - // Status: Output-only Current operation status. - Status *OperationStatus `json:"status,omitempty"` - - // StatusHistory: Output-only Previous operation status. - StatusHistory []*OperationStatus `json:"statusHistory,omitempty"` - - // Warnings: Output-only Errors encountered during operation execution. - Warnings []string `json:"warnings,omitempty"` - - // ForceSendFields is a list of field names (e.g. "ClusterName") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "ClusterName") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *OperationMetadata) MarshalJSON() ([]byte, error) { - type noMethod OperationMetadata - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// OperationStatus: The status of the operation. -type OperationStatus struct { - // Details: A message containing any operation metadata details. - Details string `json:"details,omitempty"` - - // InnerState: A message containing the detailed operation state. - InnerState string `json:"innerState,omitempty"` - - // State: A message containing the operation state. - // - // Possible values: - // "UNKNOWN" - Unused. - // "PENDING" - The operation has been created. - // "RUNNING" - The operation is running. - // "DONE" - The operation is done; either cancelled or completed. - State string `json:"state,omitempty"` - - // StateStartTime: The time this state was entered. - StateStartTime string `json:"stateStartTime,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Details") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Details") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *OperationStatus) MarshalJSON() ([]byte, error) { - type noMethod OperationStatus - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // PigJob: A Cloud Dataproc job for running Apache Pig // (https://pig.apache.org/) queries on YARN. type PigJob struct { @@ -1741,7 +1623,7 @@ type SoftwareConfig struct { // mapred: mapred-site.xml // pig: pig.properties // spark: spark-defaults.conf - // yarn: yarn-site.xml + // yarn: yarn-site.xmlFor more information, see Cluster properties. Properties map[string]string `json:"properties,omitempty"` // ForceSendFields is a list of field names (e.g. "ImageVersion") to @@ -1922,8 +1804,8 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in diff --git a/vendor/google.golang.org/api/dataproc/v1beta2/dataproc-api.json b/vendor/google.golang.org/api/dataproc/v1beta2/dataproc-api.json new file mode 100644 index 000000000..38b0fe315 --- /dev/null +++ b/vendor/google.golang.org/api/dataproc/v1beta2/dataproc-api.json @@ -0,0 +1,2775 @@ +{ + "title": "Google Cloud Dataproc API", + "discoveryVersion": "v1", + "ownerName": "Google", + "version_module": true, + "resources": { + "projects": { + "resources": { + "regions": { + "resources": { + "operations": { + "methods": { + "cancel": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "parameters": { + "name": { + "location": "path", + "description": "The name of the operation resource to be cancelled.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}:cancel", + "id": "dataproc.projects.regions.operations.cancel", + "path": "v1beta2/{+name}:cancel", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED." + }, + "delete": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "parameters": { + "name": { + "location": "path", + "description": "The name of the operation resource to be deleted.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}", + "id": "dataproc.projects.regions.operations.delete", + "path": "v1beta2/{+name}", + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED." + }, + "get": { + "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}", + "path": "v1beta2/{+name}", + "id": "dataproc.projects.regions.operations.get", + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$", + "location": "path" + } + } + }, + "list": { + "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/operations", + "id": "dataproc.projects.regions.operations.list", + "path": "v1beta2/{+name}", + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: the name binding allows API services to override the binding to use different resource name schemes, such as users/*/operations. To override the binding, API services can add a binding such as \"/v1/{name=users/*}/operations\" to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.", + "response": { + "$ref": "ListOperationsResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "pageSize": { + "location": "query", + "format": "int32", + "description": "The standard list page size.", + "type": "integer" + }, + "filter": { + "description": "The standard list filter.", + "type": "string", + "location": "query" + }, + "pageToken": { + "description": "The standard list page token.", + "type": "string", + "location": "query" + }, + "name": { + "description": "The name of the operation's parent resource.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/regions/[^/]+/operations$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "jobs": { + "methods": { + "cancel": { + "request": { + "$ref": "CancelJobRequest" + }, + "description": "Starts a job cancellation request. To access the job resource after cancellation, call regions/{region}/jobs.list or regions/{region}/jobs.get.", + "httpMethod": "POST", + "parameterOrder": [ + "projectId", + "region", + "jobId" + ], + "response": { + "$ref": "Job" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "jobId": { + "description": "Required. The job ID.", + "type": "string", + "required": true, + "location": "path" + }, + "projectId": { + "location": "path", + "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", + "type": "string", + "required": true + }, + "region": { + "location": "path", + "description": "Required. The Cloud Dataproc region in which to handle the request.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta2/projects/{projectId}/regions/{region}/jobs/{jobId}:cancel", + "path": "v1beta2/projects/{projectId}/regions/{region}/jobs/{jobId}:cancel", + "id": "dataproc.projects.regions.jobs.cancel" + }, + "get": { + "description": "Gets the resource representation for a job in a project.", + "response": { + "$ref": "Job" + }, + "parameterOrder": [ + "projectId", + "region", + "jobId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "region": { + "description": "Required. The Cloud Dataproc region in which to handle the request.", + "type": "string", + "required": true, + "location": "path" + }, + "jobId": { + "location": "path", + "description": "Required. The job ID.", + "type": "string", + "required": true + }, + "projectId": { + "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1beta2/projects/{projectId}/regions/{region}/jobs/{jobId}", + "id": "dataproc.projects.regions.jobs.get", + "path": "v1beta2/projects/{projectId}/regions/{region}/jobs/{jobId}" + }, + "patch": { + "description": "Updates a job in a project.", + "request": { + "$ref": "Job" + }, + "response": { + "$ref": "Job" + }, + "parameterOrder": [ + "projectId", + "region", + "jobId" + ], + "httpMethod": "PATCH", + "parameters": { + "jobId": { + "description": "Required. The job ID.", + "type": "string", + "required": true, + "location": "path" + }, + "projectId": { + "location": "path", + "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", + "type": "string", + "required": true + }, + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Required. Specifies the path, relative to \u003ccode\u003eJob\u003c/code\u003e, of the field to update. For example, to update the labels of a Job the \u003ccode\u003eupdate_mask\u003c/code\u003e parameter would be specified as \u003ccode\u003elabels\u003c/code\u003e, and the PATCH request body would specify the new value. \u003cstrong\u003eNote:\u003c/strong\u003e Currently, \u003ccode\u003elabels\u003c/code\u003e is the only field that can be updated.", + "type": "string" + }, + "region": { + "description": "Required. The Cloud Dataproc region in which to handle the request.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta2/projects/{projectId}/regions/{region}/jobs/{jobId}", + "id": "dataproc.projects.regions.jobs.patch", + "path": "v1beta2/projects/{projectId}/regions/{region}/jobs/{jobId}" + }, + "submit": { + "description": "Submits a job to a cluster.", + "request": { + "$ref": "SubmitJobRequest" + }, + "response": { + "$ref": "Job" + }, + "parameterOrder": [ + "projectId", + "region" + ], + "httpMethod": "POST", + "parameters": { + "projectId": { + "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", + "type": "string", + "required": true, + "location": "path" + }, + "region": { + "description": "Required. The Cloud Dataproc region in which to handle the request.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta2/projects/{projectId}/regions/{region}/jobs:submit", + "id": "dataproc.projects.regions.jobs.submit", + "path": "v1beta2/projects/{projectId}/regions/{region}/jobs:submit" + }, + "delete": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "projectId", + "region", + "jobId" + ], + "httpMethod": "DELETE", + "parameters": { + "region": { + "location": "path", + "description": "Required. The Cloud Dataproc region in which to handle the request.", + "type": "string", + "required": true + }, + "jobId": { + "location": "path", + "description": "Required. The job ID.", + "type": "string", + "required": true + }, + "projectId": { + "location": "path", + "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta2/projects/{projectId}/regions/{region}/jobs/{jobId}", + "id": "dataproc.projects.regions.jobs.delete", + "path": "v1beta2/projects/{projectId}/regions/{region}/jobs/{jobId}", + "description": "Deletes the job from the project. If the job is active, the delete fails, and the response returns FAILED_PRECONDITION." + }, + "list": { + "httpMethod": "GET", + "response": { + "$ref": "ListJobsResponse" + }, + "parameterOrder": [ + "projectId", + "region" + ], + "parameters": { + "pageSize": { + "location": "query", + "format": "int32", + "description": "Optional. The number of results to return in each response.", + "type": "integer" + }, + "region": { + "location": "path", + "description": "Required. The Cloud Dataproc region in which to handle the request.", + "type": "string", + "required": true + }, + "clusterName": { + "location": "query", + "description": "Optional. If set, the returned jobs list includes only jobs that were submitted to the named cluster.", + "type": "string" + }, + "projectId": { + "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", + "type": "string", + "required": true, + "location": "path" + }, + "filter": { + "location": "query", + "description": "Optional. A filter constraining the jobs to list. Filters are case-sensitive and have the following syntax:field = value AND field = value ...where field is status.state or labels.[KEY], and [KEY] is a label key. value can be * to match all values. status.state can be either ACTIVE or INACTIVE. Only the logical AND operator is supported; space-separated items are treated as having an implicit AND operator.Example filter:status.state = ACTIVE AND labels.env = staging AND labels.starred = *", + "type": "string" + }, + "jobStateMatcher": { + "location": "query", + "enum": [ + "ALL", + "ACTIVE", + "NON_ACTIVE" + ], + "description": "Optional. Specifies enumerated categories of jobs to list (default = match ALL jobs).", + "type": "string" + }, + "pageToken": { + "location": "query", + "description": "Optional. The page token, returned by a previous call, to request the next page of results.", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta2/projects/{projectId}/regions/{region}/jobs", + "path": "v1beta2/projects/{projectId}/regions/{region}/jobs", + "id": "dataproc.projects.regions.jobs.list", + "description": "Lists regions/{region}/jobs in a project." + } + } + }, + "workflowTemplates": { + "methods": { + "get": { + "description": "Retrieves the latest workflow template.Can retrieve previously instantiated template by specifying optional version parameter.", + "response": { + "$ref": "WorkflowTemplate" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "version": { + "format": "int32", + "description": "Optional The version of workflow template to retrieve. Only previously instatiated versions can be retrieved.If unspecified, retrieves the current version.", + "type": "integer", + "location": "query" + }, + "name": { + "description": "Required The \"resource name\" of the workflow template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id}", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/regions/[^/]+/workflowTemplates/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}", + "id": "dataproc.projects.regions.workflowTemplates.get", + "path": "v1beta2/{+name}" + }, + "update": { + "response": { + "$ref": "WorkflowTemplate" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PUT", + "parameters": { + "name": { + "location": "path", + "description": "Output-only The \"resource name\" of the template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id}", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/regions/[^/]+/workflowTemplates/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}", + "id": "dataproc.projects.regions.workflowTemplates.update", + "path": "v1beta2/{+name}", + "description": "Updates (replaces) workflow template. The updated template must contain version that matches the current server version.", + "request": { + "$ref": "WorkflowTemplate" + } + }, + "delete": { + "description": "Deletes a workflow template. It does not cancel in-progress workflows.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "parameters": { + "version": { + "location": "query", + "format": "int32", + "description": "Optional The version of workflow template to delete. If specified, will only delete the template if the current server version matches specified version.", + "type": "integer" + }, + "name": { + "description": "Required The \"resource name\" of the workflow template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id}", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/regions/[^/]+/workflowTemplates/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}", + "id": "dataproc.projects.regions.workflowTemplates.delete", + "path": "v1beta2/{+name}" + }, + "list": { + "description": "Lists workflows that match the specified filter in the request.", + "response": { + "$ref": "ListWorkflowTemplatesResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "parameters": { + "pageToken": { + "description": "Optional The page token, returned by a previous call, to request the next page of results.", + "type": "string", + "location": "query" + }, + "pageSize": { + "format": "int32", + "description": "Optional The maximum number of results to return in each response.", + "type": "integer", + "location": "query" + }, + "parent": { + "description": "Required The \"resource name\" of the region, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/regions/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/workflowTemplates", + "id": "dataproc.projects.regions.workflowTemplates.list", + "path": "v1beta2/{+parent}/workflowTemplates" + }, + "create": { + "description": "Creates new workflow template.", + "request": { + "$ref": "WorkflowTemplate" + }, + "response": { + "$ref": "WorkflowTemplate" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "parameters": { + "parent": { + "location": "path", + "description": "Required The \"resource name\" of the region, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/regions/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/workflowTemplates", + "id": "dataproc.projects.regions.workflowTemplates.create", + "path": "v1beta2/{+parent}/workflowTemplates" + }, + "instantiate": { + "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}:instantiate", + "id": "dataproc.projects.regions.workflowTemplates.instantiate", + "path": "v1beta2/{+name}:instantiate", + "request": { + "$ref": "InstantiateWorkflowTemplateRequest" + }, + "description": "Instantiates a template and begins execution.The returned Operation can be used to track execution of workflow by polling google.cloud.dataproc.v1beta2.OperationService.GetOperation. The Operation will complete when entire workflow is finished.The running workflow can be aborted via google.cloud.dataproc.v1beta2.OperationService.CancelOperation.The google.cloud.dataproc.v1beta2.Operation.metadata will always be google.cloud.dataproc.v1beta2.WorkflowMetadata.The google.cloud.dataproc.v1beta2.Operation.result will always be google.protobuf.Empty.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "location": "path", + "description": "Required The \"resource name\" of the workflow template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id}", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/regions/[^/]+/workflowTemplates/[^/]+$" + } + } + } + } + }, + "clusters": { + "methods": { + "patch": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "projectId", + "region", + "clusterName" + ], + "httpMethod": "PATCH", + "parameters": { + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Required. Specifies the path, relative to \u003ccode\u003eCluster\u003c/code\u003e, of the field to update. For example, to change the number of workers in a cluster to 5, the \u003ccode\u003eupdate_mask\u003c/code\u003e parameter would be specified as \u003ccode\u003econfig.worker_config.num_instances\u003c/code\u003e, and the PATCH request body would specify the new value, as follows:\n{\n \"config\":{\n \"workerConfig\":{\n \"numInstances\":\"5\"\n }\n }\n}\nSimilarly, to change the number of preemptible workers in a cluster to 5, the \u003ccode\u003eupdate_mask\u003c/code\u003e parameter would be \u003ccode\u003econfig.secondary_worker_config.num_instances\u003c/code\u003e, and the PATCH request body would be set as follows:\n{\n \"config\":{\n \"secondaryWorkerConfig\":{\n \"numInstances\":\"5\"\n }\n }\n}\n\u003cstrong\u003eNote:\u003c/strong\u003e currently only some fields can be updated: |Mask|Purpose| |labels|Updates labels| |config.worker_config.num_instances|Resize primary worker group| |config.secondary_worker_config.num_instances|Resize secondary worker group|", + "type": "string" + }, + "region": { + "description": "Required. The Cloud Dataproc region in which to handle the request.", + "type": "string", + "required": true, + "location": "path" + }, + "clusterName": { + "location": "path", + "description": "Required. The cluster name.", + "type": "string", + "required": true + }, + "gracefulDecommissionTimeout": { + "location": "query", + "format": "google-duration", + "description": "Optional. Timeout for graceful YARN decomissioning. Graceful decommissioning allows removing nodes from the cluster without interrupting jobs in progress. Timeout specifies how long to wait for jobs in progress to finish before forcefully removing nodes (and potentially interrupting jobs). Default timeout is 0 (for forceful decommission), and the maximum allowed timeout is 1 day.Only supported on Dataproc image versions 1.2 and higher.", + "type": "string" + }, + "projectId": { + "description": "Required. The ID of the Google Cloud Platform project the cluster belongs to.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta2/projects/{projectId}/regions/{region}/clusters/{clusterName}", + "id": "dataproc.projects.regions.clusters.patch", + "path": "v1beta2/projects/{projectId}/regions/{region}/clusters/{clusterName}", + "description": "Updates a cluster in a project.", + "request": { + "$ref": "Cluster" + } + }, + "get": { + "description": "Gets the resource representation for a cluster in a project.", + "parameterOrder": [ + "projectId", + "region", + "clusterName" + ], + "response": { + "$ref": "Cluster" + }, + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "region": { + "description": "Required. The Cloud Dataproc region in which to handle the request.", + "type": "string", + "required": true, + "location": "path" + }, + "clusterName": { + "description": "Required. The cluster name.", + "type": "string", + "required": true, + "location": "path" + }, + "projectId": { + "description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1beta2/projects/{projectId}/regions/{region}/clusters/{clusterName}", + "id": "dataproc.projects.regions.clusters.get", + "path": "v1beta2/projects/{projectId}/regions/{region}/clusters/{clusterName}" + }, + "testIamPermissions": { + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/regions/[^/]+/clusters/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}:testIamPermissions", + "path": "v1beta2/{+resource}:testIamPermissions", + "id": "dataproc.projects.regions.clusters.testIamPermissions" + }, + "delete": { + "flatPath": "v1beta2/projects/{projectId}/regions/{region}/clusters/{clusterName}", + "path": "v1beta2/projects/{projectId}/regions/{region}/clusters/{clusterName}", + "id": "dataproc.projects.regions.clusters.delete", + "description": "Deletes a cluster in a project.", + "httpMethod": "DELETE", + "parameterOrder": [ + "projectId", + "region", + "clusterName" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "region": { + "description": "Required. The Cloud Dataproc region in which to handle the request.", + "type": "string", + "required": true, + "location": "path" + }, + "clusterName": { + "description": "Required. The cluster name.", + "type": "string", + "required": true, + "location": "path" + }, + "projectId": { + "location": "path", + "description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", + "type": "string", + "required": true + } + } + }, + "diagnose": { + "request": { + "$ref": "DiagnoseClusterRequest" + }, + "description": "Gets cluster diagnostic information. After the operation completes, the Operation.response field contains DiagnoseClusterOutputLocation.", + "httpMethod": "POST", + "parameterOrder": [ + "projectId", + "region", + "clusterName" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "region": { + "location": "path", + "description": "Required. The Cloud Dataproc region in which to handle the request.", + "type": "string", + "required": true + }, + "clusterName": { + "location": "path", + "description": "Required. The cluster name.", + "type": "string", + "required": true + }, + "projectId": { + "description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1beta2/projects/{projectId}/regions/{region}/clusters/{clusterName}:diagnose", + "path": "v1beta2/projects/{projectId}/regions/{region}/clusters/{clusterName}:diagnose", + "id": "dataproc.projects.regions.clusters.diagnose" + }, + "list": { + "description": "Lists all regions/{region}/clusters in a project.", + "response": { + "$ref": "ListClustersResponse" + }, + "parameterOrder": [ + "projectId", + "region" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "pageSize": { + "location": "query", + "format": "int32", + "description": "Optional. The standard List page size.", + "type": "integer" + }, + "projectId": { + "location": "path", + "description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", + "type": "string", + "required": true + }, + "filter": { + "location": "query", + "description": "Optional. A filter constraining the clusters to list. Filters are case-sensitive and have the following syntax:field = value AND field = value ...where field is one of status.state, clusterName, or labels.[KEY], and [KEY] is a label key. value can be * to match all values. status.state can be one of the following: ACTIVE, INACTIVE, CREATING, RUNNING, ERROR, DELETING, or UPDATING. ACTIVE contains the CREATING, UPDATING, and RUNNING states. INACTIVE contains the DELETING and ERROR states. clusterName is the name of the cluster provided at creation time. Only the logical AND operator is supported; space-separated items are treated as having an implicit AND operator.Example filter:status.state = ACTIVE AND clusterName = mycluster AND labels.env = staging AND labels.starred = *", + "type": "string" + }, + "region": { + "location": "path", + "description": "Required. The Cloud Dataproc region in which to handle the request.", + "type": "string", + "required": true + }, + "pageToken": { + "description": "Optional. The standard List page token.", + "type": "string", + "location": "query" + } + }, + "flatPath": "v1beta2/projects/{projectId}/regions/{region}/clusters", + "id": "dataproc.projects.regions.clusters.list", + "path": "v1beta2/projects/{projectId}/regions/{region}/clusters" + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "parameters": { + "resource": { + "location": "path", + "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/regions/[^/]+/clusters/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}:setIamPolicy", + "id": "dataproc.projects.regions.clusters.setIamPolicy", + "path": "v1beta2/{+resource}:setIamPolicy" + }, + "create": { + "request": { + "$ref": "Cluster" + }, + "description": "Creates a cluster in a project.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "projectId", + "region" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "projectId": { + "description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", + "type": "string", + "required": true, + "location": "path" + }, + "region": { + "description": "Required. The Cloud Dataproc region in which to handle the request.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1beta2/projects/{projectId}/regions/{region}/clusters", + "id": "dataproc.projects.regions.clusters.create", + "path": "v1beta2/projects/{projectId}/regions/{region}/clusters" + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "httpMethod": "GET", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "resource": { + "location": "path", + "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/regions/[^/]+/clusters/[^/]+$" + } + }, + "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}:getIamPolicy", + "path": "v1beta2/{+resource}:getIamPolicy", + "id": "dataproc.projects.regions.clusters.getIamPolicy" + } + } + } + } + }, + "locations": { + "resources": { + "workflowTemplates": { + "methods": { + "list": { + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/workflowTemplates", + "id": "dataproc.projects.locations.workflowTemplates.list", + "path": "v1beta2/{+parent}/workflowTemplates", + "description": "Lists workflows that match the specified filter in the request.", + "response": { + "$ref": "ListWorkflowTemplatesResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "pageSize": { + "location": "query", + "format": "int32", + "description": "Optional The maximum number of results to return in each response.", + "type": "integer" + }, + "parent": { + "location": "path", + "description": "Required The \"resource name\" of the region, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+$" + }, + "pageToken": { + "location": "query", + "description": "Optional The page token, returned by a previous call, to request the next page of results.", + "type": "string" + } + } + }, + "create": { + "request": { + "$ref": "WorkflowTemplate" + }, + "description": "Creates new workflow template.", + "response": { + "$ref": "WorkflowTemplate" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "parent": { + "description": "Required The \"resource name\" of the region, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/workflowTemplates", + "id": "dataproc.projects.locations.workflowTemplates.create", + "path": "v1beta2/{+parent}/workflowTemplates" + }, + "instantiate": { + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/workflowTemplates/{workflowTemplatesId}:instantiate", + "id": "dataproc.projects.locations.workflowTemplates.instantiate", + "path": "v1beta2/{+name}:instantiate", + "request": { + "$ref": "InstantiateWorkflowTemplateRequest" + }, + "description": "Instantiates a template and begins execution.The returned Operation can be used to track execution of workflow by polling google.cloud.dataproc.v1beta2.OperationService.GetOperation. The Operation will complete when entire workflow is finished.The running workflow can be aborted via google.cloud.dataproc.v1beta2.OperationService.CancelOperation.The google.cloud.dataproc.v1beta2.Operation.metadata will always be google.cloud.dataproc.v1beta2.WorkflowMetadata.The google.cloud.dataproc.v1beta2.Operation.result will always be google.protobuf.Empty.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "description": "Required The \"resource name\" of the workflow template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id}", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/workflowTemplates/[^/]+$", + "location": "path" + } + } + }, + "get": { + "response": { + "$ref": "WorkflowTemplate" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "location": "path", + "description": "Required The \"resource name\" of the workflow template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id}", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/workflowTemplates/[^/]+$" + }, + "version": { + "location": "query", + "format": "int32", + "description": "Optional The version of workflow template to retrieve. Only previously instatiated versions can be retrieved.If unspecified, retrieves the current version.", + "type": "integer" + } + }, + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/workflowTemplates/{workflowTemplatesId}", + "id": "dataproc.projects.locations.workflowTemplates.get", + "path": "v1beta2/{+name}", + "description": "Retrieves the latest workflow template.Can retrieve previously instantiated template by specifying optional version parameter." + }, + "update": { + "httpMethod": "PUT", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "WorkflowTemplate" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "location": "path", + "description": "Output-only The \"resource name\" of the template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id}", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/workflowTemplates/[^/]+$" + } + }, + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/workflowTemplates/{workflowTemplatesId}", + "path": "v1beta2/{+name}", + "id": "dataproc.projects.locations.workflowTemplates.update", + "request": { + "$ref": "WorkflowTemplate" + }, + "description": "Updates (replaces) workflow template. The updated template must contain version that matches the current server version." + }, + "delete": { + "description": "Deletes a workflow template. It does not cancel in-progress workflows.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "version": { + "location": "query", + "format": "int32", + "description": "Optional The version of workflow template to delete. If specified, will only delete the template if the current server version matches specified version.", + "type": "integer" + }, + "name": { + "location": "path", + "description": "Required The \"resource name\" of the workflow template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id}", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/locations/[^/]+/workflowTemplates/[^/]+$" + } + }, + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/workflowTemplates/{workflowTemplatesId}", + "id": "dataproc.projects.locations.workflowTemplates.delete", + "path": "v1beta2/{+name}" + } + } + } + } + } + } + } + }, + "parameters": { + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" + }, + "pp": { + "description": "Pretty-print response.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, + "prettyPrint": { + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string", + "location": "query" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", + "location": "query" + }, + "$.xgafv": { + "description": "V1 error format.", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ] + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, + "alt": { + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ] + }, + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", + "location": "query" + } + }, + "schemas": { + "JobScheduling": { + "description": "Job scheduling options.Beta Feature: These options are available for testing purposes only. They may be changed before final release.", + "type": "object", + "properties": { + "maxFailuresPerHour": { + "format": "int32", + "description": "Optional. Maximum number of times per hour a driver may be restarted as a result of driver terminating with non-zero code before job is reported failed.A job may be reported as thrashing if driver exits with non-zero code 4 times within 10 minute window.Maximum value is 10.", + "type": "integer" + } + }, + "id": "JobScheduling" + }, + "Cluster": { + "description": "Describes the identifying information, config, and status of a cluster of Google Compute Engine instances.", + "type": "object", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels to associate with this cluster. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a cluster.", + "type": "object" + }, + "metrics": { + "description": "Contains cluster daemon metrics such as HDFS and YARN stats.Beta Feature: This report is available for testing purposes only. It may be changed before final release.", + "$ref": "ClusterMetrics" + }, + "status": { + "$ref": "ClusterStatus", + "description": "Output-only. Cluster status." + }, + "statusHistory": { + "description": "Output-only. The previous cluster status.", + "items": { + "$ref": "ClusterStatus" + }, + "type": "array" + }, + "config": { + "description": "Required. The cluster config. Note that Cloud Dataproc may set default values, and values may change when clusters are updated.", + "$ref": "ClusterConfig" + }, + "clusterUuid": { + "description": "Output-only. A cluster UUID (Unique Universal Identifier). Cloud Dataproc generates this value when it creates the cluster.", + "type": "string" + }, + "clusterName": { + "description": "Required. The cluster name. Cluster names within a project must be unique. Names of deleted clusters can be reused.", + "type": "string" + }, + "projectId": { + "description": "Required. The Google Cloud Platform project ID that the cluster belongs to.", + "type": "string" + } + }, + "id": "Cluster" + }, + "TestIamPermissionsResponse": { + "description": "Response message for TestIamPermissions method.", + "type": "object", + "properties": { + "permissions": { + "description": "A subset of TestPermissionsRequest.permissions that the caller is allowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "TestIamPermissionsResponse" + }, + "SoftwareConfig": { + "description": "Specifies the selection and config of software inside the cluster.", + "type": "object", + "properties": { + "properties": { + "description": "Optional. The properties to set on daemon config files.Property keys are specified in prefix:property format, such as core:fs.defaultFS. The following are supported prefixes and their mappings:\ncapacity-scheduler: capacity-scheduler.xml\ncore: core-site.xml\ndistcp: distcp-default.xml\nhdfs: hdfs-site.xml\nhive: hive-site.xml\nmapred: mapred-site.xml\npig: pig.properties\nspark: spark-defaults.conf\nyarn: yarn-site.xmlFor more information, see Cluster properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "imageVersion": { + "description": "Optional. The version of software inside the cluster. It must match the regular expression [0-9]+\\.[0-9]+. If unspecified, it defaults to the latest version (see Cloud Dataproc Versioning).", + "type": "string" + } + }, + "id": "SoftwareConfig" + }, + "ClusterSelector": { + "description": "A selector that chooses target cluster for jobs based on metadata.", + "type": "object", + "properties": { + "zone": { + "description": "Required The cluster target zone.", + "type": "string" + }, + "clusterLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "Required The cluster labels. Cluster must have all labels to match.", + "type": "object" + } + }, + "id": "ClusterSelector" + }, + "WorkflowTemplatePlacement": { + "description": "Specifies workflow execution target.Either managed_cluster or cluster_selector is required.", + "type": "object", + "properties": { + "clusterSelector": { + "$ref": "ClusterSelector", + "description": "Optional A selector that chooses target cluster for jobs based on metadata.The selector is evaluated at the time each job is submitted." + }, + "managedCluster": { + "$ref": "ManagedCluster", + "description": "Optional A cluster that is managed by the workflow." + } + }, + "id": "WorkflowTemplatePlacement" + }, + "ClusterOperation": { + "type": "object", + "properties": { + "error": { + "description": "Output-only Error, if operation failed.", + "type": "string" + }, + "operationId": { + "description": "Output-only The id of the cluster operation.", + "type": "string" + }, + "done": { + "description": "Output-only Indicates the operation is done.", + "type": "boolean" + } + }, + "id": "ClusterOperation" + }, + "WorkflowMetadata": { + "description": "A Cloud Dataproc workflow template resource.", + "type": "object", + "properties": { + "state": { + "enumDescriptions": [ + "Unused.", + "The operation has been created.", + "The operation is running.", + "The operation is done; either cancelled or completed." + ], + "enum": [ + "UNKNOWN", + "PENDING", + "RUNNING", + "DONE" + ], + "description": "Output-only The workflow state.", + "type": "string" + }, + "clusterName": { + "description": "Output-only The name of the managed cluster.", + "type": "string" + }, + "createCluster": { + "$ref": "ClusterOperation", + "description": "Output-only The create cluster operation metadata." + }, + "graph": { + "description": "Output-only The workflow graph.", + "$ref": "WorkflowGraph" + }, + "version": { + "format": "int32", + "description": "Output-only The version of template at the time of workflow instantiation.", + "type": "integer" + }, + "template": { + "description": "Output-only The \"resource name\" of the template.", + "type": "string" + }, + "deleteCluster": { + "$ref": "ClusterOperation", + "description": "Output-only The delete cluster operation metadata." + } + }, + "id": "WorkflowMetadata" + }, + "SparkJob": { + "description": "A Cloud Dataproc job for running Apache Spark (http://spark.apache.org/) applications on YARN.", + "type": "object", + "properties": { + "mainJarFileUri": { + "description": "The HCFS URI of the jar file that contains the main class.", + "type": "string" + }, + "jarFileUris": { + "description": "Optional. HCFS URIs of jar files to add to the CLASSPATHs of the Spark driver and tasks.", + "items": { + "type": "string" + }, + "type": "array" + }, + "loggingConfig": { + "description": "Optional. The runtime log config for job execution.", + "$ref": "LoggingConfig" + }, + "properties": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. A mapping of property names to values, used to configure Spark. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code.", + "type": "object" + }, + "args": { + "description": "Optional. The arguments to pass to the driver. Do not include arguments, such as --conf, that can be set as job properties, since a collision may occur that causes an incorrect job submission.", + "items": { + "type": "string" + }, + "type": "array" + }, + "fileUris": { + "description": "Optional. HCFS URIs of files to be copied to the working directory of Spark drivers and distributed tasks. Useful for naively parallel tasks.", + "items": { + "type": "string" + }, + "type": "array" + }, + "mainClass": { + "description": "The name of the driver's main class. The jar file that contains the class must be in the default CLASSPATH or specified in jar_file_uris.", + "type": "string" + }, + "archiveUris": { + "description": "Optional. HCFS URIs of archives to be extracted in the working directory of Spark drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "SparkJob" + }, + "JobStatus": { + "description": "Cloud Dataproc job status.", + "type": "object", + "properties": { + "substate": { + "description": "Output-only. Additional state information, which includes status reported by the agent.", + "type": "string", + "enumDescriptions": [ + "", + "The Job is submitted to the agent.Applies to RUNNING state.", + "The Job has been received and is awaiting execution (it may be waiting for a condition to be met). See the \"details\" field for the reason for the delay.Applies to RUNNING state.", + "The agent-reported status is out of date, which may be caused by a loss of communication between the agent and Cloud Dataproc. If the agent does not send a timely update, the job will fail.Applies to RUNNING state." + ], + "enum": [ + "UNSPECIFIED", + "SUBMITTED", + "QUEUED", + "STALE_STATUS" + ] + }, + "stateStartTime": { + "format": "google-datetime", + "description": "Output-only. The time when this state was entered.", + "type": "string" + }, + "details": { + "description": "Output-only. Optional job state details, such as an error description if the state is \u003ccode\u003eERROR\u003c/code\u003e.", + "type": "string" + }, + "state": { + "description": "Output-only. A state message specifying the overall job state.", + "type": "string", + "enumDescriptions": [ + "The job state is unknown.", + "The job is pending; it has been submitted, but is not yet running.", + "Job has been received by the service and completed initial setup; it will soon be submitted to the cluster.", + "The job is running on the cluster.", + "A CancelJob request has been received, but is pending.", + "Transient in-flight resources have been canceled, and the request to cancel the running job has been issued to the cluster.", + "The job cancellation was successful.", + "The job has completed successfully.", + "The job has completed, but encountered an error.", + "Job attempt has failed. The detail field contains failure details for this attempt.Applies to restartable jobs only." + ], + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "SETUP_DONE", + "RUNNING", + "CANCEL_PENDING", + "CANCEL_STARTED", + "CANCELLED", + "DONE", + "ERROR", + "ATTEMPT_FAILURE" + ] + } + }, + "id": "JobStatus" + }, + "DiagnoseClusterRequest": { + "description": "A request to collect cluster diagnostic information.", + "type": "object", + "properties": {}, + "id": "DiagnoseClusterRequest" + }, + "DiskConfig": { + "description": "Specifies the config of disk options for a group of VM instances.", + "type": "object", + "properties": { + "numLocalSsds": { + "format": "int32", + "description": "Optional. Number of attached SSDs, from 0 to 4 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.", + "type": "integer" + }, + "bootDiskSizeGb": { + "format": "int32", + "description": "Optional. Size in GB of the boot disk (default is 500GB).", + "type": "integer" + } + }, + "id": "DiskConfig" + }, + "ClusterOperationMetadata": { + "description": "Metadata describing the operation.", + "type": "object", + "properties": { + "labels": { + "description": "Output-only. Labels associated with the operation", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "status": { + "description": "Output-only. Current operation status.", + "$ref": "ClusterOperationStatus" + }, + "statusHistory": { + "description": "Output-only. The previous operation status.", + "items": { + "$ref": "ClusterOperationStatus" + }, + "type": "array" + }, + "clusterName": { + "description": "Output-only. Name of the cluster for the operation.", + "type": "string" + }, + "clusterUuid": { + "description": "Output-only. Cluster UUID for the operation.", + "type": "string" + }, + "operationType": { + "description": "Output-only. The operation type.", + "type": "string" + }, + "description": { + "description": "Output-only. Short description of operation.", + "type": "string" + }, + "warnings": { + "description": "Output-only. Errors encountered during operation execution.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "ClusterOperationMetadata" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance:\nservice Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n}\nThe JSON representation for Empty is empty JSON object {}.", + "type": "object", + "properties": {}, + "id": "Empty" + }, + "GceClusterConfig": { + "description": "Common config settings for resources of Google Compute Engine cluster instances, applicable to all instances in the cluster.", + "type": "object", + "properties": { + "networkUri": { + "description": "Optional. The Google Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the \"default\" network of the project is used, if it exists. Cannot be a \"Custom Subnet Network\" (see Using Subnetworks for more information).A full URL, partial URI, or short name are valid. Examples:\nhttps://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default\nprojects/[project_id]/regions/global/default\ndefault", + "type": "string" + }, + "zoneUri": { + "description": "Optional. The zone where the Google Compute Engine cluster will be located. On a create request, it is required in the \"global\" region. If omitted in a non-global Cloud Dataproc region, the service will pick a zone in the corresponding Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples:\nhttps://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]\nprojects/[project_id]/zones/[zone]\nus-central1-f", + "type": "string" + }, + "metadata": { + "description": "The Google Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)).", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "internalIpOnly": { + "description": "Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This internal_ip_only restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses.", + "type": "boolean" + }, + "serviceAccountScopes": { + "description": "Optional. The URIs of service account scopes to be included in Google Compute Engine instances. The following base set of scopes is always included:\nhttps://www.googleapis.com/auth/cloud.useraccounts.readonly\nhttps://www.googleapis.com/auth/devstorage.read_write\nhttps://www.googleapis.com/auth/logging.writeIf no scopes are specified, the following defaults are also provided:\nhttps://www.googleapis.com/auth/bigquery\nhttps://www.googleapis.com/auth/bigtable.admin.table\nhttps://www.googleapis.com/auth/bigtable.data\nhttps://www.googleapis.com/auth/devstorage.full_control", + "items": { + "type": "string" + }, + "type": "array" + }, + "tags": { + "description": "The Google Compute Engine tags to add to all instances (see Tagging instances).", + "items": { + "type": "string" + }, + "type": "array" + }, + "serviceAccount": { + "description": "Optional. The service account of the instances. Defaults to the default Google Compute Engine service account. Custom service accounts need permissions equivalent to the folloing IAM roles:\nroles/logging.logWriter\nroles/storage.objectAdmin(see https://cloud.google.com/compute/docs/access/service-accounts#custom_service_accounts for more information). Example: [account_id]@[project_id].iam.gserviceaccount.com", + "type": "string" + }, + "subnetworkUri": { + "description": "Optional. The Google Compute Engine subnetwork to be used for machine communications. Cannot be specified with network_uri.A full URL, partial URI, or short name are valid. Examples:\nhttps://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/sub0\nprojects/[project_id]/regions/us-east1/sub0\nsub0", + "type": "string" + } + }, + "id": "GceClusterConfig" + }, + "Policy": { + "description": "Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources.A Policy consists of a list of bindings. A Binding binds a list of members to a role, where the members can be user accounts, Google groups, Google domains, and service accounts. A role is a named list of permissions defined by IAM.Example\n{\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n}\nFor a description of IAM and its features, see the IAM developer's guide (https://cloud.google.com/iam).", + "type": "object", + "properties": { + "etag": { + "format": "byte", + "description": "etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An etag is returned in the response to getIamPolicy, and systems are expected to put that etag in the request to setIamPolicy to ensure that their change will be applied to the same version of the policy.If no etag is provided in the call to setIamPolicy, then the existing policy is overwritten blindly.", + "type": "string" + }, + "version": { + "format": "int32", + "description": "Version of the Policy. The default version is 0.", + "type": "integer" + }, + "bindings": { + "description": "Associates a list of members to a role. bindings with no members will result in an error.", + "items": { + "$ref": "Binding" + }, + "type": "array" + } + }, + "id": "Policy" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "type": "object", + "properties": { + "error": { + "description": "The error result of the operation in case of failure or cancellation.", + "$ref": "Status" + }, + "metadata": { + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + } + }, + "done": { + "description": "If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.", + "type": "boolean" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should have the format of operations/some/unique/name.", + "type": "string" + } + }, + "id": "Operation" + }, + "ListWorkflowTemplatesResponse": { + "description": "A response to a request to list workflow templates in a project.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "Output-only This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent \u003ccode\u003eListWorkflowTemplatesRequest\u003c/code\u003e.", + "type": "string" + }, + "templates": { + "description": "Output-only WorkflowTemplates list.", + "items": { + "$ref": "WorkflowTemplate" + }, + "type": "array" + } + }, + "id": "ListWorkflowTemplatesResponse" + }, + "JobReference": { + "description": "Encapsulates the full scoping used to reference a job.", + "type": "object", + "properties": { + "jobId": { + "description": "Optional. The job ID, which must be unique within the project. The job ID is generated by the server upon job submission or provided by the user as a means to perform retries without creating duplicate jobs. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or hyphens (-). The maximum length is 100 characters.", + "type": "string" + }, + "projectId": { + "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", + "type": "string" + } + }, + "id": "JobReference" + }, + "Status": { + "description": "The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). The error model is designed to be:\nSimple to use and understand for most users\nFlexible enough to meet unexpected needsOverviewThe Status message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers understand and resolve the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package google.rpc that can be used for common error conditions.Language mappingThe Status message is the logical representation of the error model, but it is not necessarily the actual wire format. When the Status message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C.Other usesThe error model and the Status message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments.Example uses of this error model include:\nPartial errors. If a service needs to return partial errors to the client, it may embed the Status in the normal response to indicate the partial errors.\nWorkflow errors. A typical workflow has multiple steps. Each step may have a Status message for error reporting.\nBatch operations. If a client uses batch request and batch response, the Status message should be used directly inside batch response, one for each error sub-response.\nAsynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the Status message.\nLogging. If some API errors are stored in logs, the message Status could be used directly after any stripping needed for security/privacy reasons.", + "type": "object", + "properties": { + "code": { + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + } + }, + "id": "Status" + }, + "Binding": { + "description": "Associates members with a role.", + "type": "object", + "properties": { + "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource. members can have the following values:\nallUsers: A special identifier that represents anyone who is on the internet; with or without a Google account.\nallAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account.\nuser:{emailid}: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.\nserviceAccount:{emailid}: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.\ngroup:{emailid}: An email address that represents a Google group. For example, admins@example.com.\ndomain:{domain}: A Google Apps domain name that represents all the users of that domain. For example, google.com or example.com.", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to members. For example, roles/viewer, roles/editor, or roles/owner. Required", + "type": "string" + } + }, + "id": "Binding" + }, + "InstanceGroupConfig": { + "description": "Optional. The config settings for Google Compute Engine resources in an instance group, such as a master or worker group.", + "type": "object", + "properties": { + "diskConfig": { + "description": "Optional. Disk option config settings.", + "$ref": "DiskConfig" + }, + "machineTypeUri": { + "description": "Optional. The Google Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples:\nhttps://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2\nprojects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2\nn1-standard-2", + "type": "string" + }, + "imageUri": { + "description": "Output-only. The Google Compute Engine image resource used for cluster instances. Inferred from SoftwareConfig.image_version.", + "type": "string" + }, + "managedGroupConfig": { + "description": "Output-only. The config for Google Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups.", + "$ref": "ManagedGroupConfig" + }, + "isPreemptible": { + "description": "Optional. Specifies that this instance group contains preemptible instances.", + "type": "boolean" + }, + "instanceNames": { + "description": "Optional. The list of instance names. Cloud Dataproc derives the names from cluster_name, num_instances, and the instance group if not set by user (recommended practice is to let Cloud Dataproc derive the name).", + "items": { + "type": "string" + }, + "type": "array" + }, + "accelerators": { + "description": "Optional. The Google Compute Engine accelerator configuration for these instances.Beta Feature: This feature is still under development. It may be changed before final release.", + "items": { + "$ref": "AcceleratorConfig" + }, + "type": "array" + }, + "numInstances": { + "format": "int32", + "description": "Optional. The number of VM instances in the instance group. For master instance groups, must be set to 1.", + "type": "integer" + } + }, + "id": "InstanceGroupConfig" + }, + "ListJobsResponse": { + "description": "A list of jobs in a project.", + "type": "object", + "properties": { + "jobs": { + "description": "Output-only. Jobs list.", + "items": { + "$ref": "Job" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Optional. This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent \u003ccode\u003eListJobsRequest\u003c/code\u003e.", + "type": "string" + } + }, + "id": "ListJobsResponse" + }, + "NodeInitializationAction": { + "description": "Specifies an executable to run on a fully configured node and a timeout period for executable completion.", + "type": "object", + "properties": { + "executionTimeout": { + "format": "google-duration", + "description": "Optional. Amount of time executable has to complete. Default is 10 minutes. Cluster creation fails with an explanatory error message (the name of the executable that caused the error and the exceeded timeout period) if the executable is not completed at end of the timeout period.", + "type": "string" + }, + "executableFile": { + "description": "Required. Google Cloud Storage URI of executable file.", + "type": "string" + } + }, + "id": "NodeInitializationAction" + }, + "CancelJobRequest": { + "description": "A request to cancel a job.", + "type": "object", + "properties": {}, + "id": "CancelJobRequest" + }, + "SparkSqlJob": { + "description": "A Cloud Dataproc job for running Apache Spark SQL (http://spark.apache.org/sql/) queries.", + "type": "object", + "properties": { + "scriptVariables": { + "description": "Optional. Mapping of query variable names to values (equivalent to the Spark SQL command: SET name=\"value\";).", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "jarFileUris": { + "description": "Optional. HCFS URIs of jar files to be added to the Spark CLASSPATH.", + "items": { + "type": "string" + }, + "type": "array" + }, + "loggingConfig": { + "description": "Optional. The runtime log config for job execution.", + "$ref": "LoggingConfig" + }, + "properties": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. A mapping of property names to values, used to configure Spark SQL's SparkConf. Properties that conflict with values set by the Cloud Dataproc API may be overwritten.", + "type": "object" + }, + "queryList": { + "$ref": "QueryList", + "description": "A list of queries." + }, + "queryFileUri": { + "description": "The HCFS URI of the script that contains SQL queries.", + "type": "string" + } + }, + "id": "SparkSqlJob" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "type": "object", + "properties": { + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "id": "ListOperationsResponse" + }, + "JobPlacement": { + "description": "Cloud Dataproc job config.", + "type": "object", + "properties": { + "clusterUuid": { + "description": "Output-only. A cluster UUID generated by the Cloud Dataproc service when the job is submitted.", + "type": "string" + }, + "clusterName": { + "description": "Required. The name of the cluster where the job will be submitted.", + "type": "string" + } + }, + "id": "JobPlacement" + }, + "PigJob": { + "description": "A Cloud Dataproc job for running Apache Pig (https://pig.apache.org/) queries on YARN.", + "type": "object", + "properties": { + "continueOnFailure": { + "description": "Optional. Whether to continue executing queries if a query fails. The default value is false. Setting to true can be useful when executing independent parallel queries.", + "type": "boolean" + }, + "queryList": { + "$ref": "QueryList", + "description": "A list of queries." + }, + "queryFileUri": { + "description": "The HCFS URI of the script that contains the Pig queries.", + "type": "string" + }, + "jarFileUris": { + "description": "Optional. HCFS URIs of jar files to add to the CLASSPATH of the Pig Client and Hadoop MapReduce (MR) tasks. Can contain Pig UDFs.", + "items": { + "type": "string" + }, + "type": "array" + }, + "scriptVariables": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Mapping of query variable names to values (equivalent to the Pig command: name=[value]).", + "type": "object" + }, + "loggingConfig": { + "description": "Optional. The runtime log config for job execution.", + "$ref": "LoggingConfig" + }, + "properties": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. A mapping of property names to values, used to configure Pig. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/pig/conf/pig.properties, and classes in user code.", + "type": "object" + } + }, + "id": "PigJob" + }, + "ClusterStatus": { + "description": "The status of a cluster and its instances.", + "type": "object", + "properties": { + "substate": { + "description": "Output-only. Additional state information that includes status reported by the agent.", + "type": "string", + "enumDescriptions": [ + "", + "The cluster is known to be in an unhealthy state (for example, critical daemons are not running or HDFS capacity is exhausted).Applies to RUNNING state.", + "The agent-reported status is out of date (may occur if Cloud Dataproc loses communication with Agent).Applies to RUNNING state." + ], + "enum": [ + "UNSPECIFIED", + "UNHEALTHY", + "STALE_STATUS" + ] + }, + "stateStartTime": { + "format": "google-datetime", + "description": "Output-only. Time when this state was entered.", + "type": "string" + }, + "detail": { + "description": "Output-only. Optional details of cluster's state.", + "type": "string" + }, + "state": { + "enumDescriptions": [ + "The cluster state is unknown.", + "The cluster is being created and set up. It is not ready for use.", + "The cluster is currently running and healthy. It is ready for use.", + "The cluster encountered an error. It is not ready for use.", + "The cluster is being deleted. It cannot be used.", + "The cluster is being updated. It continues to accept and process jobs." + ], + "enum": [ + "UNKNOWN", + "CREATING", + "RUNNING", + "ERROR", + "DELETING", + "UPDATING" + ], + "description": "Output-only. The cluster's state.", + "type": "string" + } + }, + "id": "ClusterStatus" + }, + "WorkflowTemplate": { + "description": "A Cloud Dataproc workflow template resource.", + "type": "object", + "properties": { + "id": { + "description": "Required The template id.", + "type": "string" + }, + "version": { + "format": "int32", + "description": "Optional Used to perform a consistent read-modify-write.This field should be left blank for a CreateWorkflowTemplate request. It is required for an UpdateWorkflowTemplate request, and must match the current server version. A typical update template flow would fetch the current template with a GetWorkflowTemplate request, which will return the current template with the version field filled in with the current server version. The user updates other fields in the template, then returns it as part of the UpdateWorkflowTemplate request.", + "type": "integer" + }, + "jobs": { + "description": "Required The Directed Acyclic Graph of Jobs to submit.", + "items": { + "$ref": "OrderedJob" + }, + "type": "array" + }, + "createTime": { + "format": "google-datetime", + "description": "Output-only The time template was created.", + "type": "string" + }, + "labels": { + "description": "Optional The labels to associate with this template. These labels will be propagated to all jobs and clusters created by the workflow instance.Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt).Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt).No more than 32 labels can be associated with a template.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "placement": { + "$ref": "WorkflowTemplatePlacement", + "description": "Required WorkflowTemplate scheduling information." + }, + "updateTime": { + "format": "google-datetime", + "description": "Output-only The time template was last updated.", + "type": "string" + }, + "name": { + "description": "Output-only The \"resource name\" of the template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id}", + "type": "string" + } + }, + "id": "WorkflowTemplate" + }, + "ListClustersResponse": { + "description": "The list of all clusters in a project.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "Output-only. This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent \u003ccode\u003eListClustersRequest\u003c/code\u003e.", + "type": "string" + }, + "clusters": { + "description": "Output-only. The clusters in the project.", + "items": { + "$ref": "Cluster" + }, + "type": "array" + } + }, + "id": "ListClustersResponse" + }, + "Job": { + "description": "A Cloud Dataproc job resource.", + "type": "object", + "properties": { + "pigJob": { + "description": "Job is a Pig job.", + "$ref": "PigJob" + }, + "hiveJob": { + "description": "Job is a Hive job.", + "$ref": "HiveJob" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels to associate with this job. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a job.", + "type": "object" + }, + "driverOutputResourceUri": { + "description": "Output-only. A URI pointing to the location of the stdout of the job's driver program.", + "type": "string" + }, + "sparkSqlJob": { + "description": "Job is a SparkSql job.", + "$ref": "SparkSqlJob" + }, + "sparkJob": { + "description": "Job is a Spark job.", + "$ref": "SparkJob" + }, + "statusHistory": { + "description": "Output-only. The previous job status.", + "items": { + "$ref": "JobStatus" + }, + "type": "array" + }, + "yarnApplications": { + "description": "Output-only. The collection of YARN applications spun up by this job.Beta Feature: This report is available for testing purposes only. It may be changed before final release.", + "items": { + "$ref": "YarnApplication" + }, + "type": "array" + }, + "pysparkJob": { + "$ref": "PySparkJob", + "description": "Job is a Pyspark job." + }, + "reference": { + "$ref": "JobReference", + "description": "Optional. The fully qualified reference to the job, which can be used to obtain the equivalent REST path of the job resource. If this property is not specified when a job is created, the server generates a \u003ccode\u003ejob_id\u003c/code\u003e." + }, + "hadoopJob": { + "$ref": "HadoopJob", + "description": "Job is a Hadoop job." + }, + "placement": { + "$ref": "JobPlacement", + "description": "Required. Job information, including how, when, and where to run the job." + }, + "status": { + "description": "Output-only. The job status. Additional application-specific status information may be contained in the \u003ccode\u003etype_job\u003c/code\u003e and \u003ccode\u003eyarn_applications\u003c/code\u003e fields.", + "$ref": "JobStatus" + }, + "driverControlFilesUri": { + "description": "Output-only. If present, the location of miscellaneous control files which may be used as part of job setup and handling. If not present, control files may be placed in the same location as driver_output_uri.", + "type": "string" + }, + "scheduling": { + "$ref": "JobScheduling", + "description": "Optional. Job scheduling configuration." + } + }, + "id": "Job" + }, + "ManagedGroupConfig": { + "description": "Specifies the resources used to actively manage an instance group.", + "type": "object", + "properties": { + "instanceGroupManagerName": { + "description": "Output-only. The name of the Instance Group Manager for this group.", + "type": "string" + }, + "instanceTemplateName": { + "description": "Output-only. The name of the Instance Template used for the Managed Instance Group.", + "type": "string" + } + }, + "id": "ManagedGroupConfig" + }, + "LifecycleConfig": { + "description": "Specifies the cluster auto delete related schedule configuration.", + "type": "object", + "properties": { + "idleDeleteTtl": { + "format": "google-duration", + "description": "Optional. The longest duration that cluster would keep alive while staying idle; passing this threshold will cause cluster to be auto-deleted.", + "type": "string" + }, + "autoDeleteTtl": { + "format": "google-duration", + "description": "Optional. The life duration of cluster, the cluster will be auto-deleted at the end of this duration.", + "type": "string" + }, + "autoDeleteTime": { + "format": "google-datetime", + "description": "Optional. The time when cluster will be auto-deleted.", + "type": "string" + } + }, + "id": "LifecycleConfig" + }, + "ClusterOperationStatus": { + "description": "The status of the operation.", + "type": "object", + "properties": { + "details": { + "description": "Output-only.A message containing any operation metadata details.", + "type": "string" + }, + "state": { + "enumDescriptions": [ + "Unused.", + "The operation has been created.", + "The operation is running.", + "The operation is done; either cancelled or completed." + ], + "enum": [ + "UNKNOWN", + "PENDING", + "RUNNING", + "DONE" + ], + "description": "Output-only. A message containing the operation state.", + "type": "string" + }, + "innerState": { + "description": "Output-only. A message containing the detailed operation state.", + "type": "string" + }, + "stateStartTime": { + "format": "google-datetime", + "description": "Output-only. The time this state was entered.", + "type": "string" + } + }, + "id": "ClusterOperationStatus" + }, + "ManagedCluster": { + "description": "Cluster that is managed by the workflow.", + "type": "object", + "properties": { + "labels": { + "description": "Optional The labels to associate with this cluster.Label keys must be between 1 and 63 characters long, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62}Label values must be between 1 and 63 characters long, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}\\p{N}_-{0,63}No more than 64 labels can be associated with a given cluster.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "config": { + "description": "Required The cluster configuration.", + "$ref": "ClusterConfig" + }, + "clusterName": { + "description": "Required The cluster name. Cluster names within a project must be unique. Names from deleted clusters can be reused.", + "type": "string" + } + }, + "id": "ManagedCluster" + }, + "HadoopJob": { + "description": "A Cloud Dataproc job for running Apache Hadoop MapReduce (https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html) jobs on Apache Hadoop YARN (https://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/YARN.html).", + "type": "object", + "properties": { + "mainJarFileUri": { + "description": "The HCFS URI of the jar file containing the main class. Examples: 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' 'hdfs:/tmp/test-samples/custom-wordcount.jar' 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar'", + "type": "string" + }, + "jarFileUris": { + "description": "Optional. Jar file URIs to add to the CLASSPATHs of the Hadoop driver and tasks.", + "items": { + "type": "string" + }, + "type": "array" + }, + "loggingConfig": { + "description": "Optional. The runtime log config for job execution.", + "$ref": "LoggingConfig" + }, + "properties": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. A mapping of property names to values, used to configure Hadoop. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site and classes in user code.", + "type": "object" + }, + "args": { + "description": "Optional. The arguments to pass to the driver. Do not include arguments, such as -libjars or -Dfoo=bar, that can be set as job properties, since a collision may occur that causes an incorrect job submission.", + "items": { + "type": "string" + }, + "type": "array" + }, + "fileUris": { + "description": "Optional. HCFS (Hadoop Compatible Filesystem) URIs of files to be copied to the working directory of Hadoop drivers and distributed tasks. Useful for naively parallel tasks.", + "items": { + "type": "string" + }, + "type": "array" + }, + "mainClass": { + "description": "The name of the driver's main class. The jar file containing the class must be in the default CLASSPATH or specified in jar_file_uris.", + "type": "string" + }, + "archiveUris": { + "description": "Optional. HCFS URIs of archives to be extracted in the working directory of Hadoop drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, or .zip.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "HadoopJob" + }, + "QueryList": { + "description": "A list of queries to run on a cluster.", + "type": "object", + "properties": { + "queries": { + "description": "Required. The queries to execute. You do not need to terminate a query with a semicolon. Multiple queries can be specified in one string by separating each with a semicolon. Here is an example of an Cloud Dataproc API snippet that uses a QueryList to specify a HiveJob:\n\"hiveJob\": {\n \"queryList\": {\n \"queries\": [\n \"query1\",\n \"query2\",\n \"query3;query4\",\n ]\n }\n}\n", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "QueryList" + }, + "YarnApplication": { + "description": "A YARN application created by a job. Application information is a subset of \u003ccode\u003eorg.apache.hadoop.yarn.proto.YarnProtos.ApplicationReportProto\u003c/code\u003e.Beta Feature: This report is available for testing purposes only. It may be changed before final release.", + "type": "object", + "properties": { + "trackingUrl": { + "description": "Optional. The HTTP URL of the ApplicationMaster, HistoryServer, or TimelineServer that provides application-specific information. The URL uses the internal hostname, and requires a proxy server for resolution and, possibly, access.", + "type": "string" + }, + "progress": { + "format": "float", + "description": "Required. The numerical progress of the application, from 1 to 100.", + "type": "number" + }, + "state": { + "description": "Required. The application state.", + "type": "string", + "enumDescriptions": [ + "Status is unspecified.", + "Status is NEW.", + "Status is NEW_SAVING.", + "Status is SUBMITTED.", + "Status is ACCEPTED.", + "Status is RUNNING.", + "Status is FINISHED.", + "Status is FAILED.", + "Status is KILLED." + ], + "enum": [ + "STATE_UNSPECIFIED", + "NEW", + "NEW_SAVING", + "SUBMITTED", + "ACCEPTED", + "RUNNING", + "FINISHED", + "FAILED", + "KILLED" + ] + }, + "name": { + "description": "Required. The application name.", + "type": "string" + } + }, + "id": "YarnApplication" + }, + "SetIamPolicyRequest": { + "description": "Request message for SetIamPolicy method.", + "type": "object", + "properties": { + "policy": { + "description": "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 a valid policy but certain Cloud Platform services (such as Projects) might reject them.", + "$ref": "Policy" + } + }, + "id": "SetIamPolicyRequest" + }, + "HiveJob": { + "description": "A Cloud Dataproc job for running Apache Hive (https://hive.apache.org/) queries on YARN.", + "type": "object", + "properties": { + "continueOnFailure": { + "description": "Optional. Whether to continue executing queries if a query fails. The default value is false. Setting to true can be useful when executing independent parallel queries.", + "type": "boolean" + }, + "queryList": { + "description": "A list of queries.", + "$ref": "QueryList" + }, + "queryFileUri": { + "description": "The HCFS URI of the script that contains Hive queries.", + "type": "string" + }, + "jarFileUris": { + "description": "Optional. HCFS URIs of jar files to add to the CLASSPATH of the Hive server and Hadoop MapReduce (MR) tasks. Can contain Hive SerDes and UDFs.", + "items": { + "type": "string" + }, + "type": "array" + }, + "scriptVariables": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Mapping of query variable names to values (equivalent to the Hive command: SET name=\"value\";).", + "type": "object" + }, + "properties": { + "description": "Optional. A mapping of property names and values, used to configure Hive. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/hive/conf/hive-site.xml, and classes in user code.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "id": "HiveJob" + }, + "DiagnoseClusterResults": { + "description": "The location of diagnostic output.", + "type": "object", + "properties": { + "outputUri": { + "description": "Output-only. The Google Cloud Storage URI of the diagnostic output. The output report is a plain text file with a summary of collected diagnostics.", + "type": "string" + } + }, + "id": "DiagnoseClusterResults" + }, + "WorkflowGraph": { + "description": "The workflow graph.", + "type": "object", + "properties": { + "nodes": { + "description": "Output-only The workflow nodes.", + "items": { + "$ref": "WorkflowNode" + }, + "type": "array" + } + }, + "id": "WorkflowGraph" + }, + "ClusterConfig": { + "description": "The cluster config.", + "type": "object", + "properties": { + "initializationActions": { + "description": "Optional. Commands to execute on each node after config is completed. By default, executables are run on master and all worker nodes. You can test a node's \u003ccode\u003erole\u003c/code\u003e metadata to run an executable on a master or worker node, as shown below using curl (you can also use wget):\nROLE=$(curl -H Metadata-Flavor:Google http://metadata/computeMetadata/v1beta2/instance/attributes/dataproc-role)\nif [[ \"${ROLE}\" == 'Master' ]]; then\n ... master specific actions ...\nelse\n ... worker specific actions ...\nfi\n", + "items": { + "$ref": "NodeInitializationAction" + }, + "type": "array" + }, + "lifecycleConfig": { + "description": "Optional. The config setting for auto delete cluster schedule.", + "$ref": "LifecycleConfig" + }, + "configBucket": { + "description": "Optional. A Google Cloud Storage staging bucket used for sharing generated SSH keys and config. If you do not specify a staging bucket, Cloud Dataproc will determine an appropriate Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Google Compute Engine zone where your cluster is deployed, and then it will create and manage this project-level, per-location bucket for you.", + "type": "string" + }, + "workerConfig": { + "$ref": "InstanceGroupConfig", + "description": "Optional. The Google Compute Engine config settings for worker instances in a cluster." + }, + "gceClusterConfig": { + "description": "Required. The shared Google Compute Engine config settings for all instances in a cluster.", + "$ref": "GceClusterConfig" + }, + "softwareConfig": { + "description": "Optional. The config settings for software inside the cluster.", + "$ref": "SoftwareConfig" + }, + "masterConfig": { + "$ref": "InstanceGroupConfig", + "description": "Optional. The Google Compute Engine config settings for the master instance in a cluster." + }, + "secondaryWorkerConfig": { + "description": "Optional. The Google Compute Engine config settings for additional worker instances in a cluster.", + "$ref": "InstanceGroupConfig" + } + }, + "id": "ClusterConfig" + }, + "PySparkJob": { + "description": "A Cloud Dataproc job for running Apache PySpark (https://spark.apache.org/docs/0.9.0/python-programming-guide.html) applications on YARN.", + "type": "object", + "properties": { + "jarFileUris": { + "description": "Optional. HCFS URIs of jar files to add to the CLASSPATHs of the Python driver and tasks.", + "items": { + "type": "string" + }, + "type": "array" + }, + "loggingConfig": { + "$ref": "LoggingConfig", + "description": "Optional. The runtime log config for job execution." + }, + "properties": { + "description": "Optional. A mapping of property names to values, used to configure PySpark. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "args": { + "description": "Optional. The arguments to pass to the driver. Do not include arguments, such as --conf, that can be set as job properties, since a collision may occur that causes an incorrect job submission.", + "items": { + "type": "string" + }, + "type": "array" + }, + "fileUris": { + "description": "Optional. HCFS URIs of files to be copied to the working directory of Python drivers and distributed tasks. Useful for naively parallel tasks.", + "items": { + "type": "string" + }, + "type": "array" + }, + "pythonFileUris": { + "description": "Optional. HCFS file URIs of Python files to pass to the PySpark framework. Supported file types: .py, .egg, and .zip.", + "items": { + "type": "string" + }, + "type": "array" + }, + "mainPythonFileUri": { + "description": "Required. The HCFS URI of the main Python file to use as the driver. Must be a .py file.", + "type": "string" + }, + "archiveUris": { + "description": "Optional. HCFS URIs of archives to be extracted in the working directory of .jar, .tar, .tar.gz, .tgz, and .zip.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "PySparkJob" + }, + "ClusterMetrics": { + "description": "Contains cluster daemon metrics, such as HDFS and YARN stats.Beta Feature: This report is available for testing purposes only. It may be changed before final release.", + "type": "object", + "properties": { + "hdfsMetrics": { + "additionalProperties": { + "format": "int64", + "type": "string" + }, + "description": "The HDFS metrics.", + "type": "object" + }, + "yarnMetrics": { + "additionalProperties": { + "format": "int64", + "type": "string" + }, + "description": "The YARN metrics.", + "type": "object" + } + }, + "id": "ClusterMetrics" + }, + "AcceleratorConfig": { + "description": "Specifies the type and number of accelerator cards attached to the instances of an instance group (see GPUs on Compute Engine).", + "type": "object", + "properties": { + "acceleratorTypeUri": { + "description": "Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Google Compute Engine AcceleratorTypes( /compute/docs/reference/beta/acceleratorTypes)Examples * https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80 * projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80 * nvidia-tesla-k80", + "type": "string" + }, + "acceleratorCount": { + "format": "int32", + "description": "The number of the accelerator cards of this type exposed to this instance.", + "type": "integer" + } + }, + "id": "AcceleratorConfig" + }, + "TestIamPermissionsRequest": { + "description": "Request message for TestIamPermissions method.", + "type": "object", + "properties": { + "permissions": { + "description": "The set of permissions to check for the resource. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see IAM Overview (https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "TestIamPermissionsRequest" + }, + "LoggingConfig": { + "description": "The runtime logging config of the job.", + "type": "object", + "properties": { + "driverLogLevels": { + "description": "The per-package log levels for the driver. This may include \"root\" package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'", + "type": "object", + "additionalProperties": { + "type": "string", + "enum": [ + "LEVEL_UNSPECIFIED", + "ALL", + "TRACE", + "DEBUG", + "INFO", + "WARN", + "ERROR", + "FATAL", + "OFF" + ] + } + } + }, + "id": "LoggingConfig" + }, + "OrderedJob": { + "type": "object", + "properties": { + "labels": { + "description": "Optional The labels to associate with this job.Label keys must be between 1 and 63 characters long, and must conform to the following regular expression: \\p{Ll}\\p{Lo}{0,62}Label values must be between 1 and 63 characters long, and must conform to the following regular expression: \\p{Ll}\\p{Lo}\\p{N}_-{0,63}No more than 64 labels can be associated with a given job.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sparkSqlJob": { + "description": "Job is a SparkSql job.", + "$ref": "SparkSqlJob" + }, + "sparkJob": { + "description": "Job is a Spark job.", + "$ref": "SparkJob" + }, + "pysparkJob": { + "description": "Job is a Pyspark job.", + "$ref": "PySparkJob" + }, + "scheduling": { + "description": "Optional Job scheduling configuration.", + "$ref": "JobScheduling" + }, + "pigJob": { + "description": "Job is a Pig job.", + "$ref": "PigJob" + }, + "stepId": { + "description": "Required The step id. The id must be unique among all jobs within the template.The step id is used as prefix for job id, as job workflow-step-id label, and in prerequisite_step_ids field from other steps.", + "type": "string" + }, + "hadoopJob": { + "$ref": "HadoopJob", + "description": "Job is a Hadoop job." + }, + "prerequisiteStepIds": { + "description": "Optional The optional list of prerequisite job step_ids. If not specified, the job will start at the beginning of workflow.", + "items": { + "type": "string" + }, + "type": "array" + }, + "hiveJob": { + "description": "Job is a Hive job.", + "$ref": "HiveJob" + } + }, + "id": "OrderedJob" + }, + "WorkflowNode": { + "description": "The workflow node.", + "type": "object", + "properties": { + "error": { + "description": "Output-only The error detail.", + "type": "string" + }, + "stepId": { + "description": "Output-only The name of the node.", + "type": "string" + }, + "jobId": { + "description": "Output-only The job id; populated after the node enters RUNNING state.", + "type": "string" + }, + "prerequisiteStepIds": { + "description": "Output-only Node's prerequisite nodes.", + "items": { + "type": "string" + }, + "type": "array" + }, + "state": { + "enumDescriptions": [ + "", + "The node is awaiting prerequisite node to finish.", + "The node is runnable but not running.", + "The node is running.", + "The node completed successfully.", + "The node failed. A node can be marked FAILED because its ancestor or peer failed." + ], + "enum": [ + "NODE_STATUS_UNSPECIFIED", + "BLOCKED", + "RUNNABLE", + "RUNNING", + "COMPLETED", + "FAILED" + ], + "description": "Output-only The node state.", + "type": "string" + } + }, + "id": "WorkflowNode" + }, + "InstantiateWorkflowTemplateRequest": { + "description": "A request to instantiate a workflow template.", + "type": "object", + "properties": { + "instanceId": { + "description": "Optional A tag that prevents multiple concurrent workflow instances with the same tag from running. This mitigates risk of concurrent instances started due to retries.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The tag must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", + "type": "string" + }, + "version": { + "format": "int32", + "description": "Optional The version of workflow template to instantiate. If specified, the workflow will be instantiated only if the current version of the workflow template has the supplied version.This option cannot be used to instantiate a previous version of workflow template.", + "type": "integer" + } + }, + "id": "InstantiateWorkflowTemplateRequest" + }, + "SubmitJobRequest": { + "description": "A request to submit a job.", + "type": "object", + "properties": { + "job": { + "description": "Required. The job resource.", + "$ref": "Job" + } + }, + "id": "SubmitJobRequest" + } + }, + "protocol": "rest", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "version": "v1beta2", + "baseUrl": "https://dataproc.googleapis.com/", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "servicePath": "", + "description": "Manages Hadoop-based clusters and jobs on Google Cloud Platform.", + "kind": "discovery#restDescription", + "rootUrl": "https://dataproc.googleapis.com/", + "basePath": "", + "ownerDomain": "google.com", + "name": "dataproc", + "batchPath": "batch", + "documentationLink": "https://cloud.google.com/dataproc/", + "id": "dataproc:v1beta2", + "revision": "20170926" +} diff --git a/vendor/google.golang.org/api/dataproc/v1beta2/dataproc-gen.go b/vendor/google.golang.org/api/dataproc/v1beta2/dataproc-gen.go new file mode 100644 index 000000000..6266bb7e0 --- /dev/null +++ b/vendor/google.golang.org/api/dataproc/v1beta2/dataproc-gen.go @@ -0,0 +1,7590 @@ +// Package dataproc provides access to the Google Cloud Dataproc API. +// +// See https://cloud.google.com/dataproc/ +// +// Usage example: +// +// import "google.golang.org/api/dataproc/v1beta2" +// ... +// dataprocService, err := dataproc.New(oauthHttpClient) +package dataproc // import "google.golang.org/api/dataproc/v1beta2" + +import ( + "bytes" + "encoding/json" + "errors" + "fmt" + context "golang.org/x/net/context" + ctxhttp "golang.org/x/net/context/ctxhttp" + gensupport "google.golang.org/api/gensupport" + googleapi "google.golang.org/api/googleapi" + "io" + "net/http" + "net/url" + "strconv" + "strings" +) + +// Always reference these packages, just in case the auto-generated code +// below doesn't. +var _ = bytes.NewBuffer +var _ = strconv.Itoa +var _ = fmt.Sprintf +var _ = json.NewDecoder +var _ = io.Copy +var _ = url.Parse +var _ = gensupport.MarshalJSON +var _ = googleapi.Version +var _ = errors.New +var _ = strings.Replace +var _ = context.Canceled +var _ = ctxhttp.Do + +const apiId = "dataproc:v1beta2" +const apiName = "dataproc" +const apiVersion = "v1beta2" +const basePath = "https://dataproc.googleapis.com/" + +// OAuth2 scopes used by this API. +const ( + // View and manage your data across Google Cloud Platform services + CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" +) + +func New(client *http.Client) (*Service, error) { + if client == nil { + return nil, errors.New("client is nil") + } + s := &Service{client: client, BasePath: basePath} + s.Projects = NewProjectsService(s) + return s, nil +} + +type Service struct { + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + + Projects *ProjectsService +} + +func (s *Service) userAgent() string { + if s.UserAgent == "" { + return googleapi.UserAgent + } + return googleapi.UserAgent + " " + s.UserAgent +} + +func NewProjectsService(s *Service) *ProjectsService { + rs := &ProjectsService{s: s} + rs.Locations = NewProjectsLocationsService(s) + rs.Regions = NewProjectsRegionsService(s) + return rs +} + +type ProjectsService struct { + s *Service + + Locations *ProjectsLocationsService + + Regions *ProjectsRegionsService +} + +func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { + rs := &ProjectsLocationsService{s: s} + rs.WorkflowTemplates = NewProjectsLocationsWorkflowTemplatesService(s) + return rs +} + +type ProjectsLocationsService struct { + s *Service + + WorkflowTemplates *ProjectsLocationsWorkflowTemplatesService +} + +func NewProjectsLocationsWorkflowTemplatesService(s *Service) *ProjectsLocationsWorkflowTemplatesService { + rs := &ProjectsLocationsWorkflowTemplatesService{s: s} + return rs +} + +type ProjectsLocationsWorkflowTemplatesService struct { + s *Service +} + +func NewProjectsRegionsService(s *Service) *ProjectsRegionsService { + rs := &ProjectsRegionsService{s: s} + rs.Clusters = NewProjectsRegionsClustersService(s) + rs.Jobs = NewProjectsRegionsJobsService(s) + rs.Operations = NewProjectsRegionsOperationsService(s) + rs.WorkflowTemplates = NewProjectsRegionsWorkflowTemplatesService(s) + return rs +} + +type ProjectsRegionsService struct { + s *Service + + Clusters *ProjectsRegionsClustersService + + Jobs *ProjectsRegionsJobsService + + Operations *ProjectsRegionsOperationsService + + WorkflowTemplates *ProjectsRegionsWorkflowTemplatesService +} + +func NewProjectsRegionsClustersService(s *Service) *ProjectsRegionsClustersService { + rs := &ProjectsRegionsClustersService{s: s} + return rs +} + +type ProjectsRegionsClustersService struct { + s *Service +} + +func NewProjectsRegionsJobsService(s *Service) *ProjectsRegionsJobsService { + rs := &ProjectsRegionsJobsService{s: s} + return rs +} + +type ProjectsRegionsJobsService struct { + s *Service +} + +func NewProjectsRegionsOperationsService(s *Service) *ProjectsRegionsOperationsService { + rs := &ProjectsRegionsOperationsService{s: s} + return rs +} + +type ProjectsRegionsOperationsService struct { + s *Service +} + +func NewProjectsRegionsWorkflowTemplatesService(s *Service) *ProjectsRegionsWorkflowTemplatesService { + rs := &ProjectsRegionsWorkflowTemplatesService{s: s} + return rs +} + +type ProjectsRegionsWorkflowTemplatesService struct { + s *Service +} + +// AcceleratorConfig: Specifies the type and number of accelerator cards +// attached to the instances of an instance group (see GPUs on Compute +// Engine). +type AcceleratorConfig struct { + // AcceleratorCount: The number of the accelerator cards of this type + // exposed to this instance. + AcceleratorCount int64 `json:"acceleratorCount,omitempty"` + + // AcceleratorTypeUri: Full URL, partial URI, or short name of the + // accelerator type resource to expose to this instance. See Google + // Compute Engine AcceleratorTypes( + // /compute/docs/reference/beta/acceleratorTypes)Examples * + // https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80 * projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80 * + // nvidia-tesla-k80 + AcceleratorTypeUri string `json:"acceleratorTypeUri,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AcceleratorCount") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AcceleratorCount") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AcceleratorConfig) MarshalJSON() ([]byte, error) { + type noMethod AcceleratorConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Binding: Associates members with a role. +type Binding struct { + // Members: Specifies the identities requesting access for a Cloud + // Platform resource. members can have the following values: + // allUsers: A special identifier that represents anyone who is on the + // internet; with or without a Google account. + // allAuthenticatedUsers: A special identifier that represents anyone + // who is authenticated with a Google account or a service + // account. + // user:{emailid}: An email address that represents a specific Google + // account. For example, alice@gmail.com or + // joe@example.com. + // serviceAccount:{emailid}: An email address that represents a service + // account. For example, + // my-other-app@appspot.gserviceaccount.com. + // group:{emailid}: An email address that represents a Google group. + // For example, admins@example.com. + // domain:{domain}: A Google Apps domain name that represents all the + // users of that domain. For example, google.com or example.com. + Members []string `json:"members,omitempty"` + + // Role: Role that is assigned to members. For example, roles/viewer, + // roles/editor, or roles/owner. Required + Role string `json:"role,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Members") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Members") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Binding) MarshalJSON() ([]byte, error) { + type noMethod Binding + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CancelJobRequest: A request to cancel a job. +type CancelJobRequest struct { +} + +// Cluster: Describes the identifying information, config, and status of +// a cluster of Google Compute Engine instances. +type Cluster struct { + // ClusterName: Required. The cluster name. Cluster names within a + // project must be unique. Names of deleted clusters can be reused. + ClusterName string `json:"clusterName,omitempty"` + + // ClusterUuid: Output-only. A cluster UUID (Unique Universal + // Identifier). Cloud Dataproc generates this value when it creates the + // cluster. + ClusterUuid string `json:"clusterUuid,omitempty"` + + // Config: Required. The cluster config. Note that Cloud Dataproc may + // set default values, and values may change when clusters are updated. + Config *ClusterConfig `json:"config,omitempty"` + + // Labels: Optional. The labels to associate with this cluster. Label + // keys must contain 1 to 63 characters, and must conform to RFC 1035 + // (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, + // but, if present, must contain 1 to 63 characters, and must conform to + // RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 + // labels can be associated with a cluster. + Labels map[string]string `json:"labels,omitempty"` + + // Metrics: Contains cluster daemon metrics such as HDFS and YARN + // stats.Beta Feature: This report is available for testing purposes + // only. It may be changed before final release. + Metrics *ClusterMetrics `json:"metrics,omitempty"` + + // ProjectId: Required. The Google Cloud Platform project ID that the + // cluster belongs to. + ProjectId string `json:"projectId,omitempty"` + + // Status: Output-only. Cluster status. + Status *ClusterStatus `json:"status,omitempty"` + + // StatusHistory: Output-only. The previous cluster status. + StatusHistory []*ClusterStatus `json:"statusHistory,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "ClusterName") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ClusterName") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Cluster) MarshalJSON() ([]byte, error) { + type noMethod Cluster + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ClusterConfig: The cluster config. +type ClusterConfig struct { + // ConfigBucket: Optional. A Google Cloud Storage staging bucket used + // for sharing generated SSH keys and config. If you do not specify a + // staging bucket, Cloud Dataproc will determine an appropriate Cloud + // Storage location (US, ASIA, or EU) for your cluster's staging bucket + // according to the Google Compute Engine zone where your cluster is + // deployed, and then it will create and manage this project-level, + // per-location bucket for you. + ConfigBucket string `json:"configBucket,omitempty"` + + // GceClusterConfig: Required. The shared Google Compute Engine config + // settings for all instances in a cluster. + GceClusterConfig *GceClusterConfig `json:"gceClusterConfig,omitempty"` + + // InitializationActions: Optional. Commands to execute on each node + // after config is completed. By default, executables are run on master + // and all worker nodes. You can test a node's role + // metadata to run an executable on a master or worker node, as shown + // below using curl (you can also use wget): + // ROLE=$(curl -H Metadata-Flavor:Google + // http://metadata/computeMetadata/v1beta2/instance/attributes/dataproc-role) + // if [[ "${ROLE}" == 'Master' ]]; then + // ... master specific actions ... + // else + // ... worker specific actions ... + // fi + // + InitializationActions []*NodeInitializationAction `json:"initializationActions,omitempty"` + + // LifecycleConfig: Optional. The config setting for auto delete cluster + // schedule. + LifecycleConfig *LifecycleConfig `json:"lifecycleConfig,omitempty"` + + // MasterConfig: Optional. The Google Compute Engine config settings for + // the master instance in a cluster. + MasterConfig *InstanceGroupConfig `json:"masterConfig,omitempty"` + + // SecondaryWorkerConfig: Optional. The Google Compute Engine config + // settings for additional worker instances in a cluster. + SecondaryWorkerConfig *InstanceGroupConfig `json:"secondaryWorkerConfig,omitempty"` + + // SoftwareConfig: Optional. The config settings for software inside the + // cluster. + SoftwareConfig *SoftwareConfig `json:"softwareConfig,omitempty"` + + // WorkerConfig: Optional. The Google Compute Engine config settings for + // worker instances in a cluster. + WorkerConfig *InstanceGroupConfig `json:"workerConfig,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ConfigBucket") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ConfigBucket") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ClusterConfig) MarshalJSON() ([]byte, error) { + type noMethod ClusterConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ClusterMetrics: Contains cluster daemon metrics, such as HDFS and +// YARN stats.Beta Feature: This report is available for testing +// purposes only. It may be changed before final release. +type ClusterMetrics struct { + // HdfsMetrics: The HDFS metrics. + HdfsMetrics map[string]string `json:"hdfsMetrics,omitempty"` + + // YarnMetrics: The YARN metrics. + YarnMetrics map[string]string `json:"yarnMetrics,omitempty"` + + // ForceSendFields is a list of field names (e.g. "HdfsMetrics") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "HdfsMetrics") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ClusterMetrics) MarshalJSON() ([]byte, error) { + type noMethod ClusterMetrics + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type ClusterOperation struct { + // Done: Output-only Indicates the operation is done. + Done bool `json:"done,omitempty"` + + // Error: Output-only Error, if operation failed. + Error string `json:"error,omitempty"` + + // OperationId: Output-only The id of the cluster operation. + OperationId string `json:"operationId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Done") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Done") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ClusterOperation) MarshalJSON() ([]byte, error) { + type noMethod ClusterOperation + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ClusterOperationMetadata: Metadata describing the operation. +type ClusterOperationMetadata struct { + // ClusterName: Output-only. Name of the cluster for the operation. + ClusterName string `json:"clusterName,omitempty"` + + // ClusterUuid: Output-only. Cluster UUID for the operation. + ClusterUuid string `json:"clusterUuid,omitempty"` + + // Description: Output-only. Short description of operation. + Description string `json:"description,omitempty"` + + // Labels: Output-only. Labels associated with the operation + Labels map[string]string `json:"labels,omitempty"` + + // OperationType: Output-only. The operation type. + OperationType string `json:"operationType,omitempty"` + + // Status: Output-only. Current operation status. + Status *ClusterOperationStatus `json:"status,omitempty"` + + // StatusHistory: Output-only. The previous operation status. + StatusHistory []*ClusterOperationStatus `json:"statusHistory,omitempty"` + + // Warnings: Output-only. Errors encountered during operation execution. + Warnings []string `json:"warnings,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ClusterName") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ClusterName") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ClusterOperationMetadata) MarshalJSON() ([]byte, error) { + type noMethod ClusterOperationMetadata + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ClusterOperationStatus: The status of the operation. +type ClusterOperationStatus struct { + // Details: Output-only.A message containing any operation metadata + // details. + Details string `json:"details,omitempty"` + + // InnerState: Output-only. A message containing the detailed operation + // state. + InnerState string `json:"innerState,omitempty"` + + // State: Output-only. A message containing the operation state. + // + // Possible values: + // "UNKNOWN" - Unused. + // "PENDING" - The operation has been created. + // "RUNNING" - The operation is running. + // "DONE" - The operation is done; either cancelled or completed. + State string `json:"state,omitempty"` + + // StateStartTime: Output-only. The time this state was entered. + StateStartTime string `json:"stateStartTime,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Details") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Details") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ClusterOperationStatus) MarshalJSON() ([]byte, error) { + type noMethod ClusterOperationStatus + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ClusterSelector: A selector that chooses target cluster for jobs +// based on metadata. +type ClusterSelector struct { + // ClusterLabels: Required The cluster labels. Cluster must have all + // labels to match. + ClusterLabels map[string]string `json:"clusterLabels,omitempty"` + + // Zone: Required The cluster target zone. + Zone string `json:"zone,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ClusterLabels") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ClusterLabels") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ClusterSelector) MarshalJSON() ([]byte, error) { + type noMethod ClusterSelector + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ClusterStatus: The status of a cluster and its instances. +type ClusterStatus struct { + // Detail: Output-only. Optional details of cluster's state. + Detail string `json:"detail,omitempty"` + + // State: Output-only. The cluster's state. + // + // Possible values: + // "UNKNOWN" - The cluster state is unknown. + // "CREATING" - The cluster is being created and set up. It is not + // ready for use. + // "RUNNING" - The cluster is currently running and healthy. It is + // ready for use. + // "ERROR" - The cluster encountered an error. It is not ready for + // use. + // "DELETING" - The cluster is being deleted. It cannot be used. + // "UPDATING" - The cluster is being updated. It continues to accept + // and process jobs. + State string `json:"state,omitempty"` + + // StateStartTime: Output-only. Time when this state was entered. + StateStartTime string `json:"stateStartTime,omitempty"` + + // Substate: Output-only. Additional state information that includes + // status reported by the agent. + // + // Possible values: + // "UNSPECIFIED" + // "UNHEALTHY" - The cluster is known to be in an unhealthy state (for + // example, critical daemons are not running or HDFS capacity is + // exhausted).Applies to RUNNING state. + // "STALE_STATUS" - The agent-reported status is out of date (may + // occur if Cloud Dataproc loses communication with Agent).Applies to + // RUNNING state. + Substate string `json:"substate,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Detail") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Detail") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ClusterStatus) MarshalJSON() ([]byte, error) { + type noMethod ClusterStatus + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DiagnoseClusterRequest: A request to collect cluster diagnostic +// information. +type DiagnoseClusterRequest struct { +} + +// DiagnoseClusterResults: The location of diagnostic output. +type DiagnoseClusterResults struct { + // OutputUri: Output-only. The Google Cloud Storage URI of the + // diagnostic output. The output report is a plain text file with a + // summary of collected diagnostics. + OutputUri string `json:"outputUri,omitempty"` + + // ForceSendFields is a list of field names (e.g. "OutputUri") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "OutputUri") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DiagnoseClusterResults) MarshalJSON() ([]byte, error) { + type noMethod DiagnoseClusterResults + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DiskConfig: Specifies the config of disk options for a group of VM +// instances. +type DiskConfig struct { + // BootDiskSizeGb: Optional. Size in GB of the boot disk (default is + // 500GB). + BootDiskSizeGb int64 `json:"bootDiskSizeGb,omitempty"` + + // NumLocalSsds: Optional. Number of attached SSDs, from 0 to 4 (default + // is 0). If SSDs are not attached, the boot disk is used to store + // runtime logs and HDFS + // (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If + // one or more SSDs are attached, this runtime bulk data is spread + // across them, and the boot disk contains only basic config and + // installed binaries. + NumLocalSsds int64 `json:"numLocalSsds,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BootDiskSizeGb") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BootDiskSizeGb") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *DiskConfig) MarshalJSON() ([]byte, error) { + type noMethod DiskConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Empty: A generic empty message that you can re-use to avoid defining +// duplicated empty messages in your APIs. A typical example is to use +// it as the request or the response type of an API method. For +// instance: +// service Foo { +// rpc Bar(google.protobuf.Empty) returns +// (google.protobuf.Empty); +// } +// The JSON representation for Empty is empty JSON object {}. +type Empty struct { + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` +} + +// GceClusterConfig: Common config settings for resources of Google +// Compute Engine cluster instances, applicable to all instances in the +// cluster. +type GceClusterConfig struct { + // InternalIpOnly: Optional. If true, all instances in the cluster will + // only have internal IP addresses. By default, clusters are not + // restricted to internal IP addresses, and will have ephemeral external + // IP addresses assigned to each instance. This internal_ip_only + // restriction can only be enabled for subnetwork enabled networks, and + // all off-cluster dependencies must be configured to be accessible + // without external IP addresses. + InternalIpOnly bool `json:"internalIpOnly,omitempty"` + + // Metadata: The Google Compute Engine metadata entries to add to all + // instances (see Project and instance metadata + // (https://cloud.google.com/compute/docs/storing-retrieving-metadata#pro + // ject_and_instance_metadata)). + Metadata map[string]string `json:"metadata,omitempty"` + + // NetworkUri: Optional. The Google Compute Engine network to be used + // for machine communications. Cannot be specified with subnetwork_uri. + // If neither network_uri nor subnetwork_uri is specified, the "default" + // network of the project is used, if it exists. Cannot be a "Custom + // Subnet Network" (see Using Subnetworks for more information).A full + // URL, partial URI, or short name are valid. + // Examples: + // https://www.googleapis.com/compute/v1/projects/[project_id]/ + // regions/global/default + // projects/[project_id]/regions/global/default + // de + // fault + NetworkUri string `json:"networkUri,omitempty"` + + // ServiceAccount: Optional. The service account of the instances. + // Defaults to the default Google Compute Engine service account. Custom + // service accounts need permissions equivalent to the folloing IAM + // roles: + // roles/logging.logWriter + // roles/storage.objectAdmin(see + // https://cloud.google.com/compute/docs/access/service-accounts#custom_service_accounts for more information). Example: + // [account_id]@[project_id].iam.gserviceaccount.com + ServiceAccount string `json:"serviceAccount,omitempty"` + + // ServiceAccountScopes: Optional. The URIs of service account scopes to + // be included in Google Compute Engine instances. The following base + // set of scopes is always + // included: + // https://www.googleapis.com/auth/cloud.useraccounts.readonly + // + // https://www.googleapis.com/auth/devstorage.read_write + // https://www.goog + // leapis.com/auth/logging.writeIf no scopes are specified, the + // following defaults are also + // provided: + // https://www.googleapis.com/auth/bigquery + // https://www.googlea + // pis.com/auth/bigtable.admin.table + // https://www.googleapis.com/auth/bigt + // able.data + // https://www.googleapis.com/auth/devstorage.full_control + ServiceAccountScopes []string `json:"serviceAccountScopes,omitempty"` + + // SubnetworkUri: Optional. The Google Compute Engine subnetwork to be + // used for machine communications. Cannot be specified with + // network_uri.A full URL, partial URI, or short name are valid. + // Examples: + // https://www.googleapis.com/compute/v1/projects/[project_id]/ + // regions/us-east1/sub0 + // projects/[project_id]/regions/us-east1/sub0 + // sub0 + SubnetworkUri string `json:"subnetworkUri,omitempty"` + + // Tags: The Google Compute Engine tags to add to all instances (see + // Tagging instances). + Tags []string `json:"tags,omitempty"` + + // ZoneUri: Optional. The zone where the Google Compute Engine cluster + // will be located. On a create request, it is required in the "global" + // region. If omitted in a non-global Cloud Dataproc region, the service + // will pick a zone in the corresponding Compute Engine region. On a get + // request, zone will always be present.A full URL, partial URI, or + // short name are valid. + // Examples: + // https://www.googleapis.com/compute/v1/projects/[project_id]/ + // zones/[zone] + // projects/[project_id]/zones/[zone] + // us-central1-f + ZoneUri string `json:"zoneUri,omitempty"` + + // ForceSendFields is a list of field names (e.g. "InternalIpOnly") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "InternalIpOnly") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GceClusterConfig) MarshalJSON() ([]byte, error) { + type noMethod GceClusterConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// HadoopJob: A Cloud Dataproc job for running Apache Hadoop MapReduce +// (https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop +// -mapreduce-client-core/MapReduceTutorial.html) jobs on Apache Hadoop +// YARN +// (https://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/YA +// RN.html). +type HadoopJob struct { + // ArchiveUris: Optional. HCFS URIs of archives to be extracted in the + // working directory of Hadoop drivers and tasks. Supported file types: + // .jar, .tar, .tar.gz, .tgz, or .zip. + ArchiveUris []string `json:"archiveUris,omitempty"` + + // Args: Optional. The arguments to pass to the driver. Do not include + // arguments, such as -libjars or -Dfoo=bar, that can be set as job + // properties, since a collision may occur that causes an incorrect job + // submission. + Args []string `json:"args,omitempty"` + + // FileUris: Optional. HCFS (Hadoop Compatible Filesystem) URIs of files + // to be copied to the working directory of Hadoop drivers and + // distributed tasks. Useful for naively parallel tasks. + FileUris []string `json:"fileUris,omitempty"` + + // JarFileUris: Optional. Jar file URIs to add to the CLASSPATHs of the + // Hadoop driver and tasks. + JarFileUris []string `json:"jarFileUris,omitempty"` + + // LoggingConfig: Optional. The runtime log config for job execution. + LoggingConfig *LoggingConfig `json:"loggingConfig,omitempty"` + + // MainClass: The name of the driver's main class. The jar file + // containing the class must be in the default CLASSPATH or specified in + // jar_file_uris. + MainClass string `json:"mainClass,omitempty"` + + // MainJarFileUri: The HCFS URI of the jar file containing the main + // class. Examples: + // 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' + // 'hdfs:/tmp/test-samples/custom-wordcount.jar' + // 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar' + MainJarFileUri string `json:"mainJarFileUri,omitempty"` + + // Properties: Optional. A mapping of property names to values, used to + // configure Hadoop. Properties that conflict with values set by the + // Cloud Dataproc API may be overwritten. Can include properties set in + // /etc/hadoop/conf/*-site and classes in user code. + Properties map[string]string `json:"properties,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ArchiveUris") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ArchiveUris") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HadoopJob) MarshalJSON() ([]byte, error) { + type noMethod HadoopJob + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// HiveJob: A Cloud Dataproc job for running Apache Hive +// (https://hive.apache.org/) queries on YARN. +type HiveJob struct { + // ContinueOnFailure: Optional. Whether to continue executing queries if + // a query fails. The default value is false. Setting to true can be + // useful when executing independent parallel queries. + ContinueOnFailure bool `json:"continueOnFailure,omitempty"` + + // JarFileUris: Optional. HCFS URIs of jar files to add to the CLASSPATH + // of the Hive server and Hadoop MapReduce (MR) tasks. Can contain Hive + // SerDes and UDFs. + JarFileUris []string `json:"jarFileUris,omitempty"` + + // Properties: Optional. A mapping of property names and values, used to + // configure Hive. Properties that conflict with values set by the Cloud + // Dataproc API may be overwritten. Can include properties set in + // /etc/hadoop/conf/*-site.xml, /etc/hive/conf/hive-site.xml, and + // classes in user code. + Properties map[string]string `json:"properties,omitempty"` + + // QueryFileUri: The HCFS URI of the script that contains Hive queries. + QueryFileUri string `json:"queryFileUri,omitempty"` + + // QueryList: A list of queries. + QueryList *QueryList `json:"queryList,omitempty"` + + // ScriptVariables: Optional. Mapping of query variable names to values + // (equivalent to the Hive command: SET name="value";). + ScriptVariables map[string]string `json:"scriptVariables,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ContinueOnFailure") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ContinueOnFailure") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *HiveJob) MarshalJSON() ([]byte, error) { + type noMethod HiveJob + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// InstanceGroupConfig: Optional. The config settings for Google Compute +// Engine resources in an instance group, such as a master or worker +// group. +type InstanceGroupConfig struct { + // Accelerators: Optional. The Google Compute Engine accelerator + // configuration for these instances.Beta Feature: This feature is still + // under development. It may be changed before final release. + Accelerators []*AcceleratorConfig `json:"accelerators,omitempty"` + + // DiskConfig: Optional. Disk option config settings. + DiskConfig *DiskConfig `json:"diskConfig,omitempty"` + + // ImageUri: Output-only. The Google Compute Engine image resource used + // for cluster instances. Inferred from SoftwareConfig.image_version. + ImageUri string `json:"imageUri,omitempty"` + + // InstanceNames: Optional. The list of instance names. Cloud Dataproc + // derives the names from cluster_name, num_instances, and the instance + // group if not set by user (recommended practice is to let Cloud + // Dataproc derive the name). + InstanceNames []string `json:"instanceNames,omitempty"` + + // IsPreemptible: Optional. Specifies that this instance group contains + // preemptible instances. + IsPreemptible bool `json:"isPreemptible,omitempty"` + + // MachineTypeUri: Optional. The Google Compute Engine machine type used + // for cluster instances.A full URL, partial URI, or short name are + // valid. + // Examples: + // https://www.googleapis.com/compute/v1/projects/[project_id]/ + // zones/us-east1-a/machineTypes/n1-standard-2 + // projects/[project_id]/zone + // s/us-east1-a/machineTypes/n1-standard-2 + // n1-standard-2 + MachineTypeUri string `json:"machineTypeUri,omitempty"` + + // ManagedGroupConfig: Output-only. The config for Google Compute Engine + // Instance Group Manager that manages this group. This is only used for + // preemptible instance groups. + ManagedGroupConfig *ManagedGroupConfig `json:"managedGroupConfig,omitempty"` + + // NumInstances: Optional. The number of VM instances in the instance + // group. For master instance groups, must be set to 1. + NumInstances int64 `json:"numInstances,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Accelerators") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Accelerators") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstanceGroupConfig) MarshalJSON() ([]byte, error) { + type noMethod InstanceGroupConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// InstantiateWorkflowTemplateRequest: A request to instantiate a +// workflow template. +type InstantiateWorkflowTemplateRequest struct { + // InstanceId: Optional A tag that prevents multiple concurrent workflow + // instances with the same tag from running. This mitigates risk of + // concurrent instances started due to retries.It is recommended to + // always set this value to a UUID + // (https://en.wikipedia.org/wiki/Universally_unique_identifier).The tag + // must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), + // and hyphens (-). The maximum length is 40 characters. + InstanceId string `json:"instanceId,omitempty"` + + // Version: Optional The version of workflow template to instantiate. If + // specified, the workflow will be instantiated only if the current + // version of the workflow template has the supplied version.This option + // cannot be used to instantiate a previous version of workflow + // template. + Version int64 `json:"version,omitempty"` + + // ForceSendFields is a list of field names (e.g. "InstanceId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "InstanceId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *InstantiateWorkflowTemplateRequest) MarshalJSON() ([]byte, error) { + type noMethod InstantiateWorkflowTemplateRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Job: A Cloud Dataproc job resource. +type Job struct { + // DriverControlFilesUri: Output-only. If present, the location of + // miscellaneous control files which may be used as part of job setup + // and handling. If not present, control files may be placed in the same + // location as driver_output_uri. + DriverControlFilesUri string `json:"driverControlFilesUri,omitempty"` + + // DriverOutputResourceUri: Output-only. A URI pointing to the location + // of the stdout of the job's driver program. + DriverOutputResourceUri string `json:"driverOutputResourceUri,omitempty"` + + // HadoopJob: Job is a Hadoop job. + HadoopJob *HadoopJob `json:"hadoopJob,omitempty"` + + // HiveJob: Job is a Hive job. + HiveJob *HiveJob `json:"hiveJob,omitempty"` + + // Labels: Optional. The labels to associate with this job. Label keys + // must contain 1 to 63 characters, and must conform to RFC 1035 + // (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, + // but, if present, must contain 1 to 63 characters, and must conform to + // RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 + // labels can be associated with a job. + Labels map[string]string `json:"labels,omitempty"` + + // PigJob: Job is a Pig job. + PigJob *PigJob `json:"pigJob,omitempty"` + + // Placement: Required. Job information, including how, when, and where + // to run the job. + Placement *JobPlacement `json:"placement,omitempty"` + + // PysparkJob: Job is a Pyspark job. + PysparkJob *PySparkJob `json:"pysparkJob,omitempty"` + + // Reference: Optional. The fully qualified reference to the job, which + // can be used to obtain the equivalent REST path of the job resource. + // If this property is not specified when a job is created, the server + // generates a job_id. + Reference *JobReference `json:"reference,omitempty"` + + // Scheduling: Optional. Job scheduling configuration. + Scheduling *JobScheduling `json:"scheduling,omitempty"` + + // SparkJob: Job is a Spark job. + SparkJob *SparkJob `json:"sparkJob,omitempty"` + + // SparkSqlJob: Job is a SparkSql job. + SparkSqlJob *SparkSqlJob `json:"sparkSqlJob,omitempty"` + + // Status: Output-only. The job status. Additional application-specific + // status information may be contained in the type_job and + // yarn_applications fields. + Status *JobStatus `json:"status,omitempty"` + + // StatusHistory: Output-only. The previous job status. + StatusHistory []*JobStatus `json:"statusHistory,omitempty"` + + // YarnApplications: Output-only. The collection of YARN applications + // spun up by this job.Beta Feature: This report is available for + // testing purposes only. It may be changed before final release. + YarnApplications []*YarnApplication `json:"yarnApplications,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. + // "DriverControlFilesUri") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DriverControlFilesUri") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Job) MarshalJSON() ([]byte, error) { + type noMethod Job + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// JobPlacement: Cloud Dataproc job config. +type JobPlacement struct { + // ClusterName: Required. The name of the cluster where the job will be + // submitted. + ClusterName string `json:"clusterName,omitempty"` + + // ClusterUuid: Output-only. A cluster UUID generated by the Cloud + // Dataproc service when the job is submitted. + ClusterUuid string `json:"clusterUuid,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ClusterName") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ClusterName") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *JobPlacement) MarshalJSON() ([]byte, error) { + type noMethod JobPlacement + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// JobReference: Encapsulates the full scoping used to reference a job. +type JobReference struct { + // JobId: Optional. The job ID, which must be unique within the project. + // The job ID is generated by the server upon job submission or provided + // by the user as a means to perform retries without creating duplicate + // jobs. The ID must contain only letters (a-z, A-Z), numbers (0-9), + // underscores (_), or hyphens (-). The maximum length is 100 + // characters. + JobId string `json:"jobId,omitempty"` + + // ProjectId: Required. The ID of the Google Cloud Platform project that + // the job belongs to. + ProjectId string `json:"projectId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "JobId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "JobId") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *JobReference) MarshalJSON() ([]byte, error) { + type noMethod JobReference + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// JobScheduling: Job scheduling options.Beta Feature: These options are +// available for testing purposes only. They may be changed before final +// release. +type JobScheduling struct { + // MaxFailuresPerHour: Optional. Maximum number of times per hour a + // driver may be restarted as a result of driver terminating with + // non-zero code before job is reported failed.A job may be reported as + // thrashing if driver exits with non-zero code 4 times within 10 minute + // window.Maximum value is 10. + MaxFailuresPerHour int64 `json:"maxFailuresPerHour,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MaxFailuresPerHour") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "MaxFailuresPerHour") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *JobScheduling) MarshalJSON() ([]byte, error) { + type noMethod JobScheduling + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// JobStatus: Cloud Dataproc job status. +type JobStatus struct { + // Details: Output-only. Optional job state details, such as an error + // description if the state is ERROR. + Details string `json:"details,omitempty"` + + // State: Output-only. A state message specifying the overall job state. + // + // Possible values: + // "STATE_UNSPECIFIED" - The job state is unknown. + // "PENDING" - The job is pending; it has been submitted, but is not + // yet running. + // "SETUP_DONE" - Job has been received by the service and completed + // initial setup; it will soon be submitted to the cluster. + // "RUNNING" - The job is running on the cluster. + // "CANCEL_PENDING" - A CancelJob request has been received, but is + // pending. + // "CANCEL_STARTED" - Transient in-flight resources have been + // canceled, and the request to cancel the running job has been issued + // to the cluster. + // "CANCELLED" - The job cancellation was successful. + // "DONE" - The job has completed successfully. + // "ERROR" - The job has completed, but encountered an error. + // "ATTEMPT_FAILURE" - Job attempt has failed. The detail field + // contains failure details for this attempt.Applies to restartable jobs + // only. + State string `json:"state,omitempty"` + + // StateStartTime: Output-only. The time when this state was entered. + StateStartTime string `json:"stateStartTime,omitempty"` + + // Substate: Output-only. Additional state information, which includes + // status reported by the agent. + // + // Possible values: + // "UNSPECIFIED" + // "SUBMITTED" - The Job is submitted to the agent.Applies to RUNNING + // state. + // "QUEUED" - The Job has been received and is awaiting execution (it + // may be waiting for a condition to be met). See the "details" field + // for the reason for the delay.Applies to RUNNING state. + // "STALE_STATUS" - The agent-reported status is out of date, which + // may be caused by a loss of communication between the agent and Cloud + // Dataproc. If the agent does not send a timely update, the job will + // fail.Applies to RUNNING state. + Substate string `json:"substate,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Details") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Details") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *JobStatus) MarshalJSON() ([]byte, error) { + type noMethod JobStatus + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// LifecycleConfig: Specifies the cluster auto delete related schedule +// configuration. +type LifecycleConfig struct { + // AutoDeleteTime: Optional. The time when cluster will be auto-deleted. + AutoDeleteTime string `json:"autoDeleteTime,omitempty"` + + // AutoDeleteTtl: Optional. The life duration of cluster, the cluster + // will be auto-deleted at the end of this duration. + AutoDeleteTtl string `json:"autoDeleteTtl,omitempty"` + + // IdleDeleteTtl: Optional. The longest duration that cluster would keep + // alive while staying idle; passing this threshold will cause cluster + // to be auto-deleted. + IdleDeleteTtl string `json:"idleDeleteTtl,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AutoDeleteTime") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AutoDeleteTime") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *LifecycleConfig) MarshalJSON() ([]byte, error) { + type noMethod LifecycleConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListClustersResponse: The list of all clusters in a project. +type ListClustersResponse struct { + // Clusters: Output-only. The clusters in the project. + Clusters []*Cluster `json:"clusters,omitempty"` + + // NextPageToken: Output-only. This token is included in the response if + // there are more results to fetch. To fetch additional results, provide + // this value as the page_token in a subsequent + // ListClustersRequest. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Clusters") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Clusters") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListClustersResponse) MarshalJSON() ([]byte, error) { + type noMethod ListClustersResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListJobsResponse: A list of jobs in a project. +type ListJobsResponse struct { + // Jobs: Output-only. Jobs list. + Jobs []*Job `json:"jobs,omitempty"` + + // NextPageToken: Optional. This token is included in the response if + // there are more results to fetch. To fetch additional results, provide + // this value as the page_token in a subsequent + // ListJobsRequest. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Jobs") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Jobs") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListJobsResponse) MarshalJSON() ([]byte, error) { + type noMethod ListJobsResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListOperationsResponse: The response message for +// Operations.ListOperations. +type ListOperationsResponse struct { + // NextPageToken: The standard List next-page token. + NextPageToken string `json:"nextPageToken,omitempty"` + + // Operations: A list of operations that matches the specified filter in + // the request. + Operations []*Operation `json:"operations,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "NextPageToken") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) { + type noMethod ListOperationsResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListWorkflowTemplatesResponse: A response to a request to list +// workflow templates in a project. +type ListWorkflowTemplatesResponse struct { + // NextPageToken: Output-only This token is included in the response if + // there are more results to fetch. To fetch additional results, provide + // this value as the page_token in a subsequent + // ListWorkflowTemplatesRequest. + NextPageToken string `json:"nextPageToken,omitempty"` + + // Templates: Output-only WorkflowTemplates list. + Templates []*WorkflowTemplate `json:"templates,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "NextPageToken") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListWorkflowTemplatesResponse) MarshalJSON() ([]byte, error) { + type noMethod ListWorkflowTemplatesResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// LoggingConfig: The runtime logging config of the job. +type LoggingConfig struct { + // DriverLogLevels: The per-package log levels for the driver. This may + // include "root" package name to configure rootLogger. Examples: + // 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG' + DriverLogLevels map[string]string `json:"driverLogLevels,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DriverLogLevels") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DriverLogLevels") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *LoggingConfig) MarshalJSON() ([]byte, error) { + type noMethod LoggingConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ManagedCluster: Cluster that is managed by the workflow. +type ManagedCluster struct { + // ClusterName: Required The cluster name. Cluster names within a + // project must be unique. Names from deleted clusters can be reused. + ClusterName string `json:"clusterName,omitempty"` + + // Config: Required The cluster configuration. + Config *ClusterConfig `json:"config,omitempty"` + + // Labels: Optional The labels to associate with this cluster.Label keys + // must be between 1 and 63 characters long, and must conform to the + // following PCRE regular expression: \p{Ll}\p{Lo}{0,62}Label values + // must be between 1 and 63 characters long, and must conform to the + // following PCRE regular expression: \p{Ll}\p{Lo}\p{N}_-{0,63}No more + // than 64 labels can be associated with a given cluster. + Labels map[string]string `json:"labels,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ClusterName") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ClusterName") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ManagedCluster) MarshalJSON() ([]byte, error) { + type noMethod ManagedCluster + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ManagedGroupConfig: Specifies the resources used to actively manage +// an instance group. +type ManagedGroupConfig struct { + // InstanceGroupManagerName: Output-only. The name of the Instance Group + // Manager for this group. + InstanceGroupManagerName string `json:"instanceGroupManagerName,omitempty"` + + // InstanceTemplateName: Output-only. The name of the Instance Template + // used for the Managed Instance Group. + InstanceTemplateName string `json:"instanceTemplateName,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "InstanceGroupManagerName") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "InstanceGroupManagerName") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *ManagedGroupConfig) MarshalJSON() ([]byte, error) { + type noMethod ManagedGroupConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// NodeInitializationAction: Specifies an executable to run on a fully +// configured node and a timeout period for executable completion. +type NodeInitializationAction struct { + // ExecutableFile: Required. Google Cloud Storage URI of executable + // file. + ExecutableFile string `json:"executableFile,omitempty"` + + // ExecutionTimeout: Optional. Amount of time executable has to + // complete. Default is 10 minutes. Cluster creation fails with an + // explanatory error message (the name of the executable that caused the + // error and the exceeded timeout period) if the executable is not + // completed at end of the timeout period. + ExecutionTimeout string `json:"executionTimeout,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ExecutableFile") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ExecutableFile") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *NodeInitializationAction) MarshalJSON() ([]byte, error) { + type noMethod NodeInitializationAction + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Operation: This resource represents a long-running operation that is +// the result of a network API call. +type Operation struct { + // Done: If the value is false, it means the operation is still in + // progress. If true, the operation is completed, and either error or + // response is available. + Done bool `json:"done,omitempty"` + + // Error: The error result of the operation in case of failure or + // cancellation. + Error *Status `json:"error,omitempty"` + + // Metadata: Service-specific metadata associated with the operation. It + // typically contains progress information and common metadata such as + // create time. Some services might not provide such metadata. Any + // method that returns a long-running operation should document the + // metadata type, if any. + Metadata googleapi.RawMessage `json:"metadata,omitempty"` + + // Name: The server-assigned name, which is only unique within the same + // service that originally returns it. If you use the default HTTP + // mapping, the name should have the format of + // operations/some/unique/name. + Name string `json:"name,omitempty"` + + // Response: The normal response of the operation in case of success. If + // the original method returns no data on success, such as Delete, the + // response is google.protobuf.Empty. If the original method is standard + // Get/Create/Update, the response should be the resource. For other + // methods, the response should have the type XxxResponse, where Xxx is + // the original method name. For example, if the original method name is + // TakeSnapshot(), the inferred response type is TakeSnapshotResponse. + Response googleapi.RawMessage `json:"response,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Done") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Done") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Operation) MarshalJSON() ([]byte, error) { + type noMethod Operation + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type OrderedJob struct { + // HadoopJob: Job is a Hadoop job. + HadoopJob *HadoopJob `json:"hadoopJob,omitempty"` + + // HiveJob: Job is a Hive job. + HiveJob *HiveJob `json:"hiveJob,omitempty"` + + // Labels: Optional The labels to associate with this job.Label keys + // must be between 1 and 63 characters long, and must conform to the + // following regular expression: \p{Ll}\p{Lo}{0,62}Label values must be + // between 1 and 63 characters long, and must conform to the following + // regular expression: \p{Ll}\p{Lo}\p{N}_-{0,63}No more than 64 labels + // can be associated with a given job. + Labels map[string]string `json:"labels,omitempty"` + + // PigJob: Job is a Pig job. + PigJob *PigJob `json:"pigJob,omitempty"` + + // PrerequisiteStepIds: Optional The optional list of prerequisite job + // step_ids. If not specified, the job will start at the beginning of + // workflow. + PrerequisiteStepIds []string `json:"prerequisiteStepIds,omitempty"` + + // PysparkJob: Job is a Pyspark job. + PysparkJob *PySparkJob `json:"pysparkJob,omitempty"` + + // Scheduling: Optional Job scheduling configuration. + Scheduling *JobScheduling `json:"scheduling,omitempty"` + + // SparkJob: Job is a Spark job. + SparkJob *SparkJob `json:"sparkJob,omitempty"` + + // SparkSqlJob: Job is a SparkSql job. + SparkSqlJob *SparkSqlJob `json:"sparkSqlJob,omitempty"` + + // StepId: Required The step id. The id must be unique among all jobs + // within the template.The step id is used as prefix for job id, as job + // workflow-step-id label, and in prerequisite_step_ids field from other + // steps. + StepId string `json:"stepId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "HadoopJob") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "HadoopJob") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *OrderedJob) MarshalJSON() ([]byte, error) { + type noMethod OrderedJob + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PigJob: A Cloud Dataproc job for running Apache Pig +// (https://pig.apache.org/) queries on YARN. +type PigJob struct { + // ContinueOnFailure: Optional. Whether to continue executing queries if + // a query fails. The default value is false. Setting to true can be + // useful when executing independent parallel queries. + ContinueOnFailure bool `json:"continueOnFailure,omitempty"` + + // JarFileUris: Optional. HCFS URIs of jar files to add to the CLASSPATH + // of the Pig Client and Hadoop MapReduce (MR) tasks. Can contain Pig + // UDFs. + JarFileUris []string `json:"jarFileUris,omitempty"` + + // LoggingConfig: Optional. The runtime log config for job execution. + LoggingConfig *LoggingConfig `json:"loggingConfig,omitempty"` + + // Properties: Optional. A mapping of property names to values, used to + // configure Pig. Properties that conflict with values set by the Cloud + // Dataproc API may be overwritten. Can include properties set in + // /etc/hadoop/conf/*-site.xml, /etc/pig/conf/pig.properties, and + // classes in user code. + Properties map[string]string `json:"properties,omitempty"` + + // QueryFileUri: The HCFS URI of the script that contains the Pig + // queries. + QueryFileUri string `json:"queryFileUri,omitempty"` + + // QueryList: A list of queries. + QueryList *QueryList `json:"queryList,omitempty"` + + // ScriptVariables: Optional. Mapping of query variable names to values + // (equivalent to the Pig command: name=[value]). + ScriptVariables map[string]string `json:"scriptVariables,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ContinueOnFailure") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ContinueOnFailure") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *PigJob) MarshalJSON() ([]byte, error) { + type noMethod PigJob + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Policy: Defines an Identity and Access Management (IAM) policy. It is +// used to specify access control policies for Cloud Platform +// resources.A Policy consists of a list of bindings. A Binding binds a +// list of members to a role, where the members can be user accounts, +// Google groups, Google domains, and service accounts. A role is a +// named list of permissions defined by IAM.Example +// { +// "bindings": [ +// { +// "role": "roles/owner", +// "members": [ +// "user:mike@example.com", +// "group:admins@example.com", +// "domain:google.com", +// "serviceAccount:my-other-app@appspot.gserviceaccount.com", +// ] +// }, +// { +// "role": "roles/viewer", +// "members": ["user:sean@example.com"] +// } +// ] +// } +// For a description of IAM and its features, see the IAM developer's +// guide (https://cloud.google.com/iam). +type Policy struct { + // Bindings: Associates a list of members to a role. bindings with no + // members will result in an error. + Bindings []*Binding `json:"bindings,omitempty"` + + // Etag: etag is used for optimistic concurrency control as a way to + // help prevent simultaneous updates of a policy from overwriting each + // other. It is strongly suggested that systems make use of the etag in + // the read-modify-write cycle to perform policy updates in order to + // avoid race conditions: An etag is returned in the response to + // getIamPolicy, and systems are expected to put that etag in the + // request to setIamPolicy to ensure that their change will be applied + // to the same version of the policy.If no etag is provided in the call + // to setIamPolicy, then the existing policy is overwritten blindly. + Etag string `json:"etag,omitempty"` + + // Version: Version of the Policy. The default version is 0. + Version int64 `json:"version,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Bindings") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Policy) MarshalJSON() ([]byte, error) { + type noMethod Policy + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PySparkJob: A Cloud Dataproc job for running Apache PySpark +// (https://spark.apache.org/docs/0.9.0/python-programming-guide.html) +// applications on YARN. +type PySparkJob struct { + // ArchiveUris: Optional. HCFS URIs of archives to be extracted in the + // working directory of .jar, .tar, .tar.gz, .tgz, and .zip. + ArchiveUris []string `json:"archiveUris,omitempty"` + + // Args: Optional. The arguments to pass to the driver. Do not include + // arguments, such as --conf, that can be set as job properties, since a + // collision may occur that causes an incorrect job submission. + Args []string `json:"args,omitempty"` + + // FileUris: Optional. HCFS URIs of files to be copied to the working + // directory of Python drivers and distributed tasks. Useful for naively + // parallel tasks. + FileUris []string `json:"fileUris,omitempty"` + + // JarFileUris: Optional. HCFS URIs of jar files to add to the + // CLASSPATHs of the Python driver and tasks. + JarFileUris []string `json:"jarFileUris,omitempty"` + + // LoggingConfig: Optional. The runtime log config for job execution. + LoggingConfig *LoggingConfig `json:"loggingConfig,omitempty"` + + // MainPythonFileUri: Required. The HCFS URI of the main Python file to + // use as the driver. Must be a .py file. + MainPythonFileUri string `json:"mainPythonFileUri,omitempty"` + + // Properties: Optional. A mapping of property names to values, used to + // configure PySpark. Properties that conflict with values set by the + // Cloud Dataproc API may be overwritten. Can include properties set in + // /etc/spark/conf/spark-defaults.conf and classes in user code. + Properties map[string]string `json:"properties,omitempty"` + + // PythonFileUris: Optional. HCFS file URIs of Python files to pass to + // the PySpark framework. Supported file types: .py, .egg, and .zip. + PythonFileUris []string `json:"pythonFileUris,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ArchiveUris") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ArchiveUris") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *PySparkJob) MarshalJSON() ([]byte, error) { + type noMethod PySparkJob + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// QueryList: A list of queries to run on a cluster. +type QueryList struct { + // Queries: Required. The queries to execute. You do not need to + // terminate a query with a semicolon. Multiple queries can be specified + // in one string by separating each with a semicolon. Here is an example + // of an Cloud Dataproc API snippet that uses a QueryList to specify a + // HiveJob: + // "hiveJob": { + // "queryList": { + // "queries": [ + // "query1", + // "query2", + // "query3;query4", + // ] + // } + // } + // + Queries []string `json:"queries,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Queries") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Queries") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *QueryList) MarshalJSON() ([]byte, error) { + type noMethod QueryList + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SetIamPolicyRequest: Request message for SetIamPolicy method. +type SetIamPolicyRequest struct { + // 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 a valid policy but certain Cloud Platform services (such as + // Projects) might reject them. + Policy *Policy `json:"policy,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Policy") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Policy") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) { + type noMethod SetIamPolicyRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SoftwareConfig: Specifies the selection and config of software inside +// the cluster. +type SoftwareConfig struct { + // ImageVersion: Optional. The version of software inside the cluster. + // It must match the regular expression [0-9]+\.[0-9]+. If unspecified, + // it defaults to the latest version (see Cloud Dataproc Versioning). + ImageVersion string `json:"imageVersion,omitempty"` + + // Properties: Optional. The properties to set on daemon config + // files.Property keys are specified in prefix:property format, such as + // core:fs.defaultFS. The following are supported prefixes and their + // mappings: + // capacity-scheduler: capacity-scheduler.xml + // core: core-site.xml + // distcp: distcp-default.xml + // hdfs: hdfs-site.xml + // hive: hive-site.xml + // mapred: mapred-site.xml + // pig: pig.properties + // spark: spark-defaults.conf + // yarn: yarn-site.xmlFor more information, see Cluster properties. + Properties map[string]string `json:"properties,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ImageVersion") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ImageVersion") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SoftwareConfig) MarshalJSON() ([]byte, error) { + type noMethod SoftwareConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SparkJob: A Cloud Dataproc job for running Apache Spark +// (http://spark.apache.org/) applications on YARN. +type SparkJob struct { + // ArchiveUris: Optional. HCFS URIs of archives to be extracted in the + // working directory of Spark drivers and tasks. Supported file types: + // .jar, .tar, .tar.gz, .tgz, and .zip. + ArchiveUris []string `json:"archiveUris,omitempty"` + + // Args: Optional. The arguments to pass to the driver. Do not include + // arguments, such as --conf, that can be set as job properties, since a + // collision may occur that causes an incorrect job submission. + Args []string `json:"args,omitempty"` + + // FileUris: Optional. HCFS URIs of files to be copied to the working + // directory of Spark drivers and distributed tasks. Useful for naively + // parallel tasks. + FileUris []string `json:"fileUris,omitempty"` + + // JarFileUris: Optional. HCFS URIs of jar files to add to the + // CLASSPATHs of the Spark driver and tasks. + JarFileUris []string `json:"jarFileUris,omitempty"` + + // LoggingConfig: Optional. The runtime log config for job execution. + LoggingConfig *LoggingConfig `json:"loggingConfig,omitempty"` + + // MainClass: The name of the driver's main class. The jar file that + // contains the class must be in the default CLASSPATH or specified in + // jar_file_uris. + MainClass string `json:"mainClass,omitempty"` + + // MainJarFileUri: The HCFS URI of the jar file that contains the main + // class. + MainJarFileUri string `json:"mainJarFileUri,omitempty"` + + // Properties: Optional. A mapping of property names to values, used to + // configure Spark. Properties that conflict with values set by the + // Cloud Dataproc API may be overwritten. Can include properties set in + // /etc/spark/conf/spark-defaults.conf and classes in user code. + Properties map[string]string `json:"properties,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ArchiveUris") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ArchiveUris") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SparkJob) MarshalJSON() ([]byte, error) { + type noMethod SparkJob + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SparkSqlJob: A Cloud Dataproc job for running Apache Spark SQL +// (http://spark.apache.org/sql/) queries. +type SparkSqlJob struct { + // JarFileUris: Optional. HCFS URIs of jar files to be added to the + // Spark CLASSPATH. + JarFileUris []string `json:"jarFileUris,omitempty"` + + // LoggingConfig: Optional. The runtime log config for job execution. + LoggingConfig *LoggingConfig `json:"loggingConfig,omitempty"` + + // Properties: Optional. A mapping of property names to values, used to + // configure Spark SQL's SparkConf. Properties that conflict with values + // set by the Cloud Dataproc API may be overwritten. + Properties map[string]string `json:"properties,omitempty"` + + // QueryFileUri: The HCFS URI of the script that contains SQL queries. + QueryFileUri string `json:"queryFileUri,omitempty"` + + // QueryList: A list of queries. + QueryList *QueryList `json:"queryList,omitempty"` + + // ScriptVariables: Optional. Mapping of query variable names to values + // (equivalent to the Spark SQL command: SET name="value";). + ScriptVariables map[string]string `json:"scriptVariables,omitempty"` + + // ForceSendFields is a list of field names (e.g. "JarFileUris") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "JarFileUris") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SparkSqlJob) MarshalJSON() ([]byte, error) { + type noMethod SparkSqlJob + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Status: The Status type defines a logical error model that is +// suitable for different programming environments, including REST APIs +// and RPC APIs. It is used by gRPC (https://github.com/grpc). The error +// model is designed to be: +// Simple to use and understand for most users +// Flexible enough to meet unexpected needsOverviewThe Status message +// contains three pieces of data: error code, error message, and error +// details. The error code should be an enum value of google.rpc.Code, +// but it may accept additional error codes if needed. The error message +// should be a developer-facing English message that helps developers +// understand and resolve the error. If a localized user-facing error +// message is needed, put the localized message in the error details or +// localize it in the client. The optional error details may contain +// arbitrary information about the error. There is a predefined set of +// error detail types in the package google.rpc that can be used for +// common error conditions.Language mappingThe Status message is the +// logical representation of the error model, but it is not necessarily +// the actual wire format. When the Status message is exposed in +// different client libraries and different wire protocols, it can be +// mapped differently. For example, it will likely be mapped to some +// exceptions in Java, but more likely mapped to some error codes in +// C.Other usesThe error model and the Status message can be used in a +// variety of environments, either with or without APIs, to provide a +// consistent developer experience across different environments.Example +// uses of this error model include: +// Partial errors. If a service needs to return partial errors to the +// client, it may embed the Status in the normal response to indicate +// the partial errors. +// Workflow errors. A typical workflow has multiple steps. Each step may +// have a Status message for error reporting. +// Batch operations. If a client uses batch request and batch response, +// the Status message should be used directly inside batch response, one +// for each error sub-response. +// Asynchronous operations. If an API call embeds asynchronous operation +// results in its response, the status of those operations should be +// represented directly using the Status message. +// Logging. If some API errors are stored in logs, the message Status +// could be used directly after any stripping needed for +// security/privacy reasons. +type Status struct { + // Code: The status code, which should be an enum value of + // google.rpc.Code. + Code int64 `json:"code,omitempty"` + + // Details: A list of messages that carry the error details. There is a + // common set of message types for APIs to use. + Details []googleapi.RawMessage `json:"details,omitempty"` + + // Message: A developer-facing error message, which should be in + // English. Any user-facing error message should be localized and sent + // in the google.rpc.Status.details field, or localized by the client. + 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Status) MarshalJSON() ([]byte, error) { + type noMethod Status + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SubmitJobRequest: A request to submit a job. +type SubmitJobRequest struct { + // Job: Required. The job resource. + Job *Job `json:"job,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Job") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Job") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SubmitJobRequest) MarshalJSON() ([]byte, error) { + type noMethod SubmitJobRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// TestIamPermissionsRequest: Request message for TestIamPermissions +// method. +type TestIamPermissionsRequest struct { + // Permissions: The set of permissions to check for the resource. + // Permissions with wildcards (such as '*' or 'storage.*') are not + // allowed. For more information see IAM Overview + // (https://cloud.google.com/iam/docs/overview#permissions). + Permissions []string `json:"permissions,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Permissions") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Permissions") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) { + type noMethod TestIamPermissionsRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// TestIamPermissionsResponse: Response message for TestIamPermissions +// method. +type TestIamPermissionsResponse struct { + // Permissions: A subset of TestPermissionsRequest.permissions that the + // caller is allowed. + Permissions []string `json:"permissions,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Permissions") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Permissions") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) { + type noMethod TestIamPermissionsResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// WorkflowGraph: The workflow graph. +type WorkflowGraph struct { + // Nodes: Output-only The workflow nodes. + Nodes []*WorkflowNode `json:"nodes,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Nodes") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Nodes") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *WorkflowGraph) MarshalJSON() ([]byte, error) { + type noMethod WorkflowGraph + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// WorkflowMetadata: A Cloud Dataproc workflow template resource. +type WorkflowMetadata struct { + // ClusterName: Output-only The name of the managed cluster. + ClusterName string `json:"clusterName,omitempty"` + + // CreateCluster: Output-only The create cluster operation metadata. + CreateCluster *ClusterOperation `json:"createCluster,omitempty"` + + // DeleteCluster: Output-only The delete cluster operation metadata. + DeleteCluster *ClusterOperation `json:"deleteCluster,omitempty"` + + // Graph: Output-only The workflow graph. + Graph *WorkflowGraph `json:"graph,omitempty"` + + // State: Output-only The workflow state. + // + // Possible values: + // "UNKNOWN" - Unused. + // "PENDING" - The operation has been created. + // "RUNNING" - The operation is running. + // "DONE" - The operation is done; either cancelled or completed. + State string `json:"state,omitempty"` + + // Template: Output-only The "resource name" of the template. + Template string `json:"template,omitempty"` + + // Version: Output-only The version of template at the time of workflow + // instantiation. + Version int64 `json:"version,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ClusterName") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ClusterName") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *WorkflowMetadata) MarshalJSON() ([]byte, error) { + type noMethod WorkflowMetadata + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// WorkflowNode: The workflow node. +type WorkflowNode struct { + // Error: Output-only The error detail. + Error string `json:"error,omitempty"` + + // JobId: Output-only The job id; populated after the node enters + // RUNNING state. + JobId string `json:"jobId,omitempty"` + + // PrerequisiteStepIds: Output-only Node's prerequisite nodes. + PrerequisiteStepIds []string `json:"prerequisiteStepIds,omitempty"` + + // State: Output-only The node state. + // + // Possible values: + // "NODE_STATUS_UNSPECIFIED" + // "BLOCKED" - The node is awaiting prerequisite node to finish. + // "RUNNABLE" - The node is runnable but not running. + // "RUNNING" - The node is running. + // "COMPLETED" - The node completed successfully. + // "FAILED" - The node failed. A node can be marked FAILED because its + // ancestor or peer failed. + State string `json:"state,omitempty"` + + // StepId: Output-only The name of the node. + StepId string `json:"stepId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Error") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Error") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *WorkflowNode) MarshalJSON() ([]byte, error) { + type noMethod WorkflowNode + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// WorkflowTemplate: A Cloud Dataproc workflow template resource. +type WorkflowTemplate struct { + // CreateTime: Output-only The time template was created. + CreateTime string `json:"createTime,omitempty"` + + // Id: Required The template id. + Id string `json:"id,omitempty"` + + // Jobs: Required The Directed Acyclic Graph of Jobs to submit. + Jobs []*OrderedJob `json:"jobs,omitempty"` + + // Labels: Optional The labels to associate with this template. These + // labels will be propagated to all jobs and clusters created by the + // workflow instance.Label keys must contain 1 to 63 characters, and + // must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt).Label + // values may be empty, but, if present, must contain 1 to 63 + // characters, and must conform to RFC 1035 + // (https://www.ietf.org/rfc/rfc1035.txt).No more than 32 labels can be + // associated with a template. + Labels map[string]string `json:"labels,omitempty"` + + // Name: Output-only The "resource name" of the template, as described + // in https://cloud.google.com/apis/design/resource_names of the form + // projects/{project_id}/regions/{region}/workflowTemplates/{template_id} + Name string `json:"name,omitempty"` + + // Placement: Required WorkflowTemplate scheduling information. + Placement *WorkflowTemplatePlacement `json:"placement,omitempty"` + + // UpdateTime: Output-only The time template was last updated. + UpdateTime string `json:"updateTime,omitempty"` + + // Version: Optional Used to perform a consistent read-modify-write.This + // field should be left blank for a CreateWorkflowTemplate request. It + // is required for an UpdateWorkflowTemplate request, and must match the + // current server version. A typical update template flow would fetch + // the current template with a GetWorkflowTemplate request, which will + // return the current template with the version field filled in with the + // current server version. The user updates other fields in the + // template, then returns it as part of the UpdateWorkflowTemplate + // request. + Version int64 `json:"version,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "CreateTime") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CreateTime") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *WorkflowTemplate) MarshalJSON() ([]byte, error) { + type noMethod WorkflowTemplate + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// WorkflowTemplatePlacement: Specifies workflow execution target.Either +// managed_cluster or cluster_selector is required. +type WorkflowTemplatePlacement struct { + // ClusterSelector: Optional A selector that chooses target cluster for + // jobs based on metadata.The selector is evaluated at the time each job + // is submitted. + ClusterSelector *ClusterSelector `json:"clusterSelector,omitempty"` + + // ManagedCluster: Optional A cluster that is managed by the workflow. + ManagedCluster *ManagedCluster `json:"managedCluster,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ClusterSelector") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ClusterSelector") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *WorkflowTemplatePlacement) MarshalJSON() ([]byte, error) { + type noMethod WorkflowTemplatePlacement + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// YarnApplication: A YARN application created by a job. Application +// information is a subset of +// org.apache.hadoop.yarn.proto.YarnProtos.ApplicationReportProto.Beta Feature: This report is available for testing purposes +// only. It may be changed before final release. +type YarnApplication struct { + // Name: Required. The application name. + Name string `json:"name,omitempty"` + + // Progress: Required. The numerical progress of the application, from 1 + // to 100. + Progress float64 `json:"progress,omitempty"` + + // State: Required. The application state. + // + // Possible values: + // "STATE_UNSPECIFIED" - Status is unspecified. + // "NEW" - Status is NEW. + // "NEW_SAVING" - Status is NEW_SAVING. + // "SUBMITTED" - Status is SUBMITTED. + // "ACCEPTED" - Status is ACCEPTED. + // "RUNNING" - Status is RUNNING. + // "FINISHED" - Status is FINISHED. + // "FAILED" - Status is FAILED. + // "KILLED" - Status is KILLED. + State string `json:"state,omitempty"` + + // TrackingUrl: Optional. The HTTP URL of the ApplicationMaster, + // HistoryServer, or TimelineServer that provides application-specific + // information. The URL uses the internal hostname, and requires a proxy + // server for resolution and, possibly, access. + TrackingUrl string `json:"trackingUrl,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *YarnApplication) MarshalJSON() ([]byte, error) { + type noMethod YarnApplication + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *YarnApplication) UnmarshalJSON(data []byte) error { + type noMethod YarnApplication + var s1 struct { + Progress gensupport.JSONFloat64 `json:"progress"` + *noMethod + } + s1.noMethod = (*noMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Progress = float64(s1.Progress) + return nil +} + +// method id "dataproc.projects.locations.workflowTemplates.create": + +type ProjectsLocationsWorkflowTemplatesCreateCall struct { + s *Service + parent string + workflowtemplate *WorkflowTemplate + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates new workflow template. +func (r *ProjectsLocationsWorkflowTemplatesService) Create(parent string, workflowtemplate *WorkflowTemplate) *ProjectsLocationsWorkflowTemplatesCreateCall { + c := &ProjectsLocationsWorkflowTemplatesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.workflowtemplate = workflowtemplate + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsWorkflowTemplatesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkflowTemplatesCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsWorkflowTemplatesCreateCall) Context(ctx context.Context) *ProjectsLocationsWorkflowTemplatesCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsWorkflowTemplatesCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsWorkflowTemplatesCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.workflowtemplate) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+parent}/workflowTemplates") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.locations.workflowTemplates.create" call. +// Exactly one of *WorkflowTemplate or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *WorkflowTemplate.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsWorkflowTemplatesCreateCall) Do(opts ...googleapi.CallOption) (*WorkflowTemplate, 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, &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, err + } + ret := &WorkflowTemplate{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates new workflow template.", + // "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/workflowTemplates", + // "httpMethod": "POST", + // "id": "dataproc.projects.locations.workflowTemplates.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "Required The \"resource name\" of the region, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/{+parent}/workflowTemplates", + // "request": { + // "$ref": "WorkflowTemplate" + // }, + // "response": { + // "$ref": "WorkflowTemplate" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dataproc.projects.locations.workflowTemplates.delete": + +type ProjectsLocationsWorkflowTemplatesDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a workflow template. It does not cancel in-progress +// workflows. +func (r *ProjectsLocationsWorkflowTemplatesService) Delete(name string) *ProjectsLocationsWorkflowTemplatesDeleteCall { + c := &ProjectsLocationsWorkflowTemplatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Version sets the optional parameter "version": Optional The version +// of workflow template to delete. If specified, will only delete the +// template if the current server version matches specified version. +func (c *ProjectsLocationsWorkflowTemplatesDeleteCall) Version(version int64) *ProjectsLocationsWorkflowTemplatesDeleteCall { + c.urlParams_.Set("version", fmt.Sprint(version)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsWorkflowTemplatesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkflowTemplatesDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsWorkflowTemplatesDeleteCall) Context(ctx context.Context) *ProjectsLocationsWorkflowTemplatesDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsWorkflowTemplatesDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsWorkflowTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.locations.workflowTemplates.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsWorkflowTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes a workflow template. It does not cancel in-progress workflows.", + // "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/workflowTemplates/{workflowTemplatesId}", + // "httpMethod": "DELETE", + // "id": "dataproc.projects.locations.workflowTemplates.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required The \"resource name\" of the workflow template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id}", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/workflowTemplates/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "version": { + // "description": "Optional The version of workflow template to delete. If specified, will only delete the template if the current server version matches specified version.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // } + // }, + // "path": "v1beta2/{+name}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dataproc.projects.locations.workflowTemplates.get": + +type ProjectsLocationsWorkflowTemplatesGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Retrieves the latest workflow template.Can retrieve previously +// instantiated template by specifying optional version parameter. +func (r *ProjectsLocationsWorkflowTemplatesService) Get(name string) *ProjectsLocationsWorkflowTemplatesGetCall { + c := &ProjectsLocationsWorkflowTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Version sets the optional parameter "version": Optional The version +// of workflow template to retrieve. Only previously instatiated +// versions can be retrieved.If unspecified, retrieves the current +// version. +func (c *ProjectsLocationsWorkflowTemplatesGetCall) Version(version int64) *ProjectsLocationsWorkflowTemplatesGetCall { + c.urlParams_.Set("version", fmt.Sprint(version)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsWorkflowTemplatesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkflowTemplatesGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsWorkflowTemplatesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsWorkflowTemplatesGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsWorkflowTemplatesGetCall) Context(ctx context.Context) *ProjectsLocationsWorkflowTemplatesGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsWorkflowTemplatesGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsWorkflowTemplatesGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.locations.workflowTemplates.get" call. +// Exactly one of *WorkflowTemplate or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *WorkflowTemplate.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsWorkflowTemplatesGetCall) Do(opts ...googleapi.CallOption) (*WorkflowTemplate, 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, &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, err + } + ret := &WorkflowTemplate{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Retrieves the latest workflow template.Can retrieve previously instantiated template by specifying optional version parameter.", + // "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/workflowTemplates/{workflowTemplatesId}", + // "httpMethod": "GET", + // "id": "dataproc.projects.locations.workflowTemplates.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required The \"resource name\" of the workflow template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id}", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/workflowTemplates/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "version": { + // "description": "Optional The version of workflow template to retrieve. Only previously instatiated versions can be retrieved.If unspecified, retrieves the current version.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // } + // }, + // "path": "v1beta2/{+name}", + // "response": { + // "$ref": "WorkflowTemplate" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dataproc.projects.locations.workflowTemplates.instantiate": + +type ProjectsLocationsWorkflowTemplatesInstantiateCall struct { + s *Service + name string + instantiateworkflowtemplaterequest *InstantiateWorkflowTemplateRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Instantiate: Instantiates a template and begins execution.The +// returned Operation can be used to track execution of workflow by +// polling google.cloud.dataproc.v1beta2.OperationService.GetOperation. +// The Operation will complete when entire workflow is finished.The +// running workflow can be aborted via +// google.cloud.dataproc.v1beta2.OperationService.CancelOperation.The +// google.cloud.dataproc.v1beta2.Operation.metadata will always be +// google.cloud.dataproc.v1beta2.WorkflowMetadata.The +// google.cloud.dataproc.v1beta2.Operation.result will always be +// google.protobuf.Empty. +func (r *ProjectsLocationsWorkflowTemplatesService) Instantiate(name string, instantiateworkflowtemplaterequest *InstantiateWorkflowTemplateRequest) *ProjectsLocationsWorkflowTemplatesInstantiateCall { + c := &ProjectsLocationsWorkflowTemplatesInstantiateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.instantiateworkflowtemplaterequest = instantiateworkflowtemplaterequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsWorkflowTemplatesInstantiateCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkflowTemplatesInstantiateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsWorkflowTemplatesInstantiateCall) Context(ctx context.Context) *ProjectsLocationsWorkflowTemplatesInstantiateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsWorkflowTemplatesInstantiateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsWorkflowTemplatesInstantiateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.instantiateworkflowtemplaterequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+name}:instantiate") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.locations.workflowTemplates.instantiate" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsWorkflowTemplatesInstantiateCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Instantiates a template and begins execution.The returned Operation can be used to track execution of workflow by polling google.cloud.dataproc.v1beta2.OperationService.GetOperation. The Operation will complete when entire workflow is finished.The running workflow can be aborted via google.cloud.dataproc.v1beta2.OperationService.CancelOperation.The google.cloud.dataproc.v1beta2.Operation.metadata will always be google.cloud.dataproc.v1beta2.WorkflowMetadata.The google.cloud.dataproc.v1beta2.Operation.result will always be google.protobuf.Empty.", + // "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/workflowTemplates/{workflowTemplatesId}:instantiate", + // "httpMethod": "POST", + // "id": "dataproc.projects.locations.workflowTemplates.instantiate", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required The \"resource name\" of the workflow template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id}", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/workflowTemplates/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/{+name}:instantiate", + // "request": { + // "$ref": "InstantiateWorkflowTemplateRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dataproc.projects.locations.workflowTemplates.list": + +type ProjectsLocationsWorkflowTemplatesListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists workflows that match the specified filter in the request. +func (r *ProjectsLocationsWorkflowTemplatesService) List(parent string) *ProjectsLocationsWorkflowTemplatesListCall { + c := &ProjectsLocationsWorkflowTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": Optional The maximum +// number of results to return in each response. +func (c *ProjectsLocationsWorkflowTemplatesListCall) PageSize(pageSize int64) *ProjectsLocationsWorkflowTemplatesListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": Optional The page +// token, returned by a previous call, to request the next page of +// results. +func (c *ProjectsLocationsWorkflowTemplatesListCall) PageToken(pageToken string) *ProjectsLocationsWorkflowTemplatesListCall { + 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 information. +func (c *ProjectsLocationsWorkflowTemplatesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkflowTemplatesListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsWorkflowTemplatesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsWorkflowTemplatesListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsWorkflowTemplatesListCall) Context(ctx context.Context) *ProjectsLocationsWorkflowTemplatesListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsWorkflowTemplatesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsWorkflowTemplatesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+parent}/workflowTemplates") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.locations.workflowTemplates.list" call. +// Exactly one of *ListWorkflowTemplatesResponse or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *ListWorkflowTemplatesResponse.ServerResponse.Header or (if a +// response was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsWorkflowTemplatesListCall) Do(opts ...googleapi.CallOption) (*ListWorkflowTemplatesResponse, 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, &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, err + } + ret := &ListWorkflowTemplatesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists workflows that match the specified filter in the request.", + // "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/workflowTemplates", + // "httpMethod": "GET", + // "id": "dataproc.projects.locations.workflowTemplates.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "pageSize": { + // "description": "Optional The maximum number of results to return in each response.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Optional The page token, returned by a previous call, to request the next page of results.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required The \"resource name\" of the region, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/{+parent}/workflowTemplates", + // "response": { + // "$ref": "ListWorkflowTemplatesResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// 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 *ProjectsLocationsWorkflowTemplatesListCall) Pages(ctx context.Context, f func(*ListWorkflowTemplatesResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "dataproc.projects.locations.workflowTemplates.update": + +type ProjectsLocationsWorkflowTemplatesUpdateCall struct { + s *Service + name string + workflowtemplate *WorkflowTemplate + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Update: Updates (replaces) workflow template. The updated template +// must contain version that matches the current server version. +func (r *ProjectsLocationsWorkflowTemplatesService) Update(name string, workflowtemplate *WorkflowTemplate) *ProjectsLocationsWorkflowTemplatesUpdateCall { + c := &ProjectsLocationsWorkflowTemplatesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.workflowtemplate = workflowtemplate + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsWorkflowTemplatesUpdateCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkflowTemplatesUpdateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsWorkflowTemplatesUpdateCall) Context(ctx context.Context) *ProjectsLocationsWorkflowTemplatesUpdateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsWorkflowTemplatesUpdateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsWorkflowTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.workflowtemplate) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PUT", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.locations.workflowTemplates.update" call. +// Exactly one of *WorkflowTemplate or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *WorkflowTemplate.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsWorkflowTemplatesUpdateCall) Do(opts ...googleapi.CallOption) (*WorkflowTemplate, 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, &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, err + } + ret := &WorkflowTemplate{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates (replaces) workflow template. The updated template must contain version that matches the current server version.", + // "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/workflowTemplates/{workflowTemplatesId}", + // "httpMethod": "PUT", + // "id": "dataproc.projects.locations.workflowTemplates.update", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Output-only The \"resource name\" of the template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id}", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/workflowTemplates/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/{+name}", + // "request": { + // "$ref": "WorkflowTemplate" + // }, + // "response": { + // "$ref": "WorkflowTemplate" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dataproc.projects.regions.clusters.create": + +type ProjectsRegionsClustersCreateCall struct { + s *Service + projectId string + region string + cluster *Cluster + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a cluster in a project. +func (r *ProjectsRegionsClustersService) Create(projectId string, region string, cluster *Cluster) *ProjectsRegionsClustersCreateCall { + c := &ProjectsRegionsClustersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.region = region + c.cluster = cluster + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsRegionsClustersCreateCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRegionsClustersCreateCall) Context(ctx context.Context) *ProjectsRegionsClustersCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRegionsClustersCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRegionsClustersCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.cluster) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/projects/{projectId}/regions/{region}/clusters") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "region": c.region, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.regions.clusters.create" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsRegionsClustersCreateCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a cluster in a project.", + // "flatPath": "v1beta2/projects/{projectId}/regions/{region}/clusters", + // "httpMethod": "POST", + // "id": "dataproc.projects.regions.clusters.create", + // "parameterOrder": [ + // "projectId", + // "region" + // ], + // "parameters": { + // "projectId": { + // "description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "Required. The Cloud Dataproc region in which to handle the request.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/projects/{projectId}/regions/{region}/clusters", + // "request": { + // "$ref": "Cluster" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dataproc.projects.regions.clusters.delete": + +type ProjectsRegionsClustersDeleteCall struct { + s *Service + projectId string + region string + clusterName string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a cluster in a project. +func (r *ProjectsRegionsClustersService) Delete(projectId string, region string, clusterName string) *ProjectsRegionsClustersDeleteCall { + c := &ProjectsRegionsClustersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.region = region + c.clusterName = clusterName + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsRegionsClustersDeleteCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRegionsClustersDeleteCall) Context(ctx context.Context) *ProjectsRegionsClustersDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRegionsClustersDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRegionsClustersDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/projects/{projectId}/regions/{region}/clusters/{clusterName}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "region": c.region, + "clusterName": c.clusterName, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.regions.clusters.delete" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsRegionsClustersDeleteCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes a cluster in a project.", + // "flatPath": "v1beta2/projects/{projectId}/regions/{region}/clusters/{clusterName}", + // "httpMethod": "DELETE", + // "id": "dataproc.projects.regions.clusters.delete", + // "parameterOrder": [ + // "projectId", + // "region", + // "clusterName" + // ], + // "parameters": { + // "clusterName": { + // "description": "Required. The cluster name.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "Required. The Cloud Dataproc region in which to handle the request.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/projects/{projectId}/regions/{region}/clusters/{clusterName}", + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dataproc.projects.regions.clusters.diagnose": + +type ProjectsRegionsClustersDiagnoseCall struct { + s *Service + projectId string + region string + clusterName string + diagnoseclusterrequest *DiagnoseClusterRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Diagnose: Gets cluster diagnostic information. After the operation +// completes, the Operation.response field contains +// DiagnoseClusterOutputLocation. +func (r *ProjectsRegionsClustersService) Diagnose(projectId string, region string, clusterName string, diagnoseclusterrequest *DiagnoseClusterRequest) *ProjectsRegionsClustersDiagnoseCall { + c := &ProjectsRegionsClustersDiagnoseCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.region = region + c.clusterName = clusterName + c.diagnoseclusterrequest = diagnoseclusterrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsRegionsClustersDiagnoseCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersDiagnoseCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRegionsClustersDiagnoseCall) Context(ctx context.Context) *ProjectsRegionsClustersDiagnoseCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRegionsClustersDiagnoseCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRegionsClustersDiagnoseCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.diagnoseclusterrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/projects/{projectId}/regions/{region}/clusters/{clusterName}:diagnose") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "region": c.region, + "clusterName": c.clusterName, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.regions.clusters.diagnose" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsRegionsClustersDiagnoseCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets cluster diagnostic information. After the operation completes, the Operation.response field contains DiagnoseClusterOutputLocation.", + // "flatPath": "v1beta2/projects/{projectId}/regions/{region}/clusters/{clusterName}:diagnose", + // "httpMethod": "POST", + // "id": "dataproc.projects.regions.clusters.diagnose", + // "parameterOrder": [ + // "projectId", + // "region", + // "clusterName" + // ], + // "parameters": { + // "clusterName": { + // "description": "Required. The cluster name.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "Required. The Cloud Dataproc region in which to handle the request.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/projects/{projectId}/regions/{region}/clusters/{clusterName}:diagnose", + // "request": { + // "$ref": "DiagnoseClusterRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dataproc.projects.regions.clusters.get": + +type ProjectsRegionsClustersGetCall struct { + s *Service + projectId string + region string + clusterName string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the resource representation for a cluster in a project. +func (r *ProjectsRegionsClustersService) Get(projectId string, region string, clusterName string) *ProjectsRegionsClustersGetCall { + c := &ProjectsRegionsClustersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.region = region + c.clusterName = clusterName + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsRegionsClustersGetCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsRegionsClustersGetCall) IfNoneMatch(entityTag string) *ProjectsRegionsClustersGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRegionsClustersGetCall) Context(ctx context.Context) *ProjectsRegionsClustersGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRegionsClustersGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRegionsClustersGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/projects/{projectId}/regions/{region}/clusters/{clusterName}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "region": c.region, + "clusterName": c.clusterName, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.regions.clusters.get" call. +// Exactly one of *Cluster or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Cluster.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsRegionsClustersGetCall) Do(opts ...googleapi.CallOption) (*Cluster, 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, &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, err + } + ret := &Cluster{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the resource representation for a cluster in a project.", + // "flatPath": "v1beta2/projects/{projectId}/regions/{region}/clusters/{clusterName}", + // "httpMethod": "GET", + // "id": "dataproc.projects.regions.clusters.get", + // "parameterOrder": [ + // "projectId", + // "region", + // "clusterName" + // ], + // "parameters": { + // "clusterName": { + // "description": "Required. The cluster name.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "Required. The Cloud Dataproc region in which to handle the request.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/projects/{projectId}/regions/{region}/clusters/{clusterName}", + // "response": { + // "$ref": "Cluster" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dataproc.projects.regions.clusters.getIamPolicy": + +type ProjectsRegionsClustersGetIamPolicyCall struct { + s *Service + resource string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// GetIamPolicy: Gets the access control policy for a resource. Returns +// an empty policy if the resource exists and does not have a policy +// set. +func (r *ProjectsRegionsClustersService) GetIamPolicy(resource string) *ProjectsRegionsClustersGetIamPolicyCall { + c := &ProjectsRegionsClustersGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsRegionsClustersGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersGetIamPolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsRegionsClustersGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsRegionsClustersGetIamPolicyCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRegionsClustersGetIamPolicyCall) Context(ctx context.Context) *ProjectsRegionsClustersGetIamPolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRegionsClustersGetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRegionsClustersGetIamPolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+resource}:getIamPolicy") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.regions.clusters.getIamPolicy" call. +// Exactly one of *Policy or error will be non-nil. 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 *ProjectsRegionsClustersGetIamPolicyCall) 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, &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, err + } + ret := &Policy{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + // "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}:getIamPolicy", + // "httpMethod": "GET", + // "id": "dataproc.projects.regions.clusters.getIamPolicy", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.", + // "location": "path", + // "pattern": "^projects/[^/]+/regions/[^/]+/clusters/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/{+resource}:getIamPolicy", + // "response": { + // "$ref": "Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dataproc.projects.regions.clusters.list": + +type ProjectsRegionsClustersListCall struct { + s *Service + projectId string + region string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists all regions/{region}/clusters in a project. +func (r *ProjectsRegionsClustersService) List(projectId string, region string) *ProjectsRegionsClustersListCall { + c := &ProjectsRegionsClustersListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.region = region + return c +} + +// Filter sets the optional parameter "filter": A filter constraining +// the clusters to list. Filters are case-sensitive and have the +// following syntax:field = value AND field = value ...where field is +// one of status.state, clusterName, or labels.[KEY], and [KEY] is a +// label key. value can be * to match all values. status.state can be +// one of the following: ACTIVE, INACTIVE, CREATING, RUNNING, ERROR, +// DELETING, or UPDATING. ACTIVE contains the CREATING, UPDATING, and +// RUNNING states. INACTIVE contains the DELETING and ERROR states. +// clusterName is the name of the cluster provided at creation time. +// Only the logical AND operator is supported; space-separated items are +// treated as having an implicit AND operator.Example +// filter:status.state = ACTIVE AND clusterName = mycluster AND +// labels.env = staging AND labels.starred = * +func (c *ProjectsRegionsClustersListCall) Filter(filter string) *ProjectsRegionsClustersListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// PageSize sets the optional parameter "pageSize": The standard List +// page size. +func (c *ProjectsRegionsClustersListCall) PageSize(pageSize int64) *ProjectsRegionsClustersListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The standard List +// page token. +func (c *ProjectsRegionsClustersListCall) PageToken(pageToken string) *ProjectsRegionsClustersListCall { + 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 information. +func (c *ProjectsRegionsClustersListCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsRegionsClustersListCall) IfNoneMatch(entityTag string) *ProjectsRegionsClustersListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRegionsClustersListCall) Context(ctx context.Context) *ProjectsRegionsClustersListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRegionsClustersListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRegionsClustersListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/projects/{projectId}/regions/{region}/clusters") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "region": c.region, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.regions.clusters.list" call. +// Exactly one of *ListClustersResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListClustersResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsRegionsClustersListCall) Do(opts ...googleapi.CallOption) (*ListClustersResponse, 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, &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, err + } + ret := &ListClustersResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists all regions/{region}/clusters in a project.", + // "flatPath": "v1beta2/projects/{projectId}/regions/{region}/clusters", + // "httpMethod": "GET", + // "id": "dataproc.projects.regions.clusters.list", + // "parameterOrder": [ + // "projectId", + // "region" + // ], + // "parameters": { + // "filter": { + // "description": "Optional. A filter constraining the clusters to list. Filters are case-sensitive and have the following syntax:field = value AND field = value ...where field is one of status.state, clusterName, or labels.[KEY], and [KEY] is a label key. value can be * to match all values. status.state can be one of the following: ACTIVE, INACTIVE, CREATING, RUNNING, ERROR, DELETING, or UPDATING. ACTIVE contains the CREATING, UPDATING, and RUNNING states. INACTIVE contains the DELETING and ERROR states. clusterName is the name of the cluster provided at creation time. Only the logical AND operator is supported; space-separated items are treated as having an implicit AND operator.Example filter:status.state = ACTIVE AND clusterName = mycluster AND labels.env = staging AND labels.starred = *", + // "location": "query", + // "type": "string" + // }, + // "pageSize": { + // "description": "Optional. The standard List page size.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Optional. The standard List page token.", + // "location": "query", + // "type": "string" + // }, + // "projectId": { + // "description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "Required. The Cloud Dataproc region in which to handle the request.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/projects/{projectId}/regions/{region}/clusters", + // "response": { + // "$ref": "ListClustersResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// 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 *ProjectsRegionsClustersListCall) Pages(ctx context.Context, f func(*ListClustersResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "dataproc.projects.regions.clusters.patch": + +type ProjectsRegionsClustersPatchCall struct { + s *Service + projectId string + region string + clusterName string + cluster *Cluster + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates a cluster in a project. +func (r *ProjectsRegionsClustersService) Patch(projectId string, region string, clusterName string, cluster *Cluster) *ProjectsRegionsClustersPatchCall { + c := &ProjectsRegionsClustersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.region = region + c.clusterName = clusterName + c.cluster = cluster + return c +} + +// GracefulDecommissionTimeout sets the optional parameter +// "gracefulDecommissionTimeout": Timeout for graceful YARN +// decomissioning. Graceful decommissioning allows removing nodes from +// the cluster without interrupting jobs in progress. Timeout specifies +// how long to wait for jobs in progress to finish before forcefully +// removing nodes (and potentially interrupting jobs). Default timeout +// is 0 (for forceful decommission), and the maximum allowed timeout is +// 1 day.Only supported on Dataproc image versions 1.2 and higher. +func (c *ProjectsRegionsClustersPatchCall) GracefulDecommissionTimeout(gracefulDecommissionTimeout string) *ProjectsRegionsClustersPatchCall { + c.urlParams_.Set("gracefulDecommissionTimeout", gracefulDecommissionTimeout) + return c +} + +// UpdateMask sets the optional parameter "updateMask": Required. +// Specifies the path, relative to Cluster, of the field to +// update. For example, to change the number of workers in a cluster to +// 5, the update_mask parameter would be specified as +// config.worker_config.num_instances, and the PATCH +// request body would specify the new value, as follows: +// { +// "config":{ +// "workerConfig":{ +// "numInstances":"5" +// } +// } +// } +// Similarly, to change the number of preemptible workers in a cluster +// to 5, the update_mask parameter would be +// config.secondary_worker_config.num_instances, and the +// PATCH request body would be set as follows: +// { +// "config":{ +// "secondaryWorkerConfig":{ +// "numInstances":"5" +// } +// } +// } +// Note: currently only some fields can be updated: +// |Mask|Purpose| |labels|Updates labels| +// |config.worker_config.num_instances|Resize primary worker group| +// |config.secondary_worker_config.num_instances|Resize secondary worker +// group| +func (c *ProjectsRegionsClustersPatchCall) UpdateMask(updateMask string) *ProjectsRegionsClustersPatchCall { + 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 information. +func (c *ProjectsRegionsClustersPatchCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRegionsClustersPatchCall) Context(ctx context.Context) *ProjectsRegionsClustersPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRegionsClustersPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRegionsClustersPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.cluster) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/projects/{projectId}/regions/{region}/clusters/{clusterName}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "region": c.region, + "clusterName": c.clusterName, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.regions.clusters.patch" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsRegionsClustersPatchCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates a cluster in a project.", + // "flatPath": "v1beta2/projects/{projectId}/regions/{region}/clusters/{clusterName}", + // "httpMethod": "PATCH", + // "id": "dataproc.projects.regions.clusters.patch", + // "parameterOrder": [ + // "projectId", + // "region", + // "clusterName" + // ], + // "parameters": { + // "clusterName": { + // "description": "Required. The cluster name.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "gracefulDecommissionTimeout": { + // "description": "Optional. Timeout for graceful YARN decomissioning. Graceful decommissioning allows removing nodes from the cluster without interrupting jobs in progress. Timeout specifies how long to wait for jobs in progress to finish before forcefully removing nodes (and potentially interrupting jobs). Default timeout is 0 (for forceful decommission), and the maximum allowed timeout is 1 day.Only supported on Dataproc image versions 1.2 and higher.", + // "format": "google-duration", + // "location": "query", + // "type": "string" + // }, + // "projectId": { + // "description": "Required. The ID of the Google Cloud Platform project the cluster belongs to.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "Required. The Cloud Dataproc region in which to handle the request.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Required. Specifies the path, relative to \u003ccode\u003eCluster\u003c/code\u003e, of the field to update. For example, to change the number of workers in a cluster to 5, the \u003ccode\u003eupdate_mask\u003c/code\u003e parameter would be specified as \u003ccode\u003econfig.worker_config.num_instances\u003c/code\u003e, and the PATCH request body would specify the new value, as follows:\n{\n \"config\":{\n \"workerConfig\":{\n \"numInstances\":\"5\"\n }\n }\n}\nSimilarly, to change the number of preemptible workers in a cluster to 5, the \u003ccode\u003eupdate_mask\u003c/code\u003e parameter would be \u003ccode\u003econfig.secondary_worker_config.num_instances\u003c/code\u003e, and the PATCH request body would be set as follows:\n{\n \"config\":{\n \"secondaryWorkerConfig\":{\n \"numInstances\":\"5\"\n }\n }\n}\n\u003cstrong\u003eNote:\u003c/strong\u003e currently only some fields can be updated: |Mask|Purpose| |labels|Updates labels| |config.worker_config.num_instances|Resize primary worker group| |config.secondary_worker_config.num_instances|Resize secondary worker group|", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1beta2/projects/{projectId}/regions/{region}/clusters/{clusterName}", + // "request": { + // "$ref": "Cluster" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dataproc.projects.regions.clusters.setIamPolicy": + +type ProjectsRegionsClustersSetIamPolicyCall struct { + s *Service + resource string + setiampolicyrequest *SetIamPolicyRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetIamPolicy: Sets the access control policy on the specified +// resource. Replaces any existing policy. +func (r *ProjectsRegionsClustersService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsRegionsClustersSetIamPolicyCall { + c := &ProjectsRegionsClustersSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.setiampolicyrequest = setiampolicyrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsRegionsClustersSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersSetIamPolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRegionsClustersSetIamPolicyCall) Context(ctx context.Context) *ProjectsRegionsClustersSetIamPolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRegionsClustersSetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRegionsClustersSetIamPolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+resource}:setIamPolicy") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.regions.clusters.setIamPolicy" call. +// Exactly one of *Policy or error will be non-nil. 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 *ProjectsRegionsClustersSetIamPolicyCall) 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, &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, err + } + ret := &Policy{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + // "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}:setIamPolicy", + // "httpMethod": "POST", + // "id": "dataproc.projects.regions.clusters.setIamPolicy", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.", + // "location": "path", + // "pattern": "^projects/[^/]+/regions/[^/]+/clusters/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/{+resource}:setIamPolicy", + // "request": { + // "$ref": "SetIamPolicyRequest" + // }, + // "response": { + // "$ref": "Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dataproc.projects.regions.clusters.testIamPermissions": + +type ProjectsRegionsClustersTestIamPermissionsCall struct { + s *Service + resource string + testiampermissionsrequest *TestIamPermissionsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// TestIamPermissions: Returns permissions that a caller has on the +// specified resource. If the resource does not exist, this will return +// an empty set of permissions, not a NOT_FOUND error.Note: This +// operation is designed to be used for building permission-aware UIs +// and command-line tools, not for authorization checking. This +// operation may "fail open" without warning. +func (r *ProjectsRegionsClustersService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsRegionsClustersTestIamPermissionsCall { + c := &ProjectsRegionsClustersTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.testiampermissionsrequest = testiampermissionsrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsRegionsClustersTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsRegionsClustersTestIamPermissionsCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRegionsClustersTestIamPermissionsCall) Context(ctx context.Context) *ProjectsRegionsClustersTestIamPermissionsCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRegionsClustersTestIamPermissionsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRegionsClustersTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+resource}:testIamPermissions") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.regions.clusters.testIamPermissions" call. +// Exactly one of *TestIamPermissionsResponse or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *TestIamPermissionsResponse.ServerResponse.Header or (if a response +// was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsRegionsClustersTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, 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, &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, err + } + ret := &TestIamPermissionsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + // "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}:testIamPermissions", + // "httpMethod": "POST", + // "id": "dataproc.projects.regions.clusters.testIamPermissions", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.", + // "location": "path", + // "pattern": "^projects/[^/]+/regions/[^/]+/clusters/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/{+resource}:testIamPermissions", + // "request": { + // "$ref": "TestIamPermissionsRequest" + // }, + // "response": { + // "$ref": "TestIamPermissionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dataproc.projects.regions.jobs.cancel": + +type ProjectsRegionsJobsCancelCall struct { + s *Service + projectId string + region string + jobId string + canceljobrequest *CancelJobRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Cancel: Starts a job cancellation request. To access the job resource +// after cancellation, call regions/{region}/jobs.list or +// regions/{region}/jobs.get. +func (r *ProjectsRegionsJobsService) Cancel(projectId string, region string, jobId string, canceljobrequest *CancelJobRequest) *ProjectsRegionsJobsCancelCall { + c := &ProjectsRegionsJobsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.region = region + c.jobId = jobId + c.canceljobrequest = canceljobrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsRegionsJobsCancelCall) Fields(s ...googleapi.Field) *ProjectsRegionsJobsCancelCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRegionsJobsCancelCall) Context(ctx context.Context) *ProjectsRegionsJobsCancelCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRegionsJobsCancelCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRegionsJobsCancelCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceljobrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/projects/{projectId}/regions/{region}/jobs/{jobId}:cancel") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "region": c.region, + "jobId": c.jobId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.regions.jobs.cancel" call. +// Exactly one of *Job or error will be non-nil. Any non-2xx status code +// is an error. Response headers are in either +// *Job.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *ProjectsRegionsJobsCancelCall) Do(opts ...googleapi.CallOption) (*Job, 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, &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, err + } + ret := &Job{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Starts a job cancellation request. To access the job resource after cancellation, call regions/{region}/jobs.list or regions/{region}/jobs.get.", + // "flatPath": "v1beta2/projects/{projectId}/regions/{region}/jobs/{jobId}:cancel", + // "httpMethod": "POST", + // "id": "dataproc.projects.regions.jobs.cancel", + // "parameterOrder": [ + // "projectId", + // "region", + // "jobId" + // ], + // "parameters": { + // "jobId": { + // "description": "Required. The job ID.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "Required. The Cloud Dataproc region in which to handle the request.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/projects/{projectId}/regions/{region}/jobs/{jobId}:cancel", + // "request": { + // "$ref": "CancelJobRequest" + // }, + // "response": { + // "$ref": "Job" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dataproc.projects.regions.jobs.delete": + +type ProjectsRegionsJobsDeleteCall struct { + s *Service + projectId string + region string + jobId string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes the job from the project. If the job is active, the +// delete fails, and the response returns FAILED_PRECONDITION. +func (r *ProjectsRegionsJobsService) Delete(projectId string, region string, jobId string) *ProjectsRegionsJobsDeleteCall { + c := &ProjectsRegionsJobsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.region = region + c.jobId = jobId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsRegionsJobsDeleteCall) Fields(s ...googleapi.Field) *ProjectsRegionsJobsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRegionsJobsDeleteCall) Context(ctx context.Context) *ProjectsRegionsJobsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRegionsJobsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRegionsJobsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/projects/{projectId}/regions/{region}/jobs/{jobId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "region": c.region, + "jobId": c.jobId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.regions.jobs.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsRegionsJobsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes the job from the project. If the job is active, the delete fails, and the response returns FAILED_PRECONDITION.", + // "flatPath": "v1beta2/projects/{projectId}/regions/{region}/jobs/{jobId}", + // "httpMethod": "DELETE", + // "id": "dataproc.projects.regions.jobs.delete", + // "parameterOrder": [ + // "projectId", + // "region", + // "jobId" + // ], + // "parameters": { + // "jobId": { + // "description": "Required. The job ID.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "Required. The Cloud Dataproc region in which to handle the request.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/projects/{projectId}/regions/{region}/jobs/{jobId}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dataproc.projects.regions.jobs.get": + +type ProjectsRegionsJobsGetCall struct { + s *Service + projectId string + region string + jobId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the resource representation for a job in a project. +func (r *ProjectsRegionsJobsService) Get(projectId string, region string, jobId string) *ProjectsRegionsJobsGetCall { + c := &ProjectsRegionsJobsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.region = region + c.jobId = jobId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsRegionsJobsGetCall) Fields(s ...googleapi.Field) *ProjectsRegionsJobsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsRegionsJobsGetCall) IfNoneMatch(entityTag string) *ProjectsRegionsJobsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRegionsJobsGetCall) Context(ctx context.Context) *ProjectsRegionsJobsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRegionsJobsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRegionsJobsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/projects/{projectId}/regions/{region}/jobs/{jobId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "region": c.region, + "jobId": c.jobId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.regions.jobs.get" call. +// Exactly one of *Job or error will be non-nil. Any non-2xx status code +// is an error. Response headers are in either +// *Job.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *ProjectsRegionsJobsGetCall) Do(opts ...googleapi.CallOption) (*Job, 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, &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, err + } + ret := &Job{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the resource representation for a job in a project.", + // "flatPath": "v1beta2/projects/{projectId}/regions/{region}/jobs/{jobId}", + // "httpMethod": "GET", + // "id": "dataproc.projects.regions.jobs.get", + // "parameterOrder": [ + // "projectId", + // "region", + // "jobId" + // ], + // "parameters": { + // "jobId": { + // "description": "Required. The job ID.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "Required. The Cloud Dataproc region in which to handle the request.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/projects/{projectId}/regions/{region}/jobs/{jobId}", + // "response": { + // "$ref": "Job" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dataproc.projects.regions.jobs.list": + +type ProjectsRegionsJobsListCall struct { + s *Service + projectId string + region string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists regions/{region}/jobs in a project. +func (r *ProjectsRegionsJobsService) List(projectId string, region string) *ProjectsRegionsJobsListCall { + c := &ProjectsRegionsJobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.region = region + return c +} + +// ClusterName sets the optional parameter "clusterName": If set, the +// returned jobs list includes only jobs that were submitted to the +// named cluster. +func (c *ProjectsRegionsJobsListCall) ClusterName(clusterName string) *ProjectsRegionsJobsListCall { + c.urlParams_.Set("clusterName", clusterName) + return c +} + +// Filter sets the optional parameter "filter": A filter constraining +// the jobs to list. Filters are case-sensitive and have the following +// syntax:field = value AND field = value ...where field is status.state +// or labels.[KEY], and [KEY] is a label key. value can be * to match +// all values. status.state can be either ACTIVE or INACTIVE. Only the +// logical AND operator is supported; space-separated items are treated +// as having an implicit AND operator.Example filter:status.state = +// ACTIVE AND labels.env = staging AND labels.starred = * +func (c *ProjectsRegionsJobsListCall) Filter(filter string) *ProjectsRegionsJobsListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// JobStateMatcher sets the optional parameter "jobStateMatcher": +// Specifies enumerated categories of jobs to list (default = match ALL +// jobs). +// +// Possible values: +// "ALL" +// "ACTIVE" +// "NON_ACTIVE" +func (c *ProjectsRegionsJobsListCall) JobStateMatcher(jobStateMatcher string) *ProjectsRegionsJobsListCall { + c.urlParams_.Set("jobStateMatcher", jobStateMatcher) + return c +} + +// PageSize sets the optional parameter "pageSize": The number of +// results to return in each response. +func (c *ProjectsRegionsJobsListCall) PageSize(pageSize int64) *ProjectsRegionsJobsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The page token, +// returned by a previous call, to request the next page of results. +func (c *ProjectsRegionsJobsListCall) PageToken(pageToken string) *ProjectsRegionsJobsListCall { + 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 information. +func (c *ProjectsRegionsJobsListCall) Fields(s ...googleapi.Field) *ProjectsRegionsJobsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsRegionsJobsListCall) IfNoneMatch(entityTag string) *ProjectsRegionsJobsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRegionsJobsListCall) Context(ctx context.Context) *ProjectsRegionsJobsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRegionsJobsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRegionsJobsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/projects/{projectId}/regions/{region}/jobs") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "region": c.region, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.regions.jobs.list" call. +// Exactly one of *ListJobsResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListJobsResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsRegionsJobsListCall) Do(opts ...googleapi.CallOption) (*ListJobsResponse, 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, &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, err + } + ret := &ListJobsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists regions/{region}/jobs in a project.", + // "flatPath": "v1beta2/projects/{projectId}/regions/{region}/jobs", + // "httpMethod": "GET", + // "id": "dataproc.projects.regions.jobs.list", + // "parameterOrder": [ + // "projectId", + // "region" + // ], + // "parameters": { + // "clusterName": { + // "description": "Optional. If set, the returned jobs list includes only jobs that were submitted to the named cluster.", + // "location": "query", + // "type": "string" + // }, + // "filter": { + // "description": "Optional. A filter constraining the jobs to list. Filters are case-sensitive and have the following syntax:field = value AND field = value ...where field is status.state or labels.[KEY], and [KEY] is a label key. value can be * to match all values. status.state can be either ACTIVE or INACTIVE. Only the logical AND operator is supported; space-separated items are treated as having an implicit AND operator.Example filter:status.state = ACTIVE AND labels.env = staging AND labels.starred = *", + // "location": "query", + // "type": "string" + // }, + // "jobStateMatcher": { + // "description": "Optional. Specifies enumerated categories of jobs to list (default = match ALL jobs).", + // "enum": [ + // "ALL", + // "ACTIVE", + // "NON_ACTIVE" + // ], + // "location": "query", + // "type": "string" + // }, + // "pageSize": { + // "description": "Optional. The number of results to return in each response.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Optional. The page token, returned by a previous call, to request the next page of results.", + // "location": "query", + // "type": "string" + // }, + // "projectId": { + // "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "Required. The Cloud Dataproc region in which to handle the request.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/projects/{projectId}/regions/{region}/jobs", + // "response": { + // "$ref": "ListJobsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// 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 *ProjectsRegionsJobsListCall) Pages(ctx context.Context, f func(*ListJobsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "dataproc.projects.regions.jobs.patch": + +type ProjectsRegionsJobsPatchCall struct { + s *Service + projectId string + region string + jobId string + job *Job + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates a job in a project. +func (r *ProjectsRegionsJobsService) Patch(projectId string, region string, jobId string, job *Job) *ProjectsRegionsJobsPatchCall { + c := &ProjectsRegionsJobsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.region = region + c.jobId = jobId + c.job = job + return c +} + +// UpdateMask sets the optional parameter "updateMask": Required. +// Specifies the path, relative to Job, of the field to +// update. For example, to update the labels of a Job the +// update_mask parameter would be specified as +// labels, and the PATCH request body would specify the new +// value. Note: Currently, labels is the +// only field that can be updated. +func (c *ProjectsRegionsJobsPatchCall) UpdateMask(updateMask string) *ProjectsRegionsJobsPatchCall { + 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 information. +func (c *ProjectsRegionsJobsPatchCall) Fields(s ...googleapi.Field) *ProjectsRegionsJobsPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRegionsJobsPatchCall) Context(ctx context.Context) *ProjectsRegionsJobsPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRegionsJobsPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRegionsJobsPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.job) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/projects/{projectId}/regions/{region}/jobs/{jobId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "region": c.region, + "jobId": c.jobId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.regions.jobs.patch" call. +// Exactly one of *Job or error will be non-nil. Any non-2xx status code +// is an error. Response headers are in either +// *Job.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *ProjectsRegionsJobsPatchCall) Do(opts ...googleapi.CallOption) (*Job, 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, &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, err + } + ret := &Job{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates a job in a project.", + // "flatPath": "v1beta2/projects/{projectId}/regions/{region}/jobs/{jobId}", + // "httpMethod": "PATCH", + // "id": "dataproc.projects.regions.jobs.patch", + // "parameterOrder": [ + // "projectId", + // "region", + // "jobId" + // ], + // "parameters": { + // "jobId": { + // "description": "Required. The job ID.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "Required. The Cloud Dataproc region in which to handle the request.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Required. Specifies the path, relative to \u003ccode\u003eJob\u003c/code\u003e, of the field to update. For example, to update the labels of a Job the \u003ccode\u003eupdate_mask\u003c/code\u003e parameter would be specified as \u003ccode\u003elabels\u003c/code\u003e, and the PATCH request body would specify the new value. \u003cstrong\u003eNote:\u003c/strong\u003e Currently, \u003ccode\u003elabels\u003c/code\u003e is the only field that can be updated.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1beta2/projects/{projectId}/regions/{region}/jobs/{jobId}", + // "request": { + // "$ref": "Job" + // }, + // "response": { + // "$ref": "Job" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dataproc.projects.regions.jobs.submit": + +type ProjectsRegionsJobsSubmitCall struct { + s *Service + projectId string + region string + submitjobrequest *SubmitJobRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Submit: Submits a job to a cluster. +func (r *ProjectsRegionsJobsService) Submit(projectId string, region string, submitjobrequest *SubmitJobRequest) *ProjectsRegionsJobsSubmitCall { + c := &ProjectsRegionsJobsSubmitCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.region = region + c.submitjobrequest = submitjobrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsRegionsJobsSubmitCall) Fields(s ...googleapi.Field) *ProjectsRegionsJobsSubmitCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRegionsJobsSubmitCall) Context(ctx context.Context) *ProjectsRegionsJobsSubmitCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRegionsJobsSubmitCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRegionsJobsSubmitCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.submitjobrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/projects/{projectId}/regions/{region}/jobs:submit") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "region": c.region, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.regions.jobs.submit" call. +// Exactly one of *Job or error will be non-nil. Any non-2xx status code +// is an error. Response headers are in either +// *Job.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *ProjectsRegionsJobsSubmitCall) Do(opts ...googleapi.CallOption) (*Job, 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, &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, err + } + ret := &Job{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Submits a job to a cluster.", + // "flatPath": "v1beta2/projects/{projectId}/regions/{region}/jobs:submit", + // "httpMethod": "POST", + // "id": "dataproc.projects.regions.jobs.submit", + // "parameterOrder": [ + // "projectId", + // "region" + // ], + // "parameters": { + // "projectId": { + // "description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "Required. The Cloud Dataproc region in which to handle the request.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/projects/{projectId}/regions/{region}/jobs:submit", + // "request": { + // "$ref": "SubmitJobRequest" + // }, + // "response": { + // "$ref": "Job" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dataproc.projects.regions.operations.cancel": + +type ProjectsRegionsOperationsCancelCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Cancel: Starts asynchronous cancellation on a long-running operation. +// The server makes a best effort to cancel the operation, but success +// is not guaranteed. If the server doesn't support this method, it +// returns google.rpc.Code.UNIMPLEMENTED. Clients can use +// Operations.GetOperation or other methods to check whether the +// cancellation succeeded or whether the operation completed despite +// cancellation. On successful cancellation, the operation is not +// deleted; instead, it becomes an operation with an Operation.error +// value with a google.rpc.Status.code of 1, corresponding to +// Code.CANCELLED. +func (r *ProjectsRegionsOperationsService) Cancel(name string) *ProjectsRegionsOperationsCancelCall { + c := &ProjectsRegionsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsRegionsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsRegionsOperationsCancelCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRegionsOperationsCancelCall) Context(ctx context.Context) *ProjectsRegionsOperationsCancelCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRegionsOperationsCancelCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRegionsOperationsCancelCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+name}:cancel") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.regions.operations.cancel" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsRegionsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", + // "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}:cancel", + // "httpMethod": "POST", + // "id": "dataproc.projects.regions.operations.cancel", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the operation resource to be cancelled.", + // "location": "path", + // "pattern": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/{+name}:cancel", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dataproc.projects.regions.operations.delete": + +type ProjectsRegionsOperationsDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a long-running operation. This method indicates that +// the client is no longer interested in the operation result. It does +// not cancel the operation. If the server doesn't support this method, +// it returns google.rpc.Code.UNIMPLEMENTED. +func (r *ProjectsRegionsOperationsService) Delete(name string) *ProjectsRegionsOperationsDeleteCall { + c := &ProjectsRegionsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsRegionsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsRegionsOperationsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRegionsOperationsDeleteCall) Context(ctx context.Context) *ProjectsRegionsOperationsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRegionsOperationsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRegionsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.regions.operations.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsRegionsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED.", + // "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}", + // "httpMethod": "DELETE", + // "id": "dataproc.projects.regions.operations.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the operation resource to be deleted.", + // "location": "path", + // "pattern": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/{+name}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dataproc.projects.regions.operations.get": + +type ProjectsRegionsOperationsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the latest state of a long-running operation. Clients can +// use this method to poll the operation result at intervals as +// recommended by the API service. +func (r *ProjectsRegionsOperationsService) Get(name string) *ProjectsRegionsOperationsGetCall { + c := &ProjectsRegionsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsRegionsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsRegionsOperationsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsRegionsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsRegionsOperationsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRegionsOperationsGetCall) Context(ctx context.Context) *ProjectsRegionsOperationsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRegionsOperationsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRegionsOperationsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.regions.operations.get" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsRegionsOperationsGetCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + // "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}", + // "httpMethod": "GET", + // "id": "dataproc.projects.regions.operations.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the operation resource.", + // "location": "path", + // "pattern": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/{+name}", + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dataproc.projects.regions.operations.list": + +type ProjectsRegionsOperationsListCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists operations that match the specified filter in the +// request. If the server doesn't support this method, it returns +// UNIMPLEMENTED.NOTE: the name binding allows API services to override +// the binding to use different resource name schemes, such as +// users/*/operations. To override the binding, API services can add a +// binding such as "/v1/{name=users/*}/operations" to their service +// configuration. For backwards compatibility, the default name includes +// the operations collection id, however overriding users must ensure +// the name binding is the parent resource, without the operations +// collection id. +func (r *ProjectsRegionsOperationsService) List(name string) *ProjectsRegionsOperationsListCall { + c := &ProjectsRegionsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Filter sets the optional parameter "filter": The standard list +// filter. +func (c *ProjectsRegionsOperationsListCall) Filter(filter string) *ProjectsRegionsOperationsListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// PageSize sets the optional parameter "pageSize": The standard list +// page size. +func (c *ProjectsRegionsOperationsListCall) PageSize(pageSize int64) *ProjectsRegionsOperationsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The standard list +// page token. +func (c *ProjectsRegionsOperationsListCall) PageToken(pageToken string) *ProjectsRegionsOperationsListCall { + 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 information. +func (c *ProjectsRegionsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsRegionsOperationsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsRegionsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsRegionsOperationsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRegionsOperationsListCall) Context(ctx context.Context) *ProjectsRegionsOperationsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRegionsOperationsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRegionsOperationsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.regions.operations.list" call. +// Exactly one of *ListOperationsResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListOperationsResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsRegionsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, 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, &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, err + } + ret := &ListOperationsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: the name binding allows API services to override the binding to use different resource name schemes, such as users/*/operations. To override the binding, API services can add a binding such as \"/v1/{name=users/*}/operations\" to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.", + // "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/operations", + // "httpMethod": "GET", + // "id": "dataproc.projects.regions.operations.list", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "filter": { + // "description": "The standard list filter.", + // "location": "query", + // "type": "string" + // }, + // "name": { + // "description": "The name of the operation's parent resource.", + // "location": "path", + // "pattern": "^projects/[^/]+/regions/[^/]+/operations$", + // "required": true, + // "type": "string" + // }, + // "pageSize": { + // "description": "The standard list page size.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "The standard list page token.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1beta2/{+name}", + // "response": { + // "$ref": "ListOperationsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// 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 *ProjectsRegionsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "dataproc.projects.regions.workflowTemplates.create": + +type ProjectsRegionsWorkflowTemplatesCreateCall struct { + s *Service + parent string + workflowtemplate *WorkflowTemplate + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates new workflow template. +func (r *ProjectsRegionsWorkflowTemplatesService) Create(parent string, workflowtemplate *WorkflowTemplate) *ProjectsRegionsWorkflowTemplatesCreateCall { + c := &ProjectsRegionsWorkflowTemplatesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.workflowtemplate = workflowtemplate + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsRegionsWorkflowTemplatesCreateCall) Fields(s ...googleapi.Field) *ProjectsRegionsWorkflowTemplatesCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRegionsWorkflowTemplatesCreateCall) Context(ctx context.Context) *ProjectsRegionsWorkflowTemplatesCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRegionsWorkflowTemplatesCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRegionsWorkflowTemplatesCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.workflowtemplate) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+parent}/workflowTemplates") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.regions.workflowTemplates.create" call. +// Exactly one of *WorkflowTemplate or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *WorkflowTemplate.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsRegionsWorkflowTemplatesCreateCall) Do(opts ...googleapi.CallOption) (*WorkflowTemplate, 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, &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, err + } + ret := &WorkflowTemplate{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates new workflow template.", + // "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/workflowTemplates", + // "httpMethod": "POST", + // "id": "dataproc.projects.regions.workflowTemplates.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "Required The \"resource name\" of the region, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}", + // "location": "path", + // "pattern": "^projects/[^/]+/regions/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/{+parent}/workflowTemplates", + // "request": { + // "$ref": "WorkflowTemplate" + // }, + // "response": { + // "$ref": "WorkflowTemplate" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dataproc.projects.regions.workflowTemplates.delete": + +type ProjectsRegionsWorkflowTemplatesDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a workflow template. It does not cancel in-progress +// workflows. +func (r *ProjectsRegionsWorkflowTemplatesService) Delete(name string) *ProjectsRegionsWorkflowTemplatesDeleteCall { + c := &ProjectsRegionsWorkflowTemplatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Version sets the optional parameter "version": Optional The version +// of workflow template to delete. If specified, will only delete the +// template if the current server version matches specified version. +func (c *ProjectsRegionsWorkflowTemplatesDeleteCall) Version(version int64) *ProjectsRegionsWorkflowTemplatesDeleteCall { + c.urlParams_.Set("version", fmt.Sprint(version)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsRegionsWorkflowTemplatesDeleteCall) Fields(s ...googleapi.Field) *ProjectsRegionsWorkflowTemplatesDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRegionsWorkflowTemplatesDeleteCall) Context(ctx context.Context) *ProjectsRegionsWorkflowTemplatesDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRegionsWorkflowTemplatesDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRegionsWorkflowTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.regions.workflowTemplates.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsRegionsWorkflowTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes a workflow template. It does not cancel in-progress workflows.", + // "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}", + // "httpMethod": "DELETE", + // "id": "dataproc.projects.regions.workflowTemplates.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required The \"resource name\" of the workflow template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id}", + // "location": "path", + // "pattern": "^projects/[^/]+/regions/[^/]+/workflowTemplates/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "version": { + // "description": "Optional The version of workflow template to delete. If specified, will only delete the template if the current server version matches specified version.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // } + // }, + // "path": "v1beta2/{+name}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dataproc.projects.regions.workflowTemplates.get": + +type ProjectsRegionsWorkflowTemplatesGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Retrieves the latest workflow template.Can retrieve previously +// instantiated template by specifying optional version parameter. +func (r *ProjectsRegionsWorkflowTemplatesService) Get(name string) *ProjectsRegionsWorkflowTemplatesGetCall { + c := &ProjectsRegionsWorkflowTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Version sets the optional parameter "version": Optional The version +// of workflow template to retrieve. Only previously instatiated +// versions can be retrieved.If unspecified, retrieves the current +// version. +func (c *ProjectsRegionsWorkflowTemplatesGetCall) Version(version int64) *ProjectsRegionsWorkflowTemplatesGetCall { + c.urlParams_.Set("version", fmt.Sprint(version)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsRegionsWorkflowTemplatesGetCall) Fields(s ...googleapi.Field) *ProjectsRegionsWorkflowTemplatesGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsRegionsWorkflowTemplatesGetCall) IfNoneMatch(entityTag string) *ProjectsRegionsWorkflowTemplatesGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRegionsWorkflowTemplatesGetCall) Context(ctx context.Context) *ProjectsRegionsWorkflowTemplatesGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRegionsWorkflowTemplatesGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRegionsWorkflowTemplatesGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.regions.workflowTemplates.get" call. +// Exactly one of *WorkflowTemplate or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *WorkflowTemplate.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsRegionsWorkflowTemplatesGetCall) Do(opts ...googleapi.CallOption) (*WorkflowTemplate, 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, &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, err + } + ret := &WorkflowTemplate{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Retrieves the latest workflow template.Can retrieve previously instantiated template by specifying optional version parameter.", + // "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}", + // "httpMethod": "GET", + // "id": "dataproc.projects.regions.workflowTemplates.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required The \"resource name\" of the workflow template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id}", + // "location": "path", + // "pattern": "^projects/[^/]+/regions/[^/]+/workflowTemplates/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "version": { + // "description": "Optional The version of workflow template to retrieve. Only previously instatiated versions can be retrieved.If unspecified, retrieves the current version.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // } + // }, + // "path": "v1beta2/{+name}", + // "response": { + // "$ref": "WorkflowTemplate" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dataproc.projects.regions.workflowTemplates.instantiate": + +type ProjectsRegionsWorkflowTemplatesInstantiateCall struct { + s *Service + name string + instantiateworkflowtemplaterequest *InstantiateWorkflowTemplateRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Instantiate: Instantiates a template and begins execution.The +// returned Operation can be used to track execution of workflow by +// polling google.cloud.dataproc.v1beta2.OperationService.GetOperation. +// The Operation will complete when entire workflow is finished.The +// running workflow can be aborted via +// google.cloud.dataproc.v1beta2.OperationService.CancelOperation.The +// google.cloud.dataproc.v1beta2.Operation.metadata will always be +// google.cloud.dataproc.v1beta2.WorkflowMetadata.The +// google.cloud.dataproc.v1beta2.Operation.result will always be +// google.protobuf.Empty. +func (r *ProjectsRegionsWorkflowTemplatesService) Instantiate(name string, instantiateworkflowtemplaterequest *InstantiateWorkflowTemplateRequest) *ProjectsRegionsWorkflowTemplatesInstantiateCall { + c := &ProjectsRegionsWorkflowTemplatesInstantiateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.instantiateworkflowtemplaterequest = instantiateworkflowtemplaterequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsRegionsWorkflowTemplatesInstantiateCall) Fields(s ...googleapi.Field) *ProjectsRegionsWorkflowTemplatesInstantiateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRegionsWorkflowTemplatesInstantiateCall) Context(ctx context.Context) *ProjectsRegionsWorkflowTemplatesInstantiateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRegionsWorkflowTemplatesInstantiateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRegionsWorkflowTemplatesInstantiateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.instantiateworkflowtemplaterequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+name}:instantiate") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.regions.workflowTemplates.instantiate" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsRegionsWorkflowTemplatesInstantiateCall) 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, &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, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Instantiates a template and begins execution.The returned Operation can be used to track execution of workflow by polling google.cloud.dataproc.v1beta2.OperationService.GetOperation. The Operation will complete when entire workflow is finished.The running workflow can be aborted via google.cloud.dataproc.v1beta2.OperationService.CancelOperation.The google.cloud.dataproc.v1beta2.Operation.metadata will always be google.cloud.dataproc.v1beta2.WorkflowMetadata.The google.cloud.dataproc.v1beta2.Operation.result will always be google.protobuf.Empty.", + // "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}:instantiate", + // "httpMethod": "POST", + // "id": "dataproc.projects.regions.workflowTemplates.instantiate", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required The \"resource name\" of the workflow template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id}", + // "location": "path", + // "pattern": "^projects/[^/]+/regions/[^/]+/workflowTemplates/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/{+name}:instantiate", + // "request": { + // "$ref": "InstantiateWorkflowTemplateRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dataproc.projects.regions.workflowTemplates.list": + +type ProjectsRegionsWorkflowTemplatesListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists workflows that match the specified filter in the request. +func (r *ProjectsRegionsWorkflowTemplatesService) List(parent string) *ProjectsRegionsWorkflowTemplatesListCall { + c := &ProjectsRegionsWorkflowTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": Optional The maximum +// number of results to return in each response. +func (c *ProjectsRegionsWorkflowTemplatesListCall) PageSize(pageSize int64) *ProjectsRegionsWorkflowTemplatesListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": Optional The page +// token, returned by a previous call, to request the next page of +// results. +func (c *ProjectsRegionsWorkflowTemplatesListCall) PageToken(pageToken string) *ProjectsRegionsWorkflowTemplatesListCall { + 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 information. +func (c *ProjectsRegionsWorkflowTemplatesListCall) Fields(s ...googleapi.Field) *ProjectsRegionsWorkflowTemplatesListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsRegionsWorkflowTemplatesListCall) IfNoneMatch(entityTag string) *ProjectsRegionsWorkflowTemplatesListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRegionsWorkflowTemplatesListCall) Context(ctx context.Context) *ProjectsRegionsWorkflowTemplatesListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRegionsWorkflowTemplatesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRegionsWorkflowTemplatesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+parent}/workflowTemplates") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.regions.workflowTemplates.list" call. +// Exactly one of *ListWorkflowTemplatesResponse or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *ListWorkflowTemplatesResponse.ServerResponse.Header or (if a +// response was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsRegionsWorkflowTemplatesListCall) Do(opts ...googleapi.CallOption) (*ListWorkflowTemplatesResponse, 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, &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, err + } + ret := &ListWorkflowTemplatesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists workflows that match the specified filter in the request.", + // "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/workflowTemplates", + // "httpMethod": "GET", + // "id": "dataproc.projects.regions.workflowTemplates.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "pageSize": { + // "description": "Optional The maximum number of results to return in each response.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Optional The page token, returned by a previous call, to request the next page of results.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required The \"resource name\" of the region, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}", + // "location": "path", + // "pattern": "^projects/[^/]+/regions/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/{+parent}/workflowTemplates", + // "response": { + // "$ref": "ListWorkflowTemplatesResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// 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 *ProjectsRegionsWorkflowTemplatesListCall) Pages(ctx context.Context, f func(*ListWorkflowTemplatesResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "dataproc.projects.regions.workflowTemplates.update": + +type ProjectsRegionsWorkflowTemplatesUpdateCall struct { + s *Service + name string + workflowtemplate *WorkflowTemplate + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Update: Updates (replaces) workflow template. The updated template +// must contain version that matches the current server version. +func (r *ProjectsRegionsWorkflowTemplatesService) Update(name string, workflowtemplate *WorkflowTemplate) *ProjectsRegionsWorkflowTemplatesUpdateCall { + c := &ProjectsRegionsWorkflowTemplatesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.workflowtemplate = workflowtemplate + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsRegionsWorkflowTemplatesUpdateCall) Fields(s ...googleapi.Field) *ProjectsRegionsWorkflowTemplatesUpdateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRegionsWorkflowTemplatesUpdateCall) Context(ctx context.Context) *ProjectsRegionsWorkflowTemplatesUpdateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRegionsWorkflowTemplatesUpdateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRegionsWorkflowTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.workflowtemplate) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PUT", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dataproc.projects.regions.workflowTemplates.update" call. +// Exactly one of *WorkflowTemplate or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *WorkflowTemplate.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsRegionsWorkflowTemplatesUpdateCall) Do(opts ...googleapi.CallOption) (*WorkflowTemplate, 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, &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, err + } + ret := &WorkflowTemplate{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates (replaces) workflow template. The updated template must contain version that matches the current server version.", + // "flatPath": "v1beta2/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}", + // "httpMethod": "PUT", + // "id": "dataproc.projects.regions.workflowTemplates.update", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Output-only The \"resource name\" of the template, as described in https://cloud.google.com/apis/design/resource_names of the form projects/{project_id}/regions/{region}/workflowTemplates/{template_id}", + // "location": "path", + // "pattern": "^projects/[^/]+/regions/[^/]+/workflowTemplates/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/{+name}", + // "request": { + // "$ref": "WorkflowTemplate" + // }, + // "response": { + // "$ref": "WorkflowTemplate" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} diff --git a/vendor/google.golang.org/api/datastore/v1/datastore-api.json b/vendor/google.golang.org/api/datastore/v1/datastore-api.json index 553e0d964..78a9b419b 100644 --- a/vendor/google.golang.org/api/datastore/v1/datastore-api.json +++ b/vendor/google.golang.org/api/datastore/v1/datastore-api.json @@ -1,39 +1,9 @@ { + "version_module": true, "resources": { "projects": { "methods": { - "commit": { - "request": { - "$ref": "CommitRequest" - }, - "description": "Commits a transaction, optionally creating, deleting or modifying some\nentities.", - "response": { - "$ref": "CommitResponse" - }, - "parameterOrder": [ - "projectId" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/datastore" - ], - "parameters": { - "projectId": { - "location": "path", - "description": "The ID of the project against which to make the request.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/projects/{projectId}:commit", - "id": "datastore.projects.commit", - "path": "v1/projects/{projectId}:commit" - }, "beginTransaction": { - "flatPath": "v1/projects/{projectId}:beginTransaction", - "id": "datastore.projects.beginTransaction", - "path": "v1/projects/{projectId}:beginTransaction", "description": "Begins a new transaction.", "request": { "$ref": "BeginTransactionRequest" @@ -47,18 +17,53 @@ "httpMethod": "POST", "parameters": { "projectId": { - "location": "path", "description": "The ID of the project against which to make the request.", "type": "string", - "required": true + "required": true, + "location": "path" } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/datastore" - ] + ], + "flatPath": "v1/projects/{projectId}:beginTransaction", + "id": "datastore.projects.beginTransaction", + "path": "v1/projects/{projectId}:beginTransaction" + }, + "commit": { + "response": { + "$ref": "CommitResponse" + }, + "parameterOrder": [ + "projectId" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/datastore" + ], + "parameters": { + "projectId": { + "description": "The ID of the project against which to make the request.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/projects/{projectId}:commit", + "id": "datastore.projects.commit", + "path": "v1/projects/{projectId}:commit", + "request": { + "$ref": "CommitRequest" + }, + "description": "Commits a transaction, optionally creating, deleting or modifying some\nentities." }, "runQuery": { + "request": { + "$ref": "RunQueryRequest" + }, + "description": "Queries for entities.", "response": { "$ref": "RunQueryResponse" }, @@ -66,6 +71,62 @@ "projectId" ], "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/datastore" + ], + "parameters": { + "projectId": { + "description": "The ID of the project against which to make the request.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/projects/{projectId}:runQuery", + "id": "datastore.projects.runQuery", + "path": "v1/projects/{projectId}:runQuery" + }, + "rollback": { + "flatPath": "v1/projects/{projectId}:rollback", + "id": "datastore.projects.rollback", + "path": "v1/projects/{projectId}:rollback", + "request": { + "$ref": "RollbackRequest" + }, + "description": "Rolls back a transaction.", + "response": { + "$ref": "RollbackResponse" + }, + "parameterOrder": [ + "projectId" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/datastore" + ], + "parameters": { + "projectId": { + "location": "path", + "description": "The ID of the project against which to make the request.", + "type": "string", + "required": true + } + } + }, + "lookup": { + "description": "Looks up entities by key.", + "request": { + "$ref": "LookupRequest" + }, + "response": { + "$ref": "LookupResponse" + }, + "parameterOrder": [ + "projectId" + ], + "httpMethod": "POST", "parameters": { "projectId": { "location": "path", @@ -78,71 +139,13 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/datastore" ], - "flatPath": "v1/projects/{projectId}:runQuery", - "id": "datastore.projects.runQuery", - "path": "v1/projects/{projectId}:runQuery", - "description": "Queries for entities.", - "request": { - "$ref": "RunQueryRequest" - } - }, - "rollback": { - "httpMethod": "POST", - "parameterOrder": [ - "projectId" - ], - "response": { - "$ref": "RollbackResponse" - }, - "parameters": { - "projectId": { - "description": "The ID of the project against which to make the request.", - "type": "string", - "required": true, - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/datastore" - ], - "flatPath": "v1/projects/{projectId}:rollback", - "path": "v1/projects/{projectId}:rollback", - "id": "datastore.projects.rollback", - "description": "Rolls back a transaction.", - "request": { - "$ref": "RollbackRequest" - } - }, - "lookup": { - "request": { - "$ref": "LookupRequest" - }, - "description": "Looks up entities by key.", - "httpMethod": "POST", - "parameterOrder": [ - "projectId" - ], - "response": { - "$ref": "LookupResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/datastore" - ], - "parameters": { - "projectId": { - "description": "The ID of the project against which to make the request.", - "type": "string", - "required": true, - "location": "path" - } - }, "flatPath": "v1/projects/{projectId}:lookup", - "path": "v1/projects/{projectId}:lookup", - "id": "datastore.projects.lookup" + "id": "datastore.projects.lookup", + "path": "v1/projects/{projectId}:lookup" }, "allocateIds": { + "id": "datastore.projects.allocateIds", + "path": "v1/projects/{projectId}:allocateIds", "request": { "$ref": "AllocateIdsRequest" }, @@ -166,9 +169,133 @@ "location": "path" } }, - "flatPath": "v1/projects/{projectId}:allocateIds", - "id": "datastore.projects.allocateIds", - "path": "v1/projects/{projectId}:allocateIds" + "flatPath": "v1/projects/{projectId}:allocateIds" + } + }, + "resources": { + "operations": { + "methods": { + "cancel": { + "id": "datastore.projects.operations.cancel", + "path": "v1/{+name}:cancel", + "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/datastore" + ], + "parameters": { + "name": { + "location": "path", + "description": "The name of the operation resource to be cancelled.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/operations/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/operations/{operationsId}:cancel" + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.", + "httpMethod": "DELETE", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/operations/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/datastore" + ], + "flatPath": "v1/projects/{projectsId}/operations/{operationsId}", + "path": "v1/{+name}", + "id": "datastore.projects.operations.delete" + }, + "get": { + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/datastore" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/operations/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/operations/{operationsId}", + "id": "datastore.projects.operations.get", + "path": "v1/{+name}", + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice." + }, + "list": { + "id": "datastore.projects.operations.list", + "path": "v1/{+name}/operations", + "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "filter": { + "location": "query", + "description": "The standard list filter.", + "type": "string" + }, + "pageToken": { + "description": "The standard list page token.", + "type": "string", + "location": "query" + }, + "name": { + "description": "The name of the operation's parent resource.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + }, + "pageSize": { + "format": "int32", + "description": "The standard list page size.", + "type": "integer", + "location": "query" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/datastore" + ], + "flatPath": "v1/projects/{projectsId}/operations" + } + } } } } @@ -186,9 +313,9 @@ "type": "boolean" }, "fields": { + "location": "query", "description": "Selector specifying which fields to include in a partial response.", - "type": "string", - "location": "query" + "type": "string" }, "uploadType": { "location": "query", @@ -196,13 +323,11 @@ "type": "string" }, "callback": { - "location": "query", "description": "JSONP", - "type": "string" + "type": "string", + "location": "query" }, "$.xgafv": { - "description": "V1 error format.", - "type": "string", "enumDescriptions": [ "v1 error format", "v2 error format" @@ -211,15 +336,11 @@ "enum": [ "1", "2" - ] + ], + "description": "V1 error format.", + "type": "string" }, "alt": { - "enum": [ - "json", - "media", - "proto" - ], - "type": "string", "enumDescriptions": [ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", @@ -227,28 +348,34 @@ ], "location": "query", "description": "Data format for response.", - "default": "json" + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", + "location": "query" }, "access_token": { "description": "OAuth access token.", "type": "string", "location": "query" }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, "quotaUser": { "location": "query", "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", "type": "string" }, "pp": { - "location": "query", "description": "Pretty-print response.", "default": "true", - "type": "boolean" + "type": "boolean", + "location": "query" }, "oauth_token": { "location": "query", @@ -256,27 +383,176 @@ "type": "string" }, "bearer_token": { + "location": "query", "description": "OAuth bearer token.", - "type": "string", - "location": "query" + "type": "string" } }, "schemas": { + "Mutation": { + "description": "A mutation to apply to an entity.", + "type": "object", + "properties": { + "delete": { + "description": "The key of the entity to delete. The entity may or may not already exist.\nMust have a complete key path and must not be reserved/read-only.", + "$ref": "Key" + }, + "baseVersion": { + "format": "int64", + "description": "The version of the entity that this mutation is being applied to. If this\ndoes not match the current version on the server, the mutation conflicts.", + "type": "string" + }, + "insert": { + "description": "The entity to insert. The entity must not already exist.\nThe entity key's final path element may be incomplete.", + "$ref": "Entity" + }, + "update": { + "$ref": "Entity", + "description": "The entity to update. The entity must already exist.\nMust have a complete key path." + }, + "upsert": { + "description": "The entity to upsert. The entity may or may not already exist.\nThe entity key's final path element may be incomplete.", + "$ref": "Entity" + } + }, + "id": "Mutation" + }, + "ReadOptions": { + "description": "The options shared by read requests.", + "type": "object", + "properties": { + "transaction": { + "format": "byte", + "description": "The identifier of the transaction in which to read. A\ntransaction identifier is returned by a call to\nDatastore.BeginTransaction.", + "type": "string" + }, + "readConsistency": { + "enumDescriptions": [ + "Unspecified. This value must not be used.", + "Strong consistency.", + "Eventual consistency." + ], + "enum": [ + "READ_CONSISTENCY_UNSPECIFIED", + "STRONG", + "EVENTUAL" + ], + "description": "The non-transactional read consistency to use.\nCannot be set to `STRONG` for global queries.", + "type": "string" + } + }, + "id": "ReadOptions" + }, + "GoogleDatastoreAdminV1beta1ExportEntitiesResponse": { + "description": "The response for\ngoogle.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities.", + "type": "object", + "properties": { + "outputUrl": { + "description": "Location of the output metadata file. This can be used to begin an import\ninto Cloud Datastore (this project or another project). See\ngoogle.datastore.admin.v1beta1.ImportEntitiesRequest.input_url.\nOnly present if the operation completed successfully.", + "type": "string" + } + }, + "id": "GoogleDatastoreAdminV1beta1ExportEntitiesResponse" + }, + "RollbackResponse": { + "description": "The response for Datastore.Rollback.\n(an empty message).", + "type": "object", + "properties": {}, + "id": "RollbackResponse" + }, + "MutationResult": { + "description": "The result of applying a mutation.", + "type": "object", + "properties": { + "version": { + "format": "int64", + "description": "The version of the entity on the server after processing the mutation. If\nthe mutation doesn't change anything on the server, then the version will\nbe the version of the current entity or, if no entity is present, a version\nthat is strictly greater than the version of any previous entity and less\nthan the version of any possible future entity.", + "type": "string" + }, + "conflictDetected": { + "description": "Whether a conflict was detected for this mutation. Always false when a\nconflict detection strategy field is not set in the mutation.", + "type": "boolean" + }, + "key": { + "description": "The automatically allocated key.\nSet only when the mutation allocated a key.", + "$ref": "Key" + } + }, + "id": "MutationResult" + }, + "GqlQuery": { + "description": "A [GQL query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).", + "type": "object", + "properties": { + "queryString": { + "description": "A string of the format described\n[here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).", + "type": "string" + }, + "positionalBindings": { + "description": "Numbered binding site @1 references the first numbered parameter,\neffectively using 1-based indexing, rather than the usual 0.\n\nFor each binding site numbered i in `query_string`, there must be an i-th\nnumbered parameter. The inverse must also be true.", + "items": { + "$ref": "GqlQueryParameter" + }, + "type": "array" + }, + "namedBindings": { + "additionalProperties": { + "$ref": "GqlQueryParameter" + }, + "description": "For each non-reserved named binding site in the query string, there must be\na named parameter with that name, but not necessarily the inverse.\n\nKey must match regex `A-Za-z_$*`, must not match regex\n`__.*__`, and must not be `\"\"`.", + "type": "object" + }, + "allowLiterals": { + "description": "When false, the query string must not contain any literals and instead must\nbind all values. For example,\n`SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while\n`SELECT * FROM Kind WHERE a = @value` is.", + "type": "boolean" + } + }, + "id": "GqlQuery" + }, "Filter": { + "description": "A holder for any type of filter.", + "type": "object", "properties": { "compositeFilter": { - "$ref": "CompositeFilter", - "description": "A composite filter." + "description": "A composite filter.", + "$ref": "CompositeFilter" }, "propertyFilter": { "$ref": "PropertyFilter", "description": "A filter on a property." } }, - "id": "Filter", - "description": "A holder for any type of filter.", + "id": "Filter" + }, + "RunQueryRequest": { + "properties": { + "readOptions": { + "$ref": "ReadOptions", + "description": "The options for this query." + }, + "query": { + "description": "The query to run.", + "$ref": "Query" + }, + "gqlQuery": { + "description": "The GQL query to run.", + "$ref": "GqlQuery" + }, + "partitionId": { + "description": "Entities are partitioned into subsets, identified by a partition ID.\nQueries are scoped to a single partition.\nThis partition ID is normalized with the standard default context\npartition ID.", + "$ref": "PartitionId" + } + }, + "id": "RunQueryRequest", + "description": "The request for Datastore.RunQuery.", "type": "object" }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object", + "properties": {}, + "id": "Empty" + }, "RollbackRequest": { "description": "The request for Datastore.Rollback.", "type": "object", @@ -289,28 +565,47 @@ }, "id": "RollbackRequest" }, - "RunQueryRequest": { + "GoogleDatastoreAdminV1beta1ExportEntitiesMetadata": { + "description": "Metadata for ExportEntities operations.", + "type": "object", "properties": { - "gqlQuery": { - "$ref": "GqlQuery", - "description": "The GQL query to run." + "progressBytes": { + "$ref": "GoogleDatastoreAdminV1beta1Progress", + "description": "An estimate of the number of bytes processed." }, - "partitionId": { - "$ref": "PartitionId", - "description": "Entities are partitioned into subsets, identified by a partition ID.\nQueries are scoped to a single partition.\nThis partition ID is normalized with the standard default context\npartition ID." + "outputUrlPrefix": { + "description": "Location for the export metadata and data files. This will be the same\nvalue as the\ngoogle.datastore.admin.v1beta1.ExportEntitiesRequest.output_url_prefix\nfield. The final output location is provided in\ngoogle.datastore.admin.v1beta1.ExportEntitiesResponse.output_url.", + "type": "string" }, - "readOptions": { - "$ref": "ReadOptions", - "description": "The options for this query." + "entityFilter": { + "description": "Description of which entities are being exported.", + "$ref": "GoogleDatastoreAdminV1beta1EntityFilter" }, - "query": { - "description": "The query to run.", - "$ref": "Query" + "progressEntities": { + "$ref": "GoogleDatastoreAdminV1beta1Progress", + "description": "An estimate of the number of entities processed." + }, + "common": { + "description": "Metadata common to all Datastore Admin operations.", + "$ref": "GoogleDatastoreAdminV1beta1CommonMetadata" } }, - "id": "RunQueryRequest", - "description": "The request for Datastore.RunQuery.", - "type": "object" + "id": "GoogleDatastoreAdminV1beta1ExportEntitiesMetadata" + }, + "TransactionOptions": { + "description": "Options for beginning a new transaction.\n\nTransactions can be created explicitly with calls to\nDatastore.BeginTransaction or implicitly by setting\nReadOptions.new_transaction in read requests.", + "type": "object", + "properties": { + "readOnly": { + "description": "The transaction should only allow reads.", + "$ref": "ReadOnly" + }, + "readWrite": { + "description": "The transaction should allow both reads and writes.", + "$ref": "ReadWrite" + } + }, + "id": "TransactionOptions" }, "CompositeFilter": { "description": "A filter that merges multiple other filters using the given operator.", @@ -324,21 +619,50 @@ "type": "array" }, "op": { - "enumDescriptions": [ - "Unspecified. This value must not be used.", - "The results are required to satisfy each of the combined filters." - ], "enum": [ "OPERATOR_UNSPECIFIED", "AND" ], "description": "The operator for combining multiple filters.", - "type": "string" + "type": "string", + "enumDescriptions": [ + "Unspecified. This value must not be used.", + "The results are required to satisfy each of the combined filters." + ] } }, "id": "CompositeFilter" }, + "GoogleDatastoreAdminV1beta1ImportEntitiesMetadata": { + "description": "Metadata for ImportEntities operations.", + "type": "object", + "properties": { + "common": { + "description": "Metadata common to all Datastore Admin operations.", + "$ref": "GoogleDatastoreAdminV1beta1CommonMetadata" + }, + "inputUrl": { + "description": "The location of the import metadata file. This will be the same value as\nthe google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url\nfield.", + "type": "string" + }, + "progressBytes": { + "description": "An estimate of the number of bytes processed.", + "$ref": "GoogleDatastoreAdminV1beta1Progress" + }, + "entityFilter": { + "description": "Description of which entities are being imported.", + "$ref": "GoogleDatastoreAdminV1beta1EntityFilter" + }, + "progressEntities": { + "description": "An estimate of the number of entities processed.", + "$ref": "GoogleDatastoreAdminV1beta1Progress" + } + }, + "id": "GoogleDatastoreAdminV1beta1ImportEntitiesMetadata" + }, "AllocateIdsResponse": { + "description": "The response for Datastore.AllocateIds.", + "type": "object", "properties": { "keys": { "description": "The keys specified in the request (in the same order), each with\nits key path completed with a newly allocated ID.", @@ -348,14 +672,26 @@ "type": "array" } }, - "id": "AllocateIdsResponse", - "description": "The response for Datastore.AllocateIds.", - "type": "object" + "id": "AllocateIdsResponse" }, "Query": { "description": "A query for entities.", "type": "object", "properties": { + "kind": { + "description": "The kinds to query (if empty, returns entities of all kinds).\nCurrently at most 1 kind may be specified.", + "items": { + "$ref": "KindExpression" + }, + "type": "array" + }, + "distinctOn": { + "description": "The properties to make distinct. The query results will contain the first\nresult for each distinct combination of values for the given properties\n(if empty, all results are returned).", + "items": { + "$ref": "PropertyReference" + }, + "type": "array" + }, "order": { "description": "The order to apply to the query results (if empty, order is unspecified).", "items": { @@ -393,37 +729,73 @@ "format": "byte", "description": "A starting point for the query results. Query cursors are\nreturned in query result batches and\n[can only be used to continue the same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).", "type": "string" - }, - "kind": { - "description": "The kinds to query (if empty, returns entities of all kinds).\nCurrently at most 1 kind may be specified.", - "items": { - "$ref": "KindExpression" - }, - "type": "array" - }, - "distinctOn": { - "description": "The properties to make distinct. The query results will contain the first\nresult for each distinct combination of values for the given properties\n(if empty, all results are returned).", - "items": { - "$ref": "PropertyReference" - }, - "type": "array" } }, "id": "Query" }, + "GoogleLongrunningOperation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "type": "object", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`.", + "type": "string" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + } + }, + "id": "GoogleLongrunningOperation" + }, + "ReadOnly": { + "description": "Options specific to read-only transactions.", + "type": "object", + "properties": {}, + "id": "ReadOnly" + }, "PropertyFilter": { "description": "A filter on a specific property.", "type": "object", "properties": { "value": { - "description": "The value to compare the property to.", - "$ref": "Value" + "$ref": "Value", + "description": "The value to compare the property to." }, "property": { "$ref": "PropertyReference", "description": "The property to filter by." }, "op": { + "enumDescriptions": [ + "Unspecified. This value must not be used.", + "Less than.", + "Less than or equal.", + "Greater than.", + "Greater than or equal.", + "Equal.", + "Has ancestor." + ], "enum": [ "OPERATOR_UNSPECIFIED", "LESS_THAN", @@ -434,16 +806,7 @@ "HAS_ANCESTOR" ], "description": "The operator to filter by.", - "type": "string", - "enumDescriptions": [ - "Unspecified. This value must not be used.", - "Less than.", - "Less than or equal.", - "Greater than.", - "Greater than or equal.", - "Equal.", - "Has ancestor." - ] + "type": "string" } }, "id": "PropertyFilter" @@ -470,28 +833,9 @@ "id": "EntityResult" }, "Value": { + "description": "A message that can hold any of the supported value types and associated\nmetadata.", + "type": "object", "properties": { - "entityValue": { - "$ref": "Entity", - "description": "An entity value.\n\n- May have no key.\n- May have a key with an incomplete key path.\n- May have a reserved/read-only key." - }, - "geoPointValue": { - "$ref": "LatLng", - "description": "A geo point value representing a point on the surface of Earth." - }, - "integerValue": { - "format": "int64", - "description": "An integer value.", - "type": "string" - }, - "keyValue": { - "description": "A key value.", - "$ref": "Key" - }, - "stringValue": { - "description": "A UTF-8 encoded string value.\nWhen `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.\nOtherwise, may be set to at least 1,000,000 bytes.", - "type": "string" - }, "excludeFromIndexes": { "description": "If the value should be excluded from all indexes including those defined\nexplicitly.", "type": "boolean" @@ -506,19 +850,19 @@ "description": "A timestamp value.\nWhen stored in the Datastore, precise only to microseconds;\nany additional precision is rounded down.", "type": "string" }, - "booleanValue": { - "description": "A boolean value.", - "type": "boolean" - }, "nullValue": { - "enumDescriptions": [ - "Null value." - ], "enum": [ "NULL_VALUE" ], "description": "A null value.", - "type": "string" + "type": "string", + "enumDescriptions": [ + "Null value." + ] + }, + "booleanValue": { + "description": "A boolean value.", + "type": "boolean" }, "blobValue": { "format": "byte", @@ -531,13 +875,32 @@ "type": "integer" }, "arrayValue": { - "$ref": "ArrayValue", - "description": "An array value.\nCannot contain another array value.\nA `Value` instance that sets field `array_value` must not set fields\n`meaning` or `exclude_from_indexes`." + "description": "An array value.\nCannot contain another array value.\nA `Value` instance that sets field `array_value` must not set fields\n`meaning` or `exclude_from_indexes`.", + "$ref": "ArrayValue" + }, + "entityValue": { + "description": "An entity value.\n\n- May have no key.\n- May have a key with an incomplete key path.\n- May have a reserved/read-only key.", + "$ref": "Entity" + }, + "geoPointValue": { + "description": "A geo point value representing a point on the surface of Earth.", + "$ref": "LatLng" + }, + "integerValue": { + "format": "int64", + "description": "An integer value.", + "type": "string" + }, + "keyValue": { + "description": "A key value.", + "$ref": "Key" + }, + "stringValue": { + "description": "A UTF-8 encoded string value.\nWhen `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.\nOtherwise, may be set to at least 1,000,000 bytes.", + "type": "string" } }, - "id": "Value", - "description": "A message that can hold any of the supported value types and associated\nmetadata.", - "type": "object" + "id": "Value" }, "CommitResponse": { "description": "The response for Datastore.Commit.", @@ -562,69 +925,68 @@ "description": "A partition ID identifies a grouping of entities. The grouping is always\nby project and namespace, however the namespace ID may be empty.\n\nA partition ID contains several dimensions:\nproject ID and namespace ID.\n\nPartition dimensions:\n\n- May be `\"\"`.\n- Must be valid UTF-8 bytes.\n- Must have values that match regex `[A-Za-z\\d\\.\\-_]{1,100}`\nIf the value of any dimension matches regex `__.*__`, the partition is\nreserved/read-only.\nA reserved/read-only partition ID is forbidden in certain documented\ncontexts.\n\nForeign partition IDs (in which the project ID does\nnot match the context project ID ) are discouraged.\nReads and writes of foreign partition IDs may fail if the project is not in an active state.", "type": "object", "properties": { - "namespaceId": { - "description": "If not empty, the ID of the namespace to which the entities belong.", - "type": "string" - }, "projectId": { "description": "The ID of the project to which the entities belong.", "type": "string" + }, + "namespaceId": { + "description": "If not empty, the ID of the namespace to which the entities belong.", + "type": "string" } }, "id": "PartitionId" }, + "ReadWrite": { + "description": "Options specific to read / write transactions.", + "type": "object", + "properties": { + "previousTransaction": { + "format": "byte", + "description": "The transaction identifier of the transaction being retried.", + "type": "string" + } + }, + "id": "ReadWrite" + }, "Entity": { "properties": { + "key": { + "description": "The entity's key.\n\nAn entity must have a key, unless otherwise documented (for example,\nan entity in `Value.entity_value` may have no key).\nAn entity's kind is its key path's last element's kind,\nor null if it has no key.", + "$ref": "Key" + }, "properties": { "additionalProperties": { "$ref": "Value" }, "description": "The entity's properties.\nThe map's keys are property names.\nA property name matching regex `__.*__` is reserved.\nA reserved property name is forbidden in certain documented contexts.\nThe name must not contain more than 500 characters.\nThe name cannot be `\"\"`.", "type": "object" - }, - "key": { - "description": "The entity's key.\n\nAn entity must have a key, unless otherwise documented (for example,\nan entity in `Value.entity_value` may have no key).\nAn entity's kind is its key path's last element's kind,\nor null if it has no key.", - "$ref": "Key" } }, "id": "Entity", "description": "A Datastore data object.\n\nAn entity is limited to 1 megabyte when stored. That _roughly_\ncorresponds to a limit of 1 megabyte for the serialized form of this\nmessage.", "type": "object" }, + "GoogleDatastoreAdminV1beta1Progress": { + "description": "Measures the progress of a particular metric.", + "type": "object", + "properties": { + "workCompleted": { + "format": "int64", + "description": "The amount of work that has been completed. Note that this may be greater\nthan work_estimated.", + "type": "string" + }, + "workEstimated": { + "format": "int64", + "description": "An estimate of how much work needs to be performed. May be zero if the\nwork estimate is unavailable.", + "type": "string" + } + }, + "id": "GoogleDatastoreAdminV1beta1Progress" + }, "QueryResultBatch": { "description": "A batch of results produced by a query.", "type": "object", "properties": { - "entityResults": { - "description": "The results for this batch.", - "items": { - "$ref": "EntityResult" - }, - "type": "array" - }, - "moreResults": { - "enumDescriptions": [ - "Unspecified. This value is never used.", - "There may be additional batches to fetch from this query.", - "The query is finished, but there may be more results after the limit.", - "The query is finished, but there may be more results after the end\ncursor.", - "The query has been exhausted." - ], - "enum": [ - "MORE_RESULTS_TYPE_UNSPECIFIED", - "NOT_FINISHED", - "MORE_RESULTS_AFTER_LIMIT", - "MORE_RESULTS_AFTER_CURSOR", - "NO_MORE_RESULTS" - ], - "description": "The state of the query after the current batch.", - "type": "string" - }, - "endCursor": { - "format": "byte", - "description": "A cursor that points to the position after the last result in the batch.", - "type": "string" - }, "snapshotVersion": { "format": "int64", "description": "The version number of the snapshot this batch was returned from.\nThis applies to the range of results from the query's `start_cursor` (or\nthe beginning of the query if no cursor was given) to this batch's\n`end_cursor` (not the query's `end_cursor`).\n\nIn a single transaction, subsequent query result batches for the same query\ncan have a greater snapshot version number. Each batch's snapshot version\nis valid for all preceding batches.\nThe value will be zero for eventually consistent queries.", @@ -641,8 +1003,6 @@ "type": "integer" }, "entityResultType": { - "description": "The result type for every entity in `entity_results`.", - "type": "string", "enumDescriptions": [ "Unspecified. This value is never used.", "The key and properties.", @@ -654,38 +1014,65 @@ "FULL", "PROJECTION", "KEY_ONLY" - ] + ], + "description": "The result type for every entity in `entity_results`.", + "type": "string" + }, + "entityResults": { + "description": "The results for this batch.", + "items": { + "$ref": "EntityResult" + }, + "type": "array" + }, + "endCursor": { + "format": "byte", + "description": "A cursor that points to the position after the last result in the batch.", + "type": "string" + }, + "moreResults": { + "enumDescriptions": [ + "Unspecified. This value is never used.", + "There may be additional batches to fetch from this query.", + "The query is finished, but there may be more results after the limit.", + "The query is finished, but there may be more results after the end\ncursor.", + "The query is finished, and there are no more results." + ], + "enum": [ + "MORE_RESULTS_TYPE_UNSPECIFIED", + "NOT_FINISHED", + "MORE_RESULTS_AFTER_LIMIT", + "MORE_RESULTS_AFTER_CURSOR", + "NO_MORE_RESULTS" + ], + "description": "The state of the query after the current batch.", + "type": "string" } }, "id": "QueryResultBatch" }, "LookupRequest": { + "description": "The request for Datastore.Lookup.", + "type": "object", "properties": { - "readOptions": { - "description": "The options for this lookup request.", - "$ref": "ReadOptions" - }, "keys": { "description": "Keys of entities to look up.", "items": { "$ref": "Key" }, "type": "array" + }, + "readOptions": { + "description": "The options for this lookup request.", + "$ref": "ReadOptions" } }, - "id": "LookupRequest", - "description": "The request for Datastore.Lookup.", - "type": "object" + "id": "LookupRequest" }, "PathElement": { "description": "A (kind, ID/name) pair used to construct a key path.\n\nIf either name or ID is set, the element is complete.\nIf neither is set, the element is incomplete.", "type": "object", "properties": { - "id": { - "format": "int64", - "description": "The auto-allocated ID of the entity.\nNever equal to zero. Values less than zero are discouraged and may not\nbe supported in the future.", - "type": "string" - }, "name": { "description": "The name of the entity.\nA name matching regex `__.*__` is reserved/read-only.\nA name must not be more than 1500 bytes when UTF-8 encoded.\nCannot be `\"\"`.", "type": "string" @@ -693,13 +1080,43 @@ "kind": { "description": "The kind of the entity.\nA kind matching regex `__.*__` is reserved/read-only.\nA kind must not contain more than 1500 bytes when UTF-8 encoded.\nCannot be `\"\"`.", "type": "string" + }, + "id": { + "format": "int64", + "description": "The auto-allocated ID of the entity.\nNever equal to zero. Values less than zero are discouraged and may not\nbe supported in the future.", + "type": "string" } }, "id": "PathElement" }, - "GqlQueryParameter": { - "description": "A binding parameter for a GQL query.", + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", "type": "object", + "properties": { + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "code": { + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "id": "Status" + }, + "GqlQueryParameter": { "properties": { "cursor": { "format": "byte", @@ -707,11 +1124,31 @@ "type": "string" }, "value": { - "description": "A value parameter.", - "$ref": "Value" + "$ref": "Value", + "description": "A value parameter." } }, - "id": "GqlQueryParameter" + "id": "GqlQueryParameter", + "description": "A binding parameter for a GQL query.", + "type": "object" + }, + "GoogleLongrunningListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "GoogleLongrunningOperation" + }, + "type": "array" + } + }, + "id": "GoogleLongrunningListOperationsResponse" }, "BeginTransactionResponse": { "description": "The response for Datastore.BeginTransaction.", @@ -725,31 +1162,10 @@ }, "id": "BeginTransactionResponse" }, - "AllocateIdsRequest": { - "properties": { - "keys": { - "description": "A list of keys with incomplete key paths for which to allocate IDs.\nNo key may be reserved/read-only.", - "items": { - "$ref": "Key" - }, - "type": "array" - } - }, - "id": "AllocateIdsRequest", - "description": "The request for Datastore.AllocateIds.", - "type": "object" - }, "LookupResponse": { "description": "The response for Datastore.Lookup.", "type": "object", "properties": { - "deferred": { - "description": "A list of keys that were not looked up due to resource constraints. The\norder of results in this field is undefined and has no relation to the\norder of the keys in the input.", - "items": { - "$ref": "Key" - }, - "type": "array" - }, "missing": { "description": "Entities not found as `ResultType.KEY_ONLY` entities. The order of results\nin this field is undefined and has no relation to the order of the keys\nin the input.", "items": { @@ -763,6 +1179,13 @@ "$ref": "EntityResult" }, "type": "array" + }, + "deferred": { + "description": "A list of keys that were not looked up due to resource constraints. The\norder of results in this field is undefined and has no relation to the\norder of the keys in the input.", + "items": { + "$ref": "Key" + }, + "type": "array" } }, "id": "LookupResponse" @@ -772,16 +1195,66 @@ "type": "object", "properties": { "query": { - "description": "The parsed form of the `GqlQuery` from the request, if it was set.", - "$ref": "Query" + "$ref": "Query", + "description": "The parsed form of the `GqlQuery` from the request, if it was set." }, "batch": { - "$ref": "QueryResultBatch", - "description": "A batch of query results (always present)." + "description": "A batch of query results (always present).", + "$ref": "QueryResultBatch" } }, "id": "RunQueryResponse" }, + "AllocateIdsRequest": { + "description": "The request for Datastore.AllocateIds.", + "type": "object", + "properties": { + "keys": { + "description": "A list of keys with incomplete key paths for which to allocate IDs.\nNo key may be reserved/read-only.", + "items": { + "$ref": "Key" + }, + "type": "array" + } + }, + "id": "AllocateIdsRequest" + }, + "PropertyOrder": { + "description": "The desired order for a specific property.", + "type": "object", + "properties": { + "direction": { + "enumDescriptions": [ + "Unspecified. This value must not be used.", + "Ascending.", + "Descending." + ], + "enum": [ + "DIRECTION_UNSPECIFIED", + "ASCENDING", + "DESCENDING" + ], + "description": "The direction to order by. Defaults to `ASCENDING`.", + "type": "string" + }, + "property": { + "description": "The property to order by.", + "$ref": "PropertyReference" + } + }, + "id": "PropertyOrder" + }, + "BeginTransactionRequest": { + "description": "The request for Datastore.BeginTransaction.", + "type": "object", + "properties": { + "transactionOptions": { + "description": "Options for a new transaction.", + "$ref": "TransactionOptions" + } + }, + "id": "BeginTransactionRequest" + }, "CommitRequest": { "description": "The request for Datastore.Commit.", "type": "object", @@ -792,18 +1265,18 @@ "type": "string" }, "mode": { - "enumDescriptions": [ - "Unspecified. This value must not be used.", - "Transactional: The mutations are either all applied, or none are applied.\nLearn about transactions [here](https://cloud.google.com/datastore/docs/concepts/transactions).", - "Non-transactional: The mutations may not apply as all or none." - ], "enum": [ "MODE_UNSPECIFIED", "TRANSACTIONAL", "NON_TRANSACTIONAL" ], "description": "The type of commit to perform. Defaults to `TRANSACTIONAL`.", - "type": "string" + "type": "string", + "enumDescriptions": [ + "Unspecified. This value must not be used.", + "Transactional: The mutations are either all applied, or none are applied.\nLearn about transactions [here](https://cloud.google.com/datastore/docs/concepts/transactions).", + "Non-transactional: The mutations may not apply as all or none." + ] }, "mutations": { "description": "The mutations to perform.\n\nWhen mode is `TRANSACTIONAL`, mutations affecting a single entity are\napplied in order. The following sequences of mutations affecting a single\nentity are not permitted in a single `Commit` request:\n\n- `insert` followed by `insert`\n- `update` followed by `insert`\n- `upsert` followed by `insert`\n- `delete` followed by `update`\n\nWhen mode is `NON_TRANSACTIONAL`, no two mutations may affect a single\nentity.", @@ -815,37 +1288,6 @@ }, "id": "CommitRequest" }, - "BeginTransactionRequest": { - "description": "The request for Datastore.BeginTransaction.", - "type": "object", - "properties": {}, - "id": "BeginTransactionRequest" - }, - "PropertyOrder": { - "properties": { - "direction": { - "enum": [ - "DIRECTION_UNSPECIFIED", - "ASCENDING", - "DESCENDING" - ], - "description": "The direction to order by. Defaults to `ASCENDING`.", - "type": "string", - "enumDescriptions": [ - "Unspecified. This value must not be used.", - "Ascending.", - "Descending." - ] - }, - "property": { - "$ref": "PropertyReference", - "description": "The property to order by." - } - }, - "id": "PropertyOrder", - "description": "The desired order for a specific property.", - "type": "object" - }, "KindExpression": { "description": "A representation of a kind.", "type": "object", @@ -858,6 +1300,8 @@ "id": "KindExpression" }, "LatLng": { + "description": "An object representing a latitude/longitude pair. This is expressed as a pair\nof doubles representing degrees latitude and degrees longitude. Unless\nspecified otherwise, this must conform to the\n\u003ca href=\"http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf\"\u003eWGS84\nstandard\u003c/a\u003e. Values must be within normalized ranges.\n\nExample of normalization code in Python:\n\n def NormalizeLongitude(longitude):\n \"\"\"Wraps decimal degrees longitude to [-180.0, 180.0].\"\"\"\n q, r = divmod(longitude, 360.0)\n if r \u003e 180.0 or (r == 180.0 and q \u003c= -1.0):\n return r - 360.0\n return r\n\n def NormalizeLatLng(latitude, longitude):\n \"\"\"Wraps decimal degrees latitude and longitude to\n [-90.0, 90.0] and [-180.0, 180.0], respectively.\"\"\"\n r = latitude % 360.0\n if r \u003c= 90.0:\n return r, NormalizeLongitude(longitude)\n elif r \u003e= 270.0:\n return r - 360, NormalizeLongitude(longitude)\n else:\n return 180 - r, NormalizeLongitude(longitude + 180.0)\n\n assert 180.0 == NormalizeLongitude(180.0)\n assert -180.0 == NormalizeLongitude(-180.0)\n assert -179.0 == NormalizeLongitude(181.0)\n assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)\n assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)\n assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)\n assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)\n assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)\n assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)\n assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)\n assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)\n assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)\n assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)", + "type": "object", "properties": { "latitude": { "format": "double", @@ -870,11 +1314,11 @@ "type": "number" } }, - "id": "LatLng", - "description": "An object representing a latitude/longitude pair. This is expressed as a pair\nof doubles representing degrees latitude and degrees longitude. Unless\nspecified otherwise, this must conform to the\n\u003ca href=\"http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf\"\u003eWGS84\nstandard\u003c/a\u003e. Values must be within normalized ranges.\n\nExample of normalization code in Python:\n\n def NormalizeLongitude(longitude):\n \"\"\"Wraps decimal degrees longitude to [-180.0, 180.0].\"\"\"\n q, r = divmod(longitude, 360.0)\n if r \u003e 180.0 or (r == 180.0 and q \u003c= -1.0):\n return r - 360.0\n return r\n\n def NormalizeLatLng(latitude, longitude):\n \"\"\"Wraps decimal degrees latitude and longitude to\n [-90.0, 90.0] and [-180.0, 180.0], respectively.\"\"\"\n r = latitude % 360.0\n if r \u003c= 90.0:\n return r, NormalizeLongitude(longitude)\n elif r \u003e= 270.0:\n return r - 360, NormalizeLongitude(longitude)\n else:\n return 180 - r, NormalizeLongitude(longitude + 180.0)\n\n assert 180.0 == NormalizeLongitude(180.0)\n assert -180.0 == NormalizeLongitude(-180.0)\n assert -179.0 == NormalizeLongitude(181.0)\n assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)\n assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)\n assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)\n assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)\n assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)\n assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)\n assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)\n assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)\n assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)\n assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)", - "type": "object" + "id": "LatLng" }, "Key": { + "description": "A unique identifier for an entity.\nIf a key's partition ID or any of its path kinds or names are\nreserved/read-only, the key is reserved/read-only.\nA reserved/read-only key is forbidden in certain documented contexts.", + "type": "object", "properties": { "path": { "description": "The entity path.\nAn entity path consists of one or more elements composed of a kind and a\nstring or numerical identifier, which identify entities. The first\nelement identifies a _root entity_, the second element identifies\na _child_ of the root entity, the third element identifies a child of the\nsecond entity, and so forth. The entities identified by all prefixes of\nthe path are called the element's _ancestors_.\n\nAn entity path is always fully complete: *all* of the entity's ancestors\nare required to be in the path along with the entity identifier itself.\nThe only exception is that in some documented cases, the identifier in the\nlast path element (for the entity) itself may be omitted. For example,\nthe last path element of the key of `Mutation.insert` may have no\nidentifier.\n\nA path can never be empty, and a path can have at most 100 elements.", @@ -888,20 +1332,101 @@ "$ref": "PartitionId" } }, - "id": "Key", - "description": "A unique identifier for an entity.\nIf a key's partition ID or any of its path kinds or names are\nreserved/read-only, the key is reserved/read-only.\nA reserved/read-only key is forbidden in certain documented contexts.", - "type": "object" + "id": "Key" + }, + "GoogleDatastoreAdminV1beta1EntityFilter": { + "description": "Identifies a subset of entities in a project. This is specified as\ncombinations of kinds and namespaces (either or both of which may be all, as\ndescribed in the following examples).\nExample usage:\n\nEntire project:\n kinds=[], namespace_ids=[]\n\nKinds Foo and Bar in all namespaces:\n kinds=['Foo', 'Bar'], namespace_ids=[]\n\nKinds Foo and Bar only in the default namespace:\n kinds=['Foo', 'Bar'], namespace_ids=['']\n\nKinds Foo and Bar in both the default and Baz namespaces:\n kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz']\n\nThe entire Baz namespace:\n kinds=[], namespace_ids=['Baz']", + "type": "object", + "properties": { + "kinds": { + "description": "If empty, then this represents all kinds.", + "items": { + "type": "string" + }, + "type": "array" + }, + "namespaceIds": { + "description": "An empty list represents all namespaces. This is the preferred\nusage for projects that don't use namespaces.\n\nAn empty string element represents the default namespace. This should be\nused if the project has data in non-default namespaces, but doesn't want to\ninclude them.\nEach namespace in this list must be unique.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "GoogleDatastoreAdminV1beta1EntityFilter" }, "PropertyReference": { + "description": "A reference to a property relative to the kind expressions.", + "type": "object", "properties": { "name": { "description": "The name of the property.\nIf name includes \".\"s, it may be interpreted as a property name path.", "type": "string" } }, - "id": "PropertyReference", - "description": "A reference to a property relative to the kind expressions.", - "type": "object" + "id": "PropertyReference" + }, + "GoogleDatastoreAdminV1beta1CommonMetadata": { + "description": "Metadata common to all Datastore Admin operations.", + "type": "object", + "properties": { + "state": { + "enum": [ + "STATE_UNSPECIFIED", + "INITIALIZING", + "PROCESSING", + "CANCELLING", + "FINALIZING", + "SUCCESSFUL", + "FAILED", + "CANCELLED" + ], + "description": "The current state of the Operation.", + "type": "string", + "enumDescriptions": [ + "Unspecified.", + "Request is being prepared for processing.", + "Request is actively being processed.", + "Request is in the process of being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation on the operation.", + "Request has been processed and is in its finalization stage.", + "Request has completed successfully.", + "Request has finished being processed, but encountered an error.", + "Request has finished being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation." + ] + }, + "operationType": { + "enumDescriptions": [ + "Unspecified.", + "ExportEntities.", + "ImportEntities." + ], + "enum": [ + "OPERATION_TYPE_UNSPECIFIED", + "EXPORT_ENTITIES", + "IMPORT_ENTITIES" + ], + "description": "The type of the operation. Can be used as a filter in\nListOperationsRequest.", + "type": "string" + }, + "startTime": { + "format": "google-datetime", + "description": "The time that work began on the operation.", + "type": "string" + }, + "labels": { + "description": "The client-assigned labels which were provided when the operation was\ncreated. May also include additional labels.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "endTime": { + "format": "google-datetime", + "description": "The time the operation ended, either successfully or otherwise.", + "type": "string" + } + }, + "id": "GoogleDatastoreAdminV1beta1CommonMetadata" }, "Projection": { "properties": { @@ -915,8 +1440,6 @@ "type": "object" }, "ArrayValue": { - "description": "An array value.", - "type": "object", "properties": { "values": { "description": "Values in the array.\nThe order of this array may not be preserved if it contains a mix of\nindexed and unindexed values.", @@ -926,122 +1449,15 @@ "type": "array" } }, - "id": "ArrayValue" - }, - "Mutation": { - "description": "A mutation to apply to an entity.", - "type": "object", - "properties": { - "delete": { - "$ref": "Key", - "description": "The key of the entity to delete. The entity may or may not already exist.\nMust have a complete key path and must not be reserved/read-only." - }, - "baseVersion": { - "format": "int64", - "description": "The version of the entity that this mutation is being applied to. If this\ndoes not match the current version on the server, the mutation conflicts.", - "type": "string" - }, - "insert": { - "description": "The entity to insert. The entity must not already exist.\nThe entity key's final path element may be incomplete.", - "$ref": "Entity" - }, - "update": { - "description": "The entity to update. The entity must already exist.\nMust have a complete key path.", - "$ref": "Entity" - }, - "upsert": { - "description": "The entity to upsert. The entity may or may not already exist.\nThe entity key's final path element may be incomplete.", - "$ref": "Entity" - } - }, - "id": "Mutation" - }, - "ReadOptions": { - "properties": { - "transaction": { - "format": "byte", - "description": "The identifier of the transaction in which to read. A\ntransaction identifier is returned by a call to\nDatastore.BeginTransaction.", - "type": "string" - }, - "readConsistency": { - "description": "The non-transactional read consistency to use.\nCannot be set to `STRONG` for global queries.", - "type": "string", - "enumDescriptions": [ - "Unspecified. This value must not be used.", - "Strong consistency.", - "Eventual consistency." - ], - "enum": [ - "READ_CONSISTENCY_UNSPECIFIED", - "STRONG", - "EVENTUAL" - ] - } - }, - "id": "ReadOptions", - "description": "The options shared by read requests.", - "type": "object" - }, - "RollbackResponse": { - "description": "The response for Datastore.Rollback.\n(an empty message).", - "type": "object", - "properties": {}, - "id": "RollbackResponse" - }, - "MutationResult": { - "description": "The result of applying a mutation.", - "type": "object", - "properties": { - "version": { - "format": "int64", - "description": "The version of the entity on the server after processing the mutation. If\nthe mutation doesn't change anything on the server, then the version will\nbe the version of the current entity or, if no entity is present, a version\nthat is strictly greater than the version of any previous entity and less\nthan the version of any possible future entity.", - "type": "string" - }, - "conflictDetected": { - "description": "Whether a conflict was detected for this mutation. Always false when a\nconflict detection strategy field is not set in the mutation.", - "type": "boolean" - }, - "key": { - "$ref": "Key", - "description": "The automatically allocated key.\nSet only when the mutation allocated a key." - } - }, - "id": "MutationResult" - }, - "GqlQuery": { - "properties": { - "queryString": { - "description": "A string of the format described\n[here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).", - "type": "string" - }, - "positionalBindings": { - "description": "Numbered binding site @1 references the first numbered parameter,\neffectively using 1-based indexing, rather than the usual 0.\n\nFor each binding site numbered i in `query_string`, there must be an i-th\nnumbered parameter. The inverse must also be true.", - "items": { - "$ref": "GqlQueryParameter" - }, - "type": "array" - }, - "namedBindings": { - "additionalProperties": { - "$ref": "GqlQueryParameter" - }, - "description": "For each non-reserved named binding site in the query string, there must be\na named parameter with that name, but not necessarily the inverse.\n\nKey must match regex `A-Za-z_$*`, must not match regex\n`__.*__`, and must not be `\"\"`.", - "type": "object" - }, - "allowLiterals": { - "description": "When false, the query string must not contain any literals and instead must\nbind all values. For example,\n`SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while\n`SELECT * FROM Kind WHERE a = @value` is.", - "type": "boolean" - } - }, - "id": "GqlQuery", - "description": "A [GQL query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).", + "id": "ArrayValue", + "description": "An array value.", "type": "object" } }, "protocol": "rest", "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" }, "version": "v1", "baseUrl": "https://datastore.googleapis.com/", @@ -1067,9 +1483,8 @@ "batchPath": "batch", "id": "datastore:v1", "documentationLink": "https://cloud.google.com/datastore/", - "revision": "20170626", + "revision": "20170912", "title": "Google Cloud Datastore API", "ownerName": "Google", - "discoveryVersion": "v1", - "version_module": "True" + "discoveryVersion": "v1" } diff --git a/vendor/google.golang.org/api/datastore/v1/datastore-gen.go b/vendor/google.golang.org/api/datastore/v1/datastore-gen.go index dc3f54e81..76d3c750f 100644 --- a/vendor/google.golang.org/api/datastore/v1/datastore-gen.go +++ b/vendor/google.golang.org/api/datastore/v1/datastore-gen.go @@ -80,11 +80,23 @@ func (s *Service) userAgent() string { func NewProjectsService(s *Service) *ProjectsService { rs := &ProjectsService{s: s} + rs.Operations = NewProjectsOperationsService(s) return rs } type ProjectsService struct { s *Service + + Operations *ProjectsOperationsService +} + +func NewProjectsOperationsService(s *Service) *ProjectsOperationsService { + rs := &ProjectsOperationsService{s: s} + return rs +} + +type ProjectsOperationsService struct { + s *Service } // AllocateIdsRequest: The request for Datastore.AllocateIds. @@ -184,6 +196,31 @@ func (s *ArrayValue) MarshalJSON() ([]byte, error) { // BeginTransactionRequest: The request for Datastore.BeginTransaction. type BeginTransactionRequest struct { + // TransactionOptions: Options for a new transaction. + TransactionOptions *TransactionOptions `json:"transactionOptions,omitempty"` + + // ForceSendFields is a list of field names (e.g. "TransactionOptions") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "TransactionOptions") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *BeginTransactionRequest) MarshalJSON() ([]byte, error) { + type noMethod BeginTransactionRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // BeginTransactionResponse: The response for @@ -358,6 +395,24 @@ func (s *CompositeFilter) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Empty: A generic empty message that you can re-use to avoid defining +// duplicated +// empty messages in your APIs. A typical example is to use it as the +// request +// or the response type of an API method. For instance: +// +// service Foo { +// rpc Bar(google.protobuf.Empty) returns +// (google.protobuf.Empty); +// } +// +// The JSON representation for `Empty` is empty JSON object `{}`. +type Empty struct { + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` +} + // Entity: A Datastore data object. // // An entity is limited to 1 megabyte when stored. That @@ -486,6 +541,412 @@ func (s *Filter) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleDatastoreAdminV1beta1CommonMetadata: Metadata common to all +// Datastore Admin operations. +type GoogleDatastoreAdminV1beta1CommonMetadata struct { + // EndTime: The time the operation ended, either successfully or + // otherwise. + EndTime string `json:"endTime,omitempty"` + + // Labels: The client-assigned labels which were provided when the + // operation was + // created. May also include additional labels. + Labels map[string]string `json:"labels,omitempty"` + + // OperationType: The type of the operation. Can be used as a filter + // in + // ListOperationsRequest. + // + // Possible values: + // "OPERATION_TYPE_UNSPECIFIED" - Unspecified. + // "EXPORT_ENTITIES" - ExportEntities. + // "IMPORT_ENTITIES" - ImportEntities. + OperationType string `json:"operationType,omitempty"` + + // StartTime: The time that work began on the operation. + StartTime string `json:"startTime,omitempty"` + + // State: The current state of the Operation. + // + // Possible values: + // "STATE_UNSPECIFIED" - Unspecified. + // "INITIALIZING" - Request is being prepared for processing. + // "PROCESSING" - Request is actively being processed. + // "CANCELLING" - Request is in the process of being cancelled after + // user called + // google.longrunning.Operations.CancelOperation on the operation. + // "FINALIZING" - Request has been processed and is in its + // finalization stage. + // "SUCCESSFUL" - Request has completed successfully. + // "FAILED" - Request has finished being processed, but encountered an + // error. + // "CANCELLED" - Request has finished being cancelled after user + // called + // google.longrunning.Operations.CancelOperation. + State string `json:"state,omitempty"` + + // ForceSendFields is a list of field names (e.g. "EndTime") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDatastoreAdminV1beta1CommonMetadata) MarshalJSON() ([]byte, error) { + type noMethod GoogleDatastoreAdminV1beta1CommonMetadata + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleDatastoreAdminV1beta1EntityFilter: Identifies a subset of +// entities in a project. This is specified as +// combinations of kinds and namespaces (either or both of which may be +// all, as +// described in the following examples). +// Example usage: +// +// Entire project: +// kinds=[], namespace_ids=[] +// +// Kinds Foo and Bar in all namespaces: +// kinds=['Foo', 'Bar'], namespace_ids=[] +// +// Kinds Foo and Bar only in the default namespace: +// kinds=['Foo', 'Bar'], namespace_ids=[''] +// +// Kinds Foo and Bar in both the default and Baz namespaces: +// kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz'] +// +// The entire Baz namespace: +// kinds=[], namespace_ids=['Baz'] +type GoogleDatastoreAdminV1beta1EntityFilter struct { + // Kinds: If empty, then this represents all kinds. + Kinds []string `json:"kinds,omitempty"` + + // NamespaceIds: An empty list represents all namespaces. This is the + // preferred + // usage for projects that don't use namespaces. + // + // An empty string element represents the default namespace. This should + // be + // used if the project has data in non-default namespaces, but doesn't + // want to + // include them. + // Each namespace in this list must be unique. + NamespaceIds []string `json:"namespaceIds,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Kinds") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Kinds") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDatastoreAdminV1beta1EntityFilter) MarshalJSON() ([]byte, error) { + type noMethod GoogleDatastoreAdminV1beta1EntityFilter + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleDatastoreAdminV1beta1ExportEntitiesMetadata: Metadata for +// ExportEntities operations. +type GoogleDatastoreAdminV1beta1ExportEntitiesMetadata struct { + // Common: Metadata common to all Datastore Admin operations. + Common *GoogleDatastoreAdminV1beta1CommonMetadata `json:"common,omitempty"` + + // EntityFilter: Description of which entities are being exported. + EntityFilter *GoogleDatastoreAdminV1beta1EntityFilter `json:"entityFilter,omitempty"` + + // OutputUrlPrefix: Location for the export metadata and data files. + // This will be the same + // value as + // the + // google.datastore.admin.v1beta1.ExportEntitiesRequest.output_url_pr + // efix + // field. The final output location is provided + // in + // google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url. + OutputUrlPrefix string `json:"outputUrlPrefix,omitempty"` + + // ProgressBytes: An estimate of the number of bytes processed. + ProgressBytes *GoogleDatastoreAdminV1beta1Progress `json:"progressBytes,omitempty"` + + // ProgressEntities: An estimate of the number of entities processed. + ProgressEntities *GoogleDatastoreAdminV1beta1Progress `json:"progressEntities,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Common") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Common") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDatastoreAdminV1beta1ExportEntitiesMetadata) MarshalJSON() ([]byte, error) { + type noMethod GoogleDatastoreAdminV1beta1ExportEntitiesMetadata + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleDatastoreAdminV1beta1ExportEntitiesResponse: The response +// for +// google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities. +type GoogleDatastoreAdminV1beta1ExportEntitiesResponse struct { + // OutputUrl: Location of the output metadata file. This can be used to + // begin an import + // into Cloud Datastore (this project or another project). + // See + // google.datastore.admin.v1beta1.ImportEntitiesRequest.input_url. + // On + // ly present if the operation completed successfully. + OutputUrl string `json:"outputUrl,omitempty"` + + // ForceSendFields is a list of field names (e.g. "OutputUrl") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "OutputUrl") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDatastoreAdminV1beta1ExportEntitiesResponse) MarshalJSON() ([]byte, error) { + type noMethod GoogleDatastoreAdminV1beta1ExportEntitiesResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleDatastoreAdminV1beta1ImportEntitiesMetadata: Metadata for +// ImportEntities operations. +type GoogleDatastoreAdminV1beta1ImportEntitiesMetadata struct { + // Common: Metadata common to all Datastore Admin operations. + Common *GoogleDatastoreAdminV1beta1CommonMetadata `json:"common,omitempty"` + + // EntityFilter: Description of which entities are being imported. + EntityFilter *GoogleDatastoreAdminV1beta1EntityFilter `json:"entityFilter,omitempty"` + + // InputUrl: The location of the import metadata file. This will be the + // same value as + // the + // google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url + // field + // . + InputUrl string `json:"inputUrl,omitempty"` + + // ProgressBytes: An estimate of the number of bytes processed. + ProgressBytes *GoogleDatastoreAdminV1beta1Progress `json:"progressBytes,omitempty"` + + // ProgressEntities: An estimate of the number of entities processed. + ProgressEntities *GoogleDatastoreAdminV1beta1Progress `json:"progressEntities,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Common") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Common") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDatastoreAdminV1beta1ImportEntitiesMetadata) MarshalJSON() ([]byte, error) { + type noMethod GoogleDatastoreAdminV1beta1ImportEntitiesMetadata + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleDatastoreAdminV1beta1Progress: Measures the progress of a +// particular metric. +type GoogleDatastoreAdminV1beta1Progress struct { + // WorkCompleted: The amount of work that has been completed. Note that + // this may be greater + // than work_estimated. + WorkCompleted int64 `json:"workCompleted,omitempty,string"` + + // WorkEstimated: An estimate of how much work needs to be performed. + // May be zero if the + // work estimate is unavailable. + WorkEstimated int64 `json:"workEstimated,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "WorkCompleted") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "WorkCompleted") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDatastoreAdminV1beta1Progress) MarshalJSON() ([]byte, error) { + type noMethod GoogleDatastoreAdminV1beta1Progress + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleLongrunningListOperationsResponse: The response message for +// Operations.ListOperations. +type GoogleLongrunningListOperationsResponse struct { + // NextPageToken: The standard List next-page token. + NextPageToken string `json:"nextPageToken,omitempty"` + + // Operations: A list of operations that matches the specified filter in + // the request. + Operations []*GoogleLongrunningOperation `json:"operations,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "NextPageToken") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleLongrunningListOperationsResponse) MarshalJSON() ([]byte, error) { + type noMethod GoogleLongrunningListOperationsResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleLongrunningOperation: This resource represents a long-running +// operation that is the result of a +// network API call. +type GoogleLongrunningOperation struct { + // Done: If the value is `false`, it means the operation is still in + // progress. + // If `true`, the operation is completed, and either `error` or + // `response` is + // available. + Done bool `json:"done,omitempty"` + + // Error: The error result of the operation in case of failure or + // cancellation. + Error *Status `json:"error,omitempty"` + + // Metadata: Service-specific metadata associated with the operation. + // It typically + // contains progress information and common metadata such as create + // time. + // Some services might not provide such metadata. Any method that + // returns a + // long-running operation should document the metadata type, if any. + Metadata googleapi.RawMessage `json:"metadata,omitempty"` + + // Name: The server-assigned name, which is only unique within the same + // service that + // originally returns it. If you use the default HTTP mapping, + // the + // `name` should have the format of `operations/some/unique/name`. + Name string `json:"name,omitempty"` + + // Response: The normal response of the operation in case of success. + // If the original + // method returns no data on success, such as `Delete`, the response + // is + // `google.protobuf.Empty`. If the original method is + // standard + // `Get`/`Create`/`Update`, the response should be the resource. For + // other + // methods, the response should have the type `XxxResponse`, where + // `Xxx` + // is the original method name. For example, if the original method + // name + // is `TakeSnapshot()`, the inferred response type + // is + // `TakeSnapshotResponse`. + Response googleapi.RawMessage `json:"response,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Done") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Done") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleLongrunningOperation) MarshalJSON() ([]byte, error) { + type noMethod GoogleLongrunningOperation + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GqlQuery: A [GQL // query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference) // . @@ -1280,7 +1741,8 @@ type QueryResultBatch struct { // "MORE_RESULTS_AFTER_CURSOR" - The query is finished, but there may // be more results after the end // cursor. - // "NO_MORE_RESULTS" - The query has been exhausted. + // "NO_MORE_RESULTS" - The query is finished, and there are no more + // results. MoreResults string `json:"moreResults,omitempty"` // SkippedCursor: A cursor that points to the position after the last @@ -1331,6 +1793,10 @@ func (s *QueryResultBatch) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ReadOnly: Options specific to read-only transactions. +type ReadOnly struct { +} + // ReadOptions: The options shared by read requests. type ReadOptions struct { // ReadConsistency: The non-transactional read consistency to @@ -1375,6 +1841,36 @@ func (s *ReadOptions) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ReadWrite: Options specific to read / write transactions. +type ReadWrite struct { + // PreviousTransaction: The transaction identifier of the transaction + // being retried. + PreviousTransaction string `json:"previousTransaction,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PreviousTransaction") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "PreviousTransaction") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *ReadWrite) MarshalJSON() ([]byte, error) { + type noMethod ReadWrite + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // RollbackRequest: The request for Datastore.Rollback. type RollbackRequest struct { // Transaction: The transaction identifier, returned by a call @@ -1491,6 +1987,163 @@ func (s *RunQueryResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Status: The `Status` type defines a logical error model that is +// suitable for different +// programming environments, including REST APIs and RPC APIs. It is +// used by +// [gRPC](https://github.com/grpc). The error model is designed to +// be: +// +// - Simple to use and understand for most users +// - Flexible enough to meet unexpected needs +// +// # Overview +// +// The `Status` message contains three pieces of data: error code, error +// message, +// and error details. The error code should be an enum value +// of +// google.rpc.Code, but it may accept additional error codes if needed. +// The +// error message should be a developer-facing English message that +// helps +// developers *understand* and *resolve* the error. If a localized +// user-facing +// error message is needed, put the localized message in the error +// details or +// localize it in the client. The optional error details may contain +// arbitrary +// information about the error. There is a predefined set of error +// detail types +// in the package `google.rpc` that can be used for common error +// conditions. +// +// # Language mapping +// +// The `Status` message is the logical representation of the error +// model, but it +// is not necessarily the actual wire format. When the `Status` message +// is +// exposed in different client libraries and different wire protocols, +// it can be +// mapped differently. For example, it will likely be mapped to some +// exceptions +// in Java, but more likely mapped to some error codes in C. +// +// # Other uses +// +// The error model and the `Status` message can be used in a variety +// of +// environments, either with or without APIs, to provide a +// consistent developer experience across different +// environments. +// +// Example uses of this error model include: +// +// - Partial errors. If a service needs to return partial errors to the +// client, +// it may embed the `Status` in the normal response to indicate the +// partial +// errors. +// +// - Workflow errors. A typical workflow has multiple steps. Each step +// may +// have a `Status` message for error reporting. +// +// - Batch operations. If a client uses batch request and batch +// response, the +// `Status` message should be used directly inside batch response, +// one for +// each error sub-response. +// +// - Asynchronous operations. If an API call embeds asynchronous +// operation +// results in its response, the status of those operations should +// be +// represented directly using the `Status` message. +// +// - Logging. If some API errors are stored in logs, the message +// `Status` could +// be used directly after any stripping needed for security/privacy +// reasons. +type Status struct { + // Code: The status code, which should be an enum value of + // google.rpc.Code. + Code int64 `json:"code,omitempty"` + + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. + Details []googleapi.RawMessage `json:"details,omitempty"` + + // Message: A developer-facing error message, which should be in + // English. Any + // user-facing error message should be localized and sent in + // the + // google.rpc.Status.details field, or localized by the client. + 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Status) MarshalJSON() ([]byte, error) { + type noMethod Status + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// TransactionOptions: Options for beginning a new +// transaction. +// +// Transactions can be created explicitly with calls +// to +// Datastore.BeginTransaction or implicitly by +// setting +// ReadOptions.new_transaction in read requests. +type TransactionOptions struct { + // ReadOnly: The transaction should only allow reads. + ReadOnly *ReadOnly `json:"readOnly,omitempty"` + + // ReadWrite: The transaction should allow both reads and writes. + ReadWrite *ReadWrite `json:"readWrite,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ReadOnly") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ReadOnly") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TransactionOptions) MarshalJSON() ([]byte, error) { + type noMethod TransactionOptions + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Value: A message that can hold any of the supported value types and // associated // metadata. @@ -2407,3 +3060,637 @@ func (c *ProjectsRunQueryCall) Do(opts ...googleapi.CallOption) (*RunQueryRespon // } } + +// method id "datastore.projects.operations.cancel": + +type ProjectsOperationsCancelCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Cancel: Starts asynchronous cancellation on a long-running operation. +// The server +// makes a best effort to cancel the operation, but success is +// not +// guaranteed. If the server doesn't support this method, it +// returns +// `google.rpc.Code.UNIMPLEMENTED`. Clients can +// use +// Operations.GetOperation or +// other methods to check whether the cancellation succeeded or whether +// the +// operation completed despite cancellation. On successful +// cancellation, +// the operation is not deleted; instead, it becomes an operation +// with +// an Operation.error value with a google.rpc.Status.code of +// 1, +// corresponding to `Code.CANCELLED`. +func (r *ProjectsOperationsService) Cancel(name string) *ProjectsOperationsCancelCall { + c := &ProjectsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsOperationsCancelCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsOperationsCancelCall) Context(ctx context.Context) *ProjectsOperationsCancelCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsOperationsCancelCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsOperationsCancelCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "datastore.projects.operations.cancel" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + // "flatPath": "v1/projects/{projectsId}/operations/{operationsId}:cancel", + // "httpMethod": "POST", + // "id": "datastore.projects.operations.cancel", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the operation resource to be cancelled.", + // "location": "path", + // "pattern": "^projects/[^/]+/operations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}:cancel", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/datastore" + // ] + // } + +} + +// method id "datastore.projects.operations.delete": + +type ProjectsOperationsDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a long-running operation. This method indicates that +// the client is +// no longer interested in the operation result. It does not cancel +// the +// operation. If the server doesn't support this method, it +// returns +// `google.rpc.Code.UNIMPLEMENTED`. +func (r *ProjectsOperationsService) Delete(name string) *ProjectsOperationsDeleteCall { + c := &ProjectsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsOperationsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsOperationsDeleteCall) Context(ctx context.Context) *ProjectsOperationsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsOperationsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "datastore.projects.operations.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.", + // "flatPath": "v1/projects/{projectsId}/operations/{operationsId}", + // "httpMethod": "DELETE", + // "id": "datastore.projects.operations.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the operation resource to be deleted.", + // "location": "path", + // "pattern": "^projects/[^/]+/operations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/datastore" + // ] + // } + +} + +// method id "datastore.projects.operations.get": + +type ProjectsOperationsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the latest state of a long-running operation. Clients can +// use this +// method to poll the operation result at intervals as recommended by +// the API +// service. +func (r *ProjectsOperationsService) Get(name string) *ProjectsOperationsGetCall { + c := &ProjectsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsOperationsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsOperationsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsOperationsGetCall) Context(ctx context.Context) *ProjectsOperationsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsOperationsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "datastore.projects.operations.get" call. +// Exactly one of *GoogleLongrunningOperation or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleLongrunningOperation.ServerResponse.Header or (if a response +// was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, 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, &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, err + } + ret := &GoogleLongrunningOperation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + // "flatPath": "v1/projects/{projectsId}/operations/{operationsId}", + // "httpMethod": "GET", + // "id": "datastore.projects.operations.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the operation resource.", + // "location": "path", + // "pattern": "^projects/[^/]+/operations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "GoogleLongrunningOperation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/datastore" + // ] + // } + +} + +// method id "datastore.projects.operations.list": + +type ProjectsOperationsListCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists operations that match the specified filter in the +// request. If the +// server doesn't support this method, it returns +// `UNIMPLEMENTED`. +// +// NOTE: the `name` binding allows API services to override the +// binding +// to use different resource name schemes, such as `users/*/operations`. +// To +// override the binding, API services can add a binding such +// as +// "/v1/{name=users/*}/operations" to their service configuration. +// For backwards compatibility, the default name includes the +// operations +// collection id, however overriding users must ensure the name +// binding +// is the parent resource, without the operations collection id. +func (r *ProjectsOperationsService) List(name string) *ProjectsOperationsListCall { + c := &ProjectsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Filter sets the optional parameter "filter": The standard list +// filter. +func (c *ProjectsOperationsListCall) Filter(filter string) *ProjectsOperationsListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// PageSize sets the optional parameter "pageSize": The standard list +// page size. +func (c *ProjectsOperationsListCall) PageSize(pageSize int64) *ProjectsOperationsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The standard list +// page token. +func (c *ProjectsOperationsListCall) PageToken(pageToken string) *ProjectsOperationsListCall { + 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 information. +func (c *ProjectsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsOperationsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsOperationsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsOperationsListCall) Context(ctx context.Context) *ProjectsOperationsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsOperationsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsOperationsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "datastore.projects.operations.list" call. +// Exactly one of *GoogleLongrunningListOperationsResponse or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if +// a response was returned at all) in error.(*googleapi.Error).Header. +// Use googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, 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, &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, err + } + ret := &GoogleLongrunningListOperationsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", + // "flatPath": "v1/projects/{projectsId}/operations", + // "httpMethod": "GET", + // "id": "datastore.projects.operations.list", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "filter": { + // "description": "The standard list filter.", + // "location": "query", + // "type": "string" + // }, + // "name": { + // "description": "The name of the operation's parent resource.", + // "location": "path", + // "pattern": "^projects/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "pageSize": { + // "description": "The standard list page size.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "The standard list page token.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/{+name}/operations", + // "response": { + // "$ref": "GoogleLongrunningListOperationsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/datastore" + // ] + // } + +} + +// 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 *ProjectsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} diff --git a/vendor/google.golang.org/api/datastore/v1beta1/datastore-api.json b/vendor/google.golang.org/api/datastore/v1beta1/datastore-api.json new file mode 100644 index 000000000..b1b8fe695 --- /dev/null +++ b/vendor/google.golang.org/api/datastore/v1beta1/datastore-api.json @@ -0,0 +1,459 @@ +{ + "batchPath": "batch", + "id": "datastore:v1beta1", + "documentationLink": "https://cloud.google.com/datastore/", + "revision": "20170912", + "title": "Google Cloud Datastore API", + "discoveryVersion": "v1", + "ownerName": "Google", + "version_module": true, + "resources": { + "projects": { + "methods": { + "export": { + "description": "Exports a copy of all or a subset of entities from Google Cloud Datastore\nto another storage system, such as Google Cloud Storage. Recent updates to\nentities may not be reflected in the export. The export occurs in the\nbackground and its progress can be monitored and managed via the\nOperation resource that is created. The output of an export may only be\nused once the associated operation is done. If an export operation is\ncancelled before completion it may leave partial data behind in Google\nCloud Storage.", + "request": { + "$ref": "GoogleDatastoreAdminV1beta1ExportEntitiesRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "parameterOrder": [ + "projectId" + ], + "httpMethod": "POST", + "parameters": { + "projectId": { + "location": "path", + "description": "Project ID against which to make the request.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/datastore" + ], + "flatPath": "v1beta1/projects/{projectId}:export", + "id": "datastore.projects.export", + "path": "v1beta1/projects/{projectId}:export" + }, + "import": { + "request": { + "$ref": "GoogleDatastoreAdminV1beta1ImportEntitiesRequest" + }, + "description": "Imports entities into Google Cloud Datastore. Existing entities with the\nsame key are overwritten. The import occurs in the background and its\nprogress can be monitored and managed via the Operation resource that is\ncreated. If an ImportEntities operation is cancelled, it is possible\nthat a subset of the data has already been imported to Cloud Datastore.", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "parameterOrder": [ + "projectId" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/datastore" + ], + "parameters": { + "projectId": { + "description": "Project ID against which to make the request.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1beta1/projects/{projectId}:import", + "id": "datastore.projects.import", + "path": "v1beta1/projects/{projectId}:import" + } + } + } + }, + "parameters": { + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string", + "location": "query" + }, + "prettyPrint": { + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string", + "location": "query" + }, + "fields": { + "location": "query", + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + }, + "$.xgafv": { + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string" + }, + "callback": { + "description": "JSONP", + "type": "string", + "location": "query" + }, + "alt": { + "enum": [ + "json", + "media", + "proto" + ], + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "description": "Data format for response.", + "default": "json" + }, + "access_token": { + "location": "query", + "description": "OAuth access token.", + "type": "string" + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" + }, + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + } + }, + "schemas": { + "GoogleDatastoreAdminV1beta1ExportEntitiesResponse": { + "description": "The response for\ngoogle.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities.", + "type": "object", + "properties": { + "outputUrl": { + "description": "Location of the output metadata file. This can be used to begin an import\ninto Cloud Datastore (this project or another project). See\ngoogle.datastore.admin.v1beta1.ImportEntitiesRequest.input_url.\nOnly present if the operation completed successfully.", + "type": "string" + } + }, + "id": "GoogleDatastoreAdminV1beta1ExportEntitiesResponse" + }, + "GoogleDatastoreAdminV1beta1ImportEntitiesRequest": { + "description": "The request for\ngoogle.datastore.admin.v1beta1.DatastoreAdmin.ImportEntities.", + "type": "object", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Client-assigned labels.", + "type": "object" + }, + "inputUrl": { + "description": "The full resource URL of the external storage location. Currently, only\nGoogle Cloud Storage is supported. So input_url should be of the form:\n`gs://BUCKET_NAME[/NAMESPACE_PATH]/OVERALL_EXPORT_METADATA_FILE`, where\n`BUCKET_NAME` is the name of the Cloud Storage bucket, `NAMESPACE_PATH` is\nan optional Cloud Storage namespace path (this is not a Cloud Datastore\nnamespace), and `OVERALL_EXPORT_METADATA_FILE` is the metadata file written\nby the ExportEntities operation. For more information about Cloud Storage\nnamespace paths, see\n[Object name\nconsiderations](https://cloud.google.com/storage/docs/naming#object-considerations).\n\nFor more information, see\ngoogle.datastore.admin.v1beta1.ExportEntitiesResponse.output_url.", + "type": "string" + }, + "entityFilter": { + "description": "Optionally specify which kinds/namespaces are to be imported. If provided,\nthe list must be a subset of the EntityFilter used in creating the export,\notherwise a FAILED_PRECONDITION error will be returned. If no filter is\nspecified then all entities from the export are imported.", + "$ref": "GoogleDatastoreAdminV1beta1EntityFilter" + } + }, + "id": "GoogleDatastoreAdminV1beta1ImportEntitiesRequest" + }, + "GoogleDatastoreAdminV1beta1ImportEntitiesMetadata": { + "description": "Metadata for ImportEntities operations.", + "type": "object", + "properties": { + "common": { + "description": "Metadata common to all Datastore Admin operations.", + "$ref": "GoogleDatastoreAdminV1beta1CommonMetadata" + }, + "inputUrl": { + "description": "The location of the import metadata file. This will be the same value as\nthe google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url\nfield.", + "type": "string" + }, + "progressBytes": { + "$ref": "GoogleDatastoreAdminV1beta1Progress", + "description": "An estimate of the number of bytes processed." + }, + "entityFilter": { + "description": "Description of which entities are being imported.", + "$ref": "GoogleDatastoreAdminV1beta1EntityFilter" + }, + "progressEntities": { + "$ref": "GoogleDatastoreAdminV1beta1Progress", + "description": "An estimate of the number of entities processed." + } + }, + "id": "GoogleDatastoreAdminV1beta1ImportEntitiesMetadata" + }, + "GoogleDatastoreAdminV1beta1Progress": { + "description": "Measures the progress of a particular metric.", + "type": "object", + "properties": { + "workEstimated": { + "format": "int64", + "description": "An estimate of how much work needs to be performed. May be zero if the\nwork estimate is unavailable.", + "type": "string" + }, + "workCompleted": { + "format": "int64", + "description": "The amount of work that has been completed. Note that this may be greater\nthan work_estimated.", + "type": "string" + } + }, + "id": "GoogleDatastoreAdminV1beta1Progress" + }, + "GoogleLongrunningOperation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "type": "object", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`.", + "type": "string" + }, + "error": { + "description": "The error result of the operation in case of failure or cancellation.", + "$ref": "Status" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + } + }, + "id": "GoogleLongrunningOperation" + }, + "GoogleDatastoreAdminV1beta1EntityFilter": { + "description": "Identifies a subset of entities in a project. This is specified as\ncombinations of kinds and namespaces (either or both of which may be all, as\ndescribed in the following examples).\nExample usage:\n\nEntire project:\n kinds=[], namespace_ids=[]\n\nKinds Foo and Bar in all namespaces:\n kinds=['Foo', 'Bar'], namespace_ids=[]\n\nKinds Foo and Bar only in the default namespace:\n kinds=['Foo', 'Bar'], namespace_ids=['']\n\nKinds Foo and Bar in both the default and Baz namespaces:\n kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz']\n\nThe entire Baz namespace:\n kinds=[], namespace_ids=['Baz']", + "type": "object", + "properties": { + "kinds": { + "description": "If empty, then this represents all kinds.", + "items": { + "type": "string" + }, + "type": "array" + }, + "namespaceIds": { + "description": "An empty list represents all namespaces. This is the preferred\nusage for projects that don't use namespaces.\n\nAn empty string element represents the default namespace. This should be\nused if the project has data in non-default namespaces, but doesn't want to\ninclude them.\nEach namespace in this list must be unique.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "GoogleDatastoreAdminV1beta1EntityFilter" + }, + "GoogleDatastoreAdminV1beta1CommonMetadata": { + "description": "Metadata common to all Datastore Admin operations.", + "type": "object", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "The client-assigned labels which were provided when the operation was\ncreated. May also include additional labels.", + "type": "object" + }, + "endTime": { + "format": "google-datetime", + "description": "The time the operation ended, either successfully or otherwise.", + "type": "string" + }, + "state": { + "enumDescriptions": [ + "Unspecified.", + "Request is being prepared for processing.", + "Request is actively being processed.", + "Request is in the process of being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation on the operation.", + "Request has been processed and is in its finalization stage.", + "Request has completed successfully.", + "Request has finished being processed, but encountered an error.", + "Request has finished being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation." + ], + "enum": [ + "STATE_UNSPECIFIED", + "INITIALIZING", + "PROCESSING", + "CANCELLING", + "FINALIZING", + "SUCCESSFUL", + "FAILED", + "CANCELLED" + ], + "description": "The current state of the Operation.", + "type": "string" + }, + "operationType": { + "enumDescriptions": [ + "Unspecified.", + "ExportEntities.", + "ImportEntities." + ], + "enum": [ + "OPERATION_TYPE_UNSPECIFIED", + "EXPORT_ENTITIES", + "IMPORT_ENTITIES" + ], + "description": "The type of the operation. Can be used as a filter in\nListOperationsRequest.", + "type": "string" + }, + "startTime": { + "format": "google-datetime", + "description": "The time that work began on the operation.", + "type": "string" + } + }, + "id": "GoogleDatastoreAdminV1beta1CommonMetadata" + }, + "Status": { + "properties": { + "code": { + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "type": "object", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + } + }, + "type": "array" + } + }, + "id": "Status", + "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", + "type": "object" + }, + "GoogleDatastoreAdminV1beta1ExportEntitiesRequest": { + "description": "The request for\ngoogle.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities.", + "type": "object", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Client-assigned labels.", + "type": "object" + }, + "outputUrlPrefix": { + "description": "Location for the export metadata and data files.\n\nThe full resource URL of the external storage location. Currently, only\nGoogle Cloud Storage is supported. So output_url_prefix should be of the\nform: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the\nname of the Cloud Storage bucket and `NAMESPACE_PATH` is an optional Cloud\nStorage namespace path (this is not a Cloud Datastore namespace). For more\ninformation about Cloud Storage namespace paths, see\n[Object name\nconsiderations](https://cloud.google.com/storage/docs/naming#object-considerations).\n\nThe resulting files will be nested deeper than the specified URL prefix.\nThe final output URL will be provided in the\ngoogle.datastore.admin.v1beta1.ExportEntitiesResponse.output_url\nfield. That value should be used for subsequent ImportEntities operations.\n\nBy nesting the data files deeper, the same Cloud Storage bucket can be used\nin multiple ExportEntities operations without conflict.", + "type": "string" + }, + "entityFilter": { + "description": "Description of what data from the project is included in the export.", + "$ref": "GoogleDatastoreAdminV1beta1EntityFilter" + } + }, + "id": "GoogleDatastoreAdminV1beta1ExportEntitiesRequest" + }, + "GoogleDatastoreAdminV1beta1ExportEntitiesMetadata": { + "description": "Metadata for ExportEntities operations.", + "type": "object", + "properties": { + "progressBytes": { + "$ref": "GoogleDatastoreAdminV1beta1Progress", + "description": "An estimate of the number of bytes processed." + }, + "outputUrlPrefix": { + "description": "Location for the export metadata and data files. This will be the same\nvalue as the\ngoogle.datastore.admin.v1beta1.ExportEntitiesRequest.output_url_prefix\nfield. The final output location is provided in\ngoogle.datastore.admin.v1beta1.ExportEntitiesResponse.output_url.", + "type": "string" + }, + "entityFilter": { + "description": "Description of which entities are being exported.", + "$ref": "GoogleDatastoreAdminV1beta1EntityFilter" + }, + "progressEntities": { + "$ref": "GoogleDatastoreAdminV1beta1Progress", + "description": "An estimate of the number of entities processed." + }, + "common": { + "$ref": "GoogleDatastoreAdminV1beta1CommonMetadata", + "description": "Metadata common to all Datastore Admin operations." + } + }, + "id": "GoogleDatastoreAdminV1beta1ExportEntitiesMetadata" + } + }, + "icons": { + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" + }, + "protocol": "rest", + "version": "v1beta1", + "baseUrl": "https://datastore.googleapis.com/", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/datastore": { + "description": "View and manage your Google Cloud Datastore data" + }, + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "servicePath": "", + "description": "Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application.\n", + "kind": "discovery#restDescription", + "rootUrl": "https://datastore.googleapis.com/", + "basePath": "", + "ownerDomain": "google.com", + "name": "datastore" +} diff --git a/vendor/google.golang.org/api/datastore/v1beta1/datastore-gen.go b/vendor/google.golang.org/api/datastore/v1beta1/datastore-gen.go new file mode 100644 index 000000000..e0c75dea9 --- /dev/null +++ b/vendor/google.golang.org/api/datastore/v1beta1/datastore-gen.go @@ -0,0 +1,1000 @@ +// Package datastore provides access to the Google Cloud Datastore API. +// +// See https://cloud.google.com/datastore/ +// +// Usage example: +// +// import "google.golang.org/api/datastore/v1beta1" +// ... +// datastoreService, err := datastore.New(oauthHttpClient) +package datastore // import "google.golang.org/api/datastore/v1beta1" + +import ( + "bytes" + "encoding/json" + "errors" + "fmt" + context "golang.org/x/net/context" + ctxhttp "golang.org/x/net/context/ctxhttp" + gensupport "google.golang.org/api/gensupport" + googleapi "google.golang.org/api/googleapi" + "io" + "net/http" + "net/url" + "strconv" + "strings" +) + +// Always reference these packages, just in case the auto-generated code +// below doesn't. +var _ = bytes.NewBuffer +var _ = strconv.Itoa +var _ = fmt.Sprintf +var _ = json.NewDecoder +var _ = io.Copy +var _ = url.Parse +var _ = gensupport.MarshalJSON +var _ = googleapi.Version +var _ = errors.New +var _ = strings.Replace +var _ = context.Canceled +var _ = ctxhttp.Do + +const apiId = "datastore:v1beta1" +const apiName = "datastore" +const apiVersion = "v1beta1" +const basePath = "https://datastore.googleapis.com/" + +// OAuth2 scopes used by this API. +const ( + // View and manage your data across Google Cloud Platform services + CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" + + // View and manage your Google Cloud Datastore data + DatastoreScope = "https://www.googleapis.com/auth/datastore" +) + +func New(client *http.Client) (*Service, error) { + if client == nil { + return nil, errors.New("client is nil") + } + s := &Service{client: client, BasePath: basePath} + s.Projects = NewProjectsService(s) + return s, nil +} + +type Service struct { + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + + Projects *ProjectsService +} + +func (s *Service) userAgent() string { + if s.UserAgent == "" { + return googleapi.UserAgent + } + return googleapi.UserAgent + " " + s.UserAgent +} + +func NewProjectsService(s *Service) *ProjectsService { + rs := &ProjectsService{s: s} + return rs +} + +type ProjectsService struct { + s *Service +} + +// GoogleDatastoreAdminV1beta1CommonMetadata: Metadata common to all +// Datastore Admin operations. +type GoogleDatastoreAdminV1beta1CommonMetadata struct { + // EndTime: The time the operation ended, either successfully or + // otherwise. + EndTime string `json:"endTime,omitempty"` + + // Labels: The client-assigned labels which were provided when the + // operation was + // created. May also include additional labels. + Labels map[string]string `json:"labels,omitempty"` + + // OperationType: The type of the operation. Can be used as a filter + // in + // ListOperationsRequest. + // + // Possible values: + // "OPERATION_TYPE_UNSPECIFIED" - Unspecified. + // "EXPORT_ENTITIES" - ExportEntities. + // "IMPORT_ENTITIES" - ImportEntities. + OperationType string `json:"operationType,omitempty"` + + // StartTime: The time that work began on the operation. + StartTime string `json:"startTime,omitempty"` + + // State: The current state of the Operation. + // + // Possible values: + // "STATE_UNSPECIFIED" - Unspecified. + // "INITIALIZING" - Request is being prepared for processing. + // "PROCESSING" - Request is actively being processed. + // "CANCELLING" - Request is in the process of being cancelled after + // user called + // google.longrunning.Operations.CancelOperation on the operation. + // "FINALIZING" - Request has been processed and is in its + // finalization stage. + // "SUCCESSFUL" - Request has completed successfully. + // "FAILED" - Request has finished being processed, but encountered an + // error. + // "CANCELLED" - Request has finished being cancelled after user + // called + // google.longrunning.Operations.CancelOperation. + State string `json:"state,omitempty"` + + // ForceSendFields is a list of field names (e.g. "EndTime") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDatastoreAdminV1beta1CommonMetadata) MarshalJSON() ([]byte, error) { + type noMethod GoogleDatastoreAdminV1beta1CommonMetadata + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleDatastoreAdminV1beta1EntityFilter: Identifies a subset of +// entities in a project. This is specified as +// combinations of kinds and namespaces (either or both of which may be +// all, as +// described in the following examples). +// Example usage: +// +// Entire project: +// kinds=[], namespace_ids=[] +// +// Kinds Foo and Bar in all namespaces: +// kinds=['Foo', 'Bar'], namespace_ids=[] +// +// Kinds Foo and Bar only in the default namespace: +// kinds=['Foo', 'Bar'], namespace_ids=[''] +// +// Kinds Foo and Bar in both the default and Baz namespaces: +// kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz'] +// +// The entire Baz namespace: +// kinds=[], namespace_ids=['Baz'] +type GoogleDatastoreAdminV1beta1EntityFilter struct { + // Kinds: If empty, then this represents all kinds. + Kinds []string `json:"kinds,omitempty"` + + // NamespaceIds: An empty list represents all namespaces. This is the + // preferred + // usage for projects that don't use namespaces. + // + // An empty string element represents the default namespace. This should + // be + // used if the project has data in non-default namespaces, but doesn't + // want to + // include them. + // Each namespace in this list must be unique. + NamespaceIds []string `json:"namespaceIds,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Kinds") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Kinds") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDatastoreAdminV1beta1EntityFilter) MarshalJSON() ([]byte, error) { + type noMethod GoogleDatastoreAdminV1beta1EntityFilter + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleDatastoreAdminV1beta1ExportEntitiesMetadata: Metadata for +// ExportEntities operations. +type GoogleDatastoreAdminV1beta1ExportEntitiesMetadata struct { + // Common: Metadata common to all Datastore Admin operations. + Common *GoogleDatastoreAdminV1beta1CommonMetadata `json:"common,omitempty"` + + // EntityFilter: Description of which entities are being exported. + EntityFilter *GoogleDatastoreAdminV1beta1EntityFilter `json:"entityFilter,omitempty"` + + // OutputUrlPrefix: Location for the export metadata and data files. + // This will be the same + // value as + // the + // google.datastore.admin.v1beta1.ExportEntitiesRequest.output_url_pr + // efix + // field. The final output location is provided + // in + // google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url. + OutputUrlPrefix string `json:"outputUrlPrefix,omitempty"` + + // ProgressBytes: An estimate of the number of bytes processed. + ProgressBytes *GoogleDatastoreAdminV1beta1Progress `json:"progressBytes,omitempty"` + + // ProgressEntities: An estimate of the number of entities processed. + ProgressEntities *GoogleDatastoreAdminV1beta1Progress `json:"progressEntities,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Common") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Common") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDatastoreAdminV1beta1ExportEntitiesMetadata) MarshalJSON() ([]byte, error) { + type noMethod GoogleDatastoreAdminV1beta1ExportEntitiesMetadata + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleDatastoreAdminV1beta1ExportEntitiesRequest: The request +// for +// google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities. +type GoogleDatastoreAdminV1beta1ExportEntitiesRequest struct { + // EntityFilter: Description of what data from the project is included + // in the export. + EntityFilter *GoogleDatastoreAdminV1beta1EntityFilter `json:"entityFilter,omitempty"` + + // Labels: Client-assigned labels. + Labels map[string]string `json:"labels,omitempty"` + + // OutputUrlPrefix: Location for the export metadata and data + // files. + // + // The full resource URL of the external storage location. Currently, + // only + // Google Cloud Storage is supported. So output_url_prefix should be of + // the + // form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is + // the + // name of the Cloud Storage bucket and `NAMESPACE_PATH` is an optional + // Cloud + // Storage namespace path (this is not a Cloud Datastore namespace). For + // more + // information about Cloud Storage namespace paths, see + // [Object + // name + // considerations](https://cloud.google.com/storage/docs/naming#obje + // ct-considerations). + // + // The resulting files will be nested deeper than the specified URL + // prefix. + // The final output URL will be provided in + // the + // google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url + // f + // ield. That value should be used for subsequent ImportEntities + // operations. + // + // By nesting the data files deeper, the same Cloud Storage bucket can + // be used + // in multiple ExportEntities operations without conflict. + OutputUrlPrefix string `json:"outputUrlPrefix,omitempty"` + + // ForceSendFields is a list of field names (e.g. "EntityFilter") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "EntityFilter") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDatastoreAdminV1beta1ExportEntitiesRequest) MarshalJSON() ([]byte, error) { + type noMethod GoogleDatastoreAdminV1beta1ExportEntitiesRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleDatastoreAdminV1beta1ExportEntitiesResponse: The response +// for +// google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities. +type GoogleDatastoreAdminV1beta1ExportEntitiesResponse struct { + // OutputUrl: Location of the output metadata file. This can be used to + // begin an import + // into Cloud Datastore (this project or another project). + // See + // google.datastore.admin.v1beta1.ImportEntitiesRequest.input_url. + // On + // ly present if the operation completed successfully. + OutputUrl string `json:"outputUrl,omitempty"` + + // ForceSendFields is a list of field names (e.g. "OutputUrl") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "OutputUrl") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDatastoreAdminV1beta1ExportEntitiesResponse) MarshalJSON() ([]byte, error) { + type noMethod GoogleDatastoreAdminV1beta1ExportEntitiesResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleDatastoreAdminV1beta1ImportEntitiesMetadata: Metadata for +// ImportEntities operations. +type GoogleDatastoreAdminV1beta1ImportEntitiesMetadata struct { + // Common: Metadata common to all Datastore Admin operations. + Common *GoogleDatastoreAdminV1beta1CommonMetadata `json:"common,omitempty"` + + // EntityFilter: Description of which entities are being imported. + EntityFilter *GoogleDatastoreAdminV1beta1EntityFilter `json:"entityFilter,omitempty"` + + // InputUrl: The location of the import metadata file. This will be the + // same value as + // the + // google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url + // field + // . + InputUrl string `json:"inputUrl,omitempty"` + + // ProgressBytes: An estimate of the number of bytes processed. + ProgressBytes *GoogleDatastoreAdminV1beta1Progress `json:"progressBytes,omitempty"` + + // ProgressEntities: An estimate of the number of entities processed. + ProgressEntities *GoogleDatastoreAdminV1beta1Progress `json:"progressEntities,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Common") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Common") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDatastoreAdminV1beta1ImportEntitiesMetadata) MarshalJSON() ([]byte, error) { + type noMethod GoogleDatastoreAdminV1beta1ImportEntitiesMetadata + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleDatastoreAdminV1beta1ImportEntitiesRequest: The request +// for +// google.datastore.admin.v1beta1.DatastoreAdmin.ImportEntities. +type GoogleDatastoreAdminV1beta1ImportEntitiesRequest struct { + // EntityFilter: Optionally specify which kinds/namespaces are to be + // imported. If provided, + // the list must be a subset of the EntityFilter used in creating the + // export, + // otherwise a FAILED_PRECONDITION error will be returned. If no filter + // is + // specified then all entities from the export are imported. + EntityFilter *GoogleDatastoreAdminV1beta1EntityFilter `json:"entityFilter,omitempty"` + + // InputUrl: The full resource URL of the external storage location. + // Currently, only + // Google Cloud Storage is supported. So input_url should be of the + // form: + // `gs://BUCKET_NAME[/NAMESPACE_PATH]/OVERALL_EXPORT_METADATA_FILE` + // , where + // `BUCKET_NAME` is the name of the Cloud Storage bucket, + // `NAMESPACE_PATH` is + // an optional Cloud Storage namespace path (this is not a Cloud + // Datastore + // namespace), and `OVERALL_EXPORT_METADATA_FILE` is the metadata file + // written + // by the ExportEntities operation. For more information about Cloud + // Storage + // namespace paths, see + // [Object + // name + // considerations](https://cloud.google.com/storage/docs/naming#obje + // ct-considerations). + // + // For more information, + // see + // google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url. + InputUrl string `json:"inputUrl,omitempty"` + + // Labels: Client-assigned labels. + Labels map[string]string `json:"labels,omitempty"` + + // ForceSendFields is a list of field names (e.g. "EntityFilter") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "EntityFilter") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDatastoreAdminV1beta1ImportEntitiesRequest) MarshalJSON() ([]byte, error) { + type noMethod GoogleDatastoreAdminV1beta1ImportEntitiesRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleDatastoreAdminV1beta1Progress: Measures the progress of a +// particular metric. +type GoogleDatastoreAdminV1beta1Progress struct { + // WorkCompleted: The amount of work that has been completed. Note that + // this may be greater + // than work_estimated. + WorkCompleted int64 `json:"workCompleted,omitempty,string"` + + // WorkEstimated: An estimate of how much work needs to be performed. + // May be zero if the + // work estimate is unavailable. + WorkEstimated int64 `json:"workEstimated,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "WorkCompleted") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "WorkCompleted") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDatastoreAdminV1beta1Progress) MarshalJSON() ([]byte, error) { + type noMethod GoogleDatastoreAdminV1beta1Progress + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleLongrunningOperation: This resource represents a long-running +// operation that is the result of a +// network API call. +type GoogleLongrunningOperation struct { + // Done: If the value is `false`, it means the operation is still in + // progress. + // If `true`, the operation is completed, and either `error` or + // `response` is + // available. + Done bool `json:"done,omitempty"` + + // Error: The error result of the operation in case of failure or + // cancellation. + Error *Status `json:"error,omitempty"` + + // Metadata: Service-specific metadata associated with the operation. + // It typically + // contains progress information and common metadata such as create + // time. + // Some services might not provide such metadata. Any method that + // returns a + // long-running operation should document the metadata type, if any. + Metadata googleapi.RawMessage `json:"metadata,omitempty"` + + // Name: The server-assigned name, which is only unique within the same + // service that + // originally returns it. If you use the default HTTP mapping, + // the + // `name` should have the format of `operations/some/unique/name`. + Name string `json:"name,omitempty"` + + // Response: The normal response of the operation in case of success. + // If the original + // method returns no data on success, such as `Delete`, the response + // is + // `google.protobuf.Empty`. If the original method is + // standard + // `Get`/`Create`/`Update`, the response should be the resource. For + // other + // methods, the response should have the type `XxxResponse`, where + // `Xxx` + // is the original method name. For example, if the original method + // name + // is `TakeSnapshot()`, the inferred response type + // is + // `TakeSnapshotResponse`. + Response googleapi.RawMessage `json:"response,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Done") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Done") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleLongrunningOperation) MarshalJSON() ([]byte, error) { + type noMethod GoogleLongrunningOperation + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Status: The `Status` type defines a logical error model that is +// suitable for different +// programming environments, including REST APIs and RPC APIs. It is +// used by +// [gRPC](https://github.com/grpc). The error model is designed to +// be: +// +// - Simple to use and understand for most users +// - Flexible enough to meet unexpected needs +// +// # Overview +// +// The `Status` message contains three pieces of data: error code, error +// message, +// and error details. The error code should be an enum value +// of +// google.rpc.Code, but it may accept additional error codes if needed. +// The +// error message should be a developer-facing English message that +// helps +// developers *understand* and *resolve* the error. If a localized +// user-facing +// error message is needed, put the localized message in the error +// details or +// localize it in the client. The optional error details may contain +// arbitrary +// information about the error. There is a predefined set of error +// detail types +// in the package `google.rpc` that can be used for common error +// conditions. +// +// # Language mapping +// +// The `Status` message is the logical representation of the error +// model, but it +// is not necessarily the actual wire format. When the `Status` message +// is +// exposed in different client libraries and different wire protocols, +// it can be +// mapped differently. For example, it will likely be mapped to some +// exceptions +// in Java, but more likely mapped to some error codes in C. +// +// # Other uses +// +// The error model and the `Status` message can be used in a variety +// of +// environments, either with or without APIs, to provide a +// consistent developer experience across different +// environments. +// +// Example uses of this error model include: +// +// - Partial errors. If a service needs to return partial errors to the +// client, +// it may embed the `Status` in the normal response to indicate the +// partial +// errors. +// +// - Workflow errors. A typical workflow has multiple steps. Each step +// may +// have a `Status` message for error reporting. +// +// - Batch operations. If a client uses batch request and batch +// response, the +// `Status` message should be used directly inside batch response, +// one for +// each error sub-response. +// +// - Asynchronous operations. If an API call embeds asynchronous +// operation +// results in its response, the status of those operations should +// be +// represented directly using the `Status` message. +// +// - Logging. If some API errors are stored in logs, the message +// `Status` could +// be used directly after any stripping needed for security/privacy +// reasons. +type Status struct { + // Code: The status code, which should be an enum value of + // google.rpc.Code. + Code int64 `json:"code,omitempty"` + + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. + Details []googleapi.RawMessage `json:"details,omitempty"` + + // Message: A developer-facing error message, which should be in + // English. Any + // user-facing error message should be localized and sent in + // the + // google.rpc.Status.details field, or localized by the client. + 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Status) MarshalJSON() ([]byte, error) { + type noMethod Status + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// method id "datastore.projects.export": + +type ProjectsExportCall struct { + s *Service + projectId string + googledatastoreadminv1beta1exportentitiesrequest *GoogleDatastoreAdminV1beta1ExportEntitiesRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Export: Exports a copy of all or a subset of entities from Google +// Cloud Datastore +// to another storage system, such as Google Cloud Storage. Recent +// updates to +// entities may not be reflected in the export. The export occurs in +// the +// background and its progress can be monitored and managed via +// the +// Operation resource that is created. The output of an export may only +// be +// used once the associated operation is done. If an export operation +// is +// cancelled before completion it may leave partial data behind in +// Google +// Cloud Storage. +func (r *ProjectsService) Export(projectId string, googledatastoreadminv1beta1exportentitiesrequest *GoogleDatastoreAdminV1beta1ExportEntitiesRequest) *ProjectsExportCall { + c := &ProjectsExportCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.googledatastoreadminv1beta1exportentitiesrequest = googledatastoreadminv1beta1exportentitiesrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsExportCall) Fields(s ...googleapi.Field) *ProjectsExportCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsExportCall) Context(ctx context.Context) *ProjectsExportCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsExportCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsExportCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googledatastoreadminv1beta1exportentitiesrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}:export") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "datastore.projects.export" call. +// Exactly one of *GoogleLongrunningOperation or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleLongrunningOperation.ServerResponse.Header or (if a response +// was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsExportCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, 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, &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, err + } + ret := &GoogleLongrunningOperation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Exports a copy of all or a subset of entities from Google Cloud Datastore\nto another storage system, such as Google Cloud Storage. Recent updates to\nentities may not be reflected in the export. The export occurs in the\nbackground and its progress can be monitored and managed via the\nOperation resource that is created. The output of an export may only be\nused once the associated operation is done. If an export operation is\ncancelled before completion it may leave partial data behind in Google\nCloud Storage.", + // "flatPath": "v1beta1/projects/{projectId}:export", + // "httpMethod": "POST", + // "id": "datastore.projects.export", + // "parameterOrder": [ + // "projectId" + // ], + // "parameters": { + // "projectId": { + // "description": "Project ID against which to make the request.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/projects/{projectId}:export", + // "request": { + // "$ref": "GoogleDatastoreAdminV1beta1ExportEntitiesRequest" + // }, + // "response": { + // "$ref": "GoogleLongrunningOperation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/datastore" + // ] + // } + +} + +// method id "datastore.projects.import": + +type ProjectsImportCall struct { + s *Service + projectId string + googledatastoreadminv1beta1importentitiesrequest *GoogleDatastoreAdminV1beta1ImportEntitiesRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Import: Imports entities into Google Cloud Datastore. Existing +// entities with the +// same key are overwritten. The import occurs in the background and +// its +// progress can be monitored and managed via the Operation resource that +// is +// created. If an ImportEntities operation is cancelled, it is +// possible +// that a subset of the data has already been imported to Cloud +// Datastore. +func (r *ProjectsService) Import(projectId string, googledatastoreadminv1beta1importentitiesrequest *GoogleDatastoreAdminV1beta1ImportEntitiesRequest) *ProjectsImportCall { + c := &ProjectsImportCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.googledatastoreadminv1beta1importentitiesrequest = googledatastoreadminv1beta1importentitiesrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsImportCall) Fields(s ...googleapi.Field) *ProjectsImportCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsImportCall) Context(ctx context.Context) *ProjectsImportCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsImportCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsImportCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googledatastoreadminv1beta1importentitiesrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/projects/{projectId}:import") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "datastore.projects.import" call. +// Exactly one of *GoogleLongrunningOperation or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleLongrunningOperation.ServerResponse.Header or (if a response +// was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsImportCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, 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, &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, err + } + ret := &GoogleLongrunningOperation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Imports entities into Google Cloud Datastore. Existing entities with the\nsame key are overwritten. The import occurs in the background and its\nprogress can be monitored and managed via the Operation resource that is\ncreated. If an ImportEntities operation is cancelled, it is possible\nthat a subset of the data has already been imported to Cloud Datastore.", + // "flatPath": "v1beta1/projects/{projectId}:import", + // "httpMethod": "POST", + // "id": "datastore.projects.import", + // "parameterOrder": [ + // "projectId" + // ], + // "parameters": { + // "projectId": { + // "description": "Project ID against which to make the request.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta1/projects/{projectId}:import", + // "request": { + // "$ref": "GoogleDatastoreAdminV1beta1ImportEntitiesRequest" + // }, + // "response": { + // "$ref": "GoogleLongrunningOperation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/datastore" + // ] + // } + +} diff --git a/vendor/google.golang.org/api/datastore/v1beta3/datastore-api.json b/vendor/google.golang.org/api/datastore/v1beta3/datastore-api.json index 19478cba0..9d1e24173 100644 --- a/vendor/google.golang.org/api/datastore/v1beta3/datastore-api.json +++ b/vendor/google.golang.org/api/datastore/v1beta3/datastore-api.json @@ -1,106 +1,11 @@ { - "ownerDomain": "google.com", - "name": "datastore", - "batchPath": "batch", - "documentationLink": "https://cloud.google.com/datastore/", - "revision": "20170626", - "id": "datastore:v1beta3", - "title": "Google Cloud Datastore API", "discoveryVersion": "v1", "ownerName": "Google", - "version_module": "True", + "version_module": true, "resources": { "projects": { "methods": { - "allocateIds": { - "request": { - "$ref": "AllocateIdsRequest" - }, - "description": "Allocates IDs for the given keys, which is useful for referencing an entity\nbefore it is inserted.", - "httpMethod": "POST", - "parameterOrder": [ - "projectId" - ], - "response": { - "$ref": "AllocateIdsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/datastore" - ], - "parameters": { - "projectId": { - "description": "The ID of the project against which to make the request.", - "type": "string", - "required": true, - "location": "path" - } - }, - "flatPath": "v1beta3/projects/{projectId}:allocateIds", - "path": "v1beta3/projects/{projectId}:allocateIds", - "id": "datastore.projects.allocateIds" - }, - "commit": { - "id": "datastore.projects.commit", - "path": "v1beta3/projects/{projectId}:commit", - "request": { - "$ref": "CommitRequest" - }, - "description": "Commits a transaction, optionally creating, deleting or modifying some\nentities.", - "response": { - "$ref": "CommitResponse" - }, - "parameterOrder": [ - "projectId" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/datastore" - ], - "parameters": { - "projectId": { - "description": "The ID of the project against which to make the request.", - "type": "string", - "required": true, - "location": "path" - } - }, - "flatPath": "v1beta3/projects/{projectId}:commit" - }, - "beginTransaction": { - "request": { - "$ref": "BeginTransactionRequest" - }, - "description": "Begins a new transaction.", - "httpMethod": "POST", - "parameterOrder": [ - "projectId" - ], - "response": { - "$ref": "BeginTransactionResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/datastore" - ], - "parameters": { - "projectId": { - "description": "The ID of the project against which to make the request.", - "type": "string", - "required": true, - "location": "path" - } - }, - "flatPath": "v1beta3/projects/{projectId}:beginTransaction", - "path": "v1beta3/projects/{projectId}:beginTransaction", - "id": "datastore.projects.beginTransaction" - }, "runQuery": { - "request": { - "$ref": "RunQueryRequest" - }, - "description": "Queries for entities.", "response": { "$ref": "RunQueryResponse" }, @@ -108,10 +13,6 @@ "projectId" ], "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/datastore" - ], "parameters": { "projectId": { "description": "The ID of the project against which to make the request.", @@ -120,25 +21,117 @@ "location": "path" } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/datastore" + ], "flatPath": "v1beta3/projects/{projectId}:runQuery", "id": "datastore.projects.runQuery", - "path": "v1beta3/projects/{projectId}:runQuery" + "path": "v1beta3/projects/{projectId}:runQuery", + "description": "Queries for entities.", + "request": { + "$ref": "RunQueryRequest" + } }, "rollback": { + "response": { + "$ref": "RollbackResponse" + }, + "parameterOrder": [ + "projectId" + ], + "httpMethod": "POST", + "parameters": { + "projectId": { + "description": "The ID of the project against which to make the request.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/datastore" + ], "flatPath": "v1beta3/projects/{projectId}:rollback", - "path": "v1beta3/projects/{projectId}:rollback", "id": "datastore.projects.rollback", + "path": "v1beta3/projects/{projectId}:rollback", "description": "Rolls back a transaction.", "request": { "$ref": "RollbackRequest" + } + }, + "lookup": { + "path": "v1beta3/projects/{projectId}:lookup", + "id": "datastore.projects.lookup", + "description": "Looks up entities by key.", + "request": { + "$ref": "LookupRequest" }, "httpMethod": "POST", "parameterOrder": [ "projectId" ], "response": { - "$ref": "RollbackResponse" + "$ref": "LookupResponse" }, + "parameters": { + "projectId": { + "description": "The ID of the project against which to make the request.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/datastore" + ], + "flatPath": "v1beta3/projects/{projectId}:lookup" + }, + "allocateIds": { + "flatPath": "v1beta3/projects/{projectId}:allocateIds", + "path": "v1beta3/projects/{projectId}:allocateIds", + "id": "datastore.projects.allocateIds", + "description": "Allocates IDs for the given keys, which is useful for referencing an entity\nbefore it is inserted.", + "request": { + "$ref": "AllocateIdsRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "projectId" + ], + "response": { + "$ref": "AllocateIdsResponse" + }, + "parameters": { + "projectId": { + "description": "The ID of the project against which to make the request.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/datastore" + ] + }, + "commit": { + "flatPath": "v1beta3/projects/{projectId}:commit", + "id": "datastore.projects.commit", + "path": "v1beta3/projects/{projectId}:commit", + "description": "Commits a transaction, optionally creating, deleting or modifying some\nentities.", + "request": { + "$ref": "CommitRequest" + }, + "response": { + "$ref": "CommitResponse" + }, + "parameterOrder": [ + "projectId" + ], + "httpMethod": "POST", "parameters": { "projectId": { "location": "path", @@ -152,48 +145,38 @@ "https://www.googleapis.com/auth/datastore" ] }, - "lookup": { + "beginTransaction": { + "flatPath": "v1beta3/projects/{projectId}:beginTransaction", + "path": "v1beta3/projects/{projectId}:beginTransaction", + "id": "datastore.projects.beginTransaction", + "description": "Begins a new transaction.", "request": { - "$ref": "LookupRequest" + "$ref": "BeginTransactionRequest" }, - "description": "Looks up entities by key.", "httpMethod": "POST", "parameterOrder": [ "projectId" ], "response": { - "$ref": "LookupResponse" + "$ref": "BeginTransactionResponse" + }, + "parameters": { + "projectId": { + "type": "string", + "required": true, + "location": "path", + "description": "The ID of the project against which to make the request." + } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/datastore" - ], - "parameters": { - "projectId": { - "description": "The ID of the project against which to make the request.", - "type": "string", - "required": true, - "location": "path" - } - }, - "flatPath": "v1beta3/projects/{projectId}:lookup", - "path": "v1beta3/projects/{projectId}:lookup", - "id": "datastore.projects.lookup" + ] } } } }, "parameters": { - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" - }, - "bearer_token": { - "location": "query", - "description": "OAuth bearer token.", - "type": "string" - }, "upload_protocol": { "location": "query", "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", @@ -206,107 +189,442 @@ "type": "boolean" }, "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", "type": "string", - "location": "query" + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")." }, "fields": { "location": "query", "description": "Selector specifying which fields to include in a partial response.", "type": "string" }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, "$.xgafv": { - "enum": [ - "1", - "2" - ], "description": "V1 error format.", "type": "string", "enumDescriptions": [ "v1 error format", "v2 error format" ], - "location": "query" + "location": "query", + "enum": [ + "1", + "2" + ] + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" }, "alt": { - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], "type": "string", "enumDescriptions": [ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", "Responses with Content-Type of application/x-protobuf" ], - "location": "query" - }, - "key": { "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ] }, "access_token": { "location": "query", "description": "OAuth access token.", "type": "string" }, - "quotaUser": { - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", "type": "string", "location": "query" }, + "quotaUser": { + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string" + }, "pp": { "location": "query", "description": "Pretty-print response.", "default": "true", "type": "boolean" + }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", + "location": "query" } }, "schemas": { + "CompositeFilter": { + "description": "A filter that merges multiple other filters using the given operator.", + "type": "object", + "properties": { + "filters": { + "description": "The list of filters to combine.\nMust contain at least one filter.", + "items": { + "$ref": "Filter" + }, + "type": "array" + }, + "op": { + "enum": [ + "OPERATOR_UNSPECIFIED", + "AND" + ], + "description": "The operator for combining multiple filters.", + "type": "string", + "enumDescriptions": [ + "Unspecified. This value must not be used.", + "The results are required to satisfy each of the combined filters." + ] + } + }, + "id": "CompositeFilter" + }, + "GoogleDatastoreAdminV1beta1ImportEntitiesMetadata": { + "properties": { + "entityFilter": { + "$ref": "GoogleDatastoreAdminV1beta1EntityFilter", + "description": "Description of which entities are being imported." + }, + "progressEntities": { + "$ref": "GoogleDatastoreAdminV1beta1Progress", + "description": "An estimate of the number of entities processed." + }, + "common": { + "$ref": "GoogleDatastoreAdminV1beta1CommonMetadata", + "description": "Metadata common to all Datastore Admin operations." + }, + "inputUrl": { + "description": "The location of the import metadata file. This will be the same value as\nthe google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url\nfield.", + "type": "string" + }, + "progressBytes": { + "description": "An estimate of the number of bytes processed.", + "$ref": "GoogleDatastoreAdminV1beta1Progress" + } + }, + "id": "GoogleDatastoreAdminV1beta1ImportEntitiesMetadata", + "description": "Metadata for ImportEntities operations.", + "type": "object" + }, + "AllocateIdsResponse": { + "description": "The response for Datastore.AllocateIds.", + "type": "object", + "properties": { + "keys": { + "description": "The keys specified in the request (in the same order), each with\nits key path completed with a newly allocated ID.", + "items": { + "$ref": "Key" + }, + "type": "array" + } + }, + "id": "AllocateIdsResponse" + }, + "Query": { + "description": "A query for entities.", + "type": "object", + "properties": { + "limit": { + "format": "int32", + "description": "The maximum number of results to return. Applies after all other\nconstraints. Optional.\nUnspecified is interpreted as no limit.\nMust be \u003e= 0 if specified.", + "type": "integer" + }, + "filter": { + "$ref": "Filter", + "description": "The filter to apply." + }, + "offset": { + "format": "int32", + "description": "The number of results to skip. Applies before limit, but after all other\nconstraints. Optional. Must be \u003e= 0 if specified.", + "type": "integer" + }, + "startCursor": { + "format": "byte", + "description": "A starting point for the query results. Query cursors are\nreturned in query result batches and\n[can only be used to continue the same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).", + "type": "string" + }, + "kind": { + "description": "The kinds to query (if empty, returns entities of all kinds).\nCurrently at most 1 kind may be specified.", + "items": { + "$ref": "KindExpression" + }, + "type": "array" + }, + "distinctOn": { + "description": "The properties to make distinct. The query results will contain the first\nresult for each distinct combination of values for the given properties\n(if empty, all results are returned).", + "items": { + "$ref": "PropertyReference" + }, + "type": "array" + }, + "order": { + "description": "The order to apply to the query results (if empty, order is unspecified).", + "items": { + "$ref": "PropertyOrder" + }, + "type": "array" + }, + "projection": { + "description": "The projection to return. Defaults to returning all properties.", + "items": { + "$ref": "Projection" + }, + "type": "array" + }, + "endCursor": { + "format": "byte", + "description": "An ending point for the query results. Query cursors are\nreturned in query result batches and\n[can only be used to limit the same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).", + "type": "string" + } + }, + "id": "Query" + }, + "ReadOnly": { + "description": "Options specific to read-only transactions.", + "type": "object", + "properties": {}, + "id": "ReadOnly" + }, + "PropertyFilter": { + "description": "A filter on a specific property.", + "type": "object", + "properties": { + "value": { + "$ref": "Value", + "description": "The value to compare the property to." + }, + "property": { + "$ref": "PropertyReference", + "description": "The property to filter by." + }, + "op": { + "description": "The operator to filter by.", + "type": "string", + "enumDescriptions": [ + "Unspecified. This value must not be used.", + "Less than.", + "Less than or equal.", + "Greater than.", + "Greater than or equal.", + "Equal.", + "Has ancestor." + ], + "enum": [ + "OPERATOR_UNSPECIFIED", + "LESS_THAN", + "LESS_THAN_OR_EQUAL", + "GREATER_THAN", + "GREATER_THAN_OR_EQUAL", + "EQUAL", + "HAS_ANCESTOR" + ] + } + }, + "id": "PropertyFilter" + }, + "EntityResult": { + "type": "object", + "properties": { + "cursor": { + "format": "byte", + "description": "A cursor that points to the position after the result entity.\nSet only when the `EntityResult` is part of a `QueryResultBatch` message.", + "type": "string" + }, + "version": { + "format": "int64", + "description": "The version of the entity, a strictly positive number that monotonically\nincreases with changes to the entity.\n\nThis field is set for `FULL` entity\nresults.\n\nFor missing entities in `LookupResponse`, this\nis the version of the snapshot that was used to look up the entity, and it\nis always set except for eventually consistent reads.", + "type": "string" + }, + "entity": { + "description": "The resulting entity.", + "$ref": "Entity" + } + }, + "id": "EntityResult", + "description": "The result of fetching an entity from Datastore." + }, + "Value": { + "description": "A message that can hold any of the supported value types and associated\nmetadata.", + "type": "object", + "properties": { + "stringValue": { + "description": "A UTF-8 encoded string value.\nWhen `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.\nOtherwise, may be set to at least 1,000,000 bytes.", + "type": "string" + }, + "excludeFromIndexes": { + "description": "If the value should be excluded from all indexes including those defined\nexplicitly.", + "type": "boolean" + }, + "doubleValue": { + "format": "double", + "description": "A double value.", + "type": "number" + }, + "timestampValue": { + "format": "google-datetime", + "description": "A timestamp value.\nWhen stored in the Datastore, precise only to microseconds;\nany additional precision is rounded down.", + "type": "string" + }, + "booleanValue": { + "description": "A boolean value.", + "type": "boolean" + }, + "nullValue": { + "type": "string", + "enumDescriptions": [ + "Null value." + ], + "enum": [ + "NULL_VALUE" + ], + "description": "A null value." + }, + "blobValue": { + "format": "byte", + "description": "A blob value.\nMay have at most 1,000,000 bytes.\nWhen `exclude_from_indexes` is false, may have at most 1500 bytes.\nIn JSON requests, must be base64-encoded.", + "type": "string" + }, + "meaning": { + "format": "int32", + "description": "The `meaning` field should only be populated for backwards compatibility.", + "type": "integer" + }, + "arrayValue": { + "description": "An array value.\nCannot contain another array value.\nA `Value` instance that sets field `array_value` must not set fields\n`meaning` or `exclude_from_indexes`.", + "$ref": "ArrayValue" + }, + "entityValue": { + "$ref": "Entity", + "description": "An entity value.\n\n- May have no key.\n- May have a key with an incomplete key path.\n- May have a reserved/read-only key." + }, + "geoPointValue": { + "$ref": "LatLng", + "description": "A geo point value representing a point on the surface of Earth." + }, + "integerValue": { + "format": "int64", + "description": "An integer value.", + "type": "string" + }, + "keyValue": { + "$ref": "Key", + "description": "A key value." + } + }, + "id": "Value" + }, + "CommitResponse": { + "id": "CommitResponse", + "description": "The response for Datastore.Commit.", + "type": "object", + "properties": { + "mutationResults": { + "description": "The result of performing the mutations.\nThe i-th mutation result corresponds to the i-th mutation in the request.", + "items": { + "$ref": "MutationResult" + }, + "type": "array" + }, + "indexUpdates": { + "format": "int32", + "description": "The number of index entries updated during the commit, or zero if none were\nupdated.", + "type": "integer" + } + } + }, "PartitionId": { "description": "A partition ID identifies a grouping of entities. The grouping is always\nby project and namespace, however the namespace ID may be empty.\n\nA partition ID contains several dimensions:\nproject ID and namespace ID.\n\nPartition dimensions:\n\n- May be `\"\"`.\n- Must be valid UTF-8 bytes.\n- Must have values that match regex `[A-Za-z\\d\\.\\-_]{1,100}`\nIf the value of any dimension matches regex `__.*__`, the partition is\nreserved/read-only.\nA reserved/read-only partition ID is forbidden in certain documented\ncontexts.\n\nForeign partition IDs (in which the project ID does\nnot match the context project ID ) are discouraged.\nReads and writes of foreign partition IDs may fail if the project is not in an active state.", "type": "object", "properties": { + "projectId": { + "type": "string", + "description": "The ID of the project to which the entities belong." + }, "namespaceId": { "description": "If not empty, the ID of the namespace to which the entities belong.", "type": "string" - }, - "projectId": { - "description": "The ID of the project to which the entities belong.", - "type": "string" } }, "id": "PartitionId" }, + "ReadWrite": { + "description": "Options specific to read / write transactions.", + "type": "object", + "properties": { + "previousTransaction": { + "format": "byte", + "description": "The transaction identifier of the transaction being retried.", + "type": "string" + } + }, + "id": "ReadWrite" + }, "Entity": { + "id": "Entity", "description": "A Datastore data object.\n\nAn entity is limited to 1 megabyte when stored. That _roughly_\ncorresponds to a limit of 1 megabyte for the serialized form of this\nmessage.", "type": "object", "properties": { + "properties": { + "description": "The entity's properties.\nThe map's keys are property names.\nA property name matching regex `__.*__` is reserved.\nA reserved property name is forbidden in certain documented contexts.\nThe name must not contain more than 500 characters.\nThe name cannot be `\"\"`.", + "type": "object", + "additionalProperties": { + "$ref": "Value" + } + }, "key": { "$ref": "Key", "description": "The entity's key.\n\nAn entity must have a key, unless otherwise documented (for example,\nan entity in `Value.entity_value` may have no key).\nAn entity's kind is its key path's last element's kind,\nor null if it has no key." + } + } + }, + "LookupRequest": { + "description": "The request for Datastore.Lookup.", + "type": "object", + "properties": { + "readOptions": { + "description": "The options for this lookup request.", + "$ref": "ReadOptions" }, - "properties": { - "additionalProperties": { - "$ref": "Value" + "keys": { + "description": "Keys of entities to look up.", + "items": { + "$ref": "Key" }, - "description": "The entity's properties.\nThe map's keys are property names.\nA property name matching regex `__.*__` is reserved.\nA reserved property name is forbidden in certain documented contexts.\nThe name must not contain more than 500 characters.\nThe name cannot be `\"\"`.", - "type": "object" + "type": "array" } }, - "id": "Entity" + "id": "LookupRequest" + }, + "GoogleDatastoreAdminV1beta1Progress": { + "description": "Measures the progress of a particular metric.", + "type": "object", + "properties": { + "workEstimated": { + "format": "int64", + "description": "An estimate of how much work needs to be performed. May be zero if the\nwork estimate is unavailable.", + "type": "string" + }, + "workCompleted": { + "format": "int64", + "description": "The amount of work that has been completed. Note that this may be greater\nthan work_estimated.", + "type": "string" + } + }, + "id": "GoogleDatastoreAdminV1beta1Progress" }, "QueryResultBatch": { - "description": "A batch of results produced by a query.", "type": "object", "properties": { "skippedCursor": { @@ -336,11 +654,11 @@ "type": "string" }, "entityResults": { - "description": "The results for this batch.", "items": { "$ref": "EntityResult" }, - "type": "array" + "type": "array", + "description": "The results for this batch." }, "endCursor": { "format": "byte", @@ -348,14 +666,12 @@ "type": "string" }, "moreResults": { - "description": "The state of the query after the current batch.", - "type": "string", "enumDescriptions": [ "Unspecified. This value is never used.", "There may be additional batches to fetch from this query.", "The query is finished, but there may be more results after the limit.", "The query is finished, but there may be more results after the end\ncursor.", - "The query has been exhausted." + "The query is finished, and there are no more results." ], "enum": [ "MORE_RESULTS_TYPE_UNSPECIFIED", @@ -363,7 +679,9 @@ "MORE_RESULTS_AFTER_LIMIT", "MORE_RESULTS_AFTER_CURSOR", "NO_MORE_RESULTS" - ] + ], + "description": "The state of the query after the current batch.", + "type": "string" }, "snapshotVersion": { "format": "int64", @@ -371,28 +689,18 @@ "type": "string" } }, - "id": "QueryResultBatch" - }, - "LookupRequest": { - "properties": { - "readOptions": { - "description": "The options for this lookup request.", - "$ref": "ReadOptions" - }, - "keys": { - "description": "Keys of entities to look up.", - "items": { - "$ref": "Key" - }, - "type": "array" - } - }, - "id": "LookupRequest", - "description": "The request for Datastore.Lookup.", - "type": "object" + "id": "QueryResultBatch", + "description": "A batch of results produced by a query." }, "PathElement": { + "description": "A (kind, ID/name) pair used to construct a key path.\n\nIf either name or ID is set, the element is complete.\nIf neither is set, the element is incomplete.", + "type": "object", "properties": { + "id": { + "format": "int64", + "description": "The auto-allocated ID of the entity.\nNever equal to zero. Values less than zero are discouraged and may not\nbe supported in the future.", + "type": "string" + }, "name": { "description": "The name of the entity.\nA name matching regex `__.*__` is reserved/read-only.\nA name must not be more than 1500 bytes when UTF-8 encoded.\nCannot be `\"\"`.", "type": "string" @@ -400,19 +708,11 @@ "kind": { "description": "The kind of the entity.\nA kind matching regex `__.*__` is reserved/read-only.\nA kind must not contain more than 1500 bytes when UTF-8 encoded.\nCannot be `\"\"`.", "type": "string" - }, - "id": { - "format": "int64", - "description": "The auto-allocated ID of the entity.\nNever equal to zero. Values less than zero are discouraged and may not\nbe supported in the future.", - "type": "string" } }, - "id": "PathElement", - "description": "A (kind, ID/name) pair used to construct a key path.\n\nIf either name or ID is set, the element is complete.\nIf neither is set, the element is incomplete.", - "type": "object" + "id": "PathElement" }, "GqlQueryParameter": { - "description": "A binding parameter for a GQL query.", "type": "object", "properties": { "cursor": { @@ -425,7 +725,8 @@ "description": "A value parameter." } }, - "id": "GqlQueryParameter" + "id": "GqlQueryParameter", + "description": "A binding parameter for a GQL query." }, "BeginTransactionResponse": { "description": "The response for Datastore.BeginTransaction.", @@ -439,22 +740,23 @@ }, "id": "BeginTransactionResponse" }, - "RunQueryResponse": { - "description": "The response for Datastore.RunQuery.", + "AllocateIdsRequest": { + "description": "The request for Datastore.AllocateIds.", "type": "object", "properties": { - "query": { - "$ref": "Query", - "description": "The parsed form of the `GqlQuery` from the request, if it was set." - }, - "batch": { - "description": "A batch of query results (always present).", - "$ref": "QueryResultBatch" + "keys": { + "description": "A list of keys with incomplete key paths for which to allocate IDs.\nNo key may be reserved/read-only.", + "items": { + "$ref": "Key" + }, + "type": "array" } }, - "id": "RunQueryResponse" + "id": "AllocateIdsRequest" }, "LookupResponse": { + "description": "The response for Datastore.Lookup.", + "type": "object", "properties": { "deferred": { "description": "A list of keys that were not looked up due to resource constraints. The\norder of results in this field is undefined and has no relation to the\norder of the keys in the input.", @@ -478,50 +780,26 @@ "type": "array" } }, - "id": "LookupResponse", - "description": "The response for Datastore.Lookup.", - "type": "object" + "id": "LookupResponse" }, - "AllocateIdsRequest": { + "RunQueryResponse": { + "description": "The response for Datastore.RunQuery.", + "type": "object", "properties": { - "keys": { - "description": "A list of keys with incomplete key paths for which to allocate IDs.\nNo key may be reserved/read-only.", - "items": { - "$ref": "Key" - }, - "type": "array" - } - }, - "id": "AllocateIdsRequest", - "description": "The request for Datastore.AllocateIds.", - "type": "object" - }, - "PropertyOrder": { - "properties": { - "direction": { - "enum": [ - "DIRECTION_UNSPECIFIED", - "ASCENDING", - "DESCENDING" - ], - "description": "The direction to order by. Defaults to `ASCENDING`.", - "type": "string", - "enumDescriptions": [ - "Unspecified. This value must not be used.", - "Ascending.", - "Descending." - ] + "query": { + "$ref": "Query", + "description": "The parsed form of the `GqlQuery` from the request, if it was set." }, - "property": { - "$ref": "PropertyReference", - "description": "The property to order by." + "batch": { + "description": "A batch of query results (always present).", + "$ref": "QueryResultBatch" } }, - "id": "PropertyOrder", - "description": "The desired order for a specific property.", - "type": "object" + "id": "RunQueryResponse" }, "CommitRequest": { + "description": "The request for Datastore.Commit.", + "type": "object", "properties": { "transaction": { "format": "byte", @@ -529,7 +807,6 @@ "type": "string" }, "mode": { - "description": "The type of commit to perform. Defaults to `TRANSACTIONAL`.", "type": "string", "enumDescriptions": [ "Unspecified. This value must not be used.", @@ -540,40 +817,67 @@ "MODE_UNSPECIFIED", "TRANSACTIONAL", "NON_TRANSACTIONAL" - ] + ], + "description": "The type of commit to perform. Defaults to `TRANSACTIONAL`." }, "mutations": { - "description": "The mutations to perform.\n\nWhen mode is `TRANSACTIONAL`, mutations affecting a single entity are\napplied in order. The following sequences of mutations affecting a single\nentity are not permitted in a single `Commit` request:\n\n- `insert` followed by `insert`\n- `update` followed by `insert`\n- `upsert` followed by `insert`\n- `delete` followed by `update`\n\nWhen mode is `NON_TRANSACTIONAL`, no two mutations may affect a single\nentity.", "items": { "$ref": "Mutation" }, - "type": "array" + "type": "array", + "description": "The mutations to perform.\n\nWhen mode is `TRANSACTIONAL`, mutations affecting a single entity are\napplied in order. The following sequences of mutations affecting a single\nentity are not permitted in a single `Commit` request:\n\n- `insert` followed by `insert`\n- `update` followed by `insert`\n- `upsert` followed by `insert`\n- `delete` followed by `update`\n\nWhen mode is `NON_TRANSACTIONAL`, no two mutations may affect a single\nentity." } }, - "id": "CommitRequest", - "description": "The request for Datastore.Commit.", - "type": "object" + "id": "CommitRequest" }, "BeginTransactionRequest": { - "properties": {}, - "id": "BeginTransactionRequest", "description": "The request for Datastore.BeginTransaction.", - "type": "object" - }, - "KindExpression": { + "type": "object", "properties": { - "name": { - "description": "The name of the kind.", - "type": "string" + "transactionOptions": { + "$ref": "TransactionOptions", + "description": "Options for a new transaction." } }, - "id": "KindExpression", + "id": "BeginTransactionRequest" + }, + "PropertyOrder": { + "id": "PropertyOrder", + "description": "The desired order for a specific property.", + "type": "object", + "properties": { + "direction": { + "enumDescriptions": [ + "Unspecified. This value must not be used.", + "Ascending.", + "Descending." + ], + "enum": [ + "DIRECTION_UNSPECIFIED", + "ASCENDING", + "DESCENDING" + ], + "description": "The direction to order by. Defaults to `ASCENDING`.", + "type": "string" + }, + "property": { + "description": "The property to order by.", + "$ref": "PropertyReference" + } + } + }, + "KindExpression": { "description": "A representation of a kind.", - "type": "object" + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the kind." + } + }, + "id": "KindExpression" }, "Key": { - "description": "A unique identifier for an entity.\nIf a key's partition ID or any of its path kinds or names are\nreserved/read-only, the key is reserved/read-only.\nA reserved/read-only key is forbidden in certain documented contexts.", - "type": "object", "properties": { "partitionId": { "$ref": "PartitionId", @@ -587,25 +891,48 @@ "type": "array" } }, - "id": "Key" + "id": "Key", + "description": "A unique identifier for an entity.\nIf a key's partition ID or any of its path kinds or names are\nreserved/read-only, the key is reserved/read-only.\nA reserved/read-only key is forbidden in certain documented contexts.", + "type": "object" }, "LatLng": { "description": "An object representing a latitude/longitude pair. This is expressed as a pair\nof doubles representing degrees latitude and degrees longitude. Unless\nspecified otherwise, this must conform to the\n\u003ca href=\"http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf\"\u003eWGS84\nstandard\u003c/a\u003e. Values must be within normalized ranges.\n\nExample of normalization code in Python:\n\n def NormalizeLongitude(longitude):\n \"\"\"Wraps decimal degrees longitude to [-180.0, 180.0].\"\"\"\n q, r = divmod(longitude, 360.0)\n if r \u003e 180.0 or (r == 180.0 and q \u003c= -1.0):\n return r - 360.0\n return r\n\n def NormalizeLatLng(latitude, longitude):\n \"\"\"Wraps decimal degrees latitude and longitude to\n [-90.0, 90.0] and [-180.0, 180.0], respectively.\"\"\"\n r = latitude % 360.0\n if r \u003c= 90.0:\n return r, NormalizeLongitude(longitude)\n elif r \u003e= 270.0:\n return r - 360, NormalizeLongitude(longitude)\n else:\n return 180 - r, NormalizeLongitude(longitude + 180.0)\n\n assert 180.0 == NormalizeLongitude(180.0)\n assert -180.0 == NormalizeLongitude(-180.0)\n assert -179.0 == NormalizeLongitude(181.0)\n assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)\n assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)\n assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)\n assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)\n assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)\n assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)\n assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)\n assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)\n assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)\n assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)", "type": "object", "properties": { + "latitude": { + "type": "number", + "format": "double", + "description": "The latitude in degrees. It must be in the range [-90.0, +90.0]." + }, "longitude": { "format": "double", "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].", "type": "number" - }, - "latitude": { - "format": "double", - "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", - "type": "number" } }, "id": "LatLng" }, + "GoogleDatastoreAdminV1beta1EntityFilter": { + "type": "object", + "properties": { + "namespaceIds": { + "description": "An empty list represents all namespaces. This is the preferred\nusage for projects that don't use namespaces.\n\nAn empty string element represents the default namespace. This should be\nused if the project has data in non-default namespaces, but doesn't want to\ninclude them.\nEach namespace in this list must be unique.", + "items": { + "type": "string" + }, + "type": "array" + }, + "kinds": { + "description": "If empty, then this represents all kinds.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "GoogleDatastoreAdminV1beta1EntityFilter", + "description": "Identifies a subset of entities in a project. This is specified as\ncombinations of kinds and namespaces (either or both of which may be all, as\ndescribed in the following examples).\nExample usage:\n\nEntire project:\n kinds=[], namespace_ids=[]\n\nKinds Foo and Bar in all namespaces:\n kinds=['Foo', 'Bar'], namespace_ids=[]\n\nKinds Foo and Bar only in the default namespace:\n kinds=['Foo', 'Bar'], namespace_ids=['']\n\nKinds Foo and Bar in both the default and Baz namespaces:\n kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz']\n\nThe entire Baz namespace:\n kinds=[], namespace_ids=['Baz']" + }, "PropertyReference": { "description": "A reference to a property relative to the kind expressions.", "type": "object", @@ -617,31 +944,93 @@ }, "id": "PropertyReference" }, + "GoogleDatastoreAdminV1beta1CommonMetadata": { + "description": "Metadata common to all Datastore Admin operations.", + "type": "object", + "properties": { + "state": { + "enum": [ + "STATE_UNSPECIFIED", + "INITIALIZING", + "PROCESSING", + "CANCELLING", + "FINALIZING", + "SUCCESSFUL", + "FAILED", + "CANCELLED" + ], + "description": "The current state of the Operation.", + "type": "string", + "enumDescriptions": [ + "Unspecified.", + "Request is being prepared for processing.", + "Request is actively being processed.", + "Request is in the process of being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation on the operation.", + "Request has been processed and is in its finalization stage.", + "Request has completed successfully.", + "Request has finished being processed, but encountered an error.", + "Request has finished being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation." + ] + }, + "operationType": { + "enumDescriptions": [ + "Unspecified.", + "ExportEntities.", + "ImportEntities." + ], + "enum": [ + "OPERATION_TYPE_UNSPECIFIED", + "EXPORT_ENTITIES", + "IMPORT_ENTITIES" + ], + "description": "The type of the operation. Can be used as a filter in\nListOperationsRequest.", + "type": "string" + }, + "startTime": { + "format": "google-datetime", + "description": "The time that work began on the operation.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "The client-assigned labels which were provided when the operation was\ncreated. May also include additional labels.", + "type": "object" + }, + "endTime": { + "format": "google-datetime", + "description": "The time the operation ended, either successfully or otherwise.", + "type": "string" + } + }, + "id": "GoogleDatastoreAdminV1beta1CommonMetadata" + }, + "ArrayValue": { + "id": "ArrayValue", + "description": "An array value.", + "type": "object", + "properties": { + "values": { + "items": { + "$ref": "Value" + }, + "type": "array", + "description": "Values in the array.\nThe order of this array may not be preserved if it contains a mix of\nindexed and unindexed values." + } + } + }, "Projection": { "properties": { "property": { - "description": "The property to project.", - "$ref": "PropertyReference" + "$ref": "PropertyReference", + "description": "The property to project." } }, "id": "Projection", "description": "A representation of a property in a projection.", "type": "object" }, - "ArrayValue": { - "description": "An array value.", - "type": "object", - "properties": { - "values": { - "description": "Values in the array.\nThe order of this array may not be preserved if it contains a mix of\nindexed and unindexed values.", - "items": { - "$ref": "Value" - }, - "type": "array" - } - }, - "id": "ArrayValue" - }, "Mutation": { "description": "A mutation to apply to an entity.", "type": "object", @@ -651,9 +1040,9 @@ "description": "The key of the entity to delete. The entity may or may not already exist.\nMust have a complete key path and must not be reserved/read-only." }, "baseVersion": { + "type": "string", "format": "int64", - "description": "The version of the entity that this mutation is being applied to. If this\ndoes not match the current version on the server, the mutation conflicts.", - "type": "string" + "description": "The version of the entity that this mutation is being applied to. If this\ndoes not match the current version on the server, the mutation conflicts." }, "insert": { "$ref": "Entity", @@ -664,14 +1053,13 @@ "description": "The entity to update. The entity must already exist.\nMust have a complete key path." }, "upsert": { - "description": "The entity to upsert. The entity may or may not already exist.\nThe entity key's final path element may be incomplete.", - "$ref": "Entity" + "$ref": "Entity", + "description": "The entity to upsert. The entity may or may not already exist.\nThe entity key's final path element may be incomplete." } }, "id": "Mutation" }, "ReadOptions": { - "description": "The options shared by read requests.", "type": "object", "properties": { "transaction": { @@ -694,30 +1082,42 @@ "type": "string" } }, - "id": "ReadOptions" + "id": "ReadOptions", + "description": "The options shared by read requests." + }, + "GoogleDatastoreAdminV1beta1ExportEntitiesResponse": { + "description": "The response for\ngoogle.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities.", + "type": "object", + "properties": { + "outputUrl": { + "description": "Location of the output metadata file. This can be used to begin an import\ninto Cloud Datastore (this project or another project). See\ngoogle.datastore.admin.v1beta1.ImportEntitiesRequest.input_url.\nOnly present if the operation completed successfully.", + "type": "string" + } + }, + "id": "GoogleDatastoreAdminV1beta1ExportEntitiesResponse" }, "RollbackResponse": { - "properties": {}, - "id": "RollbackResponse", "description": "The response for Datastore.Rollback.\n(an empty message).", - "type": "object" + "type": "object", + "properties": {}, + "id": "RollbackResponse" }, "MutationResult": { "description": "The result of applying a mutation.", "type": "object", "properties": { - "version": { - "format": "int64", - "description": "The version of the entity on the server after processing the mutation. If\nthe mutation doesn't change anything on the server, then the version will\nbe the version of the current entity or, if no entity is present, a version\nthat is strictly greater than the version of any previous entity and less\nthan the version of any possible future entity.", - "type": "string" - }, "conflictDetected": { "description": "Whether a conflict was detected for this mutation. Always false when a\nconflict detection strategy field is not set in the mutation.", "type": "boolean" }, "key": { - "$ref": "Key", - "description": "The automatically allocated key.\nSet only when the mutation allocated a key." + "description": "The automatically allocated key.\nSet only when the mutation allocated a key.", + "$ref": "Key" + }, + "version": { + "format": "int64", + "description": "The version of the entity on the server after processing the mutation. If\nthe mutation doesn't change anything on the server, then the version will\nbe the version of the current entity or, if no entity is present, a version\nthat is strictly greater than the version of any previous entity and less\nthan the version of any possible future entity.", + "type": "string" } }, "id": "MutationResult" @@ -729,11 +1129,11 @@ "type": "string" }, "positionalBindings": { - "description": "Numbered binding site @1 references the first numbered parameter,\neffectively using 1-based indexing, rather than the usual 0.\n\nFor each binding site numbered i in `query_string`, there must be an i-th\nnumbered parameter. The inverse must also be true.", "items": { "$ref": "GqlQueryParameter" }, - "type": "array" + "type": "array", + "description": "Numbered binding site @1 references the first numbered parameter,\neffectively using 1-based indexing, rather than the usual 0.\n\nFor each binding site numbered i in `query_string`, there must be an i-th\nnumbered parameter. The inverse must also be true." }, "namedBindings": { "additionalProperties": { @@ -756,8 +1156,8 @@ "type": "object", "properties": { "propertyFilter": { - "description": "A filter on a property.", - "$ref": "PropertyFilter" + "$ref": "PropertyFilter", + "description": "A filter on a property." }, "compositeFilter": { "$ref": "CompositeFilter", @@ -766,7 +1166,21 @@ }, "id": "Filter" }, + "RollbackRequest": { + "id": "RollbackRequest", + "description": "The request for Datastore.Rollback.", + "type": "object", + "properties": { + "transaction": { + "format": "byte", + "description": "The transaction identifier, returned by a call to\nDatastore.BeginTransaction.", + "type": "string" + } + } + }, "RunQueryRequest": { + "description": "The request for Datastore.RunQuery.", + "type": "object", "properties": { "readOptions": { "$ref": "ReadOptions", @@ -785,267 +1199,49 @@ "description": "Entities are partitioned into subsets, identified by a partition ID.\nQueries are scoped to a single partition.\nThis partition ID is normalized with the standard default context\npartition ID." } }, - "id": "RunQueryRequest", - "description": "The request for Datastore.RunQuery.", - "type": "object" + "id": "RunQueryRequest" }, - "RollbackRequest": { - "description": "The request for Datastore.Rollback.", + "GoogleDatastoreAdminV1beta1ExportEntitiesMetadata": { + "id": "GoogleDatastoreAdminV1beta1ExportEntitiesMetadata", + "description": "Metadata for ExportEntities operations.", "type": "object", "properties": { - "transaction": { - "format": "byte", - "description": "The transaction identifier, returned by a call to\nDatastore.BeginTransaction.", - "type": "string" - } - }, - "id": "RollbackRequest" - }, - "CompositeFilter": { - "description": "A filter that merges multiple other filters using the given operator.", - "type": "object", - "properties": { - "filters": { - "description": "The list of filters to combine.\nMust contain at least one filter.", - "items": { - "$ref": "Filter" - }, - "type": "array" + "progressBytes": { + "description": "An estimate of the number of bytes processed.", + "$ref": "GoogleDatastoreAdminV1beta1Progress" }, - "op": { - "enumDescriptions": [ - "Unspecified. This value must not be used.", - "The results are required to satisfy each of the combined filters." - ], - "enum": [ - "OPERATOR_UNSPECIFIED", - "AND" - ], - "description": "The operator for combining multiple filters.", + "outputUrlPrefix": { + "description": "Location for the export metadata and data files. This will be the same\nvalue as the\ngoogle.datastore.admin.v1beta1.ExportEntitiesRequest.output_url_prefix\nfield. The final output location is provided in\ngoogle.datastore.admin.v1beta1.ExportEntitiesResponse.output_url.", "type": "string" + }, + "entityFilter": { + "$ref": "GoogleDatastoreAdminV1beta1EntityFilter", + "description": "Description of which entities are being exported." + }, + "progressEntities": { + "$ref": "GoogleDatastoreAdminV1beta1Progress", + "description": "An estimate of the number of entities processed." + }, + "common": { + "$ref": "GoogleDatastoreAdminV1beta1CommonMetadata", + "description": "Metadata common to all Datastore Admin operations." } - }, - "id": "CompositeFilter" + } }, - "AllocateIdsResponse": { + "TransactionOptions": { "properties": { - "keys": { - "description": "The keys specified in the request (in the same order), each with\nits key path completed with a newly allocated ID.", - "items": { - "$ref": "Key" - }, - "type": "array" + "readOnly": { + "$ref": "ReadOnly", + "description": "The transaction should only allow reads." + }, + "readWrite": { + "$ref": "ReadWrite", + "description": "The transaction should allow both reads and writes." } }, - "id": "AllocateIdsResponse", - "description": "The response for Datastore.AllocateIds.", + "id": "TransactionOptions", + "description": "Options for beginning a new transaction.\n\nTransactions can be created explicitly with calls to\nDatastore.BeginTransaction or implicitly by setting\nReadOptions.new_transaction in read requests.", "type": "object" - }, - "Query": { - "properties": { - "order": { - "description": "The order to apply to the query results (if empty, order is unspecified).", - "items": { - "$ref": "PropertyOrder" - }, - "type": "array" - }, - "projection": { - "description": "The projection to return. Defaults to returning all properties.", - "items": { - "$ref": "Projection" - }, - "type": "array" - }, - "endCursor": { - "format": "byte", - "description": "An ending point for the query results. Query cursors are\nreturned in query result batches and\n[can only be used to limit the same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).", - "type": "string" - }, - "limit": { - "format": "int32", - "description": "The maximum number of results to return. Applies after all other\nconstraints. Optional.\nUnspecified is interpreted as no limit.\nMust be \u003e= 0 if specified.", - "type": "integer" - }, - "filter": { - "$ref": "Filter", - "description": "The filter to apply." - }, - "startCursor": { - "format": "byte", - "description": "A starting point for the query results. Query cursors are\nreturned in query result batches and\n[can only be used to continue the same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).", - "type": "string" - }, - "offset": { - "format": "int32", - "description": "The number of results to skip. Applies before limit, but after all other\nconstraints. Optional. Must be \u003e= 0 if specified.", - "type": "integer" - }, - "kind": { - "description": "The kinds to query (if empty, returns entities of all kinds).\nCurrently at most 1 kind may be specified.", - "items": { - "$ref": "KindExpression" - }, - "type": "array" - }, - "distinctOn": { - "description": "The properties to make distinct. The query results will contain the first\nresult for each distinct combination of values for the given properties\n(if empty, all results are returned).", - "items": { - "$ref": "PropertyReference" - }, - "type": "array" - } - }, - "id": "Query", - "description": "A query for entities.", - "type": "object" - }, - "PropertyFilter": { - "properties": { - "value": { - "description": "The value to compare the property to.", - "$ref": "Value" - }, - "property": { - "description": "The property to filter by.", - "$ref": "PropertyReference" - }, - "op": { - "enumDescriptions": [ - "Unspecified. This value must not be used.", - "Less than.", - "Less than or equal.", - "Greater than.", - "Greater than or equal.", - "Equal.", - "Has ancestor." - ], - "enum": [ - "OPERATOR_UNSPECIFIED", - "LESS_THAN", - "LESS_THAN_OR_EQUAL", - "GREATER_THAN", - "GREATER_THAN_OR_EQUAL", - "EQUAL", - "HAS_ANCESTOR" - ], - "description": "The operator to filter by.", - "type": "string" - } - }, - "id": "PropertyFilter", - "description": "A filter on a specific property.", - "type": "object" - }, - "EntityResult": { - "properties": { - "cursor": { - "format": "byte", - "description": "A cursor that points to the position after the result entity.\nSet only when the `EntityResult` is part of a `QueryResultBatch` message.", - "type": "string" - }, - "version": { - "format": "int64", - "description": "The version of the entity, a strictly positive number that monotonically\nincreases with changes to the entity.\n\nThis field is set for `FULL` entity\nresults.\n\nFor missing entities in `LookupResponse`, this\nis the version of the snapshot that was used to look up the entity, and it\nis always set except for eventually consistent reads.", - "type": "string" - }, - "entity": { - "$ref": "Entity", - "description": "The resulting entity." - } - }, - "id": "EntityResult", - "description": "The result of fetching an entity from Datastore.", - "type": "object" - }, - "CommitResponse": { - "description": "The response for Datastore.Commit.", - "type": "object", - "properties": { - "indexUpdates": { - "format": "int32", - "description": "The number of index entries updated during the commit, or zero if none were\nupdated.", - "type": "integer" - }, - "mutationResults": { - "description": "The result of performing the mutations.\nThe i-th mutation result corresponds to the i-th mutation in the request.", - "items": { - "$ref": "MutationResult" - }, - "type": "array" - } - }, - "id": "CommitResponse" - }, - "Value": { - "description": "A message that can hold any of the supported value types and associated\nmetadata.", - "type": "object", - "properties": { - "geoPointValue": { - "$ref": "LatLng", - "description": "A geo point value representing a point on the surface of Earth." - }, - "integerValue": { - "format": "int64", - "description": "An integer value.", - "type": "string" - }, - "keyValue": { - "description": "A key value.", - "$ref": "Key" - }, - "stringValue": { - "description": "A UTF-8 encoded string value.\nWhen `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.\nOtherwise, may be set to at least 1,000,000 bytes.", - "type": "string" - }, - "excludeFromIndexes": { - "description": "If the value should be excluded from all indexes including those defined\nexplicitly.", - "type": "boolean" - }, - "doubleValue": { - "format": "double", - "description": "A double value.", - "type": "number" - }, - "timestampValue": { - "format": "google-datetime", - "description": "A timestamp value.\nWhen stored in the Datastore, precise only to microseconds;\nany additional precision is rounded down.", - "type": "string" - }, - "nullValue": { - "description": "A null value.", - "type": "string", - "enumDescriptions": [ - "Null value." - ], - "enum": [ - "NULL_VALUE" - ] - }, - "booleanValue": { - "description": "A boolean value.", - "type": "boolean" - }, - "blobValue": { - "format": "byte", - "description": "A blob value.\nMay have at most 1,000,000 bytes.\nWhen `exclude_from_indexes` is false, may have at most 1500 bytes.\nIn JSON requests, must be base64-encoded.", - "type": "string" - }, - "meaning": { - "format": "int32", - "description": "The `meaning` field should only be populated for backwards compatibility.", - "type": "integer" - }, - "arrayValue": { - "description": "An array value.\nCannot contain another array value.\nA `Value` instance that sets field `array_value` must not set fields\n`meaning` or `exclude_from_indexes`.", - "$ref": "ArrayValue" - }, - "entityValue": { - "$ref": "Entity", - "description": "An entity value.\n\n- May have no key.\n- May have a key with an incomplete key path.\n- May have a reserved/read-only key." - } - }, - "id": "Value" } }, "icons": { @@ -1058,11 +1254,11 @@ "auth": { "oauth2": { "scopes": { - "https://www.googleapis.com/auth/datastore": { - "description": "View and manage your Google Cloud Datastore data" - }, "https://www.googleapis.com/auth/cloud-platform": { "description": "View and manage your data across Google Cloud Platform services" + }, + "https://www.googleapis.com/auth/datastore": { + "description": "View and manage your Google Cloud Datastore data" } } } @@ -1071,5 +1267,12 @@ "description": "Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application.\n", "kind": "discovery#restDescription", "rootUrl": "https://datastore.googleapis.com/", - "basePath": "" + "basePath": "", + "ownerDomain": "google.com", + "name": "datastore", + "batchPath": "batch", + "revision": "20170912", + "documentationLink": "https://cloud.google.com/datastore/", + "id": "datastore:v1beta3", + "title": "Google Cloud Datastore API" } diff --git a/vendor/google.golang.org/api/datastore/v1beta3/datastore-gen.go b/vendor/google.golang.org/api/datastore/v1beta3/datastore-gen.go index dfb8ff423..efb1b3215 100644 --- a/vendor/google.golang.org/api/datastore/v1beta3/datastore-gen.go +++ b/vendor/google.golang.org/api/datastore/v1beta3/datastore-gen.go @@ -184,6 +184,31 @@ func (s *ArrayValue) MarshalJSON() ([]byte, error) { // BeginTransactionRequest: The request for Datastore.BeginTransaction. type BeginTransactionRequest struct { + // TransactionOptions: Options for a new transaction. + TransactionOptions *TransactionOptions `json:"transactionOptions,omitempty"` + + // ForceSendFields is a list of field names (e.g. "TransactionOptions") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "TransactionOptions") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *BeginTransactionRequest) MarshalJSON() ([]byte, error) { + type noMethod BeginTransactionRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // BeginTransactionResponse: The response for @@ -486,6 +511,300 @@ func (s *Filter) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleDatastoreAdminV1beta1CommonMetadata: Metadata common to all +// Datastore Admin operations. +type GoogleDatastoreAdminV1beta1CommonMetadata struct { + // EndTime: The time the operation ended, either successfully or + // otherwise. + EndTime string `json:"endTime,omitempty"` + + // Labels: The client-assigned labels which were provided when the + // operation was + // created. May also include additional labels. + Labels map[string]string `json:"labels,omitempty"` + + // OperationType: The type of the operation. Can be used as a filter + // in + // ListOperationsRequest. + // + // Possible values: + // "OPERATION_TYPE_UNSPECIFIED" - Unspecified. + // "EXPORT_ENTITIES" - ExportEntities. + // "IMPORT_ENTITIES" - ImportEntities. + OperationType string `json:"operationType,omitempty"` + + // StartTime: The time that work began on the operation. + StartTime string `json:"startTime,omitempty"` + + // State: The current state of the Operation. + // + // Possible values: + // "STATE_UNSPECIFIED" - Unspecified. + // "INITIALIZING" - Request is being prepared for processing. + // "PROCESSING" - Request is actively being processed. + // "CANCELLING" - Request is in the process of being cancelled after + // user called + // google.longrunning.Operations.CancelOperation on the operation. + // "FINALIZING" - Request has been processed and is in its + // finalization stage. + // "SUCCESSFUL" - Request has completed successfully. + // "FAILED" - Request has finished being processed, but encountered an + // error. + // "CANCELLED" - Request has finished being cancelled after user + // called + // google.longrunning.Operations.CancelOperation. + State string `json:"state,omitempty"` + + // ForceSendFields is a list of field names (e.g. "EndTime") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDatastoreAdminV1beta1CommonMetadata) MarshalJSON() ([]byte, error) { + type noMethod GoogleDatastoreAdminV1beta1CommonMetadata + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleDatastoreAdminV1beta1EntityFilter: Identifies a subset of +// entities in a project. This is specified as +// combinations of kinds and namespaces (either or both of which may be +// all, as +// described in the following examples). +// Example usage: +// +// Entire project: +// kinds=[], namespace_ids=[] +// +// Kinds Foo and Bar in all namespaces: +// kinds=['Foo', 'Bar'], namespace_ids=[] +// +// Kinds Foo and Bar only in the default namespace: +// kinds=['Foo', 'Bar'], namespace_ids=[''] +// +// Kinds Foo and Bar in both the default and Baz namespaces: +// kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz'] +// +// The entire Baz namespace: +// kinds=[], namespace_ids=['Baz'] +type GoogleDatastoreAdminV1beta1EntityFilter struct { + // Kinds: If empty, then this represents all kinds. + Kinds []string `json:"kinds,omitempty"` + + // NamespaceIds: An empty list represents all namespaces. This is the + // preferred + // usage for projects that don't use namespaces. + // + // An empty string element represents the default namespace. This should + // be + // used if the project has data in non-default namespaces, but doesn't + // want to + // include them. + // Each namespace in this list must be unique. + NamespaceIds []string `json:"namespaceIds,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Kinds") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Kinds") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDatastoreAdminV1beta1EntityFilter) MarshalJSON() ([]byte, error) { + type noMethod GoogleDatastoreAdminV1beta1EntityFilter + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleDatastoreAdminV1beta1ExportEntitiesMetadata: Metadata for +// ExportEntities operations. +type GoogleDatastoreAdminV1beta1ExportEntitiesMetadata struct { + // Common: Metadata common to all Datastore Admin operations. + Common *GoogleDatastoreAdminV1beta1CommonMetadata `json:"common,omitempty"` + + // EntityFilter: Description of which entities are being exported. + EntityFilter *GoogleDatastoreAdminV1beta1EntityFilter `json:"entityFilter,omitempty"` + + // OutputUrlPrefix: Location for the export metadata and data files. + // This will be the same + // value as + // the + // google.datastore.admin.v1beta1.ExportEntitiesRequest.output_url_pr + // efix + // field. The final output location is provided + // in + // google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url. + OutputUrlPrefix string `json:"outputUrlPrefix,omitempty"` + + // ProgressBytes: An estimate of the number of bytes processed. + ProgressBytes *GoogleDatastoreAdminV1beta1Progress `json:"progressBytes,omitempty"` + + // ProgressEntities: An estimate of the number of entities processed. + ProgressEntities *GoogleDatastoreAdminV1beta1Progress `json:"progressEntities,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Common") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Common") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDatastoreAdminV1beta1ExportEntitiesMetadata) MarshalJSON() ([]byte, error) { + type noMethod GoogleDatastoreAdminV1beta1ExportEntitiesMetadata + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleDatastoreAdminV1beta1ExportEntitiesResponse: The response +// for +// google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities. +type GoogleDatastoreAdminV1beta1ExportEntitiesResponse struct { + // OutputUrl: Location of the output metadata file. This can be used to + // begin an import + // into Cloud Datastore (this project or another project). + // See + // google.datastore.admin.v1beta1.ImportEntitiesRequest.input_url. + // On + // ly present if the operation completed successfully. + OutputUrl string `json:"outputUrl,omitempty"` + + // ForceSendFields is a list of field names (e.g. "OutputUrl") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "OutputUrl") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDatastoreAdminV1beta1ExportEntitiesResponse) MarshalJSON() ([]byte, error) { + type noMethod GoogleDatastoreAdminV1beta1ExportEntitiesResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleDatastoreAdminV1beta1ImportEntitiesMetadata: Metadata for +// ImportEntities operations. +type GoogleDatastoreAdminV1beta1ImportEntitiesMetadata struct { + // Common: Metadata common to all Datastore Admin operations. + Common *GoogleDatastoreAdminV1beta1CommonMetadata `json:"common,omitempty"` + + // EntityFilter: Description of which entities are being imported. + EntityFilter *GoogleDatastoreAdminV1beta1EntityFilter `json:"entityFilter,omitempty"` + + // InputUrl: The location of the import metadata file. This will be the + // same value as + // the + // google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url + // field + // . + InputUrl string `json:"inputUrl,omitempty"` + + // ProgressBytes: An estimate of the number of bytes processed. + ProgressBytes *GoogleDatastoreAdminV1beta1Progress `json:"progressBytes,omitempty"` + + // ProgressEntities: An estimate of the number of entities processed. + ProgressEntities *GoogleDatastoreAdminV1beta1Progress `json:"progressEntities,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Common") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Common") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDatastoreAdminV1beta1ImportEntitiesMetadata) MarshalJSON() ([]byte, error) { + type noMethod GoogleDatastoreAdminV1beta1ImportEntitiesMetadata + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleDatastoreAdminV1beta1Progress: Measures the progress of a +// particular metric. +type GoogleDatastoreAdminV1beta1Progress struct { + // WorkCompleted: The amount of work that has been completed. Note that + // this may be greater + // than work_estimated. + WorkCompleted int64 `json:"workCompleted,omitempty,string"` + + // WorkEstimated: An estimate of how much work needs to be performed. + // May be zero if the + // work estimate is unavailable. + WorkEstimated int64 `json:"workEstimated,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "WorkCompleted") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "WorkCompleted") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDatastoreAdminV1beta1Progress) MarshalJSON() ([]byte, error) { + type noMethod GoogleDatastoreAdminV1beta1Progress + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GqlQuery: A [GQL // query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference) // . @@ -1280,7 +1599,8 @@ type QueryResultBatch struct { // "MORE_RESULTS_AFTER_CURSOR" - The query is finished, but there may // be more results after the end // cursor. - // "NO_MORE_RESULTS" - The query has been exhausted. + // "NO_MORE_RESULTS" - The query is finished, and there are no more + // results. MoreResults string `json:"moreResults,omitempty"` // SkippedCursor: A cursor that points to the position after the last @@ -1331,6 +1651,10 @@ func (s *QueryResultBatch) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ReadOnly: Options specific to read-only transactions. +type ReadOnly struct { +} + // ReadOptions: The options shared by read requests. type ReadOptions struct { // ReadConsistency: The non-transactional read consistency to @@ -1375,6 +1699,36 @@ func (s *ReadOptions) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ReadWrite: Options specific to read / write transactions. +type ReadWrite struct { + // PreviousTransaction: The transaction identifier of the transaction + // being retried. + PreviousTransaction string `json:"previousTransaction,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PreviousTransaction") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "PreviousTransaction") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *ReadWrite) MarshalJSON() ([]byte, error) { + type noMethod ReadWrite + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // RollbackRequest: The request for Datastore.Rollback. type RollbackRequest struct { // Transaction: The transaction identifier, returned by a call @@ -1491,6 +1845,44 @@ func (s *RunQueryResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// TransactionOptions: Options for beginning a new +// transaction. +// +// Transactions can be created explicitly with calls +// to +// Datastore.BeginTransaction or implicitly by +// setting +// ReadOptions.new_transaction in read requests. +type TransactionOptions struct { + // ReadOnly: The transaction should only allow reads. + ReadOnly *ReadOnly `json:"readOnly,omitempty"` + + // ReadWrite: The transaction should allow both reads and writes. + ReadWrite *ReadWrite `json:"readWrite,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ReadOnly") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ReadOnly") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TransactionOptions) MarshalJSON() ([]byte, error) { + type noMethod TransactionOptions + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Value: A message that can hold any of the supported value types and // associated // metadata. diff --git a/vendor/google.golang.org/api/deploymentmanager/v0.alpha/deploymentmanager-api.json b/vendor/google.golang.org/api/deploymentmanager/v0.alpha/deploymentmanager-api.json index f3cb84ce8..ce7c0fd5c 100644 --- a/vendor/google.golang.org/api/deploymentmanager/v0.alpha/deploymentmanager-api.json +++ b/vendor/google.golang.org/api/deploymentmanager/v0.alpha/deploymentmanager-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/DSQnXnJrdGCXbfLjaO33fHf1TP4\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/_YIg1ZU-z6xEn8qUWJtIDhiIaWM\"", "discoveryVersion": "v1", "id": "deploymentmanager:alpha", "name": "deploymentmanager", "canonicalName": "Deployment Manager Alpha", "version": "alpha", - "revision": "20170615", + "revision": "20170925", "title": "Google Cloud Deployment Manager Alpha API", "description": "The Deployment Manager API allows users to declaratively configure, deploy and run complex solutions on the Google Cloud Platform.", "ownerDomain": "google.com", @@ -21,7 +21,7 @@ "basePath": "/deploymentmanager/alpha/projects/", "rootUrl": "https://www.googleapis.com/", "servicePath": "deploymentmanager/alpha/projects/", - "batchPath": "batch", + "batchPath": "batch/deploymentmanager/alpha", "parameters": { "alt": { "type": "string", @@ -129,6 +129,17 @@ } } }, + "AuthorizationLoggingOptions": { + "id": "AuthorizationLoggingOptions", + "type": "object", + "description": "Authorization-related information used by Cloud Audit Logging.", + "properties": { + "permissionType": { + "type": "string", + "description": "The type of the permission that was checked." + } + } + }, "BasicAuth": { "id": "BasicAuth", "type": "object", @@ -190,12 +201,12 @@ }, "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "description": "Output only. Unique identifier for the resource; defined by the server.", "format": "uint64" }, "insertTime": { "type": "string", - "description": "[Output Only] Timestamp when the composite type was created, in RFC3339 text format." + "description": "Output only. Timestamp when the composite type was created, in RFC3339 text format." }, "labels": { "type": "array", @@ -210,11 +221,11 @@ }, "operation": { "$ref": "Operation", - "description": "[Output Only] The Operation that most recently ran, or is currently running, on this composite type." + "description": "Output only. The Operation that most recently ran, or is currently running, on this composite type." }, "selfLink": { "type": "string", - "description": "[Output Only] Self link for the type provider." + "description": "Output only. Self link for the type provider." }, "status": { "type": "string" @@ -244,7 +255,7 @@ "properties": { "compositeTypes": { "type": "array", - "description": "[Output Only] A list of resource composite types supported by Deployment Manager.", + "description": "Output only. A list of resource composite types supported by Deployment Manager.", "items": { "$ref": "CompositeType" } @@ -329,11 +340,19 @@ "Credential": { "id": "Credential", "type": "object", - "description": "Credential used by ConfigurableResourceTypes.", + "description": "The credential used by Deployment Manager and TypeProvider. Only one of the options is permitted.", "properties": { "basicAuth": { "$ref": "BasicAuth", - "description": "Basic Auth Credentials for this Type." + "description": "Basic Auth Credential, only used by TypeProvider." + }, + "serviceAccount": { + "$ref": "ServiceAccount", + "description": "Service Account Credential, only used by Deployment." + }, + "useProjectDefault": { + "type": "boolean", + "description": "Specify to use the project default credential, only supported by Deployment." } } }, @@ -342,6 +361,10 @@ "type": "object", "description": "", "properties": { + "credential": { + "$ref": "Credential", + "description": "User provided default credential for the deployment." + }, "description": { "type": "string", "description": "An optional user-provided description of the deployment." @@ -353,12 +376,12 @@ }, "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "description": "Output only. Unique identifier for the resource; defined by the server.", "format": "uint64" }, "insertTime": { "type": "string", - "description": "[Output Only] Timestamp when the deployment was created, in RFC3339 text format ." + "description": "Output only. Timestamp when the deployment was created, in RFC3339 text format ." }, "labels": { "type": "array", @@ -369,7 +392,7 @@ }, "manifest": { "type": "string", - "description": "[Output Only] URL of the manifest representing the last manifest that was successfully deployed." + "description": "Output only. URL of the manifest representing the last manifest that was successfully deployed." }, "name": { "type": "string", @@ -377,11 +400,18 @@ }, "operation": { "$ref": "Operation", - "description": "[Output Only] The Operation that most recently ran, or is currently running, on this deployment." + "description": "Output only. The Operation that most recently ran, or is currently running, on this deployment." + }, + "outputs": { + "type": "array", + "description": "Output only. Map of outputs from the last manifest that deployed successfully.", + "items": { + "$ref": "DeploymentOutputsEntry" + } }, "selfLink": { "type": "string", - "description": "[Output Only] Self link for the deployment." + "description": "Output only. Self link for the deployment." }, "target": { "$ref": "TargetConfiguration", @@ -389,7 +419,7 @@ }, "update": { "$ref": "DeploymentUpdate", - "description": "[Output Only] If Deployment Manager is currently updating or previewing an update to this deployment, the updated configuration appears here." + "description": "Output only. If Deployment Manager is currently updating or previewing an update to this deployment, the updated configuration appears here." } } }, @@ -405,25 +435,41 @@ } } }, + "DeploymentOutputsEntry": { + "id": "DeploymentOutputsEntry", + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, "DeploymentUpdate": { "id": "DeploymentUpdate", "type": "object", "description": "", "properties": { + "credential": { + "$ref": "Credential", + "description": "Output only. The user-provided default credential to use when deploying this preview." + }, "description": { "type": "string", - "description": "[Output Only] An optional user-provided description of the deployment after the current update has been applied." + "description": "Output only. An optional user-provided description of the deployment after the current update has been applied." }, "labels": { "type": "array", - "description": "[Output Only] Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 characters long and must conform to the regular expression ([a-z]([-a-z0-9]*[a-z0-9])?)?", + "description": "Output only. Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 characters long and must conform to the regular expression ([a-z]([-a-z0-9]*[a-z0-9])?)?", "items": { "$ref": "DeploymentUpdateLabelEntry" } }, "manifest": { "type": "string", - "description": "[Output Only] URL of the manifest representing the update configuration of this deployment." + "description": "Output only. URL of the manifest representing the update configuration of this deployment." } } }, @@ -458,14 +504,14 @@ "properties": { "deployments": { "type": "array", - "description": "[Output Only] The deployments contained in this response.", + "description": "Output only. The deployments contained in this response.", "items": { "$ref": "Deployment" } }, "nextPageToken": { "type": "string", - "description": "[Output Only] A token used to continue a truncated list request." + "description": "Output only. A token used to continue a truncated list request." } } }, @@ -554,6 +600,10 @@ "counter": { "$ref": "LogConfigCounterOptions", "description": "Counter options." + }, + "dataAccess": { + "$ref": "LogConfigDataAccessOptions", + "description": "Data access options." } } }, @@ -562,6 +612,10 @@ "type": "object", "description": "Write a Cloud Audit log", "properties": { + "authorizationLoggingOptions": { + "$ref": "AuthorizationLoggingOptions", + "description": "Information used by the Cloud Audit Logging pipeline." + }, "logName": { "type": "string", "description": "The log_name to populate in the Cloud Audit Record." @@ -571,7 +625,7 @@ "LogConfigCounterOptions": { "id": "LogConfigCounterOptions", "type": "object", - "description": "Options for counters", + "description": "Increment a streamz counter with the specified metric and field names.\n\nMetric names should start with a '/', generally be lowercase-only, and end in \"_count\". Field names should not contain an initial slash. The actual exported metric names will have \"/iam/policy\" prepended.\n\nField names correspond to IAM request parameters and field values are their respective values.\n\nAt present the only supported field names are - \"iam_principal\", corresponding to IAMContext.principal; - \"\" (empty string), resulting in one aggretated counter with no field.\n\nExamples: counter { metric: \"/debug_access_count\" field: \"iam_principal\" } ==\u003e increment counter /iam/policy/backend_debug_access_count {iam_principal=[value of IAMContext.principal]}\n\nAt this time we do not support: * multiple field names (though this may be supported in the future) * decrementing the counter * incrementing it by anything other than 1", "properties": { "field": { "type": "string", @@ -583,6 +637,17 @@ } } }, + "LogConfigDataAccessOptions": { + "id": "LogConfigDataAccessOptions", + "type": "object", + "description": "Write a Data Access (Gin) log", + "properties": { + "logMode": { + "type": "string", + "description": "Whether Gin logging should happen in a fail-closed manner at the caller. This is relevant only in the LocalIAM implementation, for now." + } + } + }, "Manifest": { "id": "Manifest", "type": "object", @@ -590,39 +655,39 @@ "properties": { "config": { "$ref": "ConfigFile", - "description": "[Output Only] The YAML configuration for this manifest." + "description": "Output only. The YAML configuration for this manifest." }, "expandedConfig": { "type": "string", - "description": "[Output Only] The fully-expanded configuration file, including any templates and references." + "description": "Output only. The fully-expanded configuration file, including any templates and references." }, "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "description": "Output only. Unique identifier for the resource; defined by the server.", "format": "uint64" }, "imports": { "type": "array", - "description": "[Output Only] The imported files for this manifest.", + "description": "Output only. The imported files for this manifest.", "items": { "$ref": "ImportFile" } }, "insertTime": { "type": "string", - "description": "[Output Only] Timestamp when the manifest was created, in RFC3339 text format." + "description": "Output only. Timestamp when the manifest was created, in RFC3339 text format." }, "layout": { "type": "string", - "description": "[Output Only] The YAML layout for this manifest." + "description": "Output only. The YAML layout for this manifest." }, "name": { "type": "string", - "description": "[Output Only] The name of the manifest." + "description": "Output only.\n\nThe name of the manifest." }, "selfLink": { "type": "string", - "description": "[Output Only] Self link for the manifest." + "description": "Output only. Self link for the manifest." } } }, @@ -633,14 +698,14 @@ "properties": { "manifests": { "type": "array", - "description": "[Output Only] Manifests contained in this list response.", + "description": "Output only. Manifests contained in this list response.", "items": { "$ref": "Manifest" } }, "nextPageToken": { "type": "string", - "description": "[Output Only] A token used to continue a truncated list request." + "description": "Output only. A token used to continue a truncated list request." } } }, @@ -808,11 +873,11 @@ "properties": { "nextPageToken": { "type": "string", - "description": "[Output Only] A token used to continue a truncated list request." + "description": "Output only. A token used to continue a truncated list request." }, "operations": { "type": "array", - "description": "[Output Only] Operations contained in this list response.", + "description": "Output only. Operations contained in this list response.", "items": { "$ref": "Operation" } @@ -894,48 +959,52 @@ }, "finalProperties": { "type": "string", - "description": "[Output Only] The evaluated properties of the resource with references expanded. Returned as serialized YAML." + "description": "Output only. The evaluated properties of the resource with references expanded. Returned as serialized YAML." }, "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "description": "Output only. Unique identifier for the resource; defined by the server.", "format": "uint64" }, "insertTime": { "type": "string", - "description": "[Output Only] Timestamp when the resource was created or acquired, in RFC3339 text format ." + "description": "Output only. Timestamp when the resource was created or acquired, in RFC3339 text format ." + }, + "lastUsedCredential": { + "$ref": "Credential", + "description": "Output only. The last used credential that successfully created/updated the resource." }, "manifest": { "type": "string", - "description": "[Output Only] URL of the manifest representing the current configuration of this resource." + "description": "Output only. URL of the manifest representing the current configuration of this resource." }, "name": { "type": "string", - "description": "[Output Only] The name of the resource as it appears in the YAML config." + "description": "Output only. The name of the resource as it appears in the YAML config." }, "properties": { "type": "string", - "description": "[Output Only] The current properties of the resource before any references have been filled in. Returned as serialized YAML." + "description": "Output only. The current properties of the resource before any references have been filled in. Returned as serialized YAML." }, "type": { "type": "string", - "description": "[Output Only] The type of the resource, for example compute.v1.instance, or cloudfunctions.v1beta1.function." + "description": "Output only. The type of the resource, for example compute.v1.instance, or cloudfunctions.v1beta1.function." }, "update": { "$ref": "ResourceUpdate", - "description": "[Output Only] If Deployment Manager is currently updating or previewing an update to this resource, the updated configuration appears here." + "description": "Output only. If Deployment Manager is currently updating or previewing an update to this resource, the updated configuration appears here." }, "updateTime": { "type": "string", - "description": "[Output Only] Timestamp when the resource was updated, in RFC3339 text format ." + "description": "Output only. Timestamp when the resource was updated, in RFC3339 text format ." }, "url": { "type": "string", - "description": "[Output Only] The URL of the actual resource." + "description": "Output only. The URL of the actual resource." }, "warnings": { "type": "array", - "description": "[Output Only] If warning messages are generated during processing of this resource, this field will be populated.", + "description": "Output only. If warning messages are generated during processing of this resource, this field will be populated.", "items": { "type": "object", "properties": { @@ -989,9 +1058,13 @@ "$ref": "ResourceAccessControl", "description": "The Access Control Policy to set on this resource after updating the resource itself." }, + "credential": { + "$ref": "Credential", + "description": "Output only. The credential that will be used creating/updating this resource." + }, "error": { "type": "object", - "description": "[Output Only] If errors are generated during update of the resource, this field will be populated.", + "description": "Output only. If errors are generated during update of the resource, this field will be populated.", "properties": { "errors": { "type": "array", @@ -1018,27 +1091,27 @@ }, "finalProperties": { "type": "string", - "description": "[Output Only] The expanded properties of the resource with reference values expanded. Returned as serialized YAML." + "description": "Output only. The expanded properties of the resource with reference values expanded. Returned as serialized YAML." }, "intent": { "type": "string", - "description": "[Output Only] The intent of the resource: PREVIEW, UPDATE, or CANCEL." + "description": "Output only. The intent of the resource: PREVIEW, UPDATE, or CANCEL." }, "manifest": { "type": "string", - "description": "[Output Only] URL of the manifest representing the update configuration of this resource." + "description": "Output only. URL of the manifest representing the update configuration of this resource." }, "properties": { "type": "string", - "description": "[Output Only] The set of updated properties for this resource, before references are expanded. Returned as serialized YAML." + "description": "Output only. The set of updated properties for this resource, before references are expanded. Returned as serialized YAML." }, "state": { "type": "string", - "description": "[Output Only] The state of the resource." + "description": "Output only. The state of the resource." }, "warnings": { "type": "array", - "description": "[Output Only] If warning messages are generated during processing of this resource, this field will be populated.", + "description": "Output only. If warning messages are generated during processing of this resource, this field will be populated.", "items": { "type": "object", "properties": { @@ -1101,7 +1174,7 @@ }, "conditions": { "type": "array", - "description": "Additional restrictions that must be met", + "description": "Additional restrictions that must be met. All conditions must pass for the rule to match.", "items": { "$ref": "Condition" } @@ -1140,6 +1213,17 @@ } } }, + "ServiceAccount": { + "id": "ServiceAccount", + "type": "object", + "description": "Service Account used as a credential.", + "properties": { + "email": { + "type": "string", + "description": "The IAM service account email address like test@myproject.iam.gserviceaccount.com" + } + } + }, "TargetConfiguration": { "id": "TargetConfiguration", "type": "object", @@ -1225,12 +1309,12 @@ }, "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "description": "Output only. Unique identifier for the resource; defined by the server.", "format": "uint64" }, "insertTime": { "type": "string", - "description": "[Output Only] Timestamp when the type was created, in RFC3339 text format." + "description": "Output only. Timestamp when the type was created, in RFC3339 text format." }, "labels": { "type": "array", @@ -1245,11 +1329,11 @@ }, "operation": { "$ref": "Operation", - "description": "[Output Only] The Operation that most recently ran, or is currently running, on this type." + "description": "Output only. The Operation that most recently ran, or is currently running, on this type." }, "selfLink": { "type": "string", - "description": "[Output Only] Self link for the type." + "description": "Output only. Self link for the type." } } }, @@ -1268,7 +1352,7 @@ }, "kind": { "type": "string", - "description": "[Output Only] Type of the output. Always deploymentManager#TypeInfo for TypeInfo.", + "description": "Output only. Type of the output. Always deploymentManager#TypeInfo for TypeInfo.", "default": "deploymentmanager#typeInfo" }, "name": { @@ -1281,7 +1365,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server-defined URL for the resource." + "description": "Output only. Server-defined URL for the resource." }, "title": { "type": "string", @@ -1342,12 +1426,12 @@ }, "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "description": "Output only. Unique identifier for the resource; defined by the server.", "format": "uint64" }, "insertTime": { "type": "string", - "description": "[Output Only] Timestamp when the type provider was created, in RFC3339 text format." + "description": "Output only. Timestamp when the type provider was created, in RFC3339 text format." }, "labels": { "type": "array", @@ -1362,7 +1446,7 @@ }, "operation": { "$ref": "Operation", - "description": "[Output Only] The Operation that most recently ran, or is currently running, on this type provider." + "description": "Output only. The Operation that most recently ran, or is currently running, on this type provider." }, "options": { "$ref": "Options", @@ -1370,7 +1454,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Self link for the type provider." + "description": "Output only. Self link for the type provider." } } }, @@ -1397,7 +1481,7 @@ }, "typeProviders": { "type": "array", - "description": "[Output Only] A list of resource type providers supported by Deployment Manager.", + "description": "Output only. A list of resource type providers supported by Deployment Manager.", "items": { "$ref": "TypeProvider" } @@ -1415,7 +1499,7 @@ }, "types": { "type": "array", - "description": "[Output Only] A list of resource type info.", + "description": "Output only. A list of resource type info.", "items": { "$ref": "TypeInfo" } @@ -1433,7 +1517,7 @@ }, "types": { "type": "array", - "description": "[Output Only] A list of resource types supported by Deployment Manager.", + "description": "Output only. A list of resource types supported by Deployment Manager.", "items": { "$ref": "Type" } @@ -1816,7 +1900,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", "location": "path" } }, @@ -2002,7 +2086,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", "location": "path" } }, @@ -2074,7 +2158,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, diff --git a/vendor/google.golang.org/api/deploymentmanager/v0.alpha/deploymentmanager-gen.go b/vendor/google.golang.org/api/deploymentmanager/v0.alpha/deploymentmanager-gen.go index 9c2c97248..5241e6a94 100644 --- a/vendor/google.golang.org/api/deploymentmanager/v0.alpha/deploymentmanager-gen.go +++ b/vendor/google.golang.org/api/deploymentmanager/v0.alpha/deploymentmanager-gen.go @@ -268,6 +268,36 @@ func (s *AuditLogConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AuthorizationLoggingOptions: Authorization-related information used +// by Cloud Audit Logging. +type AuthorizationLoggingOptions struct { + // PermissionType: The type of the permission that was checked. + PermissionType string `json:"permissionType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PermissionType") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "PermissionType") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AuthorizationLoggingOptions) MarshalJSON() ([]byte, error) { + type noMethod AuthorizationLoggingOptions + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // BasicAuth: Basic Auth used as a credential. type BasicAuth struct { Password string `json:"password,omitempty"` @@ -400,11 +430,11 @@ type CompositeType struct { // provided by the client when the resource is created. Description string `json:"description,omitempty"` - // Id: [Output Only] Unique identifier for the resource; defined by the + // Id: Output only. Unique identifier for the resource; defined by the // server. Id uint64 `json:"id,omitempty,string"` - // InsertTime: [Output Only] Timestamp when the composite type was + // InsertTime: Output only. Timestamp when the composite type was // created, in RFC3339 text format. InsertTime string `json:"insertTime,omitempty"` @@ -419,11 +449,11 @@ type CompositeType struct { // Name: Name of the composite type. Name string `json:"name,omitempty"` - // Operation: [Output Only] The Operation that most recently ran, or is + // Operation: Output only. The Operation that most recently ran, or is // currently running, on this composite type. Operation *Operation `json:"operation,omitempty"` - // SelfLink: [Output Only] Self link for the type provider. + // SelfLink: Output only. Self link for the type provider. SelfLink string `json:"selfLink,omitempty"` Status string `json:"status,omitempty"` @@ -489,7 +519,7 @@ func (s *CompositeTypeLabelEntry) MarshalJSON() ([]byte, error) { // CompositeTypesListResponse: A response that returns all Composite // Types supported by Deployment Manager type CompositeTypesListResponse struct { - // CompositeTypes: [Output Only] A list of resource composite types + // CompositeTypes: Output only. A list of resource composite types // supported by Deployment Manager. CompositeTypes []*CompositeType `json:"compositeTypes,omitempty"` @@ -636,11 +666,19 @@ func (s *ConfigurableService) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Credential: Credential used by ConfigurableResourceTypes. +// Credential: The credential used by Deployment Manager and +// TypeProvider. Only one of the options is permitted. type Credential struct { - // BasicAuth: Basic Auth Credentials for this Type. + // BasicAuth: Basic Auth Credential, only used by TypeProvider. BasicAuth *BasicAuth `json:"basicAuth,omitempty"` + // ServiceAccount: Service Account Credential, only used by Deployment. + ServiceAccount *ServiceAccount `json:"serviceAccount,omitempty"` + + // UseProjectDefault: Specify to use the project default credential, + // only supported by Deployment. + UseProjectDefault bool `json:"useProjectDefault,omitempty"` + // ForceSendFields is a list of field names (e.g. "BasicAuth") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -665,6 +703,9 @@ func (s *Credential) MarshalJSON() ([]byte, error) { } type Deployment struct { + // Credential: User provided default credential for the deployment. + Credential *Credential `json:"credential,omitempty"` + // Description: An optional user-provided description of the deployment. Description string `json:"description,omitempty"` @@ -680,11 +721,11 @@ type Deployment struct { // fingerprint value, perform a get() request to a deployment. Fingerprint string `json:"fingerprint,omitempty"` - // Id: [Output Only] Unique identifier for the resource; defined by the + // Id: Output only. Unique identifier for the resource; defined by the // server. Id uint64 `json:"id,omitempty,string"` - // InsertTime: [Output Only] Timestamp when the deployment was created, + // InsertTime: Output only. Timestamp when the deployment was created, // in RFC3339 text format . InsertTime string `json:"insertTime,omitempty"` @@ -696,7 +737,7 @@ type Deployment struct { // ([a-z]([-a-z0-9]*[a-z0-9])?)? Labels []*DeploymentLabelEntry `json:"labels,omitempty"` - // Manifest: [Output Only] URL of the manifest representing the last + // Manifest: Output only. URL of the manifest representing the last // manifest that was successfully deployed. Manifest string `json:"manifest,omitempty"` @@ -709,18 +750,22 @@ type Deployment struct { // last character, which cannot be a dash. Name string `json:"name,omitempty"` - // Operation: [Output Only] The Operation that most recently ran, or is + // Operation: Output only. The Operation that most recently ran, or is // currently running, on this deployment. Operation *Operation `json:"operation,omitempty"` - // SelfLink: [Output Only] Self link for the deployment. + // Outputs: Output only. Map of outputs from the last manifest that + // deployed successfully. + Outputs []*DeploymentOutputsEntry `json:"outputs,omitempty"` + + // SelfLink: Output only. Self link for the deployment. SelfLink string `json:"selfLink,omitempty"` // Target: [Input Only] The parameters that define your deployment, // including the deployment configuration and relevant templates. Target *TargetConfiguration `json:"target,omitempty"` - // Update: [Output Only] If Deployment Manager is currently updating or + // Update: Output only. If Deployment Manager is currently updating or // previewing an update to this deployment, the updated configuration // appears here. Update *DeploymentUpdate `json:"update,omitempty"` @@ -729,7 +774,7 @@ type Deployment struct { // server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "Description") to + // ForceSendFields is a list of field names (e.g. "Credential") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -737,10 +782,10 @@ type Deployment struct { // used to include empty fields in Patch requests. 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. However, any field with - // an empty value appearing in NullFields will be sent to the server as + // NullFields is a list of field names (e.g. "Credential") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` @@ -780,24 +825,12 @@ func (s *DeploymentLabelEntry) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type DeploymentUpdate struct { - // Description: [Output Only] An optional user-provided description of - // the deployment after the current update has been applied. - Description string `json:"description,omitempty"` +type DeploymentOutputsEntry struct { + Key string `json:"key,omitempty"` - // Labels: [Output Only] Map of labels; provided by the client when the - // resource is created or updated. Specifically: Label keys must be - // between 1 and 63 characters long and must conform to the following - // regular expression: [a-z]([-a-z0-9]*[a-z0-9])? Label values must be - // between 0 and 63 characters long and must conform to the regular - // expression ([a-z]([-a-z0-9]*[a-z0-9])?)? - Labels []*DeploymentUpdateLabelEntry `json:"labels,omitempty"` + Value string `json:"value,omitempty"` - // Manifest: [Output Only] URL of the manifest representing the update - // configuration of this deployment. - Manifest string `json:"manifest,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Description") to + // ForceSendFields is a list of field names (e.g. "Key") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -805,10 +838,54 @@ type DeploymentUpdate struct { // used to include empty fields in Patch requests. 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. However, any field with - // an empty value appearing in NullFields will be sent to the server as + // 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DeploymentOutputsEntry) MarshalJSON() ([]byte, error) { + type noMethod DeploymentOutputsEntry + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type DeploymentUpdate struct { + // Credential: Output only. The user-provided default credential to use + // when deploying this preview. + Credential *Credential `json:"credential,omitempty"` + + // Description: Output only. An optional user-provided description of + // the deployment after the current update has been applied. + Description string `json:"description,omitempty"` + + // Labels: Output only. Map of labels; provided by the client when the + // resource is created or updated. Specifically: Label keys must be + // between 1 and 63 characters long and must conform to the following + // regular expression: [a-z]([-a-z0-9]*[a-z0-9])? Label values must be + // between 0 and 63 characters long and must conform to the regular + // expression ([a-z]([-a-z0-9]*[a-z0-9])?)? + Labels []*DeploymentUpdateLabelEntry `json:"labels,omitempty"` + + // Manifest: Output only. URL of the manifest representing the update + // configuration of this deployment. + Manifest string `json:"manifest,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Credential") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Credential") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` @@ -889,12 +966,11 @@ func (s *DeploymentsCancelPreviewRequest) MarshalJSON() ([]byte, error) { // deployments and a page token used to build the next request if the // request has been truncated. type DeploymentsListResponse struct { - // Deployments: [Output Only] The deployments contained in this - // response. + // Deployments: Output only. The deployments contained in this response. Deployments []*Deployment `json:"deployments,omitempty"` - // NextPageToken: [Output Only] A token used to continue a truncated - // list request. + // NextPageToken: Output only. A token used to continue a truncated list + // request. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -1088,6 +1164,9 @@ type LogConfig struct { // Counter: Counter options. Counter *LogConfigCounterOptions `json:"counter,omitempty"` + // DataAccess: Data access options. + DataAccess *LogConfigDataAccessOptions `json:"dataAccess,omitempty"` + // ForceSendFields is a list of field names (e.g. "CloudAudit") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -1113,23 +1192,29 @@ func (s *LogConfig) MarshalJSON() ([]byte, error) { // LogConfigCloudAuditOptions: Write a Cloud Audit log type LogConfigCloudAuditOptions struct { + // AuthorizationLoggingOptions: Information used by the Cloud Audit + // Logging pipeline. + AuthorizationLoggingOptions *AuthorizationLoggingOptions `json:"authorizationLoggingOptions,omitempty"` + // LogName: The log_name to populate in the Cloud Audit Record. LogName string `json:"logName,omitempty"` - // ForceSendFields is a list of field names (e.g. "LogName") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. + // ForceSendFields is a list of field names (e.g. + // "AuthorizationLoggingOptions") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LogName") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. + // NullFields is a list of field names (e.g. + // "AuthorizationLoggingOptions") to include in API requests with the + // JSON null value. By default, fields with empty values are omitted + // from API requests. However, any field with an empty value appearing + // in NullFields will be sent to the server as null. It is an error if a + // field in this list has a non-empty value. This may be used to include + // null fields in Patch requests. NullFields []string `json:"-"` } @@ -1139,7 +1224,29 @@ func (s *LogConfigCloudAuditOptions) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// LogConfigCounterOptions: Options for counters +// LogConfigCounterOptions: Increment a streamz counter with the +// specified metric and field names. +// +// Metric names should start with a '/', generally be lowercase-only, +// and end in "_count". Field names should not contain an initial slash. +// The actual exported metric names will have "/iam/policy" +// prepended. +// +// Field names correspond to IAM request parameters and field values are +// their respective values. +// +// At present the only supported field names are - "iam_principal", +// corresponding to IAMContext.principal; - "" (empty string), resulting +// in one aggretated counter with no field. +// +// Examples: counter { metric: "/debug_access_count" field: +// "iam_principal" } ==> increment counter +// /iam/policy/backend_debug_access_count {iam_principal=[value of +// IAMContext.principal]} +// +// At this time we do not support: * multiple field names (though this +// may be supported in the future) * decrementing the counter * +// incrementing it by anything other than 1 type LogConfigCounterOptions struct { // Field: The field value to attribute. Field string `json:"field,omitempty"` @@ -1170,32 +1277,64 @@ func (s *LogConfigCounterOptions) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// LogConfigDataAccessOptions: Write a Data Access (Gin) log +type LogConfigDataAccessOptions struct { + // LogMode: Whether Gin logging should happen in a fail-closed manner at + // the caller. This is relevant only in the LocalIAM implementation, for + // now. + LogMode string `json:"logMode,omitempty"` + + // ForceSendFields is a list of field names (e.g. "LogMode") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "LogMode") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *LogConfigDataAccessOptions) MarshalJSON() ([]byte, error) { + type noMethod LogConfigDataAccessOptions + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type Manifest struct { - // Config: [Output Only] The YAML configuration for this manifest. + // Config: Output only. The YAML configuration for this manifest. Config *ConfigFile `json:"config,omitempty"` - // ExpandedConfig: [Output Only] The fully-expanded configuration file, + // ExpandedConfig: Output only. The fully-expanded configuration file, // including any templates and references. ExpandedConfig string `json:"expandedConfig,omitempty"` - // Id: [Output Only] Unique identifier for the resource; defined by the + // Id: Output only. Unique identifier for the resource; defined by the // server. Id uint64 `json:"id,omitempty,string"` - // Imports: [Output Only] The imported files for this manifest. + // Imports: Output only. The imported files for this manifest. Imports []*ImportFile `json:"imports,omitempty"` - // InsertTime: [Output Only] Timestamp when the manifest was created, in + // InsertTime: Output only. Timestamp when the manifest was created, in // RFC3339 text format. InsertTime string `json:"insertTime,omitempty"` - // Layout: [Output Only] The YAML layout for this manifest. + // Layout: Output only. The YAML layout for this manifest. Layout string `json:"layout,omitempty"` - // Name: [Output Only] The name of the manifest. + // Name: Output only. + // + // The name of the manifest. Name string `json:"name,omitempty"` - // SelfLink: [Output Only] Self link for the manifest. + // SelfLink: Output only. Self link for the manifest. SelfLink string `json:"selfLink,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -1229,11 +1368,11 @@ func (s *Manifest) MarshalJSON() ([]byte, error) { // manifests and a page token used to build the next request if the // request has been truncated. type ManifestsListResponse struct { - // Manifests: [Output Only] Manifests contained in this list response. + // Manifests: Output only. Manifests contained in this list response. Manifests []*Manifest `json:"manifests,omitempty"` - // NextPageToken: [Output Only] A token used to continue a truncated - // list request. + // NextPageToken: Output only. A token used to continue a truncated list + // request. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -1530,11 +1669,11 @@ func (s *OperationWarningsData) MarshalJSON() ([]byte, error) { // operations and a page token used to build the next request if the // request has been truncated. type OperationsListResponse struct { - // NextPageToken: [Output Only] A token used to continue a truncated - // list request. + // NextPageToken: Output only. A token used to continue a truncated list + // request. NextPageToken string `json:"nextPageToken,omitempty"` - // Operations: [Output Only] Operations contained in this list response. + // Operations: Output only. Operations contained in this list response. Operations []*Operation `json:"operations,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -1692,48 +1831,52 @@ type Resource struct { // AccessControl: The Access Control Policy set on this resource. AccessControl *ResourceAccessControl `json:"accessControl,omitempty"` - // FinalProperties: [Output Only] The evaluated properties of the + // FinalProperties: Output only. The evaluated properties of the // resource with references expanded. Returned as serialized YAML. FinalProperties string `json:"finalProperties,omitempty"` - // Id: [Output Only] Unique identifier for the resource; defined by the + // Id: Output only. Unique identifier for the resource; defined by the // server. Id uint64 `json:"id,omitempty,string"` - // InsertTime: [Output Only] Timestamp when the resource was created or + // InsertTime: Output only. Timestamp when the resource was created or // acquired, in RFC3339 text format . InsertTime string `json:"insertTime,omitempty"` - // Manifest: [Output Only] URL of the manifest representing the current + // LastUsedCredential: Output only. The last used credential that + // successfully created/updated the resource. + LastUsedCredential *Credential `json:"lastUsedCredential,omitempty"` + + // Manifest: Output only. URL of the manifest representing the current // configuration of this resource. Manifest string `json:"manifest,omitempty"` - // Name: [Output Only] The name of the resource as it appears in the - // YAML config. + // Name: Output only. The name of the resource as it appears in the YAML + // config. Name string `json:"name,omitempty"` - // Properties: [Output Only] The current properties of the resource + // Properties: Output only. The current properties of the resource // before any references have been filled in. Returned as serialized // YAML. Properties string `json:"properties,omitempty"` - // Type: [Output Only] The type of the resource, for example + // Type: Output only. The type of the resource, for example // compute.v1.instance, or cloudfunctions.v1beta1.function. Type string `json:"type,omitempty"` - // Update: [Output Only] If Deployment Manager is currently updating or + // Update: Output only. If Deployment Manager is currently updating or // previewing an update to this resource, the updated configuration // appears here. Update *ResourceUpdate `json:"update,omitempty"` - // UpdateTime: [Output Only] Timestamp when the resource was updated, in + // UpdateTime: Output only. Timestamp when the resource was updated, in // RFC3339 text format . UpdateTime string `json:"updateTime,omitempty"` - // Url: [Output Only] The URL of the actual resource. + // Url: Output only. The URL of the actual resource. Url string `json:"url,omitempty"` - // Warnings: [Output Only] If warning messages are generated during + // Warnings: Output only. If warning messages are generated during // processing of this resource, this field will be populated. Warnings []*ResourceWarnings `json:"warnings,omitempty"` @@ -1872,31 +2015,35 @@ type ResourceUpdate struct { // after updating the resource itself. AccessControl *ResourceAccessControl `json:"accessControl,omitempty"` - // Error: [Output Only] If errors are generated during update of the + // Credential: Output only. The credential that will be used + // creating/updating this resource. + Credential *Credential `json:"credential,omitempty"` + + // Error: Output only. If errors are generated during update of the // resource, this field will be populated. Error *ResourceUpdateError `json:"error,omitempty"` - // FinalProperties: [Output Only] The expanded properties of the - // resource with reference values expanded. Returned as serialized YAML. + // FinalProperties: Output only. The expanded properties of the resource + // with reference values expanded. Returned as serialized YAML. FinalProperties string `json:"finalProperties,omitempty"` - // Intent: [Output Only] The intent of the resource: PREVIEW, UPDATE, or + // Intent: Output only. The intent of the resource: PREVIEW, UPDATE, or // CANCEL. Intent string `json:"intent,omitempty"` - // Manifest: [Output Only] URL of the manifest representing the update + // Manifest: Output only. URL of the manifest representing the update // configuration of this resource. Manifest string `json:"manifest,omitempty"` - // Properties: [Output Only] The set of updated properties for this + // Properties: Output only. The set of updated properties for this // resource, before references are expanded. Returned as serialized // YAML. Properties string `json:"properties,omitempty"` - // State: [Output Only] The state of the resource. + // State: Output only. The state of the resource. State string `json:"state,omitempty"` - // Warnings: [Output Only] If warning messages are generated during + // Warnings: Output only. If warning messages are generated during // processing of this resource, this field will be populated. Warnings []*ResourceUpdateWarnings `json:"warnings,omitempty"` @@ -1923,7 +2070,7 @@ func (s *ResourceUpdate) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ResourceUpdateError: [Output Only] If errors are generated during +// ResourceUpdateError: Output only. If errors are generated during // update of the resource, this field will be populated. type ResourceUpdateError struct { // Errors: [Output Only] The array of errors encountered while @@ -2104,7 +2251,8 @@ type Rule struct { // Action: Required Action string `json:"action,omitempty"` - // Conditions: Additional restrictions that must be met + // Conditions: Additional restrictions that must be met. All conditions + // must pass for the rule to match. Conditions []*Condition `json:"conditions,omitempty"` // Description: Human-readable description of the rule. @@ -2151,6 +2299,35 @@ func (s *Rule) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ServiceAccount: Service Account used as a credential. +type ServiceAccount struct { + // Email: The IAM service account email address like + // test@myproject.iam.gserviceaccount.com + Email string `json:"email,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Email") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Email") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ServiceAccount) MarshalJSON() ([]byte, error) { + type noMethod ServiceAccount + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type TargetConfiguration struct { // Config: The configuration to use for this deployment. Config *ConfigFile `json:"config,omitempty"` @@ -2293,11 +2470,11 @@ type Type struct { // provided by the client when the resource is created. Description string `json:"description,omitempty"` - // Id: [Output Only] Unique identifier for the resource; defined by the + // Id: Output only. Unique identifier for the resource; defined by the // server. Id uint64 `json:"id,omitempty,string"` - // InsertTime: [Output Only] Timestamp when the type was created, in + // InsertTime: Output only. Timestamp when the type was created, in // RFC3339 text format. InsertTime string `json:"insertTime,omitempty"` @@ -2312,11 +2489,11 @@ type Type struct { // Name: Name of the type. Name string `json:"name,omitempty"` - // Operation: [Output Only] The Operation that most recently ran, or is + // Operation: Output only. The Operation that most recently ran, or is // currently running, on this type. Operation *Operation `json:"operation,omitempty"` - // SelfLink: [Output Only] Self link for the type. + // SelfLink: Output only. Self link for the type. SelfLink string `json:"selfLink,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -2357,7 +2534,7 @@ type TypeInfo struct { // For swagger 1.2 this field will be empty. DocumentationLink string `json:"documentationLink,omitempty"` - // Kind: [Output Only] Type of the output. Always + // Kind: Output only. Type of the output. Always // deploymentManager#TypeInfo for TypeInfo. Kind string `json:"kind,omitempty"` @@ -2368,7 +2545,7 @@ type TypeInfo struct { // documentation link For template types, we return only a schema Schema *TypeInfoSchemaInfo `json:"schema,omitempty"` - // SelfLink: [Output Only] Server-defined URL for the resource. + // SelfLink: Output only. Server-defined URL for the resource. SelfLink string `json:"selfLink,omitempty"` // Title: The title on the API descriptor URL provided. @@ -2479,11 +2656,11 @@ type TypeProvider struct { // DescriptorUrl: Descriptor Url for the this type provider. DescriptorUrl string `json:"descriptorUrl,omitempty"` - // Id: [Output Only] Unique identifier for the resource; defined by the + // Id: Output only. Unique identifier for the resource; defined by the // server. Id uint64 `json:"id,omitempty,string"` - // InsertTime: [Output Only] Timestamp when the type provider was + // InsertTime: Output only. Timestamp when the type provider was // created, in RFC3339 text format. InsertTime string `json:"insertTime,omitempty"` @@ -2498,7 +2675,7 @@ type TypeProvider struct { // Name: Name of the type provider. Name string `json:"name,omitempty"` - // Operation: [Output Only] The Operation that most recently ran, or is + // Operation: Output only. The Operation that most recently ran, or is // currently running, on this type provider. Operation *Operation `json:"operation,omitempty"` @@ -2506,7 +2683,7 @@ type TypeProvider struct { // service. Options *Options `json:"options,omitempty"` - // SelfLink: [Output Only] Self link for the type provider. + // SelfLink: Output only. Self link for the type provider. SelfLink string `json:"selfLink,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -2571,7 +2748,7 @@ type TypeProvidersListResponse struct { // NextPageToken: A token used to continue a truncated list request. NextPageToken string `json:"nextPageToken,omitempty"` - // TypeProviders: [Output Only] A list of resource type providers + // TypeProviders: Output only. A list of resource type providers // supported by Deployment Manager. TypeProviders []*TypeProvider `json:"typeProviders,omitempty"` @@ -2606,7 +2783,7 @@ type TypeProvidersListTypesResponse struct { // NextPageToken: A token used to continue a truncated list request. NextPageToken string `json:"nextPageToken,omitempty"` - // Types: [Output Only] A list of resource type info. + // Types: Output only. A list of resource type info. Types []*TypeInfo `json:"types,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -2642,7 +2819,7 @@ type TypesListResponse struct { // NextPageToken: A token used to continue a truncated list request. NextPageToken string `json:"nextPageToken,omitempty"` - // Types: [Output Only] A list of resource types supported by Deployment + // Types: Output only. A list of resource types supported by Deployment // Manager. Types []*Type `json:"types,omitempty"` @@ -4271,7 +4448,7 @@ func (c *DeploymentsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -5041,7 +5218,7 @@ func (c *DeploymentsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -5336,7 +5513,7 @@ func (c *DeploymentsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*T // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } diff --git a/vendor/google.golang.org/api/deploymentmanager/v2/deploymentmanager-api.json b/vendor/google.golang.org/api/deploymentmanager/v2/deploymentmanager-api.json index 6f0dc7335..33589e217 100644 --- a/vendor/google.golang.org/api/deploymentmanager/v2/deploymentmanager-api.json +++ b/vendor/google.golang.org/api/deploymentmanager/v2/deploymentmanager-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/D9oyxr4DnVbupMt9dSmNXQp4YGQ\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/4coXG-kLdOLe0xqn_lc-mbxcObg\"", "discoveryVersion": "v1", "id": "deploymentmanager:v2", "name": "deploymentmanager", "canonicalName": "Deployment Manager", "version": "v2", - "revision": "20170615", + "revision": "20170925", "title": "Google Cloud Deployment Manager API", "description": "Declares, configures, and deploys complex solutions on Google Cloud Platform.", "ownerDomain": "google.com", @@ -21,7 +21,7 @@ "basePath": "/deploymentmanager/v2/projects/", "rootUrl": "https://www.googleapis.com/", "servicePath": "deploymentmanager/v2/projects/", - "batchPath": "batch", + "batchPath": "batch/deploymentmanager/v2", "parameters": { "alt": { "type": "string", @@ -129,6 +129,17 @@ } } }, + "AuthorizationLoggingOptions": { + "id": "AuthorizationLoggingOptions", + "type": "object", + "description": "Authorization-related information used by Cloud Audit Logging.", + "properties": { + "permissionType": { + "type": "string", + "description": "The type of the permission that was checked." + } + } + }, "Binding": { "id": "Binding", "type": "object", @@ -212,12 +223,12 @@ }, "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "description": "Output only. Unique identifier for the resource; defined by the server.", "format": "uint64" }, "insertTime": { "type": "string", - "description": "[Output Only] Timestamp when the deployment was created, in RFC3339 text format ." + "description": "Output only. Timestamp when the deployment was created, in RFC3339 text format ." }, "labels": { "type": "array", @@ -228,7 +239,7 @@ }, "manifest": { "type": "string", - "description": "[Output Only] URL of the manifest representing the last manifest that was successfully deployed." + "description": "Output only. URL of the manifest representing the last manifest that was successfully deployed." }, "name": { "type": "string", @@ -236,11 +247,11 @@ }, "operation": { "$ref": "Operation", - "description": "[Output Only] The Operation that most recently ran, or is currently running, on this deployment." + "description": "Output only. The Operation that most recently ran, or is currently running, on this deployment." }, "selfLink": { "type": "string", - "description": "[Output Only] Self link for the deployment." + "description": "Output only. Self link for the deployment." }, "target": { "$ref": "TargetConfiguration", @@ -248,7 +259,7 @@ }, "update": { "$ref": "DeploymentUpdate", - "description": "[Output Only] If Deployment Manager is currently updating or previewing an update to this deployment, the updated configuration appears here." + "description": "Output only. If Deployment Manager is currently updating or previewing an update to this deployment, the updated configuration appears here." } } }, @@ -271,18 +282,18 @@ "properties": { "description": { "type": "string", - "description": "[Output Only] An optional user-provided description of the deployment after the current update has been applied." + "description": "Output only. An optional user-provided description of the deployment after the current update has been applied." }, "labels": { "type": "array", - "description": "[Output Only] Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 characters long and must conform to the regular expression ([a-z]([-a-z0-9]*[a-z0-9])?)?", + "description": "Output only. Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 characters long and must conform to the regular expression ([a-z]([-a-z0-9]*[a-z0-9])?)?", "items": { "$ref": "DeploymentUpdateLabelEntry" } }, "manifest": { "type": "string", - "description": "[Output Only] URL of the manifest representing the update configuration of this deployment." + "description": "Output only. URL of the manifest representing the update configuration of this deployment." } } }, @@ -317,14 +328,14 @@ "properties": { "deployments": { "type": "array", - "description": "[Output Only] The deployments contained in this response.", + "description": "Output only. The deployments contained in this response.", "items": { "$ref": "Deployment" } }, "nextPageToken": { "type": "string", - "description": "[Output Only] A token used to continue a truncated list request." + "description": "Output only. A token used to continue a truncated list request." } } }, @@ -390,6 +401,10 @@ "counter": { "$ref": "LogConfigCounterOptions", "description": "Counter options." + }, + "dataAccess": { + "$ref": "LogConfigDataAccessOptions", + "description": "Data access options." } } }, @@ -398,6 +413,10 @@ "type": "object", "description": "Write a Cloud Audit log", "properties": { + "authorizationLoggingOptions": { + "$ref": "AuthorizationLoggingOptions", + "description": "Information used by the Cloud Audit Logging pipeline." + }, "logName": { "type": "string", "description": "The log_name to populate in the Cloud Audit Record." @@ -407,7 +426,7 @@ "LogConfigCounterOptions": { "id": "LogConfigCounterOptions", "type": "object", - "description": "Options for counters", + "description": "Increment a streamz counter with the specified metric and field names.\n\nMetric names should start with a '/', generally be lowercase-only, and end in \"_count\". Field names should not contain an initial slash. The actual exported metric names will have \"/iam/policy\" prepended.\n\nField names correspond to IAM request parameters and field values are their respective values.\n\nAt present the only supported field names are - \"iam_principal\", corresponding to IAMContext.principal; - \"\" (empty string), resulting in one aggretated counter with no field.\n\nExamples: counter { metric: \"/debug_access_count\" field: \"iam_principal\" } ==\u003e increment counter /iam/policy/backend_debug_access_count {iam_principal=[value of IAMContext.principal]}\n\nAt this time we do not support: * multiple field names (though this may be supported in the future) * decrementing the counter * incrementing it by anything other than 1", "properties": { "field": { "type": "string", @@ -419,6 +438,17 @@ } } }, + "LogConfigDataAccessOptions": { + "id": "LogConfigDataAccessOptions", + "type": "object", + "description": "Write a Data Access (Gin) log", + "properties": { + "logMode": { + "type": "string", + "description": "Whether Gin logging should happen in a fail-closed manner at the caller. This is relevant only in the LocalIAM implementation, for now." + } + } + }, "Manifest": { "id": "Manifest", "type": "object", @@ -426,39 +456,39 @@ "properties": { "config": { "$ref": "ConfigFile", - "description": "[Output Only] The YAML configuration for this manifest." + "description": "Output only. The YAML configuration for this manifest." }, "expandedConfig": { "type": "string", - "description": "[Output Only] The fully-expanded configuration file, including any templates and references." + "description": "Output only. The fully-expanded configuration file, including any templates and references." }, "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "description": "Output only. Unique identifier for the resource; defined by the server.", "format": "uint64" }, "imports": { "type": "array", - "description": "[Output Only] The imported files for this manifest.", + "description": "Output only. The imported files for this manifest.", "items": { "$ref": "ImportFile" } }, "insertTime": { "type": "string", - "description": "[Output Only] Timestamp when the manifest was created, in RFC3339 text format." + "description": "Output only. Timestamp when the manifest was created, in RFC3339 text format." }, "layout": { "type": "string", - "description": "[Output Only] The YAML layout for this manifest." + "description": "Output only. The YAML layout for this manifest." }, "name": { "type": "string", - "description": "[Output Only] The name of the manifest." + "description": "Output only.\n\nThe name of the manifest." }, "selfLink": { "type": "string", - "description": "[Output Only] Self link for the manifest." + "description": "Output only. Self link for the manifest." } } }, @@ -469,14 +499,14 @@ "properties": { "manifests": { "type": "array", - "description": "[Output Only] Manifests contained in this list response.", + "description": "Output only. Manifests contained in this list response.", "items": { "$ref": "Manifest" } }, "nextPageToken": { "type": "string", - "description": "[Output Only] A token used to continue a truncated list request." + "description": "Output only. A token used to continue a truncated list request." } } }, @@ -644,11 +674,11 @@ "properties": { "nextPageToken": { "type": "string", - "description": "[Output Only] A token used to continue a truncated list request." + "description": "Output only. A token used to continue a truncated list request." }, "operations": { "type": "array", - "description": "[Output Only] Operations contained in this list response.", + "description": "Output only. Operations contained in this list response.", "items": { "$ref": "Operation" } @@ -708,48 +738,48 @@ }, "finalProperties": { "type": "string", - "description": "[Output Only] The evaluated properties of the resource with references expanded. Returned as serialized YAML." + "description": "Output only. The evaluated properties of the resource with references expanded. Returned as serialized YAML." }, "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "description": "Output only. Unique identifier for the resource; defined by the server.", "format": "uint64" }, "insertTime": { "type": "string", - "description": "[Output Only] Timestamp when the resource was created or acquired, in RFC3339 text format ." + "description": "Output only. Timestamp when the resource was created or acquired, in RFC3339 text format ." }, "manifest": { "type": "string", - "description": "[Output Only] URL of the manifest representing the current configuration of this resource." + "description": "Output only. URL of the manifest representing the current configuration of this resource." }, "name": { "type": "string", - "description": "[Output Only] The name of the resource as it appears in the YAML config." + "description": "Output only. The name of the resource as it appears in the YAML config." }, "properties": { "type": "string", - "description": "[Output Only] The current properties of the resource before any references have been filled in. Returned as serialized YAML." + "description": "Output only. The current properties of the resource before any references have been filled in. Returned as serialized YAML." }, "type": { "type": "string", - "description": "[Output Only] The type of the resource, for example compute.v1.instance, or cloudfunctions.v1beta1.function." + "description": "Output only. The type of the resource, for example compute.v1.instance, or cloudfunctions.v1beta1.function." }, "update": { "$ref": "ResourceUpdate", - "description": "[Output Only] If Deployment Manager is currently updating or previewing an update to this resource, the updated configuration appears here." + "description": "Output only. If Deployment Manager is currently updating or previewing an update to this resource, the updated configuration appears here." }, "updateTime": { "type": "string", - "description": "[Output Only] Timestamp when the resource was updated, in RFC3339 text format ." + "description": "Output only. Timestamp when the resource was updated, in RFC3339 text format ." }, "url": { "type": "string", - "description": "[Output Only] The URL of the actual resource." + "description": "Output only. The URL of the actual resource." }, "warnings": { "type": "array", - "description": "[Output Only] If warning messages are generated during processing of this resource, this field will be populated.", + "description": "Output only. If warning messages are generated during processing of this resource, this field will be populated.", "items": { "type": "object", "properties": { @@ -805,7 +835,7 @@ }, "error": { "type": "object", - "description": "[Output Only] If errors are generated during update of the resource, this field will be populated.", + "description": "Output only. If errors are generated during update of the resource, this field will be populated.", "properties": { "errors": { "type": "array", @@ -832,27 +862,27 @@ }, "finalProperties": { "type": "string", - "description": "[Output Only] The expanded properties of the resource with reference values expanded. Returned as serialized YAML." + "description": "Output only. The expanded properties of the resource with reference values expanded. Returned as serialized YAML." }, "intent": { "type": "string", - "description": "[Output Only] The intent of the resource: PREVIEW, UPDATE, or CANCEL." + "description": "Output only. The intent of the resource: PREVIEW, UPDATE, or CANCEL." }, "manifest": { "type": "string", - "description": "[Output Only] URL of the manifest representing the update configuration of this resource." + "description": "Output only. URL of the manifest representing the update configuration of this resource." }, "properties": { "type": "string", - "description": "[Output Only] The set of updated properties for this resource, before references are expanded. Returned as serialized YAML." + "description": "Output only. The set of updated properties for this resource, before references are expanded. Returned as serialized YAML." }, "state": { "type": "string", - "description": "[Output Only] The state of the resource." + "description": "Output only. The state of the resource." }, "warnings": { "type": "array", - "description": "[Output Only] If warning messages are generated during processing of this resource, this field will be populated.", + "description": "Output only. If warning messages are generated during processing of this resource, this field will be populated.", "items": { "type": "object", "properties": { @@ -915,7 +945,7 @@ }, "conditions": { "type": "array", - "description": "Additional restrictions that must be met", + "description": "Additional restrictions that must be met. All conditions must pass for the rule to match.", "items": { "$ref": "Condition" } @@ -1005,12 +1035,12 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "description": "Output only. Unique identifier for the resource; defined by the server.", "format": "uint64" }, "insertTime": { "type": "string", - "description": "[Output Only] Timestamp when the type was created, in RFC3339 text format." + "description": "Output only. Timestamp when the type was created, in RFC3339 text format." }, "name": { "type": "string", @@ -1018,11 +1048,11 @@ }, "operation": { "$ref": "Operation", - "description": "[Output Only] The Operation that most recently ran, or is currently running, on this type." + "description": "Output only. The Operation that most recently ran, or is currently running, on this type." }, "selfLink": { "type": "string", - "description": "[Output Only] Self link for the type." + "description": "Output only. Self link for the type." } } }, @@ -1037,7 +1067,7 @@ }, "types": { "type": "array", - "description": "[Output Only] A list of resource types supported by Deployment Manager.", + "description": "Output only. A list of resource types supported by Deployment Manager.", "items": { "$ref": "Type" } @@ -1183,7 +1213,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", "location": "path" } }, @@ -1369,7 +1399,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", "location": "path" } }, @@ -1441,7 +1471,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, diff --git a/vendor/google.golang.org/api/deploymentmanager/v2/deploymentmanager-gen.go b/vendor/google.golang.org/api/deploymentmanager/v2/deploymentmanager-gen.go index 492aa1f9c..a083760f1 100644 --- a/vendor/google.golang.org/api/deploymentmanager/v2/deploymentmanager-gen.go +++ b/vendor/google.golang.org/api/deploymentmanager/v2/deploymentmanager-gen.go @@ -244,6 +244,36 @@ func (s *AuditLogConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AuthorizationLoggingOptions: Authorization-related information used +// by Cloud Audit Logging. +type AuthorizationLoggingOptions struct { + // PermissionType: The type of the permission that was checked. + PermissionType string `json:"permissionType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PermissionType") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "PermissionType") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AuthorizationLoggingOptions) MarshalJSON() ([]byte, error) { + type noMethod AuthorizationLoggingOptions + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Binding: Associates `members` with a `role`. type Binding struct { // Condition: The condition that is associated with this binding. NOTE: @@ -396,11 +426,11 @@ type Deployment struct { // fingerprint value, perform a get() request to a deployment. Fingerprint string `json:"fingerprint,omitempty"` - // Id: [Output Only] Unique identifier for the resource; defined by the + // Id: Output only. Unique identifier for the resource; defined by the // server. Id uint64 `json:"id,omitempty,string"` - // InsertTime: [Output Only] Timestamp when the deployment was created, + // InsertTime: Output only. Timestamp when the deployment was created, // in RFC3339 text format . InsertTime string `json:"insertTime,omitempty"` @@ -412,7 +442,7 @@ type Deployment struct { // ([a-z]([-a-z0-9]*[a-z0-9])?)? Labels []*DeploymentLabelEntry `json:"labels,omitempty"` - // Manifest: [Output Only] URL of the manifest representing the last + // Manifest: Output only. URL of the manifest representing the last // manifest that was successfully deployed. Manifest string `json:"manifest,omitempty"` @@ -425,18 +455,18 @@ type Deployment struct { // last character, which cannot be a dash. Name string `json:"name,omitempty"` - // Operation: [Output Only] The Operation that most recently ran, or is + // Operation: Output only. The Operation that most recently ran, or is // currently running, on this deployment. Operation *Operation `json:"operation,omitempty"` - // SelfLink: [Output Only] Self link for the deployment. + // SelfLink: Output only. Self link for the deployment. SelfLink string `json:"selfLink,omitempty"` // Target: [Input Only] The parameters that define your deployment, // including the deployment configuration and relevant templates. Target *TargetConfiguration `json:"target,omitempty"` - // Update: [Output Only] If Deployment Manager is currently updating or + // Update: Output only. If Deployment Manager is currently updating or // previewing an update to this deployment, the updated configuration // appears here. Update *DeploymentUpdate `json:"update,omitempty"` @@ -497,11 +527,11 @@ func (s *DeploymentLabelEntry) MarshalJSON() ([]byte, error) { } type DeploymentUpdate struct { - // Description: [Output Only] An optional user-provided description of + // Description: Output only. An optional user-provided description of // the deployment after the current update has been applied. Description string `json:"description,omitempty"` - // Labels: [Output Only] Map of labels; provided by the client when the + // Labels: Output only. Map of labels; provided by the client when the // resource is created or updated. Specifically: Label keys must be // between 1 and 63 characters long and must conform to the following // regular expression: [a-z]([-a-z0-9]*[a-z0-9])? Label values must be @@ -509,7 +539,7 @@ type DeploymentUpdate struct { // expression ([a-z]([-a-z0-9]*[a-z0-9])?)? Labels []*DeploymentUpdateLabelEntry `json:"labels,omitempty"` - // Manifest: [Output Only] URL of the manifest representing the update + // Manifest: Output only. URL of the manifest representing the update // configuration of this deployment. Manifest string `json:"manifest,omitempty"` @@ -605,12 +635,11 @@ func (s *DeploymentsCancelPreviewRequest) MarshalJSON() ([]byte, error) { // deployments and a page token used to build the next request if the // request has been truncated. type DeploymentsListResponse struct { - // Deployments: [Output Only] The deployments contained in this - // response. + // Deployments: Output only. The deployments contained in this response. Deployments []*Deployment `json:"deployments,omitempty"` - // NextPageToken: [Output Only] A token used to continue a truncated - // list request. + // NextPageToken: Output only. A token used to continue a truncated list + // request. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -765,6 +794,9 @@ type LogConfig struct { // Counter: Counter options. Counter *LogConfigCounterOptions `json:"counter,omitempty"` + // DataAccess: Data access options. + DataAccess *LogConfigDataAccessOptions `json:"dataAccess,omitempty"` + // ForceSendFields is a list of field names (e.g. "CloudAudit") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -790,23 +822,29 @@ func (s *LogConfig) MarshalJSON() ([]byte, error) { // LogConfigCloudAuditOptions: Write a Cloud Audit log type LogConfigCloudAuditOptions struct { + // AuthorizationLoggingOptions: Information used by the Cloud Audit + // Logging pipeline. + AuthorizationLoggingOptions *AuthorizationLoggingOptions `json:"authorizationLoggingOptions,omitempty"` + // LogName: The log_name to populate in the Cloud Audit Record. LogName string `json:"logName,omitempty"` - // ForceSendFields is a list of field names (e.g. "LogName") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. + // ForceSendFields is a list of field names (e.g. + // "AuthorizationLoggingOptions") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LogName") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. + // NullFields is a list of field names (e.g. + // "AuthorizationLoggingOptions") to include in API requests with the + // JSON null value. By default, fields with empty values are omitted + // from API requests. However, any field with an empty value appearing + // in NullFields will be sent to the server as null. It is an error if a + // field in this list has a non-empty value. This may be used to include + // null fields in Patch requests. NullFields []string `json:"-"` } @@ -816,7 +854,29 @@ func (s *LogConfigCloudAuditOptions) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// LogConfigCounterOptions: Options for counters +// LogConfigCounterOptions: Increment a streamz counter with the +// specified metric and field names. +// +// Metric names should start with a '/', generally be lowercase-only, +// and end in "_count". Field names should not contain an initial slash. +// The actual exported metric names will have "/iam/policy" +// prepended. +// +// Field names correspond to IAM request parameters and field values are +// their respective values. +// +// At present the only supported field names are - "iam_principal", +// corresponding to IAMContext.principal; - "" (empty string), resulting +// in one aggretated counter with no field. +// +// Examples: counter { metric: "/debug_access_count" field: +// "iam_principal" } ==> increment counter +// /iam/policy/backend_debug_access_count {iam_principal=[value of +// IAMContext.principal]} +// +// At this time we do not support: * multiple field names (though this +// may be supported in the future) * decrementing the counter * +// incrementing it by anything other than 1 type LogConfigCounterOptions struct { // Field: The field value to attribute. Field string `json:"field,omitempty"` @@ -847,32 +907,64 @@ func (s *LogConfigCounterOptions) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// LogConfigDataAccessOptions: Write a Data Access (Gin) log +type LogConfigDataAccessOptions struct { + // LogMode: Whether Gin logging should happen in a fail-closed manner at + // the caller. This is relevant only in the LocalIAM implementation, for + // now. + LogMode string `json:"logMode,omitempty"` + + // ForceSendFields is a list of field names (e.g. "LogMode") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "LogMode") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *LogConfigDataAccessOptions) MarshalJSON() ([]byte, error) { + type noMethod LogConfigDataAccessOptions + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type Manifest struct { - // Config: [Output Only] The YAML configuration for this manifest. + // Config: Output only. The YAML configuration for this manifest. Config *ConfigFile `json:"config,omitempty"` - // ExpandedConfig: [Output Only] The fully-expanded configuration file, + // ExpandedConfig: Output only. The fully-expanded configuration file, // including any templates and references. ExpandedConfig string `json:"expandedConfig,omitempty"` - // Id: [Output Only] Unique identifier for the resource; defined by the + // Id: Output only. Unique identifier for the resource; defined by the // server. Id uint64 `json:"id,omitempty,string"` - // Imports: [Output Only] The imported files for this manifest. + // Imports: Output only. The imported files for this manifest. Imports []*ImportFile `json:"imports,omitempty"` - // InsertTime: [Output Only] Timestamp when the manifest was created, in + // InsertTime: Output only. Timestamp when the manifest was created, in // RFC3339 text format. InsertTime string `json:"insertTime,omitempty"` - // Layout: [Output Only] The YAML layout for this manifest. + // Layout: Output only. The YAML layout for this manifest. Layout string `json:"layout,omitempty"` - // Name: [Output Only] The name of the manifest. + // Name: Output only. + // + // The name of the manifest. Name string `json:"name,omitempty"` - // SelfLink: [Output Only] Self link for the manifest. + // SelfLink: Output only. Self link for the manifest. SelfLink string `json:"selfLink,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -906,11 +998,11 @@ func (s *Manifest) MarshalJSON() ([]byte, error) { // manifests and a page token used to build the next request if the // request has been truncated. type ManifestsListResponse struct { - // Manifests: [Output Only] Manifests contained in this list response. + // Manifests: Output only. Manifests contained in this list response. Manifests []*Manifest `json:"manifests,omitempty"` - // NextPageToken: [Output Only] A token used to continue a truncated - // list request. + // NextPageToken: Output only. A token used to continue a truncated list + // request. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -1207,11 +1299,11 @@ func (s *OperationWarningsData) MarshalJSON() ([]byte, error) { // operations and a page token used to build the next request if the // request has been truncated. type OperationsListResponse struct { - // NextPageToken: [Output Only] A token used to continue a truncated - // list request. + // NextPageToken: Output only. A token used to continue a truncated list + // request. NextPageToken string `json:"nextPageToken,omitempty"` - // Operations: [Output Only] Operations contained in this list response. + // Operations: Output only. Operations contained in this list response. Operations []*Operation `json:"operations,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -1331,48 +1423,48 @@ type Resource struct { // AccessControl: The Access Control Policy set on this resource. AccessControl *ResourceAccessControl `json:"accessControl,omitempty"` - // FinalProperties: [Output Only] The evaluated properties of the + // FinalProperties: Output only. The evaluated properties of the // resource with references expanded. Returned as serialized YAML. FinalProperties string `json:"finalProperties,omitempty"` - // Id: [Output Only] Unique identifier for the resource; defined by the + // Id: Output only. Unique identifier for the resource; defined by the // server. Id uint64 `json:"id,omitempty,string"` - // InsertTime: [Output Only] Timestamp when the resource was created or + // InsertTime: Output only. Timestamp when the resource was created or // acquired, in RFC3339 text format . InsertTime string `json:"insertTime,omitempty"` - // Manifest: [Output Only] URL of the manifest representing the current + // Manifest: Output only. URL of the manifest representing the current // configuration of this resource. Manifest string `json:"manifest,omitempty"` - // Name: [Output Only] The name of the resource as it appears in the - // YAML config. + // Name: Output only. The name of the resource as it appears in the YAML + // config. Name string `json:"name,omitempty"` - // Properties: [Output Only] The current properties of the resource + // Properties: Output only. The current properties of the resource // before any references have been filled in. Returned as serialized // YAML. Properties string `json:"properties,omitempty"` - // Type: [Output Only] The type of the resource, for example + // Type: Output only. The type of the resource, for example // compute.v1.instance, or cloudfunctions.v1beta1.function. Type string `json:"type,omitempty"` - // Update: [Output Only] If Deployment Manager is currently updating or + // Update: Output only. If Deployment Manager is currently updating or // previewing an update to this resource, the updated configuration // appears here. Update *ResourceUpdate `json:"update,omitempty"` - // UpdateTime: [Output Only] Timestamp when the resource was updated, in + // UpdateTime: Output only. Timestamp when the resource was updated, in // RFC3339 text format . UpdateTime string `json:"updateTime,omitempty"` - // Url: [Output Only] The URL of the actual resource. + // Url: Output only. The URL of the actual resource. Url string `json:"url,omitempty"` - // Warnings: [Output Only] If warning messages are generated during + // Warnings: Output only. If warning messages are generated during // processing of this resource, this field will be populated. Warnings []*ResourceWarnings `json:"warnings,omitempty"` @@ -1511,31 +1603,31 @@ type ResourceUpdate struct { // after updating the resource itself. AccessControl *ResourceAccessControl `json:"accessControl,omitempty"` - // Error: [Output Only] If errors are generated during update of the + // Error: Output only. If errors are generated during update of the // resource, this field will be populated. Error *ResourceUpdateError `json:"error,omitempty"` - // FinalProperties: [Output Only] The expanded properties of the - // resource with reference values expanded. Returned as serialized YAML. + // FinalProperties: Output only. The expanded properties of the resource + // with reference values expanded. Returned as serialized YAML. FinalProperties string `json:"finalProperties,omitempty"` - // Intent: [Output Only] The intent of the resource: PREVIEW, UPDATE, or + // Intent: Output only. The intent of the resource: PREVIEW, UPDATE, or // CANCEL. Intent string `json:"intent,omitempty"` - // Manifest: [Output Only] URL of the manifest representing the update + // Manifest: Output only. URL of the manifest representing the update // configuration of this resource. Manifest string `json:"manifest,omitempty"` - // Properties: [Output Only] The set of updated properties for this + // Properties: Output only. The set of updated properties for this // resource, before references are expanded. Returned as serialized // YAML. Properties string `json:"properties,omitempty"` - // State: [Output Only] The state of the resource. + // State: Output only. The state of the resource. State string `json:"state,omitempty"` - // Warnings: [Output Only] If warning messages are generated during + // Warnings: Output only. If warning messages are generated during // processing of this resource, this field will be populated. Warnings []*ResourceUpdateWarnings `json:"warnings,omitempty"` @@ -1562,7 +1654,7 @@ func (s *ResourceUpdate) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ResourceUpdateError: [Output Only] If errors are generated during +// ResourceUpdateError: Output only. If errors are generated during // update of the resource, this field will be populated. type ResourceUpdateError struct { // Errors: [Output Only] The array of errors encountered while @@ -1743,7 +1835,8 @@ type Rule struct { // Action: Required Action string `json:"action,omitempty"` - // Conditions: Additional restrictions that must be met + // Conditions: Additional restrictions that must be met. All conditions + // must pass for the rule to match. Conditions []*Condition `json:"conditions,omitempty"` // Description: Human-readable description of the rule. @@ -1885,22 +1978,22 @@ func (s *TestPermissionsResponse) MarshalJSON() ([]byte, error) { // Type: A resource type supported by Deployment Manager. type Type struct { - // Id: [Output Only] Unique identifier for the resource; defined by the + // Id: Output only. Unique identifier for the resource; defined by the // server. Id uint64 `json:"id,omitempty,string"` - // InsertTime: [Output Only] Timestamp when the type was created, in + // InsertTime: Output only. Timestamp when the type was created, in // RFC3339 text format. InsertTime string `json:"insertTime,omitempty"` // Name: Name of the type. Name string `json:"name,omitempty"` - // Operation: [Output Only] The Operation that most recently ran, or is + // Operation: Output only. The Operation that most recently ran, or is // currently running, on this type. Operation *Operation `json:"operation,omitempty"` - // SelfLink: [Output Only] Self link for the type. + // SelfLink: Output only. Self link for the type. SelfLink string `json:"selfLink,omitempty"` // ForceSendFields is a list of field names (e.g. "Id") to @@ -1932,7 +2025,7 @@ type TypesListResponse struct { // NextPageToken: A token used to continue a truncated list request. NextPageToken string `json:"nextPageToken,omitempty"` - // Types: [Output Only] A list of resource types supported by Deployment + // Types: Output only. A list of resource types supported by Deployment // Manager. Types []*Type `json:"types,omitempty"` @@ -2558,7 +2651,7 @@ func (c *DeploymentsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -3328,7 +3421,7 @@ func (c *DeploymentsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -3623,7 +3716,7 @@ func (c *DeploymentsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*T // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } diff --git a/vendor/google.golang.org/api/deploymentmanager/v2beta/deploymentmanager-api.json b/vendor/google.golang.org/api/deploymentmanager/v2beta/deploymentmanager-api.json index e680e4526..c19a5a38c 100644 --- a/vendor/google.golang.org/api/deploymentmanager/v2beta/deploymentmanager-api.json +++ b/vendor/google.golang.org/api/deploymentmanager/v2beta/deploymentmanager-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/BpAXxEaDX5Q7fHdBGIpwDxZQd84\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/fjbnlFC4GTEIX5zCJ4_9R1qQWCw\"", "discoveryVersion": "v1", "id": "deploymentmanager:v2beta", "name": "deploymentmanager", "canonicalName": "Deployment Manager V2Beta", "version": "v2beta", - "revision": "20170615", + "revision": "20170925", "title": "Google Cloud Deployment Manager API V2Beta Methods", "description": "The Deployment Manager API allows users to declaratively configure, deploy and run complex solutions on the Google Cloud Platform.", "ownerDomain": "google.com", @@ -21,7 +21,7 @@ "basePath": "/deploymentmanager/v2beta/projects/", "rootUrl": "https://www.googleapis.com/", "servicePath": "deploymentmanager/v2beta/projects/", - "batchPath": "batch", + "batchPath": "batch/deploymentmanager/v2beta", "parameters": { "alt": { "type": "string", @@ -129,6 +129,17 @@ } } }, + "AuthorizationLoggingOptions": { + "id": "AuthorizationLoggingOptions", + "type": "object", + "description": "Authorization-related information used by Cloud Audit Logging.", + "properties": { + "permissionType": { + "type": "string", + "description": "The type of the permission that was checked." + } + } + }, "BaseType": { "id": "BaseType", "type": "object", @@ -216,12 +227,12 @@ }, "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "description": "Output only. Unique identifier for the resource; defined by the server.", "format": "uint64" }, "insertTime": { "type": "string", - "description": "[Output Only] Timestamp when the composite type was created, in RFC3339 text format." + "description": "Output only. Timestamp when the composite type was created, in RFC3339 text format." }, "labels": { "type": "array", @@ -236,11 +247,11 @@ }, "operation": { "$ref": "Operation", - "description": "[Output Only] The Operation that most recently ran, or is currently running, on this composite type." + "description": "Output only. The Operation that most recently ran, or is currently running, on this composite type." }, "selfLink": { "type": "string", - "description": "[Output Only] Self link for the type provider." + "description": "Output only. Self link for the type provider." }, "status": { "type": "string" @@ -270,7 +281,7 @@ "properties": { "compositeTypes": { "type": "array", - "description": "[Output Only] A list of resource composite types supported by Deployment Manager.", + "description": "Output only. A list of resource composite types supported by Deployment Manager.", "items": { "$ref": "CompositeType" } @@ -329,11 +340,19 @@ "Credential": { "id": "Credential", "type": "object", - "description": "Credential used by ConfigurableResourceTypes.", + "description": "The credential used by Deployment Manager and TypeProvider. Only one of the options is permitted.", "properties": { "basicAuth": { "$ref": "BasicAuth", - "description": "Basic Auth Credentials for this Type." + "description": "Basic Auth Credential, only used by TypeProvider." + }, + "serviceAccount": { + "$ref": "ServiceAccount", + "description": "Service Account Credential, only used by Deployment." + }, + "useProjectDefault": { + "type": "boolean", + "description": "Specify to use the project default credential, only supported by Deployment." } } }, @@ -353,12 +372,12 @@ }, "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "description": "Output only. Unique identifier for the resource; defined by the server.", "format": "uint64" }, "insertTime": { "type": "string", - "description": "[Output Only] Timestamp when the deployment was created, in RFC3339 text format ." + "description": "Output only. Timestamp when the deployment was created, in RFC3339 text format ." }, "labels": { "type": "array", @@ -369,7 +388,7 @@ }, "manifest": { "type": "string", - "description": "[Output Only] URL of the manifest representing the last manifest that was successfully deployed." + "description": "Output only. URL of the manifest representing the last manifest that was successfully deployed." }, "name": { "type": "string", @@ -377,11 +396,11 @@ }, "operation": { "$ref": "Operation", - "description": "[Output Only] The Operation that most recently ran, or is currently running, on this deployment." + "description": "Output only. The Operation that most recently ran, or is currently running, on this deployment." }, "selfLink": { "type": "string", - "description": "[Output Only] Self link for the deployment." + "description": "Output only. Self link for the deployment." }, "target": { "$ref": "TargetConfiguration", @@ -389,7 +408,7 @@ }, "update": { "$ref": "DeploymentUpdate", - "description": "[Output Only] If Deployment Manager is currently updating or previewing an update to this deployment, the updated configuration appears here." + "description": "Output only. If Deployment Manager is currently updating or previewing an update to this deployment, the updated configuration appears here." } } }, @@ -412,18 +431,18 @@ "properties": { "description": { "type": "string", - "description": "[Output Only] An optional user-provided description of the deployment after the current update has been applied." + "description": "Output only. An optional user-provided description of the deployment after the current update has been applied." }, "labels": { "type": "array", - "description": "[Output Only] Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 characters long and must conform to the regular expression ([a-z]([-a-z0-9]*[a-z0-9])?)?", + "description": "Output only. Map of labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63 characters long and must conform to the regular expression ([a-z]([-a-z0-9]*[a-z0-9])?)?", "items": { "$ref": "DeploymentUpdateLabelEntry" } }, "manifest": { "type": "string", - "description": "[Output Only] URL of the manifest representing the update configuration of this deployment." + "description": "Output only. URL of the manifest representing the update configuration of this deployment." } } }, @@ -458,14 +477,14 @@ "properties": { "deployments": { "type": "array", - "description": "[Output Only] The deployments contained in this response.", + "description": "Output only. The deployments contained in this response.", "items": { "$ref": "Deployment" } }, "nextPageToken": { "type": "string", - "description": "[Output Only] A token used to continue a truncated list request." + "description": "Output only. A token used to continue a truncated list request." } } }, @@ -554,6 +573,10 @@ "counter": { "$ref": "LogConfigCounterOptions", "description": "Counter options." + }, + "dataAccess": { + "$ref": "LogConfigDataAccessOptions", + "description": "Data access options." } } }, @@ -562,6 +585,10 @@ "type": "object", "description": "Write a Cloud Audit log", "properties": { + "authorizationLoggingOptions": { + "$ref": "AuthorizationLoggingOptions", + "description": "Information used by the Cloud Audit Logging pipeline." + }, "logName": { "type": "string", "description": "The log_name to populate in the Cloud Audit Record." @@ -571,7 +598,7 @@ "LogConfigCounterOptions": { "id": "LogConfigCounterOptions", "type": "object", - "description": "Options for counters", + "description": "Increment a streamz counter with the specified metric and field names.\n\nMetric names should start with a '/', generally be lowercase-only, and end in \"_count\". Field names should not contain an initial slash. The actual exported metric names will have \"/iam/policy\" prepended.\n\nField names correspond to IAM request parameters and field values are their respective values.\n\nAt present the only supported field names are - \"iam_principal\", corresponding to IAMContext.principal; - \"\" (empty string), resulting in one aggretated counter with no field.\n\nExamples: counter { metric: \"/debug_access_count\" field: \"iam_principal\" } ==\u003e increment counter /iam/policy/backend_debug_access_count {iam_principal=[value of IAMContext.principal]}\n\nAt this time we do not support: * multiple field names (though this may be supported in the future) * decrementing the counter * incrementing it by anything other than 1", "properties": { "field": { "type": "string", @@ -583,6 +610,17 @@ } } }, + "LogConfigDataAccessOptions": { + "id": "LogConfigDataAccessOptions", + "type": "object", + "description": "Write a Data Access (Gin) log", + "properties": { + "logMode": { + "type": "string", + "description": "Whether Gin logging should happen in a fail-closed manner at the caller. This is relevant only in the LocalIAM implementation, for now." + } + } + }, "Manifest": { "id": "Manifest", "type": "object", @@ -590,39 +628,39 @@ "properties": { "config": { "$ref": "ConfigFile", - "description": "[Output Only] The YAML configuration for this manifest." + "description": "Output only. The YAML configuration for this manifest." }, "expandedConfig": { "type": "string", - "description": "[Output Only] The fully-expanded configuration file, including any templates and references." + "description": "Output only. The fully-expanded configuration file, including any templates and references." }, "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "description": "Output only. Unique identifier for the resource; defined by the server.", "format": "uint64" }, "imports": { "type": "array", - "description": "[Output Only] The imported files for this manifest.", + "description": "Output only. The imported files for this manifest.", "items": { "$ref": "ImportFile" } }, "insertTime": { "type": "string", - "description": "[Output Only] Timestamp when the manifest was created, in RFC3339 text format." + "description": "Output only. Timestamp when the manifest was created, in RFC3339 text format." }, "layout": { "type": "string", - "description": "[Output Only] The YAML layout for this manifest." + "description": "Output only. The YAML layout for this manifest." }, "name": { "type": "string", - "description": "[Output Only] The name of the manifest." + "description": "Output only.\n\nThe name of the manifest." }, "selfLink": { "type": "string", - "description": "[Output Only] Self link for the manifest." + "description": "Output only. Self link for the manifest." } } }, @@ -633,14 +671,14 @@ "properties": { "manifests": { "type": "array", - "description": "[Output Only] Manifests contained in this list response.", + "description": "Output only. Manifests contained in this list response.", "items": { "$ref": "Manifest" } }, "nextPageToken": { "type": "string", - "description": "[Output Only] A token used to continue a truncated list request." + "description": "Output only. A token used to continue a truncated list request." } } }, @@ -808,11 +846,11 @@ "properties": { "nextPageToken": { "type": "string", - "description": "[Output Only] A token used to continue a truncated list request." + "description": "Output only. A token used to continue a truncated list request." }, "operations": { "type": "array", - "description": "[Output Only] Operations contained in this list response.", + "description": "Output only. Operations contained in this list response.", "items": { "$ref": "Operation" } @@ -894,48 +932,48 @@ }, "finalProperties": { "type": "string", - "description": "[Output Only] The evaluated properties of the resource with references expanded. Returned as serialized YAML." + "description": "Output only. The evaluated properties of the resource with references expanded. Returned as serialized YAML." }, "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "description": "Output only. Unique identifier for the resource; defined by the server.", "format": "uint64" }, "insertTime": { "type": "string", - "description": "[Output Only] Timestamp when the resource was created or acquired, in RFC3339 text format ." + "description": "Output only. Timestamp when the resource was created or acquired, in RFC3339 text format ." }, "manifest": { "type": "string", - "description": "[Output Only] URL of the manifest representing the current configuration of this resource." + "description": "Output only. URL of the manifest representing the current configuration of this resource." }, "name": { "type": "string", - "description": "[Output Only] The name of the resource as it appears in the YAML config." + "description": "Output only. The name of the resource as it appears in the YAML config." }, "properties": { "type": "string", - "description": "[Output Only] The current properties of the resource before any references have been filled in. Returned as serialized YAML." + "description": "Output only. The current properties of the resource before any references have been filled in. Returned as serialized YAML." }, "type": { "type": "string", - "description": "[Output Only] The type of the resource, for example compute.v1.instance, or cloudfunctions.v1beta1.function." + "description": "Output only. The type of the resource, for example compute.v1.instance, or cloudfunctions.v1beta1.function." }, "update": { "$ref": "ResourceUpdate", - "description": "[Output Only] If Deployment Manager is currently updating or previewing an update to this resource, the updated configuration appears here." + "description": "Output only. If Deployment Manager is currently updating or previewing an update to this resource, the updated configuration appears here." }, "updateTime": { "type": "string", - "description": "[Output Only] Timestamp when the resource was updated, in RFC3339 text format ." + "description": "Output only. Timestamp when the resource was updated, in RFC3339 text format ." }, "url": { "type": "string", - "description": "[Output Only] The URL of the actual resource." + "description": "Output only. The URL of the actual resource." }, "warnings": { "type": "array", - "description": "[Output Only] If warning messages are generated during processing of this resource, this field will be populated.", + "description": "Output only. If warning messages are generated during processing of this resource, this field will be populated.", "items": { "type": "object", "properties": { @@ -991,7 +1029,7 @@ }, "error": { "type": "object", - "description": "[Output Only] If errors are generated during update of the resource, this field will be populated.", + "description": "Output only. If errors are generated during update of the resource, this field will be populated.", "properties": { "errors": { "type": "array", @@ -1018,27 +1056,27 @@ }, "finalProperties": { "type": "string", - "description": "[Output Only] The expanded properties of the resource with reference values expanded. Returned as serialized YAML." + "description": "Output only. The expanded properties of the resource with reference values expanded. Returned as serialized YAML." }, "intent": { "type": "string", - "description": "[Output Only] The intent of the resource: PREVIEW, UPDATE, or CANCEL." + "description": "Output only. The intent of the resource: PREVIEW, UPDATE, or CANCEL." }, "manifest": { "type": "string", - "description": "[Output Only] URL of the manifest representing the update configuration of this resource." + "description": "Output only. URL of the manifest representing the update configuration of this resource." }, "properties": { "type": "string", - "description": "[Output Only] The set of updated properties for this resource, before references are expanded. Returned as serialized YAML." + "description": "Output only. The set of updated properties for this resource, before references are expanded. Returned as serialized YAML." }, "state": { "type": "string", - "description": "[Output Only] The state of the resource." + "description": "Output only. The state of the resource." }, "warnings": { "type": "array", - "description": "[Output Only] If warning messages are generated during processing of this resource, this field will be populated.", + "description": "Output only. If warning messages are generated during processing of this resource, this field will be populated.", "items": { "type": "object", "properties": { @@ -1101,7 +1139,7 @@ }, "conditions": { "type": "array", - "description": "Additional restrictions that must be met", + "description": "Additional restrictions that must be met. All conditions must pass for the rule to match.", "items": { "$ref": "Condition" } @@ -1140,6 +1178,17 @@ } } }, + "ServiceAccount": { + "id": "ServiceAccount", + "type": "object", + "description": "Service Account used as a credential.", + "properties": { + "email": { + "type": "string", + "description": "The IAM service account email address like test@myproject.iam.gserviceaccount.com" + } + } + }, "TargetConfiguration": { "id": "TargetConfiguration", "type": "object", @@ -1225,12 +1274,12 @@ }, "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "description": "Output only. Unique identifier for the resource; defined by the server.", "format": "uint64" }, "insertTime": { "type": "string", - "description": "[Output Only] Timestamp when the type was created, in RFC3339 text format." + "description": "Output only. Timestamp when the type was created, in RFC3339 text format." }, "labels": { "type": "array", @@ -1245,11 +1294,11 @@ }, "operation": { "$ref": "Operation", - "description": "[Output Only] The Operation that most recently ran, or is currently running, on this type." + "description": "Output only. The Operation that most recently ran, or is currently running, on this type." }, "selfLink": { "type": "string", - "description": "[Output Only] Self link for the type." + "description": "Output only. Self link for the type." } } }, @@ -1268,7 +1317,7 @@ }, "kind": { "type": "string", - "description": "[Output Only] Type of the output. Always deploymentManager#TypeInfo for TypeInfo.", + "description": "Output only. Type of the output. Always deploymentManager#TypeInfo for TypeInfo.", "default": "deploymentmanager#typeInfo" }, "name": { @@ -1281,7 +1330,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server-defined URL for the resource." + "description": "Output only. Server-defined URL for the resource." }, "title": { "type": "string", @@ -1342,12 +1391,12 @@ }, "id": { "type": "string", - "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "description": "Output only. Unique identifier for the resource; defined by the server.", "format": "uint64" }, "insertTime": { "type": "string", - "description": "[Output Only] Timestamp when the type provider was created, in RFC3339 text format." + "description": "Output only. Timestamp when the type provider was created, in RFC3339 text format." }, "labels": { "type": "array", @@ -1362,7 +1411,7 @@ }, "operation": { "$ref": "Operation", - "description": "[Output Only] The Operation that most recently ran, or is currently running, on this type provider." + "description": "Output only. The Operation that most recently ran, or is currently running, on this type provider." }, "options": { "$ref": "Options", @@ -1370,7 +1419,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Self link for the type provider." + "description": "Output only. Self link for the type provider." } } }, @@ -1397,7 +1446,7 @@ }, "typeProviders": { "type": "array", - "description": "[Output Only] A list of resource type providers supported by Deployment Manager.", + "description": "Output only. A list of resource type providers supported by Deployment Manager.", "items": { "$ref": "TypeProvider" } @@ -1415,7 +1464,7 @@ }, "types": { "type": "array", - "description": "[Output Only] A list of resource type info.", + "description": "Output only. A list of resource type info.", "items": { "$ref": "TypeInfo" } @@ -1433,7 +1482,7 @@ }, "types": { "type": "array", - "description": "[Output Only] A list of resource types supported by Deployment Manager.", + "description": "Output only. A list of resource types supported by Deployment Manager.", "items": { "$ref": "Type" } @@ -1816,7 +1865,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", "location": "path" } }, @@ -2002,7 +2051,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", "location": "path" } }, @@ -2074,7 +2123,7 @@ "type": "string", "description": "Name of the resource for this request.", "required": true, - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", "location": "path" } }, diff --git a/vendor/google.golang.org/api/deploymentmanager/v2beta/deploymentmanager-gen.go b/vendor/google.golang.org/api/deploymentmanager/v2beta/deploymentmanager-gen.go index 6a60dd6af..36785fd00 100644 --- a/vendor/google.golang.org/api/deploymentmanager/v2beta/deploymentmanager-gen.go +++ b/vendor/google.golang.org/api/deploymentmanager/v2beta/deploymentmanager-gen.go @@ -268,6 +268,36 @@ func (s *AuditLogConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AuthorizationLoggingOptions: Authorization-related information used +// by Cloud Audit Logging. +type AuthorizationLoggingOptions struct { + // PermissionType: The type of the permission that was checked. + PermissionType string `json:"permissionType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PermissionType") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "PermissionType") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AuthorizationLoggingOptions) MarshalJSON() ([]byte, error) { + type noMethod AuthorizationLoggingOptions + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // BaseType: BaseType that describes a service-backed Type. type BaseType struct { // CollectionOverrides: Allows resource handling overrides for specific @@ -440,11 +470,11 @@ type CompositeType struct { // provided by the client when the resource is created. Description string `json:"description,omitempty"` - // Id: [Output Only] Unique identifier for the resource; defined by the + // Id: Output only. Unique identifier for the resource; defined by the // server. Id uint64 `json:"id,omitempty,string"` - // InsertTime: [Output Only] Timestamp when the composite type was + // InsertTime: Output only. Timestamp when the composite type was // created, in RFC3339 text format. InsertTime string `json:"insertTime,omitempty"` @@ -459,11 +489,11 @@ type CompositeType struct { // Name: Name of the composite type. Name string `json:"name,omitempty"` - // Operation: [Output Only] The Operation that most recently ran, or is + // Operation: Output only. The Operation that most recently ran, or is // currently running, on this composite type. Operation *Operation `json:"operation,omitempty"` - // SelfLink: [Output Only] Self link for the type provider. + // SelfLink: Output only. Self link for the type provider. SelfLink string `json:"selfLink,omitempty"` Status string `json:"status,omitempty"` @@ -529,7 +559,7 @@ func (s *CompositeTypeLabelEntry) MarshalJSON() ([]byte, error) { // CompositeTypesListResponse: A response that returns all Composite // Types supported by Deployment Manager type CompositeTypesListResponse struct { - // CompositeTypes: [Output Only] A list of resource composite types + // CompositeTypes: Output only. A list of resource composite types // supported by Deployment Manager. CompositeTypes []*CompositeType `json:"compositeTypes,omitempty"` @@ -636,11 +666,19 @@ func (s *ConfigFile) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Credential: Credential used by ConfigurableResourceTypes. +// Credential: The credential used by Deployment Manager and +// TypeProvider. Only one of the options is permitted. type Credential struct { - // BasicAuth: Basic Auth Credentials for this Type. + // BasicAuth: Basic Auth Credential, only used by TypeProvider. BasicAuth *BasicAuth `json:"basicAuth,omitempty"` + // ServiceAccount: Service Account Credential, only used by Deployment. + ServiceAccount *ServiceAccount `json:"serviceAccount,omitempty"` + + // UseProjectDefault: Specify to use the project default credential, + // only supported by Deployment. + UseProjectDefault bool `json:"useProjectDefault,omitempty"` + // ForceSendFields is a list of field names (e.g. "BasicAuth") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -680,11 +718,11 @@ type Deployment struct { // fingerprint value, perform a get() request to a deployment. Fingerprint string `json:"fingerprint,omitempty"` - // Id: [Output Only] Unique identifier for the resource; defined by the + // Id: Output only. Unique identifier for the resource; defined by the // server. Id uint64 `json:"id,omitempty,string"` - // InsertTime: [Output Only] Timestamp when the deployment was created, + // InsertTime: Output only. Timestamp when the deployment was created, // in RFC3339 text format . InsertTime string `json:"insertTime,omitempty"` @@ -696,7 +734,7 @@ type Deployment struct { // ([a-z]([-a-z0-9]*[a-z0-9])?)? Labels []*DeploymentLabelEntry `json:"labels,omitempty"` - // Manifest: [Output Only] URL of the manifest representing the last + // Manifest: Output only. URL of the manifest representing the last // manifest that was successfully deployed. Manifest string `json:"manifest,omitempty"` @@ -709,18 +747,18 @@ type Deployment struct { // last character, which cannot be a dash. Name string `json:"name,omitempty"` - // Operation: [Output Only] The Operation that most recently ran, or is + // Operation: Output only. The Operation that most recently ran, or is // currently running, on this deployment. Operation *Operation `json:"operation,omitempty"` - // SelfLink: [Output Only] Self link for the deployment. + // SelfLink: Output only. Self link for the deployment. SelfLink string `json:"selfLink,omitempty"` // Target: [Input Only] The parameters that define your deployment, // including the deployment configuration and relevant templates. Target *TargetConfiguration `json:"target,omitempty"` - // Update: [Output Only] If Deployment Manager is currently updating or + // Update: Output only. If Deployment Manager is currently updating or // previewing an update to this deployment, the updated configuration // appears here. Update *DeploymentUpdate `json:"update,omitempty"` @@ -781,11 +819,11 @@ func (s *DeploymentLabelEntry) MarshalJSON() ([]byte, error) { } type DeploymentUpdate struct { - // Description: [Output Only] An optional user-provided description of + // Description: Output only. An optional user-provided description of // the deployment after the current update has been applied. Description string `json:"description,omitempty"` - // Labels: [Output Only] Map of labels; provided by the client when the + // Labels: Output only. Map of labels; provided by the client when the // resource is created or updated. Specifically: Label keys must be // between 1 and 63 characters long and must conform to the following // regular expression: [a-z]([-a-z0-9]*[a-z0-9])? Label values must be @@ -793,7 +831,7 @@ type DeploymentUpdate struct { // expression ([a-z]([-a-z0-9]*[a-z0-9])?)? Labels []*DeploymentUpdateLabelEntry `json:"labels,omitempty"` - // Manifest: [Output Only] URL of the manifest representing the update + // Manifest: Output only. URL of the manifest representing the update // configuration of this deployment. Manifest string `json:"manifest,omitempty"` @@ -889,12 +927,11 @@ func (s *DeploymentsCancelPreviewRequest) MarshalJSON() ([]byte, error) { // deployments and a page token used to build the next request if the // request has been truncated. type DeploymentsListResponse struct { - // Deployments: [Output Only] The deployments contained in this - // response. + // Deployments: Output only. The deployments contained in this response. Deployments []*Deployment `json:"deployments,omitempty"` - // NextPageToken: [Output Only] A token used to continue a truncated - // list request. + // NextPageToken: Output only. A token used to continue a truncated list + // request. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -1088,6 +1125,9 @@ type LogConfig struct { // Counter: Counter options. Counter *LogConfigCounterOptions `json:"counter,omitempty"` + // DataAccess: Data access options. + DataAccess *LogConfigDataAccessOptions `json:"dataAccess,omitempty"` + // ForceSendFields is a list of field names (e.g. "CloudAudit") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -1113,23 +1153,29 @@ func (s *LogConfig) MarshalJSON() ([]byte, error) { // LogConfigCloudAuditOptions: Write a Cloud Audit log type LogConfigCloudAuditOptions struct { + // AuthorizationLoggingOptions: Information used by the Cloud Audit + // Logging pipeline. + AuthorizationLoggingOptions *AuthorizationLoggingOptions `json:"authorizationLoggingOptions,omitempty"` + // LogName: The log_name to populate in the Cloud Audit Record. LogName string `json:"logName,omitempty"` - // ForceSendFields is a list of field names (e.g. "LogName") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. + // ForceSendFields is a list of field names (e.g. + // "AuthorizationLoggingOptions") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LogName") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. + // NullFields is a list of field names (e.g. + // "AuthorizationLoggingOptions") to include in API requests with the + // JSON null value. By default, fields with empty values are omitted + // from API requests. However, any field with an empty value appearing + // in NullFields will be sent to the server as null. It is an error if a + // field in this list has a non-empty value. This may be used to include + // null fields in Patch requests. NullFields []string `json:"-"` } @@ -1139,7 +1185,29 @@ func (s *LogConfigCloudAuditOptions) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// LogConfigCounterOptions: Options for counters +// LogConfigCounterOptions: Increment a streamz counter with the +// specified metric and field names. +// +// Metric names should start with a '/', generally be lowercase-only, +// and end in "_count". Field names should not contain an initial slash. +// The actual exported metric names will have "/iam/policy" +// prepended. +// +// Field names correspond to IAM request parameters and field values are +// their respective values. +// +// At present the only supported field names are - "iam_principal", +// corresponding to IAMContext.principal; - "" (empty string), resulting +// in one aggretated counter with no field. +// +// Examples: counter { metric: "/debug_access_count" field: +// "iam_principal" } ==> increment counter +// /iam/policy/backend_debug_access_count {iam_principal=[value of +// IAMContext.principal]} +// +// At this time we do not support: * multiple field names (though this +// may be supported in the future) * decrementing the counter * +// incrementing it by anything other than 1 type LogConfigCounterOptions struct { // Field: The field value to attribute. Field string `json:"field,omitempty"` @@ -1170,32 +1238,64 @@ func (s *LogConfigCounterOptions) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// LogConfigDataAccessOptions: Write a Data Access (Gin) log +type LogConfigDataAccessOptions struct { + // LogMode: Whether Gin logging should happen in a fail-closed manner at + // the caller. This is relevant only in the LocalIAM implementation, for + // now. + LogMode string `json:"logMode,omitempty"` + + // ForceSendFields is a list of field names (e.g. "LogMode") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "LogMode") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *LogConfigDataAccessOptions) MarshalJSON() ([]byte, error) { + type noMethod LogConfigDataAccessOptions + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type Manifest struct { - // Config: [Output Only] The YAML configuration for this manifest. + // Config: Output only. The YAML configuration for this manifest. Config *ConfigFile `json:"config,omitempty"` - // ExpandedConfig: [Output Only] The fully-expanded configuration file, + // ExpandedConfig: Output only. The fully-expanded configuration file, // including any templates and references. ExpandedConfig string `json:"expandedConfig,omitempty"` - // Id: [Output Only] Unique identifier for the resource; defined by the + // Id: Output only. Unique identifier for the resource; defined by the // server. Id uint64 `json:"id,omitempty,string"` - // Imports: [Output Only] The imported files for this manifest. + // Imports: Output only. The imported files for this manifest. Imports []*ImportFile `json:"imports,omitempty"` - // InsertTime: [Output Only] Timestamp when the manifest was created, in + // InsertTime: Output only. Timestamp when the manifest was created, in // RFC3339 text format. InsertTime string `json:"insertTime,omitempty"` - // Layout: [Output Only] The YAML layout for this manifest. + // Layout: Output only. The YAML layout for this manifest. Layout string `json:"layout,omitempty"` - // Name: [Output Only] The name of the manifest. + // Name: Output only. + // + // The name of the manifest. Name string `json:"name,omitempty"` - // SelfLink: [Output Only] Self link for the manifest. + // SelfLink: Output only. Self link for the manifest. SelfLink string `json:"selfLink,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -1229,11 +1329,11 @@ func (s *Manifest) MarshalJSON() ([]byte, error) { // manifests and a page token used to build the next request if the // request has been truncated. type ManifestsListResponse struct { - // Manifests: [Output Only] Manifests contained in this list response. + // Manifests: Output only. Manifests contained in this list response. Manifests []*Manifest `json:"manifests,omitempty"` - // NextPageToken: [Output Only] A token used to continue a truncated - // list request. + // NextPageToken: Output only. A token used to continue a truncated list + // request. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -1530,11 +1630,11 @@ func (s *OperationWarningsData) MarshalJSON() ([]byte, error) { // operations and a page token used to build the next request if the // request has been truncated. type OperationsListResponse struct { - // NextPageToken: [Output Only] A token used to continue a truncated - // list request. + // NextPageToken: Output only. A token used to continue a truncated list + // request. NextPageToken string `json:"nextPageToken,omitempty"` - // Operations: [Output Only] Operations contained in this list response. + // Operations: Output only. Operations contained in this list response. Operations []*Operation `json:"operations,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -1697,48 +1797,48 @@ type Resource struct { // AccessControl: The Access Control Policy set on this resource. AccessControl *ResourceAccessControl `json:"accessControl,omitempty"` - // FinalProperties: [Output Only] The evaluated properties of the + // FinalProperties: Output only. The evaluated properties of the // resource with references expanded. Returned as serialized YAML. FinalProperties string `json:"finalProperties,omitempty"` - // Id: [Output Only] Unique identifier for the resource; defined by the + // Id: Output only. Unique identifier for the resource; defined by the // server. Id uint64 `json:"id,omitempty,string"` - // InsertTime: [Output Only] Timestamp when the resource was created or + // InsertTime: Output only. Timestamp when the resource was created or // acquired, in RFC3339 text format . InsertTime string `json:"insertTime,omitempty"` - // Manifest: [Output Only] URL of the manifest representing the current + // Manifest: Output only. URL of the manifest representing the current // configuration of this resource. Manifest string `json:"manifest,omitempty"` - // Name: [Output Only] The name of the resource as it appears in the - // YAML config. + // Name: Output only. The name of the resource as it appears in the YAML + // config. Name string `json:"name,omitempty"` - // Properties: [Output Only] The current properties of the resource + // Properties: Output only. The current properties of the resource // before any references have been filled in. Returned as serialized // YAML. Properties string `json:"properties,omitempty"` - // Type: [Output Only] The type of the resource, for example + // Type: Output only. The type of the resource, for example // compute.v1.instance, or cloudfunctions.v1beta1.function. Type string `json:"type,omitempty"` - // Update: [Output Only] If Deployment Manager is currently updating or + // Update: Output only. If Deployment Manager is currently updating or // previewing an update to this resource, the updated configuration // appears here. Update *ResourceUpdate `json:"update,omitempty"` - // UpdateTime: [Output Only] Timestamp when the resource was updated, in + // UpdateTime: Output only. Timestamp when the resource was updated, in // RFC3339 text format . UpdateTime string `json:"updateTime,omitempty"` - // Url: [Output Only] The URL of the actual resource. + // Url: Output only. The URL of the actual resource. Url string `json:"url,omitempty"` - // Warnings: [Output Only] If warning messages are generated during + // Warnings: Output only. If warning messages are generated during // processing of this resource, this field will be populated. Warnings []*ResourceWarnings `json:"warnings,omitempty"` @@ -1877,31 +1977,31 @@ type ResourceUpdate struct { // after updating the resource itself. AccessControl *ResourceAccessControl `json:"accessControl,omitempty"` - // Error: [Output Only] If errors are generated during update of the + // Error: Output only. If errors are generated during update of the // resource, this field will be populated. Error *ResourceUpdateError `json:"error,omitempty"` - // FinalProperties: [Output Only] The expanded properties of the - // resource with reference values expanded. Returned as serialized YAML. + // FinalProperties: Output only. The expanded properties of the resource + // with reference values expanded. Returned as serialized YAML. FinalProperties string `json:"finalProperties,omitempty"` - // Intent: [Output Only] The intent of the resource: PREVIEW, UPDATE, or + // Intent: Output only. The intent of the resource: PREVIEW, UPDATE, or // CANCEL. Intent string `json:"intent,omitempty"` - // Manifest: [Output Only] URL of the manifest representing the update + // Manifest: Output only. URL of the manifest representing the update // configuration of this resource. Manifest string `json:"manifest,omitempty"` - // Properties: [Output Only] The set of updated properties for this + // Properties: Output only. The set of updated properties for this // resource, before references are expanded. Returned as serialized // YAML. Properties string `json:"properties,omitempty"` - // State: [Output Only] The state of the resource. + // State: Output only. The state of the resource. State string `json:"state,omitempty"` - // Warnings: [Output Only] If warning messages are generated during + // Warnings: Output only. If warning messages are generated during // processing of this resource, this field will be populated. Warnings []*ResourceUpdateWarnings `json:"warnings,omitempty"` @@ -1928,7 +2028,7 @@ func (s *ResourceUpdate) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ResourceUpdateError: [Output Only] If errors are generated during +// ResourceUpdateError: Output only. If errors are generated during // update of the resource, this field will be populated. type ResourceUpdateError struct { // Errors: [Output Only] The array of errors encountered while @@ -2109,7 +2209,8 @@ type Rule struct { // Action: Required Action string `json:"action,omitempty"` - // Conditions: Additional restrictions that must be met + // Conditions: Additional restrictions that must be met. All conditions + // must pass for the rule to match. Conditions []*Condition `json:"conditions,omitempty"` // Description: Human-readable description of the rule. @@ -2156,6 +2257,35 @@ func (s *Rule) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ServiceAccount: Service Account used as a credential. +type ServiceAccount struct { + // Email: The IAM service account email address like + // test@myproject.iam.gserviceaccount.com + Email string `json:"email,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Email") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Email") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ServiceAccount) MarshalJSON() ([]byte, error) { + type noMethod ServiceAccount + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type TargetConfiguration struct { // Config: The configuration to use for this deployment. Config *ConfigFile `json:"config,omitempty"` @@ -2297,11 +2427,11 @@ type Type struct { // provided by the client when the resource is created. Description string `json:"description,omitempty"` - // Id: [Output Only] Unique identifier for the resource; defined by the + // Id: Output only. Unique identifier for the resource; defined by the // server. Id uint64 `json:"id,omitempty,string"` - // InsertTime: [Output Only] Timestamp when the type was created, in + // InsertTime: Output only. Timestamp when the type was created, in // RFC3339 text format. InsertTime string `json:"insertTime,omitempty"` @@ -2316,11 +2446,11 @@ type Type struct { // Name: Name of the type. Name string `json:"name,omitempty"` - // Operation: [Output Only] The Operation that most recently ran, or is + // Operation: Output only. The Operation that most recently ran, or is // currently running, on this type. Operation *Operation `json:"operation,omitempty"` - // SelfLink: [Output Only] Self link for the type. + // SelfLink: Output only. Self link for the type. SelfLink string `json:"selfLink,omitempty"` // ForceSendFields is a list of field names (e.g. "Base") to @@ -2356,7 +2486,7 @@ type TypeInfo struct { // For swagger 1.2 this field will be empty. DocumentationLink string `json:"documentationLink,omitempty"` - // Kind: [Output Only] Type of the output. Always + // Kind: Output only. Type of the output. Always // deploymentManager#TypeInfo for TypeInfo. Kind string `json:"kind,omitempty"` @@ -2367,7 +2497,7 @@ type TypeInfo struct { // documentation link For template types, we return only a schema Schema *TypeInfoSchemaInfo `json:"schema,omitempty"` - // SelfLink: [Output Only] Server-defined URL for the resource. + // SelfLink: Output only. Server-defined URL for the resource. SelfLink string `json:"selfLink,omitempty"` // Title: The title on the API descriptor URL provided. @@ -2478,11 +2608,11 @@ type TypeProvider struct { // DescriptorUrl: Descriptor Url for the this type provider. DescriptorUrl string `json:"descriptorUrl,omitempty"` - // Id: [Output Only] Unique identifier for the resource; defined by the + // Id: Output only. Unique identifier for the resource; defined by the // server. Id uint64 `json:"id,omitempty,string"` - // InsertTime: [Output Only] Timestamp when the type provider was + // InsertTime: Output only. Timestamp when the type provider was // created, in RFC3339 text format. InsertTime string `json:"insertTime,omitempty"` @@ -2497,7 +2627,7 @@ type TypeProvider struct { // Name: Name of the type provider. Name string `json:"name,omitempty"` - // Operation: [Output Only] The Operation that most recently ran, or is + // Operation: Output only. The Operation that most recently ran, or is // currently running, on this type provider. Operation *Operation `json:"operation,omitempty"` @@ -2505,7 +2635,7 @@ type TypeProvider struct { // service. Options *Options `json:"options,omitempty"` - // SelfLink: [Output Only] Self link for the type provider. + // SelfLink: Output only. Self link for the type provider. SelfLink string `json:"selfLink,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -2570,7 +2700,7 @@ type TypeProvidersListResponse struct { // NextPageToken: A token used to continue a truncated list request. NextPageToken string `json:"nextPageToken,omitempty"` - // TypeProviders: [Output Only] A list of resource type providers + // TypeProviders: Output only. A list of resource type providers // supported by Deployment Manager. TypeProviders []*TypeProvider `json:"typeProviders,omitempty"` @@ -2605,7 +2735,7 @@ type TypeProvidersListTypesResponse struct { // NextPageToken: A token used to continue a truncated list request. NextPageToken string `json:"nextPageToken,omitempty"` - // Types: [Output Only] A list of resource type info. + // Types: Output only. A list of resource type info. Types []*TypeInfo `json:"types,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -2641,7 +2771,7 @@ type TypesListResponse struct { // NextPageToken: A token used to continue a truncated list request. NextPageToken string `json:"nextPageToken,omitempty"` - // Types: [Output Only] A list of resource types supported by Deployment + // Types: Output only. A list of resource types supported by Deployment // Manager. Types []*Type `json:"types,omitempty"` @@ -4270,7 +4400,7 @@ func (c *DeploymentsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -5040,7 +5170,7 @@ func (c *DeploymentsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "[a-z0-9](?:[-a-z0-9_]{0,61}[a-z0-9])?", // "required": true, // "type": "string" // } @@ -5335,7 +5465,7 @@ func (c *DeploymentsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*T // "resource": { // "description": "Name of the resource for this request.", // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + // "pattern": "(?:[-a-z0-9_]{0,62}[a-z0-9])?", // "required": true, // "type": "string" // } diff --git a/vendor/google.golang.org/api/dfareporting/v2.7/dfareporting-api.json b/vendor/google.golang.org/api/dfareporting/v2.7/dfareporting-api.json index 84887ca43..0cbf504e9 100644 --- a/vendor/google.golang.org/api/dfareporting/v2.7/dfareporting-api.json +++ b/vendor/google.golang.org/api/dfareporting/v2.7/dfareporting-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/p-RysYnjE2Jp5kxjC09O1FcghzI\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/3Wqk_k4XWB3JARQsnkZ477HngjY\"", "discoveryVersion": "v1", "id": "dfareporting:v2.7", "name": "dfareporting", "version": "v2.7", - "revision": "20170428", + "revision": "20170818", "title": "DCM/DFA Reporting And Trafficking API", "description": "Manages your DoubleClick Campaign Manager ad campaigns and reports.", "ownerDomain": "google.com", @@ -20,7 +20,7 @@ "basePath": "/dfareporting/v2.7/", "rootUrl": "https://www.googleapis.com/", "servicePath": "dfareporting/v2.7/", - "batchPath": "batch", + "batchPath": "batch/dfareporting/v2.7", "parameters": { "alt": { "type": "string", @@ -2229,7 +2229,7 @@ }, "htmlCode": { "type": "string", - "description": "HTML code for the creative. This is a required field when applicable. This field is ignored if htmlCodeLocked is false. Applicable to the following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and all RICH_MEDIA." + "description": "HTML code for the creative. This is a required field when applicable. This field is ignored if htmlCodeLocked is true. Applicable to the following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and all RICH_MEDIA." }, "htmlCodeLocked": { "type": "boolean", @@ -4569,7 +4569,7 @@ }, "videoActiveViewOptOut": { "type": "boolean", - "description": "Whether this directory site has disabled active view for in-stream video creatives." + "description": "Whether this directory site has disabled active view for in-stream video creatives. This is a read-only field." } } }, @@ -5200,7 +5200,7 @@ }, "userDefinedVariableTypes": { "type": "array", - "description": "List of the user-defined variables used by this conversion tag. These map to the \"u[1-20]=\" in the tags. Each of these can have a user defined type.\nAcceptable values are:\n- \"U1\"\n- \"U2\"\n- \"U3\"\n- \"U4\"\n- \"U5\"\n- \"U6\"\n- \"U7\"\n- \"U8\"\n- \"U9\"\n- \"U10\"\n- \"U11\"\n- \"U12\"\n- \"U13\"\n- \"U14\"\n- \"U15\"\n- \"U16\"\n- \"U17\"\n- \"U18\"\n- \"U19\"\n- \"U20\"", + "description": "List of the user-defined variables used by this conversion tag. These map to the \"u[1-100]=\" in the tags. Each of these can have a user defined type.\nAcceptable values are U1 to U100, inclusive.", "items": { "type": "string", "enum": [ @@ -7125,7 +7125,7 @@ }, "vpaidAdapterChoice": { "type": "string", - "description": "VPAID adapter setting for this placement. Controls which VPAID format the measurement adapter will use for in-stream video creatives assigned to this placement.", + "description": "VPAID adapter setting for this placement. Controls which VPAID format the measurement adapter will use for in-stream video creatives assigned to this placement.\n\nNote: Flash is no longer supported. This field now defaults to HTML5 when the following values are provided: FLASH, BOTH.", "enum": [ "BOTH", "DEFAULT", @@ -9017,7 +9017,7 @@ }, "vpaidAdapterChoiceTemplate": { "type": "string", - "description": "Default VPAID adapter setting for new placements created under this site. This value will be used to populate the placements.vpaidAdapterChoice field, when no value is specified for the new placement. Controls which VPAID format the measurement adapter will use for in-stream video creatives assigned to the placement. The publisher's specifications will typically determine this setting. For VPAID creatives, the adapter format will match the VPAID format (HTML5 VPAID creatives use the HTML5 adapter, and Flash VPAID creatives use the Flash adapter).", + "description": "Default VPAID adapter setting for new placements created under this site. This value will be used to populate the placements.vpaidAdapterChoice field, when no value is specified for the new placement. Controls which VPAID format the measurement adapter will use for in-stream video creatives assigned to the placement. The publisher's specifications will typically determine this setting. For VPAID creatives, the adapter format will match the VPAID format (HTML5 VPAID creatives use the HTML5 adapter).\n\nNote: Flash is no longer supported. This field now defaults to HTML5 when the following values are provided: FLASH, BOTH.", "enum": [ "BOTH", "DEFAULT", @@ -16824,7 +16824,7 @@ }, "tagFormats": { "type": "string", - "description": "Tag formats to generate for these placements.", + "description": "Tag formats to generate for these placements.\n\nNote: PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements.", "enum": [ "PLACEMENT_TAG_CLICK_COMMANDS", "PLACEMENT_TAG_IFRAME_ILAYER", diff --git a/vendor/google.golang.org/api/dfareporting/v2.7/dfareporting-gen.go b/vendor/google.golang.org/api/dfareporting/v2.7/dfareporting-gen.go index c4fe7f6f0..6207c52a3 100644 --- a/vendor/google.golang.org/api/dfareporting/v2.7/dfareporting-gen.go +++ b/vendor/google.golang.org/api/dfareporting/v2.7/dfareporting-gen.go @@ -3740,7 +3740,7 @@ type Creative struct { FsCommand *FsCommand `json:"fsCommand,omitempty"` // HtmlCode: HTML code for the creative. This is a required field when - // applicable. This field is ignored if htmlCodeLocked is false. + // applicable. This field is ignored if htmlCodeLocked is true. // Applicable to the following creative types: all CUSTOM, FLASH_INPAGE, // and HTML5_BANNER, and all RICH_MEDIA. HtmlCode string `json:"htmlCode,omitempty"` @@ -6413,7 +6413,7 @@ type DirectorySiteSettings struct { VerificationTagOptOut bool `json:"verificationTagOptOut,omitempty"` // VideoActiveViewOptOut: Whether this directory site has disabled - // active view for in-stream video creatives. + // active view for in-stream video creatives. This is a read-only field. VideoActiveViewOptOut bool `json:"videoActiveViewOptOut,omitempty"` // ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to @@ -7228,29 +7228,9 @@ type FloodlightActivity struct { TagString string `json:"tagString,omitempty"` // UserDefinedVariableTypes: List of the user-defined variables used by - // this conversion tag. These map to the "u[1-20]=" in the tags. Each of - // these can have a user defined type. - // Acceptable values are: - // - "U1" - // - "U2" - // - "U3" - // - "U4" - // - "U5" - // - "U6" - // - "U7" - // - "U8" - // - "U9" - // - "U10" - // - "U11" - // - "U12" - // - "U13" - // - "U14" - // - "U15" - // - "U16" - // - "U17" - // - "U18" - // - "U19" - // - "U20" + // this conversion tag. These map to the "u[1-100]=" in the tags. Each + // of these can have a user defined type. + // Acceptable values are U1 to U100, inclusive. // // Possible values: // "U1" @@ -9681,6 +9661,9 @@ type Placement struct { // Controls which VPAID format the measurement adapter will use for // in-stream video creatives assigned to this placement. // + // Note: Flash is no longer supported. This field now defaults to HTML5 + // when the following values are provided: FLASH, BOTH. + // // Possible values: // "BOTH" // "DEFAULT" @@ -12087,8 +12070,11 @@ type SiteSettings struct { // measurement adapter will use for in-stream video creatives assigned // to the placement. The publisher's specifications will typically // determine this setting. For VPAID creatives, the adapter format will - // match the VPAID format (HTML5 VPAID creatives use the HTML5 adapter, - // and Flash VPAID creatives use the Flash adapter). + // match the VPAID format (HTML5 VPAID creatives use the HTML5 + // adapter). + // + // Note: Flash is no longer supported. This field now defaults to HTML5 + // when the following values are provided: FLASH, BOTH. // // Possible values: // "BOTH" @@ -23017,11 +23003,7 @@ type CreativeAssetsInsertCall struct { advertiserId int64 creativeassetmetadata *CreativeAssetMetadata urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater + mediaInfo_ *gensupport.MediaInfo ctx_ context.Context header_ http.Header } @@ -23044,12 +23026,7 @@ func (r *CreativeAssetsService) Insert(profileId int64, advertiserId int64, crea // supplied. // At most one of Media and ResumableMedia may be set. func (c *CreativeAssetsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *CreativeAssetsInsertCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -23064,11 +23041,7 @@ func (c *CreativeAssetsInsertCall) Media(r io.Reader, options ...googleapi.Media // supersede any context previously provided to the Context method. func (c *CreativeAssetsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *CreativeAssetsInsertCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -23077,7 +23050,7 @@ func (c *CreativeAssetsInsertCall) ResumableMedia(ctx context.Context, r io.Read // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *CreativeAssetsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *CreativeAssetsInsertCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -23122,27 +23095,16 @@ func (c *CreativeAssetsInsertCall) doRequest(alt string) (*http.Response, error) reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -23179,20 +23141,10 @@ func (c *CreativeAssetsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeAs if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -38552,6 +38504,9 @@ func (c *PlacementsGeneratetagsCall) PlacementIds(placementIds ...int64) *Placem // TagFormats sets the optional parameter "tagFormats": Tag formats to // generate for these placements. // +// Note: PLACEMENT_TAG_STANDARD can only be generated for 1x1 +// placements. +// // Possible values: // "PLACEMENT_TAG_CLICK_COMMANDS" // "PLACEMENT_TAG_IFRAME_ILAYER" @@ -38686,7 +38641,7 @@ func (c *PlacementsGeneratetagsCall) Do(opts ...googleapi.CallOption) (*Placemen // "type": "string" // }, // "tagFormats": { - // "description": "Tag formats to generate for these placements.", + // "description": "Tag formats to generate for these placements.\n\nNote: PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements.", // "enum": [ // "PLACEMENT_TAG_CLICK_COMMANDS", // "PLACEMENT_TAG_IFRAME_ILAYER", diff --git a/vendor/google.golang.org/api/dfareporting/v2.8/dfareporting-api.json b/vendor/google.golang.org/api/dfareporting/v2.8/dfareporting-api.json index ad3d63253..c57f1a28f 100644 --- a/vendor/google.golang.org/api/dfareporting/v2.8/dfareporting-api.json +++ b/vendor/google.golang.org/api/dfareporting/v2.8/dfareporting-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/mDodB1FWVkZ2kJtHTr6oPPTc9mw\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/emGV_y_FRSYhyMgSPP7gVElVBpw\"", "discoveryVersion": "v1", "id": "dfareporting:v2.8", "name": "dfareporting", "version": "v2.8", - "revision": "20170428", + "revision": "20170818", "title": "DCM/DFA Reporting And Trafficking API", "description": "Manages your DoubleClick Campaign Manager ad campaigns and reports.", "ownerDomain": "google.com", @@ -20,7 +20,7 @@ "basePath": "/dfareporting/v2.8/", "rootUrl": "https://www.googleapis.com/", "servicePath": "dfareporting/v2.8/", - "batchPath": "batch", + "batchPath": "batch/dfareporting/v2.8", "parameters": { "alt": { "type": "string", @@ -1719,11 +1719,11 @@ }, "encryptedUserId": { "type": "string", - "description": "The alphanumeric encrypted user ID. When set, encryptionInfo should also be specified. This field is mutually exclusive with encryptedUserIdCandidates[] and mobileDeviceId. This or encryptedUserIdCandidates[] or mobileDeviceId is a required field." + "description": "The alphanumeric encrypted user ID. When set, encryptionInfo should also be specified. This field is mutually exclusive with encryptedUserIdCandidates[], mobileDeviceId and gclid. This or encryptedUserIdCandidates[] or mobileDeviceId or gclid is a required field." }, "encryptedUserIdCandidates": { "type": "array", - "description": "A list of the alphanumeric encrypted user IDs. Any user ID with exposure prior to the conversion timestamp will be used in the inserted conversion. If no such user ID is found then the conversion will be rejected with NO_COOKIE_MATCH_FOUND error. When set, encryptionInfo should also be specified. This field may only be used when calling batchinsert; it is not supported by batchupdate. This field is mutually exclusive with encryptedUserId and mobileDeviceId. This or encryptedUserId or mobileDeviceId is a required field.", + "description": "A list of the alphanumeric encrypted user IDs. Any user ID with exposure prior to the conversion timestamp will be used in the inserted conversion. If no such user ID is found then the conversion will be rejected with NO_COOKIE_MATCH_FOUND error. When set, encryptionInfo should also be specified. This field may only be used when calling batchinsert; it is not supported by batchupdate. This field is mutually exclusive with encryptedUserId, mobileDeviceId and gclid. This or encryptedUserId or mobileDeviceId or gclid is a required field.", "items": { "type": "string" } @@ -1738,6 +1738,10 @@ "description": "Floodlight Configuration ID of this conversion. This is a required field.", "format": "int64" }, + "gclid": { + "type": "string", + "description": "The Google click ID. This field is mutually exclusive with encryptedUserId, encryptedUserIdCandidates[] and mobileDeviceId. This or encryptedUserId or encryptedUserIdCandidates[] or mobileDeviceId is a required field." + }, "kind": { "type": "string", "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#conversion\".", @@ -1749,7 +1753,7 @@ }, "mobileDeviceId": { "type": "string", - "description": "The mobile device ID. This field is mutually exclusive with encryptedUserId and encryptedUserIdCandidates[]. This or encryptedUserId or encryptedUserIdCandidates[] is a required field." + "description": "The mobile device ID. This field is mutually exclusive with encryptedUserId, encryptedUserIdCandidates[] and gclid. This or encryptedUserId or encryptedUserIdCandidates[] or gclid is a required field." }, "ordinal": { "type": "string", @@ -2303,7 +2307,7 @@ }, "htmlCode": { "type": "string", - "description": "HTML code for the creative. This is a required field when applicable. This field is ignored if htmlCodeLocked is false. Applicable to the following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and all RICH_MEDIA." + "description": "HTML code for the creative. This is a required field when applicable. This field is ignored if htmlCodeLocked is true. Applicable to the following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and all RICH_MEDIA." }, "htmlCodeLocked": { "type": "boolean", @@ -4647,7 +4651,7 @@ }, "videoActiveViewOptOut": { "type": "boolean", - "description": "Whether this directory site has disabled active view for in-stream video creatives." + "description": "Whether this directory site has disabled active view for in-stream video creatives. This is a read-only field." } } }, @@ -5278,7 +5282,7 @@ }, "userDefinedVariableTypes": { "type": "array", - "description": "List of the user-defined variables used by this conversion tag. These map to the \"u[1-20]=\" in the tags. Each of these can have a user defined type.\nAcceptable values are:\n- \"U1\"\n- \"U2\"\n- \"U3\"\n- \"U4\"\n- \"U5\"\n- \"U6\"\n- \"U7\"\n- \"U8\"\n- \"U9\"\n- \"U10\"\n- \"U11\"\n- \"U12\"\n- \"U13\"\n- \"U14\"\n- \"U15\"\n- \"U16\"\n- \"U17\"\n- \"U18\"\n- \"U19\"\n- \"U20\"", + "description": "List of the user-defined variables used by this conversion tag. These map to the \"u[1-100]=\" in the tags. Each of these can have a user defined type.\nAcceptable values are U1 to U100, inclusive.", "items": { "type": "string", "enum": [ @@ -7188,7 +7192,7 @@ }, "vpaidAdapterChoice": { "type": "string", - "description": "VPAID adapter setting for this placement. Controls which VPAID format the measurement adapter will use for in-stream video creatives assigned to this placement.", + "description": "VPAID adapter setting for this placement. Controls which VPAID format the measurement adapter will use for in-stream video creatives assigned to this placement.\n\nNote: Flash is no longer supported. This field now defaults to HTML5 when the following values are provided: FLASH, BOTH.", "enum": [ "BOTH", "DEFAULT", @@ -9080,7 +9084,7 @@ }, "vpaidAdapterChoiceTemplate": { "type": "string", - "description": "Default VPAID adapter setting for new placements created under this site. This value will be used to populate the placements.vpaidAdapterChoice field, when no value is specified for the new placement. Controls which VPAID format the measurement adapter will use for in-stream video creatives assigned to the placement. The publisher's specifications will typically determine this setting. For VPAID creatives, the adapter format will match the VPAID format (HTML5 VPAID creatives use the HTML5 adapter, and Flash VPAID creatives use the Flash adapter).", + "description": "Default VPAID adapter setting for new placements created under this site. This value will be used to populate the placements.vpaidAdapterChoice field, when no value is specified for the new placement. Controls which VPAID format the measurement adapter will use for in-stream video creatives assigned to the placement. The publisher's specifications will typically determine this setting. For VPAID creatives, the adapter format will match the VPAID format (HTML5 VPAID creatives use the HTML5 adapter).\n\nNote: Flash is no longer supported. This field now defaults to HTML5 when the following values are provided: FLASH, BOTH.", "enum": [ "BOTH", "DEFAULT", @@ -16941,7 +16945,7 @@ }, "tagFormats": { "type": "string", - "description": "Tag formats to generate for these placements.", + "description": "Tag formats to generate for these placements.\n\nNote: PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements.", "enum": [ "PLACEMENT_TAG_CLICK_COMMANDS", "PLACEMENT_TAG_IFRAME_ILAYER", diff --git a/vendor/google.golang.org/api/dfareporting/v2.8/dfareporting-gen.go b/vendor/google.golang.org/api/dfareporting/v2.8/dfareporting-gen.go index 3a49b3684..d5211d6e0 100644 --- a/vendor/google.golang.org/api/dfareporting/v2.8/dfareporting-gen.go +++ b/vendor/google.golang.org/api/dfareporting/v2.8/dfareporting-gen.go @@ -3175,8 +3175,9 @@ type Conversion struct { // EncryptedUserId: The alphanumeric encrypted user ID. When set, // encryptionInfo should also be specified. This field is mutually - // exclusive with encryptedUserIdCandidates[] and mobileDeviceId. This - // or encryptedUserIdCandidates[] or mobileDeviceId is a required field. + // exclusive with encryptedUserIdCandidates[], mobileDeviceId and gclid. + // This or encryptedUserIdCandidates[] or mobileDeviceId or gclid is a + // required field. EncryptedUserId string `json:"encryptedUserId,omitempty"` // EncryptedUserIdCandidates: A list of the alphanumeric encrypted user @@ -3185,9 +3186,9 @@ type Conversion struct { // the conversion will be rejected with NO_COOKIE_MATCH_FOUND error. // When set, encryptionInfo should also be specified. This field may // only be used when calling batchinsert; it is not supported by - // batchupdate. This field is mutually exclusive with encryptedUserId - // and mobileDeviceId. This or encryptedUserId or mobileDeviceId is a - // required field. + // batchupdate. This field is mutually exclusive with encryptedUserId, + // mobileDeviceId and gclid. This or encryptedUserId or mobileDeviceId + // or gclid is a required field. EncryptedUserIdCandidates []string `json:"encryptedUserIdCandidates,omitempty"` // FloodlightActivityId: Floodlight Activity ID of this conversion. This @@ -3198,6 +3199,12 @@ type Conversion struct { // conversion. This is a required field. FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"` + // Gclid: The Google click ID. This field is mutually exclusive with + // encryptedUserId, encryptedUserIdCandidates[] and mobileDeviceId. This + // or encryptedUserId or encryptedUserIdCandidates[] or mobileDeviceId + // is a required field. + Gclid string `json:"gclid,omitempty"` + // Kind: Identifies what kind of resource this is. Value: the fixed // string "dfareporting#conversion". Kind string `json:"kind,omitempty"` @@ -3208,9 +3215,9 @@ type Conversion struct { LimitAdTracking bool `json:"limitAdTracking,omitempty"` // MobileDeviceId: The mobile device ID. This field is mutually - // exclusive with encryptedUserId and encryptedUserIdCandidates[]. This - // or encryptedUserId or encryptedUserIdCandidates[] is a required - // field. + // exclusive with encryptedUserId, encryptedUserIdCandidates[] and + // gclid. This or encryptedUserId or encryptedUserIdCandidates[] or + // gclid is a required field. MobileDeviceId string `json:"mobileDeviceId,omitempty"` // Ordinal: The ordinal of the conversion. Use this field to control how @@ -3867,7 +3874,7 @@ type Creative struct { FsCommand *FsCommand `json:"fsCommand,omitempty"` // HtmlCode: HTML code for the creative. This is a required field when - // applicable. This field is ignored if htmlCodeLocked is false. + // applicable. This field is ignored if htmlCodeLocked is true. // Applicable to the following creative types: all CUSTOM, FLASH_INPAGE, // and HTML5_BANNER, and all RICH_MEDIA. HtmlCode string `json:"htmlCode,omitempty"` @@ -6544,7 +6551,7 @@ type DirectorySiteSettings struct { VerificationTagOptOut bool `json:"verificationTagOptOut,omitempty"` // VideoActiveViewOptOut: Whether this directory site has disabled - // active view for in-stream video creatives. + // active view for in-stream video creatives. This is a read-only field. VideoActiveViewOptOut bool `json:"videoActiveViewOptOut,omitempty"` // ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to @@ -7359,29 +7366,9 @@ type FloodlightActivity struct { TagString string `json:"tagString,omitempty"` // UserDefinedVariableTypes: List of the user-defined variables used by - // this conversion tag. These map to the "u[1-20]=" in the tags. Each of - // these can have a user defined type. - // Acceptable values are: - // - "U1" - // - "U2" - // - "U3" - // - "U4" - // - "U5" - // - "U6" - // - "U7" - // - "U8" - // - "U9" - // - "U10" - // - "U11" - // - "U12" - // - "U13" - // - "U14" - // - "U15" - // - "U16" - // - "U17" - // - "U18" - // - "U19" - // - "U20" + // this conversion tag. These map to the "u[1-100]=" in the tags. Each + // of these can have a user defined type. + // Acceptable values are U1 to U100, inclusive. // // Possible values: // "U1" @@ -9803,6 +9790,9 @@ type Placement struct { // Controls which VPAID format the measurement adapter will use for // in-stream video creatives assigned to this placement. // + // Note: Flash is no longer supported. This field now defaults to HTML5 + // when the following values are provided: FLASH, BOTH. + // // Possible values: // "BOTH" // "DEFAULT" @@ -12211,8 +12201,11 @@ type SiteSettings struct { // measurement adapter will use for in-stream video creatives assigned // to the placement. The publisher's specifications will typically // determine this setting. For VPAID creatives, the adapter format will - // match the VPAID format (HTML5 VPAID creatives use the HTML5 adapter, - // and Flash VPAID creatives use the Flash adapter). + // match the VPAID format (HTML5 VPAID creatives use the HTML5 + // adapter). + // + // Note: Flash is no longer supported. This field now defaults to HTML5 + // when the following values are provided: FLASH, BOTH. // // Possible values: // "BOTH" @@ -23315,11 +23308,7 @@ type CreativeAssetsInsertCall struct { advertiserId int64 creativeassetmetadata *CreativeAssetMetadata urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater + mediaInfo_ *gensupport.MediaInfo ctx_ context.Context header_ http.Header } @@ -23342,12 +23331,7 @@ func (r *CreativeAssetsService) Insert(profileId int64, advertiserId int64, crea // supplied. // At most one of Media and ResumableMedia may be set. func (c *CreativeAssetsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *CreativeAssetsInsertCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -23362,11 +23346,7 @@ func (c *CreativeAssetsInsertCall) Media(r io.Reader, options ...googleapi.Media // supersede any context previously provided to the Context method. func (c *CreativeAssetsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *CreativeAssetsInsertCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -23375,7 +23355,7 @@ func (c *CreativeAssetsInsertCall) ResumableMedia(ctx context.Context, r io.Read // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *CreativeAssetsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *CreativeAssetsInsertCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -23420,27 +23400,16 @@ func (c *CreativeAssetsInsertCall) doRequest(alt string) (*http.Response, error) reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -23477,20 +23446,10 @@ func (c *CreativeAssetsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeAs if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -38850,6 +38809,9 @@ func (c *PlacementsGeneratetagsCall) PlacementIds(placementIds ...int64) *Placem // TagFormats sets the optional parameter "tagFormats": Tag formats to // generate for these placements. // +// Note: PLACEMENT_TAG_STANDARD can only be generated for 1x1 +// placements. +// // Possible values: // "PLACEMENT_TAG_CLICK_COMMANDS" // "PLACEMENT_TAG_IFRAME_ILAYER" @@ -38984,7 +38946,7 @@ func (c *PlacementsGeneratetagsCall) Do(opts ...googleapi.CallOption) (*Placemen // "type": "string" // }, // "tagFormats": { - // "description": "Tag formats to generate for these placements.", + // "description": "Tag formats to generate for these placements.\n\nNote: PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements.", // "enum": [ // "PLACEMENT_TAG_CLICK_COMMANDS", // "PLACEMENT_TAG_IFRAME_ILAYER", diff --git a/vendor/google.golang.org/api/discovery/v1/discovery-api.json b/vendor/google.golang.org/api/discovery/v1/discovery-api.json index b240e12e0..bc7d62f26 100644 --- a/vendor/google.golang.org/api/discovery/v1/discovery-api.json +++ b/vendor/google.golang.org/api/discovery/v1/discovery-api.json @@ -1,6 +1,6 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/Pyg0A4J33Dq212hoe9BYpSm0dl4\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/K3nEDF6hixE8Pks2-9Ysn9j9prQ\"", "discoveryVersion": "v1", "id": "discovery:v1", "name": "discovery", @@ -19,7 +19,7 @@ "basePath": "/discovery/v1/", "rootUrl": "https://www.googleapis.com/", "servicePath": "discovery/v1/", - "batchPath": "batch", + "batchPath": "batch/discovery/v1", "parameters": { "alt": { "type": "string", @@ -319,8 +319,7 @@ }, "batchPath": { "type": "string", - "description": "The path for REST batch requests.", - "default": "batch" + "description": "The path for REST batch requests." }, "canonicalName": { "type": "string", diff --git a/vendor/google.golang.org/api/dlp/v2beta1/dlp-api.json b/vendor/google.golang.org/api/dlp/v2beta1/dlp-api.json index 49e908567..540d62fc4 100644 --- a/vendor/google.golang.org/api/dlp/v2beta1/dlp-api.json +++ b/vendor/google.golang.org/api/dlp/v2beta1/dlp-api.json @@ -1,78 +1,111 @@ { - "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { + "GooglePrivacyDlpV2beta1PathElement": { + "description": "A (kind, ID/name) pair used to construct a key path.\n\nIf either name or ID is set, the element is complete.\nIf neither is set, the element is incomplete.", + "type": "object", + "properties": { + "kind": { + "description": "The kind of the entity.\nA kind matching regex `__.*__` is reserved/read-only.\nA kind must not contain more than 1500 bytes when UTF-8 encoded.\nCannot be `\"\"`.", + "type": "string" + }, + "id": { + "description": "The auto-allocated ID of the entity.\nNever equal to zero. Values less than zero are discouraged and may not\nbe supported in the future.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "The name of the entity.\nA name matching regex `__.*__` is reserved/read-only.\nA name must not be more than 1500 bytes when UTF-8 encoded.\nCannot be `\"\"`.", + "type": "string" + } + }, + "id": "GooglePrivacyDlpV2beta1PathElement" + }, + "GooglePrivacyDlpV2beta1SummaryResult": { + "description": "A collection that informs the user the number of times a particular\n`TransformationResultCode` and error details occurred.", + "type": "object", + "properties": { + "code": { + "type": "string", + "enumDescriptions": [ + "", + "", + "" + ], + "enum": [ + "TRANSFORMATION_RESULT_CODE_UNSPECIFIED", + "SUCCESS", + "ERROR" + ] + }, + "details": { + "description": "A place for warnings or errors to show up if a transformation didn't\nwork as expected.", + "type": "string" + }, + "count": { + "format": "int64", + "type": "string" + } + }, + "id": "GooglePrivacyDlpV2beta1SummaryResult" + }, + "GooglePrivacyDlpV2beta1BigQueryTable": { + "description": "Message defining the location of a BigQuery table. A table is uniquely\nidentified by its project_id, dataset_id, and table_name. Within a query\na table is often referenced with a string in the format of:\n`\u003cproject_id\u003e:\u003cdataset_id\u003e.\u003ctable_id\u003e` or\n`\u003cproject_id\u003e.\u003cdataset_id\u003e.\u003ctable_id\u003e`.", + "type": "object", + "properties": { + "tableId": { + "description": "Name of the table.", + "type": "string" + }, + "projectId": { + "description": "The Google Cloud Platform project ID of the project containing the table.\nIf omitted, project ID is inferred from the API call.", + "type": "string" + }, + "datasetId": { + "description": "Dataset ID of the table.", + "type": "string" + } + }, + "id": "GooglePrivacyDlpV2beta1BigQueryTable" + }, + "GooglePrivacyDlpV2beta1ListRootCategoriesResponse": { + "description": "Response for ListRootCategories request.", + "type": "object", + "properties": { + "categories": { + "description": "List of all into type categories supported by the API.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1CategoryDescription" + } + } + }, + "id": "GooglePrivacyDlpV2beta1ListRootCategoriesResponse" + }, + "GooglePrivacyDlpV2beta1InfoTypeTransformations": { + "description": "A type of transformation that will scan unstructured text and\napply various `PrimitiveTransformation`s to each finding, where the\ntransformation is applied to only values that were identified as a specific\ninfo_type.", + "type": "object", + "properties": { + "transformations": { + "description": "Transformation for each info type. Cannot specify more than one\nfor a given info type. [required]", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1InfoTypeTransformation" + } + } + }, + "id": "GooglePrivacyDlpV2beta1InfoTypeTransformations" + }, "GooglePrivacyDlpV2beta1KindExpression": { + "description": "A representation of a Datastore kind.", + "type": "object", "properties": { "name": { "description": "The name of the kind.", "type": "string" } }, - "id": "GooglePrivacyDlpV2beta1KindExpression", - "description": "A representation of a Datastore kind.", - "type": "object" - }, - "GooglePrivacyDlpV2beta1RedactContentRequest": { - "description": "Request to search for potentially sensitive info in a list of items\nand replace it with a default or provided content.", - "type": "object", - "properties": { - "replaceConfigs": { - "description": "The strings to replace findings text findings with. Must specify at least\none of these or one ImageRedactionConfig if redacting images.", - "items": { - "$ref": "GooglePrivacyDlpV2beta1ReplaceConfig" - }, - "type": "array" - }, - "imageRedactionConfigs": { - "description": "The configuration for specifying what content to redact from images.", - "items": { - "$ref": "GooglePrivacyDlpV2beta1ImageRedactionConfig" - }, - "type": "array" - }, - "inspectConfig": { - "description": "Configuration for the inspector.", - "$ref": "GooglePrivacyDlpV2beta1InspectConfig" - }, - "items": { - "description": "The list of items to inspect. Up to 100 are allowed per request.", - "items": { - "$ref": "GooglePrivacyDlpV2beta1ContentItem" - }, - "type": "array" - } - }, - "id": "GooglePrivacyDlpV2beta1RedactContentRequest" - }, - "GoogleLongrunningListOperationsResponse": { - "description": "The response message for Operations.ListOperations.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" - }, - "operations": { - "description": "A list of operations that matches the specified filter in the request.", - "items": { - "$ref": "GoogleLongrunningOperation" - }, - "type": "array" - } - }, - "id": "GoogleLongrunningListOperationsResponse" - }, - "GooglePrivacyDlpV2beta1FieldId": { - "description": "General identifier of a data field in a storage service.", - "type": "object", - "properties": { - "columnName": { - "description": "Column name describing the field.", - "type": "string" - } - }, - "id": "GooglePrivacyDlpV2beta1FieldId" + "id": "GooglePrivacyDlpV2beta1KindExpression" }, "GooglePrivacyDlpV2beta1FileSet": { "description": "Set of files to scan.", @@ -85,154 +118,145 @@ }, "id": "GooglePrivacyDlpV2beta1FileSet" }, - "GooglePrivacyDlpV2beta1DatastoreOptions": { - "description": "Options defining a data set within Google Cloud Datastore.", + "GooglePrivacyDlpV2beta1AnalyzeDataSourceRiskRequest": { + "description": "Request for creating a risk analysis operation.", "type": "object", "properties": { - "partitionId": { - "$ref": "GooglePrivacyDlpV2beta1PartitionId", - "description": "A partition ID identifies a grouping of entities. The grouping is always\nby project and namespace, however the namespace ID may be empty." + "privacyMetric": { + "description": "Privacy metric to compute.", + "$ref": "GooglePrivacyDlpV2beta1PrivacyMetric" }, - "projection": { - "description": "Properties to scan. If none are specified, all properties will be scanned\nby default.", - "items": { - "$ref": "GooglePrivacyDlpV2beta1Projection" - }, - "type": "array" - }, - "kind": { - "description": "The kind to process.", - "$ref": "GooglePrivacyDlpV2beta1KindExpression" + "sourceTable": { + "description": "Input dataset to compute metrics over.", + "$ref": "GooglePrivacyDlpV2beta1BigQueryTable" } }, - "id": "GooglePrivacyDlpV2beta1DatastoreOptions" + "id": "GooglePrivacyDlpV2beta1AnalyzeDataSourceRiskRequest" }, - "GoogleLongrunningCancelOperationRequest": { - "description": "The request message for Operations.CancelOperation.", - "type": "object", - "properties": {}, - "id": "GoogleLongrunningCancelOperationRequest" - }, - "GoogleProtobufEmpty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", - "type": "object", - "properties": {}, - "id": "GoogleProtobufEmpty" - }, - "GooglePrivacyDlpV2beta1ListInspectFindingsResponse": { - "description": "Response to the ListInspectFindings request.", + "GooglePrivacyDlpV2beta1InfoTypeTransformation": { + "description": "A transformation to apply to text that is identified as a specific\ninfo_type.", "type": "object", "properties": { - "nextPageToken": { - "description": "If not empty, indicates that there may be more results that match the\nrequest; this value should be passed in a new `ListInspectFindingsRequest`.", - "type": "string" - }, - "result": { - "description": "The results.", - "$ref": "GooglePrivacyDlpV2beta1InspectResult" - } - }, - "id": "GooglePrivacyDlpV2beta1ListInspectFindingsResponse" - }, - "GooglePrivacyDlpV2beta1InspectConfig": { - "description": "Configuration description of the scanning process.\nWhen used with redactContent only info_types and min_likelihood are currently\nused.", - "type": "object", - "properties": { - "excludeTypes": { - "description": "When true, excludes type information of the findings.", - "type": "boolean" + "primitiveTransformation": { + "description": "Primitive transformation to apply to the info type. [required]", + "$ref": "GooglePrivacyDlpV2beta1PrimitiveTransformation" }, "infoTypes": { - "description": "Restricts what info_types to look for. The values must correspond to\nInfoType values returned by ListInfoTypes or found in documentation.\nEmpty info_types runs all enabled detectors.", + "description": "Info types to apply the transformation to. Empty list will match all\navailable info types for this transformation.", + "type": "array", "items": { "$ref": "GooglePrivacyDlpV2beta1InfoType" - }, - "type": "array" - }, - "includeQuote": { - "description": "When true, a contextual quote from the data that triggered a finding is\nincluded in the response; see Finding.quote.", - "type": "boolean" - }, - "minLikelihood": { - "enumDescriptions": [ - "Default value; information with all likelihoods is included.", - "Few matching elements.", - "", - "Some matching elements.", - "", - "Many matching elements." - ], - "enum": [ - "LIKELIHOOD_UNSPECIFIED", - "VERY_UNLIKELY", - "UNLIKELY", - "POSSIBLE", - "LIKELY", - "VERY_LIKELY" - ], - "description": "Only returns findings equal or above this threshold.", - "type": "string" - }, - "maxFindings": { - "format": "int32", - "description": "Limits the number of findings per content item or long running operation.", - "type": "integer" + } } }, - "id": "GooglePrivacyDlpV2beta1InspectConfig" + "id": "GooglePrivacyDlpV2beta1InfoTypeTransformation" }, - "GooglePrivacyDlpV2beta1Projection": { - "description": "A representation of a Datastore property in a projection.", + "GooglePrivacyDlpV2beta1KAnonymityResult": { + "description": "Result of the k-anonymity computation.", "type": "object", "properties": { - "property": { - "$ref": "GooglePrivacyDlpV2beta1PropertyReference", - "description": "The property to project." + "equivalenceClassHistogramBuckets": { + "description": "Histogram of k-anonymity equivalence classes.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1KAnonymityHistogramBucket" + } } }, - "id": "GooglePrivacyDlpV2beta1Projection" + "id": "GooglePrivacyDlpV2beta1KAnonymityResult" + }, + "GooglePrivacyDlpV2beta1Bucket": { + "description": "Buckets represented as ranges, along with replacement values. Ranges must\nbe non-overlapping.", + "type": "object", + "properties": { + "min": { + "description": "Lower bound of the range, inclusive. Type should be the same as max if\nused.", + "$ref": "GooglePrivacyDlpV2beta1Value" + }, + "max": { + "description": "Upper bound of the range, exclusive; type must match min.", + "$ref": "GooglePrivacyDlpV2beta1Value" + }, + "replacementValue": { + "$ref": "GooglePrivacyDlpV2beta1Value", + "description": "Replacement value for this bucket. If not provided\nthe default behavior will be to hyphenate the min-max range." + } + }, + "id": "GooglePrivacyDlpV2beta1Bucket" + }, + "GooglePrivacyDlpV2beta1CategoricalStatsHistogramBucket": { + "description": "Histogram bucket of value frequencies in the column.", + "type": "object", + "properties": { + "bucketSize": { + "description": "Total number of records in this bucket.", + "format": "int64", + "type": "string" + }, + "valueFrequencyUpperBound": { + "description": "Upper bound on the value frequency of the values in this bucket.", + "format": "int64", + "type": "string" + }, + "valueFrequencyLowerBound": { + "description": "Lower bound on the value frequency of the values in this bucket.", + "format": "int64", + "type": "string" + }, + "bucketValues": { + "description": "Sample of value frequencies in this bucket. The total number of\nvalues returned per bucket is capped at 20.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1ValueFrequency" + } + } + }, + "id": "GooglePrivacyDlpV2beta1CategoricalStatsHistogramBucket" + }, + "GooglePrivacyDlpV2beta1TableLocation": { + "description": "Location of a finding within a `ContentItem.Table`.", + "type": "object", + "properties": { + "rowIndex": { + "description": "The zero-based index of the row where the finding is located.", + "format": "int64", + "type": "string" + } + }, + "id": "GooglePrivacyDlpV2beta1TableLocation" }, "GooglePrivacyDlpV2beta1DatastoreKey": { "description": "Record key for a finding in Cloud Datastore.", "type": "object", "properties": { "entityKey": { - "$ref": "GooglePrivacyDlpV2beta1Key", - "description": "Datastore entity key." + "description": "Datastore entity key.", + "$ref": "GooglePrivacyDlpV2beta1Key" } }, "id": "GooglePrivacyDlpV2beta1DatastoreKey" }, - "GooglePrivacyDlpV2beta1CloudStorageOptions": { - "description": "Options defining a file or a set of files (path ending with *) within\na Google Cloud Storage bucket.", + "GooglePrivacyDlpV2beta1KAnonymityConfig": { + "description": "k-anonymity metric, used for analysis of reidentification risk.", "type": "object", "properties": { - "fileSet": { - "$ref": "GooglePrivacyDlpV2beta1FileSet" + "quasiIds": { + "description": "Set of fields to compute k-anonymity over. When multiple fields are\nspecified, they are considered a single composite key. Structs and\nrepeated data types are not supported; however, nested fields are\nsupported so long as they are not structs themselves or nested within\na repeated field.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1FieldId" + } + }, + "entityId": { + "description": "Optional message indicating that each distinct `EntityId` should not\ncontribute to the k-anonymity count more than once per equivalence class.", + "$ref": "GooglePrivacyDlpV2beta1EntityId" } }, - "id": "GooglePrivacyDlpV2beta1CloudStorageOptions" - }, - "GooglePrivacyDlpV2beta1CreateInspectOperationRequest": { - "description": "Request for scheduling a scan of a data subset from a Google Platform data\nrepository.", - "type": "object", - "properties": { - "inspectConfig": { - "description": "Configuration for the inspector.", - "$ref": "GooglePrivacyDlpV2beta1InspectConfig" - }, - "storageConfig": { - "$ref": "GooglePrivacyDlpV2beta1StorageConfig", - "description": "Specification of the data set to process." - }, - "outputConfig": { - "description": "Optional location to store findings. The bucket must already exist and\nthe Google APIs service account for DLP must have write permission to\nwrite to the given bucket.\n\u003cp\u003eResults are split over multiple csv files with each file name matching\nthe pattern \"[operation_id]_[count].csv\", for example\n`3094877188788974909_1.csv`. The `operation_id` matches the\nidentifier for the Operation, and the `count` is a counter used for\ntracking the number of files written. \u003cp\u003eThe CSV file(s) contain the\nfollowing columns regardless of storage type scanned: \u003cli\u003eid \u003cli\u003einfo_type\n\u003cli\u003elikelihood \u003cli\u003ebyte size of finding \u003cli\u003equote \u003cli\u003etime_stamp\u003cbr/\u003e\n\u003cp\u003eFor Cloud Storage the next columns are: \u003cli\u003efile_path\n\u003cli\u003estart_offset\u003cbr/\u003e\n\u003cp\u003eFor Cloud Datastore the next columns are: \u003cli\u003eproject_id\n\u003cli\u003enamespace_id \u003cli\u003epath \u003cli\u003ecolumn_name \u003cli\u003eoffset", - "$ref": "GooglePrivacyDlpV2beta1OutputStorageConfig" - } - }, - "id": "GooglePrivacyDlpV2beta1CreateInspectOperationRequest" + "id": "GooglePrivacyDlpV2beta1KAnonymityConfig" }, "GooglePrivacyDlpV2beta1RecordKey": { + "description": "Message for a unique key indicating a record that contains a finding.", + "type": "object", "properties": { "datastoreKey": { "$ref": "GooglePrivacyDlpV2beta1DatastoreKey" @@ -241,30 +265,370 @@ "$ref": "GooglePrivacyDlpV2beta1CloudStorageKey" } }, - "id": "GooglePrivacyDlpV2beta1RecordKey", - "description": "Message for a unique key indicating a record that contains a finding.", - "type": "object" + "id": "GooglePrivacyDlpV2beta1RecordKey" }, - "GooglePrivacyDlpV2beta1Key": { - "description": "A unique identifier for a Datastore entity.\nIf a key's partition ID or any of its path kinds or names are\nreserved/read-only, the key is reserved/read-only.\nA reserved/read-only key is forbidden in certain documented contexts.", + "GooglePrivacyDlpV2beta1DeidentifyContentRequest": { + "description": "Request to de-identify a list of items.", "type": "object", "properties": { - "path": { - "description": "The entity path.\nAn entity path consists of one or more elements composed of a kind and a\nstring or numerical identifier, which identify entities. The first\nelement identifies a _root entity_, the second element identifies\na _child_ of the root entity, the third element identifies a child of the\nsecond entity, and so forth. The entities identified by all prefixes of\nthe path are called the element's _ancestors_.\n\nA path can never be empty, and a path can have at most 100 elements.", + "items": { + "description": "The list of items to inspect. Up to 100 are allowed per request.\nAll items will be treated as text/*.", + "type": "array", "items": { - "$ref": "GooglePrivacyDlpV2beta1PathElement" - }, - "type": "array" + "$ref": "GooglePrivacyDlpV2beta1ContentItem" + } }, - "partitionId": { - "$ref": "GooglePrivacyDlpV2beta1PartitionId", - "description": "Entities are partitioned into subsets, currently identified by a project\nID and namespace ID.\nQueries are scoped to a single partition." + "deidentifyConfig": { + "description": "Configuration for the de-identification of the list of content items.", + "$ref": "GooglePrivacyDlpV2beta1DeidentifyConfig" + }, + "inspectConfig": { + "$ref": "GooglePrivacyDlpV2beta1InspectConfig", + "description": "Configuration for the inspector." } }, - "id": "GooglePrivacyDlpV2beta1Key" + "id": "GooglePrivacyDlpV2beta1DeidentifyContentRequest" }, - "GooglePrivacyDlpV2beta1InspectContentRequest": { - "description": "Request to search for potentially sensitive info in a list of items.", + "GooglePrivacyDlpV2beta1InspectResult": { + "description": "All the findings for a single scanned item.", + "type": "object", + "properties": { + "findingsTruncated": { + "description": "If true, then this item might have more findings than were returned,\nand the findings returned are an arbitrary subset of all findings.\nThe findings list might be truncated because the input items were too\nlarge, or because the server reached the maximum amount of resources\nallowed for a single API call. For best results, divide the input into\nsmaller batches.", + "type": "boolean" + }, + "findings": { + "description": "List of findings for an item.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1Finding" + } + } + }, + "id": "GooglePrivacyDlpV2beta1InspectResult" + }, + "GooglePrivacyDlpV2beta1ImageLocation": { + "description": "Bounding box encompassing detected text within an image.", + "type": "object", + "properties": { + "top": { + "description": "Top coordinate of the bounding box. (0,0) is upper left.", + "format": "int32", + "type": "integer" + }, + "left": { + "description": "Left coordinate of the bounding box. (0,0) is upper left.", + "format": "int32", + "type": "integer" + }, + "width": { + "description": "Width of the bounding box in pixels.", + "format": "int32", + "type": "integer" + }, + "height": { + "description": "Height of the bounding box in pixels.", + "format": "int32", + "type": "integer" + } + }, + "id": "GooglePrivacyDlpV2beta1ImageLocation" + }, + "GooglePrivacyDlpV2beta1ReplaceValueConfig": { + "description": "Replace each input value with a given `Value`.", + "type": "object", + "properties": { + "newValue": { + "description": "Value to replace it with.", + "$ref": "GooglePrivacyDlpV2beta1Value" + } + }, + "id": "GooglePrivacyDlpV2beta1ReplaceValueConfig" + }, + "GooglePrivacyDlpV2beta1ContentItem": { + "description": "Container structure for the content to inspect.", + "type": "object", + "properties": { + "type": { + "description": "Type of the content, as defined in Content-Type HTTP header.\nSupported types are: all \"text\" types, octet streams, PNG images,\nJPEG images.", + "type": "string" + }, + "value": { + "description": "String data to inspect or redact.", + "type": "string" + }, + "table": { + "description": "Structured content for inspection.", + "$ref": "GooglePrivacyDlpV2beta1Table" + }, + "data": { + "description": "Content data to inspect or redact.", + "format": "byte", + "type": "string" + } + }, + "id": "GooglePrivacyDlpV2beta1ContentItem" + }, + "GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig": { + "description": "Replaces an identifier with an surrogate using FPE with the FFX\nmode of operation.\nThe identifier must be representable by the US-ASCII character set.\nFor a given crypto key and context, the same identifier will be\nreplaced with the same surrogate.\nNote that a given identifier must be either the empty string or be at\nleast two characters long.", + "type": "object", + "properties": { + "customAlphabet": { + "description": "This is supported by mapping these to the alphanumeric characters\nthat the FFX mode natively supports. This happens before/after\nencryption/decryption.\nEach character listed must appear only once.\nNumber of characters must be in the range [2, 62].\nThis must be encoded as ASCII.\nThe order of characters does not matter.", + "type": "string" + }, + "cryptoKey": { + "$ref": "GooglePrivacyDlpV2beta1CryptoKey", + "description": "The key used by the encryption algorithm. [required]" + }, + "commonAlphabet": { + "enumDescriptions": [ + "", + "[0-9] (radix of 10)", + "[0-9A-F] (radix of 16)", + "[0-9A-Z] (radix of 36)", + "[0-9A-Za-z] (radix of 62)" + ], + "enum": [ + "FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED", + "NUMERIC", + "HEXADECIMAL", + "UPPER_CASE_ALPHA_NUMERIC", + "ALPHA_NUMERIC" + ], + "type": "string" + }, + "radix": { + "description": "The native way to select the alphabet. Must be in the range [2, 62].", + "format": "int32", + "type": "integer" + }, + "context": { + "description": "A context may be used for higher security since the same\nidentifier in two different contexts likely will be given a distinct\nsurrogate. The principle is that the likeliness is inversely related\nto the ratio of the number of distinct identifiers per context over the\nnumber of possible surrogates: As long as this ratio is small, the\nlikehood is large.\n\nIf the context is not set, a default tweak will be used.\nIf the context is set but:\n\n1. there is no record present when transforming a given value or\n1. the field is not present when transforming a given value,\n\na default tweak will be used.\n\nNote that case (1) is expected when an `InfoTypeTransformation` is\napplied to both structured and non-structured `ContentItem`s.\nCurrently, the referenced field may be of value type integer or string.\n\nThe tweak is constructed as a sequence of bytes in big endian byte order\nsuch that:\n\n- a 64 bit integer is encoded followed by a single byte of value 1\n- a string is encoded in UTF-8 format followed by a single byte of value 2\n\nThis is also known as the 'tweak', as in tweakable encryption.", + "$ref": "GooglePrivacyDlpV2beta1FieldId" + } + }, + "id": "GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig" + }, + "GooglePrivacyDlpV2beta1Color": { + "description": "Represents a color in the RGB color space.", + "type": "object", + "properties": { + "green": { + "description": "The amount of green in the color as a value in the interval [0, 1].", + "format": "float", + "type": "number" + }, + "blue": { + "description": "The amount of blue in the color as a value in the interval [0, 1].", + "format": "float", + "type": "number" + }, + "red": { + "description": "The amount of red in the color as a value in the interval [0, 1].", + "format": "float", + "type": "number" + } + }, + "id": "GooglePrivacyDlpV2beta1Color" + }, + "GooglePrivacyDlpV2beta1Table": { + "description": "Structured content to inspect. Up to 50,000 `Value`s per request allowed.", + "type": "object", + "properties": { + "rows": { + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1Row" + } + }, + "headers": { + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1FieldId" + } + } + }, + "id": "GooglePrivacyDlpV2beta1Table" + }, + "GooglePrivacyDlpV2beta1ValueFrequency": { + "description": "A value of a field, including its frequency.", + "type": "object", + "properties": { + "value": { + "description": "A value contained in the field in question.", + "$ref": "GooglePrivacyDlpV2beta1Value" + }, + "count": { + "description": "How many times the value is contained in the field.", + "format": "int64", + "type": "string" + } + }, + "id": "GooglePrivacyDlpV2beta1ValueFrequency" + }, + "GooglePrivacyDlpV2beta1InfoTypeLimit": { + "description": "Max findings configuration per info type, per content item or long running\noperation.", + "type": "object", + "properties": { + "infoType": { + "$ref": "GooglePrivacyDlpV2beta1InfoType", + "description": "Type of information the findings limit applies to. Only one limit per\ninfo_type should be provided. If InfoTypeLimit does not have an\ninfo_type, the DLP API applies the limit against all info_types that are\nfound but not specified in another InfoTypeLimit." + }, + "maxFindings": { + "description": "Max findings limit for the given infoType.", + "format": "int32", + "type": "integer" + } + }, + "id": "GooglePrivacyDlpV2beta1InfoTypeLimit" + }, + "GooglePrivacyDlpV2beta1CryptoKey": { + "description": "This is a data encryption key (DEK) (as opposed to\na key encryption key (KEK) stored by KMS).\nWhen using KMS to wrap/unwrap DEKs, be sure to set an appropriate\nIAM policy on the KMS CryptoKey (KEK) to ensure an attacker cannot\nunwrap the data crypto key.", + "type": "object", + "properties": { + "transient": { + "$ref": "GooglePrivacyDlpV2beta1TransientCryptoKey" + }, + "kmsWrapped": { + "$ref": "GooglePrivacyDlpV2beta1KmsWrappedCryptoKey" + }, + "unwrapped": { + "$ref": "GooglePrivacyDlpV2beta1UnwrappedCryptoKey" + } + }, + "id": "GooglePrivacyDlpV2beta1CryptoKey" + }, + "GooglePrivacyDlpV2beta1LDiversityHistogramBucket": { + "description": "Histogram bucket of sensitive value frequencies in the table.", + "type": "object", + "properties": { + "bucketSize": { + "description": "Total number of records in this bucket.", + "format": "int64", + "type": "string" + }, + "sensitiveValueFrequencyUpperBound": { + "description": "Upper bound on the sensitive value frequencies of the equivalence\nclasses in this bucket.", + "format": "int64", + "type": "string" + }, + "sensitiveValueFrequencyLowerBound": { + "description": "Lower bound on the sensitive value frequencies of the equivalence\nclasses in this bucket.", + "format": "int64", + "type": "string" + }, + "bucketValues": { + "description": "Sample of equivalence classes in this bucket. The total number of\nclasses returned per bucket is capped at 20.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1LDiversityEquivalenceClass" + } + } + }, + "id": "GooglePrivacyDlpV2beta1LDiversityHistogramBucket" + }, + "GooglePrivacyDlpV2beta1Value": { + "description": "Set of primitive values supported by the system.", + "type": "object", + "properties": { + "timeValue": { + "$ref": "GoogleTypeTimeOfDay" + }, + "integerValue": { + "format": "int64", + "type": "string" + }, + "stringValue": { + "type": "string" + }, + "dateValue": { + "$ref": "GoogleTypeDate" + }, + "timestampValue": { + "format": "google-datetime", + "type": "string" + }, + "booleanValue": { + "type": "boolean" + }, + "floatValue": { + "format": "double", + "type": "number" + } + }, + "id": "GooglePrivacyDlpV2beta1Value" + }, + "GooglePrivacyDlpV2beta1Condition": { + "description": "The field type of `value` and `field` do not need to match to be\nconsidered equal, but not all comparisons are possible.\n\nA `value` of type:\n\n- `string` can be compared against all other types\n- `boolean` can only be compared against other booleans\n- `integer` can be compared against doubles or a string if the string value\ncan be parsed as an integer.\n- `double` can be compared against integers or a string if the string can\nbe parsed as a double.\n- `Timestamp` can be compared against strings in RFC 3339 date string\nformat.\n- `TimeOfDay` can be compared against timestamps and strings in the format\nof 'HH:mm:ss'.\n\nIf we fail to compare do to type mismatch, a warning will be given and\nthe condition will evaluate to false.", + "type": "object", + "properties": { + "field": { + "description": "Field within the record this condition is evaluated against. [required]", + "$ref": "GooglePrivacyDlpV2beta1FieldId" + }, + "operator": { + "description": "Operator used to compare the field or info type to the value. [required]", + "type": "string", + "enumDescriptions": [ + "", + "Equal.", + "Not equal to.", + "Greater than.", + "Less than.", + "Greater than or equals.", + "Less than or equals.", + "Exists" + ], + "enum": [ + "RELATIONAL_OPERATOR_UNSPECIFIED", + "EQUAL_TO", + "NOT_EQUAL_TO", + "GREATER_THAN", + "LESS_THAN", + "GREATER_THAN_OR_EQUALS", + "LESS_THAN_OR_EQUALS", + "EXISTS" + ] + }, + "value": { + "description": "Value to compare against. [Required, except for `EXISTS` tests.]", + "$ref": "GooglePrivacyDlpV2beta1Value" + } + }, + "id": "GooglePrivacyDlpV2beta1Condition" + }, + "GooglePrivacyDlpV2beta1PartitionId": { + "description": "Datastore partition ID.\nA partition ID identifies a grouping of entities. The grouping is always\nby project and namespace, however the namespace ID may be empty.\n\nA partition ID contains several dimensions:\nproject ID and namespace ID.", + "type": "object", + "properties": { + "namespaceId": { + "description": "If not empty, the ID of the namespace to which the entities belong.", + "type": "string" + }, + "projectId": { + "description": "The ID of the project to which the entities belong.", + "type": "string" + } + }, + "id": "GooglePrivacyDlpV2beta1PartitionId" + }, + "GooglePrivacyDlpV2beta1InspectContentResponse": { + "description": "Results of inspecting a list of items.", + "type": "object", + "properties": { + "results": { + "description": "Each content_item from the request has a result in this list, in the\nsame order as the request.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1InspectResult" + } + } + }, + "id": "GooglePrivacyDlpV2beta1InspectContentResponse" + }, + "GooglePrivacyDlpV2beta1RedactContentRequest": { + "description": "Request to search for potentially sensitive info in a list of items\nand replace it with a default or provided content.", "type": "object", "properties": { "inspectConfig": { @@ -272,49 +636,155 @@ "description": "Configuration for the inspector." }, "items": { - "description": "The list of items to inspect. Items in a single request are\nconsidered \"related\" unless inspect_config.independent_inputs is true.\nUp to 100 are allowed per request.", + "description": "The list of items to inspect. Up to 100 are allowed per request.", + "type": "array", "items": { "$ref": "GooglePrivacyDlpV2beta1ContentItem" - }, - "type": "array" + } + }, + "replaceConfigs": { + "description": "The strings to replace findings text findings with. Must specify at least\none of these or one ImageRedactionConfig if redacting images.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1ReplaceConfig" + } + }, + "imageRedactionConfigs": { + "description": "The configuration for specifying what content to redact from images.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1ImageRedactionConfig" + } } }, - "id": "GooglePrivacyDlpV2beta1InspectContentRequest" + "id": "GooglePrivacyDlpV2beta1RedactContentRequest" }, - "GooglePrivacyDlpV2beta1CloudStoragePath": { - "description": "A location in Cloud Storage.", + "GooglePrivacyDlpV2beta1FieldId": { + "description": "General identifier of a data field in a storage service.", "type": "object", "properties": { - "path": { - "description": "The url, in the format of `gs://bucket/\u003cpath\u003e`.", + "columnName": { + "description": "Name describing the field.", "type": "string" } }, - "id": "GooglePrivacyDlpV2beta1CloudStoragePath" + "id": "GooglePrivacyDlpV2beta1FieldId" }, - "GooglePrivacyDlpV2beta1InspectOperationResult": { + "GooglePrivacyDlpV2beta1TransformationSummary": { + "description": "Summary of a single tranformation.", + "type": "object", + "properties": { + "recordSuppress": { + "description": "The specific suppression option these stats apply to.", + "$ref": "GooglePrivacyDlpV2beta1RecordSuppression" + }, + "infoType": { + "description": "Set if the transformation was limited to a specific info_type.", + "$ref": "GooglePrivacyDlpV2beta1InfoType" + }, + "transformation": { + "$ref": "GooglePrivacyDlpV2beta1PrimitiveTransformation", + "description": "The specific transformation these stats apply to." + }, + "results": { + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1SummaryResult" + } + }, + "field": { + "$ref": "GooglePrivacyDlpV2beta1FieldId", + "description": "Set if the transformation was limited to a specific FieldId." + }, + "fieldTransformations": { + "description": "The field transformation that was applied. This list will contain\nmultiple only in the case of errors.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1FieldTransformation" + } + } + }, + "id": "GooglePrivacyDlpV2beta1TransformationSummary" + }, + "GoogleLongrunningCancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "type": "object", + "properties": {}, + "id": "GoogleLongrunningCancelOperationRequest" + }, + "GooglePrivacyDlpV2beta1CharacterMaskConfig": { + "description": "Partially mask a string by replacing a given number of characters with a\nfixed character. Masking can start from the beginning or end of the string.\nThis can be used on data of any type (numbers, longs, and so on) and when\nde-identifying structured data we'll attempt to preserve the original data's\ntype. (This allows you to take a long like 123 and modify it to a string like\n**3.", + "type": "object", + "properties": { + "maskingCharacter": { + "description": "Character to mask the sensitive values—for example, \"*\" for an\nalphabetic string such as name, or \"0\" for a numeric string such as ZIP\ncode or credit card number. String must have length 1. If not supplied, we\nwill default to \"*\" for strings, 0 for digits.", + "type": "string" + }, + "reverseOrder": { + "description": "Mask characters in reverse order. For example, if `masking_character` is\n'0', number_to_mask is 14, and `reverse_order` is false, then\n1234-5678-9012-3456 -\u003e 00000000000000-3456\nIf `masking_character` is '*', `number_to_mask` is 3, and `reverse_order`\nis true, then 12345 -\u003e 12***", + "type": "boolean" + }, + "numberToMask": { + "description": "Number of characters to mask. If not set, all matching chars will be\nmasked. Skipped characters do not count towards this tally.", + "format": "int32", + "type": "integer" + }, + "charactersToIgnore": { + "description": "When masking a string, items in this list will be skipped when replacing.\nFor example, if your string is 555-555-5555 and you ask us to skip `-` and\nmask 5 chars with * we would produce ***-*55-5555.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1CharsToIgnore" + } + } + }, + "id": "GooglePrivacyDlpV2beta1CharacterMaskConfig" + }, + "GooglePrivacyDlpV2beta1TransientCryptoKey": { + "description": "Use this to have a random data crypto key generated.\nIt will be discarded after the operation/request finishes.", + "type": "object", "properties": { "name": { - "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `inspect/results/{id}`.", + "description": "Name of the key. [required]\nThis is an arbitrary string used to differentiate different keys.\nA unique key is generated per name: two separate `TransientCryptoKey`\nprotos share the same generated key if their names are the same.\nWhen the data crypto key is generated, this name is not used in any way\n(repeating the api call will result in a different key being generated).", "type": "string" } }, - "id": "GooglePrivacyDlpV2beta1InspectOperationResult", - "description": "The operational data.", - "type": "object" + "id": "GooglePrivacyDlpV2beta1TransientCryptoKey" + }, + "GooglePrivacyDlpV2beta1CreateInspectOperationRequest": { + "description": "Request for scheduling a scan of a data subset from a Google Platform data\nrepository.", + "type": "object", + "properties": { + "inspectConfig": { + "$ref": "GooglePrivacyDlpV2beta1InspectConfig", + "description": "Configuration for the inspector." + }, + "storageConfig": { + "description": "Specification of the data set to process.", + "$ref": "GooglePrivacyDlpV2beta1StorageConfig" + }, + "outputConfig": { + "$ref": "GooglePrivacyDlpV2beta1OutputStorageConfig", + "description": "Optional location to store findings." + }, + "operationConfig": { + "$ref": "GooglePrivacyDlpV2beta1OperationConfig", + "description": "Additional configuration settings for long running operations." + } + }, + "id": "GooglePrivacyDlpV2beta1CreateInspectOperationRequest" }, "GooglePrivacyDlpV2beta1InfoTypeStatistics": { "description": "Statistics regarding a specific InfoType.", "type": "object", "properties": { - "count": { - "format": "int64", - "description": "Number of findings for this info type.", - "type": "string" - }, "infoType": { - "$ref": "GooglePrivacyDlpV2beta1InfoType", - "description": "The type of finding this stat is for." + "description": "The type of finding this stat is for.", + "$ref": "GooglePrivacyDlpV2beta1InfoType" + }, + "count": { + "description": "Number of findings for this info type.", + "format": "int64", + "type": "string" } }, "id": "GooglePrivacyDlpV2beta1InfoTypeStatistics" @@ -325,50 +795,14 @@ "properties": { "items": { "description": "The redacted content.", + "type": "array", "items": { "$ref": "GooglePrivacyDlpV2beta1ContentItem" - }, - "type": "array" + } } }, "id": "GooglePrivacyDlpV2beta1RedactContentResponse" }, - "GooglePrivacyDlpV2beta1ImageRedactionConfig": { - "properties": { - "redactAllText": { - "description": "If true, all text found in the image, regardless if it matches an\ninfo_type, is redacted.", - "type": "boolean" - }, - "infoType": { - "description": "Only one per info_type should be provided per request. If not\nspecified, and redact_all_text is false, the DLP API will redacts all\ntext that it matches against all info_types that are found, but not\nspecified in another ImageRedactionConfig.", - "$ref": "GooglePrivacyDlpV2beta1InfoType" - }, - "redactionColor": { - "description": "The color to use when redacting content from an image. If not specified,\nthe default is black.", - "$ref": "GooglePrivacyDlpV2beta1Color" - } - }, - "id": "GooglePrivacyDlpV2beta1ImageRedactionConfig", - "description": "Configuration for determing how redaction of images should occur.", - "type": "object" - }, - "GooglePrivacyDlpV2beta1Range": { - "description": "Generic half-open interval [start, end)", - "type": "object", - "properties": { - "start": { - "format": "int64", - "description": "Index of the first character of the range (inclusive).", - "type": "string" - }, - "end": { - "format": "int64", - "description": "Index of the last character of the range (exclusive).", - "type": "string" - } - }, - "id": "GooglePrivacyDlpV2beta1Range" - }, "GooglePrivacyDlpV2beta1PropertyReference": { "description": "A reference to a property relative to the Datastore kind expressions.", "type": "object", @@ -380,174 +814,117 @@ }, "id": "GooglePrivacyDlpV2beta1PropertyReference" }, - "GooglePrivacyDlpV2beta1Location": { - "properties": { - "codepointRange": { - "description": "Character offsets within a content item, included when content type\nis a text. Default charset assumed to be UTF-8.", - "$ref": "GooglePrivacyDlpV2beta1Range" - }, - "fieldId": { - "$ref": "GooglePrivacyDlpV2beta1FieldId", - "description": "Field id of the field containing the finding." - }, - "imageBoxes": { - "description": "Location within an image's pixels.", - "items": { - "$ref": "GooglePrivacyDlpV2beta1ImageLocation" - }, - "type": "array" - }, - "byteRange": { - "description": "Zero-based byte offsets within a content item.", - "$ref": "GooglePrivacyDlpV2beta1Range" - }, - "recordKey": { - "description": "Key of the finding.", - "$ref": "GooglePrivacyDlpV2beta1RecordKey" - } - }, - "id": "GooglePrivacyDlpV2beta1Location", - "description": "Specifies the location of a finding within its source item.", - "type": "object" - }, - "GooglePrivacyDlpV2beta1InspectResult": { - "description": "All the findings for a single scanned item.", - "type": "object", - "properties": { - "findingsTruncated": { - "description": "If true, then this item might have more findings than were returned,\nand the findings returned are an arbitrary subset of all findings.\nThe findings list might be truncated because the input items were too\nlarge, or because the server reached the maximum amount of resources\nallowed for a single API call. For best results, divide the input into\nsmaller batches.", - "type": "boolean" - }, - "findings": { - "description": "List of findings for an item.", - "items": { - "$ref": "GooglePrivacyDlpV2beta1Finding" - }, - "type": "array" - } - }, - "id": "GooglePrivacyDlpV2beta1InspectResult" - }, - "GooglePrivacyDlpV2beta1ImageLocation": { - "description": "Bounding box encompassing detected text within an image.", - "type": "object", - "properties": { - "height": { - "format": "int32", - "description": "Height of the bounding box in pixels.", - "type": "integer" - }, - "top": { - "format": "int32", - "description": "Top coordinate of the bounding box. (0,0) is upper left.", - "type": "integer" - }, - "left": { - "format": "int32", - "description": "Left coordinate of the bounding box. (0,0) is upper left.", - "type": "integer" - }, - "width": { - "format": "int32", - "description": "Width of the bounding box in pixels.", - "type": "integer" - } - }, - "id": "GooglePrivacyDlpV2beta1ImageLocation" - }, - "GooglePrivacyDlpV2beta1InfoTypeDescription": { - "description": "Info type description.", - "type": "object", - "properties": { - "categories": { - "description": "List of categories this info type belongs to.", - "items": { - "$ref": "GooglePrivacyDlpV2beta1CategoryDescription" - }, - "type": "array" - }, - "name": { - "description": "Internal name of the info type.", - "type": "string" - }, - "displayName": { - "description": "Human readable form of the info type name.", - "type": "string" - } - }, - "id": "GooglePrivacyDlpV2beta1InfoTypeDescription" - }, "GooglePrivacyDlpV2beta1OutputStorageConfig": { "description": "Cloud repository for storing output.", "type": "object", "properties": { + "table": { + "description": "Store findings in a new table in the dataset.", + "$ref": "GooglePrivacyDlpV2beta1BigQueryTable" + }, "storagePath": { "$ref": "GooglePrivacyDlpV2beta1CloudStoragePath", - "description": "The path to a Google Cloud Storage location to store output." + "description": "The path to a Google Cloud Storage location to store output.\nThe bucket must already exist and\nthe Google APIs service account for DLP must have write permission to\nwrite to the given bucket.\nResults are split over multiple csv files with each file name matching\nthe pattern \"[operation_id]_[count].csv\", for example\n`3094877188788974909_1.csv`. The `operation_id` matches the\nidentifier for the Operation, and the `count` is a counter used for\ntracking the number of files written.\n\nThe CSV file(s) contain the following columns regardless of storage type\nscanned:\n- id\n- info_type\n- likelihood\n- byte size of finding\n- quote\n- timestamp\n\nFor Cloud Storage the next columns are:\n\n- file_path\n- start_offset\n\nFor Cloud Datastore the next columns are:\n\n- project_id\n- namespace_id\n- path\n- column_name\n- offset\n\nFor BigQuery the next columns are:\n\n- row_number\n- project_id\n- dataset_id\n- table_id" } }, "id": "GooglePrivacyDlpV2beta1OutputStorageConfig" }, - "GoogleRpcStatus": { - "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", + "GooglePrivacyDlpV2beta1FieldTransformation": { + "description": "The transformation to apply to the field.", "type": "object", "properties": { - "details": { - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", + "condition": { + "description": "Only apply the transformation if the condition evaluates to true for the\ngiven `RecordCondition`. The conditions are allowed to reference fields\nthat are not used in the actual transformation. [optional]\n\nExample Use Cases:\n\n- Apply a different bucket transformation to an age column if the zip code\ncolumn for the same record is within a specific range.\n- Redact a field if the date of birth field is greater than 85.", + "$ref": "GooglePrivacyDlpV2beta1RecordCondition" + }, + "infoTypeTransformations": { + "description": "Treat the contents of the field as free text, and selectively\ntransform content that matches an `InfoType`.", + "$ref": "GooglePrivacyDlpV2beta1InfoTypeTransformations" + }, + "fields": { + "description": "Input field(s) to apply the transformation to. [required]", + "type": "array", "items": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "type": "object" - }, - "type": "array" + "$ref": "GooglePrivacyDlpV2beta1FieldId" + } }, - "code": { - "format": "int32", - "description": "The status code, which should be an enum value of google.rpc.Code.", - "type": "integer" - }, - "message": { - "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", - "type": "string" + "primitiveTransformation": { + "description": "Apply the transformation to the entire field.", + "$ref": "GooglePrivacyDlpV2beta1PrimitiveTransformation" } }, - "id": "GoogleRpcStatus" + "id": "GooglePrivacyDlpV2beta1FieldTransformation" }, - "GooglePrivacyDlpV2beta1StorageConfig": { - "description": "Shared message indicating Cloud storage type.", + "GooglePrivacyDlpV2beta1BucketingConfig": { + "description": "Generalization function that buckets values based on ranges. The ranges and\nreplacement values are dynamically provided by the user for custom behavior,\nsuch as 1-30 -\u003e LOW 31-65 -\u003e MEDIUM 66-100 -\u003e HIGH\nThis can be used on\ndata of type: number, long, string, timestamp.\nIf the bound `Value` type differs from the type of data being transformed, we\nwill first attempt converting the type of the data to be transformed to match\nthe type of the bound before comparing.", "type": "object", "properties": { - "cloudStorageOptions": { - "description": "Google Cloud Storage options specification.", - "$ref": "GooglePrivacyDlpV2beta1CloudStorageOptions" - }, - "datastoreOptions": { - "description": "Google Cloud Datastore options specification.", - "$ref": "GooglePrivacyDlpV2beta1DatastoreOptions" + "buckets": { + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1Bucket" + } } }, - "id": "GooglePrivacyDlpV2beta1StorageConfig" + "id": "GooglePrivacyDlpV2beta1BucketingConfig" + }, + "GooglePrivacyDlpV2beta1DeidentifyContentResponse": { + "description": "Results of de-identifying a list of items.", + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1ContentItem" + } + }, + "summaries": { + "description": "A review of the transformations that took place for each item.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1DeidentificationSummary" + } + } + }, + "id": "GooglePrivacyDlpV2beta1DeidentifyContentResponse" + }, + "GooglePrivacyDlpV2beta1KAnonymityEquivalenceClass": { + "description": "The set of columns' values that share the same k-anonymity value.", + "type": "object", + "properties": { + "equivalenceClassSize": { + "description": "Size of the equivalence class, for example number of rows with the\nabove set of values.", + "format": "int64", + "type": "string" + }, + "quasiIdsValues": { + "description": "Set of values defining the equivalence class. One value per\nquasi-identifier column in the original KAnonymity metric message.\nThe order is always the same as the original request.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1Value" + } + } + }, + "id": "GooglePrivacyDlpV2beta1KAnonymityEquivalenceClass" }, "GoogleLongrunningOperation": { "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", "type": "object", "properties": { "error": { - "description": "The error result of the operation in case of failure or cancellation.", - "$ref": "GoogleRpcStatus" + "$ref": "GoogleRpcStatus", + "description": "The error result of the operation in case of failure or cancellation." }, "metadata": { + "description": "This field will contain an InspectOperationMetadata object for `inspect.operations.create` or a RiskAnalysisOperationMetadata object for `dataSource.analyze`. This will always be returned with the Operation.", + "type": "object", "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" - }, - "description": "This field will contain an InspectOperationMetadata object. This will always be returned with the Operation.", - "type": "object" + } }, "done": { - "description": "If the value is `false`, it means the operation is still in progress.\nIf true, the operation is completed, and either `error` or `response` is\navailable.", + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", "type": "boolean" }, "response": { @@ -555,72 +932,68 @@ "description": "Properties of the object. Contains field @type with type URL.", "type": "any" }, - "description": "This field will contain an InspectOperationResult object.", + "description": "This field will contain an InspectOperationResult object for `inspect.operations.create` or a RiskAnalysisOperationResult object for `dataSource.analyze`.", "type": "object" }, "name": { - "description": "The server-assigned name, The `name` should have the format of `inspect/operations/\u003cidentifier\u003e`.", + "description": "The server-assigned name. The `name` should have the format of `inspect/operations/\u003cidentifier\u003e`.", "type": "string" } }, "id": "GoogleLongrunningOperation" }, - "GooglePrivacyDlpV2beta1ContentItem": { - "description": "Container structure for the content to inspect.", + "GooglePrivacyDlpV2beta1KmsWrappedCryptoKey": { + "description": "Include to use an existing data crypto key wrapped by KMS.\nAuthorization requires the following IAM permissions when sending a request\nto perform a crypto transformation using a kms-wrapped crypto key:\ndlp.kms.encrypt", "type": "object", "properties": { - "value": { - "description": "String data to inspect or redact.", - "type": "string" - }, - "data": { + "wrappedKey": { + "description": "The wrapped data crypto key. [required]", "format": "byte", - "description": "Content data to inspect or redact.", "type": "string" }, - "type": { - "description": "Type of the content, as defined in Content-Type HTTP header.\nSupported types are: all \"text\" types, octet streams, PNG images,\nJPEG images.", + "cryptoKeyName": { + "description": "The resource name of the KMS CryptoKey to use for unwrapping. [required]", "type": "string" } }, - "id": "GooglePrivacyDlpV2beta1ContentItem" + "id": "GooglePrivacyDlpV2beta1KmsWrappedCryptoKey" }, "GooglePrivacyDlpV2beta1InspectOperationMetadata": { "description": "Metadata returned within GetOperation for an inspect request.", "type": "object", "properties": { - "createTime": { - "format": "google-datetime", - "description": "The time which this request was started.", - "type": "string" - }, - "requestStorageConfig": { - "$ref": "GooglePrivacyDlpV2beta1StorageConfig", - "description": "The storage config used to create the Operation." - }, - "processedBytes": { - "format": "int64", - "description": "Total size in bytes that were processed.", - "type": "string" - }, "totalEstimatedBytes": { - "format": "int64", "description": "Estimate of the number of bytes to process.", + "format": "int64", "type": "string" }, "infoTypeStats": { + "type": "array", "items": { "$ref": "GooglePrivacyDlpV2beta1InfoTypeStatistics" - }, - "type": "array" + } }, "requestInspectConfig": { - "description": "The inspect config used to create the Operation.", - "$ref": "GooglePrivacyDlpV2beta1InspectConfig" + "$ref": "GooglePrivacyDlpV2beta1InspectConfig", + "description": "The inspect config used to create the Operation." }, "requestOutputConfig": { "description": "Optional location to store findings.", "$ref": "GooglePrivacyDlpV2beta1OutputStorageConfig" + }, + "createTime": { + "description": "The time which this request was started.", + "format": "google-datetime", + "type": "string" + }, + "requestStorageConfig": { + "description": "The storage config used to create the Operation.", + "$ref": "GooglePrivacyDlpV2beta1StorageConfig" + }, + "processedBytes": { + "description": "Total size in bytes that were processed.", + "format": "int64", + "type": "string" } }, "id": "GooglePrivacyDlpV2beta1InspectOperationMetadata" @@ -630,131 +1003,173 @@ "type": "object", "properties": { "name": { - "description": "Name of the information type. For built-in info types, this is provided by\nthe API call ListInfoTypes. For user-defined info types, this is\nprovided by the user. All user-defined info types must have unique names,\nand cannot conflict with built-in info type names.", + "description": "Name of the information type.", "type": "string" } }, "id": "GooglePrivacyDlpV2beta1InfoType" }, - "GooglePrivacyDlpV2beta1ReplaceConfig": { + "GooglePrivacyDlpV2beta1CharsToIgnore": { + "description": "Characters to skip when doing deidentification of a value. These will be left\nalone and skipped.", "type": "object", "properties": { - "infoType": { - "description": "Type of information to replace. Only one ReplaceConfig per info_type\nshould be provided. If ReplaceConfig does not have an info_type, the DLP\nAPI matches it against all info_types that are found but not specified in\nanother ReplaceConfig.", - "$ref": "GooglePrivacyDlpV2beta1InfoType" - }, - "replaceWith": { - "description": "Content replacing sensitive information of given type. Max 256 chars.", + "charactersToSkip": { "type": "string" + }, + "commonCharactersToIgnore": { + "type": "string", + "enumDescriptions": [ + "", + "0-9", + "A-Z", + "a-z", + "US Punctuation, one of !\"#$%&'()*+,-./:;\u003c=\u003e?@[\\]^_`{|}~", + "Whitespace character, one of [ \\t\\n\\x0B\\f\\r]" + ], + "enum": [ + "CHARACTER_GROUP_UNSPECIFIED", + "NUMERIC", + "ALPHA_UPPER_CASE", + "ALPHA_LOWER_CASE", + "PUNCTUATION", + "WHITESPACE" + ] } }, - "id": "GooglePrivacyDlpV2beta1ReplaceConfig" + "id": "GooglePrivacyDlpV2beta1CharsToIgnore" }, - "GooglePrivacyDlpV2beta1Color": { - "description": "Represents a color in the RGB color space.", + "GooglePrivacyDlpV2beta1FixedSizeBucketingConfig": { + "description": "Buckets values based on fixed size ranges. The\nBucketing transformation can provide all of this functionality,\nbut requires more configuration. This message is provided as a convenience to\nthe user for simple bucketing strategies.\nThe resulting value will be a hyphenated string of\nlower_bound-upper_bound.\nThis can be used on data of type: double, long.\nIf the bound Value type differs from the type of data\nbeing transformed, we will first attempt converting the type of the data to\nbe transformed to match the type of the bound before comparing.", "type": "object", "properties": { - "red": { - "format": "float", - "description": "The amount of red in the color as a value in the interval [0, 1].", - "type": "number" + "upperBound": { + "$ref": "GooglePrivacyDlpV2beta1Value", + "description": "Upper bound value of buckets. All values greater than upper_bound are\ngrouped together into a single bucket; for example if `upper_bound` = 89,\nthen all values greater than 89 are replaced with the value “89+”.\n[Required]." }, - "blue": { - "format": "float", - "description": "The amount of blue in the color as a value in the interval [0, 1].", - "type": "number" + "lowerBound": { + "$ref": "GooglePrivacyDlpV2beta1Value", + "description": "Lower bound value of buckets. All values less than `lower_bound` are\ngrouped together into a single bucket; for example if `lower_bound` = 10,\nthen all values less than 10 are replaced with the value “-10”. [Required]." }, - "green": { - "format": "float", - "description": "The amount of green in the color as a value in the interval [0, 1].", + "bucketSize": { + "description": "Size of each bucket (except for minimum and maximum buckets). So if\n`lower_bound` = 10, `upper_bound` = 89, and `bucket_size` = 10, then the\nfollowing buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60,\n60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works. [Required].", + "format": "double", "type": "number" } }, - "id": "GooglePrivacyDlpV2beta1Color" + "id": "GooglePrivacyDlpV2beta1FixedSizeBucketingConfig" }, - "GooglePrivacyDlpV2beta1PathElement": { - "description": "A (kind, ID/name) pair used to construct a key path.\n\nIf either name or ID is set, the element is complete.\nIf neither is set, the element is incomplete.", + "GooglePrivacyDlpV2beta1RiskAnalysisOperationResult": { + "description": "Result of a risk analysis\n[`Operation`](/dlp/docs/reference/rest/v2beta1/inspect.operations)\nrequest.", "type": "object", "properties": { - "kind": { - "description": "The kind of the entity.\nA kind matching regex `__.*__` is reserved/read-only.\nA kind must not contain more than 1500 bytes when UTF-8 encoded.\nCannot be `\"\"`.", - "type": "string" + "lDiversityResult": { + "$ref": "GooglePrivacyDlpV2beta1LDiversityResult" }, - "id": { - "format": "int64", - "description": "The auto-allocated ID of the entity.\nNever equal to zero. Values less than zero are discouraged and may not\nbe supported in the future.", - "type": "string" + "categoricalStatsResult": { + "$ref": "GooglePrivacyDlpV2beta1CategoricalStatsResult" }, - "name": { - "description": "The name of the entity.\nA name matching regex `__.*__` is reserved/read-only.\nA name must not be more than 1500 bytes when UTF-8 encoded.\nCannot be `\"\"`.", - "type": "string" + "numericalStatsResult": { + "$ref": "GooglePrivacyDlpV2beta1NumericalStatsResult" + }, + "kAnonymityResult": { + "$ref": "GooglePrivacyDlpV2beta1KAnonymityResult" } }, - "id": "GooglePrivacyDlpV2beta1PathElement" + "id": "GooglePrivacyDlpV2beta1RiskAnalysisOperationResult" + }, + "GooglePrivacyDlpV2beta1Conditions": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1Condition" + } + } + }, + "id": "GooglePrivacyDlpV2beta1Conditions" }, "GooglePrivacyDlpV2beta1CategoryDescription": { "description": "Info Type Category description.", "type": "object", "properties": { - "name": { - "description": "Internal name of the category.", - "type": "string" - }, "displayName": { "description": "Human readable form of the category name.", "type": "string" + }, + "name": { + "description": "Internal name of the category.", + "type": "string" } }, "id": "GooglePrivacyDlpV2beta1CategoryDescription" }, - "GooglePrivacyDlpV2beta1ListInfoTypesResponse": { - "description": "Response to the ListInfoTypes request.", + "GooglePrivacyDlpV2beta1PrimitiveTransformation": { + "description": "A rule for transforming a value.", "type": "object", "properties": { - "infoTypes": { - "description": "Set of sensitive info types belonging to a category.", - "items": { - "$ref": "GooglePrivacyDlpV2beta1InfoTypeDescription" - }, - "type": "array" - } - }, - "id": "GooglePrivacyDlpV2beta1ListInfoTypesResponse" - }, - "GooglePrivacyDlpV2beta1ListRootCategoriesResponse": { - "description": "Response for ListRootCategories request.", - "type": "object", - "properties": { - "categories": { - "description": "List of all into type categories supported by the API.", - "items": { - "$ref": "GooglePrivacyDlpV2beta1CategoryDescription" - }, - "type": "array" - } - }, - "id": "GooglePrivacyDlpV2beta1ListRootCategoriesResponse" - }, - "GooglePrivacyDlpV2beta1CloudStorageKey": { - "description": "Record key for a finding in a Cloud Storage file.", - "type": "object", - "properties": { - "filePath": { - "description": "Path to the file.", - "type": "string" + "replaceConfig": { + "$ref": "GooglePrivacyDlpV2beta1ReplaceValueConfig" }, - "startOffset": { - "format": "int64", - "description": "Byte offset of the referenced data in the file.", - "type": "string" + "timePartConfig": { + "$ref": "GooglePrivacyDlpV2beta1TimePartConfig" + }, + "fixedSizeBucketingConfig": { + "$ref": "GooglePrivacyDlpV2beta1FixedSizeBucketingConfig" + }, + "characterMaskConfig": { + "$ref": "GooglePrivacyDlpV2beta1CharacterMaskConfig" + }, + "redactConfig": { + "$ref": "GooglePrivacyDlpV2beta1RedactConfig" + }, + "bucketingConfig": { + "$ref": "GooglePrivacyDlpV2beta1BucketingConfig" + }, + "replaceWithInfoTypeConfig": { + "$ref": "GooglePrivacyDlpV2beta1ReplaceWithInfoTypeConfig" + }, + "cryptoHashConfig": { + "$ref": "GooglePrivacyDlpV2beta1CryptoHashConfig" + }, + "cryptoReplaceFfxFpeConfig": { + "$ref": "GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig" } }, - "id": "GooglePrivacyDlpV2beta1CloudStorageKey" + "id": "GooglePrivacyDlpV2beta1PrimitiveTransformation" + }, + "GooglePrivacyDlpV2beta1CategoricalStatsConfig": { + "description": "Compute numerical stats over an individual column, including\nnumber of distinct values and value count distribution.", + "type": "object", + "properties": { + "field": { + "description": "Field to compute categorical stats on. All column types are\nsupported except for arrays and structs. However, it may be more\ninformative to use NumericalStats when the field type is supported,\ndepending on the data.", + "$ref": "GooglePrivacyDlpV2beta1FieldId" + } + }, + "id": "GooglePrivacyDlpV2beta1CategoricalStatsConfig" }, "GooglePrivacyDlpV2beta1Finding": { "description": "Container structure describing a single finding within a string or image.", "type": "object", "properties": { + "infoType": { + "$ref": "GooglePrivacyDlpV2beta1InfoType", + "description": "The specific type of info the string might be." + }, + "createTime": { + "description": "Timestamp when finding was detected.", + "format": "google-datetime", + "type": "string" + }, + "quote": { + "description": "The specific string that may be potentially sensitive info.", + "type": "string" + }, + "location": { + "description": "Location of the info found.", + "$ref": "GooglePrivacyDlpV2beta1Location" + }, "likelihood": { "enumDescriptions": [ "Default value; information with all likelihoods is included.", @@ -774,60 +1189,830 @@ ], "description": "Estimate of how likely it is that the info_type is correct.", "type": "string" - }, - "createTime": { - "format": "google-datetime", - "description": "Timestamp when finding was detected.", - "type": "string" - }, - "infoType": { - "$ref": "GooglePrivacyDlpV2beta1InfoType", - "description": "The specific type of info the string might be." - }, - "location": { - "description": "Location of the info found.", - "$ref": "GooglePrivacyDlpV2beta1Location" - }, - "quote": { - "description": "The specific string that may be potentially sensitive info.", - "type": "string" } }, "id": "GooglePrivacyDlpV2beta1Finding" }, - "GooglePrivacyDlpV2beta1PartitionId": { - "properties": { - "projectId": { - "description": "The ID of the project to which the entities belong.", - "type": "string" - }, - "namespaceId": { - "description": "If not empty, the ID of the namespace to which the entities belong.", - "type": "string" - } - }, - "id": "GooglePrivacyDlpV2beta1PartitionId", - "description": "Datastore partition ID.\nA partition ID identifies a grouping of entities. The grouping is always\nby project and namespace, however the namespace ID may be empty.\n\nA partition ID contains several dimensions:\nproject ID and namespace ID.", - "type": "object" - }, - "GooglePrivacyDlpV2beta1InspectContentResponse": { - "description": "Results of inspecting a list of items.", + "GooglePrivacyDlpV2beta1RiskAnalysisOperationMetadata": { + "description": "Metadata returned within the\n[`riskAnalysis.operations.get`](/dlp/docs/reference/rest/v2beta1/riskAnalysis.operations/get)\nfor risk analysis.", "type": "object", "properties": { - "results": { - "description": "Each content_item from the request has a result in this list, in the\nsame order as the request.", - "items": { - "$ref": "GooglePrivacyDlpV2beta1InspectResult" - }, - "type": "array" + "createTime": { + "description": "The time which this request was started.", + "format": "google-datetime", + "type": "string" + }, + "requestedSourceTable": { + "$ref": "GooglePrivacyDlpV2beta1BigQueryTable", + "description": "Input dataset to compute metrics over." + }, + "requestedPrivacyMetric": { + "$ref": "GooglePrivacyDlpV2beta1PrivacyMetric", + "description": "Privacy metric to compute." } }, - "id": "GooglePrivacyDlpV2beta1InspectContentResponse" + "id": "GooglePrivacyDlpV2beta1RiskAnalysisOperationMetadata" + }, + "GoogleLongrunningListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "type": "array", + "items": { + "$ref": "GoogleLongrunningOperation" + } + } + }, + "id": "GoogleLongrunningListOperationsResponse" + }, + "GooglePrivacyDlpV2beta1Row": { + "type": "object", + "properties": { + "values": { + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1Value" + } + } + }, + "id": "GooglePrivacyDlpV2beta1Row" + }, + "GoogleProtobufEmpty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object", + "properties": {}, + "id": "GoogleProtobufEmpty" + }, + "GooglePrivacyDlpV2beta1ListInspectFindingsResponse": { + "description": "Response to the ListInspectFindings request.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "If not empty, indicates that there may be more results that match the\nrequest; this value should be passed in a new `ListInspectFindingsRequest`.", + "type": "string" + }, + "result": { + "$ref": "GooglePrivacyDlpV2beta1InspectResult", + "description": "The results." + } + }, + "id": "GooglePrivacyDlpV2beta1ListInspectFindingsResponse" + }, + "GooglePrivacyDlpV2beta1Expressions": { + "description": "A collection of expressions", + "type": "object", + "properties": { + "logicalOperator": { + "description": "The operator to apply to the result of conditions. Default and currently\nonly supported value is `AND`.", + "type": "string", + "enumDescriptions": [ + "", + "" + ], + "enum": [ + "LOGICAL_OPERATOR_UNSPECIFIED", + "AND" + ] + }, + "conditions": { + "$ref": "GooglePrivacyDlpV2beta1Conditions" + } + }, + "id": "GooglePrivacyDlpV2beta1Expressions" + }, + "GooglePrivacyDlpV2beta1CloudStorageOptions": { + "description": "Options defining a file or a set of files (path ending with *) within\na Google Cloud Storage bucket.", + "type": "object", + "properties": { + "fileSet": { + "$ref": "GooglePrivacyDlpV2beta1FileSet" + } + }, + "id": "GooglePrivacyDlpV2beta1CloudStorageOptions" + }, + "GooglePrivacyDlpV2beta1CloudStoragePath": { + "description": "A location in Cloud Storage.", + "type": "object", + "properties": { + "path": { + "description": "The url, in the format of `gs://bucket/\u003cpath\u003e`.", + "type": "string" + } + }, + "id": "GooglePrivacyDlpV2beta1CloudStoragePath" + }, + "GooglePrivacyDlpV2beta1KAnonymityHistogramBucket": { + "description": "Histogram bucket of equivalence class sizes in the table.", + "type": "object", + "properties": { + "bucketValues": { + "description": "Sample of equivalence classes in this bucket. The total number of\nclasses returned per bucket is capped at 20.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1KAnonymityEquivalenceClass" + } + }, + "equivalenceClassSizeLowerBound": { + "description": "Lower bound on the size of the equivalence classes in this bucket.", + "format": "int64", + "type": "string" + }, + "equivalenceClassSizeUpperBound": { + "description": "Upper bound on the size of the equivalence classes in this bucket.", + "format": "int64", + "type": "string" + }, + "bucketSize": { + "description": "Total number of records in this bucket.", + "format": "int64", + "type": "string" + } + }, + "id": "GooglePrivacyDlpV2beta1KAnonymityHistogramBucket" + }, + "GooglePrivacyDlpV2beta1InspectOperationResult": { + "description": "The operational data.", + "type": "object", + "properties": { + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `inspect/results/{id}`.", + "type": "string" + } + }, + "id": "GooglePrivacyDlpV2beta1InspectOperationResult" + }, + "GooglePrivacyDlpV2beta1LDiversityResult": { + "description": "Result of the l-diversity computation.", + "type": "object", + "properties": { + "sensitiveValueFrequencyHistogramBuckets": { + "description": "Histogram of l-diversity equivalence class sensitive value frequencies.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1LDiversityHistogramBucket" + } + } + }, + "id": "GooglePrivacyDlpV2beta1LDiversityResult" + }, + "GooglePrivacyDlpV2beta1CategoricalStatsResult": { + "description": "Result of the categorical stats computation.", + "type": "object", + "properties": { + "valueFrequencyHistogramBuckets": { + "description": "Histogram of value frequencies in the column.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1CategoricalStatsHistogramBucket" + } + } + }, + "id": "GooglePrivacyDlpV2beta1CategoricalStatsResult" + }, + "GooglePrivacyDlpV2beta1Range": { + "description": "Generic half-open interval [start, end)", + "type": "object", + "properties": { + "start": { + "description": "Index of the first character of the range (inclusive).", + "format": "int64", + "type": "string" + }, + "end": { + "description": "Index of the last character of the range (exclusive).", + "format": "int64", + "type": "string" + } + }, + "id": "GooglePrivacyDlpV2beta1Range" + }, + "GoogleTypeTimeOfDay": { + "description": "Represents a time of day. The date and time zone are either not significant\nor are specified elsewhere. An API may choose to allow leap seconds. Related\ntypes are google.type.Date and `google.protobuf.Timestamp`.", + "type": "object", + "properties": { + "nanos": { + "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "format": "int32", + "type": "integer" + }, + "seconds": { + "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may\nallow the value 60 if it allows leap-seconds.", + "format": "int32", + "type": "integer" + }, + "minutes": { + "description": "Minutes of hour of day. Must be from 0 to 59.", + "format": "int32", + "type": "integer" + }, + "hours": { + "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose\nto allow the value \"24:00:00\" for scenarios like business closing time.", + "format": "int32", + "type": "integer" + } + }, + "id": "GoogleTypeTimeOfDay" + }, + "GooglePrivacyDlpV2beta1DeidentifyConfig": { + "description": "The configuration that controls how the data will change.", + "type": "object", + "properties": { + "recordTransformations": { + "description": "Treat the dataset as structured. Transformations can be applied to\nspecific locations within structured datasets, such as transforming\na column within a table.", + "$ref": "GooglePrivacyDlpV2beta1RecordTransformations" + }, + "infoTypeTransformations": { + "description": "Treat the dataset as free-form text and apply the same free text\ntransformation everywhere.", + "$ref": "GooglePrivacyDlpV2beta1InfoTypeTransformations" + } + }, + "id": "GooglePrivacyDlpV2beta1DeidentifyConfig" + }, + "GooglePrivacyDlpV2beta1LDiversityConfig": { + "description": "l-diversity metric, used for analysis of reidentification risk.", + "type": "object", + "properties": { + "sensitiveAttribute": { + "$ref": "GooglePrivacyDlpV2beta1FieldId", + "description": "Sensitive field for computing the l-value." + }, + "quasiIds": { + "description": "Set of quasi-identifiers indicating how equivalence classes are\ndefined for the l-diversity computation. When multiple fields are\nspecified, they are considered a single composite key.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1FieldId" + } + } + }, + "id": "GooglePrivacyDlpV2beta1LDiversityConfig" + }, + "GooglePrivacyDlpV2beta1StorageConfig": { + "description": "Shared message indicating Cloud storage type.", + "type": "object", + "properties": { + "cloudStorageOptions": { + "$ref": "GooglePrivacyDlpV2beta1CloudStorageOptions", + "description": "Google Cloud Storage options specification." + }, + "datastoreOptions": { + "$ref": "GooglePrivacyDlpV2beta1DatastoreOptions", + "description": "Google Cloud Datastore options specification." + }, + "bigQueryOptions": { + "description": "BigQuery options specification.", + "$ref": "GooglePrivacyDlpV2beta1BigQueryOptions" + } + }, + "id": "GooglePrivacyDlpV2beta1StorageConfig" + }, + "GooglePrivacyDlpV2beta1BigQueryOptions": { + "description": "Options defining BigQuery table and row identifiers.", + "type": "object", + "properties": { + "identifyingFields": { + "description": "References to fields uniquely identifying rows within the table.\nNested fields in the format, like `person.birthdate.year`, are allowed.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1FieldId" + } + }, + "tableReference": { + "description": "Complete BigQuery table reference.", + "$ref": "GooglePrivacyDlpV2beta1BigQueryTable" + } + }, + "id": "GooglePrivacyDlpV2beta1BigQueryOptions" + }, + "GooglePrivacyDlpV2beta1OperationConfig": { + "description": "Additional configuration for inspect long running operations.", + "type": "object", + "properties": { + "maxItemFindings": { + "description": "Max number of findings per file, Datastore entity, or database row.", + "format": "int64", + "type": "string" + } + }, + "id": "GooglePrivacyDlpV2beta1OperationConfig" + }, + "GooglePrivacyDlpV2beta1PrivacyMetric": { + "description": "Privacy metric to compute for reidentification risk analysis.", + "type": "object", + "properties": { + "lDiversityConfig": { + "$ref": "GooglePrivacyDlpV2beta1LDiversityConfig" + }, + "numericalStatsConfig": { + "$ref": "GooglePrivacyDlpV2beta1NumericalStatsConfig" + }, + "kAnonymityConfig": { + "$ref": "GooglePrivacyDlpV2beta1KAnonymityConfig" + }, + "categoricalStatsConfig": { + "$ref": "GooglePrivacyDlpV2beta1CategoricalStatsConfig" + } + }, + "id": "GooglePrivacyDlpV2beta1PrivacyMetric" + }, + "GooglePrivacyDlpV2beta1ReplaceConfig": { + "type": "object", + "properties": { + "infoType": { + "description": "Type of information to replace. Only one ReplaceConfig per info_type\nshould be provided. If ReplaceConfig does not have an info_type, the DLP\nAPI matches it against all info_types that are found but not specified in\nanother ReplaceConfig.", + "$ref": "GooglePrivacyDlpV2beta1InfoType" + }, + "replaceWith": { + "description": "Content replacing sensitive information of given type. Max 256 chars.", + "type": "string" + } + }, + "id": "GooglePrivacyDlpV2beta1ReplaceConfig" + }, + "GooglePrivacyDlpV2beta1LDiversityEquivalenceClass": { + "description": "The set of columns' values that share the same l-diversity value.", + "type": "object", + "properties": { + "equivalenceClassSize": { + "description": "Size of the k-anonymity equivalence class.", + "format": "int64", + "type": "string" + }, + "quasiIdsValues": { + "description": "Quasi-identifier values defining the k-anonymity equivalence\nclass. The order is always the same as the original request.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1Value" + } + }, + "numDistinctSensitiveValues": { + "description": "Number of distinct sensitive values in this equivalence class.", + "format": "int64", + "type": "string" + }, + "topSensitiveValues": { + "description": "Estimated frequencies of top sensitive values.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1ValueFrequency" + } + } + }, + "id": "GooglePrivacyDlpV2beta1LDiversityEquivalenceClass" + }, + "GooglePrivacyDlpV2beta1NumericalStatsConfig": { + "description": "Compute numerical stats over an individual column, including\nmin, max, and quantiles.", + "type": "object", + "properties": { + "field": { + "description": "Field to compute numerical stats on. Supported types are\ninteger, float, date, datetime, timestamp, time.", + "$ref": "GooglePrivacyDlpV2beta1FieldId" + } + }, + "id": "GooglePrivacyDlpV2beta1NumericalStatsConfig" + }, + "GooglePrivacyDlpV2beta1TimePartConfig": { + "description": "For use with `Date`, `Timestamp`, and `TimeOfDay`, extract or preserve a\nportion of the value.", + "type": "object", + "properties": { + "partToExtract": { + "enumDescriptions": [ + "", + "[000-9999]", + "[1-12]", + "[1-31]", + "[1-7]", + "[1-52]", + "[0-24]" + ], + "enum": [ + "TIME_PART_UNSPECIFIED", + "YEAR", + "MONTH", + "DAY_OF_MONTH", + "DAY_OF_WEEK", + "WEEK_OF_YEAR", + "HOUR_OF_DAY" + ], + "type": "string" + } + }, + "id": "GooglePrivacyDlpV2beta1TimePartConfig" + }, + "GooglePrivacyDlpV2beta1RecordCondition": { + "description": "A condition for determing whether a transformation should be applied to\na field.", + "type": "object", + "properties": { + "expressions": { + "$ref": "GooglePrivacyDlpV2beta1Expressions" + } + }, + "id": "GooglePrivacyDlpV2beta1RecordCondition" + }, + "GooglePrivacyDlpV2beta1DeidentificationSummary": { + "description": "High level summary of deidentification.", + "type": "object", + "properties": { + "transformationSummaries": { + "description": "Transformations applied to the dataset.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1TransformationSummary" + } + }, + "transformedBytes": { + "description": "Total size in bytes that were transformed in some way.", + "format": "int64", + "type": "string" + } + }, + "id": "GooglePrivacyDlpV2beta1DeidentificationSummary" + }, + "GooglePrivacyDlpV2beta1ListInfoTypesResponse": { + "description": "Response to the ListInfoTypes request.", + "type": "object", + "properties": { + "infoTypes": { + "description": "Set of sensitive info types belonging to a category.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1InfoTypeDescription" + } + } + }, + "id": "GooglePrivacyDlpV2beta1ListInfoTypesResponse" + }, + "GooglePrivacyDlpV2beta1CloudStorageKey": { + "description": "Record key for a finding in a Cloud Storage file.", + "type": "object", + "properties": { + "filePath": { + "description": "Path to the file.", + "type": "string" + }, + "startOffset": { + "description": "Byte offset of the referenced data in the file.", + "format": "int64", + "type": "string" + } + }, + "id": "GooglePrivacyDlpV2beta1CloudStorageKey" + }, + "GooglePrivacyDlpV2beta1NumericalStatsResult": { + "description": "Result of the numerical stats computation.", + "type": "object", + "properties": { + "maxValue": { + "description": "Maximum value appearing in the column.", + "$ref": "GooglePrivacyDlpV2beta1Value" + }, + "quantileValues": { + "description": "List of 99 values that partition the set of field values into 100 equal\nsized buckets.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1Value" + } + }, + "minValue": { + "$ref": "GooglePrivacyDlpV2beta1Value", + "description": "Minimum value appearing in the column." + } + }, + "id": "GooglePrivacyDlpV2beta1NumericalStatsResult" + }, + "GooglePrivacyDlpV2beta1DatastoreOptions": { + "description": "Options defining a data set within Google Cloud Datastore.", + "type": "object", + "properties": { + "partitionId": { + "$ref": "GooglePrivacyDlpV2beta1PartitionId", + "description": "A partition ID identifies a grouping of entities. The grouping is always\nby project and namespace, however the namespace ID may be empty." + }, + "kind": { + "$ref": "GooglePrivacyDlpV2beta1KindExpression", + "description": "The kind to process." + }, + "projection": { + "description": "Properties to scan. If none are specified, all properties will be scanned\nby default.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1Projection" + } + } + }, + "id": "GooglePrivacyDlpV2beta1DatastoreOptions" + }, + "GooglePrivacyDlpV2beta1RecordTransformations": { + "description": "A type of transformation that is applied over structured data such as a\ntable.", + "type": "object", + "properties": { + "fieldTransformations": { + "description": "Transform the record by applying various field transformations.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1FieldTransformation" + } + }, + "recordSuppressions": { + "description": "Configuration defining which records get suppressed entirely. Records that\nmatch any suppression rule are omitted from the output [optional].", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1RecordSuppression" + } + } + }, + "id": "GooglePrivacyDlpV2beta1RecordTransformations" + }, + "GooglePrivacyDlpV2beta1InspectConfig": { + "description": "Configuration description of the scanning process.\nWhen used with redactContent only info_types and min_likelihood are currently\nused.", + "type": "object", + "properties": { + "excludeTypes": { + "description": "When true, excludes type information of the findings.", + "type": "boolean" + }, + "minLikelihood": { + "description": "Only returns findings equal or above this threshold.", + "type": "string", + "enumDescriptions": [ + "Default value; information with all likelihoods is included.", + "Few matching elements.", + "", + "Some matching elements.", + "", + "Many matching elements." + ], + "enum": [ + "LIKELIHOOD_UNSPECIFIED", + "VERY_UNLIKELY", + "UNLIKELY", + "POSSIBLE", + "LIKELY", + "VERY_LIKELY" + ] + }, + "infoTypeLimits": { + "description": "Configuration of findings limit given for specified info types.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1InfoTypeLimit" + } + }, + "maxFindings": { + "description": "Limits the number of findings per content item or long running operation.", + "format": "int32", + "type": "integer" + }, + "infoTypes": { + "description": "Restricts what info_types to look for. The values must correspond to\nInfoType values returned by ListInfoTypes or found in documentation.\nEmpty info_types runs all enabled detectors.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1InfoType" + } + }, + "includeQuote": { + "description": "When true, a contextual quote from the data that triggered a finding is\nincluded in the response; see Finding.quote.", + "type": "boolean" + } + }, + "id": "GooglePrivacyDlpV2beta1InspectConfig" + }, + "GooglePrivacyDlpV2beta1Projection": { + "description": "A representation of a Datastore property in a projection.", + "type": "object", + "properties": { + "property": { + "description": "The property to project.", + "$ref": "GooglePrivacyDlpV2beta1PropertyReference" + } + }, + "id": "GooglePrivacyDlpV2beta1Projection" + }, + "GooglePrivacyDlpV2beta1RedactConfig": { + "description": "Redact a given value. For example, if used with an `InfoTypeTransformation`\ntransforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the\noutput would be 'My phone number is '.", + "type": "object", + "properties": {}, + "id": "GooglePrivacyDlpV2beta1RedactConfig" + }, + "GooglePrivacyDlpV2beta1CryptoHashConfig": { + "description": "Pseudonymization method that generates surrogates via cryptographic hashing.\nUses SHA-256.\nOutputs a 32 byte digest as an uppercase hex string\n(for example, 41D1567F7F99F1DC2A5FAB886DEE5BEE).\nCurrently, only string and integer values can be hashed.", + "type": "object", + "properties": { + "cryptoKey": { + "description": "The key used by the hash function.", + "$ref": "GooglePrivacyDlpV2beta1CryptoKey" + } + }, + "id": "GooglePrivacyDlpV2beta1CryptoHashConfig" + }, + "GooglePrivacyDlpV2beta1Key": { + "description": "A unique identifier for a Datastore entity.\nIf a key's partition ID or any of its path kinds or names are\nreserved/read-only, the key is reserved/read-only.\nA reserved/read-only key is forbidden in certain documented contexts.", + "type": "object", + "properties": { + "partitionId": { + "description": "Entities are partitioned into subsets, currently identified by a project\nID and namespace ID.\nQueries are scoped to a single partition.", + "$ref": "GooglePrivacyDlpV2beta1PartitionId" + }, + "path": { + "description": "The entity path.\nAn entity path consists of one or more elements composed of a kind and a\nstring or numerical identifier, which identify entities. The first\nelement identifies a _root entity_, the second element identifies\na _child_ of the root entity, the third element identifies a child of the\nsecond entity, and so forth. The entities identified by all prefixes of\nthe path are called the element's _ancestors_.\n\nA path can never be empty, and a path can have at most 100 elements.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1PathElement" + } + } + }, + "id": "GooglePrivacyDlpV2beta1Key" + }, + "GooglePrivacyDlpV2beta1InspectContentRequest": { + "description": "Request to search for potentially sensitive info in a list of items.", + "type": "object", + "properties": { + "items": { + "description": "The list of items to inspect. Items in a single request are\nconsidered \"related\" unless inspect_config.independent_inputs is true.\nUp to 100 are allowed per request.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1ContentItem" + } + }, + "inspectConfig": { + "$ref": "GooglePrivacyDlpV2beta1InspectConfig", + "description": "Configuration for the inspector." + } + }, + "id": "GooglePrivacyDlpV2beta1InspectContentRequest" + }, + "GoogleTypeDate": { + "description": "Represents a whole calendar date, e.g. date of birth. The time of day and\ntime zone are either specified elsewhere or are not significant. The date\nis relative to the Proleptic Gregorian Calendar. The day may be 0 to\nrepresent a year and month where the day is not significant, e.g. credit card\nexpiration date. The year may be 0 to represent a month and day independent\nof year, e.g. anniversary date. Related types are google.type.TimeOfDay\nand `google.protobuf.Timestamp`.", + "type": "object", + "properties": { + "year": { + "description": "Year of date. Must be from 1 to 9999, or 0 if specifying a date without\na year.", + "format": "int32", + "type": "integer" + }, + "day": { + "description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0\nif specifying a year/month where the day is not significant.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Month of year. Must be from 1 to 12.", + "format": "int32", + "type": "integer" + } + }, + "id": "GoogleTypeDate" + }, + "GooglePrivacyDlpV2beta1ReplaceWithInfoTypeConfig": { + "description": "Replace each matching finding with the name of the info_type.", + "type": "object", + "properties": {}, + "id": "GooglePrivacyDlpV2beta1ReplaceWithInfoTypeConfig" + }, + "GooglePrivacyDlpV2beta1ImageRedactionConfig": { + "description": "Configuration for determing how redaction of images should occur.", + "type": "object", + "properties": { + "redactionColor": { + "description": "The color to use when redacting content from an image. If not specified,\nthe default is black.", + "$ref": "GooglePrivacyDlpV2beta1Color" + }, + "redactAllText": { + "description": "If true, all text found in the image, regardless whether it matches an\ninfo_type, is redacted.", + "type": "boolean" + }, + "infoType": { + "description": "Only one per info_type should be provided per request. If not\nspecified, and redact_all_text is false, the DLP API will redact all\ntext that it matches against all info_types that are found, but not\nspecified in another ImageRedactionConfig.", + "$ref": "GooglePrivacyDlpV2beta1InfoType" + } + }, + "id": "GooglePrivacyDlpV2beta1ImageRedactionConfig" + }, + "GooglePrivacyDlpV2beta1Location": { + "description": "Specifies the location of a finding within its source item.", + "type": "object", + "properties": { + "tableLocation": { + "$ref": "GooglePrivacyDlpV2beta1TableLocation", + "description": "Location within a `ContentItem.Table`." + }, + "codepointRange": { + "$ref": "GooglePrivacyDlpV2beta1Range", + "description": "Character offsets within a content item, included when content type\nis a text. Default charset assumed to be UTF-8." + }, + "fieldId": { + "description": "Field id of the field containing the finding.", + "$ref": "GooglePrivacyDlpV2beta1FieldId" + }, + "imageBoxes": { + "description": "Location within an image's pixels.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1ImageLocation" + } + }, + "byteRange": { + "$ref": "GooglePrivacyDlpV2beta1Range", + "description": "Zero-based byte offsets within a content item." + }, + "recordKey": { + "$ref": "GooglePrivacyDlpV2beta1RecordKey", + "description": "Key of the finding." + } + }, + "id": "GooglePrivacyDlpV2beta1Location" + }, + "GooglePrivacyDlpV2beta1RecordSuppression": { + "description": "Configuration to suppress records whose suppression conditions evaluate to\ntrue.", + "type": "object", + "properties": { + "condition": { + "$ref": "GooglePrivacyDlpV2beta1RecordCondition" + } + }, + "id": "GooglePrivacyDlpV2beta1RecordSuppression" + }, + "GooglePrivacyDlpV2beta1InfoTypeDescription": { + "description": "Description of the information type (infoType).", + "type": "object", + "properties": { + "categories": { + "description": "List of categories this infoType belongs to.", + "type": "array", + "items": { + "$ref": "GooglePrivacyDlpV2beta1CategoryDescription" + } + }, + "name": { + "description": "Internal name of the infoType.", + "type": "string" + }, + "displayName": { + "description": "Human readable form of the infoType name.", + "type": "string" + } + }, + "id": "GooglePrivacyDlpV2beta1InfoTypeDescription" + }, + "GooglePrivacyDlpV2beta1EntityId": { + "description": "An entity in a dataset is a field or set of fields that correspond to a\nsingle person. For example, in medical records the `EntityId` might be\na patient identifier, or for financial records it might be an account\nidentifier. This message is used when generalizations or analysis must be\nconsistent across multiple rows pertaining to the same entity.", + "type": "object", + "properties": { + "field": { + "description": "Composite key indicating which field contains the entity identifier.", + "$ref": "GooglePrivacyDlpV2beta1FieldId" + } + }, + "id": "GooglePrivacyDlpV2beta1EntityId" + }, + "GooglePrivacyDlpV2beta1UnwrappedCryptoKey": { + "description": "Using raw keys is prone to security risks due to accidentally\nleaking the key. Choose another type of key if possible.", + "type": "object", + "properties": { + "key": { + "description": "The AES 128/192/256 bit key. [required]", + "format": "byte", + "type": "string" + } + }, + "id": "GooglePrivacyDlpV2beta1UnwrappedCryptoKey" + }, + "GoogleRpcStatus": { + "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", + "type": "object", + "properties": { + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + } + } + }, + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "id": "GoogleRpcStatus" } }, "icons": { - "x32": "http://www.google.com/images/icons/product/search-32.gif", - "x16": "http://www.google.com/images/icons/product/search-16.gif" + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "protocol": "rest", "canonicalName": "DLP", @@ -854,6 +2039,7 @@ "findings": { "methods": { "list": { + "description": "Returns list of results for given inspect operation result set id.", "response": { "$ref": "GooglePrivacyDlpV2beta1ListInspectFindingsResponse" }, @@ -865,34 +2051,33 @@ "https://www.googleapis.com/auth/cloud-platform" ], "parameters": { + "filter": { + "location": "query", + "description": "Restricts findings to items that match. Supports info_type and likelihood.\n\nExamples:\n\n- info_type=EMAIL_ADDRESS\n- info_type=PHONE_NUMBER,EMAIL_ADDRESS\n- likelihood=VERY_LIKELY\n- likelihood=VERY_LIKELY,LIKELY\n- info_type=EMAIL_ADDRESS,likelihood=VERY_LIKELY,LIKELY", + "type": "string" + }, + "name": { + "location": "path", + "description": "Identifier of the results set returned as metadata of\nthe longrunning operation created by a call to InspectDataSource.\nShould be in the format of `inspect/results/{id}`.", + "required": true, + "type": "string", + "pattern": "^inspect/results/[^/]+$" + }, "pageToken": { "description": "The value returned by the last `ListInspectFindingsResponse`; indicates\nthat this is a continuation of a prior `ListInspectFindings` call, and that\nthe system should return the next page of data.", "type": "string", "location": "query" }, - "name": { - "pattern": "^inspect/results/[^/]+$", - "location": "path", - "description": "Identifier of the results set returned as metadata of\nthe longrunning operation created by a call to CreateInspectOperation.\nShould be in the format of `inspect/results/{id}.", - "type": "string", - "required": true - }, "pageSize": { - "format": "int32", "description": "Maximum number of results to return.\nIf 0, the implementation selects a reasonable value.", + "format": "int32", "type": "integer", "location": "query" - }, - "filter": { - "description": "Restricts findings to items that match. Supports info_type and likelihood.\n\u003cp\u003eExamples:\u003cbr/\u003e\n\u003cli\u003einfo_type=EMAIL_ADDRESS\n\u003cli\u003einfo_type=PHONE_NUMBER,EMAIL_ADDRESS\n\u003cli\u003elikelihood=VERY_LIKELY\n\u003cli\u003elikelihood=VERY_LIKELY,LIKELY\n\u003cli\u003einfo_type=EMAIL_ADDRESS,likelihood=VERY_LIKELY,LIKELY", - "type": "string", - "location": "query" } }, "flatPath": "v2beta1/inspect/results/{resultsId}/findings", - "id": "dlp.inspect.results.findings.list", "path": "v2beta1/{+name}/findings", - "description": "Returns list of results for given inspect operation result set id." + "id": "dlp.inspect.results.findings.list" } } } @@ -900,32 +2085,11 @@ }, "operations": { "methods": { - "get": { - "path": "v2beta1/{+name}", - "id": "dlp.inspect.operations.get", - "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", - "httpMethod": "GET", - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the operation resource.", - "type": "string", - "required": true, - "pattern": "^inspect/operations/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v2beta1/inspect/operations/{operationsId}" - }, "list": { + "flatPath": "v2beta1/inspect/operations", + "path": "v2beta1/{+name}", + "id": "dlp.inspect.operations.list", + "description": "Fetches the list of long running operations.", "response": { "$ref": "GoogleLongrunningListOperationsResponse" }, @@ -933,62 +2097,86 @@ "name" ], "httpMethod": "GET", + "parameters": { + "pageSize": { + "location": "query", + "description": "The list page size. The maximum allowed value is 256 and the default is 100.", + "format": "int32", + "type": "integer" + }, + "filter": { + "location": "query", + "description": "Filters by `done`. That is, `done=true` or `done=false`.", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "required": true, + "type": "string", + "pattern": "^inspect/operations$", + "location": "path" + }, + "pageToken": { + "location": "query", + "description": "The standard list page token.", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "flatPath": "v2beta1/inspect/operations/{operationsId}", + "path": "v2beta1/{+name}", + "id": "dlp.inspect.operations.get", + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], "parameters": { - "filter": { - "description": "This parameter supports filtering by done, ie done=true or done=false.", - "type": "string", - "location": "query" - }, - "pageToken": { - "description": "The standard list page token.", - "type": "string", - "location": "query" - }, "name": { - "description": "The name of the operation's parent resource.", - "type": "string", + "description": "The name of the operation resource.", "required": true, - "pattern": "^inspect/operations$", + "type": "string", + "pattern": "^inspect/operations/[^/]+$", "location": "path" - }, - "pageSize": { - "format": "int32", - "description": "The list page size. The max allowed value is 256 and default is 100.", - "type": "integer", - "location": "query" } - }, - "flatPath": "v2beta1/inspect/operations", - "id": "dlp.inspect.operations.list", - "path": "v2beta1/{+name}", - "description": "Fetch the list of long running operations." + } }, "create": { - "description": "Schedules a job scanning content in a Google Cloud Platform data\nrepository.", - "request": { - "$ref": "GooglePrivacyDlpV2beta1CreateInspectOperationRequest" - }, "response": { "$ref": "GoogleLongrunningOperation" }, "parameterOrder": [], "httpMethod": "POST", - "parameters": {}, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], + "parameters": {}, "flatPath": "v2beta1/inspect/operations", + "path": "v2beta1/inspect/operations", "id": "dlp.inspect.operations.create", - "path": "v2beta1/inspect/operations" + "description": "Schedules a job scanning content in a Google Cloud Platform data\nrepository.", + "request": { + "$ref": "GooglePrivacyDlpV2beta1CreateInspectOperationRequest" + } }, "cancel": { + "flatPath": "v2beta1/inspect/operations/{operationsId}:cancel", + "path": "v2beta1/{+name}:cancel", + "id": "dlp.inspect.operations.cancel", + "description": "Cancels an operation. Use the `inspect.operations.get` to check whether the cancellation succeeded or the operation completed despite cancellation.", "request": { "$ref": "GoogleLongrunningCancelOperationRequest" }, - "description": "Cancels an operation. Use the get method to check whether the cancellation succeeded or whether the operation completed despite cancellation.", "response": { "$ref": "GoogleProtobufEmpty" }, @@ -1001,18 +2189,18 @@ ], "parameters": { "name": { + "location": "path", "description": "The name of the operation resource to be cancelled.", - "type": "string", "required": true, - "pattern": "^inspect/operations/[^/]+$", - "location": "path" + "type": "string", + "pattern": "^inspect/operations/[^/]+$" } - }, - "flatPath": "v2beta1/inspect/operations/{operationsId}:cancel", - "id": "dlp.inspect.operations.cancel", - "path": "v2beta1/{+name}:cancel" + } }, "delete": { + "flatPath": "v2beta1/inspect/operations/{operationsId}", + "path": "v2beta1/{+name}", + "id": "dlp.inspect.operations.delete", "description": "This method is not supported and the server returns `UNIMPLEMENTED`.", "response": { "$ref": "GoogleProtobufEmpty" @@ -1026,24 +2214,82 @@ ], "parameters": { "name": { - "location": "path", "description": "The name of the operation resource to be deleted.", - "type": "string", "required": true, - "pattern": "^inspect/operations/[^/]+$" + "type": "string", + "pattern": "^inspect/operations/[^/]+$", + "location": "path" } - }, - "flatPath": "v2beta1/inspect/operations/{operationsId}", - "id": "dlp.inspect.operations.delete", - "path": "v2beta1/{+name}" + } } } } } }, + "content": { + "methods": { + "inspect": { + "request": { + "$ref": "GooglePrivacyDlpV2beta1InspectContentRequest" + }, + "description": "Finds potentially sensitive info in a list of strings.\nThis method has limits on input size, processing time, and output size.", + "response": { + "$ref": "GooglePrivacyDlpV2beta1InspectContentResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v2beta1/content:inspect", + "path": "v2beta1/content:inspect", + "id": "dlp.content.inspect" + }, + "redact": { + "request": { + "$ref": "GooglePrivacyDlpV2beta1RedactContentRequest" + }, + "description": "Redacts potentially sensitive info from a list of strings.\nThis method has limits on input size, processing time, and output size.", + "response": { + "$ref": "GooglePrivacyDlpV2beta1RedactContentResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v2beta1/content:redact", + "path": "v2beta1/content:redact", + "id": "dlp.content.redact" + }, + "deidentify": { + "request": { + "$ref": "GooglePrivacyDlpV2beta1DeidentifyContentRequest" + }, + "description": "De-identifies potentially sensitive info from a list of strings.\nThis method has limits on input size and output size.", + "response": { + "$ref": "GooglePrivacyDlpV2beta1DeidentifyContentResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v2beta1/content:deidentify", + "path": "v2beta1/content:deidentify", + "id": "dlp.content.deidentify" + } + } + }, "rootCategories": { "methods": { "list": { + "flatPath": "v2beta1/rootCategories", + "path": "v2beta1/rootCategories", + "id": "dlp.rootCategories.list", "description": "Returns the list of root categories of sensitive information.", "response": { "$ref": "GooglePrivacyDlpV2beta1ListRootCategoriesResponse" @@ -1055,115 +2301,206 @@ ], "parameters": { "languageCode": { + "location": "query", "description": "Optional language code for localized friendly category names.\nIf omitted or if localized strings are not available,\nen-US strings will be returned.", - "type": "string", - "location": "query" + "type": "string" } - }, - "flatPath": "v2beta1/rootCategories", - "id": "dlp.rootCategories.list", - "path": "v2beta1/rootCategories" + } } }, "resources": { "infoTypes": { "methods": { "list": { - "httpMethod": "GET", - "parameterOrder": [ - "category" - ], + "flatPath": "v2beta1/rootCategories/{rootCategoriesId}/infoTypes", + "path": "v2beta1/rootCategories/{+category}/infoTypes", + "id": "dlp.rootCategories.infoTypes.list", + "description": "Returns sensitive information types for given category.", "response": { "$ref": "GooglePrivacyDlpV2beta1ListInfoTypesResponse" }, + "parameterOrder": [ + "category" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { + "category": { + "description": "Category name as returned by ListRootCategories.", + "required": true, + "type": "string", + "pattern": "^[^/]+$", + "location": "path" + }, "languageCode": { "location": "query", "description": "Optional BCP-47 language code for localized info type friendly\nnames. If omitted, or if localized strings are not available,\nen-US strings will be returned.", "type": "string" - }, - "category": { - "description": "Category name as returned by ListRootCategories.", - "type": "string", - "required": true, - "pattern": "^[^/]+$", - "location": "path" } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v2beta1/rootCategories/{rootCategoriesId}/infoTypes", - "path": "v2beta1/rootCategories/{+category}/infoTypes", - "id": "dlp.rootCategories.infoTypes.list", - "description": "Returns sensitive information types for given category." + } } } } } }, - "content": { + "riskAnalysis": { + "resources": { + "operations": { + "methods": { + "cancel": { + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "parameters": { + "name": { + "location": "path", + "description": "The name of the operation resource to be cancelled.", + "required": true, + "type": "string", + "pattern": "^riskAnalysis/operations/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v2beta1/riskAnalysis/operations/{operationsId}:cancel", + "id": "dlp.riskAnalysis.operations.cancel", + "path": "v2beta1/{+name}:cancel", + "request": { + "$ref": "GoogleLongrunningCancelOperationRequest" + }, + "description": "Cancels an operation. Use the `inspect.operations.get` to check whether the cancellation succeeded or the operation completed despite cancellation." + }, + "delete": { + "description": "This method is not supported and the server returns `UNIMPLEMENTED`.", + "httpMethod": "DELETE", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "location": "path", + "description": "The name of the operation resource to be deleted.", + "required": true, + "type": "string", + "pattern": "^riskAnalysis/operations/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v2beta1/riskAnalysis/operations/{operationsId}", + "id": "dlp.riskAnalysis.operations.delete", + "path": "v2beta1/{+name}" + }, + "list": { + "flatPath": "v2beta1/riskAnalysis/operations", + "path": "v2beta1/{+name}", + "id": "dlp.riskAnalysis.operations.list", + "description": "Fetches the list of long running operations.", + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "filter": { + "description": "Filters by `done`. That is, `done=true` or `done=false`.", + "type": "string", + "location": "query" + }, + "name": { + "description": "The name of the operation's parent resource.", + "required": true, + "type": "string", + "pattern": "^riskAnalysis/operations$", + "location": "path" + }, + "pageToken": { + "location": "query", + "description": "The standard list page token.", + "type": "string" + }, + "pageSize": { + "description": "The list page size. The maximum allowed value is 256 and the default is 100.", + "format": "int32", + "type": "integer", + "location": "query" + } + } + }, + "get": { + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "required": true, + "type": "string", + "pattern": "^riskAnalysis/operations/[^/]+$", + "location": "path" + } + }, + "flatPath": "v2beta1/riskAnalysis/operations/{operationsId}", + "path": "v2beta1/{+name}", + "id": "dlp.riskAnalysis.operations.get", + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice." + } + } + } + } + }, + "dataSource": { "methods": { - "inspect": { - "id": "dlp.content.inspect", - "path": "v2beta1/content:inspect", - "description": "Finds potentially sensitive info in a list of strings.\nThis method has limits on input size, processing time, and output size.", + "analyze": { + "description": "Schedules a job to compute risk analysis metrics over content in a Google\nCloud Platform repository.", "request": { - "$ref": "GooglePrivacyDlpV2beta1InspectContentRequest" + "$ref": "GooglePrivacyDlpV2beta1AnalyzeDataSourceRiskRequest" }, "response": { - "$ref": "GooglePrivacyDlpV2beta1InspectContentResponse" + "$ref": "GoogleLongrunningOperation" }, "parameterOrder": [], "httpMethod": "POST", - "parameters": {}, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "flatPath": "v2beta1/content:inspect" - }, - "redact": { - "description": "Redacts potentially sensitive info from a list of strings.\nThis method has limits on input size, processing time, and output size.", - "request": { - "$ref": "GooglePrivacyDlpV2beta1RedactContentRequest" - }, - "response": { - "$ref": "GooglePrivacyDlpV2beta1RedactContentResponse" - }, - "parameterOrder": [], - "httpMethod": "POST", "parameters": {}, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v2beta1/content:redact", - "id": "dlp.content.redact", - "path": "v2beta1/content:redact" + "flatPath": "v2beta1/dataSource:analyze", + "path": "v2beta1/dataSource:analyze", + "id": "dlp.dataSource.analyze" } } } }, "parameters": { - "access_token": { - "description": "OAuth access token.", - "type": "string", - "location": "query" - }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, - "quotaUser": { - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string", - "location": "query" - }, "pp": { "location": "query", "description": "Pretty-print response.", - "default": "true", - "type": "boolean" + "type": "boolean", + "default": "true" }, "oauth_token": { "location": "query", @@ -1171,48 +2508,48 @@ "type": "string" }, "bearer_token": { - "location": "query", "description": "OAuth bearer token.", - "type": "string" + "type": "string", + "location": "query" }, "upload_protocol": { - "location": "query", "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string" + "type": "string", + "location": "query" }, "prettyPrint": { + "location": "query", "description": "Returns response with indentations and line breaks.", - "default": "true", "type": "boolean", - "location": "query" + "default": "true" + }, + "fields": { + "location": "query", + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" }, "uploadType": { "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", "type": "string", "location": "query" }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "type": "string", - "location": "query" - }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, "$.xgafv": { - "enum": [ - "1", - "2" - ], "description": "V1 error format.", "type": "string", "enumDescriptions": [ "v1 error format", "v2 error format" ], - "location": "query" + "location": "query", + "enum": [ + "1", + "2" + ] + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" }, "alt": { "description": "Data format for response.", @@ -1229,15 +2566,31 @@ "Responses with Content-Type of application/x-protobuf" ], "location": "query" + }, + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" } }, "version": "v2beta1", "baseUrl": "https://dlp.googleapis.com/", "servicePath": "", - "kind": "discovery#restDescription", "description": "The Google Data Loss Prevention API provides methods for detection of privacy-sensitive fragments in text, images, and Google Cloud Platform storage repositories.", + "kind": "discovery#restDescription", "basePath": "", - "revision": "20170627", + "id": "dlp:v2beta1", "documentationLink": "https://cloud.google.com/dlp/docs/", - "id": "dlp:v2beta1" + "revision": "20170928", + "discoveryVersion": "v1" } diff --git a/vendor/google.golang.org/api/dlp/v2beta1/dlp-gen.go b/vendor/google.golang.org/api/dlp/v2beta1/dlp-gen.go index f74ff0b20..05891a57c 100644 --- a/vendor/google.golang.org/api/dlp/v2beta1/dlp-gen.go +++ b/vendor/google.golang.org/api/dlp/v2beta1/dlp-gen.go @@ -57,7 +57,9 @@ func New(client *http.Client) (*Service, error) { } s := &Service{client: client, BasePath: basePath} s.Content = NewContentService(s) + s.DataSource = NewDataSourceService(s) s.Inspect = NewInspectService(s) + s.RiskAnalysis = NewRiskAnalysisService(s) s.RootCategories = NewRootCategoriesService(s) return s, nil } @@ -69,8 +71,12 @@ type Service struct { Content *ContentService + DataSource *DataSourceService + Inspect *InspectService + RiskAnalysis *RiskAnalysisService + RootCategories *RootCategoriesService } @@ -90,6 +96,15 @@ type ContentService struct { s *Service } +func NewDataSourceService(s *Service) *DataSourceService { + rs := &DataSourceService{s: s} + return rs +} + +type DataSourceService struct { + s *Service +} + func NewInspectService(s *Service) *InspectService { rs := &InspectService{s: s} rs.Operations = NewInspectOperationsService(s) @@ -135,6 +150,27 @@ type InspectResultsFindingsService struct { s *Service } +func NewRiskAnalysisService(s *Service) *RiskAnalysisService { + rs := &RiskAnalysisService{s: s} + rs.Operations = NewRiskAnalysisOperationsService(s) + return rs +} + +type RiskAnalysisService struct { + s *Service + + Operations *RiskAnalysisOperationsService +} + +func NewRiskAnalysisOperationsService(s *Service) *RiskAnalysisOperationsService { + rs := &RiskAnalysisOperationsService{s: s} + return rs +} + +type RiskAnalysisOperationsService struct { + s *Service +} + func NewRootCategoriesService(s *Service) *RootCategoriesService { rs := &RootCategoriesService{s: s} rs.InfoTypes = NewRootCategoriesInfoTypesService(s) @@ -204,8 +240,8 @@ func (s *GoogleLongrunningListOperationsResponse) MarshalJSON() ([]byte, error) type GoogleLongrunningOperation struct { // Done: If the value is `false`, it means the operation is still in // progress. - // If true, the operation is completed, and either `error` or `response` - // is + // If `true`, the operation is completed, and either `error` or + // `response` is // available. Done bool `json:"done,omitempty"` @@ -213,15 +249,19 @@ type GoogleLongrunningOperation struct { // cancellation. Error *GoogleRpcStatus `json:"error,omitempty"` - // Metadata: This field will contain an InspectOperationMetadata object. - // This will always be returned with the Operation. + // Metadata: This field will contain an InspectOperationMetadata object + // for `inspect.operations.create` or a RiskAnalysisOperationMetadata + // object for `dataSource.analyze`. This will always be returned with + // the Operation. Metadata googleapi.RawMessage `json:"metadata,omitempty"` - // Name: The server-assigned name, The `name` should have the format of + // Name: The server-assigned name. The `name` should have the format of // `inspect/operations/`. Name string `json:"name,omitempty"` - // Response: This field will contain an InspectOperationResult object. + // Response: This field will contain an InspectOperationResult object + // for `inspect.operations.create` or a RiskAnalysisOperationResult + // object for `dataSource.analyze`. Response googleapi.RawMessage `json:"response,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -251,6 +291,306 @@ func (s *GoogleLongrunningOperation) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GooglePrivacyDlpV2beta1AnalyzeDataSourceRiskRequest: Request for +// creating a risk analysis operation. +type GooglePrivacyDlpV2beta1AnalyzeDataSourceRiskRequest struct { + // PrivacyMetric: Privacy metric to compute. + PrivacyMetric *GooglePrivacyDlpV2beta1PrivacyMetric `json:"privacyMetric,omitempty"` + + // SourceTable: Input dataset to compute metrics over. + SourceTable *GooglePrivacyDlpV2beta1BigQueryTable `json:"sourceTable,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PrivacyMetric") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "PrivacyMetric") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1AnalyzeDataSourceRiskRequest) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1AnalyzeDataSourceRiskRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1BigQueryOptions: Options defining BigQuery +// table and row identifiers. +type GooglePrivacyDlpV2beta1BigQueryOptions struct { + // IdentifyingFields: References to fields uniquely identifying rows + // within the table. + // Nested fields in the format, like `person.birthdate.year`, are + // allowed. + IdentifyingFields []*GooglePrivacyDlpV2beta1FieldId `json:"identifyingFields,omitempty"` + + // TableReference: Complete BigQuery table reference. + TableReference *GooglePrivacyDlpV2beta1BigQueryTable `json:"tableReference,omitempty"` + + // ForceSendFields is a list of field names (e.g. "IdentifyingFields") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "IdentifyingFields") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1BigQueryOptions) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1BigQueryOptions + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1BigQueryTable: Message defining the location +// of a BigQuery table. A table is uniquely +// identified by its project_id, dataset_id, and table_name. Within a +// query +// a table is often referenced with a string in the format +// of: +// `:.` +// or +// `..`. +type GooglePrivacyDlpV2beta1BigQueryTable struct { + // DatasetId: Dataset ID of the table. + DatasetId string `json:"datasetId,omitempty"` + + // ProjectId: The Google Cloud Platform project ID of the project + // containing the table. + // If omitted, project ID is inferred from the API call. + ProjectId string `json:"projectId,omitempty"` + + // TableId: Name of the table. + TableId string `json:"tableId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DatasetId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DatasetId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1BigQueryTable) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1BigQueryTable + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1Bucket: Buckets represented as ranges, along +// with replacement values. Ranges must +// be non-overlapping. +type GooglePrivacyDlpV2beta1Bucket struct { + // Max: Upper bound of the range, exclusive; type must match min. + Max *GooglePrivacyDlpV2beta1Value `json:"max,omitempty"` + + // Min: Lower bound of the range, inclusive. Type should be the same as + // max if + // used. + Min *GooglePrivacyDlpV2beta1Value `json:"min,omitempty"` + + // ReplacementValue: Replacement value for this bucket. If not + // provided + // the default behavior will be to hyphenate the min-max range. + ReplacementValue *GooglePrivacyDlpV2beta1Value `json:"replacementValue,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Max") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Max") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1Bucket) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1Bucket + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1BucketingConfig: Generalization function that +// buckets values based on ranges. The ranges and +// replacement values are dynamically provided by the user for custom +// behavior, +// such as 1-30 -> LOW 31-65 -> MEDIUM 66-100 -> HIGH +// This can be used on +// data of type: number, long, string, timestamp. +// If the bound `Value` type differs from the type of data being +// transformed, we +// will first attempt converting the type of the data to be transformed +// to match +// the type of the bound before comparing. +type GooglePrivacyDlpV2beta1BucketingConfig struct { + Buckets []*GooglePrivacyDlpV2beta1Bucket `json:"buckets,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Buckets") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Buckets") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1BucketingConfig) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1BucketingConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1CategoricalStatsConfig: Compute numerical +// stats over an individual column, including +// number of distinct values and value count distribution. +type GooglePrivacyDlpV2beta1CategoricalStatsConfig struct { + // Field: Field to compute categorical stats on. All column types + // are + // supported except for arrays and structs. However, it may be + // more + // informative to use NumericalStats when the field type is + // supported, + // depending on the data. + Field *GooglePrivacyDlpV2beta1FieldId `json:"field,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Field") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Field") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1CategoricalStatsConfig) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1CategoricalStatsConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1CategoricalStatsHistogramBucket: Histogram +// bucket of value frequencies in the column. +type GooglePrivacyDlpV2beta1CategoricalStatsHistogramBucket struct { + // BucketSize: Total number of records in this bucket. + BucketSize int64 `json:"bucketSize,omitempty,string"` + + // BucketValues: Sample of value frequencies in this bucket. The total + // number of + // values returned per bucket is capped at 20. + BucketValues []*GooglePrivacyDlpV2beta1ValueFrequency `json:"bucketValues,omitempty"` + + // ValueFrequencyLowerBound: Lower bound on the value frequency of the + // values in this bucket. + ValueFrequencyLowerBound int64 `json:"valueFrequencyLowerBound,omitempty,string"` + + // ValueFrequencyUpperBound: Upper bound on the value frequency of the + // values in this bucket. + ValueFrequencyUpperBound int64 `json:"valueFrequencyUpperBound,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "BucketSize") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BucketSize") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1CategoricalStatsHistogramBucket) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1CategoricalStatsHistogramBucket + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1CategoricalStatsResult: Result of the +// categorical stats computation. +type GooglePrivacyDlpV2beta1CategoricalStatsResult struct { + // ValueFrequencyHistogramBuckets: Histogram of value frequencies in the + // column. + ValueFrequencyHistogramBuckets []*GooglePrivacyDlpV2beta1CategoricalStatsHistogramBucket `json:"valueFrequencyHistogramBuckets,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "ValueFrequencyHistogramBuckets") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. + // "ValueFrequencyHistogramBuckets") to include in API requests with the + // JSON null value. By default, fields with empty values are omitted + // from API requests. However, any field with an empty value appearing + // in NullFields will be sent to the server as null. It is an error if a + // field in this list has a non-empty value. This may be used to include + // null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1CategoricalStatsResult) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1CategoricalStatsResult + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GooglePrivacyDlpV2beta1CategoryDescription: Info Type Category // description. type GooglePrivacyDlpV2beta1CategoryDescription struct { @@ -283,6 +623,113 @@ func (s *GooglePrivacyDlpV2beta1CategoryDescription) MarshalJSON() ([]byte, erro return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GooglePrivacyDlpV2beta1CharacterMaskConfig: Partially mask a string +// by replacing a given number of characters with a +// fixed character. Masking can start from the beginning or end of the +// string. +// This can be used on data of any type (numbers, longs, and so on) and +// when +// de-identifying structured data we'll attempt to preserve the original +// data's +// type. (This allows you to take a long like 123 and modify it to a +// string like +// **3. +type GooglePrivacyDlpV2beta1CharacterMaskConfig struct { + // CharactersToIgnore: When masking a string, items in this list will be + // skipped when replacing. + // For example, if your string is 555-555-5555 and you ask us to skip + // `-` and + // mask 5 chars with * we would produce ***-*55-5555. + CharactersToIgnore []*GooglePrivacyDlpV2beta1CharsToIgnore `json:"charactersToIgnore,omitempty"` + + // MaskingCharacter: Character to mask the sensitive values—for + // example, "*" for an + // alphabetic string such as name, or "0" for a numeric string such as + // ZIP + // code or credit card number. String must have length 1. If not + // supplied, we + // will default to "*" for strings, 0 for digits. + MaskingCharacter string `json:"maskingCharacter,omitempty"` + + // NumberToMask: Number of characters to mask. If not set, all matching + // chars will be + // masked. Skipped characters do not count towards this tally. + NumberToMask int64 `json:"numberToMask,omitempty"` + + // ReverseOrder: Mask characters in reverse order. For example, if + // `masking_character` is + // '0', number_to_mask is 14, and `reverse_order` is false, + // then + // 1234-5678-9012-3456 -> 00000000000000-3456 + // If `masking_character` is '*', `number_to_mask` is 3, and + // `reverse_order` + // is true, then 12345 -> 12*** + ReverseOrder bool `json:"reverseOrder,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CharactersToIgnore") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CharactersToIgnore") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1CharacterMaskConfig) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1CharacterMaskConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1CharsToIgnore: Characters to skip when doing +// deidentification of a value. These will be left +// alone and skipped. +type GooglePrivacyDlpV2beta1CharsToIgnore struct { + CharactersToSkip string `json:"charactersToSkip,omitempty"` + + // Possible values: + // "CHARACTER_GROUP_UNSPECIFIED" + // "NUMERIC" - 0-9 + // "ALPHA_UPPER_CASE" - A-Z + // "ALPHA_LOWER_CASE" - a-z + // "PUNCTUATION" - US Punctuation, one of + // !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ + // "WHITESPACE" - Whitespace character, one of [ \t\n\x0B\f\r] + CommonCharactersToIgnore string `json:"commonCharactersToIgnore,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CharactersToSkip") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CharactersToSkip") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1CharsToIgnore) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1CharsToIgnore + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GooglePrivacyDlpV2beta1CloudStorageKey: Record key for a finding in a // Cloud Storage file. type GooglePrivacyDlpV2beta1CloudStorageKey struct { @@ -428,12 +875,111 @@ func (s *GooglePrivacyDlpV2beta1Color) UnmarshalJSON(data []byte) error { return nil } +// GooglePrivacyDlpV2beta1Condition: The field type of `value` and +// `field` do not need to match to be +// considered equal, but not all comparisons are possible. +// +// A `value` of type: +// +// - `string` can be compared against all other types +// - `boolean` can only be compared against other booleans +// - `integer` can be compared against doubles or a string if the string +// value +// can be parsed as an integer. +// - `double` can be compared against integers or a string if the string +// can +// be parsed as a double. +// - `Timestamp` can be compared against strings in RFC 3339 date +// string +// format. +// - `TimeOfDay` can be compared against timestamps and strings in the +// format +// of 'HH:mm:ss'. +// +// If we fail to compare do to type mismatch, a warning will be given +// and +// the condition will evaluate to false. +type GooglePrivacyDlpV2beta1Condition struct { + // Field: Field within the record this condition is evaluated against. + // [required] + Field *GooglePrivacyDlpV2beta1FieldId `json:"field,omitempty"` + + // Operator: Operator used to compare the field or info type to the + // value. [required] + // + // Possible values: + // "RELATIONAL_OPERATOR_UNSPECIFIED" + // "EQUAL_TO" - Equal. + // "NOT_EQUAL_TO" - Not equal to. + // "GREATER_THAN" - Greater than. + // "LESS_THAN" - Less than. + // "GREATER_THAN_OR_EQUALS" - Greater than or equals. + // "LESS_THAN_OR_EQUALS" - Less than or equals. + // "EXISTS" - Exists + Operator string `json:"operator,omitempty"` + + // Value: Value to compare against. [Required, except for `EXISTS` + // tests.] + Value *GooglePrivacyDlpV2beta1Value `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Field") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Field") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1Condition) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1Condition + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type GooglePrivacyDlpV2beta1Conditions struct { + Conditions []*GooglePrivacyDlpV2beta1Condition `json:"conditions,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Conditions") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Conditions") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1Conditions) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1Conditions + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GooglePrivacyDlpV2beta1ContentItem: Container structure for the // content to inspect. type GooglePrivacyDlpV2beta1ContentItem struct { // Data: Content data to inspect or redact. Data string `json:"data,omitempty"` + // Table: Structured content for inspection. + Table *GooglePrivacyDlpV2beta1Table `json:"table,omitempty"` + // Type: Type of the content, as defined in Content-Type HTTP // header. // Supported types are: all "text" types, octet streams, PNG @@ -475,31 +1021,11 @@ type GooglePrivacyDlpV2beta1CreateInspectOperationRequest struct { // InspectConfig: Configuration for the inspector. InspectConfig *GooglePrivacyDlpV2beta1InspectConfig `json:"inspectConfig,omitempty"` - // OutputConfig: Optional location to store findings. The bucket must - // already exist and - // the Google APIs service account for DLP must have write permission - // to - // write to the given bucket. - //

    Results are split over multiple csv files with each file name - // matching - // the pattern "[operation_id]_[count].csv", for - // example - // `3094877188788974909_1.csv`. The `operation_id` matches - // the - // identifier for the Operation, and the `count` is a counter used - // for - // tracking the number of files written.

    The CSV file(s) contain - // the - // following columns regardless of storage type scanned:

  • id - //
  • info_type - //
  • likelihood
  • byte size of finding
  • quote - //
  • time_stamp
    - //

    For Cloud Storage the next columns are: - //

  • file_path - //
  • start_offset
    - //

    For Cloud Datastore the next columns are: - //

  • project_id - //
  • namespace_id
  • path
  • column_name
  • offset + // OperationConfig: Additional configuration settings for long running + // operations. + OperationConfig *GooglePrivacyDlpV2beta1OperationConfig `json:"operationConfig,omitempty"` + + // OutputConfig: Optional location to store findings. OutputConfig *GooglePrivacyDlpV2beta1OutputStorageConfig `json:"outputConfig,omitempty"` // StorageConfig: Specification of the data set to process. @@ -528,6 +1054,176 @@ func (s *GooglePrivacyDlpV2beta1CreateInspectOperationRequest) MarshalJSON() ([] return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GooglePrivacyDlpV2beta1CryptoHashConfig: Pseudonymization method that +// generates surrogates via cryptographic hashing. +// Uses SHA-256. +// Outputs a 32 byte digest as an uppercase hex string +// (for example, 41D1567F7F99F1DC2A5FAB886DEE5BEE). +// Currently, only string and integer values can be hashed. +type GooglePrivacyDlpV2beta1CryptoHashConfig struct { + // CryptoKey: The key used by the hash function. + CryptoKey *GooglePrivacyDlpV2beta1CryptoKey `json:"cryptoKey,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CryptoKey") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CryptoKey") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1CryptoHashConfig) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1CryptoHashConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1CryptoKey: This is a data encryption key (DEK) +// (as opposed to +// a key encryption key (KEK) stored by KMS). +// When using KMS to wrap/unwrap DEKs, be sure to set an appropriate +// IAM policy on the KMS CryptoKey (KEK) to ensure an attacker +// cannot +// unwrap the data crypto key. +type GooglePrivacyDlpV2beta1CryptoKey struct { + KmsWrapped *GooglePrivacyDlpV2beta1KmsWrappedCryptoKey `json:"kmsWrapped,omitempty"` + + Transient *GooglePrivacyDlpV2beta1TransientCryptoKey `json:"transient,omitempty"` + + Unwrapped *GooglePrivacyDlpV2beta1UnwrappedCryptoKey `json:"unwrapped,omitempty"` + + // ForceSendFields is a list of field names (e.g. "KmsWrapped") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "KmsWrapped") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1CryptoKey) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1CryptoKey + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig: Replaces an +// identifier with an surrogate using FPE with the FFX +// mode of operation. +// The identifier must be representable by the US-ASCII character +// set. +// For a given crypto key and context, the same identifier will +// be +// replaced with the same surrogate. +// Note that a given identifier must be either the empty string or be +// at +// least two characters long. +type GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig struct { + // Possible values: + // "FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED" + // "NUMERIC" - [0-9] (radix of 10) + // "HEXADECIMAL" - [0-9A-F] (radix of 16) + // "UPPER_CASE_ALPHA_NUMERIC" - [0-9A-Z] (radix of 36) + // "ALPHA_NUMERIC" - [0-9A-Za-z] (radix of 62) + CommonAlphabet string `json:"commonAlphabet,omitempty"` + + // Context: A context may be used for higher security since the + // same + // identifier in two different contexts likely will be given a + // distinct + // surrogate. The principle is that the likeliness is inversely + // related + // to the ratio of the number of distinct identifiers per context over + // the + // number of possible surrogates: As long as this ratio is small, + // the + // likehood is large. + // + // If the context is not set, a default tweak will be used. + // If the context is set but: + // + // 1. there is no record present when transforming a given value or + // 1. the field is not present when transforming a given value, + // + // a default tweak will be used. + // + // Note that case (1) is expected when an `InfoTypeTransformation` + // is + // applied to both structured and non-structured + // `ContentItem`s. + // Currently, the referenced field may be of value type integer or + // string. + // + // The tweak is constructed as a sequence of bytes in big endian byte + // order + // such that: + // + // - a 64 bit integer is encoded followed by a single byte of value 1 + // - a string is encoded in UTF-8 format followed by a single byte of + // value 2 + // + // This is also known as the 'tweak', as in tweakable encryption. + Context *GooglePrivacyDlpV2beta1FieldId `json:"context,omitempty"` + + // CryptoKey: The key used by the encryption algorithm. [required] + CryptoKey *GooglePrivacyDlpV2beta1CryptoKey `json:"cryptoKey,omitempty"` + + // CustomAlphabet: This is supported by mapping these to the + // alphanumeric characters + // that the FFX mode natively supports. This happens + // before/after + // encryption/decryption. + // Each character listed must appear only once. + // Number of characters must be in the range [2, 62]. + // This must be encoded as ASCII. + // The order of characters does not matter. + CustomAlphabet string `json:"customAlphabet,omitempty"` + + // Radix: The native way to select the alphabet. Must be in the range + // [2, 62]. + Radix int64 `json:"radix,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CommonAlphabet") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CommonAlphabet") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GooglePrivacyDlpV2beta1DatastoreKey: Record key for a finding in // Cloud Datastore. type GooglePrivacyDlpV2beta1DatastoreKey struct { @@ -596,10 +1292,232 @@ func (s *GooglePrivacyDlpV2beta1DatastoreOptions) MarshalJSON() ([]byte, error) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GooglePrivacyDlpV2beta1DeidentificationSummary: High level summary of +// deidentification. +type GooglePrivacyDlpV2beta1DeidentificationSummary struct { + // TransformationSummaries: Transformations applied to the dataset. + TransformationSummaries []*GooglePrivacyDlpV2beta1TransformationSummary `json:"transformationSummaries,omitempty"` + + // TransformedBytes: Total size in bytes that were transformed in some + // way. + TransformedBytes int64 `json:"transformedBytes,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. + // "TransformationSummaries") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "TransformationSummaries") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1DeidentificationSummary) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1DeidentificationSummary + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1DeidentifyConfig: The configuration that +// controls how the data will change. +type GooglePrivacyDlpV2beta1DeidentifyConfig struct { + // InfoTypeTransformations: Treat the dataset as free-form text and + // apply the same free text + // transformation everywhere. + InfoTypeTransformations *GooglePrivacyDlpV2beta1InfoTypeTransformations `json:"infoTypeTransformations,omitempty"` + + // RecordTransformations: Treat the dataset as structured. + // Transformations can be applied to + // specific locations within structured datasets, such as transforming + // a column within a table. + RecordTransformations *GooglePrivacyDlpV2beta1RecordTransformations `json:"recordTransformations,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "InfoTypeTransformations") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "InfoTypeTransformations") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1DeidentifyConfig) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1DeidentifyConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1DeidentifyContentRequest: Request to +// de-identify a list of items. +type GooglePrivacyDlpV2beta1DeidentifyContentRequest struct { + // DeidentifyConfig: Configuration for the de-identification of the list + // of content items. + DeidentifyConfig *GooglePrivacyDlpV2beta1DeidentifyConfig `json:"deidentifyConfig,omitempty"` + + // InspectConfig: Configuration for the inspector. + InspectConfig *GooglePrivacyDlpV2beta1InspectConfig `json:"inspectConfig,omitempty"` + + // Items: The list of items to inspect. Up to 100 are allowed per + // request. + // All items will be treated as text/*. + Items []*GooglePrivacyDlpV2beta1ContentItem `json:"items,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DeidentifyConfig") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DeidentifyConfig") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1DeidentifyContentRequest) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1DeidentifyContentRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1DeidentifyContentResponse: Results of +// de-identifying a list of items. +type GooglePrivacyDlpV2beta1DeidentifyContentResponse struct { + Items []*GooglePrivacyDlpV2beta1ContentItem `json:"items,omitempty"` + + // Summaries: A review of the transformations that took place for each + // item. + Summaries []*GooglePrivacyDlpV2beta1DeidentificationSummary `json:"summaries,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Items") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Items") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1DeidentifyContentResponse) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1DeidentifyContentResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1EntityId: An entity in a dataset is a field or +// set of fields that correspond to a +// single person. For example, in medical records the `EntityId` might +// be +// a patient identifier, or for financial records it might be an +// account +// identifier. This message is used when generalizations or analysis +// must be +// consistent across multiple rows pertaining to the same entity. +type GooglePrivacyDlpV2beta1EntityId struct { + // Field: Composite key indicating which field contains the entity + // identifier. + Field *GooglePrivacyDlpV2beta1FieldId `json:"field,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Field") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Field") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1EntityId) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1EntityId + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1Expressions: A collection of expressions +type GooglePrivacyDlpV2beta1Expressions struct { + Conditions *GooglePrivacyDlpV2beta1Conditions `json:"conditions,omitempty"` + + // LogicalOperator: The operator to apply to the result of conditions. + // Default and currently + // only supported value is `AND`. + // + // Possible values: + // "LOGICAL_OPERATOR_UNSPECIFIED" + // "AND" + LogicalOperator string `json:"logicalOperator,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Conditions") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Conditions") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1Expressions) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1Expressions + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GooglePrivacyDlpV2beta1FieldId: General identifier of a data field in // a storage service. type GooglePrivacyDlpV2beta1FieldId struct { - // ColumnName: Column name describing the field. + // ColumnName: Name describing the field. ColumnName string `json:"columnName,omitempty"` // ForceSendFields is a list of field names (e.g. "ColumnName") to @@ -625,6 +1543,58 @@ func (s *GooglePrivacyDlpV2beta1FieldId) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GooglePrivacyDlpV2beta1FieldTransformation: The transformation to +// apply to the field. +type GooglePrivacyDlpV2beta1FieldTransformation struct { + // Condition: Only apply the transformation if the condition evaluates + // to true for the + // given `RecordCondition`. The conditions are allowed to reference + // fields + // that are not used in the actual transformation. [optional] + // + // Example Use Cases: + // + // - Apply a different bucket transformation to an age column if the zip + // code + // column for the same record is within a specific range. + // - Redact a field if the date of birth field is greater than 85. + Condition *GooglePrivacyDlpV2beta1RecordCondition `json:"condition,omitempty"` + + // Fields: Input field(s) to apply the transformation to. [required] + Fields []*GooglePrivacyDlpV2beta1FieldId `json:"fields,omitempty"` + + // InfoTypeTransformations: Treat the contents of the field as free + // text, and selectively + // transform content that matches an `InfoType`. + InfoTypeTransformations *GooglePrivacyDlpV2beta1InfoTypeTransformations `json:"infoTypeTransformations,omitempty"` + + // PrimitiveTransformation: Apply the transformation to the entire + // field. + PrimitiveTransformation *GooglePrivacyDlpV2beta1PrimitiveTransformation `json:"primitiveTransformation,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Condition") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Condition") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1FieldTransformation) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1FieldTransformation + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GooglePrivacyDlpV2beta1FileSet: Set of files to scan. type GooglePrivacyDlpV2beta1FileSet struct { // Url: The url, in the format `gs:///`. Trailing wildcard @@ -706,6 +1676,85 @@ func (s *GooglePrivacyDlpV2beta1Finding) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GooglePrivacyDlpV2beta1FixedSizeBucketingConfig: Buckets values based +// on fixed size ranges. The +// Bucketing transformation can provide all of this functionality, +// but requires more configuration. This message is provided as a +// convenience to +// the user for simple bucketing strategies. +// The resulting value will be a hyphenated string +// of +// lower_bound-upper_bound. +// This can be used on data of type: double, long. +// If the bound Value type differs from the type of data +// being transformed, we will first attempt converting the type of the +// data to +// be transformed to match the type of the bound before comparing. +type GooglePrivacyDlpV2beta1FixedSizeBucketingConfig struct { + // BucketSize: Size of each bucket (except for minimum and maximum + // buckets). So if + // `lower_bound` = 10, `upper_bound` = 89, and `bucket_size` = 10, then + // the + // following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, + // 50-60, + // 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works. + // [Required]. + BucketSize float64 `json:"bucketSize,omitempty"` + + // LowerBound: Lower bound value of buckets. All values less than + // `lower_bound` are + // grouped together into a single bucket; for example if `lower_bound` = + // 10, + // then all values less than 10 are replaced with the value “-10”. + // [Required]. + LowerBound *GooglePrivacyDlpV2beta1Value `json:"lowerBound,omitempty"` + + // UpperBound: Upper bound value of buckets. All values greater than + // upper_bound are + // grouped together into a single bucket; for example if `upper_bound` = + // 89, + // then all values greater than 89 are replaced with the value + // “89+”. + // [Required]. + UpperBound *GooglePrivacyDlpV2beta1Value `json:"upperBound,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BucketSize") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BucketSize") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1FixedSizeBucketingConfig) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1FixedSizeBucketingConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *GooglePrivacyDlpV2beta1FixedSizeBucketingConfig) UnmarshalJSON(data []byte) error { + type noMethod GooglePrivacyDlpV2beta1FixedSizeBucketingConfig + var s1 struct { + BucketSize gensupport.JSONFloat64 `json:"bucketSize"` + *noMethod + } + s1.noMethod = (*noMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.BucketSize = float64(s1.BucketSize) + return nil +} + // GooglePrivacyDlpV2beta1ImageLocation: Bounding box encompassing // detected text within an image. type GooglePrivacyDlpV2beta1ImageLocation struct { @@ -749,15 +1798,15 @@ func (s *GooglePrivacyDlpV2beta1ImageLocation) MarshalJSON() ([]byte, error) { type GooglePrivacyDlpV2beta1ImageRedactionConfig struct { // InfoType: Only one per info_type should be provided per request. If // not - // specified, and redact_all_text is false, the DLP API will redacts + // specified, and redact_all_text is false, the DLP API will redact // all // text that it matches against all info_types that are found, but // not // specified in another ImageRedactionConfig. InfoType *GooglePrivacyDlpV2beta1InfoType `json:"infoType,omitempty"` - // RedactAllText: If true, all text found in the image, regardless if it - // matches an + // RedactAllText: If true, all text found in the image, regardless + // whether it matches an // info_type, is redacted. RedactAllText bool `json:"redactAllText,omitempty"` @@ -792,13 +1841,7 @@ func (s *GooglePrivacyDlpV2beta1ImageRedactionConfig) MarshalJSON() ([]byte, err // GooglePrivacyDlpV2beta1InfoType: Type of information detected by the // API. type GooglePrivacyDlpV2beta1InfoType struct { - // Name: Name of the information type. For built-in info types, this is - // provided by - // the API call ListInfoTypes. For user-defined info types, this - // is - // provided by the user. All user-defined info types must have unique - // names, - // and cannot conflict with built-in info type names. + // Name: Name of the information type. Name string `json:"name,omitempty"` // ForceSendFields is a list of field names (e.g. "Name") to @@ -824,15 +1867,16 @@ func (s *GooglePrivacyDlpV2beta1InfoType) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GooglePrivacyDlpV2beta1InfoTypeDescription: Info type description. +// GooglePrivacyDlpV2beta1InfoTypeDescription: Description of the +// information type (infoType). type GooglePrivacyDlpV2beta1InfoTypeDescription struct { - // Categories: List of categories this info type belongs to. + // Categories: List of categories this infoType belongs to. Categories []*GooglePrivacyDlpV2beta1CategoryDescription `json:"categories,omitempty"` - // DisplayName: Human readable form of the info type name. + // DisplayName: Human readable form of the infoType name. DisplayName string `json:"displayName,omitempty"` - // Name: Internal name of the info type. + // Name: Internal name of the infoType. Name string `json:"name,omitempty"` // ForceSendFields is a list of field names (e.g. "Categories") to @@ -858,6 +1902,45 @@ func (s *GooglePrivacyDlpV2beta1InfoTypeDescription) MarshalJSON() ([]byte, erro return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GooglePrivacyDlpV2beta1InfoTypeLimit: Max findings configuration per +// info type, per content item or long running +// operation. +type GooglePrivacyDlpV2beta1InfoTypeLimit struct { + // InfoType: Type of information the findings limit applies to. Only one + // limit per + // info_type should be provided. If InfoTypeLimit does not have + // an + // info_type, the DLP API applies the limit against all info_types that + // are + // found but not specified in another InfoTypeLimit. + InfoType *GooglePrivacyDlpV2beta1InfoType `json:"infoType,omitempty"` + + // MaxFindings: Max findings limit for the given infoType. + MaxFindings int64 `json:"maxFindings,omitempty"` + + // ForceSendFields is a list of field names (e.g. "InfoType") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "InfoType") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1InfoTypeLimit) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1InfoTypeLimit + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GooglePrivacyDlpV2beta1InfoTypeStatistics: Statistics regarding a // specific InfoType. type GooglePrivacyDlpV2beta1InfoTypeStatistics struct { @@ -890,6 +1973,79 @@ func (s *GooglePrivacyDlpV2beta1InfoTypeStatistics) MarshalJSON() ([]byte, error return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GooglePrivacyDlpV2beta1InfoTypeTransformation: A transformation to +// apply to text that is identified as a specific +// info_type. +type GooglePrivacyDlpV2beta1InfoTypeTransformation struct { + // InfoTypes: Info types to apply the transformation to. Empty list will + // match all + // available info types for this transformation. + InfoTypes []*GooglePrivacyDlpV2beta1InfoType `json:"infoTypes,omitempty"` + + // PrimitiveTransformation: Primitive transformation to apply to the + // info type. [required] + PrimitiveTransformation *GooglePrivacyDlpV2beta1PrimitiveTransformation `json:"primitiveTransformation,omitempty"` + + // ForceSendFields is a list of field names (e.g. "InfoTypes") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "InfoTypes") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1InfoTypeTransformation) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1InfoTypeTransformation + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1InfoTypeTransformations: A type of +// transformation that will scan unstructured text and +// apply various `PrimitiveTransformation`s to each finding, where +// the +// transformation is applied to only values that were identified as a +// specific +// info_type. +type GooglePrivacyDlpV2beta1InfoTypeTransformations struct { + // Transformations: Transformation for each info type. Cannot specify + // more than one + // for a given info type. [required] + Transformations []*GooglePrivacyDlpV2beta1InfoTypeTransformation `json:"transformations,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Transformations") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Transformations") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1InfoTypeTransformations) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1InfoTypeTransformations + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GooglePrivacyDlpV2beta1InspectConfig: Configuration description of // the scanning process. // When used with redactContent only info_types and min_likelihood are @@ -904,6 +2060,10 @@ type GooglePrivacyDlpV2beta1InspectConfig struct { // included in the response; see Finding.quote. IncludeQuote bool `json:"includeQuote,omitempty"` + // InfoTypeLimits: Configuration of findings limit given for specified + // info types. + InfoTypeLimits []*GooglePrivacyDlpV2beta1InfoTypeLimit `json:"infoTypeLimits,omitempty"` + // InfoTypes: Restricts what info_types to look for. The values must // correspond to // InfoType values returned by ListInfoTypes or found in @@ -1143,6 +2303,163 @@ func (s *GooglePrivacyDlpV2beta1InspectResult) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GooglePrivacyDlpV2beta1KAnonymityConfig: k-anonymity metric, used for +// analysis of reidentification risk. +type GooglePrivacyDlpV2beta1KAnonymityConfig struct { + // EntityId: Optional message indicating that each distinct `EntityId` + // should not + // contribute to the k-anonymity count more than once per equivalence + // class. + EntityId *GooglePrivacyDlpV2beta1EntityId `json:"entityId,omitempty"` + + // QuasiIds: Set of fields to compute k-anonymity over. When multiple + // fields are + // specified, they are considered a single composite key. Structs + // and + // repeated data types are not supported; however, nested fields + // are + // supported so long as they are not structs themselves or nested + // within + // a repeated field. + QuasiIds []*GooglePrivacyDlpV2beta1FieldId `json:"quasiIds,omitempty"` + + // ForceSendFields is a list of field names (e.g. "EntityId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "EntityId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1KAnonymityConfig) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1KAnonymityConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1KAnonymityEquivalenceClass: The set of +// columns' values that share the same k-anonymity value. +type GooglePrivacyDlpV2beta1KAnonymityEquivalenceClass struct { + // EquivalenceClassSize: Size of the equivalence class, for example + // number of rows with the + // above set of values. + EquivalenceClassSize int64 `json:"equivalenceClassSize,omitempty,string"` + + // QuasiIdsValues: Set of values defining the equivalence class. One + // value per + // quasi-identifier column in the original KAnonymity metric + // message. + // The order is always the same as the original request. + QuasiIdsValues []*GooglePrivacyDlpV2beta1Value `json:"quasiIdsValues,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "EquivalenceClassSize") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "EquivalenceClassSize") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1KAnonymityEquivalenceClass) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1KAnonymityEquivalenceClass + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1KAnonymityHistogramBucket: Histogram bucket of +// equivalence class sizes in the table. +type GooglePrivacyDlpV2beta1KAnonymityHistogramBucket struct { + // BucketSize: Total number of records in this bucket. + BucketSize int64 `json:"bucketSize,omitempty,string"` + + // BucketValues: Sample of equivalence classes in this bucket. The total + // number of + // classes returned per bucket is capped at 20. + BucketValues []*GooglePrivacyDlpV2beta1KAnonymityEquivalenceClass `json:"bucketValues,omitempty"` + + // EquivalenceClassSizeLowerBound: Lower bound on the size of the + // equivalence classes in this bucket. + EquivalenceClassSizeLowerBound int64 `json:"equivalenceClassSizeLowerBound,omitempty,string"` + + // EquivalenceClassSizeUpperBound: Upper bound on the size of the + // equivalence classes in this bucket. + EquivalenceClassSizeUpperBound int64 `json:"equivalenceClassSizeUpperBound,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "BucketSize") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BucketSize") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1KAnonymityHistogramBucket) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1KAnonymityHistogramBucket + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1KAnonymityResult: Result of the k-anonymity +// computation. +type GooglePrivacyDlpV2beta1KAnonymityResult struct { + // EquivalenceClassHistogramBuckets: Histogram of k-anonymity + // equivalence classes. + EquivalenceClassHistogramBuckets []*GooglePrivacyDlpV2beta1KAnonymityHistogramBucket `json:"equivalenceClassHistogramBuckets,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "EquivalenceClassHistogramBuckets") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. + // "EquivalenceClassHistogramBuckets") to include in API requests with + // the JSON null value. By default, fields with empty values are omitted + // from API requests. However, any field with an empty value appearing + // in NullFields will be sent to the server as null. It is an error if a + // field in this list has a non-empty value. This may be used to include + // null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1KAnonymityResult) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1KAnonymityResult + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GooglePrivacyDlpV2beta1Key: A unique identifier for a Datastore // entity. // If a key's partition ID or any of its path kinds or names @@ -1223,6 +2540,199 @@ func (s *GooglePrivacyDlpV2beta1KindExpression) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GooglePrivacyDlpV2beta1KmsWrappedCryptoKey: Include to use an +// existing data crypto key wrapped by KMS. +// Authorization requires the following IAM permissions when sending a +// request +// to perform a crypto transformation using a kms-wrapped crypto +// key: +// dlp.kms.encrypt +type GooglePrivacyDlpV2beta1KmsWrappedCryptoKey struct { + // CryptoKeyName: The resource name of the KMS CryptoKey to use for + // unwrapping. [required] + CryptoKeyName string `json:"cryptoKeyName,omitempty"` + + // WrappedKey: The wrapped data crypto key. [required] + WrappedKey string `json:"wrappedKey,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CryptoKeyName") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CryptoKeyName") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1KmsWrappedCryptoKey) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1KmsWrappedCryptoKey + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1LDiversityConfig: l-diversity metric, used for +// analysis of reidentification risk. +type GooglePrivacyDlpV2beta1LDiversityConfig struct { + // QuasiIds: Set of quasi-identifiers indicating how equivalence classes + // are + // defined for the l-diversity computation. When multiple fields + // are + // specified, they are considered a single composite key. + QuasiIds []*GooglePrivacyDlpV2beta1FieldId `json:"quasiIds,omitempty"` + + // SensitiveAttribute: Sensitive field for computing the l-value. + SensitiveAttribute *GooglePrivacyDlpV2beta1FieldId `json:"sensitiveAttribute,omitempty"` + + // ForceSendFields is a list of field names (e.g. "QuasiIds") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "QuasiIds") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1LDiversityConfig) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1LDiversityConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1LDiversityEquivalenceClass: The set of +// columns' values that share the same l-diversity value. +type GooglePrivacyDlpV2beta1LDiversityEquivalenceClass struct { + // EquivalenceClassSize: Size of the k-anonymity equivalence class. + EquivalenceClassSize int64 `json:"equivalenceClassSize,omitempty,string"` + + // NumDistinctSensitiveValues: Number of distinct sensitive values in + // this equivalence class. + NumDistinctSensitiveValues int64 `json:"numDistinctSensitiveValues,omitempty,string"` + + // QuasiIdsValues: Quasi-identifier values defining the k-anonymity + // equivalence + // class. The order is always the same as the original request. + QuasiIdsValues []*GooglePrivacyDlpV2beta1Value `json:"quasiIdsValues,omitempty"` + + // TopSensitiveValues: Estimated frequencies of top sensitive values. + TopSensitiveValues []*GooglePrivacyDlpV2beta1ValueFrequency `json:"topSensitiveValues,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "EquivalenceClassSize") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "EquivalenceClassSize") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1LDiversityEquivalenceClass) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1LDiversityEquivalenceClass + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1LDiversityHistogramBucket: Histogram bucket of +// sensitive value frequencies in the table. +type GooglePrivacyDlpV2beta1LDiversityHistogramBucket struct { + // BucketSize: Total number of records in this bucket. + BucketSize int64 `json:"bucketSize,omitempty,string"` + + // BucketValues: Sample of equivalence classes in this bucket. The total + // number of + // classes returned per bucket is capped at 20. + BucketValues []*GooglePrivacyDlpV2beta1LDiversityEquivalenceClass `json:"bucketValues,omitempty"` + + // SensitiveValueFrequencyLowerBound: Lower bound on the sensitive value + // frequencies of the equivalence + // classes in this bucket. + SensitiveValueFrequencyLowerBound int64 `json:"sensitiveValueFrequencyLowerBound,omitempty,string"` + + // SensitiveValueFrequencyUpperBound: Upper bound on the sensitive value + // frequencies of the equivalence + // classes in this bucket. + SensitiveValueFrequencyUpperBound int64 `json:"sensitiveValueFrequencyUpperBound,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "BucketSize") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BucketSize") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1LDiversityHistogramBucket) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1LDiversityHistogramBucket + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1LDiversityResult: Result of the l-diversity +// computation. +type GooglePrivacyDlpV2beta1LDiversityResult struct { + // SensitiveValueFrequencyHistogramBuckets: Histogram of l-diversity + // equivalence class sensitive value frequencies. + SensitiveValueFrequencyHistogramBuckets []*GooglePrivacyDlpV2beta1LDiversityHistogramBucket `json:"sensitiveValueFrequencyHistogramBuckets,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "SensitiveValueFrequencyHistogramBuckets") to unconditionally include + // in API requests. By default, fields with empty values are omitted + // from API requests. However, any non-pointer, non-interface field + // appearing in ForceSendFields will be sent to the server regardless of + // whether the field is empty or not. This may be used to include empty + // fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. + // "SensitiveValueFrequencyHistogramBuckets") to include in API requests + // with the JSON null value. By default, fields with empty values are + // omitted from API requests. However, any field with an empty value + // appearing in NullFields will be sent to the server as null. It is an + // error if a field in this list has a non-empty value. This may be used + // to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1LDiversityResult) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1LDiversityResult + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GooglePrivacyDlpV2beta1ListInfoTypesResponse: Response to the // ListInfoTypes request. type GooglePrivacyDlpV2beta1ListInfoTypesResponse struct { @@ -1348,6 +2858,9 @@ type GooglePrivacyDlpV2beta1Location struct { // RecordKey: Key of the finding. RecordKey *GooglePrivacyDlpV2beta1RecordKey `json:"recordKey,omitempty"` + // TableLocation: Location within a `ContentItem.Table`. + TableLocation *GooglePrivacyDlpV2beta1TableLocation `json:"tableLocation,omitempty"` + // ForceSendFields is a list of field names (e.g. "ByteRange") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -1371,13 +2884,159 @@ func (s *GooglePrivacyDlpV2beta1Location) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GooglePrivacyDlpV2beta1NumericalStatsConfig: Compute numerical stats +// over an individual column, including +// min, max, and quantiles. +type GooglePrivacyDlpV2beta1NumericalStatsConfig struct { + // Field: Field to compute numerical stats on. Supported types + // are + // integer, float, date, datetime, timestamp, time. + Field *GooglePrivacyDlpV2beta1FieldId `json:"field,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Field") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Field") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1NumericalStatsConfig) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1NumericalStatsConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1NumericalStatsResult: Result of the numerical +// stats computation. +type GooglePrivacyDlpV2beta1NumericalStatsResult struct { + // MaxValue: Maximum value appearing in the column. + MaxValue *GooglePrivacyDlpV2beta1Value `json:"maxValue,omitempty"` + + // MinValue: Minimum value appearing in the column. + MinValue *GooglePrivacyDlpV2beta1Value `json:"minValue,omitempty"` + + // QuantileValues: List of 99 values that partition the set of field + // values into 100 equal + // sized buckets. + QuantileValues []*GooglePrivacyDlpV2beta1Value `json:"quantileValues,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MaxValue") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "MaxValue") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1NumericalStatsResult) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1NumericalStatsResult + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1OperationConfig: Additional configuration for +// inspect long running operations. +type GooglePrivacyDlpV2beta1OperationConfig struct { + // MaxItemFindings: Max number of findings per file, Datastore entity, + // or database row. + MaxItemFindings int64 `json:"maxItemFindings,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "MaxItemFindings") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "MaxItemFindings") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1OperationConfig) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1OperationConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GooglePrivacyDlpV2beta1OutputStorageConfig: Cloud repository for // storing output. type GooglePrivacyDlpV2beta1OutputStorageConfig struct { // StoragePath: The path to a Google Cloud Storage location to store // output. + // The bucket must already exist and + // the Google APIs service account for DLP must have write permission + // to + // write to the given bucket. + // Results are split over multiple csv files with each file name + // matching + // the pattern "[operation_id]_[count].csv", for + // example + // `3094877188788974909_1.csv`. The `operation_id` matches + // the + // identifier for the Operation, and the `count` is a counter used + // for + // tracking the number of files written. + // + // The CSV file(s) contain the following columns regardless of storage + // type + // scanned: + // - id + // - info_type + // - likelihood + // - byte size of finding + // - quote + // - timestamp + // + // For Cloud Storage the next columns are: + // + // - file_path + // - start_offset + // + // For Cloud Datastore the next columns are: + // + // - project_id + // - namespace_id + // - path + // - column_name + // - offset + // + // For BigQuery the next columns are: + // + // - row_number + // - project_id + // - dataset_id + // - table_id StoragePath *GooglePrivacyDlpV2beta1CloudStoragePath `json:"storagePath,omitempty"` + // Table: Store findings in a new table in the dataset. + Table *GooglePrivacyDlpV2beta1BigQueryTable `json:"table,omitempty"` + // ForceSendFields is a list of field names (e.g. "StoragePath") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -1487,6 +3146,87 @@ func (s *GooglePrivacyDlpV2beta1PathElement) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GooglePrivacyDlpV2beta1PrimitiveTransformation: A rule for +// transforming a value. +type GooglePrivacyDlpV2beta1PrimitiveTransformation struct { + BucketingConfig *GooglePrivacyDlpV2beta1BucketingConfig `json:"bucketingConfig,omitempty"` + + CharacterMaskConfig *GooglePrivacyDlpV2beta1CharacterMaskConfig `json:"characterMaskConfig,omitempty"` + + CryptoHashConfig *GooglePrivacyDlpV2beta1CryptoHashConfig `json:"cryptoHashConfig,omitempty"` + + CryptoReplaceFfxFpeConfig *GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig `json:"cryptoReplaceFfxFpeConfig,omitempty"` + + FixedSizeBucketingConfig *GooglePrivacyDlpV2beta1FixedSizeBucketingConfig `json:"fixedSizeBucketingConfig,omitempty"` + + RedactConfig *GooglePrivacyDlpV2beta1RedactConfig `json:"redactConfig,omitempty"` + + ReplaceConfig *GooglePrivacyDlpV2beta1ReplaceValueConfig `json:"replaceConfig,omitempty"` + + ReplaceWithInfoTypeConfig *GooglePrivacyDlpV2beta1ReplaceWithInfoTypeConfig `json:"replaceWithInfoTypeConfig,omitempty"` + + TimePartConfig *GooglePrivacyDlpV2beta1TimePartConfig `json:"timePartConfig,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BucketingConfig") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BucketingConfig") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1PrimitiveTransformation) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1PrimitiveTransformation + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1PrivacyMetric: Privacy metric to compute for +// reidentification risk analysis. +type GooglePrivacyDlpV2beta1PrivacyMetric struct { + CategoricalStatsConfig *GooglePrivacyDlpV2beta1CategoricalStatsConfig `json:"categoricalStatsConfig,omitempty"` + + KAnonymityConfig *GooglePrivacyDlpV2beta1KAnonymityConfig `json:"kAnonymityConfig,omitempty"` + + LDiversityConfig *GooglePrivacyDlpV2beta1LDiversityConfig `json:"lDiversityConfig,omitempty"` + + NumericalStatsConfig *GooglePrivacyDlpV2beta1NumericalStatsConfig `json:"numericalStatsConfig,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "CategoricalStatsConfig") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CategoricalStatsConfig") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1PrivacyMetric) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1PrivacyMetric + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GooglePrivacyDlpV2beta1Projection: A representation of a Datastore // property in a projection. type GooglePrivacyDlpV2beta1Projection struct { @@ -1577,6 +3317,35 @@ func (s *GooglePrivacyDlpV2beta1Range) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GooglePrivacyDlpV2beta1RecordCondition: A condition for determing +// whether a transformation should be applied to +// a field. +type GooglePrivacyDlpV2beta1RecordCondition struct { + Expressions *GooglePrivacyDlpV2beta1Expressions `json:"expressions,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Expressions") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Expressions") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1RecordCondition) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1RecordCondition + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GooglePrivacyDlpV2beta1RecordKey: Message for a unique key indicating // a record that contains a finding. type GooglePrivacyDlpV2beta1RecordKey struct { @@ -1608,6 +3377,81 @@ func (s *GooglePrivacyDlpV2beta1RecordKey) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GooglePrivacyDlpV2beta1RecordSuppression: Configuration to suppress +// records whose suppression conditions evaluate to +// true. +type GooglePrivacyDlpV2beta1RecordSuppression struct { + Condition *GooglePrivacyDlpV2beta1RecordCondition `json:"condition,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Condition") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Condition") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1RecordSuppression) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1RecordSuppression + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1RecordTransformations: A type of +// transformation that is applied over structured data such as a +// table. +type GooglePrivacyDlpV2beta1RecordTransformations struct { + // FieldTransformations: Transform the record by applying various field + // transformations. + FieldTransformations []*GooglePrivacyDlpV2beta1FieldTransformation `json:"fieldTransformations,omitempty"` + + // RecordSuppressions: Configuration defining which records get + // suppressed entirely. Records that + // match any suppression rule are omitted from the output [optional]. + RecordSuppressions []*GooglePrivacyDlpV2beta1RecordSuppression `json:"recordSuppressions,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "FieldTransformations") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "FieldTransformations") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1RecordTransformations) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1RecordTransformations + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1RedactConfig: Redact a given value. For +// example, if used with an `InfoTypeTransformation` +// transforming PHONE_NUMBER, and input 'My phone number is +// 206-555-0123', the +// output would be 'My phone number is '. +type GooglePrivacyDlpV2beta1RedactConfig struct { +} + // GooglePrivacyDlpV2beta1RedactContentRequest: Request to search for // potentially sensitive info in a list of items // and replace it with a default or provided content. @@ -1723,24 +3567,165 @@ func (s *GooglePrivacyDlpV2beta1ReplaceConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GooglePrivacyDlpV2beta1StorageConfig: Shared message indicating Cloud -// storage type. -type GooglePrivacyDlpV2beta1StorageConfig struct { - // CloudStorageOptions: Google Cloud Storage options specification. - CloudStorageOptions *GooglePrivacyDlpV2beta1CloudStorageOptions `json:"cloudStorageOptions,omitempty"` +// GooglePrivacyDlpV2beta1ReplaceValueConfig: Replace each input value +// with a given `Value`. +type GooglePrivacyDlpV2beta1ReplaceValueConfig struct { + // NewValue: Value to replace it with. + NewValue *GooglePrivacyDlpV2beta1Value `json:"newValue,omitempty"` - // DatastoreOptions: Google Cloud Datastore options specification. - DatastoreOptions *GooglePrivacyDlpV2beta1DatastoreOptions `json:"datastoreOptions,omitempty"` - - // ForceSendFields is a list of field names (e.g. "CloudStorageOptions") - // to unconditionally include in API requests. By default, fields with + // ForceSendFields is a list of field names (e.g. "NewValue") to + // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CloudStorageOptions") to + // NullFields is a list of field names (e.g. "NewValue") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1ReplaceValueConfig) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1ReplaceValueConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1ReplaceWithInfoTypeConfig: Replace each +// matching finding with the name of the info_type. +type GooglePrivacyDlpV2beta1ReplaceWithInfoTypeConfig struct { +} + +// GooglePrivacyDlpV2beta1RiskAnalysisOperationMetadata: Metadata +// returned within +// the +// [`riskAnalysis.operations.get`](/dlp/docs/reference/rest/v2beta1/r +// iskAnalysis.operations/get) +// for risk analysis. +type GooglePrivacyDlpV2beta1RiskAnalysisOperationMetadata struct { + // CreateTime: The time which this request was started. + CreateTime string `json:"createTime,omitempty"` + + // RequestedPrivacyMetric: Privacy metric to compute. + RequestedPrivacyMetric *GooglePrivacyDlpV2beta1PrivacyMetric `json:"requestedPrivacyMetric,omitempty"` + + // RequestedSourceTable: Input dataset to compute metrics over. + RequestedSourceTable *GooglePrivacyDlpV2beta1BigQueryTable `json:"requestedSourceTable,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CreateTime") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CreateTime") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1RiskAnalysisOperationMetadata) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1RiskAnalysisOperationMetadata + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1RiskAnalysisOperationResult: Result of a risk +// analysis +// [`Operation`](/dlp/docs/reference/rest/v2beta1/inspect.operat +// ions) +// request. +type GooglePrivacyDlpV2beta1RiskAnalysisOperationResult struct { + CategoricalStatsResult *GooglePrivacyDlpV2beta1CategoricalStatsResult `json:"categoricalStatsResult,omitempty"` + + KAnonymityResult *GooglePrivacyDlpV2beta1KAnonymityResult `json:"kAnonymityResult,omitempty"` + + LDiversityResult *GooglePrivacyDlpV2beta1LDiversityResult `json:"lDiversityResult,omitempty"` + + NumericalStatsResult *GooglePrivacyDlpV2beta1NumericalStatsResult `json:"numericalStatsResult,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "CategoricalStatsResult") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CategoricalStatsResult") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1RiskAnalysisOperationResult) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1RiskAnalysisOperationResult + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type GooglePrivacyDlpV2beta1Row struct { + Values []*GooglePrivacyDlpV2beta1Value `json:"values,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Values") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Values") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1Row) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1Row + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1StorageConfig: Shared message indicating Cloud +// storage type. +type GooglePrivacyDlpV2beta1StorageConfig struct { + // BigQueryOptions: BigQuery options specification. + BigQueryOptions *GooglePrivacyDlpV2beta1BigQueryOptions `json:"bigQueryOptions,omitempty"` + + // CloudStorageOptions: Google Cloud Storage options specification. + CloudStorageOptions *GooglePrivacyDlpV2beta1CloudStorageOptions `json:"cloudStorageOptions,omitempty"` + + // DatastoreOptions: Google Cloud Datastore options specification. + DatastoreOptions *GooglePrivacyDlpV2beta1DatastoreOptions `json:"datastoreOptions,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BigQueryOptions") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BigQueryOptions") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the @@ -1756,6 +3741,343 @@ func (s *GooglePrivacyDlpV2beta1StorageConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GooglePrivacyDlpV2beta1SummaryResult: A collection that informs the +// user the number of times a particular +// `TransformationResultCode` and error details occurred. +type GooglePrivacyDlpV2beta1SummaryResult struct { + // Possible values: + // "TRANSFORMATION_RESULT_CODE_UNSPECIFIED" + // "SUCCESS" + // "ERROR" + Code string `json:"code,omitempty"` + + Count int64 `json:"count,omitempty,string"` + + // Details: A place for warnings or errors to show up if a + // transformation didn't + // work as expected. + Details string `json:"details,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Code") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1SummaryResult) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1SummaryResult + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1Table: Structured content to inspect. Up to +// 50,000 `Value`s per request allowed. +type GooglePrivacyDlpV2beta1Table struct { + Headers []*GooglePrivacyDlpV2beta1FieldId `json:"headers,omitempty"` + + Rows []*GooglePrivacyDlpV2beta1Row `json:"rows,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Headers") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Headers") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1Table) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1Table + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1TableLocation: Location of a finding within a +// `ContentItem.Table`. +type GooglePrivacyDlpV2beta1TableLocation struct { + // RowIndex: The zero-based index of the row where the finding is + // located. + RowIndex int64 `json:"rowIndex,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "RowIndex") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "RowIndex") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1TableLocation) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1TableLocation + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1TimePartConfig: For use with `Date`, +// `Timestamp`, and `TimeOfDay`, extract or preserve a +// portion of the value. +type GooglePrivacyDlpV2beta1TimePartConfig struct { + // Possible values: + // "TIME_PART_UNSPECIFIED" + // "YEAR" - [000-9999] + // "MONTH" - [1-12] + // "DAY_OF_MONTH" - [1-31] + // "DAY_OF_WEEK" - [1-7] + // "WEEK_OF_YEAR" - [1-52] + // "HOUR_OF_DAY" - [0-24] + PartToExtract string `json:"partToExtract,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PartToExtract") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "PartToExtract") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1TimePartConfig) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1TimePartConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1TransformationSummary: Summary of a single +// tranformation. +type GooglePrivacyDlpV2beta1TransformationSummary struct { + // Field: Set if the transformation was limited to a specific FieldId. + Field *GooglePrivacyDlpV2beta1FieldId `json:"field,omitempty"` + + // FieldTransformations: The field transformation that was applied. This + // list will contain + // multiple only in the case of errors. + FieldTransformations []*GooglePrivacyDlpV2beta1FieldTransformation `json:"fieldTransformations,omitempty"` + + // InfoType: Set if the transformation was limited to a specific + // info_type. + InfoType *GooglePrivacyDlpV2beta1InfoType `json:"infoType,omitempty"` + + // RecordSuppress: The specific suppression option these stats apply to. + RecordSuppress *GooglePrivacyDlpV2beta1RecordSuppression `json:"recordSuppress,omitempty"` + + Results []*GooglePrivacyDlpV2beta1SummaryResult `json:"results,omitempty"` + + // Transformation: The specific transformation these stats apply to. + Transformation *GooglePrivacyDlpV2beta1PrimitiveTransformation `json:"transformation,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Field") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Field") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1TransformationSummary) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1TransformationSummary + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1TransientCryptoKey: Use this to have a random +// data crypto key generated. +// It will be discarded after the operation/request finishes. +type GooglePrivacyDlpV2beta1TransientCryptoKey struct { + // Name: Name of the key. [required] + // This is an arbitrary string used to differentiate different keys. + // A unique key is generated per name: two separate + // `TransientCryptoKey` + // protos share the same generated key if their names are the same. + // When the data crypto key is generated, this name is not used in any + // way + // (repeating the api call will result in a different key being + // generated). + 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1TransientCryptoKey) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1TransientCryptoKey + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1UnwrappedCryptoKey: Using raw keys is prone to +// security risks due to accidentally +// leaking the key. Choose another type of key if possible. +type GooglePrivacyDlpV2beta1UnwrappedCryptoKey struct { + // Key: The AES 128/192/256 bit key. [required] + Key string `json:"key,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Key") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1UnwrappedCryptoKey) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1UnwrappedCryptoKey + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GooglePrivacyDlpV2beta1Value: Set of primitive values supported by +// the system. +type GooglePrivacyDlpV2beta1Value struct { + BooleanValue bool `json:"booleanValue,omitempty"` + + DateValue *GoogleTypeDate `json:"dateValue,omitempty"` + + FloatValue float64 `json:"floatValue,omitempty"` + + IntegerValue int64 `json:"integerValue,omitempty,string"` + + StringValue string `json:"stringValue,omitempty"` + + TimeValue *GoogleTypeTimeOfDay `json:"timeValue,omitempty"` + + TimestampValue string `json:"timestampValue,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BooleanValue") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BooleanValue") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1Value) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1Value + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *GooglePrivacyDlpV2beta1Value) UnmarshalJSON(data []byte) error { + type noMethod GooglePrivacyDlpV2beta1Value + var s1 struct { + FloatValue gensupport.JSONFloat64 `json:"floatValue"` + *noMethod + } + s1.noMethod = (*noMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.FloatValue = float64(s1.FloatValue) + return nil +} + +// GooglePrivacyDlpV2beta1ValueFrequency: A value of a field, including +// its frequency. +type GooglePrivacyDlpV2beta1ValueFrequency struct { + // Count: How many times the value is contained in the field. + Count int64 `json:"count,omitempty,string"` + + // Value: A value contained in the field in question. + Value *GooglePrivacyDlpV2beta1Value `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Count") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Count") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GooglePrivacyDlpV2beta1ValueFrequency) MarshalJSON() ([]byte, error) { + type noMethod GooglePrivacyDlpV2beta1ValueFrequency + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleProtobufEmpty: A generic empty message that you can re-use to // avoid defining duplicated // empty messages in your APIs. A typical example is to use it as the @@ -1858,9 +4180,9 @@ type GoogleRpcStatus struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in @@ -1893,6 +4215,227 @@ func (s *GoogleRpcStatus) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleTypeDate: Represents a whole calendar date, e.g. date of birth. +// The time of day and +// time zone are either specified elsewhere or are not significant. The +// date +// is relative to the Proleptic Gregorian Calendar. The day may be 0 +// to +// represent a year and month where the day is not significant, e.g. +// credit card +// expiration date. The year may be 0 to represent a month and day +// independent +// of year, e.g. anniversary date. Related types are +// google.type.TimeOfDay +// and `google.protobuf.Timestamp`. +type GoogleTypeDate struct { + // Day: Day of month. Must be from 1 to 31 and valid for the year and + // month, or 0 + // if specifying a year/month where the day is not significant. + Day int64 `json:"day,omitempty"` + + // Month: Month of year. Must be from 1 to 12. + Month int64 `json:"month,omitempty"` + + // Year: Year of date. Must be from 1 to 9999, or 0 if specifying a date + // 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleTypeDate) MarshalJSON() ([]byte, error) { + type noMethod GoogleTypeDate + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleTypeTimeOfDay: Represents a time of day. The date and time zone +// are either not significant +// or are specified elsewhere. An API may choose to allow leap seconds. +// Related +// types are google.type.Date and `google.protobuf.Timestamp`. +type GoogleTypeTimeOfDay struct { + // Hours: Hours of day in 24 hour format. Should be from 0 to 23. An API + // may choose + // to allow the value "24:00:00" for scenarios like business closing + // time. + Hours int64 `json:"hours,omitempty"` + + // Minutes: Minutes of hour of day. Must be from 0 to 59. + Minutes int64 `json:"minutes,omitempty"` + + // Nanos: Fractions of seconds in nanoseconds. Must be from 0 to + // 999,999,999. + Nanos int64 `json:"nanos,omitempty"` + + // Seconds: Seconds of minutes of the time. Must normally be from 0 to + // 59. An API may + // allow the value 60 if it allows leap-seconds. + Seconds int64 `json:"seconds,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Hours") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Hours") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleTypeTimeOfDay) MarshalJSON() ([]byte, error) { + type noMethod GoogleTypeTimeOfDay + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// method id "dlp.content.deidentify": + +type ContentDeidentifyCall struct { + s *Service + googleprivacydlpv2beta1deidentifycontentrequest *GooglePrivacyDlpV2beta1DeidentifyContentRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Deidentify: De-identifies potentially sensitive info from a list of +// strings. +// This method has limits on input size and output size. +func (r *ContentService) Deidentify(googleprivacydlpv2beta1deidentifycontentrequest *GooglePrivacyDlpV2beta1DeidentifyContentRequest) *ContentDeidentifyCall { + c := &ContentDeidentifyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.googleprivacydlpv2beta1deidentifycontentrequest = googleprivacydlpv2beta1deidentifycontentrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ContentDeidentifyCall) Fields(s ...googleapi.Field) *ContentDeidentifyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ContentDeidentifyCall) Context(ctx context.Context) *ContentDeidentifyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ContentDeidentifyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ContentDeidentifyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleprivacydlpv2beta1deidentifycontentrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta1/content:deidentify") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dlp.content.deidentify" call. +// Exactly one of *GooglePrivacyDlpV2beta1DeidentifyContentResponse or +// error will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GooglePrivacyDlpV2beta1DeidentifyContentResponse.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 *ContentDeidentifyCall) Do(opts ...googleapi.CallOption) (*GooglePrivacyDlpV2beta1DeidentifyContentResponse, 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, &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, err + } + ret := &GooglePrivacyDlpV2beta1DeidentifyContentResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "De-identifies potentially sensitive info from a list of strings.\nThis method has limits on input size and output size.", + // "flatPath": "v2beta1/content:deidentify", + // "httpMethod": "POST", + // "id": "dlp.content.deidentify", + // "parameterOrder": [], + // "parameters": {}, + // "path": "v2beta1/content:deidentify", + // "request": { + // "$ref": "GooglePrivacyDlpV2beta1DeidentifyContentRequest" + // }, + // "response": { + // "$ref": "GooglePrivacyDlpV2beta1DeidentifyContentResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "dlp.content.inspect": type ContentInspectCall struct { @@ -2142,6 +4685,128 @@ func (c *ContentRedactCall) Do(opts ...googleapi.CallOption) (*GooglePrivacyDlpV } +// method id "dlp.dataSource.analyze": + +type DataSourceAnalyzeCall struct { + s *Service + googleprivacydlpv2beta1analyzedatasourceriskrequest *GooglePrivacyDlpV2beta1AnalyzeDataSourceRiskRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Analyze: Schedules a job to compute risk analysis metrics over +// content in a Google +// Cloud Platform repository. +func (r *DataSourceService) Analyze(googleprivacydlpv2beta1analyzedatasourceriskrequest *GooglePrivacyDlpV2beta1AnalyzeDataSourceRiskRequest) *DataSourceAnalyzeCall { + c := &DataSourceAnalyzeCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.googleprivacydlpv2beta1analyzedatasourceriskrequest = googleprivacydlpv2beta1analyzedatasourceriskrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *DataSourceAnalyzeCall) Fields(s ...googleapi.Field) *DataSourceAnalyzeCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *DataSourceAnalyzeCall) Context(ctx context.Context) *DataSourceAnalyzeCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *DataSourceAnalyzeCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *DataSourceAnalyzeCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleprivacydlpv2beta1analyzedatasourceriskrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta1/dataSource:analyze") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dlp.dataSource.analyze" call. +// Exactly one of *GoogleLongrunningOperation or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleLongrunningOperation.ServerResponse.Header or (if a response +// was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *DataSourceAnalyzeCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, 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, &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, err + } + ret := &GoogleLongrunningOperation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Schedules a job to compute risk analysis metrics over content in a Google\nCloud Platform repository.", + // "flatPath": "v2beta1/dataSource:analyze", + // "httpMethod": "POST", + // "id": "dlp.dataSource.analyze", + // "parameterOrder": [], + // "parameters": {}, + // "path": "v2beta1/dataSource:analyze", + // "request": { + // "$ref": "GooglePrivacyDlpV2beta1AnalyzeDataSourceRiskRequest" + // }, + // "response": { + // "$ref": "GoogleLongrunningOperation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "dlp.inspect.operations.cancel": type InspectOperationsCancelCall struct { @@ -2153,9 +4818,9 @@ type InspectOperationsCancelCall struct { header_ http.Header } -// Cancel: Cancels an operation. Use the get method to check whether the -// cancellation succeeded or whether the operation completed despite -// cancellation. +// Cancel: Cancels an operation. Use the `inspect.operations.get` to +// check whether the cancellation succeeded or the operation completed +// despite cancellation. func (r *InspectOperationsService) Cancel(name string, googlelongrunningcanceloperationrequest *GoogleLongrunningCancelOperationRequest) *InspectOperationsCancelCall { c := &InspectOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -2249,7 +4914,7 @@ func (c *InspectOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleP } return ret, nil // { - // "description": "Cancels an operation. Use the get method to check whether the cancellation succeeded or whether the operation completed despite cancellation.", + // "description": "Cancels an operation. Use the `inspect.operations.get` to check whether the cancellation succeeded or the operation completed despite cancellation.", // "flatPath": "v2beta1/inspect/operations/{operationsId}:cancel", // "httpMethod": "POST", // "id": "dlp.inspect.operations.cancel", @@ -2681,22 +5346,22 @@ type InspectOperationsListCall struct { header_ http.Header } -// List: Fetch the list of long running operations. +// List: Fetches the list of long running operations. func (r *InspectOperationsService) List(name string) *InspectOperationsListCall { c := &InspectOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } -// Filter sets the optional parameter "filter": This parameter supports -// filtering by done, ie done=true or done=false. +// Filter sets the optional parameter "filter": Filters by `done`. That +// is, `done=true` or `done=false`. func (c *InspectOperationsListCall) Filter(filter string) *InspectOperationsListCall { c.urlParams_.Set("filter", filter) return c } // PageSize sets the optional parameter "pageSize": The list page size. -// The max allowed value is 256 and default is 100. +// The maximum allowed value is 256 and the default is 100. func (c *InspectOperationsListCall) PageSize(pageSize int64) *InspectOperationsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c @@ -2804,7 +5469,7 @@ func (c *InspectOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLon } return ret, nil // { - // "description": "Fetch the list of long running operations.", + // "description": "Fetches the list of long running operations.", // "flatPath": "v2beta1/inspect/operations", // "httpMethod": "GET", // "id": "dlp.inspect.operations.list", @@ -2813,7 +5478,7 @@ func (c *InspectOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLon // ], // "parameters": { // "filter": { - // "description": "This parameter supports filtering by done, ie done=true or done=false.", + // "description": "Filters by `done`. That is, `done=true` or `done=false`.", // "location": "query", // "type": "string" // }, @@ -2825,7 +5490,7 @@ func (c *InspectOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLon // "type": "string" // }, // "pageSize": { - // "description": "The list page size. The max allowed value is 256 and default is 100.", + // "description": "The list page size. The maximum allowed value is 256 and the default is 100.", // "format": "int32", // "location": "query", // "type": "integer" @@ -2888,17 +5553,15 @@ func (r *InspectResultsFindingsService) List(name string) *InspectResultsFinding } // Filter sets the optional parameter "filter": Restricts findings to -// items that match. Supports info_type and -// likelihood. -//

    Examples:
    -//

  • info_type=EMAIL_ADDRESS -//
  • info_typ -// e=PHONE_NUMBER,EMAIL_ADDRESS -//
  • likelihood=VERY_LIKELY -//
  • likelihood -// =VERY_LIKELY,LIKELY -//
  • info_type=EMAIL_ADDRESS,likelihood=VERY_LIKELY -// ,LIKELY +// items that match. Supports info_type and likelihood. +// +// Examples: +// +// - info_type=EMAIL_ADDRESS +// - info_type=PHONE_NUMBER,EMAIL_ADDRESS +// - likelihood=VERY_LIKELY +// - likelihood=VERY_LIKELY,LIKELY +// - info_type=EMAIL_ADDRESS,likelihood=VERY_LIKELY,LIKELY func (c *InspectResultsFindingsListCall) Filter(filter string) *InspectResultsFindingsListCall { c.urlParams_.Set("filter", filter) return c @@ -3027,12 +5690,12 @@ func (c *InspectResultsFindingsListCall) Do(opts ...googleapi.CallOption) (*Goog // ], // "parameters": { // "filter": { - // "description": "Restricts findings to items that match. Supports info_type and likelihood.\n\u003cp\u003eExamples:\u003cbr/\u003e\n\u003cli\u003einfo_type=EMAIL_ADDRESS\n\u003cli\u003einfo_type=PHONE_NUMBER,EMAIL_ADDRESS\n\u003cli\u003elikelihood=VERY_LIKELY\n\u003cli\u003elikelihood=VERY_LIKELY,LIKELY\n\u003cli\u003einfo_type=EMAIL_ADDRESS,likelihood=VERY_LIKELY,LIKELY", + // "description": "Restricts findings to items that match. Supports info_type and likelihood.\n\nExamples:\n\n- info_type=EMAIL_ADDRESS\n- info_type=PHONE_NUMBER,EMAIL_ADDRESS\n- likelihood=VERY_LIKELY\n- likelihood=VERY_LIKELY,LIKELY\n- info_type=EMAIL_ADDRESS,likelihood=VERY_LIKELY,LIKELY", // "location": "query", // "type": "string" // }, // "name": { - // "description": "Identifier of the results set returned as metadata of\nthe longrunning operation created by a call to CreateInspectOperation.\nShould be in the format of `inspect/results/{id}.", + // "description": "Identifier of the results set returned as metadata of\nthe longrunning operation created by a call to InspectDataSource.\nShould be in the format of `inspect/results/{id}`.", // "location": "path", // "pattern": "^inspect/results/[^/]+$", // "required": true, @@ -3082,6 +5745,610 @@ func (c *InspectResultsFindingsListCall) Pages(ctx context.Context, f func(*Goog } } +// method id "dlp.riskAnalysis.operations.cancel": + +type RiskAnalysisOperationsCancelCall struct { + s *Service + name string + googlelongrunningcanceloperationrequest *GoogleLongrunningCancelOperationRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Cancel: Cancels an operation. Use the `inspect.operations.get` to +// check whether the cancellation succeeded or the operation completed +// despite cancellation. +func (r *RiskAnalysisOperationsService) Cancel(name string, googlelongrunningcanceloperationrequest *GoogleLongrunningCancelOperationRequest) *RiskAnalysisOperationsCancelCall { + c := &RiskAnalysisOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.googlelongrunningcanceloperationrequest = googlelongrunningcanceloperationrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *RiskAnalysisOperationsCancelCall) Fields(s ...googleapi.Field) *RiskAnalysisOperationsCancelCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *RiskAnalysisOperationsCancelCall) Context(ctx context.Context) *RiskAnalysisOperationsCancelCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *RiskAnalysisOperationsCancelCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RiskAnalysisOperationsCancelCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlelongrunningcanceloperationrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta1/{+name}:cancel") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dlp.riskAnalysis.operations.cancel" call. +// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *RiskAnalysisOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, 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, &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, err + } + ret := &GoogleProtobufEmpty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Cancels an operation. Use the `inspect.operations.get` to check whether the cancellation succeeded or the operation completed despite cancellation.", + // "flatPath": "v2beta1/riskAnalysis/operations/{operationsId}:cancel", + // "httpMethod": "POST", + // "id": "dlp.riskAnalysis.operations.cancel", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the operation resource to be cancelled.", + // "location": "path", + // "pattern": "^riskAnalysis/operations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2beta1/{+name}:cancel", + // "request": { + // "$ref": "GoogleLongrunningCancelOperationRequest" + // }, + // "response": { + // "$ref": "GoogleProtobufEmpty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dlp.riskAnalysis.operations.delete": + +type RiskAnalysisOperationsDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: This method is not supported and the server returns +// `UNIMPLEMENTED`. +func (r *RiskAnalysisOperationsService) Delete(name string) *RiskAnalysisOperationsDeleteCall { + c := &RiskAnalysisOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *RiskAnalysisOperationsDeleteCall) Fields(s ...googleapi.Field) *RiskAnalysisOperationsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *RiskAnalysisOperationsDeleteCall) Context(ctx context.Context) *RiskAnalysisOperationsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *RiskAnalysisOperationsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RiskAnalysisOperationsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dlp.riskAnalysis.operations.delete" call. +// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *RiskAnalysisOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, 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, &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, err + } + ret := &GoogleProtobufEmpty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "This method is not supported and the server returns `UNIMPLEMENTED`.", + // "flatPath": "v2beta1/riskAnalysis/operations/{operationsId}", + // "httpMethod": "DELETE", + // "id": "dlp.riskAnalysis.operations.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the operation resource to be deleted.", + // "location": "path", + // "pattern": "^riskAnalysis/operations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2beta1/{+name}", + // "response": { + // "$ref": "GoogleProtobufEmpty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dlp.riskAnalysis.operations.get": + +type RiskAnalysisOperationsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the latest state of a long-running operation. Clients can +// use this +// method to poll the operation result at intervals as recommended by +// the API +// service. +func (r *RiskAnalysisOperationsService) Get(name string) *RiskAnalysisOperationsGetCall { + c := &RiskAnalysisOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *RiskAnalysisOperationsGetCall) Fields(s ...googleapi.Field) *RiskAnalysisOperationsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *RiskAnalysisOperationsGetCall) IfNoneMatch(entityTag string) *RiskAnalysisOperationsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *RiskAnalysisOperationsGetCall) Context(ctx context.Context) *RiskAnalysisOperationsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *RiskAnalysisOperationsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RiskAnalysisOperationsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dlp.riskAnalysis.operations.get" call. +// Exactly one of *GoogleLongrunningOperation or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleLongrunningOperation.ServerResponse.Header or (if a response +// was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *RiskAnalysisOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, 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, &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, err + } + ret := &GoogleLongrunningOperation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + // "flatPath": "v2beta1/riskAnalysis/operations/{operationsId}", + // "httpMethod": "GET", + // "id": "dlp.riskAnalysis.operations.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The name of the operation resource.", + // "location": "path", + // "pattern": "^riskAnalysis/operations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2beta1/{+name}", + // "response": { + // "$ref": "GoogleLongrunningOperation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "dlp.riskAnalysis.operations.list": + +type RiskAnalysisOperationsListCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Fetches the list of long running operations. +func (r *RiskAnalysisOperationsService) List(name string) *RiskAnalysisOperationsListCall { + c := &RiskAnalysisOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Filter sets the optional parameter "filter": Filters by `done`. That +// is, `done=true` or `done=false`. +func (c *RiskAnalysisOperationsListCall) Filter(filter string) *RiskAnalysisOperationsListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// PageSize sets the optional parameter "pageSize": The list page size. +// The maximum allowed value is 256 and the default is 100. +func (c *RiskAnalysisOperationsListCall) PageSize(pageSize int64) *RiskAnalysisOperationsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The standard list +// page token. +func (c *RiskAnalysisOperationsListCall) PageToken(pageToken string) *RiskAnalysisOperationsListCall { + 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 information. +func (c *RiskAnalysisOperationsListCall) Fields(s ...googleapi.Field) *RiskAnalysisOperationsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *RiskAnalysisOperationsListCall) IfNoneMatch(entityTag string) *RiskAnalysisOperationsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *RiskAnalysisOperationsListCall) Context(ctx context.Context) *RiskAnalysisOperationsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *RiskAnalysisOperationsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RiskAnalysisOperationsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "dlp.riskAnalysis.operations.list" call. +// Exactly one of *GoogleLongrunningListOperationsResponse or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if +// a response was returned at all) in error.(*googleapi.Error).Header. +// Use googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *RiskAnalysisOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, 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, &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, err + } + ret := &GoogleLongrunningListOperationsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Fetches the list of long running operations.", + // "flatPath": "v2beta1/riskAnalysis/operations", + // "httpMethod": "GET", + // "id": "dlp.riskAnalysis.operations.list", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "filter": { + // "description": "Filters by `done`. That is, `done=true` or `done=false`.", + // "location": "query", + // "type": "string" + // }, + // "name": { + // "description": "The name of the operation's parent resource.", + // "location": "path", + // "pattern": "^riskAnalysis/operations$", + // "required": true, + // "type": "string" + // }, + // "pageSize": { + // "description": "The list page size. The maximum allowed value is 256 and the default is 100.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "The standard list page token.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v2beta1/{+name}", + // "response": { + // "$ref": "GoogleLongrunningListOperationsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// 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 *RiskAnalysisOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + // method id "dlp.rootCategories.list": type RootCategoriesListCall struct { diff --git a/vendor/google.golang.org/api/dns/v1/dns-api.json b/vendor/google.golang.org/api/dns/v1/dns-api.json index 8fcd79ea4..8536a662b 100644 --- a/vendor/google.golang.org/api/dns/v1/dns-api.json +++ b/vendor/google.golang.org/api/dns/v1/dns-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/gwrprolZcJUNBq_AKpcBKtz0xIE\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/AJzw-edzaMurZNwug0J7eHLS8aw\"", "discoveryVersion": "v1", "id": "dns:v1", "name": "dns", "version": "v1", - "revision": "20170602", + "revision": "20170831", "title": "Google Cloud DNS API", "description": "Configures and serves authoritative DNS records.", "ownerDomain": "google.com", @@ -20,7 +20,7 @@ "basePath": "/dns/v1/projects/", "rootUrl": "https://www.googleapis.com/", "servicePath": "dns/v1/projects/", - "batchPath": "batch", + "batchPath": "batch/dns/v1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/dns/v2beta1/dns-api.json b/vendor/google.golang.org/api/dns/v2beta1/dns-api.json index b35e07307..dec7cef81 100644 --- a/vendor/google.golang.org/api/dns/v2beta1/dns-api.json +++ b/vendor/google.golang.org/api/dns/v2beta1/dns-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/LHpjntOBIuQr1aiz7vFFaZA7LV0\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/5iI5DqGWql1d7Ix1CktINwTdaEw\"", "discoveryVersion": "v1", "id": "dns:v2beta1", "name": "dns", "version": "v2beta1", - "revision": "20170602", + "revision": "20170831", "title": "Google Cloud DNS API", "description": "Configures and serves authoritative DNS records.", "ownerDomain": "google.com", @@ -20,7 +20,7 @@ "basePath": "/dns/v2beta1/projects/", "rootUrl": "https://www.googleapis.com/", "servicePath": "dns/v2beta1/projects/", - "batchPath": "batch", + "batchPath": "batch/dns/v2beta1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/doubleclickbidmanager/v1/doubleclickbidmanager-api.json b/vendor/google.golang.org/api/doubleclickbidmanager/v1/doubleclickbidmanager-api.json index 9ca681822..2bd0dcba4 100644 --- a/vendor/google.golang.org/api/doubleclickbidmanager/v1/doubleclickbidmanager-api.json +++ b/vendor/google.golang.org/api/doubleclickbidmanager/v1/doubleclickbidmanager-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/CyBb_evhvzpTXXhgZSc7wED-pLk\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/fiMIPCbr-8OYnnFx-elRq37f8OU\"", "discoveryVersion": "v1", "id": "doubleclickbidmanager:v1", "name": "doubleclickbidmanager", "canonicalName": "DoubleClick Bid Manager", "version": "v1", - "revision": "20170531", + "revision": "20170705", "title": "DoubleClick Bid Manager API", "description": "API for viewing and managing your reports in DoubleClick Bid Manager.", "ownerDomain": "google.com", @@ -24,7 +24,7 @@ "basePath": "/doubleclickbidmanager/v1/", "rootUrl": "https://www.googleapis.com/", "servicePath": "doubleclickbidmanager/v1/", - "batchPath": "batch", + "batchPath": "batch/doubleclickbidmanager/v1", "parameters": { "alt": { "type": "string", @@ -136,7 +136,7 @@ "properties": { "lineItems": { "type": "string", - "description": "Retrieved line items in CSV format. Refer to Entity Write File Format or Structured Data File Format for more information on file formats." + "description": "Retrieved line items in CSV format. For more information about file formats, see Entity Write File Format." } } }, diff --git a/vendor/google.golang.org/api/doubleclickbidmanager/v1/doubleclickbidmanager-gen.go b/vendor/google.golang.org/api/doubleclickbidmanager/v1/doubleclickbidmanager-gen.go index 99139b05e..5bc468ed3 100644 --- a/vendor/google.golang.org/api/doubleclickbidmanager/v1/doubleclickbidmanager-gen.go +++ b/vendor/google.golang.org/api/doubleclickbidmanager/v1/doubleclickbidmanager-gen.go @@ -173,9 +173,8 @@ func (s *DownloadLineItemsRequest) MarshalJSON() ([]byte, error) { // DownloadLineItemsResponse: Download line items response. type DownloadLineItemsResponse struct { - // LineItems: Retrieved line items in CSV format. Refer to Entity Write - // File Format or Structured Data File Format for more information on - // file formats. + // LineItems: Retrieved line items in CSV format. For more information + // about file formats, see Entity Write File Format. LineItems string `json:"lineItems,omitempty"` // ServerResponse contains the HTTP response code and headers from the diff --git a/vendor/google.golang.org/api/doubleclicksearch/v2/doubleclicksearch-api.json b/vendor/google.golang.org/api/doubleclicksearch/v2/doubleclicksearch-api.json index 6a81256da..480c7ea2b 100644 --- a/vendor/google.golang.org/api/doubleclicksearch/v2/doubleclicksearch-api.json +++ b/vendor/google.golang.org/api/doubleclicksearch/v2/doubleclicksearch-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/HNx5Z9luIGXFFG34jFOjICfZiIg\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/j5gjSKpGteQd-SLFB7hu3AlcpYg\"", "discoveryVersion": "v1", "id": "doubleclicksearch:v2", "name": "doubleclicksearch", "version": "v2", - "revision": "20170607", + "revision": "20170905", "title": "DoubleClick Search API", "description": "Reports and modifies your advertising data in DoubleClick Search (for example, campaigns, ad groups, keywords, and conversions).", "ownerDomain": "google.com", @@ -20,7 +20,7 @@ "basePath": "/doubleclicksearch/v2/", "rootUrl": "https://www.googleapis.com/", "servicePath": "doubleclicksearch/v2/", - "batchPath": "batch", + "batchPath": "batch/doubleclicksearch/v2", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/drive/v2/drive-api.json b/vendor/google.golang.org/api/drive/v2/drive-api.json index 32a2949b6..e939e793b 100644 --- a/vendor/google.golang.org/api/drive/v2/drive-api.json +++ b/vendor/google.golang.org/api/drive/v2/drive-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/GZBaoIT2JIa-WG47c56OJgYWjRw\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/DCrAVU-W3UzljIhuRMkT-kOc_P8\"", "discoveryVersion": "v1", "id": "drive:v2", "name": "drive", "version": "v2", - "revision": "20170623", + "revision": "20170825", "title": "Drive API", "description": "Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions.", "ownerDomain": "google.com", @@ -20,7 +20,7 @@ "basePath": "/drive/v2/", "rootUrl": "https://www.googleapis.com/", "servicePath": "drive/v2/", - "batchPath": "batch", + "batchPath": "batch/drive/v2", "parameters": { "alt": { "type": "string", @@ -1332,6 +1332,13 @@ "$ref": "ParentReference" } }, + "permissionIds": { + "type": "array", + "description": "List of permission IDs for users with access to this file.", + "items": { + "type": "string" + } + }, "permissions": { "type": "array", "description": "The list of permissions for users with access to this file. Not populated for Team Drive files.", @@ -3255,7 +3262,7 @@ }, "orderBy": { "type": "string", - "description": "A comma-separated list of sort keys. Valid keys are 'createdDate', 'folder', 'lastViewedByMeDate', 'modifiedByMeDate', 'modifiedDate', 'quotaBytesUsed', 'recency', 'sharedWithMeDate', 'starred', and 'title'. Each key sorts ascending by default, but may be reversed with the 'desc' modifier. Example usage: ?orderBy=folder,modifiedDate desc,title. Please note that there is a current limitation for users with approximately one million files in which the requested sort order is ignored.", + "description": "A comma-separated list of sort keys. Valid keys are 'createdDate', 'folder', 'lastViewedByMeDate', 'modifiedByMeDate', 'modifiedDate', 'quotaBytesUsed', 'recency', 'sharedWithMeDate', 'starred', 'title', and 'title_natural'. Each key sorts ascending by default, but may be reversed with the 'desc' modifier. Example usage: ?orderBy=folder,modifiedDate desc,title. Please note that there is a current limitation for users with approximately one million files in which the requested sort order is ignored.", "location": "query" }, "pageToken": { diff --git a/vendor/google.golang.org/api/drive/v2/drive-gen.go b/vendor/google.golang.org/api/drive/v2/drive-gen.go index 87db7749d..867d93caf 100644 --- a/vendor/google.golang.org/api/drive/v2/drive-gen.go +++ b/vendor/google.golang.org/api/drive/v2/drive-gen.go @@ -1590,6 +1590,10 @@ type File struct { // default root folder. Parents []*ParentReference `json:"parents,omitempty"` + // PermissionIds: List of permission IDs for users with access to this + // file. + PermissionIds []string `json:"permissionIds,omitempty"` + // Permissions: The list of permissions for users with access to this // file. Not populated for Team Drive files. Permissions []*Permission `json:"permissions,omitempty"` @@ -7149,16 +7153,12 @@ func (c *FilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) { // method id "drive.files.insert": type FilesInsertCall struct { - s *Service - file *File - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + file *File + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Insert: Insert a new file. @@ -7247,12 +7247,7 @@ func (c *FilesInsertCall) Visibility(visibility string) *FilesInsertCall { // supplied. // At most one of Media and ResumableMedia may be set. func (c *FilesInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *FilesInsertCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -7267,11 +7262,7 @@ func (c *FilesInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) * // supersede any context previously provided to the Context method. func (c *FilesInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *FilesInsertCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -7280,7 +7271,7 @@ func (c *FilesInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, siz // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *FilesInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *FilesInsertCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -7325,27 +7316,16 @@ func (c *FilesInsertCall) doRequest(alt string) (*http.Response, error) { reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "files") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -7378,20 +7358,10 @@ func (c *FilesInsertCall) Do(opts ...googleapi.CallOption) (*File, error) { if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -7574,12 +7544,12 @@ func (c *FilesListCall) MaxResults(maxResults int64) *FilesListCall { // OrderBy sets the optional parameter "orderBy": A comma-separated list // of sort keys. Valid keys are 'createdDate', 'folder', // 'lastViewedByMeDate', 'modifiedByMeDate', 'modifiedDate', -// 'quotaBytesUsed', 'recency', 'sharedWithMeDate', 'starred', and -// 'title'. Each key sorts ascending by default, but may be reversed -// with the 'desc' modifier. Example usage: ?orderBy=folder,modifiedDate -// desc,title. Please note that there is a current limitation for users -// with approximately one million files in which the requested sort -// order is ignored. +// 'quotaBytesUsed', 'recency', 'sharedWithMeDate', 'starred', 'title', +// and 'title_natural'. Each key sorts ascending by default, but may be +// reversed with the 'desc' modifier. Example usage: +// ?orderBy=folder,modifiedDate desc,title. Please note that there is a +// current limitation for users with approximately one million files in +// which the requested sort order is ignored. func (c *FilesListCall) OrderBy(orderBy string) *FilesListCall { c.urlParams_.Set("orderBy", orderBy) return c @@ -7759,7 +7729,7 @@ func (c *FilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) { // "type": "integer" // }, // "orderBy": { - // "description": "A comma-separated list of sort keys. Valid keys are 'createdDate', 'folder', 'lastViewedByMeDate', 'modifiedByMeDate', 'modifiedDate', 'quotaBytesUsed', 'recency', 'sharedWithMeDate', 'starred', and 'title'. Each key sorts ascending by default, but may be reversed with the 'desc' modifier. Example usage: ?orderBy=folder,modifiedDate desc,title. Please note that there is a current limitation for users with approximately one million files in which the requested sort order is ignored.", + // "description": "A comma-separated list of sort keys. Valid keys are 'createdDate', 'folder', 'lastViewedByMeDate', 'modifiedByMeDate', 'modifiedDate', 'quotaBytesUsed', 'recency', 'sharedWithMeDate', 'starred', 'title', and 'title_natural'. Each key sorts ascending by default, but may be reversed with the 'desc' modifier. Example usage: ?orderBy=folder,modifiedDate desc,title. Please note that there is a current limitation for users with approximately one million files in which the requested sort order is ignored.", // "location": "query", // "type": "string" // }, @@ -8616,17 +8586,13 @@ func (c *FilesUntrashCall) Do(opts ...googleapi.CallOption) (*File, error) { // method id "drive.files.update": type FilesUpdateCall struct { - s *Service - fileId string - file *File - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + fileId string + file *File + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Update: Updates file metadata and/or content. @@ -8764,12 +8730,7 @@ func (c *FilesUpdateCall) UseContentAsIndexableText(useContentAsIndexableText bo // supplied. // At most one of Media and ResumableMedia may be set. func (c *FilesUpdateCall) Media(r io.Reader, options ...googleapi.MediaOption) *FilesUpdateCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -8784,11 +8745,7 @@ func (c *FilesUpdateCall) Media(r io.Reader, options ...googleapi.MediaOption) * // supersede any context previously provided to the Context method. func (c *FilesUpdateCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *FilesUpdateCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -8797,7 +8754,7 @@ func (c *FilesUpdateCall) ResumableMedia(ctx context.Context, r io.ReaderAt, siz // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *FilesUpdateCall) ProgressUpdater(pu googleapi.ProgressUpdater) *FilesUpdateCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -8842,27 +8799,16 @@ func (c *FilesUpdateCall) doRequest(alt string) (*http.Response, error) { reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("PUT", urls, body) req.Header = reqHeaders @@ -8898,20 +8844,10 @@ func (c *FilesUpdateCall) Do(opts ...googleapi.CallOption) (*File, error) { if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -12078,16 +12014,12 @@ func (c *RealtimeGetCall) Do(opts ...googleapi.CallOption) error { // method id "drive.realtime.update": type RealtimeUpdateCall struct { - s *Service - fileId string - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + fileId string + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Update: Overwrites the Realtime API data model associated with this @@ -12118,12 +12050,7 @@ func (c *RealtimeUpdateCall) BaseRevision(baseRevision string) *RealtimeUpdateCa // supplied. // At most one of Media and ResumableMedia may be set. func (c *RealtimeUpdateCall) Media(r io.Reader, options ...googleapi.MediaOption) *RealtimeUpdateCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -12138,11 +12065,7 @@ func (c *RealtimeUpdateCall) Media(r io.Reader, options ...googleapi.MediaOption // supersede any context previously provided to the Context method. func (c *RealtimeUpdateCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *RealtimeUpdateCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -12151,7 +12074,7 @@ func (c *RealtimeUpdateCall) ResumableMedia(ctx context.Context, r io.ReaderAt, // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *RealtimeUpdateCall) ProgressUpdater(pu googleapi.ProgressUpdater) *RealtimeUpdateCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -12191,27 +12114,16 @@ func (c *RealtimeUpdateCall) doRequest(alt string) (*http.Response, error) { var body io.Reader = nil c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}/realtime") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("PUT", urls, body) req.Header = reqHeaders @@ -12232,20 +12144,10 @@ func (c *RealtimeUpdateCall) Do(opts ...googleapi.CallOption) error { if err := googleapi.CheckResponse(res); err != nil { return err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() diff --git a/vendor/google.golang.org/api/drive/v3/drive-api.json b/vendor/google.golang.org/api/drive/v3/drive-api.json index 68f30fcac..af334955a 100644 --- a/vendor/google.golang.org/api/drive/v3/drive-api.json +++ b/vendor/google.golang.org/api/drive/v3/drive-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/UFnN-1uMaWxq-BESPylMBj6ravQ\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/4lSDxYnFTkLYmJZsTikGDh17fVo\"", "discoveryVersion": "v1", "id": "drive:v3", "name": "drive", "version": "v3", - "revision": "20170623", + "revision": "20170825", "title": "Drive API", "description": "Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions.", "ownerDomain": "google.com", @@ -20,7 +20,7 @@ "basePath": "/drive/v3/", "rootUrl": "https://www.googleapis.com/", "servicePath": "drive/v3/", - "batchPath": "batch", + "batchPath": "batch/drive/v3", "parameters": { "alt": { "type": "string", @@ -759,6 +759,13 @@ "type": "string" } }, + "permissionIds": { + "type": "array", + "description": "List of permission IDs for users with access to this file.", + "items": { + "type": "string" + } + }, "permissions": { "type": "array", "description": "The full list of permissions for the file. This is only available if the requesting user can share the file. Not populated for Team Drive files.", @@ -2112,7 +2119,7 @@ }, "orderBy": { "type": "string", - "description": "A comma-separated list of sort keys. Valid keys are 'createdTime', 'folder', 'modifiedByMeTime', 'modifiedTime', 'name', 'quotaBytesUsed', 'recency', 'sharedWithMeTime', 'starred', and 'viewedByMeTime'. Each key sorts ascending by default, but may be reversed with the 'desc' modifier. Example usage: ?orderBy=folder,modifiedTime desc,name. Please note that there is a current limitation for users with approximately one million files in which the requested sort order is ignored.", + "description": "A comma-separated list of sort keys. Valid keys are 'createdTime', 'folder', 'modifiedByMeTime', 'modifiedTime', 'name', 'name_natural', 'quotaBytesUsed', 'recency', 'sharedWithMeTime', 'starred', and 'viewedByMeTime'. Each key sorts ascending by default, but may be reversed with the 'desc' modifier. Example usage: ?orderBy=folder,modifiedTime desc,name. Please note that there is a current limitation for users with approximately one million files in which the requested sort order is ignored.", "location": "query" }, "pageSize": { diff --git a/vendor/google.golang.org/api/drive/v3/drive-gen.go b/vendor/google.golang.org/api/drive/v3/drive-gen.go index 23504e274..29c7a27d9 100644 --- a/vendor/google.golang.org/api/drive/v3/drive-gen.go +++ b/vendor/google.golang.org/api/drive/v3/drive-gen.go @@ -795,6 +795,10 @@ type File struct { // addParents and removeParents parameters to modify the values. Parents []string `json:"parents,omitempty"` + // PermissionIds: List of permission IDs for users with access to this + // file. + PermissionIds []string `json:"permissionIds,omitempty"` + // Permissions: The full list of permissions for the file. This is only // available if the requesting user can share the file. Not populated // for Team Drive files. @@ -3990,16 +3994,12 @@ func (c *FilesCopyCall) Do(opts ...googleapi.CallOption) (*File, error) { // method id "drive.files.create": type FilesCreateCall struct { - s *Service - file *File - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + file *File + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Create: Creates a new file. @@ -4060,12 +4060,7 @@ func (c *FilesCreateCall) UseContentAsIndexableText(useContentAsIndexableText bo // supplied. // At most one of Media and ResumableMedia may be set. func (c *FilesCreateCall) Media(r io.Reader, options ...googleapi.MediaOption) *FilesCreateCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -4080,11 +4075,7 @@ func (c *FilesCreateCall) Media(r io.Reader, options ...googleapi.MediaOption) * // supersede any context previously provided to the Context method. func (c *FilesCreateCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *FilesCreateCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -4093,7 +4084,7 @@ func (c *FilesCreateCall) ResumableMedia(ctx context.Context, r io.ReaderAt, siz // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *FilesCreateCall) ProgressUpdater(pu googleapi.ProgressUpdater) *FilesCreateCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -4138,27 +4129,16 @@ func (c *FilesCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "files") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -4191,20 +4171,10 @@ func (c *FilesCreateCall) Do(opts ...googleapi.CallOption) (*File, error) { if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -5022,13 +4992,13 @@ func (c *FilesListCall) IncludeTeamDriveItems(includeTeamDriveItems bool) *Files // OrderBy sets the optional parameter "orderBy": A comma-separated list // of sort keys. Valid keys are 'createdTime', 'folder', -// 'modifiedByMeTime', 'modifiedTime', 'name', 'quotaBytesUsed', -// 'recency', 'sharedWithMeTime', 'starred', and 'viewedByMeTime'. Each -// key sorts ascending by default, but may be reversed with the 'desc' -// modifier. Example usage: ?orderBy=folder,modifiedTime desc,name. -// Please note that there is a current limitation for users with -// approximately one million files in which the requested sort order is -// ignored. +// 'modifiedByMeTime', 'modifiedTime', 'name', 'name_natural', +// 'quotaBytesUsed', 'recency', 'sharedWithMeTime', 'starred', and +// 'viewedByMeTime'. Each key sorts ascending by default, but may be +// reversed with the 'desc' modifier. Example usage: +// ?orderBy=folder,modifiedTime desc,name. Please note that there is a +// current limitation for users with approximately one million files in +// which the requested sort order is ignored. func (c *FilesListCall) OrderBy(orderBy string) *FilesListCall { c.urlParams_.Set("orderBy", orderBy) return c @@ -5199,7 +5169,7 @@ func (c *FilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) { // "type": "boolean" // }, // "orderBy": { - // "description": "A comma-separated list of sort keys. Valid keys are 'createdTime', 'folder', 'modifiedByMeTime', 'modifiedTime', 'name', 'quotaBytesUsed', 'recency', 'sharedWithMeTime', 'starred', and 'viewedByMeTime'. Each key sorts ascending by default, but may be reversed with the 'desc' modifier. Example usage: ?orderBy=folder,modifiedTime desc,name. Please note that there is a current limitation for users with approximately one million files in which the requested sort order is ignored.", + // "description": "A comma-separated list of sort keys. Valid keys are 'createdTime', 'folder', 'modifiedByMeTime', 'modifiedTime', 'name', 'name_natural', 'quotaBytesUsed', 'recency', 'sharedWithMeTime', 'starred', and 'viewedByMeTime'. Each key sorts ascending by default, but may be reversed with the 'desc' modifier. Example usage: ?orderBy=folder,modifiedTime desc,name. Please note that there is a current limitation for users with approximately one million files in which the requested sort order is ignored.", // "location": "query", // "type": "string" // }, @@ -5281,17 +5251,13 @@ func (c *FilesListCall) Pages(ctx context.Context, f func(*FileList) error) erro // method id "drive.files.update": type FilesUpdateCall struct { - s *Service - fileId string - file *File - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + fileId string + file *File + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Update: Updates a file's metadata and/or content with patch @@ -5357,12 +5323,7 @@ func (c *FilesUpdateCall) UseContentAsIndexableText(useContentAsIndexableText bo // supplied. // At most one of Media and ResumableMedia may be set. func (c *FilesUpdateCall) Media(r io.Reader, options ...googleapi.MediaOption) *FilesUpdateCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -5377,11 +5338,7 @@ func (c *FilesUpdateCall) Media(r io.Reader, options ...googleapi.MediaOption) * // supersede any context previously provided to the Context method. func (c *FilesUpdateCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *FilesUpdateCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -5390,7 +5347,7 @@ func (c *FilesUpdateCall) ResumableMedia(ctx context.Context, r io.ReaderAt, siz // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *FilesUpdateCall) ProgressUpdater(pu googleapi.ProgressUpdater) *FilesUpdateCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -5435,27 +5392,16 @@ func (c *FilesUpdateCall) doRequest(alt string) (*http.Response, error) { reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "files/{fileId}") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("PATCH", urls, body) req.Header = reqHeaders @@ -5491,20 +5437,10 @@ func (c *FilesUpdateCall) Do(opts ...googleapi.CallOption) (*File, error) { if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() diff --git a/vendor/google.golang.org/api/firebasedynamiclinks/v1/firebasedynamiclinks-api.json b/vendor/google.golang.org/api/firebasedynamiclinks/v1/firebasedynamiclinks-api.json index e576cd489..bc6fd9066 100644 --- a/vendor/google.golang.org/api/firebasedynamiclinks/v1/firebasedynamiclinks-api.json +++ b/vendor/google.golang.org/api/firebasedynamiclinks/v1/firebasedynamiclinks-api.json @@ -1,16 +1,4 @@ { - "canonicalName": "Firebase Dynamic Links", - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/firebase": { - "description": "View and administer all your Firebase data and settings" - } - } - } - }, - "rootUrl": "https://firebasedynamiclinks.googleapis.com/", - "ownerDomain": "google.com", "name": "firebasedynamiclinks", "batchPath": "batch", "title": "Firebase Dynamic Links API", @@ -23,15 +11,15 @@ "$ref": "CreateShortDynamicLinkRequest" }, "description": "Creates a short Dynamic Link given either a valid long Dynamic Link or\ndetails such as Dynamic Link domain, Android and iOS app information.\nThe created short Dynamic Link will not expire.\n\nRepeated calls with the same long Dynamic Link or Dynamic Link information\nwill produce the same short Dynamic Link.\n\nThe Dynamic Link domain in the request must be owned by requester's\nFirebase project.", + "httpMethod": "POST", + "parameterOrder": [], "response": { "$ref": "CreateShortDynamicLinkResponse" }, - "parameterOrder": [], - "httpMethod": "POST", + "parameters": {}, "scopes": [ "https://www.googleapis.com/auth/firebase" ], - "parameters": {}, "flatPath": "v1/shortLinks", "id": "firebasedynamiclinks.shortLinks.create", "path": "v1/shortLinks" @@ -40,9 +28,27 @@ }, "v1": { "methods": { + "installAttribution": { + "response": { + "$ref": "GetIosPostInstallAttributionResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/firebase" + ], + "parameters": {}, + "flatPath": "v1/installAttribution", + "path": "v1/installAttribution", + "id": "firebasedynamiclinks.installAttribution", + "description": "Get iOS strong/weak-match info for post-install attribution.", + "request": { + "$ref": "GetIosPostInstallAttributionRequest" + } + }, "getLinkStats": { - "id": "firebasedynamiclinks.getLinkStats", "path": "v1/{dynamicLink}/linkStats", + "id": "firebasedynamiclinks.getLinkStats", "description": "Fetches analytics stats of a short Dynamic Link for a given\nduration. Metrics include number of clicks, redirects, installs,\napp first opens, and app reopens.", "response": { "$ref": "DynamicLinkStats" @@ -51,104 +57,29 @@ "dynamicLink" ], "httpMethod": "GET", - "parameters": { - "durationDays": { - "location": "query", - "format": "int64", - "description": "The span of time requested in days.", - "type": "string" - }, - "dynamicLink": { - "type": "string", - "required": true, - "location": "path", - "description": "Dynamic Link URL. e.g. https://abcd.app.goo.gl/wxyz" - } - }, "scopes": [ "https://www.googleapis.com/auth/firebase" ], + "parameters": { + "durationDays": { + "location": "query", + "description": "The span of time requested in days.", + "format": "int64", + "type": "string" + }, + "dynamicLink": { + "description": "Dynamic Link URL. e.g. https://abcd.app.goo.gl/wxyz", + "required": true, + "type": "string", + "location": "path" + } + }, "flatPath": "v1/{dynamicLink}/linkStats" } } } }, "parameters": { - "fields": { - "location": "query", - "description": "Selector specifying which fields to include in a partial response.", - "type": "string" - }, - "uploadType": { - "type": "string", - "location": "query", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")." - }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, - "$.xgafv": { - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" - ], - "description": "V1 error format.", - "type": "string" - }, - "alt": { - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query", - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], - "type": "string" - }, - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string", - "location": "query" - }, - "access_token": { - "type": "string", - "location": "query", - "description": "OAuth access token." - }, - "quotaUser": { - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" - }, - "pp": { - "location": "query", - "description": "Pretty-print response.", - "default": "true", - "type": "boolean" - }, - "oauth_token": { - "location": "query", - "description": "OAuth 2.0 token for the current user.", - "type": "string" - }, - "bearer_token": { - "description": "OAuth bearer token.", - "type": "string", - "location": "query" - }, "upload_protocol": { "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "type": "string", @@ -156,48 +87,331 @@ }, "prettyPrint": { "description": "Returns response with indentations and line breaks.", - "default": "true", "type": "boolean", + "default": "true", + "location": "query" + }, + "uploadType": { + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" + }, + "fields": { + "location": "query", + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, + "$.xgafv": { + "location": "query", + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ] + }, + "alt": { + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query" + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "access_token": { + "location": "query", + "description": "OAuth access token.", + "type": "string" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" + }, + "pp": { + "description": "Pretty-print response.", + "type": "boolean", + "default": "true", + "location": "query" + }, + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", + "location": "query" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", "location": "query" } }, "version": "v1", - "baseUrl": "https://firebasedynamiclinks.googleapis.com/", + "baseUrl": "https://firebasedynamiclinks-ipv6.googleapis.com/", "servicePath": "", "description": "Programmatically creates and manages Firebase Dynamic Links.", "kind": "discovery#restDescription", "basePath": "", "id": "firebasedynamiclinks:v1", - "revision": "20170703", "documentationLink": "https://firebase.google.com/docs/dynamic-links/", + "revision": "20170926", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { - "ITunesConnectAnalytics": { - "id": "ITunesConnectAnalytics", - "description": "Parameters for iTunes Connect App Analytics.", + "CreateShortDynamicLinkResponse": { + "id": "CreateShortDynamicLinkResponse", + "description": "Response to create a short Dynamic Link.", "type": "object", + "properties": { + "shortLink": { + "description": "Short Dynamic Link value. e.g. https://abcd.app.goo.gl/wxyz", + "type": "string" + }, + "previewLink": { + "description": "Preivew link to show the link flow chart.", + "type": "string" + }, + "warning": { + "description": "Information about potential warnings on link creation.", + "type": "array", + "items": { + "$ref": "DynamicLinkWarning" + } + } + } + }, + "Suffix": { + "description": "Short Dynamic Link suffix.", + "type": "object", + "properties": { + "option": { + "description": "Suffix option.", + "type": "string", + "enumDescriptions": [ + "The suffix option is not specified, performs as NOT_GUESSABLE .", + "Short Dynamic Link suffix is a base62 [0-9A-Za-z] encoded string of\na random generated 96 bit random number, which has a length of 17 chars.\nFor example, \"nlAR8U4SlKRZw1cb2\".\nIt prevents other people from guessing and crawling short Dynamic Links\nthat contain personal identifiable information.", + "Short Dynamic Link suffix is a base62 [0-9A-Za-z] string starting with a\nlength of 4 chars. the length will increase when all the space is\noccupied." + ], + "enum": [ + "OPTION_UNSPECIFIED", + "UNGUESSABLE", + "SHORT" + ] + } + }, + "id": "Suffix" + }, + "GooglePlayAnalytics": { + "description": "Parameters for Google Play Campaign Measurements.\n[Learn more](https://developers.google.com/analytics/devguides/collection/android/v4/campaigns#campaign-params)", + "type": "object", + "properties": { + "utmContent": { + "description": "Campaign content; used for A/B testing and content-targeted ads to\ndifferentiate ads or links that point to the same URL.", + "type": "string" + }, + "utmMedium": { + "description": "Campaign medium; used to identify a medium such as email or cost-per-click.", + "type": "string" + }, + "utmTerm": { + "description": "Campaign term; used with paid search to supply the keywords for ads.", + "type": "string" + }, + "utmSource": { + "description": "Campaign source; used to identify a search engine, newsletter, or other\nsource.", + "type": "string" + }, + "gclid": { + "description": "[AdWords autotagging parameter](https://support.google.com/analytics/answer/1033981?hl=en);\nused to measure Google AdWords ads. This value is generated dynamically\nand should never be modified.", + "type": "string" + }, + "utmCampaign": { + "type": "string", + "description": "Campaign name; used for keyword analysis to identify a specific product\npromotion or strategic campaign." + } + }, + "id": "GooglePlayAnalytics" + }, + "DynamicLinkInfo": { + "description": "Information about a Dynamic Link.", + "type": "object", + "properties": { + "navigationInfo": { + "$ref": "NavigationInfo", + "description": "Information of navigation behavior of a Firebase Dynamic Links." + }, + "analyticsInfo": { + "description": "Parameters used for tracking. See all tracking parameters in the\n[documentation](https://firebase.google.com/docs/dynamic-links/create-manually).", + "$ref": "AnalyticsInfo" + }, + "dynamicLinkDomain": { + "description": "Dynamic Links domain that the project owns, e.g. abcd.app.goo.gl\n[Learn more](https://firebase.google.com/docs/dynamic-links/android/receive)\non how to set up Dynamic Link domain associated with your Firebase project.\n\nRequired.", + "type": "string" + }, + "link": { + "description": "The link your app will open, You can specify any URL your app can handle.\nThis link must be a well-formatted URL, be properly URL-encoded, and use\nthe HTTP or HTTPS scheme. See 'link' parameters in the\n[documentation](https://firebase.google.com/docs/dynamic-links/create-manually).\n\nRequired.", + "type": "string" + }, + "iosInfo": { + "$ref": "IosInfo", + "description": "iOS related information. See iOS related parameters in the\n[documentation](https://firebase.google.com/docs/dynamic-links/create-manually)." + }, + "socialMetaTagInfo": { + "$ref": "SocialMetaTagInfo", + "description": "Parameters for social meta tag params.\nUsed to set meta tag data for link previews on social sites." + }, + "androidInfo": { + "$ref": "AndroidInfo", + "description": "Android related information. See Android related parameters in the\n[documentation](https://firebase.google.com/docs/dynamic-links/create-manually)." + } + }, + "id": "DynamicLinkInfo" + }, + "ITunesConnectAnalytics": { "properties": { "at": { "description": "Affiliate token used to create affiliate-coded links.", "type": "string" }, - "mt": { - "description": "iTune media types, including music, podcasts, audiobooks and so on.", - "type": "string" - }, "ct": { "description": "Campaign text that developers can optionally add to any link in order to\ntrack sales from a specific marketing campaign.", "type": "string" }, + "mt": { + "description": "iTune media types, including music, podcasts, audiobooks and so on.", + "type": "string" + }, "pt": { "description": "Provider token that enables analytics for Dynamic Links from within iTunes\nConnect.", "type": "string" } - } + }, + "id": "ITunesConnectAnalytics", + "description": "Parameters for iTunes Connect App Analytics.", + "type": "object" + }, + "DeviceInfo": { + "description": "Signals associated with the device making the request.", + "type": "object", + "properties": { + "screenResolutionHeight": { + "description": "Device display resolution height.", + "format": "int64", + "type": "string" + }, + "languageCode": { + "description": "Device language code setting.", + "type": "string" + }, + "timezone": { + "description": "Device timezone setting.", + "type": "string" + }, + "screenResolutionWidth": { + "description": "Device display resolution width.", + "format": "int64", + "type": "string" + }, + "deviceModelName": { + "description": "Device model name.", + "type": "string" + } + }, + "id": "DeviceInfo" + }, + "GetIosPostInstallAttributionResponse": { + "description": "Response for iSDK to execute strong match flow for post-install attribution.", + "type": "object", + "properties": { + "deepLink": { + "description": "The deep-link attributed post-install via one of several techniques\n(fingerprint, copy unique).", + "type": "string" + }, + "invitationId": { + "description": "Invitation ID attributed post-install via one of several techniques\n(fingerprint, copy unique).", + "type": "string" + }, + "attributionConfidence": { + "enum": [ + "UNKNOWN_ATTRIBUTION_CONFIDENCE", + "WEAK", + "DEFAULT", + "UNIQUE" + ], + "description": "The confidence of the returned attribution.", + "type": "string", + "enumDescriptions": [ + "Unset.", + "Weak confidence, more than one matching link found or link suspected to\nbe false positive", + "Default confidence, match based on fingerprint", + "Unique confidence, match based on \"unique match link to check\" or other\nmeans" + ] + }, + "externalBrowserDestinationLink": { + "description": "User-agent specific custom-scheme URIs for iSDK to open. This will be set\naccording to the user-agent tha the click was originally made in. There is\nno Safari-equivalent custom-scheme open URLs.\nie: googlechrome://www.example.com\nie: firefox://open-url?url=http://www.example.com\nie: opera-http://example.com", + "type": "string" + }, + "matchMessage": { + "description": "Describes why match failed, ie: \"discarded due to low confidence\".\nThis message will be publicly visible.", + "type": "string" + }, + "resolvedLink": { + "description": "The entire FDL, expanded from a short link. It is the same as the\nrequested_link, if it is long. Parameters from this should not be\nused directly (ie: server can default utm_[campaign|medium|source]\nto a value when requested_link lack them, server determine the best\nfallback_link when requested_link specifies \u003e1 fallback links).", + "type": "string" + }, + "utmCampaign": { + "description": "Scion campaign value to be propagated by iSDK to Scion at post-install.", + "type": "string" + }, + "fallbackLink": { + "description": "The link to navigate to update the app if min version is not met.\nThis is either (in order): 1) fallback link (from ?ifl= parameter, if\nspecified by developer) or 2) AppStore URL (from ?isi= parameter, if\nspecified), or 3) the payload link (from required link= parameter).", + "type": "string" + }, + "requestedLink": { + "description": "Entire FDL (short or long) attributed post-install via one of several\ntechniques (fingerprint, copy unique).", + "type": "string" + }, + "utmMedium": { + "description": "Scion medium value to be propagated by iSDK to Scion at post-install.", + "type": "string" + }, + "utmSource": { + "description": "Scion source value to be propagated by iSDK to Scion at post-install.", + "type": "string" + }, + "isStrongMatchExecutable": { + "description": "Instruction for iSDK to attemmpt to perform strong match. For instance,\nif browser does not support/allow cookie or outside of support browsers,\nthis will be false.", + "type": "boolean" + }, + "appMinimumVersion": { + "description": "The minimum version for app, specified by dev through ?imv= parameter.\nReturn to iSDK to allow app to evaluate if current version meets this.", + "type": "string" + } + }, + "id": "GetIosPostInstallAttributionResponse" }, "SocialMetaTagInfo": { - "id": "SocialMetaTagInfo", "description": "Parameters for social meta tag params.\nUsed to set meta tag data for link previews on social sites.", "type": "object", "properties": { @@ -205,38 +419,30 @@ "description": "A short description of the link. Optional.", "type": "string" }, - "socialImageLink": { - "description": "An image url string. Optional.", - "type": "string" - }, "socialTitle": { "description": "Title to be displayed. Optional.", "type": "string" + }, + "socialImageLink": { + "description": "An image url string. Optional.", + "type": "string" } - } + }, + "id": "SocialMetaTagInfo" }, - "AndroidInfo": { - "id": "AndroidInfo", - "description": "Android related attributes to the Dynamic Link.", + "DynamicLinkStats": { + "description": "Analytics stats of a Dynamic Link for a given timeframe.", "type": "object", "properties": { - "androidLink": { - "type": "string", - "description": "If specified, this overrides the ‘link’ parameter on Android." - }, - "androidFallbackLink": { - "description": "Link to open on Android if the app is not installed.", - "type": "string" - }, - "androidPackageName": { - "description": "Android package name of the app.", - "type": "string" - }, - "androidMinPackageVersionCode": { - "description": "Minimum version code for the Android app. If the installed app’s version\ncode is lower, then the user is taken to the Play Store.", - "type": "string" + "linkEventStats": { + "description": "Dynamic Link event stats.", + "type": "array", + "items": { + "$ref": "DynamicLinkEventStat" + } } - } + }, + "id": "DynamicLinkStats" }, "DynamicLinkWarning": { "description": "Dynamic Links warning messages.", @@ -311,23 +517,36 @@ "warningMessage": { "description": "The warning message to help developers improve their requests.", "type": "string" + }, + "warningDocumentLink": { + "description": "The document describing the warning, and helps resolve.", + "type": "string" } }, "id": "DynamicLinkWarning" }, - "DynamicLinkStats": { + "AndroidInfo": { + "id": "AndroidInfo", + "description": "Android related attributes to the Dynamic Link.", + "type": "object", "properties": { - "linkEventStats": { - "description": "Dynamic Link event stats.", - "items": { - "$ref": "DynamicLinkEventStat" - }, - "type": "array" + "androidFallbackLink": { + "description": "Link to open on Android if the app is not installed.", + "type": "string" + }, + "androidPackageName": { + "description": "Android package name of the app.", + "type": "string" + }, + "androidMinPackageVersionCode": { + "description": "Minimum version code for the Android app. If the installed app’s version\ncode is lower, then the user is taken to the Play Store.", + "type": "string" + }, + "androidLink": { + "description": "If specified, this overrides the ‘link’ parameter on Android.", + "type": "string" } - }, - "id": "DynamicLinkStats", - "description": "Analytics stats of a Dynamic Link for a given timeframe.", - "type": "object" + } }, "NavigationInfo": { "description": "Information of navigation behavior.", @@ -341,6 +560,8 @@ "id": "NavigationInfo" }, "IosInfo": { + "description": "iOS related attributes to the Dynamic Link..", + "type": "object", "properties": { "iosFallbackLink": { "description": "Link to open on iOS if the app is not installed.", @@ -355,29 +576,27 @@ "type": "string" }, "iosIpadBundleId": { - "type": "string", - "description": "iPad bundle ID of the app." + "description": "iPad bundle ID of the app.", + "type": "string" }, "iosCustomScheme": { "description": "Custom (destination) scheme to use for iOS. By default, we’ll use the\nbundle ID as the custom scheme. Developer can override this behavior using\nthis param.", "type": "string" }, "iosBundleId": { - "description": "iOS bundle ID of the app.", - "type": "string" + "type": "string", + "description": "iOS bundle ID of the app." } }, - "id": "IosInfo", - "description": "iOS related attributes to the Dynamic Link..", - "type": "object" + "id": "IosInfo" }, "AnalyticsInfo": { "description": "Tracking parameters supported by Dynamic Link.", "type": "object", "properties": { "itunesConnectAnalytics": { - "description": "iTunes Connect App Analytics.", - "$ref": "ITunesConnectAnalytics" + "$ref": "ITunesConnectAnalytics", + "description": "iTunes Connect App Analytics." }, "googlePlayAnalytics": { "$ref": "GooglePlayAnalytics", @@ -387,6 +606,7 @@ "id": "AnalyticsInfo" }, "CreateShortDynamicLinkRequest": { + "description": "Request to create a short Dynamic Link.", "type": "object", "properties": { "dynamicLinkInfo": { @@ -398,19 +618,42 @@ "type": "string" }, "suffix": { - "description": "Short Dynamic Link suffix. Optional.", - "$ref": "Suffix" + "$ref": "Suffix", + "description": "Short Dynamic Link suffix. Optional." } }, - "id": "CreateShortDynamicLinkRequest", - "description": "Request to create a short Dynamic Link." + "id": "CreateShortDynamicLinkRequest" }, "DynamicLinkEventStat": { "description": "Dynamic Link event stat.", "type": "object", "properties": { - "platform": { + "count": { "type": "string", + "description": "The number of times this event occurred.", + "format": "int64" + }, + "event": { + "description": "Link event.", + "type": "string", + "enumDescriptions": [ + "Unspecified type.", + "Indicates that an FDL is clicked by users.", + "Indicates that an FDL redirects users to fallback link.", + "Indicates that an FDL triggers an app install from Play store, currently\nit's impossible to get stats from App store.", + "Indicates that the app is opened for the first time after an install\ntriggered by FDLs", + "Indicates that the app is opened via an FDL for non-first time." + ], + "enum": [ + "DYNAMIC_LINK_EVENT_UNSPECIFIED", + "CLICK", + "REDIRECT", + "APP_INSTALL", + "APP_FIRST_OPEN", + "APP_RE_OPEN" + ] + }, + "platform": { "enumDescriptions": [ "Unspecified platform.", "Represents Android platform.\nAll apps and browsers on Android are classfied in this category.", @@ -423,149 +666,90 @@ "IOS", "DESKTOP" ], - "description": "Requested platform." - }, - "count": { - "type": "string", - "format": "int64", - "description": "The number of times this event occurred." - }, - "event": { - "enum": [ - "DYNAMIC_LINK_EVENT_UNSPECIFIED", - "CLICK", - "REDIRECT", - "APP_INSTALL", - "APP_FIRST_OPEN", - "APP_RE_OPEN" - ], - "description": "Link event.", - "type": "string", - "enumDescriptions": [ - "Unspecified type.", - "Indicates that an FDL is clicked by users.", - "Indicates that an FDL redirects users to fallback link.", - "Indicates that an FDL triggers an app install from Play store, currently\nit's impossible to get stats from App store.", - "Indicates that the app is opened for the first time after an install\ntriggered by FDLs", - "Indicates that the app is opened via an FDL for non-first time." - ] + "description": "Requested platform.", + "type": "string" } }, "id": "DynamicLinkEventStat" }, - "CreateShortDynamicLinkResponse": { - "id": "CreateShortDynamicLinkResponse", - "description": "Response to create a short Dynamic Link.", + "GetIosPostInstallAttributionRequest": { + "description": "Request for iSDK to execute strong match flow for post-install attribution.\nThis is meant for iOS requests only. Requests from other platforms will\nnot be honored.", "type": "object", "properties": { - "previewLink": { - "description": "Preivew link to show the link flow chart.", + "uniqueMatchLinkToCheck": { + "description": "Possible unique matched link that server need to check before performing\nfingerprint match. If passed link is short server need to expand the link.\nIf link is long server need to vslidate the link.", "type": "string" }, - "warning": { - "description": "Information about potential warnings on link creation.", - "items": { - "$ref": "DynamicLinkWarning" - }, - "type": "array" + "appInstallationTime": { + "description": "App installation epoch time (https://en.wikipedia.org/wiki/Unix_time).\nThis is a client signal for a more accurate weak match.", + "format": "int64", + "type": "string" }, - "shortLink": { - "type": "string", - "description": "Short Dynamic Link value. e.g. https://abcd.app.goo.gl/wxyz" - } - } - }, - "Suffix": { - "type": "object", - "properties": { - "option": { - "enum": [ - "OPTION_UNSPECIFIED", - "UNGUESSABLE", - "SHORT" - ], - "description": "Suffix option.", - "type": "string", + "iosVersion": { + "description": "iOS version, ie: 9.3.5.\nConsider adding \"build\".", + "type": "string" + }, + "retrievalMethod": { "enumDescriptions": [ - "The suffix option is not specified, performs as NOT_GUESSABLE .", - "Short Dynamic Link suffix is a base62 [0-9A-Za-z] encoded string of\na random generated 96 bit random number, which has a length of 17 chars.\nFor example, \"nlAR8U4SlKRZw1cb2\".\nIt prevents other people from guessing and crawling short Dynamic Links\nthat contain personal identifiable information.", - "Short Dynamic Link suffix is a base62 [0-9A-Za-z] string starting with a\nlength of 4 chars. the length will increase when all the space is\noccupied." - ] + "Unknown method.", + "iSDK performs a server lookup by device fingerprint in the background\nwhen app is first-opened; no API called by developer.", + "iSDK performs a server lookup by device fingerprint upon a dev API call.", + "iSDK performs a strong match only if weak match is found upon a dev\nAPI call." + ], + "enum": [ + "UNKNOWN_PAYLOAD_RETRIEVAL_METHOD", + "IMPLICIT_WEAK_MATCH", + "EXPLICIT_WEAK_MATCH", + "EXPLICIT_STRONG_AFTER_WEAK_MATCH" + ], + "description": "App post install attribution retrieval information. Disambiguates\nmechanism (iSDK or developer invoked) to retrieve payload from\nclicked link.", + "type": "string" + }, + "visualStyle": { + "enumDescriptions": [ + "Unknown style.", + "Default style.", + "Custom style." + ], + "enum": [ + "UNKNOWN_VISUAL_STYLE", + "DEFAULT_STYLE", + "CUSTOM_STYLE" + ], + "description": "Strong match page information. Disambiguates between default UI and\ncustom page to present when strong match succeeds/fails to find cookie.", + "type": "string" + }, + "sdkVersion": { + "description": "Google SDK version.", + "type": "string" + }, + "bundleId": { + "description": "APP bundle ID.", + "type": "string" + }, + "device": { + "description": "Device information.", + "$ref": "DeviceInfo" } }, - "id": "Suffix", - "description": "Short Dynamic Link suffix." - }, - "GooglePlayAnalytics": { - "description": "Parameters for Google Play Campaign Measurements.\n[Learn more](https://developers.google.com/analytics/devguides/collection/android/v4/campaigns#campaign-params)", - "type": "object", - "properties": { - "gclid": { - "description": "[AdWords autotagging parameter](https://support.google.com/analytics/answer/1033981?hl=en);\nused to measure Google AdWords ads. This value is generated dynamically\nand should never be modified.", - "type": "string" - }, - "utmCampaign": { - "description": "Campaign name; used for keyword analysis to identify a specific product\npromotion or strategic campaign.", - "type": "string" - }, - "utmContent": { - "description": "Campaign content; used for A/B testing and content-targeted ads to\ndifferentiate ads or links that point to the same URL.", - "type": "string" - }, - "utmMedium": { - "description": "Campaign medium; used to identify a medium such as email or cost-per-click.", - "type": "string" - }, - "utmTerm": { - "description": "Campaign term; used with paid search to supply the keywords for ads.", - "type": "string" - }, - "utmSource": { - "description": "Campaign source; used to identify a search engine, newsletter, or other\nsource.", - "type": "string" - } - }, - "id": "GooglePlayAnalytics" - }, - "DynamicLinkInfo": { - "type": "object", - "properties": { - "androidInfo": { - "$ref": "AndroidInfo", - "description": "Android related information. See Android related parameters in the\n[documentation](https://firebase.google.com/docs/dynamic-links/create-manually)." - }, - "navigationInfo": { - "description": "Information of navigation behavior of a Firebase Dynamic Links.", - "$ref": "NavigationInfo" - }, - "analyticsInfo": { - "description": "Parameters used for tracking. See all tracking parameters in the\n[documentation](https://firebase.google.com/docs/dynamic-links/create-manually).", - "$ref": "AnalyticsInfo" - }, - "dynamicLinkDomain": { - "description": "Dynamic Links domain that the project owns, e.g. abcd.app.goo.gl\n[Learn more](https://firebase.google.com/docs/dynamic-links/android/receive)\non how to set up Dynamic Link domain associated with your Firebase project.\n\nRequired.", - "type": "string" - }, - "link": { - "type": "string", - "description": "The link your app will open, You can specify any URL your app can handle.\nThis link must be a well-formatted URL, be properly URL-encoded, and use\nthe HTTP or HTTPS scheme. See 'link' parameters in the\n[documentation](https://firebase.google.com/docs/dynamic-links/create-manually).\n\nRequired." - }, - "iosInfo": { - "$ref": "IosInfo", - "description": "iOS related information. See iOS related parameters in the\n[documentation](https://firebase.google.com/docs/dynamic-links/create-manually)." - }, - "socialMetaTagInfo": { - "$ref": "SocialMetaTagInfo", - "description": "Parameters for social meta tag params.\nUsed to set meta tag data for link previews on social sites." - } - }, - "id": "DynamicLinkInfo", - "description": "Information about a Dynamic Link." + "id": "GetIosPostInstallAttributionRequest" } }, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.gif" }, - "protocol": "rest" + "protocol": "rest", + "canonicalName": "Firebase Dynamic Links", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/firebase": { + "description": "View and administer all your Firebase data and settings" + } + } + } + }, + "rootUrl": "https://firebasedynamiclinks-ipv6.googleapis.com/", + "ownerDomain": "google.com" } diff --git a/vendor/google.golang.org/api/firebasedynamiclinks/v1/firebasedynamiclinks-gen.go b/vendor/google.golang.org/api/firebasedynamiclinks/v1/firebasedynamiclinks-gen.go index ed1f1dd55..2e197e7ae 100644 --- a/vendor/google.golang.org/api/firebasedynamiclinks/v1/firebasedynamiclinks-gen.go +++ b/vendor/google.golang.org/api/firebasedynamiclinks/v1/firebasedynamiclinks-gen.go @@ -43,7 +43,7 @@ var _ = ctxhttp.Do const apiId = "firebasedynamiclinks:v1" const apiName = "firebasedynamiclinks" const apiVersion = "v1" -const basePath = "https://firebasedynamiclinks.googleapis.com/" +const basePath = "https://firebasedynamiclinks-ipv6.googleapis.com/" // OAuth2 scopes used by this API. const ( @@ -258,6 +258,47 @@ func (s *CreateShortDynamicLinkResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// DeviceInfo: Signals associated with the device making the request. +type DeviceInfo struct { + // DeviceModelName: Device model name. + DeviceModelName string `json:"deviceModelName,omitempty"` + + // LanguageCode: Device language code setting. + LanguageCode string `json:"languageCode,omitempty"` + + // ScreenResolutionHeight: Device display resolution height. + ScreenResolutionHeight int64 `json:"screenResolutionHeight,omitempty,string"` + + // ScreenResolutionWidth: Device display resolution width. + ScreenResolutionWidth int64 `json:"screenResolutionWidth,omitempty,string"` + + // Timezone: Device timezone setting. + Timezone string `json:"timezone,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DeviceModelName") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DeviceModelName") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *DeviceInfo) MarshalJSON() ([]byte, error) { + type noMethod DeviceInfo + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // DynamicLinkEventStat: Dynamic Link event stat. type DynamicLinkEventStat struct { // Count: The number of times this event occurred. @@ -482,6 +523,10 @@ type DynamicLinkWarning struct { // not match with the given iOS store ID. WarningCode string `json:"warningCode,omitempty"` + // WarningDocumentLink: The document describing the warning, and helps + // resolve. + WarningDocumentLink string `json:"warningDocumentLink,omitempty"` + // WarningMessage: The warning message to help developers improve their // requests. WarningMessage string `json:"warningMessage,omitempty"` @@ -509,6 +554,208 @@ func (s *DynamicLinkWarning) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GetIosPostInstallAttributionRequest: Request for iSDK to execute +// strong match flow for post-install attribution. +// This is meant for iOS requests only. Requests from other platforms +// will +// not be honored. +type GetIosPostInstallAttributionRequest struct { + // AppInstallationTime: App installation epoch time + // (https://en.wikipedia.org/wiki/Unix_time). + // This is a client signal for a more accurate weak match. + AppInstallationTime int64 `json:"appInstallationTime,omitempty,string"` + + // BundleId: APP bundle ID. + BundleId string `json:"bundleId,omitempty"` + + // Device: Device information. + Device *DeviceInfo `json:"device,omitempty"` + + // IosVersion: iOS version, ie: 9.3.5. + // Consider adding "build". + IosVersion string `json:"iosVersion,omitempty"` + + // RetrievalMethod: App post install attribution retrieval information. + // Disambiguates + // mechanism (iSDK or developer invoked) to retrieve payload + // from + // clicked link. + // + // Possible values: + // "UNKNOWN_PAYLOAD_RETRIEVAL_METHOD" - Unknown method. + // "IMPLICIT_WEAK_MATCH" - iSDK performs a server lookup by device + // fingerprint in the background + // when app is first-opened; no API called by developer. + // "EXPLICIT_WEAK_MATCH" - iSDK performs a server lookup by device + // fingerprint upon a dev API call. + // "EXPLICIT_STRONG_AFTER_WEAK_MATCH" - iSDK performs a strong match + // only if weak match is found upon a dev + // API call. + RetrievalMethod string `json:"retrievalMethod,omitempty"` + + // SdkVersion: Google SDK version. + SdkVersion string `json:"sdkVersion,omitempty"` + + // UniqueMatchLinkToCheck: Possible unique matched link that server need + // to check before performing + // fingerprint match. If passed link is short server need to expand the + // link. + // If link is long server need to vslidate the link. + UniqueMatchLinkToCheck string `json:"uniqueMatchLinkToCheck,omitempty"` + + // VisualStyle: Strong match page information. Disambiguates between + // default UI and + // custom page to present when strong match succeeds/fails to find + // cookie. + // + // Possible values: + // "UNKNOWN_VISUAL_STYLE" - Unknown style. + // "DEFAULT_STYLE" - Default style. + // "CUSTOM_STYLE" - Custom style. + VisualStyle string `json:"visualStyle,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AppInstallationTime") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AppInstallationTime") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GetIosPostInstallAttributionRequest) MarshalJSON() ([]byte, error) { + type noMethod GetIosPostInstallAttributionRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GetIosPostInstallAttributionResponse: Response for iSDK to execute +// strong match flow for post-install attribution. +type GetIosPostInstallAttributionResponse struct { + // AppMinimumVersion: The minimum version for app, specified by dev + // through ?imv= parameter. + // Return to iSDK to allow app to evaluate if current version meets + // this. + AppMinimumVersion string `json:"appMinimumVersion,omitempty"` + + // AttributionConfidence: The confidence of the returned attribution. + // + // Possible values: + // "UNKNOWN_ATTRIBUTION_CONFIDENCE" - Unset. + // "WEAK" - Weak confidence, more than one matching link found or link + // suspected to + // be false positive + // "DEFAULT" - Default confidence, match based on fingerprint + // "UNIQUE" - Unique confidence, match based on "unique match link to + // check" or other + // means + AttributionConfidence string `json:"attributionConfidence,omitempty"` + + // DeepLink: The deep-link attributed post-install via one of several + // techniques + // (fingerprint, copy unique). + DeepLink string `json:"deepLink,omitempty"` + + // ExternalBrowserDestinationLink: User-agent specific custom-scheme + // URIs for iSDK to open. This will be set + // according to the user-agent tha the click was originally made in. + // There is + // no Safari-equivalent custom-scheme open URLs. + // ie: googlechrome://www.example.com + // ie: firefox://open-url?url=http://www.example.com + // ie: opera-http://example.com + ExternalBrowserDestinationLink string `json:"externalBrowserDestinationLink,omitempty"` + + // FallbackLink: The link to navigate to update the app if min version + // is not met. + // This is either (in order): 1) fallback link (from ?ifl= parameter, + // if + // specified by developer) or 2) AppStore URL (from ?isi= parameter, + // if + // specified), or 3) the payload link (from required link= parameter). + FallbackLink string `json:"fallbackLink,omitempty"` + + // InvitationId: Invitation ID attributed post-install via one of + // several techniques + // (fingerprint, copy unique). + InvitationId string `json:"invitationId,omitempty"` + + // IsStrongMatchExecutable: Instruction for iSDK to attemmpt to perform + // strong match. For instance, + // if browser does not support/allow cookie or outside of support + // browsers, + // this will be false. + IsStrongMatchExecutable bool `json:"isStrongMatchExecutable,omitempty"` + + // MatchMessage: Describes why match failed, ie: "discarded due to low + // confidence". + // This message will be publicly visible. + MatchMessage string `json:"matchMessage,omitempty"` + + // RequestedLink: Entire FDL (short or long) attributed post-install via + // one of several + // techniques (fingerprint, copy unique). + RequestedLink string `json:"requestedLink,omitempty"` + + // ResolvedLink: The entire FDL, expanded from a short link. It is the + // same as the + // requested_link, if it is long. Parameters from this should not + // be + // used directly (ie: server can default utm_[campaign|medium|source] + // to a value when requested_link lack them, server determine the + // best + // fallback_link when requested_link specifies >1 fallback links). + ResolvedLink string `json:"resolvedLink,omitempty"` + + // UtmCampaign: Scion campaign value to be propagated by iSDK to Scion + // at post-install. + UtmCampaign string `json:"utmCampaign,omitempty"` + + // UtmMedium: Scion medium value to be propagated by iSDK to Scion at + // post-install. + UtmMedium string `json:"utmMedium,omitempty"` + + // UtmSource: Scion source value to be propagated by iSDK to Scion at + // post-install. + UtmSource string `json:"utmSource,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "AppMinimumVersion") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AppMinimumVersion") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GetIosPostInstallAttributionResponse) MarshalJSON() ([]byte, error) { + type noMethod GetIosPostInstallAttributionResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GooglePlayAnalytics: Parameters for Google Play Campaign // Measurements. // [Learn @@ -1057,3 +1304,125 @@ func (c *V1GetLinkStatsCall) Do(opts ...googleapi.CallOption) (*DynamicLinkStats // } } + +// method id "firebasedynamiclinks.installAttribution": + +type V1InstallAttributionCall struct { + s *Service + getiospostinstallattributionrequest *GetIosPostInstallAttributionRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// InstallAttribution: Get iOS strong/weak-match info for post-install +// attribution. +func (r *V1Service) InstallAttribution(getiospostinstallattributionrequest *GetIosPostInstallAttributionRequest) *V1InstallAttributionCall { + c := &V1InstallAttributionCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.getiospostinstallattributionrequest = getiospostinstallattributionrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *V1InstallAttributionCall) Fields(s ...googleapi.Field) *V1InstallAttributionCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *V1InstallAttributionCall) Context(ctx context.Context) *V1InstallAttributionCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *V1InstallAttributionCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *V1InstallAttributionCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiospostinstallattributionrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/installAttribution") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebasedynamiclinks.installAttribution" call. +// Exactly one of *GetIosPostInstallAttributionResponse or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *GetIosPostInstallAttributionResponse.ServerResponse.Header or +// (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *V1InstallAttributionCall) Do(opts ...googleapi.CallOption) (*GetIosPostInstallAttributionResponse, 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, &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, err + } + ret := &GetIosPostInstallAttributionResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Get iOS strong/weak-match info for post-install attribution.", + // "flatPath": "v1/installAttribution", + // "httpMethod": "POST", + // "id": "firebasedynamiclinks.installAttribution", + // "parameterOrder": [], + // "parameters": {}, + // "path": "v1/installAttribution", + // "request": { + // "$ref": "GetIosPostInstallAttributionRequest" + // }, + // "response": { + // "$ref": "GetIosPostInstallAttributionResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} diff --git a/vendor/google.golang.org/api/firebaseremoteconfig/v1/firebaseremoteconfig-api.json b/vendor/google.golang.org/api/firebaseremoteconfig/v1/firebaseremoteconfig-api.json new file mode 100644 index 000000000..c6c38bbf4 --- /dev/null +++ b/vendor/google.golang.org/api/firebaseremoteconfig/v1/firebaseremoteconfig-api.json @@ -0,0 +1,275 @@ +{ + "version_module": true, + "schemas": { + "RemoteConfigParameter": { + "description": "While default_value and conditional_values are each optional, at least one of\nthe two is required - otherwise, the parameter is meaningless (and an\nexception will be thrown by the validation logic).", + "type": "object", + "properties": { + "conditionalValues": { + "additionalProperties": { + "$ref": "RemoteConfigParameterValue" + }, + "description": "Optional - a map of (condition_name, value). The condition_name of the\nhighest priority (the one listed first in the conditions array) determines\nthe value of this parameter.", + "type": "object" + }, + "defaultValue": { + "description": "Optional - value to set the parameter to, when none of the named conditions\nevaluate to \u003ccode\u003etrue\u003c/code\u003e.", + "$ref": "RemoteConfigParameterValue" + } + }, + "id": "RemoteConfigParameter" + }, + "RemoteConfigCondition": { + "description": "A single RemoteConfig Condition. A list of these (because order matters) are\npart of a single RemoteConfig template.", + "type": "object", + "properties": { + "name": { + "description": "Required.\nA non empty and unique name of this condition.", + "type": "string" + }, + "expression": { + "description": "Required.", + "type": "string" + }, + "tagColor": { + "enumDescriptions": [ + "", + "Blue", + "Brown", + "Cyan", + "aka \"Red Orange\"", + "Green", + "Indigo\n*", + "Lime - Approved deviation from Material color palette", + "Orange", + "Pink", + "Purple", + "Teal" + ], + "enum": [ + "CONDITION_DISPLAY_COLOR_UNSPECIFIED", + "BLUE", + "BROWN", + "CYAN", + "DEEP_ORANGE", + "GREEN", + "INDIGO", + "LIME", + "ORANGE", + "PINK", + "PURPLE", + "TEAL" + ], + "description": "Optional.\nThe display (tag) color of this condition. This serves as part of a tag\n(in the future, we may add tag text as well as tag color, but that is not\nyet implemented in the UI).\nThis value has no affect on the semantics of the delivered config and it\nis ignored by the backend, except for passing it through write/read\nrequests.\nNot having this value or having the \"CONDITION_DISPLAY_COLOR_UNSPECIFIED\"\nvalue (0) have the same meaning: Let the UI choose any valid color when\ndisplaying the condition.", + "type": "string" + } + }, + "id": "RemoteConfigCondition" + }, + "RemoteConfigParameterValue": { + "description": "A RemoteConfigParameter's \"value\" (either the default value, or the value\nassociated with a condition name) is either a string, or the\n\"use_in_app_default\" indicator (which means to leave out the parameter from\nthe returned \u003ckey, value\u003e map that is the output of the parameter fetch).\nWe represent the \"use_in_app_default\" as a bool, but (when using the boolean\ninstead of the string) it should always be \u003ccode\u003etrue\u003c/code\u003e.", + "type": "object", + "properties": { + "useInAppDefault": { + "type": "boolean", + "description": "if true, omit the parameter from the map of fetched parameter values" + }, + "value": { + "type": "string", + "description": "the string to set the parameter to" + } + }, + "id": "RemoteConfigParameterValue" + }, + "RemoteConfig": { + "description": "*\nThe RemoteConfig consists of a list of conditions (which can be\nthought of as named \"if\" statements) and a map of parameters (parameter key\nto a stucture containing an optional default value, as well as a optional\nsubmap of (condition name to value when that condition is true).", + "type": "object", + "properties": { + "parameters": { + "additionalProperties": { + "$ref": "RemoteConfigParameter" + }, + "description": "Map of parameter keys to their optional default values and optional submap\nof (condition name : value). Order doesn't affect semantics, and so is\nsorted by the server. The 'key' values of the params must be unique.", + "type": "object" + }, + "conditions": { + "items": { + "$ref": "RemoteConfigCondition" + }, + "type": "array", + "description": "The list of named conditions. The order *does* affect the semantics.\nThe condition_name values of these entries must be unique.\n\nThe resolved value of a config parameter P is determined as follow:\n* Let Y be the set of values from the submap of P that refer to conditions\n that evaluate to \u003ccode\u003etrue\u003c/code\u003e.\n* If Y is non empty, the value is taken from the specific submap in Y whose\n condition_name is the earliest in this condition list.\n* Else, if P has a default value option (condition_name is empty) then\n the value is taken from that option.\n* Else, parameter P has no value and is omitted from the config result.\n\nExample: parameter key \"p1\", default value \"v1\", submap specified as\n{\"c1\": v2, \"c2\": v3} where \"c1\" and \"c2\" are names of conditions in the\ncondition list (where \"c1\" in this example appears before \"c2\"). The\nvalue of p1 would be v2 as long as c1 is true. Otherwise, if c2 is true,\np1 would evaluate to v3, and if c1 and c2 are both false, p1 would evaluate\nto v1. If no default value was specified, and c1 and c2 were both false,\nno value for p1 would be generated." + } + }, + "id": "RemoteConfig" + } + }, + "icons": { + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" + }, + "protocol": "rest", + "canonicalName": "Firebase Remote Config", + "rootUrl": "https://firebaseremoteconfig.googleapis.com/", + "ownerDomain": "google.com", + "name": "firebaseremoteconfig", + "batchPath": "batch", + "fullyEncodeReservedExpansion": true, + "title": "Firebase Remote Config API", + "ownerName": "Google", + "resources": { + "projects": { + "methods": { + "updateRemoteConfig": { + "flatPath": "v1/projects/{projectsId}/remoteConfig", + "id": "firebaseremoteconfig.projects.updateRemoteConfig", + "path": "v1/{+project}/remoteConfig", + "description": "Update a RemoteConfig. We treat this as an always-existing\nresource (when it is not found in our data store, we treat it as version\n0, a template with zero conditions and zero parameters). Hence there are\nno Create or Delete operations. Returns the updated template when\nsuccessful (and the updated eTag as a response header), or an error if\nthings go wrong.\nPossible error messages:\n* VALIDATION_ERROR (HTTP status 400) with additional details if the\ntemplate being passed in can not be validated.\n* AUTHENTICATION_ERROR (HTTP status 401) if the request can not be\nauthenticate (e.g. no access token, or invalid access token).\n* AUTHORIZATION_ERROR (HTTP status 403) if the request can not be\nauthorized (e.g. the user has no access to the specified project id).\n* VERSION_MISMATCH (HTTP status 412) when trying to update when the\nexpected eTag (passed in via the \"If-match\" header) is not specified, or\nis specified but does does not match the current eTag.\n* Internal error (HTTP status 500) for Database problems or other internal\nerrors.", + "request": { + "$ref": "RemoteConfig" + }, + "response": { + "$ref": "RemoteConfig" + }, + "parameterOrder": [ + "project" + ], + "httpMethod": "PUT", + "parameters": { + "project": { + "description": "The GMP project identifier. Required.\nSee note at the beginning of this file regarding project ids.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + }, + "validateOnly": { + "location": "query", + "description": "Optional. Defaults to \u003ccode\u003efalse\u003c/code\u003e (UpdateRemoteConfig call should\nupdate the backend if there are no validation/interal errors). May be set\nto \u003ccode\u003etrue\u003c/code\u003e to indicate that, should no validation errors occur,\nthe call should return a \"200 OK\" instead of performing the update. Note\nthat other error messages (500 Internal Error, 412 Version Mismatch, etc)\nmay still result after flipping to \u003ccode\u003efalse\u003c/code\u003e, even if getting a\n\"200 OK\" when calling with \u003ccode\u003etrue\u003c/code\u003e.", + "type": "boolean" + } + } + }, + "getRemoteConfig": { + "response": { + "$ref": "RemoteConfig" + }, + "parameterOrder": [ + "project" + ], + "httpMethod": "GET", + "parameters": { + "project": { + "description": "The GMP project identifier. Required.\nSee note at the beginning of this file regarding project ids.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/remoteConfig", + "id": "firebaseremoteconfig.projects.getRemoteConfig", + "path": "v1/{+project}/remoteConfig", + "description": "Get the latest version Remote Configuration for a project.\nReturns the RemoteConfig as the payload, and also the eTag as a\nresponse header." + } + } + } + }, + "parameters": { + "uploadType": { + "type": "string", + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")." + }, + "fields": { + "location": "query", + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, + "$.xgafv": { + "description": "V1 error format.", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ] + }, + "alt": { + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ] + }, + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "quotaUser": { + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string" + }, + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", + "location": "query" + }, + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", + "location": "query" + }, + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, + "prettyPrint": { + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean", + "location": "query" + } + }, + "version": "v1", + "baseUrl": "https://firebaseremoteconfig.googleapis.com/", + "kind": "discovery#restDescription", + "description": "Firebase Remote Config API allows the 3P clients to manage Remote Config conditions and parameters for Firebase applications.", + "servicePath": "", + "basePath": "", + "revision": "20170912", + "documentationLink": "https://firebase.google.com/docs/remote-config/", + "id": "firebaseremoteconfig:v1", + "discoveryVersion": "v1" +} diff --git a/vendor/google.golang.org/api/firebaseremoteconfig/v1/firebaseremoteconfig-gen.go b/vendor/google.golang.org/api/firebaseremoteconfig/v1/firebaseremoteconfig-gen.go new file mode 100644 index 000000000..1bacecb95 --- /dev/null +++ b/vendor/google.golang.org/api/firebaseremoteconfig/v1/firebaseremoteconfig-gen.go @@ -0,0 +1,630 @@ +// Package firebaseremoteconfig provides access to the Firebase Remote Config API. +// +// See https://firebase.google.com/docs/remote-config/ +// +// Usage example: +// +// import "google.golang.org/api/firebaseremoteconfig/v1" +// ... +// firebaseremoteconfigService, err := firebaseremoteconfig.New(oauthHttpClient) +package firebaseremoteconfig // import "google.golang.org/api/firebaseremoteconfig/v1" + +import ( + "bytes" + "encoding/json" + "errors" + "fmt" + context "golang.org/x/net/context" + ctxhttp "golang.org/x/net/context/ctxhttp" + gensupport "google.golang.org/api/gensupport" + googleapi "google.golang.org/api/googleapi" + "io" + "net/http" + "net/url" + "strconv" + "strings" +) + +// Always reference these packages, just in case the auto-generated code +// below doesn't. +var _ = bytes.NewBuffer +var _ = strconv.Itoa +var _ = fmt.Sprintf +var _ = json.NewDecoder +var _ = io.Copy +var _ = url.Parse +var _ = gensupport.MarshalJSON +var _ = googleapi.Version +var _ = errors.New +var _ = strings.Replace +var _ = context.Canceled +var _ = ctxhttp.Do + +const apiId = "firebaseremoteconfig:v1" +const apiName = "firebaseremoteconfig" +const apiVersion = "v1" +const basePath = "https://firebaseremoteconfig.googleapis.com/" + +func New(client *http.Client) (*Service, error) { + if client == nil { + return nil, errors.New("client is nil") + } + s := &Service{client: client, BasePath: basePath} + s.Projects = NewProjectsService(s) + return s, nil +} + +type Service struct { + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + + Projects *ProjectsService +} + +func (s *Service) userAgent() string { + if s.UserAgent == "" { + return googleapi.UserAgent + } + return googleapi.UserAgent + " " + s.UserAgent +} + +func NewProjectsService(s *Service) *ProjectsService { + rs := &ProjectsService{s: s} + return rs +} + +type ProjectsService struct { + s *Service +} + +// RemoteConfig: * +// The RemoteConfig consists of a list of conditions (which can +// be +// thought of as named "if" statements) and a map of parameters +// (parameter key +// to a stucture containing an optional default value, as well as a +// optional +// submap of (condition name to value when that condition is true). +type RemoteConfig struct { + // Conditions: The list of named conditions. The order *does* affect the + // semantics. + // The condition_name values of these entries must be unique. + // + // The resolved value of a config parameter P is determined as follow: + // * Let Y be the set of values from the submap of P that refer to + // conditions + // that evaluate to true. + // * If Y is non empty, the value is taken from the specific submap in Y + // whose + // condition_name is the earliest in this condition list. + // * Else, if P has a default value option (condition_name is empty) + // then + // the value is taken from that option. + // * Else, parameter P has no value and is omitted from the config + // result. + // + // Example: parameter key "p1", default value "v1", submap specified + // as + // {"c1": v2, "c2": v3} where "c1" and "c2" are names of conditions in + // the + // condition list (where "c1" in this example appears before "c2"). + // The + // value of p1 would be v2 as long as c1 is true. Otherwise, if c2 is + // true, + // p1 would evaluate to v3, and if c1 and c2 are both false, p1 would + // evaluate + // to v1. If no default value was specified, and c1 and c2 were both + // false, + // no value for p1 would be generated. + Conditions []*RemoteConfigCondition `json:"conditions,omitempty"` + + // Parameters: Map of parameter keys to their optional default values + // and optional submap + // of (condition name : value). Order doesn't affect semantics, and so + // is + // sorted by the server. The 'key' values of the params must be unique. + Parameters map[string]RemoteConfigParameter `json:"parameters,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Conditions") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Conditions") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RemoteConfig) MarshalJSON() ([]byte, error) { + type noMethod RemoteConfig + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// RemoteConfigCondition: A single RemoteConfig Condition. A list of +// these (because order matters) are +// part of a single RemoteConfig template. +type RemoteConfigCondition struct { + // Expression: Required. + Expression string `json:"expression,omitempty"` + + // Name: Required. + // A non empty and unique name of this condition. + Name string `json:"name,omitempty"` + + // TagColor: Optional. + // The display (tag) color of this condition. This serves as part of a + // tag + // (in the future, we may add tag text as well as tag color, but that is + // not + // yet implemented in the UI). + // This value has no affect on the semantics of the delivered config and + // it + // is ignored by the backend, except for passing it through + // write/read + // requests. + // Not having this value or having the + // "CONDITION_DISPLAY_COLOR_UNSPECIFIED" + // value (0) have the same meaning: Let the UI choose any valid color + // when + // displaying the condition. + // + // Possible values: + // "CONDITION_DISPLAY_COLOR_UNSPECIFIED" + // "BLUE" - Blue + // "BROWN" - Brown + // "CYAN" - Cyan + // "DEEP_ORANGE" - aka "Red Orange" + // "GREEN" - Green + // "INDIGO" - Indigo + // * + // "LIME" - Lime - Approved deviation from Material color palette + // "ORANGE" - Orange + // "PINK" - Pink + // "PURPLE" - Purple + // "TEAL" - Teal + TagColor string `json:"tagColor,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Expression") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Expression") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RemoteConfigCondition) MarshalJSON() ([]byte, error) { + type noMethod RemoteConfigCondition + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// RemoteConfigParameter: While default_value and conditional_values are +// each optional, at least one of +// the two is required - otherwise, the parameter is meaningless (and +// an +// exception will be thrown by the validation logic). +type RemoteConfigParameter struct { + // ConditionalValues: Optional - a map of (condition_name, value). The + // condition_name of the + // highest priority (the one listed first in the conditions array) + // determines + // the value of this parameter. + ConditionalValues map[string]RemoteConfigParameterValue `json:"conditionalValues,omitempty"` + + // DefaultValue: Optional - value to set the parameter to, when none of + // the named conditions + // evaluate to true. + DefaultValue *RemoteConfigParameterValue `json:"defaultValue,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ConditionalValues") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ConditionalValues") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *RemoteConfigParameter) MarshalJSON() ([]byte, error) { + type noMethod RemoteConfigParameter + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// RemoteConfigParameterValue: A RemoteConfigParameter's "value" (either +// the default value, or the value +// associated with a condition name) is either a string, or +// the +// "use_in_app_default" indicator (which means to leave out the +// parameter from +// the returned map that is the output of the parameter +// fetch). +// We represent the "use_in_app_default" as a bool, but (when using the +// boolean +// instead of the string) it should always be true. +type RemoteConfigParameterValue struct { + // UseInAppDefault: if true, omit the parameter from the map of fetched + // parameter values + UseInAppDefault bool `json:"useInAppDefault,omitempty"` + + // Value: the string to set the parameter to + Value string `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "UseInAppDefault") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "UseInAppDefault") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *RemoteConfigParameterValue) MarshalJSON() ([]byte, error) { + type noMethod RemoteConfigParameterValue + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// method id "firebaseremoteconfig.projects.getRemoteConfig": + +type ProjectsGetRemoteConfigCall struct { + s *Service + projectid string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// GetRemoteConfig: Get the latest version Remote Configuration for a +// project. +// Returns the RemoteConfig as the payload, and also the eTag as +// a +// response header. +func (r *ProjectsService) GetRemoteConfig(projectid string) *ProjectsGetRemoteConfigCall { + c := &ProjectsGetRemoteConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectid = projectid + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsGetRemoteConfigCall) Fields(s ...googleapi.Field) *ProjectsGetRemoteConfigCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsGetRemoteConfigCall) IfNoneMatch(entityTag string) *ProjectsGetRemoteConfigCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsGetRemoteConfigCall) Context(ctx context.Context) *ProjectsGetRemoteConfigCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsGetRemoteConfigCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsGetRemoteConfigCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+project}/remoteConfig") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.projectid, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseremoteconfig.projects.getRemoteConfig" call. +// Exactly one of *RemoteConfig or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *RemoteConfig.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsGetRemoteConfigCall) Do(opts ...googleapi.CallOption) (*RemoteConfig, 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, &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, err + } + ret := &RemoteConfig{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Get the latest version Remote Configuration for a project.\nReturns the RemoteConfig as the payload, and also the eTag as a\nresponse header.", + // "flatPath": "v1/projects/{projectsId}/remoteConfig", + // "httpMethod": "GET", + // "id": "firebaseremoteconfig.projects.getRemoteConfig", + // "parameterOrder": [ + // "project" + // ], + // "parameters": { + // "project": { + // "description": "The GMP project identifier. Required.\nSee note at the beginning of this file regarding project ids.", + // "location": "path", + // "pattern": "^projects/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+project}/remoteConfig", + // "response": { + // "$ref": "RemoteConfig" + // } + // } + +} + +// method id "firebaseremoteconfig.projects.updateRemoteConfig": + +type ProjectsUpdateRemoteConfigCall struct { + s *Service + projectid string + remoteconfig *RemoteConfig + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// UpdateRemoteConfig: Update a RemoteConfig. We treat this as an +// always-existing +// resource (when it is not found in our data store, we treat it as +// version +// 0, a template with zero conditions and zero parameters). Hence there +// are +// no Create or Delete operations. Returns the updated template +// when +// successful (and the updated eTag as a response header), or an error +// if +// things go wrong. +// Possible error messages: +// * VALIDATION_ERROR (HTTP status 400) with additional details if +// the +// template being passed in can not be validated. +// * AUTHENTICATION_ERROR (HTTP status 401) if the request can not +// be +// authenticate (e.g. no access token, or invalid access token). +// * AUTHORIZATION_ERROR (HTTP status 403) if the request can not +// be +// authorized (e.g. the user has no access to the specified project +// id). +// * VERSION_MISMATCH (HTTP status 412) when trying to update when +// the +// expected eTag (passed in via the "If-match" header) is not specified, +// or +// is specified but does does not match the current eTag. +// * Internal error (HTTP status 500) for Database problems or other +// internal +// errors. +func (r *ProjectsService) UpdateRemoteConfig(projectid string, remoteconfig *RemoteConfig) *ProjectsUpdateRemoteConfigCall { + c := &ProjectsUpdateRemoteConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectid = projectid + c.remoteconfig = remoteconfig + return c +} + +// ValidateOnly sets the optional parameter "validateOnly": Defaults to +// false (UpdateRemoteConfig call should +// update the backend if there are no validation/interal errors). May be +// set +// to true to indicate that, should no validation errors +// occur, +// the call should return a "200 OK" instead of performing the update. +// Note +// that other error messages (500 Internal Error, 412 Version Mismatch, +// etc) +// may still result after flipping to false, even if +// getting a +// "200 OK" when calling with true. +func (c *ProjectsUpdateRemoteConfigCall) ValidateOnly(validateOnly bool) *ProjectsUpdateRemoteConfigCall { + 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 information. +func (c *ProjectsUpdateRemoteConfigCall) Fields(s ...googleapi.Field) *ProjectsUpdateRemoteConfigCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsUpdateRemoteConfigCall) Context(ctx context.Context) *ProjectsUpdateRemoteConfigCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsUpdateRemoteConfigCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsUpdateRemoteConfigCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.remoteconfig) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+project}/remoteConfig") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PUT", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.projectid, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseremoteconfig.projects.updateRemoteConfig" call. +// Exactly one of *RemoteConfig or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *RemoteConfig.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsUpdateRemoteConfigCall) Do(opts ...googleapi.CallOption) (*RemoteConfig, 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, &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, err + } + ret := &RemoteConfig{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Update a RemoteConfig. We treat this as an always-existing\nresource (when it is not found in our data store, we treat it as version\n0, a template with zero conditions and zero parameters). Hence there are\nno Create or Delete operations. Returns the updated template when\nsuccessful (and the updated eTag as a response header), or an error if\nthings go wrong.\nPossible error messages:\n* VALIDATION_ERROR (HTTP status 400) with additional details if the\ntemplate being passed in can not be validated.\n* AUTHENTICATION_ERROR (HTTP status 401) if the request can not be\nauthenticate (e.g. no access token, or invalid access token).\n* AUTHORIZATION_ERROR (HTTP status 403) if the request can not be\nauthorized (e.g. the user has no access to the specified project id).\n* VERSION_MISMATCH (HTTP status 412) when trying to update when the\nexpected eTag (passed in via the \"If-match\" header) is not specified, or\nis specified but does does not match the current eTag.\n* Internal error (HTTP status 500) for Database problems or other internal\nerrors.", + // "flatPath": "v1/projects/{projectsId}/remoteConfig", + // "httpMethod": "PUT", + // "id": "firebaseremoteconfig.projects.updateRemoteConfig", + // "parameterOrder": [ + // "project" + // ], + // "parameters": { + // "project": { + // "description": "The GMP project identifier. Required.\nSee note at the beginning of this file regarding project ids.", + // "location": "path", + // "pattern": "^projects/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "validateOnly": { + // "description": "Optional. Defaults to \u003ccode\u003efalse\u003c/code\u003e (UpdateRemoteConfig call should\nupdate the backend if there are no validation/interal errors). May be set\nto \u003ccode\u003etrue\u003c/code\u003e to indicate that, should no validation errors occur,\nthe call should return a \"200 OK\" instead of performing the update. Note\nthat other error messages (500 Internal Error, 412 Version Mismatch, etc)\nmay still result after flipping to \u003ccode\u003efalse\u003c/code\u003e, even if getting a\n\"200 OK\" when calling with \u003ccode\u003etrue\u003c/code\u003e.", + // "location": "query", + // "type": "boolean" + // } + // }, + // "path": "v1/{+project}/remoteConfig", + // "request": { + // "$ref": "RemoteConfig" + // }, + // "response": { + // "$ref": "RemoteConfig" + // } + // } + +} diff --git a/vendor/google.golang.org/api/firebaserules/v1/firebaserules-api.json b/vendor/google.golang.org/api/firebaserules/v1/firebaserules-api.json index 577205e0b..12a624ab9 100644 --- a/vendor/google.golang.org/api/firebaserules/v1/firebaserules-api.json +++ b/vendor/google.golang.org/api/firebaserules/v1/firebaserules-api.json @@ -1,449 +1,248 @@ { - "rootUrl": "https://firebaserules.googleapis.com/", - "ownerDomain": "google.com", - "name": "firebaserules", - "batchPath": "batch", - "title": "Firebase Rules API", - "ownerName": "Google", - "resources": { - "projects": { - "methods": { - "test": { - "request": { - "$ref": "TestRulesetRequest" - }, - "description": "Test `Source` for syntactic and semantic correctness. Issues present, if\nany, will be returned to the caller with a description, severity, and\nsource location.\n\nThe test method may be executed with `Source` or a `Ruleset` name.\nPassing `Source` is useful for unit testing new rules. Passing a `Ruleset`\nname is useful for regression testing an existing rule.\n\nThe following is an example of `Source` that permits users to upload images\nto a bucket bearing their user id and matching the correct metadata:\n\n_*Example*_\n\n // Users are allowed to subscribe and unsubscribe to the blog.\n service firebase.storage {\n match /users/{userId}/images/{imageName} {\n allow write: if userId == request.auth.uid\n && (imageName.matches('*.png$')\n || imageName.matches('*.jpg$'))\n && resource.mimeType.matches('^image/')\n }\n }", - "response": { - "$ref": "TestRulesetResponse" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/firebase", - "https://www.googleapis.com/auth/firebase.readonly" - ], - "parameters": { - "name": { - "pattern": "^projects/.+$", - "location": "path", - "description": "Tests may either provide `source` or a `Ruleset` resource name.\n\nFor tests against `source`, the resource name must refer to the project:\nFormat: `projects/{project_id}`\n\nFor tests against a `Ruleset`, this must be the `Ruleset` resource name:\nFormat: `projects/{project_id}/rulesets/{ruleset_id}`", - "type": "string", - "required": true - } - }, - "flatPath": "v1/projects/{projectsId}:test", - "id": "firebaserules.projects.test", - "path": "v1/{+name}:test" - } - }, - "resources": { - "rulesets": { - "methods": { - "list": { - "description": "List `Ruleset` metadata only and optionally filter the results by `Ruleset`\nname.\n\nThe full `Source` contents of a `Ruleset` may be retrieved with\nGetRuleset.", - "response": { - "$ref": "ListRulesetsResponse" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/firebase", - "https://www.googleapis.com/auth/firebase.readonly" - ], - "parameters": { - "pageToken": { - "location": "query", - "description": "Next page token for loading the next batch of `Ruleset` instances.", - "type": "string" - }, - "name": { - "location": "path", - "description": "Resource name for the project.\n\nFormat: `projects/{project_id}`", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$" - }, - "pageSize": { - "type": "integer", - "location": "query", - "format": "int32", - "description": "Page size to load. Maximum of 100. Defaults to 10.\nNote: `page_size` is just a hint and the service may choose to load less\nthan `page_size` due to the size of the output. To traverse all of the\nreleases, caller should iterate until the `page_token` is empty." - }, - "filter": { - "location": "query", - "description": "`Ruleset` filter. The list method supports filters with restrictions on\n`Ruleset.name`.\n\nFilters on `Ruleset.create_time` should use the `date` function which\nparses strings that conform to the RFC 3339 date/time specifications.\n\nExample: `create_time \u003e date(\"2017-01-01\") AND name=UUID-*`", - "type": "string" - } - }, - "flatPath": "v1/projects/{projectsId}/rulesets", - "id": "firebaserules.projects.rulesets.list", - "path": "v1/{+name}/rulesets" - }, - "get": { - "flatPath": "v1/projects/{projectsId}/rulesets/{rulesetsId}", - "path": "v1/{+name}", - "id": "firebaserules.projects.rulesets.get", - "description": "Get a `Ruleset` by name including the full `Source` contents.", - "httpMethod": "GET", - "response": { - "$ref": "Ruleset" - }, - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "pattern": "^projects/[^/]+/rulesets/[^/]+$", - "location": "path", - "description": "Resource name for the ruleset to get.\n\nFormat: `projects/{project_id}/rulesets/{ruleset_id}`", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/firebase", - "https://www.googleapis.com/auth/firebase.readonly" - ] - }, - "create": { - "description": "Create a `Ruleset` from `Source`.\n\nThe `Ruleset` is given a unique generated name which is returned to the\ncaller. `Source` containing syntactic or semantics errors will result in an\nerror response indicating the first error encountered. For a detailed view\nof `Source` issues, use TestRuleset.", - "request": { - "$ref": "Ruleset" - }, - "response": { - "$ref": "Ruleset" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "POST", - "parameters": { - "name": { - "description": "Resource name for Project which owns this `Ruleset`.\n\nFormat: `projects/{project_id}`", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/firebase" - ], - "flatPath": "v1/projects/{projectsId}/rulesets", - "id": "firebaserules.projects.rulesets.create", - "path": "v1/{+name}/rulesets" - }, - "delete": { - "path": "v1/{+name}", - "id": "firebaserules.projects.rulesets.delete", - "description": "Delete a `Ruleset` by resource name.\n\nIf the `Ruleset` is referenced by a `Release` the operation will fail.", - "httpMethod": "DELETE", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/firebase" - ], - "parameters": { - "name": { - "location": "path", - "description": "Resource name for the ruleset to delete.\n\nFormat: `projects/{project_id}/rulesets/{ruleset_id}`", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/rulesets/[^/]+$" - } - }, - "flatPath": "v1/projects/{projectsId}/rulesets/{rulesetsId}" - } - } - }, - "releases": { - "methods": { - "delete": { - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/firebase" - ], - "parameters": { - "name": { - "pattern": "^projects/[^/]+/releases/.+$", - "location": "path", - "description": "Resource name for the `Release` to delete.\n\nFormat: `projects/{project_id}/releases/{release_id}`", - "type": "string", - "required": true - } - }, - "flatPath": "v1/projects/{projectsId}/releases/{releasesId}", - "id": "firebaserules.projects.releases.delete", - "path": "v1/{+name}", - "description": "Delete a `Release` by resource name." - }, - "list": { - "httpMethod": "GET", - "response": { - "$ref": "ListReleasesResponse" - }, - "parameterOrder": [ - "name" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/firebase", - "https://www.googleapis.com/auth/firebase.readonly" - ], - "parameters": { - "filter": { - "location": "query", - "description": "`Release` filter. The list method supports filters with restrictions on the\n`Release.name`, `Release.ruleset_name`, and `Release.test_suite_name`.\n\nExample 1: A filter of 'name=prod*' might return `Release`s with names\nwithin 'projects/foo' prefixed with 'prod':\n\nName | Ruleset Name\n------------------------------|-------------\nprojects/foo/releases/prod | projects/foo/rulesets/uuid1234\nprojects/foo/releases/prod/v1 | projects/foo/rulesets/uuid1234\nprojects/foo/releases/prod/v2 | projects/foo/rulesets/uuid8888\n\nExample 2: A filter of `name=prod* ruleset_name=uuid1234` would return only\n`Release` instances for 'projects/foo' with names prefixed with 'prod'\nreferring to the same `Ruleset` name of 'uuid1234':\n\nName | Ruleset Name\n------------------------------|-------------\nprojects/foo/releases/prod | projects/foo/rulesets/1234\nprojects/foo/releases/prod/v1 | projects/foo/rulesets/1234\n\nIn the examples, the filter parameters refer to the search filters are\nrelative to the project. Fully qualified prefixed may also be used. e.g.\n`test_suite_name=projects/foo/testsuites/uuid1`", - "type": "string" - }, - "pageToken": { - "location": "query", - "description": "Next page token for the next batch of `Release` instances.", - "type": "string" - }, - "name": { - "location": "path", - "description": "Resource name for the project.\n\nFormat: `projects/{project_id}`", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "Page size to load. Maximum of 100. Defaults to 10.\nNote: `page_size` is just a hint and the service may choose to load fewer\nthan `page_size` results due to the size of the output. To traverse all of\nthe releases, the caller should iterate until the `page_token` on the\nresponse is empty.", - "type": "integer" - } - }, - "flatPath": "v1/projects/{projectsId}/releases", - "path": "v1/{+name}/releases", - "id": "firebaserules.projects.releases.list", - "description": "List the `Release` values for a project. This list may optionally be\nfiltered by `Release` name, `Ruleset` name, `TestSuite` name, or any\ncombination thereof." - }, - "get": { - "description": "Get a `Release` by name.", - "response": { - "$ref": "Release" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "parameters": { - "name": { - "location": "path", - "description": "Resource name of the `Release`.\n\nFormat: `projects/{project_id}/releases/{release_id}`", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/releases/.+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/firebase", - "https://www.googleapis.com/auth/firebase.readonly" - ], - "flatPath": "v1/projects/{projectsId}/releases/{releasesId}", - "id": "firebaserules.projects.releases.get", - "path": "v1/{+name}" - }, - "update": { - "httpMethod": "PUT", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "Release" - }, - "parameters": { - "name": { - "location": "path", - "description": "Resource name for the `Release`.\n\n`Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2`\nwhich affords developers a great deal of flexibility in mapping the name\nto the style that best fits their existing development practices. For\nexample, a name could refer to an environment, an app, a version, or some\ncombination of three.\n\nIn the table below, for the project name `projects/foo`, the following\nrelative release paths show how flat and structured names might be chosen\nto match a desired development / deployment strategy.\n\nUse Case | Flat Name | Structured Name\n-------------|---------------------|----------------\nEnvironments | releases/qa | releases/qa\nApps | releases/app1_qa | releases/app1/qa\nVersions | releases/app1_v2_qa | releases/app1/v2/qa\n\nThe delimiter between the release name path elements can be almost anything\nand it should work equally well with the release name list filter, but in\nmany ways the structured paths provide a clearer picture of the\nrelationship between `Release` instances.\n\nFormat: `projects/{project_id}/releases/{release_id}`", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/releases/.+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/firebase" - ], - "flatPath": "v1/projects/{projectsId}/releases/{releasesId}", - "path": "v1/{+name}", - "id": "firebaserules.projects.releases.update", - "description": "Update a `Release`.\n\nOnly updates to the `ruleset_name` and `test_suite_name` fields will be\nhonored. `Release` rename is not supported. To create a `Release` use the\nCreateRelease method.", - "request": { - "$ref": "Release" - } - }, - "create": { - "description": "Create a `Release`.\n\nRelease names should reflect the developer's deployment practices. For\nexample, the release name may include the environment name, application\nname, application version, or any other name meaningful to the developer.\nOnce a `Release` refers to a `Ruleset`, the rules can be enforced by\nFirebase Rules-enabled services.\n\nMore than one `Release` may be 'live' concurrently. Consider the following\nthree `Release` names for `projects/foo` and the `Ruleset` to which they\nrefer.\n\nRelease Name | Ruleset Name\n--------------------------------|-------------\nprojects/foo/releases/prod | projects/foo/rulesets/uuid123\nprojects/foo/releases/prod/beta | projects/foo/rulesets/uuid123\nprojects/foo/releases/prod/v23 | projects/foo/rulesets/uuid456\n\nThe table reflects the `Ruleset` rollout in progress. The `prod` and\n`prod/beta` releases refer to the same `Ruleset`. However, `prod/v23`\nrefers to a new `Ruleset`. The `Ruleset` reference for a `Release` may be\nupdated using the UpdateRelease method.", - "request": { - "$ref": "Release" - }, - "response": { - "$ref": "Release" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "POST", - "parameters": { - "name": { - "location": "path", - "description": "Resource name for the project which owns this `Release`.\n\nFormat: `projects/{project_id}`", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/firebase" - ], - "flatPath": "v1/projects/{projectsId}/releases", - "id": "firebaserules.projects.releases.create", - "path": "v1/{+name}/releases" - } - } - } - } - } - }, - "parameters": { - "quotaUser": { - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" - }, - "pp": { - "description": "Pretty-print response.", - "default": "true", - "type": "boolean", - "location": "query" - }, - "oauth_token": { - "location": "query", - "description": "OAuth 2.0 token for the current user.", - "type": "string" - }, - "bearer_token": { - "description": "OAuth bearer token.", - "type": "string", - "location": "query" - }, - "upload_protocol": { - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string", - "location": "query" - }, - "prettyPrint": { - "description": "Returns response with indentations and line breaks.", - "default": "true", - "type": "boolean", - "location": "query" - }, - "fields": { - "location": "query", - "description": "Selector specifying which fields to include in a partial response.", - "type": "string" - }, - "uploadType": { - "location": "query", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string" - }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, - "$.xgafv": { - "location": "query", - "enum": [ - "1", - "2" - ], - "description": "V1 error format.", - "type": "string", - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ] - }, - "alt": { - "enum": [ - "json", - "media", - "proto" - ], - "type": "string", - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query", - "description": "Data format for response.", - "default": "json" - }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, - "access_token": { - "location": "query", - "description": "OAuth access token.", - "type": "string" - } - }, - "version": "v1", - "baseUrl": "https://firebaserules.googleapis.com/", - "description": "Creates and manages rules that determine when a Firebase Rules-enabled service should permit a request.\n", - "kind": "discovery#restDescription", - "servicePath": "", "basePath": "", "id": "firebaserules:v1", + "revision": "20170925", "documentationLink": "https://firebase.google.com/docs/storage/security", - "revision": "20170523", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { + "FunctionMock": { + "properties": { + "function": { + "description": "The name of the function.\n\nThe function name must match one provided by a service declaration.", + "type": "string" + }, + "result": { + "$ref": "Result", + "description": "The mock result of the function call." + }, + "args": { + "description": "The list of `Arg` values to match. The order in which the arguments are\nprovided is the order in which they must appear in the function\ninvocation.", + "items": { + "$ref": "Arg" + }, + "type": "array" + } + }, + "id": "FunctionMock", + "description": "Mock function definition.\n\nMocks must refer to a function declared by the target service. The type of\nthe function args and result will be inferred at test time. If either the\narg or result values are not compatible with function type declaration, the\nrequest will be considered invalid.\n\nMore than one `FunctionMock` may be provided for a given function name so\nlong as the `Arg` matchers are distinct. There may be only one function\nfor a given overload where all `Arg` values are `Arg.any_value`.", + "type": "object" + }, + "GetReleaseExecutableResponse": { + "id": "GetReleaseExecutableResponse", + "description": "The response for FirebaseRulesService.GetReleaseExecutable", + "type": "object", + "properties": { + "rulesetName": { + "description": "`Ruleset` name associated with the `Release` executable.", + "type": "string" + }, + "language": { + "type": "string", + "enumDescriptions": [ + "Language unspecified. Defaults to FIREBASE_RULES.", + "Firebase Rules language.", + "Event Flow triggers." + ], + "enum": [ + "LANGUAGE_UNSPECIFIED", + "FIREBASE_RULES", + "EVENT_FLOW_TRIGGERS" + ], + "description": "`Language` used to generate the executable bytes." + }, + "executableVersion": { + "enumDescriptions": [ + "Executable format unspecified.\nDefaults to FIREBASE_RULES_EXECUTABLE_V1", + "Firebase Rules syntax 'rules2' executable versions:\nCustom AST for use with Java clients.", + "CEL-based executable for use with C++ clients." + ], + "enum": [ + "RELEASE_EXECUTABLE_VERSION_UNSPECIFIED", + "FIREBASE_RULES_EXECUTABLE_V1", + "FIREBASE_RULES_EXECUTABLE_V2" + ], + "description": "The Rules runtime version of the executable.", + "type": "string" + }, + "executable": { + "type": "string", + "format": "byte", + "description": "Executable view of the `Ruleset` referenced by the `Release`." + }, + "updateTime": { + "format": "google-datetime", + "description": "Timestamp for the most recent `Release.update_time`.", + "type": "string" + } + } + }, + "Source": { + "description": "`Source` is one or more `File` messages comprising a logical set of rules.", + "type": "object", + "properties": { + "files": { + "items": { + "$ref": "File" + }, + "type": "array", + "description": "`File` set constituting the `Source` bundle." + } + }, + "id": "Source" + }, + "Result": { + "id": "Result", + "description": "Possible result values from the function mock invocation.", + "type": "object", + "properties": { + "undefined": { + "$ref": "Empty", + "description": "The result is undefined, meaning the result could not be computed." + }, + "value": { + "description": "The result is an actual value. The type of the value must match that\nof the type declared by the service.", + "type": "any" + } + } + }, + "SourcePosition": { + "description": "Position in the `Source` content including its line, column number, and an\nindex of the `File` in the `Source` message. Used for debug purposes.", + "type": "object", + "properties": { + "line": { + "format": "int32", + "description": "Line number of the source fragment. 1-based.", + "type": "integer" + }, + "column": { + "type": "integer", + "format": "int32", + "description": "First column on the source line associated with the source fragment." + }, + "fileName": { + "description": "Name of the `File`.", + "type": "string" + } + }, + "id": "SourcePosition" + }, + "TestCase": { + "description": "`TestCase` messages provide the request context and an expectation as to\nwhether the given context will be allowed or denied. Test cases may specify\nthe `request`, `resource`, and `function_mocks` to mock a function call to\na service-provided function.\n\nThe `request` object represents context present at request-time.\n\nThe `resource` is the value of the target resource as it appears in\npersistent storage before the request is executed.", + "type": "object", + "properties": { + "request": { + "description": "Request context.\n\nThe exact format of the request context is service-dependent. See the\nappropriate service documentation for information about the supported\nfields and types on the request. Minimally, all services support the\nfollowing fields and types:\n\nRequest field | Type\n---------------|-----------------\nauth.uid | `string`\nauth.token | `map\u003cstring, string\u003e`\nheaders | `map\u003cstring, string\u003e`\nmethod | `string`\nparams | `map\u003cstring, string\u003e`\npath | `string`\ntime | `google.protobuf.Timestamp`\n\nIf the request value is not well-formed for the service, the request will\nbe rejected as an invalid argument.", + "type": "any" + }, + "functionMocks": { + "description": "Optional function mocks for service-defined functions. If not set, any\nservice defined function is expected to return an error, which may or may\nnot influence the test outcome.", + "items": { + "$ref": "FunctionMock" + }, + "type": "array" + }, + "resource": { + "description": "Optional resource value as it appears in persistent storage before the\nrequest is fulfilled.\n\nThe resource type depends on the `request.path` value.", + "type": "any" + }, + "expectation": { + "type": "string", + "enumDescriptions": [ + "Unspecified expectation.", + "Expect an allowed result.", + "Expect a denied result." + ], + "enum": [ + "EXPECTATION_UNSPECIFIED", + "ALLOW", + "DENY" + ], + "description": "Test expectation." + } + }, + "id": "TestCase" + }, + "Issue": { + "id": "Issue", + "description": "Issues include warnings, errors, and deprecation notices.", + "type": "object", + "properties": { + "sourcePosition": { + "$ref": "SourcePosition", + "description": "Position of the issue in the `Source`." + }, + "severity": { + "enum": [ + "SEVERITY_UNSPECIFIED", + "DEPRECATION", + "WARNING", + "ERROR" + ], + "description": "The severity of the issue.", + "type": "string", + "enumDescriptions": [ + "An unspecified severity.", + "Deprecation issue for statements and method that may no longer be\nsupported or maintained.", + "Warnings such as: unused variables.", + "Errors such as: unmatched curly braces or variable redefinition." + ] + }, + "description": { + "type": "string", + "description": "Short error description." + } + } + }, + "TestRulesetRequest": { + "description": "The request for FirebaseRulesService.TestRuleset.", + "type": "object", + "properties": { + "testSuite": { + "$ref": "TestSuite", + "description": "Inline `TestSuite` to run." + }, + "source": { + "$ref": "Source", + "description": "Optional `Source` to be checked for correctness.\n\nThis field must not be set when the resource name refers to a `Ruleset`." + } + }, + "id": "TestRulesetRequest" + }, + "Ruleset": { + "description": "`Ruleset` is an immutable copy of `Source` with a globally unique identifier\nand a creation time.", + "type": "object", + "properties": { + "createTime": { + "format": "google-datetime", + "description": "Time the `Ruleset` was created.\nOutput only.", + "type": "string" + }, + "name": { + "description": "Name of the `Ruleset`. The ruleset_id is auto generated by the service.\nFormat: `projects/{project_id}/rulesets/{ruleset_id}`\nOutput only.", + "type": "string" + }, + "source": { + "description": "`Source` for the `Ruleset`.", + "$ref": "Source" + } + }, + "id": "Ruleset" + }, "ListReleasesResponse": { "description": "The response for FirebaseRulesService.ListReleases.", "type": "object", "properties": { - "nextPageToken": { - "description": "The pagination token to retrieve the next page of results. If the value is\nempty, no further results remain.", - "type": "string" - }, "releases": { "description": "List of `Release` instances.", "items": { "$ref": "Release" }, "type": "array" + }, + "nextPageToken": { + "description": "The pagination token to retrieve the next page of results. If the value is\nempty, no further results remain.", + "type": "string" } }, "id": "ListReleasesResponse" @@ -471,47 +270,50 @@ "FunctionCall": { "type": "object", "properties": { + "function": { + "description": "Name of the function invoked.", + "type": "string" + }, "args": { "description": "The arguments that were provided to the function.", "items": { "type": "any" }, "type": "array" - }, - "function": { - "description": "Name of the function invoked.", - "type": "string" } }, "id": "FunctionCall", "description": "Represents a service-defined function call that was invoked during test\nexecution." }, "Release": { + "id": "Release", "description": "`Release` is a named reference to a `Ruleset`. Once a `Release` refers to a\n`Ruleset`, rules-enabled services will be able to enforce the `Ruleset`.", "type": "object", "properties": { "updateTime": { - "type": "string", "format": "google-datetime", - "description": "Time the release was updated.\nOutput only." + "description": "Time the release was updated.\nOutput only.", + "type": "string" }, "rulesetName": { "description": "Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must\nexist the `Release` to be created.", "type": "string" }, "name": { - "description": "Resource name for the `Release`.\n\n`Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2`\nwhich affords developers a great deal of flexibility in mapping the name\nto the style that best fits their existing development practices. For\nexample, a name could refer to an environment, an app, a version, or some\ncombination of three.\n\nIn the table below, for the project name `projects/foo`, the following\nrelative release paths show how flat and structured names might be chosen\nto match a desired development / deployment strategy.\n\nUse Case | Flat Name | Structured Name\n-------------|---------------------|----------------\nEnvironments | releases/qa | releases/qa\nApps | releases/app1_qa | releases/app1/qa\nVersions | releases/app1_v2_qa | releases/app1/v2/qa\n\nThe delimiter between the release name path elements can be almost anything\nand it should work equally well with the release name list filter, but in\nmany ways the structured paths provide a clearer picture of the\nrelationship between `Release` instances.\n\nFormat: `projects/{project_id}/releases/{release_id}`", - "type": "string" + "type": "string", + "description": "Resource name for the `Release`.\n\n`Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2`\nwhich affords developers a great deal of flexibility in mapping the name\nto the style that best fits their existing development practices. For\nexample, a name could refer to an environment, an app, a version, or some\ncombination of three.\n\nIn the table below, for the project name `projects/foo`, the following\nrelative release paths show how flat and structured names might be chosen\nto match a desired development / deployment strategy.\n\nUse Case | Flat Name | Structured Name\n-------------|---------------------|----------------\nEnvironments | releases/qa | releases/qa\nApps | releases/app1_qa | releases/app1/qa\nVersions | releases/app1_v2_qa | releases/app1/v2/qa\n\nThe delimiter between the release name path elements can be almost anything\nand it should work equally well with the release name list filter, but in\nmany ways the structured paths provide a clearer picture of the\nrelationship between `Release` instances.\n\nFormat: `projects/{project_id}/releases/{release_id}`" }, "createTime": { "format": "google-datetime", "description": "Time the release was created.\nOutput only.", "type": "string" } - }, - "id": "Release" + } }, "TestRulesetResponse": { + "id": "TestRulesetResponse", + "description": "The response for FirebaseRulesService.TestRuleset.", + "type": "object", "properties": { "testResults": { "description": "The set of test results given the test cases in the `TestSuite`.\nThe results will appear in the same order as the test cases appear in the\n`TestSuite`.", @@ -527,18 +329,13 @@ }, "type": "array" } - }, - "id": "TestRulesetResponse", - "description": "The response for FirebaseRulesService.TestRuleset.", - "type": "object" + } }, "TestResult": { - "description": "Test result message containing the state of the test as well as a\ndescription and source position for test failures.", - "type": "object", "properties": { "errorPosition": { - "$ref": "SourcePosition", - "description": "Position in the `Source` or `Ruleset` where the principle runtime error\noccurs.\n\nEvaluation of an expression may result in an error. Rules are deny by\ndefault, so a `DENY` expectation when an error is generated is valid.\nWhen there is a `DENY` with an error, the `SourcePosition` is returned.\n\nE.g. `error_position { line: 19 column: 37 }`" + "description": "Position in the `Source` or `Ruleset` where the principle runtime error\noccurs.\n\nEvaluation of an expression may result in an error. Rules are deny by\ndefault, so a `DENY` expectation when an error is generated is valid.\nWhen there is a `DENY` with an error, the `SourcePosition` is returned.\n\nE.g. `error_position { line: 19 column: 37 }`", + "$ref": "SourcePosition" }, "functionCalls": { "description": "The set of function calls made to service-defined methods.\n\nFunction calls are included in the order in which they are encountered\nduring evaluation, are provided for both mocked and unmocked functions,\nand included on the response regardless of the test `state`.", @@ -555,51 +352,53 @@ "type": "array" }, "state": { + "enumDescriptions": [ + "Test state is not set.", + "Test is a success.", + "Test is a failure." + ], "enum": [ "STATE_UNSPECIFIED", "SUCCESS", "FAILURE" ], "description": "State of the test.", - "type": "string", - "enumDescriptions": [ - "Test state is not set.", - "Test is a success.", - "Test is a failure." - ] - } - }, - "id": "TestResult" - }, - "ListRulesetsResponse": { - "type": "object", - "properties": { - "rulesets": { - "items": { - "$ref": "Ruleset" - }, - "type": "array", - "description": "List of `Ruleset` instances." - }, - "nextPageToken": { - "description": "The pagination token to retrieve the next page of results. If the value is\nempty, no further results remain.", "type": "string" } }, - "id": "ListRulesetsResponse", - "description": "The response for FirebaseRulesService.ListRulesets." + "id": "TestResult", + "description": "Test result message containing the state of the test as well as a\ndescription and source position for test failures.", + "type": "object" + }, + "ListRulesetsResponse": { + "description": "The response for FirebaseRulesService.ListRulesets.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "The pagination token to retrieve the next page of results. If the value is\nempty, no further results remain.", + "type": "string" + }, + "rulesets": { + "description": "List of `Ruleset` instances.", + "items": { + "$ref": "Ruleset" + }, + "type": "array" + } + }, + "id": "ListRulesetsResponse" }, "Arg": { "description": "Arg matchers for the mock function.", "type": "object", "properties": { "anyValue": { - "description": "Argument matches any value provided.", - "$ref": "Empty" + "$ref": "Empty", + "description": "Argument matches any value provided." }, "exactValue": { - "description": "Argument exactly matches value provided.", - "type": "any" + "type": "any", + "description": "Argument exactly matches value provided." } }, "id": "Arg" @@ -619,205 +418,492 @@ "id": "TestSuite" }, "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", - "type": "object", "properties": {}, - "id": "Empty" - }, - "FunctionMock": { - "type": "object", - "properties": { - "args": { - "description": "The list of `Arg` values to match. The order in which the arguments are\nprovided is the order in which they must appear in the function\ninvocation.", - "items": { - "$ref": "Arg" - }, - "type": "array" - }, - "function": { - "description": "The name of the function.\n\nThe function name must match one provided by a service declaration.", - "type": "string" - }, - "result": { - "description": "The mock result of the function call.", - "$ref": "Result" - } - }, - "id": "FunctionMock", - "description": "Mock function definition.\n\nMocks must refer to a function declared by the target service. The type of\nthe function args and result will be inferred at test time. If either the\narg or result values are not compatible with function type declaration, the\nrequest will be considered invalid.\n\nMore than one `FunctionMock` may be provided for a given function name so\nlong as the `Arg` matchers are distinct. There may be only one function\nfor a given overload where all `Arg` values are `Arg.any_value`." - }, - "Source": { - "type": "object", - "properties": { - "files": { - "description": "`File` set constituting the `Source` bundle.", - "items": { - "$ref": "File" - }, - "type": "array" - } - }, - "id": "Source", - "description": "`Source` is one or more `File` messages comprising a logical set of rules." - }, - "Result": { - "description": "Possible result values from the function mock invocation.", - "type": "object", - "properties": { - "undefined": { - "description": "The result is undefined, meaning the result could not be computed.", - "$ref": "Empty" - }, - "value": { - "type": "any", - "description": "The result is an actual value. The type of the value must match that\nof the type declared by the service." - } - }, - "id": "Result" - }, - "SourcePosition": { - "description": "Position in the `Source` content including its line, column number, and an\nindex of the `File` in the `Source` message. Used for debug purposes.", - "type": "object", - "properties": { - "line": { - "format": "int32", - "description": "Line number of the source fragment. 1-based.", - "type": "integer" - }, - "column": { - "format": "int32", - "description": "First column on the source line associated with the source fragment.", - "type": "integer" - }, - "fileName": { - "description": "Name of the `File`.", - "type": "string" - } - }, - "id": "SourcePosition" - }, - "TestCase": { - "id": "TestCase", - "description": "`TestCase` messages provide the request context and an expectation as to\nwhether the given context will be allowed or denied. Test cases may specify\nthe `request`, `resource`, and `function_mocks` to mock a function call to\na service-provided function.\n\nThe `request` object represents context present at request-time.\n\nThe `resource` is the value of the target resource as it appears in\npersistent storage before the request is executed.", - "type": "object", - "properties": { - "functionMocks": { - "description": "Optional function mocks for service-defined functions. If not set, any\nservice defined function is expected to return an error, which may or may\nnot influence the test outcome.", - "items": { - "$ref": "FunctionMock" - }, - "type": "array" - }, - "resource": { - "description": "Optional resource value as it appears in persistent storage before the\nrequest is fulfilled.\n\nThe resource type depends on the `request.path` value.", - "type": "any" - }, - "expectation": { - "description": "Test expectation.", - "type": "string", - "enumDescriptions": [ - "Unspecified expectation.", - "Expect an allowed result.", - "Expect a denied result." - ], - "enum": [ - "EXPECTATION_UNSPECIFIED", - "ALLOW", - "DENY" - ] - }, - "request": { - "type": "any", - "description": "Request context.\n\nThe exact format of the request context is service-dependent. See the\nappropriate service documentation for information about the supported\nfields and types on the request. Minimally, all services support the\nfollowing fields and types:\n\nRequest field | Type\n---------------|-----------------\nauth.uid | `string`\nauth.token | `map\u003cstring, string\u003e`\nheaders | `map\u003cstring, string\u003e`\nmethod | `string`\nparams | `map\u003cstring, string\u003e`\npath | `string`\ntime | `google.protobuf.Timestamp`\n\nIf the request value is not well-formed for the service, the request will\nbe rejected as an invalid argument." - } - } - }, - "Issue": { - "type": "object", - "properties": { - "description": { - "description": "Short error description.", - "type": "string" - }, - "sourcePosition": { - "$ref": "SourcePosition", - "description": "Position of the issue in the `Source`." - }, - "severity": { - "description": "The severity of the issue.", - "type": "string", - "enumDescriptions": [ - "An unspecified severity.", - "Deprecation issue for statements and method that may no longer be\nsupported or maintained.", - "Warnings such as: unused variables.", - "Errors such as: unmatched curly braces or variable redefinition." - ], - "enum": [ - "SEVERITY_UNSPECIFIED", - "DEPRECATION", - "WARNING", - "ERROR" - ] - } - }, - "id": "Issue", - "description": "Issues include warnings, errors, and deprecation notices." - }, - "TestRulesetRequest": { - "description": "The request for FirebaseRulesService.TestRuleset.", - "type": "object", - "properties": { - "testSuite": { - "$ref": "TestSuite", - "description": "Inline `TestSuite` to run." - }, - "source": { - "$ref": "Source", - "description": "Optional `Source` to be checked for correctness.\n\nThis field must not be set when the resource name refers to a `Ruleset`." - } - }, - "id": "TestRulesetRequest" - }, - "Ruleset": { - "type": "object", - "properties": { - "createTime": { - "format": "google-datetime", - "description": "Time the `Ruleset` was created.\nOutput only.", - "type": "string" - }, - "name": { - "description": "Name of the `Ruleset`. The ruleset_id is auto generated by the service.\nFormat: `projects/{project_id}/rulesets/{ruleset_id}`\nOutput only.", - "type": "string" - }, - "source": { - "description": "`Source` for the `Ruleset`.", - "$ref": "Source" - } - }, - "id": "Ruleset", - "description": "`Ruleset` is an immutable copy of `Source` with a globally unique identifier\nand a creation time." + "id": "Empty", + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object" } }, "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" }, "protocol": "rest", "canonicalName": "Firebase Rules", "auth": { "oauth2": { "scopes": { - "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" - }, "https://www.googleapis.com/auth/firebase.readonly": { "description": "View all your Firebase data and settings" }, "https://www.googleapis.com/auth/firebase": { "description": "View and administer all your Firebase data and settings" + }, + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" } } } - } + }, + "rootUrl": "https://firebaserules.googleapis.com/", + "ownerDomain": "google.com", + "name": "firebaserules", + "batchPath": "batch", + "title": "Firebase Rules API", + "ownerName": "Google", + "resources": { + "projects": { + "methods": { + "test": { + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "TestRulesetResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase", + "https://www.googleapis.com/auth/firebase.readonly" + ], + "parameters": { + "name": { + "description": "Tests may either provide `source` or a `Ruleset` resource name.\n\nFor tests against `source`, the resource name must refer to the project:\nFormat: `projects/{project_id}`\n\nFor tests against a `Ruleset`, this must be the `Ruleset` resource name:\nFormat: `projects/{project_id}/rulesets/{ruleset_id}`", + "type": "string", + "required": true, + "pattern": "^projects/.+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}:test", + "path": "v1/{+name}:test", + "id": "firebaserules.projects.test", + "request": { + "$ref": "TestRulesetRequest" + }, + "description": "Test `Source` for syntactic and semantic correctness. Issues present, if\nany, will be returned to the caller with a description, severity, and\nsource location.\n\nThe test method may be executed with `Source` or a `Ruleset` name.\nPassing `Source` is useful for unit testing new rules. Passing a `Ruleset`\nname is useful for regression testing an existing rule.\n\nThe following is an example of `Source` that permits users to upload images\nto a bucket bearing their user id and matching the correct metadata:\n\n_*Example*_\n\n // Users are allowed to subscribe and unsubscribe to the blog.\n service firebase.storage {\n match /users/{userId}/images/{imageName} {\n allow write: if userId == request.auth.uid\n && (imageName.matches('*.png$')\n || imageName.matches('*.jpg$'))\n && resource.mimeType.matches('^image/')\n }\n }" + } + }, + "resources": { + "rulesets": { + "methods": { + "list": { + "id": "firebaserules.projects.rulesets.list", + "path": "v1/{+name}/rulesets", + "description": "List `Ruleset` metadata only and optionally filter the results by `Ruleset`\nname.\n\nThe full `Source` contents of a `Ruleset` may be retrieved with\nGetRuleset.", + "response": { + "$ref": "ListRulesetsResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase", + "https://www.googleapis.com/auth/firebase.readonly" + ], + "parameters": { + "pageSize": { + "location": "query", + "format": "int32", + "description": "Page size to load. Maximum of 100. Defaults to 10.\nNote: `page_size` is just a hint and the service may choose to load less\nthan `page_size` due to the size of the output. To traverse all of the\nreleases, caller should iterate until the `page_token` is empty.", + "type": "integer" + }, + "filter": { + "type": "string", + "location": "query", + "description": "`Ruleset` filter. The list method supports filters with restrictions on\n`Ruleset.name`.\n\nFilters on `Ruleset.create_time` should use the `date` function which\nparses strings that conform to the RFC 3339 date/time specifications.\n\nExample: `create_time \u003e date(\"2017-01-01\") AND name=UUID-*`" + }, + "pageToken": { + "location": "query", + "description": "Next page token for loading the next batch of `Ruleset` instances.", + "type": "string" + }, + "name": { + "description": "Resource name for the project.\n\nFormat: `projects/{project_id}`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/rulesets" + }, + "get": { + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Ruleset" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase", + "https://www.googleapis.com/auth/firebase.readonly" + ], + "parameters": { + "name": { + "location": "path", + "description": "Resource name for the ruleset to get.\n\nFormat: `projects/{project_id}/rulesets/{ruleset_id}`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/rulesets/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/rulesets/{rulesetsId}", + "path": "v1/{+name}", + "id": "firebaserules.projects.rulesets.get", + "description": "Get a `Ruleset` by name including the full `Source` contents." + }, + "create": { + "response": { + "$ref": "Ruleset" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ], + "parameters": { + "name": { + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "Resource name for Project which owns this `Ruleset`.\n\nFormat: `projects/{project_id}`", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectsId}/rulesets", + "id": "firebaserules.projects.rulesets.create", + "path": "v1/{+name}/rulesets", + "request": { + "$ref": "Ruleset" + }, + "description": "Create a `Ruleset` from `Source`.\n\nThe `Ruleset` is given a unique generated name which is returned to the\ncaller. `Source` containing syntactic or semantics errors will result in an\nerror response indicating the first error encountered. For a detailed view\nof `Source` issues, use TestRuleset." + }, + "delete": { + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Empty" + }, + "httpMethod": "DELETE", + "parameters": { + "name": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/rulesets/[^/]+$", + "location": "path", + "description": "Resource name for the ruleset to delete.\n\nFormat: `projects/{project_id}/rulesets/{ruleset_id}`" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ], + "flatPath": "v1/projects/{projectsId}/rulesets/{rulesetsId}", + "id": "firebaserules.projects.rulesets.delete", + "path": "v1/{+name}", + "description": "Delete a `Ruleset` by resource name.\n\nIf the `Ruleset` is referenced by a `Release` the operation will fail." + } + } + }, + "releases": { + "methods": { + "getExecutable": { + "description": "Get the `Release` executable to use when enforcing rules.", + "httpMethod": "GET", + "response": { + "$ref": "GetReleaseExecutableResponse" + }, + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name of the `Release`.\n\nFormat: `projects/{project_id}/releases/{release_id}`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/releases/.+$", + "location": "path" + }, + "executableVersion": { + "location": "query", + "enum": [ + "RELEASE_EXECUTABLE_VERSION_UNSPECIFIED", + "FIREBASE_RULES_EXECUTABLE_V1", + "FIREBASE_RULES_EXECUTABLE_V2" + ], + "description": "The requested runtime executable version.\nDefaults to FIREBASE_RULES_EXECUTABLE_V1", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase", + "https://www.googleapis.com/auth/firebase.readonly" + ], + "flatPath": "v1/projects/{projectsId}/releases/{releasesId}:getExecutable", + "path": "v1/{+name}:getExecutable", + "id": "firebaserules.projects.releases.getExecutable" + }, + "delete": { + "flatPath": "v1/projects/{projectsId}/releases/{releasesId}", + "path": "v1/{+name}", + "id": "firebaserules.projects.releases.delete", + "description": "Delete a `Release` by resource name.", + "httpMethod": "DELETE", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Empty" + }, + "parameters": { + "name": { + "pattern": "^projects/[^/]+/releases/.+$", + "location": "path", + "description": "Resource name for the `Release` to delete.\n\nFormat: `projects/{project_id}/releases/{release_id}`", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "list": { + "description": "List the `Release` values for a project. This list may optionally be\nfiltered by `Release` name, `Ruleset` name, `TestSuite` name, or any\ncombination thereof.", + "response": { + "$ref": "ListReleasesResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase", + "https://www.googleapis.com/auth/firebase.readonly" + ], + "parameters": { + "filter": { + "type": "string", + "location": "query", + "description": "`Release` filter. The list method supports filters with restrictions on the\n`Release.name`, `Release.ruleset_name`, and `Release.test_suite_name`.\n\nExample 1: A filter of 'name=prod*' might return `Release`s with names\nwithin 'projects/foo' prefixed with 'prod':\n\nName | Ruleset Name\n------------------------------|-------------\nprojects/foo/releases/prod | projects/foo/rulesets/uuid1234\nprojects/foo/releases/prod/v1 | projects/foo/rulesets/uuid1234\nprojects/foo/releases/prod/v2 | projects/foo/rulesets/uuid8888\n\nExample 2: A filter of `name=prod* ruleset_name=uuid1234` would return only\n`Release` instances for 'projects/foo' with names prefixed with 'prod'\nreferring to the same `Ruleset` name of 'uuid1234':\n\nName | Ruleset Name\n------------------------------|-------------\nprojects/foo/releases/prod | projects/foo/rulesets/1234\nprojects/foo/releases/prod/v1 | projects/foo/rulesets/1234\n\nIn the examples, the filter parameters refer to the search filters are\nrelative to the project. Fully qualified prefixed may also be used. e.g.\n`test_suite_name=projects/foo/testsuites/uuid1`" + }, + "pageToken": { + "type": "string", + "location": "query", + "description": "Next page token for the next batch of `Release` instances." + }, + "name": { + "description": "Resource name for the project.\n\nFormat: `projects/{project_id}`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Page size to load. Maximum of 100. Defaults to 10.\nNote: `page_size` is just a hint and the service may choose to load fewer\nthan `page_size` results due to the size of the output. To traverse all of\nthe releases, the caller should iterate until the `page_token` on the\nresponse is empty.", + "type": "integer" + } + }, + "flatPath": "v1/projects/{projectsId}/releases", + "id": "firebaserules.projects.releases.list", + "path": "v1/{+name}/releases" + }, + "create": { + "description": "Create a `Release`.\n\nRelease names should reflect the developer's deployment practices. For\nexample, the release name may include the environment name, application\nname, application version, or any other name meaningful to the developer.\nOnce a `Release` refers to a `Ruleset`, the rules can be enforced by\nFirebase Rules-enabled services.\n\nMore than one `Release` may be 'live' concurrently. Consider the following\nthree `Release` names for `projects/foo` and the `Ruleset` to which they\nrefer.\n\nRelease Name | Ruleset Name\n--------------------------------|-------------\nprojects/foo/releases/prod | projects/foo/rulesets/uuid123\nprojects/foo/releases/prod/beta | projects/foo/rulesets/uuid123\nprojects/foo/releases/prod/v23 | projects/foo/rulesets/uuid456\n\nThe table reflects the `Ruleset` rollout in progress. The `prod` and\n`prod/beta` releases refer to the same `Ruleset`. However, `prod/v23`\nrefers to a new `Ruleset`. The `Ruleset` reference for a `Release` may be\nupdated using the UpdateRelease method.", + "request": { + "$ref": "Release" + }, + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Release" + }, + "parameters": { + "name": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "Resource name for the project which owns this `Release`.\n\nFormat: `projects/{project_id}`" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ], + "flatPath": "v1/projects/{projectsId}/releases", + "path": "v1/{+name}/releases", + "id": "firebaserules.projects.releases.create" + }, + "get": { + "description": "Get a `Release` by name.", + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Release" + }, + "parameters": { + "name": { + "location": "path", + "description": "Resource name of the `Release`.\n\nFormat: `projects/{project_id}/releases/{release_id}`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/releases/.+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase", + "https://www.googleapis.com/auth/firebase.readonly" + ], + "flatPath": "v1/projects/{projectsId}/releases/{releasesId}", + "path": "v1/{+name}", + "id": "firebaserules.projects.releases.get" + }, + "update": { + "id": "firebaserules.projects.releases.update", + "path": "v1/{+name}", + "description": "Update a `Release`.\n\nOnly updates to the `ruleset_name` and `test_suite_name` fields will be\nhonored. `Release` rename is not supported. To create a `Release` use the\nCreateRelease method.", + "request": { + "$ref": "Release" + }, + "response": { + "$ref": "Release" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PUT", + "parameters": { + "name": { + "description": "Resource name for the `Release`.\n\n`Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2`\nwhich affords developers a great deal of flexibility in mapping the name\nto the style that best fits their existing development practices. For\nexample, a name could refer to an environment, an app, a version, or some\ncombination of three.\n\nIn the table below, for the project name `projects/foo`, the following\nrelative release paths show how flat and structured names might be chosen\nto match a desired development / deployment strategy.\n\nUse Case | Flat Name | Structured Name\n-------------|---------------------|----------------\nEnvironments | releases/qa | releases/qa\nApps | releases/app1_qa | releases/app1/qa\nVersions | releases/app1_v2_qa | releases/app1/v2/qa\n\nThe delimiter between the release name path elements can be almost anything\nand it should work equally well with the release name list filter, but in\nmany ways the structured paths provide a clearer picture of the\nrelationship between `Release` instances.\n\nFormat: `projects/{project_id}/releases/{release_id}`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/releases/.+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ], + "flatPath": "v1/projects/{projectsId}/releases/{releasesId}" + } + } + } + } + } + }, + "parameters": { + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", + "location": "query" + }, + "quotaUser": { + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string" + }, + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string", + "location": "query" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" + }, + "uploadType": { + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", + "location": "query" + }, + "callback": { + "description": "JSONP", + "type": "string", + "location": "query" + }, + "$.xgafv": { + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string" + }, + "alt": { + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query" + } + }, + "version": "v1", + "baseUrl": "https://firebaserules.googleapis.com/", + "kind": "discovery#restDescription", + "description": "Creates and manages rules that determine when a Firebase Rules-enabled service should permit a request.\n", + "servicePath": "" } diff --git a/vendor/google.golang.org/api/firebaserules/v1/firebaserules-gen.go b/vendor/google.golang.org/api/firebaserules/v1/firebaserules-gen.go index 2292dea76..6911bff3a 100644 --- a/vendor/google.golang.org/api/firebaserules/v1/firebaserules-gen.go +++ b/vendor/google.golang.org/api/firebaserules/v1/firebaserules-gen.go @@ -285,6 +285,68 @@ func (s *FunctionMock) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GetReleaseExecutableResponse: The response for +// FirebaseRulesService.GetReleaseExecutable +type GetReleaseExecutableResponse struct { + // Executable: Executable view of the `Ruleset` referenced by the + // `Release`. + Executable string `json:"executable,omitempty"` + + // ExecutableVersion: The Rules runtime version of the executable. + // + // Possible values: + // "RELEASE_EXECUTABLE_VERSION_UNSPECIFIED" - Executable format + // unspecified. + // Defaults to FIREBASE_RULES_EXECUTABLE_V1 + // "FIREBASE_RULES_EXECUTABLE_V1" - Firebase Rules syntax 'rules2' + // executable versions: + // Custom AST for use with Java clients. + // "FIREBASE_RULES_EXECUTABLE_V2" - CEL-based executable for use with + // C++ clients. + ExecutableVersion string `json:"executableVersion,omitempty"` + + // Language: `Language` used to generate the executable bytes. + // + // Possible values: + // "LANGUAGE_UNSPECIFIED" - Language unspecified. Defaults to + // FIREBASE_RULES. + // "FIREBASE_RULES" - Firebase Rules language. + // "EVENT_FLOW_TRIGGERS" - Event Flow triggers. + Language string `json:"language,omitempty"` + + // RulesetName: `Ruleset` name associated with the `Release` executable. + RulesetName string `json:"rulesetName,omitempty"` + + // UpdateTime: Timestamp for the most recent `Release.update_time`. + UpdateTime string `json:"updateTime,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Executable") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Executable") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GetReleaseExecutableResponse) MarshalJSON() ([]byte, error) { + type noMethod GetReleaseExecutableResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Issue: Issues include warnings, errors, and deprecation notices. type Issue struct { // Description: Short error description. @@ -1496,6 +1558,171 @@ func (c *ProjectsReleasesGetCall) Do(opts ...googleapi.CallOption) (*Release, er } +// method id "firebaserules.projects.releases.getExecutable": + +type ProjectsReleasesGetExecutableCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// GetExecutable: Get the `Release` executable to use when enforcing +// rules. +func (r *ProjectsReleasesService) GetExecutable(name string) *ProjectsReleasesGetExecutableCall { + c := &ProjectsReleasesGetExecutableCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// ExecutableVersion sets the optional parameter "executableVersion": +// The requested runtime executable version. +// Defaults to FIREBASE_RULES_EXECUTABLE_V1 +// +// Possible values: +// "RELEASE_EXECUTABLE_VERSION_UNSPECIFIED" +// "FIREBASE_RULES_EXECUTABLE_V1" +// "FIREBASE_RULES_EXECUTABLE_V2" +func (c *ProjectsReleasesGetExecutableCall) ExecutableVersion(executableVersion string) *ProjectsReleasesGetExecutableCall { + c.urlParams_.Set("executableVersion", executableVersion) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsReleasesGetExecutableCall) Fields(s ...googleapi.Field) *ProjectsReleasesGetExecutableCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsReleasesGetExecutableCall) IfNoneMatch(entityTag string) *ProjectsReleasesGetExecutableCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsReleasesGetExecutableCall) Context(ctx context.Context) *ProjectsReleasesGetExecutableCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsReleasesGetExecutableCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsReleasesGetExecutableCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:getExecutable") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaserules.projects.releases.getExecutable" call. +// Exactly one of *GetReleaseExecutableResponse or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *GetReleaseExecutableResponse.ServerResponse.Header or (if a +// response was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsReleasesGetExecutableCall) Do(opts ...googleapi.CallOption) (*GetReleaseExecutableResponse, 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, &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, err + } + ret := &GetReleaseExecutableResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Get the `Release` executable to use when enforcing rules.", + // "flatPath": "v1/projects/{projectsId}/releases/{releasesId}:getExecutable", + // "httpMethod": "GET", + // "id": "firebaserules.projects.releases.getExecutable", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "executableVersion": { + // "description": "The requested runtime executable version.\nDefaults to FIREBASE_RULES_EXECUTABLE_V1", + // "enum": [ + // "RELEASE_EXECUTABLE_VERSION_UNSPECIFIED", + // "FIREBASE_RULES_EXECUTABLE_V1", + // "FIREBASE_RULES_EXECUTABLE_V2" + // ], + // "location": "query", + // "type": "string" + // }, + // "name": { + // "description": "Resource name of the `Release`.\n\nFormat: `projects/{project_id}/releases/{release_id}`", + // "location": "path", + // "pattern": "^projects/[^/]+/releases/.+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}:getExecutable", + // "response": { + // "$ref": "GetReleaseExecutableResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase", + // "https://www.googleapis.com/auth/firebase.readonly" + // ] + // } + +} + // method id "firebaserules.projects.releases.list": type ProjectsReleasesListCall struct { diff --git a/vendor/google.golang.org/api/fitness/v1/fitness-api.json b/vendor/google.golang.org/api/fitness/v1/fitness-api.json index 4dc972a63..55a163a1f 100644 --- a/vendor/google.golang.org/api/fitness/v1/fitness-api.json +++ b/vendor/google.golang.org/api/fitness/v1/fitness-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/ijeguRXyVpN9uEUSOI4kjLGOD9E\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/K1BxZmhfi_H1WlvW1SDsecgXAnE\"", "discoveryVersion": "v1", "id": "fitness:v1", "name": "fitness", "version": "v1", - "revision": "20161128", + "revision": "20170922", "title": "Fitness", "description": "Stores and accesses user data in the fitness store from apps on any platform.", "ownerDomain": "google.com", @@ -20,7 +20,7 @@ "basePath": "/fitness/v1/users/", "rootUrl": "https://www.googleapis.com/", "servicePath": "fitness/v1/users/", - "batchPath": "batch", + "batchPath": "batch/fitness/v1", "parameters": { "alt": { "type": "string", @@ -503,7 +503,7 @@ }, "dataStreamId": { "type": "string", - "description": "A unique identifier for the data stream produced by this data source. The identifier includes:\n\n \n- The physical device's manufacturer, model, and serial number (UID). \n- The application's package name or name. Package name is used when the data source was created by an Android application. The developer project number is used when the data source was created by a REST client. \n- The data source's type. \n- The data source's stream name. Note that not all attributes of the data source are used as part of the stream identifier. In particular, the version of the hardware/the application isn't used. This allows us to preserve the same stream through version updates. This also means that two DataSource objects may represent the same data stream even if they're not equal.\n\nThe exact format of the data stream ID created by an Android application is: type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName \n\nThe exact format of the data stream ID created by a REST client is: type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName \n\nWhen any of the optional fields that comprise of the data stream ID are blank, they will be omitted from the data stream ID. The minnimum viable data stream ID would be: type:dataType.name:developer project number\n\nFinally, the developer project number is obfuscated when read by any REST or Android client that did not create the data source. Only the data source creator will see the developer project number in clear and normal form.", + "description": "A unique identifier for the data stream produced by this data source. The identifier includes:\n\n \n- The physical device's manufacturer, model, and serial number (UID). \n- The application's package name or name. Package name is used when the data source was created by an Android application. The developer project number is used when the data source was created by a REST client. \n- The data source's type. \n- The data source's stream name. Note that not all attributes of the data source are used as part of the stream identifier. In particular, the version of the hardware/the application isn't used. This allows us to preserve the same stream through version updates. This also means that two DataSource objects may represent the same data stream even if they're not equal.\n\nThe exact format of the data stream ID created by an Android application is: type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName \n\nThe exact format of the data stream ID created by a REST client is: type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName \n\nWhen any of the optional fields that comprise of the data stream ID are blank, they will be omitted from the data stream ID. The minimum viable data stream ID would be: type:dataType.name:developer project number\n\nFinally, the developer project number is obfuscated when read by any REST or Android client that did not create the data source. Only the data source creator will see the developer project number in clear and normal form.", "annotations": { "required": [ "fitness.users.dataSources.update" @@ -763,6 +763,34 @@ } } }, + "ListDataPointChangesResponse": { + "id": "ListDataPointChangesResponse", + "type": "object", + "properties": { + "dataSourceId": { + "type": "string", + "description": "The data stream ID of the data source with data point changes." + }, + "deletedDataPoint": { + "type": "array", + "description": "Deleted data points for the user. Note, for modifications this should be parsed before handling insertions.", + "items": { + "$ref": "DataPoint" + } + }, + "insertedDataPoint": { + "type": "array", + "description": "Inserted data points for the user.", + "items": { + "$ref": "DataPoint" + } + }, + "nextPageToken": { + "type": "string", + "description": "The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results." + } + } + }, "ListDataSourcesResponse": { "id": "ListDataSourcesResponse", "type": "object", @@ -1189,6 +1217,68 @@ } }, "resources": { + "dataPointChanges": { + "methods": { + "list": { + "id": "fitness.users.dataSources.dataPointChanges.list", + "path": "{userId}/dataSources/{dataSourceId}/dataPointChanges", + "httpMethod": "GET", + "description": "Queries for user's data point changes for a particular data source.", + "parameters": { + "dataSourceId": { + "type": "string", + "description": "The data stream ID of the data source that created the dataset.", + "required": true, + "location": "path" + }, + "limit": { + "type": "integer", + "description": "If specified, no more than this many data point changes will be included in the response.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.", + "location": "query" + }, + "userId": { + "type": "string", + "description": "List data points for the person identified. Use me to indicate the authenticated user. Only me is supported at this time.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "userId", + "dataSourceId" + ], + "response": { + "$ref": "ListDataPointChangesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/fitness.activity.read", + "https://www.googleapis.com/auth/fitness.activity.write", + "https://www.googleapis.com/auth/fitness.blood_glucose.read", + "https://www.googleapis.com/auth/fitness.blood_glucose.write", + "https://www.googleapis.com/auth/fitness.blood_pressure.read", + "https://www.googleapis.com/auth/fitness.blood_pressure.write", + "https://www.googleapis.com/auth/fitness.body.read", + "https://www.googleapis.com/auth/fitness.body.write", + "https://www.googleapis.com/auth/fitness.body_temperature.read", + "https://www.googleapis.com/auth/fitness.body_temperature.write", + "https://www.googleapis.com/auth/fitness.location.read", + "https://www.googleapis.com/auth/fitness.location.write", + "https://www.googleapis.com/auth/fitness.nutrition.read", + "https://www.googleapis.com/auth/fitness.nutrition.write", + "https://www.googleapis.com/auth/fitness.oxygen_saturation.read", + "https://www.googleapis.com/auth/fitness.oxygen_saturation.write", + "https://www.googleapis.com/auth/fitness.reproductive_health.read", + "https://www.googleapis.com/auth/fitness.reproductive_health.write" + ] + } + } + }, "datasets": { "methods": { "delete": { diff --git a/vendor/google.golang.org/api/fitness/v1/fitness-gen.go b/vendor/google.golang.org/api/fitness/v1/fitness-gen.go index f33c29e97..5c5c82065 100644 --- a/vendor/google.golang.org/api/fitness/v1/fitness-gen.go +++ b/vendor/google.golang.org/api/fitness/v1/fitness-gen.go @@ -146,6 +146,7 @@ type UsersService struct { func NewUsersDataSourcesService(s *Service) *UsersDataSourcesService { rs := &UsersDataSourcesService{s: s} + rs.DataPointChanges = NewUsersDataSourcesDataPointChangesService(s) rs.Datasets = NewUsersDataSourcesDatasetsService(s) return rs } @@ -153,9 +154,20 @@ func NewUsersDataSourcesService(s *Service) *UsersDataSourcesService { type UsersDataSourcesService struct { s *Service + DataPointChanges *UsersDataSourcesDataPointChangesService + Datasets *UsersDataSourcesDatasetsService } +func NewUsersDataSourcesDataPointChangesService(s *Service) *UsersDataSourcesDataPointChangesService { + rs := &UsersDataSourcesDataPointChangesService{s: s} + return rs +} + +type UsersDataSourcesDataPointChangesService struct { + s *Service +} + func NewUsersDataSourcesDatasetsService(s *Service) *UsersDataSourcesDatasetsService { rs := &UsersDataSourcesDatasetsService{s: s} return rs @@ -709,7 +721,7 @@ type DataSource struct { // // // When any of the optional fields that comprise of the data stream ID - // are blank, they will be omitted from the data stream ID. The minnimum + // are blank, they will be omitted from the data stream ID. The minimum // viable data stream ID would be: type:dataType.name:developer project // number // @@ -981,6 +993,50 @@ func (s *Device) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type ListDataPointChangesResponse struct { + // DataSourceId: The data stream ID of the data source with data point + // changes. + DataSourceId string `json:"dataSourceId,omitempty"` + + // DeletedDataPoint: Deleted data points for the user. Note, for + // modifications this should be parsed before handling insertions. + DeletedDataPoint []*DataPoint `json:"deletedDataPoint,omitempty"` + + // InsertedDataPoint: Inserted data points for the user. + InsertedDataPoint []*DataPoint `json:"insertedDataPoint,omitempty"` + + // NextPageToken: The continuation token, which is used to page through + // large result sets. Provide this value in a subsequent request to + // return the next page of results. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "DataSourceId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DataSourceId") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListDataPointChangesResponse) MarshalJSON() ([]byte, error) { + type noMethod ListDataPointChangesResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type ListDataSourcesResponse struct { // DataSource: A previously created data source. DataSource []*DataSource `json:"dataSource,omitempty"` @@ -2197,6 +2253,219 @@ func (c *UsersDataSourcesUpdateCall) Do(opts ...googleapi.CallOption) (*DataSour } +// method id "fitness.users.dataSources.dataPointChanges.list": + +type UsersDataSourcesDataPointChangesListCall struct { + s *Service + userId string + dataSourceId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Queries for user's data point changes for a particular data +// source. +func (r *UsersDataSourcesDataPointChangesService) List(userId string, dataSourceId string) *UsersDataSourcesDataPointChangesListCall { + c := &UsersDataSourcesDataPointChangesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.userId = userId + c.dataSourceId = dataSourceId + return c +} + +// Limit sets the optional parameter "limit": If specified, no more than +// this many data point changes will be included in the response. +func (c *UsersDataSourcesDataPointChangesListCall) Limit(limit int64) *UsersDataSourcesDataPointChangesListCall { + c.urlParams_.Set("limit", fmt.Sprint(limit)) + return c +} + +// PageToken sets the optional parameter "pageToken": The continuation +// token, which is used to page through large result sets. To get the +// next page of results, set this parameter to the value of +// nextPageToken from the previous response. +func (c *UsersDataSourcesDataPointChangesListCall) PageToken(pageToken string) *UsersDataSourcesDataPointChangesListCall { + 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 information. +func (c *UsersDataSourcesDataPointChangesListCall) Fields(s ...googleapi.Field) *UsersDataSourcesDataPointChangesListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *UsersDataSourcesDataPointChangesListCall) IfNoneMatch(entityTag string) *UsersDataSourcesDataPointChangesListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *UsersDataSourcesDataPointChangesListCall) Context(ctx context.Context) *UsersDataSourcesDataPointChangesListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *UsersDataSourcesDataPointChangesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *UsersDataSourcesDataPointChangesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/dataSources/{dataSourceId}/dataPointChanges") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "userId": c.userId, + "dataSourceId": c.dataSourceId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "fitness.users.dataSources.dataPointChanges.list" call. +// Exactly one of *ListDataPointChangesResponse or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *ListDataPointChangesResponse.ServerResponse.Header or (if a +// response was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *UsersDataSourcesDataPointChangesListCall) Do(opts ...googleapi.CallOption) (*ListDataPointChangesResponse, 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, &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, err + } + ret := &ListDataPointChangesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Queries for user's data point changes for a particular data source.", + // "httpMethod": "GET", + // "id": "fitness.users.dataSources.dataPointChanges.list", + // "parameterOrder": [ + // "userId", + // "dataSourceId" + // ], + // "parameters": { + // "dataSourceId": { + // "description": "The data stream ID of the data source that created the dataset.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "limit": { + // "description": "If specified, no more than this many data point changes will be included in the response.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.", + // "location": "query", + // "type": "string" + // }, + // "userId": { + // "description": "List data points for the person identified. Use me to indicate the authenticated user. Only me is supported at this time.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{userId}/dataSources/{dataSourceId}/dataPointChanges", + // "response": { + // "$ref": "ListDataPointChangesResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/fitness.activity.read", + // "https://www.googleapis.com/auth/fitness.activity.write", + // "https://www.googleapis.com/auth/fitness.blood_glucose.read", + // "https://www.googleapis.com/auth/fitness.blood_glucose.write", + // "https://www.googleapis.com/auth/fitness.blood_pressure.read", + // "https://www.googleapis.com/auth/fitness.blood_pressure.write", + // "https://www.googleapis.com/auth/fitness.body.read", + // "https://www.googleapis.com/auth/fitness.body.write", + // "https://www.googleapis.com/auth/fitness.body_temperature.read", + // "https://www.googleapis.com/auth/fitness.body_temperature.write", + // "https://www.googleapis.com/auth/fitness.location.read", + // "https://www.googleapis.com/auth/fitness.location.write", + // "https://www.googleapis.com/auth/fitness.nutrition.read", + // "https://www.googleapis.com/auth/fitness.nutrition.write", + // "https://www.googleapis.com/auth/fitness.oxygen_saturation.read", + // "https://www.googleapis.com/auth/fitness.oxygen_saturation.write", + // "https://www.googleapis.com/auth/fitness.reproductive_health.read", + // "https://www.googleapis.com/auth/fitness.reproductive_health.write" + // ] + // } + +} + +// 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 *UsersDataSourcesDataPointChangesListCall) Pages(ctx context.Context, f func(*ListDataPointChangesResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + // method id "fitness.users.dataSources.datasets.delete": type UsersDataSourcesDatasetsDeleteCall struct { diff --git a/vendor/google.golang.org/api/fusiontables/v1/fusiontables-api.json b/vendor/google.golang.org/api/fusiontables/v1/fusiontables-api.json index beeb66a18..51fc523e2 100644 --- a/vendor/google.golang.org/api/fusiontables/v1/fusiontables-api.json +++ b/vendor/google.golang.org/api/fusiontables/v1/fusiontables-api.json @@ -20,7 +20,7 @@ "basePath": "/fusiontables/v1/", "rootUrl": "https://www.googleapis.com/", "servicePath": "fusiontables/v1/", - "batchPath": "batch", + "batchPath": "batch/fusiontables/v1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/fusiontables/v1/fusiontables-gen.go b/vendor/google.golang.org/api/fusiontables/v1/fusiontables-gen.go index c242c94b2..1b3c87f5f 100644 --- a/vendor/google.golang.org/api/fusiontables/v1/fusiontables-gen.go +++ b/vendor/google.golang.org/api/fusiontables/v1/fusiontables-gen.go @@ -3664,16 +3664,12 @@ func (c *TableGetCall) Do(opts ...googleapi.CallOption) (*Table, error) { // method id "fusiontables.table.importRows": type TableImportRowsCall struct { - s *Service - tableId string - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + tableId string + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // ImportRows: Import more rows into a table. @@ -3737,12 +3733,7 @@ func (c *TableImportRowsCall) StartLine(startLine int64) *TableImportRowsCall { // supplied. // At most one of Media and ResumableMedia may be set. func (c *TableImportRowsCall) Media(r io.Reader, options ...googleapi.MediaOption) *TableImportRowsCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -3757,11 +3748,7 @@ func (c *TableImportRowsCall) Media(r io.Reader, options ...googleapi.MediaOptio // supersede any context previously provided to the Context method. func (c *TableImportRowsCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *TableImportRowsCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -3770,7 +3757,7 @@ func (c *TableImportRowsCall) ResumableMedia(ctx context.Context, r io.ReaderAt, // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *TableImportRowsCall) ProgressUpdater(pu googleapi.ProgressUpdater) *TableImportRowsCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -3810,27 +3797,16 @@ func (c *TableImportRowsCall) doRequest(alt string) (*http.Response, error) { var body io.Reader = nil c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/import") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -3866,20 +3842,10 @@ func (c *TableImportRowsCall) Do(opts ...googleapi.CallOption) (*Import, error) if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -3977,15 +3943,11 @@ func (c *TableImportRowsCall) Do(opts ...googleapi.CallOption) (*Import, error) // method id "fusiontables.table.importTable": type TableImportTableCall struct { - s *Service - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // ImportTable: Import a new table. @@ -4020,12 +3982,7 @@ func (c *TableImportTableCall) Encoding(encoding string) *TableImportTableCall { // supplied. // At most one of Media and ResumableMedia may be set. func (c *TableImportTableCall) Media(r io.Reader, options ...googleapi.MediaOption) *TableImportTableCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -4040,11 +3997,7 @@ func (c *TableImportTableCall) Media(r io.Reader, options ...googleapi.MediaOpti // supersede any context previously provided to the Context method. func (c *TableImportTableCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *TableImportTableCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -4053,7 +4006,7 @@ func (c *TableImportTableCall) ResumableMedia(ctx context.Context, r io.ReaderAt // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *TableImportTableCall) ProgressUpdater(pu googleapi.ProgressUpdater) *TableImportTableCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -4093,27 +4046,16 @@ func (c *TableImportTableCall) doRequest(alt string) (*http.Response, error) { var body io.Reader = nil c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "tables/import") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -4146,20 +4088,10 @@ func (c *TableImportTableCall) Do(opts ...googleapi.CallOption) (*Table, error) if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() diff --git a/vendor/google.golang.org/api/fusiontables/v2/fusiontables-api.json b/vendor/google.golang.org/api/fusiontables/v2/fusiontables-api.json index a0ca84f17..5af149f15 100644 --- a/vendor/google.golang.org/api/fusiontables/v2/fusiontables-api.json +++ b/vendor/google.golang.org/api/fusiontables/v2/fusiontables-api.json @@ -20,7 +20,7 @@ "basePath": "/fusiontables/v2/", "rootUrl": "https://www.googleapis.com/", "servicePath": "fusiontables/v2/", - "batchPath": "batch", + "batchPath": "batch/fusiontables/v2", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/fusiontables/v2/fusiontables-gen.go b/vendor/google.golang.org/api/fusiontables/v2/fusiontables-gen.go index 3d47880f6..09d74b55a 100644 --- a/vendor/google.golang.org/api/fusiontables/v2/fusiontables-gen.go +++ b/vendor/google.golang.org/api/fusiontables/v2/fusiontables-gen.go @@ -3731,16 +3731,12 @@ func (c *TableGetCall) Do(opts ...googleapi.CallOption) (*Table, error) { // method id "fusiontables.table.importRows": type TableImportRowsCall struct { - s *Service - tableId string - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + tableId string + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // ImportRows: Imports more rows into a table. @@ -3799,12 +3795,7 @@ func (c *TableImportRowsCall) StartLine(startLine int64) *TableImportRowsCall { // supplied. // At most one of Media and ResumableMedia may be set. func (c *TableImportRowsCall) Media(r io.Reader, options ...googleapi.MediaOption) *TableImportRowsCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -3819,11 +3810,7 @@ func (c *TableImportRowsCall) Media(r io.Reader, options ...googleapi.MediaOptio // supersede any context previously provided to the Context method. func (c *TableImportRowsCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *TableImportRowsCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -3832,7 +3819,7 @@ func (c *TableImportRowsCall) ResumableMedia(ctx context.Context, r io.ReaderAt, // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *TableImportRowsCall) ProgressUpdater(pu googleapi.ProgressUpdater) *TableImportRowsCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -3872,27 +3859,16 @@ func (c *TableImportRowsCall) doRequest(alt string) (*http.Response, error) { var body io.Reader = nil c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/import") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -3928,20 +3904,10 @@ func (c *TableImportRowsCall) Do(opts ...googleapi.CallOption) (*Import, error) if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -4039,15 +4005,11 @@ func (c *TableImportRowsCall) Do(opts ...googleapi.CallOption) (*Import, error) // method id "fusiontables.table.importTable": type TableImportTableCall struct { - s *Service - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // ImportTable: Imports a new table. @@ -4082,12 +4044,7 @@ func (c *TableImportTableCall) Encoding(encoding string) *TableImportTableCall { // supplied. // At most one of Media and ResumableMedia may be set. func (c *TableImportTableCall) Media(r io.Reader, options ...googleapi.MediaOption) *TableImportTableCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -4102,11 +4059,7 @@ func (c *TableImportTableCall) Media(r io.Reader, options ...googleapi.MediaOpti // supersede any context previously provided to the Context method. func (c *TableImportTableCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *TableImportTableCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -4115,7 +4068,7 @@ func (c *TableImportTableCall) ResumableMedia(ctx context.Context, r io.ReaderAt // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *TableImportTableCall) ProgressUpdater(pu googleapi.ProgressUpdater) *TableImportTableCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -4155,27 +4108,16 @@ func (c *TableImportTableCall) doRequest(alt string) (*http.Response, error) { var body io.Reader = nil c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "tables/import") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -4208,20 +4150,10 @@ func (c *TableImportTableCall) Do(opts ...googleapi.CallOption) (*Table, error) if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -4739,16 +4671,12 @@ func (c *TablePatchCall) Do(opts ...googleapi.CallOption) (*Table, error) { // method id "fusiontables.table.replaceRows": type TableReplaceRowsCall struct { - s *Service - tableId string - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + tableId string + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // ReplaceRows: Replaces rows of an existing table. Current rows remain @@ -4810,12 +4738,7 @@ func (c *TableReplaceRowsCall) StartLine(startLine int64) *TableReplaceRowsCall // supplied. // At most one of Media and ResumableMedia may be set. func (c *TableReplaceRowsCall) Media(r io.Reader, options ...googleapi.MediaOption) *TableReplaceRowsCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -4830,11 +4753,7 @@ func (c *TableReplaceRowsCall) Media(r io.Reader, options ...googleapi.MediaOpti // supersede any context previously provided to the Context method. func (c *TableReplaceRowsCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *TableReplaceRowsCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -4843,7 +4762,7 @@ func (c *TableReplaceRowsCall) ResumableMedia(ctx context.Context, r io.ReaderAt // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *TableReplaceRowsCall) ProgressUpdater(pu googleapi.ProgressUpdater) *TableReplaceRowsCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -4883,27 +4802,16 @@ func (c *TableReplaceRowsCall) doRequest(alt string) (*http.Response, error) { var body io.Reader = nil c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "tables/{tableId}/replace") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -4939,20 +4847,10 @@ func (c *TableReplaceRowsCall) Do(opts ...googleapi.CallOption) (*Task, error) { if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() diff --git a/vendor/google.golang.org/api/games/v1/games-api.json b/vendor/google.golang.org/api/games/v1/games-api.json index 707af9008..7ea58771a 100644 --- a/vendor/google.golang.org/api/games/v1/games-api.json +++ b/vendor/google.golang.org/api/games/v1/games-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/q_YPaIOiITyXFUcvpP2ZjCeLRJA\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/yxKXEK0f6thaLbXelK6zwxd96bE\"", "discoveryVersion": "v1", "id": "games:v1", "name": "games", "canonicalName": "Games", "version": "v1", - "revision": "20170601", + "revision": "20170911", "title": "Google Play Game Services API", "description": "The API for Google Play Game Services.", "ownerDomain": "google.com", @@ -21,7 +21,7 @@ "basePath": "/games/v1/", "rootUrl": "https://www.googleapis.com/", "servicePath": "games/v1/", - "batchPath": "batch", + "batchPath": "batch/games/v1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/gamesconfiguration/v1configuration/gamesconfiguration-api.json b/vendor/google.golang.org/api/gamesconfiguration/v1configuration/gamesconfiguration-api.json index 4b6b3edba..1de4d4927 100644 --- a/vendor/google.golang.org/api/gamesconfiguration/v1configuration/gamesconfiguration-api.json +++ b/vendor/google.golang.org/api/gamesconfiguration/v1configuration/gamesconfiguration-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/EeinYhdEv3oJM--OvCR7gDew1T4\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/V9bMC5OL2jFg9_Lf_SdJ5NVszwI\"", "discoveryVersion": "v1", "id": "gamesConfiguration:v1configuration", "name": "gamesConfiguration", "canonicalName": "Games Configuration", "version": "v1configuration", - "revision": "20170601", + "revision": "20170911", "title": "Google Play Game Services Publishing API", "description": "The Publishing API for Google Play Game Services.", "ownerDomain": "google.com", @@ -21,7 +21,7 @@ "basePath": "/games/v1configuration/", "rootUrl": "https://www.googleapis.com/", "servicePath": "games/v1configuration/", - "batchPath": "batch", + "batchPath": "batch/gamesConfiguration/v1configuration", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/gamesconfiguration/v1configuration/gamesconfiguration-gen.go b/vendor/google.golang.org/api/gamesconfiguration/v1configuration/gamesconfiguration-gen.go index 9aa15d137..97f9681ec 100644 --- a/vendor/google.golang.org/api/gamesconfiguration/v1configuration/gamesconfiguration-gen.go +++ b/vendor/google.golang.org/api/gamesconfiguration/v1configuration/gamesconfiguration-gen.go @@ -1440,17 +1440,13 @@ func (c *AchievementConfigurationsUpdateCall) Do(opts ...googleapi.CallOption) ( // method id "gamesConfiguration.imageConfigurations.upload": type ImageConfigurationsUploadCall struct { - s *Service - resourceId string - imageType string - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + resourceId string + imageType string + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Upload: Uploads an image for a resource with the given ID and image @@ -1471,12 +1467,7 @@ func (r *ImageConfigurationsService) Upload(resourceId string, imageType string) // supplied. // At most one of Media and ResumableMedia may be set. func (c *ImageConfigurationsUploadCall) Media(r io.Reader, options ...googleapi.MediaOption) *ImageConfigurationsUploadCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -1491,11 +1482,7 @@ func (c *ImageConfigurationsUploadCall) Media(r io.Reader, options ...googleapi. // supersede any context previously provided to the Context method. func (c *ImageConfigurationsUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *ImageConfigurationsUploadCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -1504,7 +1491,7 @@ func (c *ImageConfigurationsUploadCall) ResumableMedia(ctx context.Context, r io // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *ImageConfigurationsUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *ImageConfigurationsUploadCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -1544,27 +1531,16 @@ func (c *ImageConfigurationsUploadCall) doRequest(alt string) (*http.Response, e var body io.Reader = nil c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "images/{resourceId}/imageType/{imageType}") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -1601,20 +1577,10 @@ func (c *ImageConfigurationsUploadCall) Do(opts ...googleapi.CallOption) (*Image if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() diff --git a/vendor/google.golang.org/api/gamesmanagement/v1management/gamesmanagement-api.json b/vendor/google.golang.org/api/gamesmanagement/v1management/gamesmanagement-api.json index 321ce54cf..7e2c08970 100644 --- a/vendor/google.golang.org/api/gamesmanagement/v1management/gamesmanagement-api.json +++ b/vendor/google.golang.org/api/gamesmanagement/v1management/gamesmanagement-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/aOJoHLcG8sanKhT7niZhnljevtI\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/gYl0pTtcNnYGTXFkvxL5OL8Dc58\"", "discoveryVersion": "v1", "id": "gamesManagement:v1management", "name": "gamesManagement", "canonicalName": "Games Management", "version": "v1management", - "revision": "20170601", + "revision": "20170911", "title": "Google Play Game Services Management API", "description": "The Management API for Google Play Game Services.", "ownerDomain": "google.com", @@ -21,7 +21,7 @@ "basePath": "/games/v1management/", "rootUrl": "https://www.googleapis.com/", "servicePath": "games/v1management/", - "batchPath": "batch", + "batchPath": "batch/gamesManagement/v1management", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/genomics/v1/genomics-api.json b/vendor/google.golang.org/api/genomics/v1/genomics-api.json index 9afb95776..0f24c5863 100644 --- a/vendor/google.golang.org/api/genomics/v1/genomics-api.json +++ b/vendor/google.golang.org/api/genomics/v1/genomics-api.json @@ -1,15 +1,46 @@ { + "rootUrl": "https://genomics.googleapis.com/", + "basePath": "", + "ownerDomain": "google.com", + "name": "genomics", "batchPath": "batch", "documentationLink": "https://cloud.google.com/genomics", + "revision": "20170928", "id": "genomics:v1", - "revision": "20170704", "title": "Genomics API", - "ownerName": "Google", "discoveryVersion": "v1", + "ownerName": "Google", "resources": { "callsets": { "methods": { + "delete": { + "description": "Deletes a call set.\n\nFor the definitions of call sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", + "httpMethod": "DELETE", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "callSetId" + ], + "parameters": { + "callSetId": { + "location": "path", + "description": "The ID of the call set to be deleted.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "flatPath": "v1/callsets/{callSetId}", + "path": "v1/callsets/{callSetId}", + "id": "genomics.callsets.delete" + }, "search": { + "path": "v1/callsets/search", + "id": "genomics.callsets.search", "description": "Gets a list of call sets matching the criteria.\n\nFor the definitions of call sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nImplements\n[GlobalAllianceApi.searchCallSets](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L178).", "request": { "$ref": "SearchCallSetsRequest" @@ -25,18 +56,16 @@ "https://www.googleapis.com/auth/genomics", "https://www.googleapis.com/auth/genomics.readonly" ], - "flatPath": "v1/callsets/search", - "path": "v1/callsets/search", - "id": "genomics.callsets.search" + "flatPath": "v1/callsets/search" }, "get": { - "httpMethod": "GET", "response": { "$ref": "CallSet" }, "parameterOrder": [ "callSetId" ], + "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/genomics", @@ -51,14 +80,11 @@ } }, "flatPath": "v1/callsets/{callSetId}", - "path": "v1/callsets/{callSetId}", "id": "genomics.callsets.get", + "path": "v1/callsets/{callSetId}", "description": "Gets a call set by ID.\n\nFor the definitions of call sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)" }, "patch": { - "flatPath": "v1/callsets/{callSetId}", - "id": "genomics.callsets.patch", - "path": "v1/callsets/{callSetId}", "description": "Updates a call set.\n\nFor the definitions of call sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nThis method supports patch semantics.", "request": { "$ref": "CallSet" @@ -71,57 +97,17 @@ ], "httpMethod": "PATCH", "parameters": { - "updateMask": { - "type": "string", - "location": "query", - "format": "google-fieldmask", - "description": "An optional mask specifying which fields to update. At this time, the only\nmutable field is name. The only\nacceptable value is \"name\". If unspecified, all mutable fields will be\nupdated." - }, "callSetId": { - "location": "path", "description": "The ID of the call set to be updated.", "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ] - }, - "create": { - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "parameters": {}, - "flatPath": "v1/callsets", - "id": "genomics.callsets.create", - "path": "v1/callsets", - "request": { - "$ref": "CallSet" - }, - "description": "Creates a new call set.\n\nFor the definitions of call sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", - "response": { - "$ref": "CallSet" - }, - "parameterOrder": [], - "httpMethod": "POST" - }, - "delete": { - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "callSetId" - ], - "httpMethod": "DELETE", - "parameters": { - "callSetId": { - "description": "The ID of the call set to be deleted.", - "type": "string", "required": true, "location": "path" + }, + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "An optional mask specifying which fields to update. At this time, the only\nmutable field is name. The only\nacceptable value is \"name\". If unspecified, all mutable fields will be\nupdated.", + "type": "string" } }, "scopes": [ @@ -129,9 +115,27 @@ "https://www.googleapis.com/auth/genomics" ], "flatPath": "v1/callsets/{callSetId}", - "id": "genomics.callsets.delete", - "path": "v1/callsets/{callSetId}", - "description": "Deletes a call set.\n\nFor the definitions of call sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)" + "id": "genomics.callsets.patch", + "path": "v1/callsets/{callSetId}" + }, + "create": { + "path": "v1/callsets", + "id": "genomics.callsets.create", + "request": { + "$ref": "CallSet" + }, + "description": "Creates a new call set.\n\nFor the definitions of call sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "CallSet" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "parameters": {}, + "flatPath": "v1/callsets" } } }, @@ -162,11 +166,11 @@ "readgroupsets": { "methods": { "import": { + "httpMethod": "POST", + "parameterOrder": [], "response": { "$ref": "Operation" }, - "parameterOrder": [], - "httpMethod": "POST", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/devstorage.read_write", @@ -174,21 +178,21 @@ ], "parameters": {}, "flatPath": "v1/readgroupsets:import", - "id": "genomics.readgroupsets.import", "path": "v1/readgroupsets:import", + "id": "genomics.readgroupsets.import", "request": { "$ref": "ImportReadGroupSetsRequest" }, "description": "Creates read group sets by asynchronously importing the provided\ninformation.\n\nFor the definitions of read group sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nThe caller must have WRITE permissions to the dataset.\n\n## Notes on [BAM](https://samtools.github.io/hts-specs/SAMv1.pdf) import\n\n- Tags will be converted to strings - tag types are not preserved\n- Comments (`@CO`) in the input file header will not be preserved\n- Original header order of references (`@SQ`) will not be preserved\n- Any reverse stranded unmapped reads will be reverse complemented, and\ntheir qualities (also the \"BQ\" and \"OQ\" tags, if any) will be reversed\n- Unmapped reads will be stripped of positional information (reference name\nand position)" }, "delete": { + "httpMethod": "DELETE", "response": { "$ref": "Empty" }, "parameterOrder": [ "readGroupSetId" ], - "httpMethod": "DELETE", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/genomics" @@ -202,22 +206,18 @@ } }, "flatPath": "v1/readgroupsets/{readGroupSetId}", - "id": "genomics.readgroupsets.delete", "path": "v1/readgroupsets/{readGroupSetId}", + "id": "genomics.readgroupsets.delete", "description": "Deletes a read group set.\n\nFor the definitions of read group sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)" }, "export": { - "description": "Exports a read group set to a BAM file in Google Cloud Storage.\n\nFor the definitions of read group sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nNote that currently there may be some differences between exported BAM\nfiles and the original BAM file at the time of import. See\nImportReadGroupSets\nfor caveats.", - "request": { - "$ref": "ExportReadGroupSetRequest" - }, - "response": { - "$ref": "Operation" - }, + "httpMethod": "POST", "parameterOrder": [ "readGroupSetId" ], - "httpMethod": "POST", + "response": { + "$ref": "Operation" + }, "parameters": { "readGroupSetId": { "location": "path", @@ -232,17 +232,14 @@ "https://www.googleapis.com/auth/genomics" ], "flatPath": "v1/readgroupsets/{readGroupSetId}:export", + "path": "v1/readgroupsets/{readGroupSetId}:export", "id": "genomics.readgroupsets.export", - "path": "v1/readgroupsets/{readGroupSetId}:export" + "description": "Exports a read group set to a BAM file in Google Cloud Storage.\n\nFor the definitions of read group sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nNote that currently there may be some differences between exported BAM\nfiles and the original BAM file at the time of import. See\nImportReadGroupSets\nfor caveats.", + "request": { + "$ref": "ExportReadGroupSetRequest" + } }, "search": { - "flatPath": "v1/readgroupsets/search", - "id": "genomics.readgroupsets.search", - "path": "v1/readgroupsets/search", - "description": "Searches for read group sets matching the criteria.\n\nFor the definitions of read group sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nImplements\n[GlobalAllianceApi.searchReadGroupSets](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/readmethods.avdl#L135).", - "request": { - "$ref": "SearchReadGroupSetsRequest" - }, "response": { "$ref": "SearchReadGroupSetsResponse" }, @@ -253,41 +250,14 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/genomics", "https://www.googleapis.com/auth/genomics.readonly" - ] - }, - "patch": { - "flatPath": "v1/readgroupsets/{readGroupSetId}", - "id": "genomics.readgroupsets.patch", - "path": "v1/readgroupsets/{readGroupSetId}", - "description": "Updates a read group set.\n\nFor the definitions of read group sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nThis method supports patch semantics.", - "request": { - "$ref": "ReadGroupSet" - }, - "response": { - "$ref": "ReadGroupSet" - }, - "parameterOrder": [ - "readGroupSetId" ], - "httpMethod": "PATCH", - "parameters": { - "readGroupSetId": { - "description": "The ID of the read group set to be updated. The caller must have WRITE\npermissions to the dataset associated with this read group set.", - "type": "string", - "required": true, - "location": "path" - }, - "updateMask": { - "type": "string", - "location": "query", - "format": "google-fieldmask", - "description": "An optional mask specifying which fields to update. Supported fields:\n\n* name.\n* referenceSetId.\n\nLeaving `updateMask` unset is equivalent to specifying all mutable\nfields." - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ] + "flatPath": "v1/readgroupsets/search", + "id": "genomics.readgroupsets.search", + "path": "v1/readgroupsets/search", + "description": "Searches for read group sets matching the criteria.\n\nFor the definitions of read group sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nImplements\n[GlobalAllianceApi.searchReadGroupSets](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/readmethods.avdl#L135).", + "request": { + "$ref": "SearchReadGroupSetsRequest" + } }, "get": { "id": "genomics.readgroupsets.get", @@ -300,11 +270,6 @@ "readGroupSetId" ], "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics", - "https://www.googleapis.com/auth/genomics.readonly" - ], "parameters": { "readGroupSetId": { "location": "path", @@ -313,14 +278,52 @@ "required": true } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics", + "https://www.googleapis.com/auth/genomics.readonly" + ], "flatPath": "v1/readgroupsets/{readGroupSetId}" + }, + "patch": { + "description": "Updates a read group set.\n\nFor the definitions of read group sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nThis method supports patch semantics.", + "request": { + "$ref": "ReadGroupSet" + }, + "httpMethod": "PATCH", + "parameterOrder": [ + "readGroupSetId" + ], + "response": { + "$ref": "ReadGroupSet" + }, + "parameters": { + "readGroupSetId": { + "description": "The ID of the read group set to be updated. The caller must have WRITE\npermissions to the dataset associated with this read group set.", + "type": "string", + "required": true, + "location": "path" + }, + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "An optional mask specifying which fields to update. Supported fields:\n\n* name.\n* referenceSetId.\n\nLeaving `updateMask` unset is equivalent to specifying all mutable\nfields.", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "flatPath": "v1/readgroupsets/{readGroupSetId}", + "path": "v1/readgroupsets/{readGroupSetId}", + "id": "genomics.readgroupsets.patch" } }, "resources": { "coveragebuckets": { "methods": { "list": { - "description": "Lists fixed width coverage buckets for a read group set, each of which\ncorrespond to a range of a reference sequence. Each bucket summarizes\ncoverage information across its corresponding genomic range.\n\nFor the definitions of read group sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nCoverage is defined as the number of reads which are aligned to a given\nbase in the reference sequence. Coverage buckets are available at several\nprecomputed bucket widths, enabling retrieval of various coverage 'zoom\nlevels'. The caller must have READ permissions for the target read group\nset.", "response": { "$ref": "ListCoverageBucketsResponse" }, @@ -328,7 +331,35 @@ "readGroupSetId" ], "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics", + "https://www.googleapis.com/auth/genomics.readonly" + ], "parameters": { + "start": { + "format": "int64", + "description": "The start position of the range on the reference, 0-based inclusive. If\nspecified, `referenceName` must also be specified. Defaults to 0.", + "type": "string", + "location": "query" + }, + "readGroupSetId": { + "description": "Required. The ID of the read group set over which coverage is requested.", + "type": "string", + "required": true, + "location": "path" + }, + "targetBucketWidth": { + "format": "int64", + "description": "The desired width of each reported coverage bucket in base pairs. This\nwill be rounded down to the nearest precomputed bucket width; the value\nof which is returned as `bucketWidth` in the response. Defaults\nto infinity (each bucket spans an entire reference sequence) or the length\nof the target range, if specified. The smallest precomputed\n`bucketWidth` is currently 2048 base pairs; this is subject to\nchange.", + "type": "string", + "location": "query" + }, + "referenceName": { + "description": "The name of the reference to query, within the reference set associated\nwith this query. Optional.", + "type": "string", + "location": "query" + }, "end": { "location": "query", "format": "int64", @@ -345,39 +376,12 @@ "format": "int32", "description": "The maximum number of results to return in a single page. If unspecified,\ndefaults to 1024. The maximum value is 2048.", "type": "integer" - }, - "start": { - "format": "int64", - "description": "The start position of the range on the reference, 0-based inclusive. If\nspecified, `referenceName` must also be specified. Defaults to 0.", - "type": "string", - "location": "query" - }, - "targetBucketWidth": { - "format": "int64", - "description": "The desired width of each reported coverage bucket in base pairs. This\nwill be rounded down to the nearest precomputed bucket width; the value\nof which is returned as `bucketWidth` in the response. Defaults\nto infinity (each bucket spans an entire reference sequence) or the length\nof the target range, if specified. The smallest precomputed\n`bucketWidth` is currently 2048 base pairs; this is subject to\nchange.", - "type": "string", - "location": "query" - }, - "readGroupSetId": { - "description": "Required. The ID of the read group set over which coverage is requested.", - "type": "string", - "required": true, - "location": "path" - }, - "referenceName": { - "location": "query", - "description": "The name of the reference to query, within the reference set associated\nwith this query. Optional.", - "type": "string" } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics", - "https://www.googleapis.com/auth/genomics.readonly" - ], "flatPath": "v1/readgroupsets/{readGroupSetId}/coveragebuckets", "id": "genomics.readgroupsets.coveragebuckets.list", - "path": "v1/readgroupsets/{readGroupSetId}/coveragebuckets" + "path": "v1/readgroupsets/{readGroupSetId}/coveragebuckets", + "description": "Lists fixed width coverage buckets for a read group set, each of which\ncorrespond to a range of a reference sequence. Each bucket summarizes\ncoverage information across its corresponding genomic range.\n\nFor the definitions of read group sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nCoverage is defined as the number of reads which are aligned to a given\nbase in the reference sequence. Coverage buckets are available at several\nprecomputed bucket widths, enabling retrieval of various coverage 'zoom\nlevels'. The caller must have READ permissions for the target read group\nset." } } } @@ -385,101 +389,34 @@ }, "variants": { "methods": { - "search": { + "import": { + "id": "genomics.variants.import", + "path": "v1/variants:import", "request": { - "$ref": "SearchVariantsRequest" + "$ref": "ImportVariantsRequest" }, - "description": "Gets a list of variants matching the criteria.\n\nFor the definitions of variants and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nImplements\n[GlobalAllianceApi.searchVariants](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L126).", + "description": "Creates variant data by asynchronously importing the provided information.\n\nFor the definitions of variant sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nThe variants for import will be merged with any existing variant that\nmatches its reference sequence, start, end, reference bases, and\nalternative bases. If no such variant exists, a new one will be created.\n\nWhen variants are merged, the call information from the new variant\nis added to the existing variant, and Variant info fields are merged\nas specified in\ninfoMergeConfig.\nAs a special case, for single-sample VCF files, QUAL and FILTER fields will\nbe moved to the call level; these are sometimes interpreted in a\ncall-specific context.\nImported VCF headers are appended to the metadata already in a variant set.", "response": { - "$ref": "SearchVariantsResponse" + "$ref": "Operation" }, "parameterOrder": [], "httpMethod": "POST", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics", - "https://www.googleapis.com/auth/genomics.readonly" - ], - "parameters": {}, - "flatPath": "v1/variants/search", - "id": "genomics.variants.search", - "path": "v1/variants/search" - }, - "patch": { - "flatPath": "v1/variants/{variantId}", - "path": "v1/variants/{variantId}", - "id": "genomics.variants.patch", - "request": { - "$ref": "Variant" - }, - "description": "Updates a variant.\n\nFor the definitions of variants and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nThis method supports patch semantics. Returns the modified variant without\nits calls.", - "httpMethod": "PATCH", - "parameterOrder": [ - "variantId" - ], - "response": { - "$ref": "Variant" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/devstorage.read_write", "https://www.googleapis.com/auth/genomics" ], - "parameters": { - "updateMask": { - "location": "query", - "format": "google-fieldmask", - "description": "An optional mask specifying which fields to update. At this time, mutable\nfields are names and\ninfo. Acceptable values are \"names\" and\n\"info\". If unspecified, all mutable fields will be updated.", - "type": "string" - }, - "variantId": { - "location": "path", - "description": "The ID of the variant to be updated.", - "type": "string", - "required": true - } - } + "parameters": {}, + "flatPath": "v1/variants:import" }, - "get": { - "description": "Gets a variant by ID.\n\nFor the definitions of variants and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", + "delete": { + "httpMethod": "DELETE", "parameterOrder": [ "variantId" ], - "httpMethod": "GET", - "response": { - "$ref": "Variant" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics", - "https://www.googleapis.com/auth/genomics.readonly" - ], - "parameters": { - "variantId": { - "location": "path", - "description": "The ID of the variant.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/variants/{variantId}", - "id": "genomics.variants.get", - "path": "v1/variants/{variantId}" - }, - "delete": { - "id": "genomics.variants.delete", - "path": "v1/variants/{variantId}", - "description": "Deletes a variant.\n\nFor the definitions of variants and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", "response": { "$ref": "Empty" }, - "parameterOrder": [ - "variantId" - ], - "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], "parameters": { "variantId": { "description": "The ID of the variant to be deleted.", @@ -488,63 +425,130 @@ "location": "path" } }, - "flatPath": "v1/variants/{variantId}" + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "flatPath": "v1/variants/{variantId}", + "path": "v1/variants/{variantId}", + "id": "genomics.variants.delete", + "description": "Deletes a variant.\n\nFor the definitions of variants and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)" }, "merge": { - "id": "genomics.variants.merge", - "path": "v1/variants:merge", - "request": { - "$ref": "MergeVariantsRequest" - }, - "description": "Merges the given variants with existing variants.\n\nFor the definitions of variants and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nEach variant will be\nmerged with an existing variant that matches its reference sequence,\nstart, end, reference bases, and alternative bases. If no such variant\nexists, a new one will be created.\n\nWhen variants are merged, the call information from the new variant\nis added to the existing variant. Variant info fields are merged as\nspecified in the\ninfoMergeConfig\nfield of the MergeVariantsRequest.\n\nPlease exercise caution when using this method! It is easy to introduce\nmistakes in existing variants and difficult to back out of them. For\nexample,\nsuppose you were trying to merge a new variant with an existing one and\nboth\nvariants contain calls that belong to callsets with the same callset ID.\n\n // Existing variant - irrelevant fields trimmed for clarity\n {\n \"variantSetId\": \"10473108253681171589\",\n \"referenceName\": \"1\",\n \"start\": \"10582\",\n \"referenceBases\": \"G\",\n \"alternateBases\": [\n \"A\"\n ],\n \"calls\": [\n {\n \"callSetId\": \"10473108253681171589-0\",\n \"callSetName\": \"CALLSET0\",\n \"genotype\": [\n 0,\n 1\n ],\n }\n ]\n }\n\n // New variant with conflicting call information\n {\n \"variantSetId\": \"10473108253681171589\",\n \"referenceName\": \"1\",\n \"start\": \"10582\",\n \"referenceBases\": \"G\",\n \"alternateBases\": [\n \"A\"\n ],\n \"calls\": [\n {\n \"callSetId\": \"10473108253681171589-0\",\n \"callSetName\": \"CALLSET0\",\n \"genotype\": [\n 1,\n 1\n ],\n }\n ]\n }\n\nThe resulting merged variant would overwrite the existing calls with those\nfrom the new variant:\n\n {\n \"variantSetId\": \"10473108253681171589\",\n \"referenceName\": \"1\",\n \"start\": \"10582\",\n \"referenceBases\": \"G\",\n \"alternateBases\": [\n \"A\"\n ],\n \"calls\": [\n {\n \"callSetId\": \"10473108253681171589-0\",\n \"callSetName\": \"CALLSET0\",\n \"genotype\": [\n 1,\n 1\n ],\n }\n ]\n }\n\nThis may be the desired outcome, but it is up to the user to determine if\nif that is indeed the case.", + "httpMethod": "POST", + "parameterOrder": [], "response": { "$ref": "Empty" }, - "parameterOrder": [], - "httpMethod": "POST", + "parameters": {}, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/genomics" ], - "parameters": {}, - "flatPath": "v1/variants:merge" - }, - "import": { - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "Operation" - }, - "parameters": {}, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/devstorage.read_write", - "https://www.googleapis.com/auth/genomics" - ], - "flatPath": "v1/variants:import", - "path": "v1/variants:import", - "id": "genomics.variants.import", - "description": "Creates variant data by asynchronously importing the provided information.\n\nFor the definitions of variant sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nThe variants for import will be merged with any existing variant that\nmatches its reference sequence, start, end, reference bases, and\nalternative bases. If no such variant exists, a new one will be created.\n\nWhen variants are merged, the call information from the new variant\nis added to the existing variant, and Variant info fields are merged\nas specified in\ninfoMergeConfig.\nAs a special case, for single-sample VCF files, QUAL and FILTER fields will\nbe moved to the call level; these are sometimes interpreted in a\ncall-specific context.\nImported VCF headers are appended to the metadata already in a variant set.", + "flatPath": "v1/variants:merge", + "path": "v1/variants:merge", + "id": "genomics.variants.merge", + "description": "Merges the given variants with existing variants.\n\nFor the definitions of variants and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nEach variant will be\nmerged with an existing variant that matches its reference sequence,\nstart, end, reference bases, and alternative bases. If no such variant\nexists, a new one will be created.\n\nWhen variants are merged, the call information from the new variant\nis added to the existing variant. Variant info fields are merged as\nspecified in the\ninfoMergeConfig\nfield of the MergeVariantsRequest.\n\nPlease exercise caution when using this method! It is easy to introduce\nmistakes in existing variants and difficult to back out of them. For\nexample,\nsuppose you were trying to merge a new variant with an existing one and\nboth\nvariants contain calls that belong to callsets with the same callset ID.\n\n // Existing variant - irrelevant fields trimmed for clarity\n {\n \"variantSetId\": \"10473108253681171589\",\n \"referenceName\": \"1\",\n \"start\": \"10582\",\n \"referenceBases\": \"G\",\n \"alternateBases\": [\n \"A\"\n ],\n \"calls\": [\n {\n \"callSetId\": \"10473108253681171589-0\",\n \"callSetName\": \"CALLSET0\",\n \"genotype\": [\n 0,\n 1\n ],\n }\n ]\n }\n\n // New variant with conflicting call information\n {\n \"variantSetId\": \"10473108253681171589\",\n \"referenceName\": \"1\",\n \"start\": \"10582\",\n \"referenceBases\": \"G\",\n \"alternateBases\": [\n \"A\"\n ],\n \"calls\": [\n {\n \"callSetId\": \"10473108253681171589-0\",\n \"callSetName\": \"CALLSET0\",\n \"genotype\": [\n 1,\n 1\n ],\n }\n ]\n }\n\nThe resulting merged variant would overwrite the existing calls with those\nfrom the new variant:\n\n {\n \"variantSetId\": \"10473108253681171589\",\n \"referenceName\": \"1\",\n \"start\": \"10582\",\n \"referenceBases\": \"G\",\n \"alternateBases\": [\n \"A\"\n ],\n \"calls\": [\n {\n \"callSetId\": \"10473108253681171589-0\",\n \"callSetName\": \"CALLSET0\",\n \"genotype\": [\n 1,\n 1\n ],\n }\n ]\n }\n\nThis may be the desired outcome, but it is up to the user to determine if\nif that is indeed the case.", "request": { - "$ref": "ImportVariantsRequest" + "$ref": "MergeVariantsRequest" } }, "create": { - "parameters": {}, + "path": "v1/variants", + "id": "genomics.variants.create", + "request": { + "$ref": "Variant" + }, + "description": "Creates a new variant.\n\nFor the definitions of variants and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "Variant" + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/genomics" ], - "flatPath": "v1/variants", - "path": "v1/variants", - "id": "genomics.variants.create", - "description": "Creates a new variant.\n\nFor the definitions of variants and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", - "request": { - "$ref": "Variant" - }, + "parameters": {}, + "flatPath": "v1/variants" + }, + "search": { "httpMethod": "POST", "parameterOrder": [], "response": { + "$ref": "SearchVariantsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics", + "https://www.googleapis.com/auth/genomics.readonly" + ], + "parameters": {}, + "flatPath": "v1/variants/search", + "path": "v1/variants/search", + "id": "genomics.variants.search", + "request": { + "$ref": "SearchVariantsRequest" + }, + "description": "Gets a list of variants matching the criteria.\n\nFor the definitions of variants and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nImplements\n[GlobalAllianceApi.searchVariants](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L126)." + }, + "get": { + "response": { + "$ref": "Variant" + }, + "parameterOrder": [ + "variantId" + ], + "httpMethod": "GET", + "parameters": { + "variantId": { + "location": "path", + "description": "The ID of the variant.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics", + "https://www.googleapis.com/auth/genomics.readonly" + ], + "flatPath": "v1/variants/{variantId}", + "id": "genomics.variants.get", + "path": "v1/variants/{variantId}", + "description": "Gets a variant by ID.\n\nFor the definitions of variants and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)" + }, + "patch": { + "httpMethod": "PATCH", + "parameterOrder": [ + "variantId" + ], + "response": { + "$ref": "Variant" + }, + "parameters": { + "updateMask": { + "format": "google-fieldmask", + "description": "An optional mask specifying which fields to update. At this time, mutable\nfields are names and\ninfo. Acceptable values are \"names\" and\n\"info\". If unspecified, all mutable fields will be updated.", + "type": "string", + "location": "query" + }, + "variantId": { + "description": "The ID of the variant to be updated.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "flatPath": "v1/variants/{variantId}", + "path": "v1/variants/{variantId}", + "id": "genomics.variants.patch", + "description": "Updates a variant.\n\nFor the definitions of variants and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nThis method supports patch semantics. Returns the modified variant without\nits calls.", + "request": { "$ref": "Variant" } } @@ -553,17 +557,13 @@ "annotationsets": { "methods": { "delete": { - "flatPath": "v1/annotationsets/{annotationSetId}", - "path": "v1/annotationsets/{annotationSetId}", - "id": "genomics.annotationsets.delete", - "description": "Deletes an annotation set. Caller must have WRITE permission\nfor the associated annotation set.", "httpMethod": "DELETE", - "response": { - "$ref": "Empty" - }, "parameterOrder": [ "annotationSetId" ], + "response": { + "$ref": "Empty" + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/genomics" @@ -575,36 +575,40 @@ "type": "string", "required": true } - } + }, + "flatPath": "v1/annotationsets/{annotationSetId}", + "path": "v1/annotationsets/{annotationSetId}", + "id": "genomics.annotationsets.delete", + "description": "Deletes an annotation set. Caller must have WRITE permission\nfor the associated annotation set." }, "search": { + "path": "v1/annotationsets/search", + "id": "genomics.annotationsets.search", + "description": "Searches for annotation sets that match the given criteria. Annotation sets\nare returned in an unspecified order. This order is consistent, such that\ntwo queries for the same content (regardless of page size) yield annotation\nsets in the same order across their respective streams of paginated\nresponses. Caller must have READ permission for the queried datasets.", "request": { "$ref": "SearchAnnotationSetsRequest" }, - "description": "Searches for annotation sets that match the given criteria. Annotation sets\nare returned in an unspecified order. This order is consistent, such that\ntwo queries for the same content (regardless of page size) yield annotation\nsets in the same order across their respective streams of paginated\nresponses. Caller must have READ permission for the queried datasets.", + "httpMethod": "POST", + "parameterOrder": [], "response": { "$ref": "SearchAnnotationSetsResponse" }, - "parameterOrder": [], - "httpMethod": "POST", + "parameters": {}, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/genomics", "https://www.googleapis.com/auth/genomics.readonly" ], - "parameters": {}, - "flatPath": "v1/annotationsets/search", - "id": "genomics.annotationsets.search", - "path": "v1/annotationsets/search" + "flatPath": "v1/annotationsets/search" }, "get": { - "httpMethod": "GET", - "parameterOrder": [ - "annotationSetId" - ], "response": { "$ref": "AnnotationSet" }, + "parameterOrder": [ + "annotationSetId" + ], + "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/genomics", @@ -619,102 +623,97 @@ } }, "flatPath": "v1/annotationsets/{annotationSetId}", - "path": "v1/annotationsets/{annotationSetId}", "id": "genomics.annotationsets.get", + "path": "v1/annotationsets/{annotationSetId}", "description": "Gets an annotation set. Caller must have READ permission for\nthe associated dataset." }, "update": { - "id": "genomics.annotationsets.update", - "path": "v1/annotationsets/{annotationSetId}", - "request": { - "$ref": "AnnotationSet" - }, - "description": "Updates an annotation set. The update must respect all mutability\nrestrictions and other invariants described on the annotation set resource.\nCaller must have WRITE permission for the associated dataset.", - "response": { - "$ref": "AnnotationSet" - }, + "httpMethod": "PUT", "parameterOrder": [ "annotationSetId" ], - "httpMethod": "PUT", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "parameters": { - "updateMask": { - "location": "query", - "format": "google-fieldmask", - "description": "An optional mask specifying which fields to update. Mutable fields are\nname,\nsource_uri, and\ninfo. If unspecified, all\nmutable fields will be updated.", - "type": "string" - }, - "annotationSetId": { - "description": "The ID of the annotation set to be updated.", - "type": "string", - "required": true, - "location": "path" - } - }, - "flatPath": "v1/annotationsets/{annotationSetId}" - }, - "create": { - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "parameters": {}, - "flatPath": "v1/annotationsets", - "id": "genomics.annotationsets.create", - "path": "v1/annotationsets", - "request": { - "$ref": "AnnotationSet" - }, - "description": "Creates a new annotation set. Caller must have WRITE permission for the\nassociated dataset.\n\nThe following fields are required:\n\n * datasetId\n * referenceSetId\n\nAll other fields may be optionally specified, unless documented as being\nserver-generated (for example, the `id` field).", "response": { "$ref": "AnnotationSet" }, + "parameters": { + "annotationSetId": { + "location": "path", + "description": "The ID of the annotation set to be updated.", + "type": "string", + "required": true + }, + "updateMask": { + "format": "google-fieldmask", + "description": "An optional mask specifying which fields to update. Mutable fields are\nname,\nsource_uri, and\ninfo. If unspecified, all\nmutable fields will be updated.", + "type": "string", + "location": "query" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "flatPath": "v1/annotationsets/{annotationSetId}", + "path": "v1/annotationsets/{annotationSetId}", + "id": "genomics.annotationsets.update", + "description": "Updates an annotation set. The update must respect all mutability\nrestrictions and other invariants described on the annotation set resource.\nCaller must have WRITE permission for the associated dataset.", + "request": { + "$ref": "AnnotationSet" + } + }, + "create": { + "httpMethod": "POST", "parameterOrder": [], - "httpMethod": "POST" + "response": { + "$ref": "AnnotationSet" + }, + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "flatPath": "v1/annotationsets", + "path": "v1/annotationsets", + "id": "genomics.annotationsets.create", + "description": "Creates a new annotation set. Caller must have WRITE permission for the\nassociated dataset.\n\nThe following fields are required:\n\n * datasetId\n * referenceSetId\n\nAll other fields may be optionally specified, unless documented as being\nserver-generated (for example, the `id` field).", + "request": { + "$ref": "AnnotationSet" + } } } }, "references": { "methods": { "search": { - "description": "Searches for references which match the given criteria.\n\nFor the definitions of references and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nImplements\n[GlobalAllianceApi.searchReferences](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L146).", - "request": { - "$ref": "SearchReferencesRequest" - }, "httpMethod": "POST", "parameterOrder": [], "response": { "$ref": "SearchReferencesResponse" }, - "parameters": {}, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/genomics", "https://www.googleapis.com/auth/genomics.readonly" ], + "parameters": {}, "flatPath": "v1/references/search", "path": "v1/references/search", - "id": "genomics.references.search" + "id": "genomics.references.search", + "request": { + "$ref": "SearchReferencesRequest" + }, + "description": "Searches for references which match the given criteria.\n\nFor the definitions of references and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nImplements\n[GlobalAllianceApi.searchReferences](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L146)." }, "get": { "path": "v1/references/{referenceId}", "id": "genomics.references.get", "description": "Gets a reference.\n\nFor the definitions of references and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nImplements\n[GlobalAllianceApi.getReference](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L158).", "httpMethod": "GET", - "parameterOrder": [ - "referenceId" - ], "response": { "$ref": "Reference" }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics", - "https://www.googleapis.com/auth/genomics.readonly" + "parameterOrder": [ + "referenceId" ], "parameters": { "referenceId": { @@ -724,6 +723,11 @@ "location": "path" } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics", + "https://www.googleapis.com/auth/genomics.readonly" + ], "flatPath": "v1/references/{referenceId}" } }, @@ -737,22 +741,11 @@ "response": { "$ref": "ListBasesResponse" }, - "httpMethod": "GET", "parameterOrder": [ "referenceId" ], + "httpMethod": "GET", "parameters": { - "pageToken": { - "location": "query", - "description": "The continuation token, which is used to page through large result sets.\nTo get the next page of results, set this parameter to the value of\n`nextPageToken` from the previous response.", - "type": "string" - }, - "pageSize": { - "format": "int32", - "description": "The maximum number of bases to return in a single page. If unspecified,\ndefaults to 200Kbp (kilo base pairs). The maximum value is 10Mbp (mega base\npairs).", - "type": "integer", - "location": "query" - }, "start": { "format": "int64", "description": "The start position (0-based) of this query. Defaults to 0.", @@ -770,6 +763,17 @@ "format": "int64", "description": "The end position (0-based, exclusive) of this query. Defaults to the length\nof this reference.", "type": "string" + }, + "pageToken": { + "description": "The continuation token, which is used to page through large result sets.\nTo get the next page of results, set this parameter to the value of\n`nextPageToken` from the previous response.", + "type": "string", + "location": "query" + }, + "pageSize": { + "format": "int32", + "description": "The maximum number of bases to return in a single page. If unspecified,\ndefaults to 200Kbp (kilo base pairs). The maximum value is 10Mbp (mega base\npairs).", + "type": "integer", + "location": "query" } }, "scopes": [ @@ -785,73 +789,37 @@ }, "datasets": { "methods": { - "getIamPolicy": { - "flatPath": "v1/datasets/{datasetsId}:getIamPolicy", - "id": "genomics.datasets.getIamPolicy", - "path": "v1/{+resource}:getIamPolicy", - "description": "Gets the access control policy for the dataset. This is empty if the\npolicy or resource does not exist.\n\nSee \u003ca href=\"/iam/docs/managing-policies#getting_a_policy\"\u003eGetting a\nPolicy\u003c/a\u003e for more information.\n\nFor the definitions of datasets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", - "request": { - "$ref": "GetIamPolicyRequest" - }, + "delete": { + "description": "Deletes a dataset and all of its contents (all read group sets,\nreference sets, variant sets, call sets, annotation sets, etc.)\nThis is reversible (up to one week after the deletion) via\nthe\ndatasets.undelete\noperation.\n\nFor the definitions of datasets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", + "httpMethod": "DELETE", "response": { - "$ref": "Policy" + "$ref": "Empty" }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "parameters": { - "resource": { - "type": "string", - "required": true, - "pattern": "^datasets/[^/]+$", - "location": "path", - "description": "REQUIRED: The resource for which policy is being specified. Format is\n`datasets/\u003cdataset ID\u003e`." - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ] - }, - "undelete": { - "httpMethod": "POST", "parameterOrder": [ "datasetId" ], - "response": { - "$ref": "Dataset" - }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], "parameters": { "datasetId": { - "description": "The ID of the dataset to be undeleted.", + "location": "path", + "description": "The ID of the dataset to be deleted.", "type": "string", - "required": true, - "location": "path" + "required": true } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "flatPath": "v1/datasets/{datasetId}:undelete", - "path": "v1/datasets/{datasetId}:undelete", - "id": "genomics.datasets.undelete", - "description": "Undeletes a dataset by restoring a dataset which was deleted via this API.\n\nFor the definitions of datasets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nThis operation is only possible for a week after the deletion occurred.", - "request": { - "$ref": "UndeleteDatasetRequest" - } - }, - "get": { - "id": "genomics.datasets.get", + "flatPath": "v1/datasets/{datasetId}", "path": "v1/datasets/{datasetId}", - "description": "Gets a dataset by ID.\n\nFor the definitions of datasets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", + "id": "genomics.datasets.delete" + }, + "list": { + "description": "Lists datasets within a project.\n\nFor the definitions of datasets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", "response": { - "$ref": "Dataset" + "$ref": "ListDatasetsResponse" }, - "parameterOrder": [ - "datasetId" - ], + "parameterOrder": [], "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -859,16 +827,161 @@ "https://www.googleapis.com/auth/genomics.readonly" ], "parameters": { - "datasetId": { + "pageToken": { + "description": "The continuation token, which is used to page through large result sets.\nTo get the next page of results, set this parameter to the value of\n`nextPageToken` from the previous response.", "type": "string", - "required": true, - "location": "path", - "description": "The ID of the dataset." + "location": "query" + }, + "pageSize": { + "format": "int32", + "description": "The maximum number of results to return in a single page. If unspecified,\ndefaults to 50. The maximum value is 1024.", + "type": "integer", + "location": "query" + }, + "projectId": { + "location": "query", + "description": "Required. The Google Cloud project ID to list datasets for.", + "type": "string" } }, - "flatPath": "v1/datasets/{datasetId}" + "flatPath": "v1/datasets", + "id": "genomics.datasets.list", + "path": "v1/datasets" + }, + "setIamPolicy": { + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "parameters": { + "resource": { + "pattern": "^datasets/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which policy is being specified. Format is\n`datasets/\u003cdataset ID\u003e`.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/datasets/{datasetsId}:setIamPolicy", + "id": "genomics.datasets.setIamPolicy", + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "description": "Sets the access control policy on the specified dataset. Replaces any\nexisting policy.\n\nFor the definitions of datasets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nSee \u003ca href=\"/iam/docs/managing-policies#setting_a_policy\"\u003eSetting a\nPolicy\u003c/a\u003e for more information." + }, + "create": { + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "Dataset" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "parameters": {}, + "flatPath": "v1/datasets", + "path": "v1/datasets", + "id": "genomics.datasets.create", + "request": { + "$ref": "Dataset" + }, + "description": "Creates a new dataset.\n\nFor the definitions of datasets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)" + }, + "getIamPolicy": { + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "parameters": { + "resource": { + "pattern": "^datasets/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which policy is being specified. Format is\n`datasets/\u003cdataset ID\u003e`.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/datasets/{datasetsId}:getIamPolicy", + "path": "v1/{+resource}:getIamPolicy", + "id": "genomics.datasets.getIamPolicy", + "request": { + "$ref": "GetIamPolicyRequest" + }, + "description": "Gets the access control policy for the dataset. This is empty if the\npolicy or resource does not exist.\n\nSee \u003ca href=\"/iam/docs/managing-policies#getting_a_policy\"\u003eGetting a\nPolicy\u003c/a\u003e for more information.\n\nFor the definitions of datasets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)" + }, + "get": { + "response": { + "$ref": "Dataset" + }, + "parameterOrder": [ + "datasetId" + ], + "httpMethod": "GET", + "parameters": { + "datasetId": { + "description": "The ID of the dataset.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics", + "https://www.googleapis.com/auth/genomics.readonly" + ], + "flatPath": "v1/datasets/{datasetId}", + "id": "genomics.datasets.get", + "path": "v1/datasets/{datasetId}", + "description": "Gets a dataset by ID.\n\nFor the definitions of datasets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)" + }, + "undelete": { + "response": { + "$ref": "Dataset" + }, + "parameterOrder": [ + "datasetId" + ], + "httpMethod": "POST", + "parameters": { + "datasetId": { + "location": "path", + "description": "The ID of the dataset to be undeleted.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "flatPath": "v1/datasets/{datasetId}:undelete", + "id": "genomics.datasets.undelete", + "path": "v1/datasets/{datasetId}:undelete", + "description": "Undeletes a dataset by restoring a dataset which was deleted via this API.\n\nFor the definitions of datasets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nThis operation is only possible for a week after the deletion occurred.", + "request": { + "$ref": "UndeleteDatasetRequest" + } }, "patch": { + "id": "genomics.datasets.patch", + "path": "v1/datasets/{datasetId}", "request": { "$ref": "Dataset" }, @@ -886,10 +999,10 @@ ], "parameters": { "datasetId": { - "location": "path", "description": "The ID of the dataset to be updated.", "type": "string", - "required": true + "required": true, + "location": "path" }, "updateMask": { "format": "google-fieldmask", @@ -898,9 +1011,7 @@ "location": "query" } }, - "flatPath": "v1/datasets/{datasetId}", - "id": "genomics.datasets.patch", - "path": "v1/datasets/{datasetId}" + "flatPath": "v1/datasets/{datasetId}" }, "testIamPermissions": { "httpMethod": "POST", @@ -916,11 +1027,11 @@ ], "parameters": { "resource": { + "pattern": "^datasets/[^/]+$", + "location": "path", "description": "REQUIRED: The resource for which policy is being specified. Format is\n`datasets/\u003cdataset ID\u003e`.", "type": "string", - "required": true, - "pattern": "^datasets/[^/]+$", - "location": "path" + "required": true } }, "flatPath": "v1/datasets/{datasetsId}:testIamPermissions", @@ -930,227 +1041,31 @@ "$ref": "TestIamPermissionsRequest" }, "description": "Returns permissions that a caller has on the specified resource.\nSee \u003ca href=\"/iam/docs/managing-policies#testing_permissions\"\u003eTesting\nPermissions\u003c/a\u003e for more information.\n\nFor the definitions of datasets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)" - }, - "delete": { - "httpMethod": "DELETE", - "parameterOrder": [ - "datasetId" - ], - "response": { - "$ref": "Empty" - }, - "parameters": { - "datasetId": { - "description": "The ID of the dataset to be deleted.", - "type": "string", - "required": true, - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "flatPath": "v1/datasets/{datasetId}", - "path": "v1/datasets/{datasetId}", - "id": "genomics.datasets.delete", - "description": "Deletes a dataset and all of its contents (all read group sets,\nreference sets, variant sets, call sets, annotation sets, etc.)\nThis is reversible (up to one week after the deletion) via\nthe\ndatasets.undelete\noperation.\n\nFor the definitions of datasets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)" - }, - "list": { - "response": { - "$ref": "ListDatasetsResponse" - }, - "parameterOrder": [], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics", - "https://www.googleapis.com/auth/genomics.readonly" - ], - "parameters": { - "pageToken": { - "location": "query", - "description": "The continuation token, which is used to page through large result sets.\nTo get the next page of results, set this parameter to the value of\n`nextPageToken` from the previous response.", - "type": "string" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "The maximum number of results to return in a single page. If unspecified,\ndefaults to 50. The maximum value is 1024.", - "type": "integer" - }, - "projectId": { - "location": "query", - "description": "Required. The Google Cloud project ID to list datasets for.", - "type": "string" - } - }, - "flatPath": "v1/datasets", - "id": "genomics.datasets.list", - "path": "v1/datasets", - "description": "Lists datasets within a project.\n\nFor the definitions of datasets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)" - }, - "setIamPolicy": { - "id": "genomics.datasets.setIamPolicy", - "path": "v1/{+resource}:setIamPolicy", - "description": "Sets the access control policy on the specified dataset. Replaces any\nexisting policy.\n\nFor the definitions of datasets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nSee \u003ca href=\"/iam/docs/managing-policies#setting_a_policy\"\u003eSetting a\nPolicy\u003c/a\u003e for more information.", - "request": { - "$ref": "SetIamPolicyRequest" - }, - "response": { - "$ref": "Policy" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "parameters": { - "resource": { - "pattern": "^datasets/[^/]+$", - "location": "path", - "description": "REQUIRED: The resource for which policy is being specified. Format is\n`datasets/\u003cdataset ID\u003e`.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "flatPath": "v1/datasets/{datasetsId}:setIamPolicy" - }, - "create": { - "id": "genomics.datasets.create", - "path": "v1/datasets", - "description": "Creates a new dataset.\n\nFor the definitions of datasets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", - "request": { - "$ref": "Dataset" - }, - "response": { - "$ref": "Dataset" - }, - "parameterOrder": [], - "httpMethod": "POST", - "parameters": {}, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "flatPath": "v1/datasets" } } }, "variantsets": { "methods": { - "get": { - "httpMethod": "GET", - "response": { - "$ref": "VariantSet" - }, - "parameterOrder": [ - "variantSetId" - ], - "parameters": { - "variantSetId": { - "location": "path", - "description": "Required. The ID of the variant set.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics", - "https://www.googleapis.com/auth/genomics.readonly" - ], - "flatPath": "v1/variantsets/{variantSetId}", - "path": "v1/variantsets/{variantSetId}", - "id": "genomics.variantsets.get", - "description": "Gets a variant set by ID.\n\nFor the definitions of variant sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)" - }, - "patch": { - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "parameters": { - "updateMask": { - "format": "google-fieldmask", - "description": "An optional mask specifying which fields to update. Supported fields:\n\n* metadata.\n* name.\n* description.\n\nLeaving `updateMask` unset is equivalent to specifying all mutable\nfields.", - "type": "string", - "location": "query" - }, - "variantSetId": { - "type": "string", - "required": true, - "location": "path", - "description": "The ID of the variant to be updated (must already exist)." - } - }, - "flatPath": "v1/variantsets/{variantSetId}", - "id": "genomics.variantsets.patch", - "path": "v1/variantsets/{variantSetId}", - "request": { - "$ref": "VariantSet" - }, - "description": "Updates a variant set using patch semantics.\n\nFor the definitions of variant sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", - "response": { - "$ref": "VariantSet" - }, - "parameterOrder": [ - "variantSetId" - ], - "httpMethod": "PATCH" - }, - "delete": { - "httpMethod": "DELETE", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "variantSetId" - ], - "parameters": { - "variantSetId": { - "location": "path", - "description": "The ID of the variant set to be deleted.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "flatPath": "v1/variantsets/{variantSetId}", - "path": "v1/variantsets/{variantSetId}", - "id": "genomics.variantsets.delete", - "description": "Deletes a variant set including all variants, call sets, and calls within.\nThis is not reversible.\n\nFor the definitions of variant sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)" - }, "create": { - "description": "Creates a new variant set.\n\nFor the definitions of variant sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nThe provided variant set must have a valid `datasetId` set - all other\nfields are optional. Note that the `id` field will be ignored, as this is\nassigned by the server.", - "request": { - "$ref": "VariantSet" - }, + "httpMethod": "POST", + "parameterOrder": [], "response": { "$ref": "VariantSet" }, - "parameterOrder": [], - "httpMethod": "POST", "parameters": {}, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/genomics" ], "flatPath": "v1/variantsets", + "path": "v1/variantsets", "id": "genomics.variantsets.create", - "path": "v1/variantsets" + "description": "Creates a new variant set.\n\nFor the definitions of variant sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nThe provided variant set must have a valid `datasetId` set - all other\nfields are optional. Note that the `id` field will be ignored, as this is\nassigned by the server.", + "request": { + "$ref": "VariantSet" + } }, "export": { - "description": "Exports variant set data to an external destination.\n\nFor the definitions of variant sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", - "request": { - "$ref": "ExportVariantSetRequest" - }, "httpMethod": "POST", "parameterOrder": [ "variantSetId" @@ -1173,15 +1088,13 @@ ], "flatPath": "v1/variantsets/{variantSetId}:export", "path": "v1/variantsets/{variantSetId}:export", - "id": "genomics.variantsets.export" + "id": "genomics.variantsets.export", + "description": "Exports variant set data to an external destination.\n\nFor the definitions of variant sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", + "request": { + "$ref": "ExportVariantSetRequest" + } }, "search": { - "path": "v1/variantsets/search", - "id": "genomics.variantsets.search", - "request": { - "$ref": "SearchVariantSetsRequest" - }, - "description": "Returns a list of all variant sets matching search criteria.\n\nFor the definitions of variant sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nImplements\n[GlobalAllianceApi.searchVariantSets](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L49).", "httpMethod": "POST", "parameterOrder": [], "response": { @@ -1193,138 +1106,177 @@ "https://www.googleapis.com/auth/genomics.readonly" ], "parameters": {}, - "flatPath": "v1/variantsets/search" - } - } - }, - "annotations": { - "methods": { - "update": { - "httpMethod": "PUT", + "flatPath": "v1/variantsets/search", + "path": "v1/variantsets/search", + "id": "genomics.variantsets.search", + "request": { + "$ref": "SearchVariantSetsRequest" + }, + "description": "Returns a list of all variant sets matching search criteria.\n\nFor the definitions of variant sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nImplements\n[GlobalAllianceApi.searchVariantSets](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L49)." + }, + "get": { + "httpMethod": "GET", "parameterOrder": [ - "annotationId" + "variantSetId" ], "response": { - "$ref": "Annotation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "parameters": { - "annotationId": { - "location": "path", - "description": "The ID of the annotation to be updated.", - "type": "string", - "required": true - }, - "updateMask": { - "format": "google-fieldmask", - "description": "An optional mask specifying which fields to update. Mutable fields are\nname,\nvariant,\ntranscript, and\ninfo. If unspecified, all mutable\nfields will be updated.", - "type": "string", - "location": "query" - } - }, - "flatPath": "v1/annotations/{annotationId}", - "path": "v1/annotations/{annotationId}", - "id": "genomics.annotations.update", - "request": { - "$ref": "Annotation" - }, - "description": "Updates an annotation. Caller must have\nWRITE permission for the associated dataset." - }, - "delete": { - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "annotationId" - ], - "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "parameters": { - "annotationId": { - "description": "The ID of the annotation to be deleted.", - "type": "string", - "required": true, - "location": "path" - } - }, - "flatPath": "v1/annotations/{annotationId}", - "id": "genomics.annotations.delete", - "path": "v1/annotations/{annotationId}", - "description": "Deletes an annotation. Caller must have WRITE permission for\nthe associated annotation set." - }, - "create": { - "response": { - "$ref": "Annotation" - }, - "parameterOrder": [], - "httpMethod": "POST", - "parameters": {}, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "flatPath": "v1/annotations", - "id": "genomics.annotations.create", - "path": "v1/annotations", - "description": "Creates a new annotation. Caller must have WRITE permission\nfor the associated annotation set.\n\nThe following fields are required:\n\n* annotationSetId\n* referenceName or\n referenceId\n\n### Transcripts\n\nFor annotations of type TRANSCRIPT, the following fields of\ntranscript must be provided:\n\n* exons.start\n* exons.end\n\nAll other fields may be optionally specified, unless documented as being\nserver-generated (for example, the `id` field). The annotated\nrange must be no longer than 100Mbp (mega base pairs). See the\nAnnotation resource\nfor additional restrictions on each field.", - "request": { - "$ref": "Annotation" - } - }, - "batchCreate": { - "request": { - "$ref": "BatchCreateAnnotationsRequest" - }, - "description": "Creates one or more new annotations atomically. All annotations must\nbelong to the same annotation set. Caller must have WRITE\npermission for this annotation set. For optimal performance, batch\npositionally adjacent annotations together.\n\nIf the request has a systemic issue, such as an attempt to write to\nan inaccessible annotation set, the entire RPC will fail accordingly. For\nlesser data issues, when possible an error will be isolated to the\ncorresponding batch entry in the response; the remaining well formed\nannotations will be created normally.\n\nFor details on the requirements for each individual annotation resource,\nsee\nCreateAnnotation.", - "response": { - "$ref": "BatchCreateAnnotationsResponse" - }, - "parameterOrder": [], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "parameters": {}, - "flatPath": "v1/annotations:batchCreate", - "id": "genomics.annotations.batchCreate", - "path": "v1/annotations:batchCreate" - }, - "search": { - "request": { - "$ref": "SearchAnnotationsRequest" - }, - "description": "Searches for annotations that match the given criteria. Results are\nordered by genomic coordinate (by reference sequence, then position).\nAnnotations with equivalent genomic coordinates are returned in an\nunspecified order. This order is consistent, such that two queries for the\nsame content (regardless of page size) yield annotations in the same order\nacross their respective streams of paginated responses. Caller must have\nREAD permission for the queried annotation sets.", - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "SearchAnnotationsResponse" + "$ref": "VariantSet" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/genomics", "https://www.googleapis.com/auth/genomics.readonly" ], + "parameters": { + "variantSetId": { + "description": "Required. The ID of the variant set.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/variantsets/{variantSetId}", + "path": "v1/variantsets/{variantSetId}", + "id": "genomics.variantsets.get", + "description": "Gets a variant set by ID.\n\nFor the definitions of variant sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)" + }, + "patch": { + "description": "Updates a variant set using patch semantics.\n\nFor the definitions of variant sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", + "request": { + "$ref": "VariantSet" + }, + "response": { + "$ref": "VariantSet" + }, + "parameterOrder": [ + "variantSetId" + ], + "httpMethod": "PATCH", + "parameters": { + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "An optional mask specifying which fields to update. Supported fields:\n\n* metadata.\n* name.\n* description.\n\nLeaving `updateMask` unset is equivalent to specifying all mutable\nfields.", + "type": "string" + }, + "variantSetId": { + "location": "path", + "description": "The ID of the variant to be updated (must already exist).", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "flatPath": "v1/variantsets/{variantSetId}", + "id": "genomics.variantsets.patch", + "path": "v1/variantsets/{variantSetId}" + }, + "delete": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "variantSetId" + ], + "httpMethod": "DELETE", + "parameters": { + "variantSetId": { + "location": "path", + "description": "The ID of the variant set to be deleted.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "flatPath": "v1/variantsets/{variantSetId}", + "id": "genomics.variantsets.delete", + "path": "v1/variantsets/{variantSetId}", + "description": "Deletes a variant set including all variants, call sets, and calls within.\nThis is not reversible.\n\nFor the definitions of variant sets and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)" + } + } + }, + "annotations": { + "methods": { + "create": { + "path": "v1/annotations", + "id": "genomics.annotations.create", + "description": "Creates a new annotation. Caller must have WRITE permission\nfor the associated annotation set.\n\nThe following fields are required:\n\n* annotationSetId\n* referenceName or\n referenceId\n\n### Transcripts\n\nFor annotations of type TRANSCRIPT, the following fields of\ntranscript must be provided:\n\n* exons.start\n* exons.end\n\nAll other fields may be optionally specified, unless documented as being\nserver-generated (for example, the `id` field). The annotated\nrange must be no longer than 100Mbp (mega base pairs). See the\nAnnotation resource\nfor additional restrictions on each field.", + "request": { + "$ref": "Annotation" + }, + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "Annotation" + }, "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "flatPath": "v1/annotations" + }, + "batchCreate": { + "path": "v1/annotations:batchCreate", + "id": "genomics.annotations.batchCreate", + "description": "Creates one or more new annotations atomically. All annotations must\nbelong to the same annotation set. Caller must have WRITE\npermission for this annotation set. For optimal performance, batch\npositionally adjacent annotations together.\n\nIf the request has a systemic issue, such as an attempt to write to\nan inaccessible annotation set, the entire RPC will fail accordingly. For\nlesser data issues, when possible an error will be isolated to the\ncorresponding batch entry in the response; the remaining well formed\nannotations will be created normally.\n\nFor details on the requirements for each individual annotation resource,\nsee\nCreateAnnotation.", + "request": { + "$ref": "BatchCreateAnnotationsRequest" + }, + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "BatchCreateAnnotationsResponse" + }, + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "flatPath": "v1/annotations:batchCreate" + }, + "search": { + "description": "Searches for annotations that match the given criteria. Results are\nordered by genomic coordinate (by reference sequence, then position).\nAnnotations with equivalent genomic coordinates are returned in an\nunspecified order. This order is consistent, such that two queries for the\nsame content (regardless of page size) yield annotations in the same order\nacross their respective streams of paginated responses. Caller must have\nREAD permission for the queried annotation sets.", + "request": { + "$ref": "SearchAnnotationsRequest" + }, + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "SearchAnnotationsResponse" + }, + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics", + "https://www.googleapis.com/auth/genomics.readonly" + ], "flatPath": "v1/annotations/search", "path": "v1/annotations/search", "id": "genomics.annotations.search" }, "get": { + "path": "v1/annotations/{annotationId}", + "id": "genomics.annotations.get", "description": "Gets an annotation. Caller must have READ permission\nfor the associated annotation set.", - "response": { - "$ref": "Annotation" - }, + "httpMethod": "GET", "parameterOrder": [ "annotationId" ], - "httpMethod": "GET", + "response": { + "$ref": "Annotation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics", + "https://www.googleapis.com/auth/genomics.readonly" + ], "parameters": { "annotationId": { "location": "path", @@ -1333,38 +1285,86 @@ "required": true } }, + "flatPath": "v1/annotations/{annotationId}" + }, + "update": { + "request": { + "$ref": "Annotation" + }, + "description": "Updates an annotation. Caller must have\nWRITE permission for the associated dataset.", + "response": { + "$ref": "Annotation" + }, + "parameterOrder": [ + "annotationId" + ], + "httpMethod": "PUT", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics", - "https://www.googleapis.com/auth/genomics.readonly" + "https://www.googleapis.com/auth/genomics" + ], + "parameters": { + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "An optional mask specifying which fields to update. Mutable fields are\nname,\nvariant,\ntranscript, and\ninfo. If unspecified, all mutable\nfields will be updated.", + "type": "string" + }, + "annotationId": { + "description": "The ID of the annotation to be updated.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/annotations/{annotationId}", + "id": "genomics.annotations.update", + "path": "v1/annotations/{annotationId}" + }, + "delete": { + "httpMethod": "DELETE", + "parameterOrder": [ + "annotationId" + ], + "response": { + "$ref": "Empty" + }, + "parameters": { + "annotationId": { + "location": "path", + "description": "The ID of the annotation to be deleted.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" ], "flatPath": "v1/annotations/{annotationId}", - "id": "genomics.annotations.get", - "path": "v1/annotations/{annotationId}" + "path": "v1/annotations/{annotationId}", + "id": "genomics.annotations.delete", + "description": "Deletes an annotation. Caller must have WRITE permission for\nthe associated annotation set." } } }, "operations": { "methods": { "cancel": { - "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. Clients may use Operations.GetOperation or Operations.ListOperations to check whether the cancellation succeeded or the operation completed despite cancellation.", - "request": { - "$ref": "CancelOperationRequest" - }, - "response": { - "$ref": "Empty" - }, + "httpMethod": "POST", "parameterOrder": [ "name" ], - "httpMethod": "POST", + "response": { + "$ref": "Empty" + }, "parameters": { "name": { + "pattern": "^operations/.+$", "location": "path", "description": "The name of the operation resource to be cancelled.", "type": "string", - "required": true, - "pattern": "^operations/.+$" + "required": true } }, "scopes": [ @@ -1372,18 +1372,18 @@ "https://www.googleapis.com/auth/genomics" ], "flatPath": "v1/operations/{operationsId}:cancel", + "path": "v1/{+name}:cancel", "id": "genomics.operations.cancel", - "path": "v1/{+name}:cancel" + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. Clients may use Operations.GetOperation or Operations.ListOperations to check whether the cancellation succeeded or the operation completed despite cancellation.", + "request": { + "$ref": "CancelOperationRequest" + } }, "get": { - "flatPath": "v1/operations/{operationsId}", - "id": "genomics.operations.get", - "path": "v1/{+name}", - "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "httpMethod": "GET", "response": { "$ref": "Operation" }, - "httpMethod": "GET", "parameterOrder": [ "name" ], @@ -1399,9 +1399,14 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/genomics" - ] + ], + "flatPath": "v1/operations/{operationsId}", + "path": "v1/{+name}", + "id": "genomics.operations.get", + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice." }, "list": { + "description": "Lists operations that match the specified filter in the request.", "response": { "$ref": "ListOperationsResponse" }, @@ -1409,72 +1414,71 @@ "name" ], "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], "parameters": { - "filter": { - "location": "query", - "description": "A string for filtering Operations.\nThe following filter fields are supported:\n\n* projectId: Required. Corresponds to\n OperationMetadata.projectId.\n* createTime: The time this job was created, in seconds from the\n [epoch](http://en.wikipedia.org/wiki/Unix_time). Can use `\u003e=` and/or `\u003c=`\n operators.\n* status: Can be `RUNNING`, `SUCCESS`, `FAILURE`, or `CANCELED`. Only\n one status may be specified.\n* labels.key where key is a label key.\n\nExamples:\n\n* `projectId = my-project AND createTime \u003e= 1432140000`\n* `projectId = my-project AND createTime \u003e= 1432140000 AND createTime \u003c= 1432150000 AND status = RUNNING`\n* `projectId = my-project AND labels.color = *`\n* `projectId = my-project AND labels.color = red`", - "type": "string" - }, "pageToken": { - "location": "query", "description": "The standard list page token.", - "type": "string" + "type": "string", + "location": "query" }, "name": { + "pattern": "^operations$", "location": "path", "description": "The name of the operation's parent resource.", "type": "string", - "required": true, - "pattern": "^operations$" + "required": true }, "pageSize": { "location": "query", "format": "int32", "description": "The maximum number of results to return. If unspecified, defaults to\n256. The maximum value is 2048.", "type": "integer" + }, + "filter": { + "location": "query", + "description": "A string for filtering Operations.\nThe following filter fields are supported:\n\n* projectId: Required. Corresponds to\n OperationMetadata.projectId.\n* createTime: The time this job was created, in seconds from the\n [epoch](http://en.wikipedia.org/wiki/Unix_time). Can use `\u003e=` and/or `\u003c=`\n operators.\n* status: Can be `RUNNING`, `SUCCESS`, `FAILURE`, or `CANCELED`. Only\n one status may be specified.\n* labels.key where key is a label key.\n\nExamples:\n\n* `projectId = my-project AND createTime \u003e= 1432140000`\n* `projectId = my-project AND createTime \u003e= 1432140000 AND createTime \u003c= 1432150000 AND status = RUNNING`\n* `projectId = my-project AND labels.color = *`\n* `projectId = my-project AND labels.color = red`", + "type": "string" } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], "flatPath": "v1/operations", "id": "genomics.operations.list", - "path": "v1/{+name}", - "description": "Lists operations that match the specified filter in the request." + "path": "v1/{+name}" } } }, "referencesets": { "methods": { "search": { - "flatPath": "v1/referencesets/search", - "path": "v1/referencesets/search", - "id": "genomics.referencesets.search", "description": "Searches for reference sets which match the given criteria.\n\nFor the definitions of references and other genomics resources, see\n[Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nImplements\n[GlobalAllianceApi.searchReferenceSets](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L71)", "request": { "$ref": "SearchReferenceSetsRequest" }, - "httpMethod": "POST", - "parameterOrder": [], "response": { "$ref": "SearchReferenceSetsResponse" }, + "parameterOrder": [], + "httpMethod": "POST", "parameters": {}, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/genomics", "https://www.googleapis.com/auth/genomics.readonly" - ] + ], + "flatPath": "v1/referencesets/search", + "id": "genomics.referencesets.search", + "path": "v1/referencesets/search" }, "get": { - "response": { - "$ref": "ReferenceSet" - }, "parameterOrder": [ "referenceSetId" ], "httpMethod": "GET", + "response": { + "$ref": "ReferenceSet" + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/genomics", @@ -1497,6 +1501,37 @@ } }, "parameters": { + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", + "location": "query" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" + }, + "pp": { + "description": "Pretty-print response.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", + "location": "query" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", + "location": "query" + }, "upload_protocol": { "location": "query", "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", @@ -1509,14 +1544,19 @@ "location": "query" }, "uploadType": { - "type": "string", "location": "query", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")." + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" }, "fields": { + "description": "Selector specifying which fields to include in a partial response.", "type": "string", + "location": "query" + }, + "callback": { "location": "query", - "description": "Selector specifying which fields to include in a partial response." + "description": "JSONP", + "type": "string" }, "$.xgafv": { "enumDescriptions": [ @@ -1531,12 +1571,13 @@ "description": "V1 error format.", "type": "string" }, - "callback": { - "type": "string", - "location": "query", - "description": "JSONP" - }, "alt": { + "enum": [ + "json", + "media", + "proto" + ], + "type": "string", "enumDescriptions": [ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", @@ -1544,50 +1585,764 @@ ], "location": "query", "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], - "type": "string" - }, - "access_token": { - "location": "query", - "description": "OAuth access token.", - "type": "string" - }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, - "quotaUser": { - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" - }, - "pp": { - "default": "true", - "type": "boolean", - "location": "query", - "description": "Pretty-print response." - }, - "bearer_token": { - "description": "OAuth bearer token.", - "type": "string", - "location": "query" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" + "default": "json" } }, "schemas": { - "Position": { - "description": "An abstraction for referring to a genomic position, in relation to some\nalready known reference. For now, represents a genomic position as a\nreference name, a base number on that reference (0-based), and a\ndetermination of forward or reverse strand.", + "TestIamPermissionsRequest": { + "properties": { + "permissions": { + "description": "REQUIRED: The set of permissions to check for the 'resource'.\nPermissions with wildcards (such as '*' or 'storage.*') are not allowed.\nAllowed permissions are:\n\n* `genomics.datasets.create`\n* `genomics.datasets.delete`\n* `genomics.datasets.get`\n* `genomics.datasets.list`\n* `genomics.datasets.update`\n* `genomics.datasets.getIamPolicy`\n* `genomics.datasets.setIamPolicy`", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "TestIamPermissionsRequest", + "description": "Request message for `TestIamPermissions` method.", + "type": "object" + }, + "Exon": { "type": "object", + "properties": { + "start": { + "format": "int64", + "description": "The start position of the exon on this annotation's reference sequence,\n0-based inclusive. Note that this is relative to the reference start, and\n**not** the containing annotation start.", + "type": "string" + }, + "frame": { + "format": "int32", + "description": "The frame of this exon. Contains a value of 0, 1, or 2, which indicates\nthe offset of the first coding base of the exon within the reading frame\nof the coding DNA sequence, if any. This field is dependent on the\nstrandedness of this annotation (see\nAnnotation.reverse_strand).\nFor forward stranded annotations, this offset is relative to the\nexon.start. For reverse\nstrand annotations, this offset is relative to the\nexon.end `- 1`.\n\nUnset if this exon does not intersect the coding sequence. Upon creation\nof a transcript, the frame must be populated for all or none of the\ncoding exons.", + "type": "integer" + }, + "end": { + "format": "int64", + "description": "The end position of the exon on this annotation's reference sequence,\n0-based exclusive. Note that this is relative to the reference start, and\n*not* the containing annotation start.", + "type": "string" + } + }, + "id": "Exon" + }, + "ExportReadGroupSetRequest": { + "properties": { + "referenceNames": { + "description": "The reference names to export. If this is not specified, all reference\nsequences, including unmapped reads, are exported.\nUse `*` to export only unmapped reads.", + "items": { + "type": "string" + }, + "type": "array" + }, + "exportUri": { + "description": "Required. A Google Cloud Storage URI for the exported BAM file.\nThe currently authenticated user must have write access to the new file.\nAn error will be returned if the URI already contains data.", + "type": "string" + }, + "projectId": { + "description": "Required. The Google Cloud project ID that owns this\nexport. The caller must have WRITE access to this project.", + "type": "string" + } + }, + "id": "ExportReadGroupSetRequest", + "description": "The read group set export request.", + "type": "object" + }, + "CallSet": { + "properties": { + "variantSetIds": { + "description": "The IDs of the variant sets this call set belongs to. This field must\nhave exactly length one, as a call set belongs to a single variant set.\nThis field is repeated for compatibility with the\n[GA4GH 0.5.1\nAPI](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variants.avdl#L76).", + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "The server-generated call set ID, unique across all call sets.", + "type": "string" + }, + "created": { + "format": "int64", + "description": "The date this call set was created in milliseconds from the epoch.", + "type": "string" + }, + "sampleId": { + "description": "The sample ID this call set corresponds to.", + "type": "string" + }, + "name": { + "description": "The call set name.", + "type": "string" + }, + "info": { + "additionalProperties": { + "items": { + "type": "any" + }, + "type": "array" + }, + "description": "A map of additional call set information. This must be of the form\nmap\u003cstring, string[]\u003e (string key mapping to a list of string values).", + "type": "object" + } + }, + "id": "CallSet", + "description": "A call set is a collection of variant calls, typically for one sample. It\nbelongs to a variant set.\n\nFor more genomics resource definitions, see [Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", + "type": "object" + }, + "SearchAnnotationSetsResponse": { + "type": "object", + "properties": { + "nextPageToken": { + "description": "The continuation token, which is used to page through large result sets.\nProvide this value in a subsequent request to return the next page of\nresults. This field will be empty if there aren't any additional results.", + "type": "string" + }, + "annotationSets": { + "description": "The matching annotation sets.", + "items": { + "$ref": "AnnotationSet" + }, + "type": "array" + } + }, + "id": "SearchAnnotationSetsResponse" + }, + "ImportVariantsRequest": { + "properties": { + "infoMergeConfig": { + "additionalProperties": { + "enum": [ + "INFO_MERGE_OPERATION_UNSPECIFIED", + "IGNORE_NEW", + "MOVE_TO_CALLS" + ], + "type": "string" + }, + "description": "A mapping between info field keys and the InfoMergeOperations to\nbe performed on them. This is plumbed down to the MergeVariantRequests\ngenerated by the resulting import job.", + "type": "object" + }, + "sourceUris": { + "description": "A list of URIs referencing variant files in Google Cloud Storage. URIs can\ninclude wildcards [as described\nhere](https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames).\nNote that recursive wildcards ('**') are not supported.", + "items": { + "type": "string" + }, + "type": "array" + }, + "variantSetId": { + "description": "Required. The variant set to which variant data should be imported.", + "type": "string" + }, + "normalizeReferenceNames": { + "description": "Convert reference names to the canonical representation.\nhg19 haploytypes (those reference names containing \"_hap\")\nare not modified in any way.\nAll other reference names are modified according to the following rules:\nThe reference name is capitalized.\nThe \"chr\" prefix is dropped for all autosomes and sex chromsomes.\nFor example \"chr17\" becomes \"17\" and \"chrX\" becomes \"X\".\nAll mitochondrial chromosomes (\"chrM\", \"chrMT\", etc) become \"MT\".", + "type": "boolean" + }, + "format": { + "enum": [ + "FORMAT_UNSPECIFIED", + "FORMAT_VCF", + "FORMAT_COMPLETE_GENOMICS" + ], + "description": "The format of the variant data being imported. If unspecified, defaults to\nto `VCF`.", + "type": "string", + "enumDescriptions": [ + "", + "VCF (Variant Call Format). The VCF files may be gzip compressed. gVCF is\nalso supported. Disclaimer: gzip VCF imports are currently much slower\nthan equivalent uncompressed VCF imports. For this reason, uncompressed\nVCF is currently recommended for imports with more than 1GB combined\nuncompressed size, or for time sensitive imports.", + "Complete Genomics masterVarBeta format. The masterVarBeta files may\nbe bzip2 compressed." + ] + } + }, + "id": "ImportVariantsRequest", + "description": "The variant data import request.", + "type": "object" + }, + "VariantAnnotation": { + "properties": { + "transcriptIds": { + "description": "Google annotation IDs of the transcripts affected by this variant. These\nshould be provided when the variant is created.", + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "enumDescriptions": [ + "", + "`TYPE_OTHER` should be used when no other Type will suffice.\nFurther explanation of the variant type may be included in the\ninfo field.", + "`INSERTION` indicates an insertion.", + "`DELETION` indicates a deletion.", + "`SUBSTITUTION` indicates a block substitution of\ntwo or more nucleotides.", + "`SNP` indicates a single nucleotide polymorphism.", + "`STRUCTURAL` indicates a large structural variant,\nincluding chromosomal fusions, inversions, etc.", + "`CNV` indicates a variation in copy number." + ], + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_OTHER", + "INSERTION", + "DELETION", + "SUBSTITUTION", + "SNP", + "STRUCTURAL", + "CNV" + ], + "description": "Type has been adapted from ClinVar's list of variant types.", + "type": "string" + }, + "alternateBases": { + "description": "The alternate allele for this variant. If multiple alternate alleles\nexist at this location, create a separate variant for each one, as they\nmay represent distinct conditions.", + "type": "string" + }, + "geneId": { + "description": "Google annotation ID of the gene affected by this variant. This should\nbe provided when the variant is created.", + "type": "string" + }, + "clinicalSignificance": { + "enumDescriptions": [ + "", + "`OTHER` should be used when no other clinical significance\nvalue will suffice.", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "`MULTIPLE_REPORTED` should be used when multiple clinical\nsignficances are reported for a variant. The original clinical\nsignificance values may be provided in the `info` field." + ], + "enum": [ + "CLINICAL_SIGNIFICANCE_UNSPECIFIED", + "CLINICAL_SIGNIFICANCE_OTHER", + "UNCERTAIN", + "BENIGN", + "LIKELY_BENIGN", + "LIKELY_PATHOGENIC", + "PATHOGENIC", + "DRUG_RESPONSE", + "HISTOCOMPATIBILITY", + "CONFERS_SENSITIVITY", + "RISK_FACTOR", + "ASSOCIATION", + "PROTECTIVE", + "MULTIPLE_REPORTED" + ], + "description": "Describes the clinical significance of a variant.\nIt is adapted from the ClinVar controlled vocabulary for clinical\nsignificance described at:\nhttp://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/", + "type": "string" + }, + "conditions": { + "description": "The set of conditions associated with this variant.\nA condition describes the way a variant influences human health.", + "items": { + "$ref": "ClinicalCondition" + }, + "type": "array" + }, + "effect": { + "enumDescriptions": [ + "", + "`EFFECT_OTHER` should be used when no other Effect\nwill suffice.", + "`FRAMESHIFT` indicates a mutation in which the insertion or\ndeletion of nucleotides resulted in a frameshift change.", + "`FRAME_PRESERVING_INDEL` indicates a mutation in which a\nmultiple of three nucleotides has been inserted or deleted, resulting\nin no change to the reading frame of the coding sequence.", + "`SYNONYMOUS_SNP` indicates a single nucleotide polymorphism\nmutation that results in no amino acid change.", + "`NONSYNONYMOUS_SNP` indicates a single nucleotide\npolymorphism mutation that results in an amino acid change.", + "`STOP_GAIN` indicates a mutation that leads to the creation\nof a stop codon at the variant site. Frameshift mutations creating\ndownstream stop codons do not count as `STOP_GAIN`.", + "`STOP_LOSS` indicates a mutation that eliminates a\nstop codon at the variant site.", + "`SPLICE_SITE_DISRUPTION` indicates that this variant is\nfound in a splice site for the associated transcript, and alters the\nnormal splicing pattern." + ], + "enum": [ + "EFFECT_UNSPECIFIED", + "EFFECT_OTHER", + "FRAMESHIFT", + "FRAME_PRESERVING_INDEL", + "SYNONYMOUS_SNP", + "NONSYNONYMOUS_SNP", + "STOP_GAIN", + "STOP_LOSS", + "SPLICE_SITE_DISRUPTION" + ], + "description": "Effect of the variant on the coding sequence.", + "type": "string" + } + }, + "id": "VariantAnnotation", + "type": "object" + }, + "ListCoverageBucketsResponse": { + "properties": { + "nextPageToken": { + "description": "The continuation token, which is used to page through large result sets.\nProvide this value in a subsequent request to return the next page of\nresults. This field will be empty if there aren't any additional results.", + "type": "string" + }, + "bucketWidth": { + "format": "int64", + "description": "The length of each coverage bucket in base pairs. Note that buckets at the\nend of a reference sequence may be shorter. This value is omitted if the\nbucket width is infinity (the default behaviour, with no range or\n`targetBucketWidth`).", + "type": "string" + }, + "coverageBuckets": { + "description": "The coverage buckets. The list of buckets is sparse; a bucket with 0\noverlapping reads is not returned. A bucket never crosses more than one\nreference sequence. Each bucket has width `bucketWidth`, unless\nits end is the end of the reference sequence.", + "items": { + "$ref": "CoverageBucket" + }, + "type": "array" + } + }, + "id": "ListCoverageBucketsResponse", + "type": "object" + }, + "ExportVariantSetRequest": { + "description": "The variant data export request.", + "type": "object", + "properties": { + "bigqueryTable": { + "description": "Required. The BigQuery table to export data to.\nIf the table doesn't exist, it will be created. If it already exists, it\nwill be overwritten.", + "type": "string" + }, + "bigqueryDataset": { + "description": "Required. The BigQuery dataset to export data to. This dataset must already\nexist. Note that this is distinct from the Genomics concept of \"dataset\".", + "type": "string" + }, + "format": { + "enum": [ + "FORMAT_UNSPECIFIED", + "FORMAT_BIGQUERY" + ], + "description": "The format for the exported data.", + "type": "string", + "enumDescriptions": [ + "", + "Export the data to Google BigQuery." + ] + }, + "projectId": { + "description": "Required. The Google Cloud project ID that owns the destination\nBigQuery dataset. The caller must have WRITE access to this project. This\nproject will also own the resulting export job.", + "type": "string" + }, + "callSetIds": { + "description": "If provided, only variant call information from the specified call sets\nwill be exported. By default all variant calls are exported.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "ExportVariantSetRequest" + }, + "SearchAnnotationsRequest": { + "properties": { + "referenceId": { + "description": "The ID of the reference to query.", + "type": "string" + }, + "end": { + "format": "int64", + "description": "The end position of the range on the reference, 0-based exclusive. If\nreferenceId or\nreferenceName\nmust be specified, Defaults to the length of the reference.", + "type": "string" + }, + "pageToken": { + "description": "The continuation token, which is used to page through large result sets.\nTo get the next page of results, set this parameter to the value of\n`nextPageToken` from the previous response.", + "type": "string" + }, + "pageSize": { + "format": "int32", + "description": "The maximum number of results to return in a single page. If unspecified,\ndefaults to 256. The maximum value is 2048.", + "type": "integer" + }, + "start": { + "format": "int64", + "description": "The start position of the range on the reference, 0-based inclusive. If\nspecified,\nreferenceId or\nreferenceName\nmust be specified. Defaults to 0.", + "type": "string" + }, + "annotationSetIds": { + "description": "Required. The annotation sets to search within. The caller must have\n`READ` access to these annotation sets.\nAll queried annotation sets must have the same type.", + "items": { + "type": "string" + }, + "type": "array" + }, + "referenceName": { + "description": "The name of the reference to query, within the reference set associated\nwith this query.", + "type": "string" + } + }, + "id": "SearchAnnotationsRequest", + "type": "object" + }, + "OperationEvent": { + "description": "An event that occurred during an Operation.", + "type": "object", + "properties": { + "startTime": { + "format": "google-datetime", + "description": "Optional time of when event started.", + "type": "string" + }, + "description": { + "description": "Required description of event.", + "type": "string" + }, + "endTime": { + "format": "google-datetime", + "description": "Optional time of when event finished. An event can have a start time and no\nfinish time. If an event has a finish time, there must be a start time.", + "type": "string" + } + }, + "id": "OperationEvent" + }, + "CodingSequence": { + "properties": { + "start": { + "format": "int64", + "description": "The start of the coding sequence on this annotation's reference sequence,\n0-based inclusive. Note that this position is relative to the reference\nstart, and *not* the containing annotation start.", + "type": "string" + }, + "end": { + "format": "int64", + "description": "The end of the coding sequence on this annotation's reference sequence,\n0-based exclusive. Note that this position is relative to the reference\nstart, and *not* the containing annotation start.", + "type": "string" + } + }, + "id": "CodingSequence", + "type": "object" + }, + "SearchReferencesResponse": { + "type": "object", + "properties": { + "nextPageToken": { + "description": "The continuation token, which is used to page through large result sets.\nProvide this value in a subsequent request to return the next page of\nresults. This field will be empty if there aren't any additional results.", + "type": "string" + }, + "references": { + "description": "The matching references.", + "items": { + "$ref": "Reference" + }, + "type": "array" + } + }, + "id": "SearchReferencesResponse" + }, + "GetIamPolicyRequest": { + "properties": {}, + "id": "GetIamPolicyRequest", + "description": "Request message for `GetIamPolicy` method.", + "type": "object" + }, + "TestIamPermissionsResponse": { + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "TestIamPermissionsResponse", + "description": "Response message for `TestIamPermissions` method.", + "type": "object" + }, + "SearchAnnotationSetsRequest": { + "properties": { + "datasetIds": { + "description": "Required. The dataset IDs to search within. Caller must have `READ` access\nto these datasets.", + "items": { + "type": "string" + }, + "type": "array" + }, + "types": { + "enumDescriptions": [ + "", + "A `GENERIC` annotation type should be used when no other annotation\ntype will suffice. This represents an untyped annotation of the reference\ngenome.", + "A `VARIANT` annotation type.", + "A `GENE` annotation type represents the existence of a gene at the\nassociated reference coordinates. The start coordinate is typically the\ngene's transcription start site and the end is typically the end of the\ngene's last exon.", + "A `TRANSCRIPT` annotation type represents the assertion that a\nparticular region of the reference genome may be transcribed as RNA." + ], + "description": "If specified, only annotation sets that have any of these types are\nreturned.", + "items": { + "enum": [ + "ANNOTATION_TYPE_UNSPECIFIED", + "GENERIC", + "VARIANT", + "GENE", + "TRANSCRIPT" + ], + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Only return annotations sets for which a substring of the name matches this\nstring (case insensitive).", + "type": "string" + }, + "referenceSetId": { + "description": "If specified, only annotation sets associated with the given reference set\nare returned.", + "type": "string" + }, + "pageToken": { + "description": "The continuation token, which is used to page through large result sets.\nTo get the next page of results, set this parameter to the value of\n`nextPageToken` from the previous response.", + "type": "string" + }, + "pageSize": { + "format": "int32", + "description": "The maximum number of results to return in a single page. If unspecified,\ndefaults to 128. The maximum value is 1024.", + "type": "integer" + } + }, + "id": "SearchAnnotationSetsRequest", + "type": "object" + }, + "SearchReadGroupSetsResponse": { + "properties": { + "nextPageToken": { + "description": "The continuation token, which is used to page through large result sets.\nProvide this value in a subsequent request to return the next page of\nresults. This field will be empty if there aren't any additional results.", + "type": "string" + }, + "readGroupSets": { + "description": "The list of matching read group sets.", + "items": { + "$ref": "ReadGroupSet" + }, + "type": "array" + } + }, + "id": "SearchReadGroupSetsResponse", + "description": "The read group set search response.", + "type": "object" + }, + "SearchReferencesRequest": { + "properties": { + "md5checksums": { + "description": "If present, return references for which the\nmd5checksum matches exactly.", + "items": { + "type": "string" + }, + "type": "array" + }, + "pageToken": { + "description": "The continuation token, which is used to page through large result sets.\nTo get the next page of results, set this parameter to the value of\n`nextPageToken` from the previous response.", + "type": "string" + }, + "accessions": { + "description": "If present, return references for which a prefix of any of\nsourceAccessions match\nany of these strings. Accession numbers typically have a main number and a\nversion, for example `GCF_000001405.26`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "pageSize": { + "format": "int32", + "description": "The maximum number of results to return in a single page. If unspecified,\ndefaults to 1024. The maximum value is 4096.", + "type": "integer" + }, + "referenceSetId": { + "description": "If present, return only references which belong to this reference set.", + "type": "string" + } + }, + "id": "SearchReferencesRequest", + "type": "object" + }, + "LinearAlignment": { + "properties": { + "cigar": { + "description": "Represents the local alignment of this sequence (alignment matches, indels,\netc) against the reference.", + "items": { + "$ref": "CigarUnit" + }, + "type": "array" + }, + "position": { + "description": "The position of this alignment.", + "$ref": "Position" + }, + "mappingQuality": { + "format": "int32", + "description": "The mapping quality of this alignment. Represents how likely\nthe read maps to this position as opposed to other locations.\n\nSpecifically, this is -10 log10 Pr(mapping position is wrong), rounded to\nthe nearest integer.", + "type": "integer" + } + }, + "id": "LinearAlignment", + "description": "A linear alignment can be represented by one CIGAR string. Describes the\nmapped position and local alignment of the read to the reference.", + "type": "object" + }, + "Dataset": { + "description": "A Dataset is a collection of genomic data.\n\nFor more genomics resource definitions, see [Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", + "type": "object", + "properties": { + "id": { + "description": "The server-generated dataset ID, unique across all datasets.", + "type": "string" + }, + "createTime": { + "format": "google-datetime", + "description": "The time this dataset was created, in seconds from the epoch.", + "type": "string" + }, + "name": { + "description": "The dataset name.", + "type": "string" + }, + "projectId": { + "description": "The Google Cloud project ID that this dataset belongs to.", + "type": "string" + } + }, + "id": "Dataset" + }, + "ImportVariantsResponse": { + "description": "The variant data import response.", + "type": "object", + "properties": { + "callSetIds": { + "description": "IDs of the call sets created during the import.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "ImportVariantsResponse" + }, + "ReadGroup": { + "properties": { + "datasetId": { + "description": "The dataset to which this read group belongs.", + "type": "string" + }, + "experiment": { + "description": "The experiment used to generate this read group.", + "$ref": "Experiment" + }, + "name": { + "description": "The read group name. This corresponds to the @RG ID field in the SAM spec.", + "type": "string" + }, + "referenceSetId": { + "description": "The reference set the reads in this read group are aligned to.", + "type": "string" + }, + "info": { + "additionalProperties": { + "items": { + "type": "any" + }, + "type": "array" + }, + "description": "A map of additional read group information. This must be of the form\nmap\u003cstring, string[]\u003e (string key mapping to a list of string values).", + "type": "object" + }, + "id": { + "description": "The server-generated read group ID, unique for all read groups.\nNote: This is different than the @RG ID field in the SAM spec. For that\nvalue, see name.", + "type": "string" + }, + "predictedInsertSize": { + "format": "int32", + "description": "The predicted insert size of this read group. The insert size is the length\nthe sequenced DNA fragment from end-to-end, not including the adapters.", + "type": "integer" + }, + "programs": { + "description": "The programs used to generate this read group. Programs are always\nidentical for all read groups within a read group set. For this reason,\nonly the first read group in a returned set will have this field\npopulated.", + "items": { + "$ref": "Program" + }, + "type": "array" + }, + "description": { + "description": "A free-form text description of this read group.", + "type": "string" + }, + "sampleId": { + "description": "A client-supplied sample identifier for the reads in this read group.", + "type": "string" + } + }, + "id": "ReadGroup", + "description": "A read group is all the data that's processed the same way by the sequencer.", + "type": "object" + }, + "ReadGroupSet": { + "description": "A read group set is a logical collection of read groups, which are\ncollections of reads produced by a sequencer. A read group set typically\nmodels reads corresponding to one sample, sequenced one way, and aligned one\nway.\n\n* A read group set belongs to one dataset.\n* A read group belongs to one read group set.\n* A read belongs to one read group.\n\nFor more genomics resource definitions, see [Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", + "type": "object", + "properties": { + "datasetId": { + "description": "The dataset to which this read group set belongs.", + "type": "string" + }, + "readGroups": { + "description": "The read groups in this set. There are typically 1-10 read groups in a read\ngroup set.", + "items": { + "$ref": "ReadGroup" + }, + "type": "array" + }, + "filename": { + "description": "The filename of the original source file for this read group set, if any.", + "type": "string" + }, + "name": { + "description": "The read group set name. By default this will be initialized to the sample\nname of the sequenced data contained in this set.", + "type": "string" + }, + "referenceSetId": { + "description": "The reference set to which the reads in this read group set are aligned.", + "type": "string" + }, + "info": { + "additionalProperties": { + "items": { + "type": "any" + }, + "type": "array" + }, + "description": "A map of additional read group set information.", + "type": "object" + }, + "id": { + "description": "The server-generated read group set ID, unique for all read group sets.", + "type": "string" + } + }, + "id": "ReadGroupSet" + }, + "SearchVariantSetsResponse": { + "properties": { + "nextPageToken": { + "description": "The continuation token, which is used to page through large result sets.\nProvide this value in a subsequent request to return the next page of\nresults. This field will be empty if there aren't any additional results.", + "type": "string" + }, + "variantSets": { + "description": "The variant sets belonging to the requested dataset.", + "items": { + "$ref": "VariantSet" + }, + "type": "array" + } + }, + "id": "SearchVariantSetsResponse", + "description": "The search variant sets response.", + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object", + "properties": {}, + "id": "Empty" + }, + "Entry": { + "properties": { + "annotation": { + "description": "The created annotation, if creation was successful.", + "$ref": "Annotation" + }, + "status": { + "$ref": "Status", + "description": "The creation status." + } + }, + "id": "Entry", + "type": "object" + }, + "Position": { "properties": { "position": { "format": "int64", @@ -1595,28 +2350,30 @@ "type": "string" }, "referenceName": { - "type": "string", - "description": "The name of the reference in whatever reference set is being used." + "description": "The name of the reference in whatever reference set is being used.", + "type": "string" }, "reverseStrand": { "description": "Whether this position is on the reverse strand, as opposed to the forward\nstrand.", "type": "boolean" } }, - "id": "Position" + "id": "Position", + "description": "An abstraction for referring to a genomic position, in relation to some\nalready known reference. For now, represents a genomic position as a\nreference name, a base number on that reference (0-based), and a\ndetermination of forward or reverse strand.", + "type": "object" }, "SearchReferenceSetsResponse": { "properties": { + "nextPageToken": { + "description": "The continuation token, which is used to page through large result sets.\nProvide this value in a subsequent request to return the next page of\nresults. This field will be empty if there aren't any additional results.", + "type": "string" + }, "referenceSets": { "description": "The matching references sets.", "items": { "$ref": "ReferenceSet" }, "type": "array" - }, - "nextPageToken": { - "description": "The continuation token, which is used to page through large result sets.\nProvide this value in a subsequent request to return the next page of\nresults. This field will be empty if there aren't any additional results.", - "type": "string" } }, "id": "SearchReferenceSetsResponse", @@ -1626,42 +2383,34 @@ "description": "The call set search request.", "type": "object", "properties": { - "pageToken": { - "description": "The continuation token, which is used to page through large result sets.\nTo get the next page of results, set this parameter to the value of\n`nextPageToken` from the previous response.", - "type": "string" - }, - "name": { - "type": "string", - "description": "Only return call sets for which a substring of the name matches this\nstring." - }, - "pageSize": { - "format": "int32", - "description": "The maximum number of results to return in a single page. If unspecified,\ndefaults to 1024.", - "type": "integer" - }, "variantSetIds": { "description": "Restrict the query to call sets within the given variant sets. At least one\nID must be provided.", "items": { "type": "string" }, "type": "array" + }, + "pageToken": { + "description": "The continuation token, which is used to page through large result sets.\nTo get the next page of results, set this parameter to the value of\n`nextPageToken` from the previous response.", + "type": "string" + }, + "name": { + "description": "Only return call sets for which a substring of the name matches this\nstring.", + "type": "string" + }, + "pageSize": { + "format": "int32", + "description": "The maximum number of results to return in a single page. If unspecified,\ndefaults to 1024.", + "type": "integer" } }, "id": "SearchCallSetsRequest" }, "ImportReadGroupSetsRequest": { - "type": "object", "properties": { - "sourceUris": { - "items": { - "type": "string" - }, - "type": "array", - "description": "A list of URIs pointing at [BAM\nfiles](https://samtools.github.io/hts-specs/SAMv1.pdf)\nin Google Cloud Storage.\nThose URIs can include wildcards (*), but do not add or remove\nmatching files before import has completed.\n\nNote that Google Cloud Storage object listing is only eventually\nconsistent: files added may be not be immediately visible to\neveryone. Thus, if using a wildcard it is preferable not to start\nthe import immediately after the files are created." - }, "referenceSetId": { - "type": "string", - "description": "The reference set to which the imported read group sets are aligned to, if\nany. The reference names of this reference set must be a superset of those\nfound in the imported file headers. If no reference set id is provided, a\nbest effort is made to associate with a matching reference set." + "description": "The reference set to which the imported read group sets are aligned to, if\nany. The reference names of this reference set must be a superset of those\nfound in the imported file headers. If no reference set id is provided, a\nbest effort is made to associate with a matching reference set.", + "type": "string" }, "partitionStrategy": { "enumDescriptions": [ @@ -1678,15 +2427,22 @@ "type": "string" }, "datasetId": { - "type": "string", - "description": "Required. The ID of the dataset these read group sets will belong to. The\ncaller must have WRITE permissions to this dataset." + "description": "Required. The ID of the dataset these read group sets will belong to. The\ncaller must have WRITE permissions to this dataset.", + "type": "string" + }, + "sourceUris": { + "description": "A list of URIs pointing at [BAM\nfiles](https://samtools.github.io/hts-specs/SAMv1.pdf)\nin Google Cloud Storage.\nThose URIs can include wildcards (*), but do not add or remove\nmatching files before import has completed.\n\nNote that Google Cloud Storage object listing is only eventually\nconsistent: files added may be not be immediately visible to\neveryone. Thus, if using a wildcard it is preferable not to start\nthe import immediately after the files are created.", + "items": { + "type": "string" + }, + "type": "array" } }, "id": "ImportReadGroupSetsRequest", - "description": "The read group set import request." + "description": "The read group set import request.", + "type": "object" }, "Policy": { - "type": "object", "properties": { "etag": { "format": "byte", @@ -1707,75 +2463,53 @@ } }, "id": "Policy", - "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam)." - }, - "SearchReadsRequest": { - "id": "SearchReadsRequest", - "description": "The read search request.", - "type": "object", - "properties": { - "readGroupIds": { - "description": "The IDs of the read groups within which to search for reads. All specified\nread groups must belong to the same read group sets. Must specify one of\n`readGroupSetIds` or `readGroupIds`.", - "items": { - "type": "string" - }, - "type": "array" - }, - "end": { - "format": "int64", - "description": "The end position of the range on the reference, 0-based exclusive. If\nspecified, `referenceName` must also be specified.", - "type": "string" - }, - "pageToken": { - "type": "string", - "description": "The continuation token, which is used to page through large result sets.\nTo get the next page of results, set this parameter to the value of\n`nextPageToken` from the previous response." - }, - "pageSize": { - "format": "int32", - "description": "The maximum number of results to return in a single page. If unspecified,\ndefaults to 256. The maximum value is 2048.", - "type": "integer" - }, - "start": { - "format": "int64", - "description": "The start position of the range on the reference, 0-based inclusive. If\nspecified, `referenceName` must also be specified.", - "type": "string" - }, - "referenceName": { - "description": "The reference sequence name, for example `chr1`, `1`, or `chrX`. If set to\n`*`, only unmapped reads are returned. If unspecified, all reads (mapped\nand unmapped) are returned.", - "type": "string" - }, - "readGroupSetIds": { - "description": "The IDs of the read groups sets within which to search for reads. All\nspecified read group sets must be aligned against a common set of reference\nsequences; this defines the genomic coordinates for the query. Must specify\none of `readGroupSetIds` or `readGroupIds`.", - "items": { - "type": "string" - }, - "type": "array" - } - } - }, - "CancelOperationRequest": { - "description": "The request message for Operations.CancelOperation.", - "type": "object", - "properties": {}, - "id": "CancelOperationRequest" + "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam).", + "type": "object" }, "Annotation": { - "description": "An annotation describes a region of reference genome. The value of an\nannotation may be one of several canonical types, supplemented by arbitrary\ninfo tags. An annotation is not inherently associated with a specific\nsample or individual (though a client could choose to use annotations in\nthis way). Example canonical annotation types are `GENE` and\n`VARIANT`.", - "type": "object", "properties": { + "start": { + "format": "int64", + "description": "The start position of the range on the reference, 0-based inclusive.", + "type": "string" + }, + "annotationSetId": { + "description": "The annotation set to which this annotation belongs.", + "type": "string" + }, + "name": { + "description": "The display name of this annotation.", + "type": "string" + }, + "variant": { + "description": "A variant annotation, which describes the effect of a variant on the\ngenome, the coding sequence, and/or higher level consequences at the\norganism level e.g. pathogenicity. This field is only set for annotations\nof type `VARIANT`.", + "$ref": "VariantAnnotation" + }, + "referenceId": { + "description": "The ID of the Google Genomics reference associated with this range.", + "type": "string" + }, + "id": { + "description": "The server-generated annotation ID, unique across all annotations.", + "type": "string" + }, + "reverseStrand": { + "description": "Whether this range refers to the reverse strand, as opposed to the forward\nstrand. Note that regardless of this field, the start/end position of the\nrange always refer to the forward strand.", + "type": "boolean" + }, "referenceName": { "description": "The display name corresponding to the reference specified by\n`referenceId`, for example `chr1`, `1`, or `chrX`.", "type": "string" }, "info": { - "description": "A map of additional read alignment information. This must be of the form\nmap\u003cstring, string[]\u003e (string key mapping to a list of string values).", - "type": "object", "additionalProperties": { "items": { "type": "any" }, "type": "array" - } + }, + "description": "A map of additional read alignment information. This must be of the form\nmap\u003cstring, string[]\u003e (string key mapping to a list of string values).", + "type": "object" }, "type": { "enumDescriptions": [ @@ -1801,40 +2535,63 @@ "type": "string" }, "transcript": { - "$ref": "Transcript", - "description": "A transcript value represents the assertion that a particular region of\nthe reference genome may be transcribed as RNA. An alternative splicing\npattern would be represented as a separate transcript object. This field\nis only set for annotations of type `TRANSCRIPT`." - }, - "start": { - "format": "int64", - "description": "The start position of the range on the reference, 0-based inclusive.", - "type": "string" - }, - "annotationSetId": { - "description": "The annotation set to which this annotation belongs.", - "type": "string" - }, - "name": { - "description": "The display name of this annotation.", - "type": "string" - }, - "variant": { - "$ref": "VariantAnnotation", - "description": "A variant annotation, which describes the effect of a variant on the\ngenome, the coding sequence, and/or higher level consequences at the\norganism level e.g. pathogenicity. This field is only set for annotations\nof type `VARIANT`." - }, - "referenceId": { - "description": "The ID of the Google Genomics reference associated with this range.", - "type": "string" - }, - "id": { - "description": "The server-generated annotation ID, unique across all annotations.", - "type": "string" - }, - "reverseStrand": { - "description": "Whether this range refers to the reverse strand, as opposed to the forward\nstrand. Note that regardless of this field, the start/end position of the\nrange always refer to the forward strand.", - "type": "boolean" + "description": "A transcript value represents the assertion that a particular region of\nthe reference genome may be transcribed as RNA. An alternative splicing\npattern would be represented as a separate transcript object. This field\nis only set for annotations of type `TRANSCRIPT`.", + "$ref": "Transcript" } }, - "id": "Annotation" + "id": "Annotation", + "description": "An annotation describes a region of reference genome. The value of an\nannotation may be one of several canonical types, supplemented by arbitrary\ninfo tags. An annotation is not inherently associated with a specific\nsample or individual (though a client could choose to use annotations in\nthis way). Example canonical annotation types are `GENE` and\n`VARIANT`.", + "type": "object" + }, + "CancelOperationRequest": { + "properties": {}, + "id": "CancelOperationRequest", + "description": "The request message for Operations.CancelOperation.", + "type": "object" + }, + "SearchReadsRequest": { + "description": "The read search request.", + "type": "object", + "properties": { + "start": { + "format": "int64", + "description": "The start position of the range on the reference, 0-based inclusive. If\nspecified, `referenceName` must also be specified.", + "type": "string" + }, + "referenceName": { + "description": "The reference sequence name, for example `chr1`, `1`, or `chrX`. If set to\n`*`, only unmapped reads are returned. If unspecified, all reads (mapped\nand unmapped) are returned.", + "type": "string" + }, + "readGroupSetIds": { + "description": "The IDs of the read groups sets within which to search for reads. All\nspecified read group sets must be aligned against a common set of reference\nsequences; this defines the genomic coordinates for the query. Must specify\none of `readGroupSetIds` or `readGroupIds`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "readGroupIds": { + "description": "The IDs of the read groups within which to search for reads. All specified\nread groups must belong to the same read group sets. Must specify one of\n`readGroupSetIds` or `readGroupIds`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "end": { + "format": "int64", + "description": "The end position of the range on the reference, 0-based exclusive. If\nspecified, `referenceName` must also be specified.", + "type": "string" + }, + "pageToken": { + "description": "The continuation token, which is used to page through large result sets.\nTo get the next page of results, set this parameter to the value of\n`nextPageToken` from the previous response.", + "type": "string" + }, + "pageSize": { + "format": "int32", + "description": "The maximum number of results to return in a single page. If unspecified,\ndefaults to 256. The maximum value is 2048.", + "type": "integer" + } + }, + "id": "SearchReadsRequest" }, "RuntimeMetadata": { "properties": { @@ -1848,16 +2605,26 @@ "type": "object" }, "Operation": { - "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", - "type": "object", "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "If importing ReadGroupSets, an ImportReadGroupSetsResponse is returned. If importing Variants, an ImportVariantsResponse is returned. For pipelines and exports, an Empty response is returned.", + "type": "object" + }, "name": { "description": "The server-assigned name, which is only unique within the same service that originally returns it. For example: `operations/CJHU7Oi_ChDrveSpBRjfuL-qzoWAgEw`", "type": "string" }, "error": { - "description": "The error result of the operation in case of failure or cancellation.", - "$ref": "Status" + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." }, "metadata": { "additionalProperties": { @@ -1866,25 +2633,13 @@ }, "description": "An OperationMetadata object. This will always be returned with the Operation.", "type": "object" - }, - "done": { - "description": "If the value is `false`, it means the operation is still in progress.\nIf true, the operation is completed, and either `error` or `response` is\navailable.", - "type": "boolean" - }, - "response": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "If importing ReadGroupSets, an ImportReadGroupSetsResponse is returned. If importing Variants, an ImportVariantsResponse is returned. For pipelines and exports, an empty response is returned.", - "type": "object" } }, - "id": "Operation" + "id": "Operation", + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "type": "object" }, "ImportReadGroupSetsResponse": { - "description": "The read group set import response.", - "type": "object", "properties": { "readGroupSetIds": { "description": "IDs of the read group sets that were created.", @@ -1894,28 +2649,17 @@ "type": "array" } }, - "id": "ImportReadGroupSetsResponse" + "id": "ImportReadGroupSetsResponse", + "description": "The read group set import response.", + "type": "object" }, "VariantCall": { - "id": "VariantCall", "description": "A call represents the determination of genotype with respect to a particular\nvariant. It may include associated information such as quality and phasing.\nFor example, a call might assign a probability of 0.32 to the occurrence of\na SNP named rs1234 in a call set with the name NA12345.", "type": "object", "properties": { - "callSetId": { - "description": "The ID of the call set this variant call belongs to.", - "type": "string" - }, - "genotype": { - "description": "The genotype of this variant call. Each value represents either the value\nof the `referenceBases` field or a 1-based index into\n`alternateBases`. If a variant had a `referenceBases`\nvalue of `T` and an `alternateBases`\nvalue of `[\"A\", \"C\"]`, and the `genotype` was\n`[2, 1]`, that would mean the call\nrepresented the heterozygous value `CA` for this variant.\nIf the `genotype` was instead `[0, 1]`, the\nrepresented value would be `TA`. Ordering of the\ngenotype values is important if the `phaseset` is present.\nIf a genotype is not called (that is, a `.` is present in the\nGT string) -1 is returned.", - "items": { - "type": "integer", - "format": "int32" - }, - "type": "array" - }, "phaseset": { - "type": "string", - "description": "If this field is present, this variant call's genotype ordering implies\nthe phase of the bases and is consistent with any other variant calls in\nthe same reference sequence which have the same phaseset value.\nWhen importing data from VCF, if the genotype data was phased but no\nphase set was specified this field will be set to `*`." + "description": "If this field is present, this variant call's genotype ordering implies\nthe phase of the bases and is consistent with any other variant calls in\nthe same reference sequence which have the same phaseset value.\nWhen importing data from VCF, if the genotype data was phased but no\nphase set was specified this field will be set to `*`.", + "type": "string" }, "info": { "additionalProperties": { @@ -1938,11 +2682,23 @@ "type": "number" }, "type": "array" + }, + "callSetId": { + "description": "The ID of the call set this variant call belongs to.", + "type": "string" + }, + "genotype": { + "description": "The genotype of this variant call. Each value represents either the value\nof the `referenceBases` field or a 1-based index into\n`alternateBases`. If a variant had a `referenceBases`\nvalue of `T` and an `alternateBases`\nvalue of `[\"A\", \"C\"]`, and the `genotype` was\n`[2, 1]`, that would mean the call\nrepresented the heterozygous value `CA` for this variant.\nIf the `genotype` was instead `[0, 1]`, the\nrepresented value would be `TA`. Ordering of the\ngenotype values is important if the `phaseset` is present.\nIf a genotype is not called (that is, a `.` is present in the\nGT string) -1 is returned.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" } - } + }, + "id": "VariantCall" }, "SearchVariantsResponse": { - "id": "SearchVariantsResponse", "description": "The variant search response.", "type": "object", "properties": { @@ -1954,15 +2710,19 @@ "type": "array" }, "nextPageToken": { - "type": "string", - "description": "The continuation token, which is used to page through large result sets.\nProvide this value in a subsequent request to return the next page of\nresults. This field will be empty if there aren't any additional results." + "description": "The continuation token, which is used to page through large result sets.\nProvide this value in a subsequent request to return the next page of\nresults. This field will be empty if there aren't any additional results.", + "type": "string" } - } + }, + "id": "SearchVariantsResponse" }, "ListBasesResponse": { - "id": "ListBasesResponse", "type": "object", "properties": { + "nextPageToken": { + "description": "The continuation token, which is used to page through large result sets.\nProvide this value in a subsequent request to return the next page of\nresults. This field will be empty if there aren't any additional results.", + "type": "string" + }, "sequence": { "description": "A substring of the bases that make up this reference.", "type": "string" @@ -1971,27 +2731,16 @@ "format": "int64", "description": "The offset position (0-based) of the given `sequence` from the\nstart of this `Reference`. This value will differ for each page\nin a paginated request.", "type": "string" - }, - "nextPageToken": { - "description": "The continuation token, which is used to page through large result sets.\nProvide this value in a subsequent request to return the next page of\nresults. This field will be empty if there aren't any additional results.", - "type": "string" } - } + }, + "id": "ListBasesResponse" }, "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", "type": "object", "properties": { - "code": { - "format": "int32", - "description": "The status code, which should be an enum value of google.rpc.Code.", - "type": "integer" - }, - "message": { - "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", - "type": "string" - }, "details": { - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", "items": { "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", @@ -2000,19 +2749,20 @@ "type": "object" }, "type": "array" + }, + "code": { + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" } }, - "id": "Status", - "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons." - }, - "UndeleteDatasetRequest": { - "type": "object", - "properties": {}, - "id": "UndeleteDatasetRequest" + "id": "Status" }, "Binding": { - "description": "Associates `members` with a `role`.", - "type": "object", "properties": { "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@gmail.com` or `joe@example.com`.\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n\n* `domain:{domain}`: A Google Apps domain name that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -2026,17 +2776,19 @@ "type": "string" } }, - "id": "Binding" + "id": "Binding", + "description": "Associates `members` with a `role`.", + "type": "object" + }, + "UndeleteDatasetRequest": { + "type": "object", + "properties": {}, + "id": "UndeleteDatasetRequest" }, "Range": { "description": "A 0-based half-open genomic coordinate range for search requests.", "type": "object", "properties": { - "end": { - "format": "int64", - "description": "The end position of the range on the reference, 0-based exclusive.", - "type": "string" - }, "referenceName": { "description": "The reference sequence name, for example `chr1`,\n`1`, or `chrX`.", "type": "string" @@ -2045,6 +2797,11 @@ "format": "int64", "description": "The start position of the range on the reference, 0-based inclusive.", "type": "string" + }, + "end": { + "format": "int64", + "description": "The end position of the range on the reference, 0-based exclusive.", + "type": "string" } }, "id": "Range" @@ -2066,15 +2823,15 @@ "type": "string" }, "referenceSetId": { - "type": "string", - "description": "The reference set to which the variant set is mapped. The reference set\ndescribes the alignment provenance of the variant set, while the\n`referenceBounds` describe the shape of the actual variant data. The\nreference set's reference names are a superset of those found in the\n`referenceBounds`.\n\nFor example, given a variant set that is mapped to the GRCh38 reference set\nand contains a single variant on reference 'X', `referenceBounds` would\ncontain only an entry for 'X', while the associated reference set\nenumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc." + "description": "The reference set to which the variant set is mapped. The reference set\ndescribes the alignment provenance of the variant set, while the\n`referenceBounds` describe the shape of the actual variant data. The\nreference set's reference names are a superset of those found in the\n`referenceBounds`.\n\nFor example, given a variant set that is mapped to the GRCh38 reference set\nand contains a single variant on reference 'X', `referenceBounds` would\ncontain only an entry for 'X', while the associated reference set\nenumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc.", + "type": "string" }, "metadata": { + "description": "The metadata associated with this variant set.", "items": { "$ref": "VariantSetMetadata" }, - "type": "array", - "description": "The metadata associated with this variant set." + "type": "array" }, "referenceBounds": { "description": "A list of all references used by the variants in a variant set\nwith associated coordinate upper bounds for each one.", @@ -2094,14 +2851,14 @@ "description": "ReferenceBound records an upper bound for the starting coordinate of\nvariants in a particular reference.", "type": "object", "properties": { + "referenceName": { + "description": "The name of the reference associated with this reference bound.", + "type": "string" + }, "upperBound": { "format": "int64", "description": "An upper bound (inclusive) on the starting coordinate of any\nvariant in the reference sequence.", "type": "string" - }, - "referenceName": { - "description": "The name of the reference associated with this reference bound.", - "type": "string" } }, "id": "ReferenceBound" @@ -2120,8 +2877,6 @@ "id": "BatchCreateAnnotationsResponse" }, "SearchCallSetsResponse": { - "description": "The call set search response.", - "type": "object", "properties": { "nextPageToken": { "description": "The continuation token, which is used to page through large result sets.\nProvide this value in a subsequent request to return the next page of\nresults. This field will be empty if there aren't any additional results.", @@ -2135,21 +2890,39 @@ "type": "array" } }, - "id": "SearchCallSetsResponse" + "id": "SearchCallSetsResponse", + "description": "The call set search response.", + "type": "object" }, "Variant": { - "description": "A variant represents a change in DNA sequence relative to a reference\nsequence. For example, a variant could represent a SNP or an insertion.\nVariants belong to a variant set.\n\nFor more genomics resource definitions, see [Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nEach of the calls on a variant represent a determination of genotype with\nrespect to that variant. For example, a call might assign probability of 0.32\nto the occurrence of a SNP named rs1234 in a sample named NA12345. A call\nbelongs to a call set, which contains related calls typically from one\nsample.", - "type": "object", "properties": { - "alternateBases": { - "description": "The bases that appear instead of the reference bases.", + "referenceName": { + "description": "The reference on which this variant occurs.\n(such as `chr20` or `X`)", + "type": "string" + }, + "info": { + "additionalProperties": { + "items": { + "type": "any" + }, + "type": "array" + }, + "description": "A map of additional variant information. This must be of the form\nmap\u003cstring, string[]\u003e (string key mapping to a list of string values).", + "type": "object" + }, + "referenceBases": { + "description": "The reference bases for this variant. They start at the given\nposition.", + "type": "string" + }, + "names": { + "description": "Names for the variant, for example a RefSNP ID.", "items": { "type": "string" }, "type": "array" }, - "names": { - "description": "Names for the variant, for example a RefSNP ID.", + "alternateBases": { + "description": "The bases that appear instead of the reference bases.", "items": { "type": "string" }, @@ -2196,36 +2969,17 @@ "variantSetId": { "description": "The ID of the variant set this variant belongs to.", "type": "string" - }, - "referenceName": { - "description": "The reference on which this variant occurs.\n(such as `chr20` or `X`)", - "type": "string" - }, - "info": { - "description": "A map of additional variant information. This must be of the form\nmap\u003cstring, string[]\u003e (string key mapping to a list of string values).", - "type": "object", - "additionalProperties": { - "items": { - "type": "any" - }, - "type": "array" - } - }, - "referenceBases": { - "description": "The reference bases for this variant. They start at the given\nposition.", - "type": "string" } }, - "id": "Variant" + "id": "Variant", + "description": "A variant represents a change in DNA sequence relative to a reference\nsequence. For example, a variant could represent a SNP or an insertion.\nVariants belong to a variant set.\n\nFor more genomics resource definitions, see [Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\nEach of the calls on a variant represent a determination of genotype with\nrespect to that variant. For example, a call might assign probability of 0.32\nto the occurrence of a SNP named rs1234 in a sample named NA12345. A call\nbelongs to a call set, which contains related calls typically from one\nsample.", + "type": "object" }, "ListOperationsResponse": { - "id": "ListOperationsResponse", - "description": "The response message for Operations.ListOperations.", - "type": "object", "properties": { "nextPageToken": { - "type": "string", - "description": "The standard List next-page token." + "description": "The standard List next-page token.", + "type": "string" }, "operations": { "description": "A list of operations that matches the specified filter in the request.", @@ -2234,31 +2988,20 @@ }, "type": "array" } - } + }, + "id": "ListOperationsResponse", + "description": "The response message for Operations.ListOperations.", + "type": "object" }, "OperationMetadata": { - "type": "object", "properties": { - "startTime": { - "format": "google-datetime", - "description": "The time at which the job began to run.", - "type": "string" - }, - "request": { + "runtimeMetadata": { "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" }, - "description": "The original request that started the operation. Note that this will be in\ncurrent version of the API. If the operation was started with v1beta2 API\nand a GetOperation is performed on v1 API, a v1 request will be returned.", - "type": "object" - }, - "runtimeMetadata": { "description": "Runtime metadata on this Operation.", - "type": "object", - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - } + "type": "object" }, "labels": { "additionalProperties": { @@ -2268,17 +3011,17 @@ "type": "object" }, "createTime": { - "type": "string", "format": "google-datetime", - "description": "The time at which the job was submitted to the Genomics service." + "description": "The time at which the job was submitted to the Genomics service.", + "type": "string" }, "projectId": { "description": "The Google Cloud Project in which the job is scoped.", "type": "string" }, "clientId": { - "type": "string", - "description": "This field is deprecated. Use `labels` instead. Optionally provided by the\ncaller when submitting the request that creates the operation." + "description": "This field is deprecated. Use `labels` instead. Optionally provided by the\ncaller when submitting the request that creates the operation.", + "type": "string" }, "events": { "description": "Optional event messages that were generated during the job's execution.\nThis also contains any warnings that were generated during import\nor export.", @@ -2291,28 +3034,27 @@ "format": "google-datetime", "description": "The time at which the job stopped running.", "type": "string" + }, + "startTime": { + "format": "google-datetime", + "description": "The time at which the job began to run.", + "type": "string" + }, + "request": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The original request that started the operation. Note that this will be in\ncurrent version of the API. If the operation was started with v1beta2 API\nand a GetOperation is performed on v1 API, a v1 request will be returned.", + "type": "object" } }, "id": "OperationMetadata", - "description": "Metadata describing an Operation." + "description": "Metadata describing an Operation.", + "type": "object" }, "SearchVariantsRequest": { - "id": "SearchVariantsRequest", - "description": "The variant search request.", - "type": "object", "properties": { - "variantSetIds": { - "items": { - "type": "string" - }, - "type": "array", - "description": "At most one variant set ID must be provided. Only variants from this\nvariant set will be returned. If omitted, a call set id must be included in\nthe request." - }, - "end": { - "format": "int64", - "description": "The end of the window, 0-based exclusive. If unspecified or 0, defaults to\nthe length of the reference.", - "type": "string" - }, "maxCalls": { "format": "int32", "description": "The maximum number of calls to return in a single page. Note that this\nlimit may be exceeded in the event that a matching variant contains more\ncalls than the requested maximum. If unspecified, defaults to 5000. The\nmaximum value is 10000.", @@ -2346,20 +3088,28 @@ "referenceName": { "description": "Required. Only return variants in this reference sequence.", "type": "string" + }, + "variantSetIds": { + "description": "At most one variant set ID must be provided. Only variants from this\nvariant set will be returned. If omitted, a call set id must be included in\nthe request.", + "items": { + "type": "string" + }, + "type": "array" + }, + "end": { + "format": "int64", + "description": "The end of the window, 0-based exclusive. If unspecified or 0, defaults to\nthe length of the reference.", + "type": "string" } - } + }, + "id": "SearchVariantsRequest", + "description": "The variant search request.", + "type": "object" }, "SearchReadGroupSetsRequest": { "description": "The read group set search request.", "type": "object", "properties": { - "datasetIds": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Restricts this query to read group sets within the given datasets. At least\none ID must be provided." - }, "pageToken": { "description": "The continuation token, which is used to page through large result sets.\nTo get the next page of results, set this parameter to the value of\n`nextPageToken` from the previous response.", "type": "string" @@ -2372,29 +3122,63 @@ "format": "int32", "description": "The maximum number of results to return in a single page. If unspecified,\ndefaults to 256. The maximum value is 1024.", "type": "integer" + }, + "datasetIds": { + "description": "Restricts this query to read group sets within the given datasets. At least\none ID must be provided.", + "items": { + "type": "string" + }, + "type": "array" } }, "id": "SearchReadGroupSetsRequest" }, "SearchAnnotationsResponse": { - "id": "SearchAnnotationsResponse", - "type": "object", "properties": { + "nextPageToken": { + "description": "The continuation token, which is used to page through large result sets.\nProvide this value in a subsequent request to return the next page of\nresults. This field will be empty if there aren't any additional results.", + "type": "string" + }, "annotations": { "description": "The matching annotations.", "items": { "$ref": "Annotation" }, "type": "array" - }, - "nextPageToken": { - "description": "The continuation token, which is used to page through large result sets.\nProvide this value in a subsequent request to return the next page of\nresults. This field will be empty if there aren't any additional results.", - "type": "string" } - } + }, + "id": "SearchAnnotationsResponse", + "type": "object" + }, + "ClinicalCondition": { + "type": "object", + "properties": { + "omimId": { + "description": "The OMIM id for this condition.\nSearch for these IDs at http://omim.org/", + "type": "string" + }, + "externalIds": { + "description": "The set of external IDs for this condition.", + "items": { + "$ref": "ExternalId" + }, + "type": "array" + }, + "conceptId": { + "description": "The MedGen concept id associated with this gene.\nSearch for these IDs at http://www.ncbi.nlm.nih.gov/medgen/", + "type": "string" + }, + "names": { + "description": "A set of names for the condition.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "ClinicalCondition" }, "SearchReadsResponse": { - "id": "SearchReadsResponse", "description": "The read search response.", "type": "object", "properties": { @@ -2409,42 +3193,14 @@ }, "type": "array" } - } - }, - "ClinicalCondition": { - "type": "object", - "properties": { - "conceptId": { - "description": "The MedGen concept id associated with this gene.\nSearch for these IDs at http://www.ncbi.nlm.nih.gov/medgen/", - "type": "string" - }, - "names": { - "description": "A set of names for the condition.", - "items": { - "type": "string" - }, - "type": "array" - }, - "omimId": { - "description": "The OMIM id for this condition.\nSearch for these IDs at http://omim.org/", - "type": "string" - }, - "externalIds": { - "description": "The set of external IDs for this condition.", - "items": { - "$ref": "ExternalId" - }, - "type": "array" - } }, - "id": "ClinicalCondition" + "id": "SearchReadsResponse" }, "Program": { - "type": "object", "properties": { "prevProgramId": { - "type": "string", - "description": "The ID of the program run before this one." + "description": "The ID of the program run before this one.", + "type": "string" }, "commandLine": { "description": "The command line used to run this program.", @@ -2463,27 +3219,15 @@ "type": "string" } }, - "id": "Program" - }, - "CoverageBucket": { - "description": "A bucket over which read coverage has been precomputed. A bucket corresponds\nto a specific range of the reference sequence.", - "type": "object", - "properties": { - "meanCoverage": { - "format": "float", - "description": "The average number of reads which are aligned to each individual\nreference base in this bucket.", - "type": "number" - }, - "range": { - "description": "The genomic coordinate range spanned by this bucket.", - "$ref": "Range" - } - }, - "id": "CoverageBucket" + "id": "Program", + "type": "object" }, "ComputeEngine": { - "type": "object", "properties": { + "zone": { + "description": "The availability zone in which the instance resides.", + "type": "string" + }, "diskNames": { "description": "The names of the disks that were created for this pipeline.", "items": { @@ -2498,42 +3242,124 @@ "instanceName": { "description": "The instance on which the operation is running.", "type": "string" - }, - "zone": { - "description": "The availability zone in which the instance resides.", - "type": "string" } }, "id": "ComputeEngine", - "description": "Describes a Compute Engine resource that is being managed by a running\npipeline." + "description": "Describes a Compute Engine resource that is being managed by a running\npipeline.", + "type": "object" + }, + "CoverageBucket": { + "properties": { + "meanCoverage": { + "format": "float", + "description": "The average number of reads which are aligned to each individual\nreference base in this bucket.", + "type": "number" + }, + "range": { + "description": "The genomic coordinate range spanned by this bucket.", + "$ref": "Range" + } + }, + "id": "CoverageBucket", + "description": "A bucket over which read coverage has been precomputed. A bucket corresponds\nto a specific range of the reference sequence.", + "type": "object" }, "ExternalId": { - "id": "ExternalId", - "type": "object", "properties": { - "sourceName": { - "description": "The name of the source of this data.", - "type": "string" - }, "id": { "description": "The id used by the source of this data.", "type": "string" - } - } - }, - "Reference": { - "description": "A reference is a canonical assembled DNA sequence, intended to act as a\nreference coordinate space for other genomic annotations. A single reference\nmight represent the human chromosome 1 or mitochandrial DNA, for instance. A\nreference belongs to one or more reference sets.\n\nFor more genomics resource definitions, see [Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", - "type": "object", - "properties": { - "ncbiTaxonId": { - "format": "int32", - "description": "ID from http://www.ncbi.nlm.nih.gov/taxonomy. For example, 9606 for human.", - "type": "integer" }, - "sourceUri": { - "description": "The URI from which the sequence was obtained. Typically specifies a FASTA\nformat file.", + "sourceName": { + "description": "The name of the source of this data.", + "type": "string" + } + }, + "id": "ExternalId", + "type": "object" + }, + "SearchVariantSetsRequest": { + "properties": { + "datasetIds": { + "description": "Exactly one dataset ID must be provided here. Only variant sets which\nbelong to this dataset will be returned.", + "items": { + "type": "string" + }, + "type": "array" + }, + "pageToken": { + "description": "The continuation token, which is used to page through large result sets.\nTo get the next page of results, set this parameter to the value of\n`nextPageToken` from the previous response.", "type": "string" }, + "pageSize": { + "format": "int32", + "description": "The maximum number of results to return in a single page. If unspecified,\ndefaults to 1024.", + "type": "integer" + } + }, + "id": "SearchVariantSetsRequest", + "description": "The search variant sets request.", + "type": "object" + }, + "VariantSetMetadata": { + "description": "Metadata describes a single piece of variant call metadata.\nThese data include a top level key and either a single value string (value)\nor a list of key-value pairs (info.)\nValue and info are mutually exclusive.", + "type": "object", + "properties": { + "info": { + "additionalProperties": { + "items": { + "type": "any" + }, + "type": "array" + }, + "description": "Remaining structured metadata key-value pairs. This must be of the form\nmap\u003cstring, string[]\u003e (string key mapping to a list of string values).", + "type": "object" + }, + "type": { + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "enum": [ + "TYPE_UNSPECIFIED", + "INTEGER", + "FLOAT", + "FLAG", + "CHARACTER", + "STRING" + ], + "description": "The type of data. Possible types include: Integer, Float,\nFlag, Character, and String.", + "type": "string" + }, + "value": { + "description": "The value field for simple metadata", + "type": "string" + }, + "id": { + "description": "User-provided ID field, not enforced by this API.\nTwo or more pieces of structured metadata with identical\nid and key fields are considered equivalent.", + "type": "string" + }, + "number": { + "description": "The number of values that can be included in a field described by this\nmetadata.", + "type": "string" + }, + "key": { + "description": "The top-level key.", + "type": "string" + }, + "description": { + "description": "A textual description of this metadata.", + "type": "string" + } + }, + "id": "VariantSetMetadata" + }, + "Reference": { + "properties": { "name": { "description": "The name of this reference, for example `22`.", "type": "string" @@ -2557,92 +3383,30 @@ "type": "string" }, "type": "array" - } - }, - "id": "Reference" - }, - "VariantSetMetadata": { - "description": "Metadata describes a single piece of variant call metadata.\nThese data include a top level key and either a single value string (value)\nor a list of key-value pairs (info.)\nValue and info are mutually exclusive.", - "type": "object", - "properties": { - "key": { - "description": "The top-level key.", - "type": "string" }, - "description": { - "description": "A textual description of this metadata.", - "type": "string" + "ncbiTaxonId": { + "format": "int32", + "description": "ID from http://www.ncbi.nlm.nih.gov/taxonomy. For example, 9606 for human.", + "type": "integer" }, - "type": { - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "enum": [ - "TYPE_UNSPECIFIED", - "INTEGER", - "FLOAT", - "FLAG", - "CHARACTER", - "STRING" - ], - "description": "The type of data. Possible types include: Integer, Float,\nFlag, Character, and String.", - "type": "string" - }, - "info": { - "description": "Remaining structured metadata key-value pairs. This must be of the form\nmap\u003cstring, string[]\u003e (string key mapping to a list of string values).", - "type": "object", - "additionalProperties": { - "items": { - "type": "any" - }, - "type": "array" - } - }, - "value": { - "description": "The value field for simple metadata", - "type": "string" - }, - "id": { - "description": "User-provided ID field, not enforced by this API.\nTwo or more pieces of structured metadata with identical\nid and key fields are considered equivalent.", - "type": "string" - }, - "number": { - "description": "The number of values that can be included in a field described by this\nmetadata.", + "sourceUri": { + "description": "The URI from which the sequence was obtained. Typically specifies a FASTA\nformat file.", "type": "string" } }, - "id": "VariantSetMetadata" + "id": "Reference", + "description": "A reference is a canonical assembled DNA sequence, intended to act as a\nreference coordinate space for other genomic annotations. A single reference\nmight represent the human chromosome 1 or mitochandrial DNA, for instance. A\nreference belongs to one or more reference sets.\n\nFor more genomics resource definitions, see [Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", + "type": "object" }, - "SearchVariantSetsRequest": { - "description": "The search variant sets request.", - "type": "object", + "SearchReferenceSetsRequest": { "properties": { - "datasetIds": { - "description": "Exactly one dataset ID must be provided here. Only variant sets which\nbelong to this dataset will be returned.", + "md5checksums": { + "description": "If present, return reference sets for which the\nmd5checksum matches exactly.", "items": { "type": "string" }, "type": "array" }, - "pageToken": { - "description": "The continuation token, which is used to page through large result sets.\nTo get the next page of results, set this parameter to the value of\n`nextPageToken` from the previous response.", - "type": "string" - }, - "pageSize": { - "format": "int32", - "description": "The maximum number of results to return in a single page. If unspecified,\ndefaults to 1024.", - "type": "integer" - } - }, - "id": "SearchVariantSetsRequest" - }, - "SearchReferenceSetsRequest": { - "properties": { "pageToken": { "description": "The continuation token, which is used to page through large result sets.\nTo get the next page of results, set this parameter to the value of\n`nextPageToken` from the previous response.", "type": "string" @@ -2662,19 +3426,13 @@ "assemblyId": { "description": "If present, return reference sets for which a substring of their\n`assemblyId` matches this string (case insensitive).", "type": "string" - }, - "md5checksums": { - "description": "If present, return reference sets for which the\nmd5checksum matches exactly.", - "items": { - "type": "string" - }, - "type": "array" } }, "id": "SearchReferenceSetsRequest", "type": "object" }, "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", "type": "object", "properties": { "policy": { @@ -2682,21 +3440,19 @@ "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." } }, - "id": "SetIamPolicyRequest", - "description": "Request message for `SetIamPolicy` method." + "id": "SetIamPolicyRequest" }, "MergeVariantsRequest": { "type": "object", "properties": { "variants": { + "description": "The variants to be merged with existing variants.", "items": { "$ref": "Variant" }, - "type": "array", - "description": "The variants to be merged with existing variants." + "type": "array" }, "infoMergeConfig": { - "type": "object", "additionalProperties": { "enum": [ "INFO_MERGE_OPERATION_UNSPECIFIED", @@ -2705,7 +3461,8 @@ ], "type": "string" }, - "description": "A mapping between info field keys and the InfoMergeOperations to\nbe performed on them." + "description": "A mapping between info field keys and the InfoMergeOperations to\nbe performed on them.", + "type": "object" }, "variantSetId": { "description": "The destination variant set.", @@ -2714,23 +3471,25 @@ }, "id": "MergeVariantsRequest" }, - "Read": { - "description": "A read alignment describes a linear alignment of a string of DNA to a\nreference sequence, in addition to metadata\nabout the fragment (the molecule of DNA sequenced) and the read (the bases\nwhich were read by the sequencer). A read is equivalent to a line in a SAM\nfile. A read belongs to exactly one read group and exactly one\nread group set.\n\nFor more genomics resource definitions, see [Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\n### Reverse-stranded reads\n\nMapped reads (reads having a non-null `alignment`) can be aligned to either\nthe forward or the reverse strand of their associated reference. Strandedness\nof a mapped read is encoded by `alignment.position.reverseStrand`.\n\nIf we consider the reference to be a forward-stranded coordinate space of\n`[0, reference.length)` with `0` as the left-most position and\n`reference.length` as the right-most position, reads are always aligned left\nto right. That is, `alignment.position.position` always refers to the\nleft-most reference coordinate and `alignment.cigar` describes the alignment\nof this read to the reference from left to right. All per-base fields such as\n`alignedSequence` and `alignedQuality` share this same left-to-right\norientation; this is true of reads which are aligned to either strand. For\nreverse-stranded reads, this means that `alignedSequence` is the reverse\ncomplement of the bases that were originally reported by the sequencing\nmachine.\n\n### Generating a reference-aligned sequence string\n\nWhen interacting with mapped reads, it's often useful to produce a string\nrepresenting the local alignment of the read to reference. The following\npseudocode demonstrates one way of doing this:\n\n out = \"\"\n offset = 0\n for c in read.alignment.cigar {\n switch c.operation {\n case \"ALIGNMENT_MATCH\", \"SEQUENCE_MATCH\", \"SEQUENCE_MISMATCH\":\n out += read.alignedSequence[offset:offset+c.operationLength]\n offset += c.operationLength\n break\n case \"CLIP_SOFT\", \"INSERT\":\n offset += c.operationLength\n break\n case \"PAD\":\n out += repeat(\"*\", c.operationLength)\n break\n case \"DELETE\":\n out += repeat(\"-\", c.operationLength)\n break\n case \"SKIP\":\n out += repeat(\" \", c.operationLength)\n break\n case \"CLIP_HARD\":\n break\n }\n }\n return out\n\n### Converting to SAM's CIGAR string\n\nThe following pseudocode generates a SAM CIGAR string from the\n`cigar` field. Note that this is a lossy conversion\n(`cigar.referenceSequence` is lost).\n\n cigarMap = {\n \"ALIGNMENT_MATCH\": \"M\",\n \"INSERT\": \"I\",\n \"DELETE\": \"D\",\n \"SKIP\": \"N\",\n \"CLIP_SOFT\": \"S\",\n \"CLIP_HARD\": \"H\",\n \"PAD\": \"P\",\n \"SEQUENCE_MATCH\": \"=\",\n \"SEQUENCE_MISMATCH\": \"X\",\n }\n cigarStr = \"\"\n for c in read.alignment.cigar {\n cigarStr += c.operationLength + cigarMap[c.operation]\n }\n return cigarStr", + "BatchCreateAnnotationsRequest": { "type": "object", "properties": { - "properPlacement": { - "description": "The orientation and the distance between reads from the fragment are\nconsistent with the sequencing protocol (SAM flag 0x2).", - "type": "boolean" - }, - "supplementaryAlignment": { - "type": "boolean", - "description": "Whether this alignment is supplementary. Equivalent to SAM flag 0x800.\nSupplementary alignments are used in the representation of a chimeric\nalignment. In a chimeric alignment, a read is split into multiple\nlinear alignments that map to different reference contigs. The first\nlinear alignment in the read will be designated as the representative\nalignment; the remaining linear alignments will be designated as\nsupplementary alignments. These alignments may have different mapping\nquality scores. In each linear alignment in a chimeric alignment, the read\nwill be hard clipped. The `alignedSequence` and\n`alignedQuality` fields in the alignment record will only\nrepresent the bases for its respective linear alignment." - }, - "fragmentLength": { - "format": "int32", - "description": "The observed length of the fragment, equivalent to TLEN in SAM.", - "type": "integer" + "annotations": { + "description": "The annotations to be created. At most 4096 can be specified in a single\nrequest.", + "items": { + "$ref": "Annotation" + }, + "type": "array" }, + "requestId": { + "description": "A unique request ID which enables the server to detect duplicated requests.\nIf provided, duplicated requests will result in the same response; if not\nprovided, duplicated requests may result in duplicated data. For a given\nannotation set, callers should not reuse `request_id`s when writing\ndifferent batches of annotations - behavior in this case is undefined.\nA common approach is to use a UUID. For batch jobs where worker crashes are\na possibility, consider using some unique variant of a worker or run ID.", + "type": "string" + } + }, + "id": "BatchCreateAnnotationsRequest" + }, + "Read": { + "properties": { "failedVendorQualityChecks": { "description": "Whether this read did not pass filters, such as platform or vendor quality\ncontrols (SAM flag 0x200).", "type": "boolean" @@ -2747,15 +3506,15 @@ "description": "The linear alignment for this alignment record. This field is null for\nunmapped reads.", "$ref": "LinearAlignment" }, + "id": { + "description": "The server-generated read ID, unique across all reads. This is different\nfrom the `fragmentName`.", + "type": "string" + }, "numberReads": { "format": "int32", "description": "The number of reads in the fragment (extension to SAM flag 0x1).", "type": "integer" }, - "id": { - "description": "The server-generated read ID, unique across all reads. This is different\nfrom the `fragmentName`.", - "type": "string" - }, "secondaryAlignment": { "description": "Whether this alignment is secondary. Equivalent to SAM flag 0x100.\nA secondary alignment represents an alternative to the primary alignment\nfor this read. Aligners may return secondary alignments if a read can map\nambiguously to multiple coordinates in the genome. By convention, each read\nhas one and only one alignment where both `secondaryAlignment`\nand `supplementaryAlignment` are false.", "type": "boolean" @@ -2769,8 +3528,8 @@ "type": "string" }, "duplicateFragment": { - "type": "boolean", - "description": "The fragment is a PCR or optical duplicate (SAM flag 0x400)." + "description": "The fragment is a PCR or optical duplicate (SAM flag 0x400).", + "type": "boolean" }, "readNumber": { "format": "int32", @@ -2785,10 +3544,6 @@ "description": "The ID of the read group this read belongs to. A read belongs to exactly\none read group. This is a server-generated ID which is distinct from SAM's\nRG tag (for that value, see\nReadGroup.name).", "type": "string" }, - "nextMatePosition": { - "description": "The mapping of the primary alignment of the\n`(readNumber+1)%numberReads` read in the fragment. It replaces\nmate position and mate strand in SAM.", - "$ref": "Position" - }, "info": { "additionalProperties": { "items": { @@ -2798,28 +3553,78 @@ }, "description": "A map of additional read alignment information. This must be of the form\nmap\u003cstring, string[]\u003e (string key mapping to a list of string values).", "type": "object" + }, + "nextMatePosition": { + "description": "The mapping of the primary alignment of the\n`(readNumber+1)%numberReads` read in the fragment. It replaces\nmate position and mate strand in SAM.", + "$ref": "Position" + }, + "supplementaryAlignment": { + "description": "Whether this alignment is supplementary. Equivalent to SAM flag 0x800.\nSupplementary alignments are used in the representation of a chimeric\nalignment. In a chimeric alignment, a read is split into multiple\nlinear alignments that map to different reference contigs. The first\nlinear alignment in the read will be designated as the representative\nalignment; the remaining linear alignments will be designated as\nsupplementary alignments. These alignments may have different mapping\nquality scores. In each linear alignment in a chimeric alignment, the read\nwill be hard clipped. The `alignedSequence` and\n`alignedQuality` fields in the alignment record will only\nrepresent the bases for its respective linear alignment.", + "type": "boolean" + }, + "properPlacement": { + "description": "The orientation and the distance between reads from the fragment are\nconsistent with the sequencing protocol (SAM flag 0x2).", + "type": "boolean" + }, + "fragmentLength": { + "format": "int32", + "description": "The observed length of the fragment, equivalent to TLEN in SAM.", + "type": "integer" } }, - "id": "Read" + "id": "Read", + "description": "A read alignment describes a linear alignment of a string of DNA to a\nreference sequence, in addition to metadata\nabout the fragment (the molecule of DNA sequenced) and the read (the bases\nwhich were read by the sequencer). A read is equivalent to a line in a SAM\nfile. A read belongs to exactly one read group and exactly one\nread group set.\n\nFor more genomics resource definitions, see [Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)\n\n### Reverse-stranded reads\n\nMapped reads (reads having a non-null `alignment`) can be aligned to either\nthe forward or the reverse strand of their associated reference. Strandedness\nof a mapped read is encoded by `alignment.position.reverseStrand`.\n\nIf we consider the reference to be a forward-stranded coordinate space of\n`[0, reference.length)` with `0` as the left-most position and\n`reference.length` as the right-most position, reads are always aligned left\nto right. That is, `alignment.position.position` always refers to the\nleft-most reference coordinate and `alignment.cigar` describes the alignment\nof this read to the reference from left to right. All per-base fields such as\n`alignedSequence` and `alignedQuality` share this same left-to-right\norientation; this is true of reads which are aligned to either strand. For\nreverse-stranded reads, this means that `alignedSequence` is the reverse\ncomplement of the bases that were originally reported by the sequencing\nmachine.\n\n### Generating a reference-aligned sequence string\n\nWhen interacting with mapped reads, it's often useful to produce a string\nrepresenting the local alignment of the read to reference. The following\npseudocode demonstrates one way of doing this:\n\n out = \"\"\n offset = 0\n for c in read.alignment.cigar {\n switch c.operation {\n case \"ALIGNMENT_MATCH\", \"SEQUENCE_MATCH\", \"SEQUENCE_MISMATCH\":\n out += read.alignedSequence[offset:offset+c.operationLength]\n offset += c.operationLength\n break\n case \"CLIP_SOFT\", \"INSERT\":\n offset += c.operationLength\n break\n case \"PAD\":\n out += repeat(\"*\", c.operationLength)\n break\n case \"DELETE\":\n out += repeat(\"-\", c.operationLength)\n break\n case \"SKIP\":\n out += repeat(\" \", c.operationLength)\n break\n case \"CLIP_HARD\":\n break\n }\n }\n return out\n\n### Converting to SAM's CIGAR string\n\nThe following pseudocode generates a SAM CIGAR string from the\n`cigar` field. Note that this is a lossy conversion\n(`cigar.referenceSequence` is lost).\n\n cigarMap = {\n \"ALIGNMENT_MATCH\": \"M\",\n \"INSERT\": \"I\",\n \"DELETE\": \"D\",\n \"SKIP\": \"N\",\n \"CLIP_SOFT\": \"S\",\n \"CLIP_HARD\": \"H\",\n \"PAD\": \"P\",\n \"SEQUENCE_MATCH\": \"=\",\n \"SEQUENCE_MISMATCH\": \"X\",\n }\n cigarStr = \"\"\n for c in read.alignment.cigar {\n cigarStr += c.operationLength + cigarMap[c.operation]\n }\n return cigarStr", + "type": "object" }, - "BatchCreateAnnotationsRequest": { - "type": "object", + "ReferenceSet": { "properties": { - "requestId": { - "description": "A unique request ID which enables the server to detect duplicated requests.\nIf provided, duplicated requests will result in the same response; if not\nprovided, duplicated requests may result in duplicated data. For a given\nannotation set, callers should not reuse `request_id`s when writing\ndifferent batches of annotations - behavior in this case is undefined.\nA common approach is to use a UUID. For batch jobs where worker crashes are\na possibility, consider using some unique variant of a worker or run ID.", + "description": { + "description": "Free text description of this reference set.", "type": "string" }, - "annotations": { - "description": "The annotations to be created. At most 4096 can be specified in a single\nrequest.", + "sourceAccessions": { + "description": "All known corresponding accession IDs in INSDC (GenBank/ENA/DDBJ) ideally\nwith a version number, for example `NC_000001.11`.", "items": { - "$ref": "Annotation" + "type": "string" }, "type": "array" + }, + "sourceUri": { + "description": "The URI from which the references were obtained.", + "type": "string" + }, + "ncbiTaxonId": { + "format": "int32", + "description": "ID from http://www.ncbi.nlm.nih.gov/taxonomy (for example, 9606 for human)\nindicating the species which this reference set is intended to model. Note\nthat contained references may specify a different `ncbiTaxonId`, as\nassemblies may contain reference sequences which do not belong to the\nmodeled species, for example EBV in a human reference genome.", + "type": "integer" + }, + "referenceIds": { + "description": "The IDs of the reference objects that are part of this set.\n`Reference.md5checksum` must be unique within this set.", + "items": { + "type": "string" + }, + "type": "array" + }, + "md5checksum": { + "description": "Order-independent MD5 checksum which identifies this reference set. The\nchecksum is computed by sorting all lower case hexidecimal string\n`reference.md5checksum` (for all reference in this set) in\nascending lexicographic order, concatenating, and taking the MD5 of that\nvalue. The resulting value is represented in lower case hexadecimal format.", + "type": "string" + }, + "assemblyId": { + "description": "Public id of this reference set, such as `GRCh37`.", + "type": "string" + }, + "id": { + "description": "The server-generated reference set ID, unique across all reference sets.", + "type": "string" } }, - "id": "BatchCreateAnnotationsRequest" + "id": "ReferenceSet", + "description": "A reference set is a set of references which typically comprise a reference\nassembly for a species, such as `GRCh38` which is representative\nof the human genome. A reference set defines a common coordinate space for\ncomparing reference-aligned experimental data. A reference set contains 1 or\nmore references.\n\nFor more genomics resource definitions, see [Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", + "type": "object" }, "CigarUnit": { + "description": "A single CIGAR operation.", + "type": "object", "properties": { "operationLength": { "format": "int64", @@ -2827,7 +3632,6 @@ "type": "string" }, "operation": { - "type": "string", "enumDescriptions": [ "", "An alignment match indicates that a sequence can be aligned to the\nreference without evidence of an INDEL. Unlike the\n`SEQUENCE_MATCH` and `SEQUENCE_MISMATCH` operators,\nthe `ALIGNMENT_MATCH` operator does not indicate whether the\nreference and read sequences are an exact match. This operator is\nequivalent to SAM's `M`.", @@ -2851,97 +3655,18 @@ "PAD", "SEQUENCE_MATCH", "SEQUENCE_MISMATCH" - ] + ], + "type": "string" }, "referenceSequence": { "description": "`referenceSequence` is only used at mismatches\n(`SEQUENCE_MISMATCH`) and deletions (`DELETE`).\nFilling this field replaces SAM's MD tag. If the relevant information is\nnot available, this field is unset.", "type": "string" } }, - "id": "CigarUnit", - "description": "A single CIGAR operation.", - "type": "object" - }, - "ReferenceSet": { - "description": "A reference set is a set of references which typically comprise a reference\nassembly for a species, such as `GRCh38` which is representative\nof the human genome. A reference set defines a common coordinate space for\ncomparing reference-aligned experimental data. A reference set contains 1 or\nmore references.\n\nFor more genomics resource definitions, see [Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", - "type": "object", - "properties": { - "description": { - "description": "Free text description of this reference set.", - "type": "string" - }, - "sourceAccessions": { - "description": "All known corresponding accession IDs in INSDC (GenBank/ENA/DDBJ) ideally\nwith a version number, for example `NC_000001.11`.", - "items": { - "type": "string" - }, - "type": "array" - }, - "ncbiTaxonId": { - "format": "int32", - "description": "ID from http://www.ncbi.nlm.nih.gov/taxonomy (for example, 9606 for human)\nindicating the species which this reference set is intended to model. Note\nthat contained references may specify a different `ncbiTaxonId`, as\nassemblies may contain reference sequences which do not belong to the\nmodeled species, for example EBV in a human reference genome.", - "type": "integer" - }, - "sourceUri": { - "description": "The URI from which the references were obtained.", - "type": "string" - }, - "referenceIds": { - "description": "The IDs of the reference objects that are part of this set.\n`Reference.md5checksum` must be unique within this set.", - "items": { - "type": "string" - }, - "type": "array" - }, - "md5checksum": { - "type": "string", - "description": "Order-independent MD5 checksum which identifies this reference set. The\nchecksum is computed by sorting all lower case hexidecimal string\n`reference.md5checksum` (for all reference in this set) in\nascending lexicographic order, concatenating, and taking the MD5 of that\nvalue. The resulting value is represented in lower case hexadecimal format." - }, - "assemblyId": { - "description": "Public id of this reference set, such as `GRCh37`.", - "type": "string" - }, - "id": { - "description": "The server-generated reference set ID, unique across all reference sets.", - "type": "string" - } - }, - "id": "ReferenceSet" - }, - "Transcript": { - "description": "A transcript represents the assertion that a particular region of the\nreference genome may be transcribed as RNA.", - "type": "object", - "properties": { - "exons": { - "description": "The \u003ca href=\"http://en.wikipedia.org/wiki/Exon\"\u003eexons\u003c/a\u003e that compose\nthis transcript. This field should be unset for genomes where transcript\nsplicing does not occur, for example prokaryotes.\n\nIntrons are regions of the transcript that are not included in the\nspliced RNA product. Though not explicitly modeled here, intron ranges can\nbe deduced; all regions of this transcript that are not exons are introns.\n\nExonic sequences do not necessarily code for a translational product\n(amino acids). Only the regions of exons bounded by the\ncodingSequence correspond\nto coding DNA sequence.\n\nExons are ordered by start position and may not overlap.", - "items": { - "$ref": "Exon" - }, - "type": "array" - }, - "codingSequence": { - "$ref": "CodingSequence", - "description": "The range of the coding sequence for this transcript, if any. To determine\nthe exact ranges of coding sequence, intersect this range with those of the\nexons, if any. If there are any\nexons, the\ncodingSequence must start\nand end within them.\n\nNote that in some cases, the reference genome will not exactly match the\nobserved mRNA transcript e.g. due to variance in the source genome from\nreference. In these cases,\nexon.frame will not necessarily\nmatch the expected reference reading frame and coding exon reference bases\ncannot necessarily be concatenated to produce the original transcript mRNA." - }, - "geneId": { - "description": "The annotation ID of the gene from which this transcript is transcribed.", - "type": "string" - } - }, - "id": "Transcript" + "id": "CigarUnit" }, "AnnotationSet": { - "description": "An annotation set is a logical grouping of annotations that share consistent\ntype information and provenance. Examples of annotation sets include 'all\ngenes from refseq', and 'all variant annotations from ClinVar'.", - "type": "object", "properties": { - "datasetId": { - "description": "The dataset to which this annotation set belongs.", - "type": "string" - }, - "sourceUri": { - "description": "The source URI describing the file from which this annotation set was\ngenerated, if any.", - "type": "string" - }, "name": { "description": "The display name for this annotation set.", "type": "string" @@ -2950,17 +3675,14 @@ "description": "The ID of the reference set that defines the coordinate space for this\nset's annotations.", "type": "string" }, - "info": { - "description": "A map of additional read alignment information. This must be of the form\nmap\u003cstring, string[]\u003e (string key mapping to a list of string values).", - "type": "object", - "additionalProperties": { - "items": { - "type": "any" - }, - "type": "array" - } - }, "type": { + "enum": [ + "ANNOTATION_TYPE_UNSPECIFIED", + "GENERIC", + "VARIANT", + "GENE", + "TRANSCRIPT" + ], "description": "The type of annotations contained within this set.", "type": "string", "enumDescriptions": [ @@ -2969,21 +3691,56 @@ "A `VARIANT` annotation type.", "A `GENE` annotation type represents the existence of a gene at the\nassociated reference coordinates. The start coordinate is typically the\ngene's transcription start site and the end is typically the end of the\ngene's last exon.", "A `TRANSCRIPT` annotation type represents the assertion that a\nparticular region of the reference genome may be transcribed as RNA." - ], - "enum": [ - "ANNOTATION_TYPE_UNSPECIFIED", - "GENERIC", - "VARIANT", - "GENE", - "TRANSCRIPT" ] }, + "info": { + "additionalProperties": { + "items": { + "type": "any" + }, + "type": "array" + }, + "description": "A map of additional read alignment information. This must be of the form\nmap\u003cstring, string[]\u003e (string key mapping to a list of string values).", + "type": "object" + }, "id": { "description": "The server-generated annotation set ID, unique across all annotation sets.", "type": "string" + }, + "sourceUri": { + "description": "The source URI describing the file from which this annotation set was\ngenerated, if any.", + "type": "string" + }, + "datasetId": { + "description": "The dataset to which this annotation set belongs.", + "type": "string" } }, - "id": "AnnotationSet" + "id": "AnnotationSet", + "description": "An annotation set is a logical grouping of annotations that share consistent\ntype information and provenance. Examples of annotation sets include 'all\ngenes from refseq', and 'all variant annotations from ClinVar'.", + "type": "object" + }, + "Transcript": { + "properties": { + "codingSequence": { + "$ref": "CodingSequence", + "description": "The range of the coding sequence for this transcript, if any. To determine\nthe exact ranges of coding sequence, intersect this range with those of the\nexons, if any. If there are any\nexons, the\ncodingSequence must start\nand end within them.\n\nNote that in some cases, the reference genome will not exactly match the\nobserved mRNA transcript e.g. due to variance in the source genome from\nreference. In these cases,\nexon.frame will not necessarily\nmatch the expected reference reading frame and coding exon reference bases\ncannot necessarily be concatenated to produce the original transcript mRNA." + }, + "geneId": { + "description": "The annotation ID of the gene from which this transcript is transcribed.", + "type": "string" + }, + "exons": { + "description": "The \u003ca href=\"http://en.wikipedia.org/wiki/Exon\"\u003eexons\u003c/a\u003e that compose\nthis transcript. This field should be unset for genomes where transcript\nsplicing does not occur, for example prokaryotes.\n\nIntrons are regions of the transcript that are not included in the\nspliced RNA product. Though not explicitly modeled here, intron ranges can\nbe deduced; all regions of this transcript that are not exons are introns.\n\nExonic sequences do not necessarily code for a translational product\n(amino acids). Only the regions of exons bounded by the\ncodingSequence correspond\nto coding DNA sequence.\n\nExons are ordered by start position and may not overlap.", + "items": { + "$ref": "Exon" + }, + "type": "array" + } + }, + "id": "Transcript", + "description": "A transcript represents the assertion that a particular region of the\nreference genome may be transcribed as RNA.", + "type": "object" }, "Experiment": { "properties": { @@ -3000,16 +3757,14 @@ "type": "string" }, "libraryId": { - "type": "string", - "description": "A client-supplied library identifier; a library is a collection of DNA\nfragments which have been prepared for sequencing from a sample. This\nfield is important for quality control as error or bias can be introduced\nduring sample preparation." + "description": "A client-supplied library identifier; a library is a collection of DNA\nfragments which have been prepared for sequencing from a sample. This\nfield is important for quality control as error or bias can be introduced\nduring sample preparation.", + "type": "string" } }, "id": "Experiment", "type": "object" }, "ListDatasetsResponse": { - "description": "The dataset list response.", - "type": "object", "properties": { "nextPageToken": { "description": "The continuation token, which is used to page through large result sets.\nProvide this value in a subsequent request to return the next page of\nresults. This field will be empty if there aren't any additional results.", @@ -3023,759 +3778,8 @@ "type": "array" } }, - "id": "ListDatasetsResponse" - }, - "TestIamPermissionsRequest": { - "description": "Request message for `TestIamPermissions` method.", - "type": "object", - "properties": { - "permissions": { - "description": "REQUIRED: The set of permissions to check for the 'resource'.\nPermissions with wildcards (such as '*' or 'storage.*') are not allowed.\nAllowed permissions are:\n\n* `genomics.datasets.create`\n* `genomics.datasets.delete`\n* `genomics.datasets.get`\n* `genomics.datasets.list`\n* `genomics.datasets.update`\n* `genomics.datasets.getIamPolicy`\n* `genomics.datasets.setIamPolicy`", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "TestIamPermissionsRequest" - }, - "ExportReadGroupSetRequest": { - "description": "The read group set export request.", - "type": "object", - "properties": { - "referenceNames": { - "items": { - "type": "string" - }, - "type": "array", - "description": "The reference names to export. If this is not specified, all reference\nsequences, including unmapped reads, are exported.\nUse `*` to export only unmapped reads." - }, - "exportUri": { - "description": "Required. A Google Cloud Storage URI for the exported BAM file.\nThe currently authenticated user must have write access to the new file.\nAn error will be returned if the URI already contains data.", - "type": "string" - }, - "projectId": { - "description": "Required. The Google Cloud project ID that owns this\nexport. The caller must have WRITE access to this project.", - "type": "string" - } - }, - "id": "ExportReadGroupSetRequest" - }, - "Exon": { - "type": "object", - "properties": { - "start": { - "type": "string", - "format": "int64", - "description": "The start position of the exon on this annotation's reference sequence,\n0-based inclusive. Note that this is relative to the reference start, and\n**not** the containing annotation start." - }, - "frame": { - "format": "int32", - "description": "The frame of this exon. Contains a value of 0, 1, or 2, which indicates\nthe offset of the first coding base of the exon within the reading frame\nof the coding DNA sequence, if any. This field is dependent on the\nstrandedness of this annotation (see\nAnnotation.reverse_strand).\nFor forward stranded annotations, this offset is relative to the\nexon.start. For reverse\nstrand annotations, this offset is relative to the\nexon.end `- 1`.\n\nUnset if this exon does not intersect the coding sequence. Upon creation\nof a transcript, the frame must be populated for all or none of the\ncoding exons.", - "type": "integer" - }, - "end": { - "format": "int64", - "description": "The end position of the exon on this annotation's reference sequence,\n0-based exclusive. Note that this is relative to the reference start, and\n*not* the containing annotation start.", - "type": "string" - } - }, - "id": "Exon" - }, - "CallSet": { - "description": "A call set is a collection of variant calls, typically for one sample. It\nbelongs to a variant set.\n\nFor more genomics resource definitions, see [Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", - "type": "object", - "properties": { - "id": { - "description": "The server-generated call set ID, unique across all call sets.", - "type": "string" - }, - "created": { - "format": "int64", - "description": "The date this call set was created in milliseconds from the epoch.", - "type": "string" - }, - "sampleId": { - "description": "The sample ID this call set corresponds to.", - "type": "string" - }, - "name": { - "description": "The call set name.", - "type": "string" - }, - "info": { - "additionalProperties": { - "items": { - "type": "any" - }, - "type": "array" - }, - "description": "A map of additional call set information. This must be of the form\nmap\u003cstring, string[]\u003e (string key mapping to a list of string values).", - "type": "object" - }, - "variantSetIds": { - "description": "The IDs of the variant sets this call set belongs to. This field must\nhave exactly length one, as a call set belongs to a single variant set.\nThis field is repeated for compatibility with the\n[GA4GH 0.5.1\nAPI](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variants.avdl#L76).", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "CallSet" - }, - "SearchAnnotationSetsResponse": { - "type": "object", - "properties": { - "annotationSets": { - "description": "The matching annotation sets.", - "items": { - "$ref": "AnnotationSet" - }, - "type": "array" - }, - "nextPageToken": { - "description": "The continuation token, which is used to page through large result sets.\nProvide this value in a subsequent request to return the next page of\nresults. This field will be empty if there aren't any additional results.", - "type": "string" - } - }, - "id": "SearchAnnotationSetsResponse" - }, - "ImportVariantsRequest": { - "description": "The variant data import request.", - "type": "object", - "properties": { - "infoMergeConfig": { - "description": "A mapping between info field keys and the InfoMergeOperations to\nbe performed on them. This is plumbed down to the MergeVariantRequests\ngenerated by the resulting import job.", - "type": "object", - "additionalProperties": { - "type": "string", - "enum": [ - "INFO_MERGE_OPERATION_UNSPECIFIED", - "IGNORE_NEW", - "MOVE_TO_CALLS" - ] - } - }, - "sourceUris": { - "description": "A list of URIs referencing variant files in Google Cloud Storage. URIs can\ninclude wildcards [as described\nhere](https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames).\nNote that recursive wildcards ('**') are not supported.", - "items": { - "type": "string" - }, - "type": "array" - }, - "variantSetId": { - "description": "Required. The variant set to which variant data should be imported.", - "type": "string" - }, - "normalizeReferenceNames": { - "description": "Convert reference names to the canonical representation.\nhg19 haploytypes (those reference names containing \"_hap\")\nare not modified in any way.\nAll other reference names are modified according to the following rules:\nThe reference name is capitalized.\nThe \"chr\" prefix is dropped for all autosomes and sex chromsomes.\nFor example \"chr17\" becomes \"17\" and \"chrX\" becomes \"X\".\nAll mitochondrial chromosomes (\"chrM\", \"chrMT\", etc) become \"MT\".", - "type": "boolean" - }, - "format": { - "enumDescriptions": [ - "", - "VCF (Variant Call Format). The VCF files may be gzip compressed. gVCF is\nalso supported. Disclaimer: gzip VCF imports are currently much slower\nthan equivalent uncompressed VCF imports. For this reason, uncompressed\nVCF is currently recommended for imports with more than 1GB combined\nuncompressed size, or for time sensitive imports.", - "Complete Genomics masterVarBeta format. The masterVarBeta files may\nbe bzip2 compressed." - ], - "enum": [ - "FORMAT_UNSPECIFIED", - "FORMAT_VCF", - "FORMAT_COMPLETE_GENOMICS" - ], - "description": "The format of the variant data being imported. If unspecified, defaults to\nto `VCF`.", - "type": "string" - } - }, - "id": "ImportVariantsRequest" - }, - "ListCoverageBucketsResponse": { - "type": "object", - "properties": { - "nextPageToken": { - "description": "The continuation token, which is used to page through large result sets.\nProvide this value in a subsequent request to return the next page of\nresults. This field will be empty if there aren't any additional results.", - "type": "string" - }, - "bucketWidth": { - "format": "int64", - "description": "The length of each coverage bucket in base pairs. Note that buckets at the\nend of a reference sequence may be shorter. This value is omitted if the\nbucket width is infinity (the default behaviour, with no range or\n`targetBucketWidth`).", - "type": "string" - }, - "coverageBuckets": { - "description": "The coverage buckets. The list of buckets is sparse; a bucket with 0\noverlapping reads is not returned. A bucket never crosses more than one\nreference sequence. Each bucket has width `bucketWidth`, unless\nits end is the end of the reference sequence.", - "items": { - "$ref": "CoverageBucket" - }, - "type": "array" - } - }, - "id": "ListCoverageBucketsResponse" - }, - "VariantAnnotation": { - "type": "object", - "properties": { - "clinicalSignificance": { - "enumDescriptions": [ - "", - "`OTHER` should be used when no other clinical significance\nvalue will suffice.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "`MULTIPLE_REPORTED` should be used when multiple clinical\nsignficances are reported for a variant. The original clinical\nsignificance values may be provided in the `info` field." - ], - "enum": [ - "CLINICAL_SIGNIFICANCE_UNSPECIFIED", - "CLINICAL_SIGNIFICANCE_OTHER", - "UNCERTAIN", - "BENIGN", - "LIKELY_BENIGN", - "LIKELY_PATHOGENIC", - "PATHOGENIC", - "DRUG_RESPONSE", - "HISTOCOMPATIBILITY", - "CONFERS_SENSITIVITY", - "RISK_FACTOR", - "ASSOCIATION", - "PROTECTIVE", - "MULTIPLE_REPORTED" - ], - "description": "Describes the clinical significance of a variant.\nIt is adapted from the ClinVar controlled vocabulary for clinical\nsignificance described at:\nhttp://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/", - "type": "string" - }, - "conditions": { - "description": "The set of conditions associated with this variant.\nA condition describes the way a variant influences human health.", - "items": { - "$ref": "ClinicalCondition" - }, - "type": "array" - }, - "effect": { - "enum": [ - "EFFECT_UNSPECIFIED", - "EFFECT_OTHER", - "FRAMESHIFT", - "FRAME_PRESERVING_INDEL", - "SYNONYMOUS_SNP", - "NONSYNONYMOUS_SNP", - "STOP_GAIN", - "STOP_LOSS", - "SPLICE_SITE_DISRUPTION" - ], - "description": "Effect of the variant on the coding sequence.", - "type": "string", - "enumDescriptions": [ - "", - "`EFFECT_OTHER` should be used when no other Effect\nwill suffice.", - "`FRAMESHIFT` indicates a mutation in which the insertion or\ndeletion of nucleotides resulted in a frameshift change.", - "`FRAME_PRESERVING_INDEL` indicates a mutation in which a\nmultiple of three nucleotides has been inserted or deleted, resulting\nin no change to the reading frame of the coding sequence.", - "`SYNONYMOUS_SNP` indicates a single nucleotide polymorphism\nmutation that results in no amino acid change.", - "`NONSYNONYMOUS_SNP` indicates a single nucleotide\npolymorphism mutation that results in an amino acid change.", - "`STOP_GAIN` indicates a mutation that leads to the creation\nof a stop codon at the variant site. Frameshift mutations creating\ndownstream stop codons do not count as `STOP_GAIN`.", - "`STOP_LOSS` indicates a mutation that eliminates a\nstop codon at the variant site.", - "`SPLICE_SITE_DISRUPTION` indicates that this variant is\nfound in a splice site for the associated transcript, and alters the\nnormal splicing pattern." - ] - }, - "transcriptIds": { - "description": "Google annotation IDs of the transcripts affected by this variant. These\nshould be provided when the variant is created.", - "items": { - "type": "string" - }, - "type": "array" - }, - "type": { - "enumDescriptions": [ - "", - "`TYPE_OTHER` should be used when no other Type will suffice.\nFurther explanation of the variant type may be included in the\ninfo field.", - "`INSERTION` indicates an insertion.", - "`DELETION` indicates a deletion.", - "`SUBSTITUTION` indicates a block substitution of\ntwo or more nucleotides.", - "`SNP` indicates a single nucleotide polymorphism.", - "`STRUCTURAL` indicates a large structural variant,\nincluding chromosomal fusions, inversions, etc.", - "`CNV` indicates a variation in copy number." - ], - "enum": [ - "TYPE_UNSPECIFIED", - "TYPE_OTHER", - "INSERTION", - "DELETION", - "SUBSTITUTION", - "SNP", - "STRUCTURAL", - "CNV" - ], - "description": "Type has been adapted from ClinVar's list of variant types.", - "type": "string" - }, - "alternateBases": { - "description": "The alternate allele for this variant. If multiple alternate alleles\nexist at this location, create a separate variant for each one, as they\nmay represent distinct conditions.", - "type": "string" - }, - "geneId": { - "type": "string", - "description": "Google annotation ID of the gene affected by this variant. This should\nbe provided when the variant is created." - } - }, - "id": "VariantAnnotation" - }, - "ExportVariantSetRequest": { - "type": "object", - "properties": { - "bigqueryTable": { - "description": "Required. The BigQuery table to export data to.\nIf the table doesn't exist, it will be created. If it already exists, it\nwill be overwritten.", - "type": "string" - }, - "bigqueryDataset": { - "description": "Required. The BigQuery dataset to export data to. This dataset must already\nexist. Note that this is distinct from the Genomics concept of \"dataset\".", - "type": "string" - }, - "format": { - "enumDescriptions": [ - "", - "Export the data to Google BigQuery." - ], - "enum": [ - "FORMAT_UNSPECIFIED", - "FORMAT_BIGQUERY" - ], - "description": "The format for the exported data.", - "type": "string" - }, - "projectId": { - "description": "Required. The Google Cloud project ID that owns the destination\nBigQuery dataset. The caller must have WRITE access to this project. This\nproject will also own the resulting export job.", - "type": "string" - }, - "callSetIds": { - "description": "If provided, only variant call information from the specified call sets\nwill be exported. By default all variant calls are exported.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "ExportVariantSetRequest", - "description": "The variant data export request." - }, - "SearchAnnotationsRequest": { - "id": "SearchAnnotationsRequest", - "type": "object", - "properties": { - "referenceName": { - "description": "The name of the reference to query, within the reference set associated\nwith this query.", - "type": "string" - }, - "referenceId": { - "description": "The ID of the reference to query.", - "type": "string" - }, - "end": { - "format": "int64", - "description": "The end position of the range on the reference, 0-based exclusive. If\nreferenceId or\nreferenceName\nmust be specified, Defaults to the length of the reference.", - "type": "string" - }, - "pageToken": { - "description": "The continuation token, which is used to page through large result sets.\nTo get the next page of results, set this parameter to the value of\n`nextPageToken` from the previous response.", - "type": "string" - }, - "pageSize": { - "format": "int32", - "description": "The maximum number of results to return in a single page. If unspecified,\ndefaults to 256. The maximum value is 2048.", - "type": "integer" - }, - "start": { - "format": "int64", - "description": "The start position of the range on the reference, 0-based inclusive. If\nspecified,\nreferenceId or\nreferenceName\nmust be specified. Defaults to 0.", - "type": "string" - }, - "annotationSetIds": { - "description": "Required. The annotation sets to search within. The caller must have\n`READ` access to these annotation sets.\nAll queried annotation sets must have the same type.", - "items": { - "type": "string" - }, - "type": "array" - } - } - }, - "OperationEvent": { - "id": "OperationEvent", - "description": "An event that occurred during an Operation.", - "type": "object", - "properties": { - "endTime": { - "format": "google-datetime", - "description": "Optional time of when event finished. An event can have a start time and no\nfinish time. If an event has a finish time, there must be a start time.", - "type": "string" - }, - "startTime": { - "format": "google-datetime", - "description": "Optional time of when event started.", - "type": "string" - }, - "description": { - "description": "Required description of event.", - "type": "string" - } - } - }, - "CodingSequence": { - "type": "object", - "properties": { - "start": { - "type": "string", - "format": "int64", - "description": "The start of the coding sequence on this annotation's reference sequence,\n0-based inclusive. Note that this position is relative to the reference\nstart, and *not* the containing annotation start." - }, - "end": { - "format": "int64", - "description": "The end of the coding sequence on this annotation's reference sequence,\n0-based exclusive. Note that this position is relative to the reference\nstart, and *not* the containing annotation start.", - "type": "string" - } - }, - "id": "CodingSequence" - }, - "SearchReferencesResponse": { - "id": "SearchReferencesResponse", - "type": "object", - "properties": { - "references": { - "description": "The matching references.", - "items": { - "$ref": "Reference" - }, - "type": "array" - }, - "nextPageToken": { - "type": "string", - "description": "The continuation token, which is used to page through large result sets.\nProvide this value in a subsequent request to return the next page of\nresults. This field will be empty if there aren't any additional results." - } - } - }, - "GetIamPolicyRequest": { - "type": "object", - "properties": {}, - "id": "GetIamPolicyRequest", - "description": "Request message for `GetIamPolicy` method." - }, - "TestIamPermissionsResponse": { - "id": "TestIamPermissionsResponse", - "description": "Response message for `TestIamPermissions` method.", - "type": "object", - "properties": { - "permissions": { - "items": { - "type": "string" - }, - "type": "array", - "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed." - } - } - }, - "SearchAnnotationSetsRequest": { - "type": "object", - "properties": { - "datasetIds": { - "description": "Required. The dataset IDs to search within. Caller must have `READ` access\nto these datasets.", - "items": { - "type": "string" - }, - "type": "array" - }, - "types": { - "description": "If specified, only annotation sets that have any of these types are\nreturned.", - "items": { - "type": "string", - "enum": [ - "ANNOTATION_TYPE_UNSPECIFIED", - "GENERIC", - "VARIANT", - "GENE", - "TRANSCRIPT" - ] - }, - "type": "array", - "enumDescriptions": [ - "", - "A `GENERIC` annotation type should be used when no other annotation\ntype will suffice. This represents an untyped annotation of the reference\ngenome.", - "A `VARIANT` annotation type.", - "A `GENE` annotation type represents the existence of a gene at the\nassociated reference coordinates. The start coordinate is typically the\ngene's transcription start site and the end is typically the end of the\ngene's last exon.", - "A `TRANSCRIPT` annotation type represents the assertion that a\nparticular region of the reference genome may be transcribed as RNA." - ] - }, - "name": { - "type": "string", - "description": "Only return annotations sets for which a substring of the name matches this\nstring (case insensitive)." - }, - "referenceSetId": { - "description": "If specified, only annotation sets associated with the given reference set\nare returned.", - "type": "string" - }, - "pageToken": { - "type": "string", - "description": "The continuation token, which is used to page through large result sets.\nTo get the next page of results, set this parameter to the value of\n`nextPageToken` from the previous response." - }, - "pageSize": { - "format": "int32", - "description": "The maximum number of results to return in a single page. If unspecified,\ndefaults to 128. The maximum value is 1024.", - "type": "integer" - } - }, - "id": "SearchAnnotationSetsRequest" - }, - "SearchReadGroupSetsResponse": { - "description": "The read group set search response.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "The continuation token, which is used to page through large result sets.\nProvide this value in a subsequent request to return the next page of\nresults. This field will be empty if there aren't any additional results.", - "type": "string" - }, - "readGroupSets": { - "description": "The list of matching read group sets.", - "items": { - "$ref": "ReadGroupSet" - }, - "type": "array" - } - }, - "id": "SearchReadGroupSetsResponse" - }, - "SearchReferencesRequest": { - "type": "object", - "properties": { - "md5checksums": { - "description": "If present, return references for which the\nmd5checksum matches exactly.", - "items": { - "type": "string" - }, - "type": "array" - }, - "pageToken": { - "description": "The continuation token, which is used to page through large result sets.\nTo get the next page of results, set this parameter to the value of\n`nextPageToken` from the previous response.", - "type": "string" - }, - "accessions": { - "description": "If present, return references for which a prefix of any of\nsourceAccessions match\nany of these strings. Accession numbers typically have a main number and a\nversion, for example `GCF_000001405.26`.", - "items": { - "type": "string" - }, - "type": "array" - }, - "pageSize": { - "format": "int32", - "description": "The maximum number of results to return in a single page. If unspecified,\ndefaults to 1024. The maximum value is 4096.", - "type": "integer" - }, - "referenceSetId": { - "description": "If present, return only references which belong to this reference set.", - "type": "string" - } - }, - "id": "SearchReferencesRequest" - }, - "LinearAlignment": { - "description": "A linear alignment can be represented by one CIGAR string. Describes the\nmapped position and local alignment of the read to the reference.", - "type": "object", - "properties": { - "cigar": { - "description": "Represents the local alignment of this sequence (alignment matches, indels,\netc) against the reference.", - "items": { - "$ref": "CigarUnit" - }, - "type": "array" - }, - "position": { - "$ref": "Position", - "description": "The position of this alignment." - }, - "mappingQuality": { - "format": "int32", - "description": "The mapping quality of this alignment. Represents how likely\nthe read maps to this position as opposed to other locations.\n\nSpecifically, this is -10 log10 Pr(mapping position is wrong), rounded to\nthe nearest integer.", - "type": "integer" - } - }, - "id": "LinearAlignment" - }, - "Dataset": { - "description": "A Dataset is a collection of genomic data.\n\nFor more genomics resource definitions, see [Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The dataset name." - }, - "projectId": { - "description": "The Google Cloud project ID that this dataset belongs to.", - "type": "string" - }, - "id": { - "description": "The server-generated dataset ID, unique across all datasets.", - "type": "string" - }, - "createTime": { - "format": "google-datetime", - "description": "The time this dataset was created, in seconds from the epoch.", - "type": "string" - } - }, - "id": "Dataset" - }, - "ImportVariantsResponse": { - "description": "The variant data import response.", - "type": "object", - "properties": { - "callSetIds": { - "description": "IDs of the call sets created during the import.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "ImportVariantsResponse" - }, - "ReadGroup": { - "properties": { - "experiment": { - "description": "The experiment used to generate this read group.", - "$ref": "Experiment" - }, - "name": { - "description": "The read group name. This corresponds to the @RG ID field in the SAM spec.", - "type": "string" - }, - "referenceSetId": { - "description": "The reference set the reads in this read group are aligned to.", - "type": "string" - }, - "info": { - "additionalProperties": { - "items": { - "type": "any" - }, - "type": "array" - }, - "description": "A map of additional read group information. This must be of the form\nmap\u003cstring, string[]\u003e (string key mapping to a list of string values).", - "type": "object" - }, - "id": { - "description": "The server-generated read group ID, unique for all read groups.\nNote: This is different than the @RG ID field in the SAM spec. For that\nvalue, see name.", - "type": "string" - }, - "programs": { - "description": "The programs used to generate this read group. Programs are always\nidentical for all read groups within a read group set. For this reason,\nonly the first read group in a returned set will have this field\npopulated.", - "items": { - "$ref": "Program" - }, - "type": "array" - }, - "predictedInsertSize": { - "format": "int32", - "description": "The predicted insert size of this read group. The insert size is the length\nthe sequenced DNA fragment from end-to-end, not including the adapters.", - "type": "integer" - }, - "description": { - "description": "A free-form text description of this read group.", - "type": "string" - }, - "sampleId": { - "description": "A client-supplied sample identifier for the reads in this read group.", - "type": "string" - }, - "datasetId": { - "description": "The dataset to which this read group belongs.", - "type": "string" - } - }, - "id": "ReadGroup", - "description": "A read group is all the data that's processed the same way by the sequencer.", - "type": "object" - }, - "ReadGroupSet": { - "id": "ReadGroupSet", - "description": "A read group set is a logical collection of read groups, which are\ncollections of reads produced by a sequencer. A read group set typically\nmodels reads corresponding to one sample, sequenced one way, and aligned one\nway.\n\n* A read group set belongs to one dataset.\n* A read group belongs to one read group set.\n* A read belongs to one read group.\n\nFor more genomics resource definitions, see [Fundamentals of Google\nGenomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)", - "type": "object", - "properties": { - "readGroups": { - "items": { - "$ref": "ReadGroup" - }, - "type": "array", - "description": "The read groups in this set. There are typically 1-10 read groups in a read\ngroup set." - }, - "filename": { - "description": "The filename of the original source file for this read group set, if any.", - "type": "string" - }, - "name": { - "description": "The read group set name. By default this will be initialized to the sample\nname of the sequenced data contained in this set.", - "type": "string" - }, - "referenceSetId": { - "description": "The reference set to which the reads in this read group set are aligned.", - "type": "string" - }, - "info": { - "additionalProperties": { - "items": { - "type": "any" - }, - "type": "array" - }, - "description": "A map of additional read group set information.", - "type": "object" - }, - "id": { - "description": "The server-generated read group set ID, unique for all read group sets.", - "type": "string" - }, - "datasetId": { - "description": "The dataset to which this read group set belongs.", - "type": "string" - } - } - }, - "SearchVariantSetsResponse": { - "description": "The search variant sets response.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "The continuation token, which is used to page through large result sets.\nProvide this value in a subsequent request to return the next page of\nresults. This field will be empty if there aren't any additional results.", - "type": "string" - }, - "variantSets": { - "description": "The variant sets belonging to the requested dataset.", - "items": { - "$ref": "VariantSet" - }, - "type": "array" - } - }, - "id": "SearchVariantSetsResponse" - }, - "Empty": { - "properties": {}, - "id": "Empty", - "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", - "type": "object" - }, - "Entry": { - "properties": { - "annotation": { - "$ref": "Annotation", - "description": "The created annotation, if creation was successful." - }, - "status": { - "$ref": "Status", - "description": "The creation status." - } - }, - "id": "Entry", + "id": "ListDatasetsResponse", + "description": "The dataset list response.", "type": "object" } }, @@ -3809,9 +3813,5 @@ }, "kind": "discovery#restDescription", "description": "Upload, process, query, and search Genomics data in the cloud.", - "servicePath": "", - "rootUrl": "https://genomics.googleapis.com/", - "basePath": "", - "ownerDomain": "google.com", - "name": "genomics" + "servicePath": "" } diff --git a/vendor/google.golang.org/api/genomics/v1/genomics-gen.go b/vendor/google.golang.org/api/genomics/v1/genomics-gen.go index 1bfdd88c9..93ca914a8 100644 --- a/vendor/google.golang.org/api/genomics/v1/genomics-gen.go +++ b/vendor/google.golang.org/api/genomics/v1/genomics-gen.go @@ -1737,8 +1737,8 @@ func (s *MergeVariantsRequest) MarshalJSON() ([]byte, error) { type Operation struct { // Done: If the value is `false`, it means the operation is still in // progress. - // If true, the operation is completed, and either `error` or `response` - // is + // If `true`, the operation is completed, and either `error` or + // `response` is // available. Done bool `json:"done,omitempty"` @@ -1757,7 +1757,7 @@ type Operation struct { // Response: If importing ReadGroupSets, an ImportReadGroupSetsResponse // is returned. If importing Variants, an ImportVariantsResponse is - // returned. For pipelines and exports, an empty response is returned. + // returned. For pipelines and exports, an Empty response is returned. Response googleapi.RawMessage `json:"response,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -3744,9 +3744,9 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in diff --git a/vendor/google.golang.org/api/genomics/v1alpha2/genomics-api.json b/vendor/google.golang.org/api/genomics/v1alpha2/genomics-api.json index 4e9270620..113080f10 100644 --- a/vendor/google.golang.org/api/genomics/v1alpha2/genomics-api.json +++ b/vendor/google.golang.org/api/genomics/v1alpha2/genomics-api.json @@ -1,55 +1,41 @@ { + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/genomics": { + "description": "View and manage Genomics data" + }, + "https://www.googleapis.com/auth/compute": { + "description": "View and manage your Google Compute Engine resources" + }, + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "servicePath": "", + "description": "Upload, process, query, and search Genomics data in the cloud.", + "kind": "discovery#restDescription", + "rootUrl": "https://genomics.googleapis.com/", + "basePath": "", + "ownerDomain": "google.com", + "name": "genomics", + "batchPath": "batch", + "id": "genomics:v1alpha2", + "documentationLink": "https://cloud.google.com/genomics", + "revision": "20170928", + "title": "Genomics API", + "ownerName": "Google", + "discoveryVersion": "v1", "resources": { "pipelines": { "methods": { - "create": { - "request": { - "$ref": "Pipeline" - }, - "description": "Creates a pipeline that can be run later. Create takes a Pipeline that\nhas all fields other than `pipelineId` populated, and then returns\nthe same pipeline with `pipelineId` populated. This id can be used\nto run the pipeline.\n\nCaller must have WRITE permission to the project.", - "response": { - "$ref": "Pipeline" - }, - "parameterOrder": [], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "parameters": {}, - "flatPath": "v1alpha2/pipelines", - "id": "genomics.pipelines.create", - "path": "v1alpha2/pipelines" - }, - "run": { - "id": "genomics.pipelines.run", - "path": "v1alpha2/pipelines:run", - "request": { - "$ref": "RunPipelineRequest" - }, - "description": "Runs a pipeline. If `pipelineId` is specified in the request, then\nrun a saved pipeline. If `ephemeralPipeline` is specified, then run\nthat pipeline once without saving a copy.\n\nThe caller must have READ permission to the project where the pipeline\nis stored and WRITE permission to the project where the pipeline will be\nrun, as VMs will be created and storage will be used.\n\nIf a pipeline operation is still running after 6 days, it will be canceled.", - "response": { - "$ref": "Operation" - }, - "parameterOrder": [], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/genomics" - ], - "parameters": {}, - "flatPath": "v1alpha2/pipelines:run" - }, "get": { - "description": "Retrieves a pipeline based on ID.\n\nCaller must have READ permission to the project.", - "response": { - "$ref": "Pipeline" - }, - "parameterOrder": [ - "pipelineId" + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" ], - "httpMethod": "GET", "parameters": { "pipelineId": { "location": "path", @@ -58,13 +44,17 @@ "required": true } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], "flatPath": "v1alpha2/pipelines/{pipelineId}", "id": "genomics.pipelines.get", - "path": "v1alpha2/pipelines/{pipelineId}" + "path": "v1alpha2/pipelines/{pipelineId}", + "description": "Retrieves a pipeline based on ID.\n\nCaller must have READ permission to the project.", + "response": { + "$ref": "Pipeline" + }, + "parameterOrder": [ + "pipelineId" + ], + "httpMethod": "GET" }, "setOperationStatus": { "httpMethod": "PUT", @@ -86,14 +76,21 @@ "description": "Sets status of a given operation. Any new timestamps (as determined by\ndescription) are appended to TimestampEvents. Should only be called by VMs\ncreated by the Pipelines Service and not by end users." }, "delete": { + "flatPath": "v1alpha2/pipelines/{pipelineId}", + "path": "v1alpha2/pipelines/{pipelineId}", + "id": "genomics.pipelines.delete", "description": "Deletes a pipeline based on ID.\n\nCaller must have WRITE permission to the project.", - "response": { - "$ref": "Empty" - }, + "httpMethod": "DELETE", "parameterOrder": [ "pipelineId" ], - "httpMethod": "DELETE", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], "parameters": { "pipelineId": { "location": "path", @@ -101,16 +98,14 @@ "type": "string", "required": true } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "flatPath": "v1alpha2/pipelines/{pipelineId}", - "id": "genomics.pipelines.delete", - "path": "v1alpha2/pipelines/{pipelineId}" + } }, "getControllerConfig": { + "httpMethod": "GET", + "parameterOrder": [], + "response": { + "$ref": "ControllerConfig" + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/genomics" @@ -130,41 +125,36 @@ "flatPath": "v1alpha2/pipelines:getControllerConfig", "path": "v1alpha2/pipelines:getControllerConfig", "id": "genomics.pipelines.getControllerConfig", - "description": "Gets controller configuration information. Should only be called\nby VMs created by the Pipelines Service and not by end users.", - "httpMethod": "GET", - "response": { - "$ref": "ControllerConfig" - }, - "parameterOrder": [] + "description": "Gets controller configuration information. Should only be called\nby VMs created by the Pipelines Service and not by end users." }, "list": { "description": "Lists pipelines.\n\nCaller must have READ permission to the project.", + "httpMethod": "GET", + "parameterOrder": [], "response": { "$ref": "ListPipelinesResponse" }, - "parameterOrder": [], - "httpMethod": "GET", "parameters": { + "namePrefix": { + "description": "Pipelines with names that match this prefix should be\nreturned. If unspecified, all pipelines in the project, up to\n`pageSize`, will be returned.", + "type": "string", + "location": "query" + }, "pageToken": { - "location": "query", "description": "Token to use to indicate where to start getting results.\nIf unspecified, returns the first page of results.", - "type": "string" + "type": "string", + "location": "query" }, "pageSize": { - "location": "query", "format": "int32", "description": "Number of pipelines to return at once. Defaults to 256, and max\nis 2048.", - "type": "integer" + "type": "integer", + "location": "query" }, "projectId": { "location": "query", "description": "Required. The name of the project to search for pipelines. Caller\nmust have READ access to this project.", "type": "string" - }, - "namePrefix": { - "location": "query", - "description": "Pipelines with names that match this prefix should be\nreturned. If unspecified, all pipelines in the project, up to\n`pageSize`, will be returned.", - "type": "string" } }, "scopes": [ @@ -172,21 +162,135 @@ "https://www.googleapis.com/auth/genomics" ], "flatPath": "v1alpha2/pipelines", - "id": "genomics.pipelines.list", - "path": "v1alpha2/pipelines" + "path": "v1alpha2/pipelines", + "id": "genomics.pipelines.list" + }, + "create": { + "flatPath": "v1alpha2/pipelines", + "path": "v1alpha2/pipelines", + "id": "genomics.pipelines.create", + "description": "Creates a pipeline that can be run later. Create takes a Pipeline that\nhas all fields other than `pipelineId` populated, and then returns\nthe same pipeline with `pipelineId` populated. This id can be used\nto run the pipeline.\n\nCaller must have WRITE permission to the project.", + "request": { + "$ref": "Pipeline" + }, + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "Pipeline" + }, + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ] + }, + "run": { + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/genomics" + ], + "parameters": {}, + "flatPath": "v1alpha2/pipelines:run", + "path": "v1alpha2/pipelines:run", + "id": "genomics.pipelines.run", + "request": { + "$ref": "RunPipelineRequest" + }, + "description": "Runs a pipeline. If `pipelineId` is specified in the request, then\nrun a saved pipeline. If `ephemeralPipeline` is specified, then run\nthat pipeline once without saving a copy.\n\nThe caller must have READ permission to the project where the pipeline\nis stored and WRITE permission to the project where the pipeline will be\nrun, as VMs will be created and storage will be used.\n\nIf a pipeline operation is still running after 6 days, it will be canceled." } } }, "operations": { "methods": { - "cancel": { + "get": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", "parameters": { "name": { + "type": "string", + "required": true, "pattern": "^operations/.+$", + "location": "path", + "description": "The name of the operation resource." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "flatPath": "v1alpha2/operations/{operationsId}", + "id": "genomics.operations.get", + "path": "v1alpha2/{+name}", + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice." + }, + "list": { + "response": { + "$ref": "ListOperationsResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ], + "parameters": { + "filter": { + "location": "query", + "description": "A string for filtering Operations.\nThe following filter fields are supported:\n\n* projectId: Required. Corresponds to\n OperationMetadata.projectId.\n* createTime: The time this job was created, in seconds from the\n [epoch](http://en.wikipedia.org/wiki/Unix_time). Can use `\u003e=` and/or `\u003c=`\n operators.\n* status: Can be `RUNNING`, `SUCCESS`, `FAILURE`, or `CANCELED`. Only\n one status may be specified.\n* labels.key where key is a label key.\n\nExamples:\n\n* `projectId = my-project AND createTime \u003e= 1432140000`\n* `projectId = my-project AND createTime \u003e= 1432140000 AND createTime \u003c= 1432150000 AND status = RUNNING`\n* `projectId = my-project AND labels.color = *`\n* `projectId = my-project AND labels.color = red`", + "type": "string" + }, + "pageToken": { + "location": "query", + "description": "The standard list page token.", + "type": "string" + }, + "name": { + "pattern": "^operations$", + "location": "path", + "description": "The name of the operation's parent resource.", + "type": "string", + "required": true + }, + "pageSize": { + "format": "int32", + "description": "The maximum number of results to return. If unspecified, defaults to\n256. The maximum value is 2048.", + "type": "integer", + "location": "query" + } + }, + "flatPath": "v1alpha2/operations", + "id": "genomics.operations.list", + "path": "v1alpha2/{+name}", + "description": "Lists operations that match the specified filter in the request." + }, + "cancel": { + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Empty" + }, + "parameters": { + "name": { "location": "path", "description": "The name of the operation resource to be cancelled.", "type": "string", - "required": true + "required": true, + "pattern": "^operations/.+$" } }, "scopes": [ @@ -199,160 +303,52 @@ "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. Clients may use Operations.GetOperation or Operations.ListOperations to check whether the cancellation succeeded or the operation completed despite cancellation.", "request": { "$ref": "CancelOperationRequest" - }, - "httpMethod": "POST", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "Empty" } - }, - "get": { - "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "parameters": { - "name": { - "description": "The name of the operation resource.", - "type": "string", - "required": true, - "pattern": "^operations/.+$", - "location": "path" - } - }, - "flatPath": "v1alpha2/operations/{operationsId}", - "id": "genomics.operations.get", - "path": "v1alpha2/{+name}" - }, - "list": { - "parameters": { - "filter": { - "location": "query", - "description": "A string for filtering Operations.\nThe following filter fields are supported:\n\n* projectId: Required. Corresponds to\n OperationMetadata.projectId.\n* createTime: The time this job was created, in seconds from the\n [epoch](http://en.wikipedia.org/wiki/Unix_time). Can use `\u003e=` and/or `\u003c=`\n operators.\n* status: Can be `RUNNING`, `SUCCESS`, `FAILURE`, or `CANCELED`. Only\n one status may be specified.\n* labels.key where key is a label key.\n\nExamples:\n\n* `projectId = my-project AND createTime \u003e= 1432140000`\n* `projectId = my-project AND createTime \u003e= 1432140000 AND createTime \u003c= 1432150000 AND status = RUNNING`\n* `projectId = my-project AND labels.color = *`\n* `projectId = my-project AND labels.color = red`", - "type": "string" - }, - "pageToken": { - "description": "The standard list page token.", - "type": "string", - "location": "query" - }, - "name": { - "description": "The name of the operation's parent resource.", - "type": "string", - "required": true, - "pattern": "^operations$", - "location": "path" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "The maximum number of results to return. If unspecified, defaults to\n256. The maximum value is 2048.", - "type": "integer" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ], - "flatPath": "v1alpha2/operations", - "id": "genomics.operations.list", - "path": "v1alpha2/{+name}", - "description": "Lists operations that match the specified filter in the request.", - "response": { - "$ref": "ListOperationsResponse" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET" } } } }, "parameters": { - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string", - "location": "query" - }, - "access_token": { - "description": "OAuth access token.", - "type": "string", - "location": "query" - }, - "quotaUser": { - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string", - "location": "query" - }, - "pp": { - "location": "query", - "description": "Pretty-print response.", - "default": "true", - "type": "boolean" - }, - "bearer_token": { - "description": "OAuth bearer token.", - "type": "string", - "location": "query" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" - }, "upload_protocol": { "location": "query", "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "type": "string" }, "prettyPrint": { - "location": "query", "description": "Returns response with indentations and line breaks.", "default": "true", - "type": "boolean" - }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "type": "string", + "type": "boolean", "location": "query" }, "uploadType": { + "location": "query", "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string", - "location": "query" + "type": "string" + }, + "fields": { + "location": "query", + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" }, "$.xgafv": { + "location": "query", + "enum": [ + "1", + "2" + ], "description": "V1 error format.", "type": "string", "enumDescriptions": [ "v1 error format", "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" ] }, - "callback": { - "description": "JSONP", - "type": "string", - "location": "query" - }, "alt": { - "description": "Data format for response.", - "default": "json", "enum": [ "json", "media", @@ -364,12 +360,290 @@ "Media download with context-dependent Content-Type", "Responses with Content-Type of application/x-protobuf" ], + "location": "query", + "description": "Data format for response.", + "default": "json" + }, + "access_token": { + "description": "OAuth access token.", + "type": "string", "location": "query" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", + "location": "query" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" + }, + "pp": { + "description": "Pretty-print response.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" } }, "schemas": { + "TimestampEvent": { + "description": "Stores the list of events and times they occured for major events in job\nexecution.", + "type": "object", + "properties": { + "timestamp": { + "format": "google-datetime", + "description": "The time this event occured.", + "type": "string" + }, + "description": { + "description": "String indicating the type of event", + "type": "string" + } + }, + "id": "TimestampEvent" + }, + "LocalCopy": { + "properties": { + "disk": { + "description": "Required. The name of the disk where this parameter is\nlocated. Can be the name of one of the disks specified in the\nResources field, or \"boot\", which represents the Docker\ninstance's boot disk and has a mount point of `/`.", + "type": "string" + }, + "path": { + "description": "Required. The path within the user's docker container where\nthis input should be localized to and from, relative to the specified\ndisk's mount point. For example: file.txt,", + "type": "string" + } + }, + "id": "LocalCopy", + "description": "LocalCopy defines how a remote file should be copied to and from the VM.", + "type": "object" + }, + "DockerExecutor": { + "description": "The Docker execuctor specification.", + "type": "object", + "properties": { + "cmd": { + "description": "Required. The command or newline delimited script to run. The command\nstring will be executed within a bash shell.\n\nIf the command exits with a non-zero exit code, output parameter\nde-localization will be skipped and the pipeline operation's\n`error` field will be populated.\n\nMaximum command string length is 16384.", + "type": "string" + }, + "imageName": { + "description": "Required. Image name from either Docker Hub or Google Container Registry.\nUsers that run pipelines must have READ access to the image.", + "type": "string" + } + }, + "id": "DockerExecutor" + }, + "Disk": { + "description": "A Google Compute Engine disk resource specification.", + "type": "object", + "properties": { + "autoDelete": { + "description": "Deprecated. Disks created by the Pipelines API will be deleted at the end\nof the pipeline run, regardless of what this field is set to.", + "type": "boolean" + }, + "sizeGb": { + "format": "int32", + "description": "The size of the disk. Defaults to 500 (GB).\nThis field is not applicable for local SSD.", + "type": "integer" + }, + "mountPoint": { + "description": "Required at create time and cannot be overridden at run time.\nSpecifies the path in the docker container where files on\nthis disk should be located. For example, if `mountPoint`\nis `/mnt/disk`, and the parameter has `localPath`\n`inputs/file.txt`, the docker container can access the data at\n`/mnt/disk/inputs/file.txt`.", + "type": "string" + }, + "readOnly": { + "description": "Specifies how a sourced-base persistent disk will be mounted. See\nhttps://cloud.google.com/compute/docs/disks/persistent-disks#use_multi_instances\nfor more details.\nCan only be set at create time.", + "type": "boolean" + }, + "source": { + "description": "The full or partial URL of the persistent disk to attach. See\nhttps://cloud.google.com/compute/docs/reference/latest/instances#resource\nand\nhttps://cloud.google.com/compute/docs/disks/persistent-disks#snapshots\nfor more details.", + "type": "string" + }, + "name": { + "description": "Required. The name of the disk that can be used in the pipeline\nparameters. Must be 1 - 63 characters.\nThe name \"boot\" is reserved for system use.", + "type": "string" + }, + "type": { + "enumDescriptions": [ + "Default disk type. Use one of the other options below.", + "Specifies a Google Compute Engine persistent hard disk. See\nhttps://cloud.google.com/compute/docs/disks/#pdspecs for details.", + "Specifies a Google Compute Engine persistent solid-state disk. See\nhttps://cloud.google.com/compute/docs/disks/#pdspecs for details.", + "Specifies a Google Compute Engine local SSD.\nSee https://cloud.google.com/compute/docs/disks/local-ssd for details." + ], + "enum": [ + "TYPE_UNSPECIFIED", + "PERSISTENT_HDD", + "PERSISTENT_SSD", + "LOCAL_SSD" + ], + "description": "Required. The type of the disk to create.", + "type": "string" + } + }, + "id": "Disk" + }, + "Empty": { + "type": "object", + "properties": {}, + "id": "Empty", + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`." + }, + "PipelineParameter": { + "description": "Parameters facilitate setting and delivering data into the\npipeline's execution environment. They are defined at create time,\nwith optional defaults, and can be overridden at run time.\n\nIf `localCopy` is unset, then the parameter specifies a string that\nis passed as-is into the pipeline, as the value of the environment\nvariable with the given name. A default value can be optionally\nspecified at create time. The default can be overridden at run time\nusing the inputs map. If no default is given, a value must be\nsupplied at runtime.\n\nIf `localCopy` is defined, then the parameter specifies a data\nsource or sink, both in Google Cloud Storage and on the Docker container\nwhere the pipeline computation is run. The service account associated with\nthe Pipeline (by\ndefault the project's Compute Engine service account) must have access to the\nGoogle Cloud Storage paths.\n\nAt run time, the Google Cloud Storage paths can be overridden if a default\nwas provided at create time, or must be set otherwise. The pipeline runner\nshould add a key/value pair to either the inputs or outputs map. The\nindicated data copies will be carried out before/after pipeline execution,\njust as if the corresponding arguments were provided to `gsutil cp`.\n\nFor example: Given the following `PipelineParameter`, specified\nin the `inputParameters` list:\n\n```\n{name: \"input_file\", localCopy: {path: \"file.txt\", disk: \"pd1\"}}\n```\n\nwhere `disk` is defined in the `PipelineResources` object as:\n\n```\n{name: \"pd1\", mountPoint: \"/mnt/disk/\"}\n```\n\nWe create a disk named `pd1`, mount it on the host VM, and map\n`/mnt/pd1` to `/mnt/disk` in the docker container. At\nruntime, an entry for `input_file` would be required in the inputs\nmap, such as:\n\n```\n inputs[\"input_file\"] = \"gs://my-bucket/bar.txt\"\n```\n\nThis would generate the following gsutil call:\n\n```\n gsutil cp gs://my-bucket/bar.txt /mnt/pd1/file.txt\n```\n\nThe file `/mnt/pd1/file.txt` maps to `/mnt/disk/file.txt` in the\nDocker container. Acceptable paths are:\n\n\u003ctable\u003e\n \u003cthead\u003e\n \u003ctr\u003e\u003cth\u003eGoogle Cloud storage path\u003c/th\u003e\u003cth\u003eLocal path\u003c/th\u003e\u003c/tr\u003e\n \u003c/thead\u003e\n \u003ctbody\u003e\n \u003ctr\u003e\u003ctd\u003efile\u003c/td\u003e\u003ctd\u003efile\u003c/td\u003e\u003c/tr\u003e\n \u003ctr\u003e\u003ctd\u003eglob\u003c/td\u003e\u003ctd\u003edirectory\u003c/td\u003e\u003c/tr\u003e\n \u003c/tbody\u003e\n\u003c/table\u003e\n\nFor outputs, the direction of the copy is reversed:\n\n```\n gsutil cp /mnt/disk/file.txt gs://my-bucket/bar.txt\n```\n\nAcceptable paths are:\n\n\u003ctable\u003e\n \u003cthead\u003e\n \u003ctr\u003e\u003cth\u003eLocal path\u003c/th\u003e\u003cth\u003eGoogle Cloud Storage path\u003c/th\u003e\u003c/tr\u003e\n \u003c/thead\u003e\n \u003ctbody\u003e\n \u003ctr\u003e\u003ctd\u003efile\u003c/td\u003e\u003ctd\u003efile\u003c/td\u003e\u003c/tr\u003e\n \u003ctr\u003e\n \u003ctd\u003efile\u003c/td\u003e\n \u003ctd\u003edirectory - directory must already exist\u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n \u003ctd\u003eglob\u003c/td\u003e\n \u003ctd\u003edirectory - directory will be created if it doesn't exist\u003c/td\u003e\u003c/tr\u003e\n \u003c/tbody\u003e\n\u003c/table\u003e\n\nOne restriction due to docker limitations, is that for outputs that are found\non the boot disk, the local path cannot be a glob and must be a file.", + "type": "object", + "properties": { + "defaultValue": { + "description": "The default value for this parameter. Can be overridden at runtime.\nIf `localCopy` is present, then this must be a Google Cloud Storage path\nbeginning with `gs://`.", + "type": "string" + }, + "name": { + "type": "string", + "description": "Required. Name of the parameter - the pipeline runner uses this string\nas the key to the input and output maps in RunPipeline." + }, + "description": { + "description": "Human-readable description.", + "type": "string" + }, + "localCopy": { + "$ref": "LocalCopy", + "description": "If present, this parameter is marked for copying to and from the VM.\n`LocalCopy` indicates where on the VM the file should be. The value\ngiven to this parameter (either at runtime or using `defaultValue`)\nmust be the remote path where the file should be." + } + }, + "id": "PipelineParameter" + }, + "LoggingOptions": { + "description": "The logging options for the pipeline run.", + "type": "object", + "properties": { + "gcsPath": { + "description": "The location in Google Cloud Storage to which the pipeline logs\nwill be copied. Can be specified as a fully qualified directory\npath, in which case logs will be output with a unique identifier\nas the filename in that directory, or as a fully specified path,\nwhich must end in `.log`, in which case that path will be\nused, and the user must ensure that logs are not\noverwritten. Stdout and stderr logs from the run are also\ngenerated and output as `-stdout.log` and `-stderr.log`.", + "type": "string" + } + }, + "id": "LoggingOptions" + }, + "RunPipelineRequest": { + "id": "RunPipelineRequest", + "description": "The request to run a pipeline. If `pipelineId` is specified, it\nrefers to a saved pipeline created with CreatePipeline and set as\nthe `pipelineId` of the returned Pipeline object. If\n`ephemeralPipeline` is specified, that pipeline is run once\nwith the given args and not saved. It is an error to specify both\n`pipelineId` and `ephemeralPipeline`. `pipelineArgs`\nmust be specified.", + "type": "object", + "properties": { + "pipelineArgs": { + "$ref": "RunPipelineArgs", + "description": "The arguments to use when running this pipeline." + }, + "pipelineId": { + "description": "The already created pipeline to run.", + "type": "string" + }, + "ephemeralPipeline": { + "description": "A new pipeline object to run once and then delete.", + "$ref": "Pipeline" + } + } + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "type": "object", + "properties": {}, + "id": "CancelOperationRequest" + }, + "RuntimeMetadata": { + "description": "Runtime metadata that will be populated in the\nruntimeMetadata\nfield of the Operation associated with a RunPipeline execution.", + "type": "object", + "properties": { + "computeEngine": { + "$ref": "ComputeEngine", + "description": "Execution information specific to Google Compute Engine." + } + }, + "id": "RuntimeMetadata" + }, + "Operation": { + "properties": { + "done": { + "type": "boolean", + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable." + }, + "response": { + "description": "If importing ReadGroupSets, an ImportReadGroupSetsResponse is returned. If importing Variants, an ImportVariantsResponse is returned. For pipelines and exports, an Empty response is returned.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + } + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. For example: `operations/CJHU7Oi_ChDrveSpBRjfuL-qzoWAgEw`", + "type": "string" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "An OperationMetadata object. This will always be returned with the Operation.", + "type": "object" + } + }, + "id": "Operation", + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "type": "object" + }, + "ImportReadGroupSetsResponse": { + "description": "The read group set import response.", + "type": "object", + "properties": { + "readGroupSetIds": { + "description": "IDs of the read group sets that were created.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "ImportReadGroupSetsResponse" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", + "type": "object", + "properties": { + "code": { + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + } + }, + "id": "Status" + }, "ServiceAccount": { - "id": "ServiceAccount", "description": "A Google Cloud Service Account.", "type": "object", "properties": { @@ -384,19 +658,26 @@ "description": "Email address of the service account. Defaults to `default`,\nwhich uses the compute service account associated with the project.", "type": "string" } - } + }, + "id": "ServiceAccount" }, "Pipeline": { - "description": "The pipeline object. Represents a transformation from a set of input\nparameters to a set of output parameters. The transformation is defined\nas a docker image and command to run within that image. Each pipeline\nis run on a Google Compute Engine VM. A pipeline can be created with the\n`create` method and then later run with the `run` method, or a pipeline can\nbe defined and run all at once with the `run` method.", "type": "object", "properties": { + "inputParameters": { + "description": "Input parameters of the pipeline.", + "items": { + "$ref": "PipelineParameter" + }, + "type": "array" + }, "resources": { - "description": "Required. Specifies resource requirements for the pipeline run.\nRequired fields:\n\n*\nminimumCpuCores\n\n*\nminimumRamGb", - "$ref": "PipelineResources" + "$ref": "PipelineResources", + "description": "Required. Specifies resource requirements for the pipeline run.\nRequired fields:\n\n*\nminimumCpuCores\n\n*\nminimumRamGb" }, "name": { - "description": "Required. A user specified pipeline name that does not have to be unique.\nThis name can be used for filtering Pipelines in ListPipelines.", - "type": "string" + "type": "string", + "description": "Required. A user specified pipeline name that does not have to be unique.\nThis name can be used for filtering Pipelines in ListPipelines." }, "pipelineId": { "description": "Unique pipeline id that is generated by the service when CreatePipeline\nis called. Cannot be specified in the Pipeline used in the\nCreatePipelineRequest, and will be populated in the response to\nCreatePipeline and all subsequent Get and List calls. Indicates that the\nservice has registered this pipeline.", @@ -414,25 +695,18 @@ "type": "array" }, "docker": { - "description": "Specifies the docker run information.", - "$ref": "DockerExecutor" + "$ref": "DockerExecutor", + "description": "Specifies the docker run information." }, "description": { "description": "User-specified description.", "type": "string" - }, - "inputParameters": { - "description": "Input parameters of the pipeline.", - "items": { - "$ref": "PipelineParameter" - }, - "type": "array" } }, - "id": "Pipeline" + "id": "Pipeline", + "description": "The pipeline object. Represents a transformation from a set of input\nparameters to a set of output parameters. The transformation is defined\nas a docker image and command to run within that image. Each pipeline\nis run on a Google Compute Engine VM. A pipeline can be created with the\n`create` method and then later run with the `run` method, or a pipeline can\nbe defined and run all at once with the `run` method." }, "PipelineResources": { - "id": "PipelineResources", "description": "The system resources for the pipeline run.", "type": "object", "properties": { @@ -446,11 +720,11 @@ "type": "boolean" }, "zones": { - "description": "List of Google Compute Engine availability zones to which resource\ncreation will restricted. If empty, any zone may be chosen.", "items": { "type": "string" }, - "type": "array" + "type": "array", + "description": "List of Google Compute Engine availability zones to which resource\ncreation will restricted. If empty, any zone may be chosen." }, "minimumCpuCores": { "format": "int32", @@ -462,18 +736,19 @@ "type": "boolean" }, "disks": { - "description": "Disks to attach.", "items": { "$ref": "Disk" }, - "type": "array" + "type": "array", + "description": "Disks to attach." }, "bootDiskSizeGb": { "format": "int32", "description": "The size of the boot disk. Defaults to 10 (GB).", "type": "integer" } - } + }, + "id": "PipelineResources" }, "OperationEvent": { "description": "An event that occurred during an Operation.", @@ -513,23 +788,23 @@ "type": "string" }, "gcsSources": { - "type": "object", "additionalProperties": { "$ref": "RepeatedString" - } - }, - "gcsSinks": { - "type": "object", - "additionalProperties": { - "$ref": "RepeatedString" - } - }, - "disks": { - "additionalProperties": { - "type": "string" }, "type": "object" }, + "gcsSinks": { + "additionalProperties": { + "$ref": "RepeatedString" + }, + "type": "object" + }, + "disks": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, "machineType": { "type": "string" }, @@ -540,13 +815,11 @@ "id": "ControllerConfig" }, "ListOperationsResponse": { - "id": "ListOperationsResponse", - "description": "The response message for Operations.ListOperations.", "type": "object", "properties": { "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" + "type": "string", + "description": "The standard List next-page token." }, "operations": { "description": "A list of operations that matches the specified filter in the request.", @@ -555,7 +828,9 @@ }, "type": "array" } - } + }, + "id": "ListOperationsResponse", + "description": "The response message for Operations.ListOperations." }, "RepeatedString": { "type": "object", @@ -570,14 +845,13 @@ "id": "RepeatedString" }, "OperationMetadata": { - "id": "OperationMetadata", "description": "Metadata describing an Operation.", "type": "object", "properties": { "startTime": { + "type": "string", "format": "google-datetime", - "description": "The time at which the job began to run.", - "type": "string" + "description": "The time at which the job began to run." }, "request": { "additionalProperties": { @@ -588,12 +862,12 @@ "type": "object" }, "runtimeMetadata": { - "description": "Runtime metadata on this Operation.", - "type": "object", "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" - } + }, + "description": "Runtime metadata on this Operation.", + "type": "object" }, "createTime": { "format": "google-datetime", @@ -601,11 +875,11 @@ "type": "string" }, "labels": { + "description": "Optionally provided by the caller when submitting the request that creates\nthe operation.", + "type": "object", "additionalProperties": { "type": "string" - }, - "description": "Optionally provided by the caller when submitting the request that creates\nthe operation.", - "type": "object" + } }, "projectId": { "description": "The Google Cloud Project in which the job is scoped.", @@ -616,9 +890,9 @@ "type": "string" }, "endTime": { + "type": "string", "format": "google-datetime", - "description": "The time at which the job stopped running.", - "type": "string" + "description": "The time at which the job stopped running." }, "events": { "description": "Optional event messages that were generated during the job's execution.\nThis also contains any warnings that were generated during import\nor export.", @@ -627,63 +901,10 @@ }, "type": "array" } - } - }, - "RunPipelineArgs": { - "id": "RunPipelineArgs", - "description": "The pipeline run arguments.", - "type": "object", - "properties": { - "projectId": { - "description": "Required. The project in which to run the pipeline. The caller must have\nWRITER access to all Google Cloud services and resources (e.g. Google\nCompute Engine) will be used.", - "type": "string" - }, - "clientId": { - "description": "This field is deprecated. Use `labels` instead. Client-specified pipeline\noperation identifier.", - "type": "string" - }, - "inputs": { - "description": "Pipeline input arguments; keys are defined in the pipeline documentation.\nAll input parameters that do not have default values must be specified.\nIf parameters with defaults are specified here, the defaults will be\noverridden.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "serviceAccount": { - "$ref": "ServiceAccount", - "description": "The Google Cloud Service Account that will be used to access data and\nservices. By default, the compute service account associated with\n`projectId` is used." - }, - "labels": { - "description": "Labels to apply to this pipeline run. Labels will also be applied to\ncompute resources (VM, disks) created by this pipeline run. When listing\noperations, operations can filtered by labels.\nLabel keys may not be empty; label values may be empty. Non-empty labels\nmust be 1-63 characters long, and comply with [RFC1035]\n(https://www.ietf.org/rfc/rfc1035.txt).\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.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "logging": { - "$ref": "LoggingOptions", - "description": "Required. Logging options. Used by the service to communicate results\nto the user." - }, - "keepVmAliveOnFailureDuration": { - "format": "google-duration", - "description": "How long to keep the VM up after a failure (for example docker command\nfailed, copying input or output files failed, etc). While the VM is up, one\ncan ssh into the VM to debug. Default is 0; maximum allowed value is 1 day.", - "type": "string" - }, - "resources": { - "description": "Specifies resource requirements/overrides for the pipeline run.", - "$ref": "PipelineResources" - }, - "outputs": { - "description": "Pipeline output arguments; keys are defined in the pipeline\ndocumentation. All output parameters of without default values\nmust be specified. If parameters with defaults are specified\nhere, the defaults will be overridden.", - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } + }, + "id": "OperationMetadata" }, "ListPipelinesResponse": { - "id": "ListPipelinesResponse", "description": "The response of ListPipelines. Contains at most `pageSize`\npipelines. If it contains `pageSize` pipelines, and more pipelines\nexist, then `nextPageToken` will be populated and should be\nused as the `pageToken` argument to a subsequent ListPipelines\nrequest.", "type": "object", "properties": { @@ -698,13 +919,84 @@ }, "type": "array" } - } + }, + "id": "ListPipelinesResponse" + }, + "RunPipelineArgs": { + "properties": { + "clientId": { + "type": "string", + "description": "This field is deprecated. Use `labels` instead. Client-specified pipeline\noperation identifier." + }, + "inputs": { + "additionalProperties": { + "type": "string" + }, + "description": "Pipeline input arguments; keys are defined in the pipeline documentation.\nAll input parameters that do not have default values must be specified.\nIf parameters with defaults are specified here, the defaults will be\noverridden.", + "type": "object" + }, + "serviceAccount": { + "$ref": "ServiceAccount", + "description": "The Google Cloud Service Account that will be used to access data and\nservices. By default, the compute service account associated with\n`projectId` is used." + }, + "logging": { + "description": "Required. Logging options. Used by the service to communicate results\nto the user.", + "$ref": "LoggingOptions" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels to apply to this pipeline run. Labels will also be applied to\ncompute resources (VM, disks) created by this pipeline run. When listing\noperations, operations can filtered by labels.\nLabel keys may not be empty; label values may be empty. Non-empty labels\nmust be 1-63 characters long, and comply with [RFC1035]\n(https://www.ietf.org/rfc/rfc1035.txt).\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.", + "type": "object" + }, + "keepVmAliveOnFailureDuration": { + "format": "google-duration", + "description": "How long to keep the VM up after a failure (for example docker command\nfailed, copying input or output files failed, etc). While the VM is up, one\ncan ssh into the VM to debug. Default is 0; maximum allowed value is 1 day.", + "type": "string" + }, + "resources": { + "$ref": "PipelineResources", + "description": "Specifies resource requirements/overrides for the pipeline run." + }, + "outputs": { + "additionalProperties": { + "type": "string" + }, + "description": "Pipeline output arguments; keys are defined in the pipeline\ndocumentation. All output parameters of without default values\nmust be specified. If parameters with defaults are specified\nhere, the defaults will be overridden.", + "type": "object" + }, + "projectId": { + "description": "Required. The project in which to run the pipeline. The caller must have\nWRITER access to all Google Cloud services and resources (e.g. Google\nCompute Engine) will be used.", + "type": "string" + } + }, + "id": "RunPipelineArgs", + "description": "The pipeline run arguments.", + "type": "object" }, "SetOperationStatusRequest": { - "description": "Request to set operation status. Should only be used by VMs\ncreated by the Pipelines Service and not by end users.", - "type": "object", "properties": { "errorCode": { + "enum": [ + "OK", + "CANCELLED", + "UNKNOWN", + "INVALID_ARGUMENT", + "DEADLINE_EXCEEDED", + "NOT_FOUND", + "ALREADY_EXISTS", + "PERMISSION_DENIED", + "UNAUTHENTICATED", + "RESOURCE_EXHAUSTED", + "FAILED_PRECONDITION", + "ABORTED", + "OUT_OF_RANGE", + "UNIMPLEMENTED", + "INTERNAL", + "UNAVAILABLE", + "DATA_LOSS" + ], "type": "string", "enumDescriptions": [ "Not an error; returned on success\n\nHTTP Mapping: 200 OK", @@ -724,25 +1016,6 @@ "Internal errors. This means that some invariants expected by the\nunderlying system have been broken. This error code is reserved\nfor serious errors.\n\nHTTP Mapping: 500 Internal Server Error", "The service is currently unavailable. This is most likely a\ntransient condition, which can be corrected by retrying with\na backoff.\n\nSee the guidelines above for deciding between `FAILED_PRECONDITION`,\n`ABORTED`, and `UNAVAILABLE`.\n\nHTTP Mapping: 503 Service Unavailable", "Unrecoverable data loss or corruption.\n\nHTTP Mapping: 500 Internal Server Error" - ], - "enum": [ - "OK", - "CANCELLED", - "UNKNOWN", - "INVALID_ARGUMENT", - "DEADLINE_EXCEEDED", - "NOT_FOUND", - "ALREADY_EXISTS", - "PERMISSION_DENIED", - "UNAUTHENTICATED", - "RESOURCE_EXHAUSTED", - "FAILED_PRECONDITION", - "ABORTED", - "OUT_OF_RANGE", - "UNIMPLEMENTED", - "INTERNAL", - "UNAVAILABLE", - "DATA_LOSS" ] }, "timestampEvents": { @@ -762,34 +1035,17 @@ "type": "string" } }, - "id": "SetOperationStatusRequest" - }, - "ImportVariantsResponse": { - "id": "ImportVariantsResponse", - "description": "The variant data import response.", - "type": "object", - "properties": { - "callSetIds": { - "description": "IDs of the call sets created during the import.", - "items": { - "type": "string" - }, - "type": "array" - } - } + "id": "SetOperationStatusRequest", + "description": "Request to set operation status. Should only be used by VMs\ncreated by the Pipelines Service and not by end users.", + "type": "object" }, "ComputeEngine": { - "id": "ComputeEngine", "description": "Describes a Compute Engine resource that is being managed by a running\npipeline.", "type": "object", "properties": { - "instanceName": { - "description": "The instance on which the operation is running.", - "type": "string" - }, "zone": { - "description": "The availability zone in which the instance resides.", - "type": "string" + "type": "string", + "description": "The availability zone in which the instance resides." }, "diskNames": { "description": "The names of the disks that were created for this pipeline.", @@ -801,290 +1057,34 @@ "machineType": { "description": "The machine type of the instance.", "type": "string" - } - } - }, - "TimestampEvent": { - "id": "TimestampEvent", - "description": "Stores the list of events and times they occured for major events in job\nexecution.", - "type": "object", - "properties": { - "timestamp": { - "format": "google-datetime", - "description": "The time this event occured.", - "type": "string" }, - "description": { - "description": "String indicating the type of event", - "type": "string" - } - } - }, - "LocalCopy": { - "id": "LocalCopy", - "description": "LocalCopy defines how a remote file should be copied to and from the VM.", - "type": "object", - "properties": { - "disk": { - "description": "Required. The name of the disk where this parameter is\nlocated. Can be the name of one of the disks specified in the\nResources field, or \"boot\", which represents the Docker\ninstance's boot disk and has a mount point of `/`.", - "type": "string" - }, - "path": { - "description": "Required. The path within the user's docker container where\nthis input should be localized to and from, relative to the specified\ndisk's mount point. For example: file.txt,", - "type": "string" - } - } - }, - "DockerExecutor": { - "id": "DockerExecutor", - "description": "The Docker execuctor specification.", - "type": "object", - "properties": { - "cmd": { - "description": "Required. The command or newline delimited script to run. The command\nstring will be executed within a bash shell.\n\nIf the command exits with a non-zero exit code, output parameter\nde-localization will be skipped and the pipeline operation's\n`error` field will be populated.\n\nMaximum command string length is 16384.", - "type": "string" - }, - "imageName": { - "description": "Required. Image name from either Docker Hub or Google Container Registry.\nUsers that run pipelines must have READ access to the image.", - "type": "string" - } - } - }, - "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", - "type": "object", - "properties": {}, - "id": "Empty" - }, - "Disk": { - "description": "A Google Compute Engine disk resource specification.", - "type": "object", - "properties": { - "mountPoint": { - "description": "Required at create time and cannot be overridden at run time.\nSpecifies the path in the docker container where files on\nthis disk should be located. For example, if `mountPoint`\nis `/mnt/disk`, and the parameter has `localPath`\n`inputs/file.txt`, the docker container can access the data at\n`/mnt/disk/inputs/file.txt`.", - "type": "string" - }, - "readOnly": { - "description": "Specifies how a sourced-base persistent disk will be mounted. See\nhttps://cloud.google.com/compute/docs/disks/persistent-disks#use_multi_instances\nfor more details.\nCan only be set at create time.", - "type": "boolean" - }, - "source": { - "description": "The full or partial URL of the persistent disk to attach. See\nhttps://cloud.google.com/compute/docs/reference/latest/instances#resource\nand\nhttps://cloud.google.com/compute/docs/disks/persistent-disks#snapshots\nfor more details.", - "type": "string" - }, - "name": { - "description": "Required. The name of the disk that can be used in the pipeline\nparameters. Must be 1 - 63 characters.\nThe name \"boot\" is reserved for system use.", - "type": "string" - }, - "type": { - "enumDescriptions": [ - "Default disk type. Use one of the other options below.", - "Specifies a Google Compute Engine persistent hard disk. See\nhttps://cloud.google.com/compute/docs/disks/#pdspecs for details.", - "Specifies a Google Compute Engine persistent solid-state disk. See\nhttps://cloud.google.com/compute/docs/disks/#pdspecs for details.", - "Specifies a Google Compute Engine local SSD.\nSee https://cloud.google.com/compute/docs/disks/local-ssd for details." - ], - "enum": [ - "TYPE_UNSPECIFIED", - "PERSISTENT_HDD", - "PERSISTENT_SSD", - "LOCAL_SSD" - ], - "description": "Required. The type of the disk to create.", - "type": "string" - }, - "autoDelete": { - "description": "Deprecated. Disks created by the Pipelines API will be deleted at the end\nof the pipeline run, regardless of what this field is set to.", - "type": "boolean" - }, - "sizeGb": { - "format": "int32", - "description": "The size of the disk. Defaults to 500 (GB).\nThis field is not applicable for local SSD.", - "type": "integer" + "instanceName": { + "type": "string", + "description": "The instance on which the operation is running." } }, - "id": "Disk" + "id": "ComputeEngine" }, - "PipelineParameter": { - "description": "Parameters facilitate setting and delivering data into the\npipeline's execution environment. They are defined at create time,\nwith optional defaults, and can be overridden at run time.\n\nIf `localCopy` is unset, then the parameter specifies a string that\nis passed as-is into the pipeline, as the value of the environment\nvariable with the given name. A default value can be optionally\nspecified at create time. The default can be overridden at run time\nusing the inputs map. If no default is given, a value must be\nsupplied at runtime.\n\nIf `localCopy` is defined, then the parameter specifies a data\nsource or sink, both in Google Cloud Storage and on the Docker container\nwhere the pipeline computation is run. The service account associated with\nthe Pipeline (by\ndefault the project's Compute Engine service account) must have access to the\nGoogle Cloud Storage paths.\n\nAt run time, the Google Cloud Storage paths can be overridden if a default\nwas provided at create time, or must be set otherwise. The pipeline runner\nshould add a key/value pair to either the inputs or outputs map. The\nindicated data copies will be carried out before/after pipeline execution,\njust as if the corresponding arguments were provided to `gsutil cp`.\n\nFor example: Given the following `PipelineParameter`, specified\nin the `inputParameters` list:\n\n```\n{name: \"input_file\", localCopy: {path: \"file.txt\", disk: \"pd1\"}}\n```\n\nwhere `disk` is defined in the `PipelineResources` object as:\n\n```\n{name: \"pd1\", mountPoint: \"/mnt/disk/\"}\n```\n\nWe create a disk named `pd1`, mount it on the host VM, and map\n`/mnt/pd1` to `/mnt/disk` in the docker container. At\nruntime, an entry for `input_file` would be required in the inputs\nmap, such as:\n\n```\n inputs[\"input_file\"] = \"gs://my-bucket/bar.txt\"\n```\n\nThis would generate the following gsutil call:\n\n```\n gsutil cp gs://my-bucket/bar.txt /mnt/pd1/file.txt\n```\n\nThe file `/mnt/pd1/file.txt` maps to `/mnt/disk/file.txt` in the\nDocker container. Acceptable paths are:\n\n\u003ctable\u003e\n \u003cthead\u003e\n \u003ctr\u003e\u003cth\u003eGoogle Cloud storage path\u003c/th\u003e\u003cth\u003eLocal path\u003c/th\u003e\u003c/tr\u003e\n \u003c/thead\u003e\n \u003ctbody\u003e\n \u003ctr\u003e\u003ctd\u003efile\u003c/td\u003e\u003ctd\u003efile\u003c/td\u003e\u003c/tr\u003e\n \u003ctr\u003e\u003ctd\u003eglob\u003c/td\u003e\u003ctd\u003edirectory\u003c/td\u003e\u003c/tr\u003e\n \u003c/tbody\u003e\n\u003c/table\u003e\n\nFor outputs, the direction of the copy is reversed:\n\n```\n gsutil cp /mnt/disk/file.txt gs://my-bucket/bar.txt\n```\n\nAcceptable paths are:\n\n\u003ctable\u003e\n \u003cthead\u003e\n \u003ctr\u003e\u003cth\u003eLocal path\u003c/th\u003e\u003cth\u003eGoogle Cloud Storage path\u003c/th\u003e\u003c/tr\u003e\n \u003c/thead\u003e\n \u003ctbody\u003e\n \u003ctr\u003e\u003ctd\u003efile\u003c/td\u003e\u003ctd\u003efile\u003c/td\u003e\u003c/tr\u003e\n \u003ctr\u003e\n \u003ctd\u003efile\u003c/td\u003e\n \u003ctd\u003edirectory - directory must already exist\u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n \u003ctd\u003eglob\u003c/td\u003e\n \u003ctd\u003edirectory - directory will be created if it doesn't exist\u003c/td\u003e\u003c/tr\u003e\n \u003c/tbody\u003e\n\u003c/table\u003e\n\nOne restriction due to docker limitations, is that for outputs that are found\non the boot disk, the local path cannot be a glob and must be a file.", + "ImportVariantsResponse": { + "description": "The variant data import response.", "type": "object", "properties": { - "name": { - "description": "Required. Name of the parameter - the pipeline runner uses this string\nas the key to the input and output maps in RunPipeline.", - "type": "string" - }, - "description": { - "description": "Human-readable description.", - "type": "string" - }, - "localCopy": { - "$ref": "LocalCopy", - "description": "If present, this parameter is marked for copying to and from the VM.\n`LocalCopy` indicates where on the VM the file should be. The value\ngiven to this parameter (either at runtime or using `defaultValue`)\nmust be the remote path where the file should be." - }, - "defaultValue": { - "description": "The default value for this parameter. Can be overridden at runtime.\nIf `localCopy` is present, then this must be a Google Cloud Storage path\nbeginning with `gs://`.", - "type": "string" - } - }, - "id": "PipelineParameter" - }, - "LoggingOptions": { - "id": "LoggingOptions", - "description": "The logging options for the pipeline run.", - "type": "object", - "properties": { - "gcsPath": { - "description": "The location in Google Cloud Storage to which the pipeline logs\nwill be copied. Can be specified as a fully qualified directory\npath, in which case logs will be output with a unique identifier\nas the filename in that directory, or as a fully specified path,\nwhich must end in `.log`, in which case that path will be\nused, and the user must ensure that logs are not\noverwritten. Stdout and stderr logs from the run are also\ngenerated and output as `-stdout.log` and `-stderr.log`.", - "type": "string" - } - } - }, - "RunPipelineRequest": { - "description": "The request to run a pipeline. If `pipelineId` is specified, it\nrefers to a saved pipeline created with CreatePipeline and set as\nthe `pipelineId` of the returned Pipeline object. If\n`ephemeralPipeline` is specified, that pipeline is run once\nwith the given args and not saved. It is an error to specify both\n`pipelineId` and `ephemeralPipeline`. `pipelineArgs`\nmust be specified.", - "type": "object", - "properties": { - "pipelineArgs": { - "$ref": "RunPipelineArgs", - "description": "The arguments to use when running this pipeline." - }, - "pipelineId": { - "description": "The already created pipeline to run.", - "type": "string" - }, - "ephemeralPipeline": { - "description": "A new pipeline object to run once and then delete.", - "$ref": "Pipeline" - } - }, - "id": "RunPipelineRequest" - }, - "CancelOperationRequest": { - "description": "The request message for Operations.CancelOperation.", - "type": "object", - "properties": {}, - "id": "CancelOperationRequest" - }, - "RuntimeMetadata": { - "id": "RuntimeMetadata", - "description": "Runtime metadata that will be populated in the\nruntimeMetadata\nfield of the Operation associated with a RunPipeline execution.", - "type": "object", - "properties": { - "computeEngine": { - "description": "Execution information specific to Google Compute Engine.", - "$ref": "ComputeEngine" - } - } - }, - "Operation": { - "id": "Operation", - "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", - "type": "object", - "properties": { - "name": { - "description": "The server-assigned name, which is only unique within the same service that originally returns it. For example: `operations/CJHU7Oi_ChDrveSpBRjfuL-qzoWAgEw`", - "type": "string" - }, - "error": { - "description": "The error result of the operation in case of failure or cancellation.", - "$ref": "Status" - }, - "metadata": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "An OperationMetadata object. This will always be returned with the Operation.", - "type": "object" - }, - "done": { - "description": "If the value is `false`, it means the operation is still in progress.\nIf true, the operation is completed, and either `error` or `response` is\navailable.", - "type": "boolean" - }, - "response": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "If importing ReadGroupSets, an ImportReadGroupSetsResponse is returned. If importing Variants, an ImportVariantsResponse is returned. For pipelines and exports, an empty response is returned.", - "type": "object" - } - } - }, - "ImportReadGroupSetsResponse": { - "description": "The read group set import response.", - "type": "object", - "properties": { - "readGroupSetIds": { - "description": "IDs of the read group sets that were created.", + "callSetIds": { + "description": "IDs of the call sets created during the import.", "items": { "type": "string" }, "type": "array" } }, - "id": "ImportReadGroupSetsResponse" - }, - "Status": { - "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", - "type": "object", - "properties": { - "message": { - "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", - "type": "string" - }, - "details": { - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", - "items": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "type": "object" - }, - "type": "array" - }, - "code": { - "format": "int32", - "description": "The status code, which should be an enum value of google.rpc.Code.", - "type": "integer" - } - }, - "id": "Status" + "id": "ImportVariantsResponse" } }, "protocol": "rest", "icons": { - "x32": "http://www.google.com/images/icons/product/search-32.gif", - "x16": "http://www.google.com/images/icons/product/search-16.gif" + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "version": "v1alpha2", - "baseUrl": "https://genomics.googleapis.com/", - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/genomics": { - "description": "View and manage Genomics data" - }, - "https://www.googleapis.com/auth/compute": { - "description": "View and manage your Google Compute Engine resources" - }, - "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" - } - } - } - }, - "kind": "discovery#restDescription", - "description": "Upload, process, query, and search Genomics data in the cloud.", - "servicePath": "", - "rootUrl": "https://genomics.googleapis.com/", - "basePath": "", - "ownerDomain": "google.com", - "name": "genomics", - "batchPath": "batch", - "revision": "20170704", - "documentationLink": "https://cloud.google.com/genomics", - "id": "genomics:v1alpha2", - "title": "Genomics API", - "discoveryVersion": "v1", - "ownerName": "Google" + "baseUrl": "https://genomics.googleapis.com/" } diff --git a/vendor/google.golang.org/api/genomics/v1alpha2/genomics-gen.go b/vendor/google.golang.org/api/genomics/v1alpha2/genomics-gen.go index 51ce308ca..e885237c2 100644 --- a/vendor/google.golang.org/api/genomics/v1alpha2/genomics-gen.go +++ b/vendor/google.golang.org/api/genomics/v1alpha2/genomics-gen.go @@ -561,8 +561,8 @@ func (s *LoggingOptions) MarshalJSON() ([]byte, error) { type Operation struct { // Done: If the value is `false`, it means the operation is still in // progress. - // If true, the operation is completed, and either `error` or `response` - // is + // If `true`, the operation is completed, and either `error` or + // `response` is // available. Done bool `json:"done,omitempty"` @@ -581,7 +581,7 @@ type Operation struct { // Response: If importing ReadGroupSets, an ImportReadGroupSetsResponse // is returned. If importing Variants, an ImportVariantsResponse is - // returned. For pipelines and exports, an empty response is returned. + // returned. For pipelines and exports, an Empty response is returned. Response googleapi.RawMessage `json:"response,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -1560,9 +1560,9 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in diff --git a/vendor/google.golang.org/api/gensupport/media.go b/vendor/google.golang.org/api/gensupport/media.go index c6410e89a..f3e77fc52 100644 --- a/vendor/google.golang.org/api/gensupport/media.go +++ b/vendor/google.golang.org/api/gensupport/media.go @@ -174,26 +174,126 @@ func typeHeader(contentType string) textproto.MIMEHeader { // PrepareUpload determines whether the data in the supplied reader should be // uploaded in a single request, or in sequential chunks. // chunkSize is the size of the chunk that media should be split into. -// If chunkSize is non-zero and the contents of media do not fit in a single -// chunk (or there is an error reading media), then media will be returned as a -// MediaBuffer. Otherwise, media will be returned as a Reader. +// +// If chunkSize is zero, media is returned as the first value, and the other +// two return values are nil, true. +// +// Otherwise, a MediaBuffer is returned, along with a bool indicating whether the +// contents of media fit in a single chunk. // // After PrepareUpload has been called, media should no longer be used: the // media content should be accessed via one of the return values. -func PrepareUpload(media io.Reader, chunkSize int) (io.Reader, *MediaBuffer) { +func PrepareUpload(media io.Reader, chunkSize int) (r io.Reader, mb *MediaBuffer, singleChunk bool) { if chunkSize == 0 { // do not chunk - return media, nil + return media, nil, true + } + mb = NewMediaBuffer(media, chunkSize) + _, _, _, err := mb.Chunk() + // If err is io.EOF, we can upload this in a single request. Otherwise, err is + // either nil or a non-EOF error. If it is the latter, then the next call to + // mb.Chunk will return the same error. Returning a MediaBuffer ensures that this + // error will be handled at some point. + return nil, mb, err == io.EOF +} + +// MediaInfo holds information for media uploads. It is intended for use by generated +// code only. +type MediaInfo struct { + // At most one of Media and MediaBuffer will be set. + media io.Reader + buffer *MediaBuffer + singleChunk bool + mType string + size int64 // mediaSize, if known. Used only for calls to progressUpdater_. + progressUpdater googleapi.ProgressUpdater +} + +// NewInfoFromMedia should be invoked from the Media method of a call. It returns a +// MediaInfo populated with chunk size and content type, and a reader or MediaBuffer +// if needed. +func NewInfoFromMedia(r io.Reader, options []googleapi.MediaOption) *MediaInfo { + mi := &MediaInfo{} + opts := googleapi.ProcessMediaOptions(options) + if !opts.ForceEmptyContentType { + r, mi.mType = DetermineContentType(r, opts.ContentType) + } + mi.media, mi.buffer, mi.singleChunk = PrepareUpload(r, opts.ChunkSize) + return mi +} + +// NewInfoFromResumableMedia should be invoked from the ResumableMedia method of a +// call. It returns a MediaInfo using the given reader, size and media type. +func NewInfoFromResumableMedia(r io.ReaderAt, size int64, mediaType string) *MediaInfo { + rdr := ReaderAtToReader(r, size) + rdr, mType := DetermineContentType(rdr, mediaType) + return &MediaInfo{ + size: size, + mType: mType, + buffer: NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize), + media: nil, + singleChunk: false, + } +} + +func (mi *MediaInfo) SetProgressUpdater(pu googleapi.ProgressUpdater) { + if mi != nil { + mi.progressUpdater = pu + } +} + +// UploadType determines the type of upload: a single request, or a resumable +// series of requests. +func (mi *MediaInfo) UploadType() string { + if mi.singleChunk { + return "multipart" + } + return "resumable" +} + +// UploadRequest sets up an HTTP request for media upload. It adds headers +// as necessary, and returns a replacement for the body. +func (mi *MediaInfo) UploadRequest(reqHeaders http.Header, body io.Reader) (newBody io.Reader, cleanup func()) { + cleanup = func() {} + if mi == nil { + return body, cleanup + } + var media io.Reader + if mi.media != nil { + // This only happens when the caller has turned off chunking. In that + // case, we write all of media in a single non-retryable request. + media = mi.media + } else if mi.singleChunk { + // The data fits in a single chunk, which has now been read into the MediaBuffer. + // We obtain that chunk so we can write it in a single request. The request can + // be retried because the data is stored in the MediaBuffer. + media, _, _, _ = mi.buffer.Chunk() + } + if media != nil { + combined, ctype := CombineBodyMedia(body, "application/json", media, mi.mType) + cleanup = func() { combined.Close() } + reqHeaders.Set("Content-Type", ctype) + body = combined + } + if mi.buffer != nil && mi.mType != "" && !mi.singleChunk { + reqHeaders.Set("X-Upload-Content-Type", mi.mType) + } + return body, cleanup +} + +// ResumableUpload returns an appropriately configured ResumableUpload value if the +// upload is resumable, or nil otherwise. +func (mi *MediaInfo) ResumableUpload(locURI string) *ResumableUpload { + if mi == nil || mi.singleChunk { + return nil + } + return &ResumableUpload{ + URI: locURI, + Media: mi.buffer, + MediaType: mi.mType, + Callback: func(curr int64) { + if mi.progressUpdater != nil { + mi.progressUpdater(curr, mi.size) + } + }, } - - mb := NewMediaBuffer(media, chunkSize) - rdr, _, _, err := mb.Chunk() - - if err == io.EOF { // we can upload this in a single request - return rdr, nil - } - // err might be a non-EOF error. If it is, the next call to mb.Chunk will - // return the same error. Returning a MediaBuffer ensures that this error - // will be handled at some point. - - return nil, mb } diff --git a/vendor/google.golang.org/api/gensupport/media_test.go b/vendor/google.golang.org/api/gensupport/media_test.go index f0dd36499..9112721ac 100644 --- a/vendor/google.golang.org/api/gensupport/media_test.go +++ b/vendor/google.golang.org/api/gensupport/media_test.go @@ -8,8 +8,12 @@ import ( "bytes" "io" "io/ioutil" + "net/http" "reflect" + "strings" "testing" + + "google.golang.org/api/googleapi" ) func TestContentSniffing(t *testing.T) { @@ -140,3 +144,195 @@ func TestDetermineContentType(t *testing.T) { } } } + +func TestNewInfoFromMedia(t *testing.T) { + const textType = "text/plain; charset=utf-8" + for _, test := range []struct { + desc string + r io.Reader + opts []googleapi.MediaOption + wantType string + wantMedia, wantBuffer, wantSingleChunk bool + }{ + { + desc: "an empty reader results in a MediaBuffer with a single, empty chunk", + r: new(bytes.Buffer), + opts: nil, + wantType: textType, + wantBuffer: true, + wantSingleChunk: true, + }, + { + desc: "ContentType is observed", + r: new(bytes.Buffer), + opts: []googleapi.MediaOption{googleapi.ContentType("xyz")}, + wantType: "xyz", + wantBuffer: true, + wantSingleChunk: true, + }, + { + desc: "chunk size of zero: don't use a MediaBuffer; upload as a single chunk", + r: strings.NewReader("12345"), + opts: []googleapi.MediaOption{googleapi.ChunkSize(0)}, + wantType: textType, + wantMedia: true, + wantSingleChunk: true, + }, + { + desc: "chunk size > data size: MediaBuffer with single chunk", + r: strings.NewReader("12345"), + opts: []googleapi.MediaOption{googleapi.ChunkSize(100)}, + wantType: textType, + wantBuffer: true, + wantSingleChunk: true, + }, + { + desc: "chunk size == data size: MediaBuffer with single chunk", + r: &nullReader{googleapi.MinUploadChunkSize}, + opts: []googleapi.MediaOption{googleapi.ChunkSize(1)}, + wantType: "application/octet-stream", + wantBuffer: true, + wantSingleChunk: true, + }, + { + desc: "chunk size < data size: MediaBuffer, not single chunk", + // Note that ChunkSize = 1 is rounded up to googleapi.MinUploadChunkSize. + r: &nullReader{2 * googleapi.MinUploadChunkSize}, + opts: []googleapi.MediaOption{googleapi.ChunkSize(1)}, + wantType: "application/octet-stream", + wantBuffer: true, + wantSingleChunk: false, + }, + } { + + mi := NewInfoFromMedia(test.r, test.opts) + if got, want := mi.mType, test.wantType; got != want { + t.Errorf("%s: type: got %q, want %q", test.desc, got, want) + } + if got, want := (mi.media != nil), test.wantMedia; got != want { + t.Errorf("%s: media non-nil: got %t, want %t", test.desc, got, want) + } + if got, want := (mi.buffer != nil), test.wantBuffer; got != want { + t.Errorf("%s: buffer non-nil: got %t, want %t", test.desc, got, want) + } + if got, want := mi.singleChunk, test.wantSingleChunk; got != want { + t.Errorf("%s: singleChunk: got %t, want %t", test.desc, got, want) + } + } +} + +func TestUploadRequest(t *testing.T) { + for _, test := range []struct { + desc string + r io.Reader + chunkSize int + wantContentType string + wantUploadType string + }{ + { + desc: "chunk size of zero: don't use a MediaBuffer; upload as a single chunk", + r: strings.NewReader("12345"), + chunkSize: 0, + wantContentType: "multipart/related;", + }, + { + desc: "chunk size > data size: MediaBuffer with single chunk", + r: strings.NewReader("12345"), + chunkSize: 100, + wantContentType: "multipart/related;", + }, + { + desc: "chunk size == data size: MediaBuffer with single chunk", + r: &nullReader{googleapi.MinUploadChunkSize}, + chunkSize: 1, + wantContentType: "multipart/related;", + }, + { + desc: "chunk size < data size: MediaBuffer, not single chunk", + // Note that ChunkSize = 1 is rounded up to googleapi.MinUploadChunkSize. + r: &nullReader{2 * googleapi.MinUploadChunkSize}, + chunkSize: 1, + wantUploadType: "application/octet-stream", + }, + } { + mi := NewInfoFromMedia(test.r, []googleapi.MediaOption{googleapi.ChunkSize(test.chunkSize)}) + h := http.Header{} + mi.UploadRequest(h, new(bytes.Buffer)) + if got, want := h.Get("Content-Type"), test.wantContentType; !strings.HasPrefix(got, want) { + t.Errorf("%s: Content-Type: got %q, want prefix %q", test.desc, got, want) + } + if got, want := h.Get("X-Upload-Content-Type"), test.wantUploadType; got != want { + t.Errorf("%s: X-Upload-Content-Type: got %q, want %q", test.desc, got, want) + } + } +} + +func TestResumableUpload(t *testing.T) { + for _, test := range []struct { + desc string + r io.Reader + chunkSize int + wantUploadType string + wantResumableUpload bool + }{ + + { + desc: "chunk size of zero: don't use a MediaBuffer; upload as a single chunk", + r: strings.NewReader("12345"), + chunkSize: 0, + wantUploadType: "multipart", + wantResumableUpload: false, + }, + { + desc: "chunk size > data size: MediaBuffer with single chunk", + r: strings.NewReader("12345"), + chunkSize: 100, + wantUploadType: "multipart", + wantResumableUpload: false, + }, + { + desc: "chunk size == data size: MediaBuffer with single chunk", + // (Because nullReader returns EOF with the last bytes.) + r: &nullReader{googleapi.MinUploadChunkSize}, + chunkSize: googleapi.MinUploadChunkSize, + wantUploadType: "multipart", + wantResumableUpload: false, + }, + { + desc: "chunk size < data size: MediaBuffer, not single chunk", + // Note that ChunkSize = 1 is rounded up to googleapi.MinUploadChunkSize. + r: &nullReader{2 * googleapi.MinUploadChunkSize}, + chunkSize: 1, + wantUploadType: "resumable", + wantResumableUpload: true, + }, + } { + mi := NewInfoFromMedia(test.r, []googleapi.MediaOption{googleapi.ChunkSize(test.chunkSize)}) + if got, want := mi.UploadType(), test.wantUploadType; got != want { + t.Errorf("%s: upload type: got %q, want %q", test.desc, got, want) + } + if got, want := mi.ResumableUpload("") != nil, test.wantResumableUpload; got != want { + t.Errorf("%s: resumable upload non-nil: got %t, want %t", test.desc, got, want) + } + } +} + +// A nullReader simulates reading a fixed number of bytes. +type nullReader struct { + remain int +} + +// Read doesn't touch buf, but it does reduce the amount of bytes remaining +// by len(buf). +func (r *nullReader) Read(buf []byte) (int, error) { + n := len(buf) + if r.remain < n { + n = r.remain + } + r.remain -= n + var err error + if r.remain == 0 { + err = io.EOF + } + return n, err +} diff --git a/vendor/google.golang.org/api/gensupport/send.go b/vendor/google.golang.org/api/gensupport/send.go index 3d22f638f..092044f44 100644 --- a/vendor/google.golang.org/api/gensupport/send.go +++ b/vendor/google.golang.org/api/gensupport/send.go @@ -5,6 +5,7 @@ package gensupport import ( + "errors" "net/http" "golang.org/x/net/context" @@ -32,6 +33,11 @@ func RegisterHook(h Hook) { // If ctx is non-nil, it calls all hooks, then sends the request with // ctxhttp.Do, then calls any functions returned by the hooks in reverse order. func SendRequest(ctx context.Context, client *http.Client, req *http.Request) (*http.Response, error) { + // Disallow Accept-Encoding because it interferes with the automatic gzip handling + // done by the default http.Transport. See https://github.com/google/google-api-go-client/issues/219. + if _, ok := req.Header["Accept-Encoding"]; ok { + return nil, errors.New("google api: custom Accept-Encoding headers not allowed") + } if ctx == nil { return client.Do(req) } diff --git a/vendor/google.golang.org/api/gensupport/send_test.go b/vendor/google.golang.org/api/gensupport/send_test.go new file mode 100644 index 000000000..2219eb39e --- /dev/null +++ b/vendor/google.golang.org/api/gensupport/send_test.go @@ -0,0 +1,20 @@ +// Copyright 2017 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 gensupport + +import ( + "net/http" + "testing" +) + +func TestSendRequest(t *testing.T) { + // Setting Accept-Encoding should give an error immediately. + req, _ := http.NewRequest("GET", "url", nil) + req.Header.Set("Accept-Encoding", "") + _, err := SendRequest(nil, nil, req) + if err == nil { + t.Error("got nil, want error") + } +} diff --git a/vendor/google.golang.org/api/gmail/v1/gmail-api.json b/vendor/google.golang.org/api/gmail/v1/gmail-api.json index 52a293acf..d6bafaf71 100644 --- a/vendor/google.golang.org/api/gmail/v1/gmail-api.json +++ b/vendor/google.golang.org/api/gmail/v1/gmail-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/Kao4BYxqk4XjAGvTP0MqtIG26pc\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/yLmXjwrCZrd7tYs9N17TGZKIRRE\"", "discoveryVersion": "v1", "id": "gmail:v1", "name": "gmail", "version": "v1", - "revision": "20170516", + "revision": "20170913", "title": "Gmail API", "description": "Access Gmail mailboxes including sending user email.", "ownerDomain": "google.com", @@ -20,7 +20,7 @@ "basePath": "/gmail/v1/users/", "rootUrl": "https://www.googleapis.com/", "servicePath": "gmail/v1/users/", - "batchPath": "batch", + "batchPath": "batch/gmail/v1", "parameters": { "alt": { "type": "string", @@ -88,7 +88,7 @@ "description": "View and modify but not delete your email" }, "https://www.googleapis.com/auth/gmail.readonly": { - "description": "View your emails messages and settings" + "description": "View your email messages and settings" }, "https://www.googleapis.com/auth/gmail.send": { "description": "Send email on your behalf" diff --git a/vendor/google.golang.org/api/gmail/v1/gmail-gen.go b/vendor/google.golang.org/api/gmail/v1/gmail-gen.go index 03788450e..bbd797857 100644 --- a/vendor/google.golang.org/api/gmail/v1/gmail-gen.go +++ b/vendor/google.golang.org/api/gmail/v1/gmail-gen.go @@ -66,7 +66,7 @@ const ( // View and modify but not delete your email GmailModifyScope = "https://www.googleapis.com/auth/gmail.modify" - // View your emails messages and settings + // View your email messages and settings GmailReadonlyScope = "https://www.googleapis.com/auth/gmail.readonly" // Send email on your behalf @@ -2310,17 +2310,13 @@ func (c *UsersWatchCall) Do(opts ...googleapi.CallOption) (*WatchResponse, error // method id "gmail.users.drafts.create": type UsersDraftsCreateCall struct { - s *Service - userId string - draft *Draft - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + userId string + draft *Draft + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Create: Creates a new draft with the DRAFT label. @@ -2340,12 +2336,7 @@ func (r *UsersDraftsService) Create(userId string, draft *Draft) *UsersDraftsCre // supplied. // At most one of Media and ResumableMedia may be set. func (c *UsersDraftsCreateCall) Media(r io.Reader, options ...googleapi.MediaOption) *UsersDraftsCreateCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -2360,11 +2351,7 @@ func (c *UsersDraftsCreateCall) Media(r io.Reader, options ...googleapi.MediaOpt // supersede any context previously provided to the Context method. func (c *UsersDraftsCreateCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *UsersDraftsCreateCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -2373,7 +2360,7 @@ func (c *UsersDraftsCreateCall) ResumableMedia(ctx context.Context, r io.ReaderA // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *UsersDraftsCreateCall) ProgressUpdater(pu googleapi.ProgressUpdater) *UsersDraftsCreateCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -2418,27 +2405,16 @@ func (c *UsersDraftsCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/drafts") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -2474,20 +2450,10 @@ func (c *UsersDraftsCreateCall) Do(opts ...googleapi.CallOption) (*Draft, error) if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -3070,17 +3036,13 @@ func (c *UsersDraftsListCall) Pages(ctx context.Context, f func(*ListDraftsRespo // method id "gmail.users.drafts.send": type UsersDraftsSendCall struct { - s *Service - userId string - draft *Draft - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + userId string + draft *Draft + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Send: Sends the specified, existing draft to the recipients in the @@ -3101,12 +3063,7 @@ func (r *UsersDraftsService) Send(userId string, draft *Draft) *UsersDraftsSendC // supplied. // At most one of Media and ResumableMedia may be set. func (c *UsersDraftsSendCall) Media(r io.Reader, options ...googleapi.MediaOption) *UsersDraftsSendCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -3121,11 +3078,7 @@ func (c *UsersDraftsSendCall) Media(r io.Reader, options ...googleapi.MediaOptio // supersede any context previously provided to the Context method. func (c *UsersDraftsSendCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *UsersDraftsSendCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -3134,7 +3087,7 @@ func (c *UsersDraftsSendCall) ResumableMedia(ctx context.Context, r io.ReaderAt, // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *UsersDraftsSendCall) ProgressUpdater(pu googleapi.ProgressUpdater) *UsersDraftsSendCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -3179,27 +3132,16 @@ func (c *UsersDraftsSendCall) doRequest(alt string) (*http.Response, error) { reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/drafts/send") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -3235,20 +3177,10 @@ func (c *UsersDraftsSendCall) Do(opts ...googleapi.CallOption) (*Message, error) if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -3325,18 +3257,14 @@ func (c *UsersDraftsSendCall) Do(opts ...googleapi.CallOption) (*Message, error) // method id "gmail.users.drafts.update": type UsersDraftsUpdateCall struct { - s *Service - userId string - id string - draft *Draft - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + userId string + id string + draft *Draft + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Update: Replaces a draft's content. @@ -3357,12 +3285,7 @@ func (r *UsersDraftsService) Update(userId string, id string, draft *Draft) *Use // supplied. // At most one of Media and ResumableMedia may be set. func (c *UsersDraftsUpdateCall) Media(r io.Reader, options ...googleapi.MediaOption) *UsersDraftsUpdateCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -3377,11 +3300,7 @@ func (c *UsersDraftsUpdateCall) Media(r io.Reader, options ...googleapi.MediaOpt // supersede any context previously provided to the Context method. func (c *UsersDraftsUpdateCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *UsersDraftsUpdateCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -3390,7 +3309,7 @@ func (c *UsersDraftsUpdateCall) ResumableMedia(ctx context.Context, r io.ReaderA // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *UsersDraftsUpdateCall) ProgressUpdater(pu googleapi.ProgressUpdater) *UsersDraftsUpdateCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -3435,27 +3354,16 @@ func (c *UsersDraftsUpdateCall) doRequest(alt string) (*http.Response, error) { reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/drafts/{id}") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("PUT", urls, body) req.Header = reqHeaders @@ -3492,20 +3400,10 @@ func (c *UsersDraftsUpdateCall) Do(opts ...googleapi.CallOption) (*Draft, error) if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -5193,17 +5091,13 @@ func (c *UsersMessagesGetCall) Do(opts ...googleapi.CallOption) (*Message, error // method id "gmail.users.messages.import": type UsersMessagesImportCall struct { - s *Service - userId string - message *Message - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + userId string + message *Message + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Import: Imports a message into only this user's mailbox, with @@ -5260,12 +5154,7 @@ func (c *UsersMessagesImportCall) ProcessForCalendar(processForCalendar bool) *U // supplied. // At most one of Media and ResumableMedia may be set. func (c *UsersMessagesImportCall) Media(r io.Reader, options ...googleapi.MediaOption) *UsersMessagesImportCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -5280,11 +5169,7 @@ func (c *UsersMessagesImportCall) Media(r io.Reader, options ...googleapi.MediaO // supersede any context previously provided to the Context method. func (c *UsersMessagesImportCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *UsersMessagesImportCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -5293,7 +5178,7 @@ func (c *UsersMessagesImportCall) ResumableMedia(ctx context.Context, r io.Reade // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *UsersMessagesImportCall) ProgressUpdater(pu googleapi.ProgressUpdater) *UsersMessagesImportCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -5338,27 +5223,16 @@ func (c *UsersMessagesImportCall) doRequest(alt string) (*http.Response, error) reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/messages/import") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -5394,20 +5268,10 @@ func (c *UsersMessagesImportCall) Do(opts ...googleapi.CallOption) (*Message, er if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -5516,17 +5380,13 @@ func (c *UsersMessagesImportCall) Do(opts ...googleapi.CallOption) (*Message, er // method id "gmail.users.messages.insert": type UsersMessagesInsertCall struct { - s *Service - userId string - message *Message - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + userId string + message *Message + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Insert: Directly inserts a message into only this user's mailbox @@ -5567,12 +5427,7 @@ func (c *UsersMessagesInsertCall) InternalDateSource(internalDateSource string) // supplied. // At most one of Media and ResumableMedia may be set. func (c *UsersMessagesInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *UsersMessagesInsertCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -5587,11 +5442,7 @@ func (c *UsersMessagesInsertCall) Media(r io.Reader, options ...googleapi.MediaO // supersede any context previously provided to the Context method. func (c *UsersMessagesInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *UsersMessagesInsertCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -5600,7 +5451,7 @@ func (c *UsersMessagesInsertCall) ResumableMedia(ctx context.Context, r io.Reade // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *UsersMessagesInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *UsersMessagesInsertCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -5645,27 +5496,16 @@ func (c *UsersMessagesInsertCall) doRequest(alt string) (*http.Response, error) reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/messages") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -5701,20 +5541,10 @@ func (c *UsersMessagesInsertCall) Do(opts ...googleapi.CallOption) (*Message, er if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -6185,17 +6015,13 @@ func (c *UsersMessagesModifyCall) Do(opts ...googleapi.CallOption) (*Message, er // method id "gmail.users.messages.send": type UsersMessagesSendCall struct { - s *Service - userId string - message *Message - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + userId string + message *Message + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Send: Sends the specified message to the recipients in the To, Cc, @@ -6216,12 +6042,7 @@ func (r *UsersMessagesService) Send(userId string, message *Message) *UsersMessa // supplied. // At most one of Media and ResumableMedia may be set. func (c *UsersMessagesSendCall) Media(r io.Reader, options ...googleapi.MediaOption) *UsersMessagesSendCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -6236,11 +6057,7 @@ func (c *UsersMessagesSendCall) Media(r io.Reader, options ...googleapi.MediaOpt // supersede any context previously provided to the Context method. func (c *UsersMessagesSendCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *UsersMessagesSendCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -6249,7 +6066,7 @@ func (c *UsersMessagesSendCall) ResumableMedia(ctx context.Context, r io.ReaderA // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *UsersMessagesSendCall) ProgressUpdater(pu googleapi.ProgressUpdater) *UsersMessagesSendCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -6294,27 +6111,16 @@ func (c *UsersMessagesSendCall) doRequest(alt string) (*http.Response, error) { reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/messages/send") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -6350,20 +6156,10 @@ func (c *UsersMessagesSendCall) Do(opts ...googleapi.CallOption) (*Message, erro if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() diff --git a/vendor/google.golang.org/api/google-api-go-generator/Makefile b/vendor/google.golang.org/api/google-api-go-generator/Makefile new file mode 100644 index 000000000..a85d523fa --- /dev/null +++ b/vendor/google.golang.org/api/google-api-go-generator/Makefile @@ -0,0 +1,34 @@ +# This Makefile is for library maintainers, not end-developers. +# All the generated code is already checked in. + +API_JSON = $(wildcard ../*/*/*-api.json ../*/*/*/*-api.json) + +GENERATOR=./google-api-go-generator + +# Download all API specifications and rebuild Go bindings. +# All downloaded files are cached in $TMPDIR for reuse with 'cached' below. +all: $(GENERATOR) + $(GENERATOR) -cache=false -install -api=* + +# Reuse cached API specifications in $TMPDIR and rebuild Go bindings. +cached: $(GENERATOR) + $(GENERATOR) -cache=true -install -api=* + +# Only rebuild Go bindings, do not modify API specifications. +# For every existing */*/*-api.json file, */*/*-gen.go will be built. +local: $(API_JSON:-api.json=-gen.go) + +# Pattern rule for the 'local' target. +# Translates otherwise unnamed targets with a -gen.go suffix into the +# matching input file with a -api.json suffix. $< is the input file. +%-gen.go: %-api.json $(GENERATOR) + $(GENERATOR) -api_json_file=$< + +# Alias to rebuild and install $(GENERATOR) +generator: $(GENERATOR) + +# Marked as .PHONY so that make always invokes go build. +$(GENERATOR): + go build -o $@ + +.PHONY: all cached local generator $(GENERATOR) diff --git a/vendor/google.golang.org/api/google-api-go-generator/gen.go b/vendor/google.golang.org/api/google-api-go-generator/gen.go index 7812d1525..f108d9c55 100644 --- a/vendor/google.golang.org/api/google-api-go-generator/gen.go +++ b/vendor/google.golang.org/api/google-api-go-generator/gen.go @@ -1597,12 +1597,7 @@ func (meth *Method) generateCode() { } if meth.supportsMediaUpload() { - // At most one of media_ and resumbableBuffer_ will be set. - pn(" media_ io.Reader") - pn(" mediaBuffer_ *gensupport.MediaBuffer") - pn(" mediaType_ string") - pn(" mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_.") - pn(" progressUpdater_ googleapi.ProgressUpdater") + pn(" mediaInfo_ *gensupport.MediaInfo") } pn(" ctx_ context.Context") pn(" header_ http.Header") @@ -1711,12 +1706,7 @@ func (meth *Method) generateCode() { pn(" }") } } - pn(" opts := googleapi.ProcessMediaOptions(options)") - pn(" chunkSize := opts.ChunkSize") - pn(" if !opts.ForceEmptyContentType {") - pn(" r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType)") - pn(" }") - pn(" c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize)") + pn(" c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)") pn(" return c") pn("}") comment = "ResumableMedia specifies the media to upload in chunks and can be canceled with ctx. " + @@ -1729,11 +1719,7 @@ func (meth *Method) generateCode() { p("\n%s", asComment("", comment)) pn("func (c *%s) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *%s {", callName, callName) pn(" c.ctx_ = ctx") - pn(" rdr := gensupport.ReaderAtToReader(r, size)") - pn(" rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType)") - pn(" c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize)") - pn(" c.media_ = nil") - pn(" c.mediaSize_ = size") + pn(" c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)") pn(" return c") pn("}") comment = "ProgressUpdater provides a callback function that will be called after every chunk. " + @@ -1741,7 +1727,7 @@ func (meth *Method) generateCode() { "This should only be called when using ResumableMedia (as opposed to Media)." p("\n%s", asComment("", comment)) pn("func (c *%s) ProgressUpdater(pu googleapi.ProgressUpdater) *%s {", callName, callName) - pn(`c.progressUpdater_ = pu`) + pn(`c.mediaInfo_.SetProgressUpdater(pu)`) pn("return c") pn("}") } @@ -1822,31 +1808,20 @@ func (meth *Method) generateCode() { pn("urls := googleapi.ResolveRelative(c.s.BasePath, %q)", meth.m.Path) if meth.supportsMediaUpload() { - pn("if c.media_ != nil || c.mediaBuffer_ != nil{") + pn("if c.mediaInfo_ != nil {") // Hack guess, since we get a 404 otherwise: //pn("urls = googleapi.ResolveRelative(%q, %q)", a.apiBaseURL(), meth.mediaUploadPath()) // Further hack. Discovery doc is wrong? pn(" urls = strings.Replace(urls, %q, %q, 1)", "https://www.googleapis.com/", "https://www.googleapis.com/upload/") - pn(` protocol := "multipart"`) - pn(" if c.mediaBuffer_ != nil {") - pn(` protocol = "resumable"`) - pn(" }") - pn(` c.urlParams_.Set("uploadType", protocol)`) + pn(` c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())`) pn("}") pn("if body == nil {") pn(" body = new(bytes.Buffer)") pn(` reqHeaders.Set("Content-Type", "application/json")`) pn("}") - pn(`if c.media_ != nil {`) - pn(` combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_)`) - pn(" defer combined.Close()") - pn(` reqHeaders.Set("Content-Type", ctype)`) - pn(" body = combined") - pn("}") - pn(`if c.mediaBuffer_ != nil && c.mediaType_ != ""{`) - pn(` reqHeaders.Set("X-Upload-Content-Type", c.mediaType_)`) - pn("}") + pn("body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)") + pn("defer cleanup()") } pn("urls += \"?\" + c.urlParams_.Encode()") pn("req, _ := http.NewRequest(%q, urls, body)", httpMethod) @@ -1915,20 +1890,10 @@ func (meth *Method) generateCode() { pn("defer googleapi.CloseBody(res)") pn("if err := googleapi.CheckResponse(res); err != nil { return %serr }", nilRet) if meth.supportsMediaUpload() { - pn("if c.mediaBuffer_ != nil {") - pn(` loc := res.Header.Get("Location")`) - pn(" rx := &gensupport.ResumableUpload{") - pn(" Client: c.s.client,") - pn(" UserAgent: c.s.userAgent(),") - pn(" URI: loc,") - pn(" Media: c.mediaBuffer_,") - pn(" MediaType: c.mediaType_,") - pn(" Callback: func(curr int64){") - pn(" if c.progressUpdater_ != nil {") - pn(" c.progressUpdater_(curr, c.mediaSize_)") - pn(" }") - pn(" },") - pn(" }") + pn(`rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))`) + pn("if rx != nil {") + pn(" rx.Client = c.s.client") + pn(" rx.UserAgent = c.s.userAgent()") pn(" ctx := c.ctx_") pn(" if ctx == nil {") // TODO(mcgreevy): Require context when calling Media, or Do. diff --git a/vendor/google.golang.org/api/groupsmigration/v1/groupsmigration-api.json b/vendor/google.golang.org/api/groupsmigration/v1/groupsmigration-api.json index 04694719f..9f4df0064 100644 --- a/vendor/google.golang.org/api/groupsmigration/v1/groupsmigration-api.json +++ b/vendor/google.golang.org/api/groupsmigration/v1/groupsmigration-api.json @@ -21,7 +21,7 @@ "basePath": "/groups/v1/groups/", "rootUrl": "https://www.googleapis.com/", "servicePath": "groups/v1/groups/", - "batchPath": "batch", + "batchPath": "batch/groupsmigration/v1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/groupsmigration/v1/groupsmigration-gen.go b/vendor/google.golang.org/api/groupsmigration/v1/groupsmigration-gen.go index 127ef0298..13a223b6d 100644 --- a/vendor/google.golang.org/api/groupsmigration/v1/groupsmigration-gen.go +++ b/vendor/google.golang.org/api/groupsmigration/v1/groupsmigration-gen.go @@ -122,16 +122,12 @@ func (s *Groups) MarshalJSON() ([]byte, error) { // method id "groupsmigration.archive.insert": type ArchiveInsertCall struct { - s *Service - groupId string - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + groupId string + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Insert: Inserts a new mail into the archive of the Google group. @@ -150,12 +146,7 @@ func (r *ArchiveService) Insert(groupId string) *ArchiveInsertCall { // supplied. // At most one of Media and ResumableMedia may be set. func (c *ArchiveInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *ArchiveInsertCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -170,11 +161,7 @@ func (c *ArchiveInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) // supersede any context previously provided to the Context method. func (c *ArchiveInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *ArchiveInsertCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -183,7 +170,7 @@ func (c *ArchiveInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, s // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *ArchiveInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *ArchiveInsertCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -223,27 +210,16 @@ func (c *ArchiveInsertCall) doRequest(alt string) (*http.Response, error) { var body io.Reader = nil c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "{groupId}/archive") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -279,20 +255,10 @@ func (c *ArchiveInsertCall) Do(opts ...googleapi.CallOption) (*Groups, error) { if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() diff --git a/vendor/google.golang.org/api/groupssettings/v1/groupssettings-api.json b/vendor/google.golang.org/api/groupssettings/v1/groupssettings-api.json index 25be29d8c..2afb79fb5 100644 --- a/vendor/google.golang.org/api/groupssettings/v1/groupssettings-api.json +++ b/vendor/google.golang.org/api/groupssettings/v1/groupssettings-api.json @@ -20,7 +20,7 @@ "basePath": "/groups/v1/groups/", "rootUrl": "https://www.googleapis.com/", "servicePath": "groups/v1/groups/", - "batchPath": "batch", + "batchPath": "batch/groupssettings/v1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/iam/v1/iam-api.json b/vendor/google.golang.org/api/iam/v1/iam-api.json index 4ad2167a0..fef8df4a3 100644 --- a/vendor/google.golang.org/api/iam/v1/iam-api.json +++ b/vendor/google.golang.org/api/iam/v1/iam-api.json @@ -1,574 +1,10 @@ { - "ownerName": "Google", - "resources": { - "roles": { - "methods": { - "queryGrantableRoles": { - "response": { - "$ref": "QueryGrantableRolesResponse" - }, - "parameterOrder": [], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": {}, - "flatPath": "v1/roles:queryGrantableRoles", - "id": "iam.roles.queryGrantableRoles", - "path": "v1/roles:queryGrantableRoles", - "request": { - "$ref": "QueryGrantableRolesRequest" - }, - "description": "Queries roles that can be granted on a particular resource.\nA role is grantable if it can be used as the role in a binding for a policy\nfor that resource." - } - } - }, - "projects": { - "resources": { - "serviceAccounts": { - "methods": { - "testIamPermissions": { - "path": "v1/{+resource}:testIamPermissions", - "id": "iam.projects.serviceAccounts.testIamPermissions", - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "description": "Tests the specified permissions against the IAM access control policy\nfor a ServiceAccount.", - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "resource": { - "location": "path", - "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$" - } - }, - "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:testIamPermissions" - }, - "delete": { - "description": "Deletes a ServiceAccount.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "DELETE", - "parameters": { - "name": { - "location": "path", - "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.\nUsing `-` as a wildcard for the project will infer the project from\nthe account. The `account` value can be the `email` address or the\n`unique_id` of the service account.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}", - "id": "iam.projects.serviceAccounts.delete", - "path": "v1/{+name}" - }, - "signBlob": { - "description": "Signs a blob using a service account's system-managed private key.", - "request": { - "$ref": "SignBlobRequest" - }, - "response": { - "$ref": "SignBlobResponse" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "POST", - "parameters": { - "name": { - "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.\nUsing `-` as a wildcard for the project will infer the project from\nthe account. The `account` value can be the `email` address or the\n`unique_id` of the service account.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:signBlob", - "id": "iam.projects.serviceAccounts.signBlob", - "path": "v1/{+name}:signBlob" - }, - "list": { - "response": { - "$ref": "ListServiceAccountsResponse" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "pageToken": { - "location": "query", - "description": "Optional pagination token returned in an earlier\nListServiceAccountsResponse.next_page_token.", - "type": "string" - }, - "name": { - "description": "Required. The resource name of the project associated with the service\naccounts, such as `projects/my-project-123`.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path" - }, - "pageSize": { - "format": "int32", - "description": "Optional limit on the number of service accounts to include in the\nresponse. Further accounts can subsequently be obtained by including the\nListServiceAccountsResponse.next_page_token\nin a subsequent request.", - "type": "integer", - "location": "query" - } - }, - "flatPath": "v1/projects/{projectsId}/serviceAccounts", - "id": "iam.projects.serviceAccounts.list", - "path": "v1/{+name}/serviceAccounts", - "description": "Lists ServiceAccounts for a project." - }, - "setIamPolicy": { - "request": { - "$ref": "SetIamPolicyRequest" - }, - "description": "Sets the IAM access control policy for a\nServiceAccount.", - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:setIamPolicy", - "path": "v1/{+resource}:setIamPolicy", - "id": "iam.projects.serviceAccounts.setIamPolicy" - }, - "signJwt": { - "request": { - "$ref": "SignJwtRequest" - }, - "description": "Signs a JWT using a service account's system-managed private key.\n\nIf no expiry time (`exp`) is provided in the `SignJwtRequest`, IAM sets an\nan expiry time of one hour by default. If you request an expiry time of\nmore than one hour, the request will fail.", - "response": { - "$ref": "SignJwtResponse" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "location": "path", - "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.\nUsing `-` as a wildcard for the project will infer the project from\nthe account. The `account` value can be the `email` address or the\n`unique_id` of the service account.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$" - } - }, - "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:signJwt", - "id": "iam.projects.serviceAccounts.signJwt", - "path": "v1/{+name}:signJwt" - }, - "create": { - "httpMethod": "POST", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "ServiceAccount" - }, - "parameters": { - "name": { - "pattern": "^projects/[^/]+$", - "location": "path", - "description": "Required. The resource name of the project associated with the service\naccounts, such as `projects/my-project-123`.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/serviceAccounts", - "path": "v1/{+name}/serviceAccounts", - "id": "iam.projects.serviceAccounts.create", - "description": "Creates a ServiceAccount\nand returns it.", - "request": { - "$ref": "CreateServiceAccountRequest" - } - }, - "getIamPolicy": { - "description": "Returns the IAM access control policy for a\nServiceAccount.", - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "Policy" - }, - "parameters": { - "resource": { - "location": "path", - "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:getIamPolicy", - "path": "v1/{+resource}:getIamPolicy", - "id": "iam.projects.serviceAccounts.getIamPolicy" - }, - "get": { - "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}", - "path": "v1/{+name}", - "id": "iam.projects.serviceAccounts.get", - "description": "Gets a ServiceAccount.", - "httpMethod": "GET", - "response": { - "$ref": "ServiceAccount" - }, - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.\nUsing `-` as a wildcard for the project will infer the project from\nthe account. The `account` value can be the `email` address or the\n`unique_id` of the service account.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "update": { - "httpMethod": "PUT", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "ServiceAccount" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", - "location": "path", - "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.\n\nRequests using `-` as a wildcard for the project will infer the project\nfrom the `account` and the `account` value can be the `email` address or\nthe `unique_id` of the service account.\n\nIn responses the resource name will always be in the format\n`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}", - "path": "v1/{+name}", - "id": "iam.projects.serviceAccounts.update", - "request": { - "$ref": "ServiceAccount" - }, - "description": "Updates a ServiceAccount.\n\nCurrently, only the following fields are updatable:\n`display_name` .\nThe `etag` is mandatory." - } - }, - "resources": { - "keys": { - "methods": { - "get": { - "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/keys/{keysId}", - "path": "v1/{+name}", - "id": "iam.projects.serviceAccounts.keys.get", - "description": "Gets the ServiceAccountKey\nby key id.", - "httpMethod": "GET", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "ServiceAccountKey" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "publicKeyType": { - "description": "The output format of the public key requested.\nX509_PEM is the default output format.", - "type": "string", - "location": "query", - "enum": [ - "TYPE_NONE", - "TYPE_X509_PEM_FILE", - "TYPE_RAW_PUBLIC_KEY" - ] - }, - "name": { - "pattern": "^projects/[^/]+/serviceAccounts/[^/]+/keys/[^/]+$", - "location": "path", - "description": "The resource name of the service account key in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}/keys/{key}`.\n\nUsing `-` as a wildcard for the project will infer the project from\nthe account. The `account` value can be the `email` address or the\n`unique_id` of the service account.", - "type": "string", - "required": true - } - } - }, - "list": { - "id": "iam.projects.serviceAccounts.keys.list", - "path": "v1/{+name}/keys", - "description": "Lists ServiceAccountKeys.", - "response": { - "$ref": "ListServiceAccountKeysResponse" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "parameters": { - "name": { - "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.\n\nUsing `-` as a wildcard for the project, will infer the project from\nthe account. The `account` value can be the `email` address or the\n`unique_id` of the service account.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", - "location": "path" - }, - "keyTypes": { - "type": "string", - "repeated": true, - "location": "query", - "enum": [ - "KEY_TYPE_UNSPECIFIED", - "USER_MANAGED", - "SYSTEM_MANAGED" - ], - "description": "Filters the types of keys the user wants to include in the list\nresponse. Duplicate key types are not allowed. If no key type\nis provided, all keys are returned." - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/keys" - }, - "create": { - "httpMethod": "POST", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "ServiceAccountKey" - }, - "parameters": { - "name": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", - "location": "path", - "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.\nUsing `-` as a wildcard for the project will infer the project from\nthe account. The `account` value can be the `email` address or the\n`unique_id` of the service account." - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/keys", - "path": "v1/{+name}/keys", - "id": "iam.projects.serviceAccounts.keys.create", - "description": "Creates a ServiceAccountKey\nand returns it.", - "request": { - "$ref": "CreateServiceAccountKeyRequest" - } - }, - "delete": { - "httpMethod": "DELETE", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "location": "path", - "description": "The resource name of the service account key in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}/keys/{key}`.\nUsing `-` as a wildcard for the project will infer the project from\nthe account. The `account` value can be the `email` address or the\n`unique_id` of the service account.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/serviceAccounts/[^/]+/keys/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/keys/{keysId}", - "path": "v1/{+name}", - "id": "iam.projects.serviceAccounts.keys.delete", - "description": "Deletes a ServiceAccountKey." - } - } - } - } - } - } - } - }, - "parameters": { - "uploadType": { - "type": "string", - "location": "query", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")." - }, - "fields": { - "location": "query", - "description": "Selector specifying which fields to include in a partial response.", - "type": "string" - }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, - "$.xgafv": { - "description": "V1 error format.", - "type": "string", - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" - ] - }, - "alt": { - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query", - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], - "type": "string" - }, - "access_token": { - "location": "query", - "description": "OAuth access token.", - "type": "string" - }, - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string", - "location": "query" - }, - "quotaUser": { - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" - }, - "pp": { - "description": "Pretty-print response.", - "default": "true", - "type": "boolean", - "location": "query" - }, - "oauth_token": { - "location": "query", - "description": "OAuth 2.0 token for the current user.", - "type": "string" - }, - "bearer_token": { - "description": "OAuth bearer token.", - "type": "string", - "location": "query" - }, - "upload_protocol": { - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string", - "location": "query" - }, - "prettyPrint": { - "location": "query", - "description": "Returns response with indentations and line breaks.", - "default": "true", - "type": "boolean" - } - }, - "version": "v1", - "baseUrl": "https://iam.googleapis.com/", - "servicePath": "", - "description": "Manages identity and access control for Google Cloud Platform resources, including the creation of service accounts, which you can use to authenticate to Google and make API calls.", - "kind": "discovery#restDescription", - "basePath": "", - "revision": "20170622", + "revision": "20170922", "documentationLink": "https://cloud.google.com/iam/", "id": "iam:v1", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { - "TestIamPermissionsResponse": { - "description": "Response message for `TestIamPermissions` method.", - "type": "object", - "properties": { - "permissions": { - "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "TestIamPermissionsResponse" - }, - "ListServiceAccountKeysResponse": { - "properties": { - "keys": { - "description": "The public keys for the service account.", - "items": { - "$ref": "ServiceAccountKey" - }, - "type": "array" - } - }, - "id": "ListServiceAccountKeysResponse", - "description": "The service account keys list response.", - "type": "object" - }, "ServiceAccountKey": { "description": "Represents a service account key.\n\nA service account has two sets of key-pairs: user-managed, and\nsystem-managed.\n\nUser-managed key-pairs can be created and deleted by users. Users are\nresponsible for rotating these keys periodically to ensure security of\ntheir service accounts. Users retain the private key of these key-pairs,\nand Google retains ONLY the public key.\n\nSystem-managed key-pairs are managed automatically by Google, and rotated\ndaily without user intervention. The private key never leaves Google's\nservers to maximize security.\n\nPublic keys for all service accounts are also published at the OAuth2\nService Account API.", "type": "object", @@ -579,7 +15,7 @@ "type": "string" }, "name": { - "description": "The resource name of the service account key in the following format\n`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}/keys/{key}`.", + "description": "The resource name of the service account key in the following format\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.", "type": "string" }, "validBeforeTime": { @@ -588,8 +24,6 @@ "type": "string" }, "keyAlgorithm": { - "description": "Specifies the algorithm (and possibly key size) for the key.", - "type": "string", "enumDescriptions": [ "An unspecified key algorithm.", "1k RSA Key.", @@ -599,12 +33,9 @@ "KEY_ALG_UNSPECIFIED", "KEY_ALG_RSA_1024", "KEY_ALG_RSA_2048" - ] - }, - "validAfterTime": { - "type": "string", - "format": "google-datetime", - "description": "The key can be used after this timestamp." + ], + "description": "Specifies the algorithm (and possibly key size) for the key.", + "type": "string" }, "privateKeyType": { "type": "string", @@ -620,17 +51,213 @@ ], "description": "The output format for the private key.\nOnly provided in `CreateServiceAccountKey` responses, not\nin `GetServiceAccountKey` or `ListServiceAccountKey` responses.\n\nGoogle never exposes system-managed private keys, and never retains\nuser-managed private keys." }, + "validAfterTime": { + "format": "google-datetime", + "description": "The key can be used after this timestamp.", + "type": "string" + }, "privateKeyData": { "format": "byte", - "description": "The private key data. Only provided in `CreateServiceAccountKey`\nresponses. Make sure to keep the private key data secure because it\nallows for the assertion of the service account identity.", + "description": "The private key data. Only provided in `CreateServiceAccountKey`\nresponses. Make sure to keep the private key data secure because it\nallows for the assertion of the service account identity.\nWhen decoded, the private key data can be used to authenticate with\nGoogle API client libraries and with\n\u003ca href=\"/sdk/gcloud/reference/auth/activate-service-account\"\u003egcloud\nauth activate-service-account\u003c/a\u003e.", "type": "string" } }, "id": "ServiceAccountKey" }, + "SignBlobResponse": { + "description": "The service account sign blob response.", + "type": "object", + "properties": { + "keyId": { + "description": "The id of the key used to sign the blob.", + "type": "string" + }, + "signature": { + "type": "string", + "format": "byte", + "description": "The signed blob." + } + }, + "id": "SignBlobResponse" + }, + "Permission": { + "type": "object", + "properties": { + "onlyInPredefinedRoles": { + "description": "This permission can ONLY be used in predefined roles.", + "type": "boolean" + }, + "title": { + "type": "string", + "description": "The title of this Permission." + }, + "description": { + "description": "A brief description of what this Permission is used for.", + "type": "string" + }, + "customRolesSupportLevel": { + "enumDescriptions": [ + "Permission is fully supported for custom role use.", + "Permission is being tested to check custom role compatibility.", + "Permission is not supported for custom role use." + ], + "enum": [ + "SUPPORTED", + "TESTING", + "NOT_SUPPORTED" + ], + "description": "The current custom role support level.", + "type": "string" + }, + "stage": { + "description": "The current launch stage of the permission.", + "type": "string", + "enumDescriptions": [ + "The permission is currently in an alpha phase.", + "The permission is currently in a beta phase.", + "The permission is generally available.", + "The permission is being deprecated." + ], + "enum": [ + "ALPHA", + "BETA", + "GA", + "DEPRECATED" + ] + }, + "name": { + "description": "The name of this Permission.", + "type": "string" + } + }, + "id": "Permission", + "description": "A permission which can be included by a role." + }, + "SignJwtRequest": { + "description": "The service account sign JWT request.", + "type": "object", + "properties": { + "payload": { + "description": "The JWT payload to sign, a JSON JWT Claim set.", + "type": "string" + } + }, + "id": "SignJwtRequest" + }, + "PolicyDelta": { + "id": "PolicyDelta", + "description": "The difference delta between two policies.", + "type": "object", + "properties": { + "bindingDeltas": { + "description": "The delta for Bindings between two policies.", + "items": { + "$ref": "BindingDelta" + }, + "type": "array" + } + } + }, + "ListServiceAccountsResponse": { + "description": "The service account list response.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "To retrieve the next page of results, set\nListServiceAccountsRequest.page_token\nto this value.", + "type": "string" + }, + "accounts": { + "description": "The list of matching service accounts.", + "items": { + "$ref": "ServiceAccount" + }, + "type": "array" + } + }, + "id": "ListServiceAccountsResponse" + }, + "QueryGrantableRolesResponse": { + "properties": { + "nextPageToken": { + "description": "To retrieve the next page of results, set\n`QueryGrantableRolesRequest.page_token` to this value.", + "type": "string" + }, + "roles": { + "description": "The list of matching roles.", + "items": { + "$ref": "Role" + }, + "type": "array" + } + }, + "id": "QueryGrantableRolesResponse", + "description": "The grantable role query response.", + "type": "object" + }, + "SignBlobRequest": { + "description": "The service account sign blob request.", + "type": "object", + "properties": { + "bytesToSign": { + "type": "string", + "format": "byte", + "description": "The bytes to sign." + } + }, + "id": "SignBlobRequest" + }, + "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "type": "object", + "properties": { + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + } + }, + "id": "SetIamPolicyRequest" + }, + "QueryTestablePermissionsResponse": { + "description": "The response containing permissions which can be tested on a resource.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "To retrieve the next page of results, set\n`QueryTestableRolesRequest.page_token` to this value.", + "type": "string" + }, + "permissions": { + "description": "The Permissions testable on the requested resource.", + "items": { + "$ref": "Permission" + }, + "type": "array" + } + }, + "id": "QueryTestablePermissionsResponse" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object", + "properties": {}, + "id": "Empty" + }, "CreateServiceAccountKeyRequest": { "type": "object", "properties": { + "keyAlgorithm": { + "description": "Which type of key and algorithm to use for the key.\nThe default is currently a 2K RSA key. However this may change in the\nfuture.", + "type": "string", + "enumDescriptions": [ + "An unspecified key algorithm.", + "1k RSA Key.", + "2k RSA Key." + ], + "enum": [ + "KEY_ALG_UNSPECIFIED", + "KEY_ALG_RSA_1024", + "KEY_ALG_RSA_2048" + ] + }, "privateKeyType": { "enumDescriptions": [ "Unspecified. Equivalent to `TYPE_GOOGLE_CREDENTIALS_FILE`.", @@ -644,61 +271,12 @@ ], "description": "The output format of the private key. `GOOGLE_CREDENTIALS_FILE` is the\ndefault output format.", "type": "string" - }, - "includePublicKeyData": { - "type": "boolean" - }, - "keyAlgorithm": { - "enum": [ - "KEY_ALG_UNSPECIFIED", - "KEY_ALG_RSA_1024", - "KEY_ALG_RSA_2048" - ], - "description": "Which type of key and algorithm to use for the key.\nThe default is currently a 2K RSA key. However this may change in the\nfuture.", - "type": "string", - "enumDescriptions": [ - "An unspecified key algorithm.", - "1k RSA Key.", - "2k RSA Key." - ] } }, "id": "CreateServiceAccountKeyRequest", "description": "The service account key create request." }, - "TestIamPermissionsRequest": { - "properties": { - "permissions": { - "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "TestIamPermissionsRequest", - "description": "Request message for `TestIamPermissions` method.", - "type": "object" - }, - "SignBlobResponse": { - "description": "The service account sign blob response.", - "type": "object", - "properties": { - "signature": { - "format": "byte", - "description": "The signed blob.", - "type": "string" - }, - "keyId": { - "description": "The id of the key used to sign the blob.", - "type": "string" - } - }, - "id": "SignBlobResponse" - }, "SignJwtResponse": { - "description": "The service account sign JWT response.", - "type": "object", "properties": { "signedJwt": { "description": "The signed JWT.", @@ -709,20 +287,27 @@ "type": "string" } }, - "id": "SignJwtResponse" + "id": "SignJwtResponse", + "description": "The service account sign JWT response.", + "type": "object" }, - "SignJwtRequest": { - "description": "The service account sign JWT request.", + "TestIamPermissionsRequest": { "type": "object", "properties": { - "payload": { - "type": "string", - "description": "The JWT payload to sign, a JSON JWT Claim set." + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" } }, - "id": "SignJwtRequest" + "id": "TestIamPermissionsRequest", + "description": "Request message for `TestIamPermissions` method." }, "Policy": { + "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam).", + "type": "object", "properties": { "etag": { "format": "byte", @@ -742,29 +327,53 @@ "type": "array" } }, - "id": "Policy", - "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam).", - "type": "object" + "id": "Policy" + }, + "ListRolesResponse": { + "description": "The response containing the roles defined under a resource.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "To retrieve the next page of results, set\n`ListRolesRequest.page_token` to this value.", + "type": "string" + }, + "roles": { + "description": "The Roles defined on this resource.", + "items": { + "$ref": "Role" + }, + "type": "array" + } + }, + "id": "ListRolesResponse" }, "AuditData": { - "id": "AuditData", - "description": "Audit log information specific to Cloud IAM. This message is serialized\nas an `Any` type in the `ServiceData` message of an\n`AuditLog` message.", - "type": "object", "properties": { "policyDelta": { - "$ref": "PolicyDelta", - "description": "Policy delta between the original policy and the newly set policy." + "description": "Policy delta between the original policy and the newly set policy.", + "$ref": "PolicyDelta" } - } + }, + "id": "AuditData", + "description": "Audit log information specific to Cloud IAM. This message is serialized\nas an `Any` type in the `ServiceData` message of an\n`AuditLog` message.", + "type": "object" }, "BindingDelta": { - "id": "BindingDelta", - "description": "One delta entry for Binding. Each individual change (only one member in each\nentry) to a binding will be a separate entry.", "type": "object", "properties": { + "condition": { + "description": "The condition that is associated with this binding.\nThis field is GOOGLE_INTERNAL.\nThis field is not logged in IAM side because it's only for audit logging.\nOptional", + "$ref": "Expr" + }, + "member": { + "description": "A single identity requesting access for a Cloud Platform resource.\nFollows the same format of Binding.members.\nRequired", + "type": "string" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired", + "type": "string" + }, "action": { - "description": "The action that was performed on a Binding.\nRequired", - "type": "string", "enumDescriptions": [ "Unspecified.", "Addition of a Binding.", @@ -774,125 +383,96 @@ "ACTION_UNSPECIFIED", "ADD", "REMOVE" - ] - }, - "member": { - "description": "A single identity requesting access for a Cloud Platform resource.\nFollows the same format of Binding.members.\nRequired", + ], + "description": "The action that was performed on a Binding.\nRequired", "type": "string" - }, - "role": { - "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired", - "type": "string" - } - } - }, - "PolicyDelta": { - "description": "The difference delta between two policies.", - "type": "object", - "properties": { - "bindingDeltas": { - "description": "The delta for Bindings between two policies.", - "items": { - "$ref": "BindingDelta" - }, - "type": "array" } }, - "id": "PolicyDelta" + "id": "BindingDelta", + "description": "One delta entry for Binding. Each individual change (only one member in each\nentry) to a binding will be a separate entry." }, - "ListServiceAccountsResponse": { - "description": "The service account list response.", + "UndeleteRoleRequest": { "type": "object", "properties": { - "nextPageToken": { - "description": "To retrieve the next page of results, set\nListServiceAccountsRequest.page_token\nto this value.", + "etag": { + "format": "byte", + "description": "Used to perform a consistent read-modify-write.", "type": "string" - }, - "accounts": { - "items": { - "$ref": "ServiceAccount" - }, - "type": "array", - "description": "The list of matching service accounts." } }, - "id": "ListServiceAccountsResponse" + "id": "UndeleteRoleRequest", + "description": "The request to undelete an existing role." }, "CreateServiceAccountRequest": { - "type": "object", "properties": { - "serviceAccount": { - "$ref": "ServiceAccount", - "description": "The ServiceAccount resource to create.\nCurrently, only the following values are user assignable:\n`display_name` ." - }, "accountId": { "description": "Required. The account id that is used to generate the service account\nemail address and a stable unique id. It is unique within a project,\nmust be 6-30 characters long, and match the regular expression\n`[a-z]([-a-z0-9]*[a-z0-9])` to comply with RFC1035.", "type": "string" + }, + "serviceAccount": { + "$ref": "ServiceAccount", + "description": "The ServiceAccount resource to create.\nCurrently, only the following values are user assignable:\n`display_name` ." } }, "id": "CreateServiceAccountRequest", - "description": "The service account create request." - }, - "QueryGrantableRolesResponse": { - "type": "object", - "properties": { - "nextPageToken": { - "description": "To retrieve the next page of results, set\n`QueryGrantableRolesRequest.page_token` to this value.", - "type": "string" - }, - "roles": { - "description": "The list of matching roles.", - "items": { - "$ref": "Role" - }, - "type": "array" - } - }, - "id": "QueryGrantableRolesResponse", - "description": "The grantable role query response." - }, - "SignBlobRequest": { - "description": "The service account sign blob request.", - "type": "object", - "properties": { - "bytesToSign": { - "format": "byte", - "description": "The bytes to sign.", - "type": "string" - } - }, - "id": "SignBlobRequest" + "description": "The service account create request.", + "type": "object" }, "Role": { "description": "A role in the Identity and Access Management API.", "type": "object", "properties": { - "title": { - "description": "Optional. A human-readable title for the role. Typically this\nis limited to 100 UTF-8 bytes.", - "type": "string" + "stage": { + "enum": [ + "ALPHA", + "BETA", + "GA", + "DEPRECATED", + "DISABLED", + "EAP" + ], + "description": "The current launch stage of the role.", + "type": "string", + "enumDescriptions": [ + "The user has indicated this role is currently in an alpha phase.", + "The user has indicated this role is currently in a beta phase.", + "The user has indicated this role is generally available.", + "The user has indicated this role is being deprecated.", + "This role is disabled and will not contribute permissions to any members\nit is granted to in policies.", + "The user has indicated this role is currently in an eap phase." + ] }, "name": { "description": "The name of the role.\n\nWhen Role is used in CreateRole, the role name must not be set.\n\nWhen Role is used in output and other input such as UpdateRole, the role\nname is the complete path, e.g., roles/logging.viewer for curated roles\nand organizations/{ORGANIZATION_ID}/roles/logging.viewer for custom roles.", "type": "string" }, + "deleted": { + "description": "The current deleted state of the role. This field is read only.\nIt will be ignored in calls to CreateRole and UpdateRole.", + "type": "boolean" + }, + "title": { + "description": "Optional. A human-readable title for the role. Typically this\nis limited to 100 UTF-8 bytes.", + "type": "string" + }, + "includedPermissions": { + "description": "The names of the permissions this role grants when bound in an IAM policy.", + "items": { + "type": "string" + }, + "type": "array" + }, "description": { "description": "Optional. A human-readable description for the role.", "type": "string" + }, + "etag": { + "format": "byte", + "description": "Used to perform a consistent read-modify-write.", + "type": "string" } }, "id": "Role" }, - "SetIamPolicyRequest": { - "description": "Request message for `SetIamPolicy` method.", - "type": "object", - "properties": { - "policy": { - "$ref": "Policy", - "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." - } - }, - "id": "SetIamPolicyRequest" - }, "Binding": { "description": "Associates `members` with a `role`.", "type": "object", @@ -911,14 +491,85 @@ }, "id": "Binding" }, + "Expr": { + "properties": { + "location": { + "description": "An optional string indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "An optional title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", + "type": "string" + }, + "description": { + "description": "An optional description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in\nCommon Expression Language syntax.\n\nThe application context of the containing message determines which\nwell-known feature set of CEL is supported.", + "type": "string" + } + }, + "id": "Expr", + "description": "Represents an expression text. Example:\n\n title: \"User account presence\"\n description: \"Determines whether the request has a user account\"\n expression: \"size(request.user) \u003e 0\"", + "type": "object" + }, + "ServiceAccount": { + "description": "A service account in the Identity and Access Management API.\n\nTo create a service account, specify the `project_id` and the `account_id`\nfor the account. The `account_id` is unique within the project, and is used\nto generate the service account email address and a stable\n`unique_id`.\n\nIf the account already exists, the account's resource name is returned\nin util::Status's ResourceInfo.resource_name in the format of\nprojects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}. The caller can\nuse the name in other methods to access the account.\n\nAll other methods can identify the service account using the format\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.", + "type": "object", + "properties": { + "displayName": { + "description": "Optional. A user-specified description of the service account. Must be\nfewer than 100 UTF-8 bytes.", + "type": "string" + }, + "etag": { + "format": "byte", + "description": "Used to perform a consistent read-modify-write.", + "type": "string" + }, + "name": { + "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\n\nRequests using `-` as a wildcard for the `PROJECT_ID` will infer the\nproject from the `account` and the `ACCOUNT` value can be the `email`\naddress or the `unique_id` of the service account.\n\nIn responses the resource name will always be in the format\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.", + "type": "string" + }, + "email": { + "description": "@OutputOnly The email address of the service account.", + "type": "string" + }, + "projectId": { + "description": "@OutputOnly The id of the project that owns the service account.", + "type": "string" + }, + "oauth2ClientId": { + "description": "@OutputOnly. The OAuth2 client id for the service account.\nThis is used in conjunction with the OAuth2 clientconfig API to make\nthree legged OAuth2 (3LO) flows to access the data of Google users.", + "type": "string" + }, + "uniqueId": { + "description": "@OutputOnly The unique and stable id of the service account.", + "type": "string" + } + }, + "id": "ServiceAccount" + }, "QueryGrantableRolesRequest": { + "id": "QueryGrantableRolesRequest", "description": "The grantable role query request.", "type": "object", "properties": { - "fullResourceName": { - "description": "Required. The full resource name to query from the list of grantable roles.\n\nThe name follows the Google Cloud Platform resource format.\nFor example, a Cloud Platform project with id `my-project` will be named\n`//cloudresourcemanager.googleapis.com/projects/my-project`.", + "view": { + "enumDescriptions": [ + "Omits the `included_permissions` field.\nThis is the default value.", + "Returns all fields." + ], + "enum": [ + "BASIC", + "FULL" + ], "type": "string" }, + "fullResourceName": { + "type": "string", + "description": "Required. The full resource name to query from the list of grantable roles.\n\nThe name follows the Google Cloud Platform resource format.\nFor example, a Cloud Platform project with id `my-project` will be named\n`//cloudresourcemanager.googleapis.com/projects/my-project`." + }, "pageToken": { "description": "Optional pagination token returned in an earlier\nQueryGrantableRolesResponse.", "type": "string" @@ -928,50 +579,70 @@ "description": "Optional limit on the number of roles to include in the response.", "type": "integer" } - }, - "id": "QueryGrantableRolesRequest" + } }, - "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", - "type": "object", - "properties": {}, - "id": "Empty" - }, - "ServiceAccount": { - "description": "A service account in the Identity and Access Management API.\n\nTo create a service account, specify the `project_id` and the `account_id`\nfor the account. The `account_id` is unique within the project, and is used\nto generate the service account email address and a stable\n`unique_id`.\n\nIf the account already exists, the account's resource name is returned\nin util::Status's ResourceInfo.resource_name in the format of\nprojects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}. The caller can\nuse the name in other methods to access the account.\n\nAll other methods can identify the service account using the format\n`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.\nUsing `-` as a wildcard for the project will infer the project from\nthe account. The `account` value can be the `email` address or the\n`unique_id` of the service account.", + "CreateRoleRequest": { + "description": "The request to create a new role.", "type": "object", "properties": { - "uniqueId": { - "description": "@OutputOnly The unique and stable id of the service account.", + "roleId": { + "description": "The role id to use for this role.", "type": "string" }, - "oauth2ClientId": { - "type": "string", - "description": "@OutputOnly. The OAuth2 client id for the service account.\nThis is used in conjunction with the OAuth2 clientconfig API to make\nthree legged OAuth2 (3LO) flows to access the data of Google users." - }, - "displayName": { - "description": "Optional. A user-specified description of the service account. Must be\nfewer than 100 UTF-8 bytes.", - "type": "string" - }, - "etag": { - "format": "byte", - "description": "Used to perform a consistent read-modify-write.", - "type": "string" - }, - "email": { - "description": "@OutputOnly The email address of the service account.", - "type": "string" - }, - "name": { - "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.\n\nRequests using `-` as a wildcard for the project will infer the project\nfrom the `account` and the `account` value can be the `email` address or\nthe `unique_id` of the service account.\n\nIn responses the resource name will always be in the format\n`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.", - "type": "string" - }, - "projectId": { - "description": "@OutputOnly The id of the project that owns the service account.", - "type": "string" + "role": { + "description": "The Role resource to create.", + "$ref": "Role" } }, - "id": "ServiceAccount" + "id": "CreateRoleRequest" + }, + "ListServiceAccountKeysResponse": { + "description": "The service account keys list response.", + "type": "object", + "properties": { + "keys": { + "description": "The public keys for the service account.", + "items": { + "$ref": "ServiceAccountKey" + }, + "type": "array" + } + }, + "id": "ListServiceAccountKeysResponse" + }, + "TestIamPermissionsResponse": { + "type": "object", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "TestIamPermissionsResponse", + "description": "Response message for `TestIamPermissions` method." + }, + "QueryTestablePermissionsRequest": { + "description": "A request to get permissions which can be tested on a resource.", + "type": "object", + "properties": { + "fullResourceName": { + "type": "string", + "description": "Required. The full resource name to query from the list of testable\npermissions.\n\nThe name follows the Google Cloud Platform resource format.\nFor example, a Cloud Platform project with id `my-project` will be named\n`//cloudresourcemanager.googleapis.com/projects/my-project`." + }, + "pageToken": { + "description": "Optional pagination token returned in an earlier\nQueryTestablePermissionsRequest.", + "type": "string" + }, + "pageSize": { + "format": "int32", + "description": "Optional limit on the number of permissions to include in the response.", + "type": "integer" + } + }, + "id": "QueryTestablePermissionsRequest" } }, "protocol": "rest", @@ -993,5 +664,1039 @@ "ownerDomain": "google.com", "name": "iam", "batchPath": "batch", - "title": "Google Identity and Access Management (IAM) API" + "fullyEncodeReservedExpansion": true, + "title": "Google Identity and Access Management (IAM) API", + "ownerName": "Google", + "resources": { + "permissions": { + "methods": { + "queryTestablePermissions": { + "description": "Lists the permissions testable on a resource.\nA permission is testable if it can be tested for an identity on a resource.", + "request": { + "$ref": "QueryTestablePermissionsRequest" + }, + "response": { + "$ref": "QueryTestablePermissionsResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/permissions:queryTestablePermissions", + "id": "iam.permissions.queryTestablePermissions", + "path": "v1/permissions:queryTestablePermissions" + } + } + }, + "roles": { + "methods": { + "get": { + "description": "Gets a Role definition.", + "response": { + "$ref": "Role" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "pattern": "^roles/[^/]+$", + "location": "path", + "description": "The resource name of the role in one of the following formats:\n`roles/{ROLE_NAME}`\n`organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}`\n`projects/{PROJECT_ID}/roles/{ROLE_NAME}`", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/roles/{rolesId}", + "id": "iam.roles.get", + "path": "v1/{+name}" + }, + "list": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "view": { + "location": "query", + "enum": [ + "BASIC", + "FULL" + ], + "description": "Optional view for the returned Role objects.", + "type": "string" + }, + "parent": { + "location": "query", + "description": "The resource name of the parent resource in one of the following formats:\n`` (empty string) -- this refers to curated roles.\n`organizations/{ORGANIZATION_ID}`\n`projects/{PROJECT_ID}`", + "type": "string" + }, + "showDeleted": { + "location": "query", + "description": "Include Roles that have been deleted.", + "type": "boolean" + }, + "pageToken": { + "location": "query", + "description": "Optional pagination token returned in an earlier ListRolesResponse.", + "type": "string" + }, + "pageSize": { + "format": "int32", + "description": "Optional limit on the number of roles to include in the response.", + "type": "integer", + "location": "query" + } + }, + "flatPath": "v1/roles", + "id": "iam.roles.list", + "path": "v1/roles", + "description": "Lists the Roles defined on a resource.", + "response": { + "$ref": "ListRolesResponse" + }, + "httpMethod": "GET", + "parameterOrder": [] + }, + "queryGrantableRoles": { + "response": { + "$ref": "QueryGrantableRolesResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/roles:queryGrantableRoles", + "id": "iam.roles.queryGrantableRoles", + "path": "v1/roles:queryGrantableRoles", + "description": "Queries roles that can be granted on a particular resource.\nA role is grantable if it can be used as the role in a binding for a policy\nfor that resource.", + "request": { + "$ref": "QueryGrantableRolesRequest" + } + } + } + }, + "organizations": { + "resources": { + "roles": { + "methods": { + "list": { + "description": "Lists the Roles defined on a resource.", + "response": { + "$ref": "ListRolesResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "parameters": { + "showDeleted": { + "location": "query", + "description": "Include Roles that have been deleted.", + "type": "boolean" + }, + "pageToken": { + "description": "Optional pagination token returned in an earlier ListRolesResponse.", + "type": "string", + "location": "query" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Optional limit on the number of roles to include in the response.", + "type": "integer" + }, + "view": { + "location": "query", + "enum": [ + "BASIC", + "FULL" + ], + "description": "Optional view for the returned Role objects.", + "type": "string" + }, + "parent": { + "pattern": "^organizations/[^/]+$", + "location": "path", + "description": "The resource name of the parent resource in one of the following formats:\n`` (empty string) -- this refers to curated roles.\n`organizations/{ORGANIZATION_ID}`\n`projects/{PROJECT_ID}`", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/organizations/{organizationsId}/roles", + "id": "iam.organizations.roles.list", + "path": "v1/{+parent}/roles" + }, + "create": { + "response": { + "$ref": "Role" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "parameters": { + "parent": { + "type": "string", + "required": true, + "pattern": "^organizations/[^/]+$", + "location": "path", + "description": "The resource name of the parent resource in one of the following formats:\n`organizations/{ORGANIZATION_ID}`\n`projects/{PROJECT_ID}`" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/organizations/{organizationsId}/roles", + "id": "iam.organizations.roles.create", + "path": "v1/{+parent}/roles", + "description": "Creates a new Role.", + "request": { + "$ref": "CreateRoleRequest" + } + }, + "undelete": { + "id": "iam.organizations.roles.undelete", + "path": "v1/{+name}:undelete", + "description": "Undelete a Role, bringing it back in its previous state.", + "request": { + "$ref": "UndeleteRoleRequest" + }, + "response": { + "$ref": "Role" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The resource name of the role in one of the following formats:\n`organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}`\n`projects/{PROJECT_ID}/roles/{ROLE_NAME}`", + "type": "string", + "required": true, + "pattern": "^organizations/[^/]+/roles/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/organizations/{organizationsId}/roles/{rolesId}:undelete" + }, + "get": { + "flatPath": "v1/organizations/{organizationsId}/roles/{rolesId}", + "path": "v1/{+name}", + "id": "iam.organizations.roles.get", + "description": "Gets a Role definition.", + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Role" + }, + "parameters": { + "name": { + "location": "path", + "description": "The resource name of the role in one of the following formats:\n`roles/{ROLE_NAME}`\n`organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}`\n`projects/{PROJECT_ID}/roles/{ROLE_NAME}`", + "type": "string", + "required": true, + "pattern": "^organizations/[^/]+/roles/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a Role definition.", + "request": { + "$ref": "Role" + }, + "httpMethod": "PATCH", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Role" + }, + "parameters": { + "name": { + "description": "The resource name of the role in one of the following formats:\n`roles/{ROLE_NAME}`\n`organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}`\n`projects/{PROJECT_ID}/roles/{ROLE_NAME}`", + "type": "string", + "required": true, + "pattern": "^organizations/[^/]+/roles/[^/]+$", + "location": "path" + }, + "updateMask": { + "format": "google-fieldmask", + "description": "A mask describing which fields in the Role have changed.", + "type": "string", + "location": "query" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/organizations/{organizationsId}/roles/{rolesId}", + "path": "v1/{+name}", + "id": "iam.organizations.roles.patch" + }, + "delete": { + "description": "Soft deletes a role. The role is suspended and cannot be used to create new\nIAM Policy Bindings.\nThe Role will not be included in `ListRoles()` unless `show_deleted` is set\nin the `ListRolesRequest`. The Role contains the deleted boolean set.\nExisting Bindings remains, but are inactive. The Role can be undeleted\nwithin 7 days. After 7 days the Role is deleted and all Bindings associated\nwith the role are removed.", + "httpMethod": "DELETE", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Role" + }, + "parameters": { + "name": { + "location": "path", + "description": "The resource name of the role in one of the following formats:\n`organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}`\n`projects/{PROJECT_ID}/roles/{ROLE_NAME}`", + "type": "string", + "required": true, + "pattern": "^organizations/[^/]+/roles/[^/]+$" + }, + "etag": { + "location": "query", + "format": "byte", + "description": "Used to perform a consistent read-modify-write.", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/organizations/{organizationsId}/roles/{rolesId}", + "path": "v1/{+name}", + "id": "iam.organizations.roles.delete" + } + } + } + } + }, + "projects": { + "resources": { + "roles": { + "methods": { + "delete": { + "description": "Soft deletes a role. The role is suspended and cannot be used to create new\nIAM Policy Bindings.\nThe Role will not be included in `ListRoles()` unless `show_deleted` is set\nin the `ListRolesRequest`. The Role contains the deleted boolean set.\nExisting Bindings remains, but are inactive. The Role can be undeleted\nwithin 7 days. After 7 days the Role is deleted and all Bindings associated\nwith the role are removed.", + "httpMethod": "DELETE", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Role" + }, + "parameters": { + "etag": { + "location": "query", + "format": "byte", + "description": "Used to perform a consistent read-modify-write.", + "type": "string" + }, + "name": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/roles/[^/]+$", + "location": "path", + "description": "The resource name of the role in one of the following formats:\n`organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}`\n`projects/{PROJECT_ID}/roles/{ROLE_NAME}`" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/roles/{rolesId}", + "path": "v1/{+name}", + "id": "iam.projects.roles.delete" + }, + "list": { + "response": { + "$ref": "ListRolesResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "showDeleted": { + "location": "query", + "description": "Include Roles that have been deleted.", + "type": "boolean" + }, + "pageToken": { + "location": "query", + "description": "Optional pagination token returned in an earlier ListRolesResponse.", + "type": "string" + }, + "pageSize": { + "type": "integer", + "location": "query", + "format": "int32", + "description": "Optional limit on the number of roles to include in the response." + }, + "view": { + "location": "query", + "enum": [ + "BASIC", + "FULL" + ], + "description": "Optional view for the returned Role objects.", + "type": "string" + }, + "parent": { + "location": "path", + "description": "The resource name of the parent resource in one of the following formats:\n`` (empty string) -- this refers to curated roles.\n`organizations/{ORGANIZATION_ID}`\n`projects/{PROJECT_ID}`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/roles", + "id": "iam.projects.roles.list", + "path": "v1/{+parent}/roles", + "description": "Lists the Roles defined on a resource." + }, + "create": { + "flatPath": "v1/projects/{projectsId}/roles", + "path": "v1/{+parent}/roles", + "id": "iam.projects.roles.create", + "description": "Creates a new Role.", + "request": { + "$ref": "CreateRoleRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "Role" + }, + "parameters": { + "parent": { + "location": "path", + "description": "The resource name of the parent resource in one of the following formats:\n`organizations/{ORGANIZATION_ID}`\n`projects/{PROJECT_ID}`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "request": { + "$ref": "Role" + }, + "description": "Updates a Role definition.", + "httpMethod": "PATCH", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Role" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "A mask describing which fields in the Role have changed.", + "type": "string" + }, + "name": { + "pattern": "^projects/[^/]+/roles/[^/]+$", + "location": "path", + "description": "The resource name of the role in one of the following formats:\n`roles/{ROLE_NAME}`\n`organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}`\n`projects/{PROJECT_ID}/roles/{ROLE_NAME}`", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectsId}/roles/{rolesId}", + "path": "v1/{+name}", + "id": "iam.projects.roles.patch" + }, + "undelete": { + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Role" + }, + "parameters": { + "name": { + "location": "path", + "description": "The resource name of the role in one of the following formats:\n`organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}`\n`projects/{PROJECT_ID}/roles/{ROLE_NAME}`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/roles/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/roles/{rolesId}:undelete", + "path": "v1/{+name}:undelete", + "id": "iam.projects.roles.undelete", + "description": "Undelete a Role, bringing it back in its previous state.", + "request": { + "$ref": "UndeleteRoleRequest" + } + }, + "get": { + "id": "iam.projects.roles.get", + "path": "v1/{+name}", + "description": "Gets a Role definition.", + "response": { + "$ref": "Role" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "location": "path", + "description": "The resource name of the role in one of the following formats:\n`roles/{ROLE_NAME}`\n`organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}`\n`projects/{PROJECT_ID}/roles/{ROLE_NAME}`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/roles/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/roles/{rolesId}" + } + } + }, + "serviceAccounts": { + "methods": { + "get": { + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "ServiceAccount" + }, + "parameters": { + "name": { + "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", + "location": "path", + "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}", + "path": "v1/{+name}", + "id": "iam.projects.serviceAccounts.get", + "description": "Gets a ServiceAccount." + }, + "update": { + "request": { + "$ref": "ServiceAccount" + }, + "description": "Updates a ServiceAccount.\n\nCurrently, only the following fields are updatable:\n`display_name` .\nThe `etag` is mandatory.", + "httpMethod": "PUT", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "ServiceAccount" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\n\nRequests using `-` as a wildcard for the `PROJECT_ID` will infer the\nproject from the `account` and the `ACCOUNT` value can be the `email`\naddress or the `unique_id` of the service account.\n\nIn responses the resource name will always be in the format\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}", + "path": "v1/{+name}", + "id": "iam.projects.serviceAccounts.update" + }, + "testIamPermissions": { + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "description": "Tests the specified permissions against the IAM access control policy\nfor a ServiceAccount.", + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "resource": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field." + } + }, + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:testIamPermissions", + "path": "v1/{+resource}:testIamPermissions", + "id": "iam.projects.serviceAccounts.testIamPermissions" + }, + "delete": { + "id": "iam.projects.serviceAccounts.delete", + "path": "v1/{+name}", + "description": "Deletes a ServiceAccount.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}" + }, + "list": { + "flatPath": "v1/projects/{projectsId}/serviceAccounts", + "id": "iam.projects.serviceAccounts.list", + "path": "v1/{+name}/serviceAccounts", + "description": "Lists ServiceAccounts for a project.", + "response": { + "$ref": "ListServiceAccountsResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "pageToken": { + "location": "query", + "description": "Optional pagination token returned in an earlier\nListServiceAccountsResponse.next_page_token.", + "type": "string" + }, + "name": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "Required. The resource name of the project associated with the service\naccounts, such as `projects/my-project-123`." + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Optional limit on the number of service accounts to include in the\nresponse. Further accounts can subsequently be obtained by including the\nListServiceAccountsResponse.next_page_token\nin a subsequent request.", + "type": "integer" + } + } + }, + "signBlob": { + "response": { + "$ref": "SignBlobResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "parameters": { + "name": { + "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", + "location": "path", + "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:signBlob", + "id": "iam.projects.serviceAccounts.signBlob", + "path": "v1/{+name}:signBlob", + "description": "Signs a blob using a service account's system-managed private key.", + "request": { + "$ref": "SignBlobRequest" + } + }, + "setIamPolicy": { + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:setIamPolicy", + "id": "iam.projects.serviceAccounts.setIamPolicy", + "path": "v1/{+resource}:setIamPolicy", + "description": "Sets the IAM access control policy for a\nServiceAccount.", + "request": { + "$ref": "SetIamPolicyRequest" + } + }, + "signJwt": { + "response": { + "$ref": "SignJwtResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:signJwt", + "id": "iam.projects.serviceAccounts.signJwt", + "path": "v1/{+name}:signJwt", + "description": "Signs a JWT using a service account's system-managed private key.\n\nIf no expiry time (`exp`) is provided in the `SignJwtRequest`, IAM sets an\nan expiry time of one hour by default. If you request an expiry time of\nmore than one hour, the request will fail.", + "request": { + "$ref": "SignJwtRequest" + } + }, + "create": { + "flatPath": "v1/projects/{projectsId}/serviceAccounts", + "path": "v1/{+name}/serviceAccounts", + "id": "iam.projects.serviceAccounts.create", + "description": "Creates a ServiceAccount\nand returns it.", + "request": { + "$ref": "CreateServiceAccountRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "ServiceAccount" + }, + "parameters": { + "name": { + "description": "Required. The resource name of the project associated with the service\naccounts, such as `projects/my-project-123`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Returns the IAM access control policy for a\nServiceAccount.", + "response": { + "$ref": "Policy" + }, + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "resource": { + "location": "path", + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:getIamPolicy", + "id": "iam.projects.serviceAccounts.getIamPolicy", + "path": "v1/{+resource}:getIamPolicy" + } + }, + "resources": { + "keys": { + "methods": { + "create": { + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "ServiceAccountKey" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/keys", + "path": "v1/{+name}/keys", + "id": "iam.projects.serviceAccounts.keys.create", + "request": { + "$ref": "CreateServiceAccountKeyRequest" + }, + "description": "Creates a ServiceAccountKey\nand returns it." + }, + "delete": { + "description": "Deletes a ServiceAccountKey.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/serviceAccounts/[^/]+/keys/[^/]+$", + "location": "path", + "description": "The resource name of the service account key in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account." + } + }, + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/keys/{keysId}", + "id": "iam.projects.serviceAccounts.keys.delete", + "path": "v1/{+name}" + }, + "get": { + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "ServiceAccountKey" + }, + "parameters": { + "publicKeyType": { + "location": "query", + "enum": [ + "TYPE_NONE", + "TYPE_X509_PEM_FILE", + "TYPE_RAW_PUBLIC_KEY" + ], + "description": "The output format of the public key requested.\nX509_PEM is the default output format.", + "type": "string" + }, + "name": { + "description": "The resource name of the service account key in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.\n\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/serviceAccounts/[^/]+/keys/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/keys/{keysId}", + "path": "v1/{+name}", + "id": "iam.projects.serviceAccounts.keys.get", + "description": "Gets the ServiceAccountKey\nby key id." + }, + "list": { + "description": "Lists ServiceAccountKeys.", + "response": { + "$ref": "ListServiceAccountKeysResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "location": "path", + "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\n\nUsing `-` as a wildcard for the `PROJECT_ID`, will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$" + }, + "keyTypes": { + "location": "query", + "enum": [ + "KEY_TYPE_UNSPECIFIED", + "USER_MANAGED", + "SYSTEM_MANAGED" + ], + "description": "Filters the types of keys the user wants to include in the list\nresponse. Duplicate key types are not allowed. If no key type\nis provided, all keys are returned.", + "type": "string", + "repeated": true + } + }, + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/keys", + "id": "iam.projects.serviceAccounts.keys.list", + "path": "v1/{+name}/keys" + } + } + } + } + } + } + } + }, + "parameters": { + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" + }, + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", + "location": "query" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, + "prettyPrint": { + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string", + "location": "query" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", + "location": "query" + }, + "$.xgafv": { + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string" + }, + "callback": { + "type": "string", + "location": "query", + "description": "JSONP" + }, + "alt": { + "location": "query", + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ] + }, + "access_token": { + "location": "query", + "description": "OAuth access token.", + "type": "string" + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + } + }, + "version": "v1", + "baseUrl": "https://iam.googleapis.com/", + "kind": "discovery#restDescription", + "description": "Manages identity and access control for Google Cloud Platform resources, including the creation of service accounts, which you can use to authenticate to Google and make API calls.", + "servicePath": "", + "basePath": "" } diff --git a/vendor/google.golang.org/api/iam/v1/iam-gen.go b/vendor/google.golang.org/api/iam/v1/iam-gen.go index b9f99c8aa..91a1a96b9 100644 --- a/vendor/google.golang.org/api/iam/v1/iam-gen.go +++ b/vendor/google.golang.org/api/iam/v1/iam-gen.go @@ -56,6 +56,8 @@ func New(client *http.Client) (*Service, error) { return nil, errors.New("client is nil") } s := &Service{client: client, BasePath: basePath} + s.Organizations = NewOrganizationsService(s) + s.Permissions = NewPermissionsService(s) s.Projects = NewProjectsService(s) s.Roles = NewRolesService(s) return s, nil @@ -66,6 +68,10 @@ type Service struct { BasePath string // API endpoint base URL UserAgent string // optional additional User-Agent fragment + Organizations *OrganizationsService + + Permissions *PermissionsService + Projects *ProjectsService Roles *RolesService @@ -78,8 +84,39 @@ func (s *Service) userAgent() string { return googleapi.UserAgent + " " + s.UserAgent } +func NewOrganizationsService(s *Service) *OrganizationsService { + rs := &OrganizationsService{s: s} + rs.Roles = NewOrganizationsRolesService(s) + return rs +} + +type OrganizationsService struct { + s *Service + + Roles *OrganizationsRolesService +} + +func NewOrganizationsRolesService(s *Service) *OrganizationsRolesService { + rs := &OrganizationsRolesService{s: s} + return rs +} + +type OrganizationsRolesService struct { + s *Service +} + +func NewPermissionsService(s *Service) *PermissionsService { + rs := &PermissionsService{s: s} + return rs +} + +type PermissionsService struct { + s *Service +} + func NewProjectsService(s *Service) *ProjectsService { rs := &ProjectsService{s: s} + rs.Roles = NewProjectsRolesService(s) rs.ServiceAccounts = NewProjectsServiceAccountsService(s) return rs } @@ -87,9 +124,20 @@ func NewProjectsService(s *Service) *ProjectsService { type ProjectsService struct { s *Service + Roles *ProjectsRolesService + ServiceAccounts *ProjectsServiceAccountsService } +func NewProjectsRolesService(s *Service) *ProjectsRolesService { + rs := &ProjectsRolesService{s: s} + return rs +} + +type ProjectsRolesService struct { + s *Service +} + func NewProjectsServiceAccountsService(s *Service) *ProjectsServiceAccountsService { rs := &ProjectsServiceAccountsService{s: s} rs.Keys = NewProjectsServiceAccountsKeysService(s) @@ -231,6 +279,13 @@ type BindingDelta struct { // "REMOVE" - Removal of a Binding. Action string `json:"action,omitempty"` + // Condition: The condition that is associated with this binding. + // This field is GOOGLE_INTERNAL. + // This field is not logged in IAM side because it's only for audit + // logging. + // Optional + Condition *Expr `json:"condition,omitempty"` + // Member: A single identity requesting access for a Cloud Platform // resource. // Follows the same format of Binding.members. @@ -266,11 +321,40 @@ func (s *BindingDelta) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// CreateRoleRequest: The request to create a new role. +type CreateRoleRequest struct { + // Role: The Role resource to create. + Role *Role `json:"role,omitempty"` + + // RoleId: The role id to use for this role. + RoleId string `json:"roleId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Role") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Role") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CreateRoleRequest) MarshalJSON() ([]byte, error) { + type noMethod CreateRoleRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // CreateServiceAccountKeyRequest: The service account key create // request. type CreateServiceAccountKeyRequest struct { - IncludePublicKeyData bool `json:"includePublicKeyData,omitempty"` - // KeyAlgorithm: Which type of key and algorithm to use for the key. // The default is currently a 2K RSA key. However this may change in // the @@ -295,22 +379,20 @@ type CreateServiceAccountKeyRequest struct { // "TYPE_GOOGLE_CREDENTIALS_FILE" - Google Credentials File format. PrivateKeyType string `json:"privateKeyType,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "IncludePublicKeyData") to unconditionally include in API requests. - // By default, fields with empty values are omitted from API requests. - // However, any non-pointer, non-interface field appearing in - // ForceSendFields will be sent to the server regardless of whether the - // field is empty or not. This may be used to include empty fields in - // Patch requests. + // ForceSendFields is a list of field names (e.g. "KeyAlgorithm") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IncludePublicKeyData") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. + // NullFields is a list of field names (e.g. "KeyAlgorithm") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } @@ -378,6 +460,98 @@ type Empty struct { googleapi.ServerResponse `json:"-"` } +// Expr: Represents an expression text. Example: +// +// title: "User account presence" +// description: "Determines whether the request has a user account" +// expression: "size(request.user) > 0" +type Expr struct { + // Description: An optional description of the expression. This is a + // longer text which + // describes the expression, e.g. when hovered over it in a UI. + Description string `json:"description,omitempty"` + + // Expression: Textual representation of an expression in + // Common Expression Language syntax. + // + // The application context of the containing message determines + // which + // well-known feature set of CEL is supported. + Expression string `json:"expression,omitempty"` + + // Location: An optional string indicating the location of the + // expression for error + // reporting, e.g. a file name and a position in the file. + Location string `json:"location,omitempty"` + + // Title: An optional title for the expression, i.e. a short string + // describing + // its purpose. This can be used e.g. in UIs which allow to enter + // the + // expression. + Title string `json:"title,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Description") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Expr) MarshalJSON() ([]byte, error) { + type noMethod Expr + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListRolesResponse: The response containing the roles defined under a +// resource. +type ListRolesResponse struct { + // NextPageToken: To retrieve the next page of results, + // set + // `ListRolesRequest.page_token` to this value. + NextPageToken string `json:"nextPageToken,omitempty"` + + // Roles: The Roles defined on this resource. + Roles []*Role `json:"roles,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "NextPageToken") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListRolesResponse) MarshalJSON() ([]byte, error) { + type noMethod ListRolesResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ListServiceAccountKeysResponse: The service account keys list // response. type ListServiceAccountKeysResponse struct { @@ -449,6 +623,64 @@ func (s *ListServiceAccountsResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Permission: A permission which can be included by a role. +type Permission struct { + // CustomRolesSupportLevel: The current custom role support level. + // + // Possible values: + // "SUPPORTED" - Permission is fully supported for custom role use. + // "TESTING" - Permission is being tested to check custom role + // compatibility. + // "NOT_SUPPORTED" - Permission is not supported for custom role use. + CustomRolesSupportLevel string `json:"customRolesSupportLevel,omitempty"` + + // Description: A brief description of what this Permission is used for. + Description string `json:"description,omitempty"` + + // Name: The name of this Permission. + Name string `json:"name,omitempty"` + + // OnlyInPredefinedRoles: This permission can ONLY be used in predefined + // roles. + OnlyInPredefinedRoles bool `json:"onlyInPredefinedRoles,omitempty"` + + // Stage: The current launch stage of the permission. + // + // Possible values: + // "ALPHA" - The permission is currently in an alpha phase. + // "BETA" - The permission is currently in a beta phase. + // "GA" - The permission is generally available. + // "DEPRECATED" - The permission is being deprecated. + Stage string `json:"stage,omitempty"` + + // Title: The title of this Permission. + Title string `json:"title,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "CustomRolesSupportLevel") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CustomRolesSupportLevel") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Permission) MarshalJSON() ([]byte, error) { + type noMethod Permission + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Policy: Defines an Identity and Access Management (IAM) policy. It is // used to // specify access control policies for Cloud Platform resources. @@ -588,6 +820,12 @@ type QueryGrantableRolesRequest struct { // QueryGrantableRolesResponse. PageToken string `json:"pageToken,omitempty"` + // Possible values: + // "BASIC" - Omits the `included_permissions` field. + // This is the default value. + // "FULL" - Returns all fields. + View string `json:"view,omitempty"` + // ForceSendFields is a list of field names (e.g. "FullResourceName") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -649,11 +887,107 @@ func (s *QueryGrantableRolesResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// QueryTestablePermissionsRequest: A request to get permissions which +// can be tested on a resource. +type QueryTestablePermissionsRequest struct { + // FullResourceName: Required. The full resource name to query from the + // list of testable + // permissions. + // + // The name follows the Google Cloud Platform resource format. + // For example, a Cloud Platform project with id `my-project` will be + // named + // `//cloudresourcemanager.googleapis.com/projects/my-project`. + FullResourceName string `json:"fullResourceName,omitempty"` + + // PageSize: Optional limit on the number of permissions to include in + // the response. + PageSize int64 `json:"pageSize,omitempty"` + + // PageToken: Optional pagination token returned in an + // earlier + // QueryTestablePermissionsRequest. + PageToken string `json:"pageToken,omitempty"` + + // ForceSendFields is a list of field names (e.g. "FullResourceName") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "FullResourceName") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *QueryTestablePermissionsRequest) MarshalJSON() ([]byte, error) { + type noMethod QueryTestablePermissionsRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// QueryTestablePermissionsResponse: The response containing permissions +// which can be tested on a resource. +type QueryTestablePermissionsResponse struct { + // NextPageToken: To retrieve the next page of results, + // set + // `QueryTestableRolesRequest.page_token` to this value. + NextPageToken string `json:"nextPageToken,omitempty"` + + // Permissions: The Permissions testable on the requested resource. + Permissions []*Permission `json:"permissions,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "NextPageToken") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *QueryTestablePermissionsResponse) MarshalJSON() ([]byte, error) { + type noMethod QueryTestablePermissionsResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Role: A role in the Identity and Access Management API. type Role struct { + // Deleted: The current deleted state of the role. This field is read + // only. + // It will be ignored in calls to CreateRole and UpdateRole. + Deleted bool `json:"deleted,omitempty"` + // Description: Optional. A human-readable description for the role. Description string `json:"description,omitempty"` + // Etag: Used to perform a consistent read-modify-write. + Etag string `json:"etag,omitempty"` + + // IncludedPermissions: The names of the permissions this role grants + // when bound in an IAM policy. + IncludedPermissions []string `json:"includedPermissions,omitempty"` + // Name: The name of the role. // // When Role is used in CreateRole, the role name must not be set. @@ -666,12 +1000,33 @@ type Role struct { // roles. Name string `json:"name,omitempty"` + // Stage: The current launch stage of the role. + // + // Possible values: + // "ALPHA" - The user has indicated this role is currently in an alpha + // phase. + // "BETA" - The user has indicated this role is currently in a beta + // phase. + // "GA" - The user has indicated this role is generally available. + // "DEPRECATED" - The user has indicated this role is being + // deprecated. + // "DISABLED" - This role is disabled and will not contribute + // permissions to any members + // it is granted to in policies. + // "EAP" - The user has indicated this role is currently in an eap + // phase. + Stage string `json:"stage,omitempty"` + // Title: Optional. A human-readable title for the role. Typically // this // is limited to 100 UTF-8 bytes. Title string `json:"title,omitempty"` - // ForceSendFields is a list of field names (e.g. "Description") to + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Deleted") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -679,10 +1034,10 @@ type Role struct { // used to include empty fields in Patch requests. 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. However, any field with - // an empty value appearing in NullFields will be sent to the server as + // NullFields is a list of field names (e.g. "Deleted") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` @@ -709,17 +1064,15 @@ func (s *Role) MarshalJSON() ([]byte, error) { // returned // in util::Status's ResourceInfo.resource_name in the format // of -// projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}. The -// caller can +// projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}. The caller can // use the name in other methods to access the account. // // All other methods can identify the service account using the // format -// `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}` -// . -// Using `-` as a wildcard for the project will infer the project +// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. +// Using `-` as a wildcard for the `PROJECT_ID` will infer the project // from -// the account. The `account` value can be the `email` address or +// the account. The `ACCOUNT` value can be the `email` address or // the // `unique_id` of the service account. type ServiceAccount struct { @@ -736,19 +1089,17 @@ type ServiceAccount struct { // Name: The resource name of the service account in the following // format: - // `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL} - // `. + // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. // - // Requests using `-` as a wildcard for the project will infer the - // project - // from the `account` and the `account` value can be the `email` address - // or - // the `unique_id` of the service account. + // Requests using `-` as a wildcard for the `PROJECT_ID` will infer + // the + // project from the `account` and the `ACCOUNT` value can be the + // `email` + // address or the `unique_id` of the service account. // // In responses the resource name will always be in the // format - // `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}` - // . + // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Name string `json:"name,omitempty"` // Oauth2ClientId: @OutputOnly. The OAuth2 client id for the service @@ -828,8 +1179,7 @@ type ServiceAccountKey struct { // Name: The resource name of the service account key in the following // format - // `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}/ - // keys/{key}`. + // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. Name string `json:"name,omitempty"` // PrivateKeyData: The private key data. Only provided in @@ -837,6 +1187,13 @@ type ServiceAccountKey struct { // responses. Make sure to keep the private key data secure because // it // allows for the assertion of the service account identity. + // When decoded, the private key data can be used to authenticate + // with + // Google API client libraries and with + // gcloud + // auth + // activate-service-account. PrivateKeyData string `json:"privateKeyData,omitempty"` // PrivateKeyType: The output format for the private key. @@ -1123,6 +1480,2024 @@ func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// UndeleteRoleRequest: The request to undelete an existing role. +type UndeleteRoleRequest struct { + // Etag: Used to perform a consistent read-modify-write. + Etag string `json:"etag,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Etag") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *UndeleteRoleRequest) MarshalJSON() ([]byte, error) { + type noMethod UndeleteRoleRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// method id "iam.organizations.roles.create": + +type OrganizationsRolesCreateCall struct { + s *Service + parent string + createrolerequest *CreateRoleRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a new Role. +func (r *OrganizationsRolesService) Create(parent string, createrolerequest *CreateRoleRequest) *OrganizationsRolesCreateCall { + c := &OrganizationsRolesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.createrolerequest = createrolerequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OrganizationsRolesCreateCall) Fields(s ...googleapi.Field) *OrganizationsRolesCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsRolesCreateCall) Context(ctx context.Context) *OrganizationsRolesCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsRolesCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsRolesCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.createrolerequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/roles") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "iam.organizations.roles.create" call. +// Exactly one of *Role or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Role.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *OrganizationsRolesCreateCall) Do(opts ...googleapi.CallOption) (*Role, 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, &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, err + } + ret := &Role{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a new Role.", + // "flatPath": "v1/organizations/{organizationsId}/roles", + // "httpMethod": "POST", + // "id": "iam.organizations.roles.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "The resource name of the parent resource in one of the following formats:\n`organizations/{ORGANIZATION_ID}`\n`projects/{PROJECT_ID}`", + // "location": "path", + // "pattern": "^organizations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/roles", + // "request": { + // "$ref": "CreateRoleRequest" + // }, + // "response": { + // "$ref": "Role" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "iam.organizations.roles.delete": + +type OrganizationsRolesDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Soft deletes a role. The role is suspended and cannot be used +// to create new +// IAM Policy Bindings. +// The Role will not be included in `ListRoles()` unless `show_deleted` +// is set +// in the `ListRolesRequest`. The Role contains the deleted boolean +// set. +// Existing Bindings remains, but are inactive. The Role can be +// undeleted +// within 7 days. After 7 days the Role is deleted and all Bindings +// associated +// with the role are removed. +func (r *OrganizationsRolesService) Delete(name string) *OrganizationsRolesDeleteCall { + c := &OrganizationsRolesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Etag sets the optional parameter "etag": Used to perform a consistent +// read-modify-write. +func (c *OrganizationsRolesDeleteCall) Etag(etag string) *OrganizationsRolesDeleteCall { + c.urlParams_.Set("etag", etag) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OrganizationsRolesDeleteCall) Fields(s ...googleapi.Field) *OrganizationsRolesDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsRolesDeleteCall) Context(ctx context.Context) *OrganizationsRolesDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsRolesDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsRolesDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "iam.organizations.roles.delete" call. +// Exactly one of *Role or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Role.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *OrganizationsRolesDeleteCall) Do(opts ...googleapi.CallOption) (*Role, 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, &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, err + } + ret := &Role{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Soft deletes a role. The role is suspended and cannot be used to create new\nIAM Policy Bindings.\nThe Role will not be included in `ListRoles()` unless `show_deleted` is set\nin the `ListRolesRequest`. The Role contains the deleted boolean set.\nExisting Bindings remains, but are inactive. The Role can be undeleted\nwithin 7 days. After 7 days the Role is deleted and all Bindings associated\nwith the role are removed.", + // "flatPath": "v1/organizations/{organizationsId}/roles/{rolesId}", + // "httpMethod": "DELETE", + // "id": "iam.organizations.roles.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "etag": { + // "description": "Used to perform a consistent read-modify-write.", + // "format": "byte", + // "location": "query", + // "type": "string" + // }, + // "name": { + // "description": "The resource name of the role in one of the following formats:\n`organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}`\n`projects/{PROJECT_ID}/roles/{ROLE_NAME}`", + // "location": "path", + // "pattern": "^organizations/[^/]+/roles/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "Role" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "iam.organizations.roles.get": + +type OrganizationsRolesGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets a Role definition. +func (r *OrganizationsRolesService) Get(name string) *OrganizationsRolesGetCall { + c := &OrganizationsRolesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OrganizationsRolesGetCall) Fields(s ...googleapi.Field) *OrganizationsRolesGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *OrganizationsRolesGetCall) IfNoneMatch(entityTag string) *OrganizationsRolesGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsRolesGetCall) Context(ctx context.Context) *OrganizationsRolesGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsRolesGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsRolesGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "iam.organizations.roles.get" call. +// Exactly one of *Role or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Role.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *OrganizationsRolesGetCall) Do(opts ...googleapi.CallOption) (*Role, 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, &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, err + } + ret := &Role{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets a Role definition.", + // "flatPath": "v1/organizations/{organizationsId}/roles/{rolesId}", + // "httpMethod": "GET", + // "id": "iam.organizations.roles.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The resource name of the role in one of the following formats:\n`roles/{ROLE_NAME}`\n`organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}`\n`projects/{PROJECT_ID}/roles/{ROLE_NAME}`", + // "location": "path", + // "pattern": "^organizations/[^/]+/roles/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "Role" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "iam.organizations.roles.list": + +type OrganizationsRolesListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists the Roles defined on a resource. +func (r *OrganizationsRolesService) List(parent string) *OrganizationsRolesListCall { + c := &OrganizationsRolesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": Optional limit on +// the number of roles to include in the response. +func (c *OrganizationsRolesListCall) PageSize(pageSize int64) *OrganizationsRolesListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": Optional +// pagination token returned in an earlier ListRolesResponse. +func (c *OrganizationsRolesListCall) PageToken(pageToken string) *OrganizationsRolesListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// ShowDeleted sets the optional parameter "showDeleted": Include Roles +// that have been deleted. +func (c *OrganizationsRolesListCall) ShowDeleted(showDeleted bool) *OrganizationsRolesListCall { + c.urlParams_.Set("showDeleted", fmt.Sprint(showDeleted)) + return c +} + +// View sets the optional parameter "view": Optional view for the +// returned Role objects. +// +// Possible values: +// "BASIC" +// "FULL" +func (c *OrganizationsRolesListCall) View(view string) *OrganizationsRolesListCall { + 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 information. +func (c *OrganizationsRolesListCall) Fields(s ...googleapi.Field) *OrganizationsRolesListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *OrganizationsRolesListCall) IfNoneMatch(entityTag string) *OrganizationsRolesListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsRolesListCall) Context(ctx context.Context) *OrganizationsRolesListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsRolesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsRolesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/roles") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "iam.organizations.roles.list" call. +// Exactly one of *ListRolesResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListRolesResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *OrganizationsRolesListCall) Do(opts ...googleapi.CallOption) (*ListRolesResponse, 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, &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, err + } + ret := &ListRolesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists the Roles defined on a resource.", + // "flatPath": "v1/organizations/{organizationsId}/roles", + // "httpMethod": "GET", + // "id": "iam.organizations.roles.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "pageSize": { + // "description": "Optional limit on the number of roles to include in the response.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Optional pagination token returned in an earlier ListRolesResponse.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "The resource name of the parent resource in one of the following formats:\n`` (empty string) -- this refers to curated roles.\n`organizations/{ORGANIZATION_ID}`\n`projects/{PROJECT_ID}`", + // "location": "path", + // "pattern": "^organizations/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "showDeleted": { + // "description": "Include Roles that have been deleted.", + // "location": "query", + // "type": "boolean" + // }, + // "view": { + // "description": "Optional view for the returned Role objects.", + // "enum": [ + // "BASIC", + // "FULL" + // ], + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/roles", + // "response": { + // "$ref": "ListRolesResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// 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 *OrganizationsRolesListCall) Pages(ctx context.Context, f func(*ListRolesResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "iam.organizations.roles.patch": + +type OrganizationsRolesPatchCall struct { + s *Service + name string + role *Role + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates a Role definition. +func (r *OrganizationsRolesService) Patch(name string, role *Role) *OrganizationsRolesPatchCall { + c := &OrganizationsRolesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.role = role + return c +} + +// UpdateMask sets the optional parameter "updateMask": A mask +// describing which fields in the Role have changed. +func (c *OrganizationsRolesPatchCall) UpdateMask(updateMask string) *OrganizationsRolesPatchCall { + 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 information. +func (c *OrganizationsRolesPatchCall) Fields(s ...googleapi.Field) *OrganizationsRolesPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsRolesPatchCall) Context(ctx context.Context) *OrganizationsRolesPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsRolesPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsRolesPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.role) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "iam.organizations.roles.patch" call. +// Exactly one of *Role or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Role.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *OrganizationsRolesPatchCall) Do(opts ...googleapi.CallOption) (*Role, 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, &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, err + } + ret := &Role{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates a Role definition.", + // "flatPath": "v1/organizations/{organizationsId}/roles/{rolesId}", + // "httpMethod": "PATCH", + // "id": "iam.organizations.roles.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The resource name of the role in one of the following formats:\n`roles/{ROLE_NAME}`\n`organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}`\n`projects/{PROJECT_ID}/roles/{ROLE_NAME}`", + // "location": "path", + // "pattern": "^organizations/[^/]+/roles/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "A mask describing which fields in the Role have changed.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "request": { + // "$ref": "Role" + // }, + // "response": { + // "$ref": "Role" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "iam.organizations.roles.undelete": + +type OrganizationsRolesUndeleteCall struct { + s *Service + name string + undeleterolerequest *UndeleteRoleRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Undelete: Undelete a Role, bringing it back in its previous state. +func (r *OrganizationsRolesService) Undelete(name string, undeleterolerequest *UndeleteRoleRequest) *OrganizationsRolesUndeleteCall { + c := &OrganizationsRolesUndeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.undeleterolerequest = undeleterolerequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OrganizationsRolesUndeleteCall) Fields(s ...googleapi.Field) *OrganizationsRolesUndeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsRolesUndeleteCall) Context(ctx context.Context) *OrganizationsRolesUndeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsRolesUndeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsRolesUndeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.undeleterolerequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:undelete") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "iam.organizations.roles.undelete" call. +// Exactly one of *Role or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Role.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *OrganizationsRolesUndeleteCall) Do(opts ...googleapi.CallOption) (*Role, 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, &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, err + } + ret := &Role{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Undelete a Role, bringing it back in its previous state.", + // "flatPath": "v1/organizations/{organizationsId}/roles/{rolesId}:undelete", + // "httpMethod": "POST", + // "id": "iam.organizations.roles.undelete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The resource name of the role in one of the following formats:\n`organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}`\n`projects/{PROJECT_ID}/roles/{ROLE_NAME}`", + // "location": "path", + // "pattern": "^organizations/[^/]+/roles/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}:undelete", + // "request": { + // "$ref": "UndeleteRoleRequest" + // }, + // "response": { + // "$ref": "Role" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "iam.permissions.queryTestablePermissions": + +type PermissionsQueryTestablePermissionsCall struct { + s *Service + querytestablepermissionsrequest *QueryTestablePermissionsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// QueryTestablePermissions: Lists the permissions testable on a +// resource. +// A permission is testable if it can be tested for an identity on a +// resource. +func (r *PermissionsService) QueryTestablePermissions(querytestablepermissionsrequest *QueryTestablePermissionsRequest) *PermissionsQueryTestablePermissionsCall { + c := &PermissionsQueryTestablePermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.querytestablepermissionsrequest = querytestablepermissionsrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *PermissionsQueryTestablePermissionsCall) Fields(s ...googleapi.Field) *PermissionsQueryTestablePermissionsCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *PermissionsQueryTestablePermissionsCall) Context(ctx context.Context) *PermissionsQueryTestablePermissionsCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *PermissionsQueryTestablePermissionsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *PermissionsQueryTestablePermissionsCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.querytestablepermissionsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/permissions:queryTestablePermissions") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "iam.permissions.queryTestablePermissions" call. +// Exactly one of *QueryTestablePermissionsResponse or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *QueryTestablePermissionsResponse.ServerResponse.Header or (if +// a response was returned at all) in error.(*googleapi.Error).Header. +// Use googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *PermissionsQueryTestablePermissionsCall) Do(opts ...googleapi.CallOption) (*QueryTestablePermissionsResponse, 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, &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, err + } + ret := &QueryTestablePermissionsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists the permissions testable on a resource.\nA permission is testable if it can be tested for an identity on a resource.", + // "flatPath": "v1/permissions:queryTestablePermissions", + // "httpMethod": "POST", + // "id": "iam.permissions.queryTestablePermissions", + // "parameterOrder": [], + // "parameters": {}, + // "path": "v1/permissions:queryTestablePermissions", + // "request": { + // "$ref": "QueryTestablePermissionsRequest" + // }, + // "response": { + // "$ref": "QueryTestablePermissionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// 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 *PermissionsQueryTestablePermissionsCall) Pages(ctx context.Context, f func(*QueryTestablePermissionsResponse) error) error { + c.ctx_ = ctx + defer func(pt string) { c.querytestablepermissionsrequest.PageToken = pt }(c.querytestablepermissionsrequest.PageToken) // reset paging to original point + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.querytestablepermissionsrequest.PageToken = x.NextPageToken + } +} + +// method id "iam.projects.roles.create": + +type ProjectsRolesCreateCall struct { + s *Service + parent string + createrolerequest *CreateRoleRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a new Role. +func (r *ProjectsRolesService) Create(parent string, createrolerequest *CreateRoleRequest) *ProjectsRolesCreateCall { + c := &ProjectsRolesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.createrolerequest = createrolerequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsRolesCreateCall) Fields(s ...googleapi.Field) *ProjectsRolesCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRolesCreateCall) Context(ctx context.Context) *ProjectsRolesCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRolesCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRolesCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.createrolerequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/roles") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "iam.projects.roles.create" call. +// Exactly one of *Role or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Role.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *ProjectsRolesCreateCall) Do(opts ...googleapi.CallOption) (*Role, 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, &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, err + } + ret := &Role{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a new Role.", + // "flatPath": "v1/projects/{projectsId}/roles", + // "httpMethod": "POST", + // "id": "iam.projects.roles.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "The resource name of the parent resource in one of the following formats:\n`organizations/{ORGANIZATION_ID}`\n`projects/{PROJECT_ID}`", + // "location": "path", + // "pattern": "^projects/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/roles", + // "request": { + // "$ref": "CreateRoleRequest" + // }, + // "response": { + // "$ref": "Role" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "iam.projects.roles.delete": + +type ProjectsRolesDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Soft deletes a role. The role is suspended and cannot be used +// to create new +// IAM Policy Bindings. +// The Role will not be included in `ListRoles()` unless `show_deleted` +// is set +// in the `ListRolesRequest`. The Role contains the deleted boolean +// set. +// Existing Bindings remains, but are inactive. The Role can be +// undeleted +// within 7 days. After 7 days the Role is deleted and all Bindings +// associated +// with the role are removed. +func (r *ProjectsRolesService) Delete(name string) *ProjectsRolesDeleteCall { + c := &ProjectsRolesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Etag sets the optional parameter "etag": Used to perform a consistent +// read-modify-write. +func (c *ProjectsRolesDeleteCall) Etag(etag string) *ProjectsRolesDeleteCall { + c.urlParams_.Set("etag", etag) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsRolesDeleteCall) Fields(s ...googleapi.Field) *ProjectsRolesDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRolesDeleteCall) Context(ctx context.Context) *ProjectsRolesDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRolesDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRolesDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "iam.projects.roles.delete" call. +// Exactly one of *Role or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Role.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *ProjectsRolesDeleteCall) Do(opts ...googleapi.CallOption) (*Role, 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, &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, err + } + ret := &Role{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Soft deletes a role. The role is suspended and cannot be used to create new\nIAM Policy Bindings.\nThe Role will not be included in `ListRoles()` unless `show_deleted` is set\nin the `ListRolesRequest`. The Role contains the deleted boolean set.\nExisting Bindings remains, but are inactive. The Role can be undeleted\nwithin 7 days. After 7 days the Role is deleted and all Bindings associated\nwith the role are removed.", + // "flatPath": "v1/projects/{projectsId}/roles/{rolesId}", + // "httpMethod": "DELETE", + // "id": "iam.projects.roles.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "etag": { + // "description": "Used to perform a consistent read-modify-write.", + // "format": "byte", + // "location": "query", + // "type": "string" + // }, + // "name": { + // "description": "The resource name of the role in one of the following formats:\n`organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}`\n`projects/{PROJECT_ID}/roles/{ROLE_NAME}`", + // "location": "path", + // "pattern": "^projects/[^/]+/roles/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "Role" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "iam.projects.roles.get": + +type ProjectsRolesGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets a Role definition. +func (r *ProjectsRolesService) Get(name string) *ProjectsRolesGetCall { + c := &ProjectsRolesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsRolesGetCall) Fields(s ...googleapi.Field) *ProjectsRolesGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsRolesGetCall) IfNoneMatch(entityTag string) *ProjectsRolesGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRolesGetCall) Context(ctx context.Context) *ProjectsRolesGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRolesGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRolesGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "iam.projects.roles.get" call. +// Exactly one of *Role or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Role.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *ProjectsRolesGetCall) Do(opts ...googleapi.CallOption) (*Role, 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, &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, err + } + ret := &Role{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets a Role definition.", + // "flatPath": "v1/projects/{projectsId}/roles/{rolesId}", + // "httpMethod": "GET", + // "id": "iam.projects.roles.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The resource name of the role in one of the following formats:\n`roles/{ROLE_NAME}`\n`organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}`\n`projects/{PROJECT_ID}/roles/{ROLE_NAME}`", + // "location": "path", + // "pattern": "^projects/[^/]+/roles/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "Role" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "iam.projects.roles.list": + +type ProjectsRolesListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists the Roles defined on a resource. +func (r *ProjectsRolesService) List(parent string) *ProjectsRolesListCall { + c := &ProjectsRolesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": Optional limit on +// the number of roles to include in the response. +func (c *ProjectsRolesListCall) PageSize(pageSize int64) *ProjectsRolesListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": Optional +// pagination token returned in an earlier ListRolesResponse. +func (c *ProjectsRolesListCall) PageToken(pageToken string) *ProjectsRolesListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// ShowDeleted sets the optional parameter "showDeleted": Include Roles +// that have been deleted. +func (c *ProjectsRolesListCall) ShowDeleted(showDeleted bool) *ProjectsRolesListCall { + c.urlParams_.Set("showDeleted", fmt.Sprint(showDeleted)) + return c +} + +// View sets the optional parameter "view": Optional view for the +// returned Role objects. +// +// Possible values: +// "BASIC" +// "FULL" +func (c *ProjectsRolesListCall) View(view string) *ProjectsRolesListCall { + 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 information. +func (c *ProjectsRolesListCall) Fields(s ...googleapi.Field) *ProjectsRolesListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsRolesListCall) IfNoneMatch(entityTag string) *ProjectsRolesListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRolesListCall) Context(ctx context.Context) *ProjectsRolesListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRolesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRolesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/roles") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "iam.projects.roles.list" call. +// Exactly one of *ListRolesResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListRolesResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsRolesListCall) Do(opts ...googleapi.CallOption) (*ListRolesResponse, 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, &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, err + } + ret := &ListRolesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists the Roles defined on a resource.", + // "flatPath": "v1/projects/{projectsId}/roles", + // "httpMethod": "GET", + // "id": "iam.projects.roles.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "pageSize": { + // "description": "Optional limit on the number of roles to include in the response.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Optional pagination token returned in an earlier ListRolesResponse.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "The resource name of the parent resource in one of the following formats:\n`` (empty string) -- this refers to curated roles.\n`organizations/{ORGANIZATION_ID}`\n`projects/{PROJECT_ID}`", + // "location": "path", + // "pattern": "^projects/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "showDeleted": { + // "description": "Include Roles that have been deleted.", + // "location": "query", + // "type": "boolean" + // }, + // "view": { + // "description": "Optional view for the returned Role objects.", + // "enum": [ + // "BASIC", + // "FULL" + // ], + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/roles", + // "response": { + // "$ref": "ListRolesResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// 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 *ProjectsRolesListCall) Pages(ctx context.Context, f func(*ListRolesResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "iam.projects.roles.patch": + +type ProjectsRolesPatchCall struct { + s *Service + name string + role *Role + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates a Role definition. +func (r *ProjectsRolesService) Patch(name string, role *Role) *ProjectsRolesPatchCall { + c := &ProjectsRolesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.role = role + return c +} + +// UpdateMask sets the optional parameter "updateMask": A mask +// describing which fields in the Role have changed. +func (c *ProjectsRolesPatchCall) UpdateMask(updateMask string) *ProjectsRolesPatchCall { + 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 information. +func (c *ProjectsRolesPatchCall) Fields(s ...googleapi.Field) *ProjectsRolesPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRolesPatchCall) Context(ctx context.Context) *ProjectsRolesPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRolesPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRolesPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.role) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "iam.projects.roles.patch" call. +// Exactly one of *Role or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Role.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *ProjectsRolesPatchCall) Do(opts ...googleapi.CallOption) (*Role, 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, &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, err + } + ret := &Role{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates a Role definition.", + // "flatPath": "v1/projects/{projectsId}/roles/{rolesId}", + // "httpMethod": "PATCH", + // "id": "iam.projects.roles.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The resource name of the role in one of the following formats:\n`roles/{ROLE_NAME}`\n`organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}`\n`projects/{PROJECT_ID}/roles/{ROLE_NAME}`", + // "location": "path", + // "pattern": "^projects/[^/]+/roles/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "A mask describing which fields in the Role have changed.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "request": { + // "$ref": "Role" + // }, + // "response": { + // "$ref": "Role" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "iam.projects.roles.undelete": + +type ProjectsRolesUndeleteCall struct { + s *Service + name string + undeleterolerequest *UndeleteRoleRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Undelete: Undelete a Role, bringing it back in its previous state. +func (r *ProjectsRolesService) Undelete(name string, undeleterolerequest *UndeleteRoleRequest) *ProjectsRolesUndeleteCall { + c := &ProjectsRolesUndeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.undeleterolerequest = undeleterolerequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsRolesUndeleteCall) Fields(s ...googleapi.Field) *ProjectsRolesUndeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsRolesUndeleteCall) Context(ctx context.Context) *ProjectsRolesUndeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsRolesUndeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsRolesUndeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.undeleterolerequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:undelete") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "iam.projects.roles.undelete" call. +// Exactly one of *Role or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Role.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *ProjectsRolesUndeleteCall) Do(opts ...googleapi.CallOption) (*Role, 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, &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, err + } + ret := &Role{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Undelete a Role, bringing it back in its previous state.", + // "flatPath": "v1/projects/{projectsId}/roles/{rolesId}:undelete", + // "httpMethod": "POST", + // "id": "iam.projects.roles.undelete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The resource name of the role in one of the following formats:\n`organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}`\n`projects/{PROJECT_ID}/roles/{ROLE_NAME}`", + // "location": "path", + // "pattern": "^projects/[^/]+/roles/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}:undelete", + // "request": { + // "$ref": "UndeleteRoleRequest" + // }, + // "response": { + // "$ref": "Role" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "iam.projects.serviceAccounts.create": type ProjectsServiceAccountsCreateCall struct { @@ -1366,7 +3741,7 @@ func (c *ProjectsServiceAccountsDeleteCall) Do(opts ...googleapi.CallOption) (*E // ], // "parameters": { // "name": { - // "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.\nUsing `-` as a wildcard for the project will infer the project from\nthe account. The `account` value can be the `email` address or the\n`unique_id` of the service account.", + // "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.", // "location": "path", // "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", // "required": true, @@ -1505,7 +3880,7 @@ func (c *ProjectsServiceAccountsGetCall) Do(opts ...googleapi.CallOption) (*Serv // ], // "parameters": { // "name": { - // "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.\nUsing `-` as a wildcard for the project will infer the project from\nthe account. The `account` value can be the `email` address or the\n`unique_id` of the service account.", + // "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.", // "location": "path", // "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", // "required": true, @@ -2093,7 +4468,7 @@ func (c *ProjectsServiceAccountsSignBlobCall) Do(opts ...googleapi.CallOption) ( // ], // "parameters": { // "name": { - // "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.\nUsing `-` as a wildcard for the project will infer the project from\nthe account. The `account` value can be the `email` address or the\n`unique_id` of the service account.", + // "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.", // "location": "path", // "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", // "required": true, @@ -2235,7 +4610,7 @@ func (c *ProjectsServiceAccountsSignJwtCall) Do(opts ...googleapi.CallOption) (* // ], // "parameters": { // "name": { - // "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.\nUsing `-` as a wildcard for the project will infer the project from\nthe account. The `account` value can be the `email` address or the\n`unique_id` of the service account.", + // "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.", // "location": "path", // "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", // "required": true, @@ -2511,7 +4886,7 @@ func (c *ProjectsServiceAccountsUpdateCall) Do(opts ...googleapi.CallOption) (*S // ], // "parameters": { // "name": { - // "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.\n\nRequests using `-` as a wildcard for the project will infer the project\nfrom the `account` and the `account` value can be the `email` address or\nthe `unique_id` of the service account.\n\nIn responses the resource name will always be in the format\n`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.", + // "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\n\nRequests using `-` as a wildcard for the `PROJECT_ID` will infer the\nproject from the `account` and the `ACCOUNT` value can be the `email`\naddress or the `unique_id` of the service account.\n\nIn responses the resource name will always be in the format\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.", // "location": "path", // "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", // "required": true, @@ -2647,7 +5022,7 @@ func (c *ProjectsServiceAccountsKeysCreateCall) Do(opts ...googleapi.CallOption) // ], // "parameters": { // "name": { - // "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.\nUsing `-` as a wildcard for the project will infer the project from\nthe account. The `account` value can be the `email` address or the\n`unique_id` of the service account.", + // "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.", // "location": "path", // "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", // "required": true, @@ -2775,7 +5150,7 @@ func (c *ProjectsServiceAccountsKeysDeleteCall) Do(opts ...googleapi.CallOption) // ], // "parameters": { // "name": { - // "description": "The resource name of the service account key in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}/keys/{key}`.\nUsing `-` as a wildcard for the project will infer the project from\nthe account. The `account` value can be the `email` address or the\n`unique_id` of the service account.", + // "description": "The resource name of the service account key in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.", // "location": "path", // "pattern": "^projects/[^/]+/serviceAccounts/[^/]+/keys/[^/]+$", // "required": true, @@ -2928,7 +5303,7 @@ func (c *ProjectsServiceAccountsKeysGetCall) Do(opts ...googleapi.CallOption) (* // ], // "parameters": { // "name": { - // "description": "The resource name of the service account key in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}/keys/{key}`.\n\nUsing `-` as a wildcard for the project will infer the project from\nthe account. The `account` value can be the `email` address or the\n`unique_id` of the service account.", + // "description": "The resource name of the service account key in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.\n\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.", // "location": "path", // "pattern": "^projects/[^/]+/serviceAccounts/[^/]+/keys/[^/]+$", // "required": true, @@ -3102,7 +5477,7 @@ func (c *ProjectsServiceAccountsKeysListCall) Do(opts ...googleapi.CallOption) ( // "type": "string" // }, // "name": { - // "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.\n\nUsing `-` as a wildcard for the project, will infer the project from\nthe account. The `account` value can be the `email` address or the\n`unique_id` of the service account.", + // "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\n\nUsing `-` as a wildcard for the `PROJECT_ID`, will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.", // "location": "path", // "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", // "required": true, @@ -3120,6 +5495,364 @@ func (c *ProjectsServiceAccountsKeysListCall) Do(opts ...googleapi.CallOption) ( } +// method id "iam.roles.get": + +type RolesGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets a Role definition. +func (r *RolesService) Get(name string) *RolesGetCall { + c := &RolesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *RolesGetCall) Fields(s ...googleapi.Field) *RolesGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *RolesGetCall) IfNoneMatch(entityTag string) *RolesGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *RolesGetCall) Context(ctx context.Context) *RolesGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *RolesGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RolesGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "iam.roles.get" call. +// Exactly one of *Role or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Role.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *RolesGetCall) Do(opts ...googleapi.CallOption) (*Role, 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, &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, err + } + ret := &Role{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets a Role definition.", + // "flatPath": "v1/roles/{rolesId}", + // "httpMethod": "GET", + // "id": "iam.roles.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The resource name of the role in one of the following formats:\n`roles/{ROLE_NAME}`\n`organizations/{ORGANIZATION_ID}/roles/{ROLE_NAME}`\n`projects/{PROJECT_ID}/roles/{ROLE_NAME}`", + // "location": "path", + // "pattern": "^roles/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "Role" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "iam.roles.list": + +type RolesListCall struct { + s *Service + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists the Roles defined on a resource. +func (r *RolesService) List() *RolesListCall { + c := &RolesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + return c +} + +// PageSize sets the optional parameter "pageSize": Optional limit on +// the number of roles to include in the response. +func (c *RolesListCall) PageSize(pageSize int64) *RolesListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": Optional +// pagination token returned in an earlier ListRolesResponse. +func (c *RolesListCall) PageToken(pageToken string) *RolesListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Parent sets the optional parameter "parent": The resource name of the +// parent resource in one of the following formats: +// `` (empty string) -- this refers to curated +// roles. +// `organizations/{ORGANIZATION_ID}` +// `projects/{PROJECT_ID}` +func (c *RolesListCall) Parent(parent string) *RolesListCall { + c.urlParams_.Set("parent", parent) + return c +} + +// ShowDeleted sets the optional parameter "showDeleted": Include Roles +// that have been deleted. +func (c *RolesListCall) ShowDeleted(showDeleted bool) *RolesListCall { + c.urlParams_.Set("showDeleted", fmt.Sprint(showDeleted)) + return c +} + +// View sets the optional parameter "view": Optional view for the +// returned Role objects. +// +// Possible values: +// "BASIC" +// "FULL" +func (c *RolesListCall) View(view string) *RolesListCall { + 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 information. +func (c *RolesListCall) Fields(s ...googleapi.Field) *RolesListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *RolesListCall) IfNoneMatch(entityTag string) *RolesListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *RolesListCall) Context(ctx context.Context) *RolesListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *RolesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RolesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/roles") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "iam.roles.list" call. +// Exactly one of *ListRolesResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListRolesResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *RolesListCall) Do(opts ...googleapi.CallOption) (*ListRolesResponse, 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, &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, err + } + ret := &ListRolesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists the Roles defined on a resource.", + // "flatPath": "v1/roles", + // "httpMethod": "GET", + // "id": "iam.roles.list", + // "parameterOrder": [], + // "parameters": { + // "pageSize": { + // "description": "Optional limit on the number of roles to include in the response.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Optional pagination token returned in an earlier ListRolesResponse.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "The resource name of the parent resource in one of the following formats:\n`` (empty string) -- this refers to curated roles.\n`organizations/{ORGANIZATION_ID}`\n`projects/{PROJECT_ID}`", + // "location": "query", + // "type": "string" + // }, + // "showDeleted": { + // "description": "Include Roles that have been deleted.", + // "location": "query", + // "type": "boolean" + // }, + // "view": { + // "description": "Optional view for the returned Role objects.", + // "enum": [ + // "BASIC", + // "FULL" + // ], + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/roles", + // "response": { + // "$ref": "ListRolesResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// 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 *RolesListCall) Pages(ctx context.Context, f func(*ListRolesResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + // method id "iam.roles.queryGrantableRoles": type RolesQueryGrantableRolesCall struct { diff --git a/vendor/google.golang.org/api/identitytoolkit/v3/identitytoolkit-api.json b/vendor/google.golang.org/api/identitytoolkit/v3/identitytoolkit-api.json index cc45b3b35..92f660ec7 100644 --- a/vendor/google.golang.org/api/identitytoolkit/v3/identitytoolkit-api.json +++ b/vendor/google.golang.org/api/identitytoolkit/v3/identitytoolkit-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/mRP2pwjx8HZNSfXtE0G7azflT_U\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/YDuUtEWk-s4RoFmU1uyfiL_piZ0\"", "discoveryVersion": "v1", "id": "identitytoolkit:v3", "name": "identitytoolkit", "canonicalName": "Identity Toolkit", "version": "v3", - "revision": "20170425", + "revision": "20170828", "title": "Google Identity Toolkit API", "description": "Help the third party sites to implement federated login.", "ownerDomain": "google.com", @@ -21,7 +21,7 @@ "basePath": "/identitytoolkit/v3/relyingparty/", "rootUrl": "https://www.googleapis.com/", "servicePath": "identitytoolkit/v3/relyingparty/", - "batchPath": "batch", + "batchPath": "batch/identitytoolkit/v3", "parameters": { "alt": { "type": "string", @@ -387,6 +387,13 @@ "items": { "type": "string" } + }, + "phoneNumber": { + "type": "array", + "description": "Privileged caller can query users by specified phone number.", + "items": { + "type": "string" + } } } }, @@ -481,6 +488,40 @@ } } }, + "IdentitytoolkitRelyingpartySendVerificationCodeRequest": { + "id": "IdentitytoolkitRelyingpartySendVerificationCodeRequest", + "type": "object", + "description": "Request for Identitytoolkit-SendVerificationCode", + "properties": { + "iosReceipt": { + "type": "string", + "description": "Receipt of successful app token validation with APNS." + }, + "iosSecret": { + "type": "string", + "description": "Secret delivered to iOS app via APNS." + }, + "phoneNumber": { + "type": "string", + "description": "The phone number to send the verification code to in E.164 format." + }, + "recaptchaToken": { + "type": "string", + "description": "Recaptcha solution." + } + } + }, + "IdentitytoolkitRelyingpartySendVerificationCodeResponse": { + "id": "IdentitytoolkitRelyingpartySendVerificationCodeResponse", + "type": "object", + "description": "Response for Identitytoolkit-SendVerificationCode", + "properties": { + "sessionInfo": { + "type": "string", + "description": "Encrypted session information" + } + } + }, "IdentitytoolkitRelyingpartySetAccountInfoRequest": { "id": "IdentitytoolkitRelyingpartySetAccountInfoRequest", "type": "object", @@ -499,6 +540,10 @@ "description": "The timestamp when the account is created.", "format": "int64" }, + "customAttributes": { + "type": "string", + "description": "The custom attributes to be set in the user's id token." + }, "delegatedProjectNumber": { "type": "string", "description": "GCP project number of the requesting delegated app. Currently only intended for Firebase V1 migration.", @@ -559,6 +604,10 @@ "type": "string", "description": "The new password of the user." }, + "phoneNumber": { + "type": "string", + "description": "Privileged caller can update user with specified phone number." + }, "photoUrl": { "type": "string", "description": "The photo url of the user." @@ -725,6 +774,10 @@ "type": "string", "description": "The new password of the user." }, + "phoneNumber": { + "type": "string", + "description": "Privileged caller can create user with specified phone number." + }, "photoUrl": { "type": "string", "description": "The photo url of the user." @@ -740,11 +793,24 @@ "type": "boolean", "description": "Whether allow overwrite existing account when user local_id exists." }, + "blockSize": { + "type": "integer", + "format": "int32" + }, + "cpuMemCost": { + "type": "integer", + "description": "The following 4 fields are for standard scrypt algorithm.", + "format": "int32" + }, "delegatedProjectNumber": { "type": "string", "description": "GCP project number of the requesting delegated app. Currently only intended for Firebase V1 migration.", "format": "int64" }, + "dkLen": { + "type": "integer", + "format": "int32" + }, "hashAlgorithm": { "type": "string", "description": "The password hash algorithm." @@ -754,6 +820,10 @@ "description": "Memory cost for hash calculation. Used by scrypt similar algorithms.", "format": "int32" }, + "parallelization": { + "type": "integer", + "format": "int32" + }, "rounds": { "type": "integer", "description": "Rounds for hash calculation. Used by scrypt and similar algorithms.", @@ -906,6 +976,75 @@ } } }, + "IdentitytoolkitRelyingpartyVerifyPhoneNumberRequest": { + "id": "IdentitytoolkitRelyingpartyVerifyPhoneNumberRequest", + "type": "object", + "description": "Request for Identitytoolkit-VerifyPhoneNumber", + "properties": { + "code": { + "type": "string" + }, + "idToken": { + "type": "string" + }, + "operation": { + "type": "string" + }, + "phoneNumber": { + "type": "string" + }, + "sessionInfo": { + "type": "string", + "description": "The session info previously returned by IdentityToolkit-SendVerificationCode." + }, + "temporaryProof": { + "type": "string" + }, + "verificationProof": { + "type": "string" + } + } + }, + "IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse": { + "id": "IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse", + "type": "object", + "description": "Response for Identitytoolkit-VerifyPhoneNumber", + "properties": { + "expiresIn": { + "type": "string", + "format": "int64" + }, + "idToken": { + "type": "string" + }, + "isNewUser": { + "type": "boolean" + }, + "localId": { + "type": "string" + }, + "phoneNumber": { + "type": "string" + }, + "refreshToken": { + "type": "string" + }, + "temporaryProof": { + "type": "string" + }, + "temporaryProofExpiresIn": { + "type": "string", + "format": "int64" + }, + "verificationProof": { + "type": "string" + }, + "verificationProofExpiresIn": { + "type": "string", + "format": "int64" + } + } + }, "IdpConfig": { "id": "IdpConfig", "type": "object", @@ -1189,6 +1328,10 @@ "description": "User creation timestamp.", "format": "int64" }, + "customAttributes": { + "type": "string", + "description": "The custom attributes to be set in the user's id token." + }, "customAuth": { "type": "boolean", "description": "Whether the user is authenticated by the developer." @@ -1485,6 +1628,10 @@ "type": "string", "description": "The GITKit token for authenticated user." }, + "isNewUser": { + "type": "boolean", + "description": "True if it's a new user sign-in, false if it's a returning user." + }, "kind": { "type": "string", "description": "The fixed string \"identitytoolkit#VerifyCustomTokenResponse\".", @@ -1697,6 +1844,21 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "sendVerificationCode": { + "id": "identitytoolkit.relyingparty.sendVerificationCode", + "path": "sendVerificationCode", + "httpMethod": "POST", + "description": "Send SMS verification code.", + "request": { + "$ref": "IdentitytoolkitRelyingpartySendVerificationCodeRequest" + }, + "response": { + "$ref": "IdentitytoolkitRelyingpartySendVerificationCodeResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "setAccountInfo": { "id": "identitytoolkit.relyingparty.setAccountInfo", "path": "setAccountInfo", @@ -1817,6 +1979,21 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "verifyPhoneNumber": { + "id": "identitytoolkit.relyingparty.verifyPhoneNumber", + "path": "verifyPhoneNumber", + "httpMethod": "POST", + "description": "Verifies ownership of a phone number and creates/updates the user account accordingly.", + "request": { + "$ref": "IdentitytoolkitRelyingpartyVerifyPhoneNumberRequest" + }, + "response": { + "$ref": "IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } } diff --git a/vendor/google.golang.org/api/identitytoolkit/v3/identitytoolkit-gen.go b/vendor/google.golang.org/api/identitytoolkit/v3/identitytoolkit-gen.go index 359091e2b..3ef58a5d2 100644 --- a/vendor/google.golang.org/api/identitytoolkit/v3/identitytoolkit-gen.go +++ b/vendor/google.golang.org/api/identitytoolkit/v3/identitytoolkit-gen.go @@ -552,6 +552,10 @@ type IdentitytoolkitRelyingpartyGetAccountInfoRequest struct { // LocalId: The list of local ID's of the users to inquiry. LocalId []string `json:"localId,omitempty"` + // PhoneNumber: Privileged caller can query users by specified phone + // number. + PhoneNumber []string `json:"phoneNumber,omitempty"` + // ForceSendFields is a list of field names (e.g. // "DelegatedProjectNumber") to unconditionally include in API requests. // By default, fields with empty values are omitted from API requests. @@ -681,6 +685,78 @@ func (s *IdentitytoolkitRelyingpartyResetPasswordRequest) MarshalJSON() ([]byte, return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// IdentitytoolkitRelyingpartySendVerificationCodeRequest: Request for +// Identitytoolkit-SendVerificationCode +type IdentitytoolkitRelyingpartySendVerificationCodeRequest struct { + // IosReceipt: Receipt of successful app token validation with APNS. + IosReceipt string `json:"iosReceipt,omitempty"` + + // IosSecret: Secret delivered to iOS app via APNS. + IosSecret string `json:"iosSecret,omitempty"` + + // PhoneNumber: The phone number to send the verification code to in + // E.164 format. + PhoneNumber string `json:"phoneNumber,omitempty"` + + // RecaptchaToken: Recaptcha solution. + RecaptchaToken string `json:"recaptchaToken,omitempty"` + + // ForceSendFields is a list of field names (e.g. "IosReceipt") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "IosReceipt") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *IdentitytoolkitRelyingpartySendVerificationCodeRequest) MarshalJSON() ([]byte, error) { + type noMethod IdentitytoolkitRelyingpartySendVerificationCodeRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// IdentitytoolkitRelyingpartySendVerificationCodeResponse: Response for +// Identitytoolkit-SendVerificationCode +type IdentitytoolkitRelyingpartySendVerificationCodeResponse struct { + // SessionInfo: Encrypted session information + SessionInfo string `json:"sessionInfo,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "SessionInfo") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "SessionInfo") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *IdentitytoolkitRelyingpartySendVerificationCodeResponse) MarshalJSON() ([]byte, error) { + type noMethod IdentitytoolkitRelyingpartySendVerificationCodeResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // IdentitytoolkitRelyingpartySetAccountInfoRequest: Request to set the // account information. type IdentitytoolkitRelyingpartySetAccountInfoRequest struct { @@ -693,6 +769,10 @@ type IdentitytoolkitRelyingpartySetAccountInfoRequest struct { // CreatedAt: The timestamp when the account is created. CreatedAt int64 `json:"createdAt,omitempty,string"` + // CustomAttributes: The custom attributes to be set in the user's id + // token. + CustomAttributes string `json:"customAttributes,omitempty"` + // DelegatedProjectNumber: GCP project number of the requesting // delegated app. Currently only intended for Firebase V1 migration. DelegatedProjectNumber int64 `json:"delegatedProjectNumber,omitempty,string"` @@ -733,6 +813,10 @@ type IdentitytoolkitRelyingpartySetAccountInfoRequest struct { // Password: The new password of the user. Password string `json:"password,omitempty"` + // PhoneNumber: Privileged caller can update user with specified phone + // number. + PhoneNumber string `json:"phoneNumber,omitempty"` + // PhotoUrl: The photo url of the user. PhotoUrl string `json:"photoUrl,omitempty"` @@ -967,6 +1051,10 @@ type IdentitytoolkitRelyingpartySignupNewUserRequest struct { // Password: The new password of the user. Password string `json:"password,omitempty"` + // PhoneNumber: Privileged caller can create user with specified phone + // number. + PhoneNumber string `json:"phoneNumber,omitempty"` + // PhotoUrl: The photo url of the user. PhotoUrl string `json:"photoUrl,omitempty"` @@ -1001,10 +1089,17 @@ type IdentitytoolkitRelyingpartyUploadAccountRequest struct { // local_id exists. AllowOverwrite bool `json:"allowOverwrite,omitempty"` + BlockSize int64 `json:"blockSize,omitempty"` + + // CpuMemCost: The following 4 fields are for standard scrypt algorithm. + CpuMemCost int64 `json:"cpuMemCost,omitempty"` + // DelegatedProjectNumber: GCP project number of the requesting // delegated app. Currently only intended for Firebase V1 migration. DelegatedProjectNumber int64 `json:"delegatedProjectNumber,omitempty,string"` + DkLen int64 `json:"dkLen,omitempty"` + // HashAlgorithm: The password hash algorithm. HashAlgorithm string `json:"hashAlgorithm,omitempty"` @@ -1012,6 +1107,8 @@ type IdentitytoolkitRelyingpartyUploadAccountRequest struct { // algorithms. MemoryCost int64 `json:"memoryCost,omitempty"` + Parallelization int64 `json:"parallelization,omitempty"` + // Rounds: Rounds for hash calculation. Used by scrypt and similar // algorithms. Rounds int64 `json:"rounds,omitempty"` @@ -1223,6 +1320,98 @@ func (s *IdentitytoolkitRelyingpartyVerifyPasswordRequest) MarshalJSON() ([]byte return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// IdentitytoolkitRelyingpartyVerifyPhoneNumberRequest: Request for +// Identitytoolkit-VerifyPhoneNumber +type IdentitytoolkitRelyingpartyVerifyPhoneNumberRequest struct { + Code string `json:"code,omitempty"` + + IdToken string `json:"idToken,omitempty"` + + Operation string `json:"operation,omitempty"` + + PhoneNumber string `json:"phoneNumber,omitempty"` + + // SessionInfo: The session info previously returned by + // IdentityToolkit-SendVerificationCode. + SessionInfo string `json:"sessionInfo,omitempty"` + + TemporaryProof string `json:"temporaryProof,omitempty"` + + VerificationProof string `json:"verificationProof,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Code") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *IdentitytoolkitRelyingpartyVerifyPhoneNumberRequest) MarshalJSON() ([]byte, error) { + type noMethod IdentitytoolkitRelyingpartyVerifyPhoneNumberRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse: Response for +// Identitytoolkit-VerifyPhoneNumber +type IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse struct { + ExpiresIn int64 `json:"expiresIn,omitempty,string"` + + IdToken string `json:"idToken,omitempty"` + + IsNewUser bool `json:"isNewUser,omitempty"` + + LocalId string `json:"localId,omitempty"` + + PhoneNumber string `json:"phoneNumber,omitempty"` + + RefreshToken string `json:"refreshToken,omitempty"` + + TemporaryProof string `json:"temporaryProof,omitempty"` + + TemporaryProofExpiresIn int64 `json:"temporaryProofExpiresIn,omitempty,string"` + + VerificationProof string `json:"verificationProof,omitempty"` + + VerificationProofExpiresIn int64 `json:"verificationProofExpiresIn,omitempty,string"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "ExpiresIn") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ExpiresIn") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse) MarshalJSON() ([]byte, error) { + type noMethod IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // IdpConfig: Template for a single idp configuration. type IdpConfig struct { // ClientId: OAuth2 client ID. @@ -1616,6 +1805,10 @@ type UserInfo struct { // CreatedAt: User creation timestamp. CreatedAt int64 `json:"createdAt,omitempty,string"` + // CustomAttributes: The custom attributes to be set in the user's id + // token. + CustomAttributes string `json:"customAttributes,omitempty"` + // CustomAuth: Whether the user is authenticated by the developer. CustomAuth bool `json:"customAuth,omitempty"` @@ -1929,6 +2122,10 @@ type VerifyCustomTokenResponse struct { // IdToken: The GITKit token for authenticated user. IdToken string `json:"idToken,omitempty"` + // IsNewUser: True if it's a new user sign-in, false if it's a returning + // user. + IsNewUser bool `json:"isNewUser,omitempty"` + // Kind: The fixed string "identitytoolkit#VerifyCustomTokenResponse". Kind string `json:"kind,omitempty"` @@ -3129,6 +3326,126 @@ func (c *RelyingpartyResetPasswordCall) Do(opts ...googleapi.CallOption) (*Reset } +// method id "identitytoolkit.relyingparty.sendVerificationCode": + +type RelyingpartySendVerificationCodeCall struct { + s *Service + identitytoolkitrelyingpartysendverificationcoderequest *IdentitytoolkitRelyingpartySendVerificationCodeRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SendVerificationCode: Send SMS verification code. +func (r *RelyingpartyService) SendVerificationCode(identitytoolkitrelyingpartysendverificationcoderequest *IdentitytoolkitRelyingpartySendVerificationCodeRequest) *RelyingpartySendVerificationCodeCall { + c := &RelyingpartySendVerificationCodeCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.identitytoolkitrelyingpartysendverificationcoderequest = identitytoolkitrelyingpartysendverificationcoderequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *RelyingpartySendVerificationCodeCall) Fields(s ...googleapi.Field) *RelyingpartySendVerificationCodeCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *RelyingpartySendVerificationCodeCall) Context(ctx context.Context) *RelyingpartySendVerificationCodeCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *RelyingpartySendVerificationCodeCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RelyingpartySendVerificationCodeCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartysendverificationcoderequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "sendVerificationCode") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "identitytoolkit.relyingparty.sendVerificationCode" call. +// Exactly one of +// *IdentitytoolkitRelyingpartySendVerificationCodeResponse or error +// will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *IdentitytoolkitRelyingpartySendVerificationCodeResponse.ServerRespons +// e.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *RelyingpartySendVerificationCodeCall) Do(opts ...googleapi.CallOption) (*IdentitytoolkitRelyingpartySendVerificationCodeResponse, 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, &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, err + } + ret := &IdentitytoolkitRelyingpartySendVerificationCodeResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Send SMS verification code.", + // "httpMethod": "POST", + // "id": "identitytoolkit.relyingparty.sendVerificationCode", + // "path": "sendVerificationCode", + // "request": { + // "$ref": "IdentitytoolkitRelyingpartySendVerificationCodeRequest" + // }, + // "response": { + // "$ref": "IdentitytoolkitRelyingpartySendVerificationCodeResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "identitytoolkit.relyingparty.setAccountInfo": type RelyingpartySetAccountInfoCall struct { @@ -4069,3 +4386,123 @@ func (c *RelyingpartyVerifyPasswordCall) Do(opts ...googleapi.CallOption) (*Veri // } } + +// method id "identitytoolkit.relyingparty.verifyPhoneNumber": + +type RelyingpartyVerifyPhoneNumberCall struct { + s *Service + identitytoolkitrelyingpartyverifyphonenumberrequest *IdentitytoolkitRelyingpartyVerifyPhoneNumberRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// VerifyPhoneNumber: Verifies ownership of a phone number and +// creates/updates the user account accordingly. +func (r *RelyingpartyService) VerifyPhoneNumber(identitytoolkitrelyingpartyverifyphonenumberrequest *IdentitytoolkitRelyingpartyVerifyPhoneNumberRequest) *RelyingpartyVerifyPhoneNumberCall { + c := &RelyingpartyVerifyPhoneNumberCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.identitytoolkitrelyingpartyverifyphonenumberrequest = identitytoolkitrelyingpartyverifyphonenumberrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *RelyingpartyVerifyPhoneNumberCall) Fields(s ...googleapi.Field) *RelyingpartyVerifyPhoneNumberCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *RelyingpartyVerifyPhoneNumberCall) Context(ctx context.Context) *RelyingpartyVerifyPhoneNumberCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *RelyingpartyVerifyPhoneNumberCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RelyingpartyVerifyPhoneNumberCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartyverifyphonenumberrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "verifyPhoneNumber") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "identitytoolkit.relyingparty.verifyPhoneNumber" call. +// Exactly one of *IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse +// or error will be non-nil. Any non-2xx status code is an error. +// Response headers are in either +// *IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse.ServerResponse.H +// eader or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *RelyingpartyVerifyPhoneNumberCall) Do(opts ...googleapi.CallOption) (*IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse, 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, &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, err + } + ret := &IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Verifies ownership of a phone number and creates/updates the user account accordingly.", + // "httpMethod": "POST", + // "id": "identitytoolkit.relyingparty.verifyPhoneNumber", + // "path": "verifyPhoneNumber", + // "request": { + // "$ref": "IdentitytoolkitRelyingpartyVerifyPhoneNumberRequest" + // }, + // "response": { + // "$ref": "IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} diff --git a/vendor/google.golang.org/api/internal/creds.go b/vendor/google.golang.org/api/internal/creds.go index 53e9d0954..b546b63b4 100644 --- a/vendor/google.golang.org/api/internal/creds.go +++ b/vendor/google.golang.org/api/internal/creds.go @@ -15,24 +15,90 @@ package internal import ( + "encoding/json" "fmt" "io/ioutil" + "time" "golang.org/x/net/context" "golang.org/x/oauth2" "golang.org/x/oauth2/google" ) -// ServiceAcctTokenSource reads a JWT config from filename and returns +// Creds returns credential information obtained from DialSettings, or if none, then +// it returns default credential information. +func Creds(ctx context.Context, ds *DialSettings) (*google.DefaultCredentials, error) { + if ds.CredentialsFile != "" { + return credFileTokenSource(ctx, ds.CredentialsFile, ds.Scopes...) + } + if ds.TokenSource != nil { + return &google.DefaultCredentials{TokenSource: ds.TokenSource}, nil + } + return google.FindDefaultCredentials(ctx, ds.Scopes...) +} + +// credFileTokenSource reads a refresh token file or a service account and returns // a TokenSource constructed from the config. -func ServiceAcctTokenSource(ctx context.Context, filename string, scope ...string) (oauth2.TokenSource, error) { +func credFileTokenSource(ctx context.Context, filename string, scope ...string) (*google.DefaultCredentials, error) { data, err := ioutil.ReadFile(filename) if err != nil { - return nil, fmt.Errorf("cannot read service account file: %v", err) + return nil, fmt.Errorf("cannot read credentials file: %v", err) } + // See if it is a refresh token credentials file first. + ts, ok, err := refreshTokenTokenSource(ctx, data, scope...) + if err != nil { + return nil, err + } + if ok { + return &google.DefaultCredentials{ + TokenSource: ts, + JSON: data, + }, nil + } + + // If not, it should be a service account. cfg, err := google.JWTConfigFromJSON(data, scope...) if err != nil { return nil, fmt.Errorf("google.JWTConfigFromJSON: %v", err) } - return cfg.TokenSource(ctx), nil + // jwt.Config does not expose the project ID, so re-unmarshal to get it. + var pid struct { + ProjectID string `json:"project_id"` + } + if err := json.Unmarshal(data, &pid); err != nil { + return nil, err + } + return &google.DefaultCredentials{ + ProjectID: pid.ProjectID, + TokenSource: cfg.TokenSource(ctx), + JSON: data, + }, nil +} + +func refreshTokenTokenSource(ctx context.Context, data []byte, scope ...string) (oauth2.TokenSource, bool, error) { + var c cred + if err := json.Unmarshal(data, &c); err != nil { + return nil, false, fmt.Errorf("cannot unmarshal credentials file: %v", err) + } + if c.ClientID == "" || c.ClientSecret == "" || c.RefreshToken == "" || c.Type != "authorized_user" { + return nil, false, nil + } + cfg := &oauth2.Config{ + ClientID: c.ClientID, + ClientSecret: c.ClientSecret, + Endpoint: google.Endpoint, + RedirectURL: "urn:ietf:wg:oauth:2.0:oob", + Scopes: scope, + } + return cfg.TokenSource(ctx, &oauth2.Token{ + RefreshToken: c.RefreshToken, + Expiry: time.Now(), + }), true, nil +} + +type cred struct { + ClientID string `json:"client_id"` + ClientSecret string `json:"client_secret"` + RefreshToken string `json:"refresh_token"` + Type string `json:"type"` } diff --git a/vendor/google.golang.org/api/internal/creds_test.go b/vendor/google.golang.org/api/internal/creds_test.go new file mode 100644 index 000000000..590e977d8 --- /dev/null +++ b/vendor/google.golang.org/api/internal/creds_test.go @@ -0,0 +1,130 @@ +// Copyright 2017 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package internal + +import ( + "testing" + + "github.com/google/go-cmp/cmp" + "golang.org/x/net/context" + "golang.org/x/oauth2" + "golang.org/x/oauth2/google" +) + +type dummyTokenSource struct { + oauth2.TokenSource +} + +func TestTokenSource(t *testing.T) { + ctx := context.Background() + + // Pass in a TokenSource, get it back. + ts := &dummyTokenSource{} + ds := &DialSettings{TokenSource: ts} + got, err := Creds(ctx, ds) + if err != nil { + t.Fatal(err) + } + want := &google.DefaultCredentials{TokenSource: ts} + if !cmp.Equal(got, want) { + t.Error("did not get the same TokenSource back") + } + + // Load a valid JSON file. No way to really test the contents; we just + // verify that there is no error. + ds = &DialSettings{CredentialsFile: "service-account.json"} + if _, err := Creds(ctx, ds); err != nil { + t.Errorf("got %v, wanted no error", err) + } + + // If both a file and TokenSource are passed, the file takes precedence + // (existing behavior). + // TODO(jba): make this an error? + ds = &DialSettings{ + TokenSource: ts, + CredentialsFile: "service-account.json", + } + got, err = Creds(ctx, ds) + if err != nil { + t.Fatal(err) + } + if cmp.Equal(got, want) { + t.Error("got the same TokenSource back, wanted one from the JSON file") + } + // TODO(jba): find a way to test the call to google.DefaultTokenSource. +} + +const validRefeshTokenJSON = `{ + "client_id": "764-aaaaa.apps.googleusercontent.com", + "client_secret": "d-988888888", + "refresh_token": "1/88888aaaaaaaaa", + "type": "authorized_user" +}` + +const validServiceAccountJSON = `{ + "type": "service_account", + "project_id": "dumba-504", + "private_key_id": "adsfsdd", + "private_key": "-----BEGIN PRIVATE KEY-----\n\n-----END PRIVATE KEY-----\n", + "client_email": "dumba-504@appspot.gserviceaccount.com", + "client_id": "111", + "auth_uri": "https://accounts.google.com/o/oauth2/auth", + "token_uri": "https://accounts.google.com/o/oauth2/token", + "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", + "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/dumba-504%40appspot.gserviceaccount.com" +}` + +func TestRefreshTokenTokenSource(t *testing.T) { + tests := []struct { + name string + data []byte + wantOK bool + wantErr bool + }{ + { + name: "empty", + data: []byte{}, + wantOK: false, + wantErr: true, // not valid JSON + }, + { + name: "non refresh token JSON", + data: []byte("{}"), + wantOK: false, + wantErr: false, + }, + { + name: "service account JSON", + data: []byte(validServiceAccountJSON), + wantOK: false, + wantErr: false, + }, + { + name: "valid refresh token JSON", + data: []byte(validRefeshTokenJSON), + wantOK: true, + wantErr: false, + }, + } + for _, tt := range tests { + _, ok, err := refreshTokenTokenSource(context.Background(), tt.data) + if (err != nil) != tt.wantErr { + t.Errorf("%v: refreshTokenTokenSource() err = %v, wantErr %v", tt.name, err, tt.wantErr) + } + if ok != tt.wantOK { + t.Errorf("%v: refreshTokenTokenSource() ok = %v, want %v", tt.name, ok, tt.wantOK) + } + } +} diff --git a/vendor/google.golang.org/api/internal/service-account.json b/vendor/google.golang.org/api/internal/service-account.json new file mode 100644 index 000000000..2cb54c292 --- /dev/null +++ b/vendor/google.golang.org/api/internal/service-account.json @@ -0,0 +1,12 @@ +{ + "type": "service_account", + "project_id": "project_id", + "private_key_id": "private_key_id", + "private_key": "private_key", + "client_email": "xyz@developer.gserviceaccount.com", + "client_id": "123", + "auth_uri": "https://accounts.google.com/o/oauth2/auth", + "token_uri": "https://accounts.google.com/o/oauth2/token", + "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", + "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/xyz%40developer.gserviceaccount.com" +} diff --git a/vendor/google.golang.org/api/internal/settings.go b/vendor/google.golang.org/api/internal/settings.go index d7b9f5789..514719178 100644 --- a/vendor/google.golang.org/api/internal/settings.go +++ b/vendor/google.golang.org/api/internal/settings.go @@ -25,13 +25,13 @@ import ( // DialSettings holds information needed to establish a connection with a // Google API service. type DialSettings struct { - Endpoint string - Scopes []string - ServiceAccountJSONFilename string // if set, TokenSource is ignored. - TokenSource oauth2.TokenSource - UserAgent string - APIKey string - HTTPClient *http.Client - GRPCDialOpts []grpc.DialOption - GRPCConn *grpc.ClientConn + Endpoint string + Scopes []string + TokenSource oauth2.TokenSource + CredentialsFile string // if set, Token Source is ignored. + UserAgent string + APIKey string + HTTPClient *http.Client + GRPCDialOpts []grpc.DialOption + GRPCConn *grpc.ClientConn } diff --git a/vendor/google.golang.org/api/kgsearch/v1/kgsearch-api.json b/vendor/google.golang.org/api/kgsearch/v1/kgsearch-api.json index feda0337d..295092817 100644 --- a/vendor/google.golang.org/api/kgsearch/v1/kgsearch-api.json +++ b/vendor/google.golang.org/api/kgsearch/v1/kgsearch-api.json @@ -1,43 +1,38 @@ { - "version_module": "True", + "name": "kgsearch", + "batchPath": "batch", + "id": "kgsearch:v1", + "documentationLink": "https://developers.google.com/knowledge-graph/", + "revision": "20170925", + "title": "Knowledge Graph Search API", + "discoveryVersion": "v1", + "ownerName": "Google", + "version_module": true, "resources": { "entities": { "methods": { "search": { - "description": "Searches Knowledge Graph for entities that match the constraints.\nA list of matched entities will be returned in response, which will be in\nJSON-LD format and compatible with http://schema.org", "response": { "$ref": "SearchResponse" }, "parameterOrder": [], "httpMethod": "GET", "parameters": { - "languages": { - "repeated": true, - "location": "query", - "description": "The list of language codes (defined in ISO 693) to run the query with,\ne.g. 'en'.", - "type": "string" - }, - "ids": { - "description": "The list of entity id to be used for search instead of query string.\nTo specify multiple ids in the HTTP request, repeat the parameter in the\nURL as in ...?ids=A&ids=B", - "type": "string", - "repeated": true, - "location": "query" - }, "limit": { - "location": "query", "format": "int32", "description": "Limits the number of entities to be returned.", - "type": "integer" - }, - "prefix": { - "description": "Enables prefix match against names and aliases of entities", - "type": "boolean", + "type": "integer", "location": "query" }, - "query": { - "type": "string", + "prefix": { "location": "query", - "description": "The literal query string for search." + "description": "Enables prefix match against names and aliases of entities", + "type": "boolean" + }, + "query": { + "location": "query", + "description": "The literal query string for search.", + "type": "string" }, "types": { "description": "Restricts returned entities with these types, e.g. Person\n(as defined in http://schema.org/Person). If multiple types are specified,\nreturned entities will contain one or more of these types.", @@ -46,38 +41,36 @@ "location": "query" }, "indent": { + "location": "query", "description": "Enables indenting of json results.", - "type": "boolean", + "type": "boolean" + }, + "languages": { + "description": "The list of language codes (defined in ISO 693) to run the query with,\ne.g. 'en'.", + "type": "string", + "repeated": true, "location": "query" + }, + "ids": { + "repeated": true, + "location": "query", + "description": "The list of entity id to be used for search instead of query string.\nTo specify multiple ids in the HTTP request, repeat the parameter in the\nURL as in ...?ids=A&ids=B", + "type": "string" } }, "flatPath": "v1/entities:search", "id": "kgsearch.entities.search", - "path": "v1/entities:search" + "path": "v1/entities:search", + "description": "Searches Knowledge Graph for entities that match the constraints.\nA list of matched entities will be returned in response, which will be in\nJSON-LD format and compatible with http://schema.org" } } } }, "parameters": { - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, - "$.xgafv": { - "enum": [ - "1", - "2" - ], - "description": "V1 error format.", - "type": "string", - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query" - }, "alt": { + "location": "query", + "description": "Data format for response.", + "default": "json", "enum": [ "json", "media", @@ -88,20 +81,17 @@ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", "Responses with Content-Type of application/x-protobuf" - ], - "location": "query", - "description": "Data format for response.", - "default": "json" + ] }, - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "access_token": { + "description": "OAuth access token.", "type": "string", "location": "query" }, - "access_token": { - "type": "string", + "key": { "location": "query", - "description": "OAuth access token." + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" }, "quotaUser": { "location": "query", @@ -125,15 +115,15 @@ "type": "string" }, "upload_protocol": { + "type": "string", "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string" + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")." }, "prettyPrint": { - "default": "true", - "type": "boolean", "location": "query", - "description": "Returns response with indentations and line breaks." + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" }, "uploadType": { "location": "query", @@ -141,9 +131,27 @@ "type": "string" }, "fields": { + "type": "string", "location": "query", - "description": "Selector specifying which fields to include in a partial response.", - "type": "string" + "description": "Selector specifying which fields to include in a partial response." + }, + "callback": { + "description": "JSONP", + "type": "string", + "location": "query" + }, + "$.xgafv": { + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ], + "description": "V1 error format." } }, "schemas": { @@ -171,24 +179,16 @@ } }, "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" }, "protocol": "rest", "version": "v1", "baseUrl": "https://kgsearch.googleapis.com/", - "servicePath": "", - "description": "Searches the Google Knowledge Graph for entities.", "kind": "discovery#restDescription", + "description": "Searches the Google Knowledge Graph for entities.", + "servicePath": "", "rootUrl": "https://kgsearch.googleapis.com/", "basePath": "", - "ownerDomain": "google.com", - "name": "kgsearch", - "batchPath": "batch", - "documentationLink": "https://developers.google.com/knowledge-graph/", - "revision": "20170109", - "id": "kgsearch:v1", - "title": "Knowledge Graph Search API", - "discoveryVersion": "v1", - "ownerName": "Google" + "ownerDomain": "google.com" } diff --git a/vendor/google.golang.org/api/language/v1/language-api.json b/vendor/google.golang.org/api/language/v1/language-api.json index c62920dd6..b3fecdead 100644 --- a/vendor/google.golang.org/api/language/v1/language-api.json +++ b/vendor/google.golang.org/api/language/v1/language-api.json @@ -1,53 +1,247 @@ { + "ownerName": "Google", + "resources": { + "documents": { + "methods": { + "analyzeEntities": { + "response": { + "$ref": "AnalyzeEntitiesResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-language", + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/documents:analyzeEntities", + "id": "language.documents.analyzeEntities", + "path": "v1/documents:analyzeEntities", + "description": "Finds named entities (currently proper names and common nouns) in the text\nalong with entity types, salience, mentions for each entity, and\nother properties.", + "request": { + "$ref": "AnalyzeEntitiesRequest" + } + }, + "analyzeSyntax": { + "response": { + "$ref": "AnalyzeSyntaxResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-language", + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/documents:analyzeSyntax", + "id": "language.documents.analyzeSyntax", + "path": "v1/documents:analyzeSyntax", + "description": "Analyzes the syntax of the text and provides sentence boundaries and\ntokenization along with part of speech tags, dependency trees, and other\nproperties.", + "request": { + "$ref": "AnalyzeSyntaxRequest" + } + }, + "analyzeSentiment": { + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "AnalyzeSentimentResponse" + }, + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-language", + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/documents:analyzeSentiment", + "path": "v1/documents:analyzeSentiment", + "id": "language.documents.analyzeSentiment", + "description": "Analyzes the sentiment of the provided text.", + "request": { + "$ref": "AnalyzeSentimentRequest" + } + }, + "annotateText": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-language", + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": {}, + "flatPath": "v1/documents:annotateText", + "path": "v1/documents:annotateText", + "id": "language.documents.annotateText", + "request": { + "$ref": "AnnotateTextRequest" + }, + "description": "A convenience method that provides all the features that analyzeSentiment,\nanalyzeEntities, and analyzeSyntax provide in one call.", + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "AnnotateTextResponse" + } + }, + "analyzeEntitySentiment": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-language", + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": {}, + "flatPath": "v1/documents:analyzeEntitySentiment", + "id": "language.documents.analyzeEntitySentiment", + "path": "v1/documents:analyzeEntitySentiment", + "request": { + "$ref": "AnalyzeEntitySentimentRequest" + }, + "description": "Finds entities, similar to AnalyzeEntities in the text and analyzes\nsentiment associated with each entity and its mentions.", + "response": { + "$ref": "AnalyzeEntitySentimentResponse" + }, + "parameterOrder": [], + "httpMethod": "POST" + } + } + } + }, + "parameters": { + "quotaUser": { + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string" + }, + "pp": { + "description": "Pretty-print response.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", + "location": "query" + }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string", + "location": "query" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string", + "location": "query" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", + "location": "query" + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, + "$.xgafv": { + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string" + }, + "alt": { + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ] + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "access_token": { + "location": "query", + "description": "OAuth access token.", + "type": "string" + } + }, + "version": "v1", + "baseUrl": "https://language.googleapis.com/", + "servicePath": "", + "description": "Provides natural language understanding technologies to developers. Examples include sentiment analysis, entity recognition, entity sentiment analysis, and text annotations.", + "kind": "discovery#restDescription", + "basePath": "", + "revision": "20170926", + "documentationLink": "https://cloud.google.com/natural-language/", + "id": "language:v1", + "discoveryVersion": "v1", + "version_module": true, "schemas": { - "AnalyzeEntitiesRequest": { - "description": "The entity analysis request message.", - "type": "object", - "properties": { - "document": { - "description": "Input document.", - "$ref": "Document" - }, - "encodingType": { - "enumDescriptions": [ - "If `EncodingType` is not specified, encoding-dependent information (such as\n`begin_offset`) will be set at `-1`.", - "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-8 encoding of the input. C++ and Go are examples of languages\nthat use this encoding natively.", - "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-16 encoding of the input. Java and Javascript are examples of\nlanguages that use this encoding natively.", - "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-32 encoding of the input. Python is an example of a language\nthat uses this encoding natively." - ], - "enum": [ - "NONE", - "UTF8", - "UTF16", - "UTF32" - ], - "description": "The encoding type used by the API to calculate offsets.", - "type": "string" - } - }, - "id": "AnalyzeEntitiesRequest" - }, - "Sentiment": { - "description": "Represents the feeling associated with the entire text or entities in\nthe text.", - "type": "object", - "properties": { - "score": { - "description": "Sentiment score between -1.0 (negative sentiment) and 1.0\n(positive sentiment).", - "format": "float", - "type": "number" - }, - "magnitude": { - "description": "A non-negative number in the [0, +inf) range, which represents\nthe absolute magnitude of sentiment regardless of score (positive or\nnegative).", - "format": "float", - "type": "number" - } - }, - "id": "Sentiment" - }, "PartOfSpeech": { + "id": "PartOfSpeech", "description": "Represents part of speech information for a token. Parts of speech\nare as defined in\nhttp://www.lrec-conf.org/proceedings/lrec2012/pdf/274_Paper.pdf", "type": "object", "properties": { + "tense": { + "enumDescriptions": [ + "Tense is not applicable in the analyzed language or is not predicted.", + "Conditional", + "Future", + "Past", + "Present", + "Imperfect", + "Pluperfect" + ], + "enum": [ + "TENSE_UNKNOWN", + "CONDITIONAL_TENSE", + "FUTURE", + "PAST", + "PRESENT", + "IMPERFECT", + "PLUPERFECT" + ], + "description": "The grammatical tense.", + "type": "string" + }, + "reciprocity": { + "description": "The grammatical reciprocity.", + "type": "string", + "enumDescriptions": [ + "Reciprocity is not applicable in the analyzed language or is not\npredicted.", + "Reciprocal", + "Non-reciprocal" + ], + "enum": [ + "RECIPROCITY_UNKNOWN", + "RECIPROCAL", + "NON_RECIPROCAL" + ] + }, "form": { "enumDescriptions": [ "Form is not applicable in the analyzed language or is not predicted.", @@ -129,8 +323,6 @@ "type": "string" }, "mood": { - "description": "The grammatical mood.", - "type": "string", "enumDescriptions": [ "Mood is not applicable in the analyzed language or is not predicted.", "Conditional", @@ -148,7 +340,9 @@ "INTERROGATIVE", "JUSSIVE", "SUBJUNCTIVE" - ] + ], + "description": "The grammatical mood.", + "type": "string" }, "tag": { "enumDescriptions": [ @@ -187,6 +381,8 @@ "type": "string" }, "gender": { + "description": "The grammatical gender.", + "type": "string", "enumDescriptions": [ "Gender is not applicable in the analyzed language or is not predicted.", "Feminine", @@ -198,11 +394,11 @@ "FEMININE", "MASCULINE", "NEUTER" - ], - "description": "The grammatical gender.", - "type": "string" + ] }, "person": { + "description": "The grammatical person.", + "type": "string", "enumDescriptions": [ "Person is not applicable in the analyzed language or is not predicted.", "First", @@ -216,13 +412,9 @@ "SECOND", "THIRD", "REFLEXIVE_PERSON" - ], - "description": "The grammatical person.", - "type": "string" + ] }, "proper": { - "description": "The grammatical properness.", - "type": "string", "enumDescriptions": [ "Proper is not applicable in the analyzed language or is not predicted.", "Proper", @@ -232,7 +424,9 @@ "PROPER_UNKNOWN", "PROPER", "NOT_PROPER" - ] + ], + "description": "The grammatical properness.", + "type": "string" }, "case": { "description": "The grammatical case.", @@ -271,47 +465,11 @@ "RELATIVE_CASE", "VOCATIVE" ] - }, - "tense": { - "description": "The grammatical tense.", - "type": "string", - "enumDescriptions": [ - "Tense is not applicable in the analyzed language or is not predicted.", - "Conditional", - "Future", - "Past", - "Present", - "Imperfect", - "Pluperfect" - ], - "enum": [ - "TENSE_UNKNOWN", - "CONDITIONAL_TENSE", - "FUTURE", - "PAST", - "PRESENT", - "IMPERFECT", - "PLUPERFECT" - ] - }, - "reciprocity": { - "enumDescriptions": [ - "Reciprocity is not applicable in the analyzed language or is not\npredicted.", - "Reciprocal", - "Non-reciprocal" - ], - "enum": [ - "RECIPROCITY_UNKNOWN", - "RECIPROCAL", - "NON_RECIPROCAL" - ], - "description": "The grammatical reciprocity.", - "type": "string" } - }, - "id": "PartOfSpeech" + } }, "AnalyzeSyntaxRequest": { + "id": "AnalyzeSyntaxRequest", "description": "The syntax analysis request message.", "type": "object", "properties": { @@ -335,30 +493,29 @@ "$ref": "Document", "description": "Input document." } - }, - "id": "AnalyzeSyntaxRequest" + } }, "AnalyzeSentimentResponse": { + "id": "AnalyzeSentimentResponse", "description": "The sentiment analysis response message.", "type": "object", "properties": { - "documentSentiment": { - "description": "The overall sentiment of the input document.", - "$ref": "Sentiment" - }, "language": { "description": "The language of the text, which will be the same as the language specified\nin the request or, if not specified, the automatically-detected language.\nSee Document.language field for more details.", "type": "string" }, "sentences": { "description": "The sentiment for all the sentences in the document.", - "type": "array", "items": { "$ref": "Sentence" - } + }, + "type": "array" + }, + "documentSentiment": { + "$ref": "Sentiment", + "description": "The overall sentiment of the input document." } - }, - "id": "AnalyzeSentimentResponse" + } }, "AnalyzeEntitiesResponse": { "description": "The entity analysis response message.", @@ -370,32 +527,48 @@ }, "entities": { "description": "The recognized entities in the input document.", - "type": "array", "items": { "$ref": "Entity" - } + }, + "type": "array" } }, "id": "AnalyzeEntitiesResponse" }, + "AnalyzeSyntaxResponse": { + "description": "The syntax analysis response message.", + "type": "object", + "properties": { + "language": { + "description": "The language of the text, which will be the same as the language specified\nin the request or, if not specified, the automatically-detected language.\nSee Document.language field for more details.", + "type": "string" + }, + "sentences": { + "description": "Sentences in the input document.", + "items": { + "$ref": "Sentence" + }, + "type": "array" + }, + "tokens": { + "description": "Tokens, along with their syntactic information, in the input document.", + "items": { + "$ref": "Token" + }, + "type": "array" + } + }, + "id": "AnalyzeSyntaxResponse" + }, "Entity": { "description": "Represents a phrase in the text that is a known entity, such as\na person, an organization, or location. The API associates information, such\nas salience and mentions, with entities.", "type": "object", "properties": { - "mentions": { - "description": "The mentions of this entity in the input document. The API currently\nsupports proper noun mentions.", - "type": "array", - "items": { - "$ref": "EntityMention" - } - }, "name": { "description": "The representative name for the entity.", "type": "string" }, "type": { - "description": "The entity type.", - "type": "string", "enumDescriptions": [ "Unknown", "Person", @@ -415,7 +588,9 @@ "WORK_OF_ART", "CONSUMER_GOOD", "OTHER" - ] + ], + "description": "The entity type.", + "type": "string" }, "metadata": { "additionalProperties": { @@ -425,38 +600,24 @@ "type": "object" }, "salience": { - "description": "The salience score associated with the entity in the [0, 1.0] range.\n\nThe salience score for an entity provides information about the\nimportance or centrality of that entity to the entire document text.\nScores closer to 0 are less salient, while scores closer to 1.0 are highly\nsalient.", "format": "float", + "description": "The salience score associated with the entity in the [0, 1.0] range.\n\nThe salience score for an entity provides information about the\nimportance or centrality of that entity to the entire document text.\nScores closer to 0 are less salient, while scores closer to 1.0 are highly\nsalient.", "type": "number" + }, + "sentiment": { + "description": "For calls to AnalyzeEntitySentiment or if\nAnnotateTextRequest.Features.extract_entity_sentiment is set to\ntrue, this field will contain the aggregate sentiment expressed for this\nentity in the provided document.", + "$ref": "Sentiment" + }, + "mentions": { + "description": "The mentions of this entity in the input document. The API currently\nsupports proper noun mentions.", + "items": { + "$ref": "EntityMention" + }, + "type": "array" } }, "id": "Entity" }, - "AnalyzeSyntaxResponse": { - "description": "The syntax analysis response message.", - "type": "object", - "properties": { - "sentences": { - "description": "Sentences in the input document.", - "type": "array", - "items": { - "$ref": "Sentence" - } - }, - "tokens": { - "description": "Tokens, along with their syntactic information, in the input document.", - "type": "array", - "items": { - "$ref": "Token" - } - }, - "language": { - "description": "The language of the text, which will be the same as the language specified\nin the request or, if not specified, the automatically-detected language.\nSee Document.language field for more details.", - "type": "string" - } - }, - "id": "AnalyzeSyntaxResponse" - }, "AnnotateTextRequest": { "description": "The request message for the text annotation API, which can perform multiple\nanalysis types (sentiment, entities, and syntax) in one call.", "type": "object", @@ -478,8 +639,8 @@ "type": "string" }, "document": { - "$ref": "Document", - "description": "Input document." + "description": "Input document.", + "$ref": "Document" }, "features": { "description": "The enabled features.", @@ -492,47 +653,46 @@ "description": "The text annotations response message.", "type": "object", "properties": { + "language": { + "description": "The language of the text, which will be the same as the language specified\nin the request or, if not specified, the automatically-detected language.\nSee Document.language field for more details.", + "type": "string" + }, "sentences": { "description": "Sentences in the input document. Populated if the user enables\nAnnotateTextRequest.Features.extract_syntax.", - "type": "array", "items": { "$ref": "Sentence" - } + }, + "type": "array" }, "tokens": { "description": "Tokens, along with their syntactic information, in the input document.\nPopulated if the user enables\nAnnotateTextRequest.Features.extract_syntax.", - "type": "array", "items": { "$ref": "Token" - } + }, + "type": "array" }, "entities": { "description": "Entities, along with their semantic information, in the input document.\nPopulated if the user enables\nAnnotateTextRequest.Features.extract_entities.", - "type": "array", "items": { "$ref": "Entity" - } + }, + "type": "array" }, "documentSentiment": { "$ref": "Sentiment", "description": "The overall sentiment for the document. Populated if the user enables\nAnnotateTextRequest.Features.extract_document_sentiment." - }, - "language": { - "description": "The language of the text, which will be the same as the language specified\nin the request or, if not specified, the automatically-detected language.\nSee Document.language field for more details.", - "type": "string" } }, "id": "AnnotateTextResponse" }, "AnalyzeSentimentRequest": { + "id": "AnalyzeSentimentRequest", "description": "The sentiment analysis request message.", "type": "object", "properties": { - "document": { - "$ref": "Document", - "description": "Input document." - }, "encodingType": { + "description": "The encoding type used by the API to calculate sentence offsets.", + "type": "string", "enumDescriptions": [ "If `EncodingType` is not specified, encoding-dependent information (such as\n`begin_offset`) will be set at `-1`.", "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-8 encoding of the input. C++ and Go are examples of languages\nthat use this encoding natively.", @@ -544,18 +704,21 @@ "UTF8", "UTF16", "UTF32" - ], - "description": "The encoding type used by the API to calculate sentence offsets.", - "type": "string" + ] + }, + "document": { + "$ref": "Document", + "description": "Input document." } - }, - "id": "AnalyzeSentimentRequest" + } }, "DependencyEdge": { "description": "Represents dependency parse tree information for a token. (For more\ninformation on dependency labels, see\nhttp://www.aclweb.org/anthology/P13-2017", "type": "object", "properties": { "label": { + "description": "The parse label for the token.", + "type": "string", "enumDescriptions": [ "Unknown", "Abbreviation modifier", @@ -633,7 +796,13 @@ "Nominalized clausal passive", "Compound of numeric modifier", "Copula", - "Dislocated relation (for fronted/topicalized elements)" + "Dislocated relation (for fronted/topicalized elements)", + "Aspect marker", + "Genitive modifier", + "Genitive object", + "Infinitival modifier", + "Measure", + "Nominal complement of a noun" ], "enum": [ "UNKNOWN", @@ -712,49 +881,30 @@ "NOMCSUBJPASS", "NUMC", "COP", - "DISLOCATED" - ], - "description": "The parse label for the token.", - "type": "string" + "DISLOCATED", + "ASP", + "GMOD", + "GOBJ", + "INFMOD", + "MES", + "NCOMP" + ] }, "headTokenIndex": { - "description": "Represents the head of this token in the dependency tree.\nThis is the index of the token which has an arc going to this token.\nThe index is the position of the token in the array of tokens returned\nby the API method. If this token is a root token, then the\n`head_token_index` is its own index.", "format": "int32", + "description": "Represents the head of this token in the dependency tree.\nThis is the index of the token which has an arc going to this token.\nThe index is the position of the token in the array of tokens returned\nby the API method. If this token is a root token, then the\n`head_token_index` is its own index.", "type": "integer" } }, "id": "DependencyEdge" }, - "Token": { - "description": "Represents the smallest syntactic building block of the text.", - "type": "object", - "properties": { - "partOfSpeech": { - "description": "Parts of speech tag for this token.", - "$ref": "PartOfSpeech" - }, - "text": { - "$ref": "TextSpan", - "description": "The token text." - }, - "dependencyEdge": { - "description": "Dependency tree parse for this token.", - "$ref": "DependencyEdge" - }, - "lemma": { - "description": "[Lemma](https://en.wikipedia.org/wiki/Lemma_%28morphology%29) of the token.", - "type": "string" - } - }, - "id": "Token" - }, "TextSpan": { "description": "Represents an output piece of text.", "type": "object", "properties": { "beginOffset": { - "description": "The API calculates the beginning offset of the content in the original\ndocument according to the EncodingType specified in the API request.", "format": "int32", + "description": "The API calculates the beginning offset of the content in the original\ndocument according to the EncodingType specified in the API request.", "type": "integer" }, "content": { @@ -764,29 +914,52 @@ }, "id": "TextSpan" }, + "Token": { + "description": "Represents the smallest syntactic building block of the text.", + "type": "object", + "properties": { + "partOfSpeech": { + "$ref": "PartOfSpeech", + "description": "Parts of speech tag for this token." + }, + "dependencyEdge": { + "$ref": "DependencyEdge", + "description": "Dependency tree parse for this token." + }, + "text": { + "$ref": "TextSpan", + "description": "The token text." + }, + "lemma": { + "description": "[Lemma](https://en.wikipedia.org/wiki/Lemma_%28morphology%29) of the token.", + "type": "string" + } + }, + "id": "Token" + }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", "type": "object", "properties": { + "code": { + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + }, "details": { - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", - "type": "array", + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", "items": { "type": "object", "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" } - } - }, - "code": { - "description": "The status code, which should be an enum value of google.rpc.Code.", - "format": "int32", - "type": "integer" - }, - "message": { - "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", - "type": "string" + }, + "type": "array" } }, "id": "Status" @@ -795,10 +968,6 @@ "description": "Represents a mention for an entity in the text. Currently, proper noun\nmentions are supported.", "type": "object", "properties": { - "text": { - "$ref": "TextSpan", - "description": "The mention text." - }, "type": { "enumDescriptions": [ "Unknown", @@ -812,30 +981,58 @@ ], "description": "The type of the entity mention.", "type": "string" + }, + "text": { + "$ref": "TextSpan", + "description": "The mention text." + }, + "sentiment": { + "description": "For calls to AnalyzeEntitySentiment or if\nAnnotateTextRequest.Features.extract_entity_sentiment is set to\ntrue, this field will contain the sentiment expressed for this mention of\nthe entity in the provided document.", + "$ref": "Sentiment" } }, "id": "EntityMention" }, "Features": { + "id": "Features", "description": "All available features for sentiment, syntax, and semantic analysis.\nSetting each one to true will enable that specific analysis for the input.", "type": "object", "properties": { - "extractSyntax": { - "description": "Extract syntax information.", + "extractEntities": { + "description": "Extract entities.", + "type": "boolean" + }, + "extractEntitySentiment": { + "description": "Extract entities and their associated sentiment.", "type": "boolean" }, "extractDocumentSentiment": { "description": "Extract document-level sentiment.", "type": "boolean" }, - "extractEntities": { - "description": "Extract entities.", + "extractSyntax": { + "description": "Extract syntax information.", "type": "boolean" } - }, - "id": "Features" + } + }, + "Sentence": { + "id": "Sentence", + "description": "Represents a sentence in the input document.", + "type": "object", + "properties": { + "text": { + "$ref": "TextSpan", + "description": "The sentence text." + }, + "sentiment": { + "description": "For calls to AnalyzeSentiment or if\nAnnotateTextRequest.Features.extract_document_sentiment is set to\ntrue, this field will contain the sentiment for the sentence.", + "$ref": "Sentiment" + } + } }, "Document": { + "id": "Document", "description": "################################################################ #\n\nRepresents the input to API methods.", "type": "object", "properties": { @@ -843,9 +1040,11 @@ "description": "The language of the document (if not specified, the language is\nautomatically detected). Both ISO and BCP-47 language codes are\naccepted.\u003cbr\u003e\n[Language Support](/natural-language/docs/languages)\nlists currently supported languages for each API method.\nIf the language (either specified by the caller or automatically detected)\nis not supported by the called API method, an `INVALID_ARGUMENT` error\nis returned.", "type": "string" }, + "content": { + "description": "The content of the input in string format.", + "type": "string" + }, "type": { - "description": "Required. If the type is not set or is `TYPE_UNSPECIFIED`,\nreturns an `INVALID_ARGUMENT` error.", - "type": "string", "enumDescriptions": [ "The content type is not specified.", "Plain text", @@ -855,44 +1054,118 @@ "TYPE_UNSPECIFIED", "PLAIN_TEXT", "HTML" - ] - }, - "content": { - "description": "The content of the input in string format.", + ], + "description": "Required. If the type is not set or is `TYPE_UNSPECIFIED`,\nreturns an `INVALID_ARGUMENT` error.", "type": "string" }, "gcsContentUri": { "description": "The Google Cloud Storage URI where the file content is located.\nThis URI must be of the form: gs://bucket_name/object_name. For more\ndetails, see https://cloud.google.com/storage/docs/reference-uris.\nNOTE: Cloud Storage object versioning is not supported.", "type": "string" } - }, - "id": "Document" + } }, - "Sentence": { - "description": "Represents a sentence in the input document.", + "AnalyzeEntitiesRequest": { + "id": "AnalyzeEntitiesRequest", + "description": "The entity analysis request message.", "type": "object", "properties": { - "text": { - "description": "The sentence text.", - "$ref": "TextSpan" + "encodingType": { + "description": "The encoding type used by the API to calculate offsets.", + "type": "string", + "enumDescriptions": [ + "If `EncodingType` is not specified, encoding-dependent information (such as\n`begin_offset`) will be set at `-1`.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-8 encoding of the input. C++ and Go are examples of languages\nthat use this encoding natively.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-16 encoding of the input. Java and Javascript are examples of\nlanguages that use this encoding natively.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-32 encoding of the input. Python is an example of a language\nthat uses this encoding natively." + ], + "enum": [ + "NONE", + "UTF8", + "UTF16", + "UTF32" + ] }, - "sentiment": { - "$ref": "Sentiment", - "description": "For calls to AnalyzeSentiment or if\nAnnotateTextRequest.Features.extract_document_sentiment is set to\ntrue, this field will contain the sentiment for the sentence." + "document": { + "$ref": "Document", + "description": "Input document." } - }, - "id": "Sentence" + } + }, + "Sentiment": { + "id": "Sentiment", + "description": "Represents the feeling associated with the entire text or entities in\nthe text.", + "type": "object", + "properties": { + "score": { + "format": "float", + "description": "Sentiment score between -1.0 (negative sentiment) and 1.0\n(positive sentiment).", + "type": "number" + }, + "magnitude": { + "format": "float", + "description": "A non-negative number in the [0, +inf) range, which represents\nthe absolute magnitude of sentiment regardless of score (positive or\nnegative).", + "type": "number" + } + } + }, + "AnalyzeEntitySentimentResponse": { + "id": "AnalyzeEntitySentimentResponse", + "description": "The entity-level sentiment analysis response message.", + "type": "object", + "properties": { + "language": { + "description": "The language of the text, which will be the same as the language specified\nin the request or, if not specified, the automatically-detected language.\nSee Document.language field for more details.", + "type": "string" + }, + "entities": { + "description": "The recognized entities in the input document with associated sentiments.", + "items": { + "$ref": "Entity" + }, + "type": "array" + } + } + }, + "AnalyzeEntitySentimentRequest": { + "id": "AnalyzeEntitySentimentRequest", + "description": "The entity-level sentiment analysis request message.", + "type": "object", + "properties": { + "encodingType": { + "enumDescriptions": [ + "If `EncodingType` is not specified, encoding-dependent information (such as\n`begin_offset`) will be set at `-1`.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-8 encoding of the input. C++ and Go are examples of languages\nthat use this encoding natively.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-16 encoding of the input. Java and Javascript are examples of\nlanguages that use this encoding natively.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-32 encoding of the input. Python is an example of a language\nthat uses this encoding natively." + ], + "enum": [ + "NONE", + "UTF8", + "UTF16", + "UTF32" + ], + "description": "The encoding type used by the API to calculate offsets.", + "type": "string" + }, + "document": { + "description": "Input document.", + "$ref": "Document" + } + } } }, "protocol": "rest", "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" }, "canonicalName": "Cloud Natural Language", "auth": { "oauth2": { "scopes": { + "https://www.googleapis.com/auth/cloud-language": { + "description": "Apply machine learning models to reveal the structure and meaning of text" + }, "https://www.googleapis.com/auth/cloud-platform": { "description": "View and manage your data across Google Cloud Platform services" } @@ -903,183 +1176,5 @@ "ownerDomain": "google.com", "name": "language", "batchPath": "batch", - "title": "Google Cloud Natural Language API", - "ownerName": "Google", - "resources": { - "documents": { - "methods": { - "analyzeSyntax": { - "response": { - "$ref": "AnalyzeSyntaxResponse" - }, - "parameterOrder": [], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": {}, - "flatPath": "v1/documents:analyzeSyntax", - "path": "v1/documents:analyzeSyntax", - "id": "language.documents.analyzeSyntax", - "description": "Analyzes the syntax of the text and provides sentence boundaries and\ntokenization along with part of speech tags, dependency trees, and other\nproperties.", - "request": { - "$ref": "AnalyzeSyntaxRequest" - } - }, - "analyzeSentiment": { - "response": { - "$ref": "AnalyzeSentimentResponse" - }, - "parameterOrder": [], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": {}, - "flatPath": "v1/documents:analyzeSentiment", - "path": "v1/documents:analyzeSentiment", - "id": "language.documents.analyzeSentiment", - "description": "Analyzes the sentiment of the provided text.", - "request": { - "$ref": "AnalyzeSentimentRequest" - } - }, - "annotateText": { - "flatPath": "v1/documents:annotateText", - "id": "language.documents.annotateText", - "path": "v1/documents:annotateText", - "request": { - "$ref": "AnnotateTextRequest" - }, - "description": "A convenience method that provides all the features that analyzeSentiment,\nanalyzeEntities, and analyzeSyntax provide in one call.", - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "AnnotateTextResponse" - }, - "parameters": {}, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "analyzeEntities": { - "response": { - "$ref": "AnalyzeEntitiesResponse" - }, - "parameterOrder": [], - "httpMethod": "POST", - "parameters": {}, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/documents:analyzeEntities", - "path": "v1/documents:analyzeEntities", - "id": "language.documents.analyzeEntities", - "request": { - "$ref": "AnalyzeEntitiesRequest" - }, - "description": "Finds named entities (currently proper names and common nouns) in the text\nalong with entity types, salience, mentions for each entity, and\nother properties." - } - } - } - }, - "parameters": { - "pp": { - "location": "query", - "description": "Pretty-print response.", - "type": "boolean", - "default": "true" - }, - "oauth_token": { - "location": "query", - "description": "OAuth 2.0 token for the current user.", - "type": "string" - }, - "bearer_token": { - "description": "OAuth bearer token.", - "type": "string", - "location": "query" - }, - "upload_protocol": { - "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string" - }, - "prettyPrint": { - "location": "query", - "description": "Returns response with indentations and line breaks.", - "type": "boolean", - "default": "true" - }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string", - "location": "query" - }, - "fields": { - "location": "query", - "description": "Selector specifying which fields to include in a partial response.", - "type": "string" - }, - "$.xgafv": { - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" - ], - "description": "V1 error format.", - "type": "string" - }, - "callback": { - "description": "JSONP", - "type": "string", - "location": "query" - }, - "alt": { - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query", - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], - "type": "string" - }, - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string", - "location": "query" - }, - "access_token": { - "description": "OAuth access token.", - "type": "string", - "location": "query" - }, - "quotaUser": { - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string", - "location": "query" - } - }, - "version": "v1", - "baseUrl": "https://language.googleapis.com/", - "description": "Provides natural language understanding technologies to developers. Examples include sentiment analysis, entity recognition, entity sentiment analysis, and text annotations.", - "servicePath": "", - "kind": "discovery#restDescription", - "basePath": "", - "documentationLink": "https://cloud.google.com/natural-language/", - "revision": "20170619", - "id": "language:v1", - "discoveryVersion": "v1", - "version_module": "True" + "title": "Google Cloud Natural Language API" } diff --git a/vendor/google.golang.org/api/language/v1/language-gen.go b/vendor/google.golang.org/api/language/v1/language-gen.go index 74134bb14..21fafb2b4 100644 --- a/vendor/google.golang.org/api/language/v1/language-gen.go +++ b/vendor/google.golang.org/api/language/v1/language-gen.go @@ -47,6 +47,10 @@ const basePath = "https://language.googleapis.com/" // OAuth2 scopes used by this API. const ( + // Apply machine learning models to reveal the structure and meaning of + // text + CloudLanguageScope = "https://www.googleapis.com/auth/cloud-language" + // View and manage your data across Google Cloud Platform services CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" ) @@ -174,6 +178,99 @@ func (s *AnalyzeEntitiesResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// AnalyzeEntitySentimentRequest: The entity-level sentiment analysis +// request message. +type AnalyzeEntitySentimentRequest struct { + // Document: Input document. + Document *Document `json:"document,omitempty"` + + // EncodingType: The encoding type used by the API to calculate offsets. + // + // Possible values: + // "NONE" - If `EncodingType` is not specified, encoding-dependent + // information (such as + // `begin_offset`) will be set at `-1`. + // "UTF8" - Encoding-dependent information (such as `begin_offset`) is + // calculated based + // on the UTF-8 encoding of the input. C++ and Go are examples of + // languages + // that use this encoding natively. + // "UTF16" - Encoding-dependent information (such as `begin_offset`) + // is calculated based + // on the UTF-16 encoding of the input. Java and Javascript are examples + // of + // languages that use this encoding natively. + // "UTF32" - Encoding-dependent information (such as `begin_offset`) + // is calculated based + // on the UTF-32 encoding of the input. Python is an example of a + // language + // that uses this encoding natively. + EncodingType string `json:"encodingType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Document") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Document") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AnalyzeEntitySentimentRequest) MarshalJSON() ([]byte, error) { + type noMethod AnalyzeEntitySentimentRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AnalyzeEntitySentimentResponse: The entity-level sentiment analysis +// response message. +type AnalyzeEntitySentimentResponse struct { + // Entities: The recognized entities in the input document with + // associated sentiments. + Entities []*Entity `json:"entities,omitempty"` + + // Language: The language of the text, which will be the same as the + // language specified + // in the request or, if not specified, the automatically-detected + // language. + // See Document.language field for more details. + Language string `json:"language,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Entities") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Entities") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AnalyzeEntitySentimentResponse) MarshalJSON() ([]byte, error) { + type noMethod AnalyzeEntitySentimentResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // AnalyzeSentimentRequest: The sentiment analysis request message. type AnalyzeSentimentRequest struct { // Document: Input document. @@ -580,6 +677,12 @@ type DependencyEdge struct { // "COP" - Copula // "DISLOCATED" - Dislocated relation (for fronted/topicalized // elements) + // "ASP" - Aspect marker + // "GMOD" - Genitive modifier + // "GOBJ" - Genitive object + // "INFMOD" - Infinitival modifier + // "MES" - Measure + // "NCOMP" - Nominal complement of a noun Label string `json:"label,omitempty"` // ForceSendFields is a list of field names (e.g. "HeadTokenIndex") to @@ -705,6 +808,14 @@ type Entity struct { // salient. Salience float64 `json:"salience,omitempty"` + // Sentiment: For calls to AnalyzeEntitySentiment or + // if + // AnnotateTextRequest.Features.extract_entity_sentiment is set to + // true, this field will contain the aggregate sentiment expressed for + // this + // entity in the provided document. + Sentiment *Sentiment `json:"sentiment,omitempty"` + // Type: The entity type. // // Possible values: @@ -759,6 +870,14 @@ func (s *Entity) UnmarshalJSON(data []byte) error { // Currently, proper noun // mentions are supported. type EntityMention struct { + // Sentiment: For calls to AnalyzeEntitySentiment or + // if + // AnnotateTextRequest.Features.extract_entity_sentiment is set to + // true, this field will contain the sentiment expressed for this + // mention of + // the entity in the provided document. + Sentiment *Sentiment `json:"sentiment,omitempty"` + // Text: The mention text. Text *TextSpan `json:"text,omitempty"` @@ -770,7 +889,7 @@ type EntityMention struct { // "COMMON" - Common noun (or noun compound) Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Text") to + // ForceSendFields is a list of field names (e.g. "Sentiment") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -778,8 +897,8 @@ type EntityMention struct { // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Text") to include in API - // requests with the JSON null value. By default, fields with empty + // NullFields is a list of field names (e.g. "Sentiment") to include in + // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. @@ -804,6 +923,10 @@ type Features struct { // ExtractEntities: Extract entities. ExtractEntities bool `json:"extractEntities,omitempty"` + // ExtractEntitySentiment: Extract entities and their associated + // sentiment. + ExtractEntitySentiment bool `json:"extractEntitySentiment,omitempty"` + // ExtractSyntax: Extract syntax information. ExtractSyntax bool `json:"extractSyntax,omitempty"` @@ -1189,9 +1312,9 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in @@ -1414,6 +1537,130 @@ func (c *DocumentsAnalyzeEntitiesCall) Do(opts ...googleapi.CallOption) (*Analyz // "$ref": "AnalyzeEntitiesResponse" // }, // "scopes": [ + // "https://www.googleapis.com/auth/cloud-language", + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "language.documents.analyzeEntitySentiment": + +type DocumentsAnalyzeEntitySentimentCall struct { + s *Service + analyzeentitysentimentrequest *AnalyzeEntitySentimentRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// AnalyzeEntitySentiment: Finds entities, similar to AnalyzeEntities in +// the text and analyzes +// sentiment associated with each entity and its mentions. +func (r *DocumentsService) AnalyzeEntitySentiment(analyzeentitysentimentrequest *AnalyzeEntitySentimentRequest) *DocumentsAnalyzeEntitySentimentCall { + c := &DocumentsAnalyzeEntitySentimentCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.analyzeentitysentimentrequest = analyzeentitysentimentrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *DocumentsAnalyzeEntitySentimentCall) Fields(s ...googleapi.Field) *DocumentsAnalyzeEntitySentimentCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *DocumentsAnalyzeEntitySentimentCall) Context(ctx context.Context) *DocumentsAnalyzeEntitySentimentCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *DocumentsAnalyzeEntitySentimentCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *DocumentsAnalyzeEntitySentimentCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.analyzeentitysentimentrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/documents:analyzeEntitySentiment") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "language.documents.analyzeEntitySentiment" call. +// Exactly one of *AnalyzeEntitySentimentResponse or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *AnalyzeEntitySentimentResponse.ServerResponse.Header or (if a +// response was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *DocumentsAnalyzeEntitySentimentCall) Do(opts ...googleapi.CallOption) (*AnalyzeEntitySentimentResponse, 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, &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, err + } + ret := &AnalyzeEntitySentimentResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Finds entities, similar to AnalyzeEntities in the text and analyzes\nsentiment associated with each entity and its mentions.", + // "flatPath": "v1/documents:analyzeEntitySentiment", + // "httpMethod": "POST", + // "id": "language.documents.analyzeEntitySentiment", + // "parameterOrder": [], + // "parameters": {}, + // "path": "v1/documents:analyzeEntitySentiment", + // "request": { + // "$ref": "AnalyzeEntitySentimentRequest" + // }, + // "response": { + // "$ref": "AnalyzeEntitySentimentResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-language", // "https://www.googleapis.com/auth/cloud-platform" // ] // } @@ -1534,6 +1781,7 @@ func (c *DocumentsAnalyzeSentimentCall) Do(opts ...googleapi.CallOption) (*Analy // "$ref": "AnalyzeSentimentResponse" // }, // "scopes": [ + // "https://www.googleapis.com/auth/cloud-language", // "https://www.googleapis.com/auth/cloud-platform" // ] // } @@ -1658,6 +1906,7 @@ func (c *DocumentsAnalyzeSyntaxCall) Do(opts ...googleapi.CallOption) (*AnalyzeS // "$ref": "AnalyzeSyntaxResponse" // }, // "scopes": [ + // "https://www.googleapis.com/auth/cloud-language", // "https://www.googleapis.com/auth/cloud-platform" // ] // } @@ -1780,6 +2029,7 @@ func (c *DocumentsAnnotateTextCall) Do(opts ...googleapi.CallOption) (*AnnotateT // "$ref": "AnnotateTextResponse" // }, // "scopes": [ + // "https://www.googleapis.com/auth/cloud-language", // "https://www.googleapis.com/auth/cloud-platform" // ] // } diff --git a/vendor/google.golang.org/api/language/v1beta1/language-api.json b/vendor/google.golang.org/api/language/v1beta1/language-api.json index aaf6cefff..e719c0413 100644 --- a/vendor/google.golang.org/api/language/v1beta1/language-api.json +++ b/vendor/google.golang.org/api/language/v1beta1/language-api.json @@ -1,212 +1,523 @@ { - "canonicalName": "Cloud Natural Language", - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" - } - } - } - }, - "rootUrl": "https://language.googleapis.com/", - "ownerDomain": "google.com", - "name": "language", - "batchPath": "batch", - "title": "Google Cloud Natural Language API", - "ownerName": "Google", - "resources": { - "documents": { - "methods": { - "analyzeEntities": { - "id": "language.documents.analyzeEntities", - "path": "v1beta1/documents:analyzeEntities", - "request": { - "$ref": "AnalyzeEntitiesRequest" - }, - "description": "Finds named entities (currently proper names and common nouns) in the text\nalong with entity types, salience, mentions for each entity, and\nother properties.", - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "AnalyzeEntitiesResponse" - }, - "parameters": {}, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta1/documents:analyzeEntities" - }, - "analyzeSyntax": { - "description": "Analyzes the syntax of the text and provides sentence boundaries and\ntokenization along with part of speech tags, dependency trees, and other\nproperties.", - "request": { - "$ref": "AnalyzeSyntaxRequest" - }, - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "AnalyzeSyntaxResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": {}, - "flatPath": "v1beta1/documents:analyzeSyntax", - "id": "language.documents.analyzeSyntax", - "path": "v1beta1/documents:analyzeSyntax" - }, - "analyzeSentiment": { - "id": "language.documents.analyzeSentiment", - "path": "v1beta1/documents:analyzeSentiment", - "request": { - "$ref": "AnalyzeSentimentRequest" - }, - "description": "Analyzes the sentiment of the provided text.", - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "AnalyzeSentimentResponse" - }, - "parameters": {}, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta1/documents:analyzeSentiment" - }, - "annotateText": { - "response": { - "$ref": "AnnotateTextResponse" - }, - "parameterOrder": [], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": {}, - "flatPath": "v1beta1/documents:annotateText", - "path": "v1beta1/documents:annotateText", - "id": "language.documents.annotateText", - "description": "A convenience method that provides all the features that analyzeSentiment,\nanalyzeEntities, and analyzeSyntax provide in one call.", - "request": { - "$ref": "AnnotateTextRequest" - } - } - } - } - }, - "parameters": { - "upload_protocol": { - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string", - "location": "query" - }, - "prettyPrint": { - "description": "Returns response with indentations and line breaks.", - "type": "boolean", - "default": "true", - "location": "query" - }, - "uploadType": { - "location": "query", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string" - }, - "fields": { - "location": "query", - "description": "Selector specifying which fields to include in a partial response.", - "type": "string" - }, - "$.xgafv": { - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" - ], - "description": "V1 error format.", - "type": "string" - }, - "callback": { - "description": "JSONP", - "type": "string", - "location": "query" - }, - "alt": { - "enum": [ - "json", - "media", - "proto" - ], - "type": "string", - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query", - "description": "Data format for response.", - "default": "json" - }, - "access_token": { - "location": "query", - "description": "OAuth access token.", - "type": "string" - }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, - "quotaUser": { - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" - }, - "pp": { - "location": "query", - "description": "Pretty-print response.", - "type": "boolean", - "default": "true" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" - }, - "bearer_token": { - "description": "OAuth bearer token.", - "type": "string", - "location": "query" - } - }, - "version": "v1beta1", - "baseUrl": "https://language.googleapis.com/", - "description": "Provides natural language understanding technologies to developers. Examples include sentiment analysis, entity recognition, entity sentiment analysis, and text annotations.", - "kind": "discovery#restDescription", - "servicePath": "", - "basePath": "", - "id": "language:v1beta1", - "revision": "20170619", - "documentationLink": "https://cloud.google.com/natural-language/", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { + "Features": { + "id": "Features", + "description": "All available features for sentiment, syntax, and semantic analysis.\nSetting each one to true will enable that specific analysis for the input.", + "type": "object", + "properties": { + "extractDocumentSentiment": { + "description": "Extract document-level sentiment.", + "type": "boolean" + }, + "extractSyntax": { + "description": "Extract syntax information.", + "type": "boolean" + }, + "extractEntities": { + "description": "Extract entities.", + "type": "boolean" + } + } + }, + "EntityMention": { + "description": "Represents a mention for an entity in the text. Currently, proper noun\nmentions are supported.", + "type": "object", + "properties": { + "type": { + "enum": [ + "TYPE_UNKNOWN", + "PROPER", + "COMMON" + ], + "description": "The type of the entity mention.", + "type": "string", + "enumDescriptions": [ + "Unknown", + "Proper name", + "Common noun (or noun compound)" + ] + }, + "text": { + "$ref": "TextSpan", + "description": "The mention text." + } + }, + "id": "EntityMention" + }, + "Document": { + "properties": { + "gcsContentUri": { + "description": "The Google Cloud Storage URI where the file content is located.\nThis URI must be of the form: gs://bucket_name/object_name. For more\ndetails, see https://cloud.google.com/storage/docs/reference-uris.\nNOTE: Cloud Storage object versioning is not supported.", + "type": "string" + }, + "language": { + "description": "The language of the document (if not specified, the language is\nautomatically detected). Both ISO and BCP-47 language codes are\naccepted.\u003cbr\u003e\n[Language Support](/natural-language/docs/languages)\nlists currently supported languages for each API method.\nIf the language (either specified by the caller or automatically detected)\nis not supported by the called API method, an `INVALID_ARGUMENT` error\nis returned.", + "type": "string" + }, + "content": { + "description": "The content of the input in string format.", + "type": "string" + }, + "type": { + "enumDescriptions": [ + "The content type is not specified.", + "Plain text", + "HTML" + ], + "enum": [ + "TYPE_UNSPECIFIED", + "PLAIN_TEXT", + "HTML" + ], + "description": "Required. If the type is not set or is `TYPE_UNSPECIFIED`,\nreturns an `INVALID_ARGUMENT` error.", + "type": "string" + } + }, + "id": "Document", + "description": "################################################################ #\n\nRepresents the input to API methods.", + "type": "object" + }, + "Sentence": { + "type": "object", + "properties": { + "text": { + "description": "The sentence text.", + "$ref": "TextSpan" + }, + "sentiment": { + "description": "For calls to AnalyzeSentiment or if\nAnnotateTextRequest.Features.extract_document_sentiment is set to\ntrue, this field will contain the sentiment for the sentence.", + "$ref": "Sentiment" + } + }, + "id": "Sentence", + "description": "Represents a sentence in the input document." + }, + "Sentiment": { + "properties": { + "score": { + "type": "number", + "format": "float", + "description": "Sentiment score between -1.0 (negative sentiment) and 1.0\n(positive sentiment)." + }, + "polarity": { + "format": "float", + "description": "DEPRECATED FIELD - This field is being deprecated in\nfavor of score. Please refer to our documentation at\nhttps://cloud.google.com/natural-language/docs for more information.", + "type": "number" + }, + "magnitude": { + "format": "float", + "description": "A non-negative number in the [0, +inf) range, which represents\nthe absolute magnitude of sentiment regardless of score (positive or\nnegative).", + "type": "number" + } + }, + "id": "Sentiment", + "description": "Represents the feeling associated with the entire text or entities in\nthe text.", + "type": "object" + }, + "AnalyzeEntitiesRequest": { + "description": "The entity analysis request message.", + "type": "object", + "properties": { + "encodingType": { + "enumDescriptions": [ + "If `EncodingType` is not specified, encoding-dependent information (such as\n`begin_offset`) will be set at `-1`.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-8 encoding of the input. C++ and Go are examples of languages\nthat use this encoding natively.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-16 encoding of the input. Java and Javascript are examples of\nlanguages that use this encoding natively.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-32 encoding of the input. Python is an example of a language\nthat uses this encoding natively." + ], + "enum": [ + "NONE", + "UTF8", + "UTF16", + "UTF32" + ], + "description": "The encoding type used by the API to calculate offsets.", + "type": "string" + }, + "document": { + "$ref": "Document", + "description": "Input document." + } + }, + "id": "AnalyzeEntitiesRequest" + }, + "PartOfSpeech": { + "description": "Represents part of speech information for a token.", + "type": "object", + "properties": { + "form": { + "enumDescriptions": [ + "Form is not applicable in the analyzed language or is not predicted.", + "Adnomial", + "Auxiliary", + "Complementizer", + "Final ending", + "Gerund", + "Realis", + "Irrealis", + "Short form", + "Long form", + "Order form", + "Specific form" + ], + "enum": [ + "FORM_UNKNOWN", + "ADNOMIAL", + "AUXILIARY", + "COMPLEMENTIZER", + "FINAL_ENDING", + "GERUND", + "REALIS", + "IRREALIS", + "SHORT", + "LONG", + "ORDER", + "SPECIFIC" + ], + "description": "The grammatical form.", + "type": "string" + }, + "number": { + "enum": [ + "NUMBER_UNKNOWN", + "SINGULAR", + "PLURAL", + "DUAL" + ], + "description": "The grammatical number.", + "type": "string", + "enumDescriptions": [ + "Number is not applicable in the analyzed language or is not predicted.", + "Singular", + "Plural", + "Dual" + ] + }, + "voice": { + "type": "string", + "enumDescriptions": [ + "Voice is not applicable in the analyzed language or is not predicted.", + "Active", + "Causative", + "Passive" + ], + "enum": [ + "VOICE_UNKNOWN", + "ACTIVE", + "CAUSATIVE", + "PASSIVE" + ], + "description": "The grammatical voice." + }, + "aspect": { + "enum": [ + "ASPECT_UNKNOWN", + "PERFECTIVE", + "IMPERFECTIVE", + "PROGRESSIVE" + ], + "description": "The grammatical aspect.", + "type": "string", + "enumDescriptions": [ + "Aspect is not applicable in the analyzed language or is not predicted.", + "Perfective", + "Imperfective", + "Progressive" + ] + }, + "mood": { + "type": "string", + "enumDescriptions": [ + "Mood is not applicable in the analyzed language or is not predicted.", + "Conditional", + "Imperative", + "Indicative", + "Interrogative", + "Jussive", + "Subjunctive" + ], + "enum": [ + "MOOD_UNKNOWN", + "CONDITIONAL_MOOD", + "IMPERATIVE", + "INDICATIVE", + "INTERROGATIVE", + "JUSSIVE", + "SUBJUNCTIVE" + ], + "description": "The grammatical mood." + }, + "tag": { + "type": "string", + "enumDescriptions": [ + "Unknown", + "Adjective", + "Adposition (preposition and postposition)", + "Adverb", + "Conjunction", + "Determiner", + "Noun (common and proper)", + "Cardinal number", + "Pronoun", + "Particle or other function word", + "Punctuation", + "Verb (all tenses and modes)", + "Other: foreign words, typos, abbreviations", + "Affix" + ], + "enum": [ + "UNKNOWN", + "ADJ", + "ADP", + "ADV", + "CONJ", + "DET", + "NOUN", + "NUM", + "PRON", + "PRT", + "PUNCT", + "VERB", + "X", + "AFFIX" + ], + "description": "The part of speech tag." + }, + "gender": { + "description": "The grammatical gender.", + "type": "string", + "enumDescriptions": [ + "Gender is not applicable in the analyzed language or is not predicted.", + "Feminine", + "Masculine", + "Neuter" + ], + "enum": [ + "GENDER_UNKNOWN", + "FEMININE", + "MASCULINE", + "NEUTER" + ] + }, + "person": { + "enum": [ + "PERSON_UNKNOWN", + "FIRST", + "SECOND", + "THIRD", + "REFLEXIVE_PERSON" + ], + "description": "The grammatical person.", + "type": "string", + "enumDescriptions": [ + "Person is not applicable in the analyzed language or is not predicted.", + "First", + "Second", + "Third", + "Reflexive" + ] + }, + "proper": { + "enumDescriptions": [ + "Proper is not applicable in the analyzed language or is not predicted.", + "Proper", + "Not proper" + ], + "enum": [ + "PROPER_UNKNOWN", + "PROPER", + "NOT_PROPER" + ], + "description": "The grammatical properness.", + "type": "string" + }, + "case": { + "description": "The grammatical case.", + "type": "string", + "enumDescriptions": [ + "Case is not applicable in the analyzed language or is not predicted.", + "Accusative", + "Adverbial", + "Complementive", + "Dative", + "Genitive", + "Instrumental", + "Locative", + "Nominative", + "Oblique", + "Partitive", + "Prepositional", + "Reflexive", + "Relative", + "Vocative" + ], + "enum": [ + "CASE_UNKNOWN", + "ACCUSATIVE", + "ADVERBIAL", + "COMPLEMENTIVE", + "DATIVE", + "GENITIVE", + "INSTRUMENTAL", + "LOCATIVE", + "NOMINATIVE", + "OBLIQUE", + "PARTITIVE", + "PREPOSITIONAL", + "REFLEXIVE_CASE", + "RELATIVE_CASE", + "VOCATIVE" + ] + }, + "tense": { + "description": "The grammatical tense.", + "type": "string", + "enumDescriptions": [ + "Tense is not applicable in the analyzed language or is not predicted.", + "Conditional", + "Future", + "Past", + "Present", + "Imperfect", + "Pluperfect" + ], + "enum": [ + "TENSE_UNKNOWN", + "CONDITIONAL_TENSE", + "FUTURE", + "PAST", + "PRESENT", + "IMPERFECT", + "PLUPERFECT" + ] + }, + "reciprocity": { + "enum": [ + "RECIPROCITY_UNKNOWN", + "RECIPROCAL", + "NON_RECIPROCAL" + ], + "description": "The grammatical reciprocity.", + "type": "string", + "enumDescriptions": [ + "Reciprocity is not applicable in the analyzed language or is not\npredicted.", + "Reciprocal", + "Non-reciprocal" + ] + } + }, + "id": "PartOfSpeech" + }, + "AnalyzeSyntaxRequest": { + "properties": { + "encodingType": { + "enumDescriptions": [ + "If `EncodingType` is not specified, encoding-dependent information (such as\n`begin_offset`) will be set at `-1`.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-8 encoding of the input. C++ and Go are examples of languages\nthat use this encoding natively.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-16 encoding of the input. Java and Javascript are examples of\nlanguages that use this encoding natively.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-32 encoding of the input. Python is an example of a language\nthat uses this encoding natively." + ], + "enum": [ + "NONE", + "UTF8", + "UTF16", + "UTF32" + ], + "description": "The encoding type used by the API to calculate offsets.", + "type": "string" + }, + "document": { + "description": "Input document.", + "$ref": "Document" + } + }, + "id": "AnalyzeSyntaxRequest", + "description": "The syntax analysis request message.", + "type": "object" + }, + "AnalyzeSentimentResponse": { + "description": "The sentiment analysis response message.", + "type": "object", + "properties": { + "language": { + "description": "The language of the text, which will be the same as the language specified\nin the request or, if not specified, the automatically-detected language.\nSee Document.language field for more details.", + "type": "string" + }, + "sentences": { + "description": "The sentiment for all the sentences in the document.", + "items": { + "$ref": "Sentence" + }, + "type": "array" + }, + "documentSentiment": { + "description": "The overall sentiment of the input document.", + "$ref": "Sentiment" + } + }, + "id": "AnalyzeSentimentResponse" + }, + "AnalyzeEntitiesResponse": { + "type": "object", + "properties": { + "language": { + "description": "The language of the text, which will be the same as the language specified\nin the request or, if not specified, the automatically-detected language.\nSee Document.language field for more details.", + "type": "string" + }, + "entities": { + "description": "The recognized entities in the input document.", + "items": { + "$ref": "Entity" + }, + "type": "array" + } + }, + "id": "AnalyzeEntitiesResponse", + "description": "The entity analysis response message." + }, + "AnalyzeSyntaxResponse": { + "description": "The syntax analysis response message.", + "type": "object", + "properties": { + "language": { + "description": "The language of the text, which will be the same as the language specified\nin the request or, if not specified, the automatically-detected language.\nSee Document.language field for more details.", + "type": "string" + }, + "sentences": { + "description": "Sentences in the input document.", + "items": { + "$ref": "Sentence" + }, + "type": "array" + }, + "tokens": { + "description": "Tokens, along with their syntactic information, in the input document.", + "items": { + "$ref": "Token" + }, + "type": "array" + } + }, + "id": "AnalyzeSyntaxResponse" + }, "Entity": { + "id": "Entity", "description": "Represents a phrase in the text that is a known entity, such as\na person, an organization, or location. The API associates information, such\nas salience and mentions, with entities.", "type": "object", "properties": { - "mentions": { - "description": "The mentions of this entity in the input document. The API currently\nsupports proper noun mentions.", - "type": "array", - "items": { - "$ref": "EntityMention" - } + "salience": { + "format": "float", + "description": "The salience score associated with the entity in the [0, 1.0] range.\n\nThe salience score for an entity provides information about the\nimportance or centrality of that entity to the entire document text.\nScores closer to 0 are less salient, while scores closer to 1.0 are highly\nsalient.", + "type": "number" }, - "name": { - "description": "The representative name for the entity.", - "type": "string" + "metadata": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Metadata associated with the entity.\n\nCurrently, Wikipedia URLs and Knowledge Graph MIDs are provided, if\navailable. The associated keys are \"wikipedia_url\" and \"mid\", respectively." }, "type": { "enumDescriptions": [ @@ -232,55 +543,24 @@ "description": "The entity type.", "type": "string" }, - "metadata": { - "additionalProperties": { - "type": "string" + "mentions": { + "description": "The mentions of this entity in the input document. The API currently\nsupports proper noun mentions.", + "items": { + "$ref": "EntityMention" }, - "description": "Metadata associated with the entity.\n\nCurrently, Wikipedia URLs and Knowledge Graph MIDs are provided, if\navailable. The associated keys are \"wikipedia_url\" and \"mid\", respectively.", - "type": "object" + "type": "array" }, - "salience": { - "description": "The salience score associated with the entity in the [0, 1.0] range.\n\nThe salience score for an entity provides information about the\nimportance or centrality of that entity to the entire document text.\nScores closer to 0 are less salient, while scores closer to 1.0 are highly\nsalient.", - "format": "float", - "type": "number" - } - }, - "id": "Entity" - }, - "AnalyzeSyntaxResponse": { - "description": "The syntax analysis response message.", - "type": "object", - "properties": { - "language": { - "description": "The language of the text, which will be the same as the language specified\nin the request or, if not specified, the automatically-detected language.\nSee Document.language field for more details.", + "name": { + "description": "The representative name for the entity.", "type": "string" - }, - "sentences": { - "description": "Sentences in the input document.", - "type": "array", - "items": { - "$ref": "Sentence" - } - }, - "tokens": { - "description": "Tokens, along with their syntactic information, in the input document.", - "type": "array", - "items": { - "$ref": "Token" - } } - }, - "id": "AnalyzeSyntaxResponse" + } }, "AnnotateTextRequest": { + "description": "The request message for the text annotation API, which can perform multiple\nanalysis types (sentiment, entities, and syntax) in one call.", + "type": "object", "properties": { "encodingType": { - "enumDescriptions": [ - "If `EncodingType` is not specified, encoding-dependent information (such as\n`begin_offset`) will be set at `-1`.", - "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-8 encoding of the input. C++ and Go are examples of languages\nthat use this encoding natively.", - "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-16 encoding of the input. Java and Javascript are examples of\nlanguages that use this encoding natively.", - "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-32 encoding of the input. Python is an example of a language\nthat uses this encoding natively." - ], "enum": [ "NONE", "UTF8", @@ -288,47 +568,24 @@ "UTF32" ], "description": "The encoding type used by the API to calculate offsets.", - "type": "string" + "type": "string", + "enumDescriptions": [ + "If `EncodingType` is not specified, encoding-dependent information (such as\n`begin_offset`) will be set at `-1`.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-8 encoding of the input. C++ and Go are examples of languages\nthat use this encoding natively.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-16 encoding of the input. Java and Javascript are examples of\nlanguages that use this encoding natively.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-32 encoding of the input. Python is an example of a language\nthat uses this encoding natively." + ] }, "document": { - "$ref": "Document", - "description": "Input document." + "description": "Input document.", + "$ref": "Document" }, "features": { "description": "The enabled features.", "$ref": "Features" } }, - "id": "AnnotateTextRequest", - "description": "The request message for the text annotation API, which can perform multiple\nanalysis types (sentiment, entities, and syntax) in one call.", - "type": "object" - }, - "AnalyzeSentimentRequest": { - "description": "The sentiment analysis request message.", - "type": "object", - "properties": { - "encodingType": { - "enumDescriptions": [ - "If `EncodingType` is not specified, encoding-dependent information (such as\n`begin_offset`) will be set at `-1`.", - "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-8 encoding of the input. C++ and Go are examples of languages\nthat use this encoding natively.", - "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-16 encoding of the input. Java and Javascript are examples of\nlanguages that use this encoding natively.", - "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-32 encoding of the input. Python is an example of a language\nthat uses this encoding natively." - ], - "enum": [ - "NONE", - "UTF8", - "UTF16", - "UTF32" - ], - "description": "The encoding type used by the API to calculate sentence offsets for the\nsentence sentiment.", - "type": "string" - }, - "document": { - "description": "Input document.", - "$ref": "Document" - } - }, - "id": "AnalyzeSentimentRequest" + "id": "AnnotateTextRequest" }, "AnnotateTextResponse": { "description": "The text annotations response message.", @@ -340,41 +597,63 @@ }, "sentences": { "description": "Sentences in the input document. Populated if the user enables\nAnnotateTextRequest.Features.extract_syntax.", - "type": "array", "items": { "$ref": "Sentence" - } + }, + "type": "array" }, "tokens": { "description": "Tokens, along with their syntactic information, in the input document.\nPopulated if the user enables\nAnnotateTextRequest.Features.extract_syntax.", - "type": "array", "items": { "$ref": "Token" - } + }, + "type": "array" }, "entities": { "description": "Entities, along with their semantic information, in the input document.\nPopulated if the user enables\nAnnotateTextRequest.Features.extract_entities.", - "type": "array", "items": { "$ref": "Entity" - } + }, + "type": "array" }, "documentSentiment": { - "description": "The overall sentiment for the document. Populated if the user enables\nAnnotateTextRequest.Features.extract_document_sentiment.", - "$ref": "Sentiment" + "$ref": "Sentiment", + "description": "The overall sentiment for the document. Populated if the user enables\nAnnotateTextRequest.Features.extract_document_sentiment." } }, "id": "AnnotateTextResponse" }, + "AnalyzeSentimentRequest": { + "description": "The sentiment analysis request message.", + "type": "object", + "properties": { + "encodingType": { + "type": "string", + "enumDescriptions": [ + "If `EncodingType` is not specified, encoding-dependent information (such as\n`begin_offset`) will be set at `-1`.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-8 encoding of the input. C++ and Go are examples of languages\nthat use this encoding natively.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-16 encoding of the input. Java and Javascript are examples of\nlanguages that use this encoding natively.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-32 encoding of the input. Python is an example of a language\nthat uses this encoding natively." + ], + "enum": [ + "NONE", + "UTF8", + "UTF16", + "UTF32" + ], + "description": "The encoding type used by the API to calculate sentence offsets for the\nsentence sentiment." + }, + "document": { + "description": "Input document.", + "$ref": "Document" + } + }, + "id": "AnalyzeSentimentRequest" + }, "DependencyEdge": { "description": "Represents dependency parse tree information for a token.", "type": "object", "properties": { - "headTokenIndex": { - "description": "Represents the head of this token in the dependency tree.\nThis is the index of the token which has an arc going to this token.\nThe index is the position of the token in the array of tokens returned\nby the API method. If this token is a root token, then the\n`head_token_index` is its own index.", - "format": "int32", - "type": "integer" - }, "label": { "enum": [ "UNKNOWN", @@ -453,7 +732,13 @@ "NOMCSUBJPASS", "NUMC", "COP", - "DISLOCATED" + "DISLOCATED", + "ASP", + "GMOD", + "GOBJ", + "INFMOD", + "MES", + "NCOMP" ], "description": "The parse label for the token.", "type": "string", @@ -534,8 +819,19 @@ "Nominalized clausal passive", "Compound of numeric modifier", "Copula", - "Dislocated relation (for fronted/topicalized elements)" + "Dislocated relation (for fronted/topicalized elements)", + "Aspect marker", + "Genitive modifier", + "Genitive object", + "Infinitival modifier", + "Measure", + "Nominal complement of a noun" ] + }, + "headTokenIndex": { + "format": "int32", + "description": "Represents the head of this token in the dependency tree.\nThis is the index of the token which has an arc going to this token.\nThe index is the position of the token in the array of tokens returned\nby the API method. If this token is a root token, then the\n`head_token_index` is its own index.", + "type": "integer" } }, "id": "DependencyEdge" @@ -544,35 +840,35 @@ "description": "Represents the smallest syntactic building block of the text.", "type": "object", "properties": { - "lemma": { - "description": "[Lemma](https://en.wikipedia.org/wiki/Lemma_%28morphology%29) of the token.", - "type": "string" - }, - "partOfSpeech": { - "description": "Parts of speech tag for this token.", - "$ref": "PartOfSpeech" + "dependencyEdge": { + "description": "Dependency tree parse for this token.", + "$ref": "DependencyEdge" }, "text": { "$ref": "TextSpan", "description": "The token text." }, - "dependencyEdge": { - "$ref": "DependencyEdge", - "description": "Dependency tree parse for this token." + "lemma": { + "description": "[Lemma](https://en.wikipedia.org/wiki/Lemma_%28morphology%29) of the token.", + "type": "string" + }, + "partOfSpeech": { + "$ref": "PartOfSpeech", + "description": "Parts of speech tag for this token." } }, "id": "Token" }, "TextSpan": { "properties": { - "beginOffset": { - "description": "The API calculates the beginning offset of the content in the original\ndocument according to the EncodingType specified in the API request.", - "format": "int32", - "type": "integer" - }, "content": { "description": "The content of the output text.", "type": "string" + }, + "beginOffset": { + "format": "int32", + "description": "The API calculates the beginning offset of the content in the original\ndocument according to the EncodingType specified in the API request.", + "type": "integer" } }, "id": "TextSpan", @@ -580,23 +876,22 @@ "type": "object" }, "Status": { - "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", "type": "object", "properties": { "details": { - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", - "type": "array", "items": { "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" }, "type": "object" - } + }, + "type": "array", + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use." }, "code": { - "description": "The status code, which should be an enum value of google.rpc.Code.", "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", "type": "integer" }, "message": { @@ -604,487 +899,211 @@ "type": "string" } }, - "id": "Status" - }, - "Features": { - "description": "All available features for sentiment, syntax, and semantic analysis.\nSetting each one to true will enable that specific analysis for the input.", - "type": "object", - "properties": { - "extractSyntax": { - "description": "Extract syntax information.", - "type": "boolean" - }, - "extractDocumentSentiment": { - "description": "Extract document-level sentiment.", - "type": "boolean" - }, - "extractEntities": { - "description": "Extract entities.", - "type": "boolean" - } - }, - "id": "Features" - }, - "EntityMention": { - "description": "Represents a mention for an entity in the text. Currently, proper noun\nmentions are supported.", - "type": "object", - "properties": { - "text": { - "description": "The mention text.", - "$ref": "TextSpan" - }, - "type": { - "enumDescriptions": [ - "Unknown", - "Proper name", - "Common noun (or noun compound)" - ], - "enum": [ - "TYPE_UNKNOWN", - "PROPER", - "COMMON" - ], - "description": "The type of the entity mention.", - "type": "string" - } - }, - "id": "EntityMention" - }, - "Document": { - "properties": { - "gcsContentUri": { - "description": "The Google Cloud Storage URI where the file content is located.\nThis URI must be of the form: gs://bucket_name/object_name. For more\ndetails, see https://cloud.google.com/storage/docs/reference-uris.\nNOTE: Cloud Storage object versioning is not supported.", - "type": "string" - }, - "language": { - "description": "The language of the document (if not specified, the language is\nautomatically detected). Both ISO and BCP-47 language codes are\naccepted.\u003cbr\u003e\n[Language Support](/natural-language/docs/languages)\nlists currently supported languages for each API method.\nIf the language (either specified by the caller or automatically detected)\nis not supported by the called API method, an `INVALID_ARGUMENT` error\nis returned.", - "type": "string" - }, - "type": { - "enumDescriptions": [ - "The content type is not specified.", - "Plain text", - "HTML" - ], - "enum": [ - "TYPE_UNSPECIFIED", - "PLAIN_TEXT", - "HTML" - ], - "description": "Required. If the type is not set or is `TYPE_UNSPECIFIED`,\nreturns an `INVALID_ARGUMENT` error.", - "type": "string" - }, - "content": { - "description": "The content of the input in string format.", - "type": "string" - } - }, - "id": "Document", - "description": "################################################################ #\n\nRepresents the input to API methods.", - "type": "object" - }, - "Sentence": { - "properties": { - "text": { - "description": "The sentence text.", - "$ref": "TextSpan" - }, - "sentiment": { - "description": "For calls to AnalyzeSentiment or if\nAnnotateTextRequest.Features.extract_document_sentiment is set to\ntrue, this field will contain the sentiment for the sentence.", - "$ref": "Sentiment" - } - }, - "id": "Sentence", - "description": "Represents a sentence in the input document.", - "type": "object" - }, - "AnalyzeEntitiesRequest": { - "description": "The entity analysis request message.", - "type": "object", - "properties": { - "encodingType": { - "enumDescriptions": [ - "If `EncodingType` is not specified, encoding-dependent information (such as\n`begin_offset`) will be set at `-1`.", - "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-8 encoding of the input. C++ and Go are examples of languages\nthat use this encoding natively.", - "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-16 encoding of the input. Java and Javascript are examples of\nlanguages that use this encoding natively.", - "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-32 encoding of the input. Python is an example of a language\nthat uses this encoding natively." - ], - "enum": [ - "NONE", - "UTF8", - "UTF16", - "UTF32" - ], - "description": "The encoding type used by the API to calculate offsets.", - "type": "string" - }, - "document": { - "$ref": "Document", - "description": "Input document." - } - }, - "id": "AnalyzeEntitiesRequest" - }, - "Sentiment": { - "properties": { - "magnitude": { - "description": "A non-negative number in the [0, +inf) range, which represents\nthe absolute magnitude of sentiment regardless of score (positive or\nnegative).", - "format": "float", - "type": "number" - }, - "polarity": { - "description": "DEPRECATED FIELD - This field is being deprecated in\nfavor of score. Please refer to our documentation at\nhttps://cloud.google.com/natural-language/docs for more information.", - "format": "float", - "type": "number" - }, - "score": { - "description": "Sentiment score between -1.0 (negative sentiment) and 1.0\n(positive sentiment).", - "format": "float", - "type": "number" - } - }, - "id": "Sentiment", - "description": "Represents the feeling associated with the entire text or entities in\nthe text.", - "type": "object" - }, - "PartOfSpeech": { - "properties": { - "person": { - "enum": [ - "PERSON_UNKNOWN", - "FIRST", - "SECOND", - "THIRD", - "REFLEXIVE_PERSON" - ], - "description": "The grammatical person.", - "type": "string", - "enumDescriptions": [ - "Person is not applicable in the analyzed language or is not predicted.", - "First", - "Second", - "Third", - "Reflexive" - ] - }, - "proper": { - "enum": [ - "PROPER_UNKNOWN", - "PROPER", - "NOT_PROPER" - ], - "description": "The grammatical properness.", - "type": "string", - "enumDescriptions": [ - "Proper is not applicable in the analyzed language or is not predicted.", - "Proper", - "Not proper" - ] - }, - "case": { - "enum": [ - "CASE_UNKNOWN", - "ACCUSATIVE", - "ADVERBIAL", - "COMPLEMENTIVE", - "DATIVE", - "GENITIVE", - "INSTRUMENTAL", - "LOCATIVE", - "NOMINATIVE", - "OBLIQUE", - "PARTITIVE", - "PREPOSITIONAL", - "REFLEXIVE_CASE", - "RELATIVE_CASE", - "VOCATIVE" - ], - "description": "The grammatical case.", - "type": "string", - "enumDescriptions": [ - "Case is not applicable in the analyzed language or is not predicted.", - "Accusative", - "Adverbial", - "Complementive", - "Dative", - "Genitive", - "Instrumental", - "Locative", - "Nominative", - "Oblique", - "Partitive", - "Prepositional", - "Reflexive", - "Relative", - "Vocative" - ] - }, - "tense": { - "enumDescriptions": [ - "Tense is not applicable in the analyzed language or is not predicted.", - "Conditional", - "Future", - "Past", - "Present", - "Imperfect", - "Pluperfect" - ], - "enum": [ - "TENSE_UNKNOWN", - "CONDITIONAL_TENSE", - "FUTURE", - "PAST", - "PRESENT", - "IMPERFECT", - "PLUPERFECT" - ], - "description": "The grammatical tense.", - "type": "string" - }, - "reciprocity": { - "enumDescriptions": [ - "Reciprocity is not applicable in the analyzed language or is not\npredicted.", - "Reciprocal", - "Non-reciprocal" - ], - "enum": [ - "RECIPROCITY_UNKNOWN", - "RECIPROCAL", - "NON_RECIPROCAL" - ], - "description": "The grammatical reciprocity.", - "type": "string" - }, - "form": { - "enum": [ - "FORM_UNKNOWN", - "ADNOMIAL", - "AUXILIARY", - "COMPLEMENTIZER", - "FINAL_ENDING", - "GERUND", - "REALIS", - "IRREALIS", - "SHORT", - "LONG", - "ORDER", - "SPECIFIC" - ], - "description": "The grammatical form.", - "type": "string", - "enumDescriptions": [ - "Form is not applicable in the analyzed language or is not predicted.", - "Adnomial", - "Auxiliary", - "Complementizer", - "Final ending", - "Gerund", - "Realis", - "Irrealis", - "Short form", - "Long form", - "Order form", - "Specific form" - ] - }, - "number": { - "enum": [ - "NUMBER_UNKNOWN", - "SINGULAR", - "PLURAL", - "DUAL" - ], - "description": "The grammatical number.", - "type": "string", - "enumDescriptions": [ - "Number is not applicable in the analyzed language or is not predicted.", - "Singular", - "Plural", - "Dual" - ] - }, - "voice": { - "enum": [ - "VOICE_UNKNOWN", - "ACTIVE", - "CAUSATIVE", - "PASSIVE" - ], - "description": "The grammatical voice.", - "type": "string", - "enumDescriptions": [ - "Voice is not applicable in the analyzed language or is not predicted.", - "Active", - "Causative", - "Passive" - ] - }, - "aspect": { - "enum": [ - "ASPECT_UNKNOWN", - "PERFECTIVE", - "IMPERFECTIVE", - "PROGRESSIVE" - ], - "description": "The grammatical aspect.", - "type": "string", - "enumDescriptions": [ - "Aspect is not applicable in the analyzed language or is not predicted.", - "Perfective", - "Imperfective", - "Progressive" - ] - }, - "mood": { - "enumDescriptions": [ - "Mood is not applicable in the analyzed language or is not predicted.", - "Conditional", - "Imperative", - "Indicative", - "Interrogative", - "Jussive", - "Subjunctive" - ], - "enum": [ - "MOOD_UNKNOWN", - "CONDITIONAL_MOOD", - "IMPERATIVE", - "INDICATIVE", - "INTERROGATIVE", - "JUSSIVE", - "SUBJUNCTIVE" - ], - "description": "The grammatical mood.", - "type": "string" - }, - "tag": { - "enum": [ - "UNKNOWN", - "ADJ", - "ADP", - "ADV", - "CONJ", - "DET", - "NOUN", - "NUM", - "PRON", - "PRT", - "PUNCT", - "VERB", - "X", - "AFFIX" - ], - "description": "The part of speech tag.", - "type": "string", - "enumDescriptions": [ - "Unknown", - "Adjective", - "Adposition (preposition and postposition)", - "Adverb", - "Conjunction", - "Determiner", - "Noun (common and proper)", - "Cardinal number", - "Pronoun", - "Particle or other function word", - "Punctuation", - "Verb (all tenses and modes)", - "Other: foreign words, typos, abbreviations", - "Affix" - ] - }, - "gender": { - "enumDescriptions": [ - "Gender is not applicable in the analyzed language or is not predicted.", - "Feminine", - "Masculine", - "Neuter" - ], - "enum": [ - "GENDER_UNKNOWN", - "FEMININE", - "MASCULINE", - "NEUTER" - ], - "description": "The grammatical gender.", - "type": "string" - } - }, - "id": "PartOfSpeech", - "description": "Represents part of speech information for a token.", - "type": "object" - }, - "AnalyzeSyntaxRequest": { - "properties": { - "encodingType": { - "enum": [ - "NONE", - "UTF8", - "UTF16", - "UTF32" - ], - "description": "The encoding type used by the API to calculate offsets.", - "type": "string", - "enumDescriptions": [ - "If `EncodingType` is not specified, encoding-dependent information (such as\n`begin_offset`) will be set at `-1`.", - "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-8 encoding of the input. C++ and Go are examples of languages\nthat use this encoding natively.", - "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-16 encoding of the input. Java and Javascript are examples of\nlanguages that use this encoding natively.", - "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-32 encoding of the input. Python is an example of a language\nthat uses this encoding natively." - ] - }, - "document": { - "$ref": "Document", - "description": "Input document." - } - }, - "id": "AnalyzeSyntaxRequest", - "description": "The syntax analysis request message.", - "type": "object" - }, - "AnalyzeSentimentResponse": { - "properties": { - "language": { - "description": "The language of the text, which will be the same as the language specified\nin the request or, if not specified, the automatically-detected language.\nSee Document.language field for more details.", - "type": "string" - }, - "sentences": { - "description": "The sentiment for all the sentences in the document.", - "type": "array", - "items": { - "$ref": "Sentence" - } - }, - "documentSentiment": { - "description": "The overall sentiment of the input document.", - "$ref": "Sentiment" - } - }, - "id": "AnalyzeSentimentResponse", - "description": "The sentiment analysis response message.", - "type": "object" - }, - "AnalyzeEntitiesResponse": { - "description": "The entity analysis response message.", - "type": "object", - "properties": { - "language": { - "description": "The language of the text, which will be the same as the language specified\nin the request or, if not specified, the automatically-detected language.\nSee Document.language field for more details.", - "type": "string" - }, - "entities": { - "description": "The recognized entities in the input document.", - "type": "array", - "items": { - "$ref": "Entity" - } - } - }, - "id": "AnalyzeEntitiesResponse" + "id": "Status", + "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons." } }, + "protocol": "rest", "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.gif" }, - "protocol": "rest" + "canonicalName": "Cloud Natural Language", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-language": { + "description": "Apply machine learning models to reveal the structure and meaning of text" + }, + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "rootUrl": "https://language.googleapis.com/", + "ownerDomain": "google.com", + "name": "language", + "batchPath": "batch", + "title": "Google Cloud Natural Language API", + "ownerName": "Google", + "resources": { + "documents": { + "methods": { + "analyzeSentiment": { + "request": { + "$ref": "AnalyzeSentimentRequest" + }, + "description": "Analyzes the sentiment of the provided text.", + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "AnalyzeSentimentResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-language", + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": {}, + "flatPath": "v1beta1/documents:analyzeSentiment", + "path": "v1beta1/documents:analyzeSentiment", + "id": "language.documents.analyzeSentiment" + }, + "annotateText": { + "response": { + "$ref": "AnnotateTextResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-language", + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": {}, + "flatPath": "v1beta1/documents:annotateText", + "id": "language.documents.annotateText", + "path": "v1beta1/documents:annotateText", + "request": { + "$ref": "AnnotateTextRequest" + }, + "description": "A convenience method that provides all the features that analyzeSentiment,\nanalyzeEntities, and analyzeSyntax provide in one call." + }, + "analyzeEntities": { + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "AnalyzeEntitiesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-language", + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": {}, + "flatPath": "v1beta1/documents:analyzeEntities", + "path": "v1beta1/documents:analyzeEntities", + "id": "language.documents.analyzeEntities", + "request": { + "$ref": "AnalyzeEntitiesRequest" + }, + "description": "Finds named entities (currently proper names and common nouns) in the text\nalong with entity types, salience, mentions for each entity, and\nother properties." + }, + "analyzeSyntax": { + "path": "v1beta1/documents:analyzeSyntax", + "id": "language.documents.analyzeSyntax", + "description": "Analyzes the syntax of the text and provides sentence boundaries and\ntokenization along with part of speech tags, dependency trees, and other\nproperties.", + "request": { + "$ref": "AnalyzeSyntaxRequest" + }, + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "AnalyzeSyntaxResponse" + }, + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-language", + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/documents:analyzeSyntax" + } + } + } + }, + "parameters": { + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string", + "location": "query" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" + }, + "fields": { + "location": "query", + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + }, + "uploadType": { + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" + }, + "callback": { + "description": "JSONP", + "type": "string", + "location": "query" + }, + "$.xgafv": { + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ], + "description": "V1 error format." + }, + "alt": { + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", + "location": "query" + }, + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" + }, + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", + "location": "query" + }, + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", + "location": "query" + } + }, + "version": "v1beta1", + "baseUrl": "https://language.googleapis.com/", + "servicePath": "", + "description": "Provides natural language understanding technologies to developers. Examples include sentiment analysis, entity recognition, entity sentiment analysis, and text annotations.", + "kind": "discovery#restDescription", + "basePath": "", + "id": "language:v1beta1", + "documentationLink": "https://cloud.google.com/natural-language/", + "revision": "20170926" } diff --git a/vendor/google.golang.org/api/language/v1beta1/language-gen.go b/vendor/google.golang.org/api/language/v1beta1/language-gen.go index d7cb43783..50acf6193 100644 --- a/vendor/google.golang.org/api/language/v1beta1/language-gen.go +++ b/vendor/google.golang.org/api/language/v1beta1/language-gen.go @@ -47,6 +47,10 @@ const basePath = "https://language.googleapis.com/" // OAuth2 scopes used by this API. const ( + // Apply machine learning models to reveal the structure and meaning of + // text + CloudLanguageScope = "https://www.googleapis.com/auth/cloud-language" + // View and manage your data across Google Cloud Platform services CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" ) @@ -578,6 +582,12 @@ type DependencyEdge struct { // "COP" - Copula // "DISLOCATED" - Dislocated relation (for fronted/topicalized // elements) + // "ASP" - Aspect marker + // "GMOD" - Genitive modifier + // "GOBJ" - Genitive object + // "INFMOD" - Infinitival modifier + // "MES" - Measure + // "NCOMP" - Nominal complement of a noun Label string `json:"label,omitempty"` // ForceSendFields is a list of field names (e.g. "HeadTokenIndex") to @@ -1191,9 +1201,9 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in @@ -1416,6 +1426,7 @@ func (c *DocumentsAnalyzeEntitiesCall) Do(opts ...googleapi.CallOption) (*Analyz // "$ref": "AnalyzeEntitiesResponse" // }, // "scopes": [ + // "https://www.googleapis.com/auth/cloud-language", // "https://www.googleapis.com/auth/cloud-platform" // ] // } @@ -1536,6 +1547,7 @@ func (c *DocumentsAnalyzeSentimentCall) Do(opts ...googleapi.CallOption) (*Analy // "$ref": "AnalyzeSentimentResponse" // }, // "scopes": [ + // "https://www.googleapis.com/auth/cloud-language", // "https://www.googleapis.com/auth/cloud-platform" // ] // } @@ -1660,6 +1672,7 @@ func (c *DocumentsAnalyzeSyntaxCall) Do(opts ...googleapi.CallOption) (*AnalyzeS // "$ref": "AnalyzeSyntaxResponse" // }, // "scopes": [ + // "https://www.googleapis.com/auth/cloud-language", // "https://www.googleapis.com/auth/cloud-platform" // ] // } @@ -1782,6 +1795,7 @@ func (c *DocumentsAnnotateTextCall) Do(opts ...googleapi.CallOption) (*AnnotateT // "$ref": "AnnotateTextResponse" // }, // "scopes": [ + // "https://www.googleapis.com/auth/cloud-language", // "https://www.googleapis.com/auth/cloud-platform" // ] // } diff --git a/vendor/google.golang.org/api/language/v1beta2/language-api.json b/vendor/google.golang.org/api/language/v1beta2/language-api.json index e36d9ec4a..3942c1a20 100644 --- a/vendor/google.golang.org/api/language/v1beta2/language-api.json +++ b/vendor/google.golang.org/api/language/v1beta2/language-api.json @@ -1,16 +1,229 @@ { - "servicePath": "", + "batchPath": "batch", + "title": "Google Cloud Natural Language API", + "ownerName": "Google", + "resources": { + "documents": { + "methods": { + "analyzeSyntax": { + "description": "Analyzes the syntax of the text and provides sentence boundaries and\ntokenization along with part of speech tags, dependency trees, and other\nproperties.", + "request": { + "$ref": "AnalyzeSyntaxRequest" + }, + "response": { + "$ref": "AnalyzeSyntaxResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-language", + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta2/documents:analyzeSyntax", + "id": "language.documents.analyzeSyntax", + "path": "v1beta2/documents:analyzeSyntax" + }, + "annotateText": { + "flatPath": "v1beta2/documents:annotateText", + "id": "language.documents.annotateText", + "path": "v1beta2/documents:annotateText", + "request": { + "$ref": "AnnotateTextRequest" + }, + "description": "A convenience method that provides all syntax, sentiment, entity, and\nclassification features in one call.", + "response": { + "$ref": "AnnotateTextResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-language", + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": {} + }, + "classifyText": { + "response": { + "$ref": "ClassifyTextResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-language", + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta2/documents:classifyText", + "id": "language.documents.classifyText", + "path": "v1beta2/documents:classifyText", + "description": "Classifies a document into categories.", + "request": { + "$ref": "ClassifyTextRequest" + } + }, + "analyzeSentiment": { + "response": { + "$ref": "AnalyzeSentimentResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-language", + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta2/documents:analyzeSentiment", + "id": "language.documents.analyzeSentiment", + "path": "v1beta2/documents:analyzeSentiment", + "description": "Analyzes the sentiment of the provided text.", + "request": { + "$ref": "AnalyzeSentimentRequest" + } + }, + "analyzeEntitySentiment": { + "response": { + "$ref": "AnalyzeEntitySentimentResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-language", + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": {}, + "flatPath": "v1beta2/documents:analyzeEntitySentiment", + "id": "language.documents.analyzeEntitySentiment", + "path": "v1beta2/documents:analyzeEntitySentiment", + "request": { + "$ref": "AnalyzeEntitySentimentRequest" + }, + "description": "Finds entities, similar to AnalyzeEntities in the text and analyzes\nsentiment associated with each entity and its mentions." + }, + "analyzeEntities": { + "response": { + "$ref": "AnalyzeEntitiesResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-language", + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta2/documents:analyzeEntities", + "id": "language.documents.analyzeEntities", + "path": "v1beta2/documents:analyzeEntities", + "description": "Finds named entities (currently proper names and common nouns) in the text\nalong with entity types, salience, mentions for each entity, and\nother properties.", + "request": { + "$ref": "AnalyzeEntitiesRequest" + } + } + } + } + }, + "parameters": { + "alt": { + "location": "query", + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ] + }, + "access_token": { + "type": "string", + "location": "query", + "description": "OAuth access token." + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "quotaUser": { + "type": "string", + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters." + }, + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" + }, + "uploadType": { + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" + }, + "fields": { + "type": "string", + "location": "query", + "description": "Selector specifying which fields to include in a partial response." + }, + "callback": { + "type": "string", + "location": "query", + "description": "JSONP" + }, + "$.xgafv": { + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ], + "description": "V1 error format." + } + }, + "version": "v1beta2", + "baseUrl": "https://language.googleapis.com/", "kind": "discovery#restDescription", "description": "Provides natural language understanding technologies to developers. Examples include sentiment analysis, entity recognition, entity sentiment analysis, and text annotations.", + "servicePath": "", "basePath": "", - "revision": "20170619", - "documentationLink": "https://cloud.google.com/natural-language/", "id": "language:v1beta2", + "revision": "20170926", + "documentationLink": "https://cloud.google.com/natural-language/", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { - "AnnotateTextRequest": { - "description": "The request message for the text annotation API, which can perform multiple\nanalysis types (sentiment, entities, and syntax) in one call.", + "AnalyzeEntitySentimentRequest": { + "description": "The entity-level sentiment analysis request message.", "type": "object", "properties": { "encodingType": { @@ -32,15 +245,430 @@ "document": { "$ref": "Document", "description": "Input document." + } + }, + "id": "AnalyzeEntitySentimentRequest" + }, + "PartOfSpeech": { + "type": "object", + "properties": { + "aspect": { + "enum": [ + "ASPECT_UNKNOWN", + "PERFECTIVE", + "IMPERFECTIVE", + "PROGRESSIVE" + ], + "description": "The grammatical aspect.", + "type": "string", + "enumDescriptions": [ + "Aspect is not applicable in the analyzed language or is not predicted.", + "Perfective", + "Imperfective", + "Progressive" + ] }, + "mood": { + "enum": [ + "MOOD_UNKNOWN", + "CONDITIONAL_MOOD", + "IMPERATIVE", + "INDICATIVE", + "INTERROGATIVE", + "JUSSIVE", + "SUBJUNCTIVE" + ], + "description": "The grammatical mood.", + "type": "string", + "enumDescriptions": [ + "Mood is not applicable in the analyzed language or is not predicted.", + "Conditional", + "Imperative", + "Indicative", + "Interrogative", + "Jussive", + "Subjunctive" + ] + }, + "tag": { + "type": "string", + "enumDescriptions": [ + "Unknown", + "Adjective", + "Adposition (preposition and postposition)", + "Adverb", + "Conjunction", + "Determiner", + "Noun (common and proper)", + "Cardinal number", + "Pronoun", + "Particle or other function word", + "Punctuation", + "Verb (all tenses and modes)", + "Other: foreign words, typos, abbreviations", + "Affix" + ], + "enum": [ + "UNKNOWN", + "ADJ", + "ADP", + "ADV", + "CONJ", + "DET", + "NOUN", + "NUM", + "PRON", + "PRT", + "PUNCT", + "VERB", + "X", + "AFFIX" + ], + "description": "The part of speech tag." + }, + "gender": { + "enum": [ + "GENDER_UNKNOWN", + "FEMININE", + "MASCULINE", + "NEUTER" + ], + "description": "The grammatical gender.", + "type": "string", + "enumDescriptions": [ + "Gender is not applicable in the analyzed language or is not predicted.", + "Feminine", + "Masculine", + "Neuter" + ] + }, + "person": { + "enum": [ + "PERSON_UNKNOWN", + "FIRST", + "SECOND", + "THIRD", + "REFLEXIVE_PERSON" + ], + "description": "The grammatical person.", + "type": "string", + "enumDescriptions": [ + "Person is not applicable in the analyzed language or is not predicted.", + "First", + "Second", + "Third", + "Reflexive" + ] + }, + "proper": { + "type": "string", + "enumDescriptions": [ + "Proper is not applicable in the analyzed language or is not predicted.", + "Proper", + "Not proper" + ], + "enum": [ + "PROPER_UNKNOWN", + "PROPER", + "NOT_PROPER" + ], + "description": "The grammatical properness." + }, + "case": { + "type": "string", + "enumDescriptions": [ + "Case is not applicable in the analyzed language or is not predicted.", + "Accusative", + "Adverbial", + "Complementive", + "Dative", + "Genitive", + "Instrumental", + "Locative", + "Nominative", + "Oblique", + "Partitive", + "Prepositional", + "Reflexive", + "Relative", + "Vocative" + ], + "enum": [ + "CASE_UNKNOWN", + "ACCUSATIVE", + "ADVERBIAL", + "COMPLEMENTIVE", + "DATIVE", + "GENITIVE", + "INSTRUMENTAL", + "LOCATIVE", + "NOMINATIVE", + "OBLIQUE", + "PARTITIVE", + "PREPOSITIONAL", + "REFLEXIVE_CASE", + "RELATIVE_CASE", + "VOCATIVE" + ], + "description": "The grammatical case." + }, + "tense": { + "type": "string", + "enumDescriptions": [ + "Tense is not applicable in the analyzed language or is not predicted.", + "Conditional", + "Future", + "Past", + "Present", + "Imperfect", + "Pluperfect" + ], + "enum": [ + "TENSE_UNKNOWN", + "CONDITIONAL_TENSE", + "FUTURE", + "PAST", + "PRESENT", + "IMPERFECT", + "PLUPERFECT" + ], + "description": "The grammatical tense." + }, + "reciprocity": { + "type": "string", + "enumDescriptions": [ + "Reciprocity is not applicable in the analyzed language or is not\npredicted.", + "Reciprocal", + "Non-reciprocal" + ], + "enum": [ + "RECIPROCITY_UNKNOWN", + "RECIPROCAL", + "NON_RECIPROCAL" + ], + "description": "The grammatical reciprocity." + }, + "form": { + "enum": [ + "FORM_UNKNOWN", + "ADNOMIAL", + "AUXILIARY", + "COMPLEMENTIZER", + "FINAL_ENDING", + "GERUND", + "REALIS", + "IRREALIS", + "SHORT", + "LONG", + "ORDER", + "SPECIFIC" + ], + "description": "The grammatical form.", + "type": "string", + "enumDescriptions": [ + "Form is not applicable in the analyzed language or is not predicted.", + "Adnomial", + "Auxiliary", + "Complementizer", + "Final ending", + "Gerund", + "Realis", + "Irrealis", + "Short form", + "Long form", + "Order form", + "Specific form" + ] + }, + "number": { + "type": "string", + "enumDescriptions": [ + "Number is not applicable in the analyzed language or is not predicted.", + "Singular", + "Plural", + "Dual" + ], + "enum": [ + "NUMBER_UNKNOWN", + "SINGULAR", + "PLURAL", + "DUAL" + ], + "description": "The grammatical number." + }, + "voice": { + "type": "string", + "enumDescriptions": [ + "Voice is not applicable in the analyzed language or is not predicted.", + "Active", + "Causative", + "Passive" + ], + "enum": [ + "VOICE_UNKNOWN", + "ACTIVE", + "CAUSATIVE", + "PASSIVE" + ], + "description": "The grammatical voice." + } + }, + "id": "PartOfSpeech", + "description": "Represents part of speech information for a token." + }, + "ClassificationCategory": { + "description": "Represents a category returned from the text classifier.", + "type": "object", + "properties": { + "confidence": { + "type": "number", + "format": "float", + "description": "The classifier's confidence of the category. Number represents how certain\nthe classifier is that this category represents the given text." + }, + "name": { + "type": "string", + "description": "The name of the category representing the document." + } + }, + "id": "ClassificationCategory" + }, + "AnalyzeSyntaxRequest": { + "description": "The syntax analysis request message.", + "type": "object", + "properties": { + "encodingType": { + "type": "string", + "enumDescriptions": [ + "If `EncodingType` is not specified, encoding-dependent information (such as\n`begin_offset`) will be set at `-1`.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-8 encoding of the input. C++ and Go are examples of languages\nthat use this encoding natively.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-16 encoding of the input. Java and Javascript are examples of\nlanguages that use this encoding natively.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-32 encoding of the input. Python is an example of a language\nthat uses this encoding natively." + ], + "enum": [ + "NONE", + "UTF8", + "UTF16", + "UTF32" + ], + "description": "The encoding type used by the API to calculate offsets." + }, + "document": { + "$ref": "Document", + "description": "Input document." + } + }, + "id": "AnalyzeSyntaxRequest" + }, + "AnalyzeEntitiesResponse": { + "description": "The entity analysis response message.", + "type": "object", + "properties": { + "language": { + "type": "string", + "description": "The language of the text, which will be the same as the language specified\nin the request or, if not specified, the automatically-detected language.\nSee Document.language field for more details." + }, + "entities": { + "items": { + "$ref": "Entity" + }, + "type": "array", + "description": "The recognized entities in the input document." + } + }, + "id": "AnalyzeEntitiesResponse" + }, + "Entity": { + "description": "Represents a phrase in the text that is a known entity, such as\na person, an organization, or location. The API associates information, such\nas salience and mentions, with entities.", + "type": "object", + "properties": { + "mentions": { + "items": { + "$ref": "EntityMention" + }, + "type": "array", + "description": "The mentions of this entity in the input document. The API currently\nsupports proper noun mentions." + }, + "name": { + "description": "The representative name for the entity.", + "type": "string" + }, + "type": { + "type": "string", + "enumDescriptions": [ + "Unknown", + "Person", + "Location", + "Organization", + "Event", + "Work of art", + "Consumer goods", + "Other types" + ], + "enum": [ + "UNKNOWN", + "PERSON", + "LOCATION", + "ORGANIZATION", + "EVENT", + "WORK_OF_ART", + "CONSUMER_GOOD", + "OTHER" + ], + "description": "The entity type." + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Metadata associated with the entity.\n\nCurrently, Wikipedia URLs and Knowledge Graph MIDs are provided, if\navailable. The associated keys are \"wikipedia_url\" and \"mid\", respectively.", + "type": "object" + }, + "salience": { + "type": "number", + "format": "float", + "description": "The salience score associated with the entity in the [0, 1.0] range.\n\nThe salience score for an entity provides information about the\nimportance or centrality of that entity to the entire document text.\nScores closer to 0 are less salient, while scores closer to 1.0 are highly\nsalient." + }, + "sentiment": { + "$ref": "Sentiment", + "description": "For calls to AnalyzeEntitySentiment or if\nAnnotateTextRequest.Features.extract_entity_sentiment is set to\ntrue, this field will contain the aggregate sentiment expressed for this\nentity in the provided document." + } + }, + "id": "Entity" + }, + "AnnotateTextRequest": { + "type": "object", + "properties": { "features": { "$ref": "Features", "description": "The enabled features." + }, + "encodingType": { + "enum": [ + "NONE", + "UTF8", + "UTF16", + "UTF32" + ], + "description": "The encoding type used by the API to calculate offsets.", + "type": "string", + "enumDescriptions": [ + "If `EncodingType` is not specified, encoding-dependent information (such as\n`begin_offset`) will be set at `-1`.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-8 encoding of the input. C++ and Go are examples of languages\nthat use this encoding natively.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-16 encoding of the input. Java and Javascript are examples of\nlanguages that use this encoding natively.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-32 encoding of the input. Python is an example of a language\nthat uses this encoding natively." + ] + }, + "document": { + "$ref": "Document", + "description": "Input document." } }, - "id": "AnnotateTextRequest" + "id": "AnnotateTextRequest", + "description": "The request message for the text annotation API, which can perform multiple\nanalysis types (sentiment, entities, and syntax) in one call." }, "AnalyzeSentimentRequest": { + "description": "The sentiment analysis request message.", + "type": "object", "properties": { "encodingType": { "enum": [ @@ -59,55 +687,251 @@ ] }, "document": { - "description": "Input document.", - "$ref": "Document" + "$ref": "Document", + "description": "Input document." } }, - "id": "AnalyzeSentimentRequest", - "description": "The sentiment analysis request message.", - "type": "object" + "id": "AnalyzeSentimentRequest" }, - "AnnotateTextResponse": { + "Status": { + "type": "object", + "properties": { + "code": { + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @type with type URL." + }, + "type": "object" + }, + "type": "array" + } + }, + "id": "Status", + "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons." + }, + "Features": { + "description": "All available features for sentiment, syntax, and semantic analysis.\nSetting each one to true will enable that specific analysis for the input.", + "type": "object", + "properties": { + "extractEntities": { + "description": "Extract entities.", + "type": "boolean" + }, + "classifyText": { + "description": "Classify the full document into categories.", + "type": "boolean" + }, + "extractEntitySentiment": { + "description": "Extract entities and their associated sentiment.", + "type": "boolean" + }, + "extractDocumentSentiment": { + "type": "boolean", + "description": "Extract document-level sentiment." + }, + "extractSyntax": { + "description": "Extract syntax information.", + "type": "boolean" + } + }, + "id": "Features" + }, + "Document": { + "type": "object", + "properties": { + "content": { + "description": "The content of the input in string format.", + "type": "string" + }, + "type": { + "type": "string", + "enumDescriptions": [ + "The content type is not specified.", + "Plain text", + "HTML" + ], + "enum": [ + "TYPE_UNSPECIFIED", + "PLAIN_TEXT", + "HTML" + ], + "description": "Required. If the type is not set or is `TYPE_UNSPECIFIED`,\nreturns an `INVALID_ARGUMENT` error." + }, + "gcsContentUri": { + "description": "The Google Cloud Storage URI where the file content is located.\nThis URI must be of the form: gs://bucket_name/object_name. For more\ndetails, see https://cloud.google.com/storage/docs/reference-uris.\nNOTE: Cloud Storage object versioning is not supported.", + "type": "string" + }, + "language": { + "type": "string", + "description": "The language of the document (if not specified, the language is\nautomatically detected). Both ISO and BCP-47 language codes are\naccepted.\u003cbr\u003e\n[Language Support](/natural-language/docs/languages)\nlists currently supported languages for each API method.\nIf the language (either specified by the caller or automatically detected)\nis not supported by the called API method, an `INVALID_ARGUMENT` error\nis returned." + } + }, + "id": "Document", + "description": "################################################################ #\n\nRepresents the input to API methods." + }, + "AnalyzeEntitiesRequest": { + "type": "object", + "properties": { + "encodingType": { + "enum": [ + "NONE", + "UTF8", + "UTF16", + "UTF32" + ], + "description": "The encoding type used by the API to calculate offsets.", + "type": "string", + "enumDescriptions": [ + "If `EncodingType` is not specified, encoding-dependent information (such as\n`begin_offset`) will be set at `-1`.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-8 encoding of the input. C++ and Go are examples of languages\nthat use this encoding natively.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-16 encoding of the input. Java and Javascript are examples of\nlanguages that use this encoding natively.", + "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-32 encoding of the input. Python is an example of a language\nthat uses this encoding natively." + ] + }, + "document": { + "$ref": "Document", + "description": "Input document." + } + }, + "id": "AnalyzeEntitiesRequest", + "description": "The entity analysis request message." + }, + "ClassifyTextRequest": { + "type": "object", + "properties": { + "document": { + "$ref": "Document", + "description": "Input document." + } + }, + "id": "ClassifyTextRequest", + "description": "The document classification request message." + }, + "AnalyzeEntitySentimentResponse": { + "description": "The entity-level sentiment analysis response message.", + "type": "object", + "properties": { + "language": { + "description": "The language of the text, which will be the same as the language specified\nin the request or, if not specified, the automatically-detected language.\nSee Document.language field for more details.", + "type": "string" + }, + "entities": { + "items": { + "$ref": "Entity" + }, + "type": "array", + "description": "The recognized entities in the input document with associated sentiments." + } + }, + "id": "AnalyzeEntitySentimentResponse" + }, + "AnalyzeSentimentResponse": { + "type": "object", + "properties": { + "documentSentiment": { + "$ref": "Sentiment", + "description": "The overall sentiment of the input document." + }, + "language": { + "description": "The language of the text, which will be the same as the language specified\nin the request or, if not specified, the automatically-detected language.\nSee Document.language field for more details.", + "type": "string" + }, + "sentences": { + "description": "The sentiment for all the sentences in the document.", + "items": { + "$ref": "Sentence" + }, + "type": "array" + } + }, + "id": "AnalyzeSentimentResponse", + "description": "The sentiment analysis response message." + }, + "AnalyzeSyntaxResponse": { + "type": "object", "properties": { "language": { "description": "The language of the text, which will be the same as the language specified\nin the request or, if not specified, the automatically-detected language.\nSee Document.language field for more details.", "type": "string" }, "sentences": { - "description": "Sentences in the input document. Populated if the user enables\nAnnotateTextRequest.Features.extract_syntax.", - "type": "array", + "description": "Sentences in the input document.", "items": { "$ref": "Sentence" - } + }, + "type": "array" }, "tokens": { - "description": "Tokens, along with their syntactic information, in the input document.\nPopulated if the user enables\nAnnotateTextRequest.Features.extract_syntax.", - "type": "array", "items": { "$ref": "Token" - } - }, - "entities": { - "description": "Entities, along with their semantic information, in the input document.\nPopulated if the user enables\nAnnotateTextRequest.Features.extract_entities.", + }, "type": "array", + "description": "Tokens, along with their syntactic information, in the input document." + } + }, + "id": "AnalyzeSyntaxResponse", + "description": "The syntax analysis response message." + }, + "AnnotateTextResponse": { + "type": "object", + "properties": { + "tokens": { "items": { - "$ref": "Entity" - } + "$ref": "Token" + }, + "type": "array", + "description": "Tokens, along with their syntactic information, in the input document.\nPopulated if the user enables\nAnnotateTextRequest.Features.extract_syntax." + }, + "categories": { + "description": "Categories identified in the input document.", + "items": { + "$ref": "ClassificationCategory" + }, + "type": "array" }, "documentSentiment": { - "description": "The overall sentiment for the document. Populated if the user enables\nAnnotateTextRequest.Features.extract_document_sentiment.", - "$ref": "Sentiment" + "$ref": "Sentiment", + "description": "The overall sentiment for the document. Populated if the user enables\nAnnotateTextRequest.Features.extract_document_sentiment." + }, + "language": { + "description": "The language of the text, which will be the same as the language specified\nin the request or, if not specified, the automatically-detected language.\nSee Document.language field for more details.", + "type": "string" + }, + "entities": { + "items": { + "$ref": "Entity" + }, + "type": "array", + "description": "Entities, along with their semantic information, in the input document.\nPopulated if the user enables\nAnnotateTextRequest.Features.extract_entities." + }, + "sentences": { + "description": "Sentences in the input document. Populated if the user enables\nAnnotateTextRequest.Features.extract_syntax.", + "items": { + "$ref": "Sentence" + }, + "type": "array" } }, "id": "AnnotateTextResponse", - "description": "The text annotations response message.", - "type": "object" + "description": "The text annotations response message." }, "DependencyEdge": { + "type": "object", "properties": { "headTokenIndex": { - "description": "Represents the head of this token in the dependency tree.\nThis is the index of the token which has an arc going to this token.\nThe index is the position of the token in the array of tokens returned\nby the API method. If this token is a root token, then the\n`head_token_index` is its own index.", "format": "int32", + "description": "Represents the head of this token in the dependency tree.\nThis is the index of the token which has an arc going to this token.\nThe index is the position of the token in the array of tokens returned\nby the API method. If this token is a root token, then the\n`head_token_index` is its own index.", "type": "integer" }, "label": { @@ -188,7 +1012,13 @@ "NOMCSUBJPASS", "NUMC", "COP", - "DISLOCATED" + "DISLOCATED", + "ASP", + "GMOD", + "GOBJ", + "INFMOD", + "MES", + "NCOMP" ], "description": "The parse label for the token.", "type": "string", @@ -269,110 +1099,63 @@ "Nominalized clausal passive", "Compound of numeric modifier", "Copula", - "Dislocated relation (for fronted/topicalized elements)" + "Dislocated relation (for fronted/topicalized elements)", + "Aspect marker", + "Genitive modifier", + "Genitive object", + "Infinitival modifier", + "Measure", + "Nominal complement of a noun" ] } }, "id": "DependencyEdge", - "description": "Represents dependency parse tree information for a token.", - "type": "object" + "description": "Represents dependency parse tree information for a token." }, "Token": { + "description": "Represents the smallest syntactic building block of the text.", + "type": "object", "properties": { - "lemma": { - "description": "[Lemma](https://en.wikipedia.org/wiki/Lemma_%28morphology%29) of the token.", - "type": "string" - }, - "partOfSpeech": { - "$ref": "PartOfSpeech", - "description": "Parts of speech tag for this token." + "dependencyEdge": { + "$ref": "DependencyEdge", + "description": "Dependency tree parse for this token." }, "text": { "$ref": "TextSpan", "description": "The token text." }, - "dependencyEdge": { - "description": "Dependency tree parse for this token.", - "$ref": "DependencyEdge" + "lemma": { + "type": "string", + "description": "[Lemma](https://en.wikipedia.org/wiki/Lemma_%28morphology%29) of the token." + }, + "partOfSpeech": { + "$ref": "PartOfSpeech", + "description": "Parts of speech tag for this token." } }, - "id": "Token", - "description": "Represents the smallest syntactic building block of the text.", - "type": "object" + "id": "Token" }, "TextSpan": { + "description": "Represents an output piece of text.", + "type": "object", "properties": { - "beginOffset": { - "description": "The API calculates the beginning offset of the content in the original\ndocument according to the EncodingType specified in the API request.", - "format": "int32", - "type": "integer" - }, "content": { "description": "The content of the output text.", "type": "string" - } - }, - "id": "TextSpan", - "description": "Represents an output piece of text.", - "type": "object" - }, - "Status": { - "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", - "type": "object", - "properties": { - "message": { - "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", - "type": "string" }, - "details": { - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", - "type": "array", - "items": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "type": "object" - } - }, - "code": { - "description": "The status code, which should be an enum value of google.rpc.Code.", + "beginOffset": { "format": "int32", + "description": "The API calculates the beginning offset of the content in the original\ndocument according to the EncodingType specified in the API request.", "type": "integer" } }, - "id": "Status" - }, - "Features": { - "properties": { - "extractSyntax": { - "description": "Extract syntax information.", - "type": "boolean" - }, - "extractDocumentSentiment": { - "description": "Extract document-level sentiment.", - "type": "boolean" - }, - "extractEntitySentiment": { - "description": "Extract entities and their associated sentiment.", - "type": "boolean" - }, - "extractEntities": { - "description": "Extract entities.", - "type": "boolean" - } - }, - "id": "Features", - "description": "All available features for sentiment, syntax, and semantic analysis.\nSetting each one to true will enable that specific analysis for the input.", - "type": "object" + "id": "TextSpan" }, "EntityMention": { + "type": "object", "properties": { - "text": { - "description": "The mention text.", - "$ref": "TextSpan" - }, "type": { + "type": "string", "enumDescriptions": [ "Unknown", "Proper name", @@ -383,8 +1166,11 @@ "PROPER", "COMMON" ], - "description": "The type of the entity mention.", - "type": "string" + "description": "The type of the entity mention." + }, + "text": { + "$ref": "TextSpan", + "description": "The mention text." }, "sentiment": { "$ref": "Sentiment", @@ -392,562 +1178,53 @@ } }, "id": "EntityMention", - "description": "Represents a mention for an entity in the text. Currently, proper noun\nmentions are supported.", - "type": "object" + "description": "Represents a mention for an entity in the text. Currently, proper noun\nmentions are supported." + }, + "ClassifyTextResponse": { + "type": "object", + "properties": { + "categories": { + "description": "Categories representing the input document.", + "items": { + "$ref": "ClassificationCategory" + }, + "type": "array" + } + }, + "id": "ClassifyTextResponse", + "description": "The document classification response message." }, "Sentence": { + "description": "Represents a sentence in the input document.", + "type": "object", "properties": { + "text": { + "$ref": "TextSpan", + "description": "The sentence text." + }, "sentiment": { "$ref": "Sentiment", "description": "For calls to AnalyzeSentiment or if\nAnnotateTextRequest.Features.extract_document_sentiment is set to\ntrue, this field will contain the sentiment for the sentence." - }, - "text": { - "description": "The sentence text.", - "$ref": "TextSpan" } }, - "id": "Sentence", - "description": "Represents a sentence in the input document.", - "type": "object" - }, - "Document": { - "description": "################################################################ #\n\nRepresents the input to API methods.", - "type": "object", - "properties": { - "gcsContentUri": { - "description": "The Google Cloud Storage URI where the file content is located.\nThis URI must be of the form: gs://bucket_name/object_name. For more\ndetails, see https://cloud.google.com/storage/docs/reference-uris.\nNOTE: Cloud Storage object versioning is not supported.", - "type": "string" - }, - "language": { - "description": "The language of the document (if not specified, the language is\nautomatically detected). Both ISO and BCP-47 language codes are\naccepted.\u003cbr\u003e\n[Language Support](/natural-language/docs/languages)\nlists currently supported languages for each API method.\nIf the language (either specified by the caller or automatically detected)\nis not supported by the called API method, an `INVALID_ARGUMENT` error\nis returned.", - "type": "string" - }, - "type": { - "enumDescriptions": [ - "The content type is not specified.", - "Plain text", - "HTML" - ], - "enum": [ - "TYPE_UNSPECIFIED", - "PLAIN_TEXT", - "HTML" - ], - "description": "Required. If the type is not set or is `TYPE_UNSPECIFIED`,\nreturns an `INVALID_ARGUMENT` error.", - "type": "string" - }, - "content": { - "description": "The content of the input in string format.", - "type": "string" - } - }, - "id": "Document" - }, - "AnalyzeEntitiesRequest": { - "description": "The entity analysis request message.", - "type": "object", - "properties": { - "encodingType": { - "enum": [ - "NONE", - "UTF8", - "UTF16", - "UTF32" - ], - "description": "The encoding type used by the API to calculate offsets.", - "type": "string", - "enumDescriptions": [ - "If `EncodingType` is not specified, encoding-dependent information (such as\n`begin_offset`) will be set at `-1`.", - "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-8 encoding of the input. C++ and Go are examples of languages\nthat use this encoding natively.", - "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-16 encoding of the input. Java and Javascript are examples of\nlanguages that use this encoding natively.", - "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-32 encoding of the input. Python is an example of a language\nthat uses this encoding natively." - ] - }, - "document": { - "$ref": "Document", - "description": "Input document." - } - }, - "id": "AnalyzeEntitiesRequest" + "id": "Sentence" }, "Sentiment": { - "properties": { - "magnitude": { - "description": "A non-negative number in the [0, +inf) range, which represents\nthe absolute magnitude of sentiment regardless of score (positive or\nnegative).", - "format": "float", - "type": "number" - }, - "score": { - "description": "Sentiment score between -1.0 (negative sentiment) and 1.0\n(positive sentiment).", - "format": "float", - "type": "number" - } - }, - "id": "Sentiment", "description": "Represents the feeling associated with the entire text or entities in\nthe text.", - "type": "object" - }, - "AnalyzeEntitySentimentResponse": { - "description": "The entity-level sentiment analysis response message.", "type": "object", "properties": { - "entities": { - "description": "The recognized entities in the input document with associated sentiments.", - "type": "array", - "items": { - "$ref": "Entity" - } - }, - "language": { - "description": "The language of the text, which will be the same as the language specified\nin the request or, if not specified, the automatically-detected language.\nSee Document.language field for more details.", - "type": "string" - } - }, - "id": "AnalyzeEntitySentimentResponse" - }, - "AnalyzeEntitySentimentRequest": { - "properties": { - "encodingType": { - "enum": [ - "NONE", - "UTF8", - "UTF16", - "UTF32" - ], - "description": "The encoding type used by the API to calculate offsets.", - "type": "string", - "enumDescriptions": [ - "If `EncodingType` is not specified, encoding-dependent information (such as\n`begin_offset`) will be set at `-1`.", - "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-8 encoding of the input. C++ and Go are examples of languages\nthat use this encoding natively.", - "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-16 encoding of the input. Java and Javascript are examples of\nlanguages that use this encoding natively.", - "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-32 encoding of the input. Python is an example of a language\nthat uses this encoding natively." - ] - }, - "document": { - "$ref": "Document", - "description": "Input document." - } - }, - "id": "AnalyzeEntitySentimentRequest", - "description": "The entity-level sentiment analysis request message.", - "type": "object" - }, - "PartOfSpeech": { - "properties": { - "mood": { - "enum": [ - "MOOD_UNKNOWN", - "CONDITIONAL_MOOD", - "IMPERATIVE", - "INDICATIVE", - "INTERROGATIVE", - "JUSSIVE", - "SUBJUNCTIVE" - ], - "description": "The grammatical mood.", - "type": "string", - "enumDescriptions": [ - "Mood is not applicable in the analyzed language or is not predicted.", - "Conditional", - "Imperative", - "Indicative", - "Interrogative", - "Jussive", - "Subjunctive" - ] - }, - "tag": { - "enumDescriptions": [ - "Unknown", - "Adjective", - "Adposition (preposition and postposition)", - "Adverb", - "Conjunction", - "Determiner", - "Noun (common and proper)", - "Cardinal number", - "Pronoun", - "Particle or other function word", - "Punctuation", - "Verb (all tenses and modes)", - "Other: foreign words, typos, abbreviations", - "Affix" - ], - "enum": [ - "UNKNOWN", - "ADJ", - "ADP", - "ADV", - "CONJ", - "DET", - "NOUN", - "NUM", - "PRON", - "PRT", - "PUNCT", - "VERB", - "X", - "AFFIX" - ], - "description": "The part of speech tag.", - "type": "string" - }, - "gender": { - "enumDescriptions": [ - "Gender is not applicable in the analyzed language or is not predicted.", - "Feminine", - "Masculine", - "Neuter" - ], - "enum": [ - "GENDER_UNKNOWN", - "FEMININE", - "MASCULINE", - "NEUTER" - ], - "description": "The grammatical gender.", - "type": "string" - }, - "person": { - "enumDescriptions": [ - "Person is not applicable in the analyzed language or is not predicted.", - "First", - "Second", - "Third", - "Reflexive" - ], - "enum": [ - "PERSON_UNKNOWN", - "FIRST", - "SECOND", - "THIRD", - "REFLEXIVE_PERSON" - ], - "description": "The grammatical person.", - "type": "string" - }, - "proper": { - "enum": [ - "PROPER_UNKNOWN", - "PROPER", - "NOT_PROPER" - ], - "description": "The grammatical properness.", - "type": "string", - "enumDescriptions": [ - "Proper is not applicable in the analyzed language or is not predicted.", - "Proper", - "Not proper" - ] - }, - "case": { - "enumDescriptions": [ - "Case is not applicable in the analyzed language or is not predicted.", - "Accusative", - "Adverbial", - "Complementive", - "Dative", - "Genitive", - "Instrumental", - "Locative", - "Nominative", - "Oblique", - "Partitive", - "Prepositional", - "Reflexive", - "Relative", - "Vocative" - ], - "enum": [ - "CASE_UNKNOWN", - "ACCUSATIVE", - "ADVERBIAL", - "COMPLEMENTIVE", - "DATIVE", - "GENITIVE", - "INSTRUMENTAL", - "LOCATIVE", - "NOMINATIVE", - "OBLIQUE", - "PARTITIVE", - "PREPOSITIONAL", - "REFLEXIVE_CASE", - "RELATIVE_CASE", - "VOCATIVE" - ], - "description": "The grammatical case.", - "type": "string" - }, - "tense": { - "enum": [ - "TENSE_UNKNOWN", - "CONDITIONAL_TENSE", - "FUTURE", - "PAST", - "PRESENT", - "IMPERFECT", - "PLUPERFECT" - ], - "description": "The grammatical tense.", - "type": "string", - "enumDescriptions": [ - "Tense is not applicable in the analyzed language or is not predicted.", - "Conditional", - "Future", - "Past", - "Present", - "Imperfect", - "Pluperfect" - ] - }, - "reciprocity": { - "enumDescriptions": [ - "Reciprocity is not applicable in the analyzed language or is not\npredicted.", - "Reciprocal", - "Non-reciprocal" - ], - "enum": [ - "RECIPROCITY_UNKNOWN", - "RECIPROCAL", - "NON_RECIPROCAL" - ], - "description": "The grammatical reciprocity.", - "type": "string" - }, - "form": { - "enum": [ - "FORM_UNKNOWN", - "ADNOMIAL", - "AUXILIARY", - "COMPLEMENTIZER", - "FINAL_ENDING", - "GERUND", - "REALIS", - "IRREALIS", - "SHORT", - "LONG", - "ORDER", - "SPECIFIC" - ], - "description": "The grammatical form.", - "type": "string", - "enumDescriptions": [ - "Form is not applicable in the analyzed language or is not predicted.", - "Adnomial", - "Auxiliary", - "Complementizer", - "Final ending", - "Gerund", - "Realis", - "Irrealis", - "Short form", - "Long form", - "Order form", - "Specific form" - ] - }, - "number": { - "enum": [ - "NUMBER_UNKNOWN", - "SINGULAR", - "PLURAL", - "DUAL" - ], - "description": "The grammatical number.", - "type": "string", - "enumDescriptions": [ - "Number is not applicable in the analyzed language or is not predicted.", - "Singular", - "Plural", - "Dual" - ] - }, - "voice": { - "enum": [ - "VOICE_UNKNOWN", - "ACTIVE", - "CAUSATIVE", - "PASSIVE" - ], - "description": "The grammatical voice.", - "type": "string", - "enumDescriptions": [ - "Voice is not applicable in the analyzed language or is not predicted.", - "Active", - "Causative", - "Passive" - ] - }, - "aspect": { - "enumDescriptions": [ - "Aspect is not applicable in the analyzed language or is not predicted.", - "Perfective", - "Imperfective", - "Progressive" - ], - "enum": [ - "ASPECT_UNKNOWN", - "PERFECTIVE", - "IMPERFECTIVE", - "PROGRESSIVE" - ], - "description": "The grammatical aspect.", - "type": "string" - } - }, - "id": "PartOfSpeech", - "description": "Represents part of speech information for a token.", - "type": "object" - }, - "AnalyzeSyntaxRequest": { - "description": "The syntax analysis request message.", - "type": "object", - "properties": { - "encodingType": { - "enum": [ - "NONE", - "UTF8", - "UTF16", - "UTF32" - ], - "description": "The encoding type used by the API to calculate offsets.", - "type": "string", - "enumDescriptions": [ - "If `EncodingType` is not specified, encoding-dependent information (such as\n`begin_offset`) will be set at `-1`.", - "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-8 encoding of the input. C++ and Go are examples of languages\nthat use this encoding natively.", - "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-16 encoding of the input. Java and Javascript are examples of\nlanguages that use this encoding natively.", - "Encoding-dependent information (such as `begin_offset`) is calculated based\non the UTF-32 encoding of the input. Python is an example of a language\nthat uses this encoding natively." - ] - }, - "document": { - "$ref": "Document", - "description": "Input document." - } - }, - "id": "AnalyzeSyntaxRequest" - }, - "AnalyzeSentimentResponse": { - "description": "The sentiment analysis response message.", - "type": "object", - "properties": { - "documentSentiment": { - "$ref": "Sentiment", - "description": "The overall sentiment of the input document." - }, - "language": { - "description": "The language of the text, which will be the same as the language specified\nin the request or, if not specified, the automatically-detected language.\nSee Document.language field for more details.", - "type": "string" - }, - "sentences": { - "description": "The sentiment for all the sentences in the document.", - "type": "array", - "items": { - "$ref": "Sentence" - } - } - }, - "id": "AnalyzeSentimentResponse" - }, - "AnalyzeEntitiesResponse": { - "description": "The entity analysis response message.", - "type": "object", - "properties": { - "language": { - "description": "The language of the text, which will be the same as the language specified\nin the request or, if not specified, the automatically-detected language.\nSee Document.language field for more details.", - "type": "string" - }, - "entities": { - "description": "The recognized entities in the input document.", - "type": "array", - "items": { - "$ref": "Entity" - } - } - }, - "id": "AnalyzeEntitiesResponse" - }, - "Entity": { - "description": "Represents a phrase in the text that is a known entity, such as\na person, an organization, or location. The API associates information, such\nas salience and mentions, with entities.", - "type": "object", - "properties": { - "mentions": { - "description": "The mentions of this entity in the input document. The API currently\nsupports proper noun mentions.", - "type": "array", - "items": { - "$ref": "EntityMention" - } - }, - "name": { - "description": "The representative name for the entity.", - "type": "string" - }, - "type": { - "enum": [ - "UNKNOWN", - "PERSON", - "LOCATION", - "ORGANIZATION", - "EVENT", - "WORK_OF_ART", - "CONSUMER_GOOD", - "OTHER" - ], - "description": "The entity type.", - "type": "string", - "enumDescriptions": [ - "Unknown", - "Person", - "Location", - "Organization", - "Event", - "Work of art", - "Consumer goods", - "Other types" - ] - }, - "metadata": { - "additionalProperties": { - "type": "string" - }, - "description": "Metadata associated with the entity.\n\nCurrently, Wikipedia URLs and Knowledge Graph MIDs are provided, if\navailable. The associated keys are \"wikipedia_url\" and \"mid\", respectively.", - "type": "object" - }, - "salience": { - "description": "The salience score associated with the entity in the [0, 1.0] range.\n\nThe salience score for an entity provides information about the\nimportance or centrality of that entity to the entire document text.\nScores closer to 0 are less salient, while scores closer to 1.0 are highly\nsalient.", + "score": { "format": "float", + "description": "Sentiment score between -1.0 (negative sentiment) and 1.0\n(positive sentiment).", "type": "number" }, - "sentiment": { - "description": "For calls to AnalyzeEntitySentiment or if\nAnnotateTextRequest.Features.extract_entity_sentiment is set to\ntrue, this field will contain the aggregate sentiment expressed for this\nentity in the provided document.", - "$ref": "Sentiment" + "magnitude": { + "type": "number", + "format": "float", + "description": "A non-negative number in the [0, +inf) range, which represents\nthe absolute magnitude of sentiment regardless of score (positive or\nnegative)." } }, - "id": "Entity" - }, - "AnalyzeSyntaxResponse": { - "properties": { - "language": { - "description": "The language of the text, which will be the same as the language specified\nin the request or, if not specified, the automatically-detected language.\nSee Document.language field for more details.", - "type": "string" - }, - "sentences": { - "description": "Sentences in the input document.", - "type": "array", - "items": { - "$ref": "Sentence" - } - }, - "tokens": { - "description": "Tokens, along with their syntactic information, in the input document.", - "type": "array", - "items": { - "$ref": "Token" - } - } - }, - "id": "AnalyzeSyntaxResponse", - "description": "The syntax analysis response message.", - "type": "object" + "id": "Sentiment" } }, "protocol": "rest", @@ -961,200 +1238,14 @@ "scopes": { "https://www.googleapis.com/auth/cloud-platform": { "description": "View and manage your data across Google Cloud Platform services" + }, + "https://www.googleapis.com/auth/cloud-language": { + "description": "Apply machine learning models to reveal the structure and meaning of text" } } } }, "rootUrl": "https://language.googleapis.com/", "ownerDomain": "google.com", - "name": "language", - "batchPath": "batch", - "title": "Google Cloud Natural Language API", - "ownerName": "Google", - "resources": { - "documents": { - "methods": { - "analyzeEntitySentiment": { - "id": "language.documents.analyzeEntitySentiment", - "path": "v1beta2/documents:analyzeEntitySentiment", - "request": { - "$ref": "AnalyzeEntitySentimentRequest" - }, - "description": "Finds entities, similar to AnalyzeEntities in the text and analyzes\nsentiment associated with each entity and its mentions.", - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "AnalyzeEntitySentimentResponse" - }, - "parameters": {}, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta2/documents:analyzeEntitySentiment" - }, - "analyzeEntities": { - "id": "language.documents.analyzeEntities", - "path": "v1beta2/documents:analyzeEntities", - "request": { - "$ref": "AnalyzeEntitiesRequest" - }, - "description": "Finds named entities (currently proper names and common nouns) in the text\nalong with entity types, salience, mentions for each entity, and\nother properties.", - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "AnalyzeEntitiesResponse" - }, - "parameters": {}, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta2/documents:analyzeEntities" - }, - "analyzeSyntax": { - "id": "language.documents.analyzeSyntax", - "path": "v1beta2/documents:analyzeSyntax", - "description": "Analyzes the syntax of the text and provides sentence boundaries and\ntokenization along with part of speech tags, dependency trees, and other\nproperties.", - "request": { - "$ref": "AnalyzeSyntaxRequest" - }, - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "AnalyzeSyntaxResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": {}, - "flatPath": "v1beta2/documents:analyzeSyntax" - }, - "analyzeSentiment": { - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "AnalyzeSentimentResponse" - }, - "parameters": {}, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta2/documents:analyzeSentiment", - "id": "language.documents.analyzeSentiment", - "path": "v1beta2/documents:analyzeSentiment", - "request": { - "$ref": "AnalyzeSentimentRequest" - }, - "description": "Analyzes the sentiment of the provided text." - }, - "annotateText": { - "response": { - "$ref": "AnnotateTextResponse" - }, - "parameterOrder": [], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": {}, - "flatPath": "v1beta2/documents:annotateText", - "path": "v1beta2/documents:annotateText", - "id": "language.documents.annotateText", - "description": "A convenience method that provides all syntax, sentiment, entity, and\nclassification features in one call.", - "request": { - "$ref": "AnnotateTextRequest" - } - } - } - } - }, - "parameters": { - "alt": { - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], - "type": "string", - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query" - }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, - "access_token": { - "description": "OAuth access token.", - "type": "string", - "location": "query" - }, - "quotaUser": { - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" - }, - "pp": { - "location": "query", - "description": "Pretty-print response.", - "type": "boolean", - "default": "true" - }, - "bearer_token": { - "description": "OAuth bearer token.", - "type": "string", - "location": "query" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" - }, - "upload_protocol": { - "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string" - }, - "prettyPrint": { - "description": "Returns response with indentations and line breaks.", - "type": "boolean", - "default": "true", - "location": "query" - }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "type": "string", - "location": "query" - }, - "uploadType": { - "location": "query", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string" - }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, - "$.xgafv": { - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" - ], - "description": "V1 error format.", - "type": "string" - } - }, - "version": "v1beta2", - "baseUrl": "https://language.googleapis.com/" + "name": "language" } diff --git a/vendor/google.golang.org/api/language/v1beta2/language-gen.go b/vendor/google.golang.org/api/language/v1beta2/language-gen.go index 9faa94542..d87313aac 100644 --- a/vendor/google.golang.org/api/language/v1beta2/language-gen.go +++ b/vendor/google.golang.org/api/language/v1beta2/language-gen.go @@ -47,6 +47,10 @@ const basePath = "https://language.googleapis.com/" // OAuth2 scopes used by this API. const ( + // Apply machine learning models to reveal the structure and meaning of + // text + CloudLanguageScope = "https://www.googleapis.com/auth/cloud-language" + // View and manage your data across Google Cloud Platform services CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" ) @@ -515,6 +519,9 @@ func (s *AnnotateTextRequest) MarshalJSON() ([]byte, error) { // AnnotateTextResponse: The text annotations response message. type AnnotateTextResponse struct { + // Categories: Categories identified in the input document. + Categories []*ClassificationCategory `json:"categories,omitempty"` + // DocumentSentiment: The overall sentiment for the document. Populated // if the user // enables @@ -551,21 +558,20 @@ type AnnotateTextResponse struct { // server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "DocumentSentiment") - // to unconditionally include in API requests. By default, fields with + // ForceSendFields is a list of field names (e.g. "Categories") to + // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DocumentSentiment") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. + // NullFields is a list of field names (e.g. "Categories") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } @@ -575,6 +581,114 @@ func (s *AnnotateTextResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ClassificationCategory: Represents a category returned from the text +// classifier. +type ClassificationCategory struct { + // Confidence: The classifier's confidence of the category. Number + // represents how certain + // the classifier is that this category represents the given text. + Confidence float64 `json:"confidence,omitempty"` + + // Name: The name of the category representing the document. + Name string `json:"name,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Confidence") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Confidence") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ClassificationCategory) MarshalJSON() ([]byte, error) { + type noMethod ClassificationCategory + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *ClassificationCategory) UnmarshalJSON(data []byte) error { + type noMethod ClassificationCategory + var s1 struct { + Confidence gensupport.JSONFloat64 `json:"confidence"` + *noMethod + } + s1.noMethod = (*noMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Confidence = float64(s1.Confidence) + return nil +} + +// ClassifyTextRequest: The document classification request message. +type ClassifyTextRequest struct { + // Document: Input document. + Document *Document `json:"document,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Document") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Document") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ClassifyTextRequest) MarshalJSON() ([]byte, error) { + type noMethod ClassifyTextRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ClassifyTextResponse: The document classification response message. +type ClassifyTextResponse struct { + // Categories: Categories representing the input document. + Categories []*ClassificationCategory `json:"categories,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Categories") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Categories") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ClassifyTextResponse) MarshalJSON() ([]byte, error) { + type noMethod ClassifyTextResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // DependencyEdge: Represents dependency parse tree information for a // token. type DependencyEdge struct { @@ -671,6 +785,12 @@ type DependencyEdge struct { // "COP" - Copula // "DISLOCATED" - Dislocated relation (for fronted/topicalized // elements) + // "ASP" - Aspect marker + // "GMOD" - Genitive modifier + // "GOBJ" - Genitive object + // "INFMOD" - Infinitival modifier + // "MES" - Measure + // "NCOMP" - Nominal complement of a noun Label string `json:"label,omitempty"` // ForceSendFields is a list of field names (e.g. "HeadTokenIndex") to @@ -905,6 +1025,9 @@ func (s *EntityMention) MarshalJSON() ([]byte, error) { // Setting each one to true will enable that specific analysis for the // input. type Features struct { + // ClassifyText: Classify the full document into categories. + ClassifyText bool `json:"classifyText,omitempty"` + // ExtractDocumentSentiment: Extract document-level sentiment. ExtractDocumentSentiment bool `json:"extractDocumentSentiment,omitempty"` @@ -918,22 +1041,20 @@ type Features struct { // ExtractSyntax: Extract syntax information. ExtractSyntax bool `json:"extractSyntax,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "ExtractDocumentSentiment") to unconditionally include in API - // requests. By default, fields with empty values are omitted from API - // requests. However, any non-pointer, non-interface field appearing in - // ForceSendFields will be sent to the server regardless of whether the - // field is empty or not. This may be used to include empty fields in - // Patch requests. + // ForceSendFields is a list of field names (e.g. "ClassifyText") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ExtractDocumentSentiment") - // to include in API requests with the JSON null value. By default, - // fields with empty values are omitted from API requests. However, any - // field with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. + // NullFields is a list of field names (e.g. "ClassifyText") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } @@ -1296,9 +1417,9 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in @@ -1521,6 +1642,7 @@ func (c *DocumentsAnalyzeEntitiesCall) Do(opts ...googleapi.CallOption) (*Analyz // "$ref": "AnalyzeEntitiesResponse" // }, // "scopes": [ + // "https://www.googleapis.com/auth/cloud-language", // "https://www.googleapis.com/auth/cloud-platform" // ] // } @@ -1643,6 +1765,7 @@ func (c *DocumentsAnalyzeEntitySentimentCall) Do(opts ...googleapi.CallOption) ( // "$ref": "AnalyzeEntitySentimentResponse" // }, // "scopes": [ + // "https://www.googleapis.com/auth/cloud-language", // "https://www.googleapis.com/auth/cloud-platform" // ] // } @@ -1763,6 +1886,7 @@ func (c *DocumentsAnalyzeSentimentCall) Do(opts ...googleapi.CallOption) (*Analy // "$ref": "AnalyzeSentimentResponse" // }, // "scopes": [ + // "https://www.googleapis.com/auth/cloud-language", // "https://www.googleapis.com/auth/cloud-platform" // ] // } @@ -1887,6 +2011,7 @@ func (c *DocumentsAnalyzeSyntaxCall) Do(opts ...googleapi.CallOption) (*AnalyzeS // "$ref": "AnalyzeSyntaxResponse" // }, // "scopes": [ + // "https://www.googleapis.com/auth/cloud-language", // "https://www.googleapis.com/auth/cloud-platform" // ] // } @@ -2009,6 +2134,128 @@ func (c *DocumentsAnnotateTextCall) Do(opts ...googleapi.CallOption) (*AnnotateT // "$ref": "AnnotateTextResponse" // }, // "scopes": [ + // "https://www.googleapis.com/auth/cloud-language", + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "language.documents.classifyText": + +type DocumentsClassifyTextCall struct { + s *Service + classifytextrequest *ClassifyTextRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ClassifyText: Classifies a document into categories. +func (r *DocumentsService) ClassifyText(classifytextrequest *ClassifyTextRequest) *DocumentsClassifyTextCall { + c := &DocumentsClassifyTextCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.classifytextrequest = classifytextrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *DocumentsClassifyTextCall) Fields(s ...googleapi.Field) *DocumentsClassifyTextCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *DocumentsClassifyTextCall) Context(ctx context.Context) *DocumentsClassifyTextCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *DocumentsClassifyTextCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *DocumentsClassifyTextCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.classifytextrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/documents:classifyText") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "language.documents.classifyText" call. +// Exactly one of *ClassifyTextResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ClassifyTextResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *DocumentsClassifyTextCall) Do(opts ...googleapi.CallOption) (*ClassifyTextResponse, 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, &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, err + } + ret := &ClassifyTextResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Classifies a document into categories.", + // "flatPath": "v1beta2/documents:classifyText", + // "httpMethod": "POST", + // "id": "language.documents.classifyText", + // "parameterOrder": [], + // "parameters": {}, + // "path": "v1beta2/documents:classifyText", + // "request": { + // "$ref": "ClassifyTextRequest" + // }, + // "response": { + // "$ref": "ClassifyTextResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-language", // "https://www.googleapis.com/auth/cloud-platform" // ] // } diff --git a/vendor/google.golang.org/api/licensing/v1/licensing-api.json b/vendor/google.golang.org/api/licensing/v1/licensing-api.json index a6015c6ce..64e293561 100644 --- a/vendor/google.golang.org/api/licensing/v1/licensing-api.json +++ b/vendor/google.golang.org/api/licensing/v1/licensing-api.json @@ -20,7 +20,7 @@ "basePath": "/apps/licensing/v1/product/", "rootUrl": "https://www.googleapis.com/", "servicePath": "apps/licensing/v1/product/", - "batchPath": "batch", + "batchPath": "batch/licensing/v1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/logging/v2/logging-api.json b/vendor/google.golang.org/api/logging/v2/logging-api.json index d768dedcb..29586870a 100644 --- a/vendor/google.golang.org/api/logging/v2/logging-api.json +++ b/vendor/google.golang.org/api/logging/v2/logging-api.json @@ -1,57 +1,2140 @@ { + "resources": { + "folders": { + "resources": { + "sinks": { + "methods": { + "get": { + "description": "Gets a sink.", + "response": { + "$ref": "LogSink" + }, + "parameterOrder": [ + "sinkName" + ], + "httpMethod": "GET", + "parameters": { + "sinkName": { + "location": "path", + "description": "Required. The resource name of the sink:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", + "type": "string", + "required": true, + "pattern": "^folders/[^/]+/sinks/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "flatPath": "v2/folders/{foldersId}/sinks/{sinksId}", + "id": "logging.folders.sinks.get", + "path": "v2/{+sinkName}" + }, + "patch": { + "request": { + "$ref": "LogSink" + }, + "description": "Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: destination, and filter. The updated sink might also have a new writer_identity; see the unique_writer_identity field.", + "response": { + "$ref": "LogSink" + }, + "parameterOrder": [ + "sinkName" + ], + "httpMethod": "PATCH", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "parameters": { + "updateMask": { + "format": "google-fieldmask", + "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: updateMask=filter.", + "type": "string", + "location": "query" + }, + "uniqueWriterIdentity": { + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is set to false or defaulted to false.", + "type": "boolean", + "location": "query" + }, + "sinkName": { + "type": "string", + "required": true, + "pattern": "^folders/[^/]+/sinks/[^/]+$", + "location": "path", + "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\"." + } + }, + "flatPath": "v2/folders/{foldersId}/sinks/{sinksId}", + "id": "logging.folders.sinks.patch", + "path": "v2/{+sinkName}" + }, + "update": { + "response": { + "$ref": "LogSink" + }, + "parameterOrder": [ + "sinkName" + ], + "httpMethod": "PUT", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "parameters": { + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: updateMask=filter.", + "type": "string" + }, + "uniqueWriterIdentity": { + "location": "query", + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is set to false or defaulted to false.", + "type": "boolean" + }, + "sinkName": { + "pattern": "^folders/[^/]+/sinks/[^/]+$", + "location": "path", + "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", + "type": "string", + "required": true + } + }, + "flatPath": "v2/folders/{foldersId}/sinks/{sinksId}", + "id": "logging.folders.sinks.update", + "path": "v2/{+sinkName}", + "request": { + "$ref": "LogSink" + }, + "description": "Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: destination, and filter. The updated sink might also have a new writer_identity; see the unique_writer_identity field." + }, + "delete": { + "id": "logging.folders.sinks.delete", + "path": "v2/{+sinkName}", + "description": "Deletes a sink. If the sink has a unique writer_identity, then that service account is also deleted.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "sinkName" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "parameters": { + "sinkName": { + "description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", + "type": "string", + "required": true, + "pattern": "^folders/[^/]+/sinks/[^/]+$", + "location": "path" + } + }, + "flatPath": "v2/folders/{foldersId}/sinks/{sinksId}" + }, + "list": { + "description": "Lists sinks.", + "response": { + "$ref": "ListSinksResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "parameters": { + "parent": { + "type": "string", + "required": true, + "pattern": "^folders/[^/]+$", + "location": "path", + "description": "Required. The parent resource whose sinks are to be listed:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n" + }, + "pageToken": { + "location": "query", + "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", + "type": "string" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", + "type": "integer" + } + }, + "flatPath": "v2/folders/{foldersId}/sinks", + "id": "logging.folders.sinks.list", + "path": "v2/{+parent}/sinks" + }, + "create": { + "description": "Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.", + "request": { + "$ref": "LogSink" + }, + "httpMethod": "POST", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "LogSink" + }, + "parameters": { + "parent": { + "location": "path", + "description": "Required. The resource in which to create the sink:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\nExamples: \"projects/my-logging-project\", \"organizations/123456789\".", + "type": "string", + "required": true, + "pattern": "^folders/[^/]+$" + }, + "uniqueWriterIdentity": { + "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Stackdriver Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink.", + "type": "boolean", + "location": "query" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "flatPath": "v2/folders/{foldersId}/sinks", + "path": "v2/{+parent}/sinks", + "id": "logging.folders.sinks.create" + } + } + }, + "logs": { + "methods": { + "delete": { + "parameters": { + "logName": { + "location": "path", + "description": "Required. The resource name of the log to delete:\n\"projects/[PROJECT_ID]/logs/[LOG_ID]\"\n\"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\"\n\"folders/[FOLDER_ID]/logs/[LOG_ID]\"\n[LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". For more information about log names, see LogEntry.", + "type": "string", + "required": true, + "pattern": "^folders/[^/]+/logs/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "flatPath": "v2/folders/{foldersId}/logs/{logsId}", + "path": "v2/{+logName}", + "id": "logging.folders.logs.delete", + "description": "Deletes all the log entries in a log. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted.", + "httpMethod": "DELETE", + "parameterOrder": [ + "logName" + ], + "response": { + "$ref": "Empty" + } + }, + "list": { + "description": "Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.", + "httpMethod": "GET", + "response": { + "$ref": "ListLogsResponse" + }, + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name that owns the logs:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", + "type": "string", + "required": true, + "pattern": "^folders/[^/]+$", + "location": "path" + }, + "pageToken": { + "location": "query", + "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", + "type": "string" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", + "type": "integer" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "flatPath": "v2/folders/{foldersId}/logs", + "path": "v2/{+parent}/logs", + "id": "logging.folders.logs.list" + } + } + }, + "exclusions": { + "methods": { + "delete": { + "flatPath": "v2/folders/{foldersId}/exclusions/{exclusionsId}", + "path": "v2/{+name}", + "id": "logging.folders.exclusions.delete", + "description": "Deletes an exclusion.", + "httpMethod": "DELETE", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "parameters": { + "name": { + "pattern": "^folders/[^/]+/exclusions/[^/]+$", + "location": "path", + "description": "Required. The resource name of an existing exclusion to delete:\n\"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\"\n\"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\"\n\"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\"\nExample: \"projects/my-project-id/exclusions/my-exclusion-id\".", + "type": "string", + "required": true + } + } + }, + "patch": { + "request": { + "$ref": "LogExclusion" + }, + "description": "Changes one or more properties of an existing exclusion.", + "response": { + "$ref": "LogExclusion" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PATCH", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "parameters": { + "name": { + "type": "string", + "required": true, + "pattern": "^folders/[^/]+/exclusions/[^/]+$", + "location": "path", + "description": "Required. The resource name of the exclusion to update:\n\"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\"\n\"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\"\n\"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\"\nExample: \"projects/my-project-id/exclusions/my-exclusion-id\"." + }, + "updateMask": { + "type": "string", + "location": "query", + "format": "google-fieldmask", + "description": "Required. A nonempty list of fields to change in the existing exclusion. New values for the fields are taken from the corresponding fields in the LogExclusion included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.For example, to change the filter and description of an exclusion, specify an update_mask of \"filter,description\"." + } + }, + "flatPath": "v2/folders/{foldersId}/exclusions/{exclusionsId}", + "id": "logging.folders.exclusions.patch", + "path": "v2/{+name}" + }, + "get": { + "httpMethod": "GET", + "response": { + "$ref": "LogExclusion" + }, + "parameterOrder": [ + "name" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "parameters": { + "name": { + "location": "path", + "description": "Required. The resource name of an existing exclusion:\n\"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\"\n\"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\"\n\"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\"\nExample: \"projects/my-project-id/exclusions/my-exclusion-id\".", + "type": "string", + "required": true, + "pattern": "^folders/[^/]+/exclusions/[^/]+$" + } + }, + "flatPath": "v2/folders/{foldersId}/exclusions/{exclusionsId}", + "path": "v2/{+name}", + "id": "logging.folders.exclusions.get", + "description": "Gets the description of an exclusion." + }, + "list": { + "flatPath": "v2/folders/{foldersId}/exclusions", + "id": "logging.folders.exclusions.list", + "path": "v2/{+parent}/exclusions", + "description": "Lists all the exclusions in a parent resource.", + "response": { + "$ref": "ListExclusionsResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "parameters": { + "parent": { + "pattern": "^folders/[^/]+$", + "location": "path", + "description": "Required. The parent resource whose exclusions are to be listed.\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", + "type": "string", + "required": true + }, + "pageToken": { + "location": "query", + "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", + "type": "string" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", + "type": "integer" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ] + }, + "create": { + "id": "logging.folders.exclusions.create", + "path": "v2/{+parent}/exclusions", + "request": { + "$ref": "LogExclusion" + }, + "description": "Creates a new exclusion in a specified parent resource. Only log entries belonging to that resource can be excluded. You can have up to 10 exclusions in a resource.", + "response": { + "$ref": "LogExclusion" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource in which to create the exclusion:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\nExamples: \"projects/my-logging-project\", \"organizations/123456789\".", + "type": "string", + "required": true, + "pattern": "^folders/[^/]+$", + "location": "path" + } + }, + "flatPath": "v2/folders/{foldersId}/exclusions" + } + } + } + } + }, + "monitoredResourceDescriptors": { + "methods": { + "list": { + "description": "Lists the descriptors for monitored resource types used by Stackdriver Logging.", + "response": { + "$ref": "ListMonitoredResourceDescriptorsResponse" + }, + "parameterOrder": [], + "httpMethod": "GET", + "parameters": { + "pageToken": { + "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", + "type": "string", + "location": "query" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", + "type": "integer" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "flatPath": "v2/monitoredResourceDescriptors", + "id": "logging.monitoredResourceDescriptors.list", + "path": "v2/monitoredResourceDescriptors" + } + } + }, + "organizations": { + "resources": { + "sinks": { + "methods": { + "delete": { + "description": "Deletes a sink. If the sink has a unique writer_identity, then that service account is also deleted.", + "httpMethod": "DELETE", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "sinkName" + ], + "parameters": { + "sinkName": { + "pattern": "^organizations/[^/]+/sinks/[^/]+$", + "location": "path", + "description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "flatPath": "v2/organizations/{organizationsId}/sinks/{sinksId}", + "path": "v2/{+sinkName}", + "id": "logging.organizations.sinks.delete" + }, + "list": { + "flatPath": "v2/organizations/{organizationsId}/sinks", + "path": "v2/{+parent}/sinks", + "id": "logging.organizations.sinks.list", + "description": "Lists sinks.", + "httpMethod": "GET", + "response": { + "$ref": "ListSinksResponse" + }, + "parameterOrder": [ + "parent" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "parameters": { + "pageToken": { + "location": "query", + "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", + "type": "string" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", + "type": "integer" + }, + "parent": { + "location": "path", + "description": "Required. The parent resource whose sinks are to be listed:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", + "type": "string", + "required": true, + "pattern": "^organizations/[^/]+$" + } + } + }, + "create": { + "httpMethod": "POST", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "LogSink" + }, + "parameters": { + "uniqueWriterIdentity": { + "location": "query", + "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Stackdriver Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink.", + "type": "boolean" + }, + "parent": { + "location": "path", + "description": "Required. The resource in which to create the sink:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\nExamples: \"projects/my-logging-project\", \"organizations/123456789\".", + "type": "string", + "required": true, + "pattern": "^organizations/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "flatPath": "v2/organizations/{organizationsId}/sinks", + "path": "v2/{+parent}/sinks", + "id": "logging.organizations.sinks.create", + "description": "Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.", + "request": { + "$ref": "LogSink" + } + }, + "get": { + "flatPath": "v2/organizations/{organizationsId}/sinks/{sinksId}", + "id": "logging.organizations.sinks.get", + "path": "v2/{+sinkName}", + "description": "Gets a sink.", + "parameterOrder": [ + "sinkName" + ], + "httpMethod": "GET", + "response": { + "$ref": "LogSink" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "parameters": { + "sinkName": { + "description": "Required. The resource name of the sink:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", + "type": "string", + "required": true, + "pattern": "^organizations/[^/]+/sinks/[^/]+$", + "location": "path" + } + } + }, + "patch": { + "httpMethod": "PATCH", + "parameterOrder": [ + "sinkName" + ], + "response": { + "$ref": "LogSink" + }, + "parameters": { + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: updateMask=filter.", + "type": "string" + }, + "uniqueWriterIdentity": { + "location": "query", + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is set to false or defaulted to false.", + "type": "boolean" + }, + "sinkName": { + "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", + "type": "string", + "required": true, + "pattern": "^organizations/[^/]+/sinks/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "flatPath": "v2/organizations/{organizationsId}/sinks/{sinksId}", + "path": "v2/{+sinkName}", + "id": "logging.organizations.sinks.patch", + "description": "Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: destination, and filter. The updated sink might also have a new writer_identity; see the unique_writer_identity field.", + "request": { + "$ref": "LogSink" + } + }, + "update": { + "response": { + "$ref": "LogSink" + }, + "parameterOrder": [ + "sinkName" + ], + "httpMethod": "PUT", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "parameters": { + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: updateMask=filter.", + "type": "string" + }, + "uniqueWriterIdentity": { + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is set to false or defaulted to false.", + "type": "boolean", + "location": "query" + }, + "sinkName": { + "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", + "type": "string", + "required": true, + "pattern": "^organizations/[^/]+/sinks/[^/]+$", + "location": "path" + } + }, + "flatPath": "v2/organizations/{organizationsId}/sinks/{sinksId}", + "id": "logging.organizations.sinks.update", + "path": "v2/{+sinkName}", + "request": { + "$ref": "LogSink" + }, + "description": "Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: destination, and filter. The updated sink might also have a new writer_identity; see the unique_writer_identity field." + } + } + }, + "logs": { + "methods": { + "delete": { + "description": "Deletes all the log entries in a log. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "logName" + ], + "httpMethod": "DELETE", + "parameters": { + "logName": { + "description": "Required. The resource name of the log to delete:\n\"projects/[PROJECT_ID]/logs/[LOG_ID]\"\n\"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\"\n\"folders/[FOLDER_ID]/logs/[LOG_ID]\"\n[LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". For more information about log names, see LogEntry.", + "type": "string", + "required": true, + "pattern": "^organizations/[^/]+/logs/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "flatPath": "v2/organizations/{organizationsId}/logs/{logsId}", + "id": "logging.organizations.logs.delete", + "path": "v2/{+logName}" + }, + "list": { + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "response": { + "$ref": "ListLogsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "parameters": { + "pageToken": { + "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", + "type": "string", + "location": "query" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", + "type": "integer" + }, + "parent": { + "description": "Required. The resource name that owns the logs:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", + "type": "string", + "required": true, + "pattern": "^organizations/[^/]+$", + "location": "path" + } + }, + "flatPath": "v2/organizations/{organizationsId}/logs", + "id": "logging.organizations.logs.list", + "path": "v2/{+parent}/logs", + "description": "Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed." + } + } + }, + "exclusions": { + "methods": { + "delete": { + "description": "Deletes an exclusion.", + "httpMethod": "DELETE", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "pattern": "^organizations/[^/]+/exclusions/[^/]+$", + "location": "path", + "description": "Required. The resource name of an existing exclusion to delete:\n\"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\"\n\"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\"\n\"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\"\nExample: \"projects/my-project-id/exclusions/my-exclusion-id\".", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "flatPath": "v2/organizations/{organizationsId}/exclusions/{exclusionsId}", + "path": "v2/{+name}", + "id": "logging.organizations.exclusions.delete" + }, + "patch": { + "flatPath": "v2/organizations/{organizationsId}/exclusions/{exclusionsId}", + "id": "logging.organizations.exclusions.patch", + "path": "v2/{+name}", + "request": { + "$ref": "LogExclusion" + }, + "description": "Changes one or more properties of an existing exclusion.", + "response": { + "$ref": "LogExclusion" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PATCH", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "parameters": { + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Required. A nonempty list of fields to change in the existing exclusion. New values for the fields are taken from the corresponding fields in the LogExclusion included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.For example, to change the filter and description of an exclusion, specify an update_mask of \"filter,description\".", + "type": "string" + }, + "name": { + "pattern": "^organizations/[^/]+/exclusions/[^/]+$", + "location": "path", + "description": "Required. The resource name of the exclusion to update:\n\"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\"\n\"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\"\n\"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\"\nExample: \"projects/my-project-id/exclusions/my-exclusion-id\".", + "type": "string", + "required": true + } + } + }, + "get": { + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "LogExclusion" + }, + "parameters": { + "name": { + "description": "Required. The resource name of an existing exclusion:\n\"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\"\n\"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\"\n\"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\"\nExample: \"projects/my-project-id/exclusions/my-exclusion-id\".", + "type": "string", + "required": true, + "pattern": "^organizations/[^/]+/exclusions/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "flatPath": "v2/organizations/{organizationsId}/exclusions/{exclusionsId}", + "path": "v2/{+name}", + "id": "logging.organizations.exclusions.get", + "description": "Gets the description of an exclusion." + }, + "list": { + "description": "Lists all the exclusions in a parent resource.", + "response": { + "$ref": "ListExclusionsResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "parameters": { + "pageToken": { + "type": "string", + "location": "query", + "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call." + }, + "pageSize": { + "format": "int32", + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", + "type": "integer", + "location": "query" + }, + "parent": { + "location": "path", + "description": "Required. The parent resource whose exclusions are to be listed.\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", + "type": "string", + "required": true, + "pattern": "^organizations/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "flatPath": "v2/organizations/{organizationsId}/exclusions", + "id": "logging.organizations.exclusions.list", + "path": "v2/{+parent}/exclusions" + }, + "create": { + "id": "logging.organizations.exclusions.create", + "path": "v2/{+parent}/exclusions", + "description": "Creates a new exclusion in a specified parent resource. Only log entries belonging to that resource can be excluded. You can have up to 10 exclusions in a resource.", + "request": { + "$ref": "LogExclusion" + }, + "response": { + "$ref": "LogExclusion" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "parameters": { + "parent": { + "description": "Required. The parent resource in which to create the exclusion:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\nExamples: \"projects/my-logging-project\", \"organizations/123456789\".", + "type": "string", + "required": true, + "pattern": "^organizations/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "flatPath": "v2/organizations/{organizationsId}/exclusions" + } + } + } + } + }, + "entries": { + "methods": { + "list": { + "request": { + "$ref": "ListLogEntriesRequest" + }, + "description": "Lists log entries. Use this method to retrieve log entries from Stackdriver Logging. For ways to export log entries, see Exporting Logs.", + "response": { + "$ref": "ListLogEntriesResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "parameters": {}, + "flatPath": "v2/entries:list", + "id": "logging.entries.list", + "path": "v2/entries:list" + }, + "write": { + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "WriteLogEntriesResponse" + }, + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.write" + ], + "flatPath": "v2/entries:write", + "path": "v2/entries:write", + "id": "logging.entries.write", + "description": "Log entry resourcesWrites log entries to Stackdriver Logging. This API method is the only way to send log entries to Stackdriver Logging. This method is used, directly or indirectly, by the Stackdriver Logging agent (fluentd) and all logging libraries configured to use Stackdriver Logging.", + "request": { + "$ref": "WriteLogEntriesRequest" + } + } + } + }, + "projects": { + "resources": { + "sinks": { + "methods": { + "delete": { + "flatPath": "v2/projects/{projectsId}/sinks/{sinksId}", + "id": "logging.projects.sinks.delete", + "path": "v2/{+sinkName}", + "description": "Deletes a sink. If the sink has a unique writer_identity, then that service account is also deleted.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "sinkName" + ], + "httpMethod": "DELETE", + "parameters": { + "sinkName": { + "location": "path", + "description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/sinks/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ] + }, + "list": { + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "response": { + "$ref": "ListSinksResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "parameters": { + "parent": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "Required. The parent resource whose sinks are to be listed:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n" + }, + "pageToken": { + "location": "query", + "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", + "type": "string" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", + "type": "integer" + } + }, + "flatPath": "v2/projects/{projectsId}/sinks", + "id": "logging.projects.sinks.list", + "path": "v2/{+parent}/sinks", + "description": "Lists sinks." + }, + "create": { + "description": "Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.", + "request": { + "$ref": "LogSink" + }, + "response": { + "$ref": "LogSink" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "parameters": { + "uniqueWriterIdentity": { + "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Stackdriver Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink.", + "type": "boolean", + "location": "query" + }, + "parent": { + "description": "Required. The resource in which to create the sink:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\nExamples: \"projects/my-logging-project\", \"organizations/123456789\".", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "flatPath": "v2/projects/{projectsId}/sinks", + "id": "logging.projects.sinks.create", + "path": "v2/{+parent}/sinks" + }, + "patch": { + "description": "Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: destination, and filter. The updated sink might also have a new writer_identity; see the unique_writer_identity field.", + "request": { + "$ref": "LogSink" + }, + "response": { + "$ref": "LogSink" + }, + "parameterOrder": [ + "sinkName" + ], + "httpMethod": "PATCH", + "parameters": { + "updateMask": { + "type": "string", + "location": "query", + "format": "google-fieldmask", + "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: updateMask=filter." + }, + "uniqueWriterIdentity": { + "location": "query", + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is set to false or defaulted to false.", + "type": "boolean" + }, + "sinkName": { + "location": "path", + "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/sinks/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "flatPath": "v2/projects/{projectsId}/sinks/{sinksId}", + "id": "logging.projects.sinks.patch", + "path": "v2/{+sinkName}" + }, + "get": { + "description": "Gets a sink.", + "httpMethod": "GET", + "parameterOrder": [ + "sinkName" + ], + "response": { + "$ref": "LogSink" + }, + "parameters": { + "sinkName": { + "description": "Required. The resource name of the sink:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/sinks/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "flatPath": "v2/projects/{projectsId}/sinks/{sinksId}", + "path": "v2/{+sinkName}", + "id": "logging.projects.sinks.get" + }, + "update": { + "httpMethod": "PUT", + "parameterOrder": [ + "sinkName" + ], + "response": { + "$ref": "LogSink" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "parameters": { + "updateMask": { + "format": "google-fieldmask", + "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: updateMask=filter.", + "type": "string", + "location": "query" + }, + "uniqueWriterIdentity": { + "location": "query", + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is set to false or defaulted to false.", + "type": "boolean" + }, + "sinkName": { + "location": "path", + "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/sinks/[^/]+$" + } + }, + "flatPath": "v2/projects/{projectsId}/sinks/{sinksId}", + "path": "v2/{+sinkName}", + "id": "logging.projects.sinks.update", + "request": { + "$ref": "LogSink" + }, + "description": "Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: destination, and filter. The updated sink might also have a new writer_identity; see the unique_writer_identity field." + } + } + }, + "logs": { + "methods": { + "list": { + "response": { + "$ref": "ListLogsResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "parameters": { + "parent": { + "description": "Required. The resource name that owns the logs:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + }, + "pageToken": { + "location": "query", + "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", + "type": "string" + }, + "pageSize": { + "type": "integer", + "location": "query", + "format": "int32", + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "flatPath": "v2/projects/{projectsId}/logs", + "id": "logging.projects.logs.list", + "path": "v2/{+parent}/logs", + "description": "Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed." + }, + "delete": { + "httpMethod": "DELETE", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "logName" + ], + "parameters": { + "logName": { + "pattern": "^projects/[^/]+/logs/[^/]+$", + "location": "path", + "description": "Required. The resource name of the log to delete:\n\"projects/[PROJECT_ID]/logs/[LOG_ID]\"\n\"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\"\n\"folders/[FOLDER_ID]/logs/[LOG_ID]\"\n[LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". For more information about log names, see LogEntry.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "flatPath": "v2/projects/{projectsId}/logs/{logsId}", + "path": "v2/{+logName}", + "id": "logging.projects.logs.delete", + "description": "Deletes all the log entries in a log. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted." + } + } + }, + "exclusions": { + "methods": { + "create": { + "response": { + "$ref": "LogExclusion" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "parameters": { + "parent": { + "description": "Required. The parent resource in which to create the exclusion:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\nExamples: \"projects/my-logging-project\", \"organizations/123456789\".", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "flatPath": "v2/projects/{projectsId}/exclusions", + "id": "logging.projects.exclusions.create", + "path": "v2/{+parent}/exclusions", + "description": "Creates a new exclusion in a specified parent resource. Only log entries belonging to that resource can be excluded. You can have up to 10 exclusions in a resource.", + "request": { + "$ref": "LogExclusion" + } + }, + "delete": { + "httpMethod": "DELETE", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "parameters": { + "name": { + "description": "Required. The resource name of an existing exclusion to delete:\n\"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\"\n\"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\"\n\"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\"\nExample: \"projects/my-project-id/exclusions/my-exclusion-id\".", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/exclusions/[^/]+$", + "location": "path" + } + }, + "flatPath": "v2/projects/{projectsId}/exclusions/{exclusionsId}", + "path": "v2/{+name}", + "id": "logging.projects.exclusions.delete", + "description": "Deletes an exclusion." + }, + "patch": { + "flatPath": "v2/projects/{projectsId}/exclusions/{exclusionsId}", + "path": "v2/{+name}", + "id": "logging.projects.exclusions.patch", + "request": { + "$ref": "LogExclusion" + }, + "description": "Changes one or more properties of an existing exclusion.", + "httpMethod": "PATCH", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "LogExclusion" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "parameters": { + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Required. A nonempty list of fields to change in the existing exclusion. New values for the fields are taken from the corresponding fields in the LogExclusion included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.For example, to change the filter and description of an exclusion, specify an update_mask of \"filter,description\".", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the exclusion to update:\n\"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\"\n\"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\"\n\"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\"\nExample: \"projects/my-project-id/exclusions/my-exclusion-id\".", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/exclusions/[^/]+$", + "location": "path" + } + } + }, + "get": { + "httpMethod": "GET", + "response": { + "$ref": "LogExclusion" + }, + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/exclusions/[^/]+$", + "location": "path", + "description": "Required. The resource name of an existing exclusion:\n\"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\"\n\"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\"\n\"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\"\nExample: \"projects/my-project-id/exclusions/my-exclusion-id\"." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "flatPath": "v2/projects/{projectsId}/exclusions/{exclusionsId}", + "path": "v2/{+name}", + "id": "logging.projects.exclusions.get", + "description": "Gets the description of an exclusion." + }, + "list": { + "path": "v2/{+parent}/exclusions", + "id": "logging.projects.exclusions.list", + "description": "Lists all the exclusions in a parent resource.", + "httpMethod": "GET", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "ListExclusionsResponse" + }, + "parameters": { + "pageToken": { + "type": "string", + "location": "query", + "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call." + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", + "type": "integer" + }, + "parent": { + "location": "path", + "description": "Required. The parent resource whose exclusions are to be listed.\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "flatPath": "v2/projects/{projectsId}/exclusions" + } + } + }, + "metrics": { + "methods": { + "create": { + "flatPath": "v2/projects/{projectsId}/metrics", + "id": "logging.projects.metrics.create", + "path": "v2/{+parent}/metrics", + "request": { + "$ref": "LogMetric" + }, + "description": "Creates a logs-based metric.", + "response": { + "$ref": "LogMetric" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.write" + ], + "parameters": { + "parent": { + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "The resource name of the project in which to create the metric:\n\"projects/[PROJECT_ID]\"\nThe new metric must be provided in the request.", + "type": "string", + "required": true + } + } + }, + "delete": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.write" + ], + "parameters": { + "metricName": { + "location": "path", + "description": "The resource name of the metric to delete:\n\"projects/[PROJECT_ID]/metrics/[METRIC_ID]\"\n", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/metrics/[^/]+$" + } + }, + "flatPath": "v2/projects/{projectsId}/metrics/{metricsId}", + "id": "logging.projects.metrics.delete", + "path": "v2/{+metricName}", + "description": "Deletes a logs-based metric.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "metricName" + ], + "httpMethod": "DELETE" + }, + "get": { + "httpMethod": "GET", + "parameterOrder": [ + "metricName" + ], + "response": { + "$ref": "LogMetric" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "parameters": { + "metricName": { + "description": "The resource name of the desired metric:\n\"projects/[PROJECT_ID]/metrics/[METRIC_ID]\"\n", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/metrics/[^/]+$", + "location": "path" + } + }, + "flatPath": "v2/projects/{projectsId}/metrics/{metricsId}", + "path": "v2/{+metricName}", + "id": "logging.projects.metrics.get", + "description": "Gets a logs-based metric." + }, + "list": { + "path": "v2/{+parent}/metrics", + "id": "logging.projects.metrics.list", + "description": "Lists logs-based metrics.", + "httpMethod": "GET", + "response": { + "$ref": "ListLogMetricsResponse" + }, + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "location": "path", + "description": "Required. The name of the project containing the metrics:\n\"projects/[PROJECT_ID]\"\n", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$" + }, + "pageToken": { + "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", + "type": "string", + "location": "query" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", + "type": "integer" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "flatPath": "v2/projects/{projectsId}/metrics" + }, + "update": { + "path": "v2/{+metricName}", + "id": "logging.projects.metrics.update", + "description": "Creates or updates a logs-based metric.", + "request": { + "$ref": "LogMetric" + }, + "httpMethod": "PUT", + "parameterOrder": [ + "metricName" + ], + "response": { + "$ref": "LogMetric" + }, + "parameters": { + "metricName": { + "pattern": "^projects/[^/]+/metrics/[^/]+$", + "location": "path", + "description": "The resource name of the metric to update:\n\"projects/[PROJECT_ID]/metrics/[METRIC_ID]\"\nThe updated metric must be provided in the request and it's name field must be the same as [METRIC_ID] If the metric does not exist in [PROJECT_ID], then a new metric is created.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.write" + ], + "flatPath": "v2/projects/{projectsId}/metrics/{metricsId}" + } + } + } + } + }, + "billingAccounts": { + "resources": { + "sinks": { + "methods": { + "delete": { + "parameterOrder": [ + "sinkName" + ], + "httpMethod": "DELETE", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "parameters": { + "sinkName": { + "location": "path", + "description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", + "type": "string", + "required": true, + "pattern": "^billingAccounts/[^/]+/sinks/[^/]+$" + } + }, + "flatPath": "v2/billingAccounts/{billingAccountsId}/sinks/{sinksId}", + "id": "logging.billingAccounts.sinks.delete", + "path": "v2/{+sinkName}", + "description": "Deletes a sink. If the sink has a unique writer_identity, then that service account is also deleted." + }, + "list": { + "flatPath": "v2/billingAccounts/{billingAccountsId}/sinks", + "path": "v2/{+parent}/sinks", + "id": "logging.billingAccounts.sinks.list", + "description": "Lists sinks.", + "httpMethod": "GET", + "response": { + "$ref": "ListSinksResponse" + }, + "parameterOrder": [ + "parent" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "parameters": { + "pageToken": { + "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", + "type": "string", + "location": "query" + }, + "pageSize": { + "format": "int32", + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", + "type": "integer", + "location": "query" + }, + "parent": { + "location": "path", + "description": "Required. The parent resource whose sinks are to be listed:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", + "type": "string", + "required": true, + "pattern": "^billingAccounts/[^/]+$" + } + } + }, + "create": { + "request": { + "$ref": "LogSink" + }, + "description": "Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.", + "response": { + "$ref": "LogSink" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "parameters": { + "parent": { + "pattern": "^billingAccounts/[^/]+$", + "location": "path", + "description": "Required. The resource in which to create the sink:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\nExamples: \"projects/my-logging-project\", \"organizations/123456789\".", + "type": "string", + "required": true + }, + "uniqueWriterIdentity": { + "location": "query", + "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Stackdriver Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink.", + "type": "boolean" + } + }, + "flatPath": "v2/billingAccounts/{billingAccountsId}/sinks", + "id": "logging.billingAccounts.sinks.create", + "path": "v2/{+parent}/sinks" + }, + "get": { + "description": "Gets a sink.", + "httpMethod": "GET", + "parameterOrder": [ + "sinkName" + ], + "response": { + "$ref": "LogSink" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "parameters": { + "sinkName": { + "description": "Required. The resource name of the sink:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", + "type": "string", + "required": true, + "pattern": "^billingAccounts/[^/]+/sinks/[^/]+$", + "location": "path" + } + }, + "flatPath": "v2/billingAccounts/{billingAccountsId}/sinks/{sinksId}", + "path": "v2/{+sinkName}", + "id": "logging.billingAccounts.sinks.get" + }, + "patch": { + "request": { + "$ref": "LogSink" + }, + "description": "Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: destination, and filter. The updated sink might also have a new writer_identity; see the unique_writer_identity field.", + "httpMethod": "PATCH", + "parameterOrder": [ + "sinkName" + ], + "response": { + "$ref": "LogSink" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "parameters": { + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: updateMask=filter.", + "type": "string" + }, + "uniqueWriterIdentity": { + "location": "query", + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is set to false or defaulted to false.", + "type": "boolean" + }, + "sinkName": { + "location": "path", + "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", + "type": "string", + "required": true, + "pattern": "^billingAccounts/[^/]+/sinks/[^/]+$" + } + }, + "flatPath": "v2/billingAccounts/{billingAccountsId}/sinks/{sinksId}", + "path": "v2/{+sinkName}", + "id": "logging.billingAccounts.sinks.patch" + }, + "update": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "parameters": { + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: updateMask=filter.", + "type": "string" + }, + "uniqueWriterIdentity": { + "location": "query", + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is set to false or defaulted to false.", + "type": "boolean" + }, + "sinkName": { + "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", + "type": "string", + "required": true, + "pattern": "^billingAccounts/[^/]+/sinks/[^/]+$", + "location": "path" + } + }, + "flatPath": "v2/billingAccounts/{billingAccountsId}/sinks/{sinksId}", + "id": "logging.billingAccounts.sinks.update", + "path": "v2/{+sinkName}", + "request": { + "$ref": "LogSink" + }, + "description": "Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: destination, and filter. The updated sink might also have a new writer_identity; see the unique_writer_identity field.", + "response": { + "$ref": "LogSink" + }, + "parameterOrder": [ + "sinkName" + ], + "httpMethod": "PUT" + } + } + }, + "logs": { + "methods": { + "delete": { + "flatPath": "v2/billingAccounts/{billingAccountsId}/logs/{logsId}", + "path": "v2/{+logName}", + "id": "logging.billingAccounts.logs.delete", + "description": "Deletes all the log entries in a log. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted.", + "httpMethod": "DELETE", + "parameterOrder": [ + "logName" + ], + "response": { + "$ref": "Empty" + }, + "parameters": { + "logName": { + "pattern": "^billingAccounts/[^/]+/logs/[^/]+$", + "location": "path", + "description": "Required. The resource name of the log to delete:\n\"projects/[PROJECT_ID]/logs/[LOG_ID]\"\n\"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\"\n\"folders/[FOLDER_ID]/logs/[LOG_ID]\"\n[LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". For more information about log names, see LogEntry.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ] + }, + "list": { + "httpMethod": "GET", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "ListLogsResponse" + }, + "parameters": { + "pageToken": { + "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", + "type": "string", + "location": "query" + }, + "pageSize": { + "format": "int32", + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", + "type": "integer", + "location": "query" + }, + "parent": { + "pattern": "^billingAccounts/[^/]+$", + "location": "path", + "description": "Required. The resource name that owns the logs:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "flatPath": "v2/billingAccounts/{billingAccountsId}/logs", + "path": "v2/{+parent}/logs", + "id": "logging.billingAccounts.logs.list", + "description": "Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed." + } + } + }, + "exclusions": { + "methods": { + "delete": { + "description": "Deletes an exclusion.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "parameters": { + "name": { + "location": "path", + "description": "Required. The resource name of an existing exclusion to delete:\n\"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\"\n\"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\"\n\"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\"\nExample: \"projects/my-project-id/exclusions/my-exclusion-id\".", + "type": "string", + "required": true, + "pattern": "^billingAccounts/[^/]+/exclusions/[^/]+$" + } + }, + "flatPath": "v2/billingAccounts/{billingAccountsId}/exclusions/{exclusionsId}", + "id": "logging.billingAccounts.exclusions.delete", + "path": "v2/{+name}" + }, + "patch": { + "request": { + "$ref": "LogExclusion" + }, + "description": "Changes one or more properties of an existing exclusion.", + "response": { + "$ref": "LogExclusion" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PATCH", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "parameters": { + "name": { + "pattern": "^billingAccounts/[^/]+/exclusions/[^/]+$", + "location": "path", + "description": "Required. The resource name of the exclusion to update:\n\"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\"\n\"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\"\n\"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\"\nExample: \"projects/my-project-id/exclusions/my-exclusion-id\".", + "type": "string", + "required": true + }, + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Required. A nonempty list of fields to change in the existing exclusion. New values for the fields are taken from the corresponding fields in the LogExclusion included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.For example, to change the filter and description of an exclusion, specify an update_mask of \"filter,description\".", + "type": "string" + } + }, + "flatPath": "v2/billingAccounts/{billingAccountsId}/exclusions/{exclusionsId}", + "id": "logging.billingAccounts.exclusions.patch", + "path": "v2/{+name}" + }, + "get": { + "response": { + "$ref": "LogExclusion" + }, + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "pattern": "^billingAccounts/[^/]+/exclusions/[^/]+$", + "location": "path", + "description": "Required. The resource name of an existing exclusion:\n\"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\"\n\"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\"\n\"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\"\nExample: \"projects/my-project-id/exclusions/my-exclusion-id\".", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "flatPath": "v2/billingAccounts/{billingAccountsId}/exclusions/{exclusionsId}", + "id": "logging.billingAccounts.exclusions.get", + "path": "v2/{+name}", + "description": "Gets the description of an exclusion." + }, + "list": { + "description": "Lists all the exclusions in a parent resource.", + "response": { + "$ref": "ListExclusionsResponse" + }, + "httpMethod": "GET", + "parameterOrder": [ + "parent" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "parameters": { + "parent": { + "type": "string", + "required": true, + "pattern": "^billingAccounts/[^/]+$", + "location": "path", + "description": "Required. The parent resource whose exclusions are to be listed.\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n" + }, + "pageToken": { + "location": "query", + "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", + "type": "string" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", + "type": "integer" + } + }, + "flatPath": "v2/billingAccounts/{billingAccountsId}/exclusions", + "id": "logging.billingAccounts.exclusions.list", + "path": "v2/{+parent}/exclusions" + }, + "create": { + "flatPath": "v2/billingAccounts/{billingAccountsId}/exclusions", + "id": "logging.billingAccounts.exclusions.create", + "path": "v2/{+parent}/exclusions", + "description": "Creates a new exclusion in a specified parent resource. Only log entries belonging to that resource can be excluded. You can have up to 10 exclusions in a resource.", + "request": { + "$ref": "LogExclusion" + }, + "response": { + "$ref": "LogExclusion" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "parameters": { + "parent": { + "location": "path", + "description": "Required. The parent resource in which to create the exclusion:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\nExamples: \"projects/my-logging-project\", \"organizations/123456789\".", + "type": "string", + "required": true, + "pattern": "^billingAccounts/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ] + } + } + } + } + } + }, + "parameters": { + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, + "$.xgafv": { + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string" + }, + "alt": { + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ] + }, + "access_token": { + "location": "query", + "description": "OAuth access token.", + "type": "string" + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" + }, + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, + "prettyPrint": { + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "uploadType": { + "type": "string", + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")." + }, + "fields": { + "location": "query", + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + } + }, + "version": "v2", + "baseUrl": "https://logging.googleapis.com/", + "kind": "discovery#restDescription", + "description": "Writes log entries and manages your Stackdriver Logging configuration.", + "servicePath": "", + "basePath": "", + "id": "logging:v2", + "documentationLink": "https://cloud.google.com/logging/docs/", + "revision": "20170926", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { "MonitoredResource": { - "id": "MonitoredResource", "description": "An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The type field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the labels field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for \"gce_instance\" has labels \"instance_id\" and \"zone\":\n{ \"type\": \"gce_instance\",\n \"labels\": { \"instance_id\": \"12345678901234\",\n \"zone\": \"us-central1-a\" }}\n", "type": "object", "properties": { "labels": { - "type": "object", "additionalProperties": { "type": "string" }, - "description": "Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels \"project_id\", \"instance_id\", and \"zone\"." + "description": "Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels \"project_id\", \"instance_id\", and \"zone\".", + "type": "object" }, "type": { "description": "Required. The monitored resource type. This field must match the type field of a MonitoredResourceDescriptor object. For example, the type of a Compute Engine VM instance is gce_instance.", "type": "string" } - } - }, - "WriteLogEntriesRequest": { - "properties": { - "entries": { - "description": "Required. The log entries to write. Values supplied for the fields log_name, resource, and labels in this entries.write request are inserted into those log entries in this list that do not provide their own values.Stackdriver Logging also creates and inserts values for timestamp and insert_id if the entries do not provide them. The created insert_id for the N'th entry in this list will be greater than earlier entries and less than later entries. Otherwise, the order of log entries in this list does not matter.To improve throughput and to avoid exceeding the quota limit for calls to entries.write, you should write multiple log entries at once rather than calling this method for each individual log entry.", - "items": { - "$ref": "LogEntry" - }, - "type": "array" - }, - "logName": { - "description": "Optional. A default log resource name that is assigned to all log entries in entries that do not specify a value for log_name:\n\"projects/[PROJECT_ID]/logs/[LOG_ID]\"\n\"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\"\n\"folders/[FOLDER_ID]/logs/[LOG_ID]\"\n[LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\" or \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". For more information about log names, see LogEntry.", - "type": "string" - }, - "partialSuccess": { - "type": "boolean", - "description": "Optional. Whether valid entries should be written even if some other entries fail due to INVALID_ARGUMENT or PERMISSION_DENIED errors. If any entry is not written, then the response status is the error associated with one of the failed entries and the response includes error details keyed by the entries' zero-based index in the entries.write method." - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Optional. Default labels that are added to the labels field of all log entries in entries. If a log entry already has a label with the same key as a label in this parameter, then the log entry's label is not changed. See LogEntry.", - "type": "object" - }, - "resource": { - "$ref": "MonitoredResource", - "description": "Optional. A default monitored resource object that is assigned to all log entries in entries that do not specify a value for resource. Example:\n{ \"type\": \"gce_instance\",\n \"labels\": {\n \"zone\": \"us-central1-a\", \"instance_id\": \"00000000000000000000\" }}\nSee LogEntry." - } }, - "id": "WriteLogEntriesRequest", - "description": "The parameters to WriteLogEntries.", - "type": "object" + "id": "MonitoredResource" }, "LogSink": { "description": "Describes a sink used to export log entries to one of the following destinations in any project: a Cloud Storage bucket, a BigQuery dataset, or a Cloud Pub/Sub topic. A logs filter controls which log entries are exported. The sink must be created within a project, organization, billing account, or folder.", @@ -70,36 +2153,36 @@ "type": "string" }, "filter": { - "description": "Optional. An advanced logs filter. The only exported log entries are those that are in the resource owning the sink and that match the filter. The filter must use the log entry format specified by the output_version_format parameter. For example, in the v2 format:\nlogName=\"projects/[PROJECT_ID]/logs/[LOG_ID]\" AND severity\u003e=ERROR\n", + "description": "Optional. An advanced logs filter. The only exported log entries are those that are in the resource owning the sink and that match the filter. For example:\nlogName=\"projects/[PROJECT_ID]/logs/[LOG_ID]\" AND severity\u003e=ERROR\n", "type": "string" }, "endTime": { "format": "google-datetime", - "description": "Optional. The time at which this sink will stop exporting log entries. Log entries are exported only if their timestamp is earlier than the end time. If this field is not supplied, there is no end time. If both a start time and an end time are provided, then the end time must be later than the start time.", - "type": "string" - }, - "startTime": { - "format": "google-datetime", - "description": "Optional. The time at which this sink will begin exporting log entries. Log entries are exported only if their timestamp is not earlier than the start time. The default value of this field is the time the sink is created or updated.", + "description": "Deprecated. This field is ignored when creating or updating sinks.", "type": "string" }, "writerIdentity": { "description": "Output only. An IAM identity—a service account or group—under which Stackdriver Logging writes the exported log entries to the sink's destination. This field is set by sinks.create and sinks.update, based on the setting of unique_writer_identity in those methods.Until you grant this identity write-access to the destination, log entry exports from this sink will fail. For more information, see Granting access for a resource. Consult the destination service's documentation to determine the appropriate IAM roles to assign to the identity.", "type": "string" }, - "outputVersionFormat": { + "startTime": { "type": "string", - "enumDescriptions": [ - "An unspecified format version that will default to V2.", - "LogEntry version 2 format.", - "LogEntry version 1 format." - ], + "format": "google-datetime", + "description": "Deprecated. This field is ignored when creating or updating sinks." + }, + "outputVersionFormat": { "enum": [ "VERSION_FORMAT_UNSPECIFIED", "V2", "V1" ], - "description": "Optional. The log entry format to use for this sink's exported log entries. The v2 format is used by default. The v1 format is deprecated and should be used only as part of a migration effort to v2. See Migration to the v2 API." + "description": "Deprecated. The log entry format to use for this sink's exported log entries. The v2 format is used by default and cannot be changed.", + "type": "string", + "enumDescriptions": [ + "An unspecified format version that will default to V2.", + "LogEntry version 2 format.", + "LogEntry version 1 format." + ] } }, "id": "LogSink" @@ -126,43 +2209,30 @@ "description": "Result returned from ListSinks.", "type": "object", "properties": { + "nextPageToken": { + "description": "If there might be more results than appear in this response, then nextPageToken is included. To get the next set of results, call the same method again using the value of nextPageToken as pageToken.", + "type": "string" + }, "sinks": { "description": "A list of sinks.", "items": { "$ref": "LogSink" }, "type": "array" - }, - "nextPageToken": { - "description": "If there might be more results than appear in this response, then nextPageToken is included. To get the next set of results, call the same method again using the value of nextPageToken as pageToken.", - "type": "string" } }, "id": "ListSinksResponse" }, "HttpRequest": { - "id": "HttpRequest", - "description": "A common proto for logging HTTP requests. Only contains semantics defined by the HTTP specification. Product-specific logging information MUST be defined in a separate message.", - "type": "object", "properties": { - "userAgent": { - "description": "The user agent sent by the client. Example: \"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)\".", - "type": "string" - }, - "latency": { - "type": "string", - "format": "google-duration", - "description": "The request processing latency on the server, from the time the request was received until the response was sent." - }, - "cacheFillBytes": { - "format": "int64", - "description": "The number of HTTP response bytes inserted into cache. Set only when a cache fill was attempted.", - "type": "string" - }, "requestMethod": { "description": "The request method. Examples: \"GET\", \"HEAD\", \"PUT\", \"POST\".", "type": "string" }, + "protocol": { + "description": "Protocol used for the request. Examples: \"HTTP/1.1\", \"HTTP/2\", \"websocket\"", + "type": "string" + }, "responseSize": { "format": "int64", "description": "The size of the HTTP response message sent back to the client, in bytes, including the response headers and the response body.", @@ -174,20 +2244,20 @@ "description": "The size of the HTTP request message in bytes, including the request headers and the request body." }, "requestUrl": { - "description": "The scheme (http, https), the host name, the path and the query portion of the URL that was requested. Example: \"http://example.com/some/info?color=red\".", - "type": "string" - }, - "serverIp": { - "description": "The IP address (IPv4 or IPv6) of the origin server that the request was sent to.", - "type": "string" + "type": "string", + "description": "The scheme (http, https), the host name, the path and the query portion of the URL that was requested. Example: \"http://example.com/some/info?color=red\"." }, "remoteIp": { "description": "The IP address (IPv4 or IPv6) of the client that issued the HTTP request. Examples: \"192.168.1.1\", \"FE80::0202:B3FF:FE1E:8329\".", "type": "string" }, + "serverIp": { + "type": "string", + "description": "The IP address (IPv4 or IPv6) of the origin server that the request was sent to." + }, "cacheLookup": { - "description": "Whether or not a cache lookup was attempted.", - "type": "boolean" + "type": "boolean", + "description": "Whether or not a cache lookup was attempted." }, "cacheHit": { "description": "Whether or not an entity was served from cache (with or without validation).", @@ -198,13 +2268,321 @@ "type": "boolean" }, "status": { - "type": "integer", "format": "int32", - "description": "The response code indicating the status of response. Examples: 200, 404." + "description": "The response code indicating the status of response. Examples: 200, 404.", + "type": "integer" }, "referer": { "description": "The referer URL of the request, as defined in HTTP/1.1 Header Field Definitions (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).", "type": "string" + }, + "userAgent": { + "description": "The user agent sent by the client. Example: \"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)\".", + "type": "string" + }, + "latency": { + "format": "google-duration", + "description": "The request processing latency on the server, from the time the request was received until the response was sent.", + "type": "string" + }, + "cacheFillBytes": { + "format": "int64", + "description": "The number of HTTP response bytes inserted into cache. Set only when a cache fill was attempted.", + "type": "string" + } + }, + "id": "HttpRequest", + "description": "A common proto for logging HTTP requests. Only contains semantics defined by the HTTP specification. Product-specific logging information MUST be defined in a separate message.", + "type": "object" + }, + "MonitoredResourceDescriptor": { + "description": "An object that describes the schema of a MonitoredResource object using a type name and a set of labels. For example, the monitored resource descriptor for Google Compute Engine VM instances has a type of \"gce_instance\" and specifies the use of the labels \"instance_id\" and \"zone\" to identify particular VM instances.Different APIs can support different monitored resource types. APIs generally provide a list method that returns the monitored resource descriptors used by the API.", + "type": "object", + "properties": { + "description": { + "description": "Optional. A detailed description of the monitored resource type that might be used in documentation.", + "type": "string" + }, + "displayName": { + "description": "Optional. A concise name for the monitored resource type that might be displayed in user interfaces. It should be a Title Cased Noun Phrase, without any article or other determiners. For example, \"Google Cloud SQL Database\".", + "type": "string" + }, + "type": { + "description": "Required. The monitored resource type. For example, the type \"cloudsql_database\" represents databases in Google Cloud SQL. The maximum length of this value is 256 characters.", + "type": "string" + }, + "labels": { + "description": "Required. A set of labels used to describe instances of this monitored resource type. For example, an individual Google Cloud SQL database is identified by values for the labels \"database_id\" and \"zone\".", + "items": { + "$ref": "LabelDescriptor" + }, + "type": "array" + }, + "name": { + "description": "Optional. The resource name of the monitored resource descriptor: \"projects/{project_id}/monitoredResourceDescriptors/{type}\" where {type} is the value of the type field in this object and {project_id} is a project ID that provides API-specific context for accessing the type. APIs that do not use project information can use the resource name format \"monitoredResourceDescriptors/{type}\".", + "type": "string" + } + }, + "id": "MonitoredResourceDescriptor" + }, + "LogEntrySourceLocation": { + "description": "Additional information about the source code location that produced the log entry.", + "type": "object", + "properties": { + "file": { + "description": "Optional. Source file name. Depending on the runtime environment, this might be a simple name or a fully-qualified name.", + "type": "string" + }, + "function": { + "description": "Optional. Human-readable name of the function or method being invoked, with optional context such as the class or package name. This information may be used in contexts such as the logs viewer, where a file and line number are less meaningful. The format can vary by language. For example: qual.if.ied.Class.method (Java), dir/package.func (Go), function (Python).", + "type": "string" + }, + "line": { + "format": "int64", + "description": "Optional. Line within the source file. 1-based; 0 indicates no line number available.", + "type": "string" + } + }, + "id": "LogEntrySourceLocation" + }, + "ListLogEntriesResponse": { + "properties": { + "entries": { + "items": { + "$ref": "LogEntry" + }, + "type": "array", + "description": "A list of log entries. If entries is empty, nextPageToken may still be returned, indicating that more entries may exist. See nextPageToken for more information." + }, + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then nextPageToken is included. To get the next set of results, call this method again using the value of nextPageToken as pageToken.If a value for next_page_token appears and the entries field is empty, it means that the search found no log entries so far but it did not have time to search all the possible log entries. Retry the method with this value for page_token to continue the search. Alternatively, consider speeding up the search by changing your filter to specify a single log name or resource type, or to narrow the time range of the search.", + "type": "string" + } + }, + "id": "ListLogEntriesResponse", + "description": "Result returned from ListLogEntries.", + "type": "object" + }, + "LogLine": { + "description": "Application log line emitted while processing a request.", + "type": "object", + "properties": { + "logMessage": { + "description": "App-provided log message.", + "type": "string" + }, + "severity": { + "enum": [ + "DEFAULT", + "DEBUG", + "INFO", + "NOTICE", + "WARNING", + "ERROR", + "CRITICAL", + "ALERT", + "EMERGENCY" + ], + "description": "Severity of this log entry.", + "type": "string", + "enumDescriptions": [ + "(0) The log entry has no assigned severity level.", + "(100) Debug or trace information.", + "(200) Routine information, such as ongoing status or performance.", + "(300) Normal but significant events, such as start up, shut down, or a configuration change.", + "(400) Warning events might cause problems.", + "(500) Error events are likely to cause problems.", + "(600) Critical events cause more severe problems or outages.", + "(700) A person must take an action immediately.", + "(800) One or more systems are unusable." + ] + }, + "sourceLocation": { + "$ref": "SourceLocation", + "description": "Where in the source code this log message was written." + }, + "time": { + "format": "google-datetime", + "description": "Approximate time when this log entry was made.", + "type": "string" + } + }, + "id": "LogLine" + }, + "Linear": { + "properties": { + "width": { + "format": "double", + "description": "Must be greater than 0.", + "type": "number" + }, + "offset": { + "format": "double", + "description": "Lower bound of the first bucket.", + "type": "number" + }, + "numFiniteBuckets": { + "format": "int32", + "description": "Must be greater than 0.", + "type": "integer" + } + }, + "id": "Linear", + "description": "Specifies a linear sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 \u003c= i \u003c N-1): offset + (width * i). Lower bound (1 \u003c= i \u003c N): offset + (width * (i - 1)).", + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance:\nservice Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n}\nThe JSON representation for Empty is empty JSON object {}.", + "type": "object", + "properties": {}, + "id": "Empty" + }, + "SourceLocation": { + "description": "Specifies a location in a source code file.", + "type": "object", + "properties": { + "file": { + "description": "Source file name. Depending on the runtime environment, this might be a simple name or a fully-qualified name.", + "type": "string" + }, + "functionName": { + "description": "Human-readable name of the function or method being invoked, with optional context such as the class or package name. This information is used in contexts such as the logs viewer, where a file and line number are less meaningful. The format can vary by language. For example: qual.if.ied.Class.method (Java), dir/package.func (Go), function (Python).", + "type": "string" + }, + "line": { + "format": "int64", + "description": "Line within the source file.", + "type": "string" + } + }, + "id": "SourceLocation" + }, + "ListLogEntriesRequest": { + "description": "The parameters to ListLogEntries.", + "type": "object", + "properties": { + "pageToken": { + "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. page_token must be the value of next_page_token from the previous response. The values of other method parameters should be identical to those in the previous call.", + "type": "string" + }, + "pageSize": { + "format": "int32", + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of next_page_token in the response indicates that more results might be available.", + "type": "integer" + }, + "orderBy": { + "type": "string", + "description": "Optional. How the results should be sorted. Presently, the only permitted values are \"timestamp asc\" (default) and \"timestamp desc\". The first option returns entries in order of increasing values of LogEntry.timestamp (oldest first), and the second option returns entries in order of decreasing timestamps (newest first). Entries with equal timestamps are returned in order of their insert_id values." + }, + "resourceNames": { + "description": "Required. Names of one or more parent resources from which to retrieve log entries:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\nProjects listed in the project_ids field are added to this list.", + "items": { + "type": "string" + }, + "type": "array" + }, + "filter": { + "description": "Optional. A filter that chooses which log entries to return. See Advanced Logs Filters. Only log entries that match the filter are returned. An empty filter matches all log entries in the resources listed in resource_names. Referencing a parent resource that is not listed in resource_names will cause the filter to return no results. The maximum length of the filter is 20000 characters.", + "type": "string" + }, + "projectIds": { + "description": "Deprecated. Use resource_names instead. One or more project identifiers or project numbers from which to retrieve log entries. Example: \"my-project-1A\". If present, these project identifiers are converted to resource name format and added to the list of resources in resource_names.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "ListLogEntriesRequest" + }, + "Explicit": { + "type": "object", + "properties": { + "bounds": { + "description": "The values must be monotonically increasing.", + "items": { + "format": "double", + "type": "number" + }, + "type": "array" + } + }, + "id": "Explicit", + "description": "Specifies a set of buckets with arbitrary widths.There are size(bounds) + 1 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 \u003c= i \u003c N-1): boundsi Lower bound (1 \u003c= i \u003c N); boundsi - 1The bounds field must contain at least one element. If bounds has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets." + }, + "SourceReference": { + "description": "A reference to a particular snapshot of the source tree used to build and deploy an application.", + "type": "object", + "properties": { + "repository": { + "description": "Optional. A URI string identifying the repository. Example: \"https://github.com/GoogleCloudPlatform/kubernetes.git\"", + "type": "string" + }, + "revisionId": { + "description": "The canonical and persistent identifier of the deployed revision. Example (git): \"0035781c50ec7aa23385dc841529ce8a4b70db1b\"", + "type": "string" + } + }, + "id": "SourceReference" + }, + "WriteLogEntriesResponse": { + "id": "WriteLogEntriesResponse", + "description": "Result returned from WriteLogEntries. empty", + "type": "object", + "properties": {} + }, + "Exponential": { + "description": "Specifies an exponential sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 \u003c= i \u003c N-1): scale * (growth_factor ^ i). Lower bound (1 \u003c= i \u003c N): scale * (growth_factor ^ (i - 1)).", + "type": "object", + "properties": { + "growthFactor": { + "type": "number", + "format": "double", + "description": "Must be greater than 1." + }, + "scale": { + "format": "double", + "description": "Must be greater than 0.", + "type": "number" + }, + "numFiniteBuckets": { + "format": "int32", + "description": "Must be greater than 0.", + "type": "integer" + } + }, + "id": "Exponential" + }, + "WriteLogEntriesRequest": { + "id": "WriteLogEntriesRequest", + "description": "The parameters to WriteLogEntries.", + "type": "object", + "properties": { + "labels": { + "description": "Optional. Default labels that are added to the labels field of all log entries in entries. If a log entry already has a label with the same key as a label in this parameter, then the log entry's label is not changed. See LogEntry.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "resource": { + "description": "Optional. A default monitored resource object that is assigned to all log entries in entries that do not specify a value for resource. Example:\n{ \"type\": \"gce_instance\",\n \"labels\": {\n \"zone\": \"us-central1-a\", \"instance_id\": \"00000000000000000000\" }}\nSee LogEntry.", + "$ref": "MonitoredResource" + }, + "entries": { + "description": "Required. The log entries to send to Stackdriver Logging. The order of log entries in this list does not matter. Values supplied in this method's log_name, resource, and labels fields are copied into those log entries in this list that do not include values for their corresponding fields. For more information, see the LogEntry type.If the timestamp or insert_id fields are missing in log entries, then this method supplies the current time or a unique identifier, respectively. The supplied values are chosen so that, among the log entries that did not supply their own values, the entries earlier in the list will sort before the entries later in the list. See the entries.list method.Log entries with timestamps that are more than the logs retention period in the past or more than 24 hours in the future might be discarded. Discarding does not return an error.To improve throughput and to avoid exceeding the quota limit for calls to entries.write, you should try to include several log entries in this list, rather than calling this method for each individual log entry.", + "items": { + "$ref": "LogEntry" + }, + "type": "array" + }, + "logName": { + "description": "Optional. A default log resource name that is assigned to all log entries in entries that do not specify a value for log_name:\n\"projects/[PROJECT_ID]/logs/[LOG_ID]\"\n\"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\"\n\"folders/[FOLDER_ID]/logs/[LOG_ID]\"\n[LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\" or \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". For more information about log names, see LogEntry.", + "type": "string" + }, + "partialSuccess": { + "description": "Optional. Whether valid entries should be written even if some other entries fail due to INVALID_ARGUMENT or PERMISSION_DENIED errors. If any entry is not written, then the response status is the error associated with one of the failed entries and the response includes error details keyed by the entries' zero-based index in the entries.write method.", + "type": "boolean" } } }, @@ -237,85 +2615,182 @@ }, "id": "LabelDescriptor" }, - "MonitoredResourceDescriptor": { - "description": "An object that describes the schema of a MonitoredResource object using a type name and a set of labels. For example, the monitored resource descriptor for Google Compute Engine VM instances has a type of \"gce_instance\" and specifies the use of the labels \"instance_id\" and \"zone\" to identify particular VM instances.Different APIs can support different monitored resource types. APIs generally provide a list method that returns the monitored resource descriptors used by the API.", + "BucketOptions": { + "description": "BucketOptions describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. BucketOptions does not include the number of values in each bucket.A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i \u003e 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite.", "type": "object", "properties": { - "name": { - "description": "Optional. The resource name of the monitored resource descriptor: \"projects/{project_id}/monitoredResourceDescriptors/{type}\" where {type} is the value of the type field in this object and {project_id} is a project ID that provides API-specific context for accessing the type. APIs that do not use project information can use the resource name format \"monitoredResourceDescriptors/{type}\".", - "type": "string" + "exponentialBuckets": { + "description": "The exponential buckets.", + "$ref": "Exponential" }, - "description": { - "description": "Optional. A detailed description of the monitored resource type that might be used in documentation.", - "type": "string" + "explicitBuckets": { + "$ref": "Explicit", + "description": "The explicit buckets." }, - "displayName": { - "description": "Optional. A concise name for the monitored resource type that might be displayed in user interfaces. It should be a Title Cased Noun Phrase, without any article or other determiners. For example, \"Google Cloud SQL Database\".", - "type": "string" + "linearBuckets": { + "description": "The linear bucket.", + "$ref": "Linear" + } + }, + "id": "BucketOptions" + }, + "ListLogMetricsResponse": { + "description": "Result returned from ListLogMetrics.", + "type": "object", + "properties": { + "metrics": { + "items": { + "$ref": "LogMetric" + }, + "type": "array", + "description": "A list of logs-based metrics." }, - "type": { - "description": "Required. The monitored resource type. For example, the type \"cloudsql_database\" represents databases in Google Cloud SQL. The maximum length of this value is 256 characters.", + "nextPageToken": { + "description": "If there might be more results than appear in this response, then nextPageToken is included. To get the next set of results, call this method again using the value of nextPageToken as pageToken.", "type": "string" - }, + } + }, + "id": "ListLogMetricsResponse" + }, + "MetricDescriptor": { + "description": "Defines a metric type and its schema. Once a metric descriptor is created, deleting or altering it stops data collection and makes the metric type's existing data unusable.", + "type": "object", + "properties": { "labels": { - "description": "Required. A set of labels used to describe instances of this monitored resource type. For example, an individual Google Cloud SQL database is identified by values for the labels \"database_id\" and \"zone\".", + "description": "The set of labels that can be used to describe a specific instance of this metric type. For example, the appengine.googleapis.com/http/server/response_latencies metric type has a label for the HTTP response code, response_code, so you can look at latencies for successful responses or just for responses that failed.", "items": { "$ref": "LabelDescriptor" }, "type": "array" - } - }, - "id": "MonitoredResourceDescriptor" - }, - "LogEntrySourceLocation": { - "description": "Additional information about the source code location that produced the log entry.", - "type": "object", - "properties": { - "file": { + }, + "name": { + "description": "The resource name of the metric descriptor. Depending on the implementation, the name typically includes: (1) the parent resource name that defines the scope of the metric type or of its data; and (2) the metric's URL-encoded type, which also appears in the type field of this descriptor. For example, following is the resource name of a custom metric within the GCP project my-project-id:\n\"projects/my-project-id/metricDescriptors/custom.googleapis.com%2Finvoice%2Fpaid%2Famount\"\n", + "type": "string" + }, + "type": { + "description": "The metric type, including its DNS name prefix. The type is not URL-encoded. All user-defined custom metric types have the DNS name custom.googleapis.com. Metric types should use a natural hierarchical grouping. For example:\n\"custom.googleapis.com/invoice/paid/amount\"\n\"appengine.googleapis.com/http/server/response_latencies\"\n", + "type": "string" + }, + "valueType": { + "description": "Whether the measurement is an integer, a floating-point number, etc. Some combinations of metric_kind and value_type might not be supported.", "type": "string", - "description": "Optional. Source file name. Depending on the runtime environment, this might be a simple name or a fully-qualified name." + "enumDescriptions": [ + "Do not use this default value.", + "The value is a boolean. This value type can be used only if the metric kind is GAUGE.", + "The value is a signed 64-bit integer.", + "The value is a double precision floating point number.", + "The value is a text string. This value type can be used only if the metric kind is GAUGE.", + "The value is a Distribution.", + "The value is money." + ], + "enum": [ + "VALUE_TYPE_UNSPECIFIED", + "BOOL", + "INT64", + "DOUBLE", + "STRING", + "DISTRIBUTION", + "MONEY" + ] }, - "function": { - "description": "Optional. Human-readable name of the function or method being invoked, with optional context such as the class or package name. This information may be used in contexts such as the logs viewer, where a file and line number are less meaningful. The format can vary by language. For example: qual.if.ied.Class.method (Java), dir/package.func (Go), function (Python).", + "metricKind": { + "type": "string", + "enumDescriptions": [ + "Do not use this default value.", + "An instantaneous measurement of a value.", + "The change in a value during a time interval.", + "A value accumulated over a time interval. Cumulative measurements in a time series should have the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points." + ], + "enum": [ + "METRIC_KIND_UNSPECIFIED", + "GAUGE", + "DELTA", + "CUMULATIVE" + ], + "description": "Whether the metric records instantaneous values, changes to a value, etc. Some combinations of metric_kind and value_type might not be supported." + }, + "displayName": { + "description": "A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example \"Request count\".", "type": "string" }, - "line": { - "format": "int64", - "description": "Optional. Line within the source file. 1-based; 0 indicates no line number available.", + "description": { + "description": "A detailed description of the metric, which can be used in documentation.", + "type": "string" + }, + "unit": { + "description": "The unit in which the metric value is reported. It is only applicable if the value_type is INT64, DOUBLE, or DISTRIBUTION. The supported units are a subset of The Unified Code for Units of Measure (http://unitsofmeasure.org/ucum.html) standard:Basic units (UNIT)\nbit bit\nBy byte\ns second\nmin minute\nh hour\nd dayPrefixes (PREFIX)\nk kilo (10**3)\nM mega (10**6)\nG giga (10**9)\nT tera (10**12)\nP peta (10**15)\nE exa (10**18)\nZ zetta (10**21)\nY yotta (10**24)\nm milli (10**-3)\nu micro (10**-6)\nn nano (10**-9)\np pico (10**-12)\nf femto (10**-15)\na atto (10**-18)\nz zepto (10**-21)\ny yocto (10**-24)\nKi kibi (2**10)\nMi mebi (2**20)\nGi gibi (2**30)\nTi tebi (2**40)GrammarThe grammar includes the dimensionless unit 1, such as 1/s.The grammar also includes these connectors:\n/ division (as an infix operator, e.g. 1/s).\n. multiplication (as an infix operator, e.g. GBy.d)The grammar for a unit is as follows:\nExpression = Component { \".\" Component } { \"/\" Component } ;\n\nComponent = [ PREFIX ] UNIT [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\nAnnotation = \"{\" NAME \"}\" ;\nNotes:\nAnnotation is just a comment if it follows a UNIT and is equivalent to 1 if it is used alone. For examples, {requests}/s == 1/s, By{transmitted}/s == By/s.\nNAME is a sequence of non-blank printable ASCII characters not containing '{' or '}'.", "type": "string" } }, - "id": "LogEntrySourceLocation" + "id": "MetricDescriptor" }, - "ListLogEntriesResponse": { - "description": "Result returned from ListLogEntries.", + "LogEntry": { + "description": "An individual entry in a log.", "type": "object", "properties": { - "nextPageToken": { - "description": "If there might be more results than those appearing in this response, then nextPageToken is included. To get the next set of results, call this method again using the value of nextPageToken as pageToken.If a value for next_page_token appears and the entries field is empty, it means that the search found no log entries so far but it did not have time to search all the possible log entries. Retry the method with this value for page_token to continue the search. Alternatively, consider speeding up the search by changing your filter to specify a single log name or resource type, or to narrow the time range of the search.", + "receiveTimestamp": { + "format": "google-datetime", + "description": "Output only. The time the log entry was received by Stackdriver Logging.", "type": "string" }, - "entries": { - "description": "A list of log entries.", - "items": { - "$ref": "LogEntry" + "timestamp": { + "type": "string", + "format": "google-datetime", + "description": "Optional. The time the event described by the log entry occurred. This time is used to compute the log entry's age and to enforce the logs retention period. If this field is omitted in a new log entry, then Stackdriver Logging assigns it the current time.Incoming log entries should have timestamps that are no more than the logs retention period in the past, and no more than 24 hours in the future. See the entries.write API method for more information." + }, + "logName": { + "type": "string", + "description": "Required. The resource name of the log to which this log entry belongs:\n\"projects/[PROJECT_ID]/logs/[LOG_ID]\"\n\"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\"\n\"folders/[FOLDER_ID]/logs/[LOG_ID]\"\nA project number may optionally be used in place of PROJECT_ID. The project number is translated to its corresponding PROJECT_ID internally and the log_name field will contain PROJECT_ID in queries and exports.[LOG_ID] must be URL-encoded within log_name. Example: \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". [LOG_ID] must be less than 512 characters long and can only include the following characters: upper and lower case alphanumeric characters, forward-slash, underscore, hyphen, and period.For backward compatibility, if log_name begins with a forward-slash, such as /projects/..., then the log entry is ingested as usual but the forward-slash is removed. Listing the log entry will not show the leading slash and filtering for a log name with a leading slash will never return any results." + }, + "httpRequest": { + "$ref": "HttpRequest", + "description": "Optional. Information about the HTTP request associated with this log entry, if applicable." + }, + "resource": { + "$ref": "MonitoredResource", + "description": "Required. The monitored resource associated with this log entry. Example: a log entry that reports a database error would be associated with the monitored resource designating the particular database that reported the error." + }, + "jsonPayload": { + "description": "The log entry payload, represented as a structure that is expressed as a JSON object.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + } + }, + "insertId": { + "description": "Optional. A unique identifier for the log entry. If you provide a value, then Stackdriver Logging considers other log entries in the same project, with the same timestamp, and with the same insert_id to be duplicates which can be removed. If omitted in new log entries, then Stackdriver Logging assigns its own unique identifier. The insert_id is also used to order log entries that have the same timestamp value.", + "type": "string" + }, + "operation": { + "$ref": "LogEntryOperation", + "description": "Optional. Information about an operation associated with the log entry, if applicable." + }, + "textPayload": { + "description": "The log entry payload, represented as a Unicode string (UTF-8).", + "type": "string" + }, + "protoPayload": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" }, - "type": "array" - } - }, - "id": "ListLogEntriesResponse" - }, - "LogLine": { - "id": "LogLine", - "description": "Application log line emitted while processing a request.", - "type": "object", - "properties": { - "logMessage": { - "type": "string", - "description": "App-provided log message." + "description": "The log entry payload, represented as a protocol buffer. Some Google Cloud Platform services use this field for their log entry payloads.", + "type": "object" + }, + "trace": { + "description": "Optional. Resource name of the trace associated with the log entry, if any. If it contains a relative resource name, the name is assumed to be relative to //tracing.googleapis.com. Example: projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824", + "type": "string" + }, + "labels": { + "description": "Optional. A set of user-defined (key, value) data that provides additional information about the log entry.", + "type": "object", + "additionalProperties": { + "type": "string" + } }, "severity": { - "description": "Severity of this log entry.", + "description": "Optional. The severity of the log entry. The default value is LogSeverity.DEFAULT.", "type": "string", "enumDescriptions": [ "(0) The log entry has no assigned severity level.", @@ -340,225 +2815,18 @@ "EMERGENCY" ] }, - "sourceLocation": { - "$ref": "SourceLocation", - "description": "Where in the source code this log message was written." - }, - "time": { - "format": "google-datetime", - "description": "Approximate time when this log entry was made.", - "type": "string" - } - } - }, - "ListLogMetricsResponse": { - "description": "Result returned from ListLogMetrics.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "If there might be more results than appear in this response, then nextPageToken is included. To get the next set of results, call this method again using the value of nextPageToken as pageToken.", - "type": "string" - }, - "metrics": { - "description": "A list of logs-based metrics.", - "items": { - "$ref": "LogMetric" - }, - "type": "array" - } - }, - "id": "ListLogMetricsResponse" - }, - "LogEntry": { - "description": "An individual entry in a log.", - "type": "object", - "properties": { - "logName": { - "description": "Required. The resource name of the log to which this log entry belongs:\n\"projects/[PROJECT_ID]/logs/[LOG_ID]\"\n\"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\"\n\"folders/[FOLDER_ID]/logs/[LOG_ID]\"\n[LOG_ID] must be URL-encoded within log_name. Example: \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". [LOG_ID] must be less than 512 characters long and can only include the following characters: upper and lower case alphanumeric characters, forward-slash, underscore, hyphen, and period.For backward compatibility, if log_name begins with a forward-slash, such as /projects/..., then the log entry is ingested as usual but the forward-slash is removed. Listing the log entry will not show the leading slash and filtering for a log name with a leading slash will never return any results.", - "type": "string" - }, - "httpRequest": { - "description": "Optional. Information about the HTTP request associated with this log entry, if applicable.", - "$ref": "HttpRequest" - }, - "resource": { - "$ref": "MonitoredResource", - "description": "Required. The monitored resource associated with this log entry. Example: a log entry that reports a database error would be associated with the monitored resource designating the particular database that reported the error." - }, - "jsonPayload": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "The log entry payload, represented as a structure that is expressed as a JSON object.", - "type": "object" - }, - "operation": { - "$ref": "LogEntryOperation", - "description": "Optional. Information about an operation associated with the log entry, if applicable." - }, - "insertId": { - "type": "string", - "description": "Optional. A unique identifier for the log entry. If you provide a value, then Stackdriver Logging considers other log entries in the same project, with the same timestamp, and with the same insert_id to be duplicates which can be removed. If omitted in new log entries, then Stackdriver Logging will insert its own unique identifier. The insert_id is used to order log entries that have the same timestamp value." - }, - "textPayload": { - "description": "The log entry payload, represented as a Unicode string (UTF-8).", - "type": "string" - }, - "protoPayload": { - "description": "The log entry payload, represented as a protocol buffer. Some Google Cloud Platform services use this field for their log entry payloads.", - "type": "object", - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - } - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Optional. A set of user-defined (key, value) data that provides additional information about the log entry.", - "type": "object" - }, - "trace": { - "description": "Optional. Resource name of the trace associated with the log entry, if any. If it contains a relative resource name, the name is assumed to be relative to //tracing.googleapis.com. Example: projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824", - "type": "string" - }, - "severity": { - "enumDescriptions": [ - "(0) The log entry has no assigned severity level.", - "(100) Debug or trace information.", - "(200) Routine information, such as ongoing status or performance.", - "(300) Normal but significant events, such as start up, shut down, or a configuration change.", - "(400) Warning events might cause problems.", - "(500) Error events are likely to cause problems.", - "(600) Critical events cause more severe problems or outages.", - "(700) A person must take an action immediately.", - "(800) One or more systems are unusable." - ], - "enum": [ - "DEFAULT", - "DEBUG", - "INFO", - "NOTICE", - "WARNING", - "ERROR", - "CRITICAL", - "ALERT", - "EMERGENCY" - ], - "description": "Optional. The severity of the log entry. The default value is LogSeverity.DEFAULT.", - "type": "string" - }, "sourceLocation": { "$ref": "LogEntrySourceLocation", "description": "Optional. Source code location information associated with the log entry, if any." - }, - "receiveTimestamp": { - "format": "google-datetime", - "description": "Output only. The time the log entry was received by Stackdriver Logging.", - "type": "string" - }, - "timestamp": { - "format": "google-datetime", - "description": "Optional. The time the event described by the log entry occurred. If omitted in a new log entry, Stackdriver Logging will insert the time the log entry is received. Stackdriver Logging might reject log entries whose time stamps are more than a couple of hours in the future. Log entries with time stamps in the past are accepted.", - "type": "string" } }, "id": "LogEntry" }, - "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance:\nservice Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n}\nThe JSON representation for Empty is empty JSON object {}.", - "type": "object", - "properties": {}, - "id": "Empty" - }, - "SourceLocation": { - "description": "Specifies a location in a source code file.", - "type": "object", - "properties": { - "file": { - "description": "Source file name. Depending on the runtime environment, this might be a simple name or a fully-qualified name.", - "type": "string" - }, - "functionName": { - "description": "Human-readable name of the function or method being invoked, with optional context such as the class or package name. This information is used in contexts such as the logs viewer, where a file and line number are less meaningful. The format can vary by language. For example: qual.if.ied.Class.method (Java), dir/package.func (Go), function (Python).", - "type": "string" - }, - "line": { - "format": "int64", - "description": "Line within the source file.", - "type": "string" - } - }, - "id": "SourceLocation" - }, - "ListLogEntriesRequest": { - "type": "object", - "properties": { - "resourceNames": { - "description": "Required. Names of one or more parent resources from which to retrieve log entries:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\nProjects listed in the project_ids field are added to this list.", - "items": { - "type": "string" - }, - "type": "array" - }, - "projectIds": { - "description": "Deprecated. Use resource_names instead. One or more project identifiers or project numbers from which to retrieve log entries. Example: \"my-project-1A\". If present, these project identifiers are converted to resource name format and added to the list of resources in resource_names.", - "items": { - "type": "string" - }, - "type": "array" - }, - "filter": { - "description": "Optional. A filter that chooses which log entries to return. See Advanced Logs Filters. Only log entries that match the filter are returned. An empty filter matches all log entries in the resources listed in resource_names. Referencing a parent resource that is not listed in resource_names will cause the filter to return no results. The maximum length of the filter is 20000 characters.", - "type": "string" - }, - "pageToken": { - "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. page_token must be the value of next_page_token from the previous response. The values of other method parameters should be identical to those in the previous call.", - "type": "string" - }, - "pageSize": { - "format": "int32", - "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of next_page_token in the response indicates that more results might be available.", - "type": "integer" - }, - "orderBy": { - "description": "Optional. How the results should be sorted. Presently, the only permitted values are \"timestamp asc\" (default) and \"timestamp desc\". The first option returns entries in order of increasing values of LogEntry.timestamp (oldest first), and the second option returns entries in order of decreasing timestamps (newest first). Entries with equal timestamps are returned in order of their insert_id values.", - "type": "string" - } - }, - "id": "ListLogEntriesRequest", - "description": "The parameters to ListLogEntries." - }, "RequestLog": { + "id": "RequestLog", "description": "Complete log information about a single HTTP request to an App Engine application.", "type": "object", "properties": { - "userAgent": { - "description": "User agent that made the request.", - "type": "string" - }, - "wasLoadingRequest": { - "description": "Whether this was a loading request for the instance.", - "type": "boolean" - }, - "sourceReference": { - "description": "Source code for the application that handled this request. There can be more than one source reference per deployed application if source code is distributed among multiple repositories.", - "items": { - "$ref": "SourceReference" - }, - "type": "array" - }, - "responseSize": { - "type": "string", - "format": "int64", - "description": "Size in bytes sent back to client by request." - }, - "traceId": { - "description": "Stackdriver Trace identifier for this request.", - "type": "string" - }, "line": { "description": "A list of log lines emitted by the application while serving this request.", "items": { @@ -566,14 +2834,14 @@ }, "type": "array" }, - "referrer": { - "description": "Referrer URL of request.", - "type": "string" - }, "taskQueueName": { "description": "Queue name of the request, in the case of an offline request.", "type": "string" }, + "referrer": { + "type": "string", + "description": "Referrer URL of request." + }, "requestId": { "description": "Globally unique identifier for a request, which is based on the request start time. Request IDs for requests which started later will compare greater as strings than those for requests which started earlier.", "type": "string" @@ -582,20 +2850,20 @@ "description": "The logged-in user who made the request.Most likely, this is the part of the user's email before the @ sign. The field value is the same for different requests from the same user, but different users can have similar names. This information is also available to the application via the App Engine Users API.This field will be populated starting with App Engine 1.9.21.", "type": "string" }, + "status": { + "format": "int32", + "description": "HTTP response status code. Example: 200, 404.", + "type": "integer" + }, + "resource": { + "type": "string", + "description": "Contains the path and query portion of the URL that was requested. For example, if the URL was \"http://example.com/app?name=val\", the resource would be \"/app?name=val\". The fragment identifier, which is identified by the # character, is not included." + }, "pendingTime": { "format": "google-duration", "description": "Time this request spent in the pending request queue.", "type": "string" }, - "resource": { - "description": "Contains the path and query portion of the URL that was requested. For example, if the URL was \"http://example.com/app?name=val\", the resource would be \"/app?name=val\". The fragment identifier, which is identified by the # character, is not included.", - "type": "string" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "HTTP response status code. Example: 200, 404." - }, "taskName": { "description": "Task name of the request, in the case of an offline request.", "type": "string" @@ -609,14 +2877,14 @@ "description": "If the instance processing this request belongs to a manually scaled module, then this is the 0-based index of the instance. Otherwise, this value is -1.", "type": "integer" }, - "host": { - "description": "Internet host and port number of the resource being requested.", - "type": "string" - }, "finished": { "description": "Whether this request is finished or active.", "type": "boolean" }, + "host": { + "description": "Internet host and port number of the resource being requested.", + "type": "string" + }, "httpVersion": { "description": "HTTP version of request. Example: \"HTTP/1.1\".", "type": "string" @@ -636,16 +2904,16 @@ "type": "string" }, "appId": { - "type": "string", - "description": "Application that handled this request." + "description": "Application that handled this request.", + "type": "string" }, "appEngineRelease": { "description": "App Engine release version.", "type": "string" }, "method": { - "description": "Request method. Example: \"GET\", \"HEAD\", \"PUT\", \"POST\", \"DELETE\".", - "type": "string" + "type": "string", + "description": "Request method. Example: \"GET\", \"HEAD\", \"PUT\", \"POST\", \"DELETE\"." }, "cost": { "format": "double", @@ -653,8 +2921,8 @@ "type": "number" }, "instanceId": { - "type": "string", - "description": "An identifier for the instance that handled the request." + "description": "An identifier for the instance that handled the request.", + "type": "string" }, "megaCycles": { "format": "int64", @@ -677,11 +2945,58 @@ "format": "google-datetime", "description": "Time when the request finished.", "type": "string" + }, + "userAgent": { + "description": "User agent that made the request.", + "type": "string" + }, + "wasLoadingRequest": { + "description": "Whether this was a loading request for the instance.", + "type": "boolean" + }, + "sourceReference": { + "description": "Source code for the application that handled this request. There can be more than one source reference per deployed application if source code is distributed among multiple repositories.", + "items": { + "$ref": "SourceReference" + }, + "type": "array" + }, + "responseSize": { + "format": "int64", + "description": "Size in bytes sent back to client by request.", + "type": "string" + }, + "traceId": { + "description": "Stackdriver Trace identifier for this request.", + "type": "string" + } + } + }, + "LogExclusion": { + "description": "Specifies a set of log entries that are not to be stored in Stackdriver Logging. If your project receives a large volume of logs, you might be able to use exclusions to reduce your chargeable logs. Exclusions are processed after log sinks, so you can export log entries before they are excluded. Audit log entries and log entries from Amazon Web Services are never excluded.", + "type": "object", + "properties": { + "disabled": { + "description": "Optional. If set to True, then this exclusion is disabled and it does not exclude any log entries. You can use exclusions.patch to change the value of this field.", + "type": "boolean" + }, + "filter": { + "type": "string", + "description": "Required. An advanced logs filter that matches the log entries to be excluded. By using the sample function, you can exclude less than 100% of the matching log entries. For example, the following filter matches 99% of low-severity log entries from load balancers:\n\"resource.type=http_load_balancer severity\u003cERROR sample(insertId, 0.99)\"\n" + }, + "name": { + "description": "Required. A client-assigned identifier, such as \"load-balancer-exclusion\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods.", + "type": "string" + }, + "description": { + "description": "Optional. A description of this exclusion.", + "type": "string" } }, - "id": "RequestLog" + "id": "LogExclusion" }, "ListMonitoredResourceDescriptorsResponse": { + "description": "Result returned from ListMonitoredResourceDescriptors.", "type": "object", "properties": { "nextPageToken": { @@ -696,94 +3011,112 @@ "type": "array" } }, - "id": "ListMonitoredResourceDescriptorsResponse", - "description": "Result returned from ListMonitoredResourceDescriptors." + "id": "ListMonitoredResourceDescriptorsResponse" }, - "SourceReference": { - "description": "A reference to a particular snapshot of the source tree used to build and deploy an application.", - "type": "object", + "ListExclusionsResponse": { "properties": { - "revisionId": { - "type": "string", - "description": "The canonical and persistent identifier of the deployed revision. Example (git): \"0035781c50ec7aa23385dc841529ce8a4b70db1b\"" - }, - "repository": { - "description": "Optional. A URI string identifying the repository. Example: \"https://github.com/GoogleCloudPlatform/kubernetes.git\"", + "nextPageToken": { + "description": "If there might be more results than appear in this response, then nextPageToken is included. To get the next set of results, call the same method again using the value of nextPageToken as pageToken.", "type": "string" + }, + "exclusions": { + "description": "A list of exclusions.", + "items": { + "$ref": "LogExclusion" + }, + "type": "array" } }, - "id": "SourceReference" + "id": "ListExclusionsResponse", + "description": "Result returned from ListExclusions.", + "type": "object" }, "LogMetric": { - "type": "object", "properties": { - "filter": { - "description": "Required. An advanced logs filter which is used to match log entries. Example:\n\"resource.type=gae_app AND severity\u003e=ERROR\"\nThe maximum length of the filter is 20000 characters.", - "type": "string" + "bucketOptions": { + "$ref": "BucketOptions", + "description": "Optional. The bucket_options are required when the logs-based metric is using a DISTRIBUTION value type and it describes the bucket boundaries used to create a histogram of the extracted values." + }, + "valueExtractor": { + "type": "string", + "description": "Optional. A value_extractor is required when using a distribution logs-based metric to extract the values to record from a log entry. Two functions are supported for value extraction: EXTRACT(field) or REGEXP_EXTRACT(field, regex). The argument are: 1. field: The name of the log entry field from which the value is to be extracted. 2. regex: A regular expression using the Google RE2 syntax (https://github.com/google/re2/wiki/Syntax) with a single capture group to extract data from the specified log entry field. The value of the field is converted to a string before applying the regex. It is an error to specify a regex that does not include exactly one capture group.The result of the extraction must be convertible to a double type, as the distribution always records double values. If either the extraction or the conversion to double fails, then those values are not recorded in the distribution.Example: REGEXP_EXTRACT(jsonPayload.request, \".*quantity=(\\d+).*\")" }, "name": { "description": "Required. The client-assigned metric identifier. Examples: \"error_count\", \"nginx/requests\".Metric identifiers are limited to 100 characters and can include only the following characters: A-Z, a-z, 0-9, and the special characters _-.,+!*',()%/. The forward-slash character (/) denotes a hierarchy of name pieces, and it cannot be the first character of the name.The metric identifier in this field must not be URL-encoded (https://en.wikipedia.org/wiki/Percent-encoding). However, when the metric identifier appears as the [METRIC_ID] part of a metric_name API parameter, then the metric identifier must be URL-encoded. Example: \"projects/my-project/metrics/nginx%2Frequests\".", "type": "string" }, - "description": { - "description": "Optional. A description of this metric, which is used in documentation.", - "type": "string" + "labelExtractors": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If the either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project." }, "version": { - "description": "Output only. The API version that created or updated this metric. The version also dictates the syntax of the filter expression. When a value for this field is missing, the default value of V2 should be assumed.", + "enum": [ + "V2", + "V1" + ], + "description": "Deprecated. The API version that created or updated this metric. The v2 format is used by default and cannot be changed.", "type": "string", "enumDescriptions": [ "Stackdriver Logging API v2.", "Stackdriver Logging API v1." - ], - "enum": [ - "V2", - "V1" ] + }, + "metricDescriptor": { + "description": "Optional. The metric descriptor associated with the logs-based metric. If unspecified, it uses a default metric descriptor with a DELTA metric kind, INT64 value type, with no labels and a unit of \"1\". Such a metric counts the number of log entries matching the filter expression.The name, type, and description fields in the metric_descriptor are output only, and is constructed using the name and description field in the LogMetric.To create a logs-based metric that records a distribution of log values, a DELTA metric kind with a DISTRIBUTION value type must be used along with a value_extractor expression in the LogMetric.Each label in the metric descriptor must have a matching label name as the key and an extractor expression as the value in the label_extractors map.The metric_kind and value_type fields in the metric_descriptor cannot be updated once initially configured. New labels can be added in the metric_descriptor, but existing labels cannot be modified except for their description.", + "$ref": "MetricDescriptor" + }, + "filter": { + "description": "Required. An advanced logs filter which is used to match log entries. Example:\n\"resource.type=gae_app AND severity\u003e=ERROR\"\nThe maximum length of the filter is 20000 characters.", + "type": "string" + }, + "description": { + "description": "Optional. A description of this metric, which is used in documentation.", + "type": "string" } }, "id": "LogMetric", - "description": "Describes a logs-based metric. The value of the metric is the number of log entries that match a logs filter in a given time interval." + "description": "Describes a logs-based metric. The value of the metric is the number of log entries that match a logs filter in a given time interval.Logs-based metric can also be used to extract values from logs and create a a distribution of the values. The distribution records the statistics of the extracted values along with an optional histogram of the values as specified by the bucket options.", + "type": "object" }, "LogEntryOperation": { - "type": "object", "properties": { - "last": { - "description": "Optional. Set this to True if this is the last log entry in the operation.", - "type": "boolean" - }, - "id": { - "description": "Optional. An arbitrary operation identifier. Log entries with the same identifier are assumed to be part of the same operation.", - "type": "string" - }, "first": { - "type": "boolean", - "description": "Optional. Set this to True if this is the first log entry in the operation." + "description": "Optional. Set this to True if this is the first log entry in the operation.", + "type": "boolean" }, "producer": { "description": "Optional. An arbitrary producer identifier. The combination of id and producer must be globally unique. Examples for producer: \"MyDivision.MyBigCompany.com\", \"github.com/MyProject/MyApplication\".", "type": "string" + }, + "last": { + "type": "boolean", + "description": "Optional. Set this to True if this is the last log entry in the operation." + }, + "id": { + "description": "Optional. An arbitrary operation identifier. Log entries with the same identifier are assumed to be part of the same operation.", + "type": "string" } }, "id": "LogEntryOperation", - "description": "Additional information about a potentially long-running operation with which a log entry is associated." - }, - "WriteLogEntriesResponse": { - "description": "Result returned from WriteLogEntries. empty", - "type": "object", - "properties": {}, - "id": "WriteLogEntriesResponse" + "description": "Additional information about a potentially long-running operation with which a log entry is associated.", + "type": "object" } }, - "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" - }, "protocol": "rest", + "icons": { + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" + }, "canonicalName": "Logging", "auth": { "oauth2": { "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + }, "https://www.googleapis.com/auth/logging.write": { "description": "Submit log data for your projects" }, @@ -795,9 +3128,6 @@ }, "https://www.googleapis.com/auth/cloud-platform.read-only": { "description": "View your data across Google Cloud Platform services" - }, - "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" } } } @@ -806,1294 +3136,7 @@ "ownerDomain": "google.com", "name": "logging", "batchPath": "batch", + "fullyEncodeReservedExpansion": true, "title": "Stackdriver Logging API", - "ownerName": "Google", - "resources": { - "monitoredResourceDescriptors": { - "methods": { - "list": { - "response": { - "$ref": "ListMonitoredResourceDescriptorsResponse" - }, - "parameterOrder": [], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.read" - ], - "parameters": { - "pageToken": { - "location": "query", - "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", - "type": "string" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", - "type": "integer" - } - }, - "flatPath": "v2/monitoredResourceDescriptors", - "id": "logging.monitoredResourceDescriptors.list", - "path": "v2/monitoredResourceDescriptors", - "description": "Lists the descriptors for monitored resource types used by Stackdriver Logging." - } - } - }, - "organizations": { - "resources": { - "sinks": { - "methods": { - "delete": { - "httpMethod": "DELETE", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "sinkName" - ], - "parameters": { - "sinkName": { - "description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", - "type": "string", - "required": true, - "pattern": "^organizations/[^/]+/sinks/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin" - ], - "flatPath": "v2/organizations/{organizationsId}/sinks/{sinksId}", - "path": "v2/{+sinkName}", - "id": "logging.organizations.sinks.delete", - "description": "Deletes a sink. If the sink has a unique writer_identity, then that service account is also deleted." - }, - "get": { - "httpMethod": "GET", - "parameterOrder": [ - "sinkName" - ], - "response": { - "$ref": "LogSink" - }, - "parameters": { - "sinkName": { - "pattern": "^organizations/[^/]+/sinks/[^/]+$", - "location": "path", - "description": "Required. The resource name of the sink:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.read" - ], - "flatPath": "v2/organizations/{organizationsId}/sinks/{sinksId}", - "path": "v2/{+sinkName}", - "id": "logging.organizations.sinks.get", - "description": "Gets a sink." - }, - "list": { - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "ListSinksResponse" - }, - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.read" - ], - "parameters": { - "parent": { - "pattern": "^organizations/[^/]+$", - "location": "path", - "description": "Required. The parent resource whose sinks are to be listed:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", - "type": "string", - "required": true - }, - "pageToken": { - "location": "query", - "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", - "type": "string" - }, - "pageSize": { - "format": "int32", - "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", - "type": "integer", - "location": "query" - } - }, - "flatPath": "v2/organizations/{organizationsId}/sinks", - "id": "logging.organizations.sinks.list", - "path": "v2/{+parent}/sinks", - "description": "Lists sinks." - }, - "update": { - "id": "logging.organizations.sinks.update", - "path": "v2/{+sinkName}", - "request": { - "$ref": "LogSink" - }, - "description": "Updates a sink. If the named sink doesn't exist, then this method is identical to sinks.create. If the named sink does exist, then this method replaces the following fields in the existing sink with values from the new sink: destination, filter, output_version_format, start_time, and end_time. The updated filter might also have a new writer_identity; see the unique_writer_identity field.", - "response": { - "$ref": "LogSink" - }, - "parameterOrder": [ - "sinkName" - ], - "httpMethod": "PUT", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin" - ], - "parameters": { - "uniqueWriterIdentity": { - "location": "query", - "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is set to false or defaulted to false.", - "type": "boolean" - }, - "sinkName": { - "location": "path", - "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", - "type": "string", - "required": true, - "pattern": "^organizations/[^/]+/sinks/[^/]+$" - } - }, - "flatPath": "v2/organizations/{organizationsId}/sinks/{sinksId}" - }, - "create": { - "description": "Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the current time is outside the sink's start and end times or the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.", - "request": { - "$ref": "LogSink" - }, - "httpMethod": "POST", - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "LogSink" - }, - "parameters": { - "parent": { - "type": "string", - "required": true, - "pattern": "^organizations/[^/]+$", - "location": "path", - "description": "Required. The resource in which to create the sink:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\nExamples: \"projects/my-logging-project\", \"organizations/123456789\"." - }, - "uniqueWriterIdentity": { - "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Stackdriver Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink.", - "type": "boolean", - "location": "query" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin" - ], - "flatPath": "v2/organizations/{organizationsId}/sinks", - "path": "v2/{+parent}/sinks", - "id": "logging.organizations.sinks.create" - } - } - }, - "logs": { - "methods": { - "delete": { - "description": "Deletes all the log entries in a log. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted.", - "httpMethod": "DELETE", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "logName" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin" - ], - "parameters": { - "logName": { - "location": "path", - "description": "Required. The resource name of the log to delete:\n\"projects/[PROJECT_ID]/logs/[LOG_ID]\"\n\"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\"\n\"folders/[FOLDER_ID]/logs/[LOG_ID]\"\n[LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". For more information about log names, see LogEntry.", - "type": "string", - "required": true, - "pattern": "^organizations/[^/]+/logs/[^/]+$" - } - }, - "flatPath": "v2/organizations/{organizationsId}/logs/{logsId}", - "path": "v2/{+logName}", - "id": "logging.organizations.logs.delete" - }, - "list": { - "description": "Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.", - "response": { - "$ref": "ListLogsResponse" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "GET", - "parameters": { - "parent": { - "description": "Required. The resource name that owns the logs:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", - "type": "string", - "required": true, - "pattern": "^organizations/[^/]+$", - "location": "path" - }, - "pageToken": { - "type": "string", - "location": "query", - "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call." - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", - "type": "integer" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.read" - ], - "flatPath": "v2/organizations/{organizationsId}/logs", - "id": "logging.organizations.logs.list", - "path": "v2/{+parent}/logs" - } - } - } - } - }, - "entries": { - "methods": { - "list": { - "request": { - "$ref": "ListLogEntriesRequest" - }, - "description": "Lists log entries. Use this method to retrieve log entries from Stackdriver Logging. For ways to export log entries, see Exporting Logs.", - "response": { - "$ref": "ListLogEntriesResponse" - }, - "parameterOrder": [], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.read" - ], - "parameters": {}, - "flatPath": "v2/entries:list", - "id": "logging.entries.list", - "path": "v2/entries:list" - }, - "write": { - "request": { - "$ref": "WriteLogEntriesRequest" - }, - "description": "Writes log entries to Stackdriver Logging.", - "response": { - "$ref": "WriteLogEntriesResponse" - }, - "parameterOrder": [], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.write" - ], - "parameters": {}, - "flatPath": "v2/entries:write", - "id": "logging.entries.write", - "path": "v2/entries:write" - } - } - }, - "projects": { - "resources": { - "sinks": { - "methods": { - "update": { - "request": { - "$ref": "LogSink" - }, - "description": "Updates a sink. If the named sink doesn't exist, then this method is identical to sinks.create. If the named sink does exist, then this method replaces the following fields in the existing sink with values from the new sink: destination, filter, output_version_format, start_time, and end_time. The updated filter might also have a new writer_identity; see the unique_writer_identity field.", - "httpMethod": "PUT", - "parameterOrder": [ - "sinkName" - ], - "response": { - "$ref": "LogSink" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin" - ], - "parameters": { - "uniqueWriterIdentity": { - "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is set to false or defaulted to false.", - "type": "boolean", - "location": "query" - }, - "sinkName": { - "pattern": "^projects/[^/]+/sinks/[^/]+$", - "location": "path", - "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", - "type": "string", - "required": true - } - }, - "flatPath": "v2/projects/{projectsId}/sinks/{sinksId}", - "path": "v2/{+sinkName}", - "id": "logging.projects.sinks.update" - }, - "create": { - "httpMethod": "POST", - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "LogSink" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin" - ], - "parameters": { - "parent": { - "description": "Required. The resource in which to create the sink:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\nExamples: \"projects/my-logging-project\", \"organizations/123456789\".", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path" - }, - "uniqueWriterIdentity": { - "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Stackdriver Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink.", - "type": "boolean", - "location": "query" - } - }, - "flatPath": "v2/projects/{projectsId}/sinks", - "path": "v2/{+parent}/sinks", - "id": "logging.projects.sinks.create", - "request": { - "$ref": "LogSink" - }, - "description": "Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the current time is outside the sink's start and end times or the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink." - }, - "delete": { - "description": "Deletes a sink. If the sink has a unique writer_identity, then that service account is also deleted.", - "httpMethod": "DELETE", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "sinkName" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin" - ], - "parameters": { - "sinkName": { - "pattern": "^projects/[^/]+/sinks/[^/]+$", - "location": "path", - "description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", - "type": "string", - "required": true - } - }, - "flatPath": "v2/projects/{projectsId}/sinks/{sinksId}", - "path": "v2/{+sinkName}", - "id": "logging.projects.sinks.delete" - }, - "get": { - "description": "Gets a sink.", - "response": { - "$ref": "LogSink" - }, - "parameterOrder": [ - "sinkName" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.read" - ], - "parameters": { - "sinkName": { - "pattern": "^projects/[^/]+/sinks/[^/]+$", - "location": "path", - "description": "Required. The resource name of the sink:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", - "type": "string", - "required": true - } - }, - "flatPath": "v2/projects/{projectsId}/sinks/{sinksId}", - "id": "logging.projects.sinks.get", - "path": "v2/{+sinkName}" - }, - "list": { - "description": "Lists sinks.", - "response": { - "$ref": "ListSinksResponse" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "GET", - "parameters": { - "parent": { - "pattern": "^projects/[^/]+$", - "location": "path", - "description": "Required. The parent resource whose sinks are to be listed:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", - "type": "string", - "required": true - }, - "pageToken": { - "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", - "type": "string", - "location": "query" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", - "type": "integer" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.read" - ], - "flatPath": "v2/projects/{projectsId}/sinks", - "id": "logging.projects.sinks.list", - "path": "v2/{+parent}/sinks" - } - } - }, - "logs": { - "methods": { - "list": { - "description": "Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.", - "httpMethod": "GET", - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "ListLogsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.read" - ], - "parameters": { - "pageToken": { - "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", - "type": "string", - "location": "query" - }, - "pageSize": { - "type": "integer", - "location": "query", - "format": "int32", - "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available." - }, - "parent": { - "pattern": "^projects/[^/]+$", - "location": "path", - "description": "Required. The resource name that owns the logs:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", - "type": "string", - "required": true - } - }, - "flatPath": "v2/projects/{projectsId}/logs", - "path": "v2/{+parent}/logs", - "id": "logging.projects.logs.list" - }, - "delete": { - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "logName" - ], - "httpMethod": "DELETE", - "parameters": { - "logName": { - "description": "Required. The resource name of the log to delete:\n\"projects/[PROJECT_ID]/logs/[LOG_ID]\"\n\"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\"\n\"folders/[FOLDER_ID]/logs/[LOG_ID]\"\n[LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". For more information about log names, see LogEntry.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/logs/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin" - ], - "flatPath": "v2/projects/{projectsId}/logs/{logsId}", - "id": "logging.projects.logs.delete", - "path": "v2/{+logName}", - "description": "Deletes all the log entries in a log. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted." - } - } - }, - "metrics": { - "methods": { - "update": { - "response": { - "$ref": "LogMetric" - }, - "parameterOrder": [ - "metricName" - ], - "httpMethod": "PUT", - "parameters": { - "metricName": { - "description": "The resource name of the metric to update:\n\"projects/[PROJECT_ID]/metrics/[METRIC_ID]\"\nThe updated metric must be provided in the request and it's name field must be the same as [METRIC_ID] If the metric does not exist in [PROJECT_ID], then a new metric is created.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/metrics/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.write" - ], - "flatPath": "v2/projects/{projectsId}/metrics/{metricsId}", - "id": "logging.projects.metrics.update", - "path": "v2/{+metricName}", - "description": "Creates or updates a logs-based metric.", - "request": { - "$ref": "LogMetric" - } - }, - "create": { - "httpMethod": "POST", - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "LogMetric" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.write" - ], - "parameters": { - "parent": { - "pattern": "^projects/[^/]+$", - "location": "path", - "description": "The resource name of the project in which to create the metric:\n\"projects/[PROJECT_ID]\"\nThe new metric must be provided in the request.", - "type": "string", - "required": true - } - }, - "flatPath": "v2/projects/{projectsId}/metrics", - "path": "v2/{+parent}/metrics", - "id": "logging.projects.metrics.create", - "request": { - "$ref": "LogMetric" - }, - "description": "Creates a logs-based metric." - }, - "delete": { - "path": "v2/{+metricName}", - "id": "logging.projects.metrics.delete", - "description": "Deletes a logs-based metric.", - "httpMethod": "DELETE", - "parameterOrder": [ - "metricName" - ], - "response": { - "$ref": "Empty" - }, - "parameters": { - "metricName": { - "description": "The resource name of the metric to delete:\n\"projects/[PROJECT_ID]/metrics/[METRIC_ID]\"\n", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/metrics/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.write" - ], - "flatPath": "v2/projects/{projectsId}/metrics/{metricsId}" - }, - "get": { - "response": { - "$ref": "LogMetric" - }, - "parameterOrder": [ - "metricName" - ], - "httpMethod": "GET", - "parameters": { - "metricName": { - "location": "path", - "description": "The resource name of the desired metric:\n\"projects/[PROJECT_ID]/metrics/[METRIC_ID]\"\n", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/metrics/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.read" - ], - "flatPath": "v2/projects/{projectsId}/metrics/{metricsId}", - "id": "logging.projects.metrics.get", - "path": "v2/{+metricName}", - "description": "Gets a logs-based metric." - }, - "list": { - "flatPath": "v2/projects/{projectsId}/metrics", - "path": "v2/{+parent}/metrics", - "id": "logging.projects.metrics.list", - "description": "Lists logs-based metrics.", - "httpMethod": "GET", - "response": { - "$ref": "ListLogMetricsResponse" - }, - "parameterOrder": [ - "parent" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.read" - ], - "parameters": { - "pageToken": { - "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", - "type": "string", - "location": "query" - }, - "pageSize": { - "type": "integer", - "location": "query", - "format": "int32", - "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available." - }, - "parent": { - "description": "Required. The name of the project containing the metrics:\n\"projects/[PROJECT_ID]\"\n", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path" - } - } - } - } - } - } - }, - "billingAccounts": { - "resources": { - "sinks": { - "methods": { - "delete": { - "httpMethod": "DELETE", - "parameterOrder": [ - "sinkName" - ], - "response": { - "$ref": "Empty" - }, - "parameters": { - "sinkName": { - "pattern": "^billingAccounts/[^/]+/sinks/[^/]+$", - "location": "path", - "description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin" - ], - "flatPath": "v2/billingAccounts/{billingAccountsId}/sinks/{sinksId}", - "path": "v2/{+sinkName}", - "id": "logging.billingAccounts.sinks.delete", - "description": "Deletes a sink. If the sink has a unique writer_identity, then that service account is also deleted." - }, - "get": { - "parameters": { - "sinkName": { - "pattern": "^billingAccounts/[^/]+/sinks/[^/]+$", - "location": "path", - "description": "Required. The resource name of the sink:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.read" - ], - "flatPath": "v2/billingAccounts/{billingAccountsId}/sinks/{sinksId}", - "id": "logging.billingAccounts.sinks.get", - "path": "v2/{+sinkName}", - "description": "Gets a sink.", - "response": { - "$ref": "LogSink" - }, - "parameterOrder": [ - "sinkName" - ], - "httpMethod": "GET" - }, - "list": { - "response": { - "$ref": "ListSinksResponse" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "GET", - "parameters": { - "pageToken": { - "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", - "type": "string", - "location": "query" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", - "type": "integer" - }, - "parent": { - "location": "path", - "description": "Required. The parent resource whose sinks are to be listed:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", - "type": "string", - "required": true, - "pattern": "^billingAccounts/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.read" - ], - "flatPath": "v2/billingAccounts/{billingAccountsId}/sinks", - "id": "logging.billingAccounts.sinks.list", - "path": "v2/{+parent}/sinks", - "description": "Lists sinks." - }, - "update": { - "httpMethod": "PUT", - "parameterOrder": [ - "sinkName" - ], - "response": { - "$ref": "LogSink" - }, - "parameters": { - "uniqueWriterIdentity": { - "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is set to false or defaulted to false.", - "type": "boolean", - "location": "query" - }, - "sinkName": { - "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", - "type": "string", - "required": true, - "pattern": "^billingAccounts/[^/]+/sinks/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin" - ], - "flatPath": "v2/billingAccounts/{billingAccountsId}/sinks/{sinksId}", - "path": "v2/{+sinkName}", - "id": "logging.billingAccounts.sinks.update", - "description": "Updates a sink. If the named sink doesn't exist, then this method is identical to sinks.create. If the named sink does exist, then this method replaces the following fields in the existing sink with values from the new sink: destination, filter, output_version_format, start_time, and end_time. The updated filter might also have a new writer_identity; see the unique_writer_identity field.", - "request": { - "$ref": "LogSink" - } - }, - "create": { - "request": { - "$ref": "LogSink" - }, - "description": "Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the current time is outside the sink's start and end times or the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.", - "response": { - "$ref": "LogSink" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin" - ], - "parameters": { - "parent": { - "pattern": "^billingAccounts/[^/]+$", - "location": "path", - "description": "Required. The resource in which to create the sink:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\nExamples: \"projects/my-logging-project\", \"organizations/123456789\".", - "type": "string", - "required": true - }, - "uniqueWriterIdentity": { - "location": "query", - "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Stackdriver Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink.", - "type": "boolean" - } - }, - "flatPath": "v2/billingAccounts/{billingAccountsId}/sinks", - "id": "logging.billingAccounts.sinks.create", - "path": "v2/{+parent}/sinks" - } - } - }, - "logs": { - "methods": { - "delete": { - "httpMethod": "DELETE", - "parameterOrder": [ - "logName" - ], - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin" - ], - "parameters": { - "logName": { - "location": "path", - "description": "Required. The resource name of the log to delete:\n\"projects/[PROJECT_ID]/logs/[LOG_ID]\"\n\"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\"\n\"folders/[FOLDER_ID]/logs/[LOG_ID]\"\n[LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". For more information about log names, see LogEntry.", - "type": "string", - "required": true, - "pattern": "^billingAccounts/[^/]+/logs/[^/]+$" - } - }, - "flatPath": "v2/billingAccounts/{billingAccountsId}/logs/{logsId}", - "path": "v2/{+logName}", - "id": "logging.billingAccounts.logs.delete", - "description": "Deletes all the log entries in a log. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted." - }, - "list": { - "description": "Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.", - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "ListLogsResponse" - }, - "httpMethod": "GET", - "parameters": { - "pageSize": { - "format": "int32", - "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", - "type": "integer", - "location": "query" - }, - "parent": { - "description": "Required. The resource name that owns the logs:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", - "type": "string", - "required": true, - "pattern": "^billingAccounts/[^/]+$", - "location": "path" - }, - "pageToken": { - "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", - "type": "string", - "location": "query" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.read" - ], - "flatPath": "v2/billingAccounts/{billingAccountsId}/logs", - "id": "logging.billingAccounts.logs.list", - "path": "v2/{+parent}/logs" - } - } - } - } - }, - "folders": { - "resources": { - "sinks": { - "methods": { - "delete": { - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin" - ], - "parameters": { - "sinkName": { - "description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", - "type": "string", - "required": true, - "pattern": "^folders/[^/]+/sinks/[^/]+$", - "location": "path" - } - }, - "flatPath": "v2/folders/{foldersId}/sinks/{sinksId}", - "path": "v2/{+sinkName}", - "id": "logging.folders.sinks.delete", - "description": "Deletes a sink. If the sink has a unique writer_identity, then that service account is also deleted.", - "httpMethod": "DELETE", - "parameterOrder": [ - "sinkName" - ], - "response": { - "$ref": "Empty" - } - }, - "get": { - "httpMethod": "GET", - "response": { - "$ref": "LogSink" - }, - "parameterOrder": [ - "sinkName" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.read" - ], - "parameters": { - "sinkName": { - "location": "path", - "description": "Required. The resource name of the sink:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", - "type": "string", - "required": true, - "pattern": "^folders/[^/]+/sinks/[^/]+$" - } - }, - "flatPath": "v2/folders/{foldersId}/sinks/{sinksId}", - "path": "v2/{+sinkName}", - "id": "logging.folders.sinks.get", - "description": "Gets a sink." - }, - "list": { - "description": "Lists sinks.", - "httpMethod": "GET", - "response": { - "$ref": "ListSinksResponse" - }, - "parameterOrder": [ - "parent" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.read" - ], - "parameters": { - "parent": { - "description": "Required. The parent resource whose sinks are to be listed:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", - "type": "string", - "required": true, - "pattern": "^folders/[^/]+$", - "location": "path" - }, - "pageToken": { - "location": "query", - "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", - "type": "string" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", - "type": "integer" - } - }, - "flatPath": "v2/folders/{foldersId}/sinks", - "path": "v2/{+parent}/sinks", - "id": "logging.folders.sinks.list" - }, - "update": { - "response": { - "$ref": "LogSink" - }, - "parameterOrder": [ - "sinkName" - ], - "httpMethod": "PUT", - "parameters": { - "uniqueWriterIdentity": { - "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is set to false or defaulted to false.", - "type": "boolean", - "location": "query" - }, - "sinkName": { - "pattern": "^folders/[^/]+/sinks/[^/]+$", - "location": "path", - "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin" - ], - "flatPath": "v2/folders/{foldersId}/sinks/{sinksId}", - "id": "logging.folders.sinks.update", - "path": "v2/{+sinkName}", - "description": "Updates a sink. If the named sink doesn't exist, then this method is identical to sinks.create. If the named sink does exist, then this method replaces the following fields in the existing sink with values from the new sink: destination, filter, output_version_format, start_time, and end_time. The updated filter might also have a new writer_identity; see the unique_writer_identity field.", - "request": { - "$ref": "LogSink" - } - }, - "create": { - "flatPath": "v2/folders/{foldersId}/sinks", - "id": "logging.folders.sinks.create", - "path": "v2/{+parent}/sinks", - "description": "Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the current time is outside the sink's start and end times or the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.", - "request": { - "$ref": "LogSink" - }, - "response": { - "$ref": "LogSink" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "POST", - "parameters": { - "parent": { - "location": "path", - "description": "Required. The resource in which to create the sink:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\nExamples: \"projects/my-logging-project\", \"organizations/123456789\".", - "type": "string", - "required": true, - "pattern": "^folders/[^/]+$" - }, - "uniqueWriterIdentity": { - "location": "query", - "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Stackdriver Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink.", - "type": "boolean" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin" - ] - } - } - }, - "logs": { - "methods": { - "delete": { - "id": "logging.folders.logs.delete", - "path": "v2/{+logName}", - "description": "Deletes all the log entries in a log. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "logName" - ], - "httpMethod": "DELETE", - "parameters": { - "logName": { - "location": "path", - "description": "Required. The resource name of the log to delete:\n\"projects/[PROJECT_ID]/logs/[LOG_ID]\"\n\"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\"\n\"folders/[FOLDER_ID]/logs/[LOG_ID]\"\n[LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". For more information about log names, see LogEntry.", - "type": "string", - "required": true, - "pattern": "^folders/[^/]+/logs/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin" - ], - "flatPath": "v2/folders/{foldersId}/logs/{logsId}" - }, - "list": { - "flatPath": "v2/folders/{foldersId}/logs", - "path": "v2/{+parent}/logs", - "id": "logging.folders.logs.list", - "description": "Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.", - "httpMethod": "GET", - "response": { - "$ref": "ListLogsResponse" - }, - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "location": "path", - "description": "Required. The resource name that owns the logs:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", - "type": "string", - "required": true, - "pattern": "^folders/[^/]+$" - }, - "pageToken": { - "type": "string", - "location": "query", - "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call." - }, - "pageSize": { - "format": "int32", - "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", - "type": "integer", - "location": "query" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.read" - ] - } - } - } - } - } - }, - "parameters": { - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, - "$.xgafv": { - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" - ], - "description": "V1 error format.", - "type": "string" - }, - "alt": { - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query", - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], - "type": "string" - }, - "key": { - "type": "string", - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token." - }, - "access_token": { - "type": "string", - "location": "query", - "description": "OAuth access token." - }, - "quotaUser": { - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" - }, - "pp": { - "location": "query", - "description": "Pretty-print response.", - "default": "true", - "type": "boolean" - }, - "oauth_token": { - "type": "string", - "location": "query", - "description": "OAuth 2.0 token for the current user." - }, - "bearer_token": { - "description": "OAuth bearer token.", - "type": "string", - "location": "query" - }, - "upload_protocol": { - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string", - "location": "query" - }, - "prettyPrint": { - "location": "query", - "description": "Returns response with indentations and line breaks.", - "default": "true", - "type": "boolean" - }, - "fields": { - "location": "query", - "description": "Selector specifying which fields to include in a partial response.", - "type": "string" - }, - "uploadType": { - "location": "query", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string" - } - }, - "version": "v2", - "baseUrl": "https://logging.googleapis.com/", - "kind": "discovery#restDescription", - "description": "Writes log entries and manages your Stackdriver Logging configuration.", - "servicePath": "", - "basePath": "", - "documentationLink": "https://cloud.google.com/logging/docs/", - "revision": "20170626", - "id": "logging:v2" + "ownerName": "Google" } diff --git a/vendor/google.golang.org/api/logging/v2/logging-gen.go b/vendor/google.golang.org/api/logging/v2/logging-gen.go index 0543e1e6f..4d4da8be3 100644 --- a/vendor/google.golang.org/api/logging/v2/logging-gen.go +++ b/vendor/google.golang.org/api/logging/v2/logging-gen.go @@ -104,6 +104,7 @@ func (s *Service) userAgent() string { func NewBillingAccountsService(s *Service) *BillingAccountsService { rs := &BillingAccountsService{s: s} + rs.Exclusions = NewBillingAccountsExclusionsService(s) rs.Logs = NewBillingAccountsLogsService(s) rs.Sinks = NewBillingAccountsSinksService(s) return rs @@ -112,11 +113,22 @@ func NewBillingAccountsService(s *Service) *BillingAccountsService { type BillingAccountsService struct { s *Service + Exclusions *BillingAccountsExclusionsService + Logs *BillingAccountsLogsService Sinks *BillingAccountsSinksService } +func NewBillingAccountsExclusionsService(s *Service) *BillingAccountsExclusionsService { + rs := &BillingAccountsExclusionsService{s: s} + return rs +} + +type BillingAccountsExclusionsService struct { + s *Service +} + func NewBillingAccountsLogsService(s *Service) *BillingAccountsLogsService { rs := &BillingAccountsLogsService{s: s} return rs @@ -146,6 +158,7 @@ type EntriesService struct { func NewFoldersService(s *Service) *FoldersService { rs := &FoldersService{s: s} + rs.Exclusions = NewFoldersExclusionsService(s) rs.Logs = NewFoldersLogsService(s) rs.Sinks = NewFoldersSinksService(s) return rs @@ -154,11 +167,22 @@ func NewFoldersService(s *Service) *FoldersService { type FoldersService struct { s *Service + Exclusions *FoldersExclusionsService + Logs *FoldersLogsService Sinks *FoldersSinksService } +func NewFoldersExclusionsService(s *Service) *FoldersExclusionsService { + rs := &FoldersExclusionsService{s: s} + return rs +} + +type FoldersExclusionsService struct { + s *Service +} + func NewFoldersLogsService(s *Service) *FoldersLogsService { rs := &FoldersLogsService{s: s} return rs @@ -188,6 +212,7 @@ type MonitoredResourceDescriptorsService struct { func NewOrganizationsService(s *Service) *OrganizationsService { rs := &OrganizationsService{s: s} + rs.Exclusions = NewOrganizationsExclusionsService(s) rs.Logs = NewOrganizationsLogsService(s) rs.Sinks = NewOrganizationsSinksService(s) return rs @@ -196,11 +221,22 @@ func NewOrganizationsService(s *Service) *OrganizationsService { type OrganizationsService struct { s *Service + Exclusions *OrganizationsExclusionsService + Logs *OrganizationsLogsService Sinks *OrganizationsSinksService } +func NewOrganizationsExclusionsService(s *Service) *OrganizationsExclusionsService { + rs := &OrganizationsExclusionsService{s: s} + return rs +} + +type OrganizationsExclusionsService struct { + s *Service +} + func NewOrganizationsLogsService(s *Service) *OrganizationsLogsService { rs := &OrganizationsLogsService{s: s} return rs @@ -221,6 +257,7 @@ type OrganizationsSinksService struct { func NewProjectsService(s *Service) *ProjectsService { rs := &ProjectsService{s: s} + rs.Exclusions = NewProjectsExclusionsService(s) rs.Logs = NewProjectsLogsService(s) rs.Metrics = NewProjectsMetricsService(s) rs.Sinks = NewProjectsSinksService(s) @@ -230,6 +267,8 @@ func NewProjectsService(s *Service) *ProjectsService { type ProjectsService struct { s *Service + Exclusions *ProjectsExclusionsService + Logs *ProjectsLogsService Metrics *ProjectsMetricsService @@ -237,6 +276,15 @@ type ProjectsService struct { Sinks *ProjectsSinksService } +func NewProjectsExclusionsService(s *Service) *ProjectsExclusionsService { + rs := &ProjectsExclusionsService{s: s} + return rs +} + +type ProjectsExclusionsService struct { + s *Service +} + func NewProjectsLogsService(s *Service) *ProjectsLogsService { rs := &ProjectsLogsService{s: s} return rs @@ -264,6 +312,55 @@ type ProjectsSinksService struct { s *Service } +// BucketOptions: BucketOptions describes the bucket boundaries used to +// create a histogram for the distribution. The buckets can be in a +// linear sequence, an exponential sequence, or each bucket can be +// specified explicitly. BucketOptions does not include the number of +// values in each bucket.A bucket has an inclusive lower bound and +// exclusive upper bound for the values that are counted for that +// bucket. The upper bound of a bucket must be strictly greater than the +// lower bound. The sequence of N buckets for a distribution consists of +// an underflow bucket (number 0), zero or more finite buckets (number 1 +// through N - 2) and an overflow bucket (number N - 1). The buckets are +// contiguous: the lower bound of bucket i (i > 0) is the same as the +// upper bound of bucket i - 1. The buckets span the whole range of +// finite values: lower bound of the underflow bucket is -infinity and +// the upper bound of the overflow bucket is +infinity. The finite +// buckets are so-called because both bounds are finite. +type BucketOptions struct { + // ExplicitBuckets: The explicit buckets. + ExplicitBuckets *Explicit `json:"explicitBuckets,omitempty"` + + // ExponentialBuckets: The exponential buckets. + ExponentialBuckets *Exponential `json:"exponentialBuckets,omitempty"` + + // LinearBuckets: The linear bucket. + LinearBuckets *Linear `json:"linearBuckets,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ExplicitBuckets") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ExplicitBuckets") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *BucketOptions) MarshalJSON() ([]byte, error) { + type noMethod BucketOptions + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Empty: A generic empty message that you can re-use to avoid defining // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For @@ -279,6 +376,96 @@ type Empty struct { googleapi.ServerResponse `json:"-"` } +// Explicit: Specifies a set of buckets with arbitrary widths.There are +// size(bounds) + 1 (= N) buckets. Bucket i has the following +// boundaries:Upper bound (0 <= i < N-1): boundsi Lower bound (1 <= i < +// N); boundsi - 1The bounds field must contain at least one element. If +// bounds has only one element, then there are no finite buckets, and +// that single element is the common boundary of the overflow and +// underflow buckets. +type Explicit struct { + // Bounds: The values must be monotonically increasing. + Bounds []float64 `json:"bounds,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Bounds") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Bounds") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Explicit) MarshalJSON() ([]byte, error) { + type noMethod Explicit + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Exponential: Specifies an exponential sequence of buckets that have a +// width that is proportional to the value of the lower bound. Each +// bucket represents a constant relative uncertainty on a specific value +// in the bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket +// i has the following boundaries:Upper bound (0 <= i < N-1): scale * +// (growth_factor ^ i). Lower bound (1 <= i < N): scale * +// (growth_factor ^ (i - 1)). +type Exponential struct { + // GrowthFactor: Must be greater than 1. + GrowthFactor float64 `json:"growthFactor,omitempty"` + + // NumFiniteBuckets: Must be greater than 0. + NumFiniteBuckets int64 `json:"numFiniteBuckets,omitempty"` + + // Scale: Must be greater than 0. + Scale float64 `json:"scale,omitempty"` + + // ForceSendFields is a list of field names (e.g. "GrowthFactor") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "GrowthFactor") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Exponential) MarshalJSON() ([]byte, error) { + type noMethod Exponential + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *Exponential) UnmarshalJSON(data []byte) error { + type noMethod Exponential + var s1 struct { + GrowthFactor gensupport.JSONFloat64 `json:"growthFactor"` + Scale gensupport.JSONFloat64 `json:"scale"` + *noMethod + } + s1.noMethod = (*noMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.GrowthFactor = float64(s1.GrowthFactor) + s.Scale = float64(s1.Scale) + return nil +} + // HttpRequest: A common proto for logging HTTP requests. Only contains // semantics defined by the HTTP specification. Product-specific logging // information MUST be defined in a separate message. @@ -303,6 +490,10 @@ type HttpRequest struct { // the request was received until the response was sent. Latency string `json:"latency,omitempty"` + // Protocol: Protocol used for the request. Examples: "HTTP/1.1", + // "HTTP/2", "websocket" + Protocol string `json:"protocol,omitempty"` + // Referer: The referer URL of the request, as defined in HTTP/1.1 // Header Field Definitions // (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). @@ -405,6 +596,100 @@ func (s *LabelDescriptor) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Linear: Specifies a linear sequence of buckets that all have the same +// width (except overflow and underflow). Each bucket represents a +// constant absolute uncertainty on the specific value in the +// bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket i has +// the following boundaries:Upper bound (0 <= i < N-1): offset + (width +// * i). Lower bound (1 <= i < N): offset + (width * (i - 1)). +type Linear struct { + // NumFiniteBuckets: Must be greater than 0. + NumFiniteBuckets int64 `json:"numFiniteBuckets,omitempty"` + + // Offset: Lower bound of the first bucket. + Offset float64 `json:"offset,omitempty"` + + // Width: Must be greater than 0. + Width float64 `json:"width,omitempty"` + + // ForceSendFields is a list of field names (e.g. "NumFiniteBuckets") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "NumFiniteBuckets") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Linear) MarshalJSON() ([]byte, error) { + type noMethod Linear + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *Linear) UnmarshalJSON(data []byte) error { + type noMethod Linear + var s1 struct { + Offset gensupport.JSONFloat64 `json:"offset"` + Width gensupport.JSONFloat64 `json:"width"` + *noMethod + } + s1.noMethod = (*noMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Offset = float64(s1.Offset) + s.Width = float64(s1.Width) + return nil +} + +// ListExclusionsResponse: Result returned from ListExclusions. +type ListExclusionsResponse struct { + // Exclusions: A list of exclusions. + Exclusions []*LogExclusion `json:"exclusions,omitempty"` + + // NextPageToken: If there might be more results than appear in this + // response, then nextPageToken is included. To get the next set of + // results, call the same method again using the value of nextPageToken + // as pageToken. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Exclusions") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Exclusions") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListExclusionsResponse) MarshalJSON() ([]byte, error) { + type noMethod ListExclusionsResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ListLogEntriesRequest: The parameters to ListLogEntries. type ListLogEntriesRequest struct { // Filter: Optional. A filter that chooses which log entries to return. @@ -480,7 +765,9 @@ func (s *ListLogEntriesRequest) MarshalJSON() ([]byte, error) { // ListLogEntriesResponse: Result returned from ListLogEntries. type ListLogEntriesResponse struct { - // Entries: A list of log entries. + // Entries: A list of log entries. If entries is empty, nextPageToken + // may still be returned, indicating that more entries may exist. See + // nextPageToken for more information. Entries []*LogEntry `json:"entries,omitempty"` // NextPageToken: If there might be more results than those appearing in @@ -687,9 +974,9 @@ type LogEntry struct { // provide a value, then Stackdriver Logging considers other log entries // in the same project, with the same timestamp, and with the same // insert_id to be duplicates which can be removed. If omitted in new - // log entries, then Stackdriver Logging will insert its own unique - // identifier. The insert_id is used to order log entries that have the - // same timestamp value. + // log entries, then Stackdriver Logging assigns its own unique + // identifier. The insert_id is also used to order log entries that have + // the same timestamp value. InsertId string `json:"insertId,omitempty"` // JsonPayload: The log entry payload, represented as a structure that @@ -709,7 +996,10 @@ type LogEntry struct { // "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[L // OG_ID]" // "folders/[FOLDER_ID]/logs/[LOG_ID]" - // [LOG_ID] must be URL-encoded within log_name. Example: + // A project number may optionally be used in place of PROJECT_ID. The + // project number is translated to its corresponding PROJECT_ID + // internally and the log_name field will contain PROJECT_ID in queries + // and exports.[LOG_ID] must be URL-encoded within log_name. Example: // "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Fa // ctivity". [LOG_ID] must be less than 512 characters long and can only // include the following characters: upper and lower case alphanumeric @@ -767,10 +1057,12 @@ type LogEntry struct { TextPayload string `json:"textPayload,omitempty"` // Timestamp: Optional. The time the event described by the log entry - // occurred. If omitted in a new log entry, Stackdriver Logging will - // insert the time the log entry is received. Stackdriver Logging might - // reject log entries whose time stamps are more than a couple of hours - // in the future. Log entries with time stamps in the past are accepted. + // occurred. This time is used to compute the log entry's age and to + // enforce the logs retention period. If this field is omitted in a new + // log entry, then Stackdriver Logging assigns it the current + // time.Incoming log entries should have timestamps that are no more + // than the logs retention period in the past, and no more than 24 hours + // in the future. See the entries.write API method for more information. Timestamp string `json:"timestamp,omitempty"` // Trace: Optional. Resource name of the trace associated with the log @@ -887,6 +1179,64 @@ func (s *LogEntrySourceLocation) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// LogExclusion: Specifies a set of log entries that are not to be +// stored in Stackdriver Logging. If your project receives a large +// volume of logs, you might be able to use exclusions to reduce your +// chargeable logs. Exclusions are processed after log sinks, so you can +// export log entries before they are excluded. Audit log entries and +// log entries from Amazon Web Services are never excluded. +type LogExclusion struct { + // Description: Optional. A description of this exclusion. + Description string `json:"description,omitempty"` + + // Disabled: Optional. If set to True, then this exclusion is disabled + // and it does not exclude any log entries. You can use exclusions.patch + // to change the value of this field. + Disabled bool `json:"disabled,omitempty"` + + // Filter: Required. An advanced logs filter that matches the log + // entries to be excluded. By using the sample function, you can exclude + // less than 100% of the matching log entries. For example, the + // following filter matches 99% of low-severity log entries from load + // balancers: + // "resource.type=http_load_balancer severity=ERROR // Filter string `json:"filter,omitempty"` @@ -1062,10 +1465,9 @@ type LogSink struct { // underscores, hyphens, and periods. Name string `json:"name,omitempty"` - // OutputVersionFormat: Optional. The log entry format to use for this - // sink's exported log entries. The v2 format is used by default. The v1 - // format is deprecated and should be used only as part of a migration - // effort to v2. See Migration to the v2 API. + // OutputVersionFormat: Deprecated. The log entry format to use for this + // sink's exported log entries. The v2 format is used by default and + // cannot be changed. // // Possible values: // "VERSION_FORMAT_UNSPECIFIED" - An unspecified format version that @@ -1074,10 +1476,8 @@ type LogSink struct { // "V1" - LogEntry version 1 format. OutputVersionFormat string `json:"outputVersionFormat,omitempty"` - // StartTime: Optional. The time at which this sink will begin exporting - // log entries. Log entries are exported only if their timestamp is not - // earlier than the start time. The default value of this field is the - // time the sink is created or updated. + // StartTime: Deprecated. This field is ignored when creating or + // updating sinks. StartTime string `json:"startTime,omitempty"` // WriterIdentity: Output only. An IAM identity—a service account @@ -1118,6 +1518,154 @@ func (s *LogSink) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// MetricDescriptor: Defines a metric type and its schema. Once a metric +// descriptor is created, deleting or altering it stops data collection +// and makes the metric type's existing data unusable. +type MetricDescriptor struct { + // Description: A detailed description of the metric, which can be used + // in documentation. + Description string `json:"description,omitempty"` + + // DisplayName: A concise name for the metric, which can be displayed in + // user interfaces. Use sentence case without an ending period, for + // example "Request count". + DisplayName string `json:"displayName,omitempty"` + + // Labels: The set of labels that can be used to describe a specific + // instance of this metric type. For example, the + // appengine.googleapis.com/http/server/response_latencies metric type + // has a label for the HTTP response code, response_code, so you can + // look at latencies for successful responses or just for responses that + // failed. + Labels []*LabelDescriptor `json:"labels,omitempty"` + + // MetricKind: Whether the metric records instantaneous values, changes + // to a value, etc. Some combinations of metric_kind and value_type + // might not be supported. + // + // Possible values: + // "METRIC_KIND_UNSPECIFIED" - Do not use this default value. + // "GAUGE" - An instantaneous measurement of a value. + // "DELTA" - The change in a value during a time interval. + // "CUMULATIVE" - A value accumulated over a time interval. Cumulative + // measurements in a time series should have the same start time and + // increasing end times, until an event resets the cumulative value to + // zero and sets a new start time for the following points. + MetricKind string `json:"metricKind,omitempty"` + + // Name: The resource name of the metric descriptor. Depending on the + // implementation, the name typically includes: (1) the parent resource + // name that defines the scope of the metric type or of its data; and + // (2) the metric's URL-encoded type, which also appears in the type + // field of this descriptor. For example, following is the resource name + // of a custom metric within the GCP project + // my-project-id: + // "projects/my-project-id/metricDescriptors/custom.google + // apis.com%2Finvoice%2Fpaid%2Famount" + // + Name string `json:"name,omitempty"` + + // Type: The metric type, including its DNS name prefix. The type is not + // URL-encoded. All user-defined custom metric types have the DNS name + // custom.googleapis.com. Metric types should use a natural hierarchical + // grouping. For + // example: + // "custom.googleapis.com/invoice/paid/amount" + // "appengine.google + // apis.com/http/server/response_latencies" + // + Type string `json:"type,omitempty"` + + // Unit: The unit in which the metric value is reported. It is only + // applicable if the value_type is INT64, DOUBLE, or DISTRIBUTION. The + // supported units are a subset of The Unified Code for Units of Measure + // (http://unitsofmeasure.org/ucum.html) standard:Basic units (UNIT) + // bit bit + // By byte + // s second + // min minute + // h hour + // d dayPrefixes (PREFIX) + // k kilo (10**3) + // M mega (10**6) + // G giga (10**9) + // T tera (10**12) + // P peta (10**15) + // E exa (10**18) + // Z zetta (10**21) + // Y yotta (10**24) + // m milli (10**-3) + // u micro (10**-6) + // n nano (10**-9) + // p pico (10**-12) + // f femto (10**-15) + // a atto (10**-18) + // z zepto (10**-21) + // y yocto (10**-24) + // Ki kibi (2**10) + // Mi mebi (2**20) + // Gi gibi (2**30) + // Ti tebi (2**40)GrammarThe grammar includes the dimensionless unit 1, + // such as 1/s.The grammar also includes these connectors: + // / division (as an infix operator, e.g. 1/s). + // . multiplication (as an infix operator, e.g. GBy.d)The grammar for a + // unit is as follows: + // Expression = Component { "." Component } { "/" Component } + // ; + // + // Component = [ PREFIX ] UNIT [ Annotation ] + // | Annotation + // | "1" + // ; + // + // Annotation = "{" NAME "}" ; + // Notes: + // Annotation is just a comment if it follows a UNIT and is equivalent + // to 1 if it is used alone. For examples, {requests}/s == 1/s, + // By{transmitted}/s == By/s. + // NAME is a sequence of non-blank printable ASCII characters not + // containing '{' or '}'. + Unit string `json:"unit,omitempty"` + + // ValueType: Whether the measurement is an integer, a floating-point + // number, etc. Some combinations of metric_kind and value_type might + // not be supported. + // + // Possible values: + // "VALUE_TYPE_UNSPECIFIED" - Do not use this default value. + // "BOOL" - The value is a boolean. This value type can be used only + // if the metric kind is GAUGE. + // "INT64" - The value is a signed 64-bit integer. + // "DOUBLE" - The value is a double precision floating point number. + // "STRING" - The value is a text string. This value type can be used + // only if the metric kind is GAUGE. + // "DISTRIBUTION" - The value is a Distribution. + // "MONEY" - The value is money. + ValueType string `json:"valueType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Description") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *MetricDescriptor) MarshalJSON() ([]byte, error) { + type noMethod MetricDescriptor + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // MonitoredResource: An object representing a resource that can be used // for monitoring, logging, billing, or other purposes. Examples include // virtual machine instances, databases, and storage devices such as @@ -1465,17 +2013,23 @@ func (s *SourceReference) MarshalJSON() ([]byte, error) { // WriteLogEntriesRequest: The parameters to WriteLogEntries. type WriteLogEntriesRequest struct { - // Entries: Required. The log entries to write. Values supplied for the - // fields log_name, resource, and labels in this entries.write request - // are inserted into those log entries in this list that do not provide - // their own values.Stackdriver Logging also creates and inserts values - // for timestamp and insert_id if the entries do not provide them. The - // created insert_id for the N'th entry in this list will be greater - // than earlier entries and less than later entries. Otherwise, the - // order of log entries in this list does not matter.To improve - // throughput and to avoid exceeding the quota limit for calls to - // entries.write, you should write multiple log entries at once rather - // than calling this method for each individual log entry. + // Entries: Required. The log entries to send to Stackdriver Logging. + // The order of log entries in this list does not matter. Values + // supplied in this method's log_name, resource, and labels fields are + // copied into those log entries in this list that do not include values + // for their corresponding fields. For more information, see the + // LogEntry type.If the timestamp or insert_id fields are missing in log + // entries, then this method supplies the current time or a unique + // identifier, respectively. The supplied values are chosen so that, + // among the log entries that did not supply their own values, the + // entries earlier in the list will sort before the entries later in the + // list. See the entries.list method.Log entries with timestamps that + // are more than the logs retention period in the past or more than 24 + // hours in the future might be discarded. Discarding does not return an + // error.To improve throughput and to avoid exceeding the quota limit + // for calls to entries.write, you should try to include several log + // entries in this list, rather than calling this method for each + // individual log entry. Entries []*LogEntry `json:"entries,omitempty"` // Labels: Optional. Default labels that are added to the labels field @@ -1547,6 +2101,759 @@ type WriteLogEntriesResponse struct { googleapi.ServerResponse `json:"-"` } +// method id "logging.billingAccounts.exclusions.create": + +type BillingAccountsExclusionsCreateCall struct { + s *Service + parent string + logexclusion *LogExclusion + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a new exclusion in a specified parent resource. Only +// log entries belonging to that resource can be excluded. You can have +// up to 10 exclusions in a resource. +func (r *BillingAccountsExclusionsService) Create(parent string, logexclusion *LogExclusion) *BillingAccountsExclusionsCreateCall { + c := &BillingAccountsExclusionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.logexclusion = logexclusion + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *BillingAccountsExclusionsCreateCall) Fields(s ...googleapi.Field) *BillingAccountsExclusionsCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *BillingAccountsExclusionsCreateCall) Context(ctx context.Context) *BillingAccountsExclusionsCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *BillingAccountsExclusionsCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *BillingAccountsExclusionsCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.logexclusion) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/exclusions") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "logging.billingAccounts.exclusions.create" call. +// Exactly one of *LogExclusion or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *LogExclusion.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *BillingAccountsExclusionsCreateCall) Do(opts ...googleapi.CallOption) (*LogExclusion, 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, &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, err + } + ret := &LogExclusion{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a new exclusion in a specified parent resource. Only log entries belonging to that resource can be excluded. You can have up to 10 exclusions in a resource.", + // "flatPath": "v2/billingAccounts/{billingAccountsId}/exclusions", + // "httpMethod": "POST", + // "id": "logging.billingAccounts.exclusions.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "Required. The parent resource in which to create the exclusion:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\nExamples: \"projects/my-logging-project\", \"organizations/123456789\".", + // "location": "path", + // "pattern": "^billingAccounts/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+parent}/exclusions", + // "request": { + // "$ref": "LogExclusion" + // }, + // "response": { + // "$ref": "LogExclusion" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/logging.admin" + // ] + // } + +} + +// method id "logging.billingAccounts.exclusions.delete": + +type BillingAccountsExclusionsDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes an exclusion. +func (r *BillingAccountsExclusionsService) Delete(name string) *BillingAccountsExclusionsDeleteCall { + c := &BillingAccountsExclusionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *BillingAccountsExclusionsDeleteCall) Fields(s ...googleapi.Field) *BillingAccountsExclusionsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *BillingAccountsExclusionsDeleteCall) Context(ctx context.Context) *BillingAccountsExclusionsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *BillingAccountsExclusionsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *BillingAccountsExclusionsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "logging.billingAccounts.exclusions.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *BillingAccountsExclusionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes an exclusion.", + // "flatPath": "v2/billingAccounts/{billingAccountsId}/exclusions/{exclusionsId}", + // "httpMethod": "DELETE", + // "id": "logging.billingAccounts.exclusions.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The resource name of an existing exclusion to delete:\n\"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\"\n\"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\"\n\"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\"\nExample: \"projects/my-project-id/exclusions/my-exclusion-id\".", + // "location": "path", + // "pattern": "^billingAccounts/[^/]+/exclusions/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+name}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/logging.admin" + // ] + // } + +} + +// method id "logging.billingAccounts.exclusions.get": + +type BillingAccountsExclusionsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the description of an exclusion. +func (r *BillingAccountsExclusionsService) Get(name string) *BillingAccountsExclusionsGetCall { + c := &BillingAccountsExclusionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *BillingAccountsExclusionsGetCall) Fields(s ...googleapi.Field) *BillingAccountsExclusionsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *BillingAccountsExclusionsGetCall) IfNoneMatch(entityTag string) *BillingAccountsExclusionsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *BillingAccountsExclusionsGetCall) Context(ctx context.Context) *BillingAccountsExclusionsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *BillingAccountsExclusionsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *BillingAccountsExclusionsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "logging.billingAccounts.exclusions.get" call. +// Exactly one of *LogExclusion or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *LogExclusion.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *BillingAccountsExclusionsGetCall) Do(opts ...googleapi.CallOption) (*LogExclusion, 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, &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, err + } + ret := &LogExclusion{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the description of an exclusion.", + // "flatPath": "v2/billingAccounts/{billingAccountsId}/exclusions/{exclusionsId}", + // "httpMethod": "GET", + // "id": "logging.billingAccounts.exclusions.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The resource name of an existing exclusion:\n\"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\"\n\"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\"\n\"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\"\nExample: \"projects/my-project-id/exclusions/my-exclusion-id\".", + // "location": "path", + // "pattern": "^billingAccounts/[^/]+/exclusions/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+name}", + // "response": { + // "$ref": "LogExclusion" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only", + // "https://www.googleapis.com/auth/logging.admin", + // "https://www.googleapis.com/auth/logging.read" + // ] + // } + +} + +// method id "logging.billingAccounts.exclusions.list": + +type BillingAccountsExclusionsListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists all the exclusions in a parent resource. +func (r *BillingAccountsExclusionsService) List(parent string) *BillingAccountsExclusionsListCall { + c := &BillingAccountsExclusionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": The maximum number +// of results to return from this request. Non-positive values are +// ignored. The presence of nextPageToken in the response indicates that +// more results might be available. +func (c *BillingAccountsExclusionsListCall) PageSize(pageSize int64) *BillingAccountsExclusionsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": If present, then +// retrieve the next batch of results from the preceding call to this +// method. pageToken must be the value of nextPageToken from the +// previous response. The values of other method parameters should be +// identical to those in the previous call. +func (c *BillingAccountsExclusionsListCall) PageToken(pageToken string) *BillingAccountsExclusionsListCall { + 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 information. +func (c *BillingAccountsExclusionsListCall) Fields(s ...googleapi.Field) *BillingAccountsExclusionsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *BillingAccountsExclusionsListCall) IfNoneMatch(entityTag string) *BillingAccountsExclusionsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *BillingAccountsExclusionsListCall) Context(ctx context.Context) *BillingAccountsExclusionsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *BillingAccountsExclusionsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *BillingAccountsExclusionsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/exclusions") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "logging.billingAccounts.exclusions.list" call. +// Exactly one of *ListExclusionsResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListExclusionsResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *BillingAccountsExclusionsListCall) Do(opts ...googleapi.CallOption) (*ListExclusionsResponse, 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, &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, err + } + ret := &ListExclusionsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists all the exclusions in a parent resource.", + // "flatPath": "v2/billingAccounts/{billingAccountsId}/exclusions", + // "httpMethod": "GET", + // "id": "logging.billingAccounts.exclusions.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "pageSize": { + // "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required. The parent resource whose exclusions are to be listed.\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", + // "location": "path", + // "pattern": "^billingAccounts/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+parent}/exclusions", + // "response": { + // "$ref": "ListExclusionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only", + // "https://www.googleapis.com/auth/logging.admin", + // "https://www.googleapis.com/auth/logging.read" + // ] + // } + +} + +// 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 *BillingAccountsExclusionsListCall) Pages(ctx context.Context, f func(*ListExclusionsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "logging.billingAccounts.exclusions.patch": + +type BillingAccountsExclusionsPatchCall struct { + s *Service + name string + logexclusion *LogExclusion + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Changes one or more properties of an existing exclusion. +func (r *BillingAccountsExclusionsService) Patch(name string, logexclusion *LogExclusion) *BillingAccountsExclusionsPatchCall { + c := &BillingAccountsExclusionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.logexclusion = logexclusion + return c +} + +// UpdateMask sets the optional parameter "updateMask": Required. A +// nonempty list of fields to change in the existing exclusion. New +// values for the fields are taken from the corresponding fields in the +// LogExclusion included in this request. Fields not mentioned in +// update_mask are not changed and are ignored in the request.For +// example, to change the filter and description of an exclusion, +// specify an update_mask of "filter,description". +func (c *BillingAccountsExclusionsPatchCall) UpdateMask(updateMask string) *BillingAccountsExclusionsPatchCall { + 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 information. +func (c *BillingAccountsExclusionsPatchCall) Fields(s ...googleapi.Field) *BillingAccountsExclusionsPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *BillingAccountsExclusionsPatchCall) Context(ctx context.Context) *BillingAccountsExclusionsPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *BillingAccountsExclusionsPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *BillingAccountsExclusionsPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.logexclusion) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "logging.billingAccounts.exclusions.patch" call. +// Exactly one of *LogExclusion or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *LogExclusion.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *BillingAccountsExclusionsPatchCall) Do(opts ...googleapi.CallOption) (*LogExclusion, 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, &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, err + } + ret := &LogExclusion{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Changes one or more properties of an existing exclusion.", + // "flatPath": "v2/billingAccounts/{billingAccountsId}/exclusions/{exclusionsId}", + // "httpMethod": "PATCH", + // "id": "logging.billingAccounts.exclusions.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The resource name of the exclusion to update:\n\"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\"\n\"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\"\n\"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\"\nExample: \"projects/my-project-id/exclusions/my-exclusion-id\".", + // "location": "path", + // "pattern": "^billingAccounts/[^/]+/exclusions/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Required. A nonempty list of fields to change in the existing exclusion. New values for the fields are taken from the corresponding fields in the LogExclusion included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.For example, to change the filter and description of an exclusion, specify an update_mask of \"filter,description\".", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v2/{+name}", + // "request": { + // "$ref": "LogExclusion" + // }, + // "response": { + // "$ref": "LogExclusion" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/logging.admin" + // ] + // } + +} + // method id "logging.billingAccounts.logs.delete": type BillingAccountsLogsDeleteCall struct { @@ -1882,10 +3189,9 @@ type BillingAccountsSinksCreateCall struct { // Create: Creates a sink that exports specified log entries to a // destination. The export of newly-ingested log entries begins -// immediately, unless the current time is outside the sink's start and -// end times or the sink's writer_identity is not permitted to write to -// the destination. A sink can export log entries only from the resource -// owning the sink. +// immediately, unless the sink's writer_identity is not permitted to +// write to the destination. A sink can export log entries only from the +// resource owning the sink. func (r *BillingAccountsSinksService) Create(parent string, logsink *LogSink) *BillingAccountsSinksCreateCall { c := &BillingAccountsSinksCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent @@ -1996,7 +3302,7 @@ func (c *BillingAccountsSinksCreateCall) Do(opts ...googleapi.CallOption) (*LogS } return ret, nil // { - // "description": "Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the current time is outside the sink's start and end times or the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.", + // "description": "Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.", // "flatPath": "v2/billingAccounts/{billingAccountsId}/sinks", // "httpMethod": "POST", // "id": "logging.billingAccounts.sinks.create", @@ -2494,6 +3800,187 @@ func (c *BillingAccountsSinksListCall) Pages(ctx context.Context, f func(*ListSi } } +// method id "logging.billingAccounts.sinks.patch": + +type BillingAccountsSinksPatchCall struct { + s *Service + sinkNameid string + logsink *LogSink + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates a sink. This method replaces the following fields in +// the existing sink with values from the new sink: destination, and +// filter. The updated sink might also have a new writer_identity; see +// the unique_writer_identity field. +func (r *BillingAccountsSinksService) Patch(sinkNameid string, logsink *LogSink) *BillingAccountsSinksPatchCall { + c := &BillingAccountsSinksPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.sinkNameid = sinkNameid + c.logsink = logsink + return c +} + +// UniqueWriterIdentity sets the optional parameter +// "uniqueWriterIdentity": See sinks.create for a description of this +// field. When updating a sink, the effect of this field on the value of +// writer_identity in the updated sink depends on both the old and new +// values of this field: +// If the old and new values of this field are both false or both true, +// then there is no change to the sink's writer_identity. +// If the old value is false and the new value is true, then +// writer_identity is changed to a unique service account. +// It is an error if the old value is true and the new value is set to +// false or defaulted to false. +func (c *BillingAccountsSinksPatchCall) UniqueWriterIdentity(uniqueWriterIdentity bool) *BillingAccountsSinksPatchCall { + c.urlParams_.Set("uniqueWriterIdentity", fmt.Sprint(uniqueWriterIdentity)) + return c +} + +// UpdateMask sets the optional parameter "updateMask": Field mask that +// specifies the fields in sink that need an update. A sink field will +// be overwritten if, and only if, it is in the update mask. name and +// output only fields cannot be updated.An empty updateMask is +// temporarily treated as using the following mask for backwards +// compatibility purposes: destination,filter,includeChildren At some +// point in the future, behavior will be removed and specifying an empty +// updateMask will be an error.For a detailed FieldMask definition, see +// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: +// updateMask=filter. +func (c *BillingAccountsSinksPatchCall) UpdateMask(updateMask string) *BillingAccountsSinksPatchCall { + 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 information. +func (c *BillingAccountsSinksPatchCall) Fields(s ...googleapi.Field) *BillingAccountsSinksPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *BillingAccountsSinksPatchCall) Context(ctx context.Context) *BillingAccountsSinksPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *BillingAccountsSinksPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *BillingAccountsSinksPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.logsink) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+sinkName}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "sinkName": c.sinkNameid, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "logging.billingAccounts.sinks.patch" call. +// Exactly one of *LogSink or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *LogSink.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *BillingAccountsSinksPatchCall) Do(opts ...googleapi.CallOption) (*LogSink, 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, &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, err + } + ret := &LogSink{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: destination, and filter. The updated sink might also have a new writer_identity; see the unique_writer_identity field.", + // "flatPath": "v2/billingAccounts/{billingAccountsId}/sinks/{sinksId}", + // "httpMethod": "PATCH", + // "id": "logging.billingAccounts.sinks.patch", + // "parameterOrder": [ + // "sinkName" + // ], + // "parameters": { + // "sinkName": { + // "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", + // "location": "path", + // "pattern": "^billingAccounts/[^/]+/sinks/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "uniqueWriterIdentity": { + // "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is set to false or defaulted to false.", + // "location": "query", + // "type": "boolean" + // }, + // "updateMask": { + // "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: updateMask=filter.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v2/{+sinkName}", + // "request": { + // "$ref": "LogSink" + // }, + // "response": { + // "$ref": "LogSink" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/logging.admin" + // ] + // } + +} + // method id "logging.billingAccounts.sinks.update": type BillingAccountsSinksUpdateCall struct { @@ -2505,13 +3992,10 @@ type BillingAccountsSinksUpdateCall struct { header_ http.Header } -// Update: Updates a sink. If the named sink doesn't exist, then this -// method is identical to sinks.create. If the named sink does exist, -// then this method replaces the following fields in the existing sink -// with values from the new sink: destination, filter, -// output_version_format, start_time, and end_time. The updated filter -// might also have a new writer_identity; see the unique_writer_identity -// field. +// Update: Updates a sink. This method replaces the following fields in +// the existing sink with values from the new sink: destination, and +// filter. The updated sink might also have a new writer_identity; see +// the unique_writer_identity field. func (r *BillingAccountsSinksService) Update(sinkNameid string, logsink *LogSink) *BillingAccountsSinksUpdateCall { c := &BillingAccountsSinksUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.sinkNameid = sinkNameid @@ -2535,6 +4019,21 @@ func (c *BillingAccountsSinksUpdateCall) UniqueWriterIdentity(uniqueWriterIdenti return c } +// UpdateMask sets the optional parameter "updateMask": Field mask that +// specifies the fields in sink that need an update. A sink field will +// be overwritten if, and only if, it is in the update mask. name and +// output only fields cannot be updated.An empty updateMask is +// temporarily treated as using the following mask for backwards +// compatibility purposes: destination,filter,includeChildren At some +// point in the future, behavior will be removed and specifying an empty +// updateMask will be an error.For a detailed FieldMask definition, see +// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: +// updateMask=filter. +func (c *BillingAccountsSinksUpdateCall) UpdateMask(updateMask string) *BillingAccountsSinksUpdateCall { + 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 information. @@ -2621,7 +4120,7 @@ func (c *BillingAccountsSinksUpdateCall) Do(opts ...googleapi.CallOption) (*LogS } return ret, nil // { - // "description": "Updates a sink. If the named sink doesn't exist, then this method is identical to sinks.create. If the named sink does exist, then this method replaces the following fields in the existing sink with values from the new sink: destination, filter, output_version_format, start_time, and end_time. The updated filter might also have a new writer_identity; see the unique_writer_identity field.", + // "description": "Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: destination, and filter. The updated sink might also have a new writer_identity; see the unique_writer_identity field.", // "flatPath": "v2/billingAccounts/{billingAccountsId}/sinks/{sinksId}", // "httpMethod": "PUT", // "id": "logging.billingAccounts.sinks.update", @@ -2640,6 +4139,12 @@ func (c *BillingAccountsSinksUpdateCall) Do(opts ...googleapi.CallOption) (*LogS // "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is set to false or defaulted to false.", // "location": "query", // "type": "boolean" + // }, + // "updateMask": { + // "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: updateMask=filter.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" // } // }, // "path": "v2/{+sinkName}", @@ -2813,7 +4318,11 @@ type EntriesWriteCall struct { header_ http.Header } -// Write: Writes log entries to Stackdriver Logging. +// Write: Log entry resourcesWrites log entries to Stackdriver Logging. +// This API method is the only way to send log entries to Stackdriver +// Logging. This method is used, directly or indirectly, by the +// Stackdriver Logging agent (fluentd) and all logging libraries +// configured to use Stackdriver Logging. func (r *EntriesService) Write(writelogentriesrequest *WriteLogEntriesRequest) *EntriesWriteCall { c := &EntriesWriteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.writelogentriesrequest = writelogentriesrequest @@ -2903,7 +4412,7 @@ func (c *EntriesWriteCall) Do(opts ...googleapi.CallOption) (*WriteLogEntriesRes } return ret, nil // { - // "description": "Writes log entries to Stackdriver Logging.", + // "description": "Log entry resourcesWrites log entries to Stackdriver Logging. This API method is the only way to send log entries to Stackdriver Logging. This method is used, directly or indirectly, by the Stackdriver Logging agent (fluentd) and all logging libraries configured to use Stackdriver Logging.", // "flatPath": "v2/entries:write", // "httpMethod": "POST", // "id": "logging.entries.write", @@ -2925,6 +4434,759 @@ func (c *EntriesWriteCall) Do(opts ...googleapi.CallOption) (*WriteLogEntriesRes } +// method id "logging.folders.exclusions.create": + +type FoldersExclusionsCreateCall struct { + s *Service + parent string + logexclusion *LogExclusion + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a new exclusion in a specified parent resource. Only +// log entries belonging to that resource can be excluded. You can have +// up to 10 exclusions in a resource. +func (r *FoldersExclusionsService) Create(parent string, logexclusion *LogExclusion) *FoldersExclusionsCreateCall { + c := &FoldersExclusionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.logexclusion = logexclusion + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *FoldersExclusionsCreateCall) Fields(s ...googleapi.Field) *FoldersExclusionsCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *FoldersExclusionsCreateCall) Context(ctx context.Context) *FoldersExclusionsCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *FoldersExclusionsCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *FoldersExclusionsCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.logexclusion) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/exclusions") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "logging.folders.exclusions.create" call. +// Exactly one of *LogExclusion or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *LogExclusion.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *FoldersExclusionsCreateCall) Do(opts ...googleapi.CallOption) (*LogExclusion, 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, &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, err + } + ret := &LogExclusion{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a new exclusion in a specified parent resource. Only log entries belonging to that resource can be excluded. You can have up to 10 exclusions in a resource.", + // "flatPath": "v2/folders/{foldersId}/exclusions", + // "httpMethod": "POST", + // "id": "logging.folders.exclusions.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "Required. The parent resource in which to create the exclusion:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\nExamples: \"projects/my-logging-project\", \"organizations/123456789\".", + // "location": "path", + // "pattern": "^folders/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+parent}/exclusions", + // "request": { + // "$ref": "LogExclusion" + // }, + // "response": { + // "$ref": "LogExclusion" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/logging.admin" + // ] + // } + +} + +// method id "logging.folders.exclusions.delete": + +type FoldersExclusionsDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes an exclusion. +func (r *FoldersExclusionsService) Delete(name string) *FoldersExclusionsDeleteCall { + c := &FoldersExclusionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *FoldersExclusionsDeleteCall) Fields(s ...googleapi.Field) *FoldersExclusionsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *FoldersExclusionsDeleteCall) Context(ctx context.Context) *FoldersExclusionsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *FoldersExclusionsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *FoldersExclusionsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "logging.folders.exclusions.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *FoldersExclusionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes an exclusion.", + // "flatPath": "v2/folders/{foldersId}/exclusions/{exclusionsId}", + // "httpMethod": "DELETE", + // "id": "logging.folders.exclusions.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The resource name of an existing exclusion to delete:\n\"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\"\n\"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\"\n\"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\"\nExample: \"projects/my-project-id/exclusions/my-exclusion-id\".", + // "location": "path", + // "pattern": "^folders/[^/]+/exclusions/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+name}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/logging.admin" + // ] + // } + +} + +// method id "logging.folders.exclusions.get": + +type FoldersExclusionsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the description of an exclusion. +func (r *FoldersExclusionsService) Get(name string) *FoldersExclusionsGetCall { + c := &FoldersExclusionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *FoldersExclusionsGetCall) Fields(s ...googleapi.Field) *FoldersExclusionsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *FoldersExclusionsGetCall) IfNoneMatch(entityTag string) *FoldersExclusionsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *FoldersExclusionsGetCall) Context(ctx context.Context) *FoldersExclusionsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *FoldersExclusionsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *FoldersExclusionsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "logging.folders.exclusions.get" call. +// Exactly one of *LogExclusion or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *LogExclusion.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *FoldersExclusionsGetCall) Do(opts ...googleapi.CallOption) (*LogExclusion, 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, &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, err + } + ret := &LogExclusion{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the description of an exclusion.", + // "flatPath": "v2/folders/{foldersId}/exclusions/{exclusionsId}", + // "httpMethod": "GET", + // "id": "logging.folders.exclusions.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The resource name of an existing exclusion:\n\"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\"\n\"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\"\n\"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\"\nExample: \"projects/my-project-id/exclusions/my-exclusion-id\".", + // "location": "path", + // "pattern": "^folders/[^/]+/exclusions/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+name}", + // "response": { + // "$ref": "LogExclusion" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only", + // "https://www.googleapis.com/auth/logging.admin", + // "https://www.googleapis.com/auth/logging.read" + // ] + // } + +} + +// method id "logging.folders.exclusions.list": + +type FoldersExclusionsListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists all the exclusions in a parent resource. +func (r *FoldersExclusionsService) List(parent string) *FoldersExclusionsListCall { + c := &FoldersExclusionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": The maximum number +// of results to return from this request. Non-positive values are +// ignored. The presence of nextPageToken in the response indicates that +// more results might be available. +func (c *FoldersExclusionsListCall) PageSize(pageSize int64) *FoldersExclusionsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": If present, then +// retrieve the next batch of results from the preceding call to this +// method. pageToken must be the value of nextPageToken from the +// previous response. The values of other method parameters should be +// identical to those in the previous call. +func (c *FoldersExclusionsListCall) PageToken(pageToken string) *FoldersExclusionsListCall { + 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 information. +func (c *FoldersExclusionsListCall) Fields(s ...googleapi.Field) *FoldersExclusionsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *FoldersExclusionsListCall) IfNoneMatch(entityTag string) *FoldersExclusionsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *FoldersExclusionsListCall) Context(ctx context.Context) *FoldersExclusionsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *FoldersExclusionsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *FoldersExclusionsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/exclusions") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "logging.folders.exclusions.list" call. +// Exactly one of *ListExclusionsResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListExclusionsResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *FoldersExclusionsListCall) Do(opts ...googleapi.CallOption) (*ListExclusionsResponse, 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, &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, err + } + ret := &ListExclusionsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists all the exclusions in a parent resource.", + // "flatPath": "v2/folders/{foldersId}/exclusions", + // "httpMethod": "GET", + // "id": "logging.folders.exclusions.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "pageSize": { + // "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required. The parent resource whose exclusions are to be listed.\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", + // "location": "path", + // "pattern": "^folders/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+parent}/exclusions", + // "response": { + // "$ref": "ListExclusionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only", + // "https://www.googleapis.com/auth/logging.admin", + // "https://www.googleapis.com/auth/logging.read" + // ] + // } + +} + +// 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 *FoldersExclusionsListCall) Pages(ctx context.Context, f func(*ListExclusionsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "logging.folders.exclusions.patch": + +type FoldersExclusionsPatchCall struct { + s *Service + name string + logexclusion *LogExclusion + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Changes one or more properties of an existing exclusion. +func (r *FoldersExclusionsService) Patch(name string, logexclusion *LogExclusion) *FoldersExclusionsPatchCall { + c := &FoldersExclusionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.logexclusion = logexclusion + return c +} + +// UpdateMask sets the optional parameter "updateMask": Required. A +// nonempty list of fields to change in the existing exclusion. New +// values for the fields are taken from the corresponding fields in the +// LogExclusion included in this request. Fields not mentioned in +// update_mask are not changed and are ignored in the request.For +// example, to change the filter and description of an exclusion, +// specify an update_mask of "filter,description". +func (c *FoldersExclusionsPatchCall) UpdateMask(updateMask string) *FoldersExclusionsPatchCall { + 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 information. +func (c *FoldersExclusionsPatchCall) Fields(s ...googleapi.Field) *FoldersExclusionsPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *FoldersExclusionsPatchCall) Context(ctx context.Context) *FoldersExclusionsPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *FoldersExclusionsPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *FoldersExclusionsPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.logexclusion) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "logging.folders.exclusions.patch" call. +// Exactly one of *LogExclusion or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *LogExclusion.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *FoldersExclusionsPatchCall) Do(opts ...googleapi.CallOption) (*LogExclusion, 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, &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, err + } + ret := &LogExclusion{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Changes one or more properties of an existing exclusion.", + // "flatPath": "v2/folders/{foldersId}/exclusions/{exclusionsId}", + // "httpMethod": "PATCH", + // "id": "logging.folders.exclusions.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The resource name of the exclusion to update:\n\"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\"\n\"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\"\n\"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\"\nExample: \"projects/my-project-id/exclusions/my-exclusion-id\".", + // "location": "path", + // "pattern": "^folders/[^/]+/exclusions/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Required. A nonempty list of fields to change in the existing exclusion. New values for the fields are taken from the corresponding fields in the LogExclusion included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.For example, to change the filter and description of an exclusion, specify an update_mask of \"filter,description\".", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v2/{+name}", + // "request": { + // "$ref": "LogExclusion" + // }, + // "response": { + // "$ref": "LogExclusion" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/logging.admin" + // ] + // } + +} + // method id "logging.folders.logs.delete": type FoldersLogsDeleteCall struct { @@ -3260,10 +5522,9 @@ type FoldersSinksCreateCall struct { // Create: Creates a sink that exports specified log entries to a // destination. The export of newly-ingested log entries begins -// immediately, unless the current time is outside the sink's start and -// end times or the sink's writer_identity is not permitted to write to -// the destination. A sink can export log entries only from the resource -// owning the sink. +// immediately, unless the sink's writer_identity is not permitted to +// write to the destination. A sink can export log entries only from the +// resource owning the sink. func (r *FoldersSinksService) Create(parent string, logsink *LogSink) *FoldersSinksCreateCall { c := &FoldersSinksCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent @@ -3374,7 +5635,7 @@ func (c *FoldersSinksCreateCall) Do(opts ...googleapi.CallOption) (*LogSink, err } return ret, nil // { - // "description": "Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the current time is outside the sink's start and end times or the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.", + // "description": "Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.", // "flatPath": "v2/folders/{foldersId}/sinks", // "httpMethod": "POST", // "id": "logging.folders.sinks.create", @@ -3872,6 +6133,187 @@ func (c *FoldersSinksListCall) Pages(ctx context.Context, f func(*ListSinksRespo } } +// method id "logging.folders.sinks.patch": + +type FoldersSinksPatchCall struct { + s *Service + sinkNameid string + logsink *LogSink + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates a sink. This method replaces the following fields in +// the existing sink with values from the new sink: destination, and +// filter. The updated sink might also have a new writer_identity; see +// the unique_writer_identity field. +func (r *FoldersSinksService) Patch(sinkNameid string, logsink *LogSink) *FoldersSinksPatchCall { + c := &FoldersSinksPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.sinkNameid = sinkNameid + c.logsink = logsink + return c +} + +// UniqueWriterIdentity sets the optional parameter +// "uniqueWriterIdentity": See sinks.create for a description of this +// field. When updating a sink, the effect of this field on the value of +// writer_identity in the updated sink depends on both the old and new +// values of this field: +// If the old and new values of this field are both false or both true, +// then there is no change to the sink's writer_identity. +// If the old value is false and the new value is true, then +// writer_identity is changed to a unique service account. +// It is an error if the old value is true and the new value is set to +// false or defaulted to false. +func (c *FoldersSinksPatchCall) UniqueWriterIdentity(uniqueWriterIdentity bool) *FoldersSinksPatchCall { + c.urlParams_.Set("uniqueWriterIdentity", fmt.Sprint(uniqueWriterIdentity)) + return c +} + +// UpdateMask sets the optional parameter "updateMask": Field mask that +// specifies the fields in sink that need an update. A sink field will +// be overwritten if, and only if, it is in the update mask. name and +// output only fields cannot be updated.An empty updateMask is +// temporarily treated as using the following mask for backwards +// compatibility purposes: destination,filter,includeChildren At some +// point in the future, behavior will be removed and specifying an empty +// updateMask will be an error.For a detailed FieldMask definition, see +// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: +// updateMask=filter. +func (c *FoldersSinksPatchCall) UpdateMask(updateMask string) *FoldersSinksPatchCall { + 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 information. +func (c *FoldersSinksPatchCall) Fields(s ...googleapi.Field) *FoldersSinksPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *FoldersSinksPatchCall) Context(ctx context.Context) *FoldersSinksPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *FoldersSinksPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *FoldersSinksPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.logsink) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+sinkName}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "sinkName": c.sinkNameid, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "logging.folders.sinks.patch" call. +// Exactly one of *LogSink or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *LogSink.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *FoldersSinksPatchCall) Do(opts ...googleapi.CallOption) (*LogSink, 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, &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, err + } + ret := &LogSink{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: destination, and filter. The updated sink might also have a new writer_identity; see the unique_writer_identity field.", + // "flatPath": "v2/folders/{foldersId}/sinks/{sinksId}", + // "httpMethod": "PATCH", + // "id": "logging.folders.sinks.patch", + // "parameterOrder": [ + // "sinkName" + // ], + // "parameters": { + // "sinkName": { + // "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", + // "location": "path", + // "pattern": "^folders/[^/]+/sinks/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "uniqueWriterIdentity": { + // "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is set to false or defaulted to false.", + // "location": "query", + // "type": "boolean" + // }, + // "updateMask": { + // "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: updateMask=filter.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v2/{+sinkName}", + // "request": { + // "$ref": "LogSink" + // }, + // "response": { + // "$ref": "LogSink" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/logging.admin" + // ] + // } + +} + // method id "logging.folders.sinks.update": type FoldersSinksUpdateCall struct { @@ -3883,13 +6325,10 @@ type FoldersSinksUpdateCall struct { header_ http.Header } -// Update: Updates a sink. If the named sink doesn't exist, then this -// method is identical to sinks.create. If the named sink does exist, -// then this method replaces the following fields in the existing sink -// with values from the new sink: destination, filter, -// output_version_format, start_time, and end_time. The updated filter -// might also have a new writer_identity; see the unique_writer_identity -// field. +// Update: Updates a sink. This method replaces the following fields in +// the existing sink with values from the new sink: destination, and +// filter. The updated sink might also have a new writer_identity; see +// the unique_writer_identity field. func (r *FoldersSinksService) Update(sinkNameid string, logsink *LogSink) *FoldersSinksUpdateCall { c := &FoldersSinksUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.sinkNameid = sinkNameid @@ -3913,6 +6352,21 @@ func (c *FoldersSinksUpdateCall) UniqueWriterIdentity(uniqueWriterIdentity bool) return c } +// UpdateMask sets the optional parameter "updateMask": Field mask that +// specifies the fields in sink that need an update. A sink field will +// be overwritten if, and only if, it is in the update mask. name and +// output only fields cannot be updated.An empty updateMask is +// temporarily treated as using the following mask for backwards +// compatibility purposes: destination,filter,includeChildren At some +// point in the future, behavior will be removed and specifying an empty +// updateMask will be an error.For a detailed FieldMask definition, see +// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: +// updateMask=filter. +func (c *FoldersSinksUpdateCall) UpdateMask(updateMask string) *FoldersSinksUpdateCall { + 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 information. @@ -3999,7 +6453,7 @@ func (c *FoldersSinksUpdateCall) Do(opts ...googleapi.CallOption) (*LogSink, err } return ret, nil // { - // "description": "Updates a sink. If the named sink doesn't exist, then this method is identical to sinks.create. If the named sink does exist, then this method replaces the following fields in the existing sink with values from the new sink: destination, filter, output_version_format, start_time, and end_time. The updated filter might also have a new writer_identity; see the unique_writer_identity field.", + // "description": "Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: destination, and filter. The updated sink might also have a new writer_identity; see the unique_writer_identity field.", // "flatPath": "v2/folders/{foldersId}/sinks/{sinksId}", // "httpMethod": "PUT", // "id": "logging.folders.sinks.update", @@ -4018,6 +6472,12 @@ func (c *FoldersSinksUpdateCall) Do(opts ...googleapi.CallOption) (*LogSink, err // "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is set to false or defaulted to false.", // "location": "query", // "type": "boolean" + // }, + // "updateMask": { + // "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: updateMask=filter.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" // } // }, // "path": "v2/{+sinkName}", @@ -4217,6 +6677,759 @@ func (c *MonitoredResourceDescriptorsListCall) Pages(ctx context.Context, f func } } +// method id "logging.organizations.exclusions.create": + +type OrganizationsExclusionsCreateCall struct { + s *Service + parent string + logexclusion *LogExclusion + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a new exclusion in a specified parent resource. Only +// log entries belonging to that resource can be excluded. You can have +// up to 10 exclusions in a resource. +func (r *OrganizationsExclusionsService) Create(parent string, logexclusion *LogExclusion) *OrganizationsExclusionsCreateCall { + c := &OrganizationsExclusionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.logexclusion = logexclusion + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OrganizationsExclusionsCreateCall) Fields(s ...googleapi.Field) *OrganizationsExclusionsCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsExclusionsCreateCall) Context(ctx context.Context) *OrganizationsExclusionsCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsExclusionsCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsExclusionsCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.logexclusion) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/exclusions") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "logging.organizations.exclusions.create" call. +// Exactly one of *LogExclusion or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *LogExclusion.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *OrganizationsExclusionsCreateCall) Do(opts ...googleapi.CallOption) (*LogExclusion, 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, &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, err + } + ret := &LogExclusion{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a new exclusion in a specified parent resource. Only log entries belonging to that resource can be excluded. You can have up to 10 exclusions in a resource.", + // "flatPath": "v2/organizations/{organizationsId}/exclusions", + // "httpMethod": "POST", + // "id": "logging.organizations.exclusions.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "Required. The parent resource in which to create the exclusion:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\nExamples: \"projects/my-logging-project\", \"organizations/123456789\".", + // "location": "path", + // "pattern": "^organizations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+parent}/exclusions", + // "request": { + // "$ref": "LogExclusion" + // }, + // "response": { + // "$ref": "LogExclusion" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/logging.admin" + // ] + // } + +} + +// method id "logging.organizations.exclusions.delete": + +type OrganizationsExclusionsDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes an exclusion. +func (r *OrganizationsExclusionsService) Delete(name string) *OrganizationsExclusionsDeleteCall { + c := &OrganizationsExclusionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OrganizationsExclusionsDeleteCall) Fields(s ...googleapi.Field) *OrganizationsExclusionsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsExclusionsDeleteCall) Context(ctx context.Context) *OrganizationsExclusionsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsExclusionsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsExclusionsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "logging.organizations.exclusions.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *OrganizationsExclusionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes an exclusion.", + // "flatPath": "v2/organizations/{organizationsId}/exclusions/{exclusionsId}", + // "httpMethod": "DELETE", + // "id": "logging.organizations.exclusions.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The resource name of an existing exclusion to delete:\n\"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\"\n\"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\"\n\"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\"\nExample: \"projects/my-project-id/exclusions/my-exclusion-id\".", + // "location": "path", + // "pattern": "^organizations/[^/]+/exclusions/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+name}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/logging.admin" + // ] + // } + +} + +// method id "logging.organizations.exclusions.get": + +type OrganizationsExclusionsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the description of an exclusion. +func (r *OrganizationsExclusionsService) Get(name string) *OrganizationsExclusionsGetCall { + c := &OrganizationsExclusionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *OrganizationsExclusionsGetCall) Fields(s ...googleapi.Field) *OrganizationsExclusionsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *OrganizationsExclusionsGetCall) IfNoneMatch(entityTag string) *OrganizationsExclusionsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsExclusionsGetCall) Context(ctx context.Context) *OrganizationsExclusionsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsExclusionsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsExclusionsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "logging.organizations.exclusions.get" call. +// Exactly one of *LogExclusion or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *LogExclusion.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *OrganizationsExclusionsGetCall) Do(opts ...googleapi.CallOption) (*LogExclusion, 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, &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, err + } + ret := &LogExclusion{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the description of an exclusion.", + // "flatPath": "v2/organizations/{organizationsId}/exclusions/{exclusionsId}", + // "httpMethod": "GET", + // "id": "logging.organizations.exclusions.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The resource name of an existing exclusion:\n\"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\"\n\"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\"\n\"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\"\nExample: \"projects/my-project-id/exclusions/my-exclusion-id\".", + // "location": "path", + // "pattern": "^organizations/[^/]+/exclusions/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+name}", + // "response": { + // "$ref": "LogExclusion" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only", + // "https://www.googleapis.com/auth/logging.admin", + // "https://www.googleapis.com/auth/logging.read" + // ] + // } + +} + +// method id "logging.organizations.exclusions.list": + +type OrganizationsExclusionsListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists all the exclusions in a parent resource. +func (r *OrganizationsExclusionsService) List(parent string) *OrganizationsExclusionsListCall { + c := &OrganizationsExclusionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": The maximum number +// of results to return from this request. Non-positive values are +// ignored. The presence of nextPageToken in the response indicates that +// more results might be available. +func (c *OrganizationsExclusionsListCall) PageSize(pageSize int64) *OrganizationsExclusionsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": If present, then +// retrieve the next batch of results from the preceding call to this +// method. pageToken must be the value of nextPageToken from the +// previous response. The values of other method parameters should be +// identical to those in the previous call. +func (c *OrganizationsExclusionsListCall) PageToken(pageToken string) *OrganizationsExclusionsListCall { + 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 information. +func (c *OrganizationsExclusionsListCall) Fields(s ...googleapi.Field) *OrganizationsExclusionsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *OrganizationsExclusionsListCall) IfNoneMatch(entityTag string) *OrganizationsExclusionsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsExclusionsListCall) Context(ctx context.Context) *OrganizationsExclusionsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsExclusionsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsExclusionsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/exclusions") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "logging.organizations.exclusions.list" call. +// Exactly one of *ListExclusionsResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListExclusionsResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *OrganizationsExclusionsListCall) Do(opts ...googleapi.CallOption) (*ListExclusionsResponse, 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, &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, err + } + ret := &ListExclusionsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists all the exclusions in a parent resource.", + // "flatPath": "v2/organizations/{organizationsId}/exclusions", + // "httpMethod": "GET", + // "id": "logging.organizations.exclusions.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "pageSize": { + // "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required. The parent resource whose exclusions are to be listed.\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", + // "location": "path", + // "pattern": "^organizations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+parent}/exclusions", + // "response": { + // "$ref": "ListExclusionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only", + // "https://www.googleapis.com/auth/logging.admin", + // "https://www.googleapis.com/auth/logging.read" + // ] + // } + +} + +// 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 *OrganizationsExclusionsListCall) Pages(ctx context.Context, f func(*ListExclusionsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "logging.organizations.exclusions.patch": + +type OrganizationsExclusionsPatchCall struct { + s *Service + name string + logexclusion *LogExclusion + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Changes one or more properties of an existing exclusion. +func (r *OrganizationsExclusionsService) Patch(name string, logexclusion *LogExclusion) *OrganizationsExclusionsPatchCall { + c := &OrganizationsExclusionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.logexclusion = logexclusion + return c +} + +// UpdateMask sets the optional parameter "updateMask": Required. A +// nonempty list of fields to change in the existing exclusion. New +// values for the fields are taken from the corresponding fields in the +// LogExclusion included in this request. Fields not mentioned in +// update_mask are not changed and are ignored in the request.For +// example, to change the filter and description of an exclusion, +// specify an update_mask of "filter,description". +func (c *OrganizationsExclusionsPatchCall) UpdateMask(updateMask string) *OrganizationsExclusionsPatchCall { + 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 information. +func (c *OrganizationsExclusionsPatchCall) Fields(s ...googleapi.Field) *OrganizationsExclusionsPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsExclusionsPatchCall) Context(ctx context.Context) *OrganizationsExclusionsPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsExclusionsPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsExclusionsPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.logexclusion) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "logging.organizations.exclusions.patch" call. +// Exactly one of *LogExclusion or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *LogExclusion.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *OrganizationsExclusionsPatchCall) Do(opts ...googleapi.CallOption) (*LogExclusion, 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, &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, err + } + ret := &LogExclusion{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Changes one or more properties of an existing exclusion.", + // "flatPath": "v2/organizations/{organizationsId}/exclusions/{exclusionsId}", + // "httpMethod": "PATCH", + // "id": "logging.organizations.exclusions.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The resource name of the exclusion to update:\n\"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\"\n\"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\"\n\"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\"\nExample: \"projects/my-project-id/exclusions/my-exclusion-id\".", + // "location": "path", + // "pattern": "^organizations/[^/]+/exclusions/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Required. A nonempty list of fields to change in the existing exclusion. New values for the fields are taken from the corresponding fields in the LogExclusion included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.For example, to change the filter and description of an exclusion, specify an update_mask of \"filter,description\".", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v2/{+name}", + // "request": { + // "$ref": "LogExclusion" + // }, + // "response": { + // "$ref": "LogExclusion" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/logging.admin" + // ] + // } + +} + // method id "logging.organizations.logs.delete": type OrganizationsLogsDeleteCall struct { @@ -4552,10 +7765,9 @@ type OrganizationsSinksCreateCall struct { // Create: Creates a sink that exports specified log entries to a // destination. The export of newly-ingested log entries begins -// immediately, unless the current time is outside the sink's start and -// end times or the sink's writer_identity is not permitted to write to -// the destination. A sink can export log entries only from the resource -// owning the sink. +// immediately, unless the sink's writer_identity is not permitted to +// write to the destination. A sink can export log entries only from the +// resource owning the sink. func (r *OrganizationsSinksService) Create(parent string, logsink *LogSink) *OrganizationsSinksCreateCall { c := &OrganizationsSinksCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent @@ -4666,7 +7878,7 @@ func (c *OrganizationsSinksCreateCall) Do(opts ...googleapi.CallOption) (*LogSin } return ret, nil // { - // "description": "Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the current time is outside the sink's start and end times or the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.", + // "description": "Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.", // "flatPath": "v2/organizations/{organizationsId}/sinks", // "httpMethod": "POST", // "id": "logging.organizations.sinks.create", @@ -5164,6 +8376,187 @@ func (c *OrganizationsSinksListCall) Pages(ctx context.Context, f func(*ListSink } } +// method id "logging.organizations.sinks.patch": + +type OrganizationsSinksPatchCall struct { + s *Service + sinkNameid string + logsink *LogSink + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates a sink. This method replaces the following fields in +// the existing sink with values from the new sink: destination, and +// filter. The updated sink might also have a new writer_identity; see +// the unique_writer_identity field. +func (r *OrganizationsSinksService) Patch(sinkNameid string, logsink *LogSink) *OrganizationsSinksPatchCall { + c := &OrganizationsSinksPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.sinkNameid = sinkNameid + c.logsink = logsink + return c +} + +// UniqueWriterIdentity sets the optional parameter +// "uniqueWriterIdentity": See sinks.create for a description of this +// field. When updating a sink, the effect of this field on the value of +// writer_identity in the updated sink depends on both the old and new +// values of this field: +// If the old and new values of this field are both false or both true, +// then there is no change to the sink's writer_identity. +// If the old value is false and the new value is true, then +// writer_identity is changed to a unique service account. +// It is an error if the old value is true and the new value is set to +// false or defaulted to false. +func (c *OrganizationsSinksPatchCall) UniqueWriterIdentity(uniqueWriterIdentity bool) *OrganizationsSinksPatchCall { + c.urlParams_.Set("uniqueWriterIdentity", fmt.Sprint(uniqueWriterIdentity)) + return c +} + +// UpdateMask sets the optional parameter "updateMask": Field mask that +// specifies the fields in sink that need an update. A sink field will +// be overwritten if, and only if, it is in the update mask. name and +// output only fields cannot be updated.An empty updateMask is +// temporarily treated as using the following mask for backwards +// compatibility purposes: destination,filter,includeChildren At some +// point in the future, behavior will be removed and specifying an empty +// updateMask will be an error.For a detailed FieldMask definition, see +// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: +// updateMask=filter. +func (c *OrganizationsSinksPatchCall) UpdateMask(updateMask string) *OrganizationsSinksPatchCall { + 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 information. +func (c *OrganizationsSinksPatchCall) Fields(s ...googleapi.Field) *OrganizationsSinksPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *OrganizationsSinksPatchCall) Context(ctx context.Context) *OrganizationsSinksPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *OrganizationsSinksPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsSinksPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.logsink) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+sinkName}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "sinkName": c.sinkNameid, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "logging.organizations.sinks.patch" call. +// Exactly one of *LogSink or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *LogSink.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *OrganizationsSinksPatchCall) Do(opts ...googleapi.CallOption) (*LogSink, 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, &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, err + } + ret := &LogSink{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: destination, and filter. The updated sink might also have a new writer_identity; see the unique_writer_identity field.", + // "flatPath": "v2/organizations/{organizationsId}/sinks/{sinksId}", + // "httpMethod": "PATCH", + // "id": "logging.organizations.sinks.patch", + // "parameterOrder": [ + // "sinkName" + // ], + // "parameters": { + // "sinkName": { + // "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", + // "location": "path", + // "pattern": "^organizations/[^/]+/sinks/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "uniqueWriterIdentity": { + // "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is set to false or defaulted to false.", + // "location": "query", + // "type": "boolean" + // }, + // "updateMask": { + // "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: updateMask=filter.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v2/{+sinkName}", + // "request": { + // "$ref": "LogSink" + // }, + // "response": { + // "$ref": "LogSink" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/logging.admin" + // ] + // } + +} + // method id "logging.organizations.sinks.update": type OrganizationsSinksUpdateCall struct { @@ -5175,13 +8568,10 @@ type OrganizationsSinksUpdateCall struct { header_ http.Header } -// Update: Updates a sink. If the named sink doesn't exist, then this -// method is identical to sinks.create. If the named sink does exist, -// then this method replaces the following fields in the existing sink -// with values from the new sink: destination, filter, -// output_version_format, start_time, and end_time. The updated filter -// might also have a new writer_identity; see the unique_writer_identity -// field. +// Update: Updates a sink. This method replaces the following fields in +// the existing sink with values from the new sink: destination, and +// filter. The updated sink might also have a new writer_identity; see +// the unique_writer_identity field. func (r *OrganizationsSinksService) Update(sinkNameid string, logsink *LogSink) *OrganizationsSinksUpdateCall { c := &OrganizationsSinksUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.sinkNameid = sinkNameid @@ -5205,6 +8595,21 @@ func (c *OrganizationsSinksUpdateCall) UniqueWriterIdentity(uniqueWriterIdentity return c } +// UpdateMask sets the optional parameter "updateMask": Field mask that +// specifies the fields in sink that need an update. A sink field will +// be overwritten if, and only if, it is in the update mask. name and +// output only fields cannot be updated.An empty updateMask is +// temporarily treated as using the following mask for backwards +// compatibility purposes: destination,filter,includeChildren At some +// point in the future, behavior will be removed and specifying an empty +// updateMask will be an error.For a detailed FieldMask definition, see +// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: +// updateMask=filter. +func (c *OrganizationsSinksUpdateCall) UpdateMask(updateMask string) *OrganizationsSinksUpdateCall { + 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 information. @@ -5291,7 +8696,7 @@ func (c *OrganizationsSinksUpdateCall) Do(opts ...googleapi.CallOption) (*LogSin } return ret, nil // { - // "description": "Updates a sink. If the named sink doesn't exist, then this method is identical to sinks.create. If the named sink does exist, then this method replaces the following fields in the existing sink with values from the new sink: destination, filter, output_version_format, start_time, and end_time. The updated filter might also have a new writer_identity; see the unique_writer_identity field.", + // "description": "Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: destination, and filter. The updated sink might also have a new writer_identity; see the unique_writer_identity field.", // "flatPath": "v2/organizations/{organizationsId}/sinks/{sinksId}", // "httpMethod": "PUT", // "id": "logging.organizations.sinks.update", @@ -5310,6 +8715,12 @@ func (c *OrganizationsSinksUpdateCall) Do(opts ...googleapi.CallOption) (*LogSin // "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is set to false or defaulted to false.", // "location": "query", // "type": "boolean" + // }, + // "updateMask": { + // "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: updateMask=filter.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" // } // }, // "path": "v2/{+sinkName}", @@ -5327,6 +8738,759 @@ func (c *OrganizationsSinksUpdateCall) Do(opts ...googleapi.CallOption) (*LogSin } +// method id "logging.projects.exclusions.create": + +type ProjectsExclusionsCreateCall struct { + s *Service + parent string + logexclusion *LogExclusion + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a new exclusion in a specified parent resource. Only +// log entries belonging to that resource can be excluded. You can have +// up to 10 exclusions in a resource. +func (r *ProjectsExclusionsService) Create(parent string, logexclusion *LogExclusion) *ProjectsExclusionsCreateCall { + c := &ProjectsExclusionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.logexclusion = logexclusion + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsExclusionsCreateCall) Fields(s ...googleapi.Field) *ProjectsExclusionsCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsExclusionsCreateCall) Context(ctx context.Context) *ProjectsExclusionsCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsExclusionsCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsExclusionsCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.logexclusion) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/exclusions") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "logging.projects.exclusions.create" call. +// Exactly one of *LogExclusion or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *LogExclusion.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsExclusionsCreateCall) Do(opts ...googleapi.CallOption) (*LogExclusion, 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, &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, err + } + ret := &LogExclusion{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a new exclusion in a specified parent resource. Only log entries belonging to that resource can be excluded. You can have up to 10 exclusions in a resource.", + // "flatPath": "v2/projects/{projectsId}/exclusions", + // "httpMethod": "POST", + // "id": "logging.projects.exclusions.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "Required. The parent resource in which to create the exclusion:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\nExamples: \"projects/my-logging-project\", \"organizations/123456789\".", + // "location": "path", + // "pattern": "^projects/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+parent}/exclusions", + // "request": { + // "$ref": "LogExclusion" + // }, + // "response": { + // "$ref": "LogExclusion" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/logging.admin" + // ] + // } + +} + +// method id "logging.projects.exclusions.delete": + +type ProjectsExclusionsDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes an exclusion. +func (r *ProjectsExclusionsService) Delete(name string) *ProjectsExclusionsDeleteCall { + c := &ProjectsExclusionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsExclusionsDeleteCall) Fields(s ...googleapi.Field) *ProjectsExclusionsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsExclusionsDeleteCall) Context(ctx context.Context) *ProjectsExclusionsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsExclusionsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsExclusionsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "logging.projects.exclusions.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsExclusionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes an exclusion.", + // "flatPath": "v2/projects/{projectsId}/exclusions/{exclusionsId}", + // "httpMethod": "DELETE", + // "id": "logging.projects.exclusions.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The resource name of an existing exclusion to delete:\n\"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\"\n\"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\"\n\"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\"\nExample: \"projects/my-project-id/exclusions/my-exclusion-id\".", + // "location": "path", + // "pattern": "^projects/[^/]+/exclusions/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+name}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/logging.admin" + // ] + // } + +} + +// method id "logging.projects.exclusions.get": + +type ProjectsExclusionsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the description of an exclusion. +func (r *ProjectsExclusionsService) Get(name string) *ProjectsExclusionsGetCall { + c := &ProjectsExclusionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsExclusionsGetCall) Fields(s ...googleapi.Field) *ProjectsExclusionsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsExclusionsGetCall) IfNoneMatch(entityTag string) *ProjectsExclusionsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsExclusionsGetCall) Context(ctx context.Context) *ProjectsExclusionsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsExclusionsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsExclusionsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "logging.projects.exclusions.get" call. +// Exactly one of *LogExclusion or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *LogExclusion.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsExclusionsGetCall) Do(opts ...googleapi.CallOption) (*LogExclusion, 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, &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, err + } + ret := &LogExclusion{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the description of an exclusion.", + // "flatPath": "v2/projects/{projectsId}/exclusions/{exclusionsId}", + // "httpMethod": "GET", + // "id": "logging.projects.exclusions.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The resource name of an existing exclusion:\n\"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\"\n\"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\"\n\"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\"\nExample: \"projects/my-project-id/exclusions/my-exclusion-id\".", + // "location": "path", + // "pattern": "^projects/[^/]+/exclusions/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+name}", + // "response": { + // "$ref": "LogExclusion" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only", + // "https://www.googleapis.com/auth/logging.admin", + // "https://www.googleapis.com/auth/logging.read" + // ] + // } + +} + +// method id "logging.projects.exclusions.list": + +type ProjectsExclusionsListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists all the exclusions in a parent resource. +func (r *ProjectsExclusionsService) List(parent string) *ProjectsExclusionsListCall { + c := &ProjectsExclusionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": The maximum number +// of results to return from this request. Non-positive values are +// ignored. The presence of nextPageToken in the response indicates that +// more results might be available. +func (c *ProjectsExclusionsListCall) PageSize(pageSize int64) *ProjectsExclusionsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": If present, then +// retrieve the next batch of results from the preceding call to this +// method. pageToken must be the value of nextPageToken from the +// previous response. The values of other method parameters should be +// identical to those in the previous call. +func (c *ProjectsExclusionsListCall) PageToken(pageToken string) *ProjectsExclusionsListCall { + 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 information. +func (c *ProjectsExclusionsListCall) Fields(s ...googleapi.Field) *ProjectsExclusionsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsExclusionsListCall) IfNoneMatch(entityTag string) *ProjectsExclusionsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsExclusionsListCall) Context(ctx context.Context) *ProjectsExclusionsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsExclusionsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsExclusionsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/exclusions") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "logging.projects.exclusions.list" call. +// Exactly one of *ListExclusionsResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListExclusionsResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsExclusionsListCall) Do(opts ...googleapi.CallOption) (*ListExclusionsResponse, 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, &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, err + } + ret := &ListExclusionsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists all the exclusions in a parent resource.", + // "flatPath": "v2/projects/{projectsId}/exclusions", + // "httpMethod": "GET", + // "id": "logging.projects.exclusions.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "pageSize": { + // "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required. The parent resource whose exclusions are to be listed.\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", + // "location": "path", + // "pattern": "^projects/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v2/{+parent}/exclusions", + // "response": { + // "$ref": "ListExclusionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only", + // "https://www.googleapis.com/auth/logging.admin", + // "https://www.googleapis.com/auth/logging.read" + // ] + // } + +} + +// 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 *ProjectsExclusionsListCall) Pages(ctx context.Context, f func(*ListExclusionsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "logging.projects.exclusions.patch": + +type ProjectsExclusionsPatchCall struct { + s *Service + name string + logexclusion *LogExclusion + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Changes one or more properties of an existing exclusion. +func (r *ProjectsExclusionsService) Patch(name string, logexclusion *LogExclusion) *ProjectsExclusionsPatchCall { + c := &ProjectsExclusionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.logexclusion = logexclusion + return c +} + +// UpdateMask sets the optional parameter "updateMask": Required. A +// nonempty list of fields to change in the existing exclusion. New +// values for the fields are taken from the corresponding fields in the +// LogExclusion included in this request. Fields not mentioned in +// update_mask are not changed and are ignored in the request.For +// example, to change the filter and description of an exclusion, +// specify an update_mask of "filter,description". +func (c *ProjectsExclusionsPatchCall) UpdateMask(updateMask string) *ProjectsExclusionsPatchCall { + 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 information. +func (c *ProjectsExclusionsPatchCall) Fields(s ...googleapi.Field) *ProjectsExclusionsPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsExclusionsPatchCall) Context(ctx context.Context) *ProjectsExclusionsPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsExclusionsPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsExclusionsPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.logexclusion) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "logging.projects.exclusions.patch" call. +// Exactly one of *LogExclusion or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *LogExclusion.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsExclusionsPatchCall) Do(opts ...googleapi.CallOption) (*LogExclusion, 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, &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, err + } + ret := &LogExclusion{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Changes one or more properties of an existing exclusion.", + // "flatPath": "v2/projects/{projectsId}/exclusions/{exclusionsId}", + // "httpMethod": "PATCH", + // "id": "logging.projects.exclusions.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The resource name of the exclusion to update:\n\"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\"\n\"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\"\n\"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\"\nExample: \"projects/my-project-id/exclusions/my-exclusion-id\".", + // "location": "path", + // "pattern": "^projects/[^/]+/exclusions/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Required. A nonempty list of fields to change in the existing exclusion. New values for the fields are taken from the corresponding fields in the LogExclusion included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.For example, to change the filter and description of an exclusion, specify an update_mask of \"filter,description\".", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v2/{+name}", + // "request": { + // "$ref": "LogExclusion" + // }, + // "response": { + // "$ref": "LogExclusion" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/logging.admin" + // ] + // } + +} + // method id "logging.projects.logs.delete": type ProjectsLogsDeleteCall struct { @@ -6398,10 +10562,9 @@ type ProjectsSinksCreateCall struct { // Create: Creates a sink that exports specified log entries to a // destination. The export of newly-ingested log entries begins -// immediately, unless the current time is outside the sink's start and -// end times or the sink's writer_identity is not permitted to write to -// the destination. A sink can export log entries only from the resource -// owning the sink. +// immediately, unless the sink's writer_identity is not permitted to +// write to the destination. A sink can export log entries only from the +// resource owning the sink. func (r *ProjectsSinksService) Create(parent string, logsink *LogSink) *ProjectsSinksCreateCall { c := &ProjectsSinksCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent @@ -6512,7 +10675,7 @@ func (c *ProjectsSinksCreateCall) Do(opts ...googleapi.CallOption) (*LogSink, er } return ret, nil // { - // "description": "Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the current time is outside the sink's start and end times or the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.", + // "description": "Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.", // "flatPath": "v2/projects/{projectsId}/sinks", // "httpMethod": "POST", // "id": "logging.projects.sinks.create", @@ -7010,6 +11173,187 @@ func (c *ProjectsSinksListCall) Pages(ctx context.Context, f func(*ListSinksResp } } +// method id "logging.projects.sinks.patch": + +type ProjectsSinksPatchCall struct { + s *Service + sinkNameid string + logsink *LogSink + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates a sink. This method replaces the following fields in +// the existing sink with values from the new sink: destination, and +// filter. The updated sink might also have a new writer_identity; see +// the unique_writer_identity field. +func (r *ProjectsSinksService) Patch(sinkNameid string, logsink *LogSink) *ProjectsSinksPatchCall { + c := &ProjectsSinksPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.sinkNameid = sinkNameid + c.logsink = logsink + return c +} + +// UniqueWriterIdentity sets the optional parameter +// "uniqueWriterIdentity": See sinks.create for a description of this +// field. When updating a sink, the effect of this field on the value of +// writer_identity in the updated sink depends on both the old and new +// values of this field: +// If the old and new values of this field are both false or both true, +// then there is no change to the sink's writer_identity. +// If the old value is false and the new value is true, then +// writer_identity is changed to a unique service account. +// It is an error if the old value is true and the new value is set to +// false or defaulted to false. +func (c *ProjectsSinksPatchCall) UniqueWriterIdentity(uniqueWriterIdentity bool) *ProjectsSinksPatchCall { + c.urlParams_.Set("uniqueWriterIdentity", fmt.Sprint(uniqueWriterIdentity)) + return c +} + +// UpdateMask sets the optional parameter "updateMask": Field mask that +// specifies the fields in sink that need an update. A sink field will +// be overwritten if, and only if, it is in the update mask. name and +// output only fields cannot be updated.An empty updateMask is +// temporarily treated as using the following mask for backwards +// compatibility purposes: destination,filter,includeChildren At some +// point in the future, behavior will be removed and specifying an empty +// updateMask will be an error.For a detailed FieldMask definition, see +// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: +// updateMask=filter. +func (c *ProjectsSinksPatchCall) UpdateMask(updateMask string) *ProjectsSinksPatchCall { + 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 information. +func (c *ProjectsSinksPatchCall) Fields(s ...googleapi.Field) *ProjectsSinksPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsSinksPatchCall) Context(ctx context.Context) *ProjectsSinksPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsSinksPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsSinksPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.logsink) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+sinkName}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "sinkName": c.sinkNameid, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "logging.projects.sinks.patch" call. +// Exactly one of *LogSink or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *LogSink.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsSinksPatchCall) Do(opts ...googleapi.CallOption) (*LogSink, 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, &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, err + } + ret := &LogSink{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: destination, and filter. The updated sink might also have a new writer_identity; see the unique_writer_identity field.", + // "flatPath": "v2/projects/{projectsId}/sinks/{sinksId}", + // "httpMethod": "PATCH", + // "id": "logging.projects.sinks.patch", + // "parameterOrder": [ + // "sinkName" + // ], + // "parameters": { + // "sinkName": { + // "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", + // "location": "path", + // "pattern": "^projects/[^/]+/sinks/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "uniqueWriterIdentity": { + // "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is set to false or defaulted to false.", + // "location": "query", + // "type": "boolean" + // }, + // "updateMask": { + // "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: updateMask=filter.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v2/{+sinkName}", + // "request": { + // "$ref": "LogSink" + // }, + // "response": { + // "$ref": "LogSink" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/logging.admin" + // ] + // } + +} + // method id "logging.projects.sinks.update": type ProjectsSinksUpdateCall struct { @@ -7021,13 +11365,10 @@ type ProjectsSinksUpdateCall struct { header_ http.Header } -// Update: Updates a sink. If the named sink doesn't exist, then this -// method is identical to sinks.create. If the named sink does exist, -// then this method replaces the following fields in the existing sink -// with values from the new sink: destination, filter, -// output_version_format, start_time, and end_time. The updated filter -// might also have a new writer_identity; see the unique_writer_identity -// field. +// Update: Updates a sink. This method replaces the following fields in +// the existing sink with values from the new sink: destination, and +// filter. The updated sink might also have a new writer_identity; see +// the unique_writer_identity field. func (r *ProjectsSinksService) Update(sinkNameid string, logsink *LogSink) *ProjectsSinksUpdateCall { c := &ProjectsSinksUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.sinkNameid = sinkNameid @@ -7051,6 +11392,21 @@ func (c *ProjectsSinksUpdateCall) UniqueWriterIdentity(uniqueWriterIdentity bool return c } +// UpdateMask sets the optional parameter "updateMask": Field mask that +// specifies the fields in sink that need an update. A sink field will +// be overwritten if, and only if, it is in the update mask. name and +// output only fields cannot be updated.An empty updateMask is +// temporarily treated as using the following mask for backwards +// compatibility purposes: destination,filter,includeChildren At some +// point in the future, behavior will be removed and specifying an empty +// updateMask will be an error.For a detailed FieldMask definition, see +// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: +// updateMask=filter. +func (c *ProjectsSinksUpdateCall) UpdateMask(updateMask string) *ProjectsSinksUpdateCall { + 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 information. @@ -7137,7 +11493,7 @@ func (c *ProjectsSinksUpdateCall) Do(opts ...googleapi.CallOption) (*LogSink, er } return ret, nil // { - // "description": "Updates a sink. If the named sink doesn't exist, then this method is identical to sinks.create. If the named sink does exist, then this method replaces the following fields in the existing sink with values from the new sink: destination, filter, output_version_format, start_time, and end_time. The updated filter might also have a new writer_identity; see the unique_writer_identity field.", + // "description": "Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: destination, and filter. The updated sink might also have a new writer_identity; see the unique_writer_identity field.", // "flatPath": "v2/projects/{projectsId}/sinks/{sinksId}", // "httpMethod": "PUT", // "id": "logging.projects.sinks.update", @@ -7156,6 +11512,12 @@ func (c *ProjectsSinksUpdateCall) Do(opts ...googleapi.CallOption) (*LogSink, er // "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is set to false or defaulted to false.", // "location": "query", // "type": "boolean" + // }, + // "updateMask": { + // "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: updateMask=filter.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" // } // }, // "path": "v2/{+sinkName}", diff --git a/vendor/google.golang.org/api/logging/v2beta1/logging-api.json b/vendor/google.golang.org/api/logging/v2beta1/logging-api.json index 03be6f6f9..0ed3a838c 100644 --- a/vendor/google.golang.org/api/logging/v2beta1/logging-api.json +++ b/vendor/google.golang.org/api/logging/v2beta1/logging-api.json @@ -1,63 +1,107 @@ { + "version": "v2beta1", + "baseUrl": "https://logging.googleapis.com/", + "servicePath": "", + "description": "Writes log entries and manages your Stackdriver Logging configuration.", + "kind": "discovery#restDescription", + "basePath": "", + "documentationLink": "https://cloud.google.com/logging/docs/", + "id": "logging:v2beta1", + "revision": "20170926", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { - "LogLine": { - "description": "Application log line emitted while processing a request.", + "WriteLogEntriesRequest": { + "description": "The parameters to WriteLogEntries.", "type": "object", "properties": { - "logMessage": { - "description": "App-provided log message.", + "entries": { + "description": "Required. The log entries to send to Stackdriver Logging. The order of log entries in this list does not matter. Values supplied in this method's log_name, resource, and labels fields are copied into those log entries in this list that do not include values for their corresponding fields. For more information, see the LogEntry type.If the timestamp or insert_id fields are missing in log entries, then this method supplies the current time or a unique identifier, respectively. The supplied values are chosen so that, among the log entries that did not supply their own values, the entries earlier in the list will sort before the entries later in the list. See the entries.list method.Log entries with timestamps that are more than the logs retention period in the past or more than 24 hours in the future might be discarded. Discarding does not return an error.To improve throughput and to avoid exceeding the quota limit for calls to entries.write, you should try to include several log entries in this list, rather than calling this method for each individual log entry.", + "items": { + "$ref": "LogEntry" + }, + "type": "array" + }, + "logName": { + "description": "Optional. A default log resource name that is assigned to all log entries in entries that do not specify a value for log_name:\n\"projects/[PROJECT_ID]/logs/[LOG_ID]\"\n\"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\"\n\"folders/[FOLDER_ID]/logs/[LOG_ID]\"\n[LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\" or \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". For more information about log names, see LogEntry.", "type": "string" }, - "severity": { - "enumDescriptions": [ - "(0) The log entry has no assigned severity level.", - "(100) Debug or trace information.", - "(200) Routine information, such as ongoing status or performance.", - "(300) Normal but significant events, such as start up, shut down, or a configuration change.", - "(400) Warning events might cause problems.", - "(500) Error events are likely to cause problems.", - "(600) Critical events cause more severe problems or outages.", - "(700) A person must take an action immediately.", - "(800) One or more systems are unusable." - ], - "enum": [ - "DEFAULT", - "DEBUG", - "INFO", - "NOTICE", - "WARNING", - "ERROR", - "CRITICAL", - "ALERT", - "EMERGENCY" - ], - "description": "Severity of this log entry.", - "type": "string" + "partialSuccess": { + "description": "Optional. Whether valid entries should be written even if some other entries fail due to INVALID_ARGUMENT or PERMISSION_DENIED errors. If any entry is not written, then the response status is the error associated with one of the failed entries and the response includes error details keyed by the entries' zero-based index in the entries.write method.", + "type": "boolean" }, - "sourceLocation": { - "description": "Where in the source code this log message was written.", - "$ref": "SourceLocation" + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Default labels that are added to the labels field of all log entries in entries. If a log entry already has a label with the same key as a label in this parameter, then the log entry's label is not changed. See LogEntry.", + "type": "object" }, - "time": { - "format": "google-datetime", - "description": "Approximate time when this log entry was made.", - "type": "string" + "resource": { + "$ref": "MonitoredResource", + "description": "Optional. A default monitored resource object that is assigned to all log entries in entries that do not specify a value for resource. Example:\n{ \"type\": \"gce_instance\",\n \"labels\": {\n \"zone\": \"us-central1-a\", \"instance_id\": \"00000000000000000000\" }}\nSee LogEntry." } }, - "id": "LogLine" + "id": "WriteLogEntriesRequest" + }, + "LabelDescriptor": { + "description": "A description of a label.", + "type": "object", + "properties": { + "key": { + "description": "The label key.", + "type": "string" + }, + "description": { + "description": "A human-readable description for the label.", + "type": "string" + }, + "valueType": { + "description": "The type of data that can be assigned to the label.", + "type": "string", + "enumDescriptions": [ + "A variable-length string. This is the default.", + "Boolean; true or false.", + "A 64-bit signed integer." + ], + "enum": [ + "STRING", + "BOOL", + "INT64" + ] + } + }, + "id": "LabelDescriptor" + }, + "BucketOptions": { + "description": "BucketOptions describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. BucketOptions does not include the number of values in each bucket.A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i \u003e 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite.", + "type": "object", + "properties": { + "explicitBuckets": { + "$ref": "Explicit", + "description": "The explicit buckets." + }, + "linearBuckets": { + "$ref": "Linear", + "description": "The linear bucket." + }, + "exponentialBuckets": { + "$ref": "Exponential", + "description": "The exponential buckets." + } + }, + "id": "BucketOptions" }, "ListLogMetricsResponse": { "description": "Result returned from ListLogMetrics.", "type": "object", "properties": { "metrics": { - "description": "A list of logs-based metrics.", "items": { "$ref": "LogMetric" }, - "type": "array" + "type": "array", + "description": "A list of logs-based metrics." }, "nextPageToken": { "description": "If there might be more results than appear in this response, then nextPageToken is included. To get the next set of results, call this method again using the value of nextPageToken as pageToken.", @@ -66,39 +110,135 @@ }, "id": "ListLogMetricsResponse" }, - "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance:\nservice Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n}\nThe JSON representation for Empty is empty JSON object {}.", + "MetricDescriptor": { + "description": "Defines a metric type and its schema. Once a metric descriptor is created, deleting or altering it stops data collection and makes the metric type's existing data unusable.", "type": "object", - "properties": {}, - "id": "Empty" + "properties": { + "name": { + "description": "The resource name of the metric descriptor. Depending on the implementation, the name typically includes: (1) the parent resource name that defines the scope of the metric type or of its data; and (2) the metric's URL-encoded type, which also appears in the type field of this descriptor. For example, following is the resource name of a custom metric within the GCP project my-project-id:\n\"projects/my-project-id/metricDescriptors/custom.googleapis.com%2Finvoice%2Fpaid%2Famount\"\n", + "type": "string" + }, + "type": { + "type": "string", + "description": "The metric type, including its DNS name prefix. The type is not URL-encoded. All user-defined custom metric types have the DNS name custom.googleapis.com. Metric types should use a natural hierarchical grouping. For example:\n\"custom.googleapis.com/invoice/paid/amount\"\n\"appengine.googleapis.com/http/server/response_latencies\"\n" + }, + "valueType": { + "enumDescriptions": [ + "Do not use this default value.", + "The value is a boolean. This value type can be used only if the metric kind is GAUGE.", + "The value is a signed 64-bit integer.", + "The value is a double precision floating point number.", + "The value is a text string. This value type can be used only if the metric kind is GAUGE.", + "The value is a Distribution.", + "The value is money." + ], + "enum": [ + "VALUE_TYPE_UNSPECIFIED", + "BOOL", + "INT64", + "DOUBLE", + "STRING", + "DISTRIBUTION", + "MONEY" + ], + "description": "Whether the measurement is an integer, a floating-point number, etc. Some combinations of metric_kind and value_type might not be supported.", + "type": "string" + }, + "metricKind": { + "enumDescriptions": [ + "Do not use this default value.", + "An instantaneous measurement of a value.", + "The change in a value during a time interval.", + "A value accumulated over a time interval. Cumulative measurements in a time series should have the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points." + ], + "enum": [ + "METRIC_KIND_UNSPECIFIED", + "GAUGE", + "DELTA", + "CUMULATIVE" + ], + "description": "Whether the metric records instantaneous values, changes to a value, etc. Some combinations of metric_kind and value_type might not be supported.", + "type": "string" + }, + "displayName": { + "description": "A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example \"Request count\".", + "type": "string" + }, + "description": { + "description": "A detailed description of the metric, which can be used in documentation.", + "type": "string" + }, + "unit": { + "description": "The unit in which the metric value is reported. It is only applicable if the value_type is INT64, DOUBLE, or DISTRIBUTION. The supported units are a subset of The Unified Code for Units of Measure (http://unitsofmeasure.org/ucum.html) standard:Basic units (UNIT)\nbit bit\nBy byte\ns second\nmin minute\nh hour\nd dayPrefixes (PREFIX)\nk kilo (10**3)\nM mega (10**6)\nG giga (10**9)\nT tera (10**12)\nP peta (10**15)\nE exa (10**18)\nZ zetta (10**21)\nY yotta (10**24)\nm milli (10**-3)\nu micro (10**-6)\nn nano (10**-9)\np pico (10**-12)\nf femto (10**-15)\na atto (10**-18)\nz zepto (10**-21)\ny yocto (10**-24)\nKi kibi (2**10)\nMi mebi (2**20)\nGi gibi (2**30)\nTi tebi (2**40)GrammarThe grammar includes the dimensionless unit 1, such as 1/s.The grammar also includes these connectors:\n/ division (as an infix operator, e.g. 1/s).\n. multiplication (as an infix operator, e.g. GBy.d)The grammar for a unit is as follows:\nExpression = Component { \".\" Component } { \"/\" Component } ;\n\nComponent = [ PREFIX ] UNIT [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\nAnnotation = \"{\" NAME \"}\" ;\nNotes:\nAnnotation is just a comment if it follows a UNIT and is equivalent to 1 if it is used alone. For examples, {requests}/s == 1/s, By{transmitted}/s == By/s.\nNAME is a sequence of non-blank printable ASCII characters not containing '{' or '}'.", + "type": "string" + }, + "labels": { + "description": "The set of labels that can be used to describe a specific instance of this metric type. For example, the appengine.googleapis.com/http/server/response_latencies metric type has a label for the HTTP response code, response_code, so you can look at latencies for successful responses or just for responses that failed.", + "items": { + "$ref": "LabelDescriptor" + }, + "type": "array" + } + }, + "id": "MetricDescriptor" }, "LogEntry": { + "id": "LogEntry", "description": "An individual entry in a log.", "type": "object", "properties": { + "logName": { + "description": "Required. The resource name of the log to which this log entry belongs:\n\"projects/[PROJECT_ID]/logs/[LOG_ID]\"\n\"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\"\n\"folders/[FOLDER_ID]/logs/[LOG_ID]\"\nA project number may optionally be used in place of PROJECT_ID. The project number is translated to its corresponding PROJECT_ID internally and the log_name field will contain PROJECT_ID in queries and exports.[LOG_ID] must be URL-encoded within log_name. Example: \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". [LOG_ID] must be less than 512 characters long and can only include the following characters: upper and lower case alphanumeric characters, forward-slash, underscore, hyphen, and period.For backward compatibility, if log_name begins with a forward-slash, such as /projects/..., then the log entry is ingested as usual but the forward-slash is removed. Listing the log entry will not show the leading slash and filtering for a log name with a leading slash will never return any results.", + "type": "string" + }, + "httpRequest": { + "$ref": "HttpRequest", + "description": "Optional. Information about the HTTP request associated with this log entry, if applicable." + }, + "resource": { + "description": "Required. The monitored resource associated with this log entry. Example: a log entry that reports a database error would be associated with the monitored resource designating the particular database that reported the error.", + "$ref": "MonitoredResource" + }, + "jsonPayload": { + "description": "The log entry payload, represented as a structure that is expressed as a JSON object.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + } + }, + "operation": { + "$ref": "LogEntryOperation", + "description": "Optional. Information about an operation associated with the log entry, if applicable." + }, + "insertId": { + "description": "Optional. A unique identifier for the log entry. If you provide a value, then Stackdriver Logging considers other log entries in the same project, with the same timestamp, and with the same insert_id to be duplicates which can be removed. If omitted in new log entries, then Stackdriver Logging assigns its own unique identifier. The insert_id is also used to order log entries that have the same timestamp value.", + "type": "string" + }, + "textPayload": { + "description": "The log entry payload, represented as a Unicode string (UTF-8).", + "type": "string" + }, + "protoPayload": { + "type": "object", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The log entry payload, represented as a protocol buffer. Some Google Cloud Platform services use this field for their log entry payloads." + }, "labels": { + "description": "Optional. A set of user-defined (key, value) data that provides additional information about the log entry.", + "type": "object", "additionalProperties": { "type": "string" - }, - "description": "Optional. A set of user-defined (key, value) data that provides additional information about the log entry.", - "type": "object" + } }, "trace": { "description": "Optional. Resource name of the trace associated with the log entry, if any. If it contains a relative resource name, the name is assumed to be relative to //tracing.googleapis.com. Example: projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824", "type": "string" }, "severity": { - "enum": [ - "DEFAULT", - "DEBUG", - "INFO", - "NOTICE", - "WARNING", - "ERROR", - "CRITICAL", - "ALERT", - "EMERGENCY" - ], "description": "Optional. The severity of the log entry. The default value is LogSeverity.DEFAULT.", "type": "string", "enumDescriptions": [ @@ -111,204 +251,39 @@ "(600) Critical events cause more severe problems or outages.", "(700) A person must take an action immediately.", "(800) One or more systems are unusable." + ], + "enum": [ + "DEFAULT", + "DEBUG", + "INFO", + "NOTICE", + "WARNING", + "ERROR", + "CRITICAL", + "ALERT", + "EMERGENCY" ] }, "sourceLocation": { "description": "Optional. Source code location information associated with the log entry, if any.", "$ref": "LogEntrySourceLocation" }, - "receiveTimestamp": { - "format": "google-datetime", - "description": "Output only. The time the log entry was received by Stackdriver Logging.", - "type": "string" - }, "timestamp": { "format": "google-datetime", - "description": "Optional. The time the event described by the log entry occurred. If omitted in a new log entry, Stackdriver Logging will insert the time the log entry is received. Stackdriver Logging might reject log entries whose time stamps are more than a couple of hours in the future. Log entries with time stamps in the past are accepted.", + "description": "Optional. The time the event described by the log entry occurred. This time is used to compute the log entry's age and to enforce the logs retention period. If this field is omitted in a new log entry, then Stackdriver Logging assigns it the current time.Incoming log entries should have timestamps that are no more than the logs retention period in the past, and no more than 24 hours in the future. See the entries.write API method for more information.", "type": "string" }, - "logName": { - "description": "Required. The resource name of the log to which this log entry belongs:\n\"projects/[PROJECT_ID]/logs/[LOG_ID]\"\n\"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\"\n\"folders/[FOLDER_ID]/logs/[LOG_ID]\"\n[LOG_ID] must be URL-encoded within log_name. Example: \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". [LOG_ID] must be less than 512 characters long and can only include the following characters: upper and lower case alphanumeric characters, forward-slash, underscore, hyphen, and period.For backward compatibility, if log_name begins with a forward-slash, such as /projects/..., then the log entry is ingested as usual but the forward-slash is removed. Listing the log entry will not show the leading slash and filtering for a log name with a leading slash will never return any results.", - "type": "string" - }, - "httpRequest": { - "$ref": "HttpRequest", - "description": "Optional. Information about the HTTP request associated with this log entry, if applicable." - }, - "resource": { - "$ref": "MonitoredResource", - "description": "Required. The monitored resource associated with this log entry. Example: a log entry that reports a database error would be associated with the monitored resource designating the particular database that reported the error." - }, - "jsonPayload": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "The log entry payload, represented as a structure that is expressed as a JSON object.", - "type": "object" - }, - "insertId": { - "description": "Optional. A unique identifier for the log entry. If you provide a value, then Stackdriver Logging considers other log entries in the same project, with the same timestamp, and with the same insert_id to be duplicates which can be removed. If omitted in new log entries, then Stackdriver Logging will insert its own unique identifier. The insert_id is used to order log entries that have the same timestamp value.", - "type": "string" - }, - "operation": { - "$ref": "LogEntryOperation", - "description": "Optional. Information about an operation associated with the log entry, if applicable." - }, - "textPayload": { - "description": "The log entry payload, represented as a Unicode string (UTF-8).", - "type": "string" - }, - "protoPayload": { - "description": "The log entry payload, represented as a protocol buffer. Some Google Cloud Platform services use this field for their log entry payloads.", - "type": "object", - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - } - } - }, - "id": "LogEntry" - }, - "SourceLocation": { - "id": "SourceLocation", - "description": "Specifies a location in a source code file.", - "type": "object", - "properties": { - "file": { - "description": "Source file name. Depending on the runtime environment, this might be a simple name or a fully-qualified name.", - "type": "string" - }, - "functionName": { - "description": "Human-readable name of the function or method being invoked, with optional context such as the class or package name. This information is used in contexts such as the logs viewer, where a file and line number are less meaningful. The format can vary by language. For example: qual.if.ied.Class.method (Java), dir/package.func (Go), function (Python).", - "type": "string" - }, - "line": { - "format": "int64", - "description": "Line within the source file.", - "type": "string" - } - } - }, - "ListLogEntriesRequest": { - "id": "ListLogEntriesRequest", - "description": "The parameters to ListLogEntries.", - "type": "object", - "properties": { - "orderBy": { - "description": "Optional. How the results should be sorted. Presently, the only permitted values are \"timestamp asc\" (default) and \"timestamp desc\". The first option returns entries in order of increasing values of LogEntry.timestamp (oldest first), and the second option returns entries in order of decreasing timestamps (newest first). Entries with equal timestamps are returned in order of their insert_id values.", - "type": "string" - }, - "resourceNames": { - "description": "Required. Names of one or more parent resources from which to retrieve log entries:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\nProjects listed in the project_ids field are added to this list.", - "items": { - "type": "string" - }, - "type": "array" - }, - "filter": { - "description": "Optional. A filter that chooses which log entries to return. See Advanced Logs Filters. Only log entries that match the filter are returned. An empty filter matches all log entries in the resources listed in resource_names. Referencing a parent resource that is not listed in resource_names will cause the filter to return no results. The maximum length of the filter is 20000 characters.", - "type": "string" - }, - "projectIds": { - "description": "Deprecated. Use resource_names instead. One or more project identifiers or project numbers from which to retrieve log entries. Example: \"my-project-1A\". If present, these project identifiers are converted to resource name format and added to the list of resources in resource_names.", - "items": { - "type": "string" - }, - "type": "array" - }, - "pageToken": { - "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. page_token must be the value of next_page_token from the previous response. The values of other method parameters should be identical to those in the previous call.", - "type": "string" - }, - "pageSize": { - "format": "int32", - "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of next_page_token in the response indicates that more results might be available.", - "type": "integer" + "receiveTimestamp": { + "type": "string", + "format": "google-datetime", + "description": "Output only. The time the log entry was received by Stackdriver Logging." } } }, "RequestLog": { + "description": "Complete log information about a single HTTP request to an App Engine application.", "type": "object", "properties": { - "appEngineRelease": { - "description": "App Engine release version.", - "type": "string" - }, - "method": { - "description": "Request method. Example: \"GET\", \"HEAD\", \"PUT\", \"POST\", \"DELETE\".", - "type": "string" - }, - "cost": { - "format": "double", - "description": "An indication of the relative cost of serving this request.", - "type": "number" - }, - "instanceId": { - "type": "string", - "description": "An identifier for the instance that handled the request." - }, - "megaCycles": { - "format": "int64", - "description": "Number of CPU megacycles used to process request.", - "type": "string" - }, - "first": { - "description": "Whether this is the first RequestLog entry for this request. If an active request has several RequestLog entries written to Stackdriver Logging, then this field will be set for one of them.", - "type": "boolean" - }, - "versionId": { - "description": "Version of the application that handled this request.", - "type": "string" - }, - "moduleId": { - "description": "Module of the application that handled this request.", - "type": "string" - }, - "endTime": { - "type": "string", - "format": "google-datetime", - "description": "Time when the request finished." - }, - "userAgent": { - "description": "User agent that made the request.", - "type": "string" - }, - "wasLoadingRequest": { - "description": "Whether this was a loading request for the instance.", - "type": "boolean" - }, - "sourceReference": { - "description": "Source code for the application that handled this request. There can be more than one source reference per deployed application if source code is distributed among multiple repositories.", - "items": { - "$ref": "SourceReference" - }, - "type": "array" - }, - "responseSize": { - "format": "int64", - "description": "Size in bytes sent back to client by request.", - "type": "string" - }, - "traceId": { - "description": "Stackdriver Trace identifier for this request.", - "type": "string" - }, - "line": { - "description": "A list of log lines emitted by the application while serving this request.", - "items": { - "$ref": "LogLine" - }, - "type": "array" - }, - "referrer": { - "description": "Referrer URL of request.", - "type": "string" - }, - "taskQueueName": { - "description": "Queue name of the request, in the case of an offline request.", - "type": "string" - }, "requestId": { "description": "Globally unique identifier for a request, which is based on the request start time. Request IDs for requests which started later will compare greater as strings than those for requests which started earlier.", "type": "string" @@ -317,19 +292,19 @@ "description": "The logged-in user who made the request.Most likely, this is the part of the user's email before the @ sign. The field value is the same for different requests from the same user, but different users can have similar names. This information is also available to the application via the App Engine Users API.This field will be populated starting with App Engine 1.9.21.", "type": "string" }, + "status": { + "format": "int32", + "description": "HTTP response status code. Example: 200, 404.", + "type": "integer" + }, "pendingTime": { "format": "google-duration", "description": "Time this request spent in the pending request queue.", "type": "string" }, "resource": { - "description": "Contains the path and query portion of the URL that was requested. For example, if the URL was \"http://example.com/app?name=val\", the resource would be \"/app?name=val\". The fragment identifier, which is identified by the # character, is not included.", - "type": "string" - }, - "status": { - "format": "int32", - "description": "HTTP response status code. Example: 200, 404.", - "type": "integer" + "type": "string", + "description": "Contains the path and query portion of the URL that was requested. For example, if the URL was \"http://example.com/app?name=val\", the resource would be \"/app?name=val\". The fragment identifier, which is identified by the # character, is not included." }, "taskName": { "description": "Task name of the request, in the case of an offline request.", @@ -362,9 +337,9 @@ "type": "string" }, "latency": { + "type": "string", "format": "google-duration", - "description": "Latency of the request.", - "type": "string" + "description": "Latency of the request." }, "ip": { "description": "Origin IP address.", @@ -373,12 +348,90 @@ "appId": { "description": "Application that handled this request.", "type": "string" + }, + "appEngineRelease": { + "description": "App Engine release version.", + "type": "string" + }, + "method": { + "description": "Request method. Example: \"GET\", \"HEAD\", \"PUT\", \"POST\", \"DELETE\".", + "type": "string" + }, + "cost": { + "format": "double", + "description": "An indication of the relative cost of serving this request.", + "type": "number" + }, + "instanceId": { + "type": "string", + "description": "An identifier for the instance that handled the request." + }, + "megaCycles": { + "format": "int64", + "description": "Number of CPU megacycles used to process request.", + "type": "string" + }, + "first": { + "description": "Whether this is the first RequestLog entry for this request. If an active request has several RequestLog entries written to Stackdriver Logging, then this field will be set for one of them.", + "type": "boolean" + }, + "versionId": { + "type": "string", + "description": "Version of the application that handled this request." + }, + "moduleId": { + "description": "Module of the application that handled this request.", + "type": "string" + }, + "endTime": { + "format": "google-datetime", + "description": "Time when the request finished.", + "type": "string" + }, + "userAgent": { + "description": "User agent that made the request.", + "type": "string" + }, + "wasLoadingRequest": { + "description": "Whether this was a loading request for the instance.", + "type": "boolean" + }, + "sourceReference": { + "items": { + "$ref": "SourceReference" + }, + "type": "array", + "description": "Source code for the application that handled this request. There can be more than one source reference per deployed application if source code is distributed among multiple repositories." + }, + "responseSize": { + "format": "int64", + "description": "Size in bytes sent back to client by request.", + "type": "string" + }, + "traceId": { + "description": "Stackdriver Trace identifier for this request.", + "type": "string" + }, + "line": { + "description": "A list of log lines emitted by the application while serving this request.", + "items": { + "$ref": "LogLine" + }, + "type": "array" + }, + "referrer": { + "description": "Referrer URL of request.", + "type": "string" + }, + "taskQueueName": { + "description": "Queue name of the request, in the case of an offline request.", + "type": "string" } }, - "id": "RequestLog", - "description": "Complete log information about a single HTTP request to an App Engine application." + "id": "RequestLog" }, "ListMonitoredResourceDescriptorsResponse": { + "id": "ListMonitoredResourceDescriptorsResponse", "description": "Result returned from ListMonitoredResourceDescriptors.", "type": "object", "properties": { @@ -387,42 +440,71 @@ "type": "string" }, "resourceDescriptors": { - "description": "A list of resource descriptors.", "items": { "$ref": "MonitoredResourceDescriptor" }, - "type": "array" + "type": "array", + "description": "A list of resource descriptors." } - }, - "id": "ListMonitoredResourceDescriptorsResponse" + } }, - "SourceReference": { - "description": "A reference to a particular snapshot of the source tree used to build and deploy an application.", + "LogMetric": { + "description": "Describes a logs-based metric. The value of the metric is the number of log entries that match a logs filter in a given time interval.Logs-based metric can also be used to extract values from logs and create a a distribution of the values. The distribution records the statistics of the extracted values along with an optional histogram of the values as specified by the bucket options.", "type": "object", "properties": { - "repository": { - "description": "Optional. A URI string identifying the repository. Example: \"https://github.com/GoogleCloudPlatform/kubernetes.git\"", + "valueExtractor": { + "description": "Optional. A value_extractor is required when using a distribution logs-based metric to extract the values to record from a log entry. Two functions are supported for value extraction: EXTRACT(field) or REGEXP_EXTRACT(field, regex). The argument are: 1. field: The name of the log entry field from which the value is to be extracted. 2. regex: A regular expression using the Google RE2 syntax (https://github.com/google/re2/wiki/Syntax) with a single capture group to extract data from the specified log entry field. The value of the field is converted to a string before applying the regex. It is an error to specify a regex that does not include exactly one capture group.The result of the extraction must be convertible to a double type, as the distribution always records double values. If either the extraction or the conversion to double fails, then those values are not recorded in the distribution.Example: REGEXP_EXTRACT(jsonPayload.request, \".*quantity=(\\d+).*\")", "type": "string" }, - "revisionId": { - "description": "The canonical and persistent identifier of the deployed revision. Example (git): \"0035781c50ec7aa23385dc841529ce8a4b70db1b\"", + "bucketOptions": { + "description": "Optional. The bucket_options are required when the logs-based metric is using a DISTRIBUTION value type and it describes the bucket boundaries used to create a histogram of the extracted values.", + "$ref": "BucketOptions" + }, + "name": { + "description": "Required. The client-assigned metric identifier. Examples: \"error_count\", \"nginx/requests\".Metric identifiers are limited to 100 characters and can include only the following characters: A-Z, a-z, 0-9, and the special characters _-.,+!*',()%/. The forward-slash character (/) denotes a hierarchy of name pieces, and it cannot be the first character of the name.The metric identifier in this field must not be URL-encoded (https://en.wikipedia.org/wiki/Percent-encoding). However, when the metric identifier appears as the [METRIC_ID] part of a metric_name API parameter, then the metric identifier must be URL-encoded. Example: \"projects/my-project/metrics/nginx%2Frequests\".", + "type": "string" + }, + "labelExtractors": { + "description": "Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If the either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "metricDescriptor": { + "description": "Optional. The metric descriptor associated with the logs-based metric. If unspecified, it uses a default metric descriptor with a DELTA metric kind, INT64 value type, with no labels and a unit of \"1\". Such a metric counts the number of log entries matching the filter expression.The name, type, and description fields in the metric_descriptor are output only, and is constructed using the name and description field in the LogMetric.To create a logs-based metric that records a distribution of log values, a DELTA metric kind with a DISTRIBUTION value type must be used along with a value_extractor expression in the LogMetric.Each label in the metric descriptor must have a matching label name as the key and an extractor expression as the value in the label_extractors map.The metric_kind and value_type fields in the metric_descriptor cannot be updated once initially configured. New labels can be added in the metric_descriptor, but existing labels cannot be modified except for their description.", + "$ref": "MetricDescriptor" + }, + "version": { + "type": "string", + "enumDescriptions": [ + "Stackdriver Logging API v2.", + "Stackdriver Logging API v1." + ], + "enum": [ + "V2", + "V1" + ], + "description": "Deprecated. The API version that created or updated this metric. The v2 format is used by default and cannot be changed." + }, + "filter": { + "description": "Required. An advanced logs filter which is used to match log entries. Example:\n\"resource.type=gae_app AND severity\u003e=ERROR\"\nThe maximum length of the filter is 20000 characters.", + "type": "string" + }, + "description": { + "description": "Optional. A description of this metric, which is used in documentation.", "type": "string" } }, - "id": "SourceReference" - }, - "WriteLogEntriesResponse": { - "id": "WriteLogEntriesResponse", - "description": "Result returned from WriteLogEntries. empty", - "type": "object", - "properties": {} + "id": "LogMetric" }, "LogEntryOperation": { + "description": "Additional information about a potentially long-running operation with which a log entry is associated.", "type": "object", "properties": { "last": { - "description": "Optional. Set this to True if this is the last log entry in the operation.", - "type": "boolean" + "type": "boolean", + "description": "Optional. Set this to True if this is the last log entry in the operation." }, "id": { "description": "Optional. An arbitrary operation identifier. Log entries with the same identifier are assumed to be part of the same operation.", @@ -437,68 +519,32 @@ "type": "string" } }, - "id": "LogEntryOperation", - "description": "Additional information about a potentially long-running operation with which a log entry is associated." - }, - "LogMetric": { - "properties": { - "name": { - "description": "Required. The client-assigned metric identifier. Examples: \"error_count\", \"nginx/requests\".Metric identifiers are limited to 100 characters and can include only the following characters: A-Z, a-z, 0-9, and the special characters _-.,+!*',()%/. The forward-slash character (/) denotes a hierarchy of name pieces, and it cannot be the first character of the name.The metric identifier in this field must not be URL-encoded (https://en.wikipedia.org/wiki/Percent-encoding). However, when the metric identifier appears as the [METRIC_ID] part of a metric_name API parameter, then the metric identifier must be URL-encoded. Example: \"projects/my-project/metrics/nginx%2Frequests\".", - "type": "string" - }, - "description": { - "description": "Optional. A description of this metric, which is used in documentation.", - "type": "string" - }, - "version": { - "type": "string", - "enumDescriptions": [ - "Stackdriver Logging API v2.", - "Stackdriver Logging API v1." - ], - "enum": [ - "V2", - "V1" - ], - "description": "Output only. The API version that created or updated this metric. The version also dictates the syntax of the filter expression. When a value for this field is missing, the default value of V2 should be assumed." - }, - "filter": { - "description": "Required. An advanced logs filter which is used to match log entries. Example:\n\"resource.type=gae_app AND severity\u003e=ERROR\"\nThe maximum length of the filter is 20000 characters.", - "type": "string" - } - }, - "id": "LogMetric", - "description": "Describes a logs-based metric. The value of the metric is the number of log entries that match a logs filter in a given time interval.", - "type": "object" + "id": "LogEntryOperation" }, "MonitoredResource": { - "id": "MonitoredResource", - "description": "An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The type field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the labels field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for \"gce_instance\" has labels \"instance_id\" and \"zone\":\n{ \"type\": \"gce_instance\",\n \"labels\": { \"instance_id\": \"12345678901234\",\n \"zone\": \"us-central1-a\" }}\n", "type": "object", "properties": { + "labels": { + "description": "Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels \"project_id\", \"instance_id\", and \"zone\".", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, "type": { "description": "Required. The monitored resource type. This field must match the type field of a MonitoredResourceDescriptor object. For example, the type of a Compute Engine VM instance is gce_instance.", "type": "string" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels \"project_id\", \"instance_id\", and \"zone\".", - "type": "object" } - } + }, + "id": "MonitoredResource", + "description": "An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The type field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the labels field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for \"gce_instance\" has labels \"instance_id\" and \"zone\":\n{ \"type\": \"gce_instance\",\n \"labels\": { \"instance_id\": \"12345678901234\",\n \"zone\": \"us-central1-a\" }}\n" }, "LogSink": { "description": "Describes a sink used to export log entries to one of the following destinations in any project: a Cloud Storage bucket, a BigQuery dataset, or a Cloud Pub/Sub topic. A logs filter controls which log entries are exported. The sink must be created within a project, organization, billing account, or folder.", "type": "object", "properties": { - "includeChildren": { - "description": "Optional. This field applies only to sinks owned by organizations and folders. If the field is false, the default, only the logs owned by the sink's parent resource are available for export. If the field is true, then logs from all the projects, folders, and billing accounts contained in the sink's parent resource are also available for export. Whether a particular log entry from the children is exported depends on the sink's filter expression. For example, if this field is true, then the filter resource.type=gce_instance would export all Compute Engine VM instance log entries from all projects in the sink's parent. To only export entries from certain child projects, filter on the project part of the log name:\nlogName:(\"projects/test-project1/\" OR \"projects/test-project2/\") AND\nresource.type=gce_instance\n", - "type": "boolean" - }, "filter": { - "description": "Optional. An advanced logs filter. The only exported log entries are those that are in the resource owning the sink and that match the filter. The filter must use the log entry format specified by the output_version_format parameter. For example, in the v2 format:\nlogName=\"projects/[PROJECT_ID]/logs/[LOG_ID]\" AND severity\u003e=ERROR\n", + "description": "Optional. An advanced logs filter. The only exported log entries are those that are in the resource owning the sink and that match the filter. For example:\nlogName=\"projects/[PROJECT_ID]/logs/[LOG_ID]\" AND severity\u003e=ERROR\n", "type": "string" }, "destination": { @@ -507,7 +553,7 @@ }, "endTime": { "format": "google-datetime", - "description": "Optional. The time at which this sink will stop exporting log entries. Log entries are exported only if their timestamp is earlier than the end time. If this field is not supplied, there is no end time. If both a start time and an end time are provided, then the end time must be later than the start time.", + "description": "Deprecated. This field is ignored when creating or updating sinks.", "type": "string" }, "writerIdentity": { @@ -516,7 +562,7 @@ }, "startTime": { "format": "google-datetime", - "description": "Optional. The time at which this sink will begin exporting log entries. Log entries are exported only if their timestamp is not earlier than the start time. The default value of this field is the time the sink is created or updated.", + "description": "Deprecated. This field is ignored when creating or updating sinks.", "type": "string" }, "outputVersionFormat": { @@ -525,7 +571,7 @@ "V2", "V1" ], - "description": "Optional. The log entry format to use for this sink's exported log entries. The v2 format is used by default. The v1 format is deprecated and should be used only as part of a migration effort to v2. See Migration to the v2 API.", + "description": "Deprecated. The log entry format to use for this sink's exported log entries. The v2 format is used by default and cannot be changed.", "type": "string", "enumDescriptions": [ "An unspecified format version that will default to V2.", @@ -536,60 +582,31 @@ "name": { "description": "Required. The client-assigned sink identifier, unique within the project. Example: \"my-syslog-errors-to-pubsub\". Sink identifiers are limited to 100 characters and can include only the following characters: upper and lower-case alphanumeric characters, underscores, hyphens, and periods.", "type": "string" + }, + "includeChildren": { + "description": "Optional. This field applies only to sinks owned by organizations and folders. If the field is false, the default, only the logs owned by the sink's parent resource are available for export. If the field is true, then logs from all the projects, folders, and billing accounts contained in the sink's parent resource are also available for export. Whether a particular log entry from the children is exported depends on the sink's filter expression. For example, if this field is true, then the filter resource.type=gce_instance would export all Compute Engine VM instance log entries from all projects in the sink's parent. To only export entries from certain child projects, filter on the project part of the log name:\nlogName:(\"projects/test-project1/\" OR \"projects/test-project2/\") AND\nresource.type=gce_instance\n", + "type": "boolean" } }, "id": "LogSink" }, - "WriteLogEntriesRequest": { - "properties": { - "entries": { - "description": "Required. The log entries to write. Values supplied for the fields log_name, resource, and labels in this entries.write request are inserted into those log entries in this list that do not provide their own values.Stackdriver Logging also creates and inserts values for timestamp and insert_id if the entries do not provide them. The created insert_id for the N'th entry in this list will be greater than earlier entries and less than later entries. Otherwise, the order of log entries in this list does not matter.To improve throughput and to avoid exceeding the quota limit for calls to entries.write, you should write multiple log entries at once rather than calling this method for each individual log entry.", - "items": { - "$ref": "LogEntry" - }, - "type": "array" - }, - "logName": { - "description": "Optional. A default log resource name that is assigned to all log entries in entries that do not specify a value for log_name:\n\"projects/[PROJECT_ID]/logs/[LOG_ID]\"\n\"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\"\n\"folders/[FOLDER_ID]/logs/[LOG_ID]\"\n[LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\" or \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". For more information about log names, see LogEntry.", - "type": "string" - }, - "partialSuccess": { - "description": "Optional. Whether valid entries should be written even if some other entries fail due to INVALID_ARGUMENT or PERMISSION_DENIED errors. If any entry is not written, then the response status is the error associated with one of the failed entries and the response includes error details keyed by the entries' zero-based index in the entries.write method.", - "type": "boolean" - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Optional. Default labels that are added to the labels field of all log entries in entries. If a log entry already has a label with the same key as a label in this parameter, then the log entry's label is not changed. See LogEntry." - }, - "resource": { - "description": "Optional. A default monitored resource object that is assigned to all log entries in entries that do not specify a value for resource. Example:\n{ \"type\": \"gce_instance\",\n \"labels\": {\n \"zone\": \"us-central1-a\", \"instance_id\": \"00000000000000000000\" }}\nSee LogEntry.", - "$ref": "MonitoredResource" - } - }, - "id": "WriteLogEntriesRequest", - "description": "The parameters to WriteLogEntries.", - "type": "object" - }, "ListLogsResponse": { - "id": "ListLogsResponse", "description": "Result returned from ListLogs.", "type": "object", "properties": { - "nextPageToken": { - "description": "If there might be more results than those appearing in this response, then nextPageToken is included. To get the next set of results, call this method again using the value of nextPageToken as pageToken.", - "type": "string" - }, "logNames": { "description": "A list of log names. For example, \"projects/my-project/syslog\" or \"organizations/123/cloudresourcemanager.googleapis.com%2Factivity\".", "items": { "type": "string" }, "type": "array" + }, + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then nextPageToken is included. To get the next set of results, call this method again using the value of nextPageToken as pageToken.", + "type": "string" } - } + }, + "id": "ListLogsResponse" }, "ListSinksResponse": { "description": "Result returned from ListSinks.", @@ -610,6 +627,7 @@ "id": "ListSinksResponse" }, "HttpRequest": { + "description": "A common proto for logging HTTP requests. Only contains semantics defined by the HTTP specification. Product-specific logging information MUST be defined in a separate message.", "type": "object", "properties": { "cacheFillBytes": { @@ -618,14 +636,18 @@ "type": "string" }, "requestMethod": { - "description": "The request method. Examples: \"GET\", \"HEAD\", \"PUT\", \"POST\".", - "type": "string" + "type": "string", + "description": "The request method. Examples: \"GET\", \"HEAD\", \"PUT\", \"POST\"." }, "requestSize": { "format": "int64", "description": "The size of the HTTP request message in bytes, including the request headers and the request body.", "type": "string" }, + "protocol": { + "type": "string", + "description": "Protocol used for the request. Examples: \"HTTP/1.1\", \"HTTP/2\", \"websocket\"" + }, "responseSize": { "format": "int64", "description": "The size of the HTTP response message sent back to the client, in bytes, including the response headers and the response body.", @@ -644,8 +666,8 @@ "type": "string" }, "cacheLookup": { - "description": "Whether or not a cache lookup was attempted.", - "type": "boolean" + "type": "boolean", + "description": "Whether or not a cache lookup was attempted." }, "cacheHit": { "description": "Whether or not an entity was served from cache (with or without validation).", @@ -665,50 +687,18 @@ "type": "string" }, "latency": { - "type": "string", "format": "google-duration", - "description": "The request processing latency on the server, from the time the request was received until the response was sent." + "description": "The request processing latency on the server, from the time the request was received until the response was sent.", + "type": "string" }, "userAgent": { "description": "The user agent sent by the client. Example: \"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)\".", "type": "string" } }, - "id": "HttpRequest", - "description": "A common proto for logging HTTP requests. Only contains semantics defined by the HTTP specification. Product-specific logging information MUST be defined in a separate message." - }, - "LabelDescriptor": { - "description": "A description of a label.", - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "The label key." - }, - "description": { - "description": "A human-readable description for the label.", - "type": "string" - }, - "valueType": { - "enumDescriptions": [ - "A variable-length string. This is the default.", - "Boolean; true or false.", - "A 64-bit signed integer." - ], - "enum": [ - "STRING", - "BOOL", - "INT64" - ], - "description": "The type of data that can be assigned to the label.", - "type": "string" - } - }, - "id": "LabelDescriptor" + "id": "HttpRequest" }, "MonitoredResourceDescriptor": { - "id": "MonitoredResourceDescriptor", - "description": "An object that describes the schema of a MonitoredResource object using a type name and a set of labels. For example, the monitored resource descriptor for Google Compute Engine VM instances has a type of \"gce_instance\" and specifies the use of the labels \"instance_id\" and \"zone\" to identify particular VM instances.Different APIs can support different monitored resource types. APIs generally provide a list method that returns the monitored resource descriptors used by the API.", "type": "object", "properties": { "type": { @@ -734,7 +724,9 @@ "description": "Optional. A concise name for the monitored resource type that might be displayed in user interfaces. It should be a Title Cased Noun Phrase, without any article or other determiners. For example, \"Google Cloud SQL Database\".", "type": "string" } - } + }, + "id": "MonitoredResourceDescriptor", + "description": "An object that describes the schema of a MonitoredResource object using a type name and a set of labels. For example, the monitored resource descriptor for Google Compute Engine VM instances has a type of \"gce_instance\" and specifies the use of the labels \"instance_id\" and \"zone\" to identify particular VM instances.Different APIs can support different monitored resource types. APIs generally provide a list method that returns the monitored resource descriptors used by the API." }, "LogEntrySourceLocation": { "id": "LogEntrySourceLocation", @@ -750,9 +742,9 @@ "type": "string" }, "line": { + "type": "string", "format": "int64", - "description": "Optional. Line within the source file. 1-based; 0 indicates no line number available.", - "type": "string" + "description": "Optional. Line within the source file. 1-based; 0 indicates no line number available." } } }, @@ -763,7 +755,7 @@ "type": "string" }, "entries": { - "description": "A list of log entries.", + "description": "A list of log entries. If entries is empty, nextPageToken may still be returned, indicating that more entries may exist. See nextPageToken for more information.", "items": { "$ref": "LogEntry" }, @@ -773,13 +765,203 @@ "id": "ListLogEntriesResponse", "description": "Result returned from ListLogEntries.", "type": "object" + }, + "LogLine": { + "description": "Application log line emitted while processing a request.", + "type": "object", + "properties": { + "logMessage": { + "description": "App-provided log message.", + "type": "string" + }, + "severity": { + "type": "string", + "enumDescriptions": [ + "(0) The log entry has no assigned severity level.", + "(100) Debug or trace information.", + "(200) Routine information, such as ongoing status or performance.", + "(300) Normal but significant events, such as start up, shut down, or a configuration change.", + "(400) Warning events might cause problems.", + "(500) Error events are likely to cause problems.", + "(600) Critical events cause more severe problems or outages.", + "(700) A person must take an action immediately.", + "(800) One or more systems are unusable." + ], + "enum": [ + "DEFAULT", + "DEBUG", + "INFO", + "NOTICE", + "WARNING", + "ERROR", + "CRITICAL", + "ALERT", + "EMERGENCY" + ], + "description": "Severity of this log entry." + }, + "sourceLocation": { + "$ref": "SourceLocation", + "description": "Where in the source code this log message was written." + }, + "time": { + "type": "string", + "format": "google-datetime", + "description": "Approximate time when this log entry was made." + } + }, + "id": "LogLine" + }, + "Linear": { + "description": "Specifies a linear sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 \u003c= i \u003c N-1): offset + (width * i). Lower bound (1 \u003c= i \u003c N): offset + (width * (i - 1)).", + "type": "object", + "properties": { + "numFiniteBuckets": { + "format": "int32", + "description": "Must be greater than 0.", + "type": "integer" + }, + "width": { + "type": "number", + "format": "double", + "description": "Must be greater than 0." + }, + "offset": { + "format": "double", + "description": "Lower bound of the first bucket.", + "type": "number" + } + }, + "id": "Linear" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance:\nservice Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n}\nThe JSON representation for Empty is empty JSON object {}.", + "type": "object", + "properties": {}, + "id": "Empty" + }, + "SourceLocation": { + "description": "Specifies a location in a source code file.", + "type": "object", + "properties": { + "file": { + "type": "string", + "description": "Source file name. Depending on the runtime environment, this might be a simple name or a fully-qualified name." + }, + "functionName": { + "description": "Human-readable name of the function or method being invoked, with optional context such as the class or package name. This information is used in contexts such as the logs viewer, where a file and line number are less meaningful. The format can vary by language. For example: qual.if.ied.Class.method (Java), dir/package.func (Go), function (Python).", + "type": "string" + }, + "line": { + "format": "int64", + "description": "Line within the source file.", + "type": "string" + } + }, + "id": "SourceLocation" + }, + "ListLogEntriesRequest": { + "properties": { + "orderBy": { + "description": "Optional. How the results should be sorted. Presently, the only permitted values are \"timestamp asc\" (default) and \"timestamp desc\". The first option returns entries in order of increasing values of LogEntry.timestamp (oldest first), and the second option returns entries in order of decreasing timestamps (newest first). Entries with equal timestamps are returned in order of their insert_id values.", + "type": "string" + }, + "resourceNames": { + "description": "Required. Names of one or more parent resources from which to retrieve log entries:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\nProjects listed in the project_ids field are added to this list.", + "items": { + "type": "string" + }, + "type": "array" + }, + "projectIds": { + "description": "Deprecated. Use resource_names instead. One or more project identifiers or project numbers from which to retrieve log entries. Example: \"my-project-1A\". If present, these project identifiers are converted to resource name format and added to the list of resources in resource_names.", + "items": { + "type": "string" + }, + "type": "array" + }, + "filter": { + "description": "Optional. A filter that chooses which log entries to return. See Advanced Logs Filters. Only log entries that match the filter are returned. An empty filter matches all log entries in the resources listed in resource_names. Referencing a parent resource that is not listed in resource_names will cause the filter to return no results. The maximum length of the filter is 20000 characters.", + "type": "string" + }, + "pageToken": { + "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. page_token must be the value of next_page_token from the previous response. The values of other method parameters should be identical to those in the previous call.", + "type": "string" + }, + "pageSize": { + "format": "int32", + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of next_page_token in the response indicates that more results might be available.", + "type": "integer" + } + }, + "id": "ListLogEntriesRequest", + "description": "The parameters to ListLogEntries.", + "type": "object" + }, + "Explicit": { + "description": "Specifies a set of buckets with arbitrary widths.There are size(bounds) + 1 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 \u003c= i \u003c N-1): boundsi Lower bound (1 \u003c= i \u003c N); boundsi - 1The bounds field must contain at least one element. If bounds has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets.", + "type": "object", + "properties": { + "bounds": { + "items": { + "format": "double", + "type": "number" + }, + "type": "array", + "description": "The values must be monotonically increasing." + } + }, + "id": "Explicit" + }, + "SourceReference": { + "description": "A reference to a particular snapshot of the source tree used to build and deploy an application.", + "type": "object", + "properties": { + "revisionId": { + "description": "The canonical and persistent identifier of the deployed revision. Example (git): \"0035781c50ec7aa23385dc841529ce8a4b70db1b\"", + "type": "string" + }, + "repository": { + "type": "string", + "description": "Optional. A URI string identifying the repository. Example: \"https://github.com/GoogleCloudPlatform/kubernetes.git\"" + } + }, + "id": "SourceReference" + }, + "WriteLogEntriesResponse": { + "id": "WriteLogEntriesResponse", + "description": "Result returned from WriteLogEntries. empty", + "type": "object", + "properties": {} + }, + "Exponential": { + "description": "Specifies an exponential sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 \u003c= i \u003c N-1): scale * (growth_factor ^ i). Lower bound (1 \u003c= i \u003c N): scale * (growth_factor ^ (i - 1)).", + "type": "object", + "properties": { + "numFiniteBuckets": { + "format": "int32", + "description": "Must be greater than 0.", + "type": "integer" + }, + "growthFactor": { + "format": "double", + "description": "Must be greater than 1.", + "type": "number" + }, + "scale": { + "format": "double", + "description": "Must be greater than 0.", + "type": "number" + } + }, + "id": "Exponential" } }, - "protocol": "rest", "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.gif" }, + "protocol": "rest", "canonicalName": "Logging", "auth": { "oauth2": { @@ -806,428 +988,28 @@ "ownerDomain": "google.com", "name": "logging", "batchPath": "batch", + "fullyEncodeReservedExpansion": true, "title": "Stackdriver Logging API", "ownerName": "Google", "resources": { - "projects": { - "resources": { - "metrics": { - "methods": { - "delete": { - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "metricName" - ], - "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.write" - ], - "parameters": { - "metricName": { - "description": "The resource name of the metric to delete:\n\"projects/[PROJECT_ID]/metrics/[METRIC_ID]\"\n", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/metrics/[^/]+$", - "location": "path" - } - }, - "flatPath": "v2beta1/projects/{projectsId}/metrics/{metricsId}", - "id": "logging.projects.metrics.delete", - "path": "v2beta1/{+metricName}", - "description": "Deletes a logs-based metric." - }, - "get": { - "response": { - "$ref": "LogMetric" - }, - "parameterOrder": [ - "metricName" - ], - "httpMethod": "GET", - "parameters": { - "metricName": { - "description": "The resource name of the desired metric:\n\"projects/[PROJECT_ID]/metrics/[METRIC_ID]\"\n", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/metrics/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.read" - ], - "flatPath": "v2beta1/projects/{projectsId}/metrics/{metricsId}", - "id": "logging.projects.metrics.get", - "path": "v2beta1/{+metricName}", - "description": "Gets a logs-based metric." - }, - "list": { - "httpMethod": "GET", - "response": { - "$ref": "ListLogMetricsResponse" - }, - "parameterOrder": [ - "parent" - ], - "parameters": { - "pageToken": { - "location": "query", - "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", - "type": "string" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", - "type": "integer" - }, - "parent": { - "description": "Required. The name of the project containing the metrics:\n\"projects/[PROJECT_ID]\"\n", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.read" - ], - "flatPath": "v2beta1/projects/{projectsId}/metrics", - "path": "v2beta1/{+parent}/metrics", - "id": "logging.projects.metrics.list", - "description": "Lists logs-based metrics." - }, - "update": { - "httpMethod": "PUT", - "parameterOrder": [ - "metricName" - ], - "response": { - "$ref": "LogMetric" - }, - "parameters": { - "metricName": { - "location": "path", - "description": "The resource name of the metric to update:\n\"projects/[PROJECT_ID]/metrics/[METRIC_ID]\"\nThe updated metric must be provided in the request and it's name field must be the same as [METRIC_ID] If the metric does not exist in [PROJECT_ID], then a new metric is created.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/metrics/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.write" - ], - "flatPath": "v2beta1/projects/{projectsId}/metrics/{metricsId}", - "path": "v2beta1/{+metricName}", - "id": "logging.projects.metrics.update", - "description": "Creates or updates a logs-based metric.", - "request": { - "$ref": "LogMetric" - } - }, - "create": { - "request": { - "$ref": "LogMetric" - }, - "description": "Creates a logs-based metric.", - "response": { - "$ref": "LogMetric" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.write" - ], - "parameters": { - "parent": { - "description": "The resource name of the project in which to create the metric:\n\"projects/[PROJECT_ID]\"\nThe new metric must be provided in the request.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path" - } - }, - "flatPath": "v2beta1/projects/{projectsId}/metrics", - "id": "logging.projects.metrics.create", - "path": "v2beta1/{+parent}/metrics" - } - } - }, - "sinks": { - "methods": { - "get": { - "response": { - "$ref": "LogSink" - }, - "parameterOrder": [ - "sinkName" - ], - "httpMethod": "GET", - "parameters": { - "sinkName": { - "description": "Required. The resource name of the sink:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/sinks/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.read" - ], - "flatPath": "v2beta1/projects/{projectsId}/sinks/{sinksId}", - "id": "logging.projects.sinks.get", - "path": "v2beta1/{+sinkName}", - "description": "Gets a sink." - }, - "list": { - "response": { - "$ref": "ListSinksResponse" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.read" - ], - "parameters": { - "pageToken": { - "location": "query", - "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", - "type": "string" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", - "type": "integer" - }, - "parent": { - "location": "path", - "description": "Required. The parent resource whose sinks are to be listed:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$" - } - }, - "flatPath": "v2beta1/projects/{projectsId}/sinks", - "id": "logging.projects.sinks.list", - "path": "v2beta1/{+parent}/sinks", - "description": "Lists sinks." - }, - "update": { - "request": { - "$ref": "LogSink" - }, - "description": "Updates a sink. If the named sink doesn't exist, then this method is identical to sinks.create. If the named sink does exist, then this method replaces the following fields in the existing sink with values from the new sink: destination, filter, output_version_format, start_time, and end_time. The updated filter might also have a new writer_identity; see the unique_writer_identity field.", - "response": { - "$ref": "LogSink" - }, - "parameterOrder": [ - "sinkName" - ], - "httpMethod": "PUT", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin" - ], - "parameters": { - "uniqueWriterIdentity": { - "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is set to false or defaulted to false.", - "type": "boolean", - "location": "query" - }, - "sinkName": { - "pattern": "^projects/[^/]+/sinks/[^/]+$", - "location": "path", - "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", - "type": "string", - "required": true - } - }, - "flatPath": "v2beta1/projects/{projectsId}/sinks/{sinksId}", - "id": "logging.projects.sinks.update", - "path": "v2beta1/{+sinkName}" - }, - "create": { - "response": { - "$ref": "LogSink" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin" - ], - "parameters": { - "uniqueWriterIdentity": { - "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Stackdriver Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink.", - "type": "boolean", - "location": "query" - }, - "parent": { - "pattern": "^projects/[^/]+$", - "location": "path", - "description": "Required. The resource in which to create the sink:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\nExamples: \"projects/my-logging-project\", \"organizations/123456789\".", - "type": "string", - "required": true - } - }, - "flatPath": "v2beta1/projects/{projectsId}/sinks", - "id": "logging.projects.sinks.create", - "path": "v2beta1/{+parent}/sinks", - "request": { - "$ref": "LogSink" - }, - "description": "Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the current time is outside the sink's start and end times or the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink." - }, - "delete": { - "description": "Deletes a sink. If the sink has a unique writer_identity, then that service account is also deleted.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "sinkName" - ], - "httpMethod": "DELETE", - "parameters": { - "sinkName": { - "description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/sinks/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin" - ], - "flatPath": "v2beta1/projects/{projectsId}/sinks/{sinksId}", - "id": "logging.projects.sinks.delete", - "path": "v2beta1/{+sinkName}" - } - } - }, - "logs": { - "methods": { - "delete": { - "id": "logging.projects.logs.delete", - "path": "v2beta1/{+logName}", - "description": "Deletes all the log entries in a log. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "logName" - ], - "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin" - ], - "parameters": { - "logName": { - "location": "path", - "description": "Required. The resource name of the log to delete:\n\"projects/[PROJECT_ID]/logs/[LOG_ID]\"\n\"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\"\n\"folders/[FOLDER_ID]/logs/[LOG_ID]\"\n[LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". For more information about log names, see LogEntry.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/logs/[^/]+$" - } - }, - "flatPath": "v2beta1/projects/{projectsId}/logs/{logsId}" - }, - "list": { - "response": { - "$ref": "ListLogsResponse" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "GET", - "parameters": { - "pageToken": { - "location": "query", - "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", - "type": "string" - }, - "pageSize": { - "format": "int32", - "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", - "type": "integer", - "location": "query" - }, - "parent": { - "pattern": "^projects/[^/]+$", - "location": "path", - "description": "Required. The resource name that owns the logs:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.read" - ], - "flatPath": "v2beta1/projects/{projectsId}/logs", - "id": "logging.projects.logs.list", - "path": "v2beta1/{+parent}/logs", - "description": "Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed." - } - } - } - } - }, "billingAccounts": { "resources": { "logs": { "methods": { "list": { - "httpMethod": "GET", - "parameterOrder": [ - "parent" - ], + "description": "Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.", "response": { "$ref": "ListLogsResponse" }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.read" + "parameterOrder": [ + "parent" ], + "httpMethod": "GET", "parameters": { "pageToken": { + "location": "query", "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", - "type": "string", - "location": "query" + "type": "string" }, "pageSize": { "format": "int32", @@ -1236,42 +1018,47 @@ "location": "query" }, "parent": { + "location": "path", "description": "Required. The resource name that owns the logs:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", "type": "string", "required": true, - "pattern": "^billingAccounts/[^/]+$", - "location": "path" + "pattern": "^billingAccounts/[^/]+$" } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], "flatPath": "v2beta1/billingAccounts/{billingAccountsId}/logs", - "path": "v2beta1/{+parent}/logs", "id": "logging.billingAccounts.logs.list", - "description": "Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed." + "path": "v2beta1/{+parent}/logs" }, "delete": { + "httpMethod": "DELETE", "response": { "$ref": "Empty" }, "parameterOrder": [ "logName" ], - "httpMethod": "DELETE", + "parameters": { + "logName": { + "location": "path", + "description": "Required. The resource name of the log to delete:\n\"projects/[PROJECT_ID]/logs/[LOG_ID]\"\n\"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\"\n\"folders/[FOLDER_ID]/logs/[LOG_ID]\"\n[LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". For more information about log names, see LogEntry.", + "type": "string", + "required": true, + "pattern": "^billingAccounts/[^/]+/logs/[^/]+$" + } + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/logging.admin" ], - "parameters": { - "logName": { - "pattern": "^billingAccounts/[^/]+/logs/[^/]+$", - "location": "path", - "description": "Required. The resource name of the log to delete:\n\"projects/[PROJECT_ID]/logs/[LOG_ID]\"\n\"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\"\n\"folders/[FOLDER_ID]/logs/[LOG_ID]\"\n[LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". For more information about log names, see LogEntry.", - "type": "string", - "required": true - } - }, "flatPath": "v2beta1/billingAccounts/{billingAccountsId}/logs/{logsId}", - "id": "logging.billingAccounts.logs.delete", "path": "v2beta1/{+logName}", + "id": "logging.billingAccounts.logs.delete", "description": "Deletes all the log entries in a log. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted." } } @@ -1282,15 +1069,21 @@ "methods": { "list": { "httpMethod": "GET", + "parameterOrder": [], "response": { "$ref": "ListMonitoredResourceDescriptorsResponse" }, - "parameterOrder": [], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], "parameters": { "pageToken": { - "type": "string", "location": "query", - "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call." + "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", + "type": "string" }, "pageSize": { "format": "int32", @@ -1299,12 +1092,6 @@ "location": "query" } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.read" - ], "flatPath": "v2beta1/monitoredResourceDescriptors", "path": "v2beta1/monitoredResourceDescriptors", "id": "logging.monitoredResourceDescriptors.list", @@ -1317,21 +1104,20 @@ "logs": { "methods": { "delete": { - "description": "Deletes all the log entries in a log. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted.", "httpMethod": "DELETE", - "response": { - "$ref": "Empty" - }, "parameterOrder": [ "logName" ], + "response": { + "$ref": "Empty" + }, "parameters": { "logName": { - "location": "path", "description": "Required. The resource name of the log to delete:\n\"projects/[PROJECT_ID]/logs/[LOG_ID]\"\n\"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\"\n\"folders/[FOLDER_ID]/logs/[LOG_ID]\"\n[LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". For more information about log names, see LogEntry.", "type": "string", "required": true, - "pattern": "^organizations/[^/]+/logs/[^/]+$" + "pattern": "^organizations/[^/]+/logs/[^/]+$", + "location": "path" } }, "scopes": [ @@ -1340,12 +1126,299 @@ ], "flatPath": "v2beta1/organizations/{organizationsId}/logs/{logsId}", "path": "v2beta1/{+logName}", - "id": "logging.organizations.logs.delete" + "id": "logging.organizations.logs.delete", + "description": "Deletes all the log entries in a log. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted." }, "list": { "flatPath": "v2beta1/organizations/{organizationsId}/logs", - "id": "logging.organizations.logs.list", "path": "v2beta1/{+parent}/logs", + "id": "logging.organizations.logs.list", + "description": "Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.", + "httpMethod": "GET", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "ListLogsResponse" + }, + "parameters": { + "pageToken": { + "location": "query", + "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", + "type": "string" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", + "type": "integer" + }, + "parent": { + "location": "path", + "description": "Required. The resource name that owns the logs:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", + "type": "string", + "required": true, + "pattern": "^organizations/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ] + } + } + } + } + }, + "entries": { + "methods": { + "list": { + "response": { + "$ref": "ListLogEntriesResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "parameters": {}, + "flatPath": "v2beta1/entries:list", + "id": "logging.entries.list", + "path": "v2beta1/entries:list", + "request": { + "$ref": "ListLogEntriesRequest" + }, + "description": "Lists log entries. Use this method to retrieve log entries from Stackdriver Logging. For ways to export log entries, see Exporting Logs." + }, + "write": { + "flatPath": "v2beta1/entries:write", + "id": "logging.entries.write", + "path": "v2beta1/entries:write", + "request": { + "$ref": "WriteLogEntriesRequest" + }, + "description": "Log entry resourcesWrites log entries to Stackdriver Logging. This API method is the only way to send log entries to Stackdriver Logging. This method is used, directly or indirectly, by the Stackdriver Logging agent (fluentd) and all logging libraries configured to use Stackdriver Logging.", + "response": { + "$ref": "WriteLogEntriesResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.write" + ], + "parameters": {} + } + } + }, + "projects": { + "resources": { + "sinks": { + "methods": { + "get": { + "httpMethod": "GET", + "response": { + "$ref": "LogSink" + }, + "parameterOrder": [ + "sinkName" + ], + "parameters": { + "sinkName": { + "pattern": "^projects/[^/]+/sinks/[^/]+$", + "location": "path", + "description": "Required. The resource name of the sink:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "flatPath": "v2beta1/projects/{projectsId}/sinks/{sinksId}", + "path": "v2beta1/{+sinkName}", + "id": "logging.projects.sinks.get", + "description": "Gets a sink." + }, + "list": { + "path": "v2beta1/{+parent}/sinks", + "id": "logging.projects.sinks.list", + "description": "Lists sinks.", + "httpMethod": "GET", + "response": { + "$ref": "ListSinksResponse" + }, + "parameterOrder": [ + "parent" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "parameters": { + "pageToken": { + "location": "query", + "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", + "type": "string" + }, + "pageSize": { + "format": "int32", + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", + "type": "integer", + "location": "query" + }, + "parent": { + "description": "Required. The parent resource whose sinks are to be listed:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + } + }, + "flatPath": "v2beta1/projects/{projectsId}/sinks" + }, + "update": { + "id": "logging.projects.sinks.update", + "path": "v2beta1/{+sinkName}", + "request": { + "$ref": "LogSink" + }, + "description": "Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: destination, and filter. The updated sink might also have a new writer_identity; see the unique_writer_identity field.", + "response": { + "$ref": "LogSink" + }, + "parameterOrder": [ + "sinkName" + ], + "httpMethod": "PUT", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "parameters": { + "updateMask": { + "type": "string", + "location": "query", + "format": "google-fieldmask", + "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: updateMask=filter." + }, + "uniqueWriterIdentity": { + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is set to false or defaulted to false.", + "type": "boolean", + "location": "query" + }, + "sinkName": { + "location": "path", + "description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/sinks/[^/]+$" + } + }, + "flatPath": "v2beta1/projects/{projectsId}/sinks/{sinksId}" + }, + "create": { + "response": { + "$ref": "LogSink" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "parameters": { + "parent": { + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "Required. The resource in which to create the sink:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\nExamples: \"projects/my-logging-project\", \"organizations/123456789\".", + "type": "string", + "required": true + }, + "uniqueWriterIdentity": { + "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Stackdriver Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a unique service account used only for exports from the new sink. For more information, see writer_identity in LogSink.", + "type": "boolean", + "location": "query" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "flatPath": "v2beta1/projects/{projectsId}/sinks", + "id": "logging.projects.sinks.create", + "path": "v2beta1/{+parent}/sinks", + "description": "Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.", + "request": { + "$ref": "LogSink" + } + }, + "delete": { + "description": "Deletes a sink. If the sink has a unique writer_identity, then that service account is also deleted.", + "httpMethod": "DELETE", + "parameterOrder": [ + "sinkName" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "parameters": { + "sinkName": { + "description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier:\n\"projects/[PROJECT_ID]/sinks/[SINK_ID]\"\n\"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\"\n\"folders/[FOLDER_ID]/sinks/[SINK_ID]\"\nExample: \"projects/my-project-id/sinks/my-sink-id\".", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/sinks/[^/]+$", + "location": "path" + } + }, + "flatPath": "v2beta1/projects/{projectsId}/sinks/{sinksId}", + "path": "v2beta1/{+sinkName}", + "id": "logging.projects.sinks.delete" + } + } + }, + "logs": { + "methods": { + "delete": { + "description": "Deletes all the log entries in a log. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted.", + "httpMethod": "DELETE", + "parameterOrder": [ + "logName" + ], + "response": { + "$ref": "Empty" + }, + "parameters": { + "logName": { + "pattern": "^projects/[^/]+/logs/[^/]+$", + "location": "path", + "description": "Required. The resource name of the log to delete:\n\"projects/[PROJECT_ID]/logs/[LOG_ID]\"\n\"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\"\n\"folders/[FOLDER_ID]/logs/[LOG_ID]\"\n[LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". For more information about log names, see LogEntry.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ], + "flatPath": "v2beta1/projects/{projectsId}/logs/{logsId}", + "path": "v2beta1/{+logName}", + "id": "logging.projects.logs.delete" + }, + "list": { "description": "Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.", "response": { "$ref": "ListLogsResponse" @@ -1354,6 +1427,103 @@ "parent" ], "httpMethod": "GET", + "parameters": { + "parent": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "Required. The resource name that owns the logs:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n" + }, + "pageToken": { + "location": "query", + "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", + "type": "string" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", + "type": "integer" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "flatPath": "v2beta1/projects/{projectsId}/logs", + "id": "logging.projects.logs.list", + "path": "v2beta1/{+parent}/logs" + } + } + }, + "metrics": { + "methods": { + "delete": { + "httpMethod": "DELETE", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "metricName" + ], + "parameters": { + "metricName": { + "description": "The resource name of the metric to delete:\n\"projects/[PROJECT_ID]/metrics/[METRIC_ID]\"\n", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/metrics/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.write" + ], + "flatPath": "v2beta1/projects/{projectsId}/metrics/{metricsId}", + "path": "v2beta1/{+metricName}", + "id": "logging.projects.metrics.delete", + "description": "Deletes a logs-based metric." + }, + "get": { + "description": "Gets a logs-based metric.", + "httpMethod": "GET", + "parameterOrder": [ + "metricName" + ], + "response": { + "$ref": "LogMetric" + }, + "parameters": { + "metricName": { + "pattern": "^projects/[^/]+/metrics/[^/]+$", + "location": "path", + "description": "The resource name of the desired metric:\n\"projects/[PROJECT_ID]/metrics/[METRIC_ID]\"\n", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ], + "flatPath": "v2beta1/projects/{projectsId}/metrics/{metricsId}", + "path": "v2beta1/{+metricName}", + "id": "logging.projects.metrics.get" + }, + "list": { + "response": { + "$ref": "ListLogMetricsResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only", @@ -1361,11 +1531,6 @@ "https://www.googleapis.com/auth/logging.read" ], "parameters": { - "pageToken": { - "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", - "type": "string", - "location": "query" - }, "pageSize": { "location": "query", "format": "int32", @@ -1373,159 +1538,174 @@ "type": "integer" }, "parent": { - "description": "Required. The resource name that owns the logs:\n\"projects/[PROJECT_ID]\"\n\"organizations/[ORGANIZATION_ID]\"\n\"billingAccounts/[BILLING_ACCOUNT_ID]\"\n\"folders/[FOLDER_ID]\"\n", + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "Required. The name of the project containing the metrics:\n\"projects/[PROJECT_ID]\"\n", + "type": "string", + "required": true + }, + "pageToken": { + "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", + "type": "string", + "location": "query" + } + }, + "flatPath": "v2beta1/projects/{projectsId}/metrics", + "id": "logging.projects.metrics.list", + "path": "v2beta1/{+parent}/metrics", + "description": "Lists logs-based metrics." + }, + "update": { + "request": { + "$ref": "LogMetric" + }, + "description": "Creates or updates a logs-based metric.", + "httpMethod": "PUT", + "parameterOrder": [ + "metricName" + ], + "response": { + "$ref": "LogMetric" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.write" + ], + "parameters": { + "metricName": { + "description": "The resource name of the metric to update:\n\"projects/[PROJECT_ID]/metrics/[METRIC_ID]\"\nThe updated metric must be provided in the request and it's name field must be the same as [METRIC_ID] If the metric does not exist in [PROJECT_ID], then a new metric is created.", "type": "string", "required": true, - "pattern": "^organizations/[^/]+$", + "pattern": "^projects/[^/]+/metrics/[^/]+$", "location": "path" } - } + }, + "flatPath": "v2beta1/projects/{projectsId}/metrics/{metricsId}", + "path": "v2beta1/{+metricName}", + "id": "logging.projects.metrics.update" + }, + "create": { + "description": "Creates a logs-based metric.", + "request": { + "$ref": "LogMetric" + }, + "httpMethod": "POST", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "LogMetric" + }, + "parameters": { + "parent": { + "description": "The resource name of the project in which to create the metric:\n\"projects/[PROJECT_ID]\"\nThe new metric must be provided in the request.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.write" + ], + "flatPath": "v2beta1/projects/{projectsId}/metrics", + "path": "v2beta1/{+parent}/metrics", + "id": "logging.projects.metrics.create" } } } } - }, - "entries": { - "methods": { - "list": { - "flatPath": "v2beta1/entries:list", - "path": "v2beta1/entries:list", - "id": "logging.entries.list", - "request": { - "$ref": "ListLogEntriesRequest" - }, - "description": "Lists log entries. Use this method to retrieve log entries from Stackdriver Logging. For ways to export log entries, see Exporting Logs.", - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "ListLogEntriesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.read" - ], - "parameters": {} - }, - "write": { - "response": { - "$ref": "WriteLogEntriesResponse" - }, - "parameterOrder": [], - "httpMethod": "POST", - "parameters": {}, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/logging.admin", - "https://www.googleapis.com/auth/logging.write" - ], - "flatPath": "v2beta1/entries:write", - "id": "logging.entries.write", - "path": "v2beta1/entries:write", - "description": "Writes log entries to Stackdriver Logging.", - "request": { - "$ref": "WriteLogEntriesRequest" - } - } - } } }, "parameters": { - "uploadType": { - "type": "string", - "location": "query", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")." - }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "type": "string", - "location": "query" - }, - "$.xgafv": { - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" - ], - "description": "V1 error format.", - "type": "string" - }, - "callback": { - "description": "JSONP", - "type": "string", - "location": "query" - }, - "alt": { - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query", - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], - "type": "string" - }, - "access_token": { - "location": "query", - "description": "OAuth access token.", - "type": "string" - }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, "quotaUser": { - "location": "query", "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" + "type": "string", + "location": "query" }, "pp": { - "default": "true", - "type": "boolean", "location": "query", - "description": "Pretty-print response." + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", + "location": "query" }, "bearer_token": { "location": "query", "description": "OAuth bearer token.", "type": "string" }, - "oauth_token": { - "location": "query", - "description": "OAuth 2.0 token for the current user.", - "type": "string" - }, "upload_protocol": { "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "type": "string", "location": "query" }, "prettyPrint": { + "description": "Returns response with indentations and line breaks.", "default": "true", "type": "boolean", + "location": "query" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string", + "location": "query" + }, + "fields": { + "type": "string", "location": "query", - "description": "Returns response with indentations and line breaks." + "description": "Selector specifying which fields to include in a partial response." + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, + "$.xgafv": { + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + }, + "alt": { + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query" + }, + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", + "location": "query" } - }, - "version": "v2beta1", - "baseUrl": "https://logging.googleapis.com/", - "kind": "discovery#restDescription", - "description": "Writes log entries and manages your Stackdriver Logging configuration.", - "servicePath": "", - "basePath": "", - "id": "logging:v2beta1", - "documentationLink": "https://cloud.google.com/logging/docs/", - "revision": "20170626" + } } diff --git a/vendor/google.golang.org/api/logging/v2beta1/logging-gen.go b/vendor/google.golang.org/api/logging/v2beta1/logging-gen.go index c2b4de7ad..047739635 100644 --- a/vendor/google.golang.org/api/logging/v2beta1/logging-gen.go +++ b/vendor/google.golang.org/api/logging/v2beta1/logging-gen.go @@ -204,6 +204,55 @@ type ProjectsSinksService struct { s *Service } +// BucketOptions: BucketOptions describes the bucket boundaries used to +// create a histogram for the distribution. The buckets can be in a +// linear sequence, an exponential sequence, or each bucket can be +// specified explicitly. BucketOptions does not include the number of +// values in each bucket.A bucket has an inclusive lower bound and +// exclusive upper bound for the values that are counted for that +// bucket. The upper bound of a bucket must be strictly greater than the +// lower bound. The sequence of N buckets for a distribution consists of +// an underflow bucket (number 0), zero or more finite buckets (number 1 +// through N - 2) and an overflow bucket (number N - 1). The buckets are +// contiguous: the lower bound of bucket i (i > 0) is the same as the +// upper bound of bucket i - 1. The buckets span the whole range of +// finite values: lower bound of the underflow bucket is -infinity and +// the upper bound of the overflow bucket is +infinity. The finite +// buckets are so-called because both bounds are finite. +type BucketOptions struct { + // ExplicitBuckets: The explicit buckets. + ExplicitBuckets *Explicit `json:"explicitBuckets,omitempty"` + + // ExponentialBuckets: The exponential buckets. + ExponentialBuckets *Exponential `json:"exponentialBuckets,omitempty"` + + // LinearBuckets: The linear bucket. + LinearBuckets *Linear `json:"linearBuckets,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ExplicitBuckets") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ExplicitBuckets") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *BucketOptions) MarshalJSON() ([]byte, error) { + type noMethod BucketOptions + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Empty: A generic empty message that you can re-use to avoid defining // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For @@ -219,6 +268,96 @@ type Empty struct { googleapi.ServerResponse `json:"-"` } +// Explicit: Specifies a set of buckets with arbitrary widths.There are +// size(bounds) + 1 (= N) buckets. Bucket i has the following +// boundaries:Upper bound (0 <= i < N-1): boundsi Lower bound (1 <= i < +// N); boundsi - 1The bounds field must contain at least one element. If +// bounds has only one element, then there are no finite buckets, and +// that single element is the common boundary of the overflow and +// underflow buckets. +type Explicit struct { + // Bounds: The values must be monotonically increasing. + Bounds []float64 `json:"bounds,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Bounds") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Bounds") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Explicit) MarshalJSON() ([]byte, error) { + type noMethod Explicit + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Exponential: Specifies an exponential sequence of buckets that have a +// width that is proportional to the value of the lower bound. Each +// bucket represents a constant relative uncertainty on a specific value +// in the bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket +// i has the following boundaries:Upper bound (0 <= i < N-1): scale * +// (growth_factor ^ i). Lower bound (1 <= i < N): scale * +// (growth_factor ^ (i - 1)). +type Exponential struct { + // GrowthFactor: Must be greater than 1. + GrowthFactor float64 `json:"growthFactor,omitempty"` + + // NumFiniteBuckets: Must be greater than 0. + NumFiniteBuckets int64 `json:"numFiniteBuckets,omitempty"` + + // Scale: Must be greater than 0. + Scale float64 `json:"scale,omitempty"` + + // ForceSendFields is a list of field names (e.g. "GrowthFactor") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "GrowthFactor") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Exponential) MarshalJSON() ([]byte, error) { + type noMethod Exponential + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *Exponential) UnmarshalJSON(data []byte) error { + type noMethod Exponential + var s1 struct { + GrowthFactor gensupport.JSONFloat64 `json:"growthFactor"` + Scale gensupport.JSONFloat64 `json:"scale"` + *noMethod + } + s1.noMethod = (*noMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.GrowthFactor = float64(s1.GrowthFactor) + s.Scale = float64(s1.Scale) + return nil +} + // HttpRequest: A common proto for logging HTTP requests. Only contains // semantics defined by the HTTP specification. Product-specific logging // information MUST be defined in a separate message. @@ -243,6 +382,10 @@ type HttpRequest struct { // the request was received until the response was sent. Latency string `json:"latency,omitempty"` + // Protocol: Protocol used for the request. Examples: "HTTP/1.1", + // "HTTP/2", "websocket" + Protocol string `json:"protocol,omitempty"` + // Referer: The referer URL of the request, as defined in HTTP/1.1 // Header Field Definitions // (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). @@ -345,6 +488,62 @@ func (s *LabelDescriptor) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Linear: Specifies a linear sequence of buckets that all have the same +// width (except overflow and underflow). Each bucket represents a +// constant absolute uncertainty on the specific value in the +// bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket i has +// the following boundaries:Upper bound (0 <= i < N-1): offset + (width +// * i). Lower bound (1 <= i < N): offset + (width * (i - 1)). +type Linear struct { + // NumFiniteBuckets: Must be greater than 0. + NumFiniteBuckets int64 `json:"numFiniteBuckets,omitempty"` + + // Offset: Lower bound of the first bucket. + Offset float64 `json:"offset,omitempty"` + + // Width: Must be greater than 0. + Width float64 `json:"width,omitempty"` + + // ForceSendFields is a list of field names (e.g. "NumFiniteBuckets") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "NumFiniteBuckets") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Linear) MarshalJSON() ([]byte, error) { + type noMethod Linear + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *Linear) UnmarshalJSON(data []byte) error { + type noMethod Linear + var s1 struct { + Offset gensupport.JSONFloat64 `json:"offset"` + Width gensupport.JSONFloat64 `json:"width"` + *noMethod + } + s1.noMethod = (*noMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Offset = float64(s1.Offset) + s.Width = float64(s1.Width) + return nil +} + // ListLogEntriesRequest: The parameters to ListLogEntries. type ListLogEntriesRequest struct { // Filter: Optional. A filter that chooses which log entries to return. @@ -420,7 +619,9 @@ func (s *ListLogEntriesRequest) MarshalJSON() ([]byte, error) { // ListLogEntriesResponse: Result returned from ListLogEntries. type ListLogEntriesResponse struct { - // Entries: A list of log entries. + // Entries: A list of log entries. If entries is empty, nextPageToken + // may still be returned, indicating that more entries may exist. See + // nextPageToken for more information. Entries []*LogEntry `json:"entries,omitempty"` // NextPageToken: If there might be more results than those appearing in @@ -627,9 +828,9 @@ type LogEntry struct { // provide a value, then Stackdriver Logging considers other log entries // in the same project, with the same timestamp, and with the same // insert_id to be duplicates which can be removed. If omitted in new - // log entries, then Stackdriver Logging will insert its own unique - // identifier. The insert_id is used to order log entries that have the - // same timestamp value. + // log entries, then Stackdriver Logging assigns its own unique + // identifier. The insert_id is also used to order log entries that have + // the same timestamp value. InsertId string `json:"insertId,omitempty"` // JsonPayload: The log entry payload, represented as a structure that @@ -649,7 +850,10 @@ type LogEntry struct { // "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[L // OG_ID]" // "folders/[FOLDER_ID]/logs/[LOG_ID]" - // [LOG_ID] must be URL-encoded within log_name. Example: + // A project number may optionally be used in place of PROJECT_ID. The + // project number is translated to its corresponding PROJECT_ID + // internally and the log_name field will contain PROJECT_ID in queries + // and exports.[LOG_ID] must be URL-encoded within log_name. Example: // "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Fa // ctivity". [LOG_ID] must be less than 512 characters long and can only // include the following characters: upper and lower case alphanumeric @@ -707,10 +911,12 @@ type LogEntry struct { TextPayload string `json:"textPayload,omitempty"` // Timestamp: Optional. The time the event described by the log entry - // occurred. If omitted in a new log entry, Stackdriver Logging will - // insert the time the log entry is received. Stackdriver Logging might - // reject log entries whose time stamps are more than a couple of hours - // in the future. Log entries with time stamps in the past are accepted. + // occurred. This time is used to compute the log entry's age and to + // enforce the logs retention period. If this field is omitted in a new + // log entry, then Stackdriver Logging assigns it the current + // time.Incoming log entries should have timestamps that are no more + // than the logs retention period in the past, and no more than 24 hours + // in the future. See the entries.write API method for more information. Timestamp string `json:"timestamp,omitempty"` // Trace: Optional. Resource name of the trace associated with the log @@ -881,8 +1087,17 @@ func (s *LogLine) MarshalJSON() ([]byte, error) { // LogMetric: Describes a logs-based metric. The value of the metric is // the number of log entries that match a logs filter in a given time -// interval. +// interval.Logs-based metric can also be used to extract values from +// logs and create a a distribution of the values. The distribution +// records the statistics of the extracted values along with an optional +// histogram of the values as specified by the bucket options. type LogMetric struct { + // BucketOptions: Optional. The bucket_options are required when the + // logs-based metric is using a DISTRIBUTION value type and it describes + // the bucket boundaries used to create a histogram of the extracted + // values. + BucketOptions *BucketOptions `json:"bucketOptions,omitempty"` + // Description: Optional. A description of this metric, which is used in // documentation. Description string `json:"description,omitempty"` @@ -893,6 +1108,38 @@ type LogMetric struct { // The maximum length of the filter is 20000 characters. Filter string `json:"filter,omitempty"` + // LabelExtractors: Optional. A map from a label key string to an + // extractor expression which is used to extract data from a log entry + // field and assign as the label value. Each label key specified in the + // LabelDescriptor must have an associated extractor expression in this + // map. The syntax of the extractor expression is the same as for the + // value_extractor field.The extracted value is converted to the type + // defined in the label descriptor. If the either the extraction or the + // type conversion fails, the label will have a default value. The + // default value for a string label is an empty string, for an integer + // label its 0, and for a boolean label its false.Note that there are + // upper bounds on the maximum number of labels and the number of active + // time series that are allowed in a project. + LabelExtractors map[string]string `json:"labelExtractors,omitempty"` + + // MetricDescriptor: Optional. The metric descriptor associated with the + // logs-based metric. If unspecified, it uses a default metric + // descriptor with a DELTA metric kind, INT64 value type, with no labels + // and a unit of "1". Such a metric counts the number of log entries + // matching the filter expression.The name, type, and description fields + // in the metric_descriptor are output only, and is constructed using + // the name and description field in the LogMetric.To create a + // logs-based metric that records a distribution of log values, a DELTA + // metric kind with a DISTRIBUTION value type must be used along with a + // value_extractor expression in the LogMetric.Each label in the metric + // descriptor must have a matching label name as the key and an + // extractor expression as the value in the label_extractors map.The + // metric_kind and value_type fields in the metric_descriptor cannot be + // updated once initially configured. New labels can be added in the + // metric_descriptor, but existing labels cannot be modified except for + // their description. + MetricDescriptor *MetricDescriptor `json:"metricDescriptor,omitempty"` + // Name: Required. The client-assigned metric identifier. Examples: // "error_count", "nginx/requests".Metric identifiers are limited to 100 // characters and can include only the following characters: A-Z, a-z, @@ -906,10 +1153,26 @@ type LogMetric struct { // Example: "projects/my-project/metrics/nginx%2Frequests". Name string `json:"name,omitempty"` - // Version: Output only. The API version that created or updated this - // metric. The version also dictates the syntax of the filter - // expression. When a value for this field is missing, the default value - // of V2 should be assumed. + // ValueExtractor: Optional. A value_extractor is required when using a + // distribution logs-based metric to extract the values to record from a + // log entry. Two functions are supported for value extraction: + // EXTRACT(field) or REGEXP_EXTRACT(field, regex). The argument are: 1. + // field: The name of the log entry field from which the value is to be + // extracted. 2. regex: A regular expression using the Google RE2 + // syntax (https://github.com/google/re2/wiki/Syntax) with a single + // capture group to extract data from the specified log entry field. + // The value of the field is converted to a string before applying the + // regex. It is an error to specify a regex that does not include + // exactly one capture group.The result of the extraction must be + // convertible to a double type, as the distribution always records + // double values. If either the extraction or the conversion to double + // fails, then those values are not recorded in the + // distribution.Example: REGEXP_EXTRACT(jsonPayload.request, + // ".*quantity=(\d+).*") + ValueExtractor string `json:"valueExtractor,omitempty"` + + // Version: Deprecated. The API version that created or updated this + // metric. The v2 format is used by default and cannot be changed. // // Possible values: // "V2" - Stackdriver Logging API v2. @@ -920,7 +1183,7 @@ type LogMetric struct { // server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "Description") to + // ForceSendFields is a list of field names (e.g. "BucketOptions") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -928,7 +1191,7 @@ type LogMetric struct { // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Description") to include + // NullFields is a list of field names (e.g. "BucketOptions") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as @@ -961,18 +1224,14 @@ type LogSink struct { // not exported. For more information, see Exporting Logs With Sinks. Destination string `json:"destination,omitempty"` - // EndTime: Optional. The time at which this sink will stop exporting - // log entries. Log entries are exported only if their timestamp is - // earlier than the end time. If this field is not supplied, there is no - // end time. If both a start time and an end time are provided, then the - // end time must be later than the start time. + // EndTime: Deprecated. This field is ignored when creating or updating + // sinks. EndTime string `json:"endTime,omitempty"` // Filter: Optional. An advanced logs filter. The only exported log // entries are those that are in the resource owning the sink and that - // match the filter. The filter must use the log entry format specified - // by the output_version_format parameter. For example, in the v2 - // format: + // match the filter. For + // example: // logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR // Filter string `json:"filter,omitempty"` @@ -1002,10 +1261,9 @@ type LogSink struct { // underscores, hyphens, and periods. Name string `json:"name,omitempty"` - // OutputVersionFormat: Optional. The log entry format to use for this - // sink's exported log entries. The v2 format is used by default. The v1 - // format is deprecated and should be used only as part of a migration - // effort to v2. See Migration to the v2 API. + // OutputVersionFormat: Deprecated. The log entry format to use for this + // sink's exported log entries. The v2 format is used by default and + // cannot be changed. // // Possible values: // "VERSION_FORMAT_UNSPECIFIED" - An unspecified format version that @@ -1014,10 +1272,8 @@ type LogSink struct { // "V1" - LogEntry version 1 format. OutputVersionFormat string `json:"outputVersionFormat,omitempty"` - // StartTime: Optional. The time at which this sink will begin exporting - // log entries. Log entries are exported only if their timestamp is not - // earlier than the start time. The default value of this field is the - // time the sink is created or updated. + // StartTime: Deprecated. This field is ignored when creating or + // updating sinks. StartTime string `json:"startTime,omitempty"` // WriterIdentity: Output only. An IAM identity—a service account @@ -1058,6 +1314,154 @@ func (s *LogSink) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// MetricDescriptor: Defines a metric type and its schema. Once a metric +// descriptor is created, deleting or altering it stops data collection +// and makes the metric type's existing data unusable. +type MetricDescriptor struct { + // Description: A detailed description of the metric, which can be used + // in documentation. + Description string `json:"description,omitempty"` + + // DisplayName: A concise name for the metric, which can be displayed in + // user interfaces. Use sentence case without an ending period, for + // example "Request count". + DisplayName string `json:"displayName,omitempty"` + + // Labels: The set of labels that can be used to describe a specific + // instance of this metric type. For example, the + // appengine.googleapis.com/http/server/response_latencies metric type + // has a label for the HTTP response code, response_code, so you can + // look at latencies for successful responses or just for responses that + // failed. + Labels []*LabelDescriptor `json:"labels,omitempty"` + + // MetricKind: Whether the metric records instantaneous values, changes + // to a value, etc. Some combinations of metric_kind and value_type + // might not be supported. + // + // Possible values: + // "METRIC_KIND_UNSPECIFIED" - Do not use this default value. + // "GAUGE" - An instantaneous measurement of a value. + // "DELTA" - The change in a value during a time interval. + // "CUMULATIVE" - A value accumulated over a time interval. Cumulative + // measurements in a time series should have the same start time and + // increasing end times, until an event resets the cumulative value to + // zero and sets a new start time for the following points. + MetricKind string `json:"metricKind,omitempty"` + + // Name: The resource name of the metric descriptor. Depending on the + // implementation, the name typically includes: (1) the parent resource + // name that defines the scope of the metric type or of its data; and + // (2) the metric's URL-encoded type, which also appears in the type + // field of this descriptor. For example, following is the resource name + // of a custom metric within the GCP project + // my-project-id: + // "projects/my-project-id/metricDescriptors/custom.google + // apis.com%2Finvoice%2Fpaid%2Famount" + // + Name string `json:"name,omitempty"` + + // Type: The metric type, including its DNS name prefix. The type is not + // URL-encoded. All user-defined custom metric types have the DNS name + // custom.googleapis.com. Metric types should use a natural hierarchical + // grouping. For + // example: + // "custom.googleapis.com/invoice/paid/amount" + // "appengine.google + // apis.com/http/server/response_latencies" + // + Type string `json:"type,omitempty"` + + // Unit: The unit in which the metric value is reported. It is only + // applicable if the value_type is INT64, DOUBLE, or DISTRIBUTION. The + // supported units are a subset of The Unified Code for Units of Measure + // (http://unitsofmeasure.org/ucum.html) standard:Basic units (UNIT) + // bit bit + // By byte + // s second + // min minute + // h hour + // d dayPrefixes (PREFIX) + // k kilo (10**3) + // M mega (10**6) + // G giga (10**9) + // T tera (10**12) + // P peta (10**15) + // E exa (10**18) + // Z zetta (10**21) + // Y yotta (10**24) + // m milli (10**-3) + // u micro (10**-6) + // n nano (10**-9) + // p pico (10**-12) + // f femto (10**-15) + // a atto (10**-18) + // z zepto (10**-21) + // y yocto (10**-24) + // Ki kibi (2**10) + // Mi mebi (2**20) + // Gi gibi (2**30) + // Ti tebi (2**40)GrammarThe grammar includes the dimensionless unit 1, + // such as 1/s.The grammar also includes these connectors: + // / division (as an infix operator, e.g. 1/s). + // . multiplication (as an infix operator, e.g. GBy.d)The grammar for a + // unit is as follows: + // Expression = Component { "." Component } { "/" Component } + // ; + // + // Component = [ PREFIX ] UNIT [ Annotation ] + // | Annotation + // | "1" + // ; + // + // Annotation = "{" NAME "}" ; + // Notes: + // Annotation is just a comment if it follows a UNIT and is equivalent + // to 1 if it is used alone. For examples, {requests}/s == 1/s, + // By{transmitted}/s == By/s. + // NAME is a sequence of non-blank printable ASCII characters not + // containing '{' or '}'. + Unit string `json:"unit,omitempty"` + + // ValueType: Whether the measurement is an integer, a floating-point + // number, etc. Some combinations of metric_kind and value_type might + // not be supported. + // + // Possible values: + // "VALUE_TYPE_UNSPECIFIED" - Do not use this default value. + // "BOOL" - The value is a boolean. This value type can be used only + // if the metric kind is GAUGE. + // "INT64" - The value is a signed 64-bit integer. + // "DOUBLE" - The value is a double precision floating point number. + // "STRING" - The value is a text string. This value type can be used + // only if the metric kind is GAUGE. + // "DISTRIBUTION" - The value is a Distribution. + // "MONEY" - The value is money. + ValueType string `json:"valueType,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Description") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *MetricDescriptor) MarshalJSON() ([]byte, error) { + type noMethod MetricDescriptor + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // MonitoredResource: An object representing a resource that can be used // for monitoring, logging, billing, or other purposes. Examples include // virtual machine instances, databases, and storage devices such as @@ -1405,17 +1809,23 @@ func (s *SourceReference) MarshalJSON() ([]byte, error) { // WriteLogEntriesRequest: The parameters to WriteLogEntries. type WriteLogEntriesRequest struct { - // Entries: Required. The log entries to write. Values supplied for the - // fields log_name, resource, and labels in this entries.write request - // are inserted into those log entries in this list that do not provide - // their own values.Stackdriver Logging also creates and inserts values - // for timestamp and insert_id if the entries do not provide them. The - // created insert_id for the N'th entry in this list will be greater - // than earlier entries and less than later entries. Otherwise, the - // order of log entries in this list does not matter.To improve - // throughput and to avoid exceeding the quota limit for calls to - // entries.write, you should write multiple log entries at once rather - // than calling this method for each individual log entry. + // Entries: Required. The log entries to send to Stackdriver Logging. + // The order of log entries in this list does not matter. Values + // supplied in this method's log_name, resource, and labels fields are + // copied into those log entries in this list that do not include values + // for their corresponding fields. For more information, see the + // LogEntry type.If the timestamp or insert_id fields are missing in log + // entries, then this method supplies the current time or a unique + // identifier, respectively. The supplied values are chosen so that, + // among the log entries that did not supply their own values, the + // entries earlier in the list will sort before the entries later in the + // list. See the entries.list method.Log entries with timestamps that + // are more than the logs retention period in the past or more than 24 + // hours in the future might be discarded. Discarding does not return an + // error.To improve throughput and to avoid exceeding the quota limit + // for calls to entries.write, you should try to include several log + // entries in this list, rather than calling this method for each + // individual log entry. Entries []*LogEntry `json:"entries,omitempty"` // Labels: Optional. Default labels that are added to the labels field @@ -1965,7 +2375,11 @@ type EntriesWriteCall struct { header_ http.Header } -// Write: Writes log entries to Stackdriver Logging. +// Write: Log entry resourcesWrites log entries to Stackdriver Logging. +// This API method is the only way to send log entries to Stackdriver +// Logging. This method is used, directly or indirectly, by the +// Stackdriver Logging agent (fluentd) and all logging libraries +// configured to use Stackdriver Logging. func (r *EntriesService) Write(writelogentriesrequest *WriteLogEntriesRequest) *EntriesWriteCall { c := &EntriesWriteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.writelogentriesrequest = writelogentriesrequest @@ -2055,7 +2469,7 @@ func (c *EntriesWriteCall) Do(opts ...googleapi.CallOption) (*WriteLogEntriesRes } return ret, nil // { - // "description": "Writes log entries to Stackdriver Logging.", + // "description": "Log entry resourcesWrites log entries to Stackdriver Logging. This API method is the only way to send log entries to Stackdriver Logging. This method is used, directly or indirectly, by the Stackdriver Logging agent (fluentd) and all logging libraries configured to use Stackdriver Logging.", // "flatPath": "v2beta1/entries:write", // "httpMethod": "POST", // "id": "logging.entries.write", @@ -3652,10 +4066,9 @@ type ProjectsSinksCreateCall struct { // Create: Creates a sink that exports specified log entries to a // destination. The export of newly-ingested log entries begins -// immediately, unless the current time is outside the sink's start and -// end times or the sink's writer_identity is not permitted to write to -// the destination. A sink can export log entries only from the resource -// owning the sink. +// immediately, unless the sink's writer_identity is not permitted to +// write to the destination. A sink can export log entries only from the +// resource owning the sink. func (r *ProjectsSinksService) Create(parent string, logsink *LogSink) *ProjectsSinksCreateCall { c := &ProjectsSinksCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent @@ -3766,7 +4179,7 @@ func (c *ProjectsSinksCreateCall) Do(opts ...googleapi.CallOption) (*LogSink, er } return ret, nil // { - // "description": "Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the current time is outside the sink's start and end times or the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.", + // "description": "Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.", // "flatPath": "v2beta1/projects/{projectsId}/sinks", // "httpMethod": "POST", // "id": "logging.projects.sinks.create", @@ -4275,13 +4688,10 @@ type ProjectsSinksUpdateCall struct { header_ http.Header } -// Update: Updates a sink. If the named sink doesn't exist, then this -// method is identical to sinks.create. If the named sink does exist, -// then this method replaces the following fields in the existing sink -// with values from the new sink: destination, filter, -// output_version_format, start_time, and end_time. The updated filter -// might also have a new writer_identity; see the unique_writer_identity -// field. +// Update: Updates a sink. This method replaces the following fields in +// the existing sink with values from the new sink: destination, and +// filter. The updated sink might also have a new writer_identity; see +// the unique_writer_identity field. func (r *ProjectsSinksService) Update(sinkNameid string, logsink *LogSink) *ProjectsSinksUpdateCall { c := &ProjectsSinksUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.sinkNameid = sinkNameid @@ -4305,6 +4715,21 @@ func (c *ProjectsSinksUpdateCall) UniqueWriterIdentity(uniqueWriterIdentity bool return c } +// UpdateMask sets the optional parameter "updateMask": Field mask that +// specifies the fields in sink that need an update. A sink field will +// be overwritten if, and only if, it is in the update mask. name and +// output only fields cannot be updated.An empty updateMask is +// temporarily treated as using the following mask for backwards +// compatibility purposes: destination,filter,includeChildren At some +// point in the future, behavior will be removed and specifying an empty +// updateMask will be an error.For a detailed FieldMask definition, see +// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: +// updateMask=filter. +func (c *ProjectsSinksUpdateCall) UpdateMask(updateMask string) *ProjectsSinksUpdateCall { + 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 information. @@ -4391,7 +4816,7 @@ func (c *ProjectsSinksUpdateCall) Do(opts ...googleapi.CallOption) (*LogSink, er } return ret, nil // { - // "description": "Updates a sink. If the named sink doesn't exist, then this method is identical to sinks.create. If the named sink does exist, then this method replaces the following fields in the existing sink with values from the new sink: destination, filter, output_version_format, start_time, and end_time. The updated filter might also have a new writer_identity; see the unique_writer_identity field.", + // "description": "Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: destination, and filter. The updated sink might also have a new writer_identity; see the unique_writer_identity field.", // "flatPath": "v2beta1/projects/{projectsId}/sinks/{sinksId}", // "httpMethod": "PUT", // "id": "logging.projects.sinks.update", @@ -4410,6 +4835,12 @@ func (c *ProjectsSinksUpdateCall) Do(opts ...googleapi.CallOption) (*LogSink, er // "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field:\nIf the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity.\nIf the old value is false and the new value is true, then writer_identity is changed to a unique service account.\nIt is an error if the old value is true and the new value is set to false or defaulted to false.", // "location": "query", // "type": "boolean" + // }, + // "updateMask": { + // "description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmaskExample: updateMask=filter.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" // } // }, // "path": "v2beta1/{+sinkName}", diff --git a/vendor/google.golang.org/api/manufacturers/v1/manufacturers-api.json b/vendor/google.golang.org/api/manufacturers/v1/manufacturers-api.json index ecf1b1906..f2c5a556a 100644 --- a/vendor/google.golang.org/api/manufacturers/v1/manufacturers-api.json +++ b/vendor/google.golang.org/api/manufacturers/v1/manufacturers-api.json @@ -1,21 +1,105 @@ { - "version": "v1", - "baseUrl": "https://manufacturers.googleapis.com/", - "kind": "discovery#restDescription", - "description": "Public API for managing Manufacturer Center related data.", - "servicePath": "", "basePath": "", + "revision": "20170808", "documentationLink": "https://developers.google.com/manufacturers/", - "revision": "20170629", "id": "manufacturers:v1", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { - "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "ListProductsResponse": { "type": "object", - "properties": {}, - "id": "Empty" + "properties": { + "products": { + "description": "List of the products.", + "items": { + "$ref": "Product" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The token for the retrieval of the next page of product statuses.", + "type": "string" + } + }, + "id": "ListProductsResponse" + }, + "ProductDetail": { + "description": "A product detail of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#productdetail.", + "type": "object", + "properties": { + "sectionName": { + "description": "A short section name that can be reused between multiple product details.", + "type": "string" + }, + "attributeName": { + "description": "The name of the attribute.", + "type": "string" + }, + "attributeValue": { + "description": "The value of the attribute.", + "type": "string" + } + }, + "id": "ProductDetail" + }, + "Issue": { + "description": "Product issue.", + "type": "object", + "properties": { + "attribute": { + "description": "If present, the attribute that triggered the issue. For more information\nabout attributes, see\nhttps://support.google.com/manufacturers/answer/6124116.", + "type": "string" + }, + "timestamp": { + "format": "google-datetime", + "description": "The timestamp when this issue appeared.", + "type": "string" + }, + "severity": { + "description": "The severity of the issue.", + "type": "string", + "enumDescriptions": [ + "Unspecified severity, never used.", + "Error severity. The issue prevents the usage of the whole item.", + "Warning severity. The issue is either one that prevents the usage of the\nattribute that triggered it or one that will soon prevent the usage of\nthe whole item.", + "Info severity. The issue is one that doesn't require immediate attention.\nIt is, for example, used to communicate which attributes are still\npending review." + ], + "enum": [ + "SEVERITY_UNSPECIFIED", + "ERROR", + "WARNING", + "INFO" + ] + }, + "description": { + "description": "Description of the issue.", + "type": "string" + }, + "type": { + "description": "The server-generated type of the issue, for example,\n“INCORRECT_TEXT_FORMATTING”, “IMAGE_NOT_SERVEABLE”, etc.", + "type": "string" + } + }, + "id": "Issue" + }, + "FeatureDescription": { + "description": "A feature description of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#featuredesc.", + "type": "object", + "properties": { + "headline": { + "description": "A short description of the feature.", + "type": "string" + }, + "text": { + "description": "A detailed description of the feature.", + "type": "string" + }, + "image": { + "$ref": "Image", + "description": "An optional image describing the feature." + } + }, + "id": "FeatureDescription" }, "Price": { "description": "A price.", @@ -32,10 +116,20 @@ }, "id": "Price" }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object", + "properties": {}, + "id": "Empty" + }, "Image": { "description": "An image.", "type": "object", "properties": { + "imageUrl": { + "description": "The URL of the image. For crawled images, this is the provided URL. For\nuploaded images, this is a serving URL from Google if the image has been\nprocessed successfully.", + "type": "string" + }, "status": { "enumDescriptions": [ "Status is unspecified. Should not be used.", @@ -67,8 +161,6 @@ "type": "string" }, "type": { - "description": "The type of the image, i.e., crawled or uploaded.\n@OutputOnly", - "type": "string", "enumDescriptions": [ "Type is unspecified. Should not be used.", "The image was crawled from a provided URL.", @@ -78,18 +170,14 @@ "TYPE_UNSPECIFIED", "CRAWLED", "UPLOADED" - ] - }, - "imageUrl": { - "description": "The URL of the image. For crawled images, this is the provided URL. For\nuploaded images, this is a serving URL from Google if the image has been\nprocessed successfully.", + ], + "description": "The type of the image, i.e., crawled or uploaded.\n@OutputOnly", "type": "string" } }, "id": "Image" }, "Attributes": { - "description": "Attributes of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116.", - "type": "object", "properties": { "sizeSystem": { "description": "The size system of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#sizesystem.", @@ -155,6 +243,11 @@ }, "type": "array" }, + "targetAccountId": { + "format": "int64", + "description": "The target account id. Should only be used in the accounts of the data\npartners.", + "type": "string" + }, "size": { "description": "The size of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#size.", "type": "string" @@ -164,8 +257,8 @@ "type": "string" }, "count": { - "description": "The count of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#count.", - "$ref": "Count" + "$ref": "Count", + "description": "The count of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#count." }, "brand": { "description": "The brand name of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#brand.", @@ -183,8 +276,8 @@ "description": "The scent of the product. For more information, see\n https://support.google.com/manufacturers/answer/6124116#scent.", "type": "string" }, - "flavor": { - "description": "The flavor of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#flavor.", + "ageGroup": { + "description": "The target age group of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#agegroup.", "type": "string" }, "productDetail": { @@ -194,8 +287,8 @@ }, "type": "array" }, - "ageGroup": { - "description": "The target age group of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#agegroup.", + "flavor": { + "description": "The flavor of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#flavor.", "type": "string" }, "productPageUrl": { @@ -210,10 +303,6 @@ "description": "The release date of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#release.", "type": "string" }, - "itemGroupId": { - "description": "The item group id of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#itemgroupid.", - "type": "string" - }, "gtin": { "description": "The Global Trade Item Number (GTIN) of the product. For more information,\nsee https://support.google.com/manufacturers/answer/6124116#gtin.", "items": { @@ -221,13 +310,17 @@ }, "type": "array" }, + "itemGroupId": { + "description": "The item group id of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#itemgroupid.", + "type": "string" + }, "productLine": { "description": "The name of the group of products related to the product. For more\ninformation, see\nhttps://support.google.com/manufacturers/answer/6124116#productline.", "type": "string" }, "capacity": { - "description": "The capacity of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#capacity.", - "$ref": "Capacity" + "$ref": "Capacity", + "description": "The capacity of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#capacity." }, "description": { "description": "The description of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#description.", @@ -238,7 +331,9 @@ "type": "string" } }, - "id": "Attributes" + "id": "Attributes", + "description": "Attributes of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116.", + "type": "object" }, "Count": { "description": "The number of products in a single package. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#count.", @@ -257,25 +352,7 @@ "id": "Count" }, "Product": { - "description": "Product data.", - "type": "object", "properties": { - "finalAttributes": { - "$ref": "Attributes", - "description": "Final attributes of the product. The final attributes are obtained by\noverriding the uploaded attributes with the manually provided and deleted\nattributes. Google systems only process, evaluate, review, and/or use final\nattributes.\n@OutputOnly" - }, - "productId": { - "description": "The ID of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#id.\n@OutputOnly", - "type": "string" - }, - "uploadedAttributes": { - "description": "Attributes of the product uploaded via the Manufacturer Center API or via\nfeeds.", - "$ref": "Attributes" - }, - "parent": { - "description": "Parent ID in the format `accounts/{account_id}`.\n\n`account_id` - The ID of the Manufacturer Center account.\n@OutputOnly", - "type": "string" - }, "manuallyProvidedAttributes": { "description": "Attributes of the product provided manually via the Manufacturer Center UI.\n@OutputOnly", "$ref": "Attributes" @@ -305,9 +382,27 @@ "$ref": "Issue" }, "type": "array" + }, + "finalAttributes": { + "description": "Final attributes of the product. The final attributes are obtained by\noverriding the uploaded attributes with the manually provided and deleted\nattributes. Google systems only process, evaluate, review, and/or use final\nattributes.\n@OutputOnly", + "$ref": "Attributes" + }, + "productId": { + "description": "The ID of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#id.\n@OutputOnly", + "type": "string" + }, + "uploadedAttributes": { + "$ref": "Attributes", + "description": "Attributes of the product uploaded via the Manufacturer Center API or via\nfeeds." + }, + "parent": { + "description": "Parent ID in the format `accounts/{account_id}`.\n\n`account_id` - The ID of the Manufacturer Center account.\n@OutputOnly", + "type": "string" } }, - "id": "Product" + "id": "Product", + "description": "Product data.", + "type": "object" }, "Capacity": { "description": "The capacity of a product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#capacity.", @@ -324,108 +419,13 @@ } }, "id": "Capacity" - }, - "ListProductsResponse": { - "type": "object", - "properties": { - "products": { - "description": "List of the products.", - "items": { - "$ref": "Product" - }, - "type": "array" - }, - "nextPageToken": { - "description": "The token for the retrieval of the next page of product statuses.", - "type": "string" - } - }, - "id": "ListProductsResponse" - }, - "ProductDetail": { - "description": "A product detail of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#productdetail.", - "type": "object", - "properties": { - "attributeValue": { - "description": "The value of the attribute.", - "type": "string" - }, - "sectionName": { - "description": "A short section name that can be reused between multiple product details.", - "type": "string" - }, - "attributeName": { - "description": "The name of the attribute.", - "type": "string" - } - }, - "id": "ProductDetail" - }, - "Issue": { - "description": "Product issue.", - "type": "object", - "properties": { - "timestamp": { - "format": "google-datetime", - "description": "The timestamp when this issue appeared.", - "type": "string" - }, - "severity": { - "enumDescriptions": [ - "Unspecified severity, never used.", - "Error severity. The issue prevents the usage of the whole item.", - "Warning severity. The issue is either one that prevents the usage of the\nattribute that triggered it or one that will soon prevent the usage of\nthe whole item.", - "Info severity. The issue is one that doesn't require immediate attention.\nIt is, for example, used to communicate which attributes are still\npending review." - ], - "enum": [ - "SEVERITY_UNSPECIFIED", - "ERROR", - "WARNING", - "INFO" - ], - "description": "The severity of the issue.", - "type": "string" - }, - "description": { - "description": "Description of the issue.", - "type": "string" - }, - "type": { - "description": "The server-generated type of the issue, for example,\n“INCORRECT_TEXT_FORMATTING”, “IMAGE_NOT_SERVEABLE”, etc.", - "type": "string" - }, - "attribute": { - "description": "If present, the attribute that triggered the issue. For more information\nabout attributes, see\nhttps://support.google.com/manufacturers/answer/6124116.", - "type": "string" - } - }, - "id": "Issue" - }, - "FeatureDescription": { - "description": "A feature description of the product. For more information, see\nhttps://support.google.com/manufacturers/answer/6124116#featuredesc.", - "type": "object", - "properties": { - "text": { - "description": "A detailed description of the feature.", - "type": "string" - }, - "image": { - "$ref": "Image", - "description": "An optional image describing the feature." - }, - "headline": { - "description": "A short description of the feature.", - "type": "string" - } - }, - "id": "FeatureDescription" } }, + "protocol": "rest", "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.gif" }, - "protocol": "rest", "canonicalName": "Manufacturer Center", "auth": { "oauth2": { @@ -448,7 +448,6 @@ "products": { "methods": { "delete": { - "description": "Deletes the product from a Manufacturer Center account.", "response": { "$ref": "Empty" }, @@ -457,34 +456,31 @@ "name" ], "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/manufacturercenter" + ], "parameters": { - "parent": { - "description": "Parent ID in the format `accounts/{account_id}`.\n\n`account_id` - The ID of the Manufacturer Center account.", - "type": "string", - "required": true, - "pattern": "^accounts/[^/]+$", - "location": "path" - }, "name": { "description": "Name in the format `{target_country}:{content_language}:{product_id}`.\n\n`target_country` - The target country of the product as a CLDR territory\n code (for example, US).\n\n`content_language` - The content language of the product as a two-letter\n ISO 639-1 language code (for example, en).\n\n`product_id` - The ID of the product. For more information, see\n https://support.google.com/manufacturers/answer/6124116#id.", "type": "string", "required": true, "pattern": "^[^/]+$", "location": "path" + }, + "parent": { + "description": "Parent ID in the format `accounts/{account_id}`.\n\n`account_id` - The ID of the Manufacturer Center account.", + "type": "string", + "required": true, + "pattern": "^accounts/[^/]+$", + "location": "path" } }, - "scopes": [ - "https://www.googleapis.com/auth/manufacturercenter" - ], "flatPath": "v1/accounts/{accountsId}/products/{productsId}", "id": "manufacturers.accounts.products.delete", - "path": "v1/{+parent}/products/{+name}" + "path": "v1/{+parent}/products/{+name}", + "description": "Deletes the product from a Manufacturer Center account." }, "get": { - "flatPath": "v1/accounts/{accountsId}/products/{productsId}", - "id": "manufacturers.accounts.products.get", - "path": "v1/{+parent}/products/{+name}", - "description": "Gets the product from a Manufacturer Center account, including product\nissues.\n\nA recently updated product takes some time to be processed before any\nchanges are visible. While some issues may be available once the product\nhas been processed, other issues may take days to appear.", "response": { "$ref": "Product" }, @@ -495,11 +491,11 @@ "httpMethod": "GET", "parameters": { "parent": { + "pattern": "^accounts/[^/]+$", + "location": "path", "description": "Parent ID in the format `accounts/{account_id}`.\n\n`account_id` - The ID of the Manufacturer Center account.", "type": "string", - "required": true, - "pattern": "^accounts/[^/]+$", - "location": "path" + "required": true }, "name": { "location": "path", @@ -511,21 +507,26 @@ }, "scopes": [ "https://www.googleapis.com/auth/manufacturercenter" - ] + ], + "flatPath": "v1/accounts/{accountsId}/products/{productsId}", + "id": "manufacturers.accounts.products.get", + "path": "v1/{+parent}/products/{+name}", + "description": "Gets the product from a Manufacturer Center account, including product\nissues.\n\nA recently updated product takes around 15 minutes to process. Changes are\nonly visible after it has been processed. While some issues may be\navailable once the product has been processed, other issues may take days\nto appear." }, "list": { - "description": "Lists all the products in a Manufacturer Center account.", - "response": { - "$ref": "ListProductsResponse" - }, + "httpMethod": "GET", "parameterOrder": [ "parent" ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/manufacturercenter" - ], + "response": { + "$ref": "ListProductsResponse" + }, "parameters": { + "pageToken": { + "location": "query", + "description": "The token returned by the previous request.", + "type": "string" + }, "pageSize": { "location": "query", "format": "int32", @@ -533,45 +534,40 @@ "type": "integer" }, "parent": { + "pattern": "^accounts/[^/]+$", + "location": "path", "description": "Parent ID in the format `accounts/{account_id}`.\n\n`account_id` - The ID of the Manufacturer Center account.", "type": "string", - "required": true, - "pattern": "^accounts/[^/]+$", - "location": "path" - }, - "pageToken": { - "description": "The token returned by the previous request.", - "type": "string", - "location": "query" + "required": true } }, + "scopes": [ + "https://www.googleapis.com/auth/manufacturercenter" + ], "flatPath": "v1/accounts/{accountsId}/products", + "path": "v1/{+parent}/products", "id": "manufacturers.accounts.products.list", - "path": "v1/{+parent}/products" + "description": "Lists all the products in a Manufacturer Center account." }, "update": { - "request": { - "$ref": "Product" - }, - "description": "Inserts or updates the product in a Manufacturer Center account.\n\nThe checks at upload time are minimal. All required attributes need to be\npresent for a product to be valid. Issues may show up later\nafter the API has accepted an update for a product and it is possible to\noverwrite an existing valid product with an invalid product. To detect\nthis, you should retrieve the product and check it for issues once the\nupdated version is available.\n\nInserted or updated products first need to be processed before they can be\nretrieved. Until then, new products will be unavailable, and retrieval\nof updated products will return the original state of the product.", - "response": { - "$ref": "Product" - }, + "httpMethod": "PUT", "parameterOrder": [ "parent", "name" ], - "httpMethod": "PUT", + "response": { + "$ref": "Product" + }, "scopes": [ "https://www.googleapis.com/auth/manufacturercenter" ], "parameters": { "parent": { + "location": "path", "description": "Parent ID in the format `accounts/{account_id}`.\n\n`account_id` - The ID of the Manufacturer Center account.", "type": "string", "required": true, - "pattern": "^accounts/[^/]+$", - "location": "path" + "pattern": "^accounts/[^/]+$" }, "name": { "description": "Name in the format `{target_country}:{content_language}:{product_id}`.\n\n`target_country` - The target country of the product as a CLDR territory\n code (for example, US).\n\n`content_language` - The content language of the product as a two-letter\n ISO 639-1 language code (for example, en).\n\n`product_id` - The ID of the product. For more information, see\n https://support.google.com/manufacturers/answer/6124116#id.", @@ -582,8 +578,12 @@ } }, "flatPath": "v1/accounts/{accountsId}/products/{productsId}", + "path": "v1/{+parent}/products/{+name}", "id": "manufacturers.accounts.products.update", - "path": "v1/{+parent}/products/{+name}" + "request": { + "$ref": "Product" + }, + "description": "Inserts or updates the product in a Manufacturer Center account.\n\nThe checks at upload time are minimal. All required attributes need to be\npresent for a product to be valid. Issues may show up later\nafter the API has accepted an update for a product and it is possible to\noverwrite an existing valid product with an invalid product. To detect\nthis, you should retrieve the product and check it for issues once the\nupdated version is available.\n\nInserted or updated products first need to be processed before they can be\nretrieved. Until then, new products will be unavailable, and retrieval\nof updated products will return the original state of the product." } } } @@ -591,26 +591,26 @@ } }, "parameters": { - "oauth_token": { - "location": "query", - "description": "OAuth 2.0 token for the current user.", - "type": "string" - }, "bearer_token": { "description": "OAuth bearer token.", "type": "string", "location": "query" }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", + "location": "query" + }, "upload_protocol": { "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "type": "string", "location": "query" }, "prettyPrint": { + "location": "query", "description": "Returns response with indentations and line breaks.", "default": "true", - "type": "boolean", - "location": "query" + "type": "boolean" }, "uploadType": { "location": "query", @@ -622,23 +622,23 @@ "type": "string", "location": "query" }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, "$.xgafv": { - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", "enum": [ "1", "2" ], "description": "V1 error format.", - "type": "string" + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + }, + "callback": { + "description": "JSONP", + "type": "string", + "location": "query" }, "alt": { "enumDescriptions": [ @@ -657,19 +657,19 @@ "type": "string" }, "access_token": { - "location": "query", "description": "OAuth access token.", - "type": "string" + "type": "string", + "location": "query" }, "key": { + "location": "query", "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string", - "location": "query" + "type": "string" }, "quotaUser": { + "location": "query", "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string", - "location": "query" + "type": "string" }, "pp": { "location": "query", @@ -677,5 +677,10 @@ "default": "true", "type": "boolean" } - } + }, + "version": "v1", + "baseUrl": "https://manufacturers.googleapis.com/", + "kind": "discovery#restDescription", + "description": "Public API for managing Manufacturer Center related data.", + "servicePath": "" } diff --git a/vendor/google.golang.org/api/manufacturers/v1/manufacturers-gen.go b/vendor/google.golang.org/api/manufacturers/v1/manufacturers-gen.go index 1d4f8690a..50c8f5ba2 100644 --- a/vendor/google.golang.org/api/manufacturers/v1/manufacturers-gen.go +++ b/vendor/google.golang.org/api/manufacturers/v1/manufacturers-gen.go @@ -260,6 +260,11 @@ type Attributes struct { // see https://support.google.com/manufacturers/answer/6124116#price. SuggestedRetailPrice *Price `json:"suggestedRetailPrice,omitempty"` + // TargetAccountId: The target account id. Should only be used in the + // accounts of the data + // partners. + TargetAccountId int64 `json:"targetAccountId,omitempty,string"` + // Theme: The theme of the product. For more information, // see // https://support.google.com/manufacturers/answer/6124116#theme. @@ -907,11 +912,13 @@ type AccountsProductsGetCall struct { // product // issues. // -// A recently updated product takes some time to be processed before -// any -// changes are visible. While some issues may be available once the -// product -// has been processed, other issues may take days to appear. +// A recently updated product takes around 15 minutes to process. +// Changes are +// only visible after it has been processed. While some issues may +// be +// available once the product has been processed, other issues may take +// days +// to appear. func (r *AccountsProductsService) Get(parent string, name string) *AccountsProductsGetCall { c := &AccountsProductsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent @@ -1014,7 +1021,7 @@ func (c *AccountsProductsGetCall) Do(opts ...googleapi.CallOption) (*Product, er } return ret, nil // { - // "description": "Gets the product from a Manufacturer Center account, including product\nissues.\n\nA recently updated product takes some time to be processed before any\nchanges are visible. While some issues may be available once the product\nhas been processed, other issues may take days to appear.", + // "description": "Gets the product from a Manufacturer Center account, including product\nissues.\n\nA recently updated product takes around 15 minutes to process. Changes are\nonly visible after it has been processed. While some issues may be\navailable once the product has been processed, other issues may take days\nto appear.", // "flatPath": "v1/accounts/{accountsId}/products/{productsId}", // "httpMethod": "GET", // "id": "manufacturers.accounts.products.get", diff --git a/vendor/google.golang.org/api/mirror/v1/mirror-api.json b/vendor/google.golang.org/api/mirror/v1/mirror-api.json index 3c1525de0..56dedeed4 100644 --- a/vendor/google.golang.org/api/mirror/v1/mirror-api.json +++ b/vendor/google.golang.org/api/mirror/v1/mirror-api.json @@ -23,7 +23,7 @@ "basePath": "/mirror/v1/", "rootUrl": "https://www.googleapis.com/", "servicePath": "mirror/v1/", - "batchPath": "batch", + "batchPath": "batch/mirror/v1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/mirror/v1/mirror-gen.go b/vendor/google.golang.org/api/mirror/v1/mirror-gen.go index fb63974ed..c2654a659 100644 --- a/vendor/google.golang.org/api/mirror/v1/mirror-gen.go +++ b/vendor/google.golang.org/api/mirror/v1/mirror-gen.go @@ -3239,16 +3239,12 @@ func (c *TimelineGetCall) Do(opts ...googleapi.CallOption) (*TimelineItem, error // method id "mirror.timeline.insert": type TimelineInsertCall struct { - s *Service - timelineitem *TimelineItem - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + timelineitem *TimelineItem + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Insert: Inserts a new item into the timeline. @@ -3267,12 +3263,7 @@ func (r *TimelineService) Insert(timelineitem *TimelineItem) *TimelineInsertCall // supplied. // At most one of Media and ResumableMedia may be set. func (c *TimelineInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *TimelineInsertCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -3287,11 +3278,7 @@ func (c *TimelineInsertCall) Media(r io.Reader, options ...googleapi.MediaOption // supersede any context previously provided to the Context method. func (c *TimelineInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *TimelineInsertCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -3300,7 +3287,7 @@ func (c *TimelineInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *TimelineInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *TimelineInsertCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -3345,27 +3332,16 @@ func (c *TimelineInsertCall) doRequest(alt string) (*http.Response, error) { reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "timeline") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -3398,20 +3374,10 @@ func (c *TimelineInsertCall) Do(opts ...googleapi.CallOption) (*TimelineItem, er if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -3856,17 +3822,13 @@ func (c *TimelinePatchCall) Do(opts ...googleapi.CallOption) (*TimelineItem, err // method id "mirror.timeline.update": type TimelineUpdateCall struct { - s *Service - id string - timelineitem *TimelineItem - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + id string + timelineitem *TimelineItem + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Update: Updates a timeline item in place. @@ -3886,12 +3848,7 @@ func (r *TimelineService) Update(id string, timelineitem *TimelineItem) *Timelin // supplied. // At most one of Media and ResumableMedia may be set. func (c *TimelineUpdateCall) Media(r io.Reader, options ...googleapi.MediaOption) *TimelineUpdateCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -3906,11 +3863,7 @@ func (c *TimelineUpdateCall) Media(r io.Reader, options ...googleapi.MediaOption // supersede any context previously provided to the Context method. func (c *TimelineUpdateCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *TimelineUpdateCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -3919,7 +3872,7 @@ func (c *TimelineUpdateCall) ResumableMedia(ctx context.Context, r io.ReaderAt, // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *TimelineUpdateCall) ProgressUpdater(pu googleapi.ProgressUpdater) *TimelineUpdateCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -3964,27 +3917,16 @@ func (c *TimelineUpdateCall) doRequest(alt string) (*http.Response, error) { reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "timeline/{id}") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("PUT", urls, body) req.Header = reqHeaders @@ -4020,20 +3962,10 @@ func (c *TimelineUpdateCall) Do(opts ...googleapi.CallOption) (*TimelineItem, er if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -4380,16 +4312,12 @@ func (c *TimelineAttachmentsGetCall) Do(opts ...googleapi.CallOption) (*Attachme // method id "mirror.timeline.attachments.insert": type TimelineAttachmentsInsertCall struct { - s *Service - itemId string - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + itemId string + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Insert: Adds a new attachment to a timeline item. @@ -4408,12 +4336,7 @@ func (r *TimelineAttachmentsService) Insert(itemId string) *TimelineAttachmentsI // supplied. // At most one of Media and ResumableMedia may be set. func (c *TimelineAttachmentsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *TimelineAttachmentsInsertCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -4428,11 +4351,7 @@ func (c *TimelineAttachmentsInsertCall) Media(r io.Reader, options ...googleapi. // supersede any context previously provided to the Context method. func (c *TimelineAttachmentsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *TimelineAttachmentsInsertCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -4441,7 +4360,7 @@ func (c *TimelineAttachmentsInsertCall) ResumableMedia(ctx context.Context, r io // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *TimelineAttachmentsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *TimelineAttachmentsInsertCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -4481,27 +4400,16 @@ func (c *TimelineAttachmentsInsertCall) doRequest(alt string) (*http.Response, e var body io.Reader = nil c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "timeline/{itemId}/attachments") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -4537,20 +4445,10 @@ func (c *TimelineAttachmentsInsertCall) Do(opts ...googleapi.CallOption) (*Attac if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() diff --git a/vendor/google.golang.org/api/ml/v1/ml-api.json b/vendor/google.golang.org/api/ml/v1/ml-api.json index f388a5cc0..0b1974e87 100644 --- a/vendor/google.golang.org/api/ml/v1/ml-api.json +++ b/vendor/google.golang.org/api/ml/v1/ml-api.json @@ -1,917 +1,8 @@ { - "rootUrl": "https://ml.googleapis.com/", - "ownerDomain": "google.com", - "name": "ml", - "batchPath": "batch", - "title": "Google Cloud Machine Learning Engine", - "ownerName": "Google", - "resources": { - "projects": { - "resources": { - "jobs": { - "methods": { - "get": { - "httpMethod": "GET", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleCloudMlV1__Job" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "pattern": "^projects/[^/]+/jobs/[^/]+$", - "location": "path", - "description": "Required. The name of the job to get the description of.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}", - "path": "v1/{+name}", - "id": "ml.projects.jobs.get", - "description": "Describes a job." - }, - "list": { - "description": "Lists the jobs in the project.", - "httpMethod": "GET", - "response": { - "$ref": "GoogleCloudMlV1__ListJobsResponse" - }, - "parameterOrder": [ - "parent" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "filter": { - "location": "query", - "description": "Optional. Specifies the subset of jobs to retrieve.", - "type": "string" - }, - "pageToken": { - "description": "Optional. A page token to request the next page of results.\n\nYou get the token from the `next_page_token` field of the response from\nthe previous call.", - "type": "string", - "location": "query" - }, - "pageSize": { - "format": "int32", - "description": "Optional. The number of jobs to retrieve per \"page\" of results. If there\nare more remaining results than this number, the response message will\ncontain a valid value in the `next_page_token` field.\n\nThe default value is 20, and the maximum page size is 100.", - "type": "integer", - "location": "query" - }, - "parent": { - "description": "Required. The name of the project for which to list jobs.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1/projects/{projectsId}/jobs", - "path": "v1/{+parent}/jobs", - "id": "ml.projects.jobs.list" - }, - "create": { - "description": "Creates a training or a batch prediction job.", - "request": { - "$ref": "GoogleCloudMlV1__Job" - }, - "response": { - "$ref": "GoogleCloudMlV1__Job" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "POST", - "parameters": { - "parent": { - "pattern": "^projects/[^/]+$", - "location": "path", - "description": "Required. The project name.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/jobs", - "id": "ml.projects.jobs.create", - "path": "v1/{+parent}/jobs" - }, - "cancel": { - "id": "ml.projects.jobs.cancel", - "path": "v1/{+name}:cancel", - "request": { - "$ref": "GoogleCloudMlV1__CancelJobRequest" - }, - "description": "Cancels a running job.", - "response": { - "$ref": "GoogleProtobuf__Empty" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "location": "path", - "description": "Required. The name of the job to cancel.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/jobs/[^/]+$" - } - }, - "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}:cancel" - } - } - }, - "models": { - "methods": { - "getIamPolicy": { - "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", - "httpMethod": "GET", - "response": { - "$ref": "GoogleIamV1__Policy" - }, - "parameterOrder": [ - "resource" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "resource": { - "location": "path", - "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/models/[^/]+$" - } - }, - "flatPath": "v1/projects/{projectsId}/models/{modelsId}:getIamPolicy", - "path": "v1/{+resource}:getIamPolicy", - "id": "ml.projects.models.getIamPolicy" - }, - "get": { - "response": { - "$ref": "GoogleCloudMlV1__Model" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "parameters": { - "name": { - "description": "Required. The name of the model.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/models/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/models/{modelsId}", - "id": "ml.projects.models.get", - "path": "v1/{+name}", - "description": "Gets information about a model, including its name, the description (if\nset), and the default version (if at least one version of the model has\nbeen deployed)." - }, - "testIamPermissions": { - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "GoogleIamV1__TestIamPermissionsResponse" - }, - "parameters": { - "resource": { - "location": "path", - "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/models/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/models/{modelsId}:testIamPermissions", - "path": "v1/{+resource}:testIamPermissions", - "id": "ml.projects.models.testIamPermissions", - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", - "request": { - "$ref": "GoogleIamV1__TestIamPermissionsRequest" - } - }, - "delete": { - "description": "Deletes a model.\n\nYou can only delete a model if there are no versions in it. You can delete\nversions by calling\n[projects.models.versions.delete](/ml-engine/reference/rest/v1/projects.models.versions/delete).", - "httpMethod": "DELETE", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleLongrunning__Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "description": "Required. The name of the model.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/models/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1/projects/{projectsId}/models/{modelsId}", - "path": "v1/{+name}", - "id": "ml.projects.models.delete" - }, - "list": { - "description": "Lists the models in a project.\n\nEach project can contain multiple models, and each model can have multiple\nversions.", - "response": { - "$ref": "GoogleCloudMlV1__ListModelsResponse" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "GET", - "parameters": { - "pageToken": { - "location": "query", - "description": "Optional. A page token to request the next page of results.\n\nYou get the token from the `next_page_token` field of the response from\nthe previous call.", - "type": "string" - }, - "pageSize": { - "format": "int32", - "description": "Optional. The number of models to retrieve per \"page\" of results. If there\nare more remaining results than this number, the response message will\ncontain a valid value in the `next_page_token` field.\n\nThe default value is 20, and the maximum page size is 100.", - "type": "integer", - "location": "query" - }, - "parent": { - "pattern": "^projects/[^/]+$", - "location": "path", - "description": "Required. The name of the project whose models are to be listed.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/models", - "id": "ml.projects.models.list", - "path": "v1/{+parent}/models" - }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", - "request": { - "$ref": "GoogleIamV1__SetIamPolicyRequest" - }, - "response": { - "$ref": "GoogleIamV1__Policy" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "parameters": { - "resource": { - "pattern": "^projects/[^/]+/models/[^/]+$", - "location": "path", - "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/models/{modelsId}:setIamPolicy", - "id": "ml.projects.models.setIamPolicy", - "path": "v1/{+resource}:setIamPolicy" - }, - "create": { - "request": { - "$ref": "GoogleCloudMlV1__Model" - }, - "description": "Creates a model which will later contain one or more versions.\n\nYou must add at least one version before you can request predictions from\nthe model. Add versions by calling\n[projects.models.versions.create](/ml-engine/reference/rest/v1/projects.models.versions/create).", - "httpMethod": "POST", - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "GoogleCloudMlV1__Model" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "parent": { - "pattern": "^projects/[^/]+$", - "location": "path", - "description": "Required. The project name.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/projects/{projectsId}/models", - "path": "v1/{+parent}/models", - "id": "ml.projects.models.create" - } - }, - "resources": { - "versions": { - "methods": { - "create": { - "description": "Creates a new version of a model from a trained TensorFlow model.\n\nIf the version created in the cloud by this call is the first deployed\nversion of the specified model, it will be made the default version of the\nmodel. When you add a version to a model that already has one or more\nversions, the default version does not automatically change. If you want a\nnew version to be the default, you must call\n[projects.models.versions.setDefault](/ml-engine/reference/rest/v1/projects.models.versions/setDefault).", - "request": { - "$ref": "GoogleCloudMlV1__Version" - }, - "response": { - "$ref": "GoogleLongrunning__Operation" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "POST", - "parameters": { - "parent": { - "pattern": "^projects/[^/]+/models/[^/]+$", - "location": "path", - "description": "Required. The name of the model.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions", - "id": "ml.projects.models.versions.create", - "path": "v1/{+parent}/versions" - }, - "setDefault": { - "request": { - "$ref": "GoogleCloudMlV1__SetDefaultVersionRequest" - }, - "description": "Designates a version to be the default for the model.\n\nThe default version is used for prediction requests made against the model\nthat don't specify a version.\n\nThe first version to be created for a model is automatically set as the\ndefault. You must make any subsequent changes to the default version\nsetting manually using this method.", - "httpMethod": "POST", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleCloudMlV1__Version" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "location": "path", - "description": "Required. The name of the version to make the default for the model. You\ncan get the names of all the versions of a model by calling\n[projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list).\n\nAuthorization: `ml.models.update` permission is required on the parent model.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/models/[^/]+/versions/[^/]+$" - } - }, - "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}:setDefault", - "path": "v1/{+name}:setDefault", - "id": "ml.projects.models.versions.setDefault" - }, - "delete": { - "response": { - "$ref": "GoogleLongrunning__Operation" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/models/[^/]+/versions/[^/]+$", - "location": "path", - "description": "Required. The name of the version. You can get the names of all the\nversions of a model by calling\n[projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list)." - } - }, - "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}", - "id": "ml.projects.models.versions.delete", - "path": "v1/{+name}", - "description": "Deletes a model version.\n\nEach model can have multiple versions deployed and in use at any given\ntime. Use this method to remove a single version.\n\nNote: You cannot delete the version that is set as the default version\nof the model unless it is the only remaining version." - }, - "get": { - "description": "Gets information about a model version.\n\nModels can have multiple versions. You can call\n[projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list)\nto get the same information that this method returns for all of the\nversions of a model.", - "httpMethod": "GET", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleCloudMlV1__Version" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "pattern": "^projects/[^/]+/models/[^/]+/versions/[^/]+$", - "location": "path", - "description": "Required. The name of the version.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}", - "path": "v1/{+name}", - "id": "ml.projects.models.versions.get" - }, - "list": { - "httpMethod": "GET", - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "GoogleCloudMlV1__ListVersionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "pageToken": { - "location": "query", - "description": "Optional. A page token to request the next page of results.\n\nYou get the token from the `next_page_token` field of the response from\nthe previous call.", - "type": "string" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "Optional. The number of versions to retrieve per \"page\" of results. If\nthere are more remaining results than this number, the response message\nwill contain a valid value in the `next_page_token` field.\n\nThe default value is 20, and the maximum page size is 100.", - "type": "integer" - }, - "parent": { - "pattern": "^projects/[^/]+/models/[^/]+$", - "location": "path", - "description": "Required. The name of the model for which to list the version.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions", - "path": "v1/{+parent}/versions", - "id": "ml.projects.models.versions.list", - "description": "Gets basic information about all the versions of a model.\n\nIf you expect that a model has a lot of versions, or if you need to handle\nonly a limited number of results at a time, you can request that the list\nbe retrieved in batches (called pages):" - } - } - } - } - }, - "operations": { - "methods": { - "cancel": { - "httpMethod": "POST", - "response": { - "$ref": "GoogleProtobuf__Empty" - }, - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "location": "path", - "description": "The name of the operation resource to be cancelled.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/operations/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/operations/{operationsId}:cancel", - "path": "v1/{+name}:cancel", - "id": "ml.projects.operations.cancel", - "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`." - }, - "delete": { - "httpMethod": "DELETE", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleProtobuf__Empty" - }, - "parameters": { - "name": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/operations/[^/]+$", - "location": "path", - "description": "The name of the operation resource to be deleted." - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/projects/{projectsId}/operations/{operationsId}", - "path": "v1/{+name}", - "id": "ml.projects.operations.delete", - "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`." - }, - "get": { - "response": { - "$ref": "GoogleLongrunning__Operation" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "description": "The name of the operation resource.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/operations/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1/projects/{projectsId}/operations/{operationsId}", - "id": "ml.projects.operations.get", - "path": "v1/{+name}", - "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice." - }, - "list": { - "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", - "response": { - "$ref": "GoogleLongrunning__ListOperationsResponse" - }, - "httpMethod": "GET", - "parameterOrder": [ - "name" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "pageToken": { - "location": "query", - "description": "The standard list page token.", - "type": "string" - }, - "name": { - "location": "path", - "description": "The name of the operation's parent resource.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$" - }, - "pageSize": { - "format": "int32", - "description": "The standard list page size.", - "type": "integer", - "location": "query" - }, - "filter": { - "description": "The standard list filter.", - "type": "string", - "location": "query" - } - }, - "flatPath": "v1/projects/{projectsId}/operations", - "id": "ml.projects.operations.list", - "path": "v1/{+name}/operations" - } - } - } - }, - "methods": { - "getConfig": { - "response": { - "$ref": "GoogleCloudMlV1__GetConfigResponse" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "pattern": "^projects/[^/]+$", - "location": "path", - "description": "Required. The project name.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/projects/{projectsId}:getConfig", - "id": "ml.projects.getConfig", - "path": "v1/{+name}:getConfig", - "description": "Get the service account information associated with your project. You need\nthis information in order to grant the service account persmissions for\nthe Google Cloud Storage location where you put your model training code\nfor training the model with Google Cloud Machine Learning." - }, - "predict": { - "response": { - "$ref": "GoogleApi__HttpBody" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "pattern": "^projects/.+$", - "location": "path", - "description": "Required. The resource name of a model or a version.\n\nAuthorization: requires the `predict` permission on the specified resource.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/projects/{projectsId}:predict", - "id": "ml.projects.predict", - "path": "v1/{+name}:predict", - "request": { - "$ref": "GoogleCloudMlV1__PredictRequest" - }, - "description": "Performs prediction on the data in the request.\n\n**** REMOVE FROM GENERATED DOCUMENTATION" - } - } - } - }, - "parameters": { - "quotaUser": { - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" - }, - "pp": { - "location": "query", - "description": "Pretty-print response.", - "default": "true", - "type": "boolean" - }, - "bearer_token": { - "location": "query", - "description": "OAuth bearer token.", - "type": "string" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" - }, - "upload_protocol": { - "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string" - }, - "prettyPrint": { - "default": "true", - "type": "boolean", - "location": "query", - "description": "Returns response with indentations and line breaks." - }, - "fields": { - "location": "query", - "description": "Selector specifying which fields to include in a partial response.", - "type": "string" - }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string", - "location": "query" - }, - "$.xgafv": { - "enum": [ - "1", - "2" - ], - "description": "V1 error format.", - "type": "string", - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query" - }, - "callback": { - "description": "JSONP", - "type": "string", - "location": "query" - }, - "alt": { - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], - "type": "string", - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query" - }, - "access_token": { - "description": "OAuth access token.", - "type": "string", - "location": "query" - }, - "key": { - "type": "string", - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token." - } - }, - "version": "v1", - "baseUrl": "https://ml.googleapis.com/", - "kind": "discovery#restDescription", - "description": "An API to enable creating and using machine learning models.", - "servicePath": "", - "basePath": "", - "revision": "20170627", - "documentationLink": "https://cloud.google.com/ml/", - "id": "ml:v1", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { - "GoogleIamV1__TestIamPermissionsResponse": { - "properties": { - "permissions": { - "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "GoogleIamV1__TestIamPermissionsResponse", - "description": "Response message for `TestIamPermissions` method.", - "type": "object" - }, - "GoogleIamV1__SetIamPolicyRequest": { - "description": "Request message for `SetIamPolicy` method.", - "type": "object", - "properties": { - "policy": { - "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them.", - "$ref": "GoogleIamV1__Policy" - }, - "updateMask": { - "format": "google-fieldmask", - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", - "type": "string" - } - }, - "id": "GoogleIamV1__SetIamPolicyRequest" - }, - "GoogleCloudMlV1__HyperparameterOutput": { - "description": "Represents the result of a single hyperparameter tuning trial from a\ntraining job. The TrainingOutput object that is returned on successful\ncompletion of a training job with hyperparameter tuning includes a list\nof HyperparameterOutput objects, one for each successful trial.", - "type": "object", - "properties": { - "allMetrics": { - "items": { - "$ref": "GoogleCloudMlV1_HyperparameterOutput_HyperparameterMetric" - }, - "type": "array", - "description": "All recorded object metrics for this trial." - }, - "finalMetric": { - "$ref": "GoogleCloudMlV1_HyperparameterOutput_HyperparameterMetric", - "description": "The final objective metric seen for this trial." - }, - "hyperparameters": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "The hyperparameters given to this trial." - }, - "trialId": { - "description": "The trial id for these results.", - "type": "string" - } - }, - "id": "GoogleCloudMlV1__HyperparameterOutput" - }, - "GoogleCloudMlV1__PredictionOutput": { - "description": "Represents results of a prediction job.", - "type": "object", - "properties": { - "errorCount": { - "format": "int64", - "description": "The number of data instances which resulted in errors.", - "type": "string" - }, - "nodeHours": { - "format": "double", - "description": "Node hours used by the batch prediction job.", - "type": "number" - }, - "outputPath": { - "description": "The output Google Cloud Storage location provided at the job creation time.", - "type": "string" - }, - "predictionCount": { - "format": "int64", - "description": "The number of generated predictions.", - "type": "string" - } - }, - "id": "GoogleCloudMlV1__PredictionOutput" - }, - "GoogleCloudMlV1__AutomaticScaling": { - "id": "GoogleCloudMlV1__AutomaticScaling", - "description": "Options for automatically scaling a model.", - "type": "object", - "properties": { - "minNodes": { - "format": "int32", - "description": "Optional. The minimum number of nodes to allocate for this model. These\nnodes are always up, starting from the time the model is deployed, so the\ncost of operating this model will be at least\n`rate` * `min_nodes` * number of hours since last billing cycle,\nwhere `rate` is the cost per node-hour as documented in\n[pricing](https://cloud.google.com/ml-engine/pricing#prediction_pricing),\neven if no predictions are performed. There is additional cost for each\nprediction performed.\n\nUnlike manual scaling, if the load gets too heavy for the nodes\nthat are up, the service will automatically add nodes to handle the\nincreased load as well as scale back as traffic drops, always maintaining\nat least `min_nodes`. You will be charged for the time in which additional\nnodes are used.\n\nIf not specified, `min_nodes` defaults to 0, in which case, when traffic\nto a model stops (and after a cool-down period), nodes will be shut down\nand no charges will be incurred until traffic to the model resumes.", - "type": "integer" - } - } - }, - "GoogleIamV1__Policy": { - "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam).", - "type": "object", - "properties": { - "etag": { - "format": "byte", - "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.", - "type": "string" - }, - "iamOwned": { - "type": "boolean" - }, - "rules": { - "description": "If more than one rule is specified, the rules are applied in the following\nmanner:\n- All matching LOG rules are always applied.\n- If any DENY/DENY_WITH_LOG rule matches, permission is denied.\n Logging will be applied if one or more matching rule requires logging.\n- Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is\n granted.\n Logging will be applied if one or more matching rule requires logging.\n- Otherwise, if no rule applies, permission is denied.", - "items": { - "$ref": "GoogleIamV1__Rule" - }, - "type": "array" - }, - "version": { - "format": "int32", - "description": "Version of the `Policy`. The default version is 0.", - "type": "integer" - }, - "auditConfigs": { - "description": "Specifies cloud audit logging configuration for this policy.", - "items": { - "$ref": "GoogleIamV1__AuditConfig" - }, - "type": "array" - }, - "bindings": { - "description": "Associates a list of `members` to a `role`.\n`bindings` with no members will result in an error.", - "items": { - "$ref": "GoogleIamV1__Binding" - }, - "type": "array" - } - }, - "id": "GoogleIamV1__Policy" - }, - "GoogleCloudMlV1beta1__AutomaticScaling": { - "type": "object", - "properties": { - "minNodes": { - "format": "int32", - "description": "Optional. The minimum number of nodes to allocate for this model. These\nnodes are always up, starting from the time the model is deployed, so the\ncost of operating this model will be at least\n`rate` * `min_nodes` * number of hours since last billing cycle,\nwhere `rate` is the cost per node-hour as documented in\n[pricing](https://cloud.google.com/ml-engine/pricing#prediction_pricing),\neven if no predictions are performed. There is additional cost for each\nprediction performed.\n\nUnlike manual scaling, if the load gets too heavy for the nodes\nthat are up, the service will automatically add nodes to handle the\nincreased load as well as scale back as traffic drops, always maintaining\nat least `min_nodes`. You will be charged for the time in which additional\nnodes are used.\n\nIf not specified, `min_nodes` defaults to 0, in which case, when traffic\nto a model stops (and after a cool-down period), nodes will be shut down\nand no charges will be incurred until traffic to the model resumes.", - "type": "integer" - } - }, - "id": "GoogleCloudMlV1beta1__AutomaticScaling", - "description": "Options for automatically scaling a model." - }, "GoogleLongrunning__ListOperationsResponse": { - "description": "The response message for Operations.ListOperations.", - "type": "object", "properties": { "nextPageToken": { "description": "The standard List next-page token.", @@ -925,85 +16,9 @@ "type": "array" } }, - "id": "GoogleLongrunning__ListOperationsResponse" - }, - "GoogleIamV1__Condition": { - "description": "A condition to be met.", - "type": "object", - "properties": { - "svc": { - "type": "string", - "description": "Trusted attributes discharged by the service." - }, - "value": { - "description": "DEPRECATED. Use 'values' instead.", - "type": "string" - }, - "sys": { - "enumDescriptions": [ - "Default non-attribute type", - "Region of the resource", - "Service name", - "Resource name", - "IP address of the caller" - ], - "enum": [ - "NO_ATTR", - "REGION", - "SERVICE", - "NAME", - "IP" - ], - "description": "Trusted attributes supplied by any service that owns resources and uses\nthe IAM system for access control.", - "type": "string" - }, - "values": { - "items": { - "type": "string" - }, - "type": "array", - "description": "The objects of the condition. This is mutually exclusive with 'value'." - }, - "iam": { - "enumDescriptions": [ - "Default non-attribute.", - "Either principal or (if present) authority selector.", - "The principal (even if an authority selector is present), which\nmust only be used for attribution, not authorization.", - "An approver (distinct from the requester) that has authorized this\nrequest.\nWhen used with IN, the condition indicates that one of the approvers\nassociated with the request matches the specified principal, or is a\nmember of the specified group. Approvers can only grant additional\naccess, and are thus only used in a strictly positive context\n(e.g. ALLOW/IN or DENY/NOT_IN).", - "What types of justifications have been supplied with this request.\nString values should match enum names from tech.iam.JustificationType,\ne.g. \"MANUAL_STRING\". It is not permitted to grant access based on\nthe *absence* of a justification, so justification conditions can only\nbe used in a \"positive\" context (e.g., ALLOW/IN or DENY/NOT_IN).\n\nMultiple justifications, e.g., a Buganizer ID and a manually-entered\nreason, are normal and supported." - ], - "enum": [ - "NO_ATTR", - "AUTHORITY", - "ATTRIBUTION", - "APPROVER", - "JUSTIFICATION_TYPE" - ], - "description": "Trusted attributes supplied by the IAM system.", - "type": "string" - }, - "op": { - "enum": [ - "NO_OP", - "EQUALS", - "NOT_EQUALS", - "IN", - "NOT_IN", - "DISCHARGED" - ], - "description": "An operator to apply the subject with.", - "type": "string", - "enumDescriptions": [ - "Default no-op.", - "DEPRECATED. Use IN instead.", - "DEPRECATED. Use NOT_IN instead.", - "The condition is true if the subject (or any element of it if it is\na set) matches any of the supplied values.", - "The condition is true if the subject (or every element of it if it is\na set) matches none of the supplied values.", - "Subject is discharged" - ] - } - }, - "id": "GoogleIamV1__Condition" + "id": "GoogleLongrunning__ListOperationsResponse", + "description": "The response message for Operations.ListOperations.", + "type": "object" }, "GoogleCloudMlV1__ManualScaling": { "description": "Options for manually scaling a model.", @@ -1021,13 +36,6 @@ "description": "Represents results of a training job. Output only.", "type": "object", "properties": { - "trials": { - "description": "Results for individual Hyperparameter trials.\nOnly set for hyperparameter tuning jobs.", - "items": { - "$ref": "GoogleCloudMlV1__HyperparameterOutput" - }, - "type": "array" - }, "completedTrialCount": { "format": "int64", "description": "The number of hyperparameter tuning trials that completed successfully.\nOnly set for hyperparameter tuning jobs.", @@ -1041,6 +49,13 @@ "format": "double", "description": "The amount of ML units consumed by the job.", "type": "number" + }, + "trials": { + "description": "Results for individual Hyperparameter trials.\nOnly set for hyperparameter tuning jobs.", + "items": { + "$ref": "GoogleCloudMlV1__HyperparameterOutput" + }, + "type": "array" } }, "id": "GoogleCloudMlV1__TrainingOutput" @@ -1049,10 +64,6 @@ "description": "Associates `members` with a `role`.", "type": "object", "properties": { - "condition": { - "$ref": "GoogleType__Expr", - "description": "The condition that is associated with this binding.\nNOTE: an unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently.\nThis field is GOOGLE_INTERNAL." - }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@gmail.com` or `joe@example.com`.\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n\n* `domain:{domain}`: A Google Apps domain name that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", "items": { @@ -1061,94 +72,18 @@ "type": "array" }, "role": { - "type": "string", - "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired" + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired", + "type": "string" + }, + "condition": { + "description": "The condition that is associated with this binding.\nNOTE: an unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently.\nThis field is GOOGLE_INTERNAL.", + "$ref": "GoogleType__Expr" } }, "id": "GoogleIamV1__Binding" }, - "GoogleIamV1__Rule": { - "description": "A rule to be applied in a Policy.", - "type": "object", - "properties": { - "description": { - "description": "Human-readable description of the rule.", - "type": "string" - }, - "conditions": { - "items": { - "$ref": "GoogleIamV1__Condition" - }, - "type": "array", - "description": "Additional restrictions that must be met" - }, - "logConfig": { - "description": "The config returned to callers of tech.iam.IAM.CheckPolicy for any entries\nthat match the LOG action.", - "items": { - "$ref": "GoogleIamV1__LogConfig" - }, - "type": "array" - }, - "in": { - "description": "If one or more 'in' clauses are specified, the rule matches if\nthe PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.", - "items": { - "type": "string" - }, - "type": "array" - }, - "permissions": { - "items": { - "type": "string" - }, - "type": "array", - "description": "A permission is a string of form '\u003cservice\u003e.\u003cresource type\u003e.\u003cverb\u003e'\n(e.g., 'storage.buckets.list'). A value of '*' matches all permissions,\nand a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs." - }, - "action": { - "type": "string", - "enumDescriptions": [ - "Default no action.", - "Matching 'Entries' grant access.", - "Matching 'Entries' grant access and the caller promises to log\nthe request per the returned log_configs.", - "Matching 'Entries' deny access.", - "Matching 'Entries' deny access and the caller promises to log\nthe request per the returned log_configs.", - "Matching 'Entries' tell IAM.Check callers to generate logs." - ], - "enum": [ - "NO_ACTION", - "ALLOW", - "ALLOW_WITH_LOG", - "DENY", - "DENY_WITH_LOG", - "LOG" - ], - "description": "Required" - }, - "notIn": { - "description": "If one or more 'not_in' clauses are specified, the rule matches\nif the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.\nThe format for in and not_in entries is the same as for members in a\nBinding (see google/iam/v1/policy.proto).", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "GoogleIamV1__Rule" - }, - "GoogleIamV1_LogConfig_CounterOptions": { - "type": "object", - "properties": { - "field": { - "description": "The field value to attribute.", - "type": "string" - }, - "metric": { - "description": "The metric to update.", - "type": "string" - } - }, - "id": "GoogleIamV1_LogConfig_CounterOptions", - "description": "Options for counters" - }, "GoogleCloudMlV1__PredictRequest": { + "description": "Request for predictions to be issued against a trained model.\n\nThe body of the request is a single JSON object with a single top-level\nfield:\n\n\u003cdl\u003e\n \u003cdt\u003einstances\u003c/dt\u003e\n \u003cdd\u003eA JSON array containing values representing the instances to use for\n prediction.\u003c/dd\u003e\n\u003c/dl\u003e\n\nThe structure of each element of the instances list is determined by your\nmodel's input definition. Instances can include named inputs or can contain\nonly unlabeled values.\n\nNot all data includes named inputs. Some instances will be simple\nJSON values (boolean, number, or string). However, instances are often lists\nof simple values, or complex nested lists. Here are some examples of request\nbodies:\n\nCSV data with each row encoded as a string value:\n\u003cpre\u003e\n{\"instances\": [\"1.0,true,\\\\\"x\\\\\"\", \"-2.0,false,\\\\\"y\\\\\"\"]}\n\u003c/pre\u003e\nPlain text:\n\u003cpre\u003e\n{\"instances\": [\"the quick brown fox\", \"la bruja le dio\"]}\n\u003c/pre\u003e\nSentences encoded as lists of words (vectors of strings):\n\u003cpre\u003e\n{\n \"instances\": [\n [\"the\",\"quick\",\"brown\"],\n [\"la\",\"bruja\",\"le\"],\n ...\n ]\n}\n\u003c/pre\u003e\nFloating point scalar values:\n\u003cpre\u003e\n{\"instances\": [0.0, 1.1, 2.2]}\n\u003c/pre\u003e\nVectors of integers:\n\u003cpre\u003e\n{\n \"instances\": [\n [0, 1, 2],\n [3, 4, 5],\n ...\n ]\n}\n\u003c/pre\u003e\nTensors (in this case, two-dimensional tensors):\n\u003cpre\u003e\n{\n \"instances\": [\n [\n [0, 1, 2],\n [3, 4, 5]\n ],\n ...\n ]\n}\n\u003c/pre\u003e\nImages can be represented different ways. In this encoding scheme the first\ntwo dimensions represent the rows and columns of the image, and the third\ncontains lists (vectors) of the R, G, and B values for each pixel.\n\u003cpre\u003e\n{\n \"instances\": [\n [\n [\n [138, 30, 66],\n [130, 20, 56],\n ...\n ],\n [\n [126, 38, 61],\n [122, 24, 57],\n ...\n ],\n ...\n ],\n ...\n ]\n}\n\u003c/pre\u003e\nJSON strings must be encoded as UTF-8. To send binary data, you must\nbase64-encode the data and mark it as binary. To mark a JSON string\nas binary, replace it with a JSON object with a single attribute named `b64`:\n\u003cpre\u003e{\"b64\": \"...\"} \u003c/pre\u003e\nFor example:\n\nTwo Serialized tf.Examples (fake data, for illustrative purposes only):\n\u003cpre\u003e\n{\"instances\": [{\"b64\": \"X5ad6u\"}, {\"b64\": \"IA9j4nx\"}]}\n\u003c/pre\u003e\nTwo JPEG image byte strings (fake data, for illustrative purposes only):\n\u003cpre\u003e\n{\"instances\": [{\"b64\": \"ASa8asdf\"}, {\"b64\": \"JLK7ljk3\"}]}\n\u003c/pre\u003e\nIf your data includes named references, format each instance as a JSON object\nwith the named references as the keys:\n\nJSON input data to be preprocessed:\n\u003cpre\u003e\n{\n \"instances\": [\n {\n \"a\": 1.0,\n \"b\": true,\n \"c\": \"x\"\n },\n {\n \"a\": -2.0,\n \"b\": false,\n \"c\": \"y\"\n }\n ]\n}\n\u003c/pre\u003e\nSome models have an underlying TensorFlow graph that accepts multiple input\ntensors. In this case, you should use the names of JSON name/value pairs to\nidentify the input tensors, as shown in the following exmaples:\n\nFor a graph with input tensor aliases \"tag\" (string) and \"image\"\n(base64-encoded string):\n\u003cpre\u003e\n{\n \"instances\": [\n {\n \"tag\": \"beach\",\n \"image\": {\"b64\": \"ASa8asdf\"}\n },\n {\n \"tag\": \"car\",\n \"image\": {\"b64\": \"JLK7ljk3\"}\n }\n ]\n}\n\u003c/pre\u003e\nFor a graph with input tensor aliases \"tag\" (string) and \"image\"\n(3-dimensional array of 8-bit ints):\n\u003cpre\u003e\n{\n \"instances\": [\n {\n \"tag\": \"beach\",\n \"image\": [\n [\n [138, 30, 66],\n [130, 20, 56],\n ...\n ],\n [\n [126, 38, 61],\n [122, 24, 57],\n ...\n ],\n ...\n ]\n },\n {\n \"tag\": \"car\",\n \"image\": [\n [\n [255, 0, 102],\n [255, 0, 97],\n ...\n ],\n [\n [254, 1, 101],\n [254, 2, 93],\n ...\n ],\n ...\n ]\n },\n ...\n ]\n}\n\u003c/pre\u003e\nIf the call is successful, the response body will contain one prediction\nentry per instance in the request body. If prediction fails for any\ninstance, the response body will contain no predictions and will contian\na single error entry instead.", "type": "object", "properties": { "httpBody": { @@ -1156,8 +91,7 @@ "$ref": "GoogleApi__HttpBody" } }, - "id": "GoogleCloudMlV1__PredictRequest", - "description": "Request for predictions to be issued against a trained model.\n\nThe body of the request is a single JSON object with a single top-level\nfield:\n\n\u003cdl\u003e\n \u003cdt\u003einstances\u003c/dt\u003e\n \u003cdd\u003eA JSON array containing values representing the instances to use for\n prediction.\u003c/dd\u003e\n\u003c/dl\u003e\n\nThe structure of each element of the instances list is determined by your\nmodel's input definition. Instances can include named inputs or can contain\nonly unlabeled values.\n\nNot all data includes named inputs. Some instances will be simple\nJSON values (boolean, number, or string). However, instances are often lists\nof simple values, or complex nested lists. Here are some examples of request\nbodies:\n\nCSV data with each row encoded as a string value:\n\u003cpre\u003e\n{\"instances\": [\"1.0,true,\\\\\"x\\\\\"\", \"-2.0,false,\\\\\"y\\\\\"\"]}\n\u003c/pre\u003e\nPlain text:\n\u003cpre\u003e\n{\"instances\": [\"the quick brown fox\", \"la bruja le dio\"]}\n\u003c/pre\u003e\nSentences encoded as lists of words (vectors of strings):\n\u003cpre\u003e\n{\n \"instances\": [\n [\"the\",\"quick\",\"brown\"],\n [\"la\",\"bruja\",\"le\"],\n ...\n ]\n}\n\u003c/pre\u003e\nFloating point scalar values:\n\u003cpre\u003e\n{\"instances\": [0.0, 1.1, 2.2]}\n\u003c/pre\u003e\nVectors of integers:\n\u003cpre\u003e\n{\n \"instances\": [\n [0, 1, 2],\n [3, 4, 5],\n ...\n ]\n}\n\u003c/pre\u003e\nTensors (in this case, two-dimensional tensors):\n\u003cpre\u003e\n{\n \"instances\": [\n [\n [0, 1, 2],\n [3, 4, 5]\n ],\n ...\n ]\n}\n\u003c/pre\u003e\nImages can be represented different ways. In this encoding scheme the first\ntwo dimensions represent the rows and columns of the image, and the third\ncontains lists (vectors) of the R, G, and B values for each pixel.\n\u003cpre\u003e\n{\n \"instances\": [\n [\n [\n [138, 30, 66],\n [130, 20, 56],\n ...\n ],\n [\n [126, 38, 61],\n [122, 24, 57],\n ...\n ],\n ...\n ],\n ...\n ]\n}\n\u003c/pre\u003e\nJSON strings must be encoded as UTF-8. To send binary data, you must\nbase64-encode the data and mark it as binary. To mark a JSON string\nas binary, replace it with a JSON object with a single attribute named `b64`:\n\u003cpre\u003e{\"b64\": \"...\"} \u003c/pre\u003e\nFor example:\n\nTwo Serialized tf.Examples (fake data, for illustrative purposes only):\n\u003cpre\u003e\n{\"instances\": [{\"b64\": \"X5ad6u\"}, {\"b64\": \"IA9j4nx\"}]}\n\u003c/pre\u003e\nTwo JPEG image byte strings (fake data, for illustrative purposes only):\n\u003cpre\u003e\n{\"instances\": [{\"b64\": \"ASa8asdf\"}, {\"b64\": \"JLK7ljk3\"}]}\n\u003c/pre\u003e\nIf your data includes named references, format each instance as a JSON object\nwith the named references as the keys:\n\nJSON input data to be preprocessed:\n\u003cpre\u003e\n{\n \"instances\": [\n {\n \"a\": 1.0,\n \"b\": true,\n \"c\": \"x\"\n },\n {\n \"a\": -2.0,\n \"b\": false,\n \"c\": \"y\"\n }\n ]\n}\n\u003c/pre\u003e\nSome models have an underlying TensorFlow graph that accepts multiple input\ntensors. In this case, you should use the names of JSON name/value pairs to\nidentify the input tensors, as shown in the following exmaples:\n\nFor a graph with input tensor aliases \"tag\" (string) and \"image\"\n(base64-encoded string):\n\u003cpre\u003e\n{\n \"instances\": [\n {\n \"tag\": \"beach\",\n \"image\": {\"b64\": \"ASa8asdf\"}\n },\n {\n \"tag\": \"car\",\n \"image\": {\"b64\": \"JLK7ljk3\"}\n }\n ]\n}\n\u003c/pre\u003e\nFor a graph with input tensor aliases \"tag\" (string) and \"image\"\n(3-dimensional array of 8-bit ints):\n\u003cpre\u003e\n{\n \"instances\": [\n {\n \"tag\": \"beach\",\n \"image\": [\n [\n [138, 30, 66],\n [130, 20, 56],\n ...\n ],\n [\n [126, 38, 61],\n [122, 24, 57],\n ...\n ],\n ...\n ]\n },\n {\n \"tag\": \"car\",\n \"image\": [\n [\n [255, 0, 102],\n [255, 0, 97],\n ...\n ],\n [\n [254, 1, 101],\n [254, 2, 93],\n ...\n ],\n ...\n ]\n },\n ...\n ]\n}\n\u003c/pre\u003e\nIf the call is successful, the response body will contain one prediction\nentry per instance in the request body. If prediction fails for any\ninstance, the response body will contain no predictions and will contian\na single error entry instead." + "id": "GoogleCloudMlV1__PredictRequest" }, "GoogleCloudMlV1_HyperparameterOutput_HyperparameterMetric": { "id": "GoogleCloudMlV1_HyperparameterOutput_HyperparameterMetric", @@ -1176,42 +110,34 @@ } } }, - "GoogleIamV1_LogConfig_CloudAuditOptions": { - "properties": { - "logName": { - "description": "The log_name to populate in the Cloud Audit Record.", - "type": "string", - "enumDescriptions": [ - "Default. Should not be used.", - "Corresponds to \"cloudaudit.googleapis.com/activity\"", - "Corresponds to \"cloudaudit.googleapis.com/data_access\"" - ], - "enum": [ - "UNSPECIFIED_LOG_NAME", - "ADMIN_ACTIVITY", - "DATA_ACCESS" - ] - } - }, - "id": "GoogleIamV1_LogConfig_CloudAuditOptions", - "description": "Write a Cloud Audit log", - "type": "object" - }, "GoogleCloudMlV1__Version": { - "description": "Represents a version of the model.\n\nEach version is a trained model deployed in the cloud, ready to handle\nprediction requests. A model can have multiple versions. You can get\ninformation about all of the versions of a given model by calling\n[projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list).", + "description": "Represents a version of the model.\n\nEach version is a trained model deployed in the cloud, ready to handle\nprediction requests. A model can have multiple versions. You can get\ninformation about all of the versions of a given model by calling\n[projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list).\n\nNext ID: 19\nLINT.IfChange", "type": "object", "properties": { + "runtimeVersion": { + "description": "Optional. The Google Cloud ML runtime version to use for this deployment.\nIf not set, Google Cloud ML will choose a version.", + "type": "string" + }, + "lastUseTime": { + "format": "google-datetime", + "description": "Output only. The time the version was last used for prediction.", + "type": "string" + }, "description": { "description": "Optional. The description specified for the version when it was created.", "type": "string" }, "deploymentUri": { - "type": "string", - "description": "Required. The Google Cloud Storage location of the trained model used to\ncreate the version. See the\n[overview of model\ndeployment](/ml-engine/docs/concepts/deployment-overview) for more\ninformaiton.\n\nWhen passing Version to\n[projects.models.versions.create](/ml-engine/reference/rest/v1/projects.models.versions/create)\nthe model service uses the specified location as the source of the model.\nOnce deployed, the model version is hosted by the prediction service, so\nthis location is useful only as a historical record.\nThe total number of model files can't exceed 1000." + "description": "Required. The Google Cloud Storage location of the trained model used to\ncreate the version. See the\n[overview of model\ndeployment](/ml-engine/docs/concepts/deployment-overview) for more\ninformation.\n\nWhen passing Version to\n[projects.models.versions.create](/ml-engine/reference/rest/v1/projects.models.versions/create)\nthe model service uses the specified location as the source of the model.\nOnce deployed, the model version is hosted by the prediction service, so\nthis location is useful only as a historical record.\nThe total number of model files can't exceed 1000.", + "type": "string" + }, + "autoScaling": { + "description": "Automatically scale the number of nodes used to serve the model in\nresponse to increases and decreases in traffic. Care should be\ntaken to ramp up traffic according to the model's ability to scale\nor you will start seeing increases in latency and 429 response codes.", + "$ref": "GoogleCloudMlV1__AutoScaling" }, "isDefault": { - "description": "Output only. If true, this version will be used to handle prediction\nrequests that do not specify a version.\n\nYou can change the default version by calling\n[projects.methods.versions.setDefault](/ml-engine/reference/rest/v1/projects.models.versions/setDefault).", - "type": "boolean" + "type": "boolean", + "description": "Output only. If true, this version will be used to handle prediction\nrequests that do not specify a version.\n\nYou can change the default version by calling\n[projects.methods.versions.setDefault](/ml-engine/reference/rest/v1/projects.models.versions/setDefault)." }, "createTime": { "format": "google-datetime", @@ -1222,20 +148,22 @@ "enumDescriptions": [ "The version state is unspecified.", "The version is ready for prediction.", - "The version is still in the process of creation.", - "The version failed to be created, possibly cancelled.\n`error_message` should contain the details of the failure." + "The version is in the process of creation.", + "The version failed to be created, possibly cancelled.\n`error_message` should contain the details of the failure.", + "The version is in the process of deletion." ], "enum": [ "UNKNOWN", "READY", "CREATING", - "FAILED" + "FAILED", + "DELETING" ], "description": "Output only. The state of a version.", "type": "string" }, "manualScaling": { - "description": "Manually select the number of nodes to use for serving the\nmodel. You should generally use `automatic_scaling` with an appropriate\n`min_nodes` instead, but this option is available if you want more\npredictable billing. Beware that latency and error rates will increase\nif the traffic exceeds that capability of the system to serve it based\non the selected number of nodes.", + "description": "Manually select the number of nodes to use for serving the\nmodel. You should generally use `auto_scaling` with an appropriate\n`min_nodes` instead, but this option is available if you want more\npredictable billing. Beware that latency and error rates will increase\nif the traffic exceeds that capability of the system to serve it based\non the selected number of nodes.", "$ref": "GoogleCloudMlV1__ManualScaling" }, "name": { @@ -1245,25 +173,11 @@ "errorMessage": { "description": "Output only. The details of a failure or a cancellation.", "type": "string" - }, - "automaticScaling": { - "description": "Automatically scale the number of nodes used to serve the model in\nresponse to increases and decreases in traffic. Care should be\ntaken to ramp up traffic according to the model's ability to scale\nor you will start seeing increases in latency and 429 response codes.", - "$ref": "GoogleCloudMlV1__AutomaticScaling" - }, - "runtimeVersion": { - "description": "Optional. The Google Cloud ML runtime version to use for this deployment.\nIf not set, Google Cloud ML will choose a version.", - "type": "string" - }, - "lastUseTime": { - "type": "string", - "format": "google-datetime", - "description": "Output only. The time the version was last used for prediction." } }, "id": "GoogleCloudMlV1__Version" }, "GoogleCloudMlV1__ParameterSpec": { - "type": "object", "properties": { "minValue": { "format": "double", @@ -1278,11 +192,6 @@ }, "type": "array" }, - "maxValue": { - "type": "number", - "format": "double", - "description": "Required if typeis `DOUBLE` or `INTEGER`. This field\nshould be unset if type is `CATEGORICAL`. This value should be integers if\ntype is `INTEGER`." - }, "scaleType": { "enum": [ "NONE", @@ -1299,7 +208,19 @@ "Scales the feasible space \"reverse\" logarithmically to (0, 1). The result\nis that values close to the top of the feasible space are spread out more\nthan points near the bottom. The entire feasible space must be strictly\npositive." ] }, + "maxValue": { + "format": "double", + "description": "Required if typeis `DOUBLE` or `INTEGER`. This field\nshould be unset if type is `CATEGORICAL`. This value should be integers if\ntype is `INTEGER`.", + "type": "number" + }, "type": { + "enum": [ + "PARAMETER_TYPE_UNSPECIFIED", + "DOUBLE", + "INTEGER", + "CATEGORICAL", + "DISCRETE" + ], "description": "Required. The type of the parameter.", "type": "string", "enumDescriptions": [ @@ -1308,57 +229,28 @@ "Type for integral parameters.", "The parameter is categorical, with a value chosen from the categories\nfield.", "The parameter is real valued, with a fixed set of feasible points. If\n`type==DISCRETE`, feasible_points must be provided, and\n{`min_value`, `max_value`} will be ignored." - ], - "enum": [ - "PARAMETER_TYPE_UNSPECIFIED", - "DOUBLE", - "INTEGER", - "CATEGORICAL", - "DISCRETE" ] }, + "parameterName": { + "type": "string", + "description": "Required. The parameter name must be unique amongst all ParameterConfigs in\na HyperparameterSpec message. E.g., \"learning_rate\"." + }, "categoricalValues": { "description": "Required if type is `CATEGORICAL`. The list of possible categories.", "items": { "type": "string" }, "type": "array" - }, - "parameterName": { - "description": "Required. The parameter name must be unique amongst all ParameterConfigs in\na HyperparameterSpec message. E.g., \"learning_rate\".", - "type": "string" } }, "id": "GoogleCloudMlV1__ParameterSpec", - "description": "Represents a single hyperparameter to optimize." - }, - "GoogleIamV1_LogConfig_DataAccessOptions": { - "description": "Write a Data Access (Gin) log", - "type": "object", - "properties": {}, - "id": "GoogleIamV1_LogConfig_DataAccessOptions" + "description": "Represents a single hyperparameter to optimize.", + "type": "object" }, "GoogleCloudMlV1__PredictionInput": { "description": "Represents input parameters for a prediction job.", "type": "object", "properties": { - "modelName": { - "type": "string", - "description": "Use this field if you want to use the default version for the specified\nmodel. The string must use the following format:\n\n`\"projects/\u003cvar\u003e[YOUR_PROJECT]\u003c/var\u003e/models/\u003cvar\u003e[YOUR_MODEL]\u003c/var\u003e\"`" - }, - "outputPath": { - "description": "Required. The output Google Cloud Storage location.", - "type": "string" - }, - "maxWorkerCount": { - "format": "int64", - "description": "Optional. The maximum number of workers to be used for parallel processing.\nDefaults to 10 if not specified.", - "type": "string" - }, - "uri": { - "type": "string", - "description": "Use this field if you want to specify a Google Cloud Storage path for\nthe model to use." - }, "dataFormat": { "enum": [ "DATA_FORMAT_UNSPECIFIED", @@ -1375,9 +267,14 @@ "The source file is a GZIP-compressed TFRecord file." ] }, + "batchSize": { + "format": "int64", + "description": "Optional. Number of records per batch, defaults to 64.\nThe service will buffer batch_size number of records in memory before\ninvoking one Tensorflow prediction call internally. So take the record\nsize and memory available into consideration when setting this parameter.", + "type": "string" + }, "runtimeVersion": { - "type": "string", - "description": "Optional. The Google Cloud ML runtime version to use for this batch\nprediction. If not set, Google Cloud ML will pick the runtime version used\nduring the CreateVersion request for this model version, or choose the\nlatest stable version when model version information is not available\nsuch as when the model is specified by uri." + "description": "Optional. The Google Cloud ML runtime version to use for this batch\nprediction. If not set, Google Cloud ML will pick the runtime version used\nduring the CreateVersion request for this model version, or choose the\nlatest stable version when model version information is not available\nsuch as when the model is specified by uri.", + "type": "string" }, "inputPaths": { "description": "Required. The Google Cloud Storage location of the input data files.\nMay contain wildcards.", @@ -1393,140 +290,27 @@ "versionName": { "description": "Use this field if you want to specify a version of the model to use. The\nstring is formatted the same way as `model_version`, with the addition\nof the version information:\n\n`\"projects/\u003cvar\u003e[YOUR_PROJECT]\u003c/var\u003e/models/\u003cvar\u003eYOUR_MODEL/versions/\u003cvar\u003e[YOUR_VERSION]\u003c/var\u003e\"`", "type": "string" + }, + "modelName": { + "description": "Use this field if you want to use the default version for the specified\nmodel. The string must use the following format:\n\n`\"projects/\u003cvar\u003e[YOUR_PROJECT]\u003c/var\u003e/models/\u003cvar\u003e[YOUR_MODEL]\u003c/var\u003e\"`", + "type": "string" + }, + "outputPath": { + "description": "Required. The output Google Cloud Storage location.", + "type": "string" + }, + "maxWorkerCount": { + "format": "int64", + "description": "Optional. The maximum number of workers to be used for parallel processing.\nDefaults to 10 if not specified.", + "type": "string" + }, + "uri": { + "description": "Use this field if you want to specify a Google Cloud Storage path for\nthe model to use.", + "type": "string" } }, "id": "GoogleCloudMlV1__PredictionInput" }, - "GoogleCloudMlV1__OperationMetadata": { - "description": "Represents the metadata of the long-running operation.", - "type": "object", - "properties": { - "modelName": { - "type": "string", - "description": "Contains the name of the model associated with the operation." - }, - "version": { - "$ref": "GoogleCloudMlV1__Version", - "description": "Contains the version associated with the operation." - }, - "endTime": { - "format": "google-datetime", - "description": "The time operation processing completed.", - "type": "string" - }, - "operationType": { - "enumDescriptions": [ - "Unspecified operation type.", - "An operation to create a new version.", - "An operation to delete an existing version.", - "An operation to delete an existing model." - ], - "enum": [ - "OPERATION_TYPE_UNSPECIFIED", - "CREATE_VERSION", - "DELETE_VERSION", - "DELETE_MODEL" - ], - "description": "The operation type.", - "type": "string" - }, - "startTime": { - "format": "google-datetime", - "description": "The time operation processing started.", - "type": "string" - }, - "isCancellationRequested": { - "description": "Indicates whether a request to cancel this operation has been made.", - "type": "boolean" - }, - "createTime": { - "format": "google-datetime", - "description": "The time the operation was submitted.", - "type": "string" - } - }, - "id": "GoogleCloudMlV1__OperationMetadata" - }, - "GoogleCloudMlV1beta1__OperationMetadata": { - "description": "Represents the metadata of the long-running operation.", - "type": "object", - "properties": { - "endTime": { - "type": "string", - "format": "google-datetime", - "description": "The time operation processing completed." - }, - "operationType": { - "enumDescriptions": [ - "Unspecified operation type.", - "An operation to create a new version.", - "An operation to delete an existing version.", - "An operation to delete an existing model." - ], - "enum": [ - "OPERATION_TYPE_UNSPECIFIED", - "CREATE_VERSION", - "DELETE_VERSION", - "DELETE_MODEL" - ], - "description": "The operation type.", - "type": "string" - }, - "startTime": { - "format": "google-datetime", - "description": "The time operation processing started.", - "type": "string" - }, - "isCancellationRequested": { - "description": "Indicates whether a request to cancel this operation has been made.", - "type": "boolean" - }, - "createTime": { - "format": "google-datetime", - "description": "The time the operation was submitted.", - "type": "string" - }, - "modelName": { - "description": "Contains the name of the model associated with the operation.", - "type": "string" - }, - "version": { - "description": "Contains the version associated with the operation.", - "$ref": "GoogleCloudMlV1beta1__Version" - } - }, - "id": "GoogleCloudMlV1beta1__OperationMetadata" - }, - "GoogleIamV1__AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\nfoo@gmail.com from DATA_READ logging.", - "type": "object", - "properties": { - "exemptedMembers": { - "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", - "items": { - "type": "string" - }, - "type": "array" - }, - "logType": { - "type": "string", - "enumDescriptions": [ - "Default case. Should never be this.", - "Admin reads. Example: CloudIAM getIamPolicy", - "Data writes. Example: CloudSQL Users create", - "Data reads. Example: CloudSQL Users list" - ], - "enum": [ - "LOG_TYPE_UNSPECIFIED", - "ADMIN_READ", - "DATA_WRITE", - "DATA_READ" - ], - "description": "The log type that this config enables." - } - }, - "id": "GoogleIamV1__AuditLogConfig" - }, "GoogleType__Expr": { "description": "Represents an expression text. Example:\n\n title: \"User account presence\"\n description: \"Determines whether the request has a user account\"\n expression: \"size(request.user) \u003e 0\"", "type": "object", @@ -1544,36 +328,108 @@ "type": "string" }, "expression": { - "description": "Textual representation of an expression in\nCommon Expression Language syntax.\n\nThe application context of the containing message determines which\nwell-known feature set of CEL is supported.", - "type": "string" + "type": "string", + "description": "Textual representation of an expression in\nCommon Expression Language syntax.\n\nThe application context of the containing message determines which\nwell-known feature set of CEL is supported." } }, "id": "GoogleType__Expr" }, + "GoogleIamV1__AuditLogConfig": { + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "description": "The log type that this config enables.", + "type": "string" + } + }, + "id": "GoogleIamV1__AuditLogConfig", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\nfoo@gmail.com from DATA_READ logging.", + "type": "object" + }, + "GoogleCloudMlV1__OperationMetadata": { + "type": "object", + "properties": { + "isCancellationRequested": { + "description": "Indicates whether a request to cancel this operation has been made.", + "type": "boolean" + }, + "createTime": { + "format": "google-datetime", + "description": "The time the operation was submitted.", + "type": "string" + }, + "modelName": { + "description": "Contains the name of the model associated with the operation.", + "type": "string" + }, + "version": { + "description": "Contains the version associated with the operation.", + "$ref": "GoogleCloudMlV1__Version" + }, + "endTime": { + "format": "google-datetime", + "description": "The time operation processing completed.", + "type": "string" + }, + "operationType": { + "enum": [ + "OPERATION_TYPE_UNSPECIFIED", + "CREATE_VERSION", + "DELETE_VERSION", + "DELETE_MODEL", + "UPDATE_MODEL", + "UPDATE_VERSION" + ], + "description": "The operation type.", + "type": "string", + "enumDescriptions": [ + "Unspecified operation type.", + "An operation to create a new version.", + "An operation to delete an existing version.", + "An operation to delete an existing model.", + "An operation to update an existing model.", + "An operation to update an existing version." + ] + }, + "startTime": { + "type": "string", + "format": "google-datetime", + "description": "The time operation processing started." + } + }, + "id": "GoogleCloudMlV1__OperationMetadata", + "description": "Represents the metadata of the long-running operation.\n\nNext ID: 9" + }, "GoogleCloudMlV1__HyperparameterSpec": { "description": "Represents a set of hyperparameters to optimize.", "type": "object", "properties": { - "maxTrials": { - "format": "int32", - "description": "Optional. How many training trials should be attempted to optimize\nthe specified hyperparameters.\n\nDefaults to one.", - "type": "integer" - }, - "params": { - "description": "Required. The set of parameters to tune.", - "items": { - "$ref": "GoogleCloudMlV1__ParameterSpec" - }, - "type": "array" - }, "maxParallelTrials": { + "type": "integer", "format": "int32", - "description": "Optional. The number of training trials to run concurrently.\nYou can reduce the time it takes to perform hyperparameter tuning by adding\ntrials in parallel. However, each trail only benefits from the information\ngained in completed trials. That means that a trial does not get access to\nthe results of trials running at the same time, which could reduce the\nquality of the overall optimization.\n\nEach trial will use the same scale tier and machine types.\n\nDefaults to one.", - "type": "integer" + "description": "Optional. The number of training trials to run concurrently.\nYou can reduce the time it takes to perform hyperparameter tuning by adding\ntrials in parallel. However, each trail only benefits from the information\ngained in completed trials. That means that a trial does not get access to\nthe results of trials running at the same time, which could reduce the\nquality of the overall optimization.\n\nEach trial will use the same scale tier and machine types.\n\nDefaults to one." }, "hyperparameterMetricTag": { - "description": "Optional. The Tensorflow summary tag name to use for optimizing trials. For\ncurrent versions of Tensorflow, this tag name should exactly match what is\nshown in Tensorboard, including all scopes. For versions of Tensorflow\nprior to 0.12, this should be only the tag passed to tf.Summary.\nBy default, \"training/hptuning/metric\" will be used.", - "type": "string" + "type": "string", + "description": "Optional. The Tensorflow summary tag name to use for optimizing trials. For\ncurrent versions of Tensorflow, this tag name should exactly match what is\nshown in Tensorboard, including all scopes. For versions of Tensorflow\nprior to 0.12, this should be only the tag passed to tf.Summary.\nBy default, \"training/hptuning/metric\" will be used." }, "goal": { "enumDescriptions": [ @@ -1588,46 +444,57 @@ ], "description": "Required. The type of goal to use for tuning. Available types are\n`MAXIMIZE` and `MINIMIZE`.\n\nDefaults to `MAXIMIZE`.", "type": "string" + }, + "maxTrials": { + "format": "int32", + "description": "Optional. How many training trials should be attempted to optimize\nthe specified hyperparameters.\n\nDefaults to one.", + "type": "integer" + }, + "params": { + "description": "Required. The set of parameters to tune.", + "items": { + "$ref": "GoogleCloudMlV1__ParameterSpec" + }, + "type": "array" } }, "id": "GoogleCloudMlV1__HyperparameterSpec" }, "GoogleCloudMlV1__ListJobsResponse": { + "description": "Response message for the ListJobs method.", "type": "object", "properties": { - "nextPageToken": { - "type": "string", - "description": "Optional. Pass this token as the `page_token` field of the request for a\nsubsequent call." - }, "jobs": { "description": "The list of jobs.", "items": { "$ref": "GoogleCloudMlV1__Job" }, "type": "array" + }, + "nextPageToken": { + "description": "Optional. Pass this token as the `page_token` field of the request for a\nsubsequent call.", + "type": "string" } }, - "id": "GoogleCloudMlV1__ListJobsResponse", - "description": "Response message for the ListJobs method." + "id": "GoogleCloudMlV1__ListJobsResponse" }, "GoogleCloudMlV1__SetDefaultVersionRequest": { + "description": "Request message for the SetDefaultVersion request.", "type": "object", "properties": {}, - "id": "GoogleCloudMlV1__SetDefaultVersionRequest", - "description": "Request message for the SetDefaultVersion request." + "id": "GoogleCloudMlV1__SetDefaultVersionRequest" }, "GoogleLongrunning__Operation": { - "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", "type": "object", "properties": { "done": { - "type": "boolean", - "description": "If the value is `false`, it means the operation is still in progress.\nIf true, the operation is completed, and either `error` or `response` is\navailable." + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" }, "response": { "additionalProperties": { - "type": "any", - "description": "Properties of the object. Contains field @type with type URL." + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" }, "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", "type": "object" @@ -1649,16 +516,36 @@ "type": "object" } }, - "id": "GoogleLongrunning__Operation" + "id": "GoogleLongrunning__Operation", + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call." }, - "GoogleCloudMlV1__Model": { - "description": "Represents a machine learning solution.\n\nA model can have multiple versions, each of which is a deployed, trained\nmodel ready to receive prediction requests. The model itself is just a\ncontainer.", + "GoogleIamV1__AuditConfig": { "type": "object", "properties": { - "onlinePredictionLogging": { - "type": "boolean", - "description": "Optional. If true, enables StackDriver Logging for online prediction.\nDefault is false." + "service": { + "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", + "type": "string" }, + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.\nNext ID: 4", + "items": { + "$ref": "GoogleIamV1__AuditLogConfig" + }, + "type": "array" + }, + "exemptedMembers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "GoogleIamV1__AuditConfig", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"fooservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:bar@gmail.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts foo@gmail.com from DATA_READ logging, and\nbar@gmail.com from DATA_WRITE logging." + }, + "GoogleCloudMlV1__Model": { + "type": "object", + "properties": { "defaultVersion": { "description": "Output only. The default version of the model. This version will be used to\nhandle prediction requests that do not specify a version.\n\nYou can change the default version by calling\n[projects.methods.versions.setDefault](/ml-engine/reference/rest/v1/projects.models.versions/setDefault).", "$ref": "GoogleCloudMlV1__Version" @@ -1677,39 +564,40 @@ "description": { "description": "Optional. The description specified for the model when it was created.", "type": "string" + }, + "onlinePredictionLogging": { + "description": "Optional. If true, enables StackDriver Logging for online prediction.\nDefault is false.", + "type": "boolean" } }, - "id": "GoogleCloudMlV1__Model" + "id": "GoogleCloudMlV1__Model", + "description": "Represents a machine learning solution.\n\nA model can have multiple versions, each of which is a deployed, trained\nmodel ready to receive prediction requests. The model itself is just a\ncontainer.\n\nNext ID: 8" }, - "GoogleIamV1__AuditConfig": { - "id": "GoogleIamV1__AuditConfig", - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"fooservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:bar@gmail.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts foo@gmail.com from DATA_READ logging, and\nbar@gmail.com from DATA_WRITE logging.", + "GoogleProtobuf__Empty": { + "type": "object", + "properties": {}, + "id": "GoogleProtobuf__Empty", + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`." + }, + "GoogleIamV1__TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", "type": "object", "properties": { - "auditLogConfigs": { - "description": "The configuration for logging of each type of permission.\nNext ID: 4", - "items": { - "$ref": "GoogleIamV1__AuditLogConfig" - }, - "type": "array" - }, - "exemptedMembers": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", "items": { "type": "string" }, "type": "array" - }, - "service": { - "type": "string", - "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services." } - } + }, + "id": "GoogleIamV1__TestIamPermissionsRequest" }, - "GoogleProtobuf__Empty": { + "GoogleCloudMlV1__CancelJobRequest": { + "description": "Request message for the CancelJob method.", + "type": "object", "properties": {}, - "id": "GoogleProtobuf__Empty", - "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", - "type": "object" + "id": "GoogleCloudMlV1__CancelJobRequest" }, "GoogleCloudMlV1__ListVersionsResponse": { "description": "Response message for the ListVersions method.", @@ -1729,68 +617,30 @@ }, "id": "GoogleCloudMlV1__ListVersionsResponse" }, - "GoogleCloudMlV1__CancelJobRequest": { - "description": "Request message for the CancelJob method.", - "type": "object", - "properties": {}, - "id": "GoogleCloudMlV1__CancelJobRequest" - }, - "GoogleIamV1__TestIamPermissionsRequest": { - "description": "Request message for `TestIamPermissions` method.", + "GoogleCloudMlV1__AutoScaling": { + "description": "Options for automatically scaling a model.", "type": "object", "properties": { - "permissions": { - "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "GoogleIamV1__TestIamPermissionsRequest" - }, - "GoogleCloudMlV1beta1__ManualScaling": { - "properties": { - "nodes": { + "minNodes": { "format": "int32", - "description": "The number of nodes to allocate for this model. These nodes are always up,\nstarting from the time the model is deployed, so the cost of operating\nthis model will be proportional to `nodes` * number of hours since\nlast billing cycle.", + "description": "Optional. The minimum number of nodes to allocate for this model. These\nnodes are always up, starting from the time the model is deployed, so the\ncost of operating this model will be at least\n`rate` * `min_nodes` * number of hours since last billing cycle,\nwhere `rate` is the cost per node-hour as documented in\n[pricing](https://cloud.google.com/ml-engine/pricing#prediction_pricing),\neven if no predictions are performed. There is additional cost for each\nprediction performed.\n\nUnlike manual scaling, if the load gets too heavy for the nodes\nthat are up, the service will automatically add nodes to handle the\nincreased load as well as scale back as traffic drops, always maintaining\nat least `min_nodes`. You will be charged for the time in which additional\nnodes are used.\n\nIf not specified, `min_nodes` defaults to 0, in which case, when traffic\nto a model stops (and after a cool-down period), nodes will be shut down\nand no charges will be incurred until traffic to the model resumes.", "type": "integer" } }, - "id": "GoogleCloudMlV1beta1__ManualScaling", - "description": "Options for manually scaling a model.", - "type": "object" - }, - "GoogleIamV1__LogConfig": { - "description": "Specifies what kind of log the caller must write\nIncrement a streamz counter with the specified metric and field names.\n\nMetric names should start with a '/', generally be lowercase-only,\nand end in \"_count\". Field names should not contain an initial slash.\nThe actual exported metric names will have \"/iam/policy\" prepended.\n\nField names correspond to IAM request parameters and field values are\ntheir respective values.\n\nAt present the only supported field names are\n - \"iam_principal\", corresponding to IAMContext.principal;\n - \"\" (empty string), resulting in one aggretated counter with no field.\n\nExamples:\n counter { metric: \"/debug_access_count\" field: \"iam_principal\" }\n ==\u003e increment counter /iam/policy/backend_debug_access_count\n {iam_principal=[value of IAMContext.principal]}\n\nAt this time we do not support:\n* multiple field names (though this may be supported in the future)\n* decrementing the counter\n* incrementing it by anything other than 1", - "type": "object", - "properties": { - "dataAccess": { - "$ref": "GoogleIamV1_LogConfig_DataAccessOptions", - "description": "Data access options." - }, - "cloudAudit": { - "$ref": "GoogleIamV1_LogConfig_CloudAuditOptions", - "description": "Cloud audit options." - }, - "counter": { - "$ref": "GoogleIamV1_LogConfig_CounterOptions", - "description": "Counter options." - } - }, - "id": "GoogleIamV1__LogConfig" + "id": "GoogleCloudMlV1__AutoScaling" }, "GoogleRpc__Status": { + "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", "type": "object", "properties": { "details": { - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", "items": { - "type": "object", "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" - } + }, + "type": "object" }, "type": "array" }, @@ -1804,10 +654,10 @@ "type": "string" } }, - "id": "GoogleRpc__Status", - "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons." + "id": "GoogleRpc__Status" }, "GoogleCloudMlV1__ListModelsResponse": { + "id": "GoogleCloudMlV1__ListModelsResponse", "description": "Response message for the ListModels method.", "type": "object", "properties": { @@ -1822,32 +672,15 @@ }, "type": "array" } - }, - "id": "GoogleCloudMlV1__ListModelsResponse" + } }, "GoogleCloudMlV1__TrainingInput": { + "id": "GoogleCloudMlV1__TrainingInput", "description": "Represents input parameters for a training job.", "type": "object", "properties": { - "workerCount": { - "format": "int64", - "description": "Optional. The number of worker replicas to use for the training job. Each\nreplica in the cluster will be of the type specified in `worker_type`.\n\nThis value can only be used when `scale_tier` is set to `CUSTOM`. If you\nset this value, you must also set `worker_type`.", - "type": "string" - }, - "masterType": { - "description": "Optional. Specifies the type of virtual machine to use for your training\njob's master worker.\n\nThe following types are supported:\n\n\u003cdl\u003e\n \u003cdt\u003estandard\u003c/dt\u003e\n \u003cdd\u003e\n A basic machine configuration suitable for training simple models with\n small to moderate datasets.\n \u003c/dd\u003e\n \u003cdt\u003elarge_model\u003c/dt\u003e\n \u003cdd\u003e\n A machine with a lot of memory, specially suited for parameter servers\n when your model is large (having many hidden layers or layers with very\n large numbers of nodes).\n \u003c/dd\u003e\n \u003cdt\u003ecomplex_model_s\u003c/dt\u003e\n \u003cdd\u003e\n A machine suitable for the master and workers of the cluster when your\n model requires more computation than the standard machine can handle\n satisfactorily.\n \u003c/dd\u003e\n \u003cdt\u003ecomplex_model_m\u003c/dt\u003e\n \u003cdd\u003e\n A machine with roughly twice the number of cores and roughly double the\n memory of \u003ccode suppresswarning=\"true\"\u003ecomplex_model_s\u003c/code\u003e.\n \u003c/dd\u003e\n \u003cdt\u003ecomplex_model_l\u003c/dt\u003e\n \u003cdd\u003e\n A machine with roughly twice the number of cores and roughly double the\n memory of \u003ccode suppresswarning=\"true\"\u003ecomplex_model_m\u003c/code\u003e.\n \u003c/dd\u003e\n \u003cdt\u003estandard_gpu\u003c/dt\u003e\n \u003cdd\u003e\n A machine equivalent to \u003ccode suppresswarning=\"true\"\u003estandard\u003c/code\u003e that\n also includes a\n \u003ca href=\"/ml-engine/docs/how-tos/using-gpus\"\u003e\n GPU that you can use in your trainer\u003c/a\u003e.\n \u003c/dd\u003e\n \u003cdt\u003ecomplex_model_m_gpu\u003c/dt\u003e\n \u003cdd\u003e\n A machine equivalent to\n \u003ccode suppresswarning=\"true\"\u003ecomplex_model_m\u003c/code\u003e that also includes\n four GPUs.\n \u003c/dd\u003e\n\u003c/dl\u003e\n\nYou must set this value when `scaleTier` is set to `CUSTOM`.", - "type": "string" - }, - "runtimeVersion": { - "description": "Optional. The Google Cloud ML runtime version to use for training. If not\nset, Google Cloud ML will choose the latest stable version.", - "type": "string" - }, - "pythonModule": { - "type": "string", - "description": "Required. The Python module name to run after installing the packages." - }, - "workerType": { - "description": "Optional. Specifies the type of virtual machine to use for your training\njob's worker nodes.\n\nThe supported values are the same as those described in the entry for\n`masterType`.\n\nThis value must be present when `scaleTier` is set to `CUSTOM` and\n`workerCount` is greater than zero.", + "region": { + "description": "Required. The Google Compute Engine region to run the training job in.", "type": "string" }, "args": { @@ -1857,9 +690,9 @@ }, "type": "array" }, - "region": { + "workerType": { "type": "string", - "description": "Required. The Google Compute Engine region to run the training job in." + "description": "Optional. Specifies the type of virtual machine to use for your training\njob's worker nodes.\n\nThe supported values are the same as those described in the entry for\n`masterType`.\n\nThis value must be present when `scaleTier` is set to `CUSTOM` and\n`workerCount` is greater than zero." }, "parameterServerType": { "type": "string", @@ -1870,7 +703,8 @@ "A single worker instance. This tier is suitable for learning how to use\nCloud ML, and for experimenting with new models using small datasets.", "Many workers and a few parameter servers.", "A large number of workers with many parameter servers.", - "A single worker instance [with a GPU](/ml-engine/docs/how-tos/using-gpus).", + "A single worker instance [with a\nGPU](/ml-engine/docs/how-tos/using-gpus).", + "A single worker instance with a [Cloud TPU](/tpu)", "The CUSTOM tier is not a set tier, but rather enables you to use your\nown cluster specification. When you use this tier, set values to\nconfigure your processing cluster according to these guidelines:\n\n* You _must_ set `TrainingInput.masterType` to specify the type\n of machine to use for your master node. This is the only required\n setting.\n\n* You _may_ set `TrainingInput.workerCount` to specify the number of\n workers to use. If you specify one or more workers, you _must_ also\n set `TrainingInput.workerType` to specify the type of machine to use\n for your worker nodes.\n\n* You _may_ set `TrainingInput.parameterServerCount` to specify the\n number of parameter servers to use. If you specify one or more\n parameter servers, you _must_ also set\n `TrainingInput.parameterServerType` to specify the type of machine to\n use for your parameter servers.\n\nNote that all of your workers must use the same machine type, which can\nbe different from your parameter server type and master type. Your\nparameter servers must likewise use the same machine type, which can be\ndifferent from your worker type and master type." ], "enum": [ @@ -1878,6 +712,7 @@ "STANDARD_1", "PREMIUM_1", "BASIC_GPU", + "BASIC_TPU", "CUSTOM" ], "description": "Required. Specifies the machine types, the number of replicas for workers\nand parameter servers.", @@ -1902,25 +737,42 @@ "type": "string" }, "type": "array" + }, + "workerCount": { + "format": "int64", + "description": "Optional. The number of worker replicas to use for the training job. Each\nreplica in the cluster will be of the type specified in `worker_type`.\n\nThis value can only be used when `scale_tier` is set to `CUSTOM`. If you\nset this value, you must also set `worker_type`.", + "type": "string" + }, + "masterType": { + "description": "Optional. Specifies the type of virtual machine to use for your training\njob's master worker.\n\nThe following types are supported:\n\n\u003cdl\u003e\n \u003cdt\u003estandard\u003c/dt\u003e\n \u003cdd\u003e\n A basic machine configuration suitable for training simple models with\n small to moderate datasets.\n \u003c/dd\u003e\n \u003cdt\u003elarge_model\u003c/dt\u003e\n \u003cdd\u003e\n A machine with a lot of memory, specially suited for parameter servers\n when your model is large (having many hidden layers or layers with very\n large numbers of nodes).\n \u003c/dd\u003e\n \u003cdt\u003ecomplex_model_s\u003c/dt\u003e\n \u003cdd\u003e\n A machine suitable for the master and workers of the cluster when your\n model requires more computation than the standard machine can handle\n satisfactorily.\n \u003c/dd\u003e\n \u003cdt\u003ecomplex_model_m\u003c/dt\u003e\n \u003cdd\u003e\n A machine with roughly twice the number of cores and roughly double the\n memory of \u003ccode suppresswarning=\"true\"\u003ecomplex_model_s\u003c/code\u003e.\n \u003c/dd\u003e\n \u003cdt\u003ecomplex_model_l\u003c/dt\u003e\n \u003cdd\u003e\n A machine with roughly twice the number of cores and roughly double the\n memory of \u003ccode suppresswarning=\"true\"\u003ecomplex_model_m\u003c/code\u003e.\n \u003c/dd\u003e\n \u003cdt\u003estandard_gpu\u003c/dt\u003e\n \u003cdd\u003e\n A machine equivalent to \u003ccode suppresswarning=\"true\"\u003estandard\u003c/code\u003e that\n also includes a\n \u003ca href=\"/ml-engine/docs/how-tos/using-gpus\"\u003e\n GPU that you can use in your trainer\u003c/a\u003e.\n \u003c/dd\u003e\n \u003cdt\u003ecomplex_model_m_gpu\u003c/dt\u003e\n \u003cdd\u003e\n A machine equivalent to\n \u003ccode suppresswarning=\"true\"\u003ecomplex_model_m\u003c/code\u003e that also includes\n four GPUs.\n \u003c/dd\u003e\n\u003c/dl\u003e\n\nYou must set this value when `scaleTier` is set to `CUSTOM`.", + "type": "string" + }, + "runtimeVersion": { + "description": "Optional. The Google Cloud ML runtime version to use for training. If not\nset, Google Cloud ML will choose the latest stable version.", + "type": "string" + }, + "pythonModule": { + "description": "Required. The Python module name to run after installing the packages.", + "type": "string" } - }, - "id": "GoogleCloudMlV1__TrainingInput" + } }, "GoogleCloudMlV1__Job": { - "description": "Represents a training or prediction job.", - "type": "object", "properties": { + "trainingOutput": { + "$ref": "GoogleCloudMlV1__TrainingOutput", + "description": "The current training job result." + }, + "trainingInput": { + "description": "Input parameters to create a training job.", + "$ref": "GoogleCloudMlV1__TrainingInput" + }, + "createTime": { + "type": "string", + "format": "google-datetime", + "description": "Output only. When the job was created." + }, "state": { - "enum": [ - "STATE_UNSPECIFIED", - "QUEUED", - "PREPARING", - "RUNNING", - "SUCCEEDED", - "FAILED", - "CANCELLING", - "CANCELLED" - ], "description": "Output only. The detailed state of a job.", "type": "string", "enumDescriptions": [ @@ -1932,20 +784,30 @@ "The job failed.\n`error_message` should contain the details of the failure.", "The job is being cancelled.\n`error_message` should describe the reason for the cancellation.", "The job has been cancelled.\n`error_message` should describe the reason for the cancellation." + ], + "enum": [ + "STATE_UNSPECIFIED", + "QUEUED", + "PREPARING", + "RUNNING", + "SUCCEEDED", + "FAILED", + "CANCELLING", + "CANCELLED" ] }, "predictionInput": { - "description": "Input parameters to create a prediction job.", - "$ref": "GoogleCloudMlV1__PredictionInput" - }, - "jobId": { - "description": "Required. The user-specified id of the job.", - "type": "string" + "$ref": "GoogleCloudMlV1__PredictionInput", + "description": "Input parameters to create a prediction job." }, "errorMessage": { "description": "Output only. The details of a failure or a cancellation.", "type": "string" }, + "jobId": { + "description": "Required. The user-specified id of the job.", + "type": "string" + }, "endTime": { "format": "google-datetime", "description": "Output only. When the job processing was completed.", @@ -1959,32 +821,16 @@ "predictionOutput": { "description": "The current prediction job result.", "$ref": "GoogleCloudMlV1__PredictionOutput" - }, - "trainingOutput": { - "$ref": "GoogleCloudMlV1__TrainingOutput", - "description": "The current training job result." - }, - "trainingInput": { - "$ref": "GoogleCloudMlV1__TrainingInput", - "description": "Input parameters to create a training job." - }, - "createTime": { - "format": "google-datetime", - "description": "Output only. When the job was created.", - "type": "string" } }, - "id": "GoogleCloudMlV1__Job" + "id": "GoogleCloudMlV1__Job", + "description": "Represents a training or prediction job.\n\nNext ID: 16", + "type": "object" }, "GoogleApi__HttpBody": { "description": "Message that represents an arbitrary HTTP body. It should only be used for\npayload formats that can't be represented as JSON, such as raw binary or\nan HTML page.\n\n\nThis message can be used both in streaming and non-streaming API methods in\nthe request as well as the response.\n\nIt can be used as a top-level request field, which is convenient if one\nwants to extract parameters from either the URL or HTTP template into the\nrequest fields and also want access to the raw HTTP body.\n\nExample:\n\n message GetResourceRequest {\n // A unique request id.\n string request_id = 1;\n\n // The raw HTTP body is bound to this field.\n google.api.HttpBody http_body = 2;\n }\n\n service ResourceService {\n rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);\n rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty);\n }\n\nExample with streaming methods:\n\n service CaldavService {\n rpc GetCalendar(stream google.api.HttpBody)\n returns (stream google.api.HttpBody);\n rpc UpdateCalendar(stream google.api.HttpBody)\n returns (stream google.api.HttpBody);\n }\n\nUse of this type only changes how the request and response bodies are\nhandled, all other features will continue to work unchanged.", "type": "object", "properties": { - "data": { - "format": "byte", - "description": "HTTP body binary data.", - "type": "string" - }, "contentType": { "description": "The HTTP Content-Type string representing the content type of the body.", "type": "string" @@ -1999,11 +845,17 @@ "type": "object" }, "type": "array" + }, + "data": { + "format": "byte", + "description": "HTTP body binary data.", + "type": "string" } }, "id": "GoogleApi__HttpBody" }, "GoogleCloudMlV1__GetConfigResponse": { + "id": "GoogleCloudMlV1__GetConfigResponse", "description": "Returns service account information associated with a project.", "type": "object", "properties": { @@ -2016,80 +868,133 @@ "description": "The service account Cloud ML uses to access resources in the project.", "type": "string" } - }, - "id": "GoogleCloudMlV1__GetConfigResponse" + } }, - "GoogleCloudMlV1beta1__Version": { - "description": "Represents a version of the model.\n\nEach version is a trained model deployed in the cloud, ready to handle\nprediction requests. A model can have multiple versions. You can get\ninformation about all of the versions of a given model by calling\n[projects.models.versions.list](/ml-engine/reference/rest/v1beta1/projects.models.versions/list).", + "GoogleIamV1__TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", "type": "object", "properties": { - "description": { - "description": "Optional. The description specified for the version when it was created.", - "type": "string" + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "GoogleIamV1__TestIamPermissionsResponse" + }, + "GoogleCloudMlV1__HyperparameterOutput": { + "description": "Represents the result of a single hyperparameter tuning trial from a\ntraining job. The TrainingOutput object that is returned on successful\ncompletion of a training job with hyperparameter tuning includes a list\nof HyperparameterOutput objects, one for each successful trial.", + "type": "object", + "properties": { + "allMetrics": { + "description": "All recorded object metrics for this trial. This field is not currently\npopulated.", + "items": { + "$ref": "GoogleCloudMlV1_HyperparameterOutput_HyperparameterMetric" + }, + "type": "array" }, - "deploymentUri": { - "type": "string", - "description": "Required. The Google Cloud Storage location of the trained model used to\ncreate the version. See the\n[overview of model\ndeployment](/ml-engine/docs/concepts/deployment-overview) for more\ninformaiton.\n\nWhen passing Version to\n[projects.models.versions.create](/ml-engine/reference/rest/v1beta1/projects.models.versions/create)\nthe model service uses the specified location as the source of the model.\nOnce deployed, the model version is hosted by the prediction service, so\nthis location is useful only as a historical record.\nThe total number of model files can't exceed 1000." + "finalMetric": { + "$ref": "GoogleCloudMlV1_HyperparameterOutput_HyperparameterMetric", + "description": "The final objective metric seen for this trial." }, - "isDefault": { - "description": "Output only. If true, this version will be used to handle prediction\nrequests that do not specify a version.\n\nYou can change the default version by calling\n[projects.methods.versions.setDefault](/ml-engine/reference/rest/v1beta1/projects.models.versions/setDefault).", - "type": "boolean" + "hyperparameters": { + "description": "The hyperparameters given to this trial.", + "type": "object", + "additionalProperties": { + "type": "string" + } }, - "createTime": { - "format": "google-datetime", - "description": "Output only. The time the version was created.", - "type": "string" - }, - "state": { - "enum": [ - "UNKNOWN", - "READY", - "CREATING", - "FAILED" - ], - "description": "Output only. The state of a version.", - "type": "string", - "enumDescriptions": [ - "/ The version state is unspecified.", - "The version is ready for prediction.", - "The version is still in the process of creation.", - "The version failed to be created, possibly cancelled.\n`error_message` should contain the details of the failure." - ] - }, - "manualScaling": { - "description": "Manually select the number of nodes to use for serving the\nmodel. You should generally use `automatic_scaling` with an appropriate\n`min_nodes` instead, but this option is available if you want predictable\nbilling. Beware that latency and error rates will increase if the\ntraffic exceeds that capability of the system to serve it based on\nthe selected number of nodes.", - "$ref": "GoogleCloudMlV1beta1__ManualScaling" - }, - "name": { - "description": "Required.The name specified for the version when it was created.\n\nThe version name must be unique within the model it is created in.", - "type": "string" - }, - "errorMessage": { - "type": "string", - "description": "Output only. The details of a failure or a cancellation." - }, - "automaticScaling": { - "$ref": "GoogleCloudMlV1beta1__AutomaticScaling", - "description": "Automatically scale the number of nodes used to serve the model in\nresponse to increases and decreases in traffic. Care should be\ntaken to ramp up traffic according to the model's ability to scale\nor you will start seeing increases in latency and 429 response codes." - }, - "lastUseTime": { - "format": "google-datetime", - "description": "Output only. The time the version was last used for prediction.", - "type": "string" - }, - "runtimeVersion": { - "description": "Optional. The Google Cloud ML runtime version to use for this deployment.\nIf not set, Google Cloud ML will choose a version.", + "trialId": { + "description": "The trial id for these results.", "type": "string" } }, - "id": "GoogleCloudMlV1beta1__Version" + "id": "GoogleCloudMlV1__HyperparameterOutput" + }, + "GoogleIamV1__SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "type": "object", + "properties": { + "updateMask": { + "format": "google-fieldmask", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "type": "string" + }, + "policy": { + "$ref": "GoogleIamV1__Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + } + }, + "id": "GoogleIamV1__SetIamPolicyRequest" + }, + "GoogleCloudMlV1__PredictionOutput": { + "description": "Represents results of a prediction job.", + "type": "object", + "properties": { + "errorCount": { + "format": "int64", + "description": "The number of data instances which resulted in errors.", + "type": "string" + }, + "nodeHours": { + "format": "double", + "description": "Node hours used by the batch prediction job.", + "type": "number" + }, + "outputPath": { + "description": "The output Google Cloud Storage location provided at the job creation time.", + "type": "string" + }, + "predictionCount": { + "type": "string", + "format": "int64", + "description": "The number of generated predictions." + } + }, + "id": "GoogleCloudMlV1__PredictionOutput" + }, + "GoogleIamV1__Policy": { + "id": "GoogleIamV1__Policy", + "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam).", + "type": "object", + "properties": { + "etag": { + "format": "byte", + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.", + "type": "string" + }, + "version": { + "format": "int32", + "description": "Version of the `Policy`. The default version is 0.", + "type": "integer" + }, + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "GoogleIamV1__AuditConfig" + }, + "type": "array" + }, + "bindings": { + "items": { + "$ref": "GoogleIamV1__Binding" + }, + "type": "array", + "description": "Associates a list of `members` to a `role`.\n`bindings` with no members will result in an error." + }, + "iamOwned": { + "type": "boolean" + } + } } }, - "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" - }, "protocol": "rest", + "icons": { + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" + }, "canonicalName": "Cloud Machine Learning Engine", "auth": { "oauth2": { @@ -2099,5 +1004,843 @@ } } } - } + }, + "rootUrl": "https://ml.googleapis.com/", + "ownerDomain": "google.com", + "name": "ml", + "batchPath": "batch", + "title": "Google Cloud Machine Learning Engine", + "ownerName": "Google", + "resources": { + "projects": { + "methods": { + "getConfig": { + "id": "ml.projects.getConfig", + "path": "v1/{+name}:getConfig", + "description": "Get the service account information associated with your project. You need\nthis information in order to grant the service account persmissions for\nthe Google Cloud Storage location where you put your model training code\nfor training the model with Google Cloud Machine Learning.", + "response": { + "$ref": "GoogleCloudMlV1__GetConfigResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "description": "Required. The project name.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}:getConfig" + }, + "predict": { + "flatPath": "v1/projects/{projectsId}:predict", + "id": "ml.projects.predict", + "path": "v1/{+name}:predict", + "description": "Performs prediction on the data in the request.\n\n**** REMOVE FROM GENERATED DOCUMENTATION", + "request": { + "$ref": "GoogleCloudMlV1__PredictRequest" + }, + "response": { + "$ref": "GoogleApi__HttpBody" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "parameters": { + "name": { + "pattern": "^projects/.+$", + "location": "path", + "description": "Required. The resource name of a model or a version.\n\nAuthorization: requires the `predict` permission on the specified resource.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "models": { + "methods": { + "delete": { + "httpMethod": "DELETE", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunning__Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "location": "path", + "description": "Required. The name of the model.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/models/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/models/{modelsId}", + "path": "v1/{+name}", + "id": "ml.projects.models.delete", + "description": "Deletes a model.\n\nYou can only delete a model if there are no versions in it. You can delete\nversions by calling\n[projects.models.versions.delete](/ml-engine/reference/rest/v1/projects.models.versions/delete)." + }, + "list": { + "description": "Lists the models in a project.\n\nEach project can contain multiple models, and each model can have multiple\nversions.", + "response": { + "$ref": "GoogleCloudMlV1__ListModelsResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "parameters": { + "pageSize": { + "format": "int32", + "description": "Optional. The number of models to retrieve per \"page\" of results. If there\nare more remaining results than this number, the response message will\ncontain a valid value in the `next_page_token` field.\n\nThe default value is 20, and the maximum page size is 100.", + "type": "integer", + "location": "query" + }, + "parent": { + "location": "path", + "description": "Required. The name of the project whose models are to be listed.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$" + }, + "pageToken": { + "location": "query", + "description": "Optional. A page token to request the next page of results.\n\nYou get the token from the `next_page_token` field of the response from\nthe previous call.", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/models", + "id": "ml.projects.models.list", + "path": "v1/{+parent}/models" + }, + "create": { + "description": "Creates a model which will later contain one or more versions.\n\nYou must add at least one version before you can request predictions from\nthe model. Add versions by calling\n[projects.models.versions.create](/ml-engine/reference/rest/v1/projects.models.versions/create).", + "request": { + "$ref": "GoogleCloudMlV1__Model" + }, + "httpMethod": "POST", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "GoogleCloudMlV1__Model" + }, + "parameters": { + "parent": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "Required. The project name." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/models", + "path": "v1/{+parent}/models", + "id": "ml.projects.models.create" + }, + "setIamPolicy": { + "request": { + "$ref": "GoogleIamV1__SetIamPolicyRequest" + }, + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", + "response": { + "$ref": "GoogleIamV1__Policy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "resource": { + "location": "path", + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/models/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/models/{modelsId}:setIamPolicy", + "id": "ml.projects.models.setIamPolicy", + "path": "v1/{+resource}:setIamPolicy" + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", + "response": { + "$ref": "GoogleIamV1__Policy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "resource": { + "pattern": "^projects/[^/]+/models/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectsId}/models/{modelsId}:getIamPolicy", + "id": "ml.projects.models.getIamPolicy", + "path": "v1/{+resource}:getIamPolicy" + }, + "get": { + "path": "v1/{+name}", + "id": "ml.projects.models.get", + "description": "Gets information about a model, including its name, the description (if\nset), and the default version (if at least one version of the model has\nbeen deployed).", + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleCloudMlV1__Model" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "location": "path", + "description": "Required. The name of the model.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/models/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/models/{modelsId}" + }, + "testIamPermissions": { + "flatPath": "v1/projects/{projectsId}/models/{modelsId}:testIamPermissions", + "id": "ml.projects.models.testIamPermissions", + "path": "v1/{+resource}:testIamPermissions", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "request": { + "$ref": "GoogleIamV1__TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1__TestIamPermissionsResponse" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "parameters": { + "resource": { + "pattern": "^projects/[^/]+/models/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "versions": { + "methods": { + "setDefault": { + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleCloudMlV1__Version" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "pattern": "^projects/[^/]+/models/[^/]+/versions/[^/]+$", + "location": "path", + "description": "Required. The name of the version to make the default for the model. You\ncan get the names of all the versions of a model by calling\n[projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list).", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}:setDefault", + "path": "v1/{+name}:setDefault", + "id": "ml.projects.models.versions.setDefault", + "request": { + "$ref": "GoogleCloudMlV1__SetDefaultVersionRequest" + }, + "description": "Designates a version to be the default for the model.\n\nThe default version is used for prediction requests made against the model\nthat don't specify a version.\n\nThe first version to be created for a model is automatically set as the\ndefault. You must make any subsequent changes to the default version\nsetting manually using this method." + }, + "delete": { + "httpMethod": "DELETE", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleLongrunning__Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "description": "Required. The name of the version. You can get the names of all the\nversions of a model by calling\n[projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list).", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/models/[^/]+/versions/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}", + "path": "v1/{+name}", + "id": "ml.projects.models.versions.delete", + "description": "Deletes a model version.\n\nEach model can have multiple versions deployed and in use at any given\ntime. Use this method to remove a single version.\n\nNote: You cannot delete the version that is set as the default version\nof the model unless it is the only remaining version." + }, + "get": { + "description": "Gets information about a model version.\n\nModels can have multiple versions. You can call\n[projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list)\nto get the same information that this method returns for all of the\nversions of a model.", + "httpMethod": "GET", + "response": { + "$ref": "GoogleCloudMlV1__Version" + }, + "parameterOrder": [ + "name" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "location": "path", + "description": "Required. The name of the version.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/models/[^/]+/versions/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}", + "path": "v1/{+name}", + "id": "ml.projects.models.versions.get" + }, + "list": { + "response": { + "$ref": "GoogleCloudMlV1__ListVersionsResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "pageToken": { + "location": "query", + "description": "Optional. A page token to request the next page of results.\n\nYou get the token from the `next_page_token` field of the response from\nthe previous call.", + "type": "string" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Optional. The number of versions to retrieve per \"page\" of results. If\nthere are more remaining results than this number, the response message\nwill contain a valid value in the `next_page_token` field.\n\nThe default value is 20, and the maximum page size is 100.", + "type": "integer" + }, + "parent": { + "pattern": "^projects/[^/]+/models/[^/]+$", + "location": "path", + "description": "Required. The name of the model for which to list the version.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions", + "id": "ml.projects.models.versions.list", + "path": "v1/{+parent}/versions", + "description": "Gets basic information about all the versions of a model.\n\nIf you expect that a model has a lot of versions, or if you need to handle\nonly a limited number of results at a time, you can request that the list\nbe retrieved in batches (called pages):" + }, + "create": { + "request": { + "$ref": "GoogleCloudMlV1__Version" + }, + "description": "Creates a new version of a model from a trained TensorFlow model.\n\nIf the version created in the cloud by this call is the first deployed\nversion of the specified model, it will be made the default version of the\nmodel. When you add a version to a model that already has one or more\nversions, the default version does not automatically change. If you want a\nnew version to be the default, you must call\n[projects.models.versions.setDefault](/ml-engine/reference/rest/v1/projects.models.versions/setDefault).", + "httpMethod": "POST", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "GoogleLongrunning__Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "parent": { + "location": "path", + "description": "Required. The name of the model.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/models/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions", + "path": "v1/{+parent}/versions", + "id": "ml.projects.models.versions.create" + } + } + } + } + }, + "operations": { + "methods": { + "cancel": { + "flatPath": "v1/projects/{projectsId}/operations/{operationsId}:cancel", + "id": "ml.projects.operations.cancel", + "path": "v1/{+name}:cancel", + "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "response": { + "$ref": "GoogleProtobuf__Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/operations/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "path": "v1/{+name}", + "id": "ml.projects.operations.delete", + "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.", + "httpMethod": "DELETE", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobuf__Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "pattern": "^projects/[^/]+/operations/[^/]+$", + "location": "path", + "description": "The name of the operation resource to be deleted.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectsId}/operations/{operationsId}" + }, + "get": { + "flatPath": "v1/projects/{projectsId}/operations/{operationsId}", + "id": "ml.projects.operations.get", + "path": "v1/{+name}", + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "response": { + "$ref": "GoogleLongrunning__Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "pattern": "^projects/[^/]+/operations/[^/]+$", + "location": "path", + "description": "The name of the operation resource.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", + "response": { + "$ref": "GoogleLongrunning__ListOperationsResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "type": "string", + "location": "query" + }, + "pageToken": { + "location": "query", + "description": "The standard list page token.", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + }, + "pageSize": { + "format": "int32", + "description": "The standard list page size.", + "type": "integer", + "location": "query" + } + }, + "flatPath": "v1/projects/{projectsId}/operations", + "id": "ml.projects.operations.list", + "path": "v1/{+name}/operations" + } + } + }, + "jobs": { + "methods": { + "get": { + "response": { + "$ref": "GoogleCloudMlV1__Job" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "pattern": "^projects/[^/]+/jobs/[^/]+$", + "location": "path", + "description": "Required. The name of the job to get the description of.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}", + "id": "ml.projects.jobs.get", + "path": "v1/{+name}", + "description": "Describes a job." + }, + "testIamPermissions": { + "id": "ml.projects.jobs.testIamPermissions", + "path": "v1/{+resource}:testIamPermissions", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "request": { + "$ref": "GoogleIamV1__TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1__TestIamPermissionsResponse" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "parameters": { + "resource": { + "location": "path", + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/jobs/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}:testIamPermissions" + }, + "list": { + "response": { + "$ref": "GoogleCloudMlV1__ListJobsResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "pageToken": { + "description": "Optional. A page token to request the next page of results.\n\nYou get the token from the `next_page_token` field of the response from\nthe previous call.", + "type": "string", + "location": "query" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Optional. The number of jobs to retrieve per \"page\" of results. If there\nare more remaining results than this number, the response message will\ncontain a valid value in the `next_page_token` field.\n\nThe default value is 20, and the maximum page size is 100.", + "type": "integer" + }, + "parent": { + "description": "Required. The name of the project for which to list jobs.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + }, + "filter": { + "location": "query", + "description": "Optional. Specifies the subset of jobs to retrieve.", + "type": "string" + } + }, + "flatPath": "v1/projects/{projectsId}/jobs", + "id": "ml.projects.jobs.list", + "path": "v1/{+parent}/jobs", + "description": "Lists the jobs in the project." + }, + "setIamPolicy": { + "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}:setIamPolicy", + "id": "ml.projects.jobs.setIamPolicy", + "path": "v1/{+resource}:setIamPolicy", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", + "request": { + "$ref": "GoogleIamV1__SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1__Policy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "parameters": { + "resource": { + "pattern": "^projects/[^/]+/jobs/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "flatPath": "v1/projects/{projectsId}/jobs", + "path": "v1/{+parent}/jobs", + "id": "ml.projects.jobs.create", + "description": "Creates a training or a batch prediction job.", + "request": { + "$ref": "GoogleCloudMlV1__Job" + }, + "httpMethod": "POST", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "GoogleCloudMlV1__Job" + }, + "parameters": { + "parent": { + "description": "Required. The project name.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "cancel": { + "path": "v1/{+name}:cancel", + "id": "ml.projects.jobs.cancel", + "description": "Cancels a running job.", + "request": { + "$ref": "GoogleCloudMlV1__CancelJobRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "GoogleProtobuf__Empty" + }, + "parameters": { + "name": { + "description": "Required. The name of the job to cancel.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/jobs/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}:cancel" + }, + "getIamPolicy": { + "httpMethod": "GET", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "GoogleIamV1__Policy" + }, + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/jobs/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}:getIamPolicy", + "path": "v1/{+resource}:getIamPolicy", + "id": "ml.projects.jobs.getIamPolicy", + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset." + } + } + } + } + } + }, + "parameters": { + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", + "location": "query" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string", + "location": "query" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" + }, + "fields": { + "location": "query", + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string", + "location": "query" + }, + "$.xgafv": { + "description": "V1 error format.", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ] + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, + "alt": { + "location": "query", + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ] + }, + "key": { + "type": "string", + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token." + }, + "access_token": { + "location": "query", + "description": "OAuth access token.", + "type": "string" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" + } + }, + "version": "v1", + "baseUrl": "https://ml.googleapis.com/", + "kind": "discovery#restDescription", + "description": "An API to enable creating and using machine learning models.", + "servicePath": "", + "basePath": "", + "revision": "20170926", + "documentationLink": "https://cloud.google.com/ml/", + "id": "ml:v1" } diff --git a/vendor/google.golang.org/api/ml/v1/ml-gen.go b/vendor/google.golang.org/api/ml/v1/ml-gen.go index 2fa57b032..ef0ca099c 100644 --- a/vendor/google.golang.org/api/ml/v1/ml-gen.go +++ b/vendor/google.golang.org/api/ml/v1/ml-gen.go @@ -265,9 +265,9 @@ func (s *GoogleCloudMlV1HyperparameterOutputHyperparameterMetric) UnmarshalJSON( return nil } -// GoogleCloudMlV1__AutomaticScaling: Options for automatically scaling -// a model. -type GoogleCloudMlV1__AutomaticScaling struct { +// GoogleCloudMlV1__AutoScaling: Options for automatically scaling a +// model. +type GoogleCloudMlV1__AutoScaling struct { // MinNodes: Optional. The minimum number of nodes to allocate for this // model. These // nodes are always up, starting from the time the model is deployed, so @@ -316,8 +316,8 @@ type GoogleCloudMlV1__AutomaticScaling struct { NullFields []string `json:"-"` } -func (s *GoogleCloudMlV1__AutomaticScaling) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1__AutomaticScaling +func (s *GoogleCloudMlV1__AutoScaling) MarshalJSON() ([]byte, error) { + type noMethod GoogleCloudMlV1__AutoScaling raw := noMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } @@ -373,7 +373,9 @@ func (s *GoogleCloudMlV1__GetConfigResponse) MarshalJSON() ([]byte, error) { // list // of HyperparameterOutput objects, one for each successful trial. type GoogleCloudMlV1__HyperparameterOutput struct { - // AllMetrics: All recorded object metrics for this trial. + // AllMetrics: All recorded object metrics for this trial. This field is + // not currently + // populated. AllMetrics []*GoogleCloudMlV1HyperparameterOutputHyperparameterMetric `json:"allMetrics,omitempty"` // FinalMetric: The final objective metric seen for this trial. @@ -484,6 +486,8 @@ func (s *GoogleCloudMlV1__HyperparameterSpec) MarshalJSON() ([]byte, error) { } // GoogleCloudMlV1__Job: Represents a training or prediction job. +// +// Next ID: 16 type GoogleCloudMlV1__Job struct { // CreateTime: Output only. When the job was created. CreateTime string `json:"createTime,omitempty"` @@ -712,6 +716,8 @@ func (s *GoogleCloudMlV1__ManualScaling) MarshalJSON() ([]byte, error) { // model ready to receive prediction requests. The model itself is just // a // container. +// +// Next ID: 8 type GoogleCloudMlV1__Model struct { // DefaultVersion: Output only. The default version of the model. This // version will be used to @@ -783,6 +789,8 @@ func (s *GoogleCloudMlV1__Model) MarshalJSON() ([]byte, error) { // GoogleCloudMlV1__OperationMetadata: Represents the metadata of the // long-running operation. +// +// Next ID: 9 type GoogleCloudMlV1__OperationMetadata struct { // CreateTime: The time the operation was submitted. CreateTime string `json:"createTime,omitempty"` @@ -805,6 +813,8 @@ type GoogleCloudMlV1__OperationMetadata struct { // "CREATE_VERSION" - An operation to create a new version. // "DELETE_VERSION" - An operation to delete an existing version. // "DELETE_MODEL" - An operation to delete an existing model. + // "UPDATE_MODEL" - An operation to update an existing model. + // "UPDATE_VERSION" - An operation to update an existing version. OperationType string `json:"operationType,omitempty"` // StartTime: The time operation processing started. @@ -1192,6 +1202,15 @@ func (s *GoogleCloudMlV1__PredictRequest) MarshalJSON() ([]byte, error) { // GoogleCloudMlV1__PredictionInput: Represents input parameters for a // prediction job. type GoogleCloudMlV1__PredictionInput struct { + // BatchSize: Optional. Number of records per batch, defaults to 64. + // The service will buffer batch_size number of records in memory + // before + // invoking one Tensorflow prediction call internally. So take the + // record + // size and memory available into consideration when setting this + // parameter. + BatchSize int64 `json:"batchSize,omitempty,string"` + // DataFormat: Required. The format of the input data files. // // Possible values: @@ -1257,7 +1276,7 @@ type GoogleCloudMlV1__PredictionInput struct { // DEL/versions/[YOUR_VERSION]" VersionName string `json:"versionName,omitempty"` - // ForceSendFields is a list of field names (e.g. "DataFormat") to + // ForceSendFields is a list of field names (e.g. "BatchSize") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -1265,7 +1284,7 @@ type GoogleCloudMlV1__PredictionInput struct { // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DataFormat") to include in + // NullFields is a list of field names (e.g. "BatchSize") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as @@ -1471,8 +1490,10 @@ type GoogleCloudMlV1__TrainingInput struct { // "STANDARD_1" - Many workers and a few parameter servers. // "PREMIUM_1" - A large number of workers with many parameter // servers. - // "BASIC_GPU" - A single worker instance [with a + // "BASIC_GPU" - A single worker instance [with + // a // GPU](/ml-engine/docs/how-tos/using-gpus). + // "BASIC_TPU" - A single worker instance with a [Cloud TPU](/tpu) // "CUSTOM" - The CUSTOM tier is not a set tier, but rather enables // you to use your // own cluster specification. When you use this tier, set values @@ -1622,13 +1643,16 @@ func (s *GoogleCloudMlV1__TrainingOutput) UnmarshalJSON(data []byte) error { // calling // [projects.models.versions.list](/ml-engine/reference/rest/v1/p // rojects.models.versions/list). +// +// Next ID: 19 +// LINT.IfChange type GoogleCloudMlV1__Version struct { - // AutomaticScaling: Automatically scale the number of nodes used to - // serve the model in + // AutoScaling: Automatically scale the number of nodes used to serve + // the model in // response to increases and decreases in traffic. Care should be // taken to ramp up traffic according to the model's ability to scale // or you will start seeing increases in latency and 429 response codes. - AutomaticScaling *GoogleCloudMlV1__AutomaticScaling `json:"automaticScaling,omitempty"` + AutoScaling *GoogleCloudMlV1__AutoScaling `json:"autoScaling,omitempty"` // CreateTime: Output only. The time the version was created. CreateTime string `json:"createTime,omitempty"` @@ -1640,7 +1664,7 @@ type GoogleCloudMlV1__Version struct { // model // deployment](/ml-engine/docs/concepts/deployment-overview) for // more - // informaiton. + // information. // // When passing Version // to @@ -1678,7 +1702,7 @@ type GoogleCloudMlV1__Version struct { // ManualScaling: Manually select the number of nodes to use for serving // the - // model. You should generally use `automatic_scaling` with an + // model. You should generally use `auto_scaling` with an // appropriate // `min_nodes` instead, but this option is available if you want // more @@ -1705,17 +1729,18 @@ type GoogleCloudMlV1__Version struct { // Possible values: // "UNKNOWN" - The version state is unspecified. // "READY" - The version is ready for prediction. - // "CREATING" - The version is still in the process of creation. + // "CREATING" - The version is in the process of creation. // "FAILED" - The version failed to be created, possibly // cancelled. // `error_message` should contain the details of the failure. + // "DELETING" - The version is in the process of deletion. State string `json:"state,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "AutomaticScaling") to + // ForceSendFields is a list of field names (e.g. "AutoScaling") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -1723,13 +1748,12 @@ type GoogleCloudMlV1__Version struct { // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AutomaticScaling") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. + // NullFields is a list of field names (e.g. "AutoScaling") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } @@ -1739,347 +1763,6 @@ func (s *GoogleCloudMlV1__Version) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleCloudMlV1beta1__AutomaticScaling: Options for automatically -// scaling a model. -type GoogleCloudMlV1beta1__AutomaticScaling struct { - // MinNodes: Optional. The minimum number of nodes to allocate for this - // model. These - // nodes are always up, starting from the time the model is deployed, so - // the - // cost of operating this model will be at least - // `rate` * `min_nodes` * number of hours since last billing - // cycle, - // where `rate` is the cost per node-hour as documented - // in - // [pricing](https://cloud.google.com/ml-engine/pricing#prediction_pri - // cing), - // even if no predictions are performed. There is additional cost for - // each - // prediction performed. - // - // Unlike manual scaling, if the load gets too heavy for the nodes - // that are up, the service will automatically add nodes to handle - // the - // increased load as well as scale back as traffic drops, always - // maintaining - // at least `min_nodes`. You will be charged for the time in which - // additional - // nodes are used. - // - // If not specified, `min_nodes` defaults to 0, in which case, when - // traffic - // to a model stops (and after a cool-down period), nodes will be shut - // down - // and no charges will be incurred until traffic to the model resumes. - MinNodes int64 `json:"minNodes,omitempty"` - - // ForceSendFields is a list of field names (e.g. "MinNodes") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "MinNodes") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1beta1__AutomaticScaling) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1beta1__AutomaticScaling - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudMlV1beta1__ManualScaling: Options for manually scaling a -// model. -type GoogleCloudMlV1beta1__ManualScaling struct { - // Nodes: The number of nodes to allocate for this model. These nodes - // are always up, - // starting from the time the model is deployed, so the cost of - // operating - // this model will be proportional to `nodes` * number of hours - // since - // last billing cycle. - Nodes int64 `json:"nodes,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Nodes") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Nodes") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1beta1__ManualScaling) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1beta1__ManualScaling - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudMlV1beta1__OperationMetadata: Represents the metadata of -// the long-running operation. -type GoogleCloudMlV1beta1__OperationMetadata struct { - // CreateTime: The time the operation was submitted. - CreateTime string `json:"createTime,omitempty"` - - // EndTime: The time operation processing completed. - EndTime string `json:"endTime,omitempty"` - - // IsCancellationRequested: Indicates whether a request to cancel this - // operation has been made. - IsCancellationRequested bool `json:"isCancellationRequested,omitempty"` - - // ModelName: Contains the name of the model associated with the - // operation. - ModelName string `json:"modelName,omitempty"` - - // OperationType: The operation type. - // - // Possible values: - // "OPERATION_TYPE_UNSPECIFIED" - Unspecified operation type. - // "CREATE_VERSION" - An operation to create a new version. - // "DELETE_VERSION" - An operation to delete an existing version. - // "DELETE_MODEL" - An operation to delete an existing model. - OperationType string `json:"operationType,omitempty"` - - // StartTime: The time operation processing started. - StartTime string `json:"startTime,omitempty"` - - // Version: Contains the version associated with the operation. - Version *GoogleCloudMlV1beta1__Version `json:"version,omitempty"` - - // ForceSendFields is a list of field names (e.g. "CreateTime") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "CreateTime") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1beta1__OperationMetadata) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1beta1__OperationMetadata - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudMlV1beta1__Version: Represents a version of the -// model. -// -// Each version is a trained model deployed in the cloud, ready to -// handle -// prediction requests. A model can have multiple versions. You can -// get -// information about all of the versions of a given model by -// calling -// [projects.models.versions.list](/ml-engine/reference/rest/v1be -// ta1/projects.models.versions/list). -type GoogleCloudMlV1beta1__Version struct { - // AutomaticScaling: Automatically scale the number of nodes used to - // serve the model in - // response to increases and decreases in traffic. Care should be - // taken to ramp up traffic according to the model's ability to scale - // or you will start seeing increases in latency and 429 response codes. - AutomaticScaling *GoogleCloudMlV1beta1__AutomaticScaling `json:"automaticScaling,omitempty"` - - // CreateTime: Output only. The time the version was created. - CreateTime string `json:"createTime,omitempty"` - - // DeploymentUri: Required. The Google Cloud Storage location of the - // trained model used to - // create the version. See the - // [overview of - // model - // deployment](/ml-engine/docs/concepts/deployment-overview) for - // more - // informaiton. - // - // When passing Version - // to - // [projects.models.versions.create](/ml-engine/reference/rest/v1beta1 - // /projects.models.versions/create) - // the model service uses the specified location as the source of the - // model. - // Once deployed, the model version is hosted by the prediction service, - // so - // this location is useful only as a historical record. - // The total number of model files can't exceed 1000. - DeploymentUri string `json:"deploymentUri,omitempty"` - - // Description: Optional. The description specified for the version when - // it was created. - Description string `json:"description,omitempty"` - - // ErrorMessage: Output only. The details of a failure or a - // cancellation. - ErrorMessage string `json:"errorMessage,omitempty"` - - // IsDefault: Output only. If true, this version will be used to handle - // prediction - // requests that do not specify a version. - // - // You can change the default version by - // calling - // [projects.methods.versions.setDefault](/ml-engine/reference/re - // st/v1beta1/projects.models.versions/setDefault). - IsDefault bool `json:"isDefault,omitempty"` - - // LastUseTime: Output only. The time the version was last used for - // prediction. - LastUseTime string `json:"lastUseTime,omitempty"` - - // ManualScaling: Manually select the number of nodes to use for serving - // the - // model. You should generally use `automatic_scaling` with an - // appropriate - // `min_nodes` instead, but this option is available if you want - // predictable - // billing. Beware that latency and error rates will increase if - // the - // traffic exceeds that capability of the system to serve it based - // on - // the selected number of nodes. - ManualScaling *GoogleCloudMlV1beta1__ManualScaling `json:"manualScaling,omitempty"` - - // Name: Required.The name specified for the version when it was - // created. - // - // The version name must be unique within the model it is created in. - Name string `json:"name,omitempty"` - - // RuntimeVersion: Optional. The Google Cloud ML runtime version to use - // for this deployment. - // If not set, Google Cloud ML will choose a version. - RuntimeVersion string `json:"runtimeVersion,omitempty"` - - // State: Output only. The state of a version. - // - // Possible values: - // "UNKNOWN" - / The version state is unspecified. - // "READY" - The version is ready for prediction. - // "CREATING" - The version is still in the process of creation. - // "FAILED" - The version failed to be created, possibly - // cancelled. - // `error_message` should contain the details of the failure. - State string `json:"state,omitempty"` - - // ForceSendFields is a list of field names (e.g. "AutomaticScaling") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "AutomaticScaling") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1beta1__Version) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1beta1__Version - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleIamV1LogConfigCloudAuditOptions: Write a Cloud Audit log -type GoogleIamV1LogConfigCloudAuditOptions struct { - // LogName: The log_name to populate in the Cloud Audit Record. - // - // Possible values: - // "UNSPECIFIED_LOG_NAME" - Default. Should not be used. - // "ADMIN_ACTIVITY" - Corresponds to - // "cloudaudit.googleapis.com/activity" - // "DATA_ACCESS" - Corresponds to - // "cloudaudit.googleapis.com/data_access" - LogName string `json:"logName,omitempty"` - - // ForceSendFields is a list of field names (e.g. "LogName") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "LogName") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleIamV1LogConfigCloudAuditOptions) MarshalJSON() ([]byte, error) { - type noMethod GoogleIamV1LogConfigCloudAuditOptions - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleIamV1LogConfigCounterOptions: Options for counters -type GoogleIamV1LogConfigCounterOptions struct { - // Field: The field value to attribute. - Field string `json:"field,omitempty"` - - // Metric: The metric to update. - Metric string `json:"metric,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Field") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Field") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleIamV1LogConfigCounterOptions) MarshalJSON() ([]byte, error) { - type noMethod GoogleIamV1LogConfigCounterOptions - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleIamV1LogConfigDataAccessOptions: Write a Data Access (Gin) log -type GoogleIamV1LogConfigDataAccessOptions struct { -} - // GoogleIamV1__AuditConfig: Specifies the audit configuration for a // service. // The configuration determines which permission types are logged, and @@ -2313,167 +1996,6 @@ func (s *GoogleIamV1__Binding) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleIamV1__Condition: A condition to be met. -type GoogleIamV1__Condition struct { - // Iam: Trusted attributes supplied by the IAM system. - // - // Possible values: - // "NO_ATTR" - Default non-attribute. - // "AUTHORITY" - Either principal or (if present) authority selector. - // "ATTRIBUTION" - The principal (even if an authority selector is - // present), which - // must only be used for attribution, not authorization. - // "APPROVER" - An approver (distinct from the requester) that has - // authorized this - // request. - // When used with IN, the condition indicates that one of the - // approvers - // associated with the request matches the specified principal, or is - // a - // member of the specified group. Approvers can only grant - // additional - // access, and are thus only used in a strictly positive context - // (e.g. ALLOW/IN or DENY/NOT_IN). - // "JUSTIFICATION_TYPE" - What types of justifications have been - // supplied with this request. - // String values should match enum names from - // tech.iam.JustificationType, - // e.g. "MANUAL_STRING". It is not permitted to grant access based - // on - // the *absence* of a justification, so justification conditions can - // only - // be used in a "positive" context (e.g., ALLOW/IN or - // DENY/NOT_IN). - // - // Multiple justifications, e.g., a Buganizer ID and a - // manually-entered - // reason, are normal and supported. - Iam string `json:"iam,omitempty"` - - // Op: An operator to apply the subject with. - // - // Possible values: - // "NO_OP" - Default no-op. - // "EQUALS" - DEPRECATED. Use IN instead. - // "NOT_EQUALS" - DEPRECATED. Use NOT_IN instead. - // "IN" - The condition is true if the subject (or any element of it - // if it is - // a set) matches any of the supplied values. - // "NOT_IN" - The condition is true if the subject (or every element - // of it if it is - // a set) matches none of the supplied values. - // "DISCHARGED" - Subject is discharged - Op string `json:"op,omitempty"` - - // Svc: Trusted attributes discharged by the service. - Svc string `json:"svc,omitempty"` - - // Sys: Trusted attributes supplied by any service that owns resources - // and uses - // the IAM system for access control. - // - // Possible values: - // "NO_ATTR" - Default non-attribute type - // "REGION" - Region of the resource - // "SERVICE" - Service name - // "NAME" - Resource name - // "IP" - IP address of the caller - Sys string `json:"sys,omitempty"` - - // Value: DEPRECATED. Use 'values' instead. - Value string `json:"value,omitempty"` - - // Values: The objects of the condition. This is mutually exclusive with - // 'value'. - Values []string `json:"values,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Iam") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Iam") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleIamV1__Condition) MarshalJSON() ([]byte, error) { - type noMethod GoogleIamV1__Condition - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleIamV1__LogConfig: Specifies what kind of log the caller must -// write -// Increment a streamz counter with the specified metric and field -// names. -// -// Metric names should start with a '/', generally be -// lowercase-only, -// and end in "_count". Field names should not contain an initial -// slash. -// The actual exported metric names will have "/iam/policy" -// prepended. -// -// Field names correspond to IAM request parameters and field values -// are -// their respective values. -// -// At present the only supported field names are -// - "iam_principal", corresponding to IAMContext.principal; -// - "" (empty string), resulting in one aggretated counter with no -// field. -// -// Examples: -// counter { metric: "/debug_access_count" field: "iam_principal" } -// ==> increment counter /iam/policy/backend_debug_access_count -// {iam_principal=[value of -// IAMContext.principal]} -// -// At this time we do not support: -// * multiple field names (though this may be supported in the future) -// * decrementing the counter -// * incrementing it by anything other than 1 -type GoogleIamV1__LogConfig struct { - // CloudAudit: Cloud audit options. - CloudAudit *GoogleIamV1LogConfigCloudAuditOptions `json:"cloudAudit,omitempty"` - - // Counter: Counter options. - Counter *GoogleIamV1LogConfigCounterOptions `json:"counter,omitempty"` - - // DataAccess: Data access options. - DataAccess *GoogleIamV1LogConfigDataAccessOptions `json:"dataAccess,omitempty"` - - // ForceSendFields is a list of field names (e.g. "CloudAudit") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "CloudAudit") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleIamV1__LogConfig) MarshalJSON() ([]byte, error) { - type noMethod GoogleIamV1__LogConfig - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // GoogleIamV1__Policy: Defines an Identity and Access Management (IAM) // policy. It is used to // specify access control policies for Cloud Platform resources. @@ -2541,20 +2063,6 @@ type GoogleIamV1__Policy struct { IamOwned bool `json:"iamOwned,omitempty"` - // Rules: If more than one rule is specified, the rules are applied in - // the following - // manner: - // - All matching LOG rules are always applied. - // - If any DENY/DENY_WITH_LOG rule matches, permission is denied. - // Logging will be applied if one or more matching rule requires - // logging. - // - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is - // granted. - // Logging will be applied if one or more matching rule requires - // logging. - // - Otherwise, if no rule applies, permission is denied. - Rules []*GoogleIamV1__Rule `json:"rules,omitempty"` - // Version: Version of the `Policy`. The default version is 0. Version int64 `json:"version,omitempty"` @@ -2585,77 +2093,6 @@ func (s *GoogleIamV1__Policy) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleIamV1__Rule: A rule to be applied in a Policy. -type GoogleIamV1__Rule struct { - // Action: Required - // - // Possible values: - // "NO_ACTION" - Default no action. - // "ALLOW" - Matching 'Entries' grant access. - // "ALLOW_WITH_LOG" - Matching 'Entries' grant access and the caller - // promises to log - // the request per the returned log_configs. - // "DENY" - Matching 'Entries' deny access. - // "DENY_WITH_LOG" - Matching 'Entries' deny access and the caller - // promises to log - // the request per the returned log_configs. - // "LOG" - Matching 'Entries' tell IAM.Check callers to generate logs. - Action string `json:"action,omitempty"` - - // Conditions: Additional restrictions that must be met - Conditions []*GoogleIamV1__Condition `json:"conditions,omitempty"` - - // Description: Human-readable description of the rule. - Description string `json:"description,omitempty"` - - // In: If one or more 'in' clauses are specified, the rule matches - // if - // the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries. - In []string `json:"in,omitempty"` - - // LogConfig: The config returned to callers of tech.iam.IAM.CheckPolicy - // for any entries - // that match the LOG action. - LogConfig []*GoogleIamV1__LogConfig `json:"logConfig,omitempty"` - - // NotIn: If one or more 'not_in' clauses are specified, the rule - // matches - // if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries. - // The format for in and not_in entries is the same as for members in - // a - // Binding (see google/iam/v1/policy.proto). - NotIn []string `json:"notIn,omitempty"` - - // Permissions: A permission is a string of form '..' - // (e.g., 'storage.buckets.list'). A value of '*' matches all - // permissions, - // and a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs. - Permissions []string `json:"permissions,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Action") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Action") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleIamV1__Rule) MarshalJSON() ([]byte, error) { - type noMethod GoogleIamV1__Rule - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // GoogleIamV1__SetIamPolicyRequest: Request message for `SetIamPolicy` // method. type GoogleIamV1__SetIamPolicyRequest struct { @@ -2812,8 +2249,8 @@ func (s *GoogleLongrunning__ListOperationsResponse) MarshalJSON() ([]byte, error type GoogleLongrunning__Operation struct { // Done: If the value is `false`, it means the operation is still in // progress. - // If true, the operation is completed, and either `error` or `response` - // is + // If `true`, the operation is completed, and either `error` or + // `response` is // available. Done bool `json:"done,omitempty"` @@ -2983,9 +2420,9 @@ type GoogleRpc__Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in @@ -3764,6 +3201,148 @@ func (c *ProjectsJobsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1 } +// method id "ml.projects.jobs.getIamPolicy": + +type ProjectsJobsGetIamPolicyCall struct { + s *Service + resource string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// GetIamPolicy: Gets the access control policy for a resource. +// Returns an empty policy if the resource exists and does not have a +// policy +// set. +func (r *ProjectsJobsService) GetIamPolicy(resource string) *ProjectsJobsGetIamPolicyCall { + c := &ProjectsJobsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsJobsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsJobsGetIamPolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsJobsGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsJobsGetIamPolicyCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsJobsGetIamPolicyCall) Context(ctx context.Context) *ProjectsJobsGetIamPolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsJobsGetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsJobsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "ml.projects.jobs.getIamPolicy" call. +// Exactly one of *GoogleIamV1__Policy or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *GoogleIamV1__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 *ProjectsJobsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1__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, &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, err + } + ret := &GoogleIamV1__Policy{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", + // "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}:getIamPolicy", + // "httpMethod": "GET", + // "id": "ml.projects.jobs.getIamPolicy", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + // "location": "path", + // "pattern": "^projects/[^/]+/jobs/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+resource}:getIamPolicy", + // "response": { + // "$ref": "GoogleIamV1__Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "ml.projects.jobs.list": type ProjectsJobsListCall struct { @@ -3971,6 +3550,289 @@ func (c *ProjectsJobsListCall) Pages(ctx context.Context, f func(*GoogleCloudMlV } } +// method id "ml.projects.jobs.setIamPolicy": + +type ProjectsJobsSetIamPolicyCall struct { + s *Service + resource string + googleiamv1__setiampolicyrequest *GoogleIamV1__SetIamPolicyRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetIamPolicy: Sets the access control policy on the specified +// resource. Replaces any +// existing policy. +func (r *ProjectsJobsService) SetIamPolicy(resource string, googleiamv1__setiampolicyrequest *GoogleIamV1__SetIamPolicyRequest) *ProjectsJobsSetIamPolicyCall { + c := &ProjectsJobsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.googleiamv1__setiampolicyrequest = googleiamv1__setiampolicyrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsJobsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsJobsSetIamPolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsJobsSetIamPolicyCall) Context(ctx context.Context) *ProjectsJobsSetIamPolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsJobsSetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsJobsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleiamv1__setiampolicyrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "ml.projects.jobs.setIamPolicy" call. +// Exactly one of *GoogleIamV1__Policy or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *GoogleIamV1__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 *ProjectsJobsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1__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, &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, err + } + ret := &GoogleIamV1__Policy{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", + // "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}:setIamPolicy", + // "httpMethod": "POST", + // "id": "ml.projects.jobs.setIamPolicy", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + // "location": "path", + // "pattern": "^projects/[^/]+/jobs/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+resource}:setIamPolicy", + // "request": { + // "$ref": "GoogleIamV1__SetIamPolicyRequest" + // }, + // "response": { + // "$ref": "GoogleIamV1__Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "ml.projects.jobs.testIamPermissions": + +type ProjectsJobsTestIamPermissionsCall struct { + s *Service + resource string + googleiamv1__testiampermissionsrequest *GoogleIamV1__TestIamPermissionsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// TestIamPermissions: Returns permissions that a caller has on the +// specified resource. +// If the resource does not exist, this will return an empty set +// of +// permissions, not a NOT_FOUND error. +// +// Note: This operation is designed to be used for building +// permission-aware +// UIs and command-line tools, not for authorization checking. This +// operation +// may "fail open" without warning. +func (r *ProjectsJobsService) TestIamPermissions(resource string, googleiamv1__testiampermissionsrequest *GoogleIamV1__TestIamPermissionsRequest) *ProjectsJobsTestIamPermissionsCall { + c := &ProjectsJobsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.googleiamv1__testiampermissionsrequest = googleiamv1__testiampermissionsrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsJobsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsJobsTestIamPermissionsCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsJobsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsJobsTestIamPermissionsCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsJobsTestIamPermissionsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsJobsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleiamv1__testiampermissionsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "ml.projects.jobs.testIamPermissions" call. +// Exactly one of *GoogleIamV1__TestIamPermissionsResponse or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *GoogleIamV1__TestIamPermissionsResponse.ServerResponse.Header or (if +// a response was returned at all) in error.(*googleapi.Error).Header. +// Use googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsJobsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1__TestIamPermissionsResponse, 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, &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, err + } + ret := &GoogleIamV1__TestIamPermissionsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + // "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}:testIamPermissions", + // "httpMethod": "POST", + // "id": "ml.projects.jobs.testIamPermissions", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + // "location": "path", + // "pattern": "^projects/[^/]+/jobs/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+resource}:testIamPermissions", + // "request": { + // "$ref": "GoogleIamV1__TestIamPermissionsRequest" + // }, + // "response": { + // "$ref": "GoogleIamV1__TestIamPermissionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "ml.projects.models.create": type ProjectsModelsCreateCall struct { @@ -5768,7 +5630,7 @@ func (c *ProjectsModelsVersionsSetDefaultCall) Do(opts ...googleapi.CallOption) // ], // "parameters": { // "name": { - // "description": "Required. The name of the version to make the default for the model. You\ncan get the names of all the versions of a model by calling\n[projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list).\n\nAuthorization: `ml.models.update` permission is required on the parent model.", + // "description": "Required. The name of the version to make the default for the model. You\ncan get the names of all the versions of a model by calling\n[projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list).", // "location": "path", // "pattern": "^projects/[^/]+/models/[^/]+/versions/[^/]+$", // "required": true, diff --git a/vendor/google.golang.org/api/ml/v1beta1/ml-api.json b/vendor/google.golang.org/api/ml/v1beta1/ml-api.json index a0ee12171..3ed10642c 100644 --- a/vendor/google.golang.org/api/ml/v1beta1/ml-api.json +++ b/vendor/google.golang.org/api/ml/v1beta1/ml-api.json @@ -1,2103 +1,7 @@ { - "version_module": "True", - "schemas": { - "GoogleIamV1__LogConfig": { - "description": "Specifies what kind of log the caller must write\nIncrement a streamz counter with the specified metric and field names.\n\nMetric names should start with a '/', generally be lowercase-only,\nand end in \"_count\". Field names should not contain an initial slash.\nThe actual exported metric names will have \"/iam/policy\" prepended.\n\nField names correspond to IAM request parameters and field values are\ntheir respective values.\n\nAt present the only supported field names are\n - \"iam_principal\", corresponding to IAMContext.principal;\n - \"\" (empty string), resulting in one aggretated counter with no field.\n\nExamples:\n counter { metric: \"/debug_access_count\" field: \"iam_principal\" }\n ==\u003e increment counter /iam/policy/backend_debug_access_count\n {iam_principal=[value of IAMContext.principal]}\n\nAt this time we do not support:\n* multiple field names (though this may be supported in the future)\n* decrementing the counter\n* incrementing it by anything other than 1", - "type": "object", - "properties": { - "counter": { - "$ref": "GoogleIamV1_LogConfig_CounterOptions", - "description": "Counter options." - }, - "dataAccess": { - "$ref": "GoogleIamV1_LogConfig_DataAccessOptions", - "description": "Data access options." - }, - "cloudAudit": { - "description": "Cloud audit options.", - "$ref": "GoogleIamV1_LogConfig_CloudAuditOptions" - } - }, - "id": "GoogleIamV1__LogConfig" - }, - "GoogleRpc__Status": { - "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", - "type": "object", - "properties": { - "details": { - "items": { - "type": "object", - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - } - }, - "type": "array", - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use." - }, - "code": { - "format": "int32", - "description": "The status code, which should be an enum value of google.rpc.Code.", - "type": "integer" - }, - "message": { - "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", - "type": "string" - } - }, - "id": "GoogleRpc__Status" - }, - "GoogleCloudMlV1beta1__PredictRequest": { - "description": "Request for predictions to be issued against a trained model.\n\nThe body of the request is a single JSON object with a single top-level\nfield:\n\n\u003cdl\u003e\n \u003cdt\u003einstances\u003c/dt\u003e\n \u003cdd\u003eA JSON array containing values representing the instances to use for\n prediction.\u003c/dd\u003e\n\u003c/dl\u003e\n\nThe structure of each element of the instances list is determined by your\nmodel's input definition. Instances can include named inputs or can contain\nonly unlabeled values.\n\nNot all data includes named inputs. Some instances will be simple\nJSON values (boolean, number, or string). However, instances are often lists\nof simple values, or complex nested lists. Here are some examples of request\nbodies:\n\nCSV data with each row encoded as a string value:\n\u003cpre\u003e\n{\"instances\": [\"1.0,true,\\\\\"x\\\\\"\", \"-2.0,false,\\\\\"y\\\\\"\"]}\n\u003c/pre\u003e\nPlain text:\n\u003cpre\u003e\n{\"instances\": [\"the quick brown fox\", \"la bruja le dio\"]}\n\u003c/pre\u003e\nSentences encoded as lists of words (vectors of strings):\n\u003cpre\u003e\n{\n \"instances\": [\n [\"the\",\"quick\",\"brown\"],\n [\"la\",\"bruja\",\"le\"],\n ...\n ]\n}\n\u003c/pre\u003e\nFloating point scalar values:\n\u003cpre\u003e\n{\"instances\": [0.0, 1.1, 2.2]}\n\u003c/pre\u003e\nVectors of integers:\n\u003cpre\u003e\n{\n \"instances\": [\n [0, 1, 2],\n [3, 4, 5],\n ...\n ]\n}\n\u003c/pre\u003e\nTensors (in this case, two-dimensional tensors):\n\u003cpre\u003e\n{\n \"instances\": [\n [\n [0, 1, 2],\n [3, 4, 5]\n ],\n ...\n ]\n}\n\u003c/pre\u003e\nImages can be represented different ways. In this encoding scheme the first\ntwo dimensions represent the rows and columns of the image, and the third\ncontains lists (vectors) of the R, G, and B values for each pixel.\n\u003cpre\u003e\n{\n \"instances\": [\n [\n [\n [138, 30, 66],\n [130, 20, 56],\n ...\n ],\n [\n [126, 38, 61],\n [122, 24, 57],\n ...\n ],\n ...\n ],\n ...\n ]\n}\n\u003c/pre\u003e\nJSON strings must be encoded as UTF-8. To send binary data, you must\nbase64-encode the data and mark it as binary. To mark a JSON string\nas binary, replace it with a JSON object with a single attribute named `b64`:\n\u003cpre\u003e{\"b64\": \"...\"} \u003c/pre\u003e\nFor example:\n\nTwo Serialized tf.Examples (fake data, for illustrative purposes only):\n\u003cpre\u003e\n{\"instances\": [{\"b64\": \"X5ad6u\"}, {\"b64\": \"IA9j4nx\"}]}\n\u003c/pre\u003e\nTwo JPEG image byte strings (fake data, for illustrative purposes only):\n\u003cpre\u003e\n{\"instances\": [{\"b64\": \"ASa8asdf\"}, {\"b64\": \"JLK7ljk3\"}]}\n\u003c/pre\u003e\nIf your data includes named references, format each instance as a JSON object\nwith the named references as the keys:\n\nJSON input data to be preprocessed:\n\u003cpre\u003e\n{\n \"instances\": [\n {\n \"a\": 1.0,\n \"b\": true,\n \"c\": \"x\"\n },\n {\n \"a\": -2.0,\n \"b\": false,\n \"c\": \"y\"\n }\n ]\n}\n\u003c/pre\u003e\nSome models have an underlying TensorFlow graph that accepts multiple input\ntensors. In this case, you should use the names of JSON name/value pairs to\nidentify the input tensors, as shown in the following exmaples:\n\nFor a graph with input tensor aliases \"tag\" (string) and \"image\"\n(base64-encoded string):\n\u003cpre\u003e\n{\n \"instances\": [\n {\n \"tag\": \"beach\",\n \"image\": {\"b64\": \"ASa8asdf\"}\n },\n {\n \"tag\": \"car\",\n \"image\": {\"b64\": \"JLK7ljk3\"}\n }\n ]\n}\n\u003c/pre\u003e\nFor a graph with input tensor aliases \"tag\" (string) and \"image\"\n(3-dimensional array of 8-bit ints):\n\u003cpre\u003e\n{\n \"instances\": [\n {\n \"tag\": \"beach\",\n \"image\": [\n [\n [138, 30, 66],\n [130, 20, 56],\n ...\n ],\n [\n [126, 38, 61],\n [122, 24, 57],\n ...\n ],\n ...\n ]\n },\n {\n \"tag\": \"car\",\n \"image\": [\n [\n [255, 0, 102],\n [255, 0, 97],\n ...\n ],\n [\n [254, 1, 101],\n [254, 2, 93],\n ...\n ],\n ...\n ]\n },\n ...\n ]\n}\n\u003c/pre\u003e\nIf the call is successful, the response body will contain one prediction\nentry per instance in the request body. If prediction fails for any\ninstance, the response body will contain no predictions and will contian\na single error entry instead.", - "type": "object", - "properties": { - "httpBody": { - "$ref": "GoogleApi__HttpBody", - "description": "\nRequired. The prediction request body." - } - }, - "id": "GoogleCloudMlV1beta1__PredictRequest" - }, - "GoogleCloudMlV1beta1__PredictionInput": { - "description": "Represents input parameters for a prediction job.", - "type": "object", - "properties": { - "versionName": { - "description": "Use this field if you want to specify a version of the model to use. The\nstring is formatted the same way as `model_version`, with the addition\nof the version information:\n\n`\"projects/\u003cvar\u003e[YOUR_PROJECT]\u003c/var\u003e/models/\u003cvar\u003eYOUR_MODEL/versions/\u003cvar\u003e[YOUR_VERSION]\u003c/var\u003e\"`", - "type": "string" - }, - "modelName": { - "description": "Use this field if you want to use the default version for the specified\nmodel. The string must use the following format:\n\n`\"projects/\u003cvar\u003e[YOUR_PROJECT]\u003c/var\u003e/models/\u003cvar\u003e[YOUR_MODEL]\u003c/var\u003e\"`", - "type": "string" - }, - "outputPath": { - "description": "Required. The output Google Cloud Storage location.", - "type": "string" - }, - "uri": { - "description": "Use this field if you want to specify a Google Cloud Storage path for\nthe model to use.", - "type": "string" - }, - "maxWorkerCount": { - "format": "int64", - "description": "Optional. The maximum number of workers to be used for parallel processing.\nDefaults to 10 if not specified.", - "type": "string" - }, - "dataFormat": { - "enumDescriptions": [ - "Unspecified format.", - "The source file is a text file with instances separated by the\nnew-line character.", - "The source file is a TFRecord file.", - "The source file is a GZIP-compressed TFRecord file." - ], - "enum": [ - "DATA_FORMAT_UNSPECIFIED", - "TEXT", - "TF_RECORD", - "TF_RECORD_GZIP" - ], - "description": "Required. The format of the input data files.", - "type": "string" - }, - "runtimeVersion": { - "description": "Optional. The Google Cloud ML runtime version to use for this batch\nprediction. If not set, Google Cloud ML will pick the runtime version used\nduring the CreateVersion request for this model version, or choose the\nlatest stable version when model version information is not available\nsuch as when the model is specified by uri.", - "type": "string" - }, - "inputPaths": { - "description": "Required. The Google Cloud Storage location of the input data files.\nMay contain wildcards.", - "items": { - "type": "string" - }, - "type": "array" - }, - "region": { - "description": "Required. The Google Compute Engine region to run the prediction job in.", - "type": "string" - } - }, - "id": "GoogleCloudMlV1beta1__PredictionInput" - }, - "GoogleApi__HttpBody": { - "description": "Message that represents an arbitrary HTTP body. It should only be used for\npayload formats that can't be represented as JSON, such as raw binary or\nan HTML page.\n\n\nThis message can be used both in streaming and non-streaming API methods in\nthe request as well as the response.\n\nIt can be used as a top-level request field, which is convenient if one\nwants to extract parameters from either the URL or HTTP template into the\nrequest fields and also want access to the raw HTTP body.\n\nExample:\n\n message GetResourceRequest {\n // A unique request id.\n string request_id = 1;\n\n // The raw HTTP body is bound to this field.\n google.api.HttpBody http_body = 2;\n }\n\n service ResourceService {\n rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);\n rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty);\n }\n\nExample with streaming methods:\n\n service CaldavService {\n rpc GetCalendar(stream google.api.HttpBody)\n returns (stream google.api.HttpBody);\n rpc UpdateCalendar(stream google.api.HttpBody)\n returns (stream google.api.HttpBody);\n }\n\nUse of this type only changes how the request and response bodies are\nhandled, all other features will continue to work unchanged.", - "type": "object", - "properties": { - "extensions": { - "description": "Application specific response metadata. Must be set in the first response\nfor streaming APIs.", - "items": { - "type": "object", - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - } - }, - "type": "array" - }, - "data": { - "format": "byte", - "description": "HTTP body binary data.", - "type": "string" - }, - "contentType": { - "description": "The HTTP Content-Type string representing the content type of the body.", - "type": "string" - } - }, - "id": "GoogleApi__HttpBody" - }, - "GoogleCloudMlV1beta1__ListVersionsResponse": { - "description": "Response message for the ListVersions method.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "Optional. Pass this token as the `page_token` field of the request for a\nsubsequent call.", - "type": "string" - }, - "versions": { - "description": "The list of versions.", - "items": { - "$ref": "GoogleCloudMlV1beta1__Version" - }, - "type": "array" - } - }, - "id": "GoogleCloudMlV1beta1__ListVersionsResponse" - }, - "GoogleCloudMlV1beta1__Version": { - "description": "Represents a version of the model.\n\nEach version is a trained model deployed in the cloud, ready to handle\nprediction requests. A model can have multiple versions. You can get\ninformation about all of the versions of a given model by calling\n[projects.models.versions.list](/ml-engine/reference/rest/v1beta1/projects.models.versions/list).", - "type": "object", - "properties": { - "manualScaling": { - "$ref": "GoogleCloudMlV1beta1__ManualScaling", - "description": "Manually select the number of nodes to use for serving the\nmodel. You should generally use `automatic_scaling` with an appropriate\n`min_nodes` instead, but this option is available if you want predictable\nbilling. Beware that latency and error rates will increase if the\ntraffic exceeds that capability of the system to serve it based on\nthe selected number of nodes." - }, - "state": { - "enum": [ - "UNKNOWN", - "READY", - "CREATING", - "FAILED" - ], - "description": "Output only. The state of a version.", - "type": "string", - "enumDescriptions": [ - "/ The version state is unspecified.", - "The version is ready for prediction.", - "The version is still in the process of creation.", - "The version failed to be created, possibly cancelled.\n`error_message` should contain the details of the failure." - ] - }, - "name": { - "type": "string", - "description": "Required.The name specified for the version when it was created.\n\nThe version name must be unique within the model it is created in." - }, - "errorMessage": { - "description": "Output only. The details of a failure or a cancellation.", - "type": "string" - }, - "automaticScaling": { - "description": "Automatically scale the number of nodes used to serve the model in\nresponse to increases and decreases in traffic. Care should be\ntaken to ramp up traffic according to the model's ability to scale\nor you will start seeing increases in latency and 429 response codes.", - "$ref": "GoogleCloudMlV1beta1__AutomaticScaling" - }, - "lastUseTime": { - "format": "google-datetime", - "description": "Output only. The time the version was last used for prediction.", - "type": "string" - }, - "runtimeVersion": { - "description": "Optional. The Google Cloud ML runtime version to use for this deployment.\nIf not set, Google Cloud ML will choose a version.", - "type": "string" - }, - "description": { - "description": "Optional. The description specified for the version when it was created.", - "type": "string" - }, - "deploymentUri": { - "description": "Required. The Google Cloud Storage location of the trained model used to\ncreate the version. See the\n[overview of model\ndeployment](/ml-engine/docs/concepts/deployment-overview) for more\ninformaiton.\n\nWhen passing Version to\n[projects.models.versions.create](/ml-engine/reference/rest/v1beta1/projects.models.versions/create)\nthe model service uses the specified location as the source of the model.\nOnce deployed, the model version is hosted by the prediction service, so\nthis location is useful only as a historical record.\nThe total number of model files can't exceed 1000.", - "type": "string" - }, - "isDefault": { - "description": "Output only. If true, this version will be used to handle prediction\nrequests that do not specify a version.\n\nYou can change the default version by calling\n[projects.methods.versions.setDefault](/ml-engine/reference/rest/v1beta1/projects.models.versions/setDefault).", - "type": "boolean" - }, - "createTime": { - "format": "google-datetime", - "description": "Output only. The time the version was created.", - "type": "string" - } - }, - "id": "GoogleCloudMlV1beta1__Version" - }, - "GoogleCloudMlV1beta1__ListJobsResponse": { - "properties": { - "jobs": { - "description": "The list of jobs.", - "items": { - "$ref": "GoogleCloudMlV1beta1__Job" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Optional. Pass this token as the `page_token` field of the request for a\nsubsequent call.", - "type": "string" - } - }, - "id": "GoogleCloudMlV1beta1__ListJobsResponse", - "description": "Response message for the ListJobs method.", - "type": "object" - }, - "GoogleIamV1__TestIamPermissionsResponse": { - "properties": { - "permissions": { - "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "GoogleIamV1__TestIamPermissionsResponse", - "description": "Response message for `TestIamPermissions` method.", - "type": "object" - }, - "GoogleIamV1__SetIamPolicyRequest": { - "id": "GoogleIamV1__SetIamPolicyRequest", - "description": "Request message for `SetIamPolicy` method.", - "type": "object", - "properties": { - "updateMask": { - "format": "google-fieldmask", - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", - "type": "string" - }, - "policy": { - "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them.", - "$ref": "GoogleIamV1__Policy" - } - } - }, - "GoogleCloudMlV1__AutomaticScaling": { - "id": "GoogleCloudMlV1__AutomaticScaling", - "description": "Options for automatically scaling a model.", - "type": "object", - "properties": { - "minNodes": { - "type": "integer", - "format": "int32", - "description": "Optional. The minimum number of nodes to allocate for this model. These\nnodes are always up, starting from the time the model is deployed, so the\ncost of operating this model will be at least\n`rate` * `min_nodes` * number of hours since last billing cycle,\nwhere `rate` is the cost per node-hour as documented in\n[pricing](https://cloud.google.com/ml-engine/pricing#prediction_pricing),\neven if no predictions are performed. There is additional cost for each\nprediction performed.\n\nUnlike manual scaling, if the load gets too heavy for the nodes\nthat are up, the service will automatically add nodes to handle the\nincreased load as well as scale back as traffic drops, always maintaining\nat least `min_nodes`. You will be charged for the time in which additional\nnodes are used.\n\nIf not specified, `min_nodes` defaults to 0, in which case, when traffic\nto a model stops (and after a cool-down period), nodes will be shut down\nand no charges will be incurred until traffic to the model resumes." - } - } - }, - "GoogleCloudMlV1beta1__CancelJobRequest": { - "description": "Request message for the CancelJob method.", - "type": "object", - "properties": {}, - "id": "GoogleCloudMlV1beta1__CancelJobRequest" - }, - "GoogleCloudMlV1beta1__Model": { - "id": "GoogleCloudMlV1beta1__Model", - "description": "Represents a machine learning solution.\n\nA model can have multiple versions, each of which is a deployed, trained\nmodel ready to receive prediction requests. The model itself is just a\ncontainer.", - "type": "object", - "properties": { - "onlinePredictionLogging": { - "description": "Optional. If true, enables StackDriver Logging for online prediction.\nDefault is false.", - "type": "boolean" - }, - "defaultVersion": { - "$ref": "GoogleCloudMlV1beta1__Version", - "description": "Output only. The default version of the model. This version will be used to\nhandle prediction requests that do not specify a version.\n\nYou can change the default version by calling\n[projects.methods.versions.setDefault](/ml-engine/reference/rest/v1beta1/projects.models.versions/setDefault)." - }, - "regions": { - "description": "Optional. The list of regions where the model is going to be deployed.\nCurrently only one region per model is supported.\nDefaults to 'us-central1' if nothing is set.\nNote:\n* No matter where a model is deployed, it can always be accessed by\n users from anywhere, both for online and batch prediction.\n* The region for a batch prediction job is set by the region field when\n submitting the batch prediction job and does not take its value from\n this field.", - "items": { - "type": "string" - }, - "type": "array" - }, - "name": { - "description": "Required. The name specified for the model when it was created.\n\nThe model name must be unique within the project it is created in.", - "type": "string" - }, - "description": { - "description": "Optional. The description specified for the model when it was created.", - "type": "string" - } - } - }, - "GoogleIamV1__Policy": { - "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam).", - "type": "object", - "properties": { - "etag": { - "format": "byte", - "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.", - "type": "string" - }, - "iamOwned": { - "type": "boolean" - }, - "rules": { - "description": "If more than one rule is specified, the rules are applied in the following\nmanner:\n- All matching LOG rules are always applied.\n- If any DENY/DENY_WITH_LOG rule matches, permission is denied.\n Logging will be applied if one or more matching rule requires logging.\n- Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is\n granted.\n Logging will be applied if one or more matching rule requires logging.\n- Otherwise, if no rule applies, permission is denied.", - "items": { - "$ref": "GoogleIamV1__Rule" - }, - "type": "array" - }, - "version": { - "format": "int32", - "description": "Version of the `Policy`. The default version is 0.", - "type": "integer" - }, - "auditConfigs": { - "description": "Specifies cloud audit logging configuration for this policy.", - "items": { - "$ref": "GoogleIamV1__AuditConfig" - }, - "type": "array" - }, - "bindings": { - "description": "Associates a list of `members` to a `role`.\n`bindings` with no members will result in an error.", - "items": { - "$ref": "GoogleIamV1__Binding" - }, - "type": "array" - } - }, - "id": "GoogleIamV1__Policy" - }, - "GoogleCloudMlV1beta1__Job": { - "description": "Represents a training or prediction job.", - "type": "object", - "properties": { - "trainingOutput": { - "$ref": "GoogleCloudMlV1beta1__TrainingOutput", - "description": "The current training job result." - }, - "createTime": { - "format": "google-datetime", - "description": "Output only. When the job was created.", - "type": "string" - }, - "trainingInput": { - "description": "Input parameters to create a training job.", - "$ref": "GoogleCloudMlV1beta1__TrainingInput" - }, - "predictionInput": { - "description": "Input parameters to create a prediction job.", - "$ref": "GoogleCloudMlV1beta1__PredictionInput" - }, - "state": { - "enumDescriptions": [ - "The job state is unspecified.", - "The job has been just created and processing has not yet begun.", - "The service is preparing to run the job.", - "The job is in progress.", - "The job completed successfully.", - "The job failed.\n`error_message` should contain the details of the failure.", - "The job is being cancelled.\n`error_message` should describe the reason for the cancellation.", - "The job has been cancelled.\n`error_message` should describe the reason for the cancellation." - ], - "enum": [ - "STATE_UNSPECIFIED", - "QUEUED", - "PREPARING", - "RUNNING", - "SUCCEEDED", - "FAILED", - "CANCELLING", - "CANCELLED" - ], - "description": "Output only. The detailed state of a job.", - "type": "string" - }, - "errorMessage": { - "description": "Output only. The details of a failure or a cancellation.", - "type": "string" - }, - "jobId": { - "description": "Required. The user-specified id of the job.", - "type": "string" - }, - "endTime": { - "format": "google-datetime", - "description": "Output only. When the job processing was completed.", - "type": "string" - }, - "startTime": { - "format": "google-datetime", - "description": "Output only. When the job processing was started.", - "type": "string" - }, - "predictionOutput": { - "description": "The current prediction job result.", - "$ref": "GoogleCloudMlV1beta1__PredictionOutput" - } - }, - "id": "GoogleCloudMlV1beta1__Job" - }, - "GoogleCloudMlV1beta1__AutomaticScaling": { - "description": "Options for automatically scaling a model.", - "type": "object", - "properties": { - "minNodes": { - "format": "int32", - "description": "Optional. The minimum number of nodes to allocate for this model. These\nnodes are always up, starting from the time the model is deployed, so the\ncost of operating this model will be at least\n`rate` * `min_nodes` * number of hours since last billing cycle,\nwhere `rate` is the cost per node-hour as documented in\n[pricing](https://cloud.google.com/ml-engine/pricing#prediction_pricing),\neven if no predictions are performed. There is additional cost for each\nprediction performed.\n\nUnlike manual scaling, if the load gets too heavy for the nodes\nthat are up, the service will automatically add nodes to handle the\nincreased load as well as scale back as traffic drops, always maintaining\nat least `min_nodes`. You will be charged for the time in which additional\nnodes are used.\n\nIf not specified, `min_nodes` defaults to 0, in which case, when traffic\nto a model stops (and after a cool-down period), nodes will be shut down\nand no charges will be incurred until traffic to the model resumes.", - "type": "integer" - } - }, - "id": "GoogleCloudMlV1beta1__AutomaticScaling" - }, - "GoogleCloudMlV1beta1__TrainingInput": { - "type": "object", - "properties": { - "workerType": { - "description": "Optional. Specifies the type of virtual machine to use for your training\njob's worker nodes.\n\nThe supported values are the same as those described in the entry for\n`masterType`.\n\nThis value must be present when `scaleTier` is set to `CUSTOM` and\n`workerCount` is greater than zero.", - "type": "string" - }, - "args": { - "description": "Optional. Command line arguments to pass to the program.", - "items": { - "type": "string" - }, - "type": "array" - }, - "region": { - "description": "Required. The Google Compute Engine region to run the training job in.", - "type": "string" - }, - "parameterServerType": { - "description": "Optional. Specifies the type of virtual machine to use for your training\njob's parameter server.\n\nThe supported values are the same as those described in the entry for\n`master_type`.\n\nThis value must be present when `scaleTier` is set to `CUSTOM` and\n`parameter_server_count` is greater than zero.", - "type": "string" - }, - "scaleTier": { - "enum": [ - "BASIC", - "STANDARD_1", - "PREMIUM_1", - "BASIC_GPU", - "CUSTOM" - ], - "description": "Required. Specifies the machine types, the number of replicas for workers\nand parameter servers.", - "type": "string", - "enumDescriptions": [ - "A single worker instance. This tier is suitable for learning how to use\nCloud ML, and for experimenting with new models using small datasets.", - "Many workers and a few parameter servers.", - "A large number of workers with many parameter servers.", - "A single worker instance [with a GPU](/ml-engine/docs/how-tos/using-gpus).", - "The CUSTOM tier is not a set tier, but rather enables you to use your\nown cluster specification. When you use this tier, set values to\nconfigure your processing cluster according to these guidelines:\n\n* You _must_ set `TrainingInput.masterType` to specify the type\n of machine to use for your master node. This is the only required\n setting.\n\n* You _may_ set `TrainingInput.workerCount` to specify the number of\n workers to use. If you specify one or more workers, you _must_ also\n set `TrainingInput.workerType` to specify the type of machine to use\n for your worker nodes.\n\n* You _may_ set `TrainingInput.parameterServerCount` to specify the\n number of parameter servers to use. If you specify one or more\n parameter servers, you _must_ also set\n `TrainingInput.parameterServerType` to specify the type of machine to\n use for your parameter servers.\n\nNote that all of your workers must use the same machine type, which can\nbe different from your parameter server type and master type. Your\nparameter servers must likewise use the same machine type, which can be\ndifferent from your worker type and master type." - ] - }, - "jobDir": { - "description": "Optional. A Google Cloud Storage path in which to store training outputs\nand other data needed for training. This path is passed to your TensorFlow\nprogram as the 'job_dir' command-line argument. The benefit of specifying\nthis field is that Cloud ML validates the path for use in training.", - "type": "string" - }, - "hyperparameters": { - "$ref": "GoogleCloudMlV1beta1__HyperparameterSpec", - "description": "Optional. The set of Hyperparameters to tune." - }, - "parameterServerCount": { - "format": "int64", - "description": "Optional. The number of parameter server replicas to use for the training\njob. Each replica in the cluster will be of the type specified in\n`parameter_server_type`.\n\nThis value can only be used when `scale_tier` is set to `CUSTOM`.If you\nset this value, you must also set `parameter_server_type`.", - "type": "string" - }, - "packageUris": { - "description": "Required. The Google Cloud Storage location of the packages with\nthe training program and any additional dependencies.\nThe maximum number of package URIs is 100.", - "items": { - "type": "string" - }, - "type": "array" - }, - "workerCount": { - "format": "int64", - "description": "Optional. The number of worker replicas to use for the training job. Each\nreplica in the cluster will be of the type specified in `worker_type`.\n\nThis value can only be used when `scale_tier` is set to `CUSTOM`. If you\nset this value, you must also set `worker_type`.", - "type": "string" - }, - "masterType": { - "description": "Optional. Specifies the type of virtual machine to use for your training\njob's master worker.\n\nThe following types are supported:\n\n\u003cdl\u003e\n \u003cdt\u003estandard\u003c/dt\u003e\n \u003cdd\u003e\n A basic machine configuration suitable for training simple models with\n small to moderate datasets.\n \u003c/dd\u003e\n \u003cdt\u003elarge_model\u003c/dt\u003e\n \u003cdd\u003e\n A machine with a lot of memory, specially suited for parameter servers\n when your model is large (having many hidden layers or layers with very\n large numbers of nodes).\n \u003c/dd\u003e\n \u003cdt\u003ecomplex_model_s\u003c/dt\u003e\n \u003cdd\u003e\n A machine suitable for the master and workers of the cluster when your\n model requires more computation than the standard machine can handle\n satisfactorily.\n \u003c/dd\u003e\n \u003cdt\u003ecomplex_model_m\u003c/dt\u003e\n \u003cdd\u003e\n A machine with roughly twice the number of cores and roughly double the\n memory of \u003ccode suppresswarning=\"true\"\u003ecomplex_model_s\u003c/code\u003e.\n \u003c/dd\u003e\n \u003cdt\u003ecomplex_model_l\u003c/dt\u003e\n \u003cdd\u003e\n A machine with roughly twice the number of cores and roughly double the\n memory of \u003ccode suppresswarning=\"true\"\u003ecomplex_model_m\u003c/code\u003e.\n \u003c/dd\u003e\n \u003cdt\u003estandard_gpu\u003c/dt\u003e\n \u003cdd\u003e\n A machine equivalent to \u003ccode suppresswarning=\"true\"\u003estandard\u003c/code\u003e that\n also includes a\n \u003ca href=\"/ml-engine/docs/how-tos/using-gpus\"\u003e\n GPU that you can use in your trainer\u003c/a\u003e.\n \u003c/dd\u003e\n \u003cdt\u003ecomplex_model_m_gpu\u003c/dt\u003e\n \u003cdd\u003e\n A machine equivalent to\n \u003ccode suppresswarning=\"true\"\u003ecomplex_model_m\u003c/code\u003e that also includes\n four GPUs.\n \u003c/dd\u003e\n\u003c/dl\u003e\n\nYou must set this value when `scaleTier` is set to `CUSTOM`.", - "type": "string" - }, - "runtimeVersion": { - "description": "Optional. The Google Cloud ML runtime version to use for training. If not\nset, Google Cloud ML will choose the latest stable version.", - "type": "string" - }, - "pythonModule": { - "description": "Required. The Python module name to run after installing the packages.", - "type": "string" - } - }, - "id": "GoogleCloudMlV1beta1__TrainingInput", - "description": "Represents input parameters for a training job." - }, - "GoogleLongrunning__ListOperationsResponse": { - "description": "The response message for Operations.ListOperations.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" - }, - "operations": { - "description": "A list of operations that matches the specified filter in the request.", - "items": { - "$ref": "GoogleLongrunning__Operation" - }, - "type": "array" - } - }, - "id": "GoogleLongrunning__ListOperationsResponse" - }, - "GoogleIamV1__Condition": { - "description": "A condition to be met.", - "type": "object", - "properties": { - "value": { - "description": "DEPRECATED. Use 'values' instead.", - "type": "string" - }, - "sys": { - "description": "Trusted attributes supplied by any service that owns resources and uses\nthe IAM system for access control.", - "type": "string", - "enumDescriptions": [ - "Default non-attribute type", - "Region of the resource", - "Service name", - "Resource name", - "IP address of the caller" - ], - "enum": [ - "NO_ATTR", - "REGION", - "SERVICE", - "NAME", - "IP" - ] - }, - "values": { - "items": { - "type": "string" - }, - "type": "array", - "description": "The objects of the condition. This is mutually exclusive with 'value'." - }, - "iam": { - "description": "Trusted attributes supplied by the IAM system.", - "type": "string", - "enumDescriptions": [ - "Default non-attribute.", - "Either principal or (if present) authority selector.", - "The principal (even if an authority selector is present), which\nmust only be used for attribution, not authorization.", - "An approver (distinct from the requester) that has authorized this\nrequest.\nWhen used with IN, the condition indicates that one of the approvers\nassociated with the request matches the specified principal, or is a\nmember of the specified group. Approvers can only grant additional\naccess, and are thus only used in a strictly positive context\n(e.g. ALLOW/IN or DENY/NOT_IN).", - "What types of justifications have been supplied with this request.\nString values should match enum names from tech.iam.JustificationType,\ne.g. \"MANUAL_STRING\". It is not permitted to grant access based on\nthe *absence* of a justification, so justification conditions can only\nbe used in a \"positive\" context (e.g., ALLOW/IN or DENY/NOT_IN).\n\nMultiple justifications, e.g., a Buganizer ID and a manually-entered\nreason, are normal and supported." - ], - "enum": [ - "NO_ATTR", - "AUTHORITY", - "ATTRIBUTION", - "APPROVER", - "JUSTIFICATION_TYPE" - ] - }, - "op": { - "enumDescriptions": [ - "Default no-op.", - "DEPRECATED. Use IN instead.", - "DEPRECATED. Use NOT_IN instead.", - "The condition is true if the subject (or any element of it if it is\na set) matches any of the supplied values.", - "The condition is true if the subject (or every element of it if it is\na set) matches none of the supplied values.", - "Subject is discharged" - ], - "enum": [ - "NO_OP", - "EQUALS", - "NOT_EQUALS", - "IN", - "NOT_IN", - "DISCHARGED" - ], - "description": "An operator to apply the subject with.", - "type": "string" - }, - "svc": { - "description": "Trusted attributes discharged by the service.", - "type": "string" - } - }, - "id": "GoogleIamV1__Condition" - }, - "GoogleCloudMlV1beta1__GetConfigResponse": { - "description": "Returns service account information associated with a project.", - "type": "object", - "properties": { - "serviceAccountProject": { - "type": "string", - "format": "int64", - "description": "The project number for `service_account`." - }, - "serviceAccount": { - "description": "The service account Cloud ML uses to access resources in the project.", - "type": "string" - } - }, - "id": "GoogleCloudMlV1beta1__GetConfigResponse" - }, - "GoogleCloudMlV1beta1__SetDefaultVersionRequest": { - "id": "GoogleCloudMlV1beta1__SetDefaultVersionRequest", - "description": "Request message for the SetDefaultVersion request.", - "type": "object", - "properties": {} - }, - "GoogleCloudMlV1__ManualScaling": { - "properties": { - "nodes": { - "type": "integer", - "format": "int32", - "description": "The number of nodes to allocate for this model. These nodes are always up,\nstarting from the time the model is deployed, so the cost of operating\nthis model will be proportional to `nodes` * number of hours since\nlast billing cycle plus the cost for each prediction performed." - } - }, - "id": "GoogleCloudMlV1__ManualScaling", - "description": "Options for manually scaling a model.", - "type": "object" - }, - "GoogleIamV1__Binding": { - "description": "Associates `members` with a `role`.", - "type": "object", - "properties": { - "role": { - "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired", - "type": "string" - }, - "condition": { - "$ref": "GoogleType__Expr", - "description": "The condition that is associated with this binding.\nNOTE: an unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently.\nThis field is GOOGLE_INTERNAL." - }, - "members": { - "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@gmail.com` or `joe@example.com`.\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n\n* `domain:{domain}`: A Google Apps domain name that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "GoogleIamV1__Binding" - }, - "GoogleIamV1__Rule": { - "description": "A rule to be applied in a Policy.", - "type": "object", - "properties": { - "logConfig": { - "description": "The config returned to callers of tech.iam.IAM.CheckPolicy for any entries\nthat match the LOG action.", - "items": { - "$ref": "GoogleIamV1__LogConfig" - }, - "type": "array" - }, - "in": { - "description": "If one or more 'in' clauses are specified, the rule matches if\nthe PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.", - "items": { - "type": "string" - }, - "type": "array" - }, - "permissions": { - "description": "A permission is a string of form '\u003cservice\u003e.\u003cresource type\u003e.\u003cverb\u003e'\n(e.g., 'storage.buckets.list'). A value of '*' matches all permissions,\nand a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.", - "items": { - "type": "string" - }, - "type": "array" - }, - "action": { - "enumDescriptions": [ - "Default no action.", - "Matching 'Entries' grant access.", - "Matching 'Entries' grant access and the caller promises to log\nthe request per the returned log_configs.", - "Matching 'Entries' deny access.", - "Matching 'Entries' deny access and the caller promises to log\nthe request per the returned log_configs.", - "Matching 'Entries' tell IAM.Check callers to generate logs." - ], - "enum": [ - "NO_ACTION", - "ALLOW", - "ALLOW_WITH_LOG", - "DENY", - "DENY_WITH_LOG", - "LOG" - ], - "description": "Required", - "type": "string" - }, - "notIn": { - "description": "If one or more 'not_in' clauses are specified, the rule matches\nif the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.\nThe format for in and not_in entries is the same as for members in a\nBinding (see google/iam/v1/policy.proto).", - "items": { - "type": "string" - }, - "type": "array" - }, - "description": { - "description": "Human-readable description of the rule.", - "type": "string" - }, - "conditions": { - "description": "Additional restrictions that must be met", - "items": { - "$ref": "GoogleIamV1__Condition" - }, - "type": "array" - } - }, - "id": "GoogleIamV1__Rule" - }, - "GoogleIamV1_LogConfig_CounterOptions": { - "description": "Options for counters", - "type": "object", - "properties": { - "field": { - "description": "The field value to attribute.", - "type": "string" - }, - "metric": { - "type": "string", - "description": "The metric to update." - } - }, - "id": "GoogleIamV1_LogConfig_CounterOptions" - }, - "GoogleCloudMlV1beta1__ParameterSpec": { - "type": "object", - "properties": { - "minValue": { - "type": "number", - "format": "double", - "description": "Required if type is `DOUBLE` or `INTEGER`. This field\nshould be unset if type is `CATEGORICAL`. This value should be integers if\ntype is INTEGER." - }, - "discreteValues": { - "description": "Required if type is `DISCRETE`.\nA list of feasible points.\nThe list should be in strictly increasing order. For instance, this\nparameter might have possible settings of 1.5, 2.5, and 4.0. This list\nshould not contain more than 1,000 values.", - "items": { - "format": "double", - "type": "number" - }, - "type": "array" - }, - "scaleType": { - "enumDescriptions": [ - "By default, no scaling is applied.", - "Scales the feasible space to (0, 1) linearly.", - "Scales the feasible space logarithmically to (0, 1). The entire feasible\nspace must be strictly positive.", - "Scales the feasible space \"reverse\" logarithmically to (0, 1). The result\nis that values close to the top of the feasible space are spread out more\nthan points near the bottom. The entire feasible space must be strictly\npositive." - ], - "enum": [ - "NONE", - "UNIT_LINEAR_SCALE", - "UNIT_LOG_SCALE", - "UNIT_REVERSE_LOG_SCALE" - ], - "description": "Optional. How the parameter should be scaled to the hypercube.\nLeave unset for categorical parameters.\nSome kind of scaling is strongly recommended for real or integral\nparameters (e.g., `UNIT_LINEAR_SCALE`).", - "type": "string" - }, - "maxValue": { - "format": "double", - "description": "Required if typeis `DOUBLE` or `INTEGER`. This field\nshould be unset if type is `CATEGORICAL`. This value should be integers if\ntype is `INTEGER`.", - "type": "number" - }, - "type": { - "description": "Required. The type of the parameter.", - "type": "string", - "enumDescriptions": [ - "You must specify a valid type. Using this unspecified type will result in\nan error.", - "Type for real-valued parameters.", - "Type for integral parameters.", - "The parameter is categorical, with a value chosen from the categories\nfield.", - "The parameter is real valued, with a fixed set of feasible points. If\n`type==DISCRETE`, feasible_points must be provided, and\n{`min_value`, `max_value`} will be ignored." - ], - "enum": [ - "PARAMETER_TYPE_UNSPECIFIED", - "DOUBLE", - "INTEGER", - "CATEGORICAL", - "DISCRETE" - ] - }, - "parameterName": { - "description": "Required. The parameter name must be unique amongst all ParameterConfigs in\na HyperparameterSpec message. E.g., \"learning_rate\".", - "type": "string" - }, - "categoricalValues": { - "description": "Required if type is `CATEGORICAL`. The list of possible categories.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "GoogleCloudMlV1beta1__ParameterSpec", - "description": "Represents a single hyperparameter to optimize." - }, - "GoogleCloudMlV1beta1_HyperparameterOutput_HyperparameterMetric": { - "properties": { - "trainingStep": { - "format": "int64", - "description": "The global training step for this metric.", - "type": "string" - }, - "objectiveValue": { - "format": "double", - "description": "The objective value at this training step.", - "type": "number" - } - }, - "id": "GoogleCloudMlV1beta1_HyperparameterOutput_HyperparameterMetric", - "description": "An observed value of a metric.", - "type": "object" - }, - "GoogleCloudMlV1beta1__PredictionOutput": { - "description": "Represents results of a prediction job.", - "type": "object", - "properties": { - "predictionCount": { - "format": "int64", - "description": "The number of generated predictions.", - "type": "string" - }, - "errorCount": { - "format": "int64", - "description": "The number of data instances which resulted in errors.", - "type": "string" - }, - "nodeHours": { - "format": "double", - "description": "Node hours used by the batch prediction job.", - "type": "number" - }, - "outputPath": { - "description": "The output Google Cloud Storage location provided at the job creation time.", - "type": "string" - } - }, - "id": "GoogleCloudMlV1beta1__PredictionOutput" - }, - "GoogleCloudMlV1beta1__TrainingOutput": { - "properties": { - "trials": { - "description": "Results for individual Hyperparameter trials.\nOnly set for hyperparameter tuning jobs.", - "items": { - "$ref": "GoogleCloudMlV1beta1__HyperparameterOutput" - }, - "type": "array" - }, - "completedTrialCount": { - "format": "int64", - "description": "The number of hyperparameter tuning trials that completed successfully.\nOnly set for hyperparameter tuning jobs.", - "type": "string" - }, - "isHyperparameterTuningJob": { - "type": "boolean", - "description": "Whether this job is a hyperparameter tuning job." - }, - "consumedMLUnits": { - "format": "double", - "description": "The amount of ML units consumed by the job.", - "type": "number" - } - }, - "id": "GoogleCloudMlV1beta1__TrainingOutput", - "description": "Represents results of a training job. Output only.", - "type": "object" - }, - "GoogleIamV1_LogConfig_CloudAuditOptions": { - "id": "GoogleIamV1_LogConfig_CloudAuditOptions", - "description": "Write a Cloud Audit log", - "type": "object", - "properties": { - "logName": { - "enum": [ - "UNSPECIFIED_LOG_NAME", - "ADMIN_ACTIVITY", - "DATA_ACCESS" - ], - "description": "The log_name to populate in the Cloud Audit Record.", - "type": "string", - "enumDescriptions": [ - "Default. Should not be used.", - "Corresponds to \"cloudaudit.googleapis.com/activity\"", - "Corresponds to \"cloudaudit.googleapis.com/data_access\"" - ] - } - } - }, - "GoogleCloudMlV1__Version": { - "description": "Represents a version of the model.\n\nEach version is a trained model deployed in the cloud, ready to handle\nprediction requests. A model can have multiple versions. You can get\ninformation about all of the versions of a given model by calling\n[projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list).", - "type": "object", - "properties": { - "isDefault": { - "description": "Output only. If true, this version will be used to handle prediction\nrequests that do not specify a version.\n\nYou can change the default version by calling\n[projects.methods.versions.setDefault](/ml-engine/reference/rest/v1/projects.models.versions/setDefault).", - "type": "boolean" - }, - "createTime": { - "format": "google-datetime", - "description": "Output only. The time the version was created.", - "type": "string" - }, - "state": { - "enum": [ - "UNKNOWN", - "READY", - "CREATING", - "FAILED" - ], - "description": "Output only. The state of a version.", - "type": "string", - "enumDescriptions": [ - "The version state is unspecified.", - "The version is ready for prediction.", - "The version is still in the process of creation.", - "The version failed to be created, possibly cancelled.\n`error_message` should contain the details of the failure." - ] - }, - "manualScaling": { - "description": "Manually select the number of nodes to use for serving the\nmodel. You should generally use `automatic_scaling` with an appropriate\n`min_nodes` instead, but this option is available if you want more\npredictable billing. Beware that latency and error rates will increase\nif the traffic exceeds that capability of the system to serve it based\non the selected number of nodes.", - "$ref": "GoogleCloudMlV1__ManualScaling" - }, - "name": { - "description": "Required.The name specified for the version when it was created.\n\nThe version name must be unique within the model it is created in.", - "type": "string" - }, - "errorMessage": { - "description": "Output only. The details of a failure or a cancellation.", - "type": "string" - }, - "automaticScaling": { - "$ref": "GoogleCloudMlV1__AutomaticScaling", - "description": "Automatically scale the number of nodes used to serve the model in\nresponse to increases and decreases in traffic. Care should be\ntaken to ramp up traffic according to the model's ability to scale\nor you will start seeing increases in latency and 429 response codes." - }, - "runtimeVersion": { - "description": "Optional. The Google Cloud ML runtime version to use for this deployment.\nIf not set, Google Cloud ML will choose a version.", - "type": "string" - }, - "lastUseTime": { - "format": "google-datetime", - "description": "Output only. The time the version was last used for prediction.", - "type": "string" - }, - "description": { - "description": "Optional. The description specified for the version when it was created.", - "type": "string" - }, - "deploymentUri": { - "type": "string", - "description": "Required. The Google Cloud Storage location of the trained model used to\ncreate the version. See the\n[overview of model\ndeployment](/ml-engine/docs/concepts/deployment-overview) for more\ninformaiton.\n\nWhen passing Version to\n[projects.models.versions.create](/ml-engine/reference/rest/v1/projects.models.versions/create)\nthe model service uses the specified location as the source of the model.\nOnce deployed, the model version is hosted by the prediction service, so\nthis location is useful only as a historical record.\nThe total number of model files can't exceed 1000." - } - }, - "id": "GoogleCloudMlV1__Version" - }, - "GoogleIamV1_LogConfig_DataAccessOptions": { - "id": "GoogleIamV1_LogConfig_DataAccessOptions", - "description": "Write a Data Access (Gin) log", - "type": "object", - "properties": {} - }, - "GoogleCloudMlV1beta1__HyperparameterSpec": { - "id": "GoogleCloudMlV1beta1__HyperparameterSpec", - "description": "Represents a set of hyperparameters to optimize.", - "type": "object", - "properties": { - "maxTrials": { - "format": "int32", - "description": "Optional. How many training trials should be attempted to optimize\nthe specified hyperparameters.\n\nDefaults to one.", - "type": "integer" - }, - "params": { - "description": "Required. The set of parameters to tune.", - "items": { - "$ref": "GoogleCloudMlV1beta1__ParameterSpec" - }, - "type": "array" - }, - "maxParallelTrials": { - "format": "int32", - "description": "Optional. The number of training trials to run concurrently.\nYou can reduce the time it takes to perform hyperparameter tuning by adding\ntrials in parallel. However, each trail only benefits from the information\ngained in completed trials. That means that a trial does not get access to\nthe results of trials running at the same time, which could reduce the\nquality of the overall optimization.\n\nEach trial will use the same scale tier and machine types.\n\nDefaults to one.", - "type": "integer" - }, - "hyperparameterMetricTag": { - "description": "Optional. The Tensorflow summary tag name to use for optimizing trials. For\ncurrent versions of Tensorflow, this tag name should exactly match what is\nshown in Tensorboard, including all scopes. For versions of Tensorflow\nprior to 0.12, this should be only the tag passed to tf.Summary.\nBy default, \"training/hptuning/metric\" will be used.", - "type": "string" - }, - "goal": { - "enum": [ - "GOAL_TYPE_UNSPECIFIED", - "MAXIMIZE", - "MINIMIZE" - ], - "description": "Required. The type of goal to use for tuning. Available types are\n`MAXIMIZE` and `MINIMIZE`.\n\nDefaults to `MAXIMIZE`.", - "type": "string", - "enumDescriptions": [ - "Goal Type will default to maximize.", - "Maximize the goal metric.", - "Minimize the goal metric." - ] - } - } - }, - "GoogleType__Expr": { - "description": "Represents an expression text. Example:\n\n title: \"User account presence\"\n description: \"Determines whether the request has a user account\"\n expression: \"size(request.user) \u003e 0\"", - "type": "object", - "properties": { - "location": { - "description": "An optional string indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", - "type": "string" - }, - "title": { - "description": "An optional title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", - "type": "string" - }, - "description": { - "description": "An optional description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", - "type": "string" - }, - "expression": { - "description": "Textual representation of an expression in\nCommon Expression Language syntax.\n\nThe application context of the containing message determines which\nwell-known feature set of CEL is supported.", - "type": "string" - } - }, - "id": "GoogleType__Expr" - }, - "GoogleIamV1__AuditLogConfig": { - "properties": { - "logType": { - "enumDescriptions": [ - "Default case. Should never be this.", - "Admin reads. Example: CloudIAM getIamPolicy", - "Data writes. Example: CloudSQL Users create", - "Data reads. Example: CloudSQL Users list" - ], - "enum": [ - "LOG_TYPE_UNSPECIFIED", - "ADMIN_READ", - "DATA_WRITE", - "DATA_READ" - ], - "description": "The log type that this config enables.", - "type": "string" - }, - "exemptedMembers": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members." - } - }, - "id": "GoogleIamV1__AuditLogConfig", - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\nfoo@gmail.com from DATA_READ logging.", - "type": "object" - }, - "GoogleCloudMlV1__OperationMetadata": { - "type": "object", - "properties": { - "modelName": { - "description": "Contains the name of the model associated with the operation.", - "type": "string" - }, - "version": { - "description": "Contains the version associated with the operation.", - "$ref": "GoogleCloudMlV1__Version" - }, - "endTime": { - "format": "google-datetime", - "description": "The time operation processing completed.", - "type": "string" - }, - "operationType": { - "enumDescriptions": [ - "Unspecified operation type.", - "An operation to create a new version.", - "An operation to delete an existing version.", - "An operation to delete an existing model." - ], - "enum": [ - "OPERATION_TYPE_UNSPECIFIED", - "CREATE_VERSION", - "DELETE_VERSION", - "DELETE_MODEL" - ], - "description": "The operation type.", - "type": "string" - }, - "startTime": { - "format": "google-datetime", - "description": "The time operation processing started.", - "type": "string" - }, - "isCancellationRequested": { - "description": "Indicates whether a request to cancel this operation has been made.", - "type": "boolean" - }, - "createTime": { - "format": "google-datetime", - "description": "The time the operation was submitted.", - "type": "string" - } - }, - "id": "GoogleCloudMlV1__OperationMetadata", - "description": "Represents the metadata of the long-running operation." - }, - "GoogleCloudMlV1beta1__OperationMetadata": { - "id": "GoogleCloudMlV1beta1__OperationMetadata", - "description": "Represents the metadata of the long-running operation.", - "type": "object", - "properties": { - "isCancellationRequested": { - "description": "Indicates whether a request to cancel this operation has been made.", - "type": "boolean" - }, - "createTime": { - "format": "google-datetime", - "description": "The time the operation was submitted.", - "type": "string" - }, - "modelName": { - "type": "string", - "description": "Contains the name of the model associated with the operation." - }, - "version": { - "$ref": "GoogleCloudMlV1beta1__Version", - "description": "Contains the version associated with the operation." - }, - "endTime": { - "format": "google-datetime", - "description": "The time operation processing completed.", - "type": "string" - }, - "operationType": { - "description": "The operation type.", - "type": "string", - "enumDescriptions": [ - "Unspecified operation type.", - "An operation to create a new version.", - "An operation to delete an existing version.", - "An operation to delete an existing model." - ], - "enum": [ - "OPERATION_TYPE_UNSPECIFIED", - "CREATE_VERSION", - "DELETE_VERSION", - "DELETE_MODEL" - ] - }, - "startTime": { - "format": "google-datetime", - "description": "The time operation processing started.", - "type": "string" - } - } - }, - "GoogleCloudMlV1beta1__ListModelsResponse": { - "description": "Response message for the ListModels method.", - "type": "object", - "properties": { - "models": { - "description": "The list of models.", - "items": { - "$ref": "GoogleCloudMlV1beta1__Model" - }, - "type": "array" - }, - "nextPageToken": { - "type": "string", - "description": "Optional. Pass this token as the `page_token` field of the request for a\nsubsequent call." - } - }, - "id": "GoogleCloudMlV1beta1__ListModelsResponse" - }, - "GoogleLongrunning__Operation": { - "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", - "type": "object", - "properties": { - "done": { - "description": "If the value is `false`, it means the operation is still in progress.\nIf true, the operation is completed, and either `error` or `response` is\navailable.", - "type": "boolean" - }, - "response": { - "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", - "type": "object", - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - } - }, - "name": { - "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`.", - "type": "string" - }, - "error": { - "$ref": "GoogleRpc__Status", - "description": "The error result of the operation in case of failure or cancellation." - }, - "metadata": { - "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", - "type": "object", - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - } - } - }, - "id": "GoogleLongrunning__Operation" - }, - "GoogleIamV1__AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"fooservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:bar@gmail.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts foo@gmail.com from DATA_READ logging, and\nbar@gmail.com from DATA_WRITE logging.", - "type": "object", - "properties": { - "auditLogConfigs": { - "description": "The configuration for logging of each type of permission.\nNext ID: 4", - "items": { - "$ref": "GoogleIamV1__AuditLogConfig" - }, - "type": "array" - }, - "exemptedMembers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "service": { - "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", - "type": "string" - } - }, - "id": "GoogleIamV1__AuditConfig" - }, - "GoogleCloudMlV1beta1__HyperparameterOutput": { - "properties": { - "allMetrics": { - "description": "All recorded object metrics for this trial.", - "items": { - "$ref": "GoogleCloudMlV1beta1_HyperparameterOutput_HyperparameterMetric" - }, - "type": "array" - }, - "finalMetric": { - "description": "The final objective metric seen for this trial.", - "$ref": "GoogleCloudMlV1beta1_HyperparameterOutput_HyperparameterMetric" - }, - "hyperparameters": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "The hyperparameters given to this trial." - }, - "trialId": { - "description": "The trial id for these results.", - "type": "string" - } - }, - "id": "GoogleCloudMlV1beta1__HyperparameterOutput", - "description": "Represents the result of a single hyperparameter tuning trial from a\ntraining job. The TrainingOutput object that is returned on successful\ncompletion of a training job with hyperparameter tuning includes a list\nof HyperparameterOutput objects, one for each successful trial.", - "type": "object" - }, - "GoogleProtobuf__Empty": { - "properties": {}, - "id": "GoogleProtobuf__Empty", - "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", - "type": "object" - }, - "GoogleIamV1__TestIamPermissionsRequest": { - "description": "Request message for `TestIamPermissions` method.", - "type": "object", - "properties": { - "permissions": { - "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "GoogleIamV1__TestIamPermissionsRequest" - }, - "GoogleCloudMlV1beta1__ManualScaling": { - "type": "object", - "properties": { - "nodes": { - "format": "int32", - "description": "The number of nodes to allocate for this model. These nodes are always up,\nstarting from the time the model is deployed, so the cost of operating\nthis model will be proportional to `nodes` * number of hours since\nlast billing cycle.", - "type": "integer" - } - }, - "id": "GoogleCloudMlV1beta1__ManualScaling", - "description": "Options for manually scaling a model." - } - }, - "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" - }, - "protocol": "rest", - "canonicalName": "Cloud Machine Learning Engine", - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" - } - } - } - }, - "rootUrl": "https://ml.googleapis.com/", - "ownerDomain": "google.com", - "name": "ml", - "batchPath": "batch", - "title": "Google Cloud Machine Learning Engine", - "ownerName": "Google", - "resources": { - "projects": { - "methods": { - "predict": { - "response": { - "$ref": "GoogleApi__HttpBody" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "location": "path", - "description": "Required. The resource name of a model or a version.\n\nAuthorization: requires the `predict` permission on the specified resource.", - "type": "string", - "required": true, - "pattern": "^projects/.+$" - } - }, - "flatPath": "v1beta1/projects/{projectsId}:predict", - "id": "ml.projects.predict", - "path": "v1beta1/{+name}:predict", - "request": { - "$ref": "GoogleCloudMlV1beta1__PredictRequest" - }, - "description": "Performs prediction on the data in the request.\n\n**** REMOVE FROM GENERATED DOCUMENTATION" - }, - "getConfig": { - "response": { - "$ref": "GoogleCloudMlV1beta1__GetConfigResponse" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "parameters": { - "name": { - "location": "path", - "description": "Required. The project name.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta1/projects/{projectsId}:getConfig", - "id": "ml.projects.getConfig", - "path": "v1beta1/{+name}:getConfig", - "description": "Get the service account information associated with your project. You need\nthis information in order to grant the service account persmissions for\nthe Google Cloud Storage location where you put your model training code\nfor training the model with Google Cloud Machine Learning." - } - }, - "resources": { - "models": { - "methods": { - "list": { - "id": "ml.projects.models.list", - "path": "v1beta1/{+parent}/models", - "description": "Lists the models in a project.\n\nEach project can contain multiple models, and each model can have multiple\nversions.", - "response": { - "$ref": "GoogleCloudMlV1beta1__ListModelsResponse" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "GET", - "parameters": { - "pageSize": { - "location": "query", - "format": "int32", - "description": "Optional. The number of models to retrieve per \"page\" of results. If there\nare more remaining results than this number, the response message will\ncontain a valid value in the `next_page_token` field.\n\nThe default value is 20, and the maximum page size is 100.", - "type": "integer" - }, - "parent": { - "pattern": "^projects/[^/]+$", - "location": "path", - "description": "Required. The name of the project whose models are to be listed.", - "type": "string", - "required": true - }, - "pageToken": { - "location": "query", - "description": "Optional. A page token to request the next page of results.\n\nYou get the token from the `next_page_token` field of the response from\nthe previous call.", - "type": "string" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta1/projects/{projectsId}/models" - }, - "setIamPolicy": { - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "GoogleIamV1__Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "resource": { - "pattern": "^projects/[^/]+/models/[^/]+$", - "location": "path", - "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true - } - }, - "flatPath": "v1beta1/projects/{projectsId}/models/{modelsId}:setIamPolicy", - "path": "v1beta1/{+resource}:setIamPolicy", - "id": "ml.projects.models.setIamPolicy", - "request": { - "$ref": "GoogleIamV1__SetIamPolicyRequest" - }, - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy." - }, - "create": { - "description": "Creates a model which will later contain one or more versions.\n\nYou must add at least one version before you can request predictions from\nthe model. Add versions by calling\n[projects.models.versions.create](/ml-engine/reference/rest/v1beta1/projects.models.versions/create).", - "request": { - "$ref": "GoogleCloudMlV1beta1__Model" - }, - "response": { - "$ref": "GoogleCloudMlV1beta1__Model" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "POST", - "parameters": { - "parent": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path", - "description": "Required. The project name." - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta1/projects/{projectsId}/models", - "id": "ml.projects.models.create", - "path": "v1beta1/{+parent}/models" - }, - "getIamPolicy": { - "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", - "response": { - "$ref": "GoogleIamV1__Policy" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "GET", - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/models/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta1/projects/{projectsId}/models/{modelsId}:getIamPolicy", - "id": "ml.projects.models.getIamPolicy", - "path": "v1beta1/{+resource}:getIamPolicy" - }, - "get": { - "description": "Gets information about a model, including its name, the description (if\nset), and the default version (if at least one version of the model has\nbeen deployed).", - "httpMethod": "GET", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleCloudMlV1beta1__Model" - }, - "parameters": { - "name": { - "pattern": "^projects/[^/]+/models/[^/]+$", - "location": "path", - "description": "Required. The name of the model.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta1/projects/{projectsId}/models/{modelsId}", - "path": "v1beta1/{+name}", - "id": "ml.projects.models.get" - }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", - "request": { - "$ref": "GoogleIamV1__TestIamPermissionsRequest" - }, - "response": { - "$ref": "GoogleIamV1__TestIamPermissionsResponse" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/models/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta1/projects/{projectsId}/models/{modelsId}:testIamPermissions", - "id": "ml.projects.models.testIamPermissions", - "path": "v1beta1/{+resource}:testIamPermissions" - }, - "delete": { - "response": { - "$ref": "GoogleLongrunning__Operation" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "DELETE", - "parameters": { - "name": { - "pattern": "^projects/[^/]+/models/[^/]+$", - "location": "path", - "description": "Required. The name of the model.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta1/projects/{projectsId}/models/{modelsId}", - "id": "ml.projects.models.delete", - "path": "v1beta1/{+name}", - "description": "Deletes a model.\n\nYou can only delete a model if there are no versions in it. You can delete\nversions by calling\n[projects.models.versions.delete](/ml-engine/reference/rest/v1beta1/projects.models.versions/delete)." - } - }, - "resources": { - "versions": { - "methods": { - "setDefault": { - "description": "Designates a version to be the default for the model.\n\nThe default version is used for prediction requests made against the model\nthat don't specify a version.\n\nThe first version to be created for a model is automatically set as the\ndefault. You must make any subsequent changes to the default version\nsetting manually using this method.", - "request": { - "$ref": "GoogleCloudMlV1beta1__SetDefaultVersionRequest" - }, - "httpMethod": "POST", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleCloudMlV1beta1__Version" - }, - "parameters": { - "name": { - "pattern": "^projects/[^/]+/models/[^/]+/versions/[^/]+$", - "location": "path", - "description": "Required. The name of the version to make the default for the model. You\ncan get the names of all the versions of a model by calling\n[projects.models.versions.list](/ml-engine/reference/rest/v1beta1/projects.models.versions/list).\n\nAuthorization: `ml.models.update` permission is required on the parent model.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}:setDefault", - "path": "v1beta1/{+name}:setDefault", - "id": "ml.projects.models.versions.setDefault" - }, - "delete": { - "description": "Deletes a model version.\n\nEach model can have multiple versions deployed and in use at any given\ntime. Use this method to remove a single version.\n\nNote: You cannot delete the version that is set as the default version\nof the model unless it is the only remaining version.", - "parameterOrder": [ - "name" - ], - "httpMethod": "DELETE", - "response": { - "$ref": "GoogleLongrunning__Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "location": "path", - "description": "Required. The name of the version. You can get the names of all the\nversions of a model by calling\n[projects.models.versions.list](/ml-engine/reference/rest/v1beta1/projects.models.versions/list).", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/models/[^/]+/versions/[^/]+$" - } - }, - "flatPath": "v1beta1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}", - "id": "ml.projects.models.versions.delete", - "path": "v1beta1/{+name}" - }, - "get": { - "flatPath": "v1beta1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}", - "id": "ml.projects.models.versions.get", - "path": "v1beta1/{+name}", - "description": "Gets information about a model version.\n\nModels can have multiple versions. You can call\n[projects.models.versions.list](/ml-engine/reference/rest/v1beta1/projects.models.versions/list)\nto get the same information that this method returns for all of the\nversions of a model.", - "response": { - "$ref": "GoogleCloudMlV1beta1__Version" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "location": "path", - "description": "Required. The name of the version.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/models/[^/]+/versions/[^/]+$" - } - } - }, - "list": { - "response": { - "$ref": "GoogleCloudMlV1beta1__ListVersionsResponse" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "pageToken": { - "location": "query", - "description": "Optional. A page token to request the next page of results.\n\nYou get the token from the `next_page_token` field of the response from\nthe previous call.", - "type": "string" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "Optional. The number of versions to retrieve per \"page\" of results. If\nthere are more remaining results than this number, the response message\nwill contain a valid value in the `next_page_token` field.\n\nThe default value is 20, and the maximum page size is 100.", - "type": "integer" - }, - "parent": { - "description": "Required. The name of the model for which to list the version.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/models/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1beta1/projects/{projectsId}/models/{modelsId}/versions", - "id": "ml.projects.models.versions.list", - "path": "v1beta1/{+parent}/versions", - "description": "Gets basic information about all the versions of a model.\n\nIf you expect that a model has a lot of versions, or if you need to handle\nonly a limited number of results at a time, you can request that the list\nbe retrieved in batches (called pages):" - }, - "create": { - "response": { - "$ref": "GoogleLongrunning__Operation" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "POST", - "parameters": { - "parent": { - "description": "Required. The name of the model.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/models/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta1/projects/{projectsId}/models/{modelsId}/versions", - "id": "ml.projects.models.versions.create", - "path": "v1beta1/{+parent}/versions", - "description": "Creates a new version of a model from a trained TensorFlow model.\n\nIf the version created in the cloud by this call is the first deployed\nversion of the specified model, it will be made the default version of the\nmodel. When you add a version to a model that already has one or more\nversions, the default version does not automatically change. If you want a\nnew version to be the default, you must call\n[projects.models.versions.setDefault](/ml-engine/reference/rest/v1beta1/projects.models.versions/setDefault).", - "request": { - "$ref": "GoogleCloudMlV1beta1__Version" - } - } - } - } - } - }, - "operations": { - "methods": { - "cancel": { - "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", - "response": { - "$ref": "GoogleProtobuf__Empty" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "POST", - "parameters": { - "name": { - "pattern": "^projects/[^/]+/operations/[^/]+$", - "location": "path", - "description": "The name of the operation resource to be cancelled.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta1/projects/{projectsId}/operations/{operationsId}:cancel", - "id": "ml.projects.operations.cancel", - "path": "v1beta1/{+name}:cancel" - }, - "delete": { - "response": { - "$ref": "GoogleProtobuf__Empty" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "description": "The name of the operation resource to be deleted.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/operations/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1beta1/projects/{projectsId}/operations/{operationsId}", - "id": "ml.projects.operations.delete", - "path": "v1beta1/{+name}", - "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`." - }, - "get": { - "httpMethod": "GET", - "response": { - "$ref": "GoogleLongrunning__Operation" - }, - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "location": "path", - "description": "The name of the operation resource.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/operations/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta1/projects/{projectsId}/operations/{operationsId}", - "path": "v1beta1/{+name}", - "id": "ml.projects.operations.get", - "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice." - }, - "list": { - "response": { - "$ref": "GoogleLongrunning__ListOperationsResponse" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "filter": { - "location": "query", - "description": "The standard list filter.", - "type": "string" - }, - "pageToken": { - "description": "The standard list page token.", - "type": "string", - "location": "query" - }, - "name": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path", - "description": "The name of the operation's parent resource." - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "The standard list page size.", - "type": "integer" - } - }, - "flatPath": "v1beta1/projects/{projectsId}/operations", - "id": "ml.projects.operations.list", - "path": "v1beta1/{+name}/operations", - "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id." - } - } - }, - "jobs": { - "methods": { - "create": { - "httpMethod": "POST", - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "GoogleCloudMlV1beta1__Job" - }, - "parameters": { - "parent": { - "pattern": "^projects/[^/]+$", - "location": "path", - "description": "Required. The project name.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta1/projects/{projectsId}/jobs", - "path": "v1beta1/{+parent}/jobs", - "id": "ml.projects.jobs.create", - "description": "Creates a training or a batch prediction job.", - "request": { - "$ref": "GoogleCloudMlV1beta1__Job" - } - }, - "cancel": { - "path": "v1beta1/{+name}:cancel", - "id": "ml.projects.jobs.cancel", - "request": { - "$ref": "GoogleCloudMlV1beta1__CancelJobRequest" - }, - "description": "Cancels a running job.", - "httpMethod": "POST", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleProtobuf__Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/jobs/[^/]+$", - "location": "path", - "description": "Required. The name of the job to cancel." - } - }, - "flatPath": "v1beta1/projects/{projectsId}/jobs/{jobsId}:cancel" - }, - "get": { - "httpMethod": "GET", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "GoogleCloudMlV1beta1__Job" - }, - "parameters": { - "name": { - "location": "path", - "description": "Required. The name of the job to get the description of.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/jobs/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta1/projects/{projectsId}/jobs/{jobsId}", - "path": "v1beta1/{+name}", - "id": "ml.projects.jobs.get", - "description": "Describes a job." - }, - "list": { - "httpMethod": "GET", - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "GoogleCloudMlV1beta1__ListJobsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "pageToken": { - "description": "Optional. A page token to request the next page of results.\n\nYou get the token from the `next_page_token` field of the response from\nthe previous call.", - "type": "string", - "location": "query" - }, - "pageSize": { - "format": "int32", - "description": "Optional. The number of jobs to retrieve per \"page\" of results. If there\nare more remaining results than this number, the response message will\ncontain a valid value in the `next_page_token` field.\n\nThe default value is 20, and the maximum page size is 100.", - "type": "integer", - "location": "query" - }, - "parent": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path", - "description": "Required. The name of the project for which to list jobs." - }, - "filter": { - "location": "query", - "description": "Optional. Specifies the subset of jobs to retrieve.", - "type": "string" - } - }, - "flatPath": "v1beta1/projects/{projectsId}/jobs", - "path": "v1beta1/{+parent}/jobs", - "id": "ml.projects.jobs.list", - "description": "Lists the jobs in the project." - } - } - } - } - } - }, - "parameters": { - "pp": { - "location": "query", - "description": "Pretty-print response.", - "default": "true", - "type": "boolean" - }, - "bearer_token": { - "location": "query", - "description": "OAuth bearer token.", - "type": "string" - }, - "oauth_token": { - "type": "string", - "location": "query", - "description": "OAuth 2.0 token for the current user." - }, - "upload_protocol": { - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string", - "location": "query" - }, - "prettyPrint": { - "location": "query", - "description": "Returns response with indentations and line breaks.", - "default": "true", - "type": "boolean" - }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "type": "string", - "location": "query" - }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string", - "location": "query" - }, - "$.xgafv": { - "type": "string", - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" - ], - "description": "V1 error format." - }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, - "alt": { - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], - "type": "string", - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query" - }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, - "access_token": { - "description": "OAuth access token.", - "type": "string", - "location": "query" - }, - "quotaUser": { - "type": "string", - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters." - } - }, - "version": "v1beta1", - "baseUrl": "https://ml.googleapis.com/", - "kind": "discovery#restDescription", - "description": "An API to enable creating and using machine learning models.", - "servicePath": "", - "basePath": "", - "documentationLink": "https://cloud.google.com/ml/", - "revision": "20170627", - "id": "ml:v1beta1", - "discoveryVersion": "v1" + "error": { + "code": 404, + "message": "Discovery document not found for API service: ml.googleapis.com format: rest version: v1beta1", + "status": "NOT_FOUND" + } } diff --git a/vendor/google.golang.org/api/ml/v1beta1/ml-gen.go b/vendor/google.golang.org/api/ml/v1beta1/ml-gen.go index 4fead6137..aac3ad9f0 100644 --- a/vendor/google.golang.org/api/ml/v1beta1/ml-gen.go +++ b/vendor/google.golang.org/api/ml/v1beta1/ml-gen.go @@ -1,6 +1,4 @@ -// Package ml provides access to the Google Cloud Machine Learning Engine. -// -// See https://cloud.google.com/ml/ +// Package ml provides access to the . // // Usage example: // @@ -40,23 +38,16 @@ var _ = strings.Replace var _ = context.Canceled var _ = ctxhttp.Do -const apiId = "ml:v1beta1" -const apiName = "ml" -const apiVersion = "v1beta1" -const basePath = "https://ml.googleapis.com/" - -// OAuth2 scopes used by this API. -const ( - // View and manage your data across Google Cloud Platform services - CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" -) +const apiId = "" +const apiName = "" +const apiVersion = "" +const basePath = "https://www.googleapis.com/discovery/v1/apis" func New(client *http.Client) (*Service, error) { if client == nil { return nil, errors.New("client is nil") } s := &Service{client: client, BasePath: basePath} - s.Projects = NewProjectsService(s) return s, nil } @@ -64,8 +55,6 @@ type Service struct { client *http.Client BasePath string // API endpoint base URL UserAgent string // optional additional User-Agent fragment - - Projects *ProjectsService } func (s *Service) userAgent() string { @@ -74,6351 +63,3 @@ func (s *Service) userAgent() string { } return googleapi.UserAgent + " " + s.UserAgent } - -func NewProjectsService(s *Service) *ProjectsService { - rs := &ProjectsService{s: s} - rs.Jobs = NewProjectsJobsService(s) - rs.Models = NewProjectsModelsService(s) - rs.Operations = NewProjectsOperationsService(s) - return rs -} - -type ProjectsService struct { - s *Service - - Jobs *ProjectsJobsService - - Models *ProjectsModelsService - - Operations *ProjectsOperationsService -} - -func NewProjectsJobsService(s *Service) *ProjectsJobsService { - rs := &ProjectsJobsService{s: s} - return rs -} - -type ProjectsJobsService struct { - s *Service -} - -func NewProjectsModelsService(s *Service) *ProjectsModelsService { - rs := &ProjectsModelsService{s: s} - rs.Versions = NewProjectsModelsVersionsService(s) - return rs -} - -type ProjectsModelsService struct { - s *Service - - Versions *ProjectsModelsVersionsService -} - -func NewProjectsModelsVersionsService(s *Service) *ProjectsModelsVersionsService { - rs := &ProjectsModelsVersionsService{s: s} - return rs -} - -type ProjectsModelsVersionsService struct { - s *Service -} - -func NewProjectsOperationsService(s *Service) *ProjectsOperationsService { - rs := &ProjectsOperationsService{s: s} - return rs -} - -type ProjectsOperationsService struct { - s *Service -} - -// GoogleApi__HttpBody: Message that represents an arbitrary HTTP body. -// It should only be used for -// payload formats that can't be represented as JSON, such as raw binary -// or -// an HTML page. -// -// -// This message can be used both in streaming and non-streaming API -// methods in -// the request as well as the response. -// -// It can be used as a top-level request field, which is convenient if -// one -// wants to extract parameters from either the URL or HTTP template into -// the -// request fields and also want access to the raw HTTP body. -// -// Example: -// -// message GetResourceRequest { -// // A unique request id. -// string request_id = 1; -// -// // The raw HTTP body is bound to this field. -// google.api.HttpBody http_body = 2; -// } -// -// service ResourceService { -// rpc GetResource(GetResourceRequest) returns -// (google.api.HttpBody); -// rpc UpdateResource(google.api.HttpBody) returns -// (google.protobuf.Empty); -// } -// -// Example with streaming methods: -// -// service CaldavService { -// rpc GetCalendar(stream google.api.HttpBody) -// returns (stream google.api.HttpBody); -// rpc UpdateCalendar(stream google.api.HttpBody) -// returns (stream google.api.HttpBody); -// } -// -// Use of this type only changes how the request and response bodies -// are -// handled, all other features will continue to work unchanged. -type GoogleApi__HttpBody struct { - // ContentType: The HTTP Content-Type string representing the content - // type of the body. - ContentType string `json:"contentType,omitempty"` - - // Data: HTTP body binary data. - Data string `json:"data,omitempty"` - - // Extensions: Application specific response metadata. Must be set in - // the first response - // for streaming APIs. - Extensions []googleapi.RawMessage `json:"extensions,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` - - // ForceSendFields is a list of field names (e.g. "ContentType") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "ContentType") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleApi__HttpBody) MarshalJSON() ([]byte, error) { - type noMethod GoogleApi__HttpBody - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudMlV1__AutomaticScaling: Options for automatically scaling -// a model. -type GoogleCloudMlV1__AutomaticScaling struct { - // MinNodes: Optional. The minimum number of nodes to allocate for this - // model. These - // nodes are always up, starting from the time the model is deployed, so - // the - // cost of operating this model will be at least - // `rate` * `min_nodes` * number of hours since last billing - // cycle, - // where `rate` is the cost per node-hour as documented - // in - // [pricing](https://cloud.google.com/ml-engine/pricing#prediction_pri - // cing), - // even if no predictions are performed. There is additional cost for - // each - // prediction performed. - // - // Unlike manual scaling, if the load gets too heavy for the nodes - // that are up, the service will automatically add nodes to handle - // the - // increased load as well as scale back as traffic drops, always - // maintaining - // at least `min_nodes`. You will be charged for the time in which - // additional - // nodes are used. - // - // If not specified, `min_nodes` defaults to 0, in which case, when - // traffic - // to a model stops (and after a cool-down period), nodes will be shut - // down - // and no charges will be incurred until traffic to the model resumes. - MinNodes int64 `json:"minNodes,omitempty"` - - // ForceSendFields is a list of field names (e.g. "MinNodes") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "MinNodes") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1__AutomaticScaling) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1__AutomaticScaling - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudMlV1__ManualScaling: Options for manually scaling a model. -type GoogleCloudMlV1__ManualScaling struct { - // Nodes: The number of nodes to allocate for this model. These nodes - // are always up, - // starting from the time the model is deployed, so the cost of - // operating - // this model will be proportional to `nodes` * number of hours - // since - // last billing cycle plus the cost for each prediction performed. - Nodes int64 `json:"nodes,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Nodes") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Nodes") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1__ManualScaling) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1__ManualScaling - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudMlV1__OperationMetadata: Represents the metadata of the -// long-running operation. -type GoogleCloudMlV1__OperationMetadata struct { - // CreateTime: The time the operation was submitted. - CreateTime string `json:"createTime,omitempty"` - - // EndTime: The time operation processing completed. - EndTime string `json:"endTime,omitempty"` - - // IsCancellationRequested: Indicates whether a request to cancel this - // operation has been made. - IsCancellationRequested bool `json:"isCancellationRequested,omitempty"` - - // ModelName: Contains the name of the model associated with the - // operation. - ModelName string `json:"modelName,omitempty"` - - // OperationType: The operation type. - // - // Possible values: - // "OPERATION_TYPE_UNSPECIFIED" - Unspecified operation type. - // "CREATE_VERSION" - An operation to create a new version. - // "DELETE_VERSION" - An operation to delete an existing version. - // "DELETE_MODEL" - An operation to delete an existing model. - OperationType string `json:"operationType,omitempty"` - - // StartTime: The time operation processing started. - StartTime string `json:"startTime,omitempty"` - - // Version: Contains the version associated with the operation. - Version *GoogleCloudMlV1__Version `json:"version,omitempty"` - - // ForceSendFields is a list of field names (e.g. "CreateTime") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "CreateTime") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1__OperationMetadata) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1__OperationMetadata - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudMlV1__Version: Represents a version of the model. -// -// Each version is a trained model deployed in the cloud, ready to -// handle -// prediction requests. A model can have multiple versions. You can -// get -// information about all of the versions of a given model by -// calling -// [projects.models.versions.list](/ml-engine/reference/rest/v1/p -// rojects.models.versions/list). -type GoogleCloudMlV1__Version struct { - // AutomaticScaling: Automatically scale the number of nodes used to - // serve the model in - // response to increases and decreases in traffic. Care should be - // taken to ramp up traffic according to the model's ability to scale - // or you will start seeing increases in latency and 429 response codes. - AutomaticScaling *GoogleCloudMlV1__AutomaticScaling `json:"automaticScaling,omitempty"` - - // CreateTime: Output only. The time the version was created. - CreateTime string `json:"createTime,omitempty"` - - // DeploymentUri: Required. The Google Cloud Storage location of the - // trained model used to - // create the version. See the - // [overview of - // model - // deployment](/ml-engine/docs/concepts/deployment-overview) for - // more - // informaiton. - // - // When passing Version - // to - // [projects.models.versions.create](/ml-engine/reference/rest/v1/proj - // ects.models.versions/create) - // the model service uses the specified location as the source of the - // model. - // Once deployed, the model version is hosted by the prediction service, - // so - // this location is useful only as a historical record. - // The total number of model files can't exceed 1000. - DeploymentUri string `json:"deploymentUri,omitempty"` - - // Description: Optional. The description specified for the version when - // it was created. - Description string `json:"description,omitempty"` - - // ErrorMessage: Output only. The details of a failure or a - // cancellation. - ErrorMessage string `json:"errorMessage,omitempty"` - - // IsDefault: Output only. If true, this version will be used to handle - // prediction - // requests that do not specify a version. - // - // You can change the default version by - // calling - // [projects.methods.versions.setDefault](/ml-engine/reference/re - // st/v1/projects.models.versions/setDefault). - IsDefault bool `json:"isDefault,omitempty"` - - // LastUseTime: Output only. The time the version was last used for - // prediction. - LastUseTime string `json:"lastUseTime,omitempty"` - - // ManualScaling: Manually select the number of nodes to use for serving - // the - // model. You should generally use `automatic_scaling` with an - // appropriate - // `min_nodes` instead, but this option is available if you want - // more - // predictable billing. Beware that latency and error rates will - // increase - // if the traffic exceeds that capability of the system to serve it - // based - // on the selected number of nodes. - ManualScaling *GoogleCloudMlV1__ManualScaling `json:"manualScaling,omitempty"` - - // Name: Required.The name specified for the version when it was - // created. - // - // The version name must be unique within the model it is created in. - Name string `json:"name,omitempty"` - - // RuntimeVersion: Optional. The Google Cloud ML runtime version to use - // for this deployment. - // If not set, Google Cloud ML will choose a version. - RuntimeVersion string `json:"runtimeVersion,omitempty"` - - // State: Output only. The state of a version. - // - // Possible values: - // "UNKNOWN" - The version state is unspecified. - // "READY" - The version is ready for prediction. - // "CREATING" - The version is still in the process of creation. - // "FAILED" - The version failed to be created, possibly - // cancelled. - // `error_message` should contain the details of the failure. - State string `json:"state,omitempty"` - - // ForceSendFields is a list of field names (e.g. "AutomaticScaling") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "AutomaticScaling") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1__Version) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1__Version - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudMlV1beta1HyperparameterOutputHyperparameterMetric: An -// observed value of a metric. -type GoogleCloudMlV1beta1HyperparameterOutputHyperparameterMetric struct { - // ObjectiveValue: The objective value at this training step. - ObjectiveValue float64 `json:"objectiveValue,omitempty"` - - // TrainingStep: The global training step for this metric. - TrainingStep int64 `json:"trainingStep,omitempty,string"` - - // ForceSendFields is a list of field names (e.g. "ObjectiveValue") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "ObjectiveValue") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1beta1HyperparameterOutputHyperparameterMetric) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1beta1HyperparameterOutputHyperparameterMetric - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -func (s *GoogleCloudMlV1beta1HyperparameterOutputHyperparameterMetric) UnmarshalJSON(data []byte) error { - type noMethod GoogleCloudMlV1beta1HyperparameterOutputHyperparameterMetric - var s1 struct { - ObjectiveValue gensupport.JSONFloat64 `json:"objectiveValue"` - *noMethod - } - s1.noMethod = (*noMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.ObjectiveValue = float64(s1.ObjectiveValue) - return nil -} - -// GoogleCloudMlV1beta1__AutomaticScaling: Options for automatically -// scaling a model. -type GoogleCloudMlV1beta1__AutomaticScaling struct { - // MinNodes: Optional. The minimum number of nodes to allocate for this - // model. These - // nodes are always up, starting from the time the model is deployed, so - // the - // cost of operating this model will be at least - // `rate` * `min_nodes` * number of hours since last billing - // cycle, - // where `rate` is the cost per node-hour as documented - // in - // [pricing](https://cloud.google.com/ml-engine/pricing#prediction_pri - // cing), - // even if no predictions are performed. There is additional cost for - // each - // prediction performed. - // - // Unlike manual scaling, if the load gets too heavy for the nodes - // that are up, the service will automatically add nodes to handle - // the - // increased load as well as scale back as traffic drops, always - // maintaining - // at least `min_nodes`. You will be charged for the time in which - // additional - // nodes are used. - // - // If not specified, `min_nodes` defaults to 0, in which case, when - // traffic - // to a model stops (and after a cool-down period), nodes will be shut - // down - // and no charges will be incurred until traffic to the model resumes. - MinNodes int64 `json:"minNodes,omitempty"` - - // ForceSendFields is a list of field names (e.g. "MinNodes") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "MinNodes") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1beta1__AutomaticScaling) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1beta1__AutomaticScaling - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudMlV1beta1__CancelJobRequest: Request message for the -// CancelJob method. -type GoogleCloudMlV1beta1__CancelJobRequest struct { -} - -// GoogleCloudMlV1beta1__GetConfigResponse: Returns service account -// information associated with a project. -type GoogleCloudMlV1beta1__GetConfigResponse struct { - // ServiceAccount: The service account Cloud ML uses to access resources - // in the project. - ServiceAccount string `json:"serviceAccount,omitempty"` - - // ServiceAccountProject: The project number for `service_account`. - ServiceAccountProject int64 `json:"serviceAccountProject,omitempty,string"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` - - // ForceSendFields is a list of field names (e.g. "ServiceAccount") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "ServiceAccount") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1beta1__GetConfigResponse) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1beta1__GetConfigResponse - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudMlV1beta1__HyperparameterOutput: Represents the result of -// a single hyperparameter tuning trial from a -// training job. The TrainingOutput object that is returned on -// successful -// completion of a training job with hyperparameter tuning includes a -// list -// of HyperparameterOutput objects, one for each successful trial. -type GoogleCloudMlV1beta1__HyperparameterOutput struct { - // AllMetrics: All recorded object metrics for this trial. - AllMetrics []*GoogleCloudMlV1beta1HyperparameterOutputHyperparameterMetric `json:"allMetrics,omitempty"` - - // FinalMetric: The final objective metric seen for this trial. - FinalMetric *GoogleCloudMlV1beta1HyperparameterOutputHyperparameterMetric `json:"finalMetric,omitempty"` - - // Hyperparameters: The hyperparameters given to this trial. - Hyperparameters map[string]string `json:"hyperparameters,omitempty"` - - // TrialId: The trial id for these results. - TrialId string `json:"trialId,omitempty"` - - // ForceSendFields is a list of field names (e.g. "AllMetrics") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "AllMetrics") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1beta1__HyperparameterOutput) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1beta1__HyperparameterOutput - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudMlV1beta1__HyperparameterSpec: Represents a set of -// hyperparameters to optimize. -type GoogleCloudMlV1beta1__HyperparameterSpec struct { - // Goal: Required. The type of goal to use for tuning. Available types - // are - // `MAXIMIZE` and `MINIMIZE`. - // - // Defaults to `MAXIMIZE`. - // - // Possible values: - // "GOAL_TYPE_UNSPECIFIED" - Goal Type will default to maximize. - // "MAXIMIZE" - Maximize the goal metric. - // "MINIMIZE" - Minimize the goal metric. - Goal string `json:"goal,omitempty"` - - // HyperparameterMetricTag: Optional. The Tensorflow summary tag name to - // use for optimizing trials. For - // current versions of Tensorflow, this tag name should exactly match - // what is - // shown in Tensorboard, including all scopes. For versions of - // Tensorflow - // prior to 0.12, this should be only the tag passed to tf.Summary. - // By default, "training/hptuning/metric" will be used. - HyperparameterMetricTag string `json:"hyperparameterMetricTag,omitempty"` - - // MaxParallelTrials: Optional. The number of training trials to run - // concurrently. - // You can reduce the time it takes to perform hyperparameter tuning by - // adding - // trials in parallel. However, each trail only benefits from the - // information - // gained in completed trials. That means that a trial does not get - // access to - // the results of trials running at the same time, which could reduce - // the - // quality of the overall optimization. - // - // Each trial will use the same scale tier and machine types. - // - // Defaults to one. - MaxParallelTrials int64 `json:"maxParallelTrials,omitempty"` - - // MaxTrials: Optional. How many training trials should be attempted to - // optimize - // the specified hyperparameters. - // - // Defaults to one. - MaxTrials int64 `json:"maxTrials,omitempty"` - - // Params: Required. The set of parameters to tune. - Params []*GoogleCloudMlV1beta1__ParameterSpec `json:"params,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Goal") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Goal") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1beta1__HyperparameterSpec) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1beta1__HyperparameterSpec - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudMlV1beta1__Job: Represents a training or prediction job. -type GoogleCloudMlV1beta1__Job struct { - // CreateTime: Output only. When the job was created. - CreateTime string `json:"createTime,omitempty"` - - // EndTime: Output only. When the job processing was completed. - EndTime string `json:"endTime,omitempty"` - - // ErrorMessage: Output only. The details of a failure or a - // cancellation. - ErrorMessage string `json:"errorMessage,omitempty"` - - // JobId: Required. The user-specified id of the job. - JobId string `json:"jobId,omitempty"` - - // PredictionInput: Input parameters to create a prediction job. - PredictionInput *GoogleCloudMlV1beta1__PredictionInput `json:"predictionInput,omitempty"` - - // PredictionOutput: The current prediction job result. - PredictionOutput *GoogleCloudMlV1beta1__PredictionOutput `json:"predictionOutput,omitempty"` - - // StartTime: Output only. When the job processing was started. - StartTime string `json:"startTime,omitempty"` - - // State: Output only. The detailed state of a job. - // - // Possible values: - // "STATE_UNSPECIFIED" - The job state is unspecified. - // "QUEUED" - The job has been just created and processing has not yet - // begun. - // "PREPARING" - The service is preparing to run the job. - // "RUNNING" - The job is in progress. - // "SUCCEEDED" - The job completed successfully. - // "FAILED" - The job failed. - // `error_message` should contain the details of the failure. - // "CANCELLING" - The job is being cancelled. - // `error_message` should describe the reason for the cancellation. - // "CANCELLED" - The job has been cancelled. - // `error_message` should describe the reason for the cancellation. - State string `json:"state,omitempty"` - - // TrainingInput: Input parameters to create a training job. - TrainingInput *GoogleCloudMlV1beta1__TrainingInput `json:"trainingInput,omitempty"` - - // TrainingOutput: The current training job result. - TrainingOutput *GoogleCloudMlV1beta1__TrainingOutput `json:"trainingOutput,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` - - // ForceSendFields is a list of field names (e.g. "CreateTime") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "CreateTime") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1beta1__Job) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1beta1__Job - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudMlV1beta1__ListJobsResponse: Response message for the -// ListJobs method. -type GoogleCloudMlV1beta1__ListJobsResponse struct { - // Jobs: The list of jobs. - Jobs []*GoogleCloudMlV1beta1__Job `json:"jobs,omitempty"` - - // NextPageToken: Optional. Pass this token as the `page_token` field of - // the request for a - // subsequent call. - NextPageToken string `json:"nextPageToken,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` - - // ForceSendFields is a list of field names (e.g. "Jobs") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Jobs") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1beta1__ListJobsResponse) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1beta1__ListJobsResponse - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudMlV1beta1__ListModelsResponse: Response message for the -// ListModels method. -type GoogleCloudMlV1beta1__ListModelsResponse struct { - // Models: The list of models. - Models []*GoogleCloudMlV1beta1__Model `json:"models,omitempty"` - - // NextPageToken: Optional. Pass this token as the `page_token` field of - // the request for a - // subsequent call. - NextPageToken string `json:"nextPageToken,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` - - // ForceSendFields is a list of field names (e.g. "Models") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Models") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1beta1__ListModelsResponse) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1beta1__ListModelsResponse - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudMlV1beta1__ListVersionsResponse: Response message for the -// ListVersions method. -type GoogleCloudMlV1beta1__ListVersionsResponse struct { - // NextPageToken: Optional. Pass this token as the `page_token` field of - // the request for a - // subsequent call. - NextPageToken string `json:"nextPageToken,omitempty"` - - // Versions: The list of versions. - Versions []*GoogleCloudMlV1beta1__Version `json:"versions,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` - - // ForceSendFields is a list of field names (e.g. "NextPageToken") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "NextPageToken") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1beta1__ListVersionsResponse) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1beta1__ListVersionsResponse - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudMlV1beta1__ManualScaling: Options for manually scaling a -// model. -type GoogleCloudMlV1beta1__ManualScaling struct { - // Nodes: The number of nodes to allocate for this model. These nodes - // are always up, - // starting from the time the model is deployed, so the cost of - // operating - // this model will be proportional to `nodes` * number of hours - // since - // last billing cycle. - Nodes int64 `json:"nodes,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Nodes") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Nodes") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1beta1__ManualScaling) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1beta1__ManualScaling - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudMlV1beta1__Model: Represents a machine learning -// solution. -// -// A model can have multiple versions, each of which is a deployed, -// trained -// model ready to receive prediction requests. The model itself is just -// a -// container. -type GoogleCloudMlV1beta1__Model struct { - // DefaultVersion: Output only. The default version of the model. This - // version will be used to - // handle prediction requests that do not specify a version. - // - // You can change the default version by - // calling - // [projects.methods.versions.setDefault](/ml-engine/reference/re - // st/v1beta1/projects.models.versions/setDefault). - DefaultVersion *GoogleCloudMlV1beta1__Version `json:"defaultVersion,omitempty"` - - // Description: Optional. The description specified for the model when - // it was created. - Description string `json:"description,omitempty"` - - // Name: Required. The name specified for the model when it was - // created. - // - // The model name must be unique within the project it is created in. - Name string `json:"name,omitempty"` - - // OnlinePredictionLogging: Optional. If true, enables StackDriver - // Logging for online prediction. - // Default is false. - OnlinePredictionLogging bool `json:"onlinePredictionLogging,omitempty"` - - // Regions: Optional. The list of regions where the model is going to be - // deployed. - // Currently only one region per model is supported. - // Defaults to 'us-central1' if nothing is set. - // Note: - // * No matter where a model is deployed, it can always be accessed - // by - // users from anywhere, both for online and batch prediction. - // * The region for a batch prediction job is set by the region field - // when - // submitting the batch prediction job and does not take its value - // from - // this field. - Regions []string `json:"regions,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` - - // ForceSendFields is a list of field names (e.g. "DefaultVersion") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "DefaultVersion") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1beta1__Model) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1beta1__Model - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudMlV1beta1__OperationMetadata: Represents the metadata of -// the long-running operation. -type GoogleCloudMlV1beta1__OperationMetadata struct { - // CreateTime: The time the operation was submitted. - CreateTime string `json:"createTime,omitempty"` - - // EndTime: The time operation processing completed. - EndTime string `json:"endTime,omitempty"` - - // IsCancellationRequested: Indicates whether a request to cancel this - // operation has been made. - IsCancellationRequested bool `json:"isCancellationRequested,omitempty"` - - // ModelName: Contains the name of the model associated with the - // operation. - ModelName string `json:"modelName,omitempty"` - - // OperationType: The operation type. - // - // Possible values: - // "OPERATION_TYPE_UNSPECIFIED" - Unspecified operation type. - // "CREATE_VERSION" - An operation to create a new version. - // "DELETE_VERSION" - An operation to delete an existing version. - // "DELETE_MODEL" - An operation to delete an existing model. - OperationType string `json:"operationType,omitempty"` - - // StartTime: The time operation processing started. - StartTime string `json:"startTime,omitempty"` - - // Version: Contains the version associated with the operation. - Version *GoogleCloudMlV1beta1__Version `json:"version,omitempty"` - - // ForceSendFields is a list of field names (e.g. "CreateTime") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "CreateTime") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1beta1__OperationMetadata) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1beta1__OperationMetadata - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudMlV1beta1__ParameterSpec: Represents a single -// hyperparameter to optimize. -type GoogleCloudMlV1beta1__ParameterSpec struct { - // CategoricalValues: Required if type is `CATEGORICAL`. The list of - // possible categories. - CategoricalValues []string `json:"categoricalValues,omitempty"` - - // DiscreteValues: Required if type is `DISCRETE`. - // A list of feasible points. - // The list should be in strictly increasing order. For instance, - // this - // parameter might have possible settings of 1.5, 2.5, and 4.0. This - // list - // should not contain more than 1,000 values. - DiscreteValues []float64 `json:"discreteValues,omitempty"` - - // MaxValue: Required if typeis `DOUBLE` or `INTEGER`. This field - // should be unset if type is `CATEGORICAL`. This value should be - // integers if - // type is `INTEGER`. - MaxValue float64 `json:"maxValue,omitempty"` - - // MinValue: Required if type is `DOUBLE` or `INTEGER`. This - // field - // should be unset if type is `CATEGORICAL`. This value should be - // integers if - // type is INTEGER. - MinValue float64 `json:"minValue,omitempty"` - - // ParameterName: Required. The parameter name must be unique amongst - // all ParameterConfigs in - // a HyperparameterSpec message. E.g., "learning_rate". - ParameterName string `json:"parameterName,omitempty"` - - // ScaleType: Optional. How the parameter should be scaled to the - // hypercube. - // Leave unset for categorical parameters. - // Some kind of scaling is strongly recommended for real or - // integral - // parameters (e.g., `UNIT_LINEAR_SCALE`). - // - // Possible values: - // "NONE" - By default, no scaling is applied. - // "UNIT_LINEAR_SCALE" - Scales the feasible space to (0, 1) linearly. - // "UNIT_LOG_SCALE" - Scales the feasible space logarithmically to (0, - // 1). The entire feasible - // space must be strictly positive. - // "UNIT_REVERSE_LOG_SCALE" - Scales the feasible space "reverse" - // logarithmically to (0, 1). The result - // is that values close to the top of the feasible space are spread out - // more - // than points near the bottom. The entire feasible space must be - // strictly - // positive. - ScaleType string `json:"scaleType,omitempty"` - - // Type: Required. The type of the parameter. - // - // Possible values: - // "PARAMETER_TYPE_UNSPECIFIED" - You must specify a valid type. Using - // this unspecified type will result in - // an error. - // "DOUBLE" - Type for real-valued parameters. - // "INTEGER" - Type for integral parameters. - // "CATEGORICAL" - The parameter is categorical, with a value chosen - // from the categories - // field. - // "DISCRETE" - The parameter is real valued, with a fixed set of - // feasible points. If - // `type==DISCRETE`, feasible_points must be provided, and - // {`min_value`, `max_value`} will be ignored. - Type string `json:"type,omitempty"` - - // ForceSendFields is a list of field names (e.g. "CategoricalValues") - // to unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "CategoricalValues") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1beta1__ParameterSpec) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1beta1__ParameterSpec - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -func (s *GoogleCloudMlV1beta1__ParameterSpec) UnmarshalJSON(data []byte) error { - type noMethod GoogleCloudMlV1beta1__ParameterSpec - var s1 struct { - MaxValue gensupport.JSONFloat64 `json:"maxValue"` - MinValue gensupport.JSONFloat64 `json:"minValue"` - *noMethod - } - s1.noMethod = (*noMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.MaxValue = float64(s1.MaxValue) - s.MinValue = float64(s1.MinValue) - return nil -} - -// GoogleCloudMlV1beta1__PredictRequest: Request for predictions to be -// issued against a trained model. -// -// The body of the request is a single JSON object with a single -// top-level -// field: -// -//
    -//
    instances
    -//
    A JSON array containing values representing the instances to -// use for -// prediction.
    -//
    -// -// The structure of each element of the instances list is determined by -// your -// model's input definition. Instances can include named inputs or can -// contain -// only unlabeled values. -// -// Not all data includes named inputs. Some instances will be -// simple -// JSON values (boolean, number, or string). However, instances are -// often lists -// of simple values, or complex nested lists. Here are some examples of -// request -// bodies: -// -// CSV data with each row encoded as a string value: -//
    -// {"instances": ["1.0,true,\\"x\\"",
    -// "-2.0,false,\\"y\\""]}
    -// 
    -// Plain text: -//
    -// {"instances": ["the quick brown fox", "la bruja le
    -// dio"]}
    -// 
    -// Sentences encoded as lists of words (vectors of strings): -//
    -// {
    -//   "instances": [
    -//     ["the","quick","brown"],
    -//     ["la","bruja","le"],
    -//     ...
    -//   ]
    -// }
    -// 
    -// Floating point scalar values: -//
    -// {"instances": [0.0, 1.1, 2.2]}
    -// 
    -// Vectors of integers: -//
    -// {
    -//   "instances": [
    -//     [0, 1, 2],
    -//     [3, 4, 5],
    -//     ...
    -//   ]
    -// }
    -// 
    -// Tensors (in this case, two-dimensional tensors): -//
    -// {
    -//   "instances": [
    -//     [
    -//       [0, 1, 2],
    -//       [3, 4, 5]
    -//     ],
    -//     ...
    -//   ]
    -// }
    -// 
    -// Images can be represented different ways. In this encoding scheme the -// first -// two dimensions represent the rows and columns of the image, and the -// third -// contains lists (vectors) of the R, G, and B values for each -// pixel. -//
    -// {
    -//   "instances": [
    -//     [
    -//       [
    -//         [138, 30, 66],
    -//         [130, 20, 56],
    -//         ...
    -//       ],
    -//       [
    -//         [126, 38, 61],
    -//         [122, 24, 57],
    -//         ...
    -//       ],
    -//       ...
    -//     ],
    -//     ...
    -//   ]
    -// }
    -// 
    -// JSON strings must be encoded as UTF-8. To send binary data, you -// must -// base64-encode the data and mark it as binary. To mark a JSON -// string -// as binary, replace it with a JSON object with a single attribute -// named `b64`: -//
    {"b64": "..."} 
    -// For example: -// -// Two Serialized tf.Examples (fake data, for illustrative purposes -// only): -//
    -// {"instances": [{"b64": "X5ad6u"}, {"b64": "IA9j4nx"}]}
    -// 
    -// Two JPEG image byte strings (fake data, for illustrative purposes -// only): -//
    -// {"instances": [{"b64": "ASa8asdf"}, {"b64": "JLK7ljk3"}]}
    -// 
    -// If your data includes named references, format each instance as a -// JSON object -// with the named references as the keys: -// -// JSON input data to be preprocessed: -//
    -// {
    -//   "instances": [
    -//     {
    -//       "a": 1.0,
    -//       "b": true,
    -//       "c": "x"
    -//     },
    -//     {
    -//       "a": -2.0,
    -//       "b": false,
    -//       "c": "y"
    -//     }
    -//   ]
    -// }
    -// 
    -// Some models have an underlying TensorFlow graph that accepts multiple -// input -// tensors. In this case, you should use the names of JSON name/value -// pairs to -// identify the input tensors, as shown in the following exmaples: -// -// For a graph with input tensor aliases "tag" (string) and -// "image" -// (base64-encoded string): -//
    -// {
    -//   "instances": [
    -//     {
    -//       "tag": "beach",
    -//       "image": {"b64": "ASa8asdf"}
    -//     },
    -//     {
    -//       "tag": "car",
    -//       "image": {"b64": "JLK7ljk3"}
    -//     }
    -//   ]
    -// }
    -// 
    -// For a graph with input tensor aliases "tag" (string) and -// "image" -// (3-dimensional array of 8-bit ints): -//
    -// {
    -//   "instances": [
    -//     {
    -//       "tag": "beach",
    -//       "image": [
    -//         [
    -//           [138, 30, 66],
    -//           [130, 20, 56],
    -//           ...
    -//         ],
    -//         [
    -//           [126, 38, 61],
    -//           [122, 24, 57],
    -//           ...
    -//         ],
    -//         ...
    -//       ]
    -//     },
    -//     {
    -//       "tag": "car",
    -//       "image": [
    -//         [
    -//           [255, 0, 102],
    -//           [255, 0, 97],
    -//           ...
    -//         ],
    -//         [
    -//           [254, 1, 101],
    -//           [254, 2, 93],
    -//           ...
    -//         ],
    -//         ...
    -//       ]
    -//     },
    -//     ...
    -//   ]
    -// }
    -// 
    -// If the call is successful, the response body will contain one -// prediction -// entry per instance in the request body. If prediction fails for -// any -// instance, the response body will contain no predictions and will -// contian -// a single error entry instead. -type GoogleCloudMlV1beta1__PredictRequest struct { - // HttpBody: - // Required. The prediction request body. - HttpBody *GoogleApi__HttpBody `json:"httpBody,omitempty"` - - // ForceSendFields is a list of field names (e.g. "HttpBody") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "HttpBody") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1beta1__PredictRequest) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1beta1__PredictRequest - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudMlV1beta1__PredictionInput: Represents input parameters -// for a prediction job. -type GoogleCloudMlV1beta1__PredictionInput struct { - // DataFormat: Required. The format of the input data files. - // - // Possible values: - // "DATA_FORMAT_UNSPECIFIED" - Unspecified format. - // "TEXT" - The source file is a text file with instances separated by - // the - // new-line character. - // "TF_RECORD" - The source file is a TFRecord file. - // "TF_RECORD_GZIP" - The source file is a GZIP-compressed TFRecord - // file. - DataFormat string `json:"dataFormat,omitempty"` - - // InputPaths: Required. The Google Cloud Storage location of the input - // data files. - // May contain wildcards. - InputPaths []string `json:"inputPaths,omitempty"` - - // MaxWorkerCount: Optional. The maximum number of workers to be used - // for parallel processing. - // Defaults to 10 if not specified. - MaxWorkerCount int64 `json:"maxWorkerCount,omitempty,string"` - - // ModelName: Use this field if you want to use the default version for - // the specified - // model. The string must use the following - // format: - // - // "projects/[YOUR_PROJECT]/models/[YOUR_MODEL] - // " - ModelName string `json:"modelName,omitempty"` - - // OutputPath: Required. The output Google Cloud Storage location. - OutputPath string `json:"outputPath,omitempty"` - - // Region: Required. The Google Compute Engine region to run the - // prediction job in. - Region string `json:"region,omitempty"` - - // RuntimeVersion: Optional. The Google Cloud ML runtime version to use - // for this batch - // prediction. If not set, Google Cloud ML will pick the runtime version - // used - // during the CreateVersion request for this model version, or choose - // the - // latest stable version when model version information is not - // available - // such as when the model is specified by uri. - RuntimeVersion string `json:"runtimeVersion,omitempty"` - - // Uri: Use this field if you want to specify a Google Cloud Storage - // path for - // the model to use. - Uri string `json:"uri,omitempty"` - - // VersionName: Use this field if you want to specify a version of the - // model to use. The - // string is formatted the same way as `model_version`, with the - // addition - // of the version - // information: - // - // "projects/[YOUR_PROJECT]/models/YOUR_MO - // DEL/versions/[YOUR_VERSION]" - VersionName string `json:"versionName,omitempty"` - - // ForceSendFields is a list of field names (e.g. "DataFormat") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "DataFormat") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1beta1__PredictionInput) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1beta1__PredictionInput - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudMlV1beta1__PredictionOutput: Represents results of a -// prediction job. -type GoogleCloudMlV1beta1__PredictionOutput struct { - // ErrorCount: The number of data instances which resulted in errors. - ErrorCount int64 `json:"errorCount,omitempty,string"` - - // NodeHours: Node hours used by the batch prediction job. - NodeHours float64 `json:"nodeHours,omitempty"` - - // OutputPath: The output Google Cloud Storage location provided at the - // job creation time. - OutputPath string `json:"outputPath,omitempty"` - - // PredictionCount: The number of generated predictions. - PredictionCount int64 `json:"predictionCount,omitempty,string"` - - // ForceSendFields is a list of field names (e.g. "ErrorCount") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "ErrorCount") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1beta1__PredictionOutput) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1beta1__PredictionOutput - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -func (s *GoogleCloudMlV1beta1__PredictionOutput) UnmarshalJSON(data []byte) error { - type noMethod GoogleCloudMlV1beta1__PredictionOutput - var s1 struct { - NodeHours gensupport.JSONFloat64 `json:"nodeHours"` - *noMethod - } - s1.noMethod = (*noMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.NodeHours = float64(s1.NodeHours) - return nil -} - -// GoogleCloudMlV1beta1__SetDefaultVersionRequest: Request message for -// the SetDefaultVersion request. -type GoogleCloudMlV1beta1__SetDefaultVersionRequest struct { -} - -// GoogleCloudMlV1beta1__TrainingInput: Represents input parameters for -// a training job. -type GoogleCloudMlV1beta1__TrainingInput struct { - // Args: Optional. Command line arguments to pass to the program. - Args []string `json:"args,omitempty"` - - // Hyperparameters: Optional. The set of Hyperparameters to tune. - Hyperparameters *GoogleCloudMlV1beta1__HyperparameterSpec `json:"hyperparameters,omitempty"` - - // JobDir: Optional. A Google Cloud Storage path in which to store - // training outputs - // and other data needed for training. This path is passed to your - // TensorFlow - // program as the 'job_dir' command-line argument. The benefit of - // specifying - // this field is that Cloud ML validates the path for use in training. - JobDir string `json:"jobDir,omitempty"` - - // MasterType: Optional. Specifies the type of virtual machine to use - // for your training - // job's master worker. - // - // The following types are supported: - // - //
    - //
    standard
    - //
    - // A basic machine configuration suitable for training simple models - // with - // small to moderate datasets. - //
    - //
    large_model
    - //
    - // A machine with a lot of memory, specially suited for parameter - // servers - // when your model is large (having many hidden layers or layers with - // very - // large numbers of nodes). - //
    - //
    complex_model_s
    - //
    - // A machine suitable for the master and workers of the cluster when - // your - // model requires more computation than the standard machine can - // handle - // satisfactorily. - //
    - //
    complex_model_m
    - //
    - // A machine with roughly twice the number of cores and roughly double - // the - // memory of complex_model_s. - //
    - //
    complex_model_l
    - //
    - // A machine with roughly twice the number of cores and roughly double - // the - // memory of complex_model_m. - //
    - //
    standard_gpu
    - //
    - // A machine equivalent to standard that - // also includes a - // - // GPU that you can use in your trainer. - //
    - //
    complex_model_m_gpu
    - //
    - // A machine equivalent to - // complex_model_m that also - // includes - // four GPUs. - //
    - //
    - // - // You must set this value when `scaleTier` is set to `CUSTOM`. - MasterType string `json:"masterType,omitempty"` - - // PackageUris: Required. The Google Cloud Storage location of the - // packages with - // the training program and any additional dependencies. - // The maximum number of package URIs is 100. - PackageUris []string `json:"packageUris,omitempty"` - - // ParameterServerCount: Optional. The number of parameter server - // replicas to use for the training - // job. Each replica in the cluster will be of the type specified - // in - // `parameter_server_type`. - // - // This value can only be used when `scale_tier` is set to `CUSTOM`.If - // you - // set this value, you must also set `parameter_server_type`. - ParameterServerCount int64 `json:"parameterServerCount,omitempty,string"` - - // ParameterServerType: Optional. Specifies the type of virtual machine - // to use for your training - // job's parameter server. - // - // The supported values are the same as those described in the entry - // for - // `master_type`. - // - // This value must be present when `scaleTier` is set to `CUSTOM` - // and - // `parameter_server_count` is greater than zero. - ParameterServerType string `json:"parameterServerType,omitempty"` - - // PythonModule: Required. The Python module name to run after - // installing the packages. - PythonModule string `json:"pythonModule,omitempty"` - - // Region: Required. The Google Compute Engine region to run the - // training job in. - Region string `json:"region,omitempty"` - - // RuntimeVersion: Optional. The Google Cloud ML runtime version to use - // for training. If not - // set, Google Cloud ML will choose the latest stable version. - RuntimeVersion string `json:"runtimeVersion,omitempty"` - - // ScaleTier: Required. Specifies the machine types, the number of - // replicas for workers - // and parameter servers. - // - // Possible values: - // "BASIC" - A single worker instance. This tier is suitable for - // learning how to use - // Cloud ML, and for experimenting with new models using small datasets. - // "STANDARD_1" - Many workers and a few parameter servers. - // "PREMIUM_1" - A large number of workers with many parameter - // servers. - // "BASIC_GPU" - A single worker instance [with a - // GPU](/ml-engine/docs/how-tos/using-gpus). - // "CUSTOM" - The CUSTOM tier is not a set tier, but rather enables - // you to use your - // own cluster specification. When you use this tier, set values - // to - // configure your processing cluster according to these guidelines: - // - // * You _must_ set `TrainingInput.masterType` to specify the type - // of machine to use for your master node. This is the only - // required - // setting. - // - // * You _may_ set `TrainingInput.workerCount` to specify the number - // of - // workers to use. If you specify one or more workers, you _must_ - // also - // set `TrainingInput.workerType` to specify the type of machine to - // use - // for your worker nodes. - // - // * You _may_ set `TrainingInput.parameterServerCount` to specify - // the - // number of parameter servers to use. If you specify one or more - // parameter servers, you _must_ also set - // `TrainingInput.parameterServerType` to specify the type of - // machine to - // use for your parameter servers. - // - // Note that all of your workers must use the same machine type, which - // can - // be different from your parameter server type and master type. - // Your - // parameter servers must likewise use the same machine type, which can - // be - // different from your worker type and master type. - ScaleTier string `json:"scaleTier,omitempty"` - - // WorkerCount: Optional. The number of worker replicas to use for the - // training job. Each - // replica in the cluster will be of the type specified in - // `worker_type`. - // - // This value can only be used when `scale_tier` is set to `CUSTOM`. If - // you - // set this value, you must also set `worker_type`. - WorkerCount int64 `json:"workerCount,omitempty,string"` - - // WorkerType: Optional. Specifies the type of virtual machine to use - // for your training - // job's worker nodes. - // - // The supported values are the same as those described in the entry - // for - // `masterType`. - // - // This value must be present when `scaleTier` is set to `CUSTOM` - // and - // `workerCount` is greater than zero. - WorkerType string `json:"workerType,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Args") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Args") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1beta1__TrainingInput) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1beta1__TrainingInput - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleCloudMlV1beta1__TrainingOutput: Represents results of a -// training job. Output only. -type GoogleCloudMlV1beta1__TrainingOutput struct { - // CompletedTrialCount: The number of hyperparameter tuning trials that - // completed successfully. - // Only set for hyperparameter tuning jobs. - CompletedTrialCount int64 `json:"completedTrialCount,omitempty,string"` - - // ConsumedMLUnits: The amount of ML units consumed by the job. - ConsumedMLUnits float64 `json:"consumedMLUnits,omitempty"` - - // IsHyperparameterTuningJob: Whether this job is a hyperparameter - // tuning job. - IsHyperparameterTuningJob bool `json:"isHyperparameterTuningJob,omitempty"` - - // Trials: Results for individual Hyperparameter trials. - // Only set for hyperparameter tuning jobs. - Trials []*GoogleCloudMlV1beta1__HyperparameterOutput `json:"trials,omitempty"` - - // ForceSendFields is a list of field names (e.g. "CompletedTrialCount") - // to unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "CompletedTrialCount") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1beta1__TrainingOutput) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1beta1__TrainingOutput - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -func (s *GoogleCloudMlV1beta1__TrainingOutput) UnmarshalJSON(data []byte) error { - type noMethod GoogleCloudMlV1beta1__TrainingOutput - var s1 struct { - ConsumedMLUnits gensupport.JSONFloat64 `json:"consumedMLUnits"` - *noMethod - } - s1.noMethod = (*noMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.ConsumedMLUnits = float64(s1.ConsumedMLUnits) - return nil -} - -// GoogleCloudMlV1beta1__Version: Represents a version of the -// model. -// -// Each version is a trained model deployed in the cloud, ready to -// handle -// prediction requests. A model can have multiple versions. You can -// get -// information about all of the versions of a given model by -// calling -// [projects.models.versions.list](/ml-engine/reference/rest/v1be -// ta1/projects.models.versions/list). -type GoogleCloudMlV1beta1__Version struct { - // AutomaticScaling: Automatically scale the number of nodes used to - // serve the model in - // response to increases and decreases in traffic. Care should be - // taken to ramp up traffic according to the model's ability to scale - // or you will start seeing increases in latency and 429 response codes. - AutomaticScaling *GoogleCloudMlV1beta1__AutomaticScaling `json:"automaticScaling,omitempty"` - - // CreateTime: Output only. The time the version was created. - CreateTime string `json:"createTime,omitempty"` - - // DeploymentUri: Required. The Google Cloud Storage location of the - // trained model used to - // create the version. See the - // [overview of - // model - // deployment](/ml-engine/docs/concepts/deployment-overview) for - // more - // informaiton. - // - // When passing Version - // to - // [projects.models.versions.create](/ml-engine/reference/rest/v1beta1 - // /projects.models.versions/create) - // the model service uses the specified location as the source of the - // model. - // Once deployed, the model version is hosted by the prediction service, - // so - // this location is useful only as a historical record. - // The total number of model files can't exceed 1000. - DeploymentUri string `json:"deploymentUri,omitempty"` - - // Description: Optional. The description specified for the version when - // it was created. - Description string `json:"description,omitempty"` - - // ErrorMessage: Output only. The details of a failure or a - // cancellation. - ErrorMessage string `json:"errorMessage,omitempty"` - - // IsDefault: Output only. If true, this version will be used to handle - // prediction - // requests that do not specify a version. - // - // You can change the default version by - // calling - // [projects.methods.versions.setDefault](/ml-engine/reference/re - // st/v1beta1/projects.models.versions/setDefault). - IsDefault bool `json:"isDefault,omitempty"` - - // LastUseTime: Output only. The time the version was last used for - // prediction. - LastUseTime string `json:"lastUseTime,omitempty"` - - // ManualScaling: Manually select the number of nodes to use for serving - // the - // model. You should generally use `automatic_scaling` with an - // appropriate - // `min_nodes` instead, but this option is available if you want - // predictable - // billing. Beware that latency and error rates will increase if - // the - // traffic exceeds that capability of the system to serve it based - // on - // the selected number of nodes. - ManualScaling *GoogleCloudMlV1beta1__ManualScaling `json:"manualScaling,omitempty"` - - // Name: Required.The name specified for the version when it was - // created. - // - // The version name must be unique within the model it is created in. - Name string `json:"name,omitempty"` - - // RuntimeVersion: Optional. The Google Cloud ML runtime version to use - // for this deployment. - // If not set, Google Cloud ML will choose a version. - RuntimeVersion string `json:"runtimeVersion,omitempty"` - - // State: Output only. The state of a version. - // - // Possible values: - // "UNKNOWN" - / The version state is unspecified. - // "READY" - The version is ready for prediction. - // "CREATING" - The version is still in the process of creation. - // "FAILED" - The version failed to be created, possibly - // cancelled. - // `error_message` should contain the details of the failure. - State string `json:"state,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` - - // ForceSendFields is a list of field names (e.g. "AutomaticScaling") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "AutomaticScaling") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudMlV1beta1__Version) MarshalJSON() ([]byte, error) { - type noMethod GoogleCloudMlV1beta1__Version - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleIamV1LogConfigCloudAuditOptions: Write a Cloud Audit log -type GoogleIamV1LogConfigCloudAuditOptions struct { - // LogName: The log_name to populate in the Cloud Audit Record. - // - // Possible values: - // "UNSPECIFIED_LOG_NAME" - Default. Should not be used. - // "ADMIN_ACTIVITY" - Corresponds to - // "cloudaudit.googleapis.com/activity" - // "DATA_ACCESS" - Corresponds to - // "cloudaudit.googleapis.com/data_access" - LogName string `json:"logName,omitempty"` - - // ForceSendFields is a list of field names (e.g. "LogName") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "LogName") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleIamV1LogConfigCloudAuditOptions) MarshalJSON() ([]byte, error) { - type noMethod GoogleIamV1LogConfigCloudAuditOptions - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleIamV1LogConfigCounterOptions: Options for counters -type GoogleIamV1LogConfigCounterOptions struct { - // Field: The field value to attribute. - Field string `json:"field,omitempty"` - - // Metric: The metric to update. - Metric string `json:"metric,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Field") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Field") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleIamV1LogConfigCounterOptions) MarshalJSON() ([]byte, error) { - type noMethod GoogleIamV1LogConfigCounterOptions - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleIamV1LogConfigDataAccessOptions: Write a Data Access (Gin) log -type GoogleIamV1LogConfigDataAccessOptions struct { -} - -// GoogleIamV1__AuditConfig: Specifies the audit configuration for a -// service. -// The configuration determines which permission types are logged, and -// what -// identities, if any, are exempted from logging. -// An AuditConfig must have one or more AuditLogConfigs. -// -// If there are AuditConfigs for both `allServices` and a specific -// service, -// the union of the two AuditConfigs is used for that service: the -// log_types -// specified in each AuditConfig are enabled, and the exempted_members -// in each -// AuditConfig are exempted. -// -// Example Policy with multiple AuditConfigs: -// -// { -// "audit_configs": [ -// { -// "service": "allServices" -// "audit_log_configs": [ -// { -// "log_type": "DATA_READ", -// "exempted_members": [ -// "user:foo@gmail.com" -// ] -// }, -// { -// "log_type": "DATA_WRITE", -// }, -// { -// "log_type": "ADMIN_READ", -// } -// ] -// }, -// { -// "service": "fooservice.googleapis.com" -// "audit_log_configs": [ -// { -// "log_type": "DATA_READ", -// }, -// { -// "log_type": "DATA_WRITE", -// "exempted_members": [ -// "user:bar@gmail.com" -// ] -// } -// ] -// } -// ] -// } -// -// For fooservice, this policy enables DATA_READ, DATA_WRITE and -// ADMIN_READ -// logging. It also exempts foo@gmail.com from DATA_READ logging, -// and -// bar@gmail.com from DATA_WRITE logging. -type GoogleIamV1__AuditConfig struct { - // AuditLogConfigs: The configuration for logging of each type of - // permission. - // Next ID: 4 - AuditLogConfigs []*GoogleIamV1__AuditLogConfig `json:"auditLogConfigs,omitempty"` - - ExemptedMembers []string `json:"exemptedMembers,omitempty"` - - // Service: Specifies a service that will be enabled for audit - // logging. - // For example, `storage.googleapis.com`, - // `cloudsql.googleapis.com`. - // `allServices` is a special value that covers all services. - Service string `json:"service,omitempty"` - - // ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "AuditLogConfigs") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []string `json:"-"` -} - -func (s *GoogleIamV1__AuditConfig) MarshalJSON() ([]byte, error) { - type noMethod GoogleIamV1__AuditConfig - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleIamV1__AuditLogConfig: Provides the configuration for logging a -// type of permissions. -// Example: -// -// { -// "audit_log_configs": [ -// { -// "log_type": "DATA_READ", -// "exempted_members": [ -// "user:foo@gmail.com" -// ] -// }, -// { -// "log_type": "DATA_WRITE", -// } -// ] -// } -// -// This enables 'DATA_READ' and 'DATA_WRITE' logging, while -// exempting -// foo@gmail.com from DATA_READ logging. -type GoogleIamV1__AuditLogConfig struct { - // ExemptedMembers: Specifies the identities that do not cause logging - // for this type of - // permission. - // Follows the same format of Binding.members. - ExemptedMembers []string `json:"exemptedMembers,omitempty"` - - // LogType: The log type that this config enables. - // - // Possible values: - // "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this. - // "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy - // "DATA_WRITE" - Data writes. Example: CloudSQL Users create - // "DATA_READ" - Data reads. Example: CloudSQL Users list - LogType string `json:"logType,omitempty"` - - // ForceSendFields is a list of field names (e.g. "ExemptedMembers") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "ExemptedMembers") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []string `json:"-"` -} - -func (s *GoogleIamV1__AuditLogConfig) MarshalJSON() ([]byte, error) { - type noMethod GoogleIamV1__AuditLogConfig - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleIamV1__Binding: Associates `members` with a `role`. -type GoogleIamV1__Binding struct { - // Condition: The condition that is associated with this binding. - // NOTE: an unsatisfied condition will not allow user access via - // current - // binding. Different bindings, including their conditions, are - // examined - // independently. - // This field is GOOGLE_INTERNAL. - Condition *GoogleType__Expr `json:"condition,omitempty"` - - // Members: Specifies the identities requesting access for a Cloud - // Platform resource. - // `members` can have the following values: - // - // * `allUsers`: A special identifier that represents anyone who is - // on the internet; with or without a Google account. - // - // * `allAuthenticatedUsers`: A special identifier that represents - // anyone - // who is authenticated with a Google account or a service - // account. - // - // * `user:{emailid}`: An email address that represents a specific - // Google - // account. For example, `alice@gmail.com` or `joe@example.com`. - // - // - // * `serviceAccount:{emailid}`: An email address that represents a - // service - // account. For example, - // `my-other-app@appspot.gserviceaccount.com`. - // - // * `group:{emailid}`: An email address that represents a Google - // group. - // For example, `admins@example.com`. - // - // - // * `domain:{domain}`: A Google Apps domain name that represents all - // the - // users of that domain. For example, `google.com` or - // `example.com`. - // - // - Members []string `json:"members,omitempty"` - - // Role: Role that is assigned to `members`. - // For example, `roles/viewer`, `roles/editor`, or - // `roles/owner`. - // Required - Role string `json:"role,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Condition") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Condition") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleIamV1__Binding) MarshalJSON() ([]byte, error) { - type noMethod GoogleIamV1__Binding - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleIamV1__Condition: A condition to be met. -type GoogleIamV1__Condition struct { - // Iam: Trusted attributes supplied by the IAM system. - // - // Possible values: - // "NO_ATTR" - Default non-attribute. - // "AUTHORITY" - Either principal or (if present) authority selector. - // "ATTRIBUTION" - The principal (even if an authority selector is - // present), which - // must only be used for attribution, not authorization. - // "APPROVER" - An approver (distinct from the requester) that has - // authorized this - // request. - // When used with IN, the condition indicates that one of the - // approvers - // associated with the request matches the specified principal, or is - // a - // member of the specified group. Approvers can only grant - // additional - // access, and are thus only used in a strictly positive context - // (e.g. ALLOW/IN or DENY/NOT_IN). - // "JUSTIFICATION_TYPE" - What types of justifications have been - // supplied with this request. - // String values should match enum names from - // tech.iam.JustificationType, - // e.g. "MANUAL_STRING". It is not permitted to grant access based - // on - // the *absence* of a justification, so justification conditions can - // only - // be used in a "positive" context (e.g., ALLOW/IN or - // DENY/NOT_IN). - // - // Multiple justifications, e.g., a Buganizer ID and a - // manually-entered - // reason, are normal and supported. - Iam string `json:"iam,omitempty"` - - // Op: An operator to apply the subject with. - // - // Possible values: - // "NO_OP" - Default no-op. - // "EQUALS" - DEPRECATED. Use IN instead. - // "NOT_EQUALS" - DEPRECATED. Use NOT_IN instead. - // "IN" - The condition is true if the subject (or any element of it - // if it is - // a set) matches any of the supplied values. - // "NOT_IN" - The condition is true if the subject (or every element - // of it if it is - // a set) matches none of the supplied values. - // "DISCHARGED" - Subject is discharged - Op string `json:"op,omitempty"` - - // Svc: Trusted attributes discharged by the service. - Svc string `json:"svc,omitempty"` - - // Sys: Trusted attributes supplied by any service that owns resources - // and uses - // the IAM system for access control. - // - // Possible values: - // "NO_ATTR" - Default non-attribute type - // "REGION" - Region of the resource - // "SERVICE" - Service name - // "NAME" - Resource name - // "IP" - IP address of the caller - Sys string `json:"sys,omitempty"` - - // Value: DEPRECATED. Use 'values' instead. - Value string `json:"value,omitempty"` - - // Values: The objects of the condition. This is mutually exclusive with - // 'value'. - Values []string `json:"values,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Iam") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Iam") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleIamV1__Condition) MarshalJSON() ([]byte, error) { - type noMethod GoogleIamV1__Condition - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleIamV1__LogConfig: Specifies what kind of log the caller must -// write -// Increment a streamz counter with the specified metric and field -// names. -// -// Metric names should start with a '/', generally be -// lowercase-only, -// and end in "_count". Field names should not contain an initial -// slash. -// The actual exported metric names will have "/iam/policy" -// prepended. -// -// Field names correspond to IAM request parameters and field values -// are -// their respective values. -// -// At present the only supported field names are -// - "iam_principal", corresponding to IAMContext.principal; -// - "" (empty string), resulting in one aggretated counter with no -// field. -// -// Examples: -// counter { metric: "/debug_access_count" field: "iam_principal" } -// ==> increment counter /iam/policy/backend_debug_access_count -// {iam_principal=[value of -// IAMContext.principal]} -// -// At this time we do not support: -// * multiple field names (though this may be supported in the future) -// * decrementing the counter -// * incrementing it by anything other than 1 -type GoogleIamV1__LogConfig struct { - // CloudAudit: Cloud audit options. - CloudAudit *GoogleIamV1LogConfigCloudAuditOptions `json:"cloudAudit,omitempty"` - - // Counter: Counter options. - Counter *GoogleIamV1LogConfigCounterOptions `json:"counter,omitempty"` - - // DataAccess: Data access options. - DataAccess *GoogleIamV1LogConfigDataAccessOptions `json:"dataAccess,omitempty"` - - // ForceSendFields is a list of field names (e.g. "CloudAudit") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "CloudAudit") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleIamV1__LogConfig) MarshalJSON() ([]byte, error) { - type noMethod GoogleIamV1__LogConfig - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleIamV1__Policy: Defines an Identity and Access Management (IAM) -// policy. It is used to -// specify access control policies for Cloud Platform resources. -// -// -// A `Policy` consists of a list of `bindings`. A `Binding` binds a list -// of -// `members` to a `role`, where the members can be user accounts, Google -// groups, -// Google domains, and service accounts. A `role` is a named list of -// permissions -// defined by IAM. -// -// **Example** -// -// { -// "bindings": [ -// { -// "role": "roles/owner", -// "members": [ -// "user:mike@example.com", -// "group:admins@example.com", -// "domain:google.com", -// -// "serviceAccount:my-other-app@appspot.gserviceaccount.com", -// ] -// }, -// { -// "role": "roles/viewer", -// "members": ["user:sean@example.com"] -// } -// ] -// } -// -// For a description of IAM and its features, see the -// [IAM developer's guide](https://cloud.google.com/iam). -type GoogleIamV1__Policy struct { - // AuditConfigs: Specifies cloud audit logging configuration for this - // policy. - AuditConfigs []*GoogleIamV1__AuditConfig `json:"auditConfigs,omitempty"` - - // Bindings: Associates a list of `members` to a `role`. - // `bindings` with no members will result in an error. - Bindings []*GoogleIamV1__Binding `json:"bindings,omitempty"` - - // Etag: `etag` is used for optimistic concurrency control as a way to - // help - // prevent simultaneous updates of a policy from overwriting each - // other. - // It is strongly suggested that systems make use of the `etag` in - // the - // read-modify-write cycle to perform policy updates in order to avoid - // race - // conditions: An `etag` is returned in the response to `getIamPolicy`, - // and - // systems are expected to put that etag in the request to - // `setIamPolicy` to - // ensure that their change will be applied to the same version of the - // policy. - // - // If no `etag` is provided in the call to `setIamPolicy`, then the - // existing - // policy is overwritten blindly. - Etag string `json:"etag,omitempty"` - - IamOwned bool `json:"iamOwned,omitempty"` - - // Rules: If more than one rule is specified, the rules are applied in - // the following - // manner: - // - All matching LOG rules are always applied. - // - If any DENY/DENY_WITH_LOG rule matches, permission is denied. - // Logging will be applied if one or more matching rule requires - // logging. - // - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is - // granted. - // Logging will be applied if one or more matching rule requires - // logging. - // - Otherwise, if no rule applies, permission is denied. - Rules []*GoogleIamV1__Rule `json:"rules,omitempty"` - - // Version: Version of the `Policy`. The default version is 0. - Version int64 `json:"version,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` - - // ForceSendFields is a list of field names (e.g. "AuditConfigs") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "AuditConfigs") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleIamV1__Policy) MarshalJSON() ([]byte, error) { - type noMethod GoogleIamV1__Policy - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleIamV1__Rule: A rule to be applied in a Policy. -type GoogleIamV1__Rule struct { - // Action: Required - // - // Possible values: - // "NO_ACTION" - Default no action. - // "ALLOW" - Matching 'Entries' grant access. - // "ALLOW_WITH_LOG" - Matching 'Entries' grant access and the caller - // promises to log - // the request per the returned log_configs. - // "DENY" - Matching 'Entries' deny access. - // "DENY_WITH_LOG" - Matching 'Entries' deny access and the caller - // promises to log - // the request per the returned log_configs. - // "LOG" - Matching 'Entries' tell IAM.Check callers to generate logs. - Action string `json:"action,omitempty"` - - // Conditions: Additional restrictions that must be met - Conditions []*GoogleIamV1__Condition `json:"conditions,omitempty"` - - // Description: Human-readable description of the rule. - Description string `json:"description,omitempty"` - - // In: If one or more 'in' clauses are specified, the rule matches - // if - // the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries. - In []string `json:"in,omitempty"` - - // LogConfig: The config returned to callers of tech.iam.IAM.CheckPolicy - // for any entries - // that match the LOG action. - LogConfig []*GoogleIamV1__LogConfig `json:"logConfig,omitempty"` - - // NotIn: If one or more 'not_in' clauses are specified, the rule - // matches - // if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries. - // The format for in and not_in entries is the same as for members in - // a - // Binding (see google/iam/v1/policy.proto). - NotIn []string `json:"notIn,omitempty"` - - // Permissions: A permission is a string of form '..' - // (e.g., 'storage.buckets.list'). A value of '*' matches all - // permissions, - // and a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs. - Permissions []string `json:"permissions,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Action") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Action") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleIamV1__Rule) MarshalJSON() ([]byte, error) { - type noMethod GoogleIamV1__Rule - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleIamV1__SetIamPolicyRequest: Request message for `SetIamPolicy` -// method. -type GoogleIamV1__SetIamPolicyRequest struct { - // 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 a - // valid policy but certain Cloud Platform services (such as - // Projects) - // might reject them. - Policy *GoogleIamV1__Policy `json:"policy,omitempty"` - - // UpdateMask: OPTIONAL: A FieldMask specifying which fields of the - // policy to modify. Only - // the fields in the mask will be modified. If no mask is provided, - // the - // following default mask is used: - // paths: "bindings, etag" - // This field is only used by Cloud IAM. - UpdateMask string `json:"updateMask,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Policy") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Policy") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleIamV1__SetIamPolicyRequest) MarshalJSON() ([]byte, error) { - type noMethod GoogleIamV1__SetIamPolicyRequest - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleIamV1__TestIamPermissionsRequest: Request message for -// `TestIamPermissions` method. -type GoogleIamV1__TestIamPermissionsRequest struct { - // Permissions: The set of permissions to check for the `resource`. - // Permissions with - // wildcards (such as '*' or 'storage.*') are not allowed. For - // more - // information see - // [IAM - // Overview](https://cloud.google.com/iam/docs/overview#permissions). - Permissions []string `json:"permissions,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Permissions") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Permissions") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleIamV1__TestIamPermissionsRequest) MarshalJSON() ([]byte, error) { - type noMethod GoogleIamV1__TestIamPermissionsRequest - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleIamV1__TestIamPermissionsResponse: Response message for -// `TestIamPermissions` method. -type GoogleIamV1__TestIamPermissionsResponse struct { - // Permissions: A subset of `TestPermissionsRequest.permissions` that - // the caller is - // allowed. - Permissions []string `json:"permissions,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` - - // ForceSendFields is a list of field names (e.g. "Permissions") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Permissions") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleIamV1__TestIamPermissionsResponse) MarshalJSON() ([]byte, error) { - type noMethod GoogleIamV1__TestIamPermissionsResponse - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleLongrunning__ListOperationsResponse: The response message for -// Operations.ListOperations. -type GoogleLongrunning__ListOperationsResponse struct { - // NextPageToken: The standard List next-page token. - NextPageToken string `json:"nextPageToken,omitempty"` - - // Operations: A list of operations that matches the specified filter in - // the request. - Operations []*GoogleLongrunning__Operation `json:"operations,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` - - // ForceSendFields is a list of field names (e.g. "NextPageToken") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "NextPageToken") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleLongrunning__ListOperationsResponse) MarshalJSON() ([]byte, error) { - type noMethod GoogleLongrunning__ListOperationsResponse - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleLongrunning__Operation: This resource represents a long-running -// operation that is the result of a -// network API call. -type GoogleLongrunning__Operation struct { - // Done: If the value is `false`, it means the operation is still in - // progress. - // If true, the operation is completed, and either `error` or `response` - // is - // available. - Done bool `json:"done,omitempty"` - - // Error: The error result of the operation in case of failure or - // cancellation. - Error *GoogleRpc__Status `json:"error,omitempty"` - - // Metadata: Service-specific metadata associated with the operation. - // It typically - // contains progress information and common metadata such as create - // time. - // Some services might not provide such metadata. Any method that - // returns a - // long-running operation should document the metadata type, if any. - Metadata googleapi.RawMessage `json:"metadata,omitempty"` - - // Name: The server-assigned name, which is only unique within the same - // service that - // originally returns it. If you use the default HTTP mapping, - // the - // `name` should have the format of `operations/some/unique/name`. - Name string `json:"name,omitempty"` - - // Response: The normal response of the operation in case of success. - // If the original - // method returns no data on success, such as `Delete`, the response - // is - // `google.protobuf.Empty`. If the original method is - // standard - // `Get`/`Create`/`Update`, the response should be the resource. For - // other - // methods, the response should have the type `XxxResponse`, where - // `Xxx` - // is the original method name. For example, if the original method - // name - // is `TakeSnapshot()`, the inferred response type - // is - // `TakeSnapshotResponse`. - Response googleapi.RawMessage `json:"response,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` - - // ForceSendFields is a list of field names (e.g. "Done") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Done") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleLongrunning__Operation) MarshalJSON() ([]byte, error) { - type noMethod GoogleLongrunning__Operation - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleProtobuf__Empty: A generic empty message that you can re-use to -// avoid defining duplicated -// empty messages in your APIs. A typical example is to use it as the -// request -// or the response type of an API method. For instance: -// -// service Foo { -// rpc Bar(google.protobuf.Empty) returns -// (google.protobuf.Empty); -// } -// -// The JSON representation for `Empty` is empty JSON object `{}`. -type GoogleProtobuf__Empty struct { - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` -} - -// GoogleRpc__Status: The `Status` type defines a logical error model -// that is suitable for different -// programming environments, including REST APIs and RPC APIs. It is -// used by -// [gRPC](https://github.com/grpc). The error model is designed to -// be: -// -// - Simple to use and understand for most users -// - Flexible enough to meet unexpected needs -// -// # Overview -// -// The `Status` message contains three pieces of data: error code, error -// message, -// and error details. The error code should be an enum value -// of -// google.rpc.Code, but it may accept additional error codes if needed. -// The -// error message should be a developer-facing English message that -// helps -// developers *understand* and *resolve* the error. If a localized -// user-facing -// error message is needed, put the localized message in the error -// details or -// localize it in the client. The optional error details may contain -// arbitrary -// information about the error. There is a predefined set of error -// detail types -// in the package `google.rpc` that can be used for common error -// conditions. -// -// # Language mapping -// -// The `Status` message is the logical representation of the error -// model, but it -// is not necessarily the actual wire format. When the `Status` message -// is -// exposed in different client libraries and different wire protocols, -// it can be -// mapped differently. For example, it will likely be mapped to some -// exceptions -// in Java, but more likely mapped to some error codes in C. -// -// # Other uses -// -// The error model and the `Status` message can be used in a variety -// of -// environments, either with or without APIs, to provide a -// consistent developer experience across different -// environments. -// -// Example uses of this error model include: -// -// - Partial errors. If a service needs to return partial errors to the -// client, -// it may embed the `Status` in the normal response to indicate the -// partial -// errors. -// -// - Workflow errors. A typical workflow has multiple steps. Each step -// may -// have a `Status` message for error reporting. -// -// - Batch operations. If a client uses batch request and batch -// response, the -// `Status` message should be used directly inside batch response, -// one for -// each error sub-response. -// -// - Asynchronous operations. If an API call embeds asynchronous -// operation -// results in its response, the status of those operations should -// be -// represented directly using the `Status` message. -// -// - Logging. If some API errors are stored in logs, the message -// `Status` could -// be used directly after any stripping needed for security/privacy -// reasons. -type GoogleRpc__Status struct { - // Code: The status code, which should be an enum value of - // google.rpc.Code. - Code int64 `json:"code,omitempty"` - - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. - Details []googleapi.RawMessage `json:"details,omitempty"` - - // Message: A developer-facing error message, which should be in - // English. Any - // user-facing error message should be localized and sent in - // the - // google.rpc.Status.details field, or localized by the client. - 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 values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - 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. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleRpc__Status) MarshalJSON() ([]byte, error) { - type noMethod GoogleRpc__Status - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// GoogleType__Expr: Represents an expression text. Example: -// -// title: "User account presence" -// description: "Determines whether the request has a user account" -// expression: "size(request.user) > 0" -type GoogleType__Expr struct { - // Description: An optional description of the expression. This is a - // longer text which - // describes the expression, e.g. when hovered over it in a UI. - Description string `json:"description,omitempty"` - - // Expression: Textual representation of an expression in - // Common Expression Language syntax. - // - // The application context of the containing message determines - // which - // well-known feature set of CEL is supported. - Expression string `json:"expression,omitempty"` - - // Location: An optional string indicating the location of the - // expression for error - // reporting, e.g. a file name and a position in the file. - Location string `json:"location,omitempty"` - - // Title: An optional title for the expression, i.e. a short string - // describing - // its purpose. This can be used e.g. in UIs which allow to enter - // the - // expression. - Title string `json:"title,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Description") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - 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. However, any field with - // an empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *GoogleType__Expr) MarshalJSON() ([]byte, error) { - type noMethod GoogleType__Expr - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// method id "ml.projects.getConfig": - -type ProjectsGetConfigCall struct { - s *Service - name string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header -} - -// GetConfig: Get the service account information associated with your -// project. You need -// this information in order to grant the service account persmissions -// for -// the Google Cloud Storage location where you put your model training -// code -// for training the model with Google Cloud Machine Learning. -func (r *ProjectsService) GetConfig(name string) *ProjectsGetConfigCall { - c := &ProjectsGetConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsGetConfigCall) Fields(s ...googleapi.Field) *ProjectsGetConfigCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// IfNoneMatch sets the optional parameter which makes the operation -// fail if the object's ETag matches the given value. This is useful for -// getting updates only after the object has changed since the last -// request. Use googleapi.IsNotModified to check whether the response -// error from Do is the result of In-None-Match. -func (c *ProjectsGetConfigCall) IfNoneMatch(entityTag string) *ProjectsGetConfigCall { - c.ifNoneMatch_ = entityTag - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsGetConfigCall) Context(ctx context.Context) *ProjectsGetConfigCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsGetConfigCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsGetConfigCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } - var body io.Reader = nil - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:getConfig") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("GET", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "name": c.name, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "ml.projects.getConfig" call. -// Exactly one of *GoogleCloudMlV1beta1__GetConfigResponse or error will -// be non-nil. Any non-2xx status code is an error. Response headers are -// in either -// *GoogleCloudMlV1beta1__GetConfigResponse.ServerResponse.Header or (if -// a response was returned at all) in error.(*googleapi.Error).Header. -// Use googleapi.IsNotModified to check whether the returned error was -// because http.StatusNotModified was returned. -func (c *ProjectsGetConfigCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1beta1__GetConfigResponse, 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, &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, err - } - ret := &GoogleCloudMlV1beta1__GetConfigResponse{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Get the service account information associated with your project. You need\nthis information in order to grant the service account persmissions for\nthe Google Cloud Storage location where you put your model training code\nfor training the model with Google Cloud Machine Learning.", - // "flatPath": "v1beta1/projects/{projectsId}:getConfig", - // "httpMethod": "GET", - // "id": "ml.projects.getConfig", - // "parameterOrder": [ - // "name" - // ], - // "parameters": { - // "name": { - // "description": "Required. The project name.", - // "location": "path", - // "pattern": "^projects/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1beta1/{+name}:getConfig", - // "response": { - // "$ref": "GoogleCloudMlV1beta1__GetConfigResponse" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// method id "ml.projects.predict": - -type ProjectsPredictCall struct { - s *Service - name string - googlecloudmlv1beta1__predictrequest *GoogleCloudMlV1beta1__PredictRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// Predict: Performs prediction on the data in the request. -// -// **** REMOVE FROM GENERATED DOCUMENTATION -func (r *ProjectsService) Predict(name string, googlecloudmlv1beta1__predictrequest *GoogleCloudMlV1beta1__PredictRequest) *ProjectsPredictCall { - c := &ProjectsPredictCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name - c.googlecloudmlv1beta1__predictrequest = googlecloudmlv1beta1__predictrequest - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsPredictCall) Fields(s ...googleapi.Field) *ProjectsPredictCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsPredictCall) Context(ctx context.Context) *ProjectsPredictCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsPredictCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsPredictCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudmlv1beta1__predictrequest) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:predict") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("POST", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "name": c.name, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "ml.projects.predict" call. -// Exactly one of *GoogleApi__HttpBody or error will be non-nil. Any -// non-2xx status code is an error. Response headers are in either -// *GoogleApi__HttpBody.ServerResponse.Header or (if a response was -// returned at all) in error.(*googleapi.Error).Header. Use -// googleapi.IsNotModified to check whether the returned error was -// because http.StatusNotModified was returned. -func (c *ProjectsPredictCall) Do(opts ...googleapi.CallOption) (*GoogleApi__HttpBody, 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, &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, err - } - ret := &GoogleApi__HttpBody{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Performs prediction on the data in the request.\n\n**** REMOVE FROM GENERATED DOCUMENTATION", - // "flatPath": "v1beta1/projects/{projectsId}:predict", - // "httpMethod": "POST", - // "id": "ml.projects.predict", - // "parameterOrder": [ - // "name" - // ], - // "parameters": { - // "name": { - // "description": "Required. The resource name of a model or a version.\n\nAuthorization: requires the `predict` permission on the specified resource.", - // "location": "path", - // "pattern": "^projects/.+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1beta1/{+name}:predict", - // "request": { - // "$ref": "GoogleCloudMlV1beta1__PredictRequest" - // }, - // "response": { - // "$ref": "GoogleApi__HttpBody" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// method id "ml.projects.jobs.cancel": - -type ProjectsJobsCancelCall struct { - s *Service - name string - googlecloudmlv1beta1__canceljobrequest *GoogleCloudMlV1beta1__CancelJobRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// Cancel: Cancels a running job. -func (r *ProjectsJobsService) Cancel(name string, googlecloudmlv1beta1__canceljobrequest *GoogleCloudMlV1beta1__CancelJobRequest) *ProjectsJobsCancelCall { - c := &ProjectsJobsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name - c.googlecloudmlv1beta1__canceljobrequest = googlecloudmlv1beta1__canceljobrequest - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsJobsCancelCall) Fields(s ...googleapi.Field) *ProjectsJobsCancelCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsJobsCancelCall) Context(ctx context.Context) *ProjectsJobsCancelCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsJobsCancelCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsJobsCancelCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudmlv1beta1__canceljobrequest) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:cancel") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("POST", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "name": c.name, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "ml.projects.jobs.cancel" call. -// Exactly one of *GoogleProtobuf__Empty or error will be non-nil. Any -// non-2xx status code is an error. Response headers are in either -// *GoogleProtobuf__Empty.ServerResponse.Header or (if a response was -// returned at all) in error.(*googleapi.Error).Header. Use -// googleapi.IsNotModified to check whether the returned error was -// because http.StatusNotModified was returned. -func (c *ProjectsJobsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobuf__Empty, 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, &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, err - } - ret := &GoogleProtobuf__Empty{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Cancels a running job.", - // "flatPath": "v1beta1/projects/{projectsId}/jobs/{jobsId}:cancel", - // "httpMethod": "POST", - // "id": "ml.projects.jobs.cancel", - // "parameterOrder": [ - // "name" - // ], - // "parameters": { - // "name": { - // "description": "Required. The name of the job to cancel.", - // "location": "path", - // "pattern": "^projects/[^/]+/jobs/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1beta1/{+name}:cancel", - // "request": { - // "$ref": "GoogleCloudMlV1beta1__CancelJobRequest" - // }, - // "response": { - // "$ref": "GoogleProtobuf__Empty" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// method id "ml.projects.jobs.create": - -type ProjectsJobsCreateCall struct { - s *Service - parent string - googlecloudmlv1beta1__job *GoogleCloudMlV1beta1__Job - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// Create: Creates a training or a batch prediction job. -func (r *ProjectsJobsService) Create(parent string, googlecloudmlv1beta1__job *GoogleCloudMlV1beta1__Job) *ProjectsJobsCreateCall { - c := &ProjectsJobsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.parent = parent - c.googlecloudmlv1beta1__job = googlecloudmlv1beta1__job - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsJobsCreateCall) Fields(s ...googleapi.Field) *ProjectsJobsCreateCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsJobsCreateCall) Context(ctx context.Context) *ProjectsJobsCreateCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsJobsCreateCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsJobsCreateCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudmlv1beta1__job) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/jobs") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("POST", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "parent": c.parent, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "ml.projects.jobs.create" call. -// Exactly one of *GoogleCloudMlV1beta1__Job or error will be non-nil. -// Any non-2xx status code is an error. Response headers are in either -// *GoogleCloudMlV1beta1__Job.ServerResponse.Header or (if a response -// was returned at all) in error.(*googleapi.Error).Header. Use -// googleapi.IsNotModified to check whether the returned error was -// because http.StatusNotModified was returned. -func (c *ProjectsJobsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1beta1__Job, 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, &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, err - } - ret := &GoogleCloudMlV1beta1__Job{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Creates a training or a batch prediction job.", - // "flatPath": "v1beta1/projects/{projectsId}/jobs", - // "httpMethod": "POST", - // "id": "ml.projects.jobs.create", - // "parameterOrder": [ - // "parent" - // ], - // "parameters": { - // "parent": { - // "description": "Required. The project name.", - // "location": "path", - // "pattern": "^projects/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1beta1/{+parent}/jobs", - // "request": { - // "$ref": "GoogleCloudMlV1beta1__Job" - // }, - // "response": { - // "$ref": "GoogleCloudMlV1beta1__Job" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// method id "ml.projects.jobs.get": - -type ProjectsJobsGetCall struct { - s *Service - name string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header -} - -// Get: Describes a job. -func (r *ProjectsJobsService) Get(name string) *ProjectsJobsGetCall { - c := &ProjectsJobsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsJobsGetCall) Fields(s ...googleapi.Field) *ProjectsJobsGetCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// IfNoneMatch sets the optional parameter which makes the operation -// fail if the object's ETag matches the given value. This is useful for -// getting updates only after the object has changed since the last -// request. Use googleapi.IsNotModified to check whether the response -// error from Do is the result of In-None-Match. -func (c *ProjectsJobsGetCall) IfNoneMatch(entityTag string) *ProjectsJobsGetCall { - c.ifNoneMatch_ = entityTag - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsJobsGetCall) Context(ctx context.Context) *ProjectsJobsGetCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsJobsGetCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsJobsGetCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } - var body io.Reader = nil - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("GET", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "name": c.name, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "ml.projects.jobs.get" call. -// Exactly one of *GoogleCloudMlV1beta1__Job or error will be non-nil. -// Any non-2xx status code is an error. Response headers are in either -// *GoogleCloudMlV1beta1__Job.ServerResponse.Header or (if a response -// was returned at all) in error.(*googleapi.Error).Header. Use -// googleapi.IsNotModified to check whether the returned error was -// because http.StatusNotModified was returned. -func (c *ProjectsJobsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1beta1__Job, 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, &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, err - } - ret := &GoogleCloudMlV1beta1__Job{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Describes a job.", - // "flatPath": "v1beta1/projects/{projectsId}/jobs/{jobsId}", - // "httpMethod": "GET", - // "id": "ml.projects.jobs.get", - // "parameterOrder": [ - // "name" - // ], - // "parameters": { - // "name": { - // "description": "Required. The name of the job to get the description of.", - // "location": "path", - // "pattern": "^projects/[^/]+/jobs/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1beta1/{+name}", - // "response": { - // "$ref": "GoogleCloudMlV1beta1__Job" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// method id "ml.projects.jobs.list": - -type ProjectsJobsListCall struct { - s *Service - parent string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header -} - -// List: Lists the jobs in the project. -func (r *ProjectsJobsService) List(parent string) *ProjectsJobsListCall { - c := &ProjectsJobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.parent = parent - return c -} - -// Filter sets the optional parameter "filter": Specifies the subset of -// jobs to retrieve. -func (c *ProjectsJobsListCall) Filter(filter string) *ProjectsJobsListCall { - c.urlParams_.Set("filter", filter) - return c -} - -// PageSize sets the optional parameter "pageSize": The number of jobs -// to retrieve per "page" of results. If there -// are more remaining results than this number, the response message -// will -// contain a valid value in the `next_page_token` field. -// -// The default value is 20, and the maximum page size is 100. -func (c *ProjectsJobsListCall) PageSize(pageSize int64) *ProjectsJobsListCall { - c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) - return c -} - -// PageToken sets the optional parameter "pageToken": A page token to -// request the next page of results. -// -// You get the token from the `next_page_token` field of the response -// from -// the previous call. -func (c *ProjectsJobsListCall) PageToken(pageToken string) *ProjectsJobsListCall { - 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 information. -func (c *ProjectsJobsListCall) Fields(s ...googleapi.Field) *ProjectsJobsListCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// IfNoneMatch sets the optional parameter which makes the operation -// fail if the object's ETag matches the given value. This is useful for -// getting updates only after the object has changed since the last -// request. Use googleapi.IsNotModified to check whether the response -// error from Do is the result of In-None-Match. -func (c *ProjectsJobsListCall) IfNoneMatch(entityTag string) *ProjectsJobsListCall { - c.ifNoneMatch_ = entityTag - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsJobsListCall) Context(ctx context.Context) *ProjectsJobsListCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsJobsListCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsJobsListCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } - var body io.Reader = nil - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/jobs") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("GET", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "parent": c.parent, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "ml.projects.jobs.list" call. -// Exactly one of *GoogleCloudMlV1beta1__ListJobsResponse or error will -// be non-nil. Any non-2xx status code is an error. Response headers are -// in either -// *GoogleCloudMlV1beta1__ListJobsResponse.ServerResponse.Header or (if -// a response was returned at all) in error.(*googleapi.Error).Header. -// Use googleapi.IsNotModified to check whether the returned error was -// because http.StatusNotModified was returned. -func (c *ProjectsJobsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1beta1__ListJobsResponse, 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, &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, err - } - ret := &GoogleCloudMlV1beta1__ListJobsResponse{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Lists the jobs in the project.", - // "flatPath": "v1beta1/projects/{projectsId}/jobs", - // "httpMethod": "GET", - // "id": "ml.projects.jobs.list", - // "parameterOrder": [ - // "parent" - // ], - // "parameters": { - // "filter": { - // "description": "Optional. Specifies the subset of jobs to retrieve.", - // "location": "query", - // "type": "string" - // }, - // "pageSize": { - // "description": "Optional. The number of jobs to retrieve per \"page\" of results. If there\nare more remaining results than this number, the response message will\ncontain a valid value in the `next_page_token` field.\n\nThe default value is 20, and the maximum page size is 100.", - // "format": "int32", - // "location": "query", - // "type": "integer" - // }, - // "pageToken": { - // "description": "Optional. A page token to request the next page of results.\n\nYou get the token from the `next_page_token` field of the response from\nthe previous call.", - // "location": "query", - // "type": "string" - // }, - // "parent": { - // "description": "Required. The name of the project for which to list jobs.", - // "location": "path", - // "pattern": "^projects/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1beta1/{+parent}/jobs", - // "response": { - // "$ref": "GoogleCloudMlV1beta1__ListJobsResponse" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// 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 *ProjectsJobsListCall) Pages(ctx context.Context, f func(*GoogleCloudMlV1beta1__ListJobsResponse) error) error { - c.ctx_ = ctx - defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point - 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) - } -} - -// method id "ml.projects.models.create": - -type ProjectsModelsCreateCall struct { - s *Service - parent string - googlecloudmlv1beta1__model *GoogleCloudMlV1beta1__Model - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// Create: Creates a model which will later contain one or more -// versions. -// -// You must add at least one version before you can request predictions -// from -// the model. Add versions by -// calling -// [projects.models.versions.create](/ml-engine/reference/rest/v1 -// beta1/projects.models.versions/create). -func (r *ProjectsModelsService) Create(parent string, googlecloudmlv1beta1__model *GoogleCloudMlV1beta1__Model) *ProjectsModelsCreateCall { - c := &ProjectsModelsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.parent = parent - c.googlecloudmlv1beta1__model = googlecloudmlv1beta1__model - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsModelsCreateCall) Fields(s ...googleapi.Field) *ProjectsModelsCreateCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsModelsCreateCall) Context(ctx context.Context) *ProjectsModelsCreateCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsModelsCreateCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsModelsCreateCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudmlv1beta1__model) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/models") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("POST", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "parent": c.parent, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "ml.projects.models.create" call. -// Exactly one of *GoogleCloudMlV1beta1__Model or error will be non-nil. -// Any non-2xx status code is an error. Response headers are in either -// *GoogleCloudMlV1beta1__Model.ServerResponse.Header or (if a response -// was returned at all) in error.(*googleapi.Error).Header. Use -// googleapi.IsNotModified to check whether the returned error was -// because http.StatusNotModified was returned. -func (c *ProjectsModelsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1beta1__Model, 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, &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, err - } - ret := &GoogleCloudMlV1beta1__Model{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Creates a model which will later contain one or more versions.\n\nYou must add at least one version before you can request predictions from\nthe model. Add versions by calling\n[projects.models.versions.create](/ml-engine/reference/rest/v1beta1/projects.models.versions/create).", - // "flatPath": "v1beta1/projects/{projectsId}/models", - // "httpMethod": "POST", - // "id": "ml.projects.models.create", - // "parameterOrder": [ - // "parent" - // ], - // "parameters": { - // "parent": { - // "description": "Required. The project name.", - // "location": "path", - // "pattern": "^projects/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1beta1/{+parent}/models", - // "request": { - // "$ref": "GoogleCloudMlV1beta1__Model" - // }, - // "response": { - // "$ref": "GoogleCloudMlV1beta1__Model" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// method id "ml.projects.models.delete": - -type ProjectsModelsDeleteCall struct { - s *Service - name string - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// Delete: Deletes a model. -// -// You can only delete a model if there are no versions in it. You can -// delete -// versions by -// calling -// [projects.models.versions.delete](/ml-engine/reference/rest/v1 -// beta1/projects.models.versions/delete). -func (r *ProjectsModelsService) Delete(name string) *ProjectsModelsDeleteCall { - c := &ProjectsModelsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsModelsDeleteCall) Fields(s ...googleapi.Field) *ProjectsModelsDeleteCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsModelsDeleteCall) Context(ctx context.Context) *ProjectsModelsDeleteCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsModelsDeleteCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsModelsDeleteCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("DELETE", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "name": c.name, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "ml.projects.models.delete" call. -// Exactly one of *GoogleLongrunning__Operation or error will be -// non-nil. Any non-2xx status code is an error. Response headers are in -// either *GoogleLongrunning__Operation.ServerResponse.Header or (if a -// response was returned at all) in error.(*googleapi.Error).Header. Use -// googleapi.IsNotModified to check whether the returned error was -// because http.StatusNotModified was returned. -func (c *ProjectsModelsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunning__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, &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, err - } - ret := &GoogleLongrunning__Operation{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Deletes a model.\n\nYou can only delete a model if there are no versions in it. You can delete\nversions by calling\n[projects.models.versions.delete](/ml-engine/reference/rest/v1beta1/projects.models.versions/delete).", - // "flatPath": "v1beta1/projects/{projectsId}/models/{modelsId}", - // "httpMethod": "DELETE", - // "id": "ml.projects.models.delete", - // "parameterOrder": [ - // "name" - // ], - // "parameters": { - // "name": { - // "description": "Required. The name of the model.", - // "location": "path", - // "pattern": "^projects/[^/]+/models/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1beta1/{+name}", - // "response": { - // "$ref": "GoogleLongrunning__Operation" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// method id "ml.projects.models.get": - -type ProjectsModelsGetCall struct { - s *Service - name string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header -} - -// Get: Gets information about a model, including its name, the -// description (if -// set), and the default version (if at least one version of the model -// has -// been deployed). -func (r *ProjectsModelsService) Get(name string) *ProjectsModelsGetCall { - c := &ProjectsModelsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsModelsGetCall) Fields(s ...googleapi.Field) *ProjectsModelsGetCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// IfNoneMatch sets the optional parameter which makes the operation -// fail if the object's ETag matches the given value. This is useful for -// getting updates only after the object has changed since the last -// request. Use googleapi.IsNotModified to check whether the response -// error from Do is the result of In-None-Match. -func (c *ProjectsModelsGetCall) IfNoneMatch(entityTag string) *ProjectsModelsGetCall { - c.ifNoneMatch_ = entityTag - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsModelsGetCall) Context(ctx context.Context) *ProjectsModelsGetCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsModelsGetCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsModelsGetCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } - var body io.Reader = nil - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("GET", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "name": c.name, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "ml.projects.models.get" call. -// Exactly one of *GoogleCloudMlV1beta1__Model or error will be non-nil. -// Any non-2xx status code is an error. Response headers are in either -// *GoogleCloudMlV1beta1__Model.ServerResponse.Header or (if a response -// was returned at all) in error.(*googleapi.Error).Header. Use -// googleapi.IsNotModified to check whether the returned error was -// because http.StatusNotModified was returned. -func (c *ProjectsModelsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1beta1__Model, 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, &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, err - } - ret := &GoogleCloudMlV1beta1__Model{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Gets information about a model, including its name, the description (if\nset), and the default version (if at least one version of the model has\nbeen deployed).", - // "flatPath": "v1beta1/projects/{projectsId}/models/{modelsId}", - // "httpMethod": "GET", - // "id": "ml.projects.models.get", - // "parameterOrder": [ - // "name" - // ], - // "parameters": { - // "name": { - // "description": "Required. The name of the model.", - // "location": "path", - // "pattern": "^projects/[^/]+/models/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1beta1/{+name}", - // "response": { - // "$ref": "GoogleCloudMlV1beta1__Model" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// method id "ml.projects.models.getIamPolicy": - -type ProjectsModelsGetIamPolicyCall struct { - s *Service - resource string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header -} - -// GetIamPolicy: Gets the access control policy for a resource. -// Returns an empty policy if the resource exists and does not have a -// policy -// set. -func (r *ProjectsModelsService) GetIamPolicy(resource string) *ProjectsModelsGetIamPolicyCall { - c := &ProjectsModelsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.resource = resource - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsModelsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsModelsGetIamPolicyCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// IfNoneMatch sets the optional parameter which makes the operation -// fail if the object's ETag matches the given value. This is useful for -// getting updates only after the object has changed since the last -// request. Use googleapi.IsNotModified to check whether the response -// error from Do is the result of In-None-Match. -func (c *ProjectsModelsGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsModelsGetIamPolicyCall { - c.ifNoneMatch_ = entityTag - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsModelsGetIamPolicyCall) Context(ctx context.Context) *ProjectsModelsGetIamPolicyCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsModelsGetIamPolicyCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsModelsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } - var body io.Reader = nil - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("GET", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "resource": c.resource, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "ml.projects.models.getIamPolicy" call. -// Exactly one of *GoogleIamV1__Policy or error will be non-nil. Any -// non-2xx status code is an error. Response headers are in either -// *GoogleIamV1__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 *ProjectsModelsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1__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, &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, err - } - ret := &GoogleIamV1__Policy{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", - // "flatPath": "v1beta1/projects/{projectsId}/models/{modelsId}:getIamPolicy", - // "httpMethod": "GET", - // "id": "ml.projects.models.getIamPolicy", - // "parameterOrder": [ - // "resource" - // ], - // "parameters": { - // "resource": { - // "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", - // "location": "path", - // "pattern": "^projects/[^/]+/models/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1beta1/{+resource}:getIamPolicy", - // "response": { - // "$ref": "GoogleIamV1__Policy" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// method id "ml.projects.models.list": - -type ProjectsModelsListCall struct { - s *Service - parent string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header -} - -// List: Lists the models in a project. -// -// Each project can contain multiple models, and each model can have -// multiple -// versions. -func (r *ProjectsModelsService) List(parent string) *ProjectsModelsListCall { - c := &ProjectsModelsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.parent = parent - return c -} - -// PageSize sets the optional parameter "pageSize": The number of models -// to retrieve per "page" of results. If there -// are more remaining results than this number, the response message -// will -// contain a valid value in the `next_page_token` field. -// -// The default value is 20, and the maximum page size is 100. -func (c *ProjectsModelsListCall) PageSize(pageSize int64) *ProjectsModelsListCall { - c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) - return c -} - -// PageToken sets the optional parameter "pageToken": A page token to -// request the next page of results. -// -// You get the token from the `next_page_token` field of the response -// from -// the previous call. -func (c *ProjectsModelsListCall) PageToken(pageToken string) *ProjectsModelsListCall { - 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 information. -func (c *ProjectsModelsListCall) Fields(s ...googleapi.Field) *ProjectsModelsListCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// IfNoneMatch sets the optional parameter which makes the operation -// fail if the object's ETag matches the given value. This is useful for -// getting updates only after the object has changed since the last -// request. Use googleapi.IsNotModified to check whether the response -// error from Do is the result of In-None-Match. -func (c *ProjectsModelsListCall) IfNoneMatch(entityTag string) *ProjectsModelsListCall { - c.ifNoneMatch_ = entityTag - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsModelsListCall) Context(ctx context.Context) *ProjectsModelsListCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsModelsListCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsModelsListCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } - var body io.Reader = nil - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/models") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("GET", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "parent": c.parent, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "ml.projects.models.list" call. -// Exactly one of *GoogleCloudMlV1beta1__ListModelsResponse or error -// will be non-nil. Any non-2xx status code is an error. Response -// headers are in either -// *GoogleCloudMlV1beta1__ListModelsResponse.ServerResponse.Header or -// (if a response was returned at all) in -// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check -// whether the returned error was because http.StatusNotModified was -// returned. -func (c *ProjectsModelsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1beta1__ListModelsResponse, 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, &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, err - } - ret := &GoogleCloudMlV1beta1__ListModelsResponse{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Lists the models in a project.\n\nEach project can contain multiple models, and each model can have multiple\nversions.", - // "flatPath": "v1beta1/projects/{projectsId}/models", - // "httpMethod": "GET", - // "id": "ml.projects.models.list", - // "parameterOrder": [ - // "parent" - // ], - // "parameters": { - // "pageSize": { - // "description": "Optional. The number of models to retrieve per \"page\" of results. If there\nare more remaining results than this number, the response message will\ncontain a valid value in the `next_page_token` field.\n\nThe default value is 20, and the maximum page size is 100.", - // "format": "int32", - // "location": "query", - // "type": "integer" - // }, - // "pageToken": { - // "description": "Optional. A page token to request the next page of results.\n\nYou get the token from the `next_page_token` field of the response from\nthe previous call.", - // "location": "query", - // "type": "string" - // }, - // "parent": { - // "description": "Required. The name of the project whose models are to be listed.", - // "location": "path", - // "pattern": "^projects/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1beta1/{+parent}/models", - // "response": { - // "$ref": "GoogleCloudMlV1beta1__ListModelsResponse" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// 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 *ProjectsModelsListCall) Pages(ctx context.Context, f func(*GoogleCloudMlV1beta1__ListModelsResponse) error) error { - c.ctx_ = ctx - defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point - 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) - } -} - -// method id "ml.projects.models.setIamPolicy": - -type ProjectsModelsSetIamPolicyCall struct { - s *Service - resource string - googleiamv1__setiampolicyrequest *GoogleIamV1__SetIamPolicyRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// SetIamPolicy: Sets the access control policy on the specified -// resource. Replaces any -// existing policy. -func (r *ProjectsModelsService) SetIamPolicy(resource string, googleiamv1__setiampolicyrequest *GoogleIamV1__SetIamPolicyRequest) *ProjectsModelsSetIamPolicyCall { - c := &ProjectsModelsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.resource = resource - c.googleiamv1__setiampolicyrequest = googleiamv1__setiampolicyrequest - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsModelsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsModelsSetIamPolicyCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsModelsSetIamPolicyCall) Context(ctx context.Context) *ProjectsModelsSetIamPolicyCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsModelsSetIamPolicyCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsModelsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleiamv1__setiampolicyrequest) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("POST", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "resource": c.resource, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "ml.projects.models.setIamPolicy" call. -// Exactly one of *GoogleIamV1__Policy or error will be non-nil. Any -// non-2xx status code is an error. Response headers are in either -// *GoogleIamV1__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 *ProjectsModelsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1__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, &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, err - } - ret := &GoogleIamV1__Policy{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", - // "flatPath": "v1beta1/projects/{projectsId}/models/{modelsId}:setIamPolicy", - // "httpMethod": "POST", - // "id": "ml.projects.models.setIamPolicy", - // "parameterOrder": [ - // "resource" - // ], - // "parameters": { - // "resource": { - // "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", - // "location": "path", - // "pattern": "^projects/[^/]+/models/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1beta1/{+resource}:setIamPolicy", - // "request": { - // "$ref": "GoogleIamV1__SetIamPolicyRequest" - // }, - // "response": { - // "$ref": "GoogleIamV1__Policy" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// method id "ml.projects.models.testIamPermissions": - -type ProjectsModelsTestIamPermissionsCall struct { - s *Service - resource string - googleiamv1__testiampermissionsrequest *GoogleIamV1__TestIamPermissionsRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// TestIamPermissions: Returns permissions that a caller has on the -// specified resource. -// If the resource does not exist, this will return an empty set -// of -// permissions, not a NOT_FOUND error. -// -// Note: This operation is designed to be used for building -// permission-aware -// UIs and command-line tools, not for authorization checking. This -// operation -// may "fail open" without warning. -func (r *ProjectsModelsService) TestIamPermissions(resource string, googleiamv1__testiampermissionsrequest *GoogleIamV1__TestIamPermissionsRequest) *ProjectsModelsTestIamPermissionsCall { - c := &ProjectsModelsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.resource = resource - c.googleiamv1__testiampermissionsrequest = googleiamv1__testiampermissionsrequest - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsModelsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsModelsTestIamPermissionsCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsModelsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsModelsTestIamPermissionsCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsModelsTestIamPermissionsCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsModelsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleiamv1__testiampermissionsrequest) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("POST", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "resource": c.resource, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "ml.projects.models.testIamPermissions" call. -// Exactly one of *GoogleIamV1__TestIamPermissionsResponse or error will -// be non-nil. Any non-2xx status code is an error. Response headers are -// in either -// *GoogleIamV1__TestIamPermissionsResponse.ServerResponse.Header or (if -// a response was returned at all) in error.(*googleapi.Error).Header. -// Use googleapi.IsNotModified to check whether the returned error was -// because http.StatusNotModified was returned. -func (c *ProjectsModelsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1__TestIamPermissionsResponse, 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, &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, err - } - ret := &GoogleIamV1__TestIamPermissionsResponse{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", - // "flatPath": "v1beta1/projects/{projectsId}/models/{modelsId}:testIamPermissions", - // "httpMethod": "POST", - // "id": "ml.projects.models.testIamPermissions", - // "parameterOrder": [ - // "resource" - // ], - // "parameters": { - // "resource": { - // "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", - // "location": "path", - // "pattern": "^projects/[^/]+/models/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1beta1/{+resource}:testIamPermissions", - // "request": { - // "$ref": "GoogleIamV1__TestIamPermissionsRequest" - // }, - // "response": { - // "$ref": "GoogleIamV1__TestIamPermissionsResponse" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// method id "ml.projects.models.versions.create": - -type ProjectsModelsVersionsCreateCall struct { - s *Service - parent string - googlecloudmlv1beta1__version *GoogleCloudMlV1beta1__Version - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// Create: Creates a new version of a model from a trained TensorFlow -// model. -// -// If the version created in the cloud by this call is the first -// deployed -// version of the specified model, it will be made the default version -// of the -// model. When you add a version to a model that already has one or -// more -// versions, the default version does not automatically change. If you -// want a -// new version to be the default, you must -// call -// [projects.models.versions.setDefault](/ml-engine/reference/rest/v -// 1beta1/projects.models.versions/setDefault). -func (r *ProjectsModelsVersionsService) Create(parent string, googlecloudmlv1beta1__version *GoogleCloudMlV1beta1__Version) *ProjectsModelsVersionsCreateCall { - c := &ProjectsModelsVersionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.parent = parent - c.googlecloudmlv1beta1__version = googlecloudmlv1beta1__version - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsModelsVersionsCreateCall) Fields(s ...googleapi.Field) *ProjectsModelsVersionsCreateCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsModelsVersionsCreateCall) Context(ctx context.Context) *ProjectsModelsVersionsCreateCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsModelsVersionsCreateCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsModelsVersionsCreateCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudmlv1beta1__version) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/versions") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("POST", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "parent": c.parent, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "ml.projects.models.versions.create" call. -// Exactly one of *GoogleLongrunning__Operation or error will be -// non-nil. Any non-2xx status code is an error. Response headers are in -// either *GoogleLongrunning__Operation.ServerResponse.Header or (if a -// response was returned at all) in error.(*googleapi.Error).Header. Use -// googleapi.IsNotModified to check whether the returned error was -// because http.StatusNotModified was returned. -func (c *ProjectsModelsVersionsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunning__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, &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, err - } - ret := &GoogleLongrunning__Operation{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Creates a new version of a model from a trained TensorFlow model.\n\nIf the version created in the cloud by this call is the first deployed\nversion of the specified model, it will be made the default version of the\nmodel. When you add a version to a model that already has one or more\nversions, the default version does not automatically change. If you want a\nnew version to be the default, you must call\n[projects.models.versions.setDefault](/ml-engine/reference/rest/v1beta1/projects.models.versions/setDefault).", - // "flatPath": "v1beta1/projects/{projectsId}/models/{modelsId}/versions", - // "httpMethod": "POST", - // "id": "ml.projects.models.versions.create", - // "parameterOrder": [ - // "parent" - // ], - // "parameters": { - // "parent": { - // "description": "Required. The name of the model.", - // "location": "path", - // "pattern": "^projects/[^/]+/models/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1beta1/{+parent}/versions", - // "request": { - // "$ref": "GoogleCloudMlV1beta1__Version" - // }, - // "response": { - // "$ref": "GoogleLongrunning__Operation" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// method id "ml.projects.models.versions.delete": - -type ProjectsModelsVersionsDeleteCall struct { - s *Service - name string - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// Delete: Deletes a model version. -// -// Each model can have multiple versions deployed and in use at any -// given -// time. Use this method to remove a single version. -// -// Note: You cannot delete the version that is set as the default -// version -// of the model unless it is the only remaining version. -func (r *ProjectsModelsVersionsService) Delete(name string) *ProjectsModelsVersionsDeleteCall { - c := &ProjectsModelsVersionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsModelsVersionsDeleteCall) Fields(s ...googleapi.Field) *ProjectsModelsVersionsDeleteCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsModelsVersionsDeleteCall) Context(ctx context.Context) *ProjectsModelsVersionsDeleteCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsModelsVersionsDeleteCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsModelsVersionsDeleteCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("DELETE", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "name": c.name, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "ml.projects.models.versions.delete" call. -// Exactly one of *GoogleLongrunning__Operation or error will be -// non-nil. Any non-2xx status code is an error. Response headers are in -// either *GoogleLongrunning__Operation.ServerResponse.Header or (if a -// response was returned at all) in error.(*googleapi.Error).Header. Use -// googleapi.IsNotModified to check whether the returned error was -// because http.StatusNotModified was returned. -func (c *ProjectsModelsVersionsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunning__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, &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, err - } - ret := &GoogleLongrunning__Operation{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Deletes a model version.\n\nEach model can have multiple versions deployed and in use at any given\ntime. Use this method to remove a single version.\n\nNote: You cannot delete the version that is set as the default version\nof the model unless it is the only remaining version.", - // "flatPath": "v1beta1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}", - // "httpMethod": "DELETE", - // "id": "ml.projects.models.versions.delete", - // "parameterOrder": [ - // "name" - // ], - // "parameters": { - // "name": { - // "description": "Required. The name of the version. You can get the names of all the\nversions of a model by calling\n[projects.models.versions.list](/ml-engine/reference/rest/v1beta1/projects.models.versions/list).", - // "location": "path", - // "pattern": "^projects/[^/]+/models/[^/]+/versions/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1beta1/{+name}", - // "response": { - // "$ref": "GoogleLongrunning__Operation" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// method id "ml.projects.models.versions.get": - -type ProjectsModelsVersionsGetCall struct { - s *Service - name string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header -} - -// Get: Gets information about a model version. -// -// Models can have multiple versions. You can -// call -// [projects.models.versions.list](/ml-engine/reference/rest/v1beta1 -// /projects.models.versions/list) -// to get the same information that this method returns for all of -// the -// versions of a model. -func (r *ProjectsModelsVersionsService) Get(name string) *ProjectsModelsVersionsGetCall { - c := &ProjectsModelsVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsModelsVersionsGetCall) Fields(s ...googleapi.Field) *ProjectsModelsVersionsGetCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// IfNoneMatch sets the optional parameter which makes the operation -// fail if the object's ETag matches the given value. This is useful for -// getting updates only after the object has changed since the last -// request. Use googleapi.IsNotModified to check whether the response -// error from Do is the result of In-None-Match. -func (c *ProjectsModelsVersionsGetCall) IfNoneMatch(entityTag string) *ProjectsModelsVersionsGetCall { - c.ifNoneMatch_ = entityTag - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsModelsVersionsGetCall) Context(ctx context.Context) *ProjectsModelsVersionsGetCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsModelsVersionsGetCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsModelsVersionsGetCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } - var body io.Reader = nil - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("GET", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "name": c.name, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "ml.projects.models.versions.get" call. -// Exactly one of *GoogleCloudMlV1beta1__Version or error will be -// non-nil. Any non-2xx status code is an error. Response headers are in -// either *GoogleCloudMlV1beta1__Version.ServerResponse.Header or (if a -// response was returned at all) in error.(*googleapi.Error).Header. Use -// googleapi.IsNotModified to check whether the returned error was -// because http.StatusNotModified was returned. -func (c *ProjectsModelsVersionsGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1beta1__Version, 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, &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, err - } - ret := &GoogleCloudMlV1beta1__Version{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Gets information about a model version.\n\nModels can have multiple versions. You can call\n[projects.models.versions.list](/ml-engine/reference/rest/v1beta1/projects.models.versions/list)\nto get the same information that this method returns for all of the\nversions of a model.", - // "flatPath": "v1beta1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}", - // "httpMethod": "GET", - // "id": "ml.projects.models.versions.get", - // "parameterOrder": [ - // "name" - // ], - // "parameters": { - // "name": { - // "description": "Required. The name of the version.", - // "location": "path", - // "pattern": "^projects/[^/]+/models/[^/]+/versions/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1beta1/{+name}", - // "response": { - // "$ref": "GoogleCloudMlV1beta1__Version" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// method id "ml.projects.models.versions.list": - -type ProjectsModelsVersionsListCall struct { - s *Service - parent string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header -} - -// List: Gets basic information about all the versions of a model. -// -// If you expect that a model has a lot of versions, or if you need to -// handle -// only a limited number of results at a time, you can request that the -// list -// be retrieved in batches (called pages): -func (r *ProjectsModelsVersionsService) List(parent string) *ProjectsModelsVersionsListCall { - c := &ProjectsModelsVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.parent = parent - return c -} - -// PageSize sets the optional parameter "pageSize": The number of -// versions to retrieve per "page" of results. If -// there are more remaining results than this number, the response -// message -// will contain a valid value in the `next_page_token` field. -// -// The default value is 20, and the maximum page size is 100. -func (c *ProjectsModelsVersionsListCall) PageSize(pageSize int64) *ProjectsModelsVersionsListCall { - c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) - return c -} - -// PageToken sets the optional parameter "pageToken": A page token to -// request the next page of results. -// -// You get the token from the `next_page_token` field of the response -// from -// the previous call. -func (c *ProjectsModelsVersionsListCall) PageToken(pageToken string) *ProjectsModelsVersionsListCall { - 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 information. -func (c *ProjectsModelsVersionsListCall) Fields(s ...googleapi.Field) *ProjectsModelsVersionsListCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// IfNoneMatch sets the optional parameter which makes the operation -// fail if the object's ETag matches the given value. This is useful for -// getting updates only after the object has changed since the last -// request. Use googleapi.IsNotModified to check whether the response -// error from Do is the result of In-None-Match. -func (c *ProjectsModelsVersionsListCall) IfNoneMatch(entityTag string) *ProjectsModelsVersionsListCall { - c.ifNoneMatch_ = entityTag - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsModelsVersionsListCall) Context(ctx context.Context) *ProjectsModelsVersionsListCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsModelsVersionsListCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsModelsVersionsListCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } - var body io.Reader = nil - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/versions") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("GET", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "parent": c.parent, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "ml.projects.models.versions.list" call. -// Exactly one of *GoogleCloudMlV1beta1__ListVersionsResponse or error -// will be non-nil. Any non-2xx status code is an error. Response -// headers are in either -// *GoogleCloudMlV1beta1__ListVersionsResponse.ServerResponse.Header or -// (if a response was returned at all) in -// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check -// whether the returned error was because http.StatusNotModified was -// returned. -func (c *ProjectsModelsVersionsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1beta1__ListVersionsResponse, 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, &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, err - } - ret := &GoogleCloudMlV1beta1__ListVersionsResponse{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Gets basic information about all the versions of a model.\n\nIf you expect that a model has a lot of versions, or if you need to handle\nonly a limited number of results at a time, you can request that the list\nbe retrieved in batches (called pages):", - // "flatPath": "v1beta1/projects/{projectsId}/models/{modelsId}/versions", - // "httpMethod": "GET", - // "id": "ml.projects.models.versions.list", - // "parameterOrder": [ - // "parent" - // ], - // "parameters": { - // "pageSize": { - // "description": "Optional. The number of versions to retrieve per \"page\" of results. If\nthere are more remaining results than this number, the response message\nwill contain a valid value in the `next_page_token` field.\n\nThe default value is 20, and the maximum page size is 100.", - // "format": "int32", - // "location": "query", - // "type": "integer" - // }, - // "pageToken": { - // "description": "Optional. A page token to request the next page of results.\n\nYou get the token from the `next_page_token` field of the response from\nthe previous call.", - // "location": "query", - // "type": "string" - // }, - // "parent": { - // "description": "Required. The name of the model for which to list the version.", - // "location": "path", - // "pattern": "^projects/[^/]+/models/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1beta1/{+parent}/versions", - // "response": { - // "$ref": "GoogleCloudMlV1beta1__ListVersionsResponse" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// 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 *ProjectsModelsVersionsListCall) Pages(ctx context.Context, f func(*GoogleCloudMlV1beta1__ListVersionsResponse) error) error { - c.ctx_ = ctx - defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point - 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) - } -} - -// method id "ml.projects.models.versions.setDefault": - -type ProjectsModelsVersionsSetDefaultCall struct { - s *Service - name string - googlecloudmlv1beta1__setdefaultversionrequest *GoogleCloudMlV1beta1__SetDefaultVersionRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// SetDefault: Designates a version to be the default for the -// model. -// -// The default version is used for prediction requests made against the -// model -// that don't specify a version. -// -// The first version to be created for a model is automatically set as -// the -// default. You must make any subsequent changes to the default -// version -// setting manually using this method. -func (r *ProjectsModelsVersionsService) SetDefault(name string, googlecloudmlv1beta1__setdefaultversionrequest *GoogleCloudMlV1beta1__SetDefaultVersionRequest) *ProjectsModelsVersionsSetDefaultCall { - c := &ProjectsModelsVersionsSetDefaultCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name - c.googlecloudmlv1beta1__setdefaultversionrequest = googlecloudmlv1beta1__setdefaultversionrequest - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsModelsVersionsSetDefaultCall) Fields(s ...googleapi.Field) *ProjectsModelsVersionsSetDefaultCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsModelsVersionsSetDefaultCall) Context(ctx context.Context) *ProjectsModelsVersionsSetDefaultCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsModelsVersionsSetDefaultCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsModelsVersionsSetDefaultCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudmlv1beta1__setdefaultversionrequest) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:setDefault") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("POST", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "name": c.name, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "ml.projects.models.versions.setDefault" call. -// Exactly one of *GoogleCloudMlV1beta1__Version or error will be -// non-nil. Any non-2xx status code is an error. Response headers are in -// either *GoogleCloudMlV1beta1__Version.ServerResponse.Header or (if a -// response was returned at all) in error.(*googleapi.Error).Header. Use -// googleapi.IsNotModified to check whether the returned error was -// because http.StatusNotModified was returned. -func (c *ProjectsModelsVersionsSetDefaultCall) Do(opts ...googleapi.CallOption) (*GoogleCloudMlV1beta1__Version, 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, &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, err - } - ret := &GoogleCloudMlV1beta1__Version{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Designates a version to be the default for the model.\n\nThe default version is used for prediction requests made against the model\nthat don't specify a version.\n\nThe first version to be created for a model is automatically set as the\ndefault. You must make any subsequent changes to the default version\nsetting manually using this method.", - // "flatPath": "v1beta1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}:setDefault", - // "httpMethod": "POST", - // "id": "ml.projects.models.versions.setDefault", - // "parameterOrder": [ - // "name" - // ], - // "parameters": { - // "name": { - // "description": "Required. The name of the version to make the default for the model. You\ncan get the names of all the versions of a model by calling\n[projects.models.versions.list](/ml-engine/reference/rest/v1beta1/projects.models.versions/list).\n\nAuthorization: `ml.models.update` permission is required on the parent model.", - // "location": "path", - // "pattern": "^projects/[^/]+/models/[^/]+/versions/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1beta1/{+name}:setDefault", - // "request": { - // "$ref": "GoogleCloudMlV1beta1__SetDefaultVersionRequest" - // }, - // "response": { - // "$ref": "GoogleCloudMlV1beta1__Version" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// method id "ml.projects.operations.cancel": - -type ProjectsOperationsCancelCall struct { - s *Service - name string - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// Cancel: Starts asynchronous cancellation on a long-running operation. -// The server -// makes a best effort to cancel the operation, but success is -// not -// guaranteed. If the server doesn't support this method, it -// returns -// `google.rpc.Code.UNIMPLEMENTED`. Clients can -// use -// Operations.GetOperation or -// other methods to check whether the cancellation succeeded or whether -// the -// operation completed despite cancellation. On successful -// cancellation, -// the operation is not deleted; instead, it becomes an operation -// with -// an Operation.error value with a google.rpc.Status.code of -// 1, -// corresponding to `Code.CANCELLED`. -func (r *ProjectsOperationsService) Cancel(name string) *ProjectsOperationsCancelCall { - c := &ProjectsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsOperationsCancelCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsOperationsCancelCall) Context(ctx context.Context) *ProjectsOperationsCancelCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsOperationsCancelCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsOperationsCancelCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:cancel") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("POST", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "name": c.name, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "ml.projects.operations.cancel" call. -// Exactly one of *GoogleProtobuf__Empty or error will be non-nil. Any -// non-2xx status code is an error. Response headers are in either -// *GoogleProtobuf__Empty.ServerResponse.Header or (if a response was -// returned at all) in error.(*googleapi.Error).Header. Use -// googleapi.IsNotModified to check whether the returned error was -// because http.StatusNotModified was returned. -func (c *ProjectsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobuf__Empty, 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, &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, err - } - ret := &GoogleProtobuf__Empty{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", - // "flatPath": "v1beta1/projects/{projectsId}/operations/{operationsId}:cancel", - // "httpMethod": "POST", - // "id": "ml.projects.operations.cancel", - // "parameterOrder": [ - // "name" - // ], - // "parameters": { - // "name": { - // "description": "The name of the operation resource to be cancelled.", - // "location": "path", - // "pattern": "^projects/[^/]+/operations/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1beta1/{+name}:cancel", - // "response": { - // "$ref": "GoogleProtobuf__Empty" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// method id "ml.projects.operations.delete": - -type ProjectsOperationsDeleteCall struct { - s *Service - name string - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// Delete: Deletes a long-running operation. This method indicates that -// the client is -// no longer interested in the operation result. It does not cancel -// the -// operation. If the server doesn't support this method, it -// returns -// `google.rpc.Code.UNIMPLEMENTED`. -func (r *ProjectsOperationsService) Delete(name string) *ProjectsOperationsDeleteCall { - c := &ProjectsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsOperationsDeleteCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsOperationsDeleteCall) Context(ctx context.Context) *ProjectsOperationsDeleteCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsOperationsDeleteCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("DELETE", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "name": c.name, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "ml.projects.operations.delete" call. -// Exactly one of *GoogleProtobuf__Empty or error will be non-nil. Any -// non-2xx status code is an error. Response headers are in either -// *GoogleProtobuf__Empty.ServerResponse.Header or (if a response was -// returned at all) in error.(*googleapi.Error).Header. Use -// googleapi.IsNotModified to check whether the returned error was -// because http.StatusNotModified was returned. -func (c *ProjectsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobuf__Empty, 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, &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, err - } - ret := &GoogleProtobuf__Empty{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.", - // "flatPath": "v1beta1/projects/{projectsId}/operations/{operationsId}", - // "httpMethod": "DELETE", - // "id": "ml.projects.operations.delete", - // "parameterOrder": [ - // "name" - // ], - // "parameters": { - // "name": { - // "description": "The name of the operation resource to be deleted.", - // "location": "path", - // "pattern": "^projects/[^/]+/operations/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1beta1/{+name}", - // "response": { - // "$ref": "GoogleProtobuf__Empty" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// method id "ml.projects.operations.get": - -type ProjectsOperationsGetCall struct { - s *Service - name string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header -} - -// Get: Gets the latest state of a long-running operation. Clients can -// use this -// method to poll the operation result at intervals as recommended by -// the API -// service. -func (r *ProjectsOperationsService) Get(name string) *ProjectsOperationsGetCall { - c := &ProjectsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsOperationsGetCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// IfNoneMatch sets the optional parameter which makes the operation -// fail if the object's ETag matches the given value. This is useful for -// getting updates only after the object has changed since the last -// request. Use googleapi.IsNotModified to check whether the response -// error from Do is the result of In-None-Match. -func (c *ProjectsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsOperationsGetCall { - c.ifNoneMatch_ = entityTag - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsOperationsGetCall) Context(ctx context.Context) *ProjectsOperationsGetCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsOperationsGetCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } - var body io.Reader = nil - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("GET", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "name": c.name, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "ml.projects.operations.get" call. -// Exactly one of *GoogleLongrunning__Operation or error will be -// non-nil. Any non-2xx status code is an error. Response headers are in -// either *GoogleLongrunning__Operation.ServerResponse.Header or (if a -// response was returned at all) in error.(*googleapi.Error).Header. Use -// googleapi.IsNotModified to check whether the returned error was -// because http.StatusNotModified was returned. -func (c *ProjectsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunning__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, &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, err - } - ret := &GoogleLongrunning__Operation{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", - // "flatPath": "v1beta1/projects/{projectsId}/operations/{operationsId}", - // "httpMethod": "GET", - // "id": "ml.projects.operations.get", - // "parameterOrder": [ - // "name" - // ], - // "parameters": { - // "name": { - // "description": "The name of the operation resource.", - // "location": "path", - // "pattern": "^projects/[^/]+/operations/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1beta1/{+name}", - // "response": { - // "$ref": "GoogleLongrunning__Operation" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// method id "ml.projects.operations.list": - -type ProjectsOperationsListCall struct { - s *Service - name string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header -} - -// List: Lists operations that match the specified filter in the -// request. If the -// server doesn't support this method, it returns -// `UNIMPLEMENTED`. -// -// NOTE: the `name` binding allows API services to override the -// binding -// to use different resource name schemes, such as `users/*/operations`. -// To -// override the binding, API services can add a binding such -// as -// "/v1/{name=users/*}/operations" to their service configuration. -// For backwards compatibility, the default name includes the -// operations -// collection id, however overriding users must ensure the name -// binding -// is the parent resource, without the operations collection id. -func (r *ProjectsOperationsService) List(name string) *ProjectsOperationsListCall { - c := &ProjectsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name - return c -} - -// Filter sets the optional parameter "filter": The standard list -// filter. -func (c *ProjectsOperationsListCall) Filter(filter string) *ProjectsOperationsListCall { - c.urlParams_.Set("filter", filter) - return c -} - -// PageSize sets the optional parameter "pageSize": The standard list -// page size. -func (c *ProjectsOperationsListCall) PageSize(pageSize int64) *ProjectsOperationsListCall { - c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) - return c -} - -// PageToken sets the optional parameter "pageToken": The standard list -// page token. -func (c *ProjectsOperationsListCall) PageToken(pageToken string) *ProjectsOperationsListCall { - 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 information. -func (c *ProjectsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsOperationsListCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// IfNoneMatch sets the optional parameter which makes the operation -// fail if the object's ETag matches the given value. This is useful for -// getting updates only after the object has changed since the last -// request. Use googleapi.IsNotModified to check whether the response -// error from Do is the result of In-None-Match. -func (c *ProjectsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsOperationsListCall { - c.ifNoneMatch_ = entityTag - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsOperationsListCall) Context(ctx context.Context) *ProjectsOperationsListCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsOperationsListCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsOperationsListCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } - var body io.Reader = nil - c.urlParams_.Set("alt", alt) - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}/operations") - urls += "?" + c.urlParams_.Encode() - req, _ := http.NewRequest("GET", urls, body) - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "name": c.name, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "ml.projects.operations.list" call. -// Exactly one of *GoogleLongrunning__ListOperationsResponse or error -// will be non-nil. Any non-2xx status code is an error. Response -// headers are in either -// *GoogleLongrunning__ListOperationsResponse.ServerResponse.Header or -// (if a response was returned at all) in -// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check -// whether the returned error was because http.StatusNotModified was -// returned. -func (c *ProjectsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunning__ListOperationsResponse, 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, &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, err - } - ret := &GoogleLongrunning__ListOperationsResponse{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := json.NewDecoder(res.Body).Decode(target); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", - // "flatPath": "v1beta1/projects/{projectsId}/operations", - // "httpMethod": "GET", - // "id": "ml.projects.operations.list", - // "parameterOrder": [ - // "name" - // ], - // "parameters": { - // "filter": { - // "description": "The standard list filter.", - // "location": "query", - // "type": "string" - // }, - // "name": { - // "description": "The name of the operation's parent resource.", - // "location": "path", - // "pattern": "^projects/[^/]+$", - // "required": true, - // "type": "string" - // }, - // "pageSize": { - // "description": "The standard list page size.", - // "format": "int32", - // "location": "query", - // "type": "integer" - // }, - // "pageToken": { - // "description": "The standard list page token.", - // "location": "query", - // "type": "string" - // } - // }, - // "path": "v1beta1/{+name}/operations", - // "response": { - // "$ref": "GoogleLongrunning__ListOperationsResponse" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// 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 *ProjectsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunning__ListOperationsResponse) error) error { - c.ctx_ = ctx - defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point - 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) - } -} diff --git a/vendor/google.golang.org/api/monitoring/v3/monitoring-api.json b/vendor/google.golang.org/api/monitoring/v3/monitoring-api.json index c5bfe903e..9c81f80f3 100644 --- a/vendor/google.golang.org/api/monitoring/v3/monitoring-api.json +++ b/vendor/google.golang.org/api/monitoring/v3/monitoring-api.json @@ -1,700 +1,29 @@ { - "documentationLink": "https://cloud.google.com/monitoring/api/", - "revision": "20170701", + "servicePath": "", + "description": "Manages your Stackdriver Monitoring data and configurations. Most projects must be associated with a Stackdriver account, with a few exceptions as noted on the individual method pages.", + "kind": "discovery#restDescription", + "basePath": "", "id": "monitoring:v3", + "documentationLink": "https://cloud.google.com/monitoring/api/", + "revision": "20170925", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { - "SourceContext": { - "type": "object", - "properties": { - "fileName": { - "type": "string", - "description": "The path-qualified name of the .proto file that contained the associated protobuf element. For example: \"google/protobuf/source_context.proto\"." - } - }, - "id": "SourceContext", - "description": "SourceContext represents information about the source of a protobuf element, like the file in which it is defined." - }, - "MetricDescriptor": { - "description": "Defines a metric type and its schema. Once a metric descriptor is created, deleting or altering it stops data collection and makes the metric type's existing data unusable.", - "type": "object", - "properties": { - "labels": { - "description": "The set of labels that can be used to describe a specific instance of this metric type. For example, the appengine.googleapis.com/http/server/response_latencies metric type has a label for the HTTP response code, response_code, so you can look at latencies for successful responses or just for responses that failed.", - "items": { - "$ref": "LabelDescriptor" - }, - "type": "array" - }, - "name": { - "description": "The resource name of the metric descriptor. Depending on the implementation, the name typically includes: (1) the parent resource name that defines the scope of the metric type or of its data; and (2) the metric's URL-encoded type, which also appears in the type field of this descriptor. For example, following is the resource name of a custom metric within the GCP project my-project-id:\n\"projects/my-project-id/metricDescriptors/custom.googleapis.com%2Finvoice%2Fpaid%2Famount\"\n", - "type": "string" - }, - "type": { - "description": "The metric type, including its DNS name prefix. The type is not URL-encoded. All user-defined custom metric types have the DNS name custom.googleapis.com. Metric types should use a natural hierarchical grouping. For example:\n\"custom.googleapis.com/invoice/paid/amount\"\n\"appengine.googleapis.com/http/server/response_latencies\"\n", - "type": "string" - }, - "valueType": { - "enum": [ - "VALUE_TYPE_UNSPECIFIED", - "BOOL", - "INT64", - "DOUBLE", - "STRING", - "DISTRIBUTION", - "MONEY" - ], - "description": "Whether the measurement is an integer, a floating-point number, etc. Some combinations of metric_kind and value_type might not be supported.", - "type": "string", - "enumDescriptions": [ - "Do not use this default value.", - "The value is a boolean. This value type can be used only if the metric kind is GAUGE.", - "The value is a signed 64-bit integer.", - "The value is a double precision floating point number.", - "The value is a text string. This value type can be used only if the metric kind is GAUGE.", - "The value is a Distribution.", - "The value is money." - ] - }, - "metricKind": { - "description": "Whether the metric records instantaneous values, changes to a value, etc. Some combinations of metric_kind and value_type might not be supported.", - "type": "string", - "enumDescriptions": [ - "Do not use this default value.", - "An instantaneous measurement of a value.", - "The change in a value during a time interval.", - "A value accumulated over a time interval. Cumulative measurements in a time series should have the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points." - ], - "enum": [ - "METRIC_KIND_UNSPECIFIED", - "GAUGE", - "DELTA", - "CUMULATIVE" - ] - }, - "displayName": { - "description": "A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example \"Request count\".", - "type": "string" - }, - "description": { - "description": "A detailed description of the metric, which can be used in documentation.", - "type": "string" - }, - "unit": { - "description": "The unit in which the metric value is reported. It is only applicable if the value_type is INT64, DOUBLE, or DISTRIBUTION. The supported units are a subset of The Unified Code for Units of Measure (http://unitsofmeasure.org/ucum.html) standard:Basic units (UNIT)\nbit bit\nBy byte\ns second\nmin minute\nh hour\nd dayPrefixes (PREFIX)\nk kilo (10**3)\nM mega (10**6)\nG giga (10**9)\nT tera (10**12)\nP peta (10**15)\nE exa (10**18)\nZ zetta (10**21)\nY yotta (10**24)\nm milli (10**-3)\nu micro (10**-6)\nn nano (10**-9)\np pico (10**-12)\nf femto (10**-15)\na atto (10**-18)\nz zepto (10**-21)\ny yocto (10**-24)\nKi kibi (2**10)\nMi mebi (2**20)\nGi gibi (2**30)\nTi tebi (2**40)GrammarThe grammar includes the dimensionless unit 1, such as 1/s.The grammar also includes these connectors:\n/ division (as an infix operator, e.g. 1/s).\n. multiplication (as an infix operator, e.g. GBy.d)The grammar for a unit is as follows:\nExpression = Component { \".\" Component } { \"/\" Component } ;\n\nComponent = [ PREFIX ] UNIT [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\nAnnotation = \"{\" NAME \"}\" ;\nNotes:\nAnnotation is just a comment if it follows a UNIT and is equivalent to 1 if it is used alone. For examples, {requests}/s == 1/s, By{transmitted}/s == By/s.\nNAME is a sequence of non-blank printable ASCII characters not containing '{' or '}'.", - "type": "string" - } - }, - "id": "MetricDescriptor" - }, - "Range": { - "description": "The range of the population values.", - "type": "object", - "properties": { - "max": { - "format": "double", - "description": "The maximum of the population values.", - "type": "number" - }, - "min": { - "format": "double", - "description": "The minimum of the population values.", - "type": "number" - } - }, - "id": "Range" - }, - "ListGroupsResponse": { - "description": "The ListGroups response.", - "type": "object", - "properties": { - "group": { - "description": "The groups that match the specified filters.", - "items": { - "$ref": "Group" - }, - "type": "array" - }, - "nextPageToken": { - "type": "string", - "description": "If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as pageToken in the next call to this method." - } - }, - "id": "ListGroupsResponse" - }, - "ListGroupMembersResponse": { - "id": "ListGroupMembersResponse", - "description": "The ListGroupMembers response.", - "type": "object", - "properties": { - "members": { - "items": { - "$ref": "MonitoredResource" - }, - "type": "array", - "description": "A set of monitored resources in the group." - }, - "nextPageToken": { - "description": "If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as pageToken in the next call to this method.", - "type": "string" - }, - "totalSize": { - "format": "int32", - "description": "The total number of elements matching this request.", - "type": "integer" - } - } - }, - "CreateCollectdTimeSeriesRequest": { - "description": "The CreateCollectdTimeSeries request.", - "type": "object", - "properties": { - "collectdPayloads": { - "description": "The collectd payloads representing the time series data. You must not include more than a single point for each time series, so no two payloads can have the same values for all of the fields plugin, plugin_instance, type, and type_instance.", - "items": { - "$ref": "CollectdPayload" - }, - "type": "array" - }, - "resource": { - "$ref": "MonitoredResource", - "description": "The monitored resource associated with the time series." - }, - "collectdVersion": { - "description": "The version of collectd that collected the data. Example: \"5.3.0-192.el6\".", - "type": "string" - } - }, - "id": "CreateCollectdTimeSeriesRequest" - }, - "ListMonitoredResourceDescriptorsResponse": { - "properties": { - "resourceDescriptors": { - "items": { - "$ref": "MonitoredResourceDescriptor" - }, - "type": "array", - "description": "The monitored resource descriptors that are available to this project and that match filter, if present." - }, - "nextPageToken": { - "type": "string", - "description": "If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as pageToken in the next call to this method." - } - }, - "id": "ListMonitoredResourceDescriptorsResponse", - "description": "The ListMonitoredResourceDescriptors response.", - "type": "object" - }, - "TimeSeries": { - "id": "TimeSeries", - "description": "A collection of data points that describes the time-varying values of a metric. A time series is identified by a combination of a fully-specified monitored resource and a fully-specified metric. This type is used for both listing and creating time series.", - "type": "object", - "properties": { - "resource": { - "$ref": "MonitoredResource", - "description": "The associated monitored resource. Custom metrics can use only certain monitored resource types in their time series data." - }, - "metricKind": { - "enumDescriptions": [ - "Do not use this default value.", - "An instantaneous measurement of a value.", - "The change in a value during a time interval.", - "A value accumulated over a time interval. Cumulative measurements in a time series should have the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points." - ], - "enum": [ - "METRIC_KIND_UNSPECIFIED", - "GAUGE", - "DELTA", - "CUMULATIVE" - ], - "description": "The metric kind of the time series. When listing time series, this metric kind might be different from the metric kind of the associated metric if this time series is an alignment or reduction of other time series.When creating a time series, this field is optional. If present, it must be the same as the metric kind of the associated metric. If the associated metric's descriptor must be auto-created, then this field specifies the metric kind of the new descriptor and must be either GAUGE (the default) or CUMULATIVE.", - "type": "string" - }, - "points": { - "description": "The data points of this time series. When listing time series, the order of the points is specified by the list method.When creating a time series, this field must contain exactly one point and the point's type must be the same as the value type of the associated metric. If the associated metric's descriptor must be auto-created, then the value type of the descriptor is determined by the point's type, which must be BOOL, INT64, DOUBLE, or DISTRIBUTION.", - "items": { - "$ref": "Point" - }, - "type": "array" - }, - "metric": { - "description": "The associated metric. A fully-specified metric used to identify the time series.", - "$ref": "Metric" - }, - "valueType": { - "enumDescriptions": [ - "Do not use this default value.", - "The value is a boolean. This value type can be used only if the metric kind is GAUGE.", - "The value is a signed 64-bit integer.", - "The value is a double precision floating point number.", - "The value is a text string. This value type can be used only if the metric kind is GAUGE.", - "The value is a Distribution.", - "The value is money." - ], - "enum": [ - "VALUE_TYPE_UNSPECIFIED", - "BOOL", - "INT64", - "DOUBLE", - "STRING", - "DISTRIBUTION", - "MONEY" - ], - "description": "The value type of the time series. When listing time series, this value type might be different from the value type of the associated metric if this time series is an alignment or reduction of other time series.When creating a time series, this field is optional. If present, it must be the same as the type of the data in the points field.", - "type": "string" - } - } - }, - "CreateTimeSeriesRequest": { - "description": "The CreateTimeSeries request.", - "type": "object", - "properties": { - "timeSeries": { - "items": { - "$ref": "TimeSeries" - }, - "type": "array", - "description": "The new data to be added to a list of time series. Adds at most one data point to each of several time series. The new data point must be more recent than any other point in its time series. Each TimeSeries value must fully specify a unique time series by supplying all label values for the metric and the monitored resource." - } - }, - "id": "CreateTimeSeriesRequest" - }, - "Distribution": { - "description": "Distribution contains summary statistics for a population of values. It optionally contains a histogram representing the distribution of those values across a set of buckets.The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by formulas for buckets of fixed or exponentially increasing widths.Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the mean and sum_of_squared_deviation fields meaningless.", - "type": "object", - "properties": { - "range": { - "$ref": "Range", - "description": "If specified, contains the range of the population values. The field must not be present if the count is zero. This field is presently ignored by the Stackdriver Monitoring API v3." - }, - "count": { - "format": "int64", - "description": "The number of values in the population. Must be non-negative. This value must equal the sum of the values in bucket_counts if a histogram is provided.", - "type": "string" - }, - "mean": { - "type": "number", - "format": "double", - "description": "The arithmetic mean of the values in the population. If count is zero then this field must be zero." - }, - "bucketCounts": { - "description": "Required in the Stackdriver Monitoring API v3. The values for each bucket specified in bucket_options. The sum of the values in bucketCounts must equal the value in the count field of the Distribution object. The order of the bucket counts follows the numbering schemes described for the three bucket types. The underflow bucket has number 0; the finite buckets, if any, have numbers 1 through N-2; and the overflow bucket has number N-1. The size of bucket_counts must not be greater than N. If the size is less than N, then the remaining buckets are assigned values of zero.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "bucketOptions": { - "$ref": "BucketOptions", - "description": "Required in the Stackdriver Monitoring API v3. Defines the histogram bucket boundaries." - }, - "sumOfSquaredDeviation": { - "format": "double", - "description": "The sum of squared deviations from the mean of the values in the population. For values x_i this is:\nSum[i=1..n]((x_i - mean)^2)\nKnuth, \"The Art of Computer Programming\", Vol. 2, page 323, 3rd edition describes Welford's method for accumulating this sum in one pass.If count is zero then this field must be zero.", - "type": "number" - } - }, - "id": "Distribution" - }, - "MonitoredResource": { - "properties": { - "type": { - "description": "Required. The monitored resource type. This field must match the type field of a MonitoredResourceDescriptor object. For example, the type of a Compute Engine VM instance is gce_instance.", - "type": "string" - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels \"project_id\", \"instance_id\", and \"zone\"." - } - }, - "id": "MonitoredResource", - "description": "An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The type field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the labels field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for \"gce_instance\" has labels \"instance_id\" and \"zone\":\n{ \"type\": \"gce_instance\",\n \"labels\": { \"instance_id\": \"12345678901234\",\n \"zone\": \"us-central1-a\" }}\n", - "type": "object" - }, - "ListMetricDescriptorsResponse": { - "id": "ListMetricDescriptorsResponse", - "description": "The ListMetricDescriptors response.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as pageToken in the next call to this method.", - "type": "string" - }, - "metricDescriptors": { - "description": "The metric descriptors that are available to the project and that match the value of filter, if present.", - "items": { - "$ref": "MetricDescriptor" - }, - "type": "array" - } - } - }, - "MonitoredResourceDescriptor": { - "type": "object", - "properties": { - "description": { - "description": "Optional. A detailed description of the monitored resource type that might be used in documentation.", - "type": "string" - }, - "displayName": { - "description": "Optional. A concise name for the monitored resource type that might be displayed in user interfaces. It should be a Title Cased Noun Phrase, without any article or other determiners. For example, \"Google Cloud SQL Database\".", - "type": "string" - }, - "type": { - "description": "Required. The monitored resource type. For example, the type \"cloudsql_database\" represents databases in Google Cloud SQL. The maximum length of this value is 256 characters.", - "type": "string" - }, - "labels": { - "description": "Required. A set of labels used to describe instances of this monitored resource type. For example, an individual Google Cloud SQL database is identified by values for the labels \"database_id\" and \"zone\".", - "items": { - "$ref": "LabelDescriptor" - }, - "type": "array" - }, - "name": { - "description": "Optional. The resource name of the monitored resource descriptor: \"projects/{project_id}/monitoredResourceDescriptors/{type}\" where {type} is the value of the type field in this object and {project_id} is a project ID that provides API-specific context for accessing the type. APIs that do not use project information can use the resource name format \"monitoredResourceDescriptors/{type}\".", - "type": "string" - } - }, - "id": "MonitoredResourceDescriptor", - "description": "An object that describes the schema of a MonitoredResource object using a type name and a set of labels. For example, the monitored resource descriptor for Google Compute Engine VM instances has a type of \"gce_instance\" and specifies the use of the labels \"instance_id\" and \"zone\" to identify particular VM instances.Different APIs can support different monitored resource types. APIs generally provide a list method that returns the monitored resource descriptors used by the API." - }, - "TypedValue": { - "description": "A single strongly-typed value.", - "type": "object", - "properties": { - "int64Value": { - "format": "int64", - "description": "A 64-bit integer. Its range is approximately ±9.2x10\u003csup\u003e18\u003c/sup\u003e.", - "type": "string" - }, - "distributionValue": { - "$ref": "Distribution", - "description": "A distribution value." - }, - "stringValue": { - "description": "A variable-length string value.", - "type": "string" - }, - "boolValue": { - "type": "boolean", - "description": "A Boolean value: true or false." - }, - "doubleValue": { - "format": "double", - "description": "A 64-bit double-precision floating-point number. Its magnitude is approximately ±10\u003csup\u003e±300\u003c/sup\u003e and it has 16 significant digits of precision.", - "type": "number" - } - }, - "id": "TypedValue" - }, - "CollectdPayload": { - "description": "A collection of data points sent from a collectd-based plugin. See the collectd documentation for more information.", - "type": "object", - "properties": { - "values": { - "items": { - "$ref": "CollectdValue" - }, - "type": "array", - "description": "The measured values during this time interval. Each value must have a different dataSourceName." - }, - "typeInstance": { - "type": "string", - "description": "The measurement type instance. Example: \"used\"." - }, - "type": { - "description": "The measurement type. Example: \"memory\".", - "type": "string" - }, - "metadata": { - "description": "The measurement metadata. Example: \"process_id\" -\u003e 12345", - "type": "object", - "additionalProperties": { - "$ref": "TypedValue" - } - }, - "plugin": { - "description": "The name of the plugin. Example: \"disk\".", - "type": "string" - }, - "pluginInstance": { - "description": "The instance name of the plugin Example: \"hdcl\".", - "type": "string" - }, - "endTime": { - "format": "google-datetime", - "description": "The end time of the interval.", - "type": "string" - }, - "startTime": { - "format": "google-datetime", - "description": "The start time of the interval.", - "type": "string" - } - }, - "id": "CollectdPayload" - }, - "Linear": { - "description": "Specifies a linear sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 \u003c= i \u003c N-1): offset + (width * i). Lower bound (1 \u003c= i \u003c N): offset + (width * (i - 1)).", - "type": "object", - "properties": { - "numFiniteBuckets": { - "format": "int32", - "description": "Must be greater than 0.", - "type": "integer" - }, - "width": { - "format": "double", - "description": "Must be greater than 0.", - "type": "number" - }, - "offset": { - "type": "number", - "format": "double", - "description": "Lower bound of the first bucket." - } - }, - "id": "Linear" - }, - "Option": { - "description": "A protocol buffer option, which can be attached to a message, field, enumeration, etc.", - "type": "object", - "properties": { - "name": { - "description": "The option's name. For protobuf built-in options (options defined in descriptor.proto), this is the short name. For example, \"map_entry\". For custom options, it should be the fully-qualified name. For example, \"google.api.http\".", - "type": "string" - }, - "value": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "The option's value packed in an Any message. If the value is a primitive, the corresponding wrapper type defined in google/protobuf/wrappers.proto should be used. If the value is an enum, it should be stored as an int32 value using the google.protobuf.Int32Value type.", - "type": "object" - } - }, - "id": "Option" - }, - "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance:\nservice Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n}\nThe JSON representation for Empty is empty JSON object {}.", - "type": "object", - "properties": {}, - "id": "Empty" - }, - "Explicit": { - "properties": { - "bounds": { - "items": { - "type": "number", - "format": "double" - }, - "type": "array", - "description": "The values must be monotonically increasing." - } - }, - "id": "Explicit", - "description": "Specifies a set of buckets with arbitrary widths.There are size(bounds) + 1 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 \u003c= i \u003c N-1): boundsi Lower bound (1 \u003c= i \u003c N); boundsi - 1The bounds field must contain at least one element. If bounds has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets.", - "type": "object" - }, - "TimeInterval": { - "description": "A time interval extending just after a start time through an end time. If the start time is the same as the end time, then the interval represents a single point in time.", - "type": "object", - "properties": { - "endTime": { - "format": "google-datetime", - "description": "Required. The end of the time interval.", - "type": "string" - }, - "startTime": { - "format": "google-datetime", - "description": "Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time.", - "type": "string" - } - }, - "id": "TimeInterval" - }, - "Exponential": { - "description": "Specifies an exponential sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 \u003c= i \u003c N-1): scale * (growth_factor ^ i). Lower bound (1 \u003c= i \u003c N): scale * (growth_factor ^ (i - 1)).", - "type": "object", - "properties": { - "numFiniteBuckets": { - "format": "int32", - "description": "Must be greater than 0.", - "type": "integer" - }, - "growthFactor": { - "format": "double", - "description": "Must be greater than 1.", - "type": "number" - }, - "scale": { - "format": "double", - "description": "Must be greater than 0.", - "type": "number" - } - }, - "id": "Exponential" - }, - "Point": { - "description": "A single data point in a time series.", - "type": "object", - "properties": { - "value": { - "$ref": "TypedValue", - "description": "The value of the data point." - }, - "interval": { - "$ref": "TimeInterval", - "description": "The time interval to which the data point applies. For GAUGE metrics, only the end time of the interval is used. For DELTA metrics, the start and end time should specify a non-zero interval, with subsequent points specifying contiguous and non-overlapping intervals. For CUMULATIVE metrics, the start and end time should specify a non-zero interval, with subsequent points specifying the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points." - } - }, - "id": "Point" - }, - "Field": { - "id": "Field", - "description": "A single field of a message type.", - "type": "object", - "properties": { - "name": { - "description": "The field name.", - "type": "string" - }, - "typeUrl": { - "description": "The field type URL, without the scheme, for message or enumeration types. Example: \"type.googleapis.com/google.protobuf.Timestamp\".", - "type": "string" - }, - "number": { - "format": "int32", - "description": "The field number.", - "type": "integer" - }, - "kind": { - "enum": [ - "TYPE_UNKNOWN", - "TYPE_DOUBLE", - "TYPE_FLOAT", - "TYPE_INT64", - "TYPE_UINT64", - "TYPE_INT32", - "TYPE_FIXED64", - "TYPE_FIXED32", - "TYPE_BOOL", - "TYPE_STRING", - "TYPE_GROUP", - "TYPE_MESSAGE", - "TYPE_BYTES", - "TYPE_UINT32", - "TYPE_ENUM", - "TYPE_SFIXED32", - "TYPE_SFIXED64", - "TYPE_SINT32", - "TYPE_SINT64" - ], - "description": "The field type.", - "type": "string", - "enumDescriptions": [ - "Field type unknown.", - "Field type double.", - "Field type float.", - "Field type int64.", - "Field type uint64.", - "Field type int32.", - "Field type fixed64.", - "Field type fixed32.", - "Field type bool.", - "Field type string.", - "Field type group. Proto2 syntax only, and deprecated.", - "Field type message.", - "Field type bytes.", - "Field type uint32.", - "Field type enum.", - "Field type sfixed32.", - "Field type sfixed64.", - "Field type sint32.", - "Field type sint64." - ] - }, - "jsonName": { - "description": "The field JSON name.", - "type": "string" - }, - "options": { - "description": "The protocol buffer options.", - "items": { - "$ref": "Option" - }, - "type": "array" - }, - "oneofIndex": { - "format": "int32", - "description": "The index of the field type in Type.oneofs, for message or enumeration types. The first type has index 1; zero means the type is not in the list.", - "type": "integer" - }, - "cardinality": { - "enumDescriptions": [ - "For fields with unknown cardinality.", - "For optional fields.", - "For required fields. Proto2 syntax only.", - "For repeated fields." - ], - "enum": [ - "CARDINALITY_UNKNOWN", - "CARDINALITY_OPTIONAL", - "CARDINALITY_REQUIRED", - "CARDINALITY_REPEATED" - ], - "description": "The field cardinality.", - "type": "string" - }, - "packed": { - "description": "Whether to use alternative packed wire representation.", - "type": "boolean" - }, - "defaultValue": { - "description": "The string value of the default value of this field. Proto2 syntax only.", - "type": "string" - } - } - }, - "Metric": { - "description": "A specific metric, identified by specifying values for all of the labels of a MetricDescriptor.", - "type": "object", - "properties": { - "type": { - "description": "An existing metric type, see google.api.MetricDescriptor. For example, custom.googleapis.com/invoice/paid/amount.", - "type": "string" - }, - "labels": { - "description": "The set of label values that uniquely identify this metric. All labels listed in the MetricDescriptor must be assigned values.", - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "id": "Metric" - }, "ListTimeSeriesResponse": { "id": "ListTimeSeriesResponse", "description": "The ListTimeSeries response.", "type": "object", "properties": { - "nextPageToken": { - "description": "If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as pageToken in the next call to this method.", - "type": "string" - }, "timeSeries": { "description": "One or more time series that match the filter included in the request.", "items": { "$ref": "TimeSeries" }, "type": "array" + }, + "nextPageToken": { + "description": "If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as pageToken in the next call to this method.", + "type": "string" } } }, @@ -727,37 +56,25 @@ }, "id": "LabelDescriptor" }, - "Group": { - "description": "The description of a dynamic collection of monitored resources. Each group has a filter that is matched against monitored resources and their associated metadata. If a group's filter matches an available monitored resource, then that resource is a member of that group. Groups can contain any number of monitored resources, and each monitored resource can be a member of any number of groups.Groups can be nested in parent-child hierarchies. The parentName field identifies an optional parent for each group. If a group has a parent, then the only monitored resources available to be matched by the group's filter are the resources contained in the parent group. In other words, a group contains the monitored resources that match its filter and the filters of all the group's ancestors. A group without a parent can contain any monitored resource.For example, consider an infrastructure running a set of instances with two user-defined tags: \"environment\" and \"role\". A parent group has a filter, environment=\"production\". A child of that parent group has a filter, role=\"transcoder\". The parent group contains all instances in the production environment, regardless of their roles. The child group contains instances that have the transcoder role and are in the production environment.The monitored resources contained in a group can change at any moment, depending on what resources exist and what filters are associated with the group and its ancestors.", - "type": "object", - "properties": { - "parentName": { - "description": "The name of the group's parent, if it has one. The format is \"projects/{project_id_or_number}/groups/{group_id}\". For groups with no parent, parentName is the empty string, \"\".", - "type": "string" - }, - "name": { - "description": "Output only. The name of this group. The format is \"projects/{project_id_or_number}/groups/{group_id}\". When creating a group, this field is ignored and a new name is created consisting of the project specified in the call to CreateGroup and a unique {group_id} that is generated automatically.", - "type": "string" - }, - "displayName": { - "description": "A user-assigned name for this group, used only for display purposes.", - "type": "string" - }, - "isCluster": { - "description": "If true, the members of this group are considered to be a cluster. The system can perform additional analysis on groups that are clusters.", - "type": "boolean" - }, - "filter": { - "description": "The filter used to determine which monitored resources belong to this group.", - "type": "string" - } - }, - "id": "Group" - }, "Type": { - "description": "A protocol buffer message type.", "type": "object", "properties": { + "sourceContext": { + "description": "The source context.", + "$ref": "SourceContext" + }, + "syntax": { + "enumDescriptions": [ + "Syntax proto2.", + "Syntax proto3." + ], + "enum": [ + "SYNTAX_PROTO2", + "SYNTAX_PROTO3" + ], + "description": "The source syntax.", + "type": "string" + }, "options": { "description": "The protocol buffer options.", "items": { @@ -766,11 +83,11 @@ "type": "array" }, "fields": { - "description": "The list of fields.", "items": { "$ref": "Field" }, - "type": "array" + "type": "array", + "description": "The list of fields." }, "name": { "description": "The fully qualified message name.", @@ -782,25 +99,37 @@ "type": "string" }, "type": "array" - }, - "syntax": { - "type": "string", - "enumDescriptions": [ - "Syntax proto2.", - "Syntax proto3." - ], - "enum": [ - "SYNTAX_PROTO2", - "SYNTAX_PROTO3" - ], - "description": "The source syntax." - }, - "sourceContext": { - "description": "The source context.", - "$ref": "SourceContext" } }, - "id": "Type" + "id": "Type", + "description": "A protocol buffer message type." + }, + "Group": { + "properties": { + "parentName": { + "description": "The name of the group's parent, if it has one. The format is \"projects/{project_id_or_number}/groups/{group_id}\". For groups with no parent, parentName is the empty string, \"\".", + "type": "string" + }, + "name": { + "type": "string", + "description": "Output only. The name of this group. The format is \"projects/{project_id_or_number}/groups/{group_id}\". When creating a group, this field is ignored and a new name is created consisting of the project specified in the call to CreateGroup and a unique {group_id} that is generated automatically." + }, + "displayName": { + "type": "string", + "description": "A user-assigned name for this group, used only for display purposes." + }, + "isCluster": { + "description": "If true, the members of this group are considered to be a cluster. The system can perform additional analysis on groups that are clusters.", + "type": "boolean" + }, + "filter": { + "description": "The filter used to determine which monitored resources belong to this group.", + "type": "string" + } + }, + "id": "Group", + "description": "The description of a dynamic collection of monitored resources. Each group has a filter that is matched against monitored resources and their associated metadata. If a group's filter matches an available monitored resource, then that resource is a member of that group. Groups can contain any number of monitored resources, and each monitored resource can be a member of any number of groups.Groups can be nested in parent-child hierarchies. The parentName field identifies an optional parent for each group. If a group has a parent, then the only monitored resources available to be matched by the group's filter are the resources contained in the parent group. In other words, a group contains the monitored resources that match its filter and the filters of all the group's ancestors. A group without a parent can contain any monitored resource.For example, consider an infrastructure running a set of instances with two user-defined tags: \"environment\" and \"role\". A parent group has a filter, environment=\"production\". A child of that parent group has a filter, role=\"transcoder\". The parent group contains all instances in the production environment, regardless of their roles. The child group contains instances that have the transcoder role and are in the production environment.The monitored resources contained in a group can change at any moment, depending on what resources exist and what filters are associated with the group and its ancestors.", + "type": "object" }, "BucketOptions": { "description": "BucketOptions describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. BucketOptions does not include the number of values in each bucket.A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i \u003e 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite.", @@ -811,24 +140,52 @@ "description": "The explicit buckets." }, "linearBuckets": { - "description": "The linear bucket.", - "$ref": "Linear" + "$ref": "Linear", + "description": "The linear bucket." }, "exponentialBuckets": { - "description": "The exponential buckets.", - "$ref": "Exponential" + "$ref": "Exponential", + "description": "The exponential buckets." } }, "id": "BucketOptions" }, + "Status": { + "description": "The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). The error model is designed to be:\nSimple to use and understand for most users\nFlexible enough to meet unexpected needsOverviewThe Status message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers understand and resolve the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package google.rpc that can be used for common error conditions.Language mappingThe Status message is the logical representation of the error model, but it is not necessarily the actual wire format. When the Status message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C.Other usesThe error model and the Status message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments.Example uses of this error model include:\nPartial errors. If a service needs to return partial errors to the client, it may embed the Status in the normal response to indicate the partial errors.\nWorkflow errors. A typical workflow has multiple steps. Each step may have a Status message for error reporting.\nBatch operations. If a client uses batch request and batch response, the Status message should be used directly inside batch response, one for each error sub-response.\nAsynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the Status message.\nLogging. If some API errors are stored in logs, the message Status could be used directly after any stripping needed for security/privacy reasons.", + "type": "object", + "properties": { + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + }, + "details": { + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array", + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." + }, + "code": { + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" + } + }, + "id": "Status" + }, "CollectdValue": { - "id": "CollectdValue", "description": "A single data point from a collectd-based plugin.", "type": "object", "properties": { + "value": { + "$ref": "TypedValue", + "description": "The measurement value." + }, "dataSourceType": { - "description": "The type of measurement.", - "type": "string", "enumDescriptions": [ "An unspecified data source type. This corresponds to google.api.MetricDescriptor.MetricKind.METRIC_KIND_UNSPECIFIED.", "An instantaneous measurement of a varying quantity. This corresponds to google.api.MetricDescriptor.MetricKind.GAUGE.", @@ -842,24 +199,751 @@ "COUNTER", "DERIVE", "ABSOLUTE" - ] + ], + "description": "The type of measurement.", + "type": "string" }, "dataSourceName": { "description": "The data source for the collectd value. For example there are two data sources for network measurements: \"rx\" and \"tx\".", "type": "string" + } + }, + "id": "CollectdValue" + }, + "MetricDescriptor": { + "properties": { + "name": { + "description": "The resource name of the metric descriptor. Depending on the implementation, the name typically includes: (1) the parent resource name that defines the scope of the metric type or of its data; and (2) the metric's URL-encoded type, which also appears in the type field of this descriptor. For example, following is the resource name of a custom metric within the GCP project my-project-id:\n\"projects/my-project-id/metricDescriptors/custom.googleapis.com%2Finvoice%2Fpaid%2Famount\"\n", + "type": "string" }, - "value": { - "description": "The measurement value.", - "$ref": "TypedValue" + "type": { + "description": "The metric type, including its DNS name prefix. The type is not URL-encoded. All user-defined custom metric types have the DNS name custom.googleapis.com. Metric types should use a natural hierarchical grouping. For example:\n\"custom.googleapis.com/invoice/paid/amount\"\n\"appengine.googleapis.com/http/server/response_latencies\"\n", + "type": "string" + }, + "valueType": { + "type": "string", + "enumDescriptions": [ + "Do not use this default value.", + "The value is a boolean. This value type can be used only if the metric kind is GAUGE.", + "The value is a signed 64-bit integer.", + "The value is a double precision floating point number.", + "The value is a text string. This value type can be used only if the metric kind is GAUGE.", + "The value is a Distribution.", + "The value is money." + ], + "enum": [ + "VALUE_TYPE_UNSPECIFIED", + "BOOL", + "INT64", + "DOUBLE", + "STRING", + "DISTRIBUTION", + "MONEY" + ], + "description": "Whether the measurement is an integer, a floating-point number, etc. Some combinations of metric_kind and value_type might not be supported." + }, + "metricKind": { + "enum": [ + "METRIC_KIND_UNSPECIFIED", + "GAUGE", + "DELTA", + "CUMULATIVE" + ], + "description": "Whether the metric records instantaneous values, changes to a value, etc. Some combinations of metric_kind and value_type might not be supported.", + "type": "string", + "enumDescriptions": [ + "Do not use this default value.", + "An instantaneous measurement of a value.", + "The change in a value during a time interval.", + "A value accumulated over a time interval. Cumulative measurements in a time series should have the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points." + ] + }, + "displayName": { + "description": "A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example \"Request count\".", + "type": "string" + }, + "description": { + "description": "A detailed description of the metric, which can be used in documentation.", + "type": "string" + }, + "unit": { + "description": "The unit in which the metric value is reported. It is only applicable if the value_type is INT64, DOUBLE, or DISTRIBUTION. The supported units are a subset of The Unified Code for Units of Measure (http://unitsofmeasure.org/ucum.html) standard:Basic units (UNIT)\nbit bit\nBy byte\ns second\nmin minute\nh hour\nd dayPrefixes (PREFIX)\nk kilo (10**3)\nM mega (10**6)\nG giga (10**9)\nT tera (10**12)\nP peta (10**15)\nE exa (10**18)\nZ zetta (10**21)\nY yotta (10**24)\nm milli (10**-3)\nu micro (10**-6)\nn nano (10**-9)\np pico (10**-12)\nf femto (10**-15)\na atto (10**-18)\nz zepto (10**-21)\ny yocto (10**-24)\nKi kibi (2**10)\nMi mebi (2**20)\nGi gibi (2**30)\nTi tebi (2**40)GrammarThe grammar includes the dimensionless unit 1, such as 1/s.The grammar also includes these connectors:\n/ division (as an infix operator, e.g. 1/s).\n. multiplication (as an infix operator, e.g. GBy.d)The grammar for a unit is as follows:\nExpression = Component { \".\" Component } { \"/\" Component } ;\n\nComponent = [ PREFIX ] UNIT [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\nAnnotation = \"{\" NAME \"}\" ;\nNotes:\nAnnotation is just a comment if it follows a UNIT and is equivalent to 1 if it is used alone. For examples, {requests}/s == 1/s, By{transmitted}/s == By/s.\nNAME is a sequence of non-blank printable ASCII characters not containing '{' or '}'.", + "type": "string" + }, + "labels": { + "description": "The set of labels that can be used to describe a specific instance of this metric type. For example, the appengine.googleapis.com/http/server/response_latencies metric type has a label for the HTTP response code, response_code, so you can look at latencies for successful responses or just for responses that failed.", + "items": { + "$ref": "LabelDescriptor" + }, + "type": "array" + } + }, + "id": "MetricDescriptor", + "description": "Defines a metric type and its schema. Once a metric descriptor is created, deleting or altering it stops data collection and makes the metric type's existing data unusable.", + "type": "object" + }, + "SourceContext": { + "description": "SourceContext represents information about the source of a protobuf element, like the file in which it is defined.", + "type": "object", + "properties": { + "fileName": { + "description": "The path-qualified name of the .proto file that contained the associated protobuf element. For example: \"google/protobuf/source_context.proto\".", + "type": "string" + } + }, + "id": "SourceContext" + }, + "Range": { + "description": "The range of the population values.", + "type": "object", + "properties": { + "min": { + "type": "number", + "format": "double", + "description": "The minimum of the population values." + }, + "max": { + "format": "double", + "description": "The maximum of the population values.", + "type": "number" + } + }, + "id": "Range" + }, + "ListGroupsResponse": { + "description": "The ListGroups response.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as pageToken in the next call to this method.", + "type": "string" + }, + "group": { + "description": "The groups that match the specified filters.", + "items": { + "$ref": "Group" + }, + "type": "array" + } + }, + "id": "ListGroupsResponse" + }, + "ListGroupMembersResponse": { + "description": "The ListGroupMembers response.", + "type": "object", + "properties": { + "members": { + "description": "A set of monitored resources in the group.", + "items": { + "$ref": "MonitoredResource" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as pageToken in the next call to this method.", + "type": "string" + }, + "totalSize": { + "format": "int32", + "description": "The total number of elements matching this request.", + "type": "integer" + } + }, + "id": "ListGroupMembersResponse" + }, + "CreateCollectdTimeSeriesRequest": { + "description": "The CreateCollectdTimeSeries request.", + "type": "object", + "properties": { + "collectdPayloads": { + "description": "The collectd payloads representing the time series data. You must not include more than a single point for each time series, so no two payloads can have the same values for all of the fields plugin, plugin_instance, type, and type_instance.", + "items": { + "$ref": "CollectdPayload" + }, + "type": "array" + }, + "resource": { + "$ref": "MonitoredResource", + "description": "The monitored resource associated with the time series." + }, + "collectdVersion": { + "description": "The version of collectd that collected the data. Example: \"5.3.0-192.el6\".", + "type": "string" + } + }, + "id": "CreateCollectdTimeSeriesRequest" + }, + "ListMonitoredResourceDescriptorsResponse": { + "description": "The ListMonitoredResourceDescriptors response.", + "type": "object", + "properties": { + "resourceDescriptors": { + "description": "The monitored resource descriptors that are available to this project and that match filter, if present.", + "items": { + "$ref": "MonitoredResourceDescriptor" + }, + "type": "array" + }, + "nextPageToken": { + "type": "string", + "description": "If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as pageToken in the next call to this method." + } + }, + "id": "ListMonitoredResourceDescriptorsResponse" + }, + "TimeSeries": { + "description": "A collection of data points that describes the time-varying values of a metric. A time series is identified by a combination of a fully-specified monitored resource and a fully-specified metric. This type is used for both listing and creating time series.", + "type": "object", + "properties": { + "valueType": { + "enumDescriptions": [ + "Do not use this default value.", + "The value is a boolean. This value type can be used only if the metric kind is GAUGE.", + "The value is a signed 64-bit integer.", + "The value is a double precision floating point number.", + "The value is a text string. This value type can be used only if the metric kind is GAUGE.", + "The value is a Distribution.", + "The value is money." + ], + "enum": [ + "VALUE_TYPE_UNSPECIFIED", + "BOOL", + "INT64", + "DOUBLE", + "STRING", + "DISTRIBUTION", + "MONEY" + ], + "description": "The value type of the time series. When listing time series, this value type might be different from the value type of the associated metric if this time series is an alignment or reduction of other time series.When creating a time series, this field is optional. If present, it must be the same as the type of the data in the points field.", + "type": "string" + }, + "resource": { + "$ref": "MonitoredResource", + "description": "The associated monitored resource. Custom metrics can use only certain monitored resource types in their time series data." + }, + "metricKind": { + "enumDescriptions": [ + "Do not use this default value.", + "An instantaneous measurement of a value.", + "The change in a value during a time interval.", + "A value accumulated over a time interval. Cumulative measurements in a time series should have the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points." + ], + "enum": [ + "METRIC_KIND_UNSPECIFIED", + "GAUGE", + "DELTA", + "CUMULATIVE" + ], + "description": "The metric kind of the time series. When listing time series, this metric kind might be different from the metric kind of the associated metric if this time series is an alignment or reduction of other time series.When creating a time series, this field is optional. If present, it must be the same as the metric kind of the associated metric. If the associated metric's descriptor must be auto-created, then this field specifies the metric kind of the new descriptor and must be either GAUGE (the default) or CUMULATIVE.", + "type": "string" + }, + "points": { + "description": "The data points of this time series. When listing time series, the order of the points is specified by the list method.When creating a time series, this field must contain exactly one point and the point's type must be the same as the value type of the associated metric. If the associated metric's descriptor must be auto-created, then the value type of the descriptor is determined by the point's type, which must be BOOL, INT64, DOUBLE, or DISTRIBUTION.", + "items": { + "$ref": "Point" + }, + "type": "array" + }, + "metric": { + "description": "The associated metric. A fully-specified metric used to identify the time series.", + "$ref": "Metric" + } + }, + "id": "TimeSeries" + }, + "CreateTimeSeriesRequest": { + "id": "CreateTimeSeriesRequest", + "description": "The CreateTimeSeries request.", + "type": "object", + "properties": { + "timeSeries": { + "description": "The new data to be added to a list of time series. Adds at most one data point to each of several time series. The new data point must be more recent than any other point in its time series. Each TimeSeries value must fully specify a unique time series by supplying all label values for the metric and the monitored resource.", + "items": { + "$ref": "TimeSeries" + }, + "type": "array" } } + }, + "Distribution": { + "description": "Distribution contains summary statistics for a population of values. It optionally contains a histogram representing the distribution of those values across a set of buckets.The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by formulas for buckets of fixed or exponentially increasing widths.Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the mean and sum_of_squared_deviation fields meaningless.", + "type": "object", + "properties": { + "sumOfSquaredDeviation": { + "format": "double", + "description": "The sum of squared deviations from the mean of the values in the population. For values x_i this is:\nSum[i=1..n]((x_i - mean)^2)\nKnuth, \"The Art of Computer Programming\", Vol. 2, page 323, 3rd edition describes Welford's method for accumulating this sum in one pass.If count is zero then this field must be zero.", + "type": "number" + }, + "range": { + "$ref": "Range", + "description": "If specified, contains the range of the population values. The field must not be present if the count is zero. This field is presently ignored by the Stackdriver Monitoring API v3." + }, + "mean": { + "type": "number", + "format": "double", + "description": "The arithmetic mean of the values in the population. If count is zero then this field must be zero." + }, + "count": { + "format": "int64", + "description": "The number of values in the population. Must be non-negative. This value must equal the sum of the values in bucket_counts if a histogram is provided.", + "type": "string" + }, + "bucketCounts": { + "description": "Required in the Stackdriver Monitoring API v3. The values for each bucket specified in bucket_options. The sum of the values in bucketCounts must equal the value in the count field of the Distribution object. The order of the bucket counts follows the numbering schemes described for the three bucket types. The underflow bucket has number 0; the finite buckets, if any, have numbers 1 through N-2; and the overflow bucket has number N-1. The size of bucket_counts must not be greater than N. If the size is less than N, then the remaining buckets are assigned values of zero.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "bucketOptions": { + "$ref": "BucketOptions", + "description": "Required in the Stackdriver Monitoring API v3. Defines the histogram bucket boundaries." + } + }, + "id": "Distribution" + }, + "MonitoredResource": { + "description": "An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The type field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the labels field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for \"gce_instance\" has labels \"instance_id\" and \"zone\":\n{ \"type\": \"gce_instance\",\n \"labels\": { \"instance_id\": \"12345678901234\",\n \"zone\": \"us-central1-a\" }}\n", + "type": "object", + "properties": { + "type": { + "description": "Required. The monitored resource type. This field must match the type field of a MonitoredResourceDescriptor object. For example, the type of a Compute Engine VM instance is gce_instance.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels \"project_id\", \"instance_id\", and \"zone\".", + "type": "object" + } + }, + "id": "MonitoredResource" + }, + "ListMetricDescriptorsResponse": { + "properties": { + "nextPageToken": { + "description": "If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as pageToken in the next call to this method.", + "type": "string" + }, + "metricDescriptors": { + "description": "The metric descriptors that are available to the project and that match the value of filter, if present.", + "items": { + "$ref": "MetricDescriptor" + }, + "type": "array" + } + }, + "id": "ListMetricDescriptorsResponse", + "description": "The ListMetricDescriptors response.", + "type": "object" + }, + "CollectdPayloadError": { + "type": "object", + "properties": { + "index": { + "format": "int32", + "description": "The zero-based index in CreateCollectdTimeSeriesRequest.collectd_payloads.", + "type": "integer" + }, + "valueErrors": { + "items": { + "$ref": "CollectdValueError" + }, + "type": "array", + "description": "Records the error status for values that were not written due to an error.Failed payloads for which nothing is written will not include partial value errors." + }, + "error": { + "$ref": "Status", + "description": "Records the error status for the payload. If this field is present, the partial errors for nested values won't be populated." + } + }, + "id": "CollectdPayloadError", + "description": "Describes the error status for payloads that were not written." + }, + "MonitoredResourceDescriptor": { + "description": "An object that describes the schema of a MonitoredResource object using a type name and a set of labels. For example, the monitored resource descriptor for Google Compute Engine VM instances has a type of \"gce_instance\" and specifies the use of the labels \"instance_id\" and \"zone\" to identify particular VM instances.Different APIs can support different monitored resource types. APIs generally provide a list method that returns the monitored resource descriptors used by the API.", + "type": "object", + "properties": { + "name": { + "description": "Optional. The resource name of the monitored resource descriptor: \"projects/{project_id}/monitoredResourceDescriptors/{type}\" where {type} is the value of the type field in this object and {project_id} is a project ID that provides API-specific context for accessing the type. APIs that do not use project information can use the resource name format \"monitoredResourceDescriptors/{type}\".", + "type": "string" + }, + "description": { + "description": "Optional. A detailed description of the monitored resource type that might be used in documentation.", + "type": "string" + }, + "displayName": { + "type": "string", + "description": "Optional. A concise name for the monitored resource type that might be displayed in user interfaces. It should be a Title Cased Noun Phrase, without any article or other determiners. For example, \"Google Cloud SQL Database\"." + }, + "type": { + "description": "Required. The monitored resource type. For example, the type \"cloudsql_database\" represents databases in Google Cloud SQL. The maximum length of this value is 256 characters.", + "type": "string" + }, + "labels": { + "description": "Required. A set of labels used to describe instances of this monitored resource type. For example, an individual Google Cloud SQL database is identified by values for the labels \"database_id\" and \"zone\".", + "items": { + "$ref": "LabelDescriptor" + }, + "type": "array" + } + }, + "id": "MonitoredResourceDescriptor" + }, + "TypedValue": { + "properties": { + "doubleValue": { + "type": "number", + "format": "double", + "description": "A 64-bit double-precision floating-point number. Its magnitude is approximately ±10\u003csup\u003e±300\u003c/sup\u003e and it has 16 significant digits of precision." + }, + "int64Value": { + "format": "int64", + "description": "A 64-bit integer. Its range is approximately ±9.2x10\u003csup\u003e18\u003c/sup\u003e.", + "type": "string" + }, + "distributionValue": { + "description": "A distribution value.", + "$ref": "Distribution" + }, + "stringValue": { + "description": "A variable-length string value.", + "type": "string" + }, + "boolValue": { + "description": "A Boolean value: true or false.", + "type": "boolean" + } + }, + "id": "TypedValue", + "description": "A single strongly-typed value.", + "type": "object" + }, + "CollectdValueError": { + "description": "Describes the error status for values that were not written.", + "type": "object", + "properties": { + "index": { + "format": "int32", + "description": "The zero-based index in CollectdPayload.values within the parent CreateCollectdTimeSeriesRequest.collectd_payloads.", + "type": "integer" + }, + "error": { + "$ref": "Status", + "description": "Records the error status for the value." + } + }, + "id": "CollectdValueError" + }, + "CollectdPayload": { + "description": "A collection of data points sent from a collectd-based plugin. See the collectd documentation for more information.", + "type": "object", + "properties": { + "startTime": { + "type": "string", + "format": "google-datetime", + "description": "The start time of the interval." + }, + "values": { + "description": "The measured values during this time interval. Each value must have a different dataSourceName.", + "items": { + "$ref": "CollectdValue" + }, + "type": "array" + }, + "typeInstance": { + "description": "The measurement type instance. Example: \"used\".", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "$ref": "TypedValue" + }, + "description": "The measurement metadata. Example: \"process_id\" -\u003e 12345", + "type": "object" + }, + "type": { + "description": "The measurement type. Example: \"memory\".", + "type": "string" + }, + "plugin": { + "description": "The name of the plugin. Example: \"disk\".", + "type": "string" + }, + "pluginInstance": { + "description": "The instance name of the plugin Example: \"hdcl\".", + "type": "string" + }, + "endTime": { + "type": "string", + "format": "google-datetime", + "description": "The end time of the interval." + } + }, + "id": "CollectdPayload" + }, + "CreateCollectdTimeSeriesResponse": { + "properties": { + "payloadErrors": { + "description": "Records the error status for points that were not written due to an error.Failed requests for which nothing is written will return an error response instead.", + "items": { + "$ref": "CollectdPayloadError" + }, + "type": "array" + } + }, + "id": "CreateCollectdTimeSeriesResponse", + "description": "The CreateCollectdTimeSeries response.", + "type": "object" + }, + "Linear": { + "description": "Specifies a linear sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 \u003c= i \u003c N-1): offset + (width * i). Lower bound (1 \u003c= i \u003c N): offset + (width * (i - 1)).", + "type": "object", + "properties": { + "offset": { + "format": "double", + "description": "Lower bound of the first bucket.", + "type": "number" + }, + "numFiniteBuckets": { + "format": "int32", + "description": "Must be greater than 0.", + "type": "integer" + }, + "width": { + "format": "double", + "description": "Must be greater than 0.", + "type": "number" + } + }, + "id": "Linear" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance:\nservice Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n}\nThe JSON representation for Empty is empty JSON object {}.", + "type": "object", + "properties": {}, + "id": "Empty" + }, + "Option": { + "description": "A protocol buffer option, which can be attached to a message, field, enumeration, etc.", + "type": "object", + "properties": { + "value": { + "description": "The option's value packed in an Any message. If the value is a primitive, the corresponding wrapper type defined in google/protobuf/wrappers.proto should be used. If the value is an enum, it should be stored as an int32 value using the google.protobuf.Int32Value type.", + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @type with type URL." + } + }, + "name": { + "description": "The option's name. For protobuf built-in options (options defined in descriptor.proto), this is the short name. For example, \"map_entry\". For custom options, it should be the fully-qualified name. For example, \"google.api.http\".", + "type": "string" + } + }, + "id": "Option" + }, + "Explicit": { + "description": "Specifies a set of buckets with arbitrary widths.There are size(bounds) + 1 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 \u003c= i \u003c N-1): boundsi Lower bound (1 \u003c= i \u003c N); boundsi - 1The bounds field must contain at least one element. If bounds has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets.", + "type": "object", + "properties": { + "bounds": { + "description": "The values must be monotonically increasing.", + "items": { + "format": "double", + "type": "number" + }, + "type": "array" + } + }, + "id": "Explicit" + }, + "TimeInterval": { + "type": "object", + "properties": { + "endTime": { + "format": "google-datetime", + "description": "Required. The end of the time interval.", + "type": "string" + }, + "startTime": { + "format": "google-datetime", + "description": "Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time.", + "type": "string" + } + }, + "id": "TimeInterval", + "description": "A time interval extending just after a start time through an end time. If the start time is the same as the end time, then the interval represents a single point in time." + }, + "Exponential": { + "description": "Specifies an exponential sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 \u003c= i \u003c N-1): scale * (growth_factor ^ i). Lower bound (1 \u003c= i \u003c N): scale * (growth_factor ^ (i - 1)).", + "type": "object", + "properties": { + "growthFactor": { + "format": "double", + "description": "Must be greater than 1.", + "type": "number" + }, + "scale": { + "format": "double", + "description": "Must be greater than 0.", + "type": "number" + }, + "numFiniteBuckets": { + "type": "integer", + "format": "int32", + "description": "Must be greater than 0." + } + }, + "id": "Exponential" + }, + "Point": { + "type": "object", + "properties": { + "value": { + "$ref": "TypedValue", + "description": "The value of the data point." + }, + "interval": { + "$ref": "TimeInterval", + "description": "The time interval to which the data point applies. For GAUGE metrics, only the end time of the interval is used. For DELTA metrics, the start and end time should specify a non-zero interval, with subsequent points specifying contiguous and non-overlapping intervals. For CUMULATIVE metrics, the start and end time should specify a non-zero interval, with subsequent points specifying the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points." + } + }, + "id": "Point", + "description": "A single data point in a time series." + }, + "Field": { + "description": "A single field of a message type.", + "type": "object", + "properties": { + "packed": { + "description": "Whether to use alternative packed wire representation.", + "type": "boolean" + }, + "cardinality": { + "description": "The field cardinality.", + "type": "string", + "enumDescriptions": [ + "For fields with unknown cardinality.", + "For optional fields.", + "For required fields. Proto2 syntax only.", + "For repeated fields." + ], + "enum": [ + "CARDINALITY_UNKNOWN", + "CARDINALITY_OPTIONAL", + "CARDINALITY_REQUIRED", + "CARDINALITY_REPEATED" + ] + }, + "defaultValue": { + "description": "The string value of the default value of this field. Proto2 syntax only.", + "type": "string" + }, + "name": { + "description": "The field name.", + "type": "string" + }, + "typeUrl": { + "description": "The field type URL, without the scheme, for message or enumeration types. Example: \"type.googleapis.com/google.protobuf.Timestamp\".", + "type": "string" + }, + "number": { + "format": "int32", + "description": "The field number.", + "type": "integer" + }, + "jsonName": { + "description": "The field JSON name.", + "type": "string" + }, + "kind": { + "enumDescriptions": [ + "Field type unknown.", + "Field type double.", + "Field type float.", + "Field type int64.", + "Field type uint64.", + "Field type int32.", + "Field type fixed64.", + "Field type fixed32.", + "Field type bool.", + "Field type string.", + "Field type group. Proto2 syntax only, and deprecated.", + "Field type message.", + "Field type bytes.", + "Field type uint32.", + "Field type enum.", + "Field type sfixed32.", + "Field type sfixed64.", + "Field type sint32.", + "Field type sint64." + ], + "enum": [ + "TYPE_UNKNOWN", + "TYPE_DOUBLE", + "TYPE_FLOAT", + "TYPE_INT64", + "TYPE_UINT64", + "TYPE_INT32", + "TYPE_FIXED64", + "TYPE_FIXED32", + "TYPE_BOOL", + "TYPE_STRING", + "TYPE_GROUP", + "TYPE_MESSAGE", + "TYPE_BYTES", + "TYPE_UINT32", + "TYPE_ENUM", + "TYPE_SFIXED32", + "TYPE_SFIXED64", + "TYPE_SINT32", + "TYPE_SINT64" + ], + "description": "The field type.", + "type": "string" + }, + "options": { + "description": "The protocol buffer options.", + "items": { + "$ref": "Option" + }, + "type": "array" + }, + "oneofIndex": { + "format": "int32", + "description": "The index of the field type in Type.oneofs, for message or enumeration types. The first type has index 1; zero means the type is not in the list.", + "type": "integer" + } + }, + "id": "Field" + }, + "Metric": { + "description": "A specific metric, identified by specifying values for all of the labels of a MetricDescriptor.", + "type": "object", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "The set of label values that uniquely identify this metric. All labels listed in the MetricDescriptor must be assigned values.", + "type": "object" + }, + "type": { + "description": "An existing metric type, see google.api.MetricDescriptor. For example, custom.googleapis.com/invoice/paid/amount.", + "type": "string" + } + }, + "id": "Metric" } }, - "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" - }, "protocol": "rest", + "icons": { + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" + }, "canonicalName": "Monitoring", "auth": { "oauth2": { @@ -883,517 +967,57 @@ "ownerDomain": "google.com", "name": "monitoring", "batchPath": "batch", + "fullyEncodeReservedExpansion": true, "title": "Stackdriver Monitoring API", "ownerName": "Google", "resources": { "projects": { "resources": { - "metricDescriptors": { - "methods": { - "get": { - "id": "monitoring.projects.metricDescriptors.get", - "path": "v3/{+name}", - "description": "Gets a single metric descriptor. This method does not require a Stackdriver account.", - "response": { - "$ref": "MetricDescriptor" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "parameters": { - "name": { - "pattern": "^projects/[^/]+/metricDescriptors/.+$", - "location": "path", - "description": "The metric descriptor on which to execute the request. The format is \"projects/{project_id_or_number}/metricDescriptors/{metric_id}\". An example value of {metric_id} is \"compute.googleapis.com/instance/disk/read_bytes_count\".", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read", - "https://www.googleapis.com/auth/monitoring.write" - ], - "flatPath": "v3/projects/{projectsId}/metricDescriptors/{metricDescriptorsId}" - }, - "list": { - "response": { - "$ref": "ListMetricDescriptorsResponse" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "parameters": { - "pageSize": { - "location": "query", - "format": "int32", - "description": "A positive number that is the maximum number of results to return.", - "type": "integer" - }, - "filter": { - "description": "If this field is empty, all custom and system-defined metric descriptors are returned. Otherwise, the filter specifies which metric descriptors are to be returned. For example, the following filter matches all custom metrics:\nmetric.type = starts_with(\"custom.googleapis.com/\")\n", - "type": "string", - "location": "query" - }, - "pageToken": { - "description": "If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.", - "type": "string", - "location": "query" - }, - "name": { - "pattern": "^projects/[^/]+$", - "location": "path", - "description": "The project on which to execute the request. The format is \"projects/{project_id_or_number}\".", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read", - "https://www.googleapis.com/auth/monitoring.write" - ], - "flatPath": "v3/projects/{projectsId}/metricDescriptors", - "id": "monitoring.projects.metricDescriptors.list", - "path": "v3/{+name}/metricDescriptors", - "description": "Lists metric descriptors that match a filter. This method does not require a Stackdriver account." - }, - "create": { - "id": "monitoring.projects.metricDescriptors.create", - "path": "v3/{+name}/metricDescriptors", - "request": { - "$ref": "MetricDescriptor" - }, - "description": "Creates a new metric descriptor. User-created metric descriptors define custom metrics.", - "response": { - "$ref": "MetricDescriptor" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.write" - ], - "parameters": { - "name": { - "description": "The project on which to execute the request. The format is \"projects/{project_id_or_number}\".", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path" - } - }, - "flatPath": "v3/projects/{projectsId}/metricDescriptors" - }, - "delete": { - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring" - ], - "parameters": { - "name": { - "description": "The metric descriptor on which to execute the request. The format is \"projects/{project_id_or_number}/metricDescriptors/{metric_id}\". An example of {metric_id} is: \"custom.googleapis.com/my_test_metric\".", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/metricDescriptors/.+$", - "location": "path" - } - }, - "flatPath": "v3/projects/{projectsId}/metricDescriptors/{metricDescriptorsId}", - "id": "monitoring.projects.metricDescriptors.delete", - "path": "v3/{+name}", - "description": "Deletes a metric descriptor. Only user-created custom metrics can be deleted." - } - } - }, - "monitoredResourceDescriptors": { - "methods": { - "get": { - "httpMethod": "GET", - "response": { - "$ref": "MonitoredResourceDescriptor" - }, - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "location": "path", - "description": "The monitored resource descriptor to get. The format is \"projects/{project_id_or_number}/monitoredResourceDescriptors/{resource_type}\". The {resource_type} is a predefined type, such as cloudsql_database.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/monitoredResourceDescriptors/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read", - "https://www.googleapis.com/auth/monitoring.write" - ], - "flatPath": "v3/projects/{projectsId}/monitoredResourceDescriptors/{monitoredResourceDescriptorsId}", - "path": "v3/{+name}", - "id": "monitoring.projects.monitoredResourceDescriptors.get", - "description": "Gets a single monitored resource descriptor. This method does not require a Stackdriver account." - }, - "list": { - "httpMethod": "GET", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "ListMonitoredResourceDescriptorsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read", - "https://www.googleapis.com/auth/monitoring.write" - ], - "parameters": { - "filter": { - "location": "query", - "description": "An optional filter describing the descriptors to be returned. The filter can reference the descriptor's type and labels. For example, the following filter returns only Google Compute Engine descriptors that have an id label:\nresource.type = starts_with(\"gce_\") AND resource.label:id\n", - "type": "string" - }, - "pageToken": { - "type": "string", - "location": "query", - "description": "If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call." - }, - "name": { - "location": "path", - "description": "The project on which to execute the request. The format is \"projects/{project_id_or_number}\".", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$" - }, - "pageSize": { - "format": "int32", - "description": "A positive number that is the maximum number of results to return.", - "type": "integer", - "location": "query" - } - }, - "flatPath": "v3/projects/{projectsId}/monitoredResourceDescriptors", - "path": "v3/{+name}/monitoredResourceDescriptors", - "id": "monitoring.projects.monitoredResourceDescriptors.list", - "description": "Lists monitored resource descriptors that match a filter. This method does not require a Stackdriver account." - } - } - }, - "groups": { - "methods": { - "get": { - "description": "Gets a single group.", - "httpMethod": "GET", - "response": { - "$ref": "Group" - }, - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "pattern": "^projects/[^/]+/groups/[^/]+$", - "location": "path", - "description": "The group to retrieve. The format is \"projects/{project_id_or_number}/groups/{group_id}\".", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read" - ], - "flatPath": "v3/projects/{projectsId}/groups/{groupsId}", - "path": "v3/{+name}", - "id": "monitoring.projects.groups.get" - }, - "list": { - "flatPath": "v3/projects/{projectsId}/groups", - "path": "v3/{+name}/groups", - "id": "monitoring.projects.groups.list", - "description": "Lists the existing groups.", - "httpMethod": "GET", - "response": { - "$ref": "ListGroupsResponse" - }, - "parameterOrder": [ - "name" - ], - "parameters": { - "pageToken": { - "type": "string", - "location": "query", - "description": "If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call." - }, - "pageSize": { - "format": "int32", - "description": "A positive number that is the maximum number of results to return.", - "type": "integer", - "location": "query" - }, - "ancestorsOfGroup": { - "location": "query", - "description": "A group name: \"projects/{project_id_or_number}/groups/{group_id}\". Returns groups that are ancestors of the specified group. The groups are returned in order, starting with the immediate parent and ending with the most distant ancestor. If the specified group has no immediate parent, the results are empty.", - "type": "string" - }, - "name": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path", - "description": "The project whose groups are to be listed. The format is \"projects/{project_id_or_number}\"." - }, - "childrenOfGroup": { - "description": "A group name: \"projects/{project_id_or_number}/groups/{group_id}\". Returns groups whose parentName field contains the group name. If no groups have this parent, the results are empty.", - "type": "string", - "location": "query" - }, - "descendantsOfGroup": { - "type": "string", - "location": "query", - "description": "A group name: \"projects/{project_id_or_number}/groups/{group_id}\". Returns the descendants of the specified group. This is a superset of the results returned by the childrenOfGroup filter, and includes children-of-children, and so forth." - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read" - ] - }, - "update": { - "httpMethod": "PUT", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "Group" - }, - "parameters": { - "validateOnly": { - "location": "query", - "description": "If true, validate this request but do not update the existing group.", - "type": "boolean" - }, - "name": { - "description": "Output only. The name of this group. The format is \"projects/{project_id_or_number}/groups/{group_id}\". When creating a group, this field is ignored and a new name is created consisting of the project specified in the call to CreateGroup and a unique {group_id} that is generated automatically.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/groups/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring" - ], - "flatPath": "v3/projects/{projectsId}/groups/{groupsId}", - "path": "v3/{+name}", - "id": "monitoring.projects.groups.update", - "description": "Updates an existing group. You can change any group attributes except name.", - "request": { - "$ref": "Group" - } - }, - "create": { - "request": { - "$ref": "Group" - }, - "description": "Creates a new group.", - "httpMethod": "POST", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "Group" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring" - ], - "parameters": { - "validateOnly": { - "location": "query", - "description": "If true, validate this request but do not create the group.", - "type": "boolean" - }, - "name": { - "description": "The project in which to create the group. The format is \"projects/{project_id_or_number}\".", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path" - } - }, - "flatPath": "v3/projects/{projectsId}/groups", - "path": "v3/{+name}/groups", - "id": "monitoring.projects.groups.create" - }, - "delete": { - "flatPath": "v3/projects/{projectsId}/groups/{groupsId}", - "id": "monitoring.projects.groups.delete", - "path": "v3/{+name}", - "description": "Deletes an existing group.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring" - ], - "parameters": { - "name": { - "pattern": "^projects/[^/]+/groups/[^/]+$", - "location": "path", - "description": "The group to delete. The format is \"projects/{project_id_or_number}/groups/{group_id}\".", - "type": "string", - "required": true - } - } - } - }, - "resources": { - "members": { - "methods": { - "list": { - "description": "Lists the monitored resources that are members of a group.", - "httpMethod": "GET", - "response": { - "$ref": "ListGroupMembersResponse" - }, - "parameterOrder": [ - "name" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.read" - ], - "parameters": { - "filter": { - "location": "query", - "description": "An optional list filter describing the members to be returned. The filter may reference the type, labels, and metadata of monitored resources that comprise the group. For example, to return only resources representing Compute Engine VM instances, use this filter:\nresource.type = \"gce_instance\"\n", - "type": "string" - }, - "pageToken": { - "location": "query", - "description": "If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.", - "type": "string" - }, - "interval.startTime": { - "format": "google-datetime", - "description": "Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time.", - "type": "string", - "location": "query" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "A positive number that is the maximum number of results to return.", - "type": "integer" - }, - "name": { - "pattern": "^projects/[^/]+/groups/[^/]+$", - "location": "path", - "description": "The group whose members are listed. The format is \"projects/{project_id_or_number}/groups/{group_id}\".", - "type": "string", - "required": true - }, - "interval.endTime": { - "format": "google-datetime", - "description": "Required. The end of the time interval.", - "type": "string", - "location": "query" - } - }, - "flatPath": "v3/projects/{projectsId}/groups/{groupsId}/members", - "path": "v3/{+name}/members", - "id": "monitoring.projects.groups.members.list" - } - } - } - } - }, - "collectdTimeSeries": { - "methods": { - "create": { - "httpMethod": "POST", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/monitoring", - "https://www.googleapis.com/auth/monitoring.write" - ], - "parameters": { - "name": { - "location": "path", - "description": "The project in which to create the time series. The format is \"projects/PROJECT_ID_OR_NUMBER\".", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$" - } - }, - "flatPath": "v3/projects/{projectsId}/collectdTimeSeries", - "path": "v3/{+name}/collectdTimeSeries", - "id": "monitoring.projects.collectdTimeSeries.create", - "request": { - "$ref": "CreateCollectdTimeSeriesRequest" - }, - "description": "Stackdriver Monitoring Agent only: Creates a new time series.\u003caside class=\"caution\"\u003eThis method is only for use by the Stackdriver Monitoring Agent. Use projects.timeSeries.create instead.\u003c/aside\u003e" - } - } - }, "timeSeries": { "methods": { + "create": { + "request": { + "$ref": "CreateTimeSeriesRequest" + }, + "description": "Creates or adds data to one or more time series. The response is empty if all time series in the request were written. If any time series could not be written, a corresponding failure message is included in the error response.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/monitoring.write" + ], + "parameters": { + "name": { + "description": "The project on which to execute the request. The format is \"projects/{project_id_or_number}\".", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + } + }, + "flatPath": "v3/projects/{projectsId}/timeSeries", + "id": "monitoring.projects.timeSeries.create", + "path": "v3/{+name}/timeSeries" + }, "list": { + "flatPath": "v3/projects/{projectsId}/timeSeries", + "id": "monitoring.projects.timeSeries.list", + "path": "v3/{+name}/timeSeries", "description": "Lists time series that match a filter. This method does not require a Stackdriver account.", - "httpMethod": "GET", "response": { "$ref": "ListTimeSeriesResponse" }, "parameterOrder": [ "name" ], + "httpMethod": "GET", "parameters": { - "name": { - "location": "path", - "description": "The project on which to execute the request. The format is \"projects/{project_id_or_number}\".", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$" - }, - "aggregation.groupByFields": { - "type": "string", - "repeated": true, - "location": "query", - "description": "The set of fields to preserve when crossSeriesReducer is specified. The groupByFields determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The crossSeriesReducer is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in groupByFields are aggregated away. If groupByFields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If crossSeriesReducer is not defined, this field is ignored." - }, "interval.endTime": { "format": "google-datetime", "description": "Required. The end of the time interval.", @@ -1407,10 +1031,10 @@ "type": "string" }, "pageSize": { - "location": "query", "format": "int32", "description": "A positive number that is the maximum number of results to return. When view field sets to FULL, it limits the number of Points server will return; if view field is HEADERS, it limits the number of TimeSeries server will return.", - "type": "integer" + "type": "integer", + "location": "query" }, "orderBy": { "location": "query", @@ -1418,8 +1042,6 @@ "type": "string" }, "aggregation.crossSeriesReducer": { - "description": "The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series.Time series data must be aligned in order to perform cross-time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned.", - "type": "string", "location": "query", "enum": [ "REDUCE_NONE", @@ -1435,12 +1057,14 @@ "REDUCE_PERCENTILE_95", "REDUCE_PERCENTILE_50", "REDUCE_PERCENTILE_05" - ] + ], + "description": "The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series.Time series data must be aligned in order to perform cross-time series reduction. If crossSeriesReducer is specified, then perSeriesAligner must be specified and not equal ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error is returned.", + "type": "string" }, "filter": { - "type": "string", "location": "query", - "description": "A monitoring filter that specifies which time series should be returned. The filter must specify a single metric type, and can additionally specify metric labels and other information. For example:\nmetric.type = \"compute.googleapis.com/instance/cpu/usage_time\" AND\n metric.label.instance_name = \"my-instance-name\"\n" + "description": "A monitoring filter that specifies which time series should be returned. The filter must specify a single metric type, and can additionally specify metric labels and other information. For example:\nmetric.type = \"compute.googleapis.com/instance/cpu/usage_time\" AND\n metric.label.instance_name = \"my-instance-name\"\n", + "type": "string" }, "aggregation.perSeriesAligner": { "location": "query", @@ -1467,16 +1091,16 @@ "type": "string" }, "pageToken": { - "type": "string", - "location": "query", - "description": "If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call." - }, - "interval.startTime": { - "format": "google-datetime", - "description": "Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time.", + "description": "If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.", "type": "string", "location": "query" }, + "interval.startTime": { + "location": "query", + "format": "google-datetime", + "description": "Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time.", + "type": "string" + }, "view": { "description": "Specifies which information is returned about the time series.", "type": "string", @@ -1485,6 +1109,334 @@ "FULL", "HEADERS" ] + }, + "aggregation.groupByFields": { + "location": "query", + "description": "The set of fields to preserve when crossSeriesReducer is specified. The groupByFields determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The crossSeriesReducer is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in groupByFields are aggregated away. If groupByFields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If crossSeriesReducer is not defined, this field is ignored.", + "type": "string", + "repeated": true + }, + "name": { + "description": "The project on which to execute the request. The format is \"projects/{project_id_or_number}\".", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/monitoring.read" + ] + } + } + }, + "metricDescriptors": { + "methods": { + "delete": { + "flatPath": "v3/projects/{projectsId}/metricDescriptors/{metricDescriptorsId}", + "id": "monitoring.projects.metricDescriptors.delete", + "path": "v3/{+name}", + "description": "Deletes a metric descriptor. Only user-created custom metrics can be deleted.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring" + ], + "parameters": { + "name": { + "pattern": "^projects/[^/]+/metricDescriptors/.+$", + "location": "path", + "description": "The metric descriptor on which to execute the request. The format is \"projects/{project_id_or_number}/metricDescriptors/{metric_id}\". An example of {metric_id} is: \"custom.googleapis.com/my_test_metric\".", + "type": "string", + "required": true + } + } + }, + "get": { + "flatPath": "v3/projects/{projectsId}/metricDescriptors/{metricDescriptorsId}", + "id": "monitoring.projects.metricDescriptors.get", + "path": "v3/{+name}", + "description": "Gets a single metric descriptor. This method does not require a Stackdriver account.", + "response": { + "$ref": "MetricDescriptor" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The metric descriptor on which to execute the request. The format is \"projects/{project_id_or_number}/metricDescriptors/{metric_id}\". An example value of {metric_id} is \"compute.googleapis.com/instance/disk/read_bytes_count\".", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/metricDescriptors/.+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/monitoring.read", + "https://www.googleapis.com/auth/monitoring.write" + ] + }, + "list": { + "description": "Lists metric descriptors that match a filter. This method does not require a Stackdriver account.", + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "ListMetricDescriptorsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/monitoring.read", + "https://www.googleapis.com/auth/monitoring.write" + ], + "parameters": { + "filter": { + "description": "If this field is empty, all custom and system-defined metric descriptors are returned. Otherwise, the filter specifies which metric descriptors are to be returned. For example, the following filter matches all custom metrics:\nmetric.type = starts_with(\"custom.googleapis.com/\")\n", + "type": "string", + "location": "query" + }, + "pageToken": { + "location": "query", + "description": "If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.", + "type": "string" + }, + "name": { + "location": "path", + "description": "The project on which to execute the request. The format is \"projects/{project_id_or_number}\".", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$" + }, + "pageSize": { + "type": "integer", + "location": "query", + "format": "int32", + "description": "A positive number that is the maximum number of results to return." + } + }, + "flatPath": "v3/projects/{projectsId}/metricDescriptors", + "path": "v3/{+name}/metricDescriptors", + "id": "monitoring.projects.metricDescriptors.list" + }, + "create": { + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "MetricDescriptor" + }, + "parameters": { + "name": { + "location": "path", + "description": "The project on which to execute the request. The format is \"projects/{project_id_or_number}\".", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/monitoring.write" + ], + "flatPath": "v3/projects/{projectsId}/metricDescriptors", + "path": "v3/{+name}/metricDescriptors", + "id": "monitoring.projects.metricDescriptors.create", + "description": "Creates a new metric descriptor. User-created metric descriptors define custom metrics.", + "request": { + "$ref": "MetricDescriptor" + } + } + } + }, + "monitoredResourceDescriptors": { + "methods": { + "get": { + "description": "Gets a single monitored resource descriptor. This method does not require a Stackdriver account.", + "httpMethod": "GET", + "response": { + "$ref": "MonitoredResourceDescriptor" + }, + "parameterOrder": [ + "name" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/monitoring.read", + "https://www.googleapis.com/auth/monitoring.write" + ], + "parameters": { + "name": { + "pattern": "^projects/[^/]+/monitoredResourceDescriptors/[^/]+$", + "location": "path", + "description": "The monitored resource descriptor to get. The format is \"projects/{project_id_or_number}/monitoredResourceDescriptors/{resource_type}\". The {resource_type} is a predefined type, such as cloudsql_database.", + "type": "string", + "required": true + } + }, + "flatPath": "v3/projects/{projectsId}/monitoredResourceDescriptors/{monitoredResourceDescriptorsId}", + "path": "v3/{+name}", + "id": "monitoring.projects.monitoredResourceDescriptors.get" + }, + "list": { + "response": { + "$ref": "ListMonitoredResourceDescriptorsResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "pageToken": { + "description": "If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.", + "type": "string", + "location": "query" + }, + "name": { + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "The project on which to execute the request. The format is \"projects/{project_id_or_number}\".", + "type": "string", + "required": true + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "A positive number that is the maximum number of results to return.", + "type": "integer" + }, + "filter": { + "location": "query", + "description": "An optional filter describing the descriptors to be returned. The filter can reference the descriptor's type and labels. For example, the following filter returns only Google Compute Engine descriptors that have an id label:\nresource.type = starts_with(\"gce_\") AND resource.label:id\n", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/monitoring.read", + "https://www.googleapis.com/auth/monitoring.write" + ], + "flatPath": "v3/projects/{projectsId}/monitoredResourceDescriptors", + "id": "monitoring.projects.monitoredResourceDescriptors.list", + "path": "v3/{+name}/monitoredResourceDescriptors", + "description": "Lists monitored resource descriptors that match a filter. This method does not require a Stackdriver account." + } + } + }, + "groups": { + "methods": { + "delete": { + "description": "Deletes an existing group.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The group to delete. The format is \"projects/{project_id_or_number}/groups/{group_id}\".", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/groups/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring" + ], + "flatPath": "v3/projects/{projectsId}/groups/{groupsId}", + "id": "monitoring.projects.groups.delete", + "path": "v3/{+name}" + }, + "get": { + "description": "Gets a single group.", + "response": { + "$ref": "Group" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/monitoring.read" + ], + "parameters": { + "name": { + "pattern": "^projects/[^/]+/groups/[^/]+$", + "location": "path", + "description": "The group to retrieve. The format is \"projects/{project_id_or_number}/groups/{group_id}\".", + "type": "string", + "required": true + } + }, + "flatPath": "v3/projects/{projectsId}/groups/{groupsId}", + "id": "monitoring.projects.groups.get", + "path": "v3/{+name}" + }, + "list": { + "description": "Lists the existing groups.", + "response": { + "$ref": "ListGroupsResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "childrenOfGroup": { + "location": "query", + "description": "A group name: \"projects/{project_id_or_number}/groups/{group_id}\". Returns groups whose parentName field contains the group name. If no groups have this parent, the results are empty.", + "type": "string" + }, + "descendantsOfGroup": { + "type": "string", + "location": "query", + "description": "A group name: \"projects/{project_id_or_number}/groups/{group_id}\". Returns the descendants of the specified group. This is a superset of the results returned by the childrenOfGroup filter, and includes children-of-children, and so forth." + }, + "pageToken": { + "description": "If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.", + "type": "string", + "location": "query" + }, + "pageSize": { + "format": "int32", + "description": "A positive number that is the maximum number of results to return.", + "type": "integer", + "location": "query" + }, + "ancestorsOfGroup": { + "type": "string", + "location": "query", + "description": "A group name: \"projects/{project_id_or_number}/groups/{group_id}\". Returns groups that are ancestors of the specified group. The groups are returned in order, starting with the immediate parent and ending with the most distant ancestor. If the specified group has no immediate parent, the results are empty." + }, + "name": { + "description": "The project whose groups are to be listed. The format is \"projects/{project_id_or_number}\".", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" } }, "scopes": [ @@ -1492,19 +1444,146 @@ "https://www.googleapis.com/auth/monitoring", "https://www.googleapis.com/auth/monitoring.read" ], - "flatPath": "v3/projects/{projectsId}/timeSeries", - "path": "v3/{+name}/timeSeries", - "id": "monitoring.projects.timeSeries.list" + "flatPath": "v3/projects/{projectsId}/groups", + "id": "monitoring.projects.groups.list", + "path": "v3/{+name}/groups" + }, + "update": { + "description": "Updates an existing group. You can change any group attributes except name.", + "request": { + "$ref": "Group" + }, + "response": { + "$ref": "Group" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PUT", + "parameters": { + "validateOnly": { + "location": "query", + "description": "If true, validate this request but do not update the existing group.", + "type": "boolean" + }, + "name": { + "location": "path", + "description": "Output only. The name of this group. The format is \"projects/{project_id_or_number}/groups/{group_id}\". When creating a group, this field is ignored and a new name is created consisting of the project specified in the call to CreateGroup and a unique {group_id} that is generated automatically.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/groups/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring" + ], + "flatPath": "v3/projects/{projectsId}/groups/{groupsId}", + "id": "monitoring.projects.groups.update", + "path": "v3/{+name}" }, "create": { - "id": "monitoring.projects.timeSeries.create", - "path": "v3/{+name}/timeSeries", "request": { - "$ref": "CreateTimeSeriesRequest" + "$ref": "Group" }, - "description": "Creates or adds data to one or more time series. The response is empty if all time series in the request were written. If any time series could not be written, a corresponding failure message is included in the error response.", + "description": "Creates a new group.", "response": { - "$ref": "Empty" + "$ref": "Group" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring" + ], + "parameters": { + "validateOnly": { + "location": "query", + "description": "If true, validate this request but do not create the group.", + "type": "boolean" + }, + "name": { + "description": "The project in which to create the group. The format is \"projects/{project_id_or_number}\".", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + } + }, + "flatPath": "v3/projects/{projectsId}/groups", + "id": "monitoring.projects.groups.create", + "path": "v3/{+name}/groups" + } + }, + "resources": { + "members": { + "methods": { + "list": { + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "ListGroupMembersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/monitoring", + "https://www.googleapis.com/auth/monitoring.read" + ], + "parameters": { + "name": { + "description": "The group whose members are listed. The format is \"projects/{project_id_or_number}/groups/{group_id}\".", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/groups/[^/]+$", + "location": "path" + }, + "interval.endTime": { + "format": "google-datetime", + "description": "Required. The end of the time interval.", + "type": "string", + "location": "query" + }, + "filter": { + "description": "An optional list filter describing the members to be returned. The filter may reference the type, labels, and metadata of monitored resources that comprise the group. For example, to return only resources representing Compute Engine VM instances, use this filter:\nresource.type = \"gce_instance\"\n", + "type": "string", + "location": "query" + }, + "pageToken": { + "description": "If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.", + "type": "string", + "location": "query" + }, + "interval.startTime": { + "format": "google-datetime", + "description": "Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time.", + "type": "string", + "location": "query" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "A positive number that is the maximum number of results to return.", + "type": "integer" + } + }, + "flatPath": "v3/projects/{projectsId}/groups/{groupsId}/members", + "path": "v3/{+name}/members", + "id": "monitoring.projects.groups.members.list", + "description": "Lists the monitored resources that are members of a group." + } + } + } + } + }, + "collectdTimeSeries": { + "methods": { + "create": { + "response": { + "$ref": "CreateCollectdTimeSeriesResponse" }, "parameterOrder": [ "name" @@ -1519,12 +1598,18 @@ "name": { "pattern": "^projects/[^/]+$", "location": "path", - "description": "The project on which to execute the request. The format is \"projects/{project_id_or_number}\".", + "description": "The project in which to create the time series. The format is \"projects/PROJECT_ID_OR_NUMBER\".", "type": "string", "required": true } }, - "flatPath": "v3/projects/{projectsId}/timeSeries" + "flatPath": "v3/projects/{projectsId}/collectdTimeSeries", + "id": "monitoring.projects.collectdTimeSeries.create", + "path": "v3/{+name}/collectdTimeSeries", + "request": { + "$ref": "CreateCollectdTimeSeriesRequest" + }, + "description": "Stackdriver Monitoring Agent only: Creates a new time series.\u003caside class=\"caution\"\u003eThis method is only for use by the Stackdriver Monitoring Agent. Use projects.timeSeries.create instead.\u003c/aside\u003e" } } } @@ -1532,11 +1617,66 @@ } }, "parameters": { - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "type": "string", "location": "query" }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" + }, + "fields": { + "location": "query", + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + }, + "uploadType": { + "type": "string", + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")." + }, + "$.xgafv": { + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ], + "description": "V1 error format." + }, + "callback": { + "description": "JSONP", + "type": "string", + "location": "query" + }, + "alt": { + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query" + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, "access_token": { "description": "OAuth access token.", "type": "string", @@ -1554,75 +1694,16 @@ "type": "boolean" }, "bearer_token": { + "description": "OAuth bearer token.", "type": "string", - "location": "query", - "description": "OAuth bearer token." + "location": "query" }, "oauth_token": { + "location": "query", "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" - }, - "upload_protocol": { - "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string" - }, - "prettyPrint": { - "location": "query", - "description": "Returns response with indentations and line breaks.", - "default": "true", - "type": "boolean" - }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string", - "location": "query" - }, - "fields": { - "location": "query", - "description": "Selector specifying which fields to include in a partial response.", - "type": "string" - }, - "$.xgafv": { - "type": "string", - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" - ], - "description": "V1 error format." - }, - "callback": { - "type": "string", - "location": "query", - "description": "JSONP" - }, - "alt": { - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query", - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], "type": "string" } }, "version": "v3", - "baseUrl": "https://monitoring.googleapis.com/", - "servicePath": "", - "description": "Manages your Stackdriver Monitoring data and configurations. Most projects must be associated with a Stackdriver account, with a few exceptions as noted on the individual method pages.", - "kind": "discovery#restDescription", - "basePath": "" + "baseUrl": "https://monitoring.googleapis.com/" } diff --git a/vendor/google.golang.org/api/monitoring/v3/monitoring-gen.go b/vendor/google.golang.org/api/monitoring/v3/monitoring-gen.go index 13eb249b3..a7cfe9623 100644 --- a/vendor/google.golang.org/api/monitoring/v3/monitoring-gen.go +++ b/vendor/google.golang.org/api/monitoring/v3/monitoring-gen.go @@ -268,6 +268,45 @@ func (s *CollectdPayload) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// CollectdPayloadError: Describes the error status for payloads that +// were not written. +type CollectdPayloadError struct { + // Error: Records the error status for the payload. If this field is + // present, the partial errors for nested values won't be populated. + Error *Status `json:"error,omitempty"` + + // Index: The zero-based index in + // CreateCollectdTimeSeriesRequest.collectd_payloads. + Index int64 `json:"index,omitempty"` + + // ValueErrors: Records the error status for values that were not + // written due to an error.Failed payloads for which nothing is written + // will not include partial value errors. + ValueErrors []*CollectdValueError `json:"valueErrors,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Error") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Error") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CollectdPayloadError) MarshalJSON() ([]byte, error) { + type noMethod CollectdPayloadError + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // CollectdValue: A single data point from a collectd-based plugin. type CollectdValue struct { // DataSourceName: The data source for the collectd value. For example @@ -317,6 +356,39 @@ func (s *CollectdValue) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// CollectdValueError: Describes the error status for values that were +// not written. +type CollectdValueError struct { + // Error: Records the error status for the value. + Error *Status `json:"error,omitempty"` + + // Index: The zero-based index in CollectdPayload.values within the + // parent CreateCollectdTimeSeriesRequest.collectd_payloads. + Index int64 `json:"index,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Error") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Error") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CollectdValueError) MarshalJSON() ([]byte, error) { + type noMethod CollectdValueError + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // CreateCollectdTimeSeriesRequest: The CreateCollectdTimeSeries // request. type CreateCollectdTimeSeriesRequest struct { @@ -357,6 +429,41 @@ func (s *CreateCollectdTimeSeriesRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// CreateCollectdTimeSeriesResponse: The CreateCollectdTimeSeries +// response. +type CreateCollectdTimeSeriesResponse struct { + // PayloadErrors: Records the error status for points that were not + // written due to an error.Failed requests for which nothing is written + // will return an error response instead. + PayloadErrors []*CollectdPayloadError `json:"payloadErrors,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "PayloadErrors") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "PayloadErrors") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CreateCollectdTimeSeriesResponse) MarshalJSON() ([]byte, error) { + type noMethod CreateCollectdTimeSeriesResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // CreateTimeSeriesRequest: The CreateTimeSeries request. type CreateTimeSeriesRequest struct { // TimeSeries: The new data to be added to a list of time series. Adds @@ -1492,6 +1599,82 @@ func (s *SourceContext) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Status: The Status type defines a logical error model that is +// suitable for different programming environments, including REST APIs +// and RPC APIs. It is used by gRPC (https://github.com/grpc). The error +// model is designed to be: +// Simple to use and understand for most users +// Flexible enough to meet unexpected needsOverviewThe Status message +// contains three pieces of data: error code, error message, and error +// details. The error code should be an enum value of google.rpc.Code, +// but it may accept additional error codes if needed. The error message +// should be a developer-facing English message that helps developers +// understand and resolve the error. If a localized user-facing error +// message is needed, put the localized message in the error details or +// localize it in the client. The optional error details may contain +// arbitrary information about the error. There is a predefined set of +// error detail types in the package google.rpc that can be used for +// common error conditions.Language mappingThe Status message is the +// logical representation of the error model, but it is not necessarily +// the actual wire format. When the Status message is exposed in +// different client libraries and different wire protocols, it can be +// mapped differently. For example, it will likely be mapped to some +// exceptions in Java, but more likely mapped to some error codes in +// C.Other usesThe error model and the Status message can be used in a +// variety of environments, either with or without APIs, to provide a +// consistent developer experience across different environments.Example +// uses of this error model include: +// Partial errors. If a service needs to return partial errors to the +// client, it may embed the Status in the normal response to indicate +// the partial errors. +// Workflow errors. A typical workflow has multiple steps. Each step may +// have a Status message for error reporting. +// Batch operations. If a client uses batch request and batch response, +// the Status message should be used directly inside batch response, one +// for each error sub-response. +// Asynchronous operations. If an API call embeds asynchronous operation +// results in its response, the status of those operations should be +// represented directly using the Status message. +// Logging. If some API errors are stored in logs, the message Status +// could be used directly after any stripping needed for +// security/privacy reasons. +type Status struct { + // Code: The status code, which should be an enum value of + // google.rpc.Code. + Code int64 `json:"code,omitempty"` + + // Details: A list of messages that carry the error details. There is a + // common set of message types for APIs to use. + Details []googleapi.RawMessage `json:"details,omitempty"` + + // Message: A developer-facing error message, which should be in + // English. Any user-facing error message should be localized and sent + // in the google.rpc.Status.details field, or localized by the client. + 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Status) MarshalJSON() ([]byte, error) { + type noMethod Status + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // TimeInterval: A time interval extending just after a start time // through an end time. If the start time is the same as the end time, // then the interval represents a single point in time. @@ -1789,13 +1972,13 @@ func (c *ProjectsCollectdTimeSeriesCreateCall) doRequest(alt string) (*http.Resp } // Do executes the "monitoring.projects.collectdTimeSeries.create" call. -// Exactly one of *Empty or error will be non-nil. Any non-2xx status -// code is an error. Response headers are in either -// *Empty.ServerResponse.Header or (if a response was returned at all) -// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to -// check whether the returned error was because http.StatusNotModified -// was returned. -func (c *ProjectsCollectdTimeSeriesCreateCall) Do(opts ...googleapi.CallOption) (*Empty, error) { +// Exactly one of *CreateCollectdTimeSeriesResponse or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *CreateCollectdTimeSeriesResponse.ServerResponse.Header or (if +// a response was returned at all) in error.(*googleapi.Error).Header. +// Use googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsCollectdTimeSeriesCreateCall) Do(opts ...googleapi.CallOption) (*CreateCollectdTimeSeriesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -1814,7 +1997,7 @@ func (c *ProjectsCollectdTimeSeriesCreateCall) Do(opts ...googleapi.CallOption) if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &Empty{ + ret := &CreateCollectdTimeSeriesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -1847,7 +2030,7 @@ func (c *ProjectsCollectdTimeSeriesCreateCall) Do(opts ...googleapi.CallOption) // "$ref": "CreateCollectdTimeSeriesRequest" // }, // "response": { - // "$ref": "Empty" + // "$ref": "CreateCollectdTimeSeriesResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", diff --git a/vendor/google.golang.org/api/oauth2/v1/oauth2-api.json b/vendor/google.golang.org/api/oauth2/v1/oauth2-api.json index 9838be754..1de8b48fe 100644 --- a/vendor/google.golang.org/api/oauth2/v1/oauth2-api.json +++ b/vendor/google.golang.org/api/oauth2/v1/oauth2-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/yA-nmrGtGyV39fzR7zooTCbGs10\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/PozAB5R3hMeaeI5NL5FrPjwfUdY\"", "discoveryVersion": "v1", "id": "oauth2:v1", "name": "oauth2", "version": "v1", - "revision": "20170509", + "revision": "20170807", "title": "Google OAuth2 API", "description": "Obtains end-user authorization grants for use with other Google APIs.", "ownerDomain": "google.com", @@ -20,7 +20,7 @@ "basePath": "/", "rootUrl": "https://www.googleapis.com/", "servicePath": "", - "batchPath": "batch", + "batchPath": "batch/oauth2/v1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/oauth2/v2/oauth2-api.json b/vendor/google.golang.org/api/oauth2/v2/oauth2-api.json index 277bbd1d2..67a037865 100644 --- a/vendor/google.golang.org/api/oauth2/v2/oauth2-api.json +++ b/vendor/google.golang.org/api/oauth2/v2/oauth2-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/JnT6R6N-Azl-6h2VUiLhx9Ixv98\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/UI_PjeJG3puXfKEXm-20UHWIhYQ\"", "discoveryVersion": "v1", "id": "oauth2:v2", "name": "oauth2", "version": "v2", - "revision": "20170509", + "revision": "20170807", "title": "Google OAuth2 API", "description": "Obtains end-user authorization grants for use with other Google APIs.", "ownerDomain": "google.com", @@ -20,7 +20,7 @@ "basePath": "/", "rootUrl": "https://www.googleapis.com/", "servicePath": "", - "batchPath": "batch", + "batchPath": "batch/oauth2/v2", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/option/option.go b/vendor/google.golang.org/api/option/option.go index 4b14a2e57..e3080e38d 100644 --- a/vendor/google.golang.org/api/option/option.go +++ b/vendor/google.golang.org/api/option/option.go @@ -40,19 +40,25 @@ func (w withTokenSource) Apply(o *internal.DialSettings) { o.TokenSource = w.ts } -// WithServiceAccountFile returns a ClientOption that uses a Google service -// account credentials file to authenticate. -// Use WithTokenSource with a token source created from -// golang.org/x/oauth2/google.JWTConfigFromJSON -// if reading the file from disk is not an option. -func WithServiceAccountFile(filename string) ClientOption { - return withServiceAccountFile(filename) +type withCredFile string + +func (w withCredFile) Apply(o *internal.DialSettings) { + o.CredentialsFile = string(w) } -type withServiceAccountFile string +// WithCredentialsFile returns a ClientOption that authenticates +// API calls with the given service account or refresh token JSON +// credentials file. +func WithCredentialsFile(filename string) ClientOption { + return withCredFile(filename) +} -func (w withServiceAccountFile) Apply(o *internal.DialSettings) { - o.ServiceAccountJSONFilename = string(w) +// WithServiceAccountFile returns a ClientOption that uses a Google service +// account credentials file to authenticate. +// +// Deprecated: Use WithCredentialsFile instead. +func WithServiceAccountFile(filename string) ClientOption { + return WithCredentialsFile(filename) } // WithEndpoint returns a ClientOption that overrides the default endpoint diff --git a/vendor/google.golang.org/api/option/option_test.go b/vendor/google.golang.org/api/option/option_test.go index 49a1b2635..68a6d3449 100644 --- a/vendor/google.golang.org/api/option/option_test.go +++ b/vendor/google.golang.org/api/option/option_test.go @@ -45,7 +45,7 @@ func TestApply(t *testing.T) { WithScopes("https://example.com/auth/helloworld", "https://example.com/auth/otherthing"), WithGRPCConn(conn), WithUserAgent("ua"), - WithServiceAccountFile("service-account.json"), + WithCredentialsFile("service-account.json"), WithAPIKey("api-key"), } var got internal.DialSettings @@ -53,12 +53,12 @@ func TestApply(t *testing.T) { opt.Apply(&got) } want := internal.DialSettings{ - Scopes: []string{"https://example.com/auth/helloworld", "https://example.com/auth/otherthing"}, - UserAgent: "ua", - Endpoint: "https://example.com:443", - GRPCConn: conn, - ServiceAccountJSONFilename: "service-account.json", - APIKey: "api-key", + Scopes: []string{"https://example.com/auth/helloworld", "https://example.com/auth/otherthing"}, + UserAgent: "ua", + Endpoint: "https://example.com:443", + GRPCConn: conn, + CredentialsFile: "service-account.json", + APIKey: "api-key", } if !reflect.DeepEqual(got, want) { t.Errorf("\ngot %#v\nwant %#v", got, want) diff --git a/vendor/google.golang.org/api/oslogin/v1alpha/oslogin-api.json b/vendor/google.golang.org/api/oslogin/v1alpha/oslogin-api.json index ad952ca69..c11614572 100644 --- a/vendor/google.golang.org/api/oslogin/v1alpha/oslogin-api.json +++ b/vendor/google.golang.org/api/oslogin/v1alpha/oslogin-api.json @@ -1,17 +1,12 @@ { - "ownerDomain": "google.com", - "name": "oslogin", - "batchPath": "batch", - "title": "Google Cloud OS Login API", - "ownerName": "Google", "resources": { "users": { "resources": { "sshPublicKeys": { "methods": { "delete": { - "path": "v1alpha/{+name}", "id": "oslogin.users.sshPublicKeys.delete", + "path": "v1alpha/{+name}", "description": "Deletes an SSH public key.", "response": { "$ref": "Empty" @@ -21,40 +16,16 @@ ], "httpMethod": "DELETE", "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" ], "parameters": { "name": { "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$", "location": "path", "description": "The fingerprint of the public key to update. Public keys are identified by\ntheir SHA-256 fingerprint. The fingerprint of the public key is in format\n`users/{user}/sshPublicKeys/{fingerprint}`.", - "required": true, - "type": "string" - } - }, - "flatPath": "v1alpha/users/{usersId}/sshPublicKeys/{sshPublicKeysId}" - }, - "get": { - "id": "oslogin.users.sshPublicKeys.get", - "path": "v1alpha/{+name}", - "description": "Retrieves an SSH public key.", - "httpMethod": "GET", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "SshPublicKey" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$", - "location": "path", - "description": "The fingerprint of the public key to retrieve. Public keys are identified\nby their SHA-256 fingerprint. The fingerprint of the public key is in\nformat `users/{user}/sshPublicKeys/{fingerprint}`.", - "required": true, - "type": "string" + "type": "string", + "required": true } }, "flatPath": "v1alpha/users/{usersId}/sshPublicKeys/{sshPublicKeysId}" @@ -67,41 +38,64 @@ "name" ], "httpMethod": "PATCH", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "parameters": { "name": { "description": "The fingerprint of the public key to update. Public keys are identified by\ntheir SHA-256 fingerprint. The fingerprint of the public key is in format\n`users/{user}/sshPublicKeys/{fingerprint}`.", - "required": true, "type": "string", + "required": true, "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$", "location": "path" }, "updateMask": { - "description": "Mask to control which fields get updated. Updates all if not present.", "format": "google-fieldmask", + "description": "Mask to control which fields get updated. Updates all if not present.", "type": "string", "location": "query" } }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ], "flatPath": "v1alpha/users/{usersId}/sshPublicKeys/{sshPublicKeysId}", - "path": "v1alpha/{+name}", "id": "oslogin.users.sshPublicKeys.patch", + "path": "v1alpha/{+name}", "description": "Updates an SSH public key and returns the profile information. This method\nsupports patch semantics.", "request": { "$ref": "SshPublicKey" } + }, + "get": { + "id": "oslogin.users.sshPublicKeys.get", + "path": "v1alpha/{+name}", + "description": "Retrieves an SSH public key.", + "response": { + "$ref": "SshPublicKey" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ], + "parameters": { + "name": { + "description": "The fingerprint of the public key to retrieve. Public keys are identified\nby their SHA-256 fingerprint. The fingerprint of the public key is in\nformat `users/{user}/sshPublicKeys/{fingerprint}`.", + "type": "string", + "required": true, + "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1alpha/users/{usersId}/sshPublicKeys/{sshPublicKeysId}" } } } }, "methods": { "importSshPublicKey": { - "request": { - "$ref": "SshPublicKey" - }, - "description": "Adds an SSH public key and returns the profile information. Default POSIX\naccount information is set when no username and UID exist as part of the\nlogin profile.", "httpMethod": "POST", "parameterOrder": [ "parent" @@ -109,74 +103,83 @@ "response": { "$ref": "ImportSshPublicKeyResponse" }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ], "parameters": { "parent": { - "description": "The unique ID for the user in format `users/{user}`.", - "required": true, - "type": "string", "pattern": "^users/[^/]+$", - "location": "path" + "location": "path", + "description": "The unique ID for the user in format `users/{user}`.", + "type": "string", + "required": true } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "flatPath": "v1alpha/users/{usersId}:importSshPublicKey", + "path": "v1alpha/{+parent}:importSshPublicKey", "id": "oslogin.users.importSshPublicKey", - "path": "v1alpha/{+parent}:importSshPublicKey" + "request": { + "$ref": "SshPublicKey" + }, + "description": "Adds an SSH public key and returns the profile information. Default POSIX\naccount information is set when no username and UID exist as part of the\nlogin profile." }, "getLoginProfile": { - "path": "v1alpha/{+name}/loginProfile", "id": "oslogin.users.getLoginProfile", + "path": "v1alpha/{+name}/loginProfile", "description": "Retrieves the profile information used for logging in to a virtual machine\non Google Compute Engine.", "response": { "$ref": "LoginProfile" }, - "httpMethod": "GET", "parameterOrder": [ "name" ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ], "parameters": { "name": { "description": "The unique ID for the user in format `users/{user}`.", - "required": true, "type": "string", + "required": true, "pattern": "^users/[^/]+$", "location": "path" } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], "flatPath": "v1alpha/users/{usersId}/loginProfile" } } } }, "parameters": { - "upload_protocol": { - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string", - "location": "query" - }, "prettyPrint": { - "description": "Returns response with indentations and line breaks.", - "type": "boolean", "default": "true", - "location": "query" + "type": "boolean", + "location": "query", + "description": "Returns response with indentations and line breaks." }, "uploadType": { + "location": "query", "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string", - "location": "query" + "type": "string" }, "fields": { + "type": "string", "location": "query", - "description": "Selector specifying which fields to include in a partial response.", + "description": "Selector specifying which fields to include in a partial response." + }, + "callback": { + "location": "query", + "description": "JSONP", "type": "string" }, "$.xgafv": { + "description": "V1 error format.", + "type": "string", "enumDescriptions": [ "v1 error format", "v2 error format" @@ -185,16 +188,10 @@ "enum": [ "1", "2" - ], - "description": "V1 error format.", - "type": "string" - }, - "callback": { - "description": "JSONP", - "type": "string", - "location": "query" + ] }, "alt": { + "type": "string", "enumDescriptions": [ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", @@ -207,99 +204,68 @@ "json", "media", "proto" - ], - "type": "string" - }, - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string", - "location": "query" + ] }, "access_token": { "location": "query", "description": "OAuth access token.", "type": "string" }, - "quotaUser": { - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "key": { "type": "string", - "location": "query" + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token." + }, + "quotaUser": { + "type": "string", + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters." }, "pp": { "description": "Pretty-print response.", - "type": "boolean", "default": "true", + "type": "boolean", "location": "query" }, "oauth_token": { - "location": "query", "description": "OAuth 2.0 token for the current user.", - "type": "string" + "type": "string", + "location": "query" }, "bearer_token": { + "location": "query", "description": "OAuth bearer token.", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "type": "string", "location": "query" } }, "version": "v1alpha", "baseUrl": "https://oslogin.googleapis.com/", - "description": "A Google Cloud API for managing OS login configuration for Directory API users.", - "kind": "discovery#restDescription", "servicePath": "", + "kind": "discovery#restDescription", + "description": "Manages OS login configuration for Directory API users.", "basePath": "", - "revision": "20170619", - "documentationLink": "https://developers.google.com/apis-explorer/#p/oslogin/v1alpha/", "id": "oslogin:v1alpha", + "documentationLink": "https://cloud.google.com/compute/docs/oslogin/rest/", + "revision": "20170926", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { - "LoginProfile": { - "description": "The Directory API profile information used for logging in to a virtual\nmachine on Google Compute Engine.", - "type": "object", - "properties": { - "sshPublicKeys": { - "additionalProperties": { - "$ref": "SshPublicKey" - }, - "description": "A map from SSH public key fingerprint to the associated key object.", - "type": "object" - }, - "name": { - "description": "A unique user ID for identifying the user.", - "type": "string" - }, - "posixAccounts": { - "description": "The list of POSIX accounts associated with the Directory API user.", - "type": "array", - "items": { - "$ref": "PosixAccount" - } - }, - "suspended": { - "description": "Indicates if the user is suspended.", - "type": "boolean" - } - }, - "id": "LoginProfile" - }, - "Empty": { - "properties": {}, - "id": "Empty", - "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", - "type": "object" - }, "SshPublicKey": { "description": "The SSH public key information associated with a Directory API User.", "type": "object", "properties": { "expirationTimeUsec": { - "description": "An expiration time in microseconds since epoch.", "format": "int64", + "description": "An expiration time in microseconds since epoch.", "type": "string" }, "fingerprint": { - "description": "[Output Only] The SHA-256 fingerprint of the SSH public key.", + "description": "The SHA-256 fingerprint of the SSH public key.\nOutput only.", "type": "string" }, "key": { @@ -309,7 +275,14 @@ }, "id": "SshPublicKey" }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object", + "properties": {}, + "id": "Empty" + }, "ImportSshPublicKeyResponse": { + "type": "object", "properties": { "loginProfile": { "$ref": "LoginProfile", @@ -317,24 +290,25 @@ } }, "id": "ImportSshPublicKeyResponse", - "description": "A response message for importing an SSH public key.", - "type": "object" + "description": "A response message for importing an SSH public key." }, "PosixAccount": { + "description": "The POSIX account information associated with a Directory API User.", + "type": "object", "properties": { "primary": { "description": "Only one POSIX account can be marked as primary.", "type": "boolean" }, "gid": { - "description": "The default group ID.", - "format": "int32", - "type": "integer" + "type": "string", + "format": "int64", + "description": "The default group ID." }, "uid": { - "description": "The user ID.", - "format": "int32", - "type": "integer" + "type": "string", + "format": "int64", + "description": "The user ID." }, "username": { "description": "The username of the POSIX account.", @@ -357,16 +331,43 @@ "type": "string" } }, - "id": "PosixAccount", - "description": "The POSIX account information associated with a Directory API User.", + "id": "PosixAccount" + }, + "LoginProfile": { + "properties": { + "sshPublicKeys": { + "additionalProperties": { + "$ref": "SshPublicKey" + }, + "description": "A map from SSH public key fingerprint to the associated key object.", + "type": "object" + }, + "posixAccounts": { + "description": "The list of POSIX accounts associated with the Directory API user.", + "items": { + "$ref": "PosixAccount" + }, + "type": "array" + }, + "name": { + "description": "A unique user ID for identifying the user.", + "type": "string" + }, + "suspended": { + "description": "Indicates if the user is suspended.", + "type": "boolean" + } + }, + "id": "LoginProfile", + "description": "The Directory API profile information used for logging in to a virtual\nmachine on Google Compute Engine.", "type": "object" } }, - "icons": { - "x32": "http://www.google.com/images/icons/product/search-32.gif", - "x16": "http://www.google.com/images/icons/product/search-16.gif" - }, "protocol": "rest", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, "canonicalName": "Cloud OS Login", "auth": { "oauth2": { @@ -376,9 +377,21 @@ }, "https://www.googleapis.com/auth/cloud-platform": { "description": "View and manage your data across Google Cloud Platform services" + }, + "https://www.googleapis.com/auth/compute.readonly": { + "description": "View your Google Compute Engine resources" + }, + "https://www.googleapis.com/auth/compute": { + "description": "View and manage your Google Compute Engine resources" } } } }, - "rootUrl": "https://oslogin.googleapis.com/" + "rootUrl": "https://oslogin.googleapis.com/", + "ownerDomain": "google.com", + "name": "oslogin", + "batchPath": "batch", + "fullyEncodeReservedExpansion": true, + "title": "Google Cloud OS Login API", + "ownerName": "Google" } diff --git a/vendor/google.golang.org/api/oslogin/v1alpha/oslogin-gen.go b/vendor/google.golang.org/api/oslogin/v1alpha/oslogin-gen.go index 6499aaeb5..7aa3dc670 100644 --- a/vendor/google.golang.org/api/oslogin/v1alpha/oslogin-gen.go +++ b/vendor/google.golang.org/api/oslogin/v1alpha/oslogin-gen.go @@ -1,6 +1,6 @@ // Package oslogin provides access to the Google Cloud OS Login API. // -// See https://developers.google.com/apis-explorer/#p/oslogin/v1alpha/ +// See https://cloud.google.com/compute/docs/oslogin/rest/ // // Usage example: // @@ -52,6 +52,12 @@ const ( // View your data across Google Cloud Platform services CloudPlatformReadOnlyScope = "https://www.googleapis.com/auth/cloud-platform.read-only" + + // View and manage your Google Compute Engine resources + ComputeScope = "https://www.googleapis.com/auth/compute" + + // View your Google Compute Engine resources + ComputeReadonlyScope = "https://www.googleapis.com/auth/compute.readonly" ) func New(client *http.Client) (*Service, error) { @@ -202,7 +208,7 @@ type PosixAccount struct { Gecos string `json:"gecos,omitempty"` // Gid: The default group ID. - Gid int64 `json:"gid,omitempty"` + Gid int64 `json:"gid,omitempty,string"` // HomeDirectory: The path to the home directory for this account. HomeDirectory string `json:"homeDirectory,omitempty"` @@ -219,7 +225,7 @@ type PosixAccount struct { SystemId string `json:"systemId,omitempty"` // Uid: The user ID. - Uid int64 `json:"uid,omitempty"` + Uid int64 `json:"uid,omitempty,string"` // Username: The username of the POSIX account. Username string `json:"username,omitempty"` @@ -253,8 +259,8 @@ type SshPublicKey struct { // ExpirationTimeUsec: An expiration time in microseconds since epoch. ExpirationTimeUsec int64 `json:"expirationTimeUsec,omitempty,string"` - // Fingerprint: [Output Only] The SHA-256 fingerprint of the SSH public - // key. + // Fingerprint: The SHA-256 fingerprint of the SSH public key. + // Output only. Fingerprint string `json:"fingerprint,omitempty"` // Key: Public key text in SSH format, defined by @@ -427,7 +433,9 @@ func (c *UsersGetLoginProfileCall) Do(opts ...googleapi.CallOption) (*LoginProfi // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/cloud-platform.read-only" + // "https://www.googleapis.com/auth/cloud-platform.read-only", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" // ] // } @@ -566,7 +574,8 @@ func (c *UsersImportSshPublicKeyCall) Do(opts ...googleapi.CallOption) (*ImportS // "$ref": "ImportSshPublicKeyResponse" // }, // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" // ] // } @@ -691,7 +700,8 @@ func (c *UsersSshPublicKeysDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, // "$ref": "Empty" // }, // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" // ] // } @@ -830,7 +840,8 @@ func (c *UsersSshPublicKeysGetCall) Do(opts ...googleapi.CallOption) (*SshPublic // "$ref": "SshPublicKey" // }, // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" // ] // } @@ -980,7 +991,8 @@ func (c *UsersSshPublicKeysPatchCall) Do(opts ...googleapi.CallOption) (*SshPubl // "$ref": "SshPublicKey" // }, // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" // ] // } diff --git a/vendor/google.golang.org/api/oslogin/v1beta/oslogin-api.json b/vendor/google.golang.org/api/oslogin/v1beta/oslogin-api.json new file mode 100644 index 000000000..ab43649dd --- /dev/null +++ b/vendor/google.golang.org/api/oslogin/v1beta/oslogin-api.json @@ -0,0 +1,397 @@ +{ + "canonicalName": "Cloud OS Login", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/compute": { + "description": "View and manage your Google Compute Engine resources" + }, + "https://www.googleapis.com/auth/cloud-platform.read-only": { + "description": "View your data across Google Cloud Platform services" + }, + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + }, + "https://www.googleapis.com/auth/compute.readonly": { + "description": "View your Google Compute Engine resources" + } + } + } + }, + "rootUrl": "https://oslogin.googleapis.com/", + "ownerDomain": "google.com", + "name": "oslogin", + "batchPath": "batch", + "fullyEncodeReservedExpansion": true, + "title": "Google Cloud OS Login API", + "ownerName": "Google", + "resources": { + "users": { + "methods": { + "getLoginProfile": { + "response": { + "$ref": "LoginProfile" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The unique ID for the user in format `users/{user}`.", + "type": "string", + "required": true, + "pattern": "^users/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ], + "flatPath": "v1beta/users/{usersId}/loginProfile", + "id": "oslogin.users.getLoginProfile", + "path": "v1beta/{+name}/loginProfile", + "description": "Retrieves the profile information used for logging in to a virtual machine\non Google Compute Engine." + }, + "importSshPublicKey": { + "id": "oslogin.users.importSshPublicKey", + "path": "v1beta/{+parent}:importSshPublicKey", + "description": "Adds an SSH public key and returns the profile information. Default POSIX\naccount information is set when no username and UID exist as part of the\nlogin profile.", + "request": { + "$ref": "SshPublicKey" + }, + "response": { + "$ref": "ImportSshPublicKeyResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "parameters": { + "parent": { + "pattern": "^users/[^/]+$", + "location": "path", + "description": "The unique ID for the user in format `users/{user}`.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ], + "flatPath": "v1beta/users/{usersId}:importSshPublicKey" + } + }, + "resources": { + "sshPublicKeys": { + "methods": { + "delete": { + "parameters": { + "name": { + "description": "The fingerprint of the public key to update. Public keys are identified by\ntheir SHA-256 fingerprint. The fingerprint of the public key is in format\n`users/{user}/sshPublicKeys/{fingerprint}`.", + "type": "string", + "required": true, + "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ], + "flatPath": "v1beta/users/{usersId}/sshPublicKeys/{sshPublicKeysId}", + "path": "v1beta/{+name}", + "id": "oslogin.users.sshPublicKeys.delete", + "description": "Deletes an SSH public key.", + "httpMethod": "DELETE", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ] + }, + "patch": { + "description": "Updates an SSH public key and returns the profile information. This method\nsupports patch semantics.", + "request": { + "$ref": "SshPublicKey" + }, + "response": { + "$ref": "SshPublicKey" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PATCH", + "parameters": { + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Mask to control which fields get updated. Updates all if not present.", + "type": "string" + }, + "name": { + "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$", + "location": "path", + "description": "The fingerprint of the public key to update. Public keys are identified by\ntheir SHA-256 fingerprint. The fingerprint of the public key is in format\n`users/{user}/sshPublicKeys/{fingerprint}`.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ], + "flatPath": "v1beta/users/{usersId}/sshPublicKeys/{sshPublicKeysId}", + "id": "oslogin.users.sshPublicKeys.patch", + "path": "v1beta/{+name}" + }, + "get": { + "httpMethod": "GET", + "response": { + "$ref": "SshPublicKey" + }, + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The fingerprint of the public key to retrieve. Public keys are identified\nby their SHA-256 fingerprint. The fingerprint of the public key is in\nformat `users/{user}/sshPublicKeys/{fingerprint}`.", + "type": "string", + "required": true, + "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ], + "flatPath": "v1beta/users/{usersId}/sshPublicKeys/{sshPublicKeysId}", + "path": "v1beta/{+name}", + "id": "oslogin.users.sshPublicKeys.get", + "description": "Retrieves an SSH public key." + } + } + } + } + } + }, + "parameters": { + "$.xgafv": { + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string" + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, + "alt": { + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "type": "string" + }, + "access_token": { + "location": "query", + "description": "OAuth access token.", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", + "location": "query" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" + }, + "pp": { + "description": "Pretty-print response.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", + "location": "query" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string", + "location": "query" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", + "location": "query" + }, + "uploadType": { + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" + } + }, + "version": "v1beta", + "baseUrl": "https://oslogin.googleapis.com/", + "kind": "discovery#restDescription", + "description": "Manages OS login configuration for Directory API users.", + "servicePath": "", + "basePath": "", + "id": "oslogin:v1beta", + "documentationLink": "https://cloud.google.com/compute/docs/oslogin/rest/", + "revision": "20170926", + "discoveryVersion": "v1", + "version_module": true, + "schemas": { + "PosixAccount": { + "description": "The POSIX account information associated with a Directory API User.", + "type": "object", + "properties": { + "primary": { + "description": "Only one POSIX account can be marked as primary.", + "type": "boolean" + }, + "gid": { + "format": "int64", + "description": "The default group ID.", + "type": "string" + }, + "uid": { + "format": "int64", + "description": "The user ID.", + "type": "string" + }, + "username": { + "description": "The username of the POSIX account.", + "type": "string" + }, + "shell": { + "description": "The path to the logic shell for this account.", + "type": "string" + }, + "homeDirectory": { + "description": "The path to the home directory for this account.", + "type": "string" + }, + "systemId": { + "description": "System identifier for which account the username or uid applies to.\nBy default, the empty value is used.", + "type": "string" + }, + "gecos": { + "description": "The GECOS (user information) entry for this account.", + "type": "string" + } + }, + "id": "PosixAccount" + }, + "LoginProfile": { + "description": "The user profile information used for logging in to a virtual machine on\nGoogle Compute Engine.", + "type": "object", + "properties": { + "sshPublicKeys": { + "additionalProperties": { + "$ref": "SshPublicKey" + }, + "description": "A map from SSH public key fingerprint to the associated key object.", + "type": "object" + }, + "posixAccounts": { + "description": "The list of POSIX accounts associated with the user.", + "items": { + "$ref": "PosixAccount" + }, + "type": "array" + }, + "name": { + "description": "The primary email address that uniquely identifies the user.", + "type": "string" + }, + "suspended": { + "description": "Indicates if the user is suspended. A suspended user cannot log in but\ntheir profile information is retained.", + "type": "boolean" + } + }, + "id": "LoginProfile" + }, + "SshPublicKey": { + "id": "SshPublicKey", + "description": "The SSH public key information associated with a Directory API User.", + "type": "object", + "properties": { + "expirationTimeUsec": { + "format": "int64", + "description": "An expiration time in microseconds since epoch.", + "type": "string" + }, + "fingerprint": { + "description": "The SHA-256 fingerprint of the SSH public key.\nOutput only.", + "type": "string" + }, + "key": { + "description": "Public key text in SSH format, defined by\n\u003ca href=\"https://www.ietf.org/rfc/rfc4253.txt\" target=\"_blank\"\u003eRFC4253\u003c/a\u003e\nsection 6.6.", + "type": "string" + } + } + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object", + "properties": {}, + "id": "Empty" + }, + "ImportSshPublicKeyResponse": { + "id": "ImportSshPublicKeyResponse", + "description": "A response message for importing an SSH public key.", + "type": "object", + "properties": { + "loginProfile": { + "$ref": "LoginProfile", + "description": "The login profile information for the user." + } + } + } + }, + "protocol": "rest", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + } +} diff --git a/vendor/google.golang.org/api/oslogin/v1beta/oslogin-gen.go b/vendor/google.golang.org/api/oslogin/v1beta/oslogin-gen.go new file mode 100644 index 000000000..a2003c240 --- /dev/null +++ b/vendor/google.golang.org/api/oslogin/v1beta/oslogin-gen.go @@ -0,0 +1,1000 @@ +// Package oslogin provides access to the Google Cloud OS Login API. +// +// See https://cloud.google.com/compute/docs/oslogin/rest/ +// +// Usage example: +// +// import "google.golang.org/api/oslogin/v1beta" +// ... +// osloginService, err := oslogin.New(oauthHttpClient) +package oslogin // import "google.golang.org/api/oslogin/v1beta" + +import ( + "bytes" + "encoding/json" + "errors" + "fmt" + context "golang.org/x/net/context" + ctxhttp "golang.org/x/net/context/ctxhttp" + gensupport "google.golang.org/api/gensupport" + googleapi "google.golang.org/api/googleapi" + "io" + "net/http" + "net/url" + "strconv" + "strings" +) + +// Always reference these packages, just in case the auto-generated code +// below doesn't. +var _ = bytes.NewBuffer +var _ = strconv.Itoa +var _ = fmt.Sprintf +var _ = json.NewDecoder +var _ = io.Copy +var _ = url.Parse +var _ = gensupport.MarshalJSON +var _ = googleapi.Version +var _ = errors.New +var _ = strings.Replace +var _ = context.Canceled +var _ = ctxhttp.Do + +const apiId = "oslogin:v1beta" +const apiName = "oslogin" +const apiVersion = "v1beta" +const basePath = "https://oslogin.googleapis.com/" + +// OAuth2 scopes used by this API. +const ( + // View and manage your data across Google Cloud Platform services + CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" + + // View your data across Google Cloud Platform services + CloudPlatformReadOnlyScope = "https://www.googleapis.com/auth/cloud-platform.read-only" + + // View and manage your Google Compute Engine resources + ComputeScope = "https://www.googleapis.com/auth/compute" + + // View your Google Compute Engine resources + ComputeReadonlyScope = "https://www.googleapis.com/auth/compute.readonly" +) + +func New(client *http.Client) (*Service, error) { + if client == nil { + return nil, errors.New("client is nil") + } + s := &Service{client: client, BasePath: basePath} + s.Users = NewUsersService(s) + return s, nil +} + +type Service struct { + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + + Users *UsersService +} + +func (s *Service) userAgent() string { + if s.UserAgent == "" { + return googleapi.UserAgent + } + return googleapi.UserAgent + " " + s.UserAgent +} + +func NewUsersService(s *Service) *UsersService { + rs := &UsersService{s: s} + rs.SshPublicKeys = NewUsersSshPublicKeysService(s) + return rs +} + +type UsersService struct { + s *Service + + SshPublicKeys *UsersSshPublicKeysService +} + +func NewUsersSshPublicKeysService(s *Service) *UsersSshPublicKeysService { + rs := &UsersSshPublicKeysService{s: s} + return rs +} + +type UsersSshPublicKeysService struct { + s *Service +} + +// Empty: A generic empty message that you can re-use to avoid defining +// duplicated +// empty messages in your APIs. A typical example is to use it as the +// request +// or the response type of an API method. For instance: +// +// service Foo { +// rpc Bar(google.protobuf.Empty) returns +// (google.protobuf.Empty); +// } +// +// The JSON representation for `Empty` is empty JSON object `{}`. +type Empty struct { + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` +} + +// ImportSshPublicKeyResponse: A response message for importing an SSH +// public key. +type ImportSshPublicKeyResponse struct { + // LoginProfile: The login profile information for the user. + LoginProfile *LoginProfile `json:"loginProfile,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "LoginProfile") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "LoginProfile") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ImportSshPublicKeyResponse) MarshalJSON() ([]byte, error) { + type noMethod ImportSshPublicKeyResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// LoginProfile: The user profile information used for logging in to a +// virtual machine on +// Google Compute Engine. +type LoginProfile struct { + // Name: The primary email address that uniquely identifies the user. + Name string `json:"name,omitempty"` + + // PosixAccounts: The list of POSIX accounts associated with the user. + PosixAccounts []*PosixAccount `json:"posixAccounts,omitempty"` + + // SshPublicKeys: A map from SSH public key fingerprint to the + // associated key object. + SshPublicKeys map[string]SshPublicKey `json:"sshPublicKeys,omitempty"` + + // Suspended: Indicates if the user is suspended. A suspended user + // cannot log in but + // their profile information is retained. + Suspended bool `json:"suspended,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *LoginProfile) MarshalJSON() ([]byte, error) { + type noMethod LoginProfile + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PosixAccount: The POSIX account information associated with a +// Directory API User. +type PosixAccount struct { + // Gecos: The GECOS (user information) entry for this account. + Gecos string `json:"gecos,omitempty"` + + // Gid: The default group ID. + Gid int64 `json:"gid,omitempty,string"` + + // HomeDirectory: The path to the home directory for this account. + HomeDirectory string `json:"homeDirectory,omitempty"` + + // Primary: Only one POSIX account can be marked as primary. + Primary bool `json:"primary,omitempty"` + + // Shell: The path to the logic shell for this account. + Shell string `json:"shell,omitempty"` + + // SystemId: System identifier for which account the username or uid + // applies to. + // By default, the empty value is used. + SystemId string `json:"systemId,omitempty"` + + // Uid: The user ID. + Uid int64 `json:"uid,omitempty,string"` + + // Username: The username of the POSIX account. + Username string `json:"username,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Gecos") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Gecos") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *PosixAccount) MarshalJSON() ([]byte, error) { + type noMethod PosixAccount + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SshPublicKey: The SSH public key information associated with a +// Directory API User. +type SshPublicKey struct { + // ExpirationTimeUsec: An expiration time in microseconds since epoch. + ExpirationTimeUsec int64 `json:"expirationTimeUsec,omitempty,string"` + + // Fingerprint: The SHA-256 fingerprint of the SSH public key. + // Output only. + Fingerprint string `json:"fingerprint,omitempty"` + + // Key: Public key text in SSH format, defined by + // RFC4253 + // section 6.6. + Key string `json:"key,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "ExpirationTimeUsec") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ExpirationTimeUsec") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *SshPublicKey) MarshalJSON() ([]byte, error) { + type noMethod SshPublicKey + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// method id "oslogin.users.getLoginProfile": + +type UsersGetLoginProfileCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// GetLoginProfile: Retrieves the profile information used for logging +// in to a virtual machine +// on Google Compute Engine. +func (r *UsersService) GetLoginProfile(name string) *UsersGetLoginProfileCall { + c := &UsersGetLoginProfileCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *UsersGetLoginProfileCall) Fields(s ...googleapi.Field) *UsersGetLoginProfileCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *UsersGetLoginProfileCall) IfNoneMatch(entityTag string) *UsersGetLoginProfileCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *UsersGetLoginProfileCall) Context(ctx context.Context) *UsersGetLoginProfileCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *UsersGetLoginProfileCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *UsersGetLoginProfileCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}/loginProfile") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "oslogin.users.getLoginProfile" call. +// Exactly one of *LoginProfile or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *LoginProfile.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *UsersGetLoginProfileCall) Do(opts ...googleapi.CallOption) (*LoginProfile, 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, &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, err + } + ret := &LoginProfile{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Retrieves the profile information used for logging in to a virtual machine\non Google Compute Engine.", + // "flatPath": "v1beta/users/{usersId}/loginProfile", + // "httpMethod": "GET", + // "id": "oslogin.users.getLoginProfile", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The unique ID for the user in format `users/{user}`.", + // "location": "path", + // "pattern": "^users/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta/{+name}/loginProfile", + // "response": { + // "$ref": "LoginProfile" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// method id "oslogin.users.importSshPublicKey": + +type UsersImportSshPublicKeyCall struct { + s *Service + parent string + sshpublickey *SshPublicKey + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ImportSshPublicKey: Adds an SSH public key and returns the profile +// information. Default POSIX +// account information is set when no username and UID exist as part of +// the +// login profile. +func (r *UsersService) ImportSshPublicKey(parent string, sshpublickey *SshPublicKey) *UsersImportSshPublicKeyCall { + c := &UsersImportSshPublicKeyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.sshpublickey = sshpublickey + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *UsersImportSshPublicKeyCall) Fields(s ...googleapi.Field) *UsersImportSshPublicKeyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *UsersImportSshPublicKeyCall) Context(ctx context.Context) *UsersImportSshPublicKeyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *UsersImportSshPublicKeyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *UsersImportSshPublicKeyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.sshpublickey) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}:importSshPublicKey") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "oslogin.users.importSshPublicKey" call. +// Exactly one of *ImportSshPublicKeyResponse or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *ImportSshPublicKeyResponse.ServerResponse.Header or (if a response +// was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *UsersImportSshPublicKeyCall) Do(opts ...googleapi.CallOption) (*ImportSshPublicKeyResponse, 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, &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, err + } + ret := &ImportSshPublicKeyResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Adds an SSH public key and returns the profile information. Default POSIX\naccount information is set when no username and UID exist as part of the\nlogin profile.", + // "flatPath": "v1beta/users/{usersId}:importSshPublicKey", + // "httpMethod": "POST", + // "id": "oslogin.users.importSshPublicKey", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "The unique ID for the user in format `users/{user}`.", + // "location": "path", + // "pattern": "^users/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta/{+parent}:importSshPublicKey", + // "request": { + // "$ref": "SshPublicKey" + // }, + // "response": { + // "$ref": "ImportSshPublicKeyResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "oslogin.users.sshPublicKeys.delete": + +type UsersSshPublicKeysDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes an SSH public key. +func (r *UsersSshPublicKeysService) Delete(name string) *UsersSshPublicKeysDeleteCall { + c := &UsersSshPublicKeysDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *UsersSshPublicKeysDeleteCall) Fields(s ...googleapi.Field) *UsersSshPublicKeysDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *UsersSshPublicKeysDeleteCall) Context(ctx context.Context) *UsersSshPublicKeysDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *UsersSshPublicKeysDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *UsersSshPublicKeysDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "oslogin.users.sshPublicKeys.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *UsersSshPublicKeysDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes an SSH public key.", + // "flatPath": "v1beta/users/{usersId}/sshPublicKeys/{sshPublicKeysId}", + // "httpMethod": "DELETE", + // "id": "oslogin.users.sshPublicKeys.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The fingerprint of the public key to update. Public keys are identified by\ntheir SHA-256 fingerprint. The fingerprint of the public key is in format\n`users/{user}/sshPublicKeys/{fingerprint}`.", + // "location": "path", + // "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta/{+name}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "oslogin.users.sshPublicKeys.get": + +type UsersSshPublicKeysGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Retrieves an SSH public key. +func (r *UsersSshPublicKeysService) Get(name string) *UsersSshPublicKeysGetCall { + c := &UsersSshPublicKeysGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *UsersSshPublicKeysGetCall) Fields(s ...googleapi.Field) *UsersSshPublicKeysGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *UsersSshPublicKeysGetCall) IfNoneMatch(entityTag string) *UsersSshPublicKeysGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *UsersSshPublicKeysGetCall) Context(ctx context.Context) *UsersSshPublicKeysGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *UsersSshPublicKeysGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *UsersSshPublicKeysGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "oslogin.users.sshPublicKeys.get" call. +// Exactly one of *SshPublicKey or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *SshPublicKey.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *UsersSshPublicKeysGetCall) Do(opts ...googleapi.CallOption) (*SshPublicKey, 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, &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, err + } + ret := &SshPublicKey{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Retrieves an SSH public key.", + // "flatPath": "v1beta/users/{usersId}/sshPublicKeys/{sshPublicKeysId}", + // "httpMethod": "GET", + // "id": "oslogin.users.sshPublicKeys.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The fingerprint of the public key to retrieve. Public keys are identified\nby their SHA-256 fingerprint. The fingerprint of the public key is in\nformat `users/{user}/sshPublicKeys/{fingerprint}`.", + // "location": "path", + // "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta/{+name}", + // "response": { + // "$ref": "SshPublicKey" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + +// method id "oslogin.users.sshPublicKeys.patch": + +type UsersSshPublicKeysPatchCall struct { + s *Service + name string + sshpublickey *SshPublicKey + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates an SSH public key and returns the profile information. +// This method +// supports patch semantics. +func (r *UsersSshPublicKeysService) Patch(name string, sshpublickey *SshPublicKey) *UsersSshPublicKeysPatchCall { + c := &UsersSshPublicKeysPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.sshpublickey = sshpublickey + return c +} + +// UpdateMask sets the optional parameter "updateMask": Mask to control +// which fields get updated. Updates all if not present. +func (c *UsersSshPublicKeysPatchCall) UpdateMask(updateMask string) *UsersSshPublicKeysPatchCall { + 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 information. +func (c *UsersSshPublicKeysPatchCall) Fields(s ...googleapi.Field) *UsersSshPublicKeysPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *UsersSshPublicKeysPatchCall) Context(ctx context.Context) *UsersSshPublicKeysPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *UsersSshPublicKeysPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *UsersSshPublicKeysPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.sshpublickey) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PATCH", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "oslogin.users.sshPublicKeys.patch" call. +// Exactly one of *SshPublicKey or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *SshPublicKey.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *UsersSshPublicKeysPatchCall) Do(opts ...googleapi.CallOption) (*SshPublicKey, 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, &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, err + } + ret := &SshPublicKey{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates an SSH public key and returns the profile information. This method\nsupports patch semantics.", + // "flatPath": "v1beta/users/{usersId}/sshPublicKeys/{sshPublicKeysId}", + // "httpMethod": "PATCH", + // "id": "oslogin.users.sshPublicKeys.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "The fingerprint of the public key to update. Public keys are identified by\ntheir SHA-256 fingerprint. The fingerprint of the public key is in format\n`users/{user}/sshPublicKeys/{fingerprint}`.", + // "location": "path", + // "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Mask to control which fields get updated. Updates all if not present.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1beta/{+name}", + // "request": { + // "$ref": "SshPublicKey" + // }, + // "response": { + // "$ref": "SshPublicKey" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} diff --git a/vendor/google.golang.org/api/pagespeedonline/v1/pagespeedonline-api.json b/vendor/google.golang.org/api/pagespeedonline/v1/pagespeedonline-api.json index 1c410cc3d..004f43a08 100644 --- a/vendor/google.golang.org/api/pagespeedonline/v1/pagespeedonline-api.json +++ b/vendor/google.golang.org/api/pagespeedonline/v1/pagespeedonline-api.json @@ -20,7 +20,7 @@ "basePath": "/pagespeedonline/v1/", "rootUrl": "https://www.googleapis.com/", "servicePath": "pagespeedonline/v1/", - "batchPath": "batch", + "batchPath": "batch/pagespeedonline/v1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/pagespeedonline/v2/pagespeedonline-api.json b/vendor/google.golang.org/api/pagespeedonline/v2/pagespeedonline-api.json index c7d6c91a5..bed89066f 100644 --- a/vendor/google.golang.org/api/pagespeedonline/v2/pagespeedonline-api.json +++ b/vendor/google.golang.org/api/pagespeedonline/v2/pagespeedonline-api.json @@ -20,7 +20,7 @@ "basePath": "/pagespeedonline/v2/", "rootUrl": "https://www.googleapis.com/", "servicePath": "pagespeedonline/v2/", - "batchPath": "batch", + "batchPath": "batch/pagespeedonline/v2", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/partners/v2/partners-api.json b/vendor/google.golang.org/api/partners/v2/partners-api.json index 0a92c9465..c76c22441 100644 --- a/vendor/google.golang.org/api/partners/v2/partners-api.json +++ b/vendor/google.golang.org/api/partners/v2/partners-api.json @@ -1,25 +1,32 @@ { - "baseUrl": "https://partners.googleapis.com/", - "canonicalName": "Partners", - "servicePath": "", - "description": "Searches certified companies and creates contact leads with them, and also audits the usage of clients.", - "kind": "discovery#restDescription", - "rootUrl": "https://partners.googleapis.com/", - "basePath": "", - "ownerDomain": "google.com", - "name": "partners", - "batchPath": "batch", - "revision": "20170615", - "documentationLink": "https://developers.google.com/partners/", - "id": "partners:v2", - "title": "Google Partners API", "ownerName": "Google", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "resources": { + "clientMessages": { + "methods": { + "log": { + "request": { + "$ref": "LogMessageRequest" + }, + "description": "Logs a generic message from the client, such as\n`Failed to render component`, `Profile page is running slow`,\n`More than 500 users have accessed this result.`, etc.", + "response": { + "$ref": "LogMessageResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "flatPath": "v2/clientMessages:log", + "id": "partners.clientMessages.log", + "path": "v2/clientMessages:log" + } + } + }, "exams": { "methods": { "getToken": { + "path": "v2/exams/{examType}/token", + "id": "partners.exams.getToken", "description": "Gets an Exam Token for a Partner's user to take an exam in the Exams System", "httpMethod": "GET", "parameterOrder": [ @@ -29,26 +36,21 @@ "$ref": "ExamToken" }, "parameters": { - "requestMetadata.trafficSource.trafficSourceId": { - "location": "query", - "description": "Identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", - "type": "string" - }, "requestMetadata.locale": { - "location": "query", "description": "Locale to use for the current request.", - "type": "string" + "type": "string", + "location": "query" }, "requestMetadata.userOverrides.ipAddress": { - "location": "query", "description": "IP address to use instead of the user's geo-located IP address.", - "type": "string" + "type": "string", + "location": "query" }, "requestMetadata.experimentIds": { + "repeated": true, "location": "query", "description": "Experiment IDs the current request belongs to.", - "type": "string", - "repeated": true + "type": "string" }, "requestMetadata.trafficSource.trafficSubId": { "location": "query", @@ -71,80 +73,42 @@ "CET_MOBILE_SITES" ], "description": "The exam type we are requesting a token for.", - "required": true, - "type": "string" + "type": "string", + "required": true }, "requestMetadata.partnersSessionId": { - "location": "query", "description": "Google Partners session ID.", - "type": "string" + "type": "string", + "location": "query" }, "requestMetadata.userOverrides.userId": { - "location": "query", "description": "Logged-in user ID to impersonate instead of the user's ID.", - "type": "string" + "type": "string", + "location": "query" + }, + "requestMetadata.trafficSource.trafficSourceId": { + "description": "Identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", + "type": "string", + "location": "query" } }, - "flatPath": "v2/exams/{examType}/token", - "id": "partners.exams.getToken", - "path": "v2/exams/{examType}/token" + "flatPath": "v2/exams/{examType}/token" } } }, "leads": { "methods": { "list": { - "flatPath": "v2/leads", - "path": "v2/leads", - "id": "partners.leads.list", - "description": "Lists advertiser leads for a user's associated company.\nShould only be called within the context of an authorized logged in user.", "response": { "$ref": "ListLeadsResponse" }, "parameterOrder": [], "httpMethod": "GET", "parameters": { - "pageSize": { - "location": "query", - "description": "Requested page size. Server may return fewer leads than requested.\nIf unspecified, server picks an appropriate default.", - "format": "int32", - "type": "integer" - }, - "requestMetadata.trafficSource.trafficSourceId": { - "location": "query", - "description": "Identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", - "type": "string" - }, - "requestMetadata.locale": { - "location": "query", - "description": "Locale to use for the current request.", - "type": "string" - }, - "requestMetadata.userOverrides.ipAddress": { - "description": "IP address to use instead of the user's geo-located IP address.", - "type": "string", - "location": "query" - }, - "requestMetadata.experimentIds": { - "location": "query", - "description": "Experiment IDs the current request belongs to.", - "type": "string", - "repeated": true - }, - "orderBy": { - "description": "How to order Leads. Currently, only `create_time`\nand `create_time desc` are supported", - "type": "string", - "location": "query" - }, - "requestMetadata.trafficSource.trafficSubId": { - "description": "Second level identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", - "type": "string", - "location": "query" - }, "requestMetadata.userOverrides.userId": { + "location": "query", "description": "Logged-in user ID to impersonate instead of the user's ID.", - "type": "string", - "location": "query" + "type": "string" }, "requestMetadata.partnersSessionId": { "description": "Google Partners session ID.", @@ -155,20 +119,71 @@ "location": "query", "description": "A token identifying a page of results that the server returns.\nTypically, this is the value of `ListLeadsResponse.next_page_token`\nreturned from the previous call to\nListLeads.", "type": "string" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Requested page size. Server may return fewer leads than requested.\nIf unspecified, server picks an appropriate default.", + "type": "integer" + }, + "requestMetadata.trafficSource.trafficSourceId": { + "description": "Identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", + "type": "string", + "location": "query" + }, + "requestMetadata.locale": { + "location": "query", + "description": "Locale to use for the current request.", + "type": "string" + }, + "requestMetadata.userOverrides.ipAddress": { + "description": "IP address to use instead of the user's geo-located IP address.", + "type": "string", + "location": "query" + }, + "requestMetadata.experimentIds": { + "repeated": true, + "location": "query", + "description": "Experiment IDs the current request belongs to.", + "type": "string" + }, + "requestMetadata.trafficSource.trafficSubId": { + "location": "query", + "description": "Second level identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", + "type": "string" + }, + "orderBy": { + "location": "query", + "description": "How to order Leads. Currently, only `create_time`\nand `create_time desc` are supported", + "type": "string" } - } + }, + "flatPath": "v2/leads", + "id": "partners.leads.list", + "path": "v2/leads", + "description": "Lists advertiser leads for a user's associated company.\nShould only be called within the context of an authorized logged in user." } } }, "offers": { "methods": { "list": { + "httpMethod": "GET", + "parameterOrder": [], "response": { "$ref": "ListOffersResponse" }, - "parameterOrder": [], - "httpMethod": "GET", "parameters": { + "requestMetadata.userOverrides.userId": { + "description": "Logged-in user ID to impersonate instead of the user's ID.", + "type": "string", + "location": "query" + }, + "requestMetadata.partnersSessionId": { + "description": "Google Partners session ID.", + "type": "string", + "location": "query" + }, "requestMetadata.trafficSource.trafficSourceId": { "description": "Identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", "type": "string", @@ -180,9 +195,9 @@ "location": "query" }, "requestMetadata.userOverrides.ipAddress": { + "location": "query", "description": "IP address to use instead of the user's geo-located IP address.", - "type": "string", - "location": "query" + "type": "string" }, "requestMetadata.experimentIds": { "description": "Experiment IDs the current request belongs to.", @@ -191,19 +206,9 @@ "location": "query" }, "requestMetadata.trafficSource.trafficSubId": { - "location": "query", "description": "Second level identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", - "type": "string" - }, - "requestMetadata.userOverrides.userId": { - "description": "Logged-in user ID to impersonate instead of the user's ID.", "type": "string", "location": "query" - }, - "requestMetadata.partnersSessionId": { - "location": "query", - "description": "Google Partners session ID.", - "type": "string" } }, "flatPath": "v2/offers", @@ -216,27 +221,13 @@ "history": { "methods": { "list": { - "flatPath": "v2/offers/history", - "id": "partners.offers.history.list", - "path": "v2/offers/history", "description": "Lists the Historical Offers for the current user (or user's entire company)", - "httpMethod": "GET", - "parameterOrder": [], "response": { "$ref": "ListOffersHistoryResponse" }, + "parameterOrder": [], + "httpMethod": "GET", "parameters": { - "pageSize": { - "location": "query", - "description": "Maximum number of rows to return per page.", - "format": "int32", - "type": "integer" - }, - "requestMetadata.trafficSource.trafficSourceId": { - "location": "query", - "description": "Identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", - "type": "string" - }, "requestMetadata.locale": { "location": "query", "description": "Locale to use for the current request.", @@ -253,10 +244,10 @@ "location": "query" }, "requestMetadata.experimentIds": { + "repeated": true, "location": "query", "description": "Experiment IDs the current request belongs to.", - "type": "string", - "repeated": true + "type": "string" }, "orderBy": { "location": "query", @@ -264,26 +255,40 @@ "type": "string" }, "requestMetadata.trafficSource.trafficSubId": { + "location": "query", "description": "Second level identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", - "type": "string", - "location": "query" + "type": "string" + }, + "requestMetadata.userOverrides.userId": { + "location": "query", + "description": "Logged-in user ID to impersonate instead of the user's ID.", + "type": "string" }, "requestMetadata.partnersSessionId": { "description": "Google Partners session ID.", "type": "string", "location": "query" }, - "requestMetadata.userOverrides.userId": { - "description": "Logged-in user ID to impersonate instead of the user's ID.", - "type": "string", - "location": "query" - }, "pageToken": { "description": "Token to retrieve a specific page.", "type": "string", "location": "query" + }, + "pageSize": { + "format": "int32", + "description": "Maximum number of rows to return per page.", + "type": "integer", + "location": "query" + }, + "requestMetadata.trafficSource.trafficSourceId": { + "description": "Identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", + "type": "string", + "location": "query" } - } + }, + "flatPath": "v2/offers/history", + "id": "partners.offers.history.list", + "path": "v2/offers/history" } } } @@ -292,6 +297,9 @@ "userStates": { "methods": { "list": { + "id": "partners.userStates.list", + "path": "v2/userStates", + "description": "Lists states for current user.", "response": { "$ref": "ListUserStatesResponse" }, @@ -299,15 +307,15 @@ "httpMethod": "GET", "parameters": { "requestMetadata.experimentIds": { - "description": "Experiment IDs the current request belongs to.", - "type": "string", "repeated": true, - "location": "query" + "location": "query", + "description": "Experiment IDs the current request belongs to.", + "type": "string" }, "requestMetadata.trafficSource.trafficSubId": { + "location": "query", "description": "Second level identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", - "type": "string", - "location": "query" + "type": "string" }, "requestMetadata.userOverrides.userId": { "description": "Logged-in user ID to impersonate instead of the user's ID.", @@ -320,25 +328,22 @@ "type": "string" }, "requestMetadata.trafficSource.trafficSourceId": { - "location": "query", "description": "Identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", - "type": "string" + "type": "string", + "location": "query" }, "requestMetadata.locale": { - "location": "query", "description": "Locale to use for the current request.", - "type": "string" + "type": "string", + "location": "query" }, "requestMetadata.userOverrides.ipAddress": { - "location": "query", "description": "IP address to use instead of the user's geo-located IP address.", - "type": "string" + "type": "string", + "location": "query" } }, - "flatPath": "v2/userStates", - "path": "v2/userStates", - "id": "partners.userStates.list", - "description": "Lists states for current user." + "flatPath": "v2/userStates" } } }, @@ -352,130 +357,25 @@ "parameterOrder": [], "httpMethod": "GET", "parameters": { - "pageSize": { - "location": "query", - "description": "Requested page size. Server may return fewer analytics than requested.\nIf unspecified or set to 0, default value is 30.\nSpecifies the number of days in the date range when querying analytics.\nThe `page_token` represents the end date of the date range\nand the start date is calculated using the `page_size` as the number\nof days BEFORE the end date.\nMust be a non-negative integer.", - "format": "int32", - "type": "integer" - }, - "requestMetadata.trafficSource.trafficSourceId": { - "description": "Identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", - "type": "string", - "location": "query" - }, - "requestMetadata.locale": { - "location": "query", - "description": "Locale to use for the current request.", - "type": "string" - }, - "requestMetadata.userOverrides.ipAddress": { - "location": "query", - "description": "IP address to use instead of the user's geo-located IP address.", - "type": "string" - }, - "requestMetadata.experimentIds": { - "description": "Experiment IDs the current request belongs to.", - "type": "string", - "repeated": true, - "location": "query" - }, - "requestMetadata.trafficSource.trafficSubId": { - "description": "Second level identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", - "type": "string", - "location": "query" - }, "requestMetadata.userOverrides.userId": { "description": "Logged-in user ID to impersonate instead of the user's ID.", "type": "string", "location": "query" }, "requestMetadata.partnersSessionId": { + "location": "query", "description": "Google Partners session ID.", - "type": "string", - "location": "query" + "type": "string" }, "pageToken": { "location": "query", "description": "A token identifying a page of results that the server returns.\nTypically, this is the value of `ListAnalyticsResponse.next_page_token`\nreturned from the previous call to\nListAnalytics.\nWill be a date string in `YYYY-MM-DD` format representing the end date\nof the date range of results to return.\nIf unspecified or set to \"\", default value is the current date.", "type": "string" - } - }, - "flatPath": "v2/analytics", - "path": "v2/analytics", - "id": "partners.analytics.list" - } - } - }, - "v2": { - "methods": { - "getPartnersstatus": { - "flatPath": "v2/partnersstatus", - "path": "v2/partnersstatus", - "id": "partners.getPartnersstatus", - "description": "Gets Partners Status of the logged in user's agency.\nShould only be called if the logged in user is the admin of the agency.", - "response": { - "$ref": "GetPartnersStatusResponse" - }, - "parameterOrder": [], - "httpMethod": "GET", - "parameters": { - "requestMetadata.partnersSessionId": { - "description": "Google Partners session ID.", - "type": "string", - "location": "query" }, - "requestMetadata.userOverrides.userId": { - "description": "Logged-in user ID to impersonate instead of the user's ID.", - "type": "string", - "location": "query" - }, - "requestMetadata.trafficSource.trafficSourceId": { - "location": "query", - "description": "Identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", - "type": "string" - }, - "requestMetadata.locale": { - "description": "Locale to use for the current request.", - "type": "string", - "location": "query" - }, - "requestMetadata.userOverrides.ipAddress": { - "location": "query", - "description": "IP address to use instead of the user's geo-located IP address.", - "type": "string" - }, - "requestMetadata.experimentIds": { - "location": "query", - "description": "Experiment IDs the current request belongs to.", - "type": "string", - "repeated": true - }, - "requestMetadata.trafficSource.trafficSubId": { - "description": "Second level identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", - "type": "string", - "location": "query" - } - } - }, - "updateLeads": { - "description": "Updates the specified lead.", - "request": { - "$ref": "Lead" - }, - "response": { - "$ref": "Lead" - }, - "parameterOrder": [], - "httpMethod": "PATCH", - "parameters": { - "requestMetadata.userOverrides.userId": { - "location": "query", - "description": "Logged-in user ID to impersonate instead of the user's ID.", - "type": "string" - }, - "requestMetadata.partnersSessionId": { - "description": "Google Partners session ID.", - "type": "string", + "pageSize": { + "format": "int32", + "description": "Requested page size. Server may return fewer analytics than requested.\nIf unspecified or set to 0, default value is 30.\nSpecifies the number of days in the date range when querying analytics.\nThe `page_token` represents the end date of the date range\nand the start date is calculated using the `page_size` as the number\nof days BEFORE the end date.\nMust be a non-negative integer.", + "type": "integer", "location": "query" }, "requestMetadata.trafficSource.trafficSourceId": { @@ -493,70 +393,6 @@ "type": "string", "location": "query" }, - "updateMask": { - "description": "Standard field mask for the set of fields to be updated.\nRequired with at least 1 value in FieldMask's paths.\nOnly `state` and `adwords_customer_id` are currently supported.", - "format": "google-fieldmask", - "type": "string", - "location": "query" - }, - "requestMetadata.experimentIds": { - "location": "query", - "description": "Experiment IDs the current request belongs to.", - "type": "string", - "repeated": true - }, - "requestMetadata.trafficSource.trafficSubId": { - "description": "Second level identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", - "type": "string", - "location": "query" - } - }, - "flatPath": "v2/leads", - "path": "v2/leads", - "id": "partners.updateLeads" - }, - "updateCompanies": { - "description": "Update company.\nShould only be called within the context of an authorized logged in user.", - "request": { - "$ref": "Company" - }, - "httpMethod": "PATCH", - "parameterOrder": [], - "response": { - "$ref": "Company" - }, - "parameters": { - "requestMetadata.userOverrides.userId": { - "location": "query", - "description": "Logged-in user ID to impersonate instead of the user's ID.", - "type": "string" - }, - "requestMetadata.partnersSessionId": { - "description": "Google Partners session ID.", - "type": "string", - "location": "query" - }, - "requestMetadata.trafficSource.trafficSourceId": { - "location": "query", - "description": "Identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", - "type": "string" - }, - "requestMetadata.locale": { - "description": "Locale to use for the current request.", - "type": "string", - "location": "query" - }, - "requestMetadata.userOverrides.ipAddress": { - "location": "query", - "description": "IP address to use instead of the user's geo-located IP address.", - "type": "string" - }, - "updateMask": { - "description": "Standard field mask for the set of fields to be updated.\nRequired with at least 1 value in FieldMask's paths.", - "format": "google-fieldmask", - "type": "string", - "location": "query" - }, "requestMetadata.experimentIds": { "description": "Experiment IDs the current request belongs to.", "type": "string", @@ -569,219 +405,225 @@ "location": "query" } }, + "flatPath": "v2/analytics", + "id": "partners.analytics.list", + "path": "v2/analytics" + } + } + }, + "v2": { + "methods": { + "updateLeads": { + "response": { + "$ref": "Lead" + }, + "parameterOrder": [], + "httpMethod": "PATCH", + "parameters": { + "requestMetadata.partnersSessionId": { + "description": "Google Partners session ID.", + "type": "string", + "location": "query" + }, + "requestMetadata.userOverrides.userId": { + "location": "query", + "description": "Logged-in user ID to impersonate instead of the user's ID.", + "type": "string" + }, + "requestMetadata.trafficSource.trafficSourceId": { + "location": "query", + "description": "Identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", + "type": "string" + }, + "requestMetadata.locale": { + "location": "query", + "description": "Locale to use for the current request.", + "type": "string" + }, + "requestMetadata.userOverrides.ipAddress": { + "location": "query", + "description": "IP address to use instead of the user's geo-located IP address.", + "type": "string" + }, + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Standard field mask for the set of fields to be updated.\nRequired with at least 1 value in FieldMask's paths.\nOnly `state` and `adwords_customer_id` are currently supported.", + "type": "string" + }, + "requestMetadata.experimentIds": { + "repeated": true, + "location": "query", + "description": "Experiment IDs the current request belongs to.", + "type": "string" + }, + "requestMetadata.trafficSource.trafficSubId": { + "location": "query", + "description": "Second level identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", + "type": "string" + } + }, + "flatPath": "v2/leads", + "id": "partners.updateLeads", + "path": "v2/leads", + "request": { + "$ref": "Lead" + }, + "description": "Updates the specified lead." + }, + "updateCompanies": { + "response": { + "$ref": "Company" + }, + "parameterOrder": [], + "httpMethod": "PATCH", + "parameters": { + "requestMetadata.userOverrides.userId": { + "description": "Logged-in user ID to impersonate instead of the user's ID.", + "type": "string", + "location": "query" + }, + "requestMetadata.partnersSessionId": { + "description": "Google Partners session ID.", + "type": "string", + "location": "query" + }, + "requestMetadata.trafficSource.trafficSourceId": { + "description": "Identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", + "type": "string", + "location": "query" + }, + "requestMetadata.locale": { + "description": "Locale to use for the current request.", + "type": "string", + "location": "query" + }, + "requestMetadata.userOverrides.ipAddress": { + "location": "query", + "description": "IP address to use instead of the user's geo-located IP address.", + "type": "string" + }, + "updateMask": { + "location": "query", + "format": "google-fieldmask", + "description": "Standard field mask for the set of fields to be updated.\nRequired with at least 1 value in FieldMask's paths.", + "type": "string" + }, + "requestMetadata.experimentIds": { + "repeated": true, + "location": "query", + "description": "Experiment IDs the current request belongs to.", + "type": "string" + }, + "requestMetadata.trafficSource.trafficSubId": { + "description": "Second level identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", + "type": "string", + "location": "query" + } + }, "flatPath": "v2/companies", "id": "partners.updateCompanies", - "path": "v2/companies" - } - } - }, - "companies": { - "methods": { - "get": { - "flatPath": "v2/companies/{companyId}", - "id": "partners.companies.get", - "path": "v2/companies/{companyId}", - "description": "Gets a company.", - "httpMethod": "GET", - "parameterOrder": [ - "companyId" - ], - "response": { - "$ref": "GetCompanyResponse" + "path": "v2/companies", + "request": { + "$ref": "Company" }, + "description": "Update company.\nShould only be called within the context of an authorized logged in user." + }, + "getPartnersstatus": { + "response": { + "$ref": "GetPartnersStatusResponse" + }, + "parameterOrder": [], + "httpMethod": "GET", "parameters": { - "requestMetadata.userOverrides.userId": { - "location": "query", - "description": "Logged-in user ID to impersonate instead of the user's ID.", - "type": "string" - }, - "requestMetadata.partnersSessionId": { - "description": "Google Partners session ID.", + "requestMetadata.locale": { + "description": "Locale to use for the current request.", "type": "string", "location": "query" }, - "view": { - "description": "The view of `Company` resource to be returned. This must not be\n`COMPANY_VIEW_UNSPECIFIED`.", - "type": "string", - "location": "query", - "enum": [ - "COMPANY_VIEW_UNSPECIFIED", - "CV_GOOGLE_PARTNER_SEARCH" - ] - }, - "address": { - "location": "query", - "description": "The address to use for sorting the company's addresses by proximity.\nIf not given, the geo-located address of the request is used.\nUsed when order_by is set.", - "type": "string" - }, - "requestMetadata.locale": { - "location": "query", - "description": "Locale to use for the current request.", - "type": "string" - }, - "requestMetadata.trafficSource.trafficSourceId": { - "location": "query", - "description": "Identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", - "type": "string" - }, "requestMetadata.userOverrides.ipAddress": { "description": "IP address to use instead of the user's geo-located IP address.", "type": "string", "location": "query" }, - "companyId": { - "description": "The ID of the company to retrieve.", - "required": true, - "type": "string", - "location": "path" - }, "requestMetadata.experimentIds": { - "description": "Experiment IDs the current request belongs to.", - "type": "string", "repeated": true, - "location": "query" - }, - "currencyCode": { - "description": "If the company's budget is in a different currency code than this one, then\nthe converted budget is converted to this currency code.", - "type": "string", - "location": "query" - }, - "requestMetadata.trafficSource.trafficSubId": { "location": "query", - "description": "Second level identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", + "description": "Experiment IDs the current request belongs to.", "type": "string" }, - "orderBy": { - "description": "How to order addresses within the returned company. Currently, only\n`address` and `address desc` is supported which will sorted by closest to\nfarthest in distance from given address and farthest to closest distance\nfrom given address respectively.", + "requestMetadata.trafficSource.trafficSubId": { + "description": "Second level identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", + "type": "string", + "location": "query" + }, + "requestMetadata.partnersSessionId": { + "description": "Google Partners session ID.", + "type": "string", + "location": "query" + }, + "requestMetadata.userOverrides.userId": { + "description": "Logged-in user ID to impersonate instead of the user's ID.", + "type": "string", + "location": "query" + }, + "requestMetadata.trafficSource.trafficSourceId": { + "description": "Identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", "type": "string", "location": "query" } + }, + "flatPath": "v2/partnersstatus", + "id": "partners.getPartnersstatus", + "path": "v2/partnersstatus", + "description": "Gets Partners Status of the logged in user's agency.\nShould only be called if the logged in user is the admin of the agency." + } + } + }, + "companies": { + "resources": { + "leads": { + "methods": { + "create": { + "response": { + "$ref": "CreateLeadResponse" + }, + "parameterOrder": [ + "companyId" + ], + "httpMethod": "POST", + "parameters": { + "companyId": { + "description": "The ID of the company to contact.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v2/companies/{companyId}/leads", + "id": "partners.companies.leads.create", + "path": "v2/companies/{companyId}/leads", + "request": { + "$ref": "CreateLeadRequest" + }, + "description": "Creates an advertiser lead for the given company ID." + } } - }, + } + }, + "methods": { "list": { - "description": "Lists companies.", "response": { "$ref": "ListCompaniesResponse" }, "parameterOrder": [], "httpMethod": "GET", "parameters": { - "maxMonthlyBudget.nanos": { - "location": "query", - "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" - }, - "services": { - "description": "List of services that the returned agencies should provide. If this is\nnot empty, any returned agency must have at least one of these services,\nor one of the specializations in the \"specializations\" field.", - "type": "string", - "repeated": true, - "location": "query", - "enum": [ - "SERVICE_UNSPECIFIED", - "S_ADVANCED_ADWORDS_SUPPORT", - "S_ADVERTISING_ON_GOOGLE", - "S_AN_ENHANCED_WEBSITE", - "S_AN_ONLINE_MARKETING_PLAN", - "S_MOBILE_AND_VIDEO_ADS", - "S_MOBILE_WEBSITE_SERVICES" - ] - }, - "requestMetadata.trafficSource.trafficSourceId": { - "location": "query", - "description": "Identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", - "type": "string" - }, - "maxMonthlyBudget.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", - "location": "query" - }, - "minMonthlyBudget.nanos": { - "location": "query", - "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" - }, - "requestMetadata.trafficSource.trafficSubId": { - "location": "query", - "description": "Second level identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", - "type": "string" - }, - "requestMetadata.partnersSessionId": { - "description": "Google Partners session ID.", - "type": "string", - "location": "query" - }, - "pageToken": { - "description": "A token identifying a page of results that the server returns.\nTypically, this is the value of `ListCompaniesResponse.next_page_token`\nreturned from the previous call to\nListCompanies.", - "type": "string", - "location": "query" - }, - "companyName": { - "location": "query", - "description": "Company name to search for.", - "type": "string" - }, - "industries": { - "description": "List of industries the company can help with.", - "type": "string", - "repeated": true, - "location": "query", - "enum": [ - "INDUSTRY_UNSPECIFIED", - "I_AUTOMOTIVE", - "I_BUSINESS_TO_BUSINESS", - "I_CONSUMER_PACKAGED_GOODS", - "I_EDUCATION", - "I_FINANCE", - "I_HEALTHCARE", - "I_MEDIA_AND_ENTERTAINMENT", - "I_RETAIL", - "I_TECHNOLOGY", - "I_TRAVEL" - ] - }, - "websiteUrl": { - "description": "Website URL that will help to find a better matched company.\n.", - "type": "string", - "location": "query" - }, - "gpsMotivations": { - "description": "List of reasons for using Google Partner Search to get companies.", - "type": "string", - "repeated": true, - "location": "query", - "enum": [ - "GPS_MOTIVATION_UNSPECIFIED", - "GPSM_HELP_WITH_ADVERTISING", - "GPSM_HELP_WITH_WEBSITE", - "GPSM_NO_WEBSITE" - ] - }, - "languageCodes": { - "description": "List of language codes that company can support. Only primary language\nsubtags are accepted as defined by\n\u003ca href=\"https://tools.ietf.org/html/bcp47\"\u003eBCP 47\u003c/a\u003e\n(IETF BCP 47, \"Tags for Identifying Languages\").", - "type": "string", - "repeated": true, - "location": "query" - }, - "pageSize": { - "location": "query", - "description": "Requested page size. Server may return fewer companies than requested.\nIf unspecified, server picks an appropriate default.", - "format": "int32", - "type": "integer" - }, - "requestMetadata.userOverrides.ipAddress": { - "location": "query", - "description": "IP address to use instead of the user's geo-located IP address.", - "type": "string" - }, "requestMetadata.experimentIds": { + "repeated": true, "location": "query", "description": "Experiment IDs the current request belongs to.", - "type": "string", - "repeated": true + "type": "string" }, "orderBy": { "location": "query", @@ -789,8 +631,6 @@ "type": "string" }, "specializations": { - "description": "List of specializations that the returned agencies should provide. If this\nis not empty, any returned agency must have at least one of these\nspecializations, or one of the services in the \"services\" field.", - "type": "string", "repeated": true, "location": "query", "enum": [ @@ -800,18 +640,20 @@ "BADGE_SPECIALIZATION_ADWORDS_MOBILE", "BADGE_SPECIALIZATION_ADWORDS_VIDEO", "BADGE_SPECIALIZATION_ADWORDS_SHOPPING" - ] + ], + "description": "List of specializations that the returned agencies should provide. If this\nis not empty, any returned agency must have at least one of these\nspecializations, or one of the services in the \"services\" field.", + "type": "string" }, "maxMonthlyBudget.currencyCode": { - "description": "The 3-letter currency code defined in ISO 4217.", - "type": "string", - "location": "query" - }, - "minMonthlyBudget.currencyCode": { "location": "query", "description": "The 3-letter currency code defined in ISO 4217.", "type": "string" }, + "minMonthlyBudget.currencyCode": { + "description": "The 3-letter currency code defined in ISO 4217.", + "type": "string", + "location": "query" + }, "requestMetadata.userOverrides.userId": { "description": "Logged-in user ID to impersonate instead of the user's ID.", "type": "string", @@ -837,182 +679,431 @@ "location": "query" }, "minMonthlyBudget.units": { - "location": "query", - "description": "The whole units of the amount.\nFor example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", "format": "int64", + "description": "The whole units of the amount.\nFor example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", + "type": "string", + "location": "query" + }, + "maxMonthlyBudget.nanos": { + "format": "int32", + "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.", + "type": "integer", + "location": "query" + }, + "services": { + "enum": [ + "SERVICE_UNSPECIFIED", + "S_ADVANCED_ADWORDS_SUPPORT", + "S_ADVERTISING_ON_GOOGLE", + "S_AN_ENHANCED_WEBSITE", + "S_AN_ONLINE_MARKETING_PLAN", + "S_MOBILE_AND_VIDEO_ADS", + "S_MOBILE_WEBSITE_SERVICES" + ], + "description": "List of services that the returned agencies should provide. If this is\nnot empty, any returned agency must have at least one of these services,\nor one of the specializations in the \"specializations\" field.", + "type": "string", + "repeated": true, + "location": "query" + }, + "requestMetadata.trafficSource.trafficSourceId": { + "description": "Identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", + "type": "string", + "location": "query" + }, + "maxMonthlyBudget.units": { + "format": "int64", + "description": "The whole units of the amount.\nFor example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", + "type": "string", + "location": "query" + }, + "requestMetadata.trafficSource.trafficSubId": { + "description": "Second level identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", + "type": "string", + "location": "query" + }, + "minMonthlyBudget.nanos": { + "format": "int32", + "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.", + "type": "integer", + "location": "query" + }, + "requestMetadata.partnersSessionId": { + "location": "query", + "description": "Google Partners session ID.", "type": "string" + }, + "pageToken": { + "description": "A token identifying a page of results that the server returns.\nTypically, this is the value of `ListCompaniesResponse.next_page_token`\nreturned from the previous call to\nListCompanies.", + "type": "string", + "location": "query" + }, + "companyName": { + "description": "Company name to search for.", + "type": "string", + "location": "query" + }, + "industries": { + "repeated": true, + "location": "query", + "enum": [ + "INDUSTRY_UNSPECIFIED", + "I_AUTOMOTIVE", + "I_BUSINESS_TO_BUSINESS", + "I_CONSUMER_PACKAGED_GOODS", + "I_EDUCATION", + "I_FINANCE", + "I_HEALTHCARE", + "I_MEDIA_AND_ENTERTAINMENT", + "I_RETAIL", + "I_TECHNOLOGY", + "I_TRAVEL" + ], + "description": "List of industries the company can help with.", + "type": "string" + }, + "websiteUrl": { + "location": "query", + "description": "Website URL that will help to find a better matched company.\n.", + "type": "string" + }, + "gpsMotivations": { + "enum": [ + "GPS_MOTIVATION_UNSPECIFIED", + "GPSM_HELP_WITH_ADVERTISING", + "GPSM_HELP_WITH_WEBSITE", + "GPSM_NO_WEBSITE" + ], + "description": "List of reasons for using Google Partner Search to get companies.", + "type": "string", + "repeated": true, + "location": "query" + }, + "languageCodes": { + "repeated": true, + "location": "query", + "description": "List of language codes that company can support. Only primary language\nsubtags are accepted as defined by\n\u003ca href=\"https://tools.ietf.org/html/bcp47\"\u003eBCP 47\u003c/a\u003e\n(IETF BCP 47, \"Tags for Identifying Languages\").", + "type": "string" + }, + "pageSize": { + "format": "int32", + "description": "Requested page size. Server may return fewer companies than requested.\nIf unspecified, server picks an appropriate default.", + "type": "integer", + "location": "query" + }, + "requestMetadata.userOverrides.ipAddress": { + "description": "IP address to use instead of the user's geo-located IP address.", + "type": "string", + "location": "query" } }, "flatPath": "v2/companies", + "id": "partners.companies.list", "path": "v2/companies", - "id": "partners.companies.list" - } - }, - "resources": { - "leads": { - "methods": { - "create": { - "flatPath": "v2/companies/{companyId}/leads", - "path": "v2/companies/{companyId}/leads", - "id": "partners.companies.leads.create", - "request": { - "$ref": "CreateLeadRequest" - }, - "description": "Creates an advertiser lead for the given company ID.", - "response": { - "$ref": "CreateLeadResponse" - }, - "parameterOrder": [ - "companyId" + "description": "Lists companies." + }, + "get": { + "id": "partners.companies.get", + "path": "v2/companies/{companyId}", + "description": "Gets a company.", + "parameterOrder": [ + "companyId" + ], + "httpMethod": "GET", + "response": { + "$ref": "GetCompanyResponse" + }, + "parameters": { + "requestMetadata.experimentIds": { + "description": "Experiment IDs the current request belongs to.", + "type": "string", + "repeated": true, + "location": "query" + }, + "currencyCode": { + "location": "query", + "description": "If the company's budget is in a different currency code than this one, then\nthe converted budget is converted to this currency code.", + "type": "string" + }, + "requestMetadata.trafficSource.trafficSubId": { + "location": "query", + "description": "Second level identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", + "type": "string" + }, + "orderBy": { + "location": "query", + "description": "How to order addresses within the returned company. Currently, only\n`address` and `address desc` is supported which will sorted by closest to\nfarthest in distance from given address and farthest to closest distance\nfrom given address respectively.", + "type": "string" + }, + "requestMetadata.partnersSessionId": { + "location": "query", + "description": "Google Partners session ID.", + "type": "string" + }, + "requestMetadata.userOverrides.userId": { + "description": "Logged-in user ID to impersonate instead of the user's ID.", + "type": "string", + "location": "query" + }, + "view": { + "enum": [ + "COMPANY_VIEW_UNSPECIFIED", + "CV_GOOGLE_PARTNER_SEARCH" ], - "httpMethod": "POST", - "parameters": { - "companyId": { - "description": "The ID of the company to contact.", - "required": true, - "type": "string", - "location": "path" - } - } + "description": "The view of `Company` resource to be returned. This must not be\n`COMPANY_VIEW_UNSPECIFIED`.", + "type": "string", + "location": "query" + }, + "address": { + "description": "The address to use for sorting the company's addresses by proximity.\nIf not given, the geo-located address of the request is used.\nUsed when order_by is set.", + "type": "string", + "location": "query" + }, + "requestMetadata.locale": { + "location": "query", + "description": "Locale to use for the current request.", + "type": "string" + }, + "requestMetadata.trafficSource.trafficSourceId": { + "location": "query", + "description": "Identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", + "type": "string" + }, + "requestMetadata.userOverrides.ipAddress": { + "location": "query", + "description": "IP address to use instead of the user's geo-located IP address.", + "type": "string" + }, + "companyId": { + "description": "The ID of the company to retrieve.", + "type": "string", + "required": true, + "location": "path" } - } + }, + "flatPath": "v2/companies/{companyId}" } } }, "users": { "methods": { + "deleteCompanyRelation": { + "id": "partners.users.deleteCompanyRelation", + "path": "v2/users/{userId}/companyRelation", + "description": "Deletes a user's company relation. Unaffiliaites the user from a company.", + "parameterOrder": [ + "userId" + ], + "httpMethod": "DELETE", + "response": { + "$ref": "Empty" + }, + "parameters": { + "requestMetadata.userOverrides.userId": { + "location": "query", + "description": "Logged-in user ID to impersonate instead of the user's ID.", + "type": "string" + }, + "requestMetadata.partnersSessionId": { + "description": "Google Partners session ID.", + "type": "string", + "location": "query" + }, + "requestMetadata.trafficSource.trafficSourceId": { + "location": "query", + "description": "Identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", + "type": "string" + }, + "requestMetadata.locale": { + "description": "Locale to use for the current request.", + "type": "string", + "location": "query" + }, + "requestMetadata.userOverrides.ipAddress": { + "location": "query", + "description": "IP address to use instead of the user's geo-located IP address.", + "type": "string" + }, + "requestMetadata.experimentIds": { + "description": "Experiment IDs the current request belongs to.", + "type": "string", + "repeated": true, + "location": "query" + }, + "userId": { + "description": "The ID of the user. Can be set to \u003ccode\u003eme\u003c/code\u003e to mean\nthe currently authenticated user.", + "type": "string", + "required": true, + "location": "path" + }, + "requestMetadata.trafficSource.trafficSubId": { + "description": "Second level identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", + "type": "string", + "location": "query" + } + }, + "flatPath": "v2/users/{userId}/companyRelation" + }, + "createCompanyRelation": { + "response": { + "$ref": "CompanyRelation" + }, + "parameterOrder": [ + "userId" + ], + "httpMethod": "PUT", + "parameters": { + "requestMetadata.userOverrides.userId": { + "description": "Logged-in user ID to impersonate instead of the user's ID.", + "type": "string", + "location": "query" + }, + "requestMetadata.partnersSessionId": { + "location": "query", + "description": "Google Partners session ID.", + "type": "string" + }, + "requestMetadata.trafficSource.trafficSourceId": { + "description": "Identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", + "type": "string", + "location": "query" + }, + "requestMetadata.locale": { + "description": "Locale to use for the current request.", + "type": "string", + "location": "query" + }, + "requestMetadata.userOverrides.ipAddress": { + "description": "IP address to use instead of the user's geo-located IP address.", + "type": "string", + "location": "query" + }, + "requestMetadata.experimentIds": { + "description": "Experiment IDs the current request belongs to.", + "type": "string", + "repeated": true, + "location": "query" + }, + "requestMetadata.trafficSource.trafficSubId": { + "description": "Second level identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", + "type": "string", + "location": "query" + }, + "userId": { + "location": "path", + "description": "The ID of the user. Can be set to \u003ccode\u003eme\u003c/code\u003e to mean\nthe currently authenticated user.", + "type": "string", + "required": true + } + }, + "flatPath": "v2/users/{userId}/companyRelation", + "id": "partners.users.createCompanyRelation", + "path": "v2/users/{userId}/companyRelation", + "request": { + "$ref": "CompanyRelation" + }, + "description": "Creates a user's company relation. Affiliates the user to a company." + }, "get": { - "description": "Gets a user.", + "httpMethod": "GET", "parameterOrder": [ "userId" ], "response": { "$ref": "User" }, - "httpMethod": "GET", "parameters": { - "requestMetadata.userOverrides.userId": { + "requestMetadata.experimentIds": { + "repeated": true, "location": "query", - "description": "Logged-in user ID to impersonate instead of the user's ID.", + "description": "Experiment IDs the current request belongs to.", "type": "string" }, + "userId": { + "location": "path", + "description": "Identifier of the user. Can be set to \u003ccode\u003eme\u003c/code\u003e to mean the currently\nauthenticated user.", + "type": "string", + "required": true + }, + "requestMetadata.trafficSource.trafficSubId": { + "location": "query", + "description": "Second level identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", + "type": "string" + }, + "requestMetadata.userOverrides.userId": { + "description": "Logged-in user ID to impersonate instead of the user's ID.", + "type": "string", + "location": "query" + }, "requestMetadata.partnersSessionId": { "location": "query", "description": "Google Partners session ID.", "type": "string" }, "userView": { - "description": "Specifies what parts of the user information to return.", - "type": "string", - "location": "query", "enum": [ "BASIC", "PROFILE", "PUBLIC_PROFILE" - ] + ], + "description": "Specifies what parts of the user information to return.", + "type": "string", + "location": "query" }, "requestMetadata.trafficSource.trafficSourceId": { + "location": "query", "description": "Identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", - "type": "string", - "location": "query" + "type": "string" }, "requestMetadata.locale": { + "location": "query", "description": "Locale to use for the current request.", - "type": "string", - "location": "query" + "type": "string" }, "requestMetadata.userOverrides.ipAddress": { "location": "query", "description": "IP address to use instead of the user's geo-located IP address.", "type": "string" - }, - "requestMetadata.experimentIds": { - "description": "Experiment IDs the current request belongs to.", - "type": "string", - "repeated": true, - "location": "query" - }, - "requestMetadata.trafficSource.trafficSubId": { - "description": "Second level identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", - "type": "string", - "location": "query" - }, - "userId": { - "description": "Identifier of the user. Can be set to \u003ccode\u003eme\u003c/code\u003e to mean the currently\nauthenticated user.", - "required": true, - "type": "string", - "location": "path" } }, "flatPath": "v2/users/{userId}", "path": "v2/users/{userId}", - "id": "partners.users.get" + "id": "partners.users.get", + "description": "Gets a user." }, "updateProfile": { - "request": { - "$ref": "UserProfile" - }, - "description": "Updates a user's profile. A user can only update their own profile and\nshould only be called within the context of a logged in user.", - "response": { - "$ref": "UserProfile" - }, - "parameterOrder": [], - "httpMethod": "PATCH", - "parameters": { - "requestMetadata.trafficSource.trafficSourceId": { - "location": "query", - "description": "Identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", - "type": "string" - }, - "requestMetadata.locale": { - "description": "Locale to use for the current request.", - "type": "string", - "location": "query" - }, - "requestMetadata.userOverrides.ipAddress": { - "location": "query", - "description": "IP address to use instead of the user's geo-located IP address.", - "type": "string" - }, - "requestMetadata.experimentIds": { - "location": "query", - "description": "Experiment IDs the current request belongs to.", - "type": "string", - "repeated": true - }, - "requestMetadata.trafficSource.trafficSubId": { - "location": "query", - "description": "Second level identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", - "type": "string" - }, - "requestMetadata.partnersSessionId": { - "description": "Google Partners session ID.", - "type": "string", - "location": "query" - }, - "requestMetadata.userOverrides.userId": { - "location": "query", - "description": "Logged-in user ID to impersonate instead of the user's ID.", - "type": "string" - } - }, - "flatPath": "v2/users/profile", "path": "v2/users/profile", - "id": "partners.users.updateProfile" - }, - "createCompanyRelation": { + "id": "partners.users.updateProfile", + "description": "Updates a user's profile. A user can only update their own profile and\nshould only be called within the context of a logged in user.", "request": { - "$ref": "CompanyRelation" + "$ref": "UserProfile" }, - "description": "Creates a user's company relation. Affiliates the user to a company.", - "httpMethod": "PUT", - "parameterOrder": [ - "userId" - ], + "httpMethod": "PATCH", + "parameterOrder": [], "response": { - "$ref": "CompanyRelation" + "$ref": "UserProfile" }, "parameters": { + "requestMetadata.locale": { + "location": "query", + "description": "Locale to use for the current request.", + "type": "string" + }, + "requestMetadata.userOverrides.ipAddress": { + "description": "IP address to use instead of the user's geo-located IP address.", + "type": "string", + "location": "query" + }, + "requestMetadata.experimentIds": { + "description": "Experiment IDs the current request belongs to.", + "type": "string", + "repeated": true, + "location": "query" + }, + "requestMetadata.trafficSource.trafficSubId": { + "location": "query", + "description": "Second level identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", + "type": "string" + }, "requestMetadata.userOverrides.userId": { "description": "Logged-in user ID to impersonate instead of the user's ID.", "type": "string", @@ -1027,203 +1118,33 @@ "description": "Identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", "type": "string", "location": "query" - }, - "requestMetadata.locale": { - "description": "Locale to use for the current request.", - "type": "string", - "location": "query" - }, - "requestMetadata.userOverrides.ipAddress": { - "location": "query", - "description": "IP address to use instead of the user's geo-located IP address.", - "type": "string" - }, - "requestMetadata.experimentIds": { - "description": "Experiment IDs the current request belongs to.", - "type": "string", - "repeated": true, - "location": "query" - }, - "requestMetadata.trafficSource.trafficSubId": { - "description": "Second level identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", - "type": "string", - "location": "query" - }, - "userId": { - "description": "The ID of the user. Can be set to \u003ccode\u003eme\u003c/code\u003e to mean\nthe currently authenticated user.", - "required": true, - "type": "string", - "location": "path" } }, - "flatPath": "v2/users/{userId}/companyRelation", - "id": "partners.users.createCompanyRelation", - "path": "v2/users/{userId}/companyRelation" - }, - "deleteCompanyRelation": { - "description": "Deletes a user's company relation. Unaffiliaites the user from a company.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "userId" - ], - "httpMethod": "DELETE", - "parameters": { - "requestMetadata.experimentIds": { - "description": "Experiment IDs the current request belongs to.", - "type": "string", - "repeated": true, - "location": "query" - }, - "requestMetadata.trafficSource.trafficSubId": { - "location": "query", - "description": "Second level identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", - "type": "string" - }, - "userId": { - "description": "The ID of the user. Can be set to \u003ccode\u003eme\u003c/code\u003e to mean\nthe currently authenticated user.", - "required": true, - "type": "string", - "location": "path" - }, - "requestMetadata.partnersSessionId": { - "description": "Google Partners session ID.", - "type": "string", - "location": "query" - }, - "requestMetadata.userOverrides.userId": { - "description": "Logged-in user ID to impersonate instead of the user's ID.", - "type": "string", - "location": "query" - }, - "requestMetadata.trafficSource.trafficSourceId": { - "location": "query", - "description": "Identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", - "type": "string" - }, - "requestMetadata.locale": { - "description": "Locale to use for the current request.", - "type": "string", - "location": "query" - }, - "requestMetadata.userOverrides.ipAddress": { - "description": "IP address to use instead of the user's geo-located IP address.", - "type": "string", - "location": "query" - } - }, - "flatPath": "v2/users/{userId}/companyRelation", - "path": "v2/users/{userId}/companyRelation", - "id": "partners.users.deleteCompanyRelation" + "flatPath": "v2/users/profile" } } }, "userEvents": { "methods": { "log": { - "description": "Logs a user event.", - "request": { - "$ref": "LogUserEventRequest" - }, - "httpMethod": "POST", - "parameterOrder": [], "response": { "$ref": "LogUserEventResponse" }, + "parameterOrder": [], + "httpMethod": "POST", "parameters": {}, "flatPath": "v2/userEvents:log", "id": "partners.userEvents.log", - "path": "v2/userEvents:log" - } - } - }, - "clientMessages": { - "methods": { - "log": { - "flatPath": "v2/clientMessages:log", - "id": "partners.clientMessages.log", - "path": "v2/clientMessages:log", - "description": "Logs a generic message from the client, such as\n`Failed to render component`, `Profile page is running slow`,\n`More than 500 users have accessed this result.`, etc.", + "path": "v2/userEvents:log", "request": { - "$ref": "LogMessageRequest" + "$ref": "LogUserEventRequest" }, - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "LogMessageResponse" - }, - "parameters": {} + "description": "Logs a user event." } } } }, "parameters": { - "fields": { - "location": "query", - "description": "Selector specifying which fields to include in a partial response.", - "type": "string" - }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string", - "location": "query" - }, - "callback": { - "description": "JSONP", - "type": "string", - "location": "query" - }, - "$.xgafv": { - "description": "V1 error format.", - "type": "string", - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" - ] - }, - "alt": { - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query", - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], - "type": "string" - }, - "access_token": { - "location": "query", - "description": "OAuth access token.", - "type": "string" - }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, - "quotaUser": { - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" - }, - "pp": { - "description": "Pretty-print response.", - "type": "boolean", - "default": "true", - "location": "query" - }, "bearer_token": { "description": "OAuth bearer token.", "type": "string", @@ -1241,69 +1162,753 @@ }, "prettyPrint": { "description": "Returns response with indentations and line breaks.", - "type": "boolean", "default": "true", + "type": "boolean", "location": "query" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", + "location": "query" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string", + "location": "query" + }, + "$.xgafv": { + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, + "alt": { + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "type": "string" + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "access_token": { + "location": "query", + "description": "OAuth access token.", + "type": "string" + }, + "quotaUser": { + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string" + }, + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" } }, "schemas": { + "Certification": { + "properties": { + "warning": { + "description": "Whether this certification is in the state of warning.", + "type": "boolean" + }, + "expiration": { + "format": "google-datetime", + "description": "Date this certification is due to expire.", + "type": "string" + }, + "achieved": { + "description": "Whether this certification has been achieved.", + "type": "boolean" + }, + "certificationType": { + "enumDescriptions": [ + "Unchosen.", + "AdWords certified.", + "YouTube certified.", + "VideoAds certified.", + "Analytics certified.", + "DoubleClick certified.", + "Shopping certified.", + "Mobile certified.", + "Digital sales certified.", + "AdWords Search certified.", + "AdWords Display certified.", + "Mobile Sites certified." + ], + "enum": [ + "CERTIFICATION_TYPE_UNSPECIFIED", + "CT_ADWORDS", + "CT_YOUTUBE", + "CT_VIDEOADS", + "CT_ANALYTICS", + "CT_DOUBLECLICK", + "CT_SHOPPING", + "CT_MOBILE", + "CT_DIGITAL_SALES", + "CT_ADWORDS_SEARCH", + "CT_ADWORDS_DISPLAY", + "CT_MOBILE_SITES" + ], + "description": "The type of certification, the area of expertise.", + "type": "string" + }, + "lastAchieved": { + "format": "google-datetime", + "description": "The date the user last achieved certification.", + "type": "string" + } + }, + "id": "Certification", + "description": "A user's information on a specific certification.", + "type": "object" + }, + "User": { + "properties": { + "profile": { + "description": "The profile information of a Partners user, contains all the directly\neditable user information.", + "$ref": "UserProfile" + }, + "company": { + "description": "The company that the user is associated with.\nIf not present, the user is not associated with any company.", + "$ref": "CompanyRelation" + }, + "lastAccessTime": { + "format": "google-datetime", + "description": "The most recent time the user interacted with the Partners site.\n@OutputOnly", + "type": "string" + }, + "availableAdwordsManagerAccounts": { + "description": "This is the list of AdWords Manager Accounts the user has edit access to.\nIf the user has edit access to multiple accounts, the user can choose the\npreferred account and we use this when a personal account is needed. Can\nbe empty meaning the user has access to no accounts.\n@OutputOnly", + "items": { + "$ref": "AdWordsManagerAccountInfo" + }, + "type": "array" + }, + "primaryEmails": { + "description": "The list of emails the user has access to/can select as primary.\n@OutputOnly", + "items": { + "type": "string" + }, + "type": "array" + }, + "internalId": { + "description": "The internal user ID.\nOnly available for a whitelisted set of api clients.", + "type": "string" + }, + "examStatus": { + "description": "The list of exams the user ever taken. For each type of exam, only one\nentry is listed.", + "items": { + "$ref": "ExamStatus" + }, + "type": "array" + }, + "id": { + "description": "The ID of the user.", + "type": "string" + }, + "publicProfile": { + "description": "Information about a user's external public profile outside Google Partners.", + "$ref": "PublicProfile" + }, + "certificationStatus": { + "description": "The list of achieved certifications. These are calculated based on exam\nresults and other requirements.\n@OutputOnly", + "items": { + "$ref": "Certification" + }, + "type": "array" + }, + "companyVerificationEmail": { + "description": "The email address used by the user used for company verification.\n@OutputOnly", + "type": "string" + } + }, + "id": "User", + "description": "A resource representing a user of the Partners platform.", + "type": "object" + }, + "ListAnalyticsResponse": { + "description": "Response message for\nListAnalytics.", + "type": "object", + "properties": { + "analytics": { + "description": "The list of analytics.\nSorted in ascending order of\nAnalytics.event_date.", + "items": { + "$ref": "Analytics" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve next page of results.\nPass this value in the `ListAnalyticsRequest.page_token` field in the\nsubsequent call to\nListAnalytics to retrieve the\nnext page of results.", + "type": "string" + }, + "analyticsSummary": { + "description": "Aggregated information across the response's\nanalytics.", + "$ref": "AnalyticsSummary" + }, + "responseMetadata": { + "$ref": "ResponseMetadata", + "description": "Current response metadata." + } + }, + "id": "ListAnalyticsResponse" + }, + "Company": { + "description": "A company resource in the Google Partners API. Once certified, it qualifies\nfor being searched by advertisers.", + "type": "object", + "properties": { + "industries": { + "enumDescriptions": [ + "Unchosen.", + "The automotive industry.", + "The business-to-business industry.", + "The consumer packaged goods industry.", + "The education industry.", + "The finance industry.", + "The healthcare industry.", + "The media and entertainment industry.", + "The retail industry.", + "The technology industry.", + "The travel industry." + ], + "description": "Industries the company can help with.", + "items": { + "enum": [ + "INDUSTRY_UNSPECIFIED", + "I_AUTOMOTIVE", + "I_BUSINESS_TO_BUSINESS", + "I_CONSUMER_PACKAGED_GOODS", + "I_EDUCATION", + "I_FINANCE", + "I_HEALTHCARE", + "I_MEDIA_AND_ENTERTAINMENT", + "I_RETAIL", + "I_TECHNOLOGY", + "I_TRAVEL" + ], + "type": "string" + }, + "type": "array" + }, + "additionalWebsites": { + "description": "URL of the company's additional websites used to verify the dynamic badges.\nThese are stored as full URLs as entered by the user, but only the TLD will\nbe used for the actual verification.", + "items": { + "type": "string" + }, + "type": "array" + }, + "websiteUrl": { + "description": "URL of the company's website.", + "type": "string" + }, + "primaryAdwordsManagerAccountId": { + "format": "int64", + "description": "The Primary AdWords Manager Account id.", + "type": "string" + }, + "name": { + "description": "The name of the company.", + "type": "string" + }, + "localizedInfos": { + "description": "The list of localized info for the company.", + "items": { + "$ref": "LocalizedCompanyInfo" + }, + "type": "array" + }, + "certificationStatuses": { + "description": "The list of Google Partners certification statuses for the company.", + "items": { + "$ref": "CertificationStatus" + }, + "type": "array" + }, + "id": { + "description": "The ID of the company.", + "type": "string" + }, + "primaryLocation": { + "$ref": "Location", + "description": "The primary location of the company." + }, + "services": { + "description": "Services the company can help with.", + "items": { + "enum": [ + "SERVICE_UNSPECIFIED", + "S_ADVANCED_ADWORDS_SUPPORT", + "S_ADVERTISING_ON_GOOGLE", + "S_AN_ENHANCED_WEBSITE", + "S_AN_ONLINE_MARKETING_PLAN", + "S_MOBILE_AND_VIDEO_ADS", + "S_MOBILE_WEBSITE_SERVICES" + ], + "type": "string" + }, + "type": "array", + "enumDescriptions": [ + "Unchosen.", + "Help with advanced AdWords support.", + "Help with advertising on Google.", + "Help with an enhanced website.", + "Help with an online marketing plan.", + "Help with mobile and video ads.", + "Help with mobile websites." + ] + }, + "originalMinMonthlyBudget": { + "$ref": "Money", + "description": "The unconverted minimum monthly budget that the company accepts for partner\nbusiness." + }, + "publicProfile": { + "$ref": "PublicProfile", + "description": "Basic information from the company's public profile." + }, + "ranks": { + "description": "Information related to the ranking of the company within the list of\ncompanies.", + "items": { + "$ref": "Rank" + }, + "type": "array" + }, + "badgeTier": { + "enumDescriptions": [ + "Tier badge is not set.", + "Agency has regular partner badge.", + "Agency has premier badge." + ], + "enum": [ + "BADGE_TIER_NONE", + "BADGE_TIER_REGULAR", + "BADGE_TIER_PREMIER" + ], + "description": "Partner badge tier", + "type": "string" + }, + "specializationStatus": { + "description": "The list of Google Partners specialization statuses for the company.", + "items": { + "$ref": "SpecializationStatus" + }, + "type": "array" + }, + "companyTypes": { + "enumDescriptions": [ + "Unchosen.", + "Handles all aspects of the advertising process.", + "Focuses solely on an advertiser's media placement.", + "Plans/executes advertising campaigns.", + "Like a\nFULL_SERVICE_AGENCY,\nbut specializing in digital.", + "Increases visibility in search engine result pages.", + "Drives promotional efforts for immediate impact.", + "Focuses on bid management, conversion, reporting.", + "Establishes favorable relationship with public through low/no-cost\ncommunications.", + "Does not manage other company's accounts, manages own marketing programs.", + "Full-service AdWords account management for local businesses." + ], + "description": "Company type labels listed on the company's profile.", + "items": { + "enum": [ + "COMPANY_TYPE_UNSPECIFIED", + "FULL_SERVICE_AGENCY", + "MEDIA_AGENCY", + "CREATIVE_AGENCY", + "CDIGITAL_AGENCY", + "SEM_SEO", + "PERFORMANCE_MARKETING", + "ADVERTISING_TOOL_DEVELOPMENT", + "PR", + "SELF_MANAGED", + "RESELLER" + ], + "type": "string" + }, + "type": "array" + }, + "autoApprovalEmailDomains": { + "description": "Email domains that allow users with a matching email address to get\nauto-approved for associating with this company.", + "items": { + "type": "string" + }, + "type": "array" + }, + "primaryLanguageCode": { + "description": "The primary language code of the company, as defined by\n\u003ca href=\"https://tools.ietf.org/html/bcp47\"\u003eBCP 47\u003c/a\u003e\n(IETF BCP 47, \"Tags for Identifying Languages\").", + "type": "string" + }, + "profileStatus": { + "enumDescriptions": [ + "Unchosen.", + "Company profile does not show up publicly.", + "Company profile can only be viewed by the profile's URL\nand not by Google Partner Search.", + "Company profile can be viewed by the profile's URL\nand by Google Partner Search." + ], + "enum": [ + "COMPANY_PROFILE_STATUS_UNSPECIFIED", + "HIDDEN", + "PUBLISHED", + "SEARCHABLE" + ], + "description": "The public viewability status of the company's profile.", + "type": "string" + }, + "locations": { + "description": "The list of all company locations.\nIf set, must include the\nprimary_location\nin the list.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "convertedMinMonthlyBudget": { + "$ref": "Money", + "description": "The minimum monthly budget that the company accepts for partner business,\nconverted to the requested currency code." + } + }, + "id": "Company" + }, + "ListLeadsResponse": { + "properties": { + "nextPageToken": { + "description": "A token to retrieve next page of results.\nPass this value in the `ListLeadsRequest.page_token` field in the\nsubsequent call to\nListLeads to retrieve the\nnext page of results.", + "type": "string" + }, + "totalSize": { + "format": "int32", + "description": "The total count of leads for the given company.", + "type": "integer" + }, + "responseMetadata": { + "$ref": "ResponseMetadata", + "description": "Current response metadata." + }, + "leads": { + "description": "The list of leads.", + "items": { + "$ref": "Lead" + }, + "type": "array" + } + }, + "id": "ListLeadsResponse", + "description": "Response message for ListLeads.", + "type": "object" + }, + "CreateLeadResponse": { + "properties": { + "recaptchaStatus": { + "enum": [ + "RECAPTCHA_STATUS_UNSPECIFIED", + "RS_NOT_NEEDED", + "RS_PASSED", + "RS_FAILED" + ], + "description": "The outcome of \u003ca href=\"https://www.google.com/recaptcha/\"\u003ereCaptcha\u003c/a\u003e\nvalidation.", + "type": "string", + "enumDescriptions": [ + "Unchosen.", + "No reCaptcha validation needed.", + "reCaptcha challenge passed.", + "reCaptcha challenge failed." + ] + }, + "lead": { + "$ref": "Lead", + "description": "Lead that was created depending on the outcome of\n\u003ca href=\"https://www.google.com/recaptcha/\"\u003ereCaptcha\u003c/a\u003e validation." + }, + "responseMetadata": { + "description": "Current response metadata.", + "$ref": "ResponseMetadata" + } + }, + "id": "CreateLeadResponse", + "description": "Response message for CreateLead.", + "type": "object" + }, + "GetCompanyResponse": { + "properties": { + "responseMetadata": { + "$ref": "ResponseMetadata", + "description": "Current response metadata." + }, + "company": { + "description": "The company.", + "$ref": "Company" + } + }, + "id": "GetCompanyResponse", + "description": "Response message for GetCompany.", + "type": "object" + }, + "Location": { + "description": "A location with address and geographic coordinates. May optionally contain a\ndetailed (multi-field) version of the address.", + "type": "object", + "properties": { + "administrativeArea": { + "description": "Top-level administrative subdivision of this country.", + "type": "string" + }, + "locality": { + "description": "Generally refers to the city/town portion of an address.", + "type": "string" + }, + "latLng": { + "$ref": "LatLng", + "description": "The latitude and longitude of the location, in degrees." + }, + "dependentLocality": { + "description": "Dependent locality or sublocality. Used for UK dependent localities, or\nneighborhoods or boroughs in other locations.", + "type": "string" + }, + "address": { + "description": "The single string version of the address.", + "type": "string" + }, + "regionCode": { + "description": "CLDR (Common Locale Data Repository) region code .", + "type": "string" + }, + "postalCode": { + "description": "Values are frequently alphanumeric.", + "type": "string" + }, + "languageCode": { + "description": "Language code of the address. Should be in BCP 47 format.", + "type": "string" + }, + "sortingCode": { + "description": "Use of this code is very country-specific, but will refer to a secondary\nclassification code for sorting mail.", + "type": "string" + }, + "addressLine": { + "description": "The following address lines represent the most specific part of any\naddress.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "Location" + }, + "CertificationExamStatus": { + "properties": { + "numberUsersPass": { + "format": "int32", + "description": "The number of people who have passed the certification exam.", + "type": "integer" + }, + "type": { + "enum": [ + "CERTIFICATION_EXAM_TYPE_UNSPECIFIED", + "CET_ADWORDS_FUNDAMENTALS", + "CET_ADWORDS_ADVANCED_SEARCH", + "CET_ADWORDS_ADVANCED_DISPLAY", + "CET_VIDEO_ADS", + "CET_DOUBLECLICK", + "CET_ANALYTICS", + "CET_SHOPPING", + "CET_MOBILE", + "CET_DIGITAL_SALES", + "CET_MOBILE_SITES" + ], + "description": "The type of certification exam.", + "type": "string", + "enumDescriptions": [ + "Unchosen.", + "Adwords Fundamentals exam.", + "AdWords advanced search exam.", + "AdWords advanced display exam.", + "VideoAds exam.", + "DoubleClick exam.", + "Analytics exam.", + "Shopping exam.", + "Mobile exam.", + "Digital Sales exam.", + "Mobile Sites exam." + ] + } + }, + "id": "CertificationExamStatus", + "description": "Status for a Google Partners certification exam.", + "type": "object" + }, + "ExamToken": { + "description": "A token that allows a user to take an exam.", + "type": "object", + "properties": { + "examId": { + "format": "int64", + "description": "The id of the exam the token is for.", + "type": "string" + }, + "token": { + "description": "The token, only present if the user has access to the exam.", + "type": "string" + }, + "examType": { + "enum": [ + "CERTIFICATION_EXAM_TYPE_UNSPECIFIED", + "CET_ADWORDS_FUNDAMENTALS", + "CET_ADWORDS_ADVANCED_SEARCH", + "CET_ADWORDS_ADVANCED_DISPLAY", + "CET_VIDEO_ADS", + "CET_DOUBLECLICK", + "CET_ANALYTICS", + "CET_SHOPPING", + "CET_MOBILE", + "CET_DIGITAL_SALES", + "CET_MOBILE_SITES" + ], + "description": "The type of the exam the token belongs to.", + "type": "string", + "enumDescriptions": [ + "Unchosen.", + "Adwords Fundamentals exam.", + "AdWords advanced search exam.", + "AdWords advanced display exam.", + "VideoAds exam.", + "DoubleClick exam.", + "Analytics exam.", + "Shopping exam.", + "Mobile exam.", + "Digital Sales exam.", + "Mobile Sites exam." + ] + } + }, + "id": "ExamToken" + }, + "OptIns": { + "description": "A set of opt-ins for a user.", + "type": "object", + "properties": { + "specialOffers": { + "description": "An opt-in about receiving email regarding new features and products.", + "type": "boolean" + }, + "performanceSuggestions": { + "description": "An opt-in about receiving email with customized AdWords campaign management\ntips.", + "type": "boolean" + }, + "phoneContact": { + "description": "An opt-in to allow recieivng phone calls about their Partners account.", + "type": "boolean" + }, + "physicalMail": { + "description": "An opt-in to receive special promotional gifts and material in the mail.", + "type": "boolean" + }, + "marketComm": { + "description": "An opt-in about receiving email from Partners marketing teams. Includes\nmember-only events and special promotional offers for Google products.", + "type": "boolean" + } + }, + "id": "OptIns" + }, "Rank": { "description": "Information related to ranking of results.", "type": "object", "properties": { "type": { + "enum": [ + "RANK_TYPE_UNSPECIFIED", + "RT_FINAL_SCORE" + ], "description": "The type of rank.", "type": "string", "enumDescriptions": [ "Unchosen.", "Total final score." - ], - "enum": [ - "RANK_TYPE_UNSPECIFIED", - "RT_FINAL_SCORE" ] }, "value": { - "description": "The numerical value of the rank.", "format": "double", + "description": "The numerical value of the rank.", "type": "number" } }, "id": "Rank" }, "UserProfile": { - "description": "The profile information of a Partners user.", - "type": "object", "properties": { - "emailOptIns": { - "$ref": "OptIns", - "description": "The list of opt-ins for the user, related to communication preferences." + "jobFunctions": { + "description": "A list of ids represnting which job categories the user selected.", + "items": { + "type": "string" + }, + "type": "array" + }, + "givenName": { + "description": "The user's given name.", + "type": "string" + }, + "address": { + "description": "The user's mailing address, contains multiple fields.", + "$ref": "Location" + }, + "industries": { + "description": "A list of ids representing which industries the user selected.", + "items": { + "type": "string" + }, + "type": "array" + }, + "languages": { + "description": "The list of languages this user understands.", + "items": { + "type": "string" + }, + "type": "array" }, "familyName": { "description": "The user's family name.", "type": "string" }, - "languages": { - "description": "The list of languages this user understands.", - "type": "array", - "items": { - "type": "string" - } + "emailOptIns": { + "description": "The list of opt-ins for the user, related to communication preferences.", + "$ref": "OptIns" }, "markets": { "description": "A list of ids representing which markets the user was interested in.", - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, "phoneNumber": { "description": "The user's phone number.", "type": "string" }, "adwordsManagerAccount": { - "description": "If the user has edit access to multiple accounts, the user can choose the\npreferred account and it is used when a personal account is needed. Can\nbe empty.", "format": "int64", + "description": "If the user has edit access to multiple accounts, the user can choose the\npreferred account and it is used when a personal account is needed. Can\nbe empty.", "type": "string" }, "primaryCountryCode": { @@ -1316,55 +1921,74 @@ }, "channels": { "description": "A list of ids representing which channels the user selected they were in.", - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, "profilePublic": { "description": "Whether the user's public profile is visible to anyone with the URL.", "type": "boolean" - }, - "jobFunctions": { - "description": "A list of ids represnting which job categories the user selected.", - "type": "array", - "items": { - "type": "string" - } - }, - "givenName": { - "description": "The user's given name.", - "type": "string" - }, - "address": { - "description": "The user's mailing address, contains multiple fields.", - "$ref": "Location" - }, - "industries": { - "description": "A list of ids representing which industries the user selected.", - "type": "array", - "items": { - "type": "string" - } } }, - "id": "UserProfile" + "id": "UserProfile", + "description": "The profile information of a Partners user.", + "type": "object" }, "GetPartnersStatusResponse": { "description": "Response message for\nGetPartnersStatus.", "type": "object", "properties": { "responseMetadata": { - "$ref": "ResponseMetadata", - "description": "Current response metadata." + "description": "Current response metadata.", + "$ref": "ResponseMetadata" } }, "id": "GetPartnersStatusResponse" }, "HistoricalOffer": { - "description": "Historical information about a Google Partners Offer.", - "type": "object", "properties": { + "creationTime": { + "format": "google-datetime", + "description": "Time offer was first created.", + "type": "string" + }, + "status": { + "enumDescriptions": [ + "Unset.", + "Offer distributed.", + "Offer redeemed.", + "Offer awarded.", + "Offer expired." + ], + "enum": [ + "OFFER_STATUS_UNSPECIFIED", + "OFFER_STATUS_DISTRIBUTED", + "OFFER_STATUS_REDEEMED", + "OFFER_STATUS_AWARDED", + "OFFER_STATUS_EXPIRED" + ], + "description": "Status of the offer.", + "type": "string" + }, + "clientEmail": { + "description": "Email address for client.", + "type": "string" + }, + "clientId": { + "format": "int64", + "description": "ID of client.", + "type": "string" + }, + "clientName": { + "description": "Name of the client.", + "type": "string" + }, + "lastModifiedTime": { + "format": "google-datetime", + "description": "Time last action was taken.", + "type": "string" + }, "adwordsUrl": { "description": "Client's AdWords page URL.", "type": "string" @@ -1394,69 +2018,30 @@ "type": "string" }, "expirationTime": { - "description": "Time this offer expires.", "format": "google-datetime", + "description": "Time this offer expires.", "type": "string" }, "offerCode": { "description": "Offer code.", "type": "string" - }, - "creationTime": { - "description": "Time offer was first created.", - "format": "google-datetime", - "type": "string" - }, - "clientEmail": { - "description": "Email address for client.", - "type": "string" - }, - "status": { - "description": "Status of the offer.", - "type": "string", - "enumDescriptions": [ - "Unset.", - "Offer distributed.", - "Offer redeemed.", - "Offer awarded.", - "Offer expired." - ], - "enum": [ - "OFFER_STATUS_UNSPECIFIED", - "OFFER_STATUS_DISTRIBUTED", - "OFFER_STATUS_REDEEMED", - "OFFER_STATUS_AWARDED", - "OFFER_STATUS_EXPIRED" - ] - }, - "clientId": { - "description": "ID of client.", - "format": "int64", - "type": "string" - }, - "clientName": { - "description": "Name of the client.", - "type": "string" - }, - "lastModifiedTime": { - "description": "Time last action was taken.", - "format": "google-datetime", - "type": "string" } }, - "id": "HistoricalOffer" + "id": "HistoricalOffer", + "description": "Historical information about a Google Partners Offer.", + "type": "object" }, "UserOverrides": { "description": "Values to use instead of the user's respective defaults. These are only\nhonored by whitelisted products.", "type": "object", "properties": { - "ipAddress": { - "description": "IP address to use instead of the user's geo-located IP address.", - "type": "string" - }, "userId": { "description": "Logged-in user ID to impersonate instead of the user's ID.", "type": "string" + }, + "ipAddress": { + "description": "IP address to use instead of the user's geo-located IP address.", + "type": "string" } }, "id": "UserOverrides" @@ -1465,40 +2050,7 @@ "description": "Request message for\nLogUserEvent.", "type": "object", "properties": { - "requestMetadata": { - "$ref": "RequestMetadata", - "description": "Current request metadata." - }, - "url": { - "description": "The URL where the event occurred.", - "type": "string" - }, - "eventScope": { - "enumDescriptions": [ - "Unchosen.", - "Based on visitor.", - "Based on session.", - "Based on page visit." - ], - "enum": [ - "EVENT_SCOPE_UNSPECIFIED", - "VISITOR", - "SESSION", - "PAGE" - ], - "description": "The scope of the event.", - "type": "string" - }, - "eventDatas": { - "description": "List of event data for the event.", - "type": "array", - "items": { - "$ref": "EventData" - } - }, "eventCategory": { - "description": "The category the action belongs to.", - "type": "string", "enumDescriptions": [ "Unchosen.", "Google Partner Search category.", @@ -1534,171 +2086,15 @@ "GOOGLE_PARTNER_PORTAL_COMPANY_PROFILE", "EXTERNAL_LINKS", "GOOGLE_PARTNER_LANDING" - ] + ], + "description": "The category the action belongs to.", + "type": "string" }, "lead": { "$ref": "Lead", "description": "Advertiser lead information." }, "eventAction": { - "enumDescriptions": [ - "Unchosen.", - "Advertiser clicked `Find a partner` bottom button.", - "Advertiser clicked `Find a partner` top button.", - "Agency clicked `Join now` bottom button.", - "Agency clicked `Join now` top button.", - "Advertiser canceled partner contact form.", - "Advertiser started partner contact form.", - "Advertiser completed partner contact form.", - "Advertiser entered email in contact form.", - "Advertiser entered name in contact form.", - "Advertiser entered phone in contact form.", - "Advertiser failed \u003ca href=\"https://www.google.com/recaptcha/\"\u003ereCaptcha\u003c/a\u003e\nin contact form.", - "Company viewed by advertiser.", - "Advertiser canceled partner contact form on Google Partner Search.", - "Advertiser changed a top search parameter.", - "Advertiser started partner contact form on Google Partner Search.", - "Advertiser clicked `Show more partners` bottom button.", - "Advertiser completed partner contact form on Google Partner Search.", - "Advertiser saw no partners available with search criteria.", - "Advertiser performed search on Google Partner Search.", - "Advertiser viewed a partner on Google Partner Search.", - "Advertiser canceled partner contact form on profile page.", - "Advertiser started partner contact form on profile page.", - "Advertiser clicked partner website.", - "Advertiser completed contact form on profile page.", - "Advertiser viewed a partner profile.", - "Agency clicked `accept Terms Of Service` button.", - "Agency changed Terms Of Service country.", - "Agency added address in profile portal.", - "Agency added phone number in profile portal.", - "Agency changed primary account association.", - "Agency changed primary country association.", - "Agency clicked `affiliate` button in profile portal.", - "Agency clicked `give edit access` in profile portal.", - "Agency clicked `log out` in profile portal.", - "Agency clicked profile portal left nav.", - "Agency clicked `save and continue` at bottom of complete profile.", - "Agency clicked `unaffiliate` in profile portal.", - "Agency filled out company affiliation in profile portal.", - "Agency successfully connected with company in profile portal.", - "Agency clicked create MCC in profile portal.", - "Agency did not have an MCC associated on profile portal.", - "Agency had an MCC associated on profile portal.", - "Agency added job function in profile portal.", - "Agency looked at job function drop-down.", - "Agency selected `account manage` as job function.", - "Agency selected `account planner` as job function.", - "Agency selected `Analytics` as job function.", - "Agency selected `creative` as job function.", - "Agency selected `media buyer` as job function.", - "Agency selected `media planner` as job function.", - "Agency selected `other` as job function.", - "Agency selected `production` as job function.", - "Agency selected `SEO` as job function.", - "Agency selected `sales rep` as job function.", - "Agency selected `search specialist` as job function.", - "Agency added channels in profile portal.", - "Agency looked at `add channel` drop-down.", - "Agency selected `cross channel` from add channel drop-down.", - "Agency selected `display` from add channel drop-down.", - "Agency selected `mobile` from add channel drop-down.", - "Agency selected `search` from add channel drop-down.", - "Agency selected `social` from add channel drop-down.", - "Agency selected `tools` from add channel drop-down.", - "Agency selected `YouTube` from add channel drop-down.", - "Agency added industries in profile portal.", - "Agency changed `add industries` drop-down.", - "Agency added markets in profile portal.", - "Agency changed `add markets` drop-down.", - "Agency checked `recieve mail promotions` in profile portal.", - "Agency checked `recieve mail promotions` in sign-up.", - "Agency selected `opt-in beta tests and market research`.", - "Agency selected `opt-in beta tests` in profile portal.", - "Agency selected `opt-in news` in profile portal.", - "Agency selected `opt-in news invitations and promotions`.", - "Agency selected `opt-in performance SUG` in profile portal.", - "Agency selected `opt-in performance suggestions`.", - "Agency selected `opt-in select all email notifications`.", - "Agency selected `select all opt-ins` in profile portal.", - "Agency clicked back button on `connect with company`.", - "Agency clicked continue to overview on `connect with company`.", - "Agency clicked `create MCC connect with company not found`.", - "Agency clicked `give edit access connect with company not found`.", - "Agency clicked `log out connect with company not found`.", - "Agency clicked `skip for now on connect with company page`.", - "Agency closed connection to company.", - "Agency completed field connect with company.", - "Agency found company to connect with.", - "Agency successfully created company.", - "Agency added new company location.", - "Agency clicked community `join now link` in portal notifications.", - "Agency clicked `connect to company` link in portal notifications.", - "Agency cliecked `get certified` link in portal notifications.", - "Agency clicked `get VideoAds certified` link in portal notifications.", - "Agency clicked `link to MCC` link in portal notifications.", - "Agency clicked `insight content` in portal.", - "Agency clicked `insights view now pitch decks` in portal.", - "Agency clicked `insights` left nav in portal.", - "Agency clicked `insights upload content`.", - "Agency clicked `insights viewed deprecated`.", - "Agency clicked `community` left nav in portal.", - "Agency clicked `join community` button in community portal.", - "Agency clicked `certifications` left nav in portal.", - "Agency clicked `certifications product` left nav in portal.", - "Agency clicked `partner status` left nav in portal.", - "Agency clicked `partner status product` left nav in portal.", - "Agency clicked `offers` left nav in portal.", - "Agency clicked `send` button on offers page.", - "Agency clicked `exam details` on certifications AdWords page.", - "Agency clicked `see exams` certifications main page.", - "Agency clicked `take exam` on certifications exam page.", - "Agency opened `last admin` dialog.", - "Agency opened dialog with no users.", - "Agency promoted user to admin.", - "Agency unaffiliated.", - "Agency changed roles.", - "Advertiser clicked `company name` link to profile.", - "Advertiser viewed AdWords certificate.", - "Advertiser viewed AdWords Search certificate.", - "Advertiser viewed AdWords Display certificate.", - "Advertiser clicked AdWords certificate help icon.", - "Advertiser viewed Analytics certificate.", - "Advertiser viewed DoubleClick certificate.", - "Advertiser viewed Mobile Sites certificate.", - "Advertiser viewed VideoAds certificate.", - "Advertiser clicked Shopping certificate help icon.", - "Advertiser clicked VideoAds certificate help icon.", - "Clicked `help` at bottom.", - "Clicked `help` at top.", - "Client error occurred.", - "Agency clicked left nav `stories`.", - "Click occured.", - "Advertiser clicked Mobile certificate help icon.", - "Agency failed the company verification.", - "User visited the landing portion of Google Partners.", - "User visited the Google Partner Search portion of Google Partners.", - "User visited the agency portal portion of Google Partners.", - "User cancelled signing up.", - "User cancelled signing up their company.", - "Agency clicked `Sign in` top button.", - "Agency clicked `save and continue` at bottom of incomplete profile.", - "Agency unselected `opt-in news invitations and promotions`.", - "Agency unselected `opt-in beta tests and market research`.", - "Agency unselected `opt-in performance suggestions`.", - "Agency selected `opt-out unselect all email notifications`.", - "Agency linked their individual MCC.", - "Agency was suggested to user for affiliation.", - "Agency ignored suggested agencies and begin searching.", - "Agency picked a suggested agency.", - "Agency searched for agencies.", - "Agency picked a searched agency.", - "Agency dismissed affiliation widget.", - "Agency clicked on the download link for downloading content.", - "Agency user is maklingg progress viewing a content item.", - "Agency clicked `cancel Terms Of Service` button.", - "Advertiser entered website in contact form." - ], "enum": [ "EVENT_ACTION_UNSPECIFIED", "SMB_CLICKED_FIND_A_PARTNER_BUTTON_BOTTOM", @@ -1827,6 +2223,7 @@ "SMB_VIEWED_VIDEO_ADS_CERTIFICATE", "SMB_VIEWED_SHOPPING_CERTIFICATE", "SMB_CLICKED_VIDEO_ADS_CERTIFICATE_HELP_ICON", + "SMB_VIEWED_DIGITAL_SALES_CERTIFICATE", "CLICKED_HELP_AT_BOTTOM", "CLICKED_HELP_AT_TOP", "CLIENT_ERROR", @@ -1858,45 +2255,235 @@ "SMB_ENTERED_WEBSITE_IN_CONTACT_PARTNER_FORM" ], "description": "The action that occurred.", + "type": "string", + "enumDescriptions": [ + "Unchosen.", + "Advertiser clicked `Find a partner` bottom button.", + "Advertiser clicked `Find a partner` top button.", + "Agency clicked `Join now` bottom button.", + "Agency clicked `Join now` top button.", + "Advertiser canceled partner contact form.", + "Advertiser started partner contact form.", + "Advertiser completed partner contact form.", + "Advertiser entered email in contact form.", + "Advertiser entered name in contact form.", + "Advertiser entered phone in contact form.", + "Advertiser failed \u003ca href=\"https://www.google.com/recaptcha/\"\u003ereCaptcha\u003c/a\u003e\nin contact form.", + "Company viewed by advertiser.", + "Advertiser canceled partner contact form on Google Partner Search.", + "Advertiser changed a top search parameter.", + "Advertiser started partner contact form on Google Partner Search.", + "Advertiser clicked `Show more partners` bottom button.", + "Advertiser completed partner contact form on Google Partner Search.", + "Advertiser saw no partners available with search criteria.", + "Advertiser performed search on Google Partner Search.", + "Advertiser viewed a partner on Google Partner Search.", + "Advertiser canceled partner contact form on profile page.", + "Advertiser started partner contact form on profile page.", + "Advertiser clicked partner website.", + "Advertiser completed contact form on profile page.", + "Advertiser viewed a partner profile.", + "Agency clicked `accept Terms Of Service` button.", + "Agency changed Terms Of Service country.", + "Agency added address in profile portal.", + "Agency added phone number in profile portal.", + "Agency changed primary account association.", + "Agency changed primary country association.", + "Agency clicked `affiliate` button in profile portal.", + "Agency clicked `give edit access` in profile portal.", + "Agency clicked `log out` in profile portal.", + "Agency clicked profile portal left nav.", + "Agency clicked `save and continue` at bottom of complete profile.", + "Agency clicked `unaffiliate` in profile portal.", + "Agency filled out company affiliation in profile portal.", + "Agency successfully connected with company in profile portal.", + "Agency clicked create MCC in profile portal.", + "Agency did not have an MCC associated on profile portal.", + "Agency had an MCC associated on profile portal.", + "Agency added job function in profile portal.", + "Agency looked at job function drop-down.", + "Agency selected `account manage` as job function.", + "Agency selected `account planner` as job function.", + "Agency selected `Analytics` as job function.", + "Agency selected `creative` as job function.", + "Agency selected `media buyer` as job function.", + "Agency selected `media planner` as job function.", + "Agency selected `other` as job function.", + "Agency selected `production` as job function.", + "Agency selected `SEO` as job function.", + "Agency selected `sales rep` as job function.", + "Agency selected `search specialist` as job function.", + "Agency added channels in profile portal.", + "Agency looked at `add channel` drop-down.", + "Agency selected `cross channel` from add channel drop-down.", + "Agency selected `display` from add channel drop-down.", + "Agency selected `mobile` from add channel drop-down.", + "Agency selected `search` from add channel drop-down.", + "Agency selected `social` from add channel drop-down.", + "Agency selected `tools` from add channel drop-down.", + "Agency selected `YouTube` from add channel drop-down.", + "Agency added industries in profile portal.", + "Agency changed `add industries` drop-down.", + "Agency added markets in profile portal.", + "Agency changed `add markets` drop-down.", + "Agency checked `recieve mail promotions` in profile portal.", + "Agency checked `recieve mail promotions` in sign-up.", + "Agency selected `opt-in beta tests and market research`.", + "Agency selected `opt-in beta tests` in profile portal.", + "Agency selected `opt-in news` in profile portal.", + "Agency selected `opt-in news invitations and promotions`.", + "Agency selected `opt-in performance SUG` in profile portal.", + "Agency selected `opt-in performance suggestions`.", + "Agency selected `opt-in select all email notifications`.", + "Agency selected `select all opt-ins` in profile portal.", + "Agency clicked back button on `connect with company`.", + "Agency clicked continue to overview on `connect with company`.", + "Agency clicked `create MCC connect with company not found`.", + "Agency clicked `give edit access connect with company not found`.", + "Agency clicked `log out connect with company not found`.", + "Agency clicked `skip for now on connect with company page`.", + "Agency closed connection to company.", + "Agency completed field connect with company.", + "Agency found company to connect with.", + "Agency successfully created company.", + "Agency added new company location.", + "Agency clicked community `join now link` in portal notifications.", + "Agency clicked `connect to company` link in portal notifications.", + "Agency cliecked `get certified` link in portal notifications.", + "Agency clicked `get VideoAds certified` link in portal notifications.", + "Agency clicked `link to MCC` link in portal notifications.", + "Agency clicked `insight content` in portal.", + "Agency clicked `insights view now pitch decks` in portal.", + "Agency clicked `insights` left nav in portal.", + "Agency clicked `insights upload content`.", + "Agency clicked `insights viewed deprecated`.", + "Agency clicked `community` left nav in portal.", + "Agency clicked `join community` button in community portal.", + "Agency clicked `certifications` left nav in portal.", + "Agency clicked `certifications product` left nav in portal.", + "Agency clicked `partner status` left nav in portal.", + "Agency clicked `partner status product` left nav in portal.", + "Agency clicked `offers` left nav in portal.", + "Agency clicked `send` button on offers page.", + "Agency clicked `exam details` on certifications AdWords page.", + "Agency clicked `see exams` certifications main page.", + "Agency clicked `take exam` on certifications exam page.", + "Agency opened `last admin` dialog.", + "Agency opened dialog with no users.", + "Agency promoted user to admin.", + "Agency unaffiliated.", + "Agency changed roles.", + "Advertiser clicked `company name` link to profile.", + "Advertiser viewed AdWords certificate.", + "Advertiser viewed AdWords Search certificate.", + "Advertiser viewed AdWords Display certificate.", + "Advertiser clicked AdWords certificate help icon.", + "Advertiser viewed Analytics certificate.", + "Advertiser viewed DoubleClick certificate.", + "Advertiser viewed Mobile Sites certificate.", + "Advertiser viewed VideoAds certificate.", + "Advertiser clicked Shopping certificate help icon.", + "Advertiser clicked VideoAds certificate help icon.", + "Advertiser viewed Digital Sales certificate.", + "Clicked `help` at bottom.", + "Clicked `help` at top.", + "Client error occurred.", + "Agency clicked left nav `stories`.", + "Click occured.", + "Advertiser clicked Mobile certificate help icon.", + "Agency failed the company verification.", + "User visited the landing portion of Google Partners.", + "User visited the Google Partner Search portion of Google Partners.", + "User visited the agency portal portion of Google Partners.", + "User cancelled signing up.", + "User cancelled signing up their company.", + "Agency clicked `Sign in` top button.", + "Agency clicked `save and continue` at bottom of incomplete profile.", + "Agency unselected `opt-in news invitations and promotions`.", + "Agency unselected `opt-in beta tests and market research`.", + "Agency unselected `opt-in performance suggestions`.", + "Agency selected `opt-out unselect all email notifications`.", + "Agency linked their individual MCC.", + "Agency was suggested to user for affiliation.", + "Agency ignored suggested agencies and begin searching.", + "Agency picked a suggested agency.", + "Agency searched for agencies.", + "Agency picked a searched agency.", + "Agency dismissed affiliation widget.", + "Agency clicked on the download link for downloading content.", + "Agency user is maklingg progress viewing a content item.", + "Agency clicked `cancel Terms Of Service` button.", + "Advertiser entered website in contact form." + ] + }, + "url": { + "description": "The URL where the event occurred.", "type": "string" + }, + "requestMetadata": { + "description": "Current request metadata.", + "$ref": "RequestMetadata" + }, + "eventScope": { + "enum": [ + "EVENT_SCOPE_UNSPECIFIED", + "VISITOR", + "SESSION", + "PAGE" + ], + "description": "The scope of the event.", + "type": "string", + "enumDescriptions": [ + "Unchosen.", + "Based on visitor.", + "Based on session.", + "Based on page visit." + ] + }, + "eventDatas": { + "description": "List of event data for the event.", + "items": { + "$ref": "EventData" + }, + "type": "array" } }, "id": "LogUserEventRequest" }, "AnalyticsDataPoint": { - "description": "Details of the analytics events for a `Company` within a single day.", - "type": "object", "properties": { "eventCount": { - "description": "Number of times the type of event occurred.\nMeaning depends on context (e.g. profile views, contacts, etc.).", "format": "int32", + "description": "Number of times the type of event occurred.\nMeaning depends on context (e.g. profile views, contacts, etc.).", "type": "integer" }, "eventLocations": { "description": "Location information of where these events occurred.", - "type": "array", "items": { "$ref": "LatLng" - } + }, + "type": "array" } }, - "id": "AnalyticsDataPoint" + "id": "AnalyticsDataPoint", + "description": "Details of the analytics events for a `Company` within a single day.", + "type": "object" }, "Analytics": { "description": "Analytics data for a `Company` within a single day.", "type": "object", "properties": { - "eventDate": { - "$ref": "Date", - "description": "Date on which these events occurred." + "searchViews": { + "$ref": "AnalyticsDataPoint", + "description": "Instances of users seeing the `Company` in Google Partners Search results\non the specified date." }, "profileViews": { "description": "Instances of users viewing the `Company` profile\non the specified date.", "$ref": "AnalyticsDataPoint" }, - "searchViews": { - "$ref": "AnalyticsDataPoint", - "description": "Instances of users seeing the `Company` in Google Partners Search results\non the specified date." + "eventDate": { + "$ref": "Date", + "description": "Date on which these events occurred." }, "contacts": { "$ref": "AnalyticsDataPoint", @@ -1905,13 +2492,38 @@ }, "id": "Analytics" }, - "AdWordsManagerAccountInfo": { - "description": "Information about a particular AdWords Manager Account.\nRead more at https://support.google.com/adwords/answer/6139186", + "PublicProfile": { + "description": "Basic information from a public profile.", "type": "object", + "properties": { + "profileImage": { + "description": "The URL to the main profile image of the public profile.", + "type": "string" + }, + "displayImageUrl": { + "description": "The URL to the main display image of the public profile. Being deprecated.", + "type": "string" + }, + "displayName": { + "description": "The display name of the public profile.", + "type": "string" + }, + "url": { + "description": "The URL of the public profile.", + "type": "string" + }, + "id": { + "description": "The ID which can be used to retrieve more details about the public profile.", + "type": "string" + } + }, + "id": "PublicProfile" + }, + "AdWordsManagerAccountInfo": { "properties": { "id": { - "description": "The AdWords Manager Account id.", "format": "int64", + "description": "The AdWords Manager Account id.", "type": "string" }, "customerName": { @@ -1919,49 +2531,22 @@ "type": "string" } }, - "id": "AdWordsManagerAccountInfo" - }, - "PublicProfile": { - "description": "Basic information from a public profile.", - "type": "object", - "properties": { - "displayName": { - "description": "The display name of the public profile.", - "type": "string" - }, - "displayImageUrl": { - "description": "The URL to the main display image of the public profile. Being deprecated.", - "type": "string" - }, - "id": { - "description": "The ID which can be used to retrieve more details about the public profile.", - "type": "string" - }, - "url": { - "description": "The URL of the public profile.", - "type": "string" - }, - "profileImage": { - "description": "The URL to the main profile image of the public profile.", - "type": "string" - } - }, - "id": "PublicProfile" + "id": "AdWordsManagerAccountInfo", + "description": "Information about a particular AdWords Manager Account.\nRead more at https://support.google.com/adwords/answer/6139186", + "type": "object" }, "ResponseMetadata": { - "description": "Common data that is in each API response.", - "type": "object", "properties": { "debugInfo": { "description": "Debug information about this request.", "$ref": "DebugInfo" } }, - "id": "ResponseMetadata" + "id": "ResponseMetadata", + "description": "Common data that is in each API response.", + "type": "object" }, "RecaptchaChallenge": { - "description": "\u003ca href=\"https://www.google.com/recaptcha/\"\u003ereCaptcha\u003c/a\u003e challenge info.", - "type": "object", "properties": { "response": { "description": "The response to the reCaptcha challenge.", @@ -1972,20 +2557,21 @@ "type": "string" } }, - "id": "RecaptchaChallenge" + "id": "RecaptchaChallenge", + "description": "\u003ca href=\"https://www.google.com/recaptcha/\"\u003ereCaptcha\u003c/a\u003e challenge info.", + "type": "object" }, "AvailableOffer": { "description": "Available Offers to be distributed.", "type": "object", "properties": { - "countryOfferInfos": { - "description": "Offer info by country.", - "type": "array", - "items": { - "$ref": "CountryOfferInfo" - } - }, "offerType": { + "enum": [ + "OFFER_TYPE_UNSPECIFIED", + "OFFER_TYPE_SPEND_X_GET_Y", + "OFFER_TYPE_VIDEO", + "OFFER_TYPE_SPEND_MATCH" + ], "description": "Type of offer.", "type": "string", "enumDescriptions": [ @@ -1993,25 +2579,19 @@ "AdWords spend X get Y.", "Youtube video.", "Spend Match up to Y." - ], - "enum": [ - "OFFER_TYPE_UNSPECIFIED", - "OFFER_TYPE_SPEND_X_GET_Y", - "OFFER_TYPE_VIDEO", - "OFFER_TYPE_SPEND_MATCH" ] }, "maxAccountAge": { - "description": "The maximum age of an account [in days] to be eligible.", "format": "int32", + "description": "The maximum age of an account [in days] to be eligible.", "type": "integer" }, "qualifiedCustomer": { "description": "Customers who qualify for this offer.", - "type": "array", "items": { "$ref": "OfferCustomer" - } + }, + "type": "array" }, "terms": { "description": "Terms of the offer.", @@ -2022,8 +2602,8 @@ "type": "boolean" }, "available": { - "description": "The number of codes for this offer that are available for distribution.", "format": "int32", + "description": "The number of codes for this offer that are available for distribution.", "type": "integer" }, "description": { @@ -2058,34 +2638,41 @@ "description": "Name of the offer.", "type": "string" }, + "id": { + "format": "int64", + "description": "ID of this offer.", + "type": "string" + }, "qualifiedCustomersComplete": { "description": "Whether or not the list of qualified customers is definitely complete.", "type": "boolean" }, - "id": { - "description": "ID of this offer.", - "format": "int64", - "type": "string" + "countryOfferInfos": { + "description": "Offer info by country.", + "items": { + "$ref": "CountryOfferInfo" + }, + "type": "array" } }, "id": "AvailableOffer" }, "LatLng": { - "description": "An object representing a latitude/longitude pair. This is expressed as a pair\nof doubles representing degrees latitude and degrees longitude. Unless\nspecified otherwise, this must conform to the\n\u003ca href=\"http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf\"\u003eWGS84\nstandard\u003c/a\u003e. Values must be within normalized ranges.\n\nExample of normalization code in Python:\n\n def NormalizeLongitude(longitude):\n \"\"\"Wraps decimal degrees longitude to [-180.0, 180.0].\"\"\"\n q, r = divmod(longitude, 360.0)\n if r \u003e 180.0 or (r == 180.0 and q \u003c= -1.0):\n return r - 360.0\n return r\n\n def NormalizeLatLng(latitude, longitude):\n \"\"\"Wraps decimal degrees latitude and longitude to\n [-90.0, 90.0] and [-180.0, 180.0], respectively.\"\"\"\n r = latitude % 360.0\n if r \u003c= 90.0:\n return r, NormalizeLongitude(longitude)\n elif r \u003e= 270.0:\n return r - 360, NormalizeLongitude(longitude)\n else:\n return 180 - r, NormalizeLongitude(longitude + 180.0)\n\n assert 180.0 == NormalizeLongitude(180.0)\n assert -180.0 == NormalizeLongitude(-180.0)\n assert -179.0 == NormalizeLongitude(181.0)\n assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)\n assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)\n assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)\n assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)\n assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)\n assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)\n assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)\n assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)\n assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)\n assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)", - "type": "object", "properties": { - "latitude": { - "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", + "longitude": { "format": "double", + "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].", "type": "number" }, - "longitude": { - "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].", + "latitude": { "format": "double", + "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", "type": "number" } }, - "id": "LatLng" + "id": "LatLng", + "description": "An object representing a latitude/longitude pair. This is expressed as a pair\nof doubles representing degrees latitude and degrees longitude. Unless\nspecified otherwise, this must conform to the\n\u003ca href=\"http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf\"\u003eWGS84\nstandard\u003c/a\u003e. Values must be within normalized ranges.\n\nExample of normalization code in Python:\n\n def NormalizeLongitude(longitude):\n \"\"\"Wraps decimal degrees longitude to [-180.0, 180.0].\"\"\"\n q, r = divmod(longitude, 360.0)\n if r \u003e 180.0 or (r == 180.0 and q \u003c= -1.0):\n return r - 360.0\n return r\n\n def NormalizeLatLng(latitude, longitude):\n \"\"\"Wraps decimal degrees latitude and longitude to\n [-90.0, 90.0] and [-180.0, 180.0], respectively.\"\"\"\n r = latitude % 360.0\n if r \u003c= 90.0:\n return r, NormalizeLongitude(longitude)\n elif r \u003e= 270.0:\n return r - 360, NormalizeLongitude(longitude)\n else:\n return 180 - r, NormalizeLongitude(longitude + 180.0)\n\n assert 180.0 == NormalizeLongitude(180.0)\n assert -180.0 == NormalizeLongitude(-180.0)\n assert -179.0 == NormalizeLongitude(181.0)\n assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)\n assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)\n assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)\n assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)\n assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)\n assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)\n assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)\n assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)\n assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)\n assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)", + "type": "object" }, "Money": { "description": "Represents an amount of money with its currency type.", @@ -2096,39 +2683,39 @@ "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", + "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.", "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", + "description": "The whole units of the amount.\nFor example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", "type": "string" } }, "id": "Money" }, "AnalyticsSummary": { - "description": "Analytics aggregated data for a `Company` for a given date range.", - "type": "object", "properties": { - "contactsCount": { - "description": "Aggregated number of times users contacted the `Company`\nfor given date range.", - "format": "int32", - "type": "integer" - }, "profileViewsCount": { - "description": "Aggregated number of profile views for the `Company` for given date range.", "format": "int32", + "description": "Aggregated number of profile views for the `Company` for given date range.", "type": "integer" }, "searchViewsCount": { - "description": "Aggregated number of times users saw the `Company`\nin Google Partners Search results for given date range.", "format": "int32", + "description": "Aggregated number of times users saw the `Company`\nin Google Partners Search results for given date range.", + "type": "integer" + }, + "contactsCount": { + "format": "int32", + "description": "Aggregated number of times users contacted the `Company`\nfor given date range.", "type": "integer" } }, - "id": "AnalyticsSummary" + "id": "AnalyticsSummary", + "description": "Analytics aggregated data for a `Company` for a given date range.", + "type": "object" }, "LogMessageRequest": { "description": "Request message for\nLogClientMessage.", @@ -2142,8 +2729,8 @@ "type": "object" }, "requestMetadata": { - "$ref": "RequestMetadata", - "description": "Current request metadata." + "description": "Current request metadata.", + "$ref": "RequestMetadata" }, "level": { "enumDescriptions": [ @@ -2170,32 +2757,11 @@ }, "id": "LogMessageRequest" }, - "DebugInfo": { - "description": "Debug information about this request.", - "type": "object", - "properties": { - "serviceUrl": { - "description": "URL of the service that handled this request.", - "type": "string" - }, - "serverInfo": { - "description": "Info about the server that serviced this request.", - "type": "string" - }, - "serverTraceInfo": { - "description": "Server-side debug stack trace.", - "type": "string" - } - }, - "id": "DebugInfo" - }, "Lead": { - "description": "A lead resource that represents an advertiser contact for a `Company`. These\nare usually generated via Google Partner Search (the advertiser portal).", - "type": "object", "properties": { "adwordsCustomerId": { - "description": "The AdWords Customer ID of the lead.", "format": "int64", + "description": "The AdWords Customer ID of the lead.", "type": "string" }, "phoneNumber": { @@ -2203,8 +2769,8 @@ "type": "string" }, "createTime": { - "description": "Timestamp of when this lead was created.", "format": "google-datetime", + "description": "Timestamp of when this lead was created.", "type": "string" }, "marketingOptIn": { @@ -2224,8 +2790,8 @@ "type": "string" }, "minMonthlyBudget": { - "description": "The minimum monthly budget lead source is willing to spend.", - "$ref": "Money" + "$ref": "Money", + "description": "The minimum monthly budget lead source is willing to spend." }, "givenName": { "description": "First name of lead source.", @@ -2247,20 +2813,18 @@ "Advertiser does not have a website." ], "description": "List of reasons for using Google Partner Search and creating a lead.", - "type": "array", "items": { - "type": "string", "enum": [ "GPS_MOTIVATION_UNSPECIFIED", "GPSM_HELP_WITH_ADVERTISING", "GPSM_HELP_WITH_WEBSITE", "GPSM_NO_WEBSITE" - ] - } + ], + "type": "string" + }, + "type": "array" }, "state": { - "description": "The lead's state in relation to the company.", - "type": "string", "enumDescriptions": [ "Unchosen.", "Lead not yet contacted.", @@ -2274,7 +2838,9 @@ "CONTACTED", "CLIENT", "OTHER" - ] + ], + "description": "The lead's state in relation to the company.", + "type": "string" }, "email": { "description": "Email address of lead source.", @@ -2293,19 +2859,41 @@ "type": "string" } }, - "id": "Lead" + "id": "Lead", + "description": "A lead resource that represents an advertiser contact for a `Company`. These\nare usually generated via Google Partner Search (the advertiser portal).", + "type": "object" + }, + "DebugInfo": { + "description": "Debug information about this request.", + "type": "object", + "properties": { + "serverTraceInfo": { + "description": "Server-side debug stack trace.", + "type": "string" + }, + "serverInfo": { + "description": "Info about the server that serviced this request.", + "type": "string" + }, + "serviceUrl": { + "description": "URL of the service that handled this request.", + "type": "string" + } + }, + "id": "DebugInfo" }, "ListUserStatesResponse": { - "description": "Response message for\nListUserStates.", - "type": "object", "properties": { "responseMetadata": { "description": "Current response metadata.", "$ref": "ResponseMetadata" }, "userStates": { + "enumDescriptions": [ + "Unchosen.", + "User must pass \u003ca href=\"https://www.google.com/recaptcha/\"\u003ereCaptcha\u003c/a\u003e to\ncontact a Partner via Google Partner Search." + ], "description": "User's states.", - "type": "array", "items": { "enum": [ "USER_STATE_UNSPECIFIED", @@ -2313,25 +2901,99 @@ ], "type": "string" }, - "enumDescriptions": [ - "Unchosen.", - "User must pass \u003ca href=\"https://www.google.com/recaptcha/\"\u003ereCaptcha\u003c/a\u003e to\ncontact a Partner via Google Partner Search." - ] + "type": "array" } }, - "id": "ListUserStatesResponse" + "id": "ListUserStatesResponse", + "description": "Response message for\nListUserStates.", + "type": "object" }, "CompanyRelation": { "description": "A CompanyRelation resource representing information about a user's\naffiliation and standing with a company in Partners.", "type": "object", "properties": { + "resolvedTimestamp": { + "format": "google-datetime", + "description": "The timestamp when the user was approved.\n@OutputOnly", + "type": "string" + }, + "companyAdmin": { + "description": "Indicates if the user is an admin for this company.", + "type": "boolean" + }, + "isPending": { + "description": "The flag that indicates if the company is pending verification.", + "type": "boolean" + }, + "address": { + "description": "The primary address for this company.", + "type": "string" + }, + "creationTime": { + "format": "google-datetime", + "description": "The timestamp of when affiliation was requested.\n@OutputOnly", + "type": "string" + }, + "state": { + "enum": [ + "USER_COMPANY_REATION_STATE_NONE_SPECIFIED", + "USER_COMPANY_RELATION_STATE_AWAIT_EMAIL", + "USER_COMPANY_RELATION_STATE_AWAIT_ADMIN", + "USER_COMPANY_RELATION_STATE_APPROVED" + ], + "description": "The state of relationship, in terms of approvals.", + "type": "string", + "enumDescriptions": [ + "Default unspecified value.", + "User has filled in a request to be associated with an company.\nNow waiting email confirmation.", + "Pending approval from company.\nEmail confirmation will not approve this one.", + "Approved by company." + ] + }, + "primaryAddress": { + "description": "The primary location of the company.", + "$ref": "Location" + }, + "managerAccount": { + "format": "int64", + "description": "The AdWords manager account # associated this company.", + "type": "string" + }, + "name": { + "description": "The name (in the company's primary language) for the company.", + "type": "string" + }, + "segment": { + "description": "The segment the company is classified as.", + "items": { + "enum": [ + "COMPANY_SEGMENT_UNKNOWN", + "COMPANY_SEGMENT_NAL", + "COMPANY_SEGMENT_PSP", + "COMPANY_SEGMENT_PPSP" + ], + "type": "string" + }, + "type": "array", + "enumDescriptions": [ + "Default segment indicates an unknown.", + "Segment representing a selected group of Partners", + "Segment representing Premier SMB Partners, an AdWords partnership program.", + "A segment of Premier SMB Partners that have relationship with Google." + ] + }, "internalCompanyId": { "description": "The internal company ID.\nOnly available for a whitelisted set of api clients.", "type": "string" }, + "specializationStatus": { + "description": "The list of Google Partners specialization statuses for the company.", + "items": { + "$ref": "SpecializationStatus" + }, + "type": "array" + }, "badgeTier": { - "description": "Whether the company is a Partner.", - "type": "string", "enumDescriptions": [ "Tier badge is not set.", "Agency has regular partner badge.", @@ -2341,23 +3003,18 @@ "BADGE_TIER_NONE", "BADGE_TIER_REGULAR", "BADGE_TIER_PREMIER" - ] - }, - "specializationStatus": { - "description": "The list of Google Partners specialization statuses for the company.", - "type": "array", - "items": { - "$ref": "SpecializationStatus" - } - }, - "phoneNumber": { - "description": "The phone number for the company's primary address.", + ], + "description": "Whether the company is a Partner.", "type": "string" }, "website": { "description": "The website URL for this company.", "type": "string" }, + "phoneNumber": { + "description": "The phone number for the company's primary address.", + "type": "string" + }, "primaryCountryCode": { "description": "The primary country code of the company.", "type": "string" @@ -2373,111 +3030,39 @@ "logoUrl": { "description": "A URL to a profile photo, e.g. a G+ profile photo.", "type": "string" - }, - "resolvedTimestamp": { - "description": "The timestamp when the user was approved.\n@OutputOnly", - "format": "google-datetime", - "type": "string" - }, - "companyAdmin": { - "description": "Indicates if the user is an admin for this company.", - "type": "boolean" - }, - "isPending": { - "description": "The flag that indicates if the company is pending verification.", - "type": "boolean" - }, - "address": { - "description": "The primary address for this company.", - "type": "string" - }, - "creationTime": { - "description": "The timestamp of when affiliation was requested.\n@OutputOnly", - "format": "google-datetime", - "type": "string" - }, - "state": { - "enumDescriptions": [ - "Default unspecified value.", - "User has filled in a request to be associated with an company.\nNow waiting email confirmation.", - "Pending approval from company.\nEmail confirmation will not approve this one.", - "Approved by company." - ], - "enum": [ - "USER_COMPANY_REATION_STATE_NONE_SPECIFIED", - "USER_COMPANY_RELATION_STATE_AWAIT_EMAIL", - "USER_COMPANY_RELATION_STATE_AWAIT_ADMIN", - "USER_COMPANY_RELATION_STATE_APPROVED" - ], - "description": "The state of relationship, in terms of approvals.", - "type": "string" - }, - "primaryAddress": { - "description": "The primary location of the company.", - "$ref": "Location" - }, - "name": { - "description": "The name (in the company's primary language) for the company.", - "type": "string" - }, - "managerAccount": { - "description": "The AdWords manager account # associated this company.", - "format": "int64", - "type": "string" - }, - "segment": { - "description": "The segment the company is classified as.", - "type": "array", - "items": { - "type": "string", - "enum": [ - "COMPANY_SEGMENT_UNKNOWN", - "COMPANY_SEGMENT_NAL", - "COMPANY_SEGMENT_PSP", - "COMPANY_SEGMENT_PPSP" - ] - }, - "enumDescriptions": [ - "Default segment indicates an unknown.", - "Segment representing a selected group of Partners", - "Segment representing Premier SMB Partners, an AdWords partnership program.", - "A segment of Premier SMB Partners that have relationship with Google." - ] } }, "id": "CompanyRelation" }, "Date": { - "description": "Represents a whole calendar date, e.g. date of birth. The time of day and\ntime zone are either specified elsewhere or are not significant. The date\nis relative to the Proleptic Gregorian Calendar. The day may be 0 to\nrepresent a year and month where the day is not significant, e.g. credit card\nexpiration date. The year may be 0 to represent a month and day independent\nof year, e.g. anniversary date. Related types are google.type.TimeOfDay\nand `google.protobuf.Timestamp`.", - "type": "object", "properties": { - "year": { - "description": "Year of date. Must be from 1 to 9999, or 0 if specifying a date without\na year.", + "day": { "format": "int32", + "description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0\nif specifying a year/month where the day is not significant.", "type": "integer" }, - "day": { - "description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0\nif specifying a year/month where the day is not significant.", + "year": { "format": "int32", + "description": "Year of date. Must be from 1 to 9999, or 0 if specifying a date without\na year.", "type": "integer" }, "month": { - "description": "Month of year. Must be from 1 to 12.", "format": "int32", + "description": "Month of year. Must be from 1 to 12.", "type": "integer" } }, - "id": "Date" + "id": "Date", + "description": "Represents a whole calendar date, e.g. date of birth. The time of day and\ntime zone are either specified elsewhere or are not significant. The date\nis relative to the Proleptic Gregorian Calendar. The day may be 0 to\nrepresent a year and month where the day is not significant, e.g. credit card\nexpiration date. The year may be 0 to represent a month and day independent\nof year, e.g. anniversary date. Related types are google.type.TimeOfDay\nand `google.protobuf.Timestamp`.", + "type": "object" }, "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", - "type": "object", "properties": {}, - "id": "Empty" + "id": "Empty", + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object" }, "TrafficSource": { - "description": "Source of traffic for the current request.", - "type": "object", "properties": { "trafficSourceId": { "description": "Identifier to indicate where the traffic comes from.\nAn identifier has multiple letters created by a team which redirected the\ntraffic to us.", @@ -2488,53 +3073,55 @@ "type": "string" } }, - "id": "TrafficSource" + "id": "TrafficSource", + "description": "Source of traffic for the current request.", + "type": "object" }, "RequestMetadata": { - "description": "Common data that is in each API request.", - "type": "object", "properties": { - "userOverrides": { - "$ref": "UserOverrides", - "description": "Values to use instead of the user's respective defaults for the current\nrequest. These are only honored by whitelisted products." + "trafficSource": { + "$ref": "TrafficSource", + "description": "Source of traffic for the current request." + }, + "experimentIds": { + "description": "Experiment IDs the current request belongs to.", + "items": { + "type": "string" + }, + "type": "array" + }, + "locale": { + "description": "Locale to use for the current request.", + "type": "string" }, "partnersSessionId": { "description": "Google Partners session ID.", "type": "string" }, - "experimentIds": { - "description": "Experiment IDs the current request belongs to.", - "type": "array", - "items": { - "type": "string" - } - }, - "trafficSource": { - "$ref": "TrafficSource", - "description": "Source of traffic for the current request." - }, - "locale": { - "description": "Locale to use for the current request.", - "type": "string" + "userOverrides": { + "description": "Values to use instead of the user's respective defaults for the current\nrequest. These are only honored by whitelisted products.", + "$ref": "UserOverrides" } }, - "id": "RequestMetadata" + "id": "RequestMetadata", + "description": "Common data that is in each API request.", + "type": "object" }, "CreateLeadRequest": { "description": "Request message for CreateLead.", "type": "object", "properties": { + "requestMetadata": { + "$ref": "RequestMetadata", + "description": "Current request metadata." + }, + "recaptchaChallenge": { + "description": "\u003ca href=\"https://www.google.com/recaptcha/\"\u003ereCaptcha\u003c/a\u003e challenge info.", + "$ref": "RecaptchaChallenge" + }, "lead": { "description": "The lead resource. The `LeadType` must not be `LEAD_TYPE_UNSPECIFIED`\nand either `email` or `phone_number` must be provided.", "$ref": "Lead" - }, - "recaptchaChallenge": { - "$ref": "RecaptchaChallenge", - "description": "\u003ca href=\"https://www.google.com/recaptcha/\"\u003ereCaptcha\u003c/a\u003e challenge info." - }, - "requestMetadata": { - "description": "Current request metadata.", - "$ref": "RequestMetadata" } }, "id": "CreateLeadRequest" @@ -2629,10 +3216,10 @@ }, "values": { "description": "Data values.", - "type": "array", "items": { "type": "string" - } + }, + "type": "array" } }, "id": "EventData" @@ -2641,7 +3228,43 @@ "description": "A user's information on a specific exam.", "type": "object", "properties": { + "passed": { + "description": "Whether this exam has been passed and not expired.", + "type": "boolean" + }, + "taken": { + "format": "google-datetime", + "description": "The date the user last taken this exam.", + "type": "string" + }, + "warning": { + "description": "Whether this exam is in the state of warning.", + "type": "boolean" + }, + "expiration": { + "format": "google-datetime", + "description": "Date this exam is due to expire.", + "type": "string" + }, + "lastPassed": { + "format": "google-datetime", + "description": "The date the user last passed this exam.", + "type": "string" + }, "examType": { + "enum": [ + "CERTIFICATION_EXAM_TYPE_UNSPECIFIED", + "CET_ADWORDS_FUNDAMENTALS", + "CET_ADWORDS_ADVANCED_SEARCH", + "CET_ADWORDS_ADVANCED_DISPLAY", + "CET_VIDEO_ADS", + "CET_DOUBLECLICK", + "CET_ANALYTICS", + "CET_SHOPPING", + "CET_MOBILE", + "CET_DIGITAL_SALES", + "CET_MOBILE_SITES" + ], "description": "The type of the exam.", "type": "string", "enumDescriptions": [ @@ -2656,51 +3279,17 @@ "Mobile exam.", "Digital Sales exam.", "Mobile Sites exam." - ], - "enum": [ - "CERTIFICATION_EXAM_TYPE_UNSPECIFIED", - "CET_ADWORDS_FUNDAMENTALS", - "CET_ADWORDS_ADVANCED_SEARCH", - "CET_ADWORDS_ADVANCED_DISPLAY", - "CET_VIDEO_ADS", - "CET_DOUBLECLICK", - "CET_ANALYTICS", - "CET_SHOPPING", - "CET_MOBILE", - "CET_DIGITAL_SALES", - "CET_MOBILE_SITES" ] - }, - "taken": { - "description": "The date the user last taken this exam.", - "format": "google-datetime", - "type": "string" - }, - "passed": { - "description": "Whether this exam has been passed and not expired.", - "type": "boolean" - }, - "warning": { - "description": "Whether this exam is in the state of warning.", - "type": "boolean" - }, - "expiration": { - "description": "Date this exam is due to expire.", - "format": "google-datetime", - "type": "string" - }, - "lastPassed": { - "description": "The date the user last passed this exam.", - "format": "google-datetime", - "type": "string" } }, "id": "ExamStatus" }, "ListOffersResponse": { - "description": "Response for ListOffer.", - "type": "object", "properties": { + "responseMetadata": { + "$ref": "ResponseMetadata", + "description": "Current response metadata." + }, "noOfferReason": { "enumDescriptions": [ "Unset.", @@ -2719,41 +3308,27 @@ }, "availableOffers": { "description": "Available Offers to be distributed.", - "type": "array", "items": { "$ref": "AvailableOffer" - } - }, - "responseMetadata": { - "$ref": "ResponseMetadata", - "description": "Current response metadata." + }, + "type": "array" } }, - "id": "ListOffersResponse" + "id": "ListOffersResponse", + "description": "Response for ListOffer.", + "type": "object" }, "CountryOfferInfo": { - "description": "Offer info by country.", - "type": "object", "properties": { - "getYAmount": { - "description": "(localized) Get Y amount for that country's offer.", + "spendXAmount": { + "description": "(localized) Spend X amount for that country's offer.", "type": "string" }, "offerCountryCode": { "description": "Country code for which offer codes may be requested.", "type": "string" }, - "spendXAmount": { - "description": "(localized) Spend X amount for that country's offer.", - "type": "string" - }, "offerType": { - "enumDescriptions": [ - "Unset.", - "AdWords spend X get Y.", - "Youtube video.", - "Spend Match up to Y." - ], "enum": [ "OFFER_TYPE_UNSPECIFIED", "OFFER_TYPE_SPEND_X_GET_Y", @@ -2761,58 +3336,66 @@ "OFFER_TYPE_SPEND_MATCH" ], "description": "Type of offer country is eligible for.", + "type": "string", + "enumDescriptions": [ + "Unset.", + "AdWords spend X get Y.", + "Youtube video.", + "Spend Match up to Y." + ] + }, + "getYAmount": { + "description": "(localized) Get Y amount for that country's offer.", "type": "string" } }, - "id": "CountryOfferInfo" + "id": "CountryOfferInfo", + "description": "Offer info by country.", + "type": "object" }, "ListCompaniesResponse": { - "description": "Response message for\nListCompanies.", - "type": "object", "properties": { - "companies": { - "description": "The list of companies.", - "type": "array", - "items": { - "$ref": "Company" - } - }, "nextPageToken": { "description": "A token to retrieve next page of results.\nPass this value in the `ListCompaniesRequest.page_token` field in the\nsubsequent call to\nListCompanies to retrieve the\nnext page of results.", "type": "string" }, "responseMetadata": { - "$ref": "ResponseMetadata", - "description": "Current response metadata." + "description": "Current response metadata.", + "$ref": "ResponseMetadata" + }, + "companies": { + "description": "The list of companies.", + "items": { + "$ref": "Company" + }, + "type": "array" } }, - "id": "ListCompaniesResponse" + "id": "ListCompaniesResponse", + "description": "Response message for\nListCompanies.", + "type": "object" }, "OfferCustomer": { - "description": "Customers qualified for an offer.", - "type": "object", "properties": { - "spendXAmount": { - "description": "Formatted Spend X amount with currency code.", - "type": "string" - }, "adwordsUrl": { "description": "URL to the customer's AdWords page.", "type": "string" }, - "creationTime": { - "description": "Time the customer was created.", - "format": "google-datetime", - "type": "string" - }, "eligibilityDaysLeft": { - "description": "Days the customer is still eligible.", "format": "int32", + "description": "Days the customer is still eligible.", "type": "integer" }, + "creationTime": { + "format": "google-datetime", + "description": "Time the customer was created.", + "type": "string" + }, + "countryCode": { + "description": "Country code of the customer.", + "type": "string" + }, "offerType": { - "description": "Type of the offer", - "type": "string", "enumDescriptions": [ "Unset.", "AdWords spend X get Y.", @@ -2824,15 +3407,13 @@ "OFFER_TYPE_SPEND_X_GET_Y", "OFFER_TYPE_VIDEO", "OFFER_TYPE_SPEND_MATCH" - ] - }, - "externalCid": { - "description": "External CID for the customer.", - "format": "int64", + ], + "description": "Type of the offer", "type": "string" }, - "countryCode": { - "description": "Country code of the customer.", + "externalCid": { + "format": "int64", + "description": "External CID for the customer.", "type": "string" }, "getYAmount": { @@ -2842,14 +3423,25 @@ "name": { "description": "Name of the customer.", "type": "string" + }, + "spendXAmount": { + "description": "Formatted Spend X amount with currency code.", + "type": "string" } }, - "id": "OfferCustomer" + "id": "OfferCustomer", + "description": "Customers qualified for an offer.", + "type": "object" }, "CertificationStatus": { - "description": "Google Partners certification status.", - "type": "object", "properties": { + "examStatuses": { + "description": "List of certification exam statuses.", + "items": { + "$ref": "CertificationExamStatus" + }, + "type": "array" + }, "type": { "enumDescriptions": [ "Unchosen.", @@ -2883,23 +3475,18 @@ "type": "string" }, "userCount": { - "description": "Number of people who are certified,", "format": "int32", + "description": "Number of people who are certified,", "type": "integer" }, "isCertified": { "description": "Whether certification is passing.", "type": "boolean" - }, - "examStatuses": { - "description": "List of certification exam statuses.", - "type": "array", - "items": { - "$ref": "CertificationExamStatus" - } } }, - "id": "CertificationStatus" + "id": "CertificationStatus", + "description": "Google Partners certification status.", + "type": "object" }, "LocalizedCompanyInfo": { "description": "The localized company information.", @@ -2911,10 +3498,10 @@ }, "countryCodes": { "description": "List of country codes for the localized company info.", - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, "overview": { "description": "Localized brief description that the company uses to advertise themselves.", @@ -2932,23 +3519,21 @@ "type": "object", "properties": { "responseMetadata": { - "$ref": "ResponseMetadata", - "description": "Current response metadata." + "description": "Current response metadata.", + "$ref": "ResponseMetadata" } }, "id": "LogUserEventResponse" }, "ListOffersHistoryResponse": { - "description": "Response for ListOfferHistory.", - "type": "object", "properties": { "canShowEntireCompany": { "description": "True if the user has the option to show entire company history.", "type": "boolean" }, "totalResults": { - "description": "Number of results across all pages.", "format": "int32", + "description": "Number of results across all pages.", "type": "integer" }, "showingEntireCompany": { @@ -2957,10 +3542,10 @@ }, "offers": { "description": "Historical offers meeting request.", - "type": "array", "items": { "$ref": "HistoricalOffer" - } + }, + "type": "array" }, "nextPageToken": { "description": "Supply this token in a ListOffersHistoryRequest to retrieve the next page.", @@ -2971,46 +3556,24 @@ "$ref": "ResponseMetadata" } }, - "id": "ListOffersHistoryResponse" + "id": "ListOffersHistoryResponse", + "description": "Response for ListOfferHistory.", + "type": "object" }, "LogMessageResponse": { "description": "Response message for\nLogClientMessage.", "type": "object", "properties": { "responseMetadata": { - "description": "Current response metadata.", - "$ref": "ResponseMetadata" + "$ref": "ResponseMetadata", + "description": "Current response metadata." } }, "id": "LogMessageResponse" }, "SpecializationStatus": { - "description": "Agency specialization status", - "type": "object", "properties": { - "badgeSpecialization": { - "enumDescriptions": [ - "Unknown specialization", - "AdWords Search specialization", - "AdWords Display specialization", - "AdWords Mobile specialization", - "AdWords Video specialization", - "AdWords Shopping specialization" - ], - "enum": [ - "BADGE_SPECIALIZATION_UNKNOWN", - "BADGE_SPECIALIZATION_ADWORDS_SEARCH", - "BADGE_SPECIALIZATION_ADWORDS_DISPLAY", - "BADGE_SPECIALIZATION_ADWORDS_MOBILE", - "BADGE_SPECIALIZATION_ADWORDS_VIDEO", - "BADGE_SPECIALIZATION_ADWORDS_SHOPPING" - ], - "description": "The specialization this status is for.", - "type": "string" - }, "badgeSpecializationState": { - "description": "State of agency specialization.", - "type": "string", "enumDescriptions": [ "Unknown state", "Specialization passed", @@ -3022,615 +3585,54 @@ "BADGE_SPECIALIZATION_STATE_PASSED", "BADGE_SPECIALIZATION_STATE_NOT_PASSED", "BADGE_SPECIALIZATION_STATE_IN_GRACE" - ] - } - }, - "id": "SpecializationStatus" - }, - "Certification": { - "description": "A user's information on a specific certification.", - "type": "object", - "properties": { - "lastAchieved": { - "description": "The date the user last achieved certification.", - "format": "google-datetime", - "type": "string" - }, - "achieved": { - "description": "Whether this certification has been achieved.", - "type": "boolean" - }, - "expiration": { - "description": "Date this certification is due to expire.", - "format": "google-datetime", - "type": "string" - }, - "warning": { - "description": "Whether this certification is in the state of warning.", - "type": "boolean" - }, - "certificationType": { - "enumDescriptions": [ - "Unchosen.", - "AdWords certified.", - "YouTube certified.", - "VideoAds certified.", - "Analytics certified.", - "DoubleClick certified.", - "Shopping certified.", - "Mobile certified.", - "Digital sales certified.", - "AdWords Search certified.", - "AdWords Display certified.", - "Mobile Sites certified." ], + "description": "State of agency specialization.", + "type": "string" + }, + "badgeSpecialization": { "enum": [ - "CERTIFICATION_TYPE_UNSPECIFIED", - "CT_ADWORDS", - "CT_YOUTUBE", - "CT_VIDEOADS", - "CT_ANALYTICS", - "CT_DOUBLECLICK", - "CT_SHOPPING", - "CT_MOBILE", - "CT_DIGITAL_SALES", - "CT_ADWORDS_SEARCH", - "CT_ADWORDS_DISPLAY", - "CT_MOBILE_SITES" + "BADGE_SPECIALIZATION_UNKNOWN", + "BADGE_SPECIALIZATION_ADWORDS_SEARCH", + "BADGE_SPECIALIZATION_ADWORDS_DISPLAY", + "BADGE_SPECIALIZATION_ADWORDS_MOBILE", + "BADGE_SPECIALIZATION_ADWORDS_VIDEO", + "BADGE_SPECIALIZATION_ADWORDS_SHOPPING" ], - "description": "The type of certification, the area of expertise.", - "type": "string" - } - }, - "id": "Certification" - }, - "User": { - "description": "A resource representing a user of the Partners platform.", - "type": "object", - "properties": { - "publicProfile": { - "$ref": "PublicProfile", - "description": "Information about a user's external public profile outside Google Partners." - }, - "certificationStatus": { - "description": "The list of achieved certifications. These are calculated based on exam\nresults and other requirements.\n@OutputOnly", - "type": "array", - "items": { - "$ref": "Certification" - } - }, - "companyVerificationEmail": { - "description": "The email address used by the user used for company verification.\n@OutputOnly", - "type": "string" - }, - "profile": { - "$ref": "UserProfile", - "description": "The profile information of a Partners user, contains all the directly\neditable user information." - }, - "company": { - "$ref": "CompanyRelation", - "description": "The company that the user is associated with.\nIf not present, the user is not associated with any company." - }, - "lastAccessTime": { - "description": "The most recent time the user interacted with the Partners site.\n@OutputOnly", - "format": "google-datetime", - "type": "string" - }, - "primaryEmails": { - "description": "The list of emails the user has access to/can select as primary.\n@OutputOnly", - "type": "array", - "items": { - "type": "string" - } - }, - "availableAdwordsManagerAccounts": { - "description": "This is the list of AdWords Manager Accounts the user has edit access to.\nIf the user has edit access to multiple accounts, the user can choose the\npreferred account and we use this when a personal account is needed. Can\nbe empty meaning the user has access to no accounts.\n@OutputOnly", - "type": "array", - "items": { - "$ref": "AdWordsManagerAccountInfo" - } - }, - "internalId": { - "description": "The internal user ID.\nOnly available for a whitelisted set of api clients.", - "type": "string" - }, - "examStatus": { - "description": "The list of exams the user ever taken. For each type of exam, only one\nentry is listed.", - "type": "array", - "items": { - "$ref": "ExamStatus" - } - }, - "id": { - "description": "The ID of the user.", - "type": "string" - } - }, - "id": "User" - }, - "ListAnalyticsResponse": { - "description": "Response message for\nListAnalytics.", - "type": "object", - "properties": { - "analytics": { - "description": "The list of analytics.\nSorted in ascending order of\nAnalytics.event_date.", - "type": "array", - "items": { - "$ref": "Analytics" - } - }, - "nextPageToken": { - "description": "A token to retrieve next page of results.\nPass this value in the `ListAnalyticsRequest.page_token` field in the\nsubsequent call to\nListAnalytics to retrieve the\nnext page of results.", - "type": "string" - }, - "responseMetadata": { - "$ref": "ResponseMetadata", - "description": "Current response metadata." - }, - "analyticsSummary": { - "$ref": "AnalyticsSummary", - "description": "Aggregated information across the response's\nanalytics." - } - }, - "id": "ListAnalyticsResponse" - }, - "ListLeadsResponse": { - "description": "Response message for ListLeads.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "A token to retrieve next page of results.\nPass this value in the `ListLeadsRequest.page_token` field in the\nsubsequent call to\nListLeads to retrieve the\nnext page of results.", - "type": "string" - }, - "responseMetadata": { - "description": "Current response metadata.", - "$ref": "ResponseMetadata" - }, - "totalSize": { - "description": "The total count of leads for the given company.", - "format": "int32", - "type": "integer" - }, - "leads": { - "description": "The list of leads.", - "type": "array", - "items": { - "$ref": "Lead" - } - } - }, - "id": "ListLeadsResponse" - }, - "Company": { - "description": "A company resource in the Google Partners API. Once certified, it qualifies\nfor being searched by advertisers.", - "type": "object", - "properties": { - "originalMinMonthlyBudget": { - "$ref": "Money", - "description": "The unconverted minimum monthly budget that the company accepts for partner\nbusiness." - }, - "publicProfile": { - "$ref": "PublicProfile", - "description": "Basic information from the company's public profile." - }, - "services": { - "description": "Services the company can help with.", - "type": "array", - "items": { - "enum": [ - "SERVICE_UNSPECIFIED", - "S_ADVANCED_ADWORDS_SUPPORT", - "S_ADVERTISING_ON_GOOGLE", - "S_AN_ENHANCED_WEBSITE", - "S_AN_ONLINE_MARKETING_PLAN", - "S_MOBILE_AND_VIDEO_ADS", - "S_MOBILE_WEBSITE_SERVICES" - ], - "type": "string" - }, - "enumDescriptions": [ - "Unchosen.", - "Help with advanced AdWords support.", - "Help with advertising on Google.", - "Help with an enhanced website.", - "Help with an online marketing plan.", - "Help with mobile and video ads.", - "Help with mobile websites." - ] - }, - "primaryLocation": { - "$ref": "Location", - "description": "The primary location of the company." - }, - "ranks": { - "description": "Information related to the ranking of the company within the list of\ncompanies.", - "type": "array", - "items": { - "$ref": "Rank" - } - }, - "badgeTier": { - "enumDescriptions": [ - "Tier badge is not set.", - "Agency has regular partner badge.", - "Agency has premier badge." - ], - "enum": [ - "BADGE_TIER_NONE", - "BADGE_TIER_REGULAR", - "BADGE_TIER_PREMIER" - ], - "description": "Partner badge tier", - "type": "string" - }, - "specializationStatus": { - "description": "The list of Google Partners specialization statuses for the company.", - "type": "array", - "items": { - "$ref": "SpecializationStatus" - } - }, - "autoApprovalEmailDomains": { - "description": "Email domains that allow users with a matching email address to get\nauto-approved for associating with this company.", - "type": "array", - "items": { - "type": "string" - } - }, - "companyTypes": { - "description": "Company type labels listed on the company's profile.", - "type": "array", - "items": { - "enum": [ - "COMPANY_TYPE_UNSPECIFIED", - "FULL_SERVICE_AGENCY", - "MEDIA_AGENCY", - "CREATIVE_AGENCY", - "CDIGITAL_AGENCY", - "SEM_SEO", - "PERFORMANCE_MARKETING", - "ADVERTISING_TOOL_DEVELOPMENT", - "PR", - "SELF_MANAGED", - "RESELLER" - ], - "type": "string" - }, - "enumDescriptions": [ - "Unchosen.", - "Handles all aspects of the advertising process.", - "Focuses solely on an advertiser's media placement.", - "Plans/executes advertising campaigns.", - "Like a\nFULL_SERVICE_AGENCY,\nbut specializing in digital.", - "Increases visibility in search engine result pages.", - "Drives promotional efforts for immediate impact.", - "Focuses on bid management, conversion, reporting.", - "Establishes favorable relationship with public through low/no-cost\ncommunications.", - "Does not manage other company's accounts, manages own marketing programs.", - "Full-service AdWords account management for local businesses." - ] - }, - "profileStatus": { - "enumDescriptions": [ - "Unchosen.", - "Company profile does not show up publicly.", - "Company profile can only be viewed by the profile's URL\nand not by Google Partner Search.", - "Company profile can be viewed by the profile's URL\nand by Google Partner Search." - ], - "enum": [ - "COMPANY_PROFILE_STATUS_UNSPECIFIED", - "HIDDEN", - "PUBLISHED", - "SEARCHABLE" - ], - "description": "The public viewability status of the company's profile.", - "type": "string" - }, - "primaryLanguageCode": { - "description": "The primary language code of the company, as defined by\n\u003ca href=\"https://tools.ietf.org/html/bcp47\"\u003eBCP 47\u003c/a\u003e\n(IETF BCP 47, \"Tags for Identifying Languages\").", - "type": "string" - }, - "locations": { - "description": "The list of all company locations.\nIf set, must include the\nprimary_location\nin the list.", - "type": "array", - "items": { - "$ref": "Location" - } - }, - "convertedMinMonthlyBudget": { - "description": "The minimum monthly budget that the company accepts for partner business,\nconverted to the requested currency code.", - "$ref": "Money" - }, - "industries": { - "enumDescriptions": [ - "Unchosen.", - "The automotive industry.", - "The business-to-business industry.", - "The consumer packaged goods industry.", - "The education industry.", - "The finance industry.", - "The healthcare industry.", - "The media and entertainment industry.", - "The retail industry.", - "The technology industry.", - "The travel industry." - ], - "description": "Industries the company can help with.", - "type": "array", - "items": { - "type": "string", - "enum": [ - "INDUSTRY_UNSPECIFIED", - "I_AUTOMOTIVE", - "I_BUSINESS_TO_BUSINESS", - "I_CONSUMER_PACKAGED_GOODS", - "I_EDUCATION", - "I_FINANCE", - "I_HEALTHCARE", - "I_MEDIA_AND_ENTERTAINMENT", - "I_RETAIL", - "I_TECHNOLOGY", - "I_TRAVEL" - ] - } - }, - "websiteUrl": { - "description": "URL of the company's website.", - "type": "string" - }, - "additionalWebsites": { - "description": "URL of the company's additional websites used to verify the dynamic badges.\nThese are stored as full URLs as entered by the user, but only the TLD will\nbe used for the actual verification.", - "type": "array", - "items": { - "type": "string" - } - }, - "primaryAdwordsManagerAccountId": { - "description": "The Primary AdWords Manager Account id.", - "format": "int64", - "type": "string" - }, - "name": { - "description": "The name of the company.", - "type": "string" - }, - "localizedInfos": { - "description": "The list of localized info for the company.", - "type": "array", - "items": { - "$ref": "LocalizedCompanyInfo" - } - }, - "id": { - "description": "The ID of the company.", - "type": "string" - }, - "certificationStatuses": { - "description": "The list of Google Partners certification statuses for the company.", - "type": "array", - "items": { - "$ref": "CertificationStatus" - } - } - }, - "id": "Company" - }, - "CreateLeadResponse": { - "description": "Response message for CreateLead.", - "type": "object", - "properties": { - "lead": { - "$ref": "Lead", - "description": "Lead that was created depending on the outcome of\n\u003ca href=\"https://www.google.com/recaptcha/\"\u003ereCaptcha\u003c/a\u003e validation." - }, - "recaptchaStatus": { - "enumDescriptions": [ - "Unchosen.", - "No reCaptcha validation needed.", - "reCaptcha challenge passed.", - "reCaptcha challenge failed." - ], - "enum": [ - "RECAPTCHA_STATUS_UNSPECIFIED", - "RS_NOT_NEEDED", - "RS_PASSED", - "RS_FAILED" - ], - "description": "The outcome of \u003ca href=\"https://www.google.com/recaptcha/\"\u003ereCaptcha\u003c/a\u003e\nvalidation.", - "type": "string" - }, - "responseMetadata": { - "$ref": "ResponseMetadata", - "description": "Current response metadata." - } - }, - "id": "CreateLeadResponse" - }, - "GetCompanyResponse": { - "description": "Response message for GetCompany.", - "type": "object", - "properties": { - "company": { - "$ref": "Company", - "description": "The company." - }, - "responseMetadata": { - "description": "Current response metadata.", - "$ref": "ResponseMetadata" - } - }, - "id": "GetCompanyResponse" - }, - "Location": { - "description": "A location with address and geographic coordinates. May optionally contain a\ndetailed (multi-field) version of the address.", - "type": "object", - "properties": { - "latLng": { - "description": "The latitude and longitude of the location, in degrees.", - "$ref": "LatLng" - }, - "address": { - "description": "The single string version of the address.", - "type": "string" - }, - "regionCode": { - "description": "CLDR (Common Locale Data Repository) region code .", - "type": "string" - }, - "dependentLocality": { - "description": "Dependent locality or sublocality. Used for UK dependent localities, or\nneighborhoods or boroughs in other locations.", - "type": "string" - }, - "postalCode": { - "description": "Values are frequently alphanumeric.", - "type": "string" - }, - "sortingCode": { - "description": "Use of this code is very country-specific, but will refer to a secondary\nclassification code for sorting mail.", - "type": "string" - }, - "languageCode": { - "description": "Language code of the address. Should be in BCP 47 format.", - "type": "string" - }, - "addressLine": { - "description": "The following address lines represent the most specific part of any\naddress.", - "type": "array", - "items": { - "type": "string" - } - }, - "locality": { - "description": "Generally refers to the city/town portion of an address.", - "type": "string" - }, - "administrativeArea": { - "description": "Top-level administrative subdivision of this country.", - "type": "string" - } - }, - "id": "Location" - }, - "CertificationExamStatus": { - "description": "Status for a Google Partners certification exam.", - "type": "object", - "properties": { - "numberUsersPass": { - "description": "The number of people who have passed the certification exam.", - "format": "int32", - "type": "integer" - }, - "type": { - "description": "The type of certification exam.", + "description": "The specialization this status is for.", "type": "string", "enumDescriptions": [ - "Unchosen.", - "Adwords Fundamentals exam.", - "AdWords advanced search exam.", - "AdWords advanced display exam.", - "VideoAds exam.", - "DoubleClick exam.", - "Analytics exam.", - "Shopping exam.", - "Mobile exam.", - "Digital Sales exam.", - "Mobile Sites exam." - ], - "enum": [ - "CERTIFICATION_EXAM_TYPE_UNSPECIFIED", - "CET_ADWORDS_FUNDAMENTALS", - "CET_ADWORDS_ADVANCED_SEARCH", - "CET_ADWORDS_ADVANCED_DISPLAY", - "CET_VIDEO_ADS", - "CET_DOUBLECLICK", - "CET_ANALYTICS", - "CET_SHOPPING", - "CET_MOBILE", - "CET_DIGITAL_SALES", - "CET_MOBILE_SITES" + "Unknown specialization", + "AdWords Search specialization", + "AdWords Display specialization", + "AdWords Mobile specialization", + "AdWords Video specialization", + "AdWords Shopping specialization" ] } }, - "id": "CertificationExamStatus" - }, - "ExamToken": { - "description": "A token that allows a user to take an exam.", - "type": "object", - "properties": { - "examId": { - "description": "The id of the exam the token is for.", - "format": "int64", - "type": "string" - }, - "token": { - "description": "The token, only present if the user has access to the exam.", - "type": "string" - }, - "examType": { - "enumDescriptions": [ - "Unchosen.", - "Adwords Fundamentals exam.", - "AdWords advanced search exam.", - "AdWords advanced display exam.", - "VideoAds exam.", - "DoubleClick exam.", - "Analytics exam.", - "Shopping exam.", - "Mobile exam.", - "Digital Sales exam.", - "Mobile Sites exam." - ], - "enum": [ - "CERTIFICATION_EXAM_TYPE_UNSPECIFIED", - "CET_ADWORDS_FUNDAMENTALS", - "CET_ADWORDS_ADVANCED_SEARCH", - "CET_ADWORDS_ADVANCED_DISPLAY", - "CET_VIDEO_ADS", - "CET_DOUBLECLICK", - "CET_ANALYTICS", - "CET_SHOPPING", - "CET_MOBILE", - "CET_DIGITAL_SALES", - "CET_MOBILE_SITES" - ], - "description": "The type of the exam the token belongs to.", - "type": "string" - } - }, - "id": "ExamToken" - }, - "OptIns": { - "description": "A set of opt-ins for a user.", - "type": "object", - "properties": { - "marketComm": { - "description": "An opt-in about receiving email from Partners marketing teams. Includes\nmember-only events and special promotional offers for Google products.", - "type": "boolean" - }, - "specialOffers": { - "description": "An opt-in about receiving email regarding new features and products.", - "type": "boolean" - }, - "performanceSuggestions": { - "description": "An opt-in about receiving email with customized AdWords campaign management\ntips.", - "type": "boolean" - }, - "physicalMail": { - "description": "An opt-in to receive special promotional gifts and material in the mail.", - "type": "boolean" - }, - "phoneContact": { - "description": "An opt-in to allow recieivng phone calls about their Partners account.", - "type": "boolean" - } - }, - "id": "OptIns" + "id": "SpecializationStatus", + "description": "Agency specialization status", + "type": "object" } }, - "icons": { - "x32": "http://www.google.com/images/icons/product/search-32.gif", - "x16": "http://www.google.com/images/icons/product/search-16.gif" - }, "protocol": "rest", - "version": "v2" + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "version": "v2", + "baseUrl": "https://partners.googleapis.com/", + "canonicalName": "Partners", + "servicePath": "", + "description": "Searches certified companies and creates contact leads with them, and also audits the usage of clients.", + "kind": "discovery#restDescription", + "rootUrl": "https://partners.googleapis.com/", + "basePath": "", + "ownerDomain": "google.com", + "name": "partners", + "batchPath": "batch", + "id": "partners:v2", + "revision": "20170912", + "documentationLink": "https://developers.google.com/partners/", + "title": "Google Partners API" } diff --git a/vendor/google.golang.org/api/partners/v2/partners-gen.go b/vendor/google.golang.org/api/partners/v2/partners-gen.go index fc06f7dbc..906984171 100644 --- a/vendor/google.golang.org/api/partners/v2/partners-gen.go +++ b/vendor/google.golang.org/api/partners/v2/partners-gen.go @@ -2366,6 +2366,8 @@ type LogUserEventRequest struct { // certificate help icon. // "SMB_CLICKED_VIDEO_ADS_CERTIFICATE_HELP_ICON" - Advertiser clicked // VideoAds certificate help icon. + // "SMB_VIEWED_DIGITAL_SALES_CERTIFICATE" - Advertiser viewed Digital + // Sales certificate. // "CLICKED_HELP_AT_BOTTOM" - Clicked `help` at bottom. // "CLICKED_HELP_AT_TOP" - Clicked `help` at top. // "CLIENT_ERROR" - Client error occurred. diff --git a/vendor/google.golang.org/api/people/v1/people-api.json b/vendor/google.golang.org/api/people/v1/people-api.json index 770f4b3b4..f0eee4e3f 100644 --- a/vendor/google.golang.org/api/people/v1/people-api.json +++ b/vendor/google.golang.org/api/people/v1/people-api.json @@ -1,50 +1,807 @@ { - "revision": "20170704", + "kind": "discovery#restDescription", + "description": "Provides access to information about profiles and contacts.", + "servicePath": "", + "basePath": "", + "revision": "20170928", "documentationLink": "https://developers.google.com/people/", "id": "people:v1", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { + "ContactGroupResponse": { + "description": "The response for a specific contact group.", + "type": "object", + "properties": { + "contactGroup": { + "description": "The contact group.", + "$ref": "ContactGroup" + }, + "status": { + "description": "The status of the response.", + "$ref": "Status" + }, + "requestedResourceName": { + "description": "The original requested resource name.", + "type": "string" + } + }, + "id": "ContactGroupResponse" + }, + "Url": { + "description": "A person's associated URLs.", + "type": "object", + "properties": { + "metadata": { + "$ref": "FieldMetadata", + "description": "Metadata about the URL." + }, + "type": { + "description": "The type of the URL. The type can be custom or predefined.\nPossible values include, but are not limited to, the following:\n\n* `home`\n* `work`\n* `blog`\n* `profile`\n* `homePage`\n* `ftp`\n* `reservations`\n* `appInstallPage`: website for a Google+ application.\n* `other`", + "type": "string" + }, + "value": { + "description": "The URL.", + "type": "string" + }, + "formattedType": { + "description": "The read-only type of the URL translated and formatted in the viewer's\naccount locale or the `Accept-Language` HTTP header locale.", + "type": "string" + } + }, + "id": "Url" + }, + "ImClient": { + "description": "A person's instant messaging client.", + "type": "object", + "properties": { + "formattedProtocol": { + "description": "The read-only protocol of the IM client formatted in the viewer's account\nlocale or the `Accept-Language` HTTP header locale.", + "type": "string" + }, + "formattedType": { + "description": "The read-only type of the IM client translated and formatted in the\nviewer's account locale or the `Accept-Language` HTTP header locale.", + "type": "string" + }, + "metadata": { + "$ref": "FieldMetadata", + "description": "Metadata about the IM client." + }, + "type": { + "description": "The type of the IM client. The type can be custom or predefined.\nPossible values include, but are not limited to, the following:\n\n* `home`\n* `work`\n* `other`", + "type": "string" + }, + "protocol": { + "description": "The protocol of the IM client. The protocol can be custom or predefined.\nPossible values include, but are not limited to, the following:\n\n* `aim`\n* `msn`\n* `yahoo`\n* `skype`\n* `qq`\n* `googleTalk`\n* `icq`\n* `jabber`\n* `netMeeting`", + "type": "string" + }, + "username": { + "description": "The user name used in the IM client.", + "type": "string" + } + }, + "id": "ImClient" + }, + "DomainMembership": { + "properties": { + "inViewerDomain": { + "description": "True if the person is in the viewer's Google Apps domain.", + "type": "boolean" + } + }, + "id": "DomainMembership", + "description": "A Google Apps Domain membership.", + "type": "object" + }, + "Membership": { + "description": "A person's read-only membership in a group.", + "type": "object", + "properties": { + "contactGroupMembership": { + "description": "The contact group membership.", + "$ref": "ContactGroupMembership" + }, + "domainMembership": { + "$ref": "DomainMembership", + "description": "The domain membership." + }, + "metadata": { + "$ref": "FieldMetadata", + "description": "Metadata about the membership." + } + }, + "id": "Membership" + }, + "BatchGetContactGroupsResponse": { + "description": "The response to a batch get contact groups request.", + "type": "object", + "properties": { + "responses": { + "description": "The list of responses for each requested contact group resource.", + "type": "array", + "items": { + "$ref": "ContactGroupResponse" + } + } + }, + "id": "BatchGetContactGroupsResponse" + }, + "RelationshipStatus": { + "description": "A person's read-only relationship status.", + "type": "object", + "properties": { + "metadata": { + "$ref": "FieldMetadata", + "description": "Metadata about the relationship status." + }, + "value": { + "type": "string", + "description": "The relationship status. The value can be custom or predefined.\nPossible values include, but are not limited to, the following:\n\n* `single`\n* `inARelationship`\n* `engaged`\n* `married`\n* `itsComplicated`\n* `openRelationship`\n* `widowed`\n* `inDomesticPartnership`\n* `inCivilUnion`" + }, + "formattedValue": { + "type": "string", + "description": "The read-only value of the relationship status translated and formatted in\nthe viewer's account locale or the `Accept-Language` HTTP header locale." + } + }, + "id": "RelationshipStatus" + }, + "BraggingRights": { + "description": "A person's bragging rights.", + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "The bragging rights; for example, `climbed mount everest`." + }, + "metadata": { + "$ref": "FieldMetadata", + "description": "Metadata about the bragging rights." + } + }, + "id": "BraggingRights" + }, + "Organization": { + "description": "A person's past or current organization. Overlapping date ranges are\npermitted.", + "type": "object", + "properties": { + "metadata": { + "description": "Metadata about the organization.", + "$ref": "FieldMetadata" + }, + "title": { + "description": "The person's job title at the organization.", + "type": "string" + }, + "location": { + "type": "string", + "description": "The location of the organization office the person works at." + }, + "current": { + "description": "True if the organization is the person's current organization;\nfalse if the organization is a past organization.", + "type": "boolean" + }, + "startDate": { + "$ref": "Date", + "description": "The start date when the person joined the organization." + }, + "formattedType": { + "description": "The read-only type of the organization translated and formatted in the\nviewer's account locale or the `Accept-Language` HTTP header locale.", + "type": "string" + }, + "domain": { + "description": "The domain name associated with the organization; for example, `google.com`.", + "type": "string" + }, + "department": { + "description": "The person's department at the organization.", + "type": "string" + }, + "phoneticName": { + "description": "The phonetic name of the organization.", + "type": "string" + }, + "type": { + "description": "The type of the organization. The type can be custom or predefined.\nPossible values include, but are not limited to, the following:\n\n* `work`\n* `school`", + "type": "string" + }, + "jobDescription": { + "description": "The person's job description at the organization.", + "type": "string" + }, + "endDate": { + "description": "The end date when the person left the organization.", + "$ref": "Date" + }, + "symbol": { + "description": "The symbol associated with the organization; for example, a stock ticker\nsymbol, abbreviation, or acronym.", + "type": "string" + }, + "name": { + "description": "The name of the organization.", + "type": "string" + } + }, + "id": "Organization" + }, + "AgeRangeType": { + "description": "A person's age range.", + "type": "object", + "properties": { + "metadata": { + "description": "Metadata about the age range.", + "$ref": "FieldMetadata" + }, + "ageRange": { + "enumDescriptions": [ + "Unspecified.", + "Younger than eighteen.", + "Between eighteen and twenty.", + "Twenty-one and older." + ], + "enum": [ + "AGE_RANGE_UNSPECIFIED", + "LESS_THAN_EIGHTEEN", + "EIGHTEEN_TO_TWENTY", + "TWENTY_ONE_OR_OLDER" + ], + "description": "The age range.", + "type": "string" + } + }, + "id": "AgeRangeType" + }, + "ListContactGroupsResponse": { + "properties": { + "nextPageToken": { + "description": "The token that can be used to retrieve the next page of results.", + "type": "string" + }, + "totalItems": { + "description": "The total number of items in the list without pagination.", + "format": "int32", + "type": "integer" + }, + "nextSyncToken": { + "description": "The token that can be used to retrieve changes since the last request.", + "type": "string" + }, + "contactGroups": { + "description": "The list of contact groups. Members of the contact groups are not\npopulated.", + "type": "array", + "items": { + "$ref": "ContactGroup" + } + } + }, + "id": "ListContactGroupsResponse", + "description": "The response to a list contact groups request.", + "type": "object" + }, + "PersonResponse": { + "id": "PersonResponse", + "description": "The response for a single person", + "type": "object", + "properties": { + "person": { + "$ref": "Person", + "description": "The person." + }, + "status": { + "description": "The status of the response.", + "$ref": "Status" + }, + "httpStatusCode": { + "description": "**DEPRECATED** (Please use status instead)\n\n[HTTP 1.1 status code]\n(http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html).", + "format": "int32", + "type": "integer" + }, + "requestedResourceName": { + "type": "string", + "description": "The original requested resource name. May be different than the resource\nname on the returned person.\n\nThe resource name can change when adding or removing fields that link a\ncontact and profile such as a verified email, verified phone number, or a\nprofile URL." + } + } + }, + "Relation": { + "description": "A person's relation to another person.", + "type": "object", + "properties": { + "metadata": { + "$ref": "FieldMetadata", + "description": "Metadata about the relation." + }, + "type": { + "description": "The person's relation to the other person. The type can be custom or predefined.\nPossible values include, but are not limited to, the following values:\n\n* `spouse`\n* `child`\n* `mother`\n* `father`\n* `parent`\n* `brother`\n* `sister`\n* `friend`\n* `relative`\n* `domesticPartner`\n* `manager`\n* `assistant`\n* `referredBy`\n* `partner`", + "type": "string" + }, + "person": { + "description": "The name of the other person this relation refers to.", + "type": "string" + }, + "formattedType": { + "type": "string", + "description": "The type of the relation translated and formatted in the viewer's account\nlocale or the locale specified in the Accept-Language HTTP header." + } + }, + "id": "Relation" + }, + "Occupation": { + "description": "A person's occupation.", + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "The occupation; for example, `carpenter`." + }, + "metadata": { + "$ref": "FieldMetadata", + "description": "Metadata about the occupation." + } + }, + "id": "Occupation" + }, + "ContactGroup": { + "description": "A contact group.", + "type": "object", + "properties": { + "resourceName": { + "description": "The resource name for the contact group, assigned by the server. An ASCII\nstring, in the form of `contactGroups/`\u003cvar\u003econtact_group_id\u003c/var\u003e.", + "type": "string" + }, + "etag": { + "description": "The [HTTP entity tag](https://en.wikipedia.org/wiki/HTTP_ETag) of the\nresource. Used for web cache validation.", + "type": "string" + }, + "formattedName": { + "description": "The read-only name translated and formatted in the viewer's account locale\nor the `Accept-Language` HTTP header locale for system groups names.\nGroup names set by the owner are the same as name.", + "type": "string" + }, + "groupType": { + "enum": [ + "GROUP_TYPE_UNSPECIFIED", + "USER_CONTACT_GROUP", + "SYSTEM_CONTACT_GROUP" + ], + "description": "The read-only contact group type.", + "type": "string", + "enumDescriptions": [ + "Unspecified.", + "User defined contact group.", + "System defined contact group." + ] + }, + "memberResourceNames": { + "description": "The list of contact person resource names that are members of the contact\ngroup. The field is not populated for LIST requests and can only be updated\nthrough the\n[ModifyContactGroupMembers](/people/api/rest/v1/contactgroups/members/modify).", + "type": "array", + "items": { + "type": "string" + } + }, + "name": { + "type": "string", + "description": "The contact group name set by the group owner or a system provided name\nfor system groups." + }, + "metadata": { + "description": "Metadata about the contact group.", + "$ref": "ContactGroupMetadata" + }, + "memberCount": { + "description": "The total number of contacts in the group irrespective of max members in\nspecified in the request.", + "format": "int32", + "type": "integer" + } + }, + "id": "ContactGroup" + }, + "Person": { + "description": "Information about a person merged from various data sources such as the\nauthenticated user's contacts and profile data.\n\nMost fields can have multiple items. The items in a field have no guaranteed\norder, but each non-empty field is guaranteed to have exactly one field with\n`metadata.primary` set to true.", + "type": "object", + "properties": { + "genders": { + "description": "The person's genders.", + "type": "array", + "items": { + "$ref": "Gender" + } + }, + "resourceName": { + "type": "string", + "description": "The resource name for the person, assigned by the server. An ASCII string\nwith a max length of 27 characters, in the form of\n`people/`\u003cvar\u003eperson_id\u003c/var\u003e." + }, + "interests": { + "description": "The person's interests.", + "type": "array", + "items": { + "$ref": "Interest" + } + }, + "biographies": { + "description": "The person's biographies.", + "type": "array", + "items": { + "$ref": "Biography" + } + }, + "skills": { + "description": "The person's skills.", + "type": "array", + "items": { + "$ref": "Skill" + } + }, + "relationshipStatuses": { + "description": "The person's read-only relationship statuses.", + "type": "array", + "items": { + "$ref": "RelationshipStatus" + } + }, + "photos": { + "description": "The person's read-only photos.", + "type": "array", + "items": { + "$ref": "Photo" + } + }, + "ageRange": { + "enum": [ + "AGE_RANGE_UNSPECIFIED", + "LESS_THAN_EIGHTEEN", + "EIGHTEEN_TO_TWENTY", + "TWENTY_ONE_OR_OLDER" + ], + "description": "**DEPRECATED** (Please use `person.ageRanges` instead)**\n\nThe person's read-only age range.", + "type": "string", + "enumDescriptions": [ + "Unspecified.", + "Younger than eighteen.", + "Between eighteen and twenty.", + "Twenty-one and older." + ] + }, + "taglines": { + "description": "The person's read-only taglines.", + "type": "array", + "items": { + "$ref": "Tagline" + } + }, + "ageRanges": { + "description": "The person's read-only age ranges.", + "type": "array", + "items": { + "$ref": "AgeRangeType" + } + }, + "addresses": { + "description": "The person's street addresses.", + "type": "array", + "items": { + "$ref": "Address" + } + }, + "events": { + "description": "The person's events.", + "type": "array", + "items": { + "$ref": "Event" + } + }, + "memberships": { + "description": "The person's read-only group memberships.", + "type": "array", + "items": { + "$ref": "Membership" + } + }, + "phoneNumbers": { + "type": "array", + "items": { + "$ref": "PhoneNumber" + }, + "description": "The person's phone numbers." + }, + "coverPhotos": { + "description": "The person's read-only cover photos.", + "type": "array", + "items": { + "$ref": "CoverPhoto" + } + }, + "imClients": { + "description": "The person's instant messaging clients.", + "type": "array", + "items": { + "$ref": "ImClient" + } + }, + "birthdays": { + "type": "array", + "items": { + "$ref": "Birthday" + }, + "description": "The person's birthdays." + }, + "userDefined": { + "description": "The person's user defined data.", + "type": "array", + "items": { + "$ref": "UserDefined" + } + }, + "locales": { + "type": "array", + "items": { + "$ref": "Locale" + }, + "description": "The person's locale preferences." + }, + "relationshipInterests": { + "description": "The person's read-only relationship interests.", + "type": "array", + "items": { + "$ref": "RelationshipInterest" + } + }, + "urls": { + "description": "The person's associated URLs.", + "type": "array", + "items": { + "$ref": "Url" + } + }, + "nicknames": { + "description": "The person's nicknames.", + "type": "array", + "items": { + "$ref": "Nickname" + } + }, + "names": { + "description": "The person's names.", + "type": "array", + "items": { + "$ref": "Name" + } + }, + "relations": { + "description": "The person's relations.", + "type": "array", + "items": { + "$ref": "Relation" + } + }, + "occupations": { + "description": "The person's occupations.", + "type": "array", + "items": { + "$ref": "Occupation" + } + }, + "emailAddresses": { + "description": "The person's email addresses.", + "type": "array", + "items": { + "$ref": "EmailAddress" + } + }, + "organizations": { + "description": "The person's past or current organizations.", + "type": "array", + "items": { + "$ref": "Organization" + } + }, + "etag": { + "description": "The [HTTP entity tag](https://en.wikipedia.org/wiki/HTTP_ETag) of the\nresource. Used for web cache validation.", + "type": "string" + }, + "braggingRights": { + "description": "The person's bragging rights.", + "type": "array", + "items": { + "$ref": "BraggingRights" + } + }, + "metadata": { + "$ref": "PersonMetadata", + "description": "Read-only metadata about the person." + }, + "residences": { + "description": "The person's residences.", + "type": "array", + "items": { + "$ref": "Residence" + } + } + }, + "id": "Person" + }, + "UpdateContactGroupRequest": { + "properties": { + "contactGroup": { + "$ref": "ContactGroup", + "description": "The contact group to update." + } + }, + "id": "UpdateContactGroupRequest", + "description": "A request to update an existing contact group. Only the name can be updated.", + "type": "object" + }, + "ContactGroupMetadata": { + "description": "The read-only metadata about a contact group.", + "type": "object", + "properties": { + "updateTime": { + "description": "The time the group was last updated.", + "format": "google-datetime", + "type": "string" + }, + "deleted": { + "description": "True if the contact group resource has been deleted. Populated only for\n[`ListContactGroups`](/people/api/rest/v1/contactgroups/list) requests\nthat include a sync token.", + "type": "boolean" + } + }, + "id": "ContactGroupMetadata" + }, + "Residence": { + "properties": { + "value": { + "description": "The address of the residence.", + "type": "string" + }, + "metadata": { + "description": "Metadata about the residence.", + "$ref": "FieldMetadata" + }, + "current": { + "description": "True if the residence is the person's current residence;\nfalse if the residence is a past residence.", + "type": "boolean" + } + }, + "id": "Residence", + "description": "A person's past or current residence.", + "type": "object" + }, + "Event": { + "properties": { + "metadata": { + "description": "Metadata about the event.", + "$ref": "FieldMetadata" + }, + "type": { + "description": "The type of the event. The type can be custom or predefined.\nPossible values include, but are not limited to, the following:\n\n* `anniversary`\n* `other`", + "type": "string" + }, + "date": { + "$ref": "Date", + "description": "The date of the event." + }, + "formattedType": { + "description": "The read-only type of the event translated and formatted in the\nviewer's account locale or the `Accept-Language` HTTP header locale.", + "type": "string" + } + }, + "id": "Event", + "description": "An event related to the person.", + "type": "object" + }, + "ModifyContactGroupMembersResponse": { + "properties": { + "notFoundResourceNames": { + "description": "The contact people resource names that were not found.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "id": "ModifyContactGroupMembersResponse", + "description": "The response to a modify contact group members request.", + "type": "object" + }, + "ProfileMetadata": { + "type": "object", + "properties": { + "objectType": { + "type": "string", + "enumDescriptions": [ + "Unspecified.", + "Person.", + "[Google+ Page.](http://www.google.com/+/brands/)" + ], + "enum": [ + "OBJECT_TYPE_UNSPECIFIED", + "PERSON", + "PAGE" + ], + "description": "The profile object type." + }, + "userTypes": { + "description": "The user types.", + "type": "array", + "items": { + "enum": [ + "USER_TYPE_UNKNOWN", + "GOOGLE_USER", + "GPLUS_USER", + "GOOGLE_APPS_USER" + ], + "type": "string" + }, + "enumDescriptions": [ + "The user type is not known.", + "The user is a Google user.", + "The user is a Google+ user.", + "The user is a Google Apps for Work user." + ] + } + }, + "id": "ProfileMetadata", + "description": "The read-only metadata about a profile." + }, + "Gender": { + "description": "A person's gender.", + "type": "object", + "properties": { + "value": { + "description": "The gender for the person. The gender can be custom or predefined.\nPossible values include, but are not limited to, the\nfollowing:\n\n* `male`\n* `female`\n* `other`\n* `unknown`", + "type": "string" + }, + "formattedValue": { + "description": "The read-only value of the gender translated and formatted in the viewer's\naccount locale or the `Accept-Language` HTTP header locale.", + "type": "string" + }, + "metadata": { + "$ref": "FieldMetadata", + "description": "Metadata about the gender." + } + }, + "id": "Gender" + }, "CoverPhoto": { "description": "A person's read-only cover photo. A large image shown on the person's\nprofile page that represents who they are or what they care about.", "type": "object", "properties": { - "default": { - "description": "True if the cover photo is the default cover photo;\nfalse if the cover photo is a user-provided cover photo.", - "type": "boolean" - }, "metadata": { "$ref": "FieldMetadata", "description": "Metadata about the cover photo." }, + "default": { + "description": "True if the cover photo is the default cover photo;\nfalse if the cover photo is a user-provided cover photo.", + "type": "boolean" + }, "url": { - "description": "The URL of the cover photo.", - "type": "string" + "type": "string", + "description": "The URL of the cover photo." } }, "id": "CoverPhoto" }, "Interest": { - "description": "One of the person's interests.", "type": "object", "properties": { "metadata": { - "description": "Metadata about the interest.", - "$ref": "FieldMetadata" + "$ref": "FieldMetadata", + "description": "Metadata about the interest." }, "value": { "description": "The interest; for example, `stargazing`.", "type": "string" } }, - "id": "Interest" + "id": "Interest", + "description": "One of the person's interests." }, "Nickname": { - "id": "Nickname", "description": "A person's nickname.", "type": "object", "properties": { + "metadata": { + "$ref": "FieldMetadata", + "description": "Metadata about the nickname." + }, "type": { + "description": "The type of the nickname.", "type": "string", "enumDescriptions": [ "Generic nickname.", @@ -59,57 +816,53 @@ "INITIALS", "GPLUS", "OTHER_NAME" - ], - "description": "The type of the nickname." - }, - "metadata": { - "$ref": "FieldMetadata", - "description": "Metadata about the nickname." + ] }, "value": { "description": "The nickname.", "type": "string" } - } + }, + "id": "Nickname" }, "EmailAddress": { + "description": "A person's email address.", "type": "object", "properties": { - "formattedType": { - "description": "The read-only type of the email address translated and formatted in the\nviewer's account locale or the `Accept-Language` HTTP header locale.", - "type": "string" - }, "displayName": { "description": "The display name of the email.", "type": "string" }, - "type": { - "type": "string", - "description": "The type of the email address. The type can be custom or predefined.\nPossible values include, but are not limited to, the following:\n\n* `home`\n* `work`\n* `other`" - }, "metadata": { "$ref": "FieldMetadata", "description": "Metadata about the email address." }, + "type": { + "description": "The type of the email address. The type can be custom or predefined.\nPossible values include, but are not limited to, the following:\n\n* `home`\n* `work`\n* `other`", + "type": "string" + }, "value": { - "description": "The email address.", + "type": "string", + "description": "The email address." + }, + "formattedType": { + "description": "The read-only type of the email address translated and formatted in the\nviewer's account locale or the `Accept-Language` HTTP header locale.", "type": "string" } }, - "id": "EmailAddress", - "description": "A person's email address." + "id": "EmailAddress" }, "Skill": { "description": "A skill that the person has.", "type": "object", "properties": { - "value": { - "description": "The skill; for example, `underwater basket weaving`.", - "type": "string" - }, "metadata": { "$ref": "FieldMetadata", "description": "Metadata about the skill." + }, + "value": { + "description": "The skill; for example, `underwater basket weaving`.", + "type": "string" } }, "id": "Skill" @@ -117,19 +870,19 @@ "Date": { "type": "object", "properties": { - "day": { + "year": { + "description": "Year of date. Must be from 1 to 9999, or 0 if specifying a date without\na year.", "format": "int32", - "description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0\nif specifying a year/month where the day is not significant.", "type": "integer" }, - "year": { + "day": { + "description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0\nif specifying a year/month where the day is not significant.", "format": "int32", - "description": "Year of date. Must be from 1 to 9999, or 0 if specifying a date without\na year.", "type": "integer" }, "month": { - "format": "int32", "description": "Month of year. Must be from 1 to 12.", + "format": "int32", "type": "integer" } }, @@ -140,8 +893,8 @@ "type": "object", "properties": { "metadata": { - "$ref": "FieldMetadata", - "description": "Metadata about the tagline." + "description": "Metadata about the tagline.", + "$ref": "FieldMetadata" }, "value": { "description": "The tagline.", @@ -152,25 +905,26 @@ "description": "A read-only brief one-line description of the person." }, "Name": { + "id": "Name", "description": "A person's name. If the name is a mononym, the family name is empty.", "type": "object", "properties": { "honorificPrefix": { - "description": "The honorific prefixes, such as `Mrs.` or `Dr.`", - "type": "string" + "type": "string", + "description": "The honorific prefixes, such as `Mrs.` or `Dr.`" }, "phoneticHonorificSuffix": { "description": "The honorific suffixes spelled as they sound.", "type": "string" }, - "givenName": { - "description": "The given name.", - "type": "string" - }, "middleName": { "description": "The middle name(s).", "type": "string" }, + "givenName": { + "description": "The given name.", + "type": "string" + }, "phoneticHonorificPrefix": { "description": "The honorific prefixes spelled as they sound.", "type": "string" @@ -200,19 +954,18 @@ "type": "string" }, "displayNameLastFirst": { - "description": "The read-only display name with the last name first formatted according to\nthe locale specified by the viewer's account or the\n\u003ccode\u003eAccept-Language\u003c/code\u003e HTTP header.", + "description": "The read-only display name with the last name first formatted according to\nthe locale specified by the viewer's account or the\n`Accept-Language` HTTP header.", "type": "string" }, "displayName": { - "description": "The read-only display name formatted according to the locale specified by\nthe viewer's account or the \u003ccode\u003eAccept-Language\u003c/code\u003e HTTP header.", + "description": "The read-only display name formatted according to the locale specified by\nthe viewer's account or the `Accept-Language` HTTP header.", "type": "string" }, "honorificSuffix": { "description": "The honorific suffixes, such as `Jr.`", "type": "string" } - }, - "id": "Name" + } }, "Locale": { "description": "A person's locale preference.", @@ -230,19 +983,34 @@ "id": "Locale" }, "Empty": { - "properties": {}, - "id": "Empty", "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", - "type": "object" + "type": "object", + "properties": {}, + "id": "Empty" + }, + "UserDefined": { + "id": "UserDefined", + "description": "Arbitrary user data that is populated by the end users.", + "type": "object", + "properties": { + "key": { + "description": "The end user specified key of the user defined data.", + "type": "string" + }, + "metadata": { + "description": "Metadata about the user defined data.", + "$ref": "FieldMetadata" + }, + "value": { + "description": "The end user specified value of the user defined data.", + "type": "string" + } + } }, "Biography": { "description": "A person's short biography.", "type": "object", "properties": { - "value": { - "description": "The short biography.", - "type": "string" - }, "contentType": { "enumDescriptions": [ "Unspecified.", @@ -258,18 +1026,19 @@ "type": "string" }, "metadata": { - "$ref": "FieldMetadata", - "description": "Metadata about the biography." + "description": "Metadata about the biography.", + "$ref": "FieldMetadata" + }, + "value": { + "description": "The short biography.", + "type": "string" } }, "id": "Biography" }, "FieldMetadata": { + "type": "object", "properties": { - "verified": { - "description": "True if the field is verified; false if the field is unverified. A\nverified field is typically a name, email address, phone number, or\nwebsite that has been confirmed to be owned by the person.", - "type": "boolean" - }, "primary": { "description": "True if the field is the primary field; false if the field is a secondary\nfield.", "type": "boolean" @@ -277,30 +1046,14 @@ "source": { "description": "The source of the field.", "$ref": "Source" + }, + "verified": { + "description": "True if the field is verified; false if the field is unverified. A\nverified field is typically a name, email address, phone number, or\nwebsite that has been confirmed to be owned by the person.", + "type": "boolean" } }, "id": "FieldMetadata", - "description": "Metadata about a field.", - "type": "object" - }, - "RelationshipInterest": { - "description": "A person's read-only relationship interest .", - "type": "object", - "properties": { - "formattedValue": { - "type": "string", - "description": "The value of the relationship interest translated and formatted in the\nviewer's account locale or the locale specified in the Accept-Language\nHTTP header." - }, - "metadata": { - "description": "Metadata about the relationship interest.", - "$ref": "FieldMetadata" - }, - "value": { - "description": "The kind of relationship the person is looking for. The value can be custom\nor predefined. Possible values include, but are not limited to, the\nfollowing values:\n\n* `friend`\n* `date`\n* `relationship`\n* `networking`", - "type": "string" - } - }, - "id": "RelationshipInterest" + "description": "Metadata about a field." }, "Source": { "description": "The source of a field.", @@ -325,57 +1078,92 @@ ] }, "etag": { - "description": "The [HTTP entity tag](https://en.wikipedia.org/wiki/HTTP_ETag) of the\nsource. Used for web cache validation. Only populated in\nperson.metadata.sources.", + "description": "**Only populated in `person.metadata.sources`.**\n\nThe [HTTP entity tag](https://en.wikipedia.org/wiki/HTTP_ETag) of the\nsource. Used for web cache validation.", "type": "string" }, "id": { - "type": "string", - "description": "The unique identifier within the source type generated by the server." + "description": "The unique identifier within the source type generated by the server.", + "type": "string" }, "profileMetadata": { - "description": "Metadata about a source of type PROFILE.", - "$ref": "ProfileMetadata" + "$ref": "ProfileMetadata", + "description": "**Only populated in `person.metadata.sources`.**\n\nMetadata about a source of type PROFILE." }, "updateTime": { + "description": "**Only populated in `person.metadata.sources`.**\n\nLast update timestamp of this source.", "format": "google-datetime", - "description": "Last update timestamp of this source.", "type": "string" } }, "id": "Source" }, - "GetPeopleResponse": { + "RelationshipInterest": { + "description": "A person's read-only relationship interest .", "type": "object", + "properties": { + "formattedValue": { + "description": "The value of the relationship interest translated and formatted in the\nviewer's account locale or the locale specified in the Accept-Language\nHTTP header.", + "type": "string" + }, + "metadata": { + "$ref": "FieldMetadata", + "description": "Metadata about the relationship interest." + }, + "value": { + "description": "The kind of relationship the person is looking for. The value can be custom\nor predefined. Possible values include, but are not limited to, the\nfollowing values:\n\n* `friend`\n* `date`\n* `relationship`\n* `networking`", + "type": "string" + } + }, + "id": "RelationshipInterest" + }, + "GetPeopleResponse": { "properties": { "responses": { "description": "The response for each requested resource name.", + "type": "array", "items": { "$ref": "PersonResponse" - }, - "type": "array" + } } }, - "id": "GetPeopleResponse" + "id": "GetPeopleResponse", + "type": "object" }, "Photo": { + "id": "Photo", "description": "A person's read-only photo. A picture shown next to the person's name to\nhelp others recognize the person.", "type": "object", "properties": { "metadata": { - "description": "Metadata about the photo.", - "$ref": "FieldMetadata" + "$ref": "FieldMetadata", + "description": "Metadata about the photo." + }, + "default": { + "description": "True if the photo is a default photo;\nfalse if the photo is a user-provided photo.", + "type": "boolean" }, "url": { - "description": "The URL of the photo. You can change the desired size by appending a query\nparameter `sz=\u003csize\u003e` at the end of the url. Example:\n`https://lh3.googleusercontent.com/-T_wVWLlmg7w/AAAAAAAAAAI/AAAAAAAABa8/00gzXvDBYqw/s100/photo.jpg?sz=50`", + "description": "The URL of the photo. You can change the desired size by appending a query\nparameter `sz=`\u003cvar\u003esize\u003c/var\u003e at the end of the url. Example:\n`https://lh3.googleusercontent.com/-T_wVWLlmg7w/AAAAAAAAAAI/AAAAAAAABa8/00gzXvDBYqw/s100/photo.jpg?sz=50`", "type": "string" } - }, - "id": "Photo" + } }, "PhoneNumber": { "description": "A person's phone number.", "type": "object", "properties": { + "metadata": { + "$ref": "FieldMetadata", + "description": "Metadata about the phone number." + }, + "type": { + "description": "The type of the phone number. The type can be custom or predefined.\nPossible values include, but are not limited to, the following:\n\n* `home`\n* `work`\n* `mobile`\n* `homeFax`\n* `workFax`\n* `otherFax`\n* `pager`\n* `workMobile`\n* `workPager`\n* `main`\n* `googleVoice`\n* `other`", + "type": "string" + }, + "value": { + "description": "The phone number.", + "type": "string" + }, "formattedType": { "description": "The read-only type of the phone number translated and formatted in the\nviewer's account locale or the `Accept-Language` HTTP header locale.", "type": "string" @@ -383,18 +1171,6 @@ "canonicalForm": { "description": "The read-only canonicalized [ITU-T E.164](https://law.resource.org/pub/us/cfr/ibr/004/itu-t.E.164.1.2008.pdf)\nform of the phone number.", "type": "string" - }, - "type": { - "type": "string", - "description": "The type of the phone number. The type can be custom or predefined.\nPossible values include, but are not limited to, the following:\n\n* `home`\n* `work`\n* `mobile`\n* `homeFax`\n* `workFax`\n* `otherFax`\n* `pager`\n* `workMobile`\n* `workPager`\n* `main`\n* `googleVoice`\n* `other`" - }, - "metadata": { - "description": "Metadata about the phone number.", - "$ref": "FieldMetadata" - }, - "value": { - "description": "The phone number.", - "type": "string" } }, "id": "PhoneNumber" @@ -402,29 +1178,29 @@ "ListConnectionsResponse": { "type": "object", "properties": { + "totalPeople": { + "description": "**DEPRECATED** (Please use totalItems)\nThe total number of people in the list without pagination.", + "format": "int32", + "type": "integer" + }, "nextPageToken": { "description": "The token that can be used to retrieve the next page of results.", "type": "string" }, - "totalItems": { - "format": "int32", - "description": "The total number of items in the list without pagination.", - "type": "integer" + "connections": { + "description": "The list of people that the requestor is connected to.", + "type": "array", + "items": { + "$ref": "Person" + } }, "nextSyncToken": { "description": "The token that can be used to retrieve changes since the last request.", "type": "string" }, - "connections": { - "description": "The list of people that the requestor is connected to.", - "items": { - "$ref": "Person" - }, - "type": "array" - }, - "totalPeople": { + "totalItems": { + "description": "The total number of items in the list without pagination.", "format": "int32", - "description": "**DEPRECATED** (Please use totalItems)\nThe total number of people in the list without pagination.", "type": "integer" } }, @@ -434,14 +1210,14 @@ "description": "A person's birthday. At least one of the `date` and `text` fields are\nspecified. The `date` and `text` fields typically represent the same\ndate, but are not guaranteed to.", "type": "object", "properties": { - "text": { - "description": "A free-form string representing the user's birthday.", - "type": "string" - }, "metadata": { "description": "Metadata about the birthday.", "$ref": "FieldMetadata" }, + "text": { + "type": "string", + "description": "A free-form string representing the user's birthday." + }, "date": { "$ref": "Date", "description": "The date of the birthday." @@ -461,27 +1237,9 @@ "id": "CreateContactGroupRequest" }, "Address": { + "description": "A person's physical address. May be a P.O. box or street address. All fields\nare optional.", + "type": "object", "properties": { - "type": { - "description": "The type of the address. The type can be custom or predefined.\nPossible values include, but are not limited to, the following:\n\n* `home`\n* `work`\n* `other`", - "type": "string" - }, - "extendedAddress": { - "description": "The extended address of the address; for example, the apartment number.", - "type": "string" - }, - "poBox": { - "description": "The P.O. box of the address.", - "type": "string" - }, - "postalCode": { - "description": "The postal code of the address.", - "type": "string" - }, - "region": { - "description": "The region of the address; for example, the state or province.", - "type": "string" - }, "streetAddress": { "description": "The street address.", "type": "string" @@ -503,852 +1261,147 @@ "type": "string" }, "formattedValue": { - "description": "The unstructured value of the address. If this is not set by the user it\nwill be automatically constructed from structured values.", - "type": "string" + "type": "string", + "description": "The unstructured value of the address. If this is not set by the user it\nwill be automatically constructed from structured values." }, "country": { "description": "The country of the address.", "type": "string" - } - }, - "id": "Address", - "description": "A person's physical address. May be a P.O. box or street address. All fields\nare optional.", - "type": "object" - }, - "ContactGroupMembership": { - "properties": { - "contactGroupId": { - "description": "The contact group ID for the contact group membership. The contact group\nID can be custom or predefined. Possible values include, but are not\nlimited to, the following:\n\n* `myContacts`\n* `starred`\n* A numerical ID for user-created groups.", + }, + "type": { + "description": "The type of the address. The type can be custom or predefined.\nPossible values include, but are not limited to, the following:\n\n* `home`\n* `work`\n* `other`", + "type": "string" + }, + "extendedAddress": { + "description": "The extended address of the address; for example, the apartment number.", + "type": "string" + }, + "poBox": { + "description": "The P.O. box of the address.", + "type": "string" + }, + "postalCode": { + "description": "The postal code of the address.", + "type": "string" + }, + "region": { + "description": "The region of the address; for example, the state or province.", "type": "string" } }, - "id": "ContactGroupMembership", - "description": "A Google contact group membership.", - "type": "object" + "id": "Address" }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", "type": "object", "properties": { "message": { - "type": "string", - "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client." + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" }, "details": { - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "type": "array", "items": { "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" }, "type": "object" - }, - "type": "array" + } }, "code": { - "type": "integer", + "description": "The status code, which should be an enum value of google.rpc.Code.", "format": "int32", - "description": "The status code, which should be an enum value of google.rpc.Code." + "type": "integer" } }, "id": "Status" }, - "PersonMetadata": { - "description": "The read-only metadata about a person.", + "ContactGroupMembership": { + "description": "A Google contact group membership.", + "type": "object", + "properties": { + "contactGroupId": { + "description": "The contact group ID for the contact group membership. The contact group\nID can be custom or predefined. Possible values include, but are not\nlimited to, the following:\n\n* `myContacts`\n* `starred`\n* A numerical ID for user-created groups.", + "type": "string" + } + }, + "id": "ContactGroupMembership" + }, + "PersonMetadata": { "type": "object", "properties": { - "linkedPeopleResourceNames": { - "description": "Resource names of people linked to this resource.", - "items": { - "type": "string" - }, - "type": "array" - }, - "previousResourceNames": { - "description": "Any former resource names this person has had. Populated only for\n[`connections.list`](/people/api/rest/v1/people.connections/list) requests\nthat include a sync token.\n\nThe resource name may change when adding or removing fields that link a\ncontact and profile such as a verified email, verified phone number, or\nprofile URL.", - "items": { - "type": "string" - }, - "type": "array" - }, - "sources": { - "items": { - "$ref": "Source" - }, - "type": "array", - "description": "The sources of data for the person." - }, - "deleted": { - "description": "True if the person resource has been deleted. Populated only for\n[`connections.list`](/people/api/rest/v1/people.connections/list) requests\nthat include a sync token.", - "type": "boolean" - }, "objectType": { + "enumDescriptions": [ + "Unspecified.", + "Person.", + "[Google+ Page.](http://www.google.com/+/brands/)" + ], "enum": [ "OBJECT_TYPE_UNSPECIFIED", "PERSON", "PAGE" ], "description": "**DEPRECATED** (Please use\n`person.metadata.sources.profileMetadata.objectType` instead)\n\nThe type of the person object.", - "type": "string", - "enumDescriptions": [ - "Unspecified.", - "Person.", - "[Google+ Page.](http://www.google.com/+/brands/)" - ] + "type": "string" + }, + "linkedPeopleResourceNames": { + "description": "Resource names of people linked to this resource.", + "type": "array", + "items": { + "type": "string" + } + }, + "sources": { + "description": "The sources of data for the person.", + "type": "array", + "items": { + "$ref": "Source" + } + }, + "previousResourceNames": { + "description": "Any former resource names this person has had. Populated only for\n[`connections.list`](/people/api/rest/v1/people.connections/list) requests\nthat include a sync token.\n\nThe resource name may change when adding or removing fields that link a\ncontact and profile such as a verified email, verified phone number, or\nprofile URL.", + "type": "array", + "items": { + "type": "string" + } + }, + "deleted": { + "description": "True if the person resource has been deleted. Populated only for\n[`connections.list`](/people/api/rest/v1/people.connections/list) requests\nthat include a sync token.", + "type": "boolean" } }, - "id": "PersonMetadata" + "id": "PersonMetadata", + "description": "The read-only metadata about a person." }, "ModifyContactGroupMembersRequest": { "description": "A request to modify an existing contact group's members.", "type": "object", "properties": { "resourceNamesToRemove": { + "description": "The resource names of the contact people to remove in the form of in the\nform of `people/`\u003cvar\u003eperson_id\u003c/var\u003e.", + "type": "array", "items": { "type": "string" - }, - "type": "array", - "description": "The resource names of the contact people to remove in the form of in the\nform of `people/\u003cperson_id\u003e`." + } }, "resourceNamesToAdd": { - "description": "The resource names of the contact people to add in the form of in the form\n`people/\u003cperson_id\u003e`.", + "description": "The resource names of the contact people to add in the form of in the form\n`people/`\u003cvar\u003eperson_id\u003c/var\u003e.", + "type": "array", "items": { "type": "string" - }, - "type": "array" + } } }, "id": "ModifyContactGroupMembersRequest" - }, - "ContactGroupResponse": { - "description": "The response for a specific contact group.", - "type": "object", - "properties": { - "requestedResourceName": { - "description": "The original requested resource name.", - "type": "string" - }, - "contactGroup": { - "$ref": "ContactGroup", - "description": "The contact group." - }, - "status": { - "$ref": "Status", - "description": "The status of the response." - } - }, - "id": "ContactGroupResponse" - }, - "Url": { - "properties": { - "type": { - "description": "The type of the URL. The type can be custom or predefined.\nPossible values include, but are not limited to, the following:\n\n* `home`\n* `work`\n* `blog`\n* `profile`\n* `homePage`\n* `ftp`\n* `reservations`\n* `appInstallPage`: website for a Google+ application.\n* `other`", - "type": "string" - }, - "metadata": { - "description": "Metadata about the URL.", - "$ref": "FieldMetadata" - }, - "value": { - "description": "The URL.", - "type": "string" - }, - "formattedType": { - "description": "The read-only type of the URL translated and formatted in the viewer's\naccount locale or the `Accept-Language` HTTP header locale.", - "type": "string" - } - }, - "id": "Url", - "description": "A person's associated URLs.", - "type": "object" - }, - "ImClient": { - "description": "A person's instant messaging client.", - "type": "object", - "properties": { - "username": { - "description": "The user name used in the IM client.", - "type": "string" - }, - "formattedProtocol": { - "description": "The read-only protocol of the IM client formatted in the viewer's account\nlocale or the `Accept-Language` HTTP header locale.", - "type": "string" - }, - "formattedType": { - "description": "The read-only type of the IM client translated and formatted in the\nviewer's account locale or the `Accept-Language` HTTP header locale.", - "type": "string" - }, - "metadata": { - "$ref": "FieldMetadata", - "description": "Metadata about the IM client." - }, - "type": { - "description": "The type of the IM client. The type can be custom or predefined.\nPossible values include, but are not limited to, the following:\n\n* `home`\n* `work`\n* `other`", - "type": "string" - }, - "protocol": { - "description": "The protocol of the IM client. The protocol can be custom or predefined.\nPossible values include, but are not limited to, the following:\n\n* `aim`\n* `msn`\n* `yahoo`\n* `skype`\n* `qq`\n* `googleTalk`\n* `icq`\n* `jabber`\n* `netMeeting`", - "type": "string" - } - }, - "id": "ImClient" - }, - "DomainMembership": { - "properties": { - "inViewerDomain": { - "description": "True if the person is in the viewer's Google Apps domain.", - "type": "boolean" - } - }, - "id": "DomainMembership", - "description": "A Google Apps Domain membership.", - "type": "object" - }, - "Membership": { - "id": "Membership", - "description": "A person's read-only membership in a group.", - "type": "object", - "properties": { - "domainMembership": { - "description": "The domain membership.", - "$ref": "DomainMembership" - }, - "contactGroupMembership": { - "$ref": "ContactGroupMembership", - "description": "The contact group membership." - }, - "metadata": { - "$ref": "FieldMetadata", - "description": "Metadata about the membership." - } - } - }, - "BatchGetContactGroupsResponse": { - "description": "The response to a batch get contact groups request.", - "type": "object", - "properties": { - "responses": { - "description": "The list of responses for each requested contact group resource.", - "items": { - "$ref": "ContactGroupResponse" - }, - "type": "array" - } - }, - "id": "BatchGetContactGroupsResponse" - }, - "RelationshipStatus": { - "properties": { - "formattedValue": { - "description": "The read-only value of the relationship status translated and formatted in\nthe viewer's account locale or the `Accept-Language` HTTP header locale.", - "type": "string" - }, - "metadata": { - "description": "Metadata about the relationship status.", - "$ref": "FieldMetadata" - }, - "value": { - "type": "string", - "description": "The relationship status. The value can be custom or predefined.\nPossible values include, but are not limited to, the following:\n\n* `single`\n* `inARelationship`\n* `engaged`\n* `married`\n* `itsComplicated`\n* `openRelationship`\n* `widowed`\n* `inDomesticPartnership`\n* `inCivilUnion`" - } - }, - "id": "RelationshipStatus", - "description": "A person's read-only relationship status.", - "type": "object" - }, - "BraggingRights": { - "id": "BraggingRights", - "description": "A person's bragging rights.", - "type": "object", - "properties": { - "value": { - "description": "The bragging rights; for example, `climbed mount everest`.", - "type": "string" - }, - "metadata": { - "description": "Metadata about the bragging rights.", - "$ref": "FieldMetadata" - } - } - }, - "Organization": { - "id": "Organization", - "description": "A person's past or current organization. Overlapping date ranges are\npermitted.", - "type": "object", - "properties": { - "endDate": { - "$ref": "Date", - "description": "The end date when the person left the organization." - }, - "symbol": { - "description": "The symbol associated with the organization; for example, a stock ticker\nsymbol, abbreviation, or acronym.", - "type": "string" - }, - "name": { - "description": "The name of the organization.", - "type": "string" - }, - "metadata": { - "description": "Metadata about the organization.", - "$ref": "FieldMetadata" - }, - "location": { - "type": "string", - "description": "The location of the organization office the person works at." - }, - "title": { - "description": "The person's job title at the organization.", - "type": "string" - }, - "current": { - "description": "True if the organization is the person's current organization;\nfalse if the organization is a past organization.", - "type": "boolean" - }, - "startDate": { - "$ref": "Date", - "description": "The start date when the person joined the organization." - }, - "formattedType": { - "description": "The read-only type of the organization translated and formatted in the\nviewer's account locale or the `Accept-Language` HTTP header locale.", - "type": "string" - }, - "domain": { - "type": "string", - "description": "The domain name associated with the organization; for example, `google.com`." - }, - "department": { - "description": "The person's department at the organization.", - "type": "string" - }, - "type": { - "description": "The type of the organization. The type can be custom or predefined.\nPossible values include, but are not limited to, the following:\n\n* `work`\n* `school`", - "type": "string" - }, - "phoneticName": { - "description": "The phonetic name of the organization.", - "type": "string" - }, - "jobDescription": { - "type": "string", - "description": "The person's job description at the organization." - } - } - }, - "AgeRangeType": { - "type": "object", - "properties": { - "ageRange": { - "description": "The age range.", - "type": "string", - "enumDescriptions": [ - "Unspecified.", - "Younger than eighteen.", - "Between eighteen and twenty.", - "Twenty-one and older." - ], - "enum": [ - "AGE_RANGE_UNSPECIFIED", - "LESS_THAN_EIGHTEEN", - "EIGHTEEN_TO_TWENTY", - "TWENTY_ONE_OR_OLDER" - ] - }, - "metadata": { - "$ref": "FieldMetadata", - "description": "Metadata about the age range." - } - }, - "id": "AgeRangeType", - "description": "A person's age range." - }, - "ListContactGroupsResponse": { - "type": "object", - "properties": { - "nextPageToken": { - "description": "The token that can be used to retrieve the next page of results.", - "type": "string" - }, - "nextSyncToken": { - "description": "The token that can be used to retrieve changes since the last request.", - "type": "string" - }, - "totalItems": { - "format": "int32", - "description": "The total number of items in the list without pagination.", - "type": "integer" - }, - "contactGroups": { - "description": "The list of contact groups. Members of the contact groups are not\npopulated.", - "items": { - "$ref": "ContactGroup" - }, - "type": "array" - } - }, - "id": "ListContactGroupsResponse", - "description": "The response to a list contact groups request." - }, - "PersonResponse": { - "type": "object", - "properties": { - "person": { - "$ref": "Person", - "description": "The person." - }, - "status": { - "description": "The status of the response.", - "$ref": "Status" - }, - "httpStatusCode": { - "format": "int32", - "description": "**DEPRECATED** (Please use status instead)\n\n[HTTP 1.1 status code]\n(http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html).", - "type": "integer" - }, - "requestedResourceName": { - "type": "string", - "description": "The original requested resource name. May be different than the resource\nname on the returned person.\n\nThe resource name can change when adding or removing fields that link a\ncontact and profile such as a verified email, verified phone number, or a\nprofile URL." - } - }, - "id": "PersonResponse", - "description": "The response for a single person" - }, - "Relation": { - "description": "A person's relation to another person.", - "type": "object", - "properties": { - "formattedType": { - "description": "The type of the relation translated and formatted in the viewer's account\nlocale or the locale specified in the Accept-Language HTTP header.", - "type": "string" - }, - "person": { - "description": "The name of the other person this relation refers to.", - "type": "string" - }, - "type": { - "description": "The person's relation to the other person. The type can be custom or predefined.\nPossible values include, but are not limited to, the following values:\n\n* `spouse`\n* `child`\n* `mother`\n* `father`\n* `parent`\n* `brother`\n* `sister`\n* `friend`\n* `relative`\n* `domesticPartner`\n* `manager`\n* `assistant`\n* `referredBy`\n* `partner`", - "type": "string" - }, - "metadata": { - "$ref": "FieldMetadata", - "description": "Metadata about the relation." - } - }, - "id": "Relation" - }, - "Occupation": { - "description": "A person's occupation.", - "type": "object", - "properties": { - "metadata": { - "$ref": "FieldMetadata", - "description": "Metadata about the occupation." - }, - "value": { - "type": "string", - "description": "The occupation; for example, `carpenter`." - } - }, - "id": "Occupation" - }, - "ContactGroup": { - "description": "A contact group.", - "type": "object", - "properties": { - "groupType": { - "enumDescriptions": [ - "Unspecified.", - "User defined contact group.", - "System defined contact group." - ], - "enum": [ - "GROUP_TYPE_UNSPECIFIED", - "USER_CONTACT_GROUP", - "SYSTEM_CONTACT_GROUP" - ], - "description": "The read-only contact group type.", - "type": "string" - }, - "formattedName": { - "description": "The read-only name translated and formatted in the viewer's account locale\nor the `Accept-Language` HTTP header locale for system groups names.\nGroup names set by the owner are the same as name.", - "type": "string" - }, - "name": { - "description": "The contact group name set by the group owner or a system provided name\nfor system groups.", - "type": "string" - }, - "memberResourceNames": { - "description": "The list of contact person resource names that are members of the contact\ngroup. The field is not populated for LIST requests and can only be updated\nthrough the\n[ModifyContactGroupMembers](/people/api/rest/v1/contactgroups/members/modify).", - "items": { - "type": "string" - }, - "type": "array" - }, - "metadata": { - "description": "Metadata about the contact group.", - "$ref": "ContactGroupMetadata" - }, - "memberCount": { - "format": "int32", - "description": "The total number of contacts in the group irrespective of max members in\nspecified in the request.", - "type": "integer" - }, - "resourceName": { - "description": "The resource name for the contact group, assigned by the server. An ASCII\nstring, in the form of `contactGroups/\u003ccontact_group_id\u003e`.", - "type": "string" - }, - "etag": { - "type": "string", - "description": "The [HTTP entity tag](https://en.wikipedia.org/wiki/HTTP_ETag) of the\nresource. Used for web cache validation." - } - }, - "id": "ContactGroup" - }, - "Person": { - "id": "Person", - "description": "Information about a person merged from various data sources such as the\nauthenticated user's contacts and profile data.\n\nMost fields can have multiple items. The items in a field have no guaranteed\norder, but each non-empty field is guaranteed to have exactly one field with\n`metadata.primary` set to true.", - "type": "object", - "properties": { - "birthdays": { - "description": "The person's birthdays.", - "items": { - "$ref": "Birthday" - }, - "type": "array" - }, - "locales": { - "description": "The person's locale preferences.", - "items": { - "$ref": "Locale" - }, - "type": "array" - }, - "relationshipInterests": { - "description": "The person's read-only relationship interests.", - "items": { - "$ref": "RelationshipInterest" - }, - "type": "array" - }, - "urls": { - "description": "The person's associated URLs.", - "items": { - "$ref": "Url" - }, - "type": "array" - }, - "nicknames": { - "description": "The person's nicknames.", - "items": { - "$ref": "Nickname" - }, - "type": "array" - }, - "relations": { - "description": "The person's relations.", - "items": { - "$ref": "Relation" - }, - "type": "array" - }, - "names": { - "items": { - "$ref": "Name" - }, - "type": "array", - "description": "The person's names." - }, - "occupations": { - "items": { - "$ref": "Occupation" - }, - "type": "array", - "description": "The person's occupations." - }, - "emailAddresses": { - "description": "The person's email addresses.", - "items": { - "$ref": "EmailAddress" - }, - "type": "array" - }, - "organizations": { - "description": "The person's past or current organizations.", - "items": { - "$ref": "Organization" - }, - "type": "array" - }, - "etag": { - "description": "The [HTTP entity tag](https://en.wikipedia.org/wiki/HTTP_ETag) of the\nresource. Used for web cache validation.", - "type": "string" - }, - "braggingRights": { - "description": "The person's bragging rights.", - "items": { - "$ref": "BraggingRights" - }, - "type": "array" - }, - "metadata": { - "$ref": "PersonMetadata", - "description": "Read-only metadata about the person." - }, - "residences": { - "description": "The person's residences.", - "items": { - "$ref": "Residence" - }, - "type": "array" - }, - "genders": { - "description": "The person's genders.", - "items": { - "$ref": "Gender" - }, - "type": "array" - }, - "interests": { - "description": "The person's interests.", - "items": { - "$ref": "Interest" - }, - "type": "array" - }, - "resourceName": { - "description": "The resource name for the person, assigned by the server. An ASCII string\nwith a max length of 27 characters, in the form of `people/\u003cperson_id\u003e`.", - "type": "string" - }, - "biographies": { - "description": "The person's biographies.", - "items": { - "$ref": "Biography" - }, - "type": "array" - }, - "skills": { - "description": "The person's skills.", - "items": { - "$ref": "Skill" - }, - "type": "array" - }, - "relationshipStatuses": { - "items": { - "$ref": "RelationshipStatus" - }, - "type": "array", - "description": "The person's read-only relationship statuses." - }, - "photos": { - "description": "The person's read-only photos.", - "items": { - "$ref": "Photo" - }, - "type": "array" - }, - "ageRange": { - "enum": [ - "AGE_RANGE_UNSPECIFIED", - "LESS_THAN_EIGHTEEN", - "EIGHTEEN_TO_TWENTY", - "TWENTY_ONE_OR_OLDER" - ], - "description": "**DEPRECATED** (Please use `person.ageRanges` instead)**\n\nThe person's read-only age range.", - "type": "string", - "enumDescriptions": [ - "Unspecified.", - "Younger than eighteen.", - "Between eighteen and twenty.", - "Twenty-one and older." - ] - }, - "taglines": { - "description": "The person's read-only taglines.", - "items": { - "$ref": "Tagline" - }, - "type": "array" - }, - "ageRanges": { - "items": { - "$ref": "AgeRangeType" - }, - "type": "array", - "description": "The person's read-only age ranges." - }, - "addresses": { - "description": "The person's street addresses.", - "items": { - "$ref": "Address" - }, - "type": "array" - }, - "events": { - "items": { - "$ref": "Event" - }, - "type": "array", - "description": "The person's events." - }, - "memberships": { - "description": "The person's read-only group memberships.", - "items": { - "$ref": "Membership" - }, - "type": "array" - }, - "phoneNumbers": { - "description": "The person's phone numbers.", - "items": { - "$ref": "PhoneNumber" - }, - "type": "array" - }, - "coverPhotos": { - "description": "The person's read-only cover photos.", - "items": { - "$ref": "CoverPhoto" - }, - "type": "array" - }, - "imClients": { - "description": "The person's instant messaging clients.", - "items": { - "$ref": "ImClient" - }, - "type": "array" - } - } - }, - "UpdateContactGroupRequest": { - "description": "A request to update an existing contact group. Only the name can be updated.", - "type": "object", - "properties": { - "contactGroup": { - "$ref": "ContactGroup", - "description": "The contact group to update." - } - }, - "id": "UpdateContactGroupRequest" - }, - "ContactGroupMetadata": { - "description": "The read-only metadata about a contact group.", - "type": "object", - "properties": { - "updateTime": { - "type": "string", - "format": "google-datetime", - "description": "The time the group was last updated." - }, - "deleted": { - "description": "True if the contact group resource has been deleted. Populated only for\n[`ListContactGroups`](/people/api/rest/v1/contactgroups/list) requests\nthat include a sync token.", - "type": "boolean" - } - }, - "id": "ContactGroupMetadata" - }, - "Residence": { - "description": "A person's past or current residence.", - "type": "object", - "properties": { - "current": { - "description": "True if the residence is the person's current residence;\nfalse if the residence is a past residence.", - "type": "boolean" - }, - "metadata": { - "$ref": "FieldMetadata", - "description": "Metadata about the residence." - }, - "value": { - "description": "The address of the residence.", - "type": "string" - } - }, - "id": "Residence" - }, - "Event": { - "id": "Event", - "description": "An event related to the person.", - "type": "object", - "properties": { - "formattedType": { - "description": "The read-only type of the event translated and formatted in the\nviewer's account locale or the `Accept-Language` HTTP header locale.", - "type": "string" - }, - "type": { - "description": "The type of the event. The type can be custom or predefined.\nPossible values include, but are not limited to, the following:\n\n* `anniversary`\n* `other`", - "type": "string" - }, - "metadata": { - "description": "Metadata about the event.", - "$ref": "FieldMetadata" - }, - "date": { - "$ref": "Date", - "description": "The date of the event." - } - } - }, - "ModifyContactGroupMembersResponse": { - "id": "ModifyContactGroupMembersResponse", - "description": "The response to a modify contact group members request.", - "type": "object", - "properties": { - "notFoundResourceNames": { - "items": { - "type": "string" - }, - "type": "array", - "description": "The contact people resource names that were not found." - } - } - }, - "ProfileMetadata": { - "description": "The read-only metadata about a profile.", - "type": "object", - "properties": { - "objectType": { - "enum": [ - "OBJECT_TYPE_UNSPECIFIED", - "PERSON", - "PAGE" - ], - "description": "The profile object type.", - "type": "string", - "enumDescriptions": [ - "Unspecified.", - "Person.", - "[Google+ Page.](http://www.google.com/+/brands/)" - ] - } - }, - "id": "ProfileMetadata" - }, - "Gender": { - "type": "object", - "properties": { - "metadata": { - "$ref": "FieldMetadata", - "description": "Metadata about the gender." - }, - "value": { - "description": "The gender for the person. The gender can be custom or predefined.\nPossible values include, but are not limited to, the\nfollowing:\n\n* `male`\n* `female`\n* `other`\n* `unknown`", - "type": "string" - }, - "formattedValue": { - "description": "The read-only value of the gender translated and formatted in the viewer's\naccount locale or the `Accept-Language` HTTP header locale.", - "type": "string" - } - }, - "id": "Gender", - "description": "A person's gender." } }, + "protocol": "rest", "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.gif" }, - "protocol": "rest", "canonicalName": "People Service", "auth": { "oauth2": { @@ -1374,11 +1427,11 @@ "https://www.googleapis.com/auth/userinfo.email": { "description": "View your email address" }, - "https://www.googleapis.com/auth/contacts.readonly": { - "description": "View your contacts" - }, "https://www.googleapis.com/auth/user.birthday.read": { "description": "View your complete date of birth" + }, + "https://www.googleapis.com/auth/contacts.readonly": { + "description": "View your contacts" } } } @@ -1390,38 +1443,321 @@ "title": "Google People API", "ownerName": "Google", "resources": { - "contactGroups": { + "people": { "methods": { - "batchGet": { - "path": "v1/contactGroups:batchGet", - "id": "people.contactGroups.batchGet", - "description": "Get a list of contact groups owned by the authenticated user by specifying\na list of contact group resource names.", + "getBatchGet": { + "description": "Provides information about a list of specific people by specifying a list\nof requested resource names. Use `people/me` to indicate the authenticated\nuser.\n\u003cbr\u003e\nThe request throws a 400 error if 'personFields' is not specified.", "httpMethod": "GET", "parameterOrder": [], "response": { - "$ref": "BatchGetContactGroupsResponse" + "$ref": "GetPeopleResponse" + }, + "parameters": { + "personFields": { + "location": "query", + "description": "**Required.** A field mask to restrict which fields on each person are\nreturned. Valid values are:\n\n* addresses\n* ageRanges\n* biographies\n* birthdays\n* braggingRights\n* coverPhotos\n* emailAddresses\n* events\n* genders\n* imClients\n* interests\n* locales\n* memberships\n* metadata\n* names\n* nicknames\n* occupations\n* organizations\n* phoneNumbers\n* photos\n* relations\n* relationshipInterests\n* relationshipStatuses\n* residences\n* skills\n* taglines\n* urls", + "format": "google-fieldmask", + "type": "string" + }, + "requestMask.includeField": { + "description": "**Required.** Comma-separated list of person fields to be included in the\nresponse. Each path should start with `person.`: for example,\n`person.names` or `person.photos`.", + "format": "google-fieldmask", + "type": "string", + "location": "query" + }, + "resourceNames": { + "repeated": true, + "location": "query", + "description": "The resource names of the people to provide information about.\n\n- To get information about the authenticated user, specify `people/me`.\n- To get information about a google account, specify\n `people/`\u003cvar\u003eaccount_id\u003c/var\u003e.\n- To get information about a contact, specify the resource name that\n identifies the contact as returned by\n[`people.connections.list`](/people/api/rest/v1/people.connections/list).\n\nYou can include up to 50 resource names in one request.", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/contacts", + "https://www.googleapis.com/auth/contacts.readonly", + "https://www.googleapis.com/auth/plus.login", + "https://www.googleapis.com/auth/user.addresses.read", + "https://www.googleapis.com/auth/user.birthday.read", + "https://www.googleapis.com/auth/user.emails.read", + "https://www.googleapis.com/auth/user.phonenumbers.read", + "https://www.googleapis.com/auth/userinfo.email", + "https://www.googleapis.com/auth/userinfo.profile" + ], + "flatPath": "v1/people:batchGet", + "id": "people.people.getBatchGet", + "path": "v1/people:batchGet" + }, + "get": { + "response": { + "$ref": "Person" + }, + "parameterOrder": [ + "resourceName" + ], + "httpMethod": "GET", + "parameters": { + "resourceName": { + "location": "path", + "description": "The resource name of the person to provide information about.\n\n- To get information about the authenticated user, specify `people/me`.\n- To get information about a google account, specify\n `people/`\u003cvar\u003eaccount_id\u003c/var\u003e.\n- To get information about a contact, specify the resource name that\n identifies the contact as returned by\n[`people.connections.list`](/people/api/rest/v1/people.connections/list).", + "required": true, + "type": "string", + "pattern": "^people/[^/]+$" + }, + "personFields": { + "location": "query", + "description": "**Required.** A field mask to restrict which fields on the person are\nreturned. Valid values are:\n\n* addresses\n* ageRanges\n* biographies\n* birthdays\n* braggingRights\n* coverPhotos\n* emailAddresses\n* events\n* genders\n* imClients\n* interests\n* locales\n* memberships\n* metadata\n* names\n* nicknames\n* occupations\n* organizations\n* phoneNumbers\n* photos\n* relations\n* relationshipInterests\n* relationshipStatuses\n* residences\n* skills\n* taglines\n* urls", + "format": "google-fieldmask", + "type": "string" + }, + "requestMask.includeField": { + "location": "query", + "description": "**Required.** Comma-separated list of person fields to be included in the\nresponse. Each path should start with `person.`: for example,\n`person.names` or `person.photos`.", + "format": "google-fieldmask", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/contacts", + "https://www.googleapis.com/auth/contacts.readonly", + "https://www.googleapis.com/auth/plus.login", + "https://www.googleapis.com/auth/user.addresses.read", + "https://www.googleapis.com/auth/user.birthday.read", + "https://www.googleapis.com/auth/user.emails.read", + "https://www.googleapis.com/auth/user.phonenumbers.read", + "https://www.googleapis.com/auth/userinfo.email", + "https://www.googleapis.com/auth/userinfo.profile" + ], + "flatPath": "v1/people/{peopleId}", + "path": "v1/{+resourceName}", + "id": "people.people.get", + "description": "Provides information about a person by specifying a resource name. Use\n`people/me` to indicate the authenticated user.\n\u003cbr\u003e\nThe request throws a 400 error if 'personFields' is not specified." + }, + "updateContact": { + "description": "Update contact data for an existing contact person. Any non-contact data\nwill not be modified.\n\nThe request throws a 400 error if `updatePersonFields` is not specified.\n\u003cbr\u003e\nThe request throws a 400 error if `person.metadata.sources` is not\nspecified for the contact to be updated.\n\u003cbr\u003e\nThe request throws a 412 error if `person.metadata.sources.etag` is\ndifferent than the contact's etag, which indicates the contact has changed\nsince its data was read. Clients should get the latest person and re-apply\ntheir updates to the latest person.", + "request": { + "$ref": "Person" + }, + "response": { + "$ref": "Person" + }, + "parameterOrder": [ + "resourceName" + ], + "httpMethod": "PATCH", + "scopes": [ + "https://www.googleapis.com/auth/contacts" + ], + "parameters": { + "resourceName": { + "pattern": "^people/[^/]+$", + "location": "path", + "description": "The resource name for the person, assigned by the server. An ASCII string\nwith a max length of 27 characters, in the form of\n`people/`\u003cvar\u003eperson_id\u003c/var\u003e.", + "required": true, + "type": "string" + }, + "updatePersonFields": { + "description": "**Required.** A field mask to restrict which fields on the person are\nupdated. Valid values are:\n\n* addresses\n* biographies\n* birthdays\n* braggingRights\n* emailAddresses\n* events\n* genders\n* imClients\n* interests\n* locales\n* names\n* nicknames\n* occupations\n* organizations\n* phoneNumbers\n* relations\n* residences\n* skills\n* urls", + "format": "google-fieldmask", + "type": "string", + "location": "query" + } + }, + "flatPath": "v1/people/{peopleId}:updateContact", + "path": "v1/{+resourceName}:updateContact", + "id": "people.people.updateContact" + }, + "createContact": { + "response": { + "$ref": "Person" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": { + "parent": { + "location": "query", + "description": "The resource name of the owning person resource.", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/contacts" + ], + "flatPath": "v1/people:createContact", + "path": "v1/people:createContact", + "id": "people.people.createContact", + "request": { + "$ref": "Person" + }, + "description": "Create a new contact and return the person resource for that contact." + }, + "deleteContact": { + "description": "Delete a contact person. Any non-contact data will not be deleted.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "resourceName" + ], + "httpMethod": "DELETE", + "parameters": { + "resourceName": { + "description": "The resource name of the contact to delete.", + "required": true, + "type": "string", + "pattern": "^people/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/contacts" + ], + "flatPath": "v1/people/{peopleId}:deleteContact", + "path": "v1/{+resourceName}:deleteContact", + "id": "people.people.deleteContact" + } + }, + "resources": { + "connections": { + "methods": { + "list": { + "httpMethod": "GET", + "parameterOrder": [ + "resourceName" + ], + "response": { + "$ref": "ListConnectionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/contacts", + "https://www.googleapis.com/auth/contacts.readonly" + ], + "parameters": { + "requestSyncToken": { + "description": "Whether the response should include a sync token, which can be used to get\nall changes since the last request.", + "type": "boolean", + "location": "query" + }, + "resourceName": { + "location": "path", + "description": "The resource name to return connections for. Only `people/me` is valid.", + "required": true, + "type": "string", + "pattern": "^people/[^/]+$" + }, + "pageToken": { + "location": "query", + "description": "The token of the page to be returned.", + "type": "string" + }, + "pageSize": { + "location": "query", + "description": "The number of connections to include in the response. Valid values are\nbetween 1 and 2000, inclusive. Defaults to 100.", + "format": "int32", + "type": "integer" + }, + "requestMask.includeField": { + "location": "query", + "description": "**Required.** Comma-separated list of person fields to be included in the\nresponse. Each path should start with `person.`: for example,\n`person.names` or `person.photos`.", + "format": "google-fieldmask", + "type": "string" + }, + "syncToken": { + "description": "A sync token, returned by a previous call to `people.connections.list`.\nOnly resources changed since the sync token was created will be returned.", + "type": "string", + "location": "query" + }, + "personFields": { + "location": "query", + "description": "**Required.** A field mask to restrict which fields on each person are\nreturned. Valid values are:\n\n* addresses\n* ageRanges\n* biographies\n* birthdays\n* braggingRights\n* coverPhotos\n* emailAddresses\n* events\n* genders\n* imClients\n* interests\n* locales\n* memberships\n* metadata\n* names\n* nicknames\n* occupations\n* organizations\n* phoneNumbers\n* photos\n* relations\n* relationshipInterests\n* relationshipStatuses\n* residences\n* skills\n* taglines\n* urls", + "format": "google-fieldmask", + "type": "string" + }, + "sortOrder": { + "location": "query", + "enum": [ + "LAST_MODIFIED_ASCENDING", + "FIRST_NAME_ASCENDING", + "LAST_NAME_ASCENDING" + ], + "description": "The order in which the connections should be sorted. Defaults to\n`LAST_MODIFIED_ASCENDING`.", + "type": "string" + } + }, + "flatPath": "v1/people/{peopleId}/connections", + "id": "people.people.connections.list", + "path": "v1/{+resourceName}/connections", + "description": "Provides a list of the authenticated user's contacts merged with any\nconnected profiles.\n\u003cbr\u003e\nThe request throws a 400 error if 'personFields' is not specified." + } + } + } + } + }, + "contactGroups": { + "methods": { + "get": { + "parameters": { + "maxMembers": { + "description": "Specifies the maximum number of members to return.", + "format": "int32", + "type": "integer", + "location": "query" + }, + "resourceName": { + "location": "path", + "description": "The resource name of the contact group to get.", + "required": true, + "type": "string", + "pattern": "^contactGroups/[^/]+$" + } }, "scopes": [ "https://www.googleapis.com/auth/contacts", "https://www.googleapis.com/auth/contacts.readonly" ], + "flatPath": "v1/contactGroups/{contactGroupsId}", + "id": "people.contactGroups.get", + "path": "v1/{+resourceName}", + "description": "Get a specific contact group owned by the authenticated user by specifying\na contact group resource name.", + "httpMethod": "GET", + "response": { + "$ref": "ContactGroup" + }, + "parameterOrder": [ + "resourceName" + ] + }, + "update": { + "path": "v1/{+resourceName}", + "id": "people.contactGroups.update", + "description": "Update the name of an existing contact group owned by the authenticated\nuser.", + "request": { + "$ref": "UpdateContactGroupRequest" + }, + "response": { + "$ref": "ContactGroup" + }, + "parameterOrder": [ + "resourceName" + ], + "httpMethod": "PUT", + "scopes": [ + "https://www.googleapis.com/auth/contacts" + ], "parameters": { - "maxMembers": { - "format": "int32", - "description": "Specifies the maximum number of members to return for each group.", - "type": "integer", - "location": "query" - }, - "resourceNames": { - "description": "The resource names of the contact groups to get.", - "type": "string", - "repeated": true, - "location": "query" + "resourceName": { + "pattern": "^contactGroups/[^/]+$", + "location": "path", + "description": "The resource name for the contact group, assigned by the server. An ASCII\nstring, in the form of `contactGroups/`\u003cvar\u003econtact_group_id\u003c/var\u003e.", + "required": true, + "type": "string" } }, - "flatPath": "v1/contactGroups:batchGet" + "flatPath": "v1/contactGroups/{contactGroupsId}" }, "delete": { + "flatPath": "v1/contactGroups/{contactGroupsId}", + "path": "v1/{+resourceName}", + "id": "people.contactGroups.delete", "description": "Delete an existing contact group owned by the authenticated user by\nspecifying a contact group resource name.", "response": { "$ref": "Empty" @@ -1435,60 +1771,89 @@ ], "parameters": { "resourceName": { + "pattern": "^contactGroups/[^/]+$", "location": "path", "description": "The resource name of the contact group to delete.", - "type": "string", "required": true, - "pattern": "^contactGroups/[^/]+$" + "type": "string" }, "deleteContacts": { "location": "query", "description": "Set to true to also delete the contacts in the specified group.", "type": "boolean" } - }, - "flatPath": "v1/contactGroups/{contactGroupsId}", - "id": "people.contactGroups.delete", - "path": "v1/{+resourceName}" + } }, - "list": { + "batchGet": { "httpMethod": "GET", - "parameterOrder": [], "response": { - "$ref": "ListContactGroupsResponse" + "$ref": "BatchGetContactGroupsResponse" }, + "parameterOrder": [], "parameters": { - "pageSize": { + "resourceNames": { "location": "query", - "format": "int32", - "description": "The maximum number of resources to return.", - "type": "integer" - }, - "syncToken": { - "description": "A sync token, returned by a previous call to `contactgroups.list`.\nOnly resources changed since the sync token was created will be returned.", + "description": "The resource names of the contact groups to get.", "type": "string", - "location": "query" + "repeated": true }, - "pageToken": { - "description": "The next_page_token value returned from a previous call to\n[ListContactGroups](/people/api/rest/v1/contactgroups/list).\nRequests the next page of resources.", - "type": "string", - "location": "query" + "maxMembers": { + "type": "integer", + "location": "query", + "description": "Specifies the maximum number of members to return for each group.", + "format": "int32" } }, "scopes": [ "https://www.googleapis.com/auth/contacts", "https://www.googleapis.com/auth/contacts.readonly" ], + "flatPath": "v1/contactGroups:batchGet", + "id": "people.contactGroups.batchGet", + "path": "v1/contactGroups:batchGet", + "description": "Get a list of contact groups owned by the authenticated user by specifying\na list of contact group resource names." + }, + "list": { + "response": { + "$ref": "ListContactGroupsResponse" + }, + "parameterOrder": [], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/contacts", + "https://www.googleapis.com/auth/contacts.readonly" + ], + "parameters": { + "syncToken": { + "location": "query", + "description": "A sync token, returned by a previous call to `contactgroups.list`.\nOnly resources changed since the sync token was created will be returned.", + "type": "string" + }, + "pageToken": { + "location": "query", + "description": "The next_page_token value returned from a previous call to\n[ListContactGroups](/people/api/rest/v1/contactgroups/list).\nRequests the next page of resources.", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of resources to return.", + "format": "int32", + "type": "integer", + "location": "query" + } + }, "flatPath": "v1/contactGroups", "path": "v1/contactGroups", "id": "people.contactGroups.list", "description": "List all contact groups owned by the authenticated user. Members of the\ncontact groups are not populated." }, "create": { + "flatPath": "v1/contactGroups", + "path": "v1/contactGroups", + "id": "people.contactGroups.create", + "description": "Create a new contact group owned by the authenticated user.", "request": { "$ref": "CreateContactGroupRequest" }, - "description": "Create a new contact group owned by the authenticated user.", "response": { "$ref": "ContactGroup" }, @@ -1497,351 +1862,39 @@ "scopes": [ "https://www.googleapis.com/auth/contacts" ], - "parameters": {}, - "flatPath": "v1/contactGroups", - "id": "people.contactGroups.create", - "path": "v1/contactGroups" - }, - "get": { - "response": { - "$ref": "ContactGroup" - }, - "parameterOrder": [ - "resourceName" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/contacts", - "https://www.googleapis.com/auth/contacts.readonly" - ], - "parameters": { - "maxMembers": { - "location": "query", - "format": "int32", - "description": "Specifies the maximum number of members to return.", - "type": "integer" - }, - "resourceName": { - "location": "path", - "description": "The resource name of the contact group to get.", - "type": "string", - "required": true, - "pattern": "^contactGroups/[^/]+$" - } - }, - "flatPath": "v1/contactGroups/{contactGroupsId}", - "id": "people.contactGroups.get", - "path": "v1/{+resourceName}", - "description": "Get a specific contact group owned by the authenticated user by specifying\na contact group resource name." - }, - "update": { - "httpMethod": "PUT", - "parameterOrder": [ - "resourceName" - ], - "response": { - "$ref": "ContactGroup" - }, - "parameters": { - "resourceName": { - "pattern": "^contactGroups/[^/]+$", - "location": "path", - "description": "The resource name for the contact group, assigned by the server. An ASCII\nstring, in the form of `contactGroups/\u003ccontact_group_id\u003e`.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/contacts" - ], - "flatPath": "v1/contactGroups/{contactGroupsId}", - "path": "v1/{+resourceName}", - "id": "people.contactGroups.update", - "description": "Update the name of an existing contact group owned by the authenticated\nuser.", - "request": { - "$ref": "UpdateContactGroupRequest" - } + "parameters": {} } }, "resources": { "members": { "methods": { "modify": { + "id": "people.contactGroups.members.modify", + "path": "v1/{+resourceName}/members:modify", "request": { "$ref": "ModifyContactGroupMembersRequest" }, "description": "Modify the members of a contact group owned by the authenticated user.", + "httpMethod": "POST", + "parameterOrder": [ + "resourceName" + ], "response": { "$ref": "ModifyContactGroupMembersResponse" }, - "parameterOrder": [ - "resourceName" - ], - "httpMethod": "POST", + "parameters": { + "resourceName": { + "location": "path", + "description": "The resource name of the contact group to modify.", + "required": true, + "type": "string", + "pattern": "^contactGroups/[^/]+$" + } + }, "scopes": [ "https://www.googleapis.com/auth/contacts" ], - "parameters": { - "resourceName": { - "description": "The resource name of the contact group to modify.", - "type": "string", - "required": true, - "pattern": "^contactGroups/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1/contactGroups/{contactGroupsId}/members:modify", - "id": "people.contactGroups.members.modify", - "path": "v1/{+resourceName}/members:modify" - } - } - } - } - }, - "people": { - "methods": { - "getBatchGet": { - "path": "v1/people:batchGet", - "id": "people.people.getBatchGet", - "description": "Provides information about a list of specific people by specifying a list\nof requested resource names. Use `people/me` to indicate the authenticated\nuser.\n\u003cbr\u003e\nThe request throws a 400 error if 'personFields' is not specified.", - "httpMethod": "GET", - "parameterOrder": [], - "response": { - "$ref": "GetPeopleResponse" - }, - "parameters": { - "personFields": { - "location": "query", - "format": "google-fieldmask", - "description": "**Required.** A field mask to restrict which fields on each person are\nreturned. Valid values are:\n\n* addresses\n* ageRanges\n* biographies\n* birthdays\n* braggingRights\n* coverPhotos\n* emailAddresses\n* events\n* genders\n* imClients\n* interests\n* locales\n* memberships\n* metadata\n* names\n* nicknames\n* occupations\n* organizations\n* phoneNumbers\n* photos\n* relations\n* relationshipInterests\n* relationshipStatuses\n* residences\n* skills\n* taglines\n* urls", - "type": "string" - }, - "requestMask.includeField": { - "location": "query", - "format": "google-fieldmask", - "description": "**Required.** Comma-separated list of person fields to be included in the\nresponse. Each path should start with `person.`: for example,\n`person.names` or `person.photos`.", - "type": "string" - }, - "resourceNames": { - "location": "query", - "description": "The resource name, such as one returned by\n[`people.connections.list`](/people/api/rest/v1/people.connections/list),\nof one of the people to provide information about. You can include this\nparameter up to 50 times in one request.", - "type": "string", - "repeated": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/contacts", - "https://www.googleapis.com/auth/contacts.readonly", - "https://www.googleapis.com/auth/plus.login", - "https://www.googleapis.com/auth/user.addresses.read", - "https://www.googleapis.com/auth/user.birthday.read", - "https://www.googleapis.com/auth/user.emails.read", - "https://www.googleapis.com/auth/user.phonenumbers.read", - "https://www.googleapis.com/auth/userinfo.email", - "https://www.googleapis.com/auth/userinfo.profile" - ], - "flatPath": "v1/people:batchGet" - }, - "get": { - "httpMethod": "GET", - "parameterOrder": [ - "resourceName" - ], - "response": { - "$ref": "Person" - }, - "scopes": [ - "https://www.googleapis.com/auth/contacts", - "https://www.googleapis.com/auth/contacts.readonly", - "https://www.googleapis.com/auth/plus.login", - "https://www.googleapis.com/auth/user.addresses.read", - "https://www.googleapis.com/auth/user.birthday.read", - "https://www.googleapis.com/auth/user.emails.read", - "https://www.googleapis.com/auth/user.phonenumbers.read", - "https://www.googleapis.com/auth/userinfo.email", - "https://www.googleapis.com/auth/userinfo.profile" - ], - "parameters": { - "personFields": { - "location": "query", - "format": "google-fieldmask", - "description": "**Required.** A field mask to restrict which fields on the person are\nreturned. Valid values are:\n\n* addresses\n* ageRanges\n* biographies\n* birthdays\n* braggingRights\n* coverPhotos\n* emailAddresses\n* events\n* genders\n* imClients\n* interests\n* locales\n* memberships\n* metadata\n* names\n* nicknames\n* occupations\n* organizations\n* phoneNumbers\n* photos\n* relations\n* relationshipInterests\n* relationshipStatuses\n* residences\n* skills\n* taglines\n* urls", - "type": "string" - }, - "resourceName": { - "location": "path", - "description": "The resource name of the person to provide information about.\n\n- To get information about the authenticated user, specify `people/me`.\n- To get information about a google account, specify `people/\u003caccount_id\u003e`.\n- To get information about a contact, specify the resource name that\n identifies the contact as returned by\n[`people.connections.list`](/people/api/rest/v1/people.connections/list).", - "type": "string", - "required": true, - "pattern": "^people/[^/]+$" - }, - "requestMask.includeField": { - "type": "string", - "location": "query", - "format": "google-fieldmask", - "description": "**Required.** Comma-separated list of person fields to be included in the\nresponse. Each path should start with `person.`: for example,\n`person.names` or `person.photos`." - } - }, - "flatPath": "v1/people/{peopleId}", - "path": "v1/{+resourceName}", - "id": "people.people.get", - "description": "Provides information about a person by specifying a resource name. Use\n`people/me` to indicate the authenticated user.\n\u003cbr\u003e\nThe request throws a 400 error if 'personFields' is not specified." - }, - "updateContact": { - "flatPath": "v1/people/{peopleId}:updateContact", - "id": "people.people.updateContact", - "path": "v1/{+resourceName}:updateContact", - "request": { - "$ref": "Person" - }, - "description": "Update contact data for an existing contact person. Any non-contact data\nwill not be modified.\n\nThe request throws a 400 error if `updatePersonFields` is not specified.\n\u003cbr\u003e\nThe request throws a 400 error if `person.metadata.sources` is not\nspecified for the contact to be updated.\n\u003cbr\u003e\nThe request throws a 412 error if `person.metadata.sources.etag` is\ndifferent than the contact's etag, which indicates the contact has changed\nsince its data was read. Clients should get the latest person and re-apply\ntheir updates to the latest person.", - "response": { - "$ref": "Person" - }, - "parameterOrder": [ - "resourceName" - ], - "httpMethod": "PATCH", - "scopes": [ - "https://www.googleapis.com/auth/contacts" - ], - "parameters": { - "updatePersonFields": { - "location": "query", - "format": "google-fieldmask", - "description": "**Required.** A field mask to restrict which fields on the person are\nupdated. Valid values are:\n\n* addresses\n* biographies\n* birthdays\n* braggingRights\n* emailAddresses\n* events\n* genders\n* imClients\n* interests\n* locales\n* names\n* nicknames\n* occupations\n* organizations\n* phoneNumbers\n* relations\n* residences\n* skills\n* urls", - "type": "string" - }, - "resourceName": { - "type": "string", - "required": true, - "pattern": "^people/[^/]+$", - "location": "path", - "description": "The resource name for the person, assigned by the server. An ASCII string\nwith a max length of 27 characters, in the form of `people/\u003cperson_id\u003e`." - } - } - }, - "createContact": { - "id": "people.people.createContact", - "path": "v1/people:createContact", - "request": { - "$ref": "Person" - }, - "description": "Create a new contact and return the person resource for that contact.", - "response": { - "$ref": "Person" - }, - "parameterOrder": [], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/contacts" - ], - "parameters": { - "parent": { - "location": "query", - "description": "The resource name of the owning person resource.", - "type": "string" - } - }, - "flatPath": "v1/people:createContact" - }, - "deleteContact": { - "flatPath": "v1/people/{peopleId}:deleteContact", - "id": "people.people.deleteContact", - "path": "v1/{+resourceName}:deleteContact", - "description": "Delete a contact person. Any non-contact data will not be deleted.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "resourceName" - ], - "httpMethod": "DELETE", - "parameters": { - "resourceName": { - "pattern": "^people/[^/]+$", - "location": "path", - "description": "The resource name of the contact to delete.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/contacts" - ] - } - }, - "resources": { - "connections": { - "methods": { - "list": { - "flatPath": "v1/people/{peopleId}/connections", - "id": "people.people.connections.list", - "path": "v1/{+resourceName}/connections", - "description": "Provides a list of the authenticated user's contacts merged with any\nconnected profiles.\n\u003cbr\u003e\nThe request throws a 400 error if 'personFields' is not specified.", - "response": { - "$ref": "ListConnectionsResponse" - }, - "parameterOrder": [ - "resourceName" - ], - "httpMethod": "GET", - "parameters": { - "syncToken": { - "location": "query", - "description": "A sync token, returned by a previous call to `people.connections.list`.\nOnly resources changed since the sync token was created will be returned.", - "type": "string" - }, - "personFields": { - "format": "google-fieldmask", - "description": "**Required.** A field mask to restrict which fields on each person are\nreturned. Valid values are:\n\n* addresses\n* ageRanges\n* biographies\n* birthdays\n* braggingRights\n* coverPhotos\n* emailAddresses\n* events\n* genders\n* imClients\n* interests\n* locales\n* memberships\n* metadata\n* names\n* nicknames\n* occupations\n* organizations\n* phoneNumbers\n* photos\n* relations\n* relationshipInterests\n* relationshipStatuses\n* residences\n* skills\n* taglines\n* urls", - "type": "string", - "location": "query" - }, - "sortOrder": { - "enum": [ - "LAST_MODIFIED_ASCENDING", - "FIRST_NAME_ASCENDING", - "LAST_NAME_ASCENDING" - ], - "description": "The order in which the connections should be sorted. Defaults to\n`LAST_MODIFIED_ASCENDING`.", - "type": "string", - "location": "query" - }, - "requestSyncToken": { - "description": "Whether the response should include a sync token, which can be used to get\nall changes since the last request.", - "type": "boolean", - "location": "query" - }, - "pageToken": { - "description": "The token of the page to be returned.", - "type": "string", - "location": "query" - }, - "resourceName": { - "description": "The resource name to return connections for. Only `people/me` is valid.", - "type": "string", - "required": true, - "pattern": "^people/[^/]+$", - "location": "path" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "The number of connections to include in the response. Valid values are\nbetween 1 and 2000, inclusive. Defaults to 100.", - "type": "integer" - }, - "requestMask.includeField": { - "location": "query", - "format": "google-fieldmask", - "description": "**Required.** Comma-separated list of person fields to be included in the\nresponse. Each path should start with `person.`: for example,\n`person.names` or `person.photos`.", - "type": "string" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/contacts", - "https://www.googleapis.com/auth/contacts.readonly" - ] + "flatPath": "v1/contactGroups/{contactGroupsId}/members:modify" } } } @@ -1849,25 +1902,46 @@ } }, "parameters": { - "upload_protocol": { - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "pp": { + "location": "query", + "description": "Pretty-print response.", + "type": "boolean", + "default": "true" + }, + "bearer_token": { + "description": "OAuth bearer token.", "type": "string", "location": "query" }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", + "location": "query" + }, + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, "prettyPrint": { "location": "query", "description": "Returns response with indentations and line breaks.", - "default": "true", - "type": "boolean" + "type": "boolean", + "default": "true" + }, + "uploadType": { + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" }, "fields": { "description": "Selector specifying which fields to include in a partial response.", "type": "string", "location": "query" }, - "uploadType": { + "callback": { "location": "query", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "description": "JSONP", "type": "string" }, "$.xgafv": { @@ -1883,12 +1957,9 @@ ], "description": "V1 error format." }, - "callback": { - "description": "JSONP", - "type": "string", - "location": "query" - }, "alt": { + "description": "Data format for response.", + "default": "json", "enum": [ "json", "media", @@ -1900,46 +1971,24 @@ "Media download with context-dependent Content-Type", "Responses with Content-Type of application/x-protobuf" ], - "location": "query", - "description": "Data format for response.", - "default": "json" - }, - "access_token": { - "location": "query", - "description": "OAuth access token.", - "type": "string" + "location": "query" }, "key": { "location": "query", "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", "type": "string" }, - "quotaUser": { + "access_token": { + "description": "OAuth access token.", "type": "string", - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters." - }, - "pp": { - "description": "Pretty-print response.", - "default": "true", - "type": "boolean", "location": "query" }, - "bearer_token": { - "location": "query", - "description": "OAuth bearer token.", - "type": "string" - }, - "oauth_token": { - "location": "query", - "description": "OAuth 2.0 token for the current user.", - "type": "string" + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" } }, "version": "v1", - "baseUrl": "https://people.googleapis.com/", - "kind": "discovery#restDescription", - "description": "Provides access to information about profiles and contacts.", - "servicePath": "", - "basePath": "" + "baseUrl": "https://people.googleapis.com/" } diff --git a/vendor/google.golang.org/api/people/v1/people-gen.go b/vendor/google.golang.org/api/people/v1/people-gen.go index 2883a9464..a8ae8ffa4 100644 --- a/vendor/google.golang.org/api/people/v1/people-gen.go +++ b/vendor/google.golang.org/api/people/v1/people-gen.go @@ -447,7 +447,7 @@ type ContactGroup struct { // ResourceName: The resource name for the contact group, assigned by // the server. An ASCII - // string, in the form of `contactGroups/`. + // string, in the form of `contactGroups/`contact_group_id. ResourceName string `json:"resourceName,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -1218,12 +1218,12 @@ func (s *Membership) MarshalJSON() ([]byte, error) { type ModifyContactGroupMembersRequest struct { // ResourceNamesToAdd: The resource names of the contact people to add // in the form of in the form - // `people/`. + // `people/`person_id. ResourceNamesToAdd []string `json:"resourceNamesToAdd,omitempty"` // ResourceNamesToRemove: The resource names of the contact people to // remove in the form of in the - // form of `people/`. + // form of `people/`person_id. ResourceNamesToRemove []string `json:"resourceNamesToRemove,omitempty"` // ForceSendFields is a list of field names (e.g. "ResourceNamesToAdd") @@ -1291,14 +1291,13 @@ func (s *ModifyContactGroupMembersResponse) MarshalJSON() ([]byte, error) { type Name struct { // DisplayName: The read-only display name formatted according to the // locale specified by - // the viewer's account or the Accept-Language HTTP header. + // the viewer's account or the `Accept-Language` HTTP header. DisplayName string `json:"displayName,omitempty"` // DisplayNameLastFirst: The read-only display name with the last name // first formatted according to - // the locale specified by the viewer's account or - // the - // Accept-Language HTTP header. + // the locale specified by the viewer's account or the + // `Accept-Language` HTTP header. DisplayNameLastFirst string `json:"displayNameLastFirst,omitempty"` // FamilyName: The family name. @@ -1620,8 +1619,9 @@ type Person struct { // ResourceName: The resource name for the person, assigned by the // server. An ASCII string - // with a max length of 27 characters, in the form of - // `people/`. + // with a max length of 27 characters, in the form + // of + // `people/`person_id. ResourceName string `json:"resourceName,omitempty"` // Skills: The person's skills. @@ -1633,6 +1633,9 @@ type Person struct { // Urls: The person's associated URLs. Urls []*Url `json:"urls,omitempty"` + // UserDefined: The person's user defined data. + UserDefined []*UserDefined `json:"userDefined,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -1839,18 +1842,22 @@ func (s *PhoneNumber) MarshalJSON() ([]byte, error) { // person's name to // help others recognize the person. type Photo struct { + // Default: True if the photo is a default photo; + // false if the photo is a user-provided photo. + Default bool `json:"default,omitempty"` + // Metadata: Metadata about the photo. Metadata *FieldMetadata `json:"metadata,omitempty"` // Url: The URL of the photo. You can change the desired size by // appending a query - // parameter `sz=` at the end of the url. + // parameter `sz=`size at the end of the url. // Example: // `https://lh3.googleusercontent.com/-T_wVWLlmg7w/AAAAAAAAAAI/A // AAAAAAABa8/00gzXvDBYqw/s100/photo.jpg?sz=50` Url string `json:"url,omitempty"` - // ForceSendFields is a list of field names (e.g. "Metadata") to + // ForceSendFields is a list of field names (e.g. "Default") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -1858,7 +1865,7 @@ type Photo struct { // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metadata") to include in + // NullFields is a list of field names (e.g. "Default") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as @@ -1883,6 +1890,15 @@ type ProfileMetadata struct { // "PAGE" - [Google+ Page.](http://www.google.com/+/brands/) ObjectType string `json:"objectType,omitempty"` + // UserTypes: The user types. + // + // Possible values: + // "USER_TYPE_UNKNOWN" - The user type is not known. + // "GOOGLE_USER" - The user is a Google user. + // "GPLUS_USER" - The user is a Google+ user. + // "GOOGLE_APPS_USER" - The user is a Google Apps for Work user. + UserTypes []string `json:"userTypes,omitempty"` + // ForceSendFields is a list of field names (e.g. "ObjectType") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -2130,18 +2146,21 @@ func (s *Skill) MarshalJSON() ([]byte, error) { // Source: The source of a field. type Source struct { - // Etag: The [HTTP entity tag](https://en.wikipedia.org/wiki/HTTP_ETag) - // of the - // source. Used for web cache validation. Only populated - // in - // person.metadata.sources. + // Etag: **Only populated in `person.metadata.sources`.** + // + // The [HTTP entity tag](https://en.wikipedia.org/wiki/HTTP_ETag) of + // the + // source. Used for web cache validation. Etag string `json:"etag,omitempty"` // Id: The unique identifier within the source type generated by the // server. Id string `json:"id,omitempty"` - // ProfileMetadata: Metadata about a source of type PROFILE. + // ProfileMetadata: **Only populated in + // `person.metadata.sources`.** + // + // Metadata about a source of type PROFILE. ProfileMetadata *ProfileMetadata `json:"profileMetadata,omitempty"` // Type: The source type. @@ -2163,7 +2182,9 @@ type Source struct { // is the source id. Type string `json:"type,omitempty"` - // UpdateTime: Last update timestamp of this source. + // UpdateTime: **Only populated in `person.metadata.sources`.** + // + // Last update timestamp of this source. UpdateTime string `json:"updateTime,omitempty"` // ForceSendFields is a list of field names (e.g. "Etag") to @@ -2273,9 +2294,9 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in @@ -2419,6 +2440,40 @@ func (s *Url) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// UserDefined: Arbitrary user data that is populated by the end users. +type UserDefined struct { + // Key: The end user specified key of the user defined data. + Key string `json:"key,omitempty"` + + // Metadata: Metadata about the user defined data. + Metadata *FieldMetadata `json:"metadata,omitempty"` + + // Value: The end user specified value of the user defined data. + 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *UserDefined) MarshalJSON() ([]byte, error) { + type noMethod UserDefined + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // method id "people.contactGroups.batchGet": type ContactGroupsBatchGetCall struct { @@ -3295,7 +3350,7 @@ func (c *ContactGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*ContactGrou // ], // "parameters": { // "resourceName": { - // "description": "The resource name for the contact group, assigned by the server. An ASCII\nstring, in the form of `contactGroups/\u003ccontact_group_id\u003e`.", + // "description": "The resource name for the contact group, assigned by the server. An ASCII\nstring, in the form of `contactGroups/`\u003cvar\u003econtact_group_id\u003c/var\u003e.", // "location": "path", // "pattern": "^contactGroups/[^/]+$", // "required": true, @@ -3898,7 +3953,7 @@ func (c *PeopleGetCall) Do(opts ...googleapi.CallOption) (*Person, error) { // "type": "string" // }, // "resourceName": { - // "description": "The resource name of the person to provide information about.\n\n- To get information about the authenticated user, specify `people/me`.\n- To get information about a google account, specify `people/\u003caccount_id\u003e`.\n- To get information about a contact, specify the resource name that\n identifies the contact as returned by\n[`people.connections.list`](/people/api/rest/v1/people.connections/list).", + // "description": "The resource name of the person to provide information about.\n\n- To get information about the authenticated user, specify `people/me`.\n- To get information about a google account, specify\n `people/`\u003cvar\u003eaccount_id\u003c/var\u003e.\n- To get information about a contact, specify the resource name that\n identifies the contact as returned by\n[`people.connections.list`](/people/api/rest/v1/people.connections/list).", // "location": "path", // "pattern": "^people/[^/]+$", // "required": true, @@ -3995,13 +4050,19 @@ func (c *PeopleGetBatchGetCall) RequestMaskIncludeField(requestMaskIncludeField } // ResourceNames sets the optional parameter "resourceNames": The -// resource name, such as one returned +// resource names of the people to provide information about. +// +// - To get information about the authenticated user, specify +// `people/me`. +// - To get information about a google account, specify +// `people/`account_id. +// - To get information about a contact, specify the resource name that +// identifies the contact as returned // by // [`people.connections.list`](/people/api/rest/v1/people.connections/ -// list), -// of one of the people to provide information about. You can include -// this -// parameter up to 50 times in one request. +// list). +// +// You can include up to 50 resource names in one request. func (c *PeopleGetBatchGetCall) ResourceNames(resourceNames ...string) *PeopleGetBatchGetCall { c.urlParams_.SetMulti("resourceNames", append([]string{}, resourceNames...)) return c @@ -4117,7 +4178,7 @@ func (c *PeopleGetBatchGetCall) Do(opts ...googleapi.CallOption) (*GetPeopleResp // "type": "string" // }, // "resourceNames": { - // "description": "The resource name, such as one returned by\n[`people.connections.list`](/people/api/rest/v1/people.connections/list),\nof one of the people to provide information about. You can include this\nparameter up to 50 times in one request.", + // "description": "The resource names of the people to provide information about.\n\n- To get information about the authenticated user, specify `people/me`.\n- To get information about a google account, specify\n `people/`\u003cvar\u003eaccount_id\u003c/var\u003e.\n- To get information about a contact, specify the resource name that\n identifies the contact as returned by\n[`people.connections.list`](/people/api/rest/v1/people.connections/list).\n\nYou can include up to 50 resource names in one request.", // "location": "query", // "repeated": true, // "type": "string" @@ -4302,7 +4363,7 @@ func (c *PeopleUpdateContactCall) Do(opts ...googleapi.CallOption) (*Person, err // ], // "parameters": { // "resourceName": { - // "description": "The resource name for the person, assigned by the server. An ASCII string\nwith a max length of 27 characters, in the form of `people/\u003cperson_id\u003e`.", + // "description": "The resource name for the person, assigned by the server. An ASCII string\nwith a max length of 27 characters, in the form of\n`people/`\u003cvar\u003eperson_id\u003c/var\u003e.", // "location": "path", // "pattern": "^people/[^/]+$", // "required": true, diff --git a/vendor/google.golang.org/api/playcustomapp/v1/playcustomapp-api.json b/vendor/google.golang.org/api/playcustomapp/v1/playcustomapp-api.json new file mode 100644 index 000000000..e814c2471 --- /dev/null +++ b/vendor/google.golang.org/api/playcustomapp/v1/playcustomapp-api.json @@ -0,0 +1,149 @@ +{ + "kind": "discovery#restDescription", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/S9A8Fvkyeh8EMNMlBREkvuFfFUI\"", + "discoveryVersion": "v1", + "id": "playcustomapp:v1", + "name": "playcustomapp", + "version": "v1", + "revision": "20170622", + "title": "Google Play Custom App Publishing API", + "description": "An API to publish custom Android apps.", + "ownerDomain": "google.com", + "ownerName": "Google", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "documentationLink": "https://developers.google.com/android/work/play/custom-app-api", + "protocol": "rest", + "baseUrl": "https://www.googleapis.com/playcustomapp/v1/accounts/", + "basePath": "/playcustomapp/v1/accounts/", + "rootUrl": "https://www.googleapis.com/", + "servicePath": "playcustomapp/v1/accounts/", + "batchPath": "batch/playcustomapp/v1", + "parameters": { + "alt": { + "type": "string", + "description": "Data format for the response.", + "default": "json", + "enum": [ + "json" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json" + ], + "location": "query" + }, + "fields": { + "type": "string", + "description": "Selector specifying which fields to include in a partial response.", + "location": "query" + }, + "key": { + "type": "string", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query" + }, + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "prettyPrint": { + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "location": "query" + }, + "quotaUser": { + "type": "string", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. Overrides userIp if both are provided.", + "location": "query" + }, + "userIp": { + "type": "string", + "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.", + "location": "query" + } + }, + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/androidpublisher": { + "description": "View and manage your Google Play Developer account" + } + } + } + }, + "schemas": { + "CustomApp": { + "id": "CustomApp", + "type": "object", + "description": "This resource represents a custom app.", + "properties": { + "languageCode": { + "type": "string", + "description": "Default listing language in BCP 47 format." + }, + "title": { + "type": "string", + "description": "Title for the Android app." + } + } + } + }, + "resources": { + "accounts": { + "resources": { + "customApps": { + "methods": { + "create": { + "id": "playcustomapp.accounts.customApps.create", + "path": "{account}/customApps", + "httpMethod": "POST", + "description": "Create and publish a new custom app.", + "parameters": { + "account": { + "type": "string", + "description": "Developer account ID.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "account" + ], + "request": { + "$ref": "CustomApp" + }, + "response": { + "$ref": "CustomApp" + }, + "scopes": [ + "https://www.googleapis.com/auth/androidpublisher" + ], + "supportsMediaUpload": true, + "mediaUpload": { + "accept": [ + "*/*" + ], + "maxSize": "100MB", + "protocols": { + "simple": { + "multipart": true, + "path": "/upload/playcustomapp/v1/accounts/{account}/customApps" + }, + "resumable": { + "multipart": true, + "path": "/resumable/upload/playcustomapp/v1/accounts/{account}/customApps" + } + } + } + } + } + } + } + } + } +} diff --git a/vendor/google.golang.org/api/playcustomapp/v1/playcustomapp-gen.go b/vendor/google.golang.org/api/playcustomapp/v1/playcustomapp-gen.go new file mode 100644 index 000000000..7646cd87b --- /dev/null +++ b/vendor/google.golang.org/api/playcustomapp/v1/playcustomapp-gen.go @@ -0,0 +1,350 @@ +// Package playcustomapp provides access to the Google Play Custom App Publishing API. +// +// See https://developers.google.com/android/work/play/custom-app-api +// +// Usage example: +// +// import "google.golang.org/api/playcustomapp/v1" +// ... +// playcustomappService, err := playcustomapp.New(oauthHttpClient) +package playcustomapp // import "google.golang.org/api/playcustomapp/v1" + +import ( + "bytes" + "encoding/json" + "errors" + "fmt" + context "golang.org/x/net/context" + ctxhttp "golang.org/x/net/context/ctxhttp" + gensupport "google.golang.org/api/gensupport" + googleapi "google.golang.org/api/googleapi" + "io" + "net/http" + "net/url" + "strconv" + "strings" +) + +// Always reference these packages, just in case the auto-generated code +// below doesn't. +var _ = bytes.NewBuffer +var _ = strconv.Itoa +var _ = fmt.Sprintf +var _ = json.NewDecoder +var _ = io.Copy +var _ = url.Parse +var _ = gensupport.MarshalJSON +var _ = googleapi.Version +var _ = errors.New +var _ = strings.Replace +var _ = context.Canceled +var _ = ctxhttp.Do + +const apiId = "playcustomapp:v1" +const apiName = "playcustomapp" +const apiVersion = "v1" +const basePath = "https://www.googleapis.com/playcustomapp/v1/accounts/" + +// OAuth2 scopes used by this API. +const ( + // View and manage your Google Play Developer account + AndroidpublisherScope = "https://www.googleapis.com/auth/androidpublisher" +) + +func New(client *http.Client) (*Service, error) { + if client == nil { + return nil, errors.New("client is nil") + } + s := &Service{client: client, BasePath: basePath} + s.Accounts = NewAccountsService(s) + return s, nil +} + +type Service struct { + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + + Accounts *AccountsService +} + +func (s *Service) userAgent() string { + if s.UserAgent == "" { + return googleapi.UserAgent + } + return googleapi.UserAgent + " " + s.UserAgent +} + +func NewAccountsService(s *Service) *AccountsService { + rs := &AccountsService{s: s} + rs.CustomApps = NewAccountsCustomAppsService(s) + return rs +} + +type AccountsService struct { + s *Service + + CustomApps *AccountsCustomAppsService +} + +func NewAccountsCustomAppsService(s *Service) *AccountsCustomAppsService { + rs := &AccountsCustomAppsService{s: s} + return rs +} + +type AccountsCustomAppsService struct { + s *Service +} + +// CustomApp: This resource represents a custom app. +type CustomApp struct { + // LanguageCode: Default listing language in BCP 47 format. + LanguageCode string `json:"languageCode,omitempty"` + + // Title: Title for the Android app. + Title string `json:"title,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "LanguageCode") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "LanguageCode") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CustomApp) MarshalJSON() ([]byte, error) { + type noMethod CustomApp + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// method id "playcustomapp.accounts.customApps.create": + +type AccountsCustomAppsCreateCall struct { + s *Service + account int64 + customapp *CustomApp + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header +} + +// Create: Create and publish a new custom app. +func (r *AccountsCustomAppsService) Create(account int64, customapp *CustomApp) *AccountsCustomAppsCreateCall { + c := &AccountsCustomAppsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.account = account + c.customapp = customapp + return c +} + +// Media specifies the media to upload in one or more chunks. The chunk +// size may be controlled by supplying a MediaOption generated by +// googleapi.ChunkSize. The chunk size defaults to +// googleapi.DefaultUploadChunkSize.The Content-Type header used in the +// upload request will be determined by sniffing the contents of r, +// unless a MediaOption generated by googleapi.ContentType is +// supplied. +// At most one of Media and ResumableMedia may be set. +func (c *AccountsCustomAppsCreateCall) Media(r io.Reader, options ...googleapi.MediaOption) *AccountsCustomAppsCreateCall { + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) + return c +} + +// ResumableMedia specifies the media to upload in chunks and can be +// canceled with ctx. +// +// Deprecated: use Media instead. +// +// At most one of Media and ResumableMedia may be set. mediaType +// identifies the MIME media type of the upload, such as "image/png". If +// mediaType is "", it will be auto-detected. The provided ctx will +// supersede any context previously provided to the Context method. +func (c *AccountsCustomAppsCreateCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *AccountsCustomAppsCreateCall { + c.ctx_ = ctx + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) + return c +} + +// ProgressUpdater provides a callback function that will be called +// after every chunk. It should be a low-latency function in order to +// not slow down the upload operation. This should only be called when +// using ResumableMedia (as opposed to Media). +func (c *AccountsCustomAppsCreateCall) ProgressUpdater(pu googleapi.ProgressUpdater) *AccountsCustomAppsCreateCall { + c.mediaInfo_.SetProgressUpdater(pu) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *AccountsCustomAppsCreateCall) Fields(s ...googleapi.Field) *AccountsCustomAppsCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +// This context will supersede any context previously provided to the +// ResumableMedia method. +func (c *AccountsCustomAppsCreateCall) Context(ctx context.Context) *AccountsCustomAppsCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *AccountsCustomAppsCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AccountsCustomAppsCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.customapp) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{account}/customApps") + if c.mediaInfo_ != nil { + urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) + } + if body == nil { + body = new(bytes.Buffer) + reqHeaders.Set("Content-Type", "application/json") + } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "account": strconv.FormatInt(c.account, 10), + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "playcustomapp.accounts.customApps.create" call. +// Exactly one of *CustomApp or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *CustomApp.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *AccountsCustomAppsCreateCall) Do(opts ...googleapi.CallOption) (*CustomApp, 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, &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, err + } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() + ctx := c.ctx_ + if ctx == nil { + ctx = context.TODO() + } + res, err = rx.Upload(ctx) + if err != nil { + return nil, err + } + defer res.Body.Close() + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + } + ret := &CustomApp{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Create and publish a new custom app.", + // "httpMethod": "POST", + // "id": "playcustomapp.accounts.customApps.create", + // "mediaUpload": { + // "accept": [ + // "*/*" + // ], + // "maxSize": "100MB", + // "protocols": { + // "resumable": { + // "multipart": true, + // "path": "/resumable/upload/playcustomapp/v1/accounts/{account}/customApps" + // }, + // "simple": { + // "multipart": true, + // "path": "/upload/playcustomapp/v1/accounts/{account}/customApps" + // } + // } + // }, + // "parameterOrder": [ + // "account" + // ], + // "parameters": { + // "account": { + // "description": "Developer account ID.", + // "format": "int64", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{account}/customApps", + // "request": { + // "$ref": "CustomApp" + // }, + // "response": { + // "$ref": "CustomApp" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/androidpublisher" + // ], + // "supportsMediaUpload": true + // } + +} diff --git a/vendor/google.golang.org/api/playmoviespartner/v1/playmoviespartner-api.json b/vendor/google.golang.org/api/playmoviespartner/v1/playmoviespartner-api.json index 450eba75d..8088cfbb1 100644 --- a/vendor/google.golang.org/api/playmoviespartner/v1/playmoviespartner-api.json +++ b/vendor/google.golang.org/api/playmoviespartner/v1/playmoviespartner-api.json @@ -1,37 +1,53 @@ { - "batchPath": "batch", - "revision": "20170627", - "documentationLink": "https://developers.google.com/playmoviespartner/", - "id": "playmoviespartner:v1", - "title": "Google Play Movies Partner API", - "ownerName": "Google", - "discoveryVersion": "v1", "resources": { "accounts": { "resources": { "orders": { "methods": { "list": { - "httpMethod": "GET", + "id": "playmoviespartner.accounts.orders.list", + "path": "v1/accounts/{accountId}/orders", + "description": "List Orders owned or managed by the partner.\n\nSee _Authentication and Authorization rules_ and\n_List methods rules_ for more information about this method.", "response": { "$ref": "ListOrdersResponse" }, "parameterOrder": [ "accountId" ], + "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/playmovies_partner.readonly" ], "parameters": { - "pphNames": { - "description": "See _List methods rules_ for info about this field.", + "videoIds": { + "description": "Filter Orders that match any of the given `video_id`s.", "type": "string", "repeated": true, "location": "query" }, - "status": { + "customId": { + "location": "query", + "description": "Filter Orders that match a case-insensitive, partner-specific custom id.", + "type": "string" + }, + "pageToken": { + "description": "See _List methods rules_ for info about this field.", "type": "string", - "repeated": true, + "location": "query" + }, + "pageSize": { + "format": "int32", + "description": "See _List methods rules_ for info about this field.", + "type": "integer", + "location": "query" + }, + "pphNames": { + "location": "query", + "description": "See _List methods rules_ for info about this field.", + "type": "string", + "repeated": true + }, + "status": { "location": "query", "enum": [ "STATUS_UNSPECIFIED", @@ -41,71 +57,45 @@ "STATUS_UNFULFILLED", "STATUS_NOT_AVAILABLE" ], - "description": "Filter Orders that match one of the given status." - }, - "name": { - "description": "Filter that matches Orders with a `name`, `show`, `season` or `episode`\nthat contains the given case-insensitive name.", - "type": "string", - "location": "query" - }, - "studioNames": { - "location": "query", - "description": "See _List methods rules_ for info about this field.", + "description": "Filter Orders that match one of the given status.", "type": "string", "repeated": true }, - "accountId": { - "location": "path", - "description": "REQUIRED. See _General rules_ for more information about this field.", - "type": "string", - "required": true + "name": { + "location": "query", + "description": "Filter that matches Orders with a `name`, `show`, `season` or `episode`\nthat contains the given case-insensitive name.", + "type": "string" }, - "customId": { - "description": "Filter Orders that match a case-insensitive, partner-specific custom id.", - "type": "string", - "location": "query" - }, - "videoIds": { - "description": "Filter Orders that match any of the given `video_id`s.", + "studioNames": { + "description": "See _List methods rules_ for info about this field.", "type": "string", "repeated": true, "location": "query" }, - "pageToken": { + "accountId": { + "description": "REQUIRED. See _General rules_ for more information about this field.", "type": "string", - "location": "query", - "description": "See _List methods rules_ for info about this field." - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "See _List methods rules_ for info about this field.", - "type": "integer" + "required": true, + "location": "path" } }, - "flatPath": "v1/accounts/{accountId}/orders", - "path": "v1/accounts/{accountId}/orders", - "id": "playmoviespartner.accounts.orders.list", - "description": "List Orders owned or managed by the partner.\n\nSee _Authentication and Authorization rules_ and\n_List methods rules_ for more information about this method." + "flatPath": "v1/accounts/{accountId}/orders" }, "get": { + "httpMethod": "GET", "response": { "$ref": "Order" }, - "httpMethod": "GET", "parameterOrder": [ "accountId", "orderId" ], - "scopes": [ - "https://www.googleapis.com/auth/playmovies_partner.readonly" - ], "parameters": { "orderId": { + "location": "path", "description": "REQUIRED. Order ID.", "type": "string", - "required": true, - "location": "path" + "required": true }, "accountId": { "location": "path", @@ -114,9 +104,12 @@ "required": true } }, + "scopes": [ + "https://www.googleapis.com/auth/playmovies_partner.readonly" + ], "flatPath": "v1/accounts/{accountId}/orders/{orderId}", - "id": "playmoviespartner.accounts.orders.get", "path": "v1/accounts/{accountId}/orders/{orderId}", + "id": "playmoviespartner.accounts.orders.get", "description": "Get an Order given its id.\n\nSee _Authentication and Authorization rules_ and\n_Get methods rules_ for more information about this method." } } @@ -124,24 +117,31 @@ "avails": { "methods": { "list": { - "scopes": [ - "https://www.googleapis.com/auth/playmovies_partner.readonly" + "path": "v1/accounts/{accountId}/avails", + "id": "playmoviespartner.accounts.avails.list", + "description": "List Avails owned or managed by the partner.\n\nSee _Authentication and Authorization rules_ and\n_List methods rules_ for more information about this method.", + "httpMethod": "GET", + "parameterOrder": [ + "accountId" ], + "response": { + "$ref": "ListAvailsResponse" + }, "parameters": { "title": { - "type": "string", "location": "query", - "description": "Filter that matches Avails with a `title_internal_alias`,\n`series_title_internal_alias`, `season_title_internal_alias`,\nor `episode_title_internal_alias` that contains the given\ncase-insensitive title." - }, - "pageToken": { - "location": "query", - "description": "See _List methods rules_ for info about this field.", + "description": "Filter that matches Avails with a `title_internal_alias`,\n`series_title_internal_alias`, `season_title_internal_alias`,\nor `episode_title_internal_alias` that contains the given\ncase-insensitive title.", "type": "string" }, "videoIds": { - "description": "Filter Avails that match any of the given `video_id`s.", - "type": "string", "repeated": true, + "location": "query", + "description": "Filter Avails that match any of the given `video_id`s.", + "type": "string" + }, + "pageToken": { + "description": "See _List methods rules_ for info about this field.", + "type": "string", "location": "query" }, "pageSize": { @@ -157,10 +157,10 @@ "type": "string" }, "pphNames": { + "description": "See _List methods rules_ for info about this field.", "type": "string", "repeated": true, - "location": "query", - "description": "See _List methods rules_ for info about this field." + "location": "query" }, "altId": { "location": "query", @@ -168,49 +168,41 @@ "type": "string" }, "studioNames": { - "location": "query", "description": "See _List methods rules_ for info about this field.", "type": "string", - "repeated": true + "repeated": true, + "location": "query" }, "accountId": { - "location": "path", "description": "REQUIRED. See _General rules_ for more information about this field.", "type": "string", - "required": true + "required": true, + "location": "path" }, "territories": { + "repeated": true, "location": "query", "description": "Filter Avails that match (case-insensitive) any of the given country codes,\nusing the \"ISO 3166-1 alpha-2\" format (examples: \"US\", \"us\", \"Us\").", - "type": "string", - "repeated": true + "type": "string" } }, - "flatPath": "v1/accounts/{accountId}/avails", - "id": "playmoviespartner.accounts.avails.list", - "path": "v1/accounts/{accountId}/avails", - "description": "List Avails owned or managed by the partner.\n\nSee _Authentication and Authorization rules_ and\n_List methods rules_ for more information about this method.", - "response": { - "$ref": "ListAvailsResponse" - }, - "parameterOrder": [ - "accountId" + "scopes": [ + "https://www.googleapis.com/auth/playmovies_partner.readonly" ], - "httpMethod": "GET" + "flatPath": "v1/accounts/{accountId}/avails" }, "get": { - "flatPath": "v1/accounts/{accountId}/avails/{availId}", - "path": "v1/accounts/{accountId}/avails/{availId}", "id": "playmoviespartner.accounts.avails.get", + "path": "v1/accounts/{accountId}/avails/{availId}", "description": "Get an Avail given its avail group id and avail id.", - "httpMethod": "GET", + "response": { + "$ref": "Avail" + }, "parameterOrder": [ "accountId", "availId" ], - "response": { - "$ref": "Avail" - }, + "httpMethod": "GET", "parameters": { "availId": { "location": "path", @@ -227,41 +219,89 @@ }, "scopes": [ "https://www.googleapis.com/auth/playmovies_partner.readonly" - ] + ], + "flatPath": "v1/accounts/{accountId}/avails/{availId}" } } }, "storeInfos": { + "resources": { + "country": { + "methods": { + "get": { + "description": "Get a StoreInfo given its video id and country.\n\nSee _Authentication and Authorization rules_ and\n_Get methods rules_ for more information about this method.", + "response": { + "$ref": "StoreInfo" + }, + "parameterOrder": [ + "accountId", + "videoId", + "country" + ], + "httpMethod": "GET", + "parameters": { + "country": { + "location": "path", + "description": "REQUIRED. Edit country.", + "type": "string", + "required": true + }, + "videoId": { + "description": "REQUIRED. Video ID.", + "type": "string", + "required": true, + "location": "path" + }, + "accountId": { + "description": "REQUIRED. See _General rules_ for more information about this field.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/playmovies_partner.readonly" + ], + "flatPath": "v1/accounts/{accountId}/storeInfos/{videoId}/country/{country}", + "id": "playmoviespartner.accounts.storeInfos.country.get", + "path": "v1/accounts/{accountId}/storeInfos/{videoId}/country/{country}" + } + } + } + }, "methods": { "list": { + "httpMethod": "GET", "response": { "$ref": "ListStoreInfosResponse" }, "parameterOrder": [ "accountId" ], - "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/playmovies_partner.readonly" + ], "parameters": { "seasonIds": { - "location": "query", "description": "Filter StoreInfos that match any of the given `season_id`s.", "type": "string", - "repeated": true + "repeated": true, + "location": "query" }, - "pageToken": { + "videoIds": { + "repeated": true, "location": "query", - "description": "See _List methods rules_ for info about this field.", + "description": "Filter StoreInfos that match any of the given `video_id`s.", "type": "string" }, "videoId": { - "location": "query", "description": "Filter StoreInfos that match a given `video_id`.\nNOTE: this field is deprecated and will be removed on V2; `video_ids`\nshould be used instead.", - "type": "string" - }, - "videoIds": { - "description": "Filter StoreInfos that match any of the given `video_id`s.", "type": "string", - "repeated": true, + "location": "query" + }, + "pageToken": { + "description": "See _List methods rules_ for info about this field.", + "type": "string", "location": "query" }, "pageSize": { @@ -283,91 +323,75 @@ "location": "query" }, "countries": { - "repeated": true, "location": "query", "description": "Filter StoreInfos that match (case-insensitive) any of the given country\ncodes, using the \"ISO 3166-1 alpha-2\" format (examples: \"US\", \"us\", \"Us\").", + "type": "string", + "repeated": true + }, + "name": { + "location": "query", + "description": "Filter that matches StoreInfos with a `name` or `show_name`\nthat contains the given case-insensitive name.", "type": "string" }, "studioNames": { - "repeated": true, - "location": "query", "description": "See _List methods rules_ for info about this field.", - "type": "string" - }, - "name": { - "description": "Filter that matches StoreInfos with a `name` or `show_name`\nthat contains the given case-insensitive name.", "type": "string", + "repeated": true, "location": "query" }, "accountId": { - "type": "string", - "required": true, "location": "path", - "description": "REQUIRED. See _General rules_ for more information about this field." + "description": "REQUIRED. See _General rules_ for more information about this field.", + "type": "string", + "required": true } }, - "scopes": [ - "https://www.googleapis.com/auth/playmovies_partner.readonly" - ], "flatPath": "v1/accounts/{accountId}/storeInfos", - "id": "playmoviespartner.accounts.storeInfos.list", "path": "v1/accounts/{accountId}/storeInfos", + "id": "playmoviespartner.accounts.storeInfos.list", "description": "List StoreInfos owned or managed by the partner.\n\nSee _Authentication and Authorization rules_ and\n_List methods rules_ for more information about this method." } - }, - "resources": { - "country": { - "methods": { - "get": { - "description": "Get a StoreInfo given its video id and country.\n\nSee _Authentication and Authorization rules_ and\n_Get methods rules_ for more information about this method.", - "response": { - "$ref": "StoreInfo" - }, - "parameterOrder": [ - "accountId", - "videoId", - "country" - ], - "httpMethod": "GET", - "parameters": { - "country": { - "description": "REQUIRED. Edit country.", - "type": "string", - "required": true, - "location": "path" - }, - "videoId": { - "description": "REQUIRED. Video ID.", - "type": "string", - "required": true, - "location": "path" - }, - "accountId": { - "location": "path", - "description": "REQUIRED. See _General rules_ for more information about this field.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/playmovies_partner.readonly" - ], - "flatPath": "v1/accounts/{accountId}/storeInfos/{videoId}/country/{country}", - "id": "playmoviespartner.accounts.storeInfos.country.get", - "path": "v1/accounts/{accountId}/storeInfos/{videoId}/country/{country}" - } - } - } } } } } }, "parameters": { - "upload_protocol": { - "type": "string", + "access_token": { "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")." + "description": "OAuth access token.", + "type": "string" + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" + }, + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" }, "prettyPrint": { "location": "query", @@ -375,15 +399,20 @@ "default": "true", "type": "boolean" }, + "uploadType": { + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" + }, "fields": { "description": "Selector specifying which fields to include in a partial response.", "type": "string", "location": "query" }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string", - "location": "query" + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" }, "$.xgafv": { "enum": [ @@ -398,102 +427,28 @@ ], "location": "query" }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, "alt": { - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], "type": "string", "enumDescriptions": [ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", "Responses with Content-Type of application/x-protobuf" ], - "location": "query" - }, - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string", - "location": "query" - }, - "access_token": { "location": "query", - "description": "OAuth access token.", - "type": "string" - }, - "quotaUser": { - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string", - "location": "query" - }, - "pp": { - "description": "Pretty-print response.", - "default": "true", - "type": "boolean", - "location": "query" - }, - "bearer_token": { - "description": "OAuth bearer token.", - "type": "string", - "location": "query" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ] } }, "schemas": { "Order": { + "description": "An Order tracks the fulfillment of an Edit when delivered using the\nlegacy, non-component-based delivery.\n\nEach Order is uniquely identified by an `order_id`, which is generated\nby Google.\n\nExternally, Orders can also be identified by partners using its `custom_id`\n(when provided).", + "type": "object", "properties": { - "showName": { - "description": "Default Show name,\nusually in the language of the country of origin.\nOnly available for TV Edits\nExample: \"Googlers, The\".", - "type": "string" - }, - "normalizedPriority": { - "enumDescriptions": [ - "Value could not be determined, please contact technical support if\nit should.", - "A low-priority asset, typically from a library movie.", - "A high-priority asset, typically from a new release or box office hit." - ], - "enum": [ - "NORMALIZED_PRIORITY_UNSPECIFIED", - "LOW_PRIORITY", - "HIGH_PRIORITY" - ], - "description": "A simpler representation of the priority.", - "type": "string" - }, - "orderId": { - "description": "ID internally generated by Google to uniquely identify an Order.\nExample: 'abcde12_x'", - "type": "string" - }, - "type": { - "description": "Type of the Edit linked to the Order.", - "type": "string", - "enumDescriptions": [ - "Value could not be determined, please contact technical support if\nit should.", - "A movie picture.", - "A season of a TV show.", - "An episode of a TV show.", - "A collection of movies, i.e. \"Googlers 1 and Googlers, the return\"" - ], - "enum": [ - "TITLE_TYPE_UNSPECIFIED", - "MOVIE", - "SEASON", - "EPISODE", - "BUNDLE" - ] - }, "rejectionNote": { "description": "Field explaining why an Order has been rejected.\nExample: \"Trailer audio is 2ch mono, please re-deliver in stereo\".", "type": "string" @@ -502,14 +457,14 @@ "description": "YouTube Channel ID that should be used to fulfill the Order.\nExample: \"UCRG64darCZhb\".", "type": "string" }, - "legacyPriority": { - "description": "Legacy Order priority, as defined by Google.\nExample: 'P0'", - "type": "string" - }, "pphName": { "description": "Name of the post-production house that manages the Edit ordered.", "type": "string" }, + "legacyPriority": { + "description": "Legacy Order priority, as defined by Google.\nExample: 'P0'", + "type": "string" + }, "priority": { "format": "double", "description": "Order priority, as defined by Google.\nThe higher the value, the higher the priority.\nExample: 90", @@ -535,6 +490,31 @@ }, "type": "array" }, + "earliestAvailStartTime": { + "format": "google-datetime", + "description": "Timestamp of the earliest start date of the Avails\nlinked to this Order.", + "type": "string" + }, + "status": { + "description": "High-level status of the order.", + "type": "string", + "enumDescriptions": [ + "Value could not be determined, please contact technical support if\nit should.", + "Approved by Google.", + "Waiting for partner to re-deliver the asset after a rejection by Google.", + "Waiting for Google to process the asset.", + "Waiting for partner to deliver the asset.", + "Used when Status is not available (i.e: Orders for TV Seasons)." + ], + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_APPROVED", + "STATUS_FAILED", + "STATUS_PROCESSING", + "STATUS_UNFULFILLED", + "STATUS_NOT_AVAILABLE" + ] + }, "statusDetail": { "description": "Detailed status of the order", "type": "string", @@ -561,31 +541,6 @@ "ORDER_STATUS_FILE_PROCESSING" ] }, - "status": { - "enum": [ - "STATUS_UNSPECIFIED", - "STATUS_APPROVED", - "STATUS_FAILED", - "STATUS_PROCESSING", - "STATUS_UNFULFILLED", - "STATUS_NOT_AVAILABLE" - ], - "description": "High-level status of the order.", - "type": "string", - "enumDescriptions": [ - "Value could not be determined, please contact technical support if\nit should.", - "Approved by Google.", - "Waiting for partner to re-deliver the asset after a rejection by Google.", - "Waiting for Google to process the asset.", - "Waiting for partner to deliver the asset.", - "Used when Status is not available (i.e: Orders for TV Seasons)." - ] - }, - "earliestAvailStartTime": { - "format": "google-datetime", - "description": "Timestamp of the earliest start date of the Avails\nlinked to this Order.", - "type": "string" - }, "name": { "description": "Default Edit name,\nusually in the language of the country of origin.\nExample: \"Googlers, The\".", "type": "string" @@ -600,26 +555,64 @@ "type": "string" }, "seasonName": { - "type": "string", - "description": "Default Season name,\nusually in the language of the country of origin.\nOnly available for TV Edits\nExample: \"Googlers, The - A Brave New World\"." + "description": "Default Season name,\nusually in the language of the country of origin.\nOnly available for TV Edits\nExample: \"Googlers, The - A Brave New World\".", + "type": "string" }, "customId": { "description": "ID that can be used to externally identify an Order.\nThis ID is provided by partners when submitting the Avails.\nExample: 'GOOGLER_2006'", "type": "string" }, - "channelName": { - "description": "YouTube Channel Name that should be used to fulfill the Order.\nExample: \"Google_channel\".", - "type": "string" - }, "approvedTime": { "format": "google-datetime", "description": "Timestamp when the Order was approved.", "type": "string" + }, + "channelName": { + "description": "YouTube Channel Name that should be used to fulfill the Order.\nExample: \"Google_channel\".", + "type": "string" + }, + "showName": { + "description": "Default Show name,\nusually in the language of the country of origin.\nOnly available for TV Edits\nExample: \"Googlers, The\".", + "type": "string" + }, + "orderId": { + "description": "ID internally generated by Google to uniquely identify an Order.\nExample: 'abcde12_x'", + "type": "string" + }, + "normalizedPriority": { + "enum": [ + "NORMALIZED_PRIORITY_UNSPECIFIED", + "LOW_PRIORITY", + "HIGH_PRIORITY" + ], + "description": "A simpler representation of the priority.", + "type": "string", + "enumDescriptions": [ + "Value could not be determined, please contact technical support if\nit should.", + "A low-priority asset, typically from a library movie.", + "A high-priority asset, typically from a new release or box office hit." + ] + }, + "type": { + "enumDescriptions": [ + "Value could not be determined, please contact technical support if\nit should.", + "A movie picture.", + "A season of a TV show.", + "An episode of a TV show.", + "A collection of movies, i.e. \"Googlers 1 and Googlers, the return\"" + ], + "enum": [ + "TITLE_TYPE_UNSPECIFIED", + "MOVIE", + "SEASON", + "EPISODE", + "BUNDLE" + ], + "description": "Type of the Edit linked to the Order.", + "type": "string" } }, - "id": "Order", - "description": "An Order tracks the fulfillment of an Edit when delivered using the\nlegacy, non-component-based delivery.\n\nEach Order is uniquely identified by an `order_id`, which is generated\nby Google.\n\nExternally, Orders can also be identified by partners using its `custom_id`\n(when provided).", - "type": "object" + "id": "Order" }, "ListStoreInfosResponse": { "description": "Response to the 'ListStoreInfos' method.", @@ -630,9 +623,9 @@ "type": "string" }, "totalSize": { - "type": "integer", "format": "int32", - "description": "See _List methods rules_ for more information about this field." + "description": "See _List methods rules_ for more information about this field.", + "type": "integer" }, "storeInfos": { "description": "List of StoreInfos that match the request criteria.", @@ -669,6 +662,10 @@ }, "ListOrdersResponse": { "properties": { + "nextPageToken": { + "description": "See _List methods rules_ for info about this field.", + "type": "string" + }, "totalSize": { "format": "int32", "description": "See _List methods rules_ for more information about this field.", @@ -680,10 +677,6 @@ "$ref": "Order" }, "type": "array" - }, - "nextPageToken": { - "description": "See _List methods rules_ for info about this field.", - "type": "string" } }, "id": "ListOrdersResponse", @@ -691,7 +684,61 @@ "type": "object" }, "StoreInfo": { + "description": "Information about a playable sequence (video) associated with an Edit\nand available at the Google Play Store.\n\nInternally, each StoreInfo is uniquely identified by a `video_id`\nand `country`.\n\nExternally, Title-level EIDR or Edit-level EIDR, if provided,\ncan also be used to identify a specific title or edit in a country.", + "type": "object", "properties": { + "seasonName": { + "description": "Default Season name, usually in the language of the country of\norigin.\nOnly available for TV Edits\nExample: \"Googlers, The - A Brave New World\".", + "type": "string" + }, + "seasonNumber": { + "description": "The number assigned to the season within a show.\nOnly available on TV Edits.\nExample: \"1\".", + "type": "string" + }, + "hasEstOffer": { + "description": "Whether the Edit has a EST offer.", + "type": "boolean" + }, + "editLevelEidr": { + "description": "Edit-level EIDR ID.\nExample: \"10.5240/1489-49A2-3956-4B2D-FE16-6\".", + "type": "string" + }, + "hasSdOffer": { + "description": "Whether the Edit has a SD offer.", + "type": "boolean" + }, + "liveTime": { + "format": "google-datetime", + "description": "Timestamp when the Edit went live on the Store.", + "type": "string" + }, + "videoId": { + "description": "Google-generated ID identifying the video linked to the Edit.\nExample: 'gtry456_xc'", + "type": "string" + }, + "hasInfoCards": { + "description": "Whether the Edit has info cards.", + "type": "boolean" + }, + "hasVodOffer": { + "description": "Whether the Edit has a VOD offer.", + "type": "boolean" + }, + "pphNames": { + "description": "Name of the post-production houses that manage the Edit.", + "items": { + "type": "string" + }, + "type": "array" + }, + "episodeNumber": { + "description": "The number assigned to the episode within a season.\nOnly available on TV Edits.\nExample: \"1\".", + "type": "string" + }, + "studioName": { + "description": "Name of the studio that owns the Edit ordered.", + "type": "string" + }, "subtitles": { "description": "Subtitles available for this Edit.", "items": { @@ -700,15 +747,15 @@ "type": "array" }, "audioTracks": { + "description": "Audio tracks available for this Edit.", "items": { "type": "string" }, - "type": "array", - "description": "Audio tracks available for this Edit." + "type": "array" }, "showName": { - "type": "string", - "description": "Default Show name, usually in the language of the country of\norigin.\nOnly available for TV Edits\nExample: \"Googlers, The\"." + "description": "Default Show name, usually in the language of the country of\norigin.\nOnly available for TV Edits\nExample: \"Googlers, The\".", + "type": "string" }, "country": { "description": "Country where Edit is available in ISO 3166-1 alpha-2 country\ncode.\nExample: \"US\".", @@ -719,6 +766,13 @@ "type": "string" }, "type": { + "enumDescriptions": [ + "Value could not be determined, please contact technical support if\nit should.", + "A movie picture.", + "A season of a TV show.", + "An episode of a TV show.", + "A collection of movies, i.e. \"Googlers 1 and Googlers, the return\"" + ], "enum": [ "TITLE_TYPE_UNSPECIFIED", "MOVIE", @@ -727,18 +781,11 @@ "BUNDLE" ], "description": "Edit type, like Movie, Episode or Season.", - "type": "string", - "enumDescriptions": [ - "Value could not be determined, please contact technical support if\nit should.", - "A movie picture.", - "A season of a TV show.", - "An episode of a TV show.", - "A collection of movies, i.e. \"Googlers 1 and Googlers, the return\"" - ] + "type": "string" }, "trailerId": { - "type": "string", - "description": "Google-generated ID identifying the trailer linked to the Edit.\nExample: 'bhd_4e_cx'" + "description": "Google-generated ID identifying the trailer linked to the Edit.\nExample: 'bhd_4e_cx'", + "type": "string" }, "hasHdOffer": { "description": "Whether the Edit has a HD offer.", @@ -753,76 +800,62 @@ "type": "boolean" }, "name": { - "type": "string", - "description": "Default Edit name, usually in the language of the country of\norigin.\nExample: \"Googlers, The\"." + "description": "Default Edit name, usually in the language of the country of\norigin.\nExample: \"Googlers, The\".", + "type": "string" }, "seasonId": { "description": "Google-generated ID identifying the season linked to the Edit.\nOnly available for TV Edits.\nExample: 'ster23ex'", "type": "string" }, "titleLevelEidr": { - "type": "string", - "description": "Title-level EIDR ID.\nExample: \"10.5240/1489-49A2-3956-4B2D-FE16-5\"." - }, - "seasonName": { - "description": "Default Season name, usually in the language of the country of\norigin.\nOnly available for TV Edits\nExample: \"Googlers, The - A Brave New World\".", - "type": "string" - }, - "seasonNumber": { - "description": "The number assigned to the season within a show.\nOnly available on TV Edits.\nExample: \"1\".", - "type": "string" - }, - "editLevelEidr": { - "description": "Edit-level EIDR ID.\nExample: \"10.5240/1489-49A2-3956-4B2D-FE16-6\".", - "type": "string" - }, - "hasEstOffer": { - "description": "Whether the Edit has a EST offer.", - "type": "boolean" - }, - "hasSdOffer": { - "description": "Whether the Edit has a SD offer.", - "type": "boolean" - }, - "videoId": { - "description": "Google-generated ID identifying the video linked to the Edit.\nExample: 'gtry456_xc'", - "type": "string" - }, - "liveTime": { - "format": "google-datetime", - "description": "Timestamp when the Edit went live on the Store.", - "type": "string" - }, - "hasInfoCards": { - "description": "Whether the Edit has info cards.", - "type": "boolean" - }, - "hasVodOffer": { - "type": "boolean", - "description": "Whether the Edit has a VOD offer." - }, - "pphNames": { - "description": "Name of the post-production houses that manage the Edit.", - "items": { - "type": "string" - }, - "type": "array" - }, - "episodeNumber": { - "type": "string", - "description": "The number assigned to the episode within a season.\nOnly available on TV Edits.\nExample: \"1\"." - }, - "studioName": { - "description": "Name of the studio that owns the Edit ordered.", + "description": "Title-level EIDR ID.\nExample: \"10.5240/1489-49A2-3956-4B2D-FE16-5\".", "type": "string" } }, - "id": "StoreInfo", - "description": "Information about a playable sequence (video) associated with an Edit\nand available at the Google Play Store.\n\nInternally, each StoreInfo is uniquely identified by a `video_id`\nand `country`.\n\nExternally, Title-level EIDR or Edit-level EIDR, if provided,\ncan also be used to identify a specific title or edit in a country.", - "type": "object" + "id": "StoreInfo" }, "Avail": { + "description": "An Avail describes the Availability Window of a specific Edit in a given\ncountry, which means the period Google is allowed to sell or rent the Edit.\n\nAvails are exposed in EMA format Version 1.6b (available at\nhttp://www.movielabs.com/md/avails/)\n\nStudios can see the Avails for the Titles they own.\nPost-production houses cannot see any Avails.", + "type": "object", "properties": { + "priceType": { + "description": "Type of pricing that should be applied to this Avail\nbased on how the partner classify them.\nExample: \"Tier\", \"WSP\", \"SRP\", or \"Category\".", + "type": "string" + }, + "captionIncluded": { + "description": "Communicating if caption file will be delivered.", + "type": "boolean" + }, + "licenseType": { + "enumDescriptions": [ + "Value could not be determined, please contact technical support if\nit should.", + "Electronic Sell Through - purchase policy for unlimited viewing.", + "Video On Demand - rental policy for temporary viewing.", + "Subscription Video On Demand - used for subscription platforms.\nNot supported on Google Play.", + "Pre-order Electronic Sell Through - pre-order purchase only window." + ], + "enum": [ + "LICENSE_TYPE_UNSPECIFIED", + "EST", + "VOD", + "SVOD", + "POEST" + ], + "description": "Type of transaction.", + "type": "string" + }, + "seasonNumber": { + "description": "The number assigned to the season within a series.\nOnly available on TV Avails.\nExample: \"1\".", + "type": "string" + }, + "releaseDate": { + "description": "Release date of the Title in earliest released territory.\nTypically it is just the year, but it is free-form as per EMA spec.\nExamples: \"1979\", \"Oct 2014\"", + "type": "string" + }, + "end": { + "description": "End of term in YYYY-MM-DD format in the timezone of the country\nof the Avail.\n\"Open\" if no end date is available.\nExample: \"2019-02-17\"", + "type": "string" + }, "videoId": { "description": "Google-generated ID identifying the video linked to this Avail, once\ndelivered.\nNot part of EMA Specs.\nExample: 'gtry456_xc'", "type": "string" @@ -855,16 +888,10 @@ "type": "string" }, "seriesTitleInternalAlias": { - "type": "string", - "description": "Title used by involved parties to refer to this series.\nOnly available on TV Avails.\nExample: \"Googlers, The\"." + "description": "Title used by involved parties to refer to this series.\nOnly available on TV Avails.\nExample: \"Googlers, The\".", + "type": "string" }, "formatProfile": { - "enumDescriptions": [ - "Value could not be determined, please contact technical support if\nit should.", - "Standard-definition format.", - "High-definition format.", - "4K UHD." - ], "enum": [ "FORMAT_PROFILE_UNSPECIFIED", "SD", @@ -872,18 +899,24 @@ "UHD" ], "description": "Indicates the format profile covered by the transaction.", - "type": "string" + "type": "string", + "enumDescriptions": [ + "Value could not be determined, please contact technical support if\nit should.", + "Standard-definition format.", + "High-definition format.", + "4K UHD." + ] }, - "contentId": { - "description": "Title Identifier. This should be the Title Level EIDR.\nExample: \"10.5240/1489-49A2-3956-4B2D-FE16-5\".", + "ratingValue": { + "description": "Value representing the rating.\nRatings should be formatted as per http://www.movielabs.com/md/ratings/\nExample: \"PG\"", "type": "string" }, "titleInternalAlias": { "description": "Title used by involved parties to refer to this content.\nExample: \"Googlers, The\".\nOnly available on Movie Avails.", "type": "string" }, - "ratingValue": { - "description": "Value representing the rating.\nRatings should be formatted as per http://www.movielabs.com/md/ratings/\nExample: \"PG\"", + "contentId": { + "description": "Title Identifier. This should be the Title Level EIDR.\nExample: \"10.5240/1489-49A2-3956-4B2D-FE16-5\".", "type": "string" }, "storeLanguage": { @@ -953,61 +986,21 @@ "type": "string" }, "seasonAltId": { - "type": "string", - "description": "Other identifier referring to the season, as defined by partner.\nOnly available on TV avails.\nExample: \"rs_googlers_s1\"." + "description": "Other identifier referring to the season, as defined by partner.\nOnly available on TV avails.\nExample: \"rs_googlers_s1\".", + "type": "string" }, "encodeId": { "description": "Manifestation Identifier. This should be the Manifestation\nLevel EIDR.\nExample: \"10.2340/1489-49A2-3956-4B2D-FE16-7\"", "type": "string" - }, - "priceType": { - "description": "Type of pricing that should be applied to this Avail\nbased on how the partner classify them.\nExample: \"Tier\", \"WSP\", \"SRP\", or \"Category\".", - "type": "string" - }, - "captionIncluded": { - "type": "boolean", - "description": "Communicating if caption file will be delivered." - }, - "licenseType": { - "description": "Type of transaction.", - "type": "string", - "enumDescriptions": [ - "Value could not be determined, please contact technical support if\nit should.", - "Electronic Sell Through - purchase policy for unlimited viewing.", - "Video On Demand - rental policy for temporary viewing.", - "Subscription Video On Demand - used for subscription platforms.\nNot supported on Google Play.", - "Pre-order Electronic Sell Through - pre-order purchase only window." - ], - "enum": [ - "LICENSE_TYPE_UNSPECIFIED", - "EST", - "VOD", - "SVOD", - "POEST" - ] - }, - "seasonNumber": { - "description": "The number assigned to the season within a series.\nOnly available on TV Avails.\nExample: \"1\".", - "type": "string" - }, - "releaseDate": { - "description": "Release date of the Title in earliest released territory.\nTypically it is just the year, but it is free-form as per EMA spec.\nExamples: \"1979\", \"Oct 2014\"", - "type": "string" - }, - "end": { - "description": "End of term in YYYY-MM-DD format in the timezone of the country\nof the Avail.\n\"Open\" if no end date is available.\nExample: \"2019-02-17\"", - "type": "string" } }, - "id": "Avail", - "description": "An Avail describes the Availability Window of a specific Edit in a given\ncountry, which means the period Google is allowed to sell or rent the Edit.\n\nAvails are exposed in EMA format Version 1.6b (available at\nhttp://www.movielabs.com/md/avails/)\n\nStudios can see the Avails for the Titles they own.\nPost-production houses cannot see any Avails.", - "type": "object" + "id": "Avail" } }, "protocol": "rest", "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" }, "version": "v1", "baseUrl": "https://playmoviespartner.googleapis.com/", @@ -1021,11 +1014,18 @@ } } }, + "kind": "discovery#restDescription", "servicePath": "", "description": "Gets the delivery status of titles for Google Play Movies Partners.", - "kind": "discovery#restDescription", "rootUrl": "https://playmoviespartner.googleapis.com/", "basePath": "", "ownerDomain": "google.com", - "name": "playmoviespartner" + "name": "playmoviespartner", + "batchPath": "batch", + "id": "playmoviespartner:v1", + "documentationLink": "https://developers.google.com/playmoviespartner/", + "revision": "20170926", + "title": "Google Play Movies Partner API", + "ownerName": "Google", + "discoveryVersion": "v1" } diff --git a/vendor/google.golang.org/api/plus/v1/plus-api.json b/vendor/google.golang.org/api/plus/v1/plus-api.json index 397a0fa72..13f4eb82c 100644 --- a/vendor/google.golang.org/api/plus/v1/plus-api.json +++ b/vendor/google.golang.org/api/plus/v1/plus-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/BcJfQYzk5aMJfb5o2fF830xH640\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/e5EzALeRN0V4G9pDZ9NMnYZoVEo\"", "discoveryVersion": "v1", "id": "plus:v1", "name": "plus", "version": "v1", - "revision": "20170606", + "revision": "20170828", "title": "Google+ API", "description": "Builds on top of the Google+ platform.", "ownerDomain": "google.com", diff --git a/vendor/google.golang.org/api/plusdomains/v1/plusdomains-api.json b/vendor/google.golang.org/api/plusdomains/v1/plusdomains-api.json index 6f54d405b..2ff097a31 100644 --- a/vendor/google.golang.org/api/plusdomains/v1/plusdomains-api.json +++ b/vendor/google.golang.org/api/plusdomains/v1/plusdomains-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/bQpmmybsFBVMFpZ1o8MoBD7ast8\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/mgTNhRz8BUIUTZvlG4NGzgfWt2o\"", "discoveryVersion": "v1", "id": "plusDomains:v1", "name": "plusDomains", "version": "v1", - "revision": "20170606", + "revision": "20170828", "title": "Google+ Domains API", "description": "Builds on top of the Google+ platform for Google Apps Domains.", "ownerDomain": "google.com", diff --git a/vendor/google.golang.org/api/plusdomains/v1/plusdomains-gen.go b/vendor/google.golang.org/api/plusdomains/v1/plusdomains-gen.go index 74cc39ae0..c660b8943 100644 --- a/vendor/google.golang.org/api/plusdomains/v1/plusdomains-gen.go +++ b/vendor/google.golang.org/api/plusdomains/v1/plusdomains-gen.go @@ -5047,18 +5047,14 @@ func (c *CommentsListCall) Pages(ctx context.Context, f func(*CommentFeed) error // method id "plusDomains.media.insert": type MediaInsertCall struct { - s *Service - userId string - collection string - media *Media - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + userId string + collection string + media *Media + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Insert: Add a new media item to an album. The current upload size @@ -5082,12 +5078,7 @@ func (r *MediaService) Insert(userId string, collection string, media *Media) *M // supplied. // At most one of Media and ResumableMedia may be set. func (c *MediaInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *MediaInsertCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -5102,11 +5093,7 @@ func (c *MediaInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) * // supersede any context previously provided to the Context method. func (c *MediaInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *MediaInsertCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -5115,7 +5102,7 @@ func (c *MediaInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, siz // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *MediaInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *MediaInsertCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -5160,27 +5147,16 @@ func (c *MediaInsertCall) doRequest(alt string) (*http.Response, error) { reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "people/{userId}/media/{collection}") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -5217,20 +5193,10 @@ func (c *MediaInsertCall) Do(opts ...googleapi.CallOption) (*Media, error) { if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() diff --git a/vendor/google.golang.org/api/prediction/v1.2/prediction-api.json b/vendor/google.golang.org/api/prediction/v1.2/prediction-api.json index c7d3b78c3..59a01d196 100644 --- a/vendor/google.golang.org/api/prediction/v1.2/prediction-api.json +++ b/vendor/google.golang.org/api/prediction/v1.2/prediction-api.json @@ -20,7 +20,7 @@ "basePath": "/prediction/v1.2/", "rootUrl": "https://www.googleapis.com/", "servicePath": "prediction/v1.2/", - "batchPath": "batch", + "batchPath": "batch/prediction/v1.2", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/prediction/v1.3/prediction-api.json b/vendor/google.golang.org/api/prediction/v1.3/prediction-api.json index 465e6bd6a..0177d1d04 100644 --- a/vendor/google.golang.org/api/prediction/v1.3/prediction-api.json +++ b/vendor/google.golang.org/api/prediction/v1.3/prediction-api.json @@ -20,7 +20,7 @@ "basePath": "/prediction/v1.3/", "rootUrl": "https://www.googleapis.com/", "servicePath": "prediction/v1.3/", - "batchPath": "batch", + "batchPath": "batch/prediction/v1.3", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/prediction/v1.4/prediction-api.json b/vendor/google.golang.org/api/prediction/v1.4/prediction-api.json index 9d7305043..9a42e1559 100644 --- a/vendor/google.golang.org/api/prediction/v1.4/prediction-api.json +++ b/vendor/google.golang.org/api/prediction/v1.4/prediction-api.json @@ -20,7 +20,7 @@ "basePath": "/prediction/v1.4/", "rootUrl": "https://www.googleapis.com/", "servicePath": "prediction/v1.4/", - "batchPath": "batch", + "batchPath": "batch/prediction/v1.4", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/prediction/v1.5/prediction-api.json b/vendor/google.golang.org/api/prediction/v1.5/prediction-api.json index 48e48bded..5bf3e8bfb 100644 --- a/vendor/google.golang.org/api/prediction/v1.5/prediction-api.json +++ b/vendor/google.golang.org/api/prediction/v1.5/prediction-api.json @@ -20,7 +20,7 @@ "basePath": "/prediction/v1.5/", "rootUrl": "https://www.googleapis.com/", "servicePath": "prediction/v1.5/", - "batchPath": "batch", + "batchPath": "batch/prediction/v1.5", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/prediction/v1.6/prediction-api.json b/vendor/google.golang.org/api/prediction/v1.6/prediction-api.json index d11b6f7bc..00012fabc 100644 --- a/vendor/google.golang.org/api/prediction/v1.6/prediction-api.json +++ b/vendor/google.golang.org/api/prediction/v1.6/prediction-api.json @@ -20,7 +20,7 @@ "basePath": "/prediction/v1.6/projects/", "rootUrl": "https://www.googleapis.com/", "servicePath": "prediction/v1.6/projects/", - "batchPath": "batch", + "batchPath": "batch/prediction/v1.6", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/proximitybeacon/v1beta1/proximitybeacon-api.json b/vendor/google.golang.org/api/proximitybeacon/v1beta1/proximitybeacon-api.json index 671e69b4d..569637e24 100644 --- a/vendor/google.golang.org/api/proximitybeacon/v1beta1/proximitybeacon-api.json +++ b/vendor/google.golang.org/api/proximitybeacon/v1beta1/proximitybeacon-api.json @@ -1,23 +1,34 @@ { + "version": "v1beta1", + "baseUrl": "https://proximitybeacon.googleapis.com/", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/userlocation.beacon.registry": { + "description": "View and modify your beacons" + } + } + } + }, + "servicePath": "", + "description": "Registers, manages, indexes, and searches beacons.", + "kind": "discovery#restDescription", + "rootUrl": "https://proximitybeacon.googleapis.com/", "basePath": "", "ownerDomain": "google.com", "name": "proximitybeacon", "batchPath": "batch", - "id": "proximitybeacon:v1beta1", + "revision": "20170913", "documentationLink": "https://developers.google.com/beacons/proximity/", - "revision": "20170629", + "id": "proximitybeacon:v1beta1", "title": "Google Proximity Beacon API", - "ownerName": "Google", "discoveryVersion": "v1", - "version_module": "True", + "ownerName": "Google", + "version_module": true, "resources": { "beaconinfo": { "methods": { "getforobserved": { - "request": { - "$ref": "GetInfoForObservedBeaconsRequest" - }, - "description": "Given one or more beacon observations, returns any beacon information\nand attachments accessible to your application. Authorize by using the\n[API key](https://developers.google.com/beacons/proximity/get-started#request_a_browser_api_key)\nfor the application.", "httpMethod": "POST", "parameterOrder": [], "response": { @@ -26,34 +37,21 @@ "parameters": {}, "flatPath": "v1beta1/beaconinfo:getforobserved", "path": "v1beta1/beaconinfo:getforobserved", - "id": "proximitybeacon.beaconinfo.getforobserved" + "id": "proximitybeacon.beaconinfo.getforobserved", + "request": { + "$ref": "GetInfoForObservedBeaconsRequest" + }, + "description": "Given one or more beacon observations, returns any beacon information\nand attachments accessible to your application. Authorize by using the\n[API key](https://developers.google.com/beacons/proximity/get-started#request_a_browser_api_key)\nfor the application." } } }, "namespaces": { "methods": { - "list": { - "flatPath": "v1beta1/namespaces", - "path": "v1beta1/namespaces", - "id": "proximitybeacon.namespaces.list", - "description": "Lists all attachment namespaces owned by your Google Developers Console\nproject. Attachment data associated with a beacon must include a\nnamespaced type, and the namespace must be owned by your project.\n\nAuthenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)\nfrom a signed-in user with **viewer**, **Is owner** or **Can edit**\npermissions in the Google Developers Console project.", - "httpMethod": "GET", - "parameterOrder": [], - "response": { - "$ref": "ListNamespacesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/userlocation.beacon.registry" - ], - "parameters": { - "projectId": { - "description": "The project id to list namespaces under.\nOptional.", - "type": "string", - "location": "query" - } - } - }, "update": { + "request": { + "$ref": "Namespace" + }, + "description": "Updates the information about the specified namespace. Only the namespace\nvisibility can be updated.", "response": { "$ref": "Namespace" }, @@ -61,113 +59,100 @@ "namespaceName" ], "httpMethod": "PUT", + "scopes": [ + "https://www.googleapis.com/auth/userlocation.beacon.registry" + ], "parameters": { "namespaceName": { - "location": "path", "description": "Resource name of this namespace. Namespaces names have the format:\n\u003ccode\u003enamespaces/\u003cvar\u003enamespace\u003c/var\u003e\u003c/code\u003e.", "type": "string", "required": true, - "pattern": "^namespaces/[^/]+$" + "pattern": "^namespaces/[^/]+$", + "location": "path" }, "projectId": { + "location": "query", "description": "The project id of the namespace to update. If the project id is not\nspecified then the project making the request is used. The project id\nmust match the project that owns the beacon.\nOptional.", - "type": "string", - "location": "query" + "type": "string" + } + }, + "flatPath": "v1beta1/namespaces/{namespacesId}", + "id": "proximitybeacon.namespaces.update", + "path": "v1beta1/{+namespaceName}" + }, + "list": { + "description": "Lists all attachment namespaces owned by your Google Developers Console\nproject. Attachment data associated with a beacon must include a\nnamespaced type, and the namespace must be owned by your project.\n\nAuthenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)\nfrom a signed-in user with **viewer**, **Is owner** or **Can edit**\npermissions in the Google Developers Console project.", + "httpMethod": "GET", + "parameterOrder": [], + "response": { + "$ref": "ListNamespacesResponse" + }, + "parameters": { + "projectId": { + "location": "query", + "description": "The project id to list namespaces under.\nOptional.", + "type": "string" } }, "scopes": [ "https://www.googleapis.com/auth/userlocation.beacon.registry" ], - "flatPath": "v1beta1/namespaces/{namespacesId}", - "id": "proximitybeacon.namespaces.update", - "path": "v1beta1/{+namespaceName}", - "description": "Updates the information about the specified namespace. Only the namespace\nvisibility can be updated.", - "request": { - "$ref": "Namespace" - } + "flatPath": "v1beta1/namespaces", + "path": "v1beta1/namespaces", + "id": "proximitybeacon.namespaces.list" } } }, "v1beta1": { "methods": { "getEidparams": { - "description": "Gets the Proximity Beacon API's current public key and associated\nparameters used to initiate the Diffie-Hellman key exchange required to\nregister a beacon that broadcasts the Eddystone-EID format. This key\nchanges periodically; clients may cache it and re-use the same public key\nto provision and register multiple beacons. However, clients should be\nprepared to refresh this key when they encounter an error registering an\nEddystone-EID beacon.", - "response": { - "$ref": "EphemeralIdRegistrationParams" - }, - "parameterOrder": [], - "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/userlocation.beacon.registry" ], "parameters": {}, "flatPath": "v1beta1/eidparams", + "path": "v1beta1/eidparams", "id": "proximitybeacon.getEidparams", - "path": "v1beta1/eidparams" + "description": "Gets the Proximity Beacon API's current public key and associated\nparameters used to initiate the Diffie-Hellman key exchange required to\nregister a beacon that broadcasts the Eddystone-EID format. This key\nchanges periodically; clients may cache it and re-use the same public key\nto provision and register multiple beacons. However, clients should be\nprepared to refresh this key when they encounter an error registering an\nEddystone-EID beacon.", + "httpMethod": "GET", + "parameterOrder": [], + "response": { + "$ref": "EphemeralIdRegistrationParams" + } } } }, "beacons": { "methods": { "decommission": { - "description": "Decommissions the specified beacon in the service. This beacon will no\nlonger be returned from `beaconinfo.getforobserved`. This operation is\npermanent -- you will not be able to re-register a beacon with this ID\nagain.\n\nAuthenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)\nfrom a signed-in user with **Is owner** or **Can edit** permissions in the\nGoogle Developers Console project.", - "httpMethod": "POST", - "parameterOrder": [ - "beaconName" - ], "response": { "$ref": "Empty" }, + "parameterOrder": [ + "beaconName" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/userlocation.beacon.registry" + ], "parameters": { + "beaconName": { + "type": "string", + "required": true, + "pattern": "^beacons/[^/]+$", + "location": "path", + "description": "Beacon that should be decommissioned. A beacon name has the format\n\"beacons/N!beaconId\" where the beaconId is the base16 ID broadcast by\nthe beacon and N is a code for the beacon's type. Possible values are\n`3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5`\nfor AltBeacon. For Eddystone-EID beacons, you may use either the\ncurrent EID of the beacon's \"stable\" UID.\nRequired." + }, "projectId": { "location": "query", "description": "The project id of the beacon to decommission. If the project id is not\nspecified then the project making the request is used. The project id\nmust match the project that owns the beacon.\nOptional.", "type": "string" - }, - "beaconName": { - "description": "Beacon that should be decommissioned. A beacon name has the format\n\"beacons/N!beaconId\" where the beaconId is the base16 ID broadcast by\nthe beacon and N is a code for the beacon's type. Possible values are\n`3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5`\nfor AltBeacon. For Eddystone-EID beacons, you may use either the\ncurrent EID of the beacon's \"stable\" UID.\nRequired.", - "type": "string", - "required": true, - "pattern": "^beacons/[^/]+$", - "location": "path" } }, - "scopes": [ - "https://www.googleapis.com/auth/userlocation.beacon.registry" - ], "flatPath": "v1beta1/beacons/{beaconsId}:decommission", + "id": "proximitybeacon.beacons.decommission", "path": "v1beta1/{+beaconName}:decommission", - "id": "proximitybeacon.beacons.decommission" - }, - "deactivate": { - "httpMethod": "POST", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "beaconName" - ], - "scopes": [ - "https://www.googleapis.com/auth/userlocation.beacon.registry" - ], - "parameters": { - "beaconName": { - "location": "path", - "description": "Beacon that should be deactivated. A beacon name has the format\n\"beacons/N!beaconId\" where the beaconId is the base16 ID broadcast by\nthe beacon and N is a code for the beacon's type. Possible values are\n`3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5`\nfor AltBeacon. For Eddystone-EID beacons, you may use either the\ncurrent EID or the beacon's \"stable\" UID.\nRequired.", - "type": "string", - "required": true, - "pattern": "^beacons/[^/]+$" - }, - "projectId": { - "location": "query", - "description": "The project id of the beacon to deactivate. If the project id is not\nspecified then the project making the request is used. The project id must\nmatch the project that owns the beacon.\nOptional.", - "type": "string" - } - }, - "flatPath": "v1beta1/beacons/{beaconsId}:deactivate", - "path": "v1beta1/{+beaconName}:deactivate", - "id": "proximitybeacon.beacons.deactivate", - "description": "Deactivates a beacon. Once deactivated, the API will not return\ninformation nor attachment data for the beacon when queried via\n`beaconinfo.getforobserved`. Calling this method on an already inactive\nbeacon will do nothing (but will return a successful response code).\n\nAuthenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)\nfrom a signed-in user with **Is owner** or **Can edit** permissions in the\nGoogle Developers Console project." + "description": "Decommissions the specified beacon in the service. This beacon will no\nlonger be returned from `beaconinfo.getforobserved`. This operation is\npermanent -- you will not be able to re-register a beacon with this ID\nagain.\n\nAuthenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)\nfrom a signed-in user with **Is owner** or **Can edit** permissions in the\nGoogle Developers Console project." }, "delete": { "description": "Deletes the specified beacon including all diagnostics data for the beacon\nas well as any attachments on the beacon (including those belonging to\nother projects). This operation cannot be undone.\n\nAuthenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)\nfrom a signed-in user with **Is owner** or **Can edit** permissions in the\nGoogle Developers Console project.", @@ -178,9 +163,6 @@ "beaconName" ], "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/userlocation.beacon.registry" - ], "parameters": { "projectId": { "description": "The project id of the beacon to delete. If not provided, the project\nthat is making the request is used.\nOptional.", @@ -188,57 +170,69 @@ "location": "query" }, "beaconName": { - "description": "Beacon that should be deleted. A beacon name has the format\n\"beacons/N!beaconId\" where the beaconId is the base16 ID broadcast by\nthe beacon and N is a code for the beacon's type. Possible values are\n`3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5`\nfor AltBeacon. For Eddystone-EID beacons, you may use either the\ncurrent EID or the beacon's \"stable\" UID.\nRequired.", "type": "string", "required": true, "pattern": "^beacons/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1beta1/beacons/{beaconsId}", - "id": "proximitybeacon.beacons.delete", - "path": "v1beta1/{+beaconName}" - }, - "register": { - "description": "Registers a previously unregistered beacon given its `advertisedId`.\nThese IDs are unique within the system. An ID can be registered only once.\n\nAuthenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)\nfrom a signed-in user with **Is owner** or **Can edit** permissions in the\nGoogle Developers Console project.", - "request": { - "$ref": "Beacon" - }, - "response": { - "$ref": "Beacon" - }, - "parameterOrder": [], - "httpMethod": "POST", - "parameters": { - "projectId": { - "location": "query", - "description": "The project id of the project the beacon will be registered to. If\nthe project id is not specified then the project making the request\nis used.\nOptional.", - "type": "string" + "location": "path", + "description": "Beacon that should be deleted. A beacon name has the format\n\"beacons/N!beaconId\" where the beaconId is the base16 ID broadcast by\nthe beacon and N is a code for the beacon's type. Possible values are\n`3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5`\nfor AltBeacon. For Eddystone-EID beacons, you may use either the\ncurrent EID or the beacon's \"stable\" UID.\nRequired." } }, "scopes": [ "https://www.googleapis.com/auth/userlocation.beacon.registry" ], - "flatPath": "v1beta1/beacons:register", - "id": "proximitybeacon.beacons.register", - "path": "v1beta1/beacons:register" + "flatPath": "v1beta1/beacons/{beaconsId}", + "id": "proximitybeacon.beacons.delete", + "path": "v1beta1/{+beaconName}" + }, + "deactivate": { + "description": "Deactivates a beacon. Once deactivated, the API will not return\ninformation nor attachment data for the beacon when queried via\n`beaconinfo.getforobserved`. Calling this method on an already inactive\nbeacon will do nothing (but will return a successful response code).\n\nAuthenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)\nfrom a signed-in user with **Is owner** or **Can edit** permissions in the\nGoogle Developers Console project.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "beaconName" + ], + "httpMethod": "POST", + "parameters": { + "projectId": { + "location": "query", + "description": "The project id of the beacon to deactivate. If the project id is not\nspecified then the project making the request is used. The project id must\nmatch the project that owns the beacon.\nOptional.", + "type": "string" + }, + "beaconName": { + "location": "path", + "description": "Beacon that should be deactivated. A beacon name has the format\n\"beacons/N!beaconId\" where the beaconId is the base16 ID broadcast by\nthe beacon and N is a code for the beacon's type. Possible values are\n`3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5`\nfor AltBeacon. For Eddystone-EID beacons, you may use either the\ncurrent EID or the beacon's \"stable\" UID.\nRequired.", + "type": "string", + "required": true, + "pattern": "^beacons/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/userlocation.beacon.registry" + ], + "flatPath": "v1beta1/beacons/{beaconsId}:deactivate", + "id": "proximitybeacon.beacons.deactivate", + "path": "v1beta1/{+beaconName}:deactivate" }, "list": { + "flatPath": "v1beta1/beacons", + "id": "proximitybeacon.beacons.list", + "path": "v1beta1/beacons", "description": "Searches the beacon registry for beacons that match the given search\ncriteria. Only those beacons that the client has permission to list\nwill be returned.\n\nAuthenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)\nfrom a signed-in user with **viewer**, **Is owner** or **Can edit**\npermissions in the Google Developers Console project.", - "httpMethod": "GET", "response": { "$ref": "ListBeaconsResponse" }, "parameterOrder": [], + "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/userlocation.beacon.registry" ], "parameters": { "pageSize": { + "type": "integer", "location": "query", "format": "int32", - "description": "The maximum number of records to return for this request, up to a\nserver-defined upper limit.", - "type": "integer" + "description": "The maximum number of records to return for this request, up to a\nserver-defined upper limit." }, "q": { "location": "query", @@ -251,49 +245,67 @@ "type": "string" }, "pageToken": { - "location": "query", "description": "A pagination token obtained from a previous request to list beacons.", + "type": "string", + "location": "query" + } + } + }, + "register": { + "flatPath": "v1beta1/beacons:register", + "path": "v1beta1/beacons:register", + "id": "proximitybeacon.beacons.register", + "description": "Registers a previously unregistered beacon given its `advertisedId`.\nThese IDs are unique within the system. An ID can be registered only once.\n\nAuthenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)\nfrom a signed-in user with **Is owner** or **Can edit** permissions in the\nGoogle Developers Console project.", + "request": { + "$ref": "Beacon" + }, + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "Beacon" + }, + "parameters": { + "projectId": { + "location": "query", + "description": "The project id of the project the beacon will be registered to. If\nthe project id is not specified then the project making the request\nis used.\nOptional.", "type": "string" } }, - "flatPath": "v1beta1/beacons", - "path": "v1beta1/beacons", - "id": "proximitybeacon.beacons.list" + "scopes": [ + "https://www.googleapis.com/auth/userlocation.beacon.registry" + ] }, "activate": { + "flatPath": "v1beta1/beacons/{beaconsId}:activate", + "id": "proximitybeacon.beacons.activate", + "path": "v1beta1/{+beaconName}:activate", + "description": "Activates a beacon. A beacon that is active will return information\nand attachment data when queried via `beaconinfo.getforobserved`.\nCalling this method on an already active beacon will do nothing (but\nwill return a successful response code).\n\nAuthenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)\nfrom a signed-in user with **Is owner** or **Can edit** permissions in the\nGoogle Developers Console project.", "response": { "$ref": "Empty" }, + "httpMethod": "POST", "parameterOrder": [ "beaconName" ], - "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/userlocation.beacon.registry" + ], "parameters": { "beaconName": { - "description": "Beacon that should be activated. A beacon name has the format\n\"beacons/N!beaconId\" where the beaconId is the base16 ID broadcast by\nthe beacon and N is a code for the beacon's type. Possible values are\n`3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5`\nfor AltBeacon. For Eddystone-EID beacons, you may use either the\ncurrent EID or the beacon's \"stable\" UID.\nRequired.", "type": "string", "required": true, "pattern": "^beacons/[^/]+$", - "location": "path" + "location": "path", + "description": "Beacon that should be activated. A beacon name has the format\n\"beacons/N!beaconId\" where the beaconId is the base16 ID broadcast by\nthe beacon and N is a code for the beacon's type. Possible values are\n`3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5`\nfor AltBeacon. For Eddystone-EID beacons, you may use either the\ncurrent EID or the beacon's \"stable\" UID.\nRequired." }, "projectId": { "description": "The project id of the beacon to activate. If the project id is not\nspecified then the project making the request is used. The project id\nmust match the project that owns the beacon.\nOptional.", "type": "string", "location": "query" } - }, - "scopes": [ - "https://www.googleapis.com/auth/userlocation.beacon.registry" - ], - "flatPath": "v1beta1/beacons/{beaconsId}:activate", - "id": "proximitybeacon.beacons.activate", - "path": "v1beta1/{+beaconName}:activate", - "description": "Activates a beacon. A beacon that is active will return information\nand attachment data when queried via `beaconinfo.getforobserved`.\nCalling this method on an already active beacon will do nothing (but\nwill return a successful response code).\n\nAuthenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)\nfrom a signed-in user with **Is owner** or **Can edit** permissions in the\nGoogle Developers Console project." + } }, "get": { - "flatPath": "v1beta1/beacons/{beaconsId}", - "id": "proximitybeacon.beacons.get", - "path": "v1beta1/{+beaconName}", "description": "Returns detailed information about the specified beacon.\n\nAuthenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)\nfrom a signed-in user with **viewer**, **Is owner** or **Can edit**\npermissions in the Google Developers Console project.\n\nRequests may supply an Eddystone-EID beacon name in the form:\n`beacons/4!beaconId` where the `beaconId` is the base16 ephemeral ID\nbroadcast by the beacon. The returned `Beacon` object will contain the\nbeacon's stable Eddystone-UID. Clients not authorized to resolve the\nbeacon's ephemeral Eddystone-EID broadcast will receive an error.", "response": { "$ref": "Beacon" @@ -302,9 +314,6 @@ "beaconName" ], "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/userlocation.beacon.registry" - ], "parameters": { "beaconName": { "location": "path", @@ -318,67 +327,69 @@ "description": "The project id of the beacon to request. If the project id is not specified\nthen the project making the request is used. The project id must match the\nproject that owns the beacon.\nOptional.", "type": "string" } - } - }, - "update": { - "description": "Updates the information about the specified beacon. **Any field that you do\nnot populate in the submitted beacon will be permanently erased**, so you\nshould follow the \"read, modify, write\" pattern to avoid inadvertently\ndestroying data.\n\nChanges to the beacon status via this method will be silently ignored.\nTo update beacon status, use the separate methods on this API for\nactivation, deactivation, and decommissioning.\nAuthenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)\nfrom a signed-in user with **Is owner** or **Can edit** permissions in the\nGoogle Developers Console project.", - "request": { - "$ref": "Beacon" - }, - "httpMethod": "PUT", - "parameterOrder": [ - "beaconName" - ], - "response": { - "$ref": "Beacon" - }, - "parameters": { - "beaconName": { - "description": "Resource name of this beacon. A beacon name has the format\n\"beacons/N!beaconId\" where the beaconId is the base16 ID broadcast by\nthe beacon and N is a code for the beacon's type. Possible values are\n`3` for Eddystone, `1` for iBeacon, or `5` for AltBeacon.\n\nThis field must be left empty when registering. After reading a beacon,\nclients can use the name for future operations.", - "type": "string", - "required": true, - "pattern": "^beacons/[^/]+$", - "location": "path" - }, - "projectId": { - "location": "query", - "description": "The project id of the beacon to update. If the project id is not\nspecified then the project making the request is used. The project id\nmust match the project that owns the beacon.\nOptional.", - "type": "string" - } }, "scopes": [ "https://www.googleapis.com/auth/userlocation.beacon.registry" ], "flatPath": "v1beta1/beacons/{beaconsId}", + "id": "proximitybeacon.beacons.get", + "path": "v1beta1/{+beaconName}" + }, + "update": { + "response": { + "$ref": "Beacon" + }, + "parameterOrder": [ + "beaconName" + ], + "httpMethod": "PUT", + "scopes": [ + "https://www.googleapis.com/auth/userlocation.beacon.registry" + ], + "parameters": { + "beaconName": { + "location": "path", + "description": "Resource name of this beacon. A beacon name has the format\n\"beacons/N!beaconId\" where the beaconId is the base16 ID broadcast by\nthe beacon and N is a code for the beacon's type. Possible values are\n`3` for Eddystone, `1` for iBeacon, or `5` for AltBeacon.\n\nThis field must be left empty when registering. After reading a beacon,\nclients can use the name for future operations.", + "type": "string", + "required": true, + "pattern": "^beacons/[^/]+$" + }, + "projectId": { + "type": "string", + "location": "query", + "description": "The project id of the beacon to update. If the project id is not\nspecified then the project making the request is used. The project id\nmust match the project that owns the beacon.\nOptional." + } + }, + "flatPath": "v1beta1/beacons/{beaconsId}", + "id": "proximitybeacon.beacons.update", "path": "v1beta1/{+beaconName}", - "id": "proximitybeacon.beacons.update" + "request": { + "$ref": "Beacon" + }, + "description": "Updates the information about the specified beacon. **Any field that you do\nnot populate in the submitted beacon will be permanently erased**, so you\nshould follow the \"read, modify, write\" pattern to avoid inadvertently\ndestroying data.\n\nChanges to the beacon status via this method will be silently ignored.\nTo update beacon status, use the separate methods on this API for\nactivation, deactivation, and decommissioning.\nAuthenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)\nfrom a signed-in user with **Is owner** or **Can edit** permissions in the\nGoogle Developers Console project." } }, "resources": { "attachments": { "methods": { "list": { - "flatPath": "v1beta1/beacons/{beaconsId}/attachments", - "path": "v1beta1/{+beaconName}/attachments", - "id": "proximitybeacon.beacons.attachments.list", - "description": "Returns the attachments for the specified beacon that match the specified\nnamespaced-type pattern.\n\nTo control which namespaced types are returned, you add the\n`namespacedType` query parameter to the request. You must either use\n`*/*`, to return all attachments, or the namespace must be one of\nthe ones returned from the `namespaces` endpoint.\n\nAuthenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)\nfrom a signed-in user with **viewer**, **Is owner** or **Can edit**\npermissions in the Google Developers Console project.", "httpMethod": "GET", - "parameterOrder": [ - "beaconName" - ], "response": { "$ref": "ListBeaconAttachmentsResponse" }, + "parameterOrder": [ + "beaconName" + ], "parameters": { "projectId": { - "description": "The project id to list beacon attachments under. This field can be\nused when \"*\" is specified to mean all attachment namespaces. Projects\nmay have multiple attachments with multiple namespaces. If \"*\" is\nspecified and the projectId string is empty, then the project\nmaking the request is used.\nOptional.", "type": "string", - "location": "query" + "location": "query", + "description": "The project id to list beacon attachments under. This field can be\nused when \"*\" is specified to mean all attachment namespaces. Projects\nmay have multiple attachments with multiple namespaces. If \"*\" is\nspecified and the projectId string is empty, then the project\nmaking the request is used.\nOptional." }, "namespacedType": { - "location": "query", "description": "Specifies the namespace and type of attachment to include in response in\n\u003cvar\u003enamespace/type\u003c/var\u003e format. Accepts `*/*` to specify\n\"all types in all namespaces\".", - "type": "string" + "type": "string", + "location": "query" }, "beaconName": { "location": "path", @@ -390,13 +401,13 @@ }, "scopes": [ "https://www.googleapis.com/auth/userlocation.beacon.registry" - ] + ], + "flatPath": "v1beta1/beacons/{beaconsId}/attachments", + "path": "v1beta1/{+beaconName}/attachments", + "id": "proximitybeacon.beacons.attachments.list", + "description": "Returns the attachments for the specified beacon that match the specified\nnamespaced-type pattern.\n\nTo control which namespaced types are returned, you add the\n`namespacedType` query parameter to the request. You must either use\n`*/*`, to return all attachments, or the namespace must be one of\nthe ones returned from the `namespaces` endpoint.\n\nAuthenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)\nfrom a signed-in user with **viewer**, **Is owner** or **Can edit**\npermissions in the Google Developers Console project." }, "batchDelete": { - "flatPath": "v1beta1/beacons/{beaconsId}/attachments:batchDelete", - "id": "proximitybeacon.beacons.attachments.batchDelete", - "path": "v1beta1/{+beaconName}/attachments:batchDelete", - "description": "Deletes multiple attachments on a given beacon. This operation is\npermanent and cannot be undone.\n\nYou can optionally specify `namespacedType` to choose which attachments\nshould be deleted. If you do not specify `namespacedType`, all your\nattachments on the given beacon will be deleted. You also may explicitly\nspecify `*/*` to delete all.\n\nAuthenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)\nfrom a signed-in user with **Is owner** or **Can edit** permissions in the\nGoogle Developers Console project.", "response": { "$ref": "DeleteAttachmentsResponse" }, @@ -409,25 +420,33 @@ ], "parameters": { "namespacedType": { + "location": "query", "description": "Specifies the namespace and type of attachments to delete in\n`namespace/type` format. Accepts `*/*` to specify\n\"all types in all namespaces\".\nOptional.", - "type": "string", - "location": "query" + "type": "string" }, "beaconName": { - "location": "path", "description": "The beacon whose attachments should be deleted. A beacon name has the\nformat \"beacons/N!beaconId\" where the beaconId is the base16 ID broadcast\nby the beacon and N is a code for the beacon's type. Possible values are\n`3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5`\nfor AltBeacon. For Eddystone-EID beacons, you may use either the\ncurrent EID or the beacon's \"stable\" UID.\nRequired.", "type": "string", "required": true, - "pattern": "^beacons/[^/]+$" + "pattern": "^beacons/[^/]+$", + "location": "path" }, "projectId": { + "location": "query", "description": "The project id to delete beacon attachments under. This field can be\nused when \"*\" is specified to mean all attachment namespaces. Projects\nmay have multiple attachments with multiple namespaces. If \"*\" is\nspecified and the projectId string is empty, then the project\nmaking the request is used.\nOptional.", - "type": "string", - "location": "query" + "type": "string" } - } + }, + "flatPath": "v1beta1/beacons/{beaconsId}/attachments:batchDelete", + "id": "proximitybeacon.beacons.attachments.batchDelete", + "path": "v1beta1/{+beaconName}/attachments:batchDelete", + "description": "Deletes multiple attachments on a given beacon. This operation is\npermanent and cannot be undone.\n\nYou can optionally specify `namespacedType` to choose which attachments\nshould be deleted. If you do not specify `namespacedType`, all your\nattachments on the given beacon will be deleted. You also may explicitly\nspecify `*/*` to delete all.\n\nAuthenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)\nfrom a signed-in user with **Is owner** or **Can edit** permissions in the\nGoogle Developers Console project." }, "create": { + "request": { + "$ref": "BeaconAttachment" + }, + "description": "Associates the given data with the specified beacon. Attachment data must\ncontain two parts:\n\u003cul\u003e\n\u003cli\u003eA namespaced type.\u003c/li\u003e\n\u003cli\u003eThe actual attachment data itself.\u003c/li\u003e\n\u003c/ul\u003e\nThe namespaced type consists of two parts, the namespace and the type.\nThe namespace must be one of the values returned by the `namespaces`\nendpoint, while the type can be a string of any characters except for the\nforward slash (`/`) up to 100 characters in length.\n\nAttachment data can be up to 1024 bytes long.\n\nAuthenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)\nfrom a signed-in user with **Is owner** or **Can edit** permissions in the\nGoogle Developers Console project.", "response": { "$ref": "BeaconAttachment" }, @@ -439,35 +458,34 @@ "https://www.googleapis.com/auth/userlocation.beacon.registry" ], "parameters": { + "beaconName": { + "pattern": "^beacons/[^/]+$", + "location": "path", + "description": "Beacon on which the attachment should be created. A beacon name has the\nformat \"beacons/N!beaconId\" where the beaconId is the base16 ID broadcast\nby the beacon and N is a code for the beacon's type. Possible values are\n`3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5`\nfor AltBeacon. For Eddystone-EID beacons, you may use either the\ncurrent EID or the beacon's \"stable\" UID.\nRequired.", + "type": "string", + "required": true + }, "projectId": { "description": "The project id of the project the attachment will belong to. If\nthe project id is not specified then the project making the request\nis used.\nOptional.", "type": "string", "location": "query" - }, - "beaconName": { - "description": "Beacon on which the attachment should be created. A beacon name has the\nformat \"beacons/N!beaconId\" where the beaconId is the base16 ID broadcast\nby the beacon and N is a code for the beacon's type. Possible values are\n`3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5`\nfor AltBeacon. For Eddystone-EID beacons, you may use either the\ncurrent EID or the beacon's \"stable\" UID.\nRequired.", - "type": "string", - "required": true, - "pattern": "^beacons/[^/]+$", - "location": "path" } }, "flatPath": "v1beta1/beacons/{beaconsId}/attachments", "id": "proximitybeacon.beacons.attachments.create", - "path": "v1beta1/{+beaconName}/attachments", - "request": { - "$ref": "BeaconAttachment" - }, - "description": "Associates the given data with the specified beacon. Attachment data must\ncontain two parts:\n\u003cul\u003e\n\u003cli\u003eA namespaced type.\u003c/li\u003e\n\u003cli\u003eThe actual attachment data itself.\u003c/li\u003e\n\u003c/ul\u003e\nThe namespaced type consists of two parts, the namespace and the type.\nThe namespace must be one of the values returned by the `namespaces`\nendpoint, while the type can be a string of any characters except for the\nforward slash (`/`) up to 100 characters in length.\n\nAttachment data can be up to 1024 bytes long.\n\nAuthenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)\nfrom a signed-in user with **Is owner** or **Can edit** permissions in the\nGoogle Developers Console project." + "path": "v1beta1/{+beaconName}/attachments" }, "delete": { + "flatPath": "v1beta1/beacons/{beaconsId}/attachments/{attachmentsId}", + "id": "proximitybeacon.beacons.attachments.delete", + "path": "v1beta1/{+attachmentName}", "description": "Deletes the specified attachment for the given beacon. Each attachment has\na unique attachment name (`attachmentName`) which is returned when you\nfetch the attachment data via this API. You specify this with the delete\nrequest to control which attachment is removed. This operation cannot be\nundone.\n\nAuthenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)\nfrom a signed-in user with **Is owner** or **Can edit** permissions in the\nGoogle Developers Console project.", - "response": { - "$ref": "Empty" - }, "parameterOrder": [ "attachmentName" ], + "response": { + "$ref": "Empty" + }, "httpMethod": "DELETE", "parameters": { "projectId": { @@ -476,25 +494,24 @@ "type": "string" }, "attachmentName": { - "location": "path", "description": "The attachment name (`attachmentName`) of\nthe attachment to remove. For example:\n`beacons/3!893737abc9/attachments/c5e937-af0-494-959-ec49d12738`. For\nEddystone-EID beacons, the beacon ID portion (`3!893737abc9`) may be the\nbeacon's current EID, or its \"stable\" Eddystone-UID.\nRequired.", "type": "string", "required": true, - "pattern": "^beacons/[^/]+/attachments/[^/]+$" + "pattern": "^beacons/[^/]+/attachments/[^/]+$", + "location": "path" } }, "scopes": [ "https://www.googleapis.com/auth/userlocation.beacon.registry" - ], - "flatPath": "v1beta1/beacons/{beaconsId}/attachments/{attachmentsId}", - "id": "proximitybeacon.beacons.attachments.delete", - "path": "v1beta1/{+attachmentName}" + ] } } }, "diagnostics": { "methods": { "list": { + "id": "proximitybeacon.beacons.diagnostics.list", + "path": "v1beta1/{+beaconName}/diagnostics", "description": "List the diagnostics for a single beacon. You can also list diagnostics for\nall the beacons owned by your Google Developers Console project by using\nthe beacon name `beacons/-`.\n\nAuthenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)\nfrom a signed-in user with **viewer**, **Is owner** or **Can edit**\npermissions in the Google Developers Console project.", "response": { "$ref": "ListDiagnosticsResponse" @@ -503,9 +520,6 @@ "beaconName" ], "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/userlocation.beacon.registry" - ], "parameters": { "beaconName": { "location": "path", @@ -515,35 +529,36 @@ "pattern": "^beacons/[^/]+$" }, "pageToken": { - "description": "Requests results that occur after the `page_token`, obtained from the\nresponse to a previous request. Optional.", "type": "string", - "location": "query" + "location": "query", + "description": "Requests results that occur after the `page_token`, obtained from the\nresponse to a previous request. Optional." }, "alertFilter": { + "description": "Requests only beacons that have the given alert. For example, to find\nbeacons that have low batteries use `alert_filter=LOW_BATTERY`.", + "type": "string", "location": "query", "enum": [ "ALERT_UNSPECIFIED", "WRONG_LOCATION", "LOW_BATTERY" - ], - "description": "Requests only beacons that have the given alert. For example, to find\nbeacons that have low batteries use `alert_filter=LOW_BATTERY`.", - "type": "string" + ] }, "pageSize": { - "location": "query", "format": "int32", "description": "Specifies the maximum number of results to return. Defaults to\n10. Maximum 1000. Optional.", - "type": "integer" + "type": "integer", + "location": "query" }, "projectId": { - "location": "query", "description": "Requests only diagnostic records for the given project id. If not set,\nthen the project making the request will be used for looking up\ndiagnostic records. Optional.", - "type": "string" + "type": "string", + "location": "query" } }, - "flatPath": "v1beta1/beacons/{beaconsId}/diagnostics", - "id": "proximitybeacon.beacons.diagnostics.list", - "path": "v1beta1/{+beaconName}/diagnostics" + "scopes": [ + "https://www.googleapis.com/auth/userlocation.beacon.registry" + ], + "flatPath": "v1beta1/beacons/{beaconsId}/diagnostics" } } } @@ -557,29 +572,22 @@ "type": "string" }, "prettyPrint": { + "location": "query", "description": "Returns response with indentations and line breaks.", "default": "true", - "type": "boolean", - "location": "query" + "type": "boolean" }, "uploadType": { - "location": "query", "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string" + "type": "string", + "location": "query" }, "fields": { + "location": "query", "description": "Selector specifying which fields to include in a partial response.", - "type": "string", - "location": "query" - }, - "callback": { - "description": "JSONP", - "type": "string", - "location": "query" + "type": "string" }, "$.xgafv": { - "description": "V1 error format.", - "type": "string", "enumDescriptions": [ "v1 error format", "v2 error format" @@ -588,15 +596,16 @@ "enum": [ "1", "2" - ] + ], + "description": "V1 error format.", + "type": "string" + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" }, "alt": { - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query", "description": "Data format for response.", "default": "json", "enum": [ @@ -604,12 +613,18 @@ "media", "proto" ], - "type": "string" + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query" }, "access_token": { - "description": "OAuth access token.", "type": "string", - "location": "query" + "location": "query", + "description": "OAuth access token." }, "key": { "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", @@ -622,75 +637,24 @@ "type": "string" }, "pp": { - "location": "query", - "description": "Pretty-print response.", "default": "true", - "type": "boolean" + "type": "boolean", + "location": "query", + "description": "Pretty-print response." }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", + "bearer_token": { + "description": "OAuth bearer token.", "type": "string", "location": "query" }, - "bearer_token": { + "oauth_token": { "location": "query", - "description": "OAuth bearer token.", + "description": "OAuth 2.0 token for the current user.", "type": "string" } }, "schemas": { - "BeaconInfo": { - "description": "A subset of beacon information served via the `beaconinfo.getforobserved`\nmethod, which you call when users of your app encounter your beacons.", - "type": "object", - "properties": { - "beaconName": { - "description": "The name under which the beacon is registered.", - "type": "string" - }, - "attachments": { - "description": "Attachments matching the type(s) requested.\nMay be empty if no attachment types were requested.", - "items": { - "$ref": "AttachmentInfo" - }, - "type": "array" - }, - "advertisedId": { - "description": "The ID advertised by the beacon.", - "$ref": "AdvertisedId" - } - }, - "id": "BeaconInfo" - }, - "AttachmentInfo": { - "description": "A subset of attachment information served via the\n`beaconinfo.getforobserved` method, used when your users encounter your\nbeacons.", - "type": "object", - "properties": { - "namespacedType": { - "description": "Specifies what kind of attachment this is. Tells a client how to\ninterpret the `data` field. Format is \u003cvar\u003enamespace/type\u003c/var\u003e, for\nexample \u003ccode\u003escrupulous-wombat-12345/welcome-message\u003c/code\u003e", - "type": "string" - }, - "data": { - "format": "byte", - "description": "An opaque data container for client-provided data.", - "type": "string" - } - }, - "id": "AttachmentInfo" - }, - "DeleteAttachmentsResponse": { - "description": "Response for a request to delete attachments.", - "type": "object", - "properties": { - "numDeleted": { - "format": "int32", - "description": "The number of attachments that were deleted.", - "type": "integer" - } - }, - "id": "DeleteAttachmentsResponse" - }, "EphemeralIdRegistrationParams": { - "description": "Information a client needs to provision and register beacons that\nbroadcast Eddystone-EID format beacon IDs, using Elliptic curve\nDiffie-Hellman key exchange. See\n[the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub.", "type": "object", "properties": { "maxRotationPeriodExponent": { @@ -709,10 +673,22 @@ "type": "string" } }, - "id": "EphemeralIdRegistrationParams" + "id": "EphemeralIdRegistrationParams", + "description": "Information a client needs to provision and register beacons that\nbroadcast Eddystone-EID format beacon IDs, using Elliptic curve\nDiffie-Hellman key exchange. See\n[the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub." + }, + "DeleteAttachmentsResponse": { + "description": "Response for a request to delete attachments.", + "type": "object", + "properties": { + "numDeleted": { + "format": "int32", + "description": "The number of attachments that were deleted.", + "type": "integer" + } + }, + "id": "DeleteAttachmentsResponse" }, "Observation": { - "description": "Represents one beacon observed once.", "type": "object", "properties": { "telemetry": { @@ -726,11 +702,12 @@ "type": "string" }, "advertisedId": { - "description": "The ID advertised by the beacon the client has encountered.\n\nIf the submitted `advertised_id` type is Eddystone-EID, then the client\nmust be authorized to resolve the given beacon. Otherwise no data will be\nreturned for that beacon.\nRequired.", - "$ref": "AdvertisedId" + "$ref": "AdvertisedId", + "description": "The ID advertised by the beacon the client has encountered.\n\nIf the submitted `advertised_id` type is Eddystone-EID, then the client\nmust be authorized to resolve the given beacon. Otherwise no data will be\nreturned for that beacon.\nRequired." } }, - "id": "Observation" + "id": "Observation", + "description": "Represents one beacon observed once." }, "ListDiagnosticsResponse": { "description": "Response that contains the requested diagnostics.", @@ -768,29 +745,6 @@ "description": "Details of a beacon device.", "type": "object", "properties": { - "description": { - "description": "Free text used to identify and describe the beacon. Maximum length 140\ncharacters.\nOptional.", - "type": "string" - }, - "placeId": { - "description": "The [Google Places API](/places/place-id) Place ID of the place where\nthe beacon is deployed. This is given when the beacon is registered or\nupdated, not automatically detected in any way.\nOptional.", - "type": "string" - }, - "latLng": { - "description": "The location of the beacon, expressed as a latitude and longitude pair.\nThis location is given when the beacon is registered or updated. It does\nnot necessarily indicate the actual current location of the beacon.\nOptional.", - "$ref": "LatLng" - }, - "properties": { - "description": "Properties of the beacon device, for example battery type or firmware\nversion.\nOptional.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "indoorLevel": { - "$ref": "IndoorLevel", - "description": "The indoor level information for this beacon, if known. As returned by the\nGoogle Maps API.\nOptional." - }, "status": { "description": "Current status of the beacon.\nRequired.", "type": "string", @@ -807,6 +761,10 @@ "INACTIVE" ] }, + "indoorLevel": { + "$ref": "IndoorLevel", + "description": "The indoor level information for this beacon, if known. As returned by the\nGoogle Maps API.\nOptional." + }, "beaconName": { "description": "Resource name of this beacon. A beacon name has the format\n\"beacons/N!beaconId\" where the beaconId is the base16 ID broadcast by\nthe beacon and N is a code for the beacon's type. Possible values are\n`3` for Eddystone, `1` for iBeacon, or `5` for AltBeacon.\n\nThis field must be left empty when registering. After reading a beacon,\nclients can use the name for future operations.", "type": "string" @@ -830,17 +788,36 @@ "type": "string" }, "advertisedId": { - "$ref": "AdvertisedId", - "description": "The identifier of a beacon as advertised by it. This field must be\npopulated when registering. It may be empty when updating a beacon\nrecord because it is ignored in updates.\n\nWhen registering a beacon that broadcasts Eddystone-EID, this field\nshould contain a \"stable\" Eddystone-UID that identifies the beacon and\nlinks it to its attachments. The stable Eddystone-UID is only used for\nadministering the beacon." + "description": "The identifier of a beacon as advertised by it. This field must be\npopulated when registering. It may be empty when updating a beacon\nrecord because it is ignored in updates.\n\nWhen registering a beacon that broadcasts Eddystone-EID, this field\nshould contain a \"stable\" Eddystone-UID that identifies the beacon and\nlinks it to its attachments. The stable Eddystone-UID is only used for\nadministering the beacon.", + "$ref": "AdvertisedId" + }, + "provisioningKey": { + "type": "string", + "format": "byte", + "description": "Some beacons may require a user to provide an authorization key before\nchanging any of its configuration (e.g. broadcast frames, transmit power).\nThis field provides a place to store and control access to that key.\nThis field is populated in responses to `GET /v1beta1/beacons/3!beaconId`\nfrom users with write access to the given beacon. That is to say: If the\nuser is authorized to write the beacon's confidential data in the service,\nthe service considers them authorized to configure the beacon. Note\nthat this key grants nothing on the service, only on the beacon itself." }, "ephemeralIdRegistration": { "$ref": "EphemeralIdRegistration", "description": "Write-only registration parameters for beacons using Eddystone-EID\n(remotely resolved ephemeral ID) format. This information will not be\npopulated in API responses. When submitting this data, the `advertised_id`\nfield must contain an ID of type Eddystone-UID. Any other ID type will\nresult in an error." }, - "provisioningKey": { - "format": "byte", - "description": "Some beacons may require a user to provide an authorization key before\nchanging any of its configuration (e.g. broadcast frames, transmit power).\nThis field provides a place to store and control access to that key.\nThis field is populated in responses to `GET /v1beta1/beacons/3!beaconId`\nfrom users with write access to the given beacon. That is to say: If the\nuser is authorized to write the beacon's confidential data in the service,\nthe service considers them authorized to configure the beacon. Note\nthat this key grants nothing on the service, only on the beacon itself.", + "latLng": { + "description": "The location of the beacon, expressed as a latitude and longitude pair.\nThis location is given when the beacon is registered or updated. It does\nnot necessarily indicate the actual current location of the beacon.\nOptional.", + "$ref": "LatLng" + }, + "placeId": { + "description": "The [Google Places API](/places/place-id) Place ID of the place where\nthe beacon is deployed. This is given when the beacon is registered or\nupdated, not automatically detected in any way.\nOptional.", "type": "string" + }, + "description": { + "description": "Free text used to identify and describe the beacon. Maximum length 140\ncharacters.\nOptional.", + "type": "string" + }, + "properties": { + "additionalProperties": { + "type": "string" + }, + "description": "Properties of the beacon device, for example battery type or firmware\nversion.\nOptional.", + "type": "object" } }, "id": "Beacon" @@ -850,13 +827,6 @@ "type": "object", "properties": { "type": { - "enumDescriptions": [ - "Do not use this value.", - "Eddystone, an open beacon format that supports Android and iOS devices\nhttps://github.com/google/eddystone/wiki/Beacon-Specification", - "Apple iBeacon compatible beacon", - "See http://altbeacon.org and/or https://github.com/AltBeacon/spec.", - "Eddystone Ephemeral ID" - ], "enum": [ "TYPE_UNSPECIFIED", "EDDYSTONE", @@ -865,27 +835,23 @@ "EDDYSTONE_EID" ], "description": "Specifies the identifier type.\nRequired.", - "type": "string" + "type": "string", + "enumDescriptions": [ + "Do not use this value.", + "Eddystone, an open beacon format that supports Android and iOS devices\nhttps://github.com/google/eddystone/wiki/Beacon-Specification", + "Apple iBeacon compatible beacon", + "See http://altbeacon.org and/or https://github.com/AltBeacon/spec.", + "Eddystone Ephemeral ID" + ] }, "id": { + "type": "string", "format": "byte", - "description": "The actual beacon identifier, as broadcast by the beacon hardware. Must be\n[base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP\nrequests, and will be so encoded (with padding) in responses. The base64\nencoding should be of the binary byte-stream and not any textual (such as\nhex) representation thereof.\nRequired.", - "type": "string" + "description": "The actual beacon identifier, as broadcast by the beacon hardware. Must be\n[base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP\nrequests, and will be so encoded (with padding) in responses. The base64\nencoding should be of the binary byte-stream and not any textual (such as\nhex) representation thereof.\nRequired." } }, "id": "AdvertisedId" }, - "IndoorLevel": { - "description": "Indoor level, a human-readable string as returned by Google Maps APIs,\nuseful to indicate which floor of a building a beacon is located on.", - "type": "object", - "properties": { - "name": { - "description": "The name of this level.", - "type": "string" - } - }, - "id": "IndoorLevel" - }, "Date": { "description": "Represents a whole calendar date, e.g. date of birth. The time of day and\ntime zone are either specified elsewhere or are not significant. The date\nis relative to the Proleptic Gregorian Calendar. The day may be 0 to\nrepresent a year and month where the day is not significant, e.g. credit card\nexpiration date. The year may be 0 to represent a month and day independent\nof year, e.g. anniversary date. Related types are google.type.TimeOfDay\nand `google.protobuf.Timestamp`.", "type": "object", @@ -908,8 +874,18 @@ }, "id": "Date" }, + "IndoorLevel": { + "description": "Indoor level, a human-readable string as returned by Google Maps APIs,\nuseful to indicate which floor of a building a beacon is located on.", + "type": "object", + "properties": { + "name": { + "description": "The name of this level.", + "type": "string" + } + }, + "id": "IndoorLevel" + }, "ListNamespacesResponse": { - "description": "Response to ListNamespacesRequest that contains all the project's namespaces.", "type": "object", "properties": { "namespaces": { @@ -920,10 +896,42 @@ "type": "array" } }, - "id": "ListNamespacesResponse" + "id": "ListNamespacesResponse", + "description": "Response to ListNamespacesRequest that contains all the project's namespaces." + }, + "Diagnostics": { + "description": "Diagnostics for a single beacon.", + "type": "object", + "properties": { + "beaconName": { + "description": "Resource name of the beacon. For Eddystone-EID beacons, this may\nbe the beacon's current EID, or the beacon's \"stable\" Eddystone-UID.", + "type": "string" + }, + "alerts": { + "enumDescriptions": [ + "Invalid value. Should never appear.", + "The beacon has been reported in a location different than its registered\nlocation. This may indicate that the beacon has been moved. This signal\nis not 100% accurate, but indicates that further investigation is worth\nwhile.", + "The battery level for the beacon is low enough that, given the beacon's\ncurrent use, its battery will run out with in the next 60 days. This\nindicates that the battery should be replaced soon." + ], + "description": "An unordered list of Alerts that the beacon has.", + "items": { + "type": "string", + "enum": [ + "ALERT_UNSPECIFIED", + "WRONG_LOCATION", + "LOW_BATTERY" + ] + }, + "type": "array" + }, + "estimatedLowBatteryDate": { + "$ref": "Date", + "description": "The date when the battery is expected to be low. If the value is missing\nthen there is no estimate for when the battery will be low.\nThis value is only an estimate, not an exact date." + } + }, + "id": "Diagnostics" }, "ListBeaconsResponse": { - "description": "Response that contains list beacon results and pagination help.", "type": "object", "properties": { "nextPageToken": { @@ -936,63 +944,26 @@ "type": "string" }, "beacons": { - "description": "The beacons that matched the search criteria.", "items": { "$ref": "Beacon" }, - "type": "array" - } - }, - "id": "ListBeaconsResponse" - }, - "Diagnostics": { - "description": "Diagnostics for a single beacon.", - "type": "object", - "properties": { - "beaconName": { - "description": "Resource name of the beacon. For Eddystone-EID beacons, this may\nbe the beacon's current EID, or the beacon's \"stable\" Eddystone-UID.", - "type": "string" - }, - "alerts": { - "description": "An unordered list of Alerts that the beacon has.", - "items": { - "type": "string", - "enum": [ - "ALERT_UNSPECIFIED", - "WRONG_LOCATION", - "LOW_BATTERY" - ] - }, "type": "array", - "enumDescriptions": [ - "Invalid value. Should never appear.", - "The beacon has been reported in a location different than its registered\nlocation. This may indicate that the beacon has been moved. This signal\nis not 100% accurate, but indicates that further investigation is worth\nwhile.", - "The battery level for the beacon is low enough that, given the beacon's\ncurrent use, its battery will run out with in the next 60 days. This\nindicates that the battery should be replaced soon." - ] - }, - "estimatedLowBatteryDate": { - "$ref": "Date", - "description": "The date when the battery is expected to be low. If the value is missing\nthen there is no estimate for when the battery will be low.\nThis value is only an estimate, not an exact date." + "description": "The beacons that matched the search criteria." } }, - "id": "Diagnostics" - }, - "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", - "type": "object", - "properties": {}, - "id": "Empty" + "id": "ListBeaconsResponse", + "description": "Response that contains list beacon results and pagination help." }, "GetInfoForObservedBeaconsRequest": { "description": "Request for beacon and attachment information about beacons that\na mobile client has encountered \"in the wild\".", "type": "object", "properties": { "observations": { - "description": "The beacons that the client has encountered.\nAt least one must be given.", "items": { "$ref": "Observation" }, - "type": "array" + "type": "array", + "description": "The beacons that the client has encountered.\nAt least one must be given." }, "namespacedTypes": { "description": "Specifies what kind of attachments to include in the response.\nWhen given, the response will include only attachments of the given types.\nWhen empty, no attachments will be returned. Must be in the format\n\u003cvar\u003enamespace/type\u003c/var\u003e. Accepts `*` to specify all types in\nall namespaces owned by the client.\nOptional.", @@ -1004,14 +975,14 @@ }, "id": "GetInfoForObservedBeaconsRequest" }, - "BeaconAttachment": { - "description": "Project-specific data associated with a beacon.", + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", "type": "object", + "properties": {}, + "id": "Empty" + }, + "BeaconAttachment": { "properties": { - "attachmentName": { - "description": "Resource name of this attachment. Attachment names have the format:\n\u003ccode\u003ebeacons/\u003cvar\u003ebeacon_id\u003c/var\u003e/attachments/\u003cvar\u003eattachment_id\u003c/var\u003e\u003c/code\u003e.\nLeave this empty on creation.", - "type": "string" - }, "namespacedType": { "description": "Specifies what kind of attachment this is. Tells a client how to\ninterpret the `data` field. Format is \u003cvar\u003enamespace/type\u003c/var\u003e. Namespace\nprovides type separation between clients. Type describes the type of\n`data`, for use by the client when parsing the `data` field.\nRequired.", "type": "string" @@ -1025,43 +996,49 @@ "format": "google-datetime", "description": "The UTC time when this attachment was created, in milliseconds since the\nUNIX epoch.", "type": "string" + }, + "attachmentName": { + "description": "Resource name of this attachment. Attachment names have the format:\n\u003ccode\u003ebeacons/\u003cvar\u003ebeacon_id\u003c/var\u003e/attachments/\u003cvar\u003eattachment_id\u003c/var\u003e\u003c/code\u003e.\nLeave this empty on creation.", + "type": "string" } }, - "id": "BeaconAttachment" + "id": "BeaconAttachment", + "description": "Project-specific data associated with a beacon.", + "type": "object" }, "EphemeralIdRegistration": { "description": "Write-only registration parameters for beacons using Eddystone-EID format.\nTwo ways of securely registering an Eddystone-EID beacon with the service\nare supported:\n\n1. Perform an ECDH key exchange via this API, including a previous call\n to `GET /v1beta1/eidparams`. In this case the fields\n `beacon_ecdh_public_key` and `service_ecdh_public_key` should be\n populated and `beacon_identity_key` should not be populated. This\n method ensures that only the two parties in the ECDH key exchange can\n compute the identity key, which becomes a secret between them.\n2. Derive or obtain the beacon's identity key via other secure means\n (perhaps an ECDH key exchange between the beacon and a mobile device\n or any other secure method), and then submit the resulting identity key\n to the service. In this case `beacon_identity_key` field should be\n populated, and neither of `beacon_ecdh_public_key` nor\n `service_ecdh_public_key` fields should be. The security of this method\n depends on how securely the parties involved (in particular the\n bluetooth client) handle the identity key, and obviously on how\n securely the identity key was generated.\n\nSee [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub.", "type": "object", "properties": { - "serviceEcdhPublicKey": { - "format": "byte", - "description": "The service's public key used for the Elliptic curve Diffie-Hellman\nkey exchange. When this field is populated, `beacon_ecdh_public_key`\nmust also be populated, and `beacon_identity_key` must not be.", - "type": "string" - }, - "beaconIdentityKey": { - "format": "byte", - "description": "The private key of the beacon. If this field is populated,\n`beacon_ecdh_public_key` and `service_ecdh_public_key` must not be\npopulated.", - "type": "string" - }, "initialEid": { "format": "byte", "description": "An initial ephemeral ID calculated using the clock value submitted as\n`initial_clock_value`, and the secret key generated by the\nDiffie-Hellman key exchange using `service_ecdh_public_key` and\n`service_ecdh_public_key`. This initial EID value will be used by the\nservice to confirm that the key exchange process was successful.", "type": "string" }, + "initialClockValue": { + "type": "string", + "format": "uint64", + "description": "The initial clock value of the beacon. The beacon's clock must have\nbegun counting at this value immediately prior to transmitting this\nvalue to the resolving service. Significant delay in transmitting this\nvalue to the service risks registration or resolution failures. If a\nvalue is not provided, the default is zero." + }, "beaconEcdhPublicKey": { "format": "byte", "description": "The beacon's public key used for the Elliptic curve Diffie-Hellman\nkey exchange. When this field is populated, `service_ecdh_public_key`\nmust also be populated, and `beacon_identity_key` must not be.", "type": "string" }, - "initialClockValue": { - "format": "uint64", - "description": "The initial clock value of the beacon. The beacon's clock must have\nbegun counting at this value immediately prior to transmitting this\nvalue to the resolving service. Significant delay in transmitting this\nvalue to the service risks registration or resolution failures. If a\nvalue is not provided, the default is zero.", - "type": "string" - }, "rotationPeriodExponent": { "format": "uint32", "description": "Indicates the nominal period between each rotation of the beacon's\nephemeral ID. \"Nominal\" because the beacon should randomize the\nactual interval. See [the spec at github](https://github.com/google/eddystone/tree/master/eddystone-eid)\nfor details. This value corresponds to a power-of-two scaler on the\nbeacon's clock: when the scaler value is K, the beacon will begin\nbroadcasting a new ephemeral ID on average every 2^K seconds.", "type": "integer" + }, + "serviceEcdhPublicKey": { + "format": "byte", + "description": "The service's public key used for the Elliptic curve Diffie-Hellman\nkey exchange. When this field is populated, `beacon_ecdh_public_key`\nmust also be populated, and `beacon_identity_key` must not be.", + "type": "string" + }, + "beaconIdentityKey": { + "type": "string", + "format": "byte", + "description": "The private key of the beacon. If this field is populated,\n`beacon_ecdh_public_key` and `service_ecdh_public_key` must not be\npopulated." } }, "id": "EphemeralIdRegistration" @@ -1088,24 +1065,24 @@ "type": "object", "properties": { "attachments": { - "description": "The attachments that corresponded to the request params.", "items": { "$ref": "BeaconAttachment" }, - "type": "array" + "type": "array", + "description": "The attachments that corresponded to the request params." } }, "id": "ListBeaconAttachmentsResponse" }, "Namespace": { - "description": "An attachment namespace defines read and write access for all the attachments\ncreated under it. Each namespace is globally unique, and owned by one\nproject which is the only project that can create attachments under it.", - "type": "object", "properties": { "namespaceName": { "description": "Resource name of this namespace. Namespaces names have the format:\n\u003ccode\u003enamespaces/\u003cvar\u003enamespace\u003c/var\u003e\u003c/code\u003e.", "type": "string" }, "servingVisibility": { + "description": "Specifies what clients may receive attachments under this namespace\nvia `beaconinfo.getforobserved`.", + "type": "string", "enumDescriptions": [ "Do not use this value.", "Served only to the project that owns the namespace.", @@ -1115,32 +1092,55 @@ "VISIBILITY_UNSPECIFIED", "UNLISTED", "PUBLIC" - ], - "description": "Specifies what clients may receive attachments under this namespace\nvia `beaconinfo.getforobserved`.", + ] + } + }, + "id": "Namespace", + "description": "An attachment namespace defines read and write access for all the attachments\ncreated under it. Each namespace is globally unique, and owned by one\nproject which is the only project that can create attachments under it.", + "type": "object" + }, + "AttachmentInfo": { + "properties": { + "namespacedType": { + "description": "Specifies what kind of attachment this is. Tells a client how to\ninterpret the `data` field. Format is \u003cvar\u003enamespace/type\u003c/var\u003e, for\nexample \u003ccode\u003escrupulous-wombat-12345/welcome-message\u003c/code\u003e", + "type": "string" + }, + "data": { + "format": "byte", + "description": "An opaque data container for client-provided data.", "type": "string" } }, - "id": "Namespace" - } - }, - "protocol": "rest", - "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" - }, - "version": "v1beta1", - "baseUrl": "https://proximitybeacon.googleapis.com/", - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/userlocation.beacon.registry": { - "description": "View and modify your beacons" + "id": "AttachmentInfo", + "description": "A subset of attachment information served via the\n`beaconinfo.getforobserved` method, used when your users encounter your\nbeacons.", + "type": "object" + }, + "BeaconInfo": { + "description": "A subset of beacon information served via the `beaconinfo.getforobserved`\nmethod, which you call when users of your app encounter your beacons.", + "type": "object", + "properties": { + "attachments": { + "description": "Attachments matching the type(s) requested.\nMay be empty if no attachment types were requested.", + "items": { + "$ref": "AttachmentInfo" + }, + "type": "array" + }, + "advertisedId": { + "$ref": "AdvertisedId", + "description": "The ID advertised by the beacon." + }, + "beaconName": { + "description": "The name under which the beacon is registered.", + "type": "string" } - } + }, + "id": "BeaconInfo" } }, - "kind": "discovery#restDescription", - "description": "Registers, manages, indexes, and searches beacons.", - "servicePath": "", - "rootUrl": "https://proximitybeacon.googleapis.com/" + "icons": { + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" + }, + "protocol": "rest" } diff --git a/vendor/google.golang.org/api/pubsub/v1/pubsub-api.json b/vendor/google.golang.org/api/pubsub/v1/pubsub-api.json index 506cc4106..722930a8d 100644 --- a/vendor/google.golang.org/api/pubsub/v1/pubsub-api.json +++ b/vendor/google.golang.org/api/pubsub/v1/pubsub-api.json @@ -1,79 +1,45 @@ { - "basePath": "", - "ownerDomain": "google.com", - "name": "pubsub", - "batchPath": "batch", - "revision": "20170622", - "documentationLink": "https://cloud.google.com/pubsub/docs", "id": "pubsub:v1", + "revision": "20170918", + "documentationLink": "https://cloud.google.com/pubsub/docs", "title": "Google Cloud Pub/Sub API", "ownerName": "Google", "discoveryVersion": "v1", "resources": { "projects": { "resources": { - "topics": { + "snapshots": { "methods": { - "get": { - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", - "id": "pubsub.projects.topics.get", - "path": "v1/{+topic}", - "description": "Gets the configuration of a topic.", - "response": { - "$ref": "Topic" - }, - "parameterOrder": [ - "topic" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "parameters": { - "topic": { - "description": "The name of the topic to get.\nFormat is `projects/{project}/topics/{topic}`.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path" - } - } - }, - "publish": { - "description": "Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic\ndoes not exist. The message payload must not be empty; it must contain\n either a non-empty data field, or at least one attribute.", + "setIamPolicy": { + "path": "v1/{+resource}:setIamPolicy", + "id": "pubsub.projects.snapshots.setIamPolicy", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", "request": { - "$ref": "PublishRequest" + "$ref": "SetIamPolicyRequest" }, - "response": { - "$ref": "PublishResponse" - }, - "parameterOrder": [ - "topic" - ], "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "Policy" + }, "parameters": { - "topic": { + "resource": { + "pattern": "^projects/[^/]+/snapshots/[^/]+$", "location": "path", - "description": "The messages in the request will be published on this topic.\nFormat is `projects/{project}/topics/{topic}`.", + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", "type": "string", - "required": true, - "pattern": "^projects/[^/]+/topics/[^/]+$" + "required": true } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:publish", - "id": "pubsub.projects.topics.publish", - "path": "v1/{+topic}:publish" + "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:setIamPolicy" }, "testIamPermissions": { - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "httpMethod": "POST", "parameterOrder": [ "resource" @@ -81,86 +47,86 @@ "response": { "$ref": "TestIamPermissionsResponse" }, + "parameters": { + "resource": { + "pattern": "^projects/[^/]+/snapshots/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true + } + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], + "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:testIamPermissions", + "path": "v1/{+resource}:testIamPermissions", + "id": "pubsub.projects.snapshots.testIamPermissions", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "request": { + "$ref": "TestIamPermissionsRequest" + } + }, + "getIamPolicy": { + "response": { + "$ref": "Policy" + }, + "httpMethod": "GET", + "parameterOrder": [ + "resource" + ], "parameters": { "resource": { - "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "pattern": "^projects/[^/]+/snapshots/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:getIamPolicy", + "id": "pubsub.projects.snapshots.getIamPolicy", + "path": "v1/{+resource}:getIamPolicy", + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset." + } + } + }, + "subscriptions": { + "methods": { + "create": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "parameters": { + "name": { + "description": "The name of the subscription. It must have the format\n`\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must\nstart with a letter, and contain only letters (`[A-Za-z]`), numbers\n(`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),\nplus (`+`) or percent signs (`%`). It must be between 3 and 255 characters\nin length, and it must not start with `\"goog\"`.", "type": "string", "required": true, - "pattern": "^projects/[^/]+/topics/[^/]+$", + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", "location": "path" } }, - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:testIamPermissions", - "path": "v1/{+resource}:testIamPermissions", - "id": "pubsub.projects.topics.testIamPermissions" - }, - "delete": { - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", - "id": "pubsub.projects.topics.delete", - "path": "v1/{+topic}", - "description": "Deletes the topic with the given name. Returns `NOT_FOUND` if the topic\ndoes not exist. After a topic is deleted, a new topic may be created with\nthe same name; this is an entirely new topic with none of the old\nconfiguration or subscriptions. Existing subscriptions to this topic are\nnot deleted, but their `topic` field is set to `_deleted-topic_`.", - "response": { - "$ref": "Empty" + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}", + "path": "v1/{+name}", + "id": "pubsub.projects.subscriptions.create", + "request": { + "$ref": "Subscription" }, + "description": "Creates a subscription to a given topic.\nIf the subscription already exists, returns `ALREADY_EXISTS`.\nIf the corresponding topic doesn't exist, returns `NOT_FOUND`.\n\nIf the name is not provided in the request, the server will assign a random\nname for this subscription on the same project as the topic, conforming\nto the\n[resource name format](https://cloud.google.com/pubsub/docs/overview#names).\nThe generated name is populated in the returned Subscription object.\nNote that for REST API requests, you must specify a name in the request.", + "httpMethod": "PUT", "parameterOrder": [ - "topic" + "name" ], - "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "parameters": { - "topic": { - "location": "path", - "description": "Name of the topic to delete.\nFormat is `projects/{project}/topics/{topic}`.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/topics/[^/]+$" - } + "response": { + "$ref": "Subscription" } }, - "list": { - "description": "Lists matching topics.", - "response": { - "$ref": "ListTopicsResponse" - }, - "parameterOrder": [ - "project" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "parameters": { - "pageToken": { - "location": "query", - "description": "The value returned by the last `ListTopicsResponse`; indicates that this is\na continuation of a prior `ListTopics` call, and that the system should\nreturn the next page of data.", - "type": "string" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "Maximum number of topics to return.", - "type": "integer" - }, - "project": { - "location": "path", - "description": "The name of the cloud project that topics belong to.\nFormat is `projects/{project}`.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$" - } - }, - "flatPath": "v1/projects/{projectsId}/topics", - "id": "pubsub.projects.topics.list", - "path": "v1/{+project}/topics" - }, "setIamPolicy": { "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -168,15 +134,15 @@ ], "parameters": { "resource": { + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path", "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", "type": "string", - "required": true, - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path" + "required": true } }, - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:setIamPolicy", - "id": "pubsub.projects.topics.setIamPolicy", + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:setIamPolicy", + "id": "pubsub.projects.subscriptions.setIamPolicy", "path": "v1/{+resource}:setIamPolicy", "request": { "$ref": "SetIamPolicyRequest" @@ -190,380 +156,33 @@ ], "httpMethod": "POST" }, - "create": { - "httpMethod": "PUT", - "parameterOrder": [ - "name" + "getIamPolicy": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" ], - "response": { - "$ref": "Topic" - }, "parameters": { - "name": { - "pattern": "^projects/[^/]+/topics/[^/]+$", + "resource": { + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", "location": "path", - "description": "The name of the topic. It must have the format\n`\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter,\nand contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),\nunderscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent\nsigns (`%`). It must be between 3 and 255 characters in length, and it\nmust not start with `\"goog\"`.", + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", "type": "string", "required": true } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", - "path": "v1/{+name}", - "id": "pubsub.projects.topics.create", - "description": "Creates the given topic with the given name.", - "request": { - "$ref": "Topic" - } - }, - "getIamPolicy": { - "httpMethod": "GET", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:getIamPolicy", - "path": "v1/{+resource}:getIamPolicy", - "id": "pubsub.projects.topics.getIamPolicy", - "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset." - } - }, - "resources": { - "subscriptions": { - "methods": { - "list": { - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "parameters": { - "pageToken": { - "location": "query", - "description": "The value returned by the last `ListTopicSubscriptionsResponse`; indicates\nthat this is a continuation of a prior `ListTopicSubscriptions` call, and\nthat the system should return the next page of data.", - "type": "string" - }, - "pageSize": { - "format": "int32", - "description": "Maximum number of subscription names to return.", - "type": "integer", - "location": "query" - }, - "topic": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "description": "The name of the topic that subscriptions are attached to.\nFormat is `projects/{project}/topics/{topic}`." - } - }, - "flatPath": "v1/projects/{projectsId}/topics/{topicsId}/subscriptions", - "id": "pubsub.projects.topics.subscriptions.list", - "path": "v1/{+topic}/subscriptions", - "description": "Lists the name of the subscriptions for this topic.", - "parameterOrder": [ - "topic" - ], - "response": { - "$ref": "ListTopicSubscriptionsResponse" - }, - "httpMethod": "GET" - } - } - } - } - }, - "snapshots": { - "methods": { - "testIamPermissions": { - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "parameters": { - "resource": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/snapshots/[^/]+$", - "location": "path", - "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field." - } - }, - "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:testIamPermissions", - "id": "pubsub.projects.snapshots.testIamPermissions", - "path": "v1/{+resource}:testIamPermissions" - }, - "getIamPolicy": { - "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", - "response": { - "$ref": "Policy" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/snapshots/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:getIamPolicy", - "id": "pubsub.projects.snapshots.getIamPolicy", - "path": "v1/{+resource}:getIamPolicy" - }, - "setIamPolicy": { - "request": { - "$ref": "SetIamPolicyRequest" - }, - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", - "response": { - "$ref": "Policy" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/snapshots/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:setIamPolicy", - "id": "pubsub.projects.snapshots.setIamPolicy", - "path": "v1/{+resource}:setIamPolicy" - } - } - }, - "subscriptions": { - "methods": { - "delete": { - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}", - "id": "pubsub.projects.subscriptions.delete", - "path": "v1/{+subscription}", - "description": "Deletes an existing subscription. All messages retained in the subscription\nare immediately dropped. Calls to `Pull` after deletion will return\n`NOT_FOUND`. After a subscription is deleted, a new one may be created with\nthe same name, but the new one has no association with the old\nsubscription or its topic unless the same topic is specified.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "subscription" - ], - "httpMethod": "DELETE", - "parameters": { - "subscription": { - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path", - "description": "The subscription to delete.\nFormat is `projects/{project}/subscriptions/{sub}`.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ] - }, - "pull": { - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:pull", - "id": "pubsub.projects.subscriptions.pull", - "path": "v1/{+subscription}:pull", - "description": "Pulls messages from the server. Returns an empty list if there are no\nmessages available in the backlog. The server may return `UNAVAILABLE` if\nthere are too many concurrent pull requests pending for the given\nsubscription.", - "request": { - "$ref": "PullRequest" - }, - "response": { - "$ref": "PullResponse" - }, - "parameterOrder": [ - "subscription" - ], - "httpMethod": "POST", - "parameters": { - "subscription": { - "location": "path", - "description": "The subscription from which messages should be pulled.\nFormat is `projects/{project}/subscriptions/{sub}`.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/subscriptions/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ] - }, - "list": { - "parameters": { - "project": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path", - "description": "The name of the cloud project that subscriptions belong to.\nFormat is `projects/{project}`." - }, - "pageToken": { - "location": "query", - "description": "The value returned by the last `ListSubscriptionsResponse`; indicates that\nthis is a continuation of a prior `ListSubscriptions` call, and that the\nsystem should return the next page of data.", - "type": "string" - }, - "pageSize": { - "format": "int32", - "description": "Maximum number of subscriptions to return.", - "type": "integer", - "location": "query" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "flatPath": "v1/projects/{projectsId}/subscriptions", - "id": "pubsub.projects.subscriptions.list", - "path": "v1/{+project}/subscriptions", - "description": "Lists matching subscriptions.", - "response": { - "$ref": "ListSubscriptionsResponse" - }, - "parameterOrder": [ - "project" - ], - "httpMethod": "GET" - }, - "setIamPolicy": { - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:setIamPolicy", - "path": "v1/{+resource}:setIamPolicy", - "id": "pubsub.projects.subscriptions.setIamPolicy", - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", - "request": { - "$ref": "SetIamPolicyRequest" - }, - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "Policy" - }, - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ] - }, - "create": { - "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}", - "id": "pubsub.projects.subscriptions.create", - "path": "v1/{+name}", - "description": "Creates a subscription to a given topic.\nIf the subscription already exists, returns `ALREADY_EXISTS`.\nIf the corresponding topic doesn't exist, returns `NOT_FOUND`.\n\nIf the name is not provided in the request, the server will assign a random\nname for this subscription on the same project as the topic, conforming\nto the\n[resource name format](https://cloud.google.com/pubsub/docs/overview#names).\nThe generated name is populated in the returned Subscription object.\nNote that for REST API requests, you must specify a name in the request.", - "request": { - "$ref": "Subscription" - }, - "response": { - "$ref": "Subscription" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "PUT", - "parameters": { - "name": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path", - "description": "The name of the subscription. It must have the format\n`\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must\nstart with a letter, and contain only letters (`[A-Za-z]`), numbers\n(`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),\nplus (`+`) or percent signs (`%`). It must be between 3 and 255 characters\nin length, and it must not start with `\"goog\"`." - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ] - }, - "getIamPolicy": { - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:getIamPolicy", - "path": "v1/{+resource}:getIamPolicy", "id": "pubsub.projects.subscriptions.getIamPolicy", + "path": "v1/{+resource}:getIamPolicy", "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", - "httpMethod": "GET", "parameterOrder": [ "resource" ], + "httpMethod": "GET", "response": { "$ref": "Policy" } }, "modifyAckDeadline": { - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "subscription" - ], - "httpMethod": "POST", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" @@ -583,45 +202,52 @@ "request": { "$ref": "ModifyAckDeadlineRequest" }, - "description": "Modifies the ack deadline for a specific message. This method is useful\nto indicate that more time is needed to process a message by the\nsubscriber, or to make the message available for redelivery if the\nprocessing was interrupted. Note that this does not modify the\nsubscription-level `ackDeadlineSeconds` used for subsequent messages." - }, - "acknowledge": { - "request": { - "$ref": "AcknowledgeRequest" - }, - "description": "Acknowledges the messages associated with the `ack_ids` in the\n`AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages\nfrom the subscription.\n\nAcknowledging a message whose ack deadline has expired may succeed,\nbut such a message may be redelivered later. Acknowledging a message more\nthan once will not result in an error.", - "httpMethod": "POST", - "parameterOrder": [ - "subscription" - ], + "description": "Modifies the ack deadline for a specific message. This method is useful\nto indicate that more time is needed to process a message by the\nsubscriber, or to make the message available for redelivery if the\nprocessing was interrupted. Note that this does not modify the\nsubscription-level `ackDeadlineSeconds` used for subsequent messages.", "response": { "$ref": "Empty" }, + "parameterOrder": [ + "subscription" + ], + "httpMethod": "POST" + }, + "acknowledge": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "subscription" + ], + "httpMethod": "POST", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], "parameters": { "subscription": { + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path", "description": "The subscription whose message is being acknowledged.\nFormat is `projects/{project}/subscriptions/{sub}`.", "type": "string", - "required": true, - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path" + "required": true } }, "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:acknowledge", + "id": "pubsub.projects.subscriptions.acknowledge", "path": "v1/{+subscription}:acknowledge", - "id": "pubsub.projects.subscriptions.acknowledge" + "request": { + "$ref": "AcknowledgeRequest" + }, + "description": "Acknowledges the messages associated with the `ack_ids` in the\n`AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages\nfrom the subscription.\n\nAcknowledging a message whose ack deadline has expired may succeed,\nbut such a message may be redelivered later. Acknowledging a message more\nthan once will not result in an error." }, "get": { - "httpMethod": "GET", - "parameterOrder": [ - "subscription" - ], "response": { "$ref": "Subscription" }, + "parameterOrder": [ + "subscription" + ], + "httpMethod": "GET", "parameters": { "subscription": { "description": "The name of the subscription to get.\nFormat is `projects/{project}/subscriptions/{sub}`.", @@ -636,18 +262,26 @@ "https://www.googleapis.com/auth/pubsub" ], "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}", - "path": "v1/{+subscription}", "id": "pubsub.projects.subscriptions.get", + "path": "v1/{+subscription}", "description": "Gets the configuration details of a subscription." }, "testIamPermissions": { - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "response": { "$ref": "TestIamPermissionsResponse" }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], "parameters": { "resource": { "pattern": "^projects/[^/]+/subscriptions/[^/]+$", @@ -657,17 +291,9 @@ "required": true } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:testIamPermissions", - "path": "v1/{+resource}:testIamPermissions", "id": "pubsub.projects.subscriptions.testIamPermissions", - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", - "request": { - "$ref": "TestIamPermissionsRequest" - } + "path": "v1/{+resource}:testIamPermissions" }, "modifyPushConfig": { "scopes": [ @@ -676,26 +302,396 @@ ], "parameters": { "subscription": { + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path", "description": "The name of the subscription.\nFormat is `projects/{project}/subscriptions/{sub}`.", "type": "string", - "required": true, - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path" + "required": true } }, "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyPushConfig", - "path": "v1/{+subscription}:modifyPushConfig", "id": "pubsub.projects.subscriptions.modifyPushConfig", + "path": "v1/{+subscription}:modifyPushConfig", "request": { "$ref": "ModifyPushConfigRequest" }, "description": "Modifies the `PushConfig` for a specified subscription.\n\nThis may be used to change a push subscription to a pull one (signified by\nan empty `PushConfig`) or vice versa, or change the endpoint URL and other\nattributes of a push subscription. Messages will accumulate for delivery\ncontinuously through the call regardless of changes to the `PushConfig`.", - "httpMethod": "POST", + "response": { + "$ref": "Empty" + }, "parameterOrder": [ "subscription" ], + "httpMethod": "POST" + }, + "delete": { + "path": "v1/{+subscription}", + "id": "pubsub.projects.subscriptions.delete", + "description": "Deletes an existing subscription. All messages retained in the subscription\nare immediately dropped. Calls to `Pull` after deletion will return\n`NOT_FOUND`. After a subscription is deleted, a new one may be created with\nthe same name, but the new one has no association with the old\nsubscription or its topic unless the same topic is specified.", + "httpMethod": "DELETE", "response": { "$ref": "Empty" + }, + "parameterOrder": [ + "subscription" + ], + "parameters": { + "subscription": { + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path", + "description": "The subscription to delete.\nFormat is `projects/{project}/subscriptions/{sub}`.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}" + }, + "pull": { + "parameters": { + "subscription": { + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path", + "description": "The subscription from which messages should be pulled.\nFormat is `projects/{project}/subscriptions/{sub}`.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:pull", + "id": "pubsub.projects.subscriptions.pull", + "path": "v1/{+subscription}:pull", + "description": "Pulls messages from the server. Returns an empty list if there are no\nmessages available in the backlog. The server may return `UNAVAILABLE` if\nthere are too many concurrent pull requests pending for the given\nsubscription.", + "request": { + "$ref": "PullRequest" + }, + "response": { + "$ref": "PullResponse" + }, + "parameterOrder": [ + "subscription" + ], + "httpMethod": "POST" + }, + "list": { + "path": "v1/{+project}/subscriptions", + "id": "pubsub.projects.subscriptions.list", + "description": "Lists matching subscriptions.", + "httpMethod": "GET", + "response": { + "$ref": "ListSubscriptionsResponse" + }, + "parameterOrder": [ + "project" + ], + "parameters": { + "pageToken": { + "description": "The value returned by the last `ListSubscriptionsResponse`; indicates that\nthis is a continuation of a prior `ListSubscriptions` call, and that the\nsystem should return the next page of data.", + "type": "string", + "location": "query" + }, + "pageSize": { + "format": "int32", + "description": "Maximum number of subscriptions to return.", + "type": "integer", + "location": "query" + }, + "project": { + "pattern": "^projects/[^/]+$", + "location": "path", + "description": "The name of the cloud project that subscriptions belong to.\nFormat is `projects/{project}`.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1/projects/{projectsId}/subscriptions" + } + } + }, + "topics": { + "methods": { + "create": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "parameters": { + "name": { + "description": "The name of the topic. It must have the format\n`\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter,\nand contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),\nunderscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent\nsigns (`%`). It must be between 3 and 255 characters in length, and it\nmust not start with `\"goog\"`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", + "path": "v1/{+name}", + "id": "pubsub.projects.topics.create", + "request": { + "$ref": "Topic" + }, + "description": "Creates the given topic with the given name.", + "httpMethod": "PUT", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Topic" + } + }, + "setIamPolicy": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "parameters": { + "resource": { + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:setIamPolicy", + "path": "v1/{+resource}:setIamPolicy", + "id": "pubsub.projects.topics.setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "Policy" + } + }, + "getIamPolicy": { + "path": "v1/{+resource}:getIamPolicy", + "id": "pubsub.projects.topics.getIamPolicy", + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", + "httpMethod": "GET", + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "parameters": { + "resource": { + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:getIamPolicy" + }, + "get": { + "parameters": { + "topic": { + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path", + "description": "The name of the topic to get.\nFormat is `projects/{project}/topics/{topic}`.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", + "path": "v1/{+topic}", + "id": "pubsub.projects.topics.get", + "description": "Gets the configuration of a topic.", + "httpMethod": "GET", + "parameterOrder": [ + "topic" + ], + "response": { + "$ref": "Topic" + } + }, + "publish": { + "response": { + "$ref": "PublishResponse" + }, + "parameterOrder": [ + "topic" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "parameters": { + "topic": { + "description": "The messages in the request will be published on this topic.\nFormat is `projects/{project}/topics/{topic}`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:publish", + "id": "pubsub.projects.topics.publish", + "path": "v1/{+topic}:publish", + "request": { + "$ref": "PublishRequest" + }, + "description": "Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic\ndoes not exist. The message payload must not be empty; it must contain\n either a non-empty data field, or at least one attribute." + }, + "testIamPermissions": { + "path": "v1/{+resource}:testIamPermissions", + "id": "pubsub.projects.topics.testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "parameters": { + "resource": { + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:testIamPermissions" + }, + "delete": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "parameters": { + "topic": { + "description": "Name of the topic to delete.\nFormat is `projects/{project}/topics/{topic}`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}", + "path": "v1/{+topic}", + "id": "pubsub.projects.topics.delete", + "description": "Deletes the topic with the given name. Returns `NOT_FOUND` if the topic\ndoes not exist. After a topic is deleted, a new topic may be created with\nthe same name; this is an entirely new topic with none of the old\nconfiguration or subscriptions. Existing subscriptions to this topic are\nnot deleted, but their `topic` field is set to `_deleted-topic_`.", + "httpMethod": "DELETE", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "topic" + ] + }, + "list": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "parameters": { + "pageToken": { + "location": "query", + "description": "The value returned by the last `ListTopicsResponse`; indicates that this is\na continuation of a prior `ListTopics` call, and that the system should\nreturn the next page of data.", + "type": "string" + }, + "pageSize": { + "format": "int32", + "description": "Maximum number of topics to return.", + "type": "integer", + "location": "query" + }, + "project": { + "description": "The name of the cloud project that topics belong to.\nFormat is `projects/{project}`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/topics", + "path": "v1/{+project}/topics", + "id": "pubsub.projects.topics.list", + "description": "Lists matching topics.", + "httpMethod": "GET", + "response": { + "$ref": "ListTopicsResponse" + }, + "parameterOrder": [ + "project" + ] + } + }, + "resources": { + "subscriptions": { + "methods": { + "list": { + "description": "Lists the name of the subscriptions for this topic.", + "response": { + "$ref": "ListTopicSubscriptionsResponse" + }, + "parameterOrder": [ + "topic" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "parameters": { + "pageToken": { + "description": "The value returned by the last `ListTopicSubscriptionsResponse`; indicates\nthat this is a continuation of a prior `ListTopicSubscriptions` call, and\nthat the system should return the next page of data.", + "type": "string", + "location": "query" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Maximum number of subscription names to return.", + "type": "integer" + }, + "topic": { + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path", + "description": "The name of the topic that subscriptions are attached to.\nFormat is `projects/{project}/topics/{topic}`.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectsId}/topics/{topicsId}/subscriptions", + "id": "pubsub.projects.topics.subscriptions.list", + "path": "v1/{+topic}/subscriptions" + } } } } @@ -704,18 +700,34 @@ } }, "parameters": { - "uploadType": { - "location": "query", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string" - }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", + "bearer_token": { + "description": "OAuth bearer token.", "type": "string", "location": "query" }, - "callback": { - "description": "JSONP", + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", + "location": "query" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string", + "location": "query" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" + }, + "fields": { + "location": "query", + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", "type": "string", "location": "query" }, @@ -732,13 +744,12 @@ "description": "V1 error format.", "type": "string" }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, "alt": { - "enum": [ - "json", - "media", - "proto" - ], - "type": "string", "enumDescriptions": [ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", @@ -746,7 +757,13 @@ ], "location": "query", "description": "Data format for response.", - "default": "json" + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "type": "string" }, "access_token": { "location": "query", @@ -754,296 +771,23 @@ "type": "string" }, "key": { + "location": "query", "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", "type": "string", "location": "query" }, - "quotaUser": { - "type": "string", - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters." - }, "pp": { - "location": "query", "description": "Pretty-print response.", "default": "true", - "type": "boolean" - }, - "oauth_token": { - "location": "query", - "description": "OAuth 2.0 token for the current user.", - "type": "string" - }, - "bearer_token": { - "location": "query", - "description": "OAuth bearer token.", - "type": "string" - }, - "upload_protocol": { - "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string" - }, - "prettyPrint": { - "description": "Returns response with indentations and line breaks.", - "default": "true", "type": "boolean", "location": "query" } }, "schemas": { - "ListTopicsResponse": { - "type": "object", - "properties": { - "nextPageToken": { - "description": "If not empty, indicates that there may be more topics that match the\nrequest; this value should be passed in a new `ListTopicsRequest`.", - "type": "string" - }, - "topics": { - "description": "The resulting topics.", - "items": { - "$ref": "Topic" - }, - "type": "array" - } - }, - "id": "ListTopicsResponse", - "description": "Response for the `ListTopics` method." - }, - "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", - "type": "object", - "properties": {}, - "id": "Empty" - }, - "AcknowledgeRequest": { - "type": "object", - "properties": { - "ackIds": { - "description": "The acknowledgment ID for the messages being acknowledged that was returned\nby the Pub/Sub system in the `Pull` response. Must not be empty.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "AcknowledgeRequest", - "description": "Request for the Acknowledge method." - }, - "ListTopicSubscriptionsResponse": { - "description": "Response for the `ListTopicSubscriptions` method.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "If not empty, indicates that there may be more subscriptions that match\nthe request; this value should be passed in a new\n`ListTopicSubscriptionsRequest` to get more subscriptions.", - "type": "string" - }, - "subscriptions": { - "description": "The names of the subscriptions that match the request.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "ListTopicSubscriptionsResponse" - }, - "PullResponse": { - "description": "Response for the `Pull` method.", - "type": "object", - "properties": { - "receivedMessages": { - "description": "Received Pub/Sub messages. The Pub/Sub system will return zero messages if\nthere are no more available in the backlog. The Pub/Sub system may return\nfewer than the `maxMessages` requested even if there are more messages\navailable in the backlog.", - "items": { - "$ref": "ReceivedMessage" - }, - "type": "array" - } - }, - "id": "PullResponse" - }, - "ReceivedMessage": { - "properties": { - "message": { - "description": "The message.", - "$ref": "PubsubMessage" - }, - "ackId": { - "description": "This ID can be used to acknowledge the received message.", - "type": "string" - } - }, - "id": "ReceivedMessage", - "description": "A message and its corresponding acknowledgment ID.", - "type": "object" - }, - "PushConfig": { - "properties": { - "attributes": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Endpoint configuration attributes.\n\nEvery endpoint has a set of API supported attributes that can be used to\ncontrol different aspects of the message delivery.\n\nThe currently supported attribute is `x-goog-version`, which you can\nuse to change the format of the pushed message. This attribute\nindicates the version of the data expected by the endpoint. This\ncontrols the shape of the pushed message (i.e., its fields and metadata).\nThe endpoint version is based on the version of the Pub/Sub API.\n\nIf not present during the `CreateSubscription` call, it will default to\nthe version of the API used to make such call. If not present during a\n`ModifyPushConfig` call, its value will not be changed. `GetSubscription`\ncalls will always return a valid version, even if the subscription was\ncreated without this attribute.\n\nThe possible values for this attribute are:\n\n* `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.\n* `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API." - }, - "pushEndpoint": { - "description": "A URL locating the endpoint to which messages should be pushed.\nFor example, a Webhook endpoint might use \"https://example.com/push\".", - "type": "string" - } - }, - "id": "PushConfig", - "description": "Configuration for a push delivery endpoint.", - "type": "object" - }, - "TestIamPermissionsResponse": { - "description": "Response message for `TestIamPermissions` method.", - "type": "object", - "properties": { - "permissions": { - "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "TestIamPermissionsResponse" - }, - "PullRequest": { - "description": "Request for the `Pull` method.", - "type": "object", - "properties": { - "returnImmediately": { - "description": "If this field set to true, the system will respond immediately even if\nit there are no messages available to return in the `Pull` response.\nOtherwise, the system may wait (for a bounded amount of time) until at\nleast one message is available, rather than returning no messages. The\nclient may cancel the request if it does not wish to wait any longer for\nthe response.", - "type": "boolean" - }, - "maxMessages": { - "format": "int32", - "description": "The maximum number of messages returned for this request. The Pub/Sub\nsystem may return fewer than the number specified.", - "type": "integer" - } - }, - "id": "PullRequest" - }, - "ListSubscriptionsResponse": { - "properties": { - "nextPageToken": { - "description": "If not empty, indicates that there may be more subscriptions that match\nthe request; this value should be passed in a new\n`ListSubscriptionsRequest` to get more subscriptions.", - "type": "string" - }, - "subscriptions": { - "items": { - "$ref": "Subscription" - }, - "type": "array", - "description": "The subscriptions that match the request." - } - }, - "id": "ListSubscriptionsResponse", - "description": "Response for the `ListSubscriptions` method.", - "type": "object" - }, - "PublishRequest": { - "type": "object", - "properties": { - "messages": { - "description": "The messages to publish.", - "items": { - "$ref": "PubsubMessage" - }, - "type": "array" - } - }, - "id": "PublishRequest", - "description": "Request for the Publish method." - }, - "PublishResponse": { - "description": "Response for the `Publish` method.", - "type": "object", - "properties": { - "messageIds": { - "description": "The server-assigned ID of each published message, in the same order as\nthe messages in the request. IDs are guaranteed to be unique within\nthe topic.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "PublishResponse" - }, - "Subscription": { - "properties": { - "ackDeadlineSeconds": { - "format": "int32", - "description": "This value is the maximum time after a subscriber receives a message\nbefore the subscriber should acknowledge the message. After message\ndelivery but before the ack deadline expires and before the message is\nacknowledged, it is an outstanding message and will not be delivered\nagain during that time (on a best-effort basis).\n\nFor pull subscriptions, this value is used as the initial value for the ack\ndeadline. To override this value for a given message, call\n`ModifyAckDeadline` with the corresponding `ack_id` if using\npull.\nThe minimum custom deadline you can specify is 10 seconds.\nThe maximum custom deadline you can specify is 600 seconds (10 minutes).\nIf this parameter is 0, a default value of 10 seconds is used.\n\nFor push delivery, this value is also used to set the request timeout for\nthe call to the push endpoint.\n\nIf the subscriber never acknowledges the message, the Pub/Sub\nsystem will eventually redeliver the message.", - "type": "integer" - }, - "name": { - "description": "The name of the subscription. It must have the format\n`\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must\nstart with a letter, and contain only letters (`[A-Za-z]`), numbers\n(`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),\nplus (`+`) or percent signs (`%`). It must be between 3 and 255 characters\nin length, and it must not start with `\"goog\"`.", - "type": "string" - }, - "topic": { - "type": "string", - "description": "The name of the topic from which this subscription is receiving messages.\nFormat is `projects/{project}/topics/{topic}`.\nThe value of this field will be `_deleted-topic_` if the topic has been\ndeleted." - }, - "pushConfig": { - "description": "If push delivery is used with this subscription, this field is\nused to configure it. An empty `pushConfig` signifies that the subscriber\nwill pull and ack messages using API methods.", - "$ref": "PushConfig" - } - }, - "id": "Subscription", - "description": "A subscription resource.", - "type": "object" - }, - "TestIamPermissionsRequest": { - "description": "Request message for `TestIamPermissions` method.", - "type": "object", - "properties": { - "permissions": { - "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "TestIamPermissionsRequest" - }, - "Policy": { - "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam).", - "type": "object", - "properties": { - "etag": { - "format": "byte", - "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.", - "type": "string" - }, - "version": { - "format": "int32", - "description": "Version of the `Policy`. The default version is 0.", - "type": "integer" - }, - "bindings": { - "description": "Associates a list of `members` to a `role`.\n`bindings` with no members will result in an error.", - "items": { - "$ref": "Binding" - }, - "type": "array" - } - }, - "id": "Policy" - }, - "Topic": { - "description": "A topic resource.", - "type": "object", - "properties": { - "name": { - "description": "The name of the topic. It must have the format\n`\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter,\nand contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),\nunderscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent\nsigns (`%`). It must be between 3 and 255 characters in length, and it\nmust not start with `\"goog\"`.", - "type": "string" - } - }, - "id": "Topic" - }, "ModifyAckDeadlineRequest": { "description": "Request for the ModifyAckDeadline method.", "type": "object", @@ -1054,11 +798,11 @@ "type": "integer" }, "ackIds": { + "description": "List of acknowledgment IDs.", "items": { "type": "string" }, - "type": "array", - "description": "List of acknowledgment IDs." + "type": "array" } }, "id": "ModifyAckDeadlineRequest" @@ -1078,6 +822,11 @@ "description": "A message data and its attributes. The message payload must not be empty;\nit must contain either a non-empty data field, or at least one attribute.", "type": "object", "properties": { + "publishTime": { + "format": "google-datetime", + "description": "The time at which the message was published, populated by the server when\nit receives the `Publish` call. It must not be populated by the\npublisher in a `Publish` call.", + "type": "string" + }, "data": { "format": "byte", "description": "The message payload.", @@ -1093,43 +842,290 @@ }, "description": "Optional attributes for this message.", "type": "object" - }, - "publishTime": { - "format": "google-datetime", - "description": "The time at which the message was published, populated by the server when\nit receives the `Publish` call. It must not be populated by the\npublisher in a `Publish` call.", - "type": "string" } }, "id": "PubsubMessage" }, "ModifyPushConfigRequest": { + "id": "ModifyPushConfigRequest", "description": "Request for the ModifyPushConfig method.", "type": "object", "properties": { "pushConfig": { - "description": "The push configuration for future deliveries.\n\nAn empty `pushConfig` indicates that the Pub/Sub system should\nstop pushing messages from the given subscription and allow\nmessages to be pulled and acknowledged - effectively pausing\nthe subscription if `Pull` is not called.", - "$ref": "PushConfig" + "$ref": "PushConfig", + "description": "The push configuration for future deliveries.\n\nAn empty `pushConfig` indicates that the Pub/Sub system should\nstop pushing messages from the given subscription and allow\nmessages to be pulled and acknowledged - effectively pausing\nthe subscription if `Pull` or `StreamingPull` is not called." } - }, - "id": "ModifyPushConfigRequest" + } }, "Binding": { + "id": "Binding", "description": "Associates `members` with a `role`.", "type": "object", "properties": { - "role": { - "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired", - "type": "string" - }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@gmail.com` or `joe@example.com`.\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n\n* `domain:{domain}`: A Google Apps domain name that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", "items": { "type": "string" }, "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired", + "type": "string" + } + } + }, + "AcknowledgeRequest": { + "description": "Request for the Acknowledge method.", + "type": "object", + "properties": { + "ackIds": { + "description": "The acknowledgment ID for the messages being acknowledged that was returned\nby the Pub/Sub system in the `Pull` response. Must not be empty.", + "items": { + "type": "string" + }, + "type": "array" } }, - "id": "Binding" + "id": "AcknowledgeRequest" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object", + "properties": {}, + "id": "Empty" + }, + "ListTopicsResponse": { + "description": "Response for the `ListTopics` method.", + "type": "object", + "properties": { + "topics": { + "description": "The resulting topics.", + "items": { + "$ref": "Topic" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If not empty, indicates that there may be more topics that match the\nrequest; this value should be passed in a new `ListTopicsRequest`.", + "type": "string" + } + }, + "id": "ListTopicsResponse" + }, + "ListTopicSubscriptionsResponse": { + "description": "Response for the `ListTopicSubscriptions` method.", + "type": "object", + "properties": { + "subscriptions": { + "description": "The names of the subscriptions that match the request.", + "items": { + "type": "string" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If not empty, indicates that there may be more subscriptions that match\nthe request; this value should be passed in a new\n`ListTopicSubscriptionsRequest` to get more subscriptions.", + "type": "string" + } + }, + "id": "ListTopicSubscriptionsResponse" + }, + "PullResponse": { + "description": "Response for the `Pull` method.", + "type": "object", + "properties": { + "receivedMessages": { + "description": "Received Pub/Sub messages. The Pub/Sub system will return zero messages if\nthere are no more available in the backlog. The Pub/Sub system may return\nfewer than the `maxMessages` requested even if there are more messages\navailable in the backlog.", + "items": { + "$ref": "ReceivedMessage" + }, + "type": "array" + } + }, + "id": "PullResponse" + }, + "ReceivedMessage": { + "id": "ReceivedMessage", + "description": "A message and its corresponding acknowledgment ID.", + "type": "object", + "properties": { + "message": { + "description": "The message.", + "$ref": "PubsubMessage" + }, + "ackId": { + "description": "This ID can be used to acknowledge the received message.", + "type": "string" + } + } + }, + "PushConfig": { + "id": "PushConfig", + "description": "Configuration for a push delivery endpoint.", + "type": "object", + "properties": { + "attributes": { + "additionalProperties": { + "type": "string" + }, + "description": "Endpoint configuration attributes.\n\nEvery endpoint has a set of API supported attributes that can be used to\ncontrol different aspects of the message delivery.\n\nThe currently supported attribute is `x-goog-version`, which you can\nuse to change the format of the pushed message. This attribute\nindicates the version of the data expected by the endpoint. This\ncontrols the shape of the pushed message (i.e., its fields and metadata).\nThe endpoint version is based on the version of the Pub/Sub API.\n\nIf not present during the `CreateSubscription` call, it will default to\nthe version of the API used to make such call. If not present during a\n`ModifyPushConfig` call, its value will not be changed. `GetSubscription`\ncalls will always return a valid version, even if the subscription was\ncreated without this attribute.\n\nThe possible values for this attribute are:\n\n* `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.\n* `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.", + "type": "object" + }, + "pushEndpoint": { + "description": "A URL locating the endpoint to which messages should be pushed.\nFor example, a Webhook endpoint might use \"https://example.com/push\".", + "type": "string" + } + } + }, + "TestIamPermissionsResponse": { + "id": "TestIamPermissionsResponse", + "description": "Response message for `TestIamPermissions` method.", + "type": "object", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "PullRequest": { + "description": "Request for the `Pull` method.", + "type": "object", + "properties": { + "maxMessages": { + "format": "int32", + "description": "The maximum number of messages returned for this request. The Pub/Sub\nsystem may return fewer than the number specified.", + "type": "integer" + }, + "returnImmediately": { + "description": "If this field set to true, the system will respond immediately even if\nit there are no messages available to return in the `Pull` response.\nOtherwise, the system may wait (for a bounded amount of time) until at\nleast one message is available, rather than returning no messages. The\nclient may cancel the request if it does not wish to wait any longer for\nthe response.", + "type": "boolean" + } + }, + "id": "PullRequest" + }, + "ListSubscriptionsResponse": { + "id": "ListSubscriptionsResponse", + "description": "Response for the `ListSubscriptions` method.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "If not empty, indicates that there may be more subscriptions that match\nthe request; this value should be passed in a new\n`ListSubscriptionsRequest` to get more subscriptions.", + "type": "string" + }, + "subscriptions": { + "description": "The subscriptions that match the request.", + "items": { + "$ref": "Subscription" + }, + "type": "array" + } + } + }, + "PublishRequest": { + "id": "PublishRequest", + "description": "Request for the Publish method.", + "type": "object", + "properties": { + "messages": { + "description": "The messages to publish.", + "items": { + "$ref": "PubsubMessage" + }, + "type": "array" + } + } + }, + "PublishResponse": { + "description": "Response for the `Publish` method.", + "type": "object", + "properties": { + "messageIds": { + "description": "The server-assigned ID of each published message, in the same order as\nthe messages in the request. IDs are guaranteed to be unique within\nthe topic.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "PublishResponse" + }, + "Subscription": { + "id": "Subscription", + "description": "A subscription resource.", + "type": "object", + "properties": { + "name": { + "description": "The name of the subscription. It must have the format\n`\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must\nstart with a letter, and contain only letters (`[A-Za-z]`), numbers\n(`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),\nplus (`+`) or percent signs (`%`). It must be between 3 and 255 characters\nin length, and it must not start with `\"goog\"`.", + "type": "string" + }, + "topic": { + "description": "The name of the topic from which this subscription is receiving messages.\nFormat is `projects/{project}/topics/{topic}`.\nThe value of this field will be `_deleted-topic_` if the topic has been\ndeleted.", + "type": "string" + }, + "pushConfig": { + "$ref": "PushConfig", + "description": "If push delivery is used with this subscription, this field is\nused to configure it. An empty `pushConfig` signifies that the subscriber\nwill pull and ack messages using API methods." + }, + "ackDeadlineSeconds": { + "format": "int32", + "description": "This value is the maximum time after a subscriber receives a message\nbefore the subscriber should acknowledge the message. After message\ndelivery but before the ack deadline expires and before the message is\nacknowledged, it is an outstanding message and will not be delivered\nagain during that time (on a best-effort basis).\n\nFor pull subscriptions, this value is used as the initial value for the ack\ndeadline. To override this value for a given message, call\n`ModifyAckDeadline` with the corresponding `ack_id` if using\nnon-streaming pull or send the `ack_id` in a\n`StreamingModifyAckDeadlineRequest` if using streaming pull.\nThe minimum custom deadline you can specify is 10 seconds.\nThe maximum custom deadline you can specify is 600 seconds (10 minutes).\nIf this parameter is 0, a default value of 10 seconds is used.\n\nFor push delivery, this value is also used to set the request timeout for\nthe call to the push endpoint.\n\nIf the subscriber never acknowledges the message, the Pub/Sub\nsystem will eventually redeliver the message.", + "type": "integer" + } + } + }, + "TestIamPermissionsRequest": { + "id": "TestIamPermissionsRequest", + "description": "Request message for `TestIamPermissions` method.", + "type": "object", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "Policy": { + "id": "Policy", + "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam).", + "type": "object", + "properties": { + "version": { + "format": "int32", + "description": "Version of the `Policy`. The default version is 0.", + "type": "integer" + }, + "bindings": { + "description": "Associates a list of `members` to a `role`.\n`bindings` with no members will result in an error.", + "items": { + "$ref": "Binding" + }, + "type": "array" + }, + "etag": { + "format": "byte", + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.", + "type": "string" + } + } + }, + "Topic": { + "id": "Topic", + "description": "A topic resource.", + "type": "object", + "properties": { + "name": { + "description": "The name of the topic. It must have the format\n`\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter,\nand contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),\nunderscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent\nsigns (`%`). It must be between 3 and 255 characters in length, and it\nmust not start with `\"goog\"`.", + "type": "string" + } + } } }, "protocol": "rest", @@ -1152,8 +1148,12 @@ } } }, - "kind": "discovery#restDescription", "description": "Provides reliable, many-to-many, asynchronous messaging between applications.\n", "servicePath": "", - "rootUrl": "https://pubsub.googleapis.com/" + "kind": "discovery#restDescription", + "rootUrl": "https://pubsub.googleapis.com/", + "basePath": "", + "ownerDomain": "google.com", + "name": "pubsub", + "batchPath": "batch" } diff --git a/vendor/google.golang.org/api/pubsub/v1/pubsub-gen.go b/vendor/google.golang.org/api/pubsub/v1/pubsub-gen.go index 3ca4a039a..55f9c132a 100644 --- a/vendor/google.golang.org/api/pubsub/v1/pubsub-gen.go +++ b/vendor/google.golang.org/api/pubsub/v1/pubsub-gen.go @@ -414,7 +414,7 @@ type ModifyPushConfigRequest struct { // An empty `pushConfig` indicates that the Pub/Sub system should // stop pushing messages from the given subscription and allow // messages to be pulled and acknowledged - effectively pausing - // the subscription if `Pull` is not called. + // the subscription if `Pull` or `StreamingPull` is not called. PushConfig *PushConfig `json:"pushConfig,omitempty"` // ForceSendFields is a list of field names (e.g. "PushConfig") to @@ -874,7 +874,9 @@ type Subscription struct { // call // `ModifyAckDeadline` with the corresponding `ack_id` if // using - // pull. + // non-streaming pull or send the `ack_id` in + // a + // `StreamingModifyAckDeadlineRequest` if using streaming pull. // The minimum custom deadline you can specify is 10 seconds. // The maximum custom deadline you can specify is 600 seconds (10 // minutes). diff --git a/vendor/google.golang.org/api/pubsub/v1beta1a/pubsub-api.json b/vendor/google.golang.org/api/pubsub/v1beta1a/pubsub-api.json index 62b39ddb0..91580d396 100644 --- a/vendor/google.golang.org/api/pubsub/v1beta1a/pubsub-api.json +++ b/vendor/google.golang.org/api/pubsub/v1beta1a/pubsub-api.json @@ -1,137 +1,32 @@ { - "version": "v1beta1a", - "baseUrl": "https://pubsub.googleapis.com/", - "canonicalName": "Pubsub", - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" - }, - "https://www.googleapis.com/auth/pubsub": { - "description": "View and manage Pub/Sub topics and subscriptions" - } - } - } - }, - "servicePath": "", - "description": "Provides reliable, many-to-many, asynchronous messaging between applications.\n", - "kind": "discovery#restDescription", - "rootUrl": "https://pubsub.googleapis.com/", - "basePath": "", - "ownerDomain": "google.com", - "name": "pubsub", "batchPath": "batch", - "id": "pubsub:v1beta1a", + "revision": "20170918", "documentationLink": "https://cloud.google.com/pubsub/docs", - "revision": "20170622", + "id": "pubsub:v1beta1a", "title": "Google Cloud Pub/Sub API", "discoveryVersion": "v1", "ownerName": "Google", "resources": { "subscriptions": { "methods": { - "acknowledge": { - "path": "v1beta1a/subscriptions/acknowledge", - "id": "pubsub.subscriptions.acknowledge", - "request": { - "$ref": "AcknowledgeRequest" - }, - "description": "Acknowledges a particular received message: the Pub/Sub system can remove\nthe given message from the subscription. Acknowledging a message whose\nAck deadline has expired may succeed, but the message could have been\nalready redelivered. Acknowledging a message more than once will not\nresult in an error. This is only used for messages received via pull.", - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "parameters": {}, - "flatPath": "v1beta1a/subscriptions/acknowledge" - }, - "modifyAckDeadline": { - "response": { - "$ref": "Empty" - }, - "parameterOrder": [], - "httpMethod": "POST", - "parameters": {}, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "flatPath": "v1beta1a/subscriptions/modifyAckDeadline", - "id": "pubsub.subscriptions.modifyAckDeadline", - "path": "v1beta1a/subscriptions/modifyAckDeadline", - "description": "Modifies the Ack deadline for a message received from a pull request.", - "request": { - "$ref": "ModifyAckDeadlineRequest" - } - }, - "pullBatch": { - "id": "pubsub.subscriptions.pullBatch", - "path": "v1beta1a/subscriptions/pullBatch", - "request": { - "$ref": "PullBatchRequest" - }, - "description": "Pulls messages from the server. Returns an empty list if there are no\nmessages available in the backlog. The system is free to return UNAVAILABLE\nif there are too many pull requests outstanding for the given subscription.", - "response": { - "$ref": "PullBatchResponse" - }, - "parameterOrder": [], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "parameters": {}, - "flatPath": "v1beta1a/subscriptions/pullBatch" - }, - "get": { - "path": "v1beta1a/subscriptions/{+subscription}", - "id": "pubsub.subscriptions.get", - "description": "Gets the configuration details of a subscription.", - "httpMethod": "GET", - "response": { - "$ref": "Subscription" - }, - "parameterOrder": [ - "subscription" - ], - "parameters": { - "subscription": { - "description": "The name of the subscription to get.", - "type": "string", - "required": true, - "pattern": "^.+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "flatPath": "v1beta1a/subscriptions/{subscriptionsId}" - }, "modifyPushConfig": { - "parameters": {}, + "response": { + "$ref": "Empty" + }, + "parameterOrder": [], + "httpMethod": "POST", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], + "parameters": {}, "flatPath": "v1beta1a/subscriptions/modifyPushConfig", - "path": "v1beta1a/subscriptions/modifyPushConfig", "id": "pubsub.subscriptions.modifyPushConfig", - "description": "Modifies the \u003ccode\u003ePushConfig\u003c/code\u003e for a specified subscription.\nThis method can be used to suspend the flow of messages to an endpoint\nby clearing the \u003ccode\u003ePushConfig\u003c/code\u003e field in the request. Messages\nwill be accumulated for delivery even if no push configuration is\ndefined or while the configuration is modified.", + "path": "v1beta1a/subscriptions/modifyPushConfig", "request": { "$ref": "ModifyPushConfigRequest" }, - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "Empty" - } + "description": "Modifies the \u003ccode\u003ePushConfig\u003c/code\u003e for a specified subscription.\nThis method can be used to suspend the flow of messages to an endpoint\nby clearing the \u003ccode\u003ePushConfig\u003c/code\u003e field in the request. Messages\nwill be accumulated for delivery even if no push configuration is\ndefined or while the configuration is modified." }, "pull": { "httpMethod": "POST", @@ -157,44 +52,48 @@ "id": "pubsub.subscriptions.delete", "description": "Deletes an existing subscription. All pending messages in the subscription\nare immediately dropped. Calls to Pull after deletion will return\nNOT_FOUND.", "httpMethod": "DELETE", - "response": { - "$ref": "Empty" - }, "parameterOrder": [ "subscription" ], + "response": { + "$ref": "Empty" + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], "parameters": { "subscription": { - "location": "path", "description": "The subscription to delete.", "type": "string", "required": true, - "pattern": "^.+$" + "pattern": "^.+$", + "location": "path" } }, "flatPath": "v1beta1a/subscriptions/{subscriptionsId}" }, "list": { + "httpMethod": "GET", + "parameterOrder": [], "response": { "$ref": "ListSubscriptionsResponse" }, - "parameterOrder": [], - "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], "parameters": { "pageToken": { - "location": "query", "description": "The value obtained in the last \u003ccode\u003eListSubscriptionsResponse\u003c/code\u003e\nfor continuation.", - "type": "string" + "type": "string", + "location": "query" }, "maxResults": { + "type": "integer", "location": "query", "format": "int32", - "description": "Maximum number of subscriptions to return.", - "type": "integer" + "description": "Maximum number of subscriptions to return." }, "query": { "description": "A valid label query expression.", @@ -202,13 +101,9 @@ "location": "query" } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], "flatPath": "v1beta1a/subscriptions", - "id": "pubsub.subscriptions.list", "path": "v1beta1a/subscriptions", + "id": "pubsub.subscriptions.list", "description": "Lists matching subscriptions." }, "create": { @@ -216,47 +111,153 @@ "$ref": "Subscription" }, "description": "Creates a subscription on a given topic for a given subscriber.\nIf the subscription already exists, returns ALREADY_EXISTS.\nIf the corresponding topic doesn't exist, returns NOT_FOUND.\n\nIf the name is not provided in the request, the server will assign a random\nname for this subscription on the same project as the topic.", - "httpMethod": "POST", - "parameterOrder": [], "response": { "$ref": "Subscription" }, + "parameterOrder": [], + "httpMethod": "POST", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], "parameters": {}, "flatPath": "v1beta1a/subscriptions", - "path": "v1beta1a/subscriptions", - "id": "pubsub.subscriptions.create" - } - } - }, - "topics": { - "methods": { - "publish": { - "httpMethod": "POST", - "parameterOrder": [], + "id": "pubsub.subscriptions.create", + "path": "v1beta1a/subscriptions" + }, + "acknowledge": { + "description": "Acknowledges a particular received message: the Pub/Sub system can remove\nthe given message from the subscription. Acknowledging a message whose\nAck deadline has expired may succeed, but the message could have been\nalready redelivered. Acknowledging a message more than once will not\nresult in an error. This is only used for messages received via pull.", + "request": { + "$ref": "AcknowledgeRequest" + }, "response": { "$ref": "Empty" }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1beta1a/subscriptions/acknowledge", + "id": "pubsub.subscriptions.acknowledge", + "path": "v1beta1a/subscriptions/acknowledge" + }, + "modifyAckDeadline": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1beta1a/subscriptions/modifyAckDeadline", + "id": "pubsub.subscriptions.modifyAckDeadline", + "path": "v1beta1a/subscriptions/modifyAckDeadline", + "description": "Modifies the Ack deadline for a message received from a pull request.", + "request": { + "$ref": "ModifyAckDeadlineRequest" + } + }, + "pullBatch": { "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], "parameters": {}, + "flatPath": "v1beta1a/subscriptions/pullBatch", + "id": "pubsub.subscriptions.pullBatch", + "path": "v1beta1a/subscriptions/pullBatch", + "request": { + "$ref": "PullBatchRequest" + }, + "description": "Pulls messages from the server. Returns an empty list if there are no\nmessages available in the backlog. The system is free to return UNAVAILABLE\nif there are too many pull requests outstanding for the given subscription.", + "response": { + "$ref": "PullBatchResponse" + }, + "parameterOrder": [], + "httpMethod": "POST" + }, + "get": { + "response": { + "$ref": "Subscription" + }, + "parameterOrder": [ + "subscription" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "parameters": { + "subscription": { + "pattern": "^.+$", + "location": "path", + "description": "The name of the subscription to get.", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta1a/subscriptions/{subscriptionsId}", + "id": "pubsub.subscriptions.get", + "path": "v1beta1a/subscriptions/{+subscription}", + "description": "Gets the configuration details of a subscription." + } + } + }, + "topics": { + "methods": { + "get": { + "flatPath": "v1beta1a/topics/{topicsId}", + "path": "v1beta1a/topics/{+topic}", + "id": "pubsub.topics.get", + "description": "Gets the configuration of a topic. Since the topic only has the name\nattribute, this method is only useful to check the existence of a topic.\nIf other attributes are added in the future, they will be returned here.", + "httpMethod": "GET", + "parameterOrder": [ + "topic" + ], + "response": { + "$ref": "Topic" + }, + "parameters": { + "topic": { + "location": "path", + "description": "The name of the topic to get.", + "type": "string", + "required": true, + "pattern": "^.+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] + }, + "publish": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], "flatPath": "v1beta1a/topics/publish", - "path": "v1beta1a/topics/publish", "id": "pubsub.topics.publish", + "path": "v1beta1a/topics/publish", + "description": "Adds a message to the topic. Returns NOT_FOUND if the topic does not\nexist.", "request": { "$ref": "PublishRequest" - }, - "description": "Adds a message to the topic. Returns NOT_FOUND if the topic does not\nexist." + } }, "delete": { - "id": "pubsub.topics.delete", - "path": "v1beta1a/topics/{+topic}", - "description": "Deletes the topic with the given name. Returns NOT_FOUND if the topic does\nnot exist. After a topic is deleted, a new topic may be created with the\nsame name.", "response": { "$ref": "Empty" }, @@ -264,47 +265,50 @@ "topic" ], "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], "parameters": { "topic": { - "description": "Name of the topic to delete.", "type": "string", "required": true, "pattern": "^.+$", - "location": "path" + "location": "path", + "description": "Name of the topic to delete." } }, - "flatPath": "v1beta1a/topics/{topicsId}" - }, - "publishBatch": { "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "parameters": {}, - "flatPath": "v1beta1a/topics/publishBatch", - "path": "v1beta1a/topics/publishBatch", - "id": "pubsub.topics.publishBatch", + "flatPath": "v1beta1a/topics/{topicsId}", + "id": "pubsub.topics.delete", + "path": "v1beta1a/topics/{+topic}", + "description": "Deletes the topic with the given name. Returns NOT_FOUND if the topic does\nnot exist. After a topic is deleted, a new topic may be created with the\nsame name." + }, + "publishBatch": { + "description": "Adds one or more messages to the topic. Returns NOT_FOUND if the topic does\nnot exist.", "request": { "$ref": "PublishBatchRequest" }, - "description": "Adds one or more messages to the topic. Returns NOT_FOUND if the topic does\nnot exist.", "httpMethod": "POST", "parameterOrder": [], "response": { "$ref": "PublishBatchResponse" - } + }, + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1beta1a/topics/publishBatch", + "path": "v1beta1a/topics/publishBatch", + "id": "pubsub.topics.publishBatch" }, "list": { "description": "Lists matching topics.", - "httpMethod": "GET", - "parameterOrder": [], "response": { "$ref": "ListTopicsResponse" }, + "parameterOrder": [], + "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" @@ -316,10 +320,10 @@ "type": "string" }, "maxResults": { - "location": "query", "format": "int32", "description": "Maximum number of topics to return.", - "type": "integer" + "type": "integer", + "location": "query" }, "query": { "location": "query", @@ -328,10 +332,17 @@ } }, "flatPath": "v1beta1a/topics", - "path": "v1beta1a/topics", - "id": "pubsub.topics.list" + "id": "pubsub.topics.list", + "path": "v1beta1a/topics" }, "create": { + "flatPath": "v1beta1a/topics", + "id": "pubsub.topics.create", + "path": "v1beta1a/topics", + "request": { + "$ref": "Topic" + }, + "description": "Creates the given topic with the given name.", "response": { "$ref": "Topic" }, @@ -341,45 +352,22 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "parameters": {}, - "flatPath": "v1beta1a/topics", - "id": "pubsub.topics.create", - "path": "v1beta1a/topics", - "request": { - "$ref": "Topic" - }, - "description": "Creates the given topic with the given name." - }, - "get": { - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "parameters": { - "topic": { - "pattern": "^.+$", - "location": "path", - "description": "The name of the topic to get.", - "type": "string", - "required": true - } - }, - "flatPath": "v1beta1a/topics/{topicsId}", - "path": "v1beta1a/topics/{+topic}", - "id": "pubsub.topics.get", - "description": "Gets the configuration of a topic. Since the topic only has the name\nattribute, this method is only useful to check the existence of a topic.\nIf other attributes are added in the future, they will be returned here.", - "httpMethod": "GET", - "response": { - "$ref": "Topic" - }, - "parameterOrder": [ - "topic" - ] + "parameters": {} } } } }, "parameters": { + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", + "location": "query" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, "upload_protocol": { "location": "query", "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", @@ -402,6 +390,8 @@ "location": "query" }, "$.xgafv": { + "description": "V1 error format.", + "type": "string", "enumDescriptions": [ "v1 error format", "v2 error format" @@ -410,22 +400,14 @@ "enum": [ "1", "2" - ], - "description": "V1 error format.", - "type": "string" + ] }, "callback": { + "location": "query", "description": "JSONP", - "type": "string", - "location": "query" + "type": "string" }, "alt": { - "enum": [ - "json", - "media", - "proto" - ], - "type": "string", "enumDescriptions": [ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", @@ -433,15 +415,21 @@ ], "location": "query", "description": "Data format for response.", - "default": "json" - }, - "access_token": { - "type": "string", - "location": "query", - "description": "OAuth access token." + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "type": "string" }, "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token." + }, + "access_token": { + "description": "OAuth access token.", "type": "string", "location": "query" }, @@ -455,46 +443,130 @@ "default": "true", "type": "boolean", "location": "query" - }, - "bearer_token": { - "description": "OAuth bearer token.", - "type": "string", - "location": "query" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" } }, "schemas": { - "ModifyPushConfigRequest": { + "PublishBatchResponse": { "properties": { - "pushConfig": { - "description": "An empty \u003ccode\u003epush_config\u003c/code\u003e indicates that the Pub/Sub system should\npause pushing messages from the given subscription.", - "$ref": "PushConfig" + "messageIds": { + "description": "The server-assigned ID of each published message, in the same order as\nthe messages in the request. IDs are guaranteed to be unique within\nthe topic.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "PublishBatchResponse", + "description": "Response for the PublishBatch method.", + "type": "object" + }, + "Subscription": { + "id": "Subscription", + "description": "A subscription resource.", + "type": "object", + "properties": { + "ackDeadlineSeconds": { + "format": "int32", + "description": "For either push or pull delivery, the value is the maximum time after a\nsubscriber receives a message before the subscriber should acknowledge or\nNack the message. If the Ack deadline for a message passes without an\nAck or a Nack, the Pub/Sub system will eventually redeliver the message.\nIf a subscriber acknowledges after the deadline, the Pub/Sub system may\naccept the Ack, but it is possible that the message has been already\ndelivered again. Multiple Acks to the message are allowed and will\nsucceed.\n\nFor push delivery, this value is used to set the request timeout for\nthe call to the push endpoint.\n\nFor pull delivery, this value is used as the initial value for the Ack\ndeadline. It may be overridden for each message using its corresponding\nack_id with \u003ccode\u003eModifyAckDeadline\u003c/code\u003e.\nWhile a message is outstanding (i.e. it has been delivered to a pull\nsubscriber and the subscriber has not yet Acked or Nacked), the Pub/Sub\nsystem will not deliver that message to another pull subscriber\n(on a best-effort basis).", + "type": "integer" }, - "subscription": { - "description": "The name of the subscription.", + "name": { + "type": "string", + "description": "Name of the subscription." + }, + "topic": { + "description": "The name of the topic from which this subscription is receiving messages.", + "type": "string" + }, + "pushConfig": { + "$ref": "PushConfig", + "description": "If push delivery is used with this subscription, this field is\nused to configure it." + } + } + }, + "Topic": { + "description": "A topic resource.", + "type": "object", + "properties": { + "name": { + "description": "Name of the topic.", "type": "string" } }, - "id": "ModifyPushConfigRequest", - "description": "Request for the ModifyPushConfig method.", - "type": "object" + "id": "Topic" }, - "PubsubMessage": { - "description": "A message data and its labels.", + "Label": { "type": "object", "properties": { - "data": { - "format": "byte", - "description": "The message payload.", + "strValue": { + "description": "A string value.", "type": "string" }, - "messageId": { - "description": "ID of this message assigned by the server at publication time. Guaranteed\nto be unique within the topic. This value may be read by a subscriber\nthat receives a PubsubMessage via a Pull call or a push delivery. It must\nnot be populated by a publisher in a Publish call.", + "numValue": { + "type": "string", + "format": "int64", + "description": "An integer value." + }, + "key": { + "description": "The key of a label is a syntactically valid URL (as per RFC 1738) with\nthe \"scheme\" and initial slashes omitted and with the additional\nrestrictions noted below. Each key should be globally unique. The\n\"host\" portion is called the \"namespace\" and is not necessarily\nresolvable to a network endpoint. Instead, the namespace indicates what\nsystem or entity defines the semantics of the label. Namespaces do not\nrestrict the set of objects to which a label may be associated.\n\nKeys are defined by the following grammar:\n\n key = hostname \"/\" kpath\n kpath = ksegment *[ \"/\" ksegment ]\n ksegment = alphadigit | *[ alphadigit | \"-\" | \"_\" | \".\" ]\n\nwhere \"hostname\" and \"alphadigit\" are defined as in RFC 1738.\n\nExample key:\n spanner.google.com/universe", "type": "string" + } + }, + "id": "Label", + "description": "A key-value pair applied to a given object." + }, + "ModifyAckDeadlineRequest": { + "id": "ModifyAckDeadlineRequest", + "description": "Request for the ModifyAckDeadline method.", + "type": "object", + "properties": { + "ackIds": { + "description": "List of acknowledgment IDs. Either this field or ack_id\nshould be populated, not both.", + "items": { + "type": "string" + }, + "type": "array" + }, + "subscription": { + "description": "Next Index: 5\nThe name of the subscription from which messages are being pulled.", + "type": "string" + }, + "ackId": { + "description": "The acknowledgment ID. Either this or ack_ids must be populated,\nnot both.", + "type": "string" + }, + "ackDeadlineSeconds": { + "format": "int32", + "description": "The new ack deadline with respect to the time this request was sent to the\nPub/Sub system. Must be \u003e= 0. For example, if the value is 10, the new ack\ndeadline will expire 10 seconds after the ModifyAckDeadline call was made.\nSpecifying zero may immediately make the message available for another pull\nrequest.", + "type": "integer" + } + } + }, + "PullBatchRequest": { + "id": "PullBatchRequest", + "description": "Request for the PullBatch method.", + "type": "object", + "properties": { + "subscription": { + "description": "The subscription from which messages should be pulled.", + "type": "string" + }, + "returnImmediately": { + "description": "If this is specified as true the system will respond immediately even if\nit is not able to return a message in the Pull response. Otherwise the\nsystem is allowed to wait until at least one message is available rather\nthan returning no messages. The client may cancel the request if it does\nnot wish to wait any longer for the response.", + "type": "boolean" + }, + "maxEvents": { + "format": "int32", + "description": "The maximum number of PubsubEvents returned for this request. The Pub/Sub\nsystem may return fewer than the number of events specified.", + "type": "integer" + } + } + }, + "PubsubMessage": { + "properties": { + "messageId": { + "type": "string", + "description": "ID of this message assigned by the server at publication time. Guaranteed\nto be unique within the topic. This value may be read by a subscriber\nthat receives a PubsubMessage via a Pull call or a push delivery. It must\nnot be populated by a publisher in a Publish call." }, "publishTime": { "format": "int64", @@ -507,9 +579,81 @@ "$ref": "Label" }, "type": "array" + }, + "data": { + "format": "byte", + "description": "The message payload.", + "type": "string" } }, - "id": "PubsubMessage" + "id": "PubsubMessage", + "description": "A message data and its labels.", + "type": "object" + }, + "ModifyPushConfigRequest": { + "properties": { + "pushConfig": { + "$ref": "PushConfig", + "description": "An empty \u003ccode\u003epush_config\u003c/code\u003e indicates that the Pub/Sub system should\npause pushing messages from the given subscription." + }, + "subscription": { + "description": "The name of the subscription.", + "type": "string" + } + }, + "id": "ModifyPushConfigRequest", + "description": "Request for the ModifyPushConfig method.", + "type": "object" + }, + "ListTopicsResponse": { + "description": "Response for the ListTopics method.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "If not empty, indicates that there are more topics that match the request,\nand this value should be passed to the next \u003ccode\u003eListTopicsRequest\u003c/code\u003e\nto continue.", + "type": "string" + }, + "topic": { + "items": { + "$ref": "Topic" + }, + "type": "array", + "description": "The resulting topics." + } + }, + "id": "ListTopicsResponse" + }, + "PublishBatchRequest": { + "description": "Request for the PublishBatch method.", + "type": "object", + "properties": { + "messages": { + "description": "The messages to publish.", + "items": { + "$ref": "PubsubMessage" + }, + "type": "array" + }, + "topic": { + "description": "The messages in the request will be published on this topic.", + "type": "string" + } + }, + "id": "PublishBatchRequest" + }, + "PullBatchResponse": { + "description": "Response for the PullBatch method.", + "type": "object", + "properties": { + "pullResponses": { + "description": "Received Pub/Sub messages or status events. The Pub/Sub system will return\nzero messages if there are no more messages available in the backlog. The\nPub/Sub system may return fewer than the max_events requested even if\nthere are more messages available in the backlog.", + "items": { + "$ref": "PullResponse" + }, + "type": "array" + } + }, + "id": "PullBatchResponse" }, "AcknowledgeRequest": { "description": "Request for the Acknowledge method.", @@ -529,111 +673,57 @@ }, "id": "AcknowledgeRequest" }, - "PullBatchResponse": { - "description": "Response for the PullBatch method.", - "type": "object", - "properties": { - "pullResponses": { - "description": "Received Pub/Sub messages or status events. The Pub/Sub system will return\nzero messages if there are no more messages available in the backlog. The\nPub/Sub system may return fewer than the max_events requested even if\nthere are more messages available in the backlog.", - "items": { - "$ref": "PullResponse" - }, - "type": "array" - } - }, - "id": "PullBatchResponse" - }, "Empty": { - "description": "An empty message that you can re-use to avoid defining duplicated empty\nmessages in your project. A typical example is to use it as argument or the\nreturn value of a service API. For instance:\n\n service Foo {\n rpc Bar (proto2.Empty) returns (proto2.Empty) { };\n };\n\nBEGIN GOOGLE-INTERNAL\nThe difference between this one and net/rpc/empty-message.proto is that\n1) The generated message here is in proto2 C++ API.\n2) The proto2.Empty has minimum dependencies\n (no message_set or net/rpc dependencies)\nEND GOOGLE-INTERNAL", - "type": "object", "properties": {}, - "id": "Empty" - }, - "PublishBatchRequest": { - "description": "Request for the PublishBatch method.", - "type": "object", - "properties": { - "topic": { - "description": "The messages in the request will be published on this topic.", - "type": "string" - }, - "messages": { - "description": "The messages to publish.", - "items": { - "$ref": "PubsubMessage" - }, - "type": "array" - } - }, - "id": "PublishBatchRequest" - }, - "ListTopicsResponse": { - "description": "Response for the ListTopics method.", - "type": "object", - "properties": { - "topic": { - "description": "The resulting topics.", - "items": { - "$ref": "Topic" - }, - "type": "array" - }, - "nextPageToken": { - "type": "string", - "description": "If not empty, indicates that there are more topics that match the request,\nand this value should be passed to the next \u003ccode\u003eListTopicsRequest\u003c/code\u003e\nto continue." - } - }, - "id": "ListTopicsResponse" + "id": "Empty", + "description": "An empty message that you can re-use to avoid defining duplicated empty\nmessages in your project. A typical example is to use it as argument or the\nreturn value of a service API. For instance:\n\n service Foo {\n rpc Bar (proto2.Empty) returns (proto2.Empty) { };\n };\n\nBEGIN GOOGLE-INTERNAL\nThe difference between this one and net/rpc/empty-message.proto is that\n1) The generated message here is in proto2 C++ API.\n2) The proto2.Empty has minimum dependencies\n (no message_set or net/rpc dependencies)\nEND GOOGLE-INTERNAL", + "type": "object" }, "PullResponse": { + "description": "Either a \u003ccode\u003ePubsubMessage\u003c/code\u003e or a truncation event. One of these two\nmust be populated.", + "type": "object", "properties": { "ackId": { "description": "This ID must be used to acknowledge the received event or message.", "type": "string" }, "pubsubEvent": { - "description": "A pubsub message or truncation event.", - "$ref": "PubsubEvent" + "$ref": "PubsubEvent", + "description": "A pubsub message or truncation event." } }, - "id": "PullResponse", - "description": "Either a \u003ccode\u003ePubsubMessage\u003c/code\u003e or a truncation event. One of these two\nmust be populated.", - "type": "object" + "id": "PullResponse" }, "PushConfig": { + "type": "object", "properties": { "pushEndpoint": { - "description": "A URL locating the endpoint to which messages should be pushed.\nFor example, a Webhook endpoint might use \"https://example.com/push\".", - "type": "string" + "type": "string", + "description": "A URL locating the endpoint to which messages should be pushed.\nFor example, a Webhook endpoint might use \"https://example.com/push\"." } }, "id": "PushConfig", - "description": "Configuration for a push delivery endpoint.", - "type": "object" + "description": "Configuration for a push delivery endpoint." }, "PullRequest": { - "description": "Request for the Pull method.", - "type": "object", "properties": { "subscription": { "description": "The subscription from which a message should be pulled.", "type": "string" }, "returnImmediately": { - "type": "boolean", - "description": "If this is specified as true the system will respond immediately even if\nit is not able to return a message in the Pull response. Otherwise the\nsystem is allowed to wait until at least one message is available rather\nthan returning FAILED_PRECONDITION. The client may cancel the request if\nit does not wish to wait any longer for the response." + "description": "If this is specified as true the system will respond immediately even if\nit is not able to return a message in the Pull response. Otherwise the\nsystem is allowed to wait until at least one message is available rather\nthan returning FAILED_PRECONDITION. The client may cancel the request if\nit does not wish to wait any longer for the response.", + "type": "boolean" } }, - "id": "PullRequest" + "id": "PullRequest", + "description": "Request for the Pull method.", + "type": "object" }, "PubsubEvent": { "description": "An event indicating a received message or truncation event.", "type": "object", "properties": { - "subscription": { - "description": "The subscription that received the event.", - "type": "string" - }, "deleted": { "description": "Indicates that this subscription has been deleted. (Note that pull\nsubscribers will always receive NOT_FOUND in response in their pull\nrequest on the subscription, rather than seeing this boolean.)", "type": "boolean" @@ -645,6 +735,10 @@ "message": { "$ref": "PubsubMessage", "description": "A received message." + }, + "subscription": { + "type": "string", + "description": "The subscription that received the event." } }, "id": "PubsubEvent" @@ -672,8 +766,8 @@ "type": "object", "properties": { "topic": { - "type": "string", - "description": "The message in the request will be published on this topic." + "description": "The message in the request will be published on this topic.", + "type": "string" }, "message": { "description": "The message to publish.", @@ -681,127 +775,33 @@ } }, "id": "PublishRequest" - }, - "PublishBatchResponse": { - "description": "Response for the PublishBatch method.", - "type": "object", - "properties": { - "messageIds": { - "description": "The server-assigned ID of each published message, in the same order as\nthe messages in the request. IDs are guaranteed to be unique within\nthe topic.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "PublishBatchResponse" - }, - "Subscription": { - "description": "A subscription resource.", - "type": "object", - "properties": { - "topic": { - "description": "The name of the topic from which this subscription is receiving messages.", - "type": "string" - }, - "pushConfig": { - "description": "If push delivery is used with this subscription, this field is\nused to configure it.", - "$ref": "PushConfig" - }, - "ackDeadlineSeconds": { - "format": "int32", - "description": "For either push or pull delivery, the value is the maximum time after a\nsubscriber receives a message before the subscriber should acknowledge or\nNack the message. If the Ack deadline for a message passes without an\nAck or a Nack, the Pub/Sub system will eventually redeliver the message.\nIf a subscriber acknowledges after the deadline, the Pub/Sub system may\naccept the Ack, but it is possible that the message has been already\ndelivered again. Multiple Acks to the message are allowed and will\nsucceed.\n\nFor push delivery, this value is used to set the request timeout for\nthe call to the push endpoint.\n\nFor pull delivery, this value is used as the initial value for the Ack\ndeadline. It may be overridden for each message using its corresponding\nack_id with \u003ccode\u003eModifyAckDeadline\u003c/code\u003e.\nWhile a message is outstanding (i.e. it has been delivered to a pull\nsubscriber and the subscriber has not yet Acked or Nacked), the Pub/Sub\nsystem will not deliver that message to another pull subscriber\n(on a best-effort basis).", - "type": "integer" - }, - "name": { - "description": "Name of the subscription.", - "type": "string" - } - }, - "id": "Subscription" - }, - "Topic": { - "id": "Topic", - "description": "A topic resource.", - "type": "object", - "properties": { - "name": { - "description": "Name of the topic.", - "type": "string" - } - } - }, - "Label": { - "description": "A key-value pair applied to a given object.", - "type": "object", - "properties": { - "strValue": { - "description": "A string value.", - "type": "string" - }, - "numValue": { - "format": "int64", - "description": "An integer value.", - "type": "string" - }, - "key": { - "description": "The key of a label is a syntactically valid URL (as per RFC 1738) with\nthe \"scheme\" and initial slashes omitted and with the additional\nrestrictions noted below. Each key should be globally unique. The\n\"host\" portion is called the \"namespace\" and is not necessarily\nresolvable to a network endpoint. Instead, the namespace indicates what\nsystem or entity defines the semantics of the label. Namespaces do not\nrestrict the set of objects to which a label may be associated.\n\nKeys are defined by the following grammar:\n\n key = hostname \"/\" kpath\n kpath = ksegment *[ \"/\" ksegment ]\n ksegment = alphadigit | *[ alphadigit | \"-\" | \"_\" | \".\" ]\n\nwhere \"hostname\" and \"alphadigit\" are defined as in RFC 1738.\n\nExample key:\n spanner.google.com/universe", - "type": "string" - } - }, - "id": "Label" - }, - "ModifyAckDeadlineRequest": { - "description": "Request for the ModifyAckDeadline method.", - "type": "object", - "properties": { - "subscription": { - "description": "Next Index: 5\nThe name of the subscription from which messages are being pulled.", - "type": "string" - }, - "ackId": { - "description": "The acknowledgment ID. Either this or ack_ids must be populated,\nnot both.", - "type": "string" - }, - "ackDeadlineSeconds": { - "type": "integer", - "format": "int32", - "description": "The new ack deadline with respect to the time this request was sent to the\nPub/Sub system. Must be \u003e= 0. For example, if the value is 10, the new ack\ndeadline will expire 10 seconds after the ModifyAckDeadline call was made.\nSpecifying zero may immediately make the message available for another pull\nrequest." - }, - "ackIds": { - "description": "List of acknowledgment IDs. Either this field or ack_id\nshould be populated, not both.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "ModifyAckDeadlineRequest" - }, - "PullBatchRequest": { - "description": "Request for the PullBatch method.", - "type": "object", - "properties": { - "returnImmediately": { - "description": "If this is specified as true the system will respond immediately even if\nit is not able to return a message in the Pull response. Otherwise the\nsystem is allowed to wait until at least one message is available rather\nthan returning no messages. The client may cancel the request if it does\nnot wish to wait any longer for the response.", - "type": "boolean" - }, - "maxEvents": { - "format": "int32", - "description": "The maximum number of PubsubEvents returned for this request. The Pub/Sub\nsystem may return fewer than the number of events specified.", - "type": "integer" - }, - "subscription": { - "description": "The subscription from which messages should be pulled.", - "type": "string" - } - }, - "id": "PullBatchRequest" } }, + "protocol": "rest", "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" }, - "protocol": "rest" + "version": "v1beta1a", + "baseUrl": "https://pubsub.googleapis.com/", + "canonicalName": "Pubsub", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + }, + "https://www.googleapis.com/auth/pubsub": { + "description": "View and manage Pub/Sub topics and subscriptions" + } + } + } + }, + "kind": "discovery#restDescription", + "description": "Provides reliable, many-to-many, asynchronous messaging between applications.\n", + "servicePath": "", + "rootUrl": "https://pubsub.googleapis.com/", + "basePath": "", + "ownerDomain": "google.com", + "name": "pubsub" } diff --git a/vendor/google.golang.org/api/pubsub/v1beta2/pubsub-api.json b/vendor/google.golang.org/api/pubsub/v1beta2/pubsub-api.json index 8b2aae2f3..654992e05 100644 --- a/vendor/google.golang.org/api/pubsub/v1beta2/pubsub-api.json +++ b/vendor/google.golang.org/api/pubsub/v1beta2/pubsub-api.json @@ -1,5 +1,4 @@ { - "title": "Google Cloud Pub/Sub API", "discoveryVersion": "v1", "ownerName": "Google", "resources": { @@ -7,22 +6,56 @@ "resources": { "subscriptions": { "methods": { - "getIamPolicy": { - "path": "v1beta2/{+resource}:getIamPolicy", - "id": "pubsub.projects.subscriptions.getIamPolicy", - "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", + "list": { "httpMethod": "GET", + "response": { + "$ref": "ListSubscriptionsResponse" + }, "parameterOrder": [ - "resource" + "project" ], + "parameters": { + "pageSize": { + "format": "int32", + "description": "Maximum number of subscriptions to return.", + "type": "integer", + "location": "query" + }, + "project": { + "location": "path", + "description": "The name of the cloud project that subscriptions belong to.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$" + }, + "pageToken": { + "description": "The value returned by the last `ListSubscriptionsResponse`; indicates that\nthis is a continuation of a prior `ListSubscriptions` call, and that the\nsystem should return the next page of data.", + "type": "string", + "location": "query" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1beta2/projects/{projectsId}/subscriptions", + "path": "v1beta2/{+project}/subscriptions", + "id": "pubsub.projects.subscriptions.list", + "description": "Lists matching subscriptions." + }, + "setIamPolicy": { "response": { "$ref": "Policy" }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", "parameters": { "resource": { "pattern": "^projects/[^/]+/subscriptions/[^/]+$", "location": "path", - "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", "type": "string", "required": true } @@ -31,129 +64,194 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:getIamPolicy" + "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:setIamPolicy", + "id": "pubsub.projects.subscriptions.setIamPolicy", + "path": "v1beta2/{+resource}:setIamPolicy", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", + "request": { + "$ref": "SetIamPolicyRequest" + } + }, + "create": { + "httpMethod": "PUT", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Subscription" + }, + "parameters": { + "name": { + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path", + "description": "The name of the subscription. It must have the format\n`\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must\nstart with a letter, and contain only letters (`[A-Za-z]`), numbers\n(`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),\nplus (`+`) or percent signs (`%`). It must be between 3 and 255 characters\nin length, and it must not start with `\"goog\"`.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}", + "path": "v1beta2/{+name}", + "id": "pubsub.projects.subscriptions.create", + "description": "Creates a subscription to a given topic.\nIf the subscription already exists, returns `ALREADY_EXISTS`.\nIf the corresponding topic doesn't exist, returns `NOT_FOUND`.\n\nIf the name is not provided in the request, the server will assign a random\nname for this subscription on the same project as the topic. Note that\nfor REST API requests, you must specify a name.", + "request": { + "$ref": "Subscription" + } + }, + "getIamPolicy": { + "httpMethod": "GET", + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:getIamPolicy", + "path": "v1beta2/{+resource}:getIamPolicy", + "id": "pubsub.projects.subscriptions.getIamPolicy", + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset." }, "modifyAckDeadline": { - "path": "v1beta2/{+subscription}:modifyAckDeadline", + "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyAckDeadline", "id": "pubsub.projects.subscriptions.modifyAckDeadline", - "description": "Modifies the ack deadline for a specific message. This method is useful\nto indicate that more time is needed to process a message by the\nsubscriber, or to make the message available for redelivery if the\nprocessing was interrupted. Note that this does not modify the\nsubscription-level `ackDeadlineSeconds` used for subsequent messages.", + "path": "v1beta2/{+subscription}:modifyAckDeadline", "request": { "$ref": "ModifyAckDeadlineRequest" }, - "httpMethod": "POST", - "parameterOrder": [ - "subscription" - ], + "description": "Modifies the ack deadline for a specific message. This method is useful\nto indicate that more time is needed to process a message by the\nsubscriber, or to make the message available for redelivery if the\nprocessing was interrupted. Note that this does not modify the\nsubscription-level `ackDeadlineSeconds` used for subsequent messages.", "response": { "$ref": "Empty" }, + "parameterOrder": [ + "subscription" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "parameters": { + "subscription": { + "description": "The name of the subscription.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path" + } + } + }, + "acknowledge": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], "parameters": { "subscription": { "pattern": "^projects/[^/]+/subscriptions/[^/]+$", "location": "path", - "description": "The name of the subscription.", + "description": "The subscription whose message is being acknowledged.", "type": "string", "required": true } }, + "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:acknowledge", + "id": "pubsub.projects.subscriptions.acknowledge", + "path": "v1beta2/{+subscription}:acknowledge", + "request": { + "$ref": "AcknowledgeRequest" + }, + "description": "Acknowledges the messages associated with the `ack_ids` in the\n`AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages\nfrom the subscription.\n\nAcknowledging a message whose ack deadline has expired may succeed,\nbut such a message may be redelivered later. Acknowledging a message more\nthan once will not result in an error.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "subscription" + ], + "httpMethod": "POST" + }, + "get": { + "response": { + "$ref": "Subscription" + }, + "parameterOrder": [ + "subscription" + ], + "httpMethod": "GET", + "parameters": { + "subscription": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path", + "description": "The name of the subscription to get." + } + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyAckDeadline" + "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}", + "id": "pubsub.projects.subscriptions.get", + "path": "v1beta2/{+subscription}", + "description": "Gets the configuration details of a subscription." }, - "acknowledge": { - "httpMethod": "POST", - "parameterOrder": [ - "subscription" - ], + "testIamPermissions": { "response": { - "$ref": "Empty" + "$ref": "TestIamPermissionsResponse" }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], "parameters": { - "subscription": { + "resource": { "location": "path", - "description": "The subscription whose message is being acknowledged.", + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", "type": "string", "required": true, "pattern": "^projects/[^/]+/subscriptions/[^/]+$" } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:acknowledge", - "path": "v1beta2/{+subscription}:acknowledge", - "id": "pubsub.projects.subscriptions.acknowledge", - "description": "Acknowledges the messages associated with the `ack_ids` in the\n`AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages\nfrom the subscription.\n\nAcknowledging a message whose ack deadline has expired may succeed,\nbut such a message may be redelivered later. Acknowledging a message more\nthan once will not result in an error.", - "request": { - "$ref": "AcknowledgeRequest" - } - }, - "get": { - "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}", - "id": "pubsub.projects.subscriptions.get", - "path": "v1beta2/{+subscription}", - "description": "Gets the configuration details of a subscription.", - "parameterOrder": [ - "subscription" - ], - "response": { - "$ref": "Subscription" - }, - "httpMethod": "GET", - "parameters": { - "subscription": { - "description": "The name of the subscription to get.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ] - }, - "testIamPermissions": { - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path" - } - }, "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:testIamPermissions", - "path": "v1beta2/{+resource}:testIamPermissions", "id": "pubsub.projects.subscriptions.testIamPermissions", + "path": "v1beta2/{+resource}:testIamPermissions", "request": { "$ref": "TestIamPermissionsRequest" }, "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning." }, "modifyPushConfig": { - "response": { - "$ref": "Empty" + "request": { + "$ref": "ModifyPushConfigRequest" }, + "description": "Modifies the `PushConfig` for a specified subscription.\n\nThis may be used to change a push subscription to a pull one (signified by\nan empty `PushConfig`) or vice versa, or change the endpoint URL and other\nattributes of a push subscription. Messages will accumulate for delivery\ncontinuously through the call regardless of changes to the `PushConfig`.", + "httpMethod": "POST", "parameterOrder": [ "subscription" ], - "httpMethod": "POST", + "response": { + "$ref": "Empty" + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" @@ -168,42 +266,36 @@ } }, "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyPushConfig", - "id": "pubsub.projects.subscriptions.modifyPushConfig", "path": "v1beta2/{+subscription}:modifyPushConfig", - "request": { - "$ref": "ModifyPushConfigRequest" - }, - "description": "Modifies the `PushConfig` for a specified subscription.\n\nThis may be used to change a push subscription to a pull one (signified by\nan empty `PushConfig`) or vice versa, or change the endpoint URL and other\nattributes of a push subscription. Messages will accumulate for delivery\ncontinuously through the call regardless of changes to the `PushConfig`." + "id": "pubsub.projects.subscriptions.modifyPushConfig" }, "delete": { - "httpMethod": "DELETE", + "id": "pubsub.projects.subscriptions.delete", + "path": "v1beta2/{+subscription}", + "description": "Deletes an existing subscription. All pending messages in the subscription\nare immediately dropped. Calls to `Pull` after deletion will return\n`NOT_FOUND`. After a subscription is deleted, a new one may be created with\nthe same name, but the new one has no association with the old\nsubscription, or its topic unless the same topic is specified.", + "response": { + "$ref": "Empty" + }, "parameterOrder": [ "subscription" ], - "response": { - "$ref": "Empty" + "httpMethod": "DELETE", + "parameters": { + "subscription": { + "pattern": "^projects/[^/]+/subscriptions/[^/]+$", + "location": "path", + "description": "The subscription to delete.", + "type": "string", + "required": true + } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "parameters": { - "subscription": { - "description": "The subscription to delete.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}", - "path": "v1beta2/{+subscription}", - "id": "pubsub.projects.subscriptions.delete", - "description": "Deletes an existing subscription. All pending messages in the subscription\nare immediately dropped. Calls to `Pull` after deletion will return\n`NOT_FOUND`. After a subscription is deleted, a new one may be created with\nthe same name, but the new one has no association with the old\nsubscription, or its topic unless the same topic is specified." + "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}" }, "pull": { - "path": "v1beta2/{+subscription}:pull", - "id": "pubsub.projects.subscriptions.pull", "description": "Pulls messages from the server. Returns an empty list if there are no\nmessages available in the backlog. The server may return `UNAVAILABLE` if\nthere are too many concurrent pull requests pending for the given\nsubscription.", "request": { "$ref": "PullRequest" @@ -228,188 +320,40 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], - "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:pull" - }, - "list": { - "description": "Lists matching subscriptions.", - "httpMethod": "GET", - "response": { - "$ref": "ListSubscriptionsResponse" - }, - "parameterOrder": [ - "project" - ], - "parameters": { - "pageSize": { - "format": "int32", - "description": "Maximum number of subscriptions to return.", - "type": "integer", - "location": "query" - }, - "project": { - "description": "The name of the cloud project that subscriptions belong to.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path" - }, - "pageToken": { - "description": "The value returned by the last `ListSubscriptionsResponse`; indicates that\nthis is a continuation of a prior `ListSubscriptions` call, and that the\nsystem should return the next page of data.", - "type": "string", - "location": "query" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "flatPath": "v1beta2/projects/{projectsId}/subscriptions", - "path": "v1beta2/{+project}/subscriptions", - "id": "pubsub.projects.subscriptions.list" - }, - "setIamPolicy": { - "response": { - "$ref": "Policy" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:setIamPolicy", - "id": "pubsub.projects.subscriptions.setIamPolicy", - "path": "v1beta2/{+resource}:setIamPolicy", - "request": { - "$ref": "SetIamPolicyRequest" - }, - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy." - }, - "create": { - "path": "v1beta2/{+name}", - "id": "pubsub.projects.subscriptions.create", - "description": "Creates a subscription to a given topic.\nIf the subscription already exists, returns `ALREADY_EXISTS`.\nIf the corresponding topic doesn't exist, returns `NOT_FOUND`.\n\nIf the name is not provided in the request, the server will assign a random\nname for this subscription on the same project as the topic. Note that\nfor REST API requests, you must specify a name.", - "request": { - "$ref": "Subscription" - }, - "httpMethod": "PUT", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "Subscription" - }, - "parameters": { - "name": { - "pattern": "^projects/[^/]+/subscriptions/[^/]+$", - "location": "path", - "description": "The name of the subscription. It must have the format\n`\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must\nstart with a letter, and contain only letters (`[A-Za-z]`), numbers\n(`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),\nplus (`+`) or percent signs (`%`). It must be between 3 and 255 characters\nin length, and it must not start with `\"goog\"`.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}" + "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:pull", + "path": "v1beta2/{+subscription}:pull", + "id": "pubsub.projects.subscriptions.pull" } } }, "topics": { "methods": { - "testIamPermissions": { - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "parameters": { - "resource": { - "location": "path", - "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/topics/[^/]+$" - } - }, - "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}:testIamPermissions", - "id": "pubsub.projects.topics.testIamPermissions", - "path": "v1beta2/{+resource}:testIamPermissions", - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning." - }, - "delete": { - "path": "v1beta2/{+topic}", - "id": "pubsub.projects.topics.delete", - "description": "Deletes the topic with the given name. Returns `NOT_FOUND` if the topic\ndoes not exist. After a topic is deleted, a new topic may be created with\nthe same name; this is an entirely new topic with none of the old\nconfiguration or subscriptions. Existing subscriptions to this topic are\nnot deleted, but their `topic` field is set to `_deleted-topic_`.", - "httpMethod": "DELETE", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "topic" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "parameters": { - "topic": { - "location": "path", - "description": "Name of the topic to delete.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/topics/[^/]+$" - } - }, - "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}" - }, "list": { "httpMethod": "GET", - "parameterOrder": [ - "project" - ], "response": { "$ref": "ListTopicsResponse" }, + "parameterOrder": [ + "project" + ], "parameters": { "pageToken": { + "location": "query", "description": "The value returned by the last `ListTopicsResponse`; indicates that this is\na continuation of a prior `ListTopics` call, and that the system should\nreturn the next page of data.", - "type": "string", - "location": "query" + "type": "string" }, "pageSize": { - "type": "integer", "location": "query", "format": "int32", - "description": "Maximum number of topics to return." + "description": "Maximum number of topics to return.", + "type": "integer" }, "project": { + "location": "path", "description": "The name of the cloud project that topics belong to.", "type": "string", "required": true, - "pattern": "^projects/[^/]+$", - "location": "path" + "pattern": "^projects/[^/]+$" } }, "scopes": [ @@ -422,51 +366,35 @@ "description": "Lists matching topics." }, "setIamPolicy": { - "response": { - "$ref": "Policy" + "request": { + "$ref": "SetIamPolicyRequest" }, + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", + "httpMethod": "POST", "parameterOrder": [ "resource" ], - "httpMethod": "POST", + "response": { + "$ref": "Policy" + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], "parameters": { "resource": { - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true - } - }, - "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}:setIamPolicy", - "id": "pubsub.projects.topics.setIamPolicy", - "path": "v1beta2/{+resource}:setIamPolicy", - "request": { - "$ref": "SetIamPolicyRequest" - }, - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy." - }, - "create": { - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/pubsub" - ], - "parameters": { - "name": { "type": "string", "required": true, "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "description": "The name of the topic. It must have the format\n`\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter,\nand contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),\nunderscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent\nsigns (`%`). It must be between 3 and 255 characters in length, and it\nmust not start with `\"goog\"`." + "location": "path" } }, - "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}", - "path": "v1beta2/{+name}", - "id": "pubsub.projects.topics.create", + "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}:setIamPolicy", + "path": "v1beta2/{+resource}:setIamPolicy", + "id": "pubsub.projects.topics.setIamPolicy" + }, + "create": { "request": { "$ref": "Topic" }, @@ -477,61 +405,90 @@ ], "response": { "$ref": "Topic" - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "parameters": { + "name": { + "description": "The name of the topic. It must have the format\n`\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter,\nand contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),\nunderscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent\nsigns (`%`). It must be between 3 and 255 characters in length, and it\nmust not start with `\"goog\"`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}", + "path": "v1beta2/{+name}", + "id": "pubsub.projects.topics.create" }, "getIamPolicy": { - "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", - "response": { - "$ref": "Policy" - }, + "httpMethod": "GET", "parameterOrder": [ "resource" ], - "httpMethod": "GET", + "response": { + "$ref": "Policy" + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], "parameters": { "resource": { - "location": "path", "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", "type": "string", "required": true, - "pattern": "^projects/[^/]+/topics/[^/]+$" + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path" } }, "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}:getIamPolicy", + "path": "v1beta2/{+resource}:getIamPolicy", "id": "pubsub.projects.topics.getIamPolicy", - "path": "v1beta2/{+resource}:getIamPolicy" + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset." }, "get": { - "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}", - "path": "v1beta2/{+topic}", "id": "pubsub.projects.topics.get", + "path": "v1beta2/{+topic}", "description": "Gets the configuration of a topic.", - "httpMethod": "GET", "response": { "$ref": "Topic" }, "parameterOrder": [ "topic" ], + "httpMethod": "GET", "parameters": { "topic": { - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", "description": "The name of the topic to get.", "type": "string", - "required": true + "required": true, + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path" } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" - ] + ], + "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}" }, "publish": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "parameters": { + "topic": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path", + "description": "The messages in the request will be published on this topic." + } + }, "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}:publish", "id": "pubsub.projects.topics.publish", "path": "v1beta2/{+topic}:publish", @@ -545,20 +502,62 @@ "parameterOrder": [ "topic" ], + "httpMethod": "POST" + }, + "testIamPermissions": { + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "parameterOrder": [ + "resource" + ], "httpMethod": "POST", + "parameters": { + "resource": { + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field." + } + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/pubsub" ], + "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}:testIamPermissions", + "id": "pubsub.projects.topics.testIamPermissions", + "path": "v1beta2/{+resource}:testIamPermissions", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "request": { + "$ref": "TestIamPermissionsRequest" + } + }, + "delete": { + "description": "Deletes the topic with the given name. Returns `NOT_FOUND` if the topic\ndoes not exist. After a topic is deleted, a new topic may be created with\nthe same name; this is an entirely new topic with none of the old\nconfiguration or subscriptions. Existing subscriptions to this topic are\nnot deleted, but their `topic` field is set to `_deleted-topic_`.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "topic" + ], + "httpMethod": "DELETE", "parameters": { "topic": { "pattern": "^projects/[^/]+/topics/[^/]+$", "location": "path", - "description": "The messages in the request will be published on this topic.", + "description": "Name of the topic to delete.", "type": "string", "required": true } - } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ], + "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}", + "id": "pubsub.projects.topics.delete", + "path": "v1beta2/{+topic}" } }, "resources": { @@ -576,23 +575,23 @@ ], "httpMethod": "GET", "parameters": { + "topic": { + "description": "The name of the topic that subscriptions are attached to.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/topics/[^/]+$", + "location": "path" + }, "pageToken": { "description": "The value returned by the last `ListTopicSubscriptionsResponse`; indicates\nthat this is a continuation of a prior `ListTopicSubscriptions` call, and\nthat the system should return the next page of data.", "type": "string", "location": "query" }, "pageSize": { - "location": "query", "format": "int32", "description": "Maximum number of subscription names to return.", - "type": "integer" - }, - "topic": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/topics/[^/]+$", - "location": "path", - "description": "The name of the topic that subscriptions are attached to." + "type": "integer", + "location": "query" } }, "scopes": [ @@ -609,7 +608,47 @@ } }, "parameters": { + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string", + "location": "query" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" + }, + "uploadType": { + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" + }, + "fields": { + "location": "query", + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, + "$.xgafv": { + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + }, "alt": { + "location": "query", "description": "Data format for response.", "default": "json", "enum": [ @@ -622,13 +661,12 @@ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", "Responses with Content-Type of application/x-protobuf" - ], - "location": "query" + ] }, "access_token": { + "type": "string", "location": "query", - "description": "OAuth access token.", - "type": "string" + "description": "OAuth access token." }, "key": { "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", @@ -636,387 +674,28 @@ "location": "query" }, "quotaUser": { - "location": "query", "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" - }, - "pp": { - "description": "Pretty-print response.", - "default": "true", - "type": "boolean", - "location": "query" - }, - "bearer_token": { - "description": "OAuth bearer token.", "type": "string", "location": "query" }, + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, "oauth_token": { "location": "query", "description": "OAuth 2.0 token for the current user.", "type": "string" }, - "upload_protocol": { + "bearer_token": { "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "description": "OAuth bearer token.", "type": "string" - }, - "prettyPrint": { - "default": "true", - "type": "boolean", - "location": "query", - "description": "Returns response with indentations and line breaks." - }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string", - "location": "query" - }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "type": "string", - "location": "query" - }, - "$.xgafv": { - "description": "V1 error format.", - "type": "string", - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" - ] - }, - "callback": { - "type": "string", - "location": "query", - "description": "JSONP" } }, "schemas": { - "SetIamPolicyRequest": { - "description": "Request message for `SetIamPolicy` method.", - "type": "object", - "properties": { - "policy": { - "$ref": "Policy", - "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." - } - }, - "id": "SetIamPolicyRequest" - }, - "PubsubMessage": { - "description": "A message data and its attributes. The message payload must not be empty;\nit must contain either a non-empty data field, or at least one attribute.", - "type": "object", - "properties": { - "data": { - "format": "byte", - "description": "The message payload. For JSON requests, the value of this field must be\n[base64-encoded](https://tools.ietf.org/html/rfc4648).", - "type": "string" - }, - "messageId": { - "description": "ID of this message, assigned by the server when the message is published.\nGuaranteed to be unique within the topic. This value may be read by a\nsubscriber that receives a `PubsubMessage` via a `Pull` call or a push\ndelivery. It must not be populated by the publisher in a `Publish` call.", - "type": "string" - }, - "attributes": { - "additionalProperties": { - "type": "string" - }, - "description": "Optional attributes for this message.", - "type": "object" - }, - "publishTime": { - "format": "google-datetime", - "description": "The time at which the message was published, populated by the server when\nit receives the `Publish` call. It must not be populated by the\npublisher in a `Publish` call.", - "type": "string" - } - }, - "id": "PubsubMessage" - }, - "ModifyPushConfigRequest": { - "description": "Request for the ModifyPushConfig method.", - "type": "object", - "properties": { - "pushConfig": { - "$ref": "PushConfig", - "description": "The push configuration for future deliveries.\n\nAn empty `pushConfig` indicates that the Pub/Sub system should\nstop pushing messages from the given subscription and allow\nmessages to be pulled and acknowledged - effectively pausing\nthe subscription if `Pull` is not called." - } - }, - "id": "ModifyPushConfigRequest" - }, - "Binding": { - "description": "Associates `members` with a `role`.", - "type": "object", - "properties": { - "members": { - "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@gmail.com` or `joe@example.com`.\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n\n* `domain:{domain}`: A Google Apps domain name that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", - "items": { - "type": "string" - }, - "type": "array" - }, - "role": { - "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired", - "type": "string" - } - }, - "id": "Binding" - }, - "Empty": { - "type": "object", - "properties": {}, - "id": "Empty", - "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`." - }, - "AcknowledgeRequest": { - "properties": { - "ackIds": { - "description": "The acknowledgment ID for the messages being acknowledged that was returned\nby the Pub/Sub system in the `Pull` response. Must not be empty.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "AcknowledgeRequest", - "description": "Request for the Acknowledge method.", - "type": "object" - }, - "ListTopicsResponse": { - "description": "Response for the `ListTopics` method.", - "type": "object", - "properties": { - "topics": { - "description": "The resulting topics.", - "items": { - "$ref": "Topic" - }, - "type": "array" - }, - "nextPageToken": { - "description": "If not empty, indicates that there may be more topics that match the\nrequest; this value should be passed in a new `ListTopicsRequest`.", - "type": "string" - } - }, - "id": "ListTopicsResponse" - }, - "ListTopicSubscriptionsResponse": { - "description": "Response for the `ListTopicSubscriptions` method.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "If not empty, indicates that there may be more subscriptions that match\nthe request; this value should be passed in a new\n`ListTopicSubscriptionsRequest` to get more subscriptions.", - "type": "string" - }, - "subscriptions": { - "description": "The names of the subscriptions that match the request.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "ListTopicSubscriptionsResponse" - }, - "PullResponse": { - "properties": { - "receivedMessages": { - "description": "Received Pub/Sub messages. The Pub/Sub system will return zero messages if\nthere are no more available in the backlog. The Pub/Sub system may return\nfewer than the `maxMessages` requested even if there are more messages\navailable in the backlog.", - "items": { - "$ref": "ReceivedMessage" - }, - "type": "array" - } - }, - "id": "PullResponse", - "description": "Response for the `Pull` method.", - "type": "object" - }, - "ReceivedMessage": { - "id": "ReceivedMessage", - "description": "A message and its corresponding acknowledgment ID.", - "type": "object", - "properties": { - "ackId": { - "description": "This ID can be used to acknowledge the received message.", - "type": "string" - }, - "message": { - "$ref": "PubsubMessage", - "description": "The message." - } - } - }, - "PushConfig": { - "description": "Configuration for a push delivery endpoint.", - "type": "object", - "properties": { - "attributes": { - "additionalProperties": { - "type": "string" - }, - "description": "Endpoint configuration attributes.\n\nEvery endpoint has a set of API supported attributes that can be used to\ncontrol different aspects of the message delivery.\n\nThe currently supported attribute is `x-goog-version`, which you can\nuse to change the format of the push message. This attribute\nindicates the version of the data expected by the endpoint. This\ncontrols the shape of the envelope (i.e. its fields and metadata).\nThe endpoint version is based on the version of the Pub/Sub\nAPI.\n\nIf not present during the `CreateSubscription` call, it will default to\nthe version of the API used to make such call. If not present during a\n`ModifyPushConfig` call, its value will not be changed. `GetSubscription`\ncalls will always return a valid version, even if the subscription was\ncreated without this attribute.\n\nThe possible values for this attribute are:\n\n* `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.\n* `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.", - "type": "object" - }, - "pushEndpoint": { - "type": "string", - "description": "A URL locating the endpoint to which messages should be pushed.\nFor example, a Webhook endpoint might use \"https://example.com/push\"." - } - }, - "id": "PushConfig" - }, - "TestIamPermissionsResponse": { - "description": "Response message for `TestIamPermissions` method.", - "type": "object", - "properties": { - "permissions": { - "items": { - "type": "string" - }, - "type": "array", - "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed." - } - }, - "id": "TestIamPermissionsResponse" - }, - "PullRequest": { - "properties": { - "returnImmediately": { - "type": "boolean", - "description": "If this is specified as true the system will respond immediately even if\nit is not able to return a message in the `Pull` response. Otherwise the\nsystem is allowed to wait until at least one message is available rather\nthan returning no messages. The client may cancel the request if it does\nnot wish to wait any longer for the response." - }, - "maxMessages": { - "format": "int32", - "description": "The maximum number of messages returned for this request. The Pub/Sub\nsystem may return fewer than the number specified.", - "type": "integer" - } - }, - "id": "PullRequest", - "description": "Request for the `Pull` method.", - "type": "object" - }, - "ListSubscriptionsResponse": { - "type": "object", - "properties": { - "nextPageToken": { - "description": "If not empty, indicates that there may be more subscriptions that match\nthe request; this value should be passed in a new\n`ListSubscriptionsRequest` to get more subscriptions.", - "type": "string" - }, - "subscriptions": { - "description": "The subscriptions that match the request.", - "items": { - "$ref": "Subscription" - }, - "type": "array" - } - }, - "id": "ListSubscriptionsResponse", - "description": "Response for the `ListSubscriptions` method." - }, - "PublishRequest": { - "description": "Request for the Publish method.", - "type": "object", - "properties": { - "messages": { - "items": { - "$ref": "PubsubMessage" - }, - "type": "array", - "description": "The messages to publish." - } - }, - "id": "PublishRequest" - }, - "PublishResponse": { - "type": "object", - "properties": { - "messageIds": { - "description": "The server-assigned ID of each published message, in the same order as\nthe messages in the request. IDs are guaranteed to be unique within\nthe topic.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "PublishResponse", - "description": "Response for the `Publish` method." - }, - "Subscription": { - "properties": { - "pushConfig": { - "$ref": "PushConfig", - "description": "If push delivery is used with this subscription, this field is\nused to configure it. An empty `pushConfig` signifies that the subscriber\nwill pull and ack messages using API methods." - }, - "ackDeadlineSeconds": { - "format": "int32", - "description": "This value is the maximum time after a subscriber receives a message\nbefore the subscriber should acknowledge the message. After message\ndelivery but before the ack deadline expires and before the message is\nacknowledged, it is an outstanding message and will not be delivered\nagain during that time (on a best-effort basis).\n\nFor pull subscriptions, this value is used as the initial value for the ack\ndeadline. To override this value for a given message, call\n`ModifyAckDeadline` with the corresponding `ack_id` if using pull.\nThe maximum custom deadline you can specify is 600 seconds (10 minutes).\n\nFor push delivery, this value is also used to set the request timeout for\nthe call to the push endpoint.\n\nIf the subscriber never acknowledges the message, the Pub/Sub\nsystem will eventually redeliver the message.\n\nIf this parameter is 0, a default value of 10 seconds is used.", - "type": "integer" - }, - "name": { - "description": "The name of the subscription. It must have the format\n`\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must\nstart with a letter, and contain only letters (`[A-Za-z]`), numbers\n(`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),\nplus (`+`) or percent signs (`%`). It must be between 3 and 255 characters\nin length, and it must not start with `\"goog\"`.", - "type": "string" - }, - "topic": { - "description": "The name of the topic from which this subscription is receiving messages.\nThe value of this field will be `_deleted-topic_` if the topic has been\ndeleted.", - "type": "string" - } - }, - "id": "Subscription", - "description": "A subscription resource.", - "type": "object" - }, - "TestIamPermissionsRequest": { - "description": "Request message for `TestIamPermissions` method.", - "type": "object", - "properties": { - "permissions": { - "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "TestIamPermissionsRequest" - }, - "Topic": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the topic. It must have the format\n`\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter,\nand contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),\nunderscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent\nsigns (`%`). It must be between 3 and 255 characters in length, and it\nmust not start with `\"goog\"`." - } - }, - "id": "Topic", - "description": "A topic resource." - }, - "Policy": { - "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam).", - "type": "object", - "properties": { - "etag": { - "format": "byte", - "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.", - "type": "string" - }, - "version": { - "format": "int32", - "description": "Version of the `Policy`. The default version is 0.", - "type": "integer" - }, - "bindings": { - "description": "Associates a list of `members` to a `role`.\n`bindings` with no members will result in an error.", - "items": { - "$ref": "Binding" - }, - "type": "array" - } - }, - "id": "Policy" - }, "ModifyAckDeadlineRequest": { "description": "Request for the ModifyAckDeadline method.", "type": "object", @@ -1039,6 +718,326 @@ } }, "id": "ModifyAckDeadlineRequest" + }, + "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "type": "object", + "properties": { + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + } + }, + "id": "SetIamPolicyRequest" + }, + "PubsubMessage": { + "properties": { + "publishTime": { + "format": "google-datetime", + "description": "The time at which the message was published, populated by the server when\nit receives the `Publish` call. It must not be populated by the\npublisher in a `Publish` call.", + "type": "string" + }, + "data": { + "format": "byte", + "description": "The message payload. For JSON requests, the value of this field must be\n[base64-encoded](https://tools.ietf.org/html/rfc4648).", + "type": "string" + }, + "messageId": { + "description": "ID of this message, assigned by the server when the message is published.\nGuaranteed to be unique within the topic. This value may be read by a\nsubscriber that receives a `PubsubMessage` via a `Pull` call or a push\ndelivery. It must not be populated by the publisher in a `Publish` call.", + "type": "string" + }, + "attributes": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional attributes for this message.", + "type": "object" + } + }, + "id": "PubsubMessage", + "description": "A message data and its attributes. The message payload must not be empty;\nit must contain either a non-empty data field, or at least one attribute.", + "type": "object" + }, + "ModifyPushConfigRequest": { + "description": "Request for the ModifyPushConfig method.", + "type": "object", + "properties": { + "pushConfig": { + "description": "The push configuration for future deliveries.\n\nAn empty `pushConfig` indicates that the Pub/Sub system should\nstop pushing messages from the given subscription and allow\nmessages to be pulled and acknowledged - effectively pausing\nthe subscription if `Pull` is not called.", + "$ref": "PushConfig" + } + }, + "id": "ModifyPushConfigRequest" + }, + "Binding": { + "description": "Associates `members` with a `role`.", + "type": "object", + "properties": { + "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@gmail.com` or `joe@example.com`.\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n\n* `domain:{domain}`: A Google Apps domain name that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired", + "type": "string" + } + }, + "id": "Binding" + }, + "ListTopicsResponse": { + "description": "Response for the `ListTopics` method.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "If not empty, indicates that there may be more topics that match the\nrequest; this value should be passed in a new `ListTopicsRequest`.", + "type": "string" + }, + "topics": { + "description": "The resulting topics.", + "items": { + "$ref": "Topic" + }, + "type": "array" + } + }, + "id": "ListTopicsResponse" + }, + "Empty": { + "properties": {}, + "id": "Empty", + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object" + }, + "AcknowledgeRequest": { + "description": "Request for the Acknowledge method.", + "type": "object", + "properties": { + "ackIds": { + "items": { + "type": "string" + }, + "type": "array", + "description": "The acknowledgment ID for the messages being acknowledged that was returned\nby the Pub/Sub system in the `Pull` response. Must not be empty." + } + }, + "id": "AcknowledgeRequest" + }, + "ListTopicSubscriptionsResponse": { + "properties": { + "nextPageToken": { + "description": "If not empty, indicates that there may be more subscriptions that match\nthe request; this value should be passed in a new\n`ListTopicSubscriptionsRequest` to get more subscriptions.", + "type": "string" + }, + "subscriptions": { + "description": "The names of the subscriptions that match the request.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "ListTopicSubscriptionsResponse", + "description": "Response for the `ListTopicSubscriptions` method.", + "type": "object" + }, + "PullResponse": { + "id": "PullResponse", + "description": "Response for the `Pull` method.", + "type": "object", + "properties": { + "receivedMessages": { + "description": "Received Pub/Sub messages. The Pub/Sub system will return zero messages if\nthere are no more available in the backlog. The Pub/Sub system may return\nfewer than the `maxMessages` requested even if there are more messages\navailable in the backlog.", + "items": { + "$ref": "ReceivedMessage" + }, + "type": "array" + } + } + }, + "ReceivedMessage": { + "properties": { + "message": { + "description": "The message.", + "$ref": "PubsubMessage" + }, + "ackId": { + "description": "This ID can be used to acknowledge the received message.", + "type": "string" + } + }, + "id": "ReceivedMessage", + "description": "A message and its corresponding acknowledgment ID.", + "type": "object" + }, + "PushConfig": { + "description": "Configuration for a push delivery endpoint.", + "type": "object", + "properties": { + "attributes": { + "description": "Endpoint configuration attributes.\n\nEvery endpoint has a set of API supported attributes that can be used to\ncontrol different aspects of the message delivery.\n\nThe currently supported attribute is `x-goog-version`, which you can\nuse to change the format of the push message. This attribute\nindicates the version of the data expected by the endpoint. This\ncontrols the shape of the envelope (i.e. its fields and metadata).\nThe endpoint version is based on the version of the Pub/Sub\nAPI.\n\nIf not present during the `CreateSubscription` call, it will default to\nthe version of the API used to make such call. If not present during a\n`ModifyPushConfig` call, its value will not be changed. `GetSubscription`\ncalls will always return a valid version, even if the subscription was\ncreated without this attribute.\n\nThe possible values for this attribute are:\n\n* `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.\n* `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "pushEndpoint": { + "description": "A URL locating the endpoint to which messages should be pushed.\nFor example, a Webhook endpoint might use \"https://example.com/push\".", + "type": "string" + } + }, + "id": "PushConfig" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "type": "object", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "TestIamPermissionsResponse" + }, + "PullRequest": { + "id": "PullRequest", + "description": "Request for the `Pull` method.", + "type": "object", + "properties": { + "returnImmediately": { + "description": "If this is specified as true the system will respond immediately even if\nit is not able to return a message in the `Pull` response. Otherwise the\nsystem is allowed to wait until at least one message is available rather\nthan returning no messages. The client may cancel the request if it does\nnot wish to wait any longer for the response.", + "type": "boolean" + }, + "maxMessages": { + "type": "integer", + "format": "int32", + "description": "The maximum number of messages returned for this request. The Pub/Sub\nsystem may return fewer than the number specified." + } + } + }, + "ListSubscriptionsResponse": { + "description": "Response for the `ListSubscriptions` method.", + "type": "object", + "properties": { + "subscriptions": { + "description": "The subscriptions that match the request.", + "items": { + "$ref": "Subscription" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If not empty, indicates that there may be more subscriptions that match\nthe request; this value should be passed in a new\n`ListSubscriptionsRequest` to get more subscriptions.", + "type": "string" + } + }, + "id": "ListSubscriptionsResponse" + }, + "PublishRequest": { + "type": "object", + "properties": { + "messages": { + "description": "The messages to publish.", + "items": { + "$ref": "PubsubMessage" + }, + "type": "array" + } + }, + "id": "PublishRequest", + "description": "Request for the Publish method." + }, + "PublishResponse": { + "description": "Response for the `Publish` method.", + "type": "object", + "properties": { + "messageIds": { + "description": "The server-assigned ID of each published message, in the same order as\nthe messages in the request. IDs are guaranteed to be unique within\nthe topic.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "PublishResponse" + }, + "Subscription": { + "description": "A subscription resource.", + "type": "object", + "properties": { + "ackDeadlineSeconds": { + "format": "int32", + "description": "This value is the maximum time after a subscriber receives a message\nbefore the subscriber should acknowledge the message. After message\ndelivery but before the ack deadline expires and before the message is\nacknowledged, it is an outstanding message and will not be delivered\nagain during that time (on a best-effort basis).\n\nFor pull subscriptions, this value is used as the initial value for the ack\ndeadline. To override this value for a given message, call\n`ModifyAckDeadline` with the corresponding `ack_id` if using pull.\nThe maximum custom deadline you can specify is 600 seconds (10 minutes).\n\nFor push delivery, this value is also used to set the request timeout for\nthe call to the push endpoint.\n\nIf the subscriber never acknowledges the message, the Pub/Sub\nsystem will eventually redeliver the message.\n\nIf this parameter is 0, a default value of 10 seconds is used.", + "type": "integer" + }, + "name": { + "type": "string", + "description": "The name of the subscription. It must have the format\n`\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must\nstart with a letter, and contain only letters (`[A-Za-z]`), numbers\n(`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),\nplus (`+`) or percent signs (`%`). It must be between 3 and 255 characters\nin length, and it must not start with `\"goog\"`." + }, + "topic": { + "type": "string", + "description": "The name of the topic from which this subscription is receiving messages.\nThe value of this field will be `_deleted-topic_` if the topic has been\ndeleted." + }, + "pushConfig": { + "$ref": "PushConfig", + "description": "If push delivery is used with this subscription, this field is\nused to configure it. An empty `pushConfig` signifies that the subscriber\nwill pull and ack messages using API methods." + } + }, + "id": "Subscription" + }, + "TestIamPermissionsRequest": { + "id": "TestIamPermissionsRequest", + "description": "Request message for `TestIamPermissions` method.", + "type": "object", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "Policy": { + "id": "Policy", + "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam).", + "type": "object", + "properties": { + "etag": { + "format": "byte", + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.", + "type": "string" + }, + "version": { + "format": "int32", + "description": "Version of the `Policy`. The default version is 0.", + "type": "integer" + }, + "bindings": { + "description": "Associates a list of `members` to a `role`.\n`bindings` with no members will result in an error.", + "items": { + "$ref": "Binding" + }, + "type": "array" + } + } + }, + "Topic": { + "description": "A topic resource.", + "type": "object", + "properties": { + "name": { + "description": "The name of the topic. It must have the format\n`\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter,\nand contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),\nunderscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent\nsigns (`%`). It must be between 3 and 255 characters in length, and it\nmust not start with `\"goog\"`.", + "type": "string" + } + }, + "id": "Topic" } }, "protocol": "rest", @@ -1052,24 +1051,25 @@ "auth": { "oauth2": { "scopes": { - "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" - }, "https://www.googleapis.com/auth/pubsub": { "description": "View and manage Pub/Sub topics and subscriptions" + }, + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" } } } }, + "servicePath": "", "kind": "discovery#restDescription", "description": "Provides reliable, many-to-many, asynchronous messaging between applications.\n", - "servicePath": "", "rootUrl": "https://pubsub.googleapis.com/", "basePath": "", "ownerDomain": "google.com", "name": "pubsub", "batchPath": "batch", - "revision": "20170622", + "revision": "20170918", "documentationLink": "https://cloud.google.com/pubsub/docs", - "id": "pubsub:v1beta2" + "id": "pubsub:v1beta2", + "title": "Google Cloud Pub/Sub API" } diff --git a/vendor/google.golang.org/api/qpxexpress/v1/qpxexpress-api.json b/vendor/google.golang.org/api/qpxexpress/v1/qpxexpress-api.json index dcde13991..577bfa72d 100644 --- a/vendor/google.golang.org/api/qpxexpress/v1/qpxexpress-api.json +++ b/vendor/google.golang.org/api/qpxexpress/v1/qpxexpress-api.json @@ -21,7 +21,7 @@ "basePath": "/qpxExpress/v1/trips/", "rootUrl": "https://www.googleapis.com/", "servicePath": "qpxExpress/v1/trips/", - "batchPath": "batch", + "batchPath": "batch/qpxExpress/v1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/replicapool/v1beta1/replicapool-api.json b/vendor/google.golang.org/api/replicapool/v1beta1/replicapool-api.json index f45c833c9..d688986bc 100644 --- a/vendor/google.golang.org/api/replicapool/v1beta1/replicapool-api.json +++ b/vendor/google.golang.org/api/replicapool/v1beta1/replicapool-api.json @@ -23,7 +23,7 @@ "basePath": "/replicapool/v1beta1/projects/", "rootUrl": "https://www.googleapis.com/", "servicePath": "replicapool/v1beta1/projects/", - "batchPath": "batch", + "batchPath": "batch/replicapool/v1beta1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/replicapool/v1beta2/replicapool-api.json b/vendor/google.golang.org/api/replicapool/v1beta2/replicapool-api.json index 035368bc3..1cf395b98 100644 --- a/vendor/google.golang.org/api/replicapool/v1beta2/replicapool-api.json +++ b/vendor/google.golang.org/api/replicapool/v1beta2/replicapool-api.json @@ -23,7 +23,7 @@ "basePath": "/replicapool/v1beta2/projects/", "rootUrl": "https://www.googleapis.com/", "servicePath": "replicapool/v1beta2/projects/", - "batchPath": "batch", + "batchPath": "batch/replicapool/v1beta2", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/replicapoolupdater/v1beta1/replicapoolupdater-api.json b/vendor/google.golang.org/api/replicapoolupdater/v1beta1/replicapoolupdater-api.json index 1f771a5bc..6231b3477 100644 --- a/vendor/google.golang.org/api/replicapoolupdater/v1beta1/replicapoolupdater-api.json +++ b/vendor/google.golang.org/api/replicapoolupdater/v1beta1/replicapoolupdater-api.json @@ -23,7 +23,7 @@ "basePath": "/replicapoolupdater/v1beta1/projects/", "rootUrl": "https://www.googleapis.com/", "servicePath": "replicapoolupdater/v1beta1/projects/", - "batchPath": "batch", + "batchPath": "batch/replicapoolupdater/v1beta1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/reseller/v1/reseller-api.json b/vendor/google.golang.org/api/reseller/v1/reseller-api.json index 0d9997fc9..022cd0be8 100644 --- a/vendor/google.golang.org/api/reseller/v1/reseller-api.json +++ b/vendor/google.golang.org/api/reseller/v1/reseller-api.json @@ -23,7 +23,7 @@ "basePath": "/apps/reseller/v1/", "rootUrl": "https://www.googleapis.com/", "servicePath": "apps/reseller/v1/", - "batchPath": "batch", + "batchPath": "batch/reseller/v1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/resourceviews/v1beta1/resourceviews-api.json b/vendor/google.golang.org/api/resourceviews/v1beta1/resourceviews-api.json index 3e8602b69..bb2c81df2 100644 --- a/vendor/google.golang.org/api/resourceviews/v1beta1/resourceviews-api.json +++ b/vendor/google.golang.org/api/resourceviews/v1beta1/resourceviews-api.json @@ -23,7 +23,7 @@ "basePath": "/resourceviews/v1beta1/projects/", "rootUrl": "https://www.googleapis.com/", "servicePath": "resourceviews/v1beta1/projects/", - "batchPath": "batch", + "batchPath": "batch/resourceviews/v1beta1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/resourceviews/v1beta2/resourceviews-api.json b/vendor/google.golang.org/api/resourceviews/v1beta2/resourceviews-api.json index 049ffe69c..233acf362 100644 --- a/vendor/google.golang.org/api/resourceviews/v1beta2/resourceviews-api.json +++ b/vendor/google.golang.org/api/resourceviews/v1beta2/resourceviews-api.json @@ -23,7 +23,7 @@ "basePath": "/resourceviews/v1beta2/projects/", "rootUrl": "https://www.googleapis.com/", "servicePath": "resourceviews/v1beta2/projects/", - "batchPath": "batch", + "batchPath": "batch/resourceviews/v1beta2", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/runtimeconfig/v1/runtimeconfig-api.json b/vendor/google.golang.org/api/runtimeconfig/v1/runtimeconfig-api.json index 600484672..726611ed3 100644 --- a/vendor/google.golang.org/api/runtimeconfig/v1/runtimeconfig-api.json +++ b/vendor/google.golang.org/api/runtimeconfig/v1/runtimeconfig-api.json @@ -1,22 +1,225 @@ { - "id": "runtimeconfig:v1", - "revision": "20170620", + "ownerDomain": "google.com", + "name": "runtimeconfig", + "batchPath": "batch", + "fullyEncodeReservedExpansion": true, + "title": "Google Cloud Runtime Configuration API", + "ownerName": "Google", + "resources": { + "operations": { + "methods": { + "cancel": { + "path": "v1/{+name}:cancel", + "id": "runtimeconfig.operations.cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "parameters": { + "name": { + "location": "path", + "description": "The name of the operation resource to be cancelled.", + "type": "string", + "required": true, + "pattern": "^operations/.+$" + } + }, + "flatPath": "v1/operations/{operationsId}:cancel" + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "parameters": { + "name": { + "location": "path", + "description": "The name of the operation resource to be deleted.", + "type": "string", + "required": true, + "pattern": "^operations/.+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "flatPath": "v1/operations/{operationsId}", + "id": "runtimeconfig.operations.delete", + "path": "v1/{+name}" + }, + "list": { + "id": "runtimeconfig.operations.list", + "path": "v1/{+name}", + "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", + "response": { + "$ref": "ListOperationsResponse" + }, + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "parameters": { + "filter": { + "location": "query", + "description": "The standard list filter.", + "type": "string" + }, + "pageToken": { + "description": "The standard list page token.", + "type": "string", + "location": "query" + }, + "name": { + "description": "The name of the operation's parent resource.", + "type": "string", + "required": true, + "pattern": "^operations$", + "location": "path" + }, + "pageSize": { + "format": "int32", + "description": "The standard list page size.", + "type": "integer", + "location": "query" + } + }, + "flatPath": "v1/operations" + } + } + } + }, + "parameters": { + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", + "location": "query" + }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string", + "location": "query" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", + "location": "query" + }, + "uploadType": { + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" + }, + "callback": { + "description": "JSONP", + "type": "string", + "location": "query" + }, + "$.xgafv": { + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string" + }, + "alt": { + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "type": "string" + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "access_token": { + "location": "query", + "description": "OAuth access token.", + "type": "string" + }, + "quotaUser": { + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string" + } + }, + "version": "v1", + "baseUrl": "https://runtimeconfig.googleapis.com/", + "servicePath": "", + "description": "The Runtime Configurator allows you to dynamically configure and expose variables through Google Cloud Platform. In addition, you can also set Watchers and Waiters that will watch for changes to your data and return based on certain conditions.", + "kind": "discovery#restDescription", + "basePath": "", + "revision": "20170829", "documentationLink": "https://cloud.google.com/deployment-manager/runtime-configurator/", + "id": "runtimeconfig:v1", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { "Status": { "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", "type": "object", "properties": { "details": { - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", "items": { - "type": "object", "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" - } + }, + "type": "object" }, "type": "array" }, @@ -33,19 +236,20 @@ "id": "Status" }, "Operation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", "type": "object", "properties": { "done": { - "description": "If the value is `false`, it means the operation is still in progress.\nIf true, the operation is completed, and either `error` or `response` is\navailable.", + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", "type": "boolean" }, "response": { - "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", - "type": "object", "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" - } + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" }, "name": { "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`.", @@ -57,30 +261,29 @@ }, "metadata": { "additionalProperties": { - "type": "any", - "description": "Properties of the object. Contains field @type with type URL." + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" }, "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", "type": "object" } }, - "id": "Operation", - "description": "This resource represents a long-running operation that is the result of a\nnetwork API call." + "id": "Operation" }, "ListOperationsResponse": { "description": "The response message for Operations.ListOperations.", "type": "object", "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, "operations": { "description": "A list of operations that matches the specified filter in the request.", "items": { "$ref": "Operation" }, "type": "array" - }, - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" } }, "id": "ListOperationsResponse" @@ -92,10 +295,10 @@ "id": "Empty" }, "CancelOperationRequest": { - "type": "object", "properties": {}, "id": "CancelOperationRequest", - "description": "The request message for Operations.CancelOperation." + "description": "The request message for Operations.CancelOperation.", + "type": "object" } }, "protocol": "rest", @@ -116,207 +319,5 @@ } } }, - "rootUrl": "https://runtimeconfig.googleapis.com/", - "ownerDomain": "google.com", - "name": "runtimeconfig", - "batchPath": "batch", - "title": "Google Cloud Runtime Configuration API", - "ownerName": "Google", - "resources": { - "operations": { - "methods": { - "cancel": { - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "POST", - "parameters": { - "name": { - "description": "The name of the operation resource to be cancelled.", - "type": "string", - "required": true, - "pattern": "^operations/.+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloudruntimeconfig" - ], - "flatPath": "v1/operations/{operationsId}:cancel", - "id": "runtimeconfig.operations.cancel", - "path": "v1/{+name}:cancel", - "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", - "request": { - "$ref": "CancelOperationRequest" - } - }, - "delete": { - "flatPath": "v1/operations/{operationsId}", - "id": "runtimeconfig.operations.delete", - "path": "v1/{+name}", - "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "DELETE", - "parameters": { - "name": { - "type": "string", - "required": true, - "pattern": "^operations/.+$", - "location": "path", - "description": "The name of the operation resource to be deleted." - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloudruntimeconfig" - ] - }, - "list": { - "flatPath": "v1/operations", - "path": "v1/{+name}", - "id": "runtimeconfig.operations.list", - "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", - "httpMethod": "GET", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "ListOperationsResponse" - }, - "parameters": { - "filter": { - "location": "query", - "description": "The standard list filter.", - "type": "string" - }, - "pageToken": { - "location": "query", - "description": "The standard list page token.", - "type": "string" - }, - "name": { - "type": "string", - "required": true, - "pattern": "^operations$", - "location": "path", - "description": "The name of the operation's parent resource." - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "The standard list page size.", - "type": "integer" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloudruntimeconfig" - ] - } - } - } - }, - "parameters": { - "quotaUser": { - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" - }, - "pp": { - "description": "Pretty-print response.", - "default": "true", - "type": "boolean", - "location": "query" - }, - "oauth_token": { - "type": "string", - "location": "query", - "description": "OAuth 2.0 token for the current user." - }, - "bearer_token": { - "location": "query", - "description": "OAuth bearer token.", - "type": "string" - }, - "upload_protocol": { - "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string" - }, - "prettyPrint": { - "description": "Returns response with indentations and line breaks.", - "default": "true", - "type": "boolean", - "location": "query" - }, - "uploadType": { - "type": "string", - "location": "query", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")." - }, - "fields": { - "location": "query", - "description": "Selector specifying which fields to include in a partial response.", - "type": "string" - }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, - "$.xgafv": { - "enum": [ - "1", - "2" - ], - "description": "V1 error format.", - "type": "string", - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query" - }, - "alt": { - "enum": [ - "json", - "media", - "proto" - ], - "type": "string", - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query", - "description": "Data format for response.", - "default": "json" - }, - "access_token": { - "location": "query", - "description": "OAuth access token.", - "type": "string" - }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - } - }, - "version": "v1", - "baseUrl": "https://runtimeconfig.googleapis.com/", - "kind": "discovery#restDescription", - "description": "The Runtime Configurator allows you to dynamically configure and expose variables through Google Cloud Platform. In addition, you can also set Watchers and Waiters that will watch for changes to your data and return based on certain conditions.", - "servicePath": "", - "basePath": "" + "rootUrl": "https://runtimeconfig.googleapis.com/" } diff --git a/vendor/google.golang.org/api/runtimeconfig/v1/runtimeconfig-gen.go b/vendor/google.golang.org/api/runtimeconfig/v1/runtimeconfig-gen.go index 2b66cb6a7..66028c9c4 100644 --- a/vendor/google.golang.org/api/runtimeconfig/v1/runtimeconfig-gen.go +++ b/vendor/google.golang.org/api/runtimeconfig/v1/runtimeconfig-gen.go @@ -153,8 +153,8 @@ func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) { type Operation struct { // Done: If the value is `false`, it means the operation is still in // progress. - // If true, the operation is completed, and either `error` or `response` - // is + // If `true`, the operation is completed, and either `error` or + // `response` is // available. Done bool `json:"done,omitempty"` @@ -302,9 +302,9 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in diff --git a/vendor/google.golang.org/api/runtimeconfig/v1beta1/runtimeconfig-api.json b/vendor/google.golang.org/api/runtimeconfig/v1beta1/runtimeconfig-api.json index 89651b3da..c64fdde97 100644 --- a/vendor/google.golang.org/api/runtimeconfig/v1beta1/runtimeconfig-api.json +++ b/vendor/google.golang.org/api/runtimeconfig/v1beta1/runtimeconfig-api.json @@ -1,39 +1,491 @@ { - "canonicalName": "Cloud RuntimeConfig", - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" - }, - "https://www.googleapis.com/auth/cloudruntimeconfig": { - "description": "Manage your Google Cloud Platform services' runtime configuration" - } - } - } - }, - "rootUrl": "https://runtimeconfig.googleapis.com/", - "ownerDomain": "google.com", - "name": "runtimeconfig", - "batchPath": "batch", - "title": "Google Cloud Runtime Configuration API", "ownerName": "Google", "resources": { "projects": { "resources": { "configs": { + "methods": { + "delete": { + "httpMethod": "DELETE", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "parameters": { + "name": { + "pattern": "^projects/[^/]+/configs/[^/]+$", + "location": "path", + "description": "The RuntimeConfig resource to delete, in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`", + "type": "string", + "required": true + } + }, + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}", + "path": "v1beta1/{+name}", + "id": "runtimeconfig.projects.configs.delete", + "description": "Deletes a RuntimeConfig resource." + }, + "list": { + "description": "Lists all the RuntimeConfig resources within project.", + "httpMethod": "GET", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "ListConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "parameters": { + "pageSize": { + "location": "query", + "format": "int32", + "description": "Specifies the number of results to return per page. If there are fewer\nelements than the specified number, returns all elements.", + "type": "integer" + }, + "parent": { + "description": "The [project ID](https://support.google.com/cloud/answer/6158840?hl=en&ref_topic=6158848)\nfor this request, in the format `projects/[PROJECT_ID]`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to a `nextPageToken`\nreturned by a previous list request to get the next page of results.", + "type": "string", + "location": "query" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/configs", + "path": "v1beta1/{+parent}/configs", + "id": "runtimeconfig.projects.configs.list" + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "parameters": { + "resource": { + "pattern": "^projects/[^/]+/configs/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}:setIamPolicy", + "id": "runtimeconfig.projects.configs.setIamPolicy", + "path": "v1beta1/{+resource}:setIamPolicy" + }, + "create": { + "httpMethod": "POST", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "RuntimeConfig" + }, + "parameters": { + "requestId": { + "location": "query", + "description": "An optional but recommended unique `request_id`. If the server\nreceives two `create()` requests with the same\n`request_id`, then the second request will be ignored and the\nfirst resource created and stored in the backend is returned.\nEmpty `request_id` fields are ignored.\n\nIt is responsibility of the client to ensure uniqueness of the\n`request_id` strings.\n\n`request_id` strings are limited to 64 characters.", + "type": "string" + }, + "parent": { + "description": "The [project ID](https://support.google.com/cloud/answer/6158840?hl=en&ref_topic=6158848)\nfor this request, in the format `projects/[PROJECT_ID]`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "flatPath": "v1beta1/projects/{projectsId}/configs", + "path": "v1beta1/{+parent}/configs", + "id": "runtimeconfig.projects.configs.create", + "description": "Creates a new RuntimeConfig resource. The configuration name must be\nunique within project.", + "request": { + "$ref": "RuntimeConfig" + } + }, + "getIamPolicy": { + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}:getIamPolicy", + "path": "v1beta1/{+resource}:getIamPolicy", + "id": "runtimeconfig.projects.configs.getIamPolicy", + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", + "httpMethod": "GET", + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "parameters": { + "resource": { + "location": "path", + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/configs/[^/]+$" + } + } + }, + "get": { + "description": "Gets information about a RuntimeConfig resource.", + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "RuntimeConfig" + }, + "parameters": { + "name": { + "pattern": "^projects/[^/]+/configs/[^/]+$", + "location": "path", + "description": "The name of the RuntimeConfig resource to retrieve, in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}", + "path": "v1beta1/{+name}", + "id": "runtimeconfig.projects.configs.get" + }, + "update": { + "description": "Updates a RuntimeConfig resource. The configuration must exist beforehand.", + "request": { + "$ref": "RuntimeConfig" + }, + "response": { + "$ref": "RuntimeConfig" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PUT", + "parameters": { + "name": { + "description": "The name of the RuntimeConfig resource to update, in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/configs/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}", + "id": "runtimeconfig.projects.configs.update", + "path": "v1beta1/{+name}" + }, + "testIamPermissions": { + "id": "runtimeconfig.projects.configs.testIamPermissions", + "path": "v1beta1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "parameters": { + "resource": { + "location": "path", + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/configs/[^/]+$" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}:testIamPermissions" + } + }, "resources": { - "waiters": { + "variables": { "methods": { + "get": { + "description": "Gets information about a single variable.", + "response": { + "$ref": "Variable" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the variable to return, in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIBLE_NAME]`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/configs/[^/]+/variables/.+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/variables/{variablesId}", + "id": "runtimeconfig.projects.configs.variables.get", + "path": "v1beta1/{+name}" + }, + "watch": { + "response": { + "$ref": "Variable" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the variable to watch, in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/configs/[^/]+/variables/.+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/variables/{variablesId}:watch", + "id": "runtimeconfig.projects.configs.variables.watch", + "path": "v1beta1/{+name}:watch", + "description": "Watches a specific variable and waits for a change in the variable's value.\nWhen there is a change, this method returns the new value or times out.\n\nIf a variable is deleted while being watched, the `variableState` state is\nset to `DELETED` and the method returns the last known variable `value`.\n\nIf you set the deadline for watching to a larger value than internal timeout\n(60 seconds), the current variable value is returned and the `variableState`\nwill be `VARIABLE_STATE_UNSPECIFIED`.\n\nTo learn more about creating a watcher, read the\n[Watching a Variable for Changes](/deployment-manager/runtime-configurator/watching-a-variable)\ndocumentation.", + "request": { + "$ref": "WatchVariableRequest" + } + }, + "update": { + "response": { + "$ref": "Variable" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "PUT", + "parameters": { + "name": { + "pattern": "^projects/[^/]+/configs/[^/]+/variables/.+$", + "location": "path", + "description": "The name of the variable to update, in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]`", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/variables/{variablesId}", + "id": "runtimeconfig.projects.configs.variables.update", + "path": "v1beta1/{+name}", + "description": "Updates an existing variable with a new value.", + "request": { + "$ref": "Variable" + } + }, + "testIamPermissions": { + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/configs/[^/]+/variables/.+$", + "location": "path" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/variables/{variablesId}:testIamPermissions", + "path": "v1beta1/{+resource}:testIamPermissions", + "id": "runtimeconfig.projects.configs.variables.testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning." + }, "delete": { - "description": "Deletes the waiter with the specified name.", - "httpMethod": "DELETE", "response": { "$ref": "Empty" }, "parameterOrder": [ "name" ], + "httpMethod": "DELETE", + "parameters": { + "recursive": { + "location": "query", + "description": "Set to `true` to recursively delete multiple variables with the same\nprefix.", + "type": "boolean" + }, + "name": { + "pattern": "^projects/[^/]+/configs/[^/]+/variables/.+$", + "location": "path", + "description": "The name of the variable to delete, in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]`", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/variables/{variablesId}", + "id": "runtimeconfig.projects.configs.variables.delete", + "path": "v1beta1/{+name}", + "description": "Deletes a variable or multiple variables.\n\nIf you specify a variable name, then that variable is deleted. If you\nspecify a prefix and `recursive` is true, then all variables with that\nprefix are deleted. You must set a `recursive` to true if you delete\nvariables by prefix." + }, + "list": { + "description": "Lists variables within given a configuration, matching any provided filters.\nThis only lists variable names, not the values, unless `return_values` is\ntrue, in which case only variables that user has IAM permission to GetVariable\nwill be returned.", + "response": { + "$ref": "ListVariablesResponse" + }, + "httpMethod": "GET", + "parameterOrder": [ + "parent" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "parameters": { + "filter": { + "description": "Filters variables by matching the specified filter. For example:\n\n`projects/example-project/config/[CONFIG_NAME]/variables/example-variable`.", + "type": "string", + "location": "query" + }, + "returnValues": { + "description": "The flag indicates whether the user wants to return values of variables.\nIf true, then only those variables that user has IAM GetVariable permission\nwill be returned along with their values.", + "type": "boolean", + "location": "query" + }, + "pageToken": { + "location": "query", + "description": "Specifies a page token to use. Set `pageToken` to a `nextPageToken`\nreturned by a previous list request to get the next page of results.", + "type": "string" + }, + "pageSize": { + "format": "int32", + "description": "Specifies the number of results to return per page. If there are fewer\nelements than the specified number, returns all elements.", + "type": "integer", + "location": "query" + }, + "parent": { + "description": "The path to the RuntimeConfig resource for which you want to list variables.\nThe configuration must exist beforehand; the path must be in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/configs/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/variables", + "id": "runtimeconfig.projects.configs.variables.list", + "path": "v1beta1/{+parent}/variables" + }, + "create": { + "request": { + "$ref": "Variable" + }, + "description": "Creates a variable within the given configuration. You cannot create\na variable with a name that is a prefix of an existing variable name, or a\nname that has an existing variable name as a prefix.\n\nTo learn more about creating a variable, read the\n[Setting and Getting Data](/deployment-manager/runtime-configurator/set-and-get-variables)\ndocumentation.", + "response": { + "$ref": "Variable" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], + "parameters": { + "requestId": { + "description": "An optional but recommended unique `request_id`. If the server\nreceives two `create()` requests with the same\n`request_id`, then the second request will be ignored and the\nfirst resource created and stored in the backend is returned.\nEmpty `request_id` fields are ignored.\n\nIt is responsibility of the client to ensure uniqueness of the\n`request_id` strings.\n\n`request_id` strings are limited to 64 characters.", + "type": "string", + "location": "query" + }, + "parent": { + "description": "The path to the RutimeConfig resource that this variable should belong to.\nThe configuration must exist beforehand; the path must be in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/configs/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/variables", + "id": "runtimeconfig.projects.configs.variables.create", + "path": "v1beta1/{+parent}/variables" + } + } + }, + "waiters": { + "methods": { + "delete": { + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/waiters/{waitersId}", + "id": "runtimeconfig.projects.configs.waiters.delete", + "path": "v1beta1/{+name}", + "description": "Deletes the waiter with the specified name.", + "response": { + "$ref": "Empty" + }, + "httpMethod": "DELETE", + "parameterOrder": [ + "name" + ], "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloudruntimeconfig" @@ -46,22 +498,20 @@ "pattern": "^projects/[^/]+/configs/[^/]+/waiters/[^/]+$", "location": "path" } - }, - "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/waiters/{waitersId}", - "path": "v1beta1/{+name}", - "id": "runtimeconfig.projects.configs.waiters.delete" + } }, "get": { - "path": "v1beta1/{+name}", - "id": "runtimeconfig.projects.configs.waiters.get", - "description": "Gets information about a single waiter.", "httpMethod": "GET", - "parameterOrder": [ - "name" - ], "response": { "$ref": "Waiter" }, + "parameterOrder": [ + "name" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], "parameters": { "name": { "description": "The fully-qualified name of the Waiter resource object to retrieve, in the\nformat:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]`", @@ -71,39 +521,68 @@ "location": "path" } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloudruntimeconfig" - ], - "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/waiters/{waitersId}" + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/waiters/{waitersId}", + "path": "v1beta1/{+name}", + "id": "runtimeconfig.projects.configs.waiters.get", + "description": "Gets information about a single waiter." }, "list": { + "id": "runtimeconfig.projects.configs.waiters.list", + "path": "v1beta1/{+parent}/waiters", "description": "List waiters within the given configuration.", - "httpMethod": "GET", "response": { "$ref": "ListWaitersResponse" }, "parameterOrder": [ "parent" ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloudruntimeconfig" + ], "parameters": { "pageToken": { + "location": "query", "description": "Specifies a page token to use. Set `pageToken` to a `nextPageToken`\nreturned by a previous list request to get the next page of results.", - "type": "string", - "location": "query" + "type": "string" }, "pageSize": { + "location": "query", "format": "int32", "description": "Specifies the number of results to return per page. If there are fewer\nelements than the specified number, returns all elements.", - "type": "integer", - "location": "query" + "type": "integer" }, "parent": { - "description": "The path to the configuration for which you want to get a list of waiters.\nThe configuration must exist beforehand; the path must by in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`", + "location": "path", + "description": "The path to the configuration for which you want to get a list of waiters.\nThe configuration must exist beforehand; the path must be in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`", "type": "string", "required": true, - "pattern": "^projects/[^/]+/configs/[^/]+$", - "location": "path" + "pattern": "^projects/[^/]+/configs/[^/]+$" + } + }, + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/waiters" + }, + "create": { + "httpMethod": "POST", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "Operation" + }, + "parameters": { + "requestId": { + "location": "query", + "description": "An optional but recommended unique `request_id`. If the server\nreceives two `create()` requests with the same\n`request_id`, then the second request will be ignored and the\nfirst resource created and stored in the backend is returned.\nEmpty `request_id` fields are ignored.\n\nIt is responsibility of the client to ensure uniqueness of the\n`request_id` strings.\n\n`request_id` strings are limited to 64 characters.", + "type": "string" + }, + "parent": { + "location": "path", + "description": "The path to the configuration that will own the waiter.\nThe configuration must exist beforehand; the path must be in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/configs/[^/]+$" } }, "scopes": [ @@ -112,18 +591,18 @@ ], "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/waiters", "path": "v1beta1/{+parent}/waiters", - "id": "runtimeconfig.projects.configs.waiters.list" - }, - "create": { + "id": "runtimeconfig.projects.configs.waiters.create", + "description": "Creates a Waiter resource. This operation returns a long-running Operation\nresource which can be polled for completion. However, a waiter with the\ngiven name will exist (and can be retrieved) prior to the operation\ncompleting. If the operation fails, the failed Waiter resource will\nstill exist and must be deleted prior to subsequent creation attempts.", "request": { "$ref": "Waiter" - }, - "description": "Creates a Waiter resource. This operation returns a long-running Operation\nresource which can be polled for completion. However, a waiter with the\ngiven name will exist (and can be retrieved) prior to the operation\ncompleting. If the operation fails, the failed Waiter resource will\nstill exist and must be deleted prior to subsequent creation attempts.", + } + }, + "testIamPermissions": { "response": { - "$ref": "Operation" + "$ref": "TestIamPermissionsResponse" }, "parameterOrder": [ - "parent" + "resource" ], "httpMethod": "POST", "scopes": [ @@ -131,24 +610,30 @@ "https://www.googleapis.com/auth/cloudruntimeconfig" ], "parameters": { - "requestId": { - "description": "An optional but recommended unique `request_id`. If the server\nreceives two `create()` requests with the same\n`request_id`, then the second request will be ignored and the\nfirst resource created and stored in the backend is returned.\nEmpty `request_id` fields are ignored.\n\nIt is responsibility of the client to ensure uniqueness of the\n`request_id` strings.\n\n`request_id` strings are limited to 64 characters.", - "type": "string", - "location": "query" - }, - "parent": { + "resource": { "location": "path", - "description": "The path to the configuration that will own the waiter.\nThe configuration must exist beforehand; the path must by in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`.", + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", "type": "string", "required": true, - "pattern": "^projects/[^/]+/configs/[^/]+$" + "pattern": "^projects/[^/]+/configs/[^/]+/waiters/[^/]+$" } }, - "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/waiters", - "id": "runtimeconfig.projects.configs.waiters.create", - "path": "v1beta1/{+parent}/waiters" - }, + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/waiters/{waitersId}:testIamPermissions", + "id": "runtimeconfig.projects.configs.waiters.testIamPermissions", + "path": "v1beta1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning." + } + } + }, + "operations": { + "methods": { "testIamPermissions": { + "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/operations/{operationsId}:testIamPermissions", + "id": "runtimeconfig.projects.configs.operations.testIamPermissions", + "path": "v1beta1/{+resource}:testIamPermissions", "request": { "$ref": "TestIamPermissionsRequest" }, @@ -169,26 +654,20 @@ "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", "type": "string", "required": true, - "pattern": "^projects/[^/]+/configs/[^/]+/waiters/[^/]+$", + "pattern": "^projects/[^/]+/configs/[^/]+/operations/.+$", "location": "path" } - }, - "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/waiters/{waitersId}:testIamPermissions", - "id": "runtimeconfig.projects.configs.waiters.testIamPermissions", - "path": "v1beta1/{+resource}:testIamPermissions" - } - } - }, - "operations": { - "methods": { + } + }, "get": { - "httpMethod": "GET", + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", "response": { "$ref": "Operation" }, "parameterOrder": [ "name" ], + "httpMethod": "GET", "parameters": { "name": { "location": "path", @@ -203,567 +682,35 @@ "https://www.googleapis.com/auth/cloudruntimeconfig" ], "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/operations/{operationsId}", - "path": "v1beta1/{+name}", "id": "runtimeconfig.projects.configs.operations.get", - "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice." - }, - "testIamPermissions": { - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloudruntimeconfig" - ], - "parameters": { - "resource": { - "pattern": "^projects/[^/]+/configs/[^/]+/operations/.+$", - "location": "path", - "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true - } - }, - "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/operations/{operationsId}:testIamPermissions", - "path": "v1beta1/{+resource}:testIamPermissions", - "id": "runtimeconfig.projects.configs.operations.testIamPermissions" - } - } - }, - "variables": { - "methods": { - "get": { - "description": "Gets information about a single variable.", - "response": { - "$ref": "Variable" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloudruntimeconfig" - ], - "parameters": { - "name": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/configs/[^/]+/variables/.+$", - "location": "path", - "description": "The name of the variable to return, in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIBLE_NAME]`" - } - }, - "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/variables/{variablesId}", - "id": "runtimeconfig.projects.configs.variables.get", "path": "v1beta1/{+name}" - }, - "watch": { - "request": { - "$ref": "WatchVariableRequest" - }, - "description": "Watches a specific variable and waits for a change in the variable's value.\nWhen there is a change, this method returns the new value or times out.\n\nIf a variable is deleted while being watched, the `variableState` state is\nset to `DELETED` and the method returns the last known variable `value`.\n\nIf you set the deadline for watching to a larger value than internal timeout\n(60 seconds), the current variable value is returned and the `variableState`\nwill be `VARIABLE_STATE_UNSPECIFIED`.\n\nTo learn more about creating a watcher, read the\n[Watching a Variable for Changes](/deployment-manager/runtime-configurator/watching-a-variable)\ndocumentation.", - "httpMethod": "POST", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "Variable" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloudruntimeconfig" - ], - "parameters": { - "name": { - "pattern": "^projects/[^/]+/configs/[^/]+/variables/.+$", - "location": "path", - "description": "The name of the variable to watch, in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`", - "type": "string", - "required": true - } - }, - "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/variables/{variablesId}:watch", - "path": "v1beta1/{+name}:watch", - "id": "runtimeconfig.projects.configs.variables.watch" - }, - "update": { - "id": "runtimeconfig.projects.configs.variables.update", - "path": "v1beta1/{+name}", - "request": { - "$ref": "Variable" - }, - "description": "Updates an existing variable with a new value.", - "response": { - "$ref": "Variable" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "PUT", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloudruntimeconfig" - ], - "parameters": { - "name": { - "description": "The name of the variable to update, in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]`", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/configs/[^/]+/variables/.+$", - "location": "path" - } - }, - "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/variables/{variablesId}" - }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "parameters": { - "resource": { - "pattern": "^projects/[^/]+/configs/[^/]+/variables/.+$", - "location": "path", - "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloudruntimeconfig" - ], - "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/variables/{variablesId}:testIamPermissions", - "id": "runtimeconfig.projects.configs.variables.testIamPermissions", - "path": "v1beta1/{+resource}:testIamPermissions" - }, - "delete": { - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloudruntimeconfig" - ], - "parameters": { - "recursive": { - "location": "query", - "description": "Set to `true` to recursively delete multiple variables with the same\nprefix.", - "type": "boolean" - }, - "name": { - "description": "The name of the variable to delete, in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]`", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/configs/[^/]+/variables/.+$", - "location": "path" - } - }, - "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/variables/{variablesId}", - "id": "runtimeconfig.projects.configs.variables.delete", - "path": "v1beta1/{+name}", - "description": "Deletes a variable or multiple variables.\n\nIf you specify a variable name, then that variable is deleted. If you\nspecify a prefix and `recursive` is true, then all variables with that\nprefix are deleted. You must set a `recursive` to true if you delete\nvariables by prefix." - }, - "list": { - "description": "Lists variables within given a configuration, matching any provided filters.\nThis only lists variable names, not the values, unless `return_values` is\ntrue, in which case only variables that user has IAM permission to GetVariable\nwill be returned.", - "response": { - "$ref": "ListVariablesResponse" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "GET", - "parameters": { - "returnValues": { - "type": "boolean", - "location": "query", - "description": "The flag indicates whether the user wants to return values of variables.\nIf true, then only those variables that user has IAM GetVariable permission\nwill be returned along with their values." - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to a `nextPageToken`\nreturned by a previous list request to get the next page of results.", - "type": "string", - "location": "query" - }, - "pageSize": { - "format": "int32", - "description": "Specifies the number of results to return per page. If there are fewer\nelements than the specified number, returns all elements.", - "type": "integer", - "location": "query" - }, - "parent": { - "description": "The path to the RuntimeConfig resource for which you want to list variables.\nThe configuration must exist beforehand; the path must by in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/configs/[^/]+$", - "location": "path" - }, - "filter": { - "location": "query", - "description": "Filters variables by matching the specified filter. For example:\n\n`projects/example-project/config/[CONFIG_NAME]/variables/example-variable`.", - "type": "string" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloudruntimeconfig" - ], - "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/variables", - "id": "runtimeconfig.projects.configs.variables.list", - "path": "v1beta1/{+parent}/variables" - }, - "create": { - "response": { - "$ref": "Variable" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloudruntimeconfig" - ], - "parameters": { - "requestId": { - "location": "query", - "description": "An optional but recommended unique `request_id`. If the server\nreceives two `create()` requests with the same\n`request_id`, then the second request will be ignored and the\nfirst resource created and stored in the backend is returned.\nEmpty `request_id` fields are ignored.\n\nIt is responsibility of the client to ensure uniqueness of the\n`request_id` strings.\n\n`request_id` strings are limited to 64 characters.", - "type": "string" - }, - "parent": { - "location": "path", - "description": "The path to the RutimeConfig resource that this variable should belong to.\nThe configuration must exist beforehand; the path must by in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/configs/[^/]+$" - } - }, - "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}/variables", - "id": "runtimeconfig.projects.configs.variables.create", - "path": "v1beta1/{+parent}/variables", - "request": { - "$ref": "Variable" - }, - "description": "Creates a variable within the given configuration. You cannot create\na variable with a name that is a prefix of an existing variable name, or a\nname that has an existing variable name as a prefix.\n\nTo learn more about creating a variable, read the\n[Setting and Getting Data](/deployment-manager/runtime-configurator/set-and-get-variables)\ndocumentation." } } } - }, - "methods": { - "getIamPolicy": { - "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", - "httpMethod": "GET", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "Policy" - }, - "parameters": { - "resource": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/configs/[^/]+$", - "location": "path", - "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field." - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloudruntimeconfig" - ], - "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}:getIamPolicy", - "path": "v1beta1/{+resource}:getIamPolicy", - "id": "runtimeconfig.projects.configs.getIamPolicy" - }, - "get": { - "description": "Gets information about a RuntimeConfig resource.", - "response": { - "$ref": "RuntimeConfig" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "parameters": { - "name": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/configs/[^/]+$", - "location": "path", - "description": "The name of the RuntimeConfig resource to retrieve, in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloudruntimeconfig" - ], - "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}", - "id": "runtimeconfig.projects.configs.get", - "path": "v1beta1/{+name}" - }, - "update": { - "httpMethod": "PUT", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "RuntimeConfig" - }, - "parameters": { - "name": { - "description": "The name of the RuntimeConfig resource to update, in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/configs/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloudruntimeconfig" - ], - "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}", - "path": "v1beta1/{+name}", - "id": "runtimeconfig.projects.configs.update", - "description": "Updates a RuntimeConfig resource. The configuration must exist beforehand.", - "request": { - "$ref": "RuntimeConfig" - } - }, - "testIamPermissions": { - "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}:testIamPermissions", - "path": "v1beta1/{+resource}:testIamPermissions", - "id": "runtimeconfig.projects.configs.testIamPermissions", - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloudruntimeconfig" - ], - "parameters": { - "resource": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/configs/[^/]+$", - "location": "path", - "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field." - } - } - }, - "delete": { - "httpMethod": "DELETE", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "Empty" - }, - "parameters": { - "name": { - "description": "The RuntimeConfig resource to delete, in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/configs/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloudruntimeconfig" - ], - "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}", - "path": "v1beta1/{+name}", - "id": "runtimeconfig.projects.configs.delete", - "description": "Deletes a RuntimeConfig resource." - }, - "list": { - "response": { - "$ref": "ListConfigsResponse" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloudruntimeconfig" - ], - "parameters": { - "parent": { - "description": "The [project ID](https://support.google.com/cloud/answer/6158840?hl=en&ref_topic=6158848)\nfor this request, in the format `projects/[PROJECT_ID]`.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path" - }, - "pageToken": { - "location": "query", - "description": "Specifies a page token to use. Set `pageToken` to a `nextPageToken`\nreturned by a previous list request to get the next page of results.", - "type": "string" - }, - "pageSize": { - "format": "int32", - "description": "Specifies the number of results to return per page. If there are fewer\nelements than the specified number, returns all elements.", - "type": "integer", - "location": "query" - } - }, - "flatPath": "v1beta1/projects/{projectsId}/configs", - "id": "runtimeconfig.projects.configs.list", - "path": "v1beta1/{+parent}/configs", - "description": "Lists all the RuntimeConfig resources within project." - }, - "setIamPolicy": { - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "Policy" - }, - "parameters": { - "resource": { - "location": "path", - "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/configs/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloudruntimeconfig" - ], - "flatPath": "v1beta1/projects/{projectsId}/configs/{configsId}:setIamPolicy", - "path": "v1beta1/{+resource}:setIamPolicy", - "id": "runtimeconfig.projects.configs.setIamPolicy", - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", - "request": { - "$ref": "SetIamPolicyRequest" - } - }, - "create": { - "response": { - "$ref": "RuntimeConfig" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloudruntimeconfig" - ], - "parameters": { - "requestId": { - "description": "An optional but recommended unique `request_id`. If the server\nreceives two `create()` requests with the same\n`request_id`, then the second request will be ignored and the\nfirst resource created and stored in the backend is returned.\nEmpty `request_id` fields are ignored.\n\nIt is responsibility of the client to ensure uniqueness of the\n`request_id` strings.\n\n`request_id` strings are limited to 64 characters.", - "type": "string", - "location": "query" - }, - "parent": { - "description": "The [project ID](https://support.google.com/cloud/answer/6158840?hl=en&ref_topic=6158848)\nfor this request, in the format `projects/[PROJECT_ID]`.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1beta1/projects/{projectsId}/configs", - "id": "runtimeconfig.projects.configs.create", - "path": "v1beta1/{+parent}/configs", - "request": { - "$ref": "RuntimeConfig" - }, - "description": "Creates a new RuntimeConfig resource. The configuration name must be\nunique within project." - } } } } } }, "parameters": { - "access_token": { - "location": "query", - "description": "OAuth access token.", - "type": "string" - }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, - "quotaUser": { - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string", - "location": "query" - }, - "pp": { - "location": "query", - "description": "Pretty-print response.", - "default": "true", - "type": "boolean" - }, - "bearer_token": { - "description": "OAuth bearer token.", - "type": "string", - "location": "query" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" - }, - "upload_protocol": { - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string", - "location": "query" - }, - "prettyPrint": { - "description": "Returns response with indentations and line breaks.", - "default": "true", - "type": "boolean", - "location": "query" - }, "fields": { "description": "Selector specifying which fields to include in a partial response.", "type": "string", "location": "query" }, "uploadType": { - "location": "query", "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string" + "type": "string", + "location": "query" + }, + "callback": { + "description": "JSONP", + "type": "string", + "location": "query" }, "$.xgafv": { + "description": "V1 error format.", + "type": "string", "enumDescriptions": [ "v1 error format", "v2 error format" @@ -772,14 +719,7 @@ "enum": [ "1", "2" - ], - "description": "V1 error format.", - "type": "string" - }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" + ] }, "alt": { "enumDescriptions": [ @@ -796,6 +736,48 @@ "proto" ], "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", + "location": "query" + }, + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, + "quotaUser": { + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string" + }, + "pp": { + "description": "Pretty-print response.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", + "location": "query" + }, + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", + "location": "query" + }, + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" } }, "version": "v1beta1", @@ -804,53 +786,245 @@ "description": "The Runtime Configurator allows you to dynamically configure and expose variables through Google Cloud Platform. In addition, you can also set Watchers and Waiters that will watch for changes to your data and return based on certain conditions.", "servicePath": "", "basePath": "", - "revision": "20170620", - "documentationLink": "https://cloud.google.com/deployment-manager/runtime-configurator/", "id": "runtimeconfig:v1beta1", + "documentationLink": "https://cloud.google.com/deployment-manager/runtime-configurator/", + "revision": "20170829", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { + "RuntimeConfig": { + "description": "A RuntimeConfig resource is the primary resource in the Cloud RuntimeConfig\nservice. A RuntimeConfig resource consists of metadata and a hierarchy of\nvariables.", + "type": "object", + "properties": { + "name": { + "description": "The resource name of a runtime config. The name must have the format:\n\n projects/[PROJECT_ID]/configs/[CONFIG_NAME]\n\nThe `[PROJECT_ID]` must be a valid project ID, and `[CONFIG_NAME]` is an\narbitrary name that matches RFC 1035 segment specification. The length of\n`[CONFIG_NAME]` must be less than 64 bytes.\n\nYou pick the RuntimeConfig resource name, but the server will validate that\nthe name adheres to this format. After you create the resource, you cannot\nchange the resource's name.", + "type": "string" + }, + "description": { + "description": "An optional description of the RuntimeConfig object.", + "type": "string" + } + }, + "id": "RuntimeConfig" + }, + "WatchVariableRequest": { + "description": "Request for the `WatchVariable()` method.", + "type": "object", + "properties": { + "newerThan": { + "format": "google-datetime", + "description": "If specified, checks the current timestamp of the variable and if the\ncurrent timestamp is newer than `newerThan` timestamp, the method returns\nimmediately.\n\nIf not specified or the variable has an older timestamp, the watcher waits\nfor a the value to change before returning.", + "type": "string" + } + }, + "id": "WatchVariableRequest" + }, + "ListWaitersResponse": { + "description": "Response for the `ListWaiters()` method.\nOrder of returned waiter objects is arbitrary.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "This token allows you to get the next page of results for list requests.\nIf the number of results is larger than `pageSize`, use the `nextPageToken`\nas a value for the query parameter `pageToken` in the next list request.\nSubsequent list requests will have their own `nextPageToken` to continue\npaging through the results", + "type": "string" + }, + "waiters": { + "description": "Found waiters in the project.", + "items": { + "$ref": "Waiter" + }, + "type": "array" + } + }, + "id": "ListWaitersResponse" + }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "type": "object", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "TestIamPermissionsRequest" + }, + "Waiter": { + "properties": { + "error": { + "description": "[Output Only] If the waiter ended due to a failure or timeout, this value\nwill be set.", + "$ref": "Status" + }, + "failure": { + "$ref": "EndCondition", + "description": "[Optional] The failure condition of this waiter. If this condition is met,\n`done` will be set to `true` and the `error` code will be set to `ABORTED`.\nThe failure condition takes precedence over the success condition. If both\nconditions are met, a failure will be indicated. This value is optional; if\nno failure condition is set, the only failure scenario will be a timeout." + }, + "success": { + "description": "[Required] The success condition. If this condition is met, `done` will be\nset to `true` and the `error` value will remain unset. The failure condition\ntakes precedence over the success condition. If both conditions are met, a\nfailure will be indicated.", + "$ref": "EndCondition" + }, + "done": { + "description": "[Output Only] If the value is `false`, it means the waiter is still waiting\nfor one of its conditions to be met.\n\nIf true, the waiter has finished. If the waiter finished due to a timeout\nor failure, `error` will be set.", + "type": "boolean" + }, + "createTime": { + "format": "google-datetime", + "description": "[Output Only] The instant at which this Waiter resource was created. Adding\nthe value of `timeout` to this instant yields the timeout deadline for the\nwaiter.", + "type": "string" + }, + "timeout": { + "format": "google-duration", + "description": "[Required] Specifies the timeout of the waiter in seconds, beginning from\nthe instant that `waiters().create` method is called. If this time elapses\nbefore the success or failure conditions are met, the waiter fails and sets\nthe `error` code to `DEADLINE_EXCEEDED`.", + "type": "string" + }, + "name": { + "description": "The name of the Waiter resource, in the format:\n\n projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]\n\nThe `[PROJECT_ID]` must be a valid Google Cloud project ID,\nthe `[CONFIG_NAME]` must be a valid RuntimeConfig resource, the\n`[WAITER_NAME]` must match RFC 1035 segment specification, and the length\nof `[WAITER_NAME]` must be less than 64 bytes.\n\nAfter you create a Waiter resource, you cannot change the resource name.", + "type": "string" + } + }, + "id": "Waiter", + "description": "A Waiter resource waits for some end condition within a RuntimeConfig resource\nto be met before it returns. For example, assume you have a distributed\nsystem where each node writes to a Variable resource indidicating the node's\nreadiness as part of the startup process.\n\nYou then configure a Waiter resource with the success condition set to wait\nuntil some number of nodes have checked in. Afterwards, your application\nruns some arbitrary code after the condition has been met and the waiter\nreturns successfully.\n\nOnce created, a Waiter resource is immutable.\n\nTo learn more about using waiters, read the\n[Creating a Waiter](/deployment-manager/runtime-configurator/creating-a-waiter)\ndocumentation.", + "type": "object" + }, + "Policy": { + "properties": { + "etag": { + "format": "byte", + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.", + "type": "string" + }, + "version": { + "format": "int32", + "description": "Version of the `Policy`. The default version is 0.", + "type": "integer" + }, + "bindings": { + "description": "Associates a list of `members` to a `role`.\n`bindings` with no members will result in an error.", + "items": { + "$ref": "Binding" + }, + "type": "array" + } + }, + "id": "Policy", + "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam).", + "type": "object" + }, + "Variable": { + "description": "Describes a single variable within a RuntimeConfig resource.\nThe name denotes the hierarchical variable name. For example,\n`ports/serving_port` is a valid variable name. The variable value is an\nopaque string and only leaf variables can have values (that is, variables\nthat do not have any child variables).", + "type": "object", + "properties": { + "text": { + "description": "The string value of the variable. The length of the value must be less\nthan 4096 bytes. Empty values are also accepted. For example,\n`text: \"my text value\"`. The string must be valid UTF-8.", + "type": "string" + }, + "value": { + "format": "byte", + "description": "The binary value of the variable. The length of the value must be less\nthan 4096 bytes. Empty values are also accepted. The value must be\nbase64 encoded. Only one of `value` or `text` can be set.", + "type": "string" + }, + "state": { + "enum": [ + "VARIABLE_STATE_UNSPECIFIED", + "UPDATED", + "DELETED" + ], + "description": "[Ouput only] The current state of the variable. The variable state indicates\nthe outcome of the `variables().watch` call and is visible through the\n`get` and `list` calls.", + "type": "string", + "enumDescriptions": [ + "Default variable state.", + "The variable was updated, while `variables().watch` was executing.", + "The variable was deleted, while `variables().watch` was executing." + ] + }, + "updateTime": { + "format": "google-datetime", + "description": "[Output Only] The time of the last variable update.", + "type": "string" + }, + "name": { + "description": "The name of the variable resource, in the format:\n\n projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]\n\nThe `[PROJECT_ID]` must be a valid project ID, `[CONFIG_NAME]` must be a\nvalid RuntimeConfig reource and `[VARIABLE_NAME]` follows Unix file system\nfile path naming.\n\nThe `[VARIABLE_NAME]` can contain ASCII letters, numbers, slashes and\ndashes. Slashes are used as path element separators and are not part of the\n`[VARIABLE_NAME]` itself, so `[VARIABLE_NAME]` must contain at least one\nnon-slash character. Multiple slashes are coalesced into single slash\ncharacter. Each path segment should follow RFC 1035 segment specification.\nThe length of a `[VARIABLE_NAME]` must be less than 256 bytes.\n\nOnce you create a variable, you cannot change the variable name.", + "type": "string" + } + }, + "id": "Variable" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "type": "object", + "properties": { + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`.", + "type": "string" + }, + "error": { + "description": "The error result of the operation in case of failure or cancellation.", + "$ref": "Status" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + }, + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + } + }, + "id": "Operation" + }, "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", "type": "object", "properties": { "policy": { - "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them.", - "$ref": "Policy" + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." } }, - "id": "SetIamPolicyRequest", - "description": "Request message for `SetIamPolicy` method." + "id": "SetIamPolicyRequest" }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", "type": "object", "properties": { - "code": { - "format": "int32", - "description": "The status code, which should be an enum value of google.rpc.Code.", - "type": "integer" - }, "message": { "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", "type": "string" }, "details": { - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", "items": { - "type": "object", "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" - } + }, + "type": "object" }, "type": "array" + }, + "code": { + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" } }, "id": "Status" }, "Binding": { - "description": "Associates `members` with a `role`.", - "type": "object", "properties": { "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@gmail.com` or `joe@example.com`.\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n\n* `domain:{domain}`: A Google Apps domain name that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -864,7 +1038,15 @@ "type": "string" } }, - "id": "Binding" + "id": "Binding", + "description": "Associates `members` with a `role`.", + "type": "object" + }, + "Empty": { + "properties": {}, + "id": "Empty", + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object" }, "Cardinality": { "description": "A Cardinality condition for the Waiter resource. A cardinality condition is\nmet when the number of variables under a specified path prefix reaches a\npredefined number. For example, if you set a Cardinality condition where\nthe `path` is set to `/foo` and the number of paths is set to 2, the\nfollowing variables would meet the condition in a RuntimeConfig resource:\n\n+ `/foo/variable1 = \"value1\"`\n+ `/foo/variable2 = \"value2\"`\n+ `/bar/variable3 = \"value3\"`\n\nIt would not would not satisify the same condition with the `number` set to\n3, however, because there is only 2 paths that start with `/foo`.\nCardinality conditions are recursive; all subtrees under the specific\npath prefix are counted.", @@ -882,24 +1064,18 @@ }, "id": "Cardinality" }, - "Empty": { - "type": "object", - "properties": {}, - "id": "Empty", - "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`." - }, "ListConfigsResponse": { "properties": { + "nextPageToken": { + "description": "This token allows you to get the next page of results for list requests.\nIf the number of results is larger than `pageSize`, use the `nextPageToken`\nas a value for the query parameter `pageToken` in the next list request.\nSubsequent list requests will have their own `nextPageToken` to continue\npaging through the results", + "type": "string" + }, "configs": { "description": "A list of the configurations in the project. The order of returned\nobjects is arbitrary; that is, it is not ordered in any particular way.", "items": { "$ref": "RuntimeConfig" }, "type": "array" - }, - "nextPageToken": { - "description": "This token allows you to get the next page of results for list requests.\nIf the number of results is larger than `pageSize`, use the `nextPageToken`\nas a value for the query parameter `pageToken` in the next list request.\nSubsequent list requests will have their own `nextPageToken` to continue\npaging through the results", - "type": "string" } }, "id": "ListConfigsResponse", @@ -918,7 +1094,6 @@ "id": "EndCondition" }, "TestIamPermissionsResponse": { - "type": "object", "properties": { "permissions": { "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", @@ -929,224 +1104,50 @@ } }, "id": "TestIamPermissionsResponse", - "description": "Response message for `TestIamPermissions` method." + "description": "Response message for `TestIamPermissions` method.", + "type": "object" }, "ListVariablesResponse": { - "description": "Response for the `ListVariables()` method.", - "type": "object", "properties": { "variables": { + "description": "A list of variables and their values. The order of returned variable\nobjects is arbitrary.", "items": { "$ref": "Variable" }, - "type": "array", - "description": "A list of variables and their values. The order of returned variable\nobjects is arbitrary." + "type": "array" }, "nextPageToken": { "description": "This token allows you to get the next page of results for list requests.\nIf the number of results is larger than `pageSize`, use the `nextPageToken`\nas a value for the query parameter `pageToken` in the next list request.\nSubsequent list requests will have their own `nextPageToken` to continue\npaging through the results", "type": "string" } }, - "id": "ListVariablesResponse" - }, - "RuntimeConfig": { - "description": "A RuntimeConfig resource is the primary resource in the Cloud RuntimeConfig\nservice. A RuntimeConfig resource consists of metadata and a hierarchy of\nvariables.", - "type": "object", - "properties": { - "name": { - "description": "The resource name of a runtime config. The name must have the format:\n\n projects/[PROJECT_ID]/configs/[CONFIG_NAME]\n\nThe `[PROJECT_ID]` must be a valid project ID, and `[CONFIG_NAME]` is an\narbitrary name that matches RFC 1035 segment specification. The length of\n`[CONFIG_NAME]` must be less than 64 bytes.\n\nYou pick the RuntimeConfig resource name, but the server will validate that\nthe name adheres to this format. After you create the resource, you cannot\nchange the resource's name.", - "type": "string" - }, - "description": { - "description": "An optional description of the RuntimeConfig object.", - "type": "string" - } - }, - "id": "RuntimeConfig" - }, - "WatchVariableRequest": { - "properties": { - "newerThan": { - "format": "google-datetime", - "description": "If specified, checks the current timestamp of the variable and if the\ncurrent timestamp is newer than `newerThan` timestamp, the method returns\nimmediately.\n\nIf not specified or the variable has an older timestamp, the watcher waits\nfor a the value to change before returning.", - "type": "string" - } - }, - "id": "WatchVariableRequest", - "description": "Request for the `WatchVariable()` method.", + "id": "ListVariablesResponse", + "description": "Response for the `ListVariables()` method.", "type": "object" - }, - "ListWaitersResponse": { - "id": "ListWaitersResponse", - "description": "Response for the `ListWaiters()` method.\nOrder of returned waiter objects is arbitrary.", - "type": "object", - "properties": { - "waiters": { - "description": "Found waiters in the project.", - "items": { - "$ref": "Waiter" - }, - "type": "array" - }, - "nextPageToken": { - "type": "string", - "description": "This token allows you to get the next page of results for list requests.\nIf the number of results is larger than `pageSize`, use the `nextPageToken`\nas a value for the query parameter `pageToken` in the next list request.\nSubsequent list requests will have their own `nextPageToken` to continue\npaging through the results" - } - } - }, - "Waiter": { - "id": "Waiter", - "description": "A Waiter resource waits for some end condition within a RuntimeConfig resource\nto be met before it returns. For example, assume you have a distributed\nsystem where each node writes to a Variable resource indidicating the node's\nreadiness as part of the startup process.\n\nYou then configure a Waiter resource with the success condition set to wait\nuntil some number of nodes have checked in. Afterwards, your application\nruns some arbitrary code after the condition has been met and the waiter\nreturns successfully.\n\nOnce created, a Waiter resource is immutable.\n\nTo learn more about using waiters, read the\n[Creating a Waiter](/deployment-manager/runtime-configurator/creating-a-waiter)\ndocumentation.", - "type": "object", - "properties": { - "success": { - "description": "[Required] The success condition. If this condition is met, `done` will be\nset to `true` and the `error` value will remain unset. The failure condition\ntakes precedence over the success condition. If both conditions are met, a\nfailure will be indicated.", - "$ref": "EndCondition" - }, - "createTime": { - "format": "google-datetime", - "description": "[Output Only] The instant at which this Waiter resource was created. Adding\nthe value of `timeout` to this instant yields the timeout deadline for the\nwaiter.", - "type": "string" - }, - "done": { - "description": "[Output Only] If the value is `false`, it means the waiter is still waiting\nfor one of its conditions to be met.\n\nIf true, the waiter has finished. If the waiter finished due to a timeout\nor failure, `error` will be set.", - "type": "boolean" - }, - "timeout": { - "format": "google-duration", - "description": "[Required] Specifies the timeout of the waiter in seconds, beginning from\nthe instant that `waiters().create` method is called. If this time elapses\nbefore the success or failure conditions are met, the waiter fails and sets\nthe `error` code to `DEADLINE_EXCEEDED`.", - "type": "string" - }, - "name": { - "description": "The name of the Waiter resource, in the format:\n\n projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]\n\nThe `[PROJECT_ID]` must be a valid Google Cloud project ID,\nthe `[CONFIG_NAME]` must be a valid RuntimeConfig resource, the\n`[WAITER_NAME]` must match RFC 1035 segment specification, and the length\nof `[WAITER_NAME]` must be less than 64 bytes.\n\nAfter you create a Waiter resource, you cannot change the resource name.", - "type": "string" - }, - "error": { - "$ref": "Status", - "description": "[Output Only] If the waiter ended due to a failure or timeout, this value\nwill be set." - }, - "failure": { - "$ref": "EndCondition", - "description": "[Optional] The failure condition of this waiter. If this condition is met,\n`done` will be set to `true` and the `error` code will be set to `ABORTED`.\nThe failure condition takes precedence over the success condition. If both\nconditions are met, a failure will be indicated. This value is optional; if\nno failure condition is set, the only failure scenario will be a timeout." - } - } - }, - "TestIamPermissionsRequest": { - "type": "object", - "properties": { - "permissions": { - "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "TestIamPermissionsRequest", - "description": "Request message for `TestIamPermissions` method." - }, - "Policy": { - "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam).", - "type": "object", - "properties": { - "version": { - "format": "int32", - "description": "Version of the `Policy`. The default version is 0.", - "type": "integer" - }, - "bindings": { - "description": "Associates a list of `members` to a `role`.\n`bindings` with no members will result in an error.", - "items": { - "$ref": "Binding" - }, - "type": "array" - }, - "etag": { - "format": "byte", - "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.", - "type": "string" - } - }, - "id": "Policy" - }, - "Variable": { - "description": "Describes a single variable within a RuntimeConfig resource.\nThe name denotes the hierarchical variable name. For example,\n`ports/serving_port` is a valid variable name. The variable value is an\nopaque string and only leaf variables can have values (that is, variables\nthat do not have any child variables).", - "type": "object", - "properties": { - "name": { - "description": "The name of the variable resource, in the format:\n\n projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]\n\nThe `[PROJECT_ID]` must be a valid project ID, `[CONFIG_NAME]` must be a\nvalid RuntimeConfig reource and `[VARIABLE_NAME]` follows Unix file system\nfile path naming.\n\nThe `[VARIABLE_NAME]` can contain ASCII letters, numbers, slashes and\ndashes. Slashes are used as path element separators and are not part of the\n`[VARIABLE_NAME]` itself, so `[VARIABLE_NAME]` must contain at least one\nnon-slash character. Multiple slashes are coalesced into single slash\ncharacter. Each path segment should follow RFC 1035 segment specification.\nThe length of a `[VARIABLE_NAME]` must be less than 256 bytes.\n\nOnce you create a variable, you cannot change the variable name.", - "type": "string" - }, - "text": { - "description": "The string value of the variable. The length of the value must be less\nthan 4096 bytes. Empty values are also accepted. For example,\n`text: \"my text value\"`. The string must be valid UTF-8.", - "type": "string" - }, - "value": { - "format": "byte", - "description": "The binary value of the variable. The length of the value must be less\nthan 4096 bytes. Empty values are also accepted. The value must be\nbase64 encoded. Only one of `value` or `text` can be set.", - "type": "string" - }, - "state": { - "enumDescriptions": [ - "Default variable state.", - "The variable was updated, while `variables().watch` was executing.", - "The variable was deleted, while `variables().watch` was executing." - ], - "enum": [ - "VARIABLE_STATE_UNSPECIFIED", - "UPDATED", - "DELETED" - ], - "description": "[Ouput only] The current state of the variable. The variable state indicates\nthe outcome of the `variables().watch` call and is visible through the\n`get` and `list` calls.", - "type": "string" - }, - "updateTime": { - "format": "google-datetime", - "description": "[Output Only] The time of the last variable update.", - "type": "string" - } - }, - "id": "Variable" - }, - "Operation": { - "type": "object", - "properties": { - "error": { - "$ref": "Status", - "description": "The error result of the operation in case of failure or cancellation." - }, - "metadata": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", - "type": "object" - }, - "done": { - "type": "boolean", - "description": "If the value is `false`, it means the operation is still in progress.\nIf true, the operation is completed, and either `error` or `response` is\navailable." - }, - "response": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", - "type": "object" - }, - "name": { - "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`.", - "type": "string" - } - }, - "id": "Operation", - "description": "This resource represents a long-running operation that is the result of a\nnetwork API call." } }, + "protocol": "rest", "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" }, - "protocol": "rest" + "canonicalName": "Cloud RuntimeConfig", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + }, + "https://www.googleapis.com/auth/cloudruntimeconfig": { + "description": "Manage your Google Cloud Platform services' runtime configuration" + } + } + } + }, + "rootUrl": "https://runtimeconfig.googleapis.com/", + "ownerDomain": "google.com", + "name": "runtimeconfig", + "batchPath": "batch", + "fullyEncodeReservedExpansion": true, + "title": "Google Cloud Runtime Configuration API" } diff --git a/vendor/google.golang.org/api/runtimeconfig/v1beta1/runtimeconfig-gen.go b/vendor/google.golang.org/api/runtimeconfig/v1beta1/runtimeconfig-gen.go index fc28d316b..960feb81f 100644 --- a/vendor/google.golang.org/api/runtimeconfig/v1beta1/runtimeconfig-gen.go +++ b/vendor/google.golang.org/api/runtimeconfig/v1beta1/runtimeconfig-gen.go @@ -446,8 +446,8 @@ func (s *ListWaitersResponse) MarshalJSON() ([]byte, error) { type Operation struct { // Done: If the value is `false`, it means the operation is still in // progress. - // If true, the operation is completed, and either `error` or `response` - // is + // If `true`, the operation is completed, and either `error` or + // `response` is // available. Done bool `json:"done,omitempty"` @@ -777,9 +777,9 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in @@ -2740,7 +2740,7 @@ func (c *ProjectsConfigsVariablesCreateCall) Do(opts ...googleapi.CallOption) (* // ], // "parameters": { // "parent": { - // "description": "The path to the RutimeConfig resource that this variable should belong to.\nThe configuration must exist beforehand; the path must by in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`", + // "description": "The path to the RutimeConfig resource that this variable should belong to.\nThe configuration must exist beforehand; the path must be in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`", // "location": "path", // "pattern": "^projects/[^/]+/configs/[^/]+$", // "required": true, @@ -3234,7 +3234,7 @@ func (c *ProjectsConfigsVariablesListCall) Do(opts ...googleapi.CallOption) (*Li // "type": "string" // }, // "parent": { - // "description": "The path to the RuntimeConfig resource for which you want to list variables.\nThe configuration must exist beforehand; the path must by in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`", + // "description": "The path to the RuntimeConfig resource for which you want to list variables.\nThe configuration must exist beforehand; the path must be in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`", // "location": "path", // "pattern": "^projects/[^/]+/configs/[^/]+$", // "required": true, @@ -3857,7 +3857,7 @@ func (c *ProjectsConfigsWaitersCreateCall) Do(opts ...googleapi.CallOption) (*Op // ], // "parameters": { // "parent": { - // "description": "The path to the configuration that will own the waiter.\nThe configuration must exist beforehand; the path must by in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`.", + // "description": "The path to the configuration that will own the waiter.\nThe configuration must exist beforehand; the path must be in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`.", // "location": "path", // "pattern": "^projects/[^/]+/configs/[^/]+$", // "required": true, @@ -4298,7 +4298,7 @@ func (c *ProjectsConfigsWaitersListCall) Do(opts ...googleapi.CallOption) (*List // "type": "string" // }, // "parent": { - // "description": "The path to the configuration for which you want to get a list of waiters.\nThe configuration must exist beforehand; the path must by in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`", + // "description": "The path to the configuration for which you want to get a list of waiters.\nThe configuration must exist beforehand; the path must be in the format:\n\n`projects/[PROJECT_ID]/configs/[CONFIG_NAME]`", // "location": "path", // "pattern": "^projects/[^/]+/configs/[^/]+$", // "required": true, diff --git a/vendor/google.golang.org/api/safebrowsing/v4/safebrowsing-api.json b/vendor/google.golang.org/api/safebrowsing/v4/safebrowsing-api.json index d54581667..628fb1cdb 100644 --- a/vendor/google.golang.org/api/safebrowsing/v4/safebrowsing-api.json +++ b/vendor/google.golang.org/api/safebrowsing/v4/safebrowsing-api.json @@ -1,118 +1,84 @@ { + "name": "safebrowsing", "batchPath": "batch", - "revision": "20170628", + "revision": "20170927", "documentationLink": "https://developers.google.com/safe-browsing/", "id": "safebrowsing:v4", "title": "Google Safe Browsing API", "ownerName": "Google", "discoveryVersion": "v1", "resources": { - "threatLists": { - "methods": { - "list": { - "flatPath": "v4/threatLists", - "id": "safebrowsing.threatLists.list", - "path": "v4/threatLists", - "description": "Lists the Safe Browsing threat lists available for download.", - "response": { - "$ref": "ListThreatListsResponse" - }, - "parameterOrder": [], - "httpMethod": "GET", - "parameters": {} - } - } - }, - "threatMatches": { - "methods": { - "find": { - "response": { - "$ref": "FindThreatMatchesResponse" - }, - "parameterOrder": [], - "httpMethod": "POST", - "parameters": {}, - "flatPath": "v4/threatMatches:find", - "id": "safebrowsing.threatMatches.find", - "path": "v4/threatMatches:find", - "description": "Finds the threat entries that match the Safe Browsing lists.", - "request": { - "$ref": "FindThreatMatchesRequest" - } - } - } - }, "fullHashes": { "methods": { "find": { + "path": "v4/fullHashes:find", + "id": "safebrowsing.fullHashes.find", + "description": "Finds the full hashes that match the requested hash prefixes.", + "request": { + "$ref": "FindFullHashesRequest" + }, "httpMethod": "POST", "parameterOrder": [], "response": { "$ref": "FindFullHashesResponse" }, "parameters": {}, - "flatPath": "v4/fullHashes:find", - "path": "v4/fullHashes:find", - "id": "safebrowsing.fullHashes.find", - "description": "Finds the full hashes that match the requested hash prefixes.", - "request": { - "$ref": "FindFullHashesRequest" - } + "flatPath": "v4/fullHashes:find" } } }, "encodedUpdates": { "methods": { "get": { + "parameters": { + "clientId": { + "location": "query", + "description": "A client ID that uniquely identifies the client implementation of the Safe\nBrowsing API.", + "type": "string" + }, + "clientVersion": { + "location": "query", + "description": "The version of the client implementation.", + "type": "string" + }, + "encodedRequest": { + "location": "path", + "format": "byte", + "description": "A serialized FetchThreatListUpdatesRequest proto.", + "type": "string", + "required": true + } + }, + "flatPath": "v4/encodedUpdates/{encodedRequest}", + "path": "v4/encodedUpdates/{encodedRequest}", + "id": "safebrowsing.encodedUpdates.get", + "description": "", "httpMethod": "GET", "parameterOrder": [ "encodedRequest" ], "response": { "$ref": "FetchThreatListUpdatesResponse" - }, - "parameters": { - "encodedRequest": { - "format": "byte", - "description": "A serialized FetchThreatListUpdatesRequest proto.", - "type": "string", - "required": true, - "location": "path" - }, - "clientId": { - "type": "string", - "location": "query", - "description": "A client ID that uniquely identifies the client implementation of the Safe\nBrowsing API." - }, - "clientVersion": { - "type": "string", - "location": "query", - "description": "The version of the client implementation." - } - }, - "flatPath": "v4/encodedUpdates/{encodedRequest}", - "path": "v4/encodedUpdates/{encodedRequest}", - "id": "safebrowsing.encodedUpdates.get", - "description": "" + } } } }, "threatListUpdates": { "methods": { "fetch": { - "description": "Fetches the most recent threat list updates. A client can request updates\nfor multiple lists at once.", + "id": "safebrowsing.threatListUpdates.fetch", + "path": "v4/threatListUpdates:fetch", "request": { "$ref": "FetchThreatListUpdatesRequest" }, - "httpMethod": "POST", - "parameterOrder": [], + "description": "Fetches the most recent threat list updates. A client can request updates\nfor multiple lists at once.", "response": { "$ref": "FetchThreatListUpdatesResponse" }, + "parameterOrder": [], + "httpMethod": "POST", "parameters": {}, - "flatPath": "v4/threatListUpdates:fetch", - "path": "v4/threatListUpdates:fetch", - "id": "safebrowsing.threatListUpdates.fetch" + "flatPath": "v4/threatListUpdates:fetch" } } }, @@ -120,30 +86,30 @@ "methods": { "get": { "description": "", - "parameterOrder": [ - "encodedRequest" - ], - "httpMethod": "GET", "response": { "$ref": "FindFullHashesResponse" }, + "httpMethod": "GET", + "parameterOrder": [ + "encodedRequest" + ], "parameters": { - "clientId": { - "type": "string", - "location": "query", - "description": "A client ID that (hopefully) uniquely identifies the client implementation\nof the Safe Browsing API." - }, - "clientVersion": { - "description": "The version of the client implementation.", - "type": "string", - "location": "query" - }, "encodedRequest": { "format": "byte", "description": "A serialized FindFullHashesRequest proto.", "type": "string", "required": true, "location": "path" + }, + "clientId": { + "description": "A client ID that (hopefully) uniquely identifies the client implementation\nof the Safe Browsing API.", + "type": "string", + "location": "query" + }, + "clientVersion": { + "description": "The version of the client implementation.", + "type": "string", + "location": "query" } }, "flatPath": "v4/encodedFullHashes/{encodedRequest}", @@ -151,21 +117,50 @@ "path": "v4/encodedFullHashes/{encodedRequest}" } } + }, + "threatLists": { + "methods": { + "list": { + "description": "Lists the Safe Browsing threat lists available for download.", + "response": { + "$ref": "ListThreatListsResponse" + }, + "parameterOrder": [], + "httpMethod": "GET", + "parameters": {}, + "flatPath": "v4/threatLists", + "id": "safebrowsing.threatLists.list", + "path": "v4/threatLists" + } + } + }, + "threatMatches": { + "methods": { + "find": { + "parameters": {}, + "flatPath": "v4/threatMatches:find", + "id": "safebrowsing.threatMatches.find", + "path": "v4/threatMatches:find", + "description": "Finds the threat entries that match the Safe Browsing lists.", + "request": { + "$ref": "FindThreatMatchesRequest" + }, + "response": { + "$ref": "FindThreatMatchesResponse" + }, + "parameterOrder": [], + "httpMethod": "POST" + } + } } }, "parameters": { - "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "type": "string", - "location": "query" - }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "callback": { + "description": "JSONP", "type": "string", "location": "query" }, "$.xgafv": { - "type": "string", "enumDescriptions": [ "v1 error format", "v2 error format" @@ -175,28 +170,24 @@ "1", "2" ], - "description": "V1 error format." - }, - "callback": { - "location": "query", - "description": "JSONP", + "description": "V1 error format.", "type": "string" }, "alt": { - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], "type": "string", "enumDescriptions": [ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", "Responses with Content-Type of application/x-protobuf" ], - "location": "query" + "location": "query", + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ] }, "key": { "location": "query", @@ -204,45 +195,493 @@ "type": "string" }, "access_token": { - "location": "query", "description": "OAuth access token.", - "type": "string" + "type": "string", + "location": "query" }, "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", "type": "string", - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters." + "location": "query" }, "pp": { + "location": "query", "description": "Pretty-print response.", "default": "true", - "type": "boolean", + "type": "boolean" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", "location": "query" }, "bearer_token": { - "location": "query", "description": "OAuth bearer token.", - "type": "string" - }, - "oauth_token": { - "location": "query", - "description": "OAuth 2.0 token for the current user.", - "type": "string" - }, - "upload_protocol": { - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "type": "string", "location": "query" }, + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, "prettyPrint": { "description": "Returns response with indentations and line breaks.", "default": "true", "type": "boolean", "location": "query" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string", + "location": "query" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", + "location": "query" } }, "schemas": { + "ThreatMatch": { + "description": "A match when checking a threat entry in the Safe Browsing threat lists.", + "type": "object", + "properties": { + "platformType": { + "enumDescriptions": [ + "Unknown platform.", + "Threat posed to Windows.", + "Threat posed to Linux.", + "Threat posed to Android.", + "Threat posed to OS X.", + "Threat posed to iOS.", + "Threat posed to at least one of the defined platforms.", + "Threat posed to all defined platforms.", + "Threat posed to Chrome." + ], + "enum": [ + "PLATFORM_TYPE_UNSPECIFIED", + "WINDOWS", + "LINUX", + "ANDROID", + "OSX", + "IOS", + "ANY_PLATFORM", + "ALL_PLATFORMS", + "CHROME" + ], + "description": "The platform type matching this threat.", + "type": "string" + }, + "threatEntryType": { + "description": "The threat entry type matching this threat.", + "type": "string", + "enumDescriptions": [ + "Unspecified.", + "A URL.", + "An executable program.", + "An IP range.", + "Chrome extension.", + "Filename.", + "CERT" + ], + "enum": [ + "THREAT_ENTRY_TYPE_UNSPECIFIED", + "URL", + "EXECUTABLE", + "IP_RANGE", + "CHROME_EXTENSION", + "FILENAME", + "CERT" + ] + }, + "cacheDuration": { + "format": "google-duration", + "description": "The cache lifetime for the returned match. Clients must not cache this\nresponse for more than this duration to avoid false positives.", + "type": "string" + }, + "threatType": { + "enumDescriptions": [ + "Unknown.", + "Malware threat type.", + "Social engineering threat type.", + "Unwanted software threat type.", + "Potentially harmful application threat type.", + "Social engineering threat type for internal use.", + "API abuse threat type.", + "Malicious binary threat type.", + "Client side detection whitelist threat type.", + "Client side download detection whitelist threat type.", + "Client incident threat type.", + "Whitelist used when detecting client incident threats.\nThis enum was never launched and should be re-used for the next list.", + "List used for offline APK checks in PAM.", + "Patterns to be used for activating the subresource filter. Interstitial\nwill not be shown for patterns from this list." + ], + "enum": [ + "THREAT_TYPE_UNSPECIFIED", + "MALWARE", + "SOCIAL_ENGINEERING", + "UNWANTED_SOFTWARE", + "POTENTIALLY_HARMFUL_APPLICATION", + "SOCIAL_ENGINEERING_INTERNAL", + "API_ABUSE", + "MALICIOUS_BINARY", + "CSD_WHITELIST", + "CSD_DOWNLOAD_WHITELIST", + "CLIENT_INCIDENT", + "CLIENT_INCIDENT_WHITELIST", + "APK_MALWARE_OFFLINE", + "SUBRESOURCE_FILTER" + ], + "description": "The threat type matching this threat.", + "type": "string" + }, + "threatEntryMetadata": { + "description": "Optional metadata associated with this threat.", + "$ref": "ThreatEntryMetadata" + }, + "threat": { + "$ref": "ThreatEntry", + "description": "The threat matching this threat." + } + }, + "id": "ThreatMatch" + }, + "ListThreatListsResponse": { + "id": "ListThreatListsResponse", + "type": "object", + "properties": { + "threatLists": { + "description": "The lists available for download by the client.", + "items": { + "$ref": "ThreatListDescriptor" + }, + "type": "array" + } + } + }, + "RiceDeltaEncoding": { + "description": "The Rice-Golomb encoded data. Used for sending compressed 4-byte hashes or\ncompressed removal indices.", + "type": "object", + "properties": { + "encodedData": { + "format": "byte", + "description": "The encoded deltas that are encoded using the Golomb-Rice coder.", + "type": "string" + }, + "firstValue": { + "format": "int64", + "description": "The offset of the first entry in the encoded data, or, if only a single\ninteger was encoded, that single integer's value.", + "type": "string" + }, + "numEntries": { + "format": "int32", + "description": "The number of entries that are delta encoded in the encoded data. If only a\nsingle integer was encoded, this will be zero and the single value will be\nstored in `first_value`.", + "type": "integer" + }, + "riceParameter": { + "format": "int32", + "description": "The Golomb-Rice parameter, which is a number between 2 and 28. This field\nis missing (that is, zero) if `num_entries` is zero.", + "type": "integer" + } + }, + "id": "RiceDeltaEncoding" + }, + "ThreatEntry": { + "description": "An individual threat; for example, a malicious URL or its hash\nrepresentation. Only one of these fields should be set.", + "type": "object", + "properties": { + "url": { + "description": "A URL.", + "type": "string" + }, + "digest": { + "format": "byte", + "description": "The digest of an executable in SHA256 format. The API supports both\nbinary and hex digests. For JSON requests, digests are base64-encoded.", + "type": "string" + }, + "hash": { + "format": "byte", + "description": "A hash prefix, consisting of the most significant 4-32 bytes of a SHA256\nhash. This field is in binary format. For JSON requests, hashes are\nbase64-encoded.", + "type": "string" + } + }, + "id": "ThreatEntry" + }, + "FindThreatMatchesResponse": { + "id": "FindThreatMatchesResponse", + "type": "object", + "properties": { + "matches": { + "description": "The threat list matches.", + "items": { + "$ref": "ThreatMatch" + }, + "type": "array" + } + } + }, + "ThreatListDescriptor": { + "id": "ThreatListDescriptor", + "description": "Describes an individual threat list. A list is defined by three parameters:\nthe type of threat posed, the type of platform targeted by the threat, and\nthe type of entries in the list.", + "type": "object", + "properties": { + "threatEntryType": { + "enumDescriptions": [ + "Unspecified.", + "A URL.", + "An executable program.", + "An IP range.", + "Chrome extension.", + "Filename.", + "CERT" + ], + "enum": [ + "THREAT_ENTRY_TYPE_UNSPECIFIED", + "URL", + "EXECUTABLE", + "IP_RANGE", + "CHROME_EXTENSION", + "FILENAME", + "CERT" + ], + "description": "The entry types contained in the list.", + "type": "string" + }, + "platformType": { + "enumDescriptions": [ + "Unknown platform.", + "Threat posed to Windows.", + "Threat posed to Linux.", + "Threat posed to Android.", + "Threat posed to OS X.", + "Threat posed to iOS.", + "Threat posed to at least one of the defined platforms.", + "Threat posed to all defined platforms.", + "Threat posed to Chrome." + ], + "enum": [ + "PLATFORM_TYPE_UNSPECIFIED", + "WINDOWS", + "LINUX", + "ANDROID", + "OSX", + "IOS", + "ANY_PLATFORM", + "ALL_PLATFORMS", + "CHROME" + ], + "description": "The platform type targeted by the list's entries.", + "type": "string" + }, + "threatType": { + "description": "The threat type posed by the list's entries.", + "type": "string", + "enumDescriptions": [ + "Unknown.", + "Malware threat type.", + "Social engineering threat type.", + "Unwanted software threat type.", + "Potentially harmful application threat type.", + "Social engineering threat type for internal use.", + "API abuse threat type.", + "Malicious binary threat type.", + "Client side detection whitelist threat type.", + "Client side download detection whitelist threat type.", + "Client incident threat type.", + "Whitelist used when detecting client incident threats.\nThis enum was never launched and should be re-used for the next list.", + "List used for offline APK checks in PAM.", + "Patterns to be used for activating the subresource filter. Interstitial\nwill not be shown for patterns from this list." + ], + "enum": [ + "THREAT_TYPE_UNSPECIFIED", + "MALWARE", + "SOCIAL_ENGINEERING", + "UNWANTED_SOFTWARE", + "POTENTIALLY_HARMFUL_APPLICATION", + "SOCIAL_ENGINEERING_INTERNAL", + "API_ABUSE", + "MALICIOUS_BINARY", + "CSD_WHITELIST", + "CSD_DOWNLOAD_WHITELIST", + "CLIENT_INCIDENT", + "CLIENT_INCIDENT_WHITELIST", + "APK_MALWARE_OFFLINE", + "SUBRESOURCE_FILTER" + ] + } + } + }, + "MetadataEntry": { + "id": "MetadataEntry", + "description": "A single metadata entry.", + "type": "object", + "properties": { + "value": { + "format": "byte", + "description": "The metadata entry value. For JSON requests, the value is base64-encoded.", + "type": "string" + }, + "key": { + "format": "byte", + "description": "The metadata entry key. For JSON requests, the key is base64-encoded.", + "type": "string" + } + } + }, + "ClientInfo": { + "id": "ClientInfo", + "description": "The client metadata associated with Safe Browsing API requests.", + "type": "object", + "properties": { + "clientId": { + "description": "A client ID that (hopefully) uniquely identifies the client implementation\nof the Safe Browsing API.", + "type": "string" + }, + "clientVersion": { + "description": "The version of the client implementation.", + "type": "string" + } + } + }, + "FindThreatMatchesRequest": { + "description": "Request to check entries against lists.", + "type": "object", + "properties": { + "client": { + "description": "The client metadata.", + "$ref": "ClientInfo" + }, + "threatInfo": { + "$ref": "ThreatInfo", + "description": "The lists and entries to be checked for matches." + } + }, + "id": "FindThreatMatchesRequest" + }, + "ThreatInfo": { + "description": "The information regarding one or more threats that a client submits when\nchecking for matches in threat lists.", + "type": "object", + "properties": { + "threatEntryTypes": { + "description": "The entry types to be checked.", + "items": { + "enum": [ + "THREAT_ENTRY_TYPE_UNSPECIFIED", + "URL", + "EXECUTABLE", + "IP_RANGE", + "CHROME_EXTENSION", + "FILENAME", + "CERT" + ], + "type": "string" + }, + "type": "array", + "enumDescriptions": [ + "Unspecified.", + "A URL.", + "An executable program.", + "An IP range.", + "Chrome extension.", + "Filename.", + "CERT" + ] + }, + "threatTypes": { + "enumDescriptions": [ + "Unknown.", + "Malware threat type.", + "Social engineering threat type.", + "Unwanted software threat type.", + "Potentially harmful application threat type.", + "Social engineering threat type for internal use.", + "API abuse threat type.", + "Malicious binary threat type.", + "Client side detection whitelist threat type.", + "Client side download detection whitelist threat type.", + "Client incident threat type.", + "Whitelist used when detecting client incident threats.\nThis enum was never launched and should be re-used for the next list.", + "List used for offline APK checks in PAM.", + "Patterns to be used for activating the subresource filter. Interstitial\nwill not be shown for patterns from this list." + ], + "description": "The threat types to be checked.", + "items": { + "enum": [ + "THREAT_TYPE_UNSPECIFIED", + "MALWARE", + "SOCIAL_ENGINEERING", + "UNWANTED_SOFTWARE", + "POTENTIALLY_HARMFUL_APPLICATION", + "SOCIAL_ENGINEERING_INTERNAL", + "API_ABUSE", + "MALICIOUS_BINARY", + "CSD_WHITELIST", + "CSD_DOWNLOAD_WHITELIST", + "CLIENT_INCIDENT", + "CLIENT_INCIDENT_WHITELIST", + "APK_MALWARE_OFFLINE", + "SUBRESOURCE_FILTER" + ], + "type": "string" + }, + "type": "array" + }, + "platformTypes": { + "description": "The platform types to be checked.", + "items": { + "type": "string", + "enum": [ + "PLATFORM_TYPE_UNSPECIFIED", + "WINDOWS", + "LINUX", + "ANDROID", + "OSX", + "IOS", + "ANY_PLATFORM", + "ALL_PLATFORMS", + "CHROME" + ] + }, + "type": "array", + "enumDescriptions": [ + "Unknown platform.", + "Threat posed to Windows.", + "Threat posed to Linux.", + "Threat posed to Android.", + "Threat posed to OS X.", + "Threat posed to iOS.", + "Threat posed to at least one of the defined platforms.", + "Threat posed to all defined platforms.", + "Threat posed to Chrome." + ] + }, + "threatEntries": { + "description": "The threat entries to be checked.", + "items": { + "$ref": "ThreatEntry" + }, + "type": "array" + } + }, + "id": "ThreatInfo" + }, + "ThreatEntryMetadata": { + "description": "The metadata associated with a specific threat entry. The client is expected\nto know the metadata key/value pairs associated with each threat type.", + "type": "object", + "properties": { + "entries": { + "description": "The metadata entries.", + "items": { + "$ref": "MetadataEntry" + }, + "type": "array" + } + }, + "id": "ThreatEntryMetadata" + }, "RawIndices": { + "id": "RawIndices", "description": "A set of raw indices to remove from a local list.", "type": "object", "properties": { @@ -254,27 +693,27 @@ }, "type": "array" } - }, - "id": "RawIndices" + } }, "RawHashes": { - "id": "RawHashes", "description": "The uncompressed threat entries in hash format of a particular prefix length.\nHashes can be anywhere from 4 to 32 bytes in size. A large majority are 4\nbytes, but some hashes are lengthened if they collide with the hash of a\npopular URL.\n\nUsed for sending ThreatEntrySet to clients that do not support compression,\nor when sending non-4-byte hashes to clients that do support compression.", "type": "object", "properties": { - "prefixSize": { - "format": "int32", - "description": "The number of bytes for each prefix encoded below. This field can be\nanywhere from 4 (shortest prefix) to 32 (full SHA256 hash).", - "type": "integer" - }, "rawHashes": { "format": "byte", "description": "The hashes, in binary format, concatenated into one long string. Hashes are\nsorted in lexicographic order. For JSON API users, hashes are\nbase64-encoded.", "type": "string" + }, + "prefixSize": { + "format": "int32", + "description": "The number of bytes for each prefix encoded below. This field can be\nanywhere from 4 (shortest prefix) to 32 (full SHA256 hash).", + "type": "integer" } - } + }, + "id": "RawHashes" }, "FetchThreatListUpdatesResponse": { + "id": "FetchThreatListUpdatesResponse", "type": "object", "properties": { "minimumWaitDuration": { @@ -289,8 +728,7 @@ }, "type": "array" } - }, - "id": "FetchThreatListUpdatesResponse" + } }, "Checksum": { "description": "The expected state of a client's local database.", @@ -305,8 +743,14 @@ "id": "Checksum" }, "FindFullHashesResponse": { + "id": "FindFullHashesResponse", "type": "object", "properties": { + "minimumWaitDuration": { + "format": "google-duration", + "description": "The minimum duration the client must wait before issuing any find hashes\nrequest. If this field is not set, clients can issue a request as soon as\nthey want.", + "type": "string" + }, "matches": { "description": "The full hashes that matched the requested prefixes.", "items": { @@ -318,16 +762,11 @@ "format": "google-duration", "description": "For requested entities that did not match the threat list, how long to\ncache the response.", "type": "string" - }, - "minimumWaitDuration": { - "format": "google-duration", - "description": "The minimum duration the client must wait before issuing any find hashes\nrequest. If this field is not set, clients can issue a request as soon as\nthey want.", - "type": "string" } - }, - "id": "FindFullHashesResponse" + } }, "ThreatEntrySet": { + "id": "ThreatEntrySet", "description": "A set of threats that should be added or removed from a client's local\ndatabase.", "type": "object", "properties": { @@ -336,6 +775,7 @@ "description": "The encoded local, lexicographically-sorted list indices, using a\nGolomb-Rice encoding. Used for sending compressed removal indices. The\nremoval indices (uint32) are sorted in ascending order, then delta encoded\nand stored as encoded_data." }, "compressionType": { + "description": "The compression type for the entries in this set.", "type": "string", "enumDescriptions": [ "Unknown.", @@ -346,33 +786,27 @@ "COMPRESSION_TYPE_UNSPECIFIED", "RAW", "RICE" - ], - "description": "The compression type for the entries in this set." + ] }, "rawIndices": { "description": "The raw removal indices for a local list.", "$ref": "RawIndices" }, "rawHashes": { - "$ref": "RawHashes", - "description": "The raw SHA256-formatted entries." + "description": "The raw SHA256-formatted entries.", + "$ref": "RawHashes" }, "riceHashes": { - "description": "The encoded 4-byte prefixes of SHA256-formatted entries, using a\nGolomb-Rice encoding. The hashes are converted to uint32, sorted in\nascending order, then delta encoded and stored as encoded_data.", - "$ref": "RiceDeltaEncoding" + "$ref": "RiceDeltaEncoding", + "description": "The encoded 4-byte prefixes of SHA256-formatted entries, using a\nGolomb-Rice encoding. The hashes are converted to uint32, sorted in\nascending order, then delta encoded and stored as encoded_data." } - }, - "id": "ThreatEntrySet" + } }, "FindFullHashesRequest": { "id": "FindFullHashesRequest", "description": "Request to return full hashes matched by the provided hash prefixes.", "type": "object", "properties": { - "apiClient": { - "description": "Client metadata associated with callers of higher-level APIs built on top\nof the client's implementation.", - "$ref": "ClientInfo" - }, "clientStates": { "description": "The current client states for each of the client's local threat lists.", "items": { @@ -386,12 +820,17 @@ "description": "The client metadata." }, "threatInfo": { - "$ref": "ThreatInfo", - "description": "The lists and hashes to be checked." + "description": "The lists and hashes to be checked.", + "$ref": "ThreatInfo" + }, + "apiClient": { + "description": "Client metadata associated with callers of higher-level APIs built on top\nof the client's implementation.", + "$ref": "ClientInfo" } } }, "ListUpdateRequest": { + "id": "ListUpdateRequest", "description": "A single list update request.", "type": "object", "properties": { @@ -423,8 +862,6 @@ "type": "string" }, "platformType": { - "description": "The type of platform at risk by entries present in the list.", - "type": "string", "enumDescriptions": [ "Unknown platform.", "Threat posed to Windows.", @@ -446,34 +883,51 @@ "ANY_PLATFORM", "ALL_PLATFORMS", "CHROME" - ] + ], + "description": "The type of platform at risk by entries present in the list.", + "type": "string" }, "constraints": { - "description": "The constraints associated with this request.", - "$ref": "Constraints" + "$ref": "Constraints", + "description": "The constraints associated with this request." }, "threatType": { - "enum": [ - "THREAT_TYPE_UNSPECIFIED", - "MALWARE", - "SOCIAL_ENGINEERING", - "UNWANTED_SOFTWARE", - "POTENTIALLY_HARMFUL_APPLICATION", - "MALICIOUS_BINARY" - ], - "description": "The type of threat posed by entries present in the list.", - "type": "string", "enumDescriptions": [ "Unknown.", "Malware threat type.", "Social engineering threat type.", "Unwanted software threat type.", "Potentially harmful application threat type.", - "Malicious binary threat type." - ] + "Social engineering threat type for internal use.", + "API abuse threat type.", + "Malicious binary threat type.", + "Client side detection whitelist threat type.", + "Client side download detection whitelist threat type.", + "Client incident threat type.", + "Whitelist used when detecting client incident threats.\nThis enum was never launched and should be re-used for the next list.", + "List used for offline APK checks in PAM.", + "Patterns to be used for activating the subresource filter. Interstitial\nwill not be shown for patterns from this list." + ], + "enum": [ + "THREAT_TYPE_UNSPECIFIED", + "MALWARE", + "SOCIAL_ENGINEERING", + "UNWANTED_SOFTWARE", + "POTENTIALLY_HARMFUL_APPLICATION", + "SOCIAL_ENGINEERING_INTERNAL", + "API_ABUSE", + "MALICIOUS_BINARY", + "CSD_WHITELIST", + "CSD_DOWNLOAD_WHITELIST", + "CLIENT_INCIDENT", + "CLIENT_INCIDENT_WHITELIST", + "APK_MALWARE_OFFLINE", + "SUBRESOURCE_FILTER" + ], + "description": "The type of threat posed by entries present in the list.", + "type": "string" } - }, - "id": "ListUpdateRequest" + } }, "FetchThreatListUpdatesRequest": { "description": "Describes a Safe Browsing API update request. Clients can request updates for\nmultiple lists in a single request.\nNOTE: Field index 2 is unused.\nNEXT: 5", @@ -497,7 +951,21 @@ "description": "An update to an individual list.", "type": "object", "properties": { + "removals": { + "description": "A set of entries to remove from a local threat type's list. In practice,\nthis field is empty or contains exactly one ThreatEntrySet.", + "items": { + "$ref": "ThreatEntrySet" + }, + "type": "array" + }, + "newClientState": { + "format": "byte", + "description": "The new client state, in encrypted format. Opaque to clients.", + "type": "string" + }, "platformType": { + "description": "The platform type for which data is returned.", + "type": "string", "enumDescriptions": [ "Unknown platform.", "Threat posed to Windows.", @@ -519,13 +987,9 @@ "ANY_PLATFORM", "ALL_PLATFORMS", "CHROME" - ], - "description": "The platform type for which data is returned.", - "type": "string" + ] }, "threatEntryType": { - "description": "The format of the threats.", - "type": "string", "enumDescriptions": [ "Unspecified.", "A URL.", @@ -543,7 +1007,9 @@ "CHROME_EXTENSION", "FILENAME", "CERT" - ] + ], + "description": "The format of the threats.", + "type": "string" }, "additions": { "description": "A set of entries to add to a local threat type's list. Repeated to allow\nfor a combination of compressed and raw data to be sent in a single\nresponse.", @@ -553,8 +1019,8 @@ "type": "array" }, "checksum": { - "description": "The expected SHA256 hash of the client state; that is, of the sorted list\nof all hashes present in the database after applying the provided update.\nIf the client state doesn't match the expected state, the client must\ndisregard this update and retry later.", - "$ref": "Checksum" + "$ref": "Checksum", + "description": "The expected SHA256 hash of the client state; that is, of the sorted list\nof all hashes present in the database after applying the provided update.\nIf the client state doesn't match the expected state, the client must\ndisregard this update and retry later." }, "responseType": { "description": "The type of response. This may indicate that an action is required by the\nclient when the response is received.", @@ -571,14 +1037,6 @@ ] }, "threatType": { - "enum": [ - "THREAT_TYPE_UNSPECIFIED", - "MALWARE", - "SOCIAL_ENGINEERING", - "UNWANTED_SOFTWARE", - "POTENTIALLY_HARMFUL_APPLICATION", - "MALICIOUS_BINARY" - ], "description": "The threat type for which data is returned.", "type": "string", "enumDescriptions": [ @@ -587,28 +1045,46 @@ "Social engineering threat type.", "Unwanted software threat type.", "Potentially harmful application threat type.", - "Malicious binary threat type." + "Social engineering threat type for internal use.", + "API abuse threat type.", + "Malicious binary threat type.", + "Client side detection whitelist threat type.", + "Client side download detection whitelist threat type.", + "Client incident threat type.", + "Whitelist used when detecting client incident threats.\nThis enum was never launched and should be re-used for the next list.", + "List used for offline APK checks in PAM.", + "Patterns to be used for activating the subresource filter. Interstitial\nwill not be shown for patterns from this list." + ], + "enum": [ + "THREAT_TYPE_UNSPECIFIED", + "MALWARE", + "SOCIAL_ENGINEERING", + "UNWANTED_SOFTWARE", + "POTENTIALLY_HARMFUL_APPLICATION", + "SOCIAL_ENGINEERING_INTERNAL", + "API_ABUSE", + "MALICIOUS_BINARY", + "CSD_WHITELIST", + "CSD_DOWNLOAD_WHITELIST", + "CLIENT_INCIDENT", + "CLIENT_INCIDENT_WHITELIST", + "APK_MALWARE_OFFLINE", + "SUBRESOURCE_FILTER" ] - }, - "removals": { - "description": "A set of entries to remove from a local threat type's list. In practice,\nthis field is empty or contains exactly one ThreatEntrySet.", - "items": { - "$ref": "ThreatEntrySet" - }, - "type": "array" - }, - "newClientState": { - "type": "string", - "format": "byte", - "description": "The new client state, in encrypted format. Opaque to clients." } }, "id": "ListUpdateResponse" }, "Constraints": { + "id": "Constraints", "description": "The constraints for this update.", "type": "object", "properties": { + "maxUpdateEntries": { + "format": "int32", + "description": "The maximum size in number of entries. The update will not contain more\nentries than this value. This should be a power of 2 between 2**10 and\n2**20. If zero, no update size limit is set.", + "type": "integer" + }, "region": { "description": "Requests the list for a specific geographic location. If not set the\nserver may pick that value based on the user's IP address. Expects ISO\n3166-1 alpha-2 format.", "type": "string" @@ -634,417 +1110,21 @@ "Raw, uncompressed data.", "Rice-Golomb encoded data." ] - }, - "maxUpdateEntries": { - "format": "int32", - "description": "The maximum size in number of entries. The update will not contain more\nentries than this value. This should be a power of 2 between 2**10 and\n2**20. If zero, no update size limit is set.", - "type": "integer" - } - }, - "id": "Constraints" - }, - "ThreatMatch": { - "description": "A match when checking a threat entry in the Safe Browsing threat lists.", - "type": "object", - "properties": { - "cacheDuration": { - "format": "google-duration", - "description": "The cache lifetime for the returned match. Clients must not cache this\nresponse for more than this duration to avoid false positives.", - "type": "string" - }, - "threatType": { - "description": "The threat type matching this threat.", - "type": "string", - "enumDescriptions": [ - "Unknown.", - "Malware threat type.", - "Social engineering threat type.", - "Unwanted software threat type.", - "Potentially harmful application threat type.", - "Malicious binary threat type." - ], - "enum": [ - "THREAT_TYPE_UNSPECIFIED", - "MALWARE", - "SOCIAL_ENGINEERING", - "UNWANTED_SOFTWARE", - "POTENTIALLY_HARMFUL_APPLICATION", - "MALICIOUS_BINARY" - ] - }, - "threatEntryMetadata": { - "$ref": "ThreatEntryMetadata", - "description": "Optional metadata associated with this threat." - }, - "threat": { - "description": "The threat matching this threat.", - "$ref": "ThreatEntry" - }, - "platformType": { - "enum": [ - "PLATFORM_TYPE_UNSPECIFIED", - "WINDOWS", - "LINUX", - "ANDROID", - "OSX", - "IOS", - "ANY_PLATFORM", - "ALL_PLATFORMS", - "CHROME" - ], - "description": "The platform type matching this threat.", - "type": "string", - "enumDescriptions": [ - "Unknown platform.", - "Threat posed to Windows.", - "Threat posed to Linux.", - "Threat posed to Android.", - "Threat posed to OS X.", - "Threat posed to iOS.", - "Threat posed to at least one of the defined platforms.", - "Threat posed to all defined platforms.", - "Threat posed to Chrome." - ] - }, - "threatEntryType": { - "description": "The threat entry type matching this threat.", - "type": "string", - "enumDescriptions": [ - "Unspecified.", - "A URL.", - "An executable program.", - "An IP range.", - "Chrome extension.", - "Filename.", - "CERT" - ], - "enum": [ - "THREAT_ENTRY_TYPE_UNSPECIFIED", - "URL", - "EXECUTABLE", - "IP_RANGE", - "CHROME_EXTENSION", - "FILENAME", - "CERT" - ] - } - }, - "id": "ThreatMatch" - }, - "RiceDeltaEncoding": { - "description": "The Rice-Golomb encoded data. Used for sending compressed 4-byte hashes or\ncompressed removal indices.", - "type": "object", - "properties": { - "encodedData": { - "format": "byte", - "description": "The encoded deltas that are encoded using the Golomb-Rice coder.", - "type": "string" - }, - "firstValue": { - "format": "int64", - "description": "The offset of the first entry in the encoded data, or, if only a single\ninteger was encoded, that single integer's value.", - "type": "string" - }, - "numEntries": { - "type": "integer", - "format": "int32", - "description": "The number of entries that are delta encoded in the encoded data. If only a\nsingle integer was encoded, this will be zero and the single value will be\nstored in `first_value`." - }, - "riceParameter": { - "format": "int32", - "description": "The Golomb-Rice parameter, which is a number between 2 and 28. This field\nis missing (that is, zero) if `num_entries` is zero.", - "type": "integer" - } - }, - "id": "RiceDeltaEncoding" - }, - "ListThreatListsResponse": { - "type": "object", - "properties": { - "threatLists": { - "description": "The lists available for download by the client.", - "items": { - "$ref": "ThreatListDescriptor" - }, - "type": "array" - } - }, - "id": "ListThreatListsResponse" - }, - "ThreatEntry": { - "id": "ThreatEntry", - "description": "An individual threat; for example, a malicious URL or its hash\nrepresentation. Only one of these fields should be set.", - "type": "object", - "properties": { - "digest": { - "format": "byte", - "description": "The digest of an executable in SHA256 format. The API supports both\nbinary and hex digests. For JSON requests, digests are base64-encoded.", - "type": "string" - }, - "hash": { - "format": "byte", - "description": "A hash prefix, consisting of the most significant 4-32 bytes of a SHA256\nhash. This field is in binary format. For JSON requests, hashes are\nbase64-encoded.", - "type": "string" - }, - "url": { - "description": "A URL.", - "type": "string" } } - }, - "FindThreatMatchesResponse": { - "id": "FindThreatMatchesResponse", - "type": "object", - "properties": { - "matches": { - "items": { - "$ref": "ThreatMatch" - }, - "type": "array", - "description": "The threat list matches." - } - } - }, - "ThreatListDescriptor": { - "description": "Describes an individual threat list. A list is defined by three parameters:\nthe type of threat posed, the type of platform targeted by the threat, and\nthe type of entries in the list.", - "type": "object", - "properties": { - "platformType": { - "type": "string", - "enumDescriptions": [ - "Unknown platform.", - "Threat posed to Windows.", - "Threat posed to Linux.", - "Threat posed to Android.", - "Threat posed to OS X.", - "Threat posed to iOS.", - "Threat posed to at least one of the defined platforms.", - "Threat posed to all defined platforms.", - "Threat posed to Chrome." - ], - "enum": [ - "PLATFORM_TYPE_UNSPECIFIED", - "WINDOWS", - "LINUX", - "ANDROID", - "OSX", - "IOS", - "ANY_PLATFORM", - "ALL_PLATFORMS", - "CHROME" - ], - "description": "The platform type targeted by the list's entries." - }, - "threatType": { - "type": "string", - "enumDescriptions": [ - "Unknown.", - "Malware threat type.", - "Social engineering threat type.", - "Unwanted software threat type.", - "Potentially harmful application threat type.", - "Malicious binary threat type." - ], - "enum": [ - "THREAT_TYPE_UNSPECIFIED", - "MALWARE", - "SOCIAL_ENGINEERING", - "UNWANTED_SOFTWARE", - "POTENTIALLY_HARMFUL_APPLICATION", - "MALICIOUS_BINARY" - ], - "description": "The threat type posed by the list's entries." - }, - "threatEntryType": { - "description": "The entry types contained in the list.", - "type": "string", - "enumDescriptions": [ - "Unspecified.", - "A URL.", - "An executable program.", - "An IP range.", - "Chrome extension.", - "Filename.", - "CERT" - ], - "enum": [ - "THREAT_ENTRY_TYPE_UNSPECIFIED", - "URL", - "EXECUTABLE", - "IP_RANGE", - "CHROME_EXTENSION", - "FILENAME", - "CERT" - ] - } - }, - "id": "ThreatListDescriptor" - }, - "MetadataEntry": { - "description": "A single metadata entry.", - "type": "object", - "properties": { - "value": { - "format": "byte", - "description": "The metadata entry value. For JSON requests, the value is base64-encoded.", - "type": "string" - }, - "key": { - "format": "byte", - "description": "The metadata entry key. For JSON requests, the key is base64-encoded.", - "type": "string" - } - }, - "id": "MetadataEntry" - }, - "ClientInfo": { - "id": "ClientInfo", - "description": "The client metadata associated with Safe Browsing API requests.", - "type": "object", - "properties": { - "clientId": { - "description": "A client ID that (hopefully) uniquely identifies the client implementation\nof the Safe Browsing API.", - "type": "string" - }, - "clientVersion": { - "description": "The version of the client implementation.", - "type": "string" - } - } - }, - "ThreatInfo": { - "description": "The information regarding one or more threats that a client submits when\nchecking for matches in threat lists.", - "type": "object", - "properties": { - "threatEntryTypes": { - "enumDescriptions": [ - "Unspecified.", - "A URL.", - "An executable program.", - "An IP range.", - "Chrome extension.", - "Filename.", - "CERT" - ], - "description": "The entry types to be checked.", - "items": { - "enum": [ - "THREAT_ENTRY_TYPE_UNSPECIFIED", - "URL", - "EXECUTABLE", - "IP_RANGE", - "CHROME_EXTENSION", - "FILENAME", - "CERT" - ], - "type": "string" - }, - "type": "array" - }, - "threatTypes": { - "items": { - "type": "string", - "enum": [ - "THREAT_TYPE_UNSPECIFIED", - "MALWARE", - "SOCIAL_ENGINEERING", - "UNWANTED_SOFTWARE", - "POTENTIALLY_HARMFUL_APPLICATION", - "MALICIOUS_BINARY" - ] - }, - "type": "array", - "enumDescriptions": [ - "Unknown.", - "Malware threat type.", - "Social engineering threat type.", - "Unwanted software threat type.", - "Potentially harmful application threat type.", - "Malicious binary threat type." - ], - "description": "The threat types to be checked." - }, - "platformTypes": { - "items": { - "type": "string", - "enum": [ - "PLATFORM_TYPE_UNSPECIFIED", - "WINDOWS", - "LINUX", - "ANDROID", - "OSX", - "IOS", - "ANY_PLATFORM", - "ALL_PLATFORMS", - "CHROME" - ] - }, - "type": "array", - "enumDescriptions": [ - "Unknown platform.", - "Threat posed to Windows.", - "Threat posed to Linux.", - "Threat posed to Android.", - "Threat posed to OS X.", - "Threat posed to iOS.", - "Threat posed to at least one of the defined platforms.", - "Threat posed to all defined platforms.", - "Threat posed to Chrome." - ], - "description": "The platform types to be checked." - }, - "threatEntries": { - "description": "The threat entries to be checked.", - "items": { - "$ref": "ThreatEntry" - }, - "type": "array" - } - }, - "id": "ThreatInfo" - }, - "FindThreatMatchesRequest": { - "id": "FindThreatMatchesRequest", - "description": "Request to check entries against lists.", - "type": "object", - "properties": { - "client": { - "$ref": "ClientInfo", - "description": "The client metadata." - }, - "threatInfo": { - "description": "The lists and entries to be checked for matches.", - "$ref": "ThreatInfo" - } - } - }, - "ThreatEntryMetadata": { - "description": "The metadata associated with a specific threat entry. The client is expected\nto know the metadata key/value pairs associated with each threat type.", - "type": "object", - "properties": { - "entries": { - "description": "The metadata entries.", - "items": { - "$ref": "MetadataEntry" - }, - "type": "array" - } - }, - "id": "ThreatEntryMetadata" } }, + "protocol": "rest", "icons": { "x32": "http://www.google.com/images/icons/product/search-32.gif", "x16": "http://www.google.com/images/icons/product/search-16.gif" }, - "protocol": "rest", "version": "v4", "baseUrl": "https://safebrowsing.googleapis.com/", - "kind": "discovery#restDescription", - "description": "The Safe Browsing API is an experimental API that allows client applications to check URLs against Google's constantly-updated blacklists of suspected phishing and malware pages. Your client application can use the API to download an encrypted table for local, client-side lookups of URLs.", "servicePath": "", + "kind": "discovery#restDescription", + "description": "Enables client applications to check web resources (most commonly URLs) against Google-generated lists of unsafe web resources.", "rootUrl": "https://safebrowsing.googleapis.com/", "basePath": "", - "ownerDomain": "google.com", - "name": "safebrowsing" + "ownerDomain": "google.com" } diff --git a/vendor/google.golang.org/api/safebrowsing/v4/safebrowsing-gen.go b/vendor/google.golang.org/api/safebrowsing/v4/safebrowsing-gen.go index a34a69bcd..51c6c502a 100644 --- a/vendor/google.golang.org/api/safebrowsing/v4/safebrowsing-gen.go +++ b/vendor/google.golang.org/api/safebrowsing/v4/safebrowsing-gen.go @@ -554,7 +554,21 @@ type ListUpdateRequest struct { // "UNWANTED_SOFTWARE" - Unwanted software threat type. // "POTENTIALLY_HARMFUL_APPLICATION" - Potentially harmful application // threat type. + // "SOCIAL_ENGINEERING_INTERNAL" - Social engineering threat type for + // internal use. + // "API_ABUSE" - API abuse threat type. // "MALICIOUS_BINARY" - Malicious binary threat type. + // "CSD_WHITELIST" - Client side detection whitelist threat type. + // "CSD_DOWNLOAD_WHITELIST" - Client side download detection whitelist + // threat type. + // "CLIENT_INCIDENT" - Client incident threat type. + // "CLIENT_INCIDENT_WHITELIST" - Whitelist used when detecting client + // incident threats. + // This enum was never launched and should be re-used for the next list. + // "APK_MALWARE_OFFLINE" - List used for offline APK checks in PAM. + // "SUBRESOURCE_FILTER" - Patterns to be used for activating the + // subresource filter. Interstitial + // will not be shown for patterns from this list. ThreatType string `json:"threatType,omitempty"` // ForceSendFields is a list of field names (e.g. "Constraints") to @@ -658,7 +672,21 @@ type ListUpdateResponse struct { // "UNWANTED_SOFTWARE" - Unwanted software threat type. // "POTENTIALLY_HARMFUL_APPLICATION" - Potentially harmful application // threat type. + // "SOCIAL_ENGINEERING_INTERNAL" - Social engineering threat type for + // internal use. + // "API_ABUSE" - API abuse threat type. // "MALICIOUS_BINARY" - Malicious binary threat type. + // "CSD_WHITELIST" - Client side detection whitelist threat type. + // "CSD_DOWNLOAD_WHITELIST" - Client side download detection whitelist + // threat type. + // "CLIENT_INCIDENT" - Client incident threat type. + // "CLIENT_INCIDENT_WHITELIST" - Whitelist used when detecting client + // incident threats. + // This enum was never launched and should be re-used for the next list. + // "APK_MALWARE_OFFLINE" - List used for offline APK checks in PAM. + // "SUBRESOURCE_FILTER" - Patterns to be used for activating the + // subresource filter. Interstitial + // will not be shown for patterns from this list. ThreatType string `json:"threatType,omitempty"` // ForceSendFields is a list of field names (e.g. "Additions") to @@ -1017,7 +1045,21 @@ type ThreatInfo struct { // "UNWANTED_SOFTWARE" - Unwanted software threat type. // "POTENTIALLY_HARMFUL_APPLICATION" - Potentially harmful application // threat type. + // "SOCIAL_ENGINEERING_INTERNAL" - Social engineering threat type for + // internal use. + // "API_ABUSE" - API abuse threat type. // "MALICIOUS_BINARY" - Malicious binary threat type. + // "CSD_WHITELIST" - Client side detection whitelist threat type. + // "CSD_DOWNLOAD_WHITELIST" - Client side download detection whitelist + // threat type. + // "CLIENT_INCIDENT" - Client incident threat type. + // "CLIENT_INCIDENT_WHITELIST" - Whitelist used when detecting client + // incident threats. + // This enum was never launched and should be re-used for the next list. + // "APK_MALWARE_OFFLINE" - List used for offline APK checks in PAM. + // "SUBRESOURCE_FILTER" - Patterns to be used for activating the + // subresource filter. Interstitial + // will not be shown for patterns from this list. ThreatTypes []string `json:"threatTypes,omitempty"` // ForceSendFields is a list of field names (e.g. "PlatformTypes") to @@ -1085,7 +1127,21 @@ type ThreatListDescriptor struct { // "UNWANTED_SOFTWARE" - Unwanted software threat type. // "POTENTIALLY_HARMFUL_APPLICATION" - Potentially harmful application // threat type. + // "SOCIAL_ENGINEERING_INTERNAL" - Social engineering threat type for + // internal use. + // "API_ABUSE" - API abuse threat type. // "MALICIOUS_BINARY" - Malicious binary threat type. + // "CSD_WHITELIST" - Client side detection whitelist threat type. + // "CSD_DOWNLOAD_WHITELIST" - Client side download detection whitelist + // threat type. + // "CLIENT_INCIDENT" - Client incident threat type. + // "CLIENT_INCIDENT_WHITELIST" - Whitelist used when detecting client + // incident threats. + // This enum was never launched and should be re-used for the next list. + // "APK_MALWARE_OFFLINE" - List used for offline APK checks in PAM. + // "SUBRESOURCE_FILTER" - Patterns to be used for activating the + // subresource filter. Interstitial + // will not be shown for patterns from this list. ThreatType string `json:"threatType,omitempty"` // ForceSendFields is a list of field names (e.g. "PlatformType") to @@ -1161,7 +1217,21 @@ type ThreatMatch struct { // "UNWANTED_SOFTWARE" - Unwanted software threat type. // "POTENTIALLY_HARMFUL_APPLICATION" - Potentially harmful application // threat type. + // "SOCIAL_ENGINEERING_INTERNAL" - Social engineering threat type for + // internal use. + // "API_ABUSE" - API abuse threat type. // "MALICIOUS_BINARY" - Malicious binary threat type. + // "CSD_WHITELIST" - Client side detection whitelist threat type. + // "CSD_DOWNLOAD_WHITELIST" - Client side download detection whitelist + // threat type. + // "CLIENT_INCIDENT" - Client incident threat type. + // "CLIENT_INCIDENT_WHITELIST" - Whitelist used when detecting client + // incident threats. + // This enum was never launched and should be re-used for the next list. + // "APK_MALWARE_OFFLINE" - List used for offline APK checks in PAM. + // "SUBRESOURCE_FILTER" - Patterns to be used for activating the + // subresource filter. Interstitial + // will not be shown for patterns from this list. ThreatType string `json:"threatType,omitempty"` // ForceSendFields is a list of field names (e.g. "CacheDuration") to diff --git a/vendor/google.golang.org/api/script/v1/script-api.json b/vendor/google.golang.org/api/script/v1/script-api.json index 3cce4ec20..163c5e7eb 100644 --- a/vendor/google.golang.org/api/script/v1/script-api.json +++ b/vendor/google.golang.org/api/script/v1/script-api.json @@ -1,67 +1,21 @@ { - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/groups": { - "description": "View and manage your Google Groups" - }, - "https://www.googleapis.com/auth/forms.currentonly": { - "description": "View and manage forms that this application has been installed in" - }, - "https://www.googleapis.com/auth/drive": { - "description": "View and manage the files in your Google Drive" - }, - "https://www.googleapis.com/auth/spreadsheets": { - "description": "View and manage your spreadsheets in Google Drive" - }, - "https://mail.google.com/": { - "description": "Read, send, delete, and manage your email" - }, - "https://www.googleapis.com/auth/admin.directory.user": { - "description": "View and manage the provisioning of users on your domain" - }, - "https://www.googleapis.com/auth/admin.directory.group": { - "description": "View and manage the provisioning of groups on your domain" - }, - "https://www.googleapis.com/auth/forms": { - "description": "View and manage your forms in Google Drive" - }, - "https://www.google.com/m8/feeds": { - "description": "Manage your contacts" - }, - "https://www.googleapis.com/auth/userinfo.email": { - "description": "View your email address" - }, - "https://www.google.com/calendar/feeds": { - "description": "Manage your calendars" - } - } - } - }, - "servicePath": "", - "description": "Executes Google Apps Script projects.", - "kind": "discovery#restDescription", - "rootUrl": "https://script.googleapis.com/", - "basePath": "", - "ownerDomain": "google.com", - "name": "script", - "batchPath": "batch", - "revision": "20170621", - "documentationLink": "https://developers.google.com/apps-script/execution/rest/v1/scripts/run", - "id": "script:v1", - "title": "Google Apps Script Execution API", - "discoveryVersion": "v1", - "ownerName": "Google", "resources": { "scripts": { "methods": { "run": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "scriptId" + ], + "httpMethod": "POST", "parameters": { "scriptId": { "location": "path", - "description": "The project key of the script to be executed. To find the project key, open\nthe project in the script editor and select **File \u003e Project properties**.", - "type": "string", - "required": true + "description": "The script ID of the script to be executed. To find the script ID, open\nthe project in the script editor and select **File \u003e Project properties**.", + "required": true, + "type": "string" } }, "scopes": [ @@ -78,28 +32,57 @@ "https://www.googleapis.com/auth/userinfo.email" ], "flatPath": "v1/scripts/{scriptId}:run", - "id": "script.scripts.run", "path": "v1/scripts/{scriptId}:run", - "description": "Runs a function in an Apps Script project. The project must be deployed\nfor use with the Apps Script Execution API.\n\nThis method requires authorization with an OAuth 2.0 token that includes at\nleast one of the scopes listed in the [Authorization](#authorization)\nsection; script projects that do not require authorization cannot be\nexecuted through this API. To find the correct scopes to include in the\nauthentication token, open the project in the script editor, then select\n**File \u003e Project properties** and click the **Scopes** tab.", + "id": "script.scripts.run", "request": { "$ref": "ExecutionRequest" }, - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "scriptId" - ], - "httpMethod": "POST" + "description": "Runs a function in an Apps Script project. The project must be deployed\nfor use with the Apps Script Execution API.\n\nThis method requires authorization with an OAuth 2.0 token that includes at\nleast one of the scopes listed in the [Authorization](#authorization)\nsection; script projects that do not require authorization cannot be\nexecuted through this API. To find the correct scopes to include in the\nauthentication token, open the project in the script editor, then select\n**File \u003e Project properties** and click the **Scopes** tab." } } } }, "parameters": { - "alt": { + "upload_protocol": { "location": "query", - "description": "Data format for response.", - "default": "json", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "type": "boolean", + "default": "true" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", + "location": "query" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string", + "location": "query" + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, + "$.xgafv": { + "description": "V1 error format.", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ] + }, + "alt": { "enum": [ "json", "media", @@ -110,113 +93,62 @@ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", "Responses with Content-Type of application/x-protobuf" - ] - }, - "access_token": { + ], "location": "query", - "description": "OAuth access token.", - "type": "string" + "description": "Data format for response.", + "default": "json" }, "key": { "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", "type": "string", "location": "query" }, + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, "quotaUser": { "location": "query", "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", "type": "string" }, "pp": { + "location": "query", "description": "Pretty-print response.", - "default": "true", "type": "boolean", + "default": "true" + }, + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", "location": "query" }, "oauth_token": { "location": "query", "description": "OAuth 2.0 token for the current user.", "type": "string" - }, - "bearer_token": { - "location": "query", - "description": "OAuth bearer token.", - "type": "string" - }, - "upload_protocol": { - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string", - "location": "query" - }, - "prettyPrint": { - "location": "query", - "description": "Returns response with indentations and line breaks.", - "default": "true", - "type": "boolean" - }, - "uploadType": { - "type": "string", - "location": "query", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")." - }, - "fields": { - "location": "query", - "description": "Selector specifying which fields to include in a partial response.", - "type": "string" - }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, - "$.xgafv": { - "type": "string", - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" - ], - "description": "V1 error format." } }, "schemas": { - "JoinAsyncResponse": { - "id": "JoinAsyncResponse", - "description": "An object that provides the return value for the JoinAsync method.", + "ExecutionResponse": { + "description": "An object that provides the return value of a function executed through the\nApps Script Execution API. If a\n`run` call succeeds and the\nscript function returns successfully, the response body's\n`response` field contains this\n`ExecutionResponse` object.", "type": "object", "properties": { - "results": { - "additionalProperties": { - "$ref": "Operation" - }, - "description": "The return values for each script function, in a map of operation resource\nnames to the Operation containing the result of the process. The response\nwill contain either an error or the result of the script function.", - "type": "object" + "result": { + "description": "The return value of the script function. The type matches the object type\nreturned in Apps Script. Functions called through the Execution API cannot\nreturn Apps Script-specific objects (such as a `Document` or a `Calendar`);\nthey can only return primitive types such as a `string`, `number`, `array`,\n`object`, or `boolean`.", + "type": "any" } - } + }, + "id": "ExecutionResponse" }, "Operation": { "description": "The response will not arrive until the function finishes executing. The maximum runtime is listed in the guide to [limitations in Apps Script](https://developers.google.com/apps-script/guides/services/quotas#current_limitations).\n\u003cp\u003eIf the script function returns successfully, the `response` field will contain an `ExecutionResponse` object with the function's return value in the object's `result` field.\u003c/p\u003e\n\u003cp\u003eIf the script function (or Apps Script itself) throws an exception, the `error` field will contain a `Status` object. The `Status` object's `details` field will contain an array with a single `ExecutionError` object that provides information about the nature of the error.\u003c/p\u003e\n\u003cp\u003eIf the `run` call itself fails (for example, because of a malformed request or an authorization error), the method will return an HTTP response code in the 4XX range with a different format for the response body. Client libraries will automatically convert a 4XX response into an exception class.\u003c/p\u003e", "type": "object", "properties": { - "response": { - "description": "If the script function returns successfully, this field will contain an `ExecutionResponse` object with the function's return value as the object's `result` field.", - "type": "object", - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - } - }, - "name": { - "description": "This field is not used.", - "type": "string" - }, "error": { - "$ref": "Status", - "description": "If a `run` call succeeds but the script function (or Apps Script itself) throws an exception, this field will contain a `Status` object. The `Status` object's `details` field will contain an array with a single `ExecutionError` object that provides information about the nature of the error." + "description": "If a `run` call succeeds but the script function (or Apps Script itself) throws an exception, this field will contain a `Status` object. The `Status` object's `details` field will contain an array with a single `ExecutionError` object that provides information about the nature of the error.", + "$ref": "Status" }, "metadata": { "additionalProperties": { @@ -227,14 +159,21 @@ "type": "object" }, "done": { - "description": "This field is not used.", + "description": "This field is only used with asynchronous executions and indicates whether or not the script execution has completed. A completed execution has a populated response field containing the `ExecutionResponse` from function that was executed.", "type": "boolean" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "If the script function returns successfully, this field will contain an `ExecutionResponse` object with the function's return value as the object's `result` field.", + "type": "object" } }, "id": "Operation" }, "ScriptStackTraceElement": { - "id": "ScriptStackTraceElement", "description": "A stack trace through the script that shows where the execution failed.", "type": "object", "properties": { @@ -243,11 +182,12 @@ "type": "string" }, "lineNumber": { - "format": "int32", "description": "The line number where the script failed.", + "format": "int32", "type": "integer" } - } + }, + "id": "ScriptStackTraceElement" }, "ExecutionError": { "description": "An object that provides information about the nature of an error in the Apps\nScript Execution API. If an\n`run` call succeeds but the\nscript function (or Apps Script itself) throws an exception, the response\nbody's `error` field contains a\n`Status` object. The `Status` object's `details` field\ncontains an array with a single one of these `ExecutionError` objects.", @@ -258,112 +198,132 @@ "type": "string" }, "errorMessage": { - "description": "The error message thrown by Apps Script, usually localized into the user's\nlanguage.", - "type": "string" + "type": "string", + "description": "The error message thrown by Apps Script, usually localized into the user's\nlanguage." }, "scriptStackTraceElements": { - "description": "An array of objects that provide a stack trace through the script to show\nwhere the execution failed, with the deepest call first.", + "type": "array", "items": { "$ref": "ScriptStackTraceElement" }, - "type": "array" + "description": "An array of objects that provide a stack trace through the script to show\nwhere the execution failed, with the deepest call first." } }, "id": "ExecutionError" }, "Status": { - "description": "If a `run` call succeeds but the script function (or Apps Script itself) throws an exception, the response body's `error` field will contain this `Status` object.", - "type": "object", "properties": { - "code": { - "format": "int32", - "description": "The status code. For this API, this value will always be 3, corresponding to an INVALID_ARGUMENT error.", - "type": "integer" - }, "message": { "description": "A developer-facing error message, which is in English. Any user-facing error message is localized and sent in the [`google.rpc.Status.details`](google.rpc.Status.details) field, or localized by the client.", "type": "string" }, "details": { "description": "An array that contains a single `ExecutionError` object that provides information about the nature of the error.", + "type": "array", "items": { "type": "object", "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" } - }, - "type": "array" + } + }, + "code": { + "description": "The status code. For this API, this value will always be 3, corresponding to an \u003ccode\u003eINVALID_ARGUMENT\u003c/code\u003e error.", + "format": "int32", + "type": "integer" } }, - "id": "Status" + "id": "Status", + "description": "If a `run` call succeeds but the script function (or Apps Script itself) throws an exception, the response body's `error` field will contain this `Status` object.", + "type": "object" }, "ExecutionRequest": { + "id": "ExecutionRequest", "description": "A request to run the function in a script. The script is identified by the\nspecified `script_id`. Executing a function on a script returns results\nbased on the implementation of the script.", "type": "object", "properties": { "parameters": { - "description": "The parameters to be passed to the function being executed. The object type\nfor each parameter should match the expected type in Apps Script.\nParameters cannot be Apps Script-specific object types (such as a\n`Document` or a `Calendar`); they can only be primitive types such as\n`string`, `number`, `array`, `object`, or `boolean`. Optional.", + "type": "array", "items": { "type": "any" }, - "type": "array" + "description": "The parameters to be passed to the function being executed. The object type\nfor each parameter should match the expected type in Apps Script.\nParameters cannot be Apps Script-specific object types (such as a\n`Document` or a `Calendar`); they can only be primitive types such as\n`string`, `number`, `array`, `object`, or `boolean`. Optional." }, "sessionState": { "description": "For Android add-ons only. An ID that represents the user's current session\nin the Android app for Google Docs or Sheets, included as extra data in the\n[`Intent`](https://developer.android.com/guide/components/intents-filters.html)\nthat launches the add-on. When an Android add-on is run with a session\nstate, it gains the privileges of a\n[bound](https://developers.google.com/apps-script/guides/bound) script —\nthat is, it can access information like the user's current cursor position\n(in Docs) or selected cell (in Sheets). To retrieve the state, call\n`Intent.getStringExtra(\"com.google.android.apps.docs.addons.SessionState\")`.\nOptional.", "type": "string" }, - "devMode": { - "description": "If `true` and the user is an owner of the script, the script runs at the\nmost recently saved version rather than the version deployed for use with\nthe Execution API. Optional; default is `false`.", - "type": "boolean" - }, "function": { "description": "The name of the function to execute in the given script. The name does not\ninclude parentheses or parameters.", "type": "string" - } - }, - "id": "ExecutionRequest" - }, - "JoinAsyncRequest": { - "description": "A request to retrieve the results from a collection of requests,\nspecified by the operation resource names.", - "type": "object", - "properties": { - "scriptId": { - "description": "The script id which specifies the script which all processes in the names\nfield must be from.", - "type": "string" }, - "names": { - "description": "List of operation resource names that we want to join,\nas returned from a call to RunAsync.", - "items": { - "type": "string" - }, - "type": "array" - }, - "timeout": { - "format": "google-duration", - "description": "Timeout for information retrieval in milliseconds.", - "type": "string" + "devMode": { + "description": "If `true` and the user is an owner of the script, the script runs at the\nmost recently saved version rather than the version deployed for use with\nthe Execution API. Optional; default is `false`.", + "type": "boolean" } - }, - "id": "JoinAsyncRequest" - }, - "ExecutionResponse": { - "description": "An object that provides the return value of a function executed through the\nApps Script Execution API. If a\n`run` call succeeds and the\nscript function returns successfully, the response body's\n`response` field contains this\n`ExecutionResponse` object.", - "type": "object", - "properties": { - "result": { - "type": "any", - "description": "The return value of the script function. The type matches the object type\nreturned in Apps Script. Functions called through the Execution API cannot\nreturn Apps Script-specific objects (such as a `Document` or a `Calendar`);\nthey can only return primitive types such as a `string`, `number`, `array`,\n`object`, or `boolean`." - } - }, - "id": "ExecutionResponse" + } } }, - "protocol": "rest", "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.gif" }, + "protocol": "rest", "version": "v1", - "baseUrl": "https://script.googleapis.com/" + "baseUrl": "https://script.googleapis.com/", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/forms": { + "description": "View and manage your forms in Google Drive" + }, + "https://www.google.com/m8/feeds": { + "description": "Manage your contacts" + }, + "https://www.googleapis.com/auth/userinfo.email": { + "description": "View your email address" + }, + "https://www.google.com/calendar/feeds": { + "description": "Manage your calendars" + }, + "https://www.googleapis.com/auth/groups": { + "description": "View and manage your Google Groups" + }, + "https://www.googleapis.com/auth/forms.currentonly": { + "description": "View and manage forms that this application has been installed in" + }, + "https://www.googleapis.com/auth/drive": { + "description": "View and manage the files in your Google Drive" + }, + "https://www.googleapis.com/auth/admin.directory.user": { + "description": "View and manage the provisioning of users on your domain" + }, + "https://www.googleapis.com/auth/admin.directory.group": { + "description": "View and manage the provisioning of groups on your domain" + }, + "https://mail.google.com/": { + "description": "Read, send, delete, and manage your email" + }, + "https://www.googleapis.com/auth/spreadsheets": { + "description": "View and manage your spreadsheets in Google Drive" + } + } + } + }, + "kind": "discovery#restDescription", + "description": "An API for managing and executing Google Apps Script projects.", + "servicePath": "", + "rootUrl": "https://script.googleapis.com/", + "basePath": "", + "ownerDomain": "google.com", + "name": "script", + "batchPath": "batch", + "revision": "20170927", + "documentationLink": "https://developers.google.com/apps-script/execution/rest/v1/scripts/run", + "id": "script:v1", + "fullyEncodeReservedExpansion": true, + "title": "Google Apps Script Execution API", + "ownerName": "Google", + "discoveryVersion": "v1" } diff --git a/vendor/google.golang.org/api/script/v1/script-gen.go b/vendor/google.golang.org/api/script/v1/script-gen.go index ccd1f2775..cdbfdf92c 100644 --- a/vendor/google.golang.org/api/script/v1/script-gen.go +++ b/vendor/google.golang.org/api/script/v1/script-gen.go @@ -279,78 +279,6 @@ func (s *ExecutionResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// JoinAsyncRequest: A request to retrieve the results from a collection -// of requests, -// specified by the operation resource names. -type JoinAsyncRequest struct { - // Names: List of operation resource names that we want to join, - // as returned from a call to RunAsync. - Names []string `json:"names,omitempty"` - - // ScriptId: The script id which specifies the script which all - // processes in the names - // field must be from. - ScriptId string `json:"scriptId,omitempty"` - - // Timeout: Timeout for information retrieval in milliseconds. - Timeout string `json:"timeout,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Names") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Names") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *JoinAsyncRequest) MarshalJSON() ([]byte, error) { - type noMethod JoinAsyncRequest - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// JoinAsyncResponse: An object that provides the return value for the -// JoinAsync method. -type JoinAsyncResponse struct { - // Results: The return values for each script function, in a map of - // operation resource - // names to the Operation containing the result of the process. The - // response - // will contain either an error or the result of the script function. - Results map[string]Operation `json:"results,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Results") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Results") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *JoinAsyncResponse) MarshalJSON() ([]byte, error) { - type noMethod JoinAsyncResponse - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // Operation: The response will not arrive until the function finishes // executing. The maximum runtime is listed in the guide to [limitations // in Apps @@ -370,7 +298,10 @@ func (s *JoinAsyncResponse) MarshalJSON() ([]byte, error) { // the response body. Client libraries will automatically convert a 4XX // response into an exception class.

    type Operation struct { - // Done: This field is not used. + // Done: This field is only used with asynchronous executions and + // indicates whether or not the script execution has completed. A + // completed execution has a populated response field containing the + // `ExecutionResponse` from function that was executed. Done bool `json:"done,omitempty"` // Error: If a `run` call succeeds but the script function (or Apps @@ -383,9 +314,6 @@ type Operation struct { // Metadata: This field is not used. Metadata googleapi.RawMessage `json:"metadata,omitempty"` - // Name: This field is not used. - Name string `json:"name,omitempty"` - // Response: If the script function returns successfully, this field // will contain an `ExecutionResponse` object with the function's return // value as the object's `result` field. @@ -455,7 +383,7 @@ func (s *ScriptStackTraceElement) MarshalJSON() ([]byte, error) { // will contain this `Status` object. type Status struct { // Code: The status code. For this API, this value will always be 3, - // corresponding to an INVALID_ARGUMENT error. + // corresponding to an INVALID_ARGUMENT error. Code int64 `json:"code,omitempty"` // Details: An array that contains a single `ExecutionError` object that @@ -619,7 +547,7 @@ func (c *ScriptsRunCall) Do(opts ...googleapi.CallOption) (*Operation, error) { // ], // "parameters": { // "scriptId": { - // "description": "The project key of the script to be executed. To find the project key, open\nthe project in the script editor and select **File \u003e Project properties**.", + // "description": "The script ID of the script to be executed. To find the script ID, open\nthe project in the script editor and select **File \u003e Project properties**.", // "location": "path", // "required": true, // "type": "string" diff --git a/vendor/google.golang.org/api/searchconsole/v1/searchconsole-api.json b/vendor/google.golang.org/api/searchconsole/v1/searchconsole-api.json index 90f85210c..3fa1c264c 100644 --- a/vendor/google.golang.org/api/searchconsole/v1/searchconsole-api.json +++ b/vendor/google.golang.org/api/searchconsole/v1/searchconsole-api.json @@ -1,45 +1,37 @@ { - "documentationLink": "https://developers.google.com/webmaster-tools/search-console-api/", - "revision": "20170704", - "id": "searchconsole:v1", - "title": "Google Search Console URL Testing Tools API", - "discoveryVersion": "v1", - "ownerName": "Google", - "version_module": "True", - "resources": { - "urlTestingTools": { - "resources": { - "mobileFriendlyTest": { - "methods": { - "run": { - "path": "v1/urlTestingTools/mobileFriendlyTest:run", - "id": "searchconsole.urlTestingTools.mobileFriendlyTest.run", - "request": { - "$ref": "RunMobileFriendlyTestRequest" - }, - "description": "Runs Mobile-Friendly Test for a given URL.", - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "RunMobileFriendlyTestResponse" - }, - "parameters": {}, - "flatPath": "v1/urlTestingTools/mobileFriendlyTest:run" - } - } - } - } - } - }, "parameters": { + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "type": "boolean", + "default": "true" + }, "fields": { "description": "Selector specifying which fields to include in a partial response.", "type": "string", "location": "query" }, "uploadType": { + "location": "query", "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" + }, + "$.xgafv": { + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], "location": "query" }, "callback": { @@ -47,21 +39,7 @@ "description": "JSONP", "type": "string" }, - "$.xgafv": { - "description": "V1 error format.", - "type": "string", - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" - ] - }, "alt": { - "type": "string", "enumDescriptions": [ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", @@ -74,17 +52,18 @@ "json", "media", "proto" - ] + ], + "type": "string" }, "access_token": { + "location": "query", "description": "OAuth access token.", - "type": "string", - "location": "query" + "type": "string" }, "key": { + "type": "string", "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token." }, "quotaUser": { "location": "query", @@ -93,8 +72,8 @@ }, "pp": { "description": "Pretty-print response.", - "default": "true", "type": "boolean", + "default": "true", "location": "query" }, "oauth_token": { @@ -106,23 +85,21 @@ "description": "OAuth bearer token.", "type": "string", "location": "query" - }, - "upload_protocol": { - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string", - "location": "query" - }, - "prettyPrint": { - "description": "Returns response with indentations and line breaks.", - "default": "true", - "type": "boolean", - "location": "query" } }, "schemas": { "MobileFriendlyIssue": { "properties": { "rule": { + "enum": [ + "MOBILE_FRIENDLY_RULE_UNSPECIFIED", + "USES_INCOMPATIBLE_PLUGINS", + "CONFIGURE_VIEWPORT", + "FIXED_WIDTH_VIEWPORT", + "SIZE_CONTENT_TO_VIEWPORT", + "USE_LEGIBLE_FONT_SIZES", + "TAP_TARGETS_TOO_CLOSE" + ], "description": "Rule violated.", "type": "string", "enumDescriptions": [ @@ -133,15 +110,6 @@ "Content not sized to viewport. [Learn more]\n(https://support.google.com/webmasters/answer/6352293#content_not_sized_to_viewport).", "Font size is too small for easy reading on a small screen. [Learn More]\n(https://support.google.com/webmasters/answer/6352293#small_font_size).", "Touch elements are too close to each other. [Learn more]\n(https://support.google.com/webmasters/answer/6352293#touch_elements_too_close)." - ], - "enum": [ - "MOBILE_FRIENDLY_RULE_UNSPECIFIED", - "USES_INCOMPATIBLE_PLUGINS", - "CONFIGURE_VIEWPORT", - "FIXED_WIDTH_VIEWPORT", - "SIZE_CONTENT_TO_VIEWPORT", - "USE_LEGIBLE_FONT_SIZES", - "TAP_TARGETS_TOO_CLOSE" ] } }, @@ -153,41 +121,41 @@ "description": "Mobile-friendly test response, including mobile-friendly issues and resource\nissues.", "type": "object", "properties": { + "testStatus": { + "$ref": "TestStatus", + "description": "Final state of the test, can be either complete or an error." + }, + "resourceIssues": { + "description": "Information about embedded resources issues.", + "type": "array", + "items": { + "$ref": "ResourceIssue" + } + }, "mobileFriendliness": { + "enum": [ + "MOBILE_FRIENDLY_TEST_RESULT_UNSPECIFIED", + "MOBILE_FRIENDLY", + "NOT_MOBILE_FRIENDLY" + ], "description": "Test verdict, whether the page is mobile friendly or not.", "type": "string", "enumDescriptions": [ "Internal error when running this test. Please try running the test again.", "The page is mobile friendly.", "The page is not mobile friendly." - ], - "enum": [ - "MOBILE_FRIENDLY_TEST_RESULT_UNSPECIFIED", - "MOBILE_FRIENDLY", - "NOT_MOBILE_FRIENDLY" ] }, "mobileFriendlyIssues": { "description": "List of mobile-usability issues.", + "type": "array", "items": { "$ref": "MobileFriendlyIssue" - }, - "type": "array" + } }, "screenshot": { - "description": "Screenshot of the requested URL.", - "$ref": "Image" - }, - "resourceIssues": { - "description": "Information about embedded resources issues.", - "items": { - "$ref": "ResourceIssue" - }, - "type": "array" - }, - "testStatus": { - "$ref": "TestStatus", - "description": "Final state of the test, can be either complete or an error." + "$ref": "Image", + "description": "Screenshot of the requested URL." } }, "id": "RunMobileFriendlyTestResponse" @@ -197,28 +165,30 @@ "type": "object", "properties": { "blockedResource": { - "$ref": "BlockedResource", - "description": "Describes a blocked resource issue." + "description": "Describes a blocked resource issue.", + "$ref": "BlockedResource" } }, "id": "ResourceIssue" }, "BlockedResource": { - "description": "Blocked resource.", - "type": "object", "properties": { "url": { - "description": "URL of the blocked resource.", - "type": "string" + "type": "string", + "description": "URL of the blocked resource." } }, - "id": "BlockedResource" + "id": "BlockedResource", + "description": "Blocked resource.", + "type": "object" }, "TestStatus": { "description": "Final state of the test, including error details if necessary.", "type": "object", "properties": { "status": { + "description": "Status of the test.", + "type": "string", "enumDescriptions": [ "Internal error when running this test. Please try running the test again.", "Inspection has completed without errors.", @@ -230,9 +200,7 @@ "COMPLETE", "INTERNAL_ERROR", "PAGE_UNREACHABLE" - ], - "description": "Status of the test.", - "type": "string" + ] }, "details": { "description": "Error details if applicable.", @@ -241,25 +209,7 @@ }, "id": "TestStatus" }, - "Image": { - "description": "Describe image data.", - "type": "object", - "properties": { - "mimeType": { - "description": "The mime-type of the image data.", - "type": "string" - }, - "data": { - "format": "byte", - "description": "Image data in format determined by the mime type. Currently, the format\nwill always be \"image/png\", but this might change in the future.", - "type": "string" - } - }, - "id": "Image" - }, "RunMobileFriendlyTestRequest": { - "description": "Mobile-friendly test request.", - "type": "object", "properties": { "url": { "description": "URL for inspection.", @@ -270,23 +220,73 @@ "type": "boolean" } }, - "id": "RunMobileFriendlyTestRequest" + "id": "RunMobileFriendlyTestRequest", + "description": "Mobile-friendly test request.", + "type": "object" + }, + "Image": { + "properties": { + "mimeType": { + "description": "The mime-type of the image data.", + "type": "string" + }, + "data": { + "description": "Image data in format determined by the mime type. Currently, the format\nwill always be \"image/png\", but this might change in the future.", + "format": "byte", + "type": "string" + } + }, + "id": "Image", + "description": "Describe image data.", + "type": "object" } }, "protocol": "rest", "icons": { - "x32": "http://www.google.com/images/icons/product/search-32.gif", - "x16": "http://www.google.com/images/icons/product/search-16.gif" + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "version": "v1", "baseUrl": "https://searchconsole.googleapis.com/", "canonicalName": "Search Console", - "servicePath": "", - "description": "Provides tools for running validation tests against single URLs", "kind": "discovery#restDescription", + "description": "Provides tools for running validation tests against single URLs", + "servicePath": "", "rootUrl": "https://searchconsole.googleapis.com/", "basePath": "", "ownerDomain": "google.com", "name": "searchconsole", - "batchPath": "batch" + "batchPath": "batch", + "id": "searchconsole:v1", + "documentationLink": "https://developers.google.com/webmaster-tools/search-console-api/", + "revision": "20170927", + "title": "Google Search Console URL Testing Tools API", + "ownerName": "Google", + "discoveryVersion": "v1", + "version_module": true, + "resources": { + "urlTestingTools": { + "resources": { + "mobileFriendlyTest": { + "methods": { + "run": { + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "RunMobileFriendlyTestResponse" + }, + "parameters": {}, + "flatPath": "v1/urlTestingTools/mobileFriendlyTest:run", + "id": "searchconsole.urlTestingTools.mobileFriendlyTest.run", + "path": "v1/urlTestingTools/mobileFriendlyTest:run", + "request": { + "$ref": "RunMobileFriendlyTestRequest" + }, + "description": "Runs Mobile-Friendly Test for a given URL." + } + } + } + } + } + } } diff --git a/vendor/google.golang.org/api/servicecontrol/v1/servicecontrol-api.json b/vendor/google.golang.org/api/servicecontrol/v1/servicecontrol-api.json index 2b7494b65..d2a171df5 100644 --- a/vendor/google.golang.org/api/servicecontrol/v1/servicecontrol-api.json +++ b/vendor/google.golang.org/api/servicecontrol/v1/servicecontrol-api.json @@ -1,6 +1,537 @@ { + "resources": { + "services": { + "methods": { + "report": { + "response": { + "$ref": "ReportResponse" + }, + "parameterOrder": [ + "serviceName" + ], + "httpMethod": "POST", + "parameters": { + "serviceName": { + "location": "path", + "description": "The service name as specified in its service configuration. For example,\n`\"pubsub.googleapis.com\"`.\n\nSee\n[google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service)\nfor the definition of a service name.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/servicecontrol" + ], + "flatPath": "v1/services/{serviceName}:report", + "id": "servicecontrol.services.report", + "path": "v1/services/{serviceName}:report", + "description": "Reports operation results to Google Service Control, such as logs and\nmetrics. It should be called after an operation is completed.\n\nIf feasible, the client should aggregate reporting data for up to 5\nseconds to reduce API traffic. Limiting aggregation to 5 seconds is to\nreduce data loss during client crashes. Clients should carefully choose\nthe aggregation time window to avoid data loss risk more than 0.01%\nfor business and compliance reasons.\n\nNOTE: the ReportRequest has the size limit of 1MB.\n\nThis method requires the `servicemanagement.services.report` permission\non the specified service. For more information, see\n[Google Cloud IAM](https://cloud.google.com/iam).", + "request": { + "$ref": "ReportRequest" + } + }, + "allocateQuota": { + "response": { + "$ref": "AllocateQuotaResponse" + }, + "parameterOrder": [ + "serviceName" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/servicecontrol" + ], + "parameters": { + "serviceName": { + "location": "path", + "description": "Name of the service as specified in the service configuration. For example,\n`\"pubsub.googleapis.com\"`.\n\nSee google.api.Service for the definition of a service name.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/services/{serviceName}:allocateQuota", + "id": "servicecontrol.services.allocateQuota", + "path": "v1/services/{serviceName}:allocateQuota", + "request": { + "$ref": "AllocateQuotaRequest" + }, + "description": "Attempts to allocate quota for the specified consumer. It should be called\nbefore the operation is executed.\n\nThis method requires the `servicemanagement.services.quota`\npermission on the specified service. For more information, see\n[Cloud IAM](https://cloud.google.com/iam).\n\n**NOTE:** The client **must** fail-open on server errors `INTERNAL`,\n`UNKNOWN`, `DEADLINE_EXCEEDED`, and `UNAVAILABLE`. To ensure system\nreliability, the server may inject these errors to prohibit any hard\ndependency on the quota functionality." + }, + "startReconciliation": { + "description": "Unlike rate quota, allocation quota does not get refilled periodically.\nSo, it is possible that the quota usage as seen by the service differs from\nwhat the One Platform considers the usage is. This is expected to happen\nonly rarely, but over time this can accumulate. Services can invoke\nStartReconciliation and EndReconciliation to correct this usage drift, as\ndescribed below:\n1. Service sends StartReconciliation with a timestamp in future for each\n metric that needs to be reconciled. The timestamp being in future allows\n to account for in-flight AllocateQuota and ReleaseQuota requests for the\n same metric.\n2. One Platform records this timestamp and starts tracking subsequent\n AllocateQuota and ReleaseQuota requests until EndReconciliation is\n called.\n3. At or after the time specified in the StartReconciliation, service\n sends EndReconciliation with the usage that needs to be reconciled to.\n4. One Platform adjusts its own record of usage for that metric to the\n value specified in EndReconciliation by taking in to account any\n allocation or release between StartReconciliation and EndReconciliation.\n\nSignals the quota controller that the service wants to perform a usage\nreconciliation as specified in the request.\n\nThis method requires the `servicemanagement.services.quota`\npermission on the specified service. For more information, see\n[Google Cloud IAM](https://cloud.google.com/iam).", + "request": { + "$ref": "StartReconciliationRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "serviceName" + ], + "response": { + "$ref": "StartReconciliationResponse" + }, + "parameters": { + "serviceName": { + "description": "Name of the service as specified in the service configuration. For example,\n`\"pubsub.googleapis.com\"`.\n\nSee google.api.Service for the definition of a service name.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/servicecontrol" + ], + "flatPath": "v1/services/{serviceName}:startReconciliation", + "path": "v1/services/{serviceName}:startReconciliation", + "id": "servicecontrol.services.startReconciliation" + }, + "check": { + "response": { + "$ref": "CheckResponse" + }, + "parameterOrder": [ + "serviceName" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/servicecontrol" + ], + "parameters": { + "serviceName": { + "location": "path", + "description": "The service name as specified in its service configuration. For example,\n`\"pubsub.googleapis.com\"`.\n\nSee\n[google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service)\nfor the definition of a service name.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/services/{serviceName}:check", + "id": "servicecontrol.services.check", + "path": "v1/services/{serviceName}:check", + "request": { + "$ref": "CheckRequest" + }, + "description": "Checks an operation with Google Service Control to decide whether\nthe given operation should proceed. It should be called before the\noperation is executed.\n\nIf feasible, the client should cache the check results and reuse them for\n60 seconds. In case of server errors, the client can rely on the cached\nresults for longer time.\n\nNOTE: the CheckRequest has the size limit of 64KB.\n\nThis method requires the `servicemanagement.services.check` permission\non the specified service. For more information, see\n[Google Cloud IAM](https://cloud.google.com/iam)." + }, + "releaseQuota": { + "httpMethod": "POST", + "parameterOrder": [ + "serviceName" + ], + "response": { + "$ref": "ReleaseQuotaResponse" + }, + "parameters": { + "serviceName": { + "description": "Name of the service as specified in the service configuration. For example,\n`\"pubsub.googleapis.com\"`.\n\nSee google.api.Service for the definition of a service name.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/servicecontrol" + ], + "flatPath": "v1/services/{serviceName}:releaseQuota", + "path": "v1/services/{serviceName}:releaseQuota", + "id": "servicecontrol.services.releaseQuota", + "description": "Releases previously allocated quota done through AllocateQuota method.\n\nThis method requires the `servicemanagement.services.quota`\npermission on the specified service. For more information, see\n[Cloud IAM](https://cloud.google.com/iam).\n\n\n**NOTE:** The client **must** fail-open on server errors `INTERNAL`,\n`UNKNOWN`, `DEADLINE_EXCEEDED`, and `UNAVAILABLE`. To ensure system\nreliability, the server may inject these errors to prohibit any hard\ndependency on the quota functionality.", + "request": { + "$ref": "ReleaseQuotaRequest" + } + }, + "endReconciliation": { + "flatPath": "v1/services/{serviceName}:endReconciliation", + "id": "servicecontrol.services.endReconciliation", + "path": "v1/services/{serviceName}:endReconciliation", + "description": "Signals the quota controller that service ends the ongoing usage\nreconciliation.\n\nThis method requires the `servicemanagement.services.quota`\npermission on the specified service. For more information, see\n[Google Cloud IAM](https://cloud.google.com/iam).", + "request": { + "$ref": "EndReconciliationRequest" + }, + "response": { + "$ref": "EndReconciliationResponse" + }, + "parameterOrder": [ + "serviceName" + ], + "httpMethod": "POST", + "parameters": { + "serviceName": { + "location": "path", + "description": "Name of the service as specified in the service configuration. For example,\n`\"pubsub.googleapis.com\"`.\n\nSee google.api.Service for the definition of a service name.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/servicecontrol" + ] + } + } + } + }, + "parameters": { + "quotaUser": { + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string" + }, + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", + "location": "query" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string", + "location": "query" + }, + "prettyPrint": { + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "uploadType": { + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" + }, + "fields": { + "location": "query", + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + }, + "$.xgafv": { + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + }, + "callback": { + "description": "JSONP", + "type": "string", + "location": "query" + }, + "alt": { + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", + "location": "query" + }, + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + } + }, + "version": "v1", + "baseUrl": "https://servicecontrol.googleapis.com/", + "kind": "discovery#restDescription", + "description": "Google Service Control provides control plane functionality to managed services, such as logging, monitoring, and status checks.", + "servicePath": "", + "basePath": "", + "id": "servicecontrol:v1", + "documentationLink": "https://cloud.google.com/service-control/", + "revision": "20170925", + "discoveryVersion": "v1", + "version_module": true, "schemas": { + "CheckRequest": { + "properties": { + "skipActivationCheck": { + "description": "Indicates if service activation check should be skipped for this request.\nDefault behavior is to perform the check and apply relevant quota.", + "type": "boolean" + }, + "requestProjectSettings": { + "description": "Requests the project settings to be returned as part of the check response.", + "type": "boolean" + }, + "operation": { + "description": "The operation to be checked.", + "$ref": "Operation" + }, + "serviceConfigId": { + "description": "Specifies which version of service configuration should be used to process\nthe request.\n\nIf unspecified or no matching version can be found, the\nlatest one will be used.", + "type": "string" + } + }, + "id": "CheckRequest", + "description": "Request message for the Check method.", + "type": "object" + }, + "QuotaOperation": { + "description": "Represents information regarding a quota operation.", + "type": "object", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels describing the operation.", + "type": "object" + }, + "consumerId": { + "description": "Identity of the consumer for whom this quota operation is being performed.\n\nThis can be in one of the following formats:\n project:\u003cproject_id\u003e,\n project_number:\u003cproject_number\u003e,\n api_key:\u003capi_key\u003e.", + "type": "string" + }, + "operationId": { + "description": "Identity of the operation. This is expected to be unique within the scope\nof the service that generated the operation, and guarantees idempotency in\ncase of retries.\n\nUUID version 4 is recommended, though not required. In scenarios where an\noperation is computed from existing information and an idempotent id is\ndesirable for deduplication purpose, UUID version 5 is recommended. See\nRFC 4122 for details.", + "type": "string" + }, + "quotaMode": { + "enumDescriptions": [ + "Guard against implicit default. Must not be used.", + "For AllocateQuota request, allocates quota for the amount specified in\nthe service configuration or specified using the quota metrics. If the\namount is higher than the available quota, allocation error will be\nreturned and no quota will be allocated.\nFor ReleaseQuota request, this mode is supported only for precise quota\nlimits. In this case, this operation releases quota for the amount\nspecified in the service configuration or specified using the quota\nmetrics. If the release can make used quota negative, release error\nwill be returned and no quota will be released.", + "For AllocateQuota request, this mode is supported only for imprecise\nquota limits. In this case, the operation allocates quota for the amount\nspecified in the service configuration or specified using the quota\nmetrics. If the amount is higher than the available quota, request does\nnot fail but all available quota will be allocated.\nFor ReleaseQuota request, this mode is supported for both precise quota\nlimits and imprecise quota limits. In this case, this operation releases\nquota for the amount specified in the service configuration or specified\nusing the quota metrics. If the release can make used quota\nnegative, request does not fail but only the used quota will be\nreleased. After the ReleaseQuota request completes, the used quota\nwill be 0, and never goes to negative.", + "For AllocateQuota request, only checks if there is enough quota\navailable and does not change the available quota. No lock is placed on\nthe available quota either. Not supported for ReleaseQuota request." + ], + "enum": [ + "UNSPECIFIED", + "NORMAL", + "BEST_EFFORT", + "CHECK_ONLY" + ], + "description": "Quota mode for this operation.", + "type": "string" + }, + "methodName": { + "description": "Fully qualified name of the API method for which this quota operation is\nrequested. This name is used for matching quota rules or metric rules and\nbilling status rules defined in service configuration. This field is not\nrequired if the quota operation is performed on non-API resources.\n\nExample of an RPC method name:\n google.example.library.v1.LibraryService.CreateShelf", + "type": "string" + }, + "quotaMetrics": { + "description": "Represents information about this operation. Each MetricValueSet\ncorresponds to a metric defined in the service configuration.\nThe data type used in the MetricValueSet must agree with\nthe data type specified in the metric definition.\n\nWithin a single operation, it is not allowed to have more than one\nMetricValue instances that have the same metric names and identical\nlabel value combinations. If a request has such duplicated MetricValue\ninstances, the entire request is rejected with\nan invalid argument error.", + "items": { + "$ref": "MetricValueSet" + }, + "type": "array" + } + }, + "id": "QuotaOperation" + }, + "EndReconciliationRequest": { + "description": "Request message for QuotaController.EndReconciliation.", + "type": "object", + "properties": { + "reconciliationOperation": { + "$ref": "QuotaOperation", + "description": "Operation that describes the quota reconciliation." + }, + "serviceConfigId": { + "description": "Specifies which version of service configuration should be used to process\nthe request. If unspecified or no matching version can be found, the latest\none will be used.", + "type": "string" + } + }, + "id": "EndReconciliationRequest" + }, + "ReportInfo": { + "description": "Contains additional info about the report operation.", + "type": "object", + "properties": { + "operationId": { + "description": "The Operation.operation_id value from the request.", + "type": "string" + }, + "quotaInfo": { + "$ref": "QuotaInfo", + "description": "Quota usage info when processing the `Operation`." + } + }, + "id": "ReportInfo" + }, + "Operation": { + "properties": { + "quotaProperties": { + "description": "Represents the properties needed for quota check. Applicable only if this\noperation is for a quota check request. If this is not specified, no quota\ncheck will be performed.", + "$ref": "QuotaProperties" + }, + "consumerId": { + "description": "Identity of the consumer who is using the service.\nThis field should be filled in for the operations initiated by a\nconsumer, but not for service-initiated operations that are\nnot related to a specific consumer.\n\nThis can be in one of the following formats:\n project:\u003cproject_id\u003e,\n project_number:\u003cproject_number\u003e,\n api_key:\u003capi_key\u003e.", + "type": "string" + }, + "operationId": { + "description": "Identity of the operation. This must be unique within the scope of the\nservice that generated the operation. If the service calls\nCheck() and Report() on the same operation, the two calls should carry\nthe same id.\n\nUUID version 4 is recommended, though not required.\nIn scenarios where an operation is computed from existing information\nand an idempotent id is desirable for deduplication purpose, UUID version 5\nis recommended. See RFC 4122 for details.", + "type": "string" + }, + "operationName": { + "description": "Fully qualified name of the operation. Reserved for future use.", + "type": "string" + }, + "endTime": { + "format": "google-datetime", + "description": "End time of the operation.\nRequired when the operation is used in ServiceController.Report,\nbut optional when the operation is used in ServiceController.Check.", + "type": "string" + }, + "startTime": { + "format": "google-datetime", + "description": "Required. Start time of the operation.", + "type": "string" + }, + "importance": { + "enumDescriptions": [ + "The API implementation may cache and aggregate the data.\nThe data may be lost when rare and unexpected system failures occur.", + "The API implementation doesn't cache and aggregate the data.\nIf the method returns successfully, it's guaranteed that the data has\nbeen persisted in durable storage.", + "In addition to the behavior described in HIGH, DEBUG enables\nadditional validation logic that is only useful during the onboarding\nprocess. This is only available to Google internal services and\nthe service must be whitelisted by chemist-dev@google.com in order\nto use this level." + ], + "enum": [ + "LOW", + "HIGH", + "DEBUG" + ], + "description": "DO NOT USE. This is an experimental field.", + "type": "string" + }, + "resourceContainer": { + "description": "DO NOT USE. This field is deprecated, use \"resources\" field instead.\nThe resource name of the parent of a resource in the resource hierarchy.\n\nThis can be in one of the following formats:\n - “projects/\u003cproject-id or project-number\u003e”\n - “folders/\u003cfolder-id\u003e”\n - “organizations/\u003corganization-id\u003e”", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels describing the operation. Only the following labels are allowed:\n\n- Labels describing monitored resources as defined in\n the service configuration.\n- Default labels of metric values. When specified, labels defined in the\n metric value override these default.\n- The following labels defined by Google Cloud Platform:\n - `cloud.googleapis.com/location` describing the location where the\n operation happened,\n - `servicecontrol.googleapis.com/user_agent` describing the user agent\n of the API request,\n - `servicecontrol.googleapis.com/service_agent` describing the service\n used to handle the API request (e.g. ESP),\n - `servicecontrol.googleapis.com/platform` describing the platform\n where the API is served (e.g. GAE, GCE, GKE).", + "type": "object" + }, + "resources": { + "description": "The resources that are involved in the operation.", + "items": { + "$ref": "ResourceInfo" + }, + "type": "array" + }, + "logEntries": { + "description": "Represents information to be logged.", + "items": { + "$ref": "LogEntry" + }, + "type": "array" + }, + "userLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "User defined labels for the resource that this operation is associated\nwith. Only a combination of 1000 user labels per consumer project are\nallowed.", + "type": "object" + }, + "metricValueSets": { + "description": "Represents information about this operation. Each MetricValueSet\ncorresponds to a metric defined in the service configuration.\nThe data type used in the MetricValueSet must agree with\nthe data type specified in the metric definition.\n\nWithin a single operation, it is not allowed to have more than one\nMetricValue instances that have the same metric names and identical\nlabel value combinations. If a request has such duplicated MetricValue\ninstances, the entire request is rejected with\nan invalid argument error.", + "items": { + "$ref": "MetricValueSet" + }, + "type": "array" + } + }, + "id": "Operation", + "description": "Represents information regarding an operation.", + "type": "object" + }, + "ReportResponse": { + "description": "Response message for the Report method.", + "type": "object", + "properties": { + "reportErrors": { + "description": "Partial failures, one for each `Operation` in the request that failed\nprocessing. There are three possible combinations of the RPC status:\n\n1. The combination of a successful RPC status and an empty `report_errors`\n list indicates a complete success where all `Operations` in the\n request are processed successfully.\n2. The combination of a successful RPC status and a non-empty\n `report_errors` list indicates a partial success where some\n `Operations` in the request succeeded. Each\n `Operation` that failed processing has a corresponding item\n in this list.\n3. A failed RPC status indicates a general non-deterministic failure.\n When this happens, it's impossible to know which of the\n 'Operations' in the request succeeded or failed.", + "items": { + "$ref": "ReportError" + }, + "type": "array" + }, + "reportInfos": { + "description": "Quota usage for each quota release `Operation` request.\n\nFully or partially failed quota release request may or may not be present\nin `report_quota_info`. For example, a failed quota release request will\nhave the current quota usage info when precise quota library returns the\ninfo. A deadline exceeded quota request will not have quota usage info.\n\nIf there is no quota release request, report_quota_info will be empty.\n", + "items": { + "$ref": "ReportInfo" + }, + "type": "array" + }, + "serviceConfigId": { + "description": "The actual config id used to process the request.", + "type": "string" + } + }, + "id": "ReportResponse" + }, + "CheckResponse": { + "description": "Response message for the Check method.", + "type": "object", + "properties": { + "checkInfo": { + "description": "Feedback data returned from the server during processing a Check request.", + "$ref": "CheckInfo" + }, + "checkErrors": { + "description": "Indicate the decision of the check.\n\nIf no check errors are present, the service should process the operation.\nOtherwise the service should use the list of errors to determine the\nappropriate action.", + "items": { + "$ref": "CheckError" + }, + "type": "array" + }, + "operationId": { + "description": "The same operation_id value used in the CheckRequest.\nUsed for logging and diagnostics purposes.", + "type": "string" + }, + "serviceConfigId": { + "description": "The actual config id used to process the request.", + "type": "string" + }, + "quotaInfo": { + "description": "Quota information for the check request associated with this response.\n", + "$ref": "QuotaInfo" + } + }, + "id": "CheckResponse" + }, + "AllocateInfo": { + "type": "object", + "properties": { + "unusedArguments": { + "description": "A list of label keys that were unused by the server in processing the\nrequest. Thus, for similar requests repeated in a certain future time\nwindow, the caller can choose to ignore these labels in the requests\nto achieve better client-side cache hits and quota aggregation.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "AllocateInfo" + }, "ReportRequest": { + "description": "Request message for the Report method.", + "type": "object", "properties": { "serviceConfigId": { "description": "Specifies which version of service config should be used to process the\nrequest.\n\nIf unspecified or no matching version can be found, the\nlatest one will be used.", @@ -14,20 +545,20 @@ "type": "array" } }, - "id": "ReportRequest", - "description": "Request message for the Report method.", - "type": "object" + "id": "ReportRequest" }, "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", + "type": "object", "properties": { "details": { - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", "items": { + "type": "object", "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" - }, - "type": "object" + } }, "type": "array" }, @@ -41,33 +572,94 @@ "type": "string" } }, - "id": "Status", - "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", - "type": "object" + "id": "Status" }, - "LogEntry": { - "description": "An individual log entry.", - "type": "object", + "AuditLog": { "properties": { - "protoPayload": { + "request": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The operation request. This may not include all request parameters,\nsuch as those that are too large, privacy-sensitive, or duplicated\nelsewhere in the log record.\nIt should never include user-generated data, such as file contents.\nWhen the JSON object represented here has a proto equivalent, the proto\nname will be indicated in the `@type` property.", + "type": "object" + }, + "requestMetadata": { + "description": "Metadata about the operation.", + "$ref": "RequestMetadata" + }, + "authenticationInfo": { + "$ref": "AuthenticationInfo", + "description": "Authentication information." + }, + "status": { + "description": "The status of the overall operation.", + "$ref": "Status" + }, + "serviceName": { + "description": "The name of the API service performing the operation. For example,\n`\"datastore.googleapis.com\"`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The operation response. This may not include all response elements,\nsuch as those that are too large, privacy-sensitive, or duplicated\nelsewhere in the log record.\nIt should never include user-generated data, such as file contents.\nWhen the JSON object represented here has a proto equivalent, the proto\nname will be indicated in the `@type` property.", + "type": "object" + }, + "metadata": { + "description": "Other service-specific data about the request, response, and other\ninformation associated with the current audited event.", + "items": { + "type": "object", + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + } + }, + "type": "array" + }, + "methodName": { + "description": "The name of the service method or operation.\nFor API calls, this should be the name of the API method.\nFor example,\n\n \"google.datastore.v1.Datastore.RunQuery\"\n \"google.logging.v1.LoggingService.DeleteLog\"", + "type": "string" + }, + "resourceName": { + "description": "The resource or collection that is the target of the operation.\nThe name is a scheme-less URI, not including the API service name.\nFor example:\n\n \"shelves/SHELF_ID/books\"\n \"shelves/SHELF_ID/books/BOOK_ID\"", + "type": "string" + }, + "serviceData": { "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" }, - "description": "The log entry payload, represented as a protocol buffer that is\nexpressed as a JSON object. You can only pass `protoPayload`\nvalues that belong to a set of approved types.", + "description": "Deprecated, use `metadata` field instead.\nOther service-specific data about the request, response, and other\nactivities.", "type": "object" }, - "timestamp": { - "format": "google-datetime", - "description": "The time the event described by the log entry occurred. If\nomitted, defaults to operation start time.", + "numResponseItems": { + "format": "int64", + "description": "The number of items returned from a List or Query API method,\nif applicable.", "type": "string" }, + "authorizationInfo": { + "description": "Authorization information. If there are multiple\nresources or permissions involved, then there is\none AuthorizationInfo element for each {resource, permission} tuple.", + "items": { + "$ref": "AuthorizationInfo" + }, + "type": "array" + } + }, + "id": "AuditLog", + "description": "Common audit log format for Google Cloud Platform API operations.\n\n", + "type": "object" + }, + "LogEntry": { + "properties": { "labels": { + "description": "A set of user-defined (key, value) data that provides additional\ninformation about the log entry.", + "type": "object", "additionalProperties": { "type": "string" - }, - "description": "A set of user-defined (key, value) data that provides additional\ninformation about the log entry.", - "type": "object" + } }, "severity": { "enumDescriptions": [ @@ -95,14 +687,14 @@ "description": "The severity of the log entry. The default value is\n`LogSeverity.DEFAULT`.", "type": "string" }, - "name": { - "description": "Required. The log to which this log entry belongs. Examples: `\"syslog\"`,\n`\"book_log\"`.", - "type": "string" - }, "insertId": { "description": "A unique ID for the log entry used for deduplication. If omitted,\nthe implementation will generate one based on operation_id.", "type": "string" }, + "name": { + "description": "Required. The log to which this log entry belongs. Examples: `\"syslog\"`,\n`\"book_log\"`.", + "type": "string" + }, "structPayload": { "additionalProperties": { "description": "Properties of the object.", @@ -114,105 +706,37 @@ "textPayload": { "description": "The log entry payload, represented as a Unicode string (UTF-8).", "type": "string" - } - }, - "id": "LogEntry" - }, - "AuditLog": { - "description": "Common audit log format for Google Cloud Platform API operations.\n\n", - "type": "object", - "properties": { - "methodName": { - "description": "The name of the service method or operation.\nFor API calls, this should be the name of the API method.\nFor example,\n\n \"google.datastore.v1.Datastore.RunQuery\"\n \"google.logging.v1.LoggingService.DeleteLog\"", - "type": "string" }, - "resourceName": { - "description": "The resource or collection that is the target of the operation.\nThe name is a scheme-less URI, not including the API service name.\nFor example:\n\n \"shelves/SHELF_ID/books\"\n \"shelves/SHELF_ID/books/BOOK_ID\"", - "type": "string" - }, - "authorizationInfo": { - "description": "Authorization information. If there are multiple\nresources or permissions involved, then there is\none AuthorizationInfo element for each {resource, permission} tuple.", - "items": { - "$ref": "AuthorizationInfo" - }, - "type": "array" - }, - "request": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "The operation request. This may not include all request parameters,\nsuch as those that are too large, privacy-sensitive, or duplicated\nelsewhere in the log record.\nIt should never include user-generated data, such as file contents.\nWhen the JSON object represented here has a proto equivalent, the proto\nname will be indicated in the `@type` property.", - "type": "object" - }, - "serviceData": { + "protoPayload": { "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" }, - "description": "Other service-specific data about the request, response, and other\nactivities.", + "description": "The log entry payload, represented as a protocol buffer that is\nexpressed as a JSON object. The only accepted type currently is\nAuditLog.", "type": "object" }, - "requestMetadata": { - "description": "Metadata about the operation.", - "$ref": "RequestMetadata" - }, - "numResponseItems": { - "format": "int64", - "description": "The number of items returned from a List or Query API method,\nif applicable.", - "type": "string" - }, - "status": { - "description": "The status of the overall operation.", - "$ref": "Status" - }, - "authenticationInfo": { - "$ref": "AuthenticationInfo", - "description": "Authentication information." - }, - "response": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "The operation response. This may not include all response elements,\nsuch as those that are too large, privacy-sensitive, or duplicated\nelsewhere in the log record.\nIt should never include user-generated data, such as file contents.\nWhen the JSON object represented here has a proto equivalent, the proto\nname will be indicated in the `@type` property.", - "type": "object" - }, - "serviceName": { - "description": "The name of the API service performing the operation. For example,\n`\"datastore.googleapis.com\"`.", + "timestamp": { + "format": "google-datetime", + "description": "The time the event described by the log entry occurred. If\nomitted, defaults to operation start time.", "type": "string" } }, - "id": "AuditLog" + "id": "LogEntry", + "description": "An individual log entry.", + "type": "object" }, "MetricValue": { "description": "Represents a single metric value.", "type": "object", "properties": { - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "The labels describing the metric value.\nSee comments on google.api.servicecontrol.v1.Operation.labels for\nthe overriding relationship.", - "type": "object" - }, - "stringValue": { - "description": "A text string value.", - "type": "string" - }, - "doubleValue": { - "format": "double", - "description": "A double precision floating point value.", - "type": "number" - }, "int64Value": { "format": "int64", "description": "A signed 64-bit integer value.", "type": "string" }, "distributionValue": { - "$ref": "Distribution", - "description": "A distribution value." + "description": "A distribution value.", + "$ref": "Distribution" }, "boolValue": { "description": "A boolean value.", @@ -229,8 +753,24 @@ "type": "string" }, "moneyValue": { - "$ref": "Money", - "description": "A money value." + "description": "A money value.", + "$ref": "Money" + }, + "stringValue": { + "description": "A text string value.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "The labels describing the metric value.\nSee comments on google.api.servicecontrol.v1.Operation.labels for\nthe overriding relationship.", + "type": "object" + }, + "doubleValue": { + "format": "double", + "description": "A double precision floating point value.", + "type": "number" } }, "id": "MetricValue" @@ -261,10 +801,18 @@ } }, "id": "EndReconciliationResponse", + "description": "Response message for QuotaController.EndReconciliation.", "type": "object" }, "Money": { + "description": "Represents an amount of money with its currency type.", + "type": "object", "properties": { + "units": { + "format": "int64", + "description": "The whole units of the amount.\nFor example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", + "type": "string" + }, "currencyCode": { "description": "The 3-letter currency code defined in ISO 4217.", "type": "string" @@ -273,21 +821,36 @@ "format": "int32", "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.", "type": "integer" - }, - "units": { - "format": "int64", - "description": "The whole units of the amount.\nFor example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", - "type": "string" } }, - "id": "Money", - "description": "Represents an amount of money with its currency type.", - "type": "object" + "id": "Money" }, "Distribution": { "description": "Distribution represents a frequency distribution of double-valued sample\npoints. It contains the size of the population of sample points plus\nadditional optional information:\n\n - the arithmetic mean of the samples\n - the minimum and maximum of the samples\n - the sum-squared-deviation of the samples, used to compute variance\n - a histogram of the values of the sample points", "type": "object", "properties": { + "count": { + "format": "int64", + "description": "The total number of samples in the distribution. Must be \u003e= 0.", + "type": "string" + }, + "mean": { + "format": "double", + "description": "The arithmetic mean of the samples in the distribution. If `count` is\nzero then this field must be zero.", + "type": "number" + }, + "bucketCounts": { + "description": "The number of samples in each histogram bucket. `bucket_counts` are\noptional. If present, they must sum to the `count` value.\n\nThe buckets are defined below in `bucket_option`. There are N buckets.\n`bucket_counts[0]` is the number of samples in the underflow bucket.\n`bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples\nin each of the finite buckets. And `bucket_counts[N] is the number\nof samples in the overflow bucket. See the comments of `bucket_option`\nbelow for more details.\n\nAny suffix of trailing zeros may be omitted.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "explicitBuckets": { + "$ref": "ExplicitBuckets", + "description": "Buckets with arbitrary user-provided width." + }, "maximum": { "format": "double", "description": "The maximum of the population of values. Ignored if `count` is zero.", @@ -310,33 +873,13 @@ "linearBuckets": { "description": "Buckets with constant width.", "$ref": "LinearBuckets" - }, - "count": { - "format": "int64", - "description": "The total number of samples in the distribution. Must be \u003e= 0.", - "type": "string" - }, - "mean": { - "format": "double", - "description": "The arithmetic mean of the samples in the distribution. If `count` is\nzero then this field must be zero.", - "type": "number" - }, - "bucketCounts": { - "description": "The number of samples in each histogram bucket. `bucket_counts` are\noptional. If present, they must sum to the `count` value.\n\nThe buckets are defined below in `bucket_option`. There are N buckets.\n`bucket_counts[0]` is the number of samples in the underflow bucket.\n`bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples\nin each of the finite buckets. And `bucket_counts[N] is the number\nof samples in the overflow bucket. See the comments of `bucket_option`\nbelow for more details.\n\nAny suffix of trailing zeros may be omitted.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "explicitBuckets": { - "$ref": "ExplicitBuckets", - "description": "Buckets with arbitrary user-provided width." } }, "id": "Distribution" }, "ExplicitBuckets": { + "description": "Describing buckets with arbitrary user-provided width.", + "type": "object", "properties": { "bounds": { "description": "'bound' is a list of strictly increasing boundaries between\nbuckets. Note that a list of length N-1 defines N buckets because\nof fenceposting. See comments on `bucket_options` for details.\n\nThe i'th finite bucket covers the interval\n [bound[i-1], bound[i])\nwhere i ranges from 1 to bound_size() - 1. Note that there are no\nfinite buckets at all if 'bound' only contains a single element; in\nthat special case the single bound defines the boundary between the\nunderflow and overflow buckets.\n\nbucket number lower bound upper bound\n i == 0 (underflow) -inf bound[i]\n 0 \u003c i \u003c bound_size() bound[i-1] bound[i]\n i == bound_size() (overflow) bound[i-1] +inf", @@ -347,12 +890,17 @@ "type": "array" } }, - "id": "ExplicitBuckets", - "description": "Describing buckets with arbitrary user-provided width.", - "type": "object" + "id": "ExplicitBuckets" }, "ExponentialBuckets": { + "description": "Describing buckets with exponentially growing width.", + "type": "object", "properties": { + "growthFactor": { + "format": "double", + "description": "The i'th exponential bucket covers the interval\n [scale * growth_factor^(i-1), scale * growth_factor^i)\nwhere i ranges from 1 to num_finite_buckets inclusive.\nMust be larger than 1.0.", + "type": "number" + }, "scale": { "format": "double", "description": "The i'th exponential bucket covers the interval\n [scale * growth_factor^(i-1), scale * growth_factor^i)\nwhere i ranges from 1 to num_finite_buckets inclusive.\nMust be \u003e 0.", @@ -362,19 +910,18 @@ "format": "int32", "description": "The number of finite buckets. With the underflow and overflow buckets,\nthe total number of buckets is `num_finite_buckets` + 2.\nSee comments on `bucket_options` for details.", "type": "integer" - }, - "growthFactor": { - "format": "double", - "description": "The i'th exponential bucket covers the interval\n [scale * growth_factor^(i-1), scale * growth_factor^i)\nwhere i ranges from 1 to num_finite_buckets inclusive.\nMust be larger than 1.0.", - "type": "number" } }, - "id": "ExponentialBuckets", - "description": "Describing buckets with exponentially growing width.", - "type": "object" + "id": "ExponentialBuckets" }, "AuthorizationInfo": { + "description": "Authorization information for the operation.", + "type": "object", "properties": { + "resource": { + "description": "The resource being accessed, as a REST-style string. For example:\n\n bigquery.googleapis.com/projects/PROJECTID/datasets/DATASETID", + "type": "string" + }, "granted": { "description": "Whether or not authorization for `resource` and `permission`\nwas granted.", "type": "boolean" @@ -382,18 +929,26 @@ "permission": { "description": "The required IAM permission.", "type": "string" + } + }, + "id": "AuthorizationInfo" + }, + "ResourceInfo": { + "description": "Describes a resource associated with this operation.", + "type": "object", + "properties": { + "resourceName": { + "description": "Name of the resource. This is used for auditing purposes.", + "type": "string" }, - "resource": { - "description": "The resource being accessed, as a REST-style string. For example:\n\n bigquery.googlapis.com/projects/PROJECTID/datasets/DATASETID", + "resourceContainer": { + "description": "The identifier of the parent of this resource instance.\nMust be in one of the following formats:\n - “projects/\u003cproject-id or project-number\u003e”\n - “folders/\u003cfolder-id\u003e”\n - “organizations/\u003corganization-id\u003e”", "type": "string" } }, - "id": "AuthorizationInfo", - "description": "Authorization information for the operation.", - "type": "object" + "id": "ResourceInfo" }, "StartReconciliationResponse": { - "type": "object", "properties": { "quotaMetrics": { "description": "Metric values as tracked by One Platform before the start of\nreconciliation. The following metrics will be included:\n\n1. Per quota metric total usage will be specified using the following gauge\nmetric:\n \"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"\n\n2. Value for each quota limit associated with the metrics will be specified\nusing the following gauge metric:\n \"serviceruntime.googleapis.com/quota/limit\"", @@ -418,20 +973,21 @@ "type": "string" } }, - "id": "StartReconciliationResponse" + "id": "StartReconciliationResponse", + "description": "Response message for QuotaController.StartReconciliation.", + "type": "object" }, "QuotaProperties": { "description": "Represents the properties needed for quota operations.", "type": "object", "properties": { - "limitByIds": { - "additionalProperties": { - "type": "string" - }, - "description": "LimitType IDs that should be used for checking quota. Key in this map\nshould be a valid LimitType string, and the value is the ID to be used. For\nexample, an entry \u003cUSER, 123\u003e will cause all user quota limits to use 123\nas the user ID. See google/api/quota.proto for the definition of LimitType.\nCLIENT_PROJECT: Not supported.\nUSER: Value of this entry will be used for enforcing user-level quota\n limits. If none specified, caller IP passed in the\n servicecontrol.googleapis.com/caller_ip label will be used instead.\n If the server cannot resolve a value for this LimitType, an error\n will be thrown. No validation will be performed on this ID.\nDeprecated: use servicecontrol.googleapis.com/user label to send user ID.", - "type": "object" - }, "quotaMode": { + "enumDescriptions": [ + "Decreases available quota by the cost specified for the operation.\nIf cost is higher than available quota, operation fails and returns\nerror.", + "Decreases available quota by the cost specified for the operation.\nIf cost is higher than available quota, operation does not fail and\navailable quota goes down to zero but it returns error.", + "Does not change any available quota. Only checks if there is enough\nquota.\nNo lock is placed on the checked tokens neither.", + "Increases available quota by the operation cost specified for the\noperation." + ], "enum": [ "ACQUIRE", "ACQUIRE_BEST_EFFORT", @@ -439,13 +995,7 @@ "RELEASE" ], "description": "Quota mode for this operation.", - "type": "string", - "enumDescriptions": [ - "Decreases available quota by the cost specified for the operation.\nIf cost is higher than available quota, operation fails and returns\nerror.", - "Decreases available quota by the cost specified for the operation.\nIf cost is higher than available quota, operation does not fail and\navailable quota goes down to zero but it returns error.", - "Does not change any available quota. Only checks if there is enough\nquota.\nNo lock is placed on the checked tokens neither.", - "Increases available quota by the operation cost specified for the\noperation." - ] + "type": "string" } }, "id": "QuotaProperties" @@ -473,26 +1023,40 @@ "id": "LinearBuckets" }, "AuthenticationInfo": { - "description": "Authentication information for the operation.", - "type": "object", "properties": { "authoritySelector": { "description": "The authority selector specified by the requestor, if any.\nIt is not guaranteed that the principal was allowed to use this authority.", "type": "string" }, + "thirdPartyPrincipal": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The third party identification (if any) of the authenticated user making\nthe request.\nWhen the JSON object represented here has a proto equivalent, the proto\nname will be indicated in the `@type` property.", + "type": "object" + }, "principalEmail": { - "description": "The email address of the authenticated user making the request.", + "description": "The email address of the authenticated user (or service account on behalf\nof third party principal) making the request. For privacy reasons, the\nprincipal email address is redacted for all read-only operations that fail\nwith a \"permission denied\" error.", "type": "string" } }, - "id": "AuthenticationInfo" + "id": "AuthenticationInfo", + "description": "Authentication information for the operation.", + "type": "object" }, "AllocateQuotaResponse": { + "description": "Response message for the AllocateQuota method.", + "type": "object", "properties": { "operationId": { "description": "The same operation_id value used in the AllocateQuotaRequest. Used for\nlogging and diagnostics purposes.", "type": "string" }, + "allocateInfo": { + "$ref": "AllocateInfo", + "description": "WARNING: DO NOT use this field until this warning message is removed." + }, "serviceConfigId": { "description": "ID of the actual config used to process the request.", "type": "string" @@ -512,42 +1076,43 @@ "type": "array" } }, - "id": "AllocateQuotaResponse", - "description": "Response message for the AllocateQuota method.", - "type": "object" + "id": "AllocateQuotaResponse" }, "ReleaseQuotaRequest": { + "description": "Request message for the ReleaseQuota method.", + "type": "object", "properties": { "releaseOperation": { - "description": "Operation that describes the quota release.", - "$ref": "QuotaOperation" + "$ref": "QuotaOperation", + "description": "Operation that describes the quota release." }, "serviceConfigId": { "description": "Specifies which version of service configuration should be used to process\nthe request. If unspecified or no matching version can be found, the latest\none will be used.", "type": "string" } }, - "id": "ReleaseQuotaRequest", - "description": "Request message for the ReleaseQuota method.", - "type": "object" + "id": "ReleaseQuotaRequest" }, "RequestMetadata": { "description": "Metadata about the request.", "type": "object", "properties": { - "callerSuppliedUserAgent": { - "description": "The user agent of the caller.\nThis information is not authenticated and should be treated accordingly.\nFor example:\n\n+ `google-api-python-client/1.4.0`:\n The request was made by the Google API client for Python.\n+ `Cloud SDK Command Line Tool apitools-client/1.0 gcloud/0.9.62`:\n The request was made by the Google Cloud SDK CLI (gcloud).\n+ `AppEngine-Google; (+http://code.google.com/appengine; appid: s~my-project`:\n The request was made from the `my-project` App Engine app.\n\nNOLINT", + "callerNetwork": { + "description": "The network of the caller.\nSet only if the network host project is part of the same GCP organization\n(or project) as the accessed resource.\nSee https://cloud.google.com/compute/docs/vpc/ for more information.\nThis is a scheme-less URI full resource name. For example:\n\n \"//compute.googleapis.com/projects/PROJECT_ID/global/networks/NETWORK_ID\"", "type": "string" }, "callerIp": { - "description": "The IP address of the caller.", + "description": "The IP address of the caller.\nFor caller from internet, this will be public IPv4 or IPv6 address.\nFor caller from a Compute Engine VM with external IP address, this\nwill be the VM's external IP address. For caller from a Compute\nEngine VM without external IP address, if the VM is in the same\norganization (or project) as the accessed resource, `caller_ip` will\nbe the VM's internal IPv4 address, otherwise the `caller_ip` will be\nredacted to \"gce-internal-ip\".\nSee https://cloud.google.com/compute/docs/vpc/ for more information.", + "type": "string" + }, + "callerSuppliedUserAgent": { + "description": "The user agent of the caller.\nThis information is not authenticated and should be treated accordingly.\nFor example:\n\n+ `google-api-python-client/1.4.0`:\n The request was made by the Google API client for Python.\n+ `Cloud SDK Command Line Tool apitools-client/1.0 gcloud/0.9.62`:\n The request was made by the Google Cloud SDK CLI (gcloud).\n+ `AppEngine-Google; (+http://code.google.com/appengine; appid: s~my-project`:\n The request was made from the `my-project` App Engine app.\nNOLINT", "type": "string" } }, "id": "RequestMetadata" }, "QuotaError": { - "type": "object", "properties": { "description": { "description": "Free-form text that provides details on the cause of the error.", @@ -558,9 +1123,26 @@ "type": "string" }, "code": { + "enumDescriptions": [ + "This is never used.", + "Quota allocation failed.\nSame as google.rpc.Code.RESOURCE_EXHAUSTED.", + "Quota release failed. This error is ONLY returned on a NORMAL release.\nMore formally: if a user requests a release of 10 tokens, but only\n5 tokens were previously allocated, in a BEST_EFFORT release, this will\nbe considered a success, 5 tokens will be released, and the result will\nbe \"Ok\". If this is done in NORMAL mode, no tokens will be released,\nand an OUT_OF_RANGE error will be returned.\nSame as google.rpc.Code.OUT_OF_RANGE.", + "Consumer cannot access the service because the service requires active\nbilling.", + "Consumer's project has been marked as deleted (soft deletion).", + "Specified API key is invalid.", + "Specified API Key has expired.", + "Consumer's spatula header is invalid.", + "The consumer's LOAS role is invalid.", + "The consumer's LOAS role has no associated project.", + "The backend server for looking up project id/number is unavailable.", + "The backend server for checking service status is unavailable.", + "The backend server for checking billing status is unavailable.", + "The backend server for checking quota limits is unavailable." + ], "enum": [ "UNSPECIFIED", "RESOURCE_EXHAUSTED", + "OUT_OF_RANGE", "BILLING_NOT_ACTIVE", "PROJECT_DELETED", "API_KEY_INVALID", @@ -574,28 +1156,14 @@ "QUOTA_SYSTEM_UNAVAILABLE" ], "description": "Error code.", - "type": "string", - "enumDescriptions": [ - "This is never used.", - "Quota allocation failed.\nSame as google.rpc.Code.RESOURCE_EXHAUSTED.", - "Consumer cannot access the service because the service requires active\nbilling.", - "Consumer's project has been marked as deleted (soft deletion).", - "Specified API key is invalid.", - "Specified API Key has expired.", - "Consumer's spatula header is invalid.", - "The consumer's LOAS role is invalid.", - "The consumer's LOAS role has no associated project.", - "The backend server for looking up project id/number is unavailable.", - "The backend server for checking service status is unavailable.", - "The backend server for checking billing status is unavailable.", - "The backend server for checking quota limits is unavailable." - ] + "type": "string" } }, - "id": "QuotaError" + "id": "QuotaError", + "description": "Represents error information for QuotaOperation.", + "type": "object" }, "CheckInfo": { - "type": "object", "properties": { "unusedArguments": { "description": "A list of fields and label keys that are ignored by the server.\nThe client doesn't need to send them for following requests to improve\nperformance and allow better aggregation.", @@ -603,20 +1171,20 @@ "type": "string" }, "type": "array" + }, + "consumerInfo": { + "$ref": "ConsumerInfo", + "description": "Consumer info of this check." } }, - "id": "CheckInfo" + "id": "CheckInfo", + "description": "Contains additional information about the check operation.", + "type": "object" }, "ReleaseQuotaResponse": { + "description": "Response message for the ReleaseQuota method.", + "type": "object", "properties": { - "operationId": { - "description": "The same operation_id value used in the ReleaseQuotaRequest. Used for\nlogging and diagnostics purposes.", - "type": "string" - }, - "serviceConfigId": { - "description": "ID of the actual config used to process the request.", - "type": "string" - }, "releaseErrors": { "description": "Indicates the decision of the release.", "items": { @@ -630,46 +1198,34 @@ "$ref": "MetricValueSet" }, "type": "array" + }, + "operationId": { + "description": "The same operation_id value used in the ReleaseQuotaRequest. Used for\nlogging and diagnostics purposes.", + "type": "string" + }, + "serviceConfigId": { + "description": "ID of the actual config used to process the request.", + "type": "string" } }, - "id": "ReleaseQuotaResponse", - "description": "Response message for the ReleaseQuota method.", - "type": "object" + "id": "ReleaseQuotaResponse" }, "AllocateQuotaRequest": { + "description": "Request message for the AllocateQuota method.", + "type": "object", "properties": { "allocateOperation": { "description": "Operation that describes the quota allocation.", "$ref": "QuotaOperation" }, - "allocationMode": { - "enumDescriptions": [ - "", - "Allocates quota for the amount specified in the service configuration or\nspecified using the quota_metrics. If the amount is higher than the\navailable quota, allocation error will be returned and no quota will be\nallocated.", - "Allocates quota for the amount specified in the service configuration or\nspecified using the quota_metrics. If the amount is higher than the\navailable quota, request does not fail but all available quota will be\nallocated.", - "Only checks if there is enough quota available and does not change the\navailable quota. No lock is placed on the available quota either." - ], - "enum": [ - "UNSPECIFIED", - "NORMAL", - "BEST_EFFORT", - "CHECK_ONLY" - ], - "description": "Allocation mode for this operation.\nDeprecated: use QuotaMode inside the QuotaOperation.", - "type": "string" - }, "serviceConfigId": { "description": "Specifies which version of service configuration should be used to process\nthe request. If unspecified or no matching version can be found, the latest\none will be used.", "type": "string" } }, - "id": "AllocateQuotaRequest", - "description": "Request message for the AllocateQuota method.", - "type": "object" + "id": "AllocateQuotaRequest" }, "MetricValueSet": { - "description": "Represents a set of metric values in the same metric.\nEach metric value in the set should have a unique combination of start time,\nend time, and label values.", - "type": "object", "properties": { "metricName": { "description": "The metric name defined in the service configuration.", @@ -683,26 +1239,83 @@ "type": "array" } }, - "id": "MetricValueSet" + "id": "MetricValueSet", + "description": "Represents a set of metric values in the same metric.\nEach metric value in the set should have a unique combination of start time,\nend time, and label values.", + "type": "object" }, "ReportError": { + "description": "Represents the processing error of one Operation in the request.", + "type": "object", "properties": { "status": { "$ref": "Status", - "description": "Details of the error when processing the `Operation`." + "description": "Details of the error when processing the Operation." }, "operationId": { "description": "The Operation.operation_id value from the request.", "type": "string" } }, - "id": "ReportError", - "description": "Represents the processing error of one `Operation` in the request.", + "id": "ReportError" + }, + "StartReconciliationRequest": { + "properties": { + "reconciliationOperation": { + "description": "Operation that describes the quota reconciliation.", + "$ref": "QuotaOperation" + }, + "serviceConfigId": { + "description": "Specifies which version of service configuration should be used to process\nthe request. If unspecified or no matching version can be found, the latest\none will be used.", + "type": "string" + } + }, + "id": "StartReconciliationRequest", + "description": "Request message for QuotaController.StartReconciliation.", "type": "object" }, "CheckError": { + "description": "Defines the errors to be returned in\ngoogle.api.servicecontrol.v1.CheckResponse.check_errors.", + "type": "object", "properties": { + "detail": { + "description": "Free-form text providing details on the error cause of the error.", + "type": "string" + }, "code": { + "enumDescriptions": [ + "This is never used in `CheckResponse`.", + "The consumer's project id was not found.\nSame as google.rpc.Code.NOT_FOUND.", + "The consumer doesn't have access to the specified resource.\nSame as google.rpc.Code.PERMISSION_DENIED.", + "Quota check failed. Same as google.rpc.Code.RESOURCE_EXHAUSTED.", + "Budget check failed.", + "The consumer's request has been flagged as a DoS attack.", + "The consumer's request should be rejected in order to protect the service\nfrom being overloaded.", + "The consumer has been flagged as an abuser.", + "The consumer hasn't activated the service.", + "The consumer cannot access the service due to visibility configuration.", + "The consumer cannot access the service because billing is disabled.", + "The consumer's project has been marked as deleted (soft deletion).", + "The consumer's project number or id does not represent a valid project.", + "The IP address of the consumer is invalid for the specific consumer\nproject.", + "The referer address of the consumer request is invalid for the specific\nconsumer project.", + "The client application of the consumer request is invalid for the\nspecific consumer project.", + "The API targeted by this request is invalid for the specified consumer\nproject.", + "The consumer's API key is invalid.", + "The consumer's API Key has expired.", + "The consumer's API Key was not found in config record.", + "The consumer's spatula header is invalid.", + "The consumer's LOAS role is invalid.", + "The consumer's LOAS role has no associated project.", + "The consumer's LOAS project is not `ACTIVE` in LoquatV2.", + "Request is not allowed as per security policies defined in Org Policy.", + "The backend server for looking up project id/number is unavailable.", + "The backend server for checking service status is unavailable.", + "The backend server for checking billing status is unavailable.", + "The backend server for checking quota limits is unavailable.", + "The Spanner for looking up LOAS project is unavailable.", + "Cloud Resource Manager backend server is unavailable.", + "Backend server for evaluating security policy is unavailable." + ], "enum": [ "ERROR_CODE_UNSPECIFIED", "NOT_FOUND", @@ -738,80 +1351,21 @@ "SECURITY_POLICY_BACKEND_UNAVAILABLE" ], "description": "The error code.", - "type": "string", - "enumDescriptions": [ - "This is never used in `CheckResponse`.", - "The consumer's project id was not found.\nSame as google.rpc.Code.NOT_FOUND.", - "The consumer doesn't have access to the specified resource.\nSame as google.rpc.Code.PERMISSION_DENIED.", - "Quota check failed. Same as google.rpc.Code.RESOURCE_EXHAUSTED.", - "Budget check failed.", - "The consumer's request has been flagged as a DoS attack.", - "The consumer's request should be rejected in order to protect the service\nfrom being overloaded.", - "The consumer has been flagged as an abuser.", - "The consumer hasn't activated the service.", - "The consumer cannot access the service due to visibility configuration.", - "The consumer cannot access the service because billing is disabled.", - "The consumer's project has been marked as deleted (soft deletion).", - "The consumer's project number or id does not represent a valid project.", - "The IP address of the consumer is invalid for the specific consumer\nproject.", - "The referer address of the consumer request is invalid for the specific\nconsumer project.", - "The client application of the consumer request is invalid for the\nspecific consumer project.", - "The API targeted by this request is invalid for the specified consumer\nproject.", - "The consumer's API key is invalid.", - "The consumer's API Key has expired.", - "The consumer's API Key was not found in config record.", - "The consumer's spatula header is invalid.", - "The consumer's LOAS role is invalid.", - "The consumer's LOAS role has no associated project.", - "The consumer's LOAS project is not `ACTIVE` in LoquatV2.", - "Request is not allowed as per security policies defined in Org Policy.", - "The backend server for looking up project id/number is unavailable.", - "The backend server for checking service status is unavailable.", - "The backend server for checking billing status is unavailable.", - "The backend server for checking quota limits is unavailable.", - "The Spanner for looking up LOAS project is unavailable.", - "Cloud Resource Manager backend server is unavailable.", - "Backend server for evaluating security policy is unavailable." - ] - }, - "detail": { - "description": "Free-form text providing details on the error cause of the error.", "type": "string" } }, - "id": "CheckError", - "description": "Defines the errors to be returned in\ngoogle.api.servicecontrol.v1.CheckResponse.check_errors.", - "type": "object" - }, - "StartReconciliationRequest": { - "properties": { - "reconciliationOperation": { - "$ref": "QuotaOperation", - "description": "Operation that describes the quota reconciliation." - }, - "serviceConfigId": { - "description": "Specifies which version of service configuration should be used to process\nthe request. If unspecified or no matching version can be found, the latest\none will be used.", - "type": "string" - } - }, - "id": "StartReconciliationRequest", - "type": "object" + "id": "CheckError" }, "QuotaInfo": { + "description": "Contains the quota information for a quota check response.", + "type": "object", "properties": { - "limitExceeded": { - "description": "Quota Metrics that have exceeded quota limits.\nFor QuotaGroup-based quota, this is QuotaGroup.name\nFor QuotaLimit-based quota, this is QuotaLimit.name\nSee: google.api.Quota\nDeprecated: Use quota_metrics to get per quota group limit exceeded status.", - "items": { - "type": "string" - }, - "type": "array" - }, "quotaConsumed": { "additionalProperties": { "format": "int32", "type": "integer" }, - "description": "Map of quota group name to the actual number of tokens consumed. If the\nquota check was not successful, then this will not be populated due to no\nquota consumption.\nDeprecated: Use quota_metrics to get per quota group usage.", + "description": "Map of quota group name to the actual number of tokens consumed. If the\nquota check was not successful, then this will not be populated due to no\nquota consumption.\n\nWe are not merging this field with 'quota_metrics' field because of the\ncomplexity of scaling in Chemist client code base. For simplicity, we will\nkeep this field for Castor (that scales quota usage) and 'quota_metrics'\nfor SuperQuota (that doesn't scale quota usage).\n", "type": "object" }, "quotaMetrics": { @@ -820,252 +1374,35 @@ "$ref": "MetricValueSet" }, "type": "array" - } - }, - "id": "QuotaInfo", - "description": "Contains the quota information for a quota check response.", - "type": "object" - }, - "CheckRequest": { - "properties": { - "skipActivationCheck": { - "description": "Indicates if service activation check should be skipped for this request.\nDefault behavior is to perform the check and apply relevant quota.", - "type": "boolean" }, - "requestProjectSettings": { - "description": "Requests the project settings to be returned as part of the check response.", - "type": "boolean" - }, - "operation": { - "$ref": "Operation", - "description": "The operation to be checked." - }, - "serviceConfigId": { - "description": "Specifies which version of service configuration should be used to process\nthe request.\n\nIf unspecified or no matching version can be found, the\nlatest one will be used.", - "type": "string" - } - }, - "id": "CheckRequest", - "description": "Request message for the Check method.", - "type": "object" - }, - "QuotaOperation": { - "description": "Represents information regarding a quota operation.", - "type": "object", - "properties": { - "methodName": { - "description": "Fully qualified name of the API method for which this quota operation is\nrequested. This name is used for matching quota rules or metric rules and\nbilling status rules defined in service configuration. This field is not\nrequired if the quota operation is performed on non-API resources.\n\nExample of an RPC method name:\n google.example.library.v1.LibraryService.CreateShelf", - "type": "string" - }, - "quotaMode": { - "enum": [ - "UNSPECIFIED", - "NORMAL", - "BEST_EFFORT", - "CHECK_ONLY" - ], - "description": "Quota mode for this operation.", - "type": "string", - "enumDescriptions": [ - "", - "For AllocateQuota request, allocates quota for the amount specified in\nthe service configuration or specified using the quota metrics. If the\namount is higher than the available quota, allocation error will be\nreturned and no quota will be allocated.\nFor ReleaseQuota request, this mode is supported only for precise quota\nlimits. In this case, this operation releases quota for the amount\nspecified in the service configuration or specified using the quota\nmetrics. If the release can make used quota negative, release error\nwill be returned and no quota will be released.", - "For AllocateQuota request, this mode is supported only for imprecise\nquota limits. In this case, the operation allocates quota for the amount\nspecified in the service configuration or specified using the quota\nmetrics. If the amount is higher than the available quota, request does\nnot fail but all available quota will be allocated.\nFor ReleaseQuota request, this mode is supported for both precise quota\nlimits and imprecise quota limits. In this case, this operation releases\nquota for the amount specified in the service configuration or specified\nusing the quota metrics. If the release can make used quota\nnegative, request does not fail but only the used quota will be\nreleased. After the ReleaseQuota request completes, the used quota\nwill be 0, and never goes to negative.", - "For AllocateQuota request, only checks if there is enough quota\navailable and does not change the available quota. No lock is placed on\nthe available quota either. Not supported for ReleaseQuota request." - ] - }, - "quotaMetrics": { - "description": "Represents information about this operation. Each MetricValueSet\ncorresponds to a metric defined in the service configuration.\nThe data type used in the MetricValueSet must agree with\nthe data type specified in the metric definition.\n\nWithin a single operation, it is not allowed to have more than one\nMetricValue instances that have the same metric names and identical\nlabel value combinations. If a request has such duplicated MetricValue\ninstances, the entire request is rejected with\nan invalid argument error.", + "limitExceeded": { + "description": "Quota Metrics that have exceeded quota limits.\nFor QuotaGroup-based quota, this is QuotaGroup.name\nFor QuotaLimit-based quota, this is QuotaLimit.name\nSee: google.api.Quota\nDeprecated: Use quota_metrics to get per quota group limit exceeded status.", "items": { - "$ref": "MetricValueSet" - }, - "type": "array" - }, - "labels": { - "additionalProperties": { "type": "string" }, - "description": "Labels describing the operation.", - "type": "object" - }, - "consumerId": { - "description": "Identity of the consumer for whom this quota operation is being performed.\n\nThis can be in one of the following formats:\n project:\u003cproject_id\u003e,\n project_number:\u003cproject_number\u003e,\n api_key:\u003capi_key\u003e.", - "type": "string" - }, - "operationId": { - "description": "Identity of the operation. This must be unique within the scope of the\nservice that generated the operation. If the service calls AllocateQuota\nand ReleaseQuota on the same operation, the two calls should carry the\nsame ID.\n\nUUID version 4 is recommended, though not required. In scenarios where an\noperation is computed from existing information and an idempotent id is\ndesirable for deduplication purpose, UUID version 5 is recommended. See\nRFC 4122 for details.", - "type": "string" + "type": "array" } }, - "id": "QuotaOperation" + "id": "QuotaInfo" }, - "EndReconciliationRequest": { + "ConsumerInfo": { + "description": "`ConsumerInfo` provides information about the consumer project.", "type": "object", "properties": { - "reconciliationOperation": { - "description": "Operation that describes the quota reconciliation.", - "$ref": "QuotaOperation" - }, - "serviceConfigId": { - "description": "Specifies which version of service configuration should be used to process\nthe request. If unspecified or no matching version can be found, the latest\none will be used.", + "projectNumber": { + "format": "int64", + "description": "The Google cloud project number, e.g. 1234567890. A value of 0 indicates\nno project number is found.", "type": "string" } }, - "id": "EndReconciliationRequest" - }, - "ReportInfo": { - "type": "object", - "properties": { - "operationId": { - "description": "The Operation.operation_id value from the request.", - "type": "string" - }, - "quotaInfo": { - "description": "Quota usage info when processing the `Operation`.", - "$ref": "QuotaInfo" - } - }, - "id": "ReportInfo" - }, - "Operation": { - "properties": { - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Labels describing the operation. Only the following labels are allowed:\n\n- Labels describing monitored resources as defined in\n the service configuration.\n- Default labels of metric values. When specified, labels defined in the\n metric value override these default.\n- The following labels defined by Google Cloud Platform:\n - `cloud.googleapis.com/location` describing the location where the\n operation happened,\n - `servicecontrol.googleapis.com/user_agent` describing the user agent\n of the API request,\n - `servicecontrol.googleapis.com/service_agent` describing the service\n used to handle the API request (e.g. ESP),\n - `servicecontrol.googleapis.com/platform` describing the platform\n where the API is served (e.g. GAE, GCE, GKE).", - "type": "object" - }, - "logEntries": { - "description": "Represents information to be logged.", - "items": { - "$ref": "LogEntry" - }, - "type": "array" - }, - "userLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "User defined labels for the resource that this operation is associated\nwith.", - "type": "object" - }, - "metricValueSets": { - "description": "Represents information about this operation. Each MetricValueSet\ncorresponds to a metric defined in the service configuration.\nThe data type used in the MetricValueSet must agree with\nthe data type specified in the metric definition.\n\nWithin a single operation, it is not allowed to have more than one\nMetricValue instances that have the same metric names and identical\nlabel value combinations. If a request has such duplicated MetricValue\ninstances, the entire request is rejected with\nan invalid argument error.", - "items": { - "$ref": "MetricValueSet" - }, - "type": "array" - }, - "quotaProperties": { - "description": "Represents the properties needed for quota check. Applicable only if this\noperation is for a quota check request.", - "$ref": "QuotaProperties" - }, - "consumerId": { - "description": "Identity of the consumer who is using the service.\nThis field should be filled in for the operations initiated by a\nconsumer, but not for service-initiated operations that are\nnot related to a specific consumer.\n\nThis can be in one of the following formats:\n project:\u003cproject_id\u003e,\n project_number:\u003cproject_number\u003e,\n api_key:\u003capi_key\u003e.", - "type": "string" - }, - "operationId": { - "description": "Identity of the operation. This must be unique within the scope of the\nservice that generated the operation. If the service calls\nCheck() and Report() on the same operation, the two calls should carry\nthe same id.\n\nUUID version 4 is recommended, though not required.\nIn scenarios where an operation is computed from existing information\nand an idempotent id is desirable for deduplication purpose, UUID version 5\nis recommended. See RFC 4122 for details.", - "type": "string" - }, - "endTime": { - "format": "google-datetime", - "description": "End time of the operation.\nRequired when the operation is used in ServiceController.Report,\nbut optional when the operation is used in ServiceController.Check.", - "type": "string" - }, - "operationName": { - "description": "Fully qualified name of the operation. Reserved for future use.", - "type": "string" - }, - "startTime": { - "format": "google-datetime", - "description": "Required. Start time of the operation.", - "type": "string" - }, - "importance": { - "enumDescriptions": [ - "The API implementation may cache and aggregate the data.\nThe data may be lost when rare and unexpected system failures occur.", - "The API implementation doesn't cache and aggregate the data.\nIf the method returns successfully, it's guaranteed that the data has\nbeen persisted in durable storage.", - "In addition to the behavior described in HIGH, DEBUG enables\nadditional validation logic that is only useful during the onboarding\nprocess. This is only available to Google internal services and\nthe service must be whitelisted by chemist-dev@google.com in order\nto use this level." - ], - "enum": [ - "LOW", - "HIGH", - "DEBUG" - ], - "description": "DO NOT USE. This is an experimental field.", - "type": "string" - }, - "resourceContainer": { - "description": "The resource name of the parent of a resource in the resource hierarchy.\n\nThis can be in one of the following formats:\n - “projects/\u003cproject-id or project-number\u003e”\n - “folders/\u003cfolder-id\u003e”\n - “organizations/\u003corganization-id\u003e”", - "type": "string" - } - }, - "id": "Operation", - "description": "Represents information regarding an operation.", - "type": "object" - }, - "ReportResponse": { - "description": "Response message for the Report method.", - "type": "object", - "properties": { - "reportInfos": { - "description": "Quota usage for each quota release `Operation` request.\n\nFully or partially failed quota release request may or may not be present\nin `report_quota_info`. For example, a failed quota release request will\nhave the current quota usage info when precise quota library returns the\ninfo. A deadline exceeded quota request will not have quota usage info.\n\nIf there is no quota release request, report_quota_info will be empty.\n", - "items": { - "$ref": "ReportInfo" - }, - "type": "array" - }, - "serviceConfigId": { - "description": "The actual config id used to process the request.", - "type": "string" - }, - "reportErrors": { - "description": "Partial failures, one for each `Operation` in the request that failed\nprocessing. There are three possible combinations of the RPC status:\n\n1. The combination of a successful RPC status and an empty `report_errors`\n list indicates a complete success where all `Operations` in the\n request are processed successfully.\n2. The combination of a successful RPC status and a non-empty\n `report_errors` list indicates a partial success where some\n `Operations` in the request succeeded. Each\n `Operation` that failed processing has a corresponding item\n in this list.\n3. A failed RPC status indicates a general non-deterministic failure.\n When this happens, it's impossible to know which of the\n 'Operations' in the request succeeded or failed.", - "items": { - "$ref": "ReportError" - }, - "type": "array" - } - }, - "id": "ReportResponse" - }, - "CheckResponse": { - "properties": { - "checkInfo": { - "description": "Feedback data returned from the server during processing a Check request.", - "$ref": "CheckInfo" - }, - "checkErrors": { - "description": "Indicate the decision of the check.\n\nIf no check errors are present, the service should process the operation.\nOtherwise the service should use the list of errors to determine the\nappropriate action.", - "items": { - "$ref": "CheckError" - }, - "type": "array" - }, - "operationId": { - "description": "The same operation_id value used in the CheckRequest.\nUsed for logging and diagnostics purposes.", - "type": "string" - }, - "serviceConfigId": { - "description": "The actual config id used to process the request.", - "type": "string" - }, - "quotaInfo": { - "description": "Quota information for the check request associated with this response.\n", - "$ref": "QuotaInfo" - } - }, - "id": "CheckResponse", - "description": "Response message for the Check method.", - "type": "object" + "id": "ConsumerInfo" } }, + "protocol": "rest", "icons": { "x32": "http://www.google.com/images/icons/product/search-32.gif", "x16": "http://www.google.com/images/icons/product/search-16.gif" }, - "protocol": "rest", "canonicalName": "Service Control", "auth": { "oauth2": { @@ -1083,279 +1420,7 @@ "ownerDomain": "google.com", "name": "servicecontrol", "batchPath": "batch", + "fullyEncodeReservedExpansion": true, "title": "Google Service Control API", - "ownerName": "Google", - "resources": { - "services": { - "methods": { - "endReconciliation": { - "id": "servicecontrol.services.endReconciliation", - "path": "v1/services/{serviceName}:endReconciliation", - "request": { - "$ref": "EndReconciliationRequest" - }, - "description": "Signals the quota controller that service ends the ongoing usage\nreconciliation.\n\nThis method requires the `servicemanagement.services.quota`\npermission on the specified service. For more information, see\n[Google Cloud IAM](https://cloud.google.com/iam).", - "response": { - "$ref": "EndReconciliationResponse" - }, - "parameterOrder": [ - "serviceName" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/servicecontrol" - ], - "parameters": { - "serviceName": { - "location": "path", - "description": "Name of the service as specified in the service configuration. For example,\n`\"pubsub.googleapis.com\"`.\n\nSee google.api.Service for the definition of a service name.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/services/{serviceName}:endReconciliation" - }, - "report": { - "id": "servicecontrol.services.report", - "path": "v1/services/{serviceName}:report", - "request": { - "$ref": "ReportRequest" - }, - "description": "Reports operation results to Google Service Control, such as logs and\nmetrics. It should be called after an operation is completed.\n\nIf feasible, the client should aggregate reporting data for up to 5\nseconds to reduce API traffic. Limiting aggregation to 5 seconds is to\nreduce data loss during client crashes. Clients should carefully choose\nthe aggregation time window to avoid data loss risk more than 0.01%\nfor business and compliance reasons.\n\nNOTE: the `ReportRequest` has the size limit of 1MB.\n\nThis method requires the `servicemanagement.services.report` permission\non the specified service. For more information, see\n[Google Cloud IAM](https://cloud.google.com/iam).", - "response": { - "$ref": "ReportResponse" - }, - "parameterOrder": [ - "serviceName" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/servicecontrol" - ], - "parameters": { - "serviceName": { - "location": "path", - "description": "The service name as specified in its service configuration. For example,\n`\"pubsub.googleapis.com\"`.\n\nSee google.api.Service for the definition of a service name.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/services/{serviceName}:report" - }, - "allocateQuota": { - "httpMethod": "POST", - "parameterOrder": [ - "serviceName" - ], - "response": { - "$ref": "AllocateQuotaResponse" - }, - "parameters": { - "serviceName": { - "location": "path", - "description": "Name of the service as specified in the service configuration. For example,\n`\"pubsub.googleapis.com\"`.\n\nSee google.api.Service for the definition of a service name.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/servicecontrol" - ], - "flatPath": "v1/services/{serviceName}:allocateQuota", - "path": "v1/services/{serviceName}:allocateQuota", - "id": "servicecontrol.services.allocateQuota", - "description": "Attempts to allocate quota for the specified consumer. It should be called\nbefore the operation is executed.\n\nThis method requires the `servicemanagement.services.quota`\npermission on the specified service. For more information, see\n[Google Cloud IAM](https://cloud.google.com/iam).\n\n**NOTE:** the client code **must** fail-open if the server returns one\nof the following quota errors:\n- `PROJECT_STATUS_UNAVAILABLE`\n- `SERVICE_STATUS_UNAVAILABLE`\n- `BILLING_STATUS_UNAVAILABLE`\n- `QUOTA_SYSTEM_UNAVAILABLE`\n\nThe server may inject above errors to prohibit any hard dependency\non the quota system.", - "request": { - "$ref": "AllocateQuotaRequest" - } - }, - "startReconciliation": { - "response": { - "$ref": "StartReconciliationResponse" - }, - "parameterOrder": [ - "serviceName" - ], - "httpMethod": "POST", - "parameters": { - "serviceName": { - "description": "Name of the service as specified in the service configuration. For example,\n`\"pubsub.googleapis.com\"`.\n\nSee google.api.Service for the definition of a service name.", - "type": "string", - "required": true, - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/servicecontrol" - ], - "flatPath": "v1/services/{serviceName}:startReconciliation", - "id": "servicecontrol.services.startReconciliation", - "path": "v1/services/{serviceName}:startReconciliation", - "description": "Unlike rate quota, allocation quota does not get refilled periodically.\nSo, it is possible that the quota usage as seen by the service differs from\nwhat the One Platform considers the usage is. This is expected to happen\nonly rarely, but over time this can accumulate. Services can invoke\nStartReconciliation and EndReconciliation to correct this usage drift, as\ndescribed below:\n1. Service sends StartReconciliation with a timestamp in future for each\n metric that needs to be reconciled. The timestamp being in future allows\n to account for in-flight AllocateQuota and ReleaseQuota requests for the\n same metric.\n2. One Platform records this timestamp and starts tracking subsequent\n AllocateQuota and ReleaseQuota requests until EndReconciliation is\n called.\n3. At or after the time specified in the StartReconciliation, service\n sends EndReconciliation with the usage that needs to be reconciled to.\n4. One Platform adjusts its own record of usage for that metric to the\n value specified in EndReconciliation by taking in to account any\n allocation or release between StartReconciliation and EndReconciliation.\n\nSignals the quota controller that the service wants to perform a usage\nreconciliation as specified in the request.\n\nThis method requires the `servicemanagement.services.quota`\npermission on the specified service. For more information, see\n[Google Cloud IAM](https://cloud.google.com/iam).", - "request": { - "$ref": "StartReconciliationRequest" - } - }, - "check": { - "response": { - "$ref": "CheckResponse" - }, - "parameterOrder": [ - "serviceName" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/servicecontrol" - ], - "parameters": { - "serviceName": { - "description": "The service name as specified in its service configuration. For example,\n`\"pubsub.googleapis.com\"`.\n\nSee google.api.Service for the definition of a service name.", - "type": "string", - "required": true, - "location": "path" - } - }, - "flatPath": "v1/services/{serviceName}:check", - "id": "servicecontrol.services.check", - "path": "v1/services/{serviceName}:check", - "request": { - "$ref": "CheckRequest" - }, - "description": "Checks an operation with Google Service Control to decide whether\nthe given operation should proceed. It should be called before the\noperation is executed.\n\nIf feasible, the client should cache the check results and reuse them for\n60 seconds. In case of server errors, the client can rely on the cached\nresults for longer time.\n\nNOTE: the `CheckRequest` has the size limit of 64KB.\n\nThis method requires the `servicemanagement.services.check` permission\non the specified service. For more information, see\n[Google Cloud IAM](https://cloud.google.com/iam)." - }, - "releaseQuota": { - "request": { - "$ref": "ReleaseQuotaRequest" - }, - "description": "Releases previously allocated quota done through AllocateQuota method.\n\nThis method requires the `servicemanagement.services.quota`\npermission on the specified service. For more information, see\n[Google Cloud IAM](https://cloud.google.com/iam).\n\n**NOTE:** the client code **must** fail-open if the server returns one\nof the following quota errors:\n- `PROJECT_STATUS_UNAVAILABLE`\n- `SERVICE_STATUS_UNAVAILABLE`\n- `BILLING_STATUS_UNAVAILABLE`\n- `QUOTA_SYSTEM_UNAVAILABLE`\n\nThe server may inject above errors to prohibit any hard dependency\non the quota system.", - "response": { - "$ref": "ReleaseQuotaResponse" - }, - "parameterOrder": [ - "serviceName" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/servicecontrol" - ], - "parameters": { - "serviceName": { - "location": "path", - "description": "Name of the service as specified in the service configuration. For example,\n`\"pubsub.googleapis.com\"`.\n\nSee google.api.Service for the definition of a service name.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/services/{serviceName}:releaseQuota", - "id": "servicecontrol.services.releaseQuota", - "path": "v1/services/{serviceName}:releaseQuota" - } - } - } - }, - "parameters": { - "alt": { - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], - "type": "string", - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query" - }, - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string", - "location": "query" - }, - "access_token": { - "location": "query", - "description": "OAuth access token.", - "type": "string" - }, - "quotaUser": { - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" - }, - "pp": { - "description": "Pretty-print response.", - "default": "true", - "type": "boolean", - "location": "query" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" - }, - "bearer_token": { - "location": "query", - "description": "OAuth bearer token.", - "type": "string" - }, - "upload_protocol": { - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string", - "location": "query" - }, - "prettyPrint": { - "description": "Returns response with indentations and line breaks.", - "default": "true", - "type": "boolean", - "location": "query" - }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "type": "string", - "location": "query" - }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string", - "location": "query" - }, - "callback": { - "description": "JSONP", - "type": "string", - "location": "query" - }, - "$.xgafv": { - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" - ], - "description": "V1 error format.", - "type": "string" - } - }, - "version": "v1", - "baseUrl": "https://servicecontrol.googleapis.com/", - "kind": "discovery#restDescription", - "description": "Google Service Control provides control plane functionality to managed services, such as logging, monitoring, and status checks.", - "servicePath": "", - "basePath": "", - "revision": "20170626", - "documentationLink": "https://cloud.google.com/service-control/", - "id": "servicecontrol:v1", - "discoveryVersion": "v1", - "version_module": "True" + "ownerName": "Google" } diff --git a/vendor/google.golang.org/api/servicecontrol/v1/servicecontrol-gen.go b/vendor/google.golang.org/api/servicecontrol/v1/servicecontrol-gen.go index 16cef5587..80cb74036 100644 --- a/vendor/google.golang.org/api/servicecontrol/v1/servicecontrol-gen.go +++ b/vendor/google.golang.org/api/servicecontrol/v1/servicecontrol-gen.go @@ -87,35 +87,45 @@ type ServicesService struct { s *Service } +type AllocateInfo struct { + // UnusedArguments: A list of label keys that were unused by the server + // in processing the + // request. Thus, for similar requests repeated in a certain future + // time + // window, the caller can choose to ignore these labels in the + // requests + // to achieve better client-side cache hits and quota aggregation. + UnusedArguments []string `json:"unusedArguments,omitempty"` + + // ForceSendFields is a list of field names (e.g. "UnusedArguments") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "UnusedArguments") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AllocateInfo) MarshalJSON() ([]byte, error) { + type noMethod AllocateInfo + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // AllocateQuotaRequest: Request message for the AllocateQuota method. type AllocateQuotaRequest struct { // AllocateOperation: Operation that describes the quota allocation. AllocateOperation *QuotaOperation `json:"allocateOperation,omitempty"` - // AllocationMode: Allocation mode for this operation. - // Deprecated: use QuotaMode inside the QuotaOperation. - // - // Possible values: - // "UNSPECIFIED" - // "NORMAL" - Allocates quota for the amount specified in the service - // configuration or - // specified using the quota_metrics. If the amount is higher than - // the - // available quota, allocation error will be returned and no quota will - // be - // allocated. - // "BEST_EFFORT" - Allocates quota for the amount specified in the - // service configuration or - // specified using the quota_metrics. If the amount is higher than - // the - // available quota, request does not fail but all available quota will - // be - // allocated. - // "CHECK_ONLY" - Only checks if there is enough quota available and - // does not change the - // available quota. No lock is placed on the available quota either. - AllocationMode string `json:"allocationMode,omitempty"` - // ServiceConfigId: Specifies which version of service configuration // should be used to process // the request. If unspecified or no matching version can be found, the @@ -152,6 +162,10 @@ type AllocateQuotaResponse struct { // AllocateErrors: Indicates the decision of the allocate. AllocateErrors []*QuotaError `json:"allocateErrors,omitempty"` + // AllocateInfo: WARNING: DO NOT use this field until this warning + // message is removed. + AllocateInfo *AllocateInfo `json:"allocateInfo,omitempty"` + // OperationId: The same operation_id value used in the // AllocateQuotaRequest. Used for // logging and diagnostics purposes. @@ -229,6 +243,11 @@ type AuditLog struct { // one AuthorizationInfo element for each {resource, permission} tuple. AuthorizationInfo []*AuthorizationInfo `json:"authorizationInfo,omitempty"` + // Metadata: Other service-specific data about the request, response, + // and other + // information associated with the current audited event. + Metadata []googleapi.RawMessage `json:"metadata,omitempty"` + // MethodName: The name of the service method or operation. // For API calls, this should be the name of the API method. // For example, @@ -279,8 +298,9 @@ type AuditLog struct { // name will be indicated in the `@type` property. Response googleapi.RawMessage `json:"response,omitempty"` - // ServiceData: Other service-specific data about the request, response, - // and other + // ServiceData: Deprecated, use `metadata` field instead. + // Other service-specific data about the request, response, and + // other // activities. ServiceData googleapi.RawMessage `json:"serviceData,omitempty"` @@ -324,10 +344,23 @@ type AuthenticationInfo struct { // authority. AuthoritySelector string `json:"authoritySelector,omitempty"` - // PrincipalEmail: The email address of the authenticated user making - // the request. + // PrincipalEmail: The email address of the authenticated user (or + // service account on behalf + // of third party principal) making the request. For privacy reasons, + // the + // principal email address is redacted for all read-only operations that + // fail + // with a "permission denied" error. PrincipalEmail string `json:"principalEmail,omitempty"` + // ThirdPartyPrincipal: The third party identification (if any) of the + // authenticated user making + // the request. + // When the JSON object represented here has a proto equivalent, the + // proto + // name will be indicated in the `@type` property. + ThirdPartyPrincipal googleapi.RawMessage `json:"thirdPartyPrincipal,omitempty"` + // ForceSendFields is a list of field names (e.g. "AuthoritySelector") // to unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -365,7 +398,7 @@ type AuthorizationInfo struct { // Resource: The resource being accessed, as a REST-style string. For // example: // - // bigquery.googlapis.com/projects/PROJECTID/datasets/DATASETID + // bigquery.googleapis.com/projects/PROJECTID/datasets/DATASETID Resource string `json:"resource,omitempty"` // ForceSendFields is a list of field names (e.g. "Granted") to @@ -491,7 +524,11 @@ func (s *CheckError) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// CheckInfo: Contains additional information about the check operation. type CheckInfo struct { + // ConsumerInfo: Consumer info of this check. + ConsumerInfo *ConsumerInfo `json:"consumerInfo,omitempty"` + // UnusedArguments: A list of fields and label keys that are ignored by // the server. // The client doesn't need to send them for following requests to @@ -499,7 +536,7 @@ type CheckInfo struct { // performance and allow better aggregation. UnusedArguments []string `json:"unusedArguments,omitempty"` - // ForceSendFields is a list of field names (e.g. "UnusedArguments") to + // ForceSendFields is a list of field names (e.g. "ConsumerInfo") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -507,13 +544,12 @@ type CheckInfo struct { // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "UnusedArguments") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. + // NullFields is a list of field names (e.g. "ConsumerInfo") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } @@ -623,6 +659,37 @@ func (s *CheckResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ConsumerInfo: `ConsumerInfo` provides information about the consumer +// project. +type ConsumerInfo struct { + // ProjectNumber: The Google cloud project number, e.g. 1234567890. A + // value of 0 indicates + // no project number is found. + ProjectNumber int64 `json:"projectNumber,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "ProjectNumber") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ProjectNumber") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ConsumerInfo) MarshalJSON() ([]byte, error) { + type noMethod ConsumerInfo + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Distribution: Distribution represents a frequency distribution of // double-valued sample // points. It contains the size of the population of sample points @@ -728,6 +795,8 @@ func (s *Distribution) UnmarshalJSON(data []byte) error { return nil } +// EndReconciliationRequest: Request message for +// QuotaController.EndReconciliation. type EndReconciliationRequest struct { // ReconciliationOperation: Operation that describes the quota // reconciliation. @@ -765,6 +834,8 @@ func (s *EndReconciliationRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// EndReconciliationResponse: Response message for +// QuotaController.EndReconciliation. type EndReconciliationResponse struct { // OperationId: The same operation_id value used in the // EndReconciliationRequest. Used for @@ -1021,8 +1092,9 @@ type LogEntry struct { // ProtoPayload: The log entry payload, represented as a protocol buffer // that is - // expressed as a JSON object. You can only pass `protoPayload` - // values that belong to a set of approved types. + // expressed as a JSON object. The only accepted type currently + // is + // AuditLog. ProtoPayload googleapi.RawMessage `json:"protoPayload,omitempty"` // Severity: The severity of the log entry. The default value @@ -1339,11 +1411,15 @@ type Operation struct { // QuotaProperties: Represents the properties needed for quota check. // Applicable only if this - // operation is for a quota check request. + // operation is for a quota check request. If this is not specified, no + // quota + // check will be performed. QuotaProperties *QuotaProperties `json:"quotaProperties,omitempty"` - // ResourceContainer: The resource name of the parent of a resource in - // the resource hierarchy. + // ResourceContainer: DO NOT USE. This field is deprecated, use + // "resources" field instead. + // The resource name of the parent of a resource in the resource + // hierarchy. // // This can be in one of the following formats: // - “projects/” @@ -1351,12 +1427,17 @@ type Operation struct { // - “organizations/” ResourceContainer string `json:"resourceContainer,omitempty"` + // Resources: The resources that are involved in the operation. + Resources []*ResourceInfo `json:"resources,omitempty"` + // StartTime: Required. Start time of the operation. StartTime string `json:"startTime,omitempty"` // UserLabels: User defined labels for the resource that this operation // is associated - // with. + // with. Only a combination of 1000 user labels per consumer project + // are + // allowed. UserLabels map[string]string `json:"userLabels,omitempty"` // ForceSendFields is a list of field names (e.g. "ConsumerId") to @@ -1382,6 +1463,7 @@ func (s *Operation) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// QuotaError: Represents error information for QuotaOperation. type QuotaError struct { // Code: Error code. // @@ -1389,6 +1471,17 @@ type QuotaError struct { // "UNSPECIFIED" - This is never used. // "RESOURCE_EXHAUSTED" - Quota allocation failed. // Same as google.rpc.Code.RESOURCE_EXHAUSTED. + // "OUT_OF_RANGE" - Quota release failed. This error is ONLY returned + // on a NORMAL release. + // More formally: if a user requests a release of 10 tokens, but only + // 5 tokens were previously allocated, in a BEST_EFFORT release, this + // will + // be considered a success, 5 tokens will be released, and the result + // will + // be "Ok". If this is done in NORMAL mode, no tokens will be + // released, + // and an OUT_OF_RANGE error will be returned. + // Same as google.rpc.Code.OUT_OF_RANGE. // "BILLING_NOT_ACTIVE" - Consumer cannot access the service because // the service requires active // billing. @@ -1459,7 +1552,15 @@ type QuotaInfo struct { // quota check was not successful, then this will not be populated due // to no // quota consumption. - // Deprecated: Use quota_metrics to get per quota group usage. + // + // We are not merging this field with 'quota_metrics' field because of + // the + // complexity of scaling in Chemist client code base. For simplicity, we + // will + // keep this field for Castor (that scales quota usage) and + // 'quota_metrics' + // for SuperQuota (that doesn't scale quota usage). + // QuotaConsumed map[string]int64 `json:"quotaConsumed,omitempty"` // QuotaMetrics: Quota metrics to indicate the usage. Depending on the @@ -1534,13 +1635,11 @@ type QuotaOperation struct { // google.example.library.v1.LibraryService.CreateShelf MethodName string `json:"methodName,omitempty"` - // OperationId: Identity of the operation. This must be unique within - // the scope of the - // service that generated the operation. If the service calls - // AllocateQuota - // and ReleaseQuota on the same operation, the two calls should carry - // the - // same ID. + // OperationId: Identity of the operation. This is expected to be unique + // within the scope + // of the service that generated the operation, and guarantees + // idempotency in + // case of retries. // // UUID version 4 is recommended, though not required. In scenarios // where an @@ -1570,7 +1669,7 @@ type QuotaOperation struct { // QuotaMode: Quota mode for this operation. // // Possible values: - // "UNSPECIFIED" + // "UNSPECIFIED" - Guard against implicit default. Must not be used. // "NORMAL" - For AllocateQuota request, allocates quota for the // amount specified in // the service configuration or specified using the quota metrics. If @@ -1641,28 +1740,6 @@ func (s *QuotaOperation) MarshalJSON() ([]byte, error) { // QuotaProperties: Represents the properties needed for quota // operations. type QuotaProperties struct { - // LimitByIds: LimitType IDs that should be used for checking quota. Key - // in this map - // should be a valid LimitType string, and the value is the ID to be - // used. For - // example, an entry will cause all user quota limits to use - // 123 - // as the user ID. See google/api/quota.proto for the definition of - // LimitType. - // CLIENT_PROJECT: Not supported. - // USER: Value of this entry will be used for enforcing user-level - // quota - // limits. If none specified, caller IP passed in the - // servicecontrol.googleapis.com/caller_ip label will be used - // instead. - // If the server cannot resolve a value for this LimitType, an - // error - // will be thrown. No validation will be performed on this - // ID. - // Deprecated: use servicecontrol.googleapis.com/user label to send user - // ID. - LimitByIds map[string]string `json:"limitByIds,omitempty"` - // QuotaMode: Quota mode for this operation. // // Possible values: @@ -1685,7 +1762,7 @@ type QuotaProperties struct { // operation. QuotaMode string `json:"quotaMode,omitempty"` - // ForceSendFields is a list of field names (e.g. "LimitByIds") to + // ForceSendFields is a list of field names (e.g. "QuotaMode") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -1693,7 +1770,7 @@ type QuotaProperties struct { // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LimitByIds") to include in + // NullFields is a list of field names (e.g. "QuotaMode") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as @@ -1806,13 +1883,13 @@ func (s *ReleaseQuotaResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// ReportError: Represents the processing error of one `Operation` in -// the request. +// ReportError: Represents the processing error of one Operation in the +// request. type ReportError struct { // OperationId: The Operation.operation_id value from the request. OperationId string `json:"operationId,omitempty"` - // Status: Details of the error when processing the `Operation`. + // Status: Details of the error when processing the Operation. Status *Status `json:"status,omitempty"` // ForceSendFields is a list of field names (e.g. "OperationId") to @@ -1838,6 +1915,7 @@ func (s *ReportError) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ReportInfo: Contains additional info about the report operation. type ReportInfo struct { // OperationId: The Operation.operation_id value from the request. OperationId string `json:"operationId,omitempty"` @@ -1990,8 +2068,35 @@ func (s *ReportResponse) MarshalJSON() ([]byte, error) { // RequestMetadata: Metadata about the request. type RequestMetadata struct { // CallerIp: The IP address of the caller. + // For caller from internet, this will be public IPv4 or IPv6 + // address. + // For caller from a Compute Engine VM with external IP address, + // this + // will be the VM's external IP address. For caller from a + // Compute + // Engine VM without external IP address, if the VM is in the + // same + // organization (or project) as the accessed resource, `caller_ip` + // will + // be the VM's internal IPv4 address, otherwise the `caller_ip` will + // be + // redacted to "gce-internal-ip". + // See https://cloud.google.com/compute/docs/vpc/ for more information. CallerIp string `json:"callerIp,omitempty"` + // CallerNetwork: The network of the caller. + // Set only if the network host project is part of the same GCP + // organization + // (or project) as the accessed resource. + // See https://cloud.google.com/compute/docs/vpc/ for more + // information. + // This is a scheme-less URI full resource name. For example: + // + // + // "//compute.googleapis.com/projects/PROJECT_ID/global/networks/NETWORK_ + // ID" + CallerNetwork string `json:"callerNetwork,omitempty"` + // CallerSuppliedUserAgent: The user agent of the caller. // This information is not authenticated and should be treated // accordingly. @@ -2003,9 +2108,7 @@ type RequestMetadata struct { // The request was made by the Google Cloud SDK CLI (gcloud). // + `AppEngine-Google; (+http://code.google.com/appengine; appid: // s~my-project`: - // The request was made from the `my-project` App Engine - // app. - // + // The request was made from the `my-project` App Engine app. // NOLINT CallerSuppliedUserAgent string `json:"callerSuppliedUserAgent,omitempty"` @@ -2032,6 +2135,46 @@ func (s *RequestMetadata) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ResourceInfo: Describes a resource associated with this operation. +type ResourceInfo struct { + // ResourceContainer: The identifier of the parent of this resource + // instance. + // Must be in one of the following formats: + // - “projects/” + // - “folders/” + // - “organizations/” + ResourceContainer string `json:"resourceContainer,omitempty"` + + // ResourceName: Name of the resource. This is used for auditing + // purposes. + ResourceName string `json:"resourceName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ResourceContainer") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ResourceContainer") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *ResourceInfo) MarshalJSON() ([]byte, error) { + type noMethod ResourceInfo + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// StartReconciliationRequest: Request message for +// QuotaController.StartReconciliation. type StartReconciliationRequest struct { // ReconciliationOperation: Operation that describes the quota // reconciliation. @@ -2069,6 +2212,8 @@ func (s *StartReconciliationRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// StartReconciliationResponse: Response message for +// QuotaController.StartReconciliation. type StartReconciliationResponse struct { // OperationId: The same operation_id value used in the // StartReconciliationRequest. Used @@ -2210,9 +2355,9 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in @@ -2262,20 +2407,16 @@ type ServicesAllocateQuotaCall struct { // // This method requires the // `servicemanagement.services.quota` -// permission on the specified service. For more information, -// see -// [Google Cloud IAM](https://cloud.google.com/iam). +// permission on the specified service. For more information, see +// [Cloud IAM](https://cloud.google.com/iam). // -// **NOTE:** the client code **must** fail-open if the server returns -// one -// of the following quota errors: -// - `PROJECT_STATUS_UNAVAILABLE` -// - `SERVICE_STATUS_UNAVAILABLE` -// - `BILLING_STATUS_UNAVAILABLE` -// - `QUOTA_SYSTEM_UNAVAILABLE` -// -// The server may inject above errors to prohibit any hard dependency -// on the quota system. +// **NOTE:** The client **must** fail-open on server errors +// `INTERNAL`, +// `UNKNOWN`, `DEADLINE_EXCEEDED`, and `UNAVAILABLE`. To ensure +// system +// reliability, the server may inject these errors to prohibit any +// hard +// dependency on the quota functionality. func (r *ServicesService) AllocateQuota(serviceName string, allocatequotarequest *AllocateQuotaRequest) *ServicesAllocateQuotaCall { c := &ServicesAllocateQuotaCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.serviceName = serviceName @@ -2369,7 +2510,7 @@ func (c *ServicesAllocateQuotaCall) Do(opts ...googleapi.CallOption) (*AllocateQ } return ret, nil // { - // "description": "Attempts to allocate quota for the specified consumer. It should be called\nbefore the operation is executed.\n\nThis method requires the `servicemanagement.services.quota`\npermission on the specified service. For more information, see\n[Google Cloud IAM](https://cloud.google.com/iam).\n\n**NOTE:** the client code **must** fail-open if the server returns one\nof the following quota errors:\n- `PROJECT_STATUS_UNAVAILABLE`\n- `SERVICE_STATUS_UNAVAILABLE`\n- `BILLING_STATUS_UNAVAILABLE`\n- `QUOTA_SYSTEM_UNAVAILABLE`\n\nThe server may inject above errors to prohibit any hard dependency\non the quota system.", + // "description": "Attempts to allocate quota for the specified consumer. It should be called\nbefore the operation is executed.\n\nThis method requires the `servicemanagement.services.quota`\npermission on the specified service. For more information, see\n[Cloud IAM](https://cloud.google.com/iam).\n\n**NOTE:** The client **must** fail-open on server errors `INTERNAL`,\n`UNKNOWN`, `DEADLINE_EXCEEDED`, and `UNAVAILABLE`. To ensure system\nreliability, the server may inject these errors to prohibit any hard\ndependency on the quota functionality.", // "flatPath": "v1/services/{serviceName}:allocateQuota", // "httpMethod": "POST", // "id": "servicecontrol.services.allocateQuota", @@ -2422,7 +2563,7 @@ type ServicesCheckCall struct { // cached // results for longer time. // -// NOTE: the `CheckRequest` has the size limit of 64KB. +// NOTE: the CheckRequest has the size limit of 64KB. // // This method requires the `servicemanagement.services.check` // permission @@ -2521,7 +2662,7 @@ func (c *ServicesCheckCall) Do(opts ...googleapi.CallOption) (*CheckResponse, er } return ret, nil // { - // "description": "Checks an operation with Google Service Control to decide whether\nthe given operation should proceed. It should be called before the\noperation is executed.\n\nIf feasible, the client should cache the check results and reuse them for\n60 seconds. In case of server errors, the client can rely on the cached\nresults for longer time.\n\nNOTE: the `CheckRequest` has the size limit of 64KB.\n\nThis method requires the `servicemanagement.services.check` permission\non the specified service. For more information, see\n[Google Cloud IAM](https://cloud.google.com/iam).", + // "description": "Checks an operation with Google Service Control to decide whether\nthe given operation should proceed. It should be called before the\noperation is executed.\n\nIf feasible, the client should cache the check results and reuse them for\n60 seconds. In case of server errors, the client can rely on the cached\nresults for longer time.\n\nNOTE: the CheckRequest has the size limit of 64KB.\n\nThis method requires the `servicemanagement.services.check` permission\non the specified service. For more information, see\n[Google Cloud IAM](https://cloud.google.com/iam).", // "flatPath": "v1/services/{serviceName}:check", // "httpMethod": "POST", // "id": "servicecontrol.services.check", @@ -2530,7 +2671,7 @@ func (c *ServicesCheckCall) Do(opts ...googleapi.CallOption) (*CheckResponse, er // ], // "parameters": { // "serviceName": { - // "description": "The service name as specified in its service configuration. For example,\n`\"pubsub.googleapis.com\"`.\n\nSee google.api.Service for the definition of a service name.", + // "description": "The service name as specified in its service configuration. For example,\n`\"pubsub.googleapis.com\"`.\n\nSee\n[google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service)\nfor the definition of a service name.", // "location": "path", // "required": true, // "type": "string" @@ -2710,20 +2851,17 @@ type ServicesReleaseQuotaCall struct { // // This method requires the // `servicemanagement.services.quota` -// permission on the specified service. For more information, -// see -// [Google Cloud IAM](https://cloud.google.com/iam). +// permission on the specified service. For more information, see +// [Cloud IAM](https://cloud.google.com/iam). // -// **NOTE:** the client code **must** fail-open if the server returns -// one -// of the following quota errors: -// - `PROJECT_STATUS_UNAVAILABLE` -// - `SERVICE_STATUS_UNAVAILABLE` -// - `BILLING_STATUS_UNAVAILABLE` -// - `QUOTA_SYSTEM_UNAVAILABLE` // -// The server may inject above errors to prohibit any hard dependency -// on the quota system. +// **NOTE:** The client **must** fail-open on server errors +// `INTERNAL`, +// `UNKNOWN`, `DEADLINE_EXCEEDED`, and `UNAVAILABLE`. To ensure +// system +// reliability, the server may inject these errors to prohibit any +// hard +// dependency on the quota functionality. func (r *ServicesService) ReleaseQuota(serviceName string, releasequotarequest *ReleaseQuotaRequest) *ServicesReleaseQuotaCall { c := &ServicesReleaseQuotaCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.serviceName = serviceName @@ -2817,7 +2955,7 @@ func (c *ServicesReleaseQuotaCall) Do(opts ...googleapi.CallOption) (*ReleaseQuo } return ret, nil // { - // "description": "Releases previously allocated quota done through AllocateQuota method.\n\nThis method requires the `servicemanagement.services.quota`\npermission on the specified service. For more information, see\n[Google Cloud IAM](https://cloud.google.com/iam).\n\n**NOTE:** the client code **must** fail-open if the server returns one\nof the following quota errors:\n- `PROJECT_STATUS_UNAVAILABLE`\n- `SERVICE_STATUS_UNAVAILABLE`\n- `BILLING_STATUS_UNAVAILABLE`\n- `QUOTA_SYSTEM_UNAVAILABLE`\n\nThe server may inject above errors to prohibit any hard dependency\non the quota system.", + // "description": "Releases previously allocated quota done through AllocateQuota method.\n\nThis method requires the `servicemanagement.services.quota`\npermission on the specified service. For more information, see\n[Cloud IAM](https://cloud.google.com/iam).\n\n\n**NOTE:** The client **must** fail-open on server errors `INTERNAL`,\n`UNKNOWN`, `DEADLINE_EXCEEDED`, and `UNAVAILABLE`. To ensure system\nreliability, the server may inject these errors to prohibit any hard\ndependency on the quota functionality.", // "flatPath": "v1/services/{serviceName}:releaseQuota", // "httpMethod": "POST", // "id": "servicecontrol.services.releaseQuota", @@ -2872,7 +3010,7 @@ type ServicesReportCall struct { // 0.01% // for business and compliance reasons. // -// NOTE: the `ReportRequest` has the size limit of 1MB. +// NOTE: the ReportRequest has the size limit of 1MB. // // This method requires the `servicemanagement.services.report` // permission @@ -2971,7 +3109,7 @@ func (c *ServicesReportCall) Do(opts ...googleapi.CallOption) (*ReportResponse, } return ret, nil // { - // "description": "Reports operation results to Google Service Control, such as logs and\nmetrics. It should be called after an operation is completed.\n\nIf feasible, the client should aggregate reporting data for up to 5\nseconds to reduce API traffic. Limiting aggregation to 5 seconds is to\nreduce data loss during client crashes. Clients should carefully choose\nthe aggregation time window to avoid data loss risk more than 0.01%\nfor business and compliance reasons.\n\nNOTE: the `ReportRequest` has the size limit of 1MB.\n\nThis method requires the `servicemanagement.services.report` permission\non the specified service. For more information, see\n[Google Cloud IAM](https://cloud.google.com/iam).", + // "description": "Reports operation results to Google Service Control, such as logs and\nmetrics. It should be called after an operation is completed.\n\nIf feasible, the client should aggregate reporting data for up to 5\nseconds to reduce API traffic. Limiting aggregation to 5 seconds is to\nreduce data loss during client crashes. Clients should carefully choose\nthe aggregation time window to avoid data loss risk more than 0.01%\nfor business and compliance reasons.\n\nNOTE: the ReportRequest has the size limit of 1MB.\n\nThis method requires the `servicemanagement.services.report` permission\non the specified service. For more information, see\n[Google Cloud IAM](https://cloud.google.com/iam).", // "flatPath": "v1/services/{serviceName}:report", // "httpMethod": "POST", // "id": "servicecontrol.services.report", @@ -2980,7 +3118,7 @@ func (c *ServicesReportCall) Do(opts ...googleapi.CallOption) (*ReportResponse, // ], // "parameters": { // "serviceName": { - // "description": "The service name as specified in its service configuration. For example,\n`\"pubsub.googleapis.com\"`.\n\nSee google.api.Service for the definition of a service name.", + // "description": "The service name as specified in its service configuration. For example,\n`\"pubsub.googleapis.com\"`.\n\nSee\n[google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service)\nfor the definition of a service name.", // "location": "path", // "required": true, // "type": "string" diff --git a/vendor/google.golang.org/api/servicemanagement/v1/servicemanagement-api.json b/vendor/google.golang.org/api/servicemanagement/v1/servicemanagement-api.json index cb1dcbbe7..6bf82b2f7 100644 --- a/vendor/google.golang.org/api/servicemanagement/v1/servicemanagement-api.json +++ b/vendor/google.golang.org/api/servicemanagement/v1/servicemanagement-api.json @@ -1,1962 +1,10 @@ { - "servicePath": "", - "description": "Google Service Management allows service producers to publish their services on Google Cloud Platform so that they can be discovered and used by service consumers.", - "kind": "discovery#restDescription", - "rootUrl": "https://servicemanagement.googleapis.com/", "basePath": "", - "ownerDomain": "google.com", - "name": "servicemanagement", - "batchPath": "batch", - "revision": "20170626", - "documentationLink": "https://cloud.google.com/service-management/", "id": "servicemanagement:v1", - "title": "Google Service Management API", + "revision": "20170926", + "documentationLink": "https://cloud.google.com/service-management/", "discoveryVersion": "v1", - "ownerName": "Google", - "resources": { - "services": { - "methods": { - "list": { - "response": { - "$ref": "ListServicesResponse" - }, - "parameterOrder": [], - "httpMethod": "GET", - "parameters": { - "consumerId": { - "location": "query", - "description": "Include services consumed by the specified consumer.\n\nThe Google Service Management implementation accepts the following\nforms:\n- project:\u003cproject_id\u003e", - "type": "string" - }, - "pageToken": { - "location": "query", - "description": "Token identifying which result to start with; returned by a previous list\ncall.", - "type": "string" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "Requested size of the next page of data.", - "type": "integer" - }, - "producerProjectId": { - "location": "query", - "description": "Include services produced by the specified project.", - "type": "string" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/service.management", - "https://www.googleapis.com/auth/service.management.readonly" - ], - "flatPath": "v1/services", - "id": "servicemanagement.services.list", - "path": "v1/services", - "description": "Lists managed services.\n\nReturns all public services. For authenticated users, also returns all\nservices the calling user has \"servicemanagement.services.get\" permission\nfor.\n\n**BETA:** If the caller specifies the `consumer_id`, it returns only the\nservices enabled on the consumer. The `consumer_id` must have the format\nof \"project:{PROJECT-ID}\"." - }, - "create": { - "response": { - "$ref": "Operation" - }, - "parameterOrder": [], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/service.management" - ], - "parameters": {}, - "flatPath": "v1/services", - "id": "servicemanagement.services.create", - "path": "v1/services", - "request": { - "$ref": "ManagedService" - }, - "description": "Creates a new managed service.\nPlease note one producer project can own no more than 20 services.\n\nOperation\u003cresponse: ManagedService\u003e" - }, - "generateConfigReport": { - "response": { - "$ref": "GenerateConfigReportResponse" - }, - "parameterOrder": [], - "httpMethod": "POST", - "parameters": {}, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/service.management" - ], - "flatPath": "v1/services:generateConfigReport", - "id": "servicemanagement.services.generateConfigReport", - "path": "v1/services:generateConfigReport", - "description": "Generates and returns a report (errors, warnings and changes from\nexisting configurations) associated with\nGenerateConfigReportRequest.new_value\n\nIf GenerateConfigReportRequest.old_value is specified,\nGenerateConfigReportRequest will contain a single ChangeReport based on the\ncomparison between GenerateConfigReportRequest.new_value and\nGenerateConfigReportRequest.old_value.\nIf GenerateConfigReportRequest.old_value is not specified, this method\nwill compare GenerateConfigReportRequest.new_value with the last pushed\nservice configuration.", - "request": { - "$ref": "GenerateConfigReportRequest" - } - }, - "get": { - "id": "servicemanagement.services.get", - "path": "v1/services/{serviceName}", - "description": "Gets a managed service. Authentication is required unless the service is\npublic.", - "response": { - "$ref": "ManagedService" - }, - "httpMethod": "GET", - "parameterOrder": [ - "serviceName" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/service.management", - "https://www.googleapis.com/auth/service.management.readonly" - ], - "parameters": { - "serviceName": { - "location": "path", - "description": "The name of the service. See the `ServiceManager` overview for naming\nrequirements. For example: `example.googleapis.com`.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/services/{serviceName}" - }, - "testIamPermissions": { - "id": "servicemanagement.services.testIamPermissions", - "path": "v1/{+resource}:testIamPermissions", - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/service.management", - "https://www.googleapis.com/auth/service.management.readonly" - ], - "parameters": { - "resource": { - "location": "path", - "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^services/[^/]+$" - } - }, - "flatPath": "v1/services/{servicesId}:testIamPermissions" - }, - "getConfig": { - "response": { - "$ref": "Service" - }, - "parameterOrder": [ - "serviceName" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/service.management", - "https://www.googleapis.com/auth/service.management.readonly" - ], - "parameters": { - "view": { - "description": "Specifies which parts of the Service Config should be returned in the\nresponse.", - "type": "string", - "location": "query", - "enum": [ - "BASIC", - "FULL" - ] - }, - "serviceName": { - "description": "The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.", - "type": "string", - "required": true, - "location": "path" - }, - "configId": { - "description": "The id of the service configuration resource.", - "type": "string", - "location": "query" - } - }, - "flatPath": "v1/services/{serviceName}/config", - "id": "servicemanagement.services.getConfig", - "path": "v1/services/{serviceName}/config", - "description": "Gets a service configuration (version) for a managed service." - }, - "enable": { - "request": { - "$ref": "EnableServiceRequest" - }, - "description": "Enables a service for a project, so it can be used\nfor the project. See\n[Cloud Auth Guide](https://cloud.google.com/docs/authentication) for\nmore information.\n\nOperation\u003cresponse: EnableServiceResponse\u003e", - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "serviceName" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/service.management" - ], - "parameters": { - "serviceName": { - "type": "string", - "required": true, - "location": "path", - "description": "Name of the service to enable. Specifying an unknown service name will\ncause the request to fail." - } - }, - "flatPath": "v1/services/{serviceName}:enable", - "id": "servicemanagement.services.enable", - "path": "v1/services/{serviceName}:enable" - }, - "delete": { - "id": "servicemanagement.services.delete", - "path": "v1/services/{serviceName}", - "description": "Deletes a managed service. This method will change the service to the\n`Soft-Delete` state for 30 days. Within this period, service producers may\ncall UndeleteService to restore the service.\nAfter 30 days, the service will be permanently deleted.\n\nOperation\u003cresponse: google.protobuf.Empty\u003e", - "parameterOrder": [ - "serviceName" - ], - "response": { - "$ref": "Operation" - }, - "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/service.management" - ], - "parameters": { - "serviceName": { - "description": "The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.", - "type": "string", - "required": true, - "location": "path" - } - }, - "flatPath": "v1/services/{serviceName}" - }, - "setIamPolicy": { - "response": { - "$ref": "Policy" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^services/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/service.management" - ], - "flatPath": "v1/services/{servicesId}:setIamPolicy", - "id": "servicemanagement.services.setIamPolicy", - "path": "v1/{+resource}:setIamPolicy", - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", - "request": { - "$ref": "SetIamPolicyRequest" - } - }, - "disable": { - "description": "Disables a service for a project, so it can no longer be\nbe used for the project. It prevents accidental usage that may cause\nunexpected billing charges or security leaks.\n\nOperation\u003cresponse: DisableServiceResponse\u003e", - "request": { - "$ref": "DisableServiceRequest" - }, - "httpMethod": "POST", - "parameterOrder": [ - "serviceName" - ], - "response": { - "$ref": "Operation" - }, - "parameters": { - "serviceName": { - "location": "path", - "description": "Name of the service to disable. Specifying an unknown service name\nwill cause the request to fail.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/service.management" - ], - "flatPath": "v1/services/{serviceName}:disable", - "path": "v1/services/{serviceName}:disable", - "id": "servicemanagement.services.disable" - }, - "getIamPolicy": { - "response": { - "$ref": "Policy" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "parameters": { - "resource": { - "type": "string", - "required": true, - "pattern": "^services/[^/]+$", - "location": "path", - "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field." - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/service.management", - "https://www.googleapis.com/auth/service.management.readonly" - ], - "flatPath": "v1/services/{servicesId}:getIamPolicy", - "id": "servicemanagement.services.getIamPolicy", - "path": "v1/{+resource}:getIamPolicy", - "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", - "request": { - "$ref": "GetIamPolicyRequest" - } - }, - "undelete": { - "flatPath": "v1/services/{serviceName}:undelete", - "id": "servicemanagement.services.undelete", - "path": "v1/services/{serviceName}:undelete", - "description": "Revives a previously deleted managed service. The method restores the\nservice using the configuration at the time the service was deleted.\nThe target service must exist and must have been deleted within the\nlast 30 days.\n\nOperation\u003cresponse: UndeleteServiceResponse\u003e", - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "serviceName" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/service.management" - ], - "parameters": { - "serviceName": { - "description": "The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.", - "type": "string", - "required": true, - "location": "path" - } - } - } - }, - "resources": { - "consumers": { - "methods": { - "setIamPolicy": { - "response": { - "$ref": "Policy" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^services/[^/]+/consumers/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/service.management" - ], - "flatPath": "v1/services/{servicesId}/consumers/{consumersId}:setIamPolicy", - "id": "servicemanagement.services.consumers.setIamPolicy", - "path": "v1/{+resource}:setIamPolicy", - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", - "request": { - "$ref": "SetIamPolicyRequest" - } - }, - "testIamPermissions": { - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/service.management", - "https://www.googleapis.com/auth/service.management.readonly" - ], - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^services/[^/]+/consumers/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1/services/{servicesId}/consumers/{consumersId}:testIamPermissions", - "id": "servicemanagement.services.consumers.testIamPermissions", - "path": "v1/{+resource}:testIamPermissions", - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning." - }, - "getIamPolicy": { - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/service.management", - "https://www.googleapis.com/auth/service.management.readonly" - ], - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^services/[^/]+/consumers/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1/services/{servicesId}/consumers/{consumersId}:getIamPolicy", - "path": "v1/{+resource}:getIamPolicy", - "id": "servicemanagement.services.consumers.getIamPolicy", - "request": { - "$ref": "GetIamPolicyRequest" - }, - "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset." - } - } - }, - "rollouts": { - "methods": { - "get": { - "description": "Gets a service configuration rollout.", - "response": { - "$ref": "Rollout" - }, - "parameterOrder": [ - "serviceName", - "rolloutId" - ], - "httpMethod": "GET", - "parameters": { - "serviceName": { - "location": "path", - "description": "The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.", - "type": "string", - "required": true - }, - "rolloutId": { - "description": "The id of the rollout resource.", - "type": "string", - "required": true, - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/service.management", - "https://www.googleapis.com/auth/service.management.readonly" - ], - "flatPath": "v1/services/{serviceName}/rollouts/{rolloutId}", - "id": "servicemanagement.services.rollouts.get", - "path": "v1/services/{serviceName}/rollouts/{rolloutId}" - }, - "list": { - "response": { - "$ref": "ListServiceRolloutsResponse" - }, - "parameterOrder": [ - "serviceName" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/service.management", - "https://www.googleapis.com/auth/service.management.readonly" - ], - "parameters": { - "filter": { - "location": "query", - "description": "Use `filter` to return subset of rollouts.\nThe following filters are supported:\n -- To limit the results to only those in\n [status](google.api.servicemanagement.v1.RolloutStatus) 'SUCCESS',\n use filter='status=SUCCESS'\n -- To limit the results to those in\n [status](google.api.servicemanagement.v1.RolloutStatus) 'CANCELLED'\n or 'FAILED', use filter='status=CANCELLED OR status=FAILED'", - "type": "string" - }, - "serviceName": { - "location": "path", - "description": "The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.", - "type": "string", - "required": true - }, - "pageToken": { - "description": "The token of the page to retrieve.", - "type": "string", - "location": "query" - }, - "pageSize": { - "type": "integer", - "location": "query", - "format": "int32", - "description": "The max number of items to include in the response list." - } - }, - "flatPath": "v1/services/{serviceName}/rollouts", - "id": "servicemanagement.services.rollouts.list", - "path": "v1/services/{serviceName}/rollouts", - "description": "Lists the history of the service configuration rollouts for a managed\nservice, from the newest to the oldest." - }, - "create": { - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "serviceName" - ], - "httpMethod": "POST", - "parameters": { - "serviceName": { - "location": "path", - "description": "The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/service.management" - ], - "flatPath": "v1/services/{serviceName}/rollouts", - "id": "servicemanagement.services.rollouts.create", - "path": "v1/services/{serviceName}/rollouts", - "description": "Creates a new service configuration rollout. Based on rollout, the\nGoogle Service Management will roll out the service configurations to\ndifferent backend services. For example, the logging configuration will be\npushed to Google Cloud Logging.\n\nPlease note that any previous pending and running Rollouts and associated\nOperations will be automatically cancelled so that the latest Rollout will\nnot be blocked by previous Rollouts.\n\nOperation\u003cresponse: Rollout\u003e", - "request": { - "$ref": "Rollout" - } - } - } - }, - "configs": { - "methods": { - "get": { - "description": "Gets a service configuration (version) for a managed service.", - "httpMethod": "GET", - "response": { - "$ref": "Service" - }, - "parameterOrder": [ - "serviceName", - "configId" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/service.management", - "https://www.googleapis.com/auth/service.management.readonly" - ], - "parameters": { - "serviceName": { - "description": "The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.", - "type": "string", - "required": true, - "location": "path" - }, - "configId": { - "description": "The id of the service configuration resource.", - "type": "string", - "required": true, - "location": "path" - }, - "view": { - "location": "query", - "enum": [ - "BASIC", - "FULL" - ], - "description": "Specifies which parts of the Service Config should be returned in the\nresponse.", - "type": "string" - } - }, - "flatPath": "v1/services/{serviceName}/configs/{configId}", - "path": "v1/services/{serviceName}/configs/{configId}", - "id": "servicemanagement.services.configs.get" - }, - "list": { - "flatPath": "v1/services/{serviceName}/configs", - "id": "servicemanagement.services.configs.list", - "path": "v1/services/{serviceName}/configs", - "description": "Lists the history of the service configuration for a managed service,\nfrom the newest to the oldest.", - "response": { - "$ref": "ListServiceConfigsResponse" - }, - "parameterOrder": [ - "serviceName" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only", - "https://www.googleapis.com/auth/service.management", - "https://www.googleapis.com/auth/service.management.readonly" - ], - "parameters": { - "serviceName": { - "location": "path", - "description": "The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.", - "type": "string", - "required": true - }, - "pageToken": { - "description": "The token of the page to retrieve.", - "type": "string", - "location": "query" - }, - "pageSize": { - "format": "int32", - "description": "The max number of items to include in the response list.", - "type": "integer", - "location": "query" - } - } - }, - "create": { - "response": { - "$ref": "Service" - }, - "parameterOrder": [ - "serviceName" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/service.management" - ], - "parameters": { - "serviceName": { - "location": "path", - "description": "The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/services/{serviceName}/configs", - "id": "servicemanagement.services.configs.create", - "path": "v1/services/{serviceName}/configs", - "request": { - "$ref": "Service" - }, - "description": "Creates a new service configuration (version) for a managed service.\nThis method only stores the service configuration. To roll out the service\nconfiguration to backend systems please call\nCreateServiceRollout." - }, - "submit": { - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "serviceName" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/service.management" - ], - "parameters": { - "serviceName": { - "type": "string", - "required": true, - "location": "path", - "description": "The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`." - } - }, - "flatPath": "v1/services/{serviceName}/configs:submit", - "id": "servicemanagement.services.configs.submit", - "path": "v1/services/{serviceName}/configs:submit", - "request": { - "$ref": "SubmitConfigSourceRequest" - }, - "description": "Creates a new service configuration (version) for a managed service based\non\nuser-supplied configuration source files (for example: OpenAPI\nSpecification). This method stores the source configurations as well as the\ngenerated service configuration. To rollout the service configuration to\nother services,\nplease call CreateServiceRollout.\n\nOperation\u003cresponse: SubmitConfigSourceResponse\u003e" - } - } - } - } - }, - "operations": { - "methods": { - "get": { - "parameters": { - "name": { - "type": "string", - "required": true, - "pattern": "^operations/.+$", - "location": "path", - "description": "The name of the operation resource." - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/service.management" - ], - "flatPath": "v1/operations/{operationsId}", - "id": "servicemanagement.operations.get", - "path": "v1/{+name}", - "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET" - }, - "list": { - "path": "v1/operations", - "id": "servicemanagement.operations.list", - "description": "Lists service operations that match the specified filter in the request.", - "httpMethod": "GET", - "parameterOrder": [], - "response": { - "$ref": "ListOperationsResponse" - }, - "parameters": { - "filter": { - "location": "query", - "description": "A string for filtering Operations.\n The following filter fields are supported:\n\n * serviceName: Required. Only `=` operator is allowed.\n * startTime: The time this job was started, in ISO 8601 format.\n Allowed operators are `\u003e=`, `\u003e`, `\u003c=`, and `\u003c`.\n * status: Can be `done`, `in_progress`, or `failed`. Allowed\n operators are `=`, and `!=`.\n\n Filter expression supports conjunction (AND) and disjunction (OR)\n logical operators. However, the serviceName restriction must be at the\n top-level and can only be combined with other restrictions via the AND\n logical operator.\n\n Examples:\n\n * `serviceName={some-service}.googleapis.com`\n * `serviceName={some-service}.googleapis.com AND startTime\u003e=\"2017-02-01\"`\n * `serviceName={some-service}.googleapis.com AND status=done`\n * `serviceName={some-service}.googleapis.com AND (status=done OR startTime\u003e=\"2017-02-01\")`", - "type": "string" - }, - "pageToken": { - "type": "string", - "location": "query", - "description": "The standard list page token." - }, - "name": { - "location": "query", - "description": "Not used.", - "type": "string" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "The maximum number of operations to return. If unspecified, defaults to\n50. The maximum value is 100.", - "type": "integer" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/service.management" - ], - "flatPath": "v1/operations" - } - } - } - }, - "parameters": { - "quotaUser": { - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string", - "location": "query" - }, - "pp": { - "location": "query", - "description": "Pretty-print response.", - "default": "true", - "type": "boolean" - }, - "oauth_token": { - "location": "query", - "description": "OAuth 2.0 token for the current user.", - "type": "string" - }, - "bearer_token": { - "location": "query", - "description": "OAuth bearer token.", - "type": "string" - }, - "upload_protocol": { - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string", - "location": "query" - }, - "prettyPrint": { - "location": "query", - "description": "Returns response with indentations and line breaks.", - "default": "true", - "type": "boolean" - }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string", - "location": "query" - }, - "fields": { - "location": "query", - "description": "Selector specifying which fields to include in a partial response.", - "type": "string" - }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, - "$.xgafv": { - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" - ], - "description": "V1 error format.", - "type": "string" - }, - "alt": { - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], - "type": "string", - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query" - }, - "access_token": { - "description": "OAuth access token.", - "type": "string", - "location": "query" - }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - } - }, "schemas": { - "QuotaLimit": { - "id": "QuotaLimit", - "description": "`QuotaLimit` defines a specific limit that applies over a specified duration\nfor a limit type. There can be at most one limit for a duration and limit\ntype combination defined within a `QuotaGroup`.", - "type": "object", - "properties": { - "freeTier": { - "format": "int64", - "description": "Free tier value displayed in the Developers Console for this limit.\nThe free tier is the number of tokens that will be subtracted from the\nbilled amount when billing is enabled.\nThis field can only be set on a limit with duration \"1d\", in a billable\ngroup; it is invalid on any other limit. If this field is not set, it\ndefaults to 0, indicating that there is no free tier for this service.\n\nUsed by group-based quotas only.", - "type": "string" - }, - "duration": { - "description": "Duration of this limit in textual notation. Example: \"100s\", \"24h\", \"1d\".\nFor duration longer than a day, only multiple of days is supported. We\nsupport only \"100s\" and \"1d\" for now. Additional support will be added in\nthe future. \"0\" indicates indefinite duration.\n\nUsed by group-based quotas only.", - "type": "string" - }, - "defaultLimit": { - "format": "int64", - "description": "Default number of tokens that can be consumed during the specified\nduration. This is the number of tokens assigned when a client\napplication developer activates the service for his/her project.\n\nSpecifying a value of 0 will block all requests. This can be used if you\nare provisioning quota to selected consumers and blocking others.\nSimilarly, a value of -1 will indicate an unlimited quota. No other\nnegative values are allowed.\n\nUsed by group-based quotas only.", - "type": "string" - }, - "description": { - "description": "Optional. User-visible, extended description for this quota limit.\nShould be used only when more context is needed to understand this limit\nthan provided by the limit's display name (see: `display_name`).", - "type": "string" - }, - "displayName": { - "description": "User-visible display name for this limit.\nOptional. If not set, the UI will provide a default display name based on\nthe quota configuration. This field can be used to override the default\ndisplay name generated from the configuration.", - "type": "string" - }, - "metric": { - "description": "The name of the metric this quota limit applies to. The quota limits with\nthe same metric will be checked together during runtime. The metric must be\ndefined within the service config.\n\nUsed by metric-based quotas only.", - "type": "string" - }, - "values": { - "additionalProperties": { - "format": "int64", - "type": "string" - }, - "description": "Tiered limit values, currently only STANDARD is supported.", - "type": "object" - }, - "unit": { - "description": "Specify the unit of the quota limit. It uses the same syntax as\nMetric.unit. The supported unit kinds are determined by the quota\nbackend system.\n\nThe [Google Service Control](https://cloud.google.com/service-control)\nsupports the following unit components:\n* One of the time intevals:\n * \"/min\" for quota every minute.\n * \"/d\" for quota every 24 hours, starting 00:00 US Pacific Time.\n * Otherwise the quota won't be reset by time, such as storage limit.\n* One and only one of the granted containers:\n * \"/{project}\" quota for a project\n\nHere are some examples:\n* \"1/min/{project}\" for quota per minute per project.\n\nNote: the order of unit components is insignificant.\nThe \"1\" at the beginning is required to follow the metric unit syntax.\n\nUsed by metric-based quotas only.", - "type": "string" - }, - "maxLimit": { - "format": "int64", - "description": "Maximum number of tokens that can be consumed during the specified\nduration. Client application developers can override the default limit up\nto this maximum. If specified, this value cannot be set to a value less\nthan the default limit. If not specified, it is set to the default limit.\n\nTo allow clients to apply overrides with no upper bound, set this to -1,\nindicating unlimited maximum quota.\n\nUsed by group-based quotas only.", - "type": "string" - }, - "name": { - "description": "Name of the quota limit. The name is used to refer to the limit when\noverriding the default limit on per-consumer basis.\n\nFor metric-based quota limits, the name must be provided, and it must be\nunique within the service. The name can only include alphanumeric\ncharacters as well as '-'.\n\nThe maximum length of the limit name is 64 characters.\n\nThe name of a limit is used as a unique identifier for this limit.\nTherefore, once a limit has been put into use, its name should be\nimmutable. You can use the display_name field to provide a user-friendly\nname for the limit. The display name can be evolved over time without\naffecting the identity of the limit.", - "type": "string" - } - } - }, - "Method": { - "description": "Method represents a method of an api.", - "type": "object", - "properties": { - "options": { - "description": "Any metadata attached to the method.", - "items": { - "$ref": "Option" - }, - "type": "array" - }, - "responseStreaming": { - "description": "If true, the response is streamed.", - "type": "boolean" - }, - "name": { - "description": "The simple name of this method.", - "type": "string" - }, - "requestTypeUrl": { - "description": "A URL of the input message type.", - "type": "string" - }, - "requestStreaming": { - "description": "If true, the request is streamed.", - "type": "boolean" - }, - "syntax": { - "enumDescriptions": [ - "Syntax `proto2`.", - "Syntax `proto3`." - ], - "enum": [ - "SYNTAX_PROTO2", - "SYNTAX_PROTO3" - ], - "description": "The source syntax of this method.", - "type": "string" - }, - "responseTypeUrl": { - "description": "The URL of the output message type.", - "type": "string" - } - }, - "id": "Method" - }, - "ConfigRef": { - "properties": { - "name": { - "description": "Resource name of a service config. It must have the following\nformat: \"services/{service name}/configs/{config id}\".", - "type": "string" - } - }, - "id": "ConfigRef", - "description": "Represents a service configuration with its name and id.", - "type": "object" - }, - "ListServiceRolloutsResponse": { - "description": "Response message for ListServiceRollouts method.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "The token of the next page of results.", - "type": "string" - }, - "rollouts": { - "description": "The list of rollout resources.", - "items": { - "$ref": "Rollout" - }, - "type": "array" - } - }, - "id": "ListServiceRolloutsResponse" - }, - "Mixin": { - "id": "Mixin", - "description": "Declares an API to be included in this API. The including API must\nredeclare all the methods from the included API, but documentation\nand options are inherited as follows:\n\n- If after comment and whitespace stripping, the documentation\n string of the redeclared method is empty, it will be inherited\n from the original method.\n\n- Each annotation belonging to the service config (http,\n visibility) which is not set in the redeclared method will be\n inherited.\n\n- If an http annotation is inherited, the path pattern will be\n modified as follows. Any version prefix will be replaced by the\n version of the including API plus the root path if specified.\n\nExample of a simple mixin:\n\n package google.acl.v1;\n service AccessControl {\n // Get the underlying ACL object.\n rpc GetAcl(GetAclRequest) returns (Acl) {\n option (google.api.http).get = \"/v1/{resource=**}:getAcl\";\n }\n }\n\n package google.storage.v2;\n service Storage {\n // rpc GetAcl(GetAclRequest) returns (Acl);\n\n // Get a data record.\n rpc GetData(GetDataRequest) returns (Data) {\n option (google.api.http).get = \"/v2/{resource=**}\";\n }\n }\n\nExample of a mixin configuration:\n\n apis:\n - name: google.storage.v2.Storage\n mixins:\n - name: google.acl.v1.AccessControl\n\nThe mixin construct implies that all methods in `AccessControl` are\nalso declared with same name and request/response types in\n`Storage`. A documentation generator or annotation processor will\nsee the effective `Storage.GetAcl` method after inherting\ndocumentation and annotations as follows:\n\n service Storage {\n // Get the underlying ACL object.\n rpc GetAcl(GetAclRequest) returns (Acl) {\n option (google.api.http).get = \"/v2/{resource=**}:getAcl\";\n }\n ...\n }\n\nNote how the version in the path pattern changed from `v1` to `v2`.\n\nIf the `root` field in the mixin is specified, it should be a\nrelative path under which inherited HTTP paths are placed. Example:\n\n apis:\n - name: google.storage.v2.Storage\n mixins:\n - name: google.acl.v1.AccessControl\n root: acls\n\nThis implies the following inherited HTTP annotation:\n\n service Storage {\n // Get the underlying ACL object.\n rpc GetAcl(GetAclRequest) returns (Acl) {\n option (google.api.http).get = \"/v2/acls/{resource=**}:getAcl\";\n }\n ...\n }", - "type": "object", - "properties": { - "name": { - "description": "The fully qualified name of the API which is included.", - "type": "string" - }, - "root": { - "description": "If non-empty specifies a path under which inherited HTTP paths\nare rooted.", - "type": "string" - } - } - }, - "FlowOperationMetadata": { - "description": "The metadata associated with a long running operation resource.", - "type": "object", - "properties": { - "resourceNames": { - "description": "The full name of the resources that this flow is directly associated with.", - "items": { - "type": "string" - }, - "type": "array" - }, - "flowName": { - "description": "The name of the top-level flow corresponding to this operation.\nMust be equal to the \"name\" field for a FlowName enum.", - "type": "string" - }, - "deadline": { - "format": "google-datetime", - "description": "Deadline for the flow to complete, to prevent orphaned Operations.\n\nIf the flow has not completed by this time, it may be terminated by\nthe engine, or force-failed by Operation lookup.\n\nNote that this is not a hard deadline after which the Flow will\ndefinitely be failed, rather it is a deadline after which it is reasonable\nto suspect a problem and other parts of the system may kill operation\nto ensure we don't have orphans.\nsee also: go/prevent-orphaned-operations", - "type": "string" - }, - "cancelState": { - "description": "The state of the operation with respect to cancellation.", - "type": "string", - "enumDescriptions": [ - "Default state, cancellable but not cancelled.", - "The operation has proceeded past the point of no return and cannot\nbe cancelled.", - "The operation has been cancelled, work should cease\nand any needed rollback steps executed." - ], - "enum": [ - "RUNNING", - "UNCANCELLABLE", - "CANCELLED" - ] - }, - "startTime": { - "format": "google-datetime", - "description": "The start time of the operation.", - "type": "string" - } - }, - "id": "FlowOperationMetadata" - }, - "CustomError": { - "description": "Customize service error responses. For example, list any service\nspecific protobuf types that can appear in error detail lists of\nerror responses.\n\nExample:\n\n custom_error:\n types:\n - google.foo.v1.CustomError\n - google.foo.v1.AnotherError", - "type": "object", - "properties": { - "types": { - "description": "The list of custom error detail types, e.g. 'google.foo.v1.CustomError'.", - "items": { - "type": "string" - }, - "type": "array" - }, - "rules": { - "description": "The list of custom error rules that apply to individual API messages.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.", - "items": { - "$ref": "CustomErrorRule" - }, - "type": "array" - } - }, - "id": "CustomError" - }, - "CounterOptions": { - "type": "object", - "properties": { - "field": { - "description": "The field value to attribute.", - "type": "string" - }, - "metric": { - "description": "The metric to update.", - "type": "string" - } - }, - "id": "CounterOptions", - "description": "Options for counters" - }, - "Http": { - "description": "Defines the HTTP configuration for an API service. It contains a list of\nHttpRule, each specifying the mapping of an RPC method\nto one or more HTTP REST API methods.", - "type": "object", - "properties": { - "fullyDecodeReservedExpansion": { - "description": "When set to true, URL path parmeters will be fully URI-decoded except in\ncases of single segment matches in reserved expansion, where \"%2F\" will be\nleft encoded.\n\nThe default behavior is to not decode RFC 6570 reserved characters in multi\nsegment matches.", - "type": "boolean" - }, - "rules": { - "description": "A list of HTTP configuration rules that apply to individual API methods.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.", - "items": { - "$ref": "HttpRule" - }, - "type": "array" - } - }, - "id": "Http" - }, - "SourceInfo": { - "description": "Source information used to create a Service Config", - "type": "object", - "properties": { - "sourceFiles": { - "description": "All files used during config generation.", - "items": { - "type": "object", - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - } - }, - "type": "array" - } - }, - "id": "SourceInfo" - }, - "Control": { - "description": "Selects and configures the service controller used by the service. The\nservice controller handles features like abuse, quota, billing, logging,\nmonitoring, etc.", - "type": "object", - "properties": { - "environment": { - "description": "The service control environment to use. If empty, no control plane\nfeature (like quota and billing) will be enabled.", - "type": "string" - } - }, - "id": "Control" - }, - "SystemParameter": { - "description": "Define a parameter's name and location. The parameter may be passed as either\nan HTTP header or a URL query parameter, and if both are passed the behavior\nis implementation-dependent.", - "type": "object", - "properties": { - "name": { - "description": "Define the name of the parameter, such as \"api_key\" . It is case sensitive.", - "type": "string" - }, - "urlQueryParameter": { - "description": "Define the URL query parameter name to use for the parameter. It is case\nsensitive.", - "type": "string" - }, - "httpHeader": { - "description": "Define the HTTP header name to use for the parameter. It is case\ninsensitive.", - "type": "string" - } - }, - "id": "SystemParameter" - }, - "Field": { - "description": "A single field of a message type.", - "type": "object", - "properties": { - "name": { - "description": "The field name.", - "type": "string" - }, - "typeUrl": { - "description": "The field type URL, without the scheme, for message or enumeration\ntypes. Example: `\"type.googleapis.com/google.protobuf.Timestamp\"`.", - "type": "string" - }, - "number": { - "format": "int32", - "description": "The field number.", - "type": "integer" - }, - "jsonName": { - "type": "string", - "description": "The field JSON name." - }, - "kind": { - "type": "string", - "enumDescriptions": [ - "Field type unknown.", - "Field type double.", - "Field type float.", - "Field type int64.", - "Field type uint64.", - "Field type int32.", - "Field type fixed64.", - "Field type fixed32.", - "Field type bool.", - "Field type string.", - "Field type group. Proto2 syntax only, and deprecated.", - "Field type message.", - "Field type bytes.", - "Field type uint32.", - "Field type enum.", - "Field type sfixed32.", - "Field type sfixed64.", - "Field type sint32.", - "Field type sint64." - ], - "enum": [ - "TYPE_UNKNOWN", - "TYPE_DOUBLE", - "TYPE_FLOAT", - "TYPE_INT64", - "TYPE_UINT64", - "TYPE_INT32", - "TYPE_FIXED64", - "TYPE_FIXED32", - "TYPE_BOOL", - "TYPE_STRING", - "TYPE_GROUP", - "TYPE_MESSAGE", - "TYPE_BYTES", - "TYPE_UINT32", - "TYPE_ENUM", - "TYPE_SFIXED32", - "TYPE_SFIXED64", - "TYPE_SINT32", - "TYPE_SINT64" - ], - "description": "The field type." - }, - "options": { - "description": "The protocol buffer options.", - "items": { - "$ref": "Option" - }, - "type": "array" - }, - "oneofIndex": { - "format": "int32", - "description": "The index of the field type in `Type.oneofs`, for message or enumeration\ntypes. The first type has index 1; zero means the type is not in the list.", - "type": "integer" - }, - "packed": { - "description": "Whether to use alternative packed wire representation.", - "type": "boolean" - }, - "cardinality": { - "enum": [ - "CARDINALITY_UNKNOWN", - "CARDINALITY_OPTIONAL", - "CARDINALITY_REQUIRED", - "CARDINALITY_REPEATED" - ], - "description": "The field cardinality.", - "type": "string", - "enumDescriptions": [ - "For fields with unknown cardinality.", - "For optional fields.", - "For required fields. Proto2 syntax only.", - "For repeated fields." - ] - }, - "defaultValue": { - "description": "The string value of the default value of this field. Proto2 syntax only.", - "type": "string" - } - }, - "id": "Field" - }, - "Monitoring": { - "type": "object", - "properties": { - "consumerDestinations": { - "description": "Monitoring configurations for sending metrics to the consumer project.\nThere can be multiple consumer destinations, each one must have a\ndifferent monitored resource type. A metric can be used in at most\none consumer destination.", - "items": { - "$ref": "MonitoringDestination" - }, - "type": "array" - }, - "producerDestinations": { - "items": { - "$ref": "MonitoringDestination" - }, - "type": "array", - "description": "Monitoring configurations for sending metrics to the producer project.\nThere can be multiple producer destinations, each one must have a\ndifferent monitored resource type. A metric can be used in at most\none producer destination." - } - }, - "id": "Monitoring", - "description": "Monitoring configuration of the service.\n\nThe example below shows how to configure monitored resources and metrics\nfor monitoring. In the example, a monitored resource and two metrics are\ndefined. The `library.googleapis.com/book/returned_count` metric is sent\nto both producer and consumer projects, whereas the\n`library.googleapis.com/book/overdue_count` metric is only sent to the\nconsumer project.\n\n monitored_resources:\n - type: library.googleapis.com/branch\n labels:\n - key: /city\n description: The city where the library branch is located in.\n - key: /name\n description: The name of the branch.\n metrics:\n - name: library.googleapis.com/book/returned_count\n metric_kind: DELTA\n value_type: INT64\n labels:\n - key: /customer_id\n - name: library.googleapis.com/book/overdue_count\n metric_kind: GAUGE\n value_type: INT64\n labels:\n - key: /customer_id\n monitoring:\n producer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/returned_count\n consumer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/returned_count\n - library.googleapis.com/book/overdue_count" - }, - "TestIamPermissionsRequest": { - "type": "object", - "properties": { - "permissions": { - "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "TestIamPermissionsRequest", - "description": "Request message for `TestIamPermissions` method." - }, - "Enum": { - "description": "Enum type definition.", - "type": "object", - "properties": { - "enumvalue": { - "description": "Enum value definitions.", - "items": { - "$ref": "EnumValue" - }, - "type": "array" - }, - "name": { - "description": "Enum type name.", - "type": "string" - }, - "options": { - "description": "Protocol buffer options.", - "items": { - "$ref": "Option" - }, - "type": "array" - }, - "syntax": { - "description": "The source syntax.", - "type": "string", - "enumDescriptions": [ - "Syntax `proto2`.", - "Syntax `proto3`." - ], - "enum": [ - "SYNTAX_PROTO2", - "SYNTAX_PROTO3" - ] - }, - "sourceContext": { - "description": "The source context.", - "$ref": "SourceContext" - } - }, - "id": "Enum" - }, - "LabelDescriptor": { - "description": "A description of a label.", - "type": "object", - "properties": { - "key": { - "description": "The label key.", - "type": "string" - }, - "description": { - "description": "A human-readable description for the label.", - "type": "string" - }, - "valueType": { - "enumDescriptions": [ - "A variable-length string. This is the default.", - "Boolean; true or false.", - "A 64-bit signed integer." - ], - "enum": [ - "STRING", - "BOOL", - "INT64" - ], - "description": "The type of data that can be assigned to the label.", - "type": "string" - } - }, - "id": "LabelDescriptor" - }, - "Diagnostic": { - "id": "Diagnostic", - "description": "Represents a diagnostic message (error or warning)", - "type": "object", - "properties": { - "location": { - "description": "File name and line number of the error or warning.", - "type": "string" - }, - "kind": { - "type": "string", - "enumDescriptions": [ - "Warnings and errors", - "Only errors" - ], - "enum": [ - "WARNING", - "ERROR" - ], - "description": "The kind of diagnostic information provided." - }, - "message": { - "description": "Message describing the error or warning.", - "type": "string" - } - } - }, - "EnableServiceRequest": { - "description": "Request message for EnableService method.", - "type": "object", - "properties": { - "consumerId": { - "description": "The identity of consumer resource which service enablement will be\napplied to.\n\nThe Google Service Management implementation accepts the following\nforms:\n- \"project:\u003cproject_id\u003e\"\n\nNote: this is made compatible with\ngoogle.api.servicecontrol.v1.Operation.consumer_id.", - "type": "string" - } - }, - "id": "EnableServiceRequest" - }, - "Type": { - "description": "A protocol buffer message type.", - "type": "object", - "properties": { - "syntax": { - "enumDescriptions": [ - "Syntax `proto2`.", - "Syntax `proto3`." - ], - "enum": [ - "SYNTAX_PROTO2", - "SYNTAX_PROTO3" - ], - "description": "The source syntax.", - "type": "string" - }, - "sourceContext": { - "description": "The source context.", - "$ref": "SourceContext" - }, - "options": { - "description": "The protocol buffer options.", - "items": { - "$ref": "Option" - }, - "type": "array" - }, - "fields": { - "description": "The list of fields.", - "items": { - "$ref": "Field" - }, - "type": "array" - }, - "name": { - "description": "The fully qualified message name.", - "type": "string" - }, - "oneofs": { - "description": "The list of types appearing in `oneof` definitions in this type.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "Type" - }, - "GenerateConfigReportResponse": { - "description": "Response message for GenerateConfigReport method.", - "type": "object", - "properties": { - "serviceName": { - "description": "Name of the service this report belongs to.", - "type": "string" - }, - "changeReports": { - "description": "list of ChangeReport, each corresponding to comparison between two\nservice configurations.", - "items": { - "$ref": "ChangeReport" - }, - "type": "array" - }, - "id": { - "description": "ID of the service configuration this report belongs to.", - "type": "string" - }, - "diagnostics": { - "description": "Errors / Linter warnings associated with the service definition this\nreport\nbelongs to.", - "items": { - "$ref": "Diagnostic" - }, - "type": "array" - } - }, - "id": "GenerateConfigReportResponse" - }, - "ListServiceConfigsResponse": { - "description": "Response message for ListServiceConfigs method.", - "type": "object", - "properties": { - "serviceConfigs": { - "description": "The list of service configuration resources.", - "items": { - "$ref": "Service" - }, - "type": "array" - }, - "nextPageToken": { - "description": "The token of the next page of results.", - "type": "string" - } - }, - "id": "ListServiceConfigsResponse" - }, - "Experimental": { - "id": "Experimental", - "description": "Experimental service configuration. These configuration options can\nonly be used by whitelisted users.", - "type": "object", - "properties": { - "authorization": { - "$ref": "AuthorizationConfig", - "description": "Authorization configuration." - } - } - }, - "Backend": { - "type": "object", - "properties": { - "rules": { - "description": "A list of API backend rules that apply to individual API methods.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.", - "items": { - "$ref": "BackendRule" - }, - "type": "array" - } - }, - "id": "Backend", - "description": "`Backend` defines the backend configuration for a service." - }, - "AuditConfig": { - "properties": { - "service": { - "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", - "type": "string" - }, - "auditLogConfigs": { - "description": "The configuration for logging of each type of permission.\nNext ID: 4", - "items": { - "$ref": "AuditLogConfig" - }, - "type": "array" - }, - "exemptedMembers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "AuditConfig", - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"fooservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:bar@gmail.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts foo@gmail.com from DATA_READ logging, and\nbar@gmail.com from DATA_WRITE logging.", - "type": "object" - }, - "SubmitConfigSourceRequest": { - "properties": { - "validateOnly": { - "description": "Optional. If set, this will result in the generation of a\n`google.api.Service` configuration based on the `ConfigSource` provided,\nbut the generated config and the sources will NOT be persisted.", - "type": "boolean" - }, - "configSource": { - "$ref": "ConfigSource", - "description": "The source configuration for the service." - } - }, - "id": "SubmitConfigSourceRequest", - "description": "Request message for SubmitConfigSource method.", - "type": "object" - }, - "AuthorizationConfig": { - "description": "Configuration of authorization.\n\nThis section determines the authorization provider, if unspecified, then no\nauthorization check will be done.\n\nExample:\n\n experimental:\n authorization:\n provider: firebaserules.googleapis.com", - "type": "object", - "properties": { - "provider": { - "description": "The name of the authorization provider, such as\nfirebaserules.googleapis.com.", - "type": "string" - } - }, - "id": "AuthorizationConfig" - }, - "DocumentationRule": { - "type": "object", - "properties": { - "description": { - "description": "Description of the selected API(s).", - "type": "string" - }, - "deprecationDescription": { - "description": "Deprecation description of the selected element(s). It can be provided if an\nelement is marked as `deprecated`.", - "type": "string" - }, - "selector": { - "description": "The selector is a comma-separated list of patterns. Each pattern is a\nqualified name of the element which may end in \"*\", indicating a wildcard.\nWildcards are only allowed at the end and for a whole component of the\nqualified name, i.e. \"foo.*\" is ok, but not \"foo.b*\" or \"foo.*.bar\". To\nspecify a default for all applicable elements, the whole pattern \"*\"\nis used.", - "type": "string" - } - }, - "id": "DocumentationRule", - "description": "A documentation rule provides information about individual API elements." - }, - "CloudAuditOptions": { - "description": "Write a Cloud Audit log", - "type": "object", - "properties": { - "logName": { - "enumDescriptions": [ - "Default. Should not be used.", - "Corresponds to \"cloudaudit.googleapis.com/activity\"", - "Corresponds to \"cloudaudit.googleapis.com/data_access\"" - ], - "enum": [ - "UNSPECIFIED_LOG_NAME", - "ADMIN_ACTIVITY", - "DATA_ACCESS" - ], - "description": "The log_name to populate in the Cloud Audit Record.", - "type": "string" - } - }, - "id": "CloudAuditOptions" - }, - "ContextRule": { - "id": "ContextRule", - "description": "A context rule provides information about the context for an individual API\nelement.", - "type": "object", - "properties": { - "selector": { - "type": "string", - "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details." - }, - "provided": { - "description": "A list of full type names of provided contexts.", - "items": { - "type": "string" - }, - "type": "array" - }, - "requested": { - "items": { - "type": "string" - }, - "type": "array", - "description": "A list of full type names of requested contexts." - } - } - }, - "MetricDescriptor": { - "description": "Defines a metric type and its schema. Once a metric descriptor is created,\ndeleting or altering it stops data collection and makes the metric type's\nexisting data unusable.", - "type": "object", - "properties": { - "unit": { - "description": "The unit in which the metric value is reported. It is only applicable\nif the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The\nsupported units are a subset of [The Unified Code for Units of\nMeasure](http://unitsofmeasure.org/ucum.html) standard:\n\n**Basic units (UNIT)**\n\n* `bit` bit\n* `By` byte\n* `s` second\n* `min` minute\n* `h` hour\n* `d` day\n\n**Prefixes (PREFIX)**\n\n* `k` kilo (10**3)\n* `M` mega (10**6)\n* `G` giga (10**9)\n* `T` tera (10**12)\n* `P` peta (10**15)\n* `E` exa (10**18)\n* `Z` zetta (10**21)\n* `Y` yotta (10**24)\n* `m` milli (10**-3)\n* `u` micro (10**-6)\n* `n` nano (10**-9)\n* `p` pico (10**-12)\n* `f` femto (10**-15)\n* `a` atto (10**-18)\n* `z` zepto (10**-21)\n* `y` yocto (10**-24)\n* `Ki` kibi (2**10)\n* `Mi` mebi (2**20)\n* `Gi` gibi (2**30)\n* `Ti` tebi (2**40)\n\n**Grammar**\n\nThe grammar includes the dimensionless unit `1`, such as `1/s`.\n\nThe grammar also includes these connectors:\n\n* `/` division (as an infix operator, e.g. `1/s`).\n* `.` multiplication (as an infix operator, e.g. `GBy.d`)\n\nThe grammar for a unit is as follows:\n\n Expression = Component { \".\" Component } { \"/\" Component } ;\n\n Component = [ PREFIX ] UNIT [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\n Annotation = \"{\" NAME \"}\" ;\n\nNotes:\n\n* `Annotation` is just a comment if it follows a `UNIT` and is\n equivalent to `1` if it is used alone. For examples,\n `{requests}/s == 1/s`, `By{transmitted}/s == By/s`.\n* `NAME` is a sequence of non-blank printable ASCII characters not\n containing '{' or '}'.", - "type": "string" - }, - "labels": { - "description": "The set of labels that can be used to describe a specific\ninstance of this metric type. For example, the\n`appengine.googleapis.com/http/server/response_latencies` metric\ntype has a label for the HTTP response code, `response_code`, so\nyou can look at latencies for successful responses or just\nfor responses that failed.", - "items": { - "$ref": "LabelDescriptor" - }, - "type": "array" - }, - "name": { - "description": "The resource name of the metric descriptor. Depending on the\nimplementation, the name typically includes: (1) the parent resource name\nthat defines the scope of the metric type or of its data; and (2) the\nmetric's URL-encoded type, which also appears in the `type` field of this\ndescriptor. For example, following is the resource name of a custom\nmetric within the GCP project `my-project-id`:\n\n \"projects/my-project-id/metricDescriptors/custom.googleapis.com%2Finvoice%2Fpaid%2Famount\"", - "type": "string" - }, - "type": { - "description": "The metric type, including its DNS name prefix. The type is not\nURL-encoded. All user-defined custom metric types have the DNS name\n`custom.googleapis.com`. Metric types should use a natural hierarchical\ngrouping. For example:\n\n \"custom.googleapis.com/invoice/paid/amount\"\n \"appengine.googleapis.com/http/server/response_latencies\"", - "type": "string" - }, - "valueType": { - "enum": [ - "VALUE_TYPE_UNSPECIFIED", - "BOOL", - "INT64", - "DOUBLE", - "STRING", - "DISTRIBUTION", - "MONEY" - ], - "description": "Whether the measurement is an integer, a floating-point number, etc.\nSome combinations of `metric_kind` and `value_type` might not be supported.", - "type": "string", - "enumDescriptions": [ - "Do not use this default value.", - "The value is a boolean.\nThis value type can be used only if the metric kind is `GAUGE`.", - "The value is a signed 64-bit integer.", - "The value is a double precision floating point number.", - "The value is a text string.\nThis value type can be used only if the metric kind is `GAUGE`.", - "The value is a `Distribution`.", - "The value is money." - ] - }, - "metricKind": { - "enum": [ - "METRIC_KIND_UNSPECIFIED", - "GAUGE", - "DELTA", - "CUMULATIVE" - ], - "description": "Whether the metric records instantaneous values, changes to a value, etc.\nSome combinations of `metric_kind` and `value_type` might not be supported.", - "type": "string", - "enumDescriptions": [ - "Do not use this default value.", - "An instantaneous measurement of a value.", - "The change in a value during a time interval.", - "A value accumulated over a time interval. Cumulative\nmeasurements in a time series should have the same start time\nand increasing end times, until an event resets the cumulative\nvalue to zero and sets a new start time for the following\npoints." - ] - }, - "description": { - "description": "A detailed description of the metric, which can be used in documentation.", - "type": "string" - }, - "displayName": { - "type": "string", - "description": "A concise name for the metric, which can be displayed in user interfaces.\nUse sentence case without an ending period, for example \"Request count\"." - } - }, - "id": "MetricDescriptor" - }, - "SourceContext": { - "description": "`SourceContext` represents information about the source of a\nprotobuf element, like the file in which it is defined.", - "type": "object", - "properties": { - "fileName": { - "description": "The path-qualified name of the .proto file that contained the associated\nprotobuf element. For example: `\"google/protobuf/source_context.proto\"`.", - "type": "string" - } - }, - "id": "SourceContext" - }, - "Expr": { - "description": "Represents an expression text. Example:\n\n title: \"User account presence\"\n description: \"Determines whether the request has a user account\"\n expression: \"size(request.user) \u003e 0\"", - "type": "object", - "properties": { - "description": { - "description": "An optional description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", - "type": "string" - }, - "expression": { - "description": "Textual representation of an expression in\nCommon Expression Language syntax.\n\nThe application context of the containing message determines which\nwell-known feature set of CEL is supported.", - "type": "string" - }, - "location": { - "description": "An optional string indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", - "type": "string" - }, - "title": { - "description": "An optional title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", - "type": "string" - } - }, - "id": "Expr" - }, - "ListServicesResponse": { - "description": "Response message for `ListServices` method.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "Token that can be passed to `ListServices` to resume a paginated query.", - "type": "string" - }, - "services": { - "description": "The returned services will only have the name field set.", - "items": { - "$ref": "ManagedService" - }, - "type": "array" - } - }, - "id": "ListServicesResponse" - }, - "Endpoint": { - "description": "`Endpoint` describes a network endpoint that serves a set of APIs.\nA service may expose any number of endpoints, and all endpoints share the\nsame service configuration, such as quota configuration and monitoring\nconfiguration.\n\nExample service configuration:\n\n name: library-example.googleapis.com\n endpoints:\n # Below entry makes 'google.example.library.v1.Library'\n # API be served from endpoint address library-example.googleapis.com.\n # It also allows HTTP OPTIONS calls to be passed to the backend, for\n # it to decide whether the subsequent cross-origin request is\n # allowed to proceed.\n - name: library-example.googleapis.com\n allow_cors: true", - "type": "object", - "properties": { - "features": { - "description": "The list of features enabled on this endpoint.", - "items": { - "type": "string" - }, - "type": "array" - }, - "apis": { - "description": "The list of APIs served by this endpoint.\n\nIf no APIs are specified this translates to \"all APIs\" exported by the\nservice, as defined in the top-level service configuration.", - "items": { - "type": "string" - }, - "type": "array" - }, - "allowCors": { - "description": "Allowing\n[CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka\ncross-domain traffic, would allow the backends served from this endpoint to\nreceive and respond to HTTP OPTIONS requests. The response will be used by\nthe browser to determine whether the subsequent cross-origin request is\nallowed to proceed.", - "type": "boolean" - }, - "aliases": { - "description": "DEPRECATED: This field is no longer supported. Instead of using aliases,\nplease specify multiple google.api.Endpoint for each of the intented\nalias.\n\nAdditional names that this endpoint will be hosted on.", - "items": { - "type": "string" - }, - "type": "array" - }, - "target": { - "description": "The specification of an Internet routable address of API frontend that will\nhandle requests to this [API Endpoint](https://cloud.google.com/apis/design/glossary).\nIt should be either a valid IPv4 address or a fully-qualified domain name.\nFor example, \"8.8.8.8\" or \"myservice.appspot.com\".", - "type": "string" - }, - "name": { - "description": "The canonical name of this endpoint.", - "type": "string" - } - }, - "id": "Endpoint" - }, - "OAuthRequirements": { - "description": "OAuth scopes are a way to define data and permissions on data. For example,\nthere are scopes defined for \"Read-only access to Google Calendar\" and\n\"Access to Cloud Platform\". Users can consent to a scope for an application,\ngiving it permission to access that data on their behalf.\n\nOAuth scope specifications should be fairly coarse grained; a user will need\nto see and understand the text description of what your scope means.\n\nIn most cases: use one or at most two OAuth scopes for an entire family of\nproducts. If your product has multiple APIs, you should probably be sharing\nthe OAuth scope across all of those APIs.\n\nWhen you need finer grained OAuth consent screens: talk with your product\nmanagement about how developers will use them in practice.\n\nPlease note that even though each of the canonical scopes is enough for a\nrequest to be accepted and passed to the backend, a request can still fail\ndue to the backend requiring additional scopes or permissions.", - "type": "object", - "properties": { - "canonicalScopes": { - "description": "The list of publicly documented OAuth scopes that are allowed access. An\nOAuth token containing any of these scopes will be accepted.\n\nExample:\n\n canonical_scopes: https://www.googleapis.com/auth/calendar,\n https://www.googleapis.com/auth/calendar.read", - "type": "string" - } - }, - "id": "OAuthRequirements" - }, - "TestIamPermissionsResponse": { - "description": "Response message for `TestIamPermissions` method.", - "type": "object", - "properties": { - "permissions": { - "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "TestIamPermissionsResponse" - }, - "GetIamPolicyRequest": { - "description": "Request message for `GetIamPolicy` method.", - "type": "object", - "properties": {}, - "id": "GetIamPolicyRequest" - }, - "Usage": { - "description": "Configuration controlling usage of a service.", - "type": "object", - "properties": { - "producerNotificationChannel": { - "description": "The full resource name of a channel used for sending notifications to the\nservice producer.\n\nGoogle Service Management currently only supports\n[Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification\nchannel. To use Google Cloud Pub/Sub as the channel, this must be the name\nof a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format\ndocumented in https://cloud.google.com/pubsub/docs/overview.", - "type": "string" - }, - "rules": { - "description": "A list of usage rules that apply to individual API methods.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.", - "items": { - "$ref": "UsageRule" - }, - "type": "array" - }, - "requirements": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Requirements that must be satisfied before a consumer project can use the\nservice. Each requirement is of the form \u003cservice.name\u003e/\u003crequirement-id\u003e;\nfor example 'serviceusage.googleapis.com/billing-enabled'." - } - }, - "id": "Usage" - }, - "Context": { - "type": "object", - "properties": { - "rules": { - "items": { - "$ref": "ContextRule" - }, - "type": "array", - "description": "A list of RPC context rules that apply to individual API methods.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order." - } - }, - "id": "Context", - "description": "`Context` defines which contexts an API requests.\n\nExample:\n\n context:\n rules:\n - selector: \"*\"\n requested:\n - google.rpc.context.ProjectContext\n - google.rpc.context.OriginContext\n\nThe above specifies that all methods in the API request\n`google.rpc.context.ProjectContext` and\n`google.rpc.context.OriginContext`.\n\nAvailable context types are defined in package\n`google.rpc.context`." - }, - "Rule": { - "type": "object", - "properties": { - "action": { - "enumDescriptions": [ - "Default no action.", - "Matching 'Entries' grant access.", - "Matching 'Entries' grant access and the caller promises to log\nthe request per the returned log_configs.", - "Matching 'Entries' deny access.", - "Matching 'Entries' deny access and the caller promises to log\nthe request per the returned log_configs.", - "Matching 'Entries' tell IAM.Check callers to generate logs." - ], - "enum": [ - "NO_ACTION", - "ALLOW", - "ALLOW_WITH_LOG", - "DENY", - "DENY_WITH_LOG", - "LOG" - ], - "description": "Required", - "type": "string" - }, - "notIn": { - "description": "If one or more 'not_in' clauses are specified, the rule matches\nif the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.\nThe format for in and not_in entries is the same as for members in a\nBinding (see google/iam/v1/policy.proto).", - "items": { - "type": "string" - }, - "type": "array" - }, - "description": { - "description": "Human-readable description of the rule.", - "type": "string" - }, - "conditions": { - "description": "Additional restrictions that must be met", - "items": { - "$ref": "Condition" - }, - "type": "array" - }, - "logConfig": { - "description": "The config returned to callers of tech.iam.IAM.CheckPolicy for any entries\nthat match the LOG action.", - "items": { - "$ref": "LogConfig" - }, - "type": "array" - }, - "in": { - "items": { - "type": "string" - }, - "type": "array", - "description": "If one or more 'in' clauses are specified, the rule matches if\nthe PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries." - }, - "permissions": { - "description": "A permission is a string of form '\u003cservice\u003e.\u003cresource type\u003e.\u003cverb\u003e'\n(e.g., 'storage.buckets.list'). A value of '*' matches all permissions,\nand a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "Rule", - "description": "A rule to be applied in a Policy." - }, - "LogConfig": { - "type": "object", - "properties": { - "counter": { - "description": "Counter options.", - "$ref": "CounterOptions" - }, - "dataAccess": { - "$ref": "DataAccessOptions", - "description": "Data access options." - }, - "cloudAudit": { - "description": "Cloud audit options.", - "$ref": "CloudAuditOptions" - } - }, - "id": "LogConfig", - "description": "Specifies what kind of log the caller must write\nIncrement a streamz counter with the specified metric and field names.\n\nMetric names should start with a '/', generally be lowercase-only,\nand end in \"_count\". Field names should not contain an initial slash.\nThe actual exported metric names will have \"/iam/policy\" prepended.\n\nField names correspond to IAM request parameters and field values are\ntheir respective values.\n\nAt present the only supported field names are\n - \"iam_principal\", corresponding to IAMContext.principal;\n - \"\" (empty string), resulting in one aggretated counter with no field.\n\nExamples:\n counter { metric: \"/debug_access_count\" field: \"iam_principal\" }\n ==\u003e increment counter /iam/policy/backend_debug_access_count\n {iam_principal=[value of IAMContext.principal]}\n\nAt this time we do not support:\n* multiple field names (though this may be supported in the future)\n* decrementing the counter\n* incrementing it by anything other than 1" - }, "LogDescriptor": { "description": "A description of a log type. Example in YAML format:\n\n - name: library.googleapis.com/activity_history\n description: The history of borrowing and returning library items.\n display_name: Activity\n labels:\n - key: /customer_id\n description: Identifier of a library customer", "type": "object", @@ -1984,46 +32,59 @@ "id": "LogDescriptor" }, "ConfigFile": { + "description": "Generic specification of a source configuration file", + "type": "object", "properties": { - "fileContents": { - "format": "byte", - "description": "The bytes that constitute the file.", - "type": "string" - }, "filePath": { "description": "The file name of the configuration file (full or relative path).", "type": "string" }, "fileType": { - "description": "The type of configuration file this represents.", - "type": "string", "enumDescriptions": [ "Unknown file type.", "YAML-specification of service.", "OpenAPI specification, serialized in JSON.", "OpenAPI specification, serialized in YAML.", - "FileDescriptorSet, generated by protoc.\n\nTo generate, use protoc with imports and source info included.\nFor an example test.proto file, the following command would put the value\nin a new file named out.pb.\n\n$protoc --include_imports --include_source_info test.proto -o out.pb" + "FileDescriptorSet, generated by protoc.\n\nTo generate, use protoc with imports and source info included.\nFor an example test.proto file, the following command would put the value\nin a new file named out.pb.\n\n$protoc --include_imports --include_source_info test.proto -o out.pb", + "Uncompiled Proto file. Used for storage and display purposes only,\ncurrently server-side compilation is not supported. Should match the\ninputs to 'protoc' command used to generated FILE_DESCRIPTOR_SET_PROTO. A\nfile of this type can only be included if at least one file of type\nFILE_DESCRIPTOR_SET_PROTO is included." ], "enum": [ "FILE_TYPE_UNSPECIFIED", "SERVICE_CONFIG_YAML", "OPEN_API_JSON", "OPEN_API_YAML", - "FILE_DESCRIPTOR_SET_PROTO" - ] + "FILE_DESCRIPTOR_SET_PROTO", + "PROTO_FILE" + ], + "description": "The type of configuration file this represents.", + "type": "string" + }, + "fileContents": { + "format": "byte", + "description": "The bytes that constitute the file.", + "type": "string" } }, - "id": "ConfigFile", - "description": "Generic specification of a source configuration file", - "type": "object" + "id": "ConfigFile" }, "MonitoredResourceDescriptor": { "description": "An object that describes the schema of a MonitoredResource object using a\ntype name and a set of labels. For example, the monitored resource\ndescriptor for Google Compute Engine VM instances has a type of\n`\"gce_instance\"` and specifies the use of the labels `\"instance_id\"` and\n`\"zone\"` to identify particular VM instances.\n\nDifferent APIs can support different monitored resource types. APIs generally\nprovide a `list` method that returns the monitored resource descriptors used\nby the API.", "type": "object", "properties": { + "labels": { + "description": "Required. A set of labels used to describe instances of this monitored\nresource type. For example, an individual Google Cloud SQL database is\nidentified by values for the labels `\"database_id\"` and `\"zone\"`.", + "items": { + "$ref": "LabelDescriptor" + }, + "type": "array" + }, + "name": { + "description": "Optional. The resource name of the monitored resource descriptor:\n`\"projects/{project_id}/monitoredResourceDescriptors/{type}\"` where\n{type} is the value of the `type` field in this object and\n{project_id} is a project ID that provides API-specific context for\naccessing the type. APIs that do not use project information can use the\nresource name format `\"monitoredResourceDescriptors/{type}\"`.", + "type": "string" + }, "description": { - "type": "string", - "description": "Optional. A detailed description of the monitored resource type that might\nbe used in documentation." + "description": "Optional. A detailed description of the monitored resource type that might\nbe used in documentation.", + "type": "string" }, "displayName": { "description": "Optional. A concise name for the monitored resource type that might be\ndisplayed in user interfaces. It should be a Title Cased Noun Phrase,\nwithout any article or other determiners. For example,\n`\"Google Cloud SQL Database\"`.", @@ -2032,17 +93,6 @@ "type": { "description": "Required. The monitored resource type. For example, the type\n`\"cloudsql_database\"` represents databases in Google Cloud SQL.\nThe maximum length of this value is 256 characters.", "type": "string" - }, - "labels": { - "items": { - "$ref": "LabelDescriptor" - }, - "type": "array", - "description": "Required. A set of labels used to describe instances of this monitored\nresource type. For example, an individual Google Cloud SQL database is\nidentified by values for the labels `\"database_id\"` and `\"zone\"`." - }, - "name": { - "description": "Optional. The resource name of the monitored resource descriptor:\n`\"projects/{project_id}/monitoredResourceDescriptors/{type}\"` where\n{type} is the value of the `type` field in this object and\n{project_id} is a project ID that provides API-specific context for\naccessing the type. APIs that do not use project information can use the\nresource name format `\"monitoredResourceDescriptors/{type}\"`.", - "type": "string" } }, "id": "MonitoredResourceDescriptor" @@ -2063,10 +113,25 @@ "id": "CustomErrorRule" }, "MediaDownload": { - "id": "MediaDownload", - "description": "Defines the Media configuration for a service in case of a download.\nUse this only for Scotty Requests. Do not use this for media support using\nBytestream, add instead [][google.bytestream.RestByteStream] as an API to\nyour configuration for Bytestream methods.", "type": "object", "properties": { + "maxDirectDownloadSize": { + "format": "int64", + "description": "Optional maximum acceptable size for direct download.\nThe size is specified in bytes.", + "type": "string" + }, + "dropzone": { + "type": "string", + "description": "Name of the Scotty dropzone to use for the current API." + }, + "useDirectDownload": { + "description": "A boolean that determines if direct download from ESF should be used for\ndownload of this media.", + "type": "boolean" + }, + "completeNotification": { + "description": "A boolean that determines whether a notification for the completion of a\ndownload should be sent to the backend.", + "type": "boolean" + }, "enabled": { "description": "Whether download is enabled.", "type": "boolean" @@ -2074,86 +139,72 @@ "downloadService": { "description": "DO NOT USE FIELDS BELOW THIS LINE UNTIL THIS WARNING IS REMOVED.\n\nSpecify name of the download service if one is used for download.", "type": "string" - }, - "completeNotification": { - "description": "A boolean that determines whether a notification for the completion of a\ndownload should be sent to the backend.", - "type": "boolean" - }, - "dropzone": { - "description": "Name of the Scotty dropzone to use for the current API.", - "type": "string" - }, - "maxDirectDownloadSize": { - "format": "int64", - "description": "Optional maximum acceptable size for direct download.\nThe size is specified in bytes.", - "type": "string" - }, - "useDirectDownload": { - "description": "A boolean that determines if direct download from ESF should be used for\ndownload of this media.", - "type": "boolean" } - } + }, + "id": "MediaDownload", + "description": "Defines the Media configuration for a service in case of a download.\nUse this only for Scotty Requests. Do not use this for media support using\nBytestream, add instead [][google.bytestream.RestByteStream] as an API to\nyour configuration for Bytestream methods." }, "CustomAuthRequirements": { - "description": "Configuration for a custom authentication provider.", - "type": "object", "properties": { "provider": { "description": "A configuration string containing connection information for the\nauthentication provider, typically formatted as a SmartService string\n(go/smartservice).", "type": "string" } }, - "id": "CustomAuthRequirements" + "id": "CustomAuthRequirements", + "description": "Configuration for a custom authentication provider.", + "type": "object" }, "ChangeReport": { "description": "Change report associated with a particular service configuration.\n\nIt contains a list of ConfigChanges based on the comparison between\ntwo service configurations.", "type": "object", "properties": { "configChanges": { - "description": "List of changes between two service configurations.\nThe changes will be alphabetically sorted based on the identifier\nof each change.\nA ConfigChange identifier is a dot separated path to the configuration.\nExample: visibility.rules[selector='LibraryService.CreateBook'].restriction", "items": { "$ref": "ConfigChange" }, - "type": "array" + "type": "array", + "description": "List of changes between two service configurations.\nThe changes will be alphabetically sorted based on the identifier\nof each change.\nA ConfigChange identifier is a dot separated path to the configuration.\nExample: visibility.rules[selector='LibraryService.CreateBook'].restriction" } }, "id": "ChangeReport" }, "DisableServiceRequest": { + "description": "Request message for DisableService method.", + "type": "object", "properties": { "consumerId": { "description": "The identity of consumer resource which service disablement will be\napplied to.\n\nThe Google Service Management implementation accepts the following\nforms:\n- \"project:\u003cproject_id\u003e\"\n\nNote: this is made compatible with\ngoogle.api.servicecontrol.v1.Operation.consumer_id.", "type": "string" } }, - "id": "DisableServiceRequest", - "description": "Request message for DisableService method.", - "type": "object" + "id": "DisableServiceRequest" }, "SubmitConfigSourceResponse": { "description": "Response message for SubmitConfigSource method.", "type": "object", "properties": { "serviceConfig": { - "$ref": "Service", - "description": "The generated service configuration." + "description": "The generated service configuration.", + "$ref": "Service" } }, "id": "SubmitConfigSourceResponse" }, "MediaUpload": { + "description": "Defines the Media configuration for a service in case of an upload.\nUse this only for Scotty Requests. Do not use this for media support using\nBytestream, add instead [][google.bytestream.RestByteStream] as an API to\nyour configuration for Bytestream methods.", "type": "object", "properties": { - "enabled": { - "description": "Whether upload is enabled.", + "completeNotification": { + "description": "A boolean that determines whether a notification for the completion of an\nupload should be sent to the backend. These notifications will not be seen\nby the client and will not consume quota.", "type": "boolean" }, "progressNotification": { - "description": "Whether to receive a notification for progress changes of media upload.", - "type": "boolean" + "type": "boolean", + "description": "Whether to receive a notification for progress changes of media upload." }, - "completeNotification": { - "description": "A boolean that determines whether a notification for the completion of an\nupload should be sent to the backend. These notifications will not be seen\nby the client and will not consume quota.", + "enabled": { + "description": "Whether upload is enabled.", "type": "boolean" }, "dropzone": { @@ -2181,10 +232,28 @@ "type": "array" } }, - "id": "MediaUpload", - "description": "Defines the Media configuration for a service in case of an upload.\nUse this only for Scotty Requests. Do not use this for media support using\nBytestream, add instead [][google.bytestream.RestByteStream] as an API to\nyour configuration for Bytestream methods." + "id": "MediaUpload" + }, + "BillingDestination": { + "type": "object", + "properties": { + "monitoredResource": { + "description": "The monitored resource type. The type must be defined in\nService.monitored_resources section.", + "type": "string" + }, + "metrics": { + "description": "Names of the metrics to report to this billing destination.\nEach name must be defined in Service.metrics section.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "BillingDestination", + "description": "Configuration of a specific billing destination (Currently only support\nbill against consumer project)." }, "Advice": { + "id": "Advice", "description": "Generated advice about this change, used for providing more\ninformation about how a change will affect the existing service.", "type": "object", "properties": { @@ -2192,23 +261,22 @@ "description": "Useful description for why this advice was applied and what actions should\nbe taken to mitigate any implied risks.", "type": "string" } - }, - "id": "Advice" + } }, "ManagedService": { - "description": "The full representation of a Service that is managed by\nGoogle Service Management.", - "type": "object", "properties": { - "producerProjectId": { - "description": "ID of the project that produces and owns this service.", - "type": "string" - }, "serviceName": { "description": "The name of the service. See the [overview](/service-management/overview)\nfor naming requirements.", "type": "string" + }, + "producerProjectId": { + "description": "ID of the project that produces and owns this service.", + "type": "string" } }, - "id": "ManagedService" + "id": "ManagedService", + "description": "The full representation of a Service that is managed by\nGoogle Service Management.", + "type": "object" }, "UsageRule": { "description": "Usage configuration rules for the service.\n\nNOTE: Under development.\n\n\nUse this rule to configure unregistered calls for the service. Unregistered\ncalls are calls that do not contain consumer project identity.\n(Example: calls that do not contain an API key).\nBy default, API methods do not allow unregistered calls, and each method call\nmust be identified by a consumer project identity. Use this rule to\nallow/disallow unregistered calls.\n\nExample of an API that wants to allow unregistered calls for entire service.\n\n usage:\n rules:\n - selector: \"*\"\n allow_unregistered_calls: true\n\nExample of a method that wants to allow unregistered calls.\n\n usage:\n rules:\n - selector: \"google.example.library.v1.LibraryService.CreateBook\"\n allow_unregistered_calls: true", @@ -2229,43 +297,47 @@ }, "id": "UsageRule" }, - "TrafficPercentStrategy": { - "description": "Strategy that specifies how clients of Google Service Controller want to\nsend traffic to use different config versions. This is generally\nused by API proxy to split traffic based on your configured precentage for\neach config version.\n\nOne example of how to gradually rollout a new service configuration using\nthis\nstrategy:\nDay 1\n\n Rollout {\n id: \"example.googleapis.com/rollout_20160206\"\n traffic_percent_strategy {\n percentages: {\n \"example.googleapis.com/20160201\": 70.00\n \"example.googleapis.com/20160206\": 30.00\n }\n }\n }\n\nDay 2\n\n Rollout {\n id: \"example.googleapis.com/rollout_20160207\"\n traffic_percent_strategy: {\n percentages: {\n \"example.googleapis.com/20160206\": 100.00\n }\n }\n }", - "type": "object", - "properties": { - "percentages": { - "type": "object", - "additionalProperties": { - "format": "double", - "type": "number" - }, - "description": "Maps service configuration IDs to their corresponding traffic percentage.\nKey is the service configuration ID, Value is the traffic percentage\nwhich must be greater than 0.0 and the sum must equal to 100.0." - } - }, - "id": "TrafficPercentStrategy" - }, "AuthRequirement": { "description": "User-defined authentication requirements, including support for\n[JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).", "type": "object", "properties": { - "providerId": { - "description": "id from authentication provider.\n\nExample:\n\n provider_id: bookstore_auth", - "type": "string" - }, "audiences": { "description": "NOTE: This will be deprecated soon, once AuthProvider.audiences is\nimplemented and accepted in all the runtime components.\n\nThe list of JWT\n[audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).\nthat are allowed to access. A JWT containing any of these audiences will\nbe accepted. When this setting is absent, only JWTs with audience\n\"https://Service_name/API_name\"\nwill be accepted. For example, if no audiences are in the setting,\nLibraryService API will only accept JWTs with the following audience\n\"https://library-example.googleapis.com/google.example.library.v1.LibraryService\".\n\nExample:\n\n audiences: bookstore_android.apps.googleusercontent.com,\n bookstore_web.apps.googleusercontent.com", "type": "string" + }, + "providerId": { + "description": "id from authentication provider.\n\nExample:\n\n provider_id: bookstore_auth", + "type": "string" } }, "id": "AuthRequirement" }, + "TrafficPercentStrategy": { + "id": "TrafficPercentStrategy", + "description": "Strategy that specifies how clients of Google Service Controller want to\nsend traffic to use different config versions. This is generally\nused by API proxy to split traffic based on your configured precentage for\neach config version.\n\nOne example of how to gradually rollout a new service configuration using\nthis\nstrategy:\nDay 1\n\n Rollout {\n id: \"example.googleapis.com/rollout_20160206\"\n traffic_percent_strategy {\n percentages: {\n \"example.googleapis.com/20160201\": 70.00\n \"example.googleapis.com/20160206\": 30.00\n }\n }\n }\n\nDay 2\n\n Rollout {\n id: \"example.googleapis.com/rollout_20160207\"\n traffic_percent_strategy: {\n percentages: {\n \"example.googleapis.com/20160206\": 100.00\n }\n }\n }", + "type": "object", + "properties": { + "percentages": { + "additionalProperties": { + "format": "double", + "type": "number" + }, + "description": "Maps service configuration IDs to their corresponding traffic percentage.\nKey is the service configuration ID, Value is the traffic percentage\nwhich must be greater than 0.0 and the sum must equal to 100.0.", + "type": "object" + } + } + }, "Documentation": { "description": "`Documentation` provides the information for describing a service.\n\nExample:\n\u003cpre\u003e\u003ccode\u003edocumentation:\n summary: \u003e\n The Google Calendar API gives access\n to most calendar features.\n pages:\n - name: Overview\n content: (== include google/foo/overview.md ==)\n - name: Tutorial\n content: (== include google/foo/tutorial.md ==)\n subpages;\n - name: Java\n content: (== include google/foo/tutorial_java.md ==)\n rules:\n - selector: google.calendar.Calendar.Get\n description: \u003e\n ...\n - selector: google.calendar.Calendar.Put\n description: \u003e\n ...\n\u003c/code\u003e\u003c/pre\u003e\nDocumentation is provided in markdown syntax. In addition to\nstandard markdown features, definition lists, tables and fenced\ncode blocks are supported. Section headers can be provided and are\ninterpreted relative to the section nesting of the context where\na documentation fragment is embedded.\n\nDocumentation from the IDL is merged with documentation defined\nvia the config at normalization time, where documentation provided\nby config rules overrides IDL provided.\n\nA number of constructs specific to the API platform are supported\nin documentation text.\n\nIn order to reference a proto element, the following\nnotation can be used:\n\u003cpre\u003e\u003ccode\u003e[fully.qualified.proto.name][]\u003c/code\u003e\u003c/pre\u003e\nTo override the display text used for the link, this can be used:\n\u003cpre\u003e\u003ccode\u003e[display text][fully.qualified.proto.name]\u003c/code\u003e\u003c/pre\u003e\nText can be excluded from doc using the following notation:\n\u003cpre\u003e\u003ccode\u003e(-- internal comment --)\u003c/code\u003e\u003c/pre\u003e\nComments can be made conditional using a visibility label. The below\ntext will be only rendered if the `BETA` label is available:\n\u003cpre\u003e\u003ccode\u003e(--BETA: comment for BETA users --)\u003c/code\u003e\u003c/pre\u003e\nA few directives are available in documentation. Note that\ndirectives must appear on a single line to be properly\nidentified. The `include` directive includes a markdown file from\nan external source:\n\u003cpre\u003e\u003ccode\u003e(== include path/to/file ==)\u003c/code\u003e\u003c/pre\u003e\nThe `resource_for` directive marks a message to be the resource of\na collection in REST view. If it is not specified, tools attempt\nto infer the resource from the operations in a collection:\n\u003cpre\u003e\u003ccode\u003e(== resource_for v1.shelves.books ==)\u003c/code\u003e\u003c/pre\u003e\nThe directive `suppress_warning` does not directly affect documentation\nand is documented together with service config validation.", "type": "object", "properties": { + "summary": { + "type": "string", + "description": "A short summary of what the service does. Can only be provided by\nplain text." + }, "documentationRootUrl": { - "description": "The URL to the root of documentation.", - "type": "string" + "type": "string", + "description": "The URL to the root of documentation." }, "overview": { "description": "Declares a single overview page. For example:\n\u003cpre\u003e\u003ccode\u003edocumentation:\n summary: ...\n overview: (== include overview.md ==)\n\u003c/code\u003e\u003c/pre\u003e\nThis is a shortcut for the following declaration (using pages style):\n\u003cpre\u003e\u003ccode\u003edocumentation:\n summary: ...\n pages:\n - name: Overview\n content: (== include overview.md ==)\n\u003c/code\u003e\u003c/pre\u003e\nNote: you cannot specify both `overview` field and `pages` field.", @@ -2279,109 +351,24 @@ "type": "array" }, "pages": { + "description": "The top level pages for the documentation set.", "items": { "$ref": "Page" }, - "type": "array", - "description": "The top level pages for the documentation set." - }, - "summary": { - "description": "A short summary of what the service does. Can only be provided by\nplain text.", - "type": "string" + "type": "array" } }, "id": "Documentation" }, - "Condition": { - "description": "A condition to be met.", - "type": "object", - "properties": { - "values": { - "description": "The objects of the condition. This is mutually exclusive with 'value'.", - "items": { - "type": "string" - }, - "type": "array" - }, - "iam": { - "enumDescriptions": [ - "Default non-attribute.", - "Either principal or (if present) authority selector.", - "The principal (even if an authority selector is present), which\nmust only be used for attribution, not authorization.", - "An approver (distinct from the requester) that has authorized this\nrequest.\nWhen used with IN, the condition indicates that one of the approvers\nassociated with the request matches the specified principal, or is a\nmember of the specified group. Approvers can only grant additional\naccess, and are thus only used in a strictly positive context\n(e.g. ALLOW/IN or DENY/NOT_IN).", - "What types of justifications have been supplied with this request.\nString values should match enum names from tech.iam.JustificationType,\ne.g. \"MANUAL_STRING\". It is not permitted to grant access based on\nthe *absence* of a justification, so justification conditions can only\nbe used in a \"positive\" context (e.g., ALLOW/IN or DENY/NOT_IN).\n\nMultiple justifications, e.g., a Buganizer ID and a manually-entered\nreason, are normal and supported." - ], - "enum": [ - "NO_ATTR", - "AUTHORITY", - "ATTRIBUTION", - "APPROVER", - "JUSTIFICATION_TYPE" - ], - "description": "Trusted attributes supplied by the IAM system.", - "type": "string" - }, - "op": { - "enum": [ - "NO_OP", - "EQUALS", - "NOT_EQUALS", - "IN", - "NOT_IN", - "DISCHARGED" - ], - "description": "An operator to apply the subject with.", - "type": "string", - "enumDescriptions": [ - "Default no-op.", - "DEPRECATED. Use IN instead.", - "DEPRECATED. Use NOT_IN instead.", - "The condition is true if the subject (or any element of it if it is\na set) matches any of the supplied values.", - "The condition is true if the subject (or every element of it if it is\na set) matches none of the supplied values.", - "Subject is discharged" - ] - }, - "svc": { - "type": "string", - "description": "Trusted attributes discharged by the service." - }, - "sys": { - "description": "Trusted attributes supplied by any service that owns resources and uses\nthe IAM system for access control.", - "type": "string", - "enumDescriptions": [ - "Default non-attribute type", - "Region of the resource", - "Service name", - "Resource name", - "IP address of the caller" - ], - "enum": [ - "NO_ATTR", - "REGION", - "SERVICE", - "NAME", - "IP" - ] - }, - "value": { - "description": "DEPRECATED. Use 'values' instead.", - "type": "string" - } - }, - "id": "Condition" - }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\nfoo@gmail.com from DATA_READ logging.", - "type": "object", "properties": { - "exemptedMembers": { - "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", - "items": { - "type": "string" - }, - "type": "array" - }, "logType": { + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], "enum": [ "LOG_TYPE_UNSPECIFIED", "ADMIN_READ", @@ -2389,24 +376,28 @@ "DATA_READ" ], "description": "The log type that this config enables.", - "type": "string", - "enumDescriptions": [ - "Default case. Should never be this.", - "Admin reads. Example: CloudIAM getIamPolicy", - "Data writes. Example: CloudSQL Users create", - "Data reads. Example: CloudSQL Users list" - ] + "type": "string" + }, + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" } }, - "id": "AuditLogConfig" + "id": "AuditLogConfig", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\nfoo@gmail.com from DATA_READ logging.", + "type": "object" }, "ConfigSource": { + "id": "ConfigSource", "description": "Represents a source file which is used to generate the service configuration\ndefined by `google.api.Service`.", "type": "object", "properties": { "id": { - "description": "A unique ID for a specific instance of this message, typically assigned\nby the client for tracking purpose. If empty, the server may choose to\ngenerate one instead.", - "type": "string" + "type": "string", + "description": "A unique ID for a specific instance of this message, typically assigned\nby the client for tracking purpose. If empty, the server may choose to\ngenerate one instead." }, "files": { "description": "Set of source configuration files that are used to generate a service\nconfiguration (`google.api.Service`).", @@ -2415,63 +406,62 @@ }, "type": "array" } - }, - "id": "ConfigSource" - }, - "AuthenticationRule": { - "id": "AuthenticationRule", - "description": "Authentication rules for the service.\n\nBy default, if a method has any authentication requirements, every request\nmust include a valid credential matching one of the requirements.\nIt's an error to include more than one kind of credential in a single\nrequest.\n\nIf a method doesn't have any auth requirements, request credentials will be\nignored.", - "type": "object", - "properties": { - "customAuth": { - "description": "Configuration for custom authentication.", - "$ref": "CustomAuthRequirements" - }, - "oauth": { - "description": "The requirements for OAuth credentials.", - "$ref": "OAuthRequirements" - }, - "requirements": { - "description": "Requirements for additional authentication providers.", - "items": { - "$ref": "AuthRequirement" - }, - "type": "array" - }, - "allowWithoutCredential": { - "type": "boolean", - "description": "Whether to allow requests without a credential. The credential can be\nan OAuth token, Google cookies (first-party auth) or EndUserCreds.\n\nFor requests without credentials, if the service control environment is\nspecified, each incoming request **must** be associated with a service\nconsumer. This can be done by passing an API key that belongs to a consumer\nproject." - }, - "selector": { - "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.", - "type": "string" - } } }, "BackendRule": { - "id": "BackendRule", "description": "A backend rule provides configuration for an individual API element.", "type": "object", "properties": { - "deadline": { - "type": "number", - "format": "double", - "description": "The number of seconds to wait for a response from a request. The\ndefault depends on the deployment context." - }, "minDeadline": { "format": "double", "description": "Minimum deadline in seconds needed for this method. Calls having deadline\nvalue lower than this will be rejected.", "type": "number" }, "address": { - "type": "string", - "description": "The address of the API backend." + "description": "The address of the API backend.", + "type": "string" }, "selector": { "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.", "type": "string" + }, + "deadline": { + "format": "double", + "description": "The number of seconds to wait for a response from a request. The default\ndeadline for gRPC is infinite (no deadline) and HTTP requests is 5 seconds.", + "type": "number" } - } + }, + "id": "BackendRule" + }, + "AuthenticationRule": { + "type": "object", + "properties": { + "allowWithoutCredential": { + "description": "Whether to allow requests without a credential. The credential can be\nan OAuth token, Google cookies (first-party auth) or EndUserCreds.\n\nFor requests without credentials, if the service control environment is\nspecified, each incoming request **must** be associated with a service\nconsumer. This can be done by passing an API key that belongs to a consumer\nproject.", + "type": "boolean" + }, + "selector": { + "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.", + "type": "string" + }, + "customAuth": { + "$ref": "CustomAuthRequirements", + "description": "Configuration for custom authentication." + }, + "oauth": { + "$ref": "OAuthRequirements", + "description": "The requirements for OAuth credentials." + }, + "requirements": { + "items": { + "$ref": "AuthRequirement" + }, + "type": "array", + "description": "Requirements for additional authentication providers." + } + }, + "id": "AuthenticationRule", + "description": "Authentication rules for the service.\n\nBy default, if a method has any authentication requirements, every request\nmust include a valid credential matching one of the requirements.\nIt's an error to include more than one kind of credential in a single\nrequest.\n\nIf a method doesn't have any auth requirements, request credentials will be\nignored." }, "UndeleteServiceResponse": { "description": "Response message for UndeleteService method.", @@ -2488,6 +478,11 @@ "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam).", "type": "object", "properties": { + "etag": { + "format": "byte", + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.", + "type": "string" + }, "version": { "format": "int32", "description": "Version of the `Policy`. The default version is 0.", @@ -2507,20 +502,8 @@ }, "type": "array" }, - "etag": { - "type": "string", - "format": "byte", - "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly." - }, "iamOwned": { "type": "boolean" - }, - "rules": { - "items": { - "$ref": "Rule" - }, - "type": "array", - "description": "If more than one rule is specified, the rules are applied in the following\nmanner:\n- All matching LOG rules are always applied.\n- If any DENY/DENY_WITH_LOG rule matches, permission is denied.\n Logging will be applied if one or more matching rule requires logging.\n- Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is\n granted.\n Logging will be applied if one or more matching rule requires logging.\n- Otherwise, if no rule applies, permission is denied." } }, "id": "Policy" @@ -2528,60 +511,54 @@ "Api": { "type": "object", "properties": { + "name": { + "description": "The fully qualified name of this interface, including package name\nfollowed by the interface's simple name.", + "type": "string" + }, + "sourceContext": { + "description": "Source context for the protocol buffer service represented by this\nmessage.", + "$ref": "SourceContext" + }, + "syntax": { + "enum": [ + "SYNTAX_PROTO2", + "SYNTAX_PROTO3" + ], + "description": "The source syntax of the service.", + "type": "string", + "enumDescriptions": [ + "Syntax `proto2`.", + "Syntax `proto3`." + ] + }, "version": { - "description": "A version string for this api. If specified, must have the form\n`major-version.minor-version`, as in `1.10`. If the minor version\nis omitted, it defaults to zero. If the entire version field is\nempty, the major version is derived from the package name, as\noutlined below. If the field is not empty, the version in the\npackage name will be verified to be consistent with what is\nprovided here.\n\nThe versioning schema uses [semantic\nversioning](http://semver.org) where the major version number\nindicates a breaking change and the minor version an additive,\nnon-breaking change. Both version numbers are signals to users\nwhat to expect from different versions, and should be carefully\nchosen based on the product plan.\n\nThe major version is also reflected in the package name of the\nAPI, which must end in `v\u003cmajor-version\u003e`, as in\n`google.feature.v1`. For major versions 0 and 1, the suffix can\nbe omitted. Zero major versions must only be used for\nexperimental, none-GA apis.\n", + "description": "A version string for this interface. If specified, must have the form\n`major-version.minor-version`, as in `1.10`. If the minor version is\nomitted, it defaults to zero. If the entire version field is empty, the\nmajor version is derived from the package name, as outlined below. If the\nfield is not empty, the version in the package name will be verified to be\nconsistent with what is provided here.\n\nThe versioning schema uses [semantic\nversioning](http://semver.org) where the major version number\nindicates a breaking change and the minor version an additive,\nnon-breaking change. Both version numbers are signals to users\nwhat to expect from different versions, and should be carefully\nchosen based on the product plan.\n\nThe major version is also reflected in the package name of the\ninterface, which must end in `v\u003cmajor-version\u003e`, as in\n`google.feature.v1`. For major versions 0 and 1, the suffix can\nbe omitted. Zero major versions must only be used for\nexperimental, non-GA interfaces.\n", "type": "string" }, "mixins": { - "description": "Included APIs. See Mixin.", + "description": "Included interfaces. See Mixin.", "items": { "$ref": "Mixin" }, "type": "array" }, "options": { - "description": "Any metadata attached to the API.", + "description": "Any metadata attached to the interface.", "items": { "$ref": "Option" }, "type": "array" }, "methods": { - "description": "The methods of this api, in unspecified order.", + "description": "The methods of this interface, in unspecified order.", "items": { "$ref": "Method" }, "type": "array" - }, - "name": { - "description": "The fully qualified name of this api, including package name\nfollowed by the api's simple name.", - "type": "string" - }, - "sourceContext": { - "$ref": "SourceContext", - "description": "Source context for the protocol buffer service represented by this\nmessage." - }, - "syntax": { - "description": "The source syntax of the service.", - "type": "string", - "enumDescriptions": [ - "Syntax `proto2`.", - "Syntax `proto3`." - ], - "enum": [ - "SYNTAX_PROTO2", - "SYNTAX_PROTO3" - ] } }, "id": "Api", - "description": "Api is a light-weight descriptor for a protocol buffer service." - }, - "DataAccessOptions": { - "description": "Write a Data Access (Gin) log", - "type": "object", - "properties": {}, - "id": "DataAccessOptions" + "description": "Api is a light-weight descriptor for an API Interface.\n\nInterfaces are also described as \"protocol buffer services\" in some contexts,\nsuch as by the \"service\" keyword in a .proto file, but they are different\nfrom API Services, which represent a concrete implementation of an interface\nas opposed to simply a description of methods and bindings. They are also\nsometimes simply referred to as \"APIs\" in other contexts, such as the name of\nthis message itself. See https://cloud.google.com/apis/design/glossary for\ndetailed terminology." }, "MetricRule": { "properties": { @@ -2603,14 +580,15 @@ "type": "object" }, "Authentication": { + "description": "`Authentication` defines the authentication configuration for an API.\n\nExample for an API targeted for external use:\n\n name: calendar.googleapis.com\n authentication:\n providers:\n - id: google_calendar_auth\n jwks_uri: https://www.googleapis.com/oauth2/v1/certs\n issuer: https://securetoken.google.com\n rules:\n - selector: \"*\"\n requirements:\n provider_id: google_calendar_auth", "type": "object", "properties": { "rules": { - "description": "A list of authentication rules that apply to individual API methods.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.", "items": { "$ref": "AuthenticationRule" }, - "type": "array" + "type": "array", + "description": "A list of authentication rules that apply to individual API methods.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order." }, "providers": { "description": "Defines a set of authentication providers that a service supports.", @@ -2620,20 +598,23 @@ "type": "array" } }, - "id": "Authentication", - "description": "`Authentication` defines the authentication configuration for an API.\n\nExample for an API targeted for external use:\n\n name: calendar.googleapis.com\n authentication:\n providers:\n - id: google_calendar_auth\n jwks_uri: https://www.googleapis.com/oauth2/v1/certs\n issuer: https://securetoken.google.com\n rules:\n - selector: \"*\"\n requirements:\n provider_id: google_calendar_auth" + "id": "Authentication" }, "Operation": { "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", "type": "object", "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, "response": { + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", "type": "object", "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" - }, - "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`." + } }, "name": { "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`.", @@ -2650,10 +631,6 @@ }, "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", "type": "object" - }, - "done": { - "description": "If the value is `false`, it means the operation is still in progress.\nIf true, the operation is completed, and either `error` or `response` is\navailable.", - "type": "boolean" } }, "id": "Operation" @@ -2662,13 +639,6 @@ "description": "Represents a documentation page. A page can contain subpages to represent\nnested documentation set structure.", "type": "object", "properties": { - "subpages": { - "description": "Subpages of this page. The order of subpages specified here will be\nhonored in the generated docset.", - "items": { - "$ref": "Page" - }, - "type": "array" - }, "name": { "description": "The name of the page. It will be used as an identity of the page to\ngenerate URI of the page, text of the link to this page in navigation,\netc. The full page name (start from the root page name to this page\nconcatenated with `.`) can be used as reference to the page in your\ndocumentation. For example:\n\u003cpre\u003e\u003ccode\u003epages:\n- name: Tutorial\n content: (== include tutorial.md ==)\n subpages:\n - name: Java\n content: (== include tutorial_java.md ==)\n\u003c/code\u003e\u003c/pre\u003e\nYou can reference `Java` page using Markdown reference link syntax:\n`Java`.", "type": "string" @@ -2676,18 +646,32 @@ "content": { "description": "The Markdown content of the page. You can use \u003ccode\u003e(== include {path} ==)\u003c/code\u003e\nto include content from a Markdown file.", "type": "string" + }, + "subpages": { + "description": "Subpages of this page. The order of subpages specified here will be\nhonored in the generated docset.", + "items": { + "$ref": "Page" + }, + "type": "array" } }, "id": "Page" }, "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", + "type": "object", "properties": { + "code": { + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" + }, "message": { "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", "type": "string" }, "details": { - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", "items": { "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", @@ -2696,26 +680,14 @@ "type": "object" }, "type": "array" - }, - "code": { - "format": "int32", - "description": "The status code, which should be an enum value of google.rpc.Code.", - "type": "integer" } }, - "id": "Status", - "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", - "type": "object" + "id": "Status" }, "Binding": { - "id": "Binding", "description": "Associates `members` with a `role`.", "type": "object", "properties": { - "condition": { - "description": "The condition that is associated with this binding.\nNOTE: an unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently.\nThis field is GOOGLE_INTERNAL.", - "$ref": "Expr" - }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@gmail.com` or `joe@example.com`.\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n\n* `domain:{domain}`: A Google Apps domain name that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", "items": { @@ -2726,19 +698,20 @@ "role": { "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired", "type": "string" + }, + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding.\nNOTE: an unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently.\nThis field is GOOGLE_INTERNAL." } - } + }, + "id": "Binding" }, "AuthProvider": { "description": "Configuration for an anthentication provider, including support for\n[JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).", "type": "object", "properties": { - "jwksUri": { - "description": "URL of the provider's public key set to validate signature of the JWT. See\n[OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).\nOptional if the key set document:\n - can be retrieved from\n [OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html\n of the issuer.\n - can be inferred from the email domain of the issuer (e.g. a Google service account).\n\nExample: https://www.googleapis.com/oauth2/v1/certs", - "type": "string" - }, - "audiences": { - "description": "The list of JWT\n[audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).\nthat are allowed to access. A JWT containing any of these audiences will\nbe accepted. When this setting is absent, only JWTs with audience\n\"https://Service_name/API_name\"\nwill be accepted. For example, if no audiences are in the setting,\nLibraryService API will only accept JWTs with the following audience\n\"https://library-example.googleapis.com/google.example.library.v1.LibraryService\".\n\nExample:\n\n audiences: bookstore_android.apps.googleusercontent.com,\n bookstore_web.apps.googleusercontent.com", + "authorizationUrl": { + "description": "Redirect URL if JWT token is required but no present or is expired.\nImplement authorizationUrl of securityDefinitions in OpenAPI spec.", "type": "string" }, "issuer": { @@ -2748,37 +721,93 @@ "id": { "description": "The unique identifier of the auth provider. It will be referred to by\n`AuthRequirement.provider_id`.\n\nExample: \"bookstore_auth\".", "type": "string" + }, + "jwksUri": { + "description": "URL of the provider's public key set to validate signature of the JWT. See\n[OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).\nOptional if the key set document:\n - can be retrieved from\n [OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html\n of the issuer.\n - can be inferred from the email domain of the issuer (e.g. a Google service account).\n\nExample: https://www.googleapis.com/oauth2/v1/certs", + "type": "string" + }, + "audiences": { + "description": "The list of JWT\n[audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).\nthat are allowed to access. A JWT containing any of these audiences will\nbe accepted. When this setting is absent, only JWTs with audience\n\"https://Service_name/API_name\"\nwill be accepted. For example, if no audiences are in the setting,\nLibraryService API will only accept JWTs with the following audience\n\"https://library-example.googleapis.com/google.example.library.v1.LibraryService\".\n\nExample:\n\n audiences: bookstore_android.apps.googleusercontent.com,\n bookstore_web.apps.googleusercontent.com", + "type": "string" } }, "id": "AuthProvider" }, - "EnumValue": { - "properties": { - "number": { - "format": "int32", - "description": "Enum value number.", - "type": "integer" - }, - "name": { - "description": "Enum value name.", - "type": "string" - }, - "options": { - "description": "Protocol buffer options.", - "items": { - "$ref": "Option" - }, - "type": "array" - } - }, - "id": "EnumValue", - "description": "Enum value definition.", - "type": "object" - }, "Service": { + "id": "Service", "description": "`Service` is the root object of Google service configuration schema. It\ndescribes basic information about a service, such as the name and the\ntitle, and delegates other aspects to sub-sections. Each sub-section is\neither a proto message or a repeated proto message that configures a\nspecific aspect, such as auth. See each proto message definition for details.\n\nExample:\n\n type: google.api.Service\n config_version: 3\n name: calendar.googleapis.com\n title: Google Calendar API\n apis:\n - name: google.calendar.v3.Calendar\n authentication:\n providers:\n - id: google_calendar_auth\n jwks_uri: https://www.googleapis.com/oauth2/v1/certs\n issuer: https://securetoken.google.com\n rules:\n - selector: \"*\"\n requirements:\n provider_id: google_calendar_auth", "type": "object", "properties": { + "context": { + "$ref": "Context", + "description": "Context configuration." + }, + "enums": { + "description": "A list of all enum types included in this API service. Enums\nreferenced directly or indirectly by the `apis` are automatically\nincluded. Enums which are not referenced but shall be included\nshould be listed here by name. Example:\n\n enums:\n - name: google.someapi.v1.SomeEnum", + "items": { + "$ref": "Enum" + }, + "type": "array" + }, + "id": { + "description": "A unique ID for a specific instance of this message, typically assigned\nby the client for tracking purpose. If empty, the server may choose to\ngenerate one instead.", + "type": "string" + }, + "usage": { + "$ref": "Usage", + "description": "Configuration controlling usage of this service." + }, + "metrics": { + "description": "Defines the metrics used by this service.", + "items": { + "$ref": "MetricDescriptor" + }, + "type": "array" + }, + "authentication": { + "$ref": "Authentication", + "description": "Auth configuration." + }, + "experimental": { + "description": "Experimental configuration.", + "$ref": "Experimental" + }, + "control": { + "$ref": "Control", + "description": "Configuration for the service control plane." + }, + "configVersion": { + "format": "uint32", + "description": "The semantic version of the service configuration. The config version\naffects the interpretation of the service configuration. For example,\ncertain features are enabled by default for certain config versions.\nThe latest config version is `3`.", + "type": "integer" + }, + "monitoring": { + "$ref": "Monitoring", + "description": "Monitoring configuration." + }, + "systemTypes": { + "description": "A list of all proto message types included in this API service.\nIt serves similar purpose as [google.api.Service.types], except that\nthese types are not needed by user-defined APIs. Therefore, they will not\nshow up in the generated discovery doc. This field should only be used\nto define system APIs in ESF.", + "items": { + "$ref": "Type" + }, + "type": "array" + }, + "producerProjectId": { + "description": "The Google project that owns this service.", + "type": "string" + }, + "visibility": { + "description": "API visibility configuration.", + "$ref": "Visibility" + }, + "quota": { + "$ref": "Quota", + "description": "Quota configuration." + }, + "billing": { + "description": "Billing configuration.", + "$ref": "Billing" + }, "name": { "description": "The DNS address at which this service is available,\ne.g. `calendar.googleapis.com`.", "type": "string" @@ -2820,29 +849,25 @@ "type": "array" }, "sourceInfo": { - "$ref": "SourceInfo", - "description": "Output only. The source information for this configuration if available." + "description": "Output only. The source information for this configuration if available.", + "$ref": "SourceInfo" }, "http": { "description": "HTTP configuration.", "$ref": "Http" }, + "backend": { + "description": "API backend configuration.", + "$ref": "Backend" + }, "systemParameters": { "$ref": "SystemParameters", "description": "System parameter configuration." }, - "backend": { - "$ref": "Backend", - "description": "API backend configuration." - }, "documentation": { "$ref": "Documentation", "description": "Additional API documentation." }, - "logging": { - "description": "Logging configuration.", - "$ref": "Logging" - }, "monitoredResources": { "description": "Defines the monitored resources used by this service. This is required\nby the Service.monitoring and Service.logging configurations.", "items": { @@ -2850,104 +875,64 @@ }, "type": "array" }, - "enums": { - "description": "A list of all enum types included in this API service. Enums\nreferenced directly or indirectly by the `apis` are automatically\nincluded. Enums which are not referenced but shall be included\nshould be listed here by name. Example:\n\n enums:\n - name: google.someapi.v1.SomeEnum", - "items": { - "$ref": "Enum" - }, - "type": "array" - }, - "context": { - "description": "Context configuration.", - "$ref": "Context" - }, - "id": { - "description": "A unique ID for a specific instance of this message, typically assigned\nby the client for tracking purpose. If empty, the server may choose to\ngenerate one instead.", - "type": "string" - }, - "usage": { - "description": "Configuration controlling usage of this service.", - "$ref": "Usage" - }, - "metrics": { - "description": "Defines the metrics used by this service.", - "items": { - "$ref": "MetricDescriptor" - }, - "type": "array" - }, - "authentication": { - "description": "Auth configuration.", - "$ref": "Authentication" - }, - "experimental": { - "$ref": "Experimental", - "description": "Experimental configuration." - }, - "control": { - "$ref": "Control", - "description": "Configuration for the service control plane." - }, - "configVersion": { - "format": "uint32", - "description": "The version of the service configuration. The config version may\ninfluence interpretation of the configuration, for example, to\ndetermine defaults. This is documented together with applicable\noptions. The current default for the config version itself is `3`.", - "type": "integer" - }, - "monitoring": { - "description": "Monitoring configuration.", - "$ref": "Monitoring" - }, - "systemTypes": { - "description": "A list of all proto message types included in this API service.\nIt serves similar purpose as [google.api.Service.types], except that\nthese types are not needed by user-defined APIs. Therefore, they will not\nshow up in the generated discovery doc. This field should only be used\nto define system APIs in ESF.", - "items": { - "$ref": "Type" - }, - "type": "array" - }, - "producerProjectId": { - "description": "The Google project that owns this service.", - "type": "string" - }, - "visibility": { - "$ref": "Visibility", - "description": "API visibility configuration." - }, - "quota": { - "$ref": "Quota", - "description": "Quota configuration." + "logging": { + "$ref": "Logging", + "description": "Logging configuration." } - }, - "id": "Service" + } }, - "ListOperationsResponse": { - "description": "The response message for Operations.ListOperations.", + "EnumValue": { + "description": "Enum value definition.", "type": "object", "properties": { + "number": { + "format": "int32", + "description": "Enum value number.", + "type": "integer" + }, + "name": { + "type": "string", + "description": "Enum value name." + }, + "options": { + "description": "Protocol buffer options.", + "items": { + "$ref": "Option" + }, + "type": "array" + } + }, + "id": "EnumValue" + }, + "ListOperationsResponse": { + "type": "object", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, "operations": { "description": "A list of operations that matches the specified filter in the request.", "items": { "$ref": "Operation" }, "type": "array" - }, - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" } }, - "id": "ListOperationsResponse" + "id": "ListOperationsResponse", + "description": "The response message for Operations.ListOperations." }, "CustomHttpPattern": { "description": "A custom pattern is used for defining custom HTTP verb.", "type": "object", "properties": { + "kind": { + "description": "The name of this custom HTTP verb.", + "type": "string" + }, "path": { "description": "The path matched by this custom verb.", "type": "string" - }, - "kind": { - "type": "string", - "description": "The name of this custom HTTP verb." } }, "id": "CustomHttpPattern" @@ -2956,6 +941,11 @@ "description": "The metadata associated with a long running operation resource.", "type": "object", "properties": { + "progressPercentage": { + "format": "int32", + "description": "Percentage of completion of this operation, ranging from 0 to 100.", + "type": "integer" + }, "startTime": { "format": "google-datetime", "description": "The start time of the operation.", @@ -2974,16 +964,12 @@ "type": "string" }, "type": "array" - }, - "progressPercentage": { - "format": "int32", - "description": "Percentage of completion of this operation, ranging from 0 to 100.", - "type": "integer" } }, "id": "OperationMetadata" }, "SystemParameterRule": { + "description": "Define a system parameter rule mapping system parameter definitions to\nmethods.", "type": "object", "properties": { "parameters": { @@ -2998,32 +984,12 @@ "type": "string" } }, - "id": "SystemParameterRule", - "description": "Define a system parameter rule mapping system parameter definitions to\nmethods." - }, - "VisibilityRule": { - "type": "object", - "properties": { - "restriction": { - "description": "A comma-separated list of visibility labels that apply to the `selector`.\nAny of the listed labels can be used to grant the visibility.\n\nIf a rule has multiple labels, removing one of the labels but not all of\nthem can break clients.\n\nExample:\n\n visibility:\n rules:\n - selector: google.calendar.Calendar.EnhancedSearch\n restriction: GOOGLE_INTERNAL, TRUSTED_TESTER\n\nRemoving GOOGLE_INTERNAL from this restriction will break clients that\nrely on this method and only had access to it through GOOGLE_INTERNAL.", - "type": "string" - }, - "selector": { - "description": "Selects methods, messages, fields, enums, etc. to which this rule applies.\n\nRefer to selector for syntax details.", - "type": "string" - } - }, - "id": "VisibilityRule", - "description": "A visibility rule provides visibility configuration for an individual API\nelement." + "id": "SystemParameterRule" }, "HttpRule": { "description": "`HttpRule` defines the mapping of an RPC method to one or more HTTP\nREST API methods. The mapping specifies how different portions of the RPC\nrequest message are mapped to URL path, URL query parameters, and\nHTTP request body. The mapping is typically specified as an\n`google.api.http` annotation on the RPC method,\nsee \"google/api/annotations.proto\" for details.\n\nThe mapping consists of a field specifying the path template and\nmethod kind. The path template can refer to fields in the request\nmessage, as in the example below which describes a REST GET\noperation on a resource collection of messages:\n\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http).get = \"/v1/messages/{message_id}/{sub.subfield}\";\n }\n }\n message GetMessageRequest {\n message SubMessage {\n string subfield = 1;\n }\n string message_id = 1; // mapped to the URL\n SubMessage sub = 2; // `sub.subfield` is url-mapped\n }\n message Message {\n string text = 1; // content of the resource\n }\n\nThe same http annotation can alternatively be expressed inside the\n`GRPC API Configuration` YAML file.\n\n http:\n rules:\n - selector: \u003cproto_package_name\u003e.Messaging.GetMessage\n get: /v1/messages/{message_id}/{sub.subfield}\n\nThis definition enables an automatic, bidrectional mapping of HTTP\nJSON to RPC. Example:\n\nHTTP | RPC\n-----|-----\n`GET /v1/messages/123456/foo` | `GetMessage(message_id: \"123456\" sub: SubMessage(subfield: \"foo\"))`\n\nIn general, not only fields but also field paths can be referenced\nfrom a path pattern. Fields mapped to the path pattern cannot be\nrepeated and must have a primitive (non-message) type.\n\nAny fields in the request message which are not bound by the path\npattern automatically become (optional) HTTP query\nparameters. Assume the following definition of the request message:\n\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http).get = \"/v1/messages/{message_id}\";\n }\n }\n message GetMessageRequest {\n message SubMessage {\n string subfield = 1;\n }\n string message_id = 1; // mapped to the URL\n int64 revision = 2; // becomes a parameter\n SubMessage sub = 3; // `sub.subfield` becomes a parameter\n }\n\n\nThis enables a HTTP JSON to RPC mapping as below:\n\nHTTP | RPC\n-----|-----\n`GET /v1/messages/123456?revision=2&sub.subfield=foo` | `GetMessage(message_id: \"123456\" revision: 2 sub: SubMessage(subfield: \"foo\"))`\n\nNote that fields which are mapped to HTTP parameters must have a\nprimitive type or a repeated primitive type. Message types are not\nallowed. In the case of a repeated type, the parameter can be\nrepeated in the URL, as in `...?param=A¶m=B`.\n\nFor HTTP method kinds which allow a request body, the `body` field\nspecifies the mapping. Consider a REST update method on the\nmessage resource collection:\n\n\n service Messaging {\n rpc UpdateMessage(UpdateMessageRequest) returns (Message) {\n option (google.api.http) = {\n put: \"/v1/messages/{message_id}\"\n body: \"message\"\n };\n }\n }\n message UpdateMessageRequest {\n string message_id = 1; // mapped to the URL\n Message message = 2; // mapped to the body\n }\n\n\nThe following HTTP JSON to RPC mapping is enabled, where the\nrepresentation of the JSON in the request body is determined by\nprotos JSON encoding:\n\nHTTP | RPC\n-----|-----\n`PUT /v1/messages/123456 { \"text\": \"Hi!\" }` | `UpdateMessage(message_id: \"123456\" message { text: \"Hi!\" })`\n\nThe special name `*` can be used in the body mapping to define that\nevery field not bound by the path template should be mapped to the\nrequest body. This enables the following alternative definition of\nthe update method:\n\n service Messaging {\n rpc UpdateMessage(Message) returns (Message) {\n option (google.api.http) = {\n put: \"/v1/messages/{message_id}\"\n body: \"*\"\n };\n }\n }\n message Message {\n string message_id = 1;\n string text = 2;\n }\n\n\nThe following HTTP JSON to RPC mapping is enabled:\n\nHTTP | RPC\n-----|-----\n`PUT /v1/messages/123456 { \"text\": \"Hi!\" }` | `UpdateMessage(message_id: \"123456\" text: \"Hi!\")`\n\nNote that when using `*` in the body mapping, it is not possible to\nhave HTTP parameters, as all fields not bound by the path end in\nthe body. This makes this option more rarely used in practice of\ndefining REST APIs. The common usage of `*` is in custom methods\nwhich don't use the URL at all for transferring data.\n\nIt is possible to define multiple HTTP methods for one RPC by using\nthe `additional_bindings` option. Example:\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http) = {\n get: \"/v1/messages/{message_id}\"\n additional_bindings {\n get: \"/v1/users/{user_id}/messages/{message_id}\"\n }\n };\n }\n }\n message GetMessageRequest {\n string message_id = 1;\n string user_id = 2;\n }\n\n\nThis enables the following two alternative HTTP JSON to RPC\nmappings:\n\nHTTP | RPC\n-----|-----\n`GET /v1/messages/123456` | `GetMessage(message_id: \"123456\")`\n`GET /v1/users/me/messages/123456` | `GetMessage(user_id: \"me\" message_id: \"123456\")`\n\n# Rules for HTTP mapping\n\nThe rules for mapping HTTP path, query parameters, and body fields\nto the request message are as follows:\n\n1. The `body` field specifies either `*` or a field path, or is\n omitted. If omitted, it indicates there is no HTTP request body.\n2. Leaf fields (recursive expansion of nested messages in the\n request) can be classified into three types:\n (a) Matched in the URL template.\n (b) Covered by body (if body is `*`, everything except (a) fields;\n else everything under the body field)\n (c) All other fields.\n3. URL query parameters found in the HTTP request are mapped to (c) fields.\n4. Any body sent with an HTTP request can contain only (b) fields.\n\nThe syntax of the path template is as follows:\n\n Template = \"/\" Segments [ Verb ] ;\n Segments = Segment { \"/\" Segment } ;\n Segment = \"*\" | \"**\" | LITERAL | Variable ;\n Variable = \"{\" FieldPath [ \"=\" Segments ] \"}\" ;\n FieldPath = IDENT { \".\" IDENT } ;\n Verb = \":\" LITERAL ;\n\nThe syntax `*` matches a single path segment. The syntax `**` matches zero\nor more path segments, which must be the last part of the path except the\n`Verb`. The syntax `LITERAL` matches literal text in the path.\n\nThe syntax `Variable` matches part of the URL path as specified by its\ntemplate. A variable template must not contain other variables. If a variable\nmatches a single path segment, its template may be omitted, e.g. `{var}`\nis equivalent to `{var=*}`.\n\nIf a variable contains exactly one path segment, such as `\"{var}\"` or\n`\"{var=*}\"`, when such a variable is expanded into a URL path, all characters\nexcept `[-_.~0-9a-zA-Z]` are percent-encoded. Such variables show up in the\nDiscovery Document as `{var}`.\n\nIf a variable contains one or more path segments, such as `\"{var=foo/*}\"`\nor `\"{var=**}\"`, when such a variable is expanded into a URL path, all\ncharacters except `[-_.~/0-9a-zA-Z]` are percent-encoded. Such variables\nshow up in the Discovery Document as `{+var}`.\n\nNOTE: While the single segment variable matches the semantics of\n[RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2\nSimple String Expansion, the multi segment variable **does not** match\nRFC 6570 Reserved Expansion. The reason is that the Reserved Expansion\ndoes not expand special characters like `?` and `#`, which would lead\nto invalid URLs.\n\nNOTE: the field paths in variables and in the `body` must not refer to\nrepeated fields or map fields.", "type": "object", "properties": { - "restMethodName": { - "description": "Optional. The rest method name is by default derived from the URL\npattern. If specified, this field overrides the default method name.\nExample:\n\n rpc CreateResource(CreateResourceRequest)\n returns (CreateResourceResponse) {\n option (google.api.http) = {\n post: \"/v1/resources\",\n body: \"resource\",\n rest_method_name: \"insert\"\n };\n }\n\nThis method has the automatically derived rest method name \"create\", but\n for backwards compatability with apiary, it is specified as insert.", - "type": "string" - }, "additionalBindings": { "description": "Additional HTTP bindings for the selector. Nested bindings must\nnot contain an `additional_bindings` field themselves (that is,\nthe nesting may only be one level deep).", "items": { @@ -3031,33 +997,29 @@ }, "type": "array" }, - "restCollection": { - "type": "string", - "description": "Optional. The REST collection name is by default derived from the URL\npattern. If specified, this field overrides the default collection name.\nExample:\n\n rpc AddressesAggregatedList(AddressesAggregatedListRequest)\n returns (AddressesAggregatedListResponse) {\n option (google.api.http) = {\n get: \"/v1/projects/{project_id}/aggregated/addresses\"\n rest_collection: \"projects.addresses\"\n };\n }\n\nThis method has the automatically derived collection name\n\"projects.aggregated\". Because, semantically, this rpc is actually an\noperation on the \"projects.addresses\" collection, the `rest_collection`\nfield is configured to override the derived collection name." - }, "responseBody": { "description": "The name of the response field whose value is mapped to the HTTP body of\nresponse. Other response fields are ignored. This field is optional. When\nnot set, the response message will be used as HTTP body of response.\nNOTE: the referred field must be not a repeated field and must be present\nat the top-level of response message type.", "type": "string" }, "mediaUpload": { - "$ref": "MediaUpload", - "description": "Use this only for Scotty Requests. Do not use this for media support using\nBytestream, add instead\n[][google.bytestream.RestByteStream] as an API to your\nconfiguration for Bytestream methods." + "description": "Use this only for Scotty Requests. Do not use this for media support using\nBytestream, add instead\n[][google.bytestream.RestByteStream] as an API to your\nconfiguration for Bytestream methods.", + "$ref": "MediaUpload" }, "selector": { "description": "Selects methods to which this rule applies.\n\nRefer to selector for syntax details.", "type": "string" }, "custom": { - "description": "The custom pattern is used for specifying an HTTP method that is not\nincluded in the `pattern` field, such as HEAD, or \"*\" to leave the\nHTTP method unspecified for this rule. The wild-card rule is useful\nfor services that provide content to Web (HTML) clients.", - "$ref": "CustomHttpPattern" + "$ref": "CustomHttpPattern", + "description": "The custom pattern is used for specifying an HTTP method that is not\nincluded in the `pattern` field, such as HEAD, or \"*\" to leave the\nHTTP method unspecified for this rule. The wild-card rule is useful\nfor services that provide content to Web (HTML) clients." }, "patch": { "description": "Used for updating a resource.", "type": "string" }, "get": { - "description": "Used for listing and getting information about resources.", - "type": "string" + "type": "string", + "description": "Used for listing and getting information about resources." }, "put": { "description": "Used for updating a resource.", @@ -3068,8 +1030,8 @@ "type": "string" }, "body": { - "description": "The name of the request field whose value is mapped to the HTTP body, or\n`*` for mapping all fields not captured by the path pattern to the HTTP\nbody. NOTE: the referred field must not be a repeated field and must be\npresent at the top-level of request message type.", - "type": "string" + "type": "string", + "description": "The name of the request field whose value is mapped to the HTTP body, or\n`*` for mapping all fields not captured by the path pattern to the HTTP\nbody. NOTE: the referred field must not be a repeated field and must be\npresent at the top-level of request message type." }, "mediaDownload": { "$ref": "MediaDownload", @@ -3082,13 +1044,28 @@ }, "id": "HttpRule" }, + "VisibilityRule": { + "description": "A visibility rule provides visibility configuration for an individual API\nelement.", + "type": "object", + "properties": { + "restriction": { + "description": "A comma-separated list of visibility labels that apply to the `selector`.\nAny of the listed labels can be used to grant the visibility.\n\nIf a rule has multiple labels, removing one of the labels but not all of\nthem can break clients.\n\nExample:\n\n visibility:\n rules:\n - selector: google.calendar.Calendar.EnhancedSearch\n restriction: GOOGLE_INTERNAL, TRUSTED_TESTER\n\nRemoving GOOGLE_INTERNAL from this restriction will break clients that\nrely on this method and only had access to it through GOOGLE_INTERNAL.", + "type": "string" + }, + "selector": { + "type": "string", + "description": "Selects methods, messages, fields, enums, etc. to which this rule applies.\n\nRefer to selector for syntax details." + } + }, + "id": "VisibilityRule" + }, "MonitoringDestination": { "description": "Configuration of a specific monitoring destination (the producer project\nor the consumer project).", "type": "object", "properties": { "monitoredResource": { - "description": "The monitored resource type. The type must be defined in\nService.monitored_resources section.", - "type": "string" + "type": "string", + "description": "The monitored resource type. The type must be defined in\nService.monitored_resources section." }, "metrics": { "description": "Names of the metrics to report to this monitoring destination.\nEach name must be defined in Service.metrics section.", @@ -3101,7 +1078,6 @@ "id": "MonitoringDestination" }, "Visibility": { - "description": "`Visibility` defines restrictions for the visibility of service\nelements. Restrictions are specified using visibility labels\n(e.g., TRUSTED_TESTER) that are elsewhere linked to users and projects.\n\nUsers and projects can have access to more than one visibility label. The\neffective visibility for multiple labels is the union of each label's\nelements, plus any unrestricted elements.\n\nIf an element and its parents have no restrictions, visibility is\nunconditionally granted.\n\nExample:\n\n visibility:\n rules:\n - selector: google.calendar.Calendar.EnhancedSearch\n restriction: TRUSTED_TESTER\n - selector: google.calendar.Calendar.Delegate\n restriction: GOOGLE_INTERNAL\n\nHere, all methods are publicly visible except for the restricted methods\nEnhancedSearch and Delegate.", "type": "object", "properties": { "rules": { @@ -3112,44 +1088,41 @@ "type": "array" } }, - "id": "Visibility" + "id": "Visibility", + "description": "`Visibility` defines restrictions for the visibility of service\nelements. Restrictions are specified using visibility labels\n(e.g., TRUSTED_TESTER) that are elsewhere linked to users and projects.\n\nUsers and projects can have access to more than one visibility label. The\neffective visibility for multiple labels is the union of each label's\nelements, plus any unrestricted elements.\n\nIf an element and its parents have no restrictions, visibility is\nunconditionally granted.\n\nExample:\n\n visibility:\n rules:\n - selector: google.calendar.Calendar.EnhancedSearch\n restriction: TRUSTED_TESTER\n - selector: google.calendar.Calendar.Delegate\n restriction: GOOGLE_INTERNAL\n\nHere, all methods are publicly visible except for the restricted methods\nEnhancedSearch and Delegate." }, "SystemParameters": { + "id": "SystemParameters", "description": "### System parameter configuration\n\nA system parameter is a special kind of parameter defined by the API\nsystem, not by an individual API. It is typically mapped to an HTTP header\nand/or a URL query parameter. This configuration specifies which methods\nchange the names of the system parameters.", "type": "object", "properties": { "rules": { + "description": "Define system parameters.\n\nThe parameters defined here will override the default parameters\nimplemented by the system. If this field is missing from the service\nconfig, default system parameters will be used. Default system parameters\nand names is implementation-dependent.\n\nExample: define api key for all methods\n\n system_parameters\n rules:\n - selector: \"*\"\n parameters:\n - name: api_key\n url_query_parameter: api_key\n\n\nExample: define 2 api key names for a specific method.\n\n system_parameters\n rules:\n - selector: \"/ListShelves\"\n parameters:\n - name: api_key\n http_header: Api-Key1\n - name: api_key\n http_header: Api-Key2\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.", "items": { "$ref": "SystemParameterRule" }, - "type": "array", - "description": "Define system parameters.\n\nThe parameters defined here will override the default parameters\nimplemented by the system. If this field is missing from the service\nconfig, default system parameters will be used. Default system parameters\nand names is implementation-dependent.\n\nExample: define api key for all methods\n\n system_parameters\n rules:\n - selector: \"*\"\n parameters:\n - name: api_key\n url_query_parameter: api_key\n\n\nExample: define 2 api key names for a specific method.\n\n system_parameters\n rules:\n - selector: \"/ListShelves\"\n parameters:\n - name: api_key\n http_header: Api-Key1\n - name: api_key\n http_header: Api-Key2\n\n**NOTE:** All service configuration rules follow \"last one wins\" order." + "type": "array" } - }, - "id": "SystemParameters" + } }, "ConfigChange": { "type": "object", "properties": { - "newValue": { - "description": "Value of the changed object in the new Service configuration,\nin JSON format. This field will not be populated if ChangeType == REMOVED.", - "type": "string" - }, "changeType": { - "type": "string", - "enumDescriptions": [ - "No value was provided.", - "The changed object exists in the 'new' service configuration, but not\nin the 'old' service configuration.", - "The changed object exists in the 'old' service configuration, but not\nin the 'new' service configuration.", - "The changed object exists in both service configurations, but its value\nis different." - ], "enum": [ "CHANGE_TYPE_UNSPECIFIED", "ADDED", "REMOVED", "MODIFIED" ], - "description": "The type for this change, either ADDED, REMOVED, or MODIFIED." + "description": "The type for this change, either ADDED, REMOVED, or MODIFIED.", + "type": "string", + "enumDescriptions": [ + "No value was provided.", + "The changed object exists in the 'new' service configuration, but not\nin the 'old' service configuration.", + "The changed object exists in the 'old' service configuration, but not\nin the 'new' service configuration.", + "The changed object exists in both service configurations, but its value\nis different." + ] }, "element": { "description": "Object hierarchy path to the change, with levels separated by a '.'\ncharacter. For repeated fields, an applicable unique identifier field is\nused for the index (usually selector, name, or id). For maps, the term\n'key' is used. If the field has no unique identifier, the numeric index\nis used.\nExamples:\n- visibility.rules[selector==\"google.LibraryService.CreateBook\"].restriction\n- quota.metric_rules[selector==\"google\"].metric_costs[key==\"reads\"].value\n- logging.producer_destinations[0]", @@ -3163,7 +1136,11 @@ "type": "array" }, "oldValue": { - "description": "Value of the changed object in the old Service configuration,\nin JSON format. This field will not be populated if ChangeType == ADDED.", + "type": "string", + "description": "Value of the changed object in the old Service configuration,\nin JSON format. This field will not be populated if ChangeType == ADDED." + }, + "newValue": { + "description": "Value of the changed object in the new Service configuration,\nin JSON format. This field will not be populated if ChangeType == REMOVED.", "type": "string" } }, @@ -3171,25 +1148,25 @@ "description": "Output generated from semantically comparing two versions of a service\nconfiguration.\n\nIncludes detailed information about a field that have changed with\napplicable advice about potential consequences for the change, such as\nbackwards-incompatibility." }, "Quota": { - "description": "Quota configuration helps to achieve fairness and budgeting in service\nusage.\n\nThe quota configuration works this way:\n- The service configuration defines a set of metrics.\n- For API calls, the quota.metric_rules maps methods to metrics with\n corresponding costs.\n- The quota.limits defines limits on the metrics, which will be used for\n quota checks at runtime.\n\nAn example quota configuration in yaml format:\n\n quota:\n\n - name: apiWriteQpsPerProject\n metric: library.googleapis.com/write_calls\n unit: \"1/min/{project}\" # rate limit for consumer projects\n values:\n STANDARD: 10000\n\n\n # The metric rules bind all methods to the read_calls metric,\n # except for the UpdateBook and DeleteBook methods. These two methods\n # are mapped to the write_calls metric, with the UpdateBook method\n # consuming at twice rate as the DeleteBook method.\n metric_rules:\n - selector: \"*\"\n metric_costs:\n library.googleapis.com/read_calls: 1\n - selector: google.example.library.v1.LibraryService.UpdateBook\n metric_costs:\n library.googleapis.com/write_calls: 2\n - selector: google.example.library.v1.LibraryService.DeleteBook\n metric_costs:\n library.googleapis.com/write_calls: 1\n\n Corresponding Metric definition:\n\n metrics:\n - name: library.googleapis.com/read_calls\n display_name: Read requests\n metric_kind: DELTA\n value_type: INT64\n\n - name: library.googleapis.com/write_calls\n display_name: Write requests\n metric_kind: DELTA\n value_type: INT64", - "type": "object", "properties": { - "limits": { - "description": "List of `QuotaLimit` definitions for the service.", - "items": { - "$ref": "QuotaLimit" - }, - "type": "array" - }, "metricRules": { "description": "List of `MetricRule` definitions, each one mapping a selected method to one\nor more metrics.", "items": { "$ref": "MetricRule" }, "type": "array" + }, + "limits": { + "description": "List of `QuotaLimit` definitions for the service.", + "items": { + "$ref": "QuotaLimit" + }, + "type": "array" } }, - "id": "Quota" + "id": "Quota", + "description": "Quota configuration helps to achieve fairness and budgeting in service\nusage.\n\nThe quota configuration works this way:\n- The service configuration defines a set of metrics.\n- For API calls, the quota.metric_rules maps methods to metrics with\n corresponding costs.\n- The quota.limits defines limits on the metrics, which will be used for\n quota checks at runtime.\n\nAn example quota configuration in yaml format:\n\n quota:\n\n - name: apiWriteQpsPerProject\n metric: library.googleapis.com/write_calls\n unit: \"1/min/{project}\" # rate limit for consumer projects\n values:\n STANDARD: 10000\n\n\n # The metric rules bind all methods to the read_calls metric,\n # except for the UpdateBook and DeleteBook methods. These two methods\n # are mapped to the write_calls metric, with the UpdateBook method\n # consuming at twice rate as the DeleteBook method.\n metric_rules:\n - selector: \"*\"\n metric_costs:\n library.googleapis.com/read_calls: 1\n - selector: google.example.library.v1.LibraryService.UpdateBook\n metric_costs:\n library.googleapis.com/write_calls: 2\n - selector: google.example.library.v1.LibraryService.DeleteBook\n metric_costs:\n library.googleapis.com/write_calls: 1\n\n Corresponding Metric definition:\n\n metrics:\n - name: library.googleapis.com/read_calls\n display_name: Read requests\n metric_kind: DELTA\n value_type: INT64\n\n - name: library.googleapis.com/write_calls\n display_name: Write requests\n metric_kind: DELTA\n value_type: INT64", + "type": "object" }, "Rollout": { "description": "A rollout resource that defines how service configuration versions are pushed\nto control plane systems. Typically, you create a new version of the\nservice config, and then create a Rollout to push the service config.", @@ -3209,6 +1186,8 @@ "type": "string" }, "status": { + "description": "The status of this rollout. Readonly. In case of a failed rollout,\nthe system will automatically rollback to the current Rollout\nversion. Readonly.", + "type": "string", "enumDescriptions": [ "No status specified.", "The Rollout is in progress.", @@ -3226,13 +1205,11 @@ "FAILED", "PENDING", "FAILED_ROLLED_BACK" - ], - "description": "The status of this rollout. Readonly. In case of a failed rollout,\nthe system will automatically rollback to the current Rollout\nversion. Readonly.", - "type": "string" + ] }, "serviceName": { - "description": "The name of the service associated with this Rollout.", - "type": "string" + "type": "string", + "description": "The name of the service associated with this Rollout." }, "trafficPercentStrategy": { "$ref": "TrafficPercentStrategy", @@ -3246,16 +1223,15 @@ "id": "Rollout" }, "GenerateConfigReportRequest": { - "description": "Request message for GenerateConfigReport method.", "type": "object", "properties": { "oldConfig": { - "description": "Service configuration against which the comparison will be done.\nFor this version of API, the supported types are\ngoogle.api.servicemanagement.v1.ConfigRef,\ngoogle.api.servicemanagement.v1.ConfigSource,\nand google.api.Service", - "type": "object", "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" - } + }, + "description": "Service configuration against which the comparison will be done.\nFor this version of API, the supported types are\ngoogle.api.servicemanagement.v1.ConfigRef,\ngoogle.api.servicemanagement.v1.ConfigSource,\nand google.api.Service", + "type": "object" }, "newConfig": { "additionalProperties": { @@ -3266,7 +1242,8 @@ "type": "object" } }, - "id": "GenerateConfigReportRequest" + "id": "GenerateConfigReportRequest", + "description": "Request message for GenerateConfigReport method." }, "SetIamPolicyRequest": { "type": "object", @@ -3277,24 +1254,31 @@ "type": "string" }, "policy": { - "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them.", - "$ref": "Policy" + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." } }, "id": "SetIamPolicyRequest", "description": "Request message for `SetIamPolicy` method." }, "DeleteServiceStrategy": { + "id": "DeleteServiceStrategy", "description": "Strategy used to delete a service. This strategy is a placeholder only\nused by the system generated rollout to delete a service.", "type": "object", - "properties": {}, - "id": "DeleteServiceStrategy" + "properties": {} }, "Step": { - "description": "Represents the status of one operation step.", "type": "object", "properties": { "status": { + "enumDescriptions": [ + "Unspecifed code.", + "The operation or step has completed without errors.", + "The operation or step has not started yet.", + "The operation or step is in progress.", + "The operation or step has completed with errors. If the operation is\nrollbackable, the rollback completed with errors too.", + "The operation or step has completed with cancellation." + ], "enum": [ "STATUS_UNSPECIFIED", "DONE", @@ -3304,61 +1288,56 @@ "CANCELLED" ], "description": "The status code.", - "type": "string", - "enumDescriptions": [ - "Unspecifed code.", - "The operation or step has completed without errors.", - "The operation or step has not started yet.", - "The operation or step is in progress.", - "The operation or step has completed with errors. If the operation is\nrollbackable, the rollback completed with errors too.", - "The operation or step has completed with cancellation." - ] + "type": "string" }, "description": { "description": "The short description of the step.", "type": "string" } }, - "id": "Step" + "id": "Step", + "description": "Represents the status of one operation step." }, "LoggingDestination": { "description": "Configuration of a specific logging destination (the producer project\nor the consumer project).", "type": "object", "properties": { - "monitoredResource": { - "description": "The monitored resource type. The type must be defined in the\nService.monitored_resources section.", - "type": "string" - }, "logs": { "description": "Names of the logs to be sent to this destination. Each name must\nbe defined in the Service.logs section. If the log name is\nnot a domain scoped name, it will be automatically prefixed with\nthe service name followed by \"/\".", "items": { "type": "string" }, "type": "array" + }, + "monitoredResource": { + "description": "The monitored resource type. The type must be defined in the\nService.monitored_resources section.", + "type": "string" } }, "id": "LoggingDestination" }, "Option": { - "description": "A protocol buffer option, which can be attached to a message, field,\nenumeration, etc.", - "type": "object", "properties": { - "value": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "The option's value packed in an Any message. If the value is a primitive,\nthe corresponding wrapper type defined in google/protobuf/wrappers.proto\nshould be used. If the value is an enum, it should be stored as an int32\nvalue using the google.protobuf.Int32Value type.", - "type": "object" - }, "name": { "description": "The option's name. For protobuf built-in options (options defined in\ndescriptor.proto), this is the short name. For example, `\"map_entry\"`.\nFor custom options, it should be the fully-qualified name. For example,\n`\"google.api.http\"`.", "type": "string" + }, + "value": { + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @type with type URL." + }, + "description": "The option's value packed in an Any message. If the value is a primitive,\nthe corresponding wrapper type defined in google/protobuf/wrappers.proto\nshould be used. If the value is an enum, it should be stored as an int32\nvalue using the google.protobuf.Int32Value type.", + "type": "object" } }, - "id": "Option" + "id": "Option", + "description": "A protocol buffer option, which can be attached to a message, field,\nenumeration, etc.", + "type": "object" }, "Logging": { + "description": "Logging configuration of the service.\n\nThe following example shows how to configure logs to be sent to the\nproducer and consumer projects. In the example, the `activity_history`\nlog is sent to both the producer and consumer projects, whereas the\n`purchase_history` log is only sent to the producer project.\n\n monitored_resources:\n - type: library.googleapis.com/branch\n labels:\n - key: /city\n description: The city where the library branch is located in.\n - key: /name\n description: The name of the branch.\n logs:\n - name: activity_history\n labels:\n - key: /customer_id\n - name: purchase_history\n logging:\n producer_destinations:\n - monitored_resource: library.googleapis.com/branch\n logs:\n - activity_history\n - purchase_history\n consumer_destinations:\n - monitored_resource: library.googleapis.com/branch\n logs:\n - activity_history", + "type": "object", "properties": { "consumerDestinations": { "description": "Logging configurations for sending logs to the consumer project.\nThere can be multiple consumer destinations, each one must have a\ndifferent monitored resource type. A log can be used in at most\none consumer destination.", @@ -3368,32 +1347,1029 @@ "type": "array" }, "producerDestinations": { + "description": "Logging configurations for sending logs to the producer project.\nThere can be multiple producer destinations, each one must have a\ndifferent monitored resource type. A log can be used in at most\none producer destination.", "items": { "$ref": "LoggingDestination" }, - "type": "array", - "description": "Logging configurations for sending logs to the producer project.\nThere can be multiple producer destinations, each one must have a\ndifferent monitored resource type. A log can be used in at most\none producer destination." + "type": "array" } }, - "id": "Logging", - "description": "Logging configuration of the service.\n\nThe following example shows how to configure logs to be sent to the\nproducer and consumer projects. In the example, the `activity_history`\nlog is sent to both the producer and consumer projects, whereas the\n`purchase_history` log is only sent to the producer project.\n\n monitored_resources:\n - type: library.googleapis.com/branch\n labels:\n - key: /city\n description: The city where the library branch is located in.\n - key: /name\n description: The name of the branch.\n logs:\n - name: activity_history\n labels:\n - key: /customer_id\n - name: purchase_history\n logging:\n producer_destinations:\n - monitored_resource: library.googleapis.com/branch\n logs:\n - activity_history\n - purchase_history\n consumer_destinations:\n - monitored_resource: library.googleapis.com/branch\n logs:\n - activity_history", + "id": "Logging" + }, + "QuotaLimit": { + "properties": { + "duration": { + "description": "Duration of this limit in textual notation. Example: \"100s\", \"24h\", \"1d\".\nFor duration longer than a day, only multiple of days is supported. We\nsupport only \"100s\" and \"1d\" for now. Additional support will be added in\nthe future. \"0\" indicates indefinite duration.\n\nUsed by group-based quotas only.", + "type": "string" + }, + "freeTier": { + "format": "int64", + "description": "Free tier value displayed in the Developers Console for this limit.\nThe free tier is the number of tokens that will be subtracted from the\nbilled amount when billing is enabled.\nThis field can only be set on a limit with duration \"1d\", in a billable\ngroup; it is invalid on any other limit. If this field is not set, it\ndefaults to 0, indicating that there is no free tier for this service.\n\nUsed by group-based quotas only.", + "type": "string" + }, + "defaultLimit": { + "format": "int64", + "description": "Default number of tokens that can be consumed during the specified\nduration. This is the number of tokens assigned when a client\napplication developer activates the service for his/her project.\n\nSpecifying a value of 0 will block all requests. This can be used if you\nare provisioning quota to selected consumers and blocking others.\nSimilarly, a value of -1 will indicate an unlimited quota. No other\nnegative values are allowed.\n\nUsed by group-based quotas only.", + "type": "string" + }, + "displayName": { + "type": "string", + "description": "User-visible display name for this limit.\nOptional. If not set, the UI will provide a default display name based on\nthe quota configuration. This field can be used to override the default\ndisplay name generated from the configuration." + }, + "description": { + "description": "Optional. User-visible, extended description for this quota limit.\nShould be used only when more context is needed to understand this limit\nthan provided by the limit's display name (see: `display_name`).", + "type": "string" + }, + "metric": { + "description": "The name of the metric this quota limit applies to. The quota limits with\nthe same metric will be checked together during runtime. The metric must be\ndefined within the service config.\n\nUsed by metric-based quotas only.", + "type": "string" + }, + "values": { + "description": "Tiered limit values, currently only STANDARD is supported.", + "type": "object", + "additionalProperties": { + "format": "int64", + "type": "string" + } + }, + "unit": { + "description": "Specify the unit of the quota limit. It uses the same syntax as\nMetric.unit. The supported unit kinds are determined by the quota\nbackend system.\n\nThe [Google Service Control](https://cloud.google.com/service-control)\nsupports the following unit components:\n* One of the time intevals:\n * \"/min\" for quota every minute.\n * \"/d\" for quota every 24 hours, starting 00:00 US Pacific Time.\n * Otherwise the quota won't be reset by time, such as storage limit.\n* One and only one of the granted containers:\n * \"/{project}\" quota for a project\n\nHere are some examples:\n* \"1/min/{project}\" for quota per minute per project.\n\nNote: the order of unit components is insignificant.\nThe \"1\" at the beginning is required to follow the metric unit syntax.\n\nUsed by metric-based quotas only.", + "type": "string" + }, + "maxLimit": { + "format": "int64", + "description": "Maximum number of tokens that can be consumed during the specified\nduration. Client application developers can override the default limit up\nto this maximum. If specified, this value cannot be set to a value less\nthan the default limit. If not specified, it is set to the default limit.\n\nTo allow clients to apply overrides with no upper bound, set this to -1,\nindicating unlimited maximum quota.\n\nUsed by group-based quotas only.", + "type": "string" + }, + "name": { + "description": "Name of the quota limit. The name is used to refer to the limit when\noverriding the default limit on per-consumer basis.\n\nFor metric-based quota limits, the name must be provided, and it must be\nunique within the service. The name can only include alphanumeric\ncharacters as well as '-'.\n\nThe maximum length of the limit name is 64 characters.\n\nThe name of a limit is used as a unique identifier for this limit.\nTherefore, once a limit has been put into use, its name should be\nimmutable. You can use the display_name field to provide a user-friendly\nname for the limit. The display name can be evolved over time without\naffecting the identity of the limit.", + "type": "string" + } + }, + "id": "QuotaLimit", + "description": "`QuotaLimit` defines a specific limit that applies over a specified duration\nfor a limit type. There can be at most one limit for a duration and limit\ntype combination defined within a `QuotaGroup`.", "type": "object" + }, + "Method": { + "type": "object", + "properties": { + "responseTypeUrl": { + "type": "string", + "description": "The URL of the output message type." + }, + "options": { + "description": "Any metadata attached to the method.", + "items": { + "$ref": "Option" + }, + "type": "array" + }, + "responseStreaming": { + "description": "If true, the response is streamed.", + "type": "boolean" + }, + "name": { + "description": "The simple name of this method.", + "type": "string" + }, + "requestTypeUrl": { + "description": "A URL of the input message type.", + "type": "string" + }, + "requestStreaming": { + "description": "If true, the request is streamed.", + "type": "boolean" + }, + "syntax": { + "enumDescriptions": [ + "Syntax `proto2`.", + "Syntax `proto3`." + ], + "enum": [ + "SYNTAX_PROTO2", + "SYNTAX_PROTO3" + ], + "description": "The source syntax of this method.", + "type": "string" + } + }, + "id": "Method", + "description": "Method represents a method of an API interface." + }, + "ListServiceRolloutsResponse": { + "description": "Response message for ListServiceRollouts method.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "The token of the next page of results.", + "type": "string" + }, + "rollouts": { + "description": "The list of rollout resources.", + "items": { + "$ref": "Rollout" + }, + "type": "array" + } + }, + "id": "ListServiceRolloutsResponse" + }, + "ConfigRef": { + "type": "object", + "properties": { + "name": { + "description": "Resource name of a service config. It must have the following\nformat: \"services/{service name}/configs/{config id}\".", + "type": "string" + } + }, + "id": "ConfigRef", + "description": "Represents a service configuration with its name and id." + }, + "Mixin": { + "type": "object", + "properties": { + "name": { + "description": "The fully qualified name of the interface which is included.", + "type": "string" + }, + "root": { + "description": "If non-empty specifies a path under which inherited HTTP paths\nare rooted.", + "type": "string" + } + }, + "id": "Mixin", + "description": "Declares an API Interface to be included in this interface. The including\ninterface must redeclare all the methods from the included interface, but\ndocumentation and options are inherited as follows:\n\n- If after comment and whitespace stripping, the documentation\n string of the redeclared method is empty, it will be inherited\n from the original method.\n\n- Each annotation belonging to the service config (http,\n visibility) which is not set in the redeclared method will be\n inherited.\n\n- If an http annotation is inherited, the path pattern will be\n modified as follows. Any version prefix will be replaced by the\n version of the including interface plus the root path if\n specified.\n\nExample of a simple mixin:\n\n package google.acl.v1;\n service AccessControl {\n // Get the underlying ACL object.\n rpc GetAcl(GetAclRequest) returns (Acl) {\n option (google.api.http).get = \"/v1/{resource=**}:getAcl\";\n }\n }\n\n package google.storage.v2;\n service Storage {\n // rpc GetAcl(GetAclRequest) returns (Acl);\n\n // Get a data record.\n rpc GetData(GetDataRequest) returns (Data) {\n option (google.api.http).get = \"/v2/{resource=**}\";\n }\n }\n\nExample of a mixin configuration:\n\n apis:\n - name: google.storage.v2.Storage\n mixins:\n - name: google.acl.v1.AccessControl\n\nThe mixin construct implies that all methods in `AccessControl` are\nalso declared with same name and request/response types in\n`Storage`. A documentation generator or annotation processor will\nsee the effective `Storage.GetAcl` method after inherting\ndocumentation and annotations as follows:\n\n service Storage {\n // Get the underlying ACL object.\n rpc GetAcl(GetAclRequest) returns (Acl) {\n option (google.api.http).get = \"/v2/{resource=**}:getAcl\";\n }\n ...\n }\n\nNote how the version in the path pattern changed from `v1` to `v2`.\n\nIf the `root` field in the mixin is specified, it should be a\nrelative path under which inherited HTTP paths are placed. Example:\n\n apis:\n - name: google.storage.v2.Storage\n mixins:\n - name: google.acl.v1.AccessControl\n root: acls\n\nThis implies the following inherited HTTP annotation:\n\n service Storage {\n // Get the underlying ACL object.\n rpc GetAcl(GetAclRequest) returns (Acl) {\n option (google.api.http).get = \"/v2/acls/{resource=**}:getAcl\";\n }\n ...\n }" + }, + "FlowOperationMetadata": { + "id": "FlowOperationMetadata", + "description": "The metadata associated with a long running operation resource.", + "type": "object", + "properties": { + "flowName": { + "description": "The name of the top-level flow corresponding to this operation.\nMust be equal to the \"name\" field for a FlowName enum.", + "type": "string" + }, + "resourceNames": { + "items": { + "type": "string" + }, + "type": "array", + "description": "The full name of the resources that this flow is directly associated with." + }, + "deadline": { + "format": "google-datetime", + "description": "Deadline for the flow to complete, to prevent orphaned Operations.\n\nIf the flow has not completed by this time, it may be terminated by\nthe engine, or force-failed by Operation lookup.\n\nNote that this is not a hard deadline after which the Flow will\ndefinitely be failed, rather it is a deadline after which it is reasonable\nto suspect a problem and other parts of the system may kill operation\nto ensure we don't have orphans.\nsee also: go/prevent-orphaned-operations", + "type": "string" + }, + "cancelState": { + "description": "The state of the operation with respect to cancellation.", + "type": "string", + "enumDescriptions": [ + "Default state, cancellable but not cancelled.", + "The operation has proceeded past the point of no return and cannot\nbe cancelled.", + "The operation has been cancelled, work should cease\nand any needed rollback steps executed." + ], + "enum": [ + "RUNNING", + "UNCANCELLABLE", + "CANCELLED" + ] + }, + "operationType": { + "format": "int32", + "description": "Operation type which is a flow type and subtype info as that is missing in\nour datastore otherwise. This maps to the ordinal value of the enum:\njcg/api/tenant/operations/OperationNamespace.java", + "type": "integer" + }, + "startTime": { + "format": "google-datetime", + "description": "The start time of the operation.", + "type": "string" + }, + "surface": { + "enumDescriptions": [ + "", + "", + "", + "TenancyUnit, ServiceNetworking fall under this" + ], + "enum": [ + "UNSPECIFIED_OP_SERVICE", + "SERVICE_MANAGEMENT", + "SERVICE_USAGE", + "SERVICE_CONSUMER_MANAGEMENT" + ], + "type": "string" + } + } + }, + "CustomError": { + "description": "Customize service error responses. For example, list any service\nspecific protobuf types that can appear in error detail lists of\nerror responses.\n\nExample:\n\n custom_error:\n types:\n - google.foo.v1.CustomError\n - google.foo.v1.AnotherError", + "type": "object", + "properties": { + "types": { + "description": "The list of custom error detail types, e.g. 'google.foo.v1.CustomError'.", + "items": { + "type": "string" + }, + "type": "array" + }, + "rules": { + "description": "The list of custom error rules that apply to individual API messages.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.", + "items": { + "$ref": "CustomErrorRule" + }, + "type": "array" + } + }, + "id": "CustomError" + }, + "Http": { + "description": "Defines the HTTP configuration for an API service. It contains a list of\nHttpRule, each specifying the mapping of an RPC method\nto one or more HTTP REST API methods.", + "type": "object", + "properties": { + "rules": { + "description": "A list of HTTP configuration rules that apply to individual API methods.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.", + "items": { + "$ref": "HttpRule" + }, + "type": "array" + }, + "fullyDecodeReservedExpansion": { + "description": "When set to true, URL path parmeters will be fully URI-decoded except in\ncases of single segment matches in reserved expansion, where \"%2F\" will be\nleft encoded.\n\nThe default behavior is to not decode RFC 6570 reserved characters in multi\nsegment matches.", + "type": "boolean" + } + }, + "id": "Http" + }, + "SourceInfo": { + "type": "object", + "properties": { + "sourceFiles": { + "description": "All files used during config generation.", + "items": { + "type": "object", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + } + }, + "type": "array" + } + }, + "id": "SourceInfo", + "description": "Source information used to create a Service Config" + }, + "Control": { + "properties": { + "environment": { + "description": "The service control environment to use. If empty, no control plane\nfeature (like quota and billing) will be enabled.", + "type": "string" + } + }, + "id": "Control", + "description": "Selects and configures the service controller used by the service. The\nservice controller handles features like abuse, quota, billing, logging,\nmonitoring, etc.", + "type": "object" + }, + "SystemParameter": { + "description": "Define a parameter's name and location. The parameter may be passed as either\nan HTTP header or a URL query parameter, and if both are passed the behavior\nis implementation-dependent.", + "type": "object", + "properties": { + "urlQueryParameter": { + "description": "Define the URL query parameter name to use for the parameter. It is case\nsensitive.", + "type": "string" + }, + "httpHeader": { + "description": "Define the HTTP header name to use for the parameter. It is case\ninsensitive.", + "type": "string" + }, + "name": { + "description": "Define the name of the parameter, such as \"api_key\" . It is case sensitive.", + "type": "string" + } + }, + "id": "SystemParameter" + }, + "Monitoring": { + "id": "Monitoring", + "description": "Monitoring configuration of the service.\n\nThe example below shows how to configure monitored resources and metrics\nfor monitoring. In the example, a monitored resource and two metrics are\ndefined. The `library.googleapis.com/book/returned_count` metric is sent\nto both producer and consumer projects, whereas the\n`library.googleapis.com/book/overdue_count` metric is only sent to the\nconsumer project.\n\n monitored_resources:\n - type: library.googleapis.com/branch\n labels:\n - key: /city\n description: The city where the library branch is located in.\n - key: /name\n description: The name of the branch.\n metrics:\n - name: library.googleapis.com/book/returned_count\n metric_kind: DELTA\n value_type: INT64\n labels:\n - key: /customer_id\n - name: library.googleapis.com/book/overdue_count\n metric_kind: GAUGE\n value_type: INT64\n labels:\n - key: /customer_id\n monitoring:\n producer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/returned_count\n consumer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/returned_count\n - library.googleapis.com/book/overdue_count", + "type": "object", + "properties": { + "consumerDestinations": { + "description": "Monitoring configurations for sending metrics to the consumer project.\nThere can be multiple consumer destinations, each one must have a\ndifferent monitored resource type. A metric can be used in at most\none consumer destination.", + "items": { + "$ref": "MonitoringDestination" + }, + "type": "array" + }, + "producerDestinations": { + "description": "Monitoring configurations for sending metrics to the producer project.\nThere can be multiple producer destinations, each one must have a\ndifferent monitored resource type. A metric can be used in at most\none producer destination.", + "items": { + "$ref": "MonitoringDestination" + }, + "type": "array" + } + } + }, + "Field": { + "type": "object", + "properties": { + "jsonName": { + "description": "The field JSON name.", + "type": "string" + }, + "kind": { + "enum": [ + "TYPE_UNKNOWN", + "TYPE_DOUBLE", + "TYPE_FLOAT", + "TYPE_INT64", + "TYPE_UINT64", + "TYPE_INT32", + "TYPE_FIXED64", + "TYPE_FIXED32", + "TYPE_BOOL", + "TYPE_STRING", + "TYPE_GROUP", + "TYPE_MESSAGE", + "TYPE_BYTES", + "TYPE_UINT32", + "TYPE_ENUM", + "TYPE_SFIXED32", + "TYPE_SFIXED64", + "TYPE_SINT32", + "TYPE_SINT64" + ], + "description": "The field type.", + "type": "string", + "enumDescriptions": [ + "Field type unknown.", + "Field type double.", + "Field type float.", + "Field type int64.", + "Field type uint64.", + "Field type int32.", + "Field type fixed64.", + "Field type fixed32.", + "Field type bool.", + "Field type string.", + "Field type group. Proto2 syntax only, and deprecated.", + "Field type message.", + "Field type bytes.", + "Field type uint32.", + "Field type enum.", + "Field type sfixed32.", + "Field type sfixed64.", + "Field type sint32.", + "Field type sint64." + ] + }, + "options": { + "description": "The protocol buffer options.", + "items": { + "$ref": "Option" + }, + "type": "array" + }, + "oneofIndex": { + "format": "int32", + "description": "The index of the field type in `Type.oneofs`, for message or enumeration\ntypes. The first type has index 1; zero means the type is not in the list.", + "type": "integer" + }, + "packed": { + "description": "Whether to use alternative packed wire representation.", + "type": "boolean" + }, + "cardinality": { + "description": "The field cardinality.", + "type": "string", + "enumDescriptions": [ + "For fields with unknown cardinality.", + "For optional fields.", + "For required fields. Proto2 syntax only.", + "For repeated fields." + ], + "enum": [ + "CARDINALITY_UNKNOWN", + "CARDINALITY_OPTIONAL", + "CARDINALITY_REQUIRED", + "CARDINALITY_REPEATED" + ] + }, + "defaultValue": { + "description": "The string value of the default value of this field. Proto2 syntax only.", + "type": "string" + }, + "name": { + "description": "The field name.", + "type": "string" + }, + "typeUrl": { + "description": "The field type URL, without the scheme, for message or enumeration\ntypes. Example: `\"type.googleapis.com/google.protobuf.Timestamp\"`.", + "type": "string" + }, + "number": { + "format": "int32", + "description": "The field number.", + "type": "integer" + } + }, + "id": "Field", + "description": "A single field of a message type." + }, + "TestIamPermissionsRequest": { + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "TestIamPermissionsRequest", + "description": "Request message for `TestIamPermissions` method.", + "type": "object" + }, + "Enum": { + "description": "Enum type definition.", + "type": "object", + "properties": { + "enumvalue": { + "description": "Enum value definitions.", + "items": { + "$ref": "EnumValue" + }, + "type": "array" + }, + "name": { + "description": "Enum type name.", + "type": "string" + }, + "options": { + "description": "Protocol buffer options.", + "items": { + "$ref": "Option" + }, + "type": "array" + }, + "syntax": { + "enum": [ + "SYNTAX_PROTO2", + "SYNTAX_PROTO3" + ], + "description": "The source syntax.", + "type": "string", + "enumDescriptions": [ + "Syntax `proto2`.", + "Syntax `proto3`." + ] + }, + "sourceContext": { + "$ref": "SourceContext", + "description": "The source context." + } + }, + "id": "Enum" + }, + "EnableServiceRequest": { + "id": "EnableServiceRequest", + "description": "Request message for EnableService method.", + "type": "object", + "properties": { + "consumerId": { + "type": "string", + "description": "The identity of consumer resource which service enablement will be\napplied to.\n\nThe Google Service Management implementation accepts the following\nforms:\n- \"project:\u003cproject_id\u003e\"\n\nNote: this is made compatible with\ngoogle.api.servicecontrol.v1.Operation.consumer_id." + } + } + }, + "Diagnostic": { + "type": "object", + "properties": { + "location": { + "description": "File name and line number of the error or warning.", + "type": "string" + }, + "kind": { + "enumDescriptions": [ + "Warnings and errors", + "Only errors" + ], + "enum": [ + "WARNING", + "ERROR" + ], + "description": "The kind of diagnostic information provided.", + "type": "string" + }, + "message": { + "description": "Message describing the error or warning.", + "type": "string" + } + }, + "id": "Diagnostic", + "description": "Represents a diagnostic message (error or warning)" + }, + "LabelDescriptor": { + "id": "LabelDescriptor", + "description": "A description of a label.", + "type": "object", + "properties": { + "key": { + "description": "The label key.", + "type": "string" + }, + "description": { + "description": "A human-readable description for the label.", + "type": "string" + }, + "valueType": { + "description": "The type of data that can be assigned to the label.", + "type": "string", + "enumDescriptions": [ + "A variable-length string. This is the default.", + "Boolean; true or false.", + "A 64-bit signed integer." + ], + "enum": [ + "STRING", + "BOOL", + "INT64" + ] + } + } + }, + "Type": { + "description": "A protocol buffer message type.", + "type": "object", + "properties": { + "fields": { + "description": "The list of fields.", + "items": { + "$ref": "Field" + }, + "type": "array" + }, + "name": { + "description": "The fully qualified message name.", + "type": "string" + }, + "oneofs": { + "items": { + "type": "string" + }, + "type": "array", + "description": "The list of types appearing in `oneof` definitions in this type." + }, + "sourceContext": { + "$ref": "SourceContext", + "description": "The source context." + }, + "syntax": { + "enumDescriptions": [ + "Syntax `proto2`.", + "Syntax `proto3`." + ], + "enum": [ + "SYNTAX_PROTO2", + "SYNTAX_PROTO3" + ], + "description": "The source syntax.", + "type": "string" + }, + "options": { + "description": "The protocol buffer options.", + "items": { + "$ref": "Option" + }, + "type": "array" + } + }, + "id": "Type" + }, + "GenerateConfigReportResponse": { + "description": "Response message for GenerateConfigReport method.", + "type": "object", + "properties": { + "serviceName": { + "type": "string", + "description": "Name of the service this report belongs to." + }, + "changeReports": { + "description": "list of ChangeReport, each corresponding to comparison between two\nservice configurations.", + "items": { + "$ref": "ChangeReport" + }, + "type": "array" + }, + "id": { + "description": "ID of the service configuration this report belongs to.", + "type": "string" + }, + "diagnostics": { + "description": "Errors / Linter warnings associated with the service definition this\nreport\nbelongs to.", + "items": { + "$ref": "Diagnostic" + }, + "type": "array" + } + }, + "id": "GenerateConfigReportResponse" + }, + "ListServiceConfigsResponse": { + "description": "Response message for ListServiceConfigs method.", + "type": "object", + "properties": { + "serviceConfigs": { + "description": "The list of service configuration resources.", + "items": { + "$ref": "Service" + }, + "type": "array" + }, + "nextPageToken": { + "type": "string", + "description": "The token of the next page of results." + } + }, + "id": "ListServiceConfigsResponse" + }, + "Experimental": { + "description": "Experimental service configuration. These configuration options can\nonly be used by whitelisted users.", + "type": "object", + "properties": { + "authorization": { + "$ref": "AuthorizationConfig", + "description": "Authorization configuration." + } + }, + "id": "Experimental" + }, + "Backend": { + "description": "`Backend` defines the backend configuration for a service.", + "type": "object", + "properties": { + "rules": { + "description": "A list of API backend rules that apply to individual API methods.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.", + "items": { + "$ref": "BackendRule" + }, + "type": "array" + } + }, + "id": "Backend" + }, + "AuditConfig": { + "id": "AuditConfig", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"fooservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:bar@gmail.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts foo@gmail.com from DATA_READ logging, and\nbar@gmail.com from DATA_WRITE logging.", + "type": "object", + "properties": { + "exemptedMembers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", + "type": "string" + }, + "auditLogConfigs": { + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array", + "description": "The configuration for logging of each type of permission.\nNext ID: 4" + } + } + }, + "SubmitConfigSourceRequest": { + "properties": { + "configSource": { + "description": "The source configuration for the service.", + "$ref": "ConfigSource" + }, + "validateOnly": { + "description": "Optional. If set, this will result in the generation of a\n`google.api.Service` configuration based on the `ConfigSource` provided,\nbut the generated config and the sources will NOT be persisted.", + "type": "boolean" + } + }, + "id": "SubmitConfigSourceRequest", + "description": "Request message for SubmitConfigSource method.", + "type": "object" + }, + "DocumentationRule": { + "description": "A documentation rule provides information about individual API elements.", + "type": "object", + "properties": { + "description": { + "description": "Description of the selected API(s).", + "type": "string" + }, + "deprecationDescription": { + "description": "Deprecation description of the selected element(s). It can be provided if an\nelement is marked as `deprecated`.", + "type": "string" + }, + "selector": { + "description": "The selector is a comma-separated list of patterns. Each pattern is a\nqualified name of the element which may end in \"*\", indicating a wildcard.\nWildcards are only allowed at the end and for a whole component of the\nqualified name, i.e. \"foo.*\" is ok, but not \"foo.b*\" or \"foo.*.bar\". To\nspecify a default for all applicable elements, the whole pattern \"*\"\nis used.", + "type": "string" + } + }, + "id": "DocumentationRule" + }, + "AuthorizationConfig": { + "description": "Configuration of authorization.\n\nThis section determines the authorization provider, if unspecified, then no\nauthorization check will be done.\n\nExample:\n\n experimental:\n authorization:\n provider: firebaserules.googleapis.com", + "type": "object", + "properties": { + "provider": { + "description": "The name of the authorization provider, such as\nfirebaserules.googleapis.com.", + "type": "string" + } + }, + "id": "AuthorizationConfig" + }, + "ContextRule": { + "description": "A context rule provides information about the context for an individual API\nelement.", + "type": "object", + "properties": { + "selector": { + "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.", + "type": "string" + }, + "provided": { + "description": "A list of full type names of provided contexts.", + "items": { + "type": "string" + }, + "type": "array" + }, + "requested": { + "items": { + "type": "string" + }, + "type": "array", + "description": "A list of full type names of requested contexts." + } + }, + "id": "ContextRule" + }, + "SourceContext": { + "id": "SourceContext", + "description": "`SourceContext` represents information about the source of a\nprotobuf element, like the file in which it is defined.", + "type": "object", + "properties": { + "fileName": { + "description": "The path-qualified name of the .proto file that contained the associated\nprotobuf element. For example: `\"google/protobuf/source_context.proto\"`.", + "type": "string" + } + } + }, + "MetricDescriptor": { + "description": "Defines a metric type and its schema. Once a metric descriptor is created,\ndeleting or altering it stops data collection and makes the metric type's\nexisting data unusable.", + "type": "object", + "properties": { + "labels": { + "description": "The set of labels that can be used to describe a specific\ninstance of this metric type. For example, the\n`appengine.googleapis.com/http/server/response_latencies` metric\ntype has a label for the HTTP response code, `response_code`, so\nyou can look at latencies for successful responses or just\nfor responses that failed.", + "items": { + "$ref": "LabelDescriptor" + }, + "type": "array" + }, + "name": { + "description": "The resource name of the metric descriptor. Depending on the\nimplementation, the name typically includes: (1) the parent resource name\nthat defines the scope of the metric type or of its data; and (2) the\nmetric's URL-encoded type, which also appears in the `type` field of this\ndescriptor. For example, following is the resource name of a custom\nmetric within the GCP project `my-project-id`:\n\n \"projects/my-project-id/metricDescriptors/custom.googleapis.com%2Finvoice%2Fpaid%2Famount\"", + "type": "string" + }, + "type": { + "description": "The metric type, including its DNS name prefix. The type is not\nURL-encoded. All user-defined custom metric types have the DNS name\n`custom.googleapis.com`. Metric types should use a natural hierarchical\ngrouping. For example:\n\n \"custom.googleapis.com/invoice/paid/amount\"\n \"appengine.googleapis.com/http/server/response_latencies\"", + "type": "string" + }, + "valueType": { + "description": "Whether the measurement is an integer, a floating-point number, etc.\nSome combinations of `metric_kind` and `value_type` might not be supported.", + "type": "string", + "enumDescriptions": [ + "Do not use this default value.", + "The value is a boolean.\nThis value type can be used only if the metric kind is `GAUGE`.", + "The value is a signed 64-bit integer.", + "The value is a double precision floating point number.", + "The value is a text string.\nThis value type can be used only if the metric kind is `GAUGE`.", + "The value is a `Distribution`.", + "The value is money." + ], + "enum": [ + "VALUE_TYPE_UNSPECIFIED", + "BOOL", + "INT64", + "DOUBLE", + "STRING", + "DISTRIBUTION", + "MONEY" + ] + }, + "metricKind": { + "enumDescriptions": [ + "Do not use this default value.", + "An instantaneous measurement of a value.", + "The change in a value during a time interval.", + "A value accumulated over a time interval. Cumulative\nmeasurements in a time series should have the same start time\nand increasing end times, until an event resets the cumulative\nvalue to zero and sets a new start time for the following\npoints." + ], + "enum": [ + "METRIC_KIND_UNSPECIFIED", + "GAUGE", + "DELTA", + "CUMULATIVE" + ], + "description": "Whether the metric records instantaneous values, changes to a value, etc.\nSome combinations of `metric_kind` and `value_type` might not be supported.", + "type": "string" + }, + "description": { + "description": "A detailed description of the metric, which can be used in documentation.", + "type": "string" + }, + "displayName": { + "description": "A concise name for the metric, which can be displayed in user interfaces.\nUse sentence case without an ending period, for example \"Request count\".", + "type": "string" + }, + "unit": { + "description": "The unit in which the metric value is reported. It is only applicable\nif the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The\nsupported units are a subset of [The Unified Code for Units of\nMeasure](http://unitsofmeasure.org/ucum.html) standard:\n\n**Basic units (UNIT)**\n\n* `bit` bit\n* `By` byte\n* `s` second\n* `min` minute\n* `h` hour\n* `d` day\n\n**Prefixes (PREFIX)**\n\n* `k` kilo (10**3)\n* `M` mega (10**6)\n* `G` giga (10**9)\n* `T` tera (10**12)\n* `P` peta (10**15)\n* `E` exa (10**18)\n* `Z` zetta (10**21)\n* `Y` yotta (10**24)\n* `m` milli (10**-3)\n* `u` micro (10**-6)\n* `n` nano (10**-9)\n* `p` pico (10**-12)\n* `f` femto (10**-15)\n* `a` atto (10**-18)\n* `z` zepto (10**-21)\n* `y` yocto (10**-24)\n* `Ki` kibi (2**10)\n* `Mi` mebi (2**20)\n* `Gi` gibi (2**30)\n* `Ti` tebi (2**40)\n\n**Grammar**\n\nThe grammar includes the dimensionless unit `1`, such as `1/s`.\n\nThe grammar also includes these connectors:\n\n* `/` division (as an infix operator, e.g. `1/s`).\n* `.` multiplication (as an infix operator, e.g. `GBy.d`)\n\nThe grammar for a unit is as follows:\n\n Expression = Component { \".\" Component } { \"/\" Component } ;\n\n Component = [ PREFIX ] UNIT [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\n Annotation = \"{\" NAME \"}\" ;\n\nNotes:\n\n* `Annotation` is just a comment if it follows a `UNIT` and is\n equivalent to `1` if it is used alone. For examples,\n `{requests}/s == 1/s`, `By{transmitted}/s == By/s`.\n* `NAME` is a sequence of non-blank printable ASCII characters not\n containing '{' or '}'.", + "type": "string" + } + }, + "id": "MetricDescriptor" + }, + "Billing": { + "description": "Billing related configuration of the service.\n\nThe following example shows how to configure monitored resources and metrics\nfor billing:\n monitored_resources:\n - type: library.googleapis.com/branch\n labels:\n - key: /city\n description: The city where the library branch is located in.\n - key: /name\n description: The name of the branch.\n metrics:\n - name: library.googleapis.com/book/borrowed_count\n metric_kind: DELTA\n value_type: INT64\n billing:\n consumer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/borrowed_count", + "type": "object", + "properties": { + "consumerDestinations": { + "description": "Billing configurations for sending metrics to the consumer project.\nThere can be multiple consumer destinations per service, each one must have\na different monitored resource type. A metric can be used in at most\none consumer destination.", + "items": { + "$ref": "BillingDestination" + }, + "type": "array" + } + }, + "id": "Billing" + }, + "Expr": { + "properties": { + "description": { + "description": "An optional description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in\nCommon Expression Language syntax.\n\nThe application context of the containing message determines which\nwell-known feature set of CEL is supported.", + "type": "string" + }, + "location": { + "description": "An optional string indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "An optional title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", + "type": "string" + } + }, + "id": "Expr", + "description": "Represents an expression text. Example:\n\n title: \"User account presence\"\n description: \"Determines whether the request has a user account\"\n expression: \"size(request.user) \u003e 0\"", + "type": "object" + }, + "ListServicesResponse": { + "description": "Response message for `ListServices` method.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "Token that can be passed to `ListServices` to resume a paginated query.", + "type": "string" + }, + "services": { + "description": "The returned services will only have the name field set.", + "items": { + "$ref": "ManagedService" + }, + "type": "array" + } + }, + "id": "ListServicesResponse" + }, + "Endpoint": { + "description": "`Endpoint` describes a network endpoint that serves a set of APIs.\nA service may expose any number of endpoints, and all endpoints share the\nsame service configuration, such as quota configuration and monitoring\nconfiguration.\n\nExample service configuration:\n\n name: library-example.googleapis.com\n endpoints:\n # Below entry makes 'google.example.library.v1.Library'\n # API be served from endpoint address library-example.googleapis.com.\n # It also allows HTTP OPTIONS calls to be passed to the backend, for\n # it to decide whether the subsequent cross-origin request is\n # allowed to proceed.\n - name: library-example.googleapis.com\n allow_cors: true", + "type": "object", + "properties": { + "features": { + "items": { + "type": "string" + }, + "type": "array", + "description": "The list of features enabled on this endpoint." + }, + "apis": { + "description": "The list of APIs served by this endpoint.\n\nIf no APIs are specified this translates to \"all APIs\" exported by the\nservice, as defined in the top-level service configuration.", + "items": { + "type": "string" + }, + "type": "array" + }, + "allowCors": { + "type": "boolean", + "description": "Allowing\n[CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka\ncross-domain traffic, would allow the backends served from this endpoint to\nreceive and respond to HTTP OPTIONS requests. The response will be used by\nthe browser to determine whether the subsequent cross-origin request is\nallowed to proceed." + }, + "aliases": { + "description": "DEPRECATED: This field is no longer supported. Instead of using aliases,\nplease specify multiple google.api.Endpoint for each of the intented\nalias.\n\nAdditional names that this endpoint will be hosted on.", + "items": { + "type": "string" + }, + "type": "array" + }, + "target": { + "description": "The specification of an Internet routable address of API frontend that will\nhandle requests to this [API Endpoint](https://cloud.google.com/apis/design/glossary).\nIt should be either a valid IPv4 address or a fully-qualified domain name.\nFor example, \"8.8.8.8\" or \"myservice.appspot.com\".", + "type": "string" + }, + "name": { + "description": "The canonical name of this endpoint.", + "type": "string" + } + }, + "id": "Endpoint" + }, + "OAuthRequirements": { + "type": "object", + "properties": { + "canonicalScopes": { + "description": "The list of publicly documented OAuth scopes that are allowed access. An\nOAuth token containing any of these scopes will be accepted.\n\nExample:\n\n canonical_scopes: https://www.googleapis.com/auth/calendar,\n https://www.googleapis.com/auth/calendar.read", + "type": "string" + } + }, + "id": "OAuthRequirements", + "description": "OAuth scopes are a way to define data and permissions on data. For example,\nthere are scopes defined for \"Read-only access to Google Calendar\" and\n\"Access to Cloud Platform\". Users can consent to a scope for an application,\ngiving it permission to access that data on their behalf.\n\nOAuth scope specifications should be fairly coarse grained; a user will need\nto see and understand the text description of what your scope means.\n\nIn most cases: use one or at most two OAuth scopes for an entire family of\nproducts. If your product has multiple APIs, you should probably be sharing\nthe OAuth scope across all of those APIs.\n\nWhen you need finer grained OAuth consent screens: talk with your product\nmanagement about how developers will use them in practice.\n\nPlease note that even though each of the canonical scopes is enough for a\nrequest to be accepted and passed to the backend, a request can still fail\ndue to the backend requiring additional scopes or permissions." + }, + "Usage": { + "description": "Configuration controlling usage of a service.", + "type": "object", + "properties": { + "rules": { + "description": "A list of usage rules that apply to individual API methods.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.", + "items": { + "$ref": "UsageRule" + }, + "type": "array" + }, + "requirements": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Requirements that must be satisfied before a consumer project can use the\nservice. Each requirement is of the form \u003cservice.name\u003e/\u003crequirement-id\u003e;\nfor example 'serviceusage.googleapis.com/billing-enabled'." + }, + "producerNotificationChannel": { + "description": "The full resource name of a channel used for sending notifications to the\nservice producer.\n\nGoogle Service Management currently only supports\n[Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification\nchannel. To use Google Cloud Pub/Sub as the channel, this must be the name\nof a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format\ndocumented in https://cloud.google.com/pubsub/docs/overview.", + "type": "string" + } + }, + "id": "Usage" + }, + "GetIamPolicyRequest": { + "description": "Request message for `GetIamPolicy` method.", + "type": "object", + "properties": {}, + "id": "GetIamPolicyRequest" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "type": "object", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "TestIamPermissionsResponse" + }, + "Context": { + "description": "`Context` defines which contexts an API requests.\n\nExample:\n\n context:\n rules:\n - selector: \"*\"\n requested:\n - google.rpc.context.ProjectContext\n - google.rpc.context.OriginContext\n\nThe above specifies that all methods in the API request\n`google.rpc.context.ProjectContext` and\n`google.rpc.context.OriginContext`.\n\nAvailable context types are defined in package\n`google.rpc.context`.", + "type": "object", + "properties": { + "rules": { + "description": "A list of RPC context rules that apply to individual API methods.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.", + "items": { + "$ref": "ContextRule" + }, + "type": "array" + } + }, + "id": "Context" } }, - "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" - }, "protocol": "rest", - "version": "v1", - "baseUrl": "https://servicemanagement.googleapis.com/", + "icons": { + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" + }, "canonicalName": "Service Management", "auth": { "oauth2": { "scopes": { - "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" - }, "https://www.googleapis.com/auth/service.management": { "description": "Manage your Google API service configuration" }, @@ -3402,8 +2378,875 @@ }, "https://www.googleapis.com/auth/cloud-platform.read-only": { "description": "View your data across Google Cloud Platform services" + }, + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" } } } - } + }, + "rootUrl": "https://servicemanagement.googleapis.com/", + "ownerDomain": "google.com", + "name": "servicemanagement", + "batchPath": "batch", + "fullyEncodeReservedExpansion": true, + "title": "Google Service Management API", + "ownerName": "Google", + "resources": { + "services": { + "methods": { + "list": { + "description": "Lists managed services.\n\nReturns all public services. For authenticated users, also returns all\nservices the calling user has \"servicemanagement.services.get\" permission\nfor.\n\n**BETA:** If the caller specifies the `consumer_id`, it returns only the\nservices enabled on the consumer. The `consumer_id` must have the format\nof \"project:{PROJECT-ID}\".", + "httpMethod": "GET", + "response": { + "$ref": "ListServicesResponse" + }, + "parameterOrder": [], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/service.management", + "https://www.googleapis.com/auth/service.management.readonly" + ], + "parameters": { + "consumerId": { + "location": "query", + "description": "Include services consumed by the specified consumer.\n\nThe Google Service Management implementation accepts the following\nforms:\n- project:\u003cproject_id\u003e", + "type": "string" + }, + "pageToken": { + "description": "Token identifying which result to start with; returned by a previous list\ncall.", + "type": "string", + "location": "query" + }, + "pageSize": { + "format": "int32", + "description": "Requested size of the next page of data.", + "type": "integer", + "location": "query" + }, + "producerProjectId": { + "location": "query", + "description": "Include services produced by the specified project.", + "type": "string" + } + }, + "flatPath": "v1/services", + "path": "v1/services", + "id": "servicemanagement.services.list" + }, + "create": { + "flatPath": "v1/services", + "id": "servicemanagement.services.create", + "path": "v1/services", + "description": "Creates a new managed service.\nPlease note one producer project can own no more than 20 services.\n\nOperation\u003cresponse: ManagedService\u003e", + "request": { + "$ref": "ManagedService" + }, + "response": { + "$ref": "Operation" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ] + }, + "generateConfigReport": { + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "GenerateConfigReportResponse" + }, + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ], + "flatPath": "v1/services:generateConfigReport", + "path": "v1/services:generateConfigReport", + "id": "servicemanagement.services.generateConfigReport", + "description": "Generates and returns a report (errors, warnings and changes from\nexisting configurations) associated with\nGenerateConfigReportRequest.new_value\n\nIf GenerateConfigReportRequest.old_value is specified,\nGenerateConfigReportRequest will contain a single ChangeReport based on the\ncomparison between GenerateConfigReportRequest.new_value and\nGenerateConfigReportRequest.old_value.\nIf GenerateConfigReportRequest.old_value is not specified, this method\nwill compare GenerateConfigReportRequest.new_value with the last pushed\nservice configuration.", + "request": { + "$ref": "GenerateConfigReportRequest" + } + }, + "get": { + "response": { + "$ref": "ManagedService" + }, + "parameterOrder": [ + "serviceName" + ], + "httpMethod": "GET", + "parameters": { + "serviceName": { + "description": "The name of the service. See the `ServiceManager` overview for naming\nrequirements. For example: `example.googleapis.com`.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/service.management", + "https://www.googleapis.com/auth/service.management.readonly" + ], + "flatPath": "v1/services/{serviceName}", + "id": "servicemanagement.services.get", + "path": "v1/services/{serviceName}", + "description": "Gets a managed service. Authentication is required unless the service is\npublic." + }, + "testIamPermissions": { + "flatPath": "v1/services/{servicesId}:testIamPermissions", + "id": "servicemanagement.services.testIamPermissions", + "path": "v1/{+resource}:testIamPermissions", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "parameters": { + "resource": { + "pattern": "^services/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/service.management", + "https://www.googleapis.com/auth/service.management.readonly" + ] + }, + "getConfig": { + "description": "Gets a service configuration (version) for a managed service.", + "httpMethod": "GET", + "parameterOrder": [ + "serviceName" + ], + "response": { + "$ref": "Service" + }, + "parameters": { + "serviceName": { + "location": "path", + "description": "The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.", + "type": "string", + "required": true + }, + "configId": { + "description": "The id of the service configuration resource.", + "type": "string", + "location": "query" + }, + "view": { + "location": "query", + "enum": [ + "BASIC", + "FULL" + ], + "description": "Specifies which parts of the Service Config should be returned in the\nresponse.", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/service.management", + "https://www.googleapis.com/auth/service.management.readonly" + ], + "flatPath": "v1/services/{serviceName}/config", + "path": "v1/services/{serviceName}/config", + "id": "servicemanagement.services.getConfig" + }, + "delete": { + "httpMethod": "DELETE", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "serviceName" + ], + "parameters": { + "serviceName": { + "description": "The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ], + "flatPath": "v1/services/{serviceName}", + "path": "v1/services/{serviceName}", + "id": "servicemanagement.services.delete", + "description": "Deletes a managed service. This method will change the service to the\n`Soft-Delete` state for 30 days. Within this period, service producers may\ncall UndeleteService to restore the service.\nAfter 30 days, the service will be permanently deleted.\n\nOperation\u003cresponse: google.protobuf.Empty\u003e" + }, + "enable": { + "description": "Enables a service for a project, so it can be used\nfor the project. See\n[Cloud Auth Guide](https://cloud.google.com/docs/authentication) for\nmore information.\n\nOperation\u003cresponse: EnableServiceResponse\u003e", + "request": { + "$ref": "EnableServiceRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "serviceName" + ], + "response": { + "$ref": "Operation" + }, + "parameters": { + "serviceName": { + "description": "Name of the service to enable. Specifying an unknown service name will\ncause the request to fail.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ], + "flatPath": "v1/services/{serviceName}:enable", + "path": "v1/services/{serviceName}:enable", + "id": "servicemanagement.services.enable" + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "parameters": { + "resource": { + "pattern": "^services/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ], + "flatPath": "v1/services/{servicesId}:setIamPolicy", + "id": "servicemanagement.services.setIamPolicy", + "path": "v1/{+resource}:setIamPolicy" + }, + "disable": { + "request": { + "$ref": "DisableServiceRequest" + }, + "description": "Disables a service for a project, so it can no longer be\nbe used for the project. It prevents accidental usage that may cause\nunexpected billing charges or security leaks.\n\nOperation\u003cresponse: DisableServiceResponse\u003e", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "serviceName" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ], + "parameters": { + "serviceName": { + "description": "Name of the service to disable. Specifying an unknown service name\nwill cause the request to fail.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/services/{serviceName}:disable", + "id": "servicemanagement.services.disable", + "path": "v1/services/{serviceName}:disable" + }, + "getIamPolicy": { + "flatPath": "v1/services/{servicesId}:getIamPolicy", + "path": "v1/{+resource}:getIamPolicy", + "id": "servicemanagement.services.getIamPolicy", + "request": { + "$ref": "GetIamPolicyRequest" + }, + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/service.management", + "https://www.googleapis.com/auth/service.management.readonly" + ], + "parameters": { + "resource": { + "pattern": "^services/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true + } + } + }, + "undelete": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ], + "parameters": { + "serviceName": { + "location": "path", + "description": "The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/services/{serviceName}:undelete", + "id": "servicemanagement.services.undelete", + "path": "v1/services/{serviceName}:undelete", + "description": "Revives a previously deleted managed service. The method restores the\nservice using the configuration at the time the service was deleted.\nThe target service must exist and must have been deleted within the\nlast 30 days.\n\nOperation\u003cresponse: UndeleteServiceResponse\u003e", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "serviceName" + ], + "httpMethod": "POST" + } + }, + "resources": { + "configs": { + "methods": { + "get": { + "response": { + "$ref": "Service" + }, + "parameterOrder": [ + "serviceName", + "configId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/service.management", + "https://www.googleapis.com/auth/service.management.readonly" + ], + "parameters": { + "serviceName": { + "description": "The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.", + "type": "string", + "required": true, + "location": "path" + }, + "configId": { + "description": "The id of the service configuration resource.", + "type": "string", + "required": true, + "location": "path" + }, + "view": { + "location": "query", + "enum": [ + "BASIC", + "FULL" + ], + "description": "Specifies which parts of the Service Config should be returned in the\nresponse.", + "type": "string" + } + }, + "flatPath": "v1/services/{serviceName}/configs/{configId}", + "id": "servicemanagement.services.configs.get", + "path": "v1/services/{serviceName}/configs/{configId}", + "description": "Gets a service configuration (version) for a managed service." + }, + "list": { + "description": "Lists the history of the service configuration for a managed service,\nfrom the newest to the oldest.", + "response": { + "$ref": "ListServiceConfigsResponse" + }, + "parameterOrder": [ + "serviceName" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/service.management", + "https://www.googleapis.com/auth/service.management.readonly" + ], + "parameters": { + "serviceName": { + "location": "path", + "description": "The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.", + "type": "string", + "required": true + }, + "pageToken": { + "location": "query", + "description": "The token of the page to retrieve.", + "type": "string" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "The max number of items to include in the response list.", + "type": "integer" + } + }, + "flatPath": "v1/services/{serviceName}/configs", + "id": "servicemanagement.services.configs.list", + "path": "v1/services/{serviceName}/configs" + }, + "create": { + "description": "Creates a new service configuration (version) for a managed service.\nThis method only stores the service configuration. To roll out the service\nconfiguration to backend systems please call\nCreateServiceRollout.", + "request": { + "$ref": "Service" + }, + "response": { + "$ref": "Service" + }, + "parameterOrder": [ + "serviceName" + ], + "httpMethod": "POST", + "parameters": { + "serviceName": { + "location": "path", + "description": "The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ], + "flatPath": "v1/services/{serviceName}/configs", + "id": "servicemanagement.services.configs.create", + "path": "v1/services/{serviceName}/configs" + }, + "submit": { + "description": "Creates a new service configuration (version) for a managed service based\non\nuser-supplied configuration source files (for example: OpenAPI\nSpecification). This method stores the source configurations as well as the\ngenerated service configuration. To rollout the service configuration to\nother services,\nplease call CreateServiceRollout.\n\nOperation\u003cresponse: SubmitConfigSourceResponse\u003e", + "request": { + "$ref": "SubmitConfigSourceRequest" + }, + "httpMethod": "POST", + "parameterOrder": [ + "serviceName" + ], + "response": { + "$ref": "Operation" + }, + "parameters": { + "serviceName": { + "description": "The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ], + "flatPath": "v1/services/{serviceName}/configs:submit", + "path": "v1/services/{serviceName}/configs:submit", + "id": "servicemanagement.services.configs.submit" + } + } + }, + "consumers": { + "methods": { + "getIamPolicy": { + "request": { + "$ref": "GetIamPolicyRequest" + }, + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/service.management", + "https://www.googleapis.com/auth/service.management.readonly" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "pattern": "^services/[^/]+/consumers/[^/]+$", + "location": "path" + } + }, + "flatPath": "v1/services/{servicesId}/consumers/{consumersId}:getIamPolicy", + "id": "servicemanagement.services.consumers.getIamPolicy", + "path": "v1/{+resource}:getIamPolicy" + }, + "setIamPolicy": { + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ], + "parameters": { + "resource": { + "type": "string", + "required": true, + "pattern": "^services/[^/]+/consumers/[^/]+$", + "location": "path", + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field." + } + }, + "flatPath": "v1/services/{servicesId}/consumers/{consumersId}:setIamPolicy", + "id": "servicemanagement.services.consumers.setIamPolicy", + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy." + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "pattern": "^services/[^/]+/consumers/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/service.management", + "https://www.googleapis.com/auth/service.management.readonly" + ], + "flatPath": "v1/services/{servicesId}/consumers/{consumersId}:testIamPermissions", + "id": "servicemanagement.services.consumers.testIamPermissions", + "path": "v1/{+resource}:testIamPermissions" + } + } + }, + "rollouts": { + "methods": { + "get": { + "httpMethod": "GET", + "response": { + "$ref": "Rollout" + }, + "parameterOrder": [ + "serviceName", + "rolloutId" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/service.management", + "https://www.googleapis.com/auth/service.management.readonly" + ], + "parameters": { + "serviceName": { + "location": "path", + "description": "The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.", + "type": "string", + "required": true + }, + "rolloutId": { + "location": "path", + "description": "The id of the rollout resource.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/services/{serviceName}/rollouts/{rolloutId}", + "path": "v1/services/{serviceName}/rollouts/{rolloutId}", + "id": "servicemanagement.services.rollouts.get", + "description": "Gets a service configuration rollout." + }, + "list": { + "response": { + "$ref": "ListServiceRolloutsResponse" + }, + "parameterOrder": [ + "serviceName" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/service.management", + "https://www.googleapis.com/auth/service.management.readonly" + ], + "parameters": { + "filter": { + "location": "query", + "description": "Use `filter` to return subset of rollouts.\nThe following filters are supported:\n -- To limit the results to only those in\n [status](google.api.servicemanagement.v1.RolloutStatus) 'SUCCESS',\n use filter='status=SUCCESS'\n -- To limit the results to those in\n [status](google.api.servicemanagement.v1.RolloutStatus) 'CANCELLED'\n or 'FAILED', use filter='status=CANCELLED OR status=FAILED'", + "type": "string" + }, + "serviceName": { + "description": "The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.", + "type": "string", + "required": true, + "location": "path" + }, + "pageToken": { + "description": "The token of the page to retrieve.", + "type": "string", + "location": "query" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "The max number of items to include in the response list.", + "type": "integer" + } + }, + "flatPath": "v1/services/{serviceName}/rollouts", + "id": "servicemanagement.services.rollouts.list", + "path": "v1/services/{serviceName}/rollouts", + "description": "Lists the history of the service configuration rollouts for a managed\nservice, from the newest to the oldest." + }, + "create": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "serviceName" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ], + "parameters": { + "serviceName": { + "type": "string", + "required": true, + "location": "path", + "description": "The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`." + } + }, + "flatPath": "v1/services/{serviceName}/rollouts", + "id": "servicemanagement.services.rollouts.create", + "path": "v1/services/{serviceName}/rollouts", + "request": { + "$ref": "Rollout" + }, + "description": "Creates a new service configuration rollout. Based on rollout, the\nGoogle Service Management will roll out the service configurations to\ndifferent backend services. For example, the logging configuration will be\npushed to Google Cloud Logging.\n\nPlease note that any previous pending and running Rollouts and associated\nOperations will be automatically cancelled so that the latest Rollout will\nnot be blocked by previous Rollouts.\n\nOperation\u003cresponse: Rollout\u003e" + } + } + } + } + }, + "operations": { + "methods": { + "get": { + "flatPath": "v1/operations/{operationsId}", + "id": "servicemanagement.operations.get", + "path": "v1/{+name}", + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ], + "parameters": { + "name": { + "location": "path", + "description": "The name of the operation resource.", + "type": "string", + "required": true, + "pattern": "^operations/.+$" + } + } + }, + "list": { + "description": "Lists service operations that match the specified filter in the request.", + "response": { + "$ref": "ListOperationsResponse" + }, + "parameterOrder": [], + "httpMethod": "GET", + "parameters": { + "filter": { + "description": "A string for filtering Operations.\n The following filter fields are supported:\n\n * serviceName: Required. Only `=` operator is allowed.\n * startTime: The time this job was started, in ISO 8601 format.\n Allowed operators are `\u003e=`, `\u003e`, `\u003c=`, and `\u003c`.\n * status: Can be `done`, `in_progress`, or `failed`. Allowed\n operators are `=`, and `!=`.\n\n Filter expression supports conjunction (AND) and disjunction (OR)\n logical operators. However, the serviceName restriction must be at the\n top-level and can only be combined with other restrictions via the AND\n logical operator.\n\n Examples:\n\n * `serviceName={some-service}.googleapis.com`\n * `serviceName={some-service}.googleapis.com AND startTime\u003e=\"2017-02-01\"`\n * `serviceName={some-service}.googleapis.com AND status=done`\n * `serviceName={some-service}.googleapis.com AND (status=done OR startTime\u003e=\"2017-02-01\")`", + "type": "string", + "location": "query" + }, + "pageToken": { + "location": "query", + "description": "The standard list page token.", + "type": "string" + }, + "name": { + "location": "query", + "description": "Not used.", + "type": "string" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "The maximum number of operations to return. If unspecified, defaults to\n50. The maximum value is 100.", + "type": "integer" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ], + "flatPath": "v1/operations", + "id": "servicemanagement.operations.list", + "path": "v1/operations" + } + } + } + }, + "parameters": { + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", + "location": "query" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" + }, + "uploadType": { + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" + }, + "fields": { + "location": "query", + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + }, + "$.xgafv": { + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string" + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, + "alt": { + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query" + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" + }, + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + } + }, + "version": "v1", + "baseUrl": "https://servicemanagement.googleapis.com/", + "kind": "discovery#restDescription", + "description": "Google Service Management allows service producers to publish their services on Google Cloud Platform so that they can be discovered and used by service consumers.", + "servicePath": "" } diff --git a/vendor/google.golang.org/api/servicemanagement/v1/servicemanagement-gen.go b/vendor/google.golang.org/api/servicemanagement/v1/servicemanagement-gen.go index 4f8ec89b8..3b78d9420 100644 --- a/vendor/google.golang.org/api/servicemanagement/v1/servicemanagement-gen.go +++ b/vendor/google.golang.org/api/servicemanagement/v1/servicemanagement-gen.go @@ -173,20 +173,35 @@ func (s *Advice) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Api: Api is a light-weight descriptor for a protocol buffer service. +// Api: Api is a light-weight descriptor for an API +// Interface. +// +// Interfaces are also described as "protocol buffer services" in some +// contexts, +// such as by the "service" keyword in a .proto file, but they are +// different +// from API Services, which represent a concrete implementation of an +// interface +// as opposed to simply a description of methods and bindings. They are +// also +// sometimes simply referred to as "APIs" in other contexts, such as the +// name of +// this message itself. See +// https://cloud.google.com/apis/design/glossary for +// detailed terminology. type Api struct { - // Methods: The methods of this api, in unspecified order. + // Methods: The methods of this interface, in unspecified order. Methods []*Method `json:"methods,omitempty"` - // Mixins: Included APIs. See Mixin. + // Mixins: Included interfaces. See Mixin. Mixins []*Mixin `json:"mixins,omitempty"` - // Name: The fully qualified name of this api, including package + // Name: The fully qualified name of this interface, including package // name - // followed by the api's simple name. + // followed by the interface's simple name. Name string `json:"name,omitempty"` - // Options: Any metadata attached to the API. + // Options: Any metadata attached to the interface. Options []*Option `json:"options,omitempty"` // SourceContext: Source context for the protocol buffer service @@ -201,16 +216,17 @@ type Api struct { // "SYNTAX_PROTO3" - Syntax `proto3`. Syntax string `json:"syntax,omitempty"` - // Version: A version string for this api. If specified, must have the - // form + // Version: A version string for this interface. If specified, must have + // the form // `major-version.minor-version`, as in `1.10`. If the minor version - // is omitted, it defaults to zero. If the entire version field // is - // empty, the major version is derived from the package name, - // as - // outlined below. If the field is not empty, the version in the - // package name will be verified to be consistent with what is - // provided here. + // omitted, it defaults to zero. If the entire version field is empty, + // the + // major version is derived from the package name, as outlined below. If + // the + // field is not empty, the version in the package name will be verified + // to be + // consistent with what is provided here. // // The versioning schema uses [semantic // versioning](http://semver.org) where the major version @@ -222,11 +238,13 @@ type Api struct { // carefully // chosen based on the product plan. // - // The major version is also reflected in the package name of the - // API, which must end in `v`, as in + // The major version is also reflected in the package name of + // the + // interface, which must end in `v`, as + // in // `google.feature.v1`. For major versions 0 and 1, the suffix can // be omitted. Zero major versions must only be used for - // experimental, none-GA apis. + // experimental, non-GA interfaces. // Version string `json:"version,omitempty"` @@ -438,6 +456,11 @@ type AuthProvider struct { // bookstore_web.apps.googleusercontent.com Audiences string `json:"audiences,omitempty"` + // AuthorizationUrl: Redirect URL if JWT token is required but no + // present or is expired. + // Implement authorizationUrl of securityDefinitions in OpenAPI spec. + AuthorizationUrl string `json:"authorizationUrl,omitempty"` + // Id: The unique identifier of the auth provider. It will be referred // to by // `AuthRequirement.provider_id`. @@ -753,8 +776,9 @@ type BackendRule struct { Address string `json:"address,omitempty"` // Deadline: The number of seconds to wait for a response from a - // request. The - // default depends on the deployment context. + // request. The default + // deadline for gRPC is infinite (no deadline) and HTTP requests is 5 + // seconds. Deadline float64 `json:"deadline,omitempty"` // MinDeadline: Minimum deadline in seconds needed for this method. @@ -806,6 +830,100 @@ func (s *BackendRule) UnmarshalJSON(data []byte) error { return nil } +// Billing: Billing related configuration of the service. +// +// The following example shows how to configure monitored resources and +// metrics +// for billing: +// monitored_resources: +// - type: library.googleapis.com/branch +// labels: +// - key: /city +// description: The city where the library branch is located +// in. +// - key: /name +// description: The name of the branch. +// metrics: +// - name: library.googleapis.com/book/borrowed_count +// metric_kind: DELTA +// value_type: INT64 +// billing: +// consumer_destinations: +// - monitored_resource: library.googleapis.com/branch +// metrics: +// - library.googleapis.com/book/borrowed_count +type Billing struct { + // ConsumerDestinations: Billing configurations for sending metrics to + // the consumer project. + // There can be multiple consumer destinations per service, each one + // must have + // a different monitored resource type. A metric can be used in at + // most + // one consumer destination. + ConsumerDestinations []*BillingDestination `json:"consumerDestinations,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "ConsumerDestinations") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ConsumerDestinations") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Billing) MarshalJSON() ([]byte, error) { + type noMethod Billing + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// BillingDestination: Configuration of a specific billing destination +// (Currently only support +// bill against consumer project). +type BillingDestination struct { + // Metrics: Names of the metrics to report to this billing + // destination. + // Each name must be defined in Service.metrics section. + Metrics []string `json:"metrics,omitempty"` + + // MonitoredResource: The monitored resource type. The type must be + // defined in + // Service.monitored_resources section. + MonitoredResource string `json:"monitoredResource,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Metrics") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Metrics") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BillingDestination) MarshalJSON() ([]byte, error) { + type noMethod BillingDestination + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Binding: Associates `members` with a `role`. type Binding struct { // Condition: The condition that is associated with this binding. @@ -921,138 +1039,6 @@ func (s *ChangeReport) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// CloudAuditOptions: Write a Cloud Audit log -type CloudAuditOptions struct { - // LogName: The log_name to populate in the Cloud Audit Record. - // - // Possible values: - // "UNSPECIFIED_LOG_NAME" - Default. Should not be used. - // "ADMIN_ACTIVITY" - Corresponds to - // "cloudaudit.googleapis.com/activity" - // "DATA_ACCESS" - Corresponds to - // "cloudaudit.googleapis.com/data_access" - LogName string `json:"logName,omitempty"` - - // ForceSendFields is a list of field names (e.g. "LogName") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "LogName") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *CloudAuditOptions) MarshalJSON() ([]byte, error) { - type noMethod CloudAuditOptions - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// Condition: A condition to be met. -type Condition struct { - // Iam: Trusted attributes supplied by the IAM system. - // - // Possible values: - // "NO_ATTR" - Default non-attribute. - // "AUTHORITY" - Either principal or (if present) authority selector. - // "ATTRIBUTION" - The principal (even if an authority selector is - // present), which - // must only be used for attribution, not authorization. - // "APPROVER" - An approver (distinct from the requester) that has - // authorized this - // request. - // When used with IN, the condition indicates that one of the - // approvers - // associated with the request matches the specified principal, or is - // a - // member of the specified group. Approvers can only grant - // additional - // access, and are thus only used in a strictly positive context - // (e.g. ALLOW/IN or DENY/NOT_IN). - // "JUSTIFICATION_TYPE" - What types of justifications have been - // supplied with this request. - // String values should match enum names from - // tech.iam.JustificationType, - // e.g. "MANUAL_STRING". It is not permitted to grant access based - // on - // the *absence* of a justification, so justification conditions can - // only - // be used in a "positive" context (e.g., ALLOW/IN or - // DENY/NOT_IN). - // - // Multiple justifications, e.g., a Buganizer ID and a - // manually-entered - // reason, are normal and supported. - Iam string `json:"iam,omitempty"` - - // Op: An operator to apply the subject with. - // - // Possible values: - // "NO_OP" - Default no-op. - // "EQUALS" - DEPRECATED. Use IN instead. - // "NOT_EQUALS" - DEPRECATED. Use NOT_IN instead. - // "IN" - The condition is true if the subject (or any element of it - // if it is - // a set) matches any of the supplied values. - // "NOT_IN" - The condition is true if the subject (or every element - // of it if it is - // a set) matches none of the supplied values. - // "DISCHARGED" - Subject is discharged - Op string `json:"op,omitempty"` - - // Svc: Trusted attributes discharged by the service. - Svc string `json:"svc,omitempty"` - - // Sys: Trusted attributes supplied by any service that owns resources - // and uses - // the IAM system for access control. - // - // Possible values: - // "NO_ATTR" - Default non-attribute type - // "REGION" - Region of the resource - // "SERVICE" - Service name - // "NAME" - Resource name - // "IP" - IP address of the caller - Sys string `json:"sys,omitempty"` - - // Value: DEPRECATED. Use 'values' instead. - Value string `json:"value,omitempty"` - - // Values: The objects of the condition. This is mutually exclusive with - // 'value'. - Values []string `json:"values,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Iam") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Iam") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *Condition) MarshalJSON() ([]byte, error) { - type noMethod Condition - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // ConfigChange: Output generated from semantically comparing two // versions of a service // configuration. @@ -1163,6 +1149,15 @@ type ConfigFile struct { // in a new file named out.pb. // // $protoc --include_imports --include_source_info test.proto -o out.pb + // "PROTO_FILE" - Uncompiled Proto file. Used for storage and display + // purposes only, + // currently server-side compilation is not supported. Should match + // the + // inputs to 'protoc' command used to generated + // FILE_DESCRIPTOR_SET_PROTO. A + // file of this type can only be included if at least one file of + // type + // FILE_DESCRIPTOR_SET_PROTO is included. FileType string `json:"fileType,omitempty"` // ForceSendFields is a list of field names (e.g. "FileContents") to @@ -1380,37 +1375,6 @@ func (s *Control) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// CounterOptions: Options for counters -type CounterOptions struct { - // Field: The field value to attribute. - Field string `json:"field,omitempty"` - - // Metric: The metric to update. - Metric string `json:"metric,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Field") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Field") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *CounterOptions) MarshalJSON() ([]byte, error) { - type noMethod CounterOptions - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // CustomAuthRequirements: Configuration for a custom authentication // provider. type CustomAuthRequirements struct { @@ -1559,10 +1523,6 @@ func (s *CustomHttpPattern) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// DataAccessOptions: Write a Data Access (Gin) log -type DataAccessOptions struct { -} - // DeleteServiceStrategy: Strategy used to delete a service. This // strategy is a placeholder only // used by the system generated rollout to delete a service. @@ -2241,6 +2201,13 @@ type FlowOperationMetadata struct { // Must be equal to the "name" field for a FlowName enum. FlowName string `json:"flowName,omitempty"` + // OperationType: Operation type which is a flow type and subtype info + // as that is missing in + // our datastore otherwise. This maps to the ordinal value of the + // enum: + // jcg/api/tenant/operations/OperationNamespace.java + OperationType int64 `json:"operationType,omitempty"` + // ResourceNames: The full name of the resources that this flow is // directly associated with. ResourceNames []string `json:"resourceNames,omitempty"` @@ -2248,6 +2215,14 @@ type FlowOperationMetadata struct { // StartTime: The start time of the operation. StartTime string `json:"startTime,omitempty"` + // Possible values: + // "UNSPECIFIED_OP_SERVICE" + // "SERVICE_MANAGEMENT" + // "SERVICE_USAGE" + // "SERVICE_CONSUMER_MANAGEMENT" - TenancyUnit, ServiceNetworking fall + // under this + Surface string `json:"surface,omitempty"` + // ForceSendFields is a list of field names (e.g. "CancelState") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -2750,49 +2725,6 @@ type HttpRule struct { // at the top-level of response message type. ResponseBody string `json:"responseBody,omitempty"` - // RestCollection: Optional. The REST collection name is by default - // derived from the URL - // pattern. If specified, this field overrides the default collection - // name. - // Example: - // - // rpc AddressesAggregatedList(AddressesAggregatedListRequest) - // returns (AddressesAggregatedListResponse) { - // option (google.api.http) = { - // get: "/v1/projects/{project_id}/aggregated/addresses" - // rest_collection: "projects.addresses" - // }; - // } - // - // This method has the automatically derived collection - // name - // "projects.aggregated". Because, semantically, this rpc is actually - // an - // operation on the "projects.addresses" collection, the - // `rest_collection` - // field is configured to override the derived collection name. - RestCollection string `json:"restCollection,omitempty"` - - // RestMethodName: Optional. The rest method name is by default derived - // from the URL - // pattern. If specified, this field overrides the default method - // name. - // Example: - // - // rpc CreateResource(CreateResourceRequest) - // returns (CreateResourceResponse) { - // option (google.api.http) = { - // post: "/v1/resources", - // body: "resource", - // rest_method_name: "insert" - // }; - // } - // - // This method has the automatically derived rest method name "create", - // but - // for backwards compatability with apiary, it is specified as insert. - RestMethodName string `json:"restMethodName,omitempty"` - // Selector: Selects methods to which this rule applies. // // Refer to selector for syntax details. @@ -3006,69 +2938,6 @@ func (s *ListServicesResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// LogConfig: Specifies what kind of log the caller must write -// Increment a streamz counter with the specified metric and field -// names. -// -// Metric names should start with a '/', generally be -// lowercase-only, -// and end in "_count". Field names should not contain an initial -// slash. -// The actual exported metric names will have "/iam/policy" -// prepended. -// -// Field names correspond to IAM request parameters and field values -// are -// their respective values. -// -// At present the only supported field names are -// - "iam_principal", corresponding to IAMContext.principal; -// - "" (empty string), resulting in one aggretated counter with no -// field. -// -// Examples: -// counter { metric: "/debug_access_count" field: "iam_principal" } -// ==> increment counter /iam/policy/backend_debug_access_count -// {iam_principal=[value of -// IAMContext.principal]} -// -// At this time we do not support: -// * multiple field names (though this may be supported in the future) -// * decrementing the counter -// * incrementing it by anything other than 1 -type LogConfig struct { - // CloudAudit: Cloud audit options. - CloudAudit *CloudAuditOptions `json:"cloudAudit,omitempty"` - - // Counter: Counter options. - Counter *CounterOptions `json:"counter,omitempty"` - - // DataAccess: Data access options. - DataAccess *DataAccessOptions `json:"dataAccess,omitempty"` - - // ForceSendFields is a list of field names (e.g. "CloudAudit") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "CloudAudit") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *LogConfig) MarshalJSON() ([]byte, error) { - type noMethod LogConfig - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // LogDescriptor: A description of a log type. Example in YAML format: // // - name: library.googleapis.com/activity_history @@ -3411,7 +3280,7 @@ func (s *MediaUpload) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Method: Method represents a method of an api. +// Method: Method represents a method of an API interface. type Method struct { // Name: The simple name of this method. Name string `json:"name,omitempty"` @@ -3685,11 +3554,11 @@ func (s *MetricRule) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Mixin: Declares an API to be included in this API. The including API -// must -// redeclare all the methods from the included API, but -// documentation -// and options are inherited as follows: +// Mixin: Declares an API Interface to be included in this interface. +// The including +// interface must redeclare all the methods from the included interface, +// but +// documentation and options are inherited as follows: // // - If after comment and whitespace stripping, the documentation // string of the redeclared method is empty, it will be inherited @@ -3701,8 +3570,8 @@ func (s *MetricRule) MarshalJSON() ([]byte, error) { // // - If an http annotation is inherited, the path pattern will be // modified as follows. Any version prefix will be replaced by the -// version of the including API plus the root path if -// specified. +// version of the including interface plus the root path if +// specified. // // Example of a simple mixin: // @@ -3771,7 +3640,7 @@ func (s *MetricRule) MarshalJSON() ([]byte, error) { // ... // } type Mixin struct { - // Name: The fully qualified name of the API which is included. + // Name: The fully qualified name of the interface which is included. Name string `json:"name,omitempty"` // Root: If non-empty specifies a path under which inherited HTTP @@ -4074,8 +3943,8 @@ func (s *OAuthRequirements) MarshalJSON() ([]byte, error) { type Operation struct { // Done: If the value is `false`, it means the operation is still in // progress. - // If true, the operation is completed, and either `error` or `response` - // is + // If `true`, the operation is completed, and either `error` or + // `response` is // available. Done bool `json:"done,omitempty"` @@ -4357,20 +4226,6 @@ type Policy struct { IamOwned bool `json:"iamOwned,omitempty"` - // Rules: If more than one rule is specified, the rules are applied in - // the following - // manner: - // - All matching LOG rules are always applied. - // - If any DENY/DENY_WITH_LOG rule matches, permission is denied. - // Logging will be applied if one or more matching rule requires - // logging. - // - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is - // granted. - // Logging will be applied if one or more matching rule requires - // logging. - // - Otherwise, if no rule applies, permission is denied. - Rules []*Rule `json:"rules,omitempty"` - // Version: Version of the `Policy`. The default version is 0. Version int64 `json:"version,omitempty"` @@ -4739,77 +4594,6 @@ func (s *Rollout) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Rule: A rule to be applied in a Policy. -type Rule struct { - // Action: Required - // - // Possible values: - // "NO_ACTION" - Default no action. - // "ALLOW" - Matching 'Entries' grant access. - // "ALLOW_WITH_LOG" - Matching 'Entries' grant access and the caller - // promises to log - // the request per the returned log_configs. - // "DENY" - Matching 'Entries' deny access. - // "DENY_WITH_LOG" - Matching 'Entries' deny access and the caller - // promises to log - // the request per the returned log_configs. - // "LOG" - Matching 'Entries' tell IAM.Check callers to generate logs. - Action string `json:"action,omitempty"` - - // Conditions: Additional restrictions that must be met - Conditions []*Condition `json:"conditions,omitempty"` - - // Description: Human-readable description of the rule. - Description string `json:"description,omitempty"` - - // In: If one or more 'in' clauses are specified, the rule matches - // if - // the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries. - In []string `json:"in,omitempty"` - - // LogConfig: The config returned to callers of tech.iam.IAM.CheckPolicy - // for any entries - // that match the LOG action. - LogConfig []*LogConfig `json:"logConfig,omitempty"` - - // NotIn: If one or more 'not_in' clauses are specified, the rule - // matches - // if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries. - // The format for in and not_in entries is the same as for members in - // a - // Binding (see google/iam/v1/policy.proto). - NotIn []string `json:"notIn,omitempty"` - - // Permissions: A permission is a string of form '..' - // (e.g., 'storage.buckets.list'). A value of '*' matches all - // permissions, - // and a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs. - Permissions []string `json:"permissions,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Action") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Action") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *Rule) MarshalJSON() ([]byte, error) { - type noMethod Rule - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // Service: `Service` is the root object of Google service configuration // schema. It // describes basic information about a service, such as the name and @@ -4856,13 +4640,16 @@ type Service struct { // Backend: API backend configuration. Backend *Backend `json:"backend,omitempty"` - // ConfigVersion: The version of the service configuration. The config - // version may - // influence interpretation of the configuration, for example, - // to - // determine defaults. This is documented together with - // applicable - // options. The current default for the config version itself is `3`. + // Billing: Billing configuration. + Billing *Billing `json:"billing,omitempty"` + + // ConfigVersion: The semantic version of the service configuration. The + // config version + // affects the interpretation of the service configuration. For + // example, + // certain features are enabled by default for certain config + // versions. + // The latest config version is `3`. ConfigVersion int64 `json:"configVersion,omitempty"` // Context: Context configuration. @@ -5190,9 +4977,9 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in diff --git a/vendor/google.golang.org/api/serviceuser/v1/serviceuser-api.json b/vendor/google.golang.org/api/serviceuser/v1/serviceuser-api.json index 6e6253e06..5eac365d2 100644 --- a/vendor/google.golang.org/api/serviceuser/v1/serviceuser-api.json +++ b/vendor/google.golang.org/api/serviceuser/v1/serviceuser-api.json @@ -1,276 +1,158 @@ { - "title": "Google Service User API", - "ownerName": "Google", - "resources": { - "services": { - "methods": { - "search": { - "path": "v1/services:search", - "id": "serviceuser.services.search", - "description": "Search available services.\n\nWhen no filter is specified, returns all accessible services. For\nauthenticated users, also returns all services the calling user has\n\"servicemanagement.services.bind\" permission for.", - "httpMethod": "GET", - "response": { - "$ref": "SearchServicesResponse" - }, - "parameterOrder": [], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "parameters": { - "pageToken": { - "description": "Token identifying which result to start with; returned by a previous list\ncall.", - "type": "string", - "location": "query" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "Requested size of the next page of data.", - "type": "integer" - } - }, - "flatPath": "v1/services:search" - } - } - }, - "projects": { - "resources": { - "services": { - "methods": { - "disable": { - "flatPath": "v1/projects/{projectsId}/services/{servicesId}:disable", - "id": "serviceuser.projects.services.disable", - "path": "v1/{+name}:disable", - "description": "Disable a service so it can no longer be used with a\nproject. This prevents unintended usage that may cause unexpected billing\ncharges or security leaks.\n\nOperation\u003cresponse: google.protobuf.Empty\u003e", - "request": { - "$ref": "DisableServiceRequest" - }, - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "POST", - "parameters": { - "name": { - "description": "Name of the consumer and the service to disable for that consumer.\n\nThe Service User implementation accepts the following forms for consumer:\n- \"project:\u003cproject_id\u003e\"\n\nA valid path would be:\n- /v1/projects/my-project/services/servicemanagement.googleapis.com:disable", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/services/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/service.management" - ] - }, - "enable": { - "parameters": { - "name": { - "location": "path", - "description": "Name of the consumer and the service to enable for that consumer.\n\nA valid path would be:\n- /v1/projects/my-project/services/servicemanagement.googleapis.com:enable", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/services/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/service.management" - ], - "flatPath": "v1/projects/{projectsId}/services/{servicesId}:enable", - "path": "v1/{+name}:enable", - "id": "serviceuser.projects.services.enable", - "description": "Enable a service so it can be used with a project.\nSee [Cloud Auth Guide](https://cloud.google.com/docs/authentication) for\nmore information.\n\nOperation\u003cresponse: google.protobuf.Empty\u003e", - "request": { - "$ref": "EnableServiceRequest" - }, - "httpMethod": "POST", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "Operation" - } - }, - "list": { - "description": "List enabled services for the specified consumer.", - "httpMethod": "GET", - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "ListEnabledServicesResponse" - }, - "parameters": { - "pageSize": { - "location": "query", - "format": "int32", - "description": "Requested size of the next page of data.", - "type": "integer" - }, - "parent": { - "pattern": "^projects/[^/]+$", - "location": "path", - "description": "List enabled services for the specified parent.\n\nAn example valid parent would be:\n- projects/my-project", - "type": "string", - "required": true - }, - "pageToken": { - "description": "Token identifying which result to start with; returned by a previous list\ncall.", - "type": "string", - "location": "query" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud-platform.read-only" - ], - "flatPath": "v1/projects/{projectsId}/services", - "path": "v1/{+parent}/services", - "id": "serviceuser.projects.services.list" - } - } - } - } - } - }, - "parameters": { - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, - "access_token": { - "location": "query", - "description": "OAuth access token.", - "type": "string" - }, - "quotaUser": { - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" - }, - "pp": { - "description": "Pretty-print response.", - "default": "true", - "type": "boolean", - "location": "query" - }, - "oauth_token": { - "location": "query", - "description": "OAuth 2.0 token for the current user.", - "type": "string" - }, - "bearer_token": { - "location": "query", - "description": "OAuth bearer token.", - "type": "string" - }, - "upload_protocol": { - "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string" - }, - "prettyPrint": { - "description": "Returns response with indentations and line breaks.", - "default": "true", - "type": "boolean", - "location": "query" - }, - "uploadType": { - "location": "query", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string" - }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "type": "string", - "location": "query" - }, - "callback": { - "type": "string", - "location": "query", - "description": "JSONP" - }, - "$.xgafv": { - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" - ], - "description": "V1 error format.", - "type": "string" - }, - "alt": { - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ], - "type": "string", - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query" - } - }, - "version": "v1", - "baseUrl": "https://serviceuser.googleapis.com/", "servicePath": "", - "kind": "discovery#restDescription", "description": "Enables services that service consumers want to use on Google Cloud Platform, lists the available or enabled services, or disables services that service consumers no longer use.", + "kind": "discovery#restDescription", "basePath": "", "id": "serviceuser:v1", "documentationLink": "https://cloud.google.com/service-management/", - "revision": "20170626", + "revision": "20170926", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { - "Api": { - "description": "Api is a light-weight descriptor for a protocol buffer service.", + "BillingDestination": { + "description": "Configuration of a specific billing destination (Currently only support\nbill against consumer project).", "type": "object", "properties": { - "mixins": { - "description": "Included APIs. See Mixin.", + "monitoredResource": { + "description": "The monitored resource type. The type must be defined in\nService.monitored_resources section.", + "type": "string" + }, + "metrics": { + "description": "Names of the metrics to report to this billing destination.\nEach name must be defined in Service.metrics section.", "items": { - "$ref": "Mixin" + "type": "string" + }, + "type": "array" + } + }, + "id": "BillingDestination" + }, + "UsageRule": { + "description": "Usage configuration rules for the service.\n\nNOTE: Under development.\n\n\nUse this rule to configure unregistered calls for the service. Unregistered\ncalls are calls that do not contain consumer project identity.\n(Example: calls that do not contain an API key).\nBy default, API methods do not allow unregistered calls, and each method call\nmust be identified by a consumer project identity. Use this rule to\nallow/disallow unregistered calls.\n\nExample of an API that wants to allow unregistered calls for entire service.\n\n usage:\n rules:\n - selector: \"*\"\n allow_unregistered_calls: true\n\nExample of a method that wants to allow unregistered calls.\n\n usage:\n rules:\n - selector: \"google.example.library.v1.LibraryService.CreateBook\"\n allow_unregistered_calls: true", + "type": "object", + "properties": { + "skipServiceControl": { + "description": "True, if the method should skip service control. If so, no control plane\nfeature (like quota and billing) will be enabled.", + "type": "boolean" + }, + "allowUnregisteredCalls": { + "description": "True, if the method allows unregistered calls; false otherwise.", + "type": "boolean" + }, + "selector": { + "description": "Selects the methods to which this rule applies. Use '*' to indicate all\nmethods in all APIs.\n\nRefer to selector for syntax details.", + "type": "string" + } + }, + "id": "UsageRule" + }, + "AuthRequirement": { + "description": "User-defined authentication requirements, including support for\n[JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).", + "type": "object", + "properties": { + "audiences": { + "description": "NOTE: This will be deprecated soon, once AuthProvider.audiences is\nimplemented and accepted in all the runtime components.\n\nThe list of JWT\n[audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).\nthat are allowed to access. A JWT containing any of these audiences will\nbe accepted. When this setting is absent, only JWTs with audience\n\"https://Service_name/API_name\"\nwill be accepted. For example, if no audiences are in the setting,\nLibraryService API will only accept JWTs with the following audience\n\"https://library-example.googleapis.com/google.example.library.v1.LibraryService\".\n\nExample:\n\n audiences: bookstore_android.apps.googleusercontent.com,\n bookstore_web.apps.googleusercontent.com", + "type": "string" + }, + "providerId": { + "description": "id from authentication provider.\n\nExample:\n\n provider_id: bookstore_auth", + "type": "string" + } + }, + "id": "AuthRequirement" + }, + "Documentation": { + "description": "`Documentation` provides the information for describing a service.\n\nExample:\n\u003cpre\u003e\u003ccode\u003edocumentation:\n summary: \u003e\n The Google Calendar API gives access\n to most calendar features.\n pages:\n - name: Overview\n content: (== include google/foo/overview.md ==)\n - name: Tutorial\n content: (== include google/foo/tutorial.md ==)\n subpages;\n - name: Java\n content: (== include google/foo/tutorial_java.md ==)\n rules:\n - selector: google.calendar.Calendar.Get\n description: \u003e\n ...\n - selector: google.calendar.Calendar.Put\n description: \u003e\n ...\n\u003c/code\u003e\u003c/pre\u003e\nDocumentation is provided in markdown syntax. In addition to\nstandard markdown features, definition lists, tables and fenced\ncode blocks are supported. Section headers can be provided and are\ninterpreted relative to the section nesting of the context where\na documentation fragment is embedded.\n\nDocumentation from the IDL is merged with documentation defined\nvia the config at normalization time, where documentation provided\nby config rules overrides IDL provided.\n\nA number of constructs specific to the API platform are supported\nin documentation text.\n\nIn order to reference a proto element, the following\nnotation can be used:\n\u003cpre\u003e\u003ccode\u003e[fully.qualified.proto.name][]\u003c/code\u003e\u003c/pre\u003e\nTo override the display text used for the link, this can be used:\n\u003cpre\u003e\u003ccode\u003e[display text][fully.qualified.proto.name]\u003c/code\u003e\u003c/pre\u003e\nText can be excluded from doc using the following notation:\n\u003cpre\u003e\u003ccode\u003e(-- internal comment --)\u003c/code\u003e\u003c/pre\u003e\nComments can be made conditional using a visibility label. The below\ntext will be only rendered if the `BETA` label is available:\n\u003cpre\u003e\u003ccode\u003e(--BETA: comment for BETA users --)\u003c/code\u003e\u003c/pre\u003e\nA few directives are available in documentation. Note that\ndirectives must appear on a single line to be properly\nidentified. The `include` directive includes a markdown file from\nan external source:\n\u003cpre\u003e\u003ccode\u003e(== include path/to/file ==)\u003c/code\u003e\u003c/pre\u003e\nThe `resource_for` directive marks a message to be the resource of\na collection in REST view. If it is not specified, tools attempt\nto infer the resource from the operations in a collection:\n\u003cpre\u003e\u003ccode\u003e(== resource_for v1.shelves.books ==)\u003c/code\u003e\u003c/pre\u003e\nThe directive `suppress_warning` does not directly affect documentation\nand is documented together with service config validation.", + "type": "object", + "properties": { + "summary": { + "description": "A short summary of what the service does. Can only be provided by\nplain text.", + "type": "string" + }, + "documentationRootUrl": { + "description": "The URL to the root of documentation.", + "type": "string" + }, + "overview": { + "description": "Declares a single overview page. For example:\n\u003cpre\u003e\u003ccode\u003edocumentation:\n summary: ...\n overview: (== include overview.md ==)\n\u003c/code\u003e\u003c/pre\u003e\nThis is a shortcut for the following declaration (using pages style):\n\u003cpre\u003e\u003ccode\u003edocumentation:\n summary: ...\n pages:\n - name: Overview\n content: (== include overview.md ==)\n\u003c/code\u003e\u003c/pre\u003e\nNote: you cannot specify both `overview` field and `pages` field.", + "type": "string" + }, + "rules": { + "description": "A list of documentation rules that apply to individual API elements.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.", + "items": { + "$ref": "DocumentationRule" }, "type": "array" }, - "options": { + "pages": { + "description": "The top level pages for the documentation set.", "items": { - "$ref": "Option" + "$ref": "Page" }, - "type": "array", - "description": "Any metadata attached to the API." + "type": "array" + } + }, + "id": "Documentation" + }, + "BackendRule": { + "description": "A backend rule provides configuration for an individual API element.", + "type": "object", + "properties": { + "minDeadline": { + "format": "double", + "description": "Minimum deadline in seconds needed for this method. Calls having deadline\nvalue lower than this will be rejected.", + "type": "number" }, - "methods": { - "items": { - "$ref": "Method" - }, - "type": "array", - "description": "The methods of this api, in unspecified order." - }, - "name": { - "description": "The fully qualified name of this api, including package name\nfollowed by the api's simple name.", + "address": { + "description": "The address of the API backend.", "type": "string" }, - "sourceContext": { - "description": "Source context for the protocol buffer service represented by this\nmessage.", - "$ref": "SourceContext" + "selector": { + "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.", + "type": "string" }, + "deadline": { + "format": "double", + "description": "The number of seconds to wait for a response from a request. The default\ndeadline for gRPC is infinite (no deadline) and HTTP requests is 5 seconds.", + "type": "number" + } + }, + "id": "BackendRule" + }, + "AuthenticationRule": { + "description": "Authentication rules for the service.\n\nBy default, if a method has any authentication requirements, every request\nmust include a valid credential matching one of the requirements.\nIt's an error to include more than one kind of credential in a single\nrequest.\n\nIf a method doesn't have any auth requirements, request credentials will be\nignored.", + "type": "object", + "properties": { + "requirements": { + "description": "Requirements for additional authentication providers.", + "items": { + "$ref": "AuthRequirement" + }, + "type": "array" + }, + "allowWithoutCredential": { + "description": "Whether to allow requests without a credential. The credential can be\nan OAuth token, Google cookies (first-party auth) or EndUserCreds.\n\nFor requests without credentials, if the service control environment is\nspecified, each incoming request **must** be associated with a service\nconsumer. This can be done by passing an API key that belongs to a consumer\nproject.", + "type": "boolean" + }, + "selector": { + "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.", + "type": "string" + }, + "customAuth": { + "$ref": "CustomAuthRequirements", + "description": "Configuration for custom authentication." + }, + "oauth": { + "description": "The requirements for OAuth credentials.", + "$ref": "OAuthRequirements" + } + }, + "id": "AuthenticationRule" + }, + "Api": { + "description": "Api is a light-weight descriptor for an API Interface.\n\nInterfaces are also described as \"protocol buffer services\" in some contexts,\nsuch as by the \"service\" keyword in a .proto file, but they are different\nfrom API Services, which represent a concrete implementation of an interface\nas opposed to simply a description of methods and bindings. They are also\nsometimes simply referred to as \"APIs\" in other contexts, such as the name of\nthis message itself. See https://cloud.google.com/apis/design/glossary for\ndetailed terminology.", + "type": "object", + "properties": { "syntax": { "description": "The source syntax of the service.", "type": "string", @@ -283,8 +165,37 @@ "SYNTAX_PROTO3" ] }, + "sourceContext": { + "description": "Source context for the protocol buffer service represented by this\nmessage.", + "$ref": "SourceContext" + }, "version": { - "description": "A version string for this api. If specified, must have the form\n`major-version.minor-version`, as in `1.10`. If the minor version\nis omitted, it defaults to zero. If the entire version field is\nempty, the major version is derived from the package name, as\noutlined below. If the field is not empty, the version in the\npackage name will be verified to be consistent with what is\nprovided here.\n\nThe versioning schema uses [semantic\nversioning](http://semver.org) where the major version number\nindicates a breaking change and the minor version an additive,\nnon-breaking change. Both version numbers are signals to users\nwhat to expect from different versions, and should be carefully\nchosen based on the product plan.\n\nThe major version is also reflected in the package name of the\nAPI, which must end in `v\u003cmajor-version\u003e`, as in\n`google.feature.v1`. For major versions 0 and 1, the suffix can\nbe omitted. Zero major versions must only be used for\nexperimental, none-GA apis.\n", + "description": "A version string for this interface. If specified, must have the form\n`major-version.minor-version`, as in `1.10`. If the minor version is\nomitted, it defaults to zero. If the entire version field is empty, the\nmajor version is derived from the package name, as outlined below. If the\nfield is not empty, the version in the package name will be verified to be\nconsistent with what is provided here.\n\nThe versioning schema uses [semantic\nversioning](http://semver.org) where the major version number\nindicates a breaking change and the minor version an additive,\nnon-breaking change. Both version numbers are signals to users\nwhat to expect from different versions, and should be carefully\nchosen based on the product plan.\n\nThe major version is also reflected in the package name of the\ninterface, which must end in `v\u003cmajor-version\u003e`, as in\n`google.feature.v1`. For major versions 0 and 1, the suffix can\nbe omitted. Zero major versions must only be used for\nexperimental, non-GA interfaces.\n", + "type": "string" + }, + "mixins": { + "description": "Included interfaces. See Mixin.", + "items": { + "$ref": "Mixin" + }, + "type": "array" + }, + "options": { + "description": "Any metadata attached to the interface.", + "items": { + "$ref": "Option" + }, + "type": "array" + }, + "methods": { + "description": "The methods of this interface, in unspecified order.", + "items": { + "$ref": "Method" + }, + "type": "array" + }, + "name": { + "description": "The fully qualified name of this interface, including package name\nfollowed by the interface's simple name.", "type": "string" } }, @@ -295,12 +206,12 @@ "type": "object", "properties": { "metricCosts": { - "description": "Metrics to update when the selected methods are called, and the associated\ncost applied to each metric.\n\nThe key of the map is the metric name, and the values are the amount\nincreased for the metric against which the quota limits are defined.\nThe value must not be negative.", - "type": "object", "additionalProperties": { "format": "int64", "type": "string" - } + }, + "description": "Metrics to update when the selected methods are called, and the associated\ncost applied to each metric.\n\nThe key of the map is the metric name, and the values are the amount\nincreased for the metric against which the quota limits are defined.\nThe value must not be negative.", + "type": "object" }, "selector": { "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.", @@ -313,64 +224,62 @@ "description": "`Authentication` defines the authentication configuration for an API.\n\nExample for an API targeted for external use:\n\n name: calendar.googleapis.com\n authentication:\n providers:\n - id: google_calendar_auth\n jwks_uri: https://www.googleapis.com/oauth2/v1/certs\n issuer: https://securetoken.google.com\n rules:\n - selector: \"*\"\n requirements:\n provider_id: google_calendar_auth", "type": "object", "properties": { + "providers": { + "description": "Defines a set of authentication providers that a service supports.", + "items": { + "$ref": "AuthProvider" + }, + "type": "array" + }, "rules": { "description": "A list of authentication rules that apply to individual API methods.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.", "items": { "$ref": "AuthenticationRule" }, "type": "array" - }, - "providers": { - "items": { - "$ref": "AuthProvider" - }, - "type": "array", - "description": "Defines a set of authentication providers that a service supports." } }, "id": "Authentication" }, "Operation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", "type": "object", "properties": { "done": { - "type": "boolean", - "description": "If the value is `false`, it means the operation is still in progress.\nIf true, the operation is completed, and either `error` or `response` is\navailable." + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" }, "response": { - "type": "object", "additionalProperties": { - "type": "any", - "description": "Properties of the object. Contains field @type with type URL." + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" }, - "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`." + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" }, "name": { "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`.", "type": "string" }, "error": { - "description": "The error result of the operation in case of failure or cancellation.", - "$ref": "Status" + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." }, "metadata": { - "type": "object", "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" }, - "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any." + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" } }, - "id": "Operation", - "description": "This resource represents a long-running operation that is the result of a\nnetwork API call." + "id": "Operation" }, "Page": { + "description": "Represents a documentation page. A page can contain subpages to represent\nnested documentation set structure.", + "type": "object", "properties": { - "content": { - "description": "The Markdown content of the page. You can use \u003ccode\u003e(== include {path} ==)\u003c/code\u003e\nto include content from a Markdown file.", - "type": "string" - }, "subpages": { "description": "Subpages of this page. The order of subpages specified here will be\nhonored in the generated docset.", "items": { @@ -381,11 +290,13 @@ "name": { "description": "The name of the page. It will be used as an identity of the page to\ngenerate URI of the page, text of the link to this page in navigation,\netc. The full page name (start from the root page name to this page\nconcatenated with `.`) can be used as reference to the page in your\ndocumentation. For example:\n\u003cpre\u003e\u003ccode\u003epages:\n- name: Tutorial\n content: (== include tutorial.md ==)\n subpages:\n - name: Java\n content: (== include tutorial_java.md ==)\n\u003c/code\u003e\u003c/pre\u003e\nYou can reference `Java` page using Markdown reference link syntax:\n`Java`.", "type": "string" + }, + "content": { + "description": "The Markdown content of the page. You can use \u003ccode\u003e(== include {path} ==)\u003c/code\u003e\nto include content from a Markdown file.", + "type": "string" } }, - "id": "Page", - "description": "Represents a documentation page. A page can contain subpages to represent\nnested documentation set structure.", - "type": "object" + "id": "Page" }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", @@ -401,7 +312,7 @@ "type": "string" }, "details": { - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", "items": { "type": "object", "additionalProperties": { @@ -422,6 +333,10 @@ "description": "The list of JWT\n[audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).\nthat are allowed to access. A JWT containing any of these audiences will\nbe accepted. When this setting is absent, only JWTs with audience\n\"https://Service_name/API_name\"\nwill be accepted. For example, if no audiences are in the setting,\nLibraryService API will only accept JWTs with the following audience\n\"https://library-example.googleapis.com/google.example.library.v1.LibraryService\".\n\nExample:\n\n audiences: bookstore_android.apps.googleusercontent.com,\n bookstore_web.apps.googleusercontent.com", "type": "string" }, + "authorizationUrl": { + "description": "Redirect URL if JWT token is required but no present or is expired.\nImplement authorizationUrl of securityDefinitions in OpenAPI spec.", + "type": "string" + }, "issuer": { "description": "Identifies the principal that issued the JWT. See\nhttps://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1\nUsually a URL or an email address.\n\nExample: https://securetoken.google.com\nExample: 1234567-compute@developer.gserviceaccount.com", "type": "string" @@ -437,88 +352,29 @@ }, "id": "AuthProvider" }, - "EnumValue": { - "description": "Enum value definition.", - "type": "object", - "properties": { - "options": { - "description": "Protocol buffer options.", - "items": { - "$ref": "Option" - }, - "type": "array" - }, - "number": { - "format": "int32", - "description": "Enum value number.", - "type": "integer" - }, - "name": { - "type": "string", - "description": "Enum value name." - } - }, - "id": "EnumValue" - }, "Service": { "description": "`Service` is the root object of Google service configuration schema. It\ndescribes basic information about a service, such as the name and the\ntitle, and delegates other aspects to sub-sections. Each sub-section is\neither a proto message or a repeated proto message that configures a\nspecific aspect, such as auth. See each proto message definition for details.\n\nExample:\n\n type: google.api.Service\n config_version: 3\n name: calendar.googleapis.com\n title: Google Calendar API\n apis:\n - name: google.calendar.v3.Calendar\n authentication:\n providers:\n - id: google_calendar_auth\n jwks_uri: https://www.googleapis.com/oauth2/v1/certs\n issuer: https://securetoken.google.com\n rules:\n - selector: \"*\"\n requirements:\n provider_id: google_calendar_auth", "type": "object", "properties": { - "title": { - "description": "The product title for this service.", - "type": "string" - }, - "endpoints": { - "items": { - "$ref": "Endpoint" - }, - "type": "array", - "description": "Configuration for network endpoints. If this is empty, then an endpoint\nwith the same name as the service is automatically generated to service all\ndefined APIs." - }, - "apis": { - "description": "A list of API interfaces exported by this service. Only the `name` field\nof the google.protobuf.Api needs to be provided by the configuration\nauthor, as the remaining fields will be derived from the IDL during the\nnormalization process. It is an error to specify an API interface here\nwhich cannot be resolved against the associated IDL files.", - "items": { - "$ref": "Api" - }, - "type": "array" - }, - "logs": { - "items": { - "$ref": "LogDescriptor" - }, - "type": "array", - "description": "Defines the logs used by this service." - }, - "types": { - "description": "A list of all proto message types included in this API service.\nTypes referenced directly or indirectly by the `apis` are\nautomatically included. Messages which are not referenced but\nshall be included, such as types used by the `google.protobuf.Any` type,\nshould be listed here by name. Example:\n\n types:\n - name: google.protobuf.Int32", - "items": { - "$ref": "Type" - }, - "type": "array" - }, - "sourceInfo": { - "$ref": "SourceInfo", - "description": "Output only. The source information for this configuration if available." - }, "http": { - "$ref": "Http", - "description": "HTTP configuration." + "description": "HTTP configuration.", + "$ref": "Http" }, "systemParameters": { - "description": "System parameter configuration.", - "$ref": "SystemParameters" + "$ref": "SystemParameters", + "description": "System parameter configuration." }, "backend": { - "$ref": "Backend", - "description": "API backend configuration." + "description": "API backend configuration.", + "$ref": "Backend" }, "documentation": { - "$ref": "Documentation", - "description": "Additional API documentation." + "description": "Additional API documentation.", + "$ref": "Documentation" }, "logging": { - "$ref": "Logging", - "description": "Logging configuration." + "description": "Logging configuration.", + "$ref": "Logging" }, "monitoredResources": { "description": "Defines the monitored resources used by this service. This is required\nby the Service.monitoring and Service.logging configurations.", @@ -535,8 +391,8 @@ "type": "array" }, "context": { - "description": "Context configuration.", - "$ref": "Context" + "$ref": "Context", + "description": "Context configuration." }, "id": { "description": "A unique ID for a specific instance of this message, typically assigned\nby the client for tracking purpose. If empty, the server may choose to\ngenerate one instead.", @@ -558,21 +414,25 @@ "$ref": "Authentication" }, "experimental": { - "$ref": "Experimental", - "description": "Experimental configuration." + "description": "Experimental configuration.", + "$ref": "Experimental" }, "control": { - "$ref": "Control", - "description": "Configuration for the service control plane." + "description": "Configuration for the service control plane.", + "$ref": "Control" }, "configVersion": { "format": "uint32", - "description": "The version of the service configuration. The config version may\ninfluence interpretation of the configuration, for example, to\ndetermine defaults. This is documented together with applicable\noptions. The current default for the config version itself is `3`.", + "description": "The semantic version of the service configuration. The config version\naffects the interpretation of the service configuration. For example,\ncertain features are enabled by default for certain config versions.\nThe latest config version is `3`.", "type": "integer" }, "monitoring": { - "$ref": "Monitoring", - "description": "Monitoring configuration." + "description": "Monitoring configuration.", + "$ref": "Monitoring" + }, + "producerProjectId": { + "description": "The Google project that owns this service.", + "type": "string" }, "systemTypes": { "description": "A list of all proto message types included in this API service.\nIt serves similar purpose as [google.api.Service.types], except that\nthese types are not needed by user-defined APIs. Therefore, they will not\nshow up in the generated discovery doc. This field should only be used\nto define system APIs in ESF.", @@ -581,59 +441,87 @@ }, "type": "array" }, - "producerProjectId": { - "description": "The Google project that owns this service.", - "type": "string" - }, "visibility": { "$ref": "Visibility", "description": "API visibility configuration." }, "quota": { - "$ref": "Quota", - "description": "Quota configuration." + "description": "Quota configuration.", + "$ref": "Quota" }, "name": { "description": "The DNS address at which this service is available,\ne.g. `calendar.googleapis.com`.", "type": "string" }, + "billing": { + "description": "Billing configuration.", + "$ref": "Billing" + }, "customError": { - "$ref": "CustomError", - "description": "Custom error configuration." + "description": "Custom error configuration.", + "$ref": "CustomError" + }, + "title": { + "description": "The product title for this service.", + "type": "string" + }, + "endpoints": { + "description": "Configuration for network endpoints. If this is empty, then an endpoint\nwith the same name as the service is automatically generated to service all\ndefined APIs.", + "items": { + "$ref": "Endpoint" + }, + "type": "array" + }, + "logs": { + "description": "Defines the logs used by this service.", + "items": { + "$ref": "LogDescriptor" + }, + "type": "array" + }, + "apis": { + "description": "A list of API interfaces exported by this service. Only the `name` field\nof the google.protobuf.Api needs to be provided by the configuration\nauthor, as the remaining fields will be derived from the IDL during the\nnormalization process. It is an error to specify an API interface here\nwhich cannot be resolved against the associated IDL files.", + "items": { + "$ref": "Api" + }, + "type": "array" + }, + "types": { + "description": "A list of all proto message types included in this API service.\nTypes referenced directly or indirectly by the `apis` are\nautomatically included. Messages which are not referenced but\nshall be included, such as types used by the `google.protobuf.Any` type,\nshould be listed here by name. Example:\n\n types:\n - name: google.protobuf.Int32", + "items": { + "$ref": "Type" + }, + "type": "array" + }, + "sourceInfo": { + "description": "Output only. The source information for this configuration if available.", + "$ref": "SourceInfo" } }, "id": "Service" }, - "OperationMetadata": { + "EnumValue": { + "description": "Enum value definition.", + "type": "object", "properties": { - "startTime": { - "format": "google-datetime", - "description": "The start time of the operation.", - "type": "string" - }, - "steps": { - "description": "Detailed status information for each step. The order is undetermined.", + "options": { + "description": "Protocol buffer options.", "items": { - "$ref": "Step" + "$ref": "Option" }, "type": "array" }, - "resourceNames": { - "description": "The full name of the resources that this operation is directly\nassociated with.", - "items": { - "type": "string" - }, - "type": "array" - }, - "progressPercentage": { - "type": "integer", + "number": { "format": "int32", - "description": "Percentage of completion of this operation, ranging from 0 to 100." + "description": "Enum value number.", + "type": "integer" + }, + "name": { + "description": "Enum value name.", + "type": "string" } }, - "id": "OperationMetadata", - "description": "The metadata associated with a long running operation resource.", - "type": "object" + "id": "EnumValue" }, "CustomHttpPattern": { "description": "A custom pattern is used for defining custom HTTP verb.", @@ -650,13 +538,44 @@ }, "id": "CustomHttpPattern" }, + "OperationMetadata": { + "description": "The metadata associated with a long running operation resource.", + "type": "object", + "properties": { + "steps": { + "description": "Detailed status information for each step. The order is undetermined.", + "items": { + "$ref": "Step" + }, + "type": "array" + }, + "resourceNames": { + "description": "The full name of the resources that this operation is directly\nassociated with.", + "items": { + "type": "string" + }, + "type": "array" + }, + "progressPercentage": { + "format": "int32", + "description": "Percentage of completion of this operation, ranging from 0 to 100.", + "type": "integer" + }, + "startTime": { + "format": "google-datetime", + "description": "The start time of the operation.", + "type": "string" + } + }, + "id": "OperationMetadata" + }, "PublishedService": { "description": "The published version of a Service that is managed by\nGoogle Service Management.", "type": "object", "properties": { "service": { - "$ref": "Service", - "description": "The service's published configuration." + "description": "The service's published configuration.", + "$ref": "Service" }, "name": { "description": "The resource name of the service.\n\nA valid name would be:\n- services/serviceuser.googleapis.com", @@ -669,16 +588,16 @@ "description": "Define a system parameter rule mapping system parameter definitions to\nmethods.", "type": "object", "properties": { + "selector": { + "description": "Selects the methods to which this rule applies. Use '*' to indicate all\nmethods in all APIs.\n\nRefer to selector for syntax details.", + "type": "string" + }, "parameters": { "description": "Define parameters. Multiple names may be defined for a parameter.\nFor a given method call, only one of them should be used. If multiple\nnames are used the behavior is implementation-dependent.\nIf none of the specified names are present the behavior is\nparameter-dependent.", "items": { "$ref": "SystemParameter" }, "type": "array" - }, - "selector": { - "description": "Selects the methods to which this rule applies. Use '*' to indicate all\nmethods in all APIs.\n\nRefer to selector for syntax details.", - "type": "string" } }, "id": "SystemParameterRule" @@ -692,27 +611,40 @@ "type": "string" }, "selector": { - "type": "string", - "description": "Selects methods, messages, fields, enums, etc. to which this rule applies.\n\nRefer to selector for syntax details." + "description": "Selects methods, messages, fields, enums, etc. to which this rule applies.\n\nRefer to selector for syntax details.", + "type": "string" } }, "id": "VisibilityRule" }, "HttpRule": { + "description": "`HttpRule` defines the mapping of an RPC method to one or more HTTP\nREST API methods. The mapping specifies how different portions of the RPC\nrequest message are mapped to URL path, URL query parameters, and\nHTTP request body. The mapping is typically specified as an\n`google.api.http` annotation on the RPC method,\nsee \"google/api/annotations.proto\" for details.\n\nThe mapping consists of a field specifying the path template and\nmethod kind. The path template can refer to fields in the request\nmessage, as in the example below which describes a REST GET\noperation on a resource collection of messages:\n\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http).get = \"/v1/messages/{message_id}/{sub.subfield}\";\n }\n }\n message GetMessageRequest {\n message SubMessage {\n string subfield = 1;\n }\n string message_id = 1; // mapped to the URL\n SubMessage sub = 2; // `sub.subfield` is url-mapped\n }\n message Message {\n string text = 1; // content of the resource\n }\n\nThe same http annotation can alternatively be expressed inside the\n`GRPC API Configuration` YAML file.\n\n http:\n rules:\n - selector: \u003cproto_package_name\u003e.Messaging.GetMessage\n get: /v1/messages/{message_id}/{sub.subfield}\n\nThis definition enables an automatic, bidrectional mapping of HTTP\nJSON to RPC. Example:\n\nHTTP | RPC\n-----|-----\n`GET /v1/messages/123456/foo` | `GetMessage(message_id: \"123456\" sub: SubMessage(subfield: \"foo\"))`\n\nIn general, not only fields but also field paths can be referenced\nfrom a path pattern. Fields mapped to the path pattern cannot be\nrepeated and must have a primitive (non-message) type.\n\nAny fields in the request message which are not bound by the path\npattern automatically become (optional) HTTP query\nparameters. Assume the following definition of the request message:\n\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http).get = \"/v1/messages/{message_id}\";\n }\n }\n message GetMessageRequest {\n message SubMessage {\n string subfield = 1;\n }\n string message_id = 1; // mapped to the URL\n int64 revision = 2; // becomes a parameter\n SubMessage sub = 3; // `sub.subfield` becomes a parameter\n }\n\n\nThis enables a HTTP JSON to RPC mapping as below:\n\nHTTP | RPC\n-----|-----\n`GET /v1/messages/123456?revision=2&sub.subfield=foo` | `GetMessage(message_id: \"123456\" revision: 2 sub: SubMessage(subfield: \"foo\"))`\n\nNote that fields which are mapped to HTTP parameters must have a\nprimitive type or a repeated primitive type. Message types are not\nallowed. In the case of a repeated type, the parameter can be\nrepeated in the URL, as in `...?param=A¶m=B`.\n\nFor HTTP method kinds which allow a request body, the `body` field\nspecifies the mapping. Consider a REST update method on the\nmessage resource collection:\n\n\n service Messaging {\n rpc UpdateMessage(UpdateMessageRequest) returns (Message) {\n option (google.api.http) = {\n put: \"/v1/messages/{message_id}\"\n body: \"message\"\n };\n }\n }\n message UpdateMessageRequest {\n string message_id = 1; // mapped to the URL\n Message message = 2; // mapped to the body\n }\n\n\nThe following HTTP JSON to RPC mapping is enabled, where the\nrepresentation of the JSON in the request body is determined by\nprotos JSON encoding:\n\nHTTP | RPC\n-----|-----\n`PUT /v1/messages/123456 { \"text\": \"Hi!\" }` | `UpdateMessage(message_id: \"123456\" message { text: \"Hi!\" })`\n\nThe special name `*` can be used in the body mapping to define that\nevery field not bound by the path template should be mapped to the\nrequest body. This enables the following alternative definition of\nthe update method:\n\n service Messaging {\n rpc UpdateMessage(Message) returns (Message) {\n option (google.api.http) = {\n put: \"/v1/messages/{message_id}\"\n body: \"*\"\n };\n }\n }\n message Message {\n string message_id = 1;\n string text = 2;\n }\n\n\nThe following HTTP JSON to RPC mapping is enabled:\n\nHTTP | RPC\n-----|-----\n`PUT /v1/messages/123456 { \"text\": \"Hi!\" }` | `UpdateMessage(message_id: \"123456\" text: \"Hi!\")`\n\nNote that when using `*` in the body mapping, it is not possible to\nhave HTTP parameters, as all fields not bound by the path end in\nthe body. This makes this option more rarely used in practice of\ndefining REST APIs. The common usage of `*` is in custom methods\nwhich don't use the URL at all for transferring data.\n\nIt is possible to define multiple HTTP methods for one RPC by using\nthe `additional_bindings` option. Example:\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http) = {\n get: \"/v1/messages/{message_id}\"\n additional_bindings {\n get: \"/v1/users/{user_id}/messages/{message_id}\"\n }\n };\n }\n }\n message GetMessageRequest {\n string message_id = 1;\n string user_id = 2;\n }\n\n\nThis enables the following two alternative HTTP JSON to RPC\nmappings:\n\nHTTP | RPC\n-----|-----\n`GET /v1/messages/123456` | `GetMessage(message_id: \"123456\")`\n`GET /v1/users/me/messages/123456` | `GetMessage(user_id: \"me\" message_id: \"123456\")`\n\n# Rules for HTTP mapping\n\nThe rules for mapping HTTP path, query parameters, and body fields\nto the request message are as follows:\n\n1. The `body` field specifies either `*` or a field path, or is\n omitted. If omitted, it indicates there is no HTTP request body.\n2. Leaf fields (recursive expansion of nested messages in the\n request) can be classified into three types:\n (a) Matched in the URL template.\n (b) Covered by body (if body is `*`, everything except (a) fields;\n else everything under the body field)\n (c) All other fields.\n3. URL query parameters found in the HTTP request are mapped to (c) fields.\n4. Any body sent with an HTTP request can contain only (b) fields.\n\nThe syntax of the path template is as follows:\n\n Template = \"/\" Segments [ Verb ] ;\n Segments = Segment { \"/\" Segment } ;\n Segment = \"*\" | \"**\" | LITERAL | Variable ;\n Variable = \"{\" FieldPath [ \"=\" Segments ] \"}\" ;\n FieldPath = IDENT { \".\" IDENT } ;\n Verb = \":\" LITERAL ;\n\nThe syntax `*` matches a single path segment. The syntax `**` matches zero\nor more path segments, which must be the last part of the path except the\n`Verb`. The syntax `LITERAL` matches literal text in the path.\n\nThe syntax `Variable` matches part of the URL path as specified by its\ntemplate. A variable template must not contain other variables. If a variable\nmatches a single path segment, its template may be omitted, e.g. `{var}`\nis equivalent to `{var=*}`.\n\nIf a variable contains exactly one path segment, such as `\"{var}\"` or\n`\"{var=*}\"`, when such a variable is expanded into a URL path, all characters\nexcept `[-_.~0-9a-zA-Z]` are percent-encoded. Such variables show up in the\nDiscovery Document as `{var}`.\n\nIf a variable contains one or more path segments, such as `\"{var=foo/*}\"`\nor `\"{var=**}\"`, when such a variable is expanded into a URL path, all\ncharacters except `[-_.~/0-9a-zA-Z]` are percent-encoded. Such variables\nshow up in the Discovery Document as `{+var}`.\n\nNOTE: While the single segment variable matches the semantics of\n[RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2\nSimple String Expansion, the multi segment variable **does not** match\nRFC 6570 Reserved Expansion. The reason is that the Reserved Expansion\ndoes not expand special characters like `?` and `#`, which would lead\nto invalid URLs.\n\nNOTE: the field paths in variables and in the `body` must not refer to\nrepeated fields or map fields.", "type": "object", "properties": { + "responseBody": { + "description": "The name of the response field whose value is mapped to the HTTP body of\nresponse. Other response fields are ignored. This field is optional. When\nnot set, the response message will be used as HTTP body of response.\nNOTE: the referred field must be not a repeated field and must be present\nat the top-level of response message type.", + "type": "string" + }, + "mediaUpload": { + "description": "Use this only for Scotty Requests. Do not use this for media support using\nBytestream, add instead\n[][google.bytestream.RestByteStream] as an API to your\nconfiguration for Bytestream methods.", + "$ref": "MediaUpload" + }, + "selector": { + "description": "Selects methods to which this rule applies.\n\nRefer to selector for syntax details.", + "type": "string" + }, "custom": { "$ref": "CustomHttpPattern", "description": "The custom pattern is used for specifying an HTTP method that is not\nincluded in the `pattern` field, such as HEAD, or \"*\" to leave the\nHTTP method unspecified for this rule. The wild-card rule is useful\nfor services that provide content to Web (HTML) clients." }, - "patch": { - "description": "Used for updating a resource.", - "type": "string" - }, "get": { "description": "Used for listing and getting information about resources.", "type": "string" }, + "patch": { + "description": "Used for updating a resource.", + "type": "string" + }, "put": { "description": "Used for updating a resource.", "type": "string" @@ -725,17 +657,13 @@ "description": "The name of the request field whose value is mapped to the HTTP body, or\n`*` for mapping all fields not captured by the path pattern to the HTTP\nbody. NOTE: the referred field must not be a repeated field and must be\npresent at the top-level of request message type.", "type": "string" }, - "mediaDownload": { - "description": "Use this only for Scotty Requests. Do not use this for bytestream methods.\nFor media support, add instead [][google.bytestream.RestByteStream] as an\nAPI to your configuration.", - "$ref": "MediaDownload" - }, "post": { "description": "Used for creating a resource.", "type": "string" }, - "restMethodName": { - "description": "Optional. The rest method name is by default derived from the URL\npattern. If specified, this field overrides the default method name.\nExample:\n\n rpc CreateResource(CreateResourceRequest)\n returns (CreateResourceResponse) {\n option (google.api.http) = {\n post: \"/v1/resources\",\n body: \"resource\",\n rest_method_name: \"insert\"\n };\n }\n\nThis method has the automatically derived rest method name \"create\", but\n for backwards compatability with apiary, it is specified as insert.", - "type": "string" + "mediaDownload": { + "description": "Use this only for Scotty Requests. Do not use this for bytestream methods.\nFor media support, add instead [][google.bytestream.RestByteStream] as an\nAPI to your configuration.", + "$ref": "MediaDownload" }, "additionalBindings": { "description": "Additional HTTP bindings for the selector. Nested bindings must\nnot contain an `additional_bindings` field themselves (that is,\nthe nesting may only be one level deep).", @@ -743,46 +671,31 @@ "$ref": "HttpRule" }, "type": "array" - }, - "restCollection": { - "description": "Optional. The REST collection name is by default derived from the URL\npattern. If specified, this field overrides the default collection name.\nExample:\n\n rpc AddressesAggregatedList(AddressesAggregatedListRequest)\n returns (AddressesAggregatedListResponse) {\n option (google.api.http) = {\n get: \"/v1/projects/{project_id}/aggregated/addresses\"\n rest_collection: \"projects.addresses\"\n };\n }\n\nThis method has the automatically derived collection name\n\"projects.aggregated\". Because, semantically, this rpc is actually an\noperation on the \"projects.addresses\" collection, the `rest_collection`\nfield is configured to override the derived collection name.", - "type": "string" - }, - "responseBody": { - "description": "The name of the response field whose value is mapped to the HTTP body of\nresponse. Other response fields are ignored. This field is optional. When\nnot set, the response message will be used as HTTP body of response.\nNOTE: the referred field must be not a repeated field and must be present\nat the top-level of response message type.", - "type": "string" - }, - "mediaUpload": { - "description": "Use this only for Scotty Requests. Do not use this for media support using\nBytestream, add instead\n[][google.bytestream.RestByteStream] as an API to your\nconfiguration for Bytestream methods.", - "$ref": "MediaUpload" - }, - "selector": { - "description": "Selects methods to which this rule applies.\n\nRefer to selector for syntax details.", - "type": "string" } }, - "id": "HttpRule", - "description": "`HttpRule` defines the mapping of an RPC method to one or more HTTP\nREST API methods. The mapping specifies how different portions of the RPC\nrequest message are mapped to URL path, URL query parameters, and\nHTTP request body. The mapping is typically specified as an\n`google.api.http` annotation on the RPC method,\nsee \"google/api/annotations.proto\" for details.\n\nThe mapping consists of a field specifying the path template and\nmethod kind. The path template can refer to fields in the request\nmessage, as in the example below which describes a REST GET\noperation on a resource collection of messages:\n\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http).get = \"/v1/messages/{message_id}/{sub.subfield}\";\n }\n }\n message GetMessageRequest {\n message SubMessage {\n string subfield = 1;\n }\n string message_id = 1; // mapped to the URL\n SubMessage sub = 2; // `sub.subfield` is url-mapped\n }\n message Message {\n string text = 1; // content of the resource\n }\n\nThe same http annotation can alternatively be expressed inside the\n`GRPC API Configuration` YAML file.\n\n http:\n rules:\n - selector: \u003cproto_package_name\u003e.Messaging.GetMessage\n get: /v1/messages/{message_id}/{sub.subfield}\n\nThis definition enables an automatic, bidrectional mapping of HTTP\nJSON to RPC. Example:\n\nHTTP | RPC\n-----|-----\n`GET /v1/messages/123456/foo` | `GetMessage(message_id: \"123456\" sub: SubMessage(subfield: \"foo\"))`\n\nIn general, not only fields but also field paths can be referenced\nfrom a path pattern. Fields mapped to the path pattern cannot be\nrepeated and must have a primitive (non-message) type.\n\nAny fields in the request message which are not bound by the path\npattern automatically become (optional) HTTP query\nparameters. Assume the following definition of the request message:\n\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http).get = \"/v1/messages/{message_id}\";\n }\n }\n message GetMessageRequest {\n message SubMessage {\n string subfield = 1;\n }\n string message_id = 1; // mapped to the URL\n int64 revision = 2; // becomes a parameter\n SubMessage sub = 3; // `sub.subfield` becomes a parameter\n }\n\n\nThis enables a HTTP JSON to RPC mapping as below:\n\nHTTP | RPC\n-----|-----\n`GET /v1/messages/123456?revision=2&sub.subfield=foo` | `GetMessage(message_id: \"123456\" revision: 2 sub: SubMessage(subfield: \"foo\"))`\n\nNote that fields which are mapped to HTTP parameters must have a\nprimitive type or a repeated primitive type. Message types are not\nallowed. In the case of a repeated type, the parameter can be\nrepeated in the URL, as in `...?param=A¶m=B`.\n\nFor HTTP method kinds which allow a request body, the `body` field\nspecifies the mapping. Consider a REST update method on the\nmessage resource collection:\n\n\n service Messaging {\n rpc UpdateMessage(UpdateMessageRequest) returns (Message) {\n option (google.api.http) = {\n put: \"/v1/messages/{message_id}\"\n body: \"message\"\n };\n }\n }\n message UpdateMessageRequest {\n string message_id = 1; // mapped to the URL\n Message message = 2; // mapped to the body\n }\n\n\nThe following HTTP JSON to RPC mapping is enabled, where the\nrepresentation of the JSON in the request body is determined by\nprotos JSON encoding:\n\nHTTP | RPC\n-----|-----\n`PUT /v1/messages/123456 { \"text\": \"Hi!\" }` | `UpdateMessage(message_id: \"123456\" message { text: \"Hi!\" })`\n\nThe special name `*` can be used in the body mapping to define that\nevery field not bound by the path template should be mapped to the\nrequest body. This enables the following alternative definition of\nthe update method:\n\n service Messaging {\n rpc UpdateMessage(Message) returns (Message) {\n option (google.api.http) = {\n put: \"/v1/messages/{message_id}\"\n body: \"*\"\n };\n }\n }\n message Message {\n string message_id = 1;\n string text = 2;\n }\n\n\nThe following HTTP JSON to RPC mapping is enabled:\n\nHTTP | RPC\n-----|-----\n`PUT /v1/messages/123456 { \"text\": \"Hi!\" }` | `UpdateMessage(message_id: \"123456\" text: \"Hi!\")`\n\nNote that when using `*` in the body mapping, it is not possible to\nhave HTTP parameters, as all fields not bound by the path end in\nthe body. This makes this option more rarely used in practice of\ndefining REST APIs. The common usage of `*` is in custom methods\nwhich don't use the URL at all for transferring data.\n\nIt is possible to define multiple HTTP methods for one RPC by using\nthe `additional_bindings` option. Example:\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http) = {\n get: \"/v1/messages/{message_id}\"\n additional_bindings {\n get: \"/v1/users/{user_id}/messages/{message_id}\"\n }\n };\n }\n }\n message GetMessageRequest {\n string message_id = 1;\n string user_id = 2;\n }\n\n\nThis enables the following two alternative HTTP JSON to RPC\nmappings:\n\nHTTP | RPC\n-----|-----\n`GET /v1/messages/123456` | `GetMessage(message_id: \"123456\")`\n`GET /v1/users/me/messages/123456` | `GetMessage(user_id: \"me\" message_id: \"123456\")`\n\n# Rules for HTTP mapping\n\nThe rules for mapping HTTP path, query parameters, and body fields\nto the request message are as follows:\n\n1. The `body` field specifies either `*` or a field path, or is\n omitted. If omitted, it indicates there is no HTTP request body.\n2. Leaf fields (recursive expansion of nested messages in the\n request) can be classified into three types:\n (a) Matched in the URL template.\n (b) Covered by body (if body is `*`, everything except (a) fields;\n else everything under the body field)\n (c) All other fields.\n3. URL query parameters found in the HTTP request are mapped to (c) fields.\n4. Any body sent with an HTTP request can contain only (b) fields.\n\nThe syntax of the path template is as follows:\n\n Template = \"/\" Segments [ Verb ] ;\n Segments = Segment { \"/\" Segment } ;\n Segment = \"*\" | \"**\" | LITERAL | Variable ;\n Variable = \"{\" FieldPath [ \"=\" Segments ] \"}\" ;\n FieldPath = IDENT { \".\" IDENT } ;\n Verb = \":\" LITERAL ;\n\nThe syntax `*` matches a single path segment. The syntax `**` matches zero\nor more path segments, which must be the last part of the path except the\n`Verb`. The syntax `LITERAL` matches literal text in the path.\n\nThe syntax `Variable` matches part of the URL path as specified by its\ntemplate. A variable template must not contain other variables. If a variable\nmatches a single path segment, its template may be omitted, e.g. `{var}`\nis equivalent to `{var=*}`.\n\nIf a variable contains exactly one path segment, such as `\"{var}\"` or\n`\"{var=*}\"`, when such a variable is expanded into a URL path, all characters\nexcept `[-_.~0-9a-zA-Z]` are percent-encoded. Such variables show up in the\nDiscovery Document as `{var}`.\n\nIf a variable contains one or more path segments, such as `\"{var=foo/*}\"`\nor `\"{var=**}\"`, when such a variable is expanded into a URL path, all\ncharacters except `[-_.~/0-9a-zA-Z]` are percent-encoded. Such variables\nshow up in the Discovery Document as `{+var}`.\n\nNOTE: While the single segment variable matches the semantics of\n[RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2\nSimple String Expansion, the multi segment variable **does not** match\nRFC 6570 Reserved Expansion. The reason is that the Reserved Expansion\ndoes not expand special characters like `?` and `#`, which would lead\nto invalid URLs.\n\nNOTE: the field paths in variables and in the `body` must not refer to\nrepeated fields or map fields." + "id": "HttpRule" }, "MonitoringDestination": { - "id": "MonitoringDestination", "description": "Configuration of a specific monitoring destination (the producer project\nor the consumer project).", "type": "object", "properties": { + "monitoredResource": { + "description": "The monitored resource type. The type must be defined in\nService.monitored_resources section.", + "type": "string" + }, "metrics": { "description": "Names of the metrics to report to this monitoring destination.\nEach name must be defined in Service.metrics section.", "items": { "type": "string" }, "type": "array" - }, - "monitoredResource": { - "description": "The monitored resource type. The type must be defined in\nService.monitored_resources section.", - "type": "string" } - } + }, + "id": "MonitoringDestination" }, "Visibility": { + "description": "`Visibility` defines restrictions for the visibility of service\nelements. Restrictions are specified using visibility labels\n(e.g., TRUSTED_TESTER) that are elsewhere linked to users and projects.\n\nUsers and projects can have access to more than one visibility label. The\neffective visibility for multiple labels is the union of each label's\nelements, plus any unrestricted elements.\n\nIf an element and its parents have no restrictions, visibility is\nunconditionally granted.\n\nExample:\n\n visibility:\n rules:\n - selector: google.calendar.Calendar.EnhancedSearch\n restriction: TRUSTED_TESTER\n - selector: google.calendar.Calendar.Delegate\n restriction: GOOGLE_INTERNAL\n\nHere, all methods are publicly visible except for the restricted methods\nEnhancedSearch and Delegate.", + "type": "object", "properties": { "rules": { "description": "A list of visibility rules that apply to individual API elements.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.", @@ -792,9 +705,7 @@ "type": "array" } }, - "id": "Visibility", - "description": "`Visibility` defines restrictions for the visibility of service\nelements. Restrictions are specified using visibility labels\n(e.g., TRUSTED_TESTER) that are elsewhere linked to users and projects.\n\nUsers and projects can have access to more than one visibility label. The\neffective visibility for multiple labels is the union of each label's\nelements, plus any unrestricted elements.\n\nIf an element and its parents have no restrictions, visibility is\nunconditionally granted.\n\nExample:\n\n visibility:\n rules:\n - selector: google.calendar.Calendar.EnhancedSearch\n restriction: TRUSTED_TESTER\n - selector: google.calendar.Calendar.Delegate\n restriction: GOOGLE_INTERNAL\n\nHere, all methods are publicly visible except for the restricted methods\nEnhancedSearch and Delegate.", - "type": "object" + "id": "Visibility" }, "SystemParameters": { "description": "### System parameter configuration\n\nA system parameter is a special kind of parameter defined by the API\nsystem, not by an individual API. It is typically mapped to an HTTP header\nand/or a URL query parameter. This configuration specifies which methods\nchange the names of the system parameters.", @@ -836,14 +747,6 @@ "type": "object", "properties": { "status": { - "enum": [ - "STATUS_UNSPECIFIED", - "DONE", - "NOT_STARTED", - "IN_PROGRESS", - "FAILED", - "CANCELLED" - ], "description": "The status code.", "type": "string", "enumDescriptions": [ @@ -853,11 +756,19 @@ "The operation or step is in progress.", "The operation or step has completed with errors. If the operation is\nrollbackable, the rollback completed with errors too.", "The operation or step has completed with cancellation." + ], + "enum": [ + "STATUS_UNSPECIFIED", + "DONE", + "NOT_STARTED", + "IN_PROGRESS", + "FAILED", + "CANCELLED" ] }, "description": { - "type": "string", - "description": "The short description of the step." + "description": "The short description of the step.", + "type": "string" } }, "id": "Step" @@ -881,7 +792,6 @@ "id": "LoggingDestination" }, "Option": { - "id": "Option", "description": "A protocol buffer option, which can be attached to a message, field,\nenumeration, etc.", "type": "object", "properties": { @@ -897,18 +807,19 @@ "description": "The option's name. For protobuf built-in options (options defined in\ndescriptor.proto), this is the short name. For example, `\"map_entry\"`.\nFor custom options, it should be the fully-qualified name. For example,\n`\"google.api.http\"`.", "type": "string" } - } + }, + "id": "Option" }, "Logging": { "description": "Logging configuration of the service.\n\nThe following example shows how to configure logs to be sent to the\nproducer and consumer projects. In the example, the `activity_history`\nlog is sent to both the producer and consumer projects, whereas the\n`purchase_history` log is only sent to the producer project.\n\n monitored_resources:\n - type: library.googleapis.com/branch\n labels:\n - key: /city\n description: The city where the library branch is located in.\n - key: /name\n description: The name of the branch.\n logs:\n - name: activity_history\n labels:\n - key: /customer_id\n - name: purchase_history\n logging:\n producer_destinations:\n - monitored_resource: library.googleapis.com/branch\n logs:\n - activity_history\n - purchase_history\n consumer_destinations:\n - monitored_resource: library.googleapis.com/branch\n logs:\n - activity_history", "type": "object", "properties": { "consumerDestinations": { + "description": "Logging configurations for sending logs to the consumer project.\nThere can be multiple consumer destinations, each one must have a\ndifferent monitored resource type. A log can be used in at most\none consumer destination.", "items": { "$ref": "LoggingDestination" }, - "type": "array", - "description": "Logging configurations for sending logs to the consumer project.\nThere can be multiple consumer destinations, each one must have a\ndifferent monitored resource type. A log can be used in at most\none consumer destination." + "type": "array" }, "producerDestinations": { "description": "Logging configurations for sending logs to the producer project.\nThere can be multiple producer destinations, each one must have a\ndifferent monitored resource type. A log can be used in at most\none producer destination.", @@ -924,43 +835,43 @@ "description": "`QuotaLimit` defines a specific limit that applies over a specified duration\nfor a limit type. There can be at most one limit for a duration and limit\ntype combination defined within a `QuotaGroup`.", "type": "object", "properties": { - "duration": { - "description": "Duration of this limit in textual notation. Example: \"100s\", \"24h\", \"1d\".\nFor duration longer than a day, only multiple of days is supported. We\nsupport only \"100s\" and \"1d\" for now. Additional support will be added in\nthe future. \"0\" indicates indefinite duration.\n\nUsed by group-based quotas only.", - "type": "string" - }, "freeTier": { "format": "int64", "description": "Free tier value displayed in the Developers Console for this limit.\nThe free tier is the number of tokens that will be subtracted from the\nbilled amount when billing is enabled.\nThis field can only be set on a limit with duration \"1d\", in a billable\ngroup; it is invalid on any other limit. If this field is not set, it\ndefaults to 0, indicating that there is no free tier for this service.\n\nUsed by group-based quotas only.", "type": "string" }, + "duration": { + "description": "Duration of this limit in textual notation. Example: \"100s\", \"24h\", \"1d\".\nFor duration longer than a day, only multiple of days is supported. We\nsupport only \"100s\" and \"1d\" for now. Additional support will be added in\nthe future. \"0\" indicates indefinite duration.\n\nUsed by group-based quotas only.", + "type": "string" + }, "defaultLimit": { "format": "int64", "description": "Default number of tokens that can be consumed during the specified\nduration. This is the number of tokens assigned when a client\napplication developer activates the service for his/her project.\n\nSpecifying a value of 0 will block all requests. This can be used if you\nare provisioning quota to selected consumers and blocking others.\nSimilarly, a value of -1 will indicate an unlimited quota. No other\nnegative values are allowed.\n\nUsed by group-based quotas only.", "type": "string" }, - "displayName": { - "type": "string", - "description": "User-visible display name for this limit.\nOptional. If not set, the UI will provide a default display name based on\nthe quota configuration. This field can be used to override the default\ndisplay name generated from the configuration." + "description": { + "description": "Optional. User-visible, extended description for this quota limit.\nShould be used only when more context is needed to understand this limit\nthan provided by the limit's display name (see: `display_name`).", + "type": "string" }, "metric": { "description": "The name of the metric this quota limit applies to. The quota limits with\nthe same metric will be checked together during runtime. The metric must be\ndefined within the service config.\n\nUsed by metric-based quotas only.", "type": "string" }, - "description": { - "description": "Optional. User-visible, extended description for this quota limit.\nShould be used only when more context is needed to understand this limit\nthan provided by the limit's display name (see: `display_name`).", + "displayName": { + "description": "User-visible display name for this limit.\nOptional. If not set, the UI will provide a default display name based on\nthe quota configuration. This field can be used to override the default\ndisplay name generated from the configuration.", "type": "string" }, "values": { + "description": "Tiered limit values, currently only STANDARD is supported.", + "type": "object", "additionalProperties": { "format": "int64", "type": "string" - }, - "description": "Tiered limit values, currently only STANDARD is supported.", - "type": "object" + } }, "unit": { - "type": "string", - "description": "Specify the unit of the quota limit. It uses the same syntax as\nMetric.unit. The supported unit kinds are determined by the quota\nbackend system.\n\nThe [Google Service Control](https://cloud.google.com/service-control)\nsupports the following unit components:\n* One of the time intevals:\n * \"/min\" for quota every minute.\n * \"/d\" for quota every 24 hours, starting 00:00 US Pacific Time.\n * Otherwise the quota won't be reset by time, such as storage limit.\n* One and only one of the granted containers:\n * \"/{project}\" quota for a project\n\nHere are some examples:\n* \"1/min/{project}\" for quota per minute per project.\n\nNote: the order of unit components is insignificant.\nThe \"1\" at the beginning is required to follow the metric unit syntax.\n\nUsed by metric-based quotas only." + "description": "Specify the unit of the quota limit. It uses the same syntax as\nMetric.unit. The supported unit kinds are determined by the quota\nbackend system.\n\nThe [Google Service Control](https://cloud.google.com/service-control)\nsupports the following unit components:\n* One of the time intevals:\n * \"/min\" for quota every minute.\n * \"/d\" for quota every 24 hours, starting 00:00 US Pacific Time.\n * Otherwise the quota won't be reset by time, such as storage limit.\n* One and only one of the granted containers:\n * \"/{project}\" quota for a project\n\nHere are some examples:\n* \"1/min/{project}\" for quota per minute per project.\n\nNote: the order of unit components is insignificant.\nThe \"1\" at the beginning is required to follow the metric unit syntax.\n\nUsed by metric-based quotas only.", + "type": "string" }, "maxLimit": { "format": "int64", @@ -975,7 +886,7 @@ "id": "QuotaLimit" }, "Method": { - "description": "Method represents a method of an api.", + "description": "Method represents a method of an API interface.", "type": "object", "properties": { "responseTypeUrl": { @@ -1021,21 +932,22 @@ "id": "Method" }, "Mixin": { + "description": "Declares an API Interface to be included in this interface. The including\ninterface must redeclare all the methods from the included interface, but\ndocumentation and options are inherited as follows:\n\n- If after comment and whitespace stripping, the documentation\n string of the redeclared method is empty, it will be inherited\n from the original method.\n\n- Each annotation belonging to the service config (http,\n visibility) which is not set in the redeclared method will be\n inherited.\n\n- If an http annotation is inherited, the path pattern will be\n modified as follows. Any version prefix will be replaced by the\n version of the including interface plus the root path if\n specified.\n\nExample of a simple mixin:\n\n package google.acl.v1;\n service AccessControl {\n // Get the underlying ACL object.\n rpc GetAcl(GetAclRequest) returns (Acl) {\n option (google.api.http).get = \"/v1/{resource=**}:getAcl\";\n }\n }\n\n package google.storage.v2;\n service Storage {\n // rpc GetAcl(GetAclRequest) returns (Acl);\n\n // Get a data record.\n rpc GetData(GetDataRequest) returns (Data) {\n option (google.api.http).get = \"/v2/{resource=**}\";\n }\n }\n\nExample of a mixin configuration:\n\n apis:\n - name: google.storage.v2.Storage\n mixins:\n - name: google.acl.v1.AccessControl\n\nThe mixin construct implies that all methods in `AccessControl` are\nalso declared with same name and request/response types in\n`Storage`. A documentation generator or annotation processor will\nsee the effective `Storage.GetAcl` method after inherting\ndocumentation and annotations as follows:\n\n service Storage {\n // Get the underlying ACL object.\n rpc GetAcl(GetAclRequest) returns (Acl) {\n option (google.api.http).get = \"/v2/{resource=**}:getAcl\";\n }\n ...\n }\n\nNote how the version in the path pattern changed from `v1` to `v2`.\n\nIf the `root` field in the mixin is specified, it should be a\nrelative path under which inherited HTTP paths are placed. Example:\n\n apis:\n - name: google.storage.v2.Storage\n mixins:\n - name: google.acl.v1.AccessControl\n root: acls\n\nThis implies the following inherited HTTP annotation:\n\n service Storage {\n // Get the underlying ACL object.\n rpc GetAcl(GetAclRequest) returns (Acl) {\n option (google.api.http).get = \"/v2/acls/{resource=**}:getAcl\";\n }\n ...\n }", + "type": "object", "properties": { - "name": { - "description": "The fully qualified name of the API which is included.", - "type": "string" - }, "root": { "description": "If non-empty specifies a path under which inherited HTTP paths\nare rooted.", "type": "string" + }, + "name": { + "description": "The fully qualified name of the interface which is included.", + "type": "string" } }, - "id": "Mixin", - "description": "Declares an API to be included in this API. The including API must\nredeclare all the methods from the included API, but documentation\nand options are inherited as follows:\n\n- If after comment and whitespace stripping, the documentation\n string of the redeclared method is empty, it will be inherited\n from the original method.\n\n- Each annotation belonging to the service config (http,\n visibility) which is not set in the redeclared method will be\n inherited.\n\n- If an http annotation is inherited, the path pattern will be\n modified as follows. Any version prefix will be replaced by the\n version of the including API plus the root path if specified.\n\nExample of a simple mixin:\n\n package google.acl.v1;\n service AccessControl {\n // Get the underlying ACL object.\n rpc GetAcl(GetAclRequest) returns (Acl) {\n option (google.api.http).get = \"/v1/{resource=**}:getAcl\";\n }\n }\n\n package google.storage.v2;\n service Storage {\n // rpc GetAcl(GetAclRequest) returns (Acl);\n\n // Get a data record.\n rpc GetData(GetDataRequest) returns (Data) {\n option (google.api.http).get = \"/v2/{resource=**}\";\n }\n }\n\nExample of a mixin configuration:\n\n apis:\n - name: google.storage.v2.Storage\n mixins:\n - name: google.acl.v1.AccessControl\n\nThe mixin construct implies that all methods in `AccessControl` are\nalso declared with same name and request/response types in\n`Storage`. A documentation generator or annotation processor will\nsee the effective `Storage.GetAcl` method after inherting\ndocumentation and annotations as follows:\n\n service Storage {\n // Get the underlying ACL object.\n rpc GetAcl(GetAclRequest) returns (Acl) {\n option (google.api.http).get = \"/v2/{resource=**}:getAcl\";\n }\n ...\n }\n\nNote how the version in the path pattern changed from `v1` to `v2`.\n\nIf the `root` field in the mixin is specified, it should be a\nrelative path under which inherited HTTP paths are placed. Example:\n\n apis:\n - name: google.storage.v2.Storage\n mixins:\n - name: google.acl.v1.AccessControl\n root: acls\n\nThis implies the following inherited HTTP annotation:\n\n service Storage {\n // Get the underlying ACL object.\n rpc GetAcl(GetAclRequest) returns (Acl) {\n option (google.api.http).get = \"/v2/acls/{resource=**}:getAcl\";\n }\n ...\n }", - "type": "object" + "id": "Mixin" }, "CustomError": { + "description": "Customize service error responses. For example, list any service\nspecific protobuf types that can appear in error detail lists of\nerror responses.\n\nExample:\n\n custom_error:\n types:\n - google.foo.v1.CustomError\n - google.foo.v1.AnotherError", "type": "object", "properties": { "types": { @@ -1046,30 +958,29 @@ "type": "array" }, "rules": { + "description": "The list of custom error rules that apply to individual API messages.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.", "items": { "$ref": "CustomErrorRule" }, - "type": "array", - "description": "The list of custom error rules that apply to individual API messages.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order." + "type": "array" } }, - "id": "CustomError", - "description": "Customize service error responses. For example, list any service\nspecific protobuf types that can appear in error detail lists of\nerror responses.\n\nExample:\n\n custom_error:\n types:\n - google.foo.v1.CustomError\n - google.foo.v1.AnotherError" + "id": "CustomError" }, "Http": { "description": "Defines the HTTP configuration for an API service. It contains a list of\nHttpRule, each specifying the mapping of an RPC method\nto one or more HTTP REST API methods.", "type": "object", "properties": { - "rules": { - "items": { - "$ref": "HttpRule" - }, - "type": "array", - "description": "A list of HTTP configuration rules that apply to individual API methods.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order." - }, "fullyDecodeReservedExpansion": { "description": "When set to true, URL path parmeters will be fully URI-decoded except in\ncases of single segment matches in reserved expansion, where \"%2F\" will be\nleft encoded.\n\nThe default behavior is to not decode RFC 6570 reserved characters in multi\nsegment matches.", "type": "boolean" + }, + "rules": { + "description": "A list of HTTP configuration rules that apply to individual API methods.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.", + "items": { + "$ref": "HttpRule" + }, + "type": "array" } }, "id": "Http" @@ -1081,11 +992,11 @@ "sourceFiles": { "description": "All files used during config generation.", "items": { - "type": "object", "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" - } + }, + "type": "object" }, "type": "array" } @@ -1093,7 +1004,6 @@ "id": "SourceInfo" }, "Control": { - "id": "Control", "description": "Selects and configures the service controller used by the service. The\nservice controller handles features like abuse, quota, billing, logging,\nmonitoring, etc.", "type": "object", "properties": { @@ -1101,10 +1011,10 @@ "description": "The service control environment to use. If empty, no control plane\nfeature (like quota and billing) will be enabled.", "type": "string" } - } + }, + "id": "Control" }, "SystemParameter": { - "id": "SystemParameter", "description": "Define a parameter's name and location. The parameter may be passed as either\nan HTTP header or a URL query parameter, and if both are passed the behavior\nis implementation-dependent.", "type": "object", "properties": { @@ -1120,10 +1030,10 @@ "description": "Define the name of the parameter, such as \"api_key\" . It is case sensitive.", "type": "string" } - } + }, + "id": "SystemParameter" }, "Monitoring": { - "id": "Monitoring", "description": "Monitoring configuration of the service.\n\nThe example below shows how to configure monitored resources and metrics\nfor monitoring. In the example, a monitored resource and two metrics are\ndefined. The `library.googleapis.com/book/returned_count` metric is sent\nto both producer and consumer projects, whereas the\n`library.googleapis.com/book/overdue_count` metric is only sent to the\nconsumer project.\n\n monitored_resources:\n - type: library.googleapis.com/branch\n labels:\n - key: /city\n description: The city where the library branch is located in.\n - key: /name\n description: The name of the branch.\n metrics:\n - name: library.googleapis.com/book/returned_count\n metric_kind: DELTA\n value_type: INT64\n labels:\n - key: /customer_id\n - name: library.googleapis.com/book/overdue_count\n metric_kind: GAUGE\n value_type: INT64\n labels:\n - key: /customer_id\n monitoring:\n producer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/returned_count\n consumer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/returned_count\n - library.googleapis.com/book/overdue_count", "type": "object", "properties": { @@ -1141,29 +1051,13 @@ }, "type": "array" } - } + }, + "id": "Monitoring" }, "Field": { "description": "A single field of a message type.", "type": "object", "properties": { - "defaultValue": { - "description": "The string value of the default value of this field. Proto2 syntax only.", - "type": "string" - }, - "name": { - "description": "The field name.", - "type": "string" - }, - "typeUrl": { - "description": "The field type URL, without the scheme, for message or enumeration\ntypes. Example: `\"type.googleapis.com/google.protobuf.Timestamp\"`.", - "type": "string" - }, - "number": { - "format": "int32", - "description": "The field number.", - "type": "integer" - }, "jsonName": { "description": "The field JSON name.", "type": "string" @@ -1231,6 +1125,7 @@ "type": "boolean" }, "cardinality": { + "description": "The field cardinality.", "type": "string", "enumDescriptions": [ "For fields with unknown cardinality.", @@ -1243,8 +1138,24 @@ "CARDINALITY_OPTIONAL", "CARDINALITY_REQUIRED", "CARDINALITY_REPEATED" - ], - "description": "The field cardinality." + ] + }, + "defaultValue": { + "description": "The string value of the default value of this field. Proto2 syntax only.", + "type": "string" + }, + "name": { + "description": "The field name.", + "type": "string" + }, + "typeUrl": { + "description": "The field type URL, without the scheme, for message or enumeration\ntypes. Example: `\"type.googleapis.com/google.protobuf.Timestamp\"`.", + "type": "string" + }, + "number": { + "format": "int32", + "description": "The field number.", + "type": "integer" } }, "id": "Field" @@ -1272,8 +1183,6 @@ "type": "array" }, "syntax": { - "description": "The source syntax.", - "type": "string", "enumDescriptions": [ "Syntax `proto2`.", "Syntax `proto3`." @@ -1281,11 +1190,13 @@ "enum": [ "SYNTAX_PROTO2", "SYNTAX_PROTO3" - ] + ], + "description": "The source syntax.", + "type": "string" }, "sourceContext": { - "description": "The source context.", - "$ref": "SourceContext" + "$ref": "SourceContext", + "description": "The source context." } }, "id": "Enum" @@ -1297,68 +1208,38 @@ "id": "EnableServiceRequest" }, "LabelDescriptor": { + "description": "A description of a label.", "type": "object", "properties": { + "description": { + "description": "A human-readable description for the label.", + "type": "string" + }, "valueType": { + "enumDescriptions": [ + "A variable-length string. This is the default.", + "Boolean; true or false.", + "A 64-bit signed integer." + ], "enum": [ "STRING", "BOOL", "INT64" ], "description": "The type of data that can be assigned to the label.", - "type": "string", - "enumDescriptions": [ - "A variable-length string. This is the default.", - "Boolean; true or false.", - "A 64-bit signed integer." - ] + "type": "string" }, "key": { - "type": "string", - "description": "The label key." - }, - "description": { - "description": "A human-readable description for the label.", + "description": "The label key.", "type": "string" } }, - "id": "LabelDescriptor", - "description": "A description of a label." + "id": "LabelDescriptor" }, "Type": { "description": "A protocol buffer message type.", "type": "object", "properties": { - "oneofs": { - "items": { - "type": "string" - }, - "type": "array", - "description": "The list of types appearing in `oneof` definitions in this type." - }, - "syntax": { - "enumDescriptions": [ - "Syntax `proto2`.", - "Syntax `proto3`." - ], - "enum": [ - "SYNTAX_PROTO2", - "SYNTAX_PROTO3" - ], - "description": "The source syntax.", - "type": "string" - }, - "sourceContext": { - "description": "The source context.", - "$ref": "SourceContext" - }, - "options": { - "description": "The protocol buffer options.", - "items": { - "$ref": "Option" - }, - "type": "array" - }, "fields": { "description": "The list of fields.", "items": { @@ -1369,12 +1250,41 @@ "name": { "description": "The fully qualified message name.", "type": "string" + }, + "oneofs": { + "description": "The list of types appearing in `oneof` definitions in this type.", + "items": { + "type": "string" + }, + "type": "array" + }, + "sourceContext": { + "$ref": "SourceContext", + "description": "The source context." + }, + "syntax": { + "description": "The source syntax.", + "type": "string", + "enumDescriptions": [ + "Syntax `proto2`.", + "Syntax `proto3`." + ], + "enum": [ + "SYNTAX_PROTO2", + "SYNTAX_PROTO3" + ] + }, + "options": { + "description": "The protocol buffer options.", + "items": { + "$ref": "Option" + }, + "type": "array" } }, "id": "Type" }, "Experimental": { - "id": "Experimental", "description": "Experimental service configuration. These configuration options can\nonly be used by whitelisted users.", "type": "object", "properties": { @@ -1382,9 +1292,11 @@ "description": "Authorization configuration.", "$ref": "AuthorizationConfig" } - } + }, + "id": "Experimental" }, "Backend": { + "description": "`Backend` defines the backend configuration for a service.", "type": "object", "properties": { "rules": { @@ -1395,8 +1307,7 @@ "type": "array" } }, - "id": "Backend", - "description": "`Backend` defines the backend configuration for a service." + "id": "Backend" }, "AuthorizationConfig": { "description": "Configuration of authorization.\n\nThis section determines the authorization provider, if unspecified, then no\nauthorization check will be done.\n\nExample:\n\n experimental:\n authorization:\n provider: firebaserules.googleapis.com", @@ -1422,8 +1333,8 @@ "type": "string" }, "selector": { - "type": "string", - "description": "The selector is a comma-separated list of patterns. Each pattern is a\nqualified name of the element which may end in \"*\", indicating a wildcard.\nWildcards are only allowed at the end and for a whole component of the\nqualified name, i.e. \"foo.*\" is ok, but not \"foo.b*\" or \"foo.*.bar\". To\nspecify a default for all applicable elements, the whole pattern \"*\"\nis used." + "description": "The selector is a comma-separated list of patterns. Each pattern is a\nqualified name of the element which may end in \"*\", indicating a wildcard.\nWildcards are only allowed at the end and for a whole component of the\nqualified name, i.e. \"foo.*\" is ok, but not \"foo.b*\" or \"foo.*.bar\". To\nspecify a default for all applicable elements, the whole pattern \"*\"\nis used.", + "type": "string" } }, "id": "DocumentationRule" @@ -1432,6 +1343,13 @@ "description": "A context rule provides information about the context for an individual API\nelement.", "type": "object", "properties": { + "provided": { + "description": "A list of full type names of provided contexts.", + "items": { + "type": "string" + }, + "type": "array" + }, "requested": { "description": "A list of full type names of requested contexts.", "items": { @@ -1442,32 +1360,22 @@ "selector": { "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.", "type": "string" - }, - "provided": { - "items": { - "type": "string" - }, - "type": "array", - "description": "A list of full type names of provided contexts." } }, "id": "ContextRule" }, - "SourceContext": { - "id": "SourceContext", - "description": "`SourceContext` represents information about the source of a\nprotobuf element, like the file in which it is defined.", - "type": "object", - "properties": { - "fileName": { - "description": "The path-qualified name of the .proto file that contained the associated\nprotobuf element. For example: `\"google/protobuf/source_context.proto\"`.", - "type": "string" - } - } - }, "MetricDescriptor": { "description": "Defines a metric type and its schema. Once a metric descriptor is created,\ndeleting or altering it stops data collection and makes the metric type's\nexisting data unusable.", "type": "object", "properties": { + "displayName": { + "description": "A concise name for the metric, which can be displayed in user interfaces.\nUse sentence case without an ending period, for example \"Request count\".", + "type": "string" + }, + "description": { + "description": "A detailed description of the metric, which can be used in documentation.", + "type": "string" + }, "unit": { "description": "The unit in which the metric value is reported. It is only applicable\nif the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The\nsupported units are a subset of [The Unified Code for Units of\nMeasure](http://unitsofmeasure.org/ucum.html) standard:\n\n**Basic units (UNIT)**\n\n* `bit` bit\n* `By` byte\n* `s` second\n* `min` minute\n* `h` hour\n* `d` day\n\n**Prefixes (PREFIX)**\n\n* `k` kilo (10**3)\n* `M` mega (10**6)\n* `G` giga (10**9)\n* `T` tera (10**12)\n* `P` peta (10**15)\n* `E` exa (10**18)\n* `Z` zetta (10**21)\n* `Y` yotta (10**24)\n* `m` milli (10**-3)\n* `u` micro (10**-6)\n* `n` nano (10**-9)\n* `p` pico (10**-12)\n* `f` femto (10**-15)\n* `a` atto (10**-18)\n* `z` zepto (10**-21)\n* `y` yocto (10**-24)\n* `Ki` kibi (2**10)\n* `Mi` mebi (2**20)\n* `Gi` gibi (2**30)\n* `Ti` tebi (2**40)\n\n**Grammar**\n\nThe grammar includes the dimensionless unit `1`, such as `1/s`.\n\nThe grammar also includes these connectors:\n\n* `/` division (as an infix operator, e.g. `1/s`).\n* `.` multiplication (as an infix operator, e.g. `GBy.d`)\n\nThe grammar for a unit is as follows:\n\n Expression = Component { \".\" Component } { \"/\" Component } ;\n\n Component = [ PREFIX ] UNIT [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\n Annotation = \"{\" NAME \"}\" ;\n\nNotes:\n\n* `Annotation` is just a comment if it follows a `UNIT` and is\n equivalent to `1` if it is used alone. For examples,\n `{requests}/s == 1/s`, `By{transmitted}/s == By/s`.\n* `NAME` is a sequence of non-blank printable ASCII characters not\n containing '{' or '}'.", "type": "string" @@ -1484,12 +1392,10 @@ "type": "string" }, "type": { - "type": "string", - "description": "The metric type, including its DNS name prefix. The type is not\nURL-encoded. All user-defined custom metric types have the DNS name\n`custom.googleapis.com`. Metric types should use a natural hierarchical\ngrouping. For example:\n\n \"custom.googleapis.com/invoice/paid/amount\"\n \"appengine.googleapis.com/http/server/response_latencies\"" + "description": "The metric type, including its DNS name prefix. The type is not\nURL-encoded. All user-defined custom metric types have the DNS name\n`custom.googleapis.com`. Metric types should use a natural hierarchical\ngrouping. For example:\n\n \"custom.googleapis.com/invoice/paid/amount\"\n \"appengine.googleapis.com/http/server/response_latencies\"", + "type": "string" }, "valueType": { - "description": "Whether the measurement is an integer, a floating-point number, etc.\nSome combinations of `metric_kind` and `value_type` might not be supported.", - "type": "string", "enumDescriptions": [ "Do not use this default value.", "The value is a boolean.\nThis value type can be used only if the metric kind is `GAUGE`.", @@ -1507,9 +1413,17 @@ "STRING", "DISTRIBUTION", "MONEY" - ] + ], + "description": "Whether the measurement is an integer, a floating-point number, etc.\nSome combinations of `metric_kind` and `value_type` might not be supported.", + "type": "string" }, "metricKind": { + "enumDescriptions": [ + "Do not use this default value.", + "An instantaneous measurement of a value.", + "The change in a value during a time interval.", + "A value accumulated over a time interval. Cumulative\nmeasurements in a time series should have the same start time\nand increasing end times, until an event resets the cumulative\nvalue to zero and sets a new start time for the following\npoints." + ], "enum": [ "METRIC_KIND_UNSPECIFIED", "GAUGE", @@ -1517,36 +1431,58 @@ "CUMULATIVE" ], "description": "Whether the metric records instantaneous values, changes to a value, etc.\nSome combinations of `metric_kind` and `value_type` might not be supported.", - "type": "string", - "enumDescriptions": [ - "Do not use this default value.", - "An instantaneous measurement of a value.", - "The change in a value during a time interval.", - "A value accumulated over a time interval. Cumulative\nmeasurements in a time series should have the same start time\nand increasing end times, until an event resets the cumulative\nvalue to zero and sets a new start time for the following\npoints." - ] - }, - "description": { - "description": "A detailed description of the metric, which can be used in documentation.", - "type": "string" - }, - "displayName": { - "description": "A concise name for the metric, which can be displayed in user interfaces.\nUse sentence case without an ending period, for example \"Request count\".", "type": "string" } }, "id": "MetricDescriptor" }, + "SourceContext": { + "description": "`SourceContext` represents information about the source of a\nprotobuf element, like the file in which it is defined.", + "type": "object", + "properties": { + "fileName": { + "description": "The path-qualified name of the .proto file that contained the associated\nprotobuf element. For example: `\"google/protobuf/source_context.proto\"`.", + "type": "string" + } + }, + "id": "SourceContext" + }, + "Billing": { + "description": "Billing related configuration of the service.\n\nThe following example shows how to configure monitored resources and metrics\nfor billing:\n monitored_resources:\n - type: library.googleapis.com/branch\n labels:\n - key: /city\n description: The city where the library branch is located in.\n - key: /name\n description: The name of the branch.\n metrics:\n - name: library.googleapis.com/book/borrowed_count\n metric_kind: DELTA\n value_type: INT64\n billing:\n consumer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/borrowed_count", + "type": "object", + "properties": { + "consumerDestinations": { + "description": "Billing configurations for sending metrics to the consumer project.\nThere can be multiple consumer destinations per service, each one must have\na different monitored resource type. A metric can be used in at most\none consumer destination.", + "items": { + "$ref": "BillingDestination" + }, + "type": "array" + } + }, + "id": "Billing" + }, + "ListEnabledServicesResponse": { + "description": "Response message for `ListEnabledServices` method.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "Token that can be passed to `ListEnabledServices` to resume a paginated\nquery.", + "type": "string" + }, + "services": { + "description": "Services enabled for the specified parent.", + "items": { + "$ref": "PublishedService" + }, + "type": "array" + } + }, + "id": "ListEnabledServicesResponse" + }, "Endpoint": { "description": "`Endpoint` describes a network endpoint that serves a set of APIs.\nA service may expose any number of endpoints, and all endpoints share the\nsame service configuration, such as quota configuration and monitoring\nconfiguration.\n\nExample service configuration:\n\n name: library-example.googleapis.com\n endpoints:\n # Below entry makes 'google.example.library.v1.Library'\n # API be served from endpoint address library-example.googleapis.com.\n # It also allows HTTP OPTIONS calls to be passed to the backend, for\n # it to decide whether the subsequent cross-origin request is\n # allowed to proceed.\n - name: library-example.googleapis.com\n allow_cors: true", "type": "object", "properties": { - "features": { - "description": "The list of features enabled on this endpoint.", - "items": { - "type": "string" - }, - "type": "array" - }, "apis": { "description": "The list of APIs served by this endpoint.\n\nIf no APIs are specified this translates to \"all APIs\" exported by the\nservice, as defined in the top-level service configuration.", "items": { @@ -1565,35 +1501,24 @@ }, "type": "array" }, + "name": { + "description": "The canonical name of this endpoint.", + "type": "string" + }, "target": { "description": "The specification of an Internet routable address of API frontend that will\nhandle requests to this [API Endpoint](https://cloud.google.com/apis/design/glossary).\nIt should be either a valid IPv4 address or a fully-qualified domain name.\nFor example, \"8.8.8.8\" or \"myservice.appspot.com\".", "type": "string" }, - "name": { - "description": "The canonical name of this endpoint.", - "type": "string" + "features": { + "description": "The list of features enabled on this endpoint.", + "items": { + "type": "string" + }, + "type": "array" } }, "id": "Endpoint" }, - "ListEnabledServicesResponse": { - "description": "Response message for `ListEnabledServices` method.", - "type": "object", - "properties": { - "nextPageToken": { - "description": "Token that can be passed to `ListEnabledServices` to resume a paginated\nquery.", - "type": "string" - }, - "services": { - "items": { - "$ref": "PublishedService" - }, - "type": "array", - "description": "Services enabled for the specified parent." - } - }, - "id": "ListEnabledServicesResponse" - }, "OAuthRequirements": { "description": "OAuth scopes are a way to define data and permissions on data. For example,\nthere are scopes defined for \"Read-only access to Google Calendar\" and\n\"Access to Cloud Platform\". Users can consent to a scope for an application,\ngiving it permission to access that data on their behalf.\n\nOAuth scope specifications should be fairly coarse grained; a user will need\nto see and understand the text description of what your scope means.\n\nIn most cases: use one or at most two OAuth scopes for an entire family of\nproducts. If your product has multiple APIs, you should probably be sharing\nthe OAuth scope across all of those APIs.\n\nWhen you need finer grained OAuth consent screens: talk with your product\nmanagement about how developers will use them in practice.\n\nPlease note that even though each of the canonical scopes is enough for a\nrequest to be accepted and passed to the backend, a request can still fail\ndue to the backend requiring additional scopes or permissions.", "type": "object", @@ -1606,6 +1531,8 @@ "id": "OAuthRequirements" }, "Usage": { + "description": "Configuration controlling usage of a service.", + "type": "object", "properties": { "producerNotificationChannel": { "description": "The full resource name of a channel used for sending notifications to the\nservice producer.\n\nGoogle Service Management currently only supports\n[Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification\nchannel. To use Google Cloud Pub/Sub as the channel, this must be the name\nof a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format\ndocumented in https://cloud.google.com/pubsub/docs/overview.", @@ -1626,11 +1553,10 @@ "type": "array" } }, - "id": "Usage", - "description": "Configuration controlling usage of a service.", - "type": "object" + "id": "Usage" }, "Context": { + "description": "`Context` defines which contexts an API requests.\n\nExample:\n\n context:\n rules:\n - selector: \"*\"\n requested:\n - google.rpc.context.ProjectContext\n - google.rpc.context.OriginContext\n\nThe above specifies that all methods in the API request\n`google.rpc.context.ProjectContext` and\n`google.rpc.context.OriginContext`.\n\nAvailable context types are defined in package\n`google.rpc.context`.", "type": "object", "properties": { "rules": { @@ -1641,20 +1567,18 @@ "type": "array" } }, - "id": "Context", - "description": "`Context` defines which contexts an API requests.\n\nExample:\n\n context:\n rules:\n - selector: \"*\"\n requested:\n - google.rpc.context.ProjectContext\n - google.rpc.context.OriginContext\n\nThe above specifies that all methods in the API request\n`google.rpc.context.ProjectContext` and\n`google.rpc.context.OriginContext`.\n\nAvailable context types are defined in package\n`google.rpc.context`." + "id": "Context" }, "LogDescriptor": { - "id": "LogDescriptor", "description": "A description of a log type. Example in YAML format:\n\n - name: library.googleapis.com/activity_history\n description: The history of borrowing and returning library items.\n display_name: Activity\n labels:\n - key: /customer_id\n description: Identifier of a library customer", "type": "object", "properties": { "labels": { + "description": "The set of labels that are available to describe a specific log entry.\nRuntime requests that contain labels not specified here are\nconsidered invalid.", "items": { "$ref": "LabelDescriptor" }, - "type": "array", - "description": "The set of labels that are available to describe a specific log entry.\nRuntime requests that contain labels not specified here are\nconsidered invalid." + "type": "array" }, "name": { "description": "The name of the log. It must be less than 512 characters long and can\ninclude the following characters: upper- and lower-case alphanumeric\ncharacters [A-Za-z0-9], and punctuation characters including\nslash, underscore, hyphen, period [/_-.].", @@ -1668,12 +1592,20 @@ "description": "A human-readable description of this log. This information appears in\nthe documentation and can contain details.", "type": "string" } - } + }, + "id": "LogDescriptor" }, "MonitoredResourceDescriptor": { "description": "An object that describes the schema of a MonitoredResource object using a\ntype name and a set of labels. For example, the monitored resource\ndescriptor for Google Compute Engine VM instances has a type of\n`\"gce_instance\"` and specifies the use of the labels `\"instance_id\"` and\n`\"zone\"` to identify particular VM instances.\n\nDifferent APIs can support different monitored resource types. APIs generally\nprovide a `list` method that returns the monitored resource descriptors used\nby the API.", "type": "object", "properties": { + "labels": { + "description": "Required. A set of labels used to describe instances of this monitored\nresource type. For example, an individual Google Cloud SQL database is\nidentified by values for the labels `\"database_id\"` and `\"zone\"`.", + "items": { + "$ref": "LabelDescriptor" + }, + "type": "array" + }, "name": { "description": "Optional. The resource name of the monitored resource descriptor:\n`\"projects/{project_id}/monitoredResourceDescriptors/{type}\"` where\n{type} is the value of the `type` field in this object and\n{project_id} is a project ID that provides API-specific context for\naccessing the type. APIs that do not use project information can use the\nresource name format `\"monitoredResourceDescriptors/{type}\"`.", "type": "string" @@ -1683,51 +1615,43 @@ "type": "string" }, "displayName": { - "type": "string", - "description": "Optional. A concise name for the monitored resource type that might be\ndisplayed in user interfaces. It should be a Title Cased Noun Phrase,\nwithout any article or other determiners. For example,\n`\"Google Cloud SQL Database\"`." + "description": "Optional. A concise name for the monitored resource type that might be\ndisplayed in user interfaces. It should be a Title Cased Noun Phrase,\nwithout any article or other determiners. For example,\n`\"Google Cloud SQL Database\"`.", + "type": "string" }, "type": { "description": "Required. The monitored resource type. For example, the type\n`\"cloudsql_database\"` represents databases in Google Cloud SQL.\nThe maximum length of this value is 256 characters.", "type": "string" - }, - "labels": { - "description": "Required. A set of labels used to describe instances of this monitored\nresource type. For example, an individual Google Cloud SQL database is\nidentified by values for the labels `\"database_id\"` and `\"zone\"`.", - "items": { - "$ref": "LabelDescriptor" - }, - "type": "array" } }, "id": "MonitoredResourceDescriptor" }, "CustomErrorRule": { + "description": "A custom error rule.", + "type": "object", "properties": { "isErrorType": { - "type": "boolean", - "description": "Mark this message as possible payload in error response. Otherwise,\nobjects of this type will be filtered when they appear in error payload." + "description": "Mark this message as possible payload in error response. Otherwise,\nobjects of this type will be filtered when they appear in error payload.", + "type": "boolean" }, "selector": { "description": "Selects messages to which this rule applies.\n\nRefer to selector for syntax details.", "type": "string" } }, - "id": "CustomErrorRule", - "description": "A custom error rule.", - "type": "object" + "id": "CustomErrorRule" }, "CustomAuthRequirements": { "description": "Configuration for a custom authentication provider.", "type": "object", "properties": { "provider": { - "type": "string", - "description": "A configuration string containing connection information for the\nauthentication provider, typically formatted as a SmartService string\n(go/smartservice)." + "description": "A configuration string containing connection information for the\nauthentication provider, typically formatted as a SmartService string\n(go/smartservice).", + "type": "string" } }, "id": "CustomAuthRequirements" }, "MediaDownload": { - "id": "MediaDownload", "description": "Defines the Media configuration for a service in case of a download.\nUse this only for Scotty Requests. Do not use this for media support using\nBytestream, add instead [][google.bytestream.RestByteStream] as an API to\nyour configuration for Bytestream methods.", "type": "object", "properties": { @@ -1736,8 +1660,8 @@ "type": "boolean" }, "downloadService": { - "type": "string", - "description": "DO NOT USE FIELDS BELOW THIS LINE UNTIL THIS WARNING IS REMOVED.\n\nSpecify name of the download service if one is used for download." + "description": "DO NOT USE FIELDS BELOW THIS LINE UNTIL THIS WARNING IS REMOVED.\n\nSpecify name of the download service if one is used for download.", + "type": "string" }, "completeNotification": { "description": "A boolean that determines whether a notification for the completion of a\ndownload should be sent to the backend.", @@ -1756,7 +1680,8 @@ "description": "A boolean that determines if direct download from ESF should be used for\ndownload of this media.", "type": "boolean" } - } + }, + "id": "MediaDownload" }, "DisableServiceRequest": { "description": "Request message for DisableService method.", @@ -1765,6 +1690,8 @@ "id": "DisableServiceRequest" }, "SearchServicesResponse": { + "description": "Response message for SearchServices method.", + "type": "object", "properties": { "nextPageToken": { "description": "Token that can be passed to `ListAvailableServices` to resume a paginated\nquery.", @@ -1778,24 +1705,16 @@ "type": "array" } }, - "id": "SearchServicesResponse", - "description": "Response message for SearchServices method.", - "type": "object" + "id": "SearchServicesResponse" }, "MediaUpload": { + "description": "Defines the Media configuration for a service in case of an upload.\nUse this only for Scotty Requests. Do not use this for media support using\nBytestream, add instead [][google.bytestream.RestByteStream] as an API to\nyour configuration for Bytestream methods.", + "type": "object", "properties": { - "startNotification": { - "description": "Whether to receive a notification on the start of media upload.", - "type": "boolean" - }, - "uploadService": { - "description": "DO NOT USE FIELDS BELOW THIS LINE UNTIL THIS WARNING IS REMOVED.\n\nSpecify name of the upload service if one is used for upload.", - "type": "string" - }, "maxSize": { - "type": "string", "format": "int64", - "description": "Optional maximum acceptable size for an upload.\nThe size is specified in bytes." + "description": "Optional maximum acceptable size for an upload.\nThe size is specified in bytes.", + "type": "string" }, "mimeTypes": { "description": "An array of mimetype patterns. Esf will only accept uploads that match one\nof the given patterns.", @@ -1813,139 +1732,23 @@ "type": "boolean" }, "enabled": { - "type": "boolean", - "description": "Whether upload is enabled." + "description": "Whether upload is enabled.", + "type": "boolean" }, "dropzone": { "description": "Name of the Scotty dropzone to use for the current API.", "type": "string" - } - }, - "id": "MediaUpload", - "description": "Defines the Media configuration for a service in case of an upload.\nUse this only for Scotty Requests. Do not use this for media support using\nBytestream, add instead [][google.bytestream.RestByteStream] as an API to\nyour configuration for Bytestream methods.", - "type": "object" - }, - "UsageRule": { - "properties": { - "selector": { - "description": "Selects the methods to which this rule applies. Use '*' to indicate all\nmethods in all APIs.\n\nRefer to selector for syntax details.", - "type": "string" }, - "skipServiceControl": { - "description": "True, if the method should skip service control. If so, no control plane\nfeature (like quota and billing) will be enabled.", + "startNotification": { + "description": "Whether to receive a notification on the start of media upload.", "type": "boolean" }, - "allowUnregisteredCalls": { - "description": "True, if the method allows unregistered calls; false otherwise.", - "type": "boolean" - } - }, - "id": "UsageRule", - "description": "Usage configuration rules for the service.\n\nNOTE: Under development.\n\n\nUse this rule to configure unregistered calls for the service. Unregistered\ncalls are calls that do not contain consumer project identity.\n(Example: calls that do not contain an API key).\nBy default, API methods do not allow unregistered calls, and each method call\nmust be identified by a consumer project identity. Use this rule to\nallow/disallow unregistered calls.\n\nExample of an API that wants to allow unregistered calls for entire service.\n\n usage:\n rules:\n - selector: \"*\"\n allow_unregistered_calls: true\n\nExample of a method that wants to allow unregistered calls.\n\n usage:\n rules:\n - selector: \"google.example.library.v1.LibraryService.CreateBook\"\n allow_unregistered_calls: true", - "type": "object" - }, - "AuthRequirement": { - "properties": { - "audiences": { - "description": "NOTE: This will be deprecated soon, once AuthProvider.audiences is\nimplemented and accepted in all the runtime components.\n\nThe list of JWT\n[audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).\nthat are allowed to access. A JWT containing any of these audiences will\nbe accepted. When this setting is absent, only JWTs with audience\n\"https://Service_name/API_name\"\nwill be accepted. For example, if no audiences are in the setting,\nLibraryService API will only accept JWTs with the following audience\n\"https://library-example.googleapis.com/google.example.library.v1.LibraryService\".\n\nExample:\n\n audiences: bookstore_android.apps.googleusercontent.com,\n bookstore_web.apps.googleusercontent.com", - "type": "string" - }, - "providerId": { - "description": "id from authentication provider.\n\nExample:\n\n provider_id: bookstore_auth", + "uploadService": { + "description": "DO NOT USE FIELDS BELOW THIS LINE UNTIL THIS WARNING IS REMOVED.\n\nSpecify name of the upload service if one is used for upload.", "type": "string" } }, - "id": "AuthRequirement", - "description": "User-defined authentication requirements, including support for\n[JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).", - "type": "object" - }, - "Documentation": { - "description": "`Documentation` provides the information for describing a service.\n\nExample:\n\u003cpre\u003e\u003ccode\u003edocumentation:\n summary: \u003e\n The Google Calendar API gives access\n to most calendar features.\n pages:\n - name: Overview\n content: (== include google/foo/overview.md ==)\n - name: Tutorial\n content: (== include google/foo/tutorial.md ==)\n subpages;\n - name: Java\n content: (== include google/foo/tutorial_java.md ==)\n rules:\n - selector: google.calendar.Calendar.Get\n description: \u003e\n ...\n - selector: google.calendar.Calendar.Put\n description: \u003e\n ...\n\u003c/code\u003e\u003c/pre\u003e\nDocumentation is provided in markdown syntax. In addition to\nstandard markdown features, definition lists, tables and fenced\ncode blocks are supported. Section headers can be provided and are\ninterpreted relative to the section nesting of the context where\na documentation fragment is embedded.\n\nDocumentation from the IDL is merged with documentation defined\nvia the config at normalization time, where documentation provided\nby config rules overrides IDL provided.\n\nA number of constructs specific to the API platform are supported\nin documentation text.\n\nIn order to reference a proto element, the following\nnotation can be used:\n\u003cpre\u003e\u003ccode\u003e[fully.qualified.proto.name][]\u003c/code\u003e\u003c/pre\u003e\nTo override the display text used for the link, this can be used:\n\u003cpre\u003e\u003ccode\u003e[display text][fully.qualified.proto.name]\u003c/code\u003e\u003c/pre\u003e\nText can be excluded from doc using the following notation:\n\u003cpre\u003e\u003ccode\u003e(-- internal comment --)\u003c/code\u003e\u003c/pre\u003e\nComments can be made conditional using a visibility label. The below\ntext will be only rendered if the `BETA` label is available:\n\u003cpre\u003e\u003ccode\u003e(--BETA: comment for BETA users --)\u003c/code\u003e\u003c/pre\u003e\nA few directives are available in documentation. Note that\ndirectives must appear on a single line to be properly\nidentified. The `include` directive includes a markdown file from\nan external source:\n\u003cpre\u003e\u003ccode\u003e(== include path/to/file ==)\u003c/code\u003e\u003c/pre\u003e\nThe `resource_for` directive marks a message to be the resource of\na collection in REST view. If it is not specified, tools attempt\nto infer the resource from the operations in a collection:\n\u003cpre\u003e\u003ccode\u003e(== resource_for v1.shelves.books ==)\u003c/code\u003e\u003c/pre\u003e\nThe directive `suppress_warning` does not directly affect documentation\nand is documented together with service config validation.", - "type": "object", - "properties": { - "summary": { - "type": "string", - "description": "A short summary of what the service does. Can only be provided by\nplain text." - }, - "documentationRootUrl": { - "description": "The URL to the root of documentation.", - "type": "string" - }, - "overview": { - "description": "Declares a single overview page. For example:\n\u003cpre\u003e\u003ccode\u003edocumentation:\n summary: ...\n overview: (== include overview.md ==)\n\u003c/code\u003e\u003c/pre\u003e\nThis is a shortcut for the following declaration (using pages style):\n\u003cpre\u003e\u003ccode\u003edocumentation:\n summary: ...\n pages:\n - name: Overview\n content: (== include overview.md ==)\n\u003c/code\u003e\u003c/pre\u003e\nNote: you cannot specify both `overview` field and `pages` field.", - "type": "string" - }, - "rules": { - "description": "A list of documentation rules that apply to individual API elements.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.", - "items": { - "$ref": "DocumentationRule" - }, - "type": "array" - }, - "pages": { - "description": "The top level pages for the documentation set.", - "items": { - "$ref": "Page" - }, - "type": "array" - } - }, - "id": "Documentation" - }, - "AuthenticationRule": { - "description": "Authentication rules for the service.\n\nBy default, if a method has any authentication requirements, every request\nmust include a valid credential matching one of the requirements.\nIt's an error to include more than one kind of credential in a single\nrequest.\n\nIf a method doesn't have any auth requirements, request credentials will be\nignored.", - "type": "object", - "properties": { - "allowWithoutCredential": { - "description": "Whether to allow requests without a credential. The credential can be\nan OAuth token, Google cookies (first-party auth) or EndUserCreds.\n\nFor requests without credentials, if the service control environment is\nspecified, each incoming request **must** be associated with a service\nconsumer. This can be done by passing an API key that belongs to a consumer\nproject.", - "type": "boolean" - }, - "selector": { - "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.", - "type": "string" - }, - "customAuth": { - "$ref": "CustomAuthRequirements", - "description": "Configuration for custom authentication." - }, - "oauth": { - "description": "The requirements for OAuth credentials.", - "$ref": "OAuthRequirements" - }, - "requirements": { - "items": { - "$ref": "AuthRequirement" - }, - "type": "array", - "description": "Requirements for additional authentication providers." - } - }, - "id": "AuthenticationRule" - }, - "BackendRule": { - "description": "A backend rule provides configuration for an individual API element.", - "type": "object", - "properties": { - "minDeadline": { - "format": "double", - "description": "Minimum deadline in seconds needed for this method. Calls having deadline\nvalue lower than this will be rejected.", - "type": "number" - }, - "address": { - "description": "The address of the API backend.", - "type": "string" - }, - "selector": { - "description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.", - "type": "string" - }, - "deadline": { - "format": "double", - "description": "The number of seconds to wait for a response from a request. The\ndefault depends on the deployment context.", - "type": "number" - } - }, - "id": "BackendRule" + "id": "MediaUpload" } }, "protocol": "rest", @@ -1972,5 +1775,234 @@ "rootUrl": "https://serviceuser.googleapis.com/", "ownerDomain": "google.com", "name": "serviceuser", - "batchPath": "batch" + "batchPath": "batch", + "title": "Google Service User API", + "ownerName": "Google", + "resources": { + "projects": { + "resources": { + "services": { + "methods": { + "disable": { + "flatPath": "v1/projects/{projectsId}/services/{servicesId}:disable", + "path": "v1/{+name}:disable", + "id": "serviceuser.projects.services.disable", + "request": { + "$ref": "DisableServiceRequest" + }, + "description": "Disable a service so it can no longer be used with a\nproject. This prevents unintended usage that may cause unexpected billing\ncharges or security leaks.\n\nOperation\u003cresponse: google.protobuf.Empty\u003e", + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ], + "parameters": { + "name": { + "location": "path", + "description": "Name of the consumer and the service to disable for that consumer.\n\nThe Service User implementation accepts the following forms for consumer:\n- \"project:\u003cproject_id\u003e\"\n\nA valid path would be:\n- /v1/projects/my-project/services/servicemanagement.googleapis.com:disable", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/services/[^/]+$" + } + } + }, + "enable": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/service.management" + ], + "parameters": { + "name": { + "location": "path", + "description": "Name of the consumer and the service to enable for that consumer.\n\nA valid path would be:\n- /v1/projects/my-project/services/servicemanagement.googleapis.com:enable", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/services/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/services/{servicesId}:enable", + "id": "serviceuser.projects.services.enable", + "path": "v1/{+name}:enable", + "request": { + "$ref": "EnableServiceRequest" + }, + "description": "Enable a service so it can be used with a project.\nSee [Cloud Auth Guide](https://cloud.google.com/docs/authentication) for\nmore information.\n\nOperation\u003cresponse: google.protobuf.Empty\u003e" + }, + "list": { + "flatPath": "v1/projects/{projectsId}/services", + "path": "v1/{+parent}/services", + "id": "serviceuser.projects.services.list", + "description": "List enabled services for the specified consumer.", + "httpMethod": "GET", + "response": { + "$ref": "ListEnabledServicesResponse" + }, + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageToken": { + "location": "query", + "description": "Token identifying which result to start with; returned by a previous list\ncall.", + "type": "string" + }, + "pageSize": { + "format": "int32", + "description": "Requested size of the next page of data.", + "type": "integer", + "location": "query" + }, + "parent": { + "location": "path", + "description": "List enabled services for the specified parent.\n\nAn example valid parent would be:\n- projects/my-project", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + } + } + } + }, + "services": { + "methods": { + "search": { + "response": { + "$ref": "SearchServicesResponse" + }, + "parameterOrder": [], + "httpMethod": "GET", + "parameters": { + "pageSize": { + "location": "query", + "format": "int32", + "description": "Requested size of the next page of data.", + "type": "integer" + }, + "pageToken": { + "location": "query", + "description": "Token identifying which result to start with; returned by a previous list\ncall.", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1/services:search", + "id": "serviceuser.services.search", + "path": "v1/services:search", + "description": "Search available services.\n\nWhen no filter is specified, returns all accessible services. For\nauthenticated users, also returns all services the calling user has\n\"servicemanagement.services.bind\" permission for." + } + } + } + }, + "parameters": { + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "access_token": { + "location": "query", + "description": "OAuth access token.", + "type": "string" + }, + "quotaUser": { + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string" + }, + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", + "location": "query" + }, + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", + "location": "query" + }, + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, + "prettyPrint": { + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", + "location": "query" + }, + "uploadType": { + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, + "$.xgafv": { + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string" + }, + "alt": { + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "type": "string" + } + }, + "version": "v1", + "baseUrl": "https://serviceuser.googleapis.com/" } diff --git a/vendor/google.golang.org/api/serviceuser/v1/serviceuser-gen.go b/vendor/google.golang.org/api/serviceuser/v1/serviceuser-gen.go index 214bd7bb8..ace605a74 100644 --- a/vendor/google.golang.org/api/serviceuser/v1/serviceuser-gen.go +++ b/vendor/google.golang.org/api/serviceuser/v1/serviceuser-gen.go @@ -114,20 +114,35 @@ type ServicesService struct { s *APIService } -// Api: Api is a light-weight descriptor for a protocol buffer service. +// Api: Api is a light-weight descriptor for an API +// Interface. +// +// Interfaces are also described as "protocol buffer services" in some +// contexts, +// such as by the "service" keyword in a .proto file, but they are +// different +// from API Services, which represent a concrete implementation of an +// interface +// as opposed to simply a description of methods and bindings. They are +// also +// sometimes simply referred to as "APIs" in other contexts, such as the +// name of +// this message itself. See +// https://cloud.google.com/apis/design/glossary for +// detailed terminology. type Api struct { - // Methods: The methods of this api, in unspecified order. + // Methods: The methods of this interface, in unspecified order. Methods []*Method `json:"methods,omitempty"` - // Mixins: Included APIs. See Mixin. + // Mixins: Included interfaces. See Mixin. Mixins []*Mixin `json:"mixins,omitempty"` - // Name: The fully qualified name of this api, including package + // Name: The fully qualified name of this interface, including package // name - // followed by the api's simple name. + // followed by the interface's simple name. Name string `json:"name,omitempty"` - // Options: Any metadata attached to the API. + // Options: Any metadata attached to the interface. Options []*Option `json:"options,omitempty"` // SourceContext: Source context for the protocol buffer service @@ -142,16 +157,17 @@ type Api struct { // "SYNTAX_PROTO3" - Syntax `proto3`. Syntax string `json:"syntax,omitempty"` - // Version: A version string for this api. If specified, must have the - // form + // Version: A version string for this interface. If specified, must have + // the form // `major-version.minor-version`, as in `1.10`. If the minor version - // is omitted, it defaults to zero. If the entire version field // is - // empty, the major version is derived from the package name, - // as - // outlined below. If the field is not empty, the version in the - // package name will be verified to be consistent with what is - // provided here. + // omitted, it defaults to zero. If the entire version field is empty, + // the + // major version is derived from the package name, as outlined below. If + // the + // field is not empty, the version in the package name will be verified + // to be + // consistent with what is provided here. // // The versioning schema uses [semantic // versioning](http://semver.org) where the major version @@ -163,11 +179,13 @@ type Api struct { // carefully // chosen based on the product plan. // - // The major version is also reflected in the package name of the - // API, which must end in `v`, as in + // The major version is also reflected in the package name of + // the + // interface, which must end in `v`, as + // in // `google.feature.v1`. For major versions 0 and 1, the suffix can // be omitted. Zero major versions must only be used for - // experimental, none-GA apis. + // experimental, non-GA interfaces. // Version string `json:"version,omitempty"` @@ -222,6 +240,11 @@ type AuthProvider struct { // bookstore_web.apps.googleusercontent.com Audiences string `json:"audiences,omitempty"` + // AuthorizationUrl: Redirect URL if JWT token is required but no + // present or is expired. + // Implement authorizationUrl of securityDefinitions in OpenAPI spec. + AuthorizationUrl string `json:"authorizationUrl,omitempty"` + // Id: The unique identifier of the auth provider. It will be referred // to by // `AuthRequirement.provider_id`. @@ -537,8 +560,9 @@ type BackendRule struct { Address string `json:"address,omitempty"` // Deadline: The number of seconds to wait for a response from a - // request. The - // default depends on the deployment context. + // request. The default + // deadline for gRPC is infinite (no deadline) and HTTP requests is 5 + // seconds. Deadline float64 `json:"deadline,omitempty"` // MinDeadline: Minimum deadline in seconds needed for this method. @@ -590,6 +614,100 @@ func (s *BackendRule) UnmarshalJSON(data []byte) error { return nil } +// Billing: Billing related configuration of the service. +// +// The following example shows how to configure monitored resources and +// metrics +// for billing: +// monitored_resources: +// - type: library.googleapis.com/branch +// labels: +// - key: /city +// description: The city where the library branch is located +// in. +// - key: /name +// description: The name of the branch. +// metrics: +// - name: library.googleapis.com/book/borrowed_count +// metric_kind: DELTA +// value_type: INT64 +// billing: +// consumer_destinations: +// - monitored_resource: library.googleapis.com/branch +// metrics: +// - library.googleapis.com/book/borrowed_count +type Billing struct { + // ConsumerDestinations: Billing configurations for sending metrics to + // the consumer project. + // There can be multiple consumer destinations per service, each one + // must have + // a different monitored resource type. A metric can be used in at + // most + // one consumer destination. + ConsumerDestinations []*BillingDestination `json:"consumerDestinations,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "ConsumerDestinations") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ConsumerDestinations") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Billing) MarshalJSON() ([]byte, error) { + type noMethod Billing + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// BillingDestination: Configuration of a specific billing destination +// (Currently only support +// bill against consumer project). +type BillingDestination struct { + // Metrics: Names of the metrics to report to this billing + // destination. + // Each name must be defined in Service.metrics section. + Metrics []string `json:"metrics,omitempty"` + + // MonitoredResource: The monitored resource type. The type must be + // defined in + // Service.monitored_resources section. + MonitoredResource string `json:"monitoredResource,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Metrics") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Metrics") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BillingDestination) MarshalJSON() ([]byte, error) { + type noMethod BillingDestination + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Context: `Context` defines which contexts an API // requests. // @@ -1716,49 +1834,6 @@ type HttpRule struct { // at the top-level of response message type. ResponseBody string `json:"responseBody,omitempty"` - // RestCollection: Optional. The REST collection name is by default - // derived from the URL - // pattern. If specified, this field overrides the default collection - // name. - // Example: - // - // rpc AddressesAggregatedList(AddressesAggregatedListRequest) - // returns (AddressesAggregatedListResponse) { - // option (google.api.http) = { - // get: "/v1/projects/{project_id}/aggregated/addresses" - // rest_collection: "projects.addresses" - // }; - // } - // - // This method has the automatically derived collection - // name - // "projects.aggregated". Because, semantically, this rpc is actually - // an - // operation on the "projects.addresses" collection, the - // `rest_collection` - // field is configured to override the derived collection name. - RestCollection string `json:"restCollection,omitempty"` - - // RestMethodName: Optional. The rest method name is by default derived - // from the URL - // pattern. If specified, this field overrides the default method - // name. - // Example: - // - // rpc CreateResource(CreateResourceRequest) - // returns (CreateResourceResponse) { - // option (google.api.http) = { - // post: "/v1/resources", - // body: "resource", - // rest_method_name: "insert" - // }; - // } - // - // This method has the automatically derived rest method name "create", - // but - // for backwards compatability with apiary, it is specified as insert. - RestMethodName string `json:"restMethodName,omitempty"` - // Selector: Selects methods to which this rule applies. // // Refer to selector for syntax details. @@ -2166,7 +2241,7 @@ func (s *MediaUpload) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Method: Method represents a method of an api. +// Method: Method represents a method of an API interface. type Method struct { // Name: The simple name of this method. Name string `json:"name,omitempty"` @@ -2440,11 +2515,11 @@ func (s *MetricRule) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Mixin: Declares an API to be included in this API. The including API -// must -// redeclare all the methods from the included API, but -// documentation -// and options are inherited as follows: +// Mixin: Declares an API Interface to be included in this interface. +// The including +// interface must redeclare all the methods from the included interface, +// but +// documentation and options are inherited as follows: // // - If after comment and whitespace stripping, the documentation // string of the redeclared method is empty, it will be inherited @@ -2456,8 +2531,8 @@ func (s *MetricRule) MarshalJSON() ([]byte, error) { // // - If an http annotation is inherited, the path pattern will be // modified as follows. Any version prefix will be replaced by the -// version of the including API plus the root path if -// specified. +// version of the including interface plus the root path if +// specified. // // Example of a simple mixin: // @@ -2526,7 +2601,7 @@ func (s *MetricRule) MarshalJSON() ([]byte, error) { // ... // } type Mixin struct { - // Name: The fully qualified name of the API which is included. + // Name: The fully qualified name of the interface which is included. Name string `json:"name,omitempty"` // Root: If non-empty specifies a path under which inherited HTTP @@ -2829,8 +2904,8 @@ func (s *OAuthRequirements) MarshalJSON() ([]byte, error) { type Operation struct { // Done: If the value is `false`, it means the operation is still in // progress. - // If true, the operation is completed, and either `error` or `response` - // is + // If `true`, the operation is completed, and either `error` or + // `response` is // available. Done bool `json:"done,omitempty"` @@ -3415,13 +3490,16 @@ type Service struct { // Backend: API backend configuration. Backend *Backend `json:"backend,omitempty"` - // ConfigVersion: The version of the service configuration. The config - // version may - // influence interpretation of the configuration, for example, - // to - // determine defaults. This is documented together with - // applicable - // options. The current default for the config version itself is `3`. + // Billing: Billing configuration. + Billing *Billing `json:"billing,omitempty"` + + // ConfigVersion: The semantic version of the service configuration. The + // config version + // affects the interpretation of the service configuration. For + // example, + // certain features are enabled by default for certain config + // versions. + // The latest config version is `3`. ConfigVersion int64 `json:"configVersion,omitempty"` // Context: Context configuration. @@ -3703,9 +3781,9 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in diff --git a/vendor/google.golang.org/api/sheets/v4/sheets-api.json b/vendor/google.golang.org/api/sheets/v4/sheets-api.json index 8eea666ae..22456fb59 100644 --- a/vendor/google.golang.org/api/sheets/v4/sheets-api.json +++ b/vendor/google.golang.org/api/sheets/v4/sheets-api.json @@ -1,5 +1,2195 @@ { + "ownerName": "Google", + "resources": { + "spreadsheets": { + "methods": { + "batchUpdate": { + "httpMethod": "POST", + "parameterOrder": [ + "spreadsheetId" + ], + "response": { + "$ref": "BatchUpdateSpreadsheetResponse" + }, + "parameters": { + "spreadsheetId": { + "description": "The spreadsheet to apply the updates to.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/spreadsheets" + ], + "flatPath": "v4/spreadsheets/{spreadsheetId}:batchUpdate", + "path": "v4/spreadsheets/{spreadsheetId}:batchUpdate", + "id": "sheets.spreadsheets.batchUpdate", + "description": "Applies one or more updates to the spreadsheet.\n\nEach request is validated before\nbeing applied. If any request is not valid then the entire request will\nfail and nothing will be applied.\n\nSome requests have replies to\ngive you some information about how\nthey are applied. The replies will mirror the requests. For example,\nif you applied 4 updates and the 3rd one had a reply, then the\nresponse will have 2 empty replies, the actual reply, and another empty\nreply, in that order.\n\nDue to the collaborative nature of spreadsheets, it is not guaranteed that\nthe spreadsheet will reflect exactly your changes after this completes,\nhowever it is guaranteed that the updates in the request will be\napplied together atomically. Your changes may be altered with respect to\ncollaborator changes. If there are no collaborators, the spreadsheet\nshould reflect your changes.", + "request": { + "$ref": "BatchUpdateSpreadsheetRequest" + } + }, + "create": { + "description": "Creates a spreadsheet, returning the newly created spreadsheet.", + "request": { + "$ref": "Spreadsheet" + }, + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "Spreadsheet" + }, + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/spreadsheets" + ], + "flatPath": "v4/spreadsheets", + "path": "v4/spreadsheets", + "id": "sheets.spreadsheets.create" + }, + "getByDataFilter": { + "description": "Returns the spreadsheet at the given ID.\nThe caller must specify the spreadsheet ID.\n\nThis method differs from GetSpreadsheet in that it allows selecting\nwhich subsets of spreadsheet data to return by specifying a\ndataFilters parameter.\nMultiple DataFilters can be specified. Specifying one or\nmore data filters will return the portions of the spreadsheet that\nintersect ranges matched by any of the filters.\n\nBy default, data within grids will not be returned.\nYou can include grid data one of two ways:\n\n* Specify a field mask listing your desired fields using the `fields` URL\nparameter in HTTP\n\n* Set the includeGridData\nparameter to true. If a field mask is set, the `includeGridData`\nparameter is ignored\n\nFor large spreadsheets, it is recommended to retrieve only the specific\nfields of the spreadsheet that you want.", + "request": { + "$ref": "GetSpreadsheetByDataFilterRequest" + }, + "response": { + "$ref": "Spreadsheet" + }, + "parameterOrder": [ + "spreadsheetId" + ], + "httpMethod": "POST", + "parameters": { + "spreadsheetId": { + "location": "path", + "description": "The spreadsheet to request.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/spreadsheets" + ], + "flatPath": "v4/spreadsheets/{spreadsheetId}:getByDataFilter", + "id": "sheets.spreadsheets.getByDataFilter", + "path": "v4/spreadsheets/{spreadsheetId}:getByDataFilter" + }, + "get": { + "httpMethod": "GET", + "parameterOrder": [ + "spreadsheetId" + ], + "response": { + "$ref": "Spreadsheet" + }, + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/drive.readonly", + "https://www.googleapis.com/auth/spreadsheets", + "https://www.googleapis.com/auth/spreadsheets.readonly" + ], + "parameters": { + "spreadsheetId": { + "location": "path", + "description": "The spreadsheet to request.", + "type": "string", + "required": true + }, + "includeGridData": { + "description": "True if grid data should be returned.\nThis parameter is ignored if a field mask was set in the request.", + "type": "boolean", + "location": "query" + }, + "ranges": { + "repeated": true, + "location": "query", + "description": "The ranges to retrieve from the spreadsheet.", + "type": "string" + } + }, + "flatPath": "v4/spreadsheets/{spreadsheetId}", + "path": "v4/spreadsheets/{spreadsheetId}", + "id": "sheets.spreadsheets.get", + "description": "Returns the spreadsheet at the given ID.\nThe caller must specify the spreadsheet ID.\n\nBy default, data within grids will not be returned.\nYou can include grid data one of two ways:\n\n* Specify a field mask listing your desired fields using the `fields` URL\nparameter in HTTP\n\n* Set the includeGridData\nURL parameter to true. If a field mask is set, the `includeGridData`\nparameter is ignored\n\nFor large spreadsheets, it is recommended to retrieve only the specific\nfields of the spreadsheet that you want.\n\nTo retrieve only subsets of the spreadsheet, use the\nranges URL parameter.\nMultiple ranges can be specified. Limiting the range will\nreturn only the portions of the spreadsheet that intersect the requested\nranges. Ranges are specified using A1 notation." + } + }, + "resources": { + "developerMetadata": { + "methods": { + "search": { + "id": "sheets.spreadsheets.developerMetadata.search", + "path": "v4/spreadsheets/{spreadsheetId}/developerMetadata:search", + "request": { + "$ref": "SearchDeveloperMetadataRequest" + }, + "description": "Returns all developer metadata matching the specified DataFilter.\nIf the provided DataFilter represents a DeveloperMetadataLookup object,\nthis will return all DeveloperMetadata entries selected by it. If the\nDataFilter represents a location in a spreadsheet, this will return all\ndeveloper metadata associated with locations intersecting that region.", + "response": { + "$ref": "SearchDeveloperMetadataResponse" + }, + "parameterOrder": [ + "spreadsheetId" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/spreadsheets" + ], + "parameters": { + "spreadsheetId": { + "location": "path", + "description": "The ID of the spreadsheet to retrieve metadata from.", + "type": "string", + "required": true + } + }, + "flatPath": "v4/spreadsheets/{spreadsheetId}/developerMetadata:search" + }, + "get": { + "httpMethod": "GET", + "parameterOrder": [ + "spreadsheetId", + "metadataId" + ], + "response": { + "$ref": "DeveloperMetadata" + }, + "parameters": { + "spreadsheetId": { + "description": "The ID of the spreadsheet to retrieve metadata from.", + "type": "string", + "required": true, + "location": "path" + }, + "metadataId": { + "format": "int32", + "description": "The ID of the developer metadata to retrieve.", + "type": "integer", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/spreadsheets" + ], + "flatPath": "v4/spreadsheets/{spreadsheetId}/developerMetadata/{metadataId}", + "path": "v4/spreadsheets/{spreadsheetId}/developerMetadata/{metadataId}", + "id": "sheets.spreadsheets.developerMetadata.get", + "description": "Returns the developer metadata with the specified id.\nThe caller must specify the spreadsheet ID and the developer metadata's\nunique metadataId." + } + } + }, + "values": { + "methods": { + "get": { + "flatPath": "v4/spreadsheets/{spreadsheetId}/values/{range}", + "id": "sheets.spreadsheets.values.get", + "path": "v4/spreadsheets/{spreadsheetId}/values/{range}", + "description": "Returns a range of values from a spreadsheet.\nThe caller must specify the spreadsheet ID and a range.", + "response": { + "$ref": "ValueRange" + }, + "parameterOrder": [ + "spreadsheetId", + "range" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/drive.readonly", + "https://www.googleapis.com/auth/spreadsheets", + "https://www.googleapis.com/auth/spreadsheets.readonly" + ], + "parameters": { + "range": { + "description": "The A1 notation of the values to retrieve.", + "type": "string", + "required": true, + "location": "path" + }, + "dateTimeRenderOption": { + "location": "query", + "enum": [ + "SERIAL_NUMBER", + "FORMATTED_STRING" + ], + "description": "How dates, times, and durations should be represented in the output.\nThis is ignored if value_render_option is\nFORMATTED_VALUE.\nThe default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].", + "type": "string" + }, + "valueRenderOption": { + "enum": [ + "FORMATTED_VALUE", + "UNFORMATTED_VALUE", + "FORMULA" + ], + "description": "How values should be represented in the output.\nThe default render option is ValueRenderOption.FORMATTED_VALUE.", + "type": "string", + "location": "query" + }, + "majorDimension": { + "enum": [ + "DIMENSION_UNSPECIFIED", + "ROWS", + "COLUMNS" + ], + "description": "The major dimension that results should use.\n\nFor example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`,\nthen requesting `range=A1:B2,majorDimension=ROWS` will return\n`[[1,2],[3,4]]`,\nwhereas requesting `range=A1:B2,majorDimension=COLUMNS` will return\n`[[1,3],[2,4]]`.", + "type": "string", + "location": "query" + }, + "spreadsheetId": { + "location": "path", + "description": "The ID of the spreadsheet to retrieve data from.", + "type": "string", + "required": true + } + } + }, + "update": { + "id": "sheets.spreadsheets.values.update", + "path": "v4/spreadsheets/{spreadsheetId}/values/{range}", + "description": "Sets values in a range of a spreadsheet.\nThe caller must specify the spreadsheet ID, range, and\na valueInputOption.", + "request": { + "$ref": "ValueRange" + }, + "response": { + "$ref": "UpdateValuesResponse" + }, + "parameterOrder": [ + "spreadsheetId", + "range" + ], + "httpMethod": "PUT", + "parameters": { + "spreadsheetId": { + "description": "The ID of the spreadsheet to update.", + "type": "string", + "required": true, + "location": "path" + }, + "responseValueRenderOption": { + "description": "Determines how values in the response should be rendered.\nThe default render option is ValueRenderOption.FORMATTED_VALUE.", + "type": "string", + "location": "query", + "enum": [ + "FORMATTED_VALUE", + "UNFORMATTED_VALUE", + "FORMULA" + ] + }, + "valueInputOption": { + "location": "query", + "enum": [ + "INPUT_VALUE_OPTION_UNSPECIFIED", + "RAW", + "USER_ENTERED" + ], + "description": "How the input data should be interpreted.", + "type": "string" + }, + "responseDateTimeRenderOption": { + "location": "query", + "enum": [ + "SERIAL_NUMBER", + "FORMATTED_STRING" + ], + "description": "Determines how dates, times, and durations in the response should be\nrendered. This is ignored if response_value_render_option is\nFORMATTED_VALUE.\nThe default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].", + "type": "string" + }, + "includeValuesInResponse": { + "description": "Determines if the update response should include the values\nof the cells that were updated. By default, responses\ndo not include the updated values.\nIf the range to write was larger than than the range actually written,\nthe response will include all values in the requested range (excluding\ntrailing empty rows and columns).", + "type": "boolean", + "location": "query" + }, + "range": { + "location": "path", + "description": "The A1 notation of the values to update.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/spreadsheets" + ], + "flatPath": "v4/spreadsheets/{spreadsheetId}/values/{range}" + }, + "batchUpdateByDataFilter": { + "flatPath": "v4/spreadsheets/{spreadsheetId}/values:batchUpdateByDataFilter", + "id": "sheets.spreadsheets.values.batchUpdateByDataFilter", + "path": "v4/spreadsheets/{spreadsheetId}/values:batchUpdateByDataFilter", + "request": { + "$ref": "BatchUpdateValuesByDataFilterRequest" + }, + "description": "Sets values in one or more ranges of a spreadsheet.\nThe caller must specify the spreadsheet ID,\na valueInputOption, and one or more\nDataFilterValueRanges.", + "response": { + "$ref": "BatchUpdateValuesByDataFilterResponse" + }, + "parameterOrder": [ + "spreadsheetId" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/spreadsheets" + ], + "parameters": { + "spreadsheetId": { + "description": "The ID of the spreadsheet to update.", + "type": "string", + "required": true, + "location": "path" + } + } + }, + "batchUpdate": { + "response": { + "$ref": "BatchUpdateValuesResponse" + }, + "parameterOrder": [ + "spreadsheetId" + ], + "httpMethod": "POST", + "parameters": { + "spreadsheetId": { + "location": "path", + "description": "The ID of the spreadsheet to update.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/spreadsheets" + ], + "flatPath": "v4/spreadsheets/{spreadsheetId}/values:batchUpdate", + "id": "sheets.spreadsheets.values.batchUpdate", + "path": "v4/spreadsheets/{spreadsheetId}/values:batchUpdate", + "description": "Sets values in one or more ranges of a spreadsheet.\nThe caller must specify the spreadsheet ID,\na valueInputOption, and one or more\nValueRanges.", + "request": { + "$ref": "BatchUpdateValuesRequest" + } + }, + "batchGet": { + "description": "Returns one or more ranges of values from a spreadsheet.\nThe caller must specify the spreadsheet ID and one or more ranges.", + "httpMethod": "GET", + "response": { + "$ref": "BatchGetValuesResponse" + }, + "parameterOrder": [ + "spreadsheetId" + ], + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/drive.readonly", + "https://www.googleapis.com/auth/spreadsheets", + "https://www.googleapis.com/auth/spreadsheets.readonly" + ], + "parameters": { + "majorDimension": { + "location": "query", + "enum": [ + "DIMENSION_UNSPECIFIED", + "ROWS", + "COLUMNS" + ], + "description": "The major dimension that results should use.\n\nFor example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`,\nthen requesting `range=A1:B2,majorDimension=ROWS` will return\n`[[1,2],[3,4]]`,\nwhereas requesting `range=A1:B2,majorDimension=COLUMNS` will return\n`[[1,3],[2,4]]`.", + "type": "string" + }, + "ranges": { + "description": "The A1 notation of the values to retrieve.", + "type": "string", + "repeated": true, + "location": "query" + }, + "spreadsheetId": { + "location": "path", + "description": "The ID of the spreadsheet to retrieve data from.", + "type": "string", + "required": true + }, + "dateTimeRenderOption": { + "enum": [ + "SERIAL_NUMBER", + "FORMATTED_STRING" + ], + "description": "How dates, times, and durations should be represented in the output.\nThis is ignored if value_render_option is\nFORMATTED_VALUE.\nThe default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].", + "type": "string", + "location": "query" + }, + "valueRenderOption": { + "description": "How values should be represented in the output.\nThe default render option is ValueRenderOption.FORMATTED_VALUE.", + "type": "string", + "location": "query", + "enum": [ + "FORMATTED_VALUE", + "UNFORMATTED_VALUE", + "FORMULA" + ] + } + }, + "flatPath": "v4/spreadsheets/{spreadsheetId}/values:batchGet", + "path": "v4/spreadsheets/{spreadsheetId}/values:batchGet", + "id": "sheets.spreadsheets.values.batchGet" + }, + "clear": { + "flatPath": "v4/spreadsheets/{spreadsheetId}/values/{range}:clear", + "id": "sheets.spreadsheets.values.clear", + "path": "v4/spreadsheets/{spreadsheetId}/values/{range}:clear", + "request": { + "$ref": "ClearValuesRequest" + }, + "description": "Clears values from a spreadsheet.\nThe caller must specify the spreadsheet ID and range.\nOnly values are cleared -- all other properties of the cell (such as\nformatting, data validation, etc..) are kept.", + "response": { + "$ref": "ClearValuesResponse" + }, + "parameterOrder": [ + "spreadsheetId", + "range" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/spreadsheets" + ], + "parameters": { + "spreadsheetId": { + "location": "path", + "description": "The ID of the spreadsheet to update.", + "type": "string", + "required": true + }, + "range": { + "location": "path", + "description": "The A1 notation of the values to clear.", + "type": "string", + "required": true + } + } + }, + "batchClearByDataFilter": { + "httpMethod": "POST", + "parameterOrder": [ + "spreadsheetId" + ], + "response": { + "$ref": "BatchClearValuesByDataFilterResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/spreadsheets" + ], + "parameters": { + "spreadsheetId": { + "description": "The ID of the spreadsheet to update.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v4/spreadsheets/{spreadsheetId}/values:batchClearByDataFilter", + "path": "v4/spreadsheets/{spreadsheetId}/values:batchClearByDataFilter", + "id": "sheets.spreadsheets.values.batchClearByDataFilter", + "request": { + "$ref": "BatchClearValuesByDataFilterRequest" + }, + "description": "Clears one or more ranges of values from a spreadsheet.\nThe caller must specify the spreadsheet ID and one or more\nDataFilters. Ranges matching any of the specified data\nfilters will be cleared. Only values are cleared -- all other properties\nof the cell (such as formatting, data validation, etc..) are kept." + }, + "append": { + "flatPath": "v4/spreadsheets/{spreadsheetId}/values/{range}:append", + "path": "v4/spreadsheets/{spreadsheetId}/values/{range}:append", + "id": "sheets.spreadsheets.values.append", + "description": "Appends values to a spreadsheet. The input range is used to search for\nexisting data and find a \"table\" within that range. Values will be\nappended to the next row of the table, starting with the first column of\nthe table. See the\n[guide](/sheets/api/guides/values#appending_values)\nand\n[sample code](/sheets/api/samples/writing#append_values)\nfor specific details of how tables are detected and data is appended.\n\nThe caller must specify the spreadsheet ID, range, and\na valueInputOption. The `valueInputOption` only\ncontrols how the input data will be added to the sheet (column-wise or\nrow-wise), it does not influence what cell the data starts being written\nto.", + "request": { + "$ref": "ValueRange" + }, + "httpMethod": "POST", + "parameterOrder": [ + "spreadsheetId", + "range" + ], + "response": { + "$ref": "AppendValuesResponse" + }, + "parameters": { + "spreadsheetId": { + "location": "path", + "description": "The ID of the spreadsheet to update.", + "type": "string", + "required": true + }, + "responseValueRenderOption": { + "description": "Determines how values in the response should be rendered.\nThe default render option is ValueRenderOption.FORMATTED_VALUE.", + "type": "string", + "location": "query", + "enum": [ + "FORMATTED_VALUE", + "UNFORMATTED_VALUE", + "FORMULA" + ] + }, + "insertDataOption": { + "description": "How the input data should be inserted.", + "type": "string", + "location": "query", + "enum": [ + "OVERWRITE", + "INSERT_ROWS" + ] + }, + "valueInputOption": { + "location": "query", + "enum": [ + "INPUT_VALUE_OPTION_UNSPECIFIED", + "RAW", + "USER_ENTERED" + ], + "description": "How the input data should be interpreted.", + "type": "string" + }, + "responseDateTimeRenderOption": { + "location": "query", + "enum": [ + "SERIAL_NUMBER", + "FORMATTED_STRING" + ], + "description": "Determines how dates, times, and durations in the response should be\nrendered. This is ignored if response_value_render_option is\nFORMATTED_VALUE.\nThe default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].", + "type": "string" + }, + "includeValuesInResponse": { + "description": "Determines if the update response should include the values\nof the cells that were appended. By default, responses\ndo not include the updated values.", + "type": "boolean", + "location": "query" + }, + "range": { + "location": "path", + "description": "The A1 notation of a range to search for a logical table of data.\nValues will be appended after the last row of the table.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/spreadsheets" + ] + }, + "batchGetByDataFilter": { + "httpMethod": "POST", + "parameterOrder": [ + "spreadsheetId" + ], + "response": { + "$ref": "BatchGetValuesByDataFilterResponse" + }, + "parameters": { + "spreadsheetId": { + "description": "The ID of the spreadsheet to retrieve data from.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/spreadsheets" + ], + "flatPath": "v4/spreadsheets/{spreadsheetId}/values:batchGetByDataFilter", + "path": "v4/spreadsheets/{spreadsheetId}/values:batchGetByDataFilter", + "id": "sheets.spreadsheets.values.batchGetByDataFilter", + "description": "Returns one or more ranges of values from a spreadsheet that match the\nspecified data filters. The caller must specify the spreadsheet ID and\none or more DataFilters. Ranges that match any of the data\nfilters in the request will be returned.", + "request": { + "$ref": "BatchGetValuesByDataFilterRequest" + } + }, + "batchClear": { + "response": { + "$ref": "BatchClearValuesResponse" + }, + "parameterOrder": [ + "spreadsheetId" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/spreadsheets" + ], + "parameters": { + "spreadsheetId": { + "description": "The ID of the spreadsheet to update.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v4/spreadsheets/{spreadsheetId}/values:batchClear", + "id": "sheets.spreadsheets.values.batchClear", + "path": "v4/spreadsheets/{spreadsheetId}/values:batchClear", + "request": { + "$ref": "BatchClearValuesRequest" + }, + "description": "Clears one or more ranges of values from a spreadsheet.\nThe caller must specify the spreadsheet ID and one or more ranges.\nOnly values are cleared -- all other properties of the cell (such as\nformatting, data validation, etc..) are kept." + } + } + }, + "sheets": { + "methods": { + "copyTo": { + "description": "Copies a single sheet from a spreadsheet to another spreadsheet.\nReturns the properties of the newly created sheet.", + "request": { + "$ref": "CopySheetToAnotherSpreadsheetRequest" + }, + "response": { + "$ref": "SheetProperties" + }, + "parameterOrder": [ + "spreadsheetId", + "sheetId" + ], + "httpMethod": "POST", + "parameters": { + "spreadsheetId": { + "description": "The ID of the spreadsheet containing the sheet to copy.", + "type": "string", + "required": true, + "location": "path" + }, + "sheetId": { + "location": "path", + "format": "int32", + "description": "The ID of the sheet to copy.", + "type": "integer", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/spreadsheets" + ], + "flatPath": "v4/spreadsheets/{spreadsheetId}/sheets/{sheetId}:copyTo", + "id": "sheets.spreadsheets.sheets.copyTo", + "path": "v4/spreadsheets/{spreadsheetId}/sheets/{sheetId}:copyTo" + } + } + } + } + } + }, + "parameters": { + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string", + "location": "query" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" + }, + "fields": { + "location": "query", + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + }, + "uploadType": { + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" + }, + "$.xgafv": { + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string" + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, + "alt": { + "enum": [ + "json", + "media", + "proto" + ], + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "description": "Data format for response.", + "default": "json" + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" + }, + "pp": { + "description": "Pretty-print response.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", + "location": "query" + } + }, + "version": "v4", + "baseUrl": "https://sheets.googleapis.com/", + "servicePath": "", + "kind": "discovery#restDescription", + "description": "Reads and writes Google Sheets.", + "basePath": "", + "revision": "20170922", + "documentationLink": "https://developers.google.com/sheets/", + "id": "sheets:v4", + "discoveryVersion": "v1", + "version_module": true, "schemas": { + "BasicChartSeries": { + "description": "A single series of data in a chart.\nFor example, if charting stock prices over time, multiple series may exist,\none for the \"Open Price\", \"High Price\", \"Low Price\" and \"Close Price\".", + "type": "object", + "properties": { + "type": { + "enumDescriptions": [ + "Default value, do not use.", + "A \u003ca href=\"/chart/interactive/docs/gallery/barchart\"\u003ebar chart\u003c/a\u003e.", + "A \u003ca href=\"/chart/interactive/docs/gallery/linechart\"\u003eline chart\u003c/a\u003e.", + "An \u003ca href=\"/chart/interactive/docs/gallery/areachart\"\u003earea chart\u003c/a\u003e.", + "A \u003ca href=\"/chart/interactive/docs/gallery/columnchart\"\u003ecolumn chart\u003c/a\u003e.", + "A \u003ca href=\"/chart/interactive/docs/gallery/scatterchart\"\u003escatter chart\u003c/a\u003e.", + "A \u003ca href=\"/chart/interactive/docs/gallery/combochart\"\u003ecombo chart\u003c/a\u003e.", + "A \u003ca href=\"/chart/interactive/docs/gallery/steppedareachart\"\u003estepped area chart\u003c/a\u003e." + ], + "enum": [ + "BASIC_CHART_TYPE_UNSPECIFIED", + "BAR", + "LINE", + "AREA", + "COLUMN", + "SCATTER", + "COMBO", + "STEPPED_AREA" + ], + "description": "The type of this series. Valid only if the\nchartType is\nCOMBO.\nDifferent types will change the way the series is visualized.\nOnly LINE, AREA,\nand COLUMN are supported.", + "type": "string" + }, + "series": { + "$ref": "ChartData", + "description": "The data being visualized in this chart series." + }, + "targetAxis": { + "enumDescriptions": [ + "Default value, do not use.", + "The axis rendered at the bottom of a chart.\nFor most charts, this is the standard major axis.\nFor bar charts, this is a minor axis.", + "The axis rendered at the left of a chart.\nFor most charts, this is a minor axis.\nFor bar charts, this is the standard major axis.", + "The axis rendered at the right of a chart.\nFor most charts, this is a minor axis.\nFor bar charts, this is an unusual major axis." + ], + "enum": [ + "BASIC_CHART_AXIS_POSITION_UNSPECIFIED", + "BOTTOM_AXIS", + "LEFT_AXIS", + "RIGHT_AXIS" + ], + "description": "The minor axis that will specify the range of values for this series.\nFor example, if charting stocks over time, the \"Volume\" series\nmay want to be pinned to the right with the prices pinned to the left,\nbecause the scale of trading volume is different than the scale of\nprices.\nIt is an error to specify an axis that isn't a valid minor axis\nfor the chart's type.", + "type": "string" + } + }, + "id": "BasicChartSeries" + }, + "Borders": { + "description": "The borders of the cell.", + "type": "object", + "properties": { + "right": { + "$ref": "Border", + "description": "The right border of the cell." + }, + "bottom": { + "$ref": "Border", + "description": "The bottom border of the cell." + }, + "top": { + "$ref": "Border", + "description": "The top border of the cell." + }, + "left": { + "description": "The left border of the cell.", + "$ref": "Border" + } + }, + "id": "Borders" + }, + "AutoResizeDimensionsRequest": { + "description": "Automatically resizes one or more dimensions based on the contents\nof the cells in that dimension.", + "type": "object", + "properties": { + "dimensions": { + "$ref": "DimensionRange", + "description": "The dimensions to automatically resize." + } + }, + "id": "AutoResizeDimensionsRequest" + }, + "UpdateBordersRequest": { + "description": "Updates the borders of a range.\nIf a field is not set in the request, that means the border remains as-is.\nFor example, with two subsequent UpdateBordersRequest:\n\n 1. range: A1:A5 `{ top: RED, bottom: WHITE }`\n 2. range: A1:A5 `{ left: BLUE }`\n\nThat would result in A1:A5 having a borders of\n`{ top: RED, bottom: WHITE, left: BLUE }`.\nIf you want to clear a border, explicitly set the style to\nNONE.", + "type": "object", + "properties": { + "bottom": { + "$ref": "Border", + "description": "The border to put at the bottom of the range." + }, + "innerVertical": { + "description": "The vertical border to put within the range.", + "$ref": "Border" + }, + "right": { + "$ref": "Border", + "description": "The border to put at the right of the range." + }, + "range": { + "$ref": "GridRange", + "description": "The range whose borders should be updated." + }, + "innerHorizontal": { + "description": "The horizontal border to put within the range.", + "$ref": "Border" + }, + "top": { + "$ref": "Border", + "description": "The border to put at the top of the range." + }, + "left": { + "$ref": "Border", + "description": "The border to put at the left of the range." + } + }, + "id": "UpdateBordersRequest" + }, + "CellFormat": { + "description": "The format of a cell.", + "type": "object", + "properties": { + "hyperlinkDisplayType": { + "enumDescriptions": [ + "The default value: the hyperlink is rendered. Do not use this.", + "A hyperlink should be explicitly rendered.", + "A hyperlink should not be rendered." + ], + "enum": [ + "HYPERLINK_DISPLAY_TYPE_UNSPECIFIED", + "LINKED", + "PLAIN_TEXT" + ], + "description": "How a hyperlink, if it exists, should be displayed in the cell.", + "type": "string" + }, + "horizontalAlignment": { + "enumDescriptions": [ + "The horizontal alignment is not specified. Do not use this.", + "The text is explicitly aligned to the left of the cell.", + "The text is explicitly aligned to the center of the cell.", + "The text is explicitly aligned to the right of the cell." + ], + "enum": [ + "HORIZONTAL_ALIGN_UNSPECIFIED", + "LEFT", + "CENTER", + "RIGHT" + ], + "description": "The horizontal alignment of the value in the cell.", + "type": "string" + }, + "textFormat": { + "$ref": "TextFormat", + "description": "The format of the text in the cell (unless overridden by a format run)." + }, + "backgroundColor": { + "$ref": "Color", + "description": "The background color of the cell." + }, + "verticalAlignment": { + "enumDescriptions": [ + "The vertical alignment is not specified. Do not use this.", + "The text is explicitly aligned to the top of the cell.", + "The text is explicitly aligned to the middle of the cell.", + "The text is explicitly aligned to the bottom of the cell." + ], + "enum": [ + "VERTICAL_ALIGN_UNSPECIFIED", + "TOP", + "MIDDLE", + "BOTTOM" + ], + "description": "The vertical alignment of the value in the cell.", + "type": "string" + }, + "padding": { + "description": "The padding of the cell.", + "$ref": "Padding" + }, + "textDirection": { + "description": "The direction of the text in the cell.", + "type": "string", + "enumDescriptions": [ + "The text direction is not specified. Do not use this.", + "The text direction of left-to-right was set by the user.", + "The text direction of right-to-left was set by the user." + ], + "enum": [ + "TEXT_DIRECTION_UNSPECIFIED", + "LEFT_TO_RIGHT", + "RIGHT_TO_LEFT" + ] + }, + "borders": { + "description": "The borders of the cell.", + "$ref": "Borders" + }, + "textRotation": { + "description": "The rotation applied to text in a cell", + "$ref": "TextRotation" + }, + "wrapStrategy": { + "description": "The wrap strategy for the value in the cell.", + "type": "string", + "enumDescriptions": [ + "The default value, do not use.", + "Lines that are longer than the cell width will be written in the next\ncell over, so long as that cell is empty. If the next cell over is\nnon-empty, this behaves the same as CLIP. The text will never wrap\nto the next line unless the user manually inserts a new line.\nExample:\n\n | First sentence. |\n | Manual newline that is very long. \u003c- Text continues into next cell\n | Next newline. |", + "This wrap strategy represents the old Google Sheets wrap strategy where\nwords that are longer than a line are clipped rather than broken. This\nstrategy is not supported on all platforms and is being phased out.\nExample:\n\n | Cell has a |\n | loooooooooo| \u003c- Word is clipped.\n | word. |", + "Lines that are longer than the cell width will be clipped.\nThe text will never wrap to the next line unless the user manually\ninserts a new line.\nExample:\n\n | First sentence. |\n | Manual newline t| \u003c- Text is clipped\n | Next newline. |", + "Words that are longer than a line are wrapped at the character level\nrather than clipped.\nExample:\n\n | Cell has a |\n | loooooooooo| \u003c- Word is broken.\n | ong word. |" + ], + "enum": [ + "WRAP_STRATEGY_UNSPECIFIED", + "OVERFLOW_CELL", + "LEGACY_WRAP", + "CLIP", + "WRAP" + ] + }, + "numberFormat": { + "description": "A format describing how number values should be represented to the user.", + "$ref": "NumberFormat" + } + }, + "id": "CellFormat" + }, + "ClearValuesResponse": { + "properties": { + "spreadsheetId": { + "description": "The spreadsheet the updates were applied to.", + "type": "string" + }, + "clearedRange": { + "description": "The range (in A1 notation) that was cleared.\n(If the request was for an unbounded range or a ranger larger\n than the bounds of the sheet, this will be the actual range\n that was cleared, bounded to the sheet's limits.)", + "type": "string" + } + }, + "id": "ClearValuesResponse", + "description": "The response when clearing a range of values in a spreadsheet.", + "type": "object" + }, + "DeleteConditionalFormatRuleRequest": { + "description": "Deletes a conditional format rule at the given index.\nAll subsequent rules' indexes are decremented.", + "type": "object", + "properties": { + "index": { + "format": "int32", + "description": "The zero-based index of the rule to be deleted.", + "type": "integer" + }, + "sheetId": { + "format": "int32", + "description": "The sheet the rule is being deleted from.", + "type": "integer" + } + }, + "id": "DeleteConditionalFormatRuleRequest" + }, + "DeleteNamedRangeRequest": { + "description": "Removes the named range with the given ID from the spreadsheet.", + "type": "object", + "properties": { + "namedRangeId": { + "description": "The ID of the named range to delete.", + "type": "string" + } + }, + "id": "DeleteNamedRangeRequest" + }, + "AddBandingResponse": { + "description": "The result of adding a banded range.", + "type": "object", + "properties": { + "bandedRange": { + "description": "The banded range that was added.", + "$ref": "BandedRange" + } + }, + "id": "AddBandingResponse" + }, + "ChartData": { + "description": "The data included in a domain or series.", + "type": "object", + "properties": { + "sourceRange": { + "description": "The source ranges of the data.", + "$ref": "ChartSourceRange" + } + }, + "id": "ChartData" + }, + "BatchGetValuesResponse": { + "properties": { + "valueRanges": { + "description": "The requested values. The order of the ValueRanges is the same as the\norder of the requested ranges.", + "items": { + "$ref": "ValueRange" + }, + "type": "array" + }, + "spreadsheetId": { + "description": "The ID of the spreadsheet the data was retrieved from.", + "type": "string" + } + }, + "id": "BatchGetValuesResponse", + "description": "The response when retrieving more than one range of values in a spreadsheet.", + "type": "object" + }, + "UpdateBandingRequest": { + "properties": { + "fields": { + "format": "google-fieldmask", + "description": "The fields that should be updated. At least one field must be specified.\nThe root `bandedRange` is implied and should not be specified.\nA single `\"*\"` can be used as short-hand for listing every field.", + "type": "string" + }, + "bandedRange": { + "$ref": "BandedRange", + "description": "The banded range to update with the new properties." + } + }, + "id": "UpdateBandingRequest", + "description": "Updates properties of the supplied banded range.", + "type": "object" + }, + "Color": { + "description": "Represents a color in the RGBA color space. This representation is designed\nfor simplicity of conversion to/from color representations in various\nlanguages over compactness; for example, the fields of this representation\ncan be trivially provided to the constructor of \"java.awt.Color\" in Java; it\ncan also be trivially provided to UIColor's \"+colorWithRed:green:blue:alpha\"\nmethod in iOS; and, with just a little work, it can be easily formatted into\na CSS \"rgba()\" string in JavaScript, as well. Here are some examples:\n\nExample (Java):\n\n import com.google.type.Color;\n\n // ...\n public static java.awt.Color fromProto(Color protocolor) {\n float alpha = protocolor.hasAlpha()\n ? protocolor.getAlpha().getValue()\n : 1.0;\n\n return new java.awt.Color(\n protocolor.getRed(),\n protocolor.getGreen(),\n protocolor.getBlue(),\n alpha);\n }\n\n public static Color toProto(java.awt.Color color) {\n float red = (float) color.getRed();\n float green = (float) color.getGreen();\n float blue = (float) color.getBlue();\n float denominator = 255.0;\n Color.Builder resultBuilder =\n Color\n .newBuilder()\n .setRed(red / denominator)\n .setGreen(green / denominator)\n .setBlue(blue / denominator);\n int alpha = color.getAlpha();\n if (alpha != 255) {\n result.setAlpha(\n FloatValue\n .newBuilder()\n .setValue(((float) alpha) / denominator)\n .build());\n }\n return resultBuilder.build();\n }\n // ...\n\nExample (iOS / Obj-C):\n\n // ...\n static UIColor* fromProto(Color* protocolor) {\n float red = [protocolor red];\n float green = [protocolor green];\n float blue = [protocolor blue];\n FloatValue* alpha_wrapper = [protocolor alpha];\n float alpha = 1.0;\n if (alpha_wrapper != nil) {\n alpha = [alpha_wrapper value];\n }\n return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];\n }\n\n static Color* toProto(UIColor* color) {\n CGFloat red, green, blue, alpha;\n if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {\n return nil;\n }\n Color* result = [Color alloc] init];\n [result setRed:red];\n [result setGreen:green];\n [result setBlue:blue];\n if (alpha \u003c= 0.9999) {\n [result setAlpha:floatWrapperWithValue(alpha)];\n }\n [result autorelease];\n return result;\n }\n // ...\n\n Example (JavaScript):\n\n // ...\n\n var protoToCssColor = function(rgb_color) {\n var redFrac = rgb_color.red || 0.0;\n var greenFrac = rgb_color.green || 0.0;\n var blueFrac = rgb_color.blue || 0.0;\n var red = Math.floor(redFrac * 255);\n var green = Math.floor(greenFrac * 255);\n var blue = Math.floor(blueFrac * 255);\n\n if (!('alpha' in rgb_color)) {\n return rgbToCssColor_(red, green, blue);\n }\n\n var alphaFrac = rgb_color.alpha.value || 0.0;\n var rgbParams = [red, green, blue].join(',');\n return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');\n };\n\n var rgbToCssColor_ = function(red, green, blue) {\n var rgbNumber = new Number((red \u003c\u003c 16) | (green \u003c\u003c 8) | blue);\n var hexString = rgbNumber.toString(16);\n var missingZeros = 6 - hexString.length;\n var resultBuilder = ['#'];\n for (var i = 0; i \u003c missingZeros; i++) {\n resultBuilder.push('0');\n }\n resultBuilder.push(hexString);\n return resultBuilder.join('');\n };\n\n // ...", + "type": "object", + "properties": { + "red": { + "format": "float", + "description": "The amount of red in the color as a value in the interval [0, 1].", + "type": "number" + }, + "alpha": { + "format": "float", + "description": "The fraction of this color that should be applied to the pixel. That is,\nthe final pixel color is defined by the equation:\n\n pixel color = alpha * (this color) + (1.0 - alpha) * (background color)\n\nThis means that a value of 1.0 corresponds to a solid color, whereas\na value of 0.0 corresponds to a completely transparent color. This\nuses a wrapper message rather than a simple float scalar so that it is\npossible to distinguish between a default value and the value being unset.\nIf omitted, this color object is to be rendered as a solid color\n(as if the alpha value had been explicitly given with a value of 1.0).", + "type": "number" + }, + "blue": { + "format": "float", + "description": "The amount of blue in the color as a value in the interval [0, 1].", + "type": "number" + }, + "green": { + "format": "float", + "description": "The amount of green in the color as a value in the interval [0, 1].", + "type": "number" + } + }, + "id": "Color" + }, + "PivotGroup": { + "description": "A single grouping (either row or column) in a pivot table.", + "type": "object", + "properties": { + "valueBucket": { + "description": "The bucket of the opposite pivot group to sort by.\nIf not specified, sorting is alphabetical by this group's values.", + "$ref": "PivotGroupSortValueBucket" + }, + "valueMetadata": { + "description": "Metadata about values in the grouping.", + "items": { + "$ref": "PivotGroupValueMetadata" + }, + "type": "array" + }, + "showTotals": { + "description": "True if the pivot table should include the totals for this grouping.", + "type": "boolean" + }, + "sourceColumnOffset": { + "format": "int32", + "description": "The column offset of the source range that this grouping is based on.\n\nFor example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`\nmeans this group refers to column `C`, whereas the offset `1` would refer\nto column `D`.", + "type": "integer" + }, + "sortOrder": { + "enumDescriptions": [ + "Default value, do not use this.", + "Sort ascending.", + "Sort descending." + ], + "enum": [ + "SORT_ORDER_UNSPECIFIED", + "ASCENDING", + "DESCENDING" + ], + "description": "The order the values in this group should be sorted.", + "type": "string" + } + }, + "id": "PivotGroup" + }, + "PivotTable": { + "description": "A pivot table.", + "type": "object", + "properties": { + "rows": { + "description": "Each row grouping in the pivot table.", + "items": { + "$ref": "PivotGroup" + }, + "type": "array" + }, + "valueLayout": { + "enum": [ + "HORIZONTAL", + "VERTICAL" + ], + "description": "Whether values should be listed horizontally (as columns)\nor vertically (as rows).", + "type": "string", + "enumDescriptions": [ + "Values are laid out horizontally (as columns).", + "Values are laid out vertically (as rows)." + ] + }, + "values": { + "description": "A list of values to include in the pivot table.", + "items": { + "$ref": "PivotValue" + }, + "type": "array" + }, + "source": { + "$ref": "GridRange", + "description": "The range the pivot table is reading data from." + }, + "columns": { + "description": "Each column grouping in the pivot table.", + "items": { + "$ref": "PivotGroup" + }, + "type": "array" + }, + "criteria": { + "description": "An optional mapping of filters per source column offset.\n\nThe filters will be applied before aggregating data into the pivot table.\nThe map's key is the column offset of the source range that you want to\nfilter, and the value is the criteria for that column.\n\nFor example, if the source was `C10:E15`, a key of `0` will have the filter\nfor column `C`, whereas the key `1` is for column `D`.", + "type": "object", + "additionalProperties": { + "$ref": "PivotFilterCriteria" + } + } + }, + "id": "PivotTable" + }, + "ChartSourceRange": { + "description": "Source ranges for a chart.", + "type": "object", + "properties": { + "sources": { + "description": "The ranges of data for a series or domain.\nExactly one dimension must have a length of 1,\nand all sources in the list must have the same dimension\nwith length 1.\nThe domain (if it exists) & all series must have the same number\nof source ranges. If using more than one source range, then the source\nrange at a given offset must be contiguous across the domain and series.\n\nFor example, these are valid configurations:\n\n domain sources: A1:A5\n series1 sources: B1:B5\n series2 sources: D6:D10\n\n domain sources: A1:A5, C10:C12\n series1 sources: B1:B5, D10:D12\n series2 sources: C1:C5, E10:E12", + "items": { + "$ref": "GridRange" + }, + "type": "array" + } + }, + "id": "ChartSourceRange" + }, + "SearchDeveloperMetadataResponse": { + "description": "A reply to a developer metadata search request.", + "type": "object", + "properties": { + "matchedDeveloperMetadata": { + "description": "The metadata matching the criteria of the search request.", + "items": { + "$ref": "MatchedDeveloperMetadata" + }, + "type": "array" + } + }, + "id": "SearchDeveloperMetadataResponse" + }, + "ValueRange": { + "description": "Data within a range of the spreadsheet.", + "type": "object", + "properties": { + "range": { + "description": "The range the values cover, in A1 notation.\nFor output, this range indicates the entire requested range,\neven though the values will exclude trailing rows and columns.\nWhen appending values, this field represents the range to search for a\ntable, after which values will be appended.", + "type": "string" + }, + "values": { + "description": "The data that was read or to be written. This is an array of arrays,\nthe outer array representing all the data and each inner array\nrepresenting a major dimension. Each item in the inner array\ncorresponds with one cell.\n\nFor output, empty trailing rows and columns will not be included.\n\nFor input, supported value types are: bool, string, and double.\nNull values will be skipped.\nTo set a cell to an empty value, set the string value to an empty string.", + "items": { + "items": { + "type": "any" + }, + "type": "array" + }, + "type": "array" + }, + "majorDimension": { + "description": "The major dimension of the values.\n\nFor output, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`,\nthen requesting `range=A1:B2,majorDimension=ROWS` will return\n`[[1,2],[3,4]]`,\nwhereas requesting `range=A1:B2,majorDimension=COLUMNS` will return\n`[[1,3],[2,4]]`.\n\nFor input, with `range=A1:B2,majorDimension=ROWS` then `[[1,2],[3,4]]`\nwill set `A1=1,B1=2,A2=3,B2=4`. With `range=A1:B2,majorDimension=COLUMNS`\nthen `[[1,2],[3,4]]` will set `A1=1,B1=3,A2=2,B2=4`.\n\nWhen writing, if this field is not set, it defaults to ROWS.", + "type": "string", + "enumDescriptions": [ + "The default value, do not use.", + "Operates on the rows of a sheet.", + "Operates on the columns of a sheet." + ], + "enum": [ + "DIMENSION_UNSPECIFIED", + "ROWS", + "COLUMNS" + ] + } + }, + "id": "ValueRange" + }, + "AppendCellsRequest": { + "description": "Adds new cells after the last row with data in a sheet,\ninserting new rows into the sheet if necessary.", + "type": "object", + "properties": { + "fields": { + "format": "google-fieldmask", + "description": "The fields of CellData that should be updated.\nAt least one field must be specified.\nThe root is the CellData; 'row.values.' should not be specified.\nA single `\"*\"` can be used as short-hand for listing every field.", + "type": "string" + }, + "rows": { + "description": "The data to append.", + "items": { + "$ref": "RowData" + }, + "type": "array" + }, + "sheetId": { + "format": "int32", + "description": "The sheet ID to append the data to.", + "type": "integer" + } + }, + "id": "AppendCellsRequest" + }, + "AddBandingRequest": { + "description": "Adds a new banded range to the spreadsheet.", + "type": "object", + "properties": { + "bandedRange": { + "description": "The banded range to add. The bandedRangeId\nfield is optional; if one is not set, an id will be randomly generated. (It\nis an error to specify the ID of a range that already exists.)", + "$ref": "BandedRange" + } + }, + "id": "AddBandingRequest" + }, + "Response": { + "description": "A single response from an update.", + "type": "object", + "properties": { + "addProtectedRange": { + "description": "A reply from adding a protected range.", + "$ref": "AddProtectedRangeResponse" + }, + "duplicateSheet": { + "$ref": "DuplicateSheetResponse", + "description": "A reply from duplicating a sheet." + }, + "updateEmbeddedObjectPosition": { + "$ref": "UpdateEmbeddedObjectPositionResponse", + "description": "A reply from updating an embedded object's position." + }, + "deleteConditionalFormatRule": { + "$ref": "DeleteConditionalFormatRuleResponse", + "description": "A reply from deleting a conditional format rule." + }, + "duplicateFilterView": { + "description": "A reply from duplicating a filter view.", + "$ref": "DuplicateFilterViewResponse" + }, + "addChart": { + "$ref": "AddChartResponse", + "description": "A reply from adding a chart." + }, + "updateDeveloperMetadata": { + "description": "A reply from updating a developer metadata entry.", + "$ref": "UpdateDeveloperMetadataResponse" + }, + "findReplace": { + "$ref": "FindReplaceResponse", + "description": "A reply from doing a find/replace." + }, + "addSheet": { + "$ref": "AddSheetResponse", + "description": "A reply from adding a sheet." + }, + "createDeveloperMetadata": { + "description": "A reply from creating a developer metadata entry.", + "$ref": "CreateDeveloperMetadataResponse" + }, + "updateConditionalFormatRule": { + "$ref": "UpdateConditionalFormatRuleResponse", + "description": "A reply from updating a conditional format rule." + }, + "addNamedRange": { + "description": "A reply from adding a named range.", + "$ref": "AddNamedRangeResponse" + }, + "deleteDeveloperMetadata": { + "$ref": "DeleteDeveloperMetadataResponse", + "description": "A reply from deleting a developer metadata entry." + }, + "addFilterView": { + "$ref": "AddFilterViewResponse", + "description": "A reply from adding a filter view." + }, + "addBanding": { + "$ref": "AddBandingResponse", + "description": "A reply from adding a banded range." + } + }, + "id": "Response" + }, + "EmbeddedChart": { + "description": "A chart embedded in a sheet.", + "type": "object", + "properties": { + "spec": { + "description": "The specification of the chart.", + "$ref": "ChartSpec" + }, + "chartId": { + "format": "int32", + "description": "The ID of the chart.", + "type": "integer" + }, + "position": { + "$ref": "EmbeddedObjectPosition", + "description": "The position of the chart." + } + }, + "id": "EmbeddedChart" + }, + "TextFormatRun": { + "description": "A run of a text format. The format of this run continues until the start\nindex of the next run.\nWhen updating, all fields must be set.", + "type": "object", + "properties": { + "startIndex": { + "format": "int32", + "description": "The character index where this run starts.", + "type": "integer" + }, + "format": { + "description": "The format of this run. Absent values inherit the cell's format.", + "$ref": "TextFormat" + } + }, + "id": "TextFormatRun" + }, + "InsertRangeRequest": { + "description": "Inserts cells into a range, shifting the existing cells over or down.", + "type": "object", + "properties": { + "shiftDimension": { + "description": "The dimension which will be shifted when inserting cells.\nIf ROWS, existing cells will be shifted down.\nIf COLUMNS, existing cells will be shifted right.", + "type": "string", + "enumDescriptions": [ + "The default value, do not use.", + "Operates on the rows of a sheet.", + "Operates on the columns of a sheet." + ], + "enum": [ + "DIMENSION_UNSPECIFIED", + "ROWS", + "COLUMNS" + ] + }, + "range": { + "$ref": "GridRange", + "description": "The range to insert new cells into." + } + }, + "id": "InsertRangeRequest" + }, + "AddNamedRangeResponse": { + "description": "The result of adding a named range.", + "type": "object", + "properties": { + "namedRange": { + "$ref": "NamedRange", + "description": "The named range to add." + } + }, + "id": "AddNamedRangeResponse" + }, + "BatchUpdateValuesByDataFilterResponse": { + "description": "The response when updating a range of values in a spreadsheet.", + "type": "object", + "properties": { + "totalUpdatedCells": { + "format": "int32", + "description": "The total number of cells updated.", + "type": "integer" + }, + "totalUpdatedColumns": { + "format": "int32", + "description": "The total number of columns where at least one cell in the column was\nupdated.", + "type": "integer" + }, + "spreadsheetId": { + "description": "The spreadsheet the updates were applied to.", + "type": "string" + }, + "totalUpdatedRows": { + "format": "int32", + "description": "The total number of rows where at least one cell in the row was updated.", + "type": "integer" + }, + "responses": { + "description": "The response for each range updated.", + "items": { + "$ref": "UpdateValuesByDataFilterResponse" + }, + "type": "array" + }, + "totalUpdatedSheets": { + "format": "int32", + "description": "The total number of sheets where at least one cell in the sheet was\nupdated.", + "type": "integer" + } + }, + "id": "BatchUpdateValuesByDataFilterResponse" + }, + "RowData": { + "description": "Data about each cell in a row.", + "type": "object", + "properties": { + "values": { + "description": "The values in the row, one per column.", + "items": { + "$ref": "CellData" + }, + "type": "array" + } + }, + "id": "RowData" + }, + "Border": { + "description": "A border along a cell.", + "type": "object", + "properties": { + "width": { + "format": "int32", + "description": "The width of the border, in pixels.\nDeprecated; the width is determined by the \"style\" field.", + "type": "integer" + }, + "style": { + "enumDescriptions": [ + "The style is not specified. Do not use this.", + "The border is dotted.", + "The border is dashed.", + "The border is a thin solid line.", + "The border is a medium solid line.", + "The border is a thick solid line.", + "No border.\nUsed only when updating a border in order to erase it.", + "The border is two solid lines." + ], + "enum": [ + "STYLE_UNSPECIFIED", + "DOTTED", + "DASHED", + "SOLID", + "SOLID_MEDIUM", + "SOLID_THICK", + "NONE", + "DOUBLE" + ], + "description": "The style of the border.", + "type": "string" + }, + "color": { + "$ref": "Color", + "description": "The color of the border." + } + }, + "id": "Border" + }, + "GridData": { + "properties": { + "startRow": { + "format": "int32", + "description": "The first row this GridData refers to, zero-based.", + "type": "integer" + }, + "columnMetadata": { + "description": "Metadata about the requested columns in the grid, starting with the column\nin start_column.", + "items": { + "$ref": "DimensionProperties" + }, + "type": "array" + }, + "startColumn": { + "format": "int32", + "description": "The first column this GridData refers to, zero-based.", + "type": "integer" + }, + "rowMetadata": { + "description": "Metadata about the requested rows in the grid, starting with the row\nin start_row.", + "items": { + "$ref": "DimensionProperties" + }, + "type": "array" + }, + "rowData": { + "description": "The data in the grid, one entry per row,\nstarting with the row in startRow.\nThe values in RowData will correspond to columns starting\nat start_column.", + "items": { + "$ref": "RowData" + }, + "type": "array" + } + }, + "id": "GridData", + "description": "Data in the grid, as well as metadata about the dimensions.", + "type": "object" + }, + "UpdateNamedRangeRequest": { + "properties": { + "namedRange": { + "description": "The named range to update with the new properties.", + "$ref": "NamedRange" + }, + "fields": { + "format": "google-fieldmask", + "description": "The fields that should be updated. At least one field must be specified.\nThe root `namedRange` is implied and should not be specified.\nA single `\"*\"` can be used as short-hand for listing every field.", + "type": "string" + } + }, + "id": "UpdateNamedRangeRequest", + "description": "Updates properties of the named range with the specified\nnamedRangeId.", + "type": "object" + }, + "FindReplaceRequest": { + "description": "Finds and replaces data in cells over a range, sheet, or all sheets.", + "type": "object", + "properties": { + "replacement": { + "description": "The value to use as the replacement.", + "type": "string" + }, + "range": { + "description": "The range to find/replace over.", + "$ref": "GridRange" + }, + "sheetId": { + "format": "int32", + "description": "The sheet to find/replace over.", + "type": "integer" + }, + "allSheets": { + "description": "True to find/replace over all sheets.", + "type": "boolean" + }, + "matchCase": { + "description": "True if the search is case sensitive.", + "type": "boolean" + }, + "includeFormulas": { + "description": "True if the search should include cells with formulas.\nFalse to skip cells with formulas.", + "type": "boolean" + }, + "matchEntireCell": { + "description": "True if the find value should match the entire cell.", + "type": "boolean" + }, + "find": { + "description": "The value to search.", + "type": "string" + }, + "searchByRegex": { + "description": "True if the find value is a regex.\nThe regular expression and replacement should follow Java regex rules\nat https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html.\nThe replacement string is allowed to refer to capturing groups.\nFor example, if one cell has the contents `\"Google Sheets\"` and another\nhas `\"Google Docs\"`, then searching for `\"o.* (.*)\"` with a replacement of\n`\"$1 Rocks\"` would change the contents of the cells to\n`\"GSheets Rocks\"` and `\"GDocs Rocks\"` respectively.", + "type": "boolean" + } + }, + "id": "FindReplaceRequest" + }, + "AddSheetRequest": { + "description": "Adds a new sheet.\nWhen a sheet is added at a given index,\nall subsequent sheets' indexes are incremented.\nTo add an object sheet, use AddChartRequest instead and specify\nEmbeddedObjectPosition.sheetId or\nEmbeddedObjectPosition.newSheet.", + "type": "object", + "properties": { + "properties": { + "$ref": "SheetProperties", + "description": "The properties the new sheet should have.\nAll properties are optional.\nThe sheetId field is optional; if one is not\nset, an id will be randomly generated. (It is an error to specify the ID\nof a sheet that already exists.)" + } + }, + "id": "AddSheetRequest" + }, + "UpdateCellsRequest": { + "description": "Updates all cells in a range with new data.", + "type": "object", + "properties": { + "fields": { + "format": "google-fieldmask", + "description": "The fields of CellData that should be updated.\nAt least one field must be specified.\nThe root is the CellData; 'row.values.' should not be specified.\nA single `\"*\"` can be used as short-hand for listing every field.", + "type": "string" + }, + "rows": { + "description": "The data to write.", + "items": { + "$ref": "RowData" + }, + "type": "array" + }, + "start": { + "description": "The coordinate to start writing data at.\nAny number of rows and columns (including a different number of\ncolumns per row) may be written.", + "$ref": "GridCoordinate" + }, + "range": { + "$ref": "GridRange", + "description": "The range to write data to.\n\nIf the data in rows does not cover the entire requested range,\nthe fields matching those set in fields will be cleared." + } + }, + "id": "UpdateCellsRequest" + }, + "RandomizeRangeRequest": { + "properties": { + "range": { + "$ref": "GridRange", + "description": "The range to randomize." + } + }, + "id": "RandomizeRangeRequest", + "description": "Randomizes the order of the rows in a range.", + "type": "object" + }, + "DeleteConditionalFormatRuleResponse": { + "properties": { + "rule": { + "description": "The rule that was deleted.", + "$ref": "ConditionalFormatRule" + } + }, + "id": "DeleteConditionalFormatRuleResponse", + "description": "The result of deleting a conditional format rule.", + "type": "object" + }, + "DeleteRangeRequest": { + "description": "Deletes a range of cells, shifting other cells into the deleted area.", + "type": "object", + "properties": { + "shiftDimension": { + "description": "The dimension from which deleted cells will be replaced with.\nIf ROWS, existing cells will be shifted upward to\nreplace the deleted cells. If COLUMNS, existing cells\nwill be shifted left to replace the deleted cells.", + "type": "string", + "enumDescriptions": [ + "The default value, do not use.", + "Operates on the rows of a sheet.", + "Operates on the columns of a sheet." + ], + "enum": [ + "DIMENSION_UNSPECIFIED", + "ROWS", + "COLUMNS" + ] + }, + "range": { + "description": "The range of cells to delete.", + "$ref": "GridRange" + } + }, + "id": "DeleteRangeRequest" + }, + "GridCoordinate": { + "description": "A coordinate in a sheet.\nAll indexes are zero-based.", + "type": "object", + "properties": { + "columnIndex": { + "format": "int32", + "description": "The column index of the coordinate.", + "type": "integer" + }, + "rowIndex": { + "format": "int32", + "description": "The row index of the coordinate.", + "type": "integer" + }, + "sheetId": { + "format": "int32", + "description": "The sheet this coordinate is on.", + "type": "integer" + } + }, + "id": "GridCoordinate" + }, + "UpdateSheetPropertiesRequest": { + "description": "Updates properties of the sheet with the specified\nsheetId.", + "type": "object", + "properties": { + "properties": { + "$ref": "SheetProperties", + "description": "The properties to update." + }, + "fields": { + "format": "google-fieldmask", + "description": "The fields that should be updated. At least one field must be specified.\nThe root `properties` is implied and should not be specified.\nA single `\"*\"` can be used as short-hand for listing every field.", + "type": "string" + } + }, + "id": "UpdateSheetPropertiesRequest" + }, + "UnmergeCellsRequest": { + "description": "Unmerges cells in the given range.", + "type": "object", + "properties": { + "range": { + "$ref": "GridRange", + "description": "The range within which all cells should be unmerged.\nIf the range spans multiple merges, all will be unmerged.\nThe range must not partially span any merge." + } + }, + "id": "UnmergeCellsRequest" + }, + "GridProperties": { + "description": "Properties of a grid.", + "type": "object", + "properties": { + "rowCount": { + "format": "int32", + "description": "The number of rows in the grid.", + "type": "integer" + }, + "hideGridlines": { + "description": "True if the grid isn't showing gridlines in the UI.", + "type": "boolean" + }, + "frozenRowCount": { + "format": "int32", + "description": "The number of rows that are frozen in the grid.", + "type": "integer" + }, + "frozenColumnCount": { + "format": "int32", + "description": "The number of columns that are frozen in the grid.", + "type": "integer" + }, + "columnCount": { + "format": "int32", + "description": "The number of columns in the grid.", + "type": "integer" + } + }, + "id": "GridProperties" + }, + "UpdateEmbeddedObjectPositionResponse": { + "description": "The result of updating an embedded object's position.", + "type": "object", + "properties": { + "position": { + "description": "The new position of the embedded object.", + "$ref": "EmbeddedObjectPosition" + } + }, + "id": "UpdateEmbeddedObjectPositionResponse" + }, + "Sheet": { + "properties": { + "merges": { + "description": "The ranges that are merged together.", + "items": { + "$ref": "GridRange" + }, + "type": "array" + }, + "data": { + "description": "Data in the grid, if this is a grid sheet.\nThe number of GridData objects returned is dependent on the number of\nranges requested on this sheet. For example, if this is representing\n`Sheet1`, and the spreadsheet was requested with ranges\n`Sheet1!A1:C10` and `Sheet1!D15:E20`, then the first GridData will have a\nstartRow/startColumn of `0`,\nwhile the second one will have `startRow 14` (zero-based row 15),\nand `startColumn 3` (zero-based column D).", + "items": { + "$ref": "GridData" + }, + "type": "array" + }, + "bandedRanges": { + "description": "The banded (i.e. alternating colors) ranges on this sheet.", + "items": { + "$ref": "BandedRange" + }, + "type": "array" + }, + "charts": { + "description": "The specifications of every chart on this sheet.", + "items": { + "$ref": "EmbeddedChart" + }, + "type": "array" + }, + "properties": { + "description": "The properties of the sheet.", + "$ref": "SheetProperties" + }, + "filterViews": { + "description": "The filter views in this sheet.", + "items": { + "$ref": "FilterView" + }, + "type": "array" + }, + "developerMetadata": { + "description": "The developer metadata associated with a sheet.", + "items": { + "$ref": "DeveloperMetadata" + }, + "type": "array" + }, + "protectedRanges": { + "description": "The protected ranges in this sheet.", + "items": { + "$ref": "ProtectedRange" + }, + "type": "array" + }, + "conditionalFormats": { + "description": "The conditional format rules in this sheet.", + "items": { + "$ref": "ConditionalFormatRule" + }, + "type": "array" + }, + "basicFilter": { + "$ref": "BasicFilter", + "description": "The filter on this sheet, if any." + } + }, + "id": "Sheet", + "description": "A sheet in a spreadsheet.", + "type": "object" + }, + "SortSpec": { + "description": "A sort order associated with a specific column or row.", + "type": "object", + "properties": { + "dimensionIndex": { + "format": "int32", + "description": "The dimension the sort should be applied to.", + "type": "integer" + }, + "sortOrder": { + "enumDescriptions": [ + "Default value, do not use this.", + "Sort ascending.", + "Sort descending." + ], + "enum": [ + "SORT_ORDER_UNSPECIFIED", + "ASCENDING", + "DESCENDING" + ], + "description": "The order data should be sorted.", + "type": "string" + } + }, + "id": "SortSpec" + }, + "BooleanRule": { + "description": "A rule that may or may not match, depending on the condition.", + "type": "object", + "properties": { + "format": { + "$ref": "CellFormat", + "description": "The format to apply.\nConditional formatting can only apply a subset of formatting:\nbold, italic,\nstrikethrough,\nforeground color &\nbackground color." + }, + "condition": { + "description": "The condition of the rule. If the condition evaluates to true,\nthe format will be applied.", + "$ref": "BooleanCondition" + } + }, + "id": "BooleanRule" + }, + "PivotGroupValueMetadata": { + "properties": { + "collapsed": { + "description": "True if the data corresponding to the value is collapsed.", + "type": "boolean" + }, + "value": { + "$ref": "ExtendedValue", + "description": "The calculated value the metadata corresponds to.\n(Note that formulaValue is not valid,\n because the values will be calculated.)" + } + }, + "id": "PivotGroupValueMetadata", + "description": "Metadata about a value in a pivot grouping.", + "type": "object" + }, + "FilterCriteria": { + "properties": { + "condition": { + "description": "A condition that must be true for values to be shown.\n(This does not override hiddenValues -- if a value is listed there,\n it will still be hidden.)", + "$ref": "BooleanCondition" + }, + "hiddenValues": { + "description": "Values that should be hidden.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "FilterCriteria", + "description": "Criteria for showing/hiding rows in a filter or filter view.", + "type": "object" + }, + "Editors": { + "properties": { + "users": { + "description": "The email addresses of users with edit access to the protected range.", + "items": { + "type": "string" + }, + "type": "array" + }, + "domainUsersCanEdit": { + "description": "True if anyone in the document's domain has edit access to the protected\nrange. Domain protection is only supported on documents within a domain.", + "type": "boolean" + }, + "groups": { + "description": "The email addresses of groups with edit access to the protected range.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "Editors", + "description": "The editors of a protected range.", + "type": "object" + }, + "UpdateConditionalFormatRuleRequest": { + "description": "Updates a conditional format rule at the given index,\nor moves a conditional format rule to another index.", + "type": "object", + "properties": { + "rule": { + "description": "The rule that should replace the rule at the given index.", + "$ref": "ConditionalFormatRule" + }, + "index": { + "format": "int32", + "description": "The zero-based index of the rule that should be replaced or moved.", + "type": "integer" + }, + "sheetId": { + "format": "int32", + "description": "The sheet of the rule to move. Required if new_index is set,\nunused otherwise.", + "type": "integer" + }, + "newIndex": { + "format": "int32", + "description": "The zero-based new index the rule should end up at.", + "type": "integer" + } + }, + "id": "UpdateConditionalFormatRuleRequest" + }, + "DataValidationRule": { + "properties": { + "condition": { + "$ref": "BooleanCondition", + "description": "The condition that data in the cell must match." + }, + "showCustomUi": { + "description": "True if the UI should be customized based on the kind of condition.\nIf true, \"List\" conditions will show a dropdown.", + "type": "boolean" + }, + "strict": { + "description": "True if invalid data should be rejected.", + "type": "boolean" + }, + "inputMessage": { + "description": "A message to show the user when adding data to the cell.", + "type": "string" + } + }, + "id": "DataValidationRule", + "description": "A data validation rule.", + "type": "object" + }, + "BasicChartDomain": { + "properties": { + "reversed": { + "description": "True to reverse the order of the domain values (horizontal axis).", + "type": "boolean" + }, + "domain": { + "$ref": "ChartData", + "description": "The data of the domain. For example, if charting stock prices over time,\nthis is the data representing the dates." + } + }, + "id": "BasicChartDomain", + "description": "The domain of a chart.\nFor example, if charting stock prices over time, this would be the date.", + "type": "object" + }, + "PasteDataRequest": { + "description": "Inserts data into the spreadsheet starting at the specified coordinate.", + "type": "object", + "properties": { + "coordinate": { + "$ref": "GridCoordinate", + "description": "The coordinate at which the data should start being inserted." + }, + "delimiter": { + "description": "The delimiter in the data.", + "type": "string" + }, + "data": { + "description": "The data to insert.", + "type": "string" + }, + "type": { + "enumDescriptions": [ + "Paste values, formulas, formats, and merges.", + "Paste the values ONLY without formats, formulas, or merges.", + "Paste the format and data validation only.", + "Like PASTE_NORMAL but without borders.", + "Paste the formulas only.", + "Paste the data validation only.", + "Paste the conditional formatting rules only." + ], + "enum": [ + "PASTE_NORMAL", + "PASTE_VALUES", + "PASTE_FORMAT", + "PASTE_NO_BORDERS", + "PASTE_FORMULA", + "PASTE_DATA_VALIDATION", + "PASTE_CONDITIONAL_FORMATTING" + ], + "description": "How the data should be pasted.", + "type": "string" + }, + "html": { + "description": "True if the data is HTML.", + "type": "boolean" + } + }, + "id": "PasteDataRequest" + }, + "UpdateDeveloperMetadataResponse": { + "description": "The response from updating developer metadata.", + "type": "object", + "properties": { + "developerMetadata": { + "description": "The updated developer metadata.", + "items": { + "$ref": "DeveloperMetadata" + }, + "type": "array" + } + }, + "id": "UpdateDeveloperMetadataResponse" + }, + "AppendDimensionRequest": { + "description": "Appends rows or columns to the end of a sheet.", + "type": "object", + "properties": { + "sheetId": { + "format": "int32", + "description": "The sheet to append rows or columns to.", + "type": "integer" + }, + "dimension": { + "enum": [ + "DIMENSION_UNSPECIFIED", + "ROWS", + "COLUMNS" + ], + "description": "Whether rows or columns should be appended.", + "type": "string", + "enumDescriptions": [ + "The default value, do not use.", + "Operates on the rows of a sheet.", + "Operates on the columns of a sheet." + ] + }, + "length": { + "format": "int32", + "description": "The number of rows or columns to append.", + "type": "integer" + } + }, + "id": "AppendDimensionRequest" + }, + "AddNamedRangeRequest": { + "properties": { + "namedRange": { + "description": "The named range to add. The namedRangeId\nfield is optional; if one is not set, an id will be randomly generated. (It\nis an error to specify the ID of a range that already exists.)", + "$ref": "NamedRange" + } + }, + "id": "AddNamedRangeRequest", + "description": "Adds a named range to the spreadsheet.", + "type": "object" + }, + "CreateDeveloperMetadataResponse": { + "properties": { + "developerMetadata": { + "description": "The developer metadata that was created.", + "$ref": "DeveloperMetadata" + } + }, + "id": "CreateDeveloperMetadataResponse", + "description": "The response from creating developer metadata.", + "type": "object" + }, "UpdateEmbeddedObjectPositionRequest": { "description": "Update an embedded object's position (such as a moving or resizing a\nchart or image).", "type": "object", @@ -22,6 +2212,8 @@ "id": "UpdateEmbeddedObjectPositionRequest" }, "TextRotation": { + "description": "The rotation applied to text in a cell.", + "type": "object", "properties": { "angle": { "format": "int32", @@ -33,17 +2225,13 @@ "type": "boolean" } }, - "id": "TextRotation", - "description": "The rotation applied to text in a cell.", - "type": "object" + "id": "TextRotation" }, "PieChartSpec": { - "description": "A \u003ca href=\"/chart/interactive/docs/gallery/piechart\"\u003epie chart\u003c/a\u003e.", - "type": "object", "properties": { "series": { - "description": "The data that covers the one and only series of the pie chart.", - "$ref": "ChartData" + "$ref": "ChartData", + "description": "The data that covers the one and only series of the pie chart." }, "pieHole": { "format": "double", @@ -81,13 +2269,40 @@ "description": "The data that covers the domain of the pie chart." } }, - "id": "PieChartSpec" + "id": "PieChartSpec", + "description": "A \u003ca href=\"/chart/interactive/docs/gallery/piechart\"\u003epie chart\u003c/a\u003e.", + "type": "object" + }, + "UpdateDeveloperMetadataRequest": { + "properties": { + "dataFilters": { + "description": "The filters matching the developer metadata entries to update.", + "items": { + "$ref": "DataFilter" + }, + "type": "array" + }, + "fields": { + "format": "google-fieldmask", + "description": "The fields that should be updated. At least one field must be specified.\nThe root `developerMetadata` is implied and should not be specified.\nA single `\"*\"` can be used as short-hand for listing every field.", + "type": "string" + }, + "developerMetadata": { + "$ref": "DeveloperMetadata", + "description": "The value that all metadata matched by the data filters will be updated to." + } + }, + "id": "UpdateDeveloperMetadataRequest", + "description": "A request to update properties of developer metadata.\nUpdates the properties of the developer metadata selected by the filters to\nthe values provided in the DeveloperMetadata resource. Callers must\nspecify the properties they wish to update in the fields parameter, as well\nas specify at least one DataFilter matching the metadata they wish to\nupdate.", + "type": "object" }, "UpdateFilterViewRequest": { + "description": "Updates properties of the filter view.", + "type": "object", "properties": { "filter": { - "description": "The new properties of the filter view.", - "$ref": "FilterView" + "$ref": "FilterView", + "description": "The new properties of the filter view." }, "fields": { "format": "google-fieldmask", @@ -95,21 +2310,12 @@ "type": "string" } }, - "id": "UpdateFilterViewRequest", - "description": "Updates properties of the filter view.", - "type": "object" + "id": "UpdateFilterViewRequest" }, "ConditionalFormatRule": { "description": "A rule describing a conditional format.", "type": "object", "properties": { - "ranges": { - "description": "The ranges that will be formatted if the condition is true.\nAll the ranges must be on the same grid.", - "items": { - "$ref": "GridRange" - }, - "type": "array" - }, "gradientRule": { "$ref": "GradientRule", "description": "The formatting will vary based on the gradients in the rule." @@ -117,11 +2323,20 @@ "booleanRule": { "$ref": "BooleanRule", "description": "The formatting is either \"on\" or \"off\" according to the rule." + }, + "ranges": { + "description": "The ranges that will be formatted if the condition is true.\nAll the ranges must be on the same grid.", + "items": { + "$ref": "GridRange" + }, + "type": "array" } }, "id": "ConditionalFormatRule" }, "CopyPasteRequest": { + "description": "Copies data from the source to the destination.", + "type": "object", "properties": { "pasteType": { "enumDescriptions": [ @@ -150,228 +2365,23 @@ "$ref": "GridRange" }, "destination": { - "description": "The location to paste to. If the range covers a span that's\na multiple of the source's height or width, then the\ndata will be repeated to fill in the destination range.\nIf the range is smaller than the source range, the entire\nsource data will still be copied (beyond the end of the destination range).", - "$ref": "GridRange" + "$ref": "GridRange", + "description": "The location to paste to. If the range covers a span that's\na multiple of the source's height or width, then the\ndata will be repeated to fill in the destination range.\nIf the range is smaller than the source range, the entire\nsource data will still be copied (beyond the end of the destination range)." }, "pasteOrientation": { + "enum": [ + "NORMAL", + "TRANSPOSE" + ], "description": "How that data should be oriented when pasting.", "type": "string", "enumDescriptions": [ "Paste normally.", "Paste transposed, where all rows become columns and vice versa." - ], - "enum": [ - "NORMAL", - "TRANSPOSE" ] } }, - "id": "CopyPasteRequest", - "description": "Copies data from the source to the destination.", - "type": "object" - }, - "Request": { - "description": "A single kind of update to apply to a spreadsheet.", - "type": "object", - "properties": { - "addFilterView": { - "description": "Adds a filter view.", - "$ref": "AddFilterViewRequest" - }, - "updateBorders": { - "$ref": "UpdateBordersRequest", - "description": "Updates the borders in a range of cells." - }, - "setDataValidation": { - "$ref": "SetDataValidationRequest", - "description": "Sets data validation for one or more cells." - }, - "deleteConditionalFormatRule": { - "description": "Deletes an existing conditional format rule.", - "$ref": "DeleteConditionalFormatRuleRequest" - }, - "repeatCell": { - "$ref": "RepeatCellRequest", - "description": "Repeats a single cell across a range." - }, - "clearBasicFilter": { - "description": "Clears the basic filter on a sheet.", - "$ref": "ClearBasicFilterRequest" - }, - "appendDimension": { - "description": "Appends dimensions to the end of a sheet.", - "$ref": "AppendDimensionRequest" - }, - "updateConditionalFormatRule": { - "$ref": "UpdateConditionalFormatRuleRequest", - "description": "Updates an existing conditional format rule." - }, - "insertRange": { - "description": "Inserts new cells in a sheet, shifting the existing cells.", - "$ref": "InsertRangeRequest" - }, - "moveDimension": { - "description": "Moves rows or columns to another location in a sheet.", - "$ref": "MoveDimensionRequest" - }, - "updateBanding": { - "$ref": "UpdateBandingRequest", - "description": "Updates a banded range" - }, - "deleteNamedRange": { - "$ref": "DeleteNamedRangeRequest", - "description": "Deletes a named range." - }, - "addProtectedRange": { - "description": "Adds a protected range.", - "$ref": "AddProtectedRangeRequest" - }, - "duplicateSheet": { - "description": "Duplicates a sheet.", - "$ref": "DuplicateSheetRequest" - }, - "deleteSheet": { - "description": "Deletes a sheet.", - "$ref": "DeleteSheetRequest" - }, - "unmergeCells": { - "description": "Unmerges merged cells.", - "$ref": "UnmergeCellsRequest" - }, - "updateEmbeddedObjectPosition": { - "description": "Updates an embedded object's (e.g. chart, image) position.", - "$ref": "UpdateEmbeddedObjectPositionRequest" - }, - "updateDimensionProperties": { - "$ref": "UpdateDimensionPropertiesRequest", - "description": "Updates dimensions' properties." - }, - "pasteData": { - "$ref": "PasteDataRequest", - "description": "Pastes data (HTML or delimited) into a sheet." - }, - "setBasicFilter": { - "$ref": "SetBasicFilterRequest", - "description": "Sets the basic filter on a sheet." - }, - "addConditionalFormatRule": { - "description": "Adds a new conditional format rule.", - "$ref": "AddConditionalFormatRuleRequest" - }, - "updateCells": { - "description": "Updates many cells at once.", - "$ref": "UpdateCellsRequest" - }, - "addNamedRange": { - "$ref": "AddNamedRangeRequest", - "description": "Adds a named range." - }, - "updateSpreadsheetProperties": { - "description": "Updates the spreadsheet's properties.", - "$ref": "UpdateSpreadsheetPropertiesRequest" - }, - "deleteEmbeddedObject": { - "$ref": "DeleteEmbeddedObjectRequest", - "description": "Deletes an embedded object (e.g, chart, image) in a sheet." - }, - "updateFilterView": { - "description": "Updates the properties of a filter view.", - "$ref": "UpdateFilterViewRequest" - }, - "addBanding": { - "$ref": "AddBandingRequest", - "description": "Adds a new banded range" - }, - "appendCells": { - "description": "Appends cells after the last row with data in a sheet.", - "$ref": "AppendCellsRequest" - }, - "autoResizeDimensions": { - "description": "Automatically resizes one or more dimensions based on the contents\nof the cells in that dimension.", - "$ref": "AutoResizeDimensionsRequest" - }, - "cutPaste": { - "$ref": "CutPasteRequest", - "description": "Cuts data from one area and pastes it to another." - }, - "mergeCells": { - "description": "Merges cells together.", - "$ref": "MergeCellsRequest" - }, - "updateNamedRange": { - "$ref": "UpdateNamedRangeRequest", - "description": "Updates a named range." - }, - "updateSheetProperties": { - "description": "Updates a sheet's properties.", - "$ref": "UpdateSheetPropertiesRequest" - }, - "deleteDimension": { - "description": "Deletes rows or columns in a sheet.", - "$ref": "DeleteDimensionRequest" - }, - "autoFill": { - "$ref": "AutoFillRequest", - "description": "Automatically fills in more data based on existing data." - }, - "sortRange": { - "description": "Sorts data in a range.", - "$ref": "SortRangeRequest" - }, - "deleteProtectedRange": { - "description": "Deletes a protected range.", - "$ref": "DeleteProtectedRangeRequest" - }, - "duplicateFilterView": { - "$ref": "DuplicateFilterViewRequest", - "description": "Duplicates a filter view." - }, - "addChart": { - "$ref": "AddChartRequest", - "description": "Adds a chart." - }, - "findReplace": { - "$ref": "FindReplaceRequest", - "description": "Finds and replaces occurrences of some text with other text." - }, - "updateChartSpec": { - "$ref": "UpdateChartSpecRequest", - "description": "Updates a chart's specifications." - }, - "textToColumns": { - "description": "Converts a column of text into many columns of text.", - "$ref": "TextToColumnsRequest" - }, - "updateProtectedRange": { - "description": "Updates a protected range.", - "$ref": "UpdateProtectedRangeRequest" - }, - "addSheet": { - "$ref": "AddSheetRequest", - "description": "Adds a sheet." - }, - "copyPaste": { - "$ref": "CopyPasteRequest", - "description": "Copies data from one area and pastes it to another." - }, - "deleteFilterView": { - "description": "Deletes a filter view from a sheet.", - "$ref": "DeleteFilterViewRequest" - }, - "insertDimension": { - "description": "Inserts new rows or columns in a sheet.", - "$ref": "InsertDimensionRequest" - }, - "deleteRange": { - "$ref": "DeleteRangeRequest", - "description": "Deletes a range of cells from a sheet, shifting the remaining cells." - }, - "deleteBanding": { - "$ref": "DeleteBandingRequest", - "description": "Removes a banded range" - } - }, - "id": "Request" + "id": "CopyPasteRequest" }, "BooleanCondition": { "description": "A condition that can evaluate to true or false.\nBooleanConditions are used by conditional formatting,\ndata validation, and the criteria in filters.", @@ -385,8 +2395,6 @@ "type": "array" }, "type": { - "description": "The type of condition.", - "type": "string", "enumDescriptions": [ "The default value, do not use.", "The cell's value must be greater than the condition's value.\nSupported by data validation, conditional formatting and filters.\nRequires a single ConditionValue.", @@ -448,15 +2456,246 @@ "BLANK", "NOT_BLANK", "CUSTOM_FORMULA" - ] + ], + "description": "The type of condition.", + "type": "string" } }, "id": "BooleanCondition" }, + "Request": { + "description": "A single kind of update to apply to a spreadsheet.", + "type": "object", + "properties": { + "updateBanding": { + "$ref": "UpdateBandingRequest", + "description": "Updates a banded range" + }, + "addProtectedRange": { + "description": "Adds a protected range.", + "$ref": "AddProtectedRangeRequest" + }, + "deleteNamedRange": { + "$ref": "DeleteNamedRangeRequest", + "description": "Deletes a named range." + }, + "duplicateSheet": { + "$ref": "DuplicateSheetRequest", + "description": "Duplicates a sheet." + }, + "deleteSheet": { + "description": "Deletes a sheet.", + "$ref": "DeleteSheetRequest" + }, + "unmergeCells": { + "$ref": "UnmergeCellsRequest", + "description": "Unmerges merged cells." + }, + "updateEmbeddedObjectPosition": { + "$ref": "UpdateEmbeddedObjectPositionRequest", + "description": "Updates an embedded object's (e.g. chart, image) position." + }, + "updateDimensionProperties": { + "description": "Updates dimensions' properties.", + "$ref": "UpdateDimensionPropertiesRequest" + }, + "updateDeveloperMetadata": { + "$ref": "UpdateDeveloperMetadataRequest", + "description": "Updates an existing developer metadata entry" + }, + "pasteData": { + "$ref": "PasteDataRequest", + "description": "Pastes data (HTML or delimited) into a sheet." + }, + "setBasicFilter": { + "$ref": "SetBasicFilterRequest", + "description": "Sets the basic filter on a sheet." + }, + "addConditionalFormatRule": { + "$ref": "AddConditionalFormatRuleRequest", + "description": "Adds a new conditional format rule." + }, + "addNamedRange": { + "$ref": "AddNamedRangeRequest", + "description": "Adds a named range." + }, + "updateCells": { + "$ref": "UpdateCellsRequest", + "description": "Updates many cells at once." + }, + "updateSpreadsheetProperties": { + "$ref": "UpdateSpreadsheetPropertiesRequest", + "description": "Updates the spreadsheet's properties." + }, + "deleteEmbeddedObject": { + "$ref": "DeleteEmbeddedObjectRequest", + "description": "Deletes an embedded object (e.g, chart, image) in a sheet." + }, + "updateFilterView": { + "$ref": "UpdateFilterViewRequest", + "description": "Updates the properties of a filter view." + }, + "addBanding": { + "$ref": "AddBandingRequest", + "description": "Adds a new banded range" + }, + "autoResizeDimensions": { + "$ref": "AutoResizeDimensionsRequest", + "description": "Automatically resizes one or more dimensions based on the contents\nof the cells in that dimension." + }, + "appendCells": { + "$ref": "AppendCellsRequest", + "description": "Appends cells after the last row with data in a sheet." + }, + "cutPaste": { + "description": "Cuts data from one area and pastes it to another.", + "$ref": "CutPasteRequest" + }, + "mergeCells": { + "description": "Merges cells together.", + "$ref": "MergeCellsRequest" + }, + "updateNamedRange": { + "description": "Updates a named range.", + "$ref": "UpdateNamedRangeRequest" + }, + "updateSheetProperties": { + "description": "Updates a sheet's properties.", + "$ref": "UpdateSheetPropertiesRequest" + }, + "deleteDimension": { + "description": "Deletes rows or columns in a sheet.", + "$ref": "DeleteDimensionRequest" + }, + "autoFill": { + "description": "Automatically fills in more data based on existing data.", + "$ref": "AutoFillRequest" + }, + "sortRange": { + "$ref": "SortRangeRequest", + "description": "Sorts data in a range." + }, + "deleteProtectedRange": { + "description": "Deletes a protected range.", + "$ref": "DeleteProtectedRangeRequest" + }, + "duplicateFilterView": { + "$ref": "DuplicateFilterViewRequest", + "description": "Duplicates a filter view." + }, + "addChart": { + "description": "Adds a chart.", + "$ref": "AddChartRequest" + }, + "findReplace": { + "$ref": "FindReplaceRequest", + "description": "Finds and replaces occurrences of some text with other text." + }, + "updateChartSpec": { + "$ref": "UpdateChartSpecRequest", + "description": "Updates a chart's specifications." + }, + "textToColumns": { + "description": "Converts a column of text into many columns of text.", + "$ref": "TextToColumnsRequest" + }, + "addSheet": { + "description": "Adds a sheet.", + "$ref": "AddSheetRequest" + }, + "updateProtectedRange": { + "description": "Updates a protected range.", + "$ref": "UpdateProtectedRangeRequest" + }, + "deleteFilterView": { + "description": "Deletes a filter view from a sheet.", + "$ref": "DeleteFilterViewRequest" + }, + "copyPaste": { + "$ref": "CopyPasteRequest", + "description": "Copies data from one area and pastes it to another." + }, + "insertDimension": { + "$ref": "InsertDimensionRequest", + "description": "Inserts new rows or columns in a sheet." + }, + "deleteRange": { + "$ref": "DeleteRangeRequest", + "description": "Deletes a range of cells from a sheet, shifting the remaining cells." + }, + "deleteBanding": { + "description": "Removes a banded range", + "$ref": "DeleteBandingRequest" + }, + "addFilterView": { + "description": "Adds a filter view.", + "$ref": "AddFilterViewRequest" + }, + "setDataValidation": { + "$ref": "SetDataValidationRequest", + "description": "Sets data validation for one or more cells." + }, + "updateBorders": { + "$ref": "UpdateBordersRequest", + "description": "Updates the borders in a range of cells." + }, + "deleteConditionalFormatRule": { + "$ref": "DeleteConditionalFormatRuleRequest", + "description": "Deletes an existing conditional format rule." + }, + "clearBasicFilter": { + "description": "Clears the basic filter on a sheet.", + "$ref": "ClearBasicFilterRequest" + }, + "repeatCell": { + "description": "Repeats a single cell across a range.", + "$ref": "RepeatCellRequest" + }, + "appendDimension": { + "description": "Appends dimensions to the end of a sheet.", + "$ref": "AppendDimensionRequest" + }, + "createDeveloperMetadata": { + "$ref": "CreateDeveloperMetadataRequest", + "description": "Creates new developer metadata" + }, + "updateConditionalFormatRule": { + "$ref": "UpdateConditionalFormatRuleRequest", + "description": "Updates an existing conditional format rule." + }, + "insertRange": { + "description": "Inserts new cells in a sheet, shifting the existing cells.", + "$ref": "InsertRangeRequest" + }, + "moveDimension": { + "$ref": "MoveDimensionRequest", + "description": "Moves rows or columns to another location in a sheet." + }, + "deleteDeveloperMetadata": { + "description": "Deletes developer metadata", + "$ref": "DeleteDeveloperMetadataRequest" + }, + "randomizeRange": { + "description": "Randomizes the order of the rows in a range.", + "$ref": "RandomizeRangeRequest" + } + }, + "id": "Request" + }, "GridRange": { "description": "A range on a sheet.\nAll indexes are zero-based.\nIndexes are half open, e.g the start index is inclusive\nand the end index is exclusive -- [start_index, end_index).\nMissing indexes indicate the range is unbounded on that side.\n\nFor example, if `\"Sheet1\"` is sheet ID 0, then:\n\n `Sheet1!A1:A1 == sheet_id: 0,\n start_row_index: 0, end_row_index: 1,\n start_column_index: 0, end_column_index: 1`\n\n `Sheet1!A3:B4 == sheet_id: 0,\n start_row_index: 2, end_row_index: 4,\n start_column_index: 0, end_column_index: 2`\n\n `Sheet1!A:B == sheet_id: 0,\n start_column_index: 0, end_column_index: 2`\n\n `Sheet1!A5:B == sheet_id: 0,\n start_row_index: 4,\n start_column_index: 0, end_column_index: 2`\n\n `Sheet1 == sheet_id:0`\n\nThe start index must always be less than or equal to the end index.\nIf the start index equals the end index, then the range is empty.\nEmpty ranges are typically not meaningful and are usually rendered in the\nUI as `#REF!`.", "type": "object", "properties": { + "startColumnIndex": { + "format": "int32", + "description": "The start column (inclusive) of the range, or not set if unbounded.", + "type": "integer" + }, + "sheetId": { + "format": "int32", + "description": "The sheet this range is on.", + "type": "integer" + }, "endColumnIndex": { "format": "int32", "description": "The end column (exclusive) of the range, or not set if unbounded.", @@ -471,16 +2710,6 @@ "format": "int32", "description": "The start row (inclusive) of the range, or not set if unbounded.", "type": "integer" - }, - "startColumnIndex": { - "format": "int32", - "description": "The start column (inclusive) of the range, or not set if unbounded.", - "type": "integer" - }, - "sheetId": { - "format": "int32", - "description": "The sheet this range is on.", - "type": "integer" } }, "id": "GridRange" @@ -489,13 +2718,6 @@ "description": "The specification for a basic chart. See BasicChartType for the list\nof charts this supports.", "type": "object", "properties": { - "domains": { - "description": "The domain of data this is charting.\nOnly a single domain is supported.", - "items": { - "$ref": "BasicChartDomain" - }, - "type": "array" - }, "lineSmoothing": { "description": "Gets whether all lines should be rendered smooth or straight by default.\nApplies to Line charts.", "type": "boolean" @@ -506,12 +2728,6 @@ "type": "integer" }, "stackedType": { - "enum": [ - "BASIC_CHART_STACKED_TYPE_UNSPECIFIED", - "NOT_STACKED", - "STACKED", - "PERCENT_STACKED" - ], "description": "The stacked type for charts that support vertical stacking.\nApplies to Area, Bar, Column, and Stepped Area charts.", "type": "string", "enumDescriptions": [ @@ -519,12 +2735,14 @@ "Series are not stacked.", "Series values are stacked, each value is rendered vertically beginning\nfrom the top of the value below it.", "Vertical stacks are stretched to reach the top of the chart, with\nvalues laid out as percentages of each other." + ], + "enum": [ + "BASIC_CHART_STACKED_TYPE_UNSPECIFIED", + "NOT_STACKED", + "STACKED", + "PERCENT_STACKED" ] }, - "threeDimensional": { - "description": "True to make the chart 3D.\nApplies to Bar and Column charts.", - "type": "boolean" - }, "axis": { "description": "The axis on the chart.", "items": { @@ -532,11 +2750,13 @@ }, "type": "array" }, - "interpolateNulls": { - "description": "If some values in a series are missing, gaps may appear in the chart (e.g,\nsegments of lines in a line chart will be missing). To eliminate these\ngaps set this to true.\nApplies to Line, Area, and Combo charts.", + "threeDimensional": { + "description": "True to make the chart 3D.\nApplies to Bar and Column charts.", "type": "boolean" }, "chartType": { + "description": "The type of the chart.", + "type": "string", "enumDescriptions": [ "Default value, do not use.", "A \u003ca href=\"/chart/interactive/docs/gallery/barchart\"\u003ebar chart\u003c/a\u003e.", @@ -556,9 +2776,11 @@ "SCATTER", "COMBO", "STEPPED_AREA" - ], - "description": "The type of the chart.", - "type": "string" + ] + }, + "interpolateNulls": { + "description": "If some values in a series are missing, gaps may appear in the chart (e.g,\nsegments of lines in a line chart will be missing). To eliminate these\ngaps set this to true.\nApplies to Line, Area, and Combo charts.", + "type": "boolean" }, "series": { "description": "The data this chart is visualizing.", @@ -568,6 +2790,14 @@ "type": "array" }, "legendPosition": { + "enumDescriptions": [ + "Default value, do not use.", + "The legend is rendered on the bottom of the chart.", + "The legend is rendered on the left of the chart.", + "The legend is rendered on the right of the chart.", + "The legend is rendered on the top of the chart.", + "No legend is rendered." + ], "enum": [ "BASIC_CHART_LEGEND_POSITION_UNSPECIFIED", "BOTTOM_LEGEND", @@ -577,91 +2807,18 @@ "NO_LEGEND" ], "description": "The position of the chart legend.", - "type": "string", - "enumDescriptions": [ - "Default value, do not use.", - "The legend is rendered on the bottom of the chart.", - "The legend is rendered on the left of the chart.", - "The legend is rendered on the right of the chart.", - "The legend is rendered on the top of the chart.", - "No legend is rendered." - ] + "type": "string" + }, + "domains": { + "description": "The domain of data this is charting.\nOnly a single domain is supported.", + "items": { + "$ref": "BasicChartDomain" + }, + "type": "array" } }, "id": "BasicChartSpec" }, - "BubbleChartSpec": { - "properties": { - "bubbleLabels": { - "description": "The data containing the bubble labels. These do not need to be unique.", - "$ref": "ChartData" - }, - "bubbleMinRadiusSize": { - "format": "int32", - "description": "The minimum radius size of the bubbles, in pixels.\nIf specific, the field must be a positive value.", - "type": "integer" - }, - "bubbleMaxRadiusSize": { - "format": "int32", - "description": "The max radius size of the bubbles, in pixels.\nIf specified, the field must be a positive value.", - "type": "integer" - }, - "series": { - "$ref": "ChartData", - "description": "The data contianing the bubble y-values. These values locate the bubbles\nin the chart vertically." - }, - "legendPosition": { - "enumDescriptions": [ - "Default value, do not use.", - "The legend is rendered on the bottom of the chart.", - "The legend is rendered on the left of the chart.", - "The legend is rendered on the right of the chart.", - "The legend is rendered on the top of the chart.", - "No legend is rendered.", - "The legend is rendered inside the chart area." - ], - "enum": [ - "BUBBLE_CHART_LEGEND_POSITION_UNSPECIFIED", - "BOTTOM_LEGEND", - "LEFT_LEGEND", - "RIGHT_LEGEND", - "TOP_LEGEND", - "NO_LEGEND", - "INSIDE_LEGEND" - ], - "description": "Where the legend of the chart should be drawn.", - "type": "string" - }, - "bubbleOpacity": { - "format": "float", - "description": "The opacity of the bubbles between 0 and 1.0.\n0 is fully transparent and 1 is fully opaque.", - "type": "number" - }, - "bubbleSizes": { - "description": "The data contianing the bubble sizes. Bubble sizes are used to draw\nthe bubbles at different sizes relative to each other.\nIf specified, group_ids must also be specified. This field is\noptional.", - "$ref": "ChartData" - }, - "domain": { - "description": "The data containing the bubble x-values. These values locate the bubbles\nin the chart horizontally.", - "$ref": "ChartData" - }, - "bubbleBorderColor": { - "$ref": "Color", - "description": "The bubble border color." - }, - "bubbleTextStyle": { - "$ref": "TextFormat", - "description": "The format of the text inside the bubbles.\nUnderline and Strikethrough are not supported." - }, - "groupIds": { - "$ref": "ChartData", - "description": "The data containing the bubble group IDs. All bubbles with the same group\nID will be drawn in the same color. If bubble_sizes is specified then\nthis field must also be specified but may contain blank values.\nThis field is optional." - } - }, - "id": "BubbleChartSpec", - "description": "A \u003ca href=\"/chart/interactive/docs/gallery/bubblechart\"\u003ebubble chart\u003c/a\u003e.", - "type": "object" - }, "SetDataValidationRequest": { "description": "Sets a data validation rule to every cell in the range.\nTo clear validation in a range, call this with no rule specified.", "type": "object", @@ -677,26 +2834,80 @@ }, "id": "SetDataValidationRequest" }, - "CellData": { - "description": "Data about a specific cell.", - "type": "object", + "BubbleChartSpec": { "properties": { - "pivotTable": { - "description": "A pivot table anchored at this cell. The size of pivot table itself\nis computed dynamically based on its data, grouping, filters, values,\netc. Only the top-left cell of the pivot table contains the pivot table\ndefinition. The other cells will contain the calculated values of the\nresults of the pivot in their effective_value fields.", - "$ref": "PivotTable" + "bubbleMaxRadiusSize": { + "format": "int32", + "description": "The max radius size of the bubbles, in pixels.\nIf specified, the field must be a positive value.", + "type": "integer" }, - "userEnteredFormat": { - "description": "The format the user entered for the cell.\n\nWhen writing, the new format will be merged with the existing format.", - "$ref": "CellFormat" + "series": { + "description": "The data contianing the bubble y-values. These values locate the bubbles\nin the chart vertically.", + "$ref": "ChartData" }, - "effectiveFormat": { - "$ref": "CellFormat", - "description": "The effective format being used by the cell.\nThis includes the results of applying any conditional formatting and,\nif the cell contains a formula, the computed number format.\nIf the effective format is the default format, effective format will\nnot be written.\nThis field is read-only." + "legendPosition": { + "enum": [ + "BUBBLE_CHART_LEGEND_POSITION_UNSPECIFIED", + "BOTTOM_LEGEND", + "LEFT_LEGEND", + "RIGHT_LEGEND", + "TOP_LEGEND", + "NO_LEGEND", + "INSIDE_LEGEND" + ], + "description": "Where the legend of the chart should be drawn.", + "type": "string", + "enumDescriptions": [ + "Default value, do not use.", + "The legend is rendered on the bottom of the chart.", + "The legend is rendered on the left of the chart.", + "The legend is rendered on the right of the chart.", + "The legend is rendered on the top of the chart.", + "No legend is rendered.", + "The legend is rendered inside the chart area." + ] }, - "note": { - "description": "Any note on the cell.", - "type": "string" + "bubbleOpacity": { + "format": "float", + "description": "The opacity of the bubbles between 0 and 1.0.\n0 is fully transparent and 1 is fully opaque.", + "type": "number" }, + "domain": { + "description": "The data containing the bubble x-values. These values locate the bubbles\nin the chart horizontally.", + "$ref": "ChartData" + }, + "bubbleSizes": { + "description": "The data contianing the bubble sizes. Bubble sizes are used to draw\nthe bubbles at different sizes relative to each other.\nIf specified, group_ids must also be specified. This field is\noptional.", + "$ref": "ChartData" + }, + "bubbleTextStyle": { + "$ref": "TextFormat", + "description": "The format of the text inside the bubbles.\nUnderline and Strikethrough are not supported." + }, + "bubbleBorderColor": { + "$ref": "Color", + "description": "The bubble border color." + }, + "groupIds": { + "$ref": "ChartData", + "description": "The data containing the bubble group IDs. All bubbles with the same group\nID will be drawn in the same color. If bubble_sizes is specified then\nthis field must also be specified but may contain blank values.\nThis field is optional." + }, + "bubbleLabels": { + "$ref": "ChartData", + "description": "The data containing the bubble labels. These do not need to be unique." + }, + "bubbleMinRadiusSize": { + "format": "int32", + "description": "The minimum radius size of the bubbles, in pixels.\nIf specific, the field must be a positive value.", + "type": "integer" + } + }, + "id": "BubbleChartSpec", + "description": "A \u003ca href=\"/chart/interactive/docs/gallery/bubblechart\"\u003ebubble chart\u003c/a\u003e.", + "type": "object" + }, + "CellData": { + "properties": { "dataValidation": { "$ref": "DataValidationRule", "description": "A data validation rule on the cell, if any.\n\nWhen writing, the new data validation rule will overwrite any prior rule." @@ -706,12 +2917,8 @@ "description": "The value the user entered in the cell. e.g, `1234`, `'Hello'`, or `=NOW()`\nNote: Dates, Times and DateTimes are represented as doubles in\nserial number format." }, "effectiveValue": { - "$ref": "ExtendedValue", - "description": "The effective value of the cell. For cells with formulas, this will be\nthe calculated value. For cells with literals, this will be\nthe same as the user_entered_value.\nThis field is read-only." - }, - "formattedValue": { - "description": "The formatted value of the cell.\nThis is the value as it's shown to the user.\nThis field is read-only.", - "type": "string" + "description": "The effective value of the cell. For cells with formulas, this will be\nthe calculated value. For cells with literals, this will be\nthe same as the user_entered_value.\nThis field is read-only.", + "$ref": "ExtendedValue" }, "textFormatRuns": { "description": "Runs of rich text applied to subsections of the cell. Runs are only valid\non user entered strings, not formulas, bools, or numbers.\nRuns start at specific indexes in the text and continue until the next\nrun. Properties of a run will continue unless explicitly changed\nin a subsequent run (and properties of the first run will continue\nthe properties of the cell unless explicitly changed).\n\nWhen writing, the new runs will overwrite any prior runs. When writing a\nnew user_entered_value, previous runs will be erased.", @@ -720,24 +2927,95 @@ }, "type": "array" }, + "formattedValue": { + "description": "The formatted value of the cell.\nThis is the value as it's shown to the user.\nThis field is read-only.", + "type": "string" + }, "hyperlink": { "description": "A hyperlink this cell points to, if any.\nThis field is read-only. (To set it, use a `=HYPERLINK` formula\nin the userEnteredValue.formulaValue\nfield.)", "type": "string" + }, + "pivotTable": { + "$ref": "PivotTable", + "description": "A pivot table anchored at this cell. The size of pivot table itself\nis computed dynamically based on its data, grouping, filters, values,\netc. Only the top-left cell of the pivot table contains the pivot table\ndefinition. The other cells will contain the calculated values of the\nresults of the pivot in their effective_value fields." + }, + "userEnteredFormat": { + "description": "The format the user entered for the cell.\n\nWhen writing, the new format will be merged with the existing format.", + "$ref": "CellFormat" + }, + "note": { + "description": "Any note on the cell.", + "type": "string" + }, + "effectiveFormat": { + "description": "The effective format being used by the cell.\nThis includes the results of applying any conditional formatting and,\nif the cell contains a formula, the computed number format.\nIf the effective format is the default format, effective format will\nnot be written.\nThis field is read-only.", + "$ref": "CellFormat" } }, - "id": "CellData" + "id": "CellData", + "description": "Data about a specific cell.", + "type": "object" }, - "BatchUpdateSpreadsheetRequest": { - "description": "The request for updating any aspect of a spreadsheet.", + "BatchUpdateValuesByDataFilterRequest": { + "description": "The request for updating more than one range of values in a spreadsheet.", "type": "object", "properties": { - "requests": { - "description": "A list of updates to apply to the spreadsheet.\nRequests will be applied in the order they are specified.\nIf any request is not valid, no requests will be applied.", + "responseValueRenderOption": { + "description": "Determines how values in the response should be rendered.\nThe default render option is ValueRenderOption.FORMATTED_VALUE.", + "type": "string", + "enumDescriptions": [ + "Values will be calculated & formatted in the reply according to the\ncell's formatting. Formatting is based on the spreadsheet's locale,\nnot the requesting user's locale.\nFor example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency,\nthen `A2` would return `\"$1.23\"`.", + "Values will be calculated, but not formatted in the reply.\nFor example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency,\nthen `A2` would return the number `1.23`.", + "Values will not be calculated. The reply will include the formulas.\nFor example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency,\nthen A2 would return `\"=A1\"`." + ], + "enum": [ + "FORMATTED_VALUE", + "UNFORMATTED_VALUE", + "FORMULA" + ] + }, + "includeValuesInResponse": { + "description": "Determines if the update response should include the values\nof the cells that were updated. By default, responses\ndo not include the updated values. The `updatedData` field within\neach of the BatchUpdateValuesResponse.responses will contain\nthe updated values. If the range to write was larger than than the range\nactually written, the response will include all values in the requested\nrange (excluding trailing empty rows and columns).", + "type": "boolean" + }, + "data": { + "description": "The new values to apply to the spreadsheet. If more than one range is\nmatched by the specified DataFilter the specified values will be\napplied to all of of those ranges.", "items": { - "$ref": "Request" + "$ref": "DataFilterValueRange" }, "type": "array" }, + "valueInputOption": { + "enumDescriptions": [ + "Default input value. This value must not be used.", + "The values the user has entered will not be parsed and will be stored\nas-is.", + "The values will be parsed as if the user typed them into the UI.\nNumbers will stay as numbers, but strings may be converted to numbers,\ndates, etc. following the same rules that are applied when entering\ntext into a cell via the Google Sheets UI." + ], + "enum": [ + "INPUT_VALUE_OPTION_UNSPECIFIED", + "RAW", + "USER_ENTERED" + ], + "description": "How the input data should be interpreted.", + "type": "string" + }, + "responseDateTimeRenderOption": { + "description": "Determines how dates, times, and durations in the response should be\nrendered. This is ignored if response_value_render_option is\nFORMATTED_VALUE.\nThe default dateTime render option is\nDateTimeRenderOption.SERIAL_NUMBER.", + "type": "string", + "enumDescriptions": [ + "Instructs date, time, datetime, and duration fields to be output\nas doubles in \"serial number\" format, as popularized by Lotus 1-2-3.\nThe whole number portion of the value (left of the decimal) counts\nthe days since December 30th 1899. The fractional portion (right of\nthe decimal) counts the time as a fraction of the day. For example,\nJanuary 1st 1900 at noon would be 2.5, 2 because it's 2 days after\nDecember 30st 1899, and .5 because noon is half a day. February 1st\n1900 at 3pm would be 33.625. This correctly treats the year 1900 as\nnot a leap year.", + "Instructs date, time, datetime, and duration fields to be output\nas strings in their given number format (which is dependent\non the spreadsheet locale)." + ], + "enum": [ + "SERIAL_NUMBER", + "FORMATTED_STRING" + ] + } + }, + "id": "BatchUpdateValuesByDataFilterRequest" + }, + "BatchUpdateSpreadsheetRequest": { + "properties": { "responseIncludeGridData": { "description": "True if grid data should be returned. Meaningful only if\nif include_spreadsheet_response is 'true'.\nThis parameter is ignored if a field mask was set in the request.", "type": "boolean" @@ -752,29 +3030,28 @@ "includeSpreadsheetInResponse": { "description": "Determines if the update response should include the spreadsheet\nresource.", "type": "boolean" + }, + "requests": { + "description": "A list of updates to apply to the spreadsheet.\nRequests will be applied in the order they are specified.\nIf any request is not valid, no requests will be applied.", + "items": { + "$ref": "Request" + }, + "type": "array" } }, - "id": "BatchUpdateSpreadsheetRequest" + "id": "BatchUpdateSpreadsheetRequest", + "description": "The request for updating any aspect of a spreadsheet.", + "type": "object" }, "BasicChartAxis": { "description": "An axis of the chart.\nA chart may not have more than one axis per\naxis position.", "type": "object", "properties": { - "format": { - "$ref": "TextFormat", - "description": "The format of the title.\nOnly valid if the axis is not associated with the domain." - }, "title": { "description": "The title of this axis. If set, this overrides any title inferred\nfrom headers of the data.", "type": "string" }, "position": { - "enumDescriptions": [ - "Default value, do not use.", - "The axis rendered at the bottom of a chart.\nFor most charts, this is the standard major axis.\nFor bar charts, this is a minor axis.", - "The axis rendered at the left of a chart.\nFor most charts, this is a minor axis.\nFor bar charts, this is the standard major axis.", - "The axis rendered at the right of a chart.\nFor most charts, this is a minor axis.\nFor bar charts, this is an unusual major axis." - ], "enum": [ "BASIC_CHART_AXIS_POSITION_UNSPECIFIED", "BOTTOM_AXIS", @@ -782,7 +3059,17 @@ "RIGHT_AXIS" ], "description": "The position of this axis.", - "type": "string" + "type": "string", + "enumDescriptions": [ + "Default value, do not use.", + "The axis rendered at the bottom of a chart.\nFor most charts, this is the standard major axis.\nFor bar charts, this is a minor axis.", + "The axis rendered at the left of a chart.\nFor most charts, this is a minor axis.\nFor bar charts, this is the standard major axis.", + "The axis rendered at the right of a chart.\nFor most charts, this is a minor axis.\nFor bar charts, this is an unusual major axis." + ] + }, + "format": { + "description": "The format of the title.\nOnly valid if the axis is not associated with the domain.", + "$ref": "TextFormat" } }, "id": "BasicChartAxis" @@ -791,16 +3078,6 @@ "description": "The amount of padding around the cell, in pixels.\nWhen updating padding, every field must be specified.", "type": "object", "properties": { - "top": { - "format": "int32", - "description": "The top padding of the cell.", - "type": "integer" - }, - "left": { - "format": "int32", - "description": "The left padding of the cell.", - "type": "integer" - }, "right": { "format": "int32", "description": "The right padding of the cell.", @@ -810,20 +3087,30 @@ "format": "int32", "description": "The bottom padding of the cell.", "type": "integer" + }, + "top": { + "format": "int32", + "description": "The top padding of the cell.", + "type": "integer" + }, + "left": { + "format": "int32", + "description": "The left padding of the cell.", + "type": "integer" } }, "id": "Padding" }, "DeleteDimensionRequest": { + "description": "Deletes the dimensions from the sheet.", + "type": "object", "properties": { "range": { "description": "The dimensions to delete from the sheet.", "$ref": "DimensionRange" } }, - "id": "DeleteDimensionRequest", - "description": "Deletes the dimensions from the sheet.", - "type": "object" + "id": "DeleteDimensionRequest" }, "UpdateChartSpecRequest": { "description": "Updates a chart's specifications.\n(This does not move or resize a chart. To move or resize a chart, use\n UpdateEmbeddedObjectPositionRequest.)", @@ -835,8 +3122,8 @@ "type": "integer" }, "spec": { - "description": "The specification to apply to the chart.", - "$ref": "ChartSpec" + "$ref": "ChartSpec", + "description": "The specification to apply to the chart." } }, "id": "UpdateChartSpecRequest" @@ -853,15 +3140,76 @@ }, "id": "DeleteFilterViewRequest" }, - "BatchUpdateValuesResponse": { - "description": "The response when updating a range of values in a spreadsheet.", + "BatchGetValuesByDataFilterRequest": { + "description": "The request for retrieving a range of values in a spreadsheet selected by a\nset of DataFilters.", "type": "object", "properties": { - "totalUpdatedRows": { - "format": "int32", - "description": "The total number of rows where at least one cell in the row was updated.", - "type": "integer" + "dataFilters": { + "description": "The data filters used to match the ranges of values to retrieve. Ranges\nthat match any of the specified data filters will be included in the\nresponse.", + "items": { + "$ref": "DataFilter" + }, + "type": "array" }, + "dateTimeRenderOption": { + "enumDescriptions": [ + "Instructs date, time, datetime, and duration fields to be output\nas doubles in \"serial number\" format, as popularized by Lotus 1-2-3.\nThe whole number portion of the value (left of the decimal) counts\nthe days since December 30th 1899. The fractional portion (right of\nthe decimal) counts the time as a fraction of the day. For example,\nJanuary 1st 1900 at noon would be 2.5, 2 because it's 2 days after\nDecember 30st 1899, and .5 because noon is half a day. February 1st\n1900 at 3pm would be 33.625. This correctly treats the year 1900 as\nnot a leap year.", + "Instructs date, time, datetime, and duration fields to be output\nas strings in their given number format (which is dependent\non the spreadsheet locale)." + ], + "enum": [ + "SERIAL_NUMBER", + "FORMATTED_STRING" + ], + "description": "How dates, times, and durations should be represented in the output.\nThis is ignored if value_render_option is\nFORMATTED_VALUE.\nThe default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].", + "type": "string" + }, + "valueRenderOption": { + "enumDescriptions": [ + "Values will be calculated & formatted in the reply according to the\ncell's formatting. Formatting is based on the spreadsheet's locale,\nnot the requesting user's locale.\nFor example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency,\nthen `A2` would return `\"$1.23\"`.", + "Values will be calculated, but not formatted in the reply.\nFor example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency,\nthen `A2` would return the number `1.23`.", + "Values will not be calculated. The reply will include the formulas.\nFor example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency,\nthen A2 would return `\"=A1\"`." + ], + "enum": [ + "FORMATTED_VALUE", + "UNFORMATTED_VALUE", + "FORMULA" + ], + "description": "How values should be represented in the output.\nThe default render option is ValueRenderOption.FORMATTED_VALUE.", + "type": "string" + }, + "majorDimension": { + "description": "The major dimension that results should use.\n\nFor example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`,\nthen a request that selects that range and sets `majorDimension=ROWS` will\nreturn `[[1,2],[3,4]]`,\nwhereas a request that sets `majorDimension=COLUMNS` will return\n`[[1,3],[2,4]]`.", + "type": "string", + "enumDescriptions": [ + "The default value, do not use.", + "Operates on the rows of a sheet.", + "Operates on the columns of a sheet." + ], + "enum": [ + "DIMENSION_UNSPECIFIED", + "ROWS", + "COLUMNS" + ] + } + }, + "id": "BatchGetValuesByDataFilterRequest" + }, + "DeleteDeveloperMetadataResponse": { + "properties": { + "deletedDeveloperMetadata": { + "description": "The metadata that was deleted.", + "items": { + "$ref": "DeveloperMetadata" + }, + "type": "array" + } + }, + "id": "DeleteDeveloperMetadataResponse", + "description": "The response from deleting developer metadata.", + "type": "object" + }, + "BatchUpdateValuesResponse": { + "properties": { "responses": { "description": "One UpdateValuesResponse per requested range, in the same order as\nthe requests appeared.", "items": { @@ -887,34 +3235,37 @@ "spreadsheetId": { "description": "The spreadsheet the updates were applied to.", "type": "string" + }, + "totalUpdatedRows": { + "format": "int32", + "description": "The total number of rows where at least one cell in the row was updated.", + "type": "integer" } }, - "id": "BatchUpdateValuesResponse" + "id": "BatchUpdateValuesResponse", + "description": "The response when updating a range of values in a spreadsheet.", + "type": "object" }, "SortRangeRequest": { + "description": "Sorts data in rows based on a sort order per column.", + "type": "object", "properties": { + "range": { + "description": "The range to sort.", + "$ref": "GridRange" + }, "sortSpecs": { "description": "The sort order per column. Later specifications are used when values\nare equal in the earlier specifications.", "items": { "$ref": "SortSpec" }, "type": "array" - }, - "range": { - "$ref": "GridRange", - "description": "The range to sort." } }, - "id": "SortRangeRequest", - "description": "Sorts data in rows based on a sort order per column.", - "type": "object" + "id": "SortRangeRequest" }, "MergeCellsRequest": { "properties": { - "range": { - "description": "The range of cells to merge.", - "$ref": "GridRange" - }, "mergeType": { "enumDescriptions": [ "Create a single merge from the range", @@ -928,12 +3279,34 @@ ], "description": "How the cells should be merged.", "type": "string" + }, + "range": { + "$ref": "GridRange", + "description": "The range of cells to merge." } }, "id": "MergeCellsRequest", "description": "Merges all cells in the range.", "type": "object" }, + "MatchedDeveloperMetadata": { + "description": "A developer metadata entry and the data filters specified in the original\nrequest that matched it.", + "type": "object", + "properties": { + "dataFilters": { + "description": "All filters matching the returned developer metadata.", + "items": { + "$ref": "DataFilter" + }, + "type": "array" + }, + "developerMetadata": { + "description": "The developer metadata matching the specified filters.", + "$ref": "DeveloperMetadata" + } + }, + "id": "MatchedDeveloperMetadata" + }, "AddProtectedRangeRequest": { "description": "Adds a new protected range.", "type": "object", @@ -946,8 +3319,6 @@ "id": "AddProtectedRangeRequest" }, "BatchClearValuesRequest": { - "description": "The request for clearing more than one range of values in a spreadsheet.", - "type": "object", "properties": { "ranges": { "description": "The ranges to clear, in A1 notation.", @@ -957,49 +3328,81 @@ "type": "array" } }, - "id": "BatchClearValuesRequest" + "id": "BatchClearValuesRequest", + "description": "The request for clearing more than one range of values in a spreadsheet.", + "type": "object" }, "DuplicateFilterViewResponse": { - "description": "The result of a filter view being duplicated.", - "type": "object", "properties": { "filter": { - "description": "The newly created filter.", - "$ref": "FilterView" + "$ref": "FilterView", + "description": "The newly created filter." } }, - "id": "DuplicateFilterViewResponse" + "id": "DuplicateFilterViewResponse", + "description": "The result of a filter view being duplicated.", + "type": "object" + }, + "DeveloperMetadata": { + "properties": { + "metadataKey": { + "description": "The metadata key. There may be multiple metadata in a spreadsheet with the\nsame key. Developer metadata must always have a key specified.", + "type": "string" + }, + "visibility": { + "enumDescriptions": [ + "Default value.", + "Document-visible metadata is accessible from any developer project with\naccess to the document.", + "Project-visible metadata is only visible to and accessible by the developer\nproject that created the metadata." + ], + "enum": [ + "DEVELOPER_METADATA_VISIBILITY_UNSPECIFIED", + "DOCUMENT", + "PROJECT" + ], + "description": "The metadata visibility. Developer metadata must always have a visibility\nspecified.", + "type": "string" + }, + "location": { + "$ref": "DeveloperMetadataLocation", + "description": "The location where the metadata is associated." + }, + "metadataId": { + "format": "int32", + "description": "The spreadsheet-scoped unique ID that identifies the metadata. IDs may be\nspecified when metadata is created, otherwise one will be randomly\ngenerated and assigned. Must be positive.", + "type": "integer" + }, + "metadataValue": { + "description": "Data associated with the metadata's key.", + "type": "string" + } + }, + "id": "DeveloperMetadata", + "description": "Developer metadata associated with a location or object in a spreadsheet.\nDeveloper metadata may be used to associate arbitrary data with various\nparts of a spreadsheet and will remain associated at those locations as they\nmove around and the spreadsheet is edited. For example, if developer\nmetadata is associated with row 5 and another row is then subsequently\ninserted above row 5, that original metadata will still be associated with\nthe row it was first associated with (what is now row 6). If the associated\nobject is deleted its metadata will be deleted too.", + "type": "object" }, "DuplicateSheetResponse": { "description": "The result of duplicating a sheet.", "type": "object", "properties": { "properties": { - "description": "The properties of the duplicate sheet.", - "$ref": "SheetProperties" + "$ref": "SheetProperties", + "description": "The properties of the duplicate sheet." } }, "id": "DuplicateSheetResponse" }, - "ClearBasicFilterRequest": { - "description": "Clears the basic filter, if any exists on the sheet.", - "type": "object", - "properties": { - "sheetId": { - "format": "int32", - "description": "The sheet ID on which the basic filter should be cleared.", - "type": "integer" - } - }, - "id": "ClearBasicFilterRequest" - }, "TextToColumnsRequest": { + "description": "Splits a column of text into multiple columns,\nbased on a delimiter in each cell.", + "type": "object", "properties": { "delimiter": { "description": "The delimiter to use. Used only if delimiterType is\nCUSTOM.", "type": "string" }, "delimiterType": { + "description": "The delimiter type to use.", + "type": "string", "enumDescriptions": [ "Default value. This value must not be used.", "\",\"", @@ -1015,30 +3418,26 @@ "PERIOD", "SPACE", "CUSTOM" - ], - "description": "The delimiter type to use.", - "type": "string" + ] }, "source": { "description": "The source data range. This must span exactly one column.", "$ref": "GridRange" } }, - "id": "TextToColumnsRequest", - "description": "Splits a column of text into multiple columns,\nbased on a delimiter in each cell.", - "type": "object" + "id": "TextToColumnsRequest" }, - "DeleteBandingRequest": { + "ClearBasicFilterRequest": { + "description": "Clears the basic filter, if any exists on the sheet.", + "type": "object", "properties": { - "bandedRangeId": { + "sheetId": { "format": "int32", - "description": "The ID of the banded range to delete.", + "description": "The sheet ID on which the basic filter should be cleared.", "type": "integer" } }, - "id": "DeleteBandingRequest", - "description": "Removes the banded range with the given ID from the spreadsheet.", - "type": "object" + "id": "ClearBasicFilterRequest" }, "BatchUpdateSpreadsheetResponse": { "description": "The reply for batch updating a spreadsheet.", @@ -1062,13 +3461,25 @@ }, "id": "BatchUpdateSpreadsheetResponse" }, + "DeleteBandingRequest": { + "properties": { + "bandedRangeId": { + "format": "int32", + "description": "The ID of the banded range to delete.", + "type": "integer" + } + }, + "id": "DeleteBandingRequest", + "description": "Removes the banded range with the given ID from the spreadsheet.", + "type": "object" + }, "AppendValuesResponse": { "description": "The response when updating a range of values in a spreadsheet.", "type": "object", "properties": { "updates": { - "$ref": "UpdateValuesResponse", - "description": "Information about the updates that were applied." + "description": "Information about the updates that were applied.", + "$ref": "UpdateValuesResponse" }, "tableRange": { "description": "The range (in A1 notation) of the table that values are being appended to\n(before the values were appended).\nEmpty if no table was found.", @@ -1081,6 +3492,22 @@ }, "id": "AppendValuesResponse" }, + "MoveDimensionRequest": { + "description": "Moves one or more rows or columns.", + "type": "object", + "properties": { + "destinationIndex": { + "format": "int32", + "description": "The zero-based start index of where to move the source data to,\nbased on the coordinates *before* the source data is removed\nfrom the grid. Existing data will be shifted down or right\n(depending on the dimension) to make room for the moved dimensions.\nThe source dimensions are removed from the grid, so the\nthe data may end up in a different index than specified.\n\nFor example, given `A1..A5` of `0, 1, 2, 3, 4` and wanting to move\n`\"1\"` and `\"2\"` to between `\"3\"` and `\"4\"`, the source would be\n`ROWS [1..3)`,and the destination index would be `\"4\"`\n(the zero-based index of row 5).\nThe end result would be `A1..A5` of `0, 3, 1, 2, 4`.", + "type": "integer" + }, + "source": { + "$ref": "DimensionRange", + "description": "The source dimensions to move." + } + }, + "id": "MoveDimensionRequest" + }, "AddFilterViewRequest": { "description": "Adds a filter view.", "type": "object", @@ -1093,8 +3520,6 @@ "id": "AddFilterViewRequest" }, "PivotFilterCriteria": { - "description": "Criteria for showing/hiding rows in a pivot table.", - "type": "object", "properties": { "visibleValues": { "description": "Values that should be included. Values not listed here are excluded.", @@ -1104,44 +3529,95 @@ "type": "array" } }, - "id": "PivotFilterCriteria" - }, - "MoveDimensionRequest": { - "description": "Moves one or more rows or columns.", - "type": "object", - "properties": { - "destinationIndex": { - "format": "int32", - "description": "The zero-based start index of where to move the source data to,\nbased on the coordinates *before* the source data is removed\nfrom the grid. Existing data will be shifted down or right\n(depending on the dimension) to make room for the moved dimensions.\nThe source dimensions are removed from the grid, so the\nthe data may end up in a different index than specified.\n\nFor example, given `A1..A5` of `0, 1, 2, 3, 4` and wanting to move\n`\"1\"` and `\"2\"` to between `\"3\"` and `\"4\"`, the source would be\n`ROWS [1..3)`,and the destination index would be `\"4\"`\n(the zero-based index of row 5).\nThe end result would be `A1..A5` of `0, 3, 1, 2, 4`.", - "type": "integer" - }, - "source": { - "description": "The source dimensions to move.", - "$ref": "DimensionRange" - } - }, - "id": "MoveDimensionRequest" + "id": "PivotFilterCriteria", + "description": "Criteria for showing/hiding rows in a pivot table.", + "type": "object" }, "AddConditionalFormatRuleRequest": { "description": "Adds a new conditional format rule at the given index.\nAll subsequent rules' indexes are incremented.", "type": "object", "properties": { + "rule": { + "$ref": "ConditionalFormatRule", + "description": "The rule to add." + }, "index": { "format": "int32", "description": "The zero-based index where the rule should be inserted.", "type": "integer" - }, - "rule": { - "description": "The rule to add.", - "$ref": "ConditionalFormatRule" } }, "id": "AddConditionalFormatRuleRequest" }, + "CreateDeveloperMetadataRequest": { + "description": "A request to create developer metadata.", + "type": "object", + "properties": { + "developerMetadata": { + "$ref": "DeveloperMetadata", + "description": "The developer metadata to create." + } + }, + "id": "CreateDeveloperMetadataRequest" + }, "ChartSpec": { "description": "The specifications of a chart.", "type": "object", "properties": { + "altText": { + "description": "The alternative text that describes the chart. This is often used\nfor accessibility.", + "type": "string" + }, + "histogramChart": { + "$ref": "HistogramChartSpec", + "description": "A histogram chart specification." + }, + "candlestickChart": { + "$ref": "CandlestickChartSpec", + "description": "A candlestick chart specification." + }, + "bubbleChart": { + "$ref": "BubbleChartSpec", + "description": "A bubble chart specification." + }, + "fontName": { + "description": "The name of the font to use by default for all chart text (e.g. title,\naxis labels, legend). If a font is specified for a specific part of the\nchart it will override this font name.", + "type": "string" + }, + "maximized": { + "description": "True to make a chart fill the entire space in which it's rendered with\nminimum padding. False to use the default padding.\n(Not applicable to Geo and Org charts.)", + "type": "boolean" + }, + "hiddenDimensionStrategy": { + "enum": [ + "CHART_HIDDEN_DIMENSION_STRATEGY_UNSPECIFIED", + "SKIP_HIDDEN_ROWS_AND_COLUMNS", + "SKIP_HIDDEN_ROWS", + "SKIP_HIDDEN_COLUMNS", + "SHOW_ALL" + ], + "description": "Determines how the charts will use hidden rows or columns.", + "type": "string", + "enumDescriptions": [ + "Default value, do not use.", + "Charts will skip hidden rows and columns.", + "Charts will skip hidden rows only.", + "Charts will skip hidden columns only.", + "Charts will not skip any hidden rows or columns." + ] + }, + "backgroundColor": { + "description": "The background color of the entire chart.\nNot applicable to Org charts.", + "$ref": "Color" + }, + "basicChart": { + "description": "A basic chart specification, can be one of many kinds of charts.\nSee BasicChartType for the list of all\ncharts this supports.", + "$ref": "BasicChartSpec" + }, + "orgChart": { + "$ref": "OrgChartSpec", + "description": "An org chart specification." + }, "pieChart": { "description": "A pie chart specification.", "$ref": "PieChartSpec" @@ -1153,71 +3629,31 @@ "title": { "description": "The title of the chart.", "type": "string" - }, - "histogramChart": { - "description": "A histogram chart specification.", - "$ref": "HistogramChartSpec" - }, - "candlestickChart": { - "description": "A candlestick chart specification.", - "$ref": "CandlestickChartSpec" - }, - "bubbleChart": { - "description": "A bubble chart specification.", - "$ref": "BubbleChartSpec" - }, - "fontName": { - "description": "The name of the font to use by default for all chart text (e.g. title,\naxis labels, legend). If a font is specified for a specific part of the\nchart it will override this font name.", - "type": "string" - }, - "maximized": { - "description": "True to make a chart fill the entire space in which it's rendered with\nminimum padding. False to use the default padding.\n(Not applicable to Geo and Org charts.)", - "type": "boolean" - }, - "hiddenDimensionStrategy": { - "enumDescriptions": [ - "Default value, do not use.", - "Charts will skip hidden rows and columns.", - "Charts will skip hidden rows only.", - "Charts will skip hidden columns only.", - "Charts will not skip any hidden rows or columns." - ], - "enum": [ - "CHART_HIDDEN_DIMENSION_STRATEGY_UNSPECIFIED", - "SKIP_HIDDEN_ROWS_AND_COLUMNS", - "SKIP_HIDDEN_ROWS", - "SKIP_HIDDEN_COLUMNS", - "SHOW_ALL" - ], - "description": "Determines how the charts will use hidden rows or columns.", - "type": "string" - }, - "backgroundColor": { - "$ref": "Color", - "description": "The background color of the entire chart.\nNot applicable to Org charts." - }, - "basicChart": { - "$ref": "BasicChartSpec", - "description": "A basic chart specification, can be one of many kinds of charts.\nSee BasicChartType for the list of all\ncharts this supports." - }, - "orgChart": { - "$ref": "OrgChartSpec", - "description": "An org chart specification." } }, "id": "ChartSpec" }, - "NumberFormat": { - "description": "The number format of a cell.", + "BatchGetValuesByDataFilterResponse": { + "description": "The response when retrieving more than one range of values in a spreadsheet\nselected by DataFilters.", "type": "object", "properties": { - "pattern": { - "description": "Pattern string used for formatting. If not set, a default pattern based on\nthe user's locale will be used if necessary for the given type.\nSee the [Date and Number Formats guide](/sheets/api/guides/formats) for more\ninformation about the supported patterns.", - "type": "string" + "valueRanges": { + "description": "The requested values with the list of data filters that matched them.", + "items": { + "$ref": "MatchedValueRange" + }, + "type": "array" }, + "spreadsheetId": { + "description": "The ID of the spreadsheet the data was retrieved from.", + "type": "string" + } + }, + "id": "BatchGetValuesByDataFilterResponse" + }, + "NumberFormat": { + "properties": { "type": { - "description": "The type of the number format.\nWhen writing, this field must be set.", - "type": "string", "enumDescriptions": [ "The number format is not specified\nand is based on the contents of the cell.\nDo not explicitly use this.", "Text formatting, e.g `1000.12`", @@ -1239,10 +3675,53 @@ "TIME", "DATE_TIME", "SCIENTIFIC" - ] + ], + "description": "The type of the number format.\nWhen writing, this field must be set.", + "type": "string" + }, + "pattern": { + "description": "Pattern string used for formatting. If not set, a default pattern based on\nthe user's locale will be used if necessary for the given type.\nSee the [Date and Number Formats guide](/sheets/api/guides/formats) for more\ninformation about the supported patterns.", + "type": "string" } }, - "id": "NumberFormat" + "id": "NumberFormat", + "description": "The number format of a cell.", + "type": "object" + }, + "DataFilterValueRange": { + "description": "A range of values whose location is specified by a DataFilter.", + "type": "object", + "properties": { + "dataFilter": { + "$ref": "DataFilter", + "description": "The data filter describing the location of the values in the spreadsheet." + }, + "values": { + "description": "The data to be written. If the provided values exceed any of the ranges\nmatched by the data filter then the request will fail. If the provided\nvalues are less than the matched ranges only the specified values will be\nwritten, existing values in the matched ranges will remain unaffected.", + "items": { + "items": { + "type": "any" + }, + "type": "array" + }, + "type": "array" + }, + "majorDimension": { + "enumDescriptions": [ + "The default value, do not use.", + "Operates on the rows of a sheet.", + "Operates on the columns of a sheet." + ], + "enum": [ + "DIMENSION_UNSPECIFIED", + "ROWS", + "COLUMNS" + ], + "description": "The major dimension of the values.", + "type": "string" + } + }, + "id": "DataFilterValueRange" }, "CandlestickDomain": { "description": "The domain of a CandlestickChart.", @@ -1251,6 +3730,10 @@ "data": { "$ref": "ChartData", "description": "The data of the CandlestickDomain." + }, + "reversed": { + "description": "True to reverse the order of the domain values (horizontal axis).", + "type": "boolean" } }, "id": "CandlestickDomain" @@ -1261,15 +3744,15 @@ "description": "The name of the sheet.", "type": "string" }, + "tabColor": { + "description": "The color of the tab in the UI.", + "$ref": "Color" + }, "index": { "format": "int32", "description": "The index of the sheet within the spreadsheet.\nWhen adding or updating sheet properties, if this field\nis excluded then the sheet will be added or moved to the end\nof the sheet list. When updating sheet indices or inserting\nsheets, movement is considered in \"before the move\" indexes.\nFor example, if there were 3 sheets (S1, S2, S3) in order to\nmove S1 ahead of S2 the index would have to be set to 2. A sheet\nindex update request will be ignored if the requested index is\nidentical to the sheets current index or if the requested new\nindex is equal to the current sheet index + 1.", "type": "integer" }, - "tabColor": { - "$ref": "Color", - "description": "The color of the tab in the UI." - }, "sheetId": { "format": "int32", "description": "The ID of the sheet. Must be non-negative.\nThis field cannot be changed once set.", @@ -1288,8 +3771,6 @@ "$ref": "GridProperties" }, "sheetType": { - "description": "The type of sheet. Defaults to GRID.\nThis field cannot be changed once set.", - "type": "string", "enumDescriptions": [ "Default value, do not use.", "The sheet is a grid.", @@ -1299,7 +3780,9 @@ "SHEET_TYPE_UNSPECIFIED", "GRID", "OBJECT" - ] + ], + "description": "The type of sheet. Defaults to GRID.\nThis field cannot be changed once set.", + "type": "string" } }, "id": "SheetProperties", @@ -1310,6 +3793,10 @@ "description": "Updates properties of dimensions within the specified range.", "type": "object", "properties": { + "properties": { + "$ref": "DimensionProperties", + "description": "Properties to update." + }, "range": { "$ref": "DimensionRange", "description": "The rows or columns to update." @@ -1318,10 +3805,6 @@ "format": "google-fieldmask", "description": "The fields that should be updated. At least one field must be specified.\nThe root `properties` is implied and should not be specified.\nA single `\"*\"` can be used as short-hand for listing every field.", "type": "string" - }, - "properties": { - "$ref": "DimensionProperties", - "description": "Properties to update." } }, "id": "UpdateDimensionPropertiesRequest" @@ -1336,8 +3819,8 @@ "type": "integer" }, "source": { - "$ref": "GridRange", - "description": "The location of the data to use as the source of the autofill." + "description": "The location of the data to use as the source of the autofill.", + "$ref": "GridRange" }, "dimension": { "enumDescriptions": [ @@ -1360,19 +3843,17 @@ "description": "An \u003ca href=\"/chart/interactive/docs/gallery/orgchart\"\u003eorg chart\u003c/a\u003e.\nOrg charts require a unique set of labels in labels and may\noptionally include parent_labels and tooltips.\nparent_labels contain, for each node, the label identifying the parent\nnode. tooltips contain, for each node, an optional tooltip.\n\nFor example, to describe an OrgChart with Alice as the CEO, Bob as the\nPresident (reporting to Alice) and Cathy as VP of Sales (also reporting to\nAlice), have labels contain \"Alice\", \"Bob\", \"Cathy\",\nparent_labels contain \"\", \"Alice\", \"Alice\" and tooltips contain\n\"CEO\", \"President\", \"VP Sales\".", "type": "object", "properties": { - "tooltips": { - "$ref": "ChartData", - "description": "The data containing the tooltip for the corresponding node. A blank value\nresults in no tooltip being displayed for the node.\nThis field is optional." - }, - "selectedNodeColor": { - "$ref": "Color", - "description": "The color of the selected org chart nodes." - }, "parentLabels": { - "description": "The data containing the label of the parent for the corresponding node.\nA blank value indicates that the node has no parent and is a top-level\nnode.\nThis field is optional.", - "$ref": "ChartData" + "$ref": "ChartData", + "description": "The data containing the label of the parent for the corresponding node.\nA blank value indicates that the node has no parent and is a top-level\nnode.\nThis field is optional." }, "nodeSize": { + "enum": [ + "ORG_CHART_LABEL_SIZE_UNSPECIFIED", + "SMALL", + "MEDIUM", + "LARGE" + ], "description": "The size of the org chart nodes.", "type": "string", "enumDescriptions": [ @@ -1380,12 +3861,6 @@ "The small org chart node size.", "The medium org chart node size.", "The large org chart node size." - ], - "enum": [ - "ORG_CHART_LABEL_SIZE_UNSPECIFIED", - "SMALL", - "MEDIUM", - "LARGE" ] }, "labels": { @@ -1395,6 +3870,14 @@ "nodeColor": { "description": "The color of the org chart nodes.", "$ref": "Color" + }, + "tooltips": { + "description": "The data containing the tooltip for the corresponding node. A blank value\nresults in no tooltip being displayed for the node.\nThis field is optional.", + "$ref": "ChartData" + }, + "selectedNodeColor": { + "description": "The color of the selected org chart nodes.", + "$ref": "Color" } }, "id": "OrgChartSpec" @@ -1413,19 +3896,19 @@ "type": "integer" }, "criteria": { - "description": "The criteria for showing/hiding values per column.\nThe map's key is the column index, and the value is the criteria for\nthat column.", - "type": "object", "additionalProperties": { "$ref": "FilterCriteria" - } + }, + "description": "The criteria for showing/hiding values per column.\nThe map's key is the column index, and the value is the criteria for\nthat column.", + "type": "object" }, "title": { "description": "The name of the filter view.", "type": "string" }, "range": { - "description": "The range this filter view covers.\n\nWhen writing, only one of range or named_range_id\nmay be set.", - "$ref": "GridRange" + "$ref": "GridRange", + "description": "The range this filter view covers.\n\nWhen writing, only one of range or named_range_id\nmay be set." }, "sortSpecs": { "description": "The sort order per column. Later specifications are used when values\nare equal in the earlier specifications.", @@ -1437,17 +3920,27 @@ }, "id": "FilterView" }, + "SearchDeveloperMetadataRequest": { + "description": "A request to retrieve all developer metadata matching the set of specified\ncriteria.", + "type": "object", + "properties": { + "dataFilters": { + "description": "The data filters describing the criteria used to determine which\nDeveloperMetadata entries to return. DeveloperMetadata matching any of the\nspecified filters will be included in the response.", + "items": { + "$ref": "DataFilter" + }, + "type": "array" + } + }, + "id": "SearchDeveloperMetadataRequest" + }, "BandingProperties": { "description": "Properties referring a single dimension (either row or column). If both\nBandedRange.row_properties and BandedRange.column_properties are\nset, the fill colors are applied to cells according to the following rules:\n\n* header_color and footer_color take priority over band colors.\n* first_band_color takes priority over second_band_color.\n* row_properties takes priority over column_properties.\n\nFor example, the first row color takes priority over the first column\ncolor, but the first column color takes priority over the second row color.\nSimilarly, the row header takes priority over the column header in the\ntop left cell, but the column header takes priority over the first row\ncolor if the row header is not set.", "type": "object", "properties": { - "firstBandColor": { - "$ref": "Color", - "description": "The first color that is alternating. (Required)" - }, "secondBandColor": { - "$ref": "Color", - "description": "The second color that is alternating. (Required)" + "description": "The second color that is alternating. (Required)", + "$ref": "Color" }, "footerColor": { "description": "The color of the last row or column. If this field is not set, the last\nrow or column will be filled with either first_band_color or\nsecond_band_color, depending on the color of the previous row or\ncolumn.", @@ -1456,20 +3949,24 @@ "headerColor": { "description": "The color of the first row or column. If this field is set, the first\nrow or column will be filled with this color and the colors will\nalternate between first_band_color and second_band_color starting\nfrom the second row or column. Otherwise, the first row or column will be\nfilled with first_band_color and the colors will proceed to alternate\nas they normally would.", "$ref": "Color" + }, + "firstBandColor": { + "$ref": "Color", + "description": "The first color that is alternating. (Required)" } }, "id": "BandingProperties" }, - "CandlestickSeries": { - "description": "The series of a CandlestickData.", + "AddProtectedRangeResponse": { + "description": "The result of adding a new protected range.", "type": "object", "properties": { - "data": { - "$ref": "ChartData", - "description": "The data of the CandlestickSeries." + "protectedRange": { + "$ref": "ProtectedRange", + "description": "The newly added protected range." } }, - "id": "CandlestickSeries" + "id": "AddProtectedRangeResponse" }, "BasicFilter": { "properties": { @@ -1496,16 +3993,16 @@ "description": "The default filter associated with a sheet.", "type": "object" }, - "AddProtectedRangeResponse": { - "description": "The result of adding a new protected range.", + "CandlestickSeries": { + "description": "The series of a CandlestickData.", "type": "object", "properties": { - "protectedRange": { - "$ref": "ProtectedRange", - "description": "The newly added protected range." + "data": { + "$ref": "ChartData", + "description": "The data of the CandlestickSeries." } }, - "id": "AddProtectedRangeResponse" + "id": "CandlestickSeries" }, "HistogramChartSpec": { "description": "A \u003ca href=\"/chart/interactive/docs/gallery/histogram\"\u003ehistogram chart\u003c/a\u003e.\nA histogram chart groups data items into bins, displaying each bin as a\ncolumn of stacked items. Histograms are used to display the distribution\nof a dataset. Each column of items represents a range into which those\nitems fall. The number of bins can be chosen automatically or specified\nexplicitly.", @@ -1528,6 +4025,15 @@ "type": "array" }, "legendPosition": { + "enumDescriptions": [ + "Default value, do not use.", + "The legend is rendered on the bottom of the chart.", + "The legend is rendered on the left of the chart.", + "The legend is rendered on the right of the chart.", + "The legend is rendered on the top of the chart.", + "No legend is rendered.", + "The legend is rendered inside the chart area." + ], "enum": [ "HISTOGRAM_CHART_LEGEND_POSITION_UNSPECIFIED", "BOTTOM_LEGEND", @@ -1538,16 +4044,7 @@ "INSIDE_LEGEND" ], "description": "The position of the chart legend.", - "type": "string", - "enumDescriptions": [ - "Default value, do not use.", - "The legend is rendered on the bottom of the chart.", - "The legend is rendered on the left of the chart.", - "The legend is rendered on the right of the chart.", - "The legend is rendered on the top of the chart.", - "No legend is rendered.", - "The legend is rendered inside the chart area." - ] + "type": "string" }, "bucketSize": { "format": "double", @@ -1558,16 +4055,27 @@ "id": "HistogramChartSpec" }, "UpdateValuesResponse": { + "description": "The response when updating a range of values in a spreadsheet.", + "type": "object", "properties": { - "updatedRows": { + "updatedRange": { + "description": "The range (in A1 notation) that updates were applied to.", + "type": "string" + }, + "updatedCells": { "format": "int32", - "description": "The number of rows where at least one cell in the row was updated.", + "description": "The number of cells updated.", "type": "integer" }, "updatedData": { "description": "The values of the cells after updates were applied.\nThis is only included if the request's `includeValuesInResponse` field\nwas `true`.", "$ref": "ValueRange" }, + "updatedRows": { + "format": "int32", + "description": "The number of rows where at least one cell in the row was updated.", + "type": "integer" + }, "updatedColumns": { "format": "int32", "description": "The number of columns where at least one cell in the column was updated.", @@ -1576,25 +4084,76 @@ "spreadsheetId": { "description": "The spreadsheet the updates were applied to.", "type": "string" - }, - "updatedRange": { - "description": "The range (in A1 notation) that updates were applied to.", - "type": "string" - }, - "updatedCells": { - "format": "int32", - "description": "The number of cells updated.", - "type": "integer" } }, - "id": "UpdateValuesResponse", - "description": "The response when updating a range of values in a spreadsheet.", + "id": "UpdateValuesResponse" + }, + "PivotValue": { + "properties": { + "formula": { + "description": "A custom formula to calculate the value. The formula must start\nwith an `=` character.", + "type": "string" + }, + "summarizeFunction": { + "enumDescriptions": [ + "The default, do not use.", + "Corresponds to the `SUM` function.", + "Corresponds to the `COUNTA` function.", + "Corresponds to the `COUNT` function.", + "Corresponds to the `COUNTUNIQUE` function.", + "Corresponds to the `AVERAGE` function.", + "Corresponds to the `MAX` function.", + "Corresponds to the `MIN` function.", + "Corresponds to the `MEDIAN` function.", + "Corresponds to the `PRODUCT` function.", + "Corresponds to the `STDEV` function.", + "Corresponds to the `STDEVP` function.", + "Corresponds to the `VAR` function.", + "Corresponds to the `VARP` function.", + "Indicates the formula should be used as-is.\nOnly valid if PivotValue.formula was set." + ], + "enum": [ + "PIVOT_STANDARD_VALUE_FUNCTION_UNSPECIFIED", + "SUM", + "COUNTA", + "COUNT", + "COUNTUNIQUE", + "AVERAGE", + "MAX", + "MIN", + "MEDIAN", + "PRODUCT", + "STDEV", + "STDEVP", + "VAR", + "VARP", + "CUSTOM" + ], + "description": "A function to summarize the value.\nIf formula is set, the only supported values are\nSUM and\nCUSTOM.\nIf sourceColumnOffset is set, then `CUSTOM`\nis not supported.", + "type": "string" + }, + "sourceColumnOffset": { + "format": "int32", + "description": "The column offset of the source range that this value reads from.\n\nFor example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`\nmeans this value refers to column `C`, whereas the offset `1` would\nrefer to column `D`.", + "type": "integer" + }, + "name": { + "description": "A name to use for the value. This is only used if formula was set.\nOtherwise, the column name is used.", + "type": "string" + } + }, + "id": "PivotValue", + "description": "The definition of how a value in a pivot table should be calculated.", "type": "object" }, "ErrorValue": { "description": "An error in a cell.", "type": "object", "properties": { + "message": { + "description": "A message with more information about the error\n(in the spreadsheet's locale).", + "type": "string" + }, "type": { "enumDescriptions": [ "The default error type, do not use this.", @@ -1622,86 +4181,22 @@ ], "description": "The type of error.", "type": "string" - }, - "message": { - "description": "A message with more information about the error\n(in the spreadsheet's locale).", - "type": "string" } }, "id": "ErrorValue" }, - "PivotValue": { - "description": "The definition of how a value in a pivot table should be calculated.", - "type": "object", - "properties": { - "formula": { - "description": "A custom formula to calculate the value. The formula must start\nwith an `=` character.", - "type": "string" - }, - "summarizeFunction": { - "enum": [ - "PIVOT_STANDARD_VALUE_FUNCTION_UNSPECIFIED", - "SUM", - "COUNTA", - "COUNT", - "COUNTUNIQUE", - "AVERAGE", - "MAX", - "MIN", - "MEDIAN", - "PRODUCT", - "STDEV", - "STDEVP", - "VAR", - "VARP", - "CUSTOM" - ], - "description": "A function to summarize the value.\nIf formula is set, the only supported values are\nSUM and\nCUSTOM.\nIf sourceColumnOffset is set, then `CUSTOM`\nis not supported.", - "type": "string", - "enumDescriptions": [ - "The default, do not use.", - "Corresponds to the `SUM` function.", - "Corresponds to the `COUNTA` function.", - "Corresponds to the `COUNT` function.", - "Corresponds to the `COUNTUNIQUE` function.", - "Corresponds to the `AVERAGE` function.", - "Corresponds to the `MAX` function.", - "Corresponds to the `MIN` function.", - "Corresponds to the `MEDIAN` function.", - "Corresponds to the `PRODUCT` function.", - "Corresponds to the `STDEV` function.", - "Corresponds to the `STDEVP` function.", - "Corresponds to the `VAR` function.", - "Corresponds to the `VARP` function.", - "Indicates the formula should be used as-is.\nOnly valid if PivotValue.formula was set." - ] - }, - "sourceColumnOffset": { - "format": "int32", - "description": "The column offset of the source range that this value reads from.\n\nFor example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`\nmeans this value refers to column `C`, whereas the offset `1` would\nrefer to column `D`.", - "type": "integer" - }, - "name": { - "description": "A name to use for the value. This is only used if formula was set.\nOtherwise, the column name is used.", - "type": "string" - } - }, - "id": "PivotValue" - }, "CopySheetToAnotherSpreadsheetRequest": { + "description": "The request to copy a sheet across spreadsheets.", + "type": "object", "properties": { "destinationSpreadsheetId": { "description": "The ID of the spreadsheet to copy the sheet to.", "type": "string" } }, - "id": "CopySheetToAnotherSpreadsheetRequest", - "description": "The request to copy a sheet across spreadsheets.", - "type": "object" + "id": "CopySheetToAnotherSpreadsheetRequest" }, "PivotGroupSortValueBucket": { - "description": "Information about which values in a pivot group should be used for sorting.", - "type": "object", "properties": { "valuesIndex": { "format": "int32", @@ -1716,7 +4211,20 @@ "type": "array" } }, - "id": "PivotGroupSortValueBucket" + "id": "PivotGroupSortValueBucket", + "description": "Information about which values in a pivot group should be used for sorting.", + "type": "object" + }, + "DeleteDeveloperMetadataRequest": { + "description": "A request to delete developer metadata.", + "type": "object", + "properties": { + "dataFilter": { + "description": "The data filter describing the criteria used to select which developer\nmetadata entry to delete.", + "$ref": "DataFilter" + } + }, + "id": "DeleteDeveloperMetadataRequest" }, "CandlestickChartSpec": { "description": "A \u003ca href=\"/chart/interactive/docs/gallery/candlestickchart\"\u003ecandlestick chart\u003c/a\u003e.", @@ -1730,38 +4238,54 @@ "type": "array" }, "domain": { - "description": "The domain data (horizontal axis) for the candlestick chart. String data\nwill be treated as discrete labels, other data will be treated as\ncontinuous values.", - "$ref": "CandlestickDomain" + "$ref": "CandlestickDomain", + "description": "The domain data (horizontal axis) for the candlestick chart. String data\nwill be treated as discrete labels, other data will be treated as\ncontinuous values." } }, "id": "CandlestickChartSpec" }, - "CandlestickData": { - "description": "The Candlestick chart data, each containing the low, open, close, and high\nvalues for a series.", + "BatchClearValuesByDataFilterResponse": { + "description": "The response when clearing a range of values selected with\nDataFilters in a spreadsheet.", "type": "object", "properties": { - "openSeries": { - "description": "The range data (vertical axis) for the open/initial value for each\ncandle. This is the bottom of the candle body. If less than the close\nvalue the candle will be filled. Otherwise the candle will be hollow.", - "$ref": "CandlestickSeries" + "clearedRanges": { + "description": "The ranges that were cleared, in A1 notation.\n(If the requests were for an unbounded range or a ranger larger\n than the bounds of the sheet, this will be the actual ranges\n that were cleared, bounded to the sheet's limits.)", + "items": { + "type": "string" + }, + "type": "array" }, + "spreadsheetId": { + "description": "The spreadsheet the updates were applied to.", + "type": "string" + } + }, + "id": "BatchClearValuesByDataFilterResponse" + }, + "CandlestickData": { + "properties": { "highSeries": { - "$ref": "CandlestickSeries", - "description": "The range data (vertical axis) for the high/maximum value for each\ncandle. This is the top of the candle's center line." + "description": "The range data (vertical axis) for the high/maximum value for each\ncandle. This is the top of the candle's center line.", + "$ref": "CandlestickSeries" }, "closeSeries": { - "description": "The range data (vertical axis) for the close/final value for each candle.\nThis is the top of the candle body. If greater than the open value the\ncandle will be filled. Otherwise the candle will be hollow.", - "$ref": "CandlestickSeries" + "$ref": "CandlestickSeries", + "description": "The range data (vertical axis) for the close/final value for each candle.\nThis is the top of the candle body. If greater than the open value the\ncandle will be filled. Otherwise the candle will be hollow." }, "lowSeries": { "$ref": "CandlestickSeries", "description": "The range data (vertical axis) for the low/minimum value for each candle.\nThis is the bottom of the candle's center line." + }, + "openSeries": { + "description": "The range data (vertical axis) for the open/initial value for each\ncandle. This is the bottom of the candle body. If less than the close\nvalue the candle will be filled. Otherwise the candle will be hollow.", + "$ref": "CandlestickSeries" } }, - "id": "CandlestickData" + "id": "CandlestickData", + "description": "The Candlestick chart data, each containing the low, open, close, and high\nvalues for a series.", + "type": "object" }, "EmbeddedObjectPosition": { - "description": "The position of an embedded object such as a chart.", - "type": "object", "properties": { "newSheet": { "description": "If true, the embedded object will be put on a new sheet whose ID\nis chosen for you. Used only when writing.", @@ -1777,7 +4301,9 @@ "type": "integer" } }, - "id": "EmbeddedObjectPosition" + "id": "EmbeddedObjectPosition", + "description": "The position of an embedded object such as a chart.", + "type": "object" }, "DeleteProtectedRangeRequest": { "description": "Deletes the protected range with the given ID.", @@ -1791,78 +4317,154 @@ }, "id": "DeleteProtectedRangeRequest" }, + "DeveloperMetadataLookup": { + "description": "Selects DeveloperMetadata that matches all of the specified fields. For\nexample, if only a metadata ID is specified this will consider the\nDeveloperMetadata with that particular unique ID. If a metadata key is\nspecified, all developer metadata with that key will be considered. If a\nkey, visibility, and location type are all specified, then all\ndeveloper metadata with that key, visibility, and associated with a\nlocation of that type will be considered. In general, this\nselects all DeveloperMetadata that matches the intersection of all the\nspecified fields; any field or combination of fields may be specified.", + "type": "object", + "properties": { + "locationMatchingStrategy": { + "description": "Determines how this lookup matches the location. If this field is\nspecified as EXACT, only developer metadata associated on the exact\nlocation specified will be matched. If this field is specified to INTERSECTING,\ndeveloper metadata associated on intersecting locations will also be\nmatched. If left unspecified, this field will assume a default value of\nINTERSECTING.\nIf this field is specified, a metadataLocation\nmust also be specified.", + "type": "string", + "enumDescriptions": [ + "Default value. This value must not be used.", + "Indicates that a specified location should be matched exactly. For\nexample, if row three were specified as a location this matching strategy\nwould only match developer metadata also associated on row three. Metadata\nassociated on other locations would not be considered.", + "Indicates that a specified location should match that exact location as\nwell as any intersecting locations. For example, if row three were\nspecified as a location this matching strategy would match developer\nmetadata associated on row three as well as metadata associated on\nlocations that intersect row three. If, for instance, there was developer\nmetadata associated on column B, this matching strategy would also match\nthat location because column B intersects row three." + ], + "enum": [ + "DEVELOPER_METADATA_LOCATION_MATCHING_STRATEGY_UNSPECIFIED", + "EXACT_LOCATION", + "INTERSECTING_LOCATION" + ] + }, + "metadataLocation": { + "description": "Limits the selected developer metadata to those entries associated with\nthe specified location. This field either matches exact locations or all\nintersecting locations according the specified\nlocationMatchingStrategy.", + "$ref": "DeveloperMetadataLocation" + }, + "locationType": { + "enumDescriptions": [ + "Default value.", + "Developer metadata associated on an entire row dimension.", + "Developer metadata associated on an entire column dimension.", + "Developer metadata associated on an entire sheet.", + "Developer metadata associated on the entire spreadsheet." + ], + "enum": [ + "DEVELOPER_METADATA_LOCATION_TYPE_UNSPECIFIED", + "ROW", + "COLUMN", + "SHEET", + "SPREADSHEET" + ], + "description": "Limits the selected developer metadata to those entries which are\nassociated with locations of the specified type. For example, specifying\nthis as ROW will only consider\ndeveloper metadata associated on rows. If left unspecified, all location\ntypes will be considered. This field cannot be specified as\nSPREADSHEET when the\nlocationMatchingStrategy is\nspecified as INTERSECTING or when the\nmetadataLocation is specified as a\nnon-spreadsheet location: spreadsheet metadata cannot intersect any other\ndeveloper metadata location. This field also must be left unspecified when the\nlocationMatchingStrategy is\nspecified as EXACT.", + "type": "string" + }, + "metadataKey": { + "description": "Limits the selected developer metadata to that which has a matching\nDeveloperMetadata.metadata_key.", + "type": "string" + }, + "metadataId": { + "format": "int32", + "description": "Limits the selected developer metadata to that which has a matching\nDeveloperMetadata.metadata_id.", + "type": "integer" + }, + "visibility": { + "enumDescriptions": [ + "Default value.", + "Document-visible metadata is accessible from any developer project with\naccess to the document.", + "Project-visible metadata is only visible to and accessible by the developer\nproject that created the metadata." + ], + "enum": [ + "DEVELOPER_METADATA_VISIBILITY_UNSPECIFIED", + "DOCUMENT", + "PROJECT" + ], + "description": "Limits the selected developer metadata to that which has a matching\nDeveloperMetadata.visibility. If left unspecified, all developer\nmetadata visibile to the requesting project will be considered.", + "type": "string" + }, + "metadataValue": { + "description": "Limits the selected developer metadata to that which has a matching\nDeveloperMetadata.metadata_value.", + "type": "string" + } + }, + "id": "DeveloperMetadataLookup" + }, "AutoFillRequest": { "description": "Fills in more data based on existing data.", "type": "object", "properties": { - "range": { - "description": "The range to autofill. This will examine the range and detect\nthe location that has data and automatically fill that data\nin to the rest of the range.", - "$ref": "GridRange" - }, "useAlternateSeries": { "description": "True if we should generate data with the \"alternate\" series.\nThis differs based on the type and amount of source data.", "type": "boolean" }, "sourceAndDestination": { - "description": "The source and destination areas to autofill.\nThis explicitly lists the source of the autofill and where to\nextend that data.", - "$ref": "SourceAndDestination" + "$ref": "SourceAndDestination", + "description": "The source and destination areas to autofill.\nThis explicitly lists the source of the autofill and where to\nextend that data." + }, + "range": { + "$ref": "GridRange", + "description": "The range to autofill. This will examine the range and detect\nthe location that has data and automatically fill that data\nin to the rest of the range." } }, "id": "AutoFillRequest" }, "GradientRule": { - "description": "A rule that applies a gradient color scale format, based on\nthe interpolation points listed. The format of a cell will vary\nbased on its contents as compared to the values of the interpolation\npoints.", - "type": "object", "properties": { "midpoint": { "$ref": "InterpolationPoint", "description": "An optional midway interpolation point." }, "maxpoint": { - "$ref": "InterpolationPoint", - "description": "The final interpolation point." + "description": "The final interpolation point.", + "$ref": "InterpolationPoint" }, "minpoint": { - "description": "The starting interpolation point.", - "$ref": "InterpolationPoint" + "$ref": "InterpolationPoint", + "description": "The starting interpolation point." } }, - "id": "GradientRule" - }, - "ClearValuesRequest": { - "properties": {}, - "id": "ClearValuesRequest", - "description": "The request for clearing a range of values in a spreadsheet.", + "id": "GradientRule", + "description": "A rule that applies a gradient color scale format, based on\nthe interpolation points listed. The format of a cell will vary\nbased on its contents as compared to the values of the interpolation\npoints.", "type": "object" }, "SetBasicFilterRequest": { + "description": "Sets the basic filter associated with a sheet.", + "type": "object", "properties": { "filter": { - "description": "The filter to set.", - "$ref": "BasicFilter" + "$ref": "BasicFilter", + "description": "The filter to set." } }, - "id": "SetBasicFilterRequest", - "description": "Sets the basic filter associated with a sheet.", - "type": "object" + "id": "SetBasicFilterRequest" + }, + "ClearValuesRequest": { + "description": "The request for clearing a range of values in a spreadsheet.", + "type": "object", + "properties": {}, + "id": "ClearValuesRequest" + }, + "BatchClearValuesByDataFilterRequest": { + "description": "The request for clearing more than one range selected by a\nDataFilter in a spreadsheet.", + "type": "object", + "properties": { + "dataFilters": { + "description": "The DataFilters used to determine which ranges to clear.", + "items": { + "$ref": "DataFilter" + }, + "type": "array" + } + }, + "id": "BatchClearValuesByDataFilterRequest" }, "InterpolationPoint": { "description": "A single interpolation point on a gradient conditional format.\nThese pin the gradient color scale according to the color,\ntype and value chosen.", "type": "object", "properties": { "color": { - "description": "The color this interpolation point should use.", - "$ref": "Color" + "$ref": "Color", + "description": "The color this interpolation point should use." }, "type": { - "enumDescriptions": [ - "The default value, do not use.", - "The interpolation point will use the minimum value in the\ncells over the range of the conditional format.", - "The interpolation point will use the maximum value in the\ncells over the range of the conditional format.", - "The interpolation point will use exactly the value in\nInterpolationPoint.value.", - "The interpolation point will be the given percentage over\nall the cells in the range of the conditional format.\nThis is equivalent to NUMBER if the value was:\n`=(MAX(FLATTEN(range)) * (value / 100))\n + (MIN(FLATTEN(range)) * (1 - (value / 100)))`\n(where errors in the range are ignored when flattening).", - "The interpolation point will be the given percentile\nover all the cells in the range of the conditional format.\nThis is equivalent to NUMBER if the value was:\n`=PERCENTILE(FLATTEN(range), value / 100)`\n(where errors in the range are ignored when flattening)." - ], "enum": [ "INTERPOLATION_POINT_TYPE_UNSPECIFIED", "MIN", @@ -1872,7 +4474,15 @@ "PERCENTILE" ], "description": "How the value should be interpreted.", - "type": "string" + "type": "string", + "enumDescriptions": [ + "The default value, do not use.", + "The interpolation point will use the minimum value in the\ncells over the range of the conditional format.", + "The interpolation point will use the maximum value in the\ncells over the range of the conditional format.", + "The interpolation point will use exactly the value in\nInterpolationPoint.value.", + "The interpolation point will be the given percentage over\nall the cells in the range of the conditional format.\nThis is equivalent to NUMBER if the value was:\n`=(MAX(FLATTEN(range)) * (value / 100))\n + (MIN(FLATTEN(range)) * (1 - (value / 100)))`\n(where errors in the range are ignored when flattening).", + "The interpolation point will be the given percentile\nover all the cells in the range of the conditional format.\nThis is equivalent to NUMBER if the value was:\n`=PERCENTILE(FLATTEN(range), value / 100)`\n(where errors in the range are ignored when flattening)." + ] }, "value": { "description": "The value this interpolation point uses. May be a formula.\nUnused if type is MIN or\nMAX.", @@ -1881,6 +4491,24 @@ }, "id": "InterpolationPoint" }, + "GetSpreadsheetByDataFilterRequest": { + "description": "The request for retrieving a Spreadsheet.", + "type": "object", + "properties": { + "includeGridData": { + "description": "True if grid data should be returned.\nThis parameter is ignored if a field mask was set in the request.", + "type": "boolean" + }, + "dataFilters": { + "description": "The DataFilters used to select which ranges to retrieve from\nthe spreadsheet.", + "items": { + "$ref": "DataFilter" + }, + "type": "array" + } + }, + "id": "GetSpreadsheetByDataFilterRequest" + }, "DeleteEmbeddedObjectRequest": { "description": "Deletes the embedded object with the given ID.", "type": "object", @@ -1897,6 +4525,11 @@ "description": "The result of the find/replace.", "type": "object", "properties": { + "sheetsChanged": { + "format": "int32", + "description": "The number of sheets changed.", + "type": "integer" + }, "formulasChanged": { "format": "int32", "description": "The number of formula cells changed.", @@ -1916,16 +4549,47 @@ "format": "int32", "description": "The number of rows changed.", "type": "integer" - }, - "sheetsChanged": { - "format": "int32", - "description": "The number of sheets changed.", - "type": "integer" } }, "id": "FindReplaceResponse" }, + "UpdateValuesByDataFilterResponse": { + "properties": { + "updatedRange": { + "description": "The range (in A1 notation) that updates were applied to.", + "type": "string" + }, + "updatedCells": { + "format": "int32", + "description": "The number of cells updated.", + "type": "integer" + }, + "dataFilter": { + "$ref": "DataFilter", + "description": "The data filter that selected the range that was updated." + }, + "updatedData": { + "$ref": "ValueRange", + "description": "The values of the cells in the range matched by the dataFilter after all\nupdates were applied. This is only included if the request's\n`includeValuesInResponse` field was `true`." + }, + "updatedRows": { + "format": "int32", + "description": "The number of rows where at least one cell in the row was updated.", + "type": "integer" + }, + "updatedColumns": { + "format": "int32", + "description": "The number of columns where at least one cell in the column was updated.", + "type": "integer" + } + }, + "id": "UpdateValuesByDataFilterResponse", + "description": "The response when updating a range of values by a data filter in a\nspreadsheet.", + "type": "object" + }, "DeleteSheetRequest": { + "description": "Deletes the requested sheet.", + "type": "object", "properties": { "sheetId": { "format": "int32", @@ -1933,9 +4597,7 @@ "type": "integer" } }, - "id": "DeleteSheetRequest", - "description": "Deletes the requested sheet.", - "type": "object" + "id": "DeleteSheetRequest" }, "DuplicateFilterViewRequest": { "description": "Duplicates a particular filter view.", @@ -1949,14 +4611,66 @@ }, "id": "DuplicateFilterViewRequest" }, + "MatchedValueRange": { + "description": "A value range that was matched by one or more data filers.", + "type": "object", + "properties": { + "valueRange": { + "$ref": "ValueRange", + "description": "The values matched by the DataFilter." + }, + "dataFilters": { + "description": "The DataFilters from the request that matched the range of\nvalues.", + "items": { + "$ref": "DataFilter" + }, + "type": "array" + } + }, + "id": "MatchedValueRange" + }, + "DeveloperMetadataLocation": { + "description": "A location where metadata may be associated in a spreadsheet.", + "type": "object", + "properties": { + "dimensionRange": { + "description": "Represents the row or column when metadata is associated with\na dimension. The specified DimensionRange must represent a single row\nor column; it cannot be unbounded or span multiple rows or columns.", + "$ref": "DimensionRange" + }, + "sheetId": { + "format": "int32", + "description": "The ID of the sheet when metadata is associated with an entire sheet.", + "type": "integer" + }, + "spreadsheet": { + "description": "True when metadata is associated with an entire spreadsheet.", + "type": "boolean" + }, + "locationType": { + "description": "The type of location this object represents. This field is read-only.", + "type": "string", + "enumDescriptions": [ + "Default value.", + "Developer metadata associated on an entire row dimension.", + "Developer metadata associated on an entire column dimension.", + "Developer metadata associated on an entire sheet.", + "Developer metadata associated on the entire spreadsheet." + ], + "enum": [ + "DEVELOPER_METADATA_LOCATION_TYPE_UNSPECIFIED", + "ROW", + "COLUMN", + "SHEET", + "SPREADSHEET" + ] + } + }, + "id": "DeveloperMetadataLocation" + }, "UpdateConditionalFormatRuleResponse": { "description": "The result of updating a conditional format rule.", "type": "object", "properties": { - "oldRule": { - "$ref": "ConditionalFormatRule", - "description": "The old (deleted) rule. Not set if a rule was moved\n(because it is the same as new_rule)." - }, "newIndex": { "format": "int32", "description": "The index of the new rule.", @@ -1970,6 +4684,10 @@ "format": "int32", "description": "The old index of the rule. Not set if a rule was replaced\n(because it is the same as new_index).", "type": "integer" + }, + "oldRule": { + "description": "The old (deleted) rule. Not set if a rule was moved\n(because it is the same as new_rule).", + "$ref": "ConditionalFormatRule" } }, "id": "UpdateConditionalFormatRuleResponse" @@ -1983,15 +4701,6 @@ "type": "string" }, "relativeDate": { - "enumDescriptions": [ - "Default value, do not use.", - "The value is one year before today.", - "The value is one month before today.", - "The value is one week before today.", - "The value is yesterday.", - "The value is today.", - "The value is tomorrow." - ], "enum": [ "RELATIVE_DATE_UNSPECIFIED", "PAST_YEAR", @@ -2002,7 +4711,16 @@ "TOMORROW" ], "description": "A relative date (based on the current date).\nValid only if the type is\nDATE_BEFORE,\nDATE_AFTER,\nDATE_ON_OR_BEFORE or\nDATE_ON_OR_AFTER.\n\nRelative dates are not supported in data validation.\nThey are supported only in conditional formatting and\nconditional filters.", - "type": "string" + "type": "string", + "enumDescriptions": [ + "Default value, do not use.", + "The value is one year before today.", + "The value is one month before today.", + "The value is one week before today.", + "The value is yesterday.", + "The value is today.", + "The value is tomorrow." + ] } }, "id": "ConditionValue" @@ -2011,6 +4729,11 @@ "description": "Duplicates the contents of a sheet.", "type": "object", "properties": { + "newSheetId": { + "format": "int32", + "description": "If set, the ID of the new sheet. If not set, an ID is chosen.\nIf set, the ID must not conflict with any existing sheet ID.\nIf set, it must be non-negative.", + "type": "integer" + }, "insertSheetIndex": { "format": "int32", "description": "The zero-based index where the new sheet should be inserted.\nThe index of all sheets after this are incremented.", @@ -2024,16 +4747,13 @@ "format": "int32", "description": "The sheet to duplicate.", "type": "integer" - }, - "newSheetId": { - "format": "int32", - "description": "If set, the ID of the new sheet. If not set, an ID is chosen.\nIf set, the ID must not conflict with any existing sheet ID.\nIf set, it must be non-negative.", - "type": "integer" } }, "id": "DuplicateSheetRequest" }, "ExtendedValue": { + "description": "The kinds of value that a cell in a spreadsheet can have.", + "type": "object", "properties": { "formulaValue": { "description": "Represents a formula.", @@ -2057,55 +4777,50 @@ "$ref": "ErrorValue" } }, - "id": "ExtendedValue", - "description": "The kinds of value that a cell in a spreadsheet can have.", - "type": "object" + "id": "ExtendedValue" }, - "AddChartRequest": { - "properties": { - "chart": { - "$ref": "EmbeddedChart", - "description": "The chart that should be added to the spreadsheet, including the position\nwhere it should be placed. The chartId\nfield is optional; if one is not set, an id will be randomly generated. (It\nis an error to specify the ID of a chart that already exists.)" - } - }, - "id": "AddChartRequest", - "description": "Adds a chart to a sheet in the spreadsheet.", - "type": "object" - }, - "Spreadsheet": { - "description": "Resource that represents a spreadsheet.", + "BandedRange": { + "description": "A banded (alternating colors) range in a sheet.", "type": "object", "properties": { - "properties": { - "description": "Overall properties of a spreadsheet.", - "$ref": "SpreadsheetProperties" + "range": { + "description": "The range over which these properties are applied.", + "$ref": "GridRange" }, - "namedRanges": { - "description": "The named ranges defined in a spreadsheet.", - "items": { - "$ref": "NamedRange" - }, - "type": "array" + "bandedRangeId": { + "format": "int32", + "description": "The id of the banded range.", + "type": "integer" }, - "sheets": { - "description": "The sheets that are part of a spreadsheet.", - "items": { - "$ref": "Sheet" - }, - "type": "array" + "columnProperties": { + "$ref": "BandingProperties", + "description": "Properties for column bands. These properties will be applied on a column-\nby-column basis throughout all the columns in the range. At least one of\nrow_properties or column_properties must be specified." }, - "spreadsheetId": { - "description": "The ID of the spreadsheet.\nThis field is read-only.", - "type": "string" - }, - "spreadsheetUrl": { - "description": "The url of the spreadsheet.\nThis field is read-only.", - "type": "string" + "rowProperties": { + "$ref": "BandingProperties", + "description": "Properties for row bands. These properties will be applied on a row-by-row\nbasis throughout all the rows in the range. At least one of\nrow_properties or column_properties must be specified." } }, - "id": "Spreadsheet" + "id": "BandedRange" + }, + "HistogramSeries": { + "description": "A histogram series containing the series color and data.", + "type": "object", + "properties": { + "barColor": { + "description": "The color of the column representing this series in each bucket.\nThis field is optional.", + "$ref": "Color" + }, + "data": { + "description": "The data for this histogram series.", + "$ref": "ChartData" + } + }, + "id": "HistogramSeries" }, "BatchClearValuesResponse": { + "description": "The response when clearing a range of values in a spreadsheet.", + "type": "object", "properties": { "spreadsheetId": { "description": "The spreadsheet the updates were applied to.", @@ -2119,48 +4834,58 @@ "type": "array" } }, - "id": "BatchClearValuesResponse", - "description": "The response when clearing a range of values in a spreadsheet.", - "type": "object" + "id": "BatchClearValuesResponse" }, - "HistogramSeries": { - "description": "A histogram series containing the series color and data.", + "Spreadsheet": { + "description": "Resource that represents a spreadsheet.", "type": "object", "properties": { - "barColor": { - "$ref": "Color", - "description": "The color of the column representing this series in each bucket.\nThis field is optional." + "properties": { + "$ref": "SpreadsheetProperties", + "description": "Overall properties of a spreadsheet." }, - "data": { - "$ref": "ChartData", - "description": "The data for this histogram series." + "namedRanges": { + "description": "The named ranges defined in a spreadsheet.", + "items": { + "$ref": "NamedRange" + }, + "type": "array" + }, + "spreadsheetId": { + "description": "The ID of the spreadsheet.\nThis field is read-only.", + "type": "string" + }, + "developerMetadata": { + "description": "The developer metadata associated with a spreadsheet.", + "items": { + "$ref": "DeveloperMetadata" + }, + "type": "array" + }, + "sheets": { + "description": "The sheets that are part of a spreadsheet.", + "items": { + "$ref": "Sheet" + }, + "type": "array" + }, + "spreadsheetUrl": { + "description": "The url of the spreadsheet.\nThis field is read-only.", + "type": "string" } }, - "id": "HistogramSeries" + "id": "Spreadsheet" }, - "BandedRange": { - "description": "A banded (alternating colors) range in a sheet.", + "AddChartRequest": { + "description": "Adds a chart to a sheet in the spreadsheet.", "type": "object", "properties": { - "range": { - "$ref": "GridRange", - "description": "The range over which these properties are applied." - }, - "bandedRangeId": { - "format": "int32", - "description": "The id of the banded range.", - "type": "integer" - }, - "columnProperties": { - "description": "Properties for column bands. These properties will be applied on a column-\nby-column basis throughout all the columns in the range. At least one of\nrow_properties or column_properties must be specified.", - "$ref": "BandingProperties" - }, - "rowProperties": { - "description": "Properties for row bands. These properties will be applied on a row-by-row\nbasis throughout all the rows in the range. At least one of\nrow_properties or column_properties must be specified.", - "$ref": "BandingProperties" + "chart": { + "description": "The chart that should be added to the spreadsheet, including the position\nwhere it should be placed. The chartId\nfield is optional; if one is not set, an id will be randomly generated. (It\nis an error to specify the ID of a chart that already exists.)", + "$ref": "EmbeddedChart" } }, - "id": "BandedRange" + "id": "AddChartRequest" }, "UpdateProtectedRangeRequest": { "description": "Updates an existing protected range with the specified\nprotectedRangeId.", @@ -2178,38 +4903,57 @@ }, "id": "UpdateProtectedRangeRequest" }, + "DataFilter": { + "properties": { + "a1Range": { + "description": "Selects data that matches the specified A1 range.", + "type": "string" + }, + "gridRange": { + "description": "Selects data that matches the range described by the GridRange.", + "$ref": "GridRange" + }, + "developerMetadataLookup": { + "$ref": "DeveloperMetadataLookup", + "description": "Selects data associated with the developer metadata matching the criteria\ndescribed by this DeveloperMetadataLookup." + } + }, + "id": "DataFilter", + "description": "Filter that describes what data should be selected or returned from a\nrequest.", + "type": "object" + }, "TextFormat": { "description": "The format of a run of text in a cell.\nAbsent values indicate that the field isn't specified.", "type": "object", "properties": { - "foregroundColor": { - "description": "The foreground color of the text.", - "$ref": "Color" + "underline": { + "description": "True if the text is underlined.", + "type": "boolean" }, "bold": { "description": "True if the text is bold.", "type": "boolean" }, + "foregroundColor": { + "description": "The foreground color of the text.", + "$ref": "Color" + }, "fontFamily": { "description": "The font family.", "type": "string" }, - "strikethrough": { - "description": "True if the text has a strikethrough.", - "type": "boolean" - }, "italic": { "description": "True if the text is italicized.", "type": "boolean" }, + "strikethrough": { + "description": "True if the text has a strikethrough.", + "type": "boolean" + }, "fontSize": { "format": "int32", "description": "The size of the font.", "type": "integer" - }, - "underline": { - "description": "True if the text is underlined.", - "type": "boolean" } }, "id": "TextFormat" @@ -2219,22 +4963,22 @@ "type": "object", "properties": { "properties": { - "$ref": "SheetProperties", - "description": "The properties of the newly added sheet." + "description": "The properties of the newly added sheet.", + "$ref": "SheetProperties" } }, "id": "AddSheetResponse" }, "AddFilterViewResponse": { + "description": "The result of adding a filter view.", + "type": "object", "properties": { "filter": { "$ref": "FilterView", "description": "The newly added filter view." } }, - "id": "AddFilterViewResponse", - "description": "The result of adding a filter view.", - "type": "object" + "id": "AddFilterViewResponse" }, "IterativeCalculationSettings": { "description": "Settings to control how circular dependencies are resolved with iterative\ncalculation.", @@ -2253,6 +4997,49 @@ }, "id": "IterativeCalculationSettings" }, + "SpreadsheetProperties": { + "properties": { + "iterativeCalculationSettings": { + "$ref": "IterativeCalculationSettings", + "description": "Determines whether and how circular references are resolved with iterative\ncalculation. Absence of this field means that circular references will\nresult in calculation errors." + }, + "autoRecalc": { + "enumDescriptions": [ + "Default value. This value must not be used.", + "Volatile functions are updated on every change.", + "Volatile functions are updated on every change and every minute.", + "Volatile functions are updated on every change and hourly." + ], + "enum": [ + "RECALCULATION_INTERVAL_UNSPECIFIED", + "ON_CHANGE", + "MINUTE", + "HOUR" + ], + "description": "The amount of time to wait before volatile functions are recalculated.", + "type": "string" + }, + "defaultFormat": { + "$ref": "CellFormat", + "description": "The default format of all cells in the spreadsheet.\nCellData.effectiveFormat will not be set if the\ncell's format is equal to this default format.\nThis field is read-only." + }, + "title": { + "description": "The title of the spreadsheet.", + "type": "string" + }, + "timeZone": { + "description": "The time zone of the spreadsheet, in CLDR format such as\n`America/New_York`. If the time zone isn't recognized, this may\nbe a custom time zone such as `GMT-07:00`.", + "type": "string" + }, + "locale": { + "description": "The locale of the spreadsheet in one of the following formats:\n\n* an ISO 639-1 language code such as `en`\n\n* an ISO 639-2 language code such as `fil`, if no 639-1 code exists\n\n* a combination of the ISO language code and country code, such as `en_US`\n\nNote: when updating this field, not all locales/languages are supported.", + "type": "string" + } + }, + "id": "SpreadsheetProperties", + "description": "Properties of a spreadsheet.", + "type": "object" + }, "OverlayPosition": { "description": "The location an object is overlaid on top of a grid.", "type": "object", @@ -2284,65 +5071,22 @@ }, "id": "OverlayPosition" }, - "SpreadsheetProperties": { - "description": "Properties of a spreadsheet.", - "type": "object", - "properties": { - "locale": { - "description": "The locale of the spreadsheet in one of the following formats:\n\n* an ISO 639-1 language code such as `en`\n\n* an ISO 639-2 language code such as `fil`, if no 639-1 code exists\n\n* a combination of the ISO language code and country code, such as `en_US`\n\nNote: when updating this field, not all locales/languages are supported.", - "type": "string" - }, - "iterativeCalculationSettings": { - "$ref": "IterativeCalculationSettings", - "description": "Determines whether and how circular references are resolved with iterative\ncalculation. Absence of this field means that circular references will\nresult in calculation errors." - }, - "autoRecalc": { - "enumDescriptions": [ - "Default value. This value must not be used.", - "Volatile functions are updated on every change.", - "Volatile functions are updated on every change and every minute.", - "Volatile functions are updated on every change and hourly." - ], - "enum": [ - "RECALCULATION_INTERVAL_UNSPECIFIED", - "ON_CHANGE", - "MINUTE", - "HOUR" - ], - "description": "The amount of time to wait before volatile functions are recalculated.", - "type": "string" - }, - "defaultFormat": { - "description": "The default format of all cells in the spreadsheet.\nCellData.effectiveFormat will not be set if the\ncell's format is equal to this default format.\nThis field is read-only.", - "$ref": "CellFormat" - }, - "title": { - "description": "The title of the spreadsheet.", - "type": "string" - }, - "timeZone": { - "description": "The time zone of the spreadsheet, in CLDR format such as\n`America/New_York`. If the time zone isn't recognized, this may\nbe a custom time zone such as `GMT-07:00`.", - "type": "string" - } - }, - "id": "SpreadsheetProperties" - }, "RepeatCellRequest": { "description": "Updates all cells in the range to the values in the given Cell object.\nOnly the fields listed in the fields field are updated; others are\nunchanged.\n\nIf writing a cell with a formula, the formula's ranges will automatically\nincrement for each field in the range.\nFor example, if writing a cell with formula `=A1` into range B2:C4,\nB2 would be `=A1`, B3 would be `=A2`, B4 would be `=A3`,\nC2 would be `=B1`, C3 would be `=B2`, C4 would be `=B3`.\n\nTo keep the formula's ranges static, use the `$` indicator.\nFor example, use the formula `=$A$1` to prevent both the row and the\ncolumn from incrementing.", "type": "object", "properties": { + "range": { + "description": "The range to repeat the cell in.", + "$ref": "GridRange" + }, "fields": { "format": "google-fieldmask", "description": "The fields that should be updated. At least one field must be specified.\nThe root `cell` is implied and should not be specified.\nA single `\"*\"` can be used as short-hand for listing every field.", "type": "string" }, "cell": { - "description": "The data to write.", - "$ref": "CellData" - }, - "range": { - "$ref": "GridRange", - "description": "The range to repeat the cell in." + "$ref": "CellData", + "description": "The data to write." } }, "id": "RepeatCellRequest" @@ -2352,113 +5096,47 @@ "type": "object", "properties": { "chart": { - "$ref": "EmbeddedChart", - "description": "The newly added chart." + "description": "The newly added chart.", + "$ref": "EmbeddedChart" } }, "id": "AddChartResponse" }, "InsertDimensionRequest": { - "description": "Inserts rows or columns in a sheet at a particular index.", - "type": "object", "properties": { - "range": { - "description": "The dimensions to insert. Both the start and end indexes must be bounded.", - "$ref": "DimensionRange" - }, "inheritFromBefore": { "description": "Whether dimension properties should be extended from the dimensions\nbefore or after the newly inserted dimensions.\nTrue to inherit from the dimensions before (in which case the start\nindex must be greater than 0), and false to inherit from the dimensions\nafter.\n\nFor example, if row index 0 has red background and row index 1\nhas a green background, then inserting 2 rows at index 1 can inherit\neither the green or red background. If `inheritFromBefore` is true,\nthe two new rows will be red (because the row before the insertion point\nwas red), whereas if `inheritFromBefore` is false, the two new rows will\nbe green (because the row after the insertion point was green).", "type": "boolean" + }, + "range": { + "$ref": "DimensionRange", + "description": "The dimensions to insert. Both the start and end indexes must be bounded." } }, - "id": "InsertDimensionRequest" + "id": "InsertDimensionRequest", + "description": "Inserts rows or columns in a sheet at a particular index.", + "type": "object" }, "UpdateSpreadsheetPropertiesRequest": { "description": "Updates properties of a spreadsheet.", "type": "object", "properties": { - "properties": { - "description": "The properties to update.", - "$ref": "SpreadsheetProperties" - }, "fields": { "format": "google-fieldmask", "description": "The fields that should be updated. At least one field must be specified.\nThe root 'properties' is implied and should not be specified.\nA single `\"*\"` can be used as short-hand for listing every field.", "type": "string" + }, + "properties": { + "description": "The properties to update.", + "$ref": "SpreadsheetProperties" } }, "id": "UpdateSpreadsheetPropertiesRequest" }, - "BatchUpdateValuesRequest": { - "description": "The request for updating more than one range of values in a spreadsheet.", - "type": "object", - "properties": { - "responseValueRenderOption": { - "enumDescriptions": [ - "Values will be calculated & formatted in the reply according to the\ncell's formatting. Formatting is based on the spreadsheet's locale,\nnot the requesting user's locale.\nFor example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency,\nthen `A2` would return `\"$1.23\"`.", - "Values will be calculated, but not formatted in the reply.\nFor example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency,\nthen `A2` would return the number `1.23`.", - "Values will not be calculated. The reply will include the formulas.\nFor example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency,\nthen A2 would return `\"=A1\"`." - ], - "enum": [ - "FORMATTED_VALUE", - "UNFORMATTED_VALUE", - "FORMULA" - ], - "description": "Determines how values in the response should be rendered.\nThe default render option is ValueRenderOption.FORMATTED_VALUE.", - "type": "string" - }, - "includeValuesInResponse": { - "description": "Determines if the update response should include the values\nof the cells that were updated. By default, responses\ndo not include the updated values. The `updatedData` field within\neach of the BatchUpdateValuesResponse.responses will contain\nthe updated values. If the range to write was larger than than the range\nactually written, the response will include all values in the requested\nrange (excluding trailing empty rows and columns).", - "type": "boolean" - }, - "data": { - "description": "The new values to apply to the spreadsheet.", - "items": { - "$ref": "ValueRange" - }, - "type": "array" - }, - "valueInputOption": { - "enumDescriptions": [ - "Default input value. This value must not be used.", - "The values the user has entered will not be parsed and will be stored\nas-is.", - "The values will be parsed as if the user typed them into the UI.\nNumbers will stay as numbers, but strings may be converted to numbers,\ndates, etc. following the same rules that are applied when entering\ntext into a cell via the Google Sheets UI." - ], - "enum": [ - "INPUT_VALUE_OPTION_UNSPECIFIED", - "RAW", - "USER_ENTERED" - ], - "description": "How the input data should be interpreted.", - "type": "string" - }, - "responseDateTimeRenderOption": { - "description": "Determines how dates, times, and durations in the response should be\nrendered. This is ignored if response_value_render_option is\nFORMATTED_VALUE.\nThe default dateTime render option is\nDateTimeRenderOption.SERIAL_NUMBER.", - "type": "string", - "enumDescriptions": [ - "Instructs date, time, datetime, and duration fields to be output\nas doubles in \"serial number\" format, as popularized by Lotus 1-2-3.\nThe whole number portion of the value (left of the decimal) counts\nthe days since December 30th 1899. The fractional portion (right of\nthe decimal) counts the time as a fraction of the day. For example,\nJanuary 1st 1900 at noon would be 2.5, 2 because it's 2 days after\nDecember 30st 1899, and .5 because noon is half a day. February 1st\n1900 at 3pm would be 33.625. This correctly treats the year 1900 as\nnot a leap year.", - "Instructs date, time, datetime, and duration fields to be output\nas strings in their given number format (which is dependent\non the spreadsheet locale)." - ], - "enum": [ - "SERIAL_NUMBER", - "FORMATTED_STRING" - ] - } - }, - "id": "BatchUpdateValuesRequest" - }, "ProtectedRange": { "description": "A protected range.", "type": "object", "properties": { - "range": { - "$ref": "GridRange", - "description": "The range that is being protected.\nThe range may be fully unbounded, in which case this is considered\na protected sheet.\n\nWhen writing, only one of range or named_range_id\nmay be set." - }, - "editors": { - "description": "The users and groups with edit access to the protected range.\nThis field is only visible to users with edit access to the protected\nrange and the document.\nEditors are not supported with warning_only protection.", - "$ref": "Editors" - }, "description": { "description": "The description of this protected range.", "type": "string" @@ -2486,10 +5164,76 @@ "requestingUserCanEdit": { "description": "True if the user who requested this protected range can edit the\nprotected area.\nThis field is read-only.", "type": "boolean" + }, + "range": { + "description": "The range that is being protected.\nThe range may be fully unbounded, in which case this is considered\na protected sheet.\n\nWhen writing, only one of range or named_range_id\nmay be set.", + "$ref": "GridRange" + }, + "editors": { + "$ref": "Editors", + "description": "The users and groups with edit access to the protected range.\nThis field is only visible to users with edit access to the protected\nrange and the document.\nEditors are not supported with warning_only protection." } }, "id": "ProtectedRange" }, + "BatchUpdateValuesRequest": { + "description": "The request for updating more than one range of values in a spreadsheet.", + "type": "object", + "properties": { + "responseValueRenderOption": { + "description": "Determines how values in the response should be rendered.\nThe default render option is ValueRenderOption.FORMATTED_VALUE.", + "type": "string", + "enumDescriptions": [ + "Values will be calculated & formatted in the reply according to the\ncell's formatting. Formatting is based on the spreadsheet's locale,\nnot the requesting user's locale.\nFor example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency,\nthen `A2` would return `\"$1.23\"`.", + "Values will be calculated, but not formatted in the reply.\nFor example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency,\nthen `A2` would return the number `1.23`.", + "Values will not be calculated. The reply will include the formulas.\nFor example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency,\nthen A2 would return `\"=A1\"`." + ], + "enum": [ + "FORMATTED_VALUE", + "UNFORMATTED_VALUE", + "FORMULA" + ] + }, + "includeValuesInResponse": { + "description": "Determines if the update response should include the values\nof the cells that were updated. By default, responses\ndo not include the updated values. The `updatedData` field within\neach of the BatchUpdateValuesResponse.responses will contain\nthe updated values. If the range to write was larger than than the range\nactually written, the response will include all values in the requested\nrange (excluding trailing empty rows and columns).", + "type": "boolean" + }, + "data": { + "description": "The new values to apply to the spreadsheet.", + "items": { + "$ref": "ValueRange" + }, + "type": "array" + }, + "valueInputOption": { + "enumDescriptions": [ + "Default input value. This value must not be used.", + "The values the user has entered will not be parsed and will be stored\nas-is.", + "The values will be parsed as if the user typed them into the UI.\nNumbers will stay as numbers, but strings may be converted to numbers,\ndates, etc. following the same rules that are applied when entering\ntext into a cell via the Google Sheets UI." + ], + "enum": [ + "INPUT_VALUE_OPTION_UNSPECIFIED", + "RAW", + "USER_ENTERED" + ], + "description": "How the input data should be interpreted.", + "type": "string" + }, + "responseDateTimeRenderOption": { + "enum": [ + "SERIAL_NUMBER", + "FORMATTED_STRING" + ], + "description": "Determines how dates, times, and durations in the response should be\nrendered. This is ignored if response_value_render_option is\nFORMATTED_VALUE.\nThe default dateTime render option is\nDateTimeRenderOption.SERIAL_NUMBER.", + "type": "string", + "enumDescriptions": [ + "Instructs date, time, datetime, and duration fields to be output\nas doubles in \"serial number\" format, as popularized by Lotus 1-2-3.\nThe whole number portion of the value (left of the decimal) counts\nthe days since December 30th 1899. The fractional portion (right of\nthe decimal) counts the time as a fraction of the day. For example,\nJanuary 1st 1900 at noon would be 2.5, 2 because it's 2 days after\nDecember 30st 1899, and .5 because noon is half a day. February 1st\n1900 at 3pm would be 33.625. This correctly treats the year 1900 as\nnot a leap year.", + "Instructs date, time, datetime, and duration fields to be output\nas strings in their given number format (which is dependent\non the spreadsheet locale)." + ] + } + }, + "id": "BatchUpdateValuesRequest" + }, "DimensionProperties": { "description": "Properties about a dimension.", "type": "object", @@ -2506,6 +5250,13 @@ "hiddenByFilter": { "description": "True if this dimension is being filtered.\nThis field is read-only.", "type": "boolean" + }, + "developerMetadata": { + "description": "The developer metadata associated with a single row or column.", + "items": { + "$ref": "DeveloperMetadata" + }, + "type": "array" } }, "id": "DimensionProperties" @@ -2514,37 +5265,25 @@ "description": "A named range.", "type": "object", "properties": { + "name": { + "description": "The name of the named range.", + "type": "string" + }, "namedRangeId": { "description": "The ID of the named range.", "type": "string" }, "range": { - "description": "The range this represents.", - "$ref": "GridRange" - }, - "name": { - "description": "The name of the named range.", - "type": "string" + "$ref": "GridRange", + "description": "The range this represents." } }, "id": "NamedRange" }, "DimensionRange": { + "description": "A range along a single dimension on a sheet.\nAll indexes are zero-based.\nIndexes are half open: the start index is inclusive\nand the end index is exclusive.\nMissing indexes indicate the range is unbounded on that side.", + "type": "object", "properties": { - "dimension": { - "enum": [ - "DIMENSION_UNSPECIFIED", - "ROWS", - "COLUMNS" - ], - "description": "The dimension of the span.", - "type": "string", - "enumDescriptions": [ - "The default value, do not use.", - "Operates on the rows of a sheet.", - "Operates on the columns of a sheet." - ] - }, "endIndex": { "format": "int32", "description": "The end (exclusive) of the span, or not set if unbounded.", @@ -2559,1272 +5298,33 @@ "format": "int32", "description": "The sheet this span is on.", "type": "integer" + }, + "dimension": { + "enum": [ + "DIMENSION_UNSPECIFIED", + "ROWS", + "COLUMNS" + ], + "description": "The dimension of the span.", + "type": "string", + "enumDescriptions": [ + "The default value, do not use.", + "Operates on the rows of a sheet.", + "Operates on the columns of a sheet." + ] } }, - "id": "DimensionRange", - "description": "A range along a single dimension on a sheet.\nAll indexes are zero-based.\nIndexes are half open: the start index is inclusive\nand the end index is exclusive.\nMissing indexes indicate the range is unbounded on that side.", - "type": "object" + "id": "DimensionRange" }, "CutPasteRequest": { - "description": "Moves data from the source to the destination.", - "type": "object", "properties": { + "destination": { + "$ref": "GridCoordinate", + "description": "The top-left coordinate where the data should be pasted." + }, "pasteType": { - "enum": [ - "PASTE_NORMAL", - "PASTE_VALUES", - "PASTE_FORMAT", - "PASTE_NO_BORDERS", - "PASTE_FORMULA", - "PASTE_DATA_VALIDATION", - "PASTE_CONDITIONAL_FORMATTING" - ], "description": "What kind of data to paste. All the source data will be cut, regardless\nof what is pasted.", "type": "string", - "enumDescriptions": [ - "Paste values, formulas, formats, and merges.", - "Paste the values ONLY without formats, formulas, or merges.", - "Paste the format and data validation only.", - "Like PASTE_NORMAL but without borders.", - "Paste the formulas only.", - "Paste the data validation only.", - "Paste the conditional formatting rules only." - ] - }, - "source": { - "description": "The source data to cut.", - "$ref": "GridRange" - }, - "destination": { - "$ref": "GridCoordinate", - "description": "The top-left coordinate where the data should be pasted." - } - }, - "id": "CutPasteRequest" - }, - "Borders": { - "description": "The borders of the cell.", - "type": "object", - "properties": { - "top": { - "$ref": "Border", - "description": "The top border of the cell." - }, - "left": { - "$ref": "Border", - "description": "The left border of the cell." - }, - "right": { - "description": "The right border of the cell.", - "$ref": "Border" - }, - "bottom": { - "description": "The bottom border of the cell.", - "$ref": "Border" - } - }, - "id": "Borders" - }, - "BasicChartSeries": { - "description": "A single series of data in a chart.\nFor example, if charting stock prices over time, multiple series may exist,\none for the \"Open Price\", \"High Price\", \"Low Price\" and \"Close Price\".", - "type": "object", - "properties": { - "type": { - "enumDescriptions": [ - "Default value, do not use.", - "A \u003ca href=\"/chart/interactive/docs/gallery/barchart\"\u003ebar chart\u003c/a\u003e.", - "A \u003ca href=\"/chart/interactive/docs/gallery/linechart\"\u003eline chart\u003c/a\u003e.", - "An \u003ca href=\"/chart/interactive/docs/gallery/areachart\"\u003earea chart\u003c/a\u003e.", - "A \u003ca href=\"/chart/interactive/docs/gallery/columnchart\"\u003ecolumn chart\u003c/a\u003e.", - "A \u003ca href=\"/chart/interactive/docs/gallery/scatterchart\"\u003escatter chart\u003c/a\u003e.", - "A \u003ca href=\"/chart/interactive/docs/gallery/combochart\"\u003ecombo chart\u003c/a\u003e.", - "A \u003ca href=\"/chart/interactive/docs/gallery/steppedareachart\"\u003estepped area chart\u003c/a\u003e." - ], - "enum": [ - "BASIC_CHART_TYPE_UNSPECIFIED", - "BAR", - "LINE", - "AREA", - "COLUMN", - "SCATTER", - "COMBO", - "STEPPED_AREA" - ], - "description": "The type of this series. Valid only if the\nchartType is\nCOMBO.\nDifferent types will change the way the series is visualized.\nOnly LINE, AREA,\nand COLUMN are supported.", - "type": "string" - }, - "series": { - "$ref": "ChartData", - "description": "The data being visualized in this chart series." - }, - "targetAxis": { - "enum": [ - "BASIC_CHART_AXIS_POSITION_UNSPECIFIED", - "BOTTOM_AXIS", - "LEFT_AXIS", - "RIGHT_AXIS" - ], - "description": "The minor axis that will specify the range of values for this series.\nFor example, if charting stocks over time, the \"Volume\" series\nmay want to be pinned to the right with the prices pinned to the left,\nbecause the scale of trading volume is different than the scale of\nprices.\nIt is an error to specify an axis that isn't a valid minor axis\nfor the chart's type.", - "type": "string", - "enumDescriptions": [ - "Default value, do not use.", - "The axis rendered at the bottom of a chart.\nFor most charts, this is the standard major axis.\nFor bar charts, this is a minor axis.", - "The axis rendered at the left of a chart.\nFor most charts, this is a minor axis.\nFor bar charts, this is the standard major axis.", - "The axis rendered at the right of a chart.\nFor most charts, this is a minor axis.\nFor bar charts, this is an unusual major axis." - ] - } - }, - "id": "BasicChartSeries" - }, - "AutoResizeDimensionsRequest": { - "properties": { - "dimensions": { - "description": "The dimensions to automatically resize.\nOnly COLUMNS are supported.", - "$ref": "DimensionRange" - } - }, - "id": "AutoResizeDimensionsRequest", - "description": "Automatically resizes one or more dimensions based on the contents\nof the cells in that dimension.", - "type": "object" - }, - "UpdateBordersRequest": { - "description": "Updates the borders of a range.\nIf a field is not set in the request, that means the border remains as-is.\nFor example, with two subsequent UpdateBordersRequest:\n\n 1. range: A1:A5 `{ top: RED, bottom: WHITE }`\n 2. range: A1:A5 `{ left: BLUE }`\n\nThat would result in A1:A5 having a borders of\n`{ top: RED, bottom: WHITE, left: BLUE }`.\nIf you want to clear a border, explicitly set the style to\nNONE.", - "type": "object", - "properties": { - "innerVertical": { - "$ref": "Border", - "description": "The vertical border to put within the range." - }, - "right": { - "description": "The border to put at the right of the range.", - "$ref": "Border" - }, - "range": { - "$ref": "GridRange", - "description": "The range whose borders should be updated." - }, - "innerHorizontal": { - "$ref": "Border", - "description": "The horizontal border to put within the range." - }, - "top": { - "description": "The border to put at the top of the range.", - "$ref": "Border" - }, - "left": { - "$ref": "Border", - "description": "The border to put at the left of the range." - }, - "bottom": { - "description": "The border to put at the bottom of the range.", - "$ref": "Border" - } - }, - "id": "UpdateBordersRequest" - }, - "CellFormat": { - "description": "The format of a cell.", - "type": "object", - "properties": { - "numberFormat": { - "$ref": "NumberFormat", - "description": "A format describing how number values should be represented to the user." - }, - "hyperlinkDisplayType": { - "enum": [ - "HYPERLINK_DISPLAY_TYPE_UNSPECIFIED", - "LINKED", - "PLAIN_TEXT" - ], - "description": "How a hyperlink, if it exists, should be displayed in the cell.", - "type": "string", - "enumDescriptions": [ - "The default value: the hyperlink is rendered. Do not use this.", - "A hyperlink should be explicitly rendered.", - "A hyperlink should not be rendered." - ] - }, - "horizontalAlignment": { - "enumDescriptions": [ - "The horizontal alignment is not specified. Do not use this.", - "The text is explicitly aligned to the left of the cell.", - "The text is explicitly aligned to the center of the cell.", - "The text is explicitly aligned to the right of the cell." - ], - "enum": [ - "HORIZONTAL_ALIGN_UNSPECIFIED", - "LEFT", - "CENTER", - "RIGHT" - ], - "description": "The horizontal alignment of the value in the cell.", - "type": "string" - }, - "textFormat": { - "description": "The format of the text in the cell (unless overridden by a format run).", - "$ref": "TextFormat" - }, - "backgroundColor": { - "description": "The background color of the cell.", - "$ref": "Color" - }, - "verticalAlignment": { - "description": "The vertical alignment of the value in the cell.", - "type": "string", - "enumDescriptions": [ - "The vertical alignment is not specified. Do not use this.", - "The text is explicitly aligned to the top of the cell.", - "The text is explicitly aligned to the middle of the cell.", - "The text is explicitly aligned to the bottom of the cell." - ], - "enum": [ - "VERTICAL_ALIGN_UNSPECIFIED", - "TOP", - "MIDDLE", - "BOTTOM" - ] - }, - "padding": { - "$ref": "Padding", - "description": "The padding of the cell." - }, - "textDirection": { - "enumDescriptions": [ - "The text direction is not specified. Do not use this.", - "The text direction of left-to-right was set by the user.", - "The text direction of right-to-left was set by the user." - ], - "enum": [ - "TEXT_DIRECTION_UNSPECIFIED", - "LEFT_TO_RIGHT", - "RIGHT_TO_LEFT" - ], - "description": "The direction of the text in the cell.", - "type": "string" - }, - "borders": { - "description": "The borders of the cell.", - "$ref": "Borders" - }, - "textRotation": { - "$ref": "TextRotation", - "description": "The rotation applied to text in a cell" - }, - "wrapStrategy": { - "enumDescriptions": [ - "The default value, do not use.", - "Lines that are longer than the cell width will be written in the next\ncell over, so long as that cell is empty. If the next cell over is\nnon-empty, this behaves the same as CLIP. The text will never wrap\nto the next line unless the user manually inserts a new line.\nExample:\n\n | First sentence. |\n | Manual newline that is very long. \u003c- Text continues into next cell\n | Next newline. |", - "This wrap strategy represents the old Google Sheets wrap strategy where\nwords that are longer than a line are clipped rather than broken. This\nstrategy is not supported on all platforms and is being phased out.\nExample:\n\n | Cell has a |\n | loooooooooo| \u003c- Word is clipped.\n | word. |", - "Lines that are longer than the cell width will be clipped.\nThe text will never wrap to the next line unless the user manually\ninserts a new line.\nExample:\n\n | First sentence. |\n | Manual newline t| \u003c- Text is clipped\n | Next newline. |", - "Words that are longer than a line are wrapped at the character level\nrather than clipped.\nExample:\n\n | Cell has a |\n | loooooooooo| \u003c- Word is broken.\n | ong word. |" - ], - "enum": [ - "WRAP_STRATEGY_UNSPECIFIED", - "OVERFLOW_CELL", - "LEGACY_WRAP", - "CLIP", - "WRAP" - ], - "description": "The wrap strategy for the value in the cell.", - "type": "string" - } - }, - "id": "CellFormat" - }, - "ClearValuesResponse": { - "description": "The response when clearing a range of values in a spreadsheet.", - "type": "object", - "properties": { - "spreadsheetId": { - "description": "The spreadsheet the updates were applied to.", - "type": "string" - }, - "clearedRange": { - "description": "The range (in A1 notation) that was cleared.\n(If the request was for an unbounded range or a ranger larger\n than the bounds of the sheet, this will be the actual range\n that was cleared, bounded to the sheet's limits.)", - "type": "string" - } - }, - "id": "ClearValuesResponse" - }, - "DeleteConditionalFormatRuleRequest": { - "description": "Deletes a conditional format rule at the given index.\nAll subsequent rules' indexes are decremented.", - "type": "object", - "properties": { - "index": { - "format": "int32", - "description": "The zero-based index of the rule to be deleted.", - "type": "integer" - }, - "sheetId": { - "format": "int32", - "description": "The sheet the rule is being deleted from.", - "type": "integer" - } - }, - "id": "DeleteConditionalFormatRuleRequest" - }, - "AddBandingResponse": { - "description": "The result of adding a banded range.", - "type": "object", - "properties": { - "bandedRange": { - "description": "The banded range that was added.", - "$ref": "BandedRange" - } - }, - "id": "AddBandingResponse" - }, - "DeleteNamedRangeRequest": { - "description": "Removes the named range with the given ID from the spreadsheet.", - "type": "object", - "properties": { - "namedRangeId": { - "description": "The ID of the named range to delete.", - "type": "string" - } - }, - "id": "DeleteNamedRangeRequest" - }, - "ChartData": { - "description": "The data included in a domain or series.", - "type": "object", - "properties": { - "sourceRange": { - "description": "The source ranges of the data.", - "$ref": "ChartSourceRange" - } - }, - "id": "ChartData" - }, - "BatchGetValuesResponse": { - "description": "The response when retrieving more than one range of values in a spreadsheet.", - "type": "object", - "properties": { - "valueRanges": { - "description": "The requested values. The order of the ValueRanges is the same as the\norder of the requested ranges.", - "items": { - "$ref": "ValueRange" - }, - "type": "array" - }, - "spreadsheetId": { - "description": "The ID of the spreadsheet the data was retrieved from.", - "type": "string" - } - }, - "id": "BatchGetValuesResponse" - }, - "UpdateBandingRequest": { - "description": "Updates properties of the supplied banded range.", - "type": "object", - "properties": { - "bandedRange": { - "description": "The banded range to update with the new properties.", - "$ref": "BandedRange" - }, - "fields": { - "format": "google-fieldmask", - "description": "The fields that should be updated. At least one field must be specified.\nThe root `bandedRange` is implied and should not be specified.\nA single `\"*\"` can be used as short-hand for listing every field.", - "type": "string" - } - }, - "id": "UpdateBandingRequest" - }, - "Color": { - "description": "Represents a color in the RGBA color space. This representation is designed\nfor simplicity of conversion to/from color representations in various\nlanguages over compactness; for example, the fields of this representation\ncan be trivially provided to the constructor of \"java.awt.Color\" in Java; it\ncan also be trivially provided to UIColor's \"+colorWithRed:green:blue:alpha\"\nmethod in iOS; and, with just a little work, it can be easily formatted into\na CSS \"rgba()\" string in JavaScript, as well. Here are some examples:\n\nExample (Java):\n\n import com.google.type.Color;\n\n // ...\n public static java.awt.Color fromProto(Color protocolor) {\n float alpha = protocolor.hasAlpha()\n ? protocolor.getAlpha().getValue()\n : 1.0;\n\n return new java.awt.Color(\n protocolor.getRed(),\n protocolor.getGreen(),\n protocolor.getBlue(),\n alpha);\n }\n\n public static Color toProto(java.awt.Color color) {\n float red = (float) color.getRed();\n float green = (float) color.getGreen();\n float blue = (float) color.getBlue();\n float denominator = 255.0;\n Color.Builder resultBuilder =\n Color\n .newBuilder()\n .setRed(red / denominator)\n .setGreen(green / denominator)\n .setBlue(blue / denominator);\n int alpha = color.getAlpha();\n if (alpha != 255) {\n result.setAlpha(\n FloatValue\n .newBuilder()\n .setValue(((float) alpha) / denominator)\n .build());\n }\n return resultBuilder.build();\n }\n // ...\n\nExample (iOS / Obj-C):\n\n // ...\n static UIColor* fromProto(Color* protocolor) {\n float red = [protocolor red];\n float green = [protocolor green];\n float blue = [protocolor blue];\n FloatValue* alpha_wrapper = [protocolor alpha];\n float alpha = 1.0;\n if (alpha_wrapper != nil) {\n alpha = [alpha_wrapper value];\n }\n return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];\n }\n\n static Color* toProto(UIColor* color) {\n CGFloat red, green, blue, alpha;\n if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {\n return nil;\n }\n Color* result = [Color alloc] init];\n [result setRed:red];\n [result setGreen:green];\n [result setBlue:blue];\n if (alpha \u003c= 0.9999) {\n [result setAlpha:floatWrapperWithValue(alpha)];\n }\n [result autorelease];\n return result;\n }\n // ...\n\n Example (JavaScript):\n\n // ...\n\n var protoToCssColor = function(rgb_color) {\n var redFrac = rgb_color.red || 0.0;\n var greenFrac = rgb_color.green || 0.0;\n var blueFrac = rgb_color.blue || 0.0;\n var red = Math.floor(redFrac * 255);\n var green = Math.floor(greenFrac * 255);\n var blue = Math.floor(blueFrac * 255);\n\n if (!('alpha' in rgb_color)) {\n return rgbToCssColor_(red, green, blue);\n }\n\n var alphaFrac = rgb_color.alpha.value || 0.0;\n var rgbParams = [red, green, blue].join(',');\n return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');\n };\n\n var rgbToCssColor_ = function(red, green, blue) {\n var rgbNumber = new Number((red \u003c\u003c 16) | (green \u003c\u003c 8) | blue);\n var hexString = rgbNumber.toString(16);\n var missingZeros = 6 - hexString.length;\n var resultBuilder = ['#'];\n for (var i = 0; i \u003c missingZeros; i++) {\n resultBuilder.push('0');\n }\n resultBuilder.push(hexString);\n return resultBuilder.join('');\n };\n\n // ...", - "type": "object", - "properties": { - "alpha": { - "format": "float", - "description": "The fraction of this color that should be applied to the pixel. That is,\nthe final pixel color is defined by the equation:\n\n pixel color = alpha * (this color) + (1.0 - alpha) * (background color)\n\nThis means that a value of 1.0 corresponds to a solid color, whereas\na value of 0.0 corresponds to a completely transparent color. This\nuses a wrapper message rather than a simple float scalar so that it is\npossible to distinguish between a default value and the value being unset.\nIf omitted, this color object is to be rendered as a solid color\n(as if the alpha value had been explicitly given with a value of 1.0).", - "type": "number" - }, - "blue": { - "format": "float", - "description": "The amount of blue in the color as a value in the interval [0, 1].", - "type": "number" - }, - "green": { - "format": "float", - "description": "The amount of green in the color as a value in the interval [0, 1].", - "type": "number" - }, - "red": { - "format": "float", - "description": "The amount of red in the color as a value in the interval [0, 1].", - "type": "number" - } - }, - "id": "Color" - }, - "PivotGroup": { - "description": "A single grouping (either row or column) in a pivot table.", - "type": "object", - "properties": { - "valueMetadata": { - "description": "Metadata about values in the grouping.", - "items": { - "$ref": "PivotGroupValueMetadata" - }, - "type": "array" - }, - "showTotals": { - "description": "True if the pivot table should include the totals for this grouping.", - "type": "boolean" - }, - "sourceColumnOffset": { - "format": "int32", - "description": "The column offset of the source range that this grouping is based on.\n\nFor example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`\nmeans this group refers to column `C`, whereas the offset `1` would refer\nto column `D`.", - "type": "integer" - }, - "sortOrder": { - "enum": [ - "SORT_ORDER_UNSPECIFIED", - "ASCENDING", - "DESCENDING" - ], - "description": "The order the values in this group should be sorted.", - "type": "string", - "enumDescriptions": [ - "Default value, do not use this.", - "Sort ascending.", - "Sort descending." - ] - }, - "valueBucket": { - "$ref": "PivotGroupSortValueBucket", - "description": "The bucket of the opposite pivot group to sort by.\nIf not specified, sorting is alphabetical by this group's values." - } - }, - "id": "PivotGroup" - }, - "PivotTable": { - "description": "A pivot table.", - "type": "object", - "properties": { - "criteria": { - "additionalProperties": { - "$ref": "PivotFilterCriteria" - }, - "description": "An optional mapping of filters per source column offset.\n\nThe filters will be applied before aggregating data into the pivot table.\nThe map's key is the column offset of the source range that you want to\nfilter, and the value is the criteria for that column.\n\nFor example, if the source was `C10:E15`, a key of `0` will have the filter\nfor column `C`, whereas the key `1` is for column `D`.", - "type": "object" - }, - "rows": { - "description": "Each row grouping in the pivot table.", - "items": { - "$ref": "PivotGroup" - }, - "type": "array" - }, - "valueLayout": { - "enum": [ - "HORIZONTAL", - "VERTICAL" - ], - "description": "Whether values should be listed horizontally (as columns)\nor vertically (as rows).", - "type": "string", - "enumDescriptions": [ - "Values are laid out horizontally (as columns).", - "Values are laid out vertically (as rows)." - ] - }, - "columns": { - "description": "Each column grouping in the pivot table.", - "items": { - "$ref": "PivotGroup" - }, - "type": "array" - }, - "values": { - "description": "A list of values to include in the pivot table.", - "items": { - "$ref": "PivotValue" - }, - "type": "array" - }, - "source": { - "description": "The range the pivot table is reading data from.", - "$ref": "GridRange" - } - }, - "id": "PivotTable" - }, - "ChartSourceRange": { - "description": "Source ranges for a chart.", - "type": "object", - "properties": { - "sources": { - "description": "The ranges of data for a series or domain.\nExactly one dimension must have a length of 1,\nand all sources in the list must have the same dimension\nwith length 1.\nThe domain (if it exists) & all series must have the same number\nof source ranges. If using more than one source range, then the source\nrange at a given offset must be contiguous across the domain and series.\n\nFor example, these are valid configurations:\n\n domain sources: A1:A5\n series1 sources: B1:B5\n series2 sources: D6:D10\n\n domain sources: A1:A5, C10:C12\n series1 sources: B1:B5, D10:D12\n series2 sources: C1:C5, E10:E12", - "items": { - "$ref": "GridRange" - }, - "type": "array" - } - }, - "id": "ChartSourceRange" - }, - "AppendCellsRequest": { - "description": "Adds new cells after the last row with data in a sheet,\ninserting new rows into the sheet if necessary.", - "type": "object", - "properties": { - "fields": { - "format": "google-fieldmask", - "description": "The fields of CellData that should be updated.\nAt least one field must be specified.\nThe root is the CellData; 'row.values.' should not be specified.\nA single `\"*\"` can be used as short-hand for listing every field.", - "type": "string" - }, - "rows": { - "description": "The data to append.", - "items": { - "$ref": "RowData" - }, - "type": "array" - }, - "sheetId": { - "format": "int32", - "description": "The sheet ID to append the data to.", - "type": "integer" - } - }, - "id": "AppendCellsRequest" - }, - "ValueRange": { - "description": "Data within a range of the spreadsheet.", - "type": "object", - "properties": { - "values": { - "description": "The data that was read or to be written. This is an array of arrays,\nthe outer array representing all the data and each inner array\nrepresenting a major dimension. Each item in the inner array\ncorresponds with one cell.\n\nFor output, empty trailing rows and columns will not be included.\n\nFor input, supported value types are: bool, string, and double.\nNull values will be skipped.\nTo set a cell to an empty value, set the string value to an empty string.", - "items": { - "items": { - "type": "any" - }, - "type": "array" - }, - "type": "array" - }, - "majorDimension": { - "enumDescriptions": [ - "The default value, do not use.", - "Operates on the rows of a sheet.", - "Operates on the columns of a sheet." - ], - "enum": [ - "DIMENSION_UNSPECIFIED", - "ROWS", - "COLUMNS" - ], - "description": "The major dimension of the values.\n\nFor output, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`,\nthen requesting `range=A1:B2,majorDimension=ROWS` will return\n`[[1,2],[3,4]]`,\nwhereas requesting `range=A1:B2,majorDimension=COLUMNS` will return\n`[[1,3],[2,4]]`.\n\nFor input, with `range=A1:B2,majorDimension=ROWS` then `[[1,2],[3,4]]`\nwill set `A1=1,B1=2,A2=3,B2=4`. With `range=A1:B2,majorDimension=COLUMNS`\nthen `[[1,2],[3,4]]` will set `A1=1,B1=3,A2=2,B2=4`.\n\nWhen writing, if this field is not set, it defaults to ROWS.", - "type": "string" - }, - "range": { - "description": "The range the values cover, in A1 notation.\nFor output, this range indicates the entire requested range,\neven though the values will exclude trailing rows and columns.\nWhen appending values, this field represents the range to search for a\ntable, after which values will be appended.", - "type": "string" - } - }, - "id": "ValueRange" - }, - "AddBandingRequest": { - "description": "Adds a new banded range to the spreadsheet.", - "type": "object", - "properties": { - "bandedRange": { - "$ref": "BandedRange", - "description": "The banded range to add. The bandedRangeId\nfield is optional; if one is not set, an id will be randomly generated. (It\nis an error to specify the ID of a range that already exists.)" - } - }, - "id": "AddBandingRequest" - }, - "Response": { - "properties": { - "addChart": { - "description": "A reply from adding a chart.", - "$ref": "AddChartResponse" - }, - "findReplace": { - "description": "A reply from doing a find/replace.", - "$ref": "FindReplaceResponse" - }, - "addSheet": { - "description": "A reply from adding a sheet.", - "$ref": "AddSheetResponse" - }, - "updateConditionalFormatRule": { - "description": "A reply from updating a conditional format rule.", - "$ref": "UpdateConditionalFormatRuleResponse" - }, - "addNamedRange": { - "$ref": "AddNamedRangeResponse", - "description": "A reply from adding a named range." - }, - "addFilterView": { - "description": "A reply from adding a filter view.", - "$ref": "AddFilterViewResponse" - }, - "addBanding": { - "$ref": "AddBandingResponse", - "description": "A reply from adding a banded range." - }, - "addProtectedRange": { - "$ref": "AddProtectedRangeResponse", - "description": "A reply from adding a protected range." - }, - "duplicateSheet": { - "$ref": "DuplicateSheetResponse", - "description": "A reply from duplicating a sheet." - }, - "updateEmbeddedObjectPosition": { - "description": "A reply from updating an embedded object's position.", - "$ref": "UpdateEmbeddedObjectPositionResponse" - }, - "deleteConditionalFormatRule": { - "$ref": "DeleteConditionalFormatRuleResponse", - "description": "A reply from deleting a conditional format rule." - }, - "duplicateFilterView": { - "description": "A reply from duplicating a filter view.", - "$ref": "DuplicateFilterViewResponse" - } - }, - "id": "Response", - "description": "A single response from an update.", - "type": "object" - }, - "InsertRangeRequest": { - "description": "Inserts cells into a range, shifting the existing cells over or down.", - "type": "object", - "properties": { - "shiftDimension": { - "enum": [ - "DIMENSION_UNSPECIFIED", - "ROWS", - "COLUMNS" - ], - "description": "The dimension which will be shifted when inserting cells.\nIf ROWS, existing cells will be shifted down.\nIf COLUMNS, existing cells will be shifted right.", - "type": "string", - "enumDescriptions": [ - "The default value, do not use.", - "Operates on the rows of a sheet.", - "Operates on the columns of a sheet." - ] - }, - "range": { - "description": "The range to insert new cells into.", - "$ref": "GridRange" - } - }, - "id": "InsertRangeRequest" - }, - "TextFormatRun": { - "description": "A run of a text format. The format of this run continues until the start\nindex of the next run.\nWhen updating, all fields must be set.", - "type": "object", - "properties": { - "startIndex": { - "format": "int32", - "description": "The character index where this run starts.", - "type": "integer" - }, - "format": { - "description": "The format of this run. Absent values inherit the cell's format.", - "$ref": "TextFormat" - } - }, - "id": "TextFormatRun" - }, - "EmbeddedChart": { - "properties": { - "spec": { - "description": "The specification of the chart.", - "$ref": "ChartSpec" - }, - "chartId": { - "format": "int32", - "description": "The ID of the chart.", - "type": "integer" - }, - "position": { - "$ref": "EmbeddedObjectPosition", - "description": "The position of the chart." - } - }, - "id": "EmbeddedChart", - "description": "A chart embedded in a sheet.", - "type": "object" - }, - "AddNamedRangeResponse": { - "description": "The result of adding a named range.", - "type": "object", - "properties": { - "namedRange": { - "$ref": "NamedRange", - "description": "The named range to add." - } - }, - "id": "AddNamedRangeResponse" - }, - "RowData": { - "properties": { - "values": { - "description": "The values in the row, one per column.", - "items": { - "$ref": "CellData" - }, - "type": "array" - } - }, - "id": "RowData", - "description": "Data about each cell in a row.", - "type": "object" - }, - "Border": { - "properties": { - "width": { - "format": "int32", - "description": "The width of the border, in pixels.\nDeprecated; the width is determined by the \"style\" field.", - "type": "integer" - }, - "style": { - "enum": [ - "STYLE_UNSPECIFIED", - "DOTTED", - "DASHED", - "SOLID", - "SOLID_MEDIUM", - "SOLID_THICK", - "NONE", - "DOUBLE" - ], - "description": "The style of the border.", - "type": "string", - "enumDescriptions": [ - "The style is not specified. Do not use this.", - "The border is dotted.", - "The border is dashed.", - "The border is a thin solid line.", - "The border is a medium solid line.", - "The border is a thick solid line.", - "No border.\nUsed only when updating a border in order to erase it.", - "The border is two solid lines." - ] - }, - "color": { - "$ref": "Color", - "description": "The color of the border." - } - }, - "id": "Border", - "description": "A border along a cell.", - "type": "object" - }, - "GridData": { - "description": "Data in the grid, as well as metadata about the dimensions.", - "type": "object", - "properties": { - "columnMetadata": { - "description": "Metadata about the requested columns in the grid, starting with the column\nin start_column.", - "items": { - "$ref": "DimensionProperties" - }, - "type": "array" - }, - "startColumn": { - "format": "int32", - "description": "The first column this GridData refers to, zero-based.", - "type": "integer" - }, - "rowMetadata": { - "description": "Metadata about the requested rows in the grid, starting with the row\nin start_row.", - "items": { - "$ref": "DimensionProperties" - }, - "type": "array" - }, - "rowData": { - "description": "The data in the grid, one entry per row,\nstarting with the row in startRow.\nThe values in RowData will correspond to columns starting\nat start_column.", - "items": { - "$ref": "RowData" - }, - "type": "array" - }, - "startRow": { - "format": "int32", - "description": "The first row this GridData refers to, zero-based.", - "type": "integer" - } - }, - "id": "GridData" - }, - "UpdateNamedRangeRequest": { - "description": "Updates properties of the named range with the specified\nnamedRangeId.", - "type": "object", - "properties": { - "namedRange": { - "$ref": "NamedRange", - "description": "The named range to update with the new properties." - }, - "fields": { - "format": "google-fieldmask", - "description": "The fields that should be updated. At least one field must be specified.\nThe root `namedRange` is implied and should not be specified.\nA single `\"*\"` can be used as short-hand for listing every field.", - "type": "string" - } - }, - "id": "UpdateNamedRangeRequest" - }, - "FindReplaceRequest": { - "description": "Finds and replaces data in cells over a range, sheet, or all sheets.", - "type": "object", - "properties": { - "matchEntireCell": { - "description": "True if the find value should match the entire cell.", - "type": "boolean" - }, - "searchByRegex": { - "description": "True if the find value is a regex.\nThe regular expression and replacement should follow Java regex rules\nat https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html.\nThe replacement string is allowed to refer to capturing groups.\nFor example, if one cell has the contents `\"Google Sheets\"` and another\nhas `\"Google Docs\"`, then searching for `\"o.* (.*)\"` with a replacement of\n`\"$1 Rocks\"` would change the contents of the cells to\n`\"GSheets Rocks\"` and `\"GDocs Rocks\"` respectively.", - "type": "boolean" - }, - "find": { - "description": "The value to search.", - "type": "string" - }, - "replacement": { - "description": "The value to use as the replacement.", - "type": "string" - }, - "range": { - "$ref": "GridRange", - "description": "The range to find/replace over." - }, - "sheetId": { - "format": "int32", - "description": "The sheet to find/replace over.", - "type": "integer" - }, - "matchCase": { - "description": "True if the search is case sensitive.", - "type": "boolean" - }, - "allSheets": { - "description": "True to find/replace over all sheets.", - "type": "boolean" - }, - "includeFormulas": { - "description": "True if the search should include cells with formulas.\nFalse to skip cells with formulas.", - "type": "boolean" - } - }, - "id": "FindReplaceRequest" - }, - "AddSheetRequest": { - "description": "Adds a new sheet.\nWhen a sheet is added at a given index,\nall subsequent sheets' indexes are incremented.\nTo add an object sheet, use AddChartRequest instead and specify\nEmbeddedObjectPosition.sheetId or\nEmbeddedObjectPosition.newSheet.", - "type": "object", - "properties": { - "properties": { - "$ref": "SheetProperties", - "description": "The properties the new sheet should have.\nAll properties are optional.\nThe sheetId field is optional; if one is not\nset, an id will be randomly generated. (It is an error to specify the ID\nof a sheet that already exists.)" - } - }, - "id": "AddSheetRequest" - }, - "UpdateCellsRequest": { - "description": "Updates all cells in a range with new data.", - "type": "object", - "properties": { - "range": { - "$ref": "GridRange", - "description": "The range to write data to.\n\nIf the data in rows does not cover the entire requested range,\nthe fields matching those set in fields will be cleared." - }, - "fields": { - "format": "google-fieldmask", - "description": "The fields of CellData that should be updated.\nAt least one field must be specified.\nThe root is the CellData; 'row.values.' should not be specified.\nA single `\"*\"` can be used as short-hand for listing every field.", - "type": "string" - }, - "rows": { - "description": "The data to write.", - "items": { - "$ref": "RowData" - }, - "type": "array" - }, - "start": { - "$ref": "GridCoordinate", - "description": "The coordinate to start writing data at.\nAny number of rows and columns (including a different number of\ncolumns per row) may be written." - } - }, - "id": "UpdateCellsRequest" - }, - "DeleteConditionalFormatRuleResponse": { - "description": "The result of deleting a conditional format rule.", - "type": "object", - "properties": { - "rule": { - "description": "The rule that was deleted.", - "$ref": "ConditionalFormatRule" - } - }, - "id": "DeleteConditionalFormatRuleResponse" - }, - "DeleteRangeRequest": { - "description": "Deletes a range of cells, shifting other cells into the deleted area.", - "type": "object", - "properties": { - "shiftDimension": { - "enumDescriptions": [ - "The default value, do not use.", - "Operates on the rows of a sheet.", - "Operates on the columns of a sheet." - ], - "enum": [ - "DIMENSION_UNSPECIFIED", - "ROWS", - "COLUMNS" - ], - "description": "The dimension from which deleted cells will be replaced with.\nIf ROWS, existing cells will be shifted upward to\nreplace the deleted cells. If COLUMNS, existing cells\nwill be shifted left to replace the deleted cells.", - "type": "string" - }, - "range": { - "description": "The range of cells to delete.", - "$ref": "GridRange" - } - }, - "id": "DeleteRangeRequest" - }, - "GridCoordinate": { - "description": "A coordinate in a sheet.\nAll indexes are zero-based.", - "type": "object", - "properties": { - "columnIndex": { - "format": "int32", - "description": "The column index of the coordinate.", - "type": "integer" - }, - "rowIndex": { - "format": "int32", - "description": "The row index of the coordinate.", - "type": "integer" - }, - "sheetId": { - "format": "int32", - "description": "The sheet this coordinate is on.", - "type": "integer" - } - }, - "id": "GridCoordinate" - }, - "UpdateSheetPropertiesRequest": { - "description": "Updates properties of the sheet with the specified\nsheetId.", - "type": "object", - "properties": { - "properties": { - "$ref": "SheetProperties", - "description": "The properties to update." - }, - "fields": { - "format": "google-fieldmask", - "description": "The fields that should be updated. At least one field must be specified.\nThe root `properties` is implied and should not be specified.\nA single `\"*\"` can be used as short-hand for listing every field.", - "type": "string" - } - }, - "id": "UpdateSheetPropertiesRequest" - }, - "GridProperties": { - "description": "Properties of a grid.", - "type": "object", - "properties": { - "hideGridlines": { - "description": "True if the grid isn't showing gridlines in the UI.", - "type": "boolean" - }, - "frozenRowCount": { - "format": "int32", - "description": "The number of rows that are frozen in the grid.", - "type": "integer" - }, - "frozenColumnCount": { - "format": "int32", - "description": "The number of columns that are frozen in the grid.", - "type": "integer" - }, - "columnCount": { - "format": "int32", - "description": "The number of columns in the grid.", - "type": "integer" - }, - "rowCount": { - "format": "int32", - "description": "The number of rows in the grid.", - "type": "integer" - } - }, - "id": "GridProperties" - }, - "UnmergeCellsRequest": { - "description": "Unmerges cells in the given range.", - "type": "object", - "properties": { - "range": { - "$ref": "GridRange", - "description": "The range within which all cells should be unmerged.\nIf the range spans multiple merges, all will be unmerged.\nThe range must not partially span any merge." - } - }, - "id": "UnmergeCellsRequest" - }, - "UpdateEmbeddedObjectPositionResponse": { - "description": "The result of updating an embedded object's position.", - "type": "object", - "properties": { - "position": { - "$ref": "EmbeddedObjectPosition", - "description": "The new position of the embedded object." - } - }, - "id": "UpdateEmbeddedObjectPositionResponse" - }, - "SortSpec": { - "description": "A sort order associated with a specific column or row.", - "type": "object", - "properties": { - "dimensionIndex": { - "format": "int32", - "description": "The dimension the sort should be applied to.", - "type": "integer" - }, - "sortOrder": { - "enumDescriptions": [ - "Default value, do not use this.", - "Sort ascending.", - "Sort descending." - ], - "enum": [ - "SORT_ORDER_UNSPECIFIED", - "ASCENDING", - "DESCENDING" - ], - "description": "The order data should be sorted.", - "type": "string" - } - }, - "id": "SortSpec" - }, - "Sheet": { - "description": "A sheet in a spreadsheet.", - "type": "object", - "properties": { - "protectedRanges": { - "description": "The protected ranges in this sheet.", - "items": { - "$ref": "ProtectedRange" - }, - "type": "array" - }, - "conditionalFormats": { - "description": "The conditional format rules in this sheet.", - "items": { - "$ref": "ConditionalFormatRule" - }, - "type": "array" - }, - "basicFilter": { - "description": "The filter on this sheet, if any.", - "$ref": "BasicFilter" - }, - "merges": { - "description": "The ranges that are merged together.", - "items": { - "$ref": "GridRange" - }, - "type": "array" - }, - "data": { - "description": "Data in the grid, if this is a grid sheet.\nThe number of GridData objects returned is dependent on the number of\nranges requested on this sheet. For example, if this is representing\n`Sheet1`, and the spreadsheet was requested with ranges\n`Sheet1!A1:C10` and `Sheet1!D15:E20`, then the first GridData will have a\nstartRow/startColumn of `0`,\nwhile the second one will have `startRow 14` (zero-based row 15),\nand `startColumn 3` (zero-based column D).", - "items": { - "$ref": "GridData" - }, - "type": "array" - }, - "bandedRanges": { - "description": "The banded (i.e. alternating colors) ranges on this sheet.", - "items": { - "$ref": "BandedRange" - }, - "type": "array" - }, - "charts": { - "description": "The specifications of every chart on this sheet.", - "items": { - "$ref": "EmbeddedChart" - }, - "type": "array" - }, - "properties": { - "description": "The properties of the sheet.", - "$ref": "SheetProperties" - }, - "filterViews": { - "description": "The filter views in this sheet.", - "items": { - "$ref": "FilterView" - }, - "type": "array" - } - }, - "id": "Sheet" - }, - "BooleanRule": { - "description": "A rule that may or may not match, depending on the condition.", - "type": "object", - "properties": { - "format": { - "description": "The format to apply.\nConditional formatting can only apply a subset of formatting:\nbold, italic,\nstrikethrough,\nforeground color &\nbackground color.", - "$ref": "CellFormat" - }, - "condition": { - "$ref": "BooleanCondition", - "description": "The condition of the rule. If the condition evaluates to true,\nthe format will be applied." - } - }, - "id": "BooleanRule" - }, - "FilterCriteria": { - "description": "Criteria for showing/hiding rows in a filter or filter view.", - "type": "object", - "properties": { - "condition": { - "description": "A condition that must be true for values to be shown.\n(This does not override hiddenValues -- if a value is listed there,\n it will still be hidden.)", - "$ref": "BooleanCondition" - }, - "hiddenValues": { - "description": "Values that should be hidden.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "FilterCriteria" - }, - "PivotGroupValueMetadata": { - "description": "Metadata about a value in a pivot grouping.", - "type": "object", - "properties": { - "value": { - "description": "The calculated value the metadata corresponds to.\n(Note that formulaValue is not valid,\n because the values will be calculated.)", - "$ref": "ExtendedValue" - }, - "collapsed": { - "description": "True if the data corresponding to the value is collapsed.", - "type": "boolean" - } - }, - "id": "PivotGroupValueMetadata" - }, - "Editors": { - "description": "The editors of a protected range.", - "type": "object", - "properties": { - "users": { - "description": "The email addresses of users with edit access to the protected range.", - "items": { - "type": "string" - }, - "type": "array" - }, - "domainUsersCanEdit": { - "description": "True if anyone in the document's domain has edit access to the protected\nrange. Domain protection is only supported on documents within a domain.", - "type": "boolean" - }, - "groups": { - "description": "The email addresses of groups with edit access to the protected range.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "Editors" - }, - "UpdateConditionalFormatRuleRequest": { - "description": "Updates a conditional format rule at the given index,\nor moves a conditional format rule to another index.", - "type": "object", - "properties": { - "rule": { - "$ref": "ConditionalFormatRule", - "description": "The rule that should replace the rule at the given index." - }, - "index": { - "format": "int32", - "description": "The zero-based index of the rule that should be replaced or moved.", - "type": "integer" - }, - "sheetId": { - "format": "int32", - "description": "The sheet of the rule to move. Required if new_index is set,\nunused otherwise.", - "type": "integer" - }, - "newIndex": { - "format": "int32", - "description": "The zero-based new index the rule should end up at.", - "type": "integer" - } - }, - "id": "UpdateConditionalFormatRuleRequest" - }, - "BasicChartDomain": { - "description": "The domain of a chart.\nFor example, if charting stock prices over time, this would be the date.", - "type": "object", - "properties": { - "domain": { - "description": "The data of the domain. For example, if charting stock prices over time,\nthis is the data representing the dates.", - "$ref": "ChartData" - }, - "reversed": { - "description": "True to reverse the order of the domain values (horizontal axis).\nNot applicable to Gauge, Geo, Histogram, Org, Pie, Radar, and Treemap\ncharts.", - "type": "boolean" - } - }, - "id": "BasicChartDomain" - }, - "DataValidationRule": { - "description": "A data validation rule.", - "type": "object", - "properties": { - "condition": { - "$ref": "BooleanCondition", - "description": "The condition that data in the cell must match." - }, - "showCustomUi": { - "description": "True if the UI should be customized based on the kind of condition.\nIf true, \"List\" conditions will show a dropdown.", - "type": "boolean" - }, - "strict": { - "description": "True if invalid data should be rejected.", - "type": "boolean" - }, - "inputMessage": { - "description": "A message to show the user when adding data to the cell.", - "type": "string" - } - }, - "id": "DataValidationRule" - }, - "PasteDataRequest": { - "description": "Inserts data into the spreadsheet starting at the specified coordinate.", - "type": "object", - "properties": { - "html": { - "description": "True if the data is HTML.", - "type": "boolean" - }, - "coordinate": { - "$ref": "GridCoordinate", - "description": "The coordinate at which the data should start being inserted." - }, - "delimiter": { - "description": "The delimiter in the data.", - "type": "string" - }, - "data": { - "description": "The data to insert.", - "type": "string" - }, - "type": { "enumDescriptions": [ "Paste values, formulas, formats, and merges.", "Paste the values ONLY without formats, formulas, or merges.", @@ -3842,68 +5342,27 @@ "PASTE_FORMULA", "PASTE_DATA_VALIDATION", "PASTE_CONDITIONAL_FORMATTING" - ], - "description": "How the data should be pasted.", - "type": "string" - } - }, - "id": "PasteDataRequest" - }, - "AppendDimensionRequest": { - "description": "Appends rows or columns to the end of a sheet.", - "type": "object", - "properties": { - "dimension": { - "enumDescriptions": [ - "The default value, do not use.", - "Operates on the rows of a sheet.", - "Operates on the columns of a sheet." - ], - "enum": [ - "DIMENSION_UNSPECIFIED", - "ROWS", - "COLUMNS" - ], - "description": "Whether rows or columns should be appended.", - "type": "string" + ] }, - "length": { - "format": "int32", - "description": "The number of rows or columns to append.", - "type": "integer" - }, - "sheetId": { - "format": "int32", - "description": "The sheet to append rows or columns to.", - "type": "integer" + "source": { + "$ref": "GridRange", + "description": "The source data to cut." } }, - "id": "AppendDimensionRequest" - }, - "AddNamedRangeRequest": { - "description": "Adds a named range to the spreadsheet.", - "type": "object", - "properties": { - "namedRange": { - "$ref": "NamedRange", - "description": "The named range to add. The namedRangeId\nfield is optional; if one is not set, an id will be randomly generated. (It\nis an error to specify the ID of a range that already exists.)" - } - }, - "id": "AddNamedRangeRequest" + "id": "CutPasteRequest", + "description": "Moves data from the source to the destination.", + "type": "object" } }, "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" }, "protocol": "rest", "canonicalName": "Sheets", "auth": { "oauth2": { "scopes": { - "https://www.googleapis.com/auth/spreadsheets": { - "description": "View and manage your spreadsheets in Google Drive" - }, "https://www.googleapis.com/auth/drive.file": { "description": "View and manage Google Drive files and folders that you have opened or created with this app" }, @@ -3915,6 +5374,9 @@ }, "https://www.googleapis.com/auth/drive": { "description": "View and manage the files in your Google Drive" + }, + "https://www.googleapis.com/auth/spreadsheets": { + "description": "View and manage your spreadsheets in Google Drive" } } } @@ -3923,616 +5385,5 @@ "ownerDomain": "google.com", "name": "sheets", "batchPath": "batch", - "title": "Google Sheets API", - "ownerName": "Google", - "resources": { - "spreadsheets": { - "methods": { - "get": { - "response": { - "$ref": "Spreadsheet" - }, - "parameterOrder": [ - "spreadsheetId" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/drive", - "https://www.googleapis.com/auth/drive.file", - "https://www.googleapis.com/auth/drive.readonly", - "https://www.googleapis.com/auth/spreadsheets", - "https://www.googleapis.com/auth/spreadsheets.readonly" - ], - "parameters": { - "spreadsheetId": { - "location": "path", - "description": "The spreadsheet to request.", - "type": "string", - "required": true - }, - "includeGridData": { - "description": "True if grid data should be returned.\nThis parameter is ignored if a field mask was set in the request.", - "type": "boolean", - "location": "query" - }, - "ranges": { - "location": "query", - "description": "The ranges to retrieve from the spreadsheet.", - "type": "string", - "repeated": true - } - }, - "flatPath": "v4/spreadsheets/{spreadsheetId}", - "id": "sheets.spreadsheets.get", - "path": "v4/spreadsheets/{spreadsheetId}", - "description": "Returns the spreadsheet at the given ID.\nThe caller must specify the spreadsheet ID.\n\nBy default, data within grids will not be returned.\nYou can include grid data one of two ways:\n\n* Specify a field mask listing your desired fields using the `fields` URL\nparameter in HTTP\n\n* Set the includeGridData\nURL parameter to true. If a field mask is set, the `includeGridData`\nparameter is ignored\n\nFor large spreadsheets, it is recommended to retrieve only the specific\nfields of the spreadsheet that you want.\n\nTo retrieve only subsets of the spreadsheet, use the\nranges URL parameter.\nMultiple ranges can be specified. Limiting the range will\nreturn only the portions of the spreadsheet that intersect the requested\nranges. Ranges are specified using A1 notation." - }, - "batchUpdate": { - "response": { - "$ref": "BatchUpdateSpreadsheetResponse" - }, - "parameterOrder": [ - "spreadsheetId" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/drive", - "https://www.googleapis.com/auth/drive.file", - "https://www.googleapis.com/auth/spreadsheets" - ], - "parameters": { - "spreadsheetId": { - "location": "path", - "description": "The spreadsheet to apply the updates to.", - "type": "string", - "required": true - } - }, - "flatPath": "v4/spreadsheets/{spreadsheetId}:batchUpdate", - "id": "sheets.spreadsheets.batchUpdate", - "path": "v4/spreadsheets/{spreadsheetId}:batchUpdate", - "request": { - "$ref": "BatchUpdateSpreadsheetRequest" - }, - "description": "Applies one or more updates to the spreadsheet.\n\nEach request is validated before\nbeing applied. If any request is not valid then the entire request will\nfail and nothing will be applied.\n\nSome requests have replies to\ngive you some information about how\nthey are applied. The replies will mirror the requests. For example,\nif you applied 4 updates and the 3rd one had a reply, then the\nresponse will have 2 empty replies, the actual reply, and another empty\nreply, in that order.\n\nDue to the collaborative nature of spreadsheets, it is not guaranteed that\nthe spreadsheet will reflect exactly your changes after this completes,\nhowever it is guaranteed that the updates in the request will be\napplied together atomically. Your changes may be altered with respect to\ncollaborator changes. If there are no collaborators, the spreadsheet\nshould reflect your changes." - }, - "create": { - "httpMethod": "POST", - "parameterOrder": [], - "response": { - "$ref": "Spreadsheet" - }, - "parameters": {}, - "scopes": [ - "https://www.googleapis.com/auth/drive", - "https://www.googleapis.com/auth/drive.file", - "https://www.googleapis.com/auth/spreadsheets" - ], - "flatPath": "v4/spreadsheets", - "path": "v4/spreadsheets", - "id": "sheets.spreadsheets.create", - "description": "Creates a spreadsheet, returning the newly created spreadsheet.", - "request": { - "$ref": "Spreadsheet" - } - } - }, - "resources": { - "values": { - "methods": { - "update": { - "flatPath": "v4/spreadsheets/{spreadsheetId}/values/{range}", - "path": "v4/spreadsheets/{spreadsheetId}/values/{range}", - "id": "sheets.spreadsheets.values.update", - "description": "Sets values in a range of a spreadsheet.\nThe caller must specify the spreadsheet ID, range, and\na valueInputOption.", - "request": { - "$ref": "ValueRange" - }, - "httpMethod": "PUT", - "parameterOrder": [ - "spreadsheetId", - "range" - ], - "response": { - "$ref": "UpdateValuesResponse" - }, - "parameters": { - "valueInputOption": { - "location": "query", - "enum": [ - "INPUT_VALUE_OPTION_UNSPECIFIED", - "RAW", - "USER_ENTERED" - ], - "description": "How the input data should be interpreted.", - "type": "string" - }, - "responseDateTimeRenderOption": { - "location": "query", - "enum": [ - "SERIAL_NUMBER", - "FORMATTED_STRING" - ], - "description": "Determines how dates, times, and durations in the response should be\nrendered. This is ignored if response_value_render_option is\nFORMATTED_VALUE.\nThe default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].", - "type": "string" - }, - "range": { - "description": "The A1 notation of the values to update.", - "type": "string", - "required": true, - "location": "path" - }, - "includeValuesInResponse": { - "location": "query", - "description": "Determines if the update response should include the values\nof the cells that were updated. By default, responses\ndo not include the updated values.\nIf the range to write was larger than than the range actually written,\nthe response will include all values in the requested range (excluding\ntrailing empty rows and columns).", - "type": "boolean" - }, - "spreadsheetId": { - "description": "The ID of the spreadsheet to update.", - "type": "string", - "required": true, - "location": "path" - }, - "responseValueRenderOption": { - "location": "query", - "enum": [ - "FORMATTED_VALUE", - "UNFORMATTED_VALUE", - "FORMULA" - ], - "description": "Determines how values in the response should be rendered.\nThe default render option is ValueRenderOption.FORMATTED_VALUE.", - "type": "string" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/drive", - "https://www.googleapis.com/auth/drive.file", - "https://www.googleapis.com/auth/spreadsheets" - ] - }, - "batchUpdate": { - "path": "v4/spreadsheets/{spreadsheetId}/values:batchUpdate", - "id": "sheets.spreadsheets.values.batchUpdate", - "request": { - "$ref": "BatchUpdateValuesRequest" - }, - "description": "Sets values in one or more ranges of a spreadsheet.\nThe caller must specify the spreadsheet ID,\na valueInputOption, and one or more\nValueRanges.", - "httpMethod": "POST", - "parameterOrder": [ - "spreadsheetId" - ], - "response": { - "$ref": "BatchUpdateValuesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/drive", - "https://www.googleapis.com/auth/drive.file", - "https://www.googleapis.com/auth/spreadsheets" - ], - "parameters": { - "spreadsheetId": { - "description": "The ID of the spreadsheet to update.", - "type": "string", - "required": true, - "location": "path" - } - }, - "flatPath": "v4/spreadsheets/{spreadsheetId}/values:batchUpdate" - }, - "clear": { - "response": { - "$ref": "ClearValuesResponse" - }, - "parameterOrder": [ - "spreadsheetId", - "range" - ], - "httpMethod": "POST", - "parameters": { - "spreadsheetId": { - "location": "path", - "description": "The ID of the spreadsheet to update.", - "type": "string", - "required": true - }, - "range": { - "location": "path", - "description": "The A1 notation of the values to clear.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/drive", - "https://www.googleapis.com/auth/drive.file", - "https://www.googleapis.com/auth/spreadsheets" - ], - "flatPath": "v4/spreadsheets/{spreadsheetId}/values/{range}:clear", - "id": "sheets.spreadsheets.values.clear", - "path": "v4/spreadsheets/{spreadsheetId}/values/{range}:clear", - "description": "Clears values from a spreadsheet.\nThe caller must specify the spreadsheet ID and range.\nOnly values are cleared -- all other properties of the cell (such as\nformatting, data validation, etc..) are kept.", - "request": { - "$ref": "ClearValuesRequest" - } - }, - "batchGet": { - "httpMethod": "GET", - "response": { - "$ref": "BatchGetValuesResponse" - }, - "parameterOrder": [ - "spreadsheetId" - ], - "scopes": [ - "https://www.googleapis.com/auth/drive", - "https://www.googleapis.com/auth/drive.file", - "https://www.googleapis.com/auth/drive.readonly", - "https://www.googleapis.com/auth/spreadsheets", - "https://www.googleapis.com/auth/spreadsheets.readonly" - ], - "parameters": { - "majorDimension": { - "description": "The major dimension that results should use.\n\nFor example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`,\nthen requesting `range=A1:B2,majorDimension=ROWS` will return\n`[[1,2],[3,4]]`,\nwhereas requesting `range=A1:B2,majorDimension=COLUMNS` will return\n`[[1,3],[2,4]]`.", - "type": "string", - "location": "query", - "enum": [ - "DIMENSION_UNSPECIFIED", - "ROWS", - "COLUMNS" - ] - }, - "ranges": { - "description": "The A1 notation of the values to retrieve.", - "type": "string", - "repeated": true, - "location": "query" - }, - "spreadsheetId": { - "description": "The ID of the spreadsheet to retrieve data from.", - "type": "string", - "required": true, - "location": "path" - }, - "dateTimeRenderOption": { - "description": "How dates, times, and durations should be represented in the output.\nThis is ignored if value_render_option is\nFORMATTED_VALUE.\nThe default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].", - "type": "string", - "location": "query", - "enum": [ - "SERIAL_NUMBER", - "FORMATTED_STRING" - ] - }, - "valueRenderOption": { - "description": "How values should be represented in the output.\nThe default render option is ValueRenderOption.FORMATTED_VALUE.", - "type": "string", - "location": "query", - "enum": [ - "FORMATTED_VALUE", - "UNFORMATTED_VALUE", - "FORMULA" - ] - } - }, - "flatPath": "v4/spreadsheets/{spreadsheetId}/values:batchGet", - "path": "v4/spreadsheets/{spreadsheetId}/values:batchGet", - "id": "sheets.spreadsheets.values.batchGet", - "description": "Returns one or more ranges of values from a spreadsheet.\nThe caller must specify the spreadsheet ID and one or more ranges." - }, - "append": { - "httpMethod": "POST", - "parameterOrder": [ - "spreadsheetId", - "range" - ], - "response": { - "$ref": "AppendValuesResponse" - }, - "parameters": { - "spreadsheetId": { - "location": "path", - "description": "The ID of the spreadsheet to update.", - "type": "string", - "required": true - }, - "responseValueRenderOption": { - "description": "Determines how values in the response should be rendered.\nThe default render option is ValueRenderOption.FORMATTED_VALUE.", - "type": "string", - "location": "query", - "enum": [ - "FORMATTED_VALUE", - "UNFORMATTED_VALUE", - "FORMULA" - ] - }, - "insertDataOption": { - "location": "query", - "enum": [ - "OVERWRITE", - "INSERT_ROWS" - ], - "description": "How the input data should be inserted.", - "type": "string" - }, - "valueInputOption": { - "enum": [ - "INPUT_VALUE_OPTION_UNSPECIFIED", - "RAW", - "USER_ENTERED" - ], - "description": "How the input data should be interpreted.", - "type": "string", - "location": "query" - }, - "responseDateTimeRenderOption": { - "location": "query", - "enum": [ - "SERIAL_NUMBER", - "FORMATTED_STRING" - ], - "description": "Determines how dates, times, and durations in the response should be\nrendered. This is ignored if response_value_render_option is\nFORMATTED_VALUE.\nThe default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].", - "type": "string" - }, - "range": { - "description": "The A1 notation of a range to search for a logical table of data.\nValues will be appended after the last row of the table.", - "type": "string", - "required": true, - "location": "path" - }, - "includeValuesInResponse": { - "description": "Determines if the update response should include the values\nof the cells that were appended. By default, responses\ndo not include the updated values.", - "type": "boolean", - "location": "query" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/drive", - "https://www.googleapis.com/auth/drive.file", - "https://www.googleapis.com/auth/spreadsheets" - ], - "flatPath": "v4/spreadsheets/{spreadsheetId}/values/{range}:append", - "path": "v4/spreadsheets/{spreadsheetId}/values/{range}:append", - "id": "sheets.spreadsheets.values.append", - "description": "Appends values to a spreadsheet. The input range is used to search for\nexisting data and find a \"table\" within that range. Values will be\nappended to the next row of the table, starting with the first column of\nthe table. See the\n[guide](/sheets/api/guides/values#appending_values)\nand\n[sample code](/sheets/api/samples/writing#append_values)\nfor specific details of how tables are detected and data is appended.\n\nThe caller must specify the spreadsheet ID, range, and\na valueInputOption. The `valueInputOption` only\ncontrols how the input data will be added to the sheet (column-wise or\nrow-wise), it does not influence what cell the data starts being written\nto.", - "request": { - "$ref": "ValueRange" - } - }, - "batchClear": { - "path": "v4/spreadsheets/{spreadsheetId}/values:batchClear", - "id": "sheets.spreadsheets.values.batchClear", - "description": "Clears one or more ranges of values from a spreadsheet.\nThe caller must specify the spreadsheet ID and one or more ranges.\nOnly values are cleared -- all other properties of the cell (such as\nformatting, data validation, etc..) are kept.", - "request": { - "$ref": "BatchClearValuesRequest" - }, - "httpMethod": "POST", - "parameterOrder": [ - "spreadsheetId" - ], - "response": { - "$ref": "BatchClearValuesResponse" - }, - "parameters": { - "spreadsheetId": { - "description": "The ID of the spreadsheet to update.", - "type": "string", - "required": true, - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/drive", - "https://www.googleapis.com/auth/drive.file", - "https://www.googleapis.com/auth/spreadsheets" - ], - "flatPath": "v4/spreadsheets/{spreadsheetId}/values:batchClear" - }, - "get": { - "description": "Returns a range of values from a spreadsheet.\nThe caller must specify the spreadsheet ID and a range.", - "httpMethod": "GET", - "parameterOrder": [ - "spreadsheetId", - "range" - ], - "response": { - "$ref": "ValueRange" - }, - "scopes": [ - "https://www.googleapis.com/auth/drive", - "https://www.googleapis.com/auth/drive.file", - "https://www.googleapis.com/auth/drive.readonly", - "https://www.googleapis.com/auth/spreadsheets", - "https://www.googleapis.com/auth/spreadsheets.readonly" - ], - "parameters": { - "dateTimeRenderOption": { - "location": "query", - "enum": [ - "SERIAL_NUMBER", - "FORMATTED_STRING" - ], - "description": "How dates, times, and durations should be represented in the output.\nThis is ignored if value_render_option is\nFORMATTED_VALUE.\nThe default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].", - "type": "string" - }, - "valueRenderOption": { - "location": "query", - "enum": [ - "FORMATTED_VALUE", - "UNFORMATTED_VALUE", - "FORMULA" - ], - "description": "How values should be represented in the output.\nThe default render option is ValueRenderOption.FORMATTED_VALUE.", - "type": "string" - }, - "majorDimension": { - "location": "query", - "enum": [ - "DIMENSION_UNSPECIFIED", - "ROWS", - "COLUMNS" - ], - "description": "The major dimension that results should use.\n\nFor example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`,\nthen requesting `range=A1:B2,majorDimension=ROWS` will return\n`[[1,2],[3,4]]`,\nwhereas requesting `range=A1:B2,majorDimension=COLUMNS` will return\n`[[1,3],[2,4]]`.", - "type": "string" - }, - "spreadsheetId": { - "location": "path", - "description": "The ID of the spreadsheet to retrieve data from.", - "type": "string", - "required": true - }, - "range": { - "location": "path", - "description": "The A1 notation of the values to retrieve.", - "type": "string", - "required": true - } - }, - "flatPath": "v4/spreadsheets/{spreadsheetId}/values/{range}", - "path": "v4/spreadsheets/{spreadsheetId}/values/{range}", - "id": "sheets.spreadsheets.values.get" - } - } - }, - "sheets": { - "methods": { - "copyTo": { - "httpMethod": "POST", - "parameterOrder": [ - "spreadsheetId", - "sheetId" - ], - "response": { - "$ref": "SheetProperties" - }, - "scopes": [ - "https://www.googleapis.com/auth/drive", - "https://www.googleapis.com/auth/drive.file", - "https://www.googleapis.com/auth/spreadsheets" - ], - "parameters": { - "spreadsheetId": { - "location": "path", - "description": "The ID of the spreadsheet containing the sheet to copy.", - "type": "string", - "required": true - }, - "sheetId": { - "format": "int32", - "description": "The ID of the sheet to copy.", - "type": "integer", - "required": true, - "location": "path" - } - }, - "flatPath": "v4/spreadsheets/{spreadsheetId}/sheets/{sheetId}:copyTo", - "path": "v4/spreadsheets/{spreadsheetId}/sheets/{sheetId}:copyTo", - "id": "sheets.spreadsheets.sheets.copyTo", - "request": { - "$ref": "CopySheetToAnotherSpreadsheetRequest" - }, - "description": "Copies a single sheet from a spreadsheet to another spreadsheet.\nReturns the properties of the newly created sheet." - } - } - } - } - } - }, - "parameters": { - "oauth_token": { - "location": "query", - "description": "OAuth 2.0 token for the current user.", - "type": "string" - }, - "bearer_token": { - "location": "query", - "description": "OAuth bearer token.", - "type": "string" - }, - "upload_protocol": { - "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string" - }, - "prettyPrint": { - "location": "query", - "description": "Returns response with indentations and line breaks.", - "default": "true", - "type": "boolean" - }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "type": "string", - "location": "query" - }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string", - "location": "query" - }, - "callback": { - "description": "JSONP", - "type": "string", - "location": "query" - }, - "$.xgafv": { - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" - ], - "description": "V1 error format.", - "type": "string" - }, - "alt": { - "type": "string", - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query", - "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ] - }, - "access_token": { - "description": "OAuth access token.", - "type": "string", - "location": "query" - }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, - "quotaUser": { - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string", - "location": "query" - }, - "pp": { - "location": "query", - "description": "Pretty-print response.", - "default": "true", - "type": "boolean" - } - }, - "version": "v4", - "baseUrl": "https://sheets.googleapis.com/", - "kind": "discovery#restDescription", - "description": "Reads and writes Google Sheets.", - "servicePath": "", - "basePath": "", - "id": "sheets:v4", - "revision": "20170622", - "documentationLink": "https://developers.google.com/sheets/", - "discoveryVersion": "v1", - "version_module": "True" + "title": "Google Sheets API" } diff --git a/vendor/google.golang.org/api/sheets/v4/sheets-gen.go b/vendor/google.golang.org/api/sheets/v4/sheets-gen.go index 6fdd633db..6a8b7e1d1 100644 --- a/vendor/google.golang.org/api/sheets/v4/sheets-gen.go +++ b/vendor/google.golang.org/api/sheets/v4/sheets-gen.go @@ -90,6 +90,7 @@ func (s *Service) userAgent() string { func NewSpreadsheetsService(s *Service) *SpreadsheetsService { rs := &SpreadsheetsService{s: s} + rs.DeveloperMetadata = NewSpreadsheetsDeveloperMetadataService(s) rs.Sheets = NewSpreadsheetsSheetsService(s) rs.Values = NewSpreadsheetsValuesService(s) return rs @@ -98,11 +99,22 @@ func NewSpreadsheetsService(s *Service) *SpreadsheetsService { type SpreadsheetsService struct { s *Service + DeveloperMetadata *SpreadsheetsDeveloperMetadataService + Sheets *SpreadsheetsSheetsService Values *SpreadsheetsValuesService } +func NewSpreadsheetsDeveloperMetadataService(s *Service) *SpreadsheetsDeveloperMetadataService { + rs := &SpreadsheetsDeveloperMetadataService{s: s} + return rs +} + +type SpreadsheetsDeveloperMetadataService struct { + s *Service +} + func NewSpreadsheetsSheetsService(s *Service) *SpreadsheetsSheetsService { rs := &SpreadsheetsSheetsService{s: s} return rs @@ -690,7 +702,6 @@ func (s *AutoFillRequest) MarshalJSON() ([]byte, error) { // of the cells in that dimension. type AutoResizeDimensionsRequest struct { // Dimensions: The dimensions to automatically resize. - // Only COLUMNS are supported. Dimensions *DimensionRange `json:"dimensions,omitempty"` // ForceSendFields is a list of field names (e.g. "Dimensions") to @@ -896,9 +907,6 @@ type BasicChartDomain struct { // Reversed: True to reverse the order of the domain values (horizontal // axis). - // Not applicable to Gauge, Geo, Histogram, Org, Pie, Radar, and - // Treemap - // charts. Reversed bool `json:"reversed,omitempty"` // ForceSendFields is a list of field names (e.g. "Domain") to @@ -1161,6 +1169,76 @@ func (s *BasicFilter) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// BatchClearValuesByDataFilterRequest: The request for clearing more +// than one range selected by a +// DataFilter in a spreadsheet. +type BatchClearValuesByDataFilterRequest struct { + // DataFilters: The DataFilters used to determine which ranges to clear. + DataFilters []*DataFilter `json:"dataFilters,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DataFilters") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DataFilters") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BatchClearValuesByDataFilterRequest) MarshalJSON() ([]byte, error) { + type noMethod BatchClearValuesByDataFilterRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// BatchClearValuesByDataFilterResponse: The response when clearing a +// range of values selected with +// DataFilters in a spreadsheet. +type BatchClearValuesByDataFilterResponse struct { + // ClearedRanges: The ranges that were cleared, in A1 notation. + // (If the requests were for an unbounded range or a ranger larger + // than the bounds of the sheet, this will be the actual ranges + // that were cleared, bounded to the sheet's limits.) + ClearedRanges []string `json:"clearedRanges,omitempty"` + + // SpreadsheetId: The spreadsheet the updates were applied to. + SpreadsheetId string `json:"spreadsheetId,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "ClearedRanges") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ClearedRanges") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BatchClearValuesByDataFilterResponse) MarshalJSON() ([]byte, error) { + type noMethod BatchClearValuesByDataFilterResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // BatchClearValuesRequest: The request for clearing more than one range // of values in a spreadsheet. type BatchClearValuesRequest struct { @@ -1229,6 +1307,150 @@ func (s *BatchClearValuesResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// BatchGetValuesByDataFilterRequest: The request for retrieving a range +// of values in a spreadsheet selected by a +// set of DataFilters. +type BatchGetValuesByDataFilterRequest struct { + // DataFilters: The data filters used to match the ranges of values to + // retrieve. Ranges + // that match any of the specified data filters will be included in + // the + // response. + DataFilters []*DataFilter `json:"dataFilters,omitempty"` + + // DateTimeRenderOption: How dates, times, and durations should be + // represented in the output. + // This is ignored if value_render_option is + // FORMATTED_VALUE. + // The default dateTime render option is + // [DateTimeRenderOption.SERIAL_NUMBER]. + // + // Possible values: + // "SERIAL_NUMBER" - Instructs date, time, datetime, and duration + // fields to be output + // as doubles in "serial number" format, as popularized by Lotus + // 1-2-3. + // The whole number portion of the value (left of the decimal) + // counts + // the days since December 30th 1899. The fractional portion (right + // of + // the decimal) counts the time as a fraction of the day. For + // example, + // January 1st 1900 at noon would be 2.5, 2 because it's 2 days + // after + // December 30st 1899, and .5 because noon is half a day. February + // 1st + // 1900 at 3pm would be 33.625. This correctly treats the year 1900 + // as + // not a leap year. + // "FORMATTED_STRING" - Instructs date, time, datetime, and duration + // fields to be output + // as strings in their given number format (which is dependent + // on the spreadsheet locale). + DateTimeRenderOption string `json:"dateTimeRenderOption,omitempty"` + + // MajorDimension: The major dimension that results should use. + // + // For example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, + // then a request that selects that range and sets `majorDimension=ROWS` + // will + // return `[[1,2],[3,4]]`, + // whereas a request that sets `majorDimension=COLUMNS` will + // return + // `[[1,3],[2,4]]`. + // + // Possible values: + // "DIMENSION_UNSPECIFIED" - The default value, do not use. + // "ROWS" - Operates on the rows of a sheet. + // "COLUMNS" - Operates on the columns of a sheet. + MajorDimension string `json:"majorDimension,omitempty"` + + // ValueRenderOption: How values should be represented in the + // output. + // The default render option is ValueRenderOption.FORMATTED_VALUE. + // + // Possible values: + // "FORMATTED_VALUE" - Values will be calculated & formatted in the + // reply according to the + // cell's formatting. Formatting is based on the spreadsheet's + // locale, + // not the requesting user's locale. + // For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as + // currency, + // then `A2` would return "$1.23". + // "UNFORMATTED_VALUE" - Values will be calculated, but not formatted + // in the reply. + // For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as + // currency, + // then `A2` would return the number `1.23`. + // "FORMULA" - Values will not be calculated. The reply will include + // the formulas. + // For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as + // currency, + // then A2 would return "=A1". + ValueRenderOption string `json:"valueRenderOption,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DataFilters") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DataFilters") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BatchGetValuesByDataFilterRequest) MarshalJSON() ([]byte, error) { + type noMethod BatchGetValuesByDataFilterRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// BatchGetValuesByDataFilterResponse: The response when retrieving more +// than one range of values in a spreadsheet +// selected by DataFilters. +type BatchGetValuesByDataFilterResponse struct { + // SpreadsheetId: The ID of the spreadsheet the data was retrieved from. + SpreadsheetId string `json:"spreadsheetId,omitempty"` + + // ValueRanges: The requested values with the list of data filters that + // matched them. + ValueRanges []*MatchedValueRange `json:"valueRanges,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "SpreadsheetId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "SpreadsheetId") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BatchGetValuesByDataFilterResponse) MarshalJSON() ([]byte, error) { + type noMethod BatchGetValuesByDataFilterResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // BatchGetValuesResponse: The response when retrieving more than one // range of values in a spreadsheet. type BatchGetValuesResponse struct { @@ -1361,6 +1583,180 @@ func (s *BatchUpdateSpreadsheetResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// BatchUpdateValuesByDataFilterRequest: The request for updating more +// than one range of values in a spreadsheet. +type BatchUpdateValuesByDataFilterRequest struct { + // Data: The new values to apply to the spreadsheet. If more than one + // range is + // matched by the specified DataFilter the specified values will + // be + // applied to all of of those ranges. + Data []*DataFilterValueRange `json:"data,omitempty"` + + // IncludeValuesInResponse: Determines if the update response should + // include the values + // of the cells that were updated. By default, responses + // do not include the updated values. The `updatedData` field + // within + // each of the BatchUpdateValuesResponse.responses will contain + // the updated values. If the range to write was larger than than the + // range + // actually written, the response will include all values in the + // requested + // range (excluding trailing empty rows and columns). + IncludeValuesInResponse bool `json:"includeValuesInResponse,omitempty"` + + // ResponseDateTimeRenderOption: Determines how dates, times, and + // durations in the response should be + // rendered. This is ignored if response_value_render_option + // is + // FORMATTED_VALUE. + // The default dateTime render option + // is + // DateTimeRenderOption.SERIAL_NUMBER. + // + // Possible values: + // "SERIAL_NUMBER" - Instructs date, time, datetime, and duration + // fields to be output + // as doubles in "serial number" format, as popularized by Lotus + // 1-2-3. + // The whole number portion of the value (left of the decimal) + // counts + // the days since December 30th 1899. The fractional portion (right + // of + // the decimal) counts the time as a fraction of the day. For + // example, + // January 1st 1900 at noon would be 2.5, 2 because it's 2 days + // after + // December 30st 1899, and .5 because noon is half a day. February + // 1st + // 1900 at 3pm would be 33.625. This correctly treats the year 1900 + // as + // not a leap year. + // "FORMATTED_STRING" - Instructs date, time, datetime, and duration + // fields to be output + // as strings in their given number format (which is dependent + // on the spreadsheet locale). + ResponseDateTimeRenderOption string `json:"responseDateTimeRenderOption,omitempty"` + + // ResponseValueRenderOption: Determines how values in the response + // should be rendered. + // The default render option is ValueRenderOption.FORMATTED_VALUE. + // + // Possible values: + // "FORMATTED_VALUE" - Values will be calculated & formatted in the + // reply according to the + // cell's formatting. Formatting is based on the spreadsheet's + // locale, + // not the requesting user's locale. + // For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as + // currency, + // then `A2` would return "$1.23". + // "UNFORMATTED_VALUE" - Values will be calculated, but not formatted + // in the reply. + // For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as + // currency, + // then `A2` would return the number `1.23`. + // "FORMULA" - Values will not be calculated. The reply will include + // the formulas. + // For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as + // currency, + // then A2 would return "=A1". + ResponseValueRenderOption string `json:"responseValueRenderOption,omitempty"` + + // ValueInputOption: How the input data should be interpreted. + // + // Possible values: + // "INPUT_VALUE_OPTION_UNSPECIFIED" - Default input value. This value + // must not be used. + // "RAW" - The values the user has entered will not be parsed and will + // be stored + // as-is. + // "USER_ENTERED" - The values will be parsed as if the user typed + // them into the UI. + // Numbers will stay as numbers, but strings may be converted to + // numbers, + // dates, etc. following the same rules that are applied when + // entering + // text into a cell via the Google Sheets UI. + ValueInputOption string `json:"valueInputOption,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Data") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Data") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BatchUpdateValuesByDataFilterRequest) MarshalJSON() ([]byte, error) { + type noMethod BatchUpdateValuesByDataFilterRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// BatchUpdateValuesByDataFilterResponse: The response when updating a +// range of values in a spreadsheet. +type BatchUpdateValuesByDataFilterResponse struct { + // Responses: The response for each range updated. + Responses []*UpdateValuesByDataFilterResponse `json:"responses,omitempty"` + + // SpreadsheetId: The spreadsheet the updates were applied to. + SpreadsheetId string `json:"spreadsheetId,omitempty"` + + // TotalUpdatedCells: The total number of cells updated. + TotalUpdatedCells int64 `json:"totalUpdatedCells,omitempty"` + + // TotalUpdatedColumns: The total number of columns where at least one + // cell in the column was + // updated. + TotalUpdatedColumns int64 `json:"totalUpdatedColumns,omitempty"` + + // TotalUpdatedRows: The total number of rows where at least one cell in + // the row was updated. + TotalUpdatedRows int64 `json:"totalUpdatedRows,omitempty"` + + // TotalUpdatedSheets: The total number of sheets where at least one + // cell in the sheet was + // updated. + TotalUpdatedSheets int64 `json:"totalUpdatedSheets,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Responses") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Responses") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BatchUpdateValuesByDataFilterResponse) MarshalJSON() ([]byte, error) { + type noMethod BatchUpdateValuesByDataFilterResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // BatchUpdateValuesRequest: The request for updating more than one // range of values in a spreadsheet. type BatchUpdateValuesRequest struct { @@ -2027,6 +2423,10 @@ type CandlestickDomain struct { // Data: The data of the CandlestickDomain. Data *ChartData `json:"data,omitempty"` + // Reversed: True to reverse the order of the domain values (horizontal + // axis). + Reversed bool `json:"reversed,omitempty"` + // ForceSendFields is a list of field names (e.g. "Data") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -2393,6 +2793,11 @@ func (s *ChartSourceRange) MarshalJSON() ([]byte, error) { // ChartSpec: The specifications of a chart. type ChartSpec struct { + // AltText: The alternative text that describes the chart. This is + // often used + // for accessibility. + AltText string `json:"altText,omitempty"` + // BackgroundColor: The background color of the entire chart. // Not applicable to Org charts. BackgroundColor *Color `json:"backgroundColor,omitempty"` @@ -2451,7 +2856,7 @@ type ChartSpec struct { // Strikethrough and underline are not supported. TitleTextFormat *TextFormat `json:"titleTextFormat,omitempty"` - // ForceSendFields is a list of field names (e.g. "BackgroundColor") to + // ForceSendFields is a list of field names (e.g. "AltText") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -2459,13 +2864,12 @@ type ChartSpec struct { // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BackgroundColor") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. + // NullFields is a list of field names (e.g. "AltText") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } @@ -2927,6 +3331,66 @@ func (s *CopySheetToAnotherSpreadsheetRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// CreateDeveloperMetadataRequest: A request to create developer +// metadata. +type CreateDeveloperMetadataRequest struct { + // DeveloperMetadata: The developer metadata to create. + DeveloperMetadata *DeveloperMetadata `json:"developerMetadata,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DeveloperMetadata") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DeveloperMetadata") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *CreateDeveloperMetadataRequest) MarshalJSON() ([]byte, error) { + type noMethod CreateDeveloperMetadataRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CreateDeveloperMetadataResponse: The response from creating developer +// metadata. +type CreateDeveloperMetadataResponse struct { + // DeveloperMetadata: The developer metadata that was created. + DeveloperMetadata *DeveloperMetadata `json:"developerMetadata,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DeveloperMetadata") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DeveloperMetadata") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *CreateDeveloperMetadataResponse) MarshalJSON() ([]byte, error) { + type noMethod CreateDeveloperMetadataResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // CutPasteRequest: Moves data from the source to the destination. type CutPasteRequest struct { // Destination: The top-left coordinate where the data should be pasted. @@ -2974,6 +3438,93 @@ func (s *CutPasteRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// DataFilter: Filter that describes what data should be selected or +// returned from a +// request. +type DataFilter struct { + // A1Range: Selects data that matches the specified A1 range. + A1Range string `json:"a1Range,omitempty"` + + // DeveloperMetadataLookup: Selects data associated with the developer + // metadata matching the criteria + // described by this DeveloperMetadataLookup. + DeveloperMetadataLookup *DeveloperMetadataLookup `json:"developerMetadataLookup,omitempty"` + + // GridRange: Selects data that matches the range described by the + // GridRange. + GridRange *GridRange `json:"gridRange,omitempty"` + + // ForceSendFields is a list of field names (e.g. "A1Range") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "A1Range") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DataFilter) MarshalJSON() ([]byte, error) { + type noMethod DataFilter + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DataFilterValueRange: A range of values whose location is specified +// by a DataFilter. +type DataFilterValueRange struct { + // DataFilter: The data filter describing the location of the values in + // the spreadsheet. + DataFilter *DataFilter `json:"dataFilter,omitempty"` + + // MajorDimension: The major dimension of the values. + // + // Possible values: + // "DIMENSION_UNSPECIFIED" - The default value, do not use. + // "ROWS" - Operates on the rows of a sheet. + // "COLUMNS" - Operates on the columns of a sheet. + MajorDimension string `json:"majorDimension,omitempty"` + + // Values: The data to be written. If the provided values exceed any of + // the ranges + // matched by the data filter then the request will fail. If the + // provided + // values are less than the matched ranges only the specified values + // will be + // written, existing values in the matched ranges will remain + // unaffected. + Values [][]interface{} `json:"values,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DataFilter") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DataFilter") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DataFilterValueRange) MarshalJSON() ([]byte, error) { + type noMethod DataFilterValueRange + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // DataValidationRule: A data validation rule. type DataValidationRule struct { // Condition: The condition that data in the cell must match. @@ -3105,6 +3656,68 @@ func (s *DeleteConditionalFormatRuleResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// DeleteDeveloperMetadataRequest: A request to delete developer +// metadata. +type DeleteDeveloperMetadataRequest struct { + // DataFilter: The data filter describing the criteria used to select + // which developer + // metadata entry to delete. + DataFilter *DataFilter `json:"dataFilter,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DataFilter") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DataFilter") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DeleteDeveloperMetadataRequest) MarshalJSON() ([]byte, error) { + type noMethod DeleteDeveloperMetadataRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DeleteDeveloperMetadataResponse: The response from deleting developer +// metadata. +type DeleteDeveloperMetadataResponse struct { + // DeletedDeveloperMetadata: The metadata that was deleted. + DeletedDeveloperMetadata []*DeveloperMetadata `json:"deletedDeveloperMetadata,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "DeletedDeveloperMetadata") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DeletedDeveloperMetadata") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *DeleteDeveloperMetadataResponse) MarshalJSON() ([]byte, error) { + type noMethod DeleteDeveloperMetadataResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // DeleteDimensionRequest: Deletes the dimensions from the sheet. type DeleteDimensionRequest struct { // Range: The dimensions to delete from the sheet. @@ -3318,8 +3931,294 @@ func (s *DeleteSheetRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// DeveloperMetadata: Developer metadata associated with a location or +// object in a spreadsheet. +// Developer metadata may be used to associate arbitrary data with +// various +// parts of a spreadsheet and will remain associated at those locations +// as they +// move around and the spreadsheet is edited. For example, if +// developer +// metadata is associated with row 5 and another row is then +// subsequently +// inserted above row 5, that original metadata will still be associated +// with +// the row it was first associated with (what is now row 6). If the +// associated +// object is deleted its metadata will be deleted too. +type DeveloperMetadata struct { + // Location: The location where the metadata is associated. + Location *DeveloperMetadataLocation `json:"location,omitempty"` + + // MetadataId: The spreadsheet-scoped unique ID that identifies the + // metadata. IDs may be + // specified when metadata is created, otherwise one will be + // randomly + // generated and assigned. Must be positive. + MetadataId int64 `json:"metadataId,omitempty"` + + // MetadataKey: The metadata key. There may be multiple metadata in a + // spreadsheet with the + // same key. Developer metadata must always have a key specified. + MetadataKey string `json:"metadataKey,omitempty"` + + // MetadataValue: Data associated with the metadata's key. + MetadataValue string `json:"metadataValue,omitempty"` + + // Visibility: The metadata visibility. Developer metadata must always + // have a visibility + // specified. + // + // Possible values: + // "DEVELOPER_METADATA_VISIBILITY_UNSPECIFIED" - Default value. + // "DOCUMENT" - Document-visible metadata is accessible from any + // developer project with + // access to the document. + // "PROJECT" - Project-visible metadata is only visible to and + // accessible by the developer + // project that created the metadata. + Visibility string `json:"visibility,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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DeveloperMetadata) MarshalJSON() ([]byte, error) { + type noMethod DeveloperMetadata + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DeveloperMetadataLocation: A location where metadata may be +// associated in a spreadsheet. +type DeveloperMetadataLocation struct { + // DimensionRange: Represents the row or column when metadata is + // associated with + // a dimension. The specified DimensionRange must represent a single + // row + // or column; it cannot be unbounded or span multiple rows or columns. + DimensionRange *DimensionRange `json:"dimensionRange,omitempty"` + + // LocationType: The type of location this object represents. This + // field is read-only. + // + // Possible values: + // "DEVELOPER_METADATA_LOCATION_TYPE_UNSPECIFIED" - Default value. + // "ROW" - Developer metadata associated on an entire row dimension. + // "COLUMN" - Developer metadata associated on an entire column + // dimension. + // "SHEET" - Developer metadata associated on an entire sheet. + // "SPREADSHEET" - Developer metadata associated on the entire + // spreadsheet. + LocationType string `json:"locationType,omitempty"` + + // SheetId: The ID of the sheet when metadata is associated with an + // entire sheet. + SheetId int64 `json:"sheetId,omitempty"` + + // Spreadsheet: True when metadata is associated with an entire + // spreadsheet. + Spreadsheet bool `json:"spreadsheet,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DimensionRange") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DimensionRange") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *DeveloperMetadataLocation) MarshalJSON() ([]byte, error) { + type noMethod DeveloperMetadataLocation + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DeveloperMetadataLookup: Selects DeveloperMetadata that matches all +// of the specified fields. For +// example, if only a metadata ID is specified this will consider +// the +// DeveloperMetadata with that particular unique ID. If a metadata key +// is +// specified, all developer metadata with that key will be considered. +// If a +// key, visibility, and location type are all specified, then +// all +// developer metadata with that key, visibility, and associated with +// a +// location of that type will be considered. In general, this +// selects all DeveloperMetadata that matches the intersection of all +// the +// specified fields; any field or combination of fields may be +// specified. +type DeveloperMetadataLookup struct { + // LocationMatchingStrategy: Determines how this lookup matches the + // location. If this field is + // specified as EXACT, only developer metadata associated on the + // exact + // location specified will be matched. If this field is specified to + // INTERSECTING, + // developer metadata associated on intersecting locations will also + // be + // matched. If left unspecified, this field will assume a default value + // of + // INTERSECTING. + // If this field is specified, a metadataLocation + // must also be specified. + // + // Possible values: + // "DEVELOPER_METADATA_LOCATION_MATCHING_STRATEGY_UNSPECIFIED" - + // Default value. This value must not be used. + // "EXACT_LOCATION" - Indicates that a specified location should be + // matched exactly. For + // example, if row three were specified as a location this matching + // strategy + // would only match developer metadata also associated on row three. + // Metadata + // associated on other locations would not be considered. + // "INTERSECTING_LOCATION" - Indicates that a specified location + // should match that exact location as + // well as any intersecting locations. For example, if row three + // were + // specified as a location this matching strategy would match + // developer + // metadata associated on row three as well as metadata associated + // on + // locations that intersect row three. If, for instance, there was + // developer + // metadata associated on column B, this matching strategy would also + // match + // that location because column B intersects row three. + LocationMatchingStrategy string `json:"locationMatchingStrategy,omitempty"` + + // LocationType: Limits the selected developer metadata to those entries + // which are + // associated with locations of the specified type. For example, + // specifying + // this as ROW will only consider + // developer metadata associated on rows. If left unspecified, all + // location + // types will be considered. This field cannot be specified + // as + // SPREADSHEET when the + // locationMatchingStrategy is + // specified as INTERSECTING or when the + // metadataLocation is specified as a + // non-spreadsheet location: spreadsheet metadata cannot intersect any + // other + // developer metadata location. This field also must be left + // unspecified when the + // locationMatchingStrategy is + // specified as EXACT. + // + // Possible values: + // "DEVELOPER_METADATA_LOCATION_TYPE_UNSPECIFIED" - Default value. + // "ROW" - Developer metadata associated on an entire row dimension. + // "COLUMN" - Developer metadata associated on an entire column + // dimension. + // "SHEET" - Developer metadata associated on an entire sheet. + // "SPREADSHEET" - Developer metadata associated on the entire + // spreadsheet. + LocationType string `json:"locationType,omitempty"` + + // MetadataId: Limits the selected developer metadata to that which has + // a matching + // DeveloperMetadata.metadata_id. + MetadataId int64 `json:"metadataId,omitempty"` + + // MetadataKey: Limits the selected developer metadata to that which has + // a matching + // DeveloperMetadata.metadata_key. + MetadataKey string `json:"metadataKey,omitempty"` + + // MetadataLocation: Limits the selected developer metadata to those + // entries associated with + // the specified location. This field either matches exact locations or + // all + // intersecting locations according the + // specified + // locationMatchingStrategy. + MetadataLocation *DeveloperMetadataLocation `json:"metadataLocation,omitempty"` + + // MetadataValue: Limits the selected developer metadata to that which + // has a matching + // DeveloperMetadata.metadata_value. + MetadataValue string `json:"metadataValue,omitempty"` + + // Visibility: Limits the selected developer metadata to that which has + // a matching + // DeveloperMetadata.visibility. If left unspecified, all + // developer + // metadata visibile to the requesting project will be considered. + // + // Possible values: + // "DEVELOPER_METADATA_VISIBILITY_UNSPECIFIED" - Default value. + // "DOCUMENT" - Document-visible metadata is accessible from any + // developer project with + // access to the document. + // "PROJECT" - Project-visible metadata is only visible to and + // accessible by the developer + // project that created the metadata. + Visibility string `json:"visibility,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "LocationMatchingStrategy") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "LocationMatchingStrategy") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *DeveloperMetadataLookup) MarshalJSON() ([]byte, error) { + type noMethod DeveloperMetadataLookup + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // DimensionProperties: Properties about a dimension. type DimensionProperties struct { + // DeveloperMetadata: The developer metadata associated with a single + // row or column. + DeveloperMetadata []*DeveloperMetadata `json:"developerMetadata,omitempty"` + // HiddenByFilter: True if this dimension is being filtered. // This field is read-only. HiddenByFilter bool `json:"hiddenByFilter,omitempty"` @@ -3331,15 +4230,15 @@ type DimensionProperties struct { // dimension in pixels. PixelSize int64 `json:"pixelSize,omitempty"` - // ForceSendFields is a list of field names (e.g. "HiddenByFilter") to - // unconditionally include in API requests. By default, fields with + // ForceSendFields is a list of field names (e.g. "DeveloperMetadata") + // to unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "HiddenByFilter") to + // NullFields is a list of field names (e.g. "DeveloperMetadata") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the @@ -3953,6 +4852,41 @@ func (s *FindReplaceResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GetSpreadsheetByDataFilterRequest: The request for retrieving a +// Spreadsheet. +type GetSpreadsheetByDataFilterRequest struct { + // DataFilters: The DataFilters used to select which ranges to retrieve + // from + // the spreadsheet. + DataFilters []*DataFilter `json:"dataFilters,omitempty"` + + // IncludeGridData: True if grid data should be returned. + // This parameter is ignored if a field mask was set in the request. + IncludeGridData bool `json:"includeGridData,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DataFilters") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DataFilters") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GetSpreadsheetByDataFilterRequest) MarshalJSON() ([]byte, error) { + type noMethod GetSpreadsheetByDataFilterRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GradientRule: A rule that applies a gradient color scale format, // based on // the interpolation points listed. The format of a cell will vary @@ -4537,6 +5471,74 @@ func (s *IterativeCalculationSettings) UnmarshalJSON(data []byte) error { return nil } +// MatchedDeveloperMetadata: A developer metadata entry and the data +// filters specified in the original +// request that matched it. +type MatchedDeveloperMetadata struct { + // DataFilters: All filters matching the returned developer metadata. + DataFilters []*DataFilter `json:"dataFilters,omitempty"` + + // DeveloperMetadata: The developer metadata matching the specified + // filters. + DeveloperMetadata *DeveloperMetadata `json:"developerMetadata,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DataFilters") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DataFilters") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *MatchedDeveloperMetadata) MarshalJSON() ([]byte, error) { + type noMethod MatchedDeveloperMetadata + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// MatchedValueRange: A value range that was matched by one or more data +// filers. +type MatchedValueRange struct { + // DataFilters: The DataFilters from the request that matched the range + // of + // values. + DataFilters []*DataFilter `json:"dataFilters,omitempty"` + + // ValueRange: The values matched by the DataFilter. + ValueRange *ValueRange `json:"valueRange,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DataFilters") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DataFilters") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *MatchedValueRange) MarshalJSON() ([]byte, error) { + type noMethod MatchedValueRange + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // MergeCellsRequest: Merges all cells in the range. type MergeCellsRequest struct { // MergeType: How the cells should be merged. @@ -5363,6 +6365,34 @@ func (s *ProtectedRange) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RandomizeRangeRequest: Randomizes the order of the rows in a range. +type RandomizeRangeRequest struct { + // Range: The range to randomize. + Range *GridRange `json:"range,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Range") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Range") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RandomizeRangeRequest) MarshalJSON() ([]byte, error) { + type noMethod RandomizeRangeRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // RepeatCellRequest: Updates all cells in the range to the values in // the given Cell object. // Only the fields listed in the fields field are updated; others @@ -5460,6 +6490,9 @@ type Request struct { // CopyPaste: Copies data from one area and pastes it to another. CopyPaste *CopyPasteRequest `json:"copyPaste,omitempty"` + // CreateDeveloperMetadata: Creates new developer metadata + CreateDeveloperMetadata *CreateDeveloperMetadataRequest `json:"createDeveloperMetadata,omitempty"` + // CutPaste: Cuts data from one area and pastes it to another. CutPaste *CutPasteRequest `json:"cutPaste,omitempty"` @@ -5470,6 +6503,9 @@ type Request struct { // rule. DeleteConditionalFormatRule *DeleteConditionalFormatRuleRequest `json:"deleteConditionalFormatRule,omitempty"` + // DeleteDeveloperMetadata: Deletes developer metadata + DeleteDeveloperMetadata *DeleteDeveloperMetadataRequest `json:"deleteDeveloperMetadata,omitempty"` + // DeleteDimension: Deletes rows or columns in a sheet. DeleteDimension *DeleteDimensionRequest `json:"deleteDimension,omitempty"` @@ -5519,6 +6555,9 @@ type Request struct { // PasteData: Pastes data (HTML or delimited) into a sheet. PasteData *PasteDataRequest `json:"pasteData,omitempty"` + // RandomizeRange: Randomizes the order of the rows in a range. + RandomizeRange *RandomizeRangeRequest `json:"randomizeRange,omitempty"` + // RepeatCell: Repeats a single cell across a range. RepeatCell *RepeatCellRequest `json:"repeatCell,omitempty"` @@ -5553,6 +6592,9 @@ type Request struct { // rule. UpdateConditionalFormatRule *UpdateConditionalFormatRuleRequest `json:"updateConditionalFormatRule,omitempty"` + // UpdateDeveloperMetadata: Updates an existing developer metadata entry + UpdateDeveloperMetadata *UpdateDeveloperMetadataRequest `json:"updateDeveloperMetadata,omitempty"` + // UpdateDimensionProperties: Updates dimensions' properties. UpdateDimensionProperties *UpdateDimensionPropertiesRequest `json:"updateDimensionProperties,omitempty"` @@ -5618,10 +6660,18 @@ type Response struct { // AddSheet: A reply from adding a sheet. AddSheet *AddSheetResponse `json:"addSheet,omitempty"` + // CreateDeveloperMetadata: A reply from creating a developer metadata + // entry. + CreateDeveloperMetadata *CreateDeveloperMetadataResponse `json:"createDeveloperMetadata,omitempty"` + // DeleteConditionalFormatRule: A reply from deleting a conditional // format rule. DeleteConditionalFormatRule *DeleteConditionalFormatRuleResponse `json:"deleteConditionalFormatRule,omitempty"` + // DeleteDeveloperMetadata: A reply from deleting a developer metadata + // entry. + DeleteDeveloperMetadata *DeleteDeveloperMetadataResponse `json:"deleteDeveloperMetadata,omitempty"` + // DuplicateFilterView: A reply from duplicating a filter view. DuplicateFilterView *DuplicateFilterViewResponse `json:"duplicateFilterView,omitempty"` @@ -5635,6 +6685,10 @@ type Response struct { // format rule. UpdateConditionalFormatRule *UpdateConditionalFormatRuleResponse `json:"updateConditionalFormatRule,omitempty"` + // UpdateDeveloperMetadata: A reply from updating a developer metadata + // entry. + UpdateDeveloperMetadata *UpdateDeveloperMetadataResponse `json:"updateDeveloperMetadata,omitempty"` + // UpdateEmbeddedObjectPosition: A reply from updating an embedded // object's position. UpdateEmbeddedObjectPosition *UpdateEmbeddedObjectPositionResponse `json:"updateEmbeddedObjectPosition,omitempty"` @@ -5690,6 +6744,76 @@ func (s *RowData) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SearchDeveloperMetadataRequest: A request to retrieve all developer +// metadata matching the set of specified +// criteria. +type SearchDeveloperMetadataRequest struct { + // DataFilters: The data filters describing the criteria used to + // determine which + // DeveloperMetadata entries to return. DeveloperMetadata matching any + // of the + // specified filters will be included in the response. + DataFilters []*DataFilter `json:"dataFilters,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DataFilters") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DataFilters") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SearchDeveloperMetadataRequest) MarshalJSON() ([]byte, error) { + type noMethod SearchDeveloperMetadataRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// SearchDeveloperMetadataResponse: A reply to a developer metadata +// search request. +type SearchDeveloperMetadataResponse struct { + // MatchedDeveloperMetadata: The metadata matching the criteria of the + // search request. + MatchedDeveloperMetadata []*MatchedDeveloperMetadata `json:"matchedDeveloperMetadata,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. + // "MatchedDeveloperMetadata") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "MatchedDeveloperMetadata") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *SearchDeveloperMetadataResponse) MarshalJSON() ([]byte, error) { + type noMethod SearchDeveloperMetadataResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // SetBasicFilterRequest: Sets the basic filter associated with a sheet. type SetBasicFilterRequest struct { // Filter: The filter to set. @@ -5781,6 +6905,9 @@ type Sheet struct { // and `startColumn 3` (zero-based column D). Data []*GridData `json:"data,omitempty"` + // DeveloperMetadata: The developer metadata associated with a sheet. + DeveloperMetadata []*DeveloperMetadata `json:"developerMetadata,omitempty"` + // FilterViews: The filter views in this sheet. FilterViews []*FilterView `json:"filterViews,omitempty"` @@ -6014,6 +7141,10 @@ func (s *SourceAndDestination) MarshalJSON() ([]byte, error) { // Spreadsheet: Resource that represents a spreadsheet. type Spreadsheet struct { + // DeveloperMetadata: The developer metadata associated with a + // spreadsheet. + DeveloperMetadata []*DeveloperMetadata `json:"developerMetadata,omitempty"` + // NamedRanges: The named ranges defined in a spreadsheet. NamedRanges []*NamedRange `json:"namedRanges,omitempty"` @@ -6035,20 +7166,21 @@ type Spreadsheet struct { // server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "NamedRanges") to - // unconditionally include in API requests. By default, fields with + // ForceSendFields is a list of field names (e.g. "DeveloperMetadata") + // to unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the // server regardless of whether the field is empty or not. This may be // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "NamedRanges") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. + // NullFields is a list of field names (e.g. "DeveloperMetadata") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. NullFields []string `json:"-"` } @@ -6599,6 +7731,86 @@ func (s *UpdateConditionalFormatRuleResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// UpdateDeveloperMetadataRequest: A request to update properties of +// developer metadata. +// Updates the properties of the developer metadata selected by the +// filters to +// the values provided in the DeveloperMetadata resource. Callers +// must +// specify the properties they wish to update in the fields parameter, +// as well +// as specify at least one DataFilter matching the metadata they wish +// to +// update. +type UpdateDeveloperMetadataRequest struct { + // DataFilters: The filters matching the developer metadata entries to + // update. + DataFilters []*DataFilter `json:"dataFilters,omitempty"` + + // DeveloperMetadata: The value that all metadata matched by the data + // filters will be updated to. + DeveloperMetadata *DeveloperMetadata `json:"developerMetadata,omitempty"` + + // Fields: The fields that should be updated. At least one field must + // be specified. + // The root `developerMetadata` is implied and should not be + // specified. + // A single "*" can be used as short-hand for listing every field. + Fields string `json:"fields,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DataFilters") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DataFilters") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *UpdateDeveloperMetadataRequest) MarshalJSON() ([]byte, error) { + type noMethod UpdateDeveloperMetadataRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// UpdateDeveloperMetadataResponse: The response from updating developer +// metadata. +type UpdateDeveloperMetadataResponse struct { + // DeveloperMetadata: The updated developer metadata. + DeveloperMetadata []*DeveloperMetadata `json:"developerMetadata,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DeveloperMetadata") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DeveloperMetadata") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *UpdateDeveloperMetadataResponse) MarshalJSON() ([]byte, error) { + type noMethod UpdateDeveloperMetadataResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // UpdateDimensionPropertiesRequest: Updates properties of dimensions // within the specified range. type UpdateDimensionPropertiesRequest struct { @@ -6892,6 +8104,58 @@ func (s *UpdateSpreadsheetPropertiesRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// UpdateValuesByDataFilterResponse: The response when updating a range +// of values by a data filter in a +// spreadsheet. +type UpdateValuesByDataFilterResponse struct { + // DataFilter: The data filter that selected the range that was updated. + DataFilter *DataFilter `json:"dataFilter,omitempty"` + + // UpdatedCells: The number of cells updated. + UpdatedCells int64 `json:"updatedCells,omitempty"` + + // UpdatedColumns: The number of columns where at least one cell in the + // column was updated. + UpdatedColumns int64 `json:"updatedColumns,omitempty"` + + // UpdatedData: The values of the cells in the range matched by the + // dataFilter after all + // updates were applied. This is only included if the + // request's + // `includeValuesInResponse` field was `true`. + UpdatedData *ValueRange `json:"updatedData,omitempty"` + + // UpdatedRange: The range (in A1 notation) that updates were applied + // to. + UpdatedRange string `json:"updatedRange,omitempty"` + + // UpdatedRows: The number of rows where at least one cell in the row + // was updated. + UpdatedRows int64 `json:"updatedRows,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DataFilter") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DataFilter") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *UpdateValuesByDataFilterResponse) MarshalJSON() ([]byte, error) { + type noMethod UpdateValuesByDataFilterResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // UpdateValuesResponse: The response when updating a range of values in // a spreadsheet. type UpdateValuesResponse struct { @@ -7503,6 +8767,468 @@ func (c *SpreadsheetsGetCall) Do(opts ...googleapi.CallOption) (*Spreadsheet, er } +// method id "sheets.spreadsheets.getByDataFilter": + +type SpreadsheetsGetByDataFilterCall struct { + s *Service + spreadsheetId string + getspreadsheetbydatafilterrequest *GetSpreadsheetByDataFilterRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// GetByDataFilter: Returns the spreadsheet at the given ID. +// The caller must specify the spreadsheet ID. +// +// This method differs from GetSpreadsheet in that it allows +// selecting +// which subsets of spreadsheet data to return by specifying +// a +// dataFilters parameter. +// Multiple DataFilters can be specified. Specifying one or +// more data filters will return the portions of the spreadsheet +// that +// intersect ranges matched by any of the filters. +// +// By default, data within grids will not be returned. +// You can include grid data one of two ways: +// +// * Specify a field mask listing your desired fields using the `fields` +// URL +// parameter in HTTP +// +// * Set the includeGridData +// parameter to true. If a field mask is set, the +// `includeGridData` +// parameter is ignored +// +// For large spreadsheets, it is recommended to retrieve only the +// specific +// fields of the spreadsheet that you want. +func (r *SpreadsheetsService) GetByDataFilter(spreadsheetId string, getspreadsheetbydatafilterrequest *GetSpreadsheetByDataFilterRequest) *SpreadsheetsGetByDataFilterCall { + c := &SpreadsheetsGetByDataFilterCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.spreadsheetId = spreadsheetId + c.getspreadsheetbydatafilterrequest = getspreadsheetbydatafilterrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *SpreadsheetsGetByDataFilterCall) Fields(s ...googleapi.Field) *SpreadsheetsGetByDataFilterCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *SpreadsheetsGetByDataFilterCall) Context(ctx context.Context) *SpreadsheetsGetByDataFilterCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *SpreadsheetsGetByDataFilterCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *SpreadsheetsGetByDataFilterCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.getspreadsheetbydatafilterrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v4/spreadsheets/{spreadsheetId}:getByDataFilter") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "spreadsheetId": c.spreadsheetId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "sheets.spreadsheets.getByDataFilter" call. +// Exactly one of *Spreadsheet or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Spreadsheet.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *SpreadsheetsGetByDataFilterCall) Do(opts ...googleapi.CallOption) (*Spreadsheet, 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, &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, err + } + ret := &Spreadsheet{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns the spreadsheet at the given ID.\nThe caller must specify the spreadsheet ID.\n\nThis method differs from GetSpreadsheet in that it allows selecting\nwhich subsets of spreadsheet data to return by specifying a\ndataFilters parameter.\nMultiple DataFilters can be specified. Specifying one or\nmore data filters will return the portions of the spreadsheet that\nintersect ranges matched by any of the filters.\n\nBy default, data within grids will not be returned.\nYou can include grid data one of two ways:\n\n* Specify a field mask listing your desired fields using the `fields` URL\nparameter in HTTP\n\n* Set the includeGridData\nparameter to true. If a field mask is set, the `includeGridData`\nparameter is ignored\n\nFor large spreadsheets, it is recommended to retrieve only the specific\nfields of the spreadsheet that you want.", + // "flatPath": "v4/spreadsheets/{spreadsheetId}:getByDataFilter", + // "httpMethod": "POST", + // "id": "sheets.spreadsheets.getByDataFilter", + // "parameterOrder": [ + // "spreadsheetId" + // ], + // "parameters": { + // "spreadsheetId": { + // "description": "The spreadsheet to request.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v4/spreadsheets/{spreadsheetId}:getByDataFilter", + // "request": { + // "$ref": "GetSpreadsheetByDataFilterRequest" + // }, + // "response": { + // "$ref": "Spreadsheet" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/drive", + // "https://www.googleapis.com/auth/drive.file", + // "https://www.googleapis.com/auth/spreadsheets" + // ] + // } + +} + +// method id "sheets.spreadsheets.developerMetadata.get": + +type SpreadsheetsDeveloperMetadataGetCall struct { + s *Service + spreadsheetId string + metadataId int64 + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Returns the developer metadata with the specified id. +// The caller must specify the spreadsheet ID and the developer +// metadata's +// unique metadataId. +func (r *SpreadsheetsDeveloperMetadataService) Get(spreadsheetId string, metadataId int64) *SpreadsheetsDeveloperMetadataGetCall { + c := &SpreadsheetsDeveloperMetadataGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.spreadsheetId = spreadsheetId + c.metadataId = metadataId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *SpreadsheetsDeveloperMetadataGetCall) Fields(s ...googleapi.Field) *SpreadsheetsDeveloperMetadataGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *SpreadsheetsDeveloperMetadataGetCall) IfNoneMatch(entityTag string) *SpreadsheetsDeveloperMetadataGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *SpreadsheetsDeveloperMetadataGetCall) Context(ctx context.Context) *SpreadsheetsDeveloperMetadataGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *SpreadsheetsDeveloperMetadataGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *SpreadsheetsDeveloperMetadataGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v4/spreadsheets/{spreadsheetId}/developerMetadata/{metadataId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "spreadsheetId": c.spreadsheetId, + "metadataId": strconv.FormatInt(c.metadataId, 10), + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "sheets.spreadsheets.developerMetadata.get" call. +// Exactly one of *DeveloperMetadata or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *DeveloperMetadata.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *SpreadsheetsDeveloperMetadataGetCall) Do(opts ...googleapi.CallOption) (*DeveloperMetadata, 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, &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, err + } + ret := &DeveloperMetadata{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns the developer metadata with the specified id.\nThe caller must specify the spreadsheet ID and the developer metadata's\nunique metadataId.", + // "flatPath": "v4/spreadsheets/{spreadsheetId}/developerMetadata/{metadataId}", + // "httpMethod": "GET", + // "id": "sheets.spreadsheets.developerMetadata.get", + // "parameterOrder": [ + // "spreadsheetId", + // "metadataId" + // ], + // "parameters": { + // "metadataId": { + // "description": "The ID of the developer metadata to retrieve.", + // "format": "int32", + // "location": "path", + // "required": true, + // "type": "integer" + // }, + // "spreadsheetId": { + // "description": "The ID of the spreadsheet to retrieve metadata from.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v4/spreadsheets/{spreadsheetId}/developerMetadata/{metadataId}", + // "response": { + // "$ref": "DeveloperMetadata" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/drive", + // "https://www.googleapis.com/auth/drive.file", + // "https://www.googleapis.com/auth/spreadsheets" + // ] + // } + +} + +// method id "sheets.spreadsheets.developerMetadata.search": + +type SpreadsheetsDeveloperMetadataSearchCall struct { + s *Service + spreadsheetId string + searchdevelopermetadatarequest *SearchDeveloperMetadataRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Search: Returns all developer metadata matching the specified +// DataFilter. +// If the provided DataFilter represents a DeveloperMetadataLookup +// object, +// this will return all DeveloperMetadata entries selected by it. If +// the +// DataFilter represents a location in a spreadsheet, this will return +// all +// developer metadata associated with locations intersecting that +// region. +func (r *SpreadsheetsDeveloperMetadataService) Search(spreadsheetId string, searchdevelopermetadatarequest *SearchDeveloperMetadataRequest) *SpreadsheetsDeveloperMetadataSearchCall { + c := &SpreadsheetsDeveloperMetadataSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.spreadsheetId = spreadsheetId + c.searchdevelopermetadatarequest = searchdevelopermetadatarequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *SpreadsheetsDeveloperMetadataSearchCall) Fields(s ...googleapi.Field) *SpreadsheetsDeveloperMetadataSearchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *SpreadsheetsDeveloperMetadataSearchCall) Context(ctx context.Context) *SpreadsheetsDeveloperMetadataSearchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *SpreadsheetsDeveloperMetadataSearchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *SpreadsheetsDeveloperMetadataSearchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.searchdevelopermetadatarequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v4/spreadsheets/{spreadsheetId}/developerMetadata:search") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "spreadsheetId": c.spreadsheetId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "sheets.spreadsheets.developerMetadata.search" call. +// Exactly one of *SearchDeveloperMetadataResponse or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *SearchDeveloperMetadataResponse.ServerResponse.Header or (if +// a response was returned at all) in error.(*googleapi.Error).Header. +// Use googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *SpreadsheetsDeveloperMetadataSearchCall) Do(opts ...googleapi.CallOption) (*SearchDeveloperMetadataResponse, 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, &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, err + } + ret := &SearchDeveloperMetadataResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns all developer metadata matching the specified DataFilter.\nIf the provided DataFilter represents a DeveloperMetadataLookup object,\nthis will return all DeveloperMetadata entries selected by it. If the\nDataFilter represents a location in a spreadsheet, this will return all\ndeveloper metadata associated with locations intersecting that region.", + // "flatPath": "v4/spreadsheets/{spreadsheetId}/developerMetadata:search", + // "httpMethod": "POST", + // "id": "sheets.spreadsheets.developerMetadata.search", + // "parameterOrder": [ + // "spreadsheetId" + // ], + // "parameters": { + // "spreadsheetId": { + // "description": "The ID of the spreadsheet to retrieve metadata from.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v4/spreadsheets/{spreadsheetId}/developerMetadata:search", + // "request": { + // "$ref": "SearchDeveloperMetadataRequest" + // }, + // "response": { + // "$ref": "SearchDeveloperMetadataResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/drive", + // "https://www.googleapis.com/auth/drive.file", + // "https://www.googleapis.com/auth/spreadsheets" + // ] + // } + +} + // method id "sheets.spreadsheets.sheets.copyTo": type SpreadsheetsSheetsCopyToCall struct { @@ -8067,6 +9793,150 @@ func (c *SpreadsheetsValuesBatchClearCall) Do(opts ...googleapi.CallOption) (*Ba } +// method id "sheets.spreadsheets.values.batchClearByDataFilter": + +type SpreadsheetsValuesBatchClearByDataFilterCall struct { + s *Service + spreadsheetId string + batchclearvaluesbydatafilterrequest *BatchClearValuesByDataFilterRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// BatchClearByDataFilter: Clears one or more ranges of values from a +// spreadsheet. +// The caller must specify the spreadsheet ID and one or +// more +// DataFilters. Ranges matching any of the specified data +// filters will be cleared. Only values are cleared -- all other +// properties +// of the cell (such as formatting, data validation, etc..) are kept. +func (r *SpreadsheetsValuesService) BatchClearByDataFilter(spreadsheetId string, batchclearvaluesbydatafilterrequest *BatchClearValuesByDataFilterRequest) *SpreadsheetsValuesBatchClearByDataFilterCall { + c := &SpreadsheetsValuesBatchClearByDataFilterCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.spreadsheetId = spreadsheetId + c.batchclearvaluesbydatafilterrequest = batchclearvaluesbydatafilterrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *SpreadsheetsValuesBatchClearByDataFilterCall) Fields(s ...googleapi.Field) *SpreadsheetsValuesBatchClearByDataFilterCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *SpreadsheetsValuesBatchClearByDataFilterCall) Context(ctx context.Context) *SpreadsheetsValuesBatchClearByDataFilterCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *SpreadsheetsValuesBatchClearByDataFilterCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *SpreadsheetsValuesBatchClearByDataFilterCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchclearvaluesbydatafilterrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v4/spreadsheets/{spreadsheetId}/values:batchClearByDataFilter") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "spreadsheetId": c.spreadsheetId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "sheets.spreadsheets.values.batchClearByDataFilter" call. +// Exactly one of *BatchClearValuesByDataFilterResponse or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *BatchClearValuesByDataFilterResponse.ServerResponse.Header or +// (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *SpreadsheetsValuesBatchClearByDataFilterCall) Do(opts ...googleapi.CallOption) (*BatchClearValuesByDataFilterResponse, 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, &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, err + } + ret := &BatchClearValuesByDataFilterResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Clears one or more ranges of values from a spreadsheet.\nThe caller must specify the spreadsheet ID and one or more\nDataFilters. Ranges matching any of the specified data\nfilters will be cleared. Only values are cleared -- all other properties\nof the cell (such as formatting, data validation, etc..) are kept.", + // "flatPath": "v4/spreadsheets/{spreadsheetId}/values:batchClearByDataFilter", + // "httpMethod": "POST", + // "id": "sheets.spreadsheets.values.batchClearByDataFilter", + // "parameterOrder": [ + // "spreadsheetId" + // ], + // "parameters": { + // "spreadsheetId": { + // "description": "The ID of the spreadsheet to update.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v4/spreadsheets/{spreadsheetId}/values:batchClearByDataFilter", + // "request": { + // "$ref": "BatchClearValuesByDataFilterRequest" + // }, + // "response": { + // "$ref": "BatchClearValuesByDataFilterResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/drive", + // "https://www.googleapis.com/auth/drive.file", + // "https://www.googleapis.com/auth/spreadsheets" + // ] + // } + +} + // method id "sheets.spreadsheets.values.batchGet": type SpreadsheetsValuesBatchGetCall struct { @@ -8302,6 +10172,148 @@ func (c *SpreadsheetsValuesBatchGetCall) Do(opts ...googleapi.CallOption) (*Batc } +// method id "sheets.spreadsheets.values.batchGetByDataFilter": + +type SpreadsheetsValuesBatchGetByDataFilterCall struct { + s *Service + spreadsheetId string + batchgetvaluesbydatafilterrequest *BatchGetValuesByDataFilterRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// BatchGetByDataFilter: Returns one or more ranges of values from a +// spreadsheet that match the +// specified data filters. The caller must specify the spreadsheet ID +// and +// one or more DataFilters. Ranges that match any of the data +// filters in the request will be returned. +func (r *SpreadsheetsValuesService) BatchGetByDataFilter(spreadsheetId string, batchgetvaluesbydatafilterrequest *BatchGetValuesByDataFilterRequest) *SpreadsheetsValuesBatchGetByDataFilterCall { + c := &SpreadsheetsValuesBatchGetByDataFilterCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.spreadsheetId = spreadsheetId + c.batchgetvaluesbydatafilterrequest = batchgetvaluesbydatafilterrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *SpreadsheetsValuesBatchGetByDataFilterCall) Fields(s ...googleapi.Field) *SpreadsheetsValuesBatchGetByDataFilterCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *SpreadsheetsValuesBatchGetByDataFilterCall) Context(ctx context.Context) *SpreadsheetsValuesBatchGetByDataFilterCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *SpreadsheetsValuesBatchGetByDataFilterCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *SpreadsheetsValuesBatchGetByDataFilterCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchgetvaluesbydatafilterrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v4/spreadsheets/{spreadsheetId}/values:batchGetByDataFilter") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "spreadsheetId": c.spreadsheetId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "sheets.spreadsheets.values.batchGetByDataFilter" call. +// Exactly one of *BatchGetValuesByDataFilterResponse or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *BatchGetValuesByDataFilterResponse.ServerResponse.Header or +// (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *SpreadsheetsValuesBatchGetByDataFilterCall) Do(opts ...googleapi.CallOption) (*BatchGetValuesByDataFilterResponse, 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, &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, err + } + ret := &BatchGetValuesByDataFilterResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns one or more ranges of values from a spreadsheet that match the\nspecified data filters. The caller must specify the spreadsheet ID and\none or more DataFilters. Ranges that match any of the data\nfilters in the request will be returned.", + // "flatPath": "v4/spreadsheets/{spreadsheetId}/values:batchGetByDataFilter", + // "httpMethod": "POST", + // "id": "sheets.spreadsheets.values.batchGetByDataFilter", + // "parameterOrder": [ + // "spreadsheetId" + // ], + // "parameters": { + // "spreadsheetId": { + // "description": "The ID of the spreadsheet to retrieve data from.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v4/spreadsheets/{spreadsheetId}/values:batchGetByDataFilter", + // "request": { + // "$ref": "BatchGetValuesByDataFilterRequest" + // }, + // "response": { + // "$ref": "BatchGetValuesByDataFilterResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/drive", + // "https://www.googleapis.com/auth/drive.file", + // "https://www.googleapis.com/auth/spreadsheets" + // ] + // } + +} + // method id "sheets.spreadsheets.values.batchUpdate": type SpreadsheetsValuesBatchUpdateCall struct { @@ -8441,6 +10453,147 @@ func (c *SpreadsheetsValuesBatchUpdateCall) Do(opts ...googleapi.CallOption) (*B } +// method id "sheets.spreadsheets.values.batchUpdateByDataFilter": + +type SpreadsheetsValuesBatchUpdateByDataFilterCall struct { + s *Service + spreadsheetId string + batchupdatevaluesbydatafilterrequest *BatchUpdateValuesByDataFilterRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// BatchUpdateByDataFilter: Sets values in one or more ranges of a +// spreadsheet. +// The caller must specify the spreadsheet ID, +// a valueInputOption, and one or more +// DataFilterValueRanges. +func (r *SpreadsheetsValuesService) BatchUpdateByDataFilter(spreadsheetId string, batchupdatevaluesbydatafilterrequest *BatchUpdateValuesByDataFilterRequest) *SpreadsheetsValuesBatchUpdateByDataFilterCall { + c := &SpreadsheetsValuesBatchUpdateByDataFilterCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.spreadsheetId = spreadsheetId + c.batchupdatevaluesbydatafilterrequest = batchupdatevaluesbydatafilterrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *SpreadsheetsValuesBatchUpdateByDataFilterCall) Fields(s ...googleapi.Field) *SpreadsheetsValuesBatchUpdateByDataFilterCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *SpreadsheetsValuesBatchUpdateByDataFilterCall) Context(ctx context.Context) *SpreadsheetsValuesBatchUpdateByDataFilterCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *SpreadsheetsValuesBatchUpdateByDataFilterCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *SpreadsheetsValuesBatchUpdateByDataFilterCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchupdatevaluesbydatafilterrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v4/spreadsheets/{spreadsheetId}/values:batchUpdateByDataFilter") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "spreadsheetId": c.spreadsheetId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "sheets.spreadsheets.values.batchUpdateByDataFilter" call. +// Exactly one of *BatchUpdateValuesByDataFilterResponse or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *BatchUpdateValuesByDataFilterResponse.ServerResponse.Header or (if a +// response was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *SpreadsheetsValuesBatchUpdateByDataFilterCall) Do(opts ...googleapi.CallOption) (*BatchUpdateValuesByDataFilterResponse, 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, &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, err + } + ret := &BatchUpdateValuesByDataFilterResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Sets values in one or more ranges of a spreadsheet.\nThe caller must specify the spreadsheet ID,\na valueInputOption, and one or more\nDataFilterValueRanges.", + // "flatPath": "v4/spreadsheets/{spreadsheetId}/values:batchUpdateByDataFilter", + // "httpMethod": "POST", + // "id": "sheets.spreadsheets.values.batchUpdateByDataFilter", + // "parameterOrder": [ + // "spreadsheetId" + // ], + // "parameters": { + // "spreadsheetId": { + // "description": "The ID of the spreadsheet to update.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v4/spreadsheets/{spreadsheetId}/values:batchUpdateByDataFilter", + // "request": { + // "$ref": "BatchUpdateValuesByDataFilterRequest" + // }, + // "response": { + // "$ref": "BatchUpdateValuesByDataFilterResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/drive", + // "https://www.googleapis.com/auth/drive.file", + // "https://www.googleapis.com/auth/spreadsheets" + // ] + // } + +} + // method id "sheets.spreadsheets.values.clear": type SpreadsheetsValuesClearCall struct { diff --git a/vendor/google.golang.org/api/siteverification/v1/siteverification-api.json b/vendor/google.golang.org/api/siteverification/v1/siteverification-api.json index 15200ea1b..566f04686 100644 --- a/vendor/google.golang.org/api/siteverification/v1/siteverification-api.json +++ b/vendor/google.golang.org/api/siteverification/v1/siteverification-api.json @@ -20,7 +20,7 @@ "basePath": "/siteVerification/v1/", "rootUrl": "https://www.googleapis.com/", "servicePath": "siteVerification/v1/", - "batchPath": "batch", + "batchPath": "batch/siteVerification/v1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/slides/v1/slides-api.json b/vendor/google.golang.org/api/slides/v1/slides-api.json index 7417a3ca9..586ec9fc8 100644 --- a/vendor/google.golang.org/api/slides/v1/slides-api.json +++ b/vendor/google.golang.org/api/slides/v1/slides-api.json @@ -1,4 +1,7 @@ { + "rootUrl": "https://slides.googleapis.com/", + "ownerDomain": "google.com", + "name": "slides", "batchPath": "batch", "title": "Google Slides API", "ownerName": "Google", @@ -6,6 +9,9 @@ "presentations": { "methods": { "get": { + "flatPath": "v1/presentations/{presentationsId}", + "id": "slides.presentations.get", + "path": "v1/presentations/{+presentationId}", "description": "Gets the latest version of the specified presentation.", "response": { "$ref": "Presentation" @@ -22,18 +28,22 @@ ], "parameters": { "presentationId": { - "type": "string", - "required": true, "pattern": "^[^/]+$", "location": "path", - "description": "The ID of the presentation to retrieve." + "description": "The ID of the presentation to retrieve.", + "type": "string", + "required": true } - }, - "flatPath": "v1/presentations/{presentationsId}", - "id": "slides.presentations.get", - "path": "v1/presentations/{+presentationId}" + } }, "batchUpdate": { + "httpMethod": "POST", + "parameterOrder": [ + "presentationId" + ], + "response": { + "$ref": "BatchUpdatePresentationResponse" + }, "scopes": [ "https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.readonly", @@ -43,26 +53,19 @@ ], "parameters": { "presentationId": { + "location": "path", "description": "The presentation to apply the updates to.", "type": "string", - "required": true, - "location": "path" + "required": true } }, "flatPath": "v1/presentations/{presentationId}:batchUpdate", - "id": "slides.presentations.batchUpdate", "path": "v1/presentations/{presentationId}:batchUpdate", + "id": "slides.presentations.batchUpdate", "request": { "$ref": "BatchUpdatePresentationRequest" }, - "description": "Applies one or more updates to the presentation.\n\nEach request is validated before\nbeing applied. If any request is not valid, then the entire request will\nfail and nothing will be applied.\n\nSome requests have replies to\ngive you some information about how they are applied. Other requests do\nnot need to return information; these each return an empty reply.\nThe order of replies matches that of the requests.\n\nFor example, suppose you call batchUpdate with four updates, and only the\nthird one returns information. The response would have two empty replies:\nthe reply to the third request, and another empty reply, in that order.\n\nBecause other users may be editing the presentation, the presentation\nmight not exactly reflect your changes: your changes may\nbe altered with respect to collaborator changes. If there are no\ncollaborators, the presentation should reflect your changes. In any case,\nthe updates in your request are guaranteed to be applied together\natomically.", - "response": { - "$ref": "BatchUpdatePresentationResponse" - }, - "parameterOrder": [ - "presentationId" - ], - "httpMethod": "POST" + "description": "Applies one or more updates to the presentation.\n\nEach request is validated before\nbeing applied. If any request is not valid, then the entire request will\nfail and nothing will be applied.\n\nSome requests have replies to\ngive you some information about how they are applied. Other requests do\nnot need to return information; these each return an empty reply.\nThe order of replies matches that of the requests.\n\nFor example, suppose you call batchUpdate with four updates, and only the\nthird one returns information. The response would have two empty replies:\nthe reply to the third request, and another empty reply, in that order.\n\nBecause other users may be editing the presentation, the presentation\nmight not exactly reflect your changes: your changes may\nbe altered with respect to collaborator changes. If there are no\ncollaborators, the presentation should reflect your changes. In any case,\nthe updates in your request are guaranteed to be applied together\natomically." }, "create": { "description": "Creates a new presentation using the title given in the request. Other\nfields in the request are ignored.\nReturns the created presentation.", @@ -87,22 +90,56 @@ "resources": { "pages": { "methods": { - "getThumbnail": { - "httpMethod": "GET", + "get": { "response": { - "$ref": "Thumbnail" + "$ref": "Page" }, "parameterOrder": [ "presentationId", "pageObjectId" ], + "httpMethod": "GET", "parameters": { + "presentationId": { + "location": "path", + "description": "The ID of the presentation to retrieve.", + "type": "string", + "required": true + }, "pageObjectId": { - "description": "The object ID of the page whose thumbnail to retrieve.", + "description": "The object ID of the page to retrieve.", "type": "string", "required": true, "location": "path" - }, + } + }, + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.readonly", + "https://www.googleapis.com/auth/presentations", + "https://www.googleapis.com/auth/presentations.readonly" + ], + "flatPath": "v1/presentations/{presentationId}/pages/{pageObjectId}", + "id": "slides.presentations.pages.get", + "path": "v1/presentations/{presentationId}/pages/{pageObjectId}", + "description": "Gets the latest version of the specified page in the presentation." + }, + "getThumbnail": { + "parameterOrder": [ + "presentationId", + "pageObjectId" + ], + "httpMethod": "GET", + "response": { + "$ref": "Thumbnail" + }, + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.readonly", + "https://www.googleapis.com/auth/presentations", + "https://www.googleapis.com/auth/presentations.readonly" + ], + "parameters": { "thumbnailProperties.thumbnailSize": { "location": "query", "enum": [ @@ -113,64 +150,30 @@ "type": "string" }, "thumbnailProperties.mimeType": { - "description": "The optional mime type of the thumbnail image.\n\nIf you don't specify the mime type, the default mime type will be PNG.", - "type": "string", - "location": "query", "enum": [ "PNG" - ] + ], + "description": "The optional mime type of the thumbnail image.\n\nIf you don't specify the mime type, the default mime type will be PNG.", + "type": "string", + "location": "query" }, "presentationId": { + "type": "string", + "required": true, "location": "path", - "description": "The ID of the presentation to retrieve.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/drive", - "https://www.googleapis.com/auth/drive.readonly", - "https://www.googleapis.com/auth/presentations", - "https://www.googleapis.com/auth/presentations.readonly" - ], - "flatPath": "v1/presentations/{presentationId}/pages/{pageObjectId}/thumbnail", - "path": "v1/presentations/{presentationId}/pages/{pageObjectId}/thumbnail", - "id": "slides.presentations.pages.getThumbnail", - "description": "Generates a thumbnail of the latest version of the specified page in the\npresentation and returns a URL to the thumbnail image." - }, - "get": { - "flatPath": "v1/presentations/{presentationId}/pages/{pageObjectId}", - "id": "slides.presentations.pages.get", - "path": "v1/presentations/{presentationId}/pages/{pageObjectId}", - "description": "Gets the latest version of the specified page in the presentation.", - "response": { - "$ref": "Page" - }, - "parameterOrder": [ - "presentationId", - "pageObjectId" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/drive", - "https://www.googleapis.com/auth/drive.readonly", - "https://www.googleapis.com/auth/presentations", - "https://www.googleapis.com/auth/presentations.readonly" - ], - "parameters": { - "pageObjectId": { - "description": "The object ID of the page to retrieve.", - "type": "string", - "required": true, - "location": "path" + "description": "The ID of the presentation to retrieve." }, - "presentationId": { - "description": "The ID of the presentation to retrieve.", + "pageObjectId": { + "description": "The object ID of the page whose thumbnail to retrieve.", "type": "string", "required": true, "location": "path" } - } + }, + "flatPath": "v1/presentations/{presentationId}/pages/{pageObjectId}/thumbnail", + "id": "slides.presentations.pages.getThumbnail", + "path": "v1/presentations/{presentationId}/pages/{pageObjectId}/thumbnail", + "description": "Generates a thumbnail of the latest version of the specified page in the\npresentation and returns a URL to the thumbnail image." } } } @@ -178,11 +181,42 @@ } }, "parameters": { - "upload_protocol": { + "access_token": { "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "description": "OAuth access token.", "type": "string" }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "quotaUser": { + "type": "string", + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters." + }, + "pp": { + "description": "Pretty-print response.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string", + "location": "query" + }, "prettyPrint": { "description": "Returns response with indentations and line breaks.", "default": "true", @@ -190,19 +224,19 @@ "location": "query" }, "uploadType": { + "location": "query", "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string", - "location": "query" + "type": "string" }, "fields": { + "location": "query", "description": "Selector specifying which fields to include in a partial response.", - "type": "string", - "location": "query" + "type": "string" }, "callback": { - "location": "query", "description": "JSONP", - "type": "string" + "type": "string", + "location": "query" }, "$.xgafv": { "description": "V1 error format.", @@ -218,11 +252,6 @@ ] }, "alt": { - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], "location": "query", "description": "Data format for response.", "default": "json", @@ -231,2872 +260,36 @@ "media", "proto" ], - "type": "string" - }, - "access_token": { "type": "string", - "location": "query", - "description": "OAuth access token." - }, - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string", - "location": "query" - }, - "quotaUser": { - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string", - "location": "query" - }, - "pp": { - "location": "query", - "description": "Pretty-print response.", - "default": "true", - "type": "boolean" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" - }, - "bearer_token": { - "description": "OAuth bearer token.", - "type": "string", - "location": "query" + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ] } }, "version": "v1", "baseUrl": "https://slides.googleapis.com/", - "servicePath": "", - "description": "An API for creating and editing Google Slides presentations.", "kind": "discovery#restDescription", + "description": "An API for creating and editing Google Slides presentations.", + "servicePath": "", "basePath": "", - "revision": "20170630", - "documentationLink": "https://developers.google.com/slides/", "id": "slides:v1", + "revision": "20170922", + "documentationLink": "https://developers.google.com/slides/", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { - "Page": { - "type": "object", - "properties": { - "objectId": { - "type": "string", - "description": "The object ID for this page. Object IDs used by\nPage and\nPageElement share the same namespace." - }, - "revisionId": { - "type": "string", - "description": "The revision ID of the presentation containing this page. Can be used in\nupdate requests to assert that the presentation revision hasn't changed\nsince the last read operation. Only populated if the user has edit access\nto the presentation.\n\nThe format of the revision ID may change over time, so it should be treated\nopaquely. A returned revision ID is only guaranteed to be valid for 24\nhours after it has been returned and cannot be shared across users. If the\nrevision ID is unchanged between calls, then the presentation has not\nchanged. Conversely, a changed ID (for the same presentation and user)\nusually means the presentation has been updated; however, a changed ID can\nalso be due to internal factors such as ID format changes." - }, - "layoutProperties": { - "description": "Layout specific properties. Only set if page_type = LAYOUT.", - "$ref": "LayoutProperties" - }, - "pageElements": { - "description": "The page elements rendered on the page.", - "items": { - "$ref": "PageElement" - }, - "type": "array" - }, - "pageType": { - "enumDescriptions": [ - "A slide page.", - "A master slide page.", - "A layout page.", - "A notes page.", - "A notes master page." - ], - "enum": [ - "SLIDE", - "MASTER", - "LAYOUT", - "NOTES", - "NOTES_MASTER" - ], - "description": "The type of the page.", - "type": "string" - }, - "notesProperties": { - "description": "Notes specific properties. Only set if page_type = NOTES.", - "$ref": "NotesProperties" - }, - "slideProperties": { - "$ref": "SlideProperties", - "description": "Slide specific properties. Only set if page_type = SLIDE." - }, - "pageProperties": { - "$ref": "PageProperties", - "description": "The properties of the page." - } - }, - "id": "Page", - "description": "A page in a presentation." - }, - "ShapeBackgroundFill": { - "description": "The shape background fill.", - "type": "object", - "properties": { - "solidFill": { - "$ref": "SolidFill", - "description": "Solid color fill." - }, - "propertyState": { - "description": "The background fill property state.\n\nUpdating the the fill on a shape will implicitly update this field to\n`RENDERED`, unless another value is specified in the same request. To\nhave no fill on a shape, set this field to `NOT_RENDERED`. In this case,\nany other fill fields set in the same request will be ignored.", - "type": "string", - "enumDescriptions": [ - "If a property's state is RENDERED, then the element has the corresponding\nproperty when rendered on a page. If the element is a placeholder shape as\ndetermined by the placeholder\nfield, and it inherits from a placeholder shape, the corresponding field\nmay be unset, meaning that the property value is inherited from a parent\nplaceholder. If the element does not inherit, then the field will contain\nthe rendered value. This is the default value.", - "If a property's state is NOT_RENDERED, then the element does not have the\ncorresponding property when rendered on a page. However, the field may\nstill be set so it can be inherited by child shapes. To remove a property\nfrom a rendered element, set its property_state to NOT_RENDERED.", - "If a property's state is INHERIT, then the property state uses the value of\ncorresponding `property_state` field on the parent shape. Elements that do\nnot inherit will never have an INHERIT property state." - ], - "enum": [ - "RENDERED", - "NOT_RENDERED", - "INHERIT" - ] - } - }, - "id": "ShapeBackgroundFill" - }, - "CropProperties": { - "type": "object", - "properties": { - "leftOffset": { - "format": "float", - "description": "The offset specifies the left edge of the crop rectangle that is located to\nthe right of the original bounding rectangle left edge, relative to the\nobject's original width.", - "type": "number" - }, - "rightOffset": { - "format": "float", - "description": "The offset specifies the right edge of the crop rectangle that is located\nto the left of the original bounding rectangle right edge, relative to the\nobject's original width.", - "type": "number" - }, - "bottomOffset": { - "format": "float", - "description": "The offset specifies the bottom edge of the crop rectangle that is located\nabove the original bounding rectangle bottom edge, relative to the object's\noriginal height.", - "type": "number" - }, - "angle": { - "format": "float", - "description": "The rotation angle of the crop window around its center, in radians.\nRotation angle is applied after the offset.", - "type": "number" - }, - "topOffset": { - "format": "float", - "description": "The offset specifies the top edge of the crop rectangle that is located\nbelow the original bounding rectangle top edge, relative to the object's\noriginal height.", - "type": "number" - } - }, - "id": "CropProperties", - "description": "The crop properties of an object enclosed in a container. For example, an\nImage.\n\nThe crop properties is represented by the offsets of four edges which define\na crop rectangle. The offsets are measured in percentage from the\ncorresponding edges of the object's original bounding rectangle towards\ninside, relative to the object's original dimensions.\n\n- If the offset is in the interval (0, 1), the corresponding edge of crop\nrectangle is positioned inside of the object's original bounding rectangle.\n- If the offset is negative or greater than 1, the corresponding edge of crop\nrectangle is positioned outside of the object's original bounding rectangle.\n- If the left edge of the crop rectangle is on the right side of its right\nedge, the object will be flipped horizontally.\n- If the top edge of the crop rectangle is below its bottom edge, the object\nwill be flipped vertically.\n- If all offsets and rotation angle is 0, the object is not cropped.\n\nAfter cropping, the content in the crop rectangle will be stretched to fit\nits container." - }, - "ReplaceAllShapesWithSheetsChartRequest": { - "description": "Replaces all shapes that match the given criteria with the provided Google\nSheets chart. The chart will be scaled and centered to fit within the bounds\nof the original shape.\n\nNOTE: Replacing shapes with a chart requires at least one of the\nspreadsheets.readonly, spreadsheets, drive.readonly, or drive OAuth scopes.", - "type": "object", - "properties": { - "linkingMode": { - "description": "The mode with which the chart is linked to the source spreadsheet. When\nnot specified, the chart will be an image that is not linked.", - "type": "string", - "enumDescriptions": [ - "The chart is not associated with the source spreadsheet and cannot be\nupdated. A chart that is not linked will be inserted as an image.", - "Linking the chart allows it to be updated, and other collaborators will\nsee a link to the spreadsheet." - ], - "enum": [ - "NOT_LINKED_IMAGE", - "LINKED" - ] - }, - "spreadsheetId": { - "description": "The ID of the Google Sheets spreadsheet that contains the chart.", - "type": "string" - }, - "pageObjectIds": { - "description": "If non-empty, limits the matches to page elements only on the given pages.\n\nReturns a 400 bad request error if given the page object ID of a\nnotes page or a\nnotes master, or if a\npage with that object ID doesn't exist in the presentation.", - "items": { - "type": "string" - }, - "type": "array" - }, - "chartId": { - "format": "int32", - "description": "The ID of the specific chart in the Google Sheets spreadsheet.", - "type": "integer" - }, - "containsText": { - "description": "The criteria that the shapes must match in order to be replaced. The\nrequest will replace all of the shapes that contain the given text.", - "$ref": "SubstringMatchCriteria" - } - }, - "id": "ReplaceAllShapesWithSheetsChartRequest" - }, - "Range": { - "id": "Range", - "description": "Specifies a contiguous range of an indexed collection, such as characters in\ntext.", - "type": "object", - "properties": { - "type": { - "type": "string", - "enumDescriptions": [ - "Unspecified range type. This value must not be used.", - "A fixed range. Both the `start_index` and\n`end_index` must be specified.", - "Starts the range at `start_index` and continues until the\nend of the collection. The `end_index` must not be specified.", - "Sets the range to be the whole length of the collection. Both the\n`start_index` and the `end_index` must not be\nspecified." - ], - "enum": [ - "RANGE_TYPE_UNSPECIFIED", - "FIXED_RANGE", - "FROM_START_INDEX", - "ALL" - ], - "description": "The type of range." - }, - "endIndex": { - "format": "int32", - "description": "The optional zero-based index of the end of the collection.\nRequired for `FIXED_RANGE` ranges.", - "type": "integer" - }, - "startIndex": { - "format": "int32", - "description": "The optional zero-based index of the beginning of the collection.\nRequired for `FIXED_RANGE` and `FROM_START_INDEX` ranges.", - "type": "integer" - } - } - }, - "ColorStop": { - "description": "A color and position in a gradient band.", - "type": "object", - "properties": { - "position": { - "type": "number", - "format": "float", - "description": "The relative position of the color stop in the gradient band measured\nin percentage. The value should be in the interval [0.0, 1.0]." - }, - "alpha": { - "format": "float", - "description": "The alpha value of this color in the gradient band. Defaults to 1.0,\nfully opaque.", - "type": "number" - }, - "color": { - "description": "The color of the gradient stop.", - "$ref": "OpaqueColor" - } - }, - "id": "ColorStop" - }, - "CreateVideoRequest": { - "description": "Creates a video.", - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The video source's unique identifier for this video.\n\ne.g. For YouTube video https://www.youtube.com/watch?v=7U3axjORYZ0,\nthe ID is 7U3axjORYZ0." - }, - "source": { - "enum": [ - "SOURCE_UNSPECIFIED", - "YOUTUBE" - ], - "description": "The video source.", - "type": "string", - "enumDescriptions": [ - "The video source is unspecified.", - "The video source is YouTube." - ] - }, - "objectId": { - "description": "A user-supplied object ID.\n\nIf you specify an ID, it must be unique among all pages and page elements\nin the presentation. The ID must start with an alphanumeric character or an\nunderscore (matches regex `[a-zA-Z0-9_]`); remaining characters\nmay include those as well as a hyphen or colon (matches regex\n`[a-zA-Z0-9_-:]`).\nThe length of the ID must not be less than 5 or greater than 50.\n\nIf you don't specify an ID, a unique one is generated.", - "type": "string" - }, - "elementProperties": { - "$ref": "PageElementProperties", - "description": "The element properties for the video." - } - }, - "id": "CreateVideoRequest" - }, - "DuplicateObjectResponse": { - "properties": { - "objectId": { - "type": "string", - "description": "The ID of the new duplicate object." - } - }, - "id": "DuplicateObjectResponse", - "description": "The response of duplicating an object.", - "type": "object" - }, - "ReplaceAllShapesWithImageRequest": { - "properties": { - "imageUrl": { - "description": "The image URL.\n\nThe image is fetched once at insertion time and a copy is stored for\ndisplay inside the presentation. Images must be less than 50MB in size,\ncannot exceed 25 megapixels, and must be in either in PNG, JPEG, or GIF\nformat.", - "type": "string" - }, - "replaceMethod": { - "description": "The replace method.", - "type": "string", - "enumDescriptions": [ - "Scales and centers the image to fit within the bounds of the original\nshape and maintains the image's aspect ratio. The rendered size of the\nimage may be smaller than the size of the shape. This is the default\nmethod when one is not specified.", - "Scales and centers the image to fill the bounds of the original shape.\nThe image may be cropped in order to fill the shape. The rendered size of\nthe image will be the same as that of the original shape." - ], - "enum": [ - "CENTER_INSIDE", - "CENTER_CROP" - ] - }, - "pageObjectIds": { - "description": "If non-empty, limits the matches to page elements only on the given pages.\n\nReturns a 400 bad request error if given the page object ID of a\nnotes page or a\nnotes master, or if a\npage with that object ID doesn't exist in the presentation.", - "items": { - "type": "string" - }, - "type": "array" - }, - "containsText": { - "description": "If set, this request will replace all of the shapes that contain the\ngiven text.", - "$ref": "SubstringMatchCriteria" - } - }, - "id": "ReplaceAllShapesWithImageRequest", - "description": "Replaces all shapes that match the given criteria with the provided image.", - "type": "object" - }, - "Shadow": { - "description": "The shadow properties of a page element.\n\nIf these fields are unset, they may be inherited from a parent placeholder\nif it exists. If there is no parent, the fields will default to the value\nused for new page elements created in the Slides editor, which may depend on\nthe page element kind.", - "type": "object", - "properties": { - "blurRadius": { - "description": "The radius of the shadow blur. The larger the radius, the more diffuse the\nshadow becomes.", - "$ref": "Dimension" - }, - "type": { - "enum": [ - "SHADOW_TYPE_UNSPECIFIED", - "OUTER" - ], - "description": "The type of the shadow.", - "type": "string", - "enumDescriptions": [ - "Unspecified shadow type.", - "Outer shadow." - ] - }, - "transform": { - "$ref": "AffineTransform", - "description": "Transform that encodes the translate, scale, and skew of the shadow,\nrelative to the alignment position." - }, - "alignment": { - "description": "The alignment point of the shadow, that sets the origin for translate,\nscale and skew of the shadow.", - "type": "string", - "enumDescriptions": [ - "Unspecified.", - "Top left.", - "Top center.", - "Top right.", - "Left center.", - "Center.", - "Right center.", - "Bottom left.", - "Bottom center.", - "Bottom right." - ], - "enum": [ - "RECTANGLE_POSITION_UNSPECIFIED", - "TOP_LEFT", - "TOP_CENTER", - "TOP_RIGHT", - "LEFT_CENTER", - "CENTER", - "RIGHT_CENTER", - "BOTTOM_LEFT", - "BOTTOM_CENTER", - "BOTTOM_RIGHT" - ] - }, - "alpha": { - "format": "float", - "description": "The alpha of the shadow's color, from 0.0 to 1.0.", - "type": "number" - }, - "color": { - "$ref": "OpaqueColor", - "description": "The shadow color value." - }, - "rotateWithShape": { - "description": "Whether the shadow should rotate with the shape.", - "type": "boolean" - }, - "propertyState": { - "description": "The shadow property state.\n\nUpdating the the shadow on a page element will implicitly update this field\nto `RENDERED`, unless another value is specified in the same request. To\nhave no shadow on a page element, set this field to `NOT_RENDERED`. In this\ncase, any other shadow fields set in the same request will be ignored.", - "type": "string", - "enumDescriptions": [ - "If a property's state is RENDERED, then the element has the corresponding\nproperty when rendered on a page. If the element is a placeholder shape as\ndetermined by the placeholder\nfield, and it inherits from a placeholder shape, the corresponding field\nmay be unset, meaning that the property value is inherited from a parent\nplaceholder. If the element does not inherit, then the field will contain\nthe rendered value. This is the default value.", - "If a property's state is NOT_RENDERED, then the element does not have the\ncorresponding property when rendered on a page. However, the field may\nstill be set so it can be inherited by child shapes. To remove a property\nfrom a rendered element, set its property_state to NOT_RENDERED.", - "If a property's state is INHERIT, then the property state uses the value of\ncorresponding `property_state` field on the parent shape. Elements that do\nnot inherit will never have an INHERIT property state." - ], - "enum": [ - "RENDERED", - "NOT_RENDERED", - "INHERIT" - ] - } - }, - "id": "Shadow" - }, - "DeleteTableRowRequest": { - "description": "Deletes a row from a table.", - "type": "object", - "properties": { - "cellLocation": { - "description": "The reference table cell location from which a row will be deleted.\n\nThe row this cell spans will be deleted. If this is a merged cell, multiple\nrows will be deleted. If no rows remain in the table after this deletion,\nthe whole table is deleted.", - "$ref": "TableCellLocation" - }, - "tableObjectId": { - "description": "The table to delete rows from.", - "type": "string" - } - }, - "id": "DeleteTableRowRequest" - }, - "Bullet": { - "description": "Describes the bullet of a paragraph.", - "type": "object", - "properties": { - "listId": { - "description": "The ID of the list this paragraph belongs to.", - "type": "string" - }, - "glyph": { - "description": "The rendered bullet glyph for this paragraph.", - "type": "string" - }, - "nestingLevel": { - "format": "int32", - "description": "The nesting level of this paragraph in the list.", - "type": "integer" - }, - "bulletStyle": { - "description": "The paragraph specific text style applied to this bullet.", - "$ref": "TextStyle" - } - }, - "id": "Bullet" - }, - "OutlineFill": { - "description": "The fill of the outline.", - "type": "object", - "properties": { - "solidFill": { - "description": "Solid color fill.", - "$ref": "SolidFill" - } - }, - "id": "OutlineFill" - }, - "CreateLineResponse": { - "description": "The result of creating a line.", - "type": "object", - "properties": { - "objectId": { - "description": "The object ID of the created line.", - "type": "string" - } - }, - "id": "CreateLineResponse" - }, - "TableCellLocation": { - "description": "A location of a single table cell within a table.", - "type": "object", - "properties": { - "columnIndex": { - "format": "int32", - "description": "The 0-based column index.", - "type": "integer" - }, - "rowIndex": { - "format": "int32", - "description": "The 0-based row index.", - "type": "integer" - } - }, - "id": "TableCellLocation" - }, - "ReplaceAllTextResponse": { - "properties": { - "occurrencesChanged": { - "format": "int32", - "description": "The number of occurrences changed by replacing all text.", - "type": "integer" - } - }, - "id": "ReplaceAllTextResponse", - "description": "The result of replacing text.", - "type": "object" - }, - "UpdateParagraphStyleRequest": { - "description": "Updates the styling for all of the paragraphs within a Shape or Table that\noverlap with the given text index range.", - "type": "object", - "properties": { - "style": { - "$ref": "ParagraphStyle", - "description": "The paragraph's style." - }, - "cellLocation": { - "$ref": "TableCellLocation", - "description": "The location of the cell in the table containing the paragraph(s) to\nstyle. If `object_id` refers to a table, `cell_location` must have a value.\nOtherwise, it must not." - }, - "fields": { - "type": "string", - "format": "google-fieldmask", - "description": "The fields that should be updated.\n\nAt least one field must be specified. The root `style` is implied and\nshould not be specified. A single `\"*\"` can be used as short-hand for\nlisting every field.\n\nFor example, to update the paragraph alignment, set `fields` to\n`\"alignment\"`.\n\nTo reset a property to its default value, include its field name in the\nfield mask but leave the field itself unset." - }, - "textRange": { - "description": "The range of text containing the paragraph(s) to style.", - "$ref": "Range" - }, - "objectId": { - "description": "The object ID of the shape or table with the text to be styled.", - "type": "string" - } - }, - "id": "UpdateParagraphStyleRequest" - }, - "ColorScheme": { - "description": "The palette of predefined colors for a page.", - "type": "object", - "properties": { - "colors": { - "description": "The ThemeColorType and corresponding concrete color pairs.", - "items": { - "$ref": "ThemeColorPair" - }, - "type": "array" - } - }, - "id": "ColorScheme" - }, - "Shape": { - "properties": { - "placeholder": { - "$ref": "Placeholder", - "description": "Placeholders are shapes that are inherit from corresponding placeholders on\nlayouts and masters.\n\nIf set, the shape is a placeholder shape and any inherited properties\ncan be resolved by looking at the parent placeholder identified by the\nPlaceholder.parent_object_id field." - }, - "text": { - "description": "The text content of the shape.", - "$ref": "TextContent" - }, - "shapeType": { - "type": "string", - "enumDescriptions": [ - "The shape type that is not predefined.", - "Text box shape.", - "Rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'rect'.", - "Round corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType\n'roundRect'", - "Ellipse shape. Corresponds to ECMA-376 ST_ShapeType 'ellipse'", - "Curved arc shape. Corresponds to ECMA-376 ST_ShapeType 'arc'", - "Bent arrow shape. Corresponds to ECMA-376 ST_ShapeType 'bentArrow'", - "Bent up arrow shape. Corresponds to ECMA-376 ST_ShapeType 'bentUpArrow'", - "Bevel shape. Corresponds to ECMA-376 ST_ShapeType 'bevel'", - "Block arc shape. Corresponds to ECMA-376 ST_ShapeType 'blockArc'", - "Brace pair shape. Corresponds to ECMA-376 ST_ShapeType 'bracePair'", - "Bracket pair shape. Corresponds to ECMA-376 ST_ShapeType 'bracketPair'", - "Can shape. Corresponds to ECMA-376 ST_ShapeType 'can'", - "Chevron shape. Corresponds to ECMA-376 ST_ShapeType 'chevron'", - "Chord shape. Corresponds to ECMA-376 ST_ShapeType 'chord'", - "Cloud shape. Corresponds to ECMA-376 ST_ShapeType 'cloud'", - "Corner shape. Corresponds to ECMA-376 ST_ShapeType 'corner'", - "Cube shape. Corresponds to ECMA-376 ST_ShapeType 'cube'", - "Curved down arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'curvedDownArrow'", - "Curved left arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'curvedLeftArrow'", - "Curved right arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'curvedRightArrow'", - "Curved up arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'curvedUpArrow'", - "Decagon shape. Corresponds to ECMA-376 ST_ShapeType 'decagon'", - "Diagonal stripe shape. Corresponds to ECMA-376 ST_ShapeType 'diagStripe'", - "Diamond shape. Corresponds to ECMA-376 ST_ShapeType 'diamond'", - "Dodecagon shape. Corresponds to ECMA-376 ST_ShapeType 'dodecagon'", - "Donut shape. Corresponds to ECMA-376 ST_ShapeType 'donut'", - "Double wave shape. Corresponds to ECMA-376 ST_ShapeType 'doubleWave'", - "Down arrow shape. Corresponds to ECMA-376 ST_ShapeType 'downArrow'", - "Callout down arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'downArrowCallout'", - "Folded corner shape. Corresponds to ECMA-376 ST_ShapeType 'foldedCorner'", - "Frame shape. Corresponds to ECMA-376 ST_ShapeType 'frame'", - "Half frame shape. Corresponds to ECMA-376 ST_ShapeType 'halfFrame'", - "Heart shape. Corresponds to ECMA-376 ST_ShapeType 'heart'", - "Heptagon shape. Corresponds to ECMA-376 ST_ShapeType 'heptagon'", - "Hexagon shape. Corresponds to ECMA-376 ST_ShapeType 'hexagon'", - "Home plate shape. Corresponds to ECMA-376 ST_ShapeType 'homePlate'", - "Horizontal scroll shape. Corresponds to ECMA-376 ST_ShapeType\n'horizontalScroll'", - "Irregular seal 1 shape. Corresponds to ECMA-376 ST_ShapeType\n'irregularSeal1'", - "Irregular seal 2 shape. Corresponds to ECMA-376 ST_ShapeType\n'irregularSeal2'", - "Left arrow shape. Corresponds to ECMA-376 ST_ShapeType 'leftArrow'", - "Callout left arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'leftArrowCallout'", - "Left brace shape. Corresponds to ECMA-376 ST_ShapeType 'leftBrace'", - "Left bracket shape. Corresponds to ECMA-376 ST_ShapeType 'leftBracket'", - "Left right arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'leftRightArrow'", - "Callout left right arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'leftRightArrowCallout'", - "Left right up arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'leftRightUpArrow'", - "Left up arrow shape. Corresponds to ECMA-376 ST_ShapeType 'leftUpArrow'", - "Lightning bolt shape. Corresponds to ECMA-376 ST_ShapeType\n'lightningBolt'", - "Divide math shape. Corresponds to ECMA-376 ST_ShapeType 'mathDivide'", - "Equal math shape. Corresponds to ECMA-376 ST_ShapeType 'mathEqual'", - "Minus math shape. Corresponds to ECMA-376 ST_ShapeType 'mathMinus'", - "Multiply math shape. Corresponds to ECMA-376 ST_ShapeType 'mathMultiply'", - "Not equal math shape. Corresponds to ECMA-376 ST_ShapeType 'mathNotEqual'", - "Plus math shape. Corresponds to ECMA-376 ST_ShapeType 'mathPlus'", - "Moon shape. Corresponds to ECMA-376 ST_ShapeType 'moon'", - "No smoking shape. Corresponds to ECMA-376 ST_ShapeType 'noSmoking'", - "Notched right arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'notchedRightArrow'", - "Octagon shape. Corresponds to ECMA-376 ST_ShapeType 'octagon'", - "Parallelogram shape. Corresponds to ECMA-376 ST_ShapeType 'parallelogram'", - "Pentagon shape. Corresponds to ECMA-376 ST_ShapeType 'pentagon'", - "Pie shape. Corresponds to ECMA-376 ST_ShapeType 'pie'", - "Plaque shape. Corresponds to ECMA-376 ST_ShapeType 'plaque'", - "Plus shape. Corresponds to ECMA-376 ST_ShapeType 'plus'", - "Quad-arrow shape. Corresponds to ECMA-376 ST_ShapeType 'quadArrow'", - "Callout quad-arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'quadArrowCallout'", - "Ribbon shape. Corresponds to ECMA-376 ST_ShapeType 'ribbon'", - "Ribbon 2 shape. Corresponds to ECMA-376 ST_ShapeType 'ribbon2'", - "Right arrow shape. Corresponds to ECMA-376 ST_ShapeType 'rightArrow'", - "Callout right arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'rightArrowCallout'", - "Right brace shape. Corresponds to ECMA-376 ST_ShapeType 'rightBrace'", - "Right bracket shape. Corresponds to ECMA-376 ST_ShapeType 'rightBracket'", - "One round corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType\n'round1Rect'", - "Two diagonal round corner rectangle shape. Corresponds to ECMA-376\nST_ShapeType 'round2DiagRect'", - "Two same-side round corner rectangle shape. Corresponds to ECMA-376\nST_ShapeType 'round2SameRect'", - "Right triangle shape. Corresponds to ECMA-376 ST_ShapeType 'rtTriangle'", - "Smiley face shape. Corresponds to ECMA-376 ST_ShapeType 'smileyFace'", - "One snip corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType\n'snip1Rect'", - "Two diagonal snip corner rectangle shape. Corresponds to ECMA-376\nST_ShapeType 'snip2DiagRect'", - "Two same-side snip corner rectangle shape. Corresponds to ECMA-376\nST_ShapeType 'snip2SameRect'", - "One snip one round corner rectangle shape. Corresponds to ECMA-376\nST_ShapeType 'snipRoundRect'", - "Ten pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star10'", - "Twelve pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star12'", - "Sixteen pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star16'", - "Twenty four pointed star shape. Corresponds to ECMA-376 ST_ShapeType\n'star24'", - "Thirty two pointed star shape. Corresponds to ECMA-376 ST_ShapeType\n'star32'", - "Four pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star4'", - "Five pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star5'", - "Six pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star6'", - "Seven pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star7'", - "Eight pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star8'", - "Striped right arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'stripedRightArrow'", - "Sun shape. Corresponds to ECMA-376 ST_ShapeType 'sun'", - "Trapezoid shape. Corresponds to ECMA-376 ST_ShapeType 'trapezoid'", - "Triangle shape. Corresponds to ECMA-376 ST_ShapeType 'triangle'", - "Up arrow shape. Corresponds to ECMA-376 ST_ShapeType 'upArrow'", - "Callout up arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'upArrowCallout'", - "Up down arrow shape. Corresponds to ECMA-376 ST_ShapeType 'upDownArrow'", - "U-turn arrow shape. Corresponds to ECMA-376 ST_ShapeType 'uturnArrow'", - "Vertical scroll shape. Corresponds to ECMA-376 ST_ShapeType\n'verticalScroll'", - "Wave shape. Corresponds to ECMA-376 ST_ShapeType 'wave'", - "Callout wedge ellipse shape. Corresponds to ECMA-376 ST_ShapeType\n'wedgeEllipseCallout'", - "Callout wedge rectangle shape. Corresponds to ECMA-376 ST_ShapeType\n'wedgeRectCallout'", - "Callout wedge round rectangle shape. Corresponds to ECMA-376 ST_ShapeType\n'wedgeRoundRectCallout'", - "Alternate process flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartAlternateProcess'", - "Collate flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartCollate'", - "Connector flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartConnector'", - "Decision flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartDecision'", - "Delay flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartDelay'", - "Display flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartDisplay'", - "Document flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartDocument'", - "Extract flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartExtract'", - "Input output flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartInputOutput'", - "Internal storage flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartInternalStorage'", - "Magnetic disk flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartMagneticDisk'", - "Magnetic drum flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartMagneticDrum'", - "Magnetic tape flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartMagneticTape'", - "Manual input flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartManualInput'", - "Manual operation flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartManualOperation'", - "Merge flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartMerge'", - "Multi-document flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartMultidocument'", - "Offline storage flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartOfflineStorage'", - "Off-page connector flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartOffpageConnector'", - "Online storage flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartOnlineStorage'", - "Or flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartOr'", - "Predefined process flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartPredefinedProcess'", - "Preparation flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartPreparation'", - "Process flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartProcess'", - "Punched card flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartPunchedCard'", - "Punched tape flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartPunchedTape'", - "Sort flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartSort'", - "Summing junction flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartSummingJunction'", - "Terminator flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartTerminator'", - "East arrow shape.", - "Northeast arrow shape.", - "North arrow shape.", - "Speech shape.", - "Star burst shape.", - "Teardrop shape. Corresponds to ECMA-376 ST_ShapeType 'teardrop'", - "Ellipse ribbon shape. Corresponds to ECMA-376 ST_ShapeType\n'ellipseRibbon'", - "Ellipse ribbon 2 shape. Corresponds to ECMA-376 ST_ShapeType\n'ellipseRibbon2'", - "Callout cloud shape. Corresponds to ECMA-376 ST_ShapeType 'cloudCallout'", - "Custom shape." - ], - "enum": [ - "TYPE_UNSPECIFIED", - "TEXT_BOX", - "RECTANGLE", - "ROUND_RECTANGLE", - "ELLIPSE", - "ARC", - "BENT_ARROW", - "BENT_UP_ARROW", - "BEVEL", - "BLOCK_ARC", - "BRACE_PAIR", - "BRACKET_PAIR", - "CAN", - "CHEVRON", - "CHORD", - "CLOUD", - "CORNER", - "CUBE", - "CURVED_DOWN_ARROW", - "CURVED_LEFT_ARROW", - "CURVED_RIGHT_ARROW", - "CURVED_UP_ARROW", - "DECAGON", - "DIAGONAL_STRIPE", - "DIAMOND", - "DODECAGON", - "DONUT", - "DOUBLE_WAVE", - "DOWN_ARROW", - "DOWN_ARROW_CALLOUT", - "FOLDED_CORNER", - "FRAME", - "HALF_FRAME", - "HEART", - "HEPTAGON", - "HEXAGON", - "HOME_PLATE", - "HORIZONTAL_SCROLL", - "IRREGULAR_SEAL_1", - "IRREGULAR_SEAL_2", - "LEFT_ARROW", - "LEFT_ARROW_CALLOUT", - "LEFT_BRACE", - "LEFT_BRACKET", - "LEFT_RIGHT_ARROW", - "LEFT_RIGHT_ARROW_CALLOUT", - "LEFT_RIGHT_UP_ARROW", - "LEFT_UP_ARROW", - "LIGHTNING_BOLT", - "MATH_DIVIDE", - "MATH_EQUAL", - "MATH_MINUS", - "MATH_MULTIPLY", - "MATH_NOT_EQUAL", - "MATH_PLUS", - "MOON", - "NO_SMOKING", - "NOTCHED_RIGHT_ARROW", - "OCTAGON", - "PARALLELOGRAM", - "PENTAGON", - "PIE", - "PLAQUE", - "PLUS", - "QUAD_ARROW", - "QUAD_ARROW_CALLOUT", - "RIBBON", - "RIBBON_2", - "RIGHT_ARROW", - "RIGHT_ARROW_CALLOUT", - "RIGHT_BRACE", - "RIGHT_BRACKET", - "ROUND_1_RECTANGLE", - "ROUND_2_DIAGONAL_RECTANGLE", - "ROUND_2_SAME_RECTANGLE", - "RIGHT_TRIANGLE", - "SMILEY_FACE", - "SNIP_1_RECTANGLE", - "SNIP_2_DIAGONAL_RECTANGLE", - "SNIP_2_SAME_RECTANGLE", - "SNIP_ROUND_RECTANGLE", - "STAR_10", - "STAR_12", - "STAR_16", - "STAR_24", - "STAR_32", - "STAR_4", - "STAR_5", - "STAR_6", - "STAR_7", - "STAR_8", - "STRIPED_RIGHT_ARROW", - "SUN", - "TRAPEZOID", - "TRIANGLE", - "UP_ARROW", - "UP_ARROW_CALLOUT", - "UP_DOWN_ARROW", - "UTURN_ARROW", - "VERTICAL_SCROLL", - "WAVE", - "WEDGE_ELLIPSE_CALLOUT", - "WEDGE_RECTANGLE_CALLOUT", - "WEDGE_ROUND_RECTANGLE_CALLOUT", - "FLOW_CHART_ALTERNATE_PROCESS", - "FLOW_CHART_COLLATE", - "FLOW_CHART_CONNECTOR", - "FLOW_CHART_DECISION", - "FLOW_CHART_DELAY", - "FLOW_CHART_DISPLAY", - "FLOW_CHART_DOCUMENT", - "FLOW_CHART_EXTRACT", - "FLOW_CHART_INPUT_OUTPUT", - "FLOW_CHART_INTERNAL_STORAGE", - "FLOW_CHART_MAGNETIC_DISK", - "FLOW_CHART_MAGNETIC_DRUM", - "FLOW_CHART_MAGNETIC_TAPE", - "FLOW_CHART_MANUAL_INPUT", - "FLOW_CHART_MANUAL_OPERATION", - "FLOW_CHART_MERGE", - "FLOW_CHART_MULTIDOCUMENT", - "FLOW_CHART_OFFLINE_STORAGE", - "FLOW_CHART_OFFPAGE_CONNECTOR", - "FLOW_CHART_ONLINE_STORAGE", - "FLOW_CHART_OR", - "FLOW_CHART_PREDEFINED_PROCESS", - "FLOW_CHART_PREPARATION", - "FLOW_CHART_PROCESS", - "FLOW_CHART_PUNCHED_CARD", - "FLOW_CHART_PUNCHED_TAPE", - "FLOW_CHART_SORT", - "FLOW_CHART_SUMMING_JUNCTION", - "FLOW_CHART_TERMINATOR", - "ARROW_EAST", - "ARROW_NORTH_EAST", - "ARROW_NORTH", - "SPEECH", - "STARBURST", - "TEARDROP", - "ELLIPSE_RIBBON", - "ELLIPSE_RIBBON_2", - "CLOUD_CALLOUT", - "CUSTOM" - ], - "description": "The type of the shape." - }, - "shapeProperties": { - "$ref": "ShapeProperties", - "description": "The properties of the shape." - } - }, - "id": "Shape", - "description": "A PageElement kind representing a\ngeneric shape that does not have a more specific classification.", - "type": "object" - }, - "Image": { - "properties": { - "imageProperties": { - "$ref": "ImageProperties", - "description": "The properties of the image." - }, - "contentUrl": { - "description": "An URL to an image with a default lifetime of 30 minutes.\nThis URL is tagged with the account of the requester. Anyone with the URL\neffectively accesses the image as the original requester. Access to the\nimage may be lost if the presentation's sharing settings change.", - "type": "string" - } - }, - "id": "Image", - "description": "A PageElement kind representing an\nimage.", - "type": "object" - }, - "InsertTextRequest": { - "type": "object", - "properties": { - "cellLocation": { - "description": "The optional table cell location if the text is to be inserted into a table\ncell. If present, the object_id must refer to a table.", - "$ref": "TableCellLocation" - }, - "text": { - "description": "The text to be inserted.\n\nInserting a newline character will implicitly create a new\nParagraphMarker at that index.\nThe paragraph style of the new paragraph will be copied from the paragraph\nat the current insertion index, including lists and bullets.\n\nText styles for inserted text will be determined automatically, generally\npreserving the styling of neighboring text. In most cases, the text will be\nadded to the TextRun that exists at the\ninsertion index.\n\nSome control characters (U+0000-U+0008, U+000C-U+001F) and characters\nfrom the Unicode Basic Multilingual Plane Private Use Area (U+E000-U+F8FF)\nwill be stripped out of the inserted text.", - "type": "string" - }, - "objectId": { - "description": "The object ID of the shape or table where the text will be inserted.", - "type": "string" - }, - "insertionIndex": { - "format": "int32", - "description": "The index where the text will be inserted, in Unicode code units, based\non TextElement indexes.\n\nThe index is zero-based and is computed from the start of the string.\nThe index may be adjusted to prevent insertions inside Unicode grapheme\nclusters. In these cases, the text will be inserted immediately after the\ngrapheme cluster.", - "type": "integer" - } - }, - "id": "InsertTextRequest", - "description": "Inserts text into a shape or a table cell." - }, - "AffineTransform": { - "description": "AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ]\nto transform source coordinates (x,y) into destination coordinates (x', y')\naccording to:\n\n x' x = shear_y scale_y translate_y \n 1 [ 1 ]\n\nAfter transformation,\n\n x' = scale_x * x + shear_x * y + translate_x;\n y' = scale_y * y + shear_y * x + translate_y;\n\nThis message is therefore composed of these six matrix elements.", - "type": "object", - "properties": { - "unit": { - "enumDescriptions": [ - "The units are unknown.", - "An English Metric Unit (EMU) is defined as 1/360,000 of a centimeter\nand thus there are 914,400 EMUs per inch, and 12,700 EMUs per point.", - "A point, 1/72 of an inch." - ], - "enum": [ - "UNIT_UNSPECIFIED", - "EMU", - "PT" - ], - "description": "The units for translate elements.", - "type": "string" - }, - "scaleX": { - "format": "double", - "description": "The X coordinate scaling element.", - "type": "number" - }, - "shearX": { - "format": "double", - "description": "The X coordinate shearing element.", - "type": "number" - }, - "scaleY": { - "format": "double", - "description": "The Y coordinate scaling element.", - "type": "number" - }, - "translateY": { - "format": "double", - "description": "The Y coordinate translation element.", - "type": "number" - }, - "translateX": { - "format": "double", - "description": "The X coordinate translation element.", - "type": "number" - }, - "shearY": { - "format": "double", - "description": "The Y coordinate shearing element.", - "type": "number" - } - }, - "id": "AffineTransform" - }, - "AutoText": { - "id": "AutoText", - "description": "A TextElement kind that represents auto text.", - "type": "object", - "properties": { - "content": { - "description": "The rendered content of this auto text, if available.", - "type": "string" - }, - "type": { - "enumDescriptions": [ - "An unspecified autotext type.", - "Type for autotext that represents the current slide number." - ], - "enum": [ - "TYPE_UNSPECIFIED", - "SLIDE_NUMBER" - ], - "description": "The type of this auto text.", - "type": "string" - }, - "style": { - "description": "The styling applied to this auto text.", - "$ref": "TextStyle" - } - } - }, - "CreateVideoResponse": { - "id": "CreateVideoResponse", - "description": "The result of creating a video.", - "type": "object", - "properties": { - "objectId": { - "description": "The object ID of the created video.", - "type": "string" - } - } - }, - "DeleteTextRequest": { - "description": "Deletes text from a shape or a table cell.", - "type": "object", - "properties": { - "textRange": { - "$ref": "Range", - "description": "The range of text to delete, based on TextElement indexes.\n\nThere is always an implicit newline character at the end of a shape's or\ntable cell's text that cannot be deleted. `Range.Type.ALL` will use the\ncorrect bounds, but care must be taken when specifying explicit bounds for\nrange types `FROM_START_INDEX` and `FIXED_RANGE`. For example, if the text\nis \"ABC\", followed by an implicit newline, then the maximum value is 2 for\n`text_range.start_index` and 3 for `text_range.end_index`.\n\nDeleting text that crosses a paragraph boundary may result in changes\nto paragraph styles and lists as the two paragraphs are merged.\n\nRanges that include only one code unit of a surrogate pair are expanded to\ninclude both code units." - }, - "objectId": { - "description": "The object ID of the shape or table from which the text will be deleted.", - "type": "string" - }, - "cellLocation": { - "$ref": "TableCellLocation", - "description": "The optional table cell location if the text is to be deleted from a table\ncell. If present, the object_id must refer to a table." - } - }, - "id": "DeleteTextRequest" - }, - "UpdatePageElementTransformRequest": { - "type": "object", - "properties": { - "transform": { - "$ref": "AffineTransform", - "description": "The input transform matrix used to update the page element." - }, - "objectId": { - "type": "string", - "description": "The object ID of the page element to update." - }, - "applyMode": { - "description": "The apply mode of the transform update.", - "type": "string", - "enumDescriptions": [ - "Unspecified mode.", - "Applies the new AffineTransform matrix to the existing one, and\nreplaces the existing one with the resulting concatenation.", - "Replaces the existing AffineTransform matrix with the new one." - ], - "enum": [ - "APPLY_MODE_UNSPECIFIED", - "RELATIVE", - "ABSOLUTE" - ] - } - }, - "id": "UpdatePageElementTransformRequest", - "description": "Updates the transform of a page element." - }, - "DeleteObjectRequest": { - "description": "Deletes an object, either pages or\npage elements, from the\npresentation.", - "type": "object", - "properties": { - "objectId": { - "description": "The object ID of the page or page element to delete.\n\nIf after a delete operation a group contains\nonly 1 or no page elements, the group is also deleted.\n\nIf a placeholder is deleted on a layout, any empty inheriting shapes are\nalso deleted.", - "type": "string" - } - }, - "id": "DeleteObjectRequest" - }, - "Dimension": { - "description": "A magnitude in a single direction in the specified units.", - "type": "object", - "properties": { - "magnitude": { - "format": "double", - "description": "The magnitude.", - "type": "number" - }, - "unit": { - "enumDescriptions": [ - "The units are unknown.", - "An English Metric Unit (EMU) is defined as 1/360,000 of a centimeter\nand thus there are 914,400 EMUs per inch, and 12,700 EMUs per point.", - "A point, 1/72 of an inch." - ], - "enum": [ - "UNIT_UNSPECIFIED", - "EMU", - "PT" - ], - "description": "The units for magnitude.", - "type": "string" - } - }, - "id": "Dimension" - }, - "TextElement": { - "description": "A TextElement describes the content of a range of indices in the text content\nof a Shape or TableCell.", - "type": "object", - "properties": { - "textRun": { - "description": "A TextElement representing a run of text where all of the characters\nin the run have the same TextStyle.\n\nThe `start_index` and `end_index` of TextRuns will always be fully\ncontained in the index range of a single `paragraph_marker` TextElement.\nIn other words, a TextRun will never span multiple paragraphs.", - "$ref": "TextRun" - }, - "autoText": { - "description": "A TextElement representing a spot in the text that is dynamically\nreplaced with content that can change over time.", - "$ref": "AutoText" - }, - "paragraphMarker": { - "description": "A marker representing the beginning of a new paragraph.\n\nThe `start_index` and `end_index` of this TextElement represent the\nrange of the paragraph. Other TextElements with an index range contained\ninside this paragraph's range are considered to be part of this\nparagraph. The range of indices of two separate paragraphs will never\noverlap.", - "$ref": "ParagraphMarker" - }, - "endIndex": { - "format": "int32", - "description": "The zero-based end index of this text element, exclusive, in Unicode code\nunits.", - "type": "integer" - }, - "startIndex": { - "format": "int32", - "description": "The zero-based start index of this text element, in Unicode code units.", - "type": "integer" - } - }, - "id": "TextElement" - }, - "LineFill": { - "description": "The fill of the line.", - "type": "object", - "properties": { - "solidFill": { - "$ref": "SolidFill", - "description": "Solid color fill." - } - }, - "id": "LineFill" - }, - "VideoProperties": { - "id": "VideoProperties", - "description": "The properties of the Video.", - "type": "object", - "properties": { - "outline": { - "description": "The outline of the video. The default outline matches the defaults for new\nvideos created in the Slides editor.", - "$ref": "Outline" - } - } - }, - "InsertTableRowsRequest": { - "properties": { - "number": { - "format": "int32", - "description": "The number of rows to be inserted. Maximum 20 per request.", - "type": "integer" - }, - "cellLocation": { - "$ref": "TableCellLocation", - "description": "The reference table cell location from which rows will be inserted.\n\nA new row will be inserted above (or below) the row where the reference\ncell is. If the reference cell is a merged cell, a new row will be\ninserted above (or below) the merged cell." - }, - "tableObjectId": { - "type": "string", - "description": "The table to insert rows into." - }, - "insertBelow": { - "description": "Whether to insert new rows below the reference cell location.\n\n- `True`: insert below the cell.\n- `False`: insert above the cell.", - "type": "boolean" - } - }, - "id": "InsertTableRowsRequest", - "description": "Inserts rows into a table.", - "type": "object" - }, - "LayoutProperties": { - "id": "LayoutProperties", - "description": "The properties of Page are only\nrelevant for pages with page_type LAYOUT.", - "type": "object", - "properties": { - "displayName": { - "description": "The human-readable name of the layout.", - "type": "string" - }, - "masterObjectId": { - "description": "The object ID of the master that this layout is based on.", - "type": "string" - }, - "name": { - "description": "The name of the layout.", - "type": "string" - } - } - }, - "Presentation": { - "description": "A Google Slides presentation.", - "type": "object", - "properties": { - "slides": { - "description": "The slides in the presentation.\nA slide inherits properties from a slide layout.", - "items": { - "$ref": "Page" - }, - "type": "array" - }, - "revisionId": { - "description": "The revision ID of the presentation. Can be used in update requests\nto assert that the presentation revision hasn't changed since the last\nread operation. Only populated if the user has edit access to the\npresentation.\n\nThe format of the revision ID may change over time, so it should be treated\nopaquely. A returned revision ID is only guaranteed to be valid for 24\nhours after it has been returned and cannot be shared across users. If the\nrevision ID is unchanged between calls, then the presentation has not\nchanged. Conversely, a changed ID (for the same presentation and user)\nusually means the presentation has been updated; however, a changed ID can\nalso be due to internal factors such as ID format changes.", - "type": "string" - }, - "notesMaster": { - "$ref": "Page", - "description": "The notes master in the presentation. It serves three purposes:\n\n- Placeholder shapes on a notes master contain the default text styles and\n shape properties of all placeholder shapes on notes pages. Specifically,\n a `SLIDE_IMAGE` placeholder shape contains the slide thumbnail, and a\n `BODY` placeholder shape contains the speaker notes.\n- The notes master page properties define the common page properties\n inherited by all notes pages.\n- Any other shapes on the notes master will appear on all notes pages.\n\nThe notes master is read-only." - }, - "title": { - "description": "The title of the presentation.", - "type": "string" - }, - "layouts": { - "description": "The layouts in the presentation. A layout is a template that determines\nhow content is arranged and styled on the slides that inherit from that\nlayout.", - "items": { - "$ref": "Page" - }, - "type": "array" - }, - "locale": { - "description": "The locale of the presentation, as an IETF BCP 47 language tag.", - "type": "string" - }, - "masters": { - "description": "The slide masters in the presentation. A slide master contains all common\npage elements and the common properties for a set of layouts. They serve\nthree purposes:\n\n- Placeholder shapes on a master contain the default text styles and shape\n properties of all placeholder shapes on pages that use that master.\n- The master page properties define the common page properties inherited by\n its layouts.\n- Any other shapes on the master slide will appear on all slides using that\n master, regardless of their layout.", - "items": { - "$ref": "Page" - }, - "type": "array" - }, - "pageSize": { - "$ref": "Size", - "description": "The size of pages in the presentation." - }, - "presentationId": { - "description": "The ID of the presentation.", - "type": "string" - } - }, - "id": "Presentation" - }, - "LineProperties": { - "description": "The properties of the Line.\n\nWhen unset, these fields default to values that match the appearance of\nnew lines created in the Slides editor.", - "type": "object", - "properties": { - "weight": { - "$ref": "Dimension", - "description": "The thickness of the line." - }, - "lineFill": { - "$ref": "LineFill", - "description": "The fill of the line. The default line fill matches the defaults for new\nlines created in the Slides editor." - }, - "link": { - "description": "The hyperlink destination of the line. If unset, there is no link.", - "$ref": "Link" - }, - "dashStyle": { - "enum": [ - "DASH_STYLE_UNSPECIFIED", - "SOLID", - "DOT", - "DASH", - "DASH_DOT", - "LONG_DASH", - "LONG_DASH_DOT" - ], - "description": "The dash style of the line.", - "type": "string", - "enumDescriptions": [ - "Unspecified dash style.", - "Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'solid'.\nThis is the default dash style.", - "Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dot'.", - "Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dash'.", - "Alternating dashes and dots. Corresponds to ECMA-376 ST_PresetLineDashVal\nvalue 'dashDot'.", - "Line with large dashes. Corresponds to ECMA-376 ST_PresetLineDashVal\nvalue 'lgDash'.", - "Alternating large dashes and dots. Corresponds to ECMA-376\nST_PresetLineDashVal value 'lgDashDot'." - ] - }, - "startArrow": { - "type": "string", - "enumDescriptions": [ - "An unspecified arrow style.", - "No arrow.", - "Arrow with notched back. Corresponds to ECMA-376 ST_LineEndType value\n'stealth'.", - "Filled arrow. Corresponds to ECMA-376 ST_LineEndType value 'triangle'.", - "Filled circle. Corresponds to ECMA-376 ST_LineEndType value 'oval'.", - "Filled square.", - "Filled diamond. Corresponds to ECMA-376 ST_LineEndType value 'diamond'.", - "Hollow arrow.", - "Hollow circle.", - "Hollow square.", - "Hollow diamond." - ], - "enum": [ - "ARROW_STYLE_UNSPECIFIED", - "NONE", - "STEALTH_ARROW", - "FILL_ARROW", - "FILL_CIRCLE", - "FILL_SQUARE", - "FILL_DIAMOND", - "OPEN_ARROW", - "OPEN_CIRCLE", - "OPEN_SQUARE", - "OPEN_DIAMOND" - ], - "description": "The style of the arrow at the beginning of the line." - }, - "endArrow": { - "type": "string", - "enumDescriptions": [ - "An unspecified arrow style.", - "No arrow.", - "Arrow with notched back. Corresponds to ECMA-376 ST_LineEndType value\n'stealth'.", - "Filled arrow. Corresponds to ECMA-376 ST_LineEndType value 'triangle'.", - "Filled circle. Corresponds to ECMA-376 ST_LineEndType value 'oval'.", - "Filled square.", - "Filled diamond. Corresponds to ECMA-376 ST_LineEndType value 'diamond'.", - "Hollow arrow.", - "Hollow circle.", - "Hollow square.", - "Hollow diamond." - ], - "enum": [ - "ARROW_STYLE_UNSPECIFIED", - "NONE", - "STEALTH_ARROW", - "FILL_ARROW", - "FILL_CIRCLE", - "FILL_SQUARE", - "FILL_DIAMOND", - "OPEN_ARROW", - "OPEN_CIRCLE", - "OPEN_SQUARE", - "OPEN_DIAMOND" - ], - "description": "The style of the arrow at the end of the line." - } - }, - "id": "LineProperties" - }, - "OpaqueColor": { - "description": "A themeable solid color value.", - "type": "object", - "properties": { - "themeColor": { - "description": "An opaque theme color.", - "type": "string", - "enumDescriptions": [ - "Unspecified theme color. This value should not be used.", - "Represents the first dark color.", - "Represents the first light color.", - "Represents the second dark color.", - "Represents the second light color.", - "Represents the first accent color.", - "Represents the second accent color.", - "Represents the third accent color.", - "Represents the fourth accent color.", - "Represents the fifth accent color.", - "Represents the sixth accent color.", - "Represents the color to use for hyperlinks.", - "Represents the color to use for visited hyperlinks.", - "Represents the first text color.", - "Represents the first background color.", - "Represents the second text color.", - "Represents the second background color." - ], - "enum": [ - "THEME_COLOR_TYPE_UNSPECIFIED", - "DARK1", - "LIGHT1", - "DARK2", - "LIGHT2", - "ACCENT1", - "ACCENT2", - "ACCENT3", - "ACCENT4", - "ACCENT5", - "ACCENT6", - "HYPERLINK", - "FOLLOWED_HYPERLINK", - "TEXT1", - "BACKGROUND1", - "TEXT2", - "BACKGROUND2" - ] - }, - "rgbColor": { - "description": "An opaque RGB color.", - "$ref": "RgbColor" - } - }, - "id": "OpaqueColor" - }, - "ImageProperties": { - "type": "object", - "properties": { - "brightness": { - "format": "float", - "description": "The brightness effect of the image. The value should be in the interval\n[-1.0, 1.0], where 0 means no effect. This property is read-only.", - "type": "number" - }, - "transparency": { - "type": "number", - "format": "float", - "description": "The transparency effect of the image. The value should be in the interval\n[0.0, 1.0], where 0 means no effect and 1 means completely transparent.\nThis property is read-only." - }, - "shadow": { - "$ref": "Shadow", - "description": "The shadow of the image. If not set, the image has no shadow. This property\nis read-only." - }, - "contrast": { - "format": "float", - "description": "The contrast effect of the image. The value should be in the interval\n[-1.0, 1.0], where 0 means no effect. This property is read-only.", - "type": "number" - }, - "link": { - "$ref": "Link", - "description": "The hyperlink destination of the image. If unset, there is no link." - }, - "recolor": { - "$ref": "Recolor", - "description": "The recolor effect of the image. If not set, the image is not recolored.\nThis property is read-only." - }, - "cropProperties": { - "description": "The crop properties of the image. If not set, the image is not cropped.\nThis property is read-only.", - "$ref": "CropProperties" - }, - "outline": { - "$ref": "Outline", - "description": "The outline of the image. If not set, the the image has no outline." - } - }, - "id": "ImageProperties", - "description": "The properties of the Image." - }, - "ReplaceAllShapesWithImageResponse": { - "description": "The result of replacing shapes with an image.", - "type": "object", - "properties": { - "occurrencesChanged": { - "format": "int32", - "description": "The number of shapes replaced with images.", - "type": "integer" - } - }, - "id": "ReplaceAllShapesWithImageResponse" - }, - "Line": { - "description": "A PageElement kind representing a\nline, curved connector, or bent connector.", - "type": "object", - "properties": { - "lineType": { - "description": "The type of the line.", - "type": "string", - "enumDescriptions": [ - "An unspecified line type.", - "Straight connector 1 form. Corresponds to ECMA-376 ST_ShapeType\n'straightConnector1'.", - "Bent connector 2 form. Corresponds to ECMA-376 ST_ShapeType\n'bentConnector2'.", - "Bent connector 3 form. Corresponds to ECMA-376 ST_ShapeType\n'bentConnector3'.", - "Bent connector 4 form. Corresponds to ECMA-376 ST_ShapeType\n'bentConnector4'.", - "Bent connector 5 form. Corresponds to ECMA-376 ST_ShapeType\n'bentConnector5'.", - "Curved connector 2 form. Corresponds to ECMA-376 ST_ShapeType\n'curvedConnector2'.", - "Curved connector 3 form. Corresponds to ECMA-376 ST_ShapeType\n'curvedConnector3'.", - "Curved connector 4 form. Corresponds to ECMA-376 ST_ShapeType\n'curvedConnector4'.", - "Curved connector 5 form. Corresponds to ECMA-376 ST_ShapeType\n'curvedConnector5'." - ], - "enum": [ - "TYPE_UNSPECIFIED", - "STRAIGHT_CONNECTOR_1", - "BENT_CONNECTOR_2", - "BENT_CONNECTOR_3", - "BENT_CONNECTOR_4", - "BENT_CONNECTOR_5", - "CURVED_CONNECTOR_2", - "CURVED_CONNECTOR_3", - "CURVED_CONNECTOR_4", - "CURVED_CONNECTOR_5" - ] - }, - "lineProperties": { - "description": "The properties of the line.", - "$ref": "LineProperties" - } - }, - "id": "Line" - }, - "CreateSheetsChartRequest": { - "description": "Creates an embedded Google Sheets chart.\n\nNOTE: Chart creation requires at least one of the spreadsheets.readonly,\nspreadsheets, drive.readonly, or drive OAuth scopes.", - "type": "object", - "properties": { - "objectId": { - "description": "A user-supplied object ID.\n\nIf specified, the ID must be unique among all pages and page elements in\nthe presentation. The ID should start with a word character [a-zA-Z0-9_]\nand then followed by any number of the following characters [a-zA-Z0-9_-:].\nThe length of the ID should not be less than 5 or greater than 50.\nIf empty, a unique identifier will be generated.", - "type": "string" - }, - "elementProperties": { - "$ref": "PageElementProperties", - "description": "The element properties for the chart.\n\nWhen the aspect ratio of the provided size does not match the chart aspect\nratio, the chart is scaled and centered with respect to the size in order\nto maintain aspect ratio. The provided transform is applied after this\noperation." - }, - "linkingMode": { - "description": "The mode with which the chart is linked to the source spreadsheet. When\nnot specified, the chart will be an image that is not linked.", - "type": "string", - "enumDescriptions": [ - "The chart is not associated with the source spreadsheet and cannot be\nupdated. A chart that is not linked will be inserted as an image.", - "Linking the chart allows it to be updated, and other collaborators will\nsee a link to the spreadsheet." - ], - "enum": [ - "NOT_LINKED_IMAGE", - "LINKED" - ] - }, - "spreadsheetId": { - "description": "The ID of the Google Sheets spreadsheet that contains the chart.", - "type": "string" - }, - "chartId": { - "format": "int32", - "description": "The ID of the specific chart in the Google Sheets spreadsheet.", - "type": "integer" - } - }, - "id": "CreateSheetsChartRequest" - }, - "BatchUpdatePresentationResponse": { - "type": "object", - "properties": { - "presentationId": { - "description": "The presentation the updates were applied to.", - "type": "string" - }, - "replies": { - "description": "The reply of the updates. This maps 1:1 with the updates, although\nreplies to some requests may be empty.", - "items": { - "$ref": "Response" - }, - "type": "array" - } - }, - "id": "BatchUpdatePresentationResponse", - "description": "Response message from a batch update." - }, - "CreateImageResponse": { - "properties": { - "objectId": { - "description": "The object ID of the created image.", - "type": "string" - } - }, - "id": "CreateImageResponse", - "description": "The result of creating an image.", - "type": "object" - }, - "SlideProperties": { - "description": "The properties of Page that are only\nrelevant for pages with page_type SLIDE.", - "type": "object", - "properties": { - "masterObjectId": { - "description": "The object ID of the master that this slide is based on.", - "type": "string" - }, - "layoutObjectId": { - "description": "The object ID of the layout that this slide is based on.", - "type": "string" - }, - "notesPage": { - "$ref": "Page", - "description": "The notes page that this slide is associated with. It defines the visual\nappearance of a notes page when printing or exporting slides with speaker\nnotes. A notes page inherits properties from the\nnotes master.\nThe placeholder shape with type BODY on the notes page contains the speaker\nnotes for this slide. The ID of this shape is identified by the\nspeakerNotesObjectId field.\nThe notes page is read-only except for the text content and styles of the\nspeaker notes shape." - } - }, - "id": "SlideProperties" - }, - "Response": { - "description": "A single response from an update.", - "type": "object", - "properties": { - "createVideo": { - "description": "The result of creating a video.", - "$ref": "CreateVideoResponse" - }, - "replaceAllShapesWithSheetsChart": { - "$ref": "ReplaceAllShapesWithSheetsChartResponse", - "description": "The result of replacing all shapes matching some criteria with a Google\nSheets chart." - }, - "createSheetsChart": { - "$ref": "CreateSheetsChartResponse", - "description": "The result of creating a Google Sheets chart." - }, - "replaceAllShapesWithImage": { - "$ref": "ReplaceAllShapesWithImageResponse", - "description": "The result of replacing all shapes matching some criteria with an\nimage." - }, - "createTable": { - "description": "The result of creating a table.", - "$ref": "CreateTableResponse" - }, - "replaceAllText": { - "description": "The result of replacing text.", - "$ref": "ReplaceAllTextResponse" - }, - "createSlide": { - "$ref": "CreateSlideResponse", - "description": "The result of creating a slide." - }, - "duplicateObject": { - "$ref": "DuplicateObjectResponse", - "description": "The result of duplicating an object." - }, - "createShape": { - "$ref": "CreateShapeResponse", - "description": "The result of creating a shape." - }, - "createLine": { - "description": "The result of creating a line.", - "$ref": "CreateLineResponse" - }, - "createImage": { - "description": "The result of creating an image.", - "$ref": "CreateImageResponse" - } - }, - "id": "Response" - }, - "SubstringMatchCriteria": { - "description": "A criteria that matches a specific string of text in a shape or table.", - "type": "object", - "properties": { - "text": { - "type": "string", - "description": "The text to search for in the shape or table." - }, - "matchCase": { - "description": "Indicates whether the search should respect case:\n\n- `True`: the search is case sensitive.\n- `False`: the search is case insensitive.", - "type": "boolean" - } - }, - "id": "SubstringMatchCriteria" - }, - "LayoutReference": { - "description": "Slide layout reference. This may reference either:\n\n- A predefined layout\n- One of the layouts in the presentation.", - "type": "object", - "properties": { - "predefinedLayout": { - "enumDescriptions": [ - "Unspecified layout.", - "Blank layout, with no placeholders.", - "Layout with a caption at the bottom.", - "Layout with a title and a subtitle.", - "Layout with a title and body.", - "Layout with a title and two columns.", - "Layout with only a title.", - "Layout with a section title.", - "Layout with a title and subtitle on one side and description on the other.", - "Layout with one title and one body, arranged in a single column.", - "Layout with a main point.", - "Layout with a big number heading." - ], - "enum": [ - "PREDEFINED_LAYOUT_UNSPECIFIED", - "BLANK", - "CAPTION_ONLY", - "TITLE", - "TITLE_AND_BODY", - "TITLE_AND_TWO_COLUMNS", - "TITLE_ONLY", - "SECTION_HEADER", - "SECTION_TITLE_AND_DESCRIPTION", - "ONE_COLUMN_TEXT", - "MAIN_POINT", - "BIG_NUMBER" - ], - "description": "Predefined layout.", - "type": "string" - }, - "layoutId": { - "description": "Layout ID: the object ID of one of the layouts in the presentation.", - "type": "string" - } - }, - "id": "LayoutReference" - }, - "TextRun": { - "description": "A TextElement kind that represents a run of text that all has the same\nstyling.", - "type": "object", - "properties": { - "content": { - "description": "The text of this run.", - "type": "string" - }, - "style": { - "description": "The styling applied to this run.", - "$ref": "TextStyle" - } - }, - "id": "TextRun" - }, - "TableRange": { - "description": "A table range represents a reference to a subset of a table.\n\nIt's important to note that the cells specified by a table range do not\nnecessarily form a rectangle. For example, let's say we have a 3 x 3 table\nwhere all the cells of the last row are merged together. The table looks\nlike this:\n\n \n [ ]\n\nA table range with location = (0, 0), row span = 3 and column span = 2\nspecifies the following cells:\n\n x x \n [ x ]", - "type": "object", - "properties": { - "rowSpan": { - "type": "integer", - "format": "int32", - "description": "The row span of the table range." - }, - "location": { - "$ref": "TableCellLocation", - "description": "The starting location of the table range." - }, - "columnSpan": { - "format": "int32", - "description": "The column span of the table range.", - "type": "integer" - } - }, - "id": "TableRange" - }, - "CreateTableRequest": { - "description": "Creates a new table.", - "type": "object", - "properties": { - "rows": { - "format": "int32", - "description": "Number of rows in the table.", - "type": "integer" - }, - "columns": { - "format": "int32", - "description": "Number of columns in the table.", - "type": "integer" - }, - "objectId": { - "description": "A user-supplied object ID.\n\nIf you specify an ID, it must be unique among all pages and page elements\nin the presentation. The ID must start with an alphanumeric character or an\nunderscore (matches regex `[a-zA-Z0-9_]`); remaining characters\nmay include those as well as a hyphen or colon (matches regex\n`[a-zA-Z0-9_-:]`).\nThe length of the ID must not be less than 5 or greater than 50.\n\nIf you don't specify an ID, a unique one is generated.", - "type": "string" - }, - "elementProperties": { - "$ref": "PageElementProperties", - "description": "The element properties for the table.\n\nThe table will be created at the provided size, subject to a minimum size.\nIf no size is provided, the table will be automatically sized.\n\nTable transforms must have a scale of 1 and no shear components. If no\ntransform is provided, the table will be centered on the page." - } - }, - "id": "CreateTableRequest" - }, - "CreateTableResponse": { - "description": "The result of creating a table.", - "type": "object", - "properties": { - "objectId": { - "description": "The object ID of the created table.", - "type": "string" - } - }, - "id": "CreateTableResponse" - }, - "Table": { - "description": "A PageElement kind representing a\ntable.", - "type": "object", - "properties": { - "columns": { - "format": "int32", - "description": "Number of columns in the table.", - "type": "integer" - }, - "tableRows": { - "description": "Properties and contents of each row.\n\nCells that span multiple rows are contained in only one of these rows and\nhave a row_span greater\nthan 1.", - "items": { - "$ref": "TableRow" - }, - "type": "array" - }, - "rows": { - "format": "int32", - "description": "Number of rows in the table.", - "type": "integer" - }, - "tableColumns": { - "items": { - "$ref": "TableColumnProperties" - }, - "type": "array", - "description": "Properties of each column." - } - }, - "id": "Table" - }, - "PageBackgroundFill": { - "description": "The page background fill.", - "type": "object", - "properties": { - "propertyState": { - "enum": [ - "RENDERED", - "NOT_RENDERED", - "INHERIT" - ], - "description": "The background fill property state.\n\nUpdating the the fill on a page will implicitly update this field to\n`RENDERED`, unless another value is specified in the same request. To\nhave no fill on a page, set this field to `NOT_RENDERED`. In this case,\nany other fill fields set in the same request will be ignored.", - "type": "string", - "enumDescriptions": [ - "If a property's state is RENDERED, then the element has the corresponding\nproperty when rendered on a page. If the element is a placeholder shape as\ndetermined by the placeholder\nfield, and it inherits from a placeholder shape, the corresponding field\nmay be unset, meaning that the property value is inherited from a parent\nplaceholder. If the element does not inherit, then the field will contain\nthe rendered value. This is the default value.", - "If a property's state is NOT_RENDERED, then the element does not have the\ncorresponding property when rendered on a page. However, the field may\nstill be set so it can be inherited by child shapes. To remove a property\nfrom a rendered element, set its property_state to NOT_RENDERED.", - "If a property's state is INHERIT, then the property state uses the value of\ncorresponding `property_state` field on the parent shape. Elements that do\nnot inherit will never have an INHERIT property state." - ] - }, - "stretchedPictureFill": { - "$ref": "StretchedPictureFill", - "description": "Stretched picture fill." - }, - "solidFill": { - "$ref": "SolidFill", - "description": "Solid color fill." - } - }, - "id": "PageBackgroundFill" - }, - "SheetsChart": { - "description": "A PageElement kind representing\na linked chart embedded from Google Sheets.", - "type": "object", - "properties": { - "chartId": { - "format": "int32", - "description": "The ID of the specific chart in the Google Sheets spreadsheet that is\nembedded.", - "type": "integer" - }, - "sheetsChartProperties": { - "description": "The properties of the Sheets chart.", - "$ref": "SheetsChartProperties" - }, - "contentUrl": { - "description": "The URL of an image of the embedded chart, with a default lifetime of 30\nminutes. This URL is tagged with the account of the requester. Anyone with\nthe URL effectively accesses the image as the original requester. Access to\nthe image may be lost if the presentation's sharing settings change.", - "type": "string" - }, - "spreadsheetId": { - "description": "The ID of the Google Sheets spreadsheet that contains the source chart.", - "type": "string" - } - }, - "id": "SheetsChart" - }, - "SolidFill": { - "type": "object", - "properties": { - "alpha": { - "format": "float", - "description": "The fraction of this `color` that should be applied to the pixel.\nThat is, the final pixel color is defined by the equation:\n\n pixel color = alpha * (color) + (1.0 - alpha) * (background color)\n\nThis means that a value of 1.0 corresponds to a solid color, whereas\na value of 0.0 corresponds to a completely transparent color.", - "type": "number" - }, - "color": { - "description": "The color value of the solid fill.", - "$ref": "OpaqueColor" - } - }, - "id": "SolidFill", - "description": "A solid color fill. The page or page element is filled entirely with the\nspecified color value.\n\nIf any field is unset, its value may be inherited from a parent placeholder\nif it exists." - }, - "ThemeColorPair": { - "description": "A pair mapping a theme color type to the concrete color it represents.", - "type": "object", - "properties": { - "color": { - "$ref": "RgbColor", - "description": "The concrete color corresponding to the theme color type above." - }, - "type": { - "description": "The type of the theme color.", - "type": "string", - "enumDescriptions": [ - "Unspecified theme color. This value should not be used.", - "Represents the first dark color.", - "Represents the first light color.", - "Represents the second dark color.", - "Represents the second light color.", - "Represents the first accent color.", - "Represents the second accent color.", - "Represents the third accent color.", - "Represents the fourth accent color.", - "Represents the fifth accent color.", - "Represents the sixth accent color.", - "Represents the color to use for hyperlinks.", - "Represents the color to use for visited hyperlinks.", - "Represents the first text color.", - "Represents the first background color.", - "Represents the second text color.", - "Represents the second background color." - ], - "enum": [ - "THEME_COLOR_TYPE_UNSPECIFIED", - "DARK1", - "LIGHT1", - "DARK2", - "LIGHT2", - "ACCENT1", - "ACCENT2", - "ACCENT3", - "ACCENT4", - "ACCENT5", - "ACCENT6", - "HYPERLINK", - "FOLLOWED_HYPERLINK", - "TEXT1", - "BACKGROUND1", - "TEXT2", - "BACKGROUND2" - ] - } - }, - "id": "ThemeColorPair" - }, - "OptionalColor": { - "description": "A color that can either be fully opaque or fully transparent.", - "type": "object", - "properties": { - "opaqueColor": { - "$ref": "OpaqueColor", - "description": "If set, this will be used as an opaque color. If unset, this represents\na transparent color." - } - }, - "id": "OptionalColor" - }, - "PageElementProperties": { - "properties": { - "pageObjectId": { - "description": "The object ID of the page where the element is located.", - "type": "string" - }, - "size": { - "description": "The size of the element.", - "$ref": "Size" - }, - "transform": { - "description": "The transform for the element.", - "$ref": "AffineTransform" - } - }, - "id": "PageElementProperties", - "description": "Common properties for a page element.\n\nNote: When you initially create a\nPageElement, the API may modify\nthe values of both `size` and `transform`, but the\nvisual size will be unchanged.", - "type": "object" - }, - "SheetsChartProperties": { - "id": "SheetsChartProperties", - "description": "The properties of the SheetsChart.", - "type": "object", - "properties": { - "chartImageProperties": { - "description": "The properties of the embedded chart image.", - "$ref": "ImageProperties" - } - } - }, - "StretchedPictureFill": { - "description": "The stretched picture fill. The page or page element is filled entirely with\nthe specified picture. The picture is stretched to fit its container.", - "type": "object", - "properties": { - "contentUrl": { - "description": "Reading the content_url:\n\nAn URL to a picture with a default lifetime of 30 minutes.\nThis URL is tagged with the account of the requester. Anyone with the URL\neffectively accesses the picture as the original requester. Access to the\npicture may be lost if the presentation's sharing settings change.\n\nWriting the content_url:\n\nThe picture is fetched once at insertion time and a copy is stored for\ndisplay inside the presentation. Pictures must be less than 50MB in size,\ncannot exceed 25 megapixels, and must be in either in PNG, JPEG, or GIF\nformat.", - "type": "string" - }, - "size": { - "$ref": "Size", - "description": "The original size of the picture fill. This field is read-only." - } - }, - "id": "StretchedPictureFill" - }, - "DeleteTableColumnRequest": { - "description": "Deletes a column from a table.", - "type": "object", - "properties": { - "cellLocation": { - "$ref": "TableCellLocation", - "description": "The reference table cell location from which a column will be deleted.\n\nThe column this cell spans will be deleted. If this is a merged cell,\nmultiple columns will be deleted. If no columns remain in the table after\nthis deletion, the whole table is deleted." - }, - "tableObjectId": { - "type": "string", - "description": "The table to delete columns from." - } - }, - "id": "DeleteTableColumnRequest" - }, - "UpdateTextStyleRequest": { - "description": "Update the styling of text in a Shape or\nTable.", - "type": "object", - "properties": { - "textRange": { - "description": "The range of text to style.\n\nThe range may be extended to include adjacent newlines.\n\nIf the range fully contains a paragraph belonging to a list, the\nparagraph's bullet is also updated with the matching text style.", - "$ref": "Range" - }, - "objectId": { - "description": "The object ID of the shape or table with the text to be styled.", - "type": "string" - }, - "style": { - "$ref": "TextStyle", - "description": "The style(s) to set on the text.\n\nIf the value for a particular style matches that of the parent, that style\nwill be set to inherit.\n\nCertain text style changes may cause other changes meant to mirror the\nbehavior of the Slides editor. See the documentation of\nTextStyle for more information." - }, - "cellLocation": { - "$ref": "TableCellLocation", - "description": "The location of the cell in the table containing the text to style. If\n`object_id` refers to a table, `cell_location` must have a value.\nOtherwise, it must not." - }, - "fields": { - "format": "google-fieldmask", - "description": "The fields that should be updated.\n\nAt least one field must be specified. The root `style` is implied and\nshould not be specified. A single `\"*\"` can be used as short-hand for\nlisting every field.\n\nFor example, to update the text style to bold, set `fields` to `\"bold\"`.\n\nTo reset a property to its default value, include its field name in the\nfield mask but leave the field itself unset.", - "type": "string" - } - }, - "id": "UpdateTextStyleRequest" - }, - "List": { - "id": "List", - "description": "A List describes the look and feel of bullets belonging to paragraphs\nassociated with a list. A paragraph that is part of a list has an implicit\nreference to that list's ID.", - "type": "object", - "properties": { - "listId": { - "description": "The ID of the list.", - "type": "string" - }, - "nestingLevel": { - "type": "object", - "additionalProperties": { - "$ref": "NestingLevel" - }, - "description": "A map of nesting levels to the properties of bullets at the associated\nlevel. A list has at most nine levels of nesting, so the possible values\nfor the keys of this map are 0 through 8, inclusive." - } - } - }, - "WeightedFontFamily": { - "description": "Represents a font family and weight used to style a TextRun.", - "type": "object", - "properties": { - "weight": { - "format": "int32", - "description": "The rendered weight of the text. This field can have any value that is a\nmultiple of `100` between `100` and `900`, inclusive. This range\ncorresponds to the numerical values described in the CSS 2.1\nSpecification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),\nwith non-numerical values disallowed. Weights greater than or equal to\n`700` are considered bold, and weights less than `700`are not bold. The\ndefault value is `400` (\"normal\").", - "type": "integer" - }, - "fontFamily": { - "description": "The font family of the text.\n\nThe font family can be any font from the Font menu in Slides or from\n[Google Fonts] (https://fonts.google.com/). If the font name is\nunrecognized, the text is rendered in `Arial`.", - "type": "string" - } - }, - "id": "WeightedFontFamily" - }, - "PageElement": { - "type": "object", - "properties": { - "objectId": { - "description": "The object ID for this page element. Object IDs used by\ngoogle.apps.slides.v1.Page and\ngoogle.apps.slides.v1.PageElement share the same namespace.", - "type": "string" - }, - "transform": { - "$ref": "AffineTransform", - "description": "The transform of the page element." - }, - "shape": { - "$ref": "Shape", - "description": "A generic shape." - }, - "line": { - "description": "A line page element.", - "$ref": "Line" - }, - "description": { - "description": "The description of the page element. Combined with title to display alt\ntext.", - "type": "string" - }, - "elementGroup": { - "$ref": "Group", - "description": "A collection of page elements joined as a single unit." - }, - "image": { - "$ref": "Image", - "description": "An image page element." - }, - "size": { - "$ref": "Size", - "description": "The size of the page element." - }, - "title": { - "description": "The title of the page element. Combined with description to display alt\ntext.", - "type": "string" - }, - "sheetsChart": { - "$ref": "SheetsChart", - "description": "A linked chart embedded from Google Sheets. Unlinked charts are\nrepresented as images." - }, - "video": { - "description": "A video page element.", - "$ref": "Video" - }, - "wordArt": { - "$ref": "WordArt", - "description": "A word art page element." - }, - "table": { - "$ref": "Table", - "description": "A table page element." - } - }, - "id": "PageElement", - "description": "A visual element rendered on a page." - }, - "CreateImageRequest": { - "description": "Creates an image.", - "type": "object", - "properties": { - "objectId": { - "description": "A user-supplied object ID.\n\nIf you specify an ID, it must be unique among all pages and page elements\nin the presentation. The ID must start with an alphanumeric character or an\nunderscore (matches regex `[a-zA-Z0-9_]`); remaining characters\nmay include those as well as a hyphen or colon (matches regex\n`[a-zA-Z0-9_-:]`).\nThe length of the ID must not be less than 5 or greater than 50.\n\nIf you don't specify an ID, a unique one is generated.", - "type": "string" - }, - "elementProperties": { - "description": "The element properties for the image.\n\nWhen the aspect ratio of the provided size does not match the image aspect\nratio, the image is scaled and centered with respect to the size in order\nto maintain aspect ratio. The provided transform is applied after this\noperation.", - "$ref": "PageElementProperties" - }, - "url": { - "description": "The image URL.\n\nThe image is fetched once at insertion time and a copy is stored for\ndisplay inside the presentation. Images must be less than 50MB in size,\ncannot exceed 25 megapixels, and must be in either in PNG, JPEG, or GIF\nformat.", - "type": "string" - } - }, - "id": "CreateImageRequest" - }, - "CreateParagraphBulletsRequest": { - "description": "Creates bullets for all of the paragraphs that overlap with the given\ntext index range.\n\nThe nesting level of each paragraph will be determined by counting leading\ntabs in front of each paragraph. To avoid excess space between the bullet and\nthe corresponding paragraph, these leading tabs are removed by this request.\nThis may change the indices of parts of the text.\n\nIf the paragraph immediately before paragraphs being updated is in a list\nwith a matching preset, the paragraphs being updated are added to that\npreceding list.", - "type": "object", - "properties": { - "textRange": { - "description": "The range of text to apply the bullet presets to, based on TextElement indexes.", - "$ref": "Range" - }, - "objectId": { - "description": "The object ID of the shape or table containing the text to add bullets to.", - "type": "string" - }, - "bulletPreset": { - "enumDescriptions": [ - "A bulleted list with a `DISC`, `CIRCLE` and `SQUARE` bullet glyph for the\nfirst 3 list nesting levels.", - "A bulleted list with a `DIAMONDX`, `ARROW3D` and `SQUARE` bullet glyph for\nthe first 3 list nesting levels.", - "A bulleted list with `CHECKBOX` bullet glyphs for all list nesting levels.", - "A bulleted list with a `ARROW`, `DIAMOND` and `DISC` bullet glyph for\nthe first 3 list nesting levels.", - "A bulleted list with a `STAR`, `CIRCLE` and `DISC` bullet glyph for\nthe first 3 list nesting levels.", - "A bulleted list with a `ARROW3D`, `CIRCLE` and `SQUARE` bullet glyph for\nthe first 3 list nesting levels.", - "A bulleted list with a `LEFTTRIANGLE`, `DIAMOND` and `DISC` bullet glyph\nfor the first 3 list nesting levels.", - "A bulleted list with a `DIAMONDX`, `HOLLOWDIAMOND` and `SQUARE` bullet\nglyph for the first 3 list nesting levels.", - "A bulleted list with a `DIAMOND`, `CIRCLE` and `SQUARE` bullet glyph\nfor the first 3 list nesting levels.", - "A numbered list with `DIGIT`, `ALPHA` and `ROMAN` numeric glyphs for\nthe first 3 list nesting levels, followed by periods.", - "A numbered list with `DIGIT`, `ALPHA` and `ROMAN` numeric glyphs for\nthe first 3 list nesting levels, followed by parenthesis.", - "A numbered list with `DIGIT` numeric glyphs separated by periods, where\neach nesting level uses the previous nesting level's glyph as a prefix.\nFor example: '1.', '1.1.', '2.', '2.2.'.", - "A numbered list with `UPPERALPHA`, `ALPHA` and `ROMAN` numeric glyphs for\nthe first 3 list nesting levels, followed by periods.", - "A numbered list with `UPPERROMAN`, `UPPERALPHA` and `DIGIT` numeric glyphs\nfor the first 3 list nesting levels, followed by periods.", - "A numbered list with `ZERODIGIT`, `ALPHA` and `ROMAN` numeric glyphs for\nthe first 3 list nesting levels, followed by periods." - ], - "enum": [ - "BULLET_DISC_CIRCLE_SQUARE", - "BULLET_DIAMONDX_ARROW3D_SQUARE", - "BULLET_CHECKBOX", - "BULLET_ARROW_DIAMOND_DISC", - "BULLET_STAR_CIRCLE_SQUARE", - "BULLET_ARROW3D_CIRCLE_SQUARE", - "BULLET_LEFTTRIANGLE_DIAMOND_DISC", - "BULLET_DIAMONDX_HOLLOWDIAMOND_SQUARE", - "BULLET_DIAMOND_CIRCLE_SQUARE", - "NUMBERED_DIGIT_ALPHA_ROMAN", - "NUMBERED_DIGIT_ALPHA_ROMAN_PARENS", - "NUMBERED_DIGIT_NESTED", - "NUMBERED_UPPERALPHA_ALPHA_ROMAN", - "NUMBERED_UPPERROMAN_UPPERALPHA_DIGIT", - "NUMBERED_ZERODIGIT_ALPHA_ROMAN" - ], - "description": "The kinds of bullet glyphs to be used. Defaults to the\n`BULLET_DISC_CIRCLE_SQUARE` preset.", - "type": "string" - }, - "cellLocation": { - "description": "The optional table cell location if the text to be modified is in a table\ncell. If present, the object_id must refer to a table.", - "$ref": "TableCellLocation" - } - }, - "id": "CreateParagraphBulletsRequest" - }, - "Size": { - "type": "object", - "properties": { - "height": { - "$ref": "Dimension", - "description": "The height of the object." - }, - "width": { - "$ref": "Dimension", - "description": "The width of the object." - } - }, - "id": "Size", - "description": "A width and height." - }, - "TextStyle": { - "description": "Represents the styling that can be applied to a TextRun.\n\nIf this text is contained in a shape with a parent placeholder, then these text styles may be\ninherited from the parent. Which text styles are inherited depend on the\nnesting level of lists:\n\n* A text run in a paragraph that is not in a list will inherit its text style\n from the the newline character in the paragraph at the 0 nesting level of\n the list inside the parent placeholder.\n* A text run in a paragraph that is in a list will inherit its text style\n from the newline character in the paragraph at its corresponding nesting\n level of the list inside the parent placeholder.\n\nInherited text styles are represented as unset fields in this message. If\ntext is contained in a shape without a parent placeholder, unsetting these\nfields will revert the style to a value matching the defaults in the Slides\neditor.", - "type": "object", - "properties": { - "fontSize": { - "description": "The size of the text's font. When read, the `font_size` will specified in\npoints.", - "$ref": "Dimension" - }, - "baselineOffset": { - "enumDescriptions": [ - "The text's baseline offset is inherited from the parent.", - "The text is not vertically offset.", - "The text is vertically offset upwards (superscript).", - "The text is vertically offset downwards (subscript)." - ], - "enum": [ - "BASELINE_OFFSET_UNSPECIFIED", - "NONE", - "SUPERSCRIPT", - "SUBSCRIPT" - ], - "description": "The text's vertical offset from its normal position.\n\nText with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically\nrendered in a smaller font size, computed based on the `font_size` field.\nThe `font_size` itself is not affected by changes in this field.", - "type": "string" - }, - "weightedFontFamily": { - "$ref": "WeightedFontFamily", - "description": "The font family and rendered weight of the text.\n\nThis field is an extension of `font_family` meant to support explicit font\nweights without breaking backwards compatibility. As such, when reading the\nstyle of a range of text, the value of `weighted_font_family#font_family`\nwill always be equal to that of `font_family`. However, when writing, if\nboth fields are included in the field mask (either explicitly or through\nthe wildcard `\"*\"`), their values are reconciled as follows:\n\n* If `font_family` is set and `weighted_font_family` is not, the value of\n `font_family` is applied with weight `400` (\"normal\").\n* If both fields are set, the value of `font_family` must match that of\n `weighted_font_family#font_family`. If so, the font family and weight of\n `weighted_font_family` is applied. Otherwise, a 400 bad request error is\n returned.\n* If `weighted_font_family` is set and `font_family` is not, the font\n family and weight of `weighted_font_family` is applied.\n* If neither field is set, the font family and weight of the text inherit\n from the parent. Note that these properties cannot inherit separately\n from each other.\n\nIf an update request specifies values for both `weighted_font_family` and\n`bold`, the `weighted_font_family` is applied first, then `bold`.\n\nIf `weighted_font_family#weight` is not set, it defaults to `400`.\n\nIf `weighted_font_family` is set, then `weighted_font_family#font_family`\nmust also be set with a non-empty value. Otherwise, a 400 bad request error\nis returned." - }, - "smallCaps": { - "description": "Whether or not the text is in small capital letters.", - "type": "boolean" - }, - "backgroundColor": { - "$ref": "OptionalColor", - "description": "The background color of the text. If set, the color is either opaque or\ntransparent, depending on if the `opaque_color` field in it is set." - }, - "link": { - "$ref": "Link", - "description": "The hyperlink destination of the text. If unset, there is no link. Links\nare not inherited from parent text.\n\nChanging the link in an update request causes some other changes to the\ntext style of the range:\n\n* When setting a link, the text foreground color will be set to\n ThemeColorType.HYPERLINK and the text will\n be underlined. If these fields are modified in the same\n request, those values will be used instead of the link defaults.\n* Setting a link on a text range that overlaps with an existing link will\n also update the existing link to point to the new URL.\n* Links are not settable on newline characters. As a result, setting a link\n on a text range that crosses a paragraph boundary, such as `\"ABC\\n123\"`,\n will separate the newline character(s) into their own text runs. The\n link will be applied separately to the runs before and after the newline.\n* Removing a link will update the text style of the range to match the\n style of the preceding text (or the default text styles if the preceding\n text is another link) unless different styles are being set in the same\n request." - }, - "underline": { - "description": "Whether or not the text is underlined.", - "type": "boolean" - }, - "bold": { - "description": "Whether or not the text is rendered as bold.", - "type": "boolean" - }, - "foregroundColor": { - "description": "The color of the text itself. If set, the color is either opaque or\ntransparent, depending on if the `opaque_color` field in it is set.", - "$ref": "OptionalColor" - }, - "fontFamily": { - "description": "The font family of the text.\n\nThe font family can be any font from the Font menu in Slides or from\n[Google Fonts] (https://fonts.google.com/). If the font name is\nunrecognized, the text is rendered in `Arial`.\n\nSome fonts can affect the weight of the text. If an update request\nspecifies values for both `font_family` and `bold`, the explicitly-set\n`bold` value is used.", - "type": "string" - }, - "italic": { - "description": "Whether or not the text is italicized.", - "type": "boolean" - }, - "strikethrough": { - "description": "Whether or not the text is struck through.", - "type": "boolean" - } - }, - "id": "TextStyle" - }, - "UpdateVideoPropertiesRequest": { - "description": "Update the properties of a Video.", - "type": "object", - "properties": { - "fields": { - "format": "google-fieldmask", - "description": "The fields that should be updated.\n\nAt least one field must be specified. The root `videoProperties` is\nimplied and should not be specified. A single `\"*\"` can be used as\nshort-hand for listing every field.\n\nFor example to update the video outline color, set `fields` to\n`\"outline.outlineFill.solidFill.color\"`.\n\nTo reset a property to its default value, include its field name in the\nfield mask but leave the field itself unset.", - "type": "string" - }, - "objectId": { - "description": "The object ID of the video the updates are applied to.", - "type": "string" - }, - "videoProperties": { - "$ref": "VideoProperties", - "description": "The video properties to update." - } - }, - "id": "UpdateVideoPropertiesRequest" - }, - "Request": { - "description": "A single kind of update to apply to a presentation.", - "type": "object", - "properties": { - "createImage": { - "$ref": "CreateImageRequest", - "description": "Creates an image." - }, - "createParagraphBullets": { - "description": "Creates bullets for paragraphs.", - "$ref": "CreateParagraphBulletsRequest" - }, - "createVideo": { - "description": "Creates a video.", - "$ref": "CreateVideoRequest" - }, - "createSheetsChart": { - "$ref": "CreateSheetsChartRequest", - "description": "Creates an embedded Google Sheets chart." - }, - "replaceAllShapesWithSheetsChart": { - "description": "Replaces all shapes matching some criteria with a Google Sheets chart.", - "$ref": "ReplaceAllShapesWithSheetsChartRequest" - }, - "updatePageElementTransform": { - "$ref": "UpdatePageElementTransformRequest", - "description": "Updates the transform of a page element." - }, - "updateTextStyle": { - "$ref": "UpdateTextStyleRequest", - "description": "Updates the styling of text within a Shape or Table." - }, - "replaceAllShapesWithImage": { - "$ref": "ReplaceAllShapesWithImageRequest", - "description": "Replaces all shapes matching some criteria with an image." - }, - "replaceAllText": { - "description": "Replaces all instances of specified text.", - "$ref": "ReplaceAllTextRequest" - }, - "updateImageProperties": { - "$ref": "UpdateImagePropertiesRequest", - "description": "Updates the properties of an Image." - }, - "insertTableRows": { - "$ref": "InsertTableRowsRequest", - "description": "Inserts rows into a table." - }, - "createSlide": { - "description": "Creates a new slide.", - "$ref": "CreateSlideRequest" - }, - "updateLineProperties": { - "description": "Updates the properties of a Line.", - "$ref": "UpdateLinePropertiesRequest" - }, - "updateSlidesPosition": { - "$ref": "UpdateSlidesPositionRequest", - "description": "Updates the position of a set of slides in the presentation." - }, - "deleteTableRow": { - "description": "Deletes a row from a table.", - "$ref": "DeleteTableRowRequest" - }, - "updateShapeProperties": { - "description": "Updates the properties of a Shape.", - "$ref": "UpdateShapePropertiesRequest" - }, - "insertText": { - "$ref": "InsertTextRequest", - "description": "Inserts text into a shape or table cell." - }, - "deleteText": { - "$ref": "DeleteTextRequest", - "description": "Deletes text from a shape or a table cell." - }, - "updatePageProperties": { - "$ref": "UpdatePagePropertiesRequest", - "description": "Updates the properties of a Page." - }, - "createShape": { - "$ref": "CreateShapeRequest", - "description": "Creates a new shape." - }, - "deleteParagraphBullets": { - "$ref": "DeleteParagraphBulletsRequest", - "description": "Deletes bullets from paragraphs." - }, - "insertTableColumns": { - "$ref": "InsertTableColumnsRequest", - "description": "Inserts columns into a table." - }, - "refreshSheetsChart": { - "description": "Refreshes a Google Sheets chart.", - "$ref": "RefreshSheetsChartRequest" - }, - "updateTableCellProperties": { - "$ref": "UpdateTableCellPropertiesRequest", - "description": "Updates the properties of a TableCell." - }, - "createTable": { - "$ref": "CreateTableRequest", - "description": "Creates a new table." - }, - "deleteObject": { - "$ref": "DeleteObjectRequest", - "description": "Deletes a page or page element from the presentation." - }, - "updateParagraphStyle": { - "description": "Updates the styling of paragraphs within a Shape or Table.", - "$ref": "UpdateParagraphStyleRequest" - }, - "deleteTableColumn": { - "$ref": "DeleteTableColumnRequest", - "description": "Deletes a column from a table." - }, - "duplicateObject": { - "$ref": "DuplicateObjectRequest", - "description": "Duplicates a slide or page element." - }, - "createLine": { - "$ref": "CreateLineRequest", - "description": "Creates a line." - }, - "updateVideoProperties": { - "description": "Updates the properties of a Video.", - "$ref": "UpdateVideoPropertiesRequest" - } - }, - "id": "Request" - }, - "UpdateImagePropertiesRequest": { - "description": "Update the properties of an Image.", - "type": "object", - "properties": { - "fields": { - "format": "google-fieldmask", - "description": "The fields that should be updated.\n\nAt least one field must be specified. The root `imageProperties` is\nimplied and should not be specified. A single `\"*\"` can be used as\nshort-hand for listing every field.\n\nFor example to update the image outline color, set `fields` to\n`\"outline.outlineFill.solidFill.color\"`.\n\nTo reset a property to its default value, include its field name in the\nfield mask but leave the field itself unset.", - "type": "string" - }, - "imageProperties": { - "$ref": "ImageProperties", - "description": "The image properties to update." - }, - "objectId": { - "type": "string", - "description": "The object ID of the image the updates are applied to." - } - }, - "id": "UpdateImagePropertiesRequest" - }, - "ParagraphStyle": { - "type": "object", - "properties": { - "spaceBelow": { - "$ref": "Dimension", - "description": "The amount of extra space above the paragraph. If unset, the value is\ninherited from the parent." - }, - "direction": { - "enumDescriptions": [ - "The text direction is inherited from the parent.", - "The text goes from left to right.", - "The text goes from right to left." - ], - "enum": [ - "TEXT_DIRECTION_UNSPECIFIED", - "LEFT_TO_RIGHT", - "RIGHT_TO_LEFT" - ], - "description": "The text direction of this paragraph. If unset, the value defaults to\nLEFT_TO_RIGHT since\ntext direction is not inherited.", - "type": "string" - }, - "spacingMode": { - "enumDescriptions": [ - "The spacing mode is inherited from the parent.", - "Paragraph spacing is always rendered.", - "Paragraph spacing is skipped between list elements." - ], - "enum": [ - "SPACING_MODE_UNSPECIFIED", - "NEVER_COLLAPSE", - "COLLAPSE_LISTS" - ], - "description": "The spacing mode for the paragraph.", - "type": "string" - }, - "indentEnd": { - "$ref": "Dimension", - "description": "The amount indentation for the paragraph on the side that corresponds to\nthe end of the text, based on the current text direction. If unset, the\nvalue is inherited from the parent." - }, - "indentStart": { - "description": "The amount indentation for the paragraph on the side that corresponds to\nthe start of the text, based on the current text direction. If unset, the\nvalue is inherited from the parent.", - "$ref": "Dimension" - }, - "spaceAbove": { - "$ref": "Dimension", - "description": "The amount of extra space above the paragraph. If unset, the value is\ninherited from the parent." - }, - "indentFirstLine": { - "$ref": "Dimension", - "description": "The amount of indentation for the start of the first line of the paragraph.\nIf unset, the value is inherited from the parent." - }, - "lineSpacing": { - "format": "float", - "description": "The amount of space between lines, as a percentage of normal, where normal\nis represented as 100.0. If unset, the value is inherited from the parent.", - "type": "number" - }, - "alignment": { - "description": "The text alignment for this paragraph.", - "type": "string", - "enumDescriptions": [ - "The paragraph alignment is inherited from the parent.", - "The paragraph is aligned to the start of the line. Left-aligned for\nLTR text, right-aligned otherwise.", - "The paragraph is centered.", - "The paragraph is aligned to the end of the line. Right-aligned for\nLTR text, left-aligned otherwise.", - "The paragraph is justified." - ], - "enum": [ - "ALIGNMENT_UNSPECIFIED", - "START", - "CENTER", - "END", - "JUSTIFIED" - ] - } - }, - "id": "ParagraphStyle", - "description": "Styles that apply to a whole paragraph.\n\nIf this text is contained in a shape with a parent placeholder, then these paragraph styles may be\ninherited from the parent. Which paragraph styles are inherited depend on the\nnesting level of lists:\n\n* A paragraph not in a list will inherit its paragraph style from the\n paragraph at the 0 nesting level of the list inside the parent placeholder.\n* A paragraph in a list will inherit its paragraph style from the paragraph\n at its corresponding nesting level of the list inside the parent\n placeholder.\n\nInherited paragraph styles are represented as unset fields in this message." - }, - "ReplaceAllShapesWithSheetsChartResponse": { - "description": "The result of replacing shapes with a Google Sheets chart.", - "type": "object", - "properties": { - "occurrencesChanged": { - "type": "integer", - "format": "int32", - "description": "The number of shapes replaced with charts." - } - }, - "id": "ReplaceAllShapesWithSheetsChartResponse" - }, - "TableCellProperties": { - "description": "The properties of the TableCell.", - "type": "object", - "properties": { - "tableCellBackgroundFill": { - "$ref": "TableCellBackgroundFill", - "description": "The background fill of the table cell. The default fill matches the fill\nfor newly created table cells in the Slides editor." - } - }, - "id": "TableCellProperties" - }, - "Outline": { - "description": "The outline of a PageElement.\n\nIf these fields are unset, they may be inherited from a parent placeholder\nif it exists. If there is no parent, the fields will default to the value\nused for new page elements created in the Slides editor, which may depend on\nthe page element kind.", - "type": "object", - "properties": { - "outlineFill": { - "$ref": "OutlineFill", - "description": "The fill of the outline." - }, - "weight": { - "$ref": "Dimension", - "description": "The thickness of the outline." - }, - "dashStyle": { - "enumDescriptions": [ - "Unspecified dash style.", - "Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'solid'.\nThis is the default dash style.", - "Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dot'.", - "Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dash'.", - "Alternating dashes and dots. Corresponds to ECMA-376 ST_PresetLineDashVal\nvalue 'dashDot'.", - "Line with large dashes. Corresponds to ECMA-376 ST_PresetLineDashVal\nvalue 'lgDash'.", - "Alternating large dashes and dots. Corresponds to ECMA-376\nST_PresetLineDashVal value 'lgDashDot'." - ], - "enum": [ - "DASH_STYLE_UNSPECIFIED", - "SOLID", - "DOT", - "DASH", - "DASH_DOT", - "LONG_DASH", - "LONG_DASH_DOT" - ], - "description": "The dash style of the outline.", - "type": "string" - }, - "propertyState": { - "type": "string", - "enumDescriptions": [ - "If a property's state is RENDERED, then the element has the corresponding\nproperty when rendered on a page. If the element is a placeholder shape as\ndetermined by the placeholder\nfield, and it inherits from a placeholder shape, the corresponding field\nmay be unset, meaning that the property value is inherited from a parent\nplaceholder. If the element does not inherit, then the field will contain\nthe rendered value. This is the default value.", - "If a property's state is NOT_RENDERED, then the element does not have the\ncorresponding property when rendered on a page. However, the field may\nstill be set so it can be inherited by child shapes. To remove a property\nfrom a rendered element, set its property_state to NOT_RENDERED.", - "If a property's state is INHERIT, then the property state uses the value of\ncorresponding `property_state` field on the parent shape. Elements that do\nnot inherit will never have an INHERIT property state." - ], - "enum": [ - "RENDERED", - "NOT_RENDERED", - "INHERIT" - ], - "description": "The outline property state.\n\nUpdating the the outline on a page element will implicitly update this\nfield to`RENDERED`, unless another value is specified in the same request.\nTo have no outline on a page element, set this field to `NOT_RENDERED`. In\nthis case, any other outline fields set in the same request will be\nignored." - } - }, - "id": "Outline" - }, - "RefreshSheetsChartRequest": { - "description": "Refreshes an embedded Google Sheets chart by replacing it with the latest\nversion of the chart from Google Sheets.\n\nNOTE: Refreshing charts requires at least one of the spreadsheets.readonly,\nspreadsheets, drive.readonly, or drive OAuth scopes.", - "type": "object", - "properties": { - "objectId": { - "description": "The object ID of the chart to refresh.", - "type": "string" - } - }, - "id": "RefreshSheetsChartRequest" - }, - "TableColumnProperties": { - "description": "Properties of each column in a table.", - "type": "object", - "properties": { - "columnWidth": { - "$ref": "Dimension", - "description": "Width of a column." - } - }, - "id": "TableColumnProperties" - }, - "ShapeProperties": { - "properties": { - "link": { - "description": "The hyperlink destination of the shape. If unset, there is no link. Links\nare not inherited from parent placeholders.", - "$ref": "Link" - }, - "outline": { - "$ref": "Outline", - "description": "The outline of the shape. If unset, the outline is inherited from a\nparent placeholder if it exists. If the shape has no parent, then the\ndefault outline depends on the shape type, matching the defaults for\nnew shapes created in the Slides editor." - }, - "shadow": { - "$ref": "Shadow", - "description": "The shadow properties of the shape. If unset, the shadow is inherited from\na parent placeholder if it exists. If the shape has no parent, then the\ndefault shadow matches the defaults for new shapes created in the Slides\neditor. This property is read-only." - }, - "shapeBackgroundFill": { - "$ref": "ShapeBackgroundFill", - "description": "The background fill of the shape. If unset, the background fill is\ninherited from a parent placeholder if it exists. If the shape has no\nparent, then the default background fill depends on the shape type,\nmatching the defaults for new shapes created in the Slides editor." - } - }, - "id": "ShapeProperties", - "description": "The properties of a Shape.\n\nIf the shape is a placeholder shape as determined by the\nplaceholder field, then these\nproperties may be inherited from a parent placeholder shape.\nDetermining the rendered value of the property depends on the corresponding\nproperty_state field value.", - "type": "object" - }, - "NotesProperties": { - "description": "The properties of Page that are only\nrelevant for pages with page_type NOTES.", - "type": "object", - "properties": { - "speakerNotesObjectId": { - "description": "The object ID of the shape on this notes page that contains the speaker\nnotes for the corresponding slide.\nThe actual shape may not always exist on the notes page. Inserting text\nusing this object ID will automatically create the shape. In this case, the\nactual shape may have different object ID. The `GetPresentation` or\n`GetPage` action will always return the latest object ID.", - "type": "string" - } - }, - "id": "NotesProperties" - }, - "TableRow": { - "description": "Properties and contents of each row in a table.", - "type": "object", - "properties": { - "tableCells": { - "description": "Properties and contents of each cell.\n\nCells that span multiple columns are represented only once with a\ncolumn_span greater\nthan 1. As a result, the length of this collection does not always match\nthe number of columns of the entire table.", - "items": { - "$ref": "TableCell" - }, - "type": "array" - }, - "rowHeight": { - "$ref": "Dimension", - "description": "Height of a row." - } - }, - "id": "TableRow" - }, - "UpdateTableCellPropertiesRequest": { - "description": "Update the properties of a TableCell.", - "type": "object", - "properties": { - "fields": { - "format": "google-fieldmask", - "description": "The fields that should be updated.\n\nAt least one field must be specified. The root `tableCellProperties` is\nimplied and should not be specified. A single `\"*\"` can be used as\nshort-hand for listing every field.\n\nFor example to update the table cell background solid fill color, set\n`fields` to `\"tableCellBackgroundFill.solidFill.color\"`.\n\nTo reset a property to its default value, include its field name in the\nfield mask but leave the field itself unset.", - "type": "string" - }, - "tableRange": { - "description": "The table range representing the subset of the table to which the updates\nare applied. If a table range is not specified, the updates will apply to\nthe entire table.", - "$ref": "TableRange" - }, - "objectId": { - "description": "The object ID of the table.", - "type": "string" - }, - "tableCellProperties": { - "$ref": "TableCellProperties", - "description": "The table cell properties to update." - } - }, - "id": "UpdateTableCellPropertiesRequest" - }, - "CreateSlideRequest": { - "description": "Creates a new slide.", - "type": "object", - "properties": { - "insertionIndex": { - "format": "int32", - "description": "The optional zero-based index indicating where to insert the slides.\n\nIf you don't specify an index, the new slide is created at the end.", - "type": "integer" - }, - "placeholderIdMappings": { - "description": "An optional list of object ID mappings from the placeholder(s) on the layout to the placeholder(s)\nthat will be created on the new slide from that specified layout. Can only\nbe used when `slide_layout_reference` is specified.", - "items": { - "$ref": "LayoutPlaceholderIdMapping" - }, - "type": "array" - }, - "slideLayoutReference": { - "description": "Layout reference of the slide to be inserted, based on the *current\nmaster*, which is one of the following:\n\n- The master of the previous slide index.\n- The master of the first slide, if the insertion_index is zero.\n- The first master in the presentation, if there are no slides.\n\nIf the LayoutReference is not found in the current master, a 400 bad\nrequest error is returned.\n\nIf you don't specify a layout reference, then the new slide will use the\npredefined layout `BLANK`.", - "$ref": "LayoutReference" - }, - "objectId": { - "description": "A user-supplied object ID.\n\nIf you specify an ID, it must be unique among all pages and page elements\nin the presentation. The ID must start with an alphanumeric character or an\nunderscore (matches regex `[a-zA-Z0-9_]`); remaining characters\nmay include those as well as a hyphen or colon (matches regex\n`[a-zA-Z0-9_-:]`).\nThe length of the ID must not be less than 5 or greater than 50.\n\nIf you don't specify an ID, a unique one is generated.", - "type": "string" - } - }, - "id": "CreateSlideRequest" - }, - "BatchUpdatePresentationRequest": { - "type": "object", - "properties": { - "writeControl": { - "$ref": "WriteControl", - "description": "Provides control over how write requests are executed." - }, - "requests": { - "description": "A list of updates to apply to the presentation.", - "items": { - "$ref": "Request" - }, - "type": "array" - } - }, - "id": "BatchUpdatePresentationRequest", - "description": "Request message for PresentationsService.BatchUpdatePresentation." - }, - "TextContent": { - "description": "The general text content. The text must reside in a compatible shape (e.g.\ntext box or rectangle) or a table cell in a page.", - "type": "object", - "properties": { - "lists": { - "additionalProperties": { - "$ref": "List" - }, - "description": "The bulleted lists contained in this text, keyed by list ID.", - "type": "object" - }, - "textElements": { - "description": "The text contents broken down into its component parts, including styling\ninformation. This property is read-only.", - "items": { - "$ref": "TextElement" - }, - "type": "array" - } - }, - "id": "TextContent" - }, - "CreateSheetsChartResponse": { - "properties": { - "objectId": { - "description": "The object ID of the created chart.", - "type": "string" - } - }, - "id": "CreateSheetsChartResponse", - "description": "The result of creating an embedded Google Sheets chart.", - "type": "object" - }, - "WriteControl": { - "description": "Provides control over how write requests are executed.", - "type": "object", - "properties": { - "requiredRevisionId": { - "description": "The revision ID of the presentation required for the write request. If\nspecified and the `required_revision_id` doesn't exactly match the\npresentation's current `revision_id`, the request will not be processed and\nwill return a 400 bad request error.", - "type": "string" - } - }, - "id": "WriteControl" - }, - "DeleteParagraphBulletsRequest": { - "description": "Deletes bullets from all of the paragraphs that overlap with the given text\nindex range.\n\nThe nesting level of each paragraph will be visually preserved by adding\nindent to the start of the corresponding paragraph.", - "type": "object", - "properties": { - "textRange": { - "description": "The range of text to delete bullets from, based on TextElement indexes.", - "$ref": "Range" - }, - "objectId": { - "description": "The object ID of the shape or table containing the text to delete bullets\nfrom.", - "type": "string" - }, - "cellLocation": { - "description": "The optional table cell location if the text to be modified is in a table\ncell. If present, the object_id must refer to a table.", - "$ref": "TableCellLocation" - } - }, - "id": "DeleteParagraphBulletsRequest" - }, - "ParagraphMarker": { - "description": "A TextElement kind that represents the beginning of a new paragraph.", - "type": "object", - "properties": { - "style": { - "$ref": "ParagraphStyle", - "description": "The paragraph's style" - }, - "bullet": { - "$ref": "Bullet", - "description": "The bullet for this paragraph. If not present, the paragraph does not\nbelong to a list." - } - }, - "id": "ParagraphMarker" - }, - "InsertTableColumnsRequest": { - "description": "Inserts columns into a table.\n\nOther columns in the table will be resized to fit the new column.", - "type": "object", - "properties": { - "number": { - "format": "int32", - "description": "The number of columns to be inserted. Maximum 20 per request.", - "type": "integer" - }, - "cellLocation": { - "$ref": "TableCellLocation", - "description": "The reference table cell location from which columns will be inserted.\n\nA new column will be inserted to the left (or right) of the column where\nthe reference cell is. If the reference cell is a merged cell, a new\ncolumn will be inserted to the left (or right) of the merged cell." - }, - "insertRight": { - "description": "Whether to insert new columns to the right of the reference cell location.\n\n- `True`: insert to the right.\n- `False`: insert to the left.", - "type": "boolean" - }, - "tableObjectId": { - "description": "The table to insert columns into.", - "type": "string" - } - }, - "id": "InsertTableColumnsRequest" - }, - "Thumbnail": { - "description": "The thumbnail of a page.", - "type": "object", - "properties": { - "height": { - "type": "integer", - "format": "int32", - "description": "The positive height in pixels of the thumbnail image." - }, - "contentUrl": { - "description": "The content URL of the thumbnail image.\n\nThe URL to the image has a default lifetime of 30 minutes.\nThis URL is tagged with the account of the requester. Anyone with the URL\neffectively accesses the image as the original requester. Access to the\nimage may be lost if the presentation's sharing settings change.\nThe mime type of the thumbnail image is the same as specified in the\n`GetPageThumbnailRequest`.", - "type": "string" - }, - "width": { - "format": "int32", - "description": "The positive width in pixels of the thumbnail image.", - "type": "integer" - } - }, - "id": "Thumbnail" - }, - "LayoutPlaceholderIdMapping": { - "description": "The user-specified ID mapping for a placeholder that will be created on a\nslide from a specified layout.", - "type": "object", - "properties": { - "layoutPlaceholderObjectId": { - "description": "The object ID of the placeholder on a layout that will be applied\nto a slide.", - "type": "string" - }, - "objectId": { - "type": "string", - "description": "A user-supplied object ID for the placeholder identified above that to be\ncreated onto a slide.\n\nIf you specify an ID, it must be unique among all pages and page elements\nin the presentation. The ID must start with an alphanumeric character or an\nunderscore (matches regex `[a-zA-Z0-9_]`); remaining characters\nmay include those as well as a hyphen or colon (matches regex\n`[a-zA-Z0-9_-:]`).\nThe length of the ID must not be less than 5 or greater than 50.\n\nIf you don't specify an ID, a unique one is generated." - }, - "layoutPlaceholder": { - "$ref": "Placeholder", - "description": "The placeholder on a layout that will be applied to a slide. Only type and index are needed. For example, a\npredefined `TITLE_AND_BODY` layout may usually have a TITLE placeholder\nwith index 0 and a BODY placeholder with index 0." - } - }, - "id": "LayoutPlaceholderIdMapping" - }, - "UpdateShapePropertiesRequest": { - "type": "object", - "properties": { - "shapeProperties": { - "description": "The shape properties to update.", - "$ref": "ShapeProperties" - }, - "fields": { - "format": "google-fieldmask", - "description": "The fields that should be updated.\n\nAt least one field must be specified. The root `shapeProperties` is\nimplied and should not be specified. A single `\"*\"` can be used as\nshort-hand for listing every field.\n\nFor example to update the shape background solid fill color, set `fields`\nto `\"shapeBackgroundFill.solidFill.color\"`.\n\nTo reset a property to its default value, include its field name in the\nfield mask but leave the field itself unset.", - "type": "string" - }, - "objectId": { - "description": "The object ID of the shape the updates are applied to.", - "type": "string" - } - }, - "id": "UpdateShapePropertiesRequest", - "description": "Update the properties of a Shape." - }, "WordArt": { + "description": "A PageElement kind representing\nword art.", + "type": "object", "properties": { "renderedText": { "description": "The text rendered as word art.", "type": "string" } }, - "id": "WordArt", - "description": "A PageElement kind representing\nword art.", - "type": "object" + "id": "WordArt" }, "Recolor": { "description": "A recolor effect applied on an image.", @@ -3171,8 +364,6 @@ "id": "Recolor" }, "Link": { - "description": "A hypertext link.", - "type": "object", "properties": { "pageObjectId": { "description": "If set, indicates this is a link to the specific page in this\npresentation with this ID. A page with this ID may not exist.", @@ -3184,6 +375,8 @@ "type": "integer" }, "relativeLink": { + "description": "If set, indicates this is a link to a slide in this presentation,\naddressed by its position.", + "type": "string", "enumDescriptions": [ "An unspecified relative slide link.", "A link to the next slide.", @@ -3197,19 +390,18 @@ "PREVIOUS_SLIDE", "FIRST_SLIDE", "LAST_SLIDE" - ], - "description": "If set, indicates this is a link to a slide in this presentation,\naddressed by its position.", - "type": "string" + ] }, "url": { "description": "If set, indicates this is a link to the external web page at this URL.", "type": "string" } }, - "id": "Link" + "id": "Link", + "description": "A hypertext link.", + "type": "object" }, "RgbColor": { - "description": "An RGB color.", "type": "object", "properties": { "blue": { @@ -3228,15 +420,16 @@ "type": "number" } }, - "id": "RgbColor" + "id": "RgbColor", + "description": "An RGB color." }, "CreateShapeResponse": { "description": "The result of creating a shape.", "type": "object", "properties": { "objectId": { - "description": "The object ID of the created shape.", - "type": "string" + "type": "string", + "description": "The object ID of the created shape." } }, "id": "CreateShapeResponse" @@ -3248,22 +441,22 @@ "type": "string" }, "elementProperties": { - "$ref": "PageElementProperties", - "description": "The element properties for the line." + "description": "The element properties for the line.", + "$ref": "PageElementProperties" }, "lineCategory": { - "type": "string", - "enumDescriptions": [ - "Straight connectors, including straight connector 1. The is the default\ncategory when one is not specified.", - "Bent connectors, including bent connector 2 to 5.", - "Curved connectors, including curved connector 2 to 5." - ], "enum": [ "STRAIGHT", "BENT", "CURVED" ], - "description": "The category of line to be created." + "description": "The category of line to be created.", + "type": "string", + "enumDescriptions": [ + "Straight connectors, including straight connector 1. The is the default\ncategory when one is not specified.", + "Bent connectors, including bent connector 2 to 5.", + "Curved connectors, including curved connector 2 to 5." + ] } }, "id": "CreateLineRequest", @@ -3282,9 +475,1108 @@ "id": "CreateSlideResponse" }, "CreateShapeRequest": { - "description": "Creates a new shape.", "type": "object", "properties": { + "shapeType": { + "description": "The shape type.", + "type": "string", + "enumDescriptions": [ + "The shape type that is not predefined.", + "Text box shape.", + "Rectangle shape. Corresponds to ECMA-376 ST_ShapeType 'rect'.", + "Round corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType\n'roundRect'", + "Ellipse shape. Corresponds to ECMA-376 ST_ShapeType 'ellipse'", + "Curved arc shape. Corresponds to ECMA-376 ST_ShapeType 'arc'", + "Bent arrow shape. Corresponds to ECMA-376 ST_ShapeType 'bentArrow'", + "Bent up arrow shape. Corresponds to ECMA-376 ST_ShapeType 'bentUpArrow'", + "Bevel shape. Corresponds to ECMA-376 ST_ShapeType 'bevel'", + "Block arc shape. Corresponds to ECMA-376 ST_ShapeType 'blockArc'", + "Brace pair shape. Corresponds to ECMA-376 ST_ShapeType 'bracePair'", + "Bracket pair shape. Corresponds to ECMA-376 ST_ShapeType 'bracketPair'", + "Can shape. Corresponds to ECMA-376 ST_ShapeType 'can'", + "Chevron shape. Corresponds to ECMA-376 ST_ShapeType 'chevron'", + "Chord shape. Corresponds to ECMA-376 ST_ShapeType 'chord'", + "Cloud shape. Corresponds to ECMA-376 ST_ShapeType 'cloud'", + "Corner shape. Corresponds to ECMA-376 ST_ShapeType 'corner'", + "Cube shape. Corresponds to ECMA-376 ST_ShapeType 'cube'", + "Curved down arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'curvedDownArrow'", + "Curved left arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'curvedLeftArrow'", + "Curved right arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'curvedRightArrow'", + "Curved up arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'curvedUpArrow'", + "Decagon shape. Corresponds to ECMA-376 ST_ShapeType 'decagon'", + "Diagonal stripe shape. Corresponds to ECMA-376 ST_ShapeType 'diagStripe'", + "Diamond shape. Corresponds to ECMA-376 ST_ShapeType 'diamond'", + "Dodecagon shape. Corresponds to ECMA-376 ST_ShapeType 'dodecagon'", + "Donut shape. Corresponds to ECMA-376 ST_ShapeType 'donut'", + "Double wave shape. Corresponds to ECMA-376 ST_ShapeType 'doubleWave'", + "Down arrow shape. Corresponds to ECMA-376 ST_ShapeType 'downArrow'", + "Callout down arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'downArrowCallout'", + "Folded corner shape. Corresponds to ECMA-376 ST_ShapeType 'foldedCorner'", + "Frame shape. Corresponds to ECMA-376 ST_ShapeType 'frame'", + "Half frame shape. Corresponds to ECMA-376 ST_ShapeType 'halfFrame'", + "Heart shape. Corresponds to ECMA-376 ST_ShapeType 'heart'", + "Heptagon shape. Corresponds to ECMA-376 ST_ShapeType 'heptagon'", + "Hexagon shape. Corresponds to ECMA-376 ST_ShapeType 'hexagon'", + "Home plate shape. Corresponds to ECMA-376 ST_ShapeType 'homePlate'", + "Horizontal scroll shape. Corresponds to ECMA-376 ST_ShapeType\n'horizontalScroll'", + "Irregular seal 1 shape. Corresponds to ECMA-376 ST_ShapeType\n'irregularSeal1'", + "Irregular seal 2 shape. Corresponds to ECMA-376 ST_ShapeType\n'irregularSeal2'", + "Left arrow shape. Corresponds to ECMA-376 ST_ShapeType 'leftArrow'", + "Callout left arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'leftArrowCallout'", + "Left brace shape. Corresponds to ECMA-376 ST_ShapeType 'leftBrace'", + "Left bracket shape. Corresponds to ECMA-376 ST_ShapeType 'leftBracket'", + "Left right arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'leftRightArrow'", + "Callout left right arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'leftRightArrowCallout'", + "Left right up arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'leftRightUpArrow'", + "Left up arrow shape. Corresponds to ECMA-376 ST_ShapeType 'leftUpArrow'", + "Lightning bolt shape. Corresponds to ECMA-376 ST_ShapeType\n'lightningBolt'", + "Divide math shape. Corresponds to ECMA-376 ST_ShapeType 'mathDivide'", + "Equal math shape. Corresponds to ECMA-376 ST_ShapeType 'mathEqual'", + "Minus math shape. Corresponds to ECMA-376 ST_ShapeType 'mathMinus'", + "Multiply math shape. Corresponds to ECMA-376 ST_ShapeType 'mathMultiply'", + "Not equal math shape. Corresponds to ECMA-376 ST_ShapeType 'mathNotEqual'", + "Plus math shape. Corresponds to ECMA-376 ST_ShapeType 'mathPlus'", + "Moon shape. Corresponds to ECMA-376 ST_ShapeType 'moon'", + "No smoking shape. Corresponds to ECMA-376 ST_ShapeType 'noSmoking'", + "Notched right arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'notchedRightArrow'", + "Octagon shape. Corresponds to ECMA-376 ST_ShapeType 'octagon'", + "Parallelogram shape. Corresponds to ECMA-376 ST_ShapeType 'parallelogram'", + "Pentagon shape. Corresponds to ECMA-376 ST_ShapeType 'pentagon'", + "Pie shape. Corresponds to ECMA-376 ST_ShapeType 'pie'", + "Plaque shape. Corresponds to ECMA-376 ST_ShapeType 'plaque'", + "Plus shape. Corresponds to ECMA-376 ST_ShapeType 'plus'", + "Quad-arrow shape. Corresponds to ECMA-376 ST_ShapeType 'quadArrow'", + "Callout quad-arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'quadArrowCallout'", + "Ribbon shape. Corresponds to ECMA-376 ST_ShapeType 'ribbon'", + "Ribbon 2 shape. Corresponds to ECMA-376 ST_ShapeType 'ribbon2'", + "Right arrow shape. Corresponds to ECMA-376 ST_ShapeType 'rightArrow'", + "Callout right arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'rightArrowCallout'", + "Right brace shape. Corresponds to ECMA-376 ST_ShapeType 'rightBrace'", + "Right bracket shape. Corresponds to ECMA-376 ST_ShapeType 'rightBracket'", + "One round corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType\n'round1Rect'", + "Two diagonal round corner rectangle shape. Corresponds to ECMA-376\nST_ShapeType 'round2DiagRect'", + "Two same-side round corner rectangle shape. Corresponds to ECMA-376\nST_ShapeType 'round2SameRect'", + "Right triangle shape. Corresponds to ECMA-376 ST_ShapeType 'rtTriangle'", + "Smiley face shape. Corresponds to ECMA-376 ST_ShapeType 'smileyFace'", + "One snip corner rectangle shape. Corresponds to ECMA-376 ST_ShapeType\n'snip1Rect'", + "Two diagonal snip corner rectangle shape. Corresponds to ECMA-376\nST_ShapeType 'snip2DiagRect'", + "Two same-side snip corner rectangle shape. Corresponds to ECMA-376\nST_ShapeType 'snip2SameRect'", + "One snip one round corner rectangle shape. Corresponds to ECMA-376\nST_ShapeType 'snipRoundRect'", + "Ten pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star10'", + "Twelve pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star12'", + "Sixteen pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star16'", + "Twenty four pointed star shape. Corresponds to ECMA-376 ST_ShapeType\n'star24'", + "Thirty two pointed star shape. Corresponds to ECMA-376 ST_ShapeType\n'star32'", + "Four pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star4'", + "Five pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star5'", + "Six pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star6'", + "Seven pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star7'", + "Eight pointed star shape. Corresponds to ECMA-376 ST_ShapeType 'star8'", + "Striped right arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'stripedRightArrow'", + "Sun shape. Corresponds to ECMA-376 ST_ShapeType 'sun'", + "Trapezoid shape. Corresponds to ECMA-376 ST_ShapeType 'trapezoid'", + "Triangle shape. Corresponds to ECMA-376 ST_ShapeType 'triangle'", + "Up arrow shape. Corresponds to ECMA-376 ST_ShapeType 'upArrow'", + "Callout up arrow shape. Corresponds to ECMA-376 ST_ShapeType\n'upArrowCallout'", + "Up down arrow shape. Corresponds to ECMA-376 ST_ShapeType 'upDownArrow'", + "U-turn arrow shape. Corresponds to ECMA-376 ST_ShapeType 'uturnArrow'", + "Vertical scroll shape. Corresponds to ECMA-376 ST_ShapeType\n'verticalScroll'", + "Wave shape. Corresponds to ECMA-376 ST_ShapeType 'wave'", + "Callout wedge ellipse shape. Corresponds to ECMA-376 ST_ShapeType\n'wedgeEllipseCallout'", + "Callout wedge rectangle shape. Corresponds to ECMA-376 ST_ShapeType\n'wedgeRectCallout'", + "Callout wedge round rectangle shape. Corresponds to ECMA-376 ST_ShapeType\n'wedgeRoundRectCallout'", + "Alternate process flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartAlternateProcess'", + "Collate flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartCollate'", + "Connector flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartConnector'", + "Decision flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartDecision'", + "Delay flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartDelay'", + "Display flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartDisplay'", + "Document flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartDocument'", + "Extract flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartExtract'", + "Input output flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartInputOutput'", + "Internal storage flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartInternalStorage'", + "Magnetic disk flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartMagneticDisk'", + "Magnetic drum flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartMagneticDrum'", + "Magnetic tape flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartMagneticTape'", + "Manual input flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartManualInput'", + "Manual operation flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartManualOperation'", + "Merge flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartMerge'", + "Multi-document flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartMultidocument'", + "Offline storage flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartOfflineStorage'", + "Off-page connector flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartOffpageConnector'", + "Online storage flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartOnlineStorage'", + "Or flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartOr'", + "Predefined process flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartPredefinedProcess'", + "Preparation flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartPreparation'", + "Process flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartProcess'", + "Punched card flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartPunchedCard'", + "Punched tape flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartPunchedTape'", + "Sort flow shape. Corresponds to ECMA-376 ST_ShapeType 'flowChartSort'", + "Summing junction flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartSummingJunction'", + "Terminator flow shape. Corresponds to ECMA-376 ST_ShapeType\n'flowChartTerminator'", + "East arrow shape.", + "Northeast arrow shape.", + "North arrow shape.", + "Speech shape.", + "Star burst shape.", + "Teardrop shape. Corresponds to ECMA-376 ST_ShapeType 'teardrop'", + "Ellipse ribbon shape. Corresponds to ECMA-376 ST_ShapeType\n'ellipseRibbon'", + "Ellipse ribbon 2 shape. Corresponds to ECMA-376 ST_ShapeType\n'ellipseRibbon2'", + "Callout cloud shape. Corresponds to ECMA-376 ST_ShapeType 'cloudCallout'", + "Custom shape." + ], + "enum": [ + "TYPE_UNSPECIFIED", + "TEXT_BOX", + "RECTANGLE", + "ROUND_RECTANGLE", + "ELLIPSE", + "ARC", + "BENT_ARROW", + "BENT_UP_ARROW", + "BEVEL", + "BLOCK_ARC", + "BRACE_PAIR", + "BRACKET_PAIR", + "CAN", + "CHEVRON", + "CHORD", + "CLOUD", + "CORNER", + "CUBE", + "CURVED_DOWN_ARROW", + "CURVED_LEFT_ARROW", + "CURVED_RIGHT_ARROW", + "CURVED_UP_ARROW", + "DECAGON", + "DIAGONAL_STRIPE", + "DIAMOND", + "DODECAGON", + "DONUT", + "DOUBLE_WAVE", + "DOWN_ARROW", + "DOWN_ARROW_CALLOUT", + "FOLDED_CORNER", + "FRAME", + "HALF_FRAME", + "HEART", + "HEPTAGON", + "HEXAGON", + "HOME_PLATE", + "HORIZONTAL_SCROLL", + "IRREGULAR_SEAL_1", + "IRREGULAR_SEAL_2", + "LEFT_ARROW", + "LEFT_ARROW_CALLOUT", + "LEFT_BRACE", + "LEFT_BRACKET", + "LEFT_RIGHT_ARROW", + "LEFT_RIGHT_ARROW_CALLOUT", + "LEFT_RIGHT_UP_ARROW", + "LEFT_UP_ARROW", + "LIGHTNING_BOLT", + "MATH_DIVIDE", + "MATH_EQUAL", + "MATH_MINUS", + "MATH_MULTIPLY", + "MATH_NOT_EQUAL", + "MATH_PLUS", + "MOON", + "NO_SMOKING", + "NOTCHED_RIGHT_ARROW", + "OCTAGON", + "PARALLELOGRAM", + "PENTAGON", + "PIE", + "PLAQUE", + "PLUS", + "QUAD_ARROW", + "QUAD_ARROW_CALLOUT", + "RIBBON", + "RIBBON_2", + "RIGHT_ARROW", + "RIGHT_ARROW_CALLOUT", + "RIGHT_BRACE", + "RIGHT_BRACKET", + "ROUND_1_RECTANGLE", + "ROUND_2_DIAGONAL_RECTANGLE", + "ROUND_2_SAME_RECTANGLE", + "RIGHT_TRIANGLE", + "SMILEY_FACE", + "SNIP_1_RECTANGLE", + "SNIP_2_DIAGONAL_RECTANGLE", + "SNIP_2_SAME_RECTANGLE", + "SNIP_ROUND_RECTANGLE", + "STAR_10", + "STAR_12", + "STAR_16", + "STAR_24", + "STAR_32", + "STAR_4", + "STAR_5", + "STAR_6", + "STAR_7", + "STAR_8", + "STRIPED_RIGHT_ARROW", + "SUN", + "TRAPEZOID", + "TRIANGLE", + "UP_ARROW", + "UP_ARROW_CALLOUT", + "UP_DOWN_ARROW", + "UTURN_ARROW", + "VERTICAL_SCROLL", + "WAVE", + "WEDGE_ELLIPSE_CALLOUT", + "WEDGE_RECTANGLE_CALLOUT", + "WEDGE_ROUND_RECTANGLE_CALLOUT", + "FLOW_CHART_ALTERNATE_PROCESS", + "FLOW_CHART_COLLATE", + "FLOW_CHART_CONNECTOR", + "FLOW_CHART_DECISION", + "FLOW_CHART_DELAY", + "FLOW_CHART_DISPLAY", + "FLOW_CHART_DOCUMENT", + "FLOW_CHART_EXTRACT", + "FLOW_CHART_INPUT_OUTPUT", + "FLOW_CHART_INTERNAL_STORAGE", + "FLOW_CHART_MAGNETIC_DISK", + "FLOW_CHART_MAGNETIC_DRUM", + "FLOW_CHART_MAGNETIC_TAPE", + "FLOW_CHART_MANUAL_INPUT", + "FLOW_CHART_MANUAL_OPERATION", + "FLOW_CHART_MERGE", + "FLOW_CHART_MULTIDOCUMENT", + "FLOW_CHART_OFFLINE_STORAGE", + "FLOW_CHART_OFFPAGE_CONNECTOR", + "FLOW_CHART_ONLINE_STORAGE", + "FLOW_CHART_OR", + "FLOW_CHART_PREDEFINED_PROCESS", + "FLOW_CHART_PREPARATION", + "FLOW_CHART_PROCESS", + "FLOW_CHART_PUNCHED_CARD", + "FLOW_CHART_PUNCHED_TAPE", + "FLOW_CHART_SORT", + "FLOW_CHART_SUMMING_JUNCTION", + "FLOW_CHART_TERMINATOR", + "ARROW_EAST", + "ARROW_NORTH_EAST", + "ARROW_NORTH", + "SPEECH", + "STARBURST", + "TEARDROP", + "ELLIPSE_RIBBON", + "ELLIPSE_RIBBON_2", + "CLOUD_CALLOUT", + "CUSTOM" + ] + }, + "objectId": { + "description": "A user-supplied object ID.\n\nIf you specify an ID, it must be unique among all pages and page elements\nin the presentation. The ID must start with an alphanumeric character or an\nunderscore (matches regex `[a-zA-Z0-9_]`); remaining characters\nmay include those as well as a hyphen or colon (matches regex\n`[a-zA-Z0-9_-:]`).\nThe length of the ID must not be less than 5 or greater than 50.\nIf empty, a unique identifier will be generated.", + "type": "string" + }, + "elementProperties": { + "$ref": "PageElementProperties", + "description": "The element properties for the shape." + } + }, + "id": "CreateShapeRequest", + "description": "Creates a new shape." + }, + "Video": { + "properties": { + "source": { + "type": "string", + "enumDescriptions": [ + "The video source is unspecified.", + "The video source is YouTube." + ], + "enum": [ + "SOURCE_UNSPECIFIED", + "YOUTUBE" + ], + "description": "The video source." + }, + "id": { + "description": "The video source's unique identifier for this video.", + "type": "string" + }, + "url": { + "description": "An URL to a video. The URL is valid as long as the source video\nexists and sharing settings do not change.", + "type": "string" + }, + "videoProperties": { + "$ref": "VideoProperties", + "description": "The properties of the video." + } + }, + "id": "Video", + "description": "A PageElement kind representing a\nvideo.", + "type": "object" + }, + "PageProperties": { + "properties": { + "pageBackgroundFill": { + "$ref": "PageBackgroundFill", + "description": "The background fill of the page. If unset, the background fill is inherited\nfrom a parent page if it exists. If the page has no parent, then the\nbackground fill defaults to the corresponding fill in the Slides editor." + }, + "colorScheme": { + "$ref": "ColorScheme", + "description": "The color scheme of the page. If unset, the color scheme is inherited from\na parent page. If the page has no parent, the color scheme uses a default\nSlides color scheme. This field is read-only." + } + }, + "id": "PageProperties", + "description": "The properties of the Page.\n\nThe page will inherit properties from the parent page. Depending on the page\ntype the hierarchy is defined in either\nSlideProperties or\nLayoutProperties.", + "type": "object" + }, + "TableCell": { + "id": "TableCell", + "description": "Properties and contents of each table cell.", + "type": "object", + "properties": { + "rowSpan": { + "format": "int32", + "description": "Row span of the cell.", + "type": "integer" + }, + "location": { + "description": "The location of the cell within the table.", + "$ref": "TableCellLocation" + }, + "columnSpan": { + "format": "int32", + "description": "Column span of the cell.", + "type": "integer" + }, + "text": { + "$ref": "TextContent", + "description": "The text content of the cell." + }, + "tableCellProperties": { + "$ref": "TableCellProperties", + "description": "The properties of the table cell." + } + } + }, + "NestingLevel": { + "description": "Contains properties describing the look and feel of a list bullet at a given\nlevel of nesting.", + "type": "object", + "properties": { + "bulletStyle": { + "$ref": "TextStyle", + "description": "The style of a bullet at this level of nesting." + } + }, + "id": "NestingLevel" + }, + "UpdateLinePropertiesRequest": { + "properties": { + "lineProperties": { + "$ref": "LineProperties", + "description": "The line properties to update." + }, + "fields": { + "format": "google-fieldmask", + "description": "The fields that should be updated.\n\nAt least one field must be specified. The root `lineProperties` is\nimplied and should not be specified. A single `\"*\"` can be used as\nshort-hand for listing every field.\n\nFor example to update the line solid fill color, set `fields` to\n`\"lineFill.solidFill.color\"`.\n\nTo reset a property to its default value, include its field name in the\nfield mask but leave the field itself unset.", + "type": "string" + }, + "objectId": { + "type": "string", + "description": "The object ID of the line the update is applied to." + } + }, + "id": "UpdateLinePropertiesRequest", + "description": "Updates the properties of a Line.", + "type": "object" + }, + "TableCellBackgroundFill": { + "description": "The table cell background fill.", + "type": "object", + "properties": { + "solidFill": { + "description": "Solid color fill.", + "$ref": "SolidFill" + }, + "propertyState": { + "description": "The background fill property state.\n\nUpdating the the fill on a table cell will implicitly update this field\nto `RENDERED`, unless another value is specified in the same request. To\nhave no fill on a table cell, set this field to `NOT_RENDERED`. In this\ncase, any other fill fields set in the same request will be ignored.", + "type": "string", + "enumDescriptions": [ + "If a property's state is RENDERED, then the element has the corresponding\nproperty when rendered on a page. If the element is a placeholder shape as\ndetermined by the placeholder\nfield, and it inherits from a placeholder shape, the corresponding field\nmay be unset, meaning that the property value is inherited from a parent\nplaceholder. If the element does not inherit, then the field will contain\nthe rendered value. This is the default value.", + "If a property's state is NOT_RENDERED, then the element does not have the\ncorresponding property when rendered on a page. However, the field may\nstill be set so it can be inherited by child shapes. To remove a property\nfrom a rendered element, set its property_state to NOT_RENDERED.", + "If a property's state is INHERIT, then the property state uses the value of\ncorresponding `property_state` field on the parent shape. Elements that do\nnot inherit will never have an INHERIT property state." + ], + "enum": [ + "RENDERED", + "NOT_RENDERED", + "INHERIT" + ] + } + }, + "id": "TableCellBackgroundFill" + }, + "UpdateSlidesPositionRequest": { + "description": "Updates the position of slides in the presentation.", + "type": "object", + "properties": { + "slideObjectIds": { + "description": "The IDs of the slides in the presentation that should be moved.\nThe slides in this list must be in existing presentation order, without\nduplicates.", + "items": { + "type": "string" + }, + "type": "array" + }, + "insertionIndex": { + "format": "int32", + "description": "The index where the slides should be inserted, based on the slide\narrangement before the move takes place. Must be between zero and the\nnumber of slides in the presentation, inclusive.", + "type": "integer" + } + }, + "id": "UpdateSlidesPositionRequest" + }, + "UpdatePagePropertiesRequest": { + "description": "Updates the properties of a Page.", + "type": "object", + "properties": { + "pageProperties": { + "$ref": "PageProperties", + "description": "The page properties to update." + }, + "objectId": { + "description": "The object ID of the page the update is applied to.", + "type": "string" + }, + "fields": { + "format": "google-fieldmask", + "description": "The fields that should be updated.\n\nAt least one field must be specified. The root `pageProperties` is\nimplied and should not be specified. A single `\"*\"` can be used as\nshort-hand for listing every field.\n\nFor example to update the page background solid fill color, set `fields`\nto `\"pageBackgroundFill.solidFill.color\"`.\n\nTo reset a property to its default value, include its field name in the\nfield mask but leave the field itself unset.", + "type": "string" + } + }, + "id": "UpdatePagePropertiesRequest" + }, + "Group": { + "description": "A PageElement kind representing a\njoined collection of PageElements.", + "type": "object", + "properties": { + "children": { + "description": "The collection of elements in the group. The minimum size of a group is 2.", + "items": { + "$ref": "PageElement" + }, + "type": "array" + } + }, + "id": "Group" + }, + "Placeholder": { + "description": "The placeholder information that uniquely identifies a placeholder shape.", + "type": "object", + "properties": { + "parentObjectId": { + "description": "The object ID of this shape's parent placeholder.\nIf unset, the parent placeholder shape does not exist, so the shape does\nnot inherit properties from any other shape.", + "type": "string" + }, + "index": { + "format": "int32", + "description": "The index of the placeholder. If the same placeholder types are present in\nthe same page, they would have different index values.", + "type": "integer" + }, + "type": { + "description": "The type of the placeholder.", + "type": "string", + "enumDescriptions": [ + "Default value, signifies it is not a placeholder.", + "Body text.", + "Chart or graph.", + "Clip art image.", + "Title centered.", + "Diagram.", + "Date and time.", + "Footer text.", + "Header text.", + "Multimedia.", + "Any content type.", + "Picture.", + "Number of a slide.", + "Subtitle.", + "Table.", + "Slide title.", + "Slide image." + ], + "enum": [ + "NONE", + "BODY", + "CHART", + "CLIP_ART", + "CENTERED_TITLE", + "DIAGRAM", + "DATE_AND_TIME", + "FOOTER", + "HEADER", + "MEDIA", + "OBJECT", + "PICTURE", + "SLIDE_NUMBER", + "SUBTITLE", + "TABLE", + "TITLE", + "SLIDE_IMAGE" + ] + } + }, + "id": "Placeholder" + }, + "DuplicateObjectRequest": { + "description": "Duplicates a slide or page element.\n\nWhen duplicating a slide, the duplicate slide will be created immediately\nfollowing the specified slide. When duplicating a page element, the duplicate\nwill be placed on the same page at the same position as the original.", + "type": "object", + "properties": { + "objectId": { + "description": "The ID of the object to duplicate.", + "type": "string" + }, + "objectIds": { + "description": "The object being duplicated may contain other objects, for example when\nduplicating a slide or a group page element. This map defines how the IDs\nof duplicated objects are generated: the keys are the IDs of the original\nobjects and its values are the IDs that will be assigned to the\ncorresponding duplicate object. The ID of the source object's duplicate\nmay be specified in this map as well, using the same value of the\n`object_id` field as a key and the newly desired ID as the value.\n\nAll keys must correspond to existing IDs in the presentation. All values\nmust be unique in the presentation and must start with an alphanumeric\ncharacter or an underscore (matches regex `[a-zA-Z0-9_]`); remaining\ncharacters may include those as well as a hyphen or colon (matches regex\n`[a-zA-Z0-9_-:]`). The length of the new ID must not be less than 5 or\ngreater than 50.\n\nIf any IDs of source objects are omitted from the map, a new random ID will\nbe assigned. If the map is empty or unset, all duplicate objects will\nreceive a new random ID.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "id": "DuplicateObjectRequest" + }, + "ReplaceAllTextRequest": { + "description": "Replaces all instances of text matching a criteria with replace text.", + "type": "object", + "properties": { + "containsText": { + "description": "Finds text in a shape matching this substring.", + "$ref": "SubstringMatchCriteria" + }, + "pageObjectIds": { + "items": { + "type": "string" + }, + "type": "array", + "description": "If non-empty, limits the matches to page elements only on the given pages.\n\nReturns a 400 bad request error if given the page object ID of a\nnotes master,\nor if a page with that object ID doesn't exist in the presentation." + }, + "replaceText": { + "description": "The text that will replace the matched text.", + "type": "string" + } + }, + "id": "ReplaceAllTextRequest" + }, + "Page": { + "description": "A page in a presentation.", + "type": "object", + "properties": { + "revisionId": { + "type": "string", + "description": "The revision ID of the presentation containing this page. Can be used in\nupdate requests to assert that the presentation revision hasn't changed\nsince the last read operation. Only populated if the user has edit access\nto the presentation.\n\nThe format of the revision ID may change over time, so it should be treated\nopaquely. A returned revision ID is only guaranteed to be valid for 24\nhours after it has been returned and cannot be shared across users. If the\nrevision ID is unchanged between calls, then the presentation has not\nchanged. Conversely, a changed ID (for the same presentation and user)\nusually means the presentation has been updated; however, a changed ID can\nalso be due to internal factors such as ID format changes." + }, + "layoutProperties": { + "description": "Layout specific properties. Only set if page_type = LAYOUT.", + "$ref": "LayoutProperties" + }, + "pageElements": { + "description": "The page elements rendered on the page.", + "items": { + "$ref": "PageElement" + }, + "type": "array" + }, + "pageType": { + "enum": [ + "SLIDE", + "MASTER", + "LAYOUT", + "NOTES", + "NOTES_MASTER" + ], + "description": "The type of the page.", + "type": "string", + "enumDescriptions": [ + "A slide page.", + "A master slide page.", + "A layout page.", + "A notes page.", + "A notes master page." + ] + }, + "notesProperties": { + "$ref": "NotesProperties", + "description": "Notes specific properties. Only set if page_type = NOTES." + }, + "pageProperties": { + "description": "The properties of the page.", + "$ref": "PageProperties" + }, + "slideProperties": { + "$ref": "SlideProperties", + "description": "Slide specific properties. Only set if page_type = SLIDE." + }, + "masterProperties": { + "$ref": "MasterProperties", + "description": "Master specific properties. Only set if page_type = MASTER." + }, + "objectId": { + "description": "The object ID for this page. Object IDs used by\nPage and\nPageElement share the same namespace.", + "type": "string" + } + }, + "id": "Page" + }, + "ShapeBackgroundFill": { + "id": "ShapeBackgroundFill", + "description": "The shape background fill.", + "type": "object", + "properties": { + "propertyState": { + "enumDescriptions": [ + "If a property's state is RENDERED, then the element has the corresponding\nproperty when rendered on a page. If the element is a placeholder shape as\ndetermined by the placeholder\nfield, and it inherits from a placeholder shape, the corresponding field\nmay be unset, meaning that the property value is inherited from a parent\nplaceholder. If the element does not inherit, then the field will contain\nthe rendered value. This is the default value.", + "If a property's state is NOT_RENDERED, then the element does not have the\ncorresponding property when rendered on a page. However, the field may\nstill be set so it can be inherited by child shapes. To remove a property\nfrom a rendered element, set its property_state to NOT_RENDERED.", + "If a property's state is INHERIT, then the property state uses the value of\ncorresponding `property_state` field on the parent shape. Elements that do\nnot inherit will never have an INHERIT property state." + ], + "enum": [ + "RENDERED", + "NOT_RENDERED", + "INHERIT" + ], + "description": "The background fill property state.\n\nUpdating the the fill on a shape will implicitly update this field to\n`RENDERED`, unless another value is specified in the same request. To\nhave no fill on a shape, set this field to `NOT_RENDERED`. In this case,\nany other fill fields set in the same request will be ignored.", + "type": "string" + }, + "solidFill": { + "$ref": "SolidFill", + "description": "Solid color fill." + } + } + }, + "CropProperties": { + "description": "The crop properties of an object enclosed in a container. For example, an\nImage.\n\nThe crop properties is represented by the offsets of four edges which define\na crop rectangle. The offsets are measured in percentage from the\ncorresponding edges of the object's original bounding rectangle towards\ninside, relative to the object's original dimensions.\n\n- If the offset is in the interval (0, 1), the corresponding edge of crop\nrectangle is positioned inside of the object's original bounding rectangle.\n- If the offset is negative or greater than 1, the corresponding edge of crop\nrectangle is positioned outside of the object's original bounding rectangle.\n- If the left edge of the crop rectangle is on the right side of its right\nedge, the object will be flipped horizontally.\n- If the top edge of the crop rectangle is below its bottom edge, the object\nwill be flipped vertically.\n- If all offsets and rotation angle is 0, the object is not cropped.\n\nAfter cropping, the content in the crop rectangle will be stretched to fit\nits container.", + "type": "object", + "properties": { + "bottomOffset": { + "format": "float", + "description": "The offset specifies the bottom edge of the crop rectangle that is located\nabove the original bounding rectangle bottom edge, relative to the object's\noriginal height.", + "type": "number" + }, + "angle": { + "format": "float", + "description": "The rotation angle of the crop window around its center, in radians.\nRotation angle is applied after the offset.", + "type": "number" + }, + "topOffset": { + "format": "float", + "description": "The offset specifies the top edge of the crop rectangle that is located\nbelow the original bounding rectangle top edge, relative to the object's\noriginal height.", + "type": "number" + }, + "leftOffset": { + "format": "float", + "description": "The offset specifies the left edge of the crop rectangle that is located to\nthe right of the original bounding rectangle left edge, relative to the\nobject's original width.", + "type": "number" + }, + "rightOffset": { + "format": "float", + "description": "The offset specifies the right edge of the crop rectangle that is located\nto the left of the original bounding rectangle right edge, relative to the\nobject's original width.", + "type": "number" + } + }, + "id": "CropProperties" + }, + "ReplaceAllShapesWithSheetsChartRequest": { + "type": "object", + "properties": { + "linkingMode": { + "type": "string", + "enumDescriptions": [ + "The chart is not associated with the source spreadsheet and cannot be\nupdated. A chart that is not linked will be inserted as an image.", + "Linking the chart allows it to be updated, and other collaborators will\nsee a link to the spreadsheet." + ], + "enum": [ + "NOT_LINKED_IMAGE", + "LINKED" + ], + "description": "The mode with which the chart is linked to the source spreadsheet. When\nnot specified, the chart will be an image that is not linked." + }, + "spreadsheetId": { + "description": "The ID of the Google Sheets spreadsheet that contains the chart.", + "type": "string" + }, + "pageObjectIds": { + "description": "If non-empty, limits the matches to page elements only on the given pages.\n\nReturns a 400 bad request error if given the page object ID of a\nnotes page or a\nnotes master, or if a\npage with that object ID doesn't exist in the presentation.", + "items": { + "type": "string" + }, + "type": "array" + }, + "chartId": { + "format": "int32", + "description": "The ID of the specific chart in the Google Sheets spreadsheet.", + "type": "integer" + }, + "containsText": { + "$ref": "SubstringMatchCriteria", + "description": "The criteria that the shapes must match in order to be replaced. The\nrequest will replace all of the shapes that contain the given text." + } + }, + "id": "ReplaceAllShapesWithSheetsChartRequest", + "description": "Replaces all shapes that match the given criteria with the provided Google\nSheets chart. The chart will be scaled and centered to fit within the bounds\nof the original shape.\n\nNOTE: Replacing shapes with a chart requires at least one of the\nspreadsheets.readonly, spreadsheets, drive.readonly, or drive OAuth scopes." + }, + "ColorStop": { + "description": "A color and position in a gradient band.", + "type": "object", + "properties": { + "position": { + "format": "float", + "description": "The relative position of the color stop in the gradient band measured\nin percentage. The value should be in the interval [0.0, 1.0].", + "type": "number" + }, + "alpha": { + "type": "number", + "format": "float", + "description": "The alpha value of this color in the gradient band. Defaults to 1.0,\nfully opaque." + }, + "color": { + "description": "The color of the gradient stop.", + "$ref": "OpaqueColor" + } + }, + "id": "ColorStop" + }, + "Range": { + "description": "Specifies a contiguous range of an indexed collection, such as characters in\ntext.", + "type": "object", + "properties": { + "endIndex": { + "type": "integer", + "format": "int32", + "description": "The optional zero-based index of the end of the collection.\nRequired for `FIXED_RANGE` ranges." + }, + "startIndex": { + "format": "int32", + "description": "The optional zero-based index of the beginning of the collection.\nRequired for `FIXED_RANGE` and `FROM_START_INDEX` ranges.", + "type": "integer" + }, + "type": { + "enum": [ + "RANGE_TYPE_UNSPECIFIED", + "FIXED_RANGE", + "FROM_START_INDEX", + "ALL" + ], + "description": "The type of range.", + "type": "string", + "enumDescriptions": [ + "Unspecified range type. This value must not be used.", + "A fixed range. Both the `start_index` and\n`end_index` must be specified.", + "Starts the range at `start_index` and continues until the\nend of the collection. The `end_index` must not be specified.", + "Sets the range to be the whole length of the collection. Both the\n`start_index` and the `end_index` must not be\nspecified." + ] + } + }, + "id": "Range" + }, + "CreateVideoRequest": { + "description": "Creates a video.", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The video source's unique identifier for this video.\n\ne.g. For YouTube video https://www.youtube.com/watch?v=7U3axjORYZ0,\nthe ID is 7U3axjORYZ0." + }, + "source": { + "enumDescriptions": [ + "The video source is unspecified.", + "The video source is YouTube." + ], + "enum": [ + "SOURCE_UNSPECIFIED", + "YOUTUBE" + ], + "description": "The video source.", + "type": "string" + }, + "objectId": { + "description": "A user-supplied object ID.\n\nIf you specify an ID, it must be unique among all pages and page elements\nin the presentation. The ID must start with an alphanumeric character or an\nunderscore (matches regex `[a-zA-Z0-9_]`); remaining characters\nmay include those as well as a hyphen or colon (matches regex\n`[a-zA-Z0-9_-:]`).\nThe length of the ID must not be less than 5 or greater than 50.\n\nIf you don't specify an ID, a unique one is generated.", + "type": "string" + }, + "elementProperties": { + "$ref": "PageElementProperties", + "description": "The element properties for the video." + } + }, + "id": "CreateVideoRequest" + }, + "DuplicateObjectResponse": { + "type": "object", + "properties": { + "objectId": { + "type": "string", + "description": "The ID of the new duplicate object." + } + }, + "id": "DuplicateObjectResponse", + "description": "The response of duplicating an object." + }, + "ReplaceAllShapesWithImageRequest": { + "description": "Replaces all shapes that match the given criteria with the provided image.", + "type": "object", + "properties": { + "imageUrl": { + "description": "The image URL.\n\nThe image is fetched once at insertion time and a copy is stored for\ndisplay inside the presentation. Images must be less than 50MB in size,\ncannot exceed 25 megapixels, and must be in either in PNG, JPEG, or GIF\nformat.\n\nThe provided URL can be at maximum 2K bytes large.", + "type": "string" + }, + "replaceMethod": { + "enum": [ + "CENTER_INSIDE", + "CENTER_CROP" + ], + "description": "The replace method.", + "type": "string", + "enumDescriptions": [ + "Scales and centers the image to fit within the bounds of the original\nshape and maintains the image's aspect ratio. The rendered size of the\nimage may be smaller than the size of the shape. This is the default\nmethod when one is not specified.", + "Scales and centers the image to fill the bounds of the original shape.\nThe image may be cropped in order to fill the shape. The rendered size of\nthe image will be the same as that of the original shape." + ] + }, + "pageObjectIds": { + "description": "If non-empty, limits the matches to page elements only on the given pages.\n\nReturns a 400 bad request error if given the page object ID of a\nnotes page or a\nnotes master, or if a\npage with that object ID doesn't exist in the presentation.", + "items": { + "type": "string" + }, + "type": "array" + }, + "containsText": { + "description": "If set, this request will replace all of the shapes that contain the\ngiven text.", + "$ref": "SubstringMatchCriteria" + } + }, + "id": "ReplaceAllShapesWithImageRequest" + }, + "Shadow": { + "description": "The shadow properties of a page element.\n\nIf these fields are unset, they may be inherited from a parent placeholder\nif it exists. If there is no parent, the fields will default to the value\nused for new page elements created in the Slides editor, which may depend on\nthe page element kind.", + "type": "object", + "properties": { + "rotateWithShape": { + "type": "boolean", + "description": "Whether the shadow should rotate with the shape." + }, + "propertyState": { + "type": "string", + "enumDescriptions": [ + "If a property's state is RENDERED, then the element has the corresponding\nproperty when rendered on a page. If the element is a placeholder shape as\ndetermined by the placeholder\nfield, and it inherits from a placeholder shape, the corresponding field\nmay be unset, meaning that the property value is inherited from a parent\nplaceholder. If the element does not inherit, then the field will contain\nthe rendered value. This is the default value.", + "If a property's state is NOT_RENDERED, then the element does not have the\ncorresponding property when rendered on a page. However, the field may\nstill be set so it can be inherited by child shapes. To remove a property\nfrom a rendered element, set its property_state to NOT_RENDERED.", + "If a property's state is INHERIT, then the property state uses the value of\ncorresponding `property_state` field on the parent shape. Elements that do\nnot inherit will never have an INHERIT property state." + ], + "enum": [ + "RENDERED", + "NOT_RENDERED", + "INHERIT" + ], + "description": "The shadow property state.\n\nUpdating the the shadow on a page element will implicitly update this field\nto `RENDERED`, unless another value is specified in the same request. To\nhave no shadow on a page element, set this field to `NOT_RENDERED`. In this\ncase, any other shadow fields set in the same request will be ignored." + }, + "blurRadius": { + "$ref": "Dimension", + "description": "The radius of the shadow blur. The larger the radius, the more diffuse the\nshadow becomes." + }, + "transform": { + "$ref": "AffineTransform", + "description": "Transform that encodes the translate, scale, and skew of the shadow,\nrelative to the alignment position." + }, + "type": { + "type": "string", + "enumDescriptions": [ + "Unspecified shadow type.", + "Outer shadow." + ], + "enum": [ + "SHADOW_TYPE_UNSPECIFIED", + "OUTER" + ], + "description": "The type of the shadow." + }, + "alignment": { + "enum": [ + "RECTANGLE_POSITION_UNSPECIFIED", + "TOP_LEFT", + "TOP_CENTER", + "TOP_RIGHT", + "LEFT_CENTER", + "CENTER", + "RIGHT_CENTER", + "BOTTOM_LEFT", + "BOTTOM_CENTER", + "BOTTOM_RIGHT" + ], + "description": "The alignment point of the shadow, that sets the origin for translate,\nscale and skew of the shadow.", + "type": "string", + "enumDescriptions": [ + "Unspecified.", + "Top left.", + "Top center.", + "Top right.", + "Left center.", + "Center.", + "Right center.", + "Bottom left.", + "Bottom center.", + "Bottom right." + ] + }, + "alpha": { + "format": "float", + "description": "The alpha of the shadow's color, from 0.0 to 1.0.", + "type": "number" + }, + "color": { + "$ref": "OpaqueColor", + "description": "The shadow color value." + } + }, + "id": "Shadow" + }, + "DeleteTableRowRequest": { + "type": "object", + "properties": { + "cellLocation": { + "$ref": "TableCellLocation", + "description": "The reference table cell location from which a row will be deleted.\n\nThe row this cell spans will be deleted. If this is a merged cell, multiple\nrows will be deleted. If no rows remain in the table after this deletion,\nthe whole table is deleted." + }, + "tableObjectId": { + "description": "The table to delete rows from.", + "type": "string" + } + }, + "id": "DeleteTableRowRequest", + "description": "Deletes a row from a table." + }, + "Bullet": { + "description": "Describes the bullet of a paragraph.", + "type": "object", + "properties": { + "nestingLevel": { + "type": "integer", + "format": "int32", + "description": "The nesting level of this paragraph in the list." + }, + "bulletStyle": { + "$ref": "TextStyle", + "description": "The paragraph specific text style applied to this bullet." + }, + "listId": { + "description": "The ID of the list this paragraph belongs to.", + "type": "string" + }, + "glyph": { + "description": "The rendered bullet glyph for this paragraph.", + "type": "string" + } + }, + "id": "Bullet" + }, + "OutlineFill": { + "description": "The fill of the outline.", + "type": "object", + "properties": { + "solidFill": { + "$ref": "SolidFill", + "description": "Solid color fill." + } + }, + "id": "OutlineFill" + }, + "TableCellLocation": { + "description": "A location of a single table cell within a table.", + "type": "object", + "properties": { + "columnIndex": { + "format": "int32", + "description": "The 0-based column index.", + "type": "integer" + }, + "rowIndex": { + "type": "integer", + "format": "int32", + "description": "The 0-based row index." + } + }, + "id": "TableCellLocation" + }, + "CreateLineResponse": { + "description": "The result of creating a line.", + "type": "object", + "properties": { + "objectId": { + "description": "The object ID of the created line.", + "type": "string" + } + }, + "id": "CreateLineResponse" + }, + "ReplaceAllTextResponse": { + "description": "The result of replacing text.", + "type": "object", + "properties": { + "occurrencesChanged": { + "format": "int32", + "description": "The number of occurrences changed by replacing all text.", + "type": "integer" + } + }, + "id": "ReplaceAllTextResponse" + }, + "UpdateParagraphStyleRequest": { + "description": "Updates the styling for all of the paragraphs within a Shape or Table that\noverlap with the given text index range.", + "type": "object", + "properties": { + "style": { + "$ref": "ParagraphStyle", + "description": "The paragraph's style." + }, + "cellLocation": { + "$ref": "TableCellLocation", + "description": "The location of the cell in the table containing the paragraph(s) to\nstyle. If `object_id` refers to a table, `cell_location` must have a value.\nOtherwise, it must not." + }, + "fields": { + "type": "string", + "format": "google-fieldmask", + "description": "The fields that should be updated.\n\nAt least one field must be specified. The root `style` is implied and\nshould not be specified. A single `\"*\"` can be used as short-hand for\nlisting every field.\n\nFor example, to update the paragraph alignment, set `fields` to\n`\"alignment\"`.\n\nTo reset a property to its default value, include its field name in the\nfield mask but leave the field itself unset." + }, + "textRange": { + "$ref": "Range", + "description": "The range of text containing the paragraph(s) to style." + }, + "objectId": { + "description": "The object ID of the shape or table with the text to be styled.", + "type": "string" + } + }, + "id": "UpdateParagraphStyleRequest" + }, + "ColorScheme": { + "description": "The palette of predefined colors for a page.", + "type": "object", + "properties": { + "colors": { + "description": "The ThemeColorType and corresponding concrete color pairs.", + "items": { + "$ref": "ThemeColorPair" + }, + "type": "array" + } + }, + "id": "ColorScheme" + }, + "Shape": { + "description": "A PageElement kind representing a\ngeneric shape that does not have a more specific classification.", + "type": "object", + "properties": { + "placeholder": { + "$ref": "Placeholder", + "description": "Placeholders are shapes that are inherit from corresponding placeholders on\nlayouts and masters.\n\nIf set, the shape is a placeholder shape and any inherited properties\ncan be resolved by looking at the parent placeholder identified by the\nPlaceholder.parent_object_id field." + }, + "text": { + "description": "The text content of the shape.", + "$ref": "TextContent" + }, "shapeType": { "enumDescriptions": [ "The shape type that is not predefined.", @@ -3576,318 +1868,2038 @@ "CLOUD_CALLOUT", "CUSTOM" ], - "description": "The shape type.", + "description": "The type of the shape.", + "type": "string" + }, + "shapeProperties": { + "description": "The properties of the shape.", + "$ref": "ShapeProperties" + } + }, + "id": "Shape" + }, + "Image": { + "description": "A PageElement kind representing an\nimage.", + "type": "object", + "properties": { + "imageProperties": { + "$ref": "ImageProperties", + "description": "The properties of the image." + }, + "contentUrl": { + "type": "string", + "description": "An URL to an image with a default lifetime of 30 minutes.\nThis URL is tagged with the account of the requester. Anyone with the URL\neffectively accesses the image as the original requester. Access to the\nimage may be lost if the presentation's sharing settings change." + } + }, + "id": "Image" + }, + "AffineTransform": { + "description": "AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ]\nto transform source coordinates (x,y) into destination coordinates (x', y')\naccording to:\n\n x' x = shear_y scale_y translate_y \n 1 [ 1 ]\n\nAfter transformation,\n\n x' = scale_x * x + shear_x * y + translate_x;\n y' = scale_y * y + shear_y * x + translate_y;\n\nThis message is therefore composed of these six matrix elements.", + "type": "object", + "properties": { + "scaleY": { + "format": "double", + "description": "The Y coordinate scaling element.", + "type": "number" + }, + "translateY": { + "format": "double", + "description": "The Y coordinate translation element.", + "type": "number" + }, + "translateX": { + "format": "double", + "description": "The X coordinate translation element.", + "type": "number" + }, + "shearY": { + "format": "double", + "description": "The Y coordinate shearing element.", + "type": "number" + }, + "unit": { + "description": "The units for translate elements.", + "type": "string", + "enumDescriptions": [ + "The units are unknown.", + "An English Metric Unit (EMU) is defined as 1/360,000 of a centimeter\nand thus there are 914,400 EMUs per inch, and 12,700 EMUs per point.", + "A point, 1/72 of an inch." + ], + "enum": [ + "UNIT_UNSPECIFIED", + "EMU", + "PT" + ] + }, + "scaleX": { + "format": "double", + "description": "The X coordinate scaling element.", + "type": "number" + }, + "shearX": { + "format": "double", + "description": "The X coordinate shearing element.", + "type": "number" + } + }, + "id": "AffineTransform" + }, + "InsertTextRequest": { + "id": "InsertTextRequest", + "description": "Inserts text into a shape or a table cell.", + "type": "object", + "properties": { + "text": { + "description": "The text to be inserted.\n\nInserting a newline character will implicitly create a new\nParagraphMarker at that index.\nThe paragraph style of the new paragraph will be copied from the paragraph\nat the current insertion index, including lists and bullets.\n\nText styles for inserted text will be determined automatically, generally\npreserving the styling of neighboring text. In most cases, the text will be\nadded to the TextRun that exists at the\ninsertion index.\n\nSome control characters (U+0000-U+0008, U+000C-U+001F) and characters\nfrom the Unicode Basic Multilingual Plane Private Use Area (U+E000-U+F8FF)\nwill be stripped out of the inserted text.", "type": "string" }, "objectId": { - "description": "A user-supplied object ID.\n\nIf you specify an ID, it must be unique among all pages and page elements\nin the presentation. The ID must start with an alphanumeric character or an\nunderscore (matches regex `[a-zA-Z0-9_]`); remaining characters\nmay include those as well as a hyphen or colon (matches regex\n`[a-zA-Z0-9_-:]`).\nThe length of the ID must not be less than 5 or greater than 50.\nIf empty, a unique identifier will be generated.", + "description": "The object ID of the shape or table where the text will be inserted.", + "type": "string" + }, + "insertionIndex": { + "format": "int32", + "description": "The index where the text will be inserted, in Unicode code units, based\non TextElement indexes.\n\nThe index is zero-based and is computed from the start of the string.\nThe index may be adjusted to prevent insertions inside Unicode grapheme\nclusters. In these cases, the text will be inserted immediately after the\ngrapheme cluster.", + "type": "integer" + }, + "cellLocation": { + "$ref": "TableCellLocation", + "description": "The optional table cell location if the text is to be inserted into a table\ncell. If present, the object_id must refer to a table." + } + } + }, + "AutoText": { + "description": "A TextElement kind that represents auto text.", + "type": "object", + "properties": { + "content": { + "description": "The rendered content of this auto text, if available.", + "type": "string" + }, + "type": { + "description": "The type of this auto text.", + "type": "string", + "enumDescriptions": [ + "An unspecified autotext type.", + "Type for autotext that represents the current slide number." + ], + "enum": [ + "TYPE_UNSPECIFIED", + "SLIDE_NUMBER" + ] + }, + "style": { + "$ref": "TextStyle", + "description": "The styling applied to this auto text." + } + }, + "id": "AutoText" + }, + "CreateVideoResponse": { + "description": "The result of creating a video.", + "type": "object", + "properties": { + "objectId": { + "type": "string", + "description": "The object ID of the created video." + } + }, + "id": "CreateVideoResponse" + }, + "UpdatePageElementTransformRequest": { + "description": "Updates the transform of a page element.\n\nUpdating the transform of a group will change the absolute transform of the\npage elements in that group, which can change their visual appearance. See\nthe documentation for PageElement.transform for more details.", + "type": "object", + "properties": { + "transform": { + "description": "The input transform matrix used to update the page element.", + "$ref": "AffineTransform" + }, + "objectId": { + "description": "The object ID of the page element to update.", + "type": "string" + }, + "applyMode": { + "description": "The apply mode of the transform update.", + "type": "string", + "enumDescriptions": [ + "Unspecified mode.", + "Applies the new AffineTransform matrix to the existing one, and\nreplaces the existing one with the resulting concatenation.", + "Replaces the existing AffineTransform matrix with the new one." + ], + "enum": [ + "APPLY_MODE_UNSPECIFIED", + "RELATIVE", + "ABSOLUTE" + ] + } + }, + "id": "UpdatePageElementTransformRequest" + }, + "DeleteTextRequest": { + "description": "Deletes text from a shape or a table cell.", + "type": "object", + "properties": { + "textRange": { + "description": "The range of text to delete, based on TextElement indexes.\n\nThere is always an implicit newline character at the end of a shape's or\ntable cell's text that cannot be deleted. `Range.Type.ALL` will use the\ncorrect bounds, but care must be taken when specifying explicit bounds for\nrange types `FROM_START_INDEX` and `FIXED_RANGE`. For example, if the text\nis \"ABC\", followed by an implicit newline, then the maximum value is 2 for\n`text_range.start_index` and 3 for `text_range.end_index`.\n\nDeleting text that crosses a paragraph boundary may result in changes\nto paragraph styles and lists as the two paragraphs are merged.\n\nRanges that include only one code unit of a surrogate pair are expanded to\ninclude both code units.", + "$ref": "Range" + }, + "objectId": { + "description": "The object ID of the shape or table from which the text will be deleted.", + "type": "string" + }, + "cellLocation": { + "description": "The optional table cell location if the text is to be deleted from a table\ncell. If present, the object_id must refer to a table.", + "$ref": "TableCellLocation" + } + }, + "id": "DeleteTextRequest" + }, + "DeleteObjectRequest": { + "type": "object", + "properties": { + "objectId": { + "type": "string", + "description": "The object ID of the page or page element to delete.\n\nIf after a delete operation a group contains\nonly 1 or no page elements, the group is also deleted.\n\nIf a placeholder is deleted on a layout, any empty inheriting shapes are\nalso deleted." + } + }, + "id": "DeleteObjectRequest", + "description": "Deletes an object, either pages or\npage elements, from the\npresentation." + }, + "TextElement": { + "description": "A TextElement describes the content of a range of indices in the text content\nof a Shape or TableCell.", + "type": "object", + "properties": { + "paragraphMarker": { + "$ref": "ParagraphMarker", + "description": "A marker representing the beginning of a new paragraph.\n\nThe `start_index` and `end_index` of this TextElement represent the\nrange of the paragraph. Other TextElements with an index range contained\ninside this paragraph's range are considered to be part of this\nparagraph. The range of indices of two separate paragraphs will never\noverlap." + }, + "endIndex": { + "format": "int32", + "description": "The zero-based end index of this text element, exclusive, in Unicode code\nunits.", + "type": "integer" + }, + "startIndex": { + "format": "int32", + "description": "The zero-based start index of this text element, in Unicode code units.", + "type": "integer" + }, + "textRun": { + "$ref": "TextRun", + "description": "A TextElement representing a run of text where all of the characters\nin the run have the same TextStyle.\n\nThe `start_index` and `end_index` of TextRuns will always be fully\ncontained in the index range of a single `paragraph_marker` TextElement.\nIn other words, a TextRun will never span multiple paragraphs." + }, + "autoText": { + "$ref": "AutoText", + "description": "A TextElement representing a spot in the text that is dynamically\nreplaced with content that can change over time." + } + }, + "id": "TextElement" + }, + "Dimension": { + "description": "A magnitude in a single direction in the specified units.", + "type": "object", + "properties": { + "magnitude": { + "format": "double", + "description": "The magnitude.", + "type": "number" + }, + "unit": { + "description": "The units for magnitude.", + "type": "string", + "enumDescriptions": [ + "The units are unknown.", + "An English Metric Unit (EMU) is defined as 1/360,000 of a centimeter\nand thus there are 914,400 EMUs per inch, and 12,700 EMUs per point.", + "A point, 1/72 of an inch." + ], + "enum": [ + "UNIT_UNSPECIFIED", + "EMU", + "PT" + ] + } + }, + "id": "Dimension" + }, + "LineFill": { + "description": "The fill of the line.", + "type": "object", + "properties": { + "solidFill": { + "$ref": "SolidFill", + "description": "Solid color fill." + } + }, + "id": "LineFill" + }, + "VideoProperties": { + "properties": { + "outline": { + "$ref": "Outline", + "description": "The outline of the video. The default outline matches the defaults for new\nvideos created in the Slides editor." + } + }, + "id": "VideoProperties", + "description": "The properties of the Video.", + "type": "object" + }, + "InsertTableRowsRequest": { + "id": "InsertTableRowsRequest", + "description": "Inserts rows into a table.", + "type": "object", + "properties": { + "number": { + "format": "int32", + "description": "The number of rows to be inserted. Maximum 20 per request.", + "type": "integer" + }, + "cellLocation": { + "description": "The reference table cell location from which rows will be inserted.\n\nA new row will be inserted above (or below) the row where the reference\ncell is. If the reference cell is a merged cell, a new row will be\ninserted above (or below) the merged cell.", + "$ref": "TableCellLocation" + }, + "tableObjectId": { + "description": "The table to insert rows into.", + "type": "string" + }, + "insertBelow": { + "description": "Whether to insert new rows below the reference cell location.\n\n- `True`: insert below the cell.\n- `False`: insert above the cell.", + "type": "boolean" + } + } + }, + "LayoutProperties": { + "description": "The properties of Page are only\nrelevant for pages with page_type LAYOUT.", + "type": "object", + "properties": { + "masterObjectId": { + "description": "The object ID of the master that this layout is based on.", + "type": "string" + }, + "name": { + "description": "The name of the layout.", + "type": "string" + }, + "displayName": { + "description": "The human-readable name of the layout.", + "type": "string" + } + }, + "id": "LayoutProperties" + }, + "LineProperties": { + "description": "The properties of the Line.\n\nWhen unset, these fields default to values that match the appearance of\nnew lines created in the Slides editor.", + "type": "object", + "properties": { + "lineFill": { + "$ref": "LineFill", + "description": "The fill of the line. The default line fill matches the defaults for new\nlines created in the Slides editor." + }, + "dashStyle": { + "description": "The dash style of the line.", + "type": "string", + "enumDescriptions": [ + "Unspecified dash style.", + "Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'solid'.\nThis is the default dash style.", + "Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dot'.", + "Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dash'.", + "Alternating dashes and dots. Corresponds to ECMA-376 ST_PresetLineDashVal\nvalue 'dashDot'.", + "Line with large dashes. Corresponds to ECMA-376 ST_PresetLineDashVal\nvalue 'lgDash'.", + "Alternating large dashes and dots. Corresponds to ECMA-376\nST_PresetLineDashVal value 'lgDashDot'." + ], + "enum": [ + "DASH_STYLE_UNSPECIFIED", + "SOLID", + "DOT", + "DASH", + "DASH_DOT", + "LONG_DASH", + "LONG_DASH_DOT" + ] + }, + "link": { + "$ref": "Link", + "description": "The hyperlink destination of the line. If unset, there is no link." + }, + "endArrow": { + "enum": [ + "ARROW_STYLE_UNSPECIFIED", + "NONE", + "STEALTH_ARROW", + "FILL_ARROW", + "FILL_CIRCLE", + "FILL_SQUARE", + "FILL_DIAMOND", + "OPEN_ARROW", + "OPEN_CIRCLE", + "OPEN_SQUARE", + "OPEN_DIAMOND" + ], + "description": "The style of the arrow at the end of the line.", + "type": "string", + "enumDescriptions": [ + "An unspecified arrow style.", + "No arrow.", + "Arrow with notched back. Corresponds to ECMA-376 ST_LineEndType value\n'stealth'.", + "Filled arrow. Corresponds to ECMA-376 ST_LineEndType value 'triangle'.", + "Filled circle. Corresponds to ECMA-376 ST_LineEndType value 'oval'.", + "Filled square.", + "Filled diamond. Corresponds to ECMA-376 ST_LineEndType value 'diamond'.", + "Hollow arrow.", + "Hollow circle.", + "Hollow square.", + "Hollow diamond." + ] + }, + "startArrow": { + "enum": [ + "ARROW_STYLE_UNSPECIFIED", + "NONE", + "STEALTH_ARROW", + "FILL_ARROW", + "FILL_CIRCLE", + "FILL_SQUARE", + "FILL_DIAMOND", + "OPEN_ARROW", + "OPEN_CIRCLE", + "OPEN_SQUARE", + "OPEN_DIAMOND" + ], + "description": "The style of the arrow at the beginning of the line.", + "type": "string", + "enumDescriptions": [ + "An unspecified arrow style.", + "No arrow.", + "Arrow with notched back. Corresponds to ECMA-376 ST_LineEndType value\n'stealth'.", + "Filled arrow. Corresponds to ECMA-376 ST_LineEndType value 'triangle'.", + "Filled circle. Corresponds to ECMA-376 ST_LineEndType value 'oval'.", + "Filled square.", + "Filled diamond. Corresponds to ECMA-376 ST_LineEndType value 'diamond'.", + "Hollow arrow.", + "Hollow circle.", + "Hollow square.", + "Hollow diamond." + ] + }, + "weight": { + "description": "The thickness of the line.", + "$ref": "Dimension" + } + }, + "id": "LineProperties" + }, + "Presentation": { + "id": "Presentation", + "description": "A Google Slides presentation.", + "type": "object", + "properties": { + "presentationId": { + "description": "The ID of the presentation.", + "type": "string" + }, + "slides": { + "description": "The slides in the presentation.\nA slide inherits properties from a slide layout.", + "items": { + "$ref": "Page" + }, + "type": "array" + }, + "revisionId": { + "type": "string", + "description": "The revision ID of the presentation. Can be used in update requests\nto assert that the presentation revision hasn't changed since the last\nread operation. Only populated if the user has edit access to the\npresentation.\n\nThe format of the revision ID may change over time, so it should be treated\nopaquely. A returned revision ID is only guaranteed to be valid for 24\nhours after it has been returned and cannot be shared across users. If the\nrevision ID is unchanged between calls, then the presentation has not\nchanged. Conversely, a changed ID (for the same presentation and user)\nusually means the presentation has been updated; however, a changed ID can\nalso be due to internal factors such as ID format changes." + }, + "notesMaster": { + "$ref": "Page", + "description": "The notes master in the presentation. It serves three purposes:\n\n- Placeholder shapes on a notes master contain the default text styles and\n shape properties of all placeholder shapes on notes pages. Specifically,\n a `SLIDE_IMAGE` placeholder shape contains the slide thumbnail, and a\n `BODY` placeholder shape contains the speaker notes.\n- The notes master page properties define the common page properties\n inherited by all notes pages.\n- Any other shapes on the notes master will appear on all notes pages.\n\nThe notes master is read-only." + }, + "title": { + "description": "The title of the presentation.", + "type": "string" + }, + "layouts": { + "description": "The layouts in the presentation. A layout is a template that determines\nhow content is arranged and styled on the slides that inherit from that\nlayout.", + "items": { + "$ref": "Page" + }, + "type": "array" + }, + "masters": { + "description": "The slide masters in the presentation. A slide master contains all common\npage elements and the common properties for a set of layouts. They serve\nthree purposes:\n\n- Placeholder shapes on a master contain the default text styles and shape\n properties of all placeholder shapes on pages that use that master.\n- The master page properties define the common page properties inherited by\n its layouts.\n- Any other shapes on the master slide will appear on all slides using that\n master, regardless of their layout.", + "items": { + "$ref": "Page" + }, + "type": "array" + }, + "locale": { + "type": "string", + "description": "The locale of the presentation, as an IETF BCP 47 language tag." + }, + "pageSize": { + "$ref": "Size", + "description": "The size of pages in the presentation." + } + } + }, + "OpaqueColor": { + "properties": { + "rgbColor": { + "$ref": "RgbColor", + "description": "An opaque RGB color." + }, + "themeColor": { + "enumDescriptions": [ + "Unspecified theme color. This value should not be used.", + "Represents the first dark color.", + "Represents the first light color.", + "Represents the second dark color.", + "Represents the second light color.", + "Represents the first accent color.", + "Represents the second accent color.", + "Represents the third accent color.", + "Represents the fourth accent color.", + "Represents the fifth accent color.", + "Represents the sixth accent color.", + "Represents the color to use for hyperlinks.", + "Represents the color to use for visited hyperlinks.", + "Represents the first text color.", + "Represents the first background color.", + "Represents the second text color.", + "Represents the second background color." + ], + "enum": [ + "THEME_COLOR_TYPE_UNSPECIFIED", + "DARK1", + "LIGHT1", + "DARK2", + "LIGHT2", + "ACCENT1", + "ACCENT2", + "ACCENT3", + "ACCENT4", + "ACCENT5", + "ACCENT6", + "HYPERLINK", + "FOLLOWED_HYPERLINK", + "TEXT1", + "BACKGROUND1", + "TEXT2", + "BACKGROUND2" + ], + "description": "An opaque theme color.", + "type": "string" + } + }, + "id": "OpaqueColor", + "description": "A themeable solid color value.", + "type": "object" + }, + "ImageProperties": { + "description": "The properties of the Image.", + "type": "object", + "properties": { + "recolor": { + "$ref": "Recolor", + "description": "The recolor effect of the image. If not set, the image is not recolored.\nThis property is read-only." + }, + "cropProperties": { + "$ref": "CropProperties", + "description": "The crop properties of the image. If not set, the image is not cropped.\nThis property is read-only." + }, + "outline": { + "description": "The outline of the image. If not set, the the image has no outline.", + "$ref": "Outline" + }, + "brightness": { + "format": "float", + "description": "The brightness effect of the image. The value should be in the interval\n[-1.0, 1.0], where 0 means no effect. This property is read-only.", + "type": "number" + }, + "transparency": { + "format": "float", + "description": "The transparency effect of the image. The value should be in the interval\n[0.0, 1.0], where 0 means no effect and 1 means completely transparent.\nThis property is read-only.", + "type": "number" + }, + "shadow": { + "$ref": "Shadow", + "description": "The shadow of the image. If not set, the image has no shadow. This property\nis read-only." + }, + "contrast": { + "format": "float", + "description": "The contrast effect of the image. The value should be in the interval\n[-1.0, 1.0], where 0 means no effect. This property is read-only.", + "type": "number" + }, + "link": { + "description": "The hyperlink destination of the image. If unset, there is no link.", + "$ref": "Link" + } + }, + "id": "ImageProperties" + }, + "ReplaceAllShapesWithImageResponse": { + "description": "The result of replacing shapes with an image.", + "type": "object", + "properties": { + "occurrencesChanged": { + "format": "int32", + "description": "The number of shapes replaced with images.", + "type": "integer" + } + }, + "id": "ReplaceAllShapesWithImageResponse" + }, + "Line": { + "id": "Line", + "description": "A PageElement kind representing a\nline, curved connector, or bent connector.", + "type": "object", + "properties": { + "lineProperties": { + "$ref": "LineProperties", + "description": "The properties of the line." + }, + "lineType": { + "enumDescriptions": [ + "An unspecified line type.", + "Straight connector 1 form. Corresponds to ECMA-376 ST_ShapeType\n'straightConnector1'.", + "Bent connector 2 form. Corresponds to ECMA-376 ST_ShapeType\n'bentConnector2'.", + "Bent connector 3 form. Corresponds to ECMA-376 ST_ShapeType\n'bentConnector3'.", + "Bent connector 4 form. Corresponds to ECMA-376 ST_ShapeType\n'bentConnector4'.", + "Bent connector 5 form. Corresponds to ECMA-376 ST_ShapeType\n'bentConnector5'.", + "Curved connector 2 form. Corresponds to ECMA-376 ST_ShapeType\n'curvedConnector2'.", + "Curved connector 3 form. Corresponds to ECMA-376 ST_ShapeType\n'curvedConnector3'.", + "Curved connector 4 form. Corresponds to ECMA-376 ST_ShapeType\n'curvedConnector4'.", + "Curved connector 5 form. Corresponds to ECMA-376 ST_ShapeType\n'curvedConnector5'." + ], + "enum": [ + "TYPE_UNSPECIFIED", + "STRAIGHT_CONNECTOR_1", + "BENT_CONNECTOR_2", + "BENT_CONNECTOR_3", + "BENT_CONNECTOR_4", + "BENT_CONNECTOR_5", + "CURVED_CONNECTOR_2", + "CURVED_CONNECTOR_3", + "CURVED_CONNECTOR_4", + "CURVED_CONNECTOR_5" + ], + "description": "The type of the line.", + "type": "string" + } + } + }, + "CreateSheetsChartRequest": { + "type": "object", + "properties": { + "objectId": { + "description": "A user-supplied object ID.\n\nIf specified, the ID must be unique among all pages and page elements in\nthe presentation. The ID should start with a word character [a-zA-Z0-9_]\nand then followed by any number of the following characters [a-zA-Z0-9_-:].\nThe length of the ID should not be less than 5 or greater than 50.\nIf empty, a unique identifier will be generated.", "type": "string" }, "elementProperties": { "$ref": "PageElementProperties", - "description": "The element properties for the shape." - } - }, - "id": "CreateShapeRequest" - }, - "Video": { - "description": "A PageElement kind representing a\nvideo.", - "type": "object", - "properties": { - "source": { + "description": "The element properties for the chart.\n\nWhen the aspect ratio of the provided size does not match the chart aspect\nratio, the chart is scaled and centered with respect to the size in order\nto maintain aspect ratio. The provided transform is applied after this\noperation." + }, + "linkingMode": { "enumDescriptions": [ - "The video source is unspecified.", - "The video source is YouTube." + "The chart is not associated with the source spreadsheet and cannot be\nupdated. A chart that is not linked will be inserted as an image.", + "Linking the chart allows it to be updated, and other collaborators will\nsee a link to the spreadsheet." ], "enum": [ - "SOURCE_UNSPECIFIED", - "YOUTUBE" + "NOT_LINKED_IMAGE", + "LINKED" ], - "description": "The video source.", + "description": "The mode with which the chart is linked to the source spreadsheet. When\nnot specified, the chart will be an image that is not linked.", "type": "string" }, - "id": { - "description": "The video source's unique identifier for this video.", + "spreadsheetId": { + "description": "The ID of the Google Sheets spreadsheet that contains the chart.", "type": "string" }, - "url": { - "description": "An URL to a video. The URL is valid as long as the source video\nexists and sharing settings do not change.", - "type": "string" - }, - "videoProperties": { - "$ref": "VideoProperties", - "description": "The properties of the video." + "chartId": { + "format": "int32", + "description": "The ID of the specific chart in the Google Sheets spreadsheet.", + "type": "integer" } }, - "id": "Video" + "id": "CreateSheetsChartRequest", + "description": "Creates an embedded Google Sheets chart.\n\nNOTE: Chart creation requires at least one of the spreadsheets.readonly,\nspreadsheets, drive.readonly, or drive OAuth scopes." }, - "PageProperties": { + "BatchUpdatePresentationResponse": { + "description": "Response message from a batch update.", "type": "object", "properties": { - "pageBackgroundFill": { - "$ref": "PageBackgroundFill", - "description": "The background fill of the page. If unset, the background fill is inherited\nfrom a parent page if it exists. If the page has no parent, then the\nbackground fill defaults to the corresponding fill in the Slides editor." + "presentationId": { + "description": "The presentation the updates were applied to.", + "type": "string" }, - "colorScheme": { - "description": "The color scheme of the page. If unset, the color scheme is inherited from\na parent page. If the page has no parent, the color scheme uses a default\nSlides color scheme. This field is read-only.", - "$ref": "ColorScheme" + "replies": { + "description": "The reply of the updates. This maps 1:1 with the updates, although\nreplies to some requests may be empty.", + "items": { + "$ref": "Response" + }, + "type": "array" } }, - "id": "PageProperties", - "description": "The properties of the Page.\n\nThe page will inherit properties from the parent page. Depending on the page\ntype the hierarchy is defined in either\nSlideProperties or\nLayoutProperties." + "id": "BatchUpdatePresentationResponse" }, - "NestingLevel": { - "id": "NestingLevel", - "description": "Contains properties describing the look and feel of a list bullet at a given\nlevel of nesting.", + "CreateImageResponse": { + "description": "The result of creating an image.", "type": "object", "properties": { - "bulletStyle": { - "$ref": "TextStyle", - "description": "The style of a bullet at this level of nesting." + "objectId": { + "description": "The object ID of the created image.", + "type": "string" + } + }, + "id": "CreateImageResponse" + }, + "SlideProperties": { + "type": "object", + "properties": { + "notesPage": { + "$ref": "Page", + "description": "The notes page that this slide is associated with. It defines the visual\nappearance of a notes page when printing or exporting slides with speaker\nnotes. A notes page inherits properties from the\nnotes master.\nThe placeholder shape with type BODY on the notes page contains the speaker\nnotes for this slide. The ID of this shape is identified by the\nspeakerNotesObjectId field.\nThe notes page is read-only except for the text content and styles of the\nspeaker notes shape." + }, + "masterObjectId": { + "description": "The object ID of the master that this slide is based on.", + "type": "string" + }, + "layoutObjectId": { + "description": "The object ID of the layout that this slide is based on.", + "type": "string" + } + }, + "id": "SlideProperties", + "description": "The properties of Page that are only\nrelevant for pages with page_type SLIDE." + }, + "MasterProperties": { + "id": "MasterProperties", + "description": "The properties of Page that are only\nrelevant for pages with page_type MASTER.", + "type": "object", + "properties": { + "displayName": { + "description": "The human-readable name of the master.", + "type": "string" } } }, - "TableCell": { + "Response": { + "description": "A single response from an update.", + "type": "object", + "properties": { + "duplicateObject": { + "description": "The result of duplicating an object.", + "$ref": "DuplicateObjectResponse" + }, + "createShape": { + "$ref": "CreateShapeResponse", + "description": "The result of creating a shape." + }, + "createLine": { + "description": "The result of creating a line.", + "$ref": "CreateLineResponse" + }, + "createImage": { + "description": "The result of creating an image.", + "$ref": "CreateImageResponse" + }, + "createVideo": { + "$ref": "CreateVideoResponse", + "description": "The result of creating a video." + }, + "replaceAllShapesWithSheetsChart": { + "$ref": "ReplaceAllShapesWithSheetsChartResponse", + "description": "The result of replacing all shapes matching some criteria with a Google\nSheets chart." + }, + "createSheetsChart": { + "description": "The result of creating a Google Sheets chart.", + "$ref": "CreateSheetsChartResponse" + }, + "replaceAllShapesWithImage": { + "description": "The result of replacing all shapes matching some criteria with an\nimage.", + "$ref": "ReplaceAllShapesWithImageResponse" + }, + "createTable": { + "$ref": "CreateTableResponse", + "description": "The result of creating a table." + }, + "replaceAllText": { + "$ref": "ReplaceAllTextResponse", + "description": "The result of replacing text." + }, + "createSlide": { + "$ref": "CreateSlideResponse", + "description": "The result of creating a slide." + } + }, + "id": "Response" + }, + "SubstringMatchCriteria": { + "description": "A criteria that matches a specific string of text in a shape or table.", + "type": "object", "properties": { "text": { - "$ref": "TextContent", - "description": "The text content of the cell." + "description": "The text to search for in the shape or table.", + "type": "string" }, - "tableCellProperties": { - "$ref": "TableCellProperties", - "description": "The properties of the table cell." + "matchCase": { + "description": "Indicates whether the search should respect case:\n\n- `True`: the search is case sensitive.\n- `False`: the search is case insensitive.", + "type": "boolean" + } + }, + "id": "SubstringMatchCriteria" + }, + "LayoutReference": { + "id": "LayoutReference", + "description": "Slide layout reference. This may reference either:\n\n- A predefined layout\n- One of the layouts in the presentation.", + "type": "object", + "properties": { + "predefinedLayout": { + "enumDescriptions": [ + "Unspecified layout.", + "Blank layout, with no placeholders.", + "Layout with a caption at the bottom.", + "Layout with a title and a subtitle.", + "Layout with a title and body.", + "Layout with a title and two columns.", + "Layout with only a title.", + "Layout with a section title.", + "Layout with a title and subtitle on one side and description on the other.", + "Layout with one title and one body, arranged in a single column.", + "Layout with a main point.", + "Layout with a big number heading." + ], + "enum": [ + "PREDEFINED_LAYOUT_UNSPECIFIED", + "BLANK", + "CAPTION_ONLY", + "TITLE", + "TITLE_AND_BODY", + "TITLE_AND_TWO_COLUMNS", + "TITLE_ONLY", + "SECTION_HEADER", + "SECTION_TITLE_AND_DESCRIPTION", + "ONE_COLUMN_TEXT", + "MAIN_POINT", + "BIG_NUMBER" + ], + "description": "Predefined layout.", + "type": "string" }, + "layoutId": { + "description": "Layout ID: the object ID of one of the layouts in the presentation.", + "type": "string" + } + } + }, + "TextRun": { + "description": "A TextElement kind that represents a run of text that all has the same\nstyling.", + "type": "object", + "properties": { + "style": { + "$ref": "TextStyle", + "description": "The styling applied to this run." + }, + "content": { + "description": "The text of this run.", + "type": "string" + } + }, + "id": "TextRun" + }, + "TableRange": { + "description": "A table range represents a reference to a subset of a table.\n\nIt's important to note that the cells specified by a table range do not\nnecessarily form a rectangle. For example, let's say we have a 3 x 3 table\nwhere all the cells of the last row are merged together. The table looks\nlike this:\n\n \n [ ]\n\nA table range with location = (0, 0), row span = 3 and column span = 2\nspecifies the following cells:\n\n x x \n [ x ]", + "type": "object", + "properties": { "rowSpan": { "type": "integer", "format": "int32", - "description": "Row span of the cell." + "description": "The row span of the table range." }, "location": { - "description": "The location of the cell within the table.", + "description": "The starting location of the table range.", "$ref": "TableCellLocation" }, "columnSpan": { "format": "int32", - "description": "Column span of the cell.", + "description": "The column span of the table range.", "type": "integer" } }, - "id": "TableCell", - "description": "Properties and contents of each table cell.", - "type": "object" + "id": "TableRange" }, - "UpdateLinePropertiesRequest": { - "description": "Updates the properties of a Line.", + "CreateTableRequest": { + "description": "Creates a new table.", "type": "object", "properties": { + "rows": { + "format": "int32", + "description": "Number of rows in the table.", + "type": "integer" + }, + "columns": { + "format": "int32", + "description": "Number of columns in the table.", + "type": "integer" + }, "objectId": { - "description": "The object ID of the line the update is applied to.", + "description": "A user-supplied object ID.\n\nIf you specify an ID, it must be unique among all pages and page elements\nin the presentation. The ID must start with an alphanumeric character or an\nunderscore (matches regex `[a-zA-Z0-9_]`); remaining characters\nmay include those as well as a hyphen or colon (matches regex\n`[a-zA-Z0-9_-:]`).\nThe length of the ID must not be less than 5 or greater than 50.\n\nIf you don't specify an ID, a unique one is generated.", "type": "string" }, - "lineProperties": { - "description": "The line properties to update.", - "$ref": "LineProperties" - }, - "fields": { - "type": "string", - "format": "google-fieldmask", - "description": "The fields that should be updated.\n\nAt least one field must be specified. The root `lineProperties` is\nimplied and should not be specified. A single `\"*\"` can be used as\nshort-hand for listing every field.\n\nFor example to update the line solid fill color, set `fields` to\n`\"lineFill.solidFill.color\"`.\n\nTo reset a property to its default value, include its field name in the\nfield mask but leave the field itself unset." + "elementProperties": { + "$ref": "PageElementProperties", + "description": "The element properties for the table.\n\nThe table will be created at the provided size, subject to a minimum size.\nIf no size is provided, the table will be automatically sized.\n\nTable transforms must have a scale of 1 and no shear components. If no\ntransform is provided, the table will be centered on the page." } }, - "id": "UpdateLinePropertiesRequest" + "id": "CreateTableRequest" }, - "TableCellBackgroundFill": { - "description": "The table cell background fill.", + "CreateTableResponse": { + "properties": { + "objectId": { + "description": "The object ID of the created table.", + "type": "string" + } + }, + "id": "CreateTableResponse", + "description": "The result of creating a table.", + "type": "object" + }, + "Table": { + "description": "A PageElement kind representing a\ntable.", + "type": "object", + "properties": { + "rows": { + "format": "int32", + "description": "Number of rows in the table.", + "type": "integer" + }, + "tableColumns": { + "description": "Properties of each column.", + "items": { + "$ref": "TableColumnProperties" + }, + "type": "array" + }, + "columns": { + "format": "int32", + "description": "Number of columns in the table.", + "type": "integer" + }, + "tableRows": { + "description": "Properties and contents of each row.\n\nCells that span multiple rows are contained in only one of these rows and\nhave a row_span greater\nthan 1.", + "items": { + "$ref": "TableRow" + }, + "type": "array" + } + }, + "id": "Table" + }, + "PageBackgroundFill": { "type": "object", "properties": { "propertyState": { - "enumDescriptions": [ - "If a property's state is RENDERED, then the element has the corresponding\nproperty when rendered on a page. If the element is a placeholder shape as\ndetermined by the placeholder\nfield, and it inherits from a placeholder shape, the corresponding field\nmay be unset, meaning that the property value is inherited from a parent\nplaceholder. If the element does not inherit, then the field will contain\nthe rendered value. This is the default value.", - "If a property's state is NOT_RENDERED, then the element does not have the\ncorresponding property when rendered on a page. However, the field may\nstill be set so it can be inherited by child shapes. To remove a property\nfrom a rendered element, set its property_state to NOT_RENDERED.", - "If a property's state is INHERIT, then the property state uses the value of\ncorresponding `property_state` field on the parent shape. Elements that do\nnot inherit will never have an INHERIT property state." - ], "enum": [ "RENDERED", "NOT_RENDERED", "INHERIT" ], - "description": "The background fill property state.\n\nUpdating the the fill on a table cell will implicitly update this field\nto `RENDERED`, unless another value is specified in the same request. To\nhave no fill on a table cell, set this field to `NOT_RENDERED`. In this\ncase, any other fill fields set in the same request will be ignored.", - "type": "string" + "description": "The background fill property state.\n\nUpdating the fill on a page will implicitly update this field to\n`RENDERED`, unless another value is specified in the same request. To\nhave no fill on a page, set this field to `NOT_RENDERED`. In this case,\nany other fill fields set in the same request will be ignored.", + "type": "string", + "enumDescriptions": [ + "If a property's state is RENDERED, then the element has the corresponding\nproperty when rendered on a page. If the element is a placeholder shape as\ndetermined by the placeholder\nfield, and it inherits from a placeholder shape, the corresponding field\nmay be unset, meaning that the property value is inherited from a parent\nplaceholder. If the element does not inherit, then the field will contain\nthe rendered value. This is the default value.", + "If a property's state is NOT_RENDERED, then the element does not have the\ncorresponding property when rendered on a page. However, the field may\nstill be set so it can be inherited by child shapes. To remove a property\nfrom a rendered element, set its property_state to NOT_RENDERED.", + "If a property's state is INHERIT, then the property state uses the value of\ncorresponding `property_state` field on the parent shape. Elements that do\nnot inherit will never have an INHERIT property state." + ] + }, + "stretchedPictureFill": { + "$ref": "StretchedPictureFill", + "description": "Stretched picture fill." }, "solidFill": { - "description": "Solid color fill.", - "$ref": "SolidFill" + "$ref": "SolidFill", + "description": "Solid color fill." } }, - "id": "TableCellBackgroundFill" + "id": "PageBackgroundFill", + "description": "The page background fill." }, - "UpdateSlidesPositionRequest": { - "description": "Updates the position of slides in the presentation.", + "SheetsChart": { + "description": "A PageElement kind representing\na linked chart embedded from Google Sheets.", "type": "object", "properties": { - "insertionIndex": { - "type": "integer", - "format": "int32", - "description": "The index where the slides should be inserted, based on the slide\narrangement before the move takes place. Must be between zero and the\nnumber of slides in the presentation, inclusive." - }, - "slideObjectIds": { - "description": "The IDs of the slides in the presentation that should be moved.\nThe slides in this list must be in existing presentation order, without\nduplicates.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "UpdateSlidesPositionRequest" - }, - "UpdatePagePropertiesRequest": { - "id": "UpdatePagePropertiesRequest", - "description": "Updates the properties of a Page.", - "type": "object", - "properties": { - "fields": { - "format": "google-fieldmask", - "description": "The fields that should be updated.\n\nAt least one field must be specified. The root `pageProperties` is\nimplied and should not be specified. A single `\"*\"` can be used as\nshort-hand for listing every field.\n\nFor example to update the page background solid fill color, set `fields`\nto `\"pageBackgroundFill.solidFill.color\"`.\n\nTo reset a property to its default value, include its field name in the\nfield mask but leave the field itself unset.", + "spreadsheetId": { + "description": "The ID of the Google Sheets spreadsheet that contains the source chart.", "type": "string" }, - "pageProperties": { - "$ref": "PageProperties", - "description": "The page properties to update." + "chartId": { + "type": "integer", + "format": "int32", + "description": "The ID of the specific chart in the Google Sheets spreadsheet that is\nembedded." + }, + "sheetsChartProperties": { + "description": "The properties of the Sheets chart.", + "$ref": "SheetsChartProperties" + }, + "contentUrl": { + "description": "The URL of an image of the embedded chart, with a default lifetime of 30\nminutes. This URL is tagged with the account of the requester. Anyone with\nthe URL effectively accesses the image as the original requester. Access to\nthe image may be lost if the presentation's sharing settings change.", + "type": "string" + } + }, + "id": "SheetsChart" + }, + "SolidFill": { + "description": "A solid color fill. The page or page element is filled entirely with the\nspecified color value.\n\nIf any field is unset, its value may be inherited from a parent placeholder\nif it exists.", + "type": "object", + "properties": { + "color": { + "$ref": "OpaqueColor", + "description": "The color value of the solid fill." + }, + "alpha": { + "format": "float", + "description": "The fraction of this `color` that should be applied to the pixel.\nThat is, the final pixel color is defined by the equation:\n\n pixel color = alpha * (color) + (1.0 - alpha) * (background color)\n\nThis means that a value of 1.0 corresponds to a solid color, whereas\na value of 0.0 corresponds to a completely transparent color.", + "type": "number" + } + }, + "id": "SolidFill" + }, + "ThemeColorPair": { + "description": "A pair mapping a theme color type to the concrete color it represents.", + "type": "object", + "properties": { + "color": { + "description": "The concrete color corresponding to the theme color type above.", + "$ref": "RgbColor" + }, + "type": { + "enumDescriptions": [ + "Unspecified theme color. This value should not be used.", + "Represents the first dark color.", + "Represents the first light color.", + "Represents the second dark color.", + "Represents the second light color.", + "Represents the first accent color.", + "Represents the second accent color.", + "Represents the third accent color.", + "Represents the fourth accent color.", + "Represents the fifth accent color.", + "Represents the sixth accent color.", + "Represents the color to use for hyperlinks.", + "Represents the color to use for visited hyperlinks.", + "Represents the first text color.", + "Represents the first background color.", + "Represents the second text color.", + "Represents the second background color." + ], + "enum": [ + "THEME_COLOR_TYPE_UNSPECIFIED", + "DARK1", + "LIGHT1", + "DARK2", + "LIGHT2", + "ACCENT1", + "ACCENT2", + "ACCENT3", + "ACCENT4", + "ACCENT5", + "ACCENT6", + "HYPERLINK", + "FOLLOWED_HYPERLINK", + "TEXT1", + "BACKGROUND1", + "TEXT2", + "BACKGROUND2" + ], + "description": "The type of the theme color.", + "type": "string" + } + }, + "id": "ThemeColorPair" + }, + "OptionalColor": { + "description": "A color that can either be fully opaque or fully transparent.", + "type": "object", + "properties": { + "opaqueColor": { + "$ref": "OpaqueColor", + "description": "If set, this will be used as an opaque color. If unset, this represents\na transparent color." + } + }, + "id": "OptionalColor" + }, + "PageElementProperties": { + "properties": { + "transform": { + "$ref": "AffineTransform", + "description": "The transform for the element." + }, + "pageObjectId": { + "description": "The object ID of the page where the element is located.", + "type": "string" + }, + "size": { + "description": "The size of the element.", + "$ref": "Size" + } + }, + "id": "PageElementProperties", + "description": "Common properties for a page element.\n\nNote: When you initially create a\nPageElement, the API may modify\nthe values of both `size` and `transform`, but the\nvisual size will be unchanged.", + "type": "object" + }, + "SheetsChartProperties": { + "properties": { + "chartImageProperties": { + "$ref": "ImageProperties", + "description": "The properties of the embedded chart image." + } + }, + "id": "SheetsChartProperties", + "description": "The properties of the SheetsChart.", + "type": "object" + }, + "StretchedPictureFill": { + "description": "The stretched picture fill. The page or page element is filled entirely with\nthe specified picture. The picture is stretched to fit its container.", + "type": "object", + "properties": { + "contentUrl": { + "description": "Reading the content_url:\n\nAn URL to a picture with a default lifetime of 30 minutes.\nThis URL is tagged with the account of the requester. Anyone with the URL\neffectively accesses the picture as the original requester. Access to the\npicture may be lost if the presentation's sharing settings change.\n\nWriting the content_url:\n\nThe picture is fetched once at insertion time and a copy is stored for\ndisplay inside the presentation. Pictures must be less than 50MB in size,\ncannot exceed 25 megapixels, and must be in either in PNG, JPEG, or GIF\nformat.\n\nThe provided URL can be at maximum 2K bytes large.", + "type": "string" + }, + "size": { + "$ref": "Size", + "description": "The original size of the picture fill. This field is read-only." + } + }, + "id": "StretchedPictureFill" + }, + "DeleteTableColumnRequest": { + "description": "Deletes a column from a table.", + "type": "object", + "properties": { + "cellLocation": { + "$ref": "TableCellLocation", + "description": "The reference table cell location from which a column will be deleted.\n\nThe column this cell spans will be deleted. If this is a merged cell,\nmultiple columns will be deleted. If no columns remain in the table after\nthis deletion, the whole table is deleted." + }, + "tableObjectId": { + "description": "The table to delete columns from.", + "type": "string" + } + }, + "id": "DeleteTableColumnRequest" + }, + "UpdateTextStyleRequest": { + "properties": { + "style": { + "$ref": "TextStyle", + "description": "The style(s) to set on the text.\n\nIf the value for a particular style matches that of the parent, that style\nwill be set to inherit.\n\nCertain text style changes may cause other changes meant to mirror the\nbehavior of the Slides editor. See the documentation of\nTextStyle for more information." + }, + "cellLocation": { + "description": "The location of the cell in the table containing the text to style. If\n`object_id` refers to a table, `cell_location` must have a value.\nOtherwise, it must not.", + "$ref": "TableCellLocation" + }, + "fields": { + "format": "google-fieldmask", + "description": "The fields that should be updated.\n\nAt least one field must be specified. The root `style` is implied and\nshould not be specified. A single `\"*\"` can be used as short-hand for\nlisting every field.\n\nFor example, to update the text style to bold, set `fields` to `\"bold\"`.\n\nTo reset a property to its default value, include its field name in the\nfield mask but leave the field itself unset.", + "type": "string" + }, + "textRange": { + "description": "The range of text to style.\n\nThe range may be extended to include adjacent newlines.\n\nIf the range fully contains a paragraph belonging to a list, the\nparagraph's bullet is also updated with the matching text style.", + "$ref": "Range" }, "objectId": { - "description": "The object ID of the page the update is applied to.", + "type": "string", + "description": "The object ID of the shape or table with the text to be styled." + } + }, + "id": "UpdateTextStyleRequest", + "description": "Update the styling of text in a Shape or\nTable.", + "type": "object" + }, + "List": { + "id": "List", + "description": "A List describes the look and feel of bullets belonging to paragraphs\nassociated with a list. A paragraph that is part of a list has an implicit\nreference to that list's ID.", + "type": "object", + "properties": { + "nestingLevel": { + "description": "A map of nesting levels to the properties of bullets at the associated\nlevel. A list has at most nine levels of nesting, so the possible values\nfor the keys of this map are 0 through 8, inclusive.", + "type": "object", + "additionalProperties": { + "$ref": "NestingLevel" + } + }, + "listId": { + "description": "The ID of the list.", "type": "string" } } }, - "Group": { - "description": "A PageElement kind representing a\njoined collection of PageElements.", + "WeightedFontFamily": { + "description": "Represents a font family and weight used to style a TextRun.", "type": "object", "properties": { - "children": { - "description": "The collection of elements in the group. The minimum size of a group is 2.", - "items": { - "$ref": "PageElement" - }, - "type": "array" + "weight": { + "format": "int32", + "description": "The rendered weight of the text. This field can have any value that is a\nmultiple of `100` between `100` and `900`, inclusive. This range\ncorresponds to the numerical values described in the CSS 2.1\nSpecification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness),\nwith non-numerical values disallowed. Weights greater than or equal to\n`700` are considered bold, and weights less than `700`are not bold. The\ndefault value is `400` (\"normal\").", + "type": "integer" + }, + "fontFamily": { + "description": "The font family of the text.\n\nThe font family can be any font from the Font menu in Slides or from\n[Google Fonts] (https://fonts.google.com/). If the font name is\nunrecognized, the text is rendered in `Arial`.", + "type": "string" } }, - "id": "Group" + "id": "WeightedFontFamily" }, - "Placeholder": { - "description": "The placeholder information that uniquely identifies a placeholder shape.", - "type": "object", + "PageElement": { "properties": { - "type": { - "type": "string", - "enumDescriptions": [ - "Default value, signifies it is not a placeholder.", - "Body text.", - "Chart or graph.", - "Clip art image.", - "Title centered.", - "Diagram.", - "Date and time.", - "Footer text.", - "Header text.", - "Multimedia.", - "Any content type.", - "Picture.", - "Number of a slide.", - "Subtitle.", - "Table.", - "Slide title.", - "Slide image." - ], - "enum": [ - "NONE", - "BODY", - "CHART", - "CLIP_ART", - "CENTERED_TITLE", - "DIAGRAM", - "DATE_AND_TIME", - "FOOTER", - "HEADER", - "MEDIA", - "OBJECT", - "PICTURE", - "SLIDE_NUMBER", - "SUBTITLE", - "TABLE", - "TITLE", - "SLIDE_IMAGE" - ], - "description": "The type of the placeholder." + "video": { + "$ref": "Video", + "description": "A video page element." }, - "parentObjectId": { - "description": "The object ID of this shape's parent placeholder.\nIf unset, the parent placeholder shape does not exist, so the shape does\nnot inherit properties from any other shape.", + "wordArt": { + "$ref": "WordArt", + "description": "A word art page element." + }, + "table": { + "description": "A table page element.", + "$ref": "Table" + }, + "objectId": { + "description": "The object ID for this page element. Object IDs used by\ngoogle.apps.slides.v1.Page and\ngoogle.apps.slides.v1.PageElement share the same namespace.", "type": "string" }, - "index": { - "type": "integer", - "format": "int32", - "description": "The index of the placeholder. If the same placeholder types are present in\nthe same page, they would have different index values." + "transform": { + "$ref": "AffineTransform", + "description": "The transform of the page element.\n\nThe visual appearance of the page element is determined by its absolute\ntransform. To compute the absolute transform, preconcatenate a page\nelement's transform with the transforms of all of its parent groups. If the\npage element is not in a group, its absolute transform is the same as the\nvalue in this field.\n\nThe initial transform for the newly created Group is always the identity transform." + }, + "shape": { + "$ref": "Shape", + "description": "A generic shape." + }, + "line": { + "description": "A line page element.", + "$ref": "Line" + }, + "description": { + "description": "The description of the page element. Combined with title to display alt\ntext.", + "type": "string" + }, + "elementGroup": { + "description": "A collection of page elements joined as a single unit.", + "$ref": "Group" + }, + "image": { + "description": "An image page element.", + "$ref": "Image" + }, + "size": { + "description": "The size of the page element.", + "$ref": "Size" + }, + "sheetsChart": { + "description": "A linked chart embedded from Google Sheets. Unlinked charts are\nrepresented as images.", + "$ref": "SheetsChart" + }, + "title": { + "description": "The title of the page element. Combined with description to display alt\ntext.", + "type": "string" } }, - "id": "Placeholder" + "id": "PageElement", + "description": "A visual element rendered on a page.", + "type": "object" }, - "DuplicateObjectRequest": { + "CreateImageRequest": { + "description": "Creates an image.", + "type": "object", + "properties": { + "url": { + "description": "The image URL.\n\nThe image is fetched once at insertion time and a copy is stored for\ndisplay inside the presentation. Images must be less than 50MB in size,\ncannot exceed 25 megapixels, and must be in either in PNG, JPEG, or GIF\nformat.\n\nThe provided URL can be at maximum 2K bytes large.", + "type": "string" + }, + "objectId": { + "description": "A user-supplied object ID.\n\nIf you specify an ID, it must be unique among all pages and page elements\nin the presentation. The ID must start with an alphanumeric character or an\nunderscore (matches regex `[a-zA-Z0-9_]`); remaining characters\nmay include those as well as a hyphen or colon (matches regex\n`[a-zA-Z0-9_-:]`).\nThe length of the ID must not be less than 5 or greater than 50.\n\nIf you don't specify an ID, a unique one is generated.", + "type": "string" + }, + "elementProperties": { + "description": "The element properties for the image.\n\nWhen the aspect ratio of the provided size does not match the image aspect\nratio, the image is scaled and centered with respect to the size in order\nto maintain aspect ratio. The provided transform is applied after this\noperation.", + "$ref": "PageElementProperties" + } + }, + "id": "CreateImageRequest" + }, + "CreateParagraphBulletsRequest": { + "description": "Creates bullets for all of the paragraphs that overlap with the given\ntext index range.\n\nThe nesting level of each paragraph will be determined by counting leading\ntabs in front of each paragraph. To avoid excess space between the bullet and\nthe corresponding paragraph, these leading tabs are removed by this request.\nThis may change the indices of parts of the text.\n\nIf the paragraph immediately before paragraphs being updated is in a list\nwith a matching preset, the paragraphs being updated are added to that\npreceding list.", + "type": "object", + "properties": { + "textRange": { + "description": "The range of text to apply the bullet presets to, based on TextElement indexes.", + "$ref": "Range" + }, + "objectId": { + "description": "The object ID of the shape or table containing the text to add bullets to.", + "type": "string" + }, + "bulletPreset": { + "description": "The kinds of bullet glyphs to be used. Defaults to the\n`BULLET_DISC_CIRCLE_SQUARE` preset.", + "type": "string", + "enumDescriptions": [ + "A bulleted list with a `DISC`, `CIRCLE` and `SQUARE` bullet glyph for the\nfirst 3 list nesting levels.", + "A bulleted list with a `DIAMONDX`, `ARROW3D` and `SQUARE` bullet glyph for\nthe first 3 list nesting levels.", + "A bulleted list with `CHECKBOX` bullet glyphs for all list nesting levels.", + "A bulleted list with a `ARROW`, `DIAMOND` and `DISC` bullet glyph for\nthe first 3 list nesting levels.", + "A bulleted list with a `STAR`, `CIRCLE` and `SQUARE` bullet glyph for\nthe first 3 list nesting levels.", + "A bulleted list with a `ARROW3D`, `CIRCLE` and `SQUARE` bullet glyph for\nthe first 3 list nesting levels.", + "A bulleted list with a `LEFTTRIANGLE`, `DIAMOND` and `DISC` bullet glyph\nfor the first 3 list nesting levels.", + "A bulleted list with a `DIAMONDX`, `HOLLOWDIAMOND` and `SQUARE` bullet\nglyph for the first 3 list nesting levels.", + "A bulleted list with a `DIAMOND`, `CIRCLE` and `SQUARE` bullet glyph\nfor the first 3 list nesting levels.", + "A numbered list with `DIGIT`, `ALPHA` and `ROMAN` numeric glyphs for\nthe first 3 list nesting levels, followed by periods.", + "A numbered list with `DIGIT`, `ALPHA` and `ROMAN` numeric glyphs for\nthe first 3 list nesting levels, followed by parenthesis.", + "A numbered list with `DIGIT` numeric glyphs separated by periods, where\neach nesting level uses the previous nesting level's glyph as a prefix.\nFor example: '1.', '1.1.', '2.', '2.2.'.", + "A numbered list with `UPPERALPHA`, `ALPHA` and `ROMAN` numeric glyphs for\nthe first 3 list nesting levels, followed by periods.", + "A numbered list with `UPPERROMAN`, `UPPERALPHA` and `DIGIT` numeric glyphs\nfor the first 3 list nesting levels, followed by periods.", + "A numbered list with `ZERODIGIT`, `ALPHA` and `ROMAN` numeric glyphs for\nthe first 3 list nesting levels, followed by periods." + ], + "enum": [ + "BULLET_DISC_CIRCLE_SQUARE", + "BULLET_DIAMONDX_ARROW3D_SQUARE", + "BULLET_CHECKBOX", + "BULLET_ARROW_DIAMOND_DISC", + "BULLET_STAR_CIRCLE_SQUARE", + "BULLET_ARROW3D_CIRCLE_SQUARE", + "BULLET_LEFTTRIANGLE_DIAMOND_DISC", + "BULLET_DIAMONDX_HOLLOWDIAMOND_SQUARE", + "BULLET_DIAMOND_CIRCLE_SQUARE", + "NUMBERED_DIGIT_ALPHA_ROMAN", + "NUMBERED_DIGIT_ALPHA_ROMAN_PARENS", + "NUMBERED_DIGIT_NESTED", + "NUMBERED_UPPERALPHA_ALPHA_ROMAN", + "NUMBERED_UPPERROMAN_UPPERALPHA_DIGIT", + "NUMBERED_ZERODIGIT_ALPHA_ROMAN" + ] + }, + "cellLocation": { + "description": "The optional table cell location if the text to be modified is in a table\ncell. If present, the object_id must refer to a table.", + "$ref": "TableCellLocation" + } + }, + "id": "CreateParagraphBulletsRequest" + }, + "Size": { + "description": "A width and height.", + "type": "object", + "properties": { + "width": { + "$ref": "Dimension", + "description": "The width of the object." + }, + "height": { + "description": "The height of the object.", + "$ref": "Dimension" + } + }, + "id": "Size" + }, + "TextStyle": { + "properties": { + "fontFamily": { + "description": "The font family of the text.\n\nThe font family can be any font from the Font menu in Slides or from\n[Google Fonts] (https://fonts.google.com/). If the font name is\nunrecognized, the text is rendered in `Arial`.\n\nSome fonts can affect the weight of the text. If an update request\nspecifies values for both `font_family` and `bold`, the explicitly-set\n`bold` value is used.", + "type": "string" + }, + "strikethrough": { + "description": "Whether or not the text is struck through.", + "type": "boolean" + }, + "italic": { + "type": "boolean", + "description": "Whether or not the text is italicized." + }, + "fontSize": { + "$ref": "Dimension", + "description": "The size of the text's font. When read, the `font_size` will specified in\npoints." + }, + "baselineOffset": { + "enumDescriptions": [ + "The text's baseline offset is inherited from the parent.", + "The text is not vertically offset.", + "The text is vertically offset upwards (superscript).", + "The text is vertically offset downwards (subscript)." + ], + "enum": [ + "BASELINE_OFFSET_UNSPECIFIED", + "NONE", + "SUPERSCRIPT", + "SUBSCRIPT" + ], + "description": "The text's vertical offset from its normal position.\n\nText with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically\nrendered in a smaller font size, computed based on the `font_size` field.\nThe `font_size` itself is not affected by changes in this field.", + "type": "string" + }, + "weightedFontFamily": { + "description": "The font family and rendered weight of the text.\n\nThis field is an extension of `font_family` meant to support explicit font\nweights without breaking backwards compatibility. As such, when reading the\nstyle of a range of text, the value of `weighted_font_family#font_family`\nwill always be equal to that of `font_family`. However, when writing, if\nboth fields are included in the field mask (either explicitly or through\nthe wildcard `\"*\"`), their values are reconciled as follows:\n\n* If `font_family` is set and `weighted_font_family` is not, the value of\n `font_family` is applied with weight `400` (\"normal\").\n* If both fields are set, the value of `font_family` must match that of\n `weighted_font_family#font_family`. If so, the font family and weight of\n `weighted_font_family` is applied. Otherwise, a 400 bad request error is\n returned.\n* If `weighted_font_family` is set and `font_family` is not, the font\n family and weight of `weighted_font_family` is applied.\n* If neither field is set, the font family and weight of the text inherit\n from the parent. Note that these properties cannot inherit separately\n from each other.\n\nIf an update request specifies values for both `weighted_font_family` and\n`bold`, the `weighted_font_family` is applied first, then `bold`.\n\nIf `weighted_font_family#weight` is not set, it defaults to `400`.\n\nIf `weighted_font_family` is set, then `weighted_font_family#font_family`\nmust also be set with a non-empty value. Otherwise, a 400 bad request error\nis returned.", + "$ref": "WeightedFontFamily" + }, + "smallCaps": { + "description": "Whether or not the text is in small capital letters.", + "type": "boolean" + }, + "backgroundColor": { + "$ref": "OptionalColor", + "description": "The background color of the text. If set, the color is either opaque or\ntransparent, depending on if the `opaque_color` field in it is set." + }, + "underline": { + "description": "Whether or not the text is underlined.", + "type": "boolean" + }, + "link": { + "description": "The hyperlink destination of the text. If unset, there is no link. Links\nare not inherited from parent text.\n\nChanging the link in an update request causes some other changes to the\ntext style of the range:\n\n* When setting a link, the text foreground color will be set to\n ThemeColorType.HYPERLINK and the text will\n be underlined. If these fields are modified in the same\n request, those values will be used instead of the link defaults.\n* Setting a link on a text range that overlaps with an existing link will\n also update the existing link to point to the new URL.\n* Links are not settable on newline characters. As a result, setting a link\n on a text range that crosses a paragraph boundary, such as `\"ABC\\n123\"`,\n will separate the newline character(s) into their own text runs. The\n link will be applied separately to the runs before and after the newline.\n* Removing a link will update the text style of the range to match the\n style of the preceding text (or the default text styles if the preceding\n text is another link) unless different styles are being set in the same\n request.", + "$ref": "Link" + }, + "foregroundColor": { + "$ref": "OptionalColor", + "description": "The color of the text itself. If set, the color is either opaque or\ntransparent, depending on if the `opaque_color` field in it is set." + }, + "bold": { + "description": "Whether or not the text is rendered as bold.", + "type": "boolean" + } + }, + "id": "TextStyle", + "description": "Represents the styling that can be applied to a TextRun.\n\nIf this text is contained in a shape with a parent placeholder, then these text styles may be\ninherited from the parent. Which text styles are inherited depend on the\nnesting level of lists:\n\n* A text run in a paragraph that is not in a list will inherit its text style\n from the the newline character in the paragraph at the 0 nesting level of\n the list inside the parent placeholder.\n* A text run in a paragraph that is in a list will inherit its text style\n from the newline character in the paragraph at its corresponding nesting\n level of the list inside the parent placeholder.\n\nInherited text styles are represented as unset fields in this message. If\ntext is contained in a shape without a parent placeholder, unsetting these\nfields will revert the style to a value matching the defaults in the Slides\neditor.", + "type": "object" + }, + "UpdateVideoPropertiesRequest": { + "type": "object", + "properties": { + "fields": { + "format": "google-fieldmask", + "description": "The fields that should be updated.\n\nAt least one field must be specified. The root `videoProperties` is\nimplied and should not be specified. A single `\"*\"` can be used as\nshort-hand for listing every field.\n\nFor example to update the video outline color, set `fields` to\n`\"outline.outlineFill.solidFill.color\"`.\n\nTo reset a property to its default value, include its field name in the\nfield mask but leave the field itself unset.", + "type": "string" + }, + "objectId": { + "description": "The object ID of the video the updates are applied to.", + "type": "string" + }, + "videoProperties": { + "description": "The video properties to update.", + "$ref": "VideoProperties" + } + }, + "id": "UpdateVideoPropertiesRequest", + "description": "Update the properties of a Video." + }, + "Request": { + "description": "A single kind of update to apply to a presentation.", + "type": "object", + "properties": { + "refreshSheetsChart": { + "$ref": "RefreshSheetsChartRequest", + "description": "Refreshes a Google Sheets chart." + }, + "updateTableCellProperties": { + "$ref": "UpdateTableCellPropertiesRequest", + "description": "Updates the properties of a TableCell." + }, + "createTable": { + "description": "Creates a new table.", + "$ref": "CreateTableRequest" + }, + "deleteObject": { + "$ref": "DeleteObjectRequest", + "description": "Deletes a page or page element from the presentation." + }, + "updateParagraphStyle": { + "$ref": "UpdateParagraphStyleRequest", + "description": "Updates the styling of paragraphs within a Shape or Table." + }, + "duplicateObject": { + "$ref": "DuplicateObjectRequest", + "description": "Duplicates a slide or page element." + }, + "deleteTableColumn": { + "$ref": "DeleteTableColumnRequest", + "description": "Deletes a column from a table." + }, + "updateVideoProperties": { + "$ref": "UpdateVideoPropertiesRequest", + "description": "Updates the properties of a Video." + }, + "createLine": { + "$ref": "CreateLineRequest", + "description": "Creates a line." + }, + "createImage": { + "$ref": "CreateImageRequest", + "description": "Creates an image." + }, + "createParagraphBullets": { + "$ref": "CreateParagraphBulletsRequest", + "description": "Creates bullets for paragraphs." + }, + "createVideo": { + "description": "Creates a video.", + "$ref": "CreateVideoRequest" + }, + "replaceAllShapesWithSheetsChart": { + "$ref": "ReplaceAllShapesWithSheetsChartRequest", + "description": "Replaces all shapes matching some criteria with a Google Sheets chart." + }, + "createSheetsChart": { + "$ref": "CreateSheetsChartRequest", + "description": "Creates an embedded Google Sheets chart." + }, + "updatePageElementTransform": { + "description": "Updates the transform of a page element.", + "$ref": "UpdatePageElementTransformRequest" + }, + "updateTextStyle": { + "description": "Updates the styling of text within a Shape or Table.", + "$ref": "UpdateTextStyleRequest" + }, + "replaceAllShapesWithImage": { + "$ref": "ReplaceAllShapesWithImageRequest", + "description": "Replaces all shapes matching some criteria with an image." + }, + "replaceAllText": { + "$ref": "ReplaceAllTextRequest", + "description": "Replaces all instances of specified text." + }, + "updateImageProperties": { + "$ref": "UpdateImagePropertiesRequest", + "description": "Updates the properties of an Image." + }, + "insertTableRows": { + "$ref": "InsertTableRowsRequest", + "description": "Inserts rows into a table." + }, + "createSlide": { + "$ref": "CreateSlideRequest", + "description": "Creates a new slide." + }, + "updateLineProperties": { + "$ref": "UpdateLinePropertiesRequest", + "description": "Updates the properties of a Line." + }, + "updateSlidesPosition": { + "description": "Updates the position of a set of slides in the presentation.", + "$ref": "UpdateSlidesPositionRequest" + }, + "deleteTableRow": { + "description": "Deletes a row from a table.", + "$ref": "DeleteTableRowRequest" + }, + "updateShapeProperties": { + "$ref": "UpdateShapePropertiesRequest", + "description": "Updates the properties of a Shape." + }, + "insertText": { + "$ref": "InsertTextRequest", + "description": "Inserts text into a shape or table cell." + }, + "deleteText": { + "$ref": "DeleteTextRequest", + "description": "Deletes text from a shape or a table cell." + }, + "updatePageProperties": { + "$ref": "UpdatePagePropertiesRequest", + "description": "Updates the properties of a Page." + }, + "deleteParagraphBullets": { + "$ref": "DeleteParagraphBulletsRequest", + "description": "Deletes bullets from paragraphs." + }, + "createShape": { + "$ref": "CreateShapeRequest", + "description": "Creates a new shape." + }, + "insertTableColumns": { + "$ref": "InsertTableColumnsRequest", + "description": "Inserts columns into a table." + } + }, + "id": "Request" + }, + "UpdateImagePropertiesRequest": { + "description": "Update the properties of an Image.", + "type": "object", + "properties": { + "fields": { + "format": "google-fieldmask", + "description": "The fields that should be updated.\n\nAt least one field must be specified. The root `imageProperties` is\nimplied and should not be specified. A single `\"*\"` can be used as\nshort-hand for listing every field.\n\nFor example to update the image outline color, set `fields` to\n`\"outline.outlineFill.solidFill.color\"`.\n\nTo reset a property to its default value, include its field name in the\nfield mask but leave the field itself unset.", + "type": "string" + }, + "imageProperties": { + "$ref": "ImageProperties", + "description": "The image properties to update." + }, + "objectId": { + "description": "The object ID of the image the updates are applied to.", + "type": "string" + } + }, + "id": "UpdateImagePropertiesRequest" + }, + "ParagraphStyle": { + "description": "Styles that apply to a whole paragraph.\n\nIf this text is contained in a shape with a parent placeholder, then these paragraph styles may be\ninherited from the parent. Which paragraph styles are inherited depend on the\nnesting level of lists:\n\n* A paragraph not in a list will inherit its paragraph style from the\n paragraph at the 0 nesting level of the list inside the parent placeholder.\n* A paragraph in a list will inherit its paragraph style from the paragraph\n at its corresponding nesting level of the list inside the parent\n placeholder.\n\nInherited paragraph styles are represented as unset fields in this message.", + "type": "object", + "properties": { + "spaceAbove": { + "$ref": "Dimension", + "description": "The amount of extra space above the paragraph. If unset, the value is\ninherited from the parent." + }, + "alignment": { + "enum": [ + "ALIGNMENT_UNSPECIFIED", + "START", + "CENTER", + "END", + "JUSTIFIED" + ], + "description": "The text alignment for this paragraph.", + "type": "string", + "enumDescriptions": [ + "The paragraph alignment is inherited from the parent.", + "The paragraph is aligned to the start of the line. Left-aligned for\nLTR text, right-aligned otherwise.", + "The paragraph is centered.", + "The paragraph is aligned to the end of the line. Right-aligned for\nLTR text, left-aligned otherwise.", + "The paragraph is justified." + ] + }, + "lineSpacing": { + "format": "float", + "description": "The amount of space between lines, as a percentage of normal, where normal\nis represented as 100.0. If unset, the value is inherited from the parent.", + "type": "number" + }, + "indentFirstLine": { + "description": "The amount of indentation for the start of the first line of the paragraph.\nIf unset, the value is inherited from the parent.", + "$ref": "Dimension" + }, + "spaceBelow": { + "$ref": "Dimension", + "description": "The amount of extra space above the paragraph. If unset, the value is\ninherited from the parent." + }, + "direction": { + "enumDescriptions": [ + "The text direction is inherited from the parent.", + "The text goes from left to right.", + "The text goes from right to left." + ], + "enum": [ + "TEXT_DIRECTION_UNSPECIFIED", + "LEFT_TO_RIGHT", + "RIGHT_TO_LEFT" + ], + "description": "The text direction of this paragraph. If unset, the value defaults to\nLEFT_TO_RIGHT since\ntext direction is not inherited.", + "type": "string" + }, + "indentEnd": { + "description": "The amount indentation for the paragraph on the side that corresponds to\nthe end of the text, based on the current text direction. If unset, the\nvalue is inherited from the parent.", + "$ref": "Dimension" + }, + "spacingMode": { + "enumDescriptions": [ + "The spacing mode is inherited from the parent.", + "Paragraph spacing is always rendered.", + "Paragraph spacing is skipped between list elements." + ], + "enum": [ + "SPACING_MODE_UNSPECIFIED", + "NEVER_COLLAPSE", + "COLLAPSE_LISTS" + ], + "description": "The spacing mode for the paragraph.", + "type": "string" + }, + "indentStart": { + "$ref": "Dimension", + "description": "The amount indentation for the paragraph on the side that corresponds to\nthe start of the text, based on the current text direction. If unset, the\nvalue is inherited from the parent." + } + }, + "id": "ParagraphStyle" + }, + "ReplaceAllShapesWithSheetsChartResponse": { + "type": "object", + "properties": { + "occurrencesChanged": { + "format": "int32", + "description": "The number of shapes replaced with charts.", + "type": "integer" + } + }, + "id": "ReplaceAllShapesWithSheetsChartResponse", + "description": "The result of replacing shapes with a Google Sheets chart." + }, + "TableCellProperties": { + "description": "The properties of the TableCell.", + "type": "object", + "properties": { + "tableCellBackgroundFill": { + "$ref": "TableCellBackgroundFill", + "description": "The background fill of the table cell. The default fill matches the fill\nfor newly created table cells in the Slides editor." + } + }, + "id": "TableCellProperties" + }, + "RefreshSheetsChartRequest": { + "description": "Refreshes an embedded Google Sheets chart by replacing it with the latest\nversion of the chart from Google Sheets.\n\nNOTE: Refreshing charts requires at least one of the spreadsheets.readonly,\nspreadsheets, drive.readonly, or drive OAuth scopes.", "type": "object", "properties": { "objectId": { - "description": "The ID of the object to duplicate.", + "description": "The object ID of the chart to refresh.", "type": "string" - }, - "objectIds": { - "additionalProperties": { - "type": "string" - }, - "description": "The object being duplicated may contain other objects, for example when\nduplicating a slide or a group page element. This map defines how the IDs\nof duplicated objects are generated: the keys are the IDs of the original\nobjects and its values are the IDs that will be assigned to the\ncorresponding duplicate object. The ID of the source object's duplicate\nmay be specified in this map as well, using the same value of the\n`object_id` field as a key and the newly desired ID as the value.\n\nAll keys must correspond to existing IDs in the presentation. All values\nmust be unique in the presentation and must start with an alphanumeric\ncharacter or an underscore (matches regex `[a-zA-Z0-9_]`); remaining\ncharacters may include those as well as a hyphen or colon (matches regex\n`[a-zA-Z0-9_-:]`). The length of the new ID must not be less than 5 or\ngreater than 50.\n\nIf any IDs of source objects are omitted from the map, a new random ID will\nbe assigned. If the map is empty or unset, all duplicate objects will\nreceive a new random ID.", - "type": "object" } }, - "id": "DuplicateObjectRequest", - "description": "Duplicates a slide or page element.\n\nWhen duplicating a slide, the duplicate slide will be created immediately\nfollowing the specified slide. When duplicating a page element, the duplicate\nwill be placed on the same page at the same position as the original." + "id": "RefreshSheetsChartRequest" }, - "ReplaceAllTextRequest": { - "description": "Replaces all instances of text matching a criteria with replace text.", + "Outline": { + "properties": { + "outlineFill": { + "$ref": "OutlineFill", + "description": "The fill of the outline." + }, + "weight": { + "$ref": "Dimension", + "description": "The thickness of the outline." + }, + "dashStyle": { + "enum": [ + "DASH_STYLE_UNSPECIFIED", + "SOLID", + "DOT", + "DASH", + "DASH_DOT", + "LONG_DASH", + "LONG_DASH_DOT" + ], + "description": "The dash style of the outline.", + "type": "string", + "enumDescriptions": [ + "Unspecified dash style.", + "Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'solid'.\nThis is the default dash style.", + "Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dot'.", + "Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dash'.", + "Alternating dashes and dots. Corresponds to ECMA-376 ST_PresetLineDashVal\nvalue 'dashDot'.", + "Line with large dashes. Corresponds to ECMA-376 ST_PresetLineDashVal\nvalue 'lgDash'.", + "Alternating large dashes and dots. Corresponds to ECMA-376\nST_PresetLineDashVal value 'lgDashDot'." + ] + }, + "propertyState": { + "enum": [ + "RENDERED", + "NOT_RENDERED", + "INHERIT" + ], + "description": "The outline property state.\n\nUpdating the the outline on a page element will implicitly update this\nfield to`RENDERED`, unless another value is specified in the same request.\nTo have no outline on a page element, set this field to `NOT_RENDERED`. In\nthis case, any other outline fields set in the same request will be\nignored.", + "type": "string", + "enumDescriptions": [ + "If a property's state is RENDERED, then the element has the corresponding\nproperty when rendered on a page. If the element is a placeholder shape as\ndetermined by the placeholder\nfield, and it inherits from a placeholder shape, the corresponding field\nmay be unset, meaning that the property value is inherited from a parent\nplaceholder. If the element does not inherit, then the field will contain\nthe rendered value. This is the default value.", + "If a property's state is NOT_RENDERED, then the element does not have the\ncorresponding property when rendered on a page. However, the field may\nstill be set so it can be inherited by child shapes. To remove a property\nfrom a rendered element, set its property_state to NOT_RENDERED.", + "If a property's state is INHERIT, then the property state uses the value of\ncorresponding `property_state` field on the parent shape. Elements that do\nnot inherit will never have an INHERIT property state." + ] + } + }, + "id": "Outline", + "description": "The outline of a PageElement.\n\nIf these fields are unset, they may be inherited from a parent placeholder\nif it exists. If there is no parent, the fields will default to the value\nused for new page elements created in the Slides editor, which may depend on\nthe page element kind.", + "type": "object" + }, + "NotesProperties": { + "description": "The properties of Page that are only\nrelevant for pages with page_type NOTES.", "type": "object", "properties": { - "containsText": { - "description": "Finds text in a shape matching this substring.", - "$ref": "SubstringMatchCriteria" + "speakerNotesObjectId": { + "description": "The object ID of the shape on this notes page that contains the speaker\nnotes for the corresponding slide.\nThe actual shape may not always exist on the notes page. Inserting text\nusing this object ID will automatically create the shape. In this case, the\nactual shape may have different object ID. The `GetPresentation` or\n`GetPage` action will always return the latest object ID.", + "type": "string" + } + }, + "id": "NotesProperties" + }, + "ShapeProperties": { + "description": "The properties of a Shape.\n\nIf the shape is a placeholder shape as determined by the\nplaceholder field, then these\nproperties may be inherited from a parent placeholder shape.\nDetermining the rendered value of the property depends on the corresponding\nproperty_state field value.", + "type": "object", + "properties": { + "outline": { + "$ref": "Outline", + "description": "The outline of the shape. If unset, the outline is inherited from a\nparent placeholder if it exists. If the shape has no parent, then the\ndefault outline depends on the shape type, matching the defaults for\nnew shapes created in the Slides editor." }, - "pageObjectIds": { - "description": "If non-empty, limits the matches to page elements only on the given pages.\n\nReturns a 400 bad request error if given the page object ID of a\nnotes master,\nor if a page with that object ID doesn't exist in the presentation.", + "shadow": { + "$ref": "Shadow", + "description": "The shadow properties of the shape. If unset, the shadow is inherited from\na parent placeholder if it exists. If the shape has no parent, then the\ndefault shadow matches the defaults for new shapes created in the Slides\neditor. This property is read-only." + }, + "shapeBackgroundFill": { + "$ref": "ShapeBackgroundFill", + "description": "The background fill of the shape. If unset, the background fill is\ninherited from a parent placeholder if it exists. If the shape has no\nparent, then the default background fill depends on the shape type,\nmatching the defaults for new shapes created in the Slides editor." + }, + "link": { + "$ref": "Link", + "description": "The hyperlink destination of the shape. If unset, there is no link. Links\nare not inherited from parent placeholders." + } + }, + "id": "ShapeProperties" + }, + "TableColumnProperties": { + "description": "Properties of each column in a table.", + "type": "object", + "properties": { + "columnWidth": { + "description": "Width of a column.", + "$ref": "Dimension" + } + }, + "id": "TableColumnProperties" + }, + "TableRow": { + "type": "object", + "properties": { + "tableCells": { "items": { - "type": "string" + "$ref": "TableCell" + }, + "type": "array", + "description": "Properties and contents of each cell.\n\nCells that span multiple columns are represented only once with a\ncolumn_span greater\nthan 1. As a result, the length of this collection does not always match\nthe number of columns of the entire table." + }, + "rowHeight": { + "description": "Height of a row.", + "$ref": "Dimension" + } + }, + "id": "TableRow", + "description": "Properties and contents of each row in a table." + }, + "UpdateTableCellPropertiesRequest": { + "description": "Update the properties of a TableCell.", + "type": "object", + "properties": { + "fields": { + "format": "google-fieldmask", + "description": "The fields that should be updated.\n\nAt least one field must be specified. The root `tableCellProperties` is\nimplied and should not be specified. A single `\"*\"` can be used as\nshort-hand for listing every field.\n\nFor example to update the table cell background solid fill color, set\n`fields` to `\"tableCellBackgroundFill.solidFill.color\"`.\n\nTo reset a property to its default value, include its field name in the\nfield mask but leave the field itself unset.", + "type": "string" + }, + "tableRange": { + "description": "The table range representing the subset of the table to which the updates\nare applied. If a table range is not specified, the updates will apply to\nthe entire table.", + "$ref": "TableRange" + }, + "objectId": { + "description": "The object ID of the table.", + "type": "string" + }, + "tableCellProperties": { + "$ref": "TableCellProperties", + "description": "The table cell properties to update." + } + }, + "id": "UpdateTableCellPropertiesRequest" + }, + "CreateSlideRequest": { + "description": "Creates a new slide.", + "type": "object", + "properties": { + "slideLayoutReference": { + "$ref": "LayoutReference", + "description": "Layout reference of the slide to be inserted, based on the *current\nmaster*, which is one of the following:\n\n- The master of the previous slide index.\n- The master of the first slide, if the insertion_index is zero.\n- The first master in the presentation, if there are no slides.\n\nIf the LayoutReference is not found in the current master, a 400 bad\nrequest error is returned.\n\nIf you don't specify a layout reference, then the new slide will use the\npredefined layout `BLANK`." + }, + "objectId": { + "description": "A user-supplied object ID.\n\nIf you specify an ID, it must be unique among all pages and page elements\nin the presentation. The ID must start with an alphanumeric character or an\nunderscore (matches regex `[a-zA-Z0-9_]`); remaining characters\nmay include those as well as a hyphen or colon (matches regex\n`[a-zA-Z0-9_-:]`).\nThe length of the ID must not be less than 5 or greater than 50.\n\nIf you don't specify an ID, a unique one is generated.", + "type": "string" + }, + "insertionIndex": { + "format": "int32", + "description": "The optional zero-based index indicating where to insert the slides.\n\nIf you don't specify an index, the new slide is created at the end.", + "type": "integer" + }, + "placeholderIdMappings": { + "description": "An optional list of object ID mappings from the placeholder(s) on the layout to the placeholder(s)\nthat will be created on the new slide from that specified layout. Can only\nbe used when `slide_layout_reference` is specified.", + "items": { + "$ref": "LayoutPlaceholderIdMapping" + }, + "type": "array" + } + }, + "id": "CreateSlideRequest" + }, + "BatchUpdatePresentationRequest": { + "type": "object", + "properties": { + "writeControl": { + "$ref": "WriteControl", + "description": "Provides control over how write requests are executed." + }, + "requests": { + "description": "A list of updates to apply to the presentation.", + "items": { + "$ref": "Request" + }, + "type": "array" + } + }, + "id": "BatchUpdatePresentationRequest", + "description": "Request message for PresentationsService.BatchUpdatePresentation." + }, + "TextContent": { + "description": "The general text content. The text must reside in a compatible shape (e.g.\ntext box or rectangle) or a table cell in a page.", + "type": "object", + "properties": { + "textElements": { + "description": "The text contents broken down into its component parts, including styling\ninformation. This property is read-only.", + "items": { + "$ref": "TextElement" }, "type": "array" }, - "replaceText": { - "description": "The text that will replace the matched text.", + "lists": { + "additionalProperties": { + "$ref": "List" + }, + "description": "The bulleted lists contained in this text, keyed by list ID.", + "type": "object" + } + }, + "id": "TextContent" + }, + "CreateSheetsChartResponse": { + "description": "The result of creating an embedded Google Sheets chart.", + "type": "object", + "properties": { + "objectId": { + "description": "The object ID of the created chart.", "type": "string" } }, - "id": "ReplaceAllTextRequest" + "id": "CreateSheetsChartResponse" + }, + "WriteControl": { + "description": "Provides control over how write requests are executed.", + "type": "object", + "properties": { + "requiredRevisionId": { + "description": "The revision ID of the presentation required for the write request. If\nspecified and the `required_revision_id` doesn't exactly match the\npresentation's current `revision_id`, the request will not be processed and\nwill return a 400 bad request error.", + "type": "string" + } + }, + "id": "WriteControl" + }, + "DeleteParagraphBulletsRequest": { + "properties": { + "textRange": { + "description": "The range of text to delete bullets from, based on TextElement indexes.", + "$ref": "Range" + }, + "objectId": { + "description": "The object ID of the shape or table containing the text to delete bullets\nfrom.", + "type": "string" + }, + "cellLocation": { + "description": "The optional table cell location if the text to be modified is in a table\ncell. If present, the object_id must refer to a table.", + "$ref": "TableCellLocation" + } + }, + "id": "DeleteParagraphBulletsRequest", + "description": "Deletes bullets from all of the paragraphs that overlap with the given text\nindex range.\n\nThe nesting level of each paragraph will be visually preserved by adding\nindent to the start of the corresponding paragraph.", + "type": "object" + }, + "ParagraphMarker": { + "description": "A TextElement kind that represents the beginning of a new paragraph.", + "type": "object", + "properties": { + "style": { + "$ref": "ParagraphStyle", + "description": "The paragraph's style" + }, + "bullet": { + "$ref": "Bullet", + "description": "The bullet for this paragraph. If not present, the paragraph does not\nbelong to a list." + } + }, + "id": "ParagraphMarker" + }, + "Thumbnail": { + "properties": { + "width": { + "format": "int32", + "description": "The positive width in pixels of the thumbnail image.", + "type": "integer" + }, + "height": { + "format": "int32", + "description": "The positive height in pixels of the thumbnail image.", + "type": "integer" + }, + "contentUrl": { + "description": "The content URL of the thumbnail image.\n\nThe URL to the image has a default lifetime of 30 minutes.\nThis URL is tagged with the account of the requester. Anyone with the URL\neffectively accesses the image as the original requester. Access to the\nimage may be lost if the presentation's sharing settings change.\nThe mime type of the thumbnail image is the same as specified in the\n`GetPageThumbnailRequest`.", + "type": "string" + } + }, + "id": "Thumbnail", + "description": "The thumbnail of a page.", + "type": "object" + }, + "InsertTableColumnsRequest": { + "id": "InsertTableColumnsRequest", + "description": "Inserts columns into a table.\n\nOther columns in the table will be resized to fit the new column.", + "type": "object", + "properties": { + "number": { + "format": "int32", + "description": "The number of columns to be inserted. Maximum 20 per request.", + "type": "integer" + }, + "cellLocation": { + "description": "The reference table cell location from which columns will be inserted.\n\nA new column will be inserted to the left (or right) of the column where\nthe reference cell is. If the reference cell is a merged cell, a new\ncolumn will be inserted to the left (or right) of the merged cell.", + "$ref": "TableCellLocation" + }, + "insertRight": { + "description": "Whether to insert new columns to the right of the reference cell location.\n\n- `True`: insert to the right.\n- `False`: insert to the left.", + "type": "boolean" + }, + "tableObjectId": { + "description": "The table to insert columns into.", + "type": "string" + } + } + }, + "LayoutPlaceholderIdMapping": { + "description": "The user-specified ID mapping for a placeholder that will be created on a\nslide from a specified layout.", + "type": "object", + "properties": { + "objectId": { + "description": "A user-supplied object ID for the placeholder identified above that to be\ncreated onto a slide.\n\nIf you specify an ID, it must be unique among all pages and page elements\nin the presentation. The ID must start with an alphanumeric character or an\nunderscore (matches regex `[a-zA-Z0-9_]`); remaining characters\nmay include those as well as a hyphen or colon (matches regex\n`[a-zA-Z0-9_-:]`).\nThe length of the ID must not be less than 5 or greater than 50.\n\nIf you don't specify an ID, a unique one is generated.", + "type": "string" + }, + "layoutPlaceholder": { + "$ref": "Placeholder", + "description": "The placeholder on a layout that will be applied to a slide. Only type and index are needed. For example, a\npredefined `TITLE_AND_BODY` layout may usually have a TITLE placeholder\nwith index 0 and a BODY placeholder with index 0." + }, + "layoutPlaceholderObjectId": { + "description": "The object ID of the placeholder on a layout that will be applied\nto a slide.", + "type": "string" + } + }, + "id": "LayoutPlaceholderIdMapping" + }, + "UpdateShapePropertiesRequest": { + "type": "object", + "properties": { + "fields": { + "format": "google-fieldmask", + "description": "The fields that should be updated.\n\nAt least one field must be specified. The root `shapeProperties` is\nimplied and should not be specified. A single `\"*\"` can be used as\nshort-hand for listing every field.\n\nFor example to update the shape background solid fill color, set `fields`\nto `\"shapeBackgroundFill.solidFill.color\"`.\n\nTo reset a property to its default value, include its field name in the\nfield mask but leave the field itself unset.", + "type": "string" + }, + "objectId": { + "description": "The object ID of the shape the updates are applied to.", + "type": "string" + }, + "shapeProperties": { + "description": "The shape properties to update.", + "$ref": "ShapeProperties" + } + }, + "id": "UpdateShapePropertiesRequest", + "description": "Update the properties of a Shape." } }, - "icons": { - "x32": "http://www.google.com/images/icons/product/search-32.gif", - "x16": "http://www.google.com/images/icons/product/search-16.gif" - }, "protocol": "rest", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, "canonicalName": "Slides", "auth": { "oauth2": { "scopes": { - "https://www.googleapis.com/auth/presentations": { - "description": "View and manage your Google Slides presentations" - }, - "https://www.googleapis.com/auth/presentations.readonly": { - "description": "View your Google Slides presentations" - }, "https://www.googleapis.com/auth/spreadsheets.readonly": { "description": "View your Google Spreadsheets" }, @@ -3899,11 +3911,14 @@ }, "https://www.googleapis.com/auth/spreadsheets": { "description": "View and manage your spreadsheets in Google Drive" + }, + "https://www.googleapis.com/auth/presentations": { + "description": "View and manage your Google Slides presentations" + }, + "https://www.googleapis.com/auth/presentations.readonly": { + "description": "View your Google Slides presentations" } } } - }, - "rootUrl": "https://slides.googleapis.com/", - "ownerDomain": "google.com", - "name": "slides" + } } diff --git a/vendor/google.golang.org/api/slides/v1/slides-gen.go b/vendor/google.golang.org/api/slides/v1/slides-gen.go index 3b33a4d70..c0287fa07 100644 --- a/vendor/google.golang.org/api/slides/v1/slides-gen.go +++ b/vendor/google.golang.org/api/slides/v1/slides-gen.go @@ -469,6 +469,8 @@ type CreateImageRequest struct { // cannot exceed 25 megapixels, and must be in either in PNG, JPEG, or // GIF // format. + // + // The provided URL can be at maximum 2K bytes large. Url string `json:"url,omitempty"` // ForceSendFields is a list of field names (e.g. "ElementProperties") @@ -640,7 +642,7 @@ type CreateParagraphBulletsRequest struct { // `DIAMOND` and `DISC` bullet glyph for // the first 3 list nesting levels. // "BULLET_STAR_CIRCLE_SQUARE" - A bulleted list with a `STAR`, - // `CIRCLE` and `DISC` bullet glyph for + // `CIRCLE` and `SQUARE` bullet glyph for // the first 3 list nesting levels. // "BULLET_ARROW3D_CIRCLE_SQUARE" - A bulleted list with a `ARROW3D`, // `CIRCLE` and `SQUARE` bullet glyph for @@ -2712,6 +2714,35 @@ func (s *List) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// MasterProperties: The properties of Page that are only +// relevant for pages with page_type MASTER. +type MasterProperties struct { + // DisplayName: The human-readable name of the master. + DisplayName string `json:"displayName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DisplayName") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *MasterProperties) MarshalJSON() ([]byte, error) { + type noMethod MasterProperties + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // NestingLevel: Contains properties describing the look and feel of a // list bullet at a given // level of nesting. @@ -2999,6 +3030,10 @@ type Page struct { // LAYOUT. LayoutProperties *LayoutProperties `json:"layoutProperties,omitempty"` + // MasterProperties: Master specific properties. Only set if page_type = + // MASTER. + MasterProperties *MasterProperties `json:"masterProperties,omitempty"` + // NotesProperties: Notes specific properties. Only set if page_type = // NOTES. NotesProperties *NotesProperties `json:"notesProperties,omitempty"` @@ -3083,7 +3118,7 @@ func (s *Page) MarshalJSON() ([]byte, error) { type PageBackgroundFill struct { // PropertyState: The background fill property state. // - // Updating the the fill on a page will implicitly update this field + // Updating the fill on a page will implicitly update this field // to // `RENDERED`, unless another value is specified in the same request. // To @@ -3189,6 +3224,19 @@ type PageElement struct { Title string `json:"title,omitempty"` // Transform: The transform of the page element. + // + // The visual appearance of the page element is determined by its + // absolute + // transform. To compute the absolute transform, preconcatenate a + // page + // element's transform with the transforms of all of its parent groups. + // If the + // page element is not in a group, its absolute transform is the same as + // the + // value in this field. + // + // The initial transform for the newly created Group is always the + // identity transform. Transform *AffineTransform `json:"transform,omitempty"` // Video: A video page element. @@ -3861,6 +3909,8 @@ type ReplaceAllShapesWithImageRequest struct { // cannot exceed 25 megapixels, and must be in either in PNG, JPEG, or // GIF // format. + // + // The provided URL can be at maximum 2K bytes large. ImageUrl string `json:"imageUrl,omitempty"` // PageObjectIds: If non-empty, limits the matches to page elements only @@ -5222,6 +5272,8 @@ type StretchedPictureFill struct { // cannot exceed 25 megapixels, and must be in either in PNG, JPEG, or // GIF // format. + // + // The provided URL can be at maximum 2K bytes large. ContentUrl string `json:"contentUrl,omitempty"` // Size: The original size of the picture fill. This field is read-only. @@ -6144,6 +6196,12 @@ func (s *UpdateLinePropertiesRequest) MarshalJSON() ([]byte, error) { // UpdatePageElementTransformRequest: Updates the transform of a page // element. +// +// Updating the transform of a group will change the absolute transform +// of the +// page elements in that group, which can change their visual +// appearance. See +// the documentation for PageElement.transform for more details. type UpdatePageElementTransformRequest struct { // ApplyMode: The apply mode of the transform update. // diff --git a/vendor/google.golang.org/api/sourcerepo/v1/sourcerepo-api.json b/vendor/google.golang.org/api/sourcerepo/v1/sourcerepo-api.json index 6f3564e19..e7a1fd398 100644 --- a/vendor/google.golang.org/api/sourcerepo/v1/sourcerepo-api.json +++ b/vendor/google.golang.org/api/sourcerepo/v1/sourcerepo-api.json @@ -1,127 +1,11 @@ { - "title": "Cloud Source Repositories API", "ownerName": "Google", "resources": { "projects": { "resources": { "repos": { "methods": { - "getIamPolicy": { - "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", - "httpMethod": "GET", - "response": { - "$ref": "Policy" - }, - "parameterOrder": [ - "resource" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/source.read_only", - "https://www.googleapis.com/auth/source.read_write" - ], - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/repos/.+$", - "location": "path" - } - }, - "flatPath": "v1/projects/{projectsId}/repos/{reposId}:getIamPolicy", - "path": "v1/{+resource}:getIamPolicy", - "id": "sourcerepo.projects.repos.getIamPolicy" - }, - "get": { - "flatPath": "v1/projects/{projectsId}/repos/{reposId}", - "path": "v1/{+name}", - "id": "sourcerepo.projects.repos.get", - "description": "Returns information about a repo.", - "httpMethod": "GET", - "response": { - "$ref": "Repo" - }, - "parameterOrder": [ - "name" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/source.read_only", - "https://www.googleapis.com/auth/source.read_write" - ], - "parameters": { - "name": { - "description": "The name of the requested repository. Values are of the form\n`projects/\u003cproject\u003e/repos/\u003crepo\u003e`.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/repos/.+$", - "location": "path" - } - } - }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.", - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "parameters": { - "resource": { - "location": "path", - "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/repos/.+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/source.read_only", - "https://www.googleapis.com/auth/source.read_write" - ], - "flatPath": "v1/projects/{projectsId}/repos/{reposId}:testIamPermissions", - "id": "sourcerepo.projects.repos.testIamPermissions", - "path": "v1/{+resource}:testIamPermissions" - }, - "delete": { - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "DELETE", - "parameters": { - "name": { - "description": "The name of the repo to delete. Values are of the form\n`projects/\u003cproject\u003e/repos/\u003crepo\u003e`.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/repos/.+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/source.read_only", - "https://www.googleapis.com/auth/source.read_write" - ], - "flatPath": "v1/projects/{projectsId}/repos/{reposId}", - "id": "sourcerepo.projects.repos.delete", - "path": "v1/{+name}", - "description": "Deletes a repo." - }, "list": { - "flatPath": "v1/projects/{projectsId}/repos", - "id": "sourcerepo.projects.repos.list", - "path": "v1/{+name}/repos", - "description": "Returns all repos belonging to a project. The sizes of the repos are\nnot set by ListRepos. To get the size of a repo, use GetRepo.", "response": { "$ref": "ListReposResponse" }, @@ -130,6 +14,12 @@ ], "httpMethod": "GET", "parameters": { + "pageSize": { + "format": "int32", + "description": "Maximum number of repositories to return; between 1 and 500.\nIf not set or zero, defaults to 100 at the server.", + "type": "integer", + "location": "query" + }, "pageToken": { "location": "query", "description": "Resume listing repositories where a prior ListReposResponse\nleft off. This is an opaque token that must be obtained from\na recent, prior ListReposResponse's next_page_token field.", @@ -141,19 +31,49 @@ "type": "string", "required": true, "pattern": "^projects/[^/]+$" - }, - "pageSize": { - "format": "int32", - "description": "Maximum number of repositories to return; between 1 and 500.\nIf not set or zero, defaults to 100 at the server.", - "type": "integer", - "location": "query" } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/source.full_control", "https://www.googleapis.com/auth/source.read_only", "https://www.googleapis.com/auth/source.read_write" - ] + ], + "flatPath": "v1/projects/{projectsId}/repos", + "id": "sourcerepo.projects.repos.list", + "path": "v1/{+name}/repos", + "description": "Returns all repos belonging to a project. The sizes of the repos are\nnot set by ListRepos. To get the size of a repo, use GetRepo." + }, + "setIamPolicy": { + "request": { + "$ref": "SetIamPolicyRequest" + }, + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", + "httpMethod": "POST", + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/source.full_control", + "https://www.googleapis.com/auth/source.read_only", + "https://www.googleapis.com/auth/source.read_write" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/repos/.+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/repos/{reposId}:setIamPolicy", + "path": "v1/{+resource}:setIamPolicy", + "id": "sourcerepo.projects.repos.setIamPolicy" }, "create": { "flatPath": "v1/projects/{projectsId}/repos", @@ -181,39 +101,125 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/source.full_control", "https://www.googleapis.com/auth/source.read_only", "https://www.googleapis.com/auth/source.read_write" ] }, - "setIamPolicy": { - "request": { - "$ref": "SetIamPolicyRequest" - }, - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.", - "httpMethod": "POST", + "getIamPolicy": { + "httpMethod": "GET", "parameterOrder": [ "resource" ], "response": { "$ref": "Policy" }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/source.read_only", - "https://www.googleapis.com/auth/source.read_write" - ], "parameters": { "resource": { - "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", "type": "string", "required": true, "pattern": "^projects/[^/]+/repos/.+$", "location": "path" } }, - "flatPath": "v1/projects/{projectsId}/repos/{reposId}:setIamPolicy", - "path": "v1/{+resource}:setIamPolicy", - "id": "sourcerepo.projects.repos.setIamPolicy" + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/source.full_control", + "https://www.googleapis.com/auth/source.read_only", + "https://www.googleapis.com/auth/source.read_write" + ], + "flatPath": "v1/projects/{projectsId}/repos/{reposId}:getIamPolicy", + "path": "v1/{+resource}:getIamPolicy", + "id": "sourcerepo.projects.repos.getIamPolicy", + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset." + }, + "get": { + "description": "Returns information about a repo.", + "response": { + "$ref": "Repo" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "location": "path", + "description": "The name of the requested repository. Values are of the form\n`projects/\u003cproject\u003e/repos/\u003crepo\u003e`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/repos/.+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/source.full_control", + "https://www.googleapis.com/auth/source.read_only", + "https://www.googleapis.com/auth/source.read_write" + ], + "flatPath": "v1/projects/{projectsId}/repos/{reposId}", + "id": "sourcerepo.projects.repos.get", + "path": "v1/{+name}" + }, + "testIamPermissions": { + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/source.full_control", + "https://www.googleapis.com/auth/source.read_only", + "https://www.googleapis.com/auth/source.read_write" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/repos/.+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/repos/{reposId}:testIamPermissions", + "id": "sourcerepo.projects.repos.testIamPermissions", + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error." + }, + "delete": { + "description": "Deletes a repo.", + "httpMethod": "DELETE", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/source.full_control", + "https://www.googleapis.com/auth/source.read_only", + "https://www.googleapis.com/auth/source.read_write" + ], + "parameters": { + "name": { + "description": "The name of the repo to delete. Values are of the form\n`projects/\u003cproject\u003e/repos/\u003crepo\u003e`.", + "type": "string", + "required": true, + "pattern": "^projects/[^/]+/repos/.+$", + "location": "path" + } + }, + "flatPath": "v1/projects/{projectsId}/repos/{reposId}", + "path": "v1/{+name}", + "id": "sourcerepo.projects.repos.delete" } } } @@ -221,37 +227,6 @@ } }, "parameters": { - "access_token": { - "location": "query", - "description": "OAuth access token.", - "type": "string" - }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, - "quotaUser": { - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" - }, - "pp": { - "description": "Pretty-print response.", - "default": "true", - "type": "boolean", - "location": "query" - }, - "bearer_token": { - "description": "OAuth bearer token.", - "type": "string", - "location": "query" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" - }, "upload_protocol": { "location": "query", "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", @@ -273,9 +248,12 @@ "type": "string", "location": "query" }, - "$.xgafv": { - "description": "V1 error format.", + "callback": { + "description": "JSONP", "type": "string", + "location": "query" + }, + "$.xgafv": { "enumDescriptions": [ "v1 error format", "v2 error format" @@ -284,12 +262,9 @@ "enum": [ "1", "2" - ] - }, - "callback": { - "description": "JSONP", - "type": "string", - "location": "query" + ], + "description": "V1 error format.", + "type": "string" }, "alt": { "description": "Data format for response.", @@ -306,24 +281,127 @@ "Responses with Content-Type of application/x-protobuf" ], "location": "query" + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" + }, + "pp": { + "description": "Pretty-print response.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", + "location": "query" } }, "version": "v1", "baseUrl": "https://sourcerepo.googleapis.com/", - "servicePath": "", - "description": "Access source code repositories hosted by Google.", "kind": "discovery#restDescription", + "description": "Access source code repositories hosted by Google.", + "servicePath": "", "basePath": "", - "id": "sourcerepo:v1", + "revision": "20170908", "documentationLink": "https://cloud.google.com/source-repositories/docs/apis", - "revision": "20170528", + "id": "sourcerepo:v1", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { + "AuditConfig": { + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"fooservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:bar@gmail.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts foo@gmail.com from DATA_READ logging, and\nbar@gmail.com from DATA_WRITE logging.", + "type": "object", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.\nNext ID: 4", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + }, + "exemptedMembers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", + "type": "string" + } + }, + "id": "AuditConfig" + }, + "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "type": "object", + "properties": { + "updateMask": { + "format": "google-fieldmask", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "type": "string" + }, + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + } + }, + "id": "SetIamPolicyRequest" + }, + "Binding": { + "description": "Associates `members` with a `role`.", + "type": "object", + "properties": { + "condition": { + "description": "The condition that is associated with this binding.\nNOTE: an unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently.\nThis field is GOOGLE_INTERNAL.", + "$ref": "Expr" + }, + "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@gmail.com` or `joe@example.com`.\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n\n* `domain:{domain}`: A Google Apps domain name that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired", + "type": "string" + } + }, + "id": "Binding" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object", + "properties": {}, + "id": "Empty" + }, "MirrorConfig": { "description": "Configuration to automatically mirror a repository from another\nhosting service, for example GitHub or BitBucket.", "type": "object", "properties": { + "webhookId": { + "description": "ID of the webhook listening to updates to trigger mirroring.\nRemoving this webook from the other hosting service will stop\nGoogle Cloud Source Repositories from receiving notifications,\nand thereby disabling mirroring.", + "type": "string" + }, "deployKeyId": { "description": "ID of the SSH deploy key at the other hosting service.\nRemoving this key from the other service would deauthorize\nGoogle Cloud Source Repositories from mirroring.", "type": "string" @@ -331,19 +409,32 @@ "url": { "description": "URL of the main repository at the other hosting service.", "type": "string" - }, - "webhookId": { - "description": "ID of the webhook listening to updates to trigger mirroring.\nRemoving this webook from the other hosting service will stop\nGoogle Cloud Source Repositories from receiving notifications,\nand thereby disabling mirroring.", - "type": "string" } }, "id": "MirrorConfig" }, - "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "Expr": { + "description": "Represents an expression text. Example:\n\n title: \"User account presence\"\n description: \"Determines whether the request has a user account\"\n expression: \"size(request.user) \u003e 0\"", "type": "object", - "properties": {}, - "id": "Empty" + "properties": { + "location": { + "description": "An optional string indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "An optional title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", + "type": "string" + }, + "description": { + "description": "An optional description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in\nCommon Expression Language syntax.\n\nThe application context of the containing message determines which\nwell-known feature set of CEL is supported.", + "type": "string" + } + }, + "id": "Expr" }, "Repo": { "description": "A repository (or repo) is a Git repository storing versioned source content.", @@ -401,110 +492,10 @@ }, "id": "ListReposResponse" }, - "Condition": { - "description": "A condition to be met.", - "type": "object", - "properties": { - "values": { - "description": "The objects of the condition. This is mutually exclusive with 'value'.", - "items": { - "type": "string" - }, - "type": "array" - }, - "iam": { - "enumDescriptions": [ - "Default non-attribute.", - "Either principal or (if present) authority selector.", - "The principal (even if an authority selector is present), which\nmust only be used for attribution, not authorization.", - "An approver (distinct from the requester) that has authorized this\nrequest.\nWhen used with IN, the condition indicates that one of the approvers\nassociated with the request matches the specified principal, or is a\nmember of the specified group. Approvers can only grant additional\naccess, and are thus only used in a strictly positive context\n(e.g. ALLOW/IN or DENY/NOT_IN).\nSee: go/rpc-security-policy-dynamicauth.", - "What types of justifications have been supplied with this request.\nString values should match enum names from tech.iam.JustificationType,\ne.g. \"MANUAL_STRING\". It is not permitted to grant access based on\nthe *absence* of a justification, so justification conditions can only\nbe used in a \"positive\" context (e.g., ALLOW/IN or DENY/NOT_IN).\n\nMultiple justifications, e.g., a Buganizer ID and a manually-entered\nreason, are normal and supported." - ], - "enum": [ - "NO_ATTR", - "AUTHORITY", - "ATTRIBUTION", - "APPROVER", - "JUSTIFICATION_TYPE" - ], - "description": "Trusted attributes supplied by the IAM system.", - "type": "string" - }, - "op": { - "description": "An operator to apply the subject with.", - "type": "string", - "enumDescriptions": [ - "Default no-op.", - "DEPRECATED. Use IN instead.", - "DEPRECATED. Use NOT_IN instead.", - "The condition is true if the subject (or any element of it if it is\na set) matches any of the supplied values.", - "The condition is true if the subject (or every element of it if it is\na set) matches none of the supplied values.", - "Subject is discharged" - ], - "enum": [ - "NO_OP", - "EQUALS", - "NOT_EQUALS", - "IN", - "NOT_IN", - "DISCHARGED" - ] - }, - "svc": { - "description": "Trusted attributes discharged by the service.", - "type": "string" - }, - "value": { - "description": "DEPRECATED. Use 'values' instead.", - "type": "string" - }, - "sys": { - "description": "Trusted attributes supplied by any service that owns resources and uses\nthe IAM system for access control.", - "type": "string", - "enumDescriptions": [ - "Default non-attribute type", - "Region of the resource", - "Service name", - "Resource name", - "IP address of the caller" - ], - "enum": [ - "NO_ATTR", - "REGION", - "SERVICE", - "NAME", - "IP" - ] - } - }, - "id": "Condition" - }, - "CounterOptions": { - "description": "Options for counters", - "type": "object", - "properties": { - "field": { - "description": "The field value to attribute.", - "type": "string" - }, - "metric": { - "description": "The metric to update.", - "type": "string" - } - }, - "id": "CounterOptions" - }, "AuditLogConfig": { "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\nfoo@gmail.com from DATA_READ logging.", "type": "object", "properties": { - "exemptedMembers": { - "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", - "items": { - "type": "string" - }, - "type": "array" - }, "logType": { "enumDescriptions": [ "Default case. Should never be this.", @@ -520,95 +511,17 @@ ], "description": "The log type that this config enables.", "type": "string" + }, + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" } }, "id": "AuditLogConfig" }, - "Rule": { - "description": "A rule to be applied in a Policy.", - "type": "object", - "properties": { - "description": { - "description": "Human-readable description of the rule.", - "type": "string" - }, - "conditions": { - "description": "Additional restrictions that must be met", - "items": { - "$ref": "Condition" - }, - "type": "array" - }, - "logConfig": { - "description": "The config returned to callers of tech.iam.IAM.CheckPolicy for any entries\nthat match the LOG action.", - "items": { - "$ref": "LogConfig" - }, - "type": "array" - }, - "in": { - "description": "If one or more 'in' clauses are specified, the rule matches if\nthe PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.", - "items": { - "type": "string" - }, - "type": "array" - }, - "permissions": { - "description": "A permission is a string of form '\u003cservice\u003e.\u003cresource type\u003e.\u003cverb\u003e'\n(e.g., 'storage.buckets.list'). A value of '*' matches all permissions,\nand a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.", - "items": { - "type": "string" - }, - "type": "array" - }, - "action": { - "enumDescriptions": [ - "Default no action.", - "Matching 'Entries' grant access.", - "Matching 'Entries' grant access and the caller promises to log\nthe request per the returned log_configs.", - "Matching 'Entries' deny access.", - "Matching 'Entries' deny access and the caller promises to log\nthe request per the returned log_configs.", - "Matching 'Entries' tell IAM.Check callers to generate logs." - ], - "enum": [ - "NO_ACTION", - "ALLOW", - "ALLOW_WITH_LOG", - "DENY", - "DENY_WITH_LOG", - "LOG" - ], - "description": "Required", - "type": "string" - }, - "notIn": { - "description": "If one or more 'not_in' clauses are specified, the rule matches\nif the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.\nThe format for in and not_in entries is the same as for members in a\nBinding (see google/iam/v1/policy.proto).", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "Rule" - }, - "LogConfig": { - "description": "Specifies what kind of log the caller must write", - "type": "object", - "properties": { - "dataAccess": { - "$ref": "DataAccessOptions", - "description": "Data access options." - }, - "cloudAudit": { - "$ref": "CloudAuditOptions", - "description": "Cloud audit options." - }, - "counter": { - "$ref": "CounterOptions", - "description": "Counter options." - } - }, - "id": "LogConfig" - }, "TestIamPermissionsRequest": { "description": "Request message for `TestIamPermissions` method.", "type": "object", @@ -627,21 +540,6 @@ "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam).", "type": "object", "properties": { - "iamOwned": { - "type": "boolean" - }, - "rules": { - "description": "If more than one rule is specified, the rules are applied in the following\nmanner:\n- All matching LOG rules are always applied.\n- If any DENY/DENY_WITH_LOG rule matches, permission is denied.\n Logging will be applied if one or more matching rule requires logging.\n- Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is\n granted.\n Logging will be applied if one or more matching rule requires logging.\n- Otherwise, if no rule applies, permission is denied.", - "items": { - "$ref": "Rule" - }, - "type": "array" - }, - "version": { - "format": "int32", - "description": "Version of the `Policy`. The default version is 0.", - "type": "integer" - }, "auditConfigs": { "description": "Specifies cloud audit logging configuration for this policy.", "items": { @@ -650,109 +548,32 @@ "type": "array" }, "bindings": { - "description": "Associates a list of `members` to a `role`.\nMultiple `bindings` must not be specified for the same `role`.\n`bindings` with no members will result in an error.", + "description": "Associates a list of `members` to a `role`.\n`bindings` with no members will result in an error.", "items": { "$ref": "Binding" }, "type": "array" }, + "iamOwned": { + "type": "boolean" + }, "etag": { "format": "byte", "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.", "type": "string" + }, + "version": { + "format": "int32", + "description": "Version of the `Policy`. The default version is 0.", + "type": "integer" } }, "id": "Policy" - }, - "DataAccessOptions": { - "description": "Write a Data Access (Gin) log", - "type": "object", - "properties": {}, - "id": "DataAccessOptions" - }, - "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"fooservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:bar@gmail.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts foo@gmail.com from DATA_READ logging, and\nbar@gmail.com from DATA_WRITE logging.", - "type": "object", - "properties": { - "service": { - "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", - "type": "string" - }, - "auditLogConfigs": { - "description": "The configuration for logging of each type of permission.\nNext ID: 4", - "items": { - "$ref": "AuditLogConfig" - }, - "type": "array" - }, - "exemptedMembers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "AuditConfig" - }, - "SetIamPolicyRequest": { - "description": "Request message for `SetIamPolicy` method.", - "type": "object", - "properties": { - "updateMask": { - "format": "google-fieldmask", - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", - "type": "string" - }, - "policy": { - "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them.", - "$ref": "Policy" - } - }, - "id": "SetIamPolicyRequest" - }, - "CloudAuditOptions": { - "description": "Write a Cloud Audit log", - "type": "object", - "properties": { - "logName": { - "enumDescriptions": [ - "Default. Should not be used.", - "Corresponds to \"cloudaudit.googleapis.com/activity\"", - "Corresponds to \"cloudaudit.googleapis.com/data_access\"" - ], - "enum": [ - "UNSPECIFIED_LOG_NAME", - "ADMIN_ACTIVITY", - "DATA_ACCESS" - ], - "description": "The log_name to populate in the Cloud Audit Record.", - "type": "string" - } - }, - "id": "CloudAuditOptions" - }, - "Binding": { - "description": "Associates `members` with a `role`.", - "type": "object", - "properties": { - "members": { - "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@gmail.com` or `joe@example.com`.\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n\n* `domain:{domain}`: A Google Apps domain name that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", - "items": { - "type": "string" - }, - "type": "array" - }, - "role": { - "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired", - "type": "string" - } - }, - "id": "Binding" } }, "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" }, "protocol": "rest", "canonicalName": "Cloud Source Repositories", @@ -762,6 +583,9 @@ "https://www.googleapis.com/auth/source.read_write": { "description": "Manage the contents of your source code repositories" }, + "https://www.googleapis.com/auth/source.full_control": { + "description": "Manage your source code repositories" + }, "https://www.googleapis.com/auth/cloud-platform": { "description": "View and manage your data across Google Cloud Platform services" }, @@ -774,5 +598,6 @@ "rootUrl": "https://sourcerepo.googleapis.com/", "ownerDomain": "google.com", "name": "sourcerepo", - "batchPath": "batch" + "batchPath": "batch", + "title": "Cloud Source Repositories API" } diff --git a/vendor/google.golang.org/api/sourcerepo/v1/sourcerepo-gen.go b/vendor/google.golang.org/api/sourcerepo/v1/sourcerepo-gen.go index f9764f57a..d3277ad3e 100644 --- a/vendor/google.golang.org/api/sourcerepo/v1/sourcerepo-gen.go +++ b/vendor/google.golang.org/api/sourcerepo/v1/sourcerepo-gen.go @@ -50,6 +50,9 @@ const ( // View and manage your data across Google Cloud Platform services CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" + // Manage your source code repositories + SourceFullControlScope = "https://www.googleapis.com/auth/source.full_control" + // View the contents of your source code repositories SourceReadOnlyScope = "https://www.googleapis.com/auth/source.read_only" @@ -261,6 +264,15 @@ func (s *AuditLogConfig) MarshalJSON() ([]byte, error) { // Binding: Associates `members` with a `role`. type Binding struct { + // Condition: The condition that is associated with this binding. + // NOTE: an unsatisfied condition will not allow user access via + // current + // binding. Different bindings, including their conditions, are + // examined + // independently. + // This field is GOOGLE_INTERNAL. + Condition *Expr `json:"condition,omitempty"` + // Members: Specifies the identities requesting access for a Cloud // Platform resource. // `members` can have the following values: @@ -302,7 +314,7 @@ type Binding struct { // Required Role string `json:"role,omitempty"` - // ForceSendFields is a list of field names (e.g. "Members") to + // ForceSendFields is a list of field names (e.g. "Condition") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -310,7 +322,7 @@ type Binding struct { // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Members") to include in + // NullFields is a list of field names (e.g. "Condition") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as @@ -325,174 +337,6 @@ func (s *Binding) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// CloudAuditOptions: Write a Cloud Audit log -type CloudAuditOptions struct { - // LogName: The log_name to populate in the Cloud Audit Record. - // - // Possible values: - // "UNSPECIFIED_LOG_NAME" - Default. Should not be used. - // "ADMIN_ACTIVITY" - Corresponds to - // "cloudaudit.googleapis.com/activity" - // "DATA_ACCESS" - Corresponds to - // "cloudaudit.googleapis.com/data_access" - LogName string `json:"logName,omitempty"` - - // ForceSendFields is a list of field names (e.g. "LogName") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "LogName") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *CloudAuditOptions) MarshalJSON() ([]byte, error) { - type noMethod CloudAuditOptions - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// Condition: A condition to be met. -type Condition struct { - // Iam: Trusted attributes supplied by the IAM system. - // - // Possible values: - // "NO_ATTR" - Default non-attribute. - // "AUTHORITY" - Either principal or (if present) authority selector. - // "ATTRIBUTION" - The principal (even if an authority selector is - // present), which - // must only be used for attribution, not authorization. - // "APPROVER" - An approver (distinct from the requester) that has - // authorized this - // request. - // When used with IN, the condition indicates that one of the - // approvers - // associated with the request matches the specified principal, or is - // a - // member of the specified group. Approvers can only grant - // additional - // access, and are thus only used in a strictly positive context - // (e.g. ALLOW/IN or DENY/NOT_IN). - // See: go/rpc-security-policy-dynamicauth. - // "JUSTIFICATION_TYPE" - What types of justifications have been - // supplied with this request. - // String values should match enum names from - // tech.iam.JustificationType, - // e.g. "MANUAL_STRING". It is not permitted to grant access based - // on - // the *absence* of a justification, so justification conditions can - // only - // be used in a "positive" context (e.g., ALLOW/IN or - // DENY/NOT_IN). - // - // Multiple justifications, e.g., a Buganizer ID and a - // manually-entered - // reason, are normal and supported. - Iam string `json:"iam,omitempty"` - - // Op: An operator to apply the subject with. - // - // Possible values: - // "NO_OP" - Default no-op. - // "EQUALS" - DEPRECATED. Use IN instead. - // "NOT_EQUALS" - DEPRECATED. Use NOT_IN instead. - // "IN" - The condition is true if the subject (or any element of it - // if it is - // a set) matches any of the supplied values. - // "NOT_IN" - The condition is true if the subject (or every element - // of it if it is - // a set) matches none of the supplied values. - // "DISCHARGED" - Subject is discharged - Op string `json:"op,omitempty"` - - // Svc: Trusted attributes discharged by the service. - Svc string `json:"svc,omitempty"` - - // Sys: Trusted attributes supplied by any service that owns resources - // and uses - // the IAM system for access control. - // - // Possible values: - // "NO_ATTR" - Default non-attribute type - // "REGION" - Region of the resource - // "SERVICE" - Service name - // "NAME" - Resource name - // "IP" - IP address of the caller - Sys string `json:"sys,omitempty"` - - // Value: DEPRECATED. Use 'values' instead. - Value string `json:"value,omitempty"` - - // Values: The objects of the condition. This is mutually exclusive with - // 'value'. - Values []string `json:"values,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Iam") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Iam") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *Condition) MarshalJSON() ([]byte, error) { - type noMethod Condition - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// CounterOptions: Options for counters -type CounterOptions struct { - // Field: The field value to attribute. - Field string `json:"field,omitempty"` - - // Metric: The metric to update. - Metric string `json:"metric,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Field") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Field") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *CounterOptions) MarshalJSON() ([]byte, error) { - type noMethod CounterOptions - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// DataAccessOptions: Write a Data Access (Gin) log -type DataAccessOptions struct { -} - // Empty: A generic empty message that you can re-use to avoid defining // duplicated // empty messages in your APIs. A typical example is to use it as the @@ -511,6 +355,60 @@ type Empty struct { googleapi.ServerResponse `json:"-"` } +// Expr: Represents an expression text. Example: +// +// title: "User account presence" +// description: "Determines whether the request has a user account" +// expression: "size(request.user) > 0" +type Expr struct { + // Description: An optional description of the expression. This is a + // longer text which + // describes the expression, e.g. when hovered over it in a UI. + Description string `json:"description,omitempty"` + + // Expression: Textual representation of an expression in + // Common Expression Language syntax. + // + // The application context of the containing message determines + // which + // well-known feature set of CEL is supported. + Expression string `json:"expression,omitempty"` + + // Location: An optional string indicating the location of the + // expression for error + // reporting, e.g. a file name and a position in the file. + Location string `json:"location,omitempty"` + + // Title: An optional title for the expression, i.e. a short string + // describing + // its purpose. This can be used e.g. in UIs which allow to enter + // the + // expression. + Title string `json:"title,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Description") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Expr) MarshalJSON() ([]byte, error) { + type noMethod Expr + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ListReposResponse: Response for ListRepos. The size is not set in // the returned repositories. type ListReposResponse struct { @@ -551,40 +449,6 @@ func (s *ListReposResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// LogConfig: Specifies what kind of log the caller must write -type LogConfig struct { - // CloudAudit: Cloud audit options. - CloudAudit *CloudAuditOptions `json:"cloudAudit,omitempty"` - - // Counter: Counter options. - Counter *CounterOptions `json:"counter,omitempty"` - - // DataAccess: Data access options. - DataAccess *DataAccessOptions `json:"dataAccess,omitempty"` - - // ForceSendFields is a list of field names (e.g. "CloudAudit") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "CloudAudit") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *LogConfig) MarshalJSON() ([]byte, error) { - type noMethod LogConfig - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // MirrorConfig: Configuration to automatically mirror a repository from // another // hosting service, for example GitHub or BitBucket. @@ -670,8 +534,6 @@ type Policy struct { AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"` // Bindings: Associates a list of `members` to a `role`. - // Multiple `bindings` must not be specified for the same - // `role`. // `bindings` with no members will result in an error. Bindings []*Binding `json:"bindings,omitempty"` @@ -697,20 +559,6 @@ type Policy struct { IamOwned bool `json:"iamOwned,omitempty"` - // Rules: If more than one rule is specified, the rules are applied in - // the following - // manner: - // - All matching LOG rules are always applied. - // - If any DENY/DENY_WITH_LOG rule matches, permission is denied. - // Logging will be applied if one or more matching rule requires - // logging. - // - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is - // granted. - // Logging will be applied if one or more matching rule requires - // logging. - // - Otherwise, if no rule applies, permission is denied. - Rules []*Rule `json:"rules,omitempty"` - // Version: Version of the `Policy`. The default version is 0. Version int64 `json:"version,omitempty"` @@ -790,77 +638,6 @@ func (s *Repo) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Rule: A rule to be applied in a Policy. -type Rule struct { - // Action: Required - // - // Possible values: - // "NO_ACTION" - Default no action. - // "ALLOW" - Matching 'Entries' grant access. - // "ALLOW_WITH_LOG" - Matching 'Entries' grant access and the caller - // promises to log - // the request per the returned log_configs. - // "DENY" - Matching 'Entries' deny access. - // "DENY_WITH_LOG" - Matching 'Entries' deny access and the caller - // promises to log - // the request per the returned log_configs. - // "LOG" - Matching 'Entries' tell IAM.Check callers to generate logs. - Action string `json:"action,omitempty"` - - // Conditions: Additional restrictions that must be met - Conditions []*Condition `json:"conditions,omitempty"` - - // Description: Human-readable description of the rule. - Description string `json:"description,omitempty"` - - // In: If one or more 'in' clauses are specified, the rule matches - // if - // the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries. - In []string `json:"in,omitempty"` - - // LogConfig: The config returned to callers of tech.iam.IAM.CheckPolicy - // for any entries - // that match the LOG action. - LogConfig []*LogConfig `json:"logConfig,omitempty"` - - // NotIn: If one or more 'not_in' clauses are specified, the rule - // matches - // if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries. - // The format for in and not_in entries is the same as for members in - // a - // Binding (see google/iam/v1/policy.proto). - NotIn []string `json:"notIn,omitempty"` - - // Permissions: A permission is a string of form '..' - // (e.g., 'storage.buckets.list'). A value of '*' matches all - // permissions, - // and a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs. - Permissions []string `json:"permissions,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Action") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Action") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *Rule) MarshalJSON() ([]byte, error) { - type noMethod Rule - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // SetIamPolicyRequest: Request message for `SetIamPolicy` method. type SetIamPolicyRequest struct { // Policy: REQUIRED: The complete policy to be applied to the @@ -1107,6 +884,7 @@ func (c *ProjectsReposCreateCall) Do(opts ...googleapi.CallOption) (*Repo, error // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/source.full_control", // "https://www.googleapis.com/auth/source.read_only", // "https://www.googleapis.com/auth/source.read_write" // ] @@ -1234,6 +1012,7 @@ func (c *ProjectsReposDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, erro // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/source.full_control", // "https://www.googleapis.com/auth/source.read_only", // "https://www.googleapis.com/auth/source.read_write" // ] @@ -1375,6 +1154,7 @@ func (c *ProjectsReposGetCall) Do(opts ...googleapi.CallOption) (*Repo, error) { // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/source.full_control", // "https://www.googleapis.com/auth/source.read_only", // "https://www.googleapis.com/auth/source.read_write" // ] @@ -1519,6 +1299,7 @@ func (c *ProjectsReposGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Polic // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/source.full_control", // "https://www.googleapis.com/auth/source.read_only", // "https://www.googleapis.com/auth/source.read_write" // ] @@ -1690,6 +1471,7 @@ func (c *ProjectsReposListCall) Do(opts ...googleapi.CallOption) (*ListReposResp // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/source.full_control", // "https://www.googleapis.com/auth/source.read_only", // "https://www.googleapis.com/auth/source.read_write" // ] @@ -1850,6 +1632,7 @@ func (c *ProjectsReposSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Polic // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/source.full_control", // "https://www.googleapis.com/auth/source.read_only", // "https://www.googleapis.com/auth/source.read_write" // ] @@ -1991,6 +1774,7 @@ func (c *ProjectsReposTestIamPermissionsCall) Do(opts ...googleapi.CallOption) ( // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/source.full_control", // "https://www.googleapis.com/auth/source.read_only", // "https://www.googleapis.com/auth/source.read_write" // ] diff --git a/vendor/google.golang.org/api/spanner/v1/spanner-api.json b/vendor/google.golang.org/api/spanner/v1/spanner-api.json index 8951218a0..56870e3fa 100644 --- a/vendor/google.golang.org/api/spanner/v1/spanner-api.json +++ b/vendor/google.golang.org/api/spanner/v1/spanner-api.json @@ -1,378 +1,34 @@ { + "version": "v1", + "baseUrl": "https://spanner.googleapis.com/", + "description": "Cloud Spanner is a managed, mission-critical, globally consistent and scalable relational database service.", + "kind": "discovery#restDescription", + "servicePath": "", + "basePath": "", + "revision": "20170914", + "documentationLink": "https://cloud.google.com/spanner/", + "id": "spanner:v1", + "discoveryVersion": "v1", + "version_module": true, "schemas": { - "UpdateInstanceMetadata": { - "description": "Metadata type for the operation returned by\nUpdateInstance.", - "type": "object", - "properties": { - "endTime": { - "type": "string", - "format": "google-datetime", - "description": "The time at which this operation failed or was completed successfully." - }, - "cancelTime": { - "format": "google-datetime", - "description": "The time at which this operation was cancelled. If set, this operation is\nin the process of undoing itself (which is guaranteed to succeed) and\ncannot be cancelled again.", - "type": "string" - }, - "startTime": { - "format": "google-datetime", - "description": "The time at which UpdateInstance\nrequest was received.", - "type": "string" - }, - "instance": { - "$ref": "Instance", - "description": "The desired end state of the update." - } - }, - "id": "UpdateInstanceMetadata" - }, - "ListOperationsResponse": { - "type": "object", - "properties": { - "operations": { - "description": "A list of operations that matches the specified filter in the request.", - "items": { - "$ref": "Operation" - }, - "type": "array" - }, - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" - } - }, - "id": "ListOperationsResponse", - "description": "The response message for Operations.ListOperations." - }, - "ResultSetMetadata": { - "type": "object", - "properties": { - "rowType": { - "$ref": "StructType", - "description": "Indicates the field names and types for the rows in the result\nset. For example, a SQL query like `\"SELECT UserId, UserName FROM\nUsers\"` could return a `row_type` value like:\n\n \"fields\": [\n { \"name\": \"UserId\", \"type\": { \"code\": \"INT64\" } },\n { \"name\": \"UserName\", \"type\": { \"code\": \"STRING\" } },\n ]" - }, - "transaction": { - "description": "If the read or SQL query began a transaction as a side-effect, the\ninformation about the new transaction is yielded here.", - "$ref": "Transaction" - } - }, - "id": "ResultSetMetadata", - "description": "Metadata about a ResultSet or PartialResultSet." - }, - "TransactionSelector": { - "description": "This message is used to select the transaction in which a\nRead or\nExecuteSql call runs.\n\nSee TransactionOptions for more information about transactions.", - "type": "object", - "properties": { - "begin": { - "description": "Begin a new transaction and execute this read or SQL query in\nit. The transaction ID of the new transaction is returned in\nResultSetMetadata.transaction, which is a Transaction.", - "$ref": "TransactionOptions" - }, - "id": { - "type": "string", - "format": "byte", - "description": "Execute the read or SQL query in a previously-started transaction." - }, - "singleUse": { - "$ref": "TransactionOptions", - "description": "Execute the read or SQL query in a temporary transaction.\nThis is the most efficient way to execute a transaction that\nconsists of a single SQL query." - } - }, - "id": "TransactionSelector" - }, - "Mutation": { - "description": "A modification to one or more Cloud Spanner rows. Mutations can be\napplied to a Cloud Spanner database by sending them in a\nCommit call.", - "type": "object", - "properties": { - "delete": { - "description": "Delete rows from a table. Succeeds whether or not the named\nrows were present.", - "$ref": "Delete" - }, - "insertOrUpdate": { - "$ref": "Write", - "description": "Like insert, except that if the row already exists, then\nits column values are overwritten with the ones provided. Any\ncolumn values not explicitly written are preserved." - }, - "insert": { - "description": "Insert new rows in a table. If any of the rows already exist,\nthe write or transaction fails with error `ALREADY_EXISTS`.", - "$ref": "Write" - }, - "update": { - "$ref": "Write", - "description": "Update existing rows in a table. If any of the rows does not\nalready exist, the transaction fails with error `NOT_FOUND`." - }, - "replace": { - "$ref": "Write", - "description": "Like insert, except that if the row already exists, it is\ndeleted, and the column values provided are inserted\ninstead. Unlike insert_or_update, this means any values not\nexplicitly written become `NULL`." - } - }, - "id": "Mutation" - }, - "KeySet": { - "description": "`KeySet` defines a collection of Cloud Spanner keys and/or key ranges. All\nthe keys are expected to be in the same table or index. The keys need\nnot be sorted in any particular way.\n\nIf the same key is specified multiple times in the set (for example\nif two ranges, two keys, or a key and a range overlap), Cloud Spanner\nbehaves as if the key were only specified once.", - "type": "object", - "properties": { - "all": { - "description": "For convenience `all` can be set to `true` to indicate that this\n`KeySet` matches all keys in the table or index. Note that any keys\nspecified in `keys` or `ranges` are only yielded once.", - "type": "boolean" - }, - "keys": { - "description": "A list of specific keys. Entries in `keys` should have exactly as\nmany elements as there are columns in the primary or index key\nwith which this `KeySet` is used. Individual key values are\nencoded as described here.", - "items": { - "items": { - "type": "any" - }, - "type": "array" - }, - "type": "array" - }, - "ranges": { - "description": "A list of key ranges. See KeyRange for more information about\nkey range specifications.", - "items": { - "$ref": "KeyRange" - }, - "type": "array" - } - }, - "id": "KeySet" - }, - "GetDatabaseDdlResponse": { - "properties": { - "statements": { - "description": "A list of formatted DDL statements defining the schema of the database\nspecified in the request.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "GetDatabaseDdlResponse", - "description": "The response for GetDatabaseDdl.", - "type": "object" - }, - "Database": { - "description": "A Cloud Spanner database.", - "type": "object", - "properties": { - "state": { - "enum": [ - "STATE_UNSPECIFIED", - "CREATING", - "READY" - ], - "description": "Output only. The current database state.", - "type": "string", - "enumDescriptions": [ - "Not specified.", - "The database is still being created. Operations on the database may fail\nwith `FAILED_PRECONDITION` in this state.", - "The database is fully created and ready for use." - ] - }, - "name": { - "description": "Required. The name of the database. Values are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/databases/\u003cdatabase\u003e`,\nwhere `\u003cdatabase\u003e` is as specified in the `CREATE DATABASE`\nstatement. This name can be passed to other API methods to\nidentify the database.", - "type": "string" - } - }, - "id": "Database" - }, - "Instance": { - "id": "Instance", - "description": "An isolated set of Cloud Spanner resources on which databases can be hosted.", - "type": "object", - "properties": { - "displayName": { - "description": "Required. The descriptive name for this instance as it appears in UIs.\nMust be unique per project and between 4 and 30 characters in length.", - "type": "string" - }, - "nodeCount": { - "format": "int32", - "description": "Required. The number of nodes allocated to this instance. This may be zero\nin API responses for instances that are not yet in state `READY`.", - "type": "integer" - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Cloud Labels are a flexible and lightweight mechanism for organizing cloud\nresources into groups that reflect a customer's organizational needs and\ndeployment strategies. Cloud Labels can be used to filter collections of\nresources. They can be used to control how resource metrics are aggregated.\nAnd they can be used as arguments to policy management rules (e.g. route,\nfirewall, load balancing, etc.).\n\n * Label keys must be between 1 and 63 characters long and must conform to\n the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.\n * Label values must be between 0 and 63 characters long and must conform\n to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.\n * No more than 64 labels can be associated with a given resource.\n\nSee https://goo.gl/xmQnxf for more information on and examples of labels.\n\nIf you plan to use labels in your own code, please note that additional\ncharacters may be allowed in the future. And so you are advised to use an\ninternal label representation, such as JSON, which doesn't rely upon\nspecific characters being disallowed. For example, representing labels\nas the string: name + \"_\" + value would prove problematic if we were to\nallow \"_\" in a future release." - }, - "config": { - "description": "Required. The name of the instance's configuration. Values are of the form\n`projects/\u003cproject\u003e/instanceConfigs/\u003cconfiguration\u003e`. See\nalso InstanceConfig and\nListInstanceConfigs.", - "type": "string" - }, - "state": { - "type": "string", - "enumDescriptions": [ - "Not specified.", - "The instance is still being created. Resources may not be\navailable yet, and operations such as database creation may not\nwork.", - "The instance is fully created and ready to do work such as\ncreating databases." - ], - "enum": [ - "STATE_UNSPECIFIED", - "CREATING", - "READY" - ], - "description": "Output only. The current instance state. For\nCreateInstance, the state must be\neither omitted or set to `CREATING`. For\nUpdateInstance, the state must be\neither omitted or set to `READY`." - }, - "name": { - "description": "Required. A unique identifier for the instance, which cannot be changed\nafter the instance is created. Values are of the form\n`projects/\u003cproject\u003e/instances/a-z*[a-z0-9]`. The final\nsegment of the name must be between 6 and 30 characters in length.", - "type": "string" - } - } - }, - "ListDatabasesResponse": { - "type": "object", - "properties": { - "nextPageToken": { - "description": "`next_page_token` can be sent in a subsequent\nListDatabases call to fetch more\nof the matching databases.", - "type": "string" - }, - "databases": { - "description": "Databases that matched the request.", - "items": { - "$ref": "Database" - }, - "type": "array" - } - }, - "id": "ListDatabasesResponse", - "description": "The response for ListDatabases." - }, - "SetIamPolicyRequest": { - "description": "Request message for `SetIamPolicy` method.", - "type": "object", - "properties": { - "updateMask": { - "format": "google-fieldmask", - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", - "type": "string" - }, - "policy": { - "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them.", - "$ref": "Policy" - } - }, - "id": "SetIamPolicyRequest" - }, - "RollbackRequest": { - "description": "The request for Rollback.", - "type": "object", - "properties": { - "transactionId": { - "format": "byte", - "description": "Required. The transaction to roll back.", - "type": "string" - } - }, - "id": "RollbackRequest" - }, - "Transaction": { - "properties": { - "id": { - "format": "byte", - "description": "`id` may be used to identify the transaction in subsequent\nRead,\nExecuteSql,\nCommit, or\nRollback calls.\n\nSingle-use read-only transactions do not have IDs, because\nsingle-use transactions do not support multiple requests.", - "type": "string" - }, - "readTimestamp": { - "format": "google-datetime", - "description": "For snapshot read-only transactions, the read timestamp chosen\nfor the transaction. Not returned by default: see\nTransactionOptions.ReadOnly.return_read_timestamp.", - "type": "string" - } - }, - "id": "Transaction", - "description": "A transaction.", - "type": "object" - }, - "UpdateDatabaseDdlMetadata": { - "id": "UpdateDatabaseDdlMetadata", - "description": "Metadata type for the operation returned by\nUpdateDatabaseDdl.", - "type": "object", - "properties": { - "database": { - "description": "The database being modified.", - "type": "string" - }, - "statements": { - "description": "For an update this list contains all the statements. For an\nindividual statement, this list contains only that statement.", - "items": { - "type": "string" - }, - "type": "array" - }, - "commitTimestamps": { - "items": { - "format": "google-datetime", - "type": "string" - }, - "type": "array", - "description": "Reports the commit timestamps of all statements that have\nsucceeded so far, where `commit_timestamps[i]` is the commit\ntimestamp for the statement `statements[i]`." - } - } - }, - "CounterOptions": { - "id": "CounterOptions", - "description": "Options for counters", - "type": "object", - "properties": { - "field": { - "description": "The field value to attribute.", - "type": "string" - }, - "metric": { - "description": "The metric to update.", - "type": "string" - } - } - }, - "QueryPlan": { - "description": "Contains an ordered list of nodes appearing in the query plan.", - "type": "object", - "properties": { - "planNodes": { - "description": "The nodes in the query plan. Plan nodes are returned in pre-order starting\nwith the plan root. Each PlanNode's `id` corresponds to its index in\n`plan_nodes`.", - "items": { - "$ref": "PlanNode" - }, - "type": "array" - } - }, - "id": "QueryPlan" - }, - "StructType": { - "properties": { - "fields": { - "description": "The list of fields that make up this struct. Order is\nsignificant, because values of this struct type are represented as\nlists, where the order of field values matches the order of\nfields in the StructType. In turn, the order of fields\nmatches the order of columns in a read request, or the order of\nfields in the `SELECT` clause of a query.", - "items": { - "$ref": "Field" - }, - "type": "array" - } - }, - "id": "StructType", - "description": "`StructType` defines the fields of a STRUCT type.", - "type": "object" - }, "Field": { "description": "Message representing a single field of a struct.", "type": "object", "properties": { - "type": { - "$ref": "Type", - "description": "The type of the field." - }, "name": { "description": "The name of the field. For reads, this is the column name. For\nSQL queries, it is the column alias (e.g., `\"Word\"` in the\nquery `\"SELECT 'hello' AS Word\"`), or the column name (e.g.,\n`\"ColName\"` in the query `\"SELECT ColName FROM Table\"`). Some\ncolumns might have an empty name (e.g., !\"SELECT\nUPPER(ColName)\"`). Note that a query result can contain\nmultiple fields with the same name.", "type": "string" + }, + "type": { + "description": "The type of the field.", + "$ref": "Type" } }, "id": "Field" }, "ResultSetStats": { - "description": "Additional statistics about a ResultSet or PartialResultSet.", "type": "object", "properties": { - "queryPlan": { - "$ref": "QueryPlan", - "description": "QueryPlan for the query associated with this result." - }, "queryStats": { "type": "object", "additionalProperties": { @@ -380,9 +36,14 @@ "type": "any" }, "description": "Aggregated statistics from the execution of the query. Only present when\nthe query is profiled. For example, a query could return the statistics as\nfollows:\n\n {\n \"rows_returned\": \"3\",\n \"elapsed_time\": \"1.22 secs\",\n \"cpu_time\": \"1.19 secs\"\n }" + }, + "queryPlan": { + "description": "QueryPlan for the query associated with this result.", + "$ref": "QueryPlan" } }, - "id": "ResultSetStats" + "id": "ResultSetStats", + "description": "Additional statistics about a ResultSet or PartialResultSet." }, "TestIamPermissionsRequest": { "description": "Request message for `TestIamPermissions` method.", @@ -390,34 +51,31 @@ "properties": { "permissions": { "description": "REQUIRED: The set of permissions to check for 'resource'.\nPermissions with wildcards (such as '*', 'spanner.*', 'spanner.instances.*') are not allowed.", + "type": "array", "items": { "type": "string" - }, - "type": "array" + } } }, "id": "TestIamPermissionsRequest" }, "CommitResponse": { + "id": "CommitResponse", "description": "The response for Commit.", "type": "object", "properties": { "commitTimestamp": { - "type": "string", + "description": "The Cloud Spanner timestamp at which the transaction committed.", "format": "google-datetime", - "description": "The Cloud Spanner timestamp at which the transaction committed." + "type": "string" } - }, - "id": "CommitResponse" + } }, "Type": { + "id": "Type", "description": "`Type` indicates the type of a Cloud Spanner value, as might be stored in a\ntable cell or returned from an SQL query.", "type": "object", "properties": { - "structType": { - "$ref": "StructType", - "description": "If code == STRUCT, then `struct_type`\nprovides type information for the struct's fields." - }, "arrayElementType": { "$ref": "Type", "description": "If code == ARRAY, then `array_element_type`\nis the type of the array elements." @@ -449,247 +107,182 @@ "STRUCT" ], "description": "Required. The TypeCode for this type." + }, + "structType": { + "$ref": "StructType", + "description": "If code == STRUCT, then `struct_type`\nprovides type information for the struct's fields." } - }, - "id": "Type" + } }, "PlanNode": { "description": "Node information for nodes appearing in a QueryPlan.plan_nodes.", "type": "object", "properties": { - "index": { - "type": "integer", - "format": "int32", - "description": "The `PlanNode`'s index in node list." - }, - "displayName": { - "description": "The display name for the node.", - "type": "string" - }, - "kind": { - "enum": [ - "KIND_UNSPECIFIED", - "RELATIONAL", - "SCALAR" - ], - "description": "Used to determine the type of node. May be needed for visualizing\ndifferent kinds of nodes differently. For example, If the node is a\nSCALAR node, it will have a condensed representation\nwhich can be used to directly embed a description of the node in its\nparent.", - "type": "string", - "enumDescriptions": [ - "Not specified.", - "Denotes a Relational operator node in the expression tree. Relational\noperators represent iterative processing of rows during query execution.\nFor example, a `TableScan` operation that reads rows from a table.", - "Denotes a Scalar node in the expression tree. Scalar nodes represent\nnon-iterable entities in the query plan. For example, constants or\narithmetic operators appearing inside predicate expressions or references\nto column names." - ] - }, - "childLinks": { - "description": "List of child node `index`es and their relationship to this parent.", - "items": { - "$ref": "ChildLink" - }, - "type": "array" - }, "metadata": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, "description": "Attributes relevant to the node contained in a group of key-value pairs.\nFor example, a Parameter Reference node could have the following\ninformation in its metadata:\n\n {\n \"parameter_reference\": \"param1\",\n \"parameter_type\": \"array\"\n }", - "type": "object" - }, - "executionStats": { - "description": "The execution statistics associated with the node, contained in a group of\nkey-value pairs. Only present if the plan was returned as a result of a\nprofile query. For example, number of executions, number of rows/time per\nexecution etc.", "type": "object", "additionalProperties": { "description": "Properties of the object.", "type": "any" } }, + "executionStats": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The execution statistics associated with the node, contained in a group of\nkey-value pairs. Only present if the plan was returned as a result of a\nprofile query. For example, number of executions, number of rows/time per\nexecution etc.", + "type": "object" + }, "shortRepresentation": { - "$ref": "ShortRepresentation", - "description": "Condensed representation for SCALAR nodes." + "description": "Condensed representation for SCALAR nodes.", + "$ref": "ShortRepresentation" + }, + "index": { + "description": "The `PlanNode`'s index in node list.", + "format": "int32", + "type": "integer" + }, + "displayName": { + "description": "The display name for the node.", + "type": "string" + }, + "kind": { + "enumDescriptions": [ + "Not specified.", + "Denotes a Relational operator node in the expression tree. Relational\noperators represent iterative processing of rows during query execution.\nFor example, a `TableScan` operation that reads rows from a table.", + "Denotes a Scalar node in the expression tree. Scalar nodes represent\nnon-iterable entities in the query plan. For example, constants or\narithmetic operators appearing inside predicate expressions or references\nto column names." + ], + "enum": [ + "KIND_UNSPECIFIED", + "RELATIONAL", + "SCALAR" + ], + "description": "Used to determine the type of node. May be needed for visualizing\ndifferent kinds of nodes differently. For example, If the node is a\nSCALAR node, it will have a condensed representation\nwhich can be used to directly embed a description of the node in its\nparent.", + "type": "string" + }, + "childLinks": { + "description": "List of child node `index`es and their relationship to this parent.", + "type": "array", + "items": { + "$ref": "ChildLink" + } } }, "id": "PlanNode" }, "CreateInstanceMetadata": { - "description": "Metadata type for the operation returned by\nCreateInstance.", - "type": "object", "properties": { - "endTime": { - "format": "google-datetime", - "description": "The time at which this operation failed or was completed successfully.", - "type": "string" - }, - "cancelTime": { - "format": "google-datetime", - "description": "The time at which this operation was cancelled. If set, this operation is\nin the process of undoing itself (which is guaranteed to succeed) and\ncannot be cancelled again.", - "type": "string" - }, - "startTime": { - "format": "google-datetime", - "description": "The time at which the\nCreateInstance request was\nreceived.", - "type": "string" - }, "instance": { "description": "The instance being created.", "$ref": "Instance" - } - }, - "id": "CreateInstanceMetadata" - }, - "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"fooservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:bar@gmail.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts foo@gmail.com from DATA_READ logging, and\nbar@gmail.com from DATA_WRITE logging.", - "type": "object", - "properties": { - "auditLogConfigs": { - "description": "The configuration for logging of each type of permission.\nNext ID: 4", - "items": { - "$ref": "AuditLogConfig" - }, - "type": "array" }, - "exemptedMembers": { - "items": { - "type": "string" - }, - "type": "array" + "startTime": { + "description": "The time at which the\nCreateInstance request was\nreceived.", + "format": "google-datetime", + "type": "string" }, - "service": { - "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", + "cancelTime": { + "description": "The time at which this operation was cancelled. If set, this operation is\nin the process of undoing itself (which is guaranteed to succeed) and\ncannot be cancelled again.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "The time at which this operation failed or was completed successfully.", + "format": "google-datetime", "type": "string" } }, - "id": "AuditConfig" + "id": "CreateInstanceMetadata", + "description": "Metadata type for the operation returned by\nCreateInstance.", + "type": "object" }, "ChildLink": { "description": "Metadata associated with a parent-child relationship appearing in a\nPlanNode.", "type": "object", "properties": { - "variable": { - "description": "Only present if the child node is SCALAR and corresponds\nto an output variable of the parent node. The field carries the name of\nthe output variable.\nFor example, a `TableScan` operator that reads rows from a table will\nhave child links to the `SCALAR` nodes representing the output variables\ncreated for each column that is read by the operator. The corresponding\n`variable` fields will be set to the variable names assigned to the\ncolumns.", + "type": { + "description": "The type of the link. For example, in Hash Joins this could be used to\ndistinguish between the build child and the probe child, or in the case\nof the child being an output variable, to represent the tag associated\nwith the output variable.", "type": "string" }, "childIndex": { - "format": "int32", "description": "The node to which the link points.", + "format": "int32", "type": "integer" }, - "type": { - "description": "The type of the link. For example, in Hash Joins this could be used to\ndistinguish between the build child and the probe child, or in the case\nof the child being an output variable, to represent the tag associated\nwith the output variable.", + "variable": { + "description": "Only present if the child node is SCALAR and corresponds\nto an output variable of the parent node. The field carries the name of\nthe output variable.\nFor example, a `TableScan` operator that reads rows from a table will\nhave child links to the `SCALAR` nodes representing the output variables\ncreated for each column that is read by the operator. The corresponding\n`variable` fields will be set to the variable names assigned to the\ncolumns.", "type": "string" } }, "id": "ChildLink" }, - "CloudAuditOptions": { - "description": "Write a Cloud Audit log", - "type": "object", - "properties": { - "logName": { - "enum": [ - "UNSPECIFIED_LOG_NAME", - "ADMIN_ACTIVITY", - "DATA_ACCESS" - ], - "description": "The log_name to populate in the Cloud Audit Record.", - "type": "string", - "enumDescriptions": [ - "Default. Should not be used.", - "Corresponds to \"cloudaudit.googleapis.com/activity\"", - "Corresponds to \"cloudaudit.googleapis.com/data_access\"" - ] - } - }, - "id": "CloudAuditOptions" - }, - "Expr": { - "description": "Represents an expression text. Example:\n\n title: \"User account presence\"\n description: \"Determines whether the request has a user account\"\n expression: \"size(request.user) \u003e 0\"", - "type": "object", - "properties": { - "description": { - "description": "An optional description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", - "type": "string" - }, - "expression": { - "description": "Textual representation of an expression in\n[Common Expression Language](http://go/api-expr) syntax.\n\nThe application context of the containing message determines which\nwell-known feature set of CEL is supported.", - "type": "string" - }, - "location": { - "description": "An optional string indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", - "type": "string" - }, - "title": { - "description": "An optional title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", - "type": "string" - } - }, - "id": "Expr" - }, "Delete": { + "id": "Delete", + "description": "Arguments to delete operations.", "type": "object", "properties": { - "keySet": { - "$ref": "KeySet", - "description": "Required. The primary keys of the rows within table to delete." - }, "table": { "description": "Required. The table whose rows will be deleted.", "type": "string" + }, + "keySet": { + "description": "Required. The primary keys of the rows within table to delete.", + "$ref": "KeySet" } - }, - "id": "Delete", - "description": "Arguments to delete operations." + } }, "ListInstanceConfigsResponse": { "description": "The response for ListInstanceConfigs.", "type": "object", "properties": { - "instanceConfigs": { - "description": "The list of requested instance configurations.", - "items": { - "$ref": "InstanceConfig" - }, - "type": "array" - }, "nextPageToken": { "description": "`next_page_token` can be sent in a subsequent\nListInstanceConfigs call to\nfetch more of the matching instance configurations.", "type": "string" + }, + "instanceConfigs": { + "description": "The list of requested instance configurations.", + "type": "array", + "items": { + "$ref": "InstanceConfig" + } } }, "id": "ListInstanceConfigsResponse" }, "BeginTransactionRequest": { + "id": "BeginTransactionRequest", "description": "The request for BeginTransaction.", "type": "object", "properties": { "options": { - "$ref": "TransactionOptions", - "description": "Required. Options for the new transaction." + "description": "Required. Options for the new transaction.", + "$ref": "TransactionOptions" } - }, - "id": "BeginTransactionRequest" + } }, "CommitRequest": { + "id": "CommitRequest", "description": "The request for Commit.", "type": "object", "properties": { + "singleUseTransaction": { + "$ref": "TransactionOptions", + "description": "Execute mutations in a temporary transaction. Note that unlike\ncommit of a previously-started transaction, commit with a\ntemporary transaction is non-idempotent. That is, if the\n`CommitRequest` is sent to Cloud Spanner more than once (for\ninstance, due to retries in the application, or in the\ntransport library), it is possible that the mutations are\nexecuted more than once. If this is undesirable, use\nBeginTransaction and\nCommit instead." + }, "mutations": { "description": "The mutations to be executed when this transaction commits. All\nmutations are applied atomically, in the order they appear in\nthis list.", + "type": "array", "items": { "$ref": "Mutation" - }, - "type": "array" - }, - "singleUseTransaction": { - "description": "Execute mutations in a temporary transaction. Note that unlike\ncommit of a previously-started transaction, commit with a\ntemporary transaction is non-idempotent. That is, if the\n`CommitRequest` is sent to Cloud Spanner more than once (for\ninstance, due to retries in the application, or in the\ntransport library), it is possible that the mutations are\nexecuted more than once. If this is undesirable, use\nBeginTransaction and\nCommit instead.", - "$ref": "TransactionOptions" + } }, "transactionId": { - "format": "byte", + "type": "string", "description": "Commit a previously-started transaction.", - "type": "string" + "format": "byte" } - }, - "id": "CommitRequest" + } }, "TestIamPermissionsResponse": { "description": "Response message for `TestIamPermissions` method.", @@ -697,10 +290,10 @@ "properties": { "permissions": { "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "type": "array", "items": { "type": "string" - }, - "type": "array" + } } }, "id": "TestIamPermissionsResponse" @@ -711,73 +304,8 @@ "properties": {}, "id": "GetIamPolicyRequest" }, - "Rule": { - "description": "A rule to be applied in a Policy.", - "type": "object", - "properties": { - "in": { - "description": "If one or more 'in' clauses are specified, the rule matches if\nthe PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.", - "items": { - "type": "string" - }, - "type": "array" - }, - "permissions": { - "items": { - "type": "string" - }, - "type": "array", - "description": "A permission is a string of form '\u003cservice\u003e.\u003cresource type\u003e.\u003cverb\u003e'\n(e.g., 'storage.buckets.list'). A value of '*' matches all permissions,\nand a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs." - }, - "action": { - "description": "Required", - "type": "string", - "enumDescriptions": [ - "Default no action.", - "Matching 'Entries' grant access.", - "Matching 'Entries' grant access and the caller promises to log\nthe request per the returned log_configs.", - "Matching 'Entries' deny access.", - "Matching 'Entries' deny access and the caller promises to log\nthe request per the returned log_configs.", - "Matching 'Entries' tell IAM.Check callers to generate logs." - ], - "enum": [ - "NO_ACTION", - "ALLOW", - "ALLOW_WITH_LOG", - "DENY", - "DENY_WITH_LOG", - "LOG" - ] - }, - "notIn": { - "items": { - "type": "string" - }, - "type": "array", - "description": "If one or more 'not_in' clauses are specified, the rule matches\nif the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.\nThe format for in and not_in entries is the same as for members in a\nBinding (see google/iam/v1/policy.proto)." - }, - "description": { - "description": "Human-readable description of the rule.", - "type": "string" - }, - "conditions": { - "description": "Additional restrictions that must be met", - "items": { - "$ref": "Condition" - }, - "type": "array" - }, - "logConfig": { - "description": "The config returned to callers of tech.iam.IAM.CheckPolicy for any entries\nthat match the LOG action.", - "items": { - "$ref": "LogConfig" - }, - "type": "array" - } - }, - "id": "Rule" - }, "CreateDatabaseMetadata": { + "description": "Metadata type for the operation returned by\nCreateDatabase.", "type": "object", "properties": { "database": { @@ -785,32 +313,47 @@ "type": "string" } }, - "id": "CreateDatabaseMetadata", - "description": "Metadata type for the operation returned by\nCreateDatabase." + "id": "CreateDatabaseMetadata" }, - "LogConfig": { - "description": "Specifies what kind of log the caller must write", - "type": "object", + "ListSessionsResponse": { "properties": { - "counter": { - "description": "Counter options.", - "$ref": "CounterOptions" + "nextPageToken": { + "description": "`next_page_token` can be sent in a subsequent\nListSessions call to fetch more of the matching\nsessions.", + "type": "string" }, - "dataAccess": { - "$ref": "DataAccessOptions", - "description": "Data access options." - }, - "cloudAudit": { - "$ref": "CloudAuditOptions", - "description": "Cloud audit options." + "sessions": { + "description": "The list of requested sessions.", + "type": "array", + "items": { + "$ref": "Session" + } } }, - "id": "LogConfig" + "id": "ListSessionsResponse", + "description": "The response for ListSessions.", + "type": "object" }, "Session": { "properties": { "name": { - "description": "Required. The name of the session.", + "description": "The name of the session.", + "type": "string" + }, + "approximateLastUseTime": { + "description": "Output only. The approximate timestamp when the session is last used. It is\ntypically earlier than the actual last use time.", + "format": "google-datetime", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "The labels for the session.\n\n * Label keys must be between 1 and 63 characters long and must conform to\n the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.\n * Label values must be between 0 and 63 characters long and must conform\n to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.\n * No more than 20 labels can be associated with a given session.", + "type": "object" + }, + "createTime": { + "description": "Output only. The timestamp when the session is created.", + "format": "google-datetime", "type": "string" } }, @@ -819,54 +362,54 @@ "type": "object" }, "ListInstancesResponse": { + "description": "The response for ListInstances.", + "type": "object", "properties": { "instances": { "description": "The list of requested instances.", + "type": "array", "items": { "$ref": "Instance" - }, - "type": "array" + } }, "nextPageToken": { "description": "`next_page_token` can be sent in a subsequent\nListInstances call to fetch more\nof the matching instances.", "type": "string" } }, - "id": "ListInstancesResponse", - "description": "The response for ListInstances.", - "type": "object" + "id": "ListInstancesResponse" }, "KeyRange": { "description": "KeyRange represents a range of rows in a table or index.\n\nA range has a start key and an end key. These keys can be open or\nclosed, indicating if the range includes rows with that key.\n\nKeys are represented by lists, where the ith value in the list\ncorresponds to the ith component of the table or index primary key.\nIndividual values are encoded as described here.\n\nFor example, consider the following table definition:\n\n CREATE TABLE UserEvents (\n UserName STRING(MAX),\n EventDate STRING(10)\n ) PRIMARY KEY(UserName, EventDate);\n\nThe following keys name rows in this table:\n\n \"Bob\", \"2014-09-23\"\n\nSince the `UserEvents` table's `PRIMARY KEY` clause names two\ncolumns, each `UserEvents` key has two elements; the first is the\n`UserName`, and the second is the `EventDate`.\n\nKey ranges with multiple components are interpreted\nlexicographically by component using the table or index key's declared\nsort order. For example, the following range returns all events for\nuser `\"Bob\"` that occurred in the year 2015:\n\n \"start_closed\": [\"Bob\", \"2015-01-01\"]\n \"end_closed\": [\"Bob\", \"2015-12-31\"]\n\nStart and end keys can omit trailing key components. This affects the\ninclusion and exclusion of rows that exactly match the provided key\ncomponents: if the key is closed, then rows that exactly match the\nprovided components are included; if the key is open, then rows\nthat exactly match are not included.\n\nFor example, the following range includes all events for `\"Bob\"` that\noccurred during and after the year 2000:\n\n \"start_closed\": [\"Bob\", \"2000-01-01\"]\n \"end_closed\": [\"Bob\"]\n\nThe next example retrieves all events for `\"Bob\"`:\n\n \"start_closed\": [\"Bob\"]\n \"end_closed\": [\"Bob\"]\n\nTo retrieve events before the year 2000:\n\n \"start_closed\": [\"Bob\"]\n \"end_open\": [\"Bob\", \"2000-01-01\"]\n\nThe following range includes all rows in the table:\n\n \"start_closed\": []\n \"end_closed\": []\n\nThis range returns all users whose `UserName` begins with any\ncharacter from A to C:\n\n \"start_closed\": [\"A\"]\n \"end_open\": [\"D\"]\n\nThis range returns all users whose `UserName` begins with B:\n\n \"start_closed\": [\"B\"]\n \"end_open\": [\"C\"]\n\nKey ranges honor column sort order. For example, suppose a table is\ndefined as follows:\n\n CREATE TABLE DescendingSortedTable {\n Key INT64,\n ...\n ) PRIMARY KEY(Key DESC);\n\nThe following range retrieves all rows with key values between 1\nand 100 inclusive:\n\n \"start_closed\": [\"100\"]\n \"end_closed\": [\"1\"]\n\nNote that 100 is passed as the start, and 1 is passed as the end,\nbecause `Key` is a descending column in the schema.", "type": "object", "properties": { - "endOpen": { - "description": "If the end is open, then the range excludes rows whose first\n`len(end_open)` key columns exactly match `end_open`.", + "startClosed": { + "type": "array", "items": { "type": "any" }, - "type": "array" - }, - "endClosed": { - "description": "If the end is closed, then the range includes all rows whose\nfirst `len(end_closed)` key columns exactly match `end_closed`.", - "items": { - "type": "any" - }, - "type": "array" + "description": "If the start is closed, then the range includes all rows whose\nfirst `len(start_closed)` key columns exactly match `start_closed`." }, "startOpen": { "description": "If the start is open, then the range excludes rows whose first\n`len(start_open)` key columns exactly match `start_open`.", - "items": { - "type": "any" - }, - "type": "array" - }, - "startClosed": { - "items": { - "type": "any" - }, "type": "array", - "description": "If the start is closed, then the range includes all rows whose\nfirst `len(start_closed)` key columns exactly match `start_closed`." + "items": { + "type": "any" + } + }, + "endOpen": { + "description": "If the end is open, then the range excludes rows whose first\n`len(end_open)` key columns exactly match `end_open`.", + "type": "array", + "items": { + "type": "any" + } + }, + "endClosed": { + "description": "If the end is closed, then the range includes all rows whose\nfirst `len(end_closed)` key columns exactly match `end_closed`.", + "type": "array", + "items": { + "type": "any" + } } }, "id": "KeyRange" @@ -875,22 +418,24 @@ "description": "Condensed representation of a node and its subtree. Only present for\n`SCALAR` PlanNode(s).", "type": "object", "properties": { - "subqueries": { - "additionalProperties": { - "format": "int32", - "type": "integer" - }, - "description": "A mapping of (subquery variable name) -\u003e (subquery node id) for cases\nwhere the `description` string of this node references a `SCALAR`\nsubquery contained in the expression subtree rooted at this node. The\nreferenced `SCALAR` subquery may not necessarily be a direct child of\nthis node.", - "type": "object" - }, "description": { "description": "A string representation of the expression subtree rooted at this node.", "type": "string" + }, + "subqueries": { + "description": "A mapping of (subquery variable name) -\u003e (subquery node id) for cases\nwhere the `description` string of this node references a `SCALAR`\nsubquery contained in the expression subtree rooted at this node. The\nreferenced `SCALAR` subquery may not necessarily be a direct child of\nthis node.", + "type": "object", + "additionalProperties": { + "format": "int32", + "type": "integer" + } } }, "id": "ShortRepresentation" }, "InstanceConfig": { + "description": "A possible configuration for a Cloud Spanner instance. Configurations\ndefine the geographic placement of nodes and their replication.", + "type": "object", "properties": { "name": { "description": "A unique identifier for the instance configuration. Values\nare of the form\n`projects/\u003cproject\u003e/instanceConfigs/a-z*`", @@ -901,25 +446,23 @@ "type": "string" } }, - "id": "InstanceConfig", - "description": "A possible configuration for a Cloud Spanner instance. Configurations\ndefine the geographic placement of nodes and their replication.", - "type": "object" + "id": "InstanceConfig" }, "UpdateInstanceRequest": { + "description": "The request for UpdateInstance.", "type": "object", "properties": { - "fieldMask": { - "type": "string", - "format": "google-fieldmask", - "description": "Required. A mask specifying which fields in [][google.spanner.admin.instance.v1.UpdateInstanceRequest.instance] should be updated.\nThe field mask must always be specified; this prevents any future fields in\n[][google.spanner.admin.instance.v1.Instance] from being erased accidentally by clients that do not know\nabout them." - }, "instance": { "$ref": "Instance", "description": "Required. The instance to update, which must always include the instance\nname. Otherwise, only fields mentioned in [][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask] need be included." + }, + "fieldMask": { + "description": "Required. A mask specifying which fields in [][google.spanner.admin.instance.v1.UpdateInstanceRequest.instance] should be updated.\nThe field mask must always be specified; this prevents any future fields in\n[][google.spanner.admin.instance.v1.Instance] from being erased accidentally by clients that do not know\nabout them.", + "format": "google-fieldmask", + "type": "string" } }, - "id": "UpdateInstanceRequest", - "description": "The request for UpdateInstance." + "id": "UpdateInstanceRequest" }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", @@ -928,39 +471,40 @@ "id": "Empty" }, "TransactionOptions": { + "description": "# Transactions\n\n\nEach session can have at most one active transaction at a time. After the\nactive transaction is completed, the session can immediately be\nre-used for the next transaction. It is not necessary to create a\nnew session for each transaction.\n\n# Transaction Modes\n\nCloud Spanner supports two transaction modes:\n\n 1. Locking read-write. This type of transaction is the only way\n to write data into Cloud Spanner. These transactions rely on\n pessimistic locking and, if necessary, two-phase commit.\n Locking read-write transactions may abort, requiring the\n application to retry.\n\n 2. Snapshot read-only. This transaction type provides guaranteed\n consistency across several reads, but does not allow\n writes. Snapshot read-only transactions can be configured to\n read at timestamps in the past. Snapshot read-only\n transactions do not need to be committed.\n\nFor transactions that only read, snapshot read-only transactions\nprovide simpler semantics and are almost always faster. In\nparticular, read-only transactions do not take locks, so they do\nnot conflict with read-write transactions. As a consequence of not\ntaking locks, they also do not abort, so retry loops are not needed.\n\nTransactions may only read/write data in a single database. They\nmay, however, read/write data in different tables within that\ndatabase.\n\n## Locking Read-Write Transactions\n\nLocking transactions may be used to atomically read-modify-write\ndata anywhere in a database. This type of transaction is externally\nconsistent.\n\nClients should attempt to minimize the amount of time a transaction\nis active. Faster transactions commit with higher probability\nand cause less contention. Cloud Spanner attempts to keep read locks\nactive as long as the transaction continues to do reads, and the\ntransaction has not been terminated by\nCommit or\nRollback. Long periods of\ninactivity at the client may cause Cloud Spanner to release a\ntransaction's locks and abort it.\n\nReads performed within a transaction acquire locks on the data\nbeing read. Writes can only be done at commit time, after all reads\nhave been completed.\nConceptually, a read-write transaction consists of zero or more\nreads or SQL queries followed by\nCommit. At any time before\nCommit, the client can send a\nRollback request to abort the\ntransaction.\n\n### Semantics\n\nCloud Spanner can commit the transaction if all read locks it acquired\nare still valid at commit time, and it is able to acquire write\nlocks for all writes. Cloud Spanner can abort the transaction for any\nreason. If a commit attempt returns `ABORTED`, Cloud Spanner guarantees\nthat the transaction has not modified any user data in Cloud Spanner.\n\nUnless the transaction commits, Cloud Spanner makes no guarantees about\nhow long the transaction's locks were held for. It is an error to\nuse Cloud Spanner locks for any sort of mutual exclusion other than\nbetween Cloud Spanner transactions themselves.\n\n### Retrying Aborted Transactions\n\nWhen a transaction aborts, the application can choose to retry the\nwhole transaction again. To maximize the chances of successfully\ncommitting the retry, the client should execute the retry in the\nsame session as the original attempt. The original session's lock\npriority increases with each consecutive abort, meaning that each\nattempt has a slightly better chance of success than the previous.\n\nUnder some circumstances (e.g., many transactions attempting to\nmodify the same row(s)), a transaction can abort many times in a\nshort period before successfully committing. Thus, it is not a good\nidea to cap the number of retries a transaction can attempt;\ninstead, it is better to limit the total amount of wall time spent\nretrying.\n\n### Idle Transactions\n\nA transaction is considered idle if it has no outstanding reads or\nSQL queries and has not started a read or SQL query within the last 10\nseconds. Idle transactions can be aborted by Cloud Spanner so that they\ndon't hold on to locks indefinitely. In that case, the commit will\nfail with error `ABORTED`.\n\nIf this behavior is undesirable, periodically executing a simple\nSQL query in the transaction (e.g., `SELECT 1`) prevents the\ntransaction from becoming idle.\n\n## Snapshot Read-Only Transactions\n\nSnapshot read-only transactions provides a simpler method than\nlocking read-write transactions for doing several consistent\nreads. However, this type of transaction does not support writes.\n\nSnapshot transactions do not take locks. Instead, they work by\nchoosing a Cloud Spanner timestamp, then executing all reads at that\ntimestamp. Since they do not acquire locks, they do not block\nconcurrent read-write transactions.\n\nUnlike locking read-write transactions, snapshot read-only\ntransactions never abort. They can fail if the chosen read\ntimestamp is garbage collected; however, the default garbage\ncollection policy is generous enough that most applications do not\nneed to worry about this in practice.\n\nSnapshot read-only transactions do not need to call\nCommit or\nRollback (and in fact are not\npermitted to do so).\n\nTo execute a snapshot transaction, the client specifies a timestamp\nbound, which tells Cloud Spanner how to choose a read timestamp.\n\nThe types of timestamp bound are:\n\n - Strong (the default).\n - Bounded staleness.\n - Exact staleness.\n\nIf the Cloud Spanner database to be read is geographically distributed,\nstale read-only transactions can execute more quickly than strong\nor read-write transaction, because they are able to execute far\nfrom the leader replica.\n\nEach type of timestamp bound is discussed in detail below.\n\n### Strong\n\nStrong reads are guaranteed to see the effects of all transactions\nthat have committed before the start of the read. Furthermore, all\nrows yielded by a single read are consistent with each other -- if\nany part of the read observes a transaction, all parts of the read\nsee the transaction.\n\nStrong reads are not repeatable: two consecutive strong read-only\ntransactions might return inconsistent results if there are\nconcurrent writes. If consistency across reads is required, the\nreads should be executed within a transaction or at an exact read\ntimestamp.\n\nSee TransactionOptions.ReadOnly.strong.\n\n### Exact Staleness\n\nThese timestamp bounds execute reads at a user-specified\ntimestamp. Reads at a timestamp are guaranteed to see a consistent\nprefix of the global transaction history: they observe\nmodifications done by all transactions with a commit timestamp \u003c=\nthe read timestamp, and observe none of the modifications done by\ntransactions with a larger commit timestamp. They will block until\nall conflicting transactions that may be assigned commit timestamps\n\u003c= the read timestamp have finished.\n\nThe timestamp can either be expressed as an absolute Cloud Spanner commit\ntimestamp or a staleness relative to the current time.\n\nThese modes do not require a \"negotiation phase\" to pick a\ntimestamp. As a result, they execute slightly faster than the\nequivalent boundedly stale concurrency modes. On the other hand,\nboundedly stale reads usually return fresher results.\n\nSee TransactionOptions.ReadOnly.read_timestamp and\nTransactionOptions.ReadOnly.exact_staleness.\n\n### Bounded Staleness\n\nBounded staleness modes allow Cloud Spanner to pick the read timestamp,\nsubject to a user-provided staleness bound. Cloud Spanner chooses the\nnewest timestamp within the staleness bound that allows execution\nof the reads at the closest available replica without blocking.\n\nAll rows yielded are consistent with each other -- if any part of\nthe read observes a transaction, all parts of the read see the\ntransaction. Boundedly stale reads are not repeatable: two stale\nreads, even if they use the same staleness bound, can execute at\ndifferent timestamps and thus return inconsistent results.\n\nBoundedly stale reads execute in two phases: the first phase\nnegotiates a timestamp among all replicas needed to serve the\nread. In the second phase, reads are executed at the negotiated\ntimestamp.\n\nAs a result of the two phase execution, bounded staleness reads are\nusually a little slower than comparable exact staleness\nreads. However, they are typically able to return fresher\nresults, and are more likely to execute at the closest replica.\n\nBecause the timestamp negotiation requires up-front knowledge of\nwhich rows will be read, it can only be used with single-use\nread-only transactions.\n\nSee TransactionOptions.ReadOnly.max_staleness and\nTransactionOptions.ReadOnly.min_read_timestamp.\n\n### Old Read Timestamps and Garbage Collection\n\nCloud Spanner continuously garbage collects deleted and overwritten data\nin the background to reclaim storage space. This process is known\nas \"version GC\". By default, version GC reclaims versions after they\nare one hour old. Because of this, Cloud Spanner cannot perform reads\nat read timestamps more than one hour in the past. This\nrestriction also applies to in-progress reads and/or SQL queries whose\ntimestamp become too old while executing. Reads and SQL queries with\ntoo-old read timestamps fail with the error `FAILED_PRECONDITION`.", + "type": "object", "properties": { + "readWrite": { + "$ref": "ReadWrite", + "description": "Transaction may write.\n\nAuthorization to begin a read-write transaction requires\n`spanner.databases.beginOrRollbackReadWriteTransaction` permission\non the `session` resource." + }, "readOnly": { "$ref": "ReadOnly", "description": "Transaction will not write.\n\nAuthorization to begin a read-only transaction requires\n`spanner.databases.beginReadOnlyTransaction` permission\non the `session` resource." - }, - "readWrite": { - "description": "Transaction may write.\n\nAuthorization to begin a read-write transaction requires\n`spanner.databases.beginOrRollbackReadWriteTransaction` permission\non the `session` resource.", - "$ref": "ReadWrite" } }, - "id": "TransactionOptions", - "description": "# Transactions\n\n\nEach session can have at most one active transaction at a time. After the\nactive transaction is completed, the session can immediately be\nre-used for the next transaction. It is not necessary to create a\nnew session for each transaction.\n\n# Transaction Modes\n\nCloud Spanner supports two transaction modes:\n\n 1. Locking read-write. This type of transaction is the only way\n to write data into Cloud Spanner. These transactions rely on\n pessimistic locking and, if necessary, two-phase commit.\n Locking read-write transactions may abort, requiring the\n application to retry.\n\n 2. Snapshot read-only. This transaction type provides guaranteed\n consistency across several reads, but does not allow\n writes. Snapshot read-only transactions can be configured to\n read at timestamps in the past. Snapshot read-only\n transactions do not need to be committed.\n\nFor transactions that only read, snapshot read-only transactions\nprovide simpler semantics and are almost always faster. In\nparticular, read-only transactions do not take locks, so they do\nnot conflict with read-write transactions. As a consequence of not\ntaking locks, they also do not abort, so retry loops are not needed.\n\nTransactions may only read/write data in a single database. They\nmay, however, read/write data in different tables within that\ndatabase.\n\n## Locking Read-Write Transactions\n\nLocking transactions may be used to atomically read-modify-write\ndata anywhere in a database. This type of transaction is externally\nconsistent.\n\nClients should attempt to minimize the amount of time a transaction\nis active. Faster transactions commit with higher probability\nand cause less contention. Cloud Spanner attempts to keep read locks\nactive as long as the transaction continues to do reads, and the\ntransaction has not been terminated by\nCommit or\nRollback. Long periods of\ninactivity at the client may cause Cloud Spanner to release a\ntransaction's locks and abort it.\n\nReads performed within a transaction acquire locks on the data\nbeing read. Writes can only be done at commit time, after all reads\nhave been completed.\nConceptually, a read-write transaction consists of zero or more\nreads or SQL queries followed by\nCommit. At any time before\nCommit, the client can send a\nRollback request to abort the\ntransaction.\n\n### Semantics\n\nCloud Spanner can commit the transaction if all read locks it acquired\nare still valid at commit time, and it is able to acquire write\nlocks for all writes. Cloud Spanner can abort the transaction for any\nreason. If a commit attempt returns `ABORTED`, Cloud Spanner guarantees\nthat the transaction has not modified any user data in Cloud Spanner.\n\nUnless the transaction commits, Cloud Spanner makes no guarantees about\nhow long the transaction's locks were held for. It is an error to\nuse Cloud Spanner locks for any sort of mutual exclusion other than\nbetween Cloud Spanner transactions themselves.\n\n### Retrying Aborted Transactions\n\nWhen a transaction aborts, the application can choose to retry the\nwhole transaction again. To maximize the chances of successfully\ncommitting the retry, the client should execute the retry in the\nsame session as the original attempt. The original session's lock\npriority increases with each consecutive abort, meaning that each\nattempt has a slightly better chance of success than the previous.\n\nUnder some circumstances (e.g., many transactions attempting to\nmodify the same row(s)), a transaction can abort many times in a\nshort period before successfully committing. Thus, it is not a good\nidea to cap the number of retries a transaction can attempt;\ninstead, it is better to limit the total amount of wall time spent\nretrying.\n\n### Idle Transactions\n\nA transaction is considered idle if it has no outstanding reads or\nSQL queries and has not started a read or SQL query within the last 10\nseconds. Idle transactions can be aborted by Cloud Spanner so that they\ndon't hold on to locks indefinitely. In that case, the commit will\nfail with error `ABORTED`.\n\nIf this behavior is undesirable, periodically executing a simple\nSQL query in the transaction (e.g., `SELECT 1`) prevents the\ntransaction from becoming idle.\n\n## Snapshot Read-Only Transactions\n\nSnapshot read-only transactions provides a simpler method than\nlocking read-write transactions for doing several consistent\nreads. However, this type of transaction does not support writes.\n\nSnapshot transactions do not take locks. Instead, they work by\nchoosing a Cloud Spanner timestamp, then executing all reads at that\ntimestamp. Since they do not acquire locks, they do not block\nconcurrent read-write transactions.\n\nUnlike locking read-write transactions, snapshot read-only\ntransactions never abort. They can fail if the chosen read\ntimestamp is garbage collected; however, the default garbage\ncollection policy is generous enough that most applications do not\nneed to worry about this in practice.\n\nSnapshot read-only transactions do not need to call\nCommit or\nRollback (and in fact are not\npermitted to do so).\n\nTo execute a snapshot transaction, the client specifies a timestamp\nbound, which tells Cloud Spanner how to choose a read timestamp.\n\nThe types of timestamp bound are:\n\n - Strong (the default).\n - Bounded staleness.\n - Exact staleness.\n\nIf the Cloud Spanner database to be read is geographically distributed,\nstale read-only transactions can execute more quickly than strong\nor read-write transaction, because they are able to execute far\nfrom the leader replica.\n\nEach type of timestamp bound is discussed in detail below.\n\n### Strong\n\nStrong reads are guaranteed to see the effects of all transactions\nthat have committed before the start of the read. Furthermore, all\nrows yielded by a single read are consistent with each other -- if\nany part of the read observes a transaction, all parts of the read\nsee the transaction.\n\nStrong reads are not repeatable: two consecutive strong read-only\ntransactions might return inconsistent results if there are\nconcurrent writes. If consistency across reads is required, the\nreads should be executed within a transaction or at an exact read\ntimestamp.\n\nSee TransactionOptions.ReadOnly.strong.\n\n### Exact Staleness\n\nThese timestamp bounds execute reads at a user-specified\ntimestamp. Reads at a timestamp are guaranteed to see a consistent\nprefix of the global transaction history: they observe\nmodifications done by all transactions with a commit timestamp \u003c=\nthe read timestamp, and observe none of the modifications done by\ntransactions with a larger commit timestamp. They will block until\nall conflicting transactions that may be assigned commit timestamps\n\u003c= the read timestamp have finished.\n\nThe timestamp can either be expressed as an absolute Cloud Spanner commit\ntimestamp or a staleness relative to the current time.\n\nThese modes do not require a \"negotiation phase\" to pick a\ntimestamp. As a result, they execute slightly faster than the\nequivalent boundedly stale concurrency modes. On the other hand,\nboundedly stale reads usually return fresher results.\n\nSee TransactionOptions.ReadOnly.read_timestamp and\nTransactionOptions.ReadOnly.exact_staleness.\n\n### Bounded Staleness\n\nBounded staleness modes allow Cloud Spanner to pick the read timestamp,\nsubject to a user-provided staleness bound. Cloud Spanner chooses the\nnewest timestamp within the staleness bound that allows execution\nof the reads at the closest available replica without blocking.\n\nAll rows yielded are consistent with each other -- if any part of\nthe read observes a transaction, all parts of the read see the\ntransaction. Boundedly stale reads are not repeatable: two stale\nreads, even if they use the same staleness bound, can execute at\ndifferent timestamps and thus return inconsistent results.\n\nBoundedly stale reads execute in two phases: the first phase\nnegotiates a timestamp among all replicas needed to serve the\nread. In the second phase, reads are executed at the negotiated\ntimestamp.\n\nAs a result of the two phase execution, bounded staleness reads are\nusually a little slower than comparable exact staleness\nreads. However, they are typically able to return fresher\nresults, and are more likely to execute at the closest replica.\n\nBecause the timestamp negotiation requires up-front knowledge of\nwhich rows will be read, it can only be used with single-use\nread-only transactions.\n\nSee TransactionOptions.ReadOnly.max_staleness and\nTransactionOptions.ReadOnly.min_read_timestamp.\n\n### Old Read Timestamps and Garbage Collection\n\nCloud Spanner continuously garbage collects deleted and overwritten data\nin the background to reclaim storage space. This process is known\nas \"version GC\". By default, version GC reclaims versions after they\nare one hour old. Because of this, Cloud Spanner cannot perform reads\nat read timestamps more than one hour in the past. This\nrestriction also applies to in-progress reads and/or SQL queries whose\ntimestamp become too old while executing. Reads and SQL queries with\ntoo-old read timestamps fail with the error `FAILED_PRECONDITION`.", - "type": "object" + "id": "TransactionOptions" }, "CreateDatabaseRequest": { + "description": "The request for CreateDatabase.", "type": "object", "properties": { "extraStatements": { "description": "An optional list of DDL statements to run inside the newly created\ndatabase. Statements can create tables, indexes, etc. These\nstatements execute atomically with the creation of the database:\nif there is an error in any statement, the database is not created.", + "type": "array", "items": { "type": "string" - }, - "type": "array" + } }, "createStatement": { "description": "Required. A `CREATE DATABASE` statement, which specifies the ID of the\nnew database. The database ID must conform to the regular expression\n`a-z*[a-z0-9]` and be between 2 and 30 characters in length.\nIf the database ID is a reserved word or if it contains a hyphen, the\ndatabase ID must be enclosed in backticks (`` ` ``).", "type": "string" } }, - "id": "CreateDatabaseRequest", - "description": "The request for CreateDatabase." + "id": "CreateDatabaseRequest" }, "CreateInstanceRequest": { + "description": "The request for CreateInstance.", "type": "object", "properties": { "instanceId": { @@ -972,140 +516,15 @@ "$ref": "Instance" } }, - "id": "CreateInstanceRequest", - "description": "The request for CreateInstance." - }, - "Condition": { - "description": "A condition to be met.", - "type": "object", - "properties": { - "iam": { - "enum": [ - "NO_ATTR", - "AUTHORITY", - "ATTRIBUTION", - "SECURITY_REALM", - "APPROVER", - "JUSTIFICATION_TYPE" - ], - "description": "Trusted attributes supplied by the IAM system.", - "type": "string", - "enumDescriptions": [ - "Default non-attribute.", - "Either principal or (if present) authority selector.", - "The principal (even if an authority selector is present), which\nmust only be used for attribution, not authorization.", - "Any of the security realms in the IAMContext (go/security-realms).\nWhen used with IN, the condition indicates \"any of the request's realms\nmatch one of the given values; with NOT_IN, \"none of the realms match\nany of the given values\". It is not permitted to grant access based on\nthe *absence* of a realm, so realm conditions can only be used in\na \"positive\" context (e.g., ALLOW/IN or DENY/NOT_IN).", - "An approver (distinct from the requester) that has authorized this\nrequest.\nWhen used with IN, the condition indicates that one of the approvers\nassociated with the request matches the specified principal, or is a\nmember of the specified group. Approvers can only grant additional\naccess, and are thus only used in a strictly positive context\n(e.g. ALLOW/IN or DENY/NOT_IN).", - "What types of justifications have been supplied with this request.\nString values should match enum names from tech.iam.JustificationType,\ne.g. \"MANUAL_STRING\". It is not permitted to grant access based on\nthe *absence* of a justification, so justification conditions can only\nbe used in a \"positive\" context (e.g., ALLOW/IN or DENY/NOT_IN).\n\nMultiple justifications, e.g., a Buganizer ID and a manually-entered\nreason, are normal and supported." - ] - }, - "values": { - "description": "The objects of the condition. This is mutually exclusive with 'value'.", - "items": { - "type": "string" - }, - "type": "array" - }, - "op": { - "enumDescriptions": [ - "Default no-op.", - "DEPRECATED. Use IN instead.", - "DEPRECATED. Use NOT_IN instead.", - "The condition is true if the subject (or any element of it if it is\na set) matches any of the supplied values.", - "The condition is true if the subject (or every element of it if it is\na set) matches none of the supplied values.", - "Subject is discharged" - ], - "enum": [ - "NO_OP", - "EQUALS", - "NOT_EQUALS", - "IN", - "NOT_IN", - "DISCHARGED" - ], - "description": "An operator to apply the subject with.", - "type": "string" - }, - "svc": { - "description": "Trusted attributes discharged by the service.", - "type": "string" - }, - "sys": { - "enumDescriptions": [ - "Default non-attribute type", - "Region of the resource", - "Service name", - "Resource name", - "IP address of the caller" - ], - "enum": [ - "NO_ATTR", - "REGION", - "SERVICE", - "NAME", - "IP" - ], - "description": "Trusted attributes supplied by any service that owns resources and uses\nthe IAM system for access control.", - "type": "string" - }, - "value": { - "description": "DEPRECATED. Use 'values' instead.", - "type": "string" - } - }, - "id": "Condition" - }, - "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\nfoo@gmail.com from DATA_READ logging.", - "type": "object", - "properties": { - "exemptedMembers": { - "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", - "items": { - "type": "string" - }, - "type": "array" - }, - "logType": { - "enum": [ - "LOG_TYPE_UNSPECIFIED", - "ADMIN_READ", - "DATA_WRITE", - "DATA_READ" - ], - "description": "The log type that this config enables.", - "type": "string", - "enumDescriptions": [ - "Default case. Should never be this.", - "Admin reads. Example: CloudIAM getIamPolicy", - "Data writes. Example: CloudSQL Users create", - "Data reads. Example: CloudSQL Users list" - ] - } - }, - "id": "AuditLogConfig" + "id": "CreateInstanceRequest" }, "ReadOnly": { "description": "Message type to initiate a read-only transaction.", "type": "object", "properties": { - "maxStaleness": { - "format": "google-duration", - "description": "Read data at a timestamp \u003e= `NOW - max_staleness`\nseconds. Guarantees that all writes that have committed more\nthan the specified number of seconds ago are visible. Because\nCloud Spanner chooses the exact timestamp, this mode works even if\nthe client's local clock is substantially skewed from Cloud Spanner\ncommit timestamps.\n\nUseful for reading the freshest data available at a nearby\nreplica, while bounding the possible staleness if the local\nreplica has fallen behind.\n\nNote that this option can only be used in single-use\ntransactions.", - "type": "string" - }, - "readTimestamp": { - "format": "google-datetime", - "description": "Executes all reads at the given timestamp. Unlike other modes,\nreads at a specific timestamp are repeatable; the same read at\nthe same timestamp always returns the same data. If the\ntimestamp is in the future, the read will block until the\nspecified timestamp, modulo the read's deadline.\n\nUseful for large scale consistent reads such as mapreduces, or\nfor coordinating many reads against a consistent snapshot of the\ndata.", - "type": "string" - }, - "returnReadTimestamp": { - "description": "If true, the Cloud Spanner-selected read timestamp is included in\nthe Transaction message that describes the transaction.", - "type": "boolean" - }, "exactStaleness": { - "format": "google-duration", "description": "Executes all reads at a timestamp that is `exact_staleness`\nold. The timestamp is chosen soon after the read is started.\n\nGuarantees that all writes that have committed more than the\nspecified number of seconds ago are visible. Because Cloud Spanner\nchooses the exact timestamp, this mode works even if the client's\nlocal clock is substantially skewed from Cloud Spanner commit\ntimestamps.\n\nUseful for reading at nearby replicas without the distributed\ntimestamp negotiation overhead of `max_staleness`.", + "format": "google-duration", "type": "string" }, "strong": { @@ -1113,9 +532,23 @@ "type": "boolean" }, "minReadTimestamp": { - "format": "google-datetime", "description": "Executes all reads at a timestamp \u003e= `min_read_timestamp`.\n\nThis is useful for requesting fresher data than some previous\nread, or data that is fresh enough to observe the effects of some\npreviously committed transaction whose timestamp is known.\n\nNote that this option can only be used in single-use transactions.", + "format": "google-datetime", "type": "string" + }, + "maxStaleness": { + "description": "Read data at a timestamp \u003e= `NOW - max_staleness`\nseconds. Guarantees that all writes that have committed more\nthan the specified number of seconds ago are visible. Because\nCloud Spanner chooses the exact timestamp, this mode works even if\nthe client's local clock is substantially skewed from Cloud Spanner\ncommit timestamps.\n\nUseful for reading the freshest data available at a nearby\nreplica, while bounding the possible staleness if the local\nreplica has fallen behind.\n\nNote that this option can only be used in single-use\ntransactions.", + "format": "google-duration", + "type": "string" + }, + "readTimestamp": { + "description": "Executes all reads at the given timestamp. Unlike other modes,\nreads at a specific timestamp are repeatable; the same read at\nthe same timestamp always returns the same data. If the\ntimestamp is in the future, the read will block until the\nspecified timestamp, modulo the read's deadline.\n\nUseful for large scale consistent reads such as mapreduces, or\nfor coordinating many reads against a consistent snapshot of the\ndata.", + "format": "google-datetime", + "type": "string" + }, + "returnReadTimestamp": { + "description": "If true, the Cloud Spanner-selected read timestamp is included in\nthe Transaction message that describes the transaction.", + "type": "boolean" } }, "id": "ReadOnly" @@ -1124,35 +557,12 @@ "description": "The request for ExecuteSql and\nExecuteStreamingSql.", "type": "object", "properties": { - "queryMode": { - "enumDescriptions": [ - "The default mode where only the query result, without any information\nabout the query plan is returned.", - "This mode returns only the query plan, without any result rows or\nexecution statistics information.", - "This mode returns both the query plan and the execution statistics along\nwith the result rows." - ], - "enum": [ - "NORMAL", - "PLAN", - "PROFILE" - ], - "description": "Used to control the amount of debugging information returned in\nResultSetStats.", - "type": "string" - }, - "transaction": { - "$ref": "TransactionSelector", - "description": "The transaction to use. If none is provided, the default is a\ntemporary read-only transaction with strong concurrency." - }, - "resumeToken": { - "format": "byte", - "description": "If this request is resuming a previously interrupted SQL query\nexecution, `resume_token` should be copied from the last\nPartialResultSet yielded before the interruption. Doing this\nenables the new SQL query execution to resume where the last one left\noff. The rest of the request parameters must exactly match the\nrequest that yielded this token.", - "type": "string" - }, "paramTypes": { + "type": "object", "additionalProperties": { "$ref": "Type" }, - "description": "It is not always possible for Cloud Spanner to infer the right SQL type\nfrom a JSON value. For example, values of type `BYTES` and values\nof type `STRING` both appear in params as JSON strings.\n\nIn these cases, `param_types` can be used to specify the exact\nSQL type for some or all of the SQL query parameters. See the\ndefinition of Type for more information\nabout SQL types.", - "type": "object" + "description": "It is not always possible for Cloud Spanner to infer the right SQL type\nfrom a JSON value. For example, values of type `BYTES` and values\nof type `STRING` both appear in params as JSON strings.\n\nIn these cases, `param_types` can be used to specify the exact\nSQL type for some or all of the SQL query parameters. See the\ndefinition of Type for more information\nabout SQL types." }, "sql": { "description": "Required. The SQL query string.", @@ -1165,54 +575,79 @@ "description": "Properties of the object.", "type": "any" } + }, + "queryMode": { + "description": "Used to control the amount of debugging information returned in\nResultSetStats.", + "type": "string", + "enumDescriptions": [ + "The default mode where only the query result, without any information\nabout the query plan is returned.", + "This mode returns only the query plan, without any result rows or\nexecution statistics information.", + "This mode returns both the query plan and the execution statistics along\nwith the result rows." + ], + "enum": [ + "NORMAL", + "PLAN", + "PROFILE" + ] + }, + "transaction": { + "$ref": "TransactionSelector", + "description": "The transaction to use. If none is provided, the default is a\ntemporary read-only transaction with strong concurrency." + }, + "resumeToken": { + "type": "string", + "description": "If this request is resuming a previously interrupted SQL query\nexecution, `resume_token` should be copied from the last\nPartialResultSet yielded before the interruption. Doing this\nenables the new SQL query execution to resume where the last one left\noff. The rest of the request parameters must exactly match the\nrequest that yielded this token.", + "format": "byte" } }, "id": "ExecuteSqlRequest" }, "Policy": { + "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam).", "type": "object", "properties": { - "iamOwned": { - "type": "boolean" - }, - "rules": { - "description": "If more than one rule is specified, the rules are applied in the following\nmanner:\n- All matching LOG rules are always applied.\n- If any DENY/DENY_WITH_LOG rule matches, permission is denied.\n Logging will be applied if one or more matching rule requires logging.\n- Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is\n granted.\n Logging will be applied if one or more matching rule requires logging.\n- Otherwise, if no rule applies, permission is denied.", - "items": { - "$ref": "Rule" - }, - "type": "array" + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.", + "format": "byte", + "type": "string" }, "version": { - "format": "int32", "description": "Version of the `Policy`. The default version is 0.", + "format": "int32", "type": "integer" }, - "auditConfigs": { - "description": "Specifies cloud audit logging configuration for this policy.", - "items": { - "$ref": "AuditConfig" - }, - "type": "array" - }, "bindings": { "description": "Associates a list of `members` to a `role`.\n`bindings` with no members will result in an error.", + "type": "array", "items": { "$ref": "Binding" - }, - "type": "array" - }, - "etag": { - "format": "byte", - "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten blindly.", - "type": "string" + } } }, - "id": "Policy", - "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\",\n ]\n },\n {\n \"role\": \"roles/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https://cloud.google.com/iam)." + "id": "Policy" }, "ReadRequest": { + "description": "The request for Read and\nStreamingRead.", "type": "object", "properties": { + "transaction": { + "description": "The transaction to use. If none is provided, the default is a\ntemporary read-only transaction with strong concurrency.", + "$ref": "TransactionSelector" + }, + "resumeToken": { + "description": "If this request is resuming a previously interrupted read,\n`resume_token` should be copied from the last\nPartialResultSet yielded before the interruption. Doing this\nenables the new read to resume where the last read left off. The\nrest of the request parameters must exactly match the request\nthat yielded this token.", + "format": "byte", + "type": "string" + }, + "table": { + "description": "Required. The name of the table in the database to be read.", + "type": "string" + }, + "limit": { + "description": "If greater than zero, only the first `limit` rows are yielded. If `limit`\nis zero, the default is no limit.\nA limit cannot be specified if partition_token is set.", + "format": "int64", + "type": "string" + }, "index": { "description": "If non-empty, the name of an index on table. This index is\nused instead of the table primary key when interpreting key_set\nand sorting result rows. See key_set for further information.", "type": "string" @@ -1223,66 +658,41 @@ }, "columns": { "description": "The columns of table to be returned for each row matching\nthis request.", + "type": "array", "items": { "type": "string" - }, - "type": "array" - }, - "transaction": { - "description": "The transaction to use. If none is provided, the default is a\ntemporary read-only transaction with strong concurrency.", - "$ref": "TransactionSelector" - }, - "resumeToken": { - "format": "byte", - "description": "If this request is resuming a previously interrupted read,\n`resume_token` should be copied from the last\nPartialResultSet yielded before the interruption. Doing this\nenables the new read to resume where the last read left off. The\nrest of the request parameters must exactly match the request\nthat yielded this token.", - "type": "string" - }, - "table": { - "description": "Required. The name of the table in the database to be read.", - "type": "string" - }, - "limit": { - "format": "int64", - "description": "If greater than zero, only the first `limit` rows are yielded. If `limit`\nis zero, the default is no limit.", - "type": "string" + } } }, - "id": "ReadRequest", - "description": "The request for Read and\nStreamingRead." + "id": "ReadRequest" }, "Write": { + "description": "Arguments to insert, update, insert_or_update, and\nreplace operations.", + "type": "object", "properties": { - "table": { - "type": "string", - "description": "Required. The table whose rows will be written." + "columns": { + "description": "The names of the columns in table to be written.\n\nThe list of columns must contain enough columns to allow\nCloud Spanner to derive values for all primary key columns in the\nrow(s) to be modified.", + "type": "array", + "items": { + "type": "string" + } }, "values": { "description": "The values to be written. `values` can contain more than one\nlist of values. If it does, then multiple rows are written, one\nfor each entry in `values`. Each list in `values` must have\nexactly as many entries as there are entries in columns\nabove. Sending multiple lists is equivalent to sending multiple\n`Mutation`s, each containing one `values` entry and repeating\ntable and columns. Individual values in each list are\nencoded as described here.", + "type": "array", "items": { + "type": "array", "items": { "type": "any" - }, - "type": "array" - }, - "type": "array" + } + } }, - "columns": { - "description": "The names of the columns in table to be written.\n\nThe list of columns must contain enough columns to allow\nCloud Spanner to derive values for all primary key columns in the\nrow(s) to be modified.", - "items": { - "type": "string" - }, - "type": "array" + "table": { + "description": "Required. The table whose rows will be written.", + "type": "string" } }, - "id": "Write", - "description": "Arguments to insert, update, insert_or_update, and\nreplace operations.", - "type": "object" - }, - "DataAccessOptions": { - "type": "object", - "properties": {}, - "id": "DataAccessOptions", - "description": "Write a Data Access (Gin) log" + "id": "Write" }, "ReadWrite": { "properties": {}, @@ -1293,10 +703,6 @@ "Operation": { "type": "object", "properties": { - "error": { - "$ref": "Status", - "description": "The error result of the operation in case of failure or cancellation." - }, "metadata": { "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", @@ -1306,54 +712,44 @@ "type": "object" }, "done": { - "description": "If the value is `false`, it means the operation is still in progress.\nIf true, the operation is completed, and either `error` or `response` is\navailable.", + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", "type": "boolean" }, "response": { - "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", - "type": "object", "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" - } + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" }, "name": { "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`.", "type": "string" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." } }, "id": "Operation", "description": "This resource represents a long-running operation that is the result of a\nnetwork API call." }, - "Status": { - "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", + "ResultSet": { + "id": "ResultSet", + "description": "Results from Read or\nExecuteSql.", "type": "object", "properties": { - "code": { - "format": "int32", - "description": "The status code, which should be an enum value of google.rpc.Code.", - "type": "integer" - }, - "message": { - "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", - "type": "string" - }, - "details": { - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", + "rows": { + "description": "Each element in `rows` is a row whose format is defined by\nmetadata.row_type. The ith element\nin each row matches the ith field in\nmetadata.row_type. Elements are\nencoded based on type as described\nhere.", + "type": "array", "items": { - "type": "object", - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", + "type": "array", + "items": { "type": "any" } - }, - "type": "array" - } - }, - "id": "Status" - }, - "ResultSet": { - "properties": { + } + }, "metadata": { "$ref": "ResultSetMetadata", "description": "Metadata about the result set, such as row type information." @@ -1361,36 +757,75 @@ "stats": { "description": "Query plan and execution statistics for the query that produced this\nresult set. These can be requested by setting\nExecuteSqlRequest.query_mode.", "$ref": "ResultSetStats" + } + } + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", + "type": "object", + "properties": { + "message": { + "type": "string", + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client." }, - "rows": { - "description": "Each element in `rows` is a row whose format is defined by\nmetadata.row_type. The ith element\nin each row matches the ith field in\nmetadata.row_type. Elements are\nencoded based on type as described\nhere.", + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "type": "array", "items": { - "items": { - "type": "any" + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @type with type URL." }, - "type": "array" - }, - "type": "array" + "type": "object" + } + }, + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" } }, - "id": "ResultSet", - "description": "Results from Read or\nExecuteSql.", - "type": "object" + "id": "Status" + }, + "CreateSessionRequest": { + "description": "The request for CreateSession.", + "type": "object", + "properties": { + "session": { + "description": "The session to create.", + "$ref": "Session" + } + }, + "id": "CreateSessionRequest" + }, + "UpdateDatabaseDdlRequest": { + "description": "Enqueues the given DDL statements to be applied, in order but not\nnecessarily all at once, to the database schema at some point (or\npoints) in the future. The server checks that the statements\nare executable (syntactically valid, name tables that exist, etc.)\nbefore enqueueing them, but they may still fail upon\nlater execution (e.g., if a statement from another batch of\nstatements is applied first and it conflicts in some way, or if\nthere is some data-related problem like a `NULL` value in a column to\nwhich `NOT NULL` would be added). If a statement fails, all\nsubsequent statements in the batch are automatically cancelled.\n\nEach batch of statements is assigned a name which can be used with\nthe Operations API to monitor\nprogress. See the\noperation_id field for more\ndetails.", + "type": "object", + "properties": { + "statements": { + "description": "DDL statements to be applied to the database.", + "type": "array", + "items": { + "type": "string" + } + }, + "operationId": { + "type": "string", + "description": "If empty, the new update request is assigned an\nautomatically-generated operation ID. Otherwise, `operation_id`\nis used to construct the name of the resulting\nOperation.\n\nSpecifying an explicit operation ID simplifies determining\nwhether the statements were executed in the event that the\nUpdateDatabaseDdl call is replayed,\nor the return value is otherwise lost: the database and\n`operation_id` fields can be combined to form the\nname of the resulting\nlongrunning.Operation: `\u003cdatabase\u003e/operations/\u003coperation_id\u003e`.\n\n`operation_id` should be unique within the database, and must be\na valid identifier: `a-z*`. Note that\nautomatically-generated operation IDs always begin with an\nunderscore. If the named operation already exists,\nUpdateDatabaseDdl returns\n`ALREADY_EXISTS`." + } + }, + "id": "UpdateDatabaseDdlRequest" }, "Binding": { "description": "Associates `members` with a `role`.", "type": "object", "properties": { - "condition": { - "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: an unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently.\nThis field is GOOGLE_INTERNAL." - }, "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@gmail.com` or `joe@example.com`.\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n\n* `domain:{domain}`: A Google Apps domain name that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", + "type": "array", "items": { "type": "string" - }, - "type": "array", - "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@gmail.com` or `joe@example.com`.\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n\n* `domain:{domain}`: A Google Apps domain name that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n" + } }, "role": { "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired", @@ -1399,24 +834,6 @@ }, "id": "Binding" }, - "UpdateDatabaseDdlRequest": { - "description": "Enqueues the given DDL statements to be applied, in order but not\nnecessarily all at once, to the database schema at some point (or\npoints) in the future. The server checks that the statements\nare executable (syntactically valid, name tables that exist, etc.)\nbefore enqueueing them, but they may still fail upon\nlater execution (e.g., if a statement from another batch of\nstatements is applied first and it conflicts in some way, or if\nthere is some data-related problem like a `NULL` value in a column to\nwhich `NOT NULL` would be added). If a statement fails, all\nsubsequent statements in the batch are automatically cancelled.\n\nEach batch of statements is assigned a name which can be used with\nthe Operations API to monitor\nprogress. See the\noperation_id field for more\ndetails.", - "type": "object", - "properties": { - "operationId": { - "description": "If empty, the new update request is assigned an\nautomatically-generated operation ID. Otherwise, `operation_id`\nis used to construct the name of the resulting\nOperation.\n\nSpecifying an explicit operation ID simplifies determining\nwhether the statements were executed in the event that the\nUpdateDatabaseDdl call is replayed,\nor the return value is otherwise lost: the database and\n`operation_id` fields can be combined to form the\nname of the resulting\nlongrunning.Operation: `\u003cdatabase\u003e/operations/\u003coperation_id\u003e`.\n\n`operation_id` should be unique within the database, and must be\na valid identifier: `a-z*`. Note that\nautomatically-generated operation IDs always begin with an\nunderscore. If the named operation already exists,\nUpdateDatabaseDdl returns\n`ALREADY_EXISTS`.", - "type": "string" - }, - "statements": { - "description": "DDL statements to be applied to the database.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "id": "UpdateDatabaseDdlRequest" - }, "PartialResultSet": { "description": "Partial results from a streaming read or SQL query. Streaming reads and\nSQL queries better tolerate large result sets, large rows, and large\nvalues, but are a little trickier to consume.", "type": "object", @@ -1425,45 +842,375 @@ "description": "If true, then the final value in values is chunked, and must\nbe combined with more values from subsequent `PartialResultSet`s\nto obtain a complete field value.", "type": "boolean" }, - "values": { - "description": "A streamed result set consists of a stream of values, which might\nbe split into many `PartialResultSet` messages to accommodate\nlarge rows and/or large values. Every N complete values defines a\nrow, where N is equal to the number of entries in\nmetadata.row_type.fields.\n\nMost values are encoded based on type as described\nhere.\n\nIt is possible that the last value in values is \"chunked\",\nmeaning that the rest of the value is sent in subsequent\n`PartialResultSet`(s). This is denoted by the chunked_value\nfield. Two or more chunked values can be merged to form a\ncomplete value as follows:\n\n * `bool/number/null`: cannot be chunked\n * `string`: concatenate the strings\n * `list`: concatenate the lists. If the last element in a list is a\n `string`, `list`, or `object`, merge it with the first element in\n the next list by applying these rules recursively.\n * `object`: concatenate the (field name, field value) pairs. If a\n field name is duplicated, then apply these rules recursively\n to merge the field values.\n\nSome examples of merging:\n\n # Strings are concatenated.\n \"foo\", \"bar\" =\u003e \"foobar\"\n\n # Lists of non-strings are concatenated.\n [2, 3], [4] =\u003e [2, 3, 4]\n\n # Lists are concatenated, but the last and first elements are merged\n # because they are strings.\n [\"a\", \"b\"], [\"c\", \"d\"] =\u003e [\"a\", \"bc\", \"d\"]\n\n # Lists are concatenated, but the last and first elements are merged\n # because they are lists. Recursively, the last and first elements\n # of the inner lists are merged because they are strings.\n [\"a\", [\"b\", \"c\"]], [[\"d\"], \"e\"] =\u003e [\"a\", [\"b\", \"cd\"], \"e\"]\n\n # Non-overlapping object fields are combined.\n {\"a\": \"1\"}, {\"b\": \"2\"} =\u003e {\"a\": \"1\", \"b\": 2\"}\n\n # Overlapping object fields are merged.\n {\"a\": \"1\"}, {\"a\": \"2\"} =\u003e {\"a\": \"12\"}\n\n # Examples of merging objects containing lists of strings.\n {\"a\": [\"1\"]}, {\"a\": [\"2\"]} =\u003e {\"a\": [\"12\"]}\n\nFor a more complete example, suppose a streaming SQL query is\nyielding a result set whose rows contain a single string\nfield. The following `PartialResultSet`s might be yielded:\n\n {\n \"metadata\": { ... }\n \"values\": [\"Hello\", \"W\"]\n \"chunked_value\": true\n \"resume_token\": \"Af65...\"\n }\n {\n \"values\": [\"orl\"]\n \"chunked_value\": true\n \"resume_token\": \"Bqp2...\"\n }\n {\n \"values\": [\"d\"]\n \"resume_token\": \"Zx1B...\"\n }\n\nThis sequence of `PartialResultSet`s encodes two rows, one\ncontaining the field value `\"Hello\"`, and a second containing the\nfield value `\"World\" = \"W\" + \"orl\" + \"d\"`.", - "items": { - "type": "any" - }, - "type": "array" - }, "metadata": { "$ref": "ResultSetMetadata", "description": "Metadata about the result set, such as row type information.\nOnly present in the first response." }, + "values": { + "type": "array", + "items": { + "type": "any" + }, + "description": "A streamed result set consists of a stream of values, which might\nbe split into many `PartialResultSet` messages to accommodate\nlarge rows and/or large values. Every N complete values defines a\nrow, where N is equal to the number of entries in\nmetadata.row_type.fields.\n\nMost values are encoded based on type as described\nhere.\n\nIt is possible that the last value in values is \"chunked\",\nmeaning that the rest of the value is sent in subsequent\n`PartialResultSet`(s). This is denoted by the chunked_value\nfield. Two or more chunked values can be merged to form a\ncomplete value as follows:\n\n * `bool/number/null`: cannot be chunked\n * `string`: concatenate the strings\n * `list`: concatenate the lists. If the last element in a list is a\n `string`, `list`, or `object`, merge it with the first element in\n the next list by applying these rules recursively.\n * `object`: concatenate the (field name, field value) pairs. If a\n field name is duplicated, then apply these rules recursively\n to merge the field values.\n\nSome examples of merging:\n\n # Strings are concatenated.\n \"foo\", \"bar\" =\u003e \"foobar\"\n\n # Lists of non-strings are concatenated.\n [2, 3], [4] =\u003e [2, 3, 4]\n\n # Lists are concatenated, but the last and first elements are merged\n # because they are strings.\n [\"a\", \"b\"], [\"c\", \"d\"] =\u003e [\"a\", \"bc\", \"d\"]\n\n # Lists are concatenated, but the last and first elements are merged\n # because they are lists. Recursively, the last and first elements\n # of the inner lists are merged because they are strings.\n [\"a\", [\"b\", \"c\"]], [[\"d\"], \"e\"] =\u003e [\"a\", [\"b\", \"cd\"], \"e\"]\n\n # Non-overlapping object fields are combined.\n {\"a\": \"1\"}, {\"b\": \"2\"} =\u003e {\"a\": \"1\", \"b\": 2\"}\n\n # Overlapping object fields are merged.\n {\"a\": \"1\"}, {\"a\": \"2\"} =\u003e {\"a\": \"12\"}\n\n # Examples of merging objects containing lists of strings.\n {\"a\": [\"1\"]}, {\"a\": [\"2\"]} =\u003e {\"a\": [\"12\"]}\n\nFor a more complete example, suppose a streaming SQL query is\nyielding a result set whose rows contain a single string\nfield. The following `PartialResultSet`s might be yielded:\n\n {\n \"metadata\": { ... }\n \"values\": [\"Hello\", \"W\"]\n \"chunked_value\": true\n \"resume_token\": \"Af65...\"\n }\n {\n \"values\": [\"orl\"]\n \"chunked_value\": true\n \"resume_token\": \"Bqp2...\"\n }\n {\n \"values\": [\"d\"]\n \"resume_token\": \"Zx1B...\"\n }\n\nThis sequence of `PartialResultSet`s encodes two rows, one\ncontaining the field value `\"Hello\"`, and a second containing the\nfield value `\"World\" = \"W\" + \"orl\" + \"d\"`." + }, "resumeToken": { - "format": "byte", + "type": "string", "description": "Streaming calls might be interrupted for a variety of reasons, such\nas TCP connection loss. If this occurs, the stream of results can\nbe resumed by re-sending the original request and including\n`resume_token`. Note that executing any other transaction in the\nsame session invalidates the token.", - "type": "string" + "format": "byte" }, "stats": { - "$ref": "ResultSetStats", - "description": "Query plan and execution statistics for the query that produced this\nstreaming result set. These can be requested by setting\nExecuteSqlRequest.query_mode and are sent\nonly once with the last response in the stream." + "description": "Query plan and execution statistics for the query that produced this\nstreaming result set. These can be requested by setting\nExecuteSqlRequest.query_mode and are sent\nonly once with the last response in the stream.", + "$ref": "ResultSetStats" } }, "id": "PartialResultSet" + }, + "ListOperationsResponse": { + "id": "ListOperationsResponse", + "description": "The response message for Operations.ListOperations.", + "type": "object", + "properties": { + "operations": { + "type": "array", + "items": { + "$ref": "Operation" + }, + "description": "A list of operations that matches the specified filter in the request." + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + } + }, + "UpdateInstanceMetadata": { + "description": "Metadata type for the operation returned by\nUpdateInstance.", + "type": "object", + "properties": { + "cancelTime": { + "description": "The time at which this operation was cancelled. If set, this operation is\nin the process of undoing itself (which is guaranteed to succeed) and\ncannot be cancelled again.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "The time at which this operation failed or was completed successfully.", + "format": "google-datetime", + "type": "string" + }, + "instance": { + "$ref": "Instance", + "description": "The desired end state of the update." + }, + "startTime": { + "description": "The time at which UpdateInstance\nrequest was received.", + "format": "google-datetime", + "type": "string" + } + }, + "id": "UpdateInstanceMetadata" + }, + "ResultSetMetadata": { + "id": "ResultSetMetadata", + "description": "Metadata about a ResultSet or PartialResultSet.", + "type": "object", + "properties": { + "transaction": { + "description": "If the read or SQL query began a transaction as a side-effect, the\ninformation about the new transaction is yielded here.", + "$ref": "Transaction" + }, + "rowType": { + "$ref": "StructType", + "description": "Indicates the field names and types for the rows in the result\nset. For example, a SQL query like `\"SELECT UserId, UserName FROM\nUsers\"` could return a `row_type` value like:\n\n \"fields\": [\n { \"name\": \"UserId\", \"type\": { \"code\": \"INT64\" } },\n { \"name\": \"UserName\", \"type\": { \"code\": \"STRING\" } },\n ]" + } + } + }, + "TransactionSelector": { + "description": "This message is used to select the transaction in which a\nRead or\nExecuteSql call runs.\n\nSee TransactionOptions for more information about transactions.", + "type": "object", + "properties": { + "singleUse": { + "$ref": "TransactionOptions", + "description": "Execute the read or SQL query in a temporary transaction.\nThis is the most efficient way to execute a transaction that\nconsists of a single SQL query." + }, + "begin": { + "$ref": "TransactionOptions", + "description": "Begin a new transaction and execute this read or SQL query in\nit. The transaction ID of the new transaction is returned in\nResultSetMetadata.transaction, which is a Transaction." + }, + "id": { + "description": "Execute the read or SQL query in a previously-started transaction.", + "format": "byte", + "type": "string" + } + }, + "id": "TransactionSelector" + }, + "KeySet": { + "description": "`KeySet` defines a collection of Cloud Spanner keys and/or key ranges. All\nthe keys are expected to be in the same table or index. The keys need\nnot be sorted in any particular way.\n\nIf the same key is specified multiple times in the set (for example\nif two ranges, two keys, or a key and a range overlap), Cloud Spanner\nbehaves as if the key were only specified once.", + "type": "object", + "properties": { + "ranges": { + "description": "A list of key ranges. See KeyRange for more information about\nkey range specifications.", + "type": "array", + "items": { + "$ref": "KeyRange" + } + }, + "keys": { + "description": "A list of specific keys. Entries in `keys` should have exactly as\nmany elements as there are columns in the primary or index key\nwith which this `KeySet` is used. Individual key values are\nencoded as described here.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "any" + } + } + }, + "all": { + "description": "For convenience `all` can be set to `true` to indicate that this\n`KeySet` matches all keys in the table or index. Note that any keys\nspecified in `keys` or `ranges` are only yielded once.", + "type": "boolean" + } + }, + "id": "KeySet" + }, + "Mutation": { + "description": "A modification to one or more Cloud Spanner rows. Mutations can be\napplied to a Cloud Spanner database by sending them in a\nCommit call.", + "type": "object", + "properties": { + "update": { + "$ref": "Write", + "description": "Update existing rows in a table. If any of the rows does not\nalready exist, the transaction fails with error `NOT_FOUND`." + }, + "replace": { + "$ref": "Write", + "description": "Like insert, except that if the row already exists, it is\ndeleted, and the column values provided are inserted\ninstead. Unlike insert_or_update, this means any values not\nexplicitly written become `NULL`." + }, + "delete": { + "description": "Delete rows from a table. Succeeds whether or not the named\nrows were present.", + "$ref": "Delete" + }, + "insert": { + "$ref": "Write", + "description": "Insert new rows in a table. If any of the rows already exist,\nthe write or transaction fails with error `ALREADY_EXISTS`." + }, + "insertOrUpdate": { + "description": "Like insert, except that if the row already exists, then\nits column values are overwritten with the ones provided. Any\ncolumn values not explicitly written are preserved.", + "$ref": "Write" + } + }, + "id": "Mutation" + }, + "GetDatabaseDdlResponse": { + "description": "The response for GetDatabaseDdl.", + "type": "object", + "properties": { + "statements": { + "description": "A list of formatted DDL statements defining the schema of the database\nspecified in the request.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "id": "GetDatabaseDdlResponse" + }, + "Database": { + "properties": { + "state": { + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY" + ], + "description": "Output only. The current database state.", + "type": "string", + "enumDescriptions": [ + "Not specified.", + "The database is still being created. Operations on the database may fail\nwith `FAILED_PRECONDITION` in this state.", + "The database is fully created and ready for use." + ] + }, + "name": { + "description": "Required. The name of the database. Values are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/databases/\u003cdatabase\u003e`,\nwhere `\u003cdatabase\u003e` is as specified in the `CREATE DATABASE`\nstatement. This name can be passed to other API methods to\nidentify the database.", + "type": "string" + } + }, + "id": "Database", + "description": "A Cloud Spanner database.", + "type": "object" + }, + "Instance": { + "id": "Instance", + "description": "An isolated set of Cloud Spanner resources on which databases can be hosted.", + "type": "object", + "properties": { + "displayName": { + "description": "Required. The descriptive name for this instance as it appears in UIs.\nMust be unique per project and between 4 and 30 characters in length.", + "type": "string" + }, + "nodeCount": { + "description": "Required. The number of nodes allocated to this instance. This may be zero\nin API responses for instances that are not yet in state `READY`.\n\nEach Spanner node can provide up to 10,000 QPS of reads or 2000 QPS of\nwrites (writing single rows at 1KB data per row), and 2 TiB storage.\n\nFor optimal performance, we recommend provisioning enough nodes to keep\noverall CPU utilization under 75%.\n\nA minimum of 3 nodes is recommended for production environments. This\nminimum is required for SLAs to apply to your instance.\n\nNote that Cloud Spanner performance is highly dependent on workload, schema\ndesign, and dataset characteristics. The performance numbers above are\nestimates, and assume [best practices](https://cloud.google.com/spanner/docs/bulk-loading)\nare followed.", + "format": "int32", + "type": "integer" + }, + "labels": { + "description": "Cloud Labels are a flexible and lightweight mechanism for organizing cloud\nresources into groups that reflect a customer's organizational needs and\ndeployment strategies. Cloud Labels can be used to filter collections of\nresources. They can be used to control how resource metrics are aggregated.\nAnd they can be used as arguments to policy management rules (e.g. route,\nfirewall, load balancing, etc.).\n\n * Label keys must be between 1 and 63 characters long and must conform to\n the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.\n * Label values must be between 0 and 63 characters long and must conform\n to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.\n * No more than 64 labels can be associated with a given resource.\n\nSee https://goo.gl/xmQnxf for more information on and examples of labels.\n\nIf you plan to use labels in your own code, please note that additional\ncharacters may be allowed in the future. And so you are advised to use an\ninternal label representation, such as JSON, which doesn't rely upon\nspecific characters being disallowed. For example, representing labels\nas the string: name + \"_\" + value would prove problematic if we were to\nallow \"_\" in a future release.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "config": { + "description": "Required. The name of the instance's configuration. Values are of the form\n`projects/\u003cproject\u003e/instanceConfigs/\u003cconfiguration\u003e`. See\nalso InstanceConfig and\nListInstanceConfigs.", + "type": "string" + }, + "state": { + "enumDescriptions": [ + "Not specified.", + "The instance is still being created. Resources may not be\navailable yet, and operations such as database creation may not\nwork.", + "The instance is fully created and ready to do work such as\ncreating databases." + ], + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY" + ], + "description": "Output only. The current instance state. For\nCreateInstance, the state must be\neither omitted or set to `CREATING`. For\nUpdateInstance, the state must be\neither omitted or set to `READY`.", + "type": "string" + }, + "name": { + "type": "string", + "description": "Required. A unique identifier for the instance, which cannot be changed\nafter the instance is created. Values are of the form\n`projects/\u003cproject\u003e/instances/a-z*[a-z0-9]`. The final\nsegment of the name must be between 6 and 30 characters in length." + } + } + }, + "ListDatabasesResponse": { + "description": "The response for ListDatabases.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "`next_page_token` can be sent in a subsequent\nListDatabases call to fetch more\nof the matching databases.", + "type": "string" + }, + "databases": { + "description": "Databases that matched the request.", + "type": "array", + "items": { + "$ref": "Database" + } + } + }, + "id": "ListDatabasesResponse" + }, + "SetIamPolicyRequest": { + "type": "object", + "properties": { + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + } + }, + "id": "SetIamPolicyRequest", + "description": "Request message for `SetIamPolicy` method." + }, + "RollbackRequest": { + "description": "The request for Rollback.", + "type": "object", + "properties": { + "transactionId": { + "description": "Required. The transaction to roll back.", + "format": "byte", + "type": "string" + } + }, + "id": "RollbackRequest" + }, + "Transaction": { + "description": "A transaction.", + "type": "object", + "properties": { + "id": { + "description": "`id` may be used to identify the transaction in subsequent\nRead,\nExecuteSql,\nCommit, or\nRollback calls.\n\nSingle-use read-only transactions do not have IDs, because\nsingle-use transactions do not support multiple requests.", + "format": "byte", + "type": "string" + }, + "readTimestamp": { + "type": "string", + "description": "For snapshot read-only transactions, the read timestamp chosen\nfor the transaction. Not returned by default: see\nTransactionOptions.ReadOnly.return_read_timestamp.", + "format": "google-datetime" + } + }, + "id": "Transaction" + }, + "UpdateDatabaseDdlMetadata": { + "properties": { + "commitTimestamps": { + "type": "array", + "items": { + "format": "google-datetime", + "type": "string" + }, + "description": "Reports the commit timestamps of all statements that have\nsucceeded so far, where `commit_timestamps[i]` is the commit\ntimestamp for the statement `statements[i]`." + }, + "database": { + "description": "The database being modified.", + "type": "string" + }, + "statements": { + "type": "array", + "items": { + "type": "string" + }, + "description": "For an update this list contains all the statements. For an\nindividual statement, this list contains only that statement." + } + }, + "id": "UpdateDatabaseDdlMetadata", + "description": "Metadata type for the operation returned by\nUpdateDatabaseDdl.", + "type": "object" + }, + "QueryPlan": { + "properties": { + "planNodes": { + "description": "The nodes in the query plan. Plan nodes are returned in pre-order starting\nwith the plan root. Each PlanNode's `id` corresponds to its index in\n`plan_nodes`.", + "type": "array", + "items": { + "$ref": "PlanNode" + } + } + }, + "id": "QueryPlan", + "description": "Contains an ordered list of nodes appearing in the query plan.", + "type": "object" + }, + "StructType": { + "properties": { + "fields": { + "description": "The list of fields that make up this struct. Order is\nsignificant, because values of this struct type are represented as\nlists, where the order of field values matches the order of\nfields in the StructType. In turn, the order of fields\nmatches the order of columns in a read request, or the order of\nfields in the `SELECT` clause of a query.", + "type": "array", + "items": { + "$ref": "Field" + } + } + }, + "id": "StructType", + "description": "`StructType` defines the fields of a STRUCT type.", + "type": "object" } }, - "protocol": "rest", "icons": { - "x32": "http://www.google.com/images/icons/product/search-32.gif", - "x16": "http://www.google.com/images/icons/product/search-16.gif" + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" }, + "protocol": "rest", "canonicalName": "Spanner", "auth": { "oauth2": { "scopes": { - "https://www.googleapis.com/auth/spanner.admin": { - "description": "Administer your Spanner databases" - }, "https://www.googleapis.com/auth/cloud-platform": { "description": "View and manage your data across Google Cloud Platform services" }, + "https://www.googleapis.com/auth/spanner.admin": { + "description": "Administer your Spanner databases" + }, "https://www.googleapis.com/auth/spanner.data": { "description": "View and manage the contents of your Spanner databases" } @@ -1481,6 +1228,43 @@ "resources": { "instanceConfigs": { "methods": { + "list": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ], + "parameters": { + "parent": { + "location": "path", + "description": "Required. The name of the project for which a list of supported instance\nconfigurations is requested. Values are of the form\n`projects/\u003cproject\u003e`.", + "required": true, + "type": "string", + "pattern": "^projects/[^/]+$" + }, + "pageToken": { + "location": "query", + "description": "If non-empty, `page_token` should contain a\nnext_page_token\nfrom a previous ListInstanceConfigsResponse.", + "type": "string" + }, + "pageSize": { + "location": "query", + "description": "Number of instance configurations to be returned in the response. If 0 or\nless, defaults to the server's maximum allowed page size.", + "format": "int32", + "type": "integer" + } + }, + "flatPath": "v1/projects/{projectsId}/instanceConfigs", + "path": "v1/{+parent}/instanceConfigs", + "id": "spanner.projects.instanceConfigs.list", + "description": "Lists the supported instance configurations for a given project.", + "response": { + "$ref": "ListInstanceConfigsResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET" + }, "get": { "response": { "$ref": "InstanceConfig" @@ -1489,221 +1273,59 @@ "name" ], "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ], "parameters": { "name": { "description": "Required. The name of the requested instance configuration. Values are of\nthe form `projects/\u003cproject\u003e/instanceConfigs/\u003cconfig\u003e`.", - "type": "string", "required": true, + "type": "string", "pattern": "^projects/[^/]+/instanceConfigs/[^/]+$", "location": "path" } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.admin" - ], "flatPath": "v1/projects/{projectsId}/instanceConfigs/{instanceConfigsId}", - "id": "spanner.projects.instanceConfigs.get", "path": "v1/{+name}", + "id": "spanner.projects.instanceConfigs.get", "description": "Gets information about a particular instance configuration." - }, - "list": { - "path": "v1/{+parent}/instanceConfigs", - "id": "spanner.projects.instanceConfigs.list", - "description": "Lists the supported instance configurations for a given project.", - "httpMethod": "GET", - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "ListInstanceConfigsResponse" - }, - "parameters": { - "parent": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+$", - "location": "path", - "description": "Required. The name of the project for which a list of supported instance\nconfigurations is requested. Values are of the form\n`projects/\u003cproject\u003e`." - }, - "pageToken": { - "type": "string", - "location": "query", - "description": "If non-empty, `page_token` should contain a\nnext_page_token\nfrom a previous ListInstanceConfigsResponse." - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "Number of instance configurations to be returned in the response. If 0 or\nless, defaults to the server's maximum allowed page size.", - "type": "integer" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.admin" - ], - "flatPath": "v1/projects/{projectsId}/instanceConfigs" } } }, "instances": { "methods": { - "delete": { + "get": { + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}", + "path": "v1/{+name}", + "id": "spanner.projects.instances.get", + "description": "Gets information about a particular instance.", "response": { - "$ref": "Empty" + "$ref": "Instance" }, "parameterOrder": [ "name" ], - "httpMethod": "DELETE", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.admin" - ], + "httpMethod": "GET", "parameters": { "name": { "pattern": "^projects/[^/]+/instances/[^/]+$", "location": "path", - "description": "Required. The name of the instance to be deleted. Values are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e`", - "type": "string", - "required": true - } - }, - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}", - "id": "spanner.projects.instances.delete", - "path": "v1/{+name}", - "description": "Deletes an instance.\n\nImmediately upon completion of the request:\n\n * Billing ceases for all of the instance's reserved resources.\n\nSoon afterward:\n\n * The instance and *all of its databases* immediately and\n irrevocably disappear from the API. All data in the databases\n is permanently deleted." - }, - "list": { - "description": "Lists all instances in the given project.", - "httpMethod": "GET", - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "ListInstancesResponse" - }, - "parameters": { - "pageSize": { - "format": "int32", - "description": "Number of instances to be returned in the response. If 0 or less, defaults\nto the server's maximum allowed page size.", - "type": "integer", - "location": "query" - }, - "parent": { - "location": "path", - "description": "Required. The name of the project for which a list of instances is\nrequested. Values are of the form `projects/\u003cproject\u003e`.", - "type": "string", + "description": "Required. The name of the requested instance. Values are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e`.", "required": true, - "pattern": "^projects/[^/]+$" - }, - "filter": { - "location": "query", - "description": "An expression for filtering the results of the request. Filter rules are\ncase insensitive. The fields eligible for filtering are:\n\n * name\n * display_name\n * labels.key where key is the name of a label\n\nSome examples of using filters are:\n\n * name:* --\u003e The instance has a name.\n * name:Howl --\u003e The instance's name contains the string \"howl\".\n * name:HOWL --\u003e Equivalent to above.\n * NAME:howl --\u003e Equivalent to above.\n * labels.env:* --\u003e The instance has the label \"env\".\n * labels.env:dev --\u003e The instance has the label \"env\" and the value of\n the label contains the string \"dev\".\n * name:howl labels.env:dev --\u003e The instance's name contains \"howl\" and\n it has the label \"env\" with its value\n containing \"dev\".", "type": "string" - }, - "pageToken": { - "description": "If non-empty, `page_token` should contain a\nnext_page_token from a\nprevious ListInstancesResponse.", - "type": "string", - "location": "query" } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/spanner.admin" - ], - "flatPath": "v1/projects/{projectsId}/instances", - "path": "v1/{+parent}/instances", - "id": "spanner.projects.instances.list" - }, - "setIamPolicy": { - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "Policy" - }, - "parameters": { - "resource": { - "pattern": "^projects/[^/]+/instances/[^/]+$", - "location": "path", - "description": "REQUIRED: The Cloud Spanner resource for which the policy is being set. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for databases resources.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.admin" - ], - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}:setIamPolicy", - "path": "v1/{+resource}:setIamPolicy", - "id": "spanner.projects.instances.setIamPolicy", - "description": "Sets the access control policy on an instance resource. Replaces any\nexisting policy.\n\nAuthorization requires `spanner.instances.setIamPolicy` on\nresource.", - "request": { - "$ref": "SetIamPolicyRequest" - } - }, - "create": { - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "parent" - ], - "httpMethod": "POST", - "parameters": { - "parent": { - "pattern": "^projects/[^/]+$", - "location": "path", - "description": "Required. The name of the project in which to create the instance. Values\nare of the form `projects/\u003cproject\u003e`.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.admin" - ], - "flatPath": "v1/projects/{projectsId}/instances", - "id": "spanner.projects.instances.create", - "path": "v1/{+parent}/instances", - "description": "Creates an instance and begins preparing it to begin serving. The\nreturned long-running operation\ncan be used to track the progress of preparing the new\ninstance. The instance name is assigned by the caller. If the\nnamed instance already exists, `CreateInstance` returns\n`ALREADY_EXISTS`.\n\nImmediately upon completion of this request:\n\n * The instance is readable via the API, with all requested attributes\n but no allocated resources. Its state is `CREATING`.\n\nUntil completion of the returned operation:\n\n * Cancelling the operation renders the instance immediately unreadable\n via the API.\n * The instance can be deleted.\n * All other attempts to modify the instance are rejected.\n\nUpon completion of the returned operation:\n\n * Billing for all successfully-allocated resources begins (some types\n may have lower than the requested levels).\n * Databases can be created in the instance.\n * The instance's allocated resource levels are readable via the API.\n * The instance's state becomes `READY`.\n\nThe returned long-running operation will\nhave a name of the format `\u003cinstance_name\u003e/operations/\u003coperation_id\u003e` and\ncan be used to track creation of the instance. The\nmetadata field type is\nCreateInstanceMetadata.\nThe response field type is\nInstance, if successful.", - "request": { - "$ref": "CreateInstanceRequest" - } - }, - "getIamPolicy": { - "request": { - "$ref": "GetIamPolicyRequest" - }, - "description": "Gets the access control policy for an instance resource. Returns an empty\npolicy if an instance exists but does not have a policy set.\n\nAuthorization requires `spanner.instances.getIamPolicy` on\nresource.", - "response": { - "$ref": "Policy" - }, - "parameterOrder": [ - "resource" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.admin" - ], - "parameters": { - "resource": { - "description": "REQUIRED: The Cloud Spanner resource for which the policy is being retrieved. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for database resources.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/instances/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}:getIamPolicy", - "id": "spanner.projects.instances.getIamPolicy", - "path": "v1/{+resource}:getIamPolicy" + ] }, "patch": { + "description": "Updates an instance, and begins allocating or releasing resources\nas requested. The returned long-running\noperation can be used to track the\nprogress of updating the instance. If the named instance does not\nexist, returns `NOT_FOUND`.\n\nImmediately upon completion of this request:\n\n * For resource types for which a decrease in the instance's allocation\n has been requested, billing is based on the newly-requested level.\n\nUntil completion of the returned operation:\n\n * Cancelling the operation sets its metadata's\n cancel_time, and begins\n restoring resources to their pre-request values. The operation\n is guaranteed to succeed at undoing all resource changes,\n after which point it terminates with a `CANCELLED` status.\n * All other attempts to modify the instance are rejected.\n * Reading the instance via the API continues to give the pre-request\n resource levels.\n\nUpon completion of the returned operation:\n\n * Billing begins for all successfully-allocated resources (some types\n may have lower than the requested levels).\n * All newly-reserved resources are available for serving the instance's\n tables.\n * The instance's new resource levels are readable via the API.\n\nThe returned long-running operation will\nhave a name of the format `\u003cinstance_name\u003e/operations/\u003coperation_id\u003e` and\ncan be used to track the instance modification. The\nmetadata field type is\nUpdateInstanceMetadata.\nThe response field type is\nInstance, if successful.\n\nAuthorization requires `spanner.instances.update` permission on\nresource name.", + "request": { + "$ref": "UpdateInstanceRequest" + }, "response": { "$ref": "Operation" }, @@ -1720,43 +1342,13 @@ "pattern": "^projects/[^/]+/instances/[^/]+$", "location": "path", "description": "Required. A unique identifier for the instance, which cannot be changed\nafter the instance is created. Values are of the form\n`projects/\u003cproject\u003e/instances/a-z*[a-z0-9]`. The final\nsegment of the name must be between 6 and 30 characters in length.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}", - "id": "spanner.projects.instances.patch", - "path": "v1/{+name}", - "request": { - "$ref": "UpdateInstanceRequest" - }, - "description": "Updates an instance, and begins allocating or releasing resources\nas requested. The returned long-running\noperation can be used to track the\nprogress of updating the instance. If the named instance does not\nexist, returns `NOT_FOUND`.\n\nImmediately upon completion of this request:\n\n * For resource types for which a decrease in the instance's allocation\n has been requested, billing is based on the newly-requested level.\n\nUntil completion of the returned operation:\n\n * Cancelling the operation sets its metadata's\n cancel_time, and begins\n restoring resources to their pre-request values. The operation\n is guaranteed to succeed at undoing all resource changes,\n after which point it terminates with a `CANCELLED` status.\n * All other attempts to modify the instance are rejected.\n * Reading the instance via the API continues to give the pre-request\n resource levels.\n\nUpon completion of the returned operation:\n\n * Billing begins for all successfully-allocated resources (some types\n may have lower than the requested levels).\n * All newly-reserved resources are available for serving the instance's\n tables.\n * The instance's new resource levels are readable via the API.\n\nThe returned long-running operation will\nhave a name of the format `\u003cinstance_name\u003e/operations/\u003coperation_id\u003e` and\ncan be used to track the instance modification. The\nmetadata field type is\nUpdateInstanceMetadata.\nThe response field type is\nInstance, if successful.\n\nAuthorization requires `spanner.instances.update` permission on\nresource name." - }, - "get": { - "response": { - "$ref": "Instance" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.admin" - ], - "parameters": { - "name": { - "description": "Required. The name of the requested instance. Values are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e`.", - "type": "string", "required": true, - "pattern": "^projects/[^/]+/instances/[^/]+$", - "location": "path" + "type": "string" } }, "flatPath": "v1/projects/{projectsId}/instances/{instancesId}", - "id": "spanner.projects.instances.get", "path": "v1/{+name}", - "description": "Gets information about a particular instance." + "id": "spanner.projects.instances.patch" }, "testIamPermissions": { "response": { @@ -1766,172 +1358,227 @@ "resource" ], "httpMethod": "POST", + "parameters": { + "resource": { + "location": "path", + "description": "REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for database resources.", + "required": true, + "type": "string", + "pattern": "^projects/[^/]+/instances/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ], + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}:testIamPermissions", + "path": "v1/{+resource}:testIamPermissions", + "id": "spanner.projects.instances.testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "description": "Returns permissions that the caller has on the specified instance resource.\n\nAttempting this RPC on a non-existent Cloud Spanner instance resource will\nresult in a NOT_FOUND error if the user has `spanner.instances.list`\npermission on the containing Google Cloud Project. Otherwise returns an\nempty set of permissions." + }, + "delete": { + "description": "Deletes an instance.\n\nImmediately upon completion of the request:\n\n * Billing ceases for all of the instance's reserved resources.\n\nSoon afterward:\n\n * The instance and *all of its databases* immediately and\n irrevocably disappear from the API. All data in the databases\n is permanently deleted.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "parameters": { + "name": { + "location": "path", + "description": "Required. The name of the instance to be deleted. Values are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e`", + "required": true, + "type": "string", + "pattern": "^projects/[^/]+/instances/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ], + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}", + "path": "v1/{+name}", + "id": "spanner.projects.instances.delete" + }, + "list": { + "response": { + "$ref": "ListInstancesResponse" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "GET", + "parameters": { + "parent": { + "location": "path", + "description": "Required. The name of the project for which a list of instances is\nrequested. Values are of the form `projects/\u003cproject\u003e`.", + "required": true, + "type": "string", + "pattern": "^projects/[^/]+$" + }, + "filter": { + "type": "string", + "location": "query", + "description": "An expression for filtering the results of the request. Filter rules are\ncase insensitive. The fields eligible for filtering are:\n\n * name\n * display_name\n * labels.key where key is the name of a label\n\nSome examples of using filters are:\n\n * name:* --\u003e The instance has a name.\n * name:Howl --\u003e The instance's name contains the string \"howl\".\n * name:HOWL --\u003e Equivalent to above.\n * NAME:howl --\u003e Equivalent to above.\n * labels.env:* --\u003e The instance has the label \"env\".\n * labels.env:dev --\u003e The instance has the label \"env\" and the value of\n the label contains the string \"dev\".\n * name:howl labels.env:dev --\u003e The instance's name contains \"howl\" and\n it has the label \"env\" with its value\n containing \"dev\"." + }, + "pageToken": { + "location": "query", + "description": "If non-empty, `page_token` should contain a\nnext_page_token from a\nprevious ListInstancesResponse.", + "type": "string" + }, + "pageSize": { + "location": "query", + "description": "Number of instances to be returned in the response. If 0 or less, defaults\nto the server's maximum allowed page size.", + "format": "int32", + "type": "integer" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ], + "flatPath": "v1/projects/{projectsId}/instances", + "path": "v1/{+parent}/instances", + "id": "spanner.projects.instances.list", + "description": "Lists all instances in the given project." + }, + "create": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "parameters": { + "parent": { + "location": "path", + "description": "Required. The name of the project in which to create the instance. Values\nare of the form `projects/\u003cproject\u003e`.", + "required": true, + "type": "string", + "pattern": "^projects/[^/]+$" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ], + "flatPath": "v1/projects/{projectsId}/instances", + "path": "v1/{+parent}/instances", + "id": "spanner.projects.instances.create", + "request": { + "$ref": "CreateInstanceRequest" + }, + "description": "Creates an instance and begins preparing it to begin serving. The\nreturned long-running operation\ncan be used to track the progress of preparing the new\ninstance. The instance name is assigned by the caller. If the\nnamed instance already exists, `CreateInstance` returns\n`ALREADY_EXISTS`.\n\nImmediately upon completion of this request:\n\n * The instance is readable via the API, with all requested attributes\n but no allocated resources. Its state is `CREATING`.\n\nUntil completion of the returned operation:\n\n * Cancelling the operation renders the instance immediately unreadable\n via the API.\n * The instance can be deleted.\n * All other attempts to modify the instance are rejected.\n\nUpon completion of the returned operation:\n\n * Billing for all successfully-allocated resources begins (some types\n may have lower than the requested levels).\n * Databases can be created in the instance.\n * The instance's allocated resource levels are readable via the API.\n * The instance's state becomes `READY`.\n\nThe returned long-running operation will\nhave a name of the format `\u003cinstance_name\u003e/operations/\u003coperation_id\u003e` and\ncan be used to track creation of the instance. The\nmetadata field type is\nCreateInstanceMetadata.\nThe response field type is\nInstance, if successful." + }, + "setIamPolicy": { + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}:setIamPolicy", + "path": "v1/{+resource}:setIamPolicy", + "id": "spanner.projects.instances.setIamPolicy", + "description": "Sets the access control policy on an instance resource. Replaces any\nexisting policy.\n\nAuthorization requires `spanner.instances.setIamPolicy` on\nresource.", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/spanner.admin" ], "parameters": { "resource": { - "description": "REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for database resources.", - "type": "string", + "location": "path", + "description": "REQUIRED: The Cloud Spanner resource for which the policy is being set. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for databases resources.", "required": true, + "type": "string", + "pattern": "^projects/[^/]+/instances/[^/]+$" + } + } + }, + "getIamPolicy": { + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}:getIamPolicy", + "path": "v1/{+resource}:getIamPolicy", + "id": "spanner.projects.instances.getIamPolicy", + "request": { + "$ref": "GetIamPolicyRequest" + }, + "description": "Gets the access control policy for an instance resource. Returns an empty\npolicy if an instance exists but does not have a policy set.\n\nAuthorization requires `spanner.instances.getIamPolicy` on\nresource.", + "response": { + "$ref": "Policy" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "parameters": { + "resource": { + "description": "REQUIRED: The Cloud Spanner resource for which the policy is being retrieved. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for database resources.", + "required": true, + "type": "string", "pattern": "^projects/[^/]+/instances/[^/]+$", "location": "path" } }, - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}:testIamPermissions", - "id": "spanner.projects.instances.testIamPermissions", - "path": "v1/{+resource}:testIamPermissions", - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "description": "Returns permissions that the caller has on the specified instance resource.\n\nAttempting this RPC on a non-existent Cloud Spanner instance resource will\nresult in a NOT_FOUND error if the user has `spanner.instances.list`\npermission on the containing Google Cloud Project. Otherwise returns an\nempty set of permissions." + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ] } }, "resources": { - "operations": { - "methods": { - "cancel": { - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.admin" - ], - "parameters": { - "name": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/instances/[^/]+/operations/[^/]+$", - "location": "path", - "description": "The name of the operation resource to be cancelled." - } - }, - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/operations/{operationsId}:cancel", - "id": "spanner.projects.instances.operations.cancel", - "path": "v1/{+name}:cancel", - "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`." - }, - "delete": { - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/operations/{operationsId}", - "path": "v1/{+name}", - "id": "spanner.projects.instances.operations.delete", - "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.", - "httpMethod": "DELETE", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.admin" - ], - "parameters": { - "name": { - "pattern": "^projects/[^/]+/instances/[^/]+/operations/[^/]+$", - "location": "path", - "description": "The name of the operation resource to be deleted.", - "type": "string", - "required": true - } - } - }, - "get": { - "response": { - "$ref": "Operation" - }, - "httpMethod": "GET", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "location": "path", - "description": "The name of the operation resource.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/instances/[^/]+/operations/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.admin" - ], - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/operations/{operationsId}", - "id": "spanner.projects.instances.operations.get", - "path": "v1/{+name}", - "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice." - }, - "list": { - "response": { - "$ref": "ListOperationsResponse" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.admin" - ], - "parameters": { - "filter": { - "description": "The standard list filter.", - "type": "string", - "location": "query" - }, - "pageToken": { - "description": "The standard list page token.", - "type": "string", - "location": "query" - }, - "name": { - "pattern": "^projects/[^/]+/instances/[^/]+/operations$", - "location": "path", - "description": "The name of the operation's parent resource.", - "type": "string", - "required": true - }, - "pageSize": { - "format": "int32", - "description": "The standard list page size.", - "type": "integer", - "location": "query" - } - }, - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/operations", - "id": "spanner.projects.instances.operations.list", - "path": "v1/{+name}", - "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id." - } - } - }, "databases": { "methods": { - "getDdl": { - "id": "spanner.projects.instances.databases.getDdl", - "path": "v1/{+database}/ddl", - "description": "Returns the schema of a Cloud Spanner database as a list of formatted\nDDL statements. This method does not show pending schema updates, those may\nbe queried using the Operations API.", + "get": { + "description": "Gets the state of a Cloud Spanner database.", + "httpMethod": "GET", + "parameterOrder": [ + "name" + ], "response": { - "$ref": "GetDatabaseDdlResponse" + "$ref": "Database" + }, + "parameters": { + "name": { + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$", + "location": "path", + "description": "Required. The name of the requested database. Values are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/databases/\u003cdatabase\u003e`.", + "required": true, + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ], + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}", + "id": "spanner.projects.instances.databases.get", + "path": "v1/{+name}" + }, + "dropDatabase": { + "description": "Drops (aka deletes) a Cloud Spanner database.", + "response": { + "$ref": "Empty" }, "parameterOrder": [ "database" ], - "httpMethod": "GET", + "httpMethod": "DELETE", "parameters": { "database": { "location": "path", - "description": "Required. The database whose schema we wish to get.", - "type": "string", + "description": "Required. The database to be dropped.", "required": true, + "type": "string", "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$" } }, @@ -1939,52 +1586,167 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/spanner.admin" ], - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/ddl" + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}", + "path": "v1/{+database}", + "id": "spanner.projects.instances.databases.dropDatabase" }, - "list": { - "description": "Lists Cloud Spanner databases.", - "parameterOrder": [ - "parent" - ], - "httpMethod": "GET", + "updateDdl": { "response": { - "$ref": "ListDatabasesResponse" + "$ref": "Operation" }, + "parameterOrder": [ + "database" + ], + "httpMethod": "PATCH", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/spanner.admin" ], "parameters": { + "database": { + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$", + "location": "path", + "description": "Required. The database to update.", + "required": true, + "type": "string" + } + }, + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/ddl", + "path": "v1/{+database}/ddl", + "id": "spanner.projects.instances.databases.updateDdl", + "description": "Updates the schema of a Cloud Spanner database by\ncreating/altering/dropping tables, columns, indexes, etc. The returned\nlong-running operation will have a name of\nthe format `\u003cdatabase_name\u003e/operations/\u003coperation_id\u003e` and can be used to\ntrack execution of the schema change(s). The\nmetadata field type is\nUpdateDatabaseDdlMetadata. The operation has no response.", + "request": { + "$ref": "UpdateDatabaseDdlRequest" + } + }, + "testIamPermissions": { + "description": "Returns permissions that the caller has on the specified database resource.\n\nAttempting this RPC on a non-existent Cloud Spanner database will result in\na NOT_FOUND error if the user has `spanner.databases.list` permission on\nthe containing Cloud Spanner instance. Otherwise returns an empty set of\npermissions.", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "parameterOrder": [ + "resource" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ], + "parameters": { + "resource": { + "required": true, + "type": "string", + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$", + "location": "path", + "description": "REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for database resources." + } + }, + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}:testIamPermissions", + "path": "v1/{+resource}:testIamPermissions", + "id": "spanner.projects.instances.databases.testIamPermissions" + }, + "getDdl": { + "parameters": { + "database": { + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$", + "location": "path", + "description": "Required. The database whose schema we wish to get.", + "required": true, + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ], + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/ddl", + "path": "v1/{+database}/ddl", + "id": "spanner.projects.instances.databases.getDdl", + "description": "Returns the schema of a Cloud Spanner database as a list of formatted\nDDL statements. This method does not show pending schema updates, those may\nbe queried using the Operations API.", + "response": { + "$ref": "GetDatabaseDdlResponse" + }, + "parameterOrder": [ + "database" + ], + "httpMethod": "GET" + }, + "list": { + "id": "spanner.projects.instances.databases.list", + "path": "v1/{+parent}/databases", + "description": "Lists Cloud Spanner databases.", + "httpMethod": "GET", + "parameterOrder": [ + "parent" + ], + "response": { + "$ref": "ListDatabasesResponse" + }, + "parameters": { + "parent": { + "required": true, + "type": "string", + "pattern": "^projects/[^/]+/instances/[^/]+$", + "location": "path", + "description": "Required. The instance whose databases should be listed.\nValues are of the form `projects/\u003cproject\u003e/instances/\u003cinstance\u003e`." + }, "pageToken": { "location": "query", "description": "If non-empty, `page_token` should contain a\nnext_page_token from a\nprevious ListDatabasesResponse.", "type": "string" }, "pageSize": { - "format": "int32", + "location": "query", "description": "Number of databases to be returned in the response. If 0 or less,\ndefaults to the server's maximum allowed page size.", - "type": "integer", - "location": "query" - }, + "format": "int32", + "type": "integer" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ], + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases" + }, + "create": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "parent" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ], + "parameters": { "parent": { "location": "path", - "description": "Required. The instance whose databases should be listed.\nValues are of the form `projects/\u003cproject\u003e/instances/\u003cinstance\u003e`.", - "type": "string", + "description": "Required. The name of the instance that will serve the new database.\nValues are of the form `projects/\u003cproject\u003e/instances/\u003cinstance\u003e`.", "required": true, + "type": "string", "pattern": "^projects/[^/]+/instances/[^/]+$" } }, "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases", - "id": "spanner.projects.instances.databases.list", - "path": "v1/{+parent}/databases" + "path": "v1/{+parent}/databases", + "id": "spanner.projects.instances.databases.create", + "description": "Creates a new Cloud Spanner database and starts to prepare it for serving.\nThe returned long-running operation will\nhave a name of the format `\u003cdatabase_name\u003e/operations/\u003coperation_id\u003e` and\ncan be used to track preparation of the database. The\nmetadata field type is\nCreateDatabaseMetadata. The\nresponse field type is\nDatabase, if successful.", + "request": { + "$ref": "CreateDatabaseRequest" + } }, "setIamPolicy": { - "id": "spanner.projects.instances.databases.setIamPolicy", "path": "v1/{+resource}:setIamPolicy", - "description": "Sets the access control policy on a database resource. Replaces any\nexisting policy.\n\nAuthorization requires `spanner.databases.setIamPolicy` permission on\nresource.", + "id": "spanner.projects.instances.databases.setIamPolicy", "request": { "$ref": "SetIamPolicyRequest" }, + "description": "Sets the access control policy on a database resource. Replaces any\nexisting policy.\n\nAuthorization requires `spanner.databases.setIamPolicy` permission on\nresource.", "response": { "$ref": "Policy" }, @@ -1994,11 +1756,11 @@ "httpMethod": "POST", "parameters": { "resource": { - "description": "REQUIRED: The Cloud Spanner resource for which the policy is being set. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for databases resources.", - "type": "string", - "required": true, "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$", - "location": "path" + "location": "path", + "description": "REQUIRED: The Cloud Spanner resource for which the policy is being set. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for databases resources.", + "required": true, + "type": "string" } }, "scopes": [ @@ -2007,36 +1769,13 @@ ], "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}:setIamPolicy" }, - "create": { - "description": "Creates a new Cloud Spanner database and starts to prepare it for serving.\nThe returned long-running operation will\nhave a name of the format `\u003cdatabase_name\u003e/operations/\u003coperation_id\u003e` and\ncan be used to track preparation of the database. The\nmetadata field type is\nCreateDatabaseMetadata. The\nresponse field type is\nDatabase, if successful.", - "request": { - "$ref": "CreateDatabaseRequest" - }, - "httpMethod": "POST", - "parameterOrder": [ - "parent" - ], - "response": { - "$ref": "Operation" - }, - "parameters": { - "parent": { - "pattern": "^projects/[^/]+/instances/[^/]+$", - "location": "path", - "description": "Required. The name of the instance that will serve the new database.\nValues are of the form `projects/\u003cproject\u003e/instances/\u003cinstance\u003e`.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.admin" - ], - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases", - "path": "v1/{+parent}/databases", - "id": "spanner.projects.instances.databases.create" - }, "getIamPolicy": { + "path": "v1/{+resource}:getIamPolicy", + "id": "spanner.projects.instances.databases.getIamPolicy", + "description": "Gets the access control policy for a database resource. Returns an empty\npolicy if a database exists but does not have a policy set.\n\nAuthorization requires `spanner.databases.getIamPolicy` permission on\nresource.", + "request": { + "$ref": "GetIamPolicyRequest" + }, "response": { "$ref": "Policy" }, @@ -2051,417 +1790,16 @@ "parameters": { "resource": { "description": "REQUIRED: The Cloud Spanner resource for which the policy is being retrieved. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for database resources.", - "type": "string", "required": true, + "type": "string", "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$", "location": "path" } }, - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}:getIamPolicy", - "id": "spanner.projects.instances.databases.getIamPolicy", - "path": "v1/{+resource}:getIamPolicy", - "request": { - "$ref": "GetIamPolicyRequest" - }, - "description": "Gets the access control policy for a database resource. Returns an empty\npolicy if a database exists but does not have a policy set.\n\nAuthorization requires `spanner.databases.getIamPolicy` permission on\nresource." - }, - "get": { - "httpMethod": "GET", - "response": { - "$ref": "Database" - }, - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$", - "location": "path", - "description": "Required. The name of the requested database. Values are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/databases/\u003cdatabase\u003e`." - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.admin" - ], - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}", - "path": "v1/{+name}", - "id": "spanner.projects.instances.databases.get", - "description": "Gets the state of a Cloud Spanner database." - }, - "dropDatabase": { - "httpMethod": "DELETE", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "database" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.admin" - ], - "parameters": { - "database": { - "location": "path", - "description": "Required. The database to be dropped.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$" - } - }, - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}", - "path": "v1/{+database}", - "id": "spanner.projects.instances.databases.dropDatabase", - "description": "Drops (aka deletes) a Cloud Spanner database." - }, - "updateDdl": { - "httpMethod": "PATCH", - "parameterOrder": [ - "database" - ], - "response": { - "$ref": "Operation" - }, - "parameters": { - "database": { - "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$", - "location": "path", - "description": "Required. The database to update.", - "type": "string", - "required": true - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.admin" - ], - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/ddl", - "path": "v1/{+database}/ddl", - "id": "spanner.projects.instances.databases.updateDdl", - "description": "Updates the schema of a Cloud Spanner database by\ncreating/altering/dropping tables, columns, indexes, etc. The returned\nlong-running operation will have a name of\nthe format `\u003cdatabase_name\u003e/operations/\u003coperation_id\u003e` and can be used to\ntrack execution of the schema change(s). The\nmetadata field type is\nUpdateDatabaseDdlMetadata. The operation has no response.", - "request": { - "$ref": "UpdateDatabaseDdlRequest" - } - }, - "testIamPermissions": { - "path": "v1/{+resource}:testIamPermissions", - "id": "spanner.projects.instances.databases.testIamPermissions", - "description": "Returns permissions that the caller has on the specified database resource.\n\nAttempting this RPC on a non-existent Cloud Spanner database will result in\na NOT_FOUND error if the user has `spanner.databases.list` permission on\nthe containing Cloud Spanner instance. Otherwise returns an empty set of\npermissions.", - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "httpMethod": "POST", - "parameterOrder": [ - "resource" - ], - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "parameters": { - "resource": { - "description": "REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for database resources.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.admin" - ], - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}:testIamPermissions" + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}:getIamPolicy" } }, "resources": { - "sessions": { - "methods": { - "read": { - "httpMethod": "POST", - "parameterOrder": [ - "session" - ], - "response": { - "$ref": "ResultSet" - }, - "parameters": { - "session": { - "description": "Required. The session in which the read should be performed.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/sessions/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.data" - ], - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:read", - "path": "v1/{+session}:read", - "id": "spanner.projects.instances.databases.sessions.read", - "description": "Reads rows from the database using key lookups and scans, as a\nsimple key/value style alternative to\nExecuteSql. This method cannot be used to\nreturn a result set larger than 10 MiB; if the read matches more\ndata than that, the read fails with a `FAILED_PRECONDITION`\nerror.\n\nReads inside read-write transactions might return `ABORTED`. If\nthis occurs, the application should restart the transaction from\nthe beginning. See Transaction for more details.\n\nLarger result sets can be yielded in streaming fashion by calling\nStreamingRead instead.", - "request": { - "$ref": "ReadRequest" - } - }, - "get": { - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}", - "path": "v1/{+name}", - "id": "spanner.projects.instances.databases.sessions.get", - "description": "Gets a session. Returns `NOT_FOUND` if the session does not exist.\nThis is mainly useful for determining whether a session is still\nalive.", - "httpMethod": "GET", - "response": { - "$ref": "Session" - }, - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "location": "path", - "description": "Required. The name of the session to retrieve.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/sessions/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.data" - ] - }, - "commit": { - "description": "Commits a transaction. The request includes the mutations to be\napplied to rows in the database.\n\n`Commit` might return an `ABORTED` error. This can occur at any time;\ncommonly, the cause is conflicts with concurrent\ntransactions. However, it can also happen for a variety of other\nreasons. If `Commit` returns `ABORTED`, the caller should re-attempt\nthe transaction from the beginning, re-using the same session.", - "request": { - "$ref": "CommitRequest" - }, - "response": { - "$ref": "CommitResponse" - }, - "parameterOrder": [ - "session" - ], - "httpMethod": "POST", - "parameters": { - "session": { - "description": "Required. The session in which the transaction to be committed is running.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/sessions/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.data" - ], - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:commit", - "id": "spanner.projects.instances.databases.sessions.commit", - "path": "v1/{+session}:commit" - }, - "beginTransaction": { - "response": { - "$ref": "Transaction" - }, - "parameterOrder": [ - "session" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.data" - ], - "parameters": { - "session": { - "description": "Required. The session in which the transaction runs.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/sessions/[^/]+$", - "location": "path" - } - }, - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:beginTransaction", - "id": "spanner.projects.instances.databases.sessions.beginTransaction", - "path": "v1/{+session}:beginTransaction", - "request": { - "$ref": "BeginTransactionRequest" - }, - "description": "Begins a new transaction. This step can often be skipped:\nRead, ExecuteSql and\nCommit can begin a new transaction as a\nside-effect." - }, - "delete": { - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "DELETE", - "parameters": { - "name": { - "description": "Required. The name of the session to delete.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/sessions/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.data" - ], - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}", - "id": "spanner.projects.instances.databases.sessions.delete", - "path": "v1/{+name}", - "description": "Ends a session, releasing server resources associated with it." - }, - "executeStreamingSql": { - "parameters": { - "session": { - "description": "Required. The session in which the SQL query should be performed.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/sessions/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.data" - ], - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:executeStreamingSql", - "path": "v1/{+session}:executeStreamingSql", - "id": "spanner.projects.instances.databases.sessions.executeStreamingSql", - "description": "Like ExecuteSql, except returns the result\nset as a stream. Unlike ExecuteSql, there\nis no limit on the size of the returned result set. However, no\nindividual row in the result set can exceed 100 MiB, and no\ncolumn value can exceed 10 MiB.", - "request": { - "$ref": "ExecuteSqlRequest" - }, - "httpMethod": "POST", - "parameterOrder": [ - "session" - ], - "response": { - "$ref": "PartialResultSet" - } - }, - "executeSql": { - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:executeSql", - "path": "v1/{+session}:executeSql", - "id": "spanner.projects.instances.databases.sessions.executeSql", - "description": "Executes an SQL query, returning all rows in a single reply. This\nmethod cannot be used to return a result set larger than 10 MiB;\nif the query yields more data than that, the query fails with\na `FAILED_PRECONDITION` error.\n\nQueries inside read-write transactions might return `ABORTED`. If\nthis occurs, the application should restart the transaction from\nthe beginning. See Transaction for more details.\n\nLarger result sets can be fetched in streaming fashion by calling\nExecuteStreamingSql instead.", - "request": { - "$ref": "ExecuteSqlRequest" - }, - "httpMethod": "POST", - "parameterOrder": [ - "session" - ], - "response": { - "$ref": "ResultSet" - }, - "parameters": { - "session": { - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/sessions/[^/]+$", - "location": "path", - "description": "Required. The session in which the SQL query should be performed." - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.data" - ] - }, - "rollback": { - "path": "v1/{+session}:rollback", - "id": "spanner.projects.instances.databases.sessions.rollback", - "description": "Rolls back a transaction, releasing any locks it holds. It is a good\nidea to call this for any transaction that includes one or more\nRead or ExecuteSql requests and\nultimately decides not to commit.\n\n`Rollback` returns `OK` if it successfully aborts the transaction, the\ntransaction was already aborted, or the transaction is not\nfound. `Rollback` never returns `ABORTED`.", - "request": { - "$ref": "RollbackRequest" - }, - "httpMethod": "POST", - "parameterOrder": [ - "session" - ], - "response": { - "$ref": "Empty" - }, - "parameters": { - "session": { - "location": "path", - "description": "Required. The session in which the transaction to roll back is running.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/sessions/[^/]+$" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.data" - ], - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:rollback" - }, - "streamingRead": { - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:streamingRead", - "id": "spanner.projects.instances.databases.sessions.streamingRead", - "path": "v1/{+session}:streamingRead", - "request": { - "$ref": "ReadRequest" - }, - "description": "Like Read, except returns the result set as a\nstream. Unlike Read, there is no limit on the\nsize of the returned result set. However, no individual row in\nthe result set can exceed 100 MiB, and no column value can exceed\n10 MiB.", - "response": { - "$ref": "PartialResultSet" - }, - "parameterOrder": [ - "session" - ], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.data" - ], - "parameters": { - "session": { - "description": "Required. The session in which the read should be performed.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/sessions/[^/]+$", - "location": "path" - } - } - }, - "create": { - "response": { - "$ref": "Session" - }, - "parameterOrder": [ - "database" - ], - "httpMethod": "POST", - "parameters": { - "database": { - "description": "Required. The database in which the new session is created.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.data" - ], - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions", - "id": "spanner.projects.instances.databases.sessions.create", - "path": "v1/{+database}/sessions", - "description": "Creates a new session. A session can be used to perform\ntransactions that read and/or modify data in a Cloud Spanner database.\nSessions are meant to be reused for many consecutive\ntransactions.\n\nSessions can only execute one transaction at a time. To execute\nmultiple concurrent read-write/write-only transactions, create\nmultiple sessions. Note that standalone reads and queries use a\ntransaction internally, and count toward the one transaction\nlimit.\n\nCloud Spanner limits the number of sessions that can exist at any given\ntime; thus, it is a good idea to delete idle and/or unneeded sessions.\nAside from explicit deletes, Cloud Spanner can delete sessions for which no\noperations are sent for more than an hour. If a session is deleted,\nrequests to it return `NOT_FOUND`.\n\nIdle sessions can be kept alive by sending a trivial SQL query\nperiodically, e.g., `\"SELECT 1\"`." - } - } - }, "operations": { "methods": { "cancel": { @@ -2479,57 +1817,31 @@ "parameters": { "name": { "description": "The name of the operation resource to be cancelled.", - "type": "string", "required": true, + "type": "string", "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/operations/[^/]+$", "location": "path" } }, "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/operations/{operationsId}:cancel", - "id": "spanner.projects.instances.databases.operations.cancel", "path": "v1/{+name}:cancel", + "id": "spanner.projects.instances.databases.operations.cancel", "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`." }, "delete": { - "path": "v1/{+name}", - "id": "spanner.projects.instances.databases.operations.delete", "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.", "httpMethod": "DELETE", + "parameterOrder": [ + "name" + ], "response": { "$ref": "Empty" }, - "parameterOrder": [ - "name" - ], - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/spanner.admin" - ], "parameters": { "name": { - "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/operations/[^/]+$", - "location": "path", "description": "The name of the operation resource to be deleted.", - "type": "string", - "required": true - } - }, - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/operations/{operationsId}" - }, - "get": { - "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "parameters": { - "name": { - "description": "The name of the operation resource.", - "type": "string", "required": true, + "type": "string", "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/operations/[^/]+$", "location": "path" } @@ -2539,7 +1851,7 @@ "https://www.googleapis.com/auth/spanner.admin" ], "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/operations/{operationsId}", - "id": "spanner.projects.instances.databases.operations.get", + "id": "spanner.projects.instances.databases.operations.delete", "path": "v1/{+name}" }, "list": { @@ -2550,43 +1862,523 @@ "name" ], "httpMethod": "GET", + "parameters": { + "filter": { + "description": "The standard list filter.", + "type": "string", + "location": "query" + }, + "name": { + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/operations$", + "location": "path", + "description": "The name of the operation's parent resource.", + "required": true, + "type": "string" + }, + "pageToken": { + "description": "The standard list page token.", + "type": "string", + "location": "query" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "type": "integer", + "location": "query" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ], + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/operations", + "path": "v1/{+name}", + "id": "spanner.projects.instances.databases.operations.list", + "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id." + }, + "get": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/spanner.admin" ], "parameters": { - "filter": { + "name": { + "location": "path", + "description": "The name of the operation resource.", + "required": true, "type": "string", - "location": "query", - "description": "The standard list filter." + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/operations/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/operations/{operationsId}", + "path": "v1/{+name}", + "id": "spanner.projects.instances.databases.operations.get", + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice." + } + } + }, + "sessions": { + "methods": { + "list": { + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions", + "id": "spanner.projects.instances.databases.sessions.list", + "path": "v1/{+database}/sessions", + "description": "Lists all sessions in a given database.", + "httpMethod": "GET", + "parameterOrder": [ + "database" + ], + "response": { + "$ref": "ListSessionsResponse" + }, + "parameters": { + "filter": { + "description": "An expression for filtering the results of the request. Filter rules are\ncase insensitive. The fields eligible for filtering are:\n\n * labels.key where key is the name of a label\n\nSome examples of using filters are:\n\n * labels.env:* --\u003e The session has the label \"env\".\n * labels.env:dev --\u003e The session has the label \"env\" and the value of\n the label contains the string \"dev\".", + "type": "string", + "location": "query" }, "pageToken": { "location": "query", - "description": "The standard list page token.", + "description": "If non-empty, `page_token` should contain a\nnext_page_token from a previous\nListSessionsResponse.", "type": "string" }, - "name": { - "description": "The name of the operation's parent resource.", - "type": "string", - "required": true, - "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/operations$", - "location": "path" - }, "pageSize": { + "type": "integer", "location": "query", - "format": "int32", - "description": "The standard list page size.", - "type": "integer" + "description": "Number of sessions to be returned in the response. If 0 or less, defaults\nto the server's maximum allowed page size.", + "format": "int32" + }, + "database": { + "description": "Required. The database in which to list sessions.", + "required": true, + "type": "string", + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$", + "location": "path" } }, - "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/operations", - "id": "spanner.projects.instances.databases.operations.list", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.data" + ] + }, + "executeSql": { + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:executeSql", + "path": "v1/{+session}:executeSql", + "id": "spanner.projects.instances.databases.sessions.executeSql", + "description": "Executes an SQL query, returning all rows in a single reply. This\nmethod cannot be used to return a result set larger than 10 MiB;\nif the query yields more data than that, the query fails with\na `FAILED_PRECONDITION` error.\n\nQueries inside read-write transactions might return `ABORTED`. If\nthis occurs, the application should restart the transaction from\nthe beginning. See Transaction for more details.\n\nLarger result sets can be fetched in streaming fashion by calling\nExecuteStreamingSql instead.", + "request": { + "$ref": "ExecuteSqlRequest" + }, + "response": { + "$ref": "ResultSet" + }, + "parameterOrder": [ + "session" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.data" + ], + "parameters": { + "session": { + "description": "Required. The session in which the SQL query should be performed.", + "required": true, + "type": "string", + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/sessions/[^/]+$", + "location": "path" + } + } + }, + "rollback": { + "parameters": { + "session": { + "required": true, + "type": "string", + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/sessions/[^/]+$", + "location": "path", + "description": "Required. The session in which the transaction to roll back is running." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.data" + ], + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:rollback", + "path": "v1/{+session}:rollback", + "id": "spanner.projects.instances.databases.sessions.rollback", + "request": { + "$ref": "RollbackRequest" + }, + "description": "Rolls back a transaction, releasing any locks it holds. It is a good\nidea to call this for any transaction that includes one or more\nRead or ExecuteSql requests and\nultimately decides not to commit.\n\n`Rollback` returns `OK` if it successfully aborts the transaction, the\ntransaction was already aborted, or the transaction is not\nfound. `Rollback` never returns `ABORTED`.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "session" + ], + "httpMethod": "POST" + }, + "streamingRead": { + "httpMethod": "POST", + "parameterOrder": [ + "session" + ], + "response": { + "$ref": "PartialResultSet" + }, + "parameters": { + "session": { + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/sessions/[^/]+$", + "location": "path", + "description": "Required. The session in which the read should be performed.", + "required": true, + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.data" + ], + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:streamingRead", + "id": "spanner.projects.instances.databases.sessions.streamingRead", + "path": "v1/{+session}:streamingRead", + "request": { + "$ref": "ReadRequest" + }, + "description": "Like Read, except returns the result set as a\nstream. Unlike Read, there is no limit on the\nsize of the returned result set. However, no individual row in\nthe result set can exceed 100 MiB, and no column value can exceed\n10 MiB." + }, + "create": { + "request": { + "$ref": "CreateSessionRequest" + }, + "description": "Creates a new session. A session can be used to perform\ntransactions that read and/or modify data in a Cloud Spanner database.\nSessions are meant to be reused for many consecutive\ntransactions.\n\nSessions can only execute one transaction at a time. To execute\nmultiple concurrent read-write/write-only transactions, create\nmultiple sessions. Note that standalone reads and queries use a\ntransaction internally, and count toward the one transaction\nlimit.\n\nCloud Spanner limits the number of sessions that can exist at any given\ntime; thus, it is a good idea to delete idle and/or unneeded sessions.\nAside from explicit deletes, Cloud Spanner can delete sessions for which no\noperations are sent for more than an hour. If a session is deleted,\nrequests to it return `NOT_FOUND`.\n\nIdle sessions can be kept alive by sending a trivial SQL query\nperiodically, e.g., `\"SELECT 1\"`.", + "response": { + "$ref": "Session" + }, + "parameterOrder": [ + "database" + ], + "httpMethod": "POST", + "parameters": { + "database": { + "description": "Required. The database in which the new session is created.", + "required": true, + "type": "string", + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.data" + ], + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions", + "path": "v1/{+database}/sessions", + "id": "spanner.projects.instances.databases.sessions.create" + }, + "read": { + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:read", + "path": "v1/{+session}:read", + "id": "spanner.projects.instances.databases.sessions.read", + "description": "Reads rows from the database using key lookups and scans, as a\nsimple key/value style alternative to\nExecuteSql. This method cannot be used to\nreturn a result set larger than 10 MiB; if the read matches more\ndata than that, the read fails with a `FAILED_PRECONDITION`\nerror.\n\nReads inside read-write transactions might return `ABORTED`. If\nthis occurs, the application should restart the transaction from\nthe beginning. See Transaction for more details.\n\nLarger result sets can be yielded in streaming fashion by calling\nStreamingRead instead.", + "request": { + "$ref": "ReadRequest" + }, + "response": { + "$ref": "ResultSet" + }, + "parameterOrder": [ + "session" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.data" + ], + "parameters": { + "session": { + "description": "Required. The session in which the read should be performed.", + "required": true, + "type": "string", + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/sessions/[^/]+$", + "location": "path" + } + } + }, + "get": { "path": "v1/{+name}", - "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id." + "id": "spanner.projects.instances.databases.sessions.get", + "description": "Gets a session. Returns `NOT_FOUND` if the session does not exist.\nThis is mainly useful for determining whether a session is still\nalive.", + "response": { + "$ref": "Session" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "description": "Required. The name of the session to retrieve.", + "required": true, + "type": "string", + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/sessions/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.data" + ], + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}" + }, + "delete": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.data" + ], + "parameters": { + "name": { + "location": "path", + "description": "Required. The name of the session to delete.", + "required": true, + "type": "string", + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/sessions/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}", + "path": "v1/{+name}", + "id": "spanner.projects.instances.databases.sessions.delete", + "description": "Ends a session, releasing server resources associated with it." + }, + "executeStreamingSql": { + "response": { + "$ref": "PartialResultSet" + }, + "parameterOrder": [ + "session" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.data" + ], + "parameters": { + "session": { + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/sessions/[^/]+$", + "location": "path", + "description": "Required. The session in which the SQL query should be performed.", + "required": true, + "type": "string" + } + }, + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:executeStreamingSql", + "path": "v1/{+session}:executeStreamingSql", + "id": "spanner.projects.instances.databases.sessions.executeStreamingSql", + "description": "Like ExecuteSql, except returns the result\nset as a stream. Unlike ExecuteSql, there\nis no limit on the size of the returned result set. However, no\nindividual row in the result set can exceed 100 MiB, and no\ncolumn value can exceed 10 MiB.", + "request": { + "$ref": "ExecuteSqlRequest" + } + }, + "beginTransaction": { + "path": "v1/{+session}:beginTransaction", + "id": "spanner.projects.instances.databases.sessions.beginTransaction", + "description": "Begins a new transaction. This step can often be skipped:\nRead, ExecuteSql and\nCommit can begin a new transaction as a\nside-effect.", + "request": { + "$ref": "BeginTransactionRequest" + }, + "response": { + "$ref": "Transaction" + }, + "parameterOrder": [ + "session" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.data" + ], + "parameters": { + "session": { + "location": "path", + "description": "Required. The session in which the transaction runs.", + "required": true, + "type": "string", + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/sessions/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:beginTransaction" + }, + "commit": { + "httpMethod": "POST", + "parameterOrder": [ + "session" + ], + "response": { + "$ref": "CommitResponse" + }, + "parameters": { + "session": { + "description": "Required. The session in which the transaction to be committed is running.", + "required": true, + "type": "string", + "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+/sessions/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.data" + ], + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:commit", + "id": "spanner.projects.instances.databases.sessions.commit", + "path": "v1/{+session}:commit", + "request": { + "$ref": "CommitRequest" + }, + "description": "Commits a transaction. The request includes the mutations to be\napplied to rows in the database.\n\n`Commit` might return an `ABORTED` error. This can occur at any time;\ncommonly, the cause is conflicts with concurrent\ntransactions. However, it can also happen for a variety of other\nreasons. If `Commit` returns `ABORTED`, the caller should re-attempt\nthe transaction from the beginning, re-using the same session." } } } } + }, + "operations": { + "methods": { + "list": { + "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", + "response": { + "$ref": "ListOperationsResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ], + "parameters": { + "name": { + "description": "The name of the operation's parent resource.", + "required": true, + "type": "string", + "pattern": "^projects/[^/]+/instances/[^/]+/operations$", + "location": "path" + }, + "pageToken": { + "location": "query", + "description": "The standard list page token.", + "type": "string" + }, + "pageSize": { + "location": "query", + "description": "The standard list page size.", + "format": "int32", + "type": "integer" + }, + "filter": { + "type": "string", + "location": "query", + "description": "The standard list filter." + } + }, + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/operations", + "path": "v1/{+name}", + "id": "spanner.projects.instances.operations.list" + }, + "get": { + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "parameters": { + "name": { + "description": "The name of the operation resource.", + "required": true, + "type": "string", + "pattern": "^projects/[^/]+/instances/[^/]+/operations/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ], + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/operations/{operationsId}", + "path": "v1/{+name}", + "id": "spanner.projects.instances.operations.get", + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice." + }, + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "required": true, + "type": "string", + "pattern": "^projects/[^/]+/instances/[^/]+/operations/[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ], + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/operations/{operationsId}:cancel", + "path": "v1/{+name}:cancel", + "id": "spanner.projects.instances.operations.cancel" + }, + "delete": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/spanner.admin" + ], + "parameters": { + "name": { + "location": "path", + "description": "The name of the operation resource to be deleted.", + "required": true, + "type": "string", + "pattern": "^projects/[^/]+/instances/[^/]+/operations/[^/]+$" + } + }, + "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/operations/{operationsId}", + "path": "v1/{+name}", + "id": "spanner.projects.instances.operations.delete", + "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`." + } + } } } } @@ -2594,56 +2386,48 @@ } }, "parameters": { - "oauth_token": { + "upload_protocol": { "location": "query", - "description": "OAuth 2.0 token for the current user.", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "type": "string" }, - "bearer_token": { - "description": "OAuth bearer token.", - "type": "string", - "location": "query" - }, - "upload_protocol": { - "type": "string", - "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")." - }, "prettyPrint": { + "location": "query", "description": "Returns response with indentations and line breaks.", - "default": "true", "type": "boolean", - "location": "query" - }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string", - "location": "query" + "default": "true" }, "fields": { "location": "query", "description": "Selector specifying which fields to include in a partial response.", "type": "string" }, - "callback": { - "description": "JSONP", + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", "type": "string", "location": "query" }, - "$.xgafv": { + "callback": { "location": "query", - "enum": [ - "1", - "2" - ], + "description": "JSONP", + "type": "string" + }, + "$.xgafv": { "description": "V1 error format.", "type": "string", "enumDescriptions": [ "v1 error format", "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" ] }, "alt": { + "description": "Data format for response.", + "default": "json", "enum": [ "json", "media", @@ -2655,41 +2439,38 @@ "Media download with context-dependent Content-Type", "Responses with Content-Type of application/x-protobuf" ], - "location": "query", - "description": "Data format for response.", - "default": "json" + "location": "query" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", + "location": "query" }, "access_token": { "location": "query", "description": "OAuth access token.", "type": "string" }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, "quotaUser": { - "location": "query", "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" + "type": "string", + "location": "query" }, "pp": { - "default": "true", + "description": "Pretty-print response.", "type": "boolean", + "default": "true", + "location": "query" + }, + "bearer_token": { "location": "query", - "description": "Pretty-print response." + "description": "OAuth bearer token.", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", + "location": "query" } - }, - "version": "v1", - "baseUrl": "https://spanner.googleapis.com/", - "kind": "discovery#restDescription", - "servicePath": "", - "description": "Cloud Spanner is a managed, mission-critical, globally consistent and scalable relational database service.", - "basePath": "", - "id": "spanner:v1", - "documentationLink": "https://cloud.google.com/spanner/", - "revision": "20170613", - "discoveryVersion": "v1", - "version_module": "True" + } } diff --git a/vendor/google.golang.org/api/spanner/v1/spanner-gen.go b/vendor/google.golang.org/api/spanner/v1/spanner-gen.go index ffa9eb238..e6fee945c 100644 --- a/vendor/google.golang.org/api/spanner/v1/spanner-gen.go +++ b/vendor/google.golang.org/api/spanner/v1/spanner-gen.go @@ -162,163 +162,6 @@ type ProjectsInstancesOperationsService struct { s *Service } -// AuditConfig: Specifies the audit configuration for a service. -// The configuration determines which permission types are logged, and -// what -// identities, if any, are exempted from logging. -// An AuditConfig must have one or more AuditLogConfigs. -// -// If there are AuditConfigs for both `allServices` and a specific -// service, -// the union of the two AuditConfigs is used for that service: the -// log_types -// specified in each AuditConfig are enabled, and the exempted_members -// in each -// AuditConfig are exempted. -// -// Example Policy with multiple AuditConfigs: -// -// { -// "audit_configs": [ -// { -// "service": "allServices" -// "audit_log_configs": [ -// { -// "log_type": "DATA_READ", -// "exempted_members": [ -// "user:foo@gmail.com" -// ] -// }, -// { -// "log_type": "DATA_WRITE", -// }, -// { -// "log_type": "ADMIN_READ", -// } -// ] -// }, -// { -// "service": "fooservice.googleapis.com" -// "audit_log_configs": [ -// { -// "log_type": "DATA_READ", -// }, -// { -// "log_type": "DATA_WRITE", -// "exempted_members": [ -// "user:bar@gmail.com" -// ] -// } -// ] -// } -// ] -// } -// -// For fooservice, this policy enables DATA_READ, DATA_WRITE and -// ADMIN_READ -// logging. It also exempts foo@gmail.com from DATA_READ logging, -// and -// bar@gmail.com from DATA_WRITE logging. -type AuditConfig struct { - // AuditLogConfigs: The configuration for logging of each type of - // permission. - // Next ID: 4 - AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"` - - ExemptedMembers []string `json:"exemptedMembers,omitempty"` - - // Service: Specifies a service that will be enabled for audit - // logging. - // For example, `storage.googleapis.com`, - // `cloudsql.googleapis.com`. - // `allServices` is a special value that covers all services. - Service string `json:"service,omitempty"` - - // ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "AuditLogConfigs") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []string `json:"-"` -} - -func (s *AuditConfig) MarshalJSON() ([]byte, error) { - type noMethod AuditConfig - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// AuditLogConfig: Provides the configuration for logging a type of -// permissions. -// Example: -// -// { -// "audit_log_configs": [ -// { -// "log_type": "DATA_READ", -// "exempted_members": [ -// "user:foo@gmail.com" -// ] -// }, -// { -// "log_type": "DATA_WRITE", -// } -// ] -// } -// -// This enables 'DATA_READ' and 'DATA_WRITE' logging, while -// exempting -// foo@gmail.com from DATA_READ logging. -type AuditLogConfig struct { - // ExemptedMembers: Specifies the identities that do not cause logging - // for this type of - // permission. - // Follows the same format of Binding.members. - ExemptedMembers []string `json:"exemptedMembers,omitempty"` - - // LogType: The log type that this config enables. - // - // Possible values: - // "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this. - // "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy - // "DATA_WRITE" - Data writes. Example: CloudSQL Users create - // "DATA_READ" - Data reads. Example: CloudSQL Users list - LogType string `json:"logType,omitempty"` - - // ForceSendFields is a list of field names (e.g. "ExemptedMembers") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "ExemptedMembers") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []string `json:"-"` -} - -func (s *AuditLogConfig) MarshalJSON() ([]byte, error) { - type noMethod AuditLogConfig - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // BeginTransactionRequest: The request for BeginTransaction. type BeginTransactionRequest struct { // Options: Required. Options for the new transaction. @@ -349,15 +192,6 @@ func (s *BeginTransactionRequest) MarshalJSON() ([]byte, error) { // Binding: Associates `members` with a `role`. type Binding struct { - // Condition: The condition that is associated with this binding. - // NOTE: an unsatisfied condition will not allow user access via - // current - // binding. Different bindings, including their conditions, are - // examined - // independently. - // This field is GOOGLE_INTERNAL. - Condition *Expr `json:"condition,omitempty"` - // Members: Specifies the identities requesting access for a Cloud // Platform resource. // `members` can have the following values: @@ -399,7 +233,7 @@ type Binding struct { // Required Role string `json:"role,omitempty"` - // ForceSendFields is a list of field names (e.g. "Condition") to + // ForceSendFields is a list of field names (e.g. "Members") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -407,7 +241,7 @@ type Binding struct { // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Condition") to include in + // NullFields is a list of field names (e.g. "Members") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as @@ -476,41 +310,6 @@ func (s *ChildLink) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// CloudAuditOptions: Write a Cloud Audit log -type CloudAuditOptions struct { - // LogName: The log_name to populate in the Cloud Audit Record. - // - // Possible values: - // "UNSPECIFIED_LOG_NAME" - Default. Should not be used. - // "ADMIN_ACTIVITY" - Corresponds to - // "cloudaudit.googleapis.com/activity" - // "DATA_ACCESS" - Corresponds to - // "cloudaudit.googleapis.com/data_access" - LogName string `json:"logName,omitempty"` - - // ForceSendFields is a list of field names (e.g. "LogName") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "LogName") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *CloudAuditOptions) MarshalJSON() ([]byte, error) { - type noMethod CloudAuditOptions - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // CommitRequest: The request for Commit. type CommitRequest struct { // Mutations: The mutations to be executed when this transaction @@ -593,144 +392,6 @@ func (s *CommitResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Condition: A condition to be met. -type Condition struct { - // Iam: Trusted attributes supplied by the IAM system. - // - // Possible values: - // "NO_ATTR" - Default non-attribute. - // "AUTHORITY" - Either principal or (if present) authority selector. - // "ATTRIBUTION" - The principal (even if an authority selector is - // present), which - // must only be used for attribution, not authorization. - // "SECURITY_REALM" - Any of the security realms in the IAMContext - // (go/security-realms). - // When used with IN, the condition indicates "any of the request's - // realms - // match one of the given values; with NOT_IN, "none of the realms - // match - // any of the given values". It is not permitted to grant access based - // on - // the *absence* of a realm, so realm conditions can only be used in - // a "positive" context (e.g., ALLOW/IN or DENY/NOT_IN). - // "APPROVER" - An approver (distinct from the requester) that has - // authorized this - // request. - // When used with IN, the condition indicates that one of the - // approvers - // associated with the request matches the specified principal, or is - // a - // member of the specified group. Approvers can only grant - // additional - // access, and are thus only used in a strictly positive context - // (e.g. ALLOW/IN or DENY/NOT_IN). - // "JUSTIFICATION_TYPE" - What types of justifications have been - // supplied with this request. - // String values should match enum names from - // tech.iam.JustificationType, - // e.g. "MANUAL_STRING". It is not permitted to grant access based - // on - // the *absence* of a justification, so justification conditions can - // only - // be used in a "positive" context (e.g., ALLOW/IN or - // DENY/NOT_IN). - // - // Multiple justifications, e.g., a Buganizer ID and a - // manually-entered - // reason, are normal and supported. - Iam string `json:"iam,omitempty"` - - // Op: An operator to apply the subject with. - // - // Possible values: - // "NO_OP" - Default no-op. - // "EQUALS" - DEPRECATED. Use IN instead. - // "NOT_EQUALS" - DEPRECATED. Use NOT_IN instead. - // "IN" - The condition is true if the subject (or any element of it - // if it is - // a set) matches any of the supplied values. - // "NOT_IN" - The condition is true if the subject (or every element - // of it if it is - // a set) matches none of the supplied values. - // "DISCHARGED" - Subject is discharged - Op string `json:"op,omitempty"` - - // Svc: Trusted attributes discharged by the service. - Svc string `json:"svc,omitempty"` - - // Sys: Trusted attributes supplied by any service that owns resources - // and uses - // the IAM system for access control. - // - // Possible values: - // "NO_ATTR" - Default non-attribute type - // "REGION" - Region of the resource - // "SERVICE" - Service name - // "NAME" - Resource name - // "IP" - IP address of the caller - Sys string `json:"sys,omitempty"` - - // Value: DEPRECATED. Use 'values' instead. - Value string `json:"value,omitempty"` - - // Values: The objects of the condition. This is mutually exclusive with - // 'value'. - Values []string `json:"values,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Iam") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Iam") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *Condition) MarshalJSON() ([]byte, error) { - type noMethod Condition - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// CounterOptions: Options for counters -type CounterOptions struct { - // Field: The field value to attribute. - Field string `json:"field,omitempty"` - - // Metric: The metric to update. - Metric string `json:"metric,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Field") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Field") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *CounterOptions) MarshalJSON() ([]byte, error) { - type noMethod CounterOptions - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // CreateDatabaseMetadata: Metadata type for the operation returned // by // CreateDatabase. @@ -888,8 +549,32 @@ func (s *CreateInstanceRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// DataAccessOptions: Write a Data Access (Gin) log -type DataAccessOptions struct { +// CreateSessionRequest: The request for CreateSession. +type CreateSessionRequest struct { + // Session: The session to create. + Session *Session `json:"session,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Session") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Session") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CreateSessionRequest) MarshalJSON() ([]byte, error) { + type noMethod CreateSessionRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // Database: A Cloud Spanner database. @@ -1085,60 +770,6 @@ func (s *ExecuteSqlRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Expr: Represents an expression text. Example: -// -// title: "User account presence" -// description: "Determines whether the request has a user account" -// expression: "size(request.user) > 0" -type Expr struct { - // Description: An optional description of the expression. This is a - // longer text which - // describes the expression, e.g. when hovered over it in a UI. - Description string `json:"description,omitempty"` - - // Expression: Textual representation of an expression in - // [Common Expression Language](http://go/api-expr) syntax. - // - // The application context of the containing message determines - // which - // well-known feature set of CEL is supported. - Expression string `json:"expression,omitempty"` - - // Location: An optional string indicating the location of the - // expression for error - // reporting, e.g. a file name and a position in the file. - Location string `json:"location,omitempty"` - - // Title: An optional title for the expression, i.e. a short string - // describing - // its purpose. This can be used e.g. in UIs which allow to enter - // the - // expression. - Title string `json:"title,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Description") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - 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. However, any field with - // an empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *Expr) MarshalJSON() ([]byte, error) { - type noMethod Expr - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // Field: Message representing a single field of a struct. type Field struct { // Name: The name of the field. For reads, this is the column name. @@ -1278,7 +909,29 @@ type Instance struct { // NodeCount: Required. The number of nodes allocated to this instance. // This may be zero - // in API responses for instances that are not yet in state `READY`. + // in API responses for instances that are not yet in state + // `READY`. + // + // Each Spanner node can provide up to 10,000 QPS of reads or 2000 QPS + // of + // writes (writing single rows at 1KB data per row), and 2 TiB + // storage. + // + // For optimal performance, we recommend provisioning enough nodes to + // keep + // overall CPU utilization under 75%. + // + // A minimum of 3 nodes is recommended for production environments. + // This + // minimum is required for SLAs to apply to your instance. + // + // Note that Cloud Spanner performance is highly dependent on workload, + // schema + // design, and dataset characteristics. The performance numbers above + // are + // estimates, and assume [best + // practices](https://cloud.google.com/spanner/docs/bulk-loading) + // are followed. NodeCount int64 `json:"nodeCount,omitempty"` // State: Output only. The current instance state. For @@ -1715,18 +1368,22 @@ func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// LogConfig: Specifies what kind of log the caller must write -type LogConfig struct { - // CloudAudit: Cloud audit options. - CloudAudit *CloudAuditOptions `json:"cloudAudit,omitempty"` +// ListSessionsResponse: The response for ListSessions. +type ListSessionsResponse struct { + // NextPageToken: `next_page_token` can be sent in a + // subsequent + // ListSessions call to fetch more of the matching + // sessions. + NextPageToken string `json:"nextPageToken,omitempty"` - // Counter: Counter options. - Counter *CounterOptions `json:"counter,omitempty"` + // Sessions: The list of requested sessions. + Sessions []*Session `json:"sessions,omitempty"` - // DataAccess: Data access options. - DataAccess *DataAccessOptions `json:"dataAccess,omitempty"` + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "CloudAudit") to + // ForceSendFields is a list of field names (e.g. "NextPageToken") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -1734,17 +1391,17 @@ type LogConfig struct { // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CloudAudit") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as + // NullFields is a list of field names (e.g. "NextPageToken") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } -func (s *LogConfig) MarshalJSON() ([]byte, error) { - type noMethod LogConfig +func (s *ListSessionsResponse) MarshalJSON() ([]byte, error) { + type noMethod ListSessionsResponse raw := noMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } @@ -1812,8 +1469,8 @@ func (s *Mutation) MarshalJSON() ([]byte, error) { type Operation struct { // Done: If the value is `false`, it means the operation is still in // progress. - // If true, the operation is completed, and either `error` or `response` - // is + // If `true`, the operation is completed, and either `error` or + // `response` is // available. Done bool `json:"done,omitempty"` @@ -2150,10 +1807,6 @@ func (s *PlanNode) MarshalJSON() ([]byte, error) { // For a description of IAM and its features, see the // [IAM developer's guide](https://cloud.google.com/iam). type Policy struct { - // AuditConfigs: Specifies cloud audit logging configuration for this - // policy. - AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"` - // Bindings: Associates a list of `members` to a `role`. // `bindings` with no members will result in an error. Bindings []*Binding `json:"bindings,omitempty"` @@ -2178,22 +1831,6 @@ type Policy struct { // policy is overwritten blindly. Etag string `json:"etag,omitempty"` - IamOwned bool `json:"iamOwned,omitempty"` - - // Rules: If more than one rule is specified, the rules are applied in - // the following - // manner: - // - All matching LOG rules are always applied. - // - If any DENY/DENY_WITH_LOG rule matches, permission is denied. - // Logging will be applied if one or more matching rule requires - // logging. - // - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is - // granted. - // Logging will be applied if one or more matching rule requires - // logging. - // - Otherwise, if no rule applies, permission is denied. - Rules []*Rule `json:"rules,omitempty"` - // Version: Version of the `Policy`. The default version is 0. Version int64 `json:"version,omitempty"` @@ -2201,7 +1838,7 @@ type Policy struct { // server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "AuditConfigs") to + // ForceSendFields is a list of field names (e.g. "Bindings") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -2209,10 +1846,10 @@ type Policy struct { // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AuditConfigs") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as + // 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` @@ -2385,6 +2022,7 @@ type ReadRequest struct { // Limit: If greater than zero, only the first `limit` rows are yielded. // If `limit` // is zero, the default is no limit. + // A limit cannot be specified if partition_token is set. Limit int64 `json:"limit,omitempty,string"` // ResumeToken: If this request is resuming a previously interrupted @@ -2595,100 +2233,50 @@ func (s *RollbackRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Rule: A rule to be applied in a Policy. -type Rule struct { - // Action: Required - // - // Possible values: - // "NO_ACTION" - Default no action. - // "ALLOW" - Matching 'Entries' grant access. - // "ALLOW_WITH_LOG" - Matching 'Entries' grant access and the caller - // promises to log - // the request per the returned log_configs. - // "DENY" - Matching 'Entries' deny access. - // "DENY_WITH_LOG" - Matching 'Entries' deny access and the caller - // promises to log - // the request per the returned log_configs. - // "LOG" - Matching 'Entries' tell IAM.Check callers to generate logs. - Action string `json:"action,omitempty"` - - // Conditions: Additional restrictions that must be met - Conditions []*Condition `json:"conditions,omitempty"` - - // Description: Human-readable description of the rule. - Description string `json:"description,omitempty"` - - // In: If one or more 'in' clauses are specified, the rule matches - // if - // the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries. - In []string `json:"in,omitempty"` - - // LogConfig: The config returned to callers of tech.iam.IAM.CheckPolicy - // for any entries - // that match the LOG action. - LogConfig []*LogConfig `json:"logConfig,omitempty"` - - // NotIn: If one or more 'not_in' clauses are specified, the rule - // matches - // if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries. - // The format for in and not_in entries is the same as for members in - // a - // Binding (see google/iam/v1/policy.proto). - NotIn []string `json:"notIn,omitempty"` - - // Permissions: A permission is a string of form '..' - // (e.g., 'storage.buckets.list'). A value of '*' matches all - // permissions, - // and a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs. - Permissions []string `json:"permissions,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Action") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Action") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *Rule) MarshalJSON() ([]byte, error) { - type noMethod Rule - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // Session: A session in the Cloud Spanner API. type Session struct { - // Name: Required. The name of the session. + // ApproximateLastUseTime: Output only. The approximate timestamp when + // the session is last used. It is + // typically earlier than the actual last use time. + ApproximateLastUseTime string `json:"approximateLastUseTime,omitempty"` + + // CreateTime: Output only. The timestamp when the session is created. + CreateTime string `json:"createTime,omitempty"` + + // Labels: The labels for the session. + // + // * Label keys must be between 1 and 63 characters long and must + // conform to + // the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. + // * Label values must be between 0 and 63 characters long and must + // conform + // to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. + // * No more than 20 labels can be associated with a given session. + Labels map[string]string `json:"labels,omitempty"` + + // Name: The name of the session. Name string `json:"name,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "Name") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. + // ForceSendFields is a list of field names (e.g. + // "ApproximateLastUseTime") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. 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. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. + // NullFields is a list of field names (e.g. "ApproximateLastUseTime") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. NullFields []string `json:"-"` } @@ -2708,15 +2296,6 @@ type SetIamPolicyRequest struct { // might reject them. Policy *Policy `json:"policy,omitempty"` - // UpdateMask: OPTIONAL: A FieldMask specifying which fields of the - // policy to modify. Only - // the fields in the mask will be modified. If no mask is provided, - // the - // following default mask is used: - // paths: "bindings, etag" - // This field is only used by Cloud IAM. - UpdateMask string `json:"updateMask,omitempty"` - // ForceSendFields is a list of field names (e.g. "Policy") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -2866,9 +2445,9 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in @@ -7605,11 +7184,12 @@ func (c *ProjectsInstancesDatabasesSessionsCommitCall) Do(opts ...googleapi.Call // method id "spanner.projects.instances.databases.sessions.create": type ProjectsInstancesDatabasesSessionsCreateCall struct { - s *Service - database string - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header + s *Service + database string + createsessionrequest *CreateSessionRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } // Create: Creates a new session. A session can be used to @@ -7643,9 +7223,10 @@ type ProjectsInstancesDatabasesSessionsCreateCall struct { // Idle sessions can be kept alive by sending a trivial SQL // query // periodically, e.g., "SELECT 1". -func (r *ProjectsInstancesDatabasesSessionsService) Create(database string) *ProjectsInstancesDatabasesSessionsCreateCall { +func (r *ProjectsInstancesDatabasesSessionsService) Create(database string, createsessionrequest *CreateSessionRequest) *ProjectsInstancesDatabasesSessionsCreateCall { c := &ProjectsInstancesDatabasesSessionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.database = database + c.createsessionrequest = createsessionrequest return c } @@ -7681,6 +7262,11 @@ func (c *ProjectsInstancesDatabasesSessionsCreateCall) doRequest(alt string) (*h } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.createsessionrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+database}/sessions") urls += "?" + c.urlParams_.Encode() @@ -7747,6 +7333,9 @@ func (c *ProjectsInstancesDatabasesSessionsCreateCall) Do(opts ...googleapi.Call // } // }, // "path": "v1/{+database}/sessions", + // "request": { + // "$ref": "CreateSessionRequest" + // }, // "response": { // "$ref": "Session" // }, @@ -8319,6 +7908,217 @@ func (c *ProjectsInstancesDatabasesSessionsGetCall) Do(opts ...googleapi.CallOpt } +// method id "spanner.projects.instances.databases.sessions.list": + +type ProjectsInstancesDatabasesSessionsListCall struct { + s *Service + database string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists all sessions in a given database. +func (r *ProjectsInstancesDatabasesSessionsService) List(database string) *ProjectsInstancesDatabasesSessionsListCall { + c := &ProjectsInstancesDatabasesSessionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.database = database + return c +} + +// Filter sets the optional parameter "filter": An expression for +// filtering the results of the request. Filter rules are +// case insensitive. The fields eligible for filtering are: +// +// * labels.key where key is the name of a label +// +// Some examples of using filters are: +// +// * labels.env:* --> The session has the label "env". +// * labels.env:dev --> The session has the label "env" and the value +// of +// the label contains the string "dev". +func (c *ProjectsInstancesDatabasesSessionsListCall) Filter(filter string) *ProjectsInstancesDatabasesSessionsListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// PageSize sets the optional parameter "pageSize": Number of sessions +// to be returned in the response. If 0 or less, defaults +// to the server's maximum allowed page size. +func (c *ProjectsInstancesDatabasesSessionsListCall) PageSize(pageSize int64) *ProjectsInstancesDatabasesSessionsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": If non-empty, +// `page_token` should contain a +// next_page_token from a previous +// ListSessionsResponse. +func (c *ProjectsInstancesDatabasesSessionsListCall) PageToken(pageToken string) *ProjectsInstancesDatabasesSessionsListCall { + 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 information. +func (c *ProjectsInstancesDatabasesSessionsListCall) Fields(s ...googleapi.Field) *ProjectsInstancesDatabasesSessionsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsInstancesDatabasesSessionsListCall) IfNoneMatch(entityTag string) *ProjectsInstancesDatabasesSessionsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsInstancesDatabasesSessionsListCall) Context(ctx context.Context) *ProjectsInstancesDatabasesSessionsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsInstancesDatabasesSessionsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsInstancesDatabasesSessionsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+database}/sessions") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "database": c.database, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "spanner.projects.instances.databases.sessions.list" call. +// Exactly one of *ListSessionsResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListSessionsResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsInstancesDatabasesSessionsListCall) Do(opts ...googleapi.CallOption) (*ListSessionsResponse, 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, &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, err + } + ret := &ListSessionsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists all sessions in a given database.", + // "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions", + // "httpMethod": "GET", + // "id": "spanner.projects.instances.databases.sessions.list", + // "parameterOrder": [ + // "database" + // ], + // "parameters": { + // "database": { + // "description": "Required. The database in which to list sessions.", + // "location": "path", + // "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "filter": { + // "description": "An expression for filtering the results of the request. Filter rules are\ncase insensitive. The fields eligible for filtering are:\n\n * labels.key where key is the name of a label\n\nSome examples of using filters are:\n\n * labels.env:* --\u003e The session has the label \"env\".\n * labels.env:dev --\u003e The session has the label \"env\" and the value of\n the label contains the string \"dev\".", + // "location": "query", + // "type": "string" + // }, + // "pageSize": { + // "description": "Number of sessions to be returned in the response. If 0 or less, defaults\nto the server's maximum allowed page size.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "If non-empty, `page_token` should contain a\nnext_page_token from a previous\nListSessionsResponse.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/{+database}/sessions", + // "response": { + // "$ref": "ListSessionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/spanner.data" + // ] + // } + +} + +// 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 *ProjectsInstancesDatabasesSessionsListCall) Pages(ctx context.Context, f func(*ListSessionsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + // method id "spanner.projects.instances.databases.sessions.read": type ProjectsInstancesDatabasesSessionsReadCall struct { diff --git a/vendor/google.golang.org/api/spectrum/v1explorer/spectrum-api.json b/vendor/google.golang.org/api/spectrum/v1explorer/spectrum-api.json index 36919c406..e10b41ce8 100644 --- a/vendor/google.golang.org/api/spectrum/v1explorer/spectrum-api.json +++ b/vendor/google.golang.org/api/spectrum/v1explorer/spectrum-api.json @@ -20,7 +20,7 @@ "basePath": "/spectrum/v1explorer/paws/", "rootUrl": "https://www.googleapis.com/", "servicePath": "spectrum/v1explorer/paws/", - "batchPath": "batch", + "batchPath": "batch/spectrum/v1explorer", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/speech/v1/speech-api.json b/vendor/google.golang.org/api/speech/v1/speech-api.json index 75c6d414f..f0c13198b 100644 --- a/vendor/google.golang.org/api/speech/v1/speech-api.json +++ b/vendor/google.golang.org/api/speech/v1/speech-api.json @@ -1,55 +1,43 @@ { + "baseUrl": "https://speech.googleapis.com/", + "servicePath": "", + "description": "Converts audio to text by applying powerful neural network models.", + "kind": "discovery#restDescription", "basePath": "", - "revision": "20170624", "documentationLink": "https://cloud.google.com/speech/", + "revision": "20170925", "id": "speech:v1", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { - "RecognitionAudio": { - "description": "Contains audio data in the encoding specified in the `RecognitionConfig`.\nEither `content` or `uri` must be supplied. Supplying both or neither\nreturns google.rpc.Code.INVALID_ARGUMENT. See\n[audio limits](https://cloud.google.com/speech/limits#content).", - "type": "object", - "properties": { - "content": { - "description": "The audio data bytes encoded as specified in\n`RecognitionConfig`. Note: as with all bytes fields, protobuffers use a\npure binary representation, whereas JSON representations use base64.", - "format": "byte", - "type": "string" - }, - "uri": { - "type": "string", - "description": "URI that points to a file that contains audio data bytes as specified in\n`RecognitionConfig`. Currently, only Google Cloud Storage URIs are\nsupported, which must be specified in the following format:\n`gs://bucket_name/object_name` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](https://cloud.google.com/storage/docs/reference-uris)." - } - }, - "id": "RecognitionAudio" - }, "LongRunningRecognizeRequest": { "description": "The top-level message sent by the client for the `LongRunningRecognize`\nmethod.", "type": "object", "properties": { - "config": { - "$ref": "RecognitionConfig", - "description": "*Required* Provides information to the recognizer that specifies how to\nprocess the request." - }, "audio": { - "$ref": "RecognitionAudio", - "description": "*Required* The audio data to be recognized." + "description": "*Required* The audio data to be recognized.", + "$ref": "RecognitionAudio" + }, + "config": { + "description": "*Required* Provides information to the recognizer that specifies how to\nprocess the request.", + "$ref": "RecognitionConfig" } }, "id": "LongRunningRecognizeRequest" }, "RecognizeResponse": { + "description": "The only message returned to the client by the `Recognize` method. It\ncontains the result as zero or more sequential `SpeechRecognitionResult`\nmessages.", + "type": "object", "properties": { "results": { "description": "*Output-only* Sequential list of transcription results corresponding to\nsequential portions of audio.", - "type": "array", "items": { "$ref": "SpeechRecognitionResult" - } + }, + "type": "array" } }, - "id": "RecognizeResponse", - "description": "The only message returned to the client by the `Recognize` method. It\ncontains the result as zero or more sequential `SpeechRecognitionResult`\nmessages.", - "type": "object" + "id": "RecognizeResponse" }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", @@ -58,12 +46,11 @@ "id": "CancelOperationRequest" }, "Operation": { - "id": "Operation", "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", "type": "object", "properties": { "done": { - "description": "If the value is `false`, it means the operation is still in progress.\nIf true, the operation is completed, and either `error` or `response` is\navailable.", + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", "type": "boolean" }, "response": { @@ -79,38 +66,45 @@ "type": "string" }, "error": { - "description": "The error result of the operation in case of failure or cancellation.", - "$ref": "Status" + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." }, "metadata": { - "type": "object", "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" }, - "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any." + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" } - } + }, + "id": "Operation" }, "RecognitionConfig": { "description": "Provides information to the recognizer that specifies how to process the\nrequest.", "type": "object", "properties": { "sampleRateHertz": { - "type": "integer", + "format": "int32", "description": "*Required* Sample rate in Hertz of the audio data sent in all\n`RecognitionAudio` messages. Valid values are: 8000-48000.\n16000 is optimal. For best results, set the sampling rate of the audio\nsource to 16000 Hz. If that's not possible, use the native sample rate of\nthe audio source (instead of re-sampling).", - "format": "int32" + "type": "integer" + }, + "enableWordTimeOffsets": { + "description": "*Optional* If `true`, the top result includes a list of words and\nthe start and end time offsets (timestamps) for those words. If\n`false`, no word-level time offset information is returned. The default is\n`false`.", + "type": "boolean" }, "maxAlternatives": { - "description": "*Optional* Maximum number of recognition hypotheses to be returned.\nSpecifically, the maximum number of `SpeechRecognitionAlternative` messages\nwithin each `SpeechRecognitionResult`.\nThe server may return fewer than `max_alternatives`.\nValid values are `0`-`30`. A value of `0` or `1` will return a maximum of\none. If omitted, will return a maximum of one.", "format": "int32", + "description": "*Optional* Maximum number of recognition hypotheses to be returned.\nSpecifically, the maximum number of `SpeechRecognitionAlternative` messages\nwithin each `SpeechRecognitionResult`.\nThe server may return fewer than `max_alternatives`.\nValid values are `0`-`30`. A value of `0` or `1` will return a maximum of\none. If omitted, will return a maximum of one.", "type": "integer" }, "languageCode": { - "type": "string", - "description": "*Required* The language of the supplied audio as a\n[BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag.\nExample: \"en-US\".\nSee [Language Support](https://cloud.google.com/speech/docs/languages)\nfor a list of the currently supported language codes." + "description": "*Required* The language of the supplied audio as a\n[BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag.\nExample: \"en-US\".\nSee [Language Support](https://cloud.google.com/speech/docs/languages)\nfor a list of the currently supported language codes.", + "type": "string" }, "encoding": { + "description": "*Required* Encoding of audio data sent in all `RecognitionAudio` messages.", + "type": "string", "enumDescriptions": [ "Not specified. Will return result google.rpc.Code.INVALID_ARGUMENT.", "Uncompressed 16-bit signed little-endian samples (Linear PCM).", @@ -130,50 +124,69 @@ "AMR_WB", "OGG_OPUS", "SPEEX_WITH_HEADER_BYTE" - ], - "description": "*Required* Encoding of audio data sent in all `RecognitionAudio` messages.", - "type": "string" + ] }, "profanityFilter": { "description": "*Optional* If set to `true`, the server will attempt to filter out\nprofanities, replacing all but the initial character in each filtered word\nwith asterisks, e.g. \"f***\". If set to `false` or omitted, profanities\nwon't be filtered out.", "type": "boolean" }, "speechContexts": { - "type": "array", + "description": "*Optional* A means to provide context to assist the speech recognition.", "items": { "$ref": "SpeechContext" }, - "description": "*Optional* A means to provide context to assist the speech recognition." + "type": "array" } }, "id": "RecognitionConfig" }, - "Status": { + "WordInfo": { + "description": "Word-specific information for recognized words. Word information is only\nincluded in the response when certain request parameters are set, such\nas `enable_word_time_offsets`.", "type": "object", "properties": { - "message": { - "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "endTime": { + "format": "google-duration", + "description": "*Output-only* Time offset relative to the beginning of the audio,\nand corresponding to the end of the spoken word.\nThis field is only set if `enable_word_time_offsets=true` and only\nin the top hypothesis.\nThis is an experimental feature and the accuracy of the time offset can\nvary.", "type": "string" }, + "startTime": { + "format": "google-duration", + "description": "*Output-only* Time offset relative to the beginning of the audio,\nand corresponding to the start of the spoken word.\nThis field is only set if `enable_word_time_offsets=true` and only\nin the top hypothesis.\nThis is an experimental feature and the accuracy of the time offset can\nvary.", + "type": "string" + }, + "word": { + "description": "*Output-only* The word corresponding to this set of information.", + "type": "string" + } + }, + "id": "WordInfo" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", + "type": "object", + "properties": { "details": { - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", - "type": "array", + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", "items": { "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" }, "type": "object" - } + }, + "type": "array" }, "code": { - "description": "The status code, which should be an enum value of google.rpc.Code.", "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", "type": "integer" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" } }, - "id": "Status", - "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons." + "id": "Status" }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", @@ -182,88 +195,111 @@ "id": "Empty" }, "RecognizeRequest": { + "description": "The top-level message sent by the client for the `Recognize` method.", + "type": "object", "properties": { - "config": { - "$ref": "RecognitionConfig", - "description": "*Required* Provides information to the recognizer that specifies how to\nprocess the request." - }, "audio": { "$ref": "RecognitionAudio", "description": "*Required* The audio data to be recognized." + }, + "config": { + "$ref": "RecognitionConfig", + "description": "*Required* Provides information to the recognizer that specifies how to\nprocess the request." } }, - "id": "RecognizeRequest", - "description": "The top-level message sent by the client for the `Recognize` method.", - "type": "object" + "id": "RecognizeRequest" }, "SpeechContext": { + "description": "Provides \"hints\" to the speech recognizer to favor specific words and phrases\nin the results.", "type": "object", "properties": { "phrases": { "description": "*Optional* A list of strings containing words and phrases \"hints\" so that\nthe speech recognition is more likely to recognize them. This can be used\nto improve the accuracy for specific words and phrases, for example, if\nspecific commands are typically spoken by the user. This can also be used\nto add additional words to the vocabulary of the recognizer. See\n[usage limits](https://cloud.google.com/speech/limits#content).", - "type": "array", "items": { "type": "string" - } + }, + "type": "array" } }, - "id": "SpeechContext", - "description": "Provides \"hints\" to the speech recognizer to favor specific words and phrases\nin the results." + "id": "SpeechContext" }, "SpeechRecognitionAlternative": { + "description": "Alternative hypotheses (a.k.a. n-best list).", + "type": "object", "properties": { "confidence": { - "description": "*Output-only* The confidence estimate between 0.0 and 1.0. A higher number\nindicates an estimated greater likelihood that the recognized words are\ncorrect. This field is typically provided only for the top hypothesis, and\nonly for `is_final=true` results. Clients should not rely on the\n`confidence` field as it is not guaranteed to be accurate or consistent.\nThe default of 0.0 is a sentinel value indicating `confidence` was not set.", "format": "float", + "description": "*Output-only* The confidence estimate between 0.0 and 1.0. A higher number\nindicates an estimated greater likelihood that the recognized words are\ncorrect. This field is typically provided only for the top hypothesis, and\nonly for `is_final=true` results. Clients should not rely on the\n`confidence` field as it is not guaranteed to be accurate or consistent.\nThe default of 0.0 is a sentinel value indicating `confidence` was not set.", "type": "number" }, + "words": { + "description": "*Output-only* A list of word-specific information for each recognized word.", + "items": { + "$ref": "WordInfo" + }, + "type": "array" + }, "transcript": { "description": "*Output-only* Transcript text representing the words that the user spoke.", "type": "string" } }, - "id": "SpeechRecognitionAlternative", - "description": "Alternative hypotheses (a.k.a. n-best list).", - "type": "object" + "id": "SpeechRecognitionAlternative" }, "ListOperationsResponse": { "description": "The response message for Operations.ListOperations.", "type": "object", "properties": { - "operations": { - "description": "A list of operations that matches the specified filter in the request.", - "type": "array", - "items": { - "$ref": "Operation" - } - }, "nextPageToken": { "description": "The standard List next-page token.", "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" } }, "id": "ListOperationsResponse" }, "SpeechRecognitionResult": { - "id": "SpeechRecognitionResult", "description": "A speech recognition result corresponding to a portion of the audio.", "type": "object", "properties": { "alternatives": { - "type": "array", + "description": "*Output-only* May contain one or more recognition hypotheses (up to the\nmaximum specified in `max_alternatives`).\nThese alternatives are ordered in terms of accuracy, with the top (first)\nalternative being the most probable, as ranked by the recognizer.", "items": { "$ref": "SpeechRecognitionAlternative" }, - "description": "*Output-only* May contain one or more recognition hypotheses (up to the\nmaximum specified in `max_alternatives`).\nThese alternatives are ordered in terms of accuracy, with the first/top\nalternative being the most probable, as ranked by the recognizer." + "type": "array" } - } + }, + "id": "SpeechRecognitionResult" + }, + "RecognitionAudio": { + "description": "Contains audio data in the encoding specified in the `RecognitionConfig`.\nEither `content` or `uri` must be supplied. Supplying both or neither\nreturns google.rpc.Code.INVALID_ARGUMENT. See\n[audio limits](https://cloud.google.com/speech/limits#content).", + "type": "object", + "properties": { + "content": { + "format": "byte", + "description": "The audio data bytes encoded as specified in\n`RecognitionConfig`. Note: as with all bytes fields, protobuffers use a\npure binary representation, whereas JSON representations use base64.", + "type": "string" + }, + "uri": { + "description": "URI that points to a file that contains audio data bytes as specified in\n`RecognitionConfig`. Currently, only Google Cloud Storage URIs are\nsupported, which must be specified in the following format:\n`gs://bucket_name/object_name` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](https://cloud.google.com/storage/docs/reference-uris).", + "type": "string" + } + }, + "id": "RecognitionAudio" } }, - "protocol": "rest", "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" }, + "protocol": "rest", "canonicalName": "Speech", "auth": { "oauth2": { @@ -283,62 +319,32 @@ "resources": { "operations": { "methods": { - "cancel": { + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { "name": { - "description": "The name of the operation resource to be cancelled.", - "required": true, + "description": "The name of the operation resource.", "type": "string", + "required": true, "pattern": "^[^/]+$", "location": "path" } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/operations/{operationsId}:cancel", - "path": "v1/operations/{+name}:cancel", - "id": "speech.operations.cancel", - "request": { - "$ref": "CancelOperationRequest" - }, - "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "POST" - }, - "delete": { - "httpMethod": "DELETE", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "pattern": "^[^/]+$", - "location": "path", - "description": "The name of the operation resource to be deleted.", - "required": true, - "type": "string" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "flatPath": "v1/operations/{operationsId}", - "id": "speech.operations.delete", - "path": "v1/operations/{+name}", - "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`." + "id": "speech.operations.get", + "path": "v1/operations/{+name}" }, "list": { - "id": "speech.operations.list", - "path": "v1/operations", "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", "httpMethod": "GET", "parameterOrder": [], @@ -350,65 +356,89 @@ ], "parameters": { "pageSize": { - "description": "The standard list page size.", + "location": "query", "format": "int32", - "type": "integer", - "location": "query" + "description": "The standard list page size.", + "type": "integer" }, "filter": { + "location": "query", "description": "The standard list filter.", - "type": "string", - "location": "query" - }, - "name": { - "description": "The name of the operation's parent resource.", - "type": "string", - "location": "query" + "type": "string" }, "pageToken": { "location": "query", "description": "The standard list page token.", "type": "string" + }, + "name": { + "location": "query", + "description": "The name of the operation's parent resource.", + "type": "string" } }, - "flatPath": "v1/operations" + "flatPath": "v1/operations", + "path": "v1/operations", + "id": "speech.operations.list" }, - "get": { + "cancel": { + "request": { + "$ref": "CancelOperationRequest" + }, + "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.", "response": { - "$ref": "Operation" + "$ref": "Empty" }, "parameterOrder": [ "name" ], - "httpMethod": "GET", + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { "name": { - "pattern": "^[^/]+$", - "location": "path", - "description": "The name of the operation resource.", + "description": "The name of the operation resource to be cancelled.", + "type": "string", "required": true, - "type": "string" + "pattern": "^[^/]+$", + "location": "path" } }, + "flatPath": "v1/operations/{operationsId}:cancel", + "id": "speech.operations.cancel", + "path": "v1/operations/{+name}:cancel" + }, + "delete": { + "flatPath": "v1/operations/{operationsId}", + "path": "v1/operations/{+name}", + "id": "speech.operations.delete", + "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.", + "httpMethod": "DELETE", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Empty" + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "flatPath": "v1/operations/{operationsId}", - "path": "v1/operations/{+name}", - "id": "speech.operations.get", - "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice." + "parameters": { + "name": { + "location": "path", + "description": "The name of the operation resource to be deleted.", + "type": "string", + "required": true, + "pattern": "^[^/]+$" + } + } } } }, "speech": { "methods": { "longrunningrecognize": { - "id": "speech.speech.longrunningrecognize", - "path": "v1/speech:longrunningrecognize", - "description": "Performs asynchronous speech recognition: receive results via the\ngoogle.longrunning.Operations interface. Returns either an\n`Operation.error` or an `Operation.response` which contains\na `LongRunningRecognizeResponse` message.", - "request": { - "$ref": "LongRunningRecognizeRequest" - }, "httpMethod": "POST", "parameterOrder": [], "response": { @@ -418,65 +448,94 @@ "https://www.googleapis.com/auth/cloud-platform" ], "parameters": {}, - "flatPath": "v1/speech:longrunningrecognize" + "flatPath": "v1/speech:longrunningrecognize", + "path": "v1/speech:longrunningrecognize", + "id": "speech.speech.longrunningrecognize", + "request": { + "$ref": "LongRunningRecognizeRequest" + }, + "description": "Performs asynchronous speech recognition: receive results via the\ngoogle.longrunning.Operations interface. Returns either an\n`Operation.error` or an `Operation.response` which contains\na `LongRunningRecognizeResponse` message." }, "recognize": { - "httpMethod": "POST", - "parameterOrder": [], + "description": "Performs synchronous speech recognition: receive results after all audio\nhas been sent and processed.", + "request": { + "$ref": "RecognizeRequest" + }, "response": { "$ref": "RecognizeResponse" }, + "parameterOrder": [], + "httpMethod": "POST", "parameters": {}, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], "flatPath": "v1/speech:recognize", "id": "speech.speech.recognize", - "path": "v1/speech:recognize", - "request": { - "$ref": "RecognizeRequest" - }, - "description": "Performs synchronous speech recognition: receive results after all audio\nhas been sent and processed." + "path": "v1/speech:recognize" } } } }, "parameters": { - "prettyPrint": { - "description": "Returns response with indentations and line breaks.", - "type": "boolean", + "pp": { + "location": "query", + "description": "Pretty-print response.", "default": "true", + "type": "boolean" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string", "location": "query" }, - "fields": { - "type": "string", + "prettyPrint": { "location": "query", - "description": "Selector specifying which fields to include in a partial response." + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" }, "uploadType": { "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", "type": "string", "location": "query" }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", + "location": "query" + }, + "callback": { + "description": "JSONP", + "type": "string", + "location": "query" + }, "$.xgafv": { - "enum": [ - "1", - "2" - ], "description": "V1 error format.", "type": "string", "enumDescriptions": [ "v1 error format", "v2 error format" ], - "location": "query" - }, - "callback": { "location": "query", - "description": "JSONP", - "type": "string" + "enum": [ + "1", + "2" + ] }, "alt": { + "description": "Data format for response.", + "default": "json", "enum": [ "json", "media", @@ -488,50 +547,23 @@ "Media download with context-dependent Content-Type", "Responses with Content-Type of application/x-protobuf" ], - "location": "query", - "description": "Data format for response.", - "default": "json" + "location": "query" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", + "location": "query" }, "access_token": { "location": "query", "description": "OAuth access token.", "type": "string" }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, "quotaUser": { + "location": "query", "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string", - "location": "query" - }, - "pp": { - "location": "query", - "description": "Pretty-print response.", - "type": "boolean", - "default": "true" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" - }, - "bearer_token": { - "description": "OAuth bearer token.", - "type": "string", - "location": "query" - }, - "upload_protocol": { - "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "type": "string" } }, - "version": "v1", - "baseUrl": "https://speech.googleapis.com/", - "description": "Converts audio to text by applying powerful neural network models.", - "servicePath": "", - "kind": "discovery#restDescription" + "version": "v1" } diff --git a/vendor/google.golang.org/api/speech/v1/speech-gen.go b/vendor/google.golang.org/api/speech/v1/speech-gen.go index a7f5cd24f..aa15c73bc 100644 --- a/vendor/google.golang.org/api/speech/v1/speech-gen.go +++ b/vendor/google.golang.org/api/speech/v1/speech-gen.go @@ -197,8 +197,8 @@ func (s *LongRunningRecognizeRequest) MarshalJSON() ([]byte, error) { type Operation struct { // Done: If the value is `false`, it means the operation is still in // progress. - // If true, the operation is completed, and either `error` or `response` - // is + // If `true`, the operation is completed, and either `error` or + // `response` is // available. Done bool `json:"done,omitempty"` @@ -319,6 +319,15 @@ func (s *RecognitionAudio) MarshalJSON() ([]byte, error) { // specifies how to process the // request. type RecognitionConfig struct { + // EnableWordTimeOffsets: *Optional* If `true`, the top result includes + // a list of words and + // the start and end time offsets (timestamps) for those words. + // If + // `false`, no word-level time offset information is returned. The + // default is + // `false`. + EnableWordTimeOffsets bool `json:"enableWordTimeOffsets,omitempty"` + // Encoding: *Required* Encoding of audio data sent in all // `RecognitionAudio` messages. // @@ -415,20 +424,22 @@ type RecognitionConfig struct { // speech recognition. SpeechContexts []*SpeechContext `json:"speechContexts,omitempty"` - // ForceSendFields is a list of field names (e.g. "Encoding") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. + // ForceSendFields is a list of field names (e.g. + // "EnableWordTimeOffsets") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Encoding") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. + // NullFields is a list of field names (e.g. "EnableWordTimeOffsets") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. NullFields []string `json:"-"` } @@ -571,6 +582,10 @@ type SpeechRecognitionAlternative struct { // the user spoke. Transcript string `json:"transcript,omitempty"` + // Words: *Output-only* A list of word-specific information for each + // recognized word. + Words []*WordInfo `json:"words,omitempty"` + // ForceSendFields is a list of field names (e.g. "Confidence") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -614,8 +629,8 @@ type SpeechRecognitionResult struct { // Alternatives: *Output-only* May contain one or more recognition // hypotheses (up to the // maximum specified in `max_alternatives`). - // These alternatives are ordered in terms of accuracy, with the - // first/top + // These alternatives are ordered in terms of accuracy, with the top + // (first) // alternative being the most probable, as ranked by the recognizer. Alternatives []*SpeechRecognitionAlternative `json:"alternatives,omitempty"` @@ -726,9 +741,9 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in @@ -761,6 +776,59 @@ func (s *Status) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// WordInfo: Word-specific information for recognized words. Word +// information is only +// included in the response when certain request parameters are set, +// such +// as `enable_word_time_offsets`. +type WordInfo struct { + // EndTime: *Output-only* Time offset relative to the beginning of the + // audio, + // and corresponding to the end of the spoken word. + // This field is only set if `enable_word_time_offsets=true` and only + // in the top hypothesis. + // This is an experimental feature and the accuracy of the time offset + // can + // vary. + EndTime string `json:"endTime,omitempty"` + + // StartTime: *Output-only* Time offset relative to the beginning of the + // audio, + // and corresponding to the start of the spoken word. + // This field is only set if `enable_word_time_offsets=true` and only + // in the top hypothesis. + // This is an experimental feature and the accuracy of the time offset + // can + // vary. + StartTime string `json:"startTime,omitempty"` + + // Word: *Output-only* The word corresponding to this set of + // information. + Word string `json:"word,omitempty"` + + // ForceSendFields is a list of field names (e.g. "EndTime") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *WordInfo) MarshalJSON() ([]byte, error) { + type noMethod WordInfo + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // method id "speech.operations.cancel": type OperationsCancelCall struct { diff --git a/vendor/google.golang.org/api/speech/v1beta1/speech-api.json b/vendor/google.golang.org/api/speech/v1beta1/speech-api.json index 22ae6c9aa..2c1cdc7f2 100644 --- a/vendor/google.golang.org/api/speech/v1beta1/speech-api.json +++ b/vendor/google.golang.org/api/speech/v1beta1/speech-api.json @@ -1,67 +1,21 @@ { - "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { - "SpeechRecognitionResult": { - "description": "A speech recognition result corresponding to a portion of the audio.", - "type": "object", - "properties": { - "alternatives": { - "description": "*Output-only* May contain one or more recognition hypotheses (up to the\nmaximum specified in `max_alternatives`).", - "type": "array", - "items": { - "$ref": "SpeechRecognitionAlternative" - } - } - }, - "id": "SpeechRecognitionResult" - }, - "AsyncRecognizeRequest": { - "description": "The top-level message sent by the client for the `AsyncRecognize` method.", - "type": "object", - "properties": { - "config": { - "$ref": "RecognitionConfig", - "description": "*Required* Provides information to the recognizer that specifies how to\nprocess the request." - }, - "audio": { - "description": "*Required* The audio data to be recognized.", - "$ref": "RecognitionAudio" - } - }, - "id": "AsyncRecognizeRequest" - }, - "RecognitionAudio": { - "description": "Contains audio data in the encoding specified in the `RecognitionConfig`.\nEither `content` or `uri` must be supplied. Supplying both or neither\nreturns google.rpc.Code.INVALID_ARGUMENT. See\n[audio limits](https://cloud.google.com/speech/limits#content).", - "type": "object", - "properties": { - "content": { - "description": "The audio data bytes encoded as specified in\n`RecognitionConfig`. Note: as with all bytes fields, protobuffers use a\npure binary representation, whereas JSON representations use base64.", - "format": "byte", - "type": "string" - }, - "uri": { - "description": "URI that points to a file that contains audio data bytes as specified in\n`RecognitionConfig`. Currently, only Google Cloud Storage URIs are\nsupported, which must be specified in the following format:\n`gs://bucket_name/object_name` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](https://cloud.google.com/storage/docs/reference-uris).", - "type": "string" - } - }, - "id": "RecognitionAudio" - }, "Operation": { "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", "type": "object", "properties": { "done": { - "description": "If the value is `false`, it means the operation is still in progress.\nIf true, the operation is completed, and either `error` or `response` is\navailable.", + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", "type": "boolean" }, "response": { + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object", "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" - }, - "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", - "type": "object" + } }, "name": { "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`.", @@ -87,22 +41,26 @@ "type": "object", "properties": { "maxAlternatives": { - "description": "*Optional* Maximum number of recognition hypotheses to be returned.\nSpecifically, the maximum number of `SpeechRecognitionAlternative` messages\nwithin each `SpeechRecognitionResult`.\nThe server may return fewer than `max_alternatives`.\nValid values are `0`-`30`. A value of `0` or `1` will return a maximum of\none. If omitted, will return a maximum of one.", "format": "int32", + "description": "*Optional* Maximum number of recognition hypotheses to be returned.\nSpecifically, the maximum number of `SpeechRecognitionAlternative` messages\nwithin each `SpeechRecognitionResult`.\nThe server may return fewer than `max_alternatives`.\nValid values are `0`-`30`. A value of `0` or `1` will return a maximum of\none. If omitted, will return a maximum of one.", "type": "integer" }, "sampleRate": { - "description": "*Required* Sample rate in Hertz of the audio data sent in all\n`RecognitionAudio` messages. Valid values are: 8000-48000.\n16000 is optimal. For best results, set the sampling rate of the audio\nsource to 16000 Hz. If that's not possible, use the native sample rate of\nthe audio source (instead of re-sampling).", "format": "int32", + "description": "*Required* Sample rate in Hertz of the audio data sent in all\n`RecognitionAudio` messages. Valid values are: 8000-48000.\n16000 is optimal. For best results, set the sampling rate of the audio\nsource to 16000 Hz. If that's not possible, use the native sample rate of\nthe audio source (instead of re-sampling).", "type": "integer" }, "languageCode": { "description": "*Optional* The language of the supplied audio as a BCP-47 language tag.\nExample: \"en-GB\" https://www.rfc-editor.org/rfc/bcp/bcp47.txt\nIf omitted, defaults to \"en-US\". See\n[Language Support](https://cloud.google.com/speech/docs/languages)\nfor a list of the currently supported language codes.", "type": "string" }, + "profanityFilter": { + "description": "*Optional* If set to `true`, the server will attempt to filter out\nprofanities, replacing all but the initial character in each filtered word\nwith asterisks, e.g. \"f***\". If set to `false` or omitted, profanities\nwon't be filtered out.", + "type": "boolean" + }, "speechContext": { - "$ref": "SpeechContext", - "description": "*Optional* A means to provide context to assist the speech recognition." + "description": "*Optional* A means to provide context to assist the speech recognition.", + "$ref": "SpeechContext" }, "encoding": { "description": "*Required* Encoding of audio data sent in all `RecognitionAudio` messages.", @@ -123,10 +81,6 @@ "AMR", "AMR_WB" ] - }, - "profanityFilter": { - "description": "*Optional* If set to `true`, the server will attempt to filter out\nprofanities, replacing all but the initial character in each filtered word\nwith asterisks, e.g. \"f***\". If set to `false` or omitted, profanities\nwon't be filtered out.", - "type": "boolean" } }, "id": "RecognitionConfig" @@ -135,58 +89,58 @@ "description": "The top-level message sent by the client for the `SyncRecognize` method.", "type": "object", "properties": { - "config": { - "description": "*Required* Provides information to the recognizer that specifies how to\nprocess the request.", - "$ref": "RecognitionConfig" - }, "audio": { "$ref": "RecognitionAudio", "description": "*Required* The audio data to be recognized." + }, + "config": { + "description": "*Required* Provides information to the recognizer that specifies how to\nprocess the request.", + "$ref": "RecognitionConfig" } }, "id": "SyncRecognizeRequest" }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", + "type": "object", + "properties": { + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "type": "object", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + } + }, + "type": "array" + }, + "code": { + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "id": "Status" + }, "SyncRecognizeResponse": { "description": "The only message returned to the client by `SyncRecognize`. method. It\ncontains the result as zero or more sequential `SpeechRecognitionResult`\nmessages.", "type": "object", "properties": { "results": { "description": "*Output-only* Sequential list of transcription results corresponding to\nsequential portions of audio.", - "type": "array", "items": { "$ref": "SpeechRecognitionResult" - } + }, + "type": "array" } }, "id": "SyncRecognizeResponse" }, - "Status": { - "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", - "type": "object", - "properties": { - "code": { - "description": "The status code, which should be an enum value of google.rpc.Code.", - "format": "int32", - "type": "integer" - }, - "message": { - "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", - "type": "string" - }, - "details": { - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", - "type": "array", - "items": { - "type": "object", - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - } - } - } - }, - "id": "Status" - }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", "type": "object", @@ -197,16 +151,16 @@ "description": "The response message for Operations.ListOperations.", "type": "object", "properties": { - "operations": { - "description": "A list of operations that matches the specified filter in the request.", - "type": "array", - "items": { - "$ref": "Operation" - } - }, "nextPageToken": { "description": "The standard List next-page token.", "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" } }, "id": "ListOperationsResponse" @@ -217,10 +171,10 @@ "properties": { "phrases": { "description": "*Optional* A list of strings containing words and phrases \"hints\" so that\nthe speech recognition is more likely to recognize them. This can be used\nto improve the accuracy for specific words and phrases, for example, if\nspecific commands are typically spoken by the user. This can also be used\nto add additional words to the vocabulary of the recognizer. See\n[usage limits](https://cloud.google.com/speech/limits#content).", - "type": "array", "items": { "type": "string" - } + }, + "type": "array" } }, "id": "SpeechContext" @@ -230,8 +184,8 @@ "type": "object", "properties": { "confidence": { - "description": "*Output-only* The confidence estimate between 0.0 and 1.0. A higher number\nindicates an estimated greater likelihood that the recognized words are\ncorrect. This field is typically provided only for the top hypothesis, and\nonly for `is_final=true` results. Clients should not rely on the\n`confidence` field as it is not guaranteed to be accurate, or even set, in\nany of the results.\nThe default of 0.0 is a sentinel value indicating `confidence` was not set.", "format": "float", + "description": "*Output-only* The confidence estimate between 0.0 and 1.0. A higher number\nindicates an estimated greater likelihood that the recognized words are\ncorrect. This field is typically provided only for the top hypothesis, and\nonly for `is_final=true` results. Clients should not rely on the\n`confidence` field as it is not guaranteed to be accurate, or even set, in\nany of the results.\nThe default of 0.0 is a sentinel value indicating `confidence` was not set.", "type": "number" }, "transcript": { @@ -240,13 +194,58 @@ } }, "id": "SpeechRecognitionAlternative" + }, + "SpeechRecognitionResult": { + "description": "A speech recognition result corresponding to a portion of the audio.", + "type": "object", + "properties": { + "alternatives": { + "description": "*Output-only* May contain one or more recognition hypotheses (up to the\nmaximum specified in `max_alternatives`).", + "items": { + "$ref": "SpeechRecognitionAlternative" + }, + "type": "array" + } + }, + "id": "SpeechRecognitionResult" + }, + "RecognitionAudio": { + "description": "Contains audio data in the encoding specified in the `RecognitionConfig`.\nEither `content` or `uri` must be supplied. Supplying both or neither\nreturns google.rpc.Code.INVALID_ARGUMENT. See\n[audio limits](https://cloud.google.com/speech/limits#content).", + "type": "object", + "properties": { + "content": { + "format": "byte", + "description": "The audio data bytes encoded as specified in\n`RecognitionConfig`. Note: as with all bytes fields, protobuffers use a\npure binary representation, whereas JSON representations use base64.", + "type": "string" + }, + "uri": { + "description": "URI that points to a file that contains audio data bytes as specified in\n`RecognitionConfig`. Currently, only Google Cloud Storage URIs are\nsupported, which must be specified in the following format:\n`gs://bucket_name/object_name` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](https://cloud.google.com/storage/docs/reference-uris).", + "type": "string" + } + }, + "id": "RecognitionAudio" + }, + "AsyncRecognizeRequest": { + "description": "The top-level message sent by the client for the `AsyncRecognize` method.", + "type": "object", + "properties": { + "audio": { + "description": "*Required* The audio data to be recognized.", + "$ref": "RecognitionAudio" + }, + "config": { + "$ref": "RecognitionConfig", + "description": "*Required* Provides information to the recognizer that specifies how to\nprocess the request." + } + }, + "id": "AsyncRecognizeRequest" } }, - "protocol": "rest", "icons": { - "x32": "http://www.google.com/images/icons/product/search-32.gif", - "x16": "http://www.google.com/images/icons/product/search-16.gif" + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" }, + "protocol": "rest", "canonicalName": "Speech", "auth": { "oauth2": { @@ -266,6 +265,81 @@ "resources": { "operations": { "methods": { + "cancel": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "type": "string", + "required": true, + "pattern": "^[^/]+$", + "location": "path" + } + }, + "flatPath": "v1beta1/operations/{operationsId}:cancel", + "id": "speech.operations.cancel", + "path": "v1beta1/operations/{+name}:cancel", + "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`." + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "DELETE", + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "type": "string", + "required": true, + "pattern": "^[^/]+$", + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1beta1/operations/{operationsId}", + "id": "speech.operations.delete", + "path": "v1beta1/operations/{+name}" + }, + "get": { + "flatPath": "v1beta1/operations/{operationsId}", + "id": "speech.operations.get", + "path": "v1beta1/operations/{+name}", + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "response": { + "$ref": "Operation" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "location": "path", + "description": "The name of the operation resource.", + "type": "string", + "required": true, + "pattern": "^[^/]+$" + } + } + }, "list": { "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", "httpMethod": "GET", @@ -276,8 +350,8 @@ "parameters": { "pageSize": { "location": "query", - "description": "The standard list page size.", "format": "int32", + "description": "The standard list page size.", "type": "integer" }, "filter": { @@ -285,138 +359,63 @@ "type": "string", "location": "query" }, + "pageToken": { + "description": "The standard list page token.", + "type": "string", + "location": "query" + }, "name": { "location": "query", "description": "The name of the operation's parent resource.", "type": "string" - }, - "pageToken": { - "location": "query", - "description": "The standard list page token.", - "type": "string" } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], "flatPath": "v1beta1/operations", - "id": "speech.operations.list", - "path": "v1beta1/operations" - }, - "get": { - "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", - "httpMethod": "GET", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "description": "The name of the operation resource.", - "required": true, - "type": "string", - "pattern": "^[^/]+$", - "location": "path" - } - }, - "flatPath": "v1beta1/operations/{operationsId}", - "id": "speech.operations.get", - "path": "v1beta1/operations/{+name}" - }, - "cancel": { - "httpMethod": "POST", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "Empty" - }, - "parameters": { - "name": { - "description": "The name of the operation resource to be cancelled.", - "required": true, - "type": "string", - "pattern": "^[^/]+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1beta1/operations/{operationsId}:cancel", - "id": "speech.operations.cancel", - "path": "v1beta1/operations/{+name}:cancel", - "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`." - }, - "delete": { - "flatPath": "v1beta1/operations/{operationsId}", - "id": "speech.operations.delete", - "path": "v1beta1/operations/{+name}", - "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.", - "httpMethod": "DELETE", - "parameterOrder": [ - "name" - ], - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "location": "path", - "description": "The name of the operation resource to be deleted.", - "required": true, - "type": "string", - "pattern": "^[^/]+$" - } - } + "path": "v1beta1/operations", + "id": "speech.operations.list" } } }, "speech": { "methods": { "asyncrecognize": { - "request": { - "$ref": "AsyncRecognizeRequest" - }, - "description": "Performs asynchronous speech recognition: receive results via the\n[google.longrunning.Operations]\n(/speech/reference/rest/v1beta1/operations#Operation)\ninterface. Returns either an\n`Operation.error` or an `Operation.response` which contains\nan `AsyncRecognizeResponse` message.", "httpMethod": "POST", "parameterOrder": [], "response": { "$ref": "Operation" }, - "parameters": {}, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], + "parameters": {}, "flatPath": "v1beta1/speech:asyncrecognize", + "path": "v1beta1/speech:asyncrecognize", "id": "speech.speech.asyncrecognize", - "path": "v1beta1/speech:asyncrecognize" + "request": { + "$ref": "AsyncRecognizeRequest" + }, + "description": "Performs asynchronous speech recognition: receive results via the\n[google.longrunning.Operations]\n(/speech/reference/rest/v1beta1/operations#Operation)\ninterface. Returns either an\n`Operation.error` or an `Operation.response` which contains\nan `AsyncRecognizeResponse` message." }, "syncrecognize": { + "description": "Performs synchronous speech recognition: receive results after all audio\nhas been sent and processed.", + "request": { + "$ref": "SyncRecognizeRequest" + }, + "httpMethod": "POST", + "parameterOrder": [], "response": { "$ref": "SyncRecognizeResponse" }, - "parameterOrder": [], - "httpMethod": "POST", "parameters": {}, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], "flatPath": "v1beta1/speech:syncrecognize", "path": "v1beta1/speech:syncrecognize", - "id": "speech.speech.syncrecognize", - "request": { - "$ref": "SyncRecognizeRequest" - }, - "description": "Performs synchronous speech recognition: receive results after all audio\nhas been sent and processed." + "id": "speech.speech.syncrecognize" } } } @@ -428,11 +427,13 @@ "type": "string" }, "uploadType": { - "location": "query", "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string" + "type": "string", + "location": "query" }, "$.xgafv": { + "description": "V1 error format.", + "type": "string", "enumDescriptions": [ "v1 error format", "v2 error format" @@ -441,9 +442,7 @@ "enum": [ "1", "2" - ], - "description": "V1 error format.", - "type": "string" + ] }, "callback": { "description": "JSONP", @@ -451,6 +450,11 @@ "location": "query" }, "alt": { + "enum": [ + "json", + "media", + "proto" + ], "type": "string", "enumDescriptions": [ "Responses with Content-Type of application/json", @@ -459,63 +463,59 @@ ], "location": "query", "description": "Data format for response.", - "default": "json", - "enum": [ - "json", - "media", - "proto" - ] + "default": "json" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string", + "location": "query" }, "access_token": { "description": "OAuth access token.", "type": "string", "location": "query" }, - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, "quotaUser": { "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", "type": "string", "location": "query" }, "pp": { - "description": "Pretty-print response.", - "type": "boolean", - "default": "true", - "location": "query" - }, - "oauth_token": { "location": "query", - "description": "OAuth 2.0 token for the current user.", - "type": "string" + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" }, "bearer_token": { "location": "query", "description": "OAuth bearer token.", "type": "string" }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", + "location": "query" + }, "upload_protocol": { - "location": "query", "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string" + "type": "string", + "location": "query" }, "prettyPrint": { - "location": "query", "description": "Returns response with indentations and line breaks.", + "default": "true", "type": "boolean", - "default": "true" + "location": "query" } }, "version": "v1beta1", "baseUrl": "https://speech.googleapis.com/", - "servicePath": "", "kind": "discovery#restDescription", "description": "Converts audio to text by applying powerful neural network models.", + "servicePath": "", "basePath": "", "id": "speech:v1beta1", - "revision": "20170624", - "documentationLink": "https://cloud.google.com/speech/" + "revision": "20170925", + "documentationLink": "https://cloud.google.com/speech/", + "discoveryVersion": "v1" } diff --git a/vendor/google.golang.org/api/speech/v1beta1/speech-gen.go b/vendor/google.golang.org/api/speech/v1beta1/speech-gen.go index c28dec1c9..e5a30d144 100644 --- a/vendor/google.golang.org/api/speech/v1beta1/speech-gen.go +++ b/vendor/google.golang.org/api/speech/v1beta1/speech-gen.go @@ -191,8 +191,8 @@ func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) { type Operation struct { // Done: If the value is `false`, it means the operation is still in // progress. - // If true, the operation is completed, and either `error` or `response` - // is + // If `true`, the operation is completed, and either `error` or + // `response` is // available. Done bool `json:"done,omitempty"` @@ -621,9 +621,9 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in diff --git a/vendor/google.golang.org/api/sqladmin/v1beta3/sqladmin-api.json b/vendor/google.golang.org/api/sqladmin/v1beta3/sqladmin-api.json index 991738ed7..0a1fa96be 100644 --- a/vendor/google.golang.org/api/sqladmin/v1beta3/sqladmin-api.json +++ b/vendor/google.golang.org/api/sqladmin/v1beta3/sqladmin-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/49KRnzlsfCajyooOx9JRESIbzZg\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/lsRSA9rF-4KQu4xYN0id-kYxBtA\"", "discoveryVersion": "v1", "id": "sqladmin:v1beta3", "name": "sqladmin", "canonicalName": "SQL Admin", "version": "v1beta3", - "revision": "20170606", + "revision": "20170807", "title": "Cloud SQL Administration API", "description": "Creates and configures Cloud SQL instances, which provide fully-managed MySQL databases.", "ownerDomain": "google.com", @@ -21,7 +21,7 @@ "basePath": "/sql/v1beta3/", "rootUrl": "https://www.googleapis.com/", "servicePath": "sql/v1beta3/", - "batchPath": "batch", + "batchPath": "batch/sqladmin/v1beta3", "parameters": { "alt": { "type": "string", @@ -783,7 +783,7 @@ }, "requireSsl": { "type": "boolean", - "description": "Whether the mysqld should default to 'REQUIRE X509' for users connecting over IP." + "description": "Whether SSL connections over IP should be enforced or not." } } }, diff --git a/vendor/google.golang.org/api/sqladmin/v1beta3/sqladmin-gen.go b/vendor/google.golang.org/api/sqladmin/v1beta3/sqladmin-gen.go index 4c704dbfe..f54961b92 100644 --- a/vendor/google.golang.org/api/sqladmin/v1beta3/sqladmin-gen.go +++ b/vendor/google.golang.org/api/sqladmin/v1beta3/sqladmin-gen.go @@ -1341,8 +1341,8 @@ type IpConfiguration struct { // Kind: This is always sql#ipConfiguration. Kind string `json:"kind,omitempty"` - // RequireSsl: Whether the mysqld should default to 'REQUIRE X509' for - // users connecting over IP. + // RequireSsl: Whether SSL connections over IP should be enforced or + // not. RequireSsl bool `json:"requireSsl,omitempty"` // ForceSendFields is a list of field names (e.g. "AuthorizedNetworks") diff --git a/vendor/google.golang.org/api/sqladmin/v1beta4/sqladmin-api.json b/vendor/google.golang.org/api/sqladmin/v1beta4/sqladmin-api.json index b8fbc805e..e62435bce 100644 --- a/vendor/google.golang.org/api/sqladmin/v1beta4/sqladmin-api.json +++ b/vendor/google.golang.org/api/sqladmin/v1beta4/sqladmin-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/XsY4JGYlYgyTyxbJioMS7bSip2s\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/odbYGRT1izLWfRhfVNwcTacV8sM\"", "discoveryVersion": "v1", "id": "sqladmin:v1beta4", "name": "sqladmin", "canonicalName": "SQL Admin", "version": "v1beta4", - "revision": "20170606", + "revision": "20170807", "title": "Cloud SQL Administration API", "description": "Creates and configures Cloud SQL instances, which provide fully-managed MySQL databases.", "ownerDomain": "google.com", @@ -21,7 +21,7 @@ "basePath": "/sql/v1beta4/", "rootUrl": "https://www.googleapis.com/", "servicePath": "sql/v1beta4/", - "batchPath": "batch", + "batchPath": "batch/sqladmin/v1beta4", "parameters": { "alt": { "type": "string", @@ -344,7 +344,7 @@ }, "databaseVersion": { "type": "string", - "description": "The database engine type and version. The databaseVersion can not be changed after instance creation. Can be MYSQL_5_5, MYSQL_5_6 or MYSQL_5_7. Defaults to MYSQL_5_6. MYSQL_5_7 is applicable only to Second Generation instances." + "description": "The database engine type and version. The databaseVersion field can not be changed after instance creation. MySQL Second Generation instances: MYSQL_5_7 (default) or MYSQL_5_6. PostgreSQL instances: POSTGRES_9_6 MySQL First Generation instances: MYSQL_5_6 (default) or MYSQL_5_5" }, "etag": { "type": "string", @@ -364,6 +364,10 @@ } } }, + "gceZone": { + "type": "string", + "description": "The GCE zone that the instance is serving from. In case when the instance is failed over to standby zone, this value may be different with what user specified in the settings." + }, "instanceType": { "type": "string", "description": "The instance type. This can be one of the following.\nCLOUD_SQL_INSTANCE: A Cloud SQL instance that is not replicating from a master.\nON_PREMISES_INSTANCE: An instance running on the customer's premises.\nREAD_REPLICA_INSTANCE: A Cloud SQL instance configured as a read-replica." @@ -649,7 +653,7 @@ }, "importUser": { "type": "string", - "description": "The PostgreSQL user to use for this import operation. Defaults to cloudsqlsuperuser. Does not apply to MySQL instances." + "description": "The PostgreSQL user for this import operation. Defaults to cloudsqlsuperuser. Used only for PostgreSQL instances." }, "kind": { "type": "string", @@ -769,7 +773,7 @@ }, "requireSsl": { "type": "boolean", - "description": "Whether the mysqld should default to 'REQUIRE X509' for users connecting over IP." + "description": "Whether SSL connections over IP should be enforced or not." } } }, diff --git a/vendor/google.golang.org/api/sqladmin/v1beta4/sqladmin-gen.go b/vendor/google.golang.org/api/sqladmin/v1beta4/sqladmin-gen.go index e41bfa268..248cae02a 100644 --- a/vendor/google.golang.org/api/sqladmin/v1beta4/sqladmin-gen.go +++ b/vendor/google.golang.org/api/sqladmin/v1beta4/sqladmin-gen.go @@ -554,9 +554,10 @@ type DatabaseInstance struct { CurrentDiskSize int64 `json:"currentDiskSize,omitempty,string"` // DatabaseVersion: The database engine type and version. The - // databaseVersion can not be changed after instance creation. Can be - // MYSQL_5_5, MYSQL_5_6 or MYSQL_5_7. Defaults to MYSQL_5_6. MYSQL_5_7 - // is applicable only to Second Generation instances. + // databaseVersion field can not be changed after instance creation. + // MySQL Second Generation instances: MYSQL_5_7 (default) or MYSQL_5_6. + // PostgreSQL instances: POSTGRES_9_6 MySQL First Generation instances: + // MYSQL_5_6 (default) or MYSQL_5_5 DatabaseVersion string `json:"databaseVersion,omitempty"` // Etag: HTTP 1.1 Entity tag for the resource. @@ -566,6 +567,11 @@ type DatabaseInstance struct { // property is applicable only to Second Generation instances. FailoverReplica *DatabaseInstanceFailoverReplica `json:"failoverReplica,omitempty"` + // GceZone: The GCE zone that the instance is serving from. In case when + // the instance is failed over to standby zone, this value may be + // different with what user specified in the settings. + GceZone string `json:"gceZone,omitempty"` + // InstanceType: The instance type. This can be one of the // following. // CLOUD_SQL_INSTANCE: A Cloud SQL instance that is not replicating from @@ -1005,8 +1011,8 @@ type ImportContext struct { // CSV: The file contains CSV data. FileType string `json:"fileType,omitempty"` - // ImportUser: The PostgreSQL user to use for this import operation. - // Defaults to cloudsqlsuperuser. Does not apply to MySQL instances. + // ImportUser: The PostgreSQL user for this import operation. Defaults + // to cloudsqlsuperuser. Used only for PostgreSQL instances. ImportUser string `json:"importUser,omitempty"` // Kind: This is always sql#importContext. @@ -1299,8 +1305,8 @@ type IpConfiguration struct { // not. Ipv4Enabled bool `json:"ipv4Enabled,omitempty"` - // RequireSsl: Whether the mysqld should default to 'REQUIRE X509' for - // users connecting over IP. + // RequireSsl: Whether SSL connections over IP should be enforced or + // not. RequireSsl bool `json:"requireSsl,omitempty"` // ForceSendFields is a list of field names (e.g. "AuthorizedNetworks") diff --git a/vendor/google.golang.org/api/storage/v1/storage-api.json b/vendor/google.golang.org/api/storage/v1/storage-api.json index b025cc96b..d5eb39a44 100644 --- a/vendor/google.golang.org/api/storage/v1/storage-api.json +++ b/vendor/google.golang.org/api/storage/v1/storage-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/-XlPsGE1eaKzlxWDtbwmuSaBoqc\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/aAU6-GJtzQTwC546w_DsCPIRIUA\"", "discoveryVersion": "v1", "id": "storage:v1", "name": "storage", "version": "v1", - "revision": "20170607", + "revision": "20170915", "title": "Cloud Storage JSON API", "description": "Stores and retrieves potentially large, immutable data objects.", "ownerDomain": "google.com", @@ -687,7 +687,7 @@ }, "contentType": { "type": "string", - "description": "Content-Type of the object data. If contentType is not specified, object downloads will be served as application/octet-stream." + "description": "Content-Type of the object data. If an object is stored without a Content-Type, it is served as application/octet-stream." }, "crc32c": { "type": "string", @@ -946,6 +946,9 @@ "items": { "type": "object", "properties": { + "condition": { + "type": "any" + }, "members": { "type": "array", "description": "A collection of identifiers for members who may assume the provided role. Recognized identifiers are as follows: \n- allUsers — A special identifier that represents anyone on the internet; with or without a Google account. \n- allAuthenticatedUsers — A special identifier that represents anyone who is authenticated with a Google account or a service account. \n- user:emailid — An email address that represents a specific account. For example, user:alice@gmail.com or user:joe@example.com. \n- serviceAccount:emailid — An email address that represents a service account. For example, serviceAccount:my-other-app@appspot.gserviceaccount.com . \n- group:emailid — An email address that represents a Google group. For example, group:admins@example.com. \n- domain:domain — A Google Apps domain name that represents all the users of that domain. For example, domain:google.com or domain:example.com. \n- projectOwner:projectid — Owners of the given project. For example, projectOwner:my-example-project \n- projectEditor:projectid — Editors of the given project. For example, projectEditor:my-example-project \n- projectViewer:projectid — Viewers of the given project. For example, projectViewer:my-example-project", @@ -990,7 +993,7 @@ }, "resourceId": { "type": "string", - "description": "The ID of the resource to which this policy belongs. Will be of the form buckets/bucket for buckets, and buckets/bucket/objects/object for objects. A specific generation may be specified by appending #generationNumber to the end of the object name, e.g. buckets/my-bucket/objects/data.txt#17. The current generation can be denoted with #0. This field is ignored on input." + "description": "The ID of the resource to which this policy belongs. Will be of the form projects/_/buckets/bucket for buckets, and projects/_/buckets/bucket/objects/object for objects. A specific generation may be specified by appending #generationNumber to the end of the object name, e.g. projects/_/buckets/my-bucket/objects/data.txt#17. The current generation can be denoted with #0. This field is ignored on input." } } }, @@ -1471,6 +1474,11 @@ "Omit owner, acl and defaultObjectAcl properties." ], "location": "query" + }, + "userProject": { + "type": "string", + "description": "The project to be billed for this request, for Requester Pays buckets.", + "location": "query" } }, "parameterOrder": [ @@ -1530,6 +1538,11 @@ "Omit owner, acl and defaultObjectAcl properties." ], "location": "query" + }, + "userProject": { + "type": "string", + "description": "The project to be billed for this request, for Requester Pays buckets.", + "location": "query" } }, "parameterOrder": [ @@ -2176,7 +2189,7 @@ "parameters": { "bucket": { "type": "string", - "description": "Name of a GCS bucket.", + "description": "Name of a Google Cloud Storage bucket.", "required": true, "location": "path" }, @@ -2535,7 +2548,7 @@ }, "ifGenerationMatch": { "type": "string", - "description": "Makes the operation conditional on whether the object's current generation matches the given value.", + "description": "Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", "format": "int64", "location": "query" }, @@ -2615,13 +2628,13 @@ }, "ifGenerationMatch": { "type": "string", - "description": "Makes the operation conditional on whether the destination object's current generation matches the given value.", + "description": "Makes the operation conditional on whether the destination object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", "format": "int64", "location": "query" }, "ifGenerationNotMatch": { "type": "string", - "description": "Makes the operation conditional on whether the destination object's current generation does not match the given value.", + "description": "Makes the operation conditional on whether the destination object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.", "format": "int64", "location": "query" }, @@ -2639,13 +2652,13 @@ }, "ifSourceGenerationMatch": { "type": "string", - "description": "Makes the operation conditional on whether the source object's generation matches the given value.", + "description": "Makes the operation conditional on whether the source object's current generation matches the given value.", "format": "int64", "location": "query" }, "ifSourceGenerationNotMatch": { "type": "string", - "description": "Makes the operation conditional on whether the source object's generation does not match the given value.", + "description": "Makes the operation conditional on whether the source object's current generation does not match the given value.", "format": "int64", "location": "query" }, @@ -2738,13 +2751,13 @@ }, "ifGenerationMatch": { "type": "string", - "description": "Makes the operation conditional on whether the object's current generation matches the given value.", + "description": "Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", "format": "int64", "location": "query" }, "ifGenerationNotMatch": { "type": "string", - "description": "Makes the operation conditional on whether the object's current generation does not match the given value.", + "description": "Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.", "format": "int64", "location": "query" }, @@ -2802,13 +2815,13 @@ }, "ifGenerationMatch": { "type": "string", - "description": "Makes the operation conditional on whether the object's generation matches the given value.", + "description": "Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", "format": "int64", "location": "query" }, "ifGenerationNotMatch": { "type": "string", - "description": "Makes the operation conditional on whether the object's generation does not match the given value.", + "description": "Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.", "format": "int64", "location": "query" }, @@ -2930,13 +2943,13 @@ }, "ifGenerationMatch": { "type": "string", - "description": "Makes the operation conditional on whether the object's current generation matches the given value.", + "description": "Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", "format": "int64", "location": "query" }, "ifGenerationNotMatch": { "type": "string", - "description": "Makes the operation conditional on whether the object's current generation does not match the given value.", + "description": "Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.", "format": "int64", "location": "query" }, @@ -3129,13 +3142,13 @@ }, "ifGenerationMatch": { "type": "string", - "description": "Makes the operation conditional on whether the object's current generation matches the given value.", + "description": "Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", "format": "int64", "location": "query" }, "ifGenerationNotMatch": { "type": "string", - "description": "Makes the operation conditional on whether the object's current generation does not match the given value.", + "description": "Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.", "format": "int64", "location": "query" }, @@ -3258,13 +3271,13 @@ }, "ifGenerationMatch": { "type": "string", - "description": "Makes the operation conditional on whether the destination object's current generation matches the given value.", + "description": "Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", "format": "int64", "location": "query" }, "ifGenerationNotMatch": { "type": "string", - "description": "Makes the operation conditional on whether the destination object's current generation does not match the given value.", + "description": "Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.", "format": "int64", "location": "query" }, @@ -3282,13 +3295,13 @@ }, "ifSourceGenerationMatch": { "type": "string", - "description": "Makes the operation conditional on whether the source object's generation matches the given value.", + "description": "Makes the operation conditional on whether the source object's current generation matches the given value.", "format": "int64", "location": "query" }, "ifSourceGenerationNotMatch": { "type": "string", - "description": "Makes the operation conditional on whether the source object's generation does not match the given value.", + "description": "Makes the operation conditional on whether the source object's current generation does not match the given value.", "format": "int64", "location": "query" }, @@ -3489,13 +3502,13 @@ }, "ifGenerationMatch": { "type": "string", - "description": "Makes the operation conditional on whether the object's current generation matches the given value.", + "description": "Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", "format": "int64", "location": "query" }, "ifGenerationNotMatch": { "type": "string", - "description": "Makes the operation conditional on whether the object's current generation does not match the given value.", + "description": "Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.", "format": "int64", "location": "query" }, @@ -3662,13 +3675,18 @@ "id": "storage.projects.serviceAccount.get", "path": "projects/{projectId}/serviceAccount", "httpMethod": "GET", - "description": "Get the email address of this project's GCS service account.", + "description": "Get the email address of this project's Google Cloud Storage service account.", "parameters": { "projectId": { "type": "string", "description": "Project ID", "required": true, "location": "path" + }, + "userProject": { + "type": "string", + "description": "The project to be billed for this request, for Requester Pays buckets.", + "location": "query" } }, "parameterOrder": [ diff --git a/vendor/google.golang.org/api/storage/v1/storage-gen.go b/vendor/google.golang.org/api/storage/v1/storage-gen.go index 64860ab37..ae840c4d8 100644 --- a/vendor/google.golang.org/api/storage/v1/storage-gen.go +++ b/vendor/google.golang.org/api/storage/v1/storage-gen.go @@ -1168,9 +1168,8 @@ type Object struct { // ContentLanguage: Content-Language of the object data. ContentLanguage string `json:"contentLanguage,omitempty"` - // ContentType: Content-Type of the object data. If contentType is not - // specified, object downloads will be served as - // application/octet-stream. + // ContentType: Content-Type of the object data. If an object is stored + // without a Content-Type, it is served as application/octet-stream. ContentType string `json:"contentType,omitempty"` // Crc32c: CRC32c checksum, as described in RFC 4960, Appendix B; @@ -1556,10 +1555,11 @@ type Policy struct { Kind string `json:"kind,omitempty"` // ResourceId: The ID of the resource to which this policy belongs. Will - // be of the form buckets/bucket for buckets, and - // buckets/bucket/objects/object for objects. A specific generation may - // be specified by appending #generationNumber to the end of the object - // name, e.g. buckets/my-bucket/objects/data.txt#17. The current + // be of the form projects/_/buckets/bucket for buckets, and + // projects/_/buckets/bucket/objects/object for objects. A specific + // generation may be specified by appending #generationNumber to the end + // of the object name, e.g. + // projects/_/buckets/my-bucket/objects/data.txt#17. The current // generation can be denoted with #0. This field is ignored on input. ResourceId string `json:"resourceId,omitempty"` @@ -1591,6 +1591,8 @@ func (s *Policy) MarshalJSON() ([]byte, error) { } type PolicyBindings struct { + Condition interface{} `json:"condition,omitempty"` + // Members: A collection of identifiers for members who may assume the // provided role. Recognized identifiers are as follows: // - allUsers — A special identifier that represents anyone on the @@ -1648,7 +1650,7 @@ type PolicyBindings struct { // an ACL entry on a bucket with the OWNER role. Role string `json:"role,omitempty"` - // ForceSendFields is a list of field names (e.g. "Members") to + // ForceSendFields is a list of field names (e.g. "Condition") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -1656,7 +1658,7 @@ type PolicyBindings struct { // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Members") to include in + // NullFields is a list of field names (e.g. "Condition") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as @@ -3272,6 +3274,13 @@ func (c *BucketsInsertCall) Projection(projection string) *BucketsInsertCall { return c } +// UserProject sets the optional parameter "userProject": The project to +// be billed for this request, for Requester Pays buckets. +func (c *BucketsInsertCall) UserProject(userProject string) *BucketsInsertCall { + c.urlParams_.Set("userProject", userProject) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. @@ -3420,6 +3429,11 @@ func (c *BucketsInsertCall) Do(opts ...googleapi.CallOption) (*Bucket, error) { // ], // "location": "query", // "type": "string" + // }, + // "userProject": { + // "description": "The project to be billed for this request, for Requester Pays buckets.", + // "location": "query", + // "type": "string" // } // }, // "path": "b", @@ -3489,6 +3503,13 @@ func (c *BucketsListCall) Projection(projection string) *BucketsListCall { return c } +// UserProject sets the optional parameter "userProject": The project to +// be billed for this request, for Requester Pays buckets. +func (c *BucketsListCall) UserProject(userProject string) *BucketsListCall { + c.urlParams_.Set("userProject", userProject) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. @@ -3623,6 +3644,11 @@ func (c *BucketsListCall) Do(opts ...googleapi.CallOption) (*Buckets, error) { // ], // "location": "query", // "type": "string" + // }, + // "userProject": { + // "description": "The project to be billed for this request, for Requester Pays buckets.", + // "location": "query", + // "type": "string" // } // }, // "path": "b", @@ -6103,7 +6129,7 @@ func (c *NotificationsListCall) Do(opts ...googleapi.CallOption) (*Notifications // ], // "parameters": { // "bucket": { - // "description": "Name of a GCS bucket.", + // "description": "Name of a Google Cloud Storage bucket.", // "location": "path", // "required": true, // "type": "string" @@ -7207,7 +7233,8 @@ func (c *ObjectsComposeCall) DestinationPredefinedAcl(destinationPredefinedAcl s // IfGenerationMatch sets the optional parameter "ifGenerationMatch": // Makes the operation conditional on whether the object's current -// generation matches the given value. +// generation matches the given value. Setting to 0 makes the operation +// succeed only if there are no live versions of the object. func (c *ObjectsComposeCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsComposeCall { c.urlParams_.Set("ifGenerationMatch", fmt.Sprint(ifGenerationMatch)) return c @@ -7383,7 +7410,7 @@ func (c *ObjectsComposeCall) Do(opts ...googleapi.CallOption) (*Object, error) { // "type": "string" // }, // "ifGenerationMatch": { - // "description": "Makes the operation conditional on whether the object's current generation matches the given value.", + // "description": "Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", // "format": "int64", // "location": "query", // "type": "string" @@ -7472,7 +7499,8 @@ func (c *ObjectsCopyCall) DestinationPredefinedAcl(destinationPredefinedAcl stri // IfGenerationMatch sets the optional parameter "ifGenerationMatch": // Makes the operation conditional on whether the destination object's -// current generation matches the given value. +// current generation matches the given value. Setting to 0 makes the +// operation succeed only if there are no live versions of the object. func (c *ObjectsCopyCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsCopyCall { c.urlParams_.Set("ifGenerationMatch", fmt.Sprint(ifGenerationMatch)) return c @@ -7481,7 +7509,9 @@ func (c *ObjectsCopyCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsCop // IfGenerationNotMatch sets the optional parameter // "ifGenerationNotMatch": Makes the operation conditional on whether // the destination object's current generation does not match the given -// value. +// value. If no live object exists, the precondition fails. Setting to 0 +// makes the operation succeed only if there is a live version of the +// object. func (c *ObjectsCopyCall) IfGenerationNotMatch(ifGenerationNotMatch int64) *ObjectsCopyCall { c.urlParams_.Set("ifGenerationNotMatch", fmt.Sprint(ifGenerationNotMatch)) return c @@ -7507,7 +7537,7 @@ func (c *ObjectsCopyCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch int6 // IfSourceGenerationMatch sets the optional parameter // "ifSourceGenerationMatch": Makes the operation conditional on whether -// the source object's generation matches the given value. +// the source object's current generation matches the given value. func (c *ObjectsCopyCall) IfSourceGenerationMatch(ifSourceGenerationMatch int64) *ObjectsCopyCall { c.urlParams_.Set("ifSourceGenerationMatch", fmt.Sprint(ifSourceGenerationMatch)) return c @@ -7515,8 +7545,8 @@ func (c *ObjectsCopyCall) IfSourceGenerationMatch(ifSourceGenerationMatch int64) // IfSourceGenerationNotMatch sets the optional parameter // "ifSourceGenerationNotMatch": Makes the operation conditional on -// whether the source object's generation does not match the given -// value. +// whether the source object's current generation does not match the +// given value. func (c *ObjectsCopyCall) IfSourceGenerationNotMatch(ifSourceGenerationNotMatch int64) *ObjectsCopyCall { c.urlParams_.Set("ifSourceGenerationNotMatch", fmt.Sprint(ifSourceGenerationNotMatch)) return c @@ -7716,13 +7746,13 @@ func (c *ObjectsCopyCall) Do(opts ...googleapi.CallOption) (*Object, error) { // "type": "string" // }, // "ifGenerationMatch": { - // "description": "Makes the operation conditional on whether the destination object's current generation matches the given value.", + // "description": "Makes the operation conditional on whether the destination object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", // "format": "int64", // "location": "query", // "type": "string" // }, // "ifGenerationNotMatch": { - // "description": "Makes the operation conditional on whether the destination object's current generation does not match the given value.", + // "description": "Makes the operation conditional on whether the destination object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.", // "format": "int64", // "location": "query", // "type": "string" @@ -7740,13 +7770,13 @@ func (c *ObjectsCopyCall) Do(opts ...googleapi.CallOption) (*Object, error) { // "type": "string" // }, // "ifSourceGenerationMatch": { - // "description": "Makes the operation conditional on whether the source object's generation matches the given value.", + // "description": "Makes the operation conditional on whether the source object's current generation matches the given value.", // "format": "int64", // "location": "query", // "type": "string" // }, // "ifSourceGenerationNotMatch": { - // "description": "Makes the operation conditional on whether the source object's generation does not match the given value.", + // "description": "Makes the operation conditional on whether the source object's current generation does not match the given value.", // "format": "int64", // "location": "query", // "type": "string" @@ -7849,7 +7879,8 @@ func (c *ObjectsDeleteCall) Generation(generation int64) *ObjectsDeleteCall { // IfGenerationMatch sets the optional parameter "ifGenerationMatch": // Makes the operation conditional on whether the object's current -// generation matches the given value. +// generation matches the given value. Setting to 0 makes the operation +// succeed only if there are no live versions of the object. func (c *ObjectsDeleteCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsDeleteCall { c.urlParams_.Set("ifGenerationMatch", fmt.Sprint(ifGenerationMatch)) return c @@ -7857,7 +7888,9 @@ func (c *ObjectsDeleteCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsD // IfGenerationNotMatch sets the optional parameter // "ifGenerationNotMatch": Makes the operation conditional on whether -// the object's current generation does not match the given value. +// the object's current generation does not match the given value. If no +// live object exists, the precondition fails. Setting to 0 makes the +// operation succeed only if there is a live version of the object. func (c *ObjectsDeleteCall) IfGenerationNotMatch(ifGenerationNotMatch int64) *ObjectsDeleteCall { c.urlParams_.Set("ifGenerationNotMatch", fmt.Sprint(ifGenerationNotMatch)) return c @@ -7965,13 +7998,13 @@ func (c *ObjectsDeleteCall) Do(opts ...googleapi.CallOption) error { // "type": "string" // }, // "ifGenerationMatch": { - // "description": "Makes the operation conditional on whether the object's current generation matches the given value.", + // "description": "Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", // "format": "int64", // "location": "query", // "type": "string" // }, // "ifGenerationNotMatch": { - // "description": "Makes the operation conditional on whether the object's current generation does not match the given value.", + // "description": "Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.", // "format": "int64", // "location": "query", // "type": "string" @@ -8039,8 +8072,9 @@ func (c *ObjectsGetCall) Generation(generation int64) *ObjectsGetCall { } // IfGenerationMatch sets the optional parameter "ifGenerationMatch": -// Makes the operation conditional on whether the object's generation -// matches the given value. +// Makes the operation conditional on whether the object's current +// generation matches the given value. Setting to 0 makes the operation +// succeed only if there are no live versions of the object. func (c *ObjectsGetCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsGetCall { c.urlParams_.Set("ifGenerationMatch", fmt.Sprint(ifGenerationMatch)) return c @@ -8048,7 +8082,9 @@ func (c *ObjectsGetCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsGetC // IfGenerationNotMatch sets the optional parameter // "ifGenerationNotMatch": Makes the operation conditional on whether -// the object's generation does not match the given value. +// the object's current generation does not match the given value. If no +// live object exists, the precondition fails. Setting to 0 makes the +// operation succeed only if there is a live version of the object. func (c *ObjectsGetCall) IfGenerationNotMatch(ifGenerationNotMatch int64) *ObjectsGetCall { c.urlParams_.Set("ifGenerationNotMatch", fmt.Sprint(ifGenerationNotMatch)) return c @@ -8221,13 +8257,13 @@ func (c *ObjectsGetCall) Do(opts ...googleapi.CallOption) (*Object, error) { // "type": "string" // }, // "ifGenerationMatch": { - // "description": "Makes the operation conditional on whether the object's generation matches the given value.", + // "description": "Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", // "format": "int64", // "location": "query", // "type": "string" // }, // "ifGenerationNotMatch": { - // "description": "Makes the operation conditional on whether the object's generation does not match the given value.", + // "description": "Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.", // "format": "int64", // "location": "query", // "type": "string" @@ -8466,17 +8502,13 @@ func (c *ObjectsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, err // method id "storage.objects.insert": type ObjectsInsertCall struct { - s *Service - bucket string - object *Object - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + bucket string + object *Object + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Insert: Stores a new object and metadata. @@ -8500,7 +8532,8 @@ func (c *ObjectsInsertCall) ContentEncoding(contentEncoding string) *ObjectsInse // IfGenerationMatch sets the optional parameter "ifGenerationMatch": // Makes the operation conditional on whether the object's current -// generation matches the given value. +// generation matches the given value. Setting to 0 makes the operation +// succeed only if there are no live versions of the object. func (c *ObjectsInsertCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsInsertCall { c.urlParams_.Set("ifGenerationMatch", fmt.Sprint(ifGenerationMatch)) return c @@ -8508,7 +8541,9 @@ func (c *ObjectsInsertCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsI // IfGenerationNotMatch sets the optional parameter // "ifGenerationNotMatch": Makes the operation conditional on whether -// the object's current generation does not match the given value. +// the object's current generation does not match the given value. If no +// live object exists, the precondition fails. Setting to 0 makes the +// operation succeed only if there is a live version of the object. func (c *ObjectsInsertCall) IfGenerationNotMatch(ifGenerationNotMatch int64) *ObjectsInsertCall { c.urlParams_.Set("ifGenerationNotMatch", fmt.Sprint(ifGenerationNotMatch)) return c @@ -8601,12 +8636,7 @@ func (c *ObjectsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) if ct := c.object.ContentType; ct != "" { options = append([]googleapi.MediaOption{googleapi.ContentType(ct)}, options...) } - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -8621,11 +8651,7 @@ func (c *ObjectsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) // supersede any context previously provided to the Context method. func (c *ObjectsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *ObjectsInsertCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -8634,7 +8660,7 @@ func (c *ObjectsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, s // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *ObjectsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *ObjectsInsertCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -8679,27 +8705,16 @@ func (c *ObjectsInsertCall) doRequest(alt string) (*http.Response, error) { reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -8735,20 +8750,10 @@ func (c *ObjectsInsertCall) Do(opts ...googleapi.CallOption) (*Object, error) { if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -8808,13 +8813,13 @@ func (c *ObjectsInsertCall) Do(opts ...googleapi.CallOption) (*Object, error) { // "type": "string" // }, // "ifGenerationMatch": { - // "description": "Makes the operation conditional on whether the object's current generation matches the given value.", + // "description": "Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", // "format": "int64", // "location": "query", // "type": "string" // }, // "ifGenerationNotMatch": { - // "description": "Makes the operation conditional on whether the object's current generation does not match the given value.", + // "description": "Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.", // "format": "int64", // "location": "query", // "type": "string" @@ -9203,7 +9208,8 @@ func (c *ObjectsPatchCall) Generation(generation int64) *ObjectsPatchCall { // IfGenerationMatch sets the optional parameter "ifGenerationMatch": // Makes the operation conditional on whether the object's current -// generation matches the given value. +// generation matches the given value. Setting to 0 makes the operation +// succeed only if there are no live versions of the object. func (c *ObjectsPatchCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsPatchCall { c.urlParams_.Set("ifGenerationMatch", fmt.Sprint(ifGenerationMatch)) return c @@ -9211,7 +9217,9 @@ func (c *ObjectsPatchCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsPa // IfGenerationNotMatch sets the optional parameter // "ifGenerationNotMatch": Makes the operation conditional on whether -// the object's current generation does not match the given value. +// the object's current generation does not match the given value. If no +// live object exists, the precondition fails. Setting to 0 makes the +// operation succeed only if there is a live version of the object. func (c *ObjectsPatchCall) IfGenerationNotMatch(ifGenerationNotMatch int64) *ObjectsPatchCall { c.urlParams_.Set("ifGenerationNotMatch", fmt.Sprint(ifGenerationNotMatch)) return c @@ -9380,13 +9388,13 @@ func (c *ObjectsPatchCall) Do(opts ...googleapi.CallOption) (*Object, error) { // "type": "string" // }, // "ifGenerationMatch": { - // "description": "Makes the operation conditional on whether the object's current generation matches the given value.", + // "description": "Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", // "format": "int64", // "location": "query", // "type": "string" // }, // "ifGenerationNotMatch": { - // "description": "Makes the operation conditional on whether the object's current generation does not match the given value.", + // "description": "Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.", // "format": "int64", // "location": "query", // "type": "string" @@ -9523,8 +9531,9 @@ func (c *ObjectsRewriteCall) DestinationPredefinedAcl(destinationPredefinedAcl s } // IfGenerationMatch sets the optional parameter "ifGenerationMatch": -// Makes the operation conditional on whether the destination object's -// current generation matches the given value. +// Makes the operation conditional on whether the object's current +// generation matches the given value. Setting to 0 makes the operation +// succeed only if there are no live versions of the object. func (c *ObjectsRewriteCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsRewriteCall { c.urlParams_.Set("ifGenerationMatch", fmt.Sprint(ifGenerationMatch)) return c @@ -9532,8 +9541,9 @@ func (c *ObjectsRewriteCall) IfGenerationMatch(ifGenerationMatch int64) *Objects // IfGenerationNotMatch sets the optional parameter // "ifGenerationNotMatch": Makes the operation conditional on whether -// the destination object's current generation does not match the given -// value. +// the object's current generation does not match the given value. If no +// live object exists, the precondition fails. Setting to 0 makes the +// operation succeed only if there is a live version of the object. func (c *ObjectsRewriteCall) IfGenerationNotMatch(ifGenerationNotMatch int64) *ObjectsRewriteCall { c.urlParams_.Set("ifGenerationNotMatch", fmt.Sprint(ifGenerationNotMatch)) return c @@ -9559,7 +9569,7 @@ func (c *ObjectsRewriteCall) IfMetagenerationNotMatch(ifMetagenerationNotMatch i // IfSourceGenerationMatch sets the optional parameter // "ifSourceGenerationMatch": Makes the operation conditional on whether -// the source object's generation matches the given value. +// the source object's current generation matches the given value. func (c *ObjectsRewriteCall) IfSourceGenerationMatch(ifSourceGenerationMatch int64) *ObjectsRewriteCall { c.urlParams_.Set("ifSourceGenerationMatch", fmt.Sprint(ifSourceGenerationMatch)) return c @@ -9567,8 +9577,8 @@ func (c *ObjectsRewriteCall) IfSourceGenerationMatch(ifSourceGenerationMatch int // IfSourceGenerationNotMatch sets the optional parameter // "ifSourceGenerationNotMatch": Makes the operation conditional on -// whether the source object's generation does not match the given -// value. +// whether the source object's current generation does not match the +// given value. func (c *ObjectsRewriteCall) IfSourceGenerationNotMatch(ifSourceGenerationNotMatch int64) *ObjectsRewriteCall { c.urlParams_.Set("ifSourceGenerationNotMatch", fmt.Sprint(ifSourceGenerationNotMatch)) return c @@ -9782,13 +9792,13 @@ func (c *ObjectsRewriteCall) Do(opts ...googleapi.CallOption) (*RewriteResponse, // "type": "string" // }, // "ifGenerationMatch": { - // "description": "Makes the operation conditional on whether the destination object's current generation matches the given value.", + // "description": "Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", // "format": "int64", // "location": "query", // "type": "string" // }, // "ifGenerationNotMatch": { - // "description": "Makes the operation conditional on whether the destination object's current generation does not match the given value.", + // "description": "Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.", // "format": "int64", // "location": "query", // "type": "string" @@ -9806,13 +9816,13 @@ func (c *ObjectsRewriteCall) Do(opts ...googleapi.CallOption) (*RewriteResponse, // "type": "string" // }, // "ifSourceGenerationMatch": { - // "description": "Makes the operation conditional on whether the source object's generation matches the given value.", + // "description": "Makes the operation conditional on whether the source object's current generation matches the given value.", // "format": "int64", // "location": "query", // "type": "string" // }, // "ifSourceGenerationNotMatch": { - // "description": "Makes the operation conditional on whether the source object's generation does not match the given value.", + // "description": "Makes the operation conditional on whether the source object's current generation does not match the given value.", // "format": "int64", // "location": "query", // "type": "string" @@ -10282,7 +10292,8 @@ func (c *ObjectsUpdateCall) Generation(generation int64) *ObjectsUpdateCall { // IfGenerationMatch sets the optional parameter "ifGenerationMatch": // Makes the operation conditional on whether the object's current -// generation matches the given value. +// generation matches the given value. Setting to 0 makes the operation +// succeed only if there are no live versions of the object. func (c *ObjectsUpdateCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsUpdateCall { c.urlParams_.Set("ifGenerationMatch", fmt.Sprint(ifGenerationMatch)) return c @@ -10290,7 +10301,9 @@ func (c *ObjectsUpdateCall) IfGenerationMatch(ifGenerationMatch int64) *ObjectsU // IfGenerationNotMatch sets the optional parameter // "ifGenerationNotMatch": Makes the operation conditional on whether -// the object's current generation does not match the given value. +// the object's current generation does not match the given value. If no +// live object exists, the precondition fails. Setting to 0 makes the +// operation succeed only if there is a live version of the object. func (c *ObjectsUpdateCall) IfGenerationNotMatch(ifGenerationNotMatch int64) *ObjectsUpdateCall { c.urlParams_.Set("ifGenerationNotMatch", fmt.Sprint(ifGenerationNotMatch)) return c @@ -10475,13 +10488,13 @@ func (c *ObjectsUpdateCall) Do(opts ...googleapi.CallOption) (*Object, error) { // "type": "string" // }, // "ifGenerationMatch": { - // "description": "Makes the operation conditional on whether the object's current generation matches the given value.", + // "description": "Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.", // "format": "int64", // "location": "query", // "type": "string" // }, // "ifGenerationNotMatch": { - // "description": "Makes the operation conditional on whether the object's current generation does not match the given value.", + // "description": "Makes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.", // "format": "int64", // "location": "query", // "type": "string" @@ -10819,13 +10832,21 @@ type ProjectsServiceAccountGetCall struct { header_ http.Header } -// Get: Get the email address of this project's GCS service account. +// Get: Get the email address of this project's Google Cloud Storage +// service account. func (r *ProjectsServiceAccountService) Get(projectId string) *ProjectsServiceAccountGetCall { c := &ProjectsServiceAccountGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.projectId = projectId return c } +// UserProject sets the optional parameter "userProject": The project to +// be billed for this request, for Requester Pays buckets. +func (c *ProjectsServiceAccountGetCall) UserProject(userProject string) *ProjectsServiceAccountGetCall { + c.urlParams_.Set("userProject", userProject) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. @@ -10920,7 +10941,7 @@ func (c *ProjectsServiceAccountGetCall) Do(opts ...googleapi.CallOption) (*Servi } return ret, nil // { - // "description": "Get the email address of this project's GCS service account.", + // "description": "Get the email address of this project's Google Cloud Storage service account.", // "httpMethod": "GET", // "id": "storage.projects.serviceAccount.get", // "parameterOrder": [ @@ -10932,6 +10953,11 @@ func (c *ProjectsServiceAccountGetCall) Do(opts ...googleapi.CallOption) (*Servi // "location": "path", // "required": true, // "type": "string" + // }, + // "userProject": { + // "description": "The project to be billed for this request, for Requester Pays buckets.", + // "location": "query", + // "type": "string" // } // }, // "path": "projects/{projectId}/serviceAccount", diff --git a/vendor/google.golang.org/api/storage/v1beta1/storage-api.json b/vendor/google.golang.org/api/storage/v1beta1/storage-api.json index 0e1f51e53..7adefa937 100644 --- a/vendor/google.golang.org/api/storage/v1beta1/storage-api.json +++ b/vendor/google.golang.org/api/storage/v1beta1/storage-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/wVmEVFf4wXjiNgtW0Pw6QJgdrGk\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/bcRJYHI3-5nsBo04628_tSK-f84\"", "discoveryVersion": "v1", "id": "storage:v1beta1", "name": "storage", "version": "v1beta1", - "revision": "20170510", + "revision": "20170830", "title": "Cloud Storage JSON API", "description": "Lets you store and retrieve potentially-large, immutable data objects.", "ownerDomain": "google.com", diff --git a/vendor/google.golang.org/api/storage/v1beta1/storage-gen.go b/vendor/google.golang.org/api/storage/v1beta1/storage-gen.go index d5467f946..a00af8a58 100644 --- a/vendor/google.golang.org/api/storage/v1beta1/storage-gen.go +++ b/vendor/google.golang.org/api/storage/v1beta1/storage-gen.go @@ -3624,17 +3624,13 @@ func (c *ObjectsGetCall) Do(opts ...googleapi.CallOption) (*Object, error) { // method id "storage.objects.insert": type ObjectsInsertCall struct { - s *Service - bucket string - object *Object - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + bucket string + object *Object + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Insert: Stores new data blobs and associated metadata. @@ -3674,12 +3670,7 @@ func (c *ObjectsInsertCall) Projection(projection string) *ObjectsInsertCall { // supplied. // At most one of Media and ResumableMedia may be set. func (c *ObjectsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *ObjectsInsertCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -3694,11 +3685,7 @@ func (c *ObjectsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) // supersede any context previously provided to the Context method. func (c *ObjectsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *ObjectsInsertCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -3707,7 +3694,7 @@ func (c *ObjectsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, s // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *ObjectsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *ObjectsInsertCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -3752,27 +3739,16 @@ func (c *ObjectsInsertCall) doRequest(alt string) (*http.Response, error) { reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -3808,20 +3784,10 @@ func (c *ObjectsInsertCall) Do(opts ...googleapi.CallOption) (*Object, error) { if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() diff --git a/vendor/google.golang.org/api/storage/v1beta2/storage-api.json b/vendor/google.golang.org/api/storage/v1beta2/storage-api.json index 4970baa1b..756616bdd 100644 --- a/vendor/google.golang.org/api/storage/v1beta2/storage-api.json +++ b/vendor/google.golang.org/api/storage/v1beta2/storage-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/SKlmkaW_3NYm4HYEgVwULKXigs8\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/-kx4VTo0WtGqkEZqxSfkCE_3vyg\"", "discoveryVersion": "v1", "id": "storage:v1beta2", "name": "storage", "version": "v1beta2", - "revision": "20170510", + "revision": "20170830", "title": "Cloud Storage JSON API", "description": "Lets you store and retrieve potentially-large, immutable data objects.", "ownerDomain": "google.com", diff --git a/vendor/google.golang.org/api/storage/v1beta2/storage-gen.go b/vendor/google.golang.org/api/storage/v1beta2/storage-gen.go index 320e681af..21cff32eb 100644 --- a/vendor/google.golang.org/api/storage/v1beta2/storage-gen.go +++ b/vendor/google.golang.org/api/storage/v1beta2/storage-gen.go @@ -5901,17 +5901,13 @@ func (c *ObjectsGetCall) Do(opts ...googleapi.CallOption) (*Object, error) { // method id "storage.objects.insert": type ObjectsInsertCall struct { - s *Service - bucket string - object *Object - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + bucket string + object *Object + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Insert: Stores new data blobs and associated metadata. @@ -5987,12 +5983,7 @@ func (c *ObjectsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) if ct := c.object.ContentType; ct != "" { options = append([]googleapi.MediaOption{googleapi.ContentType(ct)}, options...) } - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -6007,11 +5998,7 @@ func (c *ObjectsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) // supersede any context previously provided to the Context method. func (c *ObjectsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *ObjectsInsertCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -6020,7 +6007,7 @@ func (c *ObjectsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, s // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *ObjectsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *ObjectsInsertCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -6065,27 +6052,16 @@ func (c *ObjectsInsertCall) doRequest(alt string) (*http.Response, error) { reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/o") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -6121,20 +6097,10 @@ func (c *ObjectsInsertCall) Do(opts ...googleapi.CallOption) (*Object, error) { if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() diff --git a/vendor/google.golang.org/api/storagetransfer/v1/storagetransfer-api.json b/vendor/google.golang.org/api/storagetransfer/v1/storagetransfer-api.json index ccc204af5..f2c8065ec 100644 --- a/vendor/google.golang.org/api/storagetransfer/v1/storagetransfer-api.json +++ b/vendor/google.golang.org/api/storagetransfer/v1/storagetransfer-api.json @@ -1,40 +1,19 @@ { - "baseUrl": "https://storagetransfer.googleapis.com/", - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" - } - } - } - }, - "servicePath": "", - "description": "Transfers data from external data sources to a Google Cloud Storage bucket or between Google Cloud Storage buckets.", - "kind": "discovery#restDescription", - "rootUrl": "https://storagetransfer.googleapis.com/", - "basePath": "", - "ownerDomain": "google.com", - "name": "storagetransfer", - "batchPath": "batch", - "id": "storagetransfer:v1", - "documentationLink": "https://cloud.google.com/storage/transfer", - "revision": "20170623", - "title": "Google Storage Transfer API", "ownerName": "Google", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "resources": { "googleServiceAccounts": { "methods": { "get": { - "response": { - "$ref": "GoogleServiceAccount" - }, + "description": "Returns the Google service account that is used by Storage Transfer\nService to access buckets in the project where transfers\nrun or in other projects. Each Google service account is associated\nwith one Google Cloud Platform Console project. Users\nshould add this service account to the Google Cloud Storage bucket\nACLs to grant access to Storage Transfer Service. This service\naccount is created and owned by Storage Transfer Service and can\nonly be used by Storage Transfer Service.", + "httpMethod": "GET", "parameterOrder": [ "projectId" ], - "httpMethod": "GET", + "response": { + "$ref": "GoogleServiceAccount" + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], @@ -47,18 +26,19 @@ } }, "flatPath": "v1/googleServiceAccounts/{projectId}", - "id": "storagetransfer.googleServiceAccounts.get", "path": "v1/googleServiceAccounts/{projectId}", - "description": "Returns the Google service account that is used by Storage Transfer\nService to access buckets in the project where transfers\nrun or in other projects. Each Google service account is associated\nwith one Google Cloud Platform Console project. Users\nshould add this service account to the Google Cloud Storage bucket\nACLs to grant access to Storage Transfer Service. This service\naccount is created and owned by Storage Transfer Service and can\nonly be used by Storage Transfer Service." + "id": "storagetransfer.googleServiceAccounts.get" } } }, "transferOperations": { "methods": { - "pause": { - "description": "Pauses a transfer operation.", + "resume": { + "path": "v1/{+name}:resume", + "id": "storagetransfer.transferOperations.resume", + "description": "Resumes a transfer operation that is paused.", "request": { - "$ref": "PauseTransferOperationRequest" + "$ref": "ResumeTransferOperationRequest" }, "httpMethod": "POST", "parameterOrder": [ @@ -79,39 +59,90 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "flatPath": "v1/transferOperations/{transferOperationsId}:pause", - "path": "v1/{+name}:pause", - "id": "storagetransfer.transferOperations.pause" + "flatPath": "v1/transferOperations/{transferOperationsId}:resume" }, - "delete": { + "cancel": { + "path": "v1/{+name}:cancel", + "id": "storagetransfer.transferOperations.cancel", + "description": "Cancels a transfer. Use the get method to check whether the cancellation succeeded or whether the operation completed despite cancellation.", + "httpMethod": "POST", "response": { "$ref": "Empty" }, "parameterOrder": [ "name" ], - "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], "parameters": { "name": { - "description": "The name of the operation resource to be deleted.", + "description": "The name of the operation resource to be cancelled.", "type": "string", "required": true, "pattern": "^transferOperations/.+$", "location": "path" } }, + "flatPath": "v1/transferOperations/{transferOperationsId}:cancel" + }, + "get": { "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "type": "string", + "required": true, + "pattern": "^transferOperations/.+$", + "location": "path" + } + }, "flatPath": "v1/transferOperations/{transferOperationsId}", - "id": "storagetransfer.transferOperations.delete", "path": "v1/{+name}", - "description": "This method is not supported and the server returns `UNIMPLEMENTED`." - }, - "list": { + "id": "storagetransfer.transferOperations.get", + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", "httpMethod": "GET", + "parameterOrder": [ + "name" + ], "response": { - "$ref": "ListOperationsResponse" + "$ref": "Operation" + } + }, + "pause": { + "httpMethod": "POST", + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "name": { + "description": "The name of the transfer operation.\nRequired.", + "type": "string", + "required": true, + "pattern": "^transferOperations/.+$", + "location": "path" + } + }, + "flatPath": "v1/transferOperations/{transferOperationsId}:pause", + "path": "v1/{+name}:pause", + "id": "storagetransfer.transferOperations.pause", + "request": { + "$ref": "PauseTransferOperationRequest" + }, + "description": "Pauses a transfer operation." + }, + "delete": { + "httpMethod": "DELETE", + "response": { + "$ref": "Empty" }, "parameterOrder": [ "name" @@ -119,6 +150,31 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], + "parameters": { + "name": { + "pattern": "^transferOperations/.+$", + "location": "path", + "description": "The name of the operation resource to be deleted.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/transferOperations/{transferOperationsId}", + "path": "v1/{+name}", + "id": "storagetransfer.transferOperations.delete", + "description": "This method is not supported and the server returns `UNIMPLEMENTED`." + }, + "list": { + "id": "storagetransfer.transferOperations.list", + "path": "v1/{+name}", + "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", + "response": { + "$ref": "ListOperationsResponse" + }, + "parameterOrder": [ + "name" + ], + "httpMethod": "GET", "parameters": { "filter": { "description": "A list of query parameters specified as JSON text in the form of {\\\"project_id\\\" : \\\"my_project_id\\\", \\\"job_names\\\" : [\\\"jobid1\\\", \\\"jobid2\\\",...], \\\"operation_names\\\" : [\\\"opid1\\\", \\\"opid2\\\",...], \\\"transfer_statuses\\\":[\\\"status1\\\", \\\"status2\\\",...]}. Since `job_names`, `operation_names`, and `transfer_statuses` support multiple values, they must be specified with array notation. `job_names`, `operation_names`, and `transfer_statuses` are optional.", @@ -144,99 +200,16 @@ "location": "query" } }, - "flatPath": "v1/transferOperations", - "path": "v1/{+name}", - "id": "storagetransfer.transferOperations.list", - "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id." - }, - "resume": { - "request": { - "$ref": "ResumeTransferOperationRequest" - }, - "description": "Resumes a transfer operation that is paused.", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "POST", "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "parameters": { - "name": { - "location": "path", - "description": "The name of the transfer operation.\nRequired.", - "type": "string", - "required": true, - "pattern": "^transferOperations/.+$" - } - }, - "flatPath": "v1/transferOperations/{transferOperationsId}:resume", - "id": "storagetransfer.transferOperations.resume", - "path": "v1/{+name}:resume" - }, - "cancel": { - "description": "Cancels a transfer. Use the get method to check whether the cancellation succeeded or whether the operation completed despite cancellation.", - "httpMethod": "POST", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the operation resource to be cancelled.", - "type": "string", - "required": true, - "pattern": "^transferOperations/.+$", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "flatPath": "v1/transferOperations/{transferOperationsId}:cancel", - "path": "v1/{+name}:cancel", - "id": "storagetransfer.transferOperations.cancel" - }, - "get": { - "id": "storagetransfer.transferOperations.get", - "path": "v1/{+name}", - "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", - "response": { - "$ref": "Operation" - }, - "parameterOrder": [ - "name" - ], - "httpMethod": "GET", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], - "parameters": { - "name": { - "location": "path", - "description": "The name of the operation resource.", - "type": "string", - "required": true, - "pattern": "^transferOperations/.+$" - } - }, - "flatPath": "v1/transferOperations/{transferOperationsId}" + "flatPath": "v1/transferOperations" } } }, "transferJobs": { "methods": { "create": { - "response": { - "$ref": "TransferJob" - }, - "parameterOrder": [], - "httpMethod": "POST", "parameters": {}, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -247,9 +220,35 @@ "description": "Creates a transfer job that runs periodically.", "request": { "$ref": "TransferJob" - } + }, + "response": { + "$ref": "TransferJob" + }, + "parameterOrder": [], + "httpMethod": "POST" }, "list": { + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "filter": { + "location": "query", + "description": "A list of query parameters specified as JSON text in the form of\n{\"project_id\":\"my_project_id\",\n\"job_names\":[\"jobid1\",\"jobid2\",...],\n\"job_statuses\":[\"status1\",\"status2\",...]}.\nSince `job_names` and `job_statuses` support multiple values, their values\nmust be specified with array notation. `project_id` is required. `job_names`\nand `job_statuses` are optional. The valid values for `job_statuses` are\ncase-insensitive: `ENABLED`, `DISABLED`, and `DELETED`.", + "type": "string" + }, + "pageToken": { + "description": "The list page token.", + "type": "string", + "location": "query" + }, + "pageSize": { + "format": "int32", + "description": "The list page size. The max allowed value is 256.", + "type": "integer", + "location": "query" + } + }, "flatPath": "v1/transferJobs", "path": "v1/transferJobs", "id": "storagetransfer.transferJobs.list", @@ -258,30 +257,11 @@ "response": { "$ref": "ListTransferJobsResponse" }, - "parameterOrder": [], - "parameters": { - "filter": { - "description": "A list of query parameters specified as JSON text in the form of\n{\"project_id\":\"my_project_id\",\n\"job_names\":[\"jobid1\",\"jobid2\",...],\n\"job_statuses\":[\"status1\",\"status2\",...]}.\nSince `job_names` and `job_statuses` support multiple values, their values\nmust be specified with array notation. `project_id` is required. `job_names`\nand `job_statuses` are optional. The valid values for `job_statuses` are\ncase-insensitive: `ENABLED`, `DISABLED`, and `DELETED`.", - "type": "string", - "location": "query" - }, - "pageToken": { - "location": "query", - "description": "The list page token.", - "type": "string" - }, - "pageSize": { - "location": "query", - "format": "int32", - "description": "The list page size. The max allowed value is 256.", - "type": "integer" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] + "parameterOrder": [] }, "get": { + "id": "storagetransfer.transferJobs.get", + "path": "v1/{+jobName}", "description": "Gets a transfer job.", "response": { "$ref": "TransferJob" @@ -297,25 +277,19 @@ "location": "query" }, "jobName": { + "pattern": "^transferJobs/.+$", + "location": "path", "description": "The job to get.\nRequired.", "type": "string", - "required": true, - "pattern": "^transferJobs/.+$", - "location": "path" + "required": true } }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "flatPath": "v1/transferJobs/{transferJobsId}", - "id": "storagetransfer.transferJobs.get", - "path": "v1/{+jobName}" + "flatPath": "v1/transferJobs/{transferJobsId}" }, "patch": { - "request": { - "$ref": "UpdateTransferJobRequest" - }, - "description": "Updates a transfer job. Updating a job's transfer spec does not affect\ntransfer operations that are running already. Updating the scheduling\nof a job is not allowed.", "response": { "$ref": "TransferJob" }, @@ -323,83 +297,30 @@ "jobName" ], "httpMethod": "PATCH", + "parameters": { + "jobName": { + "pattern": "^transferJobs/.+$", + "location": "path", + "description": "The name of job to update.\nRequired.", + "type": "string", + "required": true + } + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], - "parameters": { - "jobName": { - "type": "string", - "required": true, - "pattern": "^transferJobs/.+$", - "location": "path", - "description": "The name of job to update.\nRequired." - } - }, "flatPath": "v1/transferJobs/{transferJobsId}", "id": "storagetransfer.transferJobs.patch", - "path": "v1/{+jobName}" + "path": "v1/{+jobName}", + "description": "Updates a transfer job. Updating a job's transfer spec does not affect\ntransfer operations that are running already. Updating the scheduling\nof a job is not allowed.", + "request": { + "$ref": "UpdateTransferJobRequest" + } } } } }, "parameters": { - "key": { - "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" - }, - "access_token": { - "location": "query", - "description": "OAuth access token.", - "type": "string" - }, - "quotaUser": { - "location": "query", - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" - }, - "pp": { - "description": "Pretty-print response.", - "default": "true", - "type": "boolean", - "location": "query" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" - }, - "bearer_token": { - "location": "query", - "description": "OAuth bearer token.", - "type": "string" - }, - "upload_protocol": { - "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string" - }, - "prettyPrint": { - "description": "Returns response with indentations and line breaks.", - "default": "true", - "type": "boolean", - "location": "query" - }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "type": "string", - "location": "query" - }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string", - "location": "query" - }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, "$.xgafv": { "description": "V1 error format.", "type": "string", @@ -413,6 +334,11 @@ "2" ] }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, "alt": { "enumDescriptions": [ "Responses with Content-Type of application/json", @@ -428,9 +354,202 @@ "proto" ], "type": "string" + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, + "quotaUser": { + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string" + }, + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "type": "string", + "location": "query" + }, + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, + "prettyPrint": { + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "fields": { + "location": "query", + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + }, + "uploadType": { + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" } }, "schemas": { + "Schedule": { + "id": "Schedule", + "description": "Transfers can be scheduled to recur or to run just once.", + "type": "object", + "properties": { + "scheduleEndDate": { + "description": "The last day the recurring transfer will be run. If `scheduleEndDate`\nis the same as `scheduleStartDate`, the transfer will be executed only\nonce.", + "$ref": "Date" + }, + "startTimeOfDay": { + "$ref": "TimeOfDay", + "description": "The time in UTC at which the transfer will be scheduled to start in a day.\nTransfers may start later than this time. If not specified, recurring and\none-time transfers that are scheduled to run today will run immediately;\nrecurring transfers that are scheduled to run on a future date will start\nat approximately midnight UTC on that date. Note that when configuring a\ntransfer with the Cloud Platform Console, the transfer's start time in a\nday is specified in your local timezone." + }, + "scheduleStartDate": { + "description": "The first day the recurring transfer is scheduled to run. If\n`scheduleStartDate` is in the past, the transfer will run for the first\ntime on the following day.\nRequired.", + "$ref": "Date" + } + } + }, + "Date": { + "id": "Date", + "description": "Represents a whole calendar date, e.g. date of birth. The time of day and\ntime zone are either specified elsewhere or are not significant. The date\nis relative to the Proleptic Gregorian Calendar. The day may be 0 to\nrepresent a year and month where the day is not significant, e.g. credit card\nexpiration date. The year may be 0 to represent a month and day independent\nof year, e.g. anniversary date. Related types are google.type.TimeOfDay\nand `google.protobuf.Timestamp`.", + "type": "object", + "properties": { + "day": { + "format": "int32", + "description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0\nif specifying a year/month where the day is not significant.", + "type": "integer" + }, + "year": { + "format": "int32", + "description": "Year of date. Must be from 1 to 9999, or 0 if specifying a date without\na year.", + "type": "integer" + }, + "month": { + "format": "int32", + "description": "Month of year. Must be from 1 to 12.", + "type": "integer" + } + } + }, + "TransferOperation": { + "description": "A description of the execution of a transfer.", + "type": "object", + "properties": { + "endTime": { + "format": "google-datetime", + "description": "End time of this transfer execution.", + "type": "string" + }, + "startTime": { + "format": "google-datetime", + "description": "Start time of this transfer execution.", + "type": "string" + }, + "transferJobName": { + "description": "The name of the transfer job that triggers this transfer operation.", + "type": "string" + }, + "transferSpec": { + "$ref": "TransferSpec", + "description": "Transfer specification.\nRequired." + }, + "status": { + "description": "Status of the transfer operation.", + "type": "string", + "enumDescriptions": [ + "Zero is an illegal value.", + "In progress.", + "Paused.", + "Completed successfully.", + "Terminated due to an unrecoverable failure.", + "Aborted by the user." + ], + "enum": [ + "STATUS_UNSPECIFIED", + "IN_PROGRESS", + "PAUSED", + "SUCCESS", + "FAILED", + "ABORTED" + ] + }, + "counters": { + "$ref": "TransferCounters", + "description": "Information about the progress of the transfer operation." + }, + "errorBreakdowns": { + "description": "Summarizes errors encountered with sample error log entries.", + "items": { + "$ref": "ErrorSummary" + }, + "type": "array" + }, + "name": { + "description": "A globally unique ID assigned by the system.", + "type": "string" + }, + "projectId": { + "description": "The ID of the Google Cloud Platform Console project that owns the operation.\nRequired.", + "type": "string" + } + }, + "id": "TransferOperation" + }, + "AwsS3Data": { + "id": "AwsS3Data", + "description": "An AwsS3Data can be a data source, but not a data sink.\nIn an AwsS3Data, an object's name is the S3 object's key name.", + "type": "object", + "properties": { + "bucketName": { + "description": "S3 Bucket name (see\n[Creating a bucket](http://docs.aws.amazon.com/AmazonS3/latest/dev/create-bucket-get-location-example.html)).\nRequired.", + "type": "string" + }, + "awsAccessKey": { + "$ref": "AwsAccessKey", + "description": "AWS access key used to sign the API requests to the AWS S3 bucket.\nPermissions on the bucket must be granted to the access ID of the\nAWS access key.\nRequired." + } + } + }, + "AwsAccessKey": { + "description": "AWS access key (see\n[AWS Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)).", + "type": "object", + "properties": { + "accessKeyId": { + "description": "AWS access key ID.\nRequired.", + "type": "string" + }, + "secretAccessKey": { + "description": "AWS secret access key. This field is not returned in RPC responses.\nRequired.", + "type": "string" + } + }, + "id": "AwsAccessKey" + }, + "Empty": { + "id": "Empty", + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object", + "properties": {} + }, "PauseTransferOperationRequest": { "description": "Request passed to PauseTransferOperation.", "type": "object", @@ -438,12 +557,18 @@ "id": "PauseTransferOperationRequest" }, "TransferCounters": { + "id": "TransferCounters", "description": "A collection of counters that report the progress of a transfer operation.", "type": "object", "properties": { - "bytesDeletedFromSource": { + "objectsFromSourceSkippedBySync": { "format": "int64", - "description": "Bytes that are deleted from the data source.", + "description": "Objects in the data source that are not transferred because they already\nexist in the data sink.", + "type": "string" + }, + "bytesFoundFromSource": { + "format": "int64", + "description": "Bytes found in the data source that are scheduled to be transferred,\nwhich will be copied, excluded based on conditions, or skipped due to\nfailures.", "type": "string" }, "objectsFoundFromSource": { @@ -451,14 +576,14 @@ "description": "Objects found in the data source that are scheduled to be transferred,\nwhich will be copied, excluded based on conditions, or skipped due to\nfailures.", "type": "string" }, - "objectsFailedToDeleteFromSink": { - "type": "string", + "bytesDeletedFromSource": { "format": "int64", - "description": "Objects that failed to be deleted from the data sink." + "description": "Bytes that are deleted from the data source.", + "type": "string" }, - "objectsFoundOnlyFromSink": { + "objectsFailedToDeleteFromSink": { "format": "int64", - "description": "Objects found only in the data sink that are scheduled to be deleted.", + "description": "Objects that failed to be deleted from the data sink.", "type": "string" }, "objectsDeletedFromSink": { @@ -466,21 +591,26 @@ "description": "Objects that are deleted from the data sink.", "type": "string" }, + "objectsFoundOnlyFromSink": { + "format": "int64", + "description": "Objects found only in the data sink that are scheduled to be deleted.", + "type": "string" + }, "bytesFromSourceSkippedBySync": { "format": "int64", "description": "Bytes in the data source that are not transferred because they already\nexist in the data sink.", "type": "string" }, - "bytesFailedToDeleteFromSink": { - "format": "int64", - "description": "Bytes that failed to be deleted from the data sink.", - "type": "string" - }, "bytesDeletedFromSink": { "format": "int64", "description": "Bytes that are deleted from the data sink.", "type": "string" }, + "bytesFailedToDeleteFromSink": { + "format": "int64", + "description": "Bytes that failed to be deleted from the data sink.", + "type": "string" + }, "bytesFromSourceFailed": { "format": "int64", "description": "Bytes in the data source that failed during the transfer.", @@ -492,9 +622,9 @@ "type": "string" }, "objectsFromSourceFailed": { - "type": "string", "format": "int64", - "description": "Objects in the data source that failed during the transfer." + "description": "Objects in the data source that failed during the transfer.", + "type": "string" }, "bytesFoundOnlyFromSink": { "format": "int64", @@ -510,22 +640,10 @@ "format": "int64", "description": "Bytes that are copied to the data sink.", "type": "string" - }, - "bytesFoundFromSource": { - "format": "int64", - "description": "Bytes found in the data source that are scheduled to be transferred,\nwhich will be copied, excluded based on conditions, or skipped due to\nfailures.", - "type": "string" - }, - "objectsFromSourceSkippedBySync": { - "type": "string", - "format": "int64", - "description": "Objects in the data source that are not transferred because they already\nexist in the data sink." } - }, - "id": "TransferCounters" + } }, "ErrorSummary": { - "id": "ErrorSummary", "description": "A summary of errors by error code, plus a count and sample error log\nentries.", "type": "object", "properties": { @@ -572,9 +690,9 @@ "type": "string" }, "errorCount": { - "type": "string", "format": "int64", - "description": "Count of this type of error.\nRequired." + "description": "Count of this type of error.\nRequired.", + "type": "string" }, "errorLogEntries": { "description": "Error samples.", @@ -583,26 +701,27 @@ }, "type": "array" } - } + }, + "id": "ErrorSummary" }, "HttpData": { + "id": "HttpData", + "description": "An HttpData specifies a list of objects on the web to be transferred over\nHTTP. The information of the objects to be transferred is contained in a\nfile referenced by a URL. The first line in the file must be\n\"TsvHttpData-1.0\", which specifies the format of the file. Subsequent lines\nspecify the information of the list of objects, one object per list entry.\nEach entry has the following tab-delimited fields:\n\n* HTTP URL - The location of the object.\n\n* Length - The size of the object in bytes.\n\n* MD5 - The base64-encoded MD5 hash of the object.\n\nFor an example of a valid TSV file, see\n[Transferring data from URLs](https://cloud.google.com/storage/transfer/create-url-list).\n\nWhen transferring data based on a URL list, keep the following in mind:\n\n* When an object located at `http(s)://hostname:port/\u003cURL-path\u003e` is transferred\nto a data sink, the name of the object at the data sink is\n`\u003chostname\u003e/\u003cURL-path\u003e`.\n\n* If the specified size of an object does not match the actual size of the\nobject fetched, the object will not be transferred.\n\n* If the specified MD5 does not match the MD5 computed from the transferred\nbytes, the object transfer will fail. For more information, see\n[Generating MD5 hashes](https://cloud.google.com/storage/transfer/#md5)\n\n* Ensure that each URL you specify is publicly accessible. For\nexample, in Google Cloud Storage you can\n[share an object publicly]\n(https://cloud.google.com/storage/docs/cloud-console#_sharingdata) and get\na link to it.\n\n* Storage Transfer Service obeys `robots.txt` rules and requires the source\nHTTP server to support `Range` requests and to return a `Content-Length`\nheader in each response.\n\n* [ObjectConditions](#ObjectConditions) have no effect when filtering objects\nto transfer.", + "type": "object", "properties": { "listUrl": { "description": "The URL that points to the file that stores the object list entries.\nThis file must allow public access. Currently, only URLs with HTTP and\nHTTPS schemes are supported.\nRequired.", "type": "string" } - }, - "id": "HttpData", - "description": "An HttpData specifies a list of objects on the web to be transferred over\nHTTP. The information of the objects to be transferred is contained in a\nfile referenced by a URL. The first line in the file must be\n\"TsvHttpData-1.0\", which specifies the format of the file. Subsequent lines\nspecify the information of the list of objects, one object per list entry.\nEach entry has the following tab-delimited fields:\n\n* HTTP URL - The location of the object.\n\n* Length - The size of the object in bytes.\n\n* MD5 - The base64-encoded MD5 hash of the object.\n\nFor an example of a valid TSV file, see\n[Transferring data from URLs](https://cloud.google.com/storage/transfer/#urls)\n\nWhen transferring data based on a URL list, keep the following in mind:\n\n* When an object located at `http(s)://hostname:port/\u003cURL-path\u003e` is transferred\nto a data sink, the name of the object at the data sink is\n`\u003chostname\u003e/\u003cURL-path\u003e`.\n\n* If the specified size of an object does not match the actual size of the\nobject fetched, the object will not be transferred.\n\n* If the specified MD5 does not match the MD5 computed from the transferred\nbytes, the object transfer will fail. For more information, see\n[Generating MD5 hashes](https://cloud.google.com/storage/transfer/#md5)\n\n* Ensure that each URL you specify is publicly accessible. For\nexample, in Google Cloud Storage you can\n[share an object publicly]\n(https://cloud.google.com/storage/docs/cloud-console#_sharingdata) and get\na link to it.\n\n* Storage Transfer Service obeys `robots.txt` rules and requires the source\nHTTP server to support `Range` requests and to return a `Content-Length`\nheader in each response.\n\n* [ObjectConditions](#ObjectConditions) have no effect when filtering objects\nto transfer.", - "type": "object" + } }, "GcsData": { "description": "In a GcsData, an object's name is the Google Cloud Storage object's name and\nits `lastModificationTime` refers to the object's updated time, which changes\nwhen the content or the metadata of the object is updated.", "type": "object", "properties": { "bucketName": { - "type": "string", - "description": "Google Cloud Storage bucket name (see\n[Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).\nRequired." + "description": "Google Cloud Storage bucket name (see\n[Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).\nRequired.", + "type": "string" } }, "id": "GcsData" @@ -616,17 +735,24 @@ "type": "string" }, "transferJobs": { + "description": "A list of transfer jobs.", "items": { "$ref": "TransferJob" }, - "type": "array", - "description": "A list of transfer jobs." + "type": "array" } }, "id": "ListTransferJobsResponse" }, "UpdateTransferJobRequest": { + "id": "UpdateTransferJobRequest", + "description": "Request passed to UpdateTransferJob.", + "type": "object", "properties": { + "transferJob": { + "$ref": "TransferJob", + "description": "The job to update. `transferJob` is expected to specify only three fields:\n`description`, `transferSpec`, and `status`. An UpdateTransferJobRequest\nthat specifies other fields will be rejected with an error\n`INVALID_ARGUMENT`.\nRequired." + }, "projectId": { "description": "The ID of the Google Cloud Platform Console project that owns the job.\nRequired.", "type": "string" @@ -635,17 +761,11 @@ "format": "google-fieldmask", "description": "The field mask of the fields in `transferJob` that are to be updated in\nthis request. Fields in `transferJob` that can be updated are:\n`description`, `transferSpec`, and `status`. To update the `transferSpec`\nof the job, a complete transfer specification has to be provided. An\nincomplete specification which misses any required fields will be rejected\nwith the error `INVALID_ARGUMENT`.", "type": "string" - }, - "transferJob": { - "description": "The job to update.\nRequired.", - "$ref": "TransferJob" } - }, - "id": "UpdateTransferJobRequest", - "description": "Request passed to UpdateTransferJob.", - "type": "object" + } }, "ObjectConditions": { + "id": "ObjectConditions", "description": "Conditions that determine which objects will be transferred.", "type": "object", "properties": { @@ -662,9 +782,9 @@ "type": "string" }, "maxTimeElapsedSinceLastModification": { - "type": "string", "format": "google-duration", - "description": "`maxTimeElapsedSinceLastModification` is the complement to\n`minTimeElapsedSinceLastModification`." + "description": "`maxTimeElapsedSinceLastModification` is the complement to\n`minTimeElapsedSinceLastModification`.", + "type": "string" }, "includePrefixes": { "description": "If `includePrefixes` is specified, objects that satisfy the object\nconditions must have names that start with one of the `includePrefixes`\nand that do not start with any of the `excludePrefixes`. If `includePrefixes`\nis not specified, all objects except those that have names starting with\none of the `excludePrefixes` must satisfy the object conditions.\n\nRequirements:\n\n * Each include-prefix and exclude-prefix can contain any sequence of\n Unicode characters, of max length 1024 bytes when UTF8-encoded, and\n must not contain Carriage Return or Line Feed characters. Wildcard\n matching and regular expression matching are not supported.\n\n * Each include-prefix and exclude-prefix must omit the leading slash.\n For example, to include the `requests.gz` object in a transfer from\n `s3://my-aws-bucket/logs/y=2015/requests.gz`, specify the include\n prefix as `logs/y=2015/requests.gz`.\n\n * None of the include-prefix or the exclude-prefix values can be empty,\n if specified.\n\n * Each include-prefix must include a distinct portion of the object\n namespace, i.e., no include-prefix may be a prefix of another\n include-prefix.\n\n * Each exclude-prefix must exclude a distinct portion of the object\n namespace, i.e., no exclude-prefix may be a prefix of another\n exclude-prefix.\n\n * If `includePrefixes` is specified, then each exclude-prefix must start\n with the value of a path explicitly included by `includePrefixes`.\n\nThe max size of `includePrefixes` is 1000.", @@ -673,32 +793,24 @@ }, "type": "array" } - }, - "id": "ObjectConditions" + } }, "Operation": { + "id": "Operation", "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", "type": "object", "properties": { - "metadata": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "Represents the transfer operation object.", - "type": "object" - }, "done": { - "description": "If the value is `false`, it means the operation is still in progress.\nIf true, the operation is completed, and either `error` or `response` is\navailable.", + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", "type": "boolean" }, "response": { + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object", "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" - }, - "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", - "type": "object" + } }, "name": { "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should have the format of `transferOperations/some/unique/name`.", @@ -707,9 +819,16 @@ "error": { "$ref": "Status", "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "description": "Represents the transfer operation object.", + "type": "object", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + } } - }, - "id": "Operation" + } }, "TransferOptions": { "description": "TransferOptions uses three boolean parameters to define the actions\nto be performed on objects in a transfer.", @@ -734,14 +853,6 @@ "description": "Configuration for running a transfer.", "type": "object", "properties": { - "httpDataSource": { - "description": "An HTTP URL data source.", - "$ref": "HttpData" - }, - "objectConditions": { - "$ref": "ObjectConditions", - "description": "Only objects that satisfy these object conditions are included in the set\nof data source and data sink objects. Object conditions based on\nobjects' `lastModificationTime` do not exclude objects in a data sink." - }, "gcsDataSink": { "$ref": "GcsData", "description": "A Google Cloud Storage data sink." @@ -757,6 +868,14 @@ "awsS3DataSource": { "description": "An AWS S3 data source.", "$ref": "AwsS3Data" + }, + "httpDataSource": { + "$ref": "HttpData", + "description": "An HTTP URL data source." + }, + "objectConditions": { + "$ref": "ObjectConditions", + "description": "Only objects that satisfy these object conditions are included in the set\nof data source and data sink objects. Object conditions based on\nobjects' `lastModificationTime` do not exclude objects in a data sink." } }, "id": "TransferSpec" @@ -772,45 +891,45 @@ "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", "type": "object", "properties": { - "code": { - "type": "integer", - "format": "int32", - "description": "The status code, which should be an enum value of google.rpc.Code." - }, "message": { "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", "type": "string" }, "details": { - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", "items": { - "type": "object", "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" - } + }, + "type": "object" }, "type": "array" + }, + "code": { + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" } } }, "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", "type": "object", "properties": { - "nextPageToken": { - "description": "The standard List next-page token.", - "type": "string" - }, "operations": { "description": "A list of operations that matches the specified filter in the request.", "items": { "$ref": "Operation" }, "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" } }, - "id": "ListOperationsResponse", - "description": "The response message for Operations.ListOperations." + "id": "ListOperationsResponse" }, "GoogleServiceAccount": { "description": "Google service account", @@ -824,12 +943,10 @@ "id": "GoogleServiceAccount" }, "TimeOfDay": { + "id": "TimeOfDay", + "description": "Represents a time of day. The date and time zone are either not significant\nor are specified elsewhere. An API may choose to allow leap seconds. Related\ntypes are google.type.Date and `google.protobuf.Timestamp`.", + "type": "object", "properties": { - "minutes": { - "format": "int32", - "description": "Minutes of hour of day. Must be from 0 to 59.", - "type": "integer" - }, "hours": { "format": "int32", "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose\nto allow the value \"24:00:00\" for scenarios like business closing time.", @@ -844,11 +961,13 @@ "format": "int32", "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may\nallow the value 60 if it allows leap-seconds.", "type": "integer" + }, + "minutes": { + "format": "int32", + "description": "Minutes of hour of day. Must be from 0 to 59.", + "type": "integer" } - }, - "id": "TimeOfDay", - "description": "Represents a time of day. The date and time zone are either not significant\nor are specified elsewhere. An API may choose to allow leap seconds. Related\ntypes are google.type.Date and `google.protobuf.Timestamp`.", - "type": "object" + } }, "ErrorLogEntry": { "id": "ErrorLogEntry", @@ -869,7 +988,6 @@ } }, "TransferJob": { - "id": "TransferJob", "description": "This resource represents the configuration of a transfer job that runs\nperiodically.", "type": "object", "properties": { @@ -877,18 +995,16 @@ "description": "A description provided by the user for the job. Its max length is 1024\nbytes when Unicode-encoded.", "type": "string" }, + "transferSpec": { + "description": "Transfer specification.", + "$ref": "TransferSpec" + }, "creationTime": { "format": "google-datetime", "description": "This field cannot be changed by user requests.", "type": "string" }, - "transferSpec": { - "$ref": "TransferSpec", - "description": "Transfer specification.\nRequired." - }, "status": { - "description": "Status of the job. This value MUST be specified for\n`CreateTransferJobRequests`.\n\nNOTE: The effect of the new job status takes place during a subsequent job\nrun. For example, if you change the job status from `ENABLED` to\n`DISABLED`, and an operation spawned by the transfer is running, the status\nchange would not affect the current operation.", - "type": "string", "enumDescriptions": [ "Zero is an illegal value.", "New transfers will be performed based on the schedule.", @@ -900,178 +1016,62 @@ "ENABLED", "DISABLED", "DELETED" - ] + ], + "description": "Status of the job. This value MUST be specified for\n`CreateTransferJobRequests`.\n\nNOTE: The effect of the new job status takes place during a subsequent job\nrun. For example, if you change the job status from `ENABLED` to\n`DISABLED`, and an operation spawned by the transfer is running, the status\nchange would not affect the current operation.", + "type": "string" }, "schedule": { "$ref": "Schedule", - "description": "Schedule specification.\nRequired." + "description": "Schedule specification." + }, + "name": { + "description": "A globally unique name assigned by Storage Transfer Service when the\njob is created. This field should be left empty in requests to create a new\ntransfer job; otherwise, the requests result in an `INVALID_ARGUMENT`\nerror.", + "type": "string" }, "deletionTime": { "format": "google-datetime", "description": "This field cannot be changed by user requests.", "type": "string" }, - "name": { - "description": "A globally unique name assigned by Storage Transfer Service when the\njob is created. This field should be left empty in requests to create a new\ntransfer job; otherwise, the requests result in an `INVALID_ARGUMENT`\nerror.", + "projectId": { + "description": "The ID of the Google Cloud Platform Console project that owns the job.", "type": "string" }, "lastModificationTime": { "format": "google-datetime", "description": "This field cannot be changed by user requests.", "type": "string" - }, - "projectId": { - "type": "string", - "description": "The ID of the Google Cloud Platform Console project that owns the job.\nRequired." - } - } - }, - "Schedule": { - "description": "Transfers can be scheduled to recur or to run just once.", - "type": "object", - "properties": { - "startTimeOfDay": { - "description": "The time in UTC at which the transfer will be scheduled to start in a day.\nTransfers may start later than this time. If not specified, recurring and\none-time transfers that are scheduled to run today will run immediately;\nrecurring transfers that are scheduled to run on a future date will start\nat approximately midnight UTC on that date. Note that when configuring a\ntransfer with the Cloud Platform Console, the transfer's start time in a\nday is specified in your local timezone.", - "$ref": "TimeOfDay" - }, - "scheduleStartDate": { - "$ref": "Date", - "description": "The first day the recurring transfer is scheduled to run. If\n`scheduleStartDate` is in the past, the transfer will run for the first\ntime on the following day.\nRequired." - }, - "scheduleEndDate": { - "$ref": "Date", - "description": "The last day the recurring transfer will be run. If `scheduleEndDate`\nis the same as `scheduleStartDate`, the transfer will be executed only\nonce." } }, - "id": "Schedule" - }, - "Date": { - "description": "Represents a whole calendar date, e.g. date of birth. The time of day and\ntime zone are either specified elsewhere or are not significant. The date\nis relative to the Proleptic Gregorian Calendar. The day may be 0 to\nrepresent a year and month where the day is not significant, e.g. credit card\nexpiration date. The year may be 0 to represent a month and day independent\nof year, e.g. anniversary date. Related types are google.type.TimeOfDay\nand `google.protobuf.Timestamp`.", - "type": "object", - "properties": { - "day": { - "type": "integer", - "format": "int32", - "description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0\nif specifying a year/month where the day is not significant." - }, - "year": { - "format": "int32", - "description": "Year of date. Must be from 1 to 9999, or 0 if specifying a date without\na year.", - "type": "integer" - }, - "month": { - "format": "int32", - "description": "Month of year. Must be from 1 to 12.", - "type": "integer" - } - }, - "id": "Date" - }, - "TransferOperation": { - "description": "A description of the execution of a transfer.", - "type": "object", - "properties": { - "transferSpec": { - "description": "Transfer specification.\nRequired.", - "$ref": "TransferSpec" - }, - "counters": { - "$ref": "TransferCounters", - "description": "Information about the progress of the transfer operation." - }, - "status": { - "description": "Status of the transfer operation.", - "type": "string", - "enumDescriptions": [ - "Zero is an illegal value.", - "In progress.", - "Paused.", - "Completed successfully.", - "Terminated due to an unrecoverable failure.", - "Aborted by the user." - ], - "enum": [ - "STATUS_UNSPECIFIED", - "IN_PROGRESS", - "PAUSED", - "SUCCESS", - "FAILED", - "ABORTED" - ] - }, - "errorBreakdowns": { - "description": "Summarizes errors encountered with sample error log entries.", - "items": { - "$ref": "ErrorSummary" - }, - "type": "array" - }, - "name": { - "description": "A globally unique ID assigned by the system.", - "type": "string" - }, - "projectId": { - "description": "The ID of the Google Cloud Platform Console project that owns the operation.\nRequired.", - "type": "string" - }, - "endTime": { - "format": "google-datetime", - "description": "End time of this transfer execution.", - "type": "string" - }, - "startTime": { - "format": "google-datetime", - "description": "Start time of this transfer execution.", - "type": "string" - }, - "transferJobName": { - "type": "string", - "description": "The name of the transfer job that triggers this transfer operation." - } - }, - "id": "TransferOperation" - }, - "AwsS3Data": { - "description": "An AwsS3Data can be a data source, but not a data sink.\nIn an AwsS3Data, an object's name is the S3 object's key name.", - "type": "object", - "properties": { - "bucketName": { - "description": "S3 Bucket name (see\n[Creating a bucket](http://docs.aws.amazon.com/AmazonS3/latest/dev/create-bucket-get-location-example.html)).\nRequired.", - "type": "string" - }, - "awsAccessKey": { - "description": "AWS access key used to sign the API requests to the AWS S3 bucket.\nPermissions on the bucket must be granted to the access ID of the\nAWS access key.\nRequired.", - "$ref": "AwsAccessKey" - } - }, - "id": "AwsS3Data" - }, - "AwsAccessKey": { - "properties": { - "accessKeyId": { - "description": "AWS access key ID.\nRequired.", - "type": "string" - }, - "secretAccessKey": { - "type": "string", - "description": "AWS secret access key. This field is not returned in RPC responses.\nRequired." - } - }, - "id": "AwsAccessKey", - "description": "AWS access key (see\n[AWS Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)).", - "type": "object" - }, - "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", - "type": "object", - "properties": {}, - "id": "Empty" + "id": "TransferJob" } }, "protocol": "rest", "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" }, - "version": "v1" + "version": "v1", + "baseUrl": "https://storagetransfer.googleapis.com/", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "servicePath": "", + "description": "Transfers data from external data sources to a Google Cloud Storage bucket or between Google Cloud Storage buckets.", + "kind": "discovery#restDescription", + "rootUrl": "https://storagetransfer.googleapis.com/", + "basePath": "", + "ownerDomain": "google.com", + "name": "storagetransfer", + "batchPath": "batch", + "revision": "20170921", + "id": "storagetransfer:v1", + "documentationLink": "https://cloud.google.com/storage/transfer", + "title": "Google Storage Transfer API" } diff --git a/vendor/google.golang.org/api/storagetransfer/v1/storagetransfer-gen.go b/vendor/google.golang.org/api/storagetransfer/v1/storagetransfer-gen.go index 1e3476317..366c196f0 100644 --- a/vendor/google.golang.org/api/storagetransfer/v1/storagetransfer-gen.go +++ b/vendor/google.golang.org/api/storagetransfer/v1/storagetransfer-gen.go @@ -566,9 +566,10 @@ func (s *GoogleServiceAccount) MarshalJSON() ([]byte, error) { // // For an example of a valid TSV file, see // [Transferring data from -// URLs](https://cloud.google.com/storage/transfer/#urls) +// URLs](https://cloud.google.com/storage/transfer/create-url-list). // -// When transferring data based on a URL list, keep the following in +// Whe +// n transferring data based on a URL list, keep the following in // mind: // // * When an object located at `http(s)://hostname:port/` is @@ -819,8 +820,8 @@ func (s *ObjectConditions) MarshalJSON() ([]byte, error) { type Operation struct { // Done: If the value is `false`, it means the operation is still in // progress. - // If true, the operation is completed, and either `error` or `response` - // is + // If `true`, the operation is completed, and either `error` or + // `response` is // available. Done bool `json:"done,omitempty"` @@ -1031,9 +1032,9 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in @@ -1236,11 +1237,9 @@ type TransferJob struct { // ProjectId: The ID of the Google Cloud Platform Console project that // owns the job. - // Required. ProjectId string `json:"projectId,omitempty"` // Schedule: Schedule specification. - // Required. Schedule *Schedule `json:"schedule,omitempty"` // Status: Status of the job. This value MUST be specified @@ -1266,7 +1265,6 @@ type TransferJob struct { Status string `json:"status,omitempty"` // TransferSpec: Transfer specification. - // Required. TransferSpec *TransferSpec `json:"transferSpec,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -1468,7 +1466,13 @@ type UpdateTransferJobRequest struct { // Required. ProjectId string `json:"projectId,omitempty"` - // TransferJob: The job to update. + // TransferJob: The job to update. `transferJob` is expected to specify + // only three fields: + // `description`, `transferSpec`, and `status`. An + // UpdateTransferJobRequest + // that specifies other fields will be rejected with an + // error + // `INVALID_ARGUMENT`. // Required. TransferJob *TransferJob `json:"transferJob,omitempty"` diff --git a/vendor/google.golang.org/api/streetviewpublish/v1/streetviewpublish-api.json b/vendor/google.golang.org/api/streetviewpublish/v1/streetviewpublish-api.json new file mode 100644 index 000000000..d7c6e71e5 --- /dev/null +++ b/vendor/google.golang.org/api/streetviewpublish/v1/streetviewpublish-api.json @@ -0,0 +1,688 @@ +{ + "basePath": "", + "id": "streetviewpublish:v1", + "documentationLink": "https://developers.google.com/streetview/publish/", + "revision": "20170928", + "discoveryVersion": "v1", + "version_module": true, + "schemas": { + "PhotoResponse": { + "description": "Response payload for a single\nPhoto\nin batch operations including\nBatchGetPhotos\nand\nBatchUpdatePhotos.", + "type": "object", + "properties": { + "status": { + "description": "The status for the operation to get or update a single photo in the batch\nrequest.", + "$ref": "Status" + }, + "photo": { + "$ref": "Photo", + "description": "The Photo resource, if the request\nwas successful." + } + }, + "id": "PhotoResponse" + }, + "Connection": { + "description": "A connection is the link from a source photo to a destination photo.", + "type": "object", + "properties": { + "target": { + "$ref": "PhotoId", + "description": "Required. The destination of the connection from the containing photo to\nanother photo." + } + }, + "id": "Connection" + }, + "BatchUpdatePhotosResponse": { + "description": "Response to batch update of metadata of one or more\nPhotos.", + "type": "object", + "properties": { + "results": { + "description": "List of results for each individual\nPhoto updated, in the same order as\nthe request.", + "type": "array", + "items": { + "$ref": "PhotoResponse" + } + } + }, + "id": "BatchUpdatePhotosResponse" + }, + "BatchDeletePhotosResponse": { + "description": "Response to batch delete of one or more\nPhotos.", + "type": "object", + "properties": { + "status": { + "description": "The status for the operation to delete a single\nPhoto in the batch request.", + "type": "array", + "items": { + "$ref": "Status" + } + } + }, + "id": "BatchDeletePhotosResponse" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", + "type": "object", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + } + } + } + }, + "id": "Status" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object", + "properties": {}, + "id": "Empty" + }, + "Level": { + "description": "Level information containing level number and its corresponding name.", + "type": "object", + "properties": { + "name": { + "description": "Required. A name assigned to this Level, restricted to 3 characters.\nConsider how the elevator buttons would be labeled for this level if there\nwas an elevator.", + "type": "string" + }, + "number": { + "description": "Floor number, used for ordering. 0 indicates the ground level, 1 indicates\nthe first level above ground level, -1 indicates the first level under\nground level. Non-integer values are OK.", + "format": "double", + "type": "number" + } + }, + "id": "Level" + }, + "BatchGetPhotosResponse": { + "description": "Response to batch get of Photos.", + "type": "object", + "properties": { + "results": { + "description": "List of results for each individual\nPhoto requested, in the same order as\nthe requests in\nBatchGetPhotos.", + "type": "array", + "items": { + "$ref": "PhotoResponse" + } + } + }, + "id": "BatchGetPhotosResponse" + }, + "Place": { + "description": "Place metadata for an entity.", + "type": "object", + "properties": { + "placeId": { + "description": "Place identifier, as described in\nhttps://developers.google.com/places/place-id.", + "type": "string" + } + }, + "id": "Place" + }, + "UploadRef": { + "description": "Upload reference for media files.", + "type": "object", + "properties": { + "uploadUrl": { + "description": "Required. An upload reference should be unique for each user. It follows\nthe form:\n\"https://streetviewpublish.googleapis.com/media/user/{account_id}/photo/{upload_reference}\"", + "type": "string" + } + }, + "id": "UploadRef" + }, + "LatLng": { + "id": "LatLng", + "description": "An object representing a latitude/longitude pair. This is expressed as a pair\nof doubles representing degrees latitude and degrees longitude. Unless\nspecified otherwise, this must conform to the\n\u003ca href=\"http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf\"\u003eWGS84\nstandard\u003c/a\u003e. Values must be within normalized ranges.\n\nExample of normalization code in Python:\n\n def NormalizeLongitude(longitude):\n \"\"\"Wraps decimal degrees longitude to [-180.0, 180.0].\"\"\"\n q, r = divmod(longitude, 360.0)\n if r \u003e 180.0 or (r == 180.0 and q \u003c= -1.0):\n return r - 360.0\n return r\n\n def NormalizeLatLng(latitude, longitude):\n \"\"\"Wraps decimal degrees latitude and longitude to\n [-90.0, 90.0] and [-180.0, 180.0], respectively.\"\"\"\n r = latitude % 360.0\n if r \u003c= 90.0:\n return r, NormalizeLongitude(longitude)\n elif r \u003e= 270.0:\n return r - 360, NormalizeLongitude(longitude)\n else:\n return 180 - r, NormalizeLongitude(longitude + 180.0)\n\n assert 180.0 == NormalizeLongitude(180.0)\n assert -180.0 == NormalizeLongitude(-180.0)\n assert -179.0 == NormalizeLongitude(181.0)\n assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)\n assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)\n assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)\n assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)\n assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)\n assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)\n assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)\n assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)\n assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)\n assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)", + "type": "object", + "properties": { + "latitude": { + "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", + "format": "double", + "type": "number" + }, + "longitude": { + "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].", + "format": "double", + "type": "number" + } + } + }, + "BatchDeletePhotosRequest": { + "id": "BatchDeletePhotosRequest", + "description": "Request to delete multiple Photos.", + "type": "object", + "properties": { + "photoIds": { + "description": "Required. IDs of the Photos. For HTTP\nGET requests, the URL query parameter should be\n`photoIds=\u003cid1\u003e&photoIds=\u003cid2\u003e&...`.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "UpdatePhotoRequest": { + "description": "Request to update the metadata of a\nPhoto. Updating the pixels of a photo\nis not supported.", + "type": "object", + "properties": { + "photo": { + "$ref": "Photo", + "description": "Required. Photo object containing the\nnew metadata." + }, + "updateMask": { + "description": "Mask that identifies fields on the photo metadata to update.\nIf not present, the old Photo\nmetadata will be entirely replaced with the\nnew Photo metadata in this request.\nThe update fails if invalid fields are specified. Multiple fields can be\nspecified in a comma-delimited list.\n\nThe following fields are valid:\n\n* `pose.heading`\n* `pose.latLngPair`\n* `pose.pitch`\n* `pose.roll`\n* `pose.level`\n* `pose.altitude`\n* `connections`\n* `places`\n\n\n\u003caside class=\"note\"\u003e\u003cb\u003eNote:\u003c/b\u003e Repeated fields in\nupdateMask\nmean the entire set of repeated values will be replaced with the new\ncontents. For example, if\nupdateMask\ncontains `connections` and `UpdatePhotoRequest.photo.connections` is empty,\nall connections will be removed.\u003c/aside\u003e", + "format": "google-fieldmask", + "type": "string" + } + }, + "id": "UpdatePhotoRequest" + }, + "PhotoId": { + "type": "object", + "properties": { + "id": { + "description": "Required. A unique identifier for a photo.", + "type": "string" + } + }, + "id": "PhotoId", + "description": "Identifier for a Photo." + }, + "Pose": { + "description": "Raw pose measurement for an entity.", + "type": "object", + "properties": { + "level": { + "description": "Level (the floor in a building) used to configure vertical navigation.", + "$ref": "Level" + }, + "heading": { + "description": "Compass heading, measured at the center of the photo in degrees clockwise\nfrom North. Value must be \u003e=0 and \u003c360.\nNaN indicates an unmeasured quantity.", + "format": "double", + "type": "number" + }, + "altitude": { + "description": "Altitude of the pose in meters above ground level (as defined by WGS84).\nNaN indicates an unmeasured quantity.", + "format": "double", + "type": "number" + }, + "pitch": { + "description": "Pitch, measured at the center of the photo in degrees. Value must be \u003e=-90\nand \u003c= 90. A value of -90 means looking directly down, and a value of 90\nmeans looking directly up.\nNaN indicates an unmeasured quantity.", + "format": "double", + "type": "number" + }, + "latLngPair": { + "$ref": "LatLng", + "description": "Latitude and longitude pair of the pose, as explained here:\nhttps://cloud.google.com/datastore/docs/reference/rest/Shared.Types/LatLng\nWhen creating a Photo, if the\nlatitude and longitude pair are not provided here, the geolocation from the\nexif header will be used. If the latitude and longitude pair is not\nprovided and cannot be found in the exif header, the create photo process\nwill fail." + }, + "roll": { + "type": "number", + "description": "Roll, measured in degrees. Value must be \u003e= 0 and \u003c360. A value of 0\nmeans level with the horizon.\nNaN indicates an unmeasured quantity.", + "format": "double" + } + }, + "id": "Pose" + }, + "BatchUpdatePhotosRequest": { + "description": "Request to update the metadata of photos.\nUpdating the pixels of photos is not supported.", + "type": "object", + "properties": { + "updatePhotoRequests": { + "type": "array", + "items": { + "$ref": "UpdatePhotoRequest" + }, + "description": "Required. List of\nUpdatePhotoRequests." + } + }, + "id": "BatchUpdatePhotosRequest" + }, + "ListPhotosResponse": { + "description": "Response to list all photos that belong to a user.", + "type": "object", + "properties": { + "photos": { + "type": "array", + "items": { + "$ref": "Photo" + }, + "description": "List of photos. The maximum number of items returned is based on the\npageSize field\nin the request." + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more\nresults in the list.", + "type": "string" + } + }, + "id": "ListPhotosResponse" + }, + "Photo": { + "description": "Photo is used to store 360 photos along with photo metadata.", + "type": "object", + "properties": { + "downloadUrl": { + "description": "Output only. The download URL for the photo bytes. This field is set only\nwhen\nGetPhotoRequest.view\nis set to\nPhotoView.INCLUDE_DOWNLOAD_URL.", + "type": "string" + }, + "connections": { + "description": "Connections to other photos. A connection represents the link from this\nphoto to another photo.", + "type": "array", + "items": { + "$ref": "Connection" + } + }, + "places": { + "description": "Places where this photo belongs.", + "type": "array", + "items": { + "$ref": "Place" + } + }, + "uploadReference": { + "$ref": "UploadRef", + "description": "Required when creating a photo. Input only. The resource URL where the\nphoto bytes are uploaded to." + }, + "photoId": { + "$ref": "PhotoId", + "description": "Required when updating a photo. Output only when creating a photo.\nIdentifier for the photo, which is unique among all photos in\nGoogle." + }, + "pose": { + "$ref": "Pose", + "description": "Pose of the photo." + }, + "shareLink": { + "description": "Output only. The share link for the photo.", + "type": "string" + }, + "captureTime": { + "description": "Absolute time when the photo was captured.\nWhen the photo has no exif timestamp, this is used to set a timestamp in\nthe photo metadata.", + "format": "google-datetime", + "type": "string" + }, + "thumbnailUrl": { + "description": "Output only. The thumbnail URL for showing a preview of the given photo.", + "type": "string" + }, + "viewCount": { + "description": "Output only. View count of the photo.", + "format": "int64", + "type": "string" + } + }, + "id": "Photo" + } + }, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "protocol": "rest", + "canonicalName": "Street View Publish", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/streetviewpublish": { + "description": "Publish and manage your 360 photos on Google Street View" + } + } + } + }, + "rootUrl": "https://streetviewpublish.googleapis.com/", + "ownerDomain": "google.com", + "name": "streetviewpublish", + "batchPath": "batch", + "fullyEncodeReservedExpansion": true, + "title": "Street View Publish API", + "ownerName": "Google", + "resources": { + "photos": { + "methods": { + "batchUpdate": { + "response": { + "$ref": "BatchUpdatePhotosResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/streetviewpublish" + ], + "flatPath": "v1/photos:batchUpdate", + "path": "v1/photos:batchUpdate", + "id": "streetviewpublish.photos.batchUpdate", + "request": { + "$ref": "BatchUpdatePhotosRequest" + }, + "description": "Updates the metadata of Photos, such\nas pose, place association, connections, etc. Changing the pixels of photos\nis not supported.\n\nNote that if\nBatchUpdatePhotos\nfails, either critical fields are missing or there was an authentication\nerror. Even if\nBatchUpdatePhotos\nsucceeds, there may have been failures for single photos in the batch.\nThese failures will be specified in each\nPhotoResponse.status\nin\nBatchUpdatePhotosResponse.results.\nSee\nUpdatePhoto\nfor specific failures that can occur per photo.\n\nOnly the fields specified in\nupdateMask\nfield are used. If `updateMask` is not present, the update applies to all\nfields.\n\n\u003caside class=\"note\"\u003e\u003cb\u003eNote:\u003c/b\u003e To update\nPose.altitude,\nPose.latLngPair has to be\nfilled as well. Otherwise, the request will fail.\u003c/aside\u003e" + }, + "batchDelete": { + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "BatchDeletePhotosResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/streetviewpublish" + ], + "parameters": {}, + "flatPath": "v1/photos:batchDelete", + "id": "streetviewpublish.photos.batchDelete", + "path": "v1/photos:batchDelete", + "description": "Deletes a list of Photos and their\nmetadata.\n\nNote that if\nBatchDeletePhotos\nfails, either critical fields are missing or there was an authentication\nerror. Even if\nBatchDeletePhotos\nsucceeds, there may have been failures for single photos in the batch.\nThese failures will be specified in each\nPhotoResponse.status\nin\nBatchDeletePhotosResponse.results.\nSee\nDeletePhoto\nfor specific failures that can occur per photo.", + "request": { + "$ref": "BatchDeletePhotosRequest" + } + }, + "batchGet": { + "flatPath": "v1/photos:batchGet", + "id": "streetviewpublish.photos.batchGet", + "path": "v1/photos:batchGet", + "description": "Gets the metadata of the specified\nPhoto batch.\n\nNote that if\nBatchGetPhotos\nfails, either critical fields are missing or there was an authentication\nerror. Even if\nBatchGetPhotos\nsucceeds, there may have been failures for single photos in the batch.\nThese failures will be specified in each\nPhotoResponse.status\nin\nBatchGetPhotosResponse.results.\nSee\nGetPhoto\nfor specific failures that can occur per photo.", + "httpMethod": "GET", + "response": { + "$ref": "BatchGetPhotosResponse" + }, + "parameterOrder": [], + "parameters": { + "view": { + "location": "query", + "enum": [ + "BASIC", + "INCLUDE_DOWNLOAD_URL" + ], + "description": "Specifies if a download URL for the photo bytes should be returned in the\nPhoto response.", + "type": "string" + }, + "photoIds": { + "location": "query", + "description": "Required. IDs of the Photos. For HTTP\nGET requests, the URL query parameter should be\n`photoIds=\u003cid1\u003e&photoIds=\u003cid2\u003e&...`.", + "type": "string", + "repeated": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/streetviewpublish" + ] + }, + "list": { + "flatPath": "v1/photos", + "path": "v1/photos", + "id": "streetviewpublish.photos.list", + "description": "Lists all the Photos that belong to\nthe user.", + "response": { + "$ref": "ListPhotosResponse" + }, + "parameterOrder": [], + "httpMethod": "GET", + "parameters": { + "filter": { + "location": "query", + "description": "The filter expression. For example: `placeId=ChIJj61dQgK6j4AR4GeTYWZsKWw`.\n\nThe only filter supported at the moment is `placeId`.", + "type": "string" + }, + "pageToken": { + "type": "string", + "location": "query", + "description": "The\nnextPageToken\nvalue returned from a previous\nListPhotos\nrequest, if any." + }, + "pageSize": { + "location": "query", + "description": "The maximum number of photos to return.\n`pageSize` must be non-negative. If `pageSize` is zero or is not provided,\nthe default page size of 100 will be used.\nThe number of photos returned in the response may be less than `pageSize`\nif the number of photos that belong to the user is less than `pageSize`.", + "format": "int32", + "type": "integer" + }, + "view": { + "location": "query", + "enum": [ + "BASIC", + "INCLUDE_DOWNLOAD_URL" + ], + "description": "Specifies if a download URL for the photos bytes should be returned in the\nPhotos response.", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/streetviewpublish" + ] + } + } + }, + "photo": { + "methods": { + "delete": { + "path": "v1/photo/{photoId}", + "id": "streetviewpublish.photo.delete", + "description": "Deletes a Photo and its metadata.\n\nThis method returns the following error codes:\n\n* google.rpc.Code.PERMISSION_DENIED if the requesting user did not\ncreate the requested photo.\n* google.rpc.Code.NOT_FOUND if the photo ID does not exist.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "photoId" + ], + "httpMethod": "DELETE", + "parameters": { + "photoId": { + "location": "path", + "description": "Required. ID of the Photo.", + "required": true, + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/streetviewpublish" + ], + "flatPath": "v1/photo/{photoId}" + }, + "get": { + "response": { + "$ref": "Photo" + }, + "parameterOrder": [ + "photoId" + ], + "httpMethod": "GET", + "parameters": { + "photoId": { + "location": "path", + "description": "Required. ID of the Photo.", + "required": true, + "type": "string" + }, + "view": { + "enum": [ + "BASIC", + "INCLUDE_DOWNLOAD_URL" + ], + "description": "Specifies if a download URL for the photo bytes should be returned in the\nPhoto response.", + "type": "string", + "location": "query" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/streetviewpublish" + ], + "flatPath": "v1/photo/{photoId}", + "path": "v1/photo/{photoId}", + "id": "streetviewpublish.photo.get", + "description": "Gets the metadata of the specified\nPhoto.\n\nThis method returns the following error codes:\n\n* google.rpc.Code.PERMISSION_DENIED if the requesting user did not\ncreate the requested Photo.\n* google.rpc.Code.NOT_FOUND if the requested\nPhoto does not exist." + }, + "update": { + "description": "Updates the metadata of a Photo, such\nas pose, place association, connections, etc. Changing the pixels of a\nphoto is not supported.\n\nOnly the fields specified in the\nupdateMask\nfield are used. If `updateMask` is not present, the update applies to all\nfields.\n\n\u003caside class=\"note\"\u003e\u003cb\u003eNote:\u003c/b\u003e To update\nPose.altitude,\nPose.latLngPair has to be\nfilled as well. Otherwise, the request will fail.\u003c/aside\u003e\n\nThis method returns the following error codes:\n\n* google.rpc.Code.PERMISSION_DENIED if the requesting user did not\ncreate the requested photo.\n* google.rpc.Code.INVALID_ARGUMENT if the request is malformed.\n* google.rpc.Code.NOT_FOUND if the requested photo does not exist.", + "request": { + "$ref": "Photo" + }, + "response": { + "$ref": "Photo" + }, + "parameterOrder": [ + "id" + ], + "httpMethod": "PUT", + "scopes": [ + "https://www.googleapis.com/auth/streetviewpublish" + ], + "parameters": { + "id": { + "location": "path", + "description": "Required. A unique identifier for a photo.", + "required": true, + "type": "string" + }, + "updateMask": { + "type": "string", + "location": "query", + "description": "Mask that identifies fields on the photo metadata to update.\nIf not present, the old Photo\nmetadata will be entirely replaced with the\nnew Photo metadata in this request.\nThe update fails if invalid fields are specified. Multiple fields can be\nspecified in a comma-delimited list.\n\nThe following fields are valid:\n\n* `pose.heading`\n* `pose.latLngPair`\n* `pose.pitch`\n* `pose.roll`\n* `pose.level`\n* `pose.altitude`\n* `connections`\n* `places`\n\n\n\u003caside class=\"note\"\u003e\u003cb\u003eNote:\u003c/b\u003e Repeated fields in\nupdateMask\nmean the entire set of repeated values will be replaced with the new\ncontents. For example, if\nupdateMask\ncontains `connections` and `UpdatePhotoRequest.photo.connections` is empty,\nall connections will be removed.\u003c/aside\u003e", + "format": "google-fieldmask" + } + }, + "flatPath": "v1/photo/{id}", + "path": "v1/photo/{id}", + "id": "streetviewpublish.photo.update" + }, + "create": { + "flatPath": "v1/photo", + "path": "v1/photo", + "id": "streetviewpublish.photo.create", + "request": { + "$ref": "Photo" + }, + "description": "After the client finishes uploading the photo with the returned\nUploadRef,\nCreatePhoto\npublishes the uploaded Photo to\nStreet View on Google Maps.\n\nCurrently, the only way to set heading, pitch, and roll in CreatePhoto is\nthrough the [Photo Sphere XMP\nmetadata](https://developers.google.com/streetview/spherical-metadata) in\nthe photo bytes. The `pose.heading`, `pose.pitch`, `pose.roll`,\n`pose.altitude`, and `pose.level` fields in Pose are ignored for\nCreatePhoto.\n\nThis method returns the following error codes:\n\n* google.rpc.Code.INVALID_ARGUMENT if the request is malformed.\n* google.rpc.Code.NOT_FOUND if the upload reference does not exist.\n* google.rpc.Code.RESOURCE_EXHAUSTED if the account has reached the\nstorage limit.", + "response": { + "$ref": "Photo" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/streetviewpublish" + ] + }, + "startUpload": { + "response": { + "$ref": "UploadRef" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/streetviewpublish" + ], + "flatPath": "v1/photo:startUpload", + "path": "v1/photo:startUpload", + "id": "streetviewpublish.photo.startUpload", + "request": { + "$ref": "Empty" + }, + "description": "Creates an upload session to start uploading photo bytes. The upload URL of\nthe returned UploadRef is used to\nupload the bytes for the Photo.\n\nIn addition to the photo requirements shown in\nhttps://support.google.com/maps/answer/7012050?hl=en&ref_topic=6275604,\nthe photo must also meet the following requirements:\n\n* Photo Sphere XMP metadata must be included in the photo medadata. See\nhttps://developers.google.com/streetview/spherical-metadata for the\nrequired fields.\n* The pixel size of the photo must meet the size requirements listed in\nhttps://support.google.com/maps/answer/7012050?hl=en&ref_topic=6275604, and\nthe photo must be a full 360 horizontally.\n\nAfter the upload is complete, the\nUploadRef is used with\nCreatePhoto\nto create the Photo object entry." + } + } + } + }, + "parameters": { + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, + "prettyPrint": { + "description": "Returns response with indentations and line breaks.", + "type": "boolean", + "default": "true", + "location": "query" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "type": "string", + "location": "query" + }, + "uploadType": { + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, + "$.xgafv": { + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + }, + "alt": { + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ], + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query" + }, + "access_token": { + "type": "string", + "location": "query", + "description": "OAuth access token." + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string", + "location": "query" + }, + "pp": { + "location": "query", + "description": "Pretty-print response.", + "type": "boolean", + "default": "true" + }, + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", + "location": "query" + }, + "oauth_token": { + "type": "string", + "location": "query", + "description": "OAuth 2.0 token for the current user." + } + }, + "version": "v1", + "baseUrl": "https://streetviewpublish.googleapis.com/", + "servicePath": "", + "kind": "discovery#restDescription", + "description": "Publishes 360 photos to Google Maps, along with position, orientation, and connectivity metadata. Apps can offer an interface for positioning, connecting, and uploading user-generated Street View images.\n" +} diff --git a/vendor/google.golang.org/api/streetviewpublish/v1/streetviewpublish-gen.go b/vendor/google.golang.org/api/streetviewpublish/v1/streetviewpublish-gen.go new file mode 100644 index 000000000..836c8cd5e --- /dev/null +++ b/vendor/google.golang.org/api/streetviewpublish/v1/streetviewpublish-gen.go @@ -0,0 +1,2458 @@ +// Package streetviewpublish provides access to the Street View Publish API. +// +// See https://developers.google.com/streetview/publish/ +// +// Usage example: +// +// import "google.golang.org/api/streetviewpublish/v1" +// ... +// streetviewpublishService, err := streetviewpublish.New(oauthHttpClient) +package streetviewpublish // import "google.golang.org/api/streetviewpublish/v1" + +import ( + "bytes" + "encoding/json" + "errors" + "fmt" + context "golang.org/x/net/context" + ctxhttp "golang.org/x/net/context/ctxhttp" + gensupport "google.golang.org/api/gensupport" + googleapi "google.golang.org/api/googleapi" + "io" + "net/http" + "net/url" + "strconv" + "strings" +) + +// Always reference these packages, just in case the auto-generated code +// below doesn't. +var _ = bytes.NewBuffer +var _ = strconv.Itoa +var _ = fmt.Sprintf +var _ = json.NewDecoder +var _ = io.Copy +var _ = url.Parse +var _ = gensupport.MarshalJSON +var _ = googleapi.Version +var _ = errors.New +var _ = strings.Replace +var _ = context.Canceled +var _ = ctxhttp.Do + +const apiId = "streetviewpublish:v1" +const apiName = "streetviewpublish" +const apiVersion = "v1" +const basePath = "https://streetviewpublish.googleapis.com/" + +// OAuth2 scopes used by this API. +const ( + // Publish and manage your 360 photos on Google Street View + StreetviewpublishScope = "https://www.googleapis.com/auth/streetviewpublish" +) + +func New(client *http.Client) (*Service, error) { + if client == nil { + return nil, errors.New("client is nil") + } + s := &Service{client: client, BasePath: basePath} + s.Photo = NewPhotoService(s) + s.Photos = NewPhotosService(s) + return s, nil +} + +type Service struct { + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + + Photo *PhotoService + + Photos *PhotosService +} + +func (s *Service) userAgent() string { + if s.UserAgent == "" { + return googleapi.UserAgent + } + return googleapi.UserAgent + " " + s.UserAgent +} + +func NewPhotoService(s *Service) *PhotoService { + rs := &PhotoService{s: s} + return rs +} + +type PhotoService struct { + s *Service +} + +func NewPhotosService(s *Service) *PhotosService { + rs := &PhotosService{s: s} + return rs +} + +type PhotosService struct { + s *Service +} + +// BatchDeletePhotosRequest: Request to delete multiple Photos. +type BatchDeletePhotosRequest struct { + // PhotoIds: Required. IDs of the Photos. For HTTP + // GET requests, the URL query parameter should + // be + // `photoIds=&photoIds=&...`. + PhotoIds []string `json:"photoIds,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PhotoIds") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "PhotoIds") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BatchDeletePhotosRequest) MarshalJSON() ([]byte, error) { + type noMethod BatchDeletePhotosRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// BatchDeletePhotosResponse: Response to batch delete of one or +// more +// Photos. +type BatchDeletePhotosResponse struct { + // Status: The status for the operation to delete a single + // Photo in the batch request. + Status []*Status `json:"status,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Status") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Status") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BatchDeletePhotosResponse) MarshalJSON() ([]byte, error) { + type noMethod BatchDeletePhotosResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// BatchGetPhotosResponse: Response to batch get of Photos. +type BatchGetPhotosResponse struct { + // Results: List of results for each individual + // Photo requested, in the same order as + // the requests in + // BatchGetPhotos. + Results []*PhotoResponse `json:"results,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Results") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Results") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BatchGetPhotosResponse) MarshalJSON() ([]byte, error) { + type noMethod BatchGetPhotosResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// BatchUpdatePhotosRequest: Request to update the metadata of +// photos. +// Updating the pixels of photos is not supported. +type BatchUpdatePhotosRequest struct { + // UpdatePhotoRequests: Required. List of + // UpdatePhotoRequests. + UpdatePhotoRequests []*UpdatePhotoRequest `json:"updatePhotoRequests,omitempty"` + + // ForceSendFields is a list of field names (e.g. "UpdatePhotoRequests") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "UpdatePhotoRequests") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *BatchUpdatePhotosRequest) MarshalJSON() ([]byte, error) { + type noMethod BatchUpdatePhotosRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// BatchUpdatePhotosResponse: Response to batch update of metadata of +// one or more +// Photos. +type BatchUpdatePhotosResponse struct { + // Results: List of results for each individual + // Photo updated, in the same order as + // the request. + Results []*PhotoResponse `json:"results,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Results") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Results") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BatchUpdatePhotosResponse) MarshalJSON() ([]byte, error) { + type noMethod BatchUpdatePhotosResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Connection: A connection is the link from a source photo to a +// destination photo. +type Connection struct { + // Target: Required. The destination of the connection from the + // containing photo to + // another photo. + Target *PhotoId `json:"target,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Target") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Target") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Connection) MarshalJSON() ([]byte, error) { + type noMethod Connection + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Empty: A generic empty message that you can re-use to avoid defining +// duplicated +// empty messages in your APIs. A typical example is to use it as the +// request +// or the response type of an API method. For instance: +// +// service Foo { +// rpc Bar(google.protobuf.Empty) returns +// (google.protobuf.Empty); +// } +// +// The JSON representation for `Empty` is empty JSON object `{}`. +type Empty struct { + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` +} + +// LatLng: An object representing a latitude/longitude pair. This is +// expressed as a pair +// of doubles representing degrees latitude and degrees longitude. +// Unless +// specified otherwise, this must conform to the +// WGS84 +// st +// andard. Values must be within normalized ranges. +// +// Example of normalization code in Python: +// +// def NormalizeLongitude(longitude): +// """Wraps decimal degrees longitude to [-180.0, 180.0].""" +// q, r = divmod(longitude, 360.0) +// if r > 180.0 or (r == 180.0 and q <= -1.0): +// return r - 360.0 +// return r +// +// def NormalizeLatLng(latitude, longitude): +// """Wraps decimal degrees latitude and longitude to +// [-90.0, 90.0] and [-180.0, 180.0], respectively.""" +// r = latitude % 360.0 +// if r <= 90.0: +// return r, NormalizeLongitude(longitude) +// elif r >= 270.0: +// return r - 360, NormalizeLongitude(longitude) +// else: +// return 180 - r, NormalizeLongitude(longitude + 180.0) +// +// assert 180.0 == NormalizeLongitude(180.0) +// assert -180.0 == NormalizeLongitude(-180.0) +// assert -179.0 == NormalizeLongitude(181.0) +// assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) +// assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) +// assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) +// assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) +// assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) +// assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) +// assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) +// assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) +// assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) +// assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) +type LatLng struct { + // Latitude: The latitude in degrees. It must be in the range [-90.0, + // +90.0]. + Latitude float64 `json:"latitude,omitempty"` + + // Longitude: The longitude in degrees. It must be in the range [-180.0, + // +180.0]. + Longitude float64 `json:"longitude,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Latitude") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Latitude") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *LatLng) MarshalJSON() ([]byte, error) { + type noMethod LatLng + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *LatLng) UnmarshalJSON(data []byte) error { + type noMethod LatLng + var s1 struct { + Latitude gensupport.JSONFloat64 `json:"latitude"` + Longitude gensupport.JSONFloat64 `json:"longitude"` + *noMethod + } + s1.noMethod = (*noMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Latitude = float64(s1.Latitude) + s.Longitude = float64(s1.Longitude) + return nil +} + +// Level: Level information containing level number and its +// corresponding name. +type Level struct { + // Name: Required. A name assigned to this Level, restricted to 3 + // characters. + // Consider how the elevator buttons would be labeled for this level if + // there + // was an elevator. + Name string `json:"name,omitempty"` + + // Number: Floor number, used for ordering. 0 indicates the ground + // level, 1 indicates + // the first level above ground level, -1 indicates the first level + // under + // ground level. Non-integer values are OK. + Number float64 `json:"number,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Level) MarshalJSON() ([]byte, error) { + type noMethod Level + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *Level) UnmarshalJSON(data []byte) error { + type noMethod Level + var s1 struct { + Number gensupport.JSONFloat64 `json:"number"` + *noMethod + } + s1.noMethod = (*noMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Number = float64(s1.Number) + return nil +} + +// ListPhotosResponse: Response to list all photos that belong to a +// user. +type ListPhotosResponse struct { + // NextPageToken: Token to retrieve the next page of results, or empty + // if there are no more + // results in the list. + NextPageToken string `json:"nextPageToken,omitempty"` + + // Photos: List of photos. The maximum number of items returned is based + // on the + // pageSize field + // in the request. + Photos []*Photo `json:"photos,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "NextPageToken") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListPhotosResponse) MarshalJSON() ([]byte, error) { + type noMethod ListPhotosResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Photo: Photo is used to store 360 photos along with photo metadata. +type Photo struct { + // CaptureTime: Absolute time when the photo was captured. + // When the photo has no exif timestamp, this is used to set a timestamp + // in + // the photo metadata. + CaptureTime string `json:"captureTime,omitempty"` + + // Connections: Connections to other photos. A connection represents the + // link from this + // photo to another photo. + Connections []*Connection `json:"connections,omitempty"` + + // DownloadUrl: Output only. The download URL for the photo bytes. This + // field is set only + // when + // GetPhotoRequest.view + // is set to + // PhotoView.INCLUDE_DOWNLOAD_URL. + DownloadUrl string `json:"downloadUrl,omitempty"` + + // PhotoId: Required when updating a photo. Output only when creating a + // photo. + // Identifier for the photo, which is unique among all photos in + // Google. + PhotoId *PhotoId `json:"photoId,omitempty"` + + // Places: Places where this photo belongs. + Places []*Place `json:"places,omitempty"` + + // Pose: Pose of the photo. + Pose *Pose `json:"pose,omitempty"` + + // ShareLink: Output only. The share link for the photo. + ShareLink string `json:"shareLink,omitempty"` + + // ThumbnailUrl: Output only. The thumbnail URL for showing a preview of + // the given photo. + ThumbnailUrl string `json:"thumbnailUrl,omitempty"` + + // UploadReference: Required when creating a photo. Input only. The + // resource URL where the + // photo bytes are uploaded to. + UploadReference *UploadRef `json:"uploadReference,omitempty"` + + // ViewCount: Output only. View count of the photo. + ViewCount int64 `json:"viewCount,omitempty,string"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "CaptureTime") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CaptureTime") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Photo) MarshalJSON() ([]byte, error) { + type noMethod Photo + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PhotoId: Identifier for a Photo. +type PhotoId struct { + // Id: Required. A unique identifier for a photo. + Id string `json:"id,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Id") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *PhotoId) MarshalJSON() ([]byte, error) { + type noMethod PhotoId + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// PhotoResponse: Response payload for a single +// Photo +// in batch operations including +// BatchGetPhotos +// and +// BatchUpdatePhotos. +type PhotoResponse struct { + // Photo: The Photo resource, if the request + // was successful. + Photo *Photo `json:"photo,omitempty"` + + // Status: The status for the operation to get or update a single photo + // in the batch + // request. + Status *Status `json:"status,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Photo") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Photo") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *PhotoResponse) MarshalJSON() ([]byte, error) { + type noMethod PhotoResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Place: Place metadata for an entity. +type Place struct { + // PlaceId: Place identifier, as described + // in + // https://developers.google.com/places/place-id. + PlaceId string `json:"placeId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PlaceId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "PlaceId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Place) MarshalJSON() ([]byte, error) { + type noMethod Place + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Pose: Raw pose measurement for an entity. +type Pose struct { + // Altitude: Altitude of the pose in meters above ground level (as + // defined by WGS84). + // NaN indicates an unmeasured quantity. + Altitude float64 `json:"altitude,omitempty"` + + // Heading: Compass heading, measured at the center of the photo in + // degrees clockwise + // from North. Value must be >=0 and <360. + // NaN indicates an unmeasured quantity. + Heading float64 `json:"heading,omitempty"` + + // LatLngPair: Latitude and longitude pair of the pose, as explained + // here: + // https://cloud.google.com/datastore/docs/reference/rest/Shared.Ty + // pes/LatLng + // When creating a Photo, if the + // latitude and longitude pair are not provided here, the geolocation + // from the + // exif header will be used. If the latitude and longitude pair is + // not + // provided and cannot be found in the exif header, the create photo + // process + // will fail. + LatLngPair *LatLng `json:"latLngPair,omitempty"` + + // Level: Level (the floor in a building) used to configure vertical + // navigation. + Level *Level `json:"level,omitempty"` + + // Pitch: Pitch, measured at the center of the photo in degrees. Value + // must be >=-90 + // and <= 90. A value of -90 means looking directly down, and a value of + // 90 + // means looking directly up. + // NaN indicates an unmeasured quantity. + Pitch float64 `json:"pitch,omitempty"` + + // Roll: Roll, measured in degrees. Value must be >= 0 and <360. A value + // of 0 + // means level with the horizon. + // NaN indicates an unmeasured quantity. + Roll float64 `json:"roll,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Altitude") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Altitude") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Pose) MarshalJSON() ([]byte, error) { + type noMethod Pose + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *Pose) UnmarshalJSON(data []byte) error { + type noMethod Pose + var s1 struct { + Altitude gensupport.JSONFloat64 `json:"altitude"` + Heading gensupport.JSONFloat64 `json:"heading"` + Pitch gensupport.JSONFloat64 `json:"pitch"` + Roll gensupport.JSONFloat64 `json:"roll"` + *noMethod + } + s1.noMethod = (*noMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Altitude = float64(s1.Altitude) + s.Heading = float64(s1.Heading) + s.Pitch = float64(s1.Pitch) + s.Roll = float64(s1.Roll) + return nil +} + +// Status: The `Status` type defines a logical error model that is +// suitable for different +// programming environments, including REST APIs and RPC APIs. It is +// used by +// [gRPC](https://github.com/grpc). The error model is designed to +// be: +// +// - Simple to use and understand for most users +// - Flexible enough to meet unexpected needs +// +// # Overview +// +// The `Status` message contains three pieces of data: error code, error +// message, +// and error details. The error code should be an enum value +// of +// google.rpc.Code, but it may accept additional error codes if needed. +// The +// error message should be a developer-facing English message that +// helps +// developers *understand* and *resolve* the error. If a localized +// user-facing +// error message is needed, put the localized message in the error +// details or +// localize it in the client. The optional error details may contain +// arbitrary +// information about the error. There is a predefined set of error +// detail types +// in the package `google.rpc` that can be used for common error +// conditions. +// +// # Language mapping +// +// The `Status` message is the logical representation of the error +// model, but it +// is not necessarily the actual wire format. When the `Status` message +// is +// exposed in different client libraries and different wire protocols, +// it can be +// mapped differently. For example, it will likely be mapped to some +// exceptions +// in Java, but more likely mapped to some error codes in C. +// +// # Other uses +// +// The error model and the `Status` message can be used in a variety +// of +// environments, either with or without APIs, to provide a +// consistent developer experience across different +// environments. +// +// Example uses of this error model include: +// +// - Partial errors. If a service needs to return partial errors to the +// client, +// it may embed the `Status` in the normal response to indicate the +// partial +// errors. +// +// - Workflow errors. A typical workflow has multiple steps. Each step +// may +// have a `Status` message for error reporting. +// +// - Batch operations. If a client uses batch request and batch +// response, the +// `Status` message should be used directly inside batch response, +// one for +// each error sub-response. +// +// - Asynchronous operations. If an API call embeds asynchronous +// operation +// results in its response, the status of those operations should +// be +// represented directly using the `Status` message. +// +// - Logging. If some API errors are stored in logs, the message +// `Status` could +// be used directly after any stripping needed for security/privacy +// reasons. +type Status struct { + // Code: The status code, which should be an enum value of + // google.rpc.Code. + Code int64 `json:"code,omitempty"` + + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. + Details []googleapi.RawMessage `json:"details,omitempty"` + + // Message: A developer-facing error message, which should be in + // English. Any + // user-facing error message should be localized and sent in + // the + // google.rpc.Status.details field, or localized by the client. + 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Status) MarshalJSON() ([]byte, error) { + type noMethod Status + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// UpdatePhotoRequest: Request to update the metadata of a +// Photo. Updating the pixels of a photo +// is not supported. +type UpdatePhotoRequest struct { + // Photo: Required. Photo object containing the + // new metadata. + Photo *Photo `json:"photo,omitempty"` + + // UpdateMask: Mask that identifies fields on the photo metadata to + // update. + // If not present, the old Photo + // metadata will be entirely replaced with the + // new Photo metadata in this request. + // The update fails if invalid fields are specified. Multiple fields can + // be + // specified in a comma-delimited list. + // + // The following fields are valid: + // + // * `pose.heading` + // * `pose.latLngPair` + // * `pose.pitch` + // * `pose.roll` + // * `pose.level` + // * `pose.altitude` + // * `connections` + // * `places` + // + // + // + UpdateMask string `json:"updateMask,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Photo") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Photo") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *UpdatePhotoRequest) MarshalJSON() ([]byte, error) { + type noMethod UpdatePhotoRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// UploadRef: Upload reference for media files. +type UploadRef struct { + // UploadUrl: Required. An upload reference should be unique for each + // user. It follows + // the + // form: + // "https://streetviewpublish.googleapis.com/media/user/{account_id + // }/photo/{upload_reference}" + UploadUrl string `json:"uploadUrl,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "UploadUrl") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "UploadUrl") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *UploadRef) MarshalJSON() ([]byte, error) { + type noMethod UploadRef + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// method id "streetviewpublish.photo.create": + +type PhotoCreateCall struct { + s *Service + photo *Photo + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: After the client finishes uploading the photo with the +// returned +// UploadRef, +// CreatePhoto +// publishes the uploaded Photo to +// Street View on Google Maps. +// +// Currently, the only way to set heading, pitch, and roll in +// CreatePhoto is +// through the [Photo Sphere +// XMP +// metadata](https://developers.google.com/streetview/spherical-metad +// ata) in +// the photo bytes. The `pose.heading`, `pose.pitch`, +// `pose.roll`, +// `pose.altitude`, and `pose.level` fields in Pose are ignored +// for +// CreatePhoto. +// +// This method returns the following error codes: +// +// * google.rpc.Code.INVALID_ARGUMENT if the request is malformed. +// * google.rpc.Code.NOT_FOUND if the upload reference does not exist. +// * google.rpc.Code.RESOURCE_EXHAUSTED if the account has reached +// the +// storage limit. +func (r *PhotoService) Create(photo *Photo) *PhotoCreateCall { + c := &PhotoCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.photo = photo + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *PhotoCreateCall) Fields(s ...googleapi.Field) *PhotoCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *PhotoCreateCall) Context(ctx context.Context) *PhotoCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *PhotoCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *PhotoCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.photo) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/photo") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "streetviewpublish.photo.create" call. +// Exactly one of *Photo or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Photo.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *PhotoCreateCall) Do(opts ...googleapi.CallOption) (*Photo, 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, &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, err + } + ret := &Photo{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "After the client finishes uploading the photo with the returned\nUploadRef,\nCreatePhoto\npublishes the uploaded Photo to\nStreet View on Google Maps.\n\nCurrently, the only way to set heading, pitch, and roll in CreatePhoto is\nthrough the [Photo Sphere XMP\nmetadata](https://developers.google.com/streetview/spherical-metadata) in\nthe photo bytes. The `pose.heading`, `pose.pitch`, `pose.roll`,\n`pose.altitude`, and `pose.level` fields in Pose are ignored for\nCreatePhoto.\n\nThis method returns the following error codes:\n\n* google.rpc.Code.INVALID_ARGUMENT if the request is malformed.\n* google.rpc.Code.NOT_FOUND if the upload reference does not exist.\n* google.rpc.Code.RESOURCE_EXHAUSTED if the account has reached the\nstorage limit.", + // "flatPath": "v1/photo", + // "httpMethod": "POST", + // "id": "streetviewpublish.photo.create", + // "parameterOrder": [], + // "parameters": {}, + // "path": "v1/photo", + // "request": { + // "$ref": "Photo" + // }, + // "response": { + // "$ref": "Photo" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/streetviewpublish" + // ] + // } + +} + +// method id "streetviewpublish.photo.delete": + +type PhotoDeleteCall struct { + s *Service + photoId string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a Photo and its metadata. +// +// This method returns the following error codes: +// +// * google.rpc.Code.PERMISSION_DENIED if the requesting user did +// not +// create the requested photo. +// * google.rpc.Code.NOT_FOUND if the photo ID does not exist. +func (r *PhotoService) Delete(photoId string) *PhotoDeleteCall { + c := &PhotoDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.photoId = photoId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *PhotoDeleteCall) Fields(s ...googleapi.Field) *PhotoDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *PhotoDeleteCall) Context(ctx context.Context) *PhotoDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *PhotoDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *PhotoDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/photo/{photoId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "photoId": c.photoId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "streetviewpublish.photo.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *PhotoDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes a Photo and its metadata.\n\nThis method returns the following error codes:\n\n* google.rpc.Code.PERMISSION_DENIED if the requesting user did not\ncreate the requested photo.\n* google.rpc.Code.NOT_FOUND if the photo ID does not exist.", + // "flatPath": "v1/photo/{photoId}", + // "httpMethod": "DELETE", + // "id": "streetviewpublish.photo.delete", + // "parameterOrder": [ + // "photoId" + // ], + // "parameters": { + // "photoId": { + // "description": "Required. ID of the Photo.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/photo/{photoId}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/streetviewpublish" + // ] + // } + +} + +// method id "streetviewpublish.photo.get": + +type PhotoGetCall struct { + s *Service + photoId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the metadata of the specified +// Photo. +// +// This method returns the following error codes: +// +// * google.rpc.Code.PERMISSION_DENIED if the requesting user did +// not +// create the requested Photo. +// * google.rpc.Code.NOT_FOUND if the requested +// Photo does not exist. +func (r *PhotoService) Get(photoId string) *PhotoGetCall { + c := &PhotoGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.photoId = photoId + return c +} + +// View sets the optional parameter "view": Specifies if a download URL +// for the photo bytes should be returned in the +// Photo response. +// +// Possible values: +// "BASIC" +// "INCLUDE_DOWNLOAD_URL" +func (c *PhotoGetCall) View(view string) *PhotoGetCall { + 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 information. +func (c *PhotoGetCall) Fields(s ...googleapi.Field) *PhotoGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *PhotoGetCall) IfNoneMatch(entityTag string) *PhotoGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *PhotoGetCall) Context(ctx context.Context) *PhotoGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *PhotoGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *PhotoGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/photo/{photoId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "photoId": c.photoId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "streetviewpublish.photo.get" call. +// Exactly one of *Photo or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Photo.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *PhotoGetCall) Do(opts ...googleapi.CallOption) (*Photo, 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, &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, err + } + ret := &Photo{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the metadata of the specified\nPhoto.\n\nThis method returns the following error codes:\n\n* google.rpc.Code.PERMISSION_DENIED if the requesting user did not\ncreate the requested Photo.\n* google.rpc.Code.NOT_FOUND if the requested\nPhoto does not exist.", + // "flatPath": "v1/photo/{photoId}", + // "httpMethod": "GET", + // "id": "streetviewpublish.photo.get", + // "parameterOrder": [ + // "photoId" + // ], + // "parameters": { + // "photoId": { + // "description": "Required. ID of the Photo.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "view": { + // "description": "Specifies if a download URL for the photo bytes should be returned in the\nPhoto response.", + // "enum": [ + // "BASIC", + // "INCLUDE_DOWNLOAD_URL" + // ], + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/photo/{photoId}", + // "response": { + // "$ref": "Photo" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/streetviewpublish" + // ] + // } + +} + +// method id "streetviewpublish.photo.startUpload": + +type PhotoStartUploadCall struct { + s *Service + empty *Empty + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// StartUpload: Creates an upload session to start uploading photo +// bytes. The upload URL of +// the returned UploadRef is used to +// upload the bytes for the Photo. +// +// In addition to the photo requirements shown +// in +// https://support.google.com/maps/answer/7012050?hl=en&ref_topic=6275 +// 604, +// the photo must also meet the following requirements: +// +// * Photo Sphere XMP metadata must be included in the photo medadata. +// See +// https://developers.google.com/streetview/spherical-metadata for +// the +// required fields. +// * The pixel size of the photo must meet the size requirements listed +// in +// https://support.google.com/maps/answer/7012050?hl=en&ref_topic=6275 +// 604, and +// the photo must be a full 360 horizontally. +// +// After the upload is complete, the +// UploadRef is used with +// CreatePhoto +// to create the Photo object entry. +func (r *PhotoService) StartUpload(empty *Empty) *PhotoStartUploadCall { + c := &PhotoStartUploadCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.empty = empty + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *PhotoStartUploadCall) Fields(s ...googleapi.Field) *PhotoStartUploadCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *PhotoStartUploadCall) Context(ctx context.Context) *PhotoStartUploadCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *PhotoStartUploadCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *PhotoStartUploadCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.empty) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/photo:startUpload") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "streetviewpublish.photo.startUpload" call. +// Exactly one of *UploadRef or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *UploadRef.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *PhotoStartUploadCall) Do(opts ...googleapi.CallOption) (*UploadRef, 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, &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, err + } + ret := &UploadRef{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates an upload session to start uploading photo bytes. The upload URL of\nthe returned UploadRef is used to\nupload the bytes for the Photo.\n\nIn addition to the photo requirements shown in\nhttps://support.google.com/maps/answer/7012050?hl=en\u0026ref_topic=6275604,\nthe photo must also meet the following requirements:\n\n* Photo Sphere XMP metadata must be included in the photo medadata. See\nhttps://developers.google.com/streetview/spherical-metadata for the\nrequired fields.\n* The pixel size of the photo must meet the size requirements listed in\nhttps://support.google.com/maps/answer/7012050?hl=en\u0026ref_topic=6275604, and\nthe photo must be a full 360 horizontally.\n\nAfter the upload is complete, the\nUploadRef is used with\nCreatePhoto\nto create the Photo object entry.", + // "flatPath": "v1/photo:startUpload", + // "httpMethod": "POST", + // "id": "streetviewpublish.photo.startUpload", + // "parameterOrder": [], + // "parameters": {}, + // "path": "v1/photo:startUpload", + // "request": { + // "$ref": "Empty" + // }, + // "response": { + // "$ref": "UploadRef" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/streetviewpublish" + // ] + // } + +} + +// method id "streetviewpublish.photo.update": + +type PhotoUpdateCall struct { + s *Service + id string + photo *Photo + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Update: Updates the metadata of a Photo, such +// as pose, place association, connections, etc. Changing the pixels of +// a +// photo is not supported. +// +// Only the fields specified in the +// updateMask +// field are used. If `updateMask` is not present, the update applies to +// all +// fields. +// +// +// +// This method returns the following error codes: +// +// * google.rpc.Code.PERMISSION_DENIED if the requesting user did +// not +// create the requested photo. +// * google.rpc.Code.INVALID_ARGUMENT if the request is malformed. +// * google.rpc.Code.NOT_FOUND if the requested photo does not exist. +func (r *PhotoService) Update(id string, photo *Photo) *PhotoUpdateCall { + c := &PhotoUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.id = id + c.photo = photo + return c +} + +// UpdateMask sets the optional parameter "updateMask": Mask that +// identifies fields on the photo metadata to update. +// If not present, the old Photo +// metadata will be entirely replaced with the +// new Photo metadata in this request. +// The update fails if invalid fields are specified. Multiple fields can +// be +// specified in a comma-delimited list. +// +// The following fields are valid: +// +// * `pose.heading` +// * `pose.latLngPair` +// * `pose.pitch` +// * `pose.roll` +// * `pose.level` +// * `pose.altitude` +// * `connections` +// * `places` +// +// +// +func (c *PhotoUpdateCall) UpdateMask(updateMask string) *PhotoUpdateCall { + 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 information. +func (c *PhotoUpdateCall) Fields(s ...googleapi.Field) *PhotoUpdateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *PhotoUpdateCall) Context(ctx context.Context) *PhotoUpdateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *PhotoUpdateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *PhotoUpdateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.photo) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/photo/{id}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PUT", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "id": c.id, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "streetviewpublish.photo.update" call. +// Exactly one of *Photo or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Photo.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *PhotoUpdateCall) Do(opts ...googleapi.CallOption) (*Photo, 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, &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, err + } + ret := &Photo{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates the metadata of a Photo, such\nas pose, place association, connections, etc. Changing the pixels of a\nphoto is not supported.\n\nOnly the fields specified in the\nupdateMask\nfield are used. If `updateMask` is not present, the update applies to all\nfields.\n\n\u003caside class=\"note\"\u003e\u003cb\u003eNote:\u003c/b\u003e To update\nPose.altitude,\nPose.latLngPair has to be\nfilled as well. Otherwise, the request will fail.\u003c/aside\u003e\n\nThis method returns the following error codes:\n\n* google.rpc.Code.PERMISSION_DENIED if the requesting user did not\ncreate the requested photo.\n* google.rpc.Code.INVALID_ARGUMENT if the request is malformed.\n* google.rpc.Code.NOT_FOUND if the requested photo does not exist.", + // "flatPath": "v1/photo/{id}", + // "httpMethod": "PUT", + // "id": "streetviewpublish.photo.update", + // "parameterOrder": [ + // "id" + // ], + // "parameters": { + // "id": { + // "description": "Required. A unique identifier for a photo.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Mask that identifies fields on the photo metadata to update.\nIf not present, the old Photo\nmetadata will be entirely replaced with the\nnew Photo metadata in this request.\nThe update fails if invalid fields are specified. Multiple fields can be\nspecified in a comma-delimited list.\n\nThe following fields are valid:\n\n* `pose.heading`\n* `pose.latLngPair`\n* `pose.pitch`\n* `pose.roll`\n* `pose.level`\n* `pose.altitude`\n* `connections`\n* `places`\n\n\n\u003caside class=\"note\"\u003e\u003cb\u003eNote:\u003c/b\u003e Repeated fields in\nupdateMask\nmean the entire set of repeated values will be replaced with the new\ncontents. For example, if\nupdateMask\ncontains `connections` and `UpdatePhotoRequest.photo.connections` is empty,\nall connections will be removed.\u003c/aside\u003e", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/photo/{id}", + // "request": { + // "$ref": "Photo" + // }, + // "response": { + // "$ref": "Photo" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/streetviewpublish" + // ] + // } + +} + +// method id "streetviewpublish.photos.batchDelete": + +type PhotosBatchDeleteCall struct { + s *Service + batchdeletephotosrequest *BatchDeletePhotosRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// BatchDelete: Deletes a list of Photos and their +// metadata. +// +// Note that if +// BatchDeletePhotos +// fails, either critical fields are missing or there was an +// authentication +// error. Even if +// BatchDeletePhotos +// succeeds, there may have been failures for single photos in the +// batch. +// These failures will be specified in +// each +// PhotoResponse.status +// in +// BatchDeletePhotosResponse.results. +// See +// De +// letePhoto +// for specific failures that can occur per photo. +func (r *PhotosService) BatchDelete(batchdeletephotosrequest *BatchDeletePhotosRequest) *PhotosBatchDeleteCall { + c := &PhotosBatchDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.batchdeletephotosrequest = batchdeletephotosrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *PhotosBatchDeleteCall) Fields(s ...googleapi.Field) *PhotosBatchDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *PhotosBatchDeleteCall) Context(ctx context.Context) *PhotosBatchDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *PhotosBatchDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *PhotosBatchDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchdeletephotosrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/photos:batchDelete") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "streetviewpublish.photos.batchDelete" call. +// Exactly one of *BatchDeletePhotosResponse or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *BatchDeletePhotosResponse.ServerResponse.Header or (if a response +// was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *PhotosBatchDeleteCall) Do(opts ...googleapi.CallOption) (*BatchDeletePhotosResponse, 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, &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, err + } + ret := &BatchDeletePhotosResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes a list of Photos and their\nmetadata.\n\nNote that if\nBatchDeletePhotos\nfails, either critical fields are missing or there was an authentication\nerror. Even if\nBatchDeletePhotos\nsucceeds, there may have been failures for single photos in the batch.\nThese failures will be specified in each\nPhotoResponse.status\nin\nBatchDeletePhotosResponse.results.\nSee\nDeletePhoto\nfor specific failures that can occur per photo.", + // "flatPath": "v1/photos:batchDelete", + // "httpMethod": "POST", + // "id": "streetviewpublish.photos.batchDelete", + // "parameterOrder": [], + // "parameters": {}, + // "path": "v1/photos:batchDelete", + // "request": { + // "$ref": "BatchDeletePhotosRequest" + // }, + // "response": { + // "$ref": "BatchDeletePhotosResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/streetviewpublish" + // ] + // } + +} + +// method id "streetviewpublish.photos.batchGet": + +type PhotosBatchGetCall struct { + s *Service + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// BatchGet: Gets the metadata of the specified +// Photo batch. +// +// Note that if +// BatchGetPhotos +// fails, either critical fields are missing or there was an +// authentication +// error. Even if +// BatchGetPhotos +// succeeds, there may have been failures for single photos in the +// batch. +// These failures will be specified in +// each +// PhotoResponse.status +// in +// BatchGetPhotosResponse.results. +// See +// GetPh +// oto +// for specific failures that can occur per photo. +func (r *PhotosService) BatchGet() *PhotosBatchGetCall { + c := &PhotosBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + return c +} + +// PhotoIds sets the optional parameter "photoIds": Required. IDs of the +// Photos. For HTTP +// GET requests, the URL query parameter should +// be +// `photoIds=&photoIds=&...`. +func (c *PhotosBatchGetCall) PhotoIds(photoIds ...string) *PhotosBatchGetCall { + c.urlParams_.SetMulti("photoIds", append([]string{}, photoIds...)) + return c +} + +// View sets the optional parameter "view": Specifies if a download URL +// for the photo bytes should be returned in the +// Photo response. +// +// Possible values: +// "BASIC" +// "INCLUDE_DOWNLOAD_URL" +func (c *PhotosBatchGetCall) View(view string) *PhotosBatchGetCall { + 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 information. +func (c *PhotosBatchGetCall) Fields(s ...googleapi.Field) *PhotosBatchGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *PhotosBatchGetCall) IfNoneMatch(entityTag string) *PhotosBatchGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *PhotosBatchGetCall) Context(ctx context.Context) *PhotosBatchGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *PhotosBatchGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *PhotosBatchGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/photos:batchGet") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "streetviewpublish.photos.batchGet" call. +// Exactly one of *BatchGetPhotosResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *BatchGetPhotosResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *PhotosBatchGetCall) Do(opts ...googleapi.CallOption) (*BatchGetPhotosResponse, 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, &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, err + } + ret := &BatchGetPhotosResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the metadata of the specified\nPhoto batch.\n\nNote that if\nBatchGetPhotos\nfails, either critical fields are missing or there was an authentication\nerror. Even if\nBatchGetPhotos\nsucceeds, there may have been failures for single photos in the batch.\nThese failures will be specified in each\nPhotoResponse.status\nin\nBatchGetPhotosResponse.results.\nSee\nGetPhoto\nfor specific failures that can occur per photo.", + // "flatPath": "v1/photos:batchGet", + // "httpMethod": "GET", + // "id": "streetviewpublish.photos.batchGet", + // "parameterOrder": [], + // "parameters": { + // "photoIds": { + // "description": "Required. IDs of the Photos. For HTTP\nGET requests, the URL query parameter should be\n`photoIds=\u003cid1\u003e\u0026photoIds=\u003cid2\u003e\u0026...`.", + // "location": "query", + // "repeated": true, + // "type": "string" + // }, + // "view": { + // "description": "Specifies if a download URL for the photo bytes should be returned in the\nPhoto response.", + // "enum": [ + // "BASIC", + // "INCLUDE_DOWNLOAD_URL" + // ], + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/photos:batchGet", + // "response": { + // "$ref": "BatchGetPhotosResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/streetviewpublish" + // ] + // } + +} + +// method id "streetviewpublish.photos.batchUpdate": + +type PhotosBatchUpdateCall struct { + s *Service + batchupdatephotosrequest *BatchUpdatePhotosRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// BatchUpdate: Updates the metadata of Photos, such +// as pose, place association, connections, etc. Changing the pixels of +// photos +// is not supported. +// +// Note that if +// BatchUpdatePhotos +// fails, either critical fields are missing or there was an +// authentication +// error. Even if +// BatchUpdatePhotos +// succeeds, there may have been failures for single photos in the +// batch. +// These failures will be specified in +// each +// PhotoResponse.status +// in +// BatchUpdatePhotosResponse.results. +// See +// Up +// datePhoto +// for specific failures that can occur per photo. +// +// Only the fields specified in +// updateMask +// field are used. If `updateMask` is not present, the update applies to +// all +// fields. +// +// +func (r *PhotosService) BatchUpdate(batchupdatephotosrequest *BatchUpdatePhotosRequest) *PhotosBatchUpdateCall { + c := &PhotosBatchUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.batchupdatephotosrequest = batchupdatephotosrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *PhotosBatchUpdateCall) Fields(s ...googleapi.Field) *PhotosBatchUpdateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *PhotosBatchUpdateCall) Context(ctx context.Context) *PhotosBatchUpdateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *PhotosBatchUpdateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *PhotosBatchUpdateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.batchupdatephotosrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/photos:batchUpdate") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "streetviewpublish.photos.batchUpdate" call. +// Exactly one of *BatchUpdatePhotosResponse or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *BatchUpdatePhotosResponse.ServerResponse.Header or (if a response +// was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *PhotosBatchUpdateCall) Do(opts ...googleapi.CallOption) (*BatchUpdatePhotosResponse, 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, &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, err + } + ret := &BatchUpdatePhotosResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates the metadata of Photos, such\nas pose, place association, connections, etc. Changing the pixels of photos\nis not supported.\n\nNote that if\nBatchUpdatePhotos\nfails, either critical fields are missing or there was an authentication\nerror. Even if\nBatchUpdatePhotos\nsucceeds, there may have been failures for single photos in the batch.\nThese failures will be specified in each\nPhotoResponse.status\nin\nBatchUpdatePhotosResponse.results.\nSee\nUpdatePhoto\nfor specific failures that can occur per photo.\n\nOnly the fields specified in\nupdateMask\nfield are used. If `updateMask` is not present, the update applies to all\nfields.\n\n\u003caside class=\"note\"\u003e\u003cb\u003eNote:\u003c/b\u003e To update\nPose.altitude,\nPose.latLngPair has to be\nfilled as well. Otherwise, the request will fail.\u003c/aside\u003e", + // "flatPath": "v1/photos:batchUpdate", + // "httpMethod": "POST", + // "id": "streetviewpublish.photos.batchUpdate", + // "parameterOrder": [], + // "parameters": {}, + // "path": "v1/photos:batchUpdate", + // "request": { + // "$ref": "BatchUpdatePhotosRequest" + // }, + // "response": { + // "$ref": "BatchUpdatePhotosResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/streetviewpublish" + // ] + // } + +} + +// method id "streetviewpublish.photos.list": + +type PhotosListCall struct { + s *Service + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists all the Photos that belong to +// the user. +func (r *PhotosService) List() *PhotosListCall { + c := &PhotosListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + return c +} + +// Filter sets the optional parameter "filter": The filter expression. +// For example: `placeId=ChIJj61dQgK6j4AR4GeTYWZsKWw`. +// +// The only filter supported at the moment is `placeId`. +func (c *PhotosListCall) Filter(filter string) *PhotosListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// PageSize sets the optional parameter "pageSize": The maximum number +// of photos to return. +// `pageSize` must be non-negative. If `pageSize` is zero or is not +// provided, +// the default page size of 100 will be used. +// The number of photos returned in the response may be less than +// `pageSize` +// if the number of photos that belong to the user is less than +// `pageSize`. +func (c *PhotosListCall) PageSize(pageSize int64) *PhotosListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": +// The +// nextPageToken +// value returned from a previous +// ListPhotos +// request, if any. +func (c *PhotosListCall) PageToken(pageToken string) *PhotosListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// View sets the optional parameter "view": Specifies if a download URL +// for the photos bytes should be returned in the +// Photos response. +// +// Possible values: +// "BASIC" +// "INCLUDE_DOWNLOAD_URL" +func (c *PhotosListCall) View(view string) *PhotosListCall { + 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 information. +func (c *PhotosListCall) Fields(s ...googleapi.Field) *PhotosListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *PhotosListCall) IfNoneMatch(entityTag string) *PhotosListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *PhotosListCall) Context(ctx context.Context) *PhotosListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *PhotosListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *PhotosListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/photos") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "streetviewpublish.photos.list" call. +// Exactly one of *ListPhotosResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListPhotosResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *PhotosListCall) Do(opts ...googleapi.CallOption) (*ListPhotosResponse, 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, &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, err + } + ret := &ListPhotosResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists all the Photos that belong to\nthe user.", + // "flatPath": "v1/photos", + // "httpMethod": "GET", + // "id": "streetviewpublish.photos.list", + // "parameterOrder": [], + // "parameters": { + // "filter": { + // "description": "The filter expression. For example: `placeId=ChIJj61dQgK6j4AR4GeTYWZsKWw`.\n\nThe only filter supported at the moment is `placeId`.", + // "location": "query", + // "type": "string" + // }, + // "pageSize": { + // "description": "The maximum number of photos to return.\n`pageSize` must be non-negative. If `pageSize` is zero or is not provided,\nthe default page size of 100 will be used.\nThe number of photos returned in the response may be less than `pageSize`\nif the number of photos that belong to the user is less than `pageSize`.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "The\nnextPageToken\nvalue returned from a previous\nListPhotos\nrequest, if any.", + // "location": "query", + // "type": "string" + // }, + // "view": { + // "description": "Specifies if a download URL for the photos bytes should be returned in the\nPhotos response.", + // "enum": [ + // "BASIC", + // "INCLUDE_DOWNLOAD_URL" + // ], + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/photos", + // "response": { + // "$ref": "ListPhotosResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/streetviewpublish" + // ] + // } + +} + +// 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 *PhotosListCall) Pages(ctx context.Context, f func(*ListPhotosResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} diff --git a/vendor/google.golang.org/api/surveys/v2/surveys-api.json b/vendor/google.golang.org/api/surveys/v2/surveys-api.json index 73bc53192..e540b831f 100644 --- a/vendor/google.golang.org/api/surveys/v2/surveys-api.json +++ b/vendor/google.golang.org/api/surveys/v2/surveys-api.json @@ -20,7 +20,7 @@ "basePath": "/surveys/v2/", "rootUrl": "https://www.googleapis.com/", "servicePath": "surveys/v2/", - "batchPath": "batch", + "batchPath": "batch/surveys/v2", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/tagmanager/v1/tagmanager-api.json b/vendor/google.golang.org/api/tagmanager/v1/tagmanager-api.json index 8741e67d0..90ae102b7 100644 --- a/vendor/google.golang.org/api/tagmanager/v1/tagmanager-api.json +++ b/vendor/google.golang.org/api/tagmanager/v1/tagmanager-api.json @@ -21,7 +21,7 @@ "basePath": "/tagmanager/v1/", "rootUrl": "https://www.googleapis.com/", "servicePath": "tagmanager/v1/", - "batchPath": "batch", + "batchPath": "batch/tagmanager/v1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/tagmanager/v2/tagmanager-api.json b/vendor/google.golang.org/api/tagmanager/v2/tagmanager-api.json index 7b0462c5c..f27315e6a 100644 --- a/vendor/google.golang.org/api/tagmanager/v2/tagmanager-api.json +++ b/vendor/google.golang.org/api/tagmanager/v2/tagmanager-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/pTvk4NUYZwfqTwNYN946-b40lOU\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/COGKad2GbFNLxJtu8jKqwelYxZ0\"", "discoveryVersion": "v1", "id": "tagmanager:v2", "name": "tagmanager", "canonicalName": "Tag Manager", "version": "v2", - "revision": "20170330", + "revision": "20170915", "title": "Tag Manager API", "description": "Accesses Tag Manager accounts and containers.", "ownerDomain": "google.com", @@ -21,7 +21,7 @@ "basePath": "/tagmanager/v2/", "rootUrl": "https://www.googleapis.com/", "servicePath": "tagmanager/v2/", - "batchPath": "batch", + "batchPath": "batch/tagmanager/v2", "parameters": { "alt": { "type": "string", @@ -261,7 +261,16 @@ "randomNumber", "referrer", "resolution", - "sdkVersion" + "sdkVersion", + "videoCurrentTime", + "videoDuration", + "videoElapsedTime", + "videoPercent", + "videoProvider", + "videoStatus", + "videoTitle", + "videoUrl", + "videoVisible" ], "enumDescriptions": [ "", @@ -351,6 +360,15 @@ "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "" ] }, @@ -609,6 +627,13 @@ "items": { "$ref": "Variable" } + }, + "zone": { + "type": "array", + "description": "The zones in the container that this version was taken from.", + "items": { + "$ref": "Zone" + } } } }, @@ -657,6 +682,10 @@ "type": "string", "description": "Number of variables in the container version." }, + "numZones": { + "type": "string", + "description": "Number of zones in the container version." + }, "path": { "type": "string", "description": "GTM Container Versions's API relative path." @@ -1631,6 +1660,13 @@ "type": "string", "description": "User notes on how to apply this trigger in the container." }, + "parameter": { + "type": "array", + "description": "Additional parameters.", + "items": { + "$ref": "Parameter" + } + }, "parentFolderId": { "type": "string", "description": "Parent folder id." @@ -1686,7 +1722,8 @@ "linkClick", "pageview", "timer", - "windowLoaded" + "windowLoaded", + "youTubeVideo" ], "enumDescriptions": [ "", @@ -1716,6 +1753,7 @@ "", "", "", + "", "" ], "annotations": { @@ -2143,6 +2181,118 @@ ] } } + }, + "Zone": { + "id": "Zone", + "type": "object", + "description": "Represents a Google Tag Manager Zone's contents.", + "properties": { + "accountId": { + "type": "string", + "description": "GTM Account ID." + }, + "boundary": { + "$ref": "ZoneBoundary", + "description": "This Zone's boundary." + }, + "childContainer": { + "type": "array", + "description": "Containers that are children of this Zone.", + "items": { + "$ref": "ZoneChildContainer" + } + }, + "containerId": { + "type": "string", + "description": "GTM Container ID." + }, + "fingerprint": { + "type": "string", + "description": "The fingerprint of the GTM Zone as computed at storage time. This value is recomputed whenever the zone is modified." + }, + "name": { + "type": "string", + "description": "Zone display name." + }, + "notes": { + "type": "string", + "description": "User notes on how to apply this zone in the container." + }, + "path": { + "type": "string", + "description": "GTM Zone's API relative path." + }, + "tagManagerUrl": { + "type": "string", + "description": "Auto generated link to the tag manager UI" + }, + "typeRestriction": { + "$ref": "ZoneTypeRestriction", + "description": "This Zone's type restrictions." + }, + "workspaceId": { + "type": "string", + "description": "GTM Workspace ID." + }, + "zoneId": { + "type": "string", + "description": "The Zone ID uniquely identifies the GTM Zone." + } + } + }, + "ZoneBoundary": { + "id": "ZoneBoundary", + "type": "object", + "description": "Represents a Zone's boundaries.", + "properties": { + "condition": { + "type": "array", + "description": "The conditions that, when conjoined, make up the boundary.", + "items": { + "$ref": "Condition" + } + }, + "customEvaluationTriggerId": { + "type": "array", + "description": "Custom evaluation trigger IDs. A zone will evaluate its boundary conditions when any of the listed triggers are true.", + "items": { + "type": "string" + } + } + } + }, + "ZoneChildContainer": { + "id": "ZoneChildContainer", + "type": "object", + "description": "Represents a child container of a Zone.", + "properties": { + "nickname": { + "type": "string", + "description": "The zone's nickname for the child container." + }, + "publicId": { + "type": "string", + "description": "The child container's public id." + } + } + }, + "ZoneTypeRestriction": { + "id": "ZoneTypeRestriction", + "type": "object", + "description": "Represents a Zone's type restrictions.", + "properties": { + "enable": { + "type": "boolean", + "description": "True if type restrictions have been enabled for this Zone." + }, + "whitelistedTypeId": { + "type": "array", + "description": "List of type public ids that have been whitelisted for use in this Zone.", + "items": { + "type": "string" + } + } + } } }, "resources": { @@ -3204,7 +3354,16 @@ "randomNumber", "referrer", "resolution", - "sdkVersion" + "sdkVersion", + "videoCurrentTime", + "videoDuration", + "videoElapsedTime", + "videoPercent", + "videoProvider", + "videoStatus", + "videoTitle", + "videoUrl", + "videoVisible" ], "enumDescriptions": [ "", @@ -3294,6 +3453,15 @@ "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "" ], "repeated": true, @@ -3413,7 +3581,16 @@ "randomNumber", "referrer", "resolution", - "sdkVersion" + "sdkVersion", + "videoCurrentTime", + "videoDuration", + "videoElapsedTime", + "videoPercent", + "videoProvider", + "videoStatus", + "videoTitle", + "videoUrl", + "videoVisible" ], "enumDescriptions": [ "", @@ -3503,6 +3680,15 @@ "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "" ], "repeated": true, @@ -3648,7 +3834,16 @@ "randomNumber", "referrer", "resolution", - "sdkVersion" + "sdkVersion", + "videoCurrentTime", + "videoDuration", + "videoElapsedTime", + "videoPercent", + "videoProvider", + "videoStatus", + "videoTitle", + "videoUrl", + "videoVisible" ], "enumDescriptions": [ "", @@ -3738,6 +3933,15 @@ "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "" ], "location": "query" diff --git a/vendor/google.golang.org/api/tagmanager/v2/tagmanager-gen.go b/vendor/google.golang.org/api/tagmanager/v2/tagmanager-gen.go index ee947a0a8..e8520cfff 100644 --- a/vendor/google.golang.org/api/tagmanager/v2/tagmanager-gen.go +++ b/vendor/google.golang.org/api/tagmanager/v2/tagmanager-gen.go @@ -446,6 +446,15 @@ type BuiltInVariable struct { // "referrer" // "resolution" // "sdkVersion" + // "videoCurrentTime" + // "videoDuration" + // "videoElapsedTime" + // "videoPercent" + // "videoProvider" + // "videoStatus" + // "videoTitle" + // "videoUrl" + // "videoVisible" Type string `json:"type,omitempty"` // WorkspaceId: GTM Workspace ID. @@ -697,6 +706,9 @@ type ContainerVersion struct { // from. Variable []*Variable `json:"variable,omitempty"` + // Zone: The zones in the container that this version was taken from. + Zone []*Zone `json:"zone,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -759,6 +771,9 @@ type ContainerVersionHeader struct { // NumVariables: Number of variables in the container version. NumVariables string `json:"numVariables,omitempty"` + // NumZones: Number of zones in the container version. + NumZones string `json:"numZones,omitempty"` + // Path: GTM Container Versions's API relative path. Path string `json:"path,omitempty"` @@ -2391,6 +2406,9 @@ type Trigger struct { // Notes: User notes on how to apply this trigger in the container. Notes string `json:"notes,omitempty"` + // Parameter: Additional parameters. + Parameter []*Parameter `json:"parameter,omitempty"` + // ParentFolderId: Parent folder id. ParentFolderId string `json:"parentFolderId,omitempty"` @@ -2442,6 +2460,7 @@ type Trigger struct { // "pageview" // "timer" // "windowLoaded" + // "youTubeVideo" Type string `json:"type,omitempty"` // UniqueTriggerId: Globally unique id of the trigger that @@ -2970,6 +2989,164 @@ func (s *WorkspaceProposalUser) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Zone: Represents a Google Tag Manager Zone's contents. +type Zone struct { + // AccountId: GTM Account ID. + AccountId string `json:"accountId,omitempty"` + + // Boundary: This Zone's boundary. + Boundary *ZoneBoundary `json:"boundary,omitempty"` + + // ChildContainer: Containers that are children of this Zone. + ChildContainer []*ZoneChildContainer `json:"childContainer,omitempty"` + + // ContainerId: GTM Container ID. + ContainerId string `json:"containerId,omitempty"` + + // Fingerprint: The fingerprint of the GTM Zone as computed at storage + // time. This value is recomputed whenever the zone is modified. + Fingerprint string `json:"fingerprint,omitempty"` + + // Name: Zone display name. + Name string `json:"name,omitempty"` + + // Notes: User notes on how to apply this zone in the container. + Notes string `json:"notes,omitempty"` + + // Path: GTM Zone's API relative path. + Path string `json:"path,omitempty"` + + // TagManagerUrl: Auto generated link to the tag manager UI + TagManagerUrl string `json:"tagManagerUrl,omitempty"` + + // TypeRestriction: This Zone's type restrictions. + TypeRestriction *ZoneTypeRestriction `json:"typeRestriction,omitempty"` + + // WorkspaceId: GTM Workspace ID. + WorkspaceId string `json:"workspaceId,omitempty"` + + // ZoneId: The Zone ID uniquely identifies the GTM Zone. + ZoneId string `json:"zoneId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AccountId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AccountId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Zone) MarshalJSON() ([]byte, error) { + type noMethod Zone + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ZoneBoundary: Represents a Zone's boundaries. +type ZoneBoundary struct { + // Condition: The conditions that, when conjoined, make up the boundary. + Condition []*Condition `json:"condition,omitempty"` + + // CustomEvaluationTriggerId: Custom evaluation trigger IDs. A zone will + // evaluate its boundary conditions when any of the listed triggers are + // true. + CustomEvaluationTriggerId []string `json:"customEvaluationTriggerId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Condition") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Condition") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ZoneBoundary) MarshalJSON() ([]byte, error) { + type noMethod ZoneBoundary + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ZoneChildContainer: Represents a child container of a Zone. +type ZoneChildContainer struct { + // Nickname: The zone's nickname for the child container. + Nickname string `json:"nickname,omitempty"` + + // PublicId: The child container's public id. + PublicId string `json:"publicId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Nickname") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Nickname") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ZoneChildContainer) MarshalJSON() ([]byte, error) { + type noMethod ZoneChildContainer + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ZoneTypeRestriction: Represents a Zone's type restrictions. +type ZoneTypeRestriction struct { + // Enable: True if type restrictions have been enabled for this Zone. + Enable bool `json:"enable,omitempty"` + + // WhitelistedTypeId: List of type public ids that have been whitelisted + // for use in this Zone. + WhitelistedTypeId []string `json:"whitelistedTypeId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Enable") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Enable") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ZoneTypeRestriction) MarshalJSON() ([]byte, error) { + type noMethod ZoneTypeRestriction + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // method id "tagmanager.accounts.get": type AccountsGetCall struct { @@ -7993,6 +8170,15 @@ func (r *AccountsContainersWorkspacesBuiltInVariablesService) Create(parent stri // "referrer" // "resolution" // "sdkVersion" +// "videoCurrentTime" +// "videoDuration" +// "videoElapsedTime" +// "videoPercent" +// "videoProvider" +// "videoStatus" +// "videoTitle" +// "videoUrl" +// "videoVisible" func (c *AccountsContainersWorkspacesBuiltInVariablesCreateCall) Type(type_ ...string) *AccountsContainersWorkspacesBuiltInVariablesCreateCall { c.urlParams_.SetMulti("type", append([]string{}, type_...)) return c @@ -8182,7 +8368,16 @@ func (c *AccountsContainersWorkspacesBuiltInVariablesCreateCall) Do(opts ...goog // "randomNumber", // "referrer", // "resolution", - // "sdkVersion" + // "sdkVersion", + // "videoCurrentTime", + // "videoDuration", + // "videoElapsedTime", + // "videoPercent", + // "videoProvider", + // "videoStatus", + // "videoTitle", + // "videoUrl", + // "videoVisible" // ], // "enumDescriptions": [ // "", @@ -8272,6 +8467,15 @@ func (c *AccountsContainersWorkspacesBuiltInVariablesCreateCall) Do(opts ...goog // "", // "", // "", + // "", + // "", + // "", + // "", + // "", + // "", + // "", + // "", + // "", // "" // ], // "location": "query", @@ -8399,6 +8603,15 @@ func (r *AccountsContainersWorkspacesBuiltInVariablesService) Delete(path string // "referrer" // "resolution" // "sdkVersion" +// "videoCurrentTime" +// "videoDuration" +// "videoElapsedTime" +// "videoPercent" +// "videoProvider" +// "videoStatus" +// "videoTitle" +// "videoUrl" +// "videoVisible" func (c *AccountsContainersWorkspacesBuiltInVariablesDeleteCall) Type(type_ ...string) *AccountsContainersWorkspacesBuiltInVariablesDeleteCall { c.urlParams_.SetMulti("type", append([]string{}, type_...)) return c @@ -8563,7 +8776,16 @@ func (c *AccountsContainersWorkspacesBuiltInVariablesDeleteCall) Do(opts ...goog // "randomNumber", // "referrer", // "resolution", - // "sdkVersion" + // "sdkVersion", + // "videoCurrentTime", + // "videoDuration", + // "videoElapsedTime", + // "videoPercent", + // "videoProvider", + // "videoStatus", + // "videoTitle", + // "videoUrl", + // "videoVisible" // ], // "enumDescriptions": [ // "", @@ -8653,6 +8875,15 @@ func (c *AccountsContainersWorkspacesBuiltInVariablesDeleteCall) Do(opts ...goog // "", // "", // "", + // "", + // "", + // "", + // "", + // "", + // "", + // "", + // "", + // "", // "" // ], // "location": "query", @@ -8950,6 +9181,15 @@ func (r *AccountsContainersWorkspacesBuiltInVariablesService) Revert(path string // "referrer" // "resolution" // "sdkVersion" +// "videoCurrentTime" +// "videoDuration" +// "videoElapsedTime" +// "videoPercent" +// "videoProvider" +// "videoStatus" +// "videoTitle" +// "videoUrl" +// "videoVisible" func (c *AccountsContainersWorkspacesBuiltInVariablesRevertCall) Type(type_ string) *AccountsContainersWorkspacesBuiltInVariablesRevertCall { c.urlParams_.Set("type", type_) return c @@ -9139,7 +9379,16 @@ func (c *AccountsContainersWorkspacesBuiltInVariablesRevertCall) Do(opts ...goog // "randomNumber", // "referrer", // "resolution", - // "sdkVersion" + // "sdkVersion", + // "videoCurrentTime", + // "videoDuration", + // "videoElapsedTime", + // "videoPercent", + // "videoProvider", + // "videoStatus", + // "videoTitle", + // "videoUrl", + // "videoVisible" // ], // "enumDescriptions": [ // "", @@ -9229,6 +9478,15 @@ func (c *AccountsContainersWorkspacesBuiltInVariablesRevertCall) Do(opts ...goog // "", // "", // "", + // "", + // "", + // "", + // "", + // "", + // "", + // "", + // "", + // "", // "" // ], // "location": "query", diff --git a/vendor/google.golang.org/api/taskqueue/v1beta1/taskqueue-api.json b/vendor/google.golang.org/api/taskqueue/v1beta1/taskqueue-api.json index bbe9b1bad..ec9b90100 100644 --- a/vendor/google.golang.org/api/taskqueue/v1beta1/taskqueue-api.json +++ b/vendor/google.golang.org/api/taskqueue/v1beta1/taskqueue-api.json @@ -20,7 +20,7 @@ "basePath": "/taskqueue/v1beta1/projects/", "rootUrl": "https://www.googleapis.com/", "servicePath": "taskqueue/v1beta1/projects/", - "batchPath": "batch", + "batchPath": "batch/taskqueue/v1beta1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/taskqueue/v1beta2/taskqueue-api.json b/vendor/google.golang.org/api/taskqueue/v1beta2/taskqueue-api.json index fe121d5f7..dec04c5f7 100644 --- a/vendor/google.golang.org/api/taskqueue/v1beta2/taskqueue-api.json +++ b/vendor/google.golang.org/api/taskqueue/v1beta2/taskqueue-api.json @@ -20,7 +20,7 @@ "basePath": "/taskqueue/v1beta2/projects/", "rootUrl": "https://www.googleapis.com/", "servicePath": "taskqueue/v1beta2/projects/", - "batchPath": "batch", + "batchPath": "batch/taskqueue/v1beta2", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/tasks/v1/tasks-api.json b/vendor/google.golang.org/api/tasks/v1/tasks-api.json index c00b4ab84..0d16db31b 100644 --- a/vendor/google.golang.org/api/tasks/v1/tasks-api.json +++ b/vendor/google.golang.org/api/tasks/v1/tasks-api.json @@ -20,7 +20,7 @@ "basePath": "/tasks/v1/", "rootUrl": "https://www.googleapis.com/", "servicePath": "tasks/v1/", - "batchPath": "batch", + "batchPath": "batch/tasks/v1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/testing/v1/testing-api.json b/vendor/google.golang.org/api/testing/v1/testing-api.json new file mode 100644 index 000000000..bb55fb5a8 --- /dev/null +++ b/vendor/google.golang.org/api/testing/v1/testing-api.json @@ -0,0 +1,1347 @@ +{ + "ownerDomain": "google.com", + "name": "testing", + "batchPath": "batch", + "id": "testing:v1", + "documentationLink": "https://developers.google.com/cloud-test-lab/", + "revision": "20170922", + "title": "Google Cloud Testing API", + "ownerName": "Google", + "discoveryVersion": "v1", + "resources": { + "projects": { + "resources": { + "testMatrices": { + "methods": { + "create": { + "id": "testing.projects.testMatrices.create", + "path": "v1/projects/{projectId}/testMatrices", + "description": "Request to run a matrix of tests according to the given specifications.\nUnsupported environments will be returned in the state UNSUPPORTED.\nMatrices are limited to at most 200 supported executions.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to write to project\n- INVALID_ARGUMENT - if the request is malformed or if the matrix expands\n to more than 200 supported executions", + "request": { + "$ref": "TestMatrix" + }, + "response": { + "$ref": "TestMatrix" + }, + "parameterOrder": [ + "projectId" + ], + "httpMethod": "POST", + "parameters": { + "projectId": { + "description": "The GCE project under which this job will run.", + "type": "string", + "required": true, + "location": "path" + }, + "requestId": { + "location": "query", + "description": "A string id used to detect duplicated requests.\nIds are automatically scoped to a project, so\nusers should ensure the ID is unique per-project.\nA UUID is recommended.\n\nOptional, but strongly recommended.", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "flatPath": "v1/projects/{projectId}/testMatrices" + }, + "cancel": { + "response": { + "$ref": "CancelTestMatrixResponse" + }, + "parameterOrder": [ + "projectId", + "testMatrixId" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "projectId": { + "description": "Cloud project that owns the test.", + "type": "string", + "required": true, + "location": "path" + }, + "testMatrixId": { + "location": "path", + "description": "Test matrix that will be canceled.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectId}/testMatrices/{testMatrixId}:cancel", + "id": "testing.projects.testMatrices.cancel", + "path": "v1/projects/{projectId}/testMatrices/{testMatrixId}:cancel", + "description": "Cancels unfinished test executions in a test matrix.\nThis call returns immediately and cancellation proceeds asychronously.\nIf the matrix is already final, this operation will have no effect.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to read project\n- INVALID_ARGUMENT - if the request is malformed\n- NOT_FOUND - if the Test Matrix does not exist" + }, + "get": { + "httpMethod": "GET", + "parameterOrder": [ + "projectId", + "testMatrixId" + ], + "response": { + "$ref": "TestMatrix" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "parameters": { + "projectId": { + "description": "Cloud project that owns the test matrix.", + "type": "string", + "required": true, + "location": "path" + }, + "testMatrixId": { + "location": "path", + "description": "Unique test matrix id which was assigned by the service.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/projects/{projectId}/testMatrices/{testMatrixId}", + "path": "v1/projects/{projectId}/testMatrices/{testMatrixId}", + "id": "testing.projects.testMatrices.get", + "description": "Check the status of a test matrix.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to read project\n- INVALID_ARGUMENT - if the request is malformed\n- NOT_FOUND - if the Test Matrix does not exist" + } + } + } + } + }, + "testEnvironmentCatalog": { + "methods": { + "get": { + "description": "Get the catalog of supported test environments.\n\nMay return any of the following canonical error codes:\n\n- INVALID_ARGUMENT - if the request is malformed\n- NOT_FOUND - if the environment type does not exist\n- INTERNAL - if an internal error occurred", + "response": { + "$ref": "TestEnvironmentCatalog" + }, + "parameterOrder": [ + "environmentType" + ], + "httpMethod": "GET", + "parameters": { + "projectId": { + "type": "string", + "location": "query", + "description": "For authorization, the cloud project requesting the TestEnvironmentCatalog.\nOptional" + }, + "environmentType": { + "description": "The type of environment that should be listed.\nRequired", + "type": "string", + "required": true, + "location": "path", + "enum": [ + "ENVIRONMENT_TYPE_UNSPECIFIED", + "ANDROID", + "NETWORK_CONFIGURATION" + ] + } + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ], + "flatPath": "v1/testEnvironmentCatalog/{environmentType}", + "id": "testing.testEnvironmentCatalog.get", + "path": "v1/testEnvironmentCatalog/{environmentType}" + } + } + } + }, + "parameters": { + "upload_protocol": { + "type": "string", + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")." + }, + "prettyPrint": { + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "fields": { + "location": "query", + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + }, + "uploadType": { + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" + }, + "$.xgafv": { + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, + "alt": { + "enum": [ + "json", + "media", + "proto" + ], + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "description": "Data format for response.", + "default": "json" + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "access_token": { + "location": "query", + "description": "OAuth access token.", + "type": "string" + }, + "quotaUser": { + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string" + }, + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, + "bearer_token": { + "location": "query", + "description": "OAuth bearer token.", + "type": "string" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + } + }, + "schemas": { + "AndroidModel": { + "description": "A description of an Android device tests may be run on.", + "type": "object", + "properties": { + "tags": { + "description": "Tags for this dimension.\nExamples: \"default\", \"preview\", \"deprecated\"", + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "The unique opaque id for this model.\nUse this for invoking the TestExecutionService.\n@OutputOnly", + "type": "string" + }, + "manufacturer": { + "description": "The manufacturer of this device.\n@OutputOnly", + "type": "string" + }, + "brand": { + "description": "The company that this device is branded with.\nExample: \"Google\", \"Samsung\"\n@OutputOnly", + "type": "string" + }, + "screenX": { + "format": "int32", + "description": "Screen size in the horizontal (X) dimension measured in pixels.\n@OutputOnly", + "type": "integer" + }, + "codename": { + "type": "string", + "description": "The name of the industrial design.\nThis corresponds to android.os.Build.DEVICE\n@OutputOnly" + }, + "screenY": { + "format": "int32", + "description": "Screen size in the vertical (Y) dimension measured in pixels.\n@OutputOnly", + "type": "integer" + }, + "form": { + "enumDescriptions": [ + "Do not use. For proto versioning only.", + "A software stack that simulates the device", + "Actual hardware" + ], + "enum": [ + "DEVICE_FORM_UNSPECIFIED", + "VIRTUAL", + "PHYSICAL" + ], + "description": "Whether this device is virtual or physical.\n@OutputOnly", + "type": "string" + }, + "screenDensity": { + "type": "integer", + "format": "int32", + "description": "Screen density in DPI.\nThis corresponds to ro.sf.lcd_density\n@OutputOnly" + }, + "supportedVersionIds": { + "items": { + "type": "string" + }, + "type": "array", + "description": "The set of Android versions this device supports.\n@OutputOnly" + }, + "supportedAbis": { + "description": "The list of supported ABIs for this device.\nThis corresponds to either android.os.Build.SUPPORTED_ABIS (for API level\n21 and above) or android.os.Build.CPU_ABI/CPU_ABI2.\nThe most preferred ABI is the first element in the list.\n\nElements are optionally prefixed by \"version_id:\" (where version_id is\nthe id of an AndroidVersion), denoting an ABI that is supported only on\na particular version.\n@OutputOnly", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "The human-readable marketing name for this device model.\nExamples: \"Nexus 5\", \"Galaxy S5\"\n@OutputOnly", + "type": "string" + } + }, + "id": "AndroidModel" + }, + "TestSetup": { + "description": "A description of how to set up the device prior to running the test", + "type": "object", + "properties": { + "directoriesToPull": { + "description": "The directories on the device to upload to GCS at the end of the test;\nthey must be absolute, whitelisted paths.\nRefer to RegularFile for whitelisted paths.\nOptional", + "items": { + "type": "string" + }, + "type": "array" + }, + "filesToPush": { + "description": "Optional", + "items": { + "$ref": "DeviceFile" + }, + "type": "array" + }, + "networkProfile": { + "description": "The network traffic profile used for running the test.\nOptional", + "type": "string" + }, + "environmentVariables": { + "description": "Environment variables to set for the test (only applicable for\ninstrumentation tests).", + "items": { + "$ref": "EnvironmentVariable" + }, + "type": "array" + }, + "account": { + "description": "The device will be logged in on this account for the duration of the test.\nOptional", + "$ref": "Account" + } + }, + "id": "TestSetup" + }, + "TestSpecification": { + "id": "TestSpecification", + "description": "A description of how to run the test.", + "type": "object", + "properties": { + "testTimeout": { + "format": "google-duration", + "description": "Max time a test execution is allowed to run before it is\nautomatically cancelled.\nOptional, default is 5 min.", + "type": "string" + }, + "autoGoogleLogin": { + "type": "boolean", + "description": "Enables automatic Google account login.\nIf set, the service will automatically generate a Google test account and\nadd it to the device, before executing the test. Note that test accounts\nmight be reused.\nMany applications show their full set of functionalities when an account is\npresent on the device. Logging into the device with these generated\naccounts allows testing more functionalities.\nDefault is false.\nOptional" + }, + "androidTestLoop": { + "description": "An Android Application with a Test Loop", + "$ref": "AndroidTestLoop" + }, + "testSetup": { + "$ref": "TestSetup", + "description": "Test setup requirements e.g. files to install, bootstrap scripts\nOptional" + }, + "androidRoboTest": { + "$ref": "AndroidRoboTest", + "description": "An Android robo test." + }, + "androidInstrumentationTest": { + "description": "An Android instrumentation test.", + "$ref": "AndroidInstrumentationTest" + }, + "disablePerformanceMetrics": { + "description": "Disables performance metrics recording; may reduce test latency.", + "type": "boolean" + }, + "disableVideoRecording": { + "description": "Disables video recording; may reduce test latency.", + "type": "boolean" + } + } + }, + "TestMatrix": { + "description": "A group of one or more TestExecutions, built by taking a\nproduct of values over a pre-defined set of axes.", + "type": "object", + "properties": { + "resultStorage": { + "$ref": "ResultStorage", + "description": "Where the results for the matrix are written.\nRequired" + }, + "testMatrixId": { + "description": "Unique id set by the service.\n@OutputOnly", + "type": "string" + }, + "invalidMatrixDetails": { + "type": "string", + "enumDescriptions": [ + "Do not use. For proto versioning only.", + "The matrix is INVALID, but there are no further details available.", + "The input app APK could not be parsed.", + "The input test APK could not be parsed.", + "The AndroidManifest.xml could not be found.", + "The APK manifest does not declare a package name.", + "The test package and app package are the same.", + "The test apk does not declare an instrumentation.", + "The input app apk does not have a signature.", + "The test runner class specified by user or in the test APK's manifest file\nis not compatible with Android Test Orchestrator.\nOrchestrator is only compatible with AndroidJUnitRunner version 1.0 or\nhigher.\nOrchestrator can be disabled by using DO_NOT_USE_ORCHESTRATOR\nOrchestratorOption.", + "The test APK does not contain the test runner class specified by user or in\nthe manifest file.\nThis can be caused by either of the following reasons:\n- the user provided a runner class name that's incorrect, or\n- the test runner isn't built into the test APK (might be in the app APK\ninstead).", + "A main launcher activity could not be found.", + "The app declares one or more permissions that are not allowed.", + "There is a conflict in the provided robo_directives.", + "There there is no test loop intent filter, or the one that is given is\nnot formatted correctly.", + "The request contains a scenario label that was not declared in the\nmanifest.", + "There was an error when parsing a label's value.", + "The request contains a scenario number that was not declared in the\nmanifest.", + "Device administrator applications are not allowed.", + "The APK is marked as \"testOnly\"." + ], + "enum": [ + "INVALID_MATRIX_DETAILS_UNSPECIFIED", + "DETAILS_UNAVAILABLE", + "MALFORMED_APK", + "MALFORMED_TEST_APK", + "NO_MANIFEST", + "NO_PACKAGE_NAME", + "TEST_SAME_AS_APP", + "NO_INSTRUMENTATION", + "NO_SIGNATURE", + "INSTRUMENTATION_ORCHESTRATOR_INCOMPATIBLE", + "NO_TEST_RUNNER_CLASS", + "NO_LAUNCHER_ACTIVITY", + "FORBIDDEN_PERMISSIONS", + "INVALID_ROBO_DIRECTIVES", + "TEST_LOOP_INTENT_FILTER_NOT_FOUND", + "SCENARIO_LABEL_NOT_DECLARED", + "SCENARIO_LABEL_MALFORMED", + "SCENARIO_NOT_DECLARED", + "DEVICE_ADMIN_RECEIVER", + "TEST_ONLY_APK" + ], + "description": "Describes why the matrix is considered invalid.\nOnly useful for matrices in the INVALID state.\n@OutputOnly" + }, + "state": { + "description": "Indicates the current progress of the test matrix (e.g., FINISHED)\n@OutputOnly", + "type": "string", + "enumDescriptions": [ + "Do not use. For proto versioning only.", + "The execution or matrix is being validated.", + "The execution or matrix is waiting for resources to become available.", + "The execution is currently being processed.\n\nCan only be set on an execution.", + "The execution or matrix has terminated normally.\n\nOn a matrix this means that the matrix level processing completed normally,\nbut individual executions may be in an ERROR state.", + "The execution or matrix has stopped because it encountered an\ninfrastructure failure.", + "The execution was not run because it corresponds to a unsupported\nenvironment.\n\nCan only be set on an execution.", + "The execution was not run because the provided inputs are incompatible with\nthe requested environment.\n\nExample: requested AndroidVersion is lower than APK's minSdkVersion\n\nCan only be set on an execution.", + "The execution was not run because the provided inputs are incompatible with\nthe requested architecture.\n\nExample: requested device does not support running the native code in\nthe supplied APK\n\nCan only be set on an execution.", + "The user cancelled the execution.\n\nCan only be set on an execution.", + "The execution or matrix was not run because the provided inputs are not\nvalid.\n\nExamples: input file is not of the expected type, is malformed/corrupt, or\nwas flagged as malware" + ], + "enum": [ + "TEST_STATE_UNSPECIFIED", + "VALIDATING", + "PENDING", + "RUNNING", + "FINISHED", + "ERROR", + "UNSUPPORTED_ENVIRONMENT", + "INCOMPATIBLE_ENVIRONMENT", + "INCOMPATIBLE_ARCHITECTURE", + "CANCELLED", + "INVALID" + ] + }, + "testSpecification": { + "$ref": "TestSpecification", + "description": "How to run the test.\nRequired" + }, + "projectId": { + "description": "The cloud project that owns the test matrix.\n@OutputOnly", + "type": "string" + }, + "clientInfo": { + "$ref": "ClientInfo", + "description": "Information about the client which invoked the test.\nOptional" + }, + "testExecutions": { + "description": "The list of test executions that the service creates for this matrix.\n@OutputOnly", + "items": { + "$ref": "TestExecution" + }, + "type": "array" + }, + "timestamp": { + "format": "google-datetime", + "description": "The time this test matrix was initially created.\n@OutputOnly", + "type": "string" + }, + "environmentMatrix": { + "description": "How the host machine(s) are configured.\nRequired", + "$ref": "EnvironmentMatrix" + } + }, + "id": "TestMatrix" + }, + "ResultStorage": { + "description": "Locations where the results of running the test are stored.", + "type": "object", + "properties": { + "toolResultsExecution": { + "$ref": "ToolResultsExecution", + "description": "The tool results execution that results are written to.\n@OutputOnly" + }, + "toolResultsHistory": { + "description": "The tool results history that contains the tool results execution that\nresults are written to.\n\nOptional, if not provided the service will choose an appropriate value.", + "$ref": "ToolResultsHistory" + }, + "googleCloudStorage": { + "$ref": "GoogleCloudStorage", + "description": "Required." + } + }, + "id": "ResultStorage" + }, + "FileReference": { + "type": "object", + "properties": { + "gcsPath": { + "description": "A path to a file in Google Cloud Storage.\nExample: gs://build-app-1414623860166/app-debug-unaligned.apk", + "type": "string" + } + }, + "id": "FileReference", + "description": "A reference to a file, used for user inputs." + }, + "AndroidVersion": { + "description": "A version of the Android OS", + "type": "object", + "properties": { + "apiLevel": { + "format": "int32", + "description": "The API level for this Android version.\nExamples: 18, 19\n@OutputOnly", + "type": "integer" + }, + "distribution": { + "$ref": "Distribution", + "description": "Market share for this version.\n@OutputOnly" + }, + "releaseDate": { + "$ref": "Date", + "description": "The date this Android version became available in the market.\n@OutputOnly" + }, + "id": { + "description": "An opaque id for this Android version.\nUse this id to invoke the TestExecutionService.\n@OutputOnly", + "type": "string" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Tags for this dimension.\nExamples: \"default\", \"preview\", \"deprecated\"" + }, + "versionString": { + "description": "A string representing this version of the Android OS.\nExamples: \"4.3\", \"4.4\"\n@OutputOnly", + "type": "string" + }, + "codeName": { + "description": "The code name for this Android version.\nExamples: \"JellyBean\", \"KitKat\"\n@OutputOnly", + "type": "string" + } + }, + "id": "AndroidVersion" + }, + "TestDetails": { + "type": "object", + "properties": { + "errorMessage": { + "description": "If the TestState is ERROR, then this string will contain human-readable\ndetails about the error.\n@OutputOnly", + "type": "string" + }, + "progressMessages": { + "description": "Human-readable, detailed descriptions of the test's progress.\nFor example: \"Provisioning a device\", \"Starting Test\".\n\nDuring the course of execution new data may be appended\nto the end of progress_messages.\n@OutputOnly", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "TestDetails", + "description": "Additional details about the progress of the running test." + }, + "ToolResultsExecution": { + "description": "Represents a tool results execution resource.\n\nThis has the results of a TestMatrix.", + "type": "object", + "properties": { + "historyId": { + "description": "A tool results history ID.\n@OutputOnly", + "type": "string" + }, + "projectId": { + "description": "The cloud project that owns the tool results execution.\n@OutputOnly", + "type": "string" + }, + "executionId": { + "description": "A tool results execution ID.\n@OutputOnly", + "type": "string" + } + }, + "id": "ToolResultsExecution" + }, + "ToolResultsHistory": { + "description": "Represents a tool results history resource.", + "type": "object", + "properties": { + "historyId": { + "description": "A tool results history ID.\nRequired", + "type": "string" + }, + "projectId": { + "description": "The cloud project that owns the tool results history.\nRequired", + "type": "string" + } + }, + "id": "ToolResultsHistory" + }, + "AndroidRoboTest": { + "description": "A test of an android application that explores the application on a virtual\nor physical Android Device, finding culprits and crashes as it goes.", + "type": "object", + "properties": { + "roboDirectives": { + "description": "A set of directives Robo should apply during the crawl.\nThis allows users to customize the crawl. For example, the username and\npassword for a test account can be provided.\nOptional", + "items": { + "$ref": "RoboDirective" + }, + "type": "array" + }, + "maxDepth": { + "format": "int32", + "description": "The max depth of the traversal stack Robo can explore. Needs to be at least\n2 to make Robo explore the app beyond the first activity.\nDefault is 50.\nOptional", + "type": "integer" + }, + "appApk": { + "$ref": "FileReference", + "description": "The APK for the application under test.\nRequired" + }, + "appPackageId": { + "description": "The java package for the application under test.\nOptional, default is determined by examining the application's manifest.", + "type": "string" + }, + "appInitialActivity": { + "type": "string", + "description": "The initial activity that should be used to start the app.\nOptional" + }, + "maxSteps": { + "format": "int32", + "description": "The max number of steps Robo can execute.\nDefault is no limit.\nOptional", + "type": "integer" + } + }, + "id": "AndroidRoboTest" + }, + "Distribution": { + "description": "Data about the relative number of devices running a\ngiven configuration of the Android platform.", + "type": "object", + "properties": { + "marketShare": { + "format": "double", + "description": "The estimated fraction (0-1) of the total market with this configuration.\n@OutputOnly", + "type": "number" + }, + "measurementTime": { + "format": "google-datetime", + "description": "The time this distribution was measured.\n@OutputOnly", + "type": "string" + } + }, + "id": "Distribution" + }, + "Orientation": { + "description": "Screen orientation of the device.", + "type": "object", + "properties": { + "tags": { + "description": "Tags for this dimension.\nExamples: \"default\"", + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "The id for this orientation.\nExample: \"portrait\"\n@OutputOnly", + "type": "string" + }, + "name": { + "description": "A human-friendly name for this orientation.\nExample: \"portrait\"\n@OutputOnly", + "type": "string" + } + }, + "id": "Orientation" + }, + "NetworkConfigurationCatalog": { + "type": "object", + "properties": { + "configurations": { + "items": { + "$ref": "NetworkConfiguration" + }, + "type": "array" + } + }, + "id": "NetworkConfigurationCatalog" + }, + "AndroidTestLoop": { + "description": "A test of an Android Application with a Test Loop.\nThe intent \u003cintent-name\u003e will be implicitly added, since Games is the only\nuser of this api, for the time being.", + "type": "object", + "properties": { + "scenarioLabels": { + "description": "The list of scenario labels that should be run during the test.\nThe scenario labels should map to labels defined in the application's\nmanifest. For example, player_experience and\ncom.google.test.loops.player_experience add all of the loops labeled in the\nmanifest with the com.google.test.loops.player_experience name to the\nexecution.\nOptional. Scenarios can also be specified in the scenarios field.", + "items": { + "type": "string" + }, + "type": "array" + }, + "scenarios": { + "description": "The list of scenarios that should be run during the test.\nOptional, default is all test loops, derived from the application's\nmanifest.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "appPackageId": { + "description": "The java package for the application under test.\nOptional, default is determined by examining the application's manifest.", + "type": "string" + }, + "appApk": { + "description": "The APK for the application under test.\nRequired", + "$ref": "FileReference" + } + }, + "id": "AndroidTestLoop" + }, + "GoogleAuto": { + "description": "Enables automatic Google account login.\nIf set, the service will automatically generate a Google test account and add\nit to the device, before executing the test. Note that test accounts might be\nreused.\nMany applications show their full set of functionalities when an account is\npresent on the device. Logging into the device with these generated accounts\nallows testing more functionalities.", + "type": "object", + "properties": {}, + "id": "GoogleAuto" + }, + "AndroidDeviceCatalog": { + "description": "The currently supported Android devices.", + "type": "object", + "properties": { + "runtimeConfiguration": { + "$ref": "AndroidRuntimeConfiguration", + "description": "The set of supported runtime configurations.\n@OutputOnly" + }, + "versions": { + "description": "The set of supported Android OS versions.\n@OutputOnly", + "items": { + "$ref": "AndroidVersion" + }, + "type": "array" + }, + "models": { + "description": "The set of supported Android device models.\n@OutputOnly", + "items": { + "$ref": "AndroidModel" + }, + "type": "array" + } + }, + "id": "AndroidDeviceCatalog" + }, + "AndroidDeviceList": { + "id": "AndroidDeviceList", + "description": "A list of Android device configurations in which the test is to be executed.", + "type": "object", + "properties": { + "androidDevices": { + "description": "A list of Android devices\nRequired", + "items": { + "$ref": "AndroidDevice" + }, + "type": "array" + } + } + }, + "ClientInfo": { + "id": "ClientInfo", + "description": "Information about the client which invoked the test.", + "type": "object", + "properties": { + "clientInfoDetails": { + "description": "The list of detailed information about client.", + "items": { + "$ref": "ClientInfoDetail" + }, + "type": "array" + }, + "name": { + "description": "Client name, such as gcloud.\nRequired", + "type": "string" + } + } + }, + "EnvironmentMatrix": { + "properties": { + "androidMatrix": { + "$ref": "AndroidMatrix", + "description": "A matrix of Android devices." + }, + "androidDeviceList": { + "$ref": "AndroidDeviceList", + "description": "A list of Android devices; the test will be run only on the specified\ndevices." + } + }, + "id": "EnvironmentMatrix", + "description": "The matrix of environments in which the test is to be executed.", + "type": "object" + }, + "CancelTestMatrixResponse": { + "description": "Response containing the current state of the specified test matrix.", + "type": "object", + "properties": { + "testState": { + "description": "The current rolled-up state of the test matrix.\nIf this state is already final, then the cancelation request will\nhave no effect.", + "type": "string", + "enumDescriptions": [ + "Do not use. For proto versioning only.", + "The execution or matrix is being validated.", + "The execution or matrix is waiting for resources to become available.", + "The execution is currently being processed.\n\nCan only be set on an execution.", + "The execution or matrix has terminated normally.\n\nOn a matrix this means that the matrix level processing completed normally,\nbut individual executions may be in an ERROR state.", + "The execution or matrix has stopped because it encountered an\ninfrastructure failure.", + "The execution was not run because it corresponds to a unsupported\nenvironment.\n\nCan only be set on an execution.", + "The execution was not run because the provided inputs are incompatible with\nthe requested environment.\n\nExample: requested AndroidVersion is lower than APK's minSdkVersion\n\nCan only be set on an execution.", + "The execution was not run because the provided inputs are incompatible with\nthe requested architecture.\n\nExample: requested device does not support running the native code in\nthe supplied APK\n\nCan only be set on an execution.", + "The user cancelled the execution.\n\nCan only be set on an execution.", + "The execution or matrix was not run because the provided inputs are not\nvalid.\n\nExamples: input file is not of the expected type, is malformed/corrupt, or\nwas flagged as malware" + ], + "enum": [ + "TEST_STATE_UNSPECIFIED", + "VALIDATING", + "PENDING", + "RUNNING", + "FINISHED", + "ERROR", + "UNSUPPORTED_ENVIRONMENT", + "INCOMPATIBLE_ENVIRONMENT", + "INCOMPATIBLE_ARCHITECTURE", + "CANCELLED", + "INVALID" + ] + } + }, + "id": "CancelTestMatrixResponse" + }, + "Date": { + "type": "object", + "properties": { + "month": { + "format": "int32", + "description": "Month of year. Must be from 1 to 12.", + "type": "integer" + }, + "day": { + "format": "int32", + "description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0\nif specifying a year/month where the day is not significant.", + "type": "integer" + }, + "year": { + "format": "int32", + "description": "Year of date. Must be from 1 to 9999, or 0 if specifying a date without\na year.", + "type": "integer" + } + }, + "id": "Date", + "description": "Represents a whole calendar date, e.g. date of birth. The time of day and\ntime zone are either specified elsewhere or are not significant. The date\nis relative to the Proleptic Gregorian Calendar. The day may be 0 to\nrepresent a year and month where the day is not significant, e.g. credit card\nexpiration date. The year may be 0 to represent a month and day independent\nof year, e.g. anniversary date. Related types are google.type.TimeOfDay\nand `google.protobuf.Timestamp`." + }, + "Account": { + "description": "Identifies an account and how to log into it", + "type": "object", + "properties": { + "googleAuto": { + "description": "An automatic google login account", + "$ref": "GoogleAuto" + } + }, + "id": "Account" + }, + "TestEnvironmentCatalog": { + "properties": { + "androidDeviceCatalog": { + "$ref": "AndroidDeviceCatalog", + "description": "Android devices suitable for running Android Instrumentation Tests." + }, + "networkConfigurationCatalog": { + "$ref": "NetworkConfigurationCatalog", + "description": "Supported network configurations" + } + }, + "id": "TestEnvironmentCatalog", + "description": "A description of a test environment.", + "type": "object" + }, + "Locale": { + "description": "A location/region designation for language.", + "type": "object", + "properties": { + "tags": { + "description": "Tags for this dimension.\nExamples: \"default\"", + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "The id for this locale.\nExample: \"en_US\"\n@OutputOnly", + "type": "string" + }, + "region": { + "description": "A human-friendy string representing the region for this locale.\nExample: \"United States\"\nNot present for every locale.\n@OutputOnly", + "type": "string" + }, + "name": { + "description": "A human-friendly name for this language/locale.\nExample: \"English\"\n@OutputOnly", + "type": "string" + } + }, + "id": "Locale" + }, + "ObbFile": { + "description": "An opaque binary blob file to install on the device before the test starts", + "type": "object", + "properties": { + "obb": { + "$ref": "FileReference", + "description": "Opaque Binary Blob (OBB) file(s) to install on the device\nRequired" + }, + "obbFileName": { + "description": "OBB file name which must conform to the format as specified by\nAndroid\ne.g. [main|patch].0300110.com.example.android.obb\nwhich will be installed into\n \u003cshared-storage\u003e/Android/obb/\u003cpackage-name\u003e/\non the device\nRequired", + "type": "string" + } + }, + "id": "ObbFile" + }, + "AndroidRuntimeConfiguration": { + "description": "Configuration that can be selected at the time a test is run.", + "type": "object", + "properties": { + "orientations": { + "description": "The set of available orientations.\n@OutputOnly", + "items": { + "$ref": "Orientation" + }, + "type": "array" + }, + "locales": { + "description": "The set of available locales.\n@OutputOnly", + "items": { + "$ref": "Locale" + }, + "type": "array" + } + }, + "id": "AndroidRuntimeConfiguration" + }, + "AndroidDevice": { + "id": "AndroidDevice", + "description": "A single Android device.", + "type": "object", + "properties": { + "locale": { + "description": "The locale the test device used for testing.\nUse the EnvironmentDiscoveryService to get supported options.\nRequired", + "type": "string" + }, + "androidVersionId": { + "type": "string", + "description": "The id of the Android OS version to be used.\nUse the EnvironmentDiscoveryService to get supported options.\nRequired" + }, + "androidModelId": { + "description": "The id of the Android device to be used.\nUse the EnvironmentDiscoveryService to get supported options.\nRequired", + "type": "string" + }, + "orientation": { + "description": "How the device is oriented during the test.\nUse the EnvironmentDiscoveryService to get supported options.\nRequired", + "type": "string" + } + } + }, + "NetworkConfiguration": { + "type": "object", + "properties": { + "id": { + "description": "The unique opaque id for this network traffic configuration\n@OutputOnly", + "type": "string" + }, + "upRule": { + "description": "The emulation rule applying to the upload traffic", + "$ref": "TrafficRule" + }, + "downRule": { + "$ref": "TrafficRule", + "description": "The emulation rule applying to the download traffic" + } + }, + "id": "NetworkConfiguration" + }, + "ToolResultsStep": { + "description": "Represents a tool results step resource.\n\nThis has the results of a TestExecution.", + "type": "object", + "properties": { + "executionId": { + "description": "A tool results execution ID.\n@OutputOnly", + "type": "string" + }, + "stepId": { + "description": "A tool results step ID.\n@OutputOnly", + "type": "string" + }, + "historyId": { + "description": "A tool results history ID.\n@OutputOnly", + "type": "string" + }, + "projectId": { + "description": "The cloud project that owns the tool results step.\n@OutputOnly", + "type": "string" + } + }, + "id": "ToolResultsStep" + }, + "TrafficRule": { + "description": "Network emulation parameters", + "type": "object", + "properties": { + "bandwidth": { + "format": "float", + "description": "Bandwidth in kbits/second", + "type": "number" + }, + "packetDuplicationRatio": { + "format": "float", + "description": "Packet duplication ratio (0.0 - 1.0)", + "type": "number" + }, + "delay": { + "format": "google-duration", + "description": "Packet delay, must be \u003e= 0", + "type": "string" + }, + "packetLossRatio": { + "format": "float", + "description": "Packet loss ratio (0.0 - 1.0)", + "type": "number" + }, + "burst": { + "format": "float", + "description": "Burst size in kbits", + "type": "number" + } + }, + "id": "TrafficRule" + }, + "AndroidInstrumentationTest": { + "description": "A test of an Android application that can control an Android component\nindependently of its normal lifecycle.\nAndroid instrumentation tests run an application APK and test APK inside the\nsame process on a virtual or physical AndroidDevice. They also specify\na test runner class, such as com.google.GoogleTestRunner, which can vary\non the specific instrumentation framework chosen.\n\nSee \u003chttp://developer.android.com/tools/testing/testing_android.html\u003e for\nmore information on types of Android tests.", + "type": "object", + "properties": { + "testApk": { + "description": "The APK containing the test code to be executed.\nRequired", + "$ref": "FileReference" + }, + "testRunnerClass": { + "description": "The InstrumentationTestRunner class.\nOptional, default is determined by examining the application's manifest.", + "type": "string" + }, + "testPackageId": { + "description": "The java package for the test to be executed.\nOptional, default is determined by examining the application's manifest.", + "type": "string" + }, + "appPackageId": { + "description": "The java package for the application under test.\nOptional, default is determined by examining the application's manifest.", + "type": "string" + }, + "appApk": { + "$ref": "FileReference", + "description": "The APK for the application under test.\nRequired" + }, + "orchestratorOption": { + "description": "The option of whether running each test within its own invocation of\ninstrumentation with Android Test Orchestrator or not.\n** Orchestrator is only compatible with AndroidJUnitRunner version 1.0 or\nhigher! **\nOrchestrator offers the following benefits:\n - No shared state\n - Crashes are isolated\n - Logs are scoped per test\n\nSee\n\u003chttps://developer.android.com/training/testing/junit-runner.html#using-android-test-orchestrator\u003e\nfor more information about Android Test Orchestrator.\n\nOptional, if empty, test will be run without orchestrator.", + "type": "string", + "enumDescriptions": [ + "This means that the server should choose the mode. And test will be run\nwithout orchestrator.\nUsing orchestrator is highly encouraged because of all the benefits it\noffers. And in the future, all instrumentation tests will be run with\norchestrator by default if preference unspecified.", + "Run test using orchestrator.\n** Only compatible with AndroidJUnitRunner version 1.0 or higher! **\nRecommended.", + "Run test without using orchestrator." + ], + "enum": [ + "ORCHESTRATOR_OPTION_UNSPECIFIED", + "USE_ORCHESTRATOR", + "DO_NOT_USE_ORCHESTRATOR" + ] + }, + "testTargets": { + "description": "Each target must be fully qualified with the package name or class name,\nin one of these formats:\n - \"package package_name\"\n - \"class package_name.class_name\"\n - \"class package_name.class_name#method_name\"\n\nOptional, if empty, all targets in the module will be run.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "AndroidInstrumentationTest" + }, + "DeviceFile": { + "id": "DeviceFile", + "description": "A single device file description.", + "type": "object", + "properties": { + "obbFile": { + "description": "A reference to an opaque binary blob file", + "$ref": "ObbFile" + } + } + }, + "ClientInfoDetail": { + "properties": { + "value": { + "description": "The value of detailed client information.\nRequired", + "type": "string" + }, + "key": { + "description": "The key of detailed client information.\nRequired", + "type": "string" + } + }, + "id": "ClientInfoDetail", + "description": "Key-value pair of detailed information about the client which invoked the\ntest. For example {'Version', '1.0'}, {'Release Track', 'BETA'}", + "type": "object" + }, + "EnvironmentVariable": { + "description": "A key-value pair passed as an environment variable to the test", + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Key for the environment variable" + }, + "value": { + "description": "Value for the environment variable", + "type": "string" + } + }, + "id": "EnvironmentVariable" + }, + "Environment": { + "properties": { + "androidDevice": { + "description": "An Android device which must be used with an Android test.", + "$ref": "AndroidDevice" + } + }, + "id": "Environment", + "description": "The environment in which the test is run.", + "type": "object" + }, + "TestExecution": { + "properties": { + "environment": { + "description": "How the host machine(s) are configured.\n@OutputOnly", + "$ref": "Environment" + }, + "state": { + "enum": [ + "TEST_STATE_UNSPECIFIED", + "VALIDATING", + "PENDING", + "RUNNING", + "FINISHED", + "ERROR", + "UNSUPPORTED_ENVIRONMENT", + "INCOMPATIBLE_ENVIRONMENT", + "INCOMPATIBLE_ARCHITECTURE", + "CANCELLED", + "INVALID" + ], + "description": "Indicates the current progress of the test execution (e.g., FINISHED).\n@OutputOnly", + "type": "string", + "enumDescriptions": [ + "Do not use. For proto versioning only.", + "The execution or matrix is being validated.", + "The execution or matrix is waiting for resources to become available.", + "The execution is currently being processed.\n\nCan only be set on an execution.", + "The execution or matrix has terminated normally.\n\nOn a matrix this means that the matrix level processing completed normally,\nbut individual executions may be in an ERROR state.", + "The execution or matrix has stopped because it encountered an\ninfrastructure failure.", + "The execution was not run because it corresponds to a unsupported\nenvironment.\n\nCan only be set on an execution.", + "The execution was not run because the provided inputs are incompatible with\nthe requested environment.\n\nExample: requested AndroidVersion is lower than APK's minSdkVersion\n\nCan only be set on an execution.", + "The execution was not run because the provided inputs are incompatible with\nthe requested architecture.\n\nExample: requested device does not support running the native code in\nthe supplied APK\n\nCan only be set on an execution.", + "The user cancelled the execution.\n\nCan only be set on an execution.", + "The execution or matrix was not run because the provided inputs are not\nvalid.\n\nExamples: input file is not of the expected type, is malformed/corrupt, or\nwas flagged as malware" + ] + }, + "toolResultsStep": { + "$ref": "ToolResultsStep", + "description": "Where the results for this execution are written.\n@OutputOnly" + }, + "projectId": { + "description": "The cloud project that owns the test execution.\n@OutputOnly", + "type": "string" + }, + "testSpecification": { + "$ref": "TestSpecification", + "description": "How to run the test.\n@OutputOnly" + }, + "id": { + "description": "Unique id set by the backend.\n@OutputOnly", + "type": "string" + }, + "timestamp": { + "format": "google-datetime", + "description": "The time this test execution was initially created.\n@OutputOnly", + "type": "string" + }, + "testDetails": { + "description": "Additional details about the running test.\n@OutputOnly", + "$ref": "TestDetails" + }, + "matrixId": { + "description": "Id of the containing TestMatrix.\n@OutputOnly", + "type": "string" + } + }, + "id": "TestExecution", + "description": "Specifies a single test to be executed in a single environment.", + "type": "object" + }, + "GoogleCloudStorage": { + "description": "A storage location within Google cloud storage (GCS).", + "type": "object", + "properties": { + "gcsPath": { + "description": "The path to a directory in GCS that will\neventually contain the results for this test.\nThe requesting user must have write access on the bucket in the supplied\npath.\nRequired", + "type": "string" + } + }, + "id": "GoogleCloudStorage" + }, + "RoboDirective": { + "properties": { + "inputText": { + "description": "The text that Robo is directed to set. If left empty, the directive will be\ntreated as a CLICK on the element matching the resource_name.\nOptional", + "type": "string" + }, + "resourceName": { + "description": "The android resource name of the target UI element\nFor example,\n in Java: R.string.foo\n in xml: @string/foo\nOnly the “foo” part is needed.\nReference doc:\nhttps://developer.android.com/guide/topics/resources/accessing-resources.html\nRequired", + "type": "string" + }, + "actionType": { + "description": "The type of action that Robo should perform on the specified element.\nRequired.", + "type": "string", + "enumDescriptions": [ + "DO NOT USE. For proto versioning only.", + "Direct Robo to click on the specified element. No-op if specified element\nis not clickable.", + "Direct Robo to enter text on the specified element. No-op if specified\nelement is not enabled or does not allow text entry." + ], + "enum": [ + "ACTION_TYPE_UNSPECIFIED", + "SINGLE_CLICK", + "ENTER_TEXT" + ] + } + }, + "id": "RoboDirective", + "description": "Directs Robo to interact with a specific UI element if it is encountered\nduring the crawl. Currently, Robo can perform text entry or element click.", + "type": "object" + }, + "AndroidMatrix": { + "description": "A set of Android device configuration permutations is defined by the\nthe cross-product of the given axes. Internally, the given AndroidMatrix\nwill be expanded into a set of AndroidDevices.\n\nOnly supported permutations will be instantiated. Invalid permutations\n(e.g., incompatible models/versions) are ignored.", + "type": "object", + "properties": { + "orientations": { + "items": { + "type": "string" + }, + "type": "array", + "description": "The set of orientations to test with.\nUse the EnvironmentDiscoveryService to get supported options.\nRequired" + }, + "locales": { + "description": "The set of locales the test device will enable for testing.\nUse the EnvironmentDiscoveryService to get supported options.\nRequired", + "items": { + "type": "string" + }, + "type": "array" + }, + "androidVersionIds": { + "description": "The ids of the set of Android OS version to be used.\nUse the EnvironmentDiscoveryService to get supported options.\nRequired", + "items": { + "type": "string" + }, + "type": "array" + }, + "androidModelIds": { + "description": "The ids of the set of Android device to be used.\nUse the EnvironmentDiscoveryService to get supported options.\nRequired", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "id": "AndroidMatrix" + } + }, + "protocol": "rest", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "version": "v1", + "baseUrl": "https://testing.googleapis.com/", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + }, + "https://www.googleapis.com/auth/cloud-platform.read-only": { + "description": "View your data across Google Cloud Platform services" + } + } + } + }, + "kind": "discovery#restDescription", + "description": "Allows developers to run automated tests for their mobile applications on Google infrastructure.", + "servicePath": "", + "rootUrl": "https://testing.googleapis.com/", + "basePath": "" +} diff --git a/vendor/google.golang.org/api/testing/v1/testing-gen.go b/vendor/google.golang.org/api/testing/v1/testing-gen.go new file mode 100644 index 000000000..60a6a2388 --- /dev/null +++ b/vendor/google.golang.org/api/testing/v1/testing-gen.go @@ -0,0 +1,2782 @@ +// Package testing provides access to the Google Cloud Testing API. +// +// See https://developers.google.com/cloud-test-lab/ +// +// Usage example: +// +// import "google.golang.org/api/testing/v1" +// ... +// testingService, err := testing.New(oauthHttpClient) +package testing // import "google.golang.org/api/testing/v1" + +import ( + "bytes" + "encoding/json" + "errors" + "fmt" + context "golang.org/x/net/context" + ctxhttp "golang.org/x/net/context/ctxhttp" + gensupport "google.golang.org/api/gensupport" + googleapi "google.golang.org/api/googleapi" + "io" + "net/http" + "net/url" + "strconv" + "strings" +) + +// Always reference these packages, just in case the auto-generated code +// below doesn't. +var _ = bytes.NewBuffer +var _ = strconv.Itoa +var _ = fmt.Sprintf +var _ = json.NewDecoder +var _ = io.Copy +var _ = url.Parse +var _ = gensupport.MarshalJSON +var _ = googleapi.Version +var _ = errors.New +var _ = strings.Replace +var _ = context.Canceled +var _ = ctxhttp.Do + +const apiId = "testing:v1" +const apiName = "testing" +const apiVersion = "v1" +const basePath = "https://testing.googleapis.com/" + +// OAuth2 scopes used by this API. +const ( + // View and manage your data across Google Cloud Platform services + CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" + + // View your data across Google Cloud Platform services + CloudPlatformReadOnlyScope = "https://www.googleapis.com/auth/cloud-platform.read-only" +) + +func New(client *http.Client) (*Service, error) { + if client == nil { + return nil, errors.New("client is nil") + } + s := &Service{client: client, BasePath: basePath} + s.Projects = NewProjectsService(s) + s.TestEnvironmentCatalog = NewTestEnvironmentCatalogService(s) + return s, nil +} + +type Service struct { + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + + Projects *ProjectsService + + TestEnvironmentCatalog *TestEnvironmentCatalogService +} + +func (s *Service) userAgent() string { + if s.UserAgent == "" { + return googleapi.UserAgent + } + return googleapi.UserAgent + " " + s.UserAgent +} + +func NewProjectsService(s *Service) *ProjectsService { + rs := &ProjectsService{s: s} + rs.TestMatrices = NewProjectsTestMatricesService(s) + return rs +} + +type ProjectsService struct { + s *Service + + TestMatrices *ProjectsTestMatricesService +} + +func NewProjectsTestMatricesService(s *Service) *ProjectsTestMatricesService { + rs := &ProjectsTestMatricesService{s: s} + return rs +} + +type ProjectsTestMatricesService struct { + s *Service +} + +func NewTestEnvironmentCatalogService(s *Service) *TestEnvironmentCatalogService { + rs := &TestEnvironmentCatalogService{s: s} + return rs +} + +type TestEnvironmentCatalogService struct { + s *Service +} + +// Account: Identifies an account and how to log into it +type Account struct { + // GoogleAuto: An automatic google login account + GoogleAuto *GoogleAuto `json:"googleAuto,omitempty"` + + // ForceSendFields is a list of field names (e.g. "GoogleAuto") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "GoogleAuto") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Account) MarshalJSON() ([]byte, error) { + type noMethod Account + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AndroidDevice: A single Android device. +type AndroidDevice struct { + // AndroidModelId: The id of the Android device to be used. + // Use the EnvironmentDiscoveryService to get supported + // options. + // Required + AndroidModelId string `json:"androidModelId,omitempty"` + + // AndroidVersionId: The id of the Android OS version to be used. + // Use the EnvironmentDiscoveryService to get supported + // options. + // Required + AndroidVersionId string `json:"androidVersionId,omitempty"` + + // Locale: The locale the test device used for testing. + // Use the EnvironmentDiscoveryService to get supported + // options. + // Required + Locale string `json:"locale,omitempty"` + + // Orientation: How the device is oriented during the test. + // Use the EnvironmentDiscoveryService to get supported + // options. + // Required + Orientation string `json:"orientation,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AndroidModelId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AndroidModelId") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AndroidDevice) MarshalJSON() ([]byte, error) { + type noMethod AndroidDevice + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AndroidDeviceCatalog: The currently supported Android devices. +type AndroidDeviceCatalog struct { + // Models: The set of supported Android device models. + // @OutputOnly + Models []*AndroidModel `json:"models,omitempty"` + + // RuntimeConfiguration: The set of supported runtime + // configurations. + // @OutputOnly + RuntimeConfiguration *AndroidRuntimeConfiguration `json:"runtimeConfiguration,omitempty"` + + // Versions: The set of supported Android OS versions. + // @OutputOnly + Versions []*AndroidVersion `json:"versions,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Models") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Models") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AndroidDeviceCatalog) MarshalJSON() ([]byte, error) { + type noMethod AndroidDeviceCatalog + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AndroidDeviceList: A list of Android device configurations in which +// the test is to be executed. +type AndroidDeviceList struct { + // AndroidDevices: A list of Android devices + // Required + AndroidDevices []*AndroidDevice `json:"androidDevices,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AndroidDevices") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AndroidDevices") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AndroidDeviceList) MarshalJSON() ([]byte, error) { + type noMethod AndroidDeviceList + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AndroidInstrumentationTest: A test of an Android application that can +// control an Android component +// independently of its normal lifecycle. +// Android instrumentation tests run an application APK and test APK +// inside the +// same process on a virtual or physical AndroidDevice. They also +// specify +// a test runner class, such as com.google.GoogleTestRunner, which can +// vary +// on the specific instrumentation framework chosen. +// +// See +// for +// more information on types of Android tests. +type AndroidInstrumentationTest struct { + // AppApk: The APK for the application under test. + // Required + AppApk *FileReference `json:"appApk,omitempty"` + + // AppPackageId: The java package for the application under + // test. + // Optional, default is determined by examining the application's + // manifest. + AppPackageId string `json:"appPackageId,omitempty"` + + // OrchestratorOption: The option of whether running each test within + // its own invocation of + // instrumentation with Android Test Orchestrator or not. + // ** Orchestrator is only compatible with AndroidJUnitRunner version + // 1.0 or + // higher! ** + // Orchestrator offers the following benefits: + // - No shared state + // - Crashes are isolated + // - Logs are scoped per + // test + // + // See + // + // for more information about Android Test Orchestrator. + // + // Optional, if empty, test will be run without orchestrator. + // + // Possible values: + // "ORCHESTRATOR_OPTION_UNSPECIFIED" - This means that the server + // should choose the mode. And test will be run + // without orchestrator. + // Using orchestrator is highly encouraged because of all the benefits + // it + // offers. And in the future, all instrumentation tests will be run + // with + // orchestrator by default if preference unspecified. + // "USE_ORCHESTRATOR" - Run test using orchestrator. + // ** Only compatible with AndroidJUnitRunner version 1.0 or higher! + // ** + // Recommended. + // "DO_NOT_USE_ORCHESTRATOR" - Run test without using orchestrator. + OrchestratorOption string `json:"orchestratorOption,omitempty"` + + // TestApk: The APK containing the test code to be executed. + // Required + TestApk *FileReference `json:"testApk,omitempty"` + + // TestPackageId: The java package for the test to be + // executed. + // Optional, default is determined by examining the application's + // manifest. + TestPackageId string `json:"testPackageId,omitempty"` + + // TestRunnerClass: The InstrumentationTestRunner class. + // Optional, default is determined by examining the application's + // manifest. + TestRunnerClass string `json:"testRunnerClass,omitempty"` + + // TestTargets: Each target must be fully qualified with the package + // name or class name, + // in one of these formats: + // - "package package_name" + // - "class package_name.class_name" + // - "class package_name.class_name#method_name" + // + // Optional, if empty, all targets in the module will be run. + TestTargets []string `json:"testTargets,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AppApk") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AppApk") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AndroidInstrumentationTest) MarshalJSON() ([]byte, error) { + type noMethod AndroidInstrumentationTest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AndroidMatrix: A set of Android device configuration permutations is +// defined by the +// the cross-product of the given axes. Internally, the given +// AndroidMatrix +// will be expanded into a set of AndroidDevices. +// +// Only supported permutations will be instantiated. Invalid +// permutations +// (e.g., incompatible models/versions) are ignored. +type AndroidMatrix struct { + // AndroidModelIds: The ids of the set of Android device to be used. + // Use the EnvironmentDiscoveryService to get supported + // options. + // Required + AndroidModelIds []string `json:"androidModelIds,omitempty"` + + // AndroidVersionIds: The ids of the set of Android OS version to be + // used. + // Use the EnvironmentDiscoveryService to get supported + // options. + // Required + AndroidVersionIds []string `json:"androidVersionIds,omitempty"` + + // Locales: The set of locales the test device will enable for + // testing. + // Use the EnvironmentDiscoveryService to get supported + // options. + // Required + Locales []string `json:"locales,omitempty"` + + // Orientations: The set of orientations to test with. + // Use the EnvironmentDiscoveryService to get supported + // options. + // Required + Orientations []string `json:"orientations,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AndroidModelIds") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AndroidModelIds") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AndroidMatrix) MarshalJSON() ([]byte, error) { + type noMethod AndroidMatrix + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AndroidModel: A description of an Android device tests may be run on. +type AndroidModel struct { + // Brand: The company that this device is branded with. + // Example: "Google", "Samsung" + // @OutputOnly + Brand string `json:"brand,omitempty"` + + // Codename: The name of the industrial design. + // This corresponds to android.os.Build.DEVICE + // @OutputOnly + Codename string `json:"codename,omitempty"` + + // Form: Whether this device is virtual or physical. + // @OutputOnly + // + // Possible values: + // "DEVICE_FORM_UNSPECIFIED" - Do not use. For proto versioning only. + // "VIRTUAL" - A software stack that simulates the device + // "PHYSICAL" - Actual hardware + Form string `json:"form,omitempty"` + + // Id: The unique opaque id for this model. + // Use this for invoking the TestExecutionService. + // @OutputOnly + Id string `json:"id,omitempty"` + + // Manufacturer: The manufacturer of this device. + // @OutputOnly + Manufacturer string `json:"manufacturer,omitempty"` + + // Name: The human-readable marketing name for this device + // model. + // Examples: "Nexus 5", "Galaxy S5" + // @OutputOnly + Name string `json:"name,omitempty"` + + // ScreenDensity: Screen density in DPI. + // This corresponds to ro.sf.lcd_density + // @OutputOnly + ScreenDensity int64 `json:"screenDensity,omitempty"` + + // ScreenX: Screen size in the horizontal (X) dimension measured in + // pixels. + // @OutputOnly + ScreenX int64 `json:"screenX,omitempty"` + + // ScreenY: Screen size in the vertical (Y) dimension measured in + // pixels. + // @OutputOnly + ScreenY int64 `json:"screenY,omitempty"` + + // SupportedAbis: The list of supported ABIs for this device. + // This corresponds to either android.os.Build.SUPPORTED_ABIS (for API + // level + // 21 and above) or android.os.Build.CPU_ABI/CPU_ABI2. + // The most preferred ABI is the first element in the list. + // + // Elements are optionally prefixed by "version_id:" (where version_id + // is + // the id of an AndroidVersion), denoting an ABI that is supported only + // on + // a particular version. + // @OutputOnly + SupportedAbis []string `json:"supportedAbis,omitempty"` + + // SupportedVersionIds: The set of Android versions this device + // supports. + // @OutputOnly + SupportedVersionIds []string `json:"supportedVersionIds,omitempty"` + + // Tags: Tags for this dimension. + // Examples: "default", "preview", "deprecated" + Tags []string `json:"tags,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Brand") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Brand") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AndroidModel) MarshalJSON() ([]byte, error) { + type noMethod AndroidModel + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AndroidRoboTest: A test of an android application that explores the +// application on a virtual +// or physical Android Device, finding culprits and crashes as it goes. +type AndroidRoboTest struct { + // AppApk: The APK for the application under test. + // Required + AppApk *FileReference `json:"appApk,omitempty"` + + // AppInitialActivity: The initial activity that should be used to start + // the app. + // Optional + AppInitialActivity string `json:"appInitialActivity,omitempty"` + + // AppPackageId: The java package for the application under + // test. + // Optional, default is determined by examining the application's + // manifest. + AppPackageId string `json:"appPackageId,omitempty"` + + // MaxDepth: The max depth of the traversal stack Robo can explore. + // Needs to be at least + // 2 to make Robo explore the app beyond the first activity. + // Default is 50. + // Optional + MaxDepth int64 `json:"maxDepth,omitempty"` + + // MaxSteps: The max number of steps Robo can execute. + // Default is no limit. + // Optional + MaxSteps int64 `json:"maxSteps,omitempty"` + + // RoboDirectives: A set of directives Robo should apply during the + // crawl. + // This allows users to customize the crawl. For example, the username + // and + // password for a test account can be provided. + // Optional + RoboDirectives []*RoboDirective `json:"roboDirectives,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AppApk") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AppApk") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AndroidRoboTest) MarshalJSON() ([]byte, error) { + type noMethod AndroidRoboTest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AndroidRuntimeConfiguration: Configuration that can be selected at +// the time a test is run. +type AndroidRuntimeConfiguration struct { + // Locales: The set of available locales. + // @OutputOnly + Locales []*Locale `json:"locales,omitempty"` + + // Orientations: The set of available orientations. + // @OutputOnly + Orientations []*Orientation `json:"orientations,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Locales") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Locales") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AndroidRuntimeConfiguration) MarshalJSON() ([]byte, error) { + type noMethod AndroidRuntimeConfiguration + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AndroidTestLoop: A test of an Android Application with a Test +// Loop. +// The intent will be implicitly added, since Games is the +// only +// user of this api, for the time being. +type AndroidTestLoop struct { + // AppApk: The APK for the application under test. + // Required + AppApk *FileReference `json:"appApk,omitempty"` + + // AppPackageId: The java package for the application under + // test. + // Optional, default is determined by examining the application's + // manifest. + AppPackageId string `json:"appPackageId,omitempty"` + + // ScenarioLabels: The list of scenario labels that should be run during + // the test. + // The scenario labels should map to labels defined in the + // application's + // manifest. For example, player_experience + // and + // com.google.test.loops.player_experience add all of the loops labeled + // in the + // manifest with the com.google.test.loops.player_experience name to + // the + // execution. + // Optional. Scenarios can also be specified in the scenarios field. + ScenarioLabels []string `json:"scenarioLabels,omitempty"` + + // Scenarios: The list of scenarios that should be run during the + // test. + // Optional, default is all test loops, derived from the + // application's + // manifest. + Scenarios []int64 `json:"scenarios,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AppApk") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AppApk") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AndroidTestLoop) MarshalJSON() ([]byte, error) { + type noMethod AndroidTestLoop + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AndroidVersion: A version of the Android OS +type AndroidVersion struct { + // ApiLevel: The API level for this Android version. + // Examples: 18, 19 + // @OutputOnly + ApiLevel int64 `json:"apiLevel,omitempty"` + + // CodeName: The code name for this Android version. + // Examples: "JellyBean", "KitKat" + // @OutputOnly + CodeName string `json:"codeName,omitempty"` + + // Distribution: Market share for this version. + // @OutputOnly + Distribution *Distribution `json:"distribution,omitempty"` + + // Id: An opaque id for this Android version. + // Use this id to invoke the TestExecutionService. + // @OutputOnly + Id string `json:"id,omitempty"` + + // ReleaseDate: The date this Android version became available in the + // market. + // @OutputOnly + ReleaseDate *Date `json:"releaseDate,omitempty"` + + // Tags: Tags for this dimension. + // Examples: "default", "preview", "deprecated" + Tags []string `json:"tags,omitempty"` + + // VersionString: A string representing this version of the Android + // OS. + // Examples: "4.3", "4.4" + // @OutputOnly + VersionString string `json:"versionString,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ApiLevel") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ApiLevel") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AndroidVersion) MarshalJSON() ([]byte, error) { + type noMethod AndroidVersion + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CancelTestMatrixResponse: Response containing the current state of +// the specified test matrix. +type CancelTestMatrixResponse struct { + // TestState: The current rolled-up state of the test matrix. + // If this state is already final, then the cancelation request + // will + // have no effect. + // + // Possible values: + // "TEST_STATE_UNSPECIFIED" - Do not use. For proto versioning only. + // "VALIDATING" - The execution or matrix is being validated. + // "PENDING" - The execution or matrix is waiting for resources to + // become available. + // "RUNNING" - The execution is currently being processed. + // + // Can only be set on an execution. + // "FINISHED" - The execution or matrix has terminated normally. + // + // On a matrix this means that the matrix level processing completed + // normally, + // but individual executions may be in an ERROR state. + // "ERROR" - The execution or matrix has stopped because it + // encountered an + // infrastructure failure. + // "UNSUPPORTED_ENVIRONMENT" - The execution was not run because it + // corresponds to a unsupported + // environment. + // + // Can only be set on an execution. + // "INCOMPATIBLE_ENVIRONMENT" - The execution was not run because the + // provided inputs are incompatible with + // the requested environment. + // + // Example: requested AndroidVersion is lower than APK's + // minSdkVersion + // + // Can only be set on an execution. + // "INCOMPATIBLE_ARCHITECTURE" - The execution was not run because the + // provided inputs are incompatible with + // the requested architecture. + // + // Example: requested device does not support running the native code + // in + // the supplied APK + // + // Can only be set on an execution. + // "CANCELLED" - The user cancelled the execution. + // + // Can only be set on an execution. + // "INVALID" - The execution or matrix was not run because the + // provided inputs are not + // valid. + // + // Examples: input file is not of the expected type, is + // malformed/corrupt, or + // was flagged as malware + TestState string `json:"testState,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "TestState") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "TestState") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CancelTestMatrixResponse) MarshalJSON() ([]byte, error) { + type noMethod CancelTestMatrixResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ClientInfo: Information about the client which invoked the test. +type ClientInfo struct { + // ClientInfoDetails: The list of detailed information about client. + ClientInfoDetails []*ClientInfoDetail `json:"clientInfoDetails,omitempty"` + + // Name: Client name, such as gcloud. + // Required + Name string `json:"name,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ClientInfoDetails") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ClientInfoDetails") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *ClientInfo) MarshalJSON() ([]byte, error) { + type noMethod ClientInfo + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ClientInfoDetail: Key-value pair of detailed information about the +// client which invoked the +// test. For example {'Version', '1.0'}, {'Release Track', 'BETA'} +type ClientInfoDetail struct { + // Key: The key of detailed client information. + // Required + Key string `json:"key,omitempty"` + + // Value: The value of detailed client information. + // Required + 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ClientInfoDetail) MarshalJSON() ([]byte, error) { + type noMethod ClientInfoDetail + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Date: Represents a whole calendar date, e.g. date of birth. The time +// of day and +// time zone are either specified elsewhere or are not significant. The +// date +// is relative to the Proleptic Gregorian Calendar. The day may be 0 +// to +// represent a year and month where the day is not significant, e.g. +// credit card +// expiration date. The year may be 0 to represent a month and day +// independent +// of year, e.g. anniversary date. Related types are +// google.type.TimeOfDay +// and `google.protobuf.Timestamp`. +type Date struct { + // Day: Day of month. Must be from 1 to 31 and valid for the year and + // month, or 0 + // if specifying a year/month where the day is not significant. + Day int64 `json:"day,omitempty"` + + // Month: Month of year. Must be from 1 to 12. + Month int64 `json:"month,omitempty"` + + // Year: Year of date. Must be from 1 to 9999, or 0 if specifying a date + // 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Date) MarshalJSON() ([]byte, error) { + type noMethod Date + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DeviceFile: A single device file description. +type DeviceFile struct { + // ObbFile: A reference to an opaque binary blob file + ObbFile *ObbFile `json:"obbFile,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ObbFile") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ObbFile") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DeviceFile) MarshalJSON() ([]byte, error) { + type noMethod DeviceFile + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Distribution: Data about the relative number of devices running +// a +// given configuration of the Android platform. +type Distribution struct { + // MarketShare: The estimated fraction (0-1) of the total market with + // this configuration. + // @OutputOnly + MarketShare float64 `json:"marketShare,omitempty"` + + // MeasurementTime: The time this distribution was measured. + // @OutputOnly + MeasurementTime string `json:"measurementTime,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MarketShare") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "MarketShare") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Distribution) MarshalJSON() ([]byte, error) { + type noMethod Distribution + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *Distribution) UnmarshalJSON(data []byte) error { + type noMethod Distribution + var s1 struct { + MarketShare gensupport.JSONFloat64 `json:"marketShare"` + *noMethod + } + s1.noMethod = (*noMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.MarketShare = float64(s1.MarketShare) + return nil +} + +// Environment: The environment in which the test is run. +type Environment struct { + // AndroidDevice: An Android device which must be used with an Android + // test. + AndroidDevice *AndroidDevice `json:"androidDevice,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AndroidDevice") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AndroidDevice") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Environment) MarshalJSON() ([]byte, error) { + type noMethod Environment + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// EnvironmentMatrix: The matrix of environments in which the test is to +// be executed. +type EnvironmentMatrix struct { + // AndroidDeviceList: A list of Android devices; the test will be run + // only on the specified + // devices. + AndroidDeviceList *AndroidDeviceList `json:"androidDeviceList,omitempty"` + + // AndroidMatrix: A matrix of Android devices. + AndroidMatrix *AndroidMatrix `json:"androidMatrix,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AndroidDeviceList") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AndroidDeviceList") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *EnvironmentMatrix) MarshalJSON() ([]byte, error) { + type noMethod EnvironmentMatrix + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// EnvironmentVariable: A key-value pair passed as an environment +// variable to the test +type EnvironmentVariable struct { + // Key: Key for the environment variable + Key string `json:"key,omitempty"` + + // Value: Value for the environment variable + 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *EnvironmentVariable) MarshalJSON() ([]byte, error) { + type noMethod EnvironmentVariable + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// FileReference: A reference to a file, used for user inputs. +type FileReference struct { + // GcsPath: A path to a file in Google Cloud Storage. + // Example: gs://build-app-1414623860166/app-debug-unaligned.apk + GcsPath string `json:"gcsPath,omitempty"` + + // ForceSendFields is a list of field names (e.g. "GcsPath") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "GcsPath") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FileReference) MarshalJSON() ([]byte, error) { + type noMethod FileReference + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleAuto: Enables automatic Google account login. +// If set, the service will automatically generate a Google test account +// and add +// it to the device, before executing the test. Note that test accounts +// might be +// reused. +// Many applications show their full set of functionalities when an +// account is +// present on the device. Logging into the device with these generated +// accounts +// allows testing more functionalities. +type GoogleAuto struct { +} + +// GoogleCloudStorage: A storage location within Google cloud storage +// (GCS). +type GoogleCloudStorage struct { + // GcsPath: The path to a directory in GCS that will + // eventually contain the results for this test. + // The requesting user must have write access on the bucket in the + // supplied + // path. + // Required + GcsPath string `json:"gcsPath,omitempty"` + + // ForceSendFields is a list of field names (e.g. "GcsPath") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "GcsPath") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudStorage) MarshalJSON() ([]byte, error) { + type noMethod GoogleCloudStorage + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Locale: A location/region designation for language. +type Locale struct { + // Id: The id for this locale. + // Example: "en_US" + // @OutputOnly + Id string `json:"id,omitempty"` + + // Name: A human-friendly name for this language/locale. + // Example: "English" + // @OutputOnly + Name string `json:"name,omitempty"` + + // Region: A human-friendy string representing the region for this + // locale. + // Example: "United States" + // Not present for every locale. + // @OutputOnly + Region string `json:"region,omitempty"` + + // Tags: Tags for this dimension. + // Examples: "default" + Tags []string `json:"tags,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Id") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Locale) MarshalJSON() ([]byte, error) { + type noMethod Locale + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type NetworkConfiguration struct { + // DownRule: The emulation rule applying to the download traffic + DownRule *TrafficRule `json:"downRule,omitempty"` + + // Id: The unique opaque id for this network traffic + // configuration + // @OutputOnly + Id string `json:"id,omitempty"` + + // UpRule: The emulation rule applying to the upload traffic + UpRule *TrafficRule `json:"upRule,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DownRule") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DownRule") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *NetworkConfiguration) MarshalJSON() ([]byte, error) { + type noMethod NetworkConfiguration + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type NetworkConfigurationCatalog struct { + Configurations []*NetworkConfiguration `json:"configurations,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Configurations") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Configurations") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *NetworkConfigurationCatalog) MarshalJSON() ([]byte, error) { + type noMethod NetworkConfigurationCatalog + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ObbFile: An opaque binary blob file to install on the device before +// the test starts +type ObbFile struct { + // Obb: Opaque Binary Blob (OBB) file(s) to install on the + // device + // Required + Obb *FileReference `json:"obb,omitempty"` + + // ObbFileName: OBB file name which must conform to the format as + // specified by + // Android + // e.g. [main|patch].0300110.com.example.android.obb + // which will be installed into + // /Android/obb// + // on the device + // Required + ObbFileName string `json:"obbFileName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Obb") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Obb") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ObbFile) MarshalJSON() ([]byte, error) { + type noMethod ObbFile + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Orientation: Screen orientation of the device. +type Orientation struct { + // Id: The id for this orientation. + // Example: "portrait" + // @OutputOnly + Id string `json:"id,omitempty"` + + // Name: A human-friendly name for this orientation. + // Example: "portrait" + // @OutputOnly + Name string `json:"name,omitempty"` + + // Tags: Tags for this dimension. + // Examples: "default" + Tags []string `json:"tags,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Id") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Orientation) MarshalJSON() ([]byte, error) { + type noMethod Orientation + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ResultStorage: Locations where the results of running the test are +// stored. +type ResultStorage struct { + // GoogleCloudStorage: Required. + GoogleCloudStorage *GoogleCloudStorage `json:"googleCloudStorage,omitempty"` + + // ToolResultsExecution: The tool results execution that results are + // written to. + // @OutputOnly + ToolResultsExecution *ToolResultsExecution `json:"toolResultsExecution,omitempty"` + + // ToolResultsHistory: The tool results history that contains the tool + // results execution that + // results are written to. + // + // Optional, if not provided the service will choose an appropriate + // value. + ToolResultsHistory *ToolResultsHistory `json:"toolResultsHistory,omitempty"` + + // ForceSendFields is a list of field names (e.g. "GoogleCloudStorage") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "GoogleCloudStorage") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *ResultStorage) MarshalJSON() ([]byte, error) { + type noMethod ResultStorage + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// RoboDirective: Directs Robo to interact with a specific UI element if +// it is encountered +// during the crawl. Currently, Robo can perform text entry or element +// click. +type RoboDirective struct { + // ActionType: The type of action that Robo should perform on the + // specified element. + // Required. + // + // Possible values: + // "ACTION_TYPE_UNSPECIFIED" - DO NOT USE. For proto versioning only. + // "SINGLE_CLICK" - Direct Robo to click on the specified element. + // No-op if specified element + // is not clickable. + // "ENTER_TEXT" - Direct Robo to enter text on the specified element. + // No-op if specified + // element is not enabled or does not allow text entry. + ActionType string `json:"actionType,omitempty"` + + // InputText: The text that Robo is directed to set. If left empty, the + // directive will be + // treated as a CLICK on the element matching the + // resource_name. + // Optional + InputText string `json:"inputText,omitempty"` + + // ResourceName: The android resource name of the target UI element + // For example, + // in Java: R.string.foo + // in xml: @string/foo + // Only the “foo” part is needed. + // Reference + // doc: + // https://developer.android.com/guide/topics/resources/accessing-re + // sources.html + // Required + ResourceName string `json:"resourceName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ActionType") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ActionType") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RoboDirective) MarshalJSON() ([]byte, error) { + type noMethod RoboDirective + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// TestDetails: Additional details about the progress of the running +// test. +type TestDetails struct { + // ErrorMessage: If the TestState is ERROR, then this string will + // contain human-readable + // details about the error. + // @OutputOnly + ErrorMessage string `json:"errorMessage,omitempty"` + + // ProgressMessages: Human-readable, detailed descriptions of the test's + // progress. + // For example: "Provisioning a device", "Starting Test". + // + // During the course of execution new data may be appended + // to the end of progress_messages. + // @OutputOnly + ProgressMessages []string `json:"progressMessages,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ErrorMessage") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ErrorMessage") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TestDetails) MarshalJSON() ([]byte, error) { + type noMethod TestDetails + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// TestEnvironmentCatalog: A description of a test environment. +type TestEnvironmentCatalog struct { + // AndroidDeviceCatalog: Android devices suitable for running Android + // Instrumentation Tests. + AndroidDeviceCatalog *AndroidDeviceCatalog `json:"androidDeviceCatalog,omitempty"` + + // NetworkConfigurationCatalog: Supported network configurations + NetworkConfigurationCatalog *NetworkConfigurationCatalog `json:"networkConfigurationCatalog,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. + // "AndroidDeviceCatalog") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AndroidDeviceCatalog") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *TestEnvironmentCatalog) MarshalJSON() ([]byte, error) { + type noMethod TestEnvironmentCatalog + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// TestExecution: Specifies a single test to be executed in a single +// environment. +type TestExecution struct { + // Environment: How the host machine(s) are configured. + // @OutputOnly + Environment *Environment `json:"environment,omitempty"` + + // Id: Unique id set by the backend. + // @OutputOnly + Id string `json:"id,omitempty"` + + // MatrixId: Id of the containing TestMatrix. + // @OutputOnly + MatrixId string `json:"matrixId,omitempty"` + + // ProjectId: The cloud project that owns the test + // execution. + // @OutputOnly + ProjectId string `json:"projectId,omitempty"` + + // State: Indicates the current progress of the test execution (e.g., + // FINISHED). + // @OutputOnly + // + // Possible values: + // "TEST_STATE_UNSPECIFIED" - Do not use. For proto versioning only. + // "VALIDATING" - The execution or matrix is being validated. + // "PENDING" - The execution or matrix is waiting for resources to + // become available. + // "RUNNING" - The execution is currently being processed. + // + // Can only be set on an execution. + // "FINISHED" - The execution or matrix has terminated normally. + // + // On a matrix this means that the matrix level processing completed + // normally, + // but individual executions may be in an ERROR state. + // "ERROR" - The execution or matrix has stopped because it + // encountered an + // infrastructure failure. + // "UNSUPPORTED_ENVIRONMENT" - The execution was not run because it + // corresponds to a unsupported + // environment. + // + // Can only be set on an execution. + // "INCOMPATIBLE_ENVIRONMENT" - The execution was not run because the + // provided inputs are incompatible with + // the requested environment. + // + // Example: requested AndroidVersion is lower than APK's + // minSdkVersion + // + // Can only be set on an execution. + // "INCOMPATIBLE_ARCHITECTURE" - The execution was not run because the + // provided inputs are incompatible with + // the requested architecture. + // + // Example: requested device does not support running the native code + // in + // the supplied APK + // + // Can only be set on an execution. + // "CANCELLED" - The user cancelled the execution. + // + // Can only be set on an execution. + // "INVALID" - The execution or matrix was not run because the + // provided inputs are not + // valid. + // + // Examples: input file is not of the expected type, is + // malformed/corrupt, or + // was flagged as malware + State string `json:"state,omitempty"` + + // TestDetails: Additional details about the running test. + // @OutputOnly + TestDetails *TestDetails `json:"testDetails,omitempty"` + + // TestSpecification: How to run the test. + // @OutputOnly + TestSpecification *TestSpecification `json:"testSpecification,omitempty"` + + // Timestamp: The time this test execution was initially + // created. + // @OutputOnly + Timestamp string `json:"timestamp,omitempty"` + + // ToolResultsStep: Where the results for this execution are + // written. + // @OutputOnly + ToolResultsStep *ToolResultsStep `json:"toolResultsStep,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Environment") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Environment") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TestExecution) MarshalJSON() ([]byte, error) { + type noMethod TestExecution + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// TestMatrix: A group of one or more TestExecutions, built by taking +// a +// product of values over a pre-defined set of axes. +type TestMatrix struct { + // ClientInfo: Information about the client which invoked the + // test. + // Optional + ClientInfo *ClientInfo `json:"clientInfo,omitempty"` + + // EnvironmentMatrix: How the host machine(s) are configured. + // Required + EnvironmentMatrix *EnvironmentMatrix `json:"environmentMatrix,omitempty"` + + // InvalidMatrixDetails: Describes why the matrix is considered + // invalid. + // Only useful for matrices in the INVALID state. + // @OutputOnly + // + // Possible values: + // "INVALID_MATRIX_DETAILS_UNSPECIFIED" - Do not use. For proto + // versioning only. + // "DETAILS_UNAVAILABLE" - The matrix is INVALID, but there are no + // further details available. + // "MALFORMED_APK" - The input app APK could not be parsed. + // "MALFORMED_TEST_APK" - The input test APK could not be parsed. + // "NO_MANIFEST" - The AndroidManifest.xml could not be found. + // "NO_PACKAGE_NAME" - The APK manifest does not declare a package + // name. + // "TEST_SAME_AS_APP" - The test package and app package are the same. + // "NO_INSTRUMENTATION" - The test apk does not declare an + // instrumentation. + // "NO_SIGNATURE" - The input app apk does not have a signature. + // "INSTRUMENTATION_ORCHESTRATOR_INCOMPATIBLE" - The test runner class + // specified by user or in the test APK's manifest file + // is not compatible with Android Test Orchestrator. + // Orchestrator is only compatible with AndroidJUnitRunner version 1.0 + // or + // higher. + // Orchestrator can be disabled by using + // DO_NOT_USE_ORCHESTRATOR + // OrchestratorOption. + // "NO_TEST_RUNNER_CLASS" - The test APK does not contain the test + // runner class specified by user or in + // the manifest file. + // This can be caused by either of the following reasons: + // - the user provided a runner class name that's incorrect, or + // - the test runner isn't built into the test APK (might be in the app + // APK + // instead). + // "NO_LAUNCHER_ACTIVITY" - A main launcher activity could not be + // found. + // "FORBIDDEN_PERMISSIONS" - The app declares one or more permissions + // that are not allowed. + // "INVALID_ROBO_DIRECTIVES" - There is a conflict in the provided + // robo_directives. + // "TEST_LOOP_INTENT_FILTER_NOT_FOUND" - There there is no test loop + // intent filter, or the one that is given is + // not formatted correctly. + // "SCENARIO_LABEL_NOT_DECLARED" - The request contains a scenario + // label that was not declared in the + // manifest. + // "SCENARIO_LABEL_MALFORMED" - There was an error when parsing a + // label's value. + // "SCENARIO_NOT_DECLARED" - The request contains a scenario number + // that was not declared in the + // manifest. + // "DEVICE_ADMIN_RECEIVER" - Device administrator applications are not + // allowed. + // "TEST_ONLY_APK" - The APK is marked as "testOnly". + InvalidMatrixDetails string `json:"invalidMatrixDetails,omitempty"` + + // ProjectId: The cloud project that owns the test matrix. + // @OutputOnly + ProjectId string `json:"projectId,omitempty"` + + // ResultStorage: Where the results for the matrix are written. + // Required + ResultStorage *ResultStorage `json:"resultStorage,omitempty"` + + // State: Indicates the current progress of the test matrix (e.g., + // FINISHED) + // @OutputOnly + // + // Possible values: + // "TEST_STATE_UNSPECIFIED" - Do not use. For proto versioning only. + // "VALIDATING" - The execution or matrix is being validated. + // "PENDING" - The execution or matrix is waiting for resources to + // become available. + // "RUNNING" - The execution is currently being processed. + // + // Can only be set on an execution. + // "FINISHED" - The execution or matrix has terminated normally. + // + // On a matrix this means that the matrix level processing completed + // normally, + // but individual executions may be in an ERROR state. + // "ERROR" - The execution or matrix has stopped because it + // encountered an + // infrastructure failure. + // "UNSUPPORTED_ENVIRONMENT" - The execution was not run because it + // corresponds to a unsupported + // environment. + // + // Can only be set on an execution. + // "INCOMPATIBLE_ENVIRONMENT" - The execution was not run because the + // provided inputs are incompatible with + // the requested environment. + // + // Example: requested AndroidVersion is lower than APK's + // minSdkVersion + // + // Can only be set on an execution. + // "INCOMPATIBLE_ARCHITECTURE" - The execution was not run because the + // provided inputs are incompatible with + // the requested architecture. + // + // Example: requested device does not support running the native code + // in + // the supplied APK + // + // Can only be set on an execution. + // "CANCELLED" - The user cancelled the execution. + // + // Can only be set on an execution. + // "INVALID" - The execution or matrix was not run because the + // provided inputs are not + // valid. + // + // Examples: input file is not of the expected type, is + // malformed/corrupt, or + // was flagged as malware + State string `json:"state,omitempty"` + + // TestExecutions: The list of test executions that the service creates + // for this matrix. + // @OutputOnly + TestExecutions []*TestExecution `json:"testExecutions,omitempty"` + + // TestMatrixId: Unique id set by the service. + // @OutputOnly + TestMatrixId string `json:"testMatrixId,omitempty"` + + // TestSpecification: How to run the test. + // Required + TestSpecification *TestSpecification `json:"testSpecification,omitempty"` + + // Timestamp: The time this test matrix was initially + // created. + // @OutputOnly + Timestamp string `json:"timestamp,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "ClientInfo") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ClientInfo") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TestMatrix) MarshalJSON() ([]byte, error) { + type noMethod TestMatrix + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// TestSetup: A description of how to set up the device prior to running +// the test +type TestSetup struct { + // Account: The device will be logged in on this account for the + // duration of the test. + // Optional + Account *Account `json:"account,omitempty"` + + // DirectoriesToPull: The directories on the device to upload to GCS at + // the end of the test; + // they must be absolute, whitelisted paths. + // Refer to RegularFile for whitelisted paths. + // Optional + DirectoriesToPull []string `json:"directoriesToPull,omitempty"` + + // EnvironmentVariables: Environment variables to set for the test (only + // applicable for + // instrumentation tests). + EnvironmentVariables []*EnvironmentVariable `json:"environmentVariables,omitempty"` + + // FilesToPush: Optional + FilesToPush []*DeviceFile `json:"filesToPush,omitempty"` + + // NetworkProfile: The network traffic profile used for running the + // test. + // Optional + NetworkProfile string `json:"networkProfile,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Account") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Account") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TestSetup) MarshalJSON() ([]byte, error) { + type noMethod TestSetup + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// TestSpecification: A description of how to run the test. +type TestSpecification struct { + // AndroidInstrumentationTest: An Android instrumentation test. + AndroidInstrumentationTest *AndroidInstrumentationTest `json:"androidInstrumentationTest,omitempty"` + + // AndroidRoboTest: An Android robo test. + AndroidRoboTest *AndroidRoboTest `json:"androidRoboTest,omitempty"` + + // AndroidTestLoop: An Android Application with a Test Loop + AndroidTestLoop *AndroidTestLoop `json:"androidTestLoop,omitempty"` + + // AutoGoogleLogin: Enables automatic Google account login. + // If set, the service will automatically generate a Google test account + // and + // add it to the device, before executing the test. Note that test + // accounts + // might be reused. + // Many applications show their full set of functionalities when an + // account is + // present on the device. Logging into the device with these + // generated + // accounts allows testing more functionalities. + // Default is false. + // Optional + AutoGoogleLogin bool `json:"autoGoogleLogin,omitempty"` + + // DisablePerformanceMetrics: Disables performance metrics recording; + // may reduce test latency. + DisablePerformanceMetrics bool `json:"disablePerformanceMetrics,omitempty"` + + // DisableVideoRecording: Disables video recording; may reduce test + // latency. + DisableVideoRecording bool `json:"disableVideoRecording,omitempty"` + + // TestSetup: Test setup requirements e.g. files to install, bootstrap + // scripts + // Optional + TestSetup *TestSetup `json:"testSetup,omitempty"` + + // TestTimeout: Max time a test execution is allowed to run before it + // is + // automatically cancelled. + // Optional, default is 5 min. + TestTimeout string `json:"testTimeout,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "AndroidInstrumentationTest") to unconditionally include in API + // requests. By default, fields with empty values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. + // "AndroidInstrumentationTest") to include in API requests with the + // JSON null value. By default, fields with empty values are omitted + // from API requests. However, any field with an empty value appearing + // in NullFields will be sent to the server as null. It is an error if a + // field in this list has a non-empty value. This may be used to include + // null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TestSpecification) MarshalJSON() ([]byte, error) { + type noMethod TestSpecification + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ToolResultsExecution: Represents a tool results execution +// resource. +// +// This has the results of a TestMatrix. +type ToolResultsExecution struct { + // ExecutionId: A tool results execution ID. + // @OutputOnly + ExecutionId string `json:"executionId,omitempty"` + + // HistoryId: A tool results history ID. + // @OutputOnly + HistoryId string `json:"historyId,omitempty"` + + // ProjectId: The cloud project that owns the tool results + // execution. + // @OutputOnly + ProjectId string `json:"projectId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ExecutionId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ExecutionId") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ToolResultsExecution) MarshalJSON() ([]byte, error) { + type noMethod ToolResultsExecution + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ToolResultsHistory: Represents a tool results history resource. +type ToolResultsHistory struct { + // HistoryId: A tool results history ID. + // Required + HistoryId string `json:"historyId,omitempty"` + + // ProjectId: The cloud project that owns the tool results + // history. + // Required + ProjectId string `json:"projectId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "HistoryId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "HistoryId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ToolResultsHistory) MarshalJSON() ([]byte, error) { + type noMethod ToolResultsHistory + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ToolResultsStep: Represents a tool results step resource. +// +// This has the results of a TestExecution. +type ToolResultsStep struct { + // ExecutionId: A tool results execution ID. + // @OutputOnly + ExecutionId string `json:"executionId,omitempty"` + + // HistoryId: A tool results history ID. + // @OutputOnly + HistoryId string `json:"historyId,omitempty"` + + // ProjectId: The cloud project that owns the tool results + // step. + // @OutputOnly + ProjectId string `json:"projectId,omitempty"` + + // StepId: A tool results step ID. + // @OutputOnly + StepId string `json:"stepId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ExecutionId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ExecutionId") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ToolResultsStep) MarshalJSON() ([]byte, error) { + type noMethod ToolResultsStep + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// TrafficRule: Network emulation parameters +type TrafficRule struct { + // Bandwidth: Bandwidth in kbits/second + Bandwidth float64 `json:"bandwidth,omitempty"` + + // Burst: Burst size in kbits + Burst float64 `json:"burst,omitempty"` + + // Delay: Packet delay, must be >= 0 + Delay string `json:"delay,omitempty"` + + // PacketDuplicationRatio: Packet duplication ratio (0.0 - 1.0) + PacketDuplicationRatio float64 `json:"packetDuplicationRatio,omitempty"` + + // PacketLossRatio: Packet loss ratio (0.0 - 1.0) + PacketLossRatio float64 `json:"packetLossRatio,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Bandwidth") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Bandwidth") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *TrafficRule) MarshalJSON() ([]byte, error) { + type noMethod TrafficRule + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *TrafficRule) UnmarshalJSON(data []byte) error { + type noMethod TrafficRule + var s1 struct { + Bandwidth gensupport.JSONFloat64 `json:"bandwidth"` + Burst gensupport.JSONFloat64 `json:"burst"` + PacketDuplicationRatio gensupport.JSONFloat64 `json:"packetDuplicationRatio"` + PacketLossRatio gensupport.JSONFloat64 `json:"packetLossRatio"` + *noMethod + } + s1.noMethod = (*noMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Bandwidth = float64(s1.Bandwidth) + s.Burst = float64(s1.Burst) + s.PacketDuplicationRatio = float64(s1.PacketDuplicationRatio) + s.PacketLossRatio = float64(s1.PacketLossRatio) + return nil +} + +// method id "testing.projects.testMatrices.cancel": + +type ProjectsTestMatricesCancelCall struct { + s *Service + projectId string + testMatrixId string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Cancel: Cancels unfinished test executions in a test matrix. +// This call returns immediately and cancellation proceeds +// asychronously. +// If the matrix is already final, this operation will have no +// effect. +// +// May return any of the following canonical error codes: +// +// - PERMISSION_DENIED - if the user is not authorized to read project +// - INVALID_ARGUMENT - if the request is malformed +// - NOT_FOUND - if the Test Matrix does not exist +func (r *ProjectsTestMatricesService) Cancel(projectId string, testMatrixId string) *ProjectsTestMatricesCancelCall { + c := &ProjectsTestMatricesCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.testMatrixId = testMatrixId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsTestMatricesCancelCall) Fields(s ...googleapi.Field) *ProjectsTestMatricesCancelCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsTestMatricesCancelCall) Context(ctx context.Context) *ProjectsTestMatricesCancelCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsTestMatricesCancelCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsTestMatricesCancelCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/testMatrices/{testMatrixId}:cancel") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "testMatrixId": c.testMatrixId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "testing.projects.testMatrices.cancel" call. +// Exactly one of *CancelTestMatrixResponse or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *CancelTestMatrixResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsTestMatricesCancelCall) Do(opts ...googleapi.CallOption) (*CancelTestMatrixResponse, 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, &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, err + } + ret := &CancelTestMatrixResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Cancels unfinished test executions in a test matrix.\nThis call returns immediately and cancellation proceeds asychronously.\nIf the matrix is already final, this operation will have no effect.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to read project\n- INVALID_ARGUMENT - if the request is malformed\n- NOT_FOUND - if the Test Matrix does not exist", + // "flatPath": "v1/projects/{projectId}/testMatrices/{testMatrixId}:cancel", + // "httpMethod": "POST", + // "id": "testing.projects.testMatrices.cancel", + // "parameterOrder": [ + // "projectId", + // "testMatrixId" + // ], + // "parameters": { + // "projectId": { + // "description": "Cloud project that owns the test.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "testMatrixId": { + // "description": "Test matrix that will be canceled.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/projects/{projectId}/testMatrices/{testMatrixId}:cancel", + // "response": { + // "$ref": "CancelTestMatrixResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "testing.projects.testMatrices.create": + +type ProjectsTestMatricesCreateCall struct { + s *Service + projectId string + testmatrix *TestMatrix + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Request to run a matrix of tests according to the given +// specifications. +// Unsupported environments will be returned in the state +// UNSUPPORTED. +// Matrices are limited to at most 200 supported executions. +// +// May return any of the following canonical error codes: +// +// - PERMISSION_DENIED - if the user is not authorized to write to +// project +// - INVALID_ARGUMENT - if the request is malformed or if the matrix +// expands +// to more than 200 supported executions +func (r *ProjectsTestMatricesService) Create(projectId string, testmatrix *TestMatrix) *ProjectsTestMatricesCreateCall { + c := &ProjectsTestMatricesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.testmatrix = testmatrix + return c +} + +// RequestId sets the optional parameter "requestId": A string id used +// to detect duplicated requests. +// Ids are automatically scoped to a project, so +// users should ensure the ID is unique per-project. +// A UUID is recommended. +// +// Optional, but strongly recommended. +func (c *ProjectsTestMatricesCreateCall) RequestId(requestId string) *ProjectsTestMatricesCreateCall { + 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 information. +func (c *ProjectsTestMatricesCreateCall) Fields(s ...googleapi.Field) *ProjectsTestMatricesCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsTestMatricesCreateCall) Context(ctx context.Context) *ProjectsTestMatricesCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsTestMatricesCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsTestMatricesCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.testmatrix) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/testMatrices") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "testing.projects.testMatrices.create" call. +// Exactly one of *TestMatrix or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *TestMatrix.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsTestMatricesCreateCall) Do(opts ...googleapi.CallOption) (*TestMatrix, 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, &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, err + } + ret := &TestMatrix{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Request to run a matrix of tests according to the given specifications.\nUnsupported environments will be returned in the state UNSUPPORTED.\nMatrices are limited to at most 200 supported executions.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to write to project\n- INVALID_ARGUMENT - if the request is malformed or if the matrix expands\n to more than 200 supported executions", + // "flatPath": "v1/projects/{projectId}/testMatrices", + // "httpMethod": "POST", + // "id": "testing.projects.testMatrices.create", + // "parameterOrder": [ + // "projectId" + // ], + // "parameters": { + // "projectId": { + // "description": "The GCE project under which this job will run.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "requestId": { + // "description": "A string id used to detect duplicated requests.\nIds are automatically scoped to a project, so\nusers should ensure the ID is unique per-project.\nA UUID is recommended.\n\nOptional, but strongly recommended.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/projects/{projectId}/testMatrices", + // "request": { + // "$ref": "TestMatrix" + // }, + // "response": { + // "$ref": "TestMatrix" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "testing.projects.testMatrices.get": + +type ProjectsTestMatricesGetCall struct { + s *Service + projectId string + testMatrixId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Check the status of a test matrix. +// +// May return any of the following canonical error codes: +// +// - PERMISSION_DENIED - if the user is not authorized to read project +// - INVALID_ARGUMENT - if the request is malformed +// - NOT_FOUND - if the Test Matrix does not exist +func (r *ProjectsTestMatricesService) Get(projectId string, testMatrixId string) *ProjectsTestMatricesGetCall { + c := &ProjectsTestMatricesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.testMatrixId = testMatrixId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsTestMatricesGetCall) Fields(s ...googleapi.Field) *ProjectsTestMatricesGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsTestMatricesGetCall) IfNoneMatch(entityTag string) *ProjectsTestMatricesGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsTestMatricesGetCall) Context(ctx context.Context) *ProjectsTestMatricesGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsTestMatricesGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsTestMatricesGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/testMatrices/{testMatrixId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "testMatrixId": c.testMatrixId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "testing.projects.testMatrices.get" call. +// Exactly one of *TestMatrix or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *TestMatrix.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsTestMatricesGetCall) Do(opts ...googleapi.CallOption) (*TestMatrix, 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, &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, err + } + ret := &TestMatrix{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Check the status of a test matrix.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to read project\n- INVALID_ARGUMENT - if the request is malformed\n- NOT_FOUND - if the Test Matrix does not exist", + // "flatPath": "v1/projects/{projectId}/testMatrices/{testMatrixId}", + // "httpMethod": "GET", + // "id": "testing.projects.testMatrices.get", + // "parameterOrder": [ + // "projectId", + // "testMatrixId" + // ], + // "parameters": { + // "projectId": { + // "description": "Cloud project that owns the test matrix.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "testMatrixId": { + // "description": "Unique test matrix id which was assigned by the service.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/projects/{projectId}/testMatrices/{testMatrixId}", + // "response": { + // "$ref": "TestMatrix" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only" + // ] + // } + +} + +// method id "testing.testEnvironmentCatalog.get": + +type TestEnvironmentCatalogGetCall struct { + s *Service + environmentType string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Get the catalog of supported test environments. +// +// May return any of the following canonical error codes: +// +// - INVALID_ARGUMENT - if the request is malformed +// - NOT_FOUND - if the environment type does not exist +// - INTERNAL - if an internal error occurred +func (r *TestEnvironmentCatalogService) Get(environmentType string) *TestEnvironmentCatalogGetCall { + c := &TestEnvironmentCatalogGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.environmentType = environmentType + return c +} + +// ProjectId sets the optional parameter "projectId": For authorization, +// the cloud project requesting the TestEnvironmentCatalog. +// Optional +func (c *TestEnvironmentCatalogGetCall) ProjectId(projectId string) *TestEnvironmentCatalogGetCall { + c.urlParams_.Set("projectId", projectId) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *TestEnvironmentCatalogGetCall) Fields(s ...googleapi.Field) *TestEnvironmentCatalogGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *TestEnvironmentCatalogGetCall) IfNoneMatch(entityTag string) *TestEnvironmentCatalogGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *TestEnvironmentCatalogGetCall) Context(ctx context.Context) *TestEnvironmentCatalogGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *TestEnvironmentCatalogGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *TestEnvironmentCatalogGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/testEnvironmentCatalog/{environmentType}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "environmentType": c.environmentType, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "testing.testEnvironmentCatalog.get" call. +// Exactly one of *TestEnvironmentCatalog or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *TestEnvironmentCatalog.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *TestEnvironmentCatalogGetCall) Do(opts ...googleapi.CallOption) (*TestEnvironmentCatalog, 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, &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, err + } + ret := &TestEnvironmentCatalog{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Get the catalog of supported test environments.\n\nMay return any of the following canonical error codes:\n\n- INVALID_ARGUMENT - if the request is malformed\n- NOT_FOUND - if the environment type does not exist\n- INTERNAL - if an internal error occurred", + // "flatPath": "v1/testEnvironmentCatalog/{environmentType}", + // "httpMethod": "GET", + // "id": "testing.testEnvironmentCatalog.get", + // "parameterOrder": [ + // "environmentType" + // ], + // "parameters": { + // "environmentType": { + // "description": "The type of environment that should be listed.\nRequired", + // "enum": [ + // "ENVIRONMENT_TYPE_UNSPECIFIED", + // "ANDROID", + // "NETWORK_CONFIGURATION" + // ], + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "For authorization, the cloud project requesting the TestEnvironmentCatalog.\nOptional", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/testEnvironmentCatalog/{environmentType}", + // "response": { + // "$ref": "TestEnvironmentCatalog" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only" + // ] + // } + +} diff --git a/vendor/google.golang.org/api/toolresults/v1beta3/toolresults-api.json b/vendor/google.golang.org/api/toolresults/v1beta3/toolresults-api.json index bcbd35fd7..3a08a9e99 100644 --- a/vendor/google.golang.org/api/toolresults/v1beta3/toolresults-api.json +++ b/vendor/google.golang.org/api/toolresults/v1beta3/toolresults-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/CxEKB-82Kcy_kTedWntFs27HJMg\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/UYGCzApTAApQ5LVMe3mi28BTsws\"", "discoveryVersion": "v1", "id": "toolresults:v1beta3", "name": "toolresults", "canonicalName": "Tool Results", "version": "v1beta3", - "revision": "20170607", + "revision": "20170925", "title": "Cloud Tool Results API", "description": "Reads and publishes results from Firebase Test Lab.", "ownerDomain": "google.com", @@ -21,7 +21,7 @@ "basePath": "/toolresults/v1beta3/projects/", "rootUrl": "https://www.googleapis.com/", "servicePath": "toolresults/v1beta3/projects/", - "batchPath": "batch", + "batchPath": "batch/toolresults/v1beta3", "parameters": { "alt": { "type": "string", @@ -77,6 +77,107 @@ } }, "schemas": { + "AndroidAppInfo": { + "id": "AndroidAppInfo", + "type": "object", + "description": "Android app information.", + "properties": { + "name": { + "type": "string", + "description": "The name of the app. Optional" + }, + "packageName": { + "type": "string", + "description": "The package name of the app. Required." + }, + "versionCode": { + "type": "string", + "description": "The internal version code of the app. Optional." + }, + "versionName": { + "type": "string", + "description": "The version name of the app. Optional." + } + } + }, + "AndroidInstrumentationTest": { + "id": "AndroidInstrumentationTest", + "type": "object", + "description": "A test of an Android application that can control an Android component independently of its normal lifecycle.\n\nSee for more information on types of Android tests.", + "properties": { + "testPackageId": { + "type": "string", + "description": "The java package for the test to be executed. Required" + }, + "testRunnerClass": { + "type": "string", + "description": "The InstrumentationTestRunner class. Required" + }, + "testTargets": { + "type": "array", + "description": "Each target must be fully qualified with the package name or class name, in one of these formats: - \"package package_name\" - \"class package_name.class_name\" - \"class package_name.class_name#method_name\"\n\nIf empty, all targets in the module will be run.", + "items": { + "type": "string" + } + }, + "useOrchestrator": { + "type": "boolean", + "description": "The flag indicates whether Android Test Orchestrator will be used to run test or not. Test orchestrator is used if either: - orchestrator_option field is USE_ORCHESTRATOR, and test runner is compatible with orchestrator. Or - orchestrator_option field is unspecified or ORCHESTRATOR_OPTION_UNSPECIFIED, and test runner is compatible with orchestrator." + } + } + }, + "AndroidRoboTest": { + "id": "AndroidRoboTest", + "type": "object", + "description": "A test of an android application that explores the application on a virtual or physical Android device, finding culprits and crashes as it goes.", + "properties": { + "appInitialActivity": { + "type": "string", + "description": "The initial activity that should be used to start the app. Optional" + }, + "bootstrapPackageId": { + "type": "string", + "description": "The java package for the bootstrap. Optional" + }, + "bootstrapRunnerClass": { + "type": "string", + "description": "The runner class for the bootstrap. Optional" + }, + "maxDepth": { + "type": "integer", + "description": "The max depth of the traversal stack Robo can explore. Optional", + "format": "int32" + }, + "maxSteps": { + "type": "integer", + "description": "The max number of steps/actions Robo can execute. Default is no limit (0). Optional", + "format": "int32" + } + } + }, + "AndroidTest": { + "id": "AndroidTest", + "type": "object", + "description": "An Android mobile test specification.", + "properties": { + "androidAppInfo": { + "$ref": "AndroidAppInfo", + "description": "Infomation about the application under test." + }, + "androidInstrumentationTest": { + "$ref": "AndroidInstrumentationTest", + "description": "An Android instrumentation test." + }, + "androidRoboTest": { + "$ref": "AndroidRoboTest", + "description": "An Android robo test." + }, + "testTimeout": { + "$ref": "Duration", + "description": "Max time a test is allowed to run before it is automatically cancelled." + } + } + }, "Any": { "id": "Any", "type": "object", @@ -93,6 +194,20 @@ } } }, + "AppStartTime": { + "id": "AppStartTime", + "type": "object", + "properties": { + "fullyDrawnTime": { + "$ref": "Duration", + "description": "Optional. The time from app start to reaching the developer-reported \"fully drawn\" time. This is only stored if the app includes a call to Activity.reportFullyDrawn(). See https://developer.android.com/topic/performance/launch-time.html#time-full" + }, + "initialDisplayTime": { + "$ref": "Duration", + "description": "The time from app start to the first displayed activity being drawn, as reported in Logcat. See https://developer.android.com/topic/performance/launch-time.html#time-initial" + } + } + }, "BasicPerfSampleSeries": { "id": "BasicPerfSampleSeries", "type": "object", @@ -253,6 +368,10 @@ "$ref": "Outcome", "description": "Classify the result, for example into SUCCESS or FAILURE\n\n- In response: present if set by create/update request - In create/update request: optional" }, + "specification": { + "$ref": "Specification", + "description": "Lightweight information about execution request.\n\n- In response: present if set by create - In create: optional - In update: optional" + }, "state": { "type": "string", "description": "The initial state is IN_PROGRESS.\n\nThe only legal state transitions is from IN_PROGRESS to COMPLETE.\n\nA PRECONDITION_FAILED will be returned if an invalid transition is requested.\n\nThe state can only be set to COMPLETE once. A FAILED_PRECONDITION will be returned if the state is set to COMPLETE multiple times.\n\nIf the state is set to COMPLETE, all the in-progress steps within the execution will be set as COMPLETE. If the outcome of the step is not set, the outcome will be set to INCONCLUSIVE.\n\n- In response always set - In create/update request: optional", @@ -271,7 +390,7 @@ }, "testExecutionMatrixId": { "type": "string", - "description": "TestExecution Matrix ID that the Test Service uses.\n\n- In response: present if set by create - In create: optional - In update: never set" + "description": "TestExecution Matrix ID that the TestExecutionService uses.\n\n- In response: present if set by create - In create: optional - In update: never set" } } }, @@ -281,7 +400,7 @@ "properties": { "crashed": { "type": "boolean", - "description": "If the failure was severe because the system under test crashed." + "description": "If the failure was severe because the system (app) under test crashed." }, "notInstalled": { "type": "boolean", @@ -289,7 +408,7 @@ }, "otherNativeCrash": { "type": "boolean", - "description": "If a native process other than the app crashed." + "description": "If a native process (including any other than the app) crashed." }, "timedOut": { "type": "boolean", @@ -432,6 +551,19 @@ } } }, + "ListScreenshotClustersResponse": { + "id": "ListScreenshotClustersResponse", + "type": "object", + "properties": { + "clusters": { + "type": "array", + "description": "The set of clustres associated with an execution Always set", + "items": { + "$ref": "ScreenshotCluster" + } + } + } + }, "ListStepThumbnailsResponse": { "id": "ListStepThumbnailsResponse", "type": "object", @@ -545,6 +677,9 @@ "type": "object", "description": "A summary of perf metrics collected and performance environment info", "properties": { + "appStartTime": { + "$ref": "AppStartTime" + }, "executionId": { "type": "string", "description": "A tool results execution ID." @@ -664,6 +799,53 @@ } } }, + "Screen": { + "id": "Screen", + "type": "object", + "properties": { + "fileReference": { + "type": "string", + "description": "File reference of the png file. Required." + }, + "locale": { + "type": "string", + "description": "Locale of the device that the screenshot was taken on. Required." + }, + "model": { + "type": "string", + "description": "Model of the device that the screenshot was taken on. Required." + }, + "version": { + "type": "string", + "description": "OS version of the device that the screenshot was taken on. Required." + } + } + }, + "ScreenshotCluster": { + "id": "ScreenshotCluster", + "type": "object", + "properties": { + "activity": { + "type": "string", + "description": "A string that describes the activity of every screen in the cluster." + }, + "clusterId": { + "type": "string", + "description": "A unique identifier for the cluster." + }, + "keyScreen": { + "$ref": "Screen", + "description": "A singular screen that represents the cluster as a whole. This screen will act as the \"cover\" of the entire cluster. When users look at the clusters, only the key screen from each cluster will be shown. Which screen is the key screen is determined by the ClusteringAlgorithm" + }, + "screens": { + "type": "array", + "description": "Full list of screens.", + "items": { + "$ref": "Screen" + } + } + } + }, "SkippedDetail": { "id": "SkippedDetail", "type": "object", @@ -682,14 +864,33 @@ } } }, + "Specification": { + "id": "Specification", + "type": "object", + "description": "The details about how to run the execution.", + "properties": { + "androidTest": { + "$ref": "AndroidTest", + "description": "An Android mobile test execution specification." + } + } + }, "StackTrace": { "id": "StackTrace", "type": "object", "description": "A stacktrace.", "properties": { + "clusterId": { + "type": "string", + "description": "Exception cluster ID" + }, "exception": { "type": "string", "description": "The stack trace message.\n\nRequired" + }, + "reportId": { + "type": "string", + "description": "Exception report ID" } } }, @@ -705,7 +906,7 @@ }, "details": { "type": "array", - "description": "A list of messages that carry the error details. There will be a common set of message types for APIs to use.", + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", "items": { "$ref": "Any" } @@ -882,15 +1083,51 @@ "TestIssue": { "id": "TestIssue", "type": "object", - "description": "An abnormal event observed during the test execution.", + "description": "An issue detected occurring during a test execution.", "properties": { "errorMessage": { "type": "string", - "description": "A brief human-readable message describing the abnormal event.\n\nRequired." + "description": "A brief human-readable message describing the issue. Required." + }, + "severity": { + "type": "string", + "description": "Severity of issue. Required.", + "enum": [ + "info", + "severe", + "unspecifiedSeverity", + "warning" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ] }, "stackTrace": { "$ref": "StackTrace", - "description": "Optional." + "description": "Deprecated in favor of stack trace fields inside specific warnings." + }, + "type": { + "type": "string", + "description": "Type of issue. Required.", + "enum": [ + "anr", + "fatalException", + "nativeCrash", + "unspecifiedType" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ] + }, + "warning": { + "$ref": "Any", + "description": "Warning message with additional details of the issue. Should always be a message from com.google.devtools.toolresults.v1.warnings Required." } } }, @@ -1378,6 +1615,85 @@ } }, "resources": { + "clusters": { + "methods": { + "get": { + "id": "toolresults.projects.histories.executions.clusters.get", + "path": "{projectId}/histories/{historyId}/executions/{executionId}/clusters/{clusterId}", + "httpMethod": "GET", + "description": "Retrieves a single screenshot cluster by its ID", + "parameters": { + "clusterId": { + "type": "string", + "description": "A Cluster id\n\nRequired.", + "required": true, + "location": "path" + }, + "executionId": { + "type": "string", + "description": "An Execution id.\n\nRequired.", + "required": true, + "location": "path" + }, + "historyId": { + "type": "string", + "description": "A History id.\n\nRequired.", + "required": true, + "location": "path" + }, + "projectId": { + "type": "string", + "description": "A Project id.\n\nRequired.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectId", + "historyId", + "executionId", + "clusterId" + ], + "response": { + "$ref": "ScreenshotCluster" + } + }, + "list": { + "id": "toolresults.projects.histories.executions.clusters.list", + "path": "{projectId}/histories/{historyId}/executions/{executionId}/clusters", + "httpMethod": "GET", + "description": "Lists Screenshot Clusters\n\nReturns the list of screenshot clusters corresponding to an execution. Screenshot clusters are created after the execution is finished. Clusters are created from a set of screenshots. Between any two screenshots, a matching score is calculated based off their metadata that determines how similar they are. Screenshots are placed in the cluster that has screens which have the highest matching scores.", + "parameters": { + "executionId": { + "type": "string", + "description": "An Execution id.\n\nRequired.", + "required": true, + "location": "path" + }, + "historyId": { + "type": "string", + "description": "A History id.\n\nRequired.", + "required": true, + "location": "path" + }, + "projectId": { + "type": "string", + "description": "A Project id.\n\nRequired.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectId", + "historyId", + "executionId" + ], + "response": { + "$ref": "ListScreenshotClustersResponse" + } + } + } + }, "steps": { "methods": { "create": { @@ -1668,7 +1984,7 @@ "id": "toolresults.projects.histories.executions.steps.perfMetricsSummary.create", "path": "{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfMetricsSummary", "httpMethod": "POST", - "description": "Creates a PerfMetricsSummary resource.\n\nMay return any of the following error code(s): - ALREADY_EXISTS - A PerfMetricSummary already exists for the given Step - NOT_FOUND - The containing Step does not exist", + "description": "Creates a PerfMetricsSummary resource. Returns the existing one if it has already been created.\n\nMay return any of the following error code(s): - NOT_FOUND - The containing Step does not exist", "parameters": { "executionId": { "type": "string", diff --git a/vendor/google.golang.org/api/toolresults/v1beta3/toolresults-gen.go b/vendor/google.golang.org/api/toolresults/v1beta3/toolresults-gen.go index 384b31d9b..aa4275c5c 100644 --- a/vendor/google.golang.org/api/toolresults/v1beta3/toolresults-gen.go +++ b/vendor/google.golang.org/api/toolresults/v1beta3/toolresults-gen.go @@ -101,6 +101,7 @@ type ProjectsHistoriesService struct { func NewProjectsHistoriesExecutionsService(s *Service) *ProjectsHistoriesExecutionsService { rs := &ProjectsHistoriesExecutionsService{s: s} + rs.Clusters = NewProjectsHistoriesExecutionsClustersService(s) rs.Steps = NewProjectsHistoriesExecutionsStepsService(s) return rs } @@ -108,9 +109,20 @@ func NewProjectsHistoriesExecutionsService(s *Service) *ProjectsHistoriesExecuti type ProjectsHistoriesExecutionsService struct { s *Service + Clusters *ProjectsHistoriesExecutionsClustersService + Steps *ProjectsHistoriesExecutionsStepsService } +func NewProjectsHistoriesExecutionsClustersService(s *Service) *ProjectsHistoriesExecutionsClustersService { + rs := &ProjectsHistoriesExecutionsClustersService{s: s} + return rs +} + +type ProjectsHistoriesExecutionsClustersService struct { + s *Service +} + func NewProjectsHistoriesExecutionsStepsService(s *Service) *ProjectsHistoriesExecutionsStepsService { rs := &ProjectsHistoriesExecutionsStepsService{s: s} rs.PerfMetricsSummary = NewProjectsHistoriesExecutionsStepsPerfMetricsSummaryService(s) @@ -168,6 +180,179 @@ type ProjectsHistoriesExecutionsStepsThumbnailsService struct { s *Service } +// AndroidAppInfo: Android app information. +type AndroidAppInfo struct { + // Name: The name of the app. Optional + Name string `json:"name,omitempty"` + + // PackageName: The package name of the app. Required. + PackageName string `json:"packageName,omitempty"` + + // VersionCode: The internal version code of the app. Optional. + VersionCode string `json:"versionCode,omitempty"` + + // VersionName: The version name of the app. Optional. + VersionName string `json:"versionName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AndroidAppInfo) MarshalJSON() ([]byte, error) { + type noMethod AndroidAppInfo + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AndroidInstrumentationTest: A test of an Android application that can +// control an Android component independently of its normal +// lifecycle. +// +// See for more information on types of Android tests. +type AndroidInstrumentationTest struct { + // TestPackageId: The java package for the test to be executed. Required + TestPackageId string `json:"testPackageId,omitempty"` + + // TestRunnerClass: The InstrumentationTestRunner class. Required + TestRunnerClass string `json:"testRunnerClass,omitempty"` + + // TestTargets: Each target must be fully qualified with the package + // name or class name, in one of these formats: - "package package_name" + // - "class package_name.class_name" - "class + // package_name.class_name#method_name" + // + // If empty, all targets in the module will be run. + TestTargets []string `json:"testTargets,omitempty"` + + // UseOrchestrator: The flag indicates whether Android Test Orchestrator + // will be used to run test or not. Test orchestrator is used if either: + // - orchestrator_option field is USE_ORCHESTRATOR, and test runner is + // compatible with orchestrator. Or - orchestrator_option field is + // unspecified or ORCHESTRATOR_OPTION_UNSPECIFIED, and test runner is + // compatible with orchestrator. + UseOrchestrator bool `json:"useOrchestrator,omitempty"` + + // ForceSendFields is a list of field names (e.g. "TestPackageId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "TestPackageId") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AndroidInstrumentationTest) MarshalJSON() ([]byte, error) { + type noMethod AndroidInstrumentationTest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AndroidRoboTest: A test of an android application that explores the +// application on a virtual or physical Android device, finding culprits +// and crashes as it goes. +type AndroidRoboTest struct { + // AppInitialActivity: The initial activity that should be used to start + // the app. Optional + AppInitialActivity string `json:"appInitialActivity,omitempty"` + + // BootstrapPackageId: The java package for the bootstrap. Optional + BootstrapPackageId string `json:"bootstrapPackageId,omitempty"` + + // BootstrapRunnerClass: The runner class for the bootstrap. Optional + BootstrapRunnerClass string `json:"bootstrapRunnerClass,omitempty"` + + // MaxDepth: The max depth of the traversal stack Robo can explore. + // Optional + MaxDepth int64 `json:"maxDepth,omitempty"` + + // MaxSteps: The max number of steps/actions Robo can execute. Default + // is no limit (0). Optional + MaxSteps int64 `json:"maxSteps,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AppInitialActivity") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AppInitialActivity") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AndroidRoboTest) MarshalJSON() ([]byte, error) { + type noMethod AndroidRoboTest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AndroidTest: An Android mobile test specification. +type AndroidTest struct { + // AndroidAppInfo: Infomation about the application under test. + AndroidAppInfo *AndroidAppInfo `json:"androidAppInfo,omitempty"` + + // AndroidInstrumentationTest: An Android instrumentation test. + AndroidInstrumentationTest *AndroidInstrumentationTest `json:"androidInstrumentationTest,omitempty"` + + // AndroidRoboTest: An Android robo test. + AndroidRoboTest *AndroidRoboTest `json:"androidRoboTest,omitempty"` + + // TestTimeout: Max time a test is allowed to run before it is + // automatically cancelled. + TestTimeout *Duration `json:"testTimeout,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AndroidAppInfo") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AndroidAppInfo") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AndroidTest) MarshalJSON() ([]byte, error) { + type noMethod AndroidTest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Any: `Any` contains an arbitrary serialized protocol buffer message // along with a URL that describes the type of the serialized // message. @@ -272,6 +457,42 @@ func (s *Any) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type AppStartTime struct { + // FullyDrawnTime: Optional. The time from app start to reaching the + // developer-reported "fully drawn" time. This is only stored if the app + // includes a call to Activity.reportFullyDrawn(). See + // https://developer.android.com/topic/performance/launch-time.html#time-full + FullyDrawnTime *Duration `json:"fullyDrawnTime,omitempty"` + + // InitialDisplayTime: The time from app start to the first displayed + // activity being drawn, as reported in Logcat. See + // https://developer.android.com/topic/performance/launch-time.html#time-initial + InitialDisplayTime *Duration `json:"initialDisplayTime,omitempty"` + + // ForceSendFields is a list of field names (e.g. "FullyDrawnTime") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "FullyDrawnTime") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AppStartTime) MarshalJSON() ([]byte, error) { + type noMethod AppStartTime + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // BasicPerfSampleSeries: Encapsulates the metadata for basic sample // series represented by a line chart type BasicPerfSampleSeries struct { @@ -572,6 +793,12 @@ type Execution struct { // create/update request: optional Outcome *Outcome `json:"outcome,omitempty"` + // Specification: Lightweight information about execution request. + // + // - In response: present if set by create - In create: optional - In + // update: optional + Specification *Specification `json:"specification,omitempty"` + // State: The initial state is IN_PROGRESS. // // The only legal state transitions is from IN_PROGRESS to COMPLETE. @@ -595,8 +822,8 @@ type Execution struct { // "unknownState" State string `json:"state,omitempty"` - // TestExecutionMatrixId: TestExecution Matrix ID that the Test Service - // uses. + // TestExecutionMatrixId: TestExecution Matrix ID that the + // TestExecutionService uses. // // - In response: present if set by create - In create: optional - In // update: never set @@ -631,8 +858,8 @@ func (s *Execution) MarshalJSON() ([]byte, error) { } type FailureDetail struct { - // Crashed: If the failure was severe because the system under test - // crashed. + // Crashed: If the failure was severe because the system (app) under + // test crashed. Crashed bool `json:"crashed,omitempty"` // NotInstalled: If an app is not installed and thus no test can be run @@ -640,7 +867,8 @@ type FailureDetail struct { // unsupported platform. NotInstalled bool `json:"notInstalled,omitempty"` - // OtherNativeCrash: If a native process other than the app crashed. + // OtherNativeCrash: If a native process (including any other than the + // app) crashed. OtherNativeCrash bool `json:"otherNativeCrash,omitempty"` // TimedOut: If the test overran some time limit, and that is why it @@ -1001,6 +1229,37 @@ func (s *ListPerfSamplesResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type ListScreenshotClustersResponse struct { + // Clusters: The set of clustres associated with an execution Always set + Clusters []*ScreenshotCluster `json:"clusters,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Clusters") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Clusters") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListScreenshotClustersResponse) MarshalJSON() ([]byte, error) { + type noMethod ListScreenshotClustersResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ListStepThumbnailsResponse: A response containing the thumbnails in a // step. type ListStepThumbnailsResponse struct { @@ -1225,6 +1484,8 @@ func (s *PerfEnvironment) MarshalJSON() ([]byte, error) { // PerfMetricsSummary: A summary of perf metrics collected and // performance environment info type PerfMetricsSummary struct { + AppStartTime *AppStartTime `json:"appStartTime,omitempty"` + // ExecutionId: A tool results execution ID. ExecutionId string `json:"executionId,omitempty"` @@ -1255,7 +1516,7 @@ type PerfMetricsSummary struct { // server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "ExecutionId") to + // ForceSendFields is a list of field names (e.g. "AppStartTime") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -1263,7 +1524,7 @@ type PerfMetricsSummary struct { // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ExecutionId") to include + // NullFields is a list of field names (e.g. "AppStartTime") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as @@ -1452,6 +1713,90 @@ func (s *PublishXunitXmlFilesRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type Screen struct { + // FileReference: File reference of the png file. Required. + FileReference string `json:"fileReference,omitempty"` + + // Locale: Locale of the device that the screenshot was taken on. + // Required. + Locale string `json:"locale,omitempty"` + + // Model: Model of the device that the screenshot was taken on. + // Required. + Model string `json:"model,omitempty"` + + // Version: OS version of the device that the screenshot was taken on. + // Required. + Version string `json:"version,omitempty"` + + // ForceSendFields is a list of field names (e.g. "FileReference") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "FileReference") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Screen) MarshalJSON() ([]byte, error) { + type noMethod Screen + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type ScreenshotCluster struct { + // Activity: A string that describes the activity of every screen in the + // cluster. + Activity string `json:"activity,omitempty"` + + // ClusterId: A unique identifier for the cluster. + ClusterId string `json:"clusterId,omitempty"` + + // KeyScreen: A singular screen that represents the cluster as a whole. + // This screen will act as the "cover" of the entire cluster. When users + // look at the clusters, only the key screen from each cluster will be + // shown. Which screen is the key screen is determined by the + // ClusteringAlgorithm + KeyScreen *Screen `json:"keyScreen,omitempty"` + + // Screens: Full list of screens. + Screens []*Screen `json:"screens,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Activity") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Activity") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ScreenshotCluster) MarshalJSON() ([]byte, error) { + type noMethod ScreenshotCluster + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type SkippedDetail struct { // IncompatibleAppVersion: If the App doesn't support the specific API // level. @@ -1490,14 +1835,12 @@ func (s *SkippedDetail) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// StackTrace: A stacktrace. -type StackTrace struct { - // Exception: The stack trace message. - // - // Required - Exception string `json:"exception,omitempty"` +// Specification: The details about how to run the execution. +type Specification struct { + // AndroidTest: An Android mobile test execution specification. + AndroidTest *AndroidTest `json:"androidTest,omitempty"` - // ForceSendFields is a list of field names (e.g. "Exception") to + // ForceSendFields is a list of field names (e.g. "AndroidTest") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -1505,7 +1848,43 @@ type StackTrace struct { // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Exception") to include in + // NullFields is a list of field names (e.g. "AndroidTest") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Specification) MarshalJSON() ([]byte, error) { + type noMethod Specification + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// StackTrace: A stacktrace. +type StackTrace struct { + // ClusterId: Exception cluster ID + ClusterId string `json:"clusterId,omitempty"` + + // Exception: The stack trace message. + // + // Required + Exception string `json:"exception,omitempty"` + + // ReportId: Exception report ID + ReportId string `json:"reportId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ClusterId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ClusterId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as @@ -1581,8 +1960,8 @@ type Status struct { // [google.rpc.Code][]. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of message types for APIs to use. Details []*Any `json:"details,omitempty"` // Message: A developer-facing error message, which should be in @@ -2020,17 +2399,39 @@ func (s *TestExecutionStep) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// TestIssue: An abnormal event observed during the test execution. +// TestIssue: An issue detected occurring during a test execution. type TestIssue struct { - // ErrorMessage: A brief human-readable message describing the abnormal - // event. - // + // ErrorMessage: A brief human-readable message describing the issue. // Required. ErrorMessage string `json:"errorMessage,omitempty"` - // StackTrace: Optional. + // Severity: Severity of issue. Required. + // + // Possible values: + // "info" + // "severe" + // "unspecifiedSeverity" + // "warning" + Severity string `json:"severity,omitempty"` + + // StackTrace: Deprecated in favor of stack trace fields inside specific + // warnings. StackTrace *StackTrace `json:"stackTrace,omitempty"` + // Type: Type of issue. Required. + // + // Possible values: + // "anr" + // "fatalException" + // "nativeCrash" + // "unspecifiedType" + Type string `json:"type,omitempty"` + + // Warning: Warning message with additional details of the issue. Should + // always be a message from com.google.devtools.toolresults.v1.warnings + // Required. + Warning *Any `json:"warning,omitempty"` + // ForceSendFields is a list of field names (e.g. "ErrorMessage") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -4014,6 +4415,332 @@ func (c *ProjectsHistoriesExecutionsPatchCall) Do(opts ...googleapi.CallOption) } +// method id "toolresults.projects.histories.executions.clusters.get": + +type ProjectsHistoriesExecutionsClustersGetCall struct { + s *Service + projectId string + historyId string + executionId string + clusterId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Retrieves a single screenshot cluster by its ID +func (r *ProjectsHistoriesExecutionsClustersService) Get(projectId string, historyId string, executionId string, clusterId string) *ProjectsHistoriesExecutionsClustersGetCall { + c := &ProjectsHistoriesExecutionsClustersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.historyId = historyId + c.executionId = executionId + c.clusterId = clusterId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsHistoriesExecutionsClustersGetCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsClustersGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsHistoriesExecutionsClustersGetCall) IfNoneMatch(entityTag string) *ProjectsHistoriesExecutionsClustersGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsHistoriesExecutionsClustersGetCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsClustersGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsHistoriesExecutionsClustersGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsHistoriesExecutionsClustersGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{projectId}/histories/{historyId}/executions/{executionId}/clusters/{clusterId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "historyId": c.historyId, + "executionId": c.executionId, + "clusterId": c.clusterId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "toolresults.projects.histories.executions.clusters.get" call. +// Exactly one of *ScreenshotCluster or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ScreenshotCluster.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsHistoriesExecutionsClustersGetCall) Do(opts ...googleapi.CallOption) (*ScreenshotCluster, 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, &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, err + } + ret := &ScreenshotCluster{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Retrieves a single screenshot cluster by its ID", + // "httpMethod": "GET", + // "id": "toolresults.projects.histories.executions.clusters.get", + // "parameterOrder": [ + // "projectId", + // "historyId", + // "executionId", + // "clusterId" + // ], + // "parameters": { + // "clusterId": { + // "description": "A Cluster id\n\nRequired.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "executionId": { + // "description": "An Execution id.\n\nRequired.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "historyId": { + // "description": "A History id.\n\nRequired.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "A Project id.\n\nRequired.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{projectId}/histories/{historyId}/executions/{executionId}/clusters/{clusterId}", + // "response": { + // "$ref": "ScreenshotCluster" + // } + // } + +} + +// method id "toolresults.projects.histories.executions.clusters.list": + +type ProjectsHistoriesExecutionsClustersListCall struct { + s *Service + projectId string + historyId string + executionId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists Screenshot Clusters +// +// Returns the list of screenshot clusters corresponding to an +// execution. Screenshot clusters are created after the execution is +// finished. Clusters are created from a set of screenshots. Between any +// two screenshots, a matching score is calculated based off their +// metadata that determines how similar they are. Screenshots are placed +// in the cluster that has screens which have the highest matching +// scores. +func (r *ProjectsHistoriesExecutionsClustersService) List(projectId string, historyId string, executionId string) *ProjectsHistoriesExecutionsClustersListCall { + c := &ProjectsHistoriesExecutionsClustersListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.historyId = historyId + c.executionId = executionId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsHistoriesExecutionsClustersListCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsClustersListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsHistoriesExecutionsClustersListCall) IfNoneMatch(entityTag string) *ProjectsHistoriesExecutionsClustersListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsHistoriesExecutionsClustersListCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsClustersListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsHistoriesExecutionsClustersListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsHistoriesExecutionsClustersListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{projectId}/histories/{historyId}/executions/{executionId}/clusters") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "historyId": c.historyId, + "executionId": c.executionId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "toolresults.projects.histories.executions.clusters.list" call. +// Exactly one of *ListScreenshotClustersResponse or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *ListScreenshotClustersResponse.ServerResponse.Header or (if a +// response was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsHistoriesExecutionsClustersListCall) Do(opts ...googleapi.CallOption) (*ListScreenshotClustersResponse, 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, &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, err + } + ret := &ListScreenshotClustersResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists Screenshot Clusters\n\nReturns the list of screenshot clusters corresponding to an execution. Screenshot clusters are created after the execution is finished. Clusters are created from a set of screenshots. Between any two screenshots, a matching score is calculated based off their metadata that determines how similar they are. Screenshots are placed in the cluster that has screens which have the highest matching scores.", + // "httpMethod": "GET", + // "id": "toolresults.projects.histories.executions.clusters.list", + // "parameterOrder": [ + // "projectId", + // "historyId", + // "executionId" + // ], + // "parameters": { + // "executionId": { + // "description": "An Execution id.\n\nRequired.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "historyId": { + // "description": "A History id.\n\nRequired.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "A Project id.\n\nRequired.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{projectId}/histories/{historyId}/executions/{executionId}/clusters", + // "response": { + // "$ref": "ListScreenshotClustersResponse" + // } + // } + +} + // method id "toolresults.projects.histories.executions.steps.create": type ProjectsHistoriesExecutionsStepsCreateCall struct { @@ -5125,10 +5852,10 @@ type ProjectsHistoriesExecutionsStepsPerfMetricsSummaryCreateCall struct { header_ http.Header } -// Create: Creates a PerfMetricsSummary resource. +// Create: Creates a PerfMetricsSummary resource. Returns the existing +// one if it has already been created. // -// May return any of the following error code(s): - ALREADY_EXISTS - A -// PerfMetricSummary already exists for the given Step - NOT_FOUND - The +// May return any of the following error code(s): - NOT_FOUND - The // containing Step does not exist func (r *ProjectsHistoriesExecutionsStepsPerfMetricsSummaryService) Create(projectId string, historyId string, executionId string, stepId string, perfmetricssummary *PerfMetricsSummary) *ProjectsHistoriesExecutionsStepsPerfMetricsSummaryCreateCall { c := &ProjectsHistoriesExecutionsStepsPerfMetricsSummaryCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} @@ -5229,7 +5956,7 @@ func (c *ProjectsHistoriesExecutionsStepsPerfMetricsSummaryCreateCall) Do(opts . } return ret, nil // { - // "description": "Creates a PerfMetricsSummary resource.\n\nMay return any of the following error code(s): - ALREADY_EXISTS - A PerfMetricSummary already exists for the given Step - NOT_FOUND - The containing Step does not exist", + // "description": "Creates a PerfMetricsSummary resource. Returns the existing one if it has already been created.\n\nMay return any of the following error code(s): - NOT_FOUND - The containing Step does not exist", // "httpMethod": "POST", // "id": "toolresults.projects.histories.executions.steps.perfMetricsSummary.create", // "parameterOrder": [ diff --git a/vendor/google.golang.org/api/toolresults/v1beta3firstparty/toolresults-api.json b/vendor/google.golang.org/api/toolresults/v1beta3firstparty/toolresults-api.json index 98c1f6792..43cb38041 100644 --- a/vendor/google.golang.org/api/toolresults/v1beta3firstparty/toolresults-api.json +++ b/vendor/google.golang.org/api/toolresults/v1beta3firstparty/toolresults-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/FH4w9B_pRHq9pTaQIMU_qmeewDE\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/oRWw5OqIvzBrnyAI_p6qB5VpgEM\"", "discoveryVersion": "v1", "id": "toolresults:v1beta3firstparty", "name": "toolresults", "canonicalName": "Tool Results", "version": "v1beta3firstparty", - "revision": "20170607", + "revision": "20170911", "title": "Cloud Tool Results firstparty API", "description": "Reads and publishes results from Firebase Test Lab.", "ownerDomain": "google.com", @@ -68,6 +68,107 @@ } }, "schemas": { + "AndroidAppInfo": { + "id": "AndroidAppInfo", + "type": "object", + "description": "Android app information.", + "properties": { + "name": { + "type": "string", + "description": "The name of the app. Optional" + }, + "packageName": { + "type": "string", + "description": "The package name of the app. Required." + }, + "versionCode": { + "type": "string", + "description": "The internal version code of the app. Optional." + }, + "versionName": { + "type": "string", + "description": "The version name of the app. Optional." + } + } + }, + "AndroidInstrumentationTest": { + "id": "AndroidInstrumentationTest", + "type": "object", + "description": "A test of an Android application that can control an Android component independently of its normal lifecycle.\n\nSee for more information on types of Android tests.", + "properties": { + "testPackageId": { + "type": "string", + "description": "The java package for the test to be executed. Required" + }, + "testRunnerClass": { + "type": "string", + "description": "The InstrumentationTestRunner class. Required" + }, + "testTargets": { + "type": "array", + "description": "Each target must be fully qualified with the package name or class name, in one of these formats: - \"package package_name\" - \"class package_name.class_name\" - \"class package_name.class_name#method_name\"\n\nIf empty, all targets in the module will be run.", + "items": { + "type": "string" + } + }, + "useOrchestrator": { + "type": "boolean", + "description": "The flag indicates whether Android Test Orchestrator will be used to run test or not. Test orchestrator is used if either: - orchestrator_option field is USE_ORCHESTRATOR, and test runner is compatible with orchestrator. Or - orchestrator_option field is unspecified or ORCHESTRATOR_OPTION_UNSPECIFIED, and test runner is compatible with orchestrator." + } + } + }, + "AndroidRoboTest": { + "id": "AndroidRoboTest", + "type": "object", + "description": "A test of an android application that explores the application on a virtual or physical Android device, finding culprits and crashes as it goes.", + "properties": { + "appInitialActivity": { + "type": "string", + "description": "The initial activity that should be used to start the app. Optional" + }, + "bootstrapPackageId": { + "type": "string", + "description": "The java package for the bootstrap. Optional" + }, + "bootstrapRunnerClass": { + "type": "string", + "description": "The runner class for the bootstrap. Optional" + }, + "maxDepth": { + "type": "integer", + "description": "The max depth of the traversal stack Robo can explore. Optional", + "format": "int32" + }, + "maxSteps": { + "type": "integer", + "description": "The max number of steps/actions Robo can execute. Default is no limit (0). Optional", + "format": "int32" + } + } + }, + "AndroidTest": { + "id": "AndroidTest", + "type": "object", + "description": "An Android mobile test specification.", + "properties": { + "androidAppInfo": { + "$ref": "AndroidAppInfo", + "description": "Infomation about the application under test." + }, + "androidInstrumentationTest": { + "$ref": "AndroidInstrumentationTest", + "description": "An Android instrumentation test." + }, + "androidRoboTest": { + "$ref": "AndroidRoboTest", + "description": "An Android robo test." + }, + "testTimeout": { + "$ref": "Duration", + "description": "Max time a test is allowed to run before it is automatically cancelled." + } + } + }, "Any": { "id": "Any", "type": "object", @@ -84,6 +185,20 @@ } } }, + "AppStartTime": { + "id": "AppStartTime", + "type": "object", + "properties": { + "fullyDrawnTime": { + "$ref": "Duration", + "description": "Optional. The time from app start to reaching the developer-reported \"fully drawn\" time. This is only stored if the app includes a call to Activity.reportFullyDrawn(). See https://developer.android.com/topic/performance/launch-time.html#time-full" + }, + "initialDisplayTime": { + "$ref": "Duration", + "description": "The time from app start to the first displayed activity being drawn, as reported in Logcat. See https://developer.android.com/topic/performance/launch-time.html#time-initial" + } + } + }, "BasicPerfSampleSeries": { "id": "BasicPerfSampleSeries", "type": "object", @@ -244,6 +359,10 @@ "$ref": "Outcome", "description": "Classify the result, for example into SUCCESS or FAILURE\n\n- In response: present if set by create/update request - In create/update request: optional" }, + "specification": { + "$ref": "Specification", + "description": "Lightweight information about execution request.\n\n- In response: present if set by create - In create: optional - In update: optional" + }, "state": { "type": "string", "description": "The initial state is IN_PROGRESS.\n\nThe only legal state transitions is from IN_PROGRESS to COMPLETE.\n\nA PRECONDITION_FAILED will be returned if an invalid transition is requested.\n\nThe state can only be set to COMPLETE once. A FAILED_PRECONDITION will be returned if the state is set to COMPLETE multiple times.\n\nIf the state is set to COMPLETE, all the in-progress steps within the execution will be set as COMPLETE. If the outcome of the step is not set, the outcome will be set to INCONCLUSIVE.\n\n- In response always set - In create/update request: optional", @@ -262,7 +381,7 @@ }, "testExecutionMatrixId": { "type": "string", - "description": "TestExecution Matrix ID that the Test Service uses.\n\n- In response: present if set by create - In create: optional - In update: never set" + "description": "TestExecution Matrix ID that the TestExecutionService uses.\n\n- In response: present if set by create - In create: optional - In update: never set" } } }, @@ -423,6 +542,19 @@ } } }, + "ListScreenshotClustersResponse": { + "id": "ListScreenshotClustersResponse", + "type": "object", + "properties": { + "clusters": { + "type": "array", + "description": "The set of clustres associated with an execution Always set", + "items": { + "$ref": "ScreenshotCluster" + } + } + } + }, "ListStepThumbnailsResponse": { "id": "ListStepThumbnailsResponse", "type": "object", @@ -536,6 +668,9 @@ "type": "object", "description": "A summary of perf metrics collected and performance environment info", "properties": { + "appStartTime": { + "$ref": "AppStartTime" + }, "executionId": { "type": "string", "description": "A tool results execution ID." @@ -655,6 +790,53 @@ } } }, + "Screen": { + "id": "Screen", + "type": "object", + "properties": { + "fileReference": { + "type": "string", + "description": "File reference of the png file. Required." + }, + "locale": { + "type": "string", + "description": "Locale of the device that the screenshot was taken on. Required." + }, + "model": { + "type": "string", + "description": "Model of the device that the screenshot was taken on. Required." + }, + "version": { + "type": "string", + "description": "OS version of the device that the screenshot was taken on. Required." + } + } + }, + "ScreenshotCluster": { + "id": "ScreenshotCluster", + "type": "object", + "properties": { + "activity": { + "type": "string", + "description": "A string that describes the activity of every screen in the cluster." + }, + "clusterId": { + "type": "string", + "description": "A unique identifier for the cluster." + }, + "keyScreen": { + "$ref": "Screen", + "description": "A singular screen that represents the cluster as a whole. This screen will act as the \"cover\" of the entire cluster. When users look at the clusters, only the key screen from each cluster will be shown. Which screen is the key screen is determined by the ClusteringAlgorithm" + }, + "screens": { + "type": "array", + "description": "Full list of screens.", + "items": { + "$ref": "Screen" + } + } + } + }, "SkippedDetail": { "id": "SkippedDetail", "type": "object", @@ -673,14 +855,33 @@ } } }, + "Specification": { + "id": "Specification", + "type": "object", + "description": "The details about how to run the execution.", + "properties": { + "androidTest": { + "$ref": "AndroidTest", + "description": "An Android mobile test execution specification." + } + } + }, "StackTrace": { "id": "StackTrace", "type": "object", "description": "A stacktrace.", "properties": { + "clusterId": { + "type": "string", + "description": "Exception cluster ID" + }, "exception": { "type": "string", "description": "The stack trace message.\n\nRequired" + }, + "reportId": { + "type": "string", + "description": "Exception report ID" } } }, @@ -696,7 +897,7 @@ }, "details": { "type": "array", - "description": "A list of messages that carry the error details. There will be a common set of message types for APIs to use.", + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", "items": { "$ref": "Any" } @@ -873,15 +1074,51 @@ "TestIssue": { "id": "TestIssue", "type": "object", - "description": "An abnormal event observed during the test execution.", + "description": "An issue detected occurring during a test execution.", "properties": { "errorMessage": { "type": "string", - "description": "A brief human-readable message describing the abnormal event.\n\nRequired." + "description": "A brief human-readable message describing the issue. Required." + }, + "severity": { + "type": "string", + "description": "Severity of issue. Required.", + "enum": [ + "info", + "severe", + "unspecifiedSeverity", + "warning" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ] }, "stackTrace": { "$ref": "StackTrace", - "description": "Optional." + "description": "Deprecated in favor of stack trace fields inside specific warnings." + }, + "type": { + "type": "string", + "description": "Type of issue. Required.", + "enum": [ + "anr", + "fatalException", + "nativeCrash", + "unspecifiedType" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ] + }, + "warning": { + "$ref": "Any", + "description": "Warning message with additional details of the issue. Should always be a message from com.google.devtools.toolresults.v1.warnings Required." } } }, @@ -1342,6 +1579,85 @@ } }, "resources": { + "clusters": { + "methods": { + "get": { + "id": "toolresults.projects.histories.executions.clusters.get", + "path": "{projectId}/histories/{historyId}/executions/{executionId}/clusters/{clusterId}", + "httpMethod": "GET", + "description": "Retrieves a single screenshot cluster by its ID", + "parameters": { + "clusterId": { + "type": "string", + "description": "A Cluster id\n\nRequired.", + "required": true, + "location": "path" + }, + "executionId": { + "type": "string", + "description": "An Execution id.\n\nRequired.", + "required": true, + "location": "path" + }, + "historyId": { + "type": "string", + "description": "A History id.\n\nRequired.", + "required": true, + "location": "path" + }, + "projectId": { + "type": "string", + "description": "A Project id.\n\nRequired.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectId", + "historyId", + "executionId", + "clusterId" + ], + "response": { + "$ref": "ScreenshotCluster" + } + }, + "list": { + "id": "toolresults.projects.histories.executions.clusters.list", + "path": "{projectId}/histories/{historyId}/executions/{executionId}/clusters", + "httpMethod": "GET", + "description": "Lists Screenshot Clusters\n\nReturns the list of screenshot clusters corresponding to an execution. Screenshot clusters are created after the execution is finished. Clusters are created from a set of screenshots. Between any two screenshots, a matching score is calculated based off their metadata that determines how similar they are. Screenshots are placed in the cluster that has screens which have the highest matching scores.", + "parameters": { + "executionId": { + "type": "string", + "description": "An Execution id.\n\nRequired.", + "required": true, + "location": "path" + }, + "historyId": { + "type": "string", + "description": "A History id.\n\nRequired.", + "required": true, + "location": "path" + }, + "projectId": { + "type": "string", + "description": "A Project id.\n\nRequired.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectId", + "historyId", + "executionId" + ], + "response": { + "$ref": "ListScreenshotClustersResponse" + } + } + } + }, "steps": { "methods": { "create": { @@ -1614,7 +1930,7 @@ "id": "toolresults.projects.histories.executions.steps.perfMetricsSummary.create", "path": "{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfMetricsSummary", "httpMethod": "POST", - "description": "Creates a PerfMetricsSummary resource.\n\nMay return any of the following error code(s): - ALREADY_EXISTS - A PerfMetricSummary already exists for the given Step - NOT_FOUND - The containing Step does not exist", + "description": "Creates a PerfMetricsSummary resource. Returns the existing one if it has already been created.\n\nMay return any of the following error code(s): - NOT_FOUND - The containing Step does not exist", "parameters": { "executionId": { "type": "string", diff --git a/vendor/google.golang.org/api/toolresults/v1beta3firstparty/toolresults-gen.go b/vendor/google.golang.org/api/toolresults/v1beta3firstparty/toolresults-gen.go index 62d74268e..ae8d2e542 100644 --- a/vendor/google.golang.org/api/toolresults/v1beta3firstparty/toolresults-gen.go +++ b/vendor/google.golang.org/api/toolresults/v1beta3firstparty/toolresults-gen.go @@ -95,6 +95,7 @@ type ProjectsHistoriesService struct { func NewProjectsHistoriesExecutionsService(s *Service) *ProjectsHistoriesExecutionsService { rs := &ProjectsHistoriesExecutionsService{s: s} + rs.Clusters = NewProjectsHistoriesExecutionsClustersService(s) rs.Steps = NewProjectsHistoriesExecutionsStepsService(s) return rs } @@ -102,9 +103,20 @@ func NewProjectsHistoriesExecutionsService(s *Service) *ProjectsHistoriesExecuti type ProjectsHistoriesExecutionsService struct { s *Service + Clusters *ProjectsHistoriesExecutionsClustersService + Steps *ProjectsHistoriesExecutionsStepsService } +func NewProjectsHistoriesExecutionsClustersService(s *Service) *ProjectsHistoriesExecutionsClustersService { + rs := &ProjectsHistoriesExecutionsClustersService{s: s} + return rs +} + +type ProjectsHistoriesExecutionsClustersService struct { + s *Service +} + func NewProjectsHistoriesExecutionsStepsService(s *Service) *ProjectsHistoriesExecutionsStepsService { rs := &ProjectsHistoriesExecutionsStepsService{s: s} rs.PerfMetricsSummary = NewProjectsHistoriesExecutionsStepsPerfMetricsSummaryService(s) @@ -162,6 +174,179 @@ type ProjectsHistoriesExecutionsStepsThumbnailsService struct { s *Service } +// AndroidAppInfo: Android app information. +type AndroidAppInfo struct { + // Name: The name of the app. Optional + Name string `json:"name,omitempty"` + + // PackageName: The package name of the app. Required. + PackageName string `json:"packageName,omitempty"` + + // VersionCode: The internal version code of the app. Optional. + VersionCode string `json:"versionCode,omitempty"` + + // VersionName: The version name of the app. Optional. + VersionName string `json:"versionName,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AndroidAppInfo) MarshalJSON() ([]byte, error) { + type noMethod AndroidAppInfo + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AndroidInstrumentationTest: A test of an Android application that can +// control an Android component independently of its normal +// lifecycle. +// +// See for more information on types of Android tests. +type AndroidInstrumentationTest struct { + // TestPackageId: The java package for the test to be executed. Required + TestPackageId string `json:"testPackageId,omitempty"` + + // TestRunnerClass: The InstrumentationTestRunner class. Required + TestRunnerClass string `json:"testRunnerClass,omitempty"` + + // TestTargets: Each target must be fully qualified with the package + // name or class name, in one of these formats: - "package package_name" + // - "class package_name.class_name" - "class + // package_name.class_name#method_name" + // + // If empty, all targets in the module will be run. + TestTargets []string `json:"testTargets,omitempty"` + + // UseOrchestrator: The flag indicates whether Android Test Orchestrator + // will be used to run test or not. Test orchestrator is used if either: + // - orchestrator_option field is USE_ORCHESTRATOR, and test runner is + // compatible with orchestrator. Or - orchestrator_option field is + // unspecified or ORCHESTRATOR_OPTION_UNSPECIFIED, and test runner is + // compatible with orchestrator. + UseOrchestrator bool `json:"useOrchestrator,omitempty"` + + // ForceSendFields is a list of field names (e.g. "TestPackageId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "TestPackageId") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AndroidInstrumentationTest) MarshalJSON() ([]byte, error) { + type noMethod AndroidInstrumentationTest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AndroidRoboTest: A test of an android application that explores the +// application on a virtual or physical Android device, finding culprits +// and crashes as it goes. +type AndroidRoboTest struct { + // AppInitialActivity: The initial activity that should be used to start + // the app. Optional + AppInitialActivity string `json:"appInitialActivity,omitempty"` + + // BootstrapPackageId: The java package for the bootstrap. Optional + BootstrapPackageId string `json:"bootstrapPackageId,omitempty"` + + // BootstrapRunnerClass: The runner class for the bootstrap. Optional + BootstrapRunnerClass string `json:"bootstrapRunnerClass,omitempty"` + + // MaxDepth: The max depth of the traversal stack Robo can explore. + // Optional + MaxDepth int64 `json:"maxDepth,omitempty"` + + // MaxSteps: The max number of steps/actions Robo can execute. Default + // is no limit (0). Optional + MaxSteps int64 `json:"maxSteps,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AppInitialActivity") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AppInitialActivity") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AndroidRoboTest) MarshalJSON() ([]byte, error) { + type noMethod AndroidRoboTest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// AndroidTest: An Android mobile test specification. +type AndroidTest struct { + // AndroidAppInfo: Infomation about the application under test. + AndroidAppInfo *AndroidAppInfo `json:"androidAppInfo,omitempty"` + + // AndroidInstrumentationTest: An Android instrumentation test. + AndroidInstrumentationTest *AndroidInstrumentationTest `json:"androidInstrumentationTest,omitempty"` + + // AndroidRoboTest: An Android robo test. + AndroidRoboTest *AndroidRoboTest `json:"androidRoboTest,omitempty"` + + // TestTimeout: Max time a test is allowed to run before it is + // automatically cancelled. + TestTimeout *Duration `json:"testTimeout,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AndroidAppInfo") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AndroidAppInfo") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AndroidTest) MarshalJSON() ([]byte, error) { + type noMethod AndroidTest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Any: `Any` contains an arbitrary serialized protocol buffer message // along with a URL that describes the type of the serialized // message. @@ -266,6 +451,42 @@ func (s *Any) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type AppStartTime struct { + // FullyDrawnTime: Optional. The time from app start to reaching the + // developer-reported "fully drawn" time. This is only stored if the app + // includes a call to Activity.reportFullyDrawn(). See + // https://developer.android.com/topic/performance/launch-time.html#time-full + FullyDrawnTime *Duration `json:"fullyDrawnTime,omitempty"` + + // InitialDisplayTime: The time from app start to the first displayed + // activity being drawn, as reported in Logcat. See + // https://developer.android.com/topic/performance/launch-time.html#time-initial + InitialDisplayTime *Duration `json:"initialDisplayTime,omitempty"` + + // ForceSendFields is a list of field names (e.g. "FullyDrawnTime") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "FullyDrawnTime") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *AppStartTime) MarshalJSON() ([]byte, error) { + type noMethod AppStartTime + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // BasicPerfSampleSeries: Encapsulates the metadata for basic sample // series represented by a line chart type BasicPerfSampleSeries struct { @@ -566,6 +787,12 @@ type Execution struct { // create/update request: optional Outcome *Outcome `json:"outcome,omitempty"` + // Specification: Lightweight information about execution request. + // + // - In response: present if set by create - In create: optional - In + // update: optional + Specification *Specification `json:"specification,omitempty"` + // State: The initial state is IN_PROGRESS. // // The only legal state transitions is from IN_PROGRESS to COMPLETE. @@ -589,8 +816,8 @@ type Execution struct { // "unknownState" State string `json:"state,omitempty"` - // TestExecutionMatrixId: TestExecution Matrix ID that the Test Service - // uses. + // TestExecutionMatrixId: TestExecution Matrix ID that the + // TestExecutionService uses. // // - In response: present if set by create - In create: optional - In // update: never set @@ -995,6 +1222,37 @@ func (s *ListPerfSamplesResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type ListScreenshotClustersResponse struct { + // Clusters: The set of clustres associated with an execution Always set + Clusters []*ScreenshotCluster `json:"clusters,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Clusters") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Clusters") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListScreenshotClustersResponse) MarshalJSON() ([]byte, error) { + type noMethod ListScreenshotClustersResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ListStepThumbnailsResponse: A response containing the thumbnails in a // step. type ListStepThumbnailsResponse struct { @@ -1219,6 +1477,8 @@ func (s *PerfEnvironment) MarshalJSON() ([]byte, error) { // PerfMetricsSummary: A summary of perf metrics collected and // performance environment info type PerfMetricsSummary struct { + AppStartTime *AppStartTime `json:"appStartTime,omitempty"` + // ExecutionId: A tool results execution ID. ExecutionId string `json:"executionId,omitempty"` @@ -1249,7 +1509,7 @@ type PerfMetricsSummary struct { // server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "ExecutionId") to + // ForceSendFields is a list of field names (e.g. "AppStartTime") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -1257,7 +1517,7 @@ type PerfMetricsSummary struct { // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ExecutionId") to include + // NullFields is a list of field names (e.g. "AppStartTime") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as @@ -1446,6 +1706,90 @@ func (s *PublishXunitXmlFilesRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type Screen struct { + // FileReference: File reference of the png file. Required. + FileReference string `json:"fileReference,omitempty"` + + // Locale: Locale of the device that the screenshot was taken on. + // Required. + Locale string `json:"locale,omitempty"` + + // Model: Model of the device that the screenshot was taken on. + // Required. + Model string `json:"model,omitempty"` + + // Version: OS version of the device that the screenshot was taken on. + // Required. + Version string `json:"version,omitempty"` + + // ForceSendFields is a list of field names (e.g. "FileReference") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "FileReference") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Screen) MarshalJSON() ([]byte, error) { + type noMethod Screen + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type ScreenshotCluster struct { + // Activity: A string that describes the activity of every screen in the + // cluster. + Activity string `json:"activity,omitempty"` + + // ClusterId: A unique identifier for the cluster. + ClusterId string `json:"clusterId,omitempty"` + + // KeyScreen: A singular screen that represents the cluster as a whole. + // This screen will act as the "cover" of the entire cluster. When users + // look at the clusters, only the key screen from each cluster will be + // shown. Which screen is the key screen is determined by the + // ClusteringAlgorithm + KeyScreen *Screen `json:"keyScreen,omitempty"` + + // Screens: Full list of screens. + Screens []*Screen `json:"screens,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Activity") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Activity") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ScreenshotCluster) MarshalJSON() ([]byte, error) { + type noMethod ScreenshotCluster + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type SkippedDetail struct { // IncompatibleAppVersion: If the App doesn't support the specific API // level. @@ -1484,14 +1828,12 @@ func (s *SkippedDetail) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// StackTrace: A stacktrace. -type StackTrace struct { - // Exception: The stack trace message. - // - // Required - Exception string `json:"exception,omitempty"` +// Specification: The details about how to run the execution. +type Specification struct { + // AndroidTest: An Android mobile test execution specification. + AndroidTest *AndroidTest `json:"androidTest,omitempty"` - // ForceSendFields is a list of field names (e.g. "Exception") to + // ForceSendFields is a list of field names (e.g. "AndroidTest") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, // non-interface field appearing in ForceSendFields will be sent to the @@ -1499,7 +1841,43 @@ type StackTrace struct { // used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Exception") to include in + // NullFields is a list of field names (e.g. "AndroidTest") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Specification) MarshalJSON() ([]byte, error) { + type noMethod Specification + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// StackTrace: A stacktrace. +type StackTrace struct { + // ClusterId: Exception cluster ID + ClusterId string `json:"clusterId,omitempty"` + + // Exception: The stack trace message. + // + // Required + Exception string `json:"exception,omitempty"` + + // ReportId: Exception report ID + ReportId string `json:"reportId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ClusterId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ClusterId") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as @@ -1575,8 +1953,8 @@ type Status struct { // [google.rpc.Code][]. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of message types for APIs to use. Details []*Any `json:"details,omitempty"` // Message: A developer-facing error message, which should be in @@ -2014,17 +2392,39 @@ func (s *TestExecutionStep) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// TestIssue: An abnormal event observed during the test execution. +// TestIssue: An issue detected occurring during a test execution. type TestIssue struct { - // ErrorMessage: A brief human-readable message describing the abnormal - // event. - // + // ErrorMessage: A brief human-readable message describing the issue. // Required. ErrorMessage string `json:"errorMessage,omitempty"` - // StackTrace: Optional. + // Severity: Severity of issue. Required. + // + // Possible values: + // "info" + // "severe" + // "unspecifiedSeverity" + // "warning" + Severity string `json:"severity,omitempty"` + + // StackTrace: Deprecated in favor of stack trace fields inside specific + // warnings. StackTrace *StackTrace `json:"stackTrace,omitempty"` + // Type: Type of issue. Required. + // + // Possible values: + // "anr" + // "fatalException" + // "nativeCrash" + // "unspecifiedType" + Type string `json:"type,omitempty"` + + // Warning: Warning message with additional details of the issue. Should + // always be a message from com.google.devtools.toolresults.v1.warnings + // Required. + Warning *Any `json:"warning,omitempty"` + // ForceSendFields is a list of field names (e.g. "ErrorMessage") to // unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -3981,6 +4381,332 @@ func (c *ProjectsHistoriesExecutionsPatchCall) Do(opts ...googleapi.CallOption) } +// method id "toolresults.projects.histories.executions.clusters.get": + +type ProjectsHistoriesExecutionsClustersGetCall struct { + s *Service + projectId string + historyId string + executionId string + clusterId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Retrieves a single screenshot cluster by its ID +func (r *ProjectsHistoriesExecutionsClustersService) Get(projectId string, historyId string, executionId string, clusterId string) *ProjectsHistoriesExecutionsClustersGetCall { + c := &ProjectsHistoriesExecutionsClustersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.historyId = historyId + c.executionId = executionId + c.clusterId = clusterId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsHistoriesExecutionsClustersGetCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsClustersGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsHistoriesExecutionsClustersGetCall) IfNoneMatch(entityTag string) *ProjectsHistoriesExecutionsClustersGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsHistoriesExecutionsClustersGetCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsClustersGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsHistoriesExecutionsClustersGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsHistoriesExecutionsClustersGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{projectId}/histories/{historyId}/executions/{executionId}/clusters/{clusterId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "historyId": c.historyId, + "executionId": c.executionId, + "clusterId": c.clusterId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "toolresults.projects.histories.executions.clusters.get" call. +// Exactly one of *ScreenshotCluster or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ScreenshotCluster.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsHistoriesExecutionsClustersGetCall) Do(opts ...googleapi.CallOption) (*ScreenshotCluster, 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, &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, err + } + ret := &ScreenshotCluster{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Retrieves a single screenshot cluster by its ID", + // "httpMethod": "GET", + // "id": "toolresults.projects.histories.executions.clusters.get", + // "parameterOrder": [ + // "projectId", + // "historyId", + // "executionId", + // "clusterId" + // ], + // "parameters": { + // "clusterId": { + // "description": "A Cluster id\n\nRequired.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "executionId": { + // "description": "An Execution id.\n\nRequired.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "historyId": { + // "description": "A History id.\n\nRequired.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "A Project id.\n\nRequired.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{projectId}/histories/{historyId}/executions/{executionId}/clusters/{clusterId}", + // "response": { + // "$ref": "ScreenshotCluster" + // } + // } + +} + +// method id "toolresults.projects.histories.executions.clusters.list": + +type ProjectsHistoriesExecutionsClustersListCall struct { + s *Service + projectId string + historyId string + executionId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists Screenshot Clusters +// +// Returns the list of screenshot clusters corresponding to an +// execution. Screenshot clusters are created after the execution is +// finished. Clusters are created from a set of screenshots. Between any +// two screenshots, a matching score is calculated based off their +// metadata that determines how similar they are. Screenshots are placed +// in the cluster that has screens which have the highest matching +// scores. +func (r *ProjectsHistoriesExecutionsClustersService) List(projectId string, historyId string, executionId string) *ProjectsHistoriesExecutionsClustersListCall { + c := &ProjectsHistoriesExecutionsClustersListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.projectId = projectId + c.historyId = historyId + c.executionId = executionId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsHistoriesExecutionsClustersListCall) Fields(s ...googleapi.Field) *ProjectsHistoriesExecutionsClustersListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsHistoriesExecutionsClustersListCall) IfNoneMatch(entityTag string) *ProjectsHistoriesExecutionsClustersListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsHistoriesExecutionsClustersListCall) Context(ctx context.Context) *ProjectsHistoriesExecutionsClustersListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsHistoriesExecutionsClustersListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsHistoriesExecutionsClustersListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "{projectId}/histories/{historyId}/executions/{executionId}/clusters") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "projectId": c.projectId, + "historyId": c.historyId, + "executionId": c.executionId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "toolresults.projects.histories.executions.clusters.list" call. +// Exactly one of *ListScreenshotClustersResponse or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *ListScreenshotClustersResponse.ServerResponse.Header or (if a +// response was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsHistoriesExecutionsClustersListCall) Do(opts ...googleapi.CallOption) (*ListScreenshotClustersResponse, 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, &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, err + } + ret := &ListScreenshotClustersResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists Screenshot Clusters\n\nReturns the list of screenshot clusters corresponding to an execution. Screenshot clusters are created after the execution is finished. Clusters are created from a set of screenshots. Between any two screenshots, a matching score is calculated based off their metadata that determines how similar they are. Screenshots are placed in the cluster that has screens which have the highest matching scores.", + // "httpMethod": "GET", + // "id": "toolresults.projects.histories.executions.clusters.list", + // "parameterOrder": [ + // "projectId", + // "historyId", + // "executionId" + // ], + // "parameters": { + // "executionId": { + // "description": "An Execution id.\n\nRequired.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "historyId": { + // "description": "A History id.\n\nRequired.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "projectId": { + // "description": "A Project id.\n\nRequired.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{projectId}/histories/{historyId}/executions/{executionId}/clusters", + // "response": { + // "$ref": "ListScreenshotClustersResponse" + // } + // } + +} + // method id "toolresults.projects.histories.executions.steps.create": type ProjectsHistoriesExecutionsStepsCreateCall struct { @@ -5074,10 +5800,10 @@ type ProjectsHistoriesExecutionsStepsPerfMetricsSummaryCreateCall struct { header_ http.Header } -// Create: Creates a PerfMetricsSummary resource. +// Create: Creates a PerfMetricsSummary resource. Returns the existing +// one if it has already been created. // -// May return any of the following error code(s): - ALREADY_EXISTS - A -// PerfMetricSummary already exists for the given Step - NOT_FOUND - The +// May return any of the following error code(s): - NOT_FOUND - The // containing Step does not exist func (r *ProjectsHistoriesExecutionsStepsPerfMetricsSummaryService) Create(projectId string, historyId string, executionId string, stepId string, perfmetricssummary *PerfMetricsSummary) *ProjectsHistoriesExecutionsStepsPerfMetricsSummaryCreateCall { c := &ProjectsHistoriesExecutionsStepsPerfMetricsSummaryCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} @@ -5178,7 +5904,7 @@ func (c *ProjectsHistoriesExecutionsStepsPerfMetricsSummaryCreateCall) Do(opts . } return ret, nil // { - // "description": "Creates a PerfMetricsSummary resource.\n\nMay return any of the following error code(s): - ALREADY_EXISTS - A PerfMetricSummary already exists for the given Step - NOT_FOUND - The containing Step does not exist", + // "description": "Creates a PerfMetricsSummary resource. Returns the existing one if it has already been created.\n\nMay return any of the following error code(s): - NOT_FOUND - The containing Step does not exist", // "httpMethod": "POST", // "id": "toolresults.projects.histories.executions.steps.perfMetricsSummary.create", // "parameterOrder": [ diff --git a/vendor/google.golang.org/api/translate/v2/translate-api.json b/vendor/google.golang.org/api/translate/v2/translate-api.json index f10e6e336..5ea4c63fd 100644 --- a/vendor/google.golang.org/api/translate/v2/translate-api.json +++ b/vendor/google.golang.org/api/translate/v2/translate-api.json @@ -1,7 +1,7 @@ { "basePath": "/language/translate/", - "revision": "20170525", "documentationLink": "https://code.google.com/apis/language/translate/v2/getting_started.html", + "revision": "20170525", "id": "translate:v2", "discoveryVersion": "v1", "schemas": { @@ -11,33 +11,34 @@ "properties": { "translations": { "description": "Translations contains list of translation results of given text", - "type": "array", "items": { "$ref": "TranslationsResource" - } + }, + "type": "array" } }, "id": "TranslationsListResponse" }, "TranslateTextRequest": { + "id": "TranslateTextRequest", "description": "The main translation request message for the Cloud Translation API.", "type": "object", "properties": { "target": { - "description": "The language to use for translation of the input text, set to one of the\nlanguage codes listed in Language Support.", - "type": "string" - }, - "q": { - "description": "The input text to translate. Repeat this parameter to perform translation\noperations on multiple text inputs.", - "type": "array", - "items": { - "type": "string" - } + "type": "string", + "description": "The language to use for translation of the input text, set to one of the\nlanguage codes listed in Language Support." }, "format": { "description": "The format of the source text, in either HTML (default) or plain-text. A\nvalue of \"html\" indicates HTML and a value of \"text\" indicates plain-text.", "type": "string" }, + "q": { + "description": "The input text to translate. Repeat this parameter to perform translation\noperations on multiple text inputs.", + "items": { + "type": "string" + }, + "type": "array" + }, "source": { "description": "The language of the source text, set to one of the language codes listed in\nLanguage Support. If the source language is not specified, the API will\nattempt to identify the source language automatically and return it within\nthe response.", "type": "string" @@ -46,52 +47,50 @@ "description": "The `model` type requested for this translation. Valid values are\nlisted in public documentation.", "type": "string" } - }, - "id": "TranslateTextRequest" + } }, "DetectLanguageRequest": { - "description": "The request message for language detection.", - "type": "object", "properties": { "q": { - "description": "The input text upon which to perform language detection. Repeat this\nparameter to perform language detection on multiple text inputs.", - "type": "array", "items": { "type": "string" - } + }, + "type": "array", + "description": "The input text upon which to perform language detection. Repeat this\nparameter to perform language detection on multiple text inputs." } }, - "id": "DetectLanguageRequest" + "id": "DetectLanguageRequest", + "description": "The request message for language detection.", + "type": "object" }, "LanguagesResource": { - "id": "LanguagesResource", "type": "object", "properties": { - "language": { - "description": "Supported language code, generally consisting of its ISO 639-1\nidentifier. (E.g. 'en', 'ja'). In certain cases, BCP-47 codes including\nlanguage + region identifiers are returned (e.g. 'zh-TW' and 'zh-CH')", - "type": "string" - }, "name": { "description": "Human readable name of the language localized to the target language.", "type": "string" + }, + "language": { + "description": "Supported language code, generally consisting of its ISO 639-1\nidentifier. (E.g. 'en', 'ja'). In certain cases, BCP-47 codes including\nlanguage + region identifiers are returned (e.g. 'zh-TW' and 'zh-CH')", + "type": "string" } - } + }, + "id": "LanguagesResource" }, "DetectionsListResponse": { "type": "object", "properties": { "detections": { "description": "A detections contains detection results of several text", - "type": "array", "items": { "$ref": "DetectionsResource" - } + }, + "type": "array" } }, "id": "DetectionsListResponse" }, "GetSupportedLanguagesRequest": { - "description": "The request message for discovering supported languages.", "type": "object", "properties": { "target": { @@ -99,77 +98,78 @@ "type": "string" } }, - "id": "GetSupportedLanguagesRequest" + "id": "GetSupportedLanguagesRequest", + "description": "The request message for discovering supported languages." }, "LanguagesListResponse": { - "type": "object", "properties": { "languages": { - "description": "List of source/target languages supported by the translation API. If target parameter is unspecified, the list is sorted by the ASCII code point order of the language code. If target parameter is specified, the list is sorted by the collation order of the language name in the target language.", - "type": "array", "items": { "$ref": "LanguagesResource" - } + }, + "type": "array", + "description": "List of source/target languages supported by the translation API. If target parameter is unspecified, the list is sorted by the ASCII code point order of the language code. If target parameter is specified, the list is sorted by the collation order of the language name in the target language." } }, - "id": "LanguagesListResponse" - }, - "TranslationsResource": { - "properties": { - "translatedText": { - "description": "Text translated into the target language.", - "type": "string" - }, - "detectedSourceLanguage": { - "description": "The source language of the initial request, detected automatically, if\nno source language was passed within the initial request. If the\nsource language was passed, auto-detection of the language will not\noccur and this field will be empty.", - "type": "string" - }, - "model": { - "description": "The `model` type used for this translation. Valid values are\nlisted in public documentation. Can be different from requested `model`.\nPresent only if specific model type was explicitly requested.", - "type": "string" - } - }, - "id": "TranslationsResource", + "id": "LanguagesListResponse", "type": "object" }, "DetectionsResource": { - "id": "DetectionsResource", "description": "An array of languages which we detect for the given text The most likely language list first.", - "type": "array", "items": { "type": "object", "properties": { - "isReliable": { - "description": "A boolean to indicate is the language detection result reliable.", - "type": "boolean" + "confidence": { + "format": "float", + "description": "The confidence of the detection result of this language.", + "type": "number" }, "language": { "description": "The language we detected.", "type": "string" }, - "confidence": { - "description": "The confidence of the detection result of this language.", - "format": "float", - "type": "number" + "isReliable": { + "description": "A boolean to indicate is the language detection result reliable.", + "type": "boolean" } } - } + }, + "type": "array", + "id": "DetectionsResource" + }, + "TranslationsResource": { + "type": "object", + "properties": { + "detectedSourceLanguage": { + "type": "string", + "description": "The source language of the initial request, detected automatically, if\nno source language was passed within the initial request. If the\nsource language was passed, auto-detection of the language will not\noccur and this field will be empty." + }, + "model": { + "description": "The `model` type used for this translation. Valid values are\nlisted in public documentation. Can be different from requested `model`.\nPresent only if specific model type was explicitly requested.", + "type": "string" + }, + "translatedText": { + "description": "Text translated into the target language.", + "type": "string" + } + }, + "id": "TranslationsResource" } }, - "protocol": "rest", "icons": { "x16": "https://www.google.com/images/icons/product/translate-16.png", "x32": "https://www.google.com/images/icons/product/translate-32.png" }, + "protocol": "rest", "canonicalName": "Translate", "auth": { "oauth2": { "scopes": { - "https://www.googleapis.com/auth/cloud-translation": { - "description": "Translate text from one language to another using Google Translate" - }, "https://www.googleapis.com/auth/cloud-platform": { "description": "View and manage your data across Google Cloud Platform services" + }, + "https://www.googleapis.com/auth/cloud-translation": { + "description": "Translate text from one language to another using Google Translate" } } } @@ -178,12 +178,59 @@ "ownerDomain": "google.com", "name": "translate", "batchPath": "batch/translate", - "title": "Google Cloud Translation API", "features": [ "dataWrapper" ], + "title": "Google Cloud Translation API", "ownerName": "Google", "resources": { + "detections": { + "methods": { + "detect": { + "response": { + "$ref": "DetectionsListResponse" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/cloud-translation", + "https://www.googleapis.com/auth/cloud-platform" + ], + "id": "language.detections.detect", + "path": "v2/detect", + "request": { + "$ref": "DetectLanguageRequest" + }, + "description": "Detects the language of text within a request." + }, + "list": { + "path": "v2/detect", + "id": "language.detections.list", + "description": "Detects the language of text within a request.", + "httpMethod": "GET", + "response": { + "$ref": "DetectionsListResponse" + }, + "parameterOrder": [ + "q" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-translation", + "https://www.googleapis.com/auth/cloud-platform" + ], + "parameters": { + "q": { + "description": "The input text upon which to perform language detection. Repeat this\nparameter to perform language detection on multiple text inputs.", + "required": true, + "type": "string", + "repeated": true, + "location": "query" + } + } + } + } + }, "languages": { "methods": { "list": { @@ -193,72 +240,50 @@ }, "httpMethod": "GET", "parameters": { + "target": { + "location": "query", + "description": "The language to use to return localized, human readable names of supported\nlanguages.", + "type": "string" + }, "model": { "location": "query", "description": "The model type for which supported languages should be returned.", "type": "string" - }, - "target": { - "type": "string", - "location": "query", - "description": "The language to use to return localized, human readable names of supported\nlanguages." } }, "scopes": [ "https://www.googleapis.com/auth/cloud-translation", "https://www.googleapis.com/auth/cloud-platform" ], - "path": "v2/languages", - "id": "language.languages.list" + "id": "language.languages.list", + "path": "v2/languages" } } }, "translations": { "methods": { "list": { - "id": "language.translations.list", - "path": "v2", "description": "Translates input text, returning translated text.", - "httpMethod": "GET", - "response": { - "$ref": "TranslationsListResponse" - }, "parameterOrder": [ "q", "target" ], + "response": { + "$ref": "TranslationsListResponse" + }, + "httpMethod": "GET", "scopes": [ "https://www.googleapis.com/auth/cloud-translation", "https://www.googleapis.com/auth/cloud-platform" ], "parameters": { - "q": { - "description": "The input text to translate. Repeat this parameter to perform translation\noperations on multiple text inputs.", - "type": "string", - "required": true, - "repeated": true, - "location": "query" - }, - "source": { - "location": "query", - "description": "The language of the source text, set to one of the language codes listed in\nLanguage Support. If the source language is not specified, the API will\nattempt to identify the source language automatically and return it within\nthe response.", - "type": "string" - }, - "cid": { - "repeated": true, - "location": "query", - "description": "The customization id for translate", - "type": "string" - }, "target": { "location": "query", "description": "The language to use for translation of the input text, set to one of the\nlanguage codes listed in Language Support.", - "type": "string", - "required": true + "required": true, + "type": "string" }, "format": { - "description": "The format of the source text, in either HTML (default) or plain-text. A\nvalue of \"html\" indicates HTML and a value of \"text\" indicates plain-text.", - "type": "string", "enumDescriptions": [ "Specifies the input is in HTML", "Specifies the input is in plain textual format" @@ -267,84 +292,98 @@ "enum": [ "html", "text" - ] + ], + "description": "The format of the source text, in either HTML (default) or plain-text. A\nvalue of \"html\" indicates HTML and a value of \"text\" indicates plain-text.", + "type": "string" }, "model": { "description": "The `model` type requested for this translation. Valid values are\nlisted in public documentation.", "type": "string", "location": "query" - } - } - }, - "translate": { - "description": "Translates input text, returning translated text.", - "request": { - "$ref": "TranslateTextRequest" - }, - "response": { - "$ref": "TranslationsListResponse" - }, - "parameterOrder": [], - "httpMethod": "POST", - "parameters": {}, - "scopes": [ - "https://www.googleapis.com/auth/cloud-translation", - "https://www.googleapis.com/auth/cloud-platform" - ], - "path": "v2", - "id": "language.translations.translate" - } - } - }, - "detections": { - "methods": { - "list": { - "parameters": { + }, "q": { - "description": "The input text upon which to perform language detection. Repeat this\nparameter to perform language detection on multiple text inputs.", - "type": "string", "required": true, + "type": "string", + "repeated": true, + "location": "query", + "description": "The input text to translate. Repeat this parameter to perform translation\noperations on multiple text inputs." + }, + "source": { + "description": "The language of the source text, set to one of the language codes listed in\nLanguage Support. If the source language is not specified, the API will\nattempt to identify the source language automatically and return it within\nthe response.", + "type": "string", + "location": "query" + }, + "cid": { + "description": "The customization id for translate", + "type": "string", "repeated": true, "location": "query" } }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-translation", - "https://www.googleapis.com/auth/cloud-platform" - ], - "path": "v2/detect", - "id": "language.detections.list", - "description": "Detects the language of text within a request.", - "response": { - "$ref": "DetectionsListResponse" - }, - "parameterOrder": [ - "q" - ], - "httpMethod": "GET" + "id": "language.translations.list", + "path": "v2" }, - "detect": { - "response": { - "$ref": "DetectionsListResponse" + "translate": { + "path": "v2", + "id": "language.translations.translate", + "description": "Translates input text, returning translated text.", + "request": { + "$ref": "TranslateTextRequest" }, - "parameterOrder": [], "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "TranslationsListResponse" + }, "scopes": [ "https://www.googleapis.com/auth/cloud-translation", "https://www.googleapis.com/auth/cloud-platform" ], - "parameters": {}, - "path": "v2/detect", - "id": "language.detections.detect", - "request": { - "$ref": "DetectLanguageRequest" - }, - "description": "Detects the language of text within a request." + "parameters": {} } } } }, "parameters": { + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string", + "location": "query" + }, + "fields": { + "location": "query", + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + }, + "callback": { + "location": "query", + "description": "JSONP", + "type": "string" + }, + "$.xgafv": { + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string" + }, "alt": { "type": "string", "enumDescriptions": [ @@ -372,15 +411,15 @@ "type": "string" }, "quotaUser": { - "location": "query", "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. Overrides userIp if both are provided.", - "type": "string" + "type": "string", + "location": "query" }, "pp": { - "description": "Pretty-print response.", - "type": "boolean", "default": "true", - "location": "query" + "type": "boolean", + "location": "query", + "description": "Pretty-print response." }, "bearer_token": { "type": "string", @@ -388,53 +427,14 @@ "description": "OAuth bearer token." }, "oauth_token": { + "location": "query", "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" - }, - "upload_protocol": { - "location": "query", - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "type": "string" - }, - "prettyPrint": { - "location": "query", - "description": "Returns response with indentations and line breaks.", - "type": "boolean", - "default": "true" - }, - "uploadType": { - "location": "query", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string" - }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "type": "string", - "location": "query" - }, - "$.xgafv": { - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "enum": [ - "1", - "2" - ], - "description": "V1 error format.", - "type": "string" - }, - "callback": { - "description": "JSONP", - "type": "string", - "location": "query" } }, "version": "v2", "baseUrl": "https://translation.googleapis.com/language/translate/", - "servicePath": "language/translate/", + "kind": "discovery#restDescription", "description": "The Google Cloud Translation API lets websites and programs integrate with\n Google Translate programmatically.", - "kind": "discovery#restDescription" + "servicePath": "language/translate/" } diff --git a/vendor/google.golang.org/api/transport/dial.go b/vendor/google.golang.org/api/transport/dial.go index c4c37191b..91d832575 100644 --- a/vendor/google.golang.org/api/transport/dial.go +++ b/vendor/google.golang.org/api/transport/dial.go @@ -21,8 +21,10 @@ import ( "net/http" "golang.org/x/net/context" + "golang.org/x/oauth2/google" "google.golang.org/grpc" + "google.golang.org/api/internal" "google.golang.org/api/option" gtransport "google.golang.org/api/transport/grpc" htransport "google.golang.org/api/transport/http" @@ -47,3 +49,13 @@ func DialGRPC(ctx context.Context, opts ...option.ClientOption) (*grpc.ClientCon func DialGRPCInsecure(ctx context.Context, opts ...option.ClientOption) (*grpc.ClientConn, error) { return gtransport.DialInsecure(ctx, opts...) } + +// Creds constructs a google.DefaultCredentials from the information in the options, +// or obtains the default credentials in the same way as google.FindDefaultCredentials. +func Creds(ctx context.Context, opts ...option.ClientOption) (*google.DefaultCredentials, error) { + var ds internal.DialSettings + for _, opt := range opts { + opt.Apply(&ds) + } + return internal.Creds(ctx, &ds) +} diff --git a/vendor/google.golang.org/api/transport/grpc/dial.go b/vendor/google.golang.org/api/transport/grpc/dial.go index 6a35381b6..8a23bd384 100644 --- a/vendor/google.golang.org/api/transport/grpc/dial.go +++ b/vendor/google.golang.org/api/transport/grpc/dial.go @@ -15,14 +15,12 @@ // Package transport/grpc supports network connections to GRPC servers. // This package is not intended for use by end developers. Use the // google.golang.org/api/option package to configure API clients. -package transport +package grpc import ( "errors" - "fmt" "golang.org/x/net/context" - "golang.org/x/oauth2/google" "google.golang.org/api/internal" "google.golang.org/api/option" "google.golang.org/grpc" @@ -46,22 +44,12 @@ func Dial(ctx context.Context, opts ...option.ClientOption) (*grpc.ClientConn, e if o.GRPCConn != nil { return o.GRPCConn, nil } - if o.ServiceAccountJSONFilename != "" { - ts, err := internal.ServiceAcctTokenSource(ctx, o.ServiceAccountJSONFilename, o.Scopes...) - if err != nil { - return nil, err - } - o.TokenSource = ts - } - if o.TokenSource == nil { - var err error - o.TokenSource, err = google.DefaultTokenSource(ctx, o.Scopes...) - if err != nil { - return nil, fmt.Errorf("google.DefaultTokenSource: %v", err) - } + creds, err := internal.Creds(ctx, &o) + if err != nil { + return nil, err } grpcOpts := []grpc.DialOption{ - grpc.WithPerRPCCredentials(oauth.TokenSource{o.TokenSource}), + grpc.WithPerRPCCredentials(oauth.TokenSource{creds.TokenSource}), grpc.WithTransportCredentials(credentials.NewClientTLSFromCert(nil, "")), } if appengineDialerHook != nil { diff --git a/vendor/google.golang.org/api/transport/grpc/dial_appengine.go b/vendor/google.golang.org/api/transport/grpc/dial_appengine.go index 201244d24..a40cef250 100644 --- a/vendor/google.golang.org/api/transport/grpc/dial_appengine.go +++ b/vendor/google.golang.org/api/transport/grpc/dial_appengine.go @@ -14,18 +14,25 @@ // +build appengine -package transport +package grpc import ( "net" "time" "golang.org/x/net/context" + "google.golang.org/appengine" "google.golang.org/appengine/socket" "google.golang.org/grpc" ) func init() { + // NOTE: dev_appserver doesn't currently support SSL. + // When it does, this code can be removed. + if appengine.IsDevAppServer() { + return + } + appengineDialerHook = func(ctx context.Context) grpc.DialOption { return grpc.WithDialer(func(addr string, timeout time.Duration) (net.Conn, error) { return socket.DialTimeout(ctx, "tcp", addr, timeout) diff --git a/vendor/google.golang.org/api/transport/grpc/dial_test.go b/vendor/google.golang.org/api/transport/grpc/dial_test.go index 5c1dbf7ca..66d34d88c 100644 --- a/vendor/google.golang.org/api/transport/grpc/dial_test.go +++ b/vendor/google.golang.org/api/transport/grpc/dial_test.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package transport +package grpc import ( "errors" diff --git a/vendor/google.golang.org/api/transport/http/dial.go b/vendor/google.golang.org/api/transport/http/dial.go index 54aa07bb2..a04956d98 100644 --- a/vendor/google.golang.org/api/transport/http/dial.go +++ b/vendor/google.golang.org/api/transport/http/dial.go @@ -15,17 +15,15 @@ // Package transport/http supports network connections to HTTP servers. // This package is not intended for use by end developers. Use the // google.golang.org/api/option package to configure API clients. -package transport +package http import ( "errors" - "fmt" "net/http" "golang.org/x/net/context" "golang.org/x/oauth2" - "golang.org/x/oauth2/google" - gtransport "google.golang.org/api/googleapi/transport" + "google.golang.org/api/googleapi/transport" "google.golang.org/api/internal" "google.golang.org/api/option" ) @@ -47,7 +45,7 @@ func NewClient(ctx context.Context, opts ...option.ClientOption) (*http.Client, } if o.APIKey != "" { hc := &http.Client{ - Transport: >ransport.APIKey{ + Transport: &transport.APIKey{ Key: o.APIKey, Transport: userAgentTransport{ base: baseTransport(ctx), @@ -57,23 +55,13 @@ func NewClient(ctx context.Context, opts ...option.ClientOption) (*http.Client, } return hc, o.Endpoint, nil } - if o.ServiceAccountJSONFilename != "" { - ts, err := internal.ServiceAcctTokenSource(ctx, o.ServiceAccountJSONFilename, o.Scopes...) - if err != nil { - return nil, "", err - } - o.TokenSource = ts - } - if o.TokenSource == nil { - var err error - o.TokenSource, err = google.DefaultTokenSource(ctx, o.Scopes...) - if err != nil { - return nil, "", fmt.Errorf("google.DefaultTokenSource: %v", err) - } + creds, err := internal.Creds(ctx, &o) + if err != nil { + return nil, "", err } hc := &http.Client{ Transport: &oauth2.Transport{ - Source: o.TokenSource, + Source: creds.TokenSource, Base: userAgentTransport{ base: baseTransport(ctx), userAgent: o.UserAgent, diff --git a/vendor/google.golang.org/api/transport/http/dial_appengine.go b/vendor/google.golang.org/api/transport/http/dial_appengine.go index c7451b2d0..0cdef74ac 100644 --- a/vendor/google.golang.org/api/transport/http/dial_appengine.go +++ b/vendor/google.golang.org/api/transport/http/dial_appengine.go @@ -14,7 +14,7 @@ // +build appengine -package transport +package http import ( "net/http" diff --git a/vendor/google.golang.org/api/urlshortener/v1/urlshortener-api.json b/vendor/google.golang.org/api/urlshortener/v1/urlshortener-api.json index 8e63e62d2..9102c6297 100644 --- a/vendor/google.golang.org/api/urlshortener/v1/urlshortener-api.json +++ b/vendor/google.golang.org/api/urlshortener/v1/urlshortener-api.json @@ -20,7 +20,7 @@ "basePath": "/urlshortener/v1/", "rootUrl": "https://www.googleapis.com/", "servicePath": "urlshortener/v1/", - "batchPath": "batch", + "batchPath": "batch/urlshortener/v1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/vault/v1/vault-api.json b/vendor/google.golang.org/api/vault/v1/vault-api.json new file mode 100644 index 000000000..2166c59a4 --- /dev/null +++ b/vendor/google.golang.org/api/vault/v1/vault-api.json @@ -0,0 +1,1046 @@ +{ + "rootUrl": "https://vault.googleapis.com/", + "ownerDomain": "google.com", + "name": "vault", + "batchPath": "batch", + "fullyEncodeReservedExpansion": true, + "title": "Google Vault API", + "ownerName": "Google", + "resources": { + "matters": { + "methods": { + "delete": { + "httpMethod": "DELETE", + "response": { + "$ref": "Matter" + }, + "parameterOrder": [ + "matterId" + ], + "parameters": { + "matterId": { + "location": "path", + "description": "The matter ID", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/ediscovery" + ], + "flatPath": "v1/matters/{matterId}", + "path": "v1/matters/{matterId}", + "id": "vault.matters.delete", + "description": "Deletes the specified matter. Returns matter with updated state." + }, + "addPermissions": { + "response": { + "$ref": "MatterPermission" + }, + "parameterOrder": [ + "matterId" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/ediscovery" + ], + "parameters": { + "matterId": { + "location": "path", + "description": "The matter ID.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/matters/{matterId}:addPermissions", + "id": "vault.matters.addPermissions", + "path": "v1/matters/{matterId}:addPermissions", + "request": { + "$ref": "AddMatterPermissionsRequest" + }, + "description": "Adds an account as a matter collaborator." + }, + "list": { + "flatPath": "v1/matters", + "path": "v1/matters", + "id": "vault.matters.list", + "description": "Lists matters the user has access to.", + "httpMethod": "GET", + "parameterOrder": [], + "response": { + "$ref": "ListMattersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ediscovery", + "https://www.googleapis.com/auth/ediscovery.readonly" + ], + "parameters": { + "pageSize": { + "location": "query", + "format": "int32", + "description": "The number of matters to return in the response.\nDefault and maximum are 100.", + "type": "integer" + }, + "view": { + "description": "Specifies which parts of the matter to return in response.", + "type": "string", + "location": "query", + "enum": [ + "VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ] + }, + "state": { + "location": "query", + "enum": [ + "STATE_UNSPECIFIED", + "OPEN", + "CLOSED", + "DELETED" + ], + "description": "If set, list only matters with that specific state. The default is listing\nmatters of all states.", + "type": "string" + }, + "pageToken": { + "description": "The pagination token as returned in the response.", + "type": "string", + "location": "query" + } + } + }, + "create": { + "description": "Creates a new matter with the given name and description. The initial state\nis open, and the owner is the method caller. Returns the created matter\nwith default view.", + "request": { + "$ref": "Matter" + }, + "httpMethod": "POST", + "parameterOrder": [], + "response": { + "$ref": "Matter" + }, + "parameters": {}, + "scopes": [ + "https://www.googleapis.com/auth/ediscovery" + ], + "flatPath": "v1/matters", + "path": "v1/matters", + "id": "vault.matters.create" + }, + "reopen": { + "request": { + "$ref": "ReopenMatterRequest" + }, + "description": "Reopens the specified matter. Returns matter with updated state.", + "response": { + "$ref": "ReopenMatterResponse" + }, + "parameterOrder": [ + "matterId" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/ediscovery" + ], + "parameters": { + "matterId": { + "description": "The matter ID.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/matters/{matterId}:reopen", + "id": "vault.matters.reopen", + "path": "v1/matters/{matterId}:reopen" + }, + "removePermissions": { + "description": "Removes an account as a matter collaborator.", + "request": { + "$ref": "RemoveMatterPermissionsRequest" + }, + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "matterId" + ], + "httpMethod": "POST", + "parameters": { + "matterId": { + "description": "The matter ID.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/ediscovery" + ], + "flatPath": "v1/matters/{matterId}:removePermissions", + "id": "vault.matters.removePermissions", + "path": "v1/matters/{matterId}:removePermissions" + }, + "get": { + "flatPath": "v1/matters/{matterId}", + "id": "vault.matters.get", + "path": "v1/matters/{matterId}", + "description": "Gets the specified matter.", + "response": { + "$ref": "Matter" + }, + "parameterOrder": [ + "matterId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/ediscovery", + "https://www.googleapis.com/auth/ediscovery.readonly" + ], + "parameters": { + "view": { + "location": "query", + "enum": [ + "VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "description": "Specifies which parts of the Matter to return in the response.", + "type": "string" + }, + "matterId": { + "location": "path", + "description": "The matter ID.", + "type": "string", + "required": true + } + } + }, + "undelete": { + "request": { + "$ref": "UndeleteMatterRequest" + }, + "description": "Undeletes the specified matter. Returns matter with updated state.", + "response": { + "$ref": "Matter" + }, + "parameterOrder": [ + "matterId" + ], + "httpMethod": "POST", + "scopes": [ + "https://www.googleapis.com/auth/ediscovery" + ], + "parameters": { + "matterId": { + "location": "path", + "description": "The matter ID.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/matters/{matterId}:undelete", + "id": "vault.matters.undelete", + "path": "v1/matters/{matterId}:undelete" + }, + "close": { + "flatPath": "v1/matters/{matterId}:close", + "path": "v1/matters/{matterId}:close", + "id": "vault.matters.close", + "request": { + "$ref": "CloseMatterRequest" + }, + "description": "Closes the specified matter. Returns matter with updated state.", + "httpMethod": "POST", + "parameterOrder": [ + "matterId" + ], + "response": { + "$ref": "CloseMatterResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ediscovery" + ], + "parameters": { + "matterId": { + "description": "The matter ID.", + "type": "string", + "required": true, + "location": "path" + } + } + }, + "update": { + "description": "Updates the specified matter.\nThis updates only the name and description of the matter, identified by\nmatter id. Changes to any other fields are ignored.\nReturns the default view of the matter.", + "request": { + "$ref": "Matter" + }, + "httpMethod": "PUT", + "parameterOrder": [ + "matterId" + ], + "response": { + "$ref": "Matter" + }, + "parameters": { + "matterId": { + "location": "path", + "description": "The matter ID.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/ediscovery" + ], + "flatPath": "v1/matters/{matterId}", + "path": "v1/matters/{matterId}", + "id": "vault.matters.update" + } + }, + "resources": { + "holds": { + "methods": { + "list": { + "flatPath": "v1/matters/{matterId}/holds", + "id": "vault.matters.holds.list", + "path": "v1/matters/{matterId}/holds", + "description": "Lists holds within a matter. An empty page token in ListHoldsResponse\ndenotes no more holds to list.", + "response": { + "$ref": "ListHoldsResponse" + }, + "parameterOrder": [ + "matterId" + ], + "httpMethod": "GET", + "parameters": { + "pageSize": { + "format": "int32", + "description": "The number of holds to return in the response, between 0 and 100 inclusive.\nLeaving this empty, or as 0, is the same as page_size = 100.", + "type": "integer", + "location": "query" + }, + "matterId": { + "description": "The matter ID.", + "type": "string", + "required": true, + "location": "path" + }, + "pageToken": { + "location": "query", + "description": "The pagination token as returned in the response.\nAn empty token means start from the beginning.", + "type": "string" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/ediscovery", + "https://www.googleapis.com/auth/ediscovery.readonly" + ] + }, + "get": { + "description": "Gets a hold by ID.", + "httpMethod": "GET", + "parameterOrder": [ + "matterId", + "holdId" + ], + "response": { + "$ref": "Hold" + }, + "scopes": [ + "https://www.googleapis.com/auth/ediscovery", + "https://www.googleapis.com/auth/ediscovery.readonly" + ], + "parameters": { + "holdId": { + "description": "The hold ID.", + "type": "string", + "required": true, + "location": "path" + }, + "matterId": { + "description": "The matter ID.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/matters/{matterId}/holds/{holdId}", + "path": "v1/matters/{matterId}/holds/{holdId}", + "id": "vault.matters.holds.get" + }, + "update": { + "response": { + "$ref": "Hold" + }, + "parameterOrder": [ + "matterId", + "holdId" + ], + "httpMethod": "PUT", + "scopes": [ + "https://www.googleapis.com/auth/ediscovery" + ], + "parameters": { + "holdId": { + "description": "The ID of the hold.", + "type": "string", + "required": true, + "location": "path" + }, + "matterId": { + "description": "The matter ID.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/matters/{matterId}/holds/{holdId}", + "id": "vault.matters.holds.update", + "path": "v1/matters/{matterId}/holds/{holdId}", + "request": { + "$ref": "Hold" + }, + "description": "Updates the OU and/or query parameters of a hold. You cannot add accounts\nto a hold that covers an OU, nor can you add OUs to a hold that covers\nindividual accounts. Accounts listed in the hold will be ignored." + }, + "create": { + "httpMethod": "POST", + "parameterOrder": [ + "matterId" + ], + "response": { + "$ref": "Hold" + }, + "scopes": [ + "https://www.googleapis.com/auth/ediscovery" + ], + "parameters": { + "matterId": { + "location": "path", + "description": "The matter ID.", + "type": "string", + "required": true + } + }, + "flatPath": "v1/matters/{matterId}/holds", + "path": "v1/matters/{matterId}/holds", + "id": "vault.matters.holds.create", + "request": { + "$ref": "Hold" + }, + "description": "Creates a hold in the given matter." + }, + "delete": { + "description": "Removes a hold by ID. This will release any HeldAccounts on this Hold.", + "parameterOrder": [ + "matterId", + "holdId" + ], + "response": { + "$ref": "Empty" + }, + "httpMethod": "DELETE", + "scopes": [ + "https://www.googleapis.com/auth/ediscovery" + ], + "parameters": { + "holdId": { + "description": "The hold ID.", + "type": "string", + "required": true, + "location": "path" + }, + "matterId": { + "description": "The matter ID.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/matters/{matterId}/holds/{holdId}", + "id": "vault.matters.holds.delete", + "path": "v1/matters/{matterId}/holds/{holdId}" + } + }, + "resources": { + "accounts": { + "methods": { + "list": { + "description": "Lists HeldAccounts for a hold. This will only list individually specified\nheld accounts. If the hold is on an OU, then use\n\u003ca href=\"https://developers.google.com/admin-sdk/\"\u003eAdmin SDK\u003c/a\u003e\nto enumerate its members.", + "response": { + "$ref": "ListHeldAccountsResponse" + }, + "parameterOrder": [ + "matterId", + "holdId" + ], + "httpMethod": "GET", + "parameters": { + "matterId": { + "location": "path", + "description": "The matter ID.", + "type": "string", + "required": true + }, + "holdId": { + "description": "The hold ID.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/ediscovery", + "https://www.googleapis.com/auth/ediscovery.readonly" + ], + "flatPath": "v1/matters/{matterId}/holds/{holdId}/accounts", + "id": "vault.matters.holds.accounts.list", + "path": "v1/matters/{matterId}/holds/{holdId}/accounts" + }, + "create": { + "request": { + "$ref": "HeldAccount" + }, + "description": "Adds a HeldAccount to a hold. Accounts can only be added to a hold that\nhas no held_org_unit set. Attempting to add an account to an OU-based\nhold will result in an error.", + "httpMethod": "POST", + "parameterOrder": [ + "matterId", + "holdId" + ], + "response": { + "$ref": "HeldAccount" + }, + "scopes": [ + "https://www.googleapis.com/auth/ediscovery" + ], + "parameters": { + "holdId": { + "location": "path", + "description": "The hold ID.", + "type": "string", + "required": true + }, + "matterId": { + "description": "The matter ID.", + "type": "string", + "required": true, + "location": "path" + } + }, + "flatPath": "v1/matters/{matterId}/holds/{holdId}/accounts", + "path": "v1/matters/{matterId}/holds/{holdId}/accounts", + "id": "vault.matters.holds.accounts.create" + }, + "delete": { + "description": "Removes a HeldAccount from a hold. If this request leaves the hold with\nno held accounts, the hold will not apply to any accounts.", + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "matterId", + "holdId", + "accountId" + ], + "httpMethod": "DELETE", + "parameters": { + "holdId": { + "description": "The hold ID.", + "type": "string", + "required": true, + "location": "path" + }, + "accountId": { + "location": "path", + "description": "The ID of the account to remove from the hold.", + "type": "string", + "required": true + }, + "matterId": { + "description": "The matter ID.", + "type": "string", + "required": true, + "location": "path" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/ediscovery" + ], + "flatPath": "v1/matters/{matterId}/holds/{holdId}/accounts/{accountId}", + "id": "vault.matters.holds.accounts.delete", + "path": "v1/matters/{matterId}/holds/{holdId}/accounts/{accountId}" + } + } + } + } + } + } + } + }, + "parameters": { + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "access_token": { + "location": "query", + "description": "OAuth access token.", + "type": "string" + }, + "quotaUser": { + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string" + }, + "pp": { + "description": "Pretty-print response.", + "default": "true", + "type": "boolean", + "location": "query" + }, + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", + "location": "query" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "upload_protocol": { + "location": "query", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "type": "string" + }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" + }, + "fields": { + "location": "query", + "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + }, + "uploadType": { + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" + }, + "$.xgafv": { + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ], + "description": "V1 error format.", + "type": "string" + }, + "callback": { + "description": "JSONP", + "type": "string", + "location": "query" + }, + "alt": { + "type": "string", + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "description": "Data format for response.", + "default": "json", + "enum": [ + "json", + "media", + "proto" + ] + } + }, + "version": "v1", + "baseUrl": "https://vault.googleapis.com/", + "servicePath": "", + "description": "Archiving and eDiscovery for G Suite.", + "kind": "discovery#restDescription", + "basePath": "", + "revision": "20170812", + "documentationLink": "https://developers.google.com/vault", + "id": "vault:v1", + "discoveryVersion": "v1", + "version_module": true, + "schemas": { + "AddMatterPermissionsRequest": { + "description": "Add an account with the permission specified. The role cannot be owner.\nIf an account already has a role in the matter, it will be\noverwritten.", + "type": "object", + "properties": { + "sendEmails": { + "description": "True to send notification email to the added account.\nFalse to not send notification email.", + "type": "boolean" + }, + "matterPermission": { + "$ref": "MatterPermission", + "description": "The MatterPermission to add." + }, + "ccMe": { + "description": "Only relevant if send_emails is true.\nTrue to CC requestor in the email message.\nFalse to not CC requestor.", + "type": "boolean" + } + }, + "id": "AddMatterPermissionsRequest" + }, + "Matter": { + "description": "Represents a matter.", + "type": "object", + "properties": { + "description": { + "description": "The description of the matter.", + "type": "string" + }, + "matterId": { + "description": "The matter ID which is generated by the server.\nShould be blank when creating a new matter.", + "type": "string" + }, + "state": { + "description": "The state of the matter.", + "type": "string", + "enumDescriptions": [ + "The matter has no specified state.", + "This matter is open.", + "This matter is closed.", + "This matter is deleted." + ], + "enum": [ + "STATE_UNSPECIFIED", + "OPEN", + "CLOSED", + "DELETED" + ] + }, + "matterPermissions": { + "description": "List of users and access to the matter. Currently there is no programmer\ndefined limit on the number of permissions a matter can have.", + "items": { + "$ref": "MatterPermission" + }, + "type": "array" + }, + "name": { + "description": "The name of the matter.", + "type": "string" + } + }, + "id": "Matter" + }, + "HeldAccount": { + "description": "An account being held in a particular hold. This structure is immutable.\nThis can be either a single user or a google group, depending on the corpus.", + "type": "object", + "properties": { + "accountId": { + "description": "The account's ID as provided by the\n\u003ca href=\"https://developers.google.com/admin-sdk/\"\u003eAdmin SDK\u003c/a\u003e.", + "type": "string" + }, + "holdTime": { + "format": "google-datetime", + "description": "When the account was put on hold.", + "type": "string" + } + }, + "id": "HeldAccount" + }, + "ReopenMatterResponse": { + "description": "Response to a ReopenMatterRequest.", + "type": "object", + "properties": { + "matter": { + "description": "The updated matter, with state OPEN.", + "$ref": "Matter" + } + }, + "id": "ReopenMatterResponse" + }, + "CorpusQuery": { + "description": "Corpus specific queries.", + "type": "object", + "properties": { + "groupsQuery": { + "description": "Details pertaining to Groups holds. If set, corpus must be Groups.", + "$ref": "HeldGroupsQuery" + }, + "mailQuery": { + "description": "Details pertaining to mail holds. If set, corpus must be mail.", + "$ref": "HeldMailQuery" + }, + "driveQuery": { + "description": "Details pertaining to Drive holds. If set, corpus must be Drive.", + "$ref": "HeldDriveQuery" + } + }, + "id": "CorpusQuery" + }, + "Hold": { + "description": "Represents a hold within Vault. A hold restricts purging of\nartifacts based on the combination of the query and accounts restrictions.\nA hold can be configured to either apply to an explicitly configured set\nof accounts, or can be applied to all members of an organizational unit.", + "type": "object", + "properties": { + "orgUnit": { + "$ref": "HeldOrgUnit", + "description": "If set, the hold applies to all members of the organizational unit and\naccounts must be empty. This property is mutable. For groups holds,\nset the accounts field." + }, + "query": { + "description": "The corpus-specific query. If set, the corpusQuery must match corpus\ntype.", + "$ref": "CorpusQuery" + }, + "corpus": { + "description": "The corpus to be searched.", + "type": "string", + "enumDescriptions": [ + "No corpus specified.", + "Drive.", + "Mail.", + "Groups." + ], + "enum": [ + "CORPUS_TYPE_UNSPECIFIED", + "DRIVE", + "MAIL", + "GROUPS" + ] + }, + "updateTime": { + "format": "google-datetime", + "description": "The last time this hold was modified.", + "type": "string" + }, + "name": { + "description": "The name of the hold.", + "type": "string" + }, + "holdId": { + "description": "The unique immutable ID of the hold. Assigned during creation.", + "type": "string" + }, + "accounts": { + "description": "If set, the hold applies to the enumerated accounts and org_unit must be\nempty.", + "items": { + "$ref": "HeldAccount" + }, + "type": "array" + } + }, + "id": "Hold" + }, + "ListHoldsResponse": { + "description": "The holds for a matter.", + "type": "object", + "properties": { + "nextPageToken": { + "description": "Page token to retrieve the next page of results in the list.\nIf this is empty, then there are no more holds to list.", + "type": "string" + }, + "holds": { + "description": "The list of holds.", + "items": { + "$ref": "Hold" + }, + "type": "array" + } + }, + "id": "ListHoldsResponse" + }, + "ListHeldAccountsResponse": { + "description": "Returns a list of held accounts for a hold.", + "type": "object", + "properties": { + "accounts": { + "description": "The held accounts on a hold.", + "items": { + "$ref": "HeldAccount" + }, + "type": "array" + } + }, + "id": "ListHeldAccountsResponse" + }, + "UndeleteMatterRequest": { + "description": "Undelete a matter by ID.", + "type": "object", + "properties": {}, + "id": "UndeleteMatterRequest" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object", + "properties": {}, + "id": "Empty" + }, + "CloseMatterRequest": { + "description": "Close a matter by ID.", + "type": "object", + "properties": {}, + "id": "CloseMatterRequest" + }, + "ReopenMatterRequest": { + "description": "Reopen a matter by ID.", + "type": "object", + "properties": {}, + "id": "ReopenMatterRequest" + }, + "RemoveMatterPermissionsRequest": { + "description": "Remove an account as a matter collaborator.", + "type": "object", + "properties": { + "accountId": { + "description": "The account ID.", + "type": "string" + } + }, + "id": "RemoveMatterPermissionsRequest" + }, + "MatterPermission": { + "description": "Currently each matter only has one owner, and all others are collaborators.\nWhen an account is purged, its corresponding MatterPermission resources\ncease to exist.", + "type": "object", + "properties": { + "accountId": { + "description": "The account id, as provided by \u003ca href=\"https://developers.google.com/admin-sdk/\"\u003eAdmin SDK\u003c/a\u003e.", + "type": "string" + }, + "role": { + "enumDescriptions": [ + "No role assigned.", + "A collaborator to the matter.", + "The owner of the matter." + ], + "enum": [ + "ROLE_UNSPECIFIED", + "COLLABORATOR", + "OWNER" + ], + "description": "The user's role in this matter.", + "type": "string" + } + }, + "id": "MatterPermission" + }, + "ListMattersResponse": { + "description": "Provides the list of matters.", + "type": "object", + "properties": { + "matters": { + "description": "List of matters.", + "items": { + "$ref": "Matter" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Page token to retrieve the next page of results in the list.", + "type": "string" + } + }, + "id": "ListMattersResponse" + }, + "HeldMailQuery": { + "description": "Query options for mail holds.", + "type": "object", + "properties": { + "terms": { + "description": "The search terms for the hold.", + "type": "string" + }, + "endTime": { + "format": "google-datetime", + "description": "The end date range for the search query. These timestamps are in GMT and\nrounded down to the start of the given date.", + "type": "string" + }, + "startTime": { + "format": "google-datetime", + "description": "The start date range for the search query. These timestamps are in GMT and\nrounded down to the start of the given date.", + "type": "string" + } + }, + "id": "HeldMailQuery" + }, + "CloseMatterResponse": { + "description": "Response to a CloseMatterRequest.", + "type": "object", + "properties": { + "matter": { + "description": "The updated matter, with state CLOSED.", + "$ref": "Matter" + } + }, + "id": "CloseMatterResponse" + }, + "HeldDriveQuery": { + "description": "Query options for drive holds.", + "type": "object", + "properties": { + "includeTeamDriveFiles": { + "description": "If true, include files in Team Drives in the hold.", + "type": "boolean" + } + }, + "id": "HeldDriveQuery" + }, + "HeldGroupsQuery": { + "description": "Query options for group holds.", + "type": "object", + "properties": { + "endTime": { + "format": "google-datetime", + "description": "The end date range for the search query. These timestamps are in GMT and\nrounded down to the start of the given date.", + "type": "string" + }, + "startTime": { + "format": "google-datetime", + "description": "The start date range for the search query. These timestamps are in GMT and\nrounded down to the start of the given date.", + "type": "string" + }, + "terms": { + "description": "The search terms for the hold.", + "type": "string" + } + }, + "id": "HeldGroupsQuery" + }, + "HeldOrgUnit": { + "description": "A organizational unit being held in a particular hold.\nThis structure is immutable.", + "type": "object", + "properties": { + "orgUnitId": { + "description": "The org unit's immutable ID as provided by the admin SDK.", + "type": "string" + }, + "holdTime": { + "format": "google-datetime", + "description": "When the org unit was put on hold. This property is immutable.", + "type": "string" + } + }, + "id": "HeldOrgUnit" + } + }, + "protocol": "rest", + "icons": { + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" + }, + "canonicalName": "Vault", + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/ediscovery.readonly": { + "description": "View your eDiscovery data" + }, + "https://www.googleapis.com/auth/ediscovery": { + "description": "Manage your eDiscovery data" + } + } + } + } +} diff --git a/vendor/google.golang.org/api/vault/v1/vault-gen.go b/vendor/google.golang.org/api/vault/v1/vault-gen.go new file mode 100644 index 000000000..cdda7e34a --- /dev/null +++ b/vendor/google.golang.org/api/vault/v1/vault-gen.go @@ -0,0 +1,3412 @@ +// Package vault provides access to the Google Vault API. +// +// See https://developers.google.com/vault +// +// Usage example: +// +// import "google.golang.org/api/vault/v1" +// ... +// vaultService, err := vault.New(oauthHttpClient) +package vault // import "google.golang.org/api/vault/v1" + +import ( + "bytes" + "encoding/json" + "errors" + "fmt" + context "golang.org/x/net/context" + ctxhttp "golang.org/x/net/context/ctxhttp" + gensupport "google.golang.org/api/gensupport" + googleapi "google.golang.org/api/googleapi" + "io" + "net/http" + "net/url" + "strconv" + "strings" +) + +// Always reference these packages, just in case the auto-generated code +// below doesn't. +var _ = bytes.NewBuffer +var _ = strconv.Itoa +var _ = fmt.Sprintf +var _ = json.NewDecoder +var _ = io.Copy +var _ = url.Parse +var _ = gensupport.MarshalJSON +var _ = googleapi.Version +var _ = errors.New +var _ = strings.Replace +var _ = context.Canceled +var _ = ctxhttp.Do + +const apiId = "vault:v1" +const apiName = "vault" +const apiVersion = "v1" +const basePath = "https://vault.googleapis.com/" + +// OAuth2 scopes used by this API. +const ( + // Manage your eDiscovery data + EdiscoveryScope = "https://www.googleapis.com/auth/ediscovery" + + // View your eDiscovery data + EdiscoveryReadonlyScope = "https://www.googleapis.com/auth/ediscovery.readonly" +) + +func New(client *http.Client) (*Service, error) { + if client == nil { + return nil, errors.New("client is nil") + } + s := &Service{client: client, BasePath: basePath} + s.Matters = NewMattersService(s) + return s, nil +} + +type Service struct { + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + + Matters *MattersService +} + +func (s *Service) userAgent() string { + if s.UserAgent == "" { + return googleapi.UserAgent + } + return googleapi.UserAgent + " " + s.UserAgent +} + +func NewMattersService(s *Service) *MattersService { + rs := &MattersService{s: s} + rs.Holds = NewMattersHoldsService(s) + return rs +} + +type MattersService struct { + s *Service + + Holds *MattersHoldsService +} + +func NewMattersHoldsService(s *Service) *MattersHoldsService { + rs := &MattersHoldsService{s: s} + rs.Accounts = NewMattersHoldsAccountsService(s) + return rs +} + +type MattersHoldsService struct { + s *Service + + Accounts *MattersHoldsAccountsService +} + +func NewMattersHoldsAccountsService(s *Service) *MattersHoldsAccountsService { + rs := &MattersHoldsAccountsService{s: s} + return rs +} + +type MattersHoldsAccountsService struct { + s *Service +} + +// AddMatterPermissionsRequest: Add an account with the permission +// specified. The role cannot be owner. +// If an account already has a role in the matter, it will +// be +// overwritten. +type AddMatterPermissionsRequest struct { + // CcMe: Only relevant if send_emails is true. + // True to CC requestor in the email message. + // False to not CC requestor. + CcMe bool `json:"ccMe,omitempty"` + + // MatterPermission: The MatterPermission to add. + MatterPermission *MatterPermission `json:"matterPermission,omitempty"` + + // SendEmails: True to send notification email to the added + // account. + // False to not send notification email. + SendEmails bool `json:"sendEmails,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CcMe") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CcMe") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AddMatterPermissionsRequest) MarshalJSON() ([]byte, error) { + type noMethod AddMatterPermissionsRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CloseMatterRequest: Close a matter by ID. +type CloseMatterRequest struct { +} + +// CloseMatterResponse: Response to a CloseMatterRequest. +type CloseMatterResponse struct { + // Matter: The updated matter, with state CLOSED. + Matter *Matter `json:"matter,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Matter") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Matter") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CloseMatterResponse) MarshalJSON() ([]byte, error) { + type noMethod CloseMatterResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// CorpusQuery: Corpus specific queries. +type CorpusQuery struct { + // DriveQuery: Details pertaining to Drive holds. If set, corpus must be + // Drive. + DriveQuery *HeldDriveQuery `json:"driveQuery,omitempty"` + + // GroupsQuery: Details pertaining to Groups holds. If set, corpus must + // be Groups. + GroupsQuery *HeldGroupsQuery `json:"groupsQuery,omitempty"` + + // MailQuery: Details pertaining to mail holds. If set, corpus must be + // mail. + MailQuery *HeldMailQuery `json:"mailQuery,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DriveQuery") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DriveQuery") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *CorpusQuery) MarshalJSON() ([]byte, error) { + type noMethod CorpusQuery + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Empty: A generic empty message that you can re-use to avoid defining +// duplicated +// empty messages in your APIs. A typical example is to use it as the +// request +// or the response type of an API method. For instance: +// +// service Foo { +// rpc Bar(google.protobuf.Empty) returns +// (google.protobuf.Empty); +// } +// +// The JSON representation for `Empty` is empty JSON object `{}`. +type Empty struct { + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` +} + +// HeldAccount: An account being held in a particular hold. This +// structure is immutable. +// This can be either a single user or a google group, depending on the +// corpus. +type HeldAccount struct { + // AccountId: The account's ID as provided by the + // Admin SDK. + AccountId string `json:"accountId,omitempty"` + + // HoldTime: When the account was put on hold. + HoldTime string `json:"holdTime,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "AccountId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AccountId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HeldAccount) MarshalJSON() ([]byte, error) { + type noMethod HeldAccount + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// HeldDriveQuery: Query options for drive holds. +type HeldDriveQuery struct { + // IncludeTeamDriveFiles: If true, include files in Team Drives in the + // hold. + IncludeTeamDriveFiles bool `json:"includeTeamDriveFiles,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "IncludeTeamDriveFiles") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "IncludeTeamDriveFiles") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *HeldDriveQuery) MarshalJSON() ([]byte, error) { + type noMethod HeldDriveQuery + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// HeldGroupsQuery: Query options for group holds. +type HeldGroupsQuery struct { + // EndTime: The end date range for the search query. These timestamps + // are in GMT and + // rounded down to the start of the given date. + EndTime string `json:"endTime,omitempty"` + + // StartTime: The start date range for the search query. These + // timestamps are in GMT and + // rounded down to the start of the given date. + StartTime string `json:"startTime,omitempty"` + + // Terms: The search terms for the hold. + Terms string `json:"terms,omitempty"` + + // ForceSendFields is a list of field names (e.g. "EndTime") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HeldGroupsQuery) MarshalJSON() ([]byte, error) { + type noMethod HeldGroupsQuery + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// HeldMailQuery: Query options for mail holds. +type HeldMailQuery struct { + // EndTime: The end date range for the search query. These timestamps + // are in GMT and + // rounded down to the start of the given date. + EndTime string `json:"endTime,omitempty"` + + // StartTime: The start date range for the search query. These + // timestamps are in GMT and + // rounded down to the start of the given date. + StartTime string `json:"startTime,omitempty"` + + // Terms: The search terms for the hold. + Terms string `json:"terms,omitempty"` + + // ForceSendFields is a list of field names (e.g. "EndTime") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HeldMailQuery) MarshalJSON() ([]byte, error) { + type noMethod HeldMailQuery + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// HeldOrgUnit: A organizational unit being held in a particular +// hold. +// This structure is immutable. +type HeldOrgUnit struct { + // HoldTime: When the org unit was put on hold. This property is + // immutable. + HoldTime string `json:"holdTime,omitempty"` + + // OrgUnitId: The org unit's immutable ID as provided by the admin SDK. + OrgUnitId string `json:"orgUnitId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "HoldTime") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "HoldTime") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *HeldOrgUnit) MarshalJSON() ([]byte, error) { + type noMethod HeldOrgUnit + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Hold: Represents a hold within Vault. A hold restricts purging +// of +// artifacts based on the combination of the query and accounts +// restrictions. +// A hold can be configured to either apply to an explicitly configured +// set +// of accounts, or can be applied to all members of an organizational +// unit. +type Hold struct { + // Accounts: If set, the hold applies to the enumerated accounts and + // org_unit must be + // empty. + Accounts []*HeldAccount `json:"accounts,omitempty"` + + // Corpus: The corpus to be searched. + // + // Possible values: + // "CORPUS_TYPE_UNSPECIFIED" - No corpus specified. + // "DRIVE" - Drive. + // "MAIL" - Mail. + // "GROUPS" - Groups. + Corpus string `json:"corpus,omitempty"` + + // HoldId: The unique immutable ID of the hold. Assigned during + // creation. + HoldId string `json:"holdId,omitempty"` + + // Name: The name of the hold. + Name string `json:"name,omitempty"` + + // OrgUnit: If set, the hold applies to all members of the + // organizational unit and + // accounts must be empty. This property is mutable. For groups + // holds, + // set the accounts field. + OrgUnit *HeldOrgUnit `json:"orgUnit,omitempty"` + + // Query: The corpus-specific query. If set, the corpusQuery must match + // corpus + // type. + Query *CorpusQuery `json:"query,omitempty"` + + // UpdateTime: The last time this hold was modified. + UpdateTime string `json:"updateTime,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Accounts") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Accounts") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Hold) MarshalJSON() ([]byte, error) { + type noMethod Hold + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListHeldAccountsResponse: Returns a list of held accounts for a hold. +type ListHeldAccountsResponse struct { + // Accounts: The held accounts on a hold. + Accounts []*HeldAccount `json:"accounts,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Accounts") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Accounts") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListHeldAccountsResponse) MarshalJSON() ([]byte, error) { + type noMethod ListHeldAccountsResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListHoldsResponse: The holds for a matter. +type ListHoldsResponse struct { + // Holds: The list of holds. + Holds []*Hold `json:"holds,omitempty"` + + // NextPageToken: Page token to retrieve the next page of results in the + // list. + // If this is empty, then there are no more holds to list. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Holds") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Holds") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListHoldsResponse) MarshalJSON() ([]byte, error) { + type noMethod ListHoldsResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListMattersResponse: Provides the list of matters. +type ListMattersResponse struct { + // Matters: List of matters. + Matters []*Matter `json:"matters,omitempty"` + + // NextPageToken: Page token to retrieve the next page of results in the + // list. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Matters") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Matters") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListMattersResponse) MarshalJSON() ([]byte, error) { + type noMethod ListMattersResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Matter: Represents a matter. +type Matter struct { + // Description: The description of the matter. + Description string `json:"description,omitempty"` + + // MatterId: The matter ID which is generated by the server. + // Should be blank when creating a new matter. + MatterId string `json:"matterId,omitempty"` + + // MatterPermissions: List of users and access to the matter. Currently + // there is no programmer + // defined limit on the number of permissions a matter can have. + MatterPermissions []*MatterPermission `json:"matterPermissions,omitempty"` + + // Name: The name of the matter. + Name string `json:"name,omitempty"` + + // State: The state of the matter. + // + // Possible values: + // "STATE_UNSPECIFIED" - The matter has no specified state. + // "OPEN" - This matter is open. + // "CLOSED" - This matter is closed. + // "DELETED" - This matter is deleted. + State string `json:"state,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Description") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Matter) MarshalJSON() ([]byte, error) { + type noMethod Matter + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// MatterPermission: Currently each matter only has one owner, and all +// others are collaborators. +// When an account is purged, its corresponding MatterPermission +// resources +// cease to exist. +type MatterPermission struct { + // AccountId: The account id, as provided by Admin SDK. + AccountId string `json:"accountId,omitempty"` + + // Role: The user's role in this matter. + // + // Possible values: + // "ROLE_UNSPECIFIED" - No role assigned. + // "COLLABORATOR" - A collaborator to the matter. + // "OWNER" - The owner of the matter. + Role string `json:"role,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "AccountId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AccountId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *MatterPermission) MarshalJSON() ([]byte, error) { + type noMethod MatterPermission + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// RemoveMatterPermissionsRequest: Remove an account as a matter +// collaborator. +type RemoveMatterPermissionsRequest struct { + // AccountId: The account ID. + AccountId string `json:"accountId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AccountId") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AccountId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *RemoveMatterPermissionsRequest) MarshalJSON() ([]byte, error) { + type noMethod RemoveMatterPermissionsRequest + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ReopenMatterRequest: Reopen a matter by ID. +type ReopenMatterRequest struct { +} + +// ReopenMatterResponse: Response to a ReopenMatterRequest. +type ReopenMatterResponse struct { + // Matter: The updated matter, with state OPEN. + Matter *Matter `json:"matter,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Matter") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Matter") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ReopenMatterResponse) MarshalJSON() ([]byte, error) { + type noMethod ReopenMatterResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// UndeleteMatterRequest: Undelete a matter by ID. +type UndeleteMatterRequest struct { +} + +// method id "vault.matters.addPermissions": + +type MattersAddPermissionsCall struct { + s *Service + matterId string + addmatterpermissionsrequest *AddMatterPermissionsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// AddPermissions: Adds an account as a matter collaborator. +func (r *MattersService) AddPermissions(matterId string, addmatterpermissionsrequest *AddMatterPermissionsRequest) *MattersAddPermissionsCall { + c := &MattersAddPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.matterId = matterId + c.addmatterpermissionsrequest = addmatterpermissionsrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *MattersAddPermissionsCall) Fields(s ...googleapi.Field) *MattersAddPermissionsCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *MattersAddPermissionsCall) Context(ctx context.Context) *MattersAddPermissionsCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *MattersAddPermissionsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *MattersAddPermissionsCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.addmatterpermissionsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/matters/{matterId}:addPermissions") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "matterId": c.matterId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "vault.matters.addPermissions" call. +// Exactly one of *MatterPermission or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *MatterPermission.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *MattersAddPermissionsCall) Do(opts ...googleapi.CallOption) (*MatterPermission, 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, &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, err + } + ret := &MatterPermission{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Adds an account as a matter collaborator.", + // "flatPath": "v1/matters/{matterId}:addPermissions", + // "httpMethod": "POST", + // "id": "vault.matters.addPermissions", + // "parameterOrder": [ + // "matterId" + // ], + // "parameters": { + // "matterId": { + // "description": "The matter ID.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/matters/{matterId}:addPermissions", + // "request": { + // "$ref": "AddMatterPermissionsRequest" + // }, + // "response": { + // "$ref": "MatterPermission" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/ediscovery" + // ] + // } + +} + +// method id "vault.matters.close": + +type MattersCloseCall struct { + s *Service + matterId string + closematterrequest *CloseMatterRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Close: Closes the specified matter. Returns matter with updated +// state. +func (r *MattersService) Close(matterId string, closematterrequest *CloseMatterRequest) *MattersCloseCall { + c := &MattersCloseCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.matterId = matterId + c.closematterrequest = closematterrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *MattersCloseCall) Fields(s ...googleapi.Field) *MattersCloseCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *MattersCloseCall) Context(ctx context.Context) *MattersCloseCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *MattersCloseCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *MattersCloseCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.closematterrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/matters/{matterId}:close") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "matterId": c.matterId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "vault.matters.close" call. +// Exactly one of *CloseMatterResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *CloseMatterResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *MattersCloseCall) Do(opts ...googleapi.CallOption) (*CloseMatterResponse, 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, &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, err + } + ret := &CloseMatterResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Closes the specified matter. Returns matter with updated state.", + // "flatPath": "v1/matters/{matterId}:close", + // "httpMethod": "POST", + // "id": "vault.matters.close", + // "parameterOrder": [ + // "matterId" + // ], + // "parameters": { + // "matterId": { + // "description": "The matter ID.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/matters/{matterId}:close", + // "request": { + // "$ref": "CloseMatterRequest" + // }, + // "response": { + // "$ref": "CloseMatterResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/ediscovery" + // ] + // } + +} + +// method id "vault.matters.create": + +type MattersCreateCall struct { + s *Service + matter *Matter + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a new matter with the given name and description. The +// initial state +// is open, and the owner is the method caller. Returns the created +// matter +// with default view. +func (r *MattersService) Create(matter *Matter) *MattersCreateCall { + c := &MattersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.matter = matter + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *MattersCreateCall) Fields(s ...googleapi.Field) *MattersCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *MattersCreateCall) Context(ctx context.Context) *MattersCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *MattersCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *MattersCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.matter) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/matters") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "vault.matters.create" call. +// Exactly one of *Matter or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Matter.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *MattersCreateCall) Do(opts ...googleapi.CallOption) (*Matter, 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, &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, err + } + ret := &Matter{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a new matter with the given name and description. The initial state\nis open, and the owner is the method caller. Returns the created matter\nwith default view.", + // "flatPath": "v1/matters", + // "httpMethod": "POST", + // "id": "vault.matters.create", + // "parameterOrder": [], + // "parameters": {}, + // "path": "v1/matters", + // "request": { + // "$ref": "Matter" + // }, + // "response": { + // "$ref": "Matter" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/ediscovery" + // ] + // } + +} + +// method id "vault.matters.delete": + +type MattersDeleteCall struct { + s *Service + matterId string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes the specified matter. Returns matter with updated +// state. +func (r *MattersService) Delete(matterId string) *MattersDeleteCall { + c := &MattersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.matterId = matterId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *MattersDeleteCall) Fields(s ...googleapi.Field) *MattersDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *MattersDeleteCall) Context(ctx context.Context) *MattersDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *MattersDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *MattersDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/matters/{matterId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "matterId": c.matterId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "vault.matters.delete" call. +// Exactly one of *Matter or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Matter.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *MattersDeleteCall) Do(opts ...googleapi.CallOption) (*Matter, 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, &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, err + } + ret := &Matter{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes the specified matter. Returns matter with updated state.", + // "flatPath": "v1/matters/{matterId}", + // "httpMethod": "DELETE", + // "id": "vault.matters.delete", + // "parameterOrder": [ + // "matterId" + // ], + // "parameters": { + // "matterId": { + // "description": "The matter ID", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/matters/{matterId}", + // "response": { + // "$ref": "Matter" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/ediscovery" + // ] + // } + +} + +// method id "vault.matters.get": + +type MattersGetCall struct { + s *Service + matterId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the specified matter. +func (r *MattersService) Get(matterId string) *MattersGetCall { + c := &MattersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.matterId = matterId + return c +} + +// View sets the optional parameter "view": Specifies which parts of the +// Matter to return in the response. +// +// Possible values: +// "VIEW_UNSPECIFIED" +// "BASIC" +// "FULL" +func (c *MattersGetCall) View(view string) *MattersGetCall { + 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 information. +func (c *MattersGetCall) Fields(s ...googleapi.Field) *MattersGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *MattersGetCall) IfNoneMatch(entityTag string) *MattersGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *MattersGetCall) Context(ctx context.Context) *MattersGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *MattersGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *MattersGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/matters/{matterId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "matterId": c.matterId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "vault.matters.get" call. +// Exactly one of *Matter or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Matter.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *MattersGetCall) Do(opts ...googleapi.CallOption) (*Matter, 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, &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, err + } + ret := &Matter{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the specified matter.", + // "flatPath": "v1/matters/{matterId}", + // "httpMethod": "GET", + // "id": "vault.matters.get", + // "parameterOrder": [ + // "matterId" + // ], + // "parameters": { + // "matterId": { + // "description": "The matter ID.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "view": { + // "description": "Specifies which parts of the Matter to return in the response.", + // "enum": [ + // "VIEW_UNSPECIFIED", + // "BASIC", + // "FULL" + // ], + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/matters/{matterId}", + // "response": { + // "$ref": "Matter" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/ediscovery", + // "https://www.googleapis.com/auth/ediscovery.readonly" + // ] + // } + +} + +// method id "vault.matters.list": + +type MattersListCall struct { + s *Service + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists matters the user has access to. +func (r *MattersService) List() *MattersListCall { + c := &MattersListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + return c +} + +// PageSize sets the optional parameter "pageSize": The number of +// matters to return in the response. +// Default and maximum are 100. +func (c *MattersListCall) PageSize(pageSize int64) *MattersListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The pagination +// token as returned in the response. +func (c *MattersListCall) PageToken(pageToken string) *MattersListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// State sets the optional parameter "state": If set, list only matters +// with that specific state. The default is listing +// matters of all states. +// +// Possible values: +// "STATE_UNSPECIFIED" +// "OPEN" +// "CLOSED" +// "DELETED" +func (c *MattersListCall) State(state string) *MattersListCall { + c.urlParams_.Set("state", state) + return c +} + +// View sets the optional parameter "view": Specifies which parts of the +// matter to return in response. +// +// Possible values: +// "VIEW_UNSPECIFIED" +// "BASIC" +// "FULL" +func (c *MattersListCall) View(view string) *MattersListCall { + 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 information. +func (c *MattersListCall) Fields(s ...googleapi.Field) *MattersListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *MattersListCall) IfNoneMatch(entityTag string) *MattersListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *MattersListCall) Context(ctx context.Context) *MattersListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *MattersListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *MattersListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/matters") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "vault.matters.list" call. +// Exactly one of *ListMattersResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListMattersResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *MattersListCall) Do(opts ...googleapi.CallOption) (*ListMattersResponse, 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, &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, err + } + ret := &ListMattersResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists matters the user has access to.", + // "flatPath": "v1/matters", + // "httpMethod": "GET", + // "id": "vault.matters.list", + // "parameterOrder": [], + // "parameters": { + // "pageSize": { + // "description": "The number of matters to return in the response.\nDefault and maximum are 100.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "The pagination token as returned in the response.", + // "location": "query", + // "type": "string" + // }, + // "state": { + // "description": "If set, list only matters with that specific state. The default is listing\nmatters of all states.", + // "enum": [ + // "STATE_UNSPECIFIED", + // "OPEN", + // "CLOSED", + // "DELETED" + // ], + // "location": "query", + // "type": "string" + // }, + // "view": { + // "description": "Specifies which parts of the matter to return in response.", + // "enum": [ + // "VIEW_UNSPECIFIED", + // "BASIC", + // "FULL" + // ], + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/matters", + // "response": { + // "$ref": "ListMattersResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/ediscovery", + // "https://www.googleapis.com/auth/ediscovery.readonly" + // ] + // } + +} + +// 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 *MattersListCall) Pages(ctx context.Context, f func(*ListMattersResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "vault.matters.removePermissions": + +type MattersRemovePermissionsCall struct { + s *Service + matterId string + removematterpermissionsrequest *RemoveMatterPermissionsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// RemovePermissions: Removes an account as a matter collaborator. +func (r *MattersService) RemovePermissions(matterId string, removematterpermissionsrequest *RemoveMatterPermissionsRequest) *MattersRemovePermissionsCall { + c := &MattersRemovePermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.matterId = matterId + c.removematterpermissionsrequest = removematterpermissionsrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *MattersRemovePermissionsCall) Fields(s ...googleapi.Field) *MattersRemovePermissionsCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *MattersRemovePermissionsCall) Context(ctx context.Context) *MattersRemovePermissionsCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *MattersRemovePermissionsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *MattersRemovePermissionsCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.removematterpermissionsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/matters/{matterId}:removePermissions") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "matterId": c.matterId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "vault.matters.removePermissions" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *MattersRemovePermissionsCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Removes an account as a matter collaborator.", + // "flatPath": "v1/matters/{matterId}:removePermissions", + // "httpMethod": "POST", + // "id": "vault.matters.removePermissions", + // "parameterOrder": [ + // "matterId" + // ], + // "parameters": { + // "matterId": { + // "description": "The matter ID.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/matters/{matterId}:removePermissions", + // "request": { + // "$ref": "RemoveMatterPermissionsRequest" + // }, + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/ediscovery" + // ] + // } + +} + +// method id "vault.matters.reopen": + +type MattersReopenCall struct { + s *Service + matterId string + reopenmatterrequest *ReopenMatterRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Reopen: Reopens the specified matter. Returns matter with updated +// state. +func (r *MattersService) Reopen(matterId string, reopenmatterrequest *ReopenMatterRequest) *MattersReopenCall { + c := &MattersReopenCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.matterId = matterId + c.reopenmatterrequest = reopenmatterrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *MattersReopenCall) Fields(s ...googleapi.Field) *MattersReopenCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *MattersReopenCall) Context(ctx context.Context) *MattersReopenCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *MattersReopenCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *MattersReopenCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.reopenmatterrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/matters/{matterId}:reopen") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "matterId": c.matterId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "vault.matters.reopen" call. +// Exactly one of *ReopenMatterResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ReopenMatterResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *MattersReopenCall) Do(opts ...googleapi.CallOption) (*ReopenMatterResponse, 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, &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, err + } + ret := &ReopenMatterResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Reopens the specified matter. Returns matter with updated state.", + // "flatPath": "v1/matters/{matterId}:reopen", + // "httpMethod": "POST", + // "id": "vault.matters.reopen", + // "parameterOrder": [ + // "matterId" + // ], + // "parameters": { + // "matterId": { + // "description": "The matter ID.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/matters/{matterId}:reopen", + // "request": { + // "$ref": "ReopenMatterRequest" + // }, + // "response": { + // "$ref": "ReopenMatterResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/ediscovery" + // ] + // } + +} + +// method id "vault.matters.undelete": + +type MattersUndeleteCall struct { + s *Service + matterId string + undeletematterrequest *UndeleteMatterRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Undelete: Undeletes the specified matter. Returns matter with updated +// state. +func (r *MattersService) Undelete(matterId string, undeletematterrequest *UndeleteMatterRequest) *MattersUndeleteCall { + c := &MattersUndeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.matterId = matterId + c.undeletematterrequest = undeletematterrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *MattersUndeleteCall) Fields(s ...googleapi.Field) *MattersUndeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *MattersUndeleteCall) Context(ctx context.Context) *MattersUndeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *MattersUndeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *MattersUndeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.undeletematterrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/matters/{matterId}:undelete") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "matterId": c.matterId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "vault.matters.undelete" call. +// Exactly one of *Matter or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Matter.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *MattersUndeleteCall) Do(opts ...googleapi.CallOption) (*Matter, 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, &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, err + } + ret := &Matter{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Undeletes the specified matter. Returns matter with updated state.", + // "flatPath": "v1/matters/{matterId}:undelete", + // "httpMethod": "POST", + // "id": "vault.matters.undelete", + // "parameterOrder": [ + // "matterId" + // ], + // "parameters": { + // "matterId": { + // "description": "The matter ID.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/matters/{matterId}:undelete", + // "request": { + // "$ref": "UndeleteMatterRequest" + // }, + // "response": { + // "$ref": "Matter" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/ediscovery" + // ] + // } + +} + +// method id "vault.matters.update": + +type MattersUpdateCall struct { + s *Service + matterId string + matter *Matter + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Update: Updates the specified matter. +// This updates only the name and description of the matter, identified +// by +// matter id. Changes to any other fields are ignored. +// Returns the default view of the matter. +func (r *MattersService) Update(matterId string, matter *Matter) *MattersUpdateCall { + c := &MattersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.matterId = matterId + c.matter = matter + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *MattersUpdateCall) Fields(s ...googleapi.Field) *MattersUpdateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *MattersUpdateCall) Context(ctx context.Context) *MattersUpdateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *MattersUpdateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *MattersUpdateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.matter) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/matters/{matterId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PUT", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "matterId": c.matterId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "vault.matters.update" call. +// Exactly one of *Matter or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Matter.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *MattersUpdateCall) Do(opts ...googleapi.CallOption) (*Matter, 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, &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, err + } + ret := &Matter{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates the specified matter.\nThis updates only the name and description of the matter, identified by\nmatter id. Changes to any other fields are ignored.\nReturns the default view of the matter.", + // "flatPath": "v1/matters/{matterId}", + // "httpMethod": "PUT", + // "id": "vault.matters.update", + // "parameterOrder": [ + // "matterId" + // ], + // "parameters": { + // "matterId": { + // "description": "The matter ID.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/matters/{matterId}", + // "request": { + // "$ref": "Matter" + // }, + // "response": { + // "$ref": "Matter" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/ediscovery" + // ] + // } + +} + +// method id "vault.matters.holds.create": + +type MattersHoldsCreateCall struct { + s *Service + matterId string + hold *Hold + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a hold in the given matter. +func (r *MattersHoldsService) Create(matterId string, hold *Hold) *MattersHoldsCreateCall { + c := &MattersHoldsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.matterId = matterId + c.hold = hold + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *MattersHoldsCreateCall) Fields(s ...googleapi.Field) *MattersHoldsCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *MattersHoldsCreateCall) Context(ctx context.Context) *MattersHoldsCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *MattersHoldsCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *MattersHoldsCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.hold) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/matters/{matterId}/holds") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "matterId": c.matterId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "vault.matters.holds.create" call. +// Exactly one of *Hold or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Hold.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *MattersHoldsCreateCall) Do(opts ...googleapi.CallOption) (*Hold, 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, &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, err + } + ret := &Hold{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a hold in the given matter.", + // "flatPath": "v1/matters/{matterId}/holds", + // "httpMethod": "POST", + // "id": "vault.matters.holds.create", + // "parameterOrder": [ + // "matterId" + // ], + // "parameters": { + // "matterId": { + // "description": "The matter ID.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/matters/{matterId}/holds", + // "request": { + // "$ref": "Hold" + // }, + // "response": { + // "$ref": "Hold" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/ediscovery" + // ] + // } + +} + +// method id "vault.matters.holds.delete": + +type MattersHoldsDeleteCall struct { + s *Service + matterId string + holdId string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Removes a hold by ID. This will release any HeldAccounts on +// this Hold. +func (r *MattersHoldsService) Delete(matterId string, holdId string) *MattersHoldsDeleteCall { + c := &MattersHoldsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.matterId = matterId + c.holdId = holdId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *MattersHoldsDeleteCall) Fields(s ...googleapi.Field) *MattersHoldsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *MattersHoldsDeleteCall) Context(ctx context.Context) *MattersHoldsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *MattersHoldsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *MattersHoldsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/matters/{matterId}/holds/{holdId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "matterId": c.matterId, + "holdId": c.holdId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "vault.matters.holds.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *MattersHoldsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Removes a hold by ID. This will release any HeldAccounts on this Hold.", + // "flatPath": "v1/matters/{matterId}/holds/{holdId}", + // "httpMethod": "DELETE", + // "id": "vault.matters.holds.delete", + // "parameterOrder": [ + // "matterId", + // "holdId" + // ], + // "parameters": { + // "holdId": { + // "description": "The hold ID.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "matterId": { + // "description": "The matter ID.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/matters/{matterId}/holds/{holdId}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/ediscovery" + // ] + // } + +} + +// method id "vault.matters.holds.get": + +type MattersHoldsGetCall struct { + s *Service + matterId string + holdId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets a hold by ID. +func (r *MattersHoldsService) Get(matterId string, holdId string) *MattersHoldsGetCall { + c := &MattersHoldsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.matterId = matterId + c.holdId = holdId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *MattersHoldsGetCall) Fields(s ...googleapi.Field) *MattersHoldsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *MattersHoldsGetCall) IfNoneMatch(entityTag string) *MattersHoldsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *MattersHoldsGetCall) Context(ctx context.Context) *MattersHoldsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *MattersHoldsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *MattersHoldsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/matters/{matterId}/holds/{holdId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "matterId": c.matterId, + "holdId": c.holdId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "vault.matters.holds.get" call. +// Exactly one of *Hold or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Hold.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *MattersHoldsGetCall) Do(opts ...googleapi.CallOption) (*Hold, 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, &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, err + } + ret := &Hold{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets a hold by ID.", + // "flatPath": "v1/matters/{matterId}/holds/{holdId}", + // "httpMethod": "GET", + // "id": "vault.matters.holds.get", + // "parameterOrder": [ + // "matterId", + // "holdId" + // ], + // "parameters": { + // "holdId": { + // "description": "The hold ID.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "matterId": { + // "description": "The matter ID.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/matters/{matterId}/holds/{holdId}", + // "response": { + // "$ref": "Hold" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/ediscovery", + // "https://www.googleapis.com/auth/ediscovery.readonly" + // ] + // } + +} + +// method id "vault.matters.holds.list": + +type MattersHoldsListCall struct { + s *Service + matterId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists holds within a matter. An empty page token in +// ListHoldsResponse +// denotes no more holds to list. +func (r *MattersHoldsService) List(matterId string) *MattersHoldsListCall { + c := &MattersHoldsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.matterId = matterId + return c +} + +// PageSize sets the optional parameter "pageSize": The number of holds +// to return in the response, between 0 and 100 inclusive. +// Leaving this empty, or as 0, is the same as page_size = 100. +func (c *MattersHoldsListCall) PageSize(pageSize int64) *MattersHoldsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The pagination +// token as returned in the response. +// An empty token means start from the beginning. +func (c *MattersHoldsListCall) PageToken(pageToken string) *MattersHoldsListCall { + 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 information. +func (c *MattersHoldsListCall) Fields(s ...googleapi.Field) *MattersHoldsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *MattersHoldsListCall) IfNoneMatch(entityTag string) *MattersHoldsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *MattersHoldsListCall) Context(ctx context.Context) *MattersHoldsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *MattersHoldsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *MattersHoldsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/matters/{matterId}/holds") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "matterId": c.matterId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "vault.matters.holds.list" call. +// Exactly one of *ListHoldsResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListHoldsResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *MattersHoldsListCall) Do(opts ...googleapi.CallOption) (*ListHoldsResponse, 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, &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, err + } + ret := &ListHoldsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists holds within a matter. An empty page token in ListHoldsResponse\ndenotes no more holds to list.", + // "flatPath": "v1/matters/{matterId}/holds", + // "httpMethod": "GET", + // "id": "vault.matters.holds.list", + // "parameterOrder": [ + // "matterId" + // ], + // "parameters": { + // "matterId": { + // "description": "The matter ID.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "pageSize": { + // "description": "The number of holds to return in the response, between 0 and 100 inclusive.\nLeaving this empty, or as 0, is the same as page_size = 100.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "The pagination token as returned in the response.\nAn empty token means start from the beginning.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/matters/{matterId}/holds", + // "response": { + // "$ref": "ListHoldsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/ediscovery", + // "https://www.googleapis.com/auth/ediscovery.readonly" + // ] + // } + +} + +// 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 *MattersHoldsListCall) Pages(ctx context.Context, f func(*ListHoldsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + 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) + } +} + +// method id "vault.matters.holds.update": + +type MattersHoldsUpdateCall struct { + s *Service + matterId string + holdId string + hold *Hold + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Update: Updates the OU and/or query parameters of a hold. You cannot +// add accounts +// to a hold that covers an OU, nor can you add OUs to a hold that +// covers +// individual accounts. Accounts listed in the hold will be ignored. +func (r *MattersHoldsService) Update(matterId string, holdId string, hold *Hold) *MattersHoldsUpdateCall { + c := &MattersHoldsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.matterId = matterId + c.holdId = holdId + c.hold = hold + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *MattersHoldsUpdateCall) Fields(s ...googleapi.Field) *MattersHoldsUpdateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *MattersHoldsUpdateCall) Context(ctx context.Context) *MattersHoldsUpdateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *MattersHoldsUpdateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *MattersHoldsUpdateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.hold) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/matters/{matterId}/holds/{holdId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("PUT", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "matterId": c.matterId, + "holdId": c.holdId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "vault.matters.holds.update" call. +// Exactly one of *Hold or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Hold.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was +// returned. +func (c *MattersHoldsUpdateCall) Do(opts ...googleapi.CallOption) (*Hold, 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, &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, err + } + ret := &Hold{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates the OU and/or query parameters of a hold. You cannot add accounts\nto a hold that covers an OU, nor can you add OUs to a hold that covers\nindividual accounts. Accounts listed in the hold will be ignored.", + // "flatPath": "v1/matters/{matterId}/holds/{holdId}", + // "httpMethod": "PUT", + // "id": "vault.matters.holds.update", + // "parameterOrder": [ + // "matterId", + // "holdId" + // ], + // "parameters": { + // "holdId": { + // "description": "The ID of the hold.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "matterId": { + // "description": "The matter ID.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/matters/{matterId}/holds/{holdId}", + // "request": { + // "$ref": "Hold" + // }, + // "response": { + // "$ref": "Hold" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/ediscovery" + // ] + // } + +} + +// method id "vault.matters.holds.accounts.create": + +type MattersHoldsAccountsCreateCall struct { + s *Service + matterId string + holdId string + heldaccount *HeldAccount + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Adds a HeldAccount to a hold. Accounts can only be added to a +// hold that +// has no held_org_unit set. Attempting to add an account to an +// OU-based +// hold will result in an error. +func (r *MattersHoldsAccountsService) Create(matterId string, holdId string, heldaccount *HeldAccount) *MattersHoldsAccountsCreateCall { + c := &MattersHoldsAccountsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.matterId = matterId + c.holdId = holdId + c.heldaccount = heldaccount + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *MattersHoldsAccountsCreateCall) Fields(s ...googleapi.Field) *MattersHoldsAccountsCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *MattersHoldsAccountsCreateCall) Context(ctx context.Context) *MattersHoldsAccountsCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *MattersHoldsAccountsCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *MattersHoldsAccountsCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.heldaccount) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/matters/{matterId}/holds/{holdId}/accounts") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("POST", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "matterId": c.matterId, + "holdId": c.holdId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "vault.matters.holds.accounts.create" call. +// Exactly one of *HeldAccount or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *HeldAccount.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *MattersHoldsAccountsCreateCall) Do(opts ...googleapi.CallOption) (*HeldAccount, 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, &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, err + } + ret := &HeldAccount{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Adds a HeldAccount to a hold. Accounts can only be added to a hold that\nhas no held_org_unit set. Attempting to add an account to an OU-based\nhold will result in an error.", + // "flatPath": "v1/matters/{matterId}/holds/{holdId}/accounts", + // "httpMethod": "POST", + // "id": "vault.matters.holds.accounts.create", + // "parameterOrder": [ + // "matterId", + // "holdId" + // ], + // "parameters": { + // "holdId": { + // "description": "The hold ID.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "matterId": { + // "description": "The matter ID.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/matters/{matterId}/holds/{holdId}/accounts", + // "request": { + // "$ref": "HeldAccount" + // }, + // "response": { + // "$ref": "HeldAccount" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/ediscovery" + // ] + // } + +} + +// method id "vault.matters.holds.accounts.delete": + +type MattersHoldsAccountsDeleteCall struct { + s *Service + matterId string + holdId string + accountId string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Removes a HeldAccount from a hold. If this request leaves the +// hold with +// no held accounts, the hold will not apply to any accounts. +func (r *MattersHoldsAccountsService) Delete(matterId string, holdId string, accountId string) *MattersHoldsAccountsDeleteCall { + c := &MattersHoldsAccountsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.matterId = matterId + c.holdId = holdId + c.accountId = accountId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *MattersHoldsAccountsDeleteCall) Fields(s ...googleapi.Field) *MattersHoldsAccountsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *MattersHoldsAccountsDeleteCall) Context(ctx context.Context) *MattersHoldsAccountsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *MattersHoldsAccountsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *MattersHoldsAccountsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/matters/{matterId}/holds/{holdId}/accounts/{accountId}") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("DELETE", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "matterId": c.matterId, + "holdId": c.holdId, + "accountId": c.accountId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "vault.matters.holds.accounts.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *MattersHoldsAccountsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err + } + ret := &Empty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Removes a HeldAccount from a hold. If this request leaves the hold with\nno held accounts, the hold will not apply to any accounts.", + // "flatPath": "v1/matters/{matterId}/holds/{holdId}/accounts/{accountId}", + // "httpMethod": "DELETE", + // "id": "vault.matters.holds.accounts.delete", + // "parameterOrder": [ + // "matterId", + // "holdId", + // "accountId" + // ], + // "parameters": { + // "accountId": { + // "description": "The ID of the account to remove from the hold.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "holdId": { + // "description": "The hold ID.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "matterId": { + // "description": "The matter ID.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/matters/{matterId}/holds/{holdId}/accounts/{accountId}", + // "response": { + // "$ref": "Empty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/ediscovery" + // ] + // } + +} + +// method id "vault.matters.holds.accounts.list": + +type MattersHoldsAccountsListCall struct { + s *Service + matterId string + holdId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists HeldAccounts for a hold. This will only list individually +// specified +// held accounts. If the hold is on an OU, then use +// Admin SDK +// to enumerate its members. +func (r *MattersHoldsAccountsService) List(matterId string, holdId string) *MattersHoldsAccountsListCall { + c := &MattersHoldsAccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.matterId = matterId + c.holdId = holdId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *MattersHoldsAccountsListCall) Fields(s ...googleapi.Field) *MattersHoldsAccountsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *MattersHoldsAccountsListCall) IfNoneMatch(entityTag string) *MattersHoldsAccountsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *MattersHoldsAccountsListCall) Context(ctx context.Context) *MattersHoldsAccountsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *MattersHoldsAccountsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *MattersHoldsAccountsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/matters/{matterId}/holds/{holdId}/accounts") + urls += "?" + c.urlParams_.Encode() + req, _ := http.NewRequest("GET", urls, body) + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "matterId": c.matterId, + "holdId": c.holdId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "vault.matters.holds.accounts.list" call. +// Exactly one of *ListHeldAccountsResponse or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *ListHeldAccountsResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *MattersHoldsAccountsListCall) Do(opts ...googleapi.CallOption) (*ListHeldAccountsResponse, 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, &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, err + } + ret := &ListHeldAccountsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := json.NewDecoder(res.Body).Decode(target); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists HeldAccounts for a hold. This will only list individually specified\nheld accounts. If the hold is on an OU, then use\n\u003ca href=\"https://developers.google.com/admin-sdk/\"\u003eAdmin SDK\u003c/a\u003e\nto enumerate its members.", + // "flatPath": "v1/matters/{matterId}/holds/{holdId}/accounts", + // "httpMethod": "GET", + // "id": "vault.matters.holds.accounts.list", + // "parameterOrder": [ + // "matterId", + // "holdId" + // ], + // "parameters": { + // "holdId": { + // "description": "The hold ID.", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "matterId": { + // "description": "The matter ID.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/matters/{matterId}/holds/{holdId}/accounts", + // "response": { + // "$ref": "ListHeldAccountsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/ediscovery", + // "https://www.googleapis.com/auth/ediscovery.readonly" + // ] + // } + +} diff --git a/vendor/google.golang.org/api/videointelligence/v1beta1/videointelligence-api.json b/vendor/google.golang.org/api/videointelligence/v1beta1/videointelligence-api.json index 1a7474351..8d0c425fd 100644 --- a/vendor/google.golang.org/api/videointelligence/v1beta1/videointelligence-api.json +++ b/vendor/google.golang.org/api/videointelligence/v1beta1/videointelligence-api.json @@ -1,73 +1,321 @@ { - "version": "v1beta1", - "baseUrl": "https://videointelligence.googleapis.com/", - "servicePath": "", - "description": "Google Cloud Video Intelligence API.", - "kind": "discovery#restDescription", - "basePath": "", - "revision": "20170511", - "id": "videointelligence:v1beta1", - "documentationLink": "https://cloud.google.com/video-intelligence/docs/", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { - "GoogleCloudVideointelligenceV1beta1_AnnotateVideoProgress": { - "description": "Video annotation progress. Included in the `metadata`\nfield of the `Operation` returned by the `GetOperation`\ncall of the `google::longrunning::Operations` service.", + "GoogleCloudVideointelligenceV1beta2_Entity": { + "description": "Detected entity from video analysis.", "type": "object", "properties": { - "annotationProgress": { - "description": "Progress metadata for all videos specified in `AnnotateVideoRequest`.", - "type": "array", - "items": { - "$ref": "GoogleCloudVideointelligenceV1beta1_VideoAnnotationProgress" - } + "description": { + "description": "Textual description, e.g. `Fixed-gear bicycle`.", + "type": "string" + }, + "languageCode": { + "description": "Language code for `description` in BCP-47 format.", + "type": "string" + }, + "entityId": { + "description": "Opaque entity ID. Some IDs may be available in\n[Google Knowledge Graph Search\nAPI](https://developers.google.com/knowledge-graph/).", + "type": "string" } }, - "id": "GoogleCloudVideointelligenceV1beta1_AnnotateVideoProgress" + "id": "GoogleCloudVideointelligenceV1beta2_Entity" }, - "GoogleCloudVideointelligenceV1beta1_AnnotateVideoRequest": { - "description": "Video annotation request.", + "GoogleCloudVideointelligenceV1beta2_VideoSegment": { + "description": "Video segment.", "type": "object", "properties": { - "inputContent": { - "description": "The video data bytes. Encoding: base64. If unset, the input video(s)\nshould be specified via `input_uri`. If set, `input_uri` should be unset.", + "endTimeOffset": { + "format": "google-duration", + "description": "Time-offset, relative to the beginning of the video,\ncorresponding to the end of the segment (inclusive).", "type": "string" }, - "outputUri": { - "description": "Optional location where the output (in JSON format) should be stored.\nCurrently, only [Google Cloud Storage](https://cloud.google.com/storage/)\nURIs are supported, which must be specified in the following format:\n`gs://bucket-id/object-id` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](/storage/docs/reference-uris).", + "startTimeOffset": { + "format": "google-duration", + "description": "Time-offset, relative to the beginning of the video,\ncorresponding to the start of the segment (inclusive).", "type": "string" - }, - "features": { - "description": "Requested video annotation features.", - "type": "array", - "items": { - "enum": [ - "FEATURE_UNSPECIFIED", - "LABEL_DETECTION", - "SHOT_CHANGE_DETECTION" - ], - "type": "string" - }, + } + }, + "id": "GoogleCloudVideointelligenceV1beta2_VideoSegment" + }, + "GoogleCloudVideointelligenceV1_LabelLocation": { + "description": "Label location.", + "type": "object", + "properties": { + "level": { "enumDescriptions": [ "Unspecified.", - "Label detection. Detect objects, such as dog or flower.", - "Shot change detection." - ] - }, - "videoContext": { - "description": "Additional video context and/or feature-specific parameters.", - "$ref": "GoogleCloudVideointelligenceV1beta1_VideoContext" - }, - "locationId": { - "description": "Optional cloud region where annotation should take place. Supported cloud\nregions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region\nis specified, a region will be determined based on video file location.", + "Video-level. Corresponds to the whole video.", + "Segment-level. Corresponds to one of `AnnotateSpec.segments`.", + "Shot-level. Corresponds to a single shot (i.e. a series of frames\nwithout a major camera position or background change).", + "Frame-level. Corresponds to a single video frame." + ], + "enum": [ + "LABEL_LEVEL_UNSPECIFIED", + "VIDEO_LEVEL", + "SEGMENT_LEVEL", + "SHOT_LEVEL", + "FRAME_LEVEL" + ], + "description": "Label level.", "type": "string" }, + "confidence": { + "format": "float", + "description": "Confidence that the label is accurate. Range: [0, 1].", + "type": "number" + }, + "segment": { + "$ref": "GoogleCloudVideointelligenceV1_VideoSegment", + "description": "Video segment. Unset for video-level labels.\nSet to a frame timestamp for frame-level labels.\nOtherwise, corresponds to one of `AnnotateSpec.segments`\n(if specified) or to shot boundaries (if requested)." + } + }, + "id": "GoogleCloudVideointelligenceV1_LabelLocation" + }, + "GoogleCloudVideointelligenceV1_VideoAnnotationResults": { + "description": "Annotation results for a single video.", + "type": "object", + "properties": { + "labelAnnotations": { + "description": "Label annotations. There is exactly one element for each unique label.", + "items": { + "$ref": "GoogleCloudVideointelligenceV1_LabelAnnotation" + }, + "type": "array" + }, + "error": { + "description": "If set, indicates an error. Note that for a single `AnnotateVideoRequest`\nsome videos may succeed and some may fail.", + "$ref": "GoogleRpc_Status" + }, + "shotAnnotations": { + "description": "Shot annotations. Each shot is represented as a video segment.", + "items": { + "$ref": "GoogleCloudVideointelligenceV1_VideoSegment" + }, + "type": "array" + }, + "safeSearchAnnotations": { + "description": "Safe search annotations.", + "items": { + "$ref": "GoogleCloudVideointelligenceV1_SafeSearchAnnotation" + }, + "type": "array" + }, "inputUri": { - "description": "Input video location. Currently, only\n[Google Cloud Storage](https://cloud.google.com/storage/) URIs are\nsupported, which must be specified in the following format:\n`gs://bucket-id/object-id` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](/storage/docs/reference-uris).\nA video URI may include wildcards in `object-id`, and thus identify\nmultiple videos. Supported wildcards: '*' to match 0 or more characters;\n'?' to match 1 character. If unset, the input video should be embedded\nin the request as `input_content`. If set, `input_content` should be unset.", + "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", "type": "string" } }, - "id": "GoogleCloudVideointelligenceV1beta1_AnnotateVideoRequest" + "id": "GoogleCloudVideointelligenceV1_VideoAnnotationResults" + }, + "GoogleCloudVideointelligenceV1beta2_AnnotateVideoResponse": { + "description": "Video annotation response. Included in the `response`\nfield of the `Operation` returned by the `GetOperation`\ncall of the `google::longrunning::Operations` service.", + "type": "object", + "properties": { + "annotationResults": { + "description": "Annotation results for all videos specified in `AnnotateVideoRequest`.", + "items": { + "$ref": "GoogleCloudVideointelligenceV1beta2_VideoAnnotationResults" + }, + "type": "array" + } + }, + "id": "GoogleCloudVideointelligenceV1beta2_AnnotateVideoResponse" + }, + "GoogleCloudVideointelligenceV1beta1_LabelAnnotation": { + "description": "Label annotation.", + "type": "object", + "properties": { + "description": { + "description": "Textual description, e.g. `Fixed-gear bicycle`.", + "type": "string" + }, + "locations": { + "description": "Where the label was detected and with what confidence.", + "items": { + "$ref": "GoogleCloudVideointelligenceV1beta1_LabelLocation" + }, + "type": "array" + }, + "languageCode": { + "description": "Language code for `description` in BCP-47 format.", + "type": "string" + } + }, + "id": "GoogleCloudVideointelligenceV1beta1_LabelAnnotation" + }, + "GoogleCloudVideointelligenceV1_LabelAnnotation": { + "description": "Label annotation.", + "type": "object", + "properties": { + "description": { + "description": "Textual description, e.g. `Fixed-gear bicycle`.", + "type": "string" + }, + "locations": { + "description": "Where the label was detected and with what confidence.", + "items": { + "$ref": "GoogleCloudVideointelligenceV1_LabelLocation" + }, + "type": "array" + }, + "languageCode": { + "description": "Language code for `description` in BCP-47 format.", + "type": "string" + } + }, + "id": "GoogleCloudVideointelligenceV1_LabelAnnotation" + }, + "GoogleCloudVideointelligenceV1beta1_VideoContext": { + "description": "Video context and/or feature-specific parameters.", + "type": "object", + "properties": { + "shotChangeDetectionModel": { + "description": "Model to use for shot change detection.\nSupported values: \"latest\" and \"stable\" (the default).", + "type": "string" + }, + "labelDetectionMode": { + "description": "If label detection has been requested, what labels should be detected\nin addition to video-level labels or segment-level labels. If unspecified,\ndefaults to `SHOT_MODE`.", + "type": "string", + "enumDescriptions": [ + "Unspecified.", + "Detect shot-level labels.", + "Detect frame-level labels.", + "Detect both shot-level and frame-level labels." + ], + "enum": [ + "LABEL_DETECTION_MODE_UNSPECIFIED", + "SHOT_MODE", + "FRAME_MODE", + "SHOT_AND_FRAME_MODE" + ] + }, + "stationaryCamera": { + "description": "Whether the video has been shot from a stationary (i.e. non-moving) camera.\nWhen set to true, might improve detection accuracy for moving objects.", + "type": "boolean" + }, + "safeSearchDetectionModel": { + "description": "Model to use for safe search detection.\nSupported values: \"latest\" and \"stable\" (the default).", + "type": "string" + }, + "segments": { + "description": "Video segments to annotate. The segments may overlap and are not required\nto be contiguous or span the whole video. If unspecified, each video\nis treated as a single segment.", + "items": { + "$ref": "GoogleCloudVideointelligenceV1beta1_VideoSegment" + }, + "type": "array" + }, + "labelDetectionModel": { + "description": "Model to use for label detection.\nSupported values: \"latest\" and \"stable\" (the default).", + "type": "string" + } + }, + "id": "GoogleCloudVideointelligenceV1beta1_VideoContext" + }, + "GoogleRpc_Status": { + "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", + "type": "object", + "properties": { + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "type": "object", + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + } + }, + "type": "array" + }, + "code": { + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "id": "GoogleRpc_Status" + }, + "GoogleCloudVideointelligenceV1_VideoSegment": { + "description": "Video segment.", + "type": "object", + "properties": { + "endTime": { + "format": "google-duration", + "description": "Time-offset, relative to the beginning of the video,\ncorresponding to the end of the segment (inclusive).", + "type": "string" + }, + "startTime": { + "format": "google-duration", + "description": "Time-offset, relative to the beginning of the video,\ncorresponding to the start of the segment (inclusive).", + "type": "string" + } + }, + "id": "GoogleCloudVideointelligenceV1_VideoSegment" + }, + "GoogleCloudVideointelligenceV1beta2_VideoAnnotationResults": { + "description": "Annotation results for a single video.", + "type": "object", + "properties": { + "shotLabelAnnotations": { + "description": "Label annotations on shot level.\nThere is exactly one element for each unique label.", + "items": { + "$ref": "GoogleCloudVideointelligenceV1beta2_LabelAnnotation" + }, + "type": "array" + }, + "error": { + "$ref": "GoogleRpc_Status", + "description": "If set, indicates an error. Note that for a single `AnnotateVideoRequest`\nsome videos may succeed and some may fail." + }, + "frameLabelAnnotations": { + "description": "Label annotations on frame level.\nThere is exactly one element for each unique label.", + "items": { + "$ref": "GoogleCloudVideointelligenceV1beta2_LabelAnnotation" + }, + "type": "array" + }, + "inputUri": { + "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", + "type": "string" + }, + "explicitAnnotation": { + "description": "Explicit content annotation.", + "$ref": "GoogleCloudVideointelligenceV1beta2_ExplicitContentAnnotation" + }, + "segmentLabelAnnotations": { + "description": "Label annotations on video level or user specified segment level.\nThere is exactly one element for each unique label.", + "items": { + "$ref": "GoogleCloudVideointelligenceV1beta2_LabelAnnotation" + }, + "type": "array" + }, + "shotAnnotations": { + "description": "Shot annotations. Each shot is represented as a video segment.", + "items": { + "$ref": "GoogleCloudVideointelligenceV1beta2_VideoSegment" + }, + "type": "array" + } + }, + "id": "GoogleCloudVideointelligenceV1beta2_VideoAnnotationResults" + }, + "GoogleCloudVideointelligenceV1beta2_ExplicitContentAnnotation": { + "description": "Explicit content annotation (based on per-frame visual signals only).\nIf no explicit content has been detected in a frame, no annotations are\npresent for that frame.", + "type": "object", + "properties": { + "frames": { + "description": "All video frames where explicit content was detected.", + "items": { + "$ref": "GoogleCloudVideointelligenceV1beta2_ExplicitContentFrame" + }, + "type": "array" + } + }, + "id": "GoogleCloudVideointelligenceV1beta2_ExplicitContentAnnotation" }, "GoogleCloudVideointelligenceV1beta1_LabelLocation": { "description": "Label location.", @@ -92,8 +340,8 @@ "type": "string" }, "confidence": { - "description": "Confidence that the label is accurate. Range: [0, 1].", "format": "float", + "description": "Confidence that the label is accurate. Range: [0, 1].", "type": "number" }, "segment": { @@ -103,29 +351,83 @@ }, "id": "GoogleCloudVideointelligenceV1beta1_LabelLocation" }, - "GoogleCloudVideointelligenceV1beta1_VideoSegment": { + "GoogleCloudVideointelligenceV1beta2_LabelFrame": { + "description": "Video frame level annotation results for label detection.", + "type": "object", "properties": { - "endTimeOffset": { - "description": "End offset in microseconds (inclusive). Unset means 0.", - "format": "int64", - "type": "string" + "confidence": { + "format": "float", + "description": "Confidence that the label is accurate. Range: [0, 1].", + "type": "number" }, - "startTimeOffset": { - "description": "Start offset in microseconds (inclusive). Unset means 0.", - "format": "int64", + "timeOffset": { + "format": "google-duration", + "description": "Time-offset, relative to the beginning of the video, corresponding to the\nvideo frame for this location.", "type": "string" } }, - "id": "GoogleCloudVideointelligenceV1beta1_VideoSegment", - "description": "Video segment.", - "type": "object" + "id": "GoogleCloudVideointelligenceV1beta2_LabelFrame" + }, + "GoogleCloudVideointelligenceV1beta2_AnnotateVideoProgress": { + "description": "Video annotation progress. Included in the `metadata`\nfield of the `Operation` returned by the `GetOperation`\ncall of the `google::longrunning::Operations` service.", + "type": "object", + "properties": { + "annotationProgress": { + "description": "Progress metadata for all videos specified in `AnnotateVideoRequest`.", + "items": { + "$ref": "GoogleCloudVideointelligenceV1beta2_VideoAnnotationProgress" + }, + "type": "array" + } + }, + "id": "GoogleCloudVideointelligenceV1beta2_AnnotateVideoProgress" + }, + "GoogleCloudVideointelligenceV1_VideoAnnotationProgress": { + "description": "Annotation progress for a single video.", + "type": "object", + "properties": { + "progressPercent": { + "format": "int32", + "description": "Approximate percentage processed thus far.\nGuaranteed to be 100 when fully processed.", + "type": "integer" + }, + "updateTime": { + "format": "google-datetime", + "description": "Time of the most recent update.", + "type": "string" + }, + "startTime": { + "format": "google-datetime", + "description": "Time when the request was received.", + "type": "string" + }, + "inputUri": { + "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", + "type": "string" + } + }, + "id": "GoogleCloudVideointelligenceV1_VideoAnnotationProgress" + }, + "GoogleCloudVideointelligenceV1_AnnotateVideoProgress": { + "description": "Video annotation progress. Included in the `metadata`\nfield of the `Operation` returned by the `GetOperation`\ncall of the `google::longrunning::Operations` service.", + "type": "object", + "properties": { + "annotationProgress": { + "description": "Progress metadata for all videos specified in `AnnotateVideoRequest`.", + "items": { + "$ref": "GoogleCloudVideointelligenceV1_VideoAnnotationProgress" + }, + "type": "array" + } + }, + "id": "GoogleCloudVideointelligenceV1_AnnotateVideoProgress" }, "GoogleLongrunning_Operation": { "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", "type": "object", "properties": { "done": { - "description": "If the value is `false`, it means the operation is still in progress.\nIf true, the operation is completed, and either `error` or `response` is\navailable.", + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", "type": "boolean" }, "response": { @@ -141,8 +443,8 @@ "type": "string" }, "error": { - "$ref": "GoogleRpc_Status", - "description": "The error result of the operation in case of failure or cancellation." + "description": "The error result of the operation in case of failure or cancellation.", + "$ref": "GoogleRpc_Status" }, "metadata": { "additionalProperties": { @@ -160,15 +462,22 @@ "type": "object", "properties": { "error": { - "$ref": "GoogleRpc_Status", - "description": "If set, indicates an error. Note that for a single `AnnotateVideoRequest`\nsome videos may succeed and some may fail." + "description": "If set, indicates an error. Note that for a single `AnnotateVideoRequest`\nsome videos may succeed and some may fail.", + "$ref": "GoogleRpc_Status" }, "shotAnnotations": { "description": "Shot annotations. Each shot is represented as a video segment.", - "type": "array", "items": { "$ref": "GoogleCloudVideointelligenceV1beta1_VideoSegment" - } + }, + "type": "array" + }, + "safeSearchAnnotations": { + "description": "Safe search annotations.", + "items": { + "$ref": "GoogleCloudVideointelligenceV1beta1_SafeSearchAnnotation" + }, + "type": "array" }, "inputUri": { "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", @@ -176,35 +485,53 @@ }, "labelAnnotations": { "description": "Label annotations. There is exactly one element for each unique label.", - "type": "array", "items": { "$ref": "GoogleCloudVideointelligenceV1beta1_LabelAnnotation" - } + }, + "type": "array" } }, "id": "GoogleCloudVideointelligenceV1beta1_VideoAnnotationResults" }, - "GoogleCloudVideointelligenceV1beta1_LabelAnnotation": { - "description": "Label annotation.", + "GoogleCloudVideointelligenceV1beta2_VideoAnnotationProgress": { + "description": "Annotation progress for a single video.", "type": "object", "properties": { - "languageCode": { - "description": "Language code for `description` in BCP-47 format.", + "progressPercent": { + "format": "int32", + "description": "Approximate percentage processed thus far.\nGuaranteed to be 100 when fully processed.", + "type": "integer" + }, + "updateTime": { + "format": "google-datetime", + "description": "Time of the most recent update.", "type": "string" }, - "description": { - "description": "Textual description, e.g. `Fixed-gear bicycle`.", + "startTime": { + "format": "google-datetime", + "description": "Time when the request was received.", "type": "string" }, - "locations": { - "description": "Where the label was detected and with what confidence.", - "type": "array", - "items": { - "$ref": "GoogleCloudVideointelligenceV1beta1_LabelLocation" - } + "inputUri": { + "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", + "type": "string" } }, - "id": "GoogleCloudVideointelligenceV1beta1_LabelAnnotation" + "id": "GoogleCloudVideointelligenceV1beta2_VideoAnnotationProgress" + }, + "GoogleCloudVideointelligenceV1_AnnotateVideoResponse": { + "description": "Video annotation response. Included in the `response`\nfield of the `Operation` returned by the `GetOperation`\ncall of the `google::longrunning::Operations` service.", + "type": "object", + "properties": { + "annotationResults": { + "description": "Annotation results for all videos specified in `AnnotateVideoRequest`.", + "items": { + "$ref": "GoogleCloudVideointelligenceV1_VideoAnnotationResults" + }, + "type": "array" + } + }, + "id": "GoogleCloudVideointelligenceV1_AnnotateVideoResponse" }, "GoogleCloudVideointelligenceV1beta1_AnnotateVideoResponse": { "description": "Video annotation response. Included in the `response`\nfield of the `Operation` returned by the `GetOperation`\ncall of the `google::longrunning::Operations` service.", @@ -212,104 +539,340 @@ "properties": { "annotationResults": { "description": "Annotation results for all videos specified in `AnnotateVideoRequest`.", - "type": "array", "items": { "$ref": "GoogleCloudVideointelligenceV1beta1_VideoAnnotationResults" - } + }, + "type": "array" } }, "id": "GoogleCloudVideointelligenceV1beta1_AnnotateVideoResponse" }, - "GoogleCloudVideointelligenceV1beta1_VideoContext": { - "properties": { - "shotChangeDetectionModel": { - "description": "Model to use for shot change detection.\nSupported values: \"latest\" and \"stable\" (the default).", - "type": "string" - }, - "segments": { - "description": "Video segments to annotate. The segments may overlap and are not required\nto be contiguous or span the whole video. If unspecified, each video\nis treated as a single segment.", - "type": "array", - "items": { - "$ref": "GoogleCloudVideointelligenceV1beta1_VideoSegment" - } - }, - "labelDetectionModel": { - "description": "Model to use for label detection.\nSupported values: \"latest\" and \"stable\" (the default).", - "type": "string" - }, - "labelDetectionMode": { - "enumDescriptions": [ - "Unspecified.", - "Detect shot-level labels.", - "Detect frame-level labels.", - "Detect both shot-level and frame-level labels." - ], - "enum": [ - "LABEL_DETECTION_MODE_UNSPECIFIED", - "SHOT_MODE", - "FRAME_MODE", - "SHOT_AND_FRAME_MODE" - ], - "description": "If label detection has been requested, what labels should be detected\nin addition to video-level labels or segment-level labels. If unspecified,\ndefaults to `SHOT_MODE`.", - "type": "string" - } - }, - "id": "GoogleCloudVideointelligenceV1beta1_VideoContext", - "description": "Video context and/or feature-specific parameters.", - "type": "object" - }, "GoogleCloudVideointelligenceV1beta1_VideoAnnotationProgress": { "description": "Annotation progress for a single video.", "type": "object", "properties": { - "updateTime": { - "description": "Time of the most recent update.", - "format": "google-datetime", - "type": "string" - }, - "startTime": { - "description": "Time when the request was received.", - "format": "google-datetime", - "type": "string" - }, "inputUri": { "description": "Video file location in\n[Google Cloud Storage](https://cloud.google.com/storage/).", "type": "string" }, "progressPercent": { - "description": "Approximate percentage processed thus far.\nGuaranteed to be 100 when fully processed.", "format": "int32", + "description": "Approximate percentage processed thus far.\nGuaranteed to be 100 when fully processed.", "type": "integer" + }, + "updateTime": { + "format": "google-datetime", + "description": "Time of the most recent update.", + "type": "string" + }, + "startTime": { + "format": "google-datetime", + "description": "Time when the request was received.", + "type": "string" } }, "id": "GoogleCloudVideointelligenceV1beta1_VideoAnnotationProgress" }, - "GoogleRpc_Status": { + "GoogleCloudVideointelligenceV1beta2_ExplicitContentFrame": { + "description": "Video frame level annotation results for explicit content.", + "type": "object", "properties": { - "code": { - "description": "The status code, which should be an enum value of google.rpc.Code.", - "format": "int32", - "type": "integer" - }, - "message": { - "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "pornographyLikelihood": { + "enumDescriptions": [ + "Unspecified likelihood.", + "Very unlikely.", + "Unlikely.", + "Possible.", + "Likely.", + "Very likely." + ], + "enum": [ + "LIKELIHOOD_UNSPECIFIED", + "VERY_UNLIKELY", + "UNLIKELY", + "POSSIBLE", + "LIKELY", + "VERY_LIKELY" + ], + "description": "Likelihood of the pornography content..", "type": "string" }, - "details": { - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", - "type": "array", - "items": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "type": "object" - } + "timeOffset": { + "format": "google-duration", + "description": "Time-offset, relative to the beginning of the video, corresponding to the\nvideo frame for this location.", + "type": "string" } }, - "id": "GoogleRpc_Status", - "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", - "type": "object" + "id": "GoogleCloudVideointelligenceV1beta2_ExplicitContentFrame" + }, + "GoogleCloudVideointelligenceV1beta1_AnnotateVideoRequest": { + "description": "Video annotation request.", + "type": "object", + "properties": { + "features": { + "enumDescriptions": [ + "Unspecified.", + "Label detection. Detect objects, such as dog or flower.", + "Shot change detection.", + "Safe search detection." + ], + "description": "Requested video annotation features.", + "items": { + "type": "string", + "enum": [ + "FEATURE_UNSPECIFIED", + "LABEL_DETECTION", + "SHOT_CHANGE_DETECTION", + "SAFE_SEARCH_DETECTION" + ] + }, + "type": "array" + }, + "outputUri": { + "description": "Optional location where the output (in JSON format) should be stored.\nCurrently, only [Google Cloud Storage](https://cloud.google.com/storage/)\nURIs are supported, which must be specified in the following format:\n`gs://bucket-id/object-id` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](/storage/docs/reference-uris).", + "type": "string" + }, + "videoContext": { + "$ref": "GoogleCloudVideointelligenceV1beta1_VideoContext", + "description": "Additional video context and/or feature-specific parameters." + }, + "locationId": { + "description": "Optional cloud region where annotation should take place. Supported cloud\nregions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region\nis specified, a region will be determined based on video file location.", + "type": "string" + }, + "inputUri": { + "description": "Input video location. Currently, only\n[Google Cloud Storage](https://cloud.google.com/storage/) URIs are\nsupported, which must be specified in the following format:\n`gs://bucket-id/object-id` (other URI formats return\ngoogle.rpc.Code.INVALID_ARGUMENT). For more information, see\n[Request URIs](/storage/docs/reference-uris).\nA video URI may include wildcards in `object-id`, and thus identify\nmultiple videos. Supported wildcards: '*' to match 0 or more characters;\n'?' to match 1 character. If unset, the input video should be embedded\nin the request as `input_content`. If set, `input_content` should be unset.", + "type": "string" + }, + "inputContent": { + "description": "The video data bytes. Encoding: base64. If unset, the input video(s)\nshould be specified via `input_uri`. If set, `input_uri` should be unset.", + "type": "string" + } + }, + "id": "GoogleCloudVideointelligenceV1beta1_AnnotateVideoRequest" + }, + "GoogleCloudVideointelligenceV1beta1_VideoSegment": { + "description": "Video segment.", + "type": "object", + "properties": { + "endTimeOffset": { + "format": "int64", + "description": "End offset in microseconds (inclusive). Unset means 0.", + "type": "string" + }, + "startTimeOffset": { + "format": "int64", + "description": "Start offset in microseconds (inclusive). Unset means 0.", + "type": "string" + } + }, + "id": "GoogleCloudVideointelligenceV1beta1_VideoSegment" + }, + "GoogleCloudVideointelligenceV1beta2_LabelSegment": { + "description": "Video segment level annotation results for label detection.", + "type": "object", + "properties": { + "confidence": { + "format": "float", + "description": "Confidence that the label is accurate. Range: [0, 1].", + "type": "number" + }, + "segment": { + "description": "Video segment where a label was detected.", + "$ref": "GoogleCloudVideointelligenceV1beta2_VideoSegment" + } + }, + "id": "GoogleCloudVideointelligenceV1beta2_LabelSegment" + }, + "GoogleCloudVideointelligenceV1_SafeSearchAnnotation": { + "description": "Safe search annotation (based on per-frame visual signals only).\nIf no unsafe content has been detected in a frame, no annotations\nare present for that frame.", + "type": "object", + "properties": { + "time": { + "format": "google-duration", + "description": "Time-offset, relative to the beginning of the video,\ncorresponding to the video frame for this annotation.", + "type": "string" + }, + "adult": { + "enumDescriptions": [ + "Unknown likelihood.", + "Very unlikely.", + "Unlikely.", + "Possible.", + "Likely.", + "Very likely." + ], + "enum": [ + "UNKNOWN", + "VERY_UNLIKELY", + "UNLIKELY", + "POSSIBLE", + "LIKELY", + "VERY_LIKELY" + ], + "description": "Likelihood of adult content.", + "type": "string" + } + }, + "id": "GoogleCloudVideointelligenceV1_SafeSearchAnnotation" + }, + "GoogleCloudVideointelligenceV1beta2_LabelAnnotation": { + "description": "Label annotation.", + "type": "object", + "properties": { + "entity": { + "description": "Detected entity.", + "$ref": "GoogleCloudVideointelligenceV1beta2_Entity" + }, + "frames": { + "description": "All video frames where a label was detected.", + "items": { + "$ref": "GoogleCloudVideointelligenceV1beta2_LabelFrame" + }, + "type": "array" + }, + "segments": { + "description": "All video segments where a label was detected.", + "items": { + "$ref": "GoogleCloudVideointelligenceV1beta2_LabelSegment" + }, + "type": "array" + }, + "categoryEntities": { + "description": "Common categories for the detected entity.\nE.g. when the label is `Terrier` the category is likely `dog`. And in some\ncases there might be more than one categories e.g. `Terrier` could also be\na `pet`.", + "items": { + "$ref": "GoogleCloudVideointelligenceV1beta2_Entity" + }, + "type": "array" + } + }, + "id": "GoogleCloudVideointelligenceV1beta2_LabelAnnotation" + }, + "GoogleCloudVideointelligenceV1beta1_SafeSearchAnnotation": { + "description": "Safe search annotation (based on per-frame visual signals only).\nIf no unsafe content has been detected in a frame, no annotations\nare present for that frame. If only some types of unsafe content\nhave been detected in a frame, the likelihood is set to `UNKNOWN`\nfor all other types of unsafe content.", + "type": "object", + "properties": { + "adult": { + "enumDescriptions": [ + "Unknown likelihood.", + "Very unlikely.", + "Unlikely.", + "Possible.", + "Likely.", + "Very likely." + ], + "enum": [ + "UNKNOWN", + "VERY_UNLIKELY", + "UNLIKELY", + "POSSIBLE", + "LIKELY", + "VERY_LIKELY" + ], + "description": "Likelihood of adult content.", + "type": "string" + }, + "racy": { + "enumDescriptions": [ + "Unknown likelihood.", + "Very unlikely.", + "Unlikely.", + "Possible.", + "Likely.", + "Very likely." + ], + "enum": [ + "UNKNOWN", + "VERY_UNLIKELY", + "UNLIKELY", + "POSSIBLE", + "LIKELY", + "VERY_LIKELY" + ], + "description": "Likelihood of racy content.", + "type": "string" + }, + "timeOffset": { + "format": "int64", + "description": "Video time offset in microseconds.", + "type": "string" + }, + "spoof": { + "enumDescriptions": [ + "Unknown likelihood.", + "Very unlikely.", + "Unlikely.", + "Possible.", + "Likely.", + "Very likely." + ], + "enum": [ + "UNKNOWN", + "VERY_UNLIKELY", + "UNLIKELY", + "POSSIBLE", + "LIKELY", + "VERY_LIKELY" + ], + "description": "Likelihood that an obvious modification was made to the original\nversion to make it appear funny or offensive.", + "type": "string" + }, + "violent": { + "enumDescriptions": [ + "Unknown likelihood.", + "Very unlikely.", + "Unlikely.", + "Possible.", + "Likely.", + "Very likely." + ], + "enum": [ + "UNKNOWN", + "VERY_UNLIKELY", + "UNLIKELY", + "POSSIBLE", + "LIKELY", + "VERY_LIKELY" + ], + "description": "Likelihood of violent content.", + "type": "string" + }, + "medical": { + "enumDescriptions": [ + "Unknown likelihood.", + "Very unlikely.", + "Unlikely.", + "Possible.", + "Likely.", + "Very likely." + ], + "enum": [ + "UNKNOWN", + "VERY_UNLIKELY", + "UNLIKELY", + "POSSIBLE", + "LIKELY", + "VERY_LIKELY" + ], + "description": "Likelihood of medical content.", + "type": "string" + } + }, + "id": "GoogleCloudVideointelligenceV1beta1_SafeSearchAnnotation" + }, + "GoogleCloudVideointelligenceV1beta1_AnnotateVideoProgress": { + "description": "Video annotation progress. Included in the `metadata`\nfield of the `Operation` returned by the `GetOperation`\ncall of the `google::longrunning::Operations` service.", + "type": "object", + "properties": { + "annotationProgress": { + "description": "Progress metadata for all videos specified in `AnnotateVideoRequest`.", + "items": { + "$ref": "GoogleCloudVideointelligenceV1beta1_VideoAnnotationProgress" + }, + "type": "array" + } + }, + "id": "GoogleCloudVideointelligenceV1beta1_AnnotateVideoProgress" } }, "icons": { @@ -331,51 +894,56 @@ "ownerDomain": "google.com", "name": "videointelligence", "batchPath": "batch", - "title": "Google Cloud Video Intelligence API", + "title": "Cloud Video Intelligence API", "ownerName": "Google", "resources": { "videos": { "methods": { "annotate": { - "flatPath": "v1beta1/videos:annotate", - "id": "videointelligence.videos.annotate", - "path": "v1beta1/videos:annotate", - "request": { - "$ref": "GoogleCloudVideointelligenceV1beta1_AnnotateVideoRequest" - }, - "description": "Performs asynchronous video annotation. Progress and results can be\nretrieved through the `google.longrunning.Operations` interface.\n`Operation.metadata` contains `AnnotateVideoProgress` (progress).\n`Operation.response` contains `AnnotateVideoResponse` (results).", "httpMethod": "POST", "parameterOrder": [], "response": { "$ref": "GoogleLongrunning_Operation" }, - "parameters": {}, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" - ] + ], + "parameters": {}, + "flatPath": "v1beta1/videos:annotate", + "path": "v1beta1/videos:annotate", + "id": "videointelligence.videos.annotate", + "request": { + "$ref": "GoogleCloudVideointelligenceV1beta1_AnnotateVideoRequest" + }, + "description": "Performs asynchronous video annotation. Progress and results can be\nretrieved through the `google.longrunning.Operations` interface.\n`Operation.metadata` contains `AnnotateVideoProgress` (progress).\n`Operation.response` contains `AnnotateVideoResponse` (results)." } } } }, "parameters": { "upload_protocol": { - "location": "query", "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string" - }, - "prettyPrint": { - "description": "Returns response with indentations and line breaks.", - "type": "boolean", - "default": "true", - "location": "query" - }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", "type": "string", "location": "query" }, + "prettyPrint": { + "location": "query", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "type": "boolean" + }, + "uploadType": { + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" + }, "fields": { + "location": "query", "description": "Selector specifying which fields to include in a partial response.", + "type": "string" + }, + "callback": { + "description": "JSONP", "type": "string", "location": "query" }, @@ -392,11 +960,6 @@ "description": "V1 error format.", "type": "string" }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, "alt": { "description": "Data format for response.", "default": "json", @@ -414,35 +977,44 @@ "location": "query" }, "key": { + "location": "query", "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string", - "location": "query" + "type": "string" }, "access_token": { + "location": "query", "description": "OAuth access token.", - "type": "string", - "location": "query" + "type": "string" }, "quotaUser": { - "location": "query", "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string" + "type": "string", + "location": "query" }, "pp": { "description": "Pretty-print response.", - "type": "boolean", "default": "true", + "type": "boolean", "location": "query" }, "oauth_token": { + "location": "query", "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" + "type": "string" }, "bearer_token": { "description": "OAuth bearer token.", "type": "string", "location": "query" } - } + }, + "version": "v1beta1", + "baseUrl": "https://videointelligence.googleapis.com/", + "kind": "discovery#restDescription", + "description": "Cloud Video Intelligence API.", + "servicePath": "", + "basePath": "", + "revision": "20170925", + "documentationLink": "https://cloud.google.com/video-intelligence/docs/", + "id": "videointelligence:v1beta1" } diff --git a/vendor/google.golang.org/api/videointelligence/v1beta1/videointelligence-gen.go b/vendor/google.golang.org/api/videointelligence/v1beta1/videointelligence-gen.go index 114f65e40..53f910b60 100644 --- a/vendor/google.golang.org/api/videointelligence/v1beta1/videointelligence-gen.go +++ b/vendor/google.golang.org/api/videointelligence/v1beta1/videointelligence-gen.go @@ -1,4 +1,4 @@ -// Package videointelligence provides access to the Google Cloud Video Intelligence API. +// Package videointelligence provides access to the Cloud Video Intelligence API. // // See https://cloud.google.com/video-intelligence/docs/ // @@ -84,6 +84,333 @@ type VideosService struct { s *Service } +// GoogleCloudVideointelligenceV1AnnotateVideoProgress: Video annotation +// progress. Included in the `metadata` +// field of the `Operation` returned by the `GetOperation` +// call of the `google::longrunning::Operations` service. +type GoogleCloudVideointelligenceV1AnnotateVideoProgress struct { + // AnnotationProgress: Progress metadata for all videos specified in + // `AnnotateVideoRequest`. + AnnotationProgress []*GoogleCloudVideointelligenceV1VideoAnnotationProgress `json:"annotationProgress,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AnnotationProgress") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AnnotationProgress") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudVideointelligenceV1AnnotateVideoProgress) MarshalJSON() ([]byte, error) { + type noMethod GoogleCloudVideointelligenceV1AnnotateVideoProgress + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudVideointelligenceV1AnnotateVideoResponse: Video annotation +// response. Included in the `response` +// field of the `Operation` returned by the `GetOperation` +// call of the `google::longrunning::Operations` service. +type GoogleCloudVideointelligenceV1AnnotateVideoResponse struct { + // AnnotationResults: Annotation results for all videos specified in + // `AnnotateVideoRequest`. + AnnotationResults []*GoogleCloudVideointelligenceV1VideoAnnotationResults `json:"annotationResults,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AnnotationResults") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AnnotationResults") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudVideointelligenceV1AnnotateVideoResponse) MarshalJSON() ([]byte, error) { + type noMethod GoogleCloudVideointelligenceV1AnnotateVideoResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudVideointelligenceV1LabelAnnotation: Label annotation. +type GoogleCloudVideointelligenceV1LabelAnnotation struct { + // Description: Textual description, e.g. `Fixed-gear bicycle`. + Description string `json:"description,omitempty"` + + // LanguageCode: Language code for `description` in BCP-47 format. + LanguageCode string `json:"languageCode,omitempty"` + + // Locations: Where the label was detected and with what confidence. + Locations []*GoogleCloudVideointelligenceV1LabelLocation `json:"locations,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Description") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudVideointelligenceV1LabelAnnotation) MarshalJSON() ([]byte, error) { + type noMethod GoogleCloudVideointelligenceV1LabelAnnotation + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudVideointelligenceV1LabelLocation: Label location. +type GoogleCloudVideointelligenceV1LabelLocation struct { + // Confidence: Confidence that the label is accurate. Range: [0, 1]. + Confidence float64 `json:"confidence,omitempty"` + + // Level: Label level. + // + // Possible values: + // "LABEL_LEVEL_UNSPECIFIED" - Unspecified. + // "VIDEO_LEVEL" - Video-level. Corresponds to the whole video. + // "SEGMENT_LEVEL" - Segment-level. Corresponds to one of + // `AnnotateSpec.segments`. + // "SHOT_LEVEL" - Shot-level. Corresponds to a single shot (i.e. a + // series of frames + // without a major camera position or background change). + // "FRAME_LEVEL" - Frame-level. Corresponds to a single video frame. + Level string `json:"level,omitempty"` + + // Segment: Video segment. Unset for video-level labels. + // Set to a frame timestamp for frame-level labels. + // Otherwise, corresponds to one of `AnnotateSpec.segments` + // (if specified) or to shot boundaries (if requested). + Segment *GoogleCloudVideointelligenceV1VideoSegment `json:"segment,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Confidence") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Confidence") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudVideointelligenceV1LabelLocation) MarshalJSON() ([]byte, error) { + type noMethod GoogleCloudVideointelligenceV1LabelLocation + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *GoogleCloudVideointelligenceV1LabelLocation) UnmarshalJSON(data []byte) error { + type noMethod GoogleCloudVideointelligenceV1LabelLocation + var s1 struct { + Confidence gensupport.JSONFloat64 `json:"confidence"` + *noMethod + } + s1.noMethod = (*noMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Confidence = float64(s1.Confidence) + return nil +} + +// GoogleCloudVideointelligenceV1SafeSearchAnnotation: Safe search +// annotation (based on per-frame visual signals only). +// If no unsafe content has been detected in a frame, no annotations +// are present for that frame. +type GoogleCloudVideointelligenceV1SafeSearchAnnotation struct { + // Adult: Likelihood of adult content. + // + // Possible values: + // "UNKNOWN" - Unknown likelihood. + // "VERY_UNLIKELY" - Very unlikely. + // "UNLIKELY" - Unlikely. + // "POSSIBLE" - Possible. + // "LIKELY" - Likely. + // "VERY_LIKELY" - Very likely. + Adult string `json:"adult,omitempty"` + + // Time: Time-offset, relative to the beginning of the + // video, + // corresponding to the video frame for this annotation. + Time string `json:"time,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Adult") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Adult") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudVideointelligenceV1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { + type noMethod GoogleCloudVideointelligenceV1SafeSearchAnnotation + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudVideointelligenceV1VideoAnnotationProgress: Annotation +// progress for a single video. +type GoogleCloudVideointelligenceV1VideoAnnotationProgress struct { + // InputUri: Video file location in + // [Google Cloud Storage](https://cloud.google.com/storage/). + InputUri string `json:"inputUri,omitempty"` + + // ProgressPercent: Approximate percentage processed thus + // far. + // Guaranteed to be 100 when fully processed. + ProgressPercent int64 `json:"progressPercent,omitempty"` + + // StartTime: Time when the request was received. + StartTime string `json:"startTime,omitempty"` + + // UpdateTime: Time of the most recent update. + UpdateTime string `json:"updateTime,omitempty"` + + // ForceSendFields is a list of field names (e.g. "InputUri") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "InputUri") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudVideointelligenceV1VideoAnnotationProgress) MarshalJSON() ([]byte, error) { + type noMethod GoogleCloudVideointelligenceV1VideoAnnotationProgress + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudVideointelligenceV1VideoAnnotationResults: Annotation +// results for a single video. +type GoogleCloudVideointelligenceV1VideoAnnotationResults struct { + // Error: If set, indicates an error. Note that for a single + // `AnnotateVideoRequest` + // some videos may succeed and some may fail. + Error *GoogleRpcStatus `json:"error,omitempty"` + + // InputUri: Video file location in + // [Google Cloud Storage](https://cloud.google.com/storage/). + InputUri string `json:"inputUri,omitempty"` + + // LabelAnnotations: Label annotations. There is exactly one element for + // each unique label. + LabelAnnotations []*GoogleCloudVideointelligenceV1LabelAnnotation `json:"labelAnnotations,omitempty"` + + // SafeSearchAnnotations: Safe search annotations. + SafeSearchAnnotations []*GoogleCloudVideointelligenceV1SafeSearchAnnotation `json:"safeSearchAnnotations,omitempty"` + + // ShotAnnotations: Shot annotations. Each shot is represented as a + // video segment. + ShotAnnotations []*GoogleCloudVideointelligenceV1VideoSegment `json:"shotAnnotations,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Error") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Error") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudVideointelligenceV1VideoAnnotationResults) MarshalJSON() ([]byte, error) { + type noMethod GoogleCloudVideointelligenceV1VideoAnnotationResults + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudVideointelligenceV1VideoSegment: Video segment. +type GoogleCloudVideointelligenceV1VideoSegment struct { + // EndTime: Time-offset, relative to the beginning of the + // video, + // corresponding to the end of the segment (inclusive). + EndTime string `json:"endTime,omitempty"` + + // StartTime: Time-offset, relative to the beginning of the + // video, + // corresponding to the start of the segment (inclusive). + 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 values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudVideointelligenceV1VideoSegment) MarshalJSON() ([]byte, error) { + type noMethod GoogleCloudVideointelligenceV1VideoSegment + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudVideointelligenceV1beta1AnnotateVideoProgress: Video // annotation progress. Included in the `metadata` // field of the `Operation` returned by the `GetOperation` @@ -127,6 +454,7 @@ type GoogleCloudVideointelligenceV1beta1AnnotateVideoRequest struct { // "LABEL_DETECTION" - Label detection. Detect objects, such as dog or // flower. // "SHOT_CHANGE_DETECTION" - Shot change detection. + // "SAFE_SEARCH_DETECTION" - Safe search detection. Features []string `json:"features,omitempty"` // InputContent: The video data bytes. Encoding: base64. If unset, the @@ -329,6 +657,96 @@ func (s *GoogleCloudVideointelligenceV1beta1LabelLocation) UnmarshalJSON(data [] return nil } +// GoogleCloudVideointelligenceV1beta1SafeSearchAnnotation: Safe search +// annotation (based on per-frame visual signals only). +// If no unsafe content has been detected in a frame, no annotations +// are present for that frame. If only some types of unsafe content +// have been detected in a frame, the likelihood is set to `UNKNOWN` +// for all other types of unsafe content. +type GoogleCloudVideointelligenceV1beta1SafeSearchAnnotation struct { + // Adult: Likelihood of adult content. + // + // Possible values: + // "UNKNOWN" - Unknown likelihood. + // "VERY_UNLIKELY" - Very unlikely. + // "UNLIKELY" - Unlikely. + // "POSSIBLE" - Possible. + // "LIKELY" - Likely. + // "VERY_LIKELY" - Very likely. + Adult string `json:"adult,omitempty"` + + // Medical: Likelihood of medical content. + // + // Possible values: + // "UNKNOWN" - Unknown likelihood. + // "VERY_UNLIKELY" - Very unlikely. + // "UNLIKELY" - Unlikely. + // "POSSIBLE" - Possible. + // "LIKELY" - Likely. + // "VERY_LIKELY" - Very likely. + Medical string `json:"medical,omitempty"` + + // Racy: Likelihood of racy content. + // + // Possible values: + // "UNKNOWN" - Unknown likelihood. + // "VERY_UNLIKELY" - Very unlikely. + // "UNLIKELY" - Unlikely. + // "POSSIBLE" - Possible. + // "LIKELY" - Likely. + // "VERY_LIKELY" - Very likely. + Racy string `json:"racy,omitempty"` + + // Spoof: Likelihood that an obvious modification was made to the + // original + // version to make it appear funny or offensive. + // + // Possible values: + // "UNKNOWN" - Unknown likelihood. + // "VERY_UNLIKELY" - Very unlikely. + // "UNLIKELY" - Unlikely. + // "POSSIBLE" - Possible. + // "LIKELY" - Likely. + // "VERY_LIKELY" - Very likely. + Spoof string `json:"spoof,omitempty"` + + // TimeOffset: Video time offset in microseconds. + TimeOffset int64 `json:"timeOffset,omitempty,string"` + + // Violent: Likelihood of violent content. + // + // Possible values: + // "UNKNOWN" - Unknown likelihood. + // "VERY_UNLIKELY" - Very unlikely. + // "UNLIKELY" - Unlikely. + // "POSSIBLE" - Possible. + // "LIKELY" - Likely. + // "VERY_LIKELY" - Very likely. + Violent string `json:"violent,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Adult") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Adult") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudVideointelligenceV1beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { + type noMethod GoogleCloudVideointelligenceV1beta1SafeSearchAnnotation + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudVideointelligenceV1beta1VideoAnnotationProgress: // Annotation progress for a single video. type GoogleCloudVideointelligenceV1beta1VideoAnnotationProgress struct { @@ -386,6 +804,9 @@ type GoogleCloudVideointelligenceV1beta1VideoAnnotationResults struct { // each unique label. LabelAnnotations []*GoogleCloudVideointelligenceV1beta1LabelAnnotation `json:"labelAnnotations,omitempty"` + // SafeSearchAnnotations: Safe search annotations. + SafeSearchAnnotations []*GoogleCloudVideointelligenceV1beta1SafeSearchAnnotation `json:"safeSearchAnnotations,omitempty"` + // ShotAnnotations: Shot annotations. Each shot is represented as a // video segment. ShotAnnotations []*GoogleCloudVideointelligenceV1beta1VideoSegment `json:"shotAnnotations,omitempty"` @@ -434,6 +855,11 @@ type GoogleCloudVideointelligenceV1beta1VideoContext struct { // Supported values: "latest" and "stable" (the default). LabelDetectionModel string `json:"labelDetectionModel,omitempty"` + // SafeSearchDetectionModel: Model to use for safe search + // detection. + // Supported values: "latest" and "stable" (the default). + SafeSearchDetectionModel string `json:"safeSearchDetectionModel,omitempty"` + // Segments: Video segments to annotate. The segments may overlap and // are not required // to be contiguous or span the whole video. If unspecified, each @@ -446,6 +872,12 @@ type GoogleCloudVideointelligenceV1beta1VideoContext struct { // Supported values: "latest" and "stable" (the default). ShotChangeDetectionModel string `json:"shotChangeDetectionModel,omitempty"` + // StationaryCamera: Whether the video has been shot from a stationary + // (i.e. non-moving) camera. + // When set to true, might improve detection accuracy for moving + // objects. + StationaryCamera bool `json:"stationaryCamera,omitempty"` + // ForceSendFields is a list of field names (e.g. "LabelDetectionMode") // to unconditionally include in API requests. By default, fields with // empty values are omitted from API requests. However, any non-pointer, @@ -502,14 +934,463 @@ func (s *GoogleCloudVideointelligenceV1beta1VideoSegment) MarshalJSON() ([]byte, return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudVideointelligenceV1beta2AnnotateVideoProgress: Video +// annotation progress. Included in the `metadata` +// field of the `Operation` returned by the `GetOperation` +// call of the `google::longrunning::Operations` service. +type GoogleCloudVideointelligenceV1beta2AnnotateVideoProgress struct { + // AnnotationProgress: Progress metadata for all videos specified in + // `AnnotateVideoRequest`. + AnnotationProgress []*GoogleCloudVideointelligenceV1beta2VideoAnnotationProgress `json:"annotationProgress,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AnnotationProgress") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AnnotationProgress") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudVideointelligenceV1beta2AnnotateVideoProgress) MarshalJSON() ([]byte, error) { + type noMethod GoogleCloudVideointelligenceV1beta2AnnotateVideoProgress + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudVideointelligenceV1beta2AnnotateVideoResponse: Video +// annotation response. Included in the `response` +// field of the `Operation` returned by the `GetOperation` +// call of the `google::longrunning::Operations` service. +type GoogleCloudVideointelligenceV1beta2AnnotateVideoResponse struct { + // AnnotationResults: Annotation results for all videos specified in + // `AnnotateVideoRequest`. + AnnotationResults []*GoogleCloudVideointelligenceV1beta2VideoAnnotationResults `json:"annotationResults,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AnnotationResults") + // to unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AnnotationResults") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudVideointelligenceV1beta2AnnotateVideoResponse) MarshalJSON() ([]byte, error) { + type noMethod GoogleCloudVideointelligenceV1beta2AnnotateVideoResponse + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudVideointelligenceV1beta2Entity: Detected entity from video +// analysis. +type GoogleCloudVideointelligenceV1beta2Entity struct { + // Description: Textual description, e.g. `Fixed-gear bicycle`. + Description string `json:"description,omitempty"` + + // EntityId: Opaque entity ID. Some IDs may be available in + // [Google Knowledge Graph + // Search + // API](https://developers.google.com/knowledge-graph/). + EntityId string `json:"entityId,omitempty"` + + // LanguageCode: Language code for `description` in BCP-47 format. + LanguageCode string `json:"languageCode,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Description") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + 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. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudVideointelligenceV1beta2Entity) MarshalJSON() ([]byte, error) { + type noMethod GoogleCloudVideointelligenceV1beta2Entity + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudVideointelligenceV1beta2ExplicitContentAnnotation: +// Explicit content annotation (based on per-frame visual signals +// only). +// If no explicit content has been detected in a frame, no annotations +// are +// present for that frame. +type GoogleCloudVideointelligenceV1beta2ExplicitContentAnnotation struct { + // Frames: All video frames where explicit content was detected. + Frames []*GoogleCloudVideointelligenceV1beta2ExplicitContentFrame `json:"frames,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Frames") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Frames") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudVideointelligenceV1beta2ExplicitContentAnnotation) MarshalJSON() ([]byte, error) { + type noMethod GoogleCloudVideointelligenceV1beta2ExplicitContentAnnotation + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudVideointelligenceV1beta2ExplicitContentFrame: Video frame +// level annotation results for explicit content. +type GoogleCloudVideointelligenceV1beta2ExplicitContentFrame struct { + // PornographyLikelihood: Likelihood of the pornography content.. + // + // Possible values: + // "LIKELIHOOD_UNSPECIFIED" - Unspecified likelihood. + // "VERY_UNLIKELY" - Very unlikely. + // "UNLIKELY" - Unlikely. + // "POSSIBLE" - Possible. + // "LIKELY" - Likely. + // "VERY_LIKELY" - Very likely. + PornographyLikelihood string `json:"pornographyLikelihood,omitempty"` + + // TimeOffset: Time-offset, relative to the beginning of the video, + // corresponding to the + // video frame for this location. + TimeOffset string `json:"timeOffset,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "PornographyLikelihood") to unconditionally include in API requests. + // By default, fields with empty values are omitted from API requests. + // However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "PornographyLikelihood") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudVideointelligenceV1beta2ExplicitContentFrame) MarshalJSON() ([]byte, error) { + type noMethod GoogleCloudVideointelligenceV1beta2ExplicitContentFrame + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudVideointelligenceV1beta2LabelAnnotation: Label annotation. +type GoogleCloudVideointelligenceV1beta2LabelAnnotation struct { + // CategoryEntities: Common categories for the detected entity. + // E.g. when the label is `Terrier` the category is likely `dog`. And in + // some + // cases there might be more than one categories e.g. `Terrier` could + // also be + // a `pet`. + CategoryEntities []*GoogleCloudVideointelligenceV1beta2Entity `json:"categoryEntities,omitempty"` + + // Entity: Detected entity. + Entity *GoogleCloudVideointelligenceV1beta2Entity `json:"entity,omitempty"` + + // Frames: All video frames where a label was detected. + Frames []*GoogleCloudVideointelligenceV1beta2LabelFrame `json:"frames,omitempty"` + + // Segments: All video segments where a label was detected. + Segments []*GoogleCloudVideointelligenceV1beta2LabelSegment `json:"segments,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CategoryEntities") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CategoryEntities") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudVideointelligenceV1beta2LabelAnnotation) MarshalJSON() ([]byte, error) { + type noMethod GoogleCloudVideointelligenceV1beta2LabelAnnotation + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudVideointelligenceV1beta2LabelFrame: Video frame level +// annotation results for label detection. +type GoogleCloudVideointelligenceV1beta2LabelFrame struct { + // Confidence: Confidence that the label is accurate. Range: [0, 1]. + Confidence float64 `json:"confidence,omitempty"` + + // TimeOffset: Time-offset, relative to the beginning of the video, + // corresponding to the + // video frame for this location. + TimeOffset string `json:"timeOffset,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Confidence") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Confidence") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudVideointelligenceV1beta2LabelFrame) MarshalJSON() ([]byte, error) { + type noMethod GoogleCloudVideointelligenceV1beta2LabelFrame + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *GoogleCloudVideointelligenceV1beta2LabelFrame) UnmarshalJSON(data []byte) error { + type noMethod GoogleCloudVideointelligenceV1beta2LabelFrame + var s1 struct { + Confidence gensupport.JSONFloat64 `json:"confidence"` + *noMethod + } + s1.noMethod = (*noMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Confidence = float64(s1.Confidence) + return nil +} + +// GoogleCloudVideointelligenceV1beta2LabelSegment: Video segment level +// annotation results for label detection. +type GoogleCloudVideointelligenceV1beta2LabelSegment struct { + // Confidence: Confidence that the label is accurate. Range: [0, 1]. + Confidence float64 `json:"confidence,omitempty"` + + // Segment: Video segment where a label was detected. + Segment *GoogleCloudVideointelligenceV1beta2VideoSegment `json:"segment,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Confidence") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Confidence") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudVideointelligenceV1beta2LabelSegment) MarshalJSON() ([]byte, error) { + type noMethod GoogleCloudVideointelligenceV1beta2LabelSegment + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +func (s *GoogleCloudVideointelligenceV1beta2LabelSegment) UnmarshalJSON(data []byte) error { + type noMethod GoogleCloudVideointelligenceV1beta2LabelSegment + var s1 struct { + Confidence gensupport.JSONFloat64 `json:"confidence"` + *noMethod + } + s1.noMethod = (*noMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Confidence = float64(s1.Confidence) + return nil +} + +// GoogleCloudVideointelligenceV1beta2VideoAnnotationProgress: +// Annotation progress for a single video. +type GoogleCloudVideointelligenceV1beta2VideoAnnotationProgress struct { + // InputUri: Video file location in + // [Google Cloud Storage](https://cloud.google.com/storage/). + InputUri string `json:"inputUri,omitempty"` + + // ProgressPercent: Approximate percentage processed thus + // far. + // Guaranteed to be 100 when fully processed. + ProgressPercent int64 `json:"progressPercent,omitempty"` + + // StartTime: Time when the request was received. + StartTime string `json:"startTime,omitempty"` + + // UpdateTime: Time of the most recent update. + UpdateTime string `json:"updateTime,omitempty"` + + // ForceSendFields is a list of field names (e.g. "InputUri") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "InputUri") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudVideointelligenceV1beta2VideoAnnotationProgress) MarshalJSON() ([]byte, error) { + type noMethod GoogleCloudVideointelligenceV1beta2VideoAnnotationProgress + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudVideointelligenceV1beta2VideoAnnotationResults: Annotation +// results for a single video. +type GoogleCloudVideointelligenceV1beta2VideoAnnotationResults struct { + // Error: If set, indicates an error. Note that for a single + // `AnnotateVideoRequest` + // some videos may succeed and some may fail. + Error *GoogleRpcStatus `json:"error,omitempty"` + + // ExplicitAnnotation: Explicit content annotation. + ExplicitAnnotation *GoogleCloudVideointelligenceV1beta2ExplicitContentAnnotation `json:"explicitAnnotation,omitempty"` + + // FrameLabelAnnotations: Label annotations on frame level. + // There is exactly one element for each unique label. + FrameLabelAnnotations []*GoogleCloudVideointelligenceV1beta2LabelAnnotation `json:"frameLabelAnnotations,omitempty"` + + // InputUri: Video file location in + // [Google Cloud Storage](https://cloud.google.com/storage/). + InputUri string `json:"inputUri,omitempty"` + + // SegmentLabelAnnotations: Label annotations on video level or user + // specified segment level. + // There is exactly one element for each unique label. + SegmentLabelAnnotations []*GoogleCloudVideointelligenceV1beta2LabelAnnotation `json:"segmentLabelAnnotations,omitempty"` + + // ShotAnnotations: Shot annotations. Each shot is represented as a + // video segment. + ShotAnnotations []*GoogleCloudVideointelligenceV1beta2VideoSegment `json:"shotAnnotations,omitempty"` + + // ShotLabelAnnotations: Label annotations on shot level. + // There is exactly one element for each unique label. + ShotLabelAnnotations []*GoogleCloudVideointelligenceV1beta2LabelAnnotation `json:"shotLabelAnnotations,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Error") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Error") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudVideointelligenceV1beta2VideoAnnotationResults) MarshalJSON() ([]byte, error) { + type noMethod GoogleCloudVideointelligenceV1beta2VideoAnnotationResults + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleCloudVideointelligenceV1beta2VideoSegment: Video segment. +type GoogleCloudVideointelligenceV1beta2VideoSegment struct { + // EndTimeOffset: Time-offset, relative to the beginning of the + // video, + // corresponding to the end of the segment (inclusive). + EndTimeOffset string `json:"endTimeOffset,omitempty"` + + // StartTimeOffset: Time-offset, relative to the beginning of the + // video, + // corresponding to the start of the segment (inclusive). + StartTimeOffset string `json:"startTimeOffset,omitempty"` + + // ForceSendFields is a list of field names (e.g. "EndTimeOffset") to + // unconditionally include in API requests. By default, fields with + // empty values are omitted from API requests. However, any non-pointer, + // non-interface field appearing in ForceSendFields will be sent to the + // server regardless of whether the field is empty or not. This may be + // used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "EndTimeOffset") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudVideointelligenceV1beta2VideoSegment) MarshalJSON() ([]byte, error) { + type noMethod GoogleCloudVideointelligenceV1beta2VideoSegment + raw := noMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleLongrunningOperation: This resource represents a long-running // operation that is the result of a // network API call. type GoogleLongrunningOperation struct { // Done: If the value is `false`, it means the operation is still in // progress. - // If true, the operation is completed, and either `error` or `response` - // is + // If `true`, the operation is completed, and either `error` or + // `response` is // available. Done bool `json:"done,omitempty"` @@ -661,9 +1542,9 @@ type GoogleRpcStatus struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in diff --git a/vendor/google.golang.org/api/vision/v1/vision-api.json b/vendor/google.golang.org/api/vision/v1/vision-api.json index eeff5cfca..91f6e1a47 100644 --- a/vendor/google.golang.org/api/vision/v1/vision-api.json +++ b/vendor/google.golang.org/api/vision/v1/vision-api.json @@ -1,12 +1,13 @@ { + "ownerDomain": "google.com", + "name": "vision", + "batchPath": "batch", "title": "Google Cloud Vision API", "ownerName": "Google", "resources": { "images": { "methods": { "annotate": { - "path": "v1/images:annotate", - "id": "vision.images.annotate", "description": "Run image detection and annotation for a batch of images.", "request": { "$ref": "BatchAnnotateImagesRequest" @@ -16,88 +17,59 @@ }, "parameterOrder": [], "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ], "parameters": {}, - "flatPath": "v1/images:annotate" + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-vision" + ], + "flatPath": "v1/images:annotate", + "id": "vision.images.annotate", + "path": "v1/images:annotate" } } } }, "parameters": { - "access_token": { - "location": "query", - "description": "OAuth access token.", - "type": "string" - }, - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string", - "location": "query" - }, - "quotaUser": { - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "type": "string", - "location": "query" - }, - "pp": { - "location": "query", - "description": "Pretty-print response.", - "type": "boolean", - "default": "true" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "type": "string", - "location": "query" - }, - "bearer_token": { - "location": "query", - "description": "OAuth bearer token.", - "type": "string" - }, "upload_protocol": { - "location": "query", "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string" + "type": "string", + "location": "query" }, "prettyPrint": { + "location": "query", "description": "Returns response with indentations and line breaks.", - "type": "boolean", "default": "true", - "location": "query" + "type": "boolean" }, "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "type": "string", - "location": "query" - }, - "uploadType": { "location": "query", - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "description": "Selector specifying which fields to include in a partial response.", "type": "string" }, - "$.xgafv": { - "enum": [ - "1", - "2" - ], - "description": "V1 error format.", + "uploadType": { "type": "string", - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query" + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")." }, "callback": { "location": "query", "description": "JSONP", "type": "string" }, + "$.xgafv": { + "description": "V1 error format.", + "type": "string", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "enum": [ + "1", + "2" + ] + }, "alt": { - "description": "Data format for response.", "default": "json", "enum": [ "json", @@ -110,6 +82,38 @@ "Media download with context-dependent Content-Type", "Responses with Content-Type of application/x-protobuf" ], + "location": "query", + "description": "Data format for response." + }, + "key": { + "location": "query", + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "type": "string", + "location": "query" + }, + "quotaUser": { + "location": "query", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "type": "string" + }, + "pp": { + "location": "query", + "description": "Pretty-print response.", + "default": "true", + "type": "boolean" + }, + "oauth_token": { + "location": "query", + "description": "OAuth 2.0 token for the current user.", + "type": "string" + }, + "bearer_token": { + "description": "OAuth bearer token.", + "type": "string", "location": "query" } }, @@ -119,17 +123,642 @@ "description": "Integrates Google Vision features, including image labeling, face, logo, and landmark detection, optical character recognition (OCR), and detection of explicit content, into applications.", "kind": "discovery#restDescription", "basePath": "", - "revision": "20170523", "id": "vision:v1", + "revision": "20170922", "documentationLink": "https://cloud.google.com/vision/", "discoveryVersion": "v1", - "version_module": "True", + "version_module": true, "schemas": { + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", + "type": "object", + "properties": { + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "code": { + "format": "int32", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" + }, + "message": { + "type": "string", + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client." + } + }, + "id": "Status" + }, + "LatLongRect": { + "description": "Rectangle determined by min and max `LatLng` pairs.", + "type": "object", + "properties": { + "minLatLng": { + "$ref": "LatLng", + "description": "Min lat/long pair." + }, + "maxLatLng": { + "$ref": "LatLng", + "description": "Max lat/long pair." + } + }, + "id": "LatLongRect" + }, + "Symbol": { + "properties": { + "boundingBox": { + "description": "The bounding box for the symbol.\nThe vertices are in the order of top-left, top-right, bottom-right,\nbottom-left. When a rotation of the bounding box is detected the rotation\nis represented as around the top-left corner as defined when the text is\nread in the 'natural' orientation.\nFor example:\n * when the text is horizontal it might look like:\n 0----1\n | |\n 3----2\n * when it's rotated 180 degrees around the top-left corner it becomes:\n 2----3\n | |\n 1----0\n and the vertice order will still be (0, 1, 2, 3).", + "$ref": "BoundingPoly" + }, + "text": { + "description": "The actual UTF-8 representation of the symbol.", + "type": "string" + }, + "property": { + "$ref": "TextProperty", + "description": "Additional information detected for the symbol." + } + }, + "id": "Symbol", + "description": "A single symbol representation.", + "type": "object" + }, + "CropHintsAnnotation": { + "description": "Set of crop hints that are used to generate new crops when serving images.", + "type": "object", + "properties": { + "cropHints": { + "description": "Crop hint results.", + "items": { + "$ref": "CropHint" + }, + "type": "array" + } + }, + "id": "CropHintsAnnotation" + }, + "LatLng": { + "description": "An object representing a latitude/longitude pair. This is expressed as a pair\nof doubles representing degrees latitude and degrees longitude. Unless\nspecified otherwise, this must conform to the\n\u003ca href=\"http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf\"\u003eWGS84\nstandard\u003c/a\u003e. Values must be within normalized ranges.\n\nExample of normalization code in Python:\n\n def NormalizeLongitude(longitude):\n \"\"\"Wraps decimal degrees longitude to [-180.0, 180.0].\"\"\"\n q, r = divmod(longitude, 360.0)\n if r \u003e 180.0 or (r == 180.0 and q \u003c= -1.0):\n return r - 360.0\n return r\n\n def NormalizeLatLng(latitude, longitude):\n \"\"\"Wraps decimal degrees latitude and longitude to\n [-90.0, 90.0] and [-180.0, 180.0], respectively.\"\"\"\n r = latitude % 360.0\n if r \u003c= 90.0:\n return r, NormalizeLongitude(longitude)\n elif r \u003e= 270.0:\n return r - 360, NormalizeLongitude(longitude)\n else:\n return 180 - r, NormalizeLongitude(longitude + 180.0)\n\n assert 180.0 == NormalizeLongitude(180.0)\n assert -180.0 == NormalizeLongitude(-180.0)\n assert -179.0 == NormalizeLongitude(181.0)\n assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)\n assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)\n assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)\n assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)\n assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)\n assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)\n assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)\n assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)\n assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)\n assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)", + "type": "object", + "properties": { + "latitude": { + "format": "double", + "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", + "type": "number" + }, + "longitude": { + "format": "double", + "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].", + "type": "number" + } + }, + "id": "LatLng" + }, + "Color": { + "description": "Represents a color in the RGBA color space. This representation is designed\nfor simplicity of conversion to/from color representations in various\nlanguages over compactness; for example, the fields of this representation\ncan be trivially provided to the constructor of \"java.awt.Color\" in Java; it\ncan also be trivially provided to UIColor's \"+colorWithRed:green:blue:alpha\"\nmethod in iOS; and, with just a little work, it can be easily formatted into\na CSS \"rgba()\" string in JavaScript, as well. Here are some examples:\n\nExample (Java):\n\n import com.google.type.Color;\n\n // ...\n public static java.awt.Color fromProto(Color protocolor) {\n float alpha = protocolor.hasAlpha()\n ? protocolor.getAlpha().getValue()\n : 1.0;\n\n return new java.awt.Color(\n protocolor.getRed(),\n protocolor.getGreen(),\n protocolor.getBlue(),\n alpha);\n }\n\n public static Color toProto(java.awt.Color color) {\n float red = (float) color.getRed();\n float green = (float) color.getGreen();\n float blue = (float) color.getBlue();\n float denominator = 255.0;\n Color.Builder resultBuilder =\n Color\n .newBuilder()\n .setRed(red / denominator)\n .setGreen(green / denominator)\n .setBlue(blue / denominator);\n int alpha = color.getAlpha();\n if (alpha != 255) {\n result.setAlpha(\n FloatValue\n .newBuilder()\n .setValue(((float) alpha) / denominator)\n .build());\n }\n return resultBuilder.build();\n }\n // ...\n\nExample (iOS / Obj-C):\n\n // ...\n static UIColor* fromProto(Color* protocolor) {\n float red = [protocolor red];\n float green = [protocolor green];\n float blue = [protocolor blue];\n FloatValue* alpha_wrapper = [protocolor alpha];\n float alpha = 1.0;\n if (alpha_wrapper != nil) {\n alpha = [alpha_wrapper value];\n }\n return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];\n }\n\n static Color* toProto(UIColor* color) {\n CGFloat red, green, blue, alpha;\n if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {\n return nil;\n }\n Color* result = [Color alloc] init];\n [result setRed:red];\n [result setGreen:green];\n [result setBlue:blue];\n if (alpha \u003c= 0.9999) {\n [result setAlpha:floatWrapperWithValue(alpha)];\n }\n [result autorelease];\n return result;\n }\n // ...\n\n Example (JavaScript):\n\n // ...\n\n var protoToCssColor = function(rgb_color) {\n var redFrac = rgb_color.red || 0.0;\n var greenFrac = rgb_color.green || 0.0;\n var blueFrac = rgb_color.blue || 0.0;\n var red = Math.floor(redFrac * 255);\n var green = Math.floor(greenFrac * 255);\n var blue = Math.floor(blueFrac * 255);\n\n if (!('alpha' in rgb_color)) {\n return rgbToCssColor_(red, green, blue);\n }\n\n var alphaFrac = rgb_color.alpha.value || 0.0;\n var rgbParams = [red, green, blue].join(',');\n return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');\n };\n\n var rgbToCssColor_ = function(red, green, blue) {\n var rgbNumber = new Number((red \u003c\u003c 16) | (green \u003c\u003c 8) | blue);\n var hexString = rgbNumber.toString(16);\n var missingZeros = 6 - hexString.length;\n var resultBuilder = ['#'];\n for (var i = 0; i \u003c missingZeros; i++) {\n resultBuilder.push('0');\n }\n resultBuilder.push(hexString);\n return resultBuilder.join('');\n };\n\n // ...", + "type": "object", + "properties": { + "alpha": { + "format": "float", + "description": "The fraction of this color that should be applied to the pixel. That is,\nthe final pixel color is defined by the equation:\n\n pixel color = alpha * (this color) + (1.0 - alpha) * (background color)\n\nThis means that a value of 1.0 corresponds to a solid color, whereas\na value of 0.0 corresponds to a completely transparent color. This\nuses a wrapper message rather than a simple float scalar so that it is\npossible to distinguish between a default value and the value being unset.\nIf omitted, this color object is to be rendered as a solid color\n(as if the alpha value had been explicitly given with a value of 1.0).", + "type": "number" + }, + "blue": { + "type": "number", + "format": "float", + "description": "The amount of blue in the color as a value in the interval [0, 1]." + }, + "green": { + "format": "float", + "description": "The amount of green in the color as a value in the interval [0, 1].", + "type": "number" + }, + "red": { + "type": "number", + "format": "float", + "description": "The amount of red in the color as a value in the interval [0, 1]." + } + }, + "id": "Color" + }, + "ImageProperties": { + "id": "ImageProperties", + "description": "Stores image properties, such as dominant colors.", + "type": "object", + "properties": { + "dominantColors": { + "description": "If present, dominant colors completed successfully.", + "$ref": "DominantColorsAnnotation" + } + } + }, + "Feature": { + "description": "Users describe the type of Google Cloud Vision API tasks to perform over\nimages by using *Feature*s. Each Feature indicates a type of image\ndetection task to perform. Features encode the Cloud Vision API\nvertical to operate on and the number of top-scoring results to return.", + "type": "object", + "properties": { + "maxResults": { + "format": "int32", + "description": "Maximum number of results of this type.", + "type": "integer" + }, + "type": { + "type": "string", + "enumDescriptions": [ + "Unspecified feature type.", + "Run face detection.", + "Run landmark detection.", + "Run logo detection.", + "Run label detection.", + "Run OCR.", + "Run dense text document OCR. Takes precedence when both\nDOCUMENT_TEXT_DETECTION and TEXT_DETECTION are present.", + "Run computer vision models to compute image safe-search properties.", + "Compute a set of image properties, such as the image's dominant colors.", + "Run crop hints.", + "Run web detection." + ], + "enum": [ + "TYPE_UNSPECIFIED", + "FACE_DETECTION", + "LANDMARK_DETECTION", + "LOGO_DETECTION", + "LABEL_DETECTION", + "TEXT_DETECTION", + "DOCUMENT_TEXT_DETECTION", + "SAFE_SEARCH_DETECTION", + "IMAGE_PROPERTIES", + "CROP_HINTS", + "WEB_DETECTION" + ], + "description": "The feature type." + } + }, + "id": "Feature" + }, + "SafeSearchAnnotation": { + "type": "object", + "properties": { + "adult": { + "description": "Represents the adult content likelihood for the image.", + "type": "string", + "enumDescriptions": [ + "Unknown likelihood.", + "It is very unlikely that the image belongs to the specified vertical.", + "It is unlikely that the image belongs to the specified vertical.", + "It is possible that the image belongs to the specified vertical.", + "It is likely that the image belongs to the specified vertical.", + "It is very likely that the image belongs to the specified vertical." + ], + "enum": [ + "UNKNOWN", + "VERY_UNLIKELY", + "UNLIKELY", + "POSSIBLE", + "LIKELY", + "VERY_LIKELY" + ] + }, + "spoof": { + "enumDescriptions": [ + "Unknown likelihood.", + "It is very unlikely that the image belongs to the specified vertical.", + "It is unlikely that the image belongs to the specified vertical.", + "It is possible that the image belongs to the specified vertical.", + "It is likely that the image belongs to the specified vertical.", + "It is very likely that the image belongs to the specified vertical." + ], + "enum": [ + "UNKNOWN", + "VERY_UNLIKELY", + "UNLIKELY", + "POSSIBLE", + "LIKELY", + "VERY_LIKELY" + ], + "description": "Spoof likelihood. The likelihood that an modification\nwas made to the image's canonical version to make it appear\nfunny or offensive.", + "type": "string" + }, + "medical": { + "type": "string", + "enumDescriptions": [ + "Unknown likelihood.", + "It is very unlikely that the image belongs to the specified vertical.", + "It is unlikely that the image belongs to the specified vertical.", + "It is possible that the image belongs to the specified vertical.", + "It is likely that the image belongs to the specified vertical.", + "It is very likely that the image belongs to the specified vertical." + ], + "enum": [ + "UNKNOWN", + "VERY_UNLIKELY", + "UNLIKELY", + "POSSIBLE", + "LIKELY", + "VERY_LIKELY" + ], + "description": "Likelihood that this is a medical image." + }, + "violence": { + "type": "string", + "enumDescriptions": [ + "Unknown likelihood.", + "It is very unlikely that the image belongs to the specified vertical.", + "It is unlikely that the image belongs to the specified vertical.", + "It is possible that the image belongs to the specified vertical.", + "It is likely that the image belongs to the specified vertical.", + "It is very likely that the image belongs to the specified vertical." + ], + "enum": [ + "UNKNOWN", + "VERY_UNLIKELY", + "UNLIKELY", + "POSSIBLE", + "LIKELY", + "VERY_LIKELY" + ], + "description": "Violence likelihood." + } + }, + "id": "SafeSearchAnnotation", + "description": "Set of features pertaining to the image, computed by computer vision\nmethods over safe-search verticals (for example, adult, spoof, medical,\nviolence)." + }, + "DominantColorsAnnotation": { + "description": "Set of dominant colors and their corresponding scores.", + "type": "object", + "properties": { + "colors": { + "description": "RGB color values with their score and pixel fraction.", + "items": { + "$ref": "ColorInfo" + }, + "type": "array" + } + }, + "id": "DominantColorsAnnotation" + }, + "TextAnnotation": { + "description": "TextAnnotation contains a structured representation of OCR extracted text.\nThe hierarchy of an OCR extracted text structure is like this:\n TextAnnotation -\u003e Page -\u003e Block -\u003e Paragraph -\u003e Word -\u003e Symbol\nEach structural component, starting from Page, may further have their own\nproperties. Properties describe detected languages, breaks etc.. Please\nrefer to the google.cloud.vision.v1.TextAnnotation.TextProperty message\ndefinition below for more detail.", + "type": "object", + "properties": { + "pages": { + "description": "List of pages detected by OCR.", + "items": { + "$ref": "Page" + }, + "type": "array" + }, + "text": { + "description": "UTF-8 text detected on the pages.", + "type": "string" + } + }, + "id": "TextAnnotation" + }, + "Vertex": { + "description": "A vertex represents a 2D point in the image.\nNOTE: the vertex coordinates are in the same scale as the original image.", + "type": "object", + "properties": { + "y": { + "format": "int32", + "description": "Y coordinate.", + "type": "integer" + }, + "x": { + "format": "int32", + "description": "X coordinate.", + "type": "integer" + } + }, + "id": "Vertex" + }, + "DetectedLanguage": { + "description": "Detected language for a structural component.", + "type": "object", + "properties": { + "languageCode": { + "description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more\ninformation, see\nhttp://www.unicode.org/reports/tr35/#Unicode_locale_identifier.", + "type": "string" + }, + "confidence": { + "type": "number", + "format": "float", + "description": "Confidence of detected language. Range [0, 1]." + } + }, + "id": "DetectedLanguage" + }, + "WebEntity": { + "description": "Entity deduced from similar images on the Internet.", + "type": "object", + "properties": { + "entityId": { + "description": "Opaque entity ID.", + "type": "string" + }, + "description": { + "type": "string", + "description": "Canonical description of the entity, in English." + }, + "score": { + "format": "float", + "description": "Overall relevancy score for the entity.\nNot normalized and not comparable across different image queries.", + "type": "number" + } + }, + "id": "WebEntity" + }, + "BoundingPoly": { + "properties": { + "vertices": { + "description": "The bounding polygon vertices.", + "items": { + "$ref": "Vertex" + }, + "type": "array" + } + }, + "id": "BoundingPoly", + "description": "A bounding polygon for the detected image annotation.", + "type": "object" + }, + "TextProperty": { + "description": "Additional information detected on the structural component.", + "type": "object", + "properties": { + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", + "items": { + "$ref": "DetectedLanguage" + }, + "type": "array" + }, + "detectedBreak": { + "description": "Detected start or end of a text segment.", + "$ref": "DetectedBreak" + } + }, + "id": "TextProperty" + }, + "AnnotateImageResponse": { + "description": "Response to an image annotation request.", + "type": "object", + "properties": { + "error": { + "$ref": "Status", + "description": "If set, represents the error message for the operation.\nNote that filled-in image annotations are guaranteed to be\ncorrect, even when `error` is set." + }, + "fullTextAnnotation": { + "$ref": "TextAnnotation", + "description": "If present, text (OCR) detection or document (OCR) text detection has\ncompleted successfully.\nThis annotation provides the structural hierarchy for the OCR detected\ntext." + }, + "landmarkAnnotations": { + "description": "If present, landmark detection has completed successfully.", + "items": { + "$ref": "EntityAnnotation" + }, + "type": "array" + }, + "textAnnotations": { + "description": "If present, text (OCR) detection has completed successfully.", + "items": { + "$ref": "EntityAnnotation" + }, + "type": "array" + }, + "faceAnnotations": { + "description": "If present, face detection has completed successfully.", + "items": { + "$ref": "FaceAnnotation" + }, + "type": "array" + }, + "imagePropertiesAnnotation": { + "$ref": "ImageProperties", + "description": "If present, image properties were extracted successfully." + }, + "logoAnnotations": { + "items": { + "$ref": "EntityAnnotation" + }, + "type": "array", + "description": "If present, logo detection has completed successfully." + }, + "webDetection": { + "$ref": "WebDetection", + "description": "If present, web detection has completed successfully." + }, + "cropHintsAnnotation": { + "description": "If present, crop hints have completed successfully.", + "$ref": "CropHintsAnnotation" + }, + "safeSearchAnnotation": { + "$ref": "SafeSearchAnnotation", + "description": "If present, safe-search annotation has completed successfully." + }, + "labelAnnotations": { + "description": "If present, label detection has completed successfully.", + "items": { + "$ref": "EntityAnnotation" + }, + "type": "array" + } + }, + "id": "AnnotateImageResponse" + }, + "CropHintsParams": { + "description": "Parameters for crop hints annotation request.", + "type": "object", + "properties": { + "aspectRatios": { + "description": "Aspect ratios in floats, representing the ratio of the width to the height\nof the image. For example, if the desired aspect ratio is 4/3, the\ncorresponding float value should be 1.33333. If not specified, the\nbest possible crop is returned. The number of provided aspect ratios is\nlimited to a maximum of 16; any aspect ratios provided after the 16th are\nignored.", + "items": { + "format": "float", + "type": "number" + }, + "type": "array" + } + }, + "id": "CropHintsParams" + }, + "Block": { + "id": "Block", + "description": "Logical element on the page.", + "type": "object", + "properties": { + "property": { + "$ref": "TextProperty", + "description": "Additional information detected for the block." + }, + "blockType": { + "description": "Detected block type (text, image etc) for this block.", + "type": "string", + "enumDescriptions": [ + "Unknown block type.", + "Regular text block.", + "Table block.", + "Image block.", + "Horizontal/vertical line box.", + "Barcode block." + ], + "enum": [ + "UNKNOWN", + "TEXT", + "TABLE", + "PICTURE", + "RULER", + "BARCODE" + ] + }, + "boundingBox": { + "description": "The bounding box for the block.\nThe vertices are in the order of top-left, top-right, bottom-right,\nbottom-left. When a rotation of the bounding box is detected the rotation\nis represented as around the top-left corner as defined when the text is\nread in the 'natural' orientation.\nFor example:\n * when the text is horizontal it might look like:\n 0----1\n | |\n 3----2\n * when it's rotated 180 degrees around the top-left corner it becomes:\n 2----3\n | |\n 1----0\n and the vertice order will still be (0, 1, 2, 3).", + "$ref": "BoundingPoly" + }, + "paragraphs": { + "description": "List of paragraphs in this block (if this blocks is of type text).", + "items": { + "$ref": "Paragraph" + }, + "type": "array" + } + } + }, + "Property": { + "description": "A `Property` consists of a user-supplied name/value pair.", + "type": "object", + "properties": { + "value": { + "description": "Value of the property.", + "type": "string" + }, + "uint64Value": { + "format": "uint64", + "description": "Value of numeric properties.", + "type": "string" + }, + "name": { + "description": "Name of the property.", + "type": "string" + } + }, + "id": "Property" + }, + "LocationInfo": { + "id": "LocationInfo", + "description": "Detected entity location information.", + "type": "object", + "properties": { + "latLng": { + "description": "lat/long location coordinates.", + "$ref": "LatLng" + } + } + }, + "ImageSource": { + "description": "External image source (Google Cloud Storage image location).", + "type": "object", + "properties": { + "gcsImageUri": { + "description": "NOTE: For new code `image_uri` below is preferred.\nGoogle Cloud Storage image URI, which must be in the following form:\n`gs://bucket_name/object_name` (for details, see\n[Google Cloud Storage Request\nURIs](https://cloud.google.com/storage/docs/reference-uris)).\nNOTE: Cloud Storage object versioning is not supported.", + "type": "string" + }, + "imageUri": { + "description": "Image URI which supports:\n1) Google Cloud Storage image URI, which must be in the following form:\n`gs://bucket_name/object_name` (for details, see\n[Google Cloud Storage Request\nURIs](https://cloud.google.com/storage/docs/reference-uris)).\nNOTE: Cloud Storage object versioning is not supported.\n2) Publicly accessible image HTTP/HTTPS URL.\nThis is preferred over the legacy `gcs_image_uri` above. When both\n`gcs_image_uri` and `image_uri` are specified, `image_uri` takes\nprecedence.", + "type": "string" + } + }, + "id": "ImageSource" + }, + "BatchAnnotateImagesResponse": { + "description": "Response to a batch image annotation request.", + "type": "object", + "properties": { + "responses": { + "description": "Individual responses to image annotation requests within the batch.", + "items": { + "$ref": "AnnotateImageResponse" + }, + "type": "array" + } + }, + "id": "BatchAnnotateImagesResponse" + }, + "WebDetection": { + "description": "Relevant information for the image from the Internet.", + "type": "object", + "properties": { + "visuallySimilarImages": { + "description": "The visually similar image results.", + "items": { + "$ref": "WebImage" + }, + "type": "array" + }, + "partialMatchingImages": { + "description": "Partial matching images from the Internet.\nThose images are similar enough to share some key-point features. For\nexample an original image will likely have partial matching for its crops.", + "items": { + "$ref": "WebImage" + }, + "type": "array" + }, + "fullMatchingImages": { + "description": "Fully matching images from the Internet.\nCan include resized copies of the query image.", + "items": { + "$ref": "WebImage" + }, + "type": "array" + }, + "webEntities": { + "description": "Deduced entities from similar images on the Internet.", + "items": { + "$ref": "WebEntity" + }, + "type": "array" + }, + "pagesWithMatchingImages": { + "description": "Web pages containing the matching images from the Internet.", + "items": { + "$ref": "WebPage" + }, + "type": "array" + } + }, + "id": "WebDetection" + }, + "Position": { + "id": "Position", + "description": "A 3D position in the image, used primarily for Face detection landmarks.\nA valid Position must have both x and y coordinates.\nThe position coordinates are in the same scale as the original image.", + "type": "object", + "properties": { + "y": { + "format": "float", + "description": "Y coordinate.", + "type": "number" + }, + "z": { + "format": "float", + "description": "Z coordinate (or depth).", + "type": "number" + }, + "x": { + "format": "float", + "description": "X coordinate.", + "type": "number" + } + } + }, "ColorInfo": { + "description": "Color information consists of RGB channels, score, and the fraction of\nthe image that the color occupies in the image.", + "type": "object", "properties": { "pixelFraction": { - "description": "The fraction of pixels the color occupies in the image.\nValue in range [0, 1].", "format": "float", + "description": "The fraction of pixels the color occupies in the image.\nValue in range [0, 1].", "type": "number" }, "color": { @@ -137,103 +766,101 @@ "$ref": "Color" }, "score": { - "description": "Image-specific score for this color. Value in range [0, 1].", "format": "float", + "description": "Image-specific score for this color. Value in range [0, 1].", "type": "number" } }, - "id": "ColorInfo", - "description": "Color information consists of RGB channels, score, and the fraction of\nthe image that the color occupies in the image.", - "type": "object" + "id": "ColorInfo" }, "WebPage": { + "description": "Metadata for web pages.", + "type": "object", "properties": { + "score": { + "type": "number", + "format": "float", + "description": "(Deprecated) Overall relevancy score for the web page." + }, "url": { "description": "The result web page URL.", "type": "string" - }, - "score": { - "description": "Overall relevancy score for the web page.\nNot normalized and not comparable across different image queries.", - "format": "float", - "type": "number" } }, - "id": "WebPage", - "description": "Metadata for web pages.", - "type": "object" + "id": "WebPage" }, "EntityAnnotation": { "description": "Set of detected entity features.", "type": "object", "properties": { - "confidence": { - "description": "The accuracy of the entity detection in an image.\nFor example, for an image in which the \"Eiffel Tower\" entity is detected,\nthis field represents the confidence that there is a tower in the query\nimage. Range [0, 1].", + "score": { + "type": "number", "format": "float", + "description": "Overall score of the result. Range [0, 1]." + }, + "locations": { + "description": "The location information for the detected entity. Multiple\n`LocationInfo` elements can be present because one location may\nindicate the location of the scene in the image, and another location\nmay indicate the location of the place where the image was taken.\nLocation information is usually present for landmarks.", + "items": { + "$ref": "LocationInfo" + }, + "type": "array" + }, + "mid": { + "description": "Opaque entity ID. Some IDs may be available in\n[Google Knowledge Graph Search API](https://developers.google.com/knowledge-graph/).", + "type": "string" + }, + "confidence": { + "format": "float", + "description": "The accuracy of the entity detection in an image.\nFor example, for an image in which the \"Eiffel Tower\" entity is detected,\nthis field represents the confidence that there is a tower in the query\nimage. Range [0, 1].", "type": "number" }, "boundingPoly": { "$ref": "BoundingPoly", - "description": "Image region to which this entity belongs. Currently not produced\nfor `LABEL_DETECTION` features. For `TEXT_DETECTION` (OCR), `boundingPoly`s\nare produced for the entire text detected in an image region, followed by\n`boundingPoly`s for each word within the detected text." + "description": "Image region to which this entity belongs. Not produced\nfor `LABEL_DETECTION` features." }, "locale": { "description": "The language code for the locale in which the entity textual\n`description` is expressed.", "type": "string" }, "topicality": { - "description": "The relevancy of the ICA (Image Content Annotation) label to the\nimage. For example, the relevancy of \"tower\" is likely higher to an image\ncontaining the detected \"Eiffel Tower\" than to an image containing a\ndetected distant towering building, even though the confidence that\nthere is a tower in each image may be the same. Range [0, 1].", + "type": "number", "format": "float", - "type": "number" + "description": "The relevancy of the ICA (Image Content Annotation) label to the\nimage. For example, the relevancy of \"tower\" is likely higher to an image\ncontaining the detected \"Eiffel Tower\" than to an image containing a\ndetected distant towering building, even though the confidence that\nthere is a tower in each image may be the same. Range [0, 1]." }, "description": { - "description": "Entity textual description, expressed in its `locale` language.", - "type": "string" + "type": "string", + "description": "Entity textual description, expressed in its `locale` language." }, "properties": { "description": "Some entities may have optional user-supplied `Property` (name/value)\nfields, such a score or string that qualifies the entity.", - "type": "array", "items": { "$ref": "Property" - } - }, - "score": { - "description": "Overall score of the result. Range [0, 1].", - "format": "float", - "type": "number" - }, - "locations": { - "description": "The location information for the detected entity. Multiple\n`LocationInfo` elements can be present because one location may\nindicate the location of the scene in the image, and another location\nmay indicate the location of the place where the image was taken.\nLocation information is usually present for landmarks.", - "type": "array", - "items": { - "$ref": "LocationInfo" - } - }, - "mid": { - "description": "Opaque entity ID. Some IDs may be available in\n[Google Knowledge Graph Search API](https://developers.google.com/knowledge-graph/).", - "type": "string" + }, + "type": "array" } }, "id": "EntityAnnotation" }, "CropHint": { + "id": "CropHint", "description": "Single crop hint that is used to generate a new crop when serving an image.", "type": "object", "properties": { - "confidence": { - "description": "Confidence of this being a salient region. Range [0, 1].", - "format": "float", - "type": "number" - }, "importanceFraction": { - "description": "Fraction of importance of this salient region with respect to the original\nimage.", + "type": "number", "format": "float", + "description": "Fraction of importance of this salient region with respect to the original\nimage." + }, + "confidence": { + "format": "float", + "description": "Confidence of this being a salient region. Range [0, 1].", "type": "number" }, "boundingPoly": { "description": "The bounding polygon for the crop region. The coordinates of the bounding\nbox are in the original image's scale, as returned in `ImageParams`.", "$ref": "BoundingPoly" } - }, - "id": "CropHint" + } }, "Landmark": { "description": "A face-specific landmark (for example, a face feature).\nLandmark positions may fall outside the bounds of the image\nif the face is near one or more edges of the image.\nTherefore it is NOT guaranteed that `0 \u003c= x \u003c width` or\n`0 \u003c= y \u003c height`.", @@ -244,6 +871,8 @@ "description": "Face landmark position." }, "type": { + "description": "Face landmark type.", + "type": "string", "enumDescriptions": [ "Unknown face landmark detected. Should not be filled.", "Left eye.", @@ -317,47 +946,45 @@ "CHIN_GNATHION", "CHIN_LEFT_GONION", "CHIN_RIGHT_GONION" - ], - "description": "Face landmark type.", - "type": "string" + ] } }, "id": "Landmark" }, "WebImage": { + "id": "WebImage", + "description": "Metadata for online images.", + "type": "object", "properties": { + "score": { + "type": "number", + "format": "float", + "description": "(Deprecated) Overall relevancy score for the image." + }, "url": { "description": "The result image URL.", "type": "string" - }, - "score": { - "description": "Overall relevancy score for the image.\nNot normalized and not comparable across different image queries.", - "format": "float", - "type": "number" } - }, - "id": "WebImage", - "description": "Metadata for online images.", - "type": "object" + } }, "Word": { "description": "A word representation.", "type": "object", "properties": { - "property": { - "$ref": "TextProperty", - "description": "Additional information detected for the word." - }, "boundingBox": { - "description": "The bounding box for the word.\nThe vertices are in the order of top-left, top-right, bottom-right,\nbottom-left. When a rotation of the bounding box is detected the rotation\nis represented as around the top-left corner as defined when the text is\nread in the 'natural' orientation.\nFor example:\n * when the text is horizontal it might look like:\n 0----1\n | |\n 3----2\n * when it's rotated 180 degrees around the top-left corner it becomes:\n 2----3\n | |\n 1----0\n and the vertice order will still be (0, 1, 2, 3).", - "$ref": "BoundingPoly" + "$ref": "BoundingPoly", + "description": "The bounding box for the word.\nThe vertices are in the order of top-left, top-right, bottom-right,\nbottom-left. When a rotation of the bounding box is detected the rotation\nis represented as around the top-left corner as defined when the text is\nread in the 'natural' orientation.\nFor example:\n * when the text is horizontal it might look like:\n 0----1\n | |\n 3----2\n * when it's rotated 180 degrees around the top-left corner it becomes:\n 2----3\n | |\n 1----0\n and the vertice order will still be (0, 1, 2, 3)." }, "symbols": { "description": "List of symbols in the word.\nThe order of the symbols follows the natural reading order.", - "type": "array", "items": { "$ref": "Symbol" - } + }, + "type": "array" + }, + "property": { + "$ref": "TextProperty", + "description": "Additional information detected for the word." } }, "id": "Word" @@ -366,34 +993,34 @@ "description": "Client image to perform Google Cloud Vision API tasks over.", "type": "object", "properties": { - "content": { - "description": "Image content, represented as a stream of bytes.\nNote: as with all `bytes` fields, protobuffers use a pure binary\nrepresentation, whereas JSON representations use base64.", - "format": "byte", - "type": "string" - }, "source": { "$ref": "ImageSource", "description": "Google Cloud Storage image location. If both `content` and `source`\nare provided for an image, `content` takes precedence and is\nused to perform the image annotation request." + }, + "content": { + "format": "byte", + "description": "Image content, represented as a stream of bytes.\nNote: as with all `bytes` fields, protobuffers use a pure binary\nrepresentation, whereas JSON representations use base64.", + "type": "string" } }, "id": "Image" }, "Paragraph": { "properties": { - "property": { - "$ref": "TextProperty", - "description": "Additional information detected for the paragraph." - }, "boundingBox": { - "description": "The bounding box for the paragraph.\nThe vertices are in the order of top-left, top-right, bottom-right,\nbottom-left. When a rotation of the bounding box is detected the rotation\nis represented as around the top-left corner as defined when the text is\nread in the 'natural' orientation.\nFor example:\n * when the text is horizontal it might look like:\n 0----1\n | |\n 3----2\n * when it's rotated 180 degrees around the top-left corner it becomes:\n 2----3\n | |\n 1----0\n and the vertice order will still be (0, 1, 2, 3).", - "$ref": "BoundingPoly" + "$ref": "BoundingPoly", + "description": "The bounding box for the paragraph.\nThe vertices are in the order of top-left, top-right, bottom-right,\nbottom-left. When a rotation of the bounding box is detected the rotation\nis represented as around the top-left corner as defined when the text is\nread in the 'natural' orientation.\nFor example:\n * when the text is horizontal it might look like:\n 0----1\n | |\n 3----2\n * when it's rotated 180 degrees around the top-left corner it becomes:\n 2----3\n | |\n 1----0\n and the vertice order will still be (0, 1, 2, 3)." }, "words": { "description": "List of words in this paragraph.", - "type": "array", "items": { "$ref": "Word" - } + }, + "type": "array" + }, + "property": { + "description": "Additional information detected for the paragraph.", + "$ref": "TextProperty" } }, "id": "Paragraph", @@ -401,25 +1028,14 @@ "type": "object" }, "FaceAnnotation": { + "description": "A face annotation object contains the results of face detection.", + "type": "object", "properties": { - "tiltAngle": { - "description": "Pitch angle, which indicates the upwards/downwards angle that the face is\npointing relative to the image's horizontal plane. Range [-180,180].", - "format": "float", - "type": "number" - }, "fdBoundingPoly": { "$ref": "BoundingPoly", "description": "The `fd_bounding_poly` bounding polygon is tighter than the\n`boundingPoly`, and encloses only the skin part of the face. Typically, it\nis used to eliminate the face from any image analysis that detects the\n\"amount of skin\" visible in an image. It is not based on the\nlandmarker results, only on the initial face detection, hence\nthe \u003ccode\u003efd\u003c/code\u003e (face detection) prefix." }, "surpriseLikelihood": { - "enumDescriptions": [ - "Unknown likelihood.", - "It is very unlikely that the image belongs to the specified vertical.", - "It is unlikely that the image belongs to the specified vertical.", - "It is possible that the image belongs to the specified vertical.", - "It is likely that the image belongs to the specified vertical.", - "It is very likely that the image belongs to the specified vertical." - ], "enum": [ "UNKNOWN", "VERY_UNLIKELY", @@ -429,18 +1045,6 @@ "VERY_LIKELY" ], "description": "Surprise likelihood.", - "type": "string" - }, - "angerLikelihood": { - "enum": [ - "UNKNOWN", - "VERY_UNLIKELY", - "UNLIKELY", - "POSSIBLE", - "LIKELY", - "VERY_LIKELY" - ], - "description": "Anger likelihood.", "type": "string", "enumDescriptions": [ "Unknown likelihood.", @@ -453,17 +1057,20 @@ }, "landmarks": { "description": "Detected face landmarks.", - "type": "array", "items": { "$ref": "Landmark" - } + }, + "type": "array" }, - "landmarkingConfidence": { - "description": "Face landmarking confidence. Range [0, 1].", - "format": "float", - "type": "number" - }, - "joyLikelihood": { + "angerLikelihood": { + "enumDescriptions": [ + "Unknown likelihood.", + "It is very unlikely that the image belongs to the specified vertical.", + "It is unlikely that the image belongs to the specified vertical.", + "It is possible that the image belongs to the specified vertical.", + "It is likely that the image belongs to the specified vertical.", + "It is very likely that the image belongs to the specified vertical." + ], "enum": [ "UNKNOWN", "VERY_UNLIKELY", @@ -472,6 +1079,15 @@ "LIKELY", "VERY_LIKELY" ], + "description": "Anger likelihood.", + "type": "string" + }, + "landmarkingConfidence": { + "format": "float", + "description": "Face landmarking confidence. Range [0, 1].", + "type": "number" + }, + "joyLikelihood": { "description": "Joy likelihood.", "type": "string", "enumDescriptions": [ @@ -481,6 +1097,14 @@ "It is possible that the image belongs to the specified vertical.", "It is likely that the image belongs to the specified vertical.", "It is very likely that the image belongs to the specified vertical." + ], + "enum": [ + "UNKNOWN", + "VERY_UNLIKELY", + "UNLIKELY", + "POSSIBLE", + "LIKELY", + "VERY_LIKELY" ] }, "underExposedLikelihood": { @@ -504,24 +1128,16 @@ "type": "string" }, "panAngle": { - "description": "Yaw angle, which indicates the leftward/rightward angle that the face is\npointing relative to the vertical plane perpendicular to the image. Range\n[-180,180].", + "type": "number", "format": "float", - "type": "number" + "description": "Yaw angle, which indicates the leftward/rightward angle that the face is\npointing relative to the vertical plane perpendicular to the image. Range\n[-180,180]." }, "detectionConfidence": { - "description": "Detection confidence. Range [0, 1].", "format": "float", + "description": "Detection confidence. Range [0, 1].", "type": "number" }, "blurredLikelihood": { - "enumDescriptions": [ - "Unknown likelihood.", - "It is very unlikely that the image belongs to the specified vertical.", - "It is unlikely that the image belongs to the specified vertical.", - "It is possible that the image belongs to the specified vertical.", - "It is likely that the image belongs to the specified vertical.", - "It is very likely that the image belongs to the specified vertical." - ], "enum": [ "UNKNOWN", "VERY_UNLIKELY", @@ -531,18 +1147,6 @@ "VERY_LIKELY" ], "description": "Blurred likelihood.", - "type": "string" - }, - "headwearLikelihood": { - "enum": [ - "UNKNOWN", - "VERY_UNLIKELY", - "UNLIKELY", - "POSSIBLE", - "LIKELY", - "VERY_LIKELY" - ], - "description": "Headwear likelihood.", "type": "string", "enumDescriptions": [ "Unknown likelihood.", @@ -553,16 +1157,44 @@ "It is very likely that the image belongs to the specified vertical." ] }, + "headwearLikelihood": { + "type": "string", + "enumDescriptions": [ + "Unknown likelihood.", + "It is very unlikely that the image belongs to the specified vertical.", + "It is unlikely that the image belongs to the specified vertical.", + "It is possible that the image belongs to the specified vertical.", + "It is likely that the image belongs to the specified vertical.", + "It is very likely that the image belongs to the specified vertical." + ], + "enum": [ + "UNKNOWN", + "VERY_UNLIKELY", + "UNLIKELY", + "POSSIBLE", + "LIKELY", + "VERY_LIKELY" + ], + "description": "Headwear likelihood." + }, "boundingPoly": { "description": "The bounding polygon around the face. The coordinates of the bounding box\nare in the original image's scale, as returned in `ImageParams`.\nThe bounding box is computed to \"frame\" the face in accordance with human\nexpectations. It is based on the landmarker results.\nNote that one or more x and/or y coordinates may not be generated in the\n`BoundingPoly` (the polygon will be unbounded) if only a partial face\nappears in the image to be annotated.", "$ref": "BoundingPoly" }, "rollAngle": { - "description": "Roll angle, which indicates the amount of clockwise/anti-clockwise rotation\nof the face relative to the image vertical about the axis perpendicular to\nthe face. Range [-180,180].", "format": "float", + "description": "Roll angle, which indicates the amount of clockwise/anti-clockwise rotation\nof the face relative to the image vertical about the axis perpendicular to\nthe face. Range [-180,180].", "type": "number" }, "sorrowLikelihood": { + "enumDescriptions": [ + "Unknown likelihood.", + "It is very unlikely that the image belongs to the specified vertical.", + "It is unlikely that the image belongs to the specified vertical.", + "It is possible that the image belongs to the specified vertical.", + "It is likely that the image belongs to the specified vertical.", + "It is very likely that the image belongs to the specified vertical." + ], "enum": [ "UNKNOWN", "VERY_UNLIKELY", @@ -572,42 +1204,43 @@ "VERY_LIKELY" ], "description": "Sorrow likelihood.", - "type": "string", - "enumDescriptions": [ - "Unknown likelihood.", - "It is very unlikely that the image belongs to the specified vertical.", - "It is unlikely that the image belongs to the specified vertical.", - "It is possible that the image belongs to the specified vertical.", - "It is likely that the image belongs to the specified vertical.", - "It is very likely that the image belongs to the specified vertical." - ] + "type": "string" + }, + "tiltAngle": { + "format": "float", + "description": "Pitch angle, which indicates the upwards/downwards angle that the face is\npointing relative to the image's horizontal plane. Range [-180,180].", + "type": "number" } }, - "id": "FaceAnnotation", - "description": "A face annotation object contains the results of face detection.", - "type": "object" + "id": "FaceAnnotation" }, "BatchAnnotateImagesRequest": { + "description": "Multiple image annotation requests are batched into a single service call.", + "type": "object", "properties": { "requests": { "description": "Individual image annotation requests for this batch.", - "type": "array", "items": { "$ref": "AnnotateImageRequest" - } + }, + "type": "array" } }, - "id": "BatchAnnotateImagesRequest", - "description": "Multiple image annotation requests are batched into a single service call.", - "type": "object" + "id": "BatchAnnotateImagesRequest" }, "DetectedBreak": { + "description": "Detected start or end of a structural component.", + "type": "object", "properties": { - "isPrefix": { - "description": "True if break prepends the element.", - "type": "boolean" - }, "type": { + "enumDescriptions": [ + "Unknown break label type.", + "Regular space.", + "Sure space (very wide).", + "Line-wrapping break.", + "End-line hyphen that is not present in text; does not co-occur with\n`SPACE`, `LEADER_SPACE`, or `LINE_BREAK`.", + "Line break that ends a paragraph." + ], "enum": [ "UNKNOWN", "SPACE", @@ -617,39 +1250,33 @@ "LINE_BREAK" ], "description": "Detected break type.", - "type": "string", - "enumDescriptions": [ - "Unknown break label type.", - "Regular space.", - "Sure space (very wide).", - "Line-wrapping break.", - "End-line hyphen that is not present in text; does not co-occur with\n`SPACE`, `LEADER_SPACE`, or `LINE_BREAK`.", - "Line break that ends a paragraph." - ] + "type": "string" + }, + "isPrefix": { + "description": "True if break prepends the element.", + "type": "boolean" } }, - "id": "DetectedBreak", - "description": "Detected start or end of a structural component.", - "type": "object" + "id": "DetectedBreak" }, "ImageContext": { "description": "Image context and/or feature-specific parameters.", "type": "object", "properties": { + "cropHintsParams": { + "$ref": "CropHintsParams", + "description": "Parameters for crop hints annotation request." + }, "languageHints": { "description": "List of languages to use for TEXT_DETECTION. In most cases, an empty value\nyields the best results since it enables automatic language detection. For\nlanguages based on the Latin alphabet, setting `language_hints` is not\nneeded. In rare cases, when the language of the text in the image is known,\nsetting a hint will help get better results (although it will be a\nsignificant hindrance if the hint is wrong). Text detection returns an\nerror if one or more of the specified languages is not one of the\n[supported languages](/vision/docs/languages).", - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, "latLongRect": { "description": "lat/long rectangle that specifies the location of the image.", "$ref": "LatLongRect" - }, - "cropHintsParams": { - "description": "Parameters for crop hints annotation request.", - "$ref": "CropHintsParams" } }, "id": "ImageContext" @@ -658,693 +1285,70 @@ "description": "Detected page from OCR.", "type": "object", "properties": { - "width": { - "description": "Page width in pixels.", + "height": { "format": "int32", + "description": "Page height in pixels.", + "type": "integer" + }, + "width": { + "format": "int32", + "description": "Page width in pixels.", "type": "integer" }, "blocks": { "description": "List of blocks of text, images etc on this page.", - "type": "array", "items": { "$ref": "Block" - } + }, + "type": "array" }, "property": { - "description": "Additional information detected on the page.", - "$ref": "TextProperty" - }, - "height": { - "description": "Page height in pixels.", - "format": "int32", - "type": "integer" + "$ref": "TextProperty", + "description": "Additional information detected on the page." } }, "id": "Page" }, "AnnotateImageRequest": { "properties": { - "imageContext": { - "$ref": "ImageContext", - "description": "Additional context that may accompany the image." - }, - "image": { - "description": "The image to be processed.", - "$ref": "Image" - }, "features": { - "description": "Requested features.", - "type": "array", "items": { "$ref": "Feature" - } + }, + "type": "array", + "description": "Requested features." + }, + "image": { + "$ref": "Image", + "description": "The image to be processed." + }, + "imageContext": { + "description": "Additional context that may accompany the image.", + "$ref": "ImageContext" } }, "id": "AnnotateImageRequest", "description": "Request for performing Google Cloud Vision API tasks over a user-provided\nimage, with user-requested features.", "type": "object" - }, - "Status": { - "properties": { - "details": { - "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", - "type": "array", - "items": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "type": "object" - } - }, - "code": { - "description": "The status code, which should be an enum value of google.rpc.Code.", - "format": "int32", - "type": "integer" - }, - "message": { - "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", - "type": "string" - } - }, - "id": "Status", - "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", - "type": "object" - }, - "Symbol": { - "properties": { - "property": { - "$ref": "TextProperty", - "description": "Additional information detected for the symbol." - }, - "boundingBox": { - "$ref": "BoundingPoly", - "description": "The bounding box for the symbol.\nThe vertices are in the order of top-left, top-right, bottom-right,\nbottom-left. When a rotation of the bounding box is detected the rotation\nis represented as around the top-left corner as defined when the text is\nread in the 'natural' orientation.\nFor example:\n * when the text is horizontal it might look like:\n 0----1\n | |\n 3----2\n * when it's rotated 180 degrees around the top-left corner it becomes:\n 2----3\n | |\n 1----0\n and the vertice order will still be (0, 1, 2, 3)." - }, - "text": { - "description": "The actual UTF-8 representation of the symbol.", - "type": "string" - } - }, - "id": "Symbol", - "description": "A single symbol representation.", - "type": "object" - }, - "LatLongRect": { - "description": "Rectangle determined by min and max `LatLng` pairs.", - "type": "object", - "properties": { - "maxLatLng": { - "$ref": "LatLng", - "description": "Max lat/long pair." - }, - "minLatLng": { - "$ref": "LatLng", - "description": "Min lat/long pair." - } - }, - "id": "LatLongRect" - }, - "CropHintsAnnotation": { - "properties": { - "cropHints": { - "description": "Crop hint results.", - "type": "array", - "items": { - "$ref": "CropHint" - } - } - }, - "id": "CropHintsAnnotation", - "description": "Set of crop hints that are used to generate new crops when serving images.", - "type": "object" - }, - "LatLng": { - "description": "An object representing a latitude/longitude pair. This is expressed as a pair\nof doubles representing degrees latitude and degrees longitude. Unless\nspecified otherwise, this must conform to the\n\u003ca href=\"http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf\"\u003eWGS84\nstandard\u003c/a\u003e. Values must be within normalized ranges.\n\nExample of normalization code in Python:\n\n def NormalizeLongitude(longitude):\n \"\"\"Wraps decimal degrees longitude to [-180.0, 180.0].\"\"\"\n q, r = divmod(longitude, 360.0)\n if r \u003e 180.0 or (r == 180.0 and q \u003c= -1.0):\n return r - 360.0\n return r\n\n def NormalizeLatLng(latitude, longitude):\n \"\"\"Wraps decimal degrees latitude and longitude to\n [-90.0, 90.0] and [-180.0, 180.0], respectively.\"\"\"\n r = latitude % 360.0\n if r \u003c= 90.0:\n return r, NormalizeLongitude(longitude)\n elif r \u003e= 270.0:\n return r - 360, NormalizeLongitude(longitude)\n else:\n return 180 - r, NormalizeLongitude(longitude + 180.0)\n\n assert 180.0 == NormalizeLongitude(180.0)\n assert -180.0 == NormalizeLongitude(-180.0)\n assert -179.0 == NormalizeLongitude(181.0)\n assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)\n assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)\n assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)\n assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)\n assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)\n assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)\n assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)\n assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)\n assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)\n assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)", - "type": "object", - "properties": { - "longitude": { - "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].", - "format": "double", - "type": "number" - }, - "latitude": { - "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", - "format": "double", - "type": "number" - } - }, - "id": "LatLng" - }, - "Color": { - "properties": { - "red": { - "description": "The amount of red in the color as a value in the interval [0, 1].", - "format": "float", - "type": "number" - }, - "green": { - "description": "The amount of green in the color as a value in the interval [0, 1].", - "format": "float", - "type": "number" - }, - "blue": { - "description": "The amount of blue in the color as a value in the interval [0, 1].", - "format": "float", - "type": "number" - }, - "alpha": { - "description": "The fraction of this color that should be applied to the pixel. That is,\nthe final pixel color is defined by the equation:\n\n pixel color = alpha * (this color) + (1.0 - alpha) * (background color)\n\nThis means that a value of 1.0 corresponds to a solid color, whereas\na value of 0.0 corresponds to a completely transparent color. This\nuses a wrapper message rather than a simple float scalar so that it is\npossible to distinguish between a default value and the value being unset.\nIf omitted, this color object is to be rendered as a solid color\n(as if the alpha value had been explicitly given with a value of 1.0).", - "format": "float", - "type": "number" - } - }, - "id": "Color", - "description": "Represents a color in the RGBA color space. This representation is designed\nfor simplicity of conversion to/from color representations in various\nlanguages over compactness; for example, the fields of this representation\ncan be trivially provided to the constructor of \"java.awt.Color\" in Java; it\ncan also be trivially provided to UIColor's \"+colorWithRed:green:blue:alpha\"\nmethod in iOS; and, with just a little work, it can be easily formatted into\na CSS \"rgba()\" string in JavaScript, as well. Here are some examples:\n\nExample (Java):\n\n import com.google.type.Color;\n\n // ...\n public static java.awt.Color fromProto(Color protocolor) {\n float alpha = protocolor.hasAlpha()\n ? protocolor.getAlpha().getValue()\n : 1.0;\n\n return new java.awt.Color(\n protocolor.getRed(),\n protocolor.getGreen(),\n protocolor.getBlue(),\n alpha);\n }\n\n public static Color toProto(java.awt.Color color) {\n float red = (float) color.getRed();\n float green = (float) color.getGreen();\n float blue = (float) color.getBlue();\n float denominator = 255.0;\n Color.Builder resultBuilder =\n Color\n .newBuilder()\n .setRed(red / denominator)\n .setGreen(green / denominator)\n .setBlue(blue / denominator);\n int alpha = color.getAlpha();\n if (alpha != 255) {\n result.setAlpha(\n FloatValue\n .newBuilder()\n .setValue(((float) alpha) / denominator)\n .build());\n }\n return resultBuilder.build();\n }\n // ...\n\nExample (iOS / Obj-C):\n\n // ...\n static UIColor* fromProto(Color* protocolor) {\n float red = [protocolor red];\n float green = [protocolor green];\n float blue = [protocolor blue];\n FloatValue* alpha_wrapper = [protocolor alpha];\n float alpha = 1.0;\n if (alpha_wrapper != nil) {\n alpha = [alpha_wrapper value];\n }\n return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];\n }\n\n static Color* toProto(UIColor* color) {\n CGFloat red, green, blue, alpha;\n if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {\n return nil;\n }\n Color* result = [Color alloc] init];\n [result setRed:red];\n [result setGreen:green];\n [result setBlue:blue];\n if (alpha \u003c= 0.9999) {\n [result setAlpha:floatWrapperWithValue(alpha)];\n }\n [result autorelease];\n return result;\n }\n // ...\n\n Example (JavaScript):\n\n // ...\n\n var protoToCssColor = function(rgb_color) {\n var redFrac = rgb_color.red || 0.0;\n var greenFrac = rgb_color.green || 0.0;\n var blueFrac = rgb_color.blue || 0.0;\n var red = Math.floor(redFrac * 255);\n var green = Math.floor(greenFrac * 255);\n var blue = Math.floor(blueFrac * 255);\n\n if (!('alpha' in rgb_color)) {\n return rgbToCssColor_(red, green, blue);\n }\n\n var alphaFrac = rgb_color.alpha.value || 0.0;\n var rgbParams = [red, green, blue].join(',');\n return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');\n };\n\n var rgbToCssColor_ = function(red, green, blue) {\n var rgbNumber = new Number((red \u003c\u003c 16) | (green \u003c\u003c 8) | blue);\n var hexString = rgbNumber.toString(16);\n var missingZeros = 6 - hexString.length;\n var resultBuilder = ['#'];\n for (var i = 0; i \u003c missingZeros; i++) {\n resultBuilder.push('0');\n }\n resultBuilder.push(hexString);\n return resultBuilder.join('');\n };\n\n // ...", - "type": "object" - }, - "ImageProperties": { - "description": "Stores image properties, such as dominant colors.", - "type": "object", - "properties": { - "dominantColors": { - "description": "If present, dominant colors completed successfully.", - "$ref": "DominantColorsAnnotation" - } - }, - "id": "ImageProperties" - }, - "Feature": { - "description": "Users describe the type of Google Cloud Vision API tasks to perform over\nimages by using *Feature*s. Each Feature indicates a type of image\ndetection task to perform. Features encode the Cloud Vision API\nvertical to operate on and the number of top-scoring results to return.", - "type": "object", - "properties": { - "type": { - "enum": [ - "TYPE_UNSPECIFIED", - "FACE_DETECTION", - "LANDMARK_DETECTION", - "LOGO_DETECTION", - "LABEL_DETECTION", - "TEXT_DETECTION", - "DOCUMENT_TEXT_DETECTION", - "SAFE_SEARCH_DETECTION", - "IMAGE_PROPERTIES", - "CROP_HINTS", - "WEB_DETECTION" - ], - "description": "The feature type.", - "type": "string", - "enumDescriptions": [ - "Unspecified feature type.", - "Run face detection.", - "Run landmark detection.", - "Run logo detection.", - "Run label detection.", - "Run OCR.", - "Run dense text document OCR. Takes precedence when both\nDOCUMENT_TEXT_DETECTION and TEXT_DETECTION are present.", - "Run computer vision models to compute image safe-search properties.", - "Compute a set of image properties, such as the image's dominant colors.", - "Run crop hints.", - "Run web detection." - ] - }, - "maxResults": { - "description": "Maximum number of results of this type.", - "format": "int32", - "type": "integer" - } - }, - "id": "Feature" - }, - "SafeSearchAnnotation": { - "description": "Set of features pertaining to the image, computed by computer vision\nmethods over safe-search verticals (for example, adult, spoof, medical,\nviolence).", - "type": "object", - "properties": { - "spoof": { - "enum": [ - "UNKNOWN", - "VERY_UNLIKELY", - "UNLIKELY", - "POSSIBLE", - "LIKELY", - "VERY_LIKELY" - ], - "description": "Spoof likelihood. The likelihood that an modification\nwas made to the image's canonical version to make it appear\nfunny or offensive.", - "type": "string", - "enumDescriptions": [ - "Unknown likelihood.", - "It is very unlikely that the image belongs to the specified vertical.", - "It is unlikely that the image belongs to the specified vertical.", - "It is possible that the image belongs to the specified vertical.", - "It is likely that the image belongs to the specified vertical.", - "It is very likely that the image belongs to the specified vertical." - ] - }, - "medical": { - "enumDescriptions": [ - "Unknown likelihood.", - "It is very unlikely that the image belongs to the specified vertical.", - "It is unlikely that the image belongs to the specified vertical.", - "It is possible that the image belongs to the specified vertical.", - "It is likely that the image belongs to the specified vertical.", - "It is very likely that the image belongs to the specified vertical." - ], - "enum": [ - "UNKNOWN", - "VERY_UNLIKELY", - "UNLIKELY", - "POSSIBLE", - "LIKELY", - "VERY_LIKELY" - ], - "description": "Likelihood that this is a medical image.", - "type": "string" - }, - "violence": { - "enum": [ - "UNKNOWN", - "VERY_UNLIKELY", - "UNLIKELY", - "POSSIBLE", - "LIKELY", - "VERY_LIKELY" - ], - "description": "Violence likelihood.", - "type": "string", - "enumDescriptions": [ - "Unknown likelihood.", - "It is very unlikely that the image belongs to the specified vertical.", - "It is unlikely that the image belongs to the specified vertical.", - "It is possible that the image belongs to the specified vertical.", - "It is likely that the image belongs to the specified vertical.", - "It is very likely that the image belongs to the specified vertical." - ] - }, - "adult": { - "enum": [ - "UNKNOWN", - "VERY_UNLIKELY", - "UNLIKELY", - "POSSIBLE", - "LIKELY", - "VERY_LIKELY" - ], - "description": "Represents the adult content likelihood for the image.", - "type": "string", - "enumDescriptions": [ - "Unknown likelihood.", - "It is very unlikely that the image belongs to the specified vertical.", - "It is unlikely that the image belongs to the specified vertical.", - "It is possible that the image belongs to the specified vertical.", - "It is likely that the image belongs to the specified vertical.", - "It is very likely that the image belongs to the specified vertical." - ] - } - }, - "id": "SafeSearchAnnotation" - }, - "DominantColorsAnnotation": { - "description": "Set of dominant colors and their corresponding scores.", - "type": "object", - "properties": { - "colors": { - "description": "RGB color values with their score and pixel fraction.", - "type": "array", - "items": { - "$ref": "ColorInfo" - } - } - }, - "id": "DominantColorsAnnotation" - }, - "TextAnnotation": { - "properties": { - "pages": { - "description": "List of pages detected by OCR.", - "type": "array", - "items": { - "$ref": "Page" - } - }, - "text": { - "description": "UTF-8 text detected on the pages.", - "type": "string" - } - }, - "id": "TextAnnotation", - "description": "TextAnnotation contains a structured representation of OCR extracted text.\nThe hierarchy of an OCR extracted text structure is like this:\n TextAnnotation -\u003e Page -\u003e Block -\u003e Paragraph -\u003e Word -\u003e Symbol\nEach structural component, starting from Page, may further have their own\nproperties. Properties describe detected languages, breaks etc.. Please\nrefer to the google.cloud.vision.v1.TextAnnotation.TextProperty message\ndefinition below for more detail.", - "type": "object" - }, - "DetectedLanguage": { - "description": "Detected language for a structural component.", - "type": "object", - "properties": { - "confidence": { - "description": "Confidence of detected language. Range [0, 1].", - "format": "float", - "type": "number" - }, - "languageCode": { - "description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more\ninformation, see\nhttp://www.unicode.org/reports/tr35/#Unicode_locale_identifier.", - "type": "string" - } - }, - "id": "DetectedLanguage" - }, - "Vertex": { - "properties": { - "y": { - "description": "Y coordinate.", - "format": "int32", - "type": "integer" - }, - "x": { - "description": "X coordinate.", - "format": "int32", - "type": "integer" - } - }, - "id": "Vertex", - "description": "A vertex represents a 2D point in the image.\nNOTE: the vertex coordinates are in the same scale as the original image.", - "type": "object" - }, - "TextProperty": { - "properties": { - "detectedLanguages": { - "description": "A list of detected languages together with confidence.", - "type": "array", - "items": { - "$ref": "DetectedLanguage" - } - }, - "detectedBreak": { - "description": "Detected start or end of a text segment.", - "$ref": "DetectedBreak" - } - }, - "id": "TextProperty", - "description": "Additional information detected on the structural component.", - "type": "object" - }, - "BoundingPoly": { - "properties": { - "vertices": { - "description": "The bounding polygon vertices.", - "type": "array", - "items": { - "$ref": "Vertex" - } - } - }, - "id": "BoundingPoly", - "description": "A bounding polygon for the detected image annotation.", - "type": "object" - }, - "WebEntity": { - "properties": { - "entityId": { - "description": "Opaque entity ID.", - "type": "string" - }, - "description": { - "description": "Canonical description of the entity, in English.", - "type": "string" - }, - "score": { - "description": "Overall relevancy score for the entity.\nNot normalized and not comparable across different image queries.", - "format": "float", - "type": "number" - } - }, - "id": "WebEntity", - "description": "Entity deduced from similar images on the Internet.", - "type": "object" - }, - "AnnotateImageResponse": { - "description": "Response to an image annotation request.", - "type": "object", - "properties": { - "fullTextAnnotation": { - "$ref": "TextAnnotation", - "description": "If present, text (OCR) detection or document (OCR) text detection has\ncompleted successfully.\nThis annotation provides the structural hierarchy for the OCR detected\ntext." - }, - "landmarkAnnotations": { - "description": "If present, landmark detection has completed successfully.", - "type": "array", - "items": { - "$ref": "EntityAnnotation" - } - }, - "textAnnotations": { - "description": "If present, text (OCR) detection has completed successfully.", - "type": "array", - "items": { - "$ref": "EntityAnnotation" - } - }, - "imagePropertiesAnnotation": { - "description": "If present, image properties were extracted successfully.", - "$ref": "ImageProperties" - }, - "faceAnnotations": { - "description": "If present, face detection has completed successfully.", - "type": "array", - "items": { - "$ref": "FaceAnnotation" - } - }, - "logoAnnotations": { - "description": "If present, logo detection has completed successfully.", - "type": "array", - "items": { - "$ref": "EntityAnnotation" - } - }, - "webDetection": { - "description": "If present, web detection has completed successfully.", - "$ref": "WebDetection" - }, - "cropHintsAnnotation": { - "$ref": "CropHintsAnnotation", - "description": "If present, crop hints have completed successfully." - }, - "safeSearchAnnotation": { - "description": "If present, safe-search annotation has completed successfully.", - "$ref": "SafeSearchAnnotation" - }, - "labelAnnotations": { - "description": "If present, label detection has completed successfully.", - "type": "array", - "items": { - "$ref": "EntityAnnotation" - } - }, - "error": { - "description": "If set, represents the error message for the operation.\nNote that filled-in image annotations are guaranteed to be\ncorrect, even when `error` is set.", - "$ref": "Status" - } - }, - "id": "AnnotateImageResponse" - }, - "CropHintsParams": { - "description": "Parameters for crop hints annotation request.", - "type": "object", - "properties": { - "aspectRatios": { - "description": "Aspect ratios in floats, representing the ratio of the width to the height\nof the image. For example, if the desired aspect ratio is 4/3, the\ncorresponding float value should be 1.33333. If not specified, the\nbest possible crop is returned. The number of provided aspect ratios is\nlimited to a maximum of 16; any aspect ratios provided after the 16th are\nignored.", - "type": "array", - "items": { - "format": "float", - "type": "number" - } - } - }, - "id": "CropHintsParams" - }, - "Block": { - "properties": { - "property": { - "description": "Additional information detected for the block.", - "$ref": "TextProperty" - }, - "blockType": { - "enumDescriptions": [ - "Unknown block type.", - "Regular text block.", - "Table block.", - "Image block.", - "Horizontal/vertical line box.", - "Barcode block." - ], - "enum": [ - "UNKNOWN", - "TEXT", - "TABLE", - "PICTURE", - "RULER", - "BARCODE" - ], - "description": "Detected block type (text, image etc) for this block.", - "type": "string" - }, - "boundingBox": { - "$ref": "BoundingPoly", - "description": "The bounding box for the block.\nThe vertices are in the order of top-left, top-right, bottom-right,\nbottom-left. When a rotation of the bounding box is detected the rotation\nis represented as around the top-left corner as defined when the text is\nread in the 'natural' orientation.\nFor example:\n * when the text is horizontal it might look like:\n 0----1\n | |\n 3----2\n * when it's rotated 180 degrees around the top-left corner it becomes:\n 2----3\n | |\n 1----0\n and the vertice order will still be (0, 1, 2, 3)." - }, - "paragraphs": { - "description": "List of paragraphs in this block (if this blocks is of type text).", - "type": "array", - "items": { - "$ref": "Paragraph" - } - } - }, - "id": "Block", - "description": "Logical element on the page.", - "type": "object" - }, - "Property": { - "description": "A `Property` consists of a user-supplied name/value pair.", - "type": "object", - "properties": { - "uint64Value": { - "description": "Value of numeric properties.", - "format": "uint64", - "type": "string" - }, - "name": { - "description": "Name of the property.", - "type": "string" - }, - "value": { - "description": "Value of the property.", - "type": "string" - } - }, - "id": "Property" - }, - "LocationInfo": { - "properties": { - "latLng": { - "$ref": "LatLng", - "description": "lat/long location coordinates." - } - }, - "id": "LocationInfo", - "description": "Detected entity location information.", - "type": "object" - }, - "ImageSource": { - "properties": { - "gcsImageUri": { - "description": "NOTE: For new code `image_uri` below is preferred.\nGoogle Cloud Storage image URI, which must be in the following form:\n`gs://bucket_name/object_name` (for details, see\n[Google Cloud Storage Request\nURIs](https://cloud.google.com/storage/docs/reference-uris)).\nNOTE: Cloud Storage object versioning is not supported.", - "type": "string" - }, - "imageUri": { - "description": "Image URI which supports:\n1) Google Cloud Storage image URI, which must be in the following form:\n`gs://bucket_name/object_name` (for details, see\n[Google Cloud Storage Request\nURIs](https://cloud.google.com/storage/docs/reference-uris)).\nNOTE: Cloud Storage object versioning is not supported.\n2) Publicly accessible image HTTP/HTTPS URL.\nThis is preferred over the legacy `gcs_image_uri` above. When both\n`gcs_image_uri` and `image_uri` are specified, `image_uri` takes\nprecedence.", - "type": "string" - } - }, - "id": "ImageSource", - "description": "External image source (Google Cloud Storage image location).", - "type": "object" - }, - "BatchAnnotateImagesResponse": { - "properties": { - "responses": { - "description": "Individual responses to image annotation requests within the batch.", - "type": "array", - "items": { - "$ref": "AnnotateImageResponse" - } - } - }, - "id": "BatchAnnotateImagesResponse", - "description": "Response to a batch image annotation request.", - "type": "object" - }, - "WebDetection": { - "description": "Relevant information for the image from the Internet.", - "type": "object", - "properties": { - "fullMatchingImages": { - "description": "Fully matching images from the Internet.\nCan include resized copies of the query image.", - "type": "array", - "items": { - "$ref": "WebImage" - } - }, - "webEntities": { - "description": "Deduced entities from similar images on the Internet.", - "type": "array", - "items": { - "$ref": "WebEntity" - } - }, - "pagesWithMatchingImages": { - "description": "Web pages containing the matching images from the Internet.", - "type": "array", - "items": { - "$ref": "WebPage" - } - }, - "partialMatchingImages": { - "description": "Partial matching images from the Internet.\nThose images are similar enough to share some key-point features. For\nexample an original image will likely have partial matching for its crops.", - "type": "array", - "items": { - "$ref": "WebImage" - } - }, - "visuallySimilarImages": { - "description": "The visually similar image results.", - "type": "array", - "items": { - "$ref": "WebImage" - } - } - }, - "id": "WebDetection" - }, - "Position": { - "description": "A 3D position in the image, used primarily for Face detection landmarks.\nA valid Position must have both x and y coordinates.\nThe position coordinates are in the same scale as the original image.", - "type": "object", - "properties": { - "y": { - "description": "Y coordinate.", - "format": "float", - "type": "number" - }, - "x": { - "description": "X coordinate.", - "format": "float", - "type": "number" - }, - "z": { - "description": "Z coordinate (or depth).", - "format": "float", - "type": "number" - } - }, - "id": "Position" } }, "icons": { - "x32": "http://www.google.com/images/icons/product/search-32.gif", - "x16": "http://www.google.com/images/icons/product/search-16.gif" + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "protocol": "rest", "canonicalName": "Vision", "auth": { "oauth2": { "scopes": { + "https://www.googleapis.com/auth/cloud-vision": { + "description": "Apply machine learning models to understand and label images" + }, "https://www.googleapis.com/auth/cloud-platform": { "description": "View and manage your data across Google Cloud Platform services" } } } }, - "rootUrl": "https://vision.googleapis.com/", - "ownerDomain": "google.com", - "name": "vision", - "batchPath": "batch" + "rootUrl": "https://vision.googleapis.com/" } diff --git a/vendor/google.golang.org/api/vision/v1/vision-gen.go b/vendor/google.golang.org/api/vision/v1/vision-gen.go index 7af1c7412..d85c0218b 100644 --- a/vendor/google.golang.org/api/vision/v1/vision-gen.go +++ b/vendor/google.golang.org/api/vision/v1/vision-gen.go @@ -49,6 +49,9 @@ const basePath = "https://vision.googleapis.com/" const ( // View and manage your data across Google Cloud Platform services CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" + + // Apply machine learning models to understand and label images + CloudVisionScope = "https://www.googleapis.com/auth/cloud-vision" ) func New(client *http.Client) (*Service, error) { @@ -845,13 +848,9 @@ func (s *DominantColorsAnnotation) MarshalJSON() ([]byte, error) { // EntityAnnotation: Set of detected entity features. type EntityAnnotation struct { - // BoundingPoly: Image region to which this entity belongs. Currently - // not produced - // for `LABEL_DETECTION` features. For `TEXT_DETECTION` (OCR), - // `boundingPoly`s - // are produced for the entire text detected in an image region, - // followed by - // `boundingPoly`s for each word within the detected text. + // BoundingPoly: Image region to which this entity belongs. Not + // produced + // for `LABEL_DETECTION` features. BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` // Confidence: The accuracy of the entity detection in an image. @@ -1969,9 +1968,9 @@ type Status struct { // google.rpc.Code. Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There will - // be a - // common set of message types for APIs to use. + // Details: A list of messages that carry the error details. There is a + // common set of + // message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in @@ -2263,8 +2262,7 @@ func (s *WebEntity) UnmarshalJSON(data []byte) error { // WebImage: Metadata for online images. type WebImage struct { - // Score: Overall relevancy score for the image. - // Not normalized and not comparable across different image queries. + // Score: (Deprecated) Overall relevancy score for the image. Score float64 `json:"score,omitempty"` // Url: The result image URL. @@ -2309,8 +2307,7 @@ func (s *WebImage) UnmarshalJSON(data []byte) error { // WebPage: Metadata for web pages. type WebPage struct { - // Score: Overall relevancy score for the web page. - // Not normalized and not comparable across different image queries. + // Score: (Deprecated) Overall relevancy score for the web page. Score float64 `json:"score,omitempty"` // Url: The result web page URL. @@ -2520,7 +2517,8 @@ func (c *ImagesAnnotateCall) Do(opts ...googleapi.CallOption) (*BatchAnnotateIma // "$ref": "BatchAnnotateImagesResponse" // }, // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-vision" // ] // } diff --git a/vendor/google.golang.org/api/webfonts/v1/webfonts-api.json b/vendor/google.golang.org/api/webfonts/v1/webfonts-api.json index 747d2375d..d91688b98 100644 --- a/vendor/google.golang.org/api/webfonts/v1/webfonts-api.json +++ b/vendor/google.golang.org/api/webfonts/v1/webfonts-api.json @@ -20,7 +20,7 @@ "basePath": "/webfonts/v1/", "rootUrl": "https://www.googleapis.com/", "servicePath": "webfonts/v1/", - "batchPath": "batch", + "batchPath": "batch/webfonts/v1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/webmasters/v3/webmasters-api.json b/vendor/google.golang.org/api/webmasters/v3/webmasters-api.json index 83f03e98b..657cab5b7 100644 --- a/vendor/google.golang.org/api/webmasters/v3/webmasters-api.json +++ b/vendor/google.golang.org/api/webmasters/v3/webmasters-api.json @@ -20,7 +20,7 @@ "basePath": "/webmasters/v3/", "rootUrl": "https://www.googleapis.com/", "servicePath": "webmasters/v3/", - "batchPath": "batch", + "batchPath": "batch/webmasters/v3", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/youtube/v3/youtube-api.json b/vendor/google.golang.org/api/youtube/v3/youtube-api.json index cbe78ed19..65146c6c3 100644 --- a/vendor/google.golang.org/api/youtube/v3/youtube-api.json +++ b/vendor/google.golang.org/api/youtube/v3/youtube-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/f81k8b4sv9uLeywfoj2KpL2xcPg\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/AIWw-yWxHTNchYNbx8LfngbqcZ8\"", "discoveryVersion": "v1", "id": "youtube:v3", "name": "youtube", "canonicalName": "YouTube", "version": "v3", - "revision": "20170130", + "revision": "20170918", "title": "YouTube Data API", "description": "Supports core YouTube features, such as uploading videos, creating and managing playlists, searching for content, and much more.", "ownerDomain": "google.com", @@ -21,7 +21,7 @@ "basePath": "/youtube/v3/", "rootUrl": "https://www.googleapis.com/", "servicePath": "youtube/v3/", - "batchPath": "batch", + "batchPath": "batch/youtube/v3", "parameters": { "alt": { "type": "string", @@ -1771,7 +1771,7 @@ "ContentRating": { "id": "ContentRating", "type": "object", - "description": "Ratings schemes. The country-specific ratings are mostly for movies and shows. NEXT_ID: 69", + "description": "Ratings schemes. The country-specific ratings are mostly for movies and shows. NEXT_ID: 71", "properties": { "acbRating": { "type": "string", @@ -2807,6 +2807,24 @@ "" ] }, + "menaMpaaRating": { + "type": "string", + "description": "The rating system for MENA countries, a clone of MPAA. It is needed to", + "enum": [ + "menaMpaaG", + "menaMpaaPg", + "menaMpaaPg13", + "menaMpaaR", + "menaMpaaUnrated" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ] + }, "mibacRating": { "type": "string", "description": "The video's rating from the Ministero dei Beni e delle Attività Culturali e del Turismo (Italy).", @@ -2895,6 +2913,18 @@ "" ] }, + "mpaatRating": { + "type": "string", + "description": "The rating system for trailer, DVD, and Ad in the US. See http://movielabs.com/md/ratings/v2.3/html/US_MPAAT_Ratings.html.", + "enum": [ + "mpaatGb", + "mpaatRb" + ], + "enumDescriptions": [ + "", + "" + ] + }, "mtrcbRating": { "type": "string", "description": "The video's rating from the Movie and Television Review and Classification Board (Philippines).", @@ -3879,9 +3909,6 @@ "status": { "$ref": "LiveBroadcastStatus", "description": "The status object contains information about the event's status." - }, - "topicDetails": { - "$ref": "LiveBroadcastTopicDetails" } } }, @@ -3947,6 +3974,24 @@ "type": "boolean", "description": "Indicates whether this broadcast has low latency enabled." }, + "latencyPreference": { + "type": "string", + "description": "If both this and enable_low_latency are set, they must match. LATENCY_NORMAL should match enable_low_latency=false LATENCY_LOW should match enable_low_latency=true LATENCY_ULTRA_LOW should have enable_low_latency omitted.", + "enum": [ + "low", + "normal", + "ultraLow" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, + "mesh": { + "type": "string", + "format": "byte" + }, "monitorStream": { "$ref": "MonitorStreamInfo", "description": "The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly." @@ -3956,9 +4001,11 @@ "description": "The projection format of this broadcast. This defaults to rectangular.", "enum": [ "360", + "mesh", "rectangular" ], "enumDescriptions": [ + "", "", "" ] @@ -4194,56 +4241,6 @@ } } }, - "LiveBroadcastTopic": { - "id": "LiveBroadcastTopic", - "type": "object", - "properties": { - "snippet": { - "$ref": "LiveBroadcastTopicSnippet", - "description": "Information about the topic matched." - }, - "type": { - "type": "string", - "description": "The type of the topic.", - "enum": [ - "videoGame" - ], - "enumDescriptions": [ - "" - ] - }, - "unmatched": { - "type": "boolean", - "description": "If this flag is set it means that we have not been able to match the topic title and type provided to a known entity." - } - } - }, - "LiveBroadcastTopicDetails": { - "id": "LiveBroadcastTopicDetails", - "type": "object", - "properties": { - "topics": { - "type": "array", - "items": { - "$ref": "LiveBroadcastTopic" - } - } - } - }, - "LiveBroadcastTopicSnippet": { - "id": "LiveBroadcastTopicSnippet", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the topic." - }, - "releaseDate": { - "type": "string", - "description": "The date at which the topic was released. Filled for types: videoGame" - } - } - }, "LiveChatBan": { "id": "LiveChatBan", "type": "object", @@ -7307,6 +7304,7 @@ "items": { "type": "string", "enum": [ + "hdrVideo", "nonStreamableMov", "sendBestQualityVideo", "spatialAudio", @@ -7318,6 +7316,7 @@ "", "", "", + "", "" ] } @@ -7331,10 +7330,13 @@ "hasEditlist", "inconsistentResolution", "problematicAudioCodec", + "problematicHdrLookupTable", "problematicVideoCodec", "unknownAudioCodec", "unknownContainer", "unknownVideoCodec", + "unsupportedHdrColorMetadata", + "unsupportedHdrPixelFormat", "unsupportedSphericalProjectionType", "unsupportedVrStereoMode" ], @@ -7347,6 +7349,9 @@ "", "", "", + "", + "", + "", "" ] } @@ -7796,6 +7801,11 @@ "httpMethod": "POST", "description": "Uploads a channel banner image to YouTube. This method represents the first two steps in a three-step process to update the banner image for a channel:\n\n- Call the channelBanners.insert method to upload the binary image data to YouTube. The image must have a 16:9 aspect ratio and be at least 2120x1192 pixels.\n- Extract the url property's value from the response that the API returns for step 1.\n- Call the channels.update method to update the channel's branding settings. Set the brandingSettings.image.bannerExternalUrl property's value to the URL obtained in step 2.", "parameters": { + "channelId": { + "type": "string", + "description": "The channelId parameter identifies the YouTube channel to which the banner is uploaded. The channelId parameter was introduced as a required parameter in May 2017. As this was a backward-incompatible change, channelBanners.insert requests that do not specify this parameter will not return an error until six months have passed from the time that the parameter was introduced. Please see the API Terms of Service for the official policy regarding backward incompatible changes and the API revision history for the exact date that the parameter was introduced.", + "location": "query" + }, "onBehalfOfContentOwner": { "type": "string", "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", @@ -10291,7 +10301,7 @@ "description": "The maxResults parameter specifies the maximum number of items that should be returned in the result set.", "default": "5", "format": "uint32", - "minimum": "0", + "minimum": "1", "maximum": "50", "location": "query" }, diff --git a/vendor/google.golang.org/api/youtube/v3/youtube-gen.go b/vendor/google.golang.org/api/youtube/v3/youtube-gen.go index 525ce860d..5f4a6bb89 100644 --- a/vendor/google.golang.org/api/youtube/v3/youtube-gen.go +++ b/vendor/google.golang.org/api/youtube/v3/youtube-gen.go @@ -2802,7 +2802,7 @@ func (s *CommentThreadSnippet) MarshalJSON() ([]byte, error) { } // ContentRating: Ratings schemes. The country-specific ratings are -// mostly for movies and shows. NEXT_ID: 69 +// mostly for movies and shows. NEXT_ID: 71 type ContentRating struct { // AcbRating: The video's Australian Classification Board (ACB) or // Australian Communications and Media Authority (ACMA) rating. ACMA @@ -3408,6 +3408,17 @@ type ContentRating struct { // "mekuUnrated" MekuRating string `json:"mekuRating,omitempty"` + // MenaMpaaRating: The rating system for MENA countries, a clone of + // MPAA. It is needed to + // + // Possible values: + // "menaMpaaG" + // "menaMpaaPg" + // "menaMpaaPg13" + // "menaMpaaR" + // "menaMpaaUnrated" + MenaMpaaRating string `json:"menaMpaaRating,omitempty"` + // MibacRating: The video's rating from the Ministero dei Beni e delle // Attività Culturali e del Turismo (Italy). // @@ -3459,6 +3470,14 @@ type ContentRating struct { // "mpaaUnrated" MpaaRating string `json:"mpaaRating,omitempty"` + // MpaatRating: The rating system for trailer, DVD, and Ad in the US. + // See http://movielabs.com/md/ratings/v2.3/html/US_MPAAT_Ratings.html. + // + // Possible values: + // "mpaatGb" + // "mpaatRb" + MpaatRating string `json:"mpaatRating,omitempty"` + // MtrcbRating: The video's rating from the Movie and Television Review // and Classification Board (Philippines). // @@ -4659,8 +4678,6 @@ type LiveBroadcast struct { // status. Status *LiveBroadcastStatus `json:"status,omitempty"` - TopicDetails *LiveBroadcastTopicDetails `json:"topicDetails,omitempty"` - // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -4740,6 +4757,19 @@ type LiveBroadcastContentDetails struct { // enabled. EnableLowLatency bool `json:"enableLowLatency,omitempty"` + // LatencyPreference: If both this and enable_low_latency are set, they + // must match. LATENCY_NORMAL should match enable_low_latency=false + // LATENCY_LOW should match enable_low_latency=true LATENCY_ULTRA_LOW + // should have enable_low_latency omitted. + // + // Possible values: + // "low" + // "normal" + // "ultraLow" + LatencyPreference string `json:"latencyPreference,omitempty"` + + Mesh string `json:"mesh,omitempty"` + // MonitorStream: The monitorStream object contains information about // the monitor stream, which the broadcaster can use to review the event // content before the broadcast stream is shown publicly. @@ -4750,6 +4780,7 @@ type LiveBroadcastContentDetails struct { // // Possible values: // "360" + // "mesh" // "rectangular" Projection string `json:"projection,omitempty"` @@ -5047,100 +5078,6 @@ func (s *LiveBroadcastStatus) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type LiveBroadcastTopic struct { - // Snippet: Information about the topic matched. - Snippet *LiveBroadcastTopicSnippet `json:"snippet,omitempty"` - - // Type: The type of the topic. - // - // Possible values: - // "videoGame" - Type string `json:"type,omitempty"` - - // Unmatched: If this flag is set it means that we have not been able to - // match the topic title and type provided to a known entity. - Unmatched bool `json:"unmatched,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Snippet") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Snippet") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *LiveBroadcastTopic) MarshalJSON() ([]byte, error) { - type noMethod LiveBroadcastTopic - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -type LiveBroadcastTopicDetails struct { - Topics []*LiveBroadcastTopic `json:"topics,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Topics") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Topics") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *LiveBroadcastTopicDetails) MarshalJSON() ([]byte, error) { - type noMethod LiveBroadcastTopicDetails - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -type LiveBroadcastTopicSnippet struct { - // Name: The name of the topic. - Name string `json:"name,omitempty"` - - // ReleaseDate: The date at which the topic was released. Filled for - // types: videoGame - ReleaseDate string `json:"releaseDate,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Name") to - // unconditionally include in API requests. By default, fields with - // empty values are omitted from API requests. However, any non-pointer, - // non-interface field appearing in ForceSendFields will be sent to the - // server regardless of whether the field is empty or not. This may be - // used to include empty fields in Patch requests. - 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. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *LiveBroadcastTopicSnippet) MarshalJSON() ([]byte, error) { - type noMethod LiveBroadcastTopicSnippet - raw := noMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // LiveChatBan: A liveChatBan resource represents a ban for a YouTube // live chat. type LiveChatBan struct { @@ -9594,6 +9531,7 @@ type VideoSuggestions struct { // ability to process the video. // // Possible values: + // "hdrVideo" // "nonStreamableMov" // "sendBestQualityVideo" // "spatialAudio" @@ -9613,10 +9551,13 @@ type VideoSuggestions struct { // "hasEditlist" // "inconsistentResolution" // "problematicAudioCodec" + // "problematicHdrLookupTable" // "problematicVideoCodec" // "unknownAudioCodec" // "unknownContainer" // "unknownVideoCodec" + // "unsupportedHdrColorMetadata" + // "unsupportedHdrPixelFormat" // "unsupportedSphericalProjectionType" // "unsupportedVrStereoMode" ProcessingWarnings []string `json:"processingWarnings,omitempty"` @@ -10536,16 +10477,12 @@ func (c *CaptionsDownloadCall) Do(opts ...googleapi.CallOption) error { // method id "youtube.captions.insert": type CaptionsInsertCall struct { - s *Service - caption *Caption - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + caption *Caption + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Insert: Uploads a caption track. @@ -10605,12 +10542,7 @@ func (c *CaptionsInsertCall) Sync(sync bool) *CaptionsInsertCall { // supplied. // At most one of Media and ResumableMedia may be set. func (c *CaptionsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *CaptionsInsertCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -10625,11 +10557,7 @@ func (c *CaptionsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption // supersede any context previously provided to the Context method. func (c *CaptionsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *CaptionsInsertCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -10638,7 +10566,7 @@ func (c *CaptionsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *CaptionsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *CaptionsInsertCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -10683,27 +10611,16 @@ func (c *CaptionsInsertCall) doRequest(alt string) (*http.Response, error) { reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "captions") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -10736,20 +10653,10 @@ func (c *CaptionsInsertCall) Do(opts ...googleapi.CallOption) (*Caption, error) if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -11036,16 +10943,12 @@ func (c *CaptionsListCall) Do(opts ...googleapi.CallOption) (*CaptionListRespons // method id "youtube.captions.update": type CaptionsUpdateCall struct { - s *Service - caption *Caption - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + caption *Caption + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Update: Updates a caption track. When updating a caption track, you @@ -11106,12 +11009,7 @@ func (c *CaptionsUpdateCall) Sync(sync bool) *CaptionsUpdateCall { // supplied. // At most one of Media and ResumableMedia may be set. func (c *CaptionsUpdateCall) Media(r io.Reader, options ...googleapi.MediaOption) *CaptionsUpdateCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -11126,11 +11024,7 @@ func (c *CaptionsUpdateCall) Media(r io.Reader, options ...googleapi.MediaOption // supersede any context previously provided to the Context method. func (c *CaptionsUpdateCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *CaptionsUpdateCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -11139,7 +11033,7 @@ func (c *CaptionsUpdateCall) ResumableMedia(ctx context.Context, r io.ReaderAt, // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *CaptionsUpdateCall) ProgressUpdater(pu googleapi.ProgressUpdater) *CaptionsUpdateCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -11184,27 +11078,16 @@ func (c *CaptionsUpdateCall) doRequest(alt string) (*http.Response, error) { reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "captions") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("PUT", urls, body) req.Header = reqHeaders @@ -11237,20 +11120,10 @@ func (c *CaptionsUpdateCall) Do(opts ...googleapi.CallOption) (*Caption, error) if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -11345,11 +11218,7 @@ type ChannelBannersInsertCall struct { s *Service channelbannerresource *ChannelBannerResource urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater + mediaInfo_ *gensupport.MediaInfo ctx_ context.Context header_ http.Header } @@ -11372,6 +11241,21 @@ func (r *ChannelBannersService) Insert(channelbannerresource *ChannelBannerResou return c } +// ChannelId sets the optional parameter "channelId": The channelId +// parameter identifies the YouTube channel to which the banner is +// uploaded. The channelId parameter was introduced as a required +// parameter in May 2017. As this was a backward-incompatible change, +// channelBanners.insert requests that do not specify this parameter +// will not return an error until six months have passed from the time +// that the parameter was introduced. Please see the API Terms of +// Service for the official policy regarding backward incompatible +// changes and the API revision history for the exact date that the +// parameter was introduced. +func (c *ChannelBannersInsertCall) ChannelId(channelId string) *ChannelBannersInsertCall { + c.urlParams_.Set("channelId", channelId) + return c +} + // OnBehalfOfContentOwner sets the optional parameter // "onBehalfOfContentOwner": Note: This parameter is intended // exclusively for YouTube content partners. @@ -11399,12 +11283,7 @@ func (c *ChannelBannersInsertCall) OnBehalfOfContentOwner(onBehalfOfContentOwner // supplied. // At most one of Media and ResumableMedia may be set. func (c *ChannelBannersInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *ChannelBannersInsertCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -11419,11 +11298,7 @@ func (c *ChannelBannersInsertCall) Media(r io.Reader, options ...googleapi.Media // supersede any context previously provided to the Context method. func (c *ChannelBannersInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *ChannelBannersInsertCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -11432,7 +11307,7 @@ func (c *ChannelBannersInsertCall) ResumableMedia(ctx context.Context, r io.Read // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *ChannelBannersInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *ChannelBannersInsertCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -11477,27 +11352,16 @@ func (c *ChannelBannersInsertCall) doRequest(alt string) (*http.Response, error) reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "channelBanners/insert") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -11530,20 +11394,10 @@ func (c *ChannelBannersInsertCall) Do(opts ...googleapi.CallOption) (*ChannelBan if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -11591,6 +11445,11 @@ func (c *ChannelBannersInsertCall) Do(opts ...googleapi.CallOption) (*ChannelBan // } // }, // "parameters": { + // "channelId": { + // "description": "The channelId parameter identifies the YouTube channel to which the banner is uploaded. The channelId parameter was introduced as a required parameter in May 2017. As this was a backward-incompatible change, channelBanners.insert requests that do not specify this parameter will not return an error until six months have passed from the time that the parameter was introduced. Please see the API Terms of Service for the official policy regarding backward incompatible changes and the API revision history for the exact date that the parameter was introduced.", + // "location": "query", + // "type": "string" + // }, // "onBehalfOfContentOwner": { // "description": "Note: This parameter is intended exclusively for YouTube content partners.\n\nThe onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", // "location": "query", @@ -21467,7 +21326,7 @@ func (c *SuperChatEventsListCall) Do(opts ...googleapi.CallOption) (*SuperChatEv // "format": "uint32", // "location": "query", // "maximum": "50", - // "minimum": "0", + // "minimum": "1", // "type": "integer" // }, // "pageToken": { @@ -21519,15 +21378,11 @@ func (c *SuperChatEventsListCall) Pages(ctx context.Context, f func(*SuperChatEv // method id "youtube.thumbnails.set": type ThumbnailsSetCall struct { - s *Service - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Set: Uploads a custom video thumbnail to YouTube and sets it for a @@ -21566,12 +21421,7 @@ func (c *ThumbnailsSetCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string // supplied. // At most one of Media and ResumableMedia may be set. func (c *ThumbnailsSetCall) Media(r io.Reader, options ...googleapi.MediaOption) *ThumbnailsSetCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -21586,11 +21436,7 @@ func (c *ThumbnailsSetCall) Media(r io.Reader, options ...googleapi.MediaOption) // supersede any context previously provided to the Context method. func (c *ThumbnailsSetCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *ThumbnailsSetCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -21599,7 +21445,7 @@ func (c *ThumbnailsSetCall) ResumableMedia(ctx context.Context, r io.ReaderAt, s // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *ThumbnailsSetCall) ProgressUpdater(pu googleapi.ProgressUpdater) *ThumbnailsSetCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -21639,27 +21485,16 @@ func (c *ThumbnailsSetCall) doRequest(alt string) (*http.Response, error) { var body io.Reader = nil c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "thumbnails/set") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -21692,20 +21527,10 @@ func (c *ThumbnailsSetCall) Do(opts ...googleapi.CallOption) (*ThumbnailSetRespo if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -22389,16 +22214,12 @@ func (c *VideosGetRatingCall) Do(opts ...googleapi.CallOption) (*VideoGetRatingR // method id "youtube.videos.insert": type VideosInsertCall struct { - s *Service - video *Video - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + video *Video + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Insert: Uploads a video to YouTube and optionally sets the video's @@ -22492,12 +22313,7 @@ func (c *VideosInsertCall) Stabilize(stabilize bool) *VideosInsertCall { // supplied. // At most one of Media and ResumableMedia may be set. func (c *VideosInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *VideosInsertCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -22512,11 +22328,7 @@ func (c *VideosInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) // supersede any context previously provided to the Context method. func (c *VideosInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *VideosInsertCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -22525,7 +22337,7 @@ func (c *VideosInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, si // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *VideosInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *VideosInsertCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -22570,27 +22382,16 @@ func (c *VideosInsertCall) doRequest(alt string) (*http.Response, error) { reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "videos") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -22623,20 +22424,10 @@ func (c *VideosInsertCall) Do(opts ...googleapi.CallOption) (*Video, error) { if err := googleapi.CheckResponse(res); err != nil { return nil, err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() @@ -23500,16 +23291,12 @@ func (c *VideosUpdateCall) Do(opts ...googleapi.CallOption) (*Video, error) { // method id "youtube.watermarks.set": type WatermarksSetCall struct { - s *Service - invideobranding *InvideoBranding - urlParams_ gensupport.URLParams - media_ io.Reader - mediaBuffer_ *gensupport.MediaBuffer - mediaType_ string - mediaSize_ int64 // mediaSize, if known. Used only for calls to progressUpdater_. - progressUpdater_ googleapi.ProgressUpdater - ctx_ context.Context - header_ http.Header + s *Service + invideobranding *InvideoBranding + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header } // Set: Uploads a watermark image to YouTube and sets it for a channel. @@ -23547,12 +23334,7 @@ func (c *WatermarksSetCall) OnBehalfOfContentOwner(onBehalfOfContentOwner string // supplied. // At most one of Media and ResumableMedia may be set. func (c *WatermarksSetCall) Media(r io.Reader, options ...googleapi.MediaOption) *WatermarksSetCall { - opts := googleapi.ProcessMediaOptions(options) - chunkSize := opts.ChunkSize - if !opts.ForceEmptyContentType { - r, c.mediaType_ = gensupport.DetermineContentType(r, opts.ContentType) - } - c.media_, c.mediaBuffer_ = gensupport.PrepareUpload(r, chunkSize) + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } @@ -23567,11 +23349,7 @@ func (c *WatermarksSetCall) Media(r io.Reader, options ...googleapi.MediaOption) // supersede any context previously provided to the Context method. func (c *WatermarksSetCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *WatermarksSetCall { c.ctx_ = ctx - rdr := gensupport.ReaderAtToReader(r, size) - rdr, c.mediaType_ = gensupport.DetermineContentType(rdr, mediaType) - c.mediaBuffer_ = gensupport.NewMediaBuffer(rdr, googleapi.DefaultUploadChunkSize) - c.media_ = nil - c.mediaSize_ = size + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } @@ -23580,7 +23358,7 @@ func (c *WatermarksSetCall) ResumableMedia(ctx context.Context, r io.ReaderAt, s // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *WatermarksSetCall) ProgressUpdater(pu googleapi.ProgressUpdater) *WatermarksSetCall { - c.progressUpdater_ = pu + c.mediaInfo_.SetProgressUpdater(pu) return c } @@ -23625,27 +23403,16 @@ func (c *WatermarksSetCall) doRequest(alt string) (*http.Response, error) { reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) urls := googleapi.ResolveRelative(c.s.BasePath, "watermarks/set") - if c.media_ != nil || c.mediaBuffer_ != nil { + if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) - protocol := "multipart" - if c.mediaBuffer_ != nil { - protocol = "resumable" - } - c.urlParams_.Set("uploadType", protocol) + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } - if c.media_ != nil { - combined, ctype := gensupport.CombineBodyMedia(body, "application/json", c.media_, c.mediaType_) - defer combined.Close() - reqHeaders.Set("Content-Type", ctype) - body = combined - } - if c.mediaBuffer_ != nil && c.mediaType_ != "" { - reqHeaders.Set("X-Upload-Content-Type", c.mediaType_) - } + body, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() urls += "?" + c.urlParams_.Encode() req, _ := http.NewRequest("POST", urls, body) req.Header = reqHeaders @@ -23663,20 +23430,10 @@ func (c *WatermarksSetCall) Do(opts ...googleapi.CallOption) error { if err := googleapi.CheckResponse(res); err != nil { return err } - if c.mediaBuffer_ != nil { - loc := res.Header.Get("Location") - rx := &gensupport.ResumableUpload{ - Client: c.s.client, - UserAgent: c.s.userAgent(), - URI: loc, - Media: c.mediaBuffer_, - MediaType: c.mediaType_, - Callback: func(curr int64) { - if c.progressUpdater_ != nil { - c.progressUpdater_(curr, c.mediaSize_) - } - }, - } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() diff --git a/vendor/google.golang.org/api/youtubeanalytics/v1/youtubeanalytics-api.json b/vendor/google.golang.org/api/youtubeanalytics/v1/youtubeanalytics-api.json index a220c1252..4de2e8cf7 100644 --- a/vendor/google.golang.org/api/youtubeanalytics/v1/youtubeanalytics-api.json +++ b/vendor/google.golang.org/api/youtubeanalytics/v1/youtubeanalytics-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/m291rBnypSdt_kqCjfud8vwlZL0\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/oTivMR1Fefkt9JK_g8x8csBABMw\"", "discoveryVersion": "v1", "id": "youtubeAnalytics:v1", "name": "youtubeAnalytics", "canonicalName": "YouTube Analytics", "version": "v1", - "revision": "20170604", + "revision": "20170913", "title": "YouTube Analytics API", "description": "Retrieves your YouTube Analytics data.", "ownerDomain": "google.com", @@ -21,7 +21,7 @@ "basePath": "/youtube/analytics/v1/", "rootUrl": "https://www.googleapis.com/", "servicePath": "youtube/analytics/v1/", - "batchPath": "batch", + "batchPath": "batch/youtubeAnalytics/v1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/youtubeanalytics/v1beta1/youtubeanalytics-api.json b/vendor/google.golang.org/api/youtubeanalytics/v1beta1/youtubeanalytics-api.json index a69e6cc7b..a58bd6c26 100644 --- a/vendor/google.golang.org/api/youtubeanalytics/v1beta1/youtubeanalytics-api.json +++ b/vendor/google.golang.org/api/youtubeanalytics/v1beta1/youtubeanalytics-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/JUMbdVC6DhXRHvBUzk6DkwfoKao\"", + "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/7ntJIFhXAMpoi22k7BYPHzYytS0\"", "discoveryVersion": "v1", "id": "youtubeAnalytics:v1beta1", "name": "youtubeAnalytics", "canonicalName": "YouTube Analytics", "version": "v1beta1", - "revision": "20170604", + "revision": "20170913", "title": "YouTube Analytics API", "description": "Retrieves your YouTube Analytics data.", "ownerDomain": "google.com", @@ -24,7 +24,7 @@ "basePath": "/youtube/analytics/v1beta1/", "rootUrl": "https://www.googleapis.com/", "servicePath": "youtube/analytics/v1beta1/", - "batchPath": "batch", + "batchPath": "batch/youtubeAnalytics/v1beta1", "parameters": { "alt": { "type": "string", diff --git a/vendor/google.golang.org/api/youtubereporting/v1/youtubereporting-api.json b/vendor/google.golang.org/api/youtubereporting/v1/youtubereporting-api.json index 984d4e85d..fa2576b28 100644 --- a/vendor/google.golang.org/api/youtubereporting/v1/youtubereporting-api.json +++ b/vendor/google.golang.org/api/youtubereporting/v1/youtubereporting-api.json @@ -1,26 +1,332 @@ { + "discoveryVersion": "v1", + "ownerName": "Google", + "resources": { + "media": { + "methods": { + "download": { + "supportsMediaDownload": true, + "response": { + "$ref": "Media" + }, + "parameterOrder": [ + "resourceName" + ], + "httpMethod": "GET", + "parameters": { + "resourceName": { + "pattern": "^.+$", + "location": "path", + "description": "Name of the media that is being downloaded. See\nReadRequest.resource_name.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", + "https://www.googleapis.com/auth/yt-analytics.readonly" + ], + "flatPath": "v1/media/{mediaId}", + "id": "youtubereporting.media.download", + "path": "v1/media/{+resourceName}", + "description": "Method for media download. Download is supported\non the URI `/v1/media/{+name}?alt=media`." + } + } + }, + "jobs": { + "methods": { + "delete": { + "response": { + "$ref": "Empty" + }, + "parameterOrder": [ + "jobId" + ], + "httpMethod": "DELETE", + "parameters": { + "jobId": { + "description": "The ID of the job to delete.", + "type": "string", + "required": true, + "location": "path" + }, + "onBehalfOfContentOwner": { + "description": "The content owner's external ID on which behalf the user is acting on. If\nnot set, the user is acting for himself (his own channel).", + "type": "string", + "location": "query" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", + "https://www.googleapis.com/auth/yt-analytics.readonly" + ], + "flatPath": "v1/jobs/{jobId}", + "id": "youtubereporting.jobs.delete", + "path": "v1/jobs/{jobId}", + "description": "Deletes a job." + }, + "get": { + "response": { + "$ref": "Job" + }, + "parameterOrder": [ + "jobId" + ], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", + "https://www.googleapis.com/auth/yt-analytics.readonly" + ], + "parameters": { + "jobId": { + "location": "path", + "description": "The ID of the job to retrieve.", + "type": "string", + "required": true + }, + "onBehalfOfContentOwner": { + "location": "query", + "description": "The content owner's external ID on which behalf the user is acting on. If\nnot set, the user is acting for himself (his own channel).", + "type": "string" + } + }, + "flatPath": "v1/jobs/{jobId}", + "id": "youtubereporting.jobs.get", + "path": "v1/jobs/{jobId}", + "description": "Gets a job." + }, + "list": { + "flatPath": "v1/jobs", + "id": "youtubereporting.jobs.list", + "path": "v1/jobs", + "description": "Lists jobs.", + "response": { + "$ref": "ListJobsResponse" + }, + "httpMethod": "GET", + "parameterOrder": [], + "scopes": [ + "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", + "https://www.googleapis.com/auth/yt-analytics.readonly" + ], + "parameters": { + "includeSystemManaged": { + "location": "query", + "description": "If set to true, also system-managed jobs will be returned; otherwise only\nuser-created jobs will be returned. System-managed jobs can neither be\nmodified nor deleted.", + "type": "boolean" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically,\nthis is the value of\nListReportTypesResponse.next_page_token\nreturned in response to the previous call to the `ListJobs` method.", + "type": "string", + "location": "query" + }, + "pageSize": { + "format": "int32", + "description": "Requested page size. Server may return fewer jobs than requested.\nIf unspecified, server will pick an appropriate default.", + "type": "integer", + "location": "query" + }, + "onBehalfOfContentOwner": { + "location": "query", + "description": "The content owner's external ID on which behalf the user is acting on. If\nnot set, the user is acting for himself (his own channel).", + "type": "string" + } + } + }, + "create": { + "response": { + "$ref": "Job" + }, + "parameterOrder": [], + "httpMethod": "POST", + "parameters": { + "onBehalfOfContentOwner": { + "description": "The content owner's external ID on which behalf the user is acting on. If\nnot set, the user is acting for himself (his own channel).", + "type": "string", + "location": "query" + } + }, + "scopes": [ + "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", + "https://www.googleapis.com/auth/yt-analytics.readonly" + ], + "flatPath": "v1/jobs", + "id": "youtubereporting.jobs.create", + "path": "v1/jobs", + "description": "Creates a job and returns it.", + "request": { + "$ref": "Job" + } + } + }, + "resources": { + "reports": { + "methods": { + "get": { + "description": "Gets the metadata of a specific report.", + "httpMethod": "GET", + "parameterOrder": [ + "jobId", + "reportId" + ], + "response": { + "$ref": "Report" + }, + "parameters": { + "jobId": { + "type": "string", + "required": true, + "location": "path", + "description": "The ID of the job." + }, + "onBehalfOfContentOwner": { + "description": "The content owner's external ID on which behalf the user is acting on. If\nnot set, the user is acting for himself (his own channel).", + "type": "string", + "location": "query" + }, + "reportId": { + "location": "path", + "description": "The ID of the report to retrieve.", + "type": "string", + "required": true + } + }, + "scopes": [ + "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", + "https://www.googleapis.com/auth/yt-analytics.readonly" + ], + "flatPath": "v1/jobs/{jobId}/reports/{reportId}", + "path": "v1/jobs/{jobId}/reports/{reportId}", + "id": "youtubereporting.jobs.reports.get" + }, + "list": { + "path": "v1/jobs/{jobId}/reports", + "id": "youtubereporting.jobs.reports.list", + "description": "Lists reports created by a specific job.\nReturns NOT_FOUND if the job does not exist.", + "httpMethod": "GET", + "parameterOrder": [ + "jobId" + ], + "response": { + "$ref": "ListReportsResponse" + }, + "parameters": { + "jobId": { + "location": "path", + "description": "The ID of the job.", + "type": "string", + "required": true + }, + "createdAfter": { + "format": "google-datetime", + "description": "If set, only reports created after the specified date/time are returned.", + "type": "string", + "location": "query" + }, + "startTimeAtOrAfter": { + "format": "google-datetime", + "description": "If set, only reports whose start time is greater than or equal the\nspecified date/time are returned.", + "type": "string", + "location": "query" + }, + "pageToken": { + "location": "query", + "description": "A token identifying a page of results the server should return. Typically,\nthis is the value of\nListReportsResponse.next_page_token\nreturned in response to the previous call to the `ListReports` method.", + "type": "string" + }, + "pageSize": { + "location": "query", + "format": "int32", + "description": "Requested page size. Server may return fewer report types than requested.\nIf unspecified, server will pick an appropriate default.", + "type": "integer" + }, + "onBehalfOfContentOwner": { + "description": "The content owner's external ID on which behalf the user is acting on. If\nnot set, the user is acting for himself (his own channel).", + "type": "string", + "location": "query" + }, + "startTimeBefore": { + "type": "string", + "location": "query", + "format": "google-datetime", + "description": "If set, only reports whose start time is smaller than the specified\ndate/time are returned." + } + }, + "scopes": [ + "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", + "https://www.googleapis.com/auth/yt-analytics.readonly" + ], + "flatPath": "v1/jobs/{jobId}/reports" + } + } + } + } + }, + "reportTypes": { + "methods": { + "list": { + "id": "youtubereporting.reportTypes.list", + "path": "v1/reportTypes", + "description": "Lists report types.", + "response": { + "$ref": "ListReportTypesResponse" + }, + "parameterOrder": [], + "httpMethod": "GET", + "scopes": [ + "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", + "https://www.googleapis.com/auth/yt-analytics.readonly" + ], + "parameters": { + "includeSystemManaged": { + "location": "query", + "description": "If set to true, also system-managed report types will be returned;\notherwise only the report types that can be used to create new reporting\njobs will be returned.", + "type": "boolean" + }, + "pageToken": { + "location": "query", + "description": "A token identifying a page of results the server should return. Typically,\nthis is the value of\nListReportTypesResponse.next_page_token\nreturned in response to the previous call to the `ListReportTypes` method.", + "type": "string" + }, + "pageSize": { + "type": "integer", + "location": "query", + "format": "int32", + "description": "Requested page size. Server may return fewer report types than requested.\nIf unspecified, server will pick an appropriate default." + }, + "onBehalfOfContentOwner": { + "description": "The content owner's external ID on which behalf the user is acting on. If\nnot set, the user is acting for himself (his own channel).", + "type": "string", + "location": "query" + } + }, + "flatPath": "v1/reportTypes" + } + } + } + }, "parameters": { - "upload_protocol": { - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "type": "string", - "location": "query" - }, "prettyPrint": { + "location": "query", "description": "Returns response with indentations and line breaks.", - "type": "boolean", "default": "true", - "location": "query" - }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "type": "string", - "location": "query" + "type": "boolean" }, "fields": { "location": "query", "description": "Selector specifying which fields to include in a partial response.", "type": "string" }, + "uploadType": { + "location": "query", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "type": "string" + }, + "callback": { + "description": "JSONP", + "type": "string", + "location": "query" + }, "$.xgafv": { "description": "V1 error format.", "type": "string", @@ -34,12 +340,8 @@ "2" ] }, - "callback": { - "location": "query", - "description": "JSONP", - "type": "string" - }, "alt": { + "type": "string", "enumDescriptions": [ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", @@ -52,13 +354,12 @@ "json", "media", "proto" - ], - "type": "string" + ] }, "key": { + "type": "string", "location": "query", - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "type": "string" + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token." }, "access_token": { "description": "OAuth access token.", @@ -73,8 +374,8 @@ "pp": { "location": "query", "description": "Pretty-print response.", - "type": "boolean", - "default": "true" + "default": "true", + "type": "boolean" }, "oauth_token": { "description": "OAuth 2.0 token for the current user.", @@ -82,119 +383,134 @@ "location": "query" }, "bearer_token": { - "description": "OAuth bearer token.", + "type": "string", + "location": "query", + "description": "OAuth bearer token." + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "type": "string", "location": "query" } }, "schemas": { - "Empty": { - "id": "Empty", - "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", - "type": "object", - "properties": {} - }, - "Report": { - "id": "Report", - "description": "A report's metadata including the URL from which the report itself can be\ndownloaded.", + "Media": { + "description": "Media resource.", "type": "object", "properties": { - "id": { - "description": "The server-generated ID of the report.", - "type": "string" - }, - "jobExpireTime": { - "description": "The date/time when the job this report belongs to will expire/expired.", - "format": "google-datetime", - "type": "string" - }, - "endTime": { - "description": "The end of the time period that the report instance covers. The value is\nexclusive.", - "format": "google-datetime", - "type": "string" - }, - "downloadUrl": { - "description": "The URL from which the report can be downloaded (max. 1000 characters).", - "type": "string" - }, - "startTime": { - "description": "The start of the time period that the report instance covers. The value is\ninclusive.", - "format": "google-datetime", - "type": "string" - }, - "createTime": { - "description": "The date/time when this report was created.", - "format": "google-datetime", - "type": "string" - }, - "jobId": { - "description": "The ID of the job that created this report.", + "resourceName": { + "description": "Name of the media resource.", "type": "string" } - } + }, + "id": "Media" }, "ReportType": { - "id": "ReportType", "description": "A report type.", "type": "object", "properties": { - "name": { - "description": "The name of the report type (max. 100 characters).", - "type": "string" + "systemManaged": { + "description": "True if this a system-managed report type; otherwise false. Reporting jobs\nfor system-managed report types are created automatically and can thus not\nbe used in the `CreateJob` method.", + "type": "boolean" }, "id": { "description": "The ID of the report type (max. 100 characters).", "type": "string" }, - "systemManaged": { - "description": "True if this a system-managed report type; otherwise false. Reporting jobs\nfor system-managed report types are created automatically and can thus not\nbe used in the `CreateJob` method.", - "type": "boolean" - }, "deprecateTime": { - "description": "The date/time when this report type was/will be deprecated.", "format": "google-datetime", + "description": "The date/time when this report type was/will be deprecated.", + "type": "string" + }, + "name": { + "description": "The name of the report type (max. 100 characters).", "type": "string" } - } + }, + "id": "ReportType" }, "ListReportTypesResponse": { - "id": "ListReportTypesResponse", "description": "Response message for ReportingService.ListReportTypes.", "type": "object", "properties": { "reportTypes": { "description": "The list of report types.", - "type": "array", "items": { "$ref": "ReportType" - } + }, + "type": "array" }, "nextPageToken": { "description": "A token to retrieve next page of results.\nPass this value in the\nListReportTypesRequest.page_token\nfield in the subsequent call to `ListReportTypes` method to retrieve the next\npage of results.", "type": "string" } - } + }, + "id": "ListReportTypesResponse" }, - "ListJobsResponse": { - "id": "ListJobsResponse", - "description": "Response message for ReportingService.ListJobs.", + "Report": { + "description": "A report's metadata including the URL from which the report itself can be\ndownloaded.", "type": "object", "properties": { - "jobs": { - "description": "The list of jobs.", - "type": "array", - "items": { - "$ref": "Job" - } + "createTime": { + "format": "google-datetime", + "description": "The date/time when this report was created.", + "type": "string" }, + "jobId": { + "description": "The ID of the job that created this report.", + "type": "string" + }, + "id": { + "description": "The server-generated ID of the report.", + "type": "string" + }, + "jobExpireTime": { + "format": "google-datetime", + "description": "The date/time when the job this report belongs to will expire/expired.", + "type": "string" + }, + "endTime": { + "format": "google-datetime", + "description": "The end of the time period that the report instance covers. The value is\nexclusive.", + "type": "string" + }, + "downloadUrl": { + "type": "string", + "description": "The URL from which the report can be downloaded (max. 1000 characters)." + }, + "startTime": { + "format": "google-datetime", + "description": "The start of the time period that the report instance covers. The value is\ninclusive.", + "type": "string" + } + }, + "id": "Report" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "type": "object", + "properties": {}, + "id": "Empty" + }, + "ListJobsResponse": { + "properties": { "nextPageToken": { "description": "A token to retrieve next page of results.\nPass this value in the\nListJobsRequest.page_token\nfield in the subsequent call to `ListJobs` method to retrieve the next\npage of results.", "type": "string" + }, + "jobs": { + "description": "The list of jobs.", + "items": { + "$ref": "Job" + }, + "type": "array" } - } + }, + "id": "ListJobsResponse", + "description": "Response message for ReportingService.ListJobs.", + "type": "object" }, "Job": { - "id": "Job", "description": "A job creating reports of a specific type.", "type": "object", "properties": { @@ -207,13 +523,13 @@ "type": "boolean" }, "createTime": { - "description": "The creation date/time of the job.", "format": "google-datetime", + "description": "The creation date/time of the job.", "type": "string" }, "expireTime": { - "description": "The date/time when this job will expire/expired. After a job expired, no\nnew reports are generated.", "format": "google-datetime", + "description": "The date/time when this job will expire/expired. After a job expired, no\nnew reports are generated.", "type": "string" }, "reportTypeId": { @@ -224,7 +540,8 @@ "description": "The name of the job (max. 100 characters).", "type": "string" } - } + }, + "id": "Job" }, "ListReportsResponse": { "description": "Response message for ReportingService.ListReports.", @@ -232,10 +549,10 @@ "properties": { "reports": { "description": "The list of report types.", - "type": "array", "items": { "$ref": "Report" - } + }, + "type": "array" }, "nextPageToken": { "description": "A token to retrieve next page of results.\nPass this value in the\nListReportsRequest.page_token\nfield in the subsequent call to `ListReports` method to retrieve the next\npage of results.", @@ -243,22 +560,11 @@ } }, "id": "ListReportsResponse" - }, - "Media": { - "id": "Media", - "description": "Media resource.", - "type": "object", - "properties": { - "resourceName": { - "description": "Name of the media resource.", - "type": "string" - } - } } }, "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" + "x32": "http://www.google.com/images/icons/product/search-32.gif", + "x16": "http://www.google.com/images/icons/product/search-16.gif" }, "protocol": "rest", "version": "v1", @@ -276,9 +582,9 @@ } } }, - "kind": "discovery#restDescription", - "description": "Schedules reporting jobs containing your YouTube Analytics data and downloads the resulting bulk data reports in the form of CSV files.", "servicePath": "", + "description": "Schedules reporting jobs containing your YouTube Analytics data and downloads the resulting bulk data reports in the form of CSV files.", + "kind": "discovery#restDescription", "rootUrl": "https://youtubereporting.googleapis.com/", "basePath": "", "ownerDomain": "google.com", @@ -286,312 +592,6 @@ "batchPath": "batch", "id": "youtubereporting:v1", "documentationLink": "https://developers.google.com/youtube/reporting/v1/reports/", - "revision": "20170607", - "title": "YouTube Reporting API", - "discoveryVersion": "v1", - "ownerName": "Google", - "resources": { - "jobs": { - "methods": { - "create": { - "response": { - "$ref": "Job" - }, - "parameterOrder": [], - "httpMethod": "POST", - "scopes": [ - "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", - "https://www.googleapis.com/auth/yt-analytics.readonly" - ], - "parameters": { - "onBehalfOfContentOwner": { - "description": "The content owner's external ID on which behalf the user is acting on. If\nnot set, the user is acting for himself (his own channel).", - "type": "string", - "location": "query" - } - }, - "flatPath": "v1/jobs", - "path": "v1/jobs", - "id": "youtubereporting.jobs.create", - "description": "Creates a job and returns it.", - "request": { - "$ref": "Job" - } - }, - "delete": { - "httpMethod": "DELETE", - "response": { - "$ref": "Empty" - }, - "parameterOrder": [ - "jobId" - ], - "scopes": [ - "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", - "https://www.googleapis.com/auth/yt-analytics.readonly" - ], - "parameters": { - "onBehalfOfContentOwner": { - "description": "The content owner's external ID on which behalf the user is acting on. If\nnot set, the user is acting for himself (his own channel).", - "type": "string", - "location": "query" - }, - "jobId": { - "location": "path", - "description": "The ID of the job to delete.", - "required": true, - "type": "string" - } - }, - "flatPath": "v1/jobs/{jobId}", - "id": "youtubereporting.jobs.delete", - "path": "v1/jobs/{jobId}", - "description": "Deletes a job." - }, - "list": { - "id": "youtubereporting.jobs.list", - "path": "v1/jobs", - "description": "Lists jobs.", - "httpMethod": "GET", - "parameterOrder": [], - "response": { - "$ref": "ListJobsResponse" - }, - "parameters": { - "onBehalfOfContentOwner": { - "location": "query", - "description": "The content owner's external ID on which behalf the user is acting on. If\nnot set, the user is acting for himself (his own channel).", - "type": "string" - }, - "pageToken": { - "description": "A token identifying a page of results the server should return. Typically,\nthis is the value of\nListReportTypesResponse.next_page_token\nreturned in response to the previous call to the `ListJobs` method.", - "type": "string", - "location": "query" - }, - "includeSystemManaged": { - "location": "query", - "description": "If set to true, also system-managed jobs will be returned; otherwise only\nuser-created jobs will be returned. System-managed jobs can neither be\nmodified nor deleted.", - "type": "boolean" - }, - "pageSize": { - "location": "query", - "description": "Requested page size. Server may return fewer jobs than requested.\nIf unspecified, server will pick an appropriate default.", - "format": "int32", - "type": "integer" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", - "https://www.googleapis.com/auth/yt-analytics.readonly" - ], - "flatPath": "v1/jobs" - }, - "get": { - "parameters": { - "jobId": { - "location": "path", - "description": "The ID of the job to retrieve.", - "required": true, - "type": "string" - }, - "onBehalfOfContentOwner": { - "location": "query", - "description": "The content owner's external ID on which behalf the user is acting on. If\nnot set, the user is acting for himself (his own channel).", - "type": "string" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", - "https://www.googleapis.com/auth/yt-analytics.readonly" - ], - "flatPath": "v1/jobs/{jobId}", - "id": "youtubereporting.jobs.get", - "path": "v1/jobs/{jobId}", - "description": "Gets a job.", - "httpMethod": "GET", - "response": { - "$ref": "Job" - }, - "parameterOrder": [ - "jobId" - ] - } - }, - "resources": { - "reports": { - "methods": { - "list": { - "path": "v1/jobs/{jobId}/reports", - "id": "youtubereporting.jobs.reports.list", - "description": "Lists reports created by a specific job.\nReturns NOT_FOUND if the job does not exist.", - "response": { - "$ref": "ListReportsResponse" - }, - "httpMethod": "GET", - "parameterOrder": [ - "jobId" - ], - "parameters": { - "jobId": { - "location": "path", - "description": "The ID of the job.", - "required": true, - "type": "string" - }, - "createdAfter": { - "description": "If set, only reports created after the specified date/time are returned.", - "format": "google-datetime", - "type": "string", - "location": "query" - }, - "pageToken": { - "description": "A token identifying a page of results the server should return. Typically,\nthis is the value of\nListReportsResponse.next_page_token\nreturned in response to the previous call to the `ListReports` method.", - "type": "string", - "location": "query" - }, - "startTimeAtOrAfter": { - "description": "If set, only reports whose start time is greater than or equal the\nspecified date/time are returned.", - "format": "google-datetime", - "type": "string", - "location": "query" - }, - "pageSize": { - "location": "query", - "description": "Requested page size. Server may return fewer report types than requested.\nIf unspecified, server will pick an appropriate default.", - "format": "int32", - "type": "integer" - }, - "onBehalfOfContentOwner": { - "location": "query", - "description": "The content owner's external ID on which behalf the user is acting on. If\nnot set, the user is acting for himself (his own channel).", - "type": "string" - }, - "startTimeBefore": { - "location": "query", - "description": "If set, only reports whose start time is smaller than the specified\ndate/time are returned.", - "format": "google-datetime", - "type": "string" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", - "https://www.googleapis.com/auth/yt-analytics.readonly" - ], - "flatPath": "v1/jobs/{jobId}/reports" - }, - "get": { - "parameterOrder": [ - "jobId", - "reportId" - ], - "response": { - "$ref": "Report" - }, - "httpMethod": "GET", - "parameters": { - "onBehalfOfContentOwner": { - "location": "query", - "description": "The content owner's external ID on which behalf the user is acting on. If\nnot set, the user is acting for himself (his own channel).", - "type": "string" - }, - "reportId": { - "location": "path", - "description": "The ID of the report to retrieve.", - "required": true, - "type": "string" - }, - "jobId": { - "description": "The ID of the job.", - "required": true, - "type": "string", - "location": "path" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", - "https://www.googleapis.com/auth/yt-analytics.readonly" - ], - "flatPath": "v1/jobs/{jobId}/reports/{reportId}", - "id": "youtubereporting.jobs.reports.get", - "path": "v1/jobs/{jobId}/reports/{reportId}", - "description": "Gets the metadata of a specific report." - } - } - } - } - }, - "reportTypes": { - "methods": { - "list": { - "parameters": { - "pageToken": { - "location": "query", - "description": "A token identifying a page of results the server should return. Typically,\nthis is the value of\nListReportTypesResponse.next_page_token\nreturned in response to the previous call to the `ListReportTypes` method.", - "type": "string" - }, - "includeSystemManaged": { - "description": "If set to true, also system-managed report types will be returned;\notherwise only the report types that can be used to create new reporting\njobs will be returned.", - "type": "boolean", - "location": "query" - }, - "pageSize": { - "location": "query", - "description": "Requested page size. Server may return fewer report types than requested.\nIf unspecified, server will pick an appropriate default.", - "format": "int32", - "type": "integer" - }, - "onBehalfOfContentOwner": { - "location": "query", - "description": "The content owner's external ID on which behalf the user is acting on. If\nnot set, the user is acting for himself (his own channel).", - "type": "string" - } - }, - "scopes": [ - "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", - "https://www.googleapis.com/auth/yt-analytics.readonly" - ], - "flatPath": "v1/reportTypes", - "id": "youtubereporting.reportTypes.list", - "path": "v1/reportTypes", - "description": "Lists report types.", - "httpMethod": "GET", - "response": { - "$ref": "ListReportTypesResponse" - }, - "parameterOrder": [] - } - } - }, - "media": { - "methods": { - "download": { - "description": "Method for media download. Download is supported\non the URI `/v1/media/{+name}?alt=media`.", - "supportsMediaDownload": true, - "httpMethod": "GET", - "parameterOrder": [ - "resourceName" - ], - "response": { - "$ref": "Media" - }, - "scopes": [ - "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", - "https://www.googleapis.com/auth/yt-analytics.readonly" - ], - "parameters": { - "resourceName": { - "description": "Name of the media that is being downloaded. See\nReadRequest.resource_name.", - "required": true, - "type": "string", - "pattern": "^.+$", - "location": "path" - } - }, - "flatPath": "v1/media/{mediaId}", - "id": "youtubereporting.media.download", - "path": "v1/media/{+resourceName}" - } - } - } - } + "revision": "20170926", + "title": "YouTube Reporting API" } diff --git a/vendor/gopkg.in/yaml.v2/LICENSE b/vendor/gopkg.in/yaml.v2/LICENSE index 866d74a7a..8dada3eda 100644 --- a/vendor/gopkg.in/yaml.v2/LICENSE +++ b/vendor/gopkg.in/yaml.v2/LICENSE @@ -1,13 +1,201 @@ -Copyright 2011-2016 Canonical Ltd. + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -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 + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - http://www.apache.org/licenses/LICENSE-2.0 + 1. Definitions. -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. + "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.